{"report_id":"717808b3-650e-4a70-a359-170f441aff48","version":0,"status":"done","tags":[],"date":"2026-07-27T08:40:14Z","url":{"schema":"https","addr":"oxlofttrd.com/","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":0,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"final":{"url":{"schema":"https","addr":"oxlofttrd.com/","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"title":"Ox Loft Trade","dom":{"size":125992,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (9139)","md5":"ac1e2605168b42fa6056b8c3ef2743a4","sha1":"650a67c06fc5eb3f57db7c2dccbaa1607b5b9e00","sha256":"c4ca177fc97e3dbd143a518850e366f74e9dfedf37b117f3a6354cdd3b33a4c7","sha512":"9fffde4dbe17a30991f16486b0e08c68b393032d073a8bfe98d4ca37b500c19108637edc442e13a473268d12ee3dd6f01a1e779d733db580a457d9e0c0906036","ssdeep":"3072:nfdE91p+ZvTnnDyrGZnfmTBJ7AYQyBwm4o:i1p+ZbnI","tlshash":"75c3b57074ea0826128b46caa423630d5a9beefbd61666f5b3be55d04fe3cd0fd83014","dom_hash":"domhash6296cad8df823b60136b974c214f3f41","first_seen":"","last_seen":"","times_seen":0,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"oxlofttrd.com/","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":0,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T08:40:14Z","useragent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0","referer":"","cookies":null,"exit_node":"qguvgzjxzsgb3vs"},"stats":{"alert_count":{"ids":0,"urlquery":0,"analyzer":0}},"detection":{"ids":null,"analyzer":null,"urlquery":null},"summary":[{"fqdn":"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":2,"received_data":48411,"sent_data":998,"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":"bootstrap.smartsuppchat.com","ip":{"addr":"3.69.194.231","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"domain_registered":"2014-02-02","domain_rank":425291,"first_seen":"2018-01-29T06:10:36Z","last_seen":"2026-07-24T07:15:25.204838Z","alert_count":0,"request_count":1,"received_data":1848,"sent_data":529,"comment":"","tags":null,"fingerprints":null},{"fqdn":"websocket-visitors.smartsupp.com","ip":{"addr":"18.195.200.162","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"domain_registered":"2012-08-25","domain_rank":411464,"first_seen":"2021-07-12T07:42:32Z","last_seen":"2026-07-24T09:04:26.067381Z","alert_count":0,"request_count":1,"received_data":224,"sent_data":628,"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":460,"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":"pushstream.tradingview.com","ip":{"addr":"84.16.253.93","port":443,"asn":28753,"as":"Leaseweb Deutschland GmbH","country":"Germany","country_code":"DE"},"domain_registered":"2010-03-20","domain_rank":94515,"first_seen":"2016-09-22T12:08:22Z","last_seen":"2026-07-26T13:08:04.997239Z","alert_count":0,"request_count":1,"received_data":221,"sent_data":624,"comment":"","tags":null,"fingerprints":null},{"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":563,"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":"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":1,"received_data":1981,"sent_data":573,"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":"oxlofttrd.com","ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"domain_registered":"2025-12-25","domain_rank":0,"first_seen":"2026-07-27T06:14:26.930759Z","last_seen":"2026-07-27T06:14:26.930759Z","alert_count":0,"request_count":46,"received_data":2167799,"sent_data":22926,"comment":"","tags":null,"fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]},{"name":"jQuery","description":"jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.","website":"https://jquery.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery:*:*:*:*:*:*:*:*","icon":"jQuery.svg","categories":["JavaScript libraries"]},{"name":"jQuery Migrate:3.4.1","description":"Query Migrate is a javascript library that allows you to preserve the compatibility of your jQuery code developed for versions of jQuery older than 1.9.","website":"https://github.com/jquery/jquery-migrate","common_platform_enumeration":"","icon":"jQuery.svg","categories":["JavaScript libraries"]},{"name":"Contact Form 7:6.0.3","description":"Contact Form 7 is an WordPress plugin which can manage multiple contact forms. The form supports Ajax-powered submitting, CAPTCHA, Akismet spam filtering.","website":"https://contactform7.com","common_platform_enumeration":"","icon":"Contact Form 7.png","categories":["WordPress plugins","Form builders"]},{"name":"PHP","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]},{"name":"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":"Swiper","description":"Swiper is a JavaScript library that creates modern touch sliders with hardware-accelerated transitions.","website":"https://swiperjs.com","common_platform_enumeration":"","icon":"Swiper.svg","categories":["JavaScript libraries"]},{"name":"MySQL","description":"MySQL is an open-source relational database management system.","website":"https://mysql.com","common_platform_enumeration":"cpe:2.3:a:mysql:mysql:*:*:*:*:*:*:*:*","icon":"MySQL.svg","categories":["Databases"]},{"name":"Magnific Popup:1.0.0","description":"Magnific Popup is a responsive lightbox \u0026 dialog script with focus on performance and providing best experience for user with any device.","website":"https://dimsemenov.com/plugins/magnific-popup/","common_platform_enumeration":"","icon":"Magnific Popup.png","categories":["JavaScript libraries"]},{"name":"Elementor:3.26.5","description":"Elementor is a website builder platform for professionals on WordPress.","website":"https://elementor.com","common_platform_enumeration":"","icon":"Elementor.svg","categories":["Page builders","WordPress plugins"]},{"name":"WordPress:7.0.2","description":"WordPress is a free and open-source content management system written in PHP and paired with a MySQL or MariaDB database. Features include a plugin architecture and a template system.","website":"https://wordpress.org","common_platform_enumeration":"cpe:2.3:a:wordpress:wordpress:*:*:*:*:*:*:*:*","icon":"WordPress.svg","categories":["CMS","Blogs"]}]},{"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":208,"received_data":6407704,"sent_data":118962,"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":"fonts.gstatic.com","ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2008-02-11","domain_rank":0,"first_seen":"2014-04-02T10:51:04Z","last_seen":"2026-07-26T22:19:52.505461Z","alert_count":0,"request_count":5,"received_data":175633,"sent_data":2795,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.tradingview.com","ip":{"addr":"3.164.240.104","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"domain_registered":"2010-03-20","domain_rank":1990,"first_seen":"2012-12-04T09:00:23Z","last_seen":"2026-07-27T07:32:46.047901Z","alert_count":0,"request_count":1,"received_data":1551,"sent_data":528,"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":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}]},{"fqdn":"translations.smartsuppcdn.com","ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2018-11-20","domain_rank":560346,"first_seen":"2022-11-04T22:28:35Z","last_seen":"2026-07-24T15:28:31.911258Z","alert_count":0,"request_count":1,"received_data":7732,"sent_data":511,"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":"telemetry.tradingview.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"2010-03-20","domain_rank":64373,"first_seen":"2014-06-09T18:36:33Z","last_seen":"2026-07-24T05:20:52.484041Z","alert_count":0,"request_count":1,"received_data":0,"sent_data":565,"comment":"","tags":null,"fingerprints":null},{"fqdn":"widget-v3.smartsuppcdn.com","ip":{"addr":"185.76.9.12","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2018-11-20","domain_rank":532262,"first_seen":"2022-10-03T13:48:45Z","last_seen":"2026-07-24T15:28:31.507831Z","alert_count":0,"request_count":4,"received_data":329033,"sent_data":1860,"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":"widgetdata.tradingview.com","ip":{"addr":"93.123.102.180","port":443,"asn":199524,"as":"G-Core Labs S.A.","country":"United Kingdom","country_code":"GB"},"domain_registered":"2010-03-20","domain_rank":179381,"first_seen":"2015-02-20T09:47:36Z","last_seen":"2026-07-26T01:26:45.690501Z","alert_count":0,"request_count":1,"received_data":224,"sent_data":764,"comment":"","tags":null,"fingerprints":null},{"fqdn":"fonts.googleapis.com","ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":313,"first_seen":"2012-05-23T12:41:44Z","last_seen":"2026-07-26T22:23:14.439231Z","alert_count":0,"request_count":2,"received_data":132120,"sent_data":1334,"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"]}]}],"files":null,"artifacts":{"windows_shortcuts":null,"files":null,"telegram":null,"pdfs":null,"clipboard":null},"sensors":{"ids":null,"analyzer":null,"urlquery":null},"javascript":{"script":[{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/6934.90edfef6ce98369ae04a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"e360111388c7ca7cc416b65a333c1c13","sha1":"e46ada551fc22f5bd35034c2bca095f54b635503","sha256":"fcaf403c75b1a585c7a07556cb65bc683ba6feecbe0399257d62a34f85d430bd","sha512":"60b615d8b0f61e9026e63070379bd94624842f181c1c1fc3ebd02da9ec8b0937f58c344459767399d75cd658ba805c0033a4d1e60d237c8bf2cfd20377f72aa6","ssdeep":"1536:Rw7HUzRyKUuj/NJd07iwH2Hwzp0q2f70lq4Gf7TtJiO:RJzRyluj/NJ6kMpc7N4Gf7Tz3","tlshash":"0273b638f9d0a4b7b2e784fe6741e6919a26b88276265fe17235c6c47804ccf3135e1e","size":80040,"data":"","first_seen":"2026-07-23T13:54:09.170539Z","last_seen":"2026-07-27T14:50:15.363154Z","times_seen":295,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/themes/ashley/assets/js/skip-link-focus-fix.js?ver=20151215","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"b1c4fad843de20a9bbcfe367f9168446","sha1":"a97714aff7e393190d603e84794015091ae05752","sha256":"41d34ce8b5e2cb9c79e6654d96673e8ba29378fee9f044031dcf5eae8e853562","sha512":"b132a5261df2a4844a4aa92f97c4b56d93c6f47213999c693276e62a68b6252095e685e1ff0f36d770b7e17b513f9ed72edb2ea1599df8d77a853d795e4f7ca2","ssdeep":"","tlshash":"1f011576b30d84b6046a3257dc4f21cd393d50e2e819745b8cc908501824c2d13bffb8","size":712,"data":"","first_seen":"2023-03-07T12:28:14Z","last_seen":"2026-07-27T12:12:28.809779Z","times_seen":238,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/themes/ashley/assets/js/main.js?ver=1.0.0","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"e18fe38b351699858c39a93eafcd284b","sha1":"7982616b7fcd1503030ccc6e33b786684cffb644","sha256":"d2fa25d6b218e61376231c17d9cd2067f8a34196ff367cb40a3e0a6589e519db","sha512":"5d1fd31d829e59cff07b1d1debf372df0a1c90e8d1c70e78881a1fe9293146fd260f0076b33037ff091e0550d8890c0d67f49831eb42b1341a0d9ce6af6e79f3","ssdeep":"192:lN3j/Vne8uYpqGV1iuyEJmydVCSCTuHub2n2xmELGAEGTSG1ekPLyFmGEbk/MKbg:UMLALkErDpgHbV9yiYP5oMLEO28hdWY","tlshash":"d2e2638cb8b22c630477767e57ef42c466328047981aec243c6cb6155fac56c51bafed","size":33923,"data":"","first_seen":"2026-07-27T06:14:34.121198Z","last_seen":"2026-07-27T12:12:28.854837Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97272.3bfbfc8daabca040cf73.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"8c50864d30ec134dd6dbf5614f6b0993","sha1":"e6f4e061c6b41ee25122eea9292ee1060bcbf290","sha256":"781e57f4504c7b485e77c0196c82978e6e2b63b503428b039f1ea86e3d3d8c6b","sha512":"4fa1d6e1afa37a9a925a9205354516db356d3db9d7d48297be0d7d04a262559ee656baf6c62318da568ad9c4278b2022f50b58265cfae5ed55c87373ef41a88c","ssdeep":"3072:AmXiQrx9XT2QQFJGUY/yORpn9VNpvNV7lzQQ3+EsCfEbNxYtyphoG:xlT2QQFJ1QVpn9VzvNV7lzQQ3kC8rSsz","tlshash":"d2e3e69272a5749683b901d54cf44503ab4d1c8bb84a888cf2bc1cef561de5d32befb9","size":145548,"data":"","first_seen":"2026-07-22T16:00:00.509283Z","last_seen":"2026-07-27T14:50:15.416438Z","times_seen":83,"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-07-27T15:05:49.434395Z","times_seen":7556,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/themes/ashley/assets/js/magnific-popup.js?ver=1.0.0","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"26285dc2ff2950266d433073d1e7b665","sha1":"f2c5bfd3a8299597deda30bb725ee42614fcd6cb","sha256":"90dc2a2901cff726d7a79fc830370f91b298138cb375d9a5bb733f506f2b2935","sha512":"09428a3d61249417e67b89e72055419bbb27f72f8cf9949c04899e395aa70302706e6bc1b4b2089799a968919170fb23da5ebf0aa5972cee21d808f86799bf2d","ssdeep":"768:11x9gvJxzPtwiurw50N12C7xSS8XUOU/YDUUevb7g1H:11x9gvJxzPtwiTeN/8S8kR/YDUUez01H","tlshash":"df1374d4f7ac215782b2336c9c5e11cd6e3ce132da138cafbc99226810d596c9379e79","size":41742,"data":"","first_seen":"2023-03-07T12:28:14Z","last_seen":"2026-07-27T12:12:28.846161Z","times_seen":284,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-includes/js/jquery/ui/core.min.js?ver=1.13.3","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"da215ae12b95b3aeeb2047667016c7f8","sha1":"480a7087aa74b5b47c47f05a11670e823a3ae4c0","sha256":"699210a5ed06e497b4730ec83bb65ac4c2269ae4a0ee8af3f24aae7ee5b66b76","sha512":"d256ddc828c06f7b84f7df706a4481928a186ea6d3e1358254a1ec02f403d72d2f3aecd682a93aad61b8f236f17dbcf7e6ca100f78c30a348682bf8ee125d8ff","ssdeep":"384:G/rsrDr8LVyraS3dtrqorqr8hrpCip8fuxNhlGX0CiS9rH/OrLrErJ29FkFvd:iS33ZdvK47kv","tlshash":"06a2d94eb246380586f7a2a5402f521fb132e25cb105c8ddf468d8da3c7eea95173f79","size":21464,"data":"","first_seen":"2025-04-15T23:53:17.313193Z","last_seen":"2026-07-27T15:02:18.302847Z","times_seen":333275,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49265.c208ef8379e073f94d16.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"7b82078f584e6803982971fd98e254ad","sha1":"68381b82a3c15fb84e25d74f902a92fd1de3a245","sha256":"e79b56277f3ab3f995df2d44c612a393858265d70e8d4151a858384901aaa5ae","sha512":"856120280da4d842117fb927a8dbab94215dfb803172d5217ef06b3e3160c27bfbc9fda244b20ac94ce02cebb4356d25c92927cb9292b29f658e377fca579fec","ssdeep":"384:j9PRJCURbRGehSowQ7pJIdRW5TejB6ScRTtDe1efLBHxe+Wl2XaKKTV28fRJmRDM:RPTCURbwehStQ7pJIdk5TejB6ScZtDeb","tlshash":"7e92de8679c2f0e962d55cd4c07b4846f01a0d3c704db8e9e7e6c8d2da7a14ed436bba","size":19935,"data":"","first_seen":"2026-06-30T14:35:40.41523Z","last_seen":"2026-07-27T15:03:44.238762Z","times_seen":3022,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/53627.115195b72f2d92cecb9b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"83531bbbf4576c6e43672349a06b72b5","sha1":"139a361b632189e32c0dd137dfe2b2ed8e655fb5","sha256":"b661a00c1330d2de36b4e45530101c4718696a241c819c26e3676498ac5c95b8","sha512":"029891e11ed6d6c2beb544a4f09ba8d6ab21b208d9fb4ca7c20fa27c5b26386da421b9e8aefc6ee8eb01ee4e4d827ed115989275498a0a2fbf4ed847368cb3fd","ssdeep":"384:pXcabhDdLcMCAL5XlK525HvbEMSgjqfJXJ1YJjB4wrHfw/KN:pXZbhDxDCAL5Xl15DpMJXJ1YJjB4wrHx","tlshash":"b472d84d7201b46d56af76a61c3b164ae1326428358904bcb4e0f4f94879e8fb93bf37","size":16285,"data":"","first_seen":"2026-07-23T13:54:09.098812Z","last_seen":"2026-07-27T14:50:15.499607Z","times_seen":293,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.52882.2898e638a68180ed6df4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b54a95821effe8d59779b9fc14228d18","sha1":"d2cbd7229e17a9b12d18689129ee09b6de60c175","sha256":"53c37f95be948df4fe80d94d0776fd26af6bf0f13d683652b1b74990e6326179","sha512":"6d4050b13aa9f106f683468ed7c071d0c67770f818a35c0245fc7121b9e6e2f75868f44a9b53f7bb110810e921f039ad158392dc1e157e8972db02bb87797d39","ssdeep":"","tlshash":"1c31ec5be30095ea2f22d646374dddc03af431a111f7d0c937860e689267d85d05dbbc","size":1863,"data":"","first_seen":"2026-05-05T12:17:23.709286Z","last_seen":"2026-07-27T14:50:15.365408Z","times_seen":537,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.22510.c6272459a17c5398fd7b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"6c6c88b45a73669efaf42c1d23109bd6","sha1":"436efe5bac23cb6e61761f6ca2f625eb2bd05c43","sha256":"24f8d2b3db85b1adf9680eac2aecc1bdae2d614e4af27d8f1c977a97af861c18","sha512":"a1cae379741ea70a2f6d31f79de4a9ac3b5ef084207b06a5a6238b4dc5c8a38fe401c62c5b95f25478d60ed7a24806226720d381990de06e495774959d3cbe35","ssdeep":"","tlshash":"d0d01223f025e8e57a7a895473509ef07cb4a58411f2d4d373b48b18611692415b4e7c","size":221,"data":"","first_seen":"2026-05-05T12:17:23.617466Z","last_seen":"2026-07-27T14:50:15.521721Z","times_seen":384,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/56258.282e6141fc02ac85d0d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"a9563eafb41c9e6b519a29f0206f6b89","sha1":"43a8b417d99fe60c3d65ddae1e66d8cabd277000","sha256":"ba67ff82446ee411a3ef96ebe6abe55cf6cc1abfd78c841cd5d9a0a70804725a","sha512":"1e31a74cb24aeb33cac85e854608a21314f1416f3db595d14b0577305da06f72bf42b9dea2c36f570fcea9dbd7d88793bd8bc291d498ab58b1e2413f173b781d","ssdeep":"96:AaPctCCkctcSycQOchchctDOAXtC4C2GM0/CnXkMHsU3KEu9pJfmJuuImRBYkqMy:NcUrctcXc3chchc1OotC4ChMUCX1HFRM","tlshash":"d5c1118471c1f09513db9a82a4370606f27d5c5c704b79ece3d0d4d6aabba4db42bb36","size":5966,"data":"","first_seen":"2026-05-19T10:58:17.796011Z","last_seen":"2026-07-27T14:50:15.351873Z","times_seen":1002,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/study-pane-views.663c5d9b21dc5e618998.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"5a9f63c99f9d5d568eb64759326caab4","sha1":"f30d6d870db604980bcccf56754fbd2b4a793d63","sha256":"495aa62cf17213bfa7fb11fea84b8a177d37180b0e424c8a4a20e73d4779c4c7","sha512":"e7b5c45bd3574d3ad6dd7d4faf79de3c2d68454439c5275a44af309c26968b86e399c6cdfb0a40091870ffaec3555511470b6bb6715e8b78034da4aeda759237","ssdeep":"1536:N9l5HPSFvpMa7EVaVxGbCjD+blIXkrza8u9BkrvDfG3Q9q+6Feg43qD:N96Fvph7EVa324Xkrza8I2DfG3Q9qtey","tlshash":"8b8308d2709134aa43b35ada6cb0440797252c56394f887c707d89ff18eec5436bdbba","size":86496,"data":"","first_seen":"2026-07-22T16:00:00.360345Z","last_seen":"2026-07-27T14:50:15.388855Z","times_seen":78,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/67930.f0d77c1721dc8fa0d333.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"990cf69851fde87b4493a4a244863db8","sha1":"ee7d5c61c67346c3d87c7e74c026bf4563383065","sha256":"6dfa7fc1e68a590ca27e08e6e6764259c28a0d7b39bb6971ab6383e8f246b6ac","sha512":"c819313da9003f50657bb1bc8de38b3e74208ac8407598c9755760b3b87d2ef157dbfebfaab0286f372c6586681bc19bca3e95ffcd2493326e2ae3b7c4947127","ssdeep":"3072:R0RDUtOcN3trUIjzAXK8ZrhLy6fXK6ZKubLBc4MO:ZZdTjsXK8ZVy0subLBcrO","tlshash":"66b33be3b1a0f0a9556601e984be0103971e6966bc47887cf6bc9cce155c9caf636f3c","size":113437,"data":"","first_seen":"2026-07-23T14:00:31.373835Z","last_seen":"2026-07-27T14:50:15.357145Z","times_seen":112,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/38086.990b013ae325a9b5099a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"12ee02cfd5ac5d5c313f3b01d8594d67","sha1":"9c5481266cf5613714714c6a1caf5e0a00d5a0fa","sha256":"e2c24b1c51c27795031a14e1f510e609acbee7e60d594e70c12b5bfe7331c5ea","sha512":"51808078a6bf5ec8b0ca47b4202cadc45f1ae8a112e67afadb66128b8145adb8f9cde349c93857081db86695e5c591f1407f80c3263466fcde7e098c4fdf3665","ssdeep":"768:/i1CR3M0b4wuYONncOogxxuaGy9yLsxtMgDA184HYtae6IkykW7FTSjtwgIlbSUr:CiM08weNcfgVmgxtMQu84HytLkyPTS5m","tlshash":"6ec23bd470a1a0ce12d206ddc17e9550e37b795cbc198e64f4a8ccee749e64a7338b6c","size":28047,"data":"","first_seen":"2026-07-23T14:00:31.722877Z","last_seen":"2026-07-27T12:48:39.614512Z","times_seen":102,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/widget-toptoolbar.d7ed7cde5eb35f0fe4b8.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b35e59efb0bd11483b985f2bd44f849a","sha1":"c6462f8d45b288692eefab16cfce1bde8633a682","sha256":"aa5adcee7d49a8b57e50e07d14931f3c5213ddbe82695bbab124f86371af9dfa","sha512":"ef350f2c4925c583157615f8d1dd4471e1f6fd1336c82a65652400776b43fba8fc75a96d410457e518e6a1dbd3f932f6386b6c178959ff9de6c112734a06ac42","ssdeep":"1536:q/H3qVRbkqWN+plfUCCCsHllfltQO45eQjF4ff1qcfTjD5NQcj1kfBZoBIgd6:q/H3qXkCp8R7Igd6","tlshash":"013308547175b0384ad720aed43b0407b36a68a9b41f51a8f2f49ddd35edd8cd22ab3c","size":52312,"data":"","first_seen":"2026-07-24T11:36:48.152611Z","last_seen":"2026-07-27T12:48:39.764568Z","times_seen":96,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/66988.8458b6a0b6b6dab54ea4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"e8573dd152b6351a68d9431ffb61d357","sha1":"928cec3f4c876d4d701f3b8ae035b67e5e5bc22e","sha256":"02111defc5b8b61ff158655750e36cf18a318ecba45bd6410bd9397a5e380f2c","sha512":"21379f317449ebd372b6e4aed63443ec02937076567807d8da941855c0ae9b8b23c7fa923b3ac87cf6050146b69b4248aba05f8520df72587eb193f1b3010702","ssdeep":"192:Cm/zVycbWsCCMrRomnPpUeM+MYklUXFJmlp/aCiB86aECfSiRuve4w3qG9ytqv:Cew9CM1M+HZylQCiBTalfnuvBuqntqv","tlshash":"2df184a2b1a2a853677350fc5d75d823a5493809fc0846dcf1aeaadf284dd9c217ce7c","size":8151,"data":"","first_seen":"2026-07-20T16:56:18.385469Z","last_seen":"2026-07-27T14:50:15.282472Z","times_seen":92,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/77578.f6db460ed1e8ce31ea86.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"2b6fab5d43180a44762a23007cc74818","sha1":"57a42431bd8f0021426278639e1480f60600ddbc","sha256":"4daa7f339a6ee290609f5a83e28d23ee34feaa429a33d7403cf4890502acabfd","sha512":"482fc0dcff39aea620d385e9ecbe90053b7ed726e6c51f9e14dddd7f150263071d648a4c7ba8c7eb4637bee7761d193c72638a4019a4214ae774a41f8a4d53b8","ssdeep":"768:8LZLvioqCZ0JL2sWfliPTkeX0dnor9s+htUQJXRl7m:8BwL2dIAYrC+DT53K","tlshash":"4ec23a913111a49d96fbe2eed02b428ef3323659790a0e75f02c9cec11cdb693175b7a","size":27070,"data":"","first_seen":"2026-07-23T14:00:31.442829Z","last_seen":"2026-07-27T12:48:39.796312Z","times_seen":58,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.40528.289cbeb8632c78beb058.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"9cc57475f4bc0e83551677f01ccb8326","sha1":"7788d2091a21e10ce4b20002d0875d298f78abdf","sha256":"aa7b0b72c05e6c30b63168c1ba891445e1f0b8805b81cb23935b9223f1388695","sha512":"441f0b713c7694da019960f7436a51911c9fed2b5b0175690d67e8ed7cee4263fa6e48b0b551d23792bf6a38cae5f76b7a06562338a3c793337c2d3eaaa09765","ssdeep":"","tlshash":"34f0a233c10959303f15639473c566518169714fe39280575123b1e053c3ca8e4ceedd","size":625,"data":"","first_seen":"2026-05-05T12:17:23.734679Z","last_seen":"2026-07-27T14:50:15.294169Z","times_seen":380,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/9270.32910635bb39c686f5be.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"5539ff4455921fad5c1cbaab2a5f3bce","sha1":"1073b48b55f2cd1b7d3fa453240d3a291dfd463b","sha256":"1f30073c128d18667a732ed75caf7f398da1accffcaa0a3f31bf098b68158c7d","sha512":"0c43ed53a7646dae59e40f446fe718b9737fd8e7a496ec59d228934369a1e38d90c3b9dd61a21fe12001706bad97b7bcd580f3b48b18b5626df44fc3632dfbdd","ssdeep":"192:TdqLHSioSpIwtLAZ9ZZmQSUMesX4decPvT4L27UXn4Tmdl6eFU3KT0:ToHSioVwtLAZ9JS8s8eYvT4L27UXLMeK","tlshash":"83120a85b3643caa91da1ad479b1088793137994a02bcde8742c65ff299cc27743cb7d","size":9675,"data":"","first_seen":"2026-07-17T03:30:51.183942Z","last_seen":"2026-07-27T14:50:15.440645Z","times_seen":103,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/63402.d30c1e003b054930d32c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"51f86891ee79dc28bdaa34f0c6cacb5f","sha1":"8e8c8d6a85f6ac78978e96ad933ef6300d1aef2b","sha256":"015f7b5bad17c7eaeb457105542f879215cd8f29f0a18185e5ab0d330b4db3aa","sha512":"29dec03ba8451463072b5661f375a9c6661cda7bd01c2929bffada338f4987ecb31d0526f7436b86b16de82236ebcdb159d3b2bf504006cf924283c2bb53ae83","ssdeep":"768:0ZUKYt1k9LsYxxHyqE58nvYoZUNIB8BSOfhOSEuE0fykah+kl7Y8HgJD/xpnwv/a:+5qUZEekx8oVS3rPlc9wfgxI+DcwDtgw","tlshash":"58232a297190b47ca2e7419ec02e480ce36a2488e8659cb5f9fcecdd33d598d31655fe","size":46028,"data":"","first_seen":"2026-07-23T14:00:31.469602Z","last_seen":"2026-07-27T12:48:39.736955Z","times_seen":57,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/themes/ashley/assets/js/ScrollTo.js?ver=1.0.0","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"fe24b7d8f629e348c499aed1eb52cbd8","sha1":"1012d82b8fef7aed32641f49f3a92cb3e987db5e","sha256":"cfb16613b19b1881f795ede251bf2af0d2814c91fb80dc8f3ccd3fcd3664f38b","sha512":"5b005e78b84e9aef3c38ce8b3473b93569178553ffed0e1321c98f89de2c91d03f9aaf24bb3d6c293a60b70d91fd98a75cd7bbc4ff0964be21d600d643e9bdc2","ssdeep":"","tlshash":"3d8195deb440f07352df0596c06f5b8a6235583b271a8491a16decfdac10bbf6127e93","size":4037,"data":"","first_seen":"2025-10-27T08:05:59.492877Z","last_seen":"2026-07-27T12:12:28.967301Z","times_seen":28,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.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-07-27T15:03:44.29354Z","times_seen":3897,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.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-07-27T15:03:44.295639Z","times_seen":2467,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.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":"d344f1b758ab7e6019b609acc1b20af7","sha1":"84e5cf09c5acfadcbc61867e8bb92d760f7c3daf","sha256":"433d4f23f219357d081a5be007170e1e50e5681ccad88321be60fd9dc64c0055","sha512":"39d29cb29c2e5ffa79366a6b6a08595d7b88e915be65a04d062b9cf2d8e1e008dd2dccee04018f55d446e46d3d7e3a362e97b4c4018fbf9a706c452f1a38e46b","ssdeep":"384:LipOwuVkogCEowCWLg/JcVlRcHtmjpfbrtka4kh30:eNogFbLrPh30","tlshash":"83822067c80da32ac456de26bc7bb602fc2e075945b529646aecc86c04c7d53e30ba7d","size":18668,"data":"","first_seen":"2026-07-27T07:58:23.452703Z","last_seen":"2026-07-27T14:50:15.537254Z","times_seen":45,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.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-07-27T15:03:44.297422Z","times_seen":4037,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.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":"ee67c287d030f52bd2b854999e8fc292","sha1":"ab22877af921b436152b801916972d30da5fd697","sha256":"2a433f86ea49264d4e7ed35bcf128a6a625d3dde0116faffe8e8fecda0107697","sha512":"072dc69913f8f66fa9ec8940794ca04fa7697658dc7eed4d44e93d96af935c8d8997ebb397598e170439ae6f2ebf3d2c3fc9c5a1edcab91cbee66cb2b4d3da98","ssdeep":"384:N40xN5M2HCSQipOwuVkogCEowCWLg/JcVlRcHtmjpfbrtka4tF:N40xfHCSdNogFbLrM","tlshash":"b0a29417c80c632ad9998d66bc3bb742fc2d075d45a129a46bac9c2c14c7d53f20bbbd","size":22652,"data":"","first_seen":"2026-07-27T07:58:23.455811Z","last_seen":"2026-07-27T14:50:15.538511Z","times_seen":49,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.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-27T15:03:44.299043Z","times_seen":1591,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.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-27T15:03:44.299791Z","times_seen":1591,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.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-07-27T15:03:44.300564Z","times_seen":2343,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.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-07-27T15:03:44.301262Z","times_seen":4039,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/volume-footprint-study.9dc6760cb03ba41d68f1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"02705aa805bbac9bccc99b4d5b83d9f4","sha1":"78a6115784af9125bbdcffa02a4e496b8927e73b","sha256":"7ee5f3a19f5fe49954db3d9c732c7ec564831ce84b66ae61abcb67931f501f2a","sha512":"1ab4eee9064f0fd0b6970b0925fe5ba110fc2d334cb02d30864795e52bf9098a3d49ecd831402b6ad990e5f8c5a697078b2aecacaced188be7ee1e1d95a3f765","ssdeep":"384:Ab04y76xACAdQlDbTQ7ZiScKevr/0XV67P9kfZv/H6eS/Vns1Ln5Ind8ES:6y76xApdQRbTQHEj6xvyUGd8ES","tlshash":"3352a731b1a2bce623b410d6afe8069e856a5d50a45e6cf8f26cd0f71cd5509173db3c","size":14451,"data":"","first_seen":"2026-07-22T16:00:00.386345Z","last_seen":"2026-07-27T14:50:15.421025Z","times_seen":84,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/price-scale-mode-buttons-renderer.3f61661793789559b605.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"56b0517a2a0e43c0da91d29f067965d8","sha1":"cc29534e9373c38fabce93912d78c4f77387d041","sha256":"f05ba56fec95e4a8791aa9578861c23f07d46d60a98a78666a2670bfcdd0d2e5","sha512":"3eaec55d02c3544d9aa01a60122eac994af3c4f6ee9829185ce6c4ad79ee4a0e55932cbb67f11214a8e0021ca9cbfe4533a8e07a2af1fb1f2f7dd3b639f0966a","ssdeep":"192:/RR7jTjtKAbbSZcZ0hKoRAJ6LzcWagOzW0+CUc8BJ8Ij/cW20W90tcoMEd:n3Tjdb2hhfLMzP8z/bdzZ","tlshash":"f632c9ed70a1b0656aa328aa803f0406b2bd252d3c4e8874b695eddd35fc54c913bf6d","size":11334,"data":"","first_seen":"2026-07-20T16:56:18.262491Z","last_seen":"2026-07-27T14:50:15.318485Z","times_seen":92,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-i18n-js-after","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"73f8f5bcf06202910bb5933cf8e14694","sha1":"a587120fc31e231017600d666fa6590d93fc2a53","sha256":"38b2743a6e0a9ceb05b4289ede5475dbf04827bcb51c0f824c69dfb104cad79c","sha512":"24d105503019f9436cec148b066b518e114ba64df6d890ba3a81ce634524292eaa63eddd5c3891f992090431afe3bd3549782f0d5a3994bdff5f07f9144d7b4c","ssdeep":"","tlshash":"b92112cbf4ab3d50828fc7b48d23be0145502487c2afd50875e59d3496718c0b4c362f","size":1241,"data":"","first_seen":"2025-12-16T13:19:44.380005Z","last_seen":"2026-07-27T12:12:28.984388Z","times_seen":53,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"cb723d749493893fef00de4a102d5b14","sha1":"83e4d476c5ce53d9fd2a5f07a72db8395c5be20e","sha256":"5025f2112d7c4786e6cdd0d8becf512b1a989a81c5f37fa072c3ca944ca9211e","sha512":"bac6e6754071aa4499cda15909e69619377a5f862a69a99ad4b5577143b8bcadac6ddafbd243f0754f6602063c5bc3c629027c5f767c90d71861b7952764d479","ssdeep":"","tlshash":"c411ccf3b7dd907fba9e6d66593402cd5a1d90735c110a5bfeac3575cc8442534b1d40","size":913,"data":"","first_seen":"2024-04-17T16:07:41Z","last_seen":"2026-07-27T15:01:24.793611Z","times_seen":33083,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"e7c749255f0c7603b90f6196e3087ad6","sha1":"87ca6ed12bb4d899eb515fcbf1b06cd77bfecf35","sha256":"6c91320d2a35084146720e73b9eb506f8f042d304770136f76fdb279d3e82c90","sha512":"17c60dcf3f92c9719372b169ccdad70f329b88e816784043bc83bab6fae403aecab83deda08b8a8c2727ad201d11b2641646e45548d69e9accdadeb0566a3038","ssdeep":"","tlshash":"02b0128b74a73d50828fc7b44d23ba014510208782afc50875e59d3096718c0b4c352f","size":97,"data":"","first_seen":"2025-12-03T09:23:15.289558Z","last_seen":"2026-07-27T15:02:18.343429Z","times_seen":33945,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"a455ca606625db108a8cf1d09fcaa177","sha1":"4aea71176f42e7aeae7d33e8f84097d104f8a3a8","sha256":"895e3574efc724593e01c478794723b2c8ba1b6a0191067f12e9be19b3a56fe5","sha512":"44f7222395ecbf5dd1f1a9f10c646a738c33426ebaf7b1ec3c905e5cb035c733ea79ca598add43d8dbcfc22c49810706fcab287d1181cc6569525cbb6c68500b","ssdeep":"","tlshash":"bdc08096d5f81c4a14e5c154017c5335b1149517cb2f5f55b24e004c1fb80bdf5145ce","size":187,"data":"","first_seen":"2026-07-27T06:14:34.328419Z","last_seen":"2026-07-27T12:12:28.987399Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"8cb65508bad8bd43a567af0c60072090","sha1":"491669341893a5eeb9204d12116eec61286b2463","sha256":"e471e64080f4e93e75f89d7528c675a95a1d302eb97e48131f99e684340c949b","sha512":"b168279e27a7b500c505eab3a890bdc107a77a2f864ed9ab9879266556d1fdd14f5a1a71ebcef61128c8ee60a9f7409aaab4ecf8f43044a4d01abc0cce4380fa","ssdeep":"","tlshash":"86519421b9055abfc3e39b803927ff13687c05269041bda5f4fd48ad00f6a69320bd9b","size":2585,"data":"","first_seen":"2026-07-27T06:14:34.330736Z","last_seen":"2026-07-27T08:41:50.607536Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"164a40845cfe24127ec47a69baada146","sha1":"ef440e431bc33f0ab1cec69541d768ffdb152124","sha256":"863767157f7b9c14c59c01d85b1306bef358ca3d143fd5c0dc86e6b85ec36bca","sha512":"b5be98b1523c6275d995980de4f1df17bd2e0bba7908838f30f611d7ef045dc05f52080b1bdf00886eb522f12fd708e71f329bd4c2f206cd52f3ab6b49d4d5fd","ssdeep":"","tlshash":"dee0ab3d3c344194479200b491b6e1283a1630640044c94398aa98b91cf0fdabd01984","size":416,"data":"","first_seen":"2026-07-27T06:14:34.332945Z","last_seen":"2026-07-27T12:12:28.9892Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/55969.43c3748014de2cd0bd1c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"2ffe3f8909cfa5c00f9356969ce56989","sha1":"25fb185c3e390ae4bd33c6395913b100e0a4f6d9","sha256":"7d1513778a61b869e05173da3d33c80b937eaf583aeb370b947947ddcdce4c84","sha512":"2022abb3649827fd1f39c901fc168d99ac273164699e1ca00d77e017ee71f51fb199aac7cb5eb214ba12fe7bfb88a65a777fee03d3f0318dbaa768e188f74d6d","ssdeep":"768:YmdyerAdxxaVWiG7s8trffJtzTrcSWJMAchHTdv5UC1gMgFwMA+Mv60F00rFLfLL:5dyHaZG73TAVFd+60S0RuGpriakk","tlshash":"62e296ca3286733693d1c7850c750903f339a1743c0a55acf6ac6acfbe1a942617ab7d","size":31210,"data":"","first_seen":"2026-07-16T13:40:49.785089Z","last_seen":"2026-07-27T14:50:15.431368Z","times_seen":613,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80915.69404fda8aafc2742c55.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"de2945c844b995a4434f72c9e9f10d55","sha1":"dfa0f41fd695f4ab2068af223864f90085590f09","sha256":"29df78da8b43b5048b57229594ed6f3ad79785773f63f3001a604d1a17a206e7","sha512":"e000d576b22c638622179b6cd5b5e72b9e95c90f191dce058a700842f4ab620ffa60fabfd70814866ae1686b778f1fb6384117e7bf0c4d1c66af5945324c2137","ssdeep":"192:zD6UcCbe+/OzNJUFPphLnY8P8hfJnubwbwShMj:SUcX+/OuPphLehfJnpMShMj","tlshash":"bd32a559b2a0b02595cf6760c02f150aa2752019f70d98d4f69ed9ea3db076f213be3d","size":11058,"data":"","first_seen":"2026-05-22T13:27:07.587764Z","last_seen":"2026-07-27T12:48:39.608917Z","times_seen":182,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/93426.0083d163d728bff784d9.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"2d347eb2f7b046ec91197c1181d0e178","sha1":"fa3f74deaffe52fd98be22519cbaf8bdaab25947","sha256":"fb7eabec75f8061e8b8fc70989b366069567cd7a0d2cd1a967ea3d6ca229cd65","sha512":"6dfe90357513672ec3cb8f8c8d0c67ae193c641e15eaeb723bf4a2748ee7b3d22bb3fdf28d26b845a0b94c9893fac86c325ec3b65c99d6c7edc47634f2033447","ssdeep":"1536:6J/J5J4hb3JAHbuOrju2mA83n6XAtKD/BHJMs3v5c1W0U9z51qKrDGwPzPAIF7Vg:vhb3JAHtVmAdDUgQlbF","tlshash":"c6430856b251246721da00eba077100bba3e55d5744484bdb13cdcce26aec8eb2b7fbd","size":57327,"data":"","first_seen":"2026-07-23T13:54:09.127319Z","last_seen":"2026-07-27T14:50:15.373252Z","times_seen":294,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/error-renderer.dc2ce717d0e5028b35fc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1c7314ec5698d1269fcf3fe8e9d48648","sha1":"d1fb17b9e771bd250914284740cc34a81547b91d","sha256":"bd627f042740901d7be3db9685ce7831516e3f188779cc4a1ae7dbaa6fd32b74","sha512":"1b164cef2eadd5807eaaff6a71f636a4c6c0f4974124302f30b8eeb70e2bf37fee66589a465b1619919462a2a0c3d3c5336d900152e91200950f0205b73d7452","ssdeep":"384:iBaD9U0gstXMY5/BUFXXRn8XaTigVaft1nglXBxEiS1WCSELCg4N:iBaD20gst8Y5/BUj8XmV+tyLCsCSEM","tlshash":"4042f7a462dab965636201cae474b813b22c2d02348d86a8f72c9dcf371cd41f57d776","size":12295,"data":"","first_seen":"2026-07-22T16:00:00.456338Z","last_seen":"2026-07-27T14:50:15.292252Z","times_seen":140,"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-27T15:03:44.211676Z","times_seen":1579,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94825.8a90c0c3ebd413eb9c81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"321406610467d6dffd30c75b9184e9df","sha1":"eb120d6cc348265cbed0295dd3cfab7428c5425f","sha256":"3f94fcd41f3f37d9d46697679761c3bf1712a0f67a22b38bc5e3c44b47eb56b5","sha512":"8d1b1035b2fe029452f0a7de35ef2793e6da96377c589956a5e21eaf23f3b2ae7bcedfe568a74bb8ba9a46109cdc8876912e2d73814beca47bbfa286c3081136","ssdeep":"768:QmBTez9037WM2rFgD0Nm7YLSxeUf4DK4uA8JUJESLb/XW4xmmInIPxHgask+vvw4:Q4Ow7uxNVvpPpghBT4Uf","tlshash":"17e2b693b3f9a02966ded0dad8341403e31924447884046cf27dbdde6b5dd88b2b9b7e","size":33900,"data":"","first_seen":"2026-07-23T13:38:20.509185Z","last_seen":"2026-07-27T14:50:15.393454Z","times_seen":622,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/5808.f4800fa9246f404621ee.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"a42e731f659fd23cc846fd90733fa22d","sha1":"a69e6df547aeb0964b5451ccfff0fec9703fbc6a","sha256":"fd721044f40446ca3ab1b478372b4b3034a3345ec03c626e1fe2f2b651cacdf0","sha512":"0364a69a0cf76f3925709f12c0a99bdbc8ad070fc9be0d8000eb0a227f26f4281051036b7118c8f8a747e61921f63669c785bb607f506ef1a1e602e472fb9dad","ssdeep":"3072:TTXg/EZYyk/ubQwm+HxiXEPx7CfJ3pVgk822xZgN9u7lUbjAvDWnSO8IMiL5K:TmEZYT/ubQwm+HxiXyx7CfJ3pVgk822F","tlshash":"71143a507318a44c59cb51aaca3a0956e39e629cf485407cf9fcddfc21e9d89e13e738","size":196197,"data":"","first_seen":"2026-07-24T11:36:48.024996Z","last_seen":"2026-07-27T12:48:39.653718Z","times_seen":95,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.79667.38b400b7bcd71265de7e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"abdac933416adad2f1f0358c34e06d0c","sha1":"0dc05aeba8286a0334c027665641bcf478994d5d","sha256":"5f564c4503176b996145604c8e659d0a1c2128953899b2e776973f0a91e17e9d","sha512":"56050afbc169f102143e4d56c74c692b0bae5319724042b3417d8740d60592b7d74fb27d1863dce300e020f33f36498a00fd31af8f94b6d301558007054ee92b","ssdeep":"192:nzHO1epgwUCqXYyY0ltStvFnUkst1siHYFhftcmrEnpsMhRl2FlQ8oCe68ciDhvx:nzJWPs0ChspEkmEnptD2FlQ8/e6Axrn","tlshash":"6c72db17c105c0fa8fb5ca227359edc0b5f8b19410f1e8c6b3a95f69c623c656838b79","size":17471,"data":"","first_seen":"2026-07-24T15:28:44.838926Z","last_seen":"2026-07-27T12:48:39.705138Z","times_seen":56,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/themes/ashley/assets/js/ScrollTrigger.js?ver=1.0.0","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"34a6ec6506140cc3c2294ac505353877","sha1":"025f089a5e93ce43a8bf0480504ad064f1369e51","sha256":"1689c1a15d71ec9e9d6e4f19b81b88b245b184d55dc0d2f73a3c204d5d897957","sha512":"03d5cf00c2c788673cead2628f1d14fe47ae8ec05eef56381eb8a895def8111d4568ca3630d007d14f2f2b2ed38c65f804da5c42c9b588800c163f7936624ea1","ssdeep":"768:L+5LHpwfVyb83wG/B/nE306RAHdAIsxmAK31horUp4h:apqgo3wKB/nKRAHOIKS3TjA","tlshash":"cf1309ca3244b03267df627aa52f030a733654d9291e4464f266e4e83c7d5bc873be6d","size":43379,"data":"","first_seen":"2024-11-08T21:22:28.317113Z","last_seen":"2026-07-27T12:12:28.797873Z","times_seen":690,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.62351.b382da174f097a0d0e43.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"592868958f083a645011c18526be50f6","sha1":"33a4aca0ed967d4c042777d21cfe064a9fe7621b","sha256":"9ac1b143f8bfa585ff4c79336d6e869e8236f9a663d1610bf4d1f2f452e5cf6c","sha512":"8a8bcd9d03298df1b5917f0bbe544ffe5779ee6ff2037cbab84cf0a15996a5208f3d75e6bb1d5f3a27bfd89ad8e3d452b3de058cdd314aeca07608d8c12a14b6","ssdeep":"1536:HcIavPJ0d2mzNQgTQ4yBoYSovc3fVfcD/WZz67dvUOPpguNd3mTdED:F2mzNhE4yFc3fVTudGu7D","tlshash":"e9d3cd07e140a4d66b71c15237cadcc9bdf4a88a43e0c685739adf38c52be2762b6d74","size":133378,"data":"","first_seen":"2026-07-24T15:28:44.72755Z","last_seen":"2026-07-27T14:50:15.521101Z","times_seen":190,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/69697.94f7a3c68e5b71e90ad0.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"ea7468c239d76d650fad0348355c0723","sha1":"1679d20934fd0a870c0c4f6841783538386be8df","sha256":"ff8eafc7002dfc18017837f333b737baf6428680efa8976420f7545ba953bdfe","sha512":"cf2c6f55abd325793a9a4a962acfca9cea5a94ee011812cc1d100a66f9250a768e7d62a0c4d661cd711718cc67e00c4038f82d532a6daeebf8078a78b9d62c89","ssdeep":"768:FahKIrmNWI3Vn8gACkdBEECQrhuWfGwsGiaYOBzYJdncihxGddE/HAKZAPt+Z0Mn:45I3Vn8gK/NTeezYW91k2+","tlshash":"8f03d9d673b2b61587a64092f87d8503e36c1a8164cc253ef66c8cdf264de48b136bbd","size":40229,"data":"","first_seen":"2026-07-23T14:00:31.639092Z","last_seen":"2026-07-27T12:48:39.727295Z","times_seen":103,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/26118.3f4b0e5de045d6bd8295.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1df37fb14b509991868640e93d196bed","sha1":"5f505db48850be97fd31188d307c0ca784a40dfa","sha256":"ed0d9ccffe67dd588b5c48ee432f2e2dd44b6cf6cfad2f9758b8301cd0d8520f","sha512":"912b321be9c0a010a1c7329216e9ab2c519ffc0ab565211c1eff82d6a9ad052dd9a608f210d4946ef10e20a2d65e45692b0f2ca44bdb5810354db30cd40ef97d","ssdeep":"768:iDUhaWDzyJMn6lh1lMAf0BokL0ZBWTvf4bAGUvS2w+Ntd87EKEV3GmXEKptPPFb4:iUnZVrXEKtql5suJ+m3SJaIKoCVmG","tlshash":"d1533b907354a29f53d3e1adc63d8496771a60b7b80f4a70b4eacee8116b47ff913908","size":62062,"data":"","first_seen":"2026-07-23T14:00:31.462637Z","last_seen":"2026-07-27T12:48:39.742998Z","times_seen":102,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/91944.cd51b48fa4d742a11726.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"21603b1ea6d66be9e85aa0d9d193067c","sha1":"5dfac46409e281f3078e3af99e4bff3c1a5f0872","sha256":"9b43f56adbbeaa987486fbb6cacb11cabfc1b3f3a2dd72779653f53c856e5019","sha512":"cab7c1b47820cec2b3b2a91830c3ab740452d292f8365c4ddcbb24c933e951935088f8e65d6b05cf26971d02ca63b8ed69349566da982272c09dc14fad9cb99c","ssdeep":"384:lciP7w+YSd7NNsFs9s5QFdP4k3I+0rZnPb5X9D8Tq7dQYQBcOu7+sP5MgVzZtcip:lciPU+YSdHs0sJjFnPb5X9w+7dQ/SOub","tlshash":"b792a5913161697a53a622ed6cb11a03a749680af80e4d8cf1fd49ff685cc0e327db7c","size":19889,"data":"","first_seen":"2026-07-22T16:00:00.510452Z","last_seen":"2026-07-27T14:50:15.387097Z","times_seen":85,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/5355.2ea3c48a319ee0ff5b78.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"2f4dd7b3db38bcef031ce7e36c367340","sha1":"ba2336e05b407794de4dbb6a0e18264c84b3dd51","sha256":"189cf3f450f313efd6f7415f9a052d86c632ae8d97729c459900ef09bcf4f3d1","sha512":"54d54a86d025a62386536e78f7c145ea7bb17f681a93d55091bf41897ec295fd1bbee56de09aecad350c4ca9c7df4668ec0da1f0052fa86b161ea8e9bd958c33","ssdeep":"192:9cNibKfRXUfFYt6Vn3WQt9Oh+yxiJdljjRxU3zty6psROhf0qV+9TrS3ZfEI9n:9cNlfRXUfFBV3Xt9Oh+MiJdljjRxwtyK","tlshash":"83329682312a39aa59e5209424703947920c3c9a375f907cf3b8a9fe755cc5cb2b9b78","size":11674,"data":"","first_seen":"2026-07-24T11:36:47.84256Z","last_seen":"2026-07-27T14:50:15.524279Z","times_seen":76,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/68725.df46d140ffcce5cbedbf.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"301a8f4008180f5ddc683901defaec4d","sha1":"892a96df9fffdbee70f8c3c701e4681b6c4466dc","sha256":"89111fb1ee14c800a44c510278977f64ce50a38e074b3bbaa2f494193ed42cf6","sha512":"86dc50bd47044f799fa90bbb6725d83f782e87021fb6097ab0304ab1db8cbcd8c660f107d780b2c01c6e18fa7d03b5cf55d686e28c12ee3c4fd4a25d406379db","ssdeep":"768:5CNMfr3mWAwSatuyEJEIVVij9+Dpo27SU21KP3:IQPA+wVojcDa27SUh","tlshash":"f5c20964b2a8343541d7825bd4794a03f2356c85b00352adf66e2cde1f9e88d33aaf39","size":28269,"data":"","first_seen":"2026-07-23T14:00:31.748932Z","last_seen":"2026-07-27T14:50:15.443985Z","times_seen":115,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/8946.0be20cf5b56838bd1cdd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"db8665d50bbb7613ae4d5ff6618efb3c","sha1":"72a0474595ec30ff0f5b29570e7d187a4fa34bf9","sha256":"fb3be873ebdfbe3bb4183024dae7c56fffbf7bea33c01b1f7e13d8881b2d73b9","sha512":"a6a8b9b47236538cc2a9b1b522fad8d83f2d3dc7bfbe876ca6cce7a11cb9e780846d3701f295f97ada93ab31796dc3f2300f38706cefc2b939261da5325e75ca","ssdeep":"768:3iSitKD8BRCVEvoJvvI2TWRe3/E05YFa9dOJiGHE9E1RInrGhbnFT8hu7tOq+CKX:bitKDeSEAJHj3f8hbWBp","tlshash":"a5e2f7513531714852fba5eb99da062ce334732ce8248e25a8f1dc8c7ae5ae0e377d4c","size":32955,"data":"","first_seen":"2026-07-22T17:32:48.084118Z","last_seen":"2026-07-27T12:48:39.778144Z","times_seen":60,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/symbol-search-dialog.2bd5ad4a50f11c55181d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"a33d79b36d31bad99801ac951429ec12","sha1":"0132a8f4734c731690767f7346c30377761aed71","sha256":"42e14e00fdcb59805d9b1fc3225db0713e0a8ce22f25639326da817409380856","sha512":"b85e7f37730215e956573da5116e3901e2dc95b7c20bf9dba114b73817e363a0af560933b8f1193dae05ec6d87310bb3f73d9facec95f9521a846a4a0bacee6f","ssdeep":"768:1VZTM7OTm7FZkgTGJPrOvJ1UKxQcGhXEwpMALDw0Iv6CCVmXRfoUUUh3W//YWXgK:1MT2AbUKuXEgMPCVmpRK","tlshash":"0353f953b3045e4e75abe1e7ce2d8d49978e50a3304ac234f5efaed8229647fd623844","size":61870,"data":"","first_seen":"2026-07-24T15:28:44.934306Z","last_seen":"2026-07-27T12:48:39.654284Z","times_seen":55,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/53297.a6f6547cdad8d37971fc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"c6a3f4550b8b4efa1a9ac0a26ab757a6","sha1":"376e5c7e4bf11c4c576ba0a644af8f841f17c662","sha256":"e673211228f9cec0ee6b36576c556da8959897ff56e4baa281606d9694f888fc","sha512":"fbe34869d39b17339388031748218f6816d1fe3b5a9dea653c536c49ea8fa574d3164227efd1dceb114737127e80c52c98fa1f254d7bbc7863dcf4fb37759723","ssdeep":"1536:QGwKmjvbKAmbj5HdO/Z8y+xp2PFg4PPNn42M:9XA299O/Z8DxpyFg4PP6b","tlshash":"ee535c40b160b0fc45e7809ad52f049ae33b1558b46648e8f53ddcec2a9adcdb267e7c","size":66470,"data":"","first_seen":"2026-07-24T11:36:48.185143Z","last_seen":"2026-07-27T12:48:39.791498Z","times_seen":97,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.0.3","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"2e187162915b1d22fd4558fee30f5613","sha1":"3c76d4209fdbcbd3650655852ad4ed73846e15ff","sha256":"6d60e3b25e56d35148888b5a08c8eb0ff3806f9698d4f6f54a35eab7d27f4c2f","sha512":"01948a902de67801566637ec99d82302a8da9b80a31de08fb1f2c0d52aea3beafa804188471320410850f0e96f4ba4c34f6cac6ebb6081359f2e959a2c6027c5","ssdeep":"384:wwuf8OQL0sARrAZcNWL//+Ffm/hibLexa2VautyX2fsL3ZHO1O9H:wwuf8OQL0sAZAGNWrGcibLexa2Vau0XD","tlshash":"484235e16197e0f0cbc338a48816c051f2bf866cb9898054fb5dcdd22d5de07626b77a","size":12512,"data":"","first_seen":"2024-11-04T17:50:00.017227Z","last_seen":"2026-07-27T12:12:28.839573Z","times_seen":16981,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/runtime-embed_advanced_chart.2adadf1cc0ec57097803.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"14bf3ff2a3107514a76ce3b64ebfadc7","sha1":"cdbe48a268d7b51c28606b399cb8586afee97128","sha256":"99f49c837d9b9a85e81174053a80d5738c2d7c21a53faa30b396f377724df1ba","sha512":"e917564b665e35938d9d86ea200951191fa25a923f4012992d87c30408c3fe4188962849136025458fb8143a64842308d4783c9ae847f84f0720cd7f86a1301f","ssdeep":"1536:Hf6kU6QbwU/pS8wcbXbUFrGAMt6GYvlW1naSzKr1vhheth+47z:Hfy0yLBAK+v4nrD9z","tlshash":"32735cacd23c99b776f02e781c6bac52a33820537d6182ed4397736409b7ef4c666543","size":78581,"data":"","first_seen":"2026-07-24T11:36:48.051243Z","last_seen":"2026-07-27T14:50:15.38221Z","times_seen":191,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42288.47ecaeca1012ee3e1d8c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"146c86b697d57edadedb79e577a2b819","sha1":"fac3ccefeac950dd75b09bf983e4db643acb17cf","sha256":"e7c1e85bb4c79e48526d268113263cbed1b8dc51caa0f7ece95022ce45c6426a","sha512":"0c8f76ba43c26ac96ac8ce77228656bc32000075828146c8e3f5f6c8d83aa1124958db4a287753456a136751fe65d9fc935c7e8efead69cb7bc5587e6f54cd75","ssdeep":"384:IPLZpvbUA+tmPj2DF4ciyLHBoIUEDHfKXqEVKtwAqXrNc2G/p5RuePAU32wDP7Fb:IT78mPj0FHLHevUfKa+EwBxnJePTr6Y","tlshash":"a29219c260053875dddf6eef405b45ade33e243538055499b238adec02a9a5873a7f2f","size":20221,"data":"","first_seen":"2026-07-22T11:33:41.962494Z","last_seen":"2026-07-27T14:36:17.418293Z","times_seen":268,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52509.40659470e51b065d5139.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b7af9caf2d203689250c618a39d39029","sha1":"54e22965aaf8dd894b275b582cc30705d69821ad","sha256":"2600de068f623019889e62254b9834e05e70d376b307a4ad6b859f23cdcc8f8a","sha512":"3ef3adc84c046249eb8338da914e3af339fc2a92d8f0ae731d3b82dfc79a838b32bb4601581fb9d42f1ad5dece74230ddca8b9193f7acb1a023a1892cc8633eb","ssdeep":"1536:p5+ejeWbrN0Y4NT7JDMclwUYGZTw7yhLrLl1wrFMl:p5+ejDbrSY497JDMclwUYGZTw7yhLrL5","tlshash":"4833a36890d52d392df542f540ab2010e8ade8974d9610a6efef4dbf4940ac9b13ed3f","size":50917,"data":"","first_seen":"2026-07-23T14:00:31.718819Z","last_seen":"2026-07-27T12:48:39.669745Z","times_seen":57,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/themes/ashley/assets/js/gsap.js?ver=1.0.0","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"6de75d21a278b9c00ce2dccce724f6c5","sha1":"267a388d2fff8aa68c71da6116ee460ed0ca8b02","sha256":"53c3a2be6f0df881861adce7bcc3da341a64f5fefe244634f9a37197d0f58fb7","sha512":"160c2aa6cbc7b315caea4ce88bf70528ad280b84fc34b2a7cd1012ad8dde1c7cbf0631c80375110a86fb48b71566a1448f62722397231923346726d8cc44041f","ssdeep":"1536:auJ29KBROpgAEQ9a1tgwA6NSZW3ytdKTdIwEp28Ywz7CD6:f29CakgwdNSQ3yt8eNp28YqCO","tlshash":"b663e8d93292f423039a51a1447f094bf337a958640f0918f269e4ce7d3c9ad52bbe7a","size":72213,"data":"","first_seen":"2024-11-08T21:22:28.30398Z","last_seen":"2026-07-27T12:12:28.774255Z","times_seen":763,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=3.26.5","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"24e0410994a3dd425d09aa3002a87c78","sha1":"d7d7079837325000e3f2a88035435f00ad2925aa","sha256":"254dd3e8fff8f187a7c0fda211fa20f3cf11c783b6c95a93df2ae22696cf0e86","sha512":"db9ef5800a0f0194a0734cac4243af887fbc59c919a02ce20a61e7e4ee84876aedf82b54c516b67a57270dbd0c09380d51d94ade96a0daa42da02f8facc0c5a0","ssdeep":"768:KRxLjt7ReRjDKvxH2Ea/AfjSfufVgLIHe9zKEAzBc5G2TSebsvT2QAU/BSB5oodf:KRxHt7ReRjD8xH2EanufVtrEAzBc5BT5","tlshash":"e913e7123192d4a656cf48b7b433021db3664dddb402b49db1bdace6a471e8373b2bb4","size":45428,"data":"","first_seen":"2025-01-16T00:22:47.982182Z","last_seen":"2026-07-27T12:12:28.927177Z","times_seen":575,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/external-embedding/embed-widget-advanced-chart.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":"d82b214398ef7ac012a0b4426c7e3692","sha1":"acdb1604afe87abecf030f59e873844e1e8196f2","sha256":"e49b74c1748b58e5d3bf0e42c1ce6d70f73dce57011a50d4fb1b62db450a8678","sha512":"5664d201bdc952ed39fadb4ef534741831932ed2a062083d768a715c642c590422bcececcb0fd147cc1c041f08283240cd04816be8ae8408210a8715c1c34556","ssdeep":"384:gf6uCWoofYkFdjhUj822680qMJUomMa4VBZME66PDCa:uD5UI2268DMJUomMag0EtPD1","tlshash":"0e52e9a9b660ec7d41d941dba07a2325b61d3944b203aca4b5ecd8c520edccda531fbe","size":14294,"data":"","first_seen":"2026-07-17T03:30:51.234952Z","last_seen":"2026-07-27T12:12:28.934598Z","times_seen":48,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/branding-source.83b7dbcf32c4ccb466bc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"e07829b9c2f075e0d79539e09e8ef5c5","sha1":"c0ecb7b2378f8c8f6bb127ab7ce32a33f2867147","sha256":"de200e3269223b7eaed298c26e6c4f1aa89cfefab594c21c75d8fa254a074888","sha512":"6caeee99a9d13d9694e591f9382f08303b729630991f2a101d67c7c6e9ab1aa3679a35fe72b8511546c1ed034286f9ef93d5b2e8878aeb902fdbc675fef15d33","ssdeep":"768:35sPlyn1pNoHx1dy6DXt6MfuD92GrAhihIo0Z8Qa2L/aQmvYsYIlL7GL4EUdBkp4:KdFrbPfuD92G8mcZQ2L/BmRdBIJNWGHs","tlshash":"5103196ee220585d13c301b49c7f2957961b50e5350a4becb2bc9dee105e9dab633b3c","size":39300,"data":"","first_seen":"2026-07-23T14:00:31.655738Z","last_seen":"2026-07-27T14:50:15.420318Z","times_seen":112,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97558.94bb0c2643d74eb6f8a9.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"d746cbb1cbb3033c0484bc6acc81a55f","sha1":"25835aa4b4538d7962fa37c481b6f7bfcda4defb","sha256":"32489cc5023595f6e286bacc217f9666840467c5cb7f6a71e6fb993778a0f9f6","sha512":"88e18428248f514fce026ba9332b9229d8c5a25977939e792b749ec42051dc847c18d6dcc6d9880fff271e42f1b5e048da19ecc06a555fd9b1e0b749752b605e","ssdeep":"768:ncRuzQtjfXqCO3EDR9kE9OO4f5B1i/RHUFLqhBRso7HiqZEFhSoO0JJyERE+wOjb:nPanOeH9TO+eFNrWJfeZP","tlshash":"83b29612655d58eb97f207a3ad70284bd2339da71b0fad54309d44df3cae821227eb71","size":24600,"data":"","first_seen":"2026-07-20T16:56:18.378997Z","last_seen":"2026-07-27T14:50:15.323935Z","times_seen":92,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/84265.4c6d8f772d538f528598.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"aaa159536c7d981785f51eb8ba67db93","sha1":"5784ebe9400e2e22025fd79e968d64297da6cd0a","sha256":"ef93d4903275fc451f34833321771914711245c75400304160edb454f5cea2f6","sha512":"8251e335dab75314acec8c4fb0be5d55dcb1ba3f7875695b4234c7c902ce169087b041112ff620a936d0113202ccb19fb57930b21765a24faa342177cd37e569","ssdeep":"384:FrWj47HRZhjkj+bEvcxXXws4gNwVb86wxR2ViPzhvUel2HOU2s6nSSf05r:FBHRZhYjIHP4gNwVYXxR2QP9vUel2Hth","tlshash":"5972c624f2b4ac666bb352ed4ef543835d9c4c82de5109befaa908cf195c5083379b39","size":16073,"data":"","first_seen":"2026-07-23T14:00:31.621457Z","last_seen":"2026-07-27T14:50:15.342379Z","times_seen":80,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/change-interval-dialog.7a1e205ad9ad595dc28c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"012b19873ae550b0ac01861ba22c40d6","sha1":"d046baf7d21186590435643dfcaae010980cf02d","sha256":"ea8993b45e050b00b0c9f192820f9dd9d19b496d0915eab277f8a4e8d2855894","sha512":"c67cd6ee2ca902a6a5e4e6637b02a50d545bf653062bdad2b68810086db8adba534dfa065e2596c8c605ef0d40a451acd3bad6cf06580c05446349c8e9047841","ssdeep":"768:62g2dzQiBy1d8Xne9Rsdcr5n9caI3CqAUSfGEoZd69a8J13oTRcf:62g2dzQbXVIyGGGEoGZ2af","tlshash":"6ae22d9071d1b0e956f785eb807f0546f3372968780d4c24b279dccdbaec898a136fa9","size":32303,"data":"","first_seen":"2026-07-23T14:00:31.699735Z","last_seen":"2026-07-27T14:50:15.335276Z","times_seen":75,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/shared-kb1yqHaA.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.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":"4a99d6fd0e84ed566d578d0ed5dea128","sha1":"c729468068793db7ca783d243b2ec065b6e2f202","sha256":"99501ff83cea2d37fb29f4ff7e0bfc1a93655e56db91bce74171fe29f0821884","sha512":"fcab2b13f37fe49c7a500be1285445ec1dfb120ed4f6d909925ea5616ee9f62d999fe83c1f8210dcc1742528ee3469e5671b34191317836ab4ed3b020ade8608","ssdeep":"6144:mLjnOEIL18ad2jJKaQF+tRkYcuBa+y+mFJW:iOEIZRd29Uqj4r+mF4","tlshash":"b3443ad53294b03543db51e6906f1106b33e5c58580d812cf269ede638baec8a2f7fb8","size":272133,"data":"","first_seen":"2026-07-27T07:28:16.16312Z","last_seen":"2026-07-27T15:05:49.47744Z","times_seen":902,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/ashley-plugin/elementor/assets/js/front-end-widget.js?ver=7.0.2","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"b094c0cd330814f82729386b5fcc0941","sha1":"5dd4376c907134f08340ba6e1a9946ceab796aad","sha256":"5373dde5033d4165b754b2885af4553cf8d4c2b95a88f6362b2e57dff8df9b29","sha512":"57537ca8bf88066435455fdf49e5432117cec861a65a5596806bb0ee1124387f08a8865e47257f0fbc8e58cd94b1e4d5286b61bffe1b8f9411f09aad61bc9477","ssdeep":"","tlshash":"3b112538f9afe05c607bb97b946ba4dec97b88a4600824628aa5457948f4f743619f0c","size":855,"data":"","first_seen":"2025-08-03T16:59:35.297041Z","last_seen":"2026-07-27T12:12:28.926391Z","times_seen":9,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/13148.32cc01dc01751b91682c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"9eb8a2729659cd900aee823198b62b43","sha1":"27c53602ca760b97d71eef345b01c1d537900aad","sha256":"3ac4b66b0a6823b837035a5dfdf7fe41b01ccf2a2ac115b143c12356080ebdac","sha512":"6c86fb2c2378e589f4353d32a048ae866196581fc0a8a7ed13c379eb47eab41fcbfc0ee44f3ffe77ff3800136be1da4fbfecfe3456524b96712a1e5cef42945f","ssdeep":"96:FRi/jMMHFeHojARuZi0DWss7UebYiWWD+WRdiaEBymSM0qRIv0nrWvW1HN6Fb0so:rEjMMlIeARmLWss77bJWWD+WRd8ymSM9","tlshash":"66a1e987b9c2f0a063d9aca5953b054ae23d6c1c711bf0e8e2e9d5d19c7b10b9112f36","size":4812,"data":"","first_seen":"2026-05-15T11:49:16.287975Z","last_seen":"2026-07-27T15:03:44.245713Z","times_seen":4580,"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-07-27T15:00:09.830769Z","times_seen":2613,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.49677.098688b37f7855b4c79b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0f6776037f5de9e4c3f9207486f0f7b2","sha1":"783fbc6385122ea3c305de021a71b08abbb0fe13","sha256":"dce110ca579172bc1139100317015723ce296c628363106c1f5f2f4567c0ee5b","sha512":"cd35bafd0f45ba936b47aafdca6062140e335ebd2f5af9fe5de62b033302b464c56fadcd87e9ecef463689aaece2f2c72b8da59c89c1700df22b99c4bd4721fe","ssdeep":"192:gYx48+UxlRhelpk8aH7usVSBzl97rUv1sSM5jyHw8BedM3Mj45shOAlJH2Ew+41q:7+UXRheQl5Kzl98tm5jdhj45kJHlzN","tlshash":"4a42e917d100c2f60fb0e662b749edd1b6f8b09893f1e0c673998f689207d65a92d778","size":13031,"data":"","first_seen":"2026-07-22T16:00:00.332154Z","last_seen":"2026-07-27T14:50:15.306276Z","times_seen":133,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/36938.58456da0cdb4bb9bb485.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0b3a2f0bced3b2d13e2bc4271e8f8bec","sha1":"c8882777ff1ea1c0a44cd5abb3371658234b1ba7","sha256":"cc20688cf7733b705a8082a5cd27b28bfb7c5bf465b3b37a793cbb16845e2044","sha512":"79451e25e3c330b552f61617650652ad0fec3ca6846f09ab1abb2fee164ff668ea5b4bddc93377a87b16a14cbf8b793a074e8b00f7f1bb596ddb62211aae77cd","ssdeep":"768:1NuXCwjvbjs5+DLdgy+qR2UxNnoxErOw2f+gCrpZAKA6DQKG4JJZXKTmpcu9Chqj:aXPjvbQ+tI6XXoOow+H0","tlshash":"25f22c92b09170bc96f746ee943f0552f33a1a64b9854868f0bc8cec2d64d49e272f7d","size":34428,"data":"","first_seen":"2026-07-23T14:00:31.698766Z","last_seen":"2026-07-27T14:50:15.297115Z","times_seen":183,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/59649.92df5c6660570716c83b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"57159064a167c575b3f42cfe243c8b4a","sha1":"2fd63df6a6219555e07b7f46761a70335b041f7f","sha256":"9507b55a5faa7e958e1e3e4aee4b5f32e94cdbf494c098c8b09ec3d032f0d99f","sha512":"415cd8a87e36d006cfb494a437457d8cb15372dae8dba44d8672272bde5159c57db31fa519cbb62c5b5ae1fc709ed3d65e6fa3fcee70b0920f0b34a22e191089","ssdeep":"384:1n+y6T2SHX//Hz6v6eeR3otnEGIMLwqIhqK6EyHv+FxjLcyJao:9+y66SHX3WyeeR3I7Lw5hqK6pHv+FxjP","tlshash":"405286527293b8f6e1b581e358740503e66d1dcaa881958cf7bc0ccea74de48b274f7a","size":13775,"data":"","first_seen":"2026-07-22T16:00:00.524854Z","last_seen":"2026-07-27T14:50:15.31145Z","times_seen":83,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/39609.8ce0d793b2b60be7a4d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1af372c8d2679eb4b4723ab88e601eef","sha1":"bdd83e7842c5a9012e55084e71cd31fdcd5f72d6","sha256":"7cd30257c9448f2910216296d47b421cb724c4657dd6b6da06196e9b6323451c","sha512":"2cbc64c079104c42314e0475923e68a449456822936c0c290ef608f65e01b8e76a18727eadf52df0f2fc73b20c0b817c4287d1b42ac30ce2cf06eaf5cb25079d","ssdeep":"384:533u26UHCVnsa67bSIVIZjgeWDGu2JL2qlSUOTeEX:peEwnsa67uIVEjHWDGj2QSUAeG","tlshash":"c572c6a5b1a9203a11e78667d1791743f231694db003479cb17e3cee1eae8893369f7c","size":16260,"data":"","first_seen":"2026-07-22T17:32:48.037533Z","last_seen":"2026-07-27T14:50:15.425845Z","times_seen":64,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/57093.26600c93b6171d99b700.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"4a5c4beebe509ac3027b79744b905303","sha1":"7eea8e87ac7a5ed1631873659a90a89e9a2cf256","sha256":"212519cc555451f5eb9173d72cf1b953de12bd91b643471be5673492e5fd4df0","sha512":"0c8c00ea4bf02423fb14f74c67dae3bb80ee82ec07ec85b67af6c9a158458956589e013607b8a608b44a881e754cd710e6ebfaf8a8037aab14d3877b9ba6d90f","ssdeep":"768:3KHYGd+QIbZ15yDJjyD272qzGJOeK6+ZJT:64fDbLoRT","tlshash":"5bc2fa867011b1ad92e789d681bf055de33f396c384d4d70f2b8d8cc69a7958e326e0e","size":27782,"data":"","first_seen":"2026-07-23T14:00:31.452652Z","last_seen":"2026-07-27T12:48:39.628805Z","times_seen":57,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/1331.54fd2a5952c88f3555c1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0501ef2557ab73aa0e242f1410552693","sha1":"e569c953f6e6c95a9d3cbba1ae1b93120b4e136d","sha256":"c76b72cbdcf6fee1dc0fd1903df2e2e2c90f846b942f16951116443d4f041177","sha512":"27a42e4490c90aff8af7a9c0804160d4efd88924878164391ac4442baa4c5faebd5f55f7f730976feb526d62386ba9a31ac50a3b568cac3216b0f60ecfee827b","ssdeep":"3072:COeUpW3gc3TJqv4ub7HlfzVV3Mze+wyQlmcnbmfH48J24NnUxsLIymKS:COeUpB42HlfzwAyEPbUH48Y4uxsLIyw","tlshash":"52045a61b440b67e92f304db94be1489e73d2b49e4044474f26dcc9e2ae9c88f17af79","size":185009,"data":"","first_seen":"2026-07-24T15:28:44.734426Z","last_seen":"2026-07-27T12:48:39.745493Z","times_seen":54,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/main-B-VHc1K4.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.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":"44df6240c839beea4111582dddf02793","sha1":"4b4dd2241d5ff95eba46fb8893058404630825cd","sha256":"a4019ee0c737ef5d214e80e5a87a5a6e839ff2cf4e286cdad9ed6ff397eba250","sha512":"2f30c45b38eeb4a1900f295893fa30362dce2af015cb8eac6b997795ff4b72db55a92d8d38bb7a8cc8f529c612906aa9d2a2a41539c6a67052ae569733ff7e02","ssdeep":"384:Xrgi5RFMkSjJOE/0BW2rvZZ795P6nrnBOVmPCRkXQbpaIF2x:XEizlSjJOEiWYPR5P6rnBOVmycQbpaIi","tlshash":"6c72d7742700783f712f489e15ade546b232c29dd693892d8b2fec0976c5cc0a8b37b9","size":16281,"data":"","first_seen":"2026-07-27T07:28:16.135673Z","last_seen":"2026-07-27T15:05:49.437916Z","times_seen":911,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"9ffeb32e2d9efbf8f70caabded242267","sha1":"3ad0c10e501ac2a9bfa18f9cd7e700219b378738","sha256":"5274f11e6fb32ae0cf2dfb9f8043272865c397a7c4223b4cfa7d50ea52fbde89","sha512":"8d6be545508a1c38278b8ad780c3758ae48a25e4e12eee443375aa56031d9b356f8c90f22d4f251140fa3f65603af40523165e33cae2e2d62fc78ec106e3d731","ssdeep":"192:5rprDN+sag6ifKIUpQI99P1tLm9kdgyq1+J3aCJQ+h4MPLORq:5rprxaefKI0LP19m4q1WW+h4Mjp","tlshash":"9952c8adb56679724eb721b8f03bd24f71b205de560d8940d19cc4f6282dc6e812bf78","size":13577,"data":"","first_seen":"2023-05-09T19:21:05Z","last_seen":"2026-07-27T15:02:44.687255Z","times_seen":910364,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/34678.4a992aa150d8eda5f29c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"64083c0234bda2342afde952ad595ff1","sha1":"9de336bb851649fef34561583d096a3859314ba7","sha256":"c466ce31a3b07b166d26cf6a472c415df8a148dce9df6e232151349a72e1d8fc","sha512":"a269c9660021311bb08ba6849fe621cd4162f40400e6946e2623373ecbc7e741a5ef06b7b05041d0f49c0350603fbe5e6fa62ea47a82a5fcaef9a6270014c765","ssdeep":"192:AJfFriQ107DuXc1MatsfICpyxjb9yQaAKM2pRZPu+uFRMVIMLC:AJfFrF46cTmxygQaM2pRZP6FuqMLC","tlshash":"5622b68832f1f0e643e368e440ab0406f139690a544eb5a4e396e2d36d75fc5c1bbfe6","size":10099,"data":"","first_seen":"2026-07-23T13:54:09.149892Z","last_seen":"2026-07-27T14:50:15.456729Z","times_seen":295,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/44911.fa61d2a274d4224434ca.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"05e4055151a861bff8e38a76d25fa21b","sha1":"9f8bab99df4104fde7e4ce7e47379db991ae53a9","sha256":"1b602280ac3b82058c7577fff06841ffe0b4fb035b22d4aa046119a37ba46376","sha512":"003001c6510b718a9e57af8daa9fcf322e0f91dc14aa8c1397abe4328d8dcc7c27ac342595f1acc141b47b471420a8e8bd64536cbc0cc762c0bb7aedbed00596","ssdeep":"384:KlWkb+CeVhEy3dhGQZ5mvjqnGilhLgvmRA7R6VTc6w6DwuRGijR0WwnhbR8L+lct:KlWkNUNhGbjqGilhsvme16VTc6w6Dwuv","tlshash":"faa2618877c2f09a02d665da943b040bf33d1c9d25187464b391d8d96ebe56eb23bf38","size":21512,"data":"","first_seen":"2026-07-23T13:54:09.044064Z","last_seen":"2026-07-27T14:50:15.385783Z","times_seen":294,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/embed_advanced_chart.6d07e4fd8e3f2785cf25.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"ff08c213214941a305e07e2e0aecf577","sha1":"cdefa4d26a111dfe184184912992dfdcfb77f002","sha256":"484233793afe63cd2f9df537c6819b1489f21625d4d0ee9ed41ad56b71117b59","sha512":"c787b5e2bdf2f3a3eb2d122f888029d3317c0a1366c56e6cd295c5e8cbb2a4ca7cb624ef86de5ce26f6f5ca73b2ec98c925506b5e39cd6c8e42424ca470e7ab1","ssdeep":"6144:eetdrmSRezirtVcbkZ0PVvoxvNvyc4441G8/BSGTees55hok0Otik21pcV:eetdrts+0PNofvB41G8/BSGieKhCOtiQ","tlshash":"68645d91b2957ca663e740e6947a0103a72918c67802536cf7bc8dce270dd8d7276fbe","size":307359,"data":"","first_seen":"2026-07-24T11:36:47.992194Z","last_seen":"2026-07-27T14:50:15.271675Z","times_seen":190,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.58667.d15fc4b5c631bb5ece8d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"c37495f6ca72950f28ad5a6a79a0bab4","sha1":"b23429fd2dea7f2557a8a68545083949759c3ad4","sha256":"b4511e0c850bde295127e6af14148f016b9aea35ea705cdf3106a5a1edbd93b8","sha512":"ddee6e0c9cd60676d9195e2fb635982af76e72cf188acf0f42ba7ac648dbd5acc579a186a2c51fb5ac9d5e758c5289ab285ea4e80694b19f70a1715a5707b77c","ssdeep":"384:L+x0EMPsBRgXD2PTmdN2/5dQ1tHSJm/BtU:L7E2NJuJmI","tlshash":"2cc2c007cd96b099f3f6e24e0eb4d50c2cb453495270d702be868e289ae5ee69d2f315","size":27626,"data":"","first_seen":"2026-05-05T10:36:04.872376Z","last_seen":"2026-07-27T15:03:44.253556Z","times_seen":4192,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/59465.8e9c06b76c9d50bc242b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"5403fe454468d6f2c1e00620999f84e2","sha1":"44ca84eca9d191e429fa0494fea91df1178952c2","sha256":"5eef084cbffa2f09fa8bade6dc4fa1b128d9fff17b34ac96db26ffa98e512ee2","sha512":"f19deb366e02d700af9130cae13f4430c1bb342048b478f1e93635374c68bc7cb9b251bb3635385d8925ea5caa2b266d8cbbc1884de5efb3d620725a28177fd8","ssdeep":"49152:fzalHraWqtuj0CpRYjjpQ7EGAzOJV43rXOBBNrYqvlpRrslAf9qWka3vxS3+2lBv:mDQ","tlshash":"7b955ca2b2a134ab57e601e558b50403e35918867c07856cf67c9cef28adc4d32bef7d","size":1931549,"data":"","first_seen":"2026-07-24T11:36:48.310417Z","last_seen":"2026-07-27T14:50:15.55098Z","times_seen":186,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99309.ca4ac19b8ab37679f251.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"07536e5ca803829ab657e62c61210dbc","sha1":"0d11d8bbefaca8f90cf1e077c6fa59dd3d64373b","sha256":"378146c5d601a41f6b19209c59c2a432275153ee70df8a706ba1ef83af1e43a5","sha512":"c85137ba985b9fc6ebe8e1027753279bacf049530b0ab2ea0eef73d83967d84a9ca4fdb32907e453f60678d15cea4dc76ef348e7aeb9b2609b88441ad1e984ae","ssdeep":"768:hsXBcQmT4krvwY0u+/z8SSV3WMODEDQKtGn72TCqXWmXMxpp0rf7eilfefe8LMsX:hsX1a0d/zESPqheft","tlshash":"2de21ad1309174d923ff4edba0ab0558e33a1764b85a8c60b0b8eddc25d3818b276dbd","size":32550,"data":"","first_seen":"2026-07-23T14:00:31.509299Z","last_seen":"2026-07-27T12:48:39.823238Z","times_seen":105,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/18512.a3bcdc71c68601b7dbfc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"038623c38228a4865caf89b1ceed9af4","sha1":"fd2acb21c02b96c3c9c1f1081dab960c7031d783","sha256":"b8d3050d5622dc00f843f06bba75b96d7e07f17b7a71a3e5b77c9d30e3c91720","sha512":"dccd582f4658fc2f09410a5304dd63fe7d4e6420b4a961d737904968f4ca733ac1a0ece06f7a4e90ebf80305f0edcfd2a5fb95ea52ea369659b342075df8d55b","ssdeep":"384:he30HE+F6f00MWmgOsLEWioQLsiJrTNk20ptZTEjifF:hJEU6f00yzsYWxQLsiJrTT0ptPF","tlshash":"6282a5cdf5c0b0a75a93b8b040bf128bb23a6940bc5d9130d116f9d57d7a81ea163fad","size":18445,"data":"","first_seen":"2026-07-23T14:00:31.677621Z","last_seen":"2026-07-27T12:48:39.717188Z","times_seen":57,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/contact-form-7-js-before","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"045bd83aa0588f7bf8911601759dccfc","sha1":"a406d8093e6f2e0ec0114eca16f77b97a8def60f","sha256":"b970338d62b12fb4f7faf8e1aa2f7f7c9eec7b0b47622acd40ea24bd7c785766","sha512":"5aed3c52daff71748322a02c7925ed58f69e8491f056530f0eb7d5b294e4c941073aaab9d5c0d13e33b26879ad96ff79756e5ef45f8061b52ff58cfa567038a3","ssdeep":"","tlshash":"e0211296d5a81c4a54e5c174017c5225b1149517cb2b5e55b24e004c1fb80b9a5145ca","size":1336,"data":"","first_seen":"2026-07-27T06:14:34.338703Z","last_seen":"2026-07-27T12:12:28.990125Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=3.26.5","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"46e6c32a0e6c45048cfc279534d10cd1","sha1":"3d5c0c5e517061e11e0b470bd064042edec3ae70","sha256":"28a0a2404167b4bc9644a7f1cb67f8ff4eea0c015348af498bc984f059899e15","sha512":"4019058a3c019f5c4118a50c658b3c1750404155d962ab89d5ef0560da26d63fade3691a2451f1a19118f9342a008c6ad4239ae9f6bc646b6ca53b52b9808b39","ssdeep":"1536:ReAjA679C+QC/YNQAzeLHeBHmjkFzRNU4cR8+3xp6VED1W8eFZQQ5RSSv0tQukVO:HAiUtBCW68vy","tlshash":"3e33da563212f4f74bdf40d7602b510af22319e4740ab499bab8dcf2a470d9a237bb75","size":52754,"data":"","first_seen":"2025-01-16T00:22:47.979685Z","last_seen":"2026-07-27T12:12:28.810587Z","times_seen":575,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.95114.3b57335a3d1cb4c80bdd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b387ba60284a5ea232d8b146d9a92222","sha1":"b0e7409a69216356392ad22b0802cfb4f3264701","sha256":"ede33045a90b91e44e7924729039086ba1b6c0c80af85a0270d6bfbd73b16016","sha512":"edb4fe9a9cef5244ac53909f955bd5b705ae3d7c47b9b1f9a4324774d86b8c6bd769cc14e2ed495e65651937070330be7df4571f581c873e655b1782f152180d","ssdeep":"","tlshash":"b731f01bf01032e9aff2a232725aec70bc1474d810f3c5c95ab7b716da17e6c4976688","size":1786,"data":"","first_seen":"2026-07-23T13:54:09.147041Z","last_seen":"2026-07-27T14:50:15.298796Z","times_seen":291,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/studies.c50f28eb9a346e093252.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"7987bd9ad9ebf8cf88bfd546acda45a6","sha1":"9d7cd0f9c2870976e2d42691fcec9c54b559febe","sha256":"561baf84600f8c7de1b64b308c0ab5c5c64b4147787b87dc06b944c48ba625b6","sha512":"9b8f36f0dd7580b4de39537ae4436f51bc2c3209e74e6b6accddf56c1ae01b8f54a9b9c64310fd18ac27cc77a3823c6b038078c45fa7e8ecff7650e3008a8a9f","ssdeep":"3072:w9dsU/XupjW4Pz+u8HuG3x3TrbZ0jv8L2EChXqVIywmlgkOJGJcdbo5CgZPz4OyG:44PToPYEJYTgZPz4OyoczgJyylAt/W","tlshash":"19042a6172e178ea93eb10d949790543db1d2c86780984acf2bc4cee265dd4c723afbc","size":187317,"data":"","first_seen":"2026-07-24T11:36:47.85007Z","last_seen":"2026-07-27T14:50:15.392514Z","times_seen":74,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js?ver=3.26.5","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"a51d59824fe5f2f3d24f57b78e6fbf28","sha1":"31c01888ecacfd57fd8e3549ec22ffe9be79295c","sha256":"b8a669ed63dd41d81d8f340f4eb89574a4c363c18f4cdeb954c8f04115040bff","sha512":"672b72f07ce51e6ef3415141d29bddb2d0960b96f22ea4a417d73ca000ae0988921813c7b1f1ff3477a8202e3c9a230682f1709090728abe3dfd0c828b4fced8","ssdeep":"96:BrsNt0jqf9fzDdKQ/EhBoLClCjNVobVDPkqKokxwvT8S2:JsNCjw9f/dKQ8roL7N4FPkvCgS2","tlshash":"31b140941b90fd2b31e135d4e51ba731662fc1337c1bb881fa22dce958e8ad183b9971","size":5326,"data":"","first_seen":"2025-01-16T00:22:47.903932Z","last_seen":"2026-07-27T12:12:28.762915Z","times_seen":575,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-includes/js/wp-emoji-loader.min.js","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"5414812709a67cee8b78f88b77e86705","sha1":"52c7a0b8dede7254fae9ec966f36db4ec7c8872c","sha256":"dce64b43e48321a2d3e285c59db1b3c19664bcbd8869d83791b74ec55f3137b5","sha512":"97217571aabe59d4023e1a63fab9af8b15d8ba9eb2fa56e9d464160b7deed1b6408c921ad4283e977476e46f77ce87b80abc595996f3ee34278d5a827716d992","ssdeep":"96:svcHtHRA5NTDXnM2E0+1lfYsPHgRhR3Syc:JN0LE0+1lfYsvSI","tlshash":"1581969ae77638dbb2f900f2697a0d47eb614435d6c8d038c9bea3141cb5893c274a46","size":4143,"data":"","first_seen":"2026-07-27T06:14:34.340783Z","last_seen":"2026-07-27T12:12:28.991026Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.16193.ba075f895c6ed057c11c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"5ffc24a684cc802b7c100f2bd550db9f","sha1":"b566199860bd35dadee744f2ca93987c9fd7d81d","sha256":"c54bf8e5790bf29f7fdee0e7434ac170011edad6053be09f6b60d44ad7568e06","sha512":"f810b69576133f10a55ec59fee0e46a450731cbf26f01155ab1f66b2ed4b100bbef9e4d74b9d95d2032a5c84713b3dfc85f01c946ce927039e4c4c5645b70994","ssdeep":"","tlshash":"c5e0c203e160f8a17e7ade043b508de630f4b08114f2d0ceb3282f51c017c352810b6c","size":340,"data":"","first_seen":"2026-05-05T12:17:23.646279Z","last_seen":"2026-07-27T12:48:39.662941Z","times_seen":360,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"826eb77e86b02ab7724fe3d0141ff87c","sha1":"79cd3587d565afe290076a8d36c31c305a573d18","sha256":"cb6f2d32c49d1c2b25e9ffc9aaafa3f83075346c01bcd4ae6eb187392a4292cf","sha512":"fc79fdb76763025dc39fac045a215ff155ef2f492a0e9640079d6f089fa6218af2b3ab7c6eaf636827dee9294e6939a95ab24554e870c976679c25567ad6374c","ssdeep":"1536:0RUX9uDgwxcy2KVBNwchN6SLaHEk2BSrBESp+a/IEk4aAocVi8SMBQ47GKO:sHNwcv9VBQpLl88SMBQ47GKO","tlshash":"7483f8df77ca702247ab30b9006f550bf276199d684d4400f159d8e9bcb8a4a827bf7e","size":87553,"data":"","first_seen":"2023-11-03T09:26:43Z","last_seen":"2026-07-27T15:02:44.698527Z","times_seen":992868,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.0.3","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"2912c657d0592cc532dff73d0d2ce7bb","sha1":"70a679e2769825236f83bcc56965a9d0bd86c4e9","sha256":"ddcce687729cb358abf9d0d8e1217a097859be2b0d18c23d7c851b38c87bc9c0","sha512":"9646384e65d09bf00cb20365f43e06dd41e7428e3fc6cc2737f4e69b50f006ebb25bd24a566fcd9faec2f0dcb24404e25d57ba7b8c6aba61797a29c515ad5144","ssdeep":"384:IsIRHeFJ1yQ7QdfnJgeYh7MXlsNqrBp1pgQpwOjNtqohIQ/5Z:IsIR+L1yQ7QdpYh7M1iqrBp1pgQpwOjn","tlshash":"0a52d7a1472955321eb506e391e513c1769075aef44b8aa1a898dc2e18bdcc328f3ff7","size":13452,"data":"","first_seen":"2024-11-04T17:50:00.022634Z","last_seen":"2026-07-27T15:02:18.28342Z","times_seen":228366,"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-27T15:03:44.229709Z","times_seen":1673,"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-27T15:03:44.234813Z","times_seen":1794,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12181.b65a58355ff7cc34950f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"90cd4a18a60bc908d0840ba4fec27dc6","sha1":"bb5de7eba54b0d9323f872960612df642a27716e","sha256":"ae043b44480c283e0e50b84e353fe3e98e560fb8f9bd14638f61a5dfadc231ba","sha512":"1ff83bc8bcac42839140d927da7b753dc51b3ab887327bf07fef3ca3b194425621ed7376ef404517f818a80b9f3d96955fd5c9239c1dc05e599503f7118edc99","ssdeep":"1536:U4ecrc2hMNlbPWqfxN+fUE44ld4e44IJmuJY7+fHfvWr05KNyhLcSbWd4+o:4CxdswjaWyn","tlshash":"10d345b217f406f473b80d5293f77e591b3c74a359882c52d2a4d9a0dd40fc2a96ba3e","size":138370,"data":"","first_seen":"2026-07-01T19:46:28.364877Z","last_seen":"2026-07-27T14:53:25.823101Z","times_seen":1159,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-includes/js/dist/i18n.min.js?ver=781d11515ad3d91786ec","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"12ebec1b36678eb1da4412af6c65751a","sha1":"4cb5d87353d9a06fde067063787a4beed692ba77","sha256":"558ae0ec83cc88de0929fde86b87c231246aafa9c961ebffb3257b05f62ca5cf","sha512":"a1bbd93277a59086bf27da7dcc60434b717ac521bce0618aef7c914789497a22cf56441a7f300f1bb7a6de56ca624226883d048f6eadbcc049dc717338189bb6","ssdeep":"96:IE7/RPgrMs4WLJOmlWS33c0xyE2B1596NiH826V0NG7CXMGOyd/sEomkKvYCGaMe:3hgws4WTBYNB1C9aNwAMPyd0R3SGaMSL","tlshash":"fdc1a7c975daf056235910a594afb005e134be2870debc00aae0c4957eb44cdb2b7fba","size":5732,"data":"","first_seen":"2026-07-02T22:01:42.315643Z","last_seen":"2026-07-27T14:59:39.938294Z","times_seen":10640,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/23743.4733137af2f232a6a34a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0662db7d4ac07059ef6d238a7fa48e27","sha1":"736ed22fb893e48eb48b0150ec68ee0e3c69c7b2","sha256":"af1154bdae13a0f96f45923150360a2e20a73f83a62d0d671a137604a1ffe7bd","sha512":"d0f916877c8757288f5d0a63c009b2a6c596c888960ca29b3ca6ac71f629591e473f08f48b89b10d13d074a78ffe51c1cee690861938863df5a0265605fd6df2","ssdeep":"384:9Xwl5lUwL/+MbKlpYZketvNCY7hbyc7KukFhX3ma3anayRwsix6udtd4MkiAN:9Xwl57/bYCPzCY7IgNWaayRD06u3SWAN","tlshash":"739208723591307133efebeb5096041cf330b418a94b88e4b1e9689d35e26b461b6fde","size":20578,"data":"","first_seen":"2026-07-23T14:00:31.578797Z","last_seen":"2026-07-27T14:50:15.369438Z","times_seen":222,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/45277.ec6e36193d139c5c5f7b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"e18907ad974965570fff5fe138910b3e","sha1":"42a83b0c792ca4963052a4c61df2709d9d009ff6","sha256":"ec78fef0e90dea389a0c9b780256ce3c56ad02e3dc55e8821641c312af8f6f82","sha512":"e5ec15969c1036dbd81bb3f2cc8eee0c72ca47617098bacff7c655a4f45e4ecd8c7910ba484be4a0f780329316de5b0b67c8cbe7bb41d5f259e6dd3deeb1ddba","ssdeep":"192:j/f5hxzIhzOTre4LiZa6CWwvIe1ySWu3XXfBIrbgouzQBFivV+GRe2t6RufLKPXZ:j/f5Lz6zOTrMZcW62Sd3nfBIrbVu8BF1","tlshash":"7132c5a5328240ee53e617d53835464b9314bd5b39cb9ca8b16c58cf286e88e36fd738","size":11144,"data":"","first_seen":"2026-07-17T03:30:51.165572Z","last_seen":"2026-07-27T14:50:15.470475Z","times_seen":105,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/63160.2a3a21185fbcc7079dae.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"cfb4ec7bf74cebe56275390e404eea0f","sha1":"4252ecbde693198d544ad5f483339e8527626b7d","sha256":"6c3a092a58a55249537be71395c07358a4ff94120d96468eb32669c2405dbe89","sha512":"502ad261df8d3d31d8decf44c403084f175783156886850f601a8404bfedddb9baeedf09aae6727cc4d18f8b3d1d59e554cc357a494b93754a34a68a9f7eafda","ssdeep":"768:OdGn8wXtPTrG8Pz8ZQXllEu7x1zR2tDZTrQGikOjULp/BS53dCo15V1:OrtI","tlshash":"3cc2945631977136aba2c64644350703e33635683a4b699cf73cface6b1ec42913ea3d","size":27733,"data":"","first_seen":"2026-07-23T13:54:09.047216Z","last_seen":"2026-07-27T14:50:15.322091Z","times_seen":354,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42212.4754c2804ab9a979776b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"e76e3cc979825bc25c1aa111b75bd78b","sha1":"6113f71858e18e692dc20143a9c20e222a5cc559","sha256":"bddee1e8d256f7e1fad4922a61955b4edaf993c3c78d20ce8c5ebd04ad4a3c21","sha512":"0d629425dab529dffde41a65bf8dacd4d7bd38f868a631db502b2eac3cf58f53c08d489b94580f84b89263cda52fe48cb17f0d61d27f55132f6ee350a2b8d719","ssdeep":"768:XuCACOy5bi5yIx6nSiRUhAmhY1pQZ7U49dSH7Y9syV2zNRbMMUzGTvFr9t7bRkzm:vLbRIAS/AmY1pQakdSb0saNzkbPlgQHL","tlshash":"74f219e071d5b05163d740eb843f4402f1692e2578064961fa6d9cdebe6c889723bfbc","size":36705,"data":"","first_seen":"2026-07-23T14:00:31.440048Z","last_seen":"2026-07-27T14:50:15.286714Z","times_seen":115,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.21784.3a87670ef41edfdc885c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"68b75b26be0b7fe9cba6ceddf63188df","sha1":"447c852987cb0e880df0376f8a8e0e27c60cd3d3","sha256":"0b29ce96df5aa6f662415605317e6649052164faa030d408343458926bfcf91c","sha512":"aed77643d5947482c1d0f7df00997cb11568215d6b283085e572ffc9ec7a62cb10f40e21a1b6f166ac471743f8af4969cdbc41eff7c9365696e28d08f21572dd","ssdeep":"","tlshash":"c851fe27d181c5e92f31da01b389ecc1baf0b54514f7e0cb778aaf2ac15bc512928b75","size":3144,"data":"","first_seen":"2026-07-03T16:22:04.594265Z","last_seen":"2026-07-27T14:50:15.26768Z","times_seen":181,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/48652.9487148ca973a8ce4caa.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"84e3cbc8f2cc7d16bc14251dee5f916d","sha1":"4515c758e4180ad4b3e4de054f1010b89337c5d3","sha256":"d71c6cd3abef8e38419d743ed4851ee893ff6bc105108ae88885f8524ac780a9","sha512":"166e2773f21cfcd6f793984bb2321a0513fe16cb22296e7f7a0e81915f6b387f2961404e6b1cad8c8fe209c02411ea7a4c468f0c7216b1327f2fa2ccde80acb8","ssdeep":"768:VHqwOWJaoTqN6riNXBxFRJLTiIjsxIU1azbsYttLhqpTLuvD/XV0xwk3LlEYZZBq:5qwOW0MmiMKCkLctYz3LauFKEP9mC7Oj","tlshash":"af13d68035a1b02887e6409ad07e4546f7792bd1b48a5579f0fcc8ce3e5898df136bbe","size":45019,"data":"","first_seen":"2026-07-23T14:00:31.480629Z","last_seen":"2026-07-27T12:48:39.650739Z","times_seen":57,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/elementor/assets/lib/swiper/v8/swiper.min.js?ver=8.4.5","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"83e9b29f0086bba50d653f1cb8dedc3c","sha1":"f8f89387c9aca9d524bb638eae457d4659efca52","sha256":"2ac3af00c283c0b2ae6108fa83a2053e51274a2a812fb063916cbe19bc4f96b5","sha512":"c8018876ee96b4600ae32342ec6d21b452ad4109d605fb838f146b734de274ef5e37179567a2c67ec828dc1b673364637fc82e7dfe8f7adbb18e20555577160c","ssdeep":"3072:pJLCyDdkEUYnafpoy9v8cIWyUaV4y+oGeJM91EfrNK/Yvr:pJLC4dkEUYnafpl9v8cIWybV4y+oGMMG","tlshash":"fce3f8896360b1a552e3268b93a9c651e3b51400b409c4e871bd0c9b6d7ed9813ffffe","size":143709,"data":"","first_seen":"2023-03-14T09:12:04Z","last_seen":"2026-07-27T14:15:26.059849Z","times_seen":102479,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/themes/ashley/assets/js/imagesloaded.pkgd.js?ver=1.0.0","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"f7b595d0850a1c991c010885dd9ee42c","sha1":"c3853d1f1a63c4d194850d4db4af142dc131f0ea","sha256":"66d8c187ede5a9b7c9e547da843dba13d467b38c3853236a3293d567e2d34ff8","sha512":"ab70452700caea9050b32c7363da0fc5bff4b54f8231fe650f6719a9f7b6be3a2e8f4993607bf133db8a93a355887aefa26abedd9608af094dd5120917f6972d","ssdeep":"192:bwcBsTK0iqAuLSwBgksksO48IWRRrk+pz51VzDDMFg894AR7Ky7GmFC8kSspFRan:blBsTKf4gB/W3BDy1BGmsBG2m0NYPL","tlshash":"74421e496ff62127502bf1fb7f0f3209f568c01a1109d689b94e99e05fa096444beff9","size":12786,"data":"","first_seen":"2023-03-07T12:01:46Z","last_seen":"2026-07-27T12:12:28.82284Z","times_seen":781,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/elementor-frontend-js-before","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"7fdc8e0d8a843cd78611ebcdfca0e1b0","sha1":"e99b89c34e9d02377918d6286dcc9dc49dd1f079","sha256":"ec4edab4eb0f1130ef424e6e57defa6f9b86eb2bf3f26f5de358db7399573700","sha512":"c12ff4a2cd65086c0f999493b5381aecfcf14da6c5535b2f7f72e582607b267b36c5f8e2c12fdf96e2b05458b5f2667888e9afa1b1c7df46d6d6450bd0c13db2","ssdeep":"","tlshash":"76718421f9055a7fc3e397b03927bb13686c0526d041bda5f4fd48ad00f5a65320bd9b","size":3756,"data":"","first_seen":"2026-07-27T06:14:34.3365Z","last_seen":"2026-07-27T08:41:50.608703Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/hip3-disclaimer.4f3e3bf9c345c3f3e07a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"ca16eedb4932efab6658de430f67af2a","sha1":"fce9eb628927ab71953c562e3a65fe13ca72be21","sha256":"14234f0a1c16909a4af2c7348f8265146e98794a1c52017555b2d96561ba5459","sha512":"40ed5707b4aab15ea10be9fe2d32430f9597821ea08af6d9bdfbaa33010702af2e601fdfc65223136d87284c27acb6ee7fdb3f1897206295648d507f3a43b779","ssdeep":"","tlshash":"bb31125030b2245c20ac9bea967b6637860091547645e33cb3ee3cec479de1cbeb167b","size":1538,"data":"","first_seen":"2026-06-30T14:35:40.516552Z","last_seen":"2026-07-27T14:50:15.374177Z","times_seen":320,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.89618.e8db19d81376d486e288.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"846e435a133db84eb03e3413f477fb59","sha1":"4a30726e0dd97d7970d29e186394d5084ce62280","sha256":"dbfb0a54a4ac5aa54a0627d7183320ac1e11932f45a1b9b0fd3eb045d961c53f","sha512":"81cd04d2cc3522d75b2ac97f95540e5709fcf6db3becfaa513ba65a28ad252ed5e7242ef81861ea33e752ade52444aaaee1028e949b893e4207a076e31064b0c","ssdeep":"","tlshash":"bee0861fd071e9bc3f36864436619cd2b4a435d601f0c2c773c4ed40e0229ec1c4465c","size":351,"data":"","first_seen":"2026-05-05T12:17:23.674052Z","last_seen":"2026-07-27T14:50:15.517987Z","times_seen":473,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-includes/js/dist/hooks.min.js?ver=7496969728ca0f95732d","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"55c5129ccd0fa8f383d9de82a91c5877","sha1":"596918015fa62e4f18533b69b0e6822ebee3cb2d","sha256":"cce388fed1a82ebd20ce7d9601e4b6c83a425ea201c333d71b1183ee887cc090","sha512":"956ab39b4bc0577f0ac50a842bc7f71ac1d5b6f7148f9ba9bdb2a84001b96362f077d417144dce171464de8aac71ffd6e639e35ca12da4de2d12fddd660e64a3","ssdeep":"96:lu/16WIHBLusBcADGDd/R5h2RTLlD3jMXY2yGy94E34sTY2Cif:lGIhNBcAD0NRv8XlD3wXY2yH+EoaY2f","tlshash":"5ca151c43542b930e2b77027f0ab58d46175abe1a82d8446d59cd8f12da39cee0e7b3d","size":5050,"data":"","first_seen":"2026-07-02T22:01:42.321596Z","last_seen":"2026-07-27T14:59:39.953143Z","times_seen":10878,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-includes/js/wp-emoji-release.min.js?ver=7.0.2","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"7dcb0bb1f67bc5cd9aa86bc0577108e3","sha1":"c90b1ed149a278c322a63f3a79443ccce5592382","sha256":"063840b4b3f5869e0f0d078bab8bd29cfb3a59ee85e8e3edbbec35a8fe846fd3","sha512":"d09c60fc702e1d3fb839685770b2626a64cbc6373ac4bf3a63c3536caef34f4f6caf76adfbd5c2d15bed6e1396ed4f3ca80f6673e3421b2ae2f9e7aa5ccf16f2","ssdeep":"384:WzevzApRZTbbUL3px/bEg1XgA5OOkpJTX:Wsk9bUL3px/YqXgAP+hX","tlshash":"79a2949ba33a4e8f343e3bd78d968f4dc9da555321c0e079dbefb6c169a00568274c90","size":22752,"data":"","first_seen":"2026-06-05T05:27:24.795617Z","last_seen":"2026-07-27T15:02:44.691723Z","times_seen":18745,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99827.d3976dc0c5cfa2c2140e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0af33a0629a4a15d05b8d21be003c0eb","sha1":"d61ed97048a72976c85785513a62b5e8590fb75a","sha256":"4dbdbd0c38d1d6468cbd0ec6b02411faaeffeddfc87c7b638be2e1263931cd14","sha512":"4350a5eab085a85477d149b1a91edb41a808bb070818e9d43e5e1147e4c71a0a5c3438616ab61efb6497365cb84e1f518343afd20431bb8612ba9f7a2165f814","ssdeep":"1536:wjugPsJO3KbxBvr1tBzoxvAgVIvrKfu2DNzmR5axsx5Eng/vc2JZu4+ej3aNOtHm:k0yKlvh/Z+839HMY74qBs","tlshash":"149309ddb2c5b06257e731b910af650ab237249d680d8440f139e8f6bc74b4aa13be7d","size":88966,"data":"","first_seen":"2026-05-05T10:36:04.846561Z","last_seen":"2026-07-27T14:53:25.345739Z","times_seen":2322,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.99124.7129e057c7444df25994.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"d49ebbbc471ca07bc848bb880bb26d84","sha1":"20f220b0289d31bbccf6998d62734c26918d3d03","sha256":"fc21b6b03e6cd84b3deb28a311ba60e13595285aed15bc3a42f677c2d120e278","sha512":"181c814b0478736fdd60bf6d9ac6b02c54c72831c9e577659b4e9594ff60606ffef4a36c8cc5c951778a81751afb88afb907d9ec91a872f926ffa2219ec7ae79","ssdeep":"96:vl1zur72uG7PtLkKke9KRIKWOgIQHWokY/CIXni:tZur7fGjxgRIKQBrXi","tlshash":"7bb16513e140e1e61f72eb21b349edc4b8f4b19162f2e4c673596f65c11bc646838b75","size":5444,"data":"","first_seen":"2026-07-23T14:37:54.495318Z","last_seen":"2026-07-27T12:52:15.518881Z","times_seen":107,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/39166.21343209d8750da3693a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b68d046060944bd28bdaa7f0e942ac50","sha1":"d67bd155c5a81d6207a36c06d87e373a2d1274d9","sha256":"ddee550aa6471222ab57b074664f8cbb7c653a66cda78327bc070e5ec00115bf","sha512":"3cef94486ec2c6ca58ba870ecb861078fc7582080cab43eb1197124b05e744d9e7cd1d3fd61274210e0e79f3823865041f7ed106e3157d5d9965a576c67ce742","ssdeep":"96:xAWBjuVYfVYcU4pp0hv+CN8fhLV4QJF2KBzo3s/t7ooT9e+N0Q0ZsJgqGq/uA:qWBDUI0hv+1hjF2KzSwk340t2JrGqt","tlshash":"12b1f898b3a0780c2127507f91376f29bf1d7e98241d5871f43cecae309ea969335e26","size":5566,"data":"","first_seen":"2026-07-22T16:00:00.545232Z","last_seen":"2026-07-27T12:48:39.769648Z","times_seen":107,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/95244.9da889c136d2506a3d81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b0a9dc3ad75e03716e75c6158c6665eb","sha1":"cc52478acf48fcf65d13e1af2f686a604445c191","sha256":"4c5253886cb97a3488ee3431d937a5bb8ba43a1d9e958f64a58c74058ee89d79","sha512":"40b53df94ba71d18618cbe094f77f3272fb81b6d85327e7180dc360e098dd978c5a43d011cd4d7d200c9e4960019921ca1ae6049edfcd9c72b60d66665a07806","ssdeep":"768:CY0sz5iGWN4Y9mdwv5ltpbE6n6GVfW5tXlGh2rIT1E1ab2IX73BMuLXggXUDvHLA:ZiwihpQehg5tXlGAS1E1yVzPIpsh","tlshash":"c203e775f2b2707122aa4093c8bb015387ae05fb5045112cf76dd5de2b6dc59fa3ab38","size":37849,"data":"","first_seen":"2026-07-23T13:54:09.077158Z","last_seen":"2026-07-27T14:50:15.500826Z","times_seen":294,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97472.e8195405f99055a83c6f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0813d0ea841f3538f1f27a58a88cb1e2","sha1":"5d7c725abcc841d95866532c0d0d9d124f9138d3","sha256":"82ac84224db5ccb6f92b82013e4473a579ddf4e881af126a3359ef556f33df28","sha512":"668be712980917e4cc39f91fd0fe150ce81cfe2bb4b72aaca4cc455fe6da6d382006c963a1bfa288f628a3a80ba1e1fd9dc921af4b34cc205dd127cb231eec04","ssdeep":"768:OzYrfKPQhauyuhs+66SY4n3sWvt5r96tY9hu+3fHxx+TS4YLTnW3H5uVHevzBAEb:EzsWvl8Y9hxXa","tlshash":"095379d8c5bc1d8c75b7d2c4bced7655448c3f13986286b0f8bbb819501abd829b9cb8","size":63316,"data":"","first_seen":"2026-07-23T13:54:09.171546Z","last_seen":"2026-07-27T14:50:15.352752Z","times_seen":292,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/elementor/assets/js/text-editor.2cbb801863b5118e0825.bundle.min.js","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"55cc75258e5525130081e91caa073199","sha1":"730a7b445fba0bae73fd6e54f1a13dace4a675c6","sha256":"4a1571d8c9151194f1bbeed2a3e950534aa2132a58d862a810eece2e8fd56902","sha512":"4eeb818ed4bf1e75f59c655383c518f53c2904506f79d0b2a681c6c13aa1f15eb928950bb34b51e92300fd4413b004574265a267c532d62f56afaddf9d1f50d5","ssdeep":"","tlshash":"6321f3f370a39c9e48cf148b34621d17f1574c99b8c9901ef9aa08db3472e893362638","size":1360,"data":"","first_seen":"2025-01-16T00:22:47.918993Z","last_seen":"2026-07-27T12:12:28.963169Z","times_seen":508,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/14889.6210b1c56dc3b20c8ffb.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"18f15990d846223cca396c3c761972f1","sha1":"8dede85b8e37373abbd001b14678c4421d37fe66","sha256":"6ebf58b388094ec25d3a4ce00e5bba7428699a6d2ed1cbc9d3d0173cde200293","sha512":"ed8e626b0b1517a097135fc060afb74f6b2ac796367fe82d704bc3ac76c4bc0077eaae8e0310851b25c711abf13380f522a22440b5e027de37de8fbcd5f41878","ssdeep":"384:hH0ZXXyspmgswwUCsoMJRWF3WW/N9MNuV62dv4xCFwUCBxDgQm7ibLeDglZnquTq:RkdmgswwrsJDWF3/N+NuVD14ECBxDgQg","tlshash":"75a2e9997199a12456eb50ee503f0406f33a7905b014ad36f2acccde3aec94cb139bb9","size":22613,"data":"","first_seen":"2026-07-23T14:00:31.727085Z","last_seen":"2026-07-27T14:50:15.430573Z","times_seen":115,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30699.1386dfaa78e6e5f6c87c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"4a29e78f7139204a8e4159e22b4457d8","sha1":"c9a58310328ae1ad0d2e0fcca742938bc1a98b9b","sha256":"6f44e98c09d8a5d97d1a874f53c5b793b1a574f733d209dad573911990ed412c","sha512":"6e07063f10462d08f62ed60257251c3083cbcf72fb69a4621dab4b090fe83d73e91ba23664e96011a1171b08aa2cd94984dbb7095b4d752d2da0f749f195715f","ssdeep":"384:DuiNnqiEZQep9G6Q+4DygstN2KZZL3Rj41wA1ggfJYXQWbyvItjIVnZKbVtO:DjheJQ+4DwN2YYpiXXuejQyo","tlshash":"3ec286c9b6d1f0a552a36561803f214bf13a3a65349ed090d722e5e0bcb95ae8137f3e","size":26560,"data":"","first_seen":"2026-07-23T14:00:31.735168Z","last_seen":"2026-07-27T14:50:15.497445Z","times_seen":116,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/chart-widget-gui.13468e69e04a805f97cf.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"4e35d66fb21ba281ba6dbf987ed9ad19","sha1":"73e3a494f412a84503c6bf08675879d8208fc592","sha256":"5653a56b0c05a5fd05b5142656859a2b962fa133463b10bef556248e9a874170","sha512":"b0ca5d7daa35d7d3028dceb3b720db89c3490e605c24bd22a4111fb473cc03df4111967e85c15c04ee5b3f778d6fb4827935324ad61a06e9280ae18ddff4cc7f","ssdeep":"3072:0LfPZKIwNAHqBrRysvaCGj4Re79+op3zathZRSEaigHKBRnE:kZKIIyOatj4Ip+oJza7Z3gH6E","tlshash":"f0344b677264783a61bb51ee08bb0503e71a6445b442407cf1bc9dde296dcc9b23af3e","size":233096,"data":"","first_seen":"2026-07-23T14:00:31.388594Z","last_seen":"2026-07-27T14:50:15.304048Z","times_seen":112,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":[{"level":"log","text":"JQMIGRATE: Migrate is installed, version 3.4.1","filename":"https://oxlofttrd.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1","line_number":2,"column_number":981}]},"http":[{"url":{"schema":"https","addr":"oxlofttrd.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.895Z","timestamp":1785141582895,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Fri, 09 Jun 2023 10:19:24 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 4872\r\nKeep-Alive: timeout=5, max=99\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":13577,"size_decoded":5237,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (13479)","md5":"9ffeb32e2d9efbf8f70caabded242267","sha1":"3ad0c10e501ac2a9bfa18f9cd7e700219b378738","sha256":"5274f11e6fb32ae0cf2dfb9f8043272865c397a7c4223b4cfa7d50ea52fbde89","sha512":"8d6be545508a1c38278b8ad780c3758ae48a25e4e12eee443375aa56031d9b356f8c90f22d4f251140fa3f65603af40523165e33cae2e2d62fc78ec106e3d731","ssdeep":"192:5rprDN+sag6ifKIUpQI99P1tLm9kdgyq1+J3aCJQ+h4MPLORq:5rprxaefKI0LP19m4q1WW+h4Mjp","tlshash":"9952c8adb56679724eb721b8f03bd24f71b205de560d8940d19cc4f6282dc6e812bf78","first_seen":"2023-05-09T19:21:05Z","last_seen":"2026-07-27T15:02:44.687255Z","times_seen":910364,"resource_available":true,"data":"LyohIGpRdWVyeSBNaWdyYXRlIHYzLjQuMSB8IChjKSBPcGVuSlMgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzIHwganF1ZXJ5Lm9yZy9saWNlbnNlICovCiJ1bmRlZmluZWQiPT10eXBlb2YgalF1ZXJ5Lm1pZ3JhdGVNdXRlJiYoalF1ZXJ5Lm1pZ3JhdGVNdXRlPSEwKSxmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJqcXVlcnkiXSxmdW5jdGlvbihlKXtyZXR1cm4gdChlLHdpbmRvdyl9KToib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9dChyZXF1aXJlKCJqcXVlcnkiKSx3aW5kb3cpOnQoalF1ZXJ5LHdpbmRvdyl9KGZ1bmN0aW9uKHMsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGUoZSl7cmV0dXJuIDA8PWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByPS9eKFxkKylcLihcZCspXC4oXGQrKS8sbj1yLmV4ZWMoZSl8fFtdLG89ci5leGVjKHQpfHxbXSxhPTE7YTw9MzthKyspe2lmKCtvW2FdPCtuW2FdKXJldHVybiAxO2lmKCtuW2FdPCtvW2FdKXJldHVybi0xfXJldHVybiAwfShzLmZuLmpxdWVyeSxlKX1zLm1pZ3JhdGVWZXJzaW9uPSIzLjQuMSI7dmFyIHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtzLm1pZ3JhdGVEaXNhYmxlUGF0Y2hlcz1mdW5jdGlvbigpe2Zvcih2YXIgZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFthcmd1bWVudHNbZV1dPSEwfSxzLm1pZ3JhdGVFbmFibGVQYXRjaGVzPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKylkZWxldGUgdFthcmd1bWVudHNbZV1dfSxzLm1pZ3JhdGVJc1BhdGNoRW5hYmxlZD1mdW5jdGlvbihlKXtyZXR1cm4hdFtlXX0sbi5jb25zb2xlJiZuLmNvbnNvbGUubG9nJiYocyYmZSgiMy4wLjAiKSYmIWUoIjUuMC4wIil8fG4uY29uc29sZS5sb2coIkpRTUlHUkFURTogalF1ZXJ5IDMueC00LnggUkVRVUlSRUQiKSxzLm1pZ3JhdGVXYXJuaW5ncyYmbi5jb25zb2xlLmxvZygiSlFNSUdSQVRFOiBNaWdyYXRlIHBsdWdpbiBsb2FkZWQgbXVsdGlwbGUgdGltZXMiKSxuLmNvbnNvbGUubG9nKCJKUU1JR1JBVEU6IE1pZ3JhdGUgaXMgaW5zdGFsbGVkIisocy5taWdyYXRlTXV0ZT8iIjoiIHdpdGggbG9nZ2luZyBhY3RpdmUiKSsiLCB2ZXJzaW9uICIrcy5taWdyYXRlVmVyc2lvbikpO3ZhciBvPXt9O2Z1bmN0aW9uIHUoZSx0KXt2YXIgcj1uLmNvbnNvbGU7IXMubWlncmF0ZUlzUGF0Y2hFbmFibGVkKGUpfHxzLm1pZ3JhdGVEZWR1cGxpY2F0ZVdhcm5pbmdzJiZvW3RdfHwob1t0XT0hMCxzLm1pZ3JhdGVXYXJuaW5ncy5wdXNoKHQrIiBbIitlKyJdIiksciYmci53YXJuJiYhcy5taWdyYXRlTXV0ZSYmKHIud2FybigiSlFNSUdSQVRFOiAiK3QpLHMubWlncmF0ZVRyYWNlJiZyLnRyYWNlJiZyLnRyYWNlKCkpKX1mdW5jdGlvbiByKGUsdCxyLG4sbyl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHUobixvKSxyfSxzZXQ6ZnVuY3Rpb24oZSl7dShuLG8pLHI9ZX19KX1mdW5jdGlvbiBhKGUsdCxyLG4sbyl7dmFyIGE9ZVt0XTtlW3RdPWZ1bmN0aW9uKCl7cmV0dXJuIG8mJnUobixvKSwocy5taWdyYXRlSXNQYXRjaEVuYWJsZWQobik/cjphfHxzLm5vb3ApLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19ZnVuY3Rpb24gYyhlLHQscixuLG8pe2lmKCFvKXRocm93IG5ldyBFcnJvcigiTm8gd2FybmluZyBtZXNzYWdlIHByb3ZpZGVkIik7cmV0dXJuIGEoZSx0LHIsbixvKSwwfWZ1bmN0aW9uIGkoZSx0LHIsbil7cmV0dXJuIGEoZSx0LHIsbiksMH1zLm1pZ3JhdGVEZWR1cGxpY2F0ZVdhcm5pbmdzPSEwLHMubWlncmF0ZVdhcm5pbmdzPVtdLHZvaWQgMD09PXMubWlncmF0ZVRyYWNlJiYocy5taWdyYXRlVHJhY2U9ITApLHMubWlncmF0ZVJlc2V0PWZ1bmN0aW9uKCl7bz17fSxzLm1pZ3JhdGVXYXJuaW5ncy5sZW5ndGg9MH0sIkJhY2tDb21wYXQiPT09bi5kb2N1bWVudC5jb21wYXRNb2RlJiZ1KCJxdWlya3MiLCJqUXVlcnkgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBRdWlya3MgTW9kZSIpO3ZhciBkLGwscCxmPXt9LG09cy5mbi5pbml0LHk9cy5maW5kLGg9L1xbKFxzKlstXHddK1xzKikoW358XiQqXT89KVxzKihbLVx3I10qPyNbLVx3I10qKVxzKlxdLyxnPS9cWyhccypbLVx3XStccyopKFt+fF4kKl0/PSlccyooWy1cdyNdKj8jWy1cdyNdKilccypcXS9nLHY9L15bXHNcdUZFRkZceEEwXSt8KFteXHNcdUZFRkZceEEwXSlbXHNcdUZFRkZceEEwXSskL2c7Zm9yKGQgaW4gaShzLmZuLCJpbml0IixmdW5jdGlvbihlKXt2YXIgdD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO3JldHVybiBzLm1pZ3JhdGVJc1BhdGNoRW5hYmxlZCgic2VsZWN0b3ItZW1wdHktaWQiKSYmInN0cmluZyI9PXR5cGVvZiBlJiYiIyI9PT1lJiYodSgic2VsZWN0b3ItZW1wdHktaWQiLCJqUXVlcnkoICcjJyApIGlzIG5vdCBhIHZhbGlkIHNlbGVjdG9yIiksdFswXT1bXSksbS5hcHBseSh0aGlzLHQpfSwic2VsZWN0b3ItZW1wdHktaWQiKSxzLmZuLmluaXQucHJvdG90eXBlPXMuZm4saShzLCJmaW5kIixmdW5jdGlvbih0KXt2YXIgcj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO2lmKCJzdHJpbmciPT10eXBlb2YgdCYmaC50ZXN0KHQpKXRyeXtuLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodCl9Y2F0Y2goZSl7dD10LnJlcGxhY2UoZyxmdW5jdGlvbihlLHQscixuKXtyZXR1cm4iWyIrdCtyKyciJytuKyciXSd9KTt0cnl7bi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpLHUoInNlbGVjdG9yLWhhc2giLCJBdHRyaWJ1dGUgc2VsZWN0b3Igd2l0aCAnIycgbXVzdCBiZSBxdW90ZWQ6ICIrclswXSksclswXT10fWNhdGNoKGUpe3UoInNlbGVjdG9yLWhhc2giLCJBdHRyaWJ1dGUgc2VsZWN0b3Igd2l0aCAnIycgd2FzIG5vdCBmaXhlZDogIityWzBdKX19cmV0dXJuIHkuYXBwbHkodGhpcyxyKX0sInNlbGVjdG9yLWhhc2giKSx5KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh5LGQpJiYocy5maW5kW2RdPXlbZF0pO2Mocy5mbiwic2l6ZSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGh9LCJzaXplIiwialF1ZXJ5LmZuLnNpemUoKSBpcyBkZXByZWNhdGVkIGFuZCByZW1vdmVkOyB1c2UgdGhlIC5sZW5ndGggcHJvcGVydHkiKSxjKHMsInBhcnNlSlNPTiIsZnVuY3Rpb24oKXtyZXR1cm4gSlNPTi5wYXJzZS5hcHBseShudWxsLGFyZ3VtZW50cyl9LCJwYXJzZUpTT04iLCJqUXVlcnkucGFyc2VKU09OIGlzIGRlcHJlY2F0ZWQ7IHVzZSBKU09OLnBhcnNlIiksYyhzLCJob2xkUmVhZHkiLHMuaG9sZFJlYWR5LCJob2xkUmVhZHkiLCJqUXVlcnkuaG9sZFJlYWR5IGlzIGRlcHJlY2F0ZWQiKSxjKHMsInVuaXF1ZSIscy51bmlxdWVTb3J0LCJ1bmlxdWUiLCJqUXVlcnkudW5pcXVlIGlzIGRlcHJlY2F0ZWQ7IHVzZSBqUXVlcnkudW5pcXVlU29ydCIpLHIocy5leHByLCJmaWx0ZXJzIixzLmV4cHIucHNldWRvcywiZXhwci1wcmUtcHNldWRvcyIsImpRdWVyeS5leHByLmZpbHRlcnMgaXMgZGVwcmVjYXRlZDsgdXNlIGpRdWVyeS5leHByLnBzZXVkb3MiKSxyKHMuZXhwciwiOiIscy5leHByLnBzZXVkb3MsImV4cHItcHJlLXBzZXVkb3MiLCJqUXVlcnkuZXhwclsnOiddIGlzIGRlcHJlY2F0ZWQ7IHVzZSBqUXVlcnkuZXhwci5wc2V1ZG9zIiksZSgiMy4xLjEiKSYmYyhzLCJ0cmltIixmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT8iIjooZSsiIikucmVwbGFjZSh2LCIkMSIpfSwidHJpbSIsImpRdWVyeS50cmltIGlzIGRlcHJlY2F0ZWQ7IHVzZSBTdHJpbmcucHJvdG90eXBlLnRyaW0iKSxlKCIzLjIuMCIpJiYoYyhzLCJub2RlTmFtZSIsZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dC50b0xvd2VyQ2FzZSgpfSwibm9kZU5hbWUiLCJqUXVlcnkubm9kZU5hbWUgaXMgZGVwcmVjYXRlZCIpLGMocywiaXNBcnJheSIsQXJyYXkuaXNBcnJheSwiaXNBcnJheSIsImpRdWVyeS5pc0FycmF5IGlzIGRlcHJlY2F0ZWQ7IHVzZSBBcnJheS5pc0FycmF5IikpLGUoIjMuMy4wIikmJihjKHMsImlzTnVtZXJpYyIsZnVuY3Rpb24oZSl7dmFyIHQ9dHlwZW9mIGU7cmV0dXJuKCJudW1iZXIiPT10fHwic3RyaW5nIj09dCkmJiFpc05hTihlLXBhcnNlRmxvYXQoZSkpfSwiaXNOdW1lcmljIiwialF1ZXJ5LmlzTnVtZXJpYygpIGlzIGRlcHJlY2F0ZWQiKSxzLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IgU3ltYm9sIi5zcGxpdCgiICIpLGZ1bmN0aW9uKGUsdCl7ZlsiW29iamVjdCAiK3QrIl0iXT10LnRvTG93ZXJDYXNlKCl9KSxjKHMsInR5cGUiLGZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP2UrIiI6Im9iamVjdCI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgZT9mW09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKV18fCJvYmplY3QiOnR5cGVvZiBlfSwidHlwZSIsImpRdWVyeS50eXBlIGlzIGRlcHJlY2F0ZWQiKSxjKHMsImlzRnVuY3Rpb24iLGZ1bmN0aW9uKGUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlfSwiaXNGdW5jdGlvbiIsImpRdWVyeS5pc0Z1bmN0aW9uKCkgaXMgZGVwcmVjYXRlZCIpLGMocywiaXNXaW5kb3ciLGZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lJiZlPT09ZS53aW5kb3d9LCJpc1dpbmRvdyIsImpRdWVyeS5pc1dpbmRvdygpIGlzIGRlcHJlY2F0ZWQiKSkscy5hamF4JiYobD1zLmFqYXgscD0vKD0pXD8oPz0mfCQpfFw/XD8vLGkocywiYWpheCIsZnVuY3Rpb24oKXt2YXIgZT1sLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gZS5wcm9taXNlJiYoYyhlLCJzdWNjZXNzIixlLmRvbmUsImpxWEhSLW1ldGhvZHMiLCJqUVhIUi5zdWNjZXNzIGlzIGRlcHJlY2F0ZWQgYW5kIHJlbW92ZWQiKSxjKGUsImVycm9yIixlLmZhaWwsImpxWEhSLW1ldGhvZHMiLCJqUVhIUi5lcnJvciBpcyBkZXByZWNhdGVkIGFuZCByZW1vdmVkIiksYyhlLCJjb21wbGV0ZSIsZS5hbHdheXMsImpxWEhSLW1ldGhvZHMiLCJqUVhIUi5jb21wbGV0ZSBpcyBkZXByZWNhdGVkIGFuZCByZW1vdmVkIikpLGV9LCJqcVhIUi1tZXRob2RzIiksZSgiNC4wLjAiKXx8cy5hamF4UHJlZmlsdGVyKCIranNvbiIsZnVuY3Rpb24oZSl7ITEhPT1lLmpzb25wJiYocC50ZXN0KGUudXJsKXx8InN0cmluZyI9PXR5cGVvZiBlLmRhdGEmJjA9PT0oZS5jb250ZW50VHlwZXx8IiIpLmluZGV4T2YoImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpJiZwLnRlc3QoZS5kYXRhKSkmJnUoImpzb25wLXByb21vdGlvbiIsIkpTT04tdG8tSlNPTlAgYXV0by1wcm9tb3Rpb24gaXMgZGVwcmVjYXRlZCIpfSkpO3ZhciBqPXMuZm4ucmVtb3ZlQXR0cixiPXMuZm4udG9nZ2xlQ2xhc3Msdz0vXFMrL2c7ZnVuY3Rpb24geChlKXtyZXR1cm4gZS5yZXBsYWNlKC8tKFthLXpdKS9nLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQudG9VcHBlckNhc2UoKX0pfWkocy5mbiwicmVtb3ZlQXR0ciIsZnVuY3Rpb24oZSl7dmFyIHI9dGhpcyxuPSExO3JldHVybiBzLmVhY2goZS5tYXRjaCh3KSxmdW5jdGlvbihlLHQpe3MuZXhwci5tYXRjaC5ib29sLnRlc3QodCkmJnIuZWFjaChmdW5jdGlvbigpe2lmKCExIT09cyh0aGlzKS5wcm9wKHQpKXJldHVybiEobj0hMCl9KSxuJiYodSgicmVtb3ZlQXR0ci1ib29sIiwialF1ZXJ5LmZuLnJlbW92ZUF0dHIgbm8gbG9uZ2VyIHNldHMgYm9vbGVhbiBwcm9wZXJ0aWVzOiAiK3QpLHIucHJvcCh0LCExKSl9KSxqLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sInJlbW92ZUF0dHItYm9vbCIpLGkocy5mbiwidG9nZ2xlQ2xhc3MiLGZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDAhPT10JiYiYm9vbGVhbiIhPXR5cGVvZiB0P2IuYXBwbHkodGhpcyxhcmd1bWVudHMpOih1KCJ0b2dnbGVDbGFzcy1ib29sIiwialF1ZXJ5LmZuLnRvZ2dsZUNsYXNzKCBib29sZWFuICkgaXMgZGVwcmVjYXRlZCIpLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBlPXRoaXMuZ2V0QXR0cmlidXRlJiZ0aGlzLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiI7ZSYmcy5kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iLGUpLHRoaXMuc2V0QXR0cmlidXRlJiZ0aGlzLnNldEF0dHJpYnV0ZSgiY2xhc3MiLCFlJiYhMSE9PXQmJnMuZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIil8fCIiKX0pKX0sInRvZ2dsZUNsYXNzLWJvb2wiKTt2YXIgUSxBLFI9ITEsQz0vXlthLXpdLyxOPS9eKD86Qm9yZGVyKD86VG9wfFJpZ2h0fEJvdHRvbXxMZWZ0KT8oPzpXaWR0aHwpfCg/Ok1hcmdpbnxQYWRkaW5nKT8oPzpUb3B8UmlnaHR8Qm90dG9tfExlZnQpP3woPzpNaW58TWF4KT8oPzpXaWR0aHxIZWlnaHQpKSQvO3Muc3dhcCYmcy5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiLCJyZWxpYWJsZU1hcmdpblJpZ2h0Il0sZnVuY3Rpb24oZSx0KXt2YXIgcj1zLmNzc0hvb2tzW3RdJiZzLmNzc0hvb2tzW3RdLmdldDtyJiYocy5jc3NIb29rc1t0XS5nZXQ9ZnVuY3Rpb24oKXt2YXIgZTtyZXR1cm4gUj0hMCxlPXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLFI9ITEsZX0pfSksaShzLCJzd2FwIixmdW5jdGlvbihlLHQscixuKXt2YXIgbyxhLGk9e307Zm9yKGEgaW4gUnx8dSgic3dhcCIsImpRdWVyeS5zd2FwKCkgaXMgdW5kb2N1bWVudGVkIGFuZCBkZXByZWNhdGVkIiksdClpW2FdPWUuc3R5bGVbYV0sZS5zdHlsZVthXT10W2FdO2ZvcihhIGluIG89ci5hcHBseShlLG58fFtdKSx0KWUuc3R5bGVbYV09aVthXTtyZXR1cm4gb30sInN3YXAiKSxlKCIzLjQuMCIpJiYidW5kZWZpbmVkIiE9dHlwZW9mIFByb3h5JiYocy5jc3NQcm9wcz1uZXcgUHJveHkocy5jc3NQcm9wc3x8e30se3NldDpmdW5jdGlvbigpe3JldHVybiB1KCJjc3NQcm9wcyIsImpRdWVyeS5jc3NQcm9wcyBpcyBkZXByZWNhdGVkIiksUmVmbGVjdC5zZXQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0pKSxlKCI0LjAuMCIpPyhBPXthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxjb2x1bW5Db3VudDohMCxmaWxsT3BhY2l0eTohMCxmbGV4R3JvdzohMCxmbGV4U2hyaW5rOiEwLGZvbnRXZWlnaHQ6ITAsZ3JpZEFyZWE6ITAsZ3JpZENvbHVtbjohMCxncmlkQ29sdW1uRW5kOiEwLGdyaWRDb2x1bW5TdGFydDohMCxncmlkUm93OiEwLGdyaWRSb3dFbmQ6ITAsZ3JpZFJvd1N0YXJ0OiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcmRlcjohMCxvcnBoYW5zOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMH0sInVuZGVmaW5lZCIhPXR5cGVvZiBQcm94eT9zLmNzc051bWJlcj1uZXcgUHJveHkoQSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHUoImNzcy1udW1iZXIiLCJqUXVlcnkuY3NzTnVtYmVyIGlzIGRlcHJlY2F0ZWQiKSxSZWZsZWN0LmdldC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHNldDpmdW5jdGlvbigpe3JldHVybiB1KCJjc3MtbnVtYmVyIiwialF1ZXJ5LmNzc051bWJlciBpcyBkZXByZWNhdGVkIiksUmVmbGVjdC5zZXQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0pOnMuY3NzTnVtYmVyPUEpOkE9cy5jc3NOdW1iZXIsUT1zLmZuLmNzcyxpKHMuZm4sImNzcyIsZnVuY3Rpb24oZSx0KXt2YXIgcixuLG89dGhpcztyZXR1cm4gZSYmIm9iamVjdCI9PXR5cGVvZiBlJiYhQXJyYXkuaXNBcnJheShlKT8ocy5lYWNoKGUsZnVuY3Rpb24oZSx0KXtzLmZuLmNzcy5jYWxsKG8sZSx0KX0pLHRoaXMpOigibnVtYmVyIj09dHlwZW9mIHQmJihyPXgoZSksbj1yLEMudGVzdChuKSYmTi50ZXN0KG5bMF0udG9VcHBlckNhc2UoKStuLnNsaWNlKDEpKXx8QVtyXXx8dSgiY3NzLW51bWJlciIsJ051bWJlci10eXBlZCB2YWx1ZXMgYXJlIGRlcHJlY2F0ZWQgZm9yIGpRdWVyeS5mbi5jc3MoICInK2UrJyIsIHZhbHVlICknKSksUS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSwiY3NzLW51bWJlciIpO3ZhciBTLFAsayxILEU9cy5kYXRhO2kocywiZGF0YSIsZnVuY3Rpb24oZSx0LHIpe3ZhciBuLG8sYTtpZih0JiYib2JqZWN0Ij09dHlwZW9mIHQmJjI9PT1hcmd1bWVudHMubGVuZ3RoKXtmb3IoYSBpbiBuPXMuaGFzRGF0YShlKSYmRS5jYWxsKHRoaXMsZSksbz17fSx0KWEhPT14KGEpPyh1KCJkYXRhLWNhbWVsQ2FzZSIsImpRdWVyeS5kYXRhKCkgYWx3YXlzIHNldHMvZ2V0cyBjYW1lbENhc2VkIG5hbWVzOiAiK2EpLG5bYV09dFthXSk6b1thXT10W2FdO3JldHVybiBFLmNhbGwodGhpcyxlLG8pLHR9cmV0dXJuIHQmJiJzdHJpbmciPT10eXBlb2YgdCYmdCE9PXgodCkmJihuPXMuaGFzRGF0YShlKSYmRS5jYWxsKHRoaXMsZSkpJiZ0IGluIG4/KHUoImRhdGEtY2FtZWxDYXNlIiwialF1ZXJ5LmRhdGEoKSBhbHdheXMgc2V0cy9nZXRzIGNhbWVsQ2FzZWQgbmFtZXM6ICIrdCksMjxhcmd1bWVudHMubGVuZ3RoJiYoblt0XT1yKSxuW3RdKTpFLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sImRhdGEtY2FtZWxDYXNlIikscy5meCYmKGs9cy5Ud2Vlbi5wcm90b3R5cGUucnVuLEg9ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LGkocy5Ud2Vlbi5wcm90b3R5cGUsInJ1biIsZnVuY3Rpb24oKXsxPHMuZWFzaW5nW3RoaXMuZWFzaW5nXS5sZW5ndGgmJih1KCJlYXNpbmctb25lLWFyZyIsIidqUXVlcnkuZWFzaW5nLiIrdGhpcy5lYXNpbmcudG9TdHJpbmcoKSsiJyBzaG91bGQgdXNlIG9ubHkgb25lIGFyZ3VtZW50Iikscy5lYXNpbmdbdGhpcy5lYXNpbmddPUgpLGsuYXBwbHkodGhpcyxhcmd1bWVudHMpfSwiZWFzaW5nLW9uZS1hcmciKSxTPXMuZnguaW50ZXJ2YWwsUD0ialF1ZXJ5LmZ4LmludGVydmFsIGlzIGRlcHJlY2F0ZWQiLG4ucmVxdWVzdEFuaW1hdGlvbkZyYW1lJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocy5meCwiaW50ZXJ2YWwiLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5kb2N1bWVudC5oaWRkZW58fHUoImZ4LWludGVydmFsIixQKSxzLm1pZ3JhdGVJc1BhdGNoRW5hYmxlZCgiZngtaW50ZXJ2YWwiKSYmdm9pZCAwPT09Uz8xMzpTfSxzZXQ6ZnVuY3Rpb24oZSl7dSgiZngtaW50ZXJ2YWwiLFApLFM9ZX19KSk7dmFyIE09cy5mbi5sb2FkLHE9cy5ldmVudC5hZGQsTz1zLmV2ZW50LmZpeDtzLmV2ZW50LnByb3BzPVtdLHMuZXZlbnQuZml4SG9va3M9e30scihzLmV2ZW50LnByb3BzLCJjb25jYXQiLHMuZXZlbnQucHJvcHMuY29uY2F0LCJldmVudC1vbGQtcGF0Y2giLCJqUXVlcnkuZXZlbnQucHJvcHMuY29uY2F0KCkgaXMgZGVwcmVjYXRlZCBhbmQgcmVtb3ZlZCIpLGkocy5ldmVudCwiZml4IixmdW5jdGlvbihlKXt2YXIgdCxyPWUudHlwZSxuPXRoaXMuZml4SG9va3Nbcl0sbz1zLmV2ZW50LnByb3BzO2lmKG8ubGVuZ3RoKXt1KCJldmVudC1vbGQtcGF0Y2giLCJqUXVlcnkuZXZlbnQucHJvcHMgYXJlIGRlcHJlY2F0ZWQgYW5kIHJlbW92ZWQ6ICIrby5qb2luKCkpO3doaWxlKG8ubGVuZ3RoKXMuZXZlbnQuYWRkUHJvcChvLnBvcCgpKX1pZihuJiYhbi5fbWlncmF0ZWRfJiYobi5fbWlncmF0ZWRfPSEwLHUoImV2ZW50LW9sZC1wYXRjaCIsImpRdWVyeS5ldmVudC5maXhIb29rcyBhcmUgZGVwcmVjYXRlZCBhbmQgcmVtb3ZlZDogIityKSwobz1uLnByb3BzKSYmby5sZW5ndGgpKXdoaWxlKG8ubGVuZ3RoKXMuZXZlbnQuYWRkUHJvcChvLnBvcCgpKTtyZXR1cm4gdD1PLmNhbGwodGhpcyxlKSxuJiZuLmZpbHRlcj9uLmZpbHRlcih0LGUpOnR9LCJldmVudC1vbGQtcGF0Y2giKSxpKHMuZXZlbnQsImFkZCIsZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT09PW4mJiJsb2FkIj09PXQmJiJjb21wbGV0ZSI9PT1uLmRvY3VtZW50LnJlYWR5U3RhdGUmJnUoImxvYWQtYWZ0ZXItZXZlbnQiLCJqUXVlcnkod2luZG93KS5vbignbG9hZCcuLi4pIGNhbGxlZCBhZnRlciBsb2FkIGV2ZW50IG9jY3VycmVkIikscS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LCJsb2FkLWFmdGVyLWV2ZW50Iikscy5lYWNoKFsibG9hZCIsInVubG9hZCIsImVycm9yIl0sZnVuY3Rpb24oZSx0KXtpKHMuZm4sdCxmdW5jdGlvbigpe3ZhciBlPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTtyZXR1cm4ibG9hZCI9PT10JiYic3RyaW5nIj09dHlwZW9mIGVbMF0/TS5hcHBseSh0aGlzLGUpOih1KCJzaG9ydGhhbmQtcmVtb3ZlZC12MyIsImpRdWVyeS5mbi4iK3QrIigpIGlzIGRlcHJlY2F0ZWQiKSxlLnNwbGljZSgwLDAsdCksYXJndW1lbnRzLmxlbmd0aD90aGlzLm9uLmFwcGx5KHRoaXMsZSk6KHRoaXMudHJpZ2dlckhhbmRsZXIuYXBwbHkodGhpcyxlKSx0aGlzKSl9LCJzaG9ydGhhbmQtcmVtb3ZlZC12MyIpfSkscy5lYWNoKCJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgcmVzaXplIHNjcm9sbCBjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIG1vdXNlb3V0IG1vdXNlZW50ZXIgbW91c2VsZWF2ZSBjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtleXByZXNzIGtleXVwIGNvbnRleHRtZW51Ii5zcGxpdCgiICIpLGZ1bmN0aW9uKGUscil7YyhzLmZuLHIsZnVuY3Rpb24oZSx0KXtyZXR1cm4gMDxhcmd1bWVudHMubGVuZ3RoP3RoaXMub24ocixudWxsLGUsdCk6dGhpcy50cmlnZ2VyKHIpfSwic2hvcnRoYW5kLWRlcHJlY2F0ZWQtdjMiLCJqUXVlcnkuZm4uIityKyIoKSBldmVudCBzaG9ydGhhbmQgaXMgZGVwcmVjYXRlZCIpfSkscyhmdW5jdGlvbigpe3Mobi5kb2N1bWVudCkudHJpZ2dlckhhbmRsZXIoInJlYWR5Iil9KSxzLmV2ZW50LnNwZWNpYWwucmVhZHk9e3NldHVwOmZ1bmN0aW9uKCl7dGhpcz09PW4uZG9jdW1lbnQmJnUoInJlYWR5LWV2ZW50IiwiJ3JlYWR5JyBldmVudCBpcyBkZXByZWNhdGVkIil9fSxjKHMuZm4sImJpbmQiLGZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gdGhpcy5vbihlLG51bGwsdCxyKX0sInByZS1vbi1tZXRob2RzIiwialF1ZXJ5LmZuLmJpbmQoKSBpcyBkZXByZWNhdGVkIiksYyhzLmZuLCJ1bmJpbmQiLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMub2ZmKGUsbnVsbCx0KX0sInByZS1vbi1tZXRob2RzIiwialF1ZXJ5LmZuLnVuYmluZCgpIGlzIGRlcHJlY2F0ZWQiKSxjKHMuZm4sImRlbGVnYXRlIixmdW5jdGlvbihlLHQscixuKXtyZXR1cm4gdGhpcy5vbih0LGUscixuKX0sInByZS1vbi1tZXRob2RzIiwialF1ZXJ5LmZuLmRlbGVnYXRlKCkgaXMgZGVwcmVjYXRlZCIpLGMocy5mbiwidW5kZWxlZ2F0ZSIsZnVuY3Rpb24oZSx0LHIpe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD90aGlzLm9mZihlLCIqKiIpOnRoaXMub2ZmKHQsZXx8IioqIixyKX0sInByZS1vbi1tZXRob2RzIiwialF1ZXJ5LmZuLnVuZGVsZWdhdGUoKSBpcyBkZXByZWNhdGVkIiksYyhzLmZuLCJob3ZlciIsZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5vbigibW91c2VlbnRlciIsZSkub24oIm1vdXNlbGVhdmUiLHR8fGUpfSwicHJlLW9uLW1ldGhvZHMiLCJqUXVlcnkuZm4uaG92ZXIoKSBpcyBkZXByZWNhdGVkIik7ZnVuY3Rpb24gVChlKXt2YXIgdD1uLmRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgiIik7cmV0dXJuIHQuYm9keS5pbm5lckhUTUw9ZSx0LmJvZHkmJnQuYm9keS5pbm5lckhUTUx9dmFyIEY9LzwoPyFhcmVhfGJyfGNvbHxlbWJlZHxocnxpbWd8aW5wdXR8bGlua3xtZXRhfHBhcmFtKSgoW2Etel1bXlwvXDA+XHgyMFx0XHJcblxmXSopW14+XSopXC8+L2dpO3MuVU5TQUZFX3Jlc3RvcmVMZWdhY3lIdG1sUHJlZmlsdGVyPWZ1bmN0aW9uKCl7cy5taWdyYXRlRW5hYmxlUGF0Y2hlcygic2VsZi1jbG9zZWQtdGFncyIpfSxpKHMsImh0bWxQcmVmaWx0ZXIiLGZ1bmN0aW9uKGUpe3ZhciB0LHI7cmV0dXJuKHI9KHQ9ZSkucmVwbGFjZShGLCI8JDE+PC8kMj4iKSkhPT10JiZUKHQpIT09VChyKSYmdSgic2VsZi1jbG9zZWQtdGFncyIsIkhUTUwgdGFncyBtdXN0IGJlIHByb3Blcmx5IG5lc3RlZCBhbmQgY2xvc2VkOiAiK3QpLGUucmVwbGFjZShGLCI8JDE+PC8kMj4iKX0sInNlbGYtY2xvc2VkLXRhZ3MiKSxzLm1pZ3JhdGVEaXNhYmxlUGF0Y2hlcygic2VsZi1jbG9zZWQtdGFncyIpO3ZhciBELFcsXyxJPXMuZm4ub2Zmc2V0O3JldHVybiBpKHMuZm4sIm9mZnNldCIsZnVuY3Rpb24oKXt2YXIgZT10aGlzWzBdO3JldHVybiFlfHxlLm5vZGVUeXBlJiZlLmdldEJvdW5kaW5nQ2xpZW50UmVjdD9JLmFwcGx5KHRoaXMsYXJndW1lbnRzKToodSgib2Zmc2V0LXZhbGlkLWVsZW0iLCJqUXVlcnkuZm4ub2Zmc2V0KCkgcmVxdWlyZXMgYSB2YWxpZCBET00gZWxlbWVudCIpLGFyZ3VtZW50cy5sZW5ndGg/dGhpczp2b2lkIDApfSwib2Zmc2V0LXZhbGlkLWVsZW0iKSxzLmFqYXgmJihEPXMucGFyYW0saShzLCJwYXJhbSIsZnVuY3Rpb24oZSx0KXt2YXIgcj1zLmFqYXhTZXR0aW5ncyYmcy5hamF4U2V0dGluZ3MudHJhZGl0aW9uYWw7cmV0dXJuIHZvaWQgMD09PXQmJnImJih1KCJwYXJhbS1hamF4LXRyYWRpdGlvbmFsIiwialF1ZXJ5LnBhcmFtKCkgbm8gbG9uZ2VyIHVzZXMgalF1ZXJ5LmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCIpLHQ9ciksRC5jYWxsKHRoaXMsZSx0KX0sInBhcmFtLWFqYXgtdHJhZGl0aW9uYWwiKSksYyhzLmZuLCJhbmRTZWxmIixzLmZuLmFkZEJhY2ssImFuZFNlbGYiLCJqUXVlcnkuZm4uYW5kU2VsZigpIGlzIGRlcHJlY2F0ZWQgYW5kIHJlbW92ZWQsIHVzZSBqUXVlcnkuZm4uYWRkQmFjaygpIikscy5EZWZlcnJlZCYmKFc9cy5EZWZlcnJlZCxfPVtbInJlc29sdmUiLCJkb25lIixzLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxzLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwicmVzb2x2ZWQiXSxbInJlamVjdCIsImZhaWwiLHMuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLHMuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLCJyZWplY3RlZCJdLFsibm90aWZ5IiwicHJvZ3Jlc3MiLHMuQ2FsbGJhY2tzKCJtZW1vcnkiKSxzLkNhbGxiYWNrcygibWVtb3J5IildXSxpKHMsIkRlZmVycmVkIixmdW5jdGlvbihlKXt2YXIgYT1XKCksaT1hLnByb21pc2UoKTtmdW5jdGlvbiB0KCl7dmFyIG89YXJndW1lbnRzO3JldHVybiBzLkRlZmVycmVkKGZ1bmN0aW9uKG4pe3MuZWFjaChfLGZ1bmN0aW9uKGUsdCl7dmFyIHI9ImZ1bmN0aW9uIj09dHlwZW9mIG9bZV0mJm9bZV07YVt0WzFdXShmdW5jdGlvbigpe3ZhciBlPXImJnIuYXBwbHkodGhpcyxhcmd1bWVudHMpO2UmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLnByb21pc2U/ZS5wcm9taXNlKCkuZG9uZShuLnJlc29sdmUpLmZhaWwobi5yZWplY3QpLnByb2dyZXNzKG4ubm90aWZ5KTpuW3RbMF0rIldpdGgiXSh0aGlzPT09aT9uLnByb21pc2UoKTp0aGlzLHI/W2VdOmFyZ3VtZW50cyl9KX0pLG89bnVsbH0pLnByb21pc2UoKX1yZXR1cm4gYyhhLCJwaXBlIix0LCJkZWZlcnJlZC1waXBlIiwiZGVmZXJyZWQucGlwZSgpIGlzIGRlcHJlY2F0ZWQiKSxjKGksInBpcGUiLHQsImRlZmVycmVkLXBpcGUiLCJkZWZlcnJlZC5waXBlKCkgaXMgZGVwcmVjYXRlZCIpLGUmJmUuY2FsbChhLGEpLGF9LCJkZWZlcnJlZC1waXBlIikscy5EZWZlcnJlZC5leGNlcHRpb25Ib29rPVcuZXhjZXB0aW9uSG9vayksc30pOwo="}},"time_used":331,"timings":{"blocked":239,"dns":0,"connect":0,"send":0,"wait":92,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/53627.115195b72f2d92cecb9b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.146Z","timestamp":1785141584146,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/53627.115195b72f2d92cecb9b.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-3f9d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 07a8b35f744fa0e40b2120471c28c4fd\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":16285,"size_decoded":6932,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3065)","md5":"83531bbbf4576c6e43672349a06b72b5","sha1":"139a361b632189e32c0dd137dfe2b2ed8e655fb5","sha256":"b661a00c1330d2de36b4e45530101c4718696a241c819c26e3676498ac5c95b8","sha512":"029891e11ed6d6c2beb544a4f09ba8d6ab21b208d9fb4ca7c20fa27c5b26386da421b9e8aefc6ee8eb01ee4e4d827ed115989275498a0a2fbf4ed847368cb3fd","ssdeep":"384:pXcabhDdLcMCAL5XlK525HvbEMSgjqfJXJ1YJjB4wrHfw/KN:pXZbhDxDCAL5Xl15DpMJXJ1YJjB4wrHx","tlshash":"b472d84d7201b46d56af76a61c3b164ae1326428358904bcb4e0f4f94879e8fb93bf37","first_seen":"2026-07-23T13:54:09.098812Z","last_seen":"2026-07-27T14:50:15.499607Z","times_seen":293,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1MzYyN10sezgyOTE4MChlLHQsbyl7InVzZSBzdHJpY3QiO28ucih0KTt2YXIgaT1vKDYwMTg0MSk7Y29uc3QgYT0veyhcdyspfS9nLG49L3soXGQrKX0vZztTdHJpbmcucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbiguLi5lKXtjb25zdCB0PSgwLGkuaXNPYmplY3QpKGVbMF0pLG89dD9hOm4scj10Pyh0LG8pPT57Y29uc3QgaT1lWzBdO3JldHVybiB2b2lkIDAhPT1pW29dP2lbb106dH06KHQsbyk9Pntjb25zdCBpPXBhcnNlSW50KG8sMTApLGE9ZVtpXTtyZXR1cm4gdm9pZCAwIT09YT9hOnR9O3JldHVybiB0aGlzLnJlcGxhY2UobyxyKX19LDE4NTI3MShlLHQsbyl7InVzZSBzdHJpY3QiO28ucih0KSxvLmQodCx7dDooKT0+aS50LHdpdGhUcmFuc2xhdGlvbkNvbnRleHQ6KCk9PmF9KTtvKDgyOTE4MCk7dmFyIGk9byg3ODMyNTQpO2Z1bmN0aW9uIGEoZSl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX19LDQ2NzE1OCgpe3RyeXshZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO3ZhciB0LG8saT1lLmRvY3VtZW50LGE9ZS5JbWFnZSxuPWUuZ2xvYmFsU3RvcmFnZSxyPWUuc3dmb2JqZWN0O3RyeXt2YXIgYz1lLmxvY2FsU3RvcmFnZX1jYXRjaChlKXt9dHJ5e3ZhciBzPWUuc2Vzc2lvblN0b3JhZ2V9Y2F0Y2goZSl7fXZhciBkPXtoaXN0b3J5OiExLGphdmE6ITEsdGVzdHM6MTAsYmFzZXVybDoiIixsc286ITAsc2lsdmVybGlnaHQ6ITEsZG9tYWluOiIiLGF1dGhQYXRoOiExLHBuZ0Nvb2tpZU5hbWU6InBuZyIscG5nUGF0aDoiL2VjL3BuZyIsZXRhZ0Nvb2tpZU5hbWU6ImV0ZyIsZXRhZ1BhdGg6Ii9lYy9ldGFnIixjYWNoZUNvb2tpZU5hbWU6ImNhY2hlYyIsY2FjaGVQYXRoOiIvZWMvY2FjaGUiLHN0YXRpY3VybDoiL3N0YXRpYy9pbWFnZXMvIn0saD0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0iO2UuX2V2ZXJjb29raWVfZmxhc2hfdmFyPWZ1bmN0aW9uKGUpe3Q9ZTt2YXIgbz1pLmdldEVsZW1lbnRCeUlkKCJteXN3ZiIpO28mJm8ucGFyZW50Tm9kZSYmby5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG8pfSxlLmV2ZXJjb29raWU9ZS5FdmVyY29va2llPWZ1bmN0aW9uKHUpe3U9dXx8e307dmFyIGw9e307Zm9yKHZhciBmIGluIGQpe3ZhciB2PXVbZl07bFtmXT12b2lkIDAhPT12P3Y6ZFtmXX0iZnVuY3Rpb24iPT10eXBlb2YgbC5kb21haW4mJihsLmRvbWFpbj1sLmRvbWFpbihlKSk7dmFyIHA9bC5oaXN0b3J5LGc9bC5qYXZhLG09bC50ZXN0cyxfPWwuYmFzZXVybCxrPWwuc3RhdGljdXJsLHk9bC5kb21haW4sQz10aGlzO3RoaXMuX2VjPXt9LHRoaXMuZ2V0PWZ1bmN0aW9uKGUsdCxvKXtDLl9ldmVyY29va2llKGUsdCx2b2lkIDAsdm9pZCAwLG8pfSx0aGlzLnNldD1mdW5jdGlvbihlLHQpe0MuX2V2ZXJjb29raWUoZSwoZnVuY3Rpb24oKXt9KSx0KX0sdGhpcy5fZXZlcmNvb2tpZT1mdW5jdGlvbihhLG4scixjLHMpe2lmKHZvaWQgMD09PUMuX2V2ZXJjb29raWUmJihDPXRoaXMpLHZvaWQgMD09PWMmJihjPTApLDA9PT1jJiYoQy5ldmVyY29va2llX2RhdGFiYXNlX3N0b3JhZ2UoYSxyKSxDLmV2ZXJjb29raWVfaW5kZXhkYl9zdG9yYWdlKGEsciksQy5ldmVyY29va2llX3BuZyhhLHIpLEMuZXZlcmNvb2tpZV9ldGFnKGEsciksQy5ldmVyY29va2llX2NhY2hlKGEsciksbC5sc28mJkMuZXZlcmNvb2tpZV9sc28oYSxyKSxsLnNpbHZlcmxpZ2h0JiZDLmV2ZXJjb29raWVfc2lsdmVybGlnaHQoYSxyKSxsLmF1dGhQYXRoJiZDLmV2ZXJjb29raWVfYXV0aChhLHIpLGcmJkMuZXZlcmNvb2tpZV9qYXZhKGEsciksQy5fZWMudXNlckRhdGE9Qy5ldmVyY29va2llX3VzZXJkYXRhKGEsciksQy5fZWMuY29va2llRGF0YT1DLmV2ZXJjb29raWVfY29va2llKGEsciksQy5fZWMubG9jYWxEYXRhPUMuZXZlcmNvb2tpZV9sb2NhbF9zdG9yYWdlKGEsciksQy5fZWMuZ2xvYmFsRGF0YT1DLmV2ZXJjb29raWVfZ2xvYmFsX3N0b3JhZ2UoYSxyKSxDLl9lYy5zZXNzaW9uRGF0YT1DLmV2ZXJjb29raWVfc2Vzc2lvbl9zdG9yYWdlKGEsciksQy5fZWMud2luZG93RGF0YT1DLmV2ZXJjb29raWVfd2luZG93KGEscikscCYmKEMuX2VjLmhpc3RvcnlEYXRhPUMuZXZlcmNvb2tpZV9oaXN0b3J5KGEscikpKSx2b2lkIDAhPT1yKSh2b2lkIDA9PT10fHx2b2lkIDA9PT1vKSYmYysrPG0mJnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7Qy5fZXZlcmNvb2tpZShhLG4scixjLHMpfSksMzAwKTtlbHNlIGlmKChlLm9wZW5EYXRhYmFzZSYmdm9pZCAwPT09Qy5fZWMuZGJEYXRhfHwoImluZGV4ZWREQiJpbiBlfHwoZS5pbmRleGVkREI9ZS5pbmRleGVkREJ8fGUubW96SW5kZXhlZERCfHxlLndlYmtpdEluZGV4ZWREQnx8ZS5tc0luZGV4ZWREQikpJiYodm9pZCAwPT09Qy5fZWMuaWRiRGF0YXx8IiI9PT1DLl9lYy5pZGJEYXRhKXx8dm9pZCAwPT09dHx8dm9pZCAwPT09Qy5fZWMuZXRhZ0RhdGF8fHZvaWQgMD09PUMuX2VjLmNhY2hlRGF0YXx8dm9pZCAwPT09Qy5fZWMuamF2YURhdGF8fGkuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29udGV4dCYmKHZvaWQgMD09PUMuX2VjLnBuZ0RhdGF8fCIiPT09Qy5fZWMucG5nRGF0YSl8fHZvaWQgMD09PW8pJiZjKys8bSlzZXRUaW1lb3V0KChmdW5jdGlvbigpe0MuX2V2ZXJjb29raWUoYSxuLHIsYyxzKX0pLDMwMCk7ZWxzZXtDLl9lYy5sc29EYXRhPUMuZ2V0RnJvbVN0cihhLHQpLHQ9dm9pZCAwLEMuX2VjLnNsRGF0YT1DLmdldEZyb21TdHIoYSxvKSxvPXZvaWQgMDt2YXIgZCxoLHU9Qy5fZWMsZj1bXSx2PTA7Zm9yKGggaW4gQy5fZWM9e30sdSl1W2hdJiYibnVsbCIhPT11W2hdJiYidW5kZWZpbmVkIiE9PXVbaF0mJihmW3VbaF1dPXZvaWQgMD09PWZbdVtoXV0/MTpmW3VbaF1dKzEpO2ZvcihoIGluIGYpZltoXT52JiYodj1mW2hdLGQ9aCk7dm9pZCAwPT09ZHx8dm9pZCAwIT09cyYmMT09PXN8fEMuc2V0KGEsZCksImZ1bmN0aW9uIj09dHlwZW9mIG4mJm4oZCx1KX19LAp0aGlzLmV2ZXJjb29raWVfd2luZG93PWZ1bmN0aW9uKHQsbyl7dHJ5e2lmKHZvaWQgMD09PW8pcmV0dXJuIHRoaXMuZ2V0RnJvbVN0cih0LGUubmFtZSk7ZS5uYW1lPWZ1bmN0aW9uKGUsdCxvKXtpZihlLmluZGV4T2YoIiYiK3QrIj0iKT4tMXx8MD09PWUuaW5kZXhPZih0KyI9Iikpe3ZhciBpLGE9ZS5pbmRleE9mKCImIit0KyI9Iik7cmV0dXJuLTE9PT1hJiYoYT1lLmluZGV4T2YodCsiPSIpKSwtMSE9PShpPWUuaW5kZXhPZigiJiIsYSsxKSk/ZS5zdWJzdHIoMCxhKStlLnN1YnN0cihpKyhhPzA6MSkpKyImIit0KyI9IitvOmUuc3Vic3RyKDAsYSkrIiYiK3QrIj0iK299cmV0dXJuIGUrIiYiK3QrIj0iK299KGUubmFtZSx0LG8pfWNhdGNoKGUpe319LHRoaXMuZXZlcmNvb2tpZV91c2VyZGF0YT1mdW5jdGlvbihlLHQpe3RyeXt2YXIgbz10aGlzLmNyZWF0ZUVsZW0oImRpdiIsInVzZXJkYXRhX2VsIiwxKTtpZihvLnN0eWxlLmJlaGF2aW9yPSJ1cmwoI2RlZmF1bHQjdXNlckRhdGEpIix2b2lkIDA9PT10KXJldHVybiBvLmxvYWQoZSksby5nZXRBdHRyaWJ1dGUoZSk7by5zZXRBdHRyaWJ1dGUoZSx0KSxvLnNhdmUoZSl9Y2F0Y2goZSl7fX0sdGhpcy5hamF4PWZ1bmN0aW9uKGUpe3ZhciB0LG8saSxhLG4scjtmb3IodD17IlgtUmVxdWVzdGVkLVdpdGgiOiJYTUxIdHRwUmVxdWVzdCIsQWNjZXB0OiJ0ZXh0L2phdmFzY3JpcHQsIHRleHQvaHRtbCwgYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbCwgKi8qIn0sbj0wLHI9KGk9W2Z1bmN0aW9uKCl7cmV0dXJuIG5ldyBYTUxIdHRwUmVxdWVzdH0sZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEFjdGl2ZVhPYmplY3QoIk1zeG1sMi5YTUxIVFRQIil9LGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpfV0pLmxlbmd0aDtuPHI7bisrKXthPWlbbl07dHJ5e2E9YSgpO2JyZWFrfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoZSl9fWZvcihvIGluIGEub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7NCE9PWEucmVhZHlTdGF0ZXx8YS5zdGF0dXM+PTQwMHx8ZS5zdWNjZXNzKGEucmVzcG9uc2VUZXh0KX0sYS5vcGVuKCJnZXQiLGUudXJsLCEwKSx0KWEuc2V0UmVxdWVzdEhlYWRlcihvLHRbb10pO3RyeXthLnNlbmQoKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0sdGhpcy5ldmVyY29va2llX2NhY2hlPWZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dClpLmNvb2tpZT1sLmNhY2hlQ29va2llTmFtZSsiPSIrdCsiOyBwYXRoPS87IGRvbWFpbj0iK3ksQy5hamF4KHt1cmw6XytsLmNhY2hlUGF0aCsiP25hbWU9IitlLHN1Y2Nlc3M6ZnVuY3Rpb24oZSl7fX0pO2Vsc2V7dmFyIG89dGhpcy5nZXRGcm9tU3RyKGwuY2FjaGVDb29raWVOYW1lLGkuY29va2llKTtDLl9lYy5jYWNoZURhdGE9dm9pZCAwLGkuY29va2llPWwuY2FjaGVDb29raWVOYW1lKyI9OyBleHBpcmVzPU1vbiwgMjAgU2VwIDIwMTAgMDA6MDA6MDAgVVRDOyBwYXRoPS87IGRvbWFpbj0iK3ksQy5hamF4KHt1cmw6XytsLmNhY2hlUGF0aCsiP25hbWU9IitlLHN1Y2Nlc3M6ZnVuY3Rpb24oZSl7aS5jb29raWU9bC5jYWNoZUNvb2tpZU5hbWUrIj0iK28rIjsgZXhwaXJlcz1UdWUsIDMxIERlYyAyMDMwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOyBkb21haW49Iit5LEMuX2VjLmNhY2hlRGF0YT1lfX0pfX0sdGhpcy5ldmVyY29va2llX2F1dGg9ZnVuY3Rpb24oZSx0KXt2YXIgbyxpO3ZvaWQgMCE9PXQ/KG89Ii8vIit0KyJAIitsb2NhdGlvbi5ob3N0K18rbC5hdXRoUGF0aCsiP25hbWU9IitlLChpPW5ldyBhKS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLGkuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixpLnNyYz1vKTpDLmFqYXgoe3VybDpfK2wuYXV0aFBhdGgrIj9uYW1lPSIrZSxzdWNjZXNzOmZ1bmN0aW9uKGUpe0MuX2VjLmF1dGhEYXRhPWV9fSl9LHRoaXMuZXZlcmNvb2tpZV9ldGFnPWZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dClpLmNvb2tpZT1sLmV0YWdDb29raWVOYW1lKyI9Iit0KyI7IHBhdGg9LzsgZG9tYWluPSIreSxDLmFqYXgoe3VybDpfK2wuZXRhZ1BhdGgrIj9uYW1lPSIrZSxzdWNjZXNzOmZ1bmN0aW9uKGUpe319KTtlbHNle3ZhciBvPXRoaXMuZ2V0RnJvbVN0cihsLmV0YWdDb29raWVOYW1lLGkuY29va2llKTtDLl9lYy5ldGFnRGF0YT12b2lkIDAsaS5jb29raWU9bC5ldGFnQ29va2llTmFtZSsiPTsgZXhwaXJlcz1Nb24sIDIwIFNlcCAyMDEwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOyBkb21haW49Iit5LEMuYWpheCh7dXJsOl8rbC5ldGFnUGF0aCsiP25hbWU9IitlLHN1Y2Nlc3M6ZnVuY3Rpb24oZSl7aS5jb29raWU9bC5ldGFnQ29va2llTmFtZSsiPSIrbysiOyBleHBpcmVzPVR1ZSwgMzEgRGVjIDIwMzAgMDA6MDA6MDAgVVRDOyBwYXRoPS87IGRvbWFpbj0iK3ksQy5fZWMuZXRhZ0RhdGE9ZX19KX19LHRoaXMuZXZlcmNvb2tpZV9qYXZhPWZ1bmN0aW9uKGUsdCl7dmFyIG89aS5nZXRFbGVtZW50QnlJZCgiZWNBcHBsZXRDb250YWluZXIiKTtmdW5jdGlvbiBhKG8pe3ZhciBhPWkuZ2V0RWxlbWVudEJ5SWQobyk7dm9pZCAwIT09dD9hLnNldChlLHQpOkMuX2VjLmphdmFEYXRhPWEuZ2V0KGUpfSJ1bmRlZmluZWQiIT10eXBlb2YgZHRqYXZhJiYobnVsbCE9byYmby5sZW5ndGh8fCgobz1pLmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5zZXRBdHRyaWJ1dGUoImlkIiwiZWNBcHBsZXRDb250YWluZXIiKSxvLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsby5zdHlsZS50b3A9Ii0zMDAwcHgiLG8uc3R5bGUubGVmdD0iLTMwMDBweCIsby5zdHlsZS53aWR0aD0iMXB4IixvLnN0eWxlLmhlaWdodD0iMXB4IixpLmJvZHkuYXBwZW5kQ2hpbGQobykpLCJ1bmRlZmluZWQiPT10eXBlb2YgZWNBcHBsZXQ/ZHRqYXZhLmVtYmVkKHtpZDoiZWNBcHBsZXQiLHVybDprKyJldmVyY29va2llLmpubHAiLHdpZHRoOiIxcHgiLGhlaWdodDoiMXB4IixwbGFjZWhvbGRlcjoiZWNBcHBsZXRDb250YWluZXIifSx7fSx7b25KYXZhc2NyaXB0UmVhZHk6YX0pOmEoImVjQXBwbGV0IikpfSx0aGlzLmV2ZXJjb29raWVfbHNvPWZ1bmN0aW9uKGUsdCl7CnZhciBvPWkuZ2V0RWxlbWVudEJ5SWQoInN3ZmNvbnRhaW5lciIpLGE9e30sbj17fSxjPXt9O251bGwhPW8mJm8ubGVuZ3RofHwoKG89aS5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc2V0QXR0cmlidXRlKCJpZCIsInN3ZmNvbnRhaW5lciIpLGkuYm9keS5hcHBlbmRDaGlsZChvKSksdm9pZCAwIT09dCYmKGEuZXZlcmRhdGE9ZSsiPSIrdCksbi5zd2xpdmVjb25uZWN0PSJ0cnVlIixjLmlkPSJteXN3ZiIsYy5uYW1lPSJteXN3ZiIsci5lbWJlZFNXRihrKyJldmVyY29va2llLnN3ZiIsInN3ZmNvbnRhaW5lciIsIjEiLCIxIiwiOS4wLjAiLCExLGEsbixjKX0sdGhpcy5ldmVyY29va2llX3BuZz1mdW5jdGlvbihlLHQpe3ZhciBvLG4scixjPWkuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7Yy5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLGMuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixjLndpZHRoPTIwMCxjLmhlaWdodD0xLGMmJmMuZ2V0Q29udGV4dCYmKChvPW5ldyBhKS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLG8uc3R5bGUucG9zaXRpb249ImFic29sdXRlIix2b2lkIDAhPT10P2kuY29va2llPWwucG5nQ29va2llTmFtZSsiPSIrdCsiOyBwYXRoPS87IGRvbWFpbj0iK3k6KEMuX2VjLnBuZ0RhdGE9dm9pZCAwLG49Yy5nZXRDb250ZXh0KCIyZCIpLHI9dGhpcy5nZXRGcm9tU3RyKGwucG5nQ29va2llTmFtZSxpLmNvb2tpZSksaS5jb29raWU9bC5wbmdDb29raWVOYW1lKyI9OyBleHBpcmVzPU1vbiwgMjAgU2VwIDIwMTAgMDA6MDA6MDAgVVRDOyBwYXRoPS87IGRvbWFpbj0iK3ksby5vbmxvYWQ9ZnVuY3Rpb24oKXtpLmNvb2tpZT1sLnBuZ0Nvb2tpZU5hbWUrIj0iK3IrIjsgZXhwaXJlcz1UdWUsIDMxIERlYyAyMDMwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOyBkb21haW49Iit5LEMuX2VjLnBuZ0RhdGE9IiIsbi5kcmF3SW1hZ2UobywwLDApO3ZhciBlLHQsYT1uLmdldEltYWdlRGF0YSgwLDAsMjAwLDEpLmRhdGE7Zm9yKGU9MCx0PWEubGVuZ3RoO2U8dCYmMCE9PWFbZV0mJihDLl9lYy5wbmdEYXRhKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGFbZV0pLDAhPT1hW2UrMV0pJiYoQy5fZWMucG5nRGF0YSs9U3RyaW5nLmZyb21DaGFyQ29kZShhW2UrMV0pLDAhPT1hW2UrMl0pO2UrPTQpQy5fZWMucG5nRGF0YSs9U3RyaW5nLmZyb21DaGFyQ29kZShhW2UrMl0pfSksby5zcmM9XytsLnBuZ1BhdGgrIj9uYW1lPSIrZSl9LHRoaXMuZXZlcmNvb2tpZV9sb2NhbF9zdG9yYWdlPWZ1bmN0aW9uKGUsdCl7dHJ5e2lmKGMpe2lmKHZvaWQgMD09PXQpcmV0dXJuIGMuZ2V0SXRlbShlKTtjLnNldEl0ZW0oZSx0KX19Y2F0Y2goZSl7fX0sdGhpcy5ldmVyY29va2llX2RhdGFiYXNlX3N0b3JhZ2U9ZnVuY3Rpb24odCxvKXt0cnl7aWYoZS5vcGVuRGF0YWJhc2Upe3ZhciBpPWUub3BlbkRhdGFiYXNlKCJzcWxpdGVfZXZlcmNvb2tpZSIsIiIsImV2ZXJjb29raWUiLDEwNDg1NzYpO3ZvaWQgMCE9PW8/aS50cmFuc2FjdGlvbigoZnVuY3Rpb24oZSl7ZS5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBjYWNoZShpZCBJTlRFR0VSIE5PVCBOVUxMIFBSSU1BUlkgS0VZIEFVVE9JTkNSRU1FTlQsIG5hbWUgVEVYVCBOT1QgTlVMTCwgdmFsdWUgVEVYVCBOT1QgTlVMTCwgVU5JUVVFIChuYW1lKSkiLFtdLChmdW5jdGlvbihlLHQpe30pLChmdW5jdGlvbihlLHQpe30pKSxlLmV4ZWN1dGVTcWwoIklOU0VSVCBPUiBSRVBMQUNFIElOVE8gY2FjaGUobmFtZSwgdmFsdWUpIFZBTFVFUyg/LCA/KSIsW3Qsb10sKGZ1bmN0aW9uKGUsdCl7fSksKGZ1bmN0aW9uKGUsdCl7fSkpfSkpOmkudHJhbnNhY3Rpb24oKGZ1bmN0aW9uKGUpe2UuZXhlY3V0ZVNxbCgiU0VMRUNUIHZhbHVlIEZST00gY2FjaGUgV0hFUkUgbmFtZT0/IixbdF0sKGZ1bmN0aW9uKGUsdCl7dC5yb3dzLmxlbmd0aD49MT9DLl9lYy5kYkRhdGE9dC5yb3dzLml0ZW0oMCkudmFsdWU6Qy5fZWMuZGJEYXRhPSIifSksKGZ1bmN0aW9uKGUsdCl7fSkpfSkpfX1jYXRjaChlKXt9fSx0aGlzLmV2ZXJjb29raWVfaW5kZXhkYl9zdG9yYWdlPWZ1bmN0aW9uKHQsbyl7dHJ5e2lmKCJpbmRleGVkREIiaW4gZXx8KGluZGV4ZWREQj1lLmluZGV4ZWREQnx8ZS5tb3pJbmRleGVkREJ8fGUud2Via2l0SW5kZXhlZERCfHxlLm1zSW5kZXhlZERCLElEQlRyYW5zYWN0aW9uPWUuSURCVHJhbnNhY3Rpb258fGUud2Via2l0SURCVHJhbnNhY3Rpb258fGUubXNJREJUcmFuc2FjdGlvbixJREJLZXlSYW5nZT1lLklEQktleVJhbmdlfHxlLndlYmtpdElEQktleVJhbmdlfHxlLm1zSURCS2V5UmFuZ2UpLGluZGV4ZWREQil7dmFyIGk9aW5kZXhlZERCLm9wZW4oImlkYl9ldmVyY29va2llIiwxKTtpLm9uZXJyb3I9ZnVuY3Rpb24oZSl7fSxpLm9udXBncmFkZW5lZWRlZD1mdW5jdGlvbihlKXtlLnRhcmdldC5yZXN1bHQuY3JlYXRlT2JqZWN0U3RvcmUoImV2ZXJjb29raWUiLHtrZXlQYXRoOiJuYW1lIix1bmlxdWU6ITF9KX0saS5vbnN1Y2Nlc3M9dm9pZCAwIT09bz9mdW5jdGlvbihlKXt2YXIgaT1lLnRhcmdldC5yZXN1bHQ7aWYoaS5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCJldmVyY29va2llIikpaS50cmFuc2FjdGlvbihbImV2ZXJjb29raWUiXSwicmVhZHdyaXRlIikub2JqZWN0U3RvcmUoImV2ZXJjb29raWUiKS5wdXQoe25hbWU6dCx2YWx1ZTpvfSk7aS5jbG9zZSgpfTpmdW5jdGlvbihlKXt2YXIgbz1lLnRhcmdldC5yZXN1bHQ7aWYoby5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCJldmVyY29va2llIikpe3ZhciBpPW8udHJhbnNhY3Rpb24oWyJldmVyY29va2llIl0pLm9iamVjdFN0b3JlKCJldmVyY29va2llIikuZ2V0KHQpO2kub25zdWNjZXNzPWZ1bmN0aW9uKGUpe3ZvaWQgMD09PWkucmVzdWx0P0MuX2VjLmlkYkRhdGE9dm9pZCAwOkMuX2VjLmlkYkRhdGE9aS5yZXN1bHQudmFsdWV9fWVsc2UgQy5fZWMuaWRiRGF0YT12b2lkIDA7by5jbG9zZSgpfX19Y2F0Y2goZSl7fX0sdGhpcy5ldmVyY29va2llX3Nlc3Npb25fc3RvcmFnZT1mdW5jdGlvbihlLHQpe3RyeXtpZihzKXtpZih2b2lkIDA9PT10KXJldHVybiBzLmdldEl0ZW0oZSk7cy5zZXRJdGVtKGUsdCl9Cn1jYXRjaChlKXt9fSx0aGlzLmV2ZXJjb29raWVfZ2xvYmFsX3N0b3JhZ2U9ZnVuY3Rpb24oZSx0KXtpZihuKXt2YXIgbz10aGlzLmdldEhvc3QoKTt0cnl7aWYodm9pZCAwPT09dClyZXR1cm4gbltvXVtlXTtuW29dW2VdPXR9Y2F0Y2goZSl7fX19LHRoaXMuZXZlcmNvb2tpZV9zaWx2ZXJsaWdodD1mdW5jdGlvbihlLHQpe3ZhciBvLGE9IjQuMC41MDQwMS4wIixuPSIiO3ZvaWQgMCE9PXQmJihuPSc8cGFyYW0gbmFtZT0iaW5pdFBhcmFtcyIgdmFsdWU9IicrZSsiPSIrdCsnIiAvPicpLG89JzxvYmplY3Qgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTUwMHB4O3RvcDotNTAwcHgiIGRhdGE9ImRhdGE6YXBwbGljYXRpb24veC1zaWx2ZXJsaWdodC0yLCIgdHlwZT0iYXBwbGljYXRpb24veC1zaWx2ZXJsaWdodC0yIiBpZD0ibXlzaWx2ZXJsaWdodCIgd2lkdGg9IjAiIGhlaWdodD0iMCI+JytuKyc8cGFyYW0gbmFtZT0ic291cmNlIiB2YWx1ZT0iJysoaysiZXZlcmNvb2tpZS54YXAiKSsnIi8+PHBhcmFtIG5hbWU9Im9uTG9hZCIgdmFsdWU9Im9uU2lsdmVybGlnaHRMb2FkIi8+PHBhcmFtIG5hbWU9Im9uRXJyb3IiIHZhbHVlPSJvblNpbHZlcmxpZ2h0RXJyb3IiLz48cGFyYW0gbmFtZT0iYmFja2dyb3VuZCIgdmFsdWU9IlRyYW5zcGFyZW50Ii8+PHBhcmFtIG5hbWU9IndpbmRvd2xlc3MiIHZhbHVlPSJ0cnVlIi8+PHBhcmFtIG5hbWU9Im1pblJ1bnRpbWVWZXJzaW9uIiB2YWx1ZT0iJythKyciLz48cGFyYW0gbmFtZT0iYXV0b1VwZ3JhZGUiIHZhbHVlPSJmYWxzZSIvPjxhIGhyZWY9Imh0dHA6Ly9nby5taWNyb3NvZnQuY29tL2Z3bGluay8/TGlua0lEPTE0OTE1NiZ2PScrYSsnIiBzdHlsZT0iZGlzcGxheTpub25lIj5HZXQgTWljcm9zb2Z0IFNpbHZlcmxpZ2h0PC9hPjwvb2JqZWN0Pic7dHJ5e2kuYm9keS5hcHBlbmRDaGlsZChvKX1jYXRjaChlKXt9fSx0aGlzLmVuY29kZT1mdW5jdGlvbihlKXt2YXIgdCxvLGksYSxuLHIsYyxzPSIiLGQ9MDtmb3IoZT10aGlzLl91dGY4X2VuY29kZShlKTtkPGUubGVuZ3RoOylhPSh0PWUuY2hhckNvZGVBdChkKyspKT4+MixuPSgzJnQpPDw0fChvPWUuY2hhckNvZGVBdChkKyspKT4+NCxyPSgxNSZvKTw8MnwoaT1lLmNoYXJDb2RlQXQoZCsrKSk+PjYsYz02MyZpLGlzTmFOKG8pP3I9Yz02NDppc05hTihpKSYmKGM9NjQpLHM9cytoLmNoYXJBdChhKStoLmNoYXJBdChuKStoLmNoYXJBdChyKStoLmNoYXJBdChjKTtyZXR1cm4gc30sdGhpcy5kZWNvZGU9ZnVuY3Rpb24oZSl7dmFyIHQsbyxpLGEsbixyLGM9IiIscz0wO2ZvcihlPWUucmVwbGFjZSgvW15BLVphLXowLTlcK1wvXD1dL2csIiIpO3M8ZS5sZW5ndGg7KXQ9aC5pbmRleE9mKGUuY2hhckF0KHMrKykpPDwyfChhPWguaW5kZXhPZihlLmNoYXJBdChzKyspKSk+PjQsbz0oMTUmYSk8PDR8KG49aC5pbmRleE9mKGUuY2hhckF0KHMrKykpKT4+MixpPSgzJm4pPDw2fChyPWguaW5kZXhPZihlLmNoYXJBdChzKyspKSksYys9U3RyaW5nLmZyb21DaGFyQ29kZSh0KSw2NCE9PW4mJihjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKG8pKSw2NCE9PXImJihjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGkpKTtyZXR1cm4gYz10aGlzLl91dGY4X2RlY29kZShjKX0sdGhpcy5fdXRmOF9lbmNvZGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG89IiIsaT0wLGE9KGU9ZS5yZXBsYWNlKC9cclxuL2csIlxuIikpLmxlbmd0aDtpPGE7aSsrKSh0PWUuY2hhckNvZGVBdChpKSk8MTI4P28rPVN0cmluZy5mcm9tQ2hhckNvZGUodCk6dD4xMjcmJnQ8MjA0OD8obys9U3RyaW5nLmZyb21DaGFyQ29kZSh0Pj42fDE5Miksbys9U3RyaW5nLmZyb21DaGFyQ29kZSg2MyZ0fDEyOCkpOihvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHQ+PjEyfDIyNCksbys9U3RyaW5nLmZyb21DaGFyQ29kZSh0Pj42JjYzfDEyOCksbys9U3RyaW5nLmZyb21DaGFyQ29kZSg2MyZ0fDEyOCkpO3JldHVybiBvfSx0aGlzLl91dGY4X2RlY29kZT1mdW5jdGlvbihlKXtmb3IodmFyIHQ9IiIsbz0wLGk9ZS5sZW5ndGgsYT0wLG49MCxyPTA7bzxpOykoYT1lLmNoYXJDb2RlQXQobykpPDEyOD8odCs9U3RyaW5nLmZyb21DaGFyQ29kZShhKSxvKz0xKTphPjE5MSYmYTwyMjQ/KG49ZS5jaGFyQ29kZUF0KG8rMSksdCs9U3RyaW5nLmZyb21DaGFyQ29kZSgoMzEmYSk8PDZ8NjMmbiksbys9Mik6KG49ZS5jaGFyQ29kZUF0KG8rMSkscj1lLmNoYXJDb2RlQXQobysyKSx0Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKCgxNSZhKTw8MTJ8KDYzJm4pPDw2fDYzJnIpLG8rPTMpO3JldHVybiB0fSx0aGlzLmV2ZXJjb29raWVfaGlzdG9yeT1mdW5jdGlvbihlLHQpe3ZhciBvLGksYT0oaCsiLSIpLnNwbGl0KCIiKSxuPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vZXZlcmNvb2tpZS9jYWNoZS8iK3RoaXMuZ2V0SG9zdCgpKyIvIitlLHI9IiIsYz0iIixzPTE7aWYodm9pZCAwIT09dCl7aWYodGhpcy5oYXNWaXNpdGVkKG4pKXJldHVybjtmb3IodGhpcy5jcmVhdGVJZnJhbWUobiwiaWYiKSxuKz0iLyIsaT10aGlzLmVuY29kZSh0KS5zcGxpdCgiIiksbz0wO288aS5sZW5ndGg7bysrKW4rPWlbb10sdGhpcy5jcmVhdGVJZnJhbWUobiwiaWYiK28pO24rPSItIix0aGlzLmNyZWF0ZUlmcmFtZShuLCJpZl8iKX1lbHNlIGlmKHRoaXMuaGFzVmlzaXRlZChuKSl7Zm9yKG4rPSIvIjsiLSIhPT1yJiYxPT09czspZm9yKHM9MCxvPTA7bzxhLmxlbmd0aDtvKyspaWYodGhpcy5oYXNWaXNpdGVkKG4rYVtvXSkpeyItIiE9PShyPWFbb10pJiYoYys9ciksbis9cixzPTE7YnJlYWt9cmV0dXJuIHRoaXMuZGVjb2RlKGMpfX0sdGhpcy5jcmVhdGVFbGVtPWZ1bmN0aW9uKGUsdCxvKXt2YXIgYTtyZXR1cm4oYT12b2lkIDAhPT10JiZpLmdldEVsZW1lbnRCeUlkKHQpP2kuZ2V0RWxlbWVudEJ5SWQodCk6aS5jcmVhdGVFbGVtZW50KGUpKS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLGEuc3R5bGUucG9zaXRpb249ImFic29sdXRlIix0JiZhLnNldEF0dHJpYnV0ZSgiaWQiLHQpLG8mJmkuYm9keS5hcHBlbmRDaGlsZChhKSxhfSx0aGlzLmNyZWF0ZUlmcmFtZT1mdW5jdGlvbihlLHQpewp2YXIgbz10aGlzLmNyZWF0ZUVsZW0oImlmcmFtZSIsdCwxKTtyZXR1cm4gby5zZXRBdHRyaWJ1dGUoInNyYyIsZSksb307dmFyIHg9dGhpcy53YWl0Rm9yU3dmPWZ1bmN0aW9uKGUpe3ZvaWQgMD09PWU/ZT0wOmUrKyxlPG0mJnZvaWQgMD09PXImJnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7eChlKX0pLDMwMCl9O3RoaXMuZXZlcmNvb2tpZV9jb29raWU9ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDA9PT10KXJldHVybiB0aGlzLmdldEZyb21TdHIoZSxpLmNvb2tpZSk7aS5jb29raWU9ZSsiPTsgZXhwaXJlcz1Nb24sIDIwIFNlcCAyMDEwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOyBkb21haW49Iit5LGkuY29va2llPWUrIj0iK3QrIjsgZXhwaXJlcz1UdWUsIDMxIERlYyAyMDMwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOyBkb21haW49Iit5fSx0aGlzLmdldEZyb21TdHI9ZnVuY3Rpb24oZSx0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBvLGksYT1lKyI9IixuPXQuc3BsaXQoL1s7Jl0vKTtmb3Iobz0wO288bi5sZW5ndGg7bysrKXtmb3IoaT1uW29dOyIgIj09PWkuY2hhckF0KDApOylpPWkuc3Vic3RyaW5nKDEsaS5sZW5ndGgpO2lmKDA9PT1pLmluZGV4T2YoYSkpcmV0dXJuIGkuc3Vic3RyaW5nKGEubGVuZ3RoLGkubGVuZ3RoKX19fSx0aGlzLmdldEhvc3Q9ZnVuY3Rpb24oKXtyZXR1cm4gZS5sb2NhdGlvbi5ob3N0LnJlcGxhY2UoLzpcZCsvLCIiKX0sdGhpcy50b0hleD1mdW5jdGlvbihlKXtmb3IodmFyIHQsbz0iIixpPWUubGVuZ3RoLGE9MDthPGk7KXtmb3IodD1lLmNoYXJDb2RlQXQoYSsrKS50b1N0cmluZygxNik7dC5sZW5ndGg8MjspdD0iMCIrdDtvKz10fXJldHVybiBvfSx0aGlzLmZyb21IZXg9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG89IiIsaT1lLmxlbmd0aDtpPj0wOyl0PWktMixvPVN0cmluZy5mcm9tQ2hhckNvZGUoIjB4IitlLnN1YnN0cmluZyh0LGkpKStvLGk9dDtyZXR1cm4gb30sdGhpcy5oYXNWaXNpdGVkPWZ1bmN0aW9uKGUpey0xPT09dGhpcy5ub19jb2xvciYmKC0xPT09dGhpcy5fZ2V0UkdCKCJodHRwOi8vc2FteS13YXMtaGVyZS10aGlzLXNob3VsZC1uZXZlci1iZS12aXNpdGVkLmNvbSIsLTEpJiYodGhpcy5ub19jb2xvcj10aGlzLl9nZXRSR0IoImh0dHA6Ly9zYW15LXdhcy1oZXJlLSIrTWF0aC5mbG9vcig5OTk5OTk5Kk1hdGgucmFuZG9tKCkpKyJyYW5kLmNvbSIpKSk7cmV0dXJuIDA9PT1lLmluZGV4T2YoImh0dHBzOiIpfHwwPT09ZS5pbmRleE9mKCJodHRwOiIpP3RoaXMuX3Rlc3RVUkwoZSx0aGlzLm5vX2NvbG9yKTp0aGlzLl90ZXN0VVJMKCJodHRwOi8vIitlLHRoaXMubm9fY29sb3IpfHx0aGlzLl90ZXN0VVJMKCJodHRwczovLyIrZSx0aGlzLm5vX2NvbG9yKXx8dGhpcy5fdGVzdFVSTCgiaHR0cDovL3d3dy4iK2UsdGhpcy5ub19jb2xvcil8fHRoaXMuX3Rlc3RVUkwoImh0dHBzOi8vd3d3LiIrZSx0aGlzLm5vX2NvbG9yKX07dmFyIGIsdyxEPXRoaXMuY3JlYXRlRWxlbSgiYSIsIl9lY19yZ2JfbGluayIpLFM9IiNfZWNfcmdiX2xpbms6dmlzaXRlZHtkaXNwbGF5Om5vbmU7Y29sb3I6I0ZGMDAwMH0iO3RyeXtiPTEsKHc9aS5jcmVhdGVFbGVtZW50KCJzdHlsZSIpKS5zdHlsZVNoZWV0P3cuc3R5bGVTaGVldC5pbm5lckhUTUw9Uzp3LmlubmVySFRNTD93LmlubmVySFRNTD1TOncuYXBwZW5kQ2hpbGQoaS5jcmVhdGVUZXh0Tm9kZShTKSl9Y2F0Y2goZSl7Yj0wfXRoaXMuX2dldFJHQj1mdW5jdGlvbihlLHQpe3JldHVybiB0JiYwPT09Yj8tMTooRC5ocmVmPWUsRC5pbm5lckhUTUw9ZSxpLmJvZHkuYXBwZW5kQ2hpbGQodyksaS5ib2R5LmFwcGVuZENoaWxkKEQpLGkuZGVmYXVsdFZpZXc/aS5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKEQsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgiY29sb3IiKTpELmN1cnJlbnRTdHlsZS5jb2xvcil9LHRoaXMuX3Rlc3RVUkw9ZnVuY3Rpb24oZSx0KXt2YXIgbz10aGlzLl9nZXRSR0IoZSk7cmV0dXJuInJnYigyNTUsIDAsIDApIj09PW98fCIjZmYwMDAwIj09PW98fHQmJm8hPT10PzE6MH19fSh3aW5kb3cpfWNhdGNoKGUpe319LDIyMjk4NigpeyJ1c2Ugc3RyaWN0Ijt2YXIgZSx0LG8saSxhLG47d2luZG93LnBhcmVudCE9PXdpbmRvdyYmd2luZG93LkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCYmd2luZG93LlRleHRNZXRyaWNzJiYodD13aW5kb3cuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELnByb3RvdHlwZSkmJnQuaGFzT3duUHJvcGVydHkoImZvbnQiKSYmdC5oYXNPd25Qcm9wZXJ0eSgibW96VGV4dFN0eWxlIikmJiJmdW5jdGlvbiI9PXR5cGVvZiB0Ll9fbG9va3VwU2V0dGVyX18mJihvPXQuX19sb29rdXBTZXR0ZXJfXygiZm9udCIpKSYmKHQuX19kZWZpbmVTZXR0ZXJfXygiZm9udCIsKGZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gby5jYWxsKHRoaXMsZSl9Y2F0Y2goZSl7aWYoIk5TX0VSUk9SX0ZBSUxVUkUiIT09ZS5uYW1lKXRocm93IGV9fSkpLGk9dC5tZWFzdXJlVGV4dCxlPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD0wLHRoaXMuaXNGYWtlPSEwLHRoaXMuX19wcm90b19fPXdpbmRvdy5UZXh0TWV0cmljcy5wcm90b3R5cGV9LHQubWVhc3VyZVRleHQ9ZnVuY3Rpb24odCl7dHJ5e3JldHVybiBpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaCh0KXtpZigiTlNfRVJST1JfRkFJTFVSRSIhPT10Lm5hbWUpdGhyb3cgdDtyZXR1cm4gbmV3IGV9fSxhPXQuZmlsbFRleHQsdC5maWxsVGV4dD1mdW5jdGlvbihlLHQsbyxpKXt0cnl7YS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9Y2F0Y2goZSl7aWYoIk5TX0VSUk9SX0ZBSUxVUkUiIT09ZS5uYW1lKXRocm93IGV9fSxuPXQuc3Ryb2tlVGV4dCx0LnN0cm9rZVRleHQ9ZnVuY3Rpb24oZSx0LG8saSl7dHJ5e24uYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKGUpe2lmKCJOU19FUlJPUl9GQUlMVVJFIiE9PWUubmFtZSl0aHJvdyBlfX0pfSw4MTczNTAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7ZGVmYXVsdDooKT0+bn0pO3ZhciBpPW8oMTc4NDk3KSxhPW8oMzYwNjIwKTtjb25zdCBuPWZ1bmN0aW9uKGUpe3JldHVybiEwPT09ZXx8ITE9PT1lfHwoMCwKYS5kZWZhdWx0KShlKSYmIltvYmplY3QgQm9vbGVhbl0iPT0oMCxpLmRlZmF1bHQpKGUpfX0sMjA2NjczKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RlZmF1bHQ6KCk9Pm59KTt2YXIgaT1vKDE3ODQ5NyksYT1vKDM2MDYyMCk7Y29uc3Qgbj1mdW5jdGlvbihlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGV8fCgwLGEuZGVmYXVsdCkoZSkmJiJbb2JqZWN0IE51bWJlcl0iPT0oMCxpLmRlZmF1bHQpKGUpfX0sMzA0MjIxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgaT1vKDE3ODQ5NyksYT1vKDI5NTYzNSksbj1vKDM2MDYyMCk7Y29uc3Qgcj1mdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGV8fCEoMCxhLmRlZmF1bHQpKGUpJiYoMCxuLmRlZmF1bHQpKGUpJiYiW29iamVjdCBTdHJpbmddIj09KDAsaS5kZWZhdWx0KShlKX19LDgzOTQyNihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtkZWZhdWx0OigpPT5ufSk7dmFyIGk9byg2OTIzNjkpO2NvbnN0IGE9ZnVuY3Rpb24oZSx0KXt2YXIgbztpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZ1bmN0aW9uIik7cmV0dXJuIGU9KDAsaS5kZWZhdWx0KShlKSxmdW5jdGlvbigpe3JldHVybi0tZT4wJiYobz10LmFwcGx5KHRoaXMsYXJndW1lbnRzKSksZTw9MSYmKHQ9dm9pZCAwKSxvfX07Y29uc3Qgbj1mdW5jdGlvbihlKXtyZXR1cm4gYSgyLGUpfX0sNjkyMzY5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgaT1vKDQwNjQ0OSksYT0xLzA7Y29uc3Qgbj1mdW5jdGlvbihlKXtyZXR1cm4gZT8oZT0oMCxpLmRlZmF1bHQpKGUpKT09PWF8fGU9PT0tMS8wPzE3OTc2OTMxMzQ4NjIzMTU3ZTI5MiooZTwwPy0xOjEpOmU9PWU/ZTowOjA9PT1lP2U6MH07Y29uc3Qgcj1mdW5jdGlvbihlKXt2YXIgdD1uKGUpLG89dCUxO3JldHVybiB0PT10P28/dC1vOnQ6MH19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32816.355d75b21ae4b534a849.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.686Z","timestamp":1785141584686,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32816.355d75b21ae4b534a849.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-102a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5f15648273ad08e6c7aa10be0a045416\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4138,"size_decoded":1890,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4138), with no line terminators","md5":"1769fde9875fdbb634439ca894f9dbe9","sha1":"44ac405e2cfa40ef07cbca4bf97d2226e51258d3","sha256":"8b2250108bfd0dcb2848b28cd1bf2fec55df68d3105b3bf87664cfd86cf2ff10","sha512":"b537406a03c65c8c9859d1e4cb17c37e062cc846b9e763763bbbfa0670ed74ffd1a3f571e5e7654a7b809c6810990a95babd6183fced394492ae1095b4193bcf","ssdeep":"48:D+GIP+GI2LrVLjVQqpz5Cw83JJMeFtQSphXivmRE0r/VC5WNHC5mNVd:DaRLBLpQqpVv0JKOTphXiuREIVweHwmZ","tlshash":"f5814858835c4dafbb2647826762fc582164e3feb2324b6c534924fd46b4d6d39332c5","first_seen":"2026-07-16T11:36:17.974176Z","last_seen":"2026-07-27T15:03:44.267973Z","times_seen":1854,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtODRvdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLTg0b3Q6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnBhaXIteHdHc1NYUjB7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LnBhaXIteHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDoxNHB4O3dpZHRoOjE0cHh9LnBhaXIteHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LnBhaXIteHdHc1NYUjAueHh4c21hbGwteHdHc1NYUjB7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ucGFpci14d0dzU1hSMC54eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LnBhaXIteHdHc1NYUjAueHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9LnBhaXIteHdHc1NYUjAuc21hbGwteHdHc1NYUjB7aGVpZ2h0OjI4cHg7d2lkdGg6MjhweH0ucGFpci14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjB7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweH0ucGFpci14d0dzU1hSMC5sYXJnZS14d0dzU1hSMHtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS5wYWlyLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6NTZweDt3aWR0aDo1NnB4fS5wYWlyLXh3R3NTWFIwLnh4bGFyZ2UteHdHc1NYUjB7aGVpZ2h0OjExMnB4O3dpZHRoOjExMnB4fS5wYWlyLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwe2hlaWdodDoxNjhweDt3aWR0aDoxNjhweH0ucGFpci14d0dzU1hSMC54eHh4c21hbGwteHdHc1NYUjB7aGVpZ2h0OjEycHh9LnBhaXIteHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDo4cHh9LmxvZ28teHdHc1NYUjB7Ym9yZGVyLXJhZGl1czo1MCV9LmxvZ28teHdHc1NYUjA6bm90KGltZyl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC04NG90KX0ubG9nby14d0dzU1hSMDpmaXJzdC1jaGlsZCwubG9nby14d0dzU1hSMDpsYXN0LWNoaWxke3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9LmxvZ28teHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDo4cHg7d2lkdGg6OHB4fS5sb2dvLXh3R3NTWFIwLnh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMy14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTZweCl9LmxvZ28teHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoxMnB4O3dpZHRoOjEycHh9LmxvZ28teHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtOHB4KX0ubG9nby14d0dzU1hSMC54eHhzbWFsbC14d0dzU1hSMHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS5sb2dvLXh3R3NTWFIwLnh4eHNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNnB4LDZweCl9LmxvZ28teHdHc1NYUjAueHhzbWFsbC14d0dzU1hSMHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS5sb2dvLXh3R3NTWFIwLnh4c21hbGwteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC04cHgsOHB4KX0ubG9nby14d0dzU1hSMC54c21hbGwteHdHc1NYUjB7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ubG9nby14d0dzU1hSMC54c21hbGwteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC04cHgsOHB4KX0ubG9nby14d0dzU1hSMC5zbWFsbC14d0dzU1hSMHtoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS5sb2dvLXh3R3NTWFIwLnNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTBweCwxMHB4KX0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjB7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMnB4LDEycHgpfS5sb2dvLXh3R3NTWFIwLmxhcmdlLXh3R3NTWFIwe2hlaWdodDozMnB4O3dpZHRoOjMycHh9LmxvZ28teHdHc1NYUjAubGFyZ2UteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xNnB4LDE2cHgpfS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6MzhweDt3aWR0aDozOHB4fS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE4cHgsMThweCl9LmxvZ28teHdHc1NYUjAueHhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6NzZweDt3aWR0aDo3NnB4fS5sb2dvLXh3R3NTWFIwLnh4bGFyZ2UteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0zNnB4LDM2cHgpfS5sb2dvLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwe2hlaWdodDoxMTRweDt3aWR0aDoxMTRweH0ubG9nby14d0dzU1hSMC54eHhsYXJnZS14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTU0cHgsNTRweCl9LmxvZ28teHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwOmxhc3QtY2hpbGR7b3V0bGluZToxcHggc29saWQgdmFyKC0tdWktbGliLWJhZGdlLWFjdHVhbC1iYWNrZ3JvdW5kKX0ubG9nby14d0dzU1hSMC54eHh4c21hbGwteHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0zLjc0ODgyIDExLjU2MzRDNS4xNDIzOSAxMC4xMjM2IDYgOC4xNjE5OCA2IDZDNiAzLjgzODAyIDUuMTQyMzkgMS44NzYzNSAzLjc0ODgyIDAuNDM2NjE3QzQuNDQzOTYgMC4xNTUwNTYgNS4yMDM4NyAtNS45NDEzNmUtMDcgNiAtNS4yNDUzN2UtMDdDOS4zMTM3MSAtMi4zNDg0M2UtMDcgMTIgMi42ODYyOSAxMiA2QzEyIDkuMzEzNzEgOS4zMTM3MSAxMiA2IDEyQzUuMjAzODcgMTIgNC40NDM5NiAxMS44NDQ5IDMuNzQ4ODIgMTEuNTYzNFoiKX0ubG9nby14d0dzU1hSMC54eHhzbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTEyIDBIMHY0YTggOCAwIDAgMSA4IDhoNFYwWiIpfS5sb2dvLXh3R3NTWFIwLnh4c21hbGwteHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0xMiAwSDB2Ni4yNTRBOCA4IDAgMCAxIDUuNzQ2IDEySDEyWiIpfS5sb2dvLXh3R3NTWFIwLnhzbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTE2IDhBOCA4IDAgMCAwIC4zIDZhMTAgMTAgMCAwIDEgOS43IDkuN0E4IDggMCAwIDAgMTYgOFoiKX0ubG9nby14d0dzU1hSMC5zbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTE4IDBIMHY4LjA0QTExIDExIDAgMCAxIDkuOTYgMThIMThWMFoiKX0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0yNCAwSDB2MTBjOCAwIDE0IDYgMTQgMTRoMTBWMFoiKX0ubG9nby14d0dzU1hSMC5sYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTMyIDBIMHYxNGExOCAxOCAwIDAgMSAxOCAxOGgxNFYwWiIpfS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTM4IDBIMHYxNi4wMkwxIDE2YTIxIDIxIDAgMCAxIDIwLjk4IDIySDM4VjBaIil9LmxvZ28teHdHc1NYUjAueHhsYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTc2IDBIMHYzMi4wNUE0MiA0MiAwIDAgMSA0My45NSA3Nkg3NlYwWiIpfS5sb2dvLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTEzIDBIMFY0OGMzNS0xIDY2IDI2IDY2IDY2djBoNDhWMFoiKX0uc2tlbGV0b24teHdHc1NYUjB7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LmVtcHR5LXh3R3NTWFIwe2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tbGlnaHQuNmQwYjczMWFjNmY0ODlmMDZlNjUuc3ZnKTtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbn1odG1sLnRoZW1lLWRhcmsgLmVtcHR5LXh3R3NTWFIwe2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tZGFyay5kNmQwN2JmZjkyZDdlNGRmZjVhZC5zdmcpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.99124.7129e057c7444df25994.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.775Z","timestamp":1785141584775,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.99124.7129e057c7444df25994.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-1544\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bcae814002ad304b952e9d0fc116a624\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5444,"size_decoded":2672,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (3021)","md5":"d49ebbbc471ca07bc848bb880bb26d84","sha1":"20f220b0289d31bbccf6998d62734c26918d3d03","sha256":"fc21b6b03e6cd84b3deb28a311ba60e13595285aed15bc3a42f677c2d120e278","sha512":"181c814b0478736fdd60bf6d9ac6b02c54c72831c9e577659b4e9594ff60606ffef4a36c8cc5c951778a81751afb88afb907d9ec91a872f926ffa2219ec7ae79","ssdeep":"96:vl1zur72uG7PtLkKke9KRIKWOgIQHWokY/CIXni:tZur7fGjxgRIKQBrXi","tlshash":"7bb16513e140e1e61f72eb21b349edc4b8f4b19162f2e4c673596f65c11bc646838b75","first_seen":"2026-07-23T14:37:54.495318Z","last_seen":"2026-07-27T12:52:15.518881Z","times_seen":107,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjA4MCw5OTEyNF0sezk5NDAxNihlKXtlLmV4cG9ydHM9WyJDb21tdW5pdHkgcG9zdHMgZm9yIHtzeW1ib2x9Il19LDcxMzkwNShlKXtlLmV4cG9ydHM9WyJDb21tdW5pdHkiXX0sMjQ1MTQ3KGUpe2UuZXhwb3J0cz1bIkNvbnRyYWN0cyJdfSw2ODE5MjEoZSl7ZS5leHBvcnRzPVsiQ2hhcnQiXX0sMzM0NDE1KGUpe2UuZXhwb3J0cz1bIkFuYWx5c2lzIl19LDYxMjU1KGUpe2UuZXhwb3J0cz1bIkFzc2V0cyJdfSw2MDIxMTMoZSl7ZS5leHBvcnRzPVsiQm9uZHMiXX0sNzg3NDQyKGUpe2UuZXhwb3J0cz1bIkRvY3VtZW50cyJdfSw1NTgwNjcoZSl7ZS5leHBvcnRzPVsiRGVyaXZhdGl2ZXMiXX0sOTI3ODkoZSl7ZS5leHBvcnRzPVsiRVRGcyJdfSwzODg3ODYoZSl7ZS5leHBvcnRzPVsiRWNvbm9teSBpbmRpY2F0b3JzIl19LDUzNDAyNyhlKXtlLmV4cG9ydHM9WyJGb3JlY2FzdCJdfSw2Njg2ODAoZSl7ZS5leHBvcnRzPVsiRm9yd2FyZCBjdXJ2ZSJdfSwzODAxNTgoZSl7ZS5leHBvcnRzPVsiRmluYW5jaWFscyJdfSw5OTU2MDIoZSl7ZS5leHBvcnRzPVsiRnVuZGFtZW50YWxzIl19LDk1NDExMShlKXtlLmV4cG9ydHM9WyJPcHRpb25zIl19LDg0MzUyMChlKXtlLmV4cG9ydHM9WyJOZXdzIl19LDM3ODc1MChlKXtlLmV4cG9ydHM9WyJTZWFzb25hbHMiXX0sOTIxNjQyKGUpe2UuZXhwb3J0cz1bIlByb2ZpbGUiXX0sMTIxMjcwKGUpe2UuZXhwb3J0cz1bIlRlY2huaWNhbHMiXX0sNjE2MTgwKGUpe2UuZXhwb3J0cz1bIllpZWxkIGN1cnZlIl19LDY2ODQ0OShlKXtlLmV4cG9ydHM9WyJhbmltYWxzICYgbmF0dXJlIl19LDU3NDcxNShlKXtlLmV4cG9ydHM9WyJhY3Rpdml0eSJdfSwxNDc1MDAoZSl7ZS5leHBvcnRzPVsiZm9vZCAmIGRyaW5rIl19LDE3NDE3OChlKXtlLmV4cG9ydHM9WyJmbGFncyJdfSw5NDMzOTMoZSl7ZS5leHBvcnRzPVsib2JqZWN0cyJdfSwzMDYwNzAoZSl7ZS5leHBvcnRzPVsic21pbGVzICYgcGVvcGxlIl19LDI3NjYwOShlKXtlLmV4cG9ydHM9WyJzeW1ib2xzIl19LDQ2NTQ1NihlKXtlLmV4cG9ydHM9WyJyZWNlbnRseSB1c2VkIl19LDEyMzEzOChlKXtlLmV4cG9ydHM9WyJ0cmF2ZWwgJiBwbGFjZXMiXX0sNTI3MShlKXtlLmV4cG9ydHM9WyJFVEZzIGZvciB7c3ltYm9sfSJdfSw3NjM5MzQoZSl7ZS5leHBvcnRzPVsiRG93bmxvYWQgY2hhcnQgZGF0YSJdfSw5MTA0NzYoZSl7ZS5leHBvcnRzPVsiRG90Il19LDU3MjIzOShlKXtlLmV4cG9ydHM9WyJBZGQgY3VzdG9tIGludGVydmFsIl19LDQ0MDI1MShlKXtlLmV4cG9ydHM9WyJSZW1vdmUiXX0sNDI3NDQyKGUpe2UuZXhwb3J0cz1bIkRlZmF1bHQgdGVtcGxhdGVzIl19LDMyNTkxMChlKXtlLmV4cG9ydHM9WyJNeSB0ZW1wbGF0ZXMiXX0sNTE4MjQ5KGUpe2UuZXhwb3J0cz1bIlJlY2VudGx5IHVzZWQiXX0sMzkzMjczKGUpe2UuZXhwb3J0cz1bIlJlbW92ZSJdfSwyMDI4OTEoZSl7ZS5leHBvcnRzPVsiRGF5cyJdfSwxMjY5MTcoZSl7ZS5leHBvcnRzPVsiSG91cnMiXX0sMzQ0NzQ3KGUpe2UuZXhwb3J0cz1bIk1vbnRocyJdfSwyMzA5MDkoZSl7ZS5leHBvcnRzPVsiTWludXRlcyJdfSw3NTI3MDAoZSl7ZS5leHBvcnRzPVsiU2Vjb25kcyJdfSwyODgwMzQoZSl7ZS5leHBvcnRzPVsiUmFuZ2VzIl19LDQzMzk5NChlKXtlLmV4cG9ydHM9WyJXZWVrcyJdfSw4NzAzMDEoZSl7ZS5leHBvcnRzPVsiVGlja3MiXX0sNjI5Mzg0KGUpe2UuZXhwb3J0cz1bIkZhdm9yaXRlIEluZGljYXRvcnMiXX0sNDM0MDc2KGUpe2UuZXhwb3J0cz1bIllvdSBoYXZlIG5vIEZhdm9yaXRlcyBJbmRpY2F0b3JzIHlldCJdfSw1OTA4ODQoZSl7ZS5leHBvcnRzPVsiQ29weSBsaW5rIl19LDkzODQ5NyhlKXtlLmV4cG9ydHM9WyJDcmVhdGUgbmV3IGxheW91dCJdfSw0Nzk3MShlKXtlLmV4cG9ydHM9WyJBdXRvc2F2ZSJdfSw2MTM1MTYoZSl7ZS5leHBvcnRzPVsiT3BlbiBsYXlvdXQiXX0sMjI0ODkoZSl7ZS5leHBvcnRzPVsiU2hhcmUgbGF5b3V0Il19LDc0NTY3NihlKXtlLmV4cG9ydHM9WyJTaGFyaW5nIl19LDYyMzI0NChlKXtlLmV4cG9ydHM9WyJSZWNlbnRseSB1c2VkIl19LDU2NTQ1MShlKXtlLmV4cG9ydHM9WyJSZW5hbWUiXX0sMTAxNDM1KGUpe2UuZXhwb3J0cz1bIk5ld3MgZm9yIHtzeW1ib2x9Il19LDEyNDc2NihlKXtlLmV4cG9ydHM9WyJDb3B5IGltYWdlIl19LDQyMjg3MChlKXtlLmV4cG9ydHM9WyJDb3B5IGxpbmsiXX0sNjY3OTgxKGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHNuYXBzaG90Il19LDMzNjk5MyhlKXtlLmV4cG9ydHM9WyJEb3dubG9hZCBpbWFnZSJdfSw1ODUxMjgoZSl7ZS5leHBvcnRzPVsiU2hhcmUgdmlhIFN5bXBob255Il19LDU4MTg1MyhlKXtlLmV4cG9ydHM9WyJUd2VldCBpbWFnZSJdfSw0NzM3ODIoZSl7ZS5leHBvcnRzPVsiU2F2ZSJdfSw0NzUwMjgoZSl7ZS5leHBvcnRzPVsiU3dpdGNoIGRhdGEgdHlwZSJdfSw2MDQwMShlKXtlLmV4cG9ydHM9WyJTeW1ib2wgc2VhcmNoIl19LDY4NTU3NShlKXtlLmV4cG9ydHM9WyJQcm9maWxlIGZvciB7c3ltYm9sfSJdfSw0ODYzNjEoZSl7ZS5leHBvcnRzPVsiQ3JlYXRlIGFsZXJ0Il19LDg3MzgyMChlKXtlLmV4cG9ydHM9WyJDb21wYXJlIHN5bWJvbHMiXX0sMTMzOTcoZSl7ZS5leHBvcnRzPVsiRmF2b3JpdGUgaW5kaWNhdG9ycyJdfSwyNDQwODAoZSl7ZS5leHBvcnRzPVsiU2F2ZSBpbmRpY2F0b3IgdGVtcGxhdGUiXX0sOTA5ODQ3KGUpe2UuZXhwb3J0cz1bIlF1aWNrIHNlYXJjaCJdfSw0NTMyNjMoZSl7ZS5leHBvcnRzPVsicmVkbyB7aGludH0iXX0sNzMxNjQ5KGUpe2UuZXhwb3J0cz1bInVuZG8ge2hpbnR9Il19LDEyOTIxNChlKXtlLmV4cG9ydHM9WyJDb3B5Il19LDYwODk5MihlKXtlLmV4cG9ydHM9WyJDb3B5IGxpbmsiXX0sNjk0NjM3KGUpe2UuZXhwb3J0cz1bIkNoYXJ0IGludGVydmFsIl19LDczNzIxNShlKXtlLmV4cG9ydHM9WyJDcm9zc2hhaXIiXX0sMTI0NzgoZSl7CmUuZXhwb3J0cz1bIkNyb3NzaGFpciBpcyBzeW5jZWQgYWNyb3NzIGFsbCBjaGFydHMgd2l0aGluIHRoZSBsYXlvdXQiXX0sOTk1MjkoZSl7ZS5leHBvcnRzPVsiQWRkIHRvIGZhdm9yaXRlcyJdfSwxNjE3MzUoZSl7ZS5leHBvcnRzPVsiQWxlcnQiXX0sMzkzOShlKXtlLmV4cG9ydHM9WyJBbGwgY2hhbmdlcyBzYXZlZCJdfSw1NTYzOTkoZSl7ZS5leHBvcnRzPVsiQXV0b3NhdmUiXX0sODkzNTc2KGUpe2UuZXhwb3J0cz1bIkJvbmRzIGZvciB7c3ltYm9sfSJdfSw4MzM5MzQoZSl7ZS5leHBvcnRzPVsiQmFyJ3Mgc3R5bGUiXX0sNzUxMjgzKGUpe2UuZXhwb3J0cz1bIkRvY3VtZW50cyBmb3Ige3N5bWJvbH0iXX0sNDI3NDk0KGUpe2UuZXhwb3J0cz1bIkRhdGUgcmFuZ2UiXX0sMTA0NTU5KGUpe2UuZXhwb3J0cz1bIkRhdGUgcmFuZ2UgY2hhbmdlcyBvbiBhbGwgY2hhcnRzIHdpdGhpbiB0aGUgbGF5b3V0Il19LDQzNTgxMyhlKXtlLmV4cG9ydHM9WyJEZWZhdWx0IHRlbXBsYXRlcyJdfSwyNTM1MyhlKXtlLmV4cG9ydHM9WyJFY29ub215IGluZGljYXRvcnMiXX0sNjY2OTQ0KGUpe2UuZXhwb3J0cz1bIkV2ZXJ5b25lIHdpdGggdGhlIGxpbmsgY2FuIHZpZXcgYW5kIGNvcHkiXX0sNDUwMTY2KGUpe2UuZXhwb3J0cz1bIkZvcmVjYXN0IGZvciB7c3ltYm9sfSJdfSw1MjI5MTEoZSl7ZS5leHBvcnRzPVsiRnVsbHNjcmVlbiBtb2RlIl19LDEyNzU2OShlKXtlLmV4cG9ydHM9WyJJbnRlcnZhbCJdfSw0MDU5NDYoZSl7ZS5leHBvcnRzPVsiSW50ZXJ2YWwgY2hhbmdlcyBvbiBhbGwgY2hhcnRzIHdpdGhpbiB0aGUgbGF5b3V0Il19LDYxNjkoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9yIHRlbXBsYXRlcyJdfSw4NDgzOTQoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9ycyJdfSwxNzQ0ODIoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9ycywgbWV0cmljcywgYW5kIHN0cmF0ZWdpZXMiXX0sNDEyNzc2KGUpe2UuZXhwb3J0cz1bIk9wdGlvbnMgZm9yIHtzeW1ib2x9Il19LDgwNjYzNihlKXtlLmV4cG9ydHM9WyJPcGVuIHRlbXBsYXRlIl19LDc1NjAwOShlKXtlLmV4cG9ydHM9WyJPcGVuIGNoYXJ0IGluIHBvcHVwIl19LDE0ODg4OShlKXtlLmV4cG9ydHM9WyJPcGVuIGluIG5ldyB0YWIiXX0sMjQyOTEzKGUpe2UuZXhwb3J0cz1bIkxvYWQgQ2hhcnQgTGF5b3V0Il19LDQzNjUwNChlKXtlLmV4cG9ydHM9WyJMb2FkaW5nLi4uIl19LDk3NDIxNChlKXtlLmV4cG9ydHM9WyJMYXlvdXQgc2V0dXAiXX0sOTI3NzA1KGUpe2UuZXhwb3J0cz1bIkxheW91dCB0eXBlIl19LDQ0NzE1MChlKXtlLmV4cG9ydHM9WyJMaW5rIGNvcGllZCB0byBjbGlwYm9hcmQiXX0sNjE4MDM5KGUpe2UuZXhwb3J0cz1bIk1ha2UgYSBjb3B5Il19LDIzNjY2MChlKXtlLmV4cG9ydHM9WyJNYW5hZ2UgbGF5b3V0cyJdfSwyODU0ODMoZSl7ZS5leHBvcnRzPVsiTXkgdGVtcGxhdGVzIl19LDU0ODY5MChlKXtlLmV4cG9ydHM9WyJOdW1iZXIgb3Ige2hvdEtleV8wfSJdfSw2MTI2NTUoZSl7ZS5leHBvcnRzPVsiU2F2ZSJdfSw4MjAzKGUpe2UuZXhwb3J0cz1bIlNhdmUgYWxsIGNoYXJ0cyBmb3IgYWxsIHN5bWJvbHMgYW5kIGludGVydmFscyBvbiB5b3VyIGxheW91dCJdfSw5MzkwNzQoZSl7ZS5leHBvcnRzPVsiU2F2ZSBsYXlvdXQiXX0sNjg1OTYzKGUpe2UuZXhwb3J0cz1bIlNlYXNvbmFscyBmb3Ige3N5bWJvbH0iXX0sOTY3MjU3KGUpe2UuZXhwb3J0cz1bIlNlYXJjaCB1c2luZyBJU0lOIGFuZCBDVVNJUCBjb2RlcyJdfSwyOTY0NTcoZSl7ZS5leHBvcnRzPVsiU2hhcmUiXX0sNTQwMDQyKGUpe2UuZXhwb3J0cz1bIlNoYXJlIGxhc3QgcHJpY2UiXX0sODcwNjc4KGUpe2UuZXhwb3J0cz1bIlNoYXJlIHNuYXBzaG90Il19LDM5MDE5OChlKXtlLmV4cG9ydHM9WyJTaW1wbHkgc3RhcnQgdHlwaW5nIHdoaWxlIG9uIHRoZSBjaGFydCB0byBwdWxsIHVwIHRoaXMgc2VhcmNoIGJveCJdfSw2MTMxNjMoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIl19LDQ4MjIyNShlKXtlLmV4cG9ydHM9WyJTeW1ib2wgY2hhbmdlcyBvbiBhbGwgY2hhcnRzIHdpdGhpbiB0aGUgbGF5b3V0Il19LDczOTkzNihlKXtlLmV4cG9ydHM9WyJTeW5jIGluIGxheW91dCJdfSwzNTgyOTEoZSl7ZS5leHBvcnRzPVsiUmVjZW50bHkgdXNlZCJdfSw2OTQyMDkoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIGZyb20gZmF2b3JpdGVzIl19LDc1NDM4MihlKXtlLmV4cG9ydHM9WyJSZW1vdmUgc2VsZWN0ZWQgZW1vamkiXX0sNTIwMzg3KGUpe2UuZXhwb3J0cz1bIldoZW4gYSBjaGFydCBpcyBjbGlja2VkLCBhbGwgY2hhcnRzIHdpdGhpbiB0aGUgbGF5b3V0IGRpc3BsYXkgdGhlIHNhbWUgcG9pbnQgb2YgdGltZSJdfSwyMDczNzEoZSl7ZS5leHBvcnRzPVsiVGFrZSBhIHNuYXBzaG90Il19LDE4NjEyNShlKXtlLmV4cG9ydHM9WyJUaGUgTW90bGV5IEZvb2wgY29kZSJdfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/studies.c50f28eb9a346e093252.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.906Z","timestamp":1785141584906,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/studies.c50f28eb9a346e093252.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-2dbb5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 325d366d1985694655e3ec4255b0631a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":187317,"size_decoded":59413,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (5953)","md5":"7987bd9ad9ebf8cf88bfd546acda45a6","sha1":"9d7cd0f9c2870976e2d42691fcec9c54b559febe","sha256":"561baf84600f8c7de1b64b308c0ab5c5c64b4147787b87dc06b944c48ba625b6","sha512":"9b8f36f0dd7580b4de39537ae4436f51bc2c3209e74e6b6accddf56c1ae01b8f54a9b9c64310fd18ac27cc77a3823c6b038078c45fa7e8ecff7650e3008a8a9f","ssdeep":"3072:w9dsU/XupjW4Pz+u8HuG3x3TrbZ0jv8L2EChXqVIywmlgkOJGJcdbo5CgZPz4OyG:44PToPYEJYTgZPz4OyoczgJyylAt/W","tlshash":"19042a6172e178ea93eb10d949790543db1d2c86780984acf2bc4cee265dd4c723afbc","first_seen":"2026-07-24T11:36:47.85007Z","last_seen":"2026-07-27T14:50:15.392514Z","times_seen":74,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNTE5Niw0NzUzOCw1Mzc3MCw2NDY0NCw2Njg2Nl0sezkxNDQ4NyhlLHQpe3ZhciBzOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgaT17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiByKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcz1hcmd1bWVudHNbdF07aWYocyl7dmFyIG49dHlwZW9mIHM7aWYoInN0cmluZyI9PT1ufHwibnVtYmVyIj09PW4pZS5wdXNoKHMpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShzKSYmcy5sZW5ndGgpe3ZhciBvPXIuYXBwbHkobnVsbCxzKTtvJiZlLnB1c2gobyl9ZWxzZSBpZigib2JqZWN0Ij09PW4pZm9yKHZhciBhIGluIHMpaS5jYWxsKHMsYSkmJnNbYV0mJmUucHVzaChhKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oci5kZWZhdWx0PXIsZS5leHBvcnRzPXIpOnZvaWQgMD09PShzPWZ1bmN0aW9uKCl7cmV0dXJuIHJ9LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1zKX0oKX0sNTQxODIwKGUpe2UuZXhwb3J0cz17c3VidGl0bGU6InN1YnRpdGxlLWJMVEJoQ3dKIix0ZXh0OiJ0ZXh0LWJMVEJoQ3dKIixzdW1tYXJ5OiJzdW1tYXJ5LWJMVEJoQ3dKIixncm91cDoiZ3JvdXAtYkxUQmhDd0oiLGdyb3VwSWNvbjoiZ3JvdXBJY29uLWJMVEJoQ3dKIixiZWZvcmVNYXJrZXRPcGVuOiJiZWZvcmVNYXJrZXRPcGVuLWJMVEJoQ3dKIixhZnRlck1hcmtldENsb3NlOiJhZnRlck1hcmtldENsb3NlLWJMVEJoQ3dKIixncm91cFRpdGxlOiJncm91cFRpdGxlLWJMVEJoQ3dKIixncm91cFJvdzoiZ3JvdXBSb3ctYkxUQmhDd0oiLGdyb3VwQ2VsbDoiZ3JvdXBDZWxsLWJMVEJoQ3dKIn19LDgwNjQxNShlKXtlLmV4cG9ydHM9e29wZXJhdG9yOiJvcGVyYXRvci1JSE5RVkFRSSJ9fSwyNzMzMTAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7SWNvbjooKT0+cn0pO3ZhciBpPXMoNzc5NDc0KTtjb25zdCByPWkuZm9yd2FyZFJlZigoKGUsdCk9Pntjb25zdHtpY29uOnM9IiIsdGl0bGU6cixhcmlhTGFiZWw6bixhcmlhTGFiZWxsZWRieTpvLGFyaWFIaWRkZW46YSwuLi5sfT1lLHU9ISEocnx8bnx8byk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6ImltZyIsLi4ubCxyZWY6dCwiYXJpYS1sYWJlbCI6biwiYXJpYS1sYWJlbGxlZGJ5IjpvLCJhcmlhLWhpZGRlbiI6YXx8IXUsdGl0bGU6cixkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOnN9fSl9KSl9LDYyODAwOShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtpc0Z1bmRhbWVudGFsU3VwcG9ydGVkQnlBbGVydHM6KCk9PnJ9KTtjb25zdCBpPW5ldyBTZXQoWyJTVEQ7RnVuZF9idXliYWNrX3lpZWxkIiwiU1REO0Z1bmRfZGl2aWRlbmRfeWllbGRfY2FsY3VsYXRlZCIsIlNURDtGdW5kX2Vhcm5pbmdzX3lpZWxkIiwiU1REO0Z1bmRfbWFya2V0X2NhcF9iYXNpYyIsIlNURDtGdW5kX3ByaWNlX2Vhcm5pbmdzX2dyb3d0aF9yYXRpbyIsIlNURDtGdW5kX3ByaWNlX2Jvb2siLCJTVEQ7RnVuZF9wcmljZV9jYXNoX2Zsb3ciLCJTVEQ7RnVuZF9wcmljZV9lYXJuaW5ncyIsIlNURDtGdW5kX3ByaWNlX2ZyZWVfY2FzaF9mbG93IiwiU1REO0Z1bmRfcHJpY2Vfc2FsZXMiLCJTVEQ7RnVuZF9wcmljZV90YW5naWJsZV9ib29rIl0pO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIGkuaGFzKGUpfX0sNTMyOTc1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2dldERvY3VtZW50c0FwaTooKT0+dX0pO3ZhciBpPXMoODM5NDI2KSxyPXMoMzg0MDE3KTtjbGFzcyBue2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fcHVibGljUHJlZml4PSJwdWJsaWMvIix0aGlzLl9iYXNlVXJsPWUuZW5kc1dpdGgoIi8iKT9lOmAke2V9L2AsdGhpcy5fZmV0Y2g9dH1hc3luYyBfc2VuZFJlcXVlc3QoZSx0LHMpe2NvbnN0IGk9YXdhaXQgdGhpcy5fZmV0Y2godC50b1N0cmluZygpLHsuLi5zLG1ldGhvZDplfSk7aWYoIWkub2spe2NvbnN0IHM9YXdhaXQgaS50ZXh0KCk7dGhyb3cgbmV3IEVycm9yKGBFcnJvciB3aGlsZSBmZXRjaGluZyAke2V9ICR7dC50b1N0cmluZygpfS4gUmVzcG9uc2Ugc3RhdHVzICR7aS5zdGF0dXN9ICR7aS5zdGF0dXNUZXh0fS4gUmVzcG9uc2UgdGV4dDogJyR7c30nYCl9cmV0dXJuIGl9X3BhcnNlQm9keShlKXtyZXR1cm4gZS5qc29uKCl9X2dldFVSTChlLHQpe2NvbnN0IHM9bmV3IFVSTChlLHRoaXMuX2Jhc2VVcmwpO2lmKHQpe2NvbnN0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyh0KTtzLnNlYXJjaD1lLnRvU3RyaW5nKCl9cmV0dXJuIHN9fWZ1bmN0aW9uIG8oZSl7Y29uc3QgdD1uZXcgVVJMU2VhcmNoUGFyYW1zO3JldHVybiBudWxsIT1lLmNsaWVudCYmdC5zZXQoImNsaWVudCIsZS5jbGllbnQpLG51bGwhPWUuc3RyZWFtaW5nJiZ0LnNldCgic3RyZWFtaW5nIixTdHJpbmcoZS5zdHJlYW1pbmcpKSxudWxsIT1lLnB1YlVzYWdlJiZ0LnNldCgicHViX3VzYWdlIixlLnB1YlVzYWdlLmpvaW4oIiwiKSksZS5maWx0ZXJzLnNsaWNlKCkuc29ydCgoKGUsdCk9PmUuaWQ8dC5pZD8tMToxKSkuZm9yRWFjaCgoZT0+e2lmKDA9PT1lLnZhbHVlcy5sZW5ndGgpcmV0dXJuO2NvbnN0IHM9ZS52YWx1ZXMuc2xpY2UoKS5zb3J0KCkuam9pbigiLCIpO3QuYXBwZW5kKCJmaWx0ZXIiLGUuaWQrIjoiK3MpfSkpLHQuc29ydCgpLHQudG9TdHJpbmcoKX1jbGFzcyBhIGV4dGVuZHMgbntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fYXBpUGF0aD0iZG9jLXNjcmVlbmVyL3YxIn1hc3luYyBnZXREb2N1bWVudHMoZSx0KXtjb25zdCBzPW8oZSksaT10aGlzLl9nZXRVUkwoYCR7dGhpcy5fcHVibGljUHJlZml4fSR7dGhpcy5fYXBpUGF0aH0vZG9jdW1lbnRzYCxzKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIkdFVCIsaSx0KS50aGVuKHRoaXMuX3BhcnNlQm9keSl9fWNsYXNzIGwgZXh0ZW5kcyBue2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9hcGlQYXRoPSJuZXdzLWZsb3cvdjIifWFzeW5jIGdldFN1bW1hcmllcyhlLHQpewpjb25zdCBzPW8oZSksaT10aGlzLl9nZXRVUkwoYCR7dGhpcy5fcHVibGljUHJlZml4fSR7dGhpcy5fYXBpUGF0aH0vbmV3c2Ascyk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJHRVQiLGksdCkudGhlbih0aGlzLl9wYXJzZUJvZHkpfX1jb25zdCB1PSgwLGkuZGVmYXVsdCkoKCgpPT57Y29uc3QgZT0oZSx0KT0+KDAsci5mZXRjaCkoZSx0KSx0PWZ1bmN0aW9uKCl7bGV0IGU9d2luZG93Lk5FV1NfTUVESUFUT1JfVVJMO2UuZW5kc1dpdGgoIi8iKXx8KGUrPSIvIik7cmV0dXJuIGV9KCk7cmV0dXJue2RvY1NjcmVlbmVyOnt2MTpuZXcgYSh0LGUpfSxkb2NTdW1tYXJpZXM6e3YyOm5ldyBsKHQsZSl9fX0pKX0sODExOTA0KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse29wZW5DYXJkUG9wdXA6KCk9Pml9KTtjb25zdCBpPShlLHQsaSxyKT0+UHJvbWlzZS5hbGwoW3MuZSg4NzU0Mikscy5lKDg0MzA2KSxzLmUoMjkyOTYpLHMuZSg1MjM5Nikscy5lKDYwMDYyKSxzLmUoNDY5MDcpLHMuZSgyMDM1NCkscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSgxMjM4NSkscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSgzMjgxNikscy5lKDUxODQpLHMuZSg4MzQ4OCkscy5lKDE5NTk1KSxzLmUoMTk3ODcpLHMuZSg2Nzc5OSkscy5lKDExNDYxKSxzLmUoMjQ1ODEpLHMuZSg5NjU4Nykscy5lKDExMjE4KSxzLmUoODY0MjMpLHMuZSgzNzUxMykscy5lKDk1MDQpLHMuZSg0MDgzNSkscy5lKDkzNDIxKSxzLmUoNzg2NTIpLHMuZSg0OTU4OCkscy5lKDEwMzg1KSxzLmUoNTIwNjUpLHMuZSg0NzYzMikscy5lKDY2MDUpLHMuZSg3NDM4MSkscy5lKDE1NTI2KSxzLmUoNzE0MTQpLHMuZSg2MTgyMSkscy5lKDUyNjgwKSxzLmUoMzU3OTQpLHMuZSgzMjc0OCkscy5lKDE2NzYpLHMuZSg2NjI3MCkscy5lKDk3NDQpLHMuZSg4MzA0MSkscy5lKDcxNDgyKSxzLmUoMTk1MTMpLHMuZSgzNTE5OCkscy5lKDQ2NTkxKSxzLmUoNzE1MjgpLHMuZSg0NTM2OCkscy5lKDQ0NzcpLHMuZSgxNTA5KSxzLmUoNTUzMzYpLHMuZSg5MjM5Mykscy5lKDIwMjcxKSxzLmUoNTE4ODApLHMuZSg3NjMyOSkscy5lKDI3NTQ5KSxzLmUoMTY0MjEpLHMuZSg4MjI3MSkscy5lKDY5ODA5KSxzLmUoOWUzKSxzLmUoNzg0NzEpLHMuZSg4ODM4NSkscy5lKDUwMzI1KSxzLmUoNDcwMjEpLHMuZSg3MzU1MSkscy5lKDc4MjM3KSxzLmUoMTM2NzcpLHMuZSgzMjM4Nykscy5lKDc4MzEyKSxzLmUoMjM3NDMpLHMuZSg0MjI4OCkscy5lKDc3NTc4KSxzLmUoODk0Nikscy5lKDYxMTgzKSxzLmUoNzgxMDkpLHMuZSgxNjYwKSxzLmUoMjk3OTgpXSkudGhlbihzLmJpbmQocyw3MjE2NDcpKS50aGVuKChzPT5zLm9wZW5DYXJkUG9wdXAoZSx0LGkscikpKX0sMTEyNzI1KGUsdCxzKXsidXNlIHN0cmljdCI7aWYocy5kKHQse2J1aWxkU3VtbWFyaWVzTWFwOigpPT5fLGNhdGVnb3J5SGFzU3VtbWFyeTooKT0+YSxnZXREb2N1bWVudHNXaXRoU3VtbWFyeTooKT0+byxnZXRHcm91cGVkRG9jdW1lbnRzOigpPT5uLGxvb2t1cEJ5RG9jdW1lbnRJZDooKT0+cCxvcGVuRG9jdW1lbnRJbk5ld1RhYjooKT0+eSxwcmVwYXJlU3VtbWFyeTooKT0+bCxzb3J0Q2F0ZWdvcmllczooKT0+dSx0b0RvY3VtZW50Q2FyZFByb3BzOigpPT5jfSksNzk3OTU9PXMuail2YXIgaT1zKDMwNTEwOSk7Y29uc3Qgcj1uZXcgU2V0KFsiYW5udWFsX3JlcG9ydCIsImFubnVhbF9maW5hbmNpYWxfc3RhdGVtZW50Il0pO2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD17fTtmb3IoY29uc3QgcyBvZiBlKXtpZighcy52aWV3cz8ubGVuZ3RoKWNvbnRpbnVlO2NvbnN0IGU9e2lkOnMuaWQsdGl0bGU6cy50aXRsZSxldmVudDpzLmV2ZW50LHJlcG9ydGVkOnMucmVwb3J0ZWQsZmlzY2FsWWVhcjpzLmZpc2NhbF95ZWFyLGZpc2NhbFBlcmlvZDpzLmZpc2NhbF9wZXJpb2QsY2F0ZWdvcmllczpbe2RvY3VtZW50SWQ6cy5pZCxpZDpzLmNhdGVnb3J5LmlkLHRpdGxlOnMuY2F0ZWdvcnkudGl0bGUsdmlld3M6cy52aWV3cyxmb3JtOnMuZm9ybX1dfTt0W3MuY29ycmVsYXRpb25faWRdP3Rbcy5jb3JyZWxhdGlvbl9pZF0uY2F0ZWdvcmllcy5wdXNoKC4uLmUuY2F0ZWdvcmllcyk6dFtzLmNvcnJlbGF0aW9uX2lkXT1lfXJldHVybiBPYmplY3QudmFsdWVzKHQpfWZ1bmN0aW9uIG8oZSx0LHMsaSl7Y29uc3Qgcj1uKGUpLG89T2JqZWN0LmtleXMocykubWFwKChlPT5OdW1iZXIoZSkpKTtyZXR1cm4gci5tYXAoKGU9PmMoZSxfKHQpLG8scyxpKSkpfWZ1bmN0aW9uIGEoe3ZpZXdzOmV9KXtyZXR1cm4gZS5zb21lKCgoe3R5cGU6ZX0pPT4ic3VtbWFyeSI9PT1lKSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZT8iLiI9PT1lW2UubGVuZ3RoLTFdP2U6YCR7ZX0uYDp2b2lkIDB9ZnVuY3Rpb24gdShlKXtjb25zdCB0PVsidHJhbnNjcmlwdCIsImNhbGxfdHJhbnNjcmlwdCIsImV2ZW50X3RyYW5zY3JpcHQiLCJlYXJuaW5nc19yZWxlYXNlIiwicXVhcnRlcmx5X3JlcG9ydCIsImFubnVhbF9yZXBvcnQiLCJzbGlkZXMiXTtyZXR1cm4gZS5zb3J0KCgoZSxzKT0+e2NvbnN0IGk9dC5pbmRleE9mKGUuaWQpLHI9dC5pbmRleE9mKHMuaWQpO3JldHVybigtMT09PWk/dC5sZW5ndGg6aSktKC0xPT09cj90Lmxlbmd0aDpyKX0pKX1mdW5jdGlvbiBjKGUsdCxzLG4sbyl7bGV0IGE9ZS50aXRsZTtjb25zdCBjPSJlYXJuaW5nIj09PWUuZXZlbnQsaD1lLmNhdGVnb3JpZXMuc29tZSgoZT0+ci5oYXMoZS5pZCkpKSxkPW5ldyBEYXRlKDFlMyplLnJlcG9ydGVkKS5nZXRGdWxsWWVhcigpO2MmJmUuZmlzY2FsUGVyaW9kJiZlLmZpc2NhbFllYXImJihhPWBFYXJuaW5ncywgJHtlLmZpc2NhbFBlcmlvZH0gRlkke2UuZmlzY2FsWWVhcn1gKTtjb25zdCBfPXUoZS5jYXRlZ29yaWVzKSx5PWZ1bmN0aW9uKGUsdCl7Zm9yKGNvbnN0IHMgb2YgZSl7Y29uc3QgZT1wKHMuZG9jdW1lbnRJZCx0KTtpZih2b2lkIDAhPT1lKXJldHVybiBlfXJldHVybn0oXyx0KSx2PWwoeSksZj1jJiZmdW5jdGlvbihlLHQpe2NvbnN0IHM9ZS1tLGk9ZSttLHI9dC5maWx0ZXIoKGU9PmU+PXMmJmU8PWkpKQo7cmV0dXJuIHIubGVuZ3RoP3JbMF06dm9pZCAwfShlLnJlcG9ydGVkLHMpO3JldHVybnt0aXRsZTphLGlzQW5udWFsOmgsc3VtbWFyeTp2LGV2ZW50OmUuZXZlbnQsZGF0ZTplLnJlcG9ydGVkLHllYXI6ZS5maXNjYWxZZWFyfHxkLGNhdGVnb3JpZXM6XyxlYXJuaW5nOmYmJmYgaW4gbj8oMCxpLmdldERvY3VtZW50RWFybmluZ1NlcnZlcikobltmXSk6dm9pZCAwLGN1cnJlbmN5Om99fWZ1bmN0aW9uIGgoZSl7Y29uc3QgdD1lLmluZGV4T2YoIjoiKTtyZXR1cm4tMT09PXQ/ZTplLnN1YnN0cmluZyh0KzEpLnRyaW0oKX1mdW5jdGlvbiBkKGUpe2NvbnN0IHQ9ZS5tYXRjaCgvOihcZCspLyk/LlsxXTtyZXR1cm4gdHx8bnVsbH1mdW5jdGlvbiBfKGUpe2NvbnN0IHQ9bmV3IE1hcDtmb3IoY29uc3QgcyBvZiBlKXtjb25zdCBlPWQocy5pZCk7bnVsbCE9PWUmJnQuc2V0KGUsaChzLnRpdGxlKSl9cmV0dXJuIHR9ZnVuY3Rpb24gcChlLHQpe2NvbnN0IHM9ZChlKTtyZXR1cm4gbnVsbD09PXM/dm9pZCAwOnQuZ2V0KHMpfWZ1bmN0aW9uIHkoZSl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7dC5ocmVmPWUsdC50YXJnZXQ9Il9ibGFuayIsdC5yZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCksdC5jbGljaygpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodCl9Y29uc3QgbT03OTc5NT09cy5qPzE3MjgwMDpudWxsfSwzMDUxMDkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtpZihzLmQodCx7Z2V0RG9jdW1lbnRFYXJuaW5nU2VydmVyOigpPT5yfSksNzk3OTU9PXMuail2YXIgaT1zKDk2MDk2Mik7ZnVuY3Rpb24gcihlKXtjb25zdCB0PWUuZGF0ZSxzPTE0PT09ZS50aW1lVHlwZSxyPXM/dm9pZCAwOigwLGkuaGFzTnVtYmVyKShlLnJlcG9ydGVkKT9lLnJlcG9ydGVkOnZvaWQgMCxuPSgwLGkuaGFzTnVtYmVyKShlLmVzdGltYXRlKT9lLmVzdGltYXRlOnZvaWQgMCxvPSgwLGkuaGFzTnVtYmVyKShyKSYmKDAsaS5oYXNOdW1iZXIpKG4pP3Itbjp2b2lkIDAsYT1vJiZuP01hdGguYWJzKG8vbioxMDApOnZvaWQgMCxsPXM/dm9pZCAwOigwLGkuaGFzTnVtYmVyKShlLnJldmVudWVWYWx1ZSk/MWU2KmUucmV2ZW51ZVZhbHVlOnZvaWQgMCx1PSgwLGkuaGFzTnVtYmVyKShlLnJldmVudWVFc3RpbWF0ZSk/MWU2KmUucmV2ZW51ZUVzdGltYXRlOnZvaWQgMCxjPSgwLGkuaGFzTnVtYmVyKShsKSYmKDAsaS5oYXNOdW1iZXIpKHUpP2wtdTp2b2lkIDAsaD1jJiZ1P01hdGguYWJzKGMvdSoxMDApOnZvaWQgMDtsZXQgZDtyZXR1cm4gZS50aW1lVHlwZT9lLnRpbWVUeXBlPDIwP2Q9MTA9PT1lLnRpbWVUeXBlPyJFc3RpbWF0ZWREYXRlIjoiRnV0dXJlIjpvJiYoZD1vPDA/Ik5lZ2F0aXZlIjoiUG9zaXRpdmUiKTpvP2Q9bzwwPyJOZWdhdGl2ZSI6IlBvc2l0aXZlIjp0JiZ0PkRhdGUubm93KCkmJihkPSJGdXR1cmUiKSx7ZGF0ZTp0LHR5cGU6ZCx0aW1lVHlwZTplLnRpbWVUeXBlLHBlcmlvZDplLnBlcmlvZHx8dm9pZCAwLHN0YW5kYXJkaXplZDplLnN0YW5kYXJkaXplZHx8dm9pZCAwLHJlcG9ydGVkOnIsZXN0aW1hdGU6bixzdXJwcmlzZTpvfHx2b2lkIDAsc3VycHJpc2VQZXJjZW50OmEscmV2ZW51ZVZhbHVlOmwscmV2ZW51ZUVzdGltYXRlOnUscmV2ZW51ZVN1cnByaXNlOmN8fHZvaWQgMCxyZXZlbnVlU3VycHJpc2VQZXJjZW50Omh9fX0sODg5Mzk3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse3Nob3dGaW5hbmNpYWxzRGlhbG9nOigpPT5yfSk7dmFyIGk9cyg4OTA4MzUpO2Z1bmN0aW9uIHIoZSl7aS5jdXJyZW50TGF5b3V0LnZhbHVlKCk/LnNob3dBbmFseXNpc1ZpZXcoImZpbmFuY2lhbHMiLGUpfX0sODg4NTYyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse29wZW5GaW5hbmNpYWxzV2VidmlldzooKT0+aH0pO3ZhciBpPXMoNzU3ODI5KSxyPXMoNjIzNTExKSxuPXMoMTI4ODE0KSxvPXMoMzA5MDUyKQo7Y29uc3QgYT1uZXcgU2V0KFsibnVtYmVyX29mX2VtcGxveWVlcyIsIndlYl9zaXRlX3VybCIsImZvdW5kZWQiLCJjZW8iLCJtYXJrZXRfY2FwX2Jhc2ljIiwiZGl2aWRlbmRzX3lpZWxkIiwicHJpY2VfZWFybmluZ3NfdHRtIiwiZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bSIsImN1cnJlbmN5X2NvZGUiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwiZmxvYXRfc2hhcmVzX291dHN0YW5kaW5nIiwidG90YWxfc2hhcmVzX291dHN0YW5kaW5nIiwidG90YWxfcmV2ZW51ZV9meV9oIiwidG90YWxfcmV2ZW51ZV9mcV9oIiwidG90YWxfcmV2ZW51ZV9maF9oIiwibmV0X2luY29tZV9meV9oIiwibmV0X2luY29tZV9mcV9oIiwibmV0X2luY29tZV9maF9oIiwidG90YWxfYXNzZXRzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZnFfaCIsInRvdGFsX2Fzc2V0c19maF9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJ0b3RhbF9saWFiaWxpdGllc19maF9oIiwiY2FzaF9mX29wZXJhdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19maF9oIiwiZmlzY2FsX3BlcmlvZF9meV9oIiwiZmlzY2FsX3BlcmlvZF9mcV9oIiwiZmlzY2FsX3BlcmlvZF9maF9oIiwiaW50ZXJlc3RfaW5jb21lX2Z5X2giLCJpbnRlcmVzdF9pbmNvbWVfZnFfaCIsImludGVyZXN0X2luY29tZV9maF9oIiwibm9uX2ludGVyZXN0X2luY29tZV9meV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9mcV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9maF9oIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlX2ZxX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnlfaCIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZV9maF9oIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGVfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZV9meSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X3RpbWUiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSIsImlzX25leHRfZWFybmluZ3NfcmVsZWFzZV9kYXRlX2VzdGltYXRlZCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnkiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9maCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9mcV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X2Z5X2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZmhfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2Z5X2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZmhfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnFfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnlfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZmhfaCIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9mcSIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9meSIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9maCIsInJldmVudWVfZnFfaCIsInJldmVudWVfZnlfaCIsInJldmVudWVfZmhfaCIsInJldmVudWVfZm9yZWNhc3RfZnFfaCIsInJldmVudWVfZm9yZWNhc3RfZnlfaCIsInJldmVudWVfZm9yZWNhc3RfZmhfaCIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9mcSIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9meSIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9maCIsImZ1bmRhbWVudGFsX2N1cnJlbmN5X2NvZGUiLCJkaXZpZGVuZF9wYXlvdXRfcmF0aW9fdHRtIiwiZGl2aWRlbmRzX3lpZWxkX2N1cnJlbnQiLCJkaXZpZGVuZF9leF9kYXRlX3VwY29taW5nIiwiZGl2aWRlbmRfYW1vdW50X3VwY29taW5nIiwiZGl2aWRlbmRfYW1vdW50X3JlY2VudCIsImRpdmlkZW5kX2V4X2RhdGVfcmVjZW50IiwiZGl2aWRlbmRfYW1vdW50X2giLCJkaXZpZGVuZF9wYXltZW50X2RhdGVfdXBjb21pbmciLCJkaXZpZGVuZF9wYXltZW50X2RhdGVfcmVjZW50IiwidG90YWxfcmV2ZW51ZV9meSIsImdyb3NzX3Byb2ZpdF9meSIsImViaXRkYV9meSIsImViaXRfZnkiLCJuZXRfaW5jb21lX2Z5IiwiZmlzY2FsX3BlcmlvZF9meSIsImZpc2NhbF9wZXJpb2RfZnlfaCIsImZpc2NhbF9wZXJpb2RfZnFfaCIsImZpc2NhbF9wZXJpb2RfZmhfaCIsInRvdGFsX2RlYnRfZnlfaCIsInRvdGFsX2RlYnRfZnFfaCIsInRvdGFsX2RlYnRfZmhfaCIsImZyZWVfY2FzaF9mbG93X2Z5X2giLCJmcmVlX2Nhc2hfZmxvd19mcV9oIiwiZnJlZV9jYXNoX2Zsb3dfZmhfaCIsImNhc2hfbl9lcXVpdmFsZW50c19meV9oIiwiY2FzaF9uX2VxdWl2YWxlbnRzX2ZxX2giLCJjYXNoX25fZXF1aXZhbGVudHNfZmhfaCIsImxvYW5zX25ldF9meV9oIiwibG9hbnNfbmV0X2ZxX2giLCJsb2Fuc19uZXRfZmhfaCIsInRvdGFsX2RlcG9zaXRzX2Z5X2giLCJ0b3RhbF9kZXBvc2l0c19mcV9oIiwidG90YWxfZGVwb3NpdHNfZmhfaCIsImxvYW5fbG9zc19hbGxvd2FuY2VzX2Z5X2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19mcV9oIiwibG9hbl9sb3NzX2FsbG93YW5jZXNfZmhfaCIsImluc3VyYW5jZV9yZXNlcnZlc19meV9oIiwiaW5zdXJhbmNlX3Jlc2VydmVzX2ZxX2giLCJpbnN1cmFuY2VfcmVzZXJ2ZXNfZmhfaCIsInBvbGljeV9jbGFpbXNfZnlfaCIsInBvbGljeV9jbGFpbXNfZnFfaCIsInBvbGljeV9jbGFpbXNfZmhfaCIsInByZW1pdW1zX2Vhcm5lZF9meV9oIiwicHJlbWl1bXNfZWFybmVkX2ZxX2giLCJwcmVtaXVtc19lYXJuZWRfZmhfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnlfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnFfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZmhfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZmhfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZmhfaCIsImZpc2NhbF9wZXJpb2RfZnlfaCIsImZpc2NhbF9wZXJpb2RfZnFfaCIsImZpc2NhbF9wZXJpb2RfZmhfaCIsInJlc2VydmVfdG9fdG90YWxfY2FwaXRhbF9meV9oIiwicmVzZXJ2ZV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJyZXNlcnZlX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsInVuZWFybmVkX3ByZW1pdW1fdG9fdG90YWxfY2FwaXRhbF9meV9oIiwidW5lYXJuZWRfcHJlbWl1bV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJ1bmVhcm5lZF9wcmVtaXVtX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsImZ1bmRhbWVudGFsX2N1cnJlbmN5X2NvZGUiLCJ0b3RhbF9jdXJyZW50X2Fzc2V0c19meSIsInRvdGFsX2N1cnJlbnRfYXNzZXRzX2ZxIiwidG90YWxfY3VycmVudF9hc3NldHNfZmgiLCJ0b3RhbF9jdXJyZW50X2xpYWJpbGl0aWVzX2Z5IiwidG90YWxfY3VycmVudF9saWFiaWxpdGllc19mcSIsInRvdGFsX2N1cnJlbnRfbGlhYmlsaXRpZXNfZmgiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZnkiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZnEiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZmgiLCJ0b3RhbF9ub25fY3VycmVudF9saWFiaWxpdGllc19meSIsInRvdGFsX25vbl9jdXJyZW50X2xpYWJpbGl0aWVzX2ZxIiwidG90YWxfbm9uX2N1cnJlbnRfbGlhYmlsaXRpZXNfZmgiLCJmaXNjYWxfcGVyaW9kX2Z5IiwiZmlzY2FsX3BlcmlvZF9mcSIsImZpc2NhbF9wZXJpb2RfZmgiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwicHJpY2VfZWFybmluZ3NfZnFfaCIsInByaWNlX2Vhcm5pbmdzX2Z5X2giLCJwcmljZV9lYXJuaW5nc19maF9oIiwicHJpY2Vfc2FsZXNfZnFfaCIsInByaWNlX3NhbGVzX2Z5X2giLCJwcmljZV9zYWxlc19maF9oIiwiZmlzY2FsX3BlcmlvZF9meV9oIiwiZmlzY2FsX3BlcmlvZF9mcV9oIiwiZmlzY2FsX3BlcmlvZF9maF9oIiwibWFya2V0X2NhcF9iYXNpYyIsImRpbHV0ZWRfbmV0X2luY29tZV90dG0iLCJ0b3RhbF9yZXZlbnVlX3R0bSIsIm5ldF9yZXZlbnVlX3R0bSIsImZ1bmRfdmlld19tb2RlcyIsInByaWNlX2Vhcm5pbmdzX2N1cnJlbnQiLCJwcmljZV9zYWxlc19jdXJyZW50IiwiZnVuZGFtZW50YWxfY3VycmVuY3lfY29kZSIsInJldmVudWVfc2VnX2J5X2J1c2luZXNzX2giLCJyZXZlbnVlX3NlZ19ieV9yZWdpb25faCIsImZpc2NhbF9wZXJpb2RfZnkiLCJpbnRlcmVzdF9pbmNvbWVfZnkiLCJpbnRlcmVzdF9pbmNvbWVfZnEiLCJpbnRlcmVzdF9pbmNvbWVfZmgiLCJub25faW50ZXJlc3RfaW5jb21lX2Z5Iiwibm9uX2ludGVyZXN0X2luY29tZV9mcSIsIm5vbl9pbnRlcmVzdF9pbmNvbWVfZmgiLCJpbnRlcmVzdF9leHBlbnNlX2Z5IiwiaW50ZXJlc3RfZXhwZW5zZV9mcSIsImludGVyZXN0X2V4cGVuc2VfZmgiLCJsb2FuX2xvc3NfcHJvdmlzaW9uX2Z5IiwibG9hbl9sb3NzX3Byb3Zpc2lvbl9mcSIsImxvYW5fbG9zc19wcm92aXNpb25fZmgiLCJub25faW50ZXJlc3RfZXhwZW5zZV9meSIsIm5vbl9pbnRlcmVzdF9leHBlbnNlX2ZxIiwibm9uX2ludGVyZXN0X2V4cGVuc2VfZmgiLCJub25fb3Blcl9pbmNvbWVfZnkiLCJub25fb3Blcl9pbmNvbWVfZnEiLCJub25fb3Blcl9pbmNvbWVfZmgiLCJ1bnVzdWFsX2V4cGVuc2VfaW5jX2Z5IiwidW51c3VhbF9leHBlbnNlX2luY19mcSIsInVudXN1YWxfZXhwZW5zZV9pbmNfZmgiLCJwcmV0YXhfaW5jb21lX2Z5IiwicHJldGF4X2luY29tZV9mcSIsInByZXRheF9pbmNvbWVfZmgiLCJ0b3RhbF9yZXZlbnVlX2Z5IiwidG90YWxfcmV2ZW51ZV9mcSIsInRvdGFsX3JldmVudWVfZmgiLCJncm9zc19wcm9maXRfZnkiLCJncm9zc19wcm9maXRfZnEiLCJncm9zc19wcm9maXRfZmgiLCJuZXRfaW5jb21lX2Z5IiwibmV0X2luY29tZV9mcSIsIm5ldF9pbmNvbWVfZmgiLCJjb3N0X29mX2dvb2RzX2Z5IiwiY29zdF9vZl9nb29kc19mcSIsImNvc3Rfb2ZfZ29vZHNfZmgiLCJvcGVyYXRpbmdfZXhwZW5zZXNfZnkiLCJvcGVyYXRpbmdfZXhwZW5zZXNfZnEiLCJvcGVyYXRpbmdfZXhwZW5zZXNfZmgiLCJvcGVyX2luY29tZV9meSIsIm9wZXJfaW5jb21lX2ZxIiwib3Blcl9pbmNvbWVfZmgiLCJ0b3RhbF9ub25fb3Blcl9pbmNvbWVfZnkiLCJ0b3RhbF9ub25fb3Blcl9pbmNvbWVfZnEiLCJ0b3RhbF9ub25fb3Blcl9pbmNvbWVfZmgiLCJpbmNvbWVfdGF4X2Z5IiwiaW5jb21lX3RheF9mcSIsImluY29tZV90YXhfZmgiLCJhZnRlcl90YXhfb3RoZXJfaW5jb21lX2Z5IiwiYWZ0ZXJfdGF4X290aGVyX2luY29tZV9mcSIsImFmdGVyX3RheF9vdGhlcl9pbmNvbWVfZmgiLCJmaXNjYWxfcGVyaW9kX2Z5IiwiZmlzY2FsX3BlcmlvZF9mcSIsImZpc2NhbF9wZXJpb2RfZmgiLCJlcXVpdHlfaW5fZWFybmluZ3NfZnkiLCJlcXVpdHlfaW5fZWFybmluZ3NfZnEiLCJlcXVpdHlfaW5fZWFybmluZ3NfZmgiLCJtaW5vcml0eV9pbnRlcmVzdF9leHBfZnkiLCJtaW5vcml0eV9pbnRlcmVzdF9leHBfZnEiLCJtaW5vcml0eV9pbnRlcmVzdF9leHBfZmgiLCJkaXNjb250aW51ZWRfb3BlcmF0aW9uc19meSIsImRpc2NvbnRpbnVlZF9vcGVyYXRpb25zX2ZxIiwiZGlzY29udGludWVkX29wZXJhdGlvbnNfZmgiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwiZnVuZF92aWV3X21vZGVzIl0pLGw9KDAsCnIubGF6eVZhbHVlKSgoKCk9Pm5ldyBuLlF1b3RlU2Vzc2lvblNuYXBzaG90ZXIoe25hbWU6ImZpbmFuY2lhbHMtd2Vidmlldy1xdW90ZXMiLGZpZWxkczpbLi4uYV0sYXBpOndpbmRvdy5DaGFydEFwaUluc3RhbmNlfSkpKTtsZXQgdTtjbGFzcyBjIGV4dGVuZHMgaS5XZWJ2aWV3Q29udHJvbGxlckJhc2V7b3BlbihlKXtjb25zdCB0PXRoaXMuX2NyZWF0ZU9wZW5SZXF1ZXN0KGkuV2Vidmlld1BhZ2VOYW1lLkZpbmFuY2lhbHMsZSk7bCgpLmdldFNuYXBzaG90KHQuc3ltYm9sKCksYSk7dC5leGVjdXRlKCkuQ2hhcnRRdW90ZVNuYXBzaG90UHJvdmlkZXI9e2dldFF1b3RlU25hcHNob3QoKXtjb25zdCBlPW8uUVVPVEVfRklFTERTX0NBQ0hFLmdldCh0LnN5bWJvbCgpKTtyZXR1cm4gZT8udmFsdWVzPz97fX19fXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiB1fHwodT1uZXcgYyksdX19ZnVuY3Rpb24gaChlKXtjLmdldEluc3RhbmNlKCkub3BlbihlKX19LDQwNzAwNihlLHQscyl7InVzZSBzdHJpY3QiO3Mucih0KSxzLmQodCx7Z2V0TmV3c01lZGlhdG9yU2VydmljZTooKT0+aH0pO3ZhciBpPXMoODM5NDI2KSxyPXMoMzg0MDE3KTtjbGFzcyBue2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fcHVibGljUHJlZml4PSJwdWJsaWMvIix0aGlzLl9iYXNlVXJsPWUuZW5kc1dpdGgoIi8iKT9lOmAke2V9L2AsdGhpcy5fZmV0Y2g9dH1hc3luYyBfc2VuZFJlcXVlc3QoZSx0LHMpe2NvbnN0IGk9YXdhaXQgdGhpcy5fZmV0Y2godC50b1N0cmluZygpLHsuLi5zLG1ldGhvZDplfSk7aWYoIWkub2spe2NvbnN0IHM9YXdhaXQgaS50ZXh0KCkscj1uZXcgRXJyb3IoYEVycm9yIHdoaWxlIGZldGNoaW5nICR7ZX0gJHt0LnRvU3RyaW5nKCl9LiBSZXNwb25zZSBzdGF0dXMgJHtpLnN0YXR1c30gJHtpLnN0YXR1c1RleHR9LiBSZXNwb25zZSB0ZXh0OiAnJHtzfSdgKTt0aHJvdyByLnN0YXR1cz1pLnN0YXR1cyxyfXJldHVybiBpfWFzeW5jIF9zZW5kSnNvbihlLHQscyxpLHI9ITApe2NvbnN0IG49ey4uLmksYm9keTpKU09OLnN0cmluZ2lmeShzKSxoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fTtyZXR1cm4gciYmKG4uY3JlZGVudGlhbHM9ImluY2x1ZGUiKSx0aGlzLl9zZW5kUmVxdWVzdChlLHRoaXMuX2dldFVSTCh0KSxuKX1fcGFyc2VCb2R5KGUpe3JldHVybiBlLmpzb24oKX1fZ2V0VVJMKGUsdCl7Y29uc3Qgcz1uZXcgVVJMKGUsdGhpcy5fYmFzZVVybCk7aWYodCl7Y29uc3QgZT1uZXcgVVJMU2VhcmNoUGFyYW1zKHQpO3Muc2VhcmNoPWUudG9TdHJpbmcoKX1yZXR1cm4gc319ZnVuY3Rpb24gbyhlKXtyZXR1cm5bKHM9ZS5maWx0ZXJzLHMuc2xpY2UoKS5zb3J0KCgoZSx0KT0+ZS5pZDx0LmlkPy0xOjEpKS5yZWR1Y2UoKChlLHQpPT57aWYoMD09PXQudmFsdWVzLmxlbmd0aClyZXR1cm4gZTtjb25zdCBzPXQudmFsdWVzLnNvcnQoKS5qb2luKCIsIiksaT1lbmNvZGVVUklDb21wb25lbnQodC5pZCsiOiIrcyk7cmV0dXJuIGUucHVzaChgZmlsdGVyPSR7aX1gKSxlfSksW10pLmpvaW4oIiYiKSksKHQ9ZSxsKHtjbGllbnQ6dC5jbGllbnQsc3RyZWFtaW5nOnQuc3RyZWFtaW5nLHB1Yl91c2FnZTp0LnB1YlVzYWdlP3QucHViVXNhZ2Uuam9pbigiLCIpOnZvaWQgMH0pKV0uZmlsdGVyKChlPT5lLmxlbmd0aD4wKSkuam9pbigiJiIpO3ZhciB0LHN9ZnVuY3Rpb24gYShlKXtyZXR1cm5bbCh7c3RyZWFtaW5nOmUuc3RyZWFtaW5nfSldLmZpbHRlcigoZT0+ZS5sZW5ndGg+MCkpLmpvaW4oIiYiKX1mdW5jdGlvbiBsKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IHMgaW4gZSllLmhhc093blByb3BlcnR5KHMpJiZudWxsIT1lW3NdJiZ0LnB1c2goe2tleTpzLHBhaXI6ZW5jb2RlVVJJQ29tcG9uZW50KHMpKyI9IitlbmNvZGVVUklDb21wb25lbnQoZVtzXSl9KTtyZXR1cm4gdC5zb3J0KCgoZSx0KT0+ZS5rZXk+dC5rZXk/MTplLmtleTx0LmtleT8tMTowKSkubWFwKChlPT5lLnBhaXIpKS5qb2luKCImIil9Y2xhc3MgdSBleHRlbmRzIG57Y29uc3RydWN0b3IoZSx0LHMpe3N1cGVyKGUsdCksdGhpcy5fYXBpUGF0aD0ibmV3cy1mbG93L3YxIix0aGlzLmdldE1ldGE9YXN5bmMoZSx0KT0+e2NvbnN0IHM9dGhpcy5fZ2V0VVJMKGAke3RoaXMuX3B1YmxpY1ByZWZpeH0ke3RoaXMuX2FwaVBhdGh9L21ldGFgLHtsYW5nOmV9KTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIkdFVCIscyx0KS50aGVuKHRoaXMuX3BhcnNlQm9keSl9LHRoaXMuZ2V0U2NyZWVucz1hc3luYyhlLHQpPT57Y29uc3Qgcz1hKGUpLGk9YHZlcnNpb249JHt0aGlzLl9zY3JlZW5zRGF0YVZlcnNpb259YCxyPXM/YCR7c30mJHtpfWA6aSxuPXRoaXMuX2dldFVSTChgJHt0aGlzLl9hcGlQYXRofS9zY3JlZW5zYCxyKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIkdFVCIsbix7Li4udCxjcmVkZW50aWFsczoiaW5jbHVkZSJ9KS50aGVuKHRoaXMuX3BhcnNlQm9keSl9LHRoaXMuZ2V0U2luZ2xlU2NyZWVuPWFzeW5jKGUsdCk9Pntjb25zdCBzPXRoaXMuX2dldFVSTChgJHt0aGlzLl9hcGlQYXRofS9zY3JlZW5zLyR7ZX1gKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIkdFVCIscyx7Li4udCxjcmVkZW50aWFsczoiaW5jbHVkZSJ9KS50aGVuKHRoaXMuX3BhcnNlQm9keSl9LHRoaXMuZ2V0UmVjZW50U2NyZWVuPWFzeW5jIGU9Pntjb25zdCB0PXRoaXMuX2dldFVSTChgJHt0aGlzLl9hcGlQYXRofS9zY3JlZW5zL3JlY2VudGApO3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiR0VUIix0LHsuLi5lLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pLnRoZW4odGhpcy5fcGFyc2VCb2R5KX0sdGhpcy5kZWxldGVTY3JlZW49YXN5bmMoZSx0KT0+e2NvbnN0IHM9dGhpcy5fZ2V0VVJMKGAke3RoaXMuX2FwaVBhdGh9L3NjcmVlbnMvJHtlfWApO3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiREVMRVRFIixzLHsuLi50LGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pLnRoZW4odGhpcy5fcGFyc2VCb2R5KX0sdGhpcy5jcmVhdGVTY3JlZW49YXN5bmMoZSx0KT0+e2NvbnN0IHM9ey4uLmUsdmVyc2lvbjp0aGlzLl9zY3JlZW5zRGF0YVZlcnNpb259CjtyZXR1cm4gdGhpcy5fc2VuZEpzb24oIlBPU1QiLGAke3RoaXMuX2FwaVBhdGh9L3NjcmVlbnNgLHMsdCwhMCkudGhlbih0aGlzLl9wYXJzZUJvZHkpfSx0aGlzLnVwZGF0ZVNjcmVlbj1hc3luYyhlLHQpPT57Y29uc3Qgcz17Li4uZSx2ZXJzaW9uOnRoaXMuX3NjcmVlbnNEYXRhVmVyc2lvbn07cmV0dXJuIHRoaXMuX3NlbmRKc29uKCJQVVQiLGAke3RoaXMuX2FwaVBhdGh9L3NjcmVlbnMvJHtlLmlkfWAscyx0LCEwKS50aGVuKHRoaXMuX3BhcnNlQm9keSl9LHRoaXMudXBkYXRlU2NyZWVuQWxlcnRzPWFzeW5jKGUsdCxzKT0+e2NvbnN0IGk9ey4uLnQsdmVyc2lvbjp0aGlzLl9zY3JlZW5zRGF0YVZlcnNpb259O3JldHVybiB0aGlzLl9zZW5kSnNvbigiUFVUIixgJHt0aGlzLl9hcGlQYXRofS9zY3JlZW5zLyR7ZX0vYWxlcnRzYCxpLHMsITApLnRoZW4odGhpcy5fcGFyc2VCb2R5KX0sdGhpcy50b3VjaFNjcmVlbj1hc3luYyhlLHQpPT57Y29uc3Qgcz17dmVyc2lvbjp0aGlzLl9zY3JlZW5zRGF0YVZlcnNpb259O3JldHVybiB0aGlzLl9zZW5kSnNvbigiUFVUIixgJHt0aGlzLl9hcGlQYXRofS9zY3JlZW5zL3RvdWNoLyR7ZX1gLHMsdCwhMCkudGhlbih0aGlzLl9wYXJzZUJvZHkpfSx0aGlzLmdldFN0b3J5PWFzeW5jKGUsdCk9Pntjb25zdCBzPXRoaXMuX2dldFVSTCgicHVibGljL25ld3MvdjEvc3RvcnkiLHsuLi5lfSksaT1hd2FpdCB0aGlzLl9zZW5kUmVxdWVzdCgiR0VUIixzLHR8fHt9KTtyZXR1cm4gaS5vaz90aGlzLl9wYXJzZUJvZHkoaSk6UHJvbWlzZS5yZWplY3QoaSl9LHRoaXMuX3NjcmVlbnNEYXRhVmVyc2lvbj1zfX1jbGFzcyBjIGV4dGVuZHMgbntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fYXBpUGF0aD0ibmV3cy1mbG93L3YyIn1hc3luYyBnZXROZXdzKGUsdCl7Y29uc3Qgcz10aGlzLl9nZXRVUkwoYCR7dGhpcy5fcHVibGljUHJlZml4fSR7dGhpcy5fYXBpUGF0aH0vbmV3c2AsbyhlKSk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJHRVQiLHMsdCkudGhlbih0aGlzLl9wYXJzZUJvZHkpfWFzeW5jIGdldFByaXZhdGVOZXdzKGUsdCl7Y29uc3Qgcz10aGlzLl9nZXRVUkwoYCR7dGhpcy5fYXBpUGF0aH0vbmV3c2AsbyhlKSk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJHRVQiLHMsey4uLnQsY3JlZGVudGlhbHM6ImluY2x1ZGUifSkudGhlbih0aGlzLl9wYXJzZUJvZHkpfWFzeW5jIGdldFNjcmVlbnMoZSx0KXtjb25zdCBzPWEoZSksaT10aGlzLl9nZXRVUkwoYCR7dGhpcy5fYXBpUGF0aH0vc2NyZWVuc2Ascyk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJHRVQiLGksey4uLnQsY3JlZGVudGlhbHM6ImluY2x1ZGUifSkudGhlbih0aGlzLl9wYXJzZUJvZHkpfX1zKDMwMDI4Nik7Y29uc3QgaD0oMCxpLmRlZmF1bHQpKCgoKT0+e2NvbnN0IGU9KGUsdCk9PigwLHIuZmV0Y2gpKGUsdCksdD1mdW5jdGlvbigpe2xldCBlPWAke3dpbmRvdy5ORVdTX01FRElBVE9SX1VSTH1gO2UuZW5kc1dpdGgoIi8iKXx8KGUrPSIvIik7cmV0dXJuIGV9KCkscz13aW5kb3cuaW5pdERhdGEuTkVXU19TQ1JFRU5fREFUQV9WRVJTSU9OfHwxO3JldHVybnt2MTpuZXcgdSh0LGUscyksdjI6bmV3IGModCxlKX19KSl9LDg5MDgzNShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjdXJyZW50TGF5b3V0OigpPT5pfSk7Y29uc3QgaT1uZXcocygyMzIzNjQpLldhdGNoZWRWYWx1ZSkobnVsbCl9LDUzNzQ4NyhlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0KXtjb25zdCBzPU1hdGguZmxvb3IodC8xZTQpJTFlNCxpPU1hdGguZmxvb3IodC8xMDApJTEwMC0xLHI9dCUxMDA7cmV0dXJuIGUuZm9ybWF0KG5ldyBEYXRlKERhdGUuVVRDKHMsaSxyKSkpfXMuZCh0LHtmb3JtYXRZWVlZTU1ERDooKT0+aX0pfSw1MjMwNzEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7TUFUSF9NSU5VU19TSUdOOigpPT5yLHJvdW5kVG9UaGlyZERpZ2l0OigpPT5ufSk7dmFyIGk9cygxMDcwNDUpO2NvbnN0IHI9IuKIkiI7ZnVuY3Rpb24gbihlLHQpe2NvbnN0IHM9TWF0aC5hYnMoTWF0aC5yb3VuZCgxZTMqZSkvMWUzKSxbLG5dPXMudG9GaXhlZCgzKS5zcGxpdCgiLiIpLG89IXQmJm4uZW5kc1dpdGgoIjAiKT9uZXcgaS5OdW1lcmljRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pOm5ldyBpLk51bWVyaWNGb3JtYXR0ZXIoe3ByZWNpc2lvbjozfSk7cmV0dXJuYCR7ZTwwP3I6IiJ9JHtvLmZvcm1hdChzKX1gfX0sMTI4ODE0KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1F1b3RlU2Vzc2lvblNuYXBzaG90ZXI6KCk9Pmh9KTt2YXIgaT1zKDk0ODM4MCkscj1zKDE1MDE1MCksbj1zKDIxNDk4Nyksbz1zKDEzODYzOCksYT1zKDM2Nzk0NiksbD1zKDk3MDc3NCksdT1zKDMwOTA1Mik7Y29uc3QgYz1uZXcgTWFwKFtbImNoYW5nZSIsImNoIl0sWyJsYXN0X3ByaWNlIiwibHAiXSxbImNoYW5nZV9wZXJjZW50IiwiY2hwIl0sWyJ1cGRhdGVfbW9kZV9zZWNvbmRzIixudWxsXV0pO25ldyBNYXAoW1siY2giLCJjaGFuZ2UiXSxbImxwIiwibGFzdF9wcmljZSJdLFsiY2hwIiwiY2hhbmdlX3BlcmNlbnQiXV0pO2NsYXNzIGh7Y29uc3RydWN0b3IoZSl7aWYodGhpcy5fb25TeW1ib2xEYXRhPW5ldyBpLkRlbGVnYXRlLHRoaXMuX2luY29tcGxldGU9bmV3IFNldCx0aGlzLl91cGRhdGVkRmllbGRzPW5ldyBNYXAsdGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX2JhdGNoZXI9bnVsbCx0aGlzLl9oYW5kbGVyPWU9Pntzd2l0Y2goZS5tZXRob2Qpe2Nhc2UiY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWR8fCh0aGlzLl9jb25uZWN0ZWQ9ITAsdGhpcy5faGFuZGxlQ29ubmVjdGVkKCkpO2JyZWFrO2Nhc2UicXVvdGVfc3ltYm9sX2RhdGEiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5faGFuZGxlU3ltYm9sRGF0YShlLnBhcmFtc1swXSk7YnJlYWs7Y2FzZSJxdW90ZV9jb21wbGV0ZWQiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5faGFuZGxlQ29tcGxldGVEYXRhKGUucGFyYW1zWzBdKTticmVhaztjYXNlImRpc2Nvbm5lY3RlZCI6dGhpcy5fY29ubmVjdGVkJiYodGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX2JhdGNoZXI9bnVsbCl9Cn0sMD09PWUuZmllbGRzLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoJ1N1cHBvcnQgZm9yIGVtcHR5ICJmaWVsZHMiIGFycmF5IGlzIG5vdCBpbXBsZW1lbnRlZCcpO2NvbnN0e3Byb3ZpZGVyOnQ9bC5RdW90ZVNlc3Npb259PWU7dGhpcy5fZmllbGRzPW5ldyBTZXQoZS5maWVsZHMpLHRoaXMuX3Nlc3Npb249bmV3IHQoZS5hcGksWyJzbmFwc2hvdGVyIixlLm5hbWUsKDAsci5yYW5kb21IYXNoKSgpXS5maWx0ZXIoQm9vbGVhbikuam9pbigiXyIpKSx0aGlzLl9zZXNzaW9uLmNvbm5lY3QodGhpcy5faGFuZGxlcil9Z2V0U25hcHNob3RTeW5jKGUsdCl7Y29uc3Qgcz1oLmNhY2hlLmdldChlKTtyZXR1cm4gcyYmdGhpcy5faXNTbmFwc2hvdFJlYWR5KHMse2ZpZWxkczp0LHRpbWVzdGFtcDpudWxsfSk/czpudWxsfWdldFNuYXBzaG90c0ZvckFsbFN5bmMoZSx0KXtyZXR1cm4gZS5tYXAoKGU9PnRoaXMuZ2V0U25hcHNob3RTeW5jKGUsdCkpKX1nZXRTbmFwc2hvdChlLHQscyl7Y29uc3QgaT1zPy5zaWduYWw/P251bGwscj1zPy5mcmVzaG5lc3MsYT12b2lkIDAhPT1yP0RhdGUubm93KCktcjpudWxsO3JldHVybiBuZXcgUHJvbWlzZSgoKHMscik9PntpZihpJiZpLmFib3J0ZWQpdGhyb3coMCxuLmNyZWF0ZUFib3J0RXJyb3IpKCk7Y29uc3QgbD0oKT0+e3RoaXMuX29uU3ltYm9sRGF0YS51bnN1YnNjcmliZSh0aGlzLHUpLHIoKDAsbi5jcmVhdGVBYm9ydEVycm9yKSgpKX0sdT0ocj1lKT0+e2lmKHIhPT1lKXJldHVybjtjb25zdCBuPWguY2FjaGUuZ2V0KGUpO24mJnRoaXMuX2lzU25hcHNob3RSZWFkeShuLHt0aW1lc3RhbXA6YSxzeW1ib2w6ZSxmaWVsZHM6dH0pJiYodGhpcy5fb25TeW1ib2xEYXRhLnVuc3Vic2NyaWJlKHRoaXMsdSksaT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGwpLHMobikpfTtpZighKCgpPT57Y29uc3QgaT1oLmNhY2hlLmdldChlKTtpZighaSlyZXR1cm4hMTtjb25zdCByPSgwLG8uZW5zdXJlTm90TnVsbCkoaC5jYWNoZS5nZXRUaW1lcyhlKSk7cmV0dXJuISF0aGlzLl9pc1NuYXBzaG90UmVhZHkoaSx7ZmllbGRzOnQsc3ltYm9sOmUsdGltZXN0YW1wOmEsdGltZXM6cn0pJiYocyhpKSwhMCl9KSgpJiYoaT8uYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGwse29uY2U6ITB9KSx0aGlzLl9vblN5bWJvbERhdGEuc3Vic2NyaWJlKHRoaXMsdSksIXRoaXMuX2luY29tcGxldGUuaGFzKGUpKSl7aWYodGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQoZSxuZXcgU2V0KSx0aGlzLl9pbmNvbXBsZXRlLmFkZChlKSwhdGhpcy5fY29ubmVjdGVkKXJldHVybjtpZihudWxsPT09dGhpcy5fYmF0Y2hlcil7Y29uc3QgdD10aGlzLl9iYXRjaGVyPXtzeW1ib2xzOm5ldyBTZXQoW2VdKSxwcm9taXNlOlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCgpPT57dGhpcy5fYmF0Y2hlcj09PXQmJih0aGlzLl9zZXNzaW9uLnF1b3RlQWRkU3ltYm9scyhbLi4udC5zeW1ib2xzXSksdGhpcy5fYmF0Y2hlcj1udWxsKX0pKX19ZWxzZSB0aGlzLl9iYXRjaGVyLnN5bWJvbHMuYWRkKGUpfX0pKX1nZXRTbmFwc2hvdHNGb3JBbGwoZSx0LHMpe3JldHVybiBQcm9taXNlLmFsbChlLm1hcCgoZT0+dGhpcy5nZXRTbmFwc2hvdChlLHQscykpKSl9c3RhdGljIHJlbGF4KGUpe3JldHVybiBlfXN0YXRpYyBpc1N1Y2Nlc3MoZSl7cmV0dXJuImVycm9yIiE9PWUuc3RhdHVzfXN0YXRpYyBoYXNBbGxGaWVsZHMoZSx0KXtmb3IoY29uc3QgcyBvZiBBcnJheS5mcm9tKHQpKWlmKCFlLmhhc093blByb3BlcnR5KHMpKXJldHVybiExO3JldHVybiEwfV9pc1NuYXBzaG90UmVhZHkoZSx0KXtjb25zdHtmaWVsZHM6cyx0aW1lc3RhbXA6aSx0aW1lczpyLHN5bWJvbDpufT10O3JldHVybiJlcnJvciI9PT1lLnN0YXR1c3x8KG51bGwhPT1pJiZyP3RoaXMuX2lzQWxsRmllbGRzVXBUb0RhdGUoZSxyLHMsaSk6bnVsbCE9PWkmJm4/dGhpcy5faXNBbGxGaWVsZHNVcGRhdGVkKGUsbixzKTp0aGlzLl9oYXNBbGxGaWVsZHMoZSxzKSl9X2lzQWxsRmllbGRzVXBkYXRlZChlLHQscyl7aWYoImVycm9yIj09PWUuc3RhdHVzKXJldHVybiEwO2NvbnN0IGk9dGhpcy5fdXBkYXRlZEZpZWxkcy5nZXQodCk7aWYoIWl8fCFpLnNpemUpcmV0dXJuITE7Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbShzKSlpZighaS5oYXMoZSkpcmV0dXJuITE7cmV0dXJuITB9X2hhc0FsbEZpZWxkcyhlLHQpe3JldHVybiBoLmhhc0FsbEZpZWxkcyhlLnZhbHVlcyxBcnJheS5mcm9tKHQpKX1faXNBbGxGaWVsZHNVcFRvRGF0ZShlLHQscyxpKXtpZigiZXJyb3IiPT09ZS5zdGF0dXMpcmV0dXJuITA7aWYoIXQpcmV0dXJuITE7Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbShzKSl7Y29uc3Qgcz10LmdldChlKTtpZighdC5oYXMoZSl8fHZvaWQgMD09PXMpcmV0dXJuITE7aWYoczxpKXJldHVybiExfXJldHVybiEwfV9oYW5kbGVDb25uZWN0ZWQoKXtpZih0aGlzLl9maWVsZHMuc2l6ZT4wKXtjb25zdCBlPVsuLi50aGlzLl9maWVsZHNdLmZsYXRNYXAoKGU9Pntjb25zdCB0PWMuZ2V0KGUpO3JldHVybiBudWxsIT09dD90Pz9lOltdfSkpO3RoaXMuX3Nlc3Npb24ucXVvdGVTZXRGaWVsZHMoZSl9dGhpcy5faW5jb21wbGV0ZS5zaXplPjAmJnRoaXMuX3Nlc3Npb24ucXVvdGVBZGRTeW1ib2xzKFsuLi50aGlzLl9pbmNvbXBsZXRlXSl9X2hhbmRsZUNvbXBsZXRlRGF0YShlKXtjb25zdCB0PWguY2FjaGUuZ2V0KGUpPz97c3ltYm9sbmFtZTplLHN0YXR1czoib2siLHZhbHVlczp7fX07aC5jYWNoZS51cGRhdGUodCx0aGlzLl9maWVsZHMsITApLHRoaXMuX3VwZGF0ZWRGaWVsZHMuc2V0KGUsdGhpcy5fZmllbGRzKSx0aGlzLl9zZXNzaW9uLnF1b3RlUmVtb3ZlU3ltYm9scyhbZV0pLHRoaXMuX2luY29tcGxldGUuZGVsZXRlKGUpLHRoaXMuX29uU3ltYm9sRGF0YS5maXJlKGUpfV9oYW5kbGVTeW1ib2xEYXRhKGUpeygwLGEubm9ybWFsaXplVXBkYXRlTW9kZSkoZS52YWx1ZXMpLGguY2FjaGUudXBkYXRlKGUsdGhpcy5fZmllbGRzLCExKTtjb25zdCB0PWUuc3ltYm9sbmFtZSxzPSgwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5fdXBkYXRlZEZpZWxkcy5nZXQodCkpLGk9bmV3IFNldChzKQo7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZmllbGRzKWUudmFsdWVzLmhhc093blByb3BlcnR5KHQpJiZpLmFkZCh0KTt0aGlzLl91cGRhdGVkRmllbGRzLnNldCh0LGkpLCJlcnJvciI9PT1lLnN0YXR1cz90aGlzLl9oYW5kbGVDb21wbGV0ZURhdGEodCk6dGhpcy5fb25TeW1ib2xEYXRhLmZpcmUodCl9fWguY2FjaGU9dS5RVU9URV9GSUVMRFNfQ0FDSEV9LDEwMDIzOShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRWb2x1bWVVbml0OigpPT5yfSk7dmFyIGk9cygxODUyNzEpO2Z1bmN0aW9uIHIoZSl7c3dpdGNoKGUudm9sdW1lX3R5cGUpe2Nhc2UiYmFzZSI6cmV0dXJuIGUuYmFzZV9jdXJyZW5jeXx8dm9pZCAwO2Nhc2UicXVvdGUiOnJldHVybiBlLmN1cnJlbmN5fHx2b2lkIDA7Y2FzZSJ0aWNrIjpyZXR1cm4gaS50KG51bGwsdm9pZCAwLHMoMzcwMjQzKSl9fX0sNjIzNTExKGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtsZXQgdD1udWxsO3JldHVybigpPT4obnVsbD09PXQmJih0PWUoKSksdCl9cy5kKHQse2xhenlWYWx1ZTooKT0+aX0pfSwxMjI3NDkoZSx0KXsidXNlIHN0cmljdCI7dmFyIHM9U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLGk9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIikscj1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLG49U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxvPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksYT1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLGw9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLHU9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSxjPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksaD1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksZD1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IiksXz1TeW1ib2wuaXRlcmF0b3I7dmFyIHA9e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LHk9T2JqZWN0LmFzc2lnbixtPXt9O2Z1bmN0aW9uIHYoZSx0LHMpe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9bSx0aGlzLnVwZGF0ZXI9c3x8cH1mdW5jdGlvbiBmKCl7fWZ1bmN0aW9uIFMoZSx0LHMpe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9bSx0aGlzLnVwZGF0ZXI9c3x8cH12LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LHYucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0sdi5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LGYucHJvdG90eXBlPXYucHJvdG90eXBlO3ZhciBnPVMucHJvdG90eXBlPW5ldyBmO2cuY29uc3RydWN0b3I9Uyx5KGcsdi5wcm90b3R5cGUpLGcuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIGI9QXJyYXkuaXNBcnJheSx3PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksQz17Y3VycmVudDpudWxsfSxQPXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24geChlLHQsaSl7dmFyIHIsbj17fSxvPW51bGwsYT1udWxsO2lmKG51bGwhPXQpZm9yKHIgaW4gdm9pZCAwIT09dC5yZWYmJihhPXQucmVmKSx2b2lkIDAhPT10LmtleSYmKG89IiIrdC5rZXkpLHQpdy5jYWxsKHQscikmJiFQLmhhc093blByb3BlcnR5KHIpJiYobltyXT10W3JdKTt2YXIgbD1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWwpbi5jaGlsZHJlbj1pO2Vsc2UgaWYoMTxsKXtmb3IodmFyIHU9QXJyYXkobCksYz0wO2M8bDtjKyspdVtjXT1hcmd1bWVudHNbYysyXTtuLmNoaWxkcmVuPXV9aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKHIgaW4gbD1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1uW3JdJiYobltyXT1sW3JdKTtyZXR1cm57JCR0eXBlb2Y6cyx0eXBlOmUsa2V5Om8scmVmOmEscHJvcHM6bixfb3duZXI6Qy5jdXJyZW50fX1mdW5jdGlvbiBEKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1zfXZhciBJPS9cLysvZztmdW5jdGlvbiBUKGUsdCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/ZnVuY3Rpb24oZSl7dmFyIHQ9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrZS5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfSkpfSgiIitlLmtleSk6dC50b1N0cmluZygzNil9ZnVuY3Rpb24gVihlLHQscixuLG8pe3ZhciBhPXR5cGVvZiBlOyJ1bmRlZmluZWQiIT09YSYmImJvb2xlYW4iIT09YXx8KGU9bnVsbCk7dmFyIGw9ITE7aWYobnVsbD09PWUpbD0hMDtlbHNlIHN3aXRjaChhKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmw9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIHM6Y2FzZSBpOmw9ITB9fWlmKGwpcmV0dXJuIG89byhsPWUpLGU9IiI9PT1uPyIuIitUKGwsMCk6bixiKG8pPyhyPSIiLG51bGwhPWUmJihyPWUucmVwbGFjZShJLCIkJi8iKSsiLyIpLFYobyx0LHIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpKTpudWxsIT1vJiYoRChvKSYmKG89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6cyx0eXBlOmUudHlwZSxrZXk6dCxyZWY6ZS5yZWYscHJvcHM6ZS5wcm9wcyxfb3duZXI6ZS5fb3duZXJ9fShvLHIrKCFvLmtleXx8bCYmbC5rZXk9PT1vLmtleT8iIjooIiIrby5rZXkpLnJlcGxhY2UoSSwiJCYvIikrIi8iKStlKSksCnQucHVzaChvKSksMTtpZihsPTAsbj0iIj09PW4/Ii4iOm4rIjoiLGIoZSkpZm9yKHZhciB1PTA7dTxlLmxlbmd0aDt1Kyspe3ZhciBjPW4rVChhPWVbdV0sdSk7bCs9VihhLHQscixjLG8pfWVsc2UgaWYoYz1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgZT9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZihlPV8mJmVbX118fGVbIkBAaXRlcmF0b3IiXSk/ZTpudWxsfShlKSwiZnVuY3Rpb24iPT10eXBlb2YgYylmb3IoZT1jLmNhbGwoZSksdT0wOyEoYT1lLm5leHQoKSkuZG9uZTspbCs9VihhPWEudmFsdWUsdCxyLGM9bitUKGEsdSsrKSxvKTtlbHNlIGlmKCJvYmplY3QiPT09YSl0aHJvdyB0PVN0cmluZyhlKSxFcnJvcigiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiAiKygiW29iamVjdCBPYmplY3RdIj09PXQ/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXMoZSkuam9pbigiLCAiKSsifSI6dCkrIikuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC4iKTtyZXR1cm4gbH1mdW5jdGlvbiBSKGUsdCxzKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciBpPVtdLHI9MDtyZXR1cm4gVihlLGksIiIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwocyxlLHIrKyl9KSksaX1mdW5jdGlvbiBBKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD1lLl9yZXN1bHQ7KHQ9dCgpKS50aGVuKChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pKSwtMT09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZigxPT09ZS5fc3RhdHVzKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIEw9e2N1cnJlbnQ6bnVsbH0sRT17dHJhbnNpdGlvbjpudWxsfSxNPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOkwsUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6RSxSZWFjdEN1cnJlbnRPd25lcjpDfTt0LkNoaWxkcmVuPXttYXA6Uixmb3JFYWNoOmZ1bmN0aW9uKGUsdCxzKXtSKGUsKGZ1bmN0aW9uKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxzKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4gUihlLChmdW5jdGlvbigpe3QrK30pKSx0fSx0b0FycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBSKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighRChlKSl0aHJvdyBFcnJvcigiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuIik7cmV0dXJuIGV9fSx0LkNvbXBvbmVudD12LHQuRnJhZ21lbnQ9cix0LlByb2ZpbGVyPW8sdC5QdXJlQ29tcG9uZW50PVMsdC5TdHJpY3RNb2RlPW4sdC5TdXNwZW5zZT1jLHQuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9TSx0LmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQsaSl7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIHI9eSh7fSxlLnByb3BzKSxuPWUua2V5LG89ZS5yZWYsYT1lLl9vd25lcjtpZihudWxsIT10KXtpZih2b2lkIDAhPT10LnJlZiYmKG89dC5yZWYsYT1DLmN1cnJlbnQpLHZvaWQgMCE9PXQua2V5JiYobj0iIit0LmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzKXZhciBsPWUudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKHUgaW4gdCl3LmNhbGwodCx1KSYmIVAuaGFzT3duUHJvcGVydHkodSkmJihyW3VdPXZvaWQgMD09PXRbdV0mJnZvaWQgMCE9PWw/bFt1XTp0W3VdKX12YXIgdT1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PXUpci5jaGlsZHJlbj1pO2Vsc2UgaWYoMTx1KXtsPUFycmF5KHUpO2Zvcih2YXIgYz0wO2M8dTtjKyspbFtjXT1hcmd1bWVudHNbYysyXTtyLmNoaWxkcmVuPWx9cmV0dXJueyQkdHlwZW9mOnMsdHlwZTplLnR5cGUsa2V5Om4scmVmOm8scHJvcHM6cixfb3duZXI6YX19LHQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6bCxfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6YSxfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9LHQuY3JlYXRlRWxlbWVudD14LHQuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD14LmJpbmQobnVsbCxlKTtyZXR1cm4gdC50eXBlPWUsdH0sdC5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sdC5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjp1LHJlbmRlcjplfX0sdC5pc1ZhbGlkRWxlbWVudD1ELHQubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6ZCxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0OkF9fSx0Lm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6aCx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LHQuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PUUudHJhbnNpdGlvbjtFLnRyYW5zaXRpb249e307dHJ5e2UoKX1maW5hbGx5e0UudHJhbnNpdGlvbj10fX0sdC51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0sdC51c2VDYWxsYmFjaz1mdW5jdGlvbihlLHQpe3JldHVybiBMLmN1cnJlbnQudXNlQ2FsbGJhY2soZSx0KX0sdC51c2VDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBMLmN1cnJlbnQudXNlQ29udGV4dChlKX0sCnQudXNlRGVidWdWYWx1ZT1mdW5jdGlvbigpe30sdC51c2VEZWZlcnJlZFZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBMLmN1cnJlbnQudXNlRGVmZXJyZWRWYWx1ZShlKX0sdC51c2VFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTC5jdXJyZW50LnVzZUVmZmVjdChlLHQpfSx0LnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIEwuY3VycmVudC51c2VJZCgpfSx0LnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oZSx0LHMpe3JldHVybiBMLmN1cnJlbnQudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQscyl9LHQudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sdC51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTC5jdXJyZW50LnVzZUxheW91dEVmZmVjdChlLHQpfSx0LnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTC5jdXJyZW50LnVzZU1lbW8oZSx0KX0sdC51c2VSZWR1Y2VyPWZ1bmN0aW9uKGUsdCxzKXtyZXR1cm4gTC5jdXJyZW50LnVzZVJlZHVjZXIoZSx0LHMpfSx0LnVzZVJlZj1mdW5jdGlvbihlKXtyZXR1cm4gTC5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gTC5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxzKXtyZXR1cm4gTC5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxzKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIEwuY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sNzc5NDc0KGUsdCxzKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXMoMTIyNzQ5KX0sNjMyNjA3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0xvbGxpcG9wR3JvdXBJY29uczooKT0+aSxMb2xsaXBvcFRvb2x0aXBNYWluQ29tbW9uUm93OigpPT51fSk7dmFyIGkscj1zKDU0MTgyMCk7IWZ1bmN0aW9uKGUpe2VbZS5CZWZvcmVNYXJrZXRPcGVuPXIuYmVmb3JlTWFya2V0T3Blbl09IkJlZm9yZU1hcmtldE9wZW4iLGVbZS5BZnRlck1hcmtldENsb3NlPXIuYWZ0ZXJNYXJrZXRDbG9zZV09IkFmdGVyTWFya2V0Q2xvc2UifShpfHwoaT17fSkpO3ZhciBuPXMoNzc5NDc0KSxvPXMoOTE0NDg3KSxhPXMubihvKSxsPXMoMjczMzEwKTtmdW5jdGlvbiB1KGUpe2NvbnN0e25hbWU6dCx2YWx1ZTpzLHN0eWxlOmksdmFsdWVTdHlsZTpvLG9uVmFsdWVDbGljazp1LHZhbHVlUmlnaHRJY29uOmMsY2xhc3NOYW1lOmh9PWU7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEoKShyLmdyb3VwUm93LGgpLHN0eWxlOml9LHQmJm4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIuZ3JvdXBDZWxsfSxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6ci50ZXh0fSx0KSksbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6ci5ncm91cENlbGx9LG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpyLnRleHQsc3R5bGU6byxvbkNsaWNrOnV9LHMpLGMmJm4uY3JlYXRlRWxlbWVudChsLkljb24se2ljb246Yy5pY29uQ29udGVudCxjbGFzc05hbWU6YSgpKHIuZ3JvdXBJY29uLGMuaWNvbkNsYXNzLCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHRpdGxlOmMudG9vbHRpcFRleHR9KSkpfX0sMjI4ODIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Y3JlYXRlRGl2aWRlbmRzTG9sbGlwb3BUb29sdGlwQ29udGVudFByb3BzOigpPT5nZSxjcmVhdGVFYXJuaW5nc0xvbGxpcG9wVG9vbHRpcENvbnRlbnRQcm9wczooKT0+ZmUsY3JlYXRlU3BsaXRzTG9sbGlwb3BUb29sdGlwQ29udGVudFByb3BzOigpPT5iZSxnZXRNb3JlRmluYW5jaWFsc0RpdmlkZW5kc0xpbmtUZXh0OigpPT5TZSxnZXRNb3JlRmluYW5jaWFsc0xpbmtUZXh0OigpPT51ZX0pO3ZhciBpPXMoMTM4NjM4KSxyPXMoNjAxODQxKSxuPXMoMjE0OTg3KSxvPXMoMjIxMDYxKSxhPXMoMjc2MDE5KSxsPXMoNTIzMDcxKSx1PXMoNDkxMTY1KSxjPXMoOTI2OTk1KSxoPXMoNTMyOTc1KSxkPXMoNDA3MDA2KSxfPXMoMTEyNzI1KSxwPXMoODExOTA0KSx5PXMoMTg1MjcxKSxtPXMoNTE3MjkzKSx2PXMoNzcwNzU1KSxmPXMoOTY5MTY4KSxTPXMoNTU0NjU0KSxnPXMoODIyNzk1KSxiPXMoOTMwMjMxKSx3PXMoNTY5Mzk4KSxDPXMoODg4NTYyKSxQPXMoODg5Mzk3KSx4PXMoNzIxMDQyKSxEPXMoMjMzMjQ3KSxJPXMoNjMyNjA3KSxUPXMoODk0Njk3KSxWPXMoNDA4Mzc3KSxSPXMoMzUzMjA2KSxBPXMoNjkxOTgpLEw9cygyNDEyMjMpLEU9cygzMDc3MDgpLE09cyg1NTIwODQpLGs9cyg1MzY5MiksQj1zKDU1MTQzMCksTj1zKDQzNTI3MyksRj1zKDI0MTUzMik7Y29uc3QgTz0oMCxvLmdldExvZ2dlcikoIkNoYXJ0LkxvbGlwb3BDb250ZW50RmFjdG9yeSIpLEg9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDY0MTg3NSkpLHE9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDM4NTExMikpLHo9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDEzNjk1MikpLFU9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDc1Njc4NCkpLFc9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDMzNjg3MSkpLCQ9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDkzMDU4NikpLEc9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDQ3MTEyNCkpLGo9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDMyNDUxKSksWT15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoNDY0NjY3KSksSj15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoODQ3ODU4KSksUT15LnQobnVsbCx7CmNvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDQ2Mjk5KSksWj15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoNTE4MTQzKSksSz15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoNDEwMzQ1KSksWD15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoNzcyMTQ5KSksZWU9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDQ2NTkzNikpLHRlPXkudChudWxsLHtjb250ZXh0OiJGaW5hbmNpYWwgZXZlbnRzIGxvbGlwb3BzIn0scyg2NTEyMjQpKSxzZT15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoNjQyODE3KSksaWU9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDI5OTU5MykpLHJlPSgwLEQuZ2V0UGVyY2VudGFnZUZvcm1hdHRlcikoKSxuZT0oMCxELmdldFZvbHVtZUZvcm1hdHRlcikoKSxvZT1uZXcgbS5DaXJjdWxhckNhY2hlQnVmZmVyKDMyKSxhZT1bImluIiwiZW4iXS5pbmNsdWRlcyh3aW5kb3cubGFuZ3VhZ2U/PyJlbiIpO2Z1bmN0aW9uIGxlKGUsdCxzPSJvdmVydmlldyIpe2lmKCEvXGJldGZcYi9pLnRlc3QoZT8uZGVzY3JpcHRpb258fCIiKSlyZXR1cm57Y2hpbGRyZW46dCxvbkNsaWNrOmFzeW5jKCk9PnthLmdsb2JhbENsb3NlRGVsZWdhdGUuZmlyZSgpLCgwLGIuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZmluYW5jaWFsc193ZWJ2aWV3Iik/KDAsQy5vcGVuRmluYW5jaWFsc1dlYnZpZXcpKG5ldyBVUkxTZWFyY2hQYXJhbXMpOigwLFAuc2hvd0ZpbmFuY2lhbHNEaWFsb2cpKHtpbml0aWFsVGFiSWQ6c30pfX19ZnVuY3Rpb24gdWUoZSl7cmV0dXJuIHkudChudWxsLHtyZXBsYWNlOntzeW1ib2w6ZT8ubmFtZT8/IiJ9LGNvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDI0MTc3KSl9ZnVuY3Rpb24gY2UoZSx0KXtyZXR1cm57aWNvbjpGLGNsYXNzTmFtZToiYXBwbHktY29tbW9uLXRvb2x0aXAiLCJkYXRhLXRvb2x0aXAiOnkudChudWxsLHZvaWQgMCxzKDM0NDQ4MikpLG9uQ2xpY2s6YXN5bmMoKT0+eygwLHgudHJhY2tBbGVydENyZWF0aW9uQXR0ZW1wdCkoZS5tYWluU2VyaWVzKCkuYWN0dWFsU3ltYm9sKCksImVhcm5pbmdzX2xvbGxpcG9wIiwiY2hhcnQiKSx3aW5kb3cuaXNfYXV0aGVudGljYXRlZD8oMCxnLmludm9rZUFsZXJ0RWRpdG9yKSh7bW9kZTpnLkFsZXJ0RWRpdG9ySW52b2NhdGlvbk1vZGUuQ3JlYXRlQWxlcnQsZGF0YVNvdXJjZUh1YjplLGVhcm5pbmdzOnQsc291cmNlOiJjaGFydCIsbWV0aG9kOiJlYXJuaW5nc19sb2xsaXBvcCIsYWN0aW9uU291cmNlOiJlYXJuaW5nc19sb2xsaXBvcCJ9KTooMCx2Lm9wZW5QYXl3YWxsKSh7ZmVhdHVyZToiYWxlcnRzT25FYXJuaW5ncyJ9KX19fWZ1bmN0aW9uIGhlKGUpe3JldHVybntkb2N1bWVudElkOmUuaWQsaWQ6ZS5jYXRlZ29yeS5pZCx0aXRsZTplLmNhdGVnb3J5LnRpdGxlLHZpZXdzOmUudmlld3MsZm9ybTplLmZvcm0/P251bGx9fWZ1bmN0aW9uIGRlKGUsdCl7cmV0dXJuKDAsaC5nZXREb2N1bWVudHNBcGkpKCkuZG9jU2NyZWVuZXIudjEuZ2V0RG9jdW1lbnRzKHtjbGllbnQ6ImNoYXJ0IixmaWx0ZXJzOlt7aWQ6ImxhbmciLHZhbHVlczpbd2luZG93Lmxhbmd1YWdlPz8iZW4iXX0se2lkOiJzeW1ib2wiLHZhbHVlczpbZV19XX0se3NpZ25hbDp0fSl9Y29uc3QgX2U9W1sidXJuOnN1bW1hcnlfZG9jdW1lbnRfcmVwb3J0OnF1YXJ0ci5jb20iLCJ1cm46cmVwb3J0OnF1YXJ0ci5jb20iXSxbInVybjpzdW1tYXJ5X2RvY3VtZW50X3NsaWRlczpxdWFydHIuY29tIiwidXJuOnNsaWRlczpxdWFydHIuY29tIl0sWyJ1cm46c3VtbWFyeV9kb2N1bWVudF90cmFuc2NyaXB0OnF1YXJ0ci5jb20iLCJ1cm46dHJhbnNjcmlwdHM6cXVhcnRyLmNvbSJdXTtmdW5jdGlvbiBwZShlKXtjb25zdCB0PW5ldyBNYXA7cmV0dXJuIGUuaXRlbXMuZm9yRWFjaCgoZT0+e2NvbnN0IHM9KChpPWUuaWQpLmVuZHNXaXRoKCI6MCIpJiYoaT1pLnNsaWNlKDAsLTIpKSxfZS5yZWR1Y2UoKChlLHQpPT5lLnJlcGxhY2UodFswXSx0WzFdKSksaSkpO3ZhciBpO3Quc2V0KHMsZS50aXRsZSl9KSksdH1mdW5jdGlvbiB5ZShlLHQpe3JldHVybigwLGQuZ2V0TmV3c01lZGlhdG9yU2VydmljZSkoKS52Mi5nZXROZXdzKHtjbGllbnQ6ImxhbmRpbmciLHN0cmVhbWluZzohMSxmaWx0ZXJzOlt7aWQ6InN5bWJvbCIsdmFsdWVzOltlXX0se2lkOiJwcm92aWRlciIsdmFsdWVzOlsicXVhcnRyIl19XX0se3NpZ25hbDp0fSkudGhlbihwZSl9ZnVuY3Rpb24gbWUoZSx0KXtjb25zdCBzPW9lLmdldChlKTtpZihzKXJldHVybiBzO2NvbnN0IGk9e2RvY3VtZW50c1JlcXVlc3Q6ZGUoZSx0KSxuZXdzUmVxdWVzdDp5ZShlLHQpfTtyZXR1cm4gb2Uuc2V0KGUsaSksaX1mdW5jdGlvbiB2ZShlKXtjb25zdCB0PWUucmVwb3J0ZWQscz1udWxsIT10LGk9ZS5lc3RpbWF0ZSxyPW51bGwhPWksbj1zJiZyP3QtaTpudWxsO2xldCBvPWUucmV2ZW51ZUVzdGltYXRlLGE9ITE7bnVsbCE9byYmKGE9ITAsbyo9MWU2KTtsZXQgbD1lLnJldmVudWVWYWx1ZSx1PSExO251bGwhPWwmJih1PSEwLGwqPTFlNik7Y29uc3QgYz11JiZhP2wtbzpudWxsO3JldHVybntzdXJwcmlzZTpuLHJldmVudWVTdXJwcmlzZTpjLHJldmVudWVFc3RpbWF0ZTpvLGlzUmV2ZW51ZUVzdGltYXRlOmEsaXNSZXBvcnRlZDpzLHJldmVudWVWYWx1ZTpsLGlzUmV2ZW51ZVZhbHVlOnUsZXN0aW1hdGU6aSxyZXBvcnRlZDp0LGlzRXN0aW1hdGU6cixzdXJwcmlzZVBlcmNlbnQ6bnVsbD09bj9udWxsOjEwMCpNYXRoLmFicyhuL2kpLHJldmVudWVTdXJwcmlzZVBlcmNlbnQ6bnVsbD09Yz9udWxsOjEwMCpNYXRoLmFicyhjL28pfX1hc3luYyBmdW5jdGlvbiBmZShlLHQsbyxhLGgsZCxtKXsKY29uc3R7c3VycHJpc2U6dixyZXZlbnVlU3VycHJpc2U6ZyxyZXZlbnVlRXN0aW1hdGU6Yixpc1JldmVudWVFc3RpbWF0ZTpDLHJldmVudWVWYWx1ZTpQLGlzUmV2ZW51ZVZhbHVlOngsZXN0aW1hdGU6RCxpc1JlcG9ydGVkOkEscmVwb3J0ZWQ6TCxpc0VzdGltYXRlOkYsc3VycHJpc2VQZXJjZW50OkcscmV2ZW51ZVN1cnByaXNlUGVyY2VudDpqfT12ZShlKSxZPSJGdXR1cmUiPT09ZS50eXBlfHwiRXN0aW1hdGVkRGF0ZSI9PT1lLnR5cGUsWj1vJiYhWT9hd2FpdCBhc3luYyBmdW5jdGlvbihlLHQscyl7Y29uc3R7cGVyaW9kOmksZGF0ZTpyfT10LG89bmV3IERhdGUoMWUzKmkpLGE9IlEiKyhvLmdldFVUQ01vbnRoKCkrMSkvMyxsPW1lKGUucHJvX25hbWUscyk7dHJ5e2NvbnN0W2UsdF09YXdhaXQgUHJvbWlzZS5hbGwoW2wuZG9jdW1lbnRzUmVxdWVzdCxsLm5ld3NSZXF1ZXN0XSk7aWYocy5hYm9ydGVkKXJldHVybiBudWxsO2NvbnN0IGk9ZS5pdGVtcy5maW5kKChlPT5bInF1YXJ0ZXJseV9yZXBvcnQiLCJlYXJuaW5nc19yZWxlYXNlIiwiYW5udWFsX3JlcG9ydCJdLmluY2x1ZGVzKGUuY2F0ZWdvcnkuaWQpJiYiZWFybmluZyI9PT1lLmV2ZW50JiZlLmZpc2NhbF9wZXJpb2Q9PT1hJiZlLmZpc2NhbF95ZWFyPT09by5nZXRVVENGdWxsWWVhcigpKSk7aWYoIWkpcmV0dXJuIG51bGw7Y29uc3Qgbj1pLmlkLHU9aS5jb3JyZWxhdGlvbl9pZCxjPWUuaXRlbXMuZmlsdGVyKChlPT5lLmNvcnJlbGF0aW9uX2lkPT09dSkpO3JldHVybntzdW1tYXJ5OmFlP3QuZ2V0KG4pPz8iIjoiIixmaXNjYWxQZXJpb2Q6YSxmaXNjYWxZZWFyOm8uZ2V0VVRDRnVsbFllYXIoKSxldmVudERhdGU6ci8xZTMsY2F0ZWdvcmllczpjLm1hcChoZSl9fWNhdGNoKGUpe3JldHVybiBuLmlzQWJvcnRFcnJvcnx8Ty5sb2dFcnJvcihgRXJyb3IgcmVxdWVzdGluZyBkb2N1bWVudHMgYW5kIG5ld3M6ICR7ZX1gKSxudWxsfX0obyxlLGQpOm51bGwsSz1lLnN0YW5kYXJkaXplZCxlZT1udWxsIT1LLG9lPTEwPT09ZS50aW1lVHlwZXx8MTQ9PT1lLnRpbWVUeXBlLHVlPSgwLFYuZWFybmluZ3NTdHlsZXMpKGEpO2xldCBkZSxfZSxwZSx5ZSxmZTtzd2l0Y2goZS50eXBlKXtjYXNlIkZ1dHVyZSI6X2U9dWUuZnV0dXJlLGRlPWs7YnJlYWs7Y2FzZSJFc3RpbWF0ZWREYXRlIjpfZT11ZS5lc3RpbWF0ZWREYXRlLGRlPVI7YnJlYWs7Y2FzZSJOZWdhdGl2ZSI6X2U9dWUubmVnYXRpdmUsZGU9TTticmVhaztjYXNlIlBvc2l0aXZlIjpfZT11ZS5wb3NpdGl2ZSxkZT1FO2JyZWFrO2RlZmF1bHQ6X2U9dWUudW5rbm93bixkZT1rfXN3aXRjaChlLnRpbWVUeXBlKXtjYXNlIDEyOmNhc2UgMjI6cGU9Tix5ZT1JLkxvbGxpcG9wR3JvdXBJY29ucy5BZnRlck1hcmtldENsb3NlLGZlPWllO2JyZWFrO2Nhc2UgMTE6Y2FzZSAyMTpwZT1CLHllPUkuTG9sbGlwb3BHcm91cEljb25zLkJlZm9yZU1hcmtldE9wZW4sZmU9c2V9Y29uc3QgU2U9e25hbWU6IkVzdGltYXRlZERhdGUiPT09ZS50eXBlP1E6Six2YWx1ZTpoKGUuZGF0ZSxvZSl9O3BlJiYoU2UudmFsdWVSaWdodEljb249e2ljb25Db250ZW50OnBlLGljb25DbGFzczp5ZSx0b29sdGlwVGV4dDpmZX0pO2NvbnN0IGdlPVtTZV07ZS5wZXJpb2QmJmdlLnB1c2goe25hbWU6WCx2YWx1ZTp1LmRhdGVGb3JtYXRGdW5jdGlvbnNbIk1NTSAneXkiXShuZXcgRGF0ZSgxZTMqZS5wZXJpb2QpLCExKX0pO2NvbnN0IGJlPVo/ZnVuY3Rpb24oZSx0LHIsbyl7Y29uc3R7c3VycHJpc2U6YSxyZXZlbnVlU3VycHJpc2U6bCxzdXJwcmlzZVBlcmNlbnQ6dSxyZXZlbnVlU3VycHJpc2VQZXJjZW50OmN9PXZlKHQpO3JldHVybntjaGlsZHJlbjp5LnQobnVsbCx7Y29udGV4dDoiRWFybmluZyBsb2xsaXBvcCBvbiBjaGFydCJ9LHMoNzY3NzcxKSkuZm9ybWF0KHtzeW1ib2w6ZT8ubmFtZT8/IiJ9KSxvbkNsaWNrOmFzeW5jKCk9PntpZihlJiZyKXRyeXtjb25zdCBzPWFlP2F3YWl0IG1lKGUucHJvX25hbWUsbykubmV3c1JlcXVlc3Q6bmV3IE1hcDtpZihvLmFib3J0ZWQpcmV0dXJuO2NvbnN0IG49ci5jYXRlZ29yaWVzLm1hcCgoZT0+KHtpZDplLmRvY3VtZW50SWQsdGl0bGU6cy5nZXQoZS5kb2N1bWVudElkKT8/IiJ9KSkpLGg9e3RpdGxlOmBFYXJuaW5ncywgJHtyLmZpc2NhbFBlcmlvZH0gRlkke3IuZmlzY2FsWWVhcn1gLGlzQW5udWFsOiExLGV2ZW50OiJlYXJuaW5nIixkYXRlOnIuZXZlbnREYXRlLHllYXI6ci5maXNjYWxZZWFyLHN1bW1hcnk6ci5zdW1tYXJ5LGNhdGVnb3JpZXM6KDAsXy5zb3J0Q2F0ZWdvcmllcykoci5jYXRlZ29yaWVzKSxjdXJyZW5jeTplLmN1cnJlbmN5X2NvZGUsZWFybmluZzp7Li4udCxzdGFuZGFyZGl6ZWQ6dC5zdGFuZGFyZGl6ZWQ/P3ZvaWQgMCxyZXBvcnRlZDp0LnJlcG9ydGVkPz92b2lkIDAsZXN0aW1hdGU6dC5lc3RpbWF0ZT8/dm9pZCAwLHJldmVudWVFc3RpbWF0ZTp0LnJldmVudWVFc3RpbWF0ZT8/dm9pZCAwLHJldmVudWVWYWx1ZTp0LnJldmVudWVWYWx1ZT8/dm9pZCAwLHN1cnByaXNlOmE/P3ZvaWQgMCxyZXZlbnVlU3VycHJpc2U6bD8/dm9pZCAwLHN1cnByaXNlUGVyY2VudDp1Pz92b2lkIDAscmV2ZW51ZVN1cnByaXNlUGVyY2VudDpjPz92b2lkIDB9fTsoMCxwLm9wZW5DYXJkUG9wdXApKHtwcm9fc3ltYm9sOmUucHJvX25hbWUsc2hvcnRfbmFtZTplLm5hbWUsZXhjaGFuZ2U6ZS5leGNoYW5nZSx0eXBlOmUudHlwZSx0eXBlc3BlY3M6ZS50eXBlc3BlY3MsdHZfc3ltYm9sX3BhZ2VfdXJsX2ZvcmNlX2V4Y2hhbmdlOltdLGluc3RydW1lbnRfbmFtZTooMCxpLmVuc3VyZURlZmluZWQpKCgwLFQuZ2V0RGVzY3JpcHRpb25Gb3JUaXRsZUdlbmVyYXRpb24pKCJkZXNjcmlwdGlvbiIsZSkpfSxoLGguY2F0ZWdvcmllc1swXSxuKX1jYXRjaChlKXsoMCxuLmlzQWJvcnRFcnJvcikoZSl8fE8ubG9nRXJyb3IoYEVycm9yIHJlcXVlc3RpbmcgZG9jdW1lbnRzIGFuZCBuZXdzOiAke2V9YCl9fX19KG8sZSxaLGQpOmxlKG8sZnVuY3Rpb24oZSl7cmV0dXJuIHkudChudWxsLHtyZXBsYWNlOntzeW1ib2w6ZT8ubmFtZT8/IiJ9LGNvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMiCn0scyg3NTkxNTEpKX0obyksImVhcm5pbmdzIiksd2U9e3RpdGxlOnh8fEM/SDpxLGluZm9ybWF0aW9uQnV0dG9uUHJvcHM6e2FyaWFMYWJlbDp5LnQobnVsbCx2b2lkIDAscyg4Njk4NjcpKSxpY29uOiJxdWVzdGlvbiIsb25DbGljazooKT0+KDAsYy5zaG93U3VwcG9ydERpYWxvZykoe3NvbHV0aW9uSWQ6Uy5zb2x1dGlvbklkcy5FQVJOSU5HX0xPTExJUE9QX0ZJRUxEU30pfSxhbGVydDptLGljb246ZGUsc3R5bGU6e2NvbG9yOl9lfSxhY3Rpb25zOltiZSwoMCx3LmlzRmVhdHVyZUVuYWJsZWQpKCJhbGVydHMtb24tbG9sbGlwb3AiKSYmWT9jZSh0LHtlc3RpbWF0ZWREYXRlOm5ldyBEYXRlKGUuZGF0ZSksZXN0aW1hdGVkUmV2ZW51ZTpiPz92b2lkIDAsZXN0aW1hdGVkRWFybmluZ3M6RD8/dm9pZCAwfSk6dm9pZCAwXS5maWx0ZXIoci5pc0V4aXN0ZW50KSxtYWluOnt0eXBlOiJjb21tb24iLHRpdGxlOmdlLGNvbnRlbnQ6W119LGRvY3VtZW50c0luZm86Wn0sQ2U9e3RpdGxlOnEsY29udGVudDpbXX07aWYoZWUmJkNlLmNvbnRlbnQucHVzaCh7bmFtZTp6LHZhbHVlOigwLGwucm91bmRUb1RoaXJkRGlnaXQpKEspfSksQSYmQ2UuY29udGVudC5wdXNoKHtuYW1lOlUsdmFsdWU6KDAsbC5yb3VuZFRvVGhpcmREaWdpdCkoTCl9KSxGJiZDZS5jb250ZW50LnB1c2goe25hbWU6Vyx2YWx1ZTooMCxsLnJvdW5kVG9UaGlyZERpZ2l0KShEKX0pLG51bGwhPT12KXtsZXQgZT0oMCxsLnJvdW5kVG9UaGlyZERpZ2l0KSh2KTtpc0Zpbml0ZShHKSYmKGUrPSIgKCIrcmUuZm9ybWF0KEcpKyIpIiksQ2UuY29udGVudC5wdXNoKHtuYW1lOiQsdmFsdWU6KDAsZi5mb3JjZUxUUlN0cikoZSksc3R5bGU6e2ZvbnRXZWlnaHQ6ImJvbGQiLGNvbG9yOl9lfX0pfWlmKCgwLGkuZW5zdXJlRGVmaW5lZCkod2UubWFpbi5jb250ZW50KS5wdXNoKENlKSx4fHxDKXtjb25zdCBlPXt0aXRsZTp0ZSxjb250ZW50OltdfTtpZih4JiZlLmNvbnRlbnQucHVzaCh7bmFtZTpVLHZhbHVlOm5lLmZvcm1hdChQKX0pLEMmJmUuY29udGVudC5wdXNoKHtuYW1lOlcsdmFsdWU6bmUuZm9ybWF0KGIpfSksbnVsbCE9PWcpe2xldCB0PW5lLmZvcm1hdChnKTtpc0Zpbml0ZShqKSYmKHQrPSIgKCIrcmUuZm9ybWF0KGopKyIpIiksZS5jb250ZW50LnB1c2goe25hbWU6JCx2YWx1ZTooMCxmLmZvcmNlTFRSU3RyKSh0KSxzdHlsZTp7Zm9udFdlaWdodDoiYm9sZCIsY29sb3I6Zz49MD91ZS5wb3NpdGl2ZTp1ZS5uZWdhdGl2ZX19KX0oMCxpLmVuc3VyZURlZmluZWQpKHdlLm1haW4uY29udGVudCkucHVzaChlKX1yZXR1cm5bd2VdfWZ1bmN0aW9uIFNlKGUpe3JldHVybiB5LnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOmU/Lm5hbWU/PyIifSxjb250ZXh0OiJGaW5hbmNpYWwgZXZlbnRzIGxvbGlwb3BzIn0scygzODE0NzkpKX1mdW5jdGlvbiBnZShlLHQscyxpKXtjb25zdHtkYXRlOm4sYW1vdW50RGl2aWRlbmRzOm8scGF5bWVudERhdGU6YSxhZGp1c3RlZEFtb3VudERpdmlkZW5kczp1fT1lLGM9W3tuYW1lOlosdmFsdWU6aShuKX1dO3JldHVybigwLHIuaXNOdW1iZXIpKG8pJiZjLnB1c2goe25hbWU6aix2YWx1ZTooMCxsLnJvdW5kVG9UaGlyZERpZ2l0KShvKX0pLCgwLHIuaXNOdW1iZXIpKHUpJiZjLnB1c2goe25hbWU6WSx2YWx1ZTooMCxsLnJvdW5kVG9UaGlyZERpZ2l0KSh1KX0pLCgwLHIuaXNOdW1iZXIpKGEpJiZjLnB1c2goe25hbWU6ZWUsdmFsdWU6aShhKX0pLFt7dGl0bGU6RyxpY29uOkwsc3R5bGU6e2NvbG9yOigwLFYuZGl2aWRlbmRzU3R5bGVzKShzKX0sYWN0aW9uczpbbGUodCxTZSh0KSwiZGl2aWRlbmRzIildLmZpbHRlcihyLmlzRXhpc3RlbnQpLG1haW46e3R5cGU6ImNvbW1vbiIsdGl0bGU6Y319XX1mdW5jdGlvbiBiZShlLHQscyxpKXtsZXQgbj1LO3JldHVybigwLHIuaXNOdW1iZXIpKGUubnVtZXJhdG9yKSYmKDAsci5pc051bWJlcikoZS5kZW5vbWluYXRvcikmJihuKz0iOiAiK2UubnVtZXJhdG9yKyIvIitlLmRlbm9taW5hdG9yKSxbe3RpdGxlOm4saWNvbjpBLHN0eWxlOntjb2xvcjooMCxWLnNwbGl0c1N0eWxlKShzKX0sYWN0aW9uczpbbGUodCx1ZSh0KSldLmZpbHRlcihyLmlzRXhpc3RlbnQpLG1haW46e3R5cGU6ImNvbW1vbiIsdGl0bGU6aShlLmRhdGUpfX1dfX0sNDA4Mzc3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2RhcmtUaGVtZUVhcm5pbmdzU3R5bGU6KCk9PnIsZGl2aWRlbmRzU3R5bGVzOigpPT51LGVhcm5pbmdzU3R5bGVzOigpPT5vLGxpZ2h0VGhlbWVFYXJuaW5nc1N0eWxlOigpPT5uLHNwbGl0c1N0eWxlOigpPT5kfSk7dmFyIGk9cyg1MDU1Nik7Y29uc3Qgcj17cG9zaXRpdmU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTYwMCIpLG5lZ2F0aXZlOigwLGkuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC02MDAiKSxmdXR1cmU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWdyYXBlcy1wdXJwbGUtYTQwMCIpLGVzdGltYXRlZERhdGU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWdyYXBlcy1wdXJwbGUtYTQwMCIpLHVua25vd246KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS0zNTAiKX0sbj17cG9zaXRpdmU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLG5lZ2F0aXZlOigwLGkuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC01MDAiKSxmdXR1cmU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWdyYXBlcy1wdXJwbGUtYTIwMCIpLGVzdGltYXRlZERhdGU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWdyYXBlcy1wdXJwbGUtYTIwMCIpLHVua25vd246KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS03MDAiKX07ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZT9yOm59Y29uc3QgYT0oMCxpLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS02MDAiKSxsPSgwLGkuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTUwMCIpO2Z1bmN0aW9uIHUoZSl7cmV0dXJuIGU/YTpsfWNvbnN0IGM9KDAsCmkuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10YW4tb3JhbmdlLTYwMCIpLGg9KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXRhbi1vcmFuZ2UtNTAwIik7ZnVuY3Rpb24gZChlKXtyZXR1cm4gZT9jOmh9fSw3NTc4MjkoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgaTtzLmQodCx7V2Vidmlld0NvbnRyb2xsZXJCYXNlOigpPT5uLFdlYnZpZXdQYWdlTmFtZTooKT0+aX0pLGZ1bmN0aW9uKGUpe2UuRmluYW5jaWFscz0iZmluYW5jaWFscyIsZS5Gb3JlY2FzdD0iZm9yZWNhc3QiLGUuRGV0YWlscz0iZGV0YWlscyIsZS5UZWNobmljYWxzPSJ0ZWNobmljYWxzIixlLkNvcnBvcmF0ZUJvbmRzPSJjb3Jwb3JhdGUtYm9uZHMiLGUuU2Vhc29uYWxzPSJzZWFzb25hbHMiLGUuU3RvY2tCb25kcz0ic3RvY2stYm9uZHMiLGUuRm9yd2FyZEN1cnZlPSJmb3J3YXJkLWN1cnZlIixlLkJvbmRZaWVsZEN1cnZlPSJib25kLXlpZWxkLWN1cnZlIixlLllpZWxkQ3VydmVzPSJ5aWVsZC1jdXJ2ZXMiLGUuRG9jdW1lbnRzPSJkb2N1bWVudHMiLGUuRXRmcz0iZXRmcyIsZS5Db250cmFjdHM9ImNvbnRyYWN0cyIsZS5EZXJpdmF0aXZlcz0iZGVyaXZhdGl2ZXMiLGUuTmV3cz0ibmV3cyIsZS5Db21tdW5pdHk9ImNvbW11bml0eSJ9KGl8fChpPXt9KSk7dmFyIHI9cygyMjUyOTgpO2NsYXNzIG57X2NyZWF0ZU9wZW5SZXF1ZXN0KGUsdD1uZXcgVVJMU2VhcmNoUGFyYW1zKXtjb25zdCBzPXQuZ2V0KCJzeW1ib2wiKT8/ci5saW5raW5nLnN5bWJvbC52YWx1ZSgpO3JldHVybiB0LnNldCgic3ltYm9sIixzKSx7ZXhlY3V0ZSgpe2NvbnN0IHM9bmV3IFVSTChgd2Vidmlldy8ke2V9L2AsbG9jYXRpb24ub3JpZ2luKTtyZXR1cm4gcy5zZWFyY2g9dC50b1N0cmluZygpLHdpbmRvdy5vcGVuKHMsIl9ibGFuayIpfSxzeW1ib2w6KCk9PnN9fX19LDcwNjI0OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTZXNzaW9uczooKT0+X30pO3ZhciBpPXMoMTM4NjM4KSxyPXMoOTMwMjMxKSxuPXMoNzkxNDI3KSxvPXMoNzk5Mzc1KSxhPXMoMjE4NzY1KSxsPXMoNzU1NjI3KSx1PXMoNTk2MjcyKSxjPXMoOTY2NDA0KSxoPXMoNjA1MjU3KTtjb25zdCBkPW5ldyBsLlByaWNlRm9ybWF0dGVyO2NsYXNzIF8gZXh0ZW5kcyB1LkN1c3RvbVNvdXJjZUJhc2V7Y29uc3RydWN0b3IoZSx0LHMsaSl7c3VwZXIoZSx0KSx0aGlzLl9zdHVkeVNvdXJjZT1udWxsLHRoaXMuX3BhbmVWaWV3cz1bXSx0aGlzLl9tZXRhSW5mbz1udWxsLHRoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9pc1N0YXJ0ZWQ9ITEsdGhpcy5fbG9hZGVkR3JhcGhpY3M9bnVsbCx0aGlzLl9kb3VibGVDbGlja0hhbmRsZXI9aSx0aGlzLl9wcm9wZXJ0aWVzPXMsdGhpcy5fcHJvcGVydGllcy5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblByb3BlcnRpZXNDaGFuZ2VkKSx0aGlzLl9yZXF1ZXN0QW5kUHJvY2Vzc01ldGFJbmZvKCksdC50aW1lU2NhbGUoKS5vblJlc2V0KCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY2xlYXJEYXRhKSx0LnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLnVwZGF0ZUFsbFZpZXdzLmJpbmQodGhpcywoMCxjLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpKSx0Lm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcHJvY2Vzc0hpYmVybmF0ZSl9c3RhcnQoKXt0aGlzLl9pc1N0YXJ0ZWQ9ITAsdGhpcy5fcHJvY2Vzc0hpYmVybmF0ZSgpfXJlc3RhcnQoKXt0aGlzLl9jbGVhckRhdGEoKSwoMCxyLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzdG9wX3N0dWR5X29uX3Jlc3RhcnQiKSYmdGhpcy5zdG9wKCksdGhpcy5zdGFydCgpfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9pc1N0YXJ0ZWR9c3RvcCgpe3RoaXMuX2lzU3RhcnRlZD0hMSxudWxsIT09dGhpcy5fc3R1ZHlTb3VyY2UmJnRoaXMuX3N0dWR5U291cmNlLnN0b3AoKX1pc0hvdmVyZWRFbmFibGVkKCl7cmV0dXJuITF9cGFuZVZpZXdzKGUpe3JldHVybiB0aGlzLl9wYW5lVmlld3N9dXBkYXRlQWxsVmlld3MoZSl7dGhpcy5fcGFuZVZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSl9dXBkYXRlVmlld3NGb3JQYW5lKGUsdCl7dGhpcy51cGRhdGVBbGxWaWV3cyh0KX1kZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkPSEwLG51bGwhPT10aGlzLl9zdHVkeVNvdXJjZSYmKHRoaXMuX3N0dWR5U291cmNlLmRhdGFDbGVhcmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fc3R1ZHlTb3VyY2UuZGF0YVVwZGF0ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9zdHVkeVNvdXJjZS5kZXN0cm95KCksdGhpcy5fc3R1ZHlTb3VyY2U9bnVsbCksdGhpcy5fbW9kZWwudGltZVNjYWxlKCkubG9naWNhbFJhbmdlQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLm9uUmVzZXQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmludGVydmFsLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Byb3BlcnRpZXMudW5zdWJzY3JpYmVBbGwodGhpcyl9c2VyaWVzKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKX1wcmljZVNjYWxlKCl7cmV0dXJuIHRoaXMuc2VyaWVzKCkucHJpY2VTY2FsZSgpfWdyYXBoaWNzKCl7cmV0dXJuIHRoaXMuX2xvYWRlZEdyYXBoaWNzfHwoMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N0dWR5U291cmNlKS5ncmFwaGljcygpfXZhbHVlQXQoZSx0KXtyZXR1cm4gbnVsbH1wcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXN9Z3JhcGhpY3NJbmZvKCl7cmV0dXJuKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZXRhSW5mbykuZ3JhcGhpY3N9Zmlyc3RWYWx1ZShlKXtyZXR1cm4gdGhpcy5fbW9kZWwubWFpblNlcmllcygpLmZpcnN0VmFsdWUoKX1mb3JtYXR0ZXIoKXtyZXR1cm4gZH1zdGF0ZURhdGEoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX21ldGFJbmZvP3tncmFwaGljczooMCwKYS5zYXZlU3R1ZHlHcmFwaGljcykodGhpcy5ncmFwaGljcygpLHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSksbWV0YUluZm86dGhpcy5fbWV0YUluZm8uc3RhdGUoKX06bnVsbH1yZXN0b3JlU3RhdGVEYXRhKGUpe3ZvaWQgMCE9PWUmJih0aGlzLl9sb2FkU3R1ZHlHcmFwaGljcyhlLmdyYXBoaWNzKSx0aGlzLl9zZXRNZXRhSW5mbyhuZXcgbi5TdHVkeU1ldGFJbmZvKGUubWV0YUluZm8pKSx0aGlzLl9jcmVhdGVQYW5lVmlld3MoKSl9bWV0YUluZm8oKXtyZXR1cm4oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX21ldGFJbmZvKX1hc3luYyBfcmVxdWVzdEFuZFByb2Nlc3NNZXRhSW5mbygpe2lmKHRoaXMuX21vZGVsLmlzU25hcHNob3QoKSlyZXR1cm47Y29uc3QgZT1hd2FpdCgwLGguc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuZmluZEJ5SWQoe3R5cGU6ImphdmEiLHN0dWR5SWQ6IlNlc3Npb25zQHR2LWJhc2ljc3R1ZGllcyJ9KTt0aGlzLl9kZXN0cm95ZWR8fG51bGw9PT10aGlzLl9sb2FkZWRHcmFwaGljcyYmKHRoaXMuX3NldE1ldGFJbmZvKGUpLG51bGwhPT10aGlzLl9tZXRhSW5mbyYmKHRoaXMuX3N0dWR5U291cmNlPW5ldyBvLkV4dGVuZGVkU3R1ZHlEYXRhU291cmNlKHRoaXMuX21vZGVsLmNoYXJ0QXBpKCksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLCJzZXNzaW9uc18iLHRoaXMuX21ldGFJbmZvKSx0aGlzLl9jcmVhdGVQYW5lVmlld3MoKSx0aGlzLl9zdHVkeVNvdXJjZS5kYXRhQ2xlYXJlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMudXBkYXRlQWxsVmlld3MuYmluZCh0aGlzLCgwLGMuc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpKSx0aGlzLl9zdHVkeVNvdXJjZS5kYXRhVXBkYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMudXBkYXRlQWxsVmlld3MuYmluZCh0aGlzLCgwLGMuc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpKSx0aGlzLl9zdHVkeVNvdXJjZS5zZXRJbnB1dHMoe30pLHRoaXMuX3Byb2Nlc3NIaWJlcm5hdGUoKSkpfV9sb2FkU3R1ZHlHcmFwaGljcyhlKXtjb25zdCB0PWUuYmFja2dyb3VuZHM7aWYodm9pZCAwIT09dCl7Y29uc3QgZT10LmZpbmRJbmRleCgoZT0+ImluU2Vzc2lvbiI9PT1lLnN0eWxlSWQpKTstMSE9PWUmJnQuc3BsaWNlKGUsMSl9dGhpcy5fbG9hZGVkR3JhcGhpY3M9KDAsYS5sb2FkU3R1ZHlHcmFwaGljcykoZSl9X3NldE1ldGFJbmZvKGUpe2NvbnN0IHQ9ZS5ncmFwaGljcy5iYWNrZ3JvdW5kczt2b2lkIDAhPT10JiZ2b2lkIDAhPT10LmluU2Vzc2lvbiYmZGVsZXRlIHQuaW5TZXNzaW9uLHRoaXMuX21ldGFJbmZvPWV9X2NsZWFyRGF0YSgpe251bGwhPT10aGlzLl9zdHVkeVNvdXJjZSYmdGhpcy5fc3R1ZHlTb3VyY2UuY2xlYXJEYXRhKCl9X2NyZWF0ZVBhbmVWaWV3cygpe2NvbnN0IGU9e2RvdWJsZUNsaWNrSGFuZGxlcjp0aGlzLl9kb3VibGVDbGlja0hhbmRsZXJ9OygwLGEuY3JlYXRlR3JhcGhpY3NQYW5lVmlld3MpKHRoaXMsdGhpcy5fbW9kZWwsZSkudGhlbigoZT0+e3RoaXMuX3BhbmVWaWV3cz1lLnJlZ3VsYXJQYW5lVmlld3MsdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKX0pKX1fb25Qcm9wZXJ0aWVzQ2hhbmdlZCgpe3RoaXMuX3Byb2Nlc3NIaWJlcm5hdGUoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLGMuc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpfV9wcm9jZXNzSGliZXJuYXRlKCl7aWYobnVsbCE9PXRoaXMuX3N0dWR5U291cmNlKXtjb25zdCBlPXRoaXMuX2NhbkJlSGliZXJuYXRlZCgpLHQ9dGhpcy5faXNIaWJlcm5hdGVkKCkscz10aGlzLl9zdHVkeVNvdXJjZS5pc1N0YXJ0ZWQoKTshdCYmZSYmcz90aGlzLl9zdHVkeVNvdXJjZS5zdG9wKCk6IXR8fGV8fHN8fHRoaXMuX3N0dWR5U291cmNlLnN0YXJ0KCl9fV9jYW5CZUhpYmVybmF0ZWQoKXtpZih0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaXNEV00oKSlyZXR1cm4hMDtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuc2Vzc2lvbkhpZ2hsaWdodC5jaGlsZHMoKSx7cHJlTWFya2V0OnQscG9zdE1hcmtldDpzLGVsZWN0cm9uaWM6aSxvdXRPZlNlc3Npb246cn09ZS5iYWNrZ3JvdW5kcy5jaGlsZHMoKSx7c2Vzc0JyZWFrczpufT1lLnZlcnRsaW5lcy5jaGlsZHMoKSxvPXQuY2hpbGRzKCkuYXZhaWxhYmxlLnZhbHVlKCkmJnQuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpfHxzLmNoaWxkcygpLmF2YWlsYWJsZS52YWx1ZSgpJiZzLmNoaWxkcygpLnZpc2libGUudmFsdWUoKXx8aS5jaGlsZHMoKS5hdmFpbGFibGUudmFsdWUoKSYmaS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCl8fHIuY2hpbGRzKCkuYXZhaWxhYmxlLnZhbHVlKCkmJnIuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpLGE9bi5jaGlsZHMoKS5hdmFpbGFibGUudmFsdWUoKSYmbi5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCk7cmV0dXJuIW8mJiFhfV9pc0hpYmVybmF0ZWQoKXtyZXR1cm4gdGhpcy5faXNTdGFydGVkJiYobnVsbD09PXRoaXMuX3N0dWR5U291cmNlfHwhdGhpcy5fc3R1ZHlTb3VyY2UuaXNTdGFydGVkKCkpfX19LDkwOTU5MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtzdHVkeV9FU0QkVFZfRElWSURFTkRTOigpPT5zZSxzdHVkeV9FU0QkVFZfRUFSTklOR1M6KCk9PnJlLHN0dWR5X0VTRCRUVl9TUExJVFM6KCk9PmllfSk7dmFyIGk9cyg1MDU1Nikscj1zKDk1MjkwMCksbj1zKDU1NjkxMSksbz1zKDYwMTg0MSksYT1zKDg3MzU3MyksbD1zKDIyODgyKSx1PXMoNDA4Mzc3KTt2YXIgYyxoPXMoNzYzKSxkPXMoMjYwNjkpOyFmdW5jdGlvbihlKXtlLlBvc2l0aXZlRWFybmluZ0ZpbGxQYXRoPSJNMTEuMDggMS4zNmEzIDMgMCAwIDEgMi44NiAwbDcuNDkgNC4wNkEzIDMgMCAwIDEgMjMgOC4wNlYyMGEzIDMgMCAwIDEtMyAzSDVhMyAzIDAgMCAxLTMtM1Y4LjA2YTMgMyAwIDAgMSAxLjU3LTIuNjR6IiwKZS5Qb3NpdGl2ZUVhcm5pbmdTdHJva2VQYXRoPSJNMTEuOSAyLjkxYy4zNy0uMjIuODQtLjIyIDEuMjIgMGw3LjUgNC4yNWMuMzkuMjIuNjMuNjQuNjMgMS4wOVYyMGMwIC42OS0uNTYgMS4yNS0xLjI1IDEuMjVINWMtLjY5IDAtMS4yNS0uNTYtMS4yNS0xLjI1VjguMjVjMC0uNDUuMjQtLjg3LjYzLTEuMDl6IixlLlBvc2l0aXZlRWFybmluZ0xhYmVsUGF0aD0iTTEwIDE4VjloNS41djEuNWgtNHYyLjI1aDN2MS41aC0zdjIuMjVoNFYxOHoiLGUuTmVnYXRpdmVFYXJuaW5nRmlsbFBhdGg9Ik0xMS4wOCAyMy42NGEzIDMgMCAwIDAgMi44NiAwbDcuNDktNC4wNkEzIDMgMCAwIDAgMjMgMTYuOTRWNWEzIDMgMCAwIDAtMy0zSDVhMyAzIDAgMCAwLTMgM3YxMS45NGEzIDMgMCAwIDAgMS41NyAyLjY0eiIsZS5OZWdhdGl2ZUVhcm5pbmdTdHJva2VQYXRoPSJNMTEuOSAyMi4xYy4zNy4yLjg0LjIgMS4yMiAwbDcuNS00LjI2Yy4zOS0uMjIuNjMtLjYzLjYzLTEuMDhWNWMwLS42OS0uNTYtMS4yNS0xLjI1LTEuMjVINWMtLjY5IDAtMS4yNS41Ni0xLjI1IDEuMjV2MTEuNzZjMCAuNDUuMjQuODYuNjMgMS4wOHoiLGUuTmVnYXRpdmVFYXJuaW5nTGFiZWxQYXRoPSJNMTAgMTdWOGg1LjJ2MS41aC0zLjd2Mi4yNWgyLjd2MS41aC0yLjd2Mi4yNWgzLjdWMTd6IixlLkRlZmF1bHRFYXJuaW5nRmlsbFBhdGg9Ik0yIDVhMyAzIDAgMCAxIDMtM2gxNWEzIDMgMCAwIDEgMyAzdjE1YTMgMyAwIDAgMS0zIDNINWEzIDMgMCAwIDEtMy0zeiIsZS5EZWZhdWx0RWFybmluZ1N0cm9rZVBhdGg9Ik01IDMuNWgxNWMuODMgMCAxLjUuNjcgMS41IDEuNXYxNWMwIC44My0uNjcgMS41LTEuNSAxLjVINUExLjUgMS41IDAgMCAxIDMuNSAyMFY0Ljg1QTEuNSAxLjUgMCAwIDEgNSAzLjVaIixlLkRlZmF1bHRFYXJuaW5nTGFiZWxQYXRoPSJNMTAgMTdWOGg1LjV2MS41aC00djIuMjVoM3YxLjVoLTN2Mi4yNWg0VjE3eiJ9KGN8fChjPXt9KSk7dmFyIF89cyg3MzY1MzEpLHA9cyg2MzcxMDQpLHk9cyg3ODY0MzYpO2Z1bmN0aW9uIG0oZSx0LHMpe0FycmF5LmlzQXJyYXkodCk/dC5mb3JFYWNoKCh0PT57bShlLHQscyl9KSk6ImZpbGwiPT09dC5tb2RlPyhlLmZpbGxTdHlsZT1zLGUuZmlsbCh0LnBhdGgpKToic3Ryb2tlIj09PXQubW9kZSYmKGUuc3Ryb2tlU3R5bGU9cyxlLnN0cm9rZSh0LnBhdGgpKX1mdW5jdGlvbiB2KGUsdCl7cmV0dXJue2JhY2tncm91bmQ6e2JvZHlQYXRoOntwYXRoOm5ldyBQYXRoMkQoZSksbW9kZToiZmlsbCJ9fSxmb3JlZ3JvdW5kOntib2R5UGF0aDp7cGF0aDpuZXcgUGF0aDJEKHQpLG1vZGU6ImZpbGwifSxib3JkZXJQYXRoOntwYXRoOm5ldyBQYXRoMkQodCksbW9kZToic3Ryb2tlIn19fX1jb25zdCBmPXYoIk0xMS4wOCAxLjM2YTMgMyAwIDAgMSAyLjg2IDBsNy40OSA0LjA2QTMgMyAwIDAgMSAyMyA4LjA2VjIwYTMgMyAwIDAgMS0zIDNINWEzIDMgMCAwIDEtMy0zVjguMDZhMyAzIDAgMCAxIDEuNTctMi42NHoiLCJNMTEuOSAyLjkxYy4zNy0uMjIuODQtLjIyIDEuMjIgMGw3LjUgNC4yNWMuMzkuMjIuNjMuNjQuNjMgMS4wOVYyMGMwIC42OS0uNTYgMS4yNS0xLjI1IDEuMjVINWMtLjY5IDAtMS4yNS0uNTYtMS4yNS0xLjI1VjguMjVjMC0uNDUuMjQtLjg3LjYzLTEuMDl6IiksUz12KCJNMTEuMDggMjMuNjRhMyAzIDAgMCAwIDIuODYgMGw3LjQ5LTQuMDZBMyAzIDAgMCAwIDIzIDE2Ljk0VjVhMyAzIDAgMCAwLTMtM0g1YTMgMyAwIDAgMC0zIDN2MTEuOTRhMyAzIDAgMCAwIDEuNTcgMi42NHoiLCJNMTEuOSAyMi4xYy4zNy4yLjg0LjIgMS4yMiAwbDcuNS00LjI2Yy4zOS0uMjIuNjMtLjYzLjYzLTEuMDhWNWMwLS42OS0uNTYtMS4yNS0xLjI1LTEuMjVINWMtLjY5IDAtMS4yNS41Ni0xLjI1IDEuMjV2MTEuNzZjMCAuNDUuMjQuODYuNjMgMS4wOHoiKSxnPXYoIk0yIDVhMyAzIDAgMCAxIDMtM2gxNWEzIDMgMCAwIDEgMyAzdjE1YTMgMyAwIDAgMS0zIDNINWEzIDMgMCAwIDEtMy0zeiIsIk01IDMuNWgxNWMuODMgMCAxLjUuNjcgMS41IDEuNXYxNWMwIC44My0uNjcgMS41LTEuNSAxLjVINUExLjUgMS41IDAgMCAxIDMuNSAyMFY0Ljg1QTEuNSAxLjUgMCAwIDEgNSAzLjVaIiksYj17YmFja2dyb3VuZDp7Ym9keVBhdGg6W3twYXRoOm5ldyBQYXRoMkQoIk0yMCAyYTMgMyAwIDAgMSAzIDN2MTVhMyAzIDAgMCAxLTMgM0g1YTMgMyAwIDAgMS0zLTN2LTQuODNxLS42My4xNi0xIC42M1Y5LjdxLjM2LS40MiAxLS42MlY1YTMgMyAwIDAgMSAzLTN6IiksbW9kZToiZmlsbCJ9XX0sZm9yZWdyb3VuZDp7Ym9keVBhdGg6W3twYXRoOm5ldyBQYXRoMkQoIk0yMCAzYTIgMiAwIDAgMSAyIDJ2MTVhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQuODRhMS45NSAxLjk1IDAgMCAwLTIgLjY0VjkuN2EyLjEgMi4xIDAgMCAxIDItLjY2VjVjMC0xLjEuOS0yIDItMnoiKSxtb2RlOiJmaWxsIn1dLGJvcmRlclBhdGg6W3twYXRoOm5ldyBQYXRoMkQoIk0yMCAzYTIgMiAwIDAgMSAyIDJ2MTVhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQuODRjLjQ4LjE0Ljk4LjQ1IDEuNS42NVYyMGMwIC4yOC4yMi41LjUuNWgxNWEuNS41IDAgMCAwIC41LS41VjVhLjUuNSAwIDAgMC0uNS0uNUg1YS41LjUgMCAwIDAtLjUuNXY0LjY1Yy0uNDgtLjIyLS45Ny0uNS0xLjUtLjYxVjVjMC0xLjEuOS0yIDItMnoiKSxtb2RlOiJmaWxsIn0se3BhdGg6bmV3IFBhdGgyRCgiTTIuNjMgMTIuNzVjMS4wMSAwIDEuOTIuOSAyLjc5LjlxMS4wNS0uMDIgMS41OC0uN3YxLjM0Yy0uMzUuNC0uODkuNzEtMS42Mi43MS0xLjAyIDAtMS45My0uOS0yLjgtLjktLjcgMC0xLjIzLjI2LTEuNTguN3YtMS4zNGMuMzUtLjQuODktLjcxIDEuNjMtLjcxTTIuNjMgMTBjMS4wMSAwIDEuOTIuOSAyLjc5LjkuNyAwIDEuMjMtLjI2IDEuNTgtLjd2MS40Yy0uMzUuNC0uODkuNy0xLjYyLjctMS4wMiAwLTEuOTMtLjktMi44LS45LS43IDAtMS4yMy4yNi0xLjU4Ljd2LTEuNGMuMzUtLjM5Ljg5LS43IDEuNjMtLjciKSxtb2RlOiJmaWxsIn1dLGFjdGl2ZVBhdGg6ewpwYXRoOm5ldyBQYXRoMkQoIk0yLjYzIDEyLjc1YzEuMDEgMCAxLjkyLjkgMi43OS45cTEuMDUtLjAyIDEuNTgtLjd2MS4zNGMtLjM1LjQtLjg5LjcxLTEuNjIuNzEtMS4wMiAwLTEuOTMtLjktMi44LS45LS43IDAtMS4yMy4yNi0xLjU4Ljd2LTEuMzRjLjM1LS40Ljg5LS43MSAxLjYzLS43MU0yLjYzIDEwYzEuMDEgMCAxLjkyLjkgMi43OS45LjcgMCAxLjIzLS4yNiAxLjU4LS43djEuNGMtLjM1LjQtLjg5LjctMS42Mi43LTEuMDIgMC0xLjkzLS45LTIuOC0uOS0uNyAwLTEuMjMuMjYtMS41OC43di0xLjRjLjM1LS4zOS44OS0uNyAxLjYzLS43IiksbW9kZToiZmlsbCJ9fX0sdz17YmFja2dyb3VuZDp7cGF0aDpuZXcgUGF0aDJEKCJNMjcgNEMyNi45OTk5IDEuMjM4NzkgMjQuNzYxMiAtMC45OTk4NTMgMjIgLTFDMTkuMjM4NyAtMSAxNy4wMDAxIDEuMjM4NjkgMTcgNEMxNyA2Ljc2MTQyIDE5LjIzODYgOSAyMiA5QzI0Ljc2MTMgOC45OTk4NSAyNyA2Ljc2MTMzIDI3IDRaTTIyLjUwMiAwLjk5OTk5OVY0Ljk5NjA5SDE5LjVWMy45OTYwOUgyMS41MDJWMC45OTk5OTlIMjIuNTAyWk0xNS4zNDg2IDAuMjk3ODUxTDE2LjA2MzUgMC45OTcwNjlMMTkuMjkxIC0yLjMwMDc4TDE4LjU3NjIgLTNMMTUuMzQ4NiAwLjI5Nzg1MVpNMjQuNzA5IC0yLjMwMDc4TDI3LjkzNjUgMC45OTcwNjlMMjguNjUwNCAwLjI5Nzg1MUwyNS40MjI5IC0zTDI0LjcwOSAtMi4zMDA3OFpNMTYuMzU3NCAxLjk1MzEyQzE2LjAxODcgMi4wNTY5MyAxNS42MzUzIDEuOTc3MDYgMTUuMzY0MyAxLjcxMTkxTDE0LjY0OTQgMS4wMTI2OUMxNC40NTk4IDAuODI3MjA4IDE0LjM1MTUgMC41NzM4NDEgMTQuMzQ4NiAwLjMwODU5M0MxNC4zNDU4IDAuMDQzNDk3MSAxNC40NDg0IC0wLjIxMTg0OSAxNC42MzM4IC0wLjQwMTM2OEwxNy44NjEzIC0zLjY5OTIyQzE4LjI0NzUgLTQuMDkzODUgMTguODgwNyAtNC4xMDA5NiAxOS4yNzU0IC0zLjcxNDg0TDE5Ljk5MDIgLTMuMDE1NjNDMjAuMTc5OSAtMi44MzAxNCAyMC4yODgxIC0yLjU3Njc3IDIwLjI5MSAtMi4zMTE1MkMyMC4yOTM1IC0yLjA4MjY2IDIwLjIxNjMgLTEuODYxODUgMjAuMDc2MiAtMS42ODM1OUMyMC42ODAyIC0xLjg4Nzk5IDIxLjMyNyAtMiAyMiAtMkMyMi42NzI0IC0xLjk5OTk2IDIzLjMxODQgLTEuODg3NjMgMjMuOTIxOSAtMS42ODM1OUMyMy42MTA2IC0yLjA3OTUxIDIzLjY0MDggLTIuNjU1MTYgMjQuMDA4OCAtMy4wMTU2M0wyNC43MjI3IC0zLjcxNDg0TDI0Ljc5NjkgLTMuNzgwMjdDMjQuOTc2NCAtMy45MjQzIDI1LjIwMTQgLTQuMDAyNDYgMjUuNDMzNiAtNEMyNS42OTg4IC0zLjk5NzE1IDI1Ljk1MjIgLTMuODg4NzggMjYuMTM3NyAtMy42OTkyMkwyOS4zNjUyIC0wLjQwMTM2OEMyOS43NTEyIC0wLjAwNjc2MzAxIDI5Ljc0NDkgMC42MjY0MTQgMjkuMzUwNiAxLjAxMjY5TDI4LjYzNjcgMS43MTE5MUMyOC40NDcyIDEuODk3NTUgMjguMTkxMSAxLjk5OTg3IDI3LjkyNTggMS45OTcwN0MyNy44MjgyIDEuOTk2MDIgMjcuNzMyMiAxLjk4MDUzIDI3LjY0MDYgMS45NTIxNUMyNy44NzI3IDIuNTkxMjMgMjggMy4yODA3NSAyOCA0QzI4IDcuMzEzNjcgMjUuMzEzNSA5Ljk5OTgyIDIyIDEwQzE4LjY4NjMgMTAgMTYgNy4zMTM3MSAxNiA0QzE2IDMuMjgxMzEgMTYuMTI1NyAyLjU5MTggMTYuMzU3NCAxLjk1MzEyWiIpLG1vZGU6ImZpbGwifSxmb3JlZ3JvdW5kOntwYXRoOm5ldyBQYXRoMkQoIk0yMiAtMUMyNC43NjEyIC0wLjk5OTg1MyAyNi45OTk5IDEuMjM4NzkgMjcgNEMyNyA2Ljc2MTMzIDI0Ljc2MTMgOC45OTk4NSAyMiA5QzE5LjIzODYgOSAxNyA2Ljc2MTQyIDE3IDRDMTcuMDAwMSAxLjIzODY5IDE5LjIzODcgLTEgMjIgLTFaTTIxLjUwMiAwLjk5OTk5OVYzLjk5NjA5SDE5LjVWNC45OTYwOUgyMi41MDJWMC45OTk5OTlIMjEuNTAyWk0xOS4yOTEgLTIuMzAwNzhMMTYuMDYzNSAwLjk5NzA2OUwxNS4zNDg2IDAuMjk3ODUxTDE4LjU3NjIgLTNMMTkuMjkxIC0yLjMwMDc4Wk0yOC42NTA0IDAuMjk3ODUxTDI3LjkzNjUgMC45OTcwNjlMMjQuNzA5IC0yLjMwMDc4TDI1LjQyMjkgLTNMMjguNjUwNCAwLjI5Nzg1MVoiKSxtb2RlOiJmaWxsIn19O2Z1bmN0aW9uIEMoZSx0LHMsaSl7ZS5zYXZlKCksZS5zZXRUcmFuc2Zvcm0odCkscy5sb2xsaXBvcC5maWxsQ2lyY2xlJiZzLmxvbGxpcG9wLmJhY2tncm91bmRDb2xvciYmbShlLGkuYmFja2dyb3VuZC5ib2R5UGF0aCxzLmxvbGxpcG9wLmJhY2tncm91bmRDb2xvcikscy5sb2xsaXBvcC5maWxsQ2lyY2xlJiZzLmxvbGxpcG9wLmZpbGxTdHlsZSYmbShlLGkuZm9yZWdyb3VuZC5ib2R5UGF0aCxzLmxvbGxpcG9wLmZpbGxTdHlsZSksZS5saW5lV2lkdGg9cy5sb2xsaXBvcC5saW5lV2lkdGgsKDAseS5zZXRMaW5lU3R5bGUpKGUsZC5MSU5FU1RZTEVfU09MSUQpLGkuZm9yZWdyb3VuZC5ib3JkZXJQYXRoJiZtKGUsaS5mb3JlZ3JvdW5kLmJvcmRlclBhdGgscy5sb2xsaXBvcC5zdHJva2VTdHlsZSkscy5sb2xsaXBvcC5hY3RpdmUmJmkuZm9yZWdyb3VuZC5hY3RpdmVQYXRoJiZtKGUsaS5mb3JlZ3JvdW5kLmFjdGl2ZVBhdGgscy5sb2xsaXBvcC50ZXh0LnN0cm9rZVN0eWxlKSxzLmxvbGxpcG9wLmhhc0FsZXJ0JiYobShlLHcuYmFja2dyb3VuZCxzLmxvbGxpcG9wLmJhY2tncm91bmRDb2xvcnx8InRyYW5zcGFyZW50IiksbShlLHcuZm9yZWdyb3VuZCxzLmxvbGxpcG9wLnN0cm9rZVN0eWxlKSksZS5yZXN0b3JlKCl9Y2xhc3MgUCBleHRlbmRzIHAuTG9sbGlwb3BSZW5kZXJlcntfaGl0VGVzdEJveCgpe2NvbnN0IGU9c3VwZXIuX2hpdFRlc3RCb3goKTtyZXR1cm4oMCxfLmJveCkoZS5taW4uYWRkKCgwLF8ucG9pbnQpKDIsMikpLGUubWF4LnN1YnRyYWN0KCgwLF8ucG9pbnQpKDIsMikpKX1fZHJhd0xvbGxpcG9wKGUpe2NvbnN0IHQ9dGhpcy5fZGF0YS5zdHlsZTtzd2l0Y2godC50eXBlKXtjYXNlIlBvc2l0aXZlIjohZnVuY3Rpb24oZSx0LHMpe0MoZSx0LHMsZil9KGUsdGhpcy5fbWF0cml4LHQpO2JyZWFrO2Nhc2UiTmVnYXRpdmUiOiFmdW5jdGlvbihlLHQscyl7QyhlLHQscyxTKX0oZSx0aGlzLl9tYXRyaXgsdCk7YnJlYWsKO2Nhc2UiRXN0aW1hdGVkRGF0ZSI6IWZ1bmN0aW9uKGUsdCxzKXtDKGUsdCxzLGIpfShlLHRoaXMuX21hdHJpeCx0KTticmVhaztkZWZhdWx0OiFmdW5jdGlvbihlLHQscyl7QyhlLHQscyxnKX0oZSx0aGlzLl9tYXRyaXgsdCl9fV9kcmF3TGFiZWwoZSl7bGV0IHQ7Y29uc3Qgcz10aGlzLl9kYXRhLnN0eWxlO3N3aXRjaChzLnR5cGUpe2Nhc2UiUG9zaXRpdmUiOnQ9bmV3IFBhdGgyRCgiTTEwIDE4VjloNS41djEuNWgtNHYyLjI1aDN2MS41aC0zdjIuMjVoNFYxOHoiKTticmVhaztjYXNlIkVzdGltYXRlZERhdGUiOnQ9bmV3IFBhdGgyRCgiTTEwIDE3VjhoNS41djEuNWgtNHYyLjI1aDN2MS41aC0zdjIuMjVoNFYxN3oiKTticmVhaztkZWZhdWx0OnQ9bmV3IFBhdGgyRCgiTTEwIDE3VjhoNS4ydjEuNWgtMy43djIuMjVoMi43djEuNWgtMi43djIuMjVoMy43VjE3eiIpfSgwLHAuZHJhd0xhYmVsKShlLHQsdGhpcy5fbWF0cml4LHtmaWxsQ29sb3I6cy5sb2xsaXBvcC50ZXh0LnN0cm9rZVN0eWxlfSl9fWNsYXNzIHggZXh0ZW5kcyBwLkxvbGxpcG9wUmVuZGVyZXJ7X2RyYXdMYWJlbChlKXsoMCxwLmRyYXdMYWJlbCkoZSx4Ll9sYWJlbFBhdGgsdGhpcy5fbWF0cml4LHtmaWxsQ29sb3I6dGhpcy5fZGF0YS5zdHlsZS5sb2xsaXBvcC50ZXh0LnN0cm9rZVN0eWxlfSl9fXguX2xhYmVsUGF0aD1uZXcgUGF0aDJEKCJNOS42OCAxNi42NnEuNzcuMzQgMS44Mi4zNCAxLjA3IDAgMS44Ni0uMzcuNzgtLjM4IDEuMjEtMS4wNC40My0uNjcuNDMtMS42IDAtLjc0LS4yOC0xLjI1YTIgMiAwIDAgMC0uODYtLjg3IDUgNSAwIDAgMC0xLjU0LS41NmwtLjk3LS4yMnEtLjU1LS4xMy0uOS0uM2ExLjMgMS4zIDAgMCAxLS41MS0uNDUgMSAxIDAgMCAxLS4xNy0uNnEwLS40LjIyLS43dC42MS0uNDVxLjM5LS4xNi44OC0uMTYuNTEgMCAuOS4xNnQuNjIuNDVxLjE3LjIuMjUuNDZoMS41NnEtLjA4LS42Ni0uNDUtMS4xOS0uNDItLjYtMS4xNS0uOTVBNCA0IDAgMCAwIDExLjUgN3EtLjk3IDAtMS43Mi4zNi0uNzYuMzYtMS4xOCAxdC0uNDIgMS41cTAgLjcuMjcgMS4yNS4yOS41NC44Ni45MS42LjM3IDEuNS41OGwuOTYuMnEuODguMjEgMS4yNi41NC4zNy4zMi4zNy44M3YuMDFxMCAuNDEtLjIzLjczLS4yNC4zLS42NS40OS0uNDIuMTctLjk2LjE3LS41NyAwLTEuMDEtLjE2LS40NS0uMTctLjcxLS40Ny0uMTgtLjItLjI1LS40NEg4cS4xLjY3LjQ3IDEuMi40NS42IDEuMjEuOTYiKTtjbGFzcyBEIGV4dGVuZHMgcC5Mb2xsaXBvcFJlbmRlcmVye19kcmF3TGFiZWwoZSl7KDAscC5kcmF3TGFiZWwpKGUsRC5fbGFiZWxQYXRoLHRoaXMuX21hdHJpeCx7ZmlsbENvbG9yOnRoaXMuX2RhdGEuc3R5bGUubG9sbGlwb3AudGV4dC5zdHJva2VTdHlsZX0pfX1ELl9sYWJlbFBhdGg9bmV3IFBhdGgyRCgiTTE0LjUgMTEuNWEzIDMgMCAwIDAtMy0zaC0ydjZoMlYxNkg4VjdoMy41YTQuNSA0LjUgMCAxIDEgMCA5di0xLjVhMyAzIDAgMCAwIDMtMyIpO3ZhciBJPXMoODg3MDI5KSxUPXMoMTg1MjcxKSxWPXMoNjQxNTkzKSxSPXMoMTE1MjkzKSxBPXMoNTY5Mzk4KSxMPXMoMTg2OTgzKSxFPXMoODA2NDE1KTtjb25zdCBNPVQudChudWxsLHtjb250ZXh0OiJGaW5hbmNpYWwgZXZlbnRzIGxvbGlwb3BzIn0scyg4NDQwMDkpKSxrPVQudChudWxsLHtjb250ZXh0OiJGaW5hbmNpYWwgZXZlbnRzIGxvbGlwb3BzIn0scyg0OTcwOTYpKTtmdW5jdGlvbiBCKGUpe2lmKCEoMCxBLmlzRmVhdHVyZUVuYWJsZWQpKCJhbGVydHMtb24tbG9sbGlwb3AiKXx8MD09PWUubGVuZ3RoKXJldHVybjtjb25zdCB0PVtNLC4uLmUuc2xpY2UoMCw1KS5tYXAoTildLGk9ZS5sZW5ndGgtNTt2YXIgcjtyZXR1cm4gaT4wJiZ0LnB1c2goKHI9aSxULnQobnVsbCx7cGx1cmFsOiJhbmQge2NvdW50fSBtb3JlIGFsZXJ0cyIscmVwbGFjZTp7Y291bnQ6ci50b1N0cmluZygpfSxjb3VudDpyLGNvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDUxODcxOSkpKSkse2ljb246TCx0b29sdGlwOnQuam9pbigiPGJyPiIpLGFyaWFMYWJlbDprfX1mdW5jdGlvbiBOKGUpe2NvbnN0IHQ9ZS5maW5hbmNpYWxDb25kaXRpb25Ub2tlbnMoKTtyZXR1cm4gdD9mdW5jdGlvbihlKXtjb25zdHtzZXJpZXM6dCxvcGVyYXRvcjpzLHZhbHVlOml9PWUscj1bKDAsVi5odG1sRXNjYXBlKSh0KSxgPHNwYW4gY2xhc3M9IiR7RS5vcGVyYXRvcn0iPiR7KDAsVi5odG1sRXNjYXBlKShzKX08L3NwYW4+YF07aSYmci5wdXNoKCgwLFYuaHRtbEVzY2FwZSkoaSkpO3JldHVybigwLFIuZm9yY2VSVExNYXJrc1N0cikoci5qb2luKCIgIikpfSh0KToiIn12YXIgRixPPXMoMjMyMzY0KSxIPXMoMTExOTUzKTtmdW5jdGlvbiBxKGUpe3JldHVybiBKU09OLnN0cmluZ2lmeShlLm1hcCgoZT0+e2NvbnN0IHQ9ZS5maW5hbmNpYWxDb25kaXRpb25Ub2tlbnMoKTtyZXR1cm5bZS5pZCgpLnZhbHVlKCksdD9bdC5zZXJpZXMsdC5vcGVyYXRvcix0LnZhbHVlXTpudWxsXX0pKSl9Y2xhc3Mgentjb25zdHJ1Y3RvcihlKXt0aGlzLl9tYXRjaGluZ0FsZXJ0cz1uZXcgTy5XYXRjaGVkVmFsdWUoW10pLHRoaXMuX21hdGNoaW5nQWxlcnRzU2lnbmF0dXJlPXEoW10pLHRoaXMuX3VwZGF0ZUFsZXJ0cz0oKT0+e2NvbnN0IGU9dGhpcy5fYWxlcnRzQ29sbGVjdGlvbi52YWx1ZSgpO2xldCB0PVtdO2lmKGUpe2NvbnN0IHM9KDAsSC51bndyYXBTaW1wbGVTeW1ib2wpKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5hY3R1YWxTeW1ib2woKSksaT0oMCxILnVud3JhcFNpbXBsZVN5bWJvbCkodGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb1N5bWJvbCgpKTt0PWUuYWxlcnRzKCkudmFsdWUoKS5maWx0ZXIoKGU9PihlLmNhbkRpc3BsYXlPbkVhcm5pbmdzTG9sbGlwb3Aocyl8fGUuY2FuRGlzcGxheU9uRWFybmluZ3NMb2xsaXBvcChpKSkmJmUuYWN0aXZlKCkudmFsdWUoKSkpfWNvbnN0IHM9cSh0KTtzIT09dGhpcy5fbWF0Y2hpbmdBbGVydHNTaWduYXR1cmUmJih0aGlzLl9tYXRjaGluZ0FsZXJ0c1NpZ25hdHVyZT1zLHRoaXMuX21hdGNoaW5nQWxlcnRzLnNldFZhbHVlKHQpKX0sdGhpcy5fbW9kZWw9ZSwKdGhpcy5fYWxlcnRzQ29sbGVjdGlvbj1lLmFsZXJ0c0NvbGxlY3Rpb24oKS5zcGF3bigpLHRoaXMuX2FsZXJ0c0NvbGxlY3Rpb24uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUFsZXJ0c0xpc3QuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSksZS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQWxlcnRzKX1kZXN0cm95KCl7dGhpcy5fYWxlcnRzQ29sbGVjdGlvbi5kZXN0cm95KCksdGhpcy5fZGVzdHJveUFsZXJ0c0xpc3RTdWJzY3JpcHRpb25zPy4oKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVBbGVydHMpfW1hdGNoaW5nQWxlcnRzKCl7cmV0dXJuIHRoaXMuX21hdGNoaW5nQWxlcnRzLnJlYWRvbmx5KCl9X3VwZGF0ZUFsZXJ0c0xpc3QoZSl7dGhpcy5fZGVzdHJveUFsZXJ0c0xpc3RTdWJzY3JpcHRpb25zPy4oKSx0aGlzLl9kZXN0cm95QWxlcnRzTGlzdFN1YnNjcmlwdGlvbnM9dm9pZCAwLGUmJihlLmFsZXJ0cygpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVBbGVydHMpLHRoaXMuX2Rlc3Ryb3lBbGVydHNMaXN0U3Vic2NyaXB0aW9ucz0oKT0+ZS5hbGVydHMoKS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVBbGVydHMpKSx0aGlzLl91cGRhdGVBbGVydHMoKX19IWZ1bmN0aW9uKGUpe2VbZS5Ib3ZlcmVkQ29sb3JUcmFuc3BhcmVuY3k9ODVdPSJIb3ZlcmVkQ29sb3JUcmFuc3BhcmVuY3kifShGfHwoRj17fSkpO2NvbnN0IFU9e2Rhcms6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS05MDAiKSxsaWdodDooMCxpLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3Itd2hpdGUiKX07Y2xhc3MgVyBleHRlbmRzIEkuTG9sbGlwb3BTdHVkeVBhbmVWaWV3QmFzZXt9Y2xhc3MgJCBleHRlbmRzIFd7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuX2VzZEFsZXJ0TW9kZWw9bmV3IHooZSksdGhpcy5fZXNkQWxlcnRJbmZvPSgwLHIuY29tYmluZSkoQix0aGlzLl9lc2RBbGVydE1vZGVsLm1hdGNoaW5nQWxlcnRzKCkud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9oYXNBbGVydD0oMCxyLmNvbWJpbmUpKGosdGhpcy5fZXNkQWxlcnRNb2RlbC5tYXRjaGluZ0FsZXJ0cygpLndlYWtSZWZlcmVuY2UoKSksdGhpcy5faGFzQWxlcnQuc3Vic2NyaWJlKHRoaXMuX29uSGFzQWxlcnRDaGFuZ2VkLmJpbmQodGhpcykpfWRlc3Ryb3koKXt0aGlzLl9lc2RBbGVydEluZm8uZGVzdHJveSgpLHRoaXMuX2hhc0FsZXJ0LmRlc3Ryb3koKSx0aGlzLl9lc2RBbGVydE1vZGVsLmRlc3Ryb3koKSxzdXBlci5kZXN0cm95KCl9c3R5bGVzKGUpe3JldHVybiBlP3UuZGFya1RoZW1lRWFybmluZ3NTdHlsZTp1LmxpZ2h0VGhlbWVFYXJuaW5nc1N0eWxlfWV4dHJhRGF0YShlKXtyZXR1cm4gZnVuY3Rpb24oZSl7Y29uc3QgdD1lLnR5cGUscz0xND09PXQsaT1lLnN0YW5kYXJkaXplZCxyPWUuZXN0aW1hdGUsbj1lLnBlcmlvZCxvPWUuZGF0ZSxhPXM/bnVsbDplLnJlcG9ydGVkLGw9bnVsbCE9YSYmbnVsbCE9cj9hLXI6bnVsbCx1PWUucmV2ZW51ZUVzdGltYXRlLGM9cz9udWxsOmUucmV2ZW51ZVZhbHVlO2xldCBoO3JldHVybiBudWxsIT10P3Q8MjA/aD0xMD09PXQ/IkVzdGltYXRlZERhdGUiOiJGdXR1cmUiOm51bGwhPT1sJiYoaD1sPDA/Ik5lZ2F0aXZlIjoiUG9zaXRpdmUiKTpudWxsIT09bD9oPWw8MD8iTmVnYXRpdmUiOiJQb3NpdGl2ZSI6bz5EYXRlLm5vdygpJiYoaD0iRnV0dXJlIikse3N0YW5kYXJkaXplZDppLHJlcG9ydGVkOmEsZXN0aW1hdGU6cixyZXZlbnVlVmFsdWU6YyxyZXZlbnVlRXN0aW1hdGU6dSxwZXJpb2Q6bixkYXRlOm8sdHlwZTpoLHRpbWVUeXBlOnQ/P3ZvaWQgMH19KHt0eXBlOmVbOF0sc3RhbmRhcmRpemVkOmVbMV0sZXN0aW1hdGU6ZVsyXSxwZXJpb2Q6ZVszXSxkYXRlOmVbNF0scmVwb3J0ZWQ6ZVs1XSxyZXZlbnVlRXN0aW1hdGU6ZVs2XSxyZXZlbnVlVmFsdWU6ZVs3XX0pfWFmdGVyVXBkYXRlKGUsdCxzLGkpe2NvbnN0IHI9dGhpcy5fc291cmNlLmdldEVzdGltYXRlKCk7aWYocil7Y29uc3Qgbj1yLnZhbHVlLnNsaWNlKCk7bls0XSo9MWUzLHRoaXMuYWRkTG9sbGlwb3AoZSx0LHMsaSxyLmluZGV4LG4pfX1nZXRTdHlsZShlKXtjb25zdCB0PXRoaXMuX2dldExvbGxpcG9wU3RhdHVzKGUpO2lmKHZvaWQgMD09PWUudHlwZSlyZXR1cm4gc3VwZXIuZ2V0U3R5bGUoZSx0KTtjb25zdCBzPXQ7bGV0IGk9cztlLnN0YWNrJiYoaSs9Il9zdGFjazoiK2Uuc3RhY2spO2xldCByPXRoaXMuX2dldFN0eWxlT2JqZWN0KGUudHlwZSxpKTtpZihudWxsIT09cilyZXR1cm4gdGhpcy5fd2l0aEFsZXJ0RmxhZyhyLGUudHlwZSk7aWYodGhpcy5fc3R5bGVzQ2FjaGV8fCh0aGlzLl9zdHlsZXNDYWNoZT17fSksIXRoaXMuX3N0eWxlc0NhY2hlW2ldKXtyPXRoaXMuX2dldFN0eWxlT2JqZWN0KGUudHlwZSxzKTtjb25zdCB0PSgwLG8uY2xvbmUpKHIpO3QmJihlLnN0YWNrJiYodC5sb2xsaXBvcC5pbmNIZWlnaHQ9MjUqZS5zdGFjayksdGhpcy5fc3R5bGVzQ2FjaGVbaV09dCl9cmV0dXJuIHRoaXMuX3dpdGhBbGVydEZsYWcodGhpcy5fc3R5bGVzQ2FjaGVbaV0sZS50eXBlKX1hc3luYyBfY3JlYXRlVG9vbHRpcENvbnRlbnQoZSx0KXtyZXR1cm4oMCxsLmNyZWF0ZUVhcm5pbmdzTG9sbGlwb3BUb29sdGlwQ29udGVudFByb3BzKShlLHRoaXMuX21vZGVsLHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCksdGhpcy5fbW9kZWwuZGFyaygpLnZhbHVlKCksKChlLHQpPT50aGlzLl9mb3JtYXREYXRlKGUsdCkpLHQsdGhpcy5fZ2V0RXNkQWxlcnRJbmZvKGUudHlwZSkpfV9zaG93QmFyTGluZShlKXtyZXR1cm4gc3VwZXIuX3Nob3dCYXJMaW5lKGUpfHx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmVzZFNob3dCcmVha3MudmFsdWUoKX1fY3JlYXRlUmVuZGVyZXJGb3JMb2xsaXBvcChlLHQpewpyZXR1cm4gbmV3IFAoZSxuZXcgaC5IaXRUZXN0UmVzdWx0KGguSGl0VGFyZ2V0LkN1c3RvbSx0KSx0aGlzLl90ZXh0V2lkdGhDYWNoZSl9X3JlY3JlYXRlU3R5bGVzKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKSx0PSgwLHUuZWFybmluZ3NTdHlsZXMpKGUpLHM9dC51bmtub3duLHI9e2JhckxpbmU6e2xpbmVTdHlsZTpkLkxJTkVTVFlMRV9EQVNIRUQsbGluZVdpZHRoOjEsc3Ryb2tlU3R5bGU6c30sbG9sbGlwb3A6e3dpZHRoOjI1LGhlaWdodDoyNSxib3R0b206MCxsaW5lV2lkdGg6MS41LGltcG9ydGFuY2U6ImVhcm5pbmdzIixzdHJva2VTdHlsZTpzLGJhY2tncm91bmRDb2xvcjplP1UuZGFyazpVLmxpZ2h0LGZpbGxDaXJjbGU6ITAsdGV4dDp7bGFiZWw6IiIsc3Ryb2tlU3R5bGU6cyxmb250OiIifX19LGw9e2xvbGxpcG9wOntmaWxsU3R5bGU6KDAsYS5nZW5lcmF0ZUNvbG9yKShzLDg1KX19LGM9e2xvbGxpcG9wOnthY3RpdmU6ITAsZmlsbFN0eWxlOnMsdGV4dDp7c3Ryb2tlU3R5bGU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS01MCIpfX19O3RoaXMuX2RlZmF1bHRTdHlsZT0oMCxuLmRlZXBDb3B5KShyKSx0aGlzLl9ob3ZlcmVkU3R5bGU9KDAsby5tZXJnZSkoKDAsbi5kZWVwQ29weSkociksbCksdGhpcy5fYWN0aXZlU3R5bGU9KDAsby5tZXJnZSkoKDAsbi5kZWVwQ29weSkociksYyk7Y29uc3QgaD0oZSx0KT0+e2NvbnN0IHM9KDAsbi5kZWVwQ29weSkocik7cmV0dXJuIHMuYmFyTGluZS5zdHJva2VTdHlsZT1lLHMubG9sbGlwb3Auc3Ryb2tlU3R5bGU9ZSxzLmxvbGxpcG9wLnRleHQuc3Ryb2tlU3R5bGU9ZSxzLnR5cGU9dCxsLmxvbGxpcG9wLmZpbGxTdHlsZT0oMCxhLmdlbmVyYXRlQ29sb3IpKGUsODUpLGMubG9sbGlwb3AuZmlsbFN0eWxlPWUse2RlZmF1bHQ6cyxob3ZlcmVkOigwLG8ubWVyZ2UpKCgwLG4uZGVlcENvcHkpKHMpLGwpLGFjdGl2ZTooMCxvLm1lcmdlKSgoMCxuLmRlZXBDb3B5KShzKSxjKX19O2MubG9sbGlwb3AudGV4dC5zdHJva2VTdHlsZT0oMCxpLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItZ3JhcGVzLXB1cnBsZS01MCIpO2NvbnN0IF89aCh0LmZ1dHVyZSwiRnV0dXJlIikscD1oKHQuZXN0aW1hdGVkRGF0ZSwiRXN0aW1hdGVkRGF0ZSIpO2MubG9sbGlwb3AudGV4dC5zdHJva2VTdHlsZT0oMCxpLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItbWludHktZ3JlZW4tNTAiKTtjb25zdCB5PWgodC5wb3NpdGl2ZSwiUG9zaXRpdmUiKTtyLmxvbGxpcG9wLmJvdHRvbT0uNSxjLmxvbGxpcG9wLnRleHQuc3Ryb2tlU3R5bGU9KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTUwIik7Y29uc3QgbT1oKHQubmVnYXRpdmUsIk5lZ2F0aXZlIik7dGhpcy5fZWFybmluZ1R5cGVTdHlsZXM9e0Z1dHVyZTpfLFBvc2l0aXZlOnksTmVnYXRpdmU6bSxFc3RpbWF0ZWREYXRlOnB9LHRoaXMuX3N0eWxlc0NhY2hlPW51bGx9X2dldFN0eWxlT2JqZWN0KGUsdCl7Y29uc3Qgcz10aGlzLl9lYXJuaW5nVHlwZVN0eWxlc1tlXTtzd2l0Y2godCl7Y2FzZSJkZWZhdWx0IjpyZXR1cm4gcy5kZWZhdWx0O2Nhc2UiaG92ZXJlZCI6cmV0dXJuIHMuaG92ZXJlZDtjYXNlImFjdGl2ZSI6cmV0dXJuIHMuYWN0aXZlfXJldHVybiBudWxsfV9vbkhhc0FsZXJ0Q2hhbmdlZCgpe3RoaXMuX3NvdXJjZS51cGRhdGVBbGxWaWV3c0FuZFJlcGFpbnQoKX1fd2l0aEFsZXJ0RmxhZyhlLHQpe3JldHVybiBlLmxvbGxpcG9wLmhhc0FsZXJ0PUcodCkmJnRoaXMuX2hhc0FsZXJ0LnZhbHVlKCksZX1fZ2V0RXNkQWxlcnRJbmZvKGUpe3JldHVybiBHKGUpP3RoaXMuX2VzZEFsZXJ0SW5mbzp2b2lkIDB9fWZ1bmN0aW9uIEcoZSl7cmV0dXJuIkZ1dHVyZSI9PT1lfHwiRXN0aW1hdGVkRGF0ZSI9PT1lfWZ1bmN0aW9uIGooZSl7cmV0dXJuIGUubGVuZ3RoPjB9Y2xhc3MgWSBleHRlbmRzIFd7ZXh0cmFEYXRhKGUpe2NvbnN0IHQ9ZVsxXTtyZXR1cm57bnVtZXJhdG9yOmVbMl0sZGVub21pbmF0b3I6dCxkYXRlOmVbM119fV9jcmVhdGVSZW5kZXJlckZvckxvbGxpcG9wKGUsdCl7cmV0dXJuIG5ldyB4KGUsbmV3IGguSGl0VGVzdFJlc3VsdChoLkhpdFRhcmdldC5DdXN0b20sdCksdGhpcy5fdGV4dFdpZHRoQ2FjaGUpfWFzeW5jIF9jcmVhdGVUb29sdGlwQ29udGVudChlKXtyZXR1cm4oMCxsLmNyZWF0ZVNwbGl0c0xvbGxpcG9wVG9vbHRpcENvbnRlbnRQcm9wcykoZSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpLHRoaXMuX21vZGVsLmRhcmsoKS52YWx1ZSgpLCgoZSx0KT0+dGhpcy5fZm9ybWF0RGF0ZShlLHQpKSl9X3JlY3JlYXRlU3R5bGVzKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKSx0PSgwLHUuc3BsaXRzU3R5bGUpKGUpLHM9e2JhckxpbmU6e2xpbmVTdHlsZTpkLkxJTkVTVFlMRV9EQVNIRUQsbGluZVdpZHRoOjEsc3Ryb2tlU3R5bGU6dH0sbG9sbGlwb3A6e3dpZHRoOjIzLGhlaWdodDoyMyxib3R0b206MSxsaW5lV2lkdGg6MS41LGltcG9ydGFuY2U6InNwbGl0cyIsc3Ryb2tlU3R5bGU6dCxiYWNrZ3JvdW5kQ29sb3I6ZT9VLmRhcms6VS5saWdodCxmaWxsQ2lyY2xlOiEwLHRleHQ6e2xhYmVsOiIiLHN0cm9rZVN0eWxlOnQsZm9udDoiIn19fSxyPXtsb2xsaXBvcDp7ZmlsbFN0eWxlOigwLGEuZ2VuZXJhdGVDb2xvcikodCw4NSl9fSxsPXtsb2xsaXBvcDp7ZmlsbFN0eWxlOnQsdGV4dDp7c3Ryb2tlU3R5bGU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXRhbi1vcmFuZ2UtNTAiKX19fTt0aGlzLl9kZWZhdWx0U3R5bGU9cyx0aGlzLl9ob3ZlcmVkU3R5bGU9KDAsby5tZXJnZSkoKDAsbi5kZWVwQ29weSkocyksciksdGhpcy5fYWN0aXZlU3R5bGU9KDAsby5tZXJnZSkoKDAsbi5kZWVwQ29weSkocyksbCksdGhpcy5fc3R5bGVzQ2FjaGU9bnVsbH19Y2xhc3MgSiBleHRlbmRzIFd7ZXh0cmFEYXRhKGUpe3JldHVybnthbW91bnREaXZpZGVuZHM6ZVsxXSxkYXRlOmVbMl0sYWRqdXN0ZWRBbW91bnREaXZpZGVuZHM6ZVszXSxwYXltZW50RGF0ZTplWzRdfX0KX2NyZWF0ZVJlbmRlcmVyRm9yTG9sbGlwb3AoZSx0KXtyZXR1cm4gbmV3IEQoZSxuZXcgaC5IaXRUZXN0UmVzdWx0KGguSGl0VGFyZ2V0LkN1c3RvbSx0KSx0aGlzLl90ZXh0V2lkdGhDYWNoZSl9YXN5bmMgX2NyZWF0ZVRvb2x0aXBDb250ZW50KGUpe3JldHVybigwLGwuY3JlYXRlRGl2aWRlbmRzTG9sbGlwb3BUb29sdGlwQ29udGVudFByb3BzKShlLHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCksdGhpcy5fbW9kZWwuZGFyaygpLnZhbHVlKCksKChlLHQpPT50aGlzLl9mb3JtYXREYXRlKGUsdCkpKX1fcmVjcmVhdGVTdHlsZXMoKXtjb25zdCBlPXRoaXMuX21vZGVsLmRhcmsoKS52YWx1ZSgpLHQ9KDAsdS5kaXZpZGVuZHNTdHlsZXMpKGUpLHM9e2JhckxpbmU6e2xpbmVTdHlsZTpkLkxJTkVTVFlMRV9EQVNIRUQsbGluZVdpZHRoOjEsc3Ryb2tlU3R5bGU6dH0sbG9sbGlwb3A6e3dpZHRoOjIzLGhlaWdodDoyMyxib3R0b206MSxsaW5lV2lkdGg6MS41LGltcG9ydGFuY2U6ImRpdmlkZW5kcyIsc3Ryb2tlU3R5bGU6dCxiYWNrZ3JvdW5kQ29sb3I6ZT9VLmRhcms6VS5saWdodCxmaWxsQ2lyY2xlOiEwLGFjdGl2ZTohMSx0ZXh0OntsYWJlbDoiIixzdHJva2VTdHlsZTp0LGZvbnQ6IiJ9fX0scj17bG9sbGlwb3A6e2ZpbGxTdHlsZTooMCxhLmdlbmVyYXRlQ29sb3IpKHQsODUpfX0sbD17bG9sbGlwb3A6e2ZpbGxTdHlsZTp0LHRleHQ6e3N0cm9rZVN0eWxlOigwLGkuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTUwIil9fX07dGhpcy5fZGVmYXVsdFN0eWxlPXMsdGhpcy5faG92ZXJlZFN0eWxlPSgwLG8ubWVyZ2UpKCgwLG4uZGVlcENvcHkpKHMpLHIpLHRoaXMuX2FjdGl2ZVN0eWxlPSgwLG8ubWVyZ2UpKCgwLG4uZGVlcENvcHkpKHMpLGwpLHRoaXMuX3N0eWxlc0NhY2hlPW51bGx9X2dldE1vcmVGaW5hbmNpYWxzTGlua1RleHQoKXtyZXR1cm4oMCxsLmdldE1vcmVGaW5hbmNpYWxzRGl2aWRlbmRzTGlua1RleHQpKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCkpfX12YXIgUT1zKDkwMDc5NyksWj1zKDYzMTUyMik7Y29uc3QgSz1RLnNvcnRTb3VyY2VzUHJlT3JkZXJlZC5EaXZpZGVuZHMsWD1RLnNvcnRTb3VyY2VzUHJlT3JkZXJlZC5TcGxpdHMsZWU9US5zb3J0U291cmNlc1ByZU9yZGVyZWQuRWFybmluZ3M7dmFyIHRlOyFmdW5jdGlvbihlKXtlW2UuSW5pdGlhbD0xXT0iSW5pdGlhbCIsZVtlLkFkanVzdGVkRGl2aWRlbmRzPTJdPSJBZGp1c3RlZERpdmlkZW5kcyJ9KHRlfHwodGU9e30pKTtjbGFzcyBzZSBleHRlbmRzIFouTG9sbGlwb3BTdHVkeUJhc2V7aWQoKXtyZXR1cm4iRVNEJFRWX0RJVklERU5EUyJ9em9yZGVyKCl7cmV0dXJuIEt9aXNWYWxpZChlKXtjb25zdCB0PWVbMl07cmV0dXJuKDAsby5pc051bWJlcikodCl9c3RhdGUoZSx0KXtjb25zdCBzPXN1cGVyLnN0YXRlKGUsdCk7cmV0dXJuIHMuZGF0YS52ZXJzaW9uPTIsc31yZXN0b3JlRGF0YShlKXsoZS52ZXJzaW9uPz8xKTwyJiZlLmRhdGEuZm9yRWFjaCgoZT0+e2UudmFsdWVbM109bnVsbH0pKSxzdXBlci5yZXN0b3JlRGF0YShlKX1fY3JlYXRlVmlld3MoKXt0aGlzLl9wYW5lVmlldz1uZXcgSih0aGlzLl9tb2RlbCx0aGlzKSxzdXBlci5fY3JlYXRlVmlld3MoKX1fZXh0ZXJuYWxWaXNpYmlsaXR5UHJvcGVydHkoKXtyZXR1cm4gdGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5lc2RTaG93RGl2aWRlbmRzfX1jbGFzcyBpZSBleHRlbmRzIFouTG9sbGlwb3BTdHVkeUJhc2V7aWQoKXtyZXR1cm4iRVNEJFRWX1NQTElUUyJ9em9yZGVyKCl7cmV0dXJuIFh9aXNWYWxpZChlKXtjb25zdCB0PWVbM107cmV0dXJuKDAsby5pc051bWJlcikodCl9X2NyZWF0ZVZpZXdzKCl7dGhpcy5fcGFuZVZpZXc9bmV3IFkodGhpcy5fbW9kZWwsdGhpcyksc3VwZXIuX2NyZWF0ZVZpZXdzKCl9X2V4dGVybmFsVmlzaWJpbGl0eVByb3BlcnR5KCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZXNkU2hvd1NwbGl0c319Y2xhc3MgcmUgZXh0ZW5kcyBaLkxvbGxpcG9wU3R1ZHlCYXNle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9lc3RpbWF0ZVBsb3RSb3c9bnVsbH1pZCgpe3JldHVybiJFU0QkVFZfRUFSTklOR1MifXpvcmRlcigpe3JldHVybiBlZX1pc1ZhbGlkKGUpe2NvbnN0IHQ9ZVszXSxzPWVbNF07cmV0dXJuKDAsby5pc051bWJlcikodCkmJigwLG8uaXNOdW1iZXIpKHMpfXJlc3RvcmVEYXRhKGUpe3N1cGVyLnJlc3RvcmVEYXRhKGUpO2xldCB0PW51bGw7aWYoZS5lc3RpbWF0ZXx8ZS5wb2ludFNldHMmJm51bGw9PWUucG9pbnRTZXRzVmVyc2lvbik7ZWxzZSBpZihlLnBvaW50U2V0cyYmIjEiPT09ZS5wb2ludFNldHNWZXJzaW9uKXtjb25zdCBzPXRoaXMuX2dldFN5bWJvbCgpO2lmKG51bGwhPT1zKXtjb25zdCBpPXMuc3BsaXQoIjoiKVsxXS50b1VwcGVyQ2FzZSgpO2UucG9pbnRTZXRzW3NdP3Q9ZS5wb2ludFNldHNbc10uZXN0aW1hdGU6ZS5wb2ludFNldHNbaV0mJih0PWUucG9pbnRTZXRzW2ldLmVzdGltYXRlKX19ZWxzZSBudWxsIT1lLmVzdGltYXRlUGxvdFJvdyYmIjIiPT09ZS5wb2ludFNldHNWZXJzaW9uJiYodD1lLmVzdGltYXRlUGxvdFJvdyk7dGhpcy5fZXN0aW1hdGVQbG90Um93PXR9Z2V0RXN0aW1hdGUoKXtyZXR1cm4gdGhpcy5fZXN0aW1hdGVQbG90Um93fV9jcmVhdGVWaWV3cygpe3RoaXMuX3BhbmVWaWV3PW5ldyAkKHRoaXMuX21vZGVsLHRoaXMpLHN1cGVyLl9jcmVhdGVWaWV3cygpfV9leHRlcm5hbFZpc2liaWxpdHlQcm9wZXJ0eSgpe3JldHVybiB0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmVzZFNob3dFYXJuaW5nc31fZ2V0U3ltYm9sKCl7cmV0dXJuIHRoaXMuX3Nlcmllcy5zeW1ib2xJbmZvKCk/LmJhc2VfbmFtZVswXS50b0xvd2VyQ2FzZSgpPz9udWxsfX19LDEyNTEzNyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtGdW5kYW1lbnRhbDooKT0+d30pCjt2YXIgaT1zKDMwNDIyMSkscj1zKDEzODYzOCksbj1zKDc4MzI1NCksbz1zKDYyODAwOSksYT1zKDU2OTM5OCksbD1zKDE5NzI3MiksdT1zKDI1NjMxNCksYz1zKDY4MDEyNik7Y2xhc3MgaCBleHRlbmRzIGMuU3R1ZHlQcmljZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9mdW5kYW1lbnRhbD1lfV91cGRhdGVQYW5lUmVuZGVyZXJEYXRhKGUpe2UudGV4dD0iIix0aGlzLl9zaG93UGFuZUxhYmVsKCkmJihlLnRleHQ9dGhpcy5fZnVuZGFtZW50YWwubGFiZWxUaXRsZSgpLGUudmlzaWJsZT0hMCl9fXZhciBkPXMoOTY5NCk7Y2xhc3MgXyBleHRlbmRzIGQuU3R1ZHlQcmljZUxpbmVBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fbW9kZWw9ZS5tb2RlbCgpfV9pc1Zpc2libGUoKXtyZXR1cm4gdGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0Z1bmRhbWVudGFsTGFzdFZhbHVlLnZhbHVlKCkmJnRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdG5hbWVdLmNoaWxkcygpLnRyYWNrUHJpY2UudmFsdWUoKX19dmFyIHA9cygxODUyNzEpLHk9cygyNzU4NDkpLG09cyg4Njc4MzEpO2NvbnN0IHY9cC50KG51bGwsdm9pZCAwLHMoODQyNjM1KSk7Y2xhc3MgZiBleHRlbmRzIHkuU3R1ZHlTdGF0dXNQcm92aWRlcntzb3VyY2VTdGF0dXNUZXh0KCl7Y29uc3QgZT10aGlzLl9zb3VyY2Uuc3RhdHVzKCk7cmV0dXJuIGUudHlwZT09PW0uU3R1ZHlTdGF0dXNUeXBlLkVycm9yJiZbInJlc29sdmVfZXJyb3IiLCJTeW1ib2wgcmVzb2x2ZSBlcnJvcjoiLCJJbnZhbGlkIHN5bWJvbDoiXS5zb21lKCh0PT5lLmVycm9yRGVzY3JpcHRpb24uZXJyb3Iuc3RhcnRzV2l0aCh0KSkpP3Y6c3VwZXIuc291cmNlU3RhdHVzVGV4dCgpfX12YXIgUz1zKDc3NTg2OSksZz1zKDk0Mzk1KSxiPXMoNTk2NzA2KTtjbGFzcyB3IGV4dGVuZHMgbC5TdHVkeXtjb25zdHJ1Y3RvciguLi5lKXtzdXBlciguLi5lKSx0aGlzLl9zeW1ib2xQcm9wZXJ0eT1udWxsLHRoaXMuX3N5bWJvbElucHV0PW51bGwsdGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llcy5zdWJzY3JpYmUoKGU9Pnt2b2lkIDAhPT10aGlzLl9wZW5kaW5nQ3VycmVuY3lJZCYmbnVsbCE9PWUmJih0aGlzLnNldEN1cnJlbmN5KHRoaXMuX3BlbmRpbmdDdXJyZW5jeUlkKSx0aGlzLl9wZW5kaW5nQ3VycmVuY3lJZD12b2lkIDApfSkse29uY2U6ITB9KSx0aGlzLl9zeW1ib2xJbnB1dD10aGlzLm1ldGFJbmZvKCkuaW5wdXRzLmZpbmQoKGU9PiJzeW1ib2wiPT09ZS50eXBlKSk/P251bGwsdGhpcy5fc3ltYm9sSW5wdXQmJih0aGlzLl9zeW1ib2xQcm9wZXJ0eT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGQodGhpcy5fc3ltYm9sSW5wdXQuaWQpPz9udWxsKSx0aGlzLnN5bWJvbFNvdXJjZSgpLnN5bWJvbENoYW5nZWQoKS5zdWJzY3JpYmUobnVsbCx0aGlzLl91cGRhdGVBbGVydENyZWF0aW9uQXZhaWxhYmxlQm91bmQpfXN5bWJvbCgpe3JldHVybiB0aGlzLl9zeW1ib2xQcm9wZXJ0eT8udmFsdWUoKXx8dGhpcy5zeW1ib2xTb3VyY2UoKS5zeW1ib2woKX1oYXNPd25TeW1ib2woKXtyZXR1cm4gQm9vbGVhbih0aGlzLl9zeW1ib2xQcm9wZXJ0eT8udmFsdWUoKSl9Y3VycmVuY3koKXtpZighdGhpcy5fY3VycmVuY3lJbnB1dFByb3BlcnR5KXJldHVybiBzdXBlci5jdXJyZW5jeSgpO2NvbnN0IGU9dGhpcy5fY3VycmVuY3lJbnB1dFByb3BlcnR5LnZhbHVlKCk7aWYoZSYmIkRlZmF1bHQiIT09ZSl7Y29uc3QgdD10aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzLnZhbHVlKCk7cmV0dXJuIG51bGwhPT10P3QuY3VycmVuY3lJZEJ5Q29kZShlKTpudWxsfXJldHVybiB0aGlzLnN5bWJvbFNvdXJjZSgpLmN1cnJlbmN5KCl9c2V0Q3VycmVuY3koZSl7aWYoIXRoaXMuX2N1cnJlbmN5SW5wdXRQcm9wZXJ0eSlyZXR1cm4gc3VwZXIuc2V0Q3VycmVuY3koZSk7Y29uc3QgdD10aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzLnZhbHVlKCk7aWYobnVsbD09PXQpcmV0dXJuIHZvaWQodGhpcy5fcGVuZGluZ0N1cnJlbmN5SWQ9ZSk7Y29uc3Qgcz1lP3QuY3VycmVuY3lDb2RlQnlJZChlKT8/IkRlZmF1bHQiOiJEZWZhdWx0Ijt0aGlzLl9jdXJyZW5jeUlucHV0UHJvcGVydHkuc2V0VmFsdWUocyl9bGFiZWxUaXRsZSgpe3JldHVybiB0aGlzLnRpdGxlKGcuVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsITApfWhhc1N0YXRlRm9yQWxlcnQoKXtpZighKDAsYS5pc0ZlYXR1cmVFbmFibGVkKSgiYWxlcnRzLW9uLWZ1bmRhbWVudGFsLW1ldHJpY3MiKSlyZXR1cm4hMTtjb25zdCBlPXRoaXMubWV0YUluZm8oKS5zY3JpcHRJZFBhcnQsdD10aGlzLnN5bWJvbFNvdXJjZSgpLnN5bWJvbEluZm8oKT8udHlwZTtyZXR1cm4oMCxvLmlzRnVuZGFtZW50YWxTdXBwb3J0ZWRCeUFsZXJ0cykoZSkmJiJzdG9jayI9PT10JiZzdXBlci5oYXNTdGF0ZUZvckFsZXJ0KCl9dGl0bGVJblBhcnRzKGUsdCxzLGkscil7cmV0dXJuW3RoaXMuX3RpdGxlKGUsISF0KV19c3RhdHVzUHJvdmlkZXIoZSl7cmV0dXJuIG5ldyBmKHRoaXMpfWRlc3Ryb3koKXt0aGlzLnN5bWJvbFNvdXJjZSgpLnN5bWJvbENoYW5nZWQoKS51bnN1YnNjcmliZShudWxsLHRoaXMuX3VwZGF0ZUFsZXJ0Q3JlYXRpb25BdmFpbGFibGVCb3VuZCksc3VwZXIuZGVzdHJveSgpfV9nZXRDdXJyZW5jeUlucHV0UHJvcGVydHkoKXtjb25zdCBlPXRoaXMubWV0YUluZm8oKS5pbnB1dHMuZmluZCgoZT0+IkN1cnJlbmN5Ij09PWUubmFtZSkpO3JldHVybiBlPygwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkKGUuaWQpKTpudWxsfV9jcmVhdGVQcmljZUF4aXNWaWV3KGUpe3JldHVybiBuZXcgaCh0aGlzLHtwbG90TmFtZTplfSl9X2NyZWF0ZVByaWNlTGluZUF4aXNWaWV3KGUpe3JldHVybiBuZXcgXyh0aGlzLGUpfV9kZWZhdWx0RXJyb3JUaXRsZSgpe3JldHVybiJNZXRyaWMgZXJyb3IifV9jcmVhdGVTdHVkeUVycm9yKGUpewpyZXR1cm4hKDAsaS5kZWZhdWx0KShlKSYmZS5lcnJvci5lbmRzV2l0aCgiaW5kaWNhdG9yIGF2YWlsYWJsZSBvbmx5IG9uIG91ciB1cGdyYWRlZCBwbGFucyIpP3N1cGVyLl9jcmVhdGVTdHVkeUVycm9yKHtlcnJvcjoiR2V0IGFjY2VzcyB0byBmb3JlY2FzdCBtZXRyaWNzIHdpdGggYW4gdXBncmFkZWQgcGxhbi4iLHRpdGxlOiJVcGdyYWRlIHRvIHVubG9jayBmb3JlY2FzdCBtZXRyaWNzIn0pOnN1cGVyLl9jcmVhdGVTdHVkeUVycm9yKGUpfV90aXRsZShlLHQpe2NvbnN0IGk9dGhpcy5tZXRhSW5mbygpO2xldCByO3I9dD9pLnNob3J0RGVzY3JpcHRpb246aS5kZXNjcmlwdGlvbixyPW4udChyLHtjb250ZXh0OiJzdHVkeSJ9LHMoODg0NjkzKSk7Y29uc3Qgbz1pLmZpbmFuY2lhbFBlcmlvZDtpZih2b2lkIDAhPT1vJiYhKDAsdS5pc05vQWdncmVnYXRlZEZpbmFuY2lhbFBlcmlvZCkobykpe2NvbnN0IGU9dD8oMCx1LmZpbmFuY2lhbFBlcmlvZFRvU2hvcnRTdHJpbmcpKG8pOigwLHUuZmluYW5jaWFsUGVyaW9kVG9TdHJpbmcpKG8pO3I9YCR7bi50KHIse2NvbnRleHQ6InN0dWR5In0scyg4ODQ2OTMpKX0gwrcgJHtlfWB9Y29uc3QgYT1lPT09Zy5UaXRsZURpc3BsYXlUYXJnZXQuQWxlcnRzP3t9OnRoaXMuX3RpdGxlSW5wdXRzKCgwLFMudG9JbnB1dERpc3BsYXlGbGFncykoZSksITApLGw9T2JqZWN0LmtleXMoYSk7cmV0dXJuIGwubGVuZ3RoPjAmJihyPWAke24udChhW2xbMF1dLHtjb250ZXh0OiJzdHVkeSJ9LHMoODg0NjkzKSl9IMK3ICR7cn1gKSxyfV90aXRsZUlucHV0c09wdGlvbnMoZSx0LHMpe3JldHVybnsuLi5zdXBlci5fdGl0bGVJbnB1dHNPcHRpb25zKGUsdCxzKSxza2lwT3B0aW9uYWxFbXB0eVN5bWJvbElucHV0czohMCxhbGxvd2VkSW5wdXRUeXBlczpbInN5bWJvbCJdfX1fdGl0bGVJbnB1dHMoZSx0LHMpe2NvbnN0IGk9c3VwZXIuX3RpdGxlSW5wdXRzKGUsdCxzKTtpZighdGhpcy5oYXNPd25TeW1ib2woKSlyZXR1cm4gaTtjb25zdCByPXRoaXMucmVzb2x2ZWRTeW1ib2xJbmZvQnlTeW1ib2wodGhpcy5zeW1ib2woKSk7aWYoIShudWxsIT09ciYmKDAsYi5pc0NyeXB0b1N5bWJvbCkoci50eXBlc3BlY3MpJiYhKDAsdS5pc05vQWdncmVnYXRlZEZpbmFuY2lhbFBlcmlvZCkodGhpcy5tZXRhSW5mbygpLmZpbmFuY2lhbFBlcmlvZCkpKXJldHVybiBpO2NvbnN0IG49cj8uYmFzZV9jdXJyZW5jeXx8bnVsbDtyZXR1cm4gdGhpcy5fc3ltYm9sSW5wdXQmJm4mJihpW3RoaXMuX3N5bWJvbElucHV0LmlkXT1uKSxpfX19LDUwMjcyNihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtMaW5lYXJSZWdyZXNzaW9uU3R1ZHk6KCk9PmF9KTt2YXIgaT1zKDEzODYzOCkscj1zKDgxNDU4OSksbj1zKDg0MTU1OCksbz1zKDE2ODI1OCk7Y2xhc3MgYSBleHRlbmRzIG4uTm9uU2VyaWVzU3R1ZHl7c3RhcnRJbmRleCgpe2NvbnN0IGU9dGhpcy5jdXN0b21EYXRhKCk7aWYobnVsbD09ZXx8bnVsbD09dGhpcy5faW5kZXhlcylyZXR1cm4gbnVsbDtjb25zdCB0PXRoaXMuX2luZGV4ZXNbZS5zdGFydEluZGV4XTtyZXR1cm4gdCE9PXIuSU5WQUxJRF9USU1FX1BPSU5UX0lOREVYP3Q6bnVsbH1lbmRJbmRleCgpe2NvbnN0IGU9dGhpcy5jdXN0b21EYXRhKCk7aWYobnVsbD09ZXx8bnVsbD09dGhpcy5faW5kZXhlcylyZXR1cm4gbnVsbDtjb25zdCB0PXRoaXMuX2luZGV4ZXNbZS5lbmRJbmRleF07cmV0dXJuIHQhPT1yLklOVkFMSURfVElNRV9QT0lOVF9JTkRFWD90Om51bGx9YmFzZUxpbmUoKXtjb25zdCBlPXRoaXMuY3VzdG9tRGF0YSgpO3JldHVybiBudWxsIT1lP2UuYmFzZUxpbmU6bnVsbH1kb3duTGluZSgpe2NvbnN0IGU9dGhpcy5jdXN0b21EYXRhKCk7cmV0dXJuIG51bGwhPWU/ZS5kb3duTGluZTpudWxsfXVwTGluZSgpe2NvbnN0IGU9dGhpcy5jdXN0b21EYXRhKCk7cmV0dXJuIG51bGwhPWU/ZS51cExpbmU6bnVsbH1wZWFyc29ucygpe2NvbnN0IGU9dGhpcy5jdXN0b21EYXRhKCk7cmV0dXJuIG51bGwhPWUmJnZvaWQgMCE9PWUucGVhcnNvbnM/ZS5wZWFyc29uczpudWxsfWlzVmlzaWJsZSgpe2lmKCF0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCl8fCF0aGlzLmlzQWN0dWFsSW50ZXJ2YWwoKSlyZXR1cm4hMTtjb25zdCBlPSgwLGkuZW5zdXJlRGVmaW5lZCkodGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLmNoaWxkcygpKTtyZXR1cm4gZS51cExpbmUuY2hpbGRzKCkuZGlzcGxheS52YWx1ZSgpIT09by5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0Lk5vbmV8fGUuZG93bkxpbmUuY2hpbGRzKCkuZGlzcGxheS52YWx1ZSgpIT09by5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0Lk5vbmV8fGUuYmFzZUxpbmUuY2hpbGRzKCkuZGlzcGxheS52YWx1ZSgpIT09by5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0Lk5vbmV9X2NyZWF0ZVZpZXdzKCl7c3VwZXIuX2NyZWF0ZVZpZXdzKCksUHJvbWlzZS5hbGwoW3MuZSg5NzU1OCkscy5lKDQ1Mjc3KSxzLmUoOTE2NjgpXSkudGhlbihzLmJpbmQocyw1MDEzNjMpKS50aGVuKCgoe0xpbmVhclJlZ3Jlc3Npb25QYW5lVmlldzplfSk9Pnt0aGlzLl9zZXRQYW5lVmlld3MoW25ldyBlKHRoaXMubW9kZWwoKSx0aGlzKV0pfSkpfX19LDYzMTUyMihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtMb2xsaXBvcFN0dWR5QmFzZTooKT0+aH0pO3ZhciBpLHI9cygxOTcyNzIpLG49cyg4MTQ1ODkpLG89cyg3Nzk1MTYpLGE9cyg5MzI2OTMpLGw9cygxNDc5OTIpLHU9cyg5NjY0MDQpOyFmdW5jdGlvbihlKXtlW2UuTWF4TXNlY3NQZXJQeD00MzJlNl09Ik1heE1zZWNzUGVyUHgiLGVbZS5GaXZlRGF5c01zPTQzMmU2XT0iRml2ZURheXNNcyJ9KGl8fChpPXt9KSk7Y29uc3QgYz1EYXRlLlVUQygyMDI0LDEsMSk7Y2xhc3MgaCBleHRlbmRzIHIuU3R1ZHl7Y29uc3RydWN0b3IoZSx0LHMsaSxyLG4pe3N1cGVyKGUsdCxzLGkscixuKSx0aGlzLl9yZXN0YXJ0UmVxdWlyZWQ9ITEsdGhpcy5zZXRPd25lclNvdXJjZShlLm1haW5TZXJpZXMoKSk7Y29uc3Qgbz10aGlzLl9leHRlcm5hbFZpc2liaWxpdHlQcm9wZXJ0eSgpCjtudWxsIT09byYmKHRoaXMuX2Rlc3Ryb3lQcm9wZXJ0eUJpbmRlcj0oMCxsLmJpbmRQcm9wZXJ0aWVzKShvLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudmlzaWJsZSkpfWRlc3Ryb3koKXt0aGlzLl9wYW5lVmlldy5kZXN0cm95KCksdGhpcy5fZGVzdHJveVByb3BlcnR5QmluZGVyPy4oKSxzdXBlci5kZXN0cm95KCl9dXBkYXRlQWxsVmlld3NBbmRSZXBhaW50KCl7dGhpcy51cGRhdGVBbGxWaWV3cygoMCx1LnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyl9YXV0b1NjYWxlSW5mbygpe3JldHVybntyYW5nZTpudWxsfX1sb2xsaXBvcHNBdEluZGV4KGUpe3JldHVybiF0aGlzLmhpZGVMb2xsaXBvcHMoKSYmdGhpcy5kYXRhKCkuY29udGFpbnMoZSk/MTowfWhpZGVMb2xsaXBvcHMoKXt7Y29uc3QgZT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmluTWlsbGlzZWNvbmRzKGMpO2lmKGU8NDMyZTYpcmV0dXJuITE7cmV0dXJuIGUvdGhpcy5fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpPjQzMmU2fX1hc3luYyBzdGFydCgpe2NvbnN0IGU9c3VwZXIuc3RhcnQoKTtyZXR1cm4gdGhpcy5fbW9kZWwubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2luaXRQbG90U3Rhc2gpLHRoaXMuX2luaXRQbG90U3Rhc2goKSxlfXN0b3AoKXtzdXBlci5zdG9wKCksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5faW5pdFBsb3RTdGFzaCl9cmVzdG9yZURhdGEoZSl7ZS5kYXRhPWUuZGF0YS5maWx0ZXIoKGU9PmUuaW5kZXghPT1uLklOVkFMSURfVElNRV9QT0lOVF9JTkRFWCYmdGhpcy5pc1ZhbGlkKGUudmFsdWUpKSksdGhpcy5fdHJhbnNmb3JtRGF0YShlLmRhdGEpLGUuZW5kPWUuZGF0YS5sZW5ndGgsc3VwZXIucmVzdG9yZURhdGEoZSl9b25DbGlja091dHNpZGUoZSx0KXt0aGlzLl9wYW5lVmlldy5wcm9jZXNzQ2xpY2tPdXRzaWRlKGUsdCl9cHJlZmVyTm9TY2FsZSgpe3JldHVybiEwfXNob3dJbk9iamVjdFRyZWUoKXtyZXR1cm4hMX1pc1NhdmVkSW5TdHVkeVRlbXBsYXRlcygpe3JldHVybiExfWlzUmVtb3ZlZEJ5U3R1ZHlUZW1wbGF0ZXMoKXtyZXR1cm4hMX1yZW1vdmVCeVJlbW92ZUFsbFN0dWRpZXMoKXtyZXR1cm4hMX1pc0RyYWdnYWJsZSgpe3JldHVybiExfWNvcGlhYmxlKCl7cmV0dXJuITF9c3RhdHVzVmlldygpe3JldHVybiBudWxsfWhhc1N0YXRlRm9yQWxlcnQoKXtyZXR1cm4hMX1pc1NhdmVkSW5DaGFydChlKXtyZXR1cm4gQm9vbGVhbihlKX1pc1NwZWNpYWxseVpPcmRlcmVkU291cmNlKCl7cmV0dXJuITB9aXNVc2VyRGVsZXRhYmxlKCl7cmV0dXJuITF9Y2FuSGF2ZUNoaWxkcmVuKCl7cmV0dXJuITF9aXNJbmNsdWRlZEluQXV0b1NjYWxlKCl7cmV0dXJuITF9aXNDdXJyZW5jeVNvdXJjZSgpe3JldHVybiExfWlzVW5pdFNvdXJjZSgpe3JldHVybiExfV9leHRlcm5hbFZpc2liaWxpdHlQcm9wZXJ0eSgpe3JldHVybiBudWxsfV90cmFuc2Zvcm1EYXRhKGUpe2ZvcihsZXQgdD1lLmxlbmd0aC0xO3Q+PTA7LS10KXtjb25zdCBzPWVbdF0saT1zLmluZGV4IT09bi5JTlZBTElEX1RJTUVfUE9JTlRfSU5ERVgmJnRoaXMuaXNWYWxpZChzLnZhbHVlKTt0aGlzLl91cGRhdGVQbG90U3Rhc2gocyxpKX19X2NyZWF0ZVZpZXdzKCl7dGhpcy5fcGFuZVZpZXdzPVt0aGlzLl9wYW5lVmlld10sdGhpcy5fcHJpY2VBeGlzVmlld3M9W10sdGhpcy5fZGF0YVdpbmRvd1ZpZXd8fCh0aGlzLl9kYXRhV2luZG93Vmlldz1uZXcgby5EYXRhV2luZG93VmlldyksdGhpcy5fbGVnZW5kVmlldz1udWxsLHRoaXMuX3N0YXR1c1ZpZXd8fCh0aGlzLl9zdGF0dXNWaWV3PW5ldyBhLlN0dWR5U3RhdHVzVmlldyh0aGlzKSl9X3Nlcmllc0RhdGFSYW5nZVRvU2F2ZShlKXtyZXR1cm4gdGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpfV9pbml0UGxvdFN0YXNoKCl7dGhpcy5fcGxvdFN0YXNoPXt9fV91cGRhdGVQbG90U3Rhc2goZSx0KXtpZih0aGlzLl9yZXN0YXJ0UmVxdWlyZWR8fCF0aGlzLl9wbG90U3Rhc2gpcmV0dXJuO2NvbnN0IHM9ZS52YWx1ZS5zbGljZSgpLGk9cy5zaGlmdCgpLHI9U3RyaW5nKGkpO3Q/dGhpcy5fcGxvdFN0YXNoW3JdP1N0cmluZyh0aGlzLl9wbG90U3Rhc2hbcl0pIT09U3RyaW5nKHMpJiYodGhpcy5fcmVzdGFydFJlcXVpcmVkPSEwKTp0aGlzLl9wbG90U3Rhc2hbcl09czp0aGlzLl9wbG90U3Rhc2hbcl0mJih0aGlzLl9yZXN0YXJ0UmVxdWlyZWQ9ITApfX19LDg4NzAyOShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtMb2xsaXBvcFN0dWR5UGFuZVZpZXdCYXNlOigpPT5ffSk7dmFyIGk9cyg3MzY1MzEpLHI9cygxMzg2MzgpLG49cyg3MDA4MDkpLG89cyg5MzAyMzEpLGE9cygyMjg4MiksbD1zKDI3NjAxOSksdT1zKDg3NDMwNiksYz1zKDg4OTM5NyksaD1zKDg4ODU2MiksZD1zKDQ5NDA3OSk7Y2xhc3MgXyBleHRlbmRzIGQuTG9sbGlwb3BQYW5lVmlld3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fZ2V0TW9yZUZpbmFuY2lhbHNMaW5rSW5pdGlhbFRhYklkPSJvdmVydmlldyIsdGhpcy5fc3ltYm9sTmFtZT1udWxsfWFkZExvbGxpcG9wKGUsdCxzLHIsbixvLGEpe2lmKG51bGw9PT10aGlzLl9zeW1ib2xOYW1lJiYodGhpcy5fc3ltYm9sTmFtZT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpPy5uYW1lPz9udWxsLG51bGw9PT10aGlzLl9zeW1ib2xOYW1lKSlyZXR1cm4KO2NvbnN0IGw9YCR7dGhpcy5fc291cmNlLm1ldGFJbmZvKCkuaWR9XyR7dGhpcy5fbG9sbGlwb3BJZChvKX1fJHt0aGlzLl9zeW1ib2xOYW1lfWAsdT10aGlzLl9sb2xsaXBvcHNbbF0sYz12b2lkIDAhPT11P3UuaXRlbUluZGV4OnRoaXMuX2xvbGxpcG9wc0NvdW50ZXIrKyxoPXRoaXMuX21vZGVsLmxhc3RIaXR0ZXN0RGF0YSgpLGQ9dGhpcy5fbW9kZWwuaG92ZXJlZFNvdXJjZSgpPT09dGhpcy5fc291cmNlJiZudWxsIT09aCYmaC5hY3RpdmVJdGVtJiZoLmFjdGl2ZUl0ZW0uaXRlbUluZGV4PT09Yzt0aGlzLl9sb2xsaXBvcHNbbF09e2lkOmwsaXRlbUluZGV4OmMsdmlzaWJsZTohMCxiYXNlUG9pbnQ6bmV3IGkuUG9pbnQocy5pbmRleFRvQ29vcmRpbmF0ZShuKSxlKSxob3ZlcmVkOmQsc3RhY2s6YSwuLi50aGlzLmV4dHJhRGF0YShvKX19cmVuZGVyZXIoZSl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbChlKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSksdGhpcy5fc291cmNlLmhpZGVMb2xsaXBvcHMoKT9udWxsOnRoaXMuX3JlbmRlcmVyfV9sb2xsaXBvcElkKGUpe3JldHVybiBlWzBdLnRvU3RyaW5nKCl9X3VwZGF0ZUltcGwoZSl7dGhpcy5fcmVuZGVyZXIuY2xlYXIoKTtjb25zdCB0PXRoaXMuX3NvdXJjZS5kYXRhKCkscz10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxpPXMudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpLG49dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmJhcnMoKSxvPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSxhPW8ucHJpY2VTY2FsZSgpLGw9by5maXJzdEJhcigpO2lmKGEuaXNFbXB0eSgpfHxzLmlzRW1wdHkoKXx8IWx8fCF0fHxudWxsPT09aSlyZXR1cm47Y29uc3QgdT10aGlzLl9tb2RlbC5tYWluUGFuZSgpO2lmKCF1KXJldHVybjtpZih0aGlzLl9zb3VyY2UuaGlkZUxvbGxpcG9wcygpKXJldHVybiB2b2lkIHRoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby5zZXRWYWx1ZShudWxsKTtmb3IoY29uc3QgZSBpbiB0aGlzLl9sb2xsaXBvcHMpdGhpcy5fbG9sbGlwb3BzLmhhc093blByb3BlcnR5KGUpJiYoKDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9sb2xsaXBvcHNbZV0pLnZpc2libGU9ITEpO2NvbnN0IGM9dGhpcy5fZ2V0WSgpLGg9aS5maXJzdEJhcigpLGQ9aS5sYXN0QmFyKCksXz10aGlzLl9zb3VyY2Uuem9yZGVyKCkscD11LmxvbGxpcG9wRGF0YVNvdXJjZXMoKS5maWx0ZXIoKGU9PmUhPT10aGlzLl9zb3VyY2UmJmUuem9yZGVyKCk+XyYmZS5pc1Zpc2libGUoKSkpO3QucmFuZ2UoaCxkKS5lYWNoKCgoZSx0KT0+e2xldCBpPTA7Zm9yKGNvbnN0IHQgb2YgcClpKz10LmxvbGxpcG9wc0F0SW5kZXgoZSk7cmV0dXJuIHRoaXMuYWRkTG9sbGlwb3AoYyxuLHMsYSxlLHQsaSksITF9KSksdGhpcy5hZnRlclVwZGF0ZShjLG4scyxhKSx0aGlzLl9jcmVhdGVSZW5kZXJlcnMoZSl9X2Zvcm1hdERhdGUoZSx0KXtsZXQgcyxpPSEwO2lmKGk9dS5WZXJzaW9uLnBhcnNlKHRoaXMuX3NvdXJjZS5tZXRhSW5mbygpLnZlcnNpb24pLmlzTGVzc09yRXF1YWwobmV3IHUuVmVyc2lvbigxMzcsMCkpLGkpe2xldCB0PSJFdGMvVVRDIjt0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaXNEV00oKXx8KHQ9dGhpcy5fbW9kZWwudGltZXpvbmVFeGNlcHRFeGNoYW5nZSgpLnZhbHVlKCk/PyIiKTtjb25zdCBpPSgwLG4uZ2V0X3RpbWV6b25lKSh0KTtzPSgwLG4udXRjX3RvX2NhbCkoaSxlKX1lbHNlIHM9bmV3IERhdGUoZSk7cmV0dXJuKHQ/IuKJiCAiOiIiKSt0aGlzLl9tb2RlbC5kYXRlRm9ybWF0dGVyKCkuZm9ybWF0KHMpfV9nZXRNb3JlRmluYW5jaWFsc0xpbmsoKXtpZighL1xiZXRmXGIvaS50ZXN0KHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk/LmRlc2NyaXB0aW9ufHwiIikpcmV0dXJue2NoaWxkcmVuOnRoaXMuX2dldE1vcmVGaW5hbmNpYWxzTGlua1RleHQoKSxvbkNsaWNrOigpPT57bC5nbG9iYWxDbG9zZURlbGVnYXRlLmZpcmUoKSwoMCxvLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJtb2JpbGVfYXBwX2FjdGlvbl9vcGVuX2ZpbmFuY2lhbHNfd2VidmlldyIpPygwLGgub3BlbkZpbmFuY2lhbHNXZWJ2aWV3KShuZXcgVVJMU2VhcmNoUGFyYW1zKTooMCxjLnNob3dGaW5hbmNpYWxzRGlhbG9nKSh7aW5pdGlhbFRhYklkOnRoaXMuX2dldE1vcmVGaW5hbmNpYWxzTGlua0luaXRpYWxUYWJJZH0pfX19X2dldE1vcmVGaW5hbmNpYWxzTGlua1RleHQoKXtyZXR1cm4oMCxhLmdldE1vcmVGaW5hbmNpYWxzTGlua1RleHQpKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCkpfV9vblN5bWJvbE9ySW50ZXJ2YWxDaGFuZ2VkKCl7c3VwZXIuX29uU3ltYm9sT3JJbnRlcnZhbENoYW5nZWQoKSx0aGlzLl9zeW1ib2xOYW1lPW51bGx9fX0sNDY3OTIxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5yKHQpLHMuZCh0LHttaWdyYXRlSmF2YVN0YXRlVG9QaW5lOigpPT5oLHBpbmVJZEZvckphdmFJZDooKT0+bH0pO2NvbnN0IGk9KDAsCnMoNTA1NTYpLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdGFuLW9yYW5nZS02MDAiKSxyPW5ldyBNYXAoW1sic3R1ZHlBRFJAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0FkdmFuY2VfRGVjbGluZV9SYXRpb19CYXJzIl0sWyJBVFJAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0F2ZXJhZ2VfVHJ1ZV9SYW5nZSJdLFsiQUNDREB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7QWNjdW11bGF0aW9uX0Rpc3RyaWJ1dGlvbiJdLFsiQVJPT05AdHYtYmFzaWNzdHVkaWVzIiwiU1REO0Fyb29uIl0sWyJBd2Vzb21lT3NjaWxsYXRvckB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7QXdlc29tZV9Pc2NpbGxhdG9yIl0sWyJCQkB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7Qm9sbGluZ2VyX0JhbmRzIl0sWyJCb2xsaW5nZXJCYW5kc1JAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0JvbGxpbmdlcl9CYW5kc19CIl0sWyJCb2xsaW5nZXJCYW5kc1dpZHRoQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtCb2xsaW5nZXJfQmFuZHNfV2lkdGgiXSxbIkNDSUB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7Q0NJIl0sWyJDTUZAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0NoYWlraW5fTW9uZXlfRmxvdyJdLFsiQ2hhaWtpbk9zY2lsbGF0b3JAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0NoYWlraW5fT3NjaWxsYXRvciJdLFsiY2hhbmRlTU9AdHYtYmFzaWNzdHVkaWVzIiwiU1REO0NoYW5kZV9Nb21lbnR1bV9Pc2NpbGxhdG9yIl0sWyJDaG9wcGluZXNzSW5kZXhAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0Nob3BwaW5lc3NfSW5kZXgiXSxbIkNvbXBhcmVAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0NvbXBhcmUiXSxbIkNSU0lAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0Nvbm5vcnNfUlNJIl0sWyJDb3JyZWxhdGlvbkNvZWZmaWNpZW50QHR2LWJhc2ljc3R1ZGllcyIsIlNURDtDb3JyZWxhdGlvbl9Db2VmZiJdLFsiRG91YmxlRU1BQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtERU1BIl0sWyJETUB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7RE1JIl0sWyJEZXRyZW5kZWRQcmljZU9zY2lsbGF0b3JAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0RQTyJdLFsiRE9OQ0hAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0RvbmNoaWFuX0NoYW5uZWxzIl0sWyJFYXNlT2ZNb3ZlbWVudEB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7RU9NIl0sWyJFRklAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0VGSSJdLFsiRU5WQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtFTlYiXSxbIk1BRXhwQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtFTUEiXSxbIkZpc2hlclRyYW5zZm9ybUB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7RmlzaGVyX1RyYW5zZm9ybSJdLFsiSFZAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0hpc3RvcmljYWxfVm9sYXRpbGl0eSJdLFsiaHVsbE1BQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtIdWxsJTFNQSJdLFsiSWNoaW1va3VDbG91ZEB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7SWNoaW1va3UlMUNsb3VkIl0sWyJLU1RAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0tub3dfU3VyZV9UaGluZyJdLFsiS0xUTlJAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0tlbHRuZXJfQ2hhbm5lbHMiXSxbIkxpbmVhclJlZ3Jlc3Npb25AdHYtYmFzaWNzdHVkaWVzIiwiU1REO0xpbmVhcl9SZWdyZXNzaW9uIl0sWyJNQUNEQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtNQUNEIl0sWyJNQVdlaWdodGVkQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtXTUEiXSxbIk1PTUB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7TW9tZW50dW0iXSxbIk1GQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtNb25leV9GbG93Il0sWyJNVFBDQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtNdWx0aS1UaW1lJVBlcmlvZCVDaGFydHMiXSxbIk9CVkB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7T25fQmFsYW5jZV9Wb2x1bWUiXSxbIlBTQVJAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1BTQVIiXSxbIlBpdm90UG9pbnRzSGlnaExvd0B0di1iYXNpY3N0dWRpZXMiLCJTVEQ7UGl2b3QlMVBvaW50cyUxSGlnaCUxTG93Il0sWyJQaXZvdFBvaW50c1N0YW5kYXJkQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtQaXZvdCUxUG9pbnRzJTFTdGFuZGFyZCJdLFsiUHJpY2VPc2NAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1ByaWNlX09zY2lsbGF0b3IiXSxbIlByaWNlVm9sdW1lVHJlbmRAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1ByaWNlX1ZvbHVtZV9UcmVuZCJdLFsiUlNJQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtSU0kiXSxbIlJPQ0B0di1iYXNpY3N0dWRpZXMiLCJTVEQ7Uk9DIl0sWyJWaWdvckluZGV4QHR2LWJhc2ljc3R1ZGllcyIsIlNURDtSZWxhdGl2ZV9WaWdvcl9JbmRleCJdLFsiVm9sYXRpbGl0eUluZGV4QHR2LWJhc2ljc3R1ZGllcyIsIlNURDtSZWxhdGl2ZV9Wb2xhdGlsaXR5X0luZGV4Il0sWyJTTUlFcmdvZGljSW5kaWNhdG9yQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtTTUlfRXJnb2RpY19JbmRpY2F0b3JfT3NjaWxsYXRvciJdLFsiU01JRXJnb2RpY09zY2lsbGF0b3JAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1NNSV9FcmdvZGljX09zY2lsbGF0b3IiXSxbIk1BU2ltcGxlQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtTTUEiXSxbIlN0b2NoYXN0aWNAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1N0b2NoYXN0aWMiXSxbIlN0b2NoYXN0aWNSU0lAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1N0b2NoYXN0aWNfUlNJIl0sWyJUcmlwbGVFTUFAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1RFTUEiXSxbIlRyaXhAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1RSSVgiXSxbIlVsdGltYXRlT3NjQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtVbHRpbWF0ZV9Pc2NpbGxhdG9yIl0sWyJWV0FQQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtWV0FQIl0sWyJNQVZvbHVtZVdlaWdodGVkQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtWV01BIl0sWyJWU1RPUEB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7Vm9sYXRpbGl0eV9TdG9wIl0sWyJXaWxsaWFtc0FsbGlnYXRvckB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7V2lsbGlhbXNfQWxsaWdhdG9yIl0sWyJXaWxsaWFtc0ZyYWN0YWxAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1doaWxsaWFtc19GcmFjdGFscyJdLFsiV2lsbGlhbVJAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1dpbGxhbXNfUiJdLFsiWmlnWmFnQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtaaWdfWmFnIl0sWyJNb29uUGhhc2VzQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtNb29uJTFQaGFzZXMiXSxbIlByaWNlVm9sdW1lVHJlbmRAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1ByaWNlX1ZvbHVtZV9UcmVuZCJdLFsiQ29ycmVsYXRpb25Db2VmZmljaWVudEB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7Q29ycmVsYXRpb25fQ29lZmYiXV0pLG49bmV3IE1hcChbWyJBUk9PTkB0di1iYXNpY3N0dWRpZXMiLG5ldyBNYXAoW1siQXJvb25Eb3duIiwiQXJvb24gRG93biJdLFsiQXJvb25VcCIsIkFyb29uIFVwIl1dKV0sWyJETUB0di1iYXNpY3N0dWRpZXMiLG5ldyBNYXAoW1siRElfTiIsIi1ESSJdLFsiRElfUCIsIitESSJdXSldLFsiRE9OQ0hAdHYtYmFzaWNzdHVkaWVzIixuZXcgTWFwKFtbIkRvbmNoaWFuQmFzaXMiLCJCYXNpcyJdLFsiRG9uY2hpYW5Mb3dlciIsIkxvd2VyIl0sWyJEb25jaGlhblVwcGVyIiwiVXBwZXIiXV0pXSxbIk1BRXhwQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJNb3ZBdmdFeHAiLCJFTUEiXV0pXSxbIkVOVkB0di1iYXNpY3N0dWRpZXMiLG5ldyBNYXAoW1siZW52YmFzaXMiLCJCYXNpcyJdLFsiZW52dXBwZXIiLCJVcHBlciJdLFsiZW52bG93ZXIiLCJMb3dlciJdXSldLFsiSWNoaW1va3VDbG91ZEB0di1iYXNpY3N0dWRpZXMiLG5ldyBNYXAoW1siVHVybmluZ0xpbmUiLCJDb252ZXJzaW9uIExpbmUiXSxbIlN0YW5kYXJkTGluZSIsIkJhc2UgTGluZSJdLFsiQ2xvc2VMaW5lIiwiTGFnZ2luZyBTcGFuIl0sWyJMZWFkMUxpbmUiLCJMZWFkaW5nIFNwYW4gQSJdLFsiTGVhZDJMaW5lIiwiTGVhZGluZyBTcGFuIEIiXV0pXSxbIktMVE5SQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJLZWx0bmVyVXBwZXIiLCJVcHBlciJdLFsiS2VsdG5lckNlbnRlciIsIkJhc2lzIl0sWyJLZWx0bmVyTG93ZXIiLCJMb3dlciJdXSldLFsiS1NUQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJTSUciLCJTaWduYWwiXV0pXSxbIk1BU2ltcGxlQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJNb3ZBdmdTaW1wbGUiLCJNQSJdXSldLFsiUlNJQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJSZWxhdGl2ZVN0cmVuZ3RoSW5kZXgiLCJSU0kiXV0pXSxbIlN0b2NoYXN0aWNAdHYtYmFzaWNzdHVkaWVzIixuZXcgTWFwKFtbIksiLCIlSyJdLFsiRCIsIiVEIl1dKV0sWyJWaWdvckluZGV4QHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJTSUciLCJTaWduYWwiXV0pXV0pLG89bmV3IE1hcChbWyJLU1RAdHYtYmFzaWNzdHVkaWVzIixuZXcgTWFwKFtbIlplcm8gTGluZSIsIlplcm8iXV0pXSxbIlJTSUB0di1iYXNpY3N0dWRpZXMiLG5ldyBNYXAoW1siVXBwZXIgQmFuZCIsIlJTSSBVcHBlciBCYW5kIl0sWyJMb3dlciBCYW5kIiwiUlNJIExvd2VyIEJhbmQiXV0pXV0pLGE9bmV3IE1hcChbWyJDUlNJQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJMZW5ST0MiLHsKbmFtZToiUk9DIExlbmd0aCJ9XSxbIkxlblJTSSIse25hbWU6IlJTSSBMZW5ndGgifV0sWyJMZW5VUCIse25hbWU6IlVwRG93biBMZW5ndGgifV1dKV0sWyJQaXZvdFBvaW50c0hpZ2hMb3dAdHYtYmFzaWNzdHVkaWVzIixuZXcgTWFwKFtbImxlbmd0aCBoaWdoIix7Z3JvdXA6IkxFTkdUSCBMRUZUIC8gUklHSFQiLG5hbWU6IlBpdm90IEhpZ2gifV0sWyJsZW5ndGggbG93Iix7Z3JvdXA6IkxFTkdUSCBMRUZUIC8gUklHSFQiLG5hbWU6IlBpdm90IExvdyJ9XV0pXSxbIkljaGltb2t1Q2xvdWRAdHYtYmFzaWNzdHVkaWVzIixuZXcgTWFwKFtbInR1cm5pbmcgbGluZSBwZXJpb2RzIix7bmFtZToiQ29udmVyc2lvbiBMaW5lIExlbmd0aCJ9XSxbInN0YW5kYXJkIGxpbmUgcGVyaW9kcyIse25hbWU6IkJhc2UgTGluZSBMZW5ndGgifV0sWyJsZWFkaW5nIHNwYW4gMiBwZXJpb2RzIix7bmFtZToiTGVhZGluZyBTcGFuIEIgTGVuZ3RoIn1dLFsiZGlzcGxhY2VtZW50Iix7bmFtZToiTGFnZ2luZyBTcGFuIn1dXSldXSk7ZnVuY3Rpb24gbChlKXtyZXR1cm4gci5nZXQoZSk/P251bGx9Y29uc3QgdT1uZXcgU2V0KFsibGluZSIsInNoYXBlcyIsImNoYXJzIiwiYXJyb3dzIiwib2hsY19vcGVuIiwib2hsY19oaWdoIiwib2hsY19sb3ciLCJvaGxjX2Nsb3NlIl0pO2Z1bmN0aW9uIGMoZSx0LHMpe3JldHVybiBlLmlucHV0cy5maW5kKChlPT4oZS5uYW1lLnN0YXJ0c1dpdGgodCl8fGUubmFtZS5lbmRzV2l0aCh0KSkmJmUuZ3JvdXA9PT1zKSk/LmlkPz9udWxsfWZ1bmN0aW9uIGgoZSx0LHMpeyFmdW5jdGlvbihlKXtpZihlLmFyZWFCYWNrZ3JvdW5kKXtlLmZpbGxlZEFyZWFzU3R5bGU9ZS5maWxsZWRBcmVhc1N0eWxlPz97fTtjb25zdCB0PWUuZmlsbGVkQXJlYXNTdHlsZT8uZmlsbF8wPz97fTt0LmNvbG9yPWUuYXJlYUJhY2tncm91bmQuYmFja2dyb3VuZENvbG9yLHQudHJhbnNwYXJlbmN5PWUuYXJlYUJhY2tncm91bmQudHJhbnNwYXJlbmN5LHQudmlzaWJsZT1lLmFyZWFCYWNrZ3JvdW5kLmZpbGxCYWNrZ3JvdW5kLGUuZmlsbGVkQXJlYXNTdHlsZS5maWxsXzA9dH1kZWxldGUgZS5hcmVhQmFja2dyb3VuZH0oZSksZnVuY3Rpb24oZSx0LHMpe2NvbnN0IGk9e30scj1hLmdldCh0LmlkKT8/bmV3IE1hcDtzLmlucHV0cy5mb3JFYWNoKCh0PT57Y29uc3Qgcz10Lm5hbWUudG9Mb3dlckNhc2UoKSxuPXQuZ3JvdXA7Zm9yKGNvbnN0IG8gb2YgT2JqZWN0LmtleXMoZS5pbnB1dHMpKXtjb25zdCBhPXIuZ2V0KG8pPy5uYW1lPz9vLGw9ci5nZXQobyk/Lmdyb3VwPz9uO2lmKGEudG9Mb3dlckNhc2UoKT09PXMmJmw9PT1uKXtpW3QuaWRdPWUuaW5wdXRzW29dO2JyZWFrfX0ib2Zmc2V0Ij09PXMmJmUub2Zmc2V0JiYoaVt0LmlkXT1lLm9mZnNldC52YWwpfSkpLGUuaW5wdXRzPWksZGVsZXRlIGUub2Zmc2V0fShlLHQscyksZnVuY3Rpb24oZSx0LHMpe2NvbnN0IGk9dC5wYWxldHRlcz8/e30scj1zLnBhbGV0dGVzPz97fSxuPU9iamVjdC5rZXlzKGkpLG89T2JqZWN0LmtleXMocik7MT09PW4ubGVuZ3RoJiYxPT09by5sZW5ndGgmJihlLnBhbGV0dGVzW29bMF1dPWUucGFsZXR0ZXNbblswXV0sZGVsZXRlIGUucGFsZXR0ZXNbblswXV0pfShlLHQscyksZnVuY3Rpb24oZSx0LHMpe2NvbnN0IGk9bi5nZXQodC5pZCk/P25ldyBNYXAscj1zLnN0eWxlcz8/e30sbz1lLnN0eWxlcyxhPXt9LGw9dC5wbG90cy5maWx0ZXIoKGU9PnUuaGFzKGUudHlwZSkpKSxjPXMucGxvdHMuZmlsdGVyKChlPT51LmhhcyhlLnR5cGUpKSk7aWYoMT09PWMubGVuZ3RoJiYxPT09bC5sZW5ndGgpe2NvbnN0IGU9Y1swXS5pZCx0PWxbMF0uaWQ7dCYmKGFbZV09b1t0XSl9ZWxzZSBmb3IoY29uc3QgZSBvZiBjKXtjb25zdCB0PWUuaWQscz1yW3RdO2lmKHMpe2NvbnN0IGU9cy50aXRsZS50b0xvd2VyQ2FzZSgpO2Zvcihjb25zdCBzIG9mIE9iamVjdC5rZXlzKG8pKWlmKChpLmdldChzKT8/cykudG9Mb3dlckNhc2UoKT09PWUpe2FbdF09b1tzXTticmVha319fWUuc3R5bGVzPWF9KGUsdCxzKSxmdW5jdGlvbihlLHQscyl7Y29uc3QgaT1zLmJhbmRzLHI9ZS5iYW5kcyxuPW8uZ2V0KHQuaWQpPz9uZXcgTWFwO2lmKGkmJnIpe2NvbnN0IG89cy5kZWZhdWx0cy5iYW5kcz8ubGVuZ3RoPz8wLGE9QXJyYXkuZnJvbSh7bGVuZ3RoOm99KTsocy5kZWZhdWx0cy5iYW5kcz8/W10pLmZvckVhY2goKChlLHMpPT57Y29uc3Qgbz1pW3NdO2lmKG8pe2NvbnN0IGk9by5uYW1lLnRvTG93ZXJDYXNlKCksbD10LmJhbmRzPz9bXTthW3NdPWU7Zm9yKGxldCBlPTA7ZTxsLmxlbmd0aDtlKyspe2NvbnN0IHQ9bFtlXS5uYW1lO2lmKChuLmdldCh0KT8/dCkudG9Mb3dlckNhc2UoKT09PWkpe2Fbc109cltlXTticmVha319fX0pKSxlLmJhbmRzPWF9fShlLHQscyksZnVuY3Rpb24oZSx0LHMpe2lmKGUuYmFuZHNCYWNrZ3JvdW5kKXtjb25zdCB0PShzLmZpbGxlZEFyZWFzPz9bXSkuZmluZCgoZT0+ImhsaW5lX2hsaW5lIj09PWUudHlwZSkpO2lmKHQpe2UuZmlsbGVkQXJlYXNTdHlsZT1lLmZpbGxlZEFyZWFzU3R5bGU/P3t9O2NvbnN0IHM9dC5pZCxpPWUuZmlsbGVkQXJlYXNTdHlsZVtzXT8/e307aS5jb2xvcj1lLmJhbmRzQmFja2dyb3VuZC5iYWNrZ3JvdW5kQ29sb3IsaS52aXNpYmxlPWUuYmFuZHNCYWNrZ3JvdW5kLmZpbGxCYWNrZ3JvdW5kLGkudHJhbnNwYXJlbmN5PWUuYmFuZHNCYWNrZ3JvdW5kLnRyYW5zcGFyZW5jeSxlLmZpbGxlZEFyZWFzU3R5bGVbc109aX19ZGVsZXRlIGUuYmFuZHNCYWNrZ3JvdW5kfShlLDAscyksIlBpdm90UG9pbnRzU3RhbmRhcmRAdHYtYmFzaWNzdHVkaWVzIiE9PXQuaWQmJiJQaXZvdFBvaW50c1N0YW5kYXJkIiE9PXQuaWR8fGZ1bmN0aW9uKGUsdCxzKXtlLmdyYXBoaWNzPWUuZ3JhcGhpY3M/P3t9LGUuZ3JhcGhpY3MuZHdnbGFiZWxzPWUuZ3JhcGhpY3MuZHdnbGFiZWxzPz97fSxlLmdyYXBoaWNzLmR3Z2xhYmVscy5sYWJlbHM9ZS5ncmFwaGljcy5kd2dsYWJlbHMubGFiZWxzPz97dmlzaWJsZTplLmxldmVsc1N0eWxlPy5zaG93TGFiZWxzPz8hMH0sZS5wYWxldHRlcz1lLnBhbGV0dGVzPz97fSwKZS5wYWxldHRlcy5wYWxldHRlX2NvbW1vbj1lLnBhbGV0dGVzLnBhbGV0dGVfY29tbW9uPz97fSxlLnBhbGV0dGVzLnBhbGV0dGVfY29tbW9uLmNvbG9ycz1lLnBhbGV0dGVzLnBhbGV0dGVfY29tbW9uLmNvbG9ycz8/e307bGV0IHI9MTtbIlAiLCJTMS9SMSIsIlMyL1IyIiwiUzMvUjMiLCJTNC9SNCIsIlM1L1I1Il0uZm9yRWFjaCgodD0+e2NvbnN0IG49ZS5sZXZlbHNTdHlsZT8uY29sb3JzPy5bdF0/P2k7dC5zcGxpdCgiLyIpLmZvckVhY2goKHQ9Pntjb25zdCBpPWMocyx0LCJsZXZlbHMiKTtpJiYoZS5pbnB1dHNbaV09biksZS5wYWxldHRlcy5wYWxldHRlX2NvbW1vbi5jb2xvcnNbcl09ZS5wYWxldHRlcy5wYWxldHRlX2NvbW1vbi5jb2xvcnNbcl0/P3t9LGUucGFsZXR0ZXMucGFsZXR0ZV9jb21tb24uY29sb3JzW3JdLmNvbG9yPW4scisrfSkpfSkpO2NvbnN0IG49YyhzLCJMaW5lIFdpZHRoIiwibGV2ZWxzIik7aWYobil7Y29uc3QgdD1lLmxldmVsc1N0eWxlPy53aWR0aHM/LlA/PzE7ZS5pbnB1dHNbbl09dH19KGUsMCxzKX19LDg0MTU1OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtOb25TZXJpZXNTdHVkeTooKT0+bn0pO3ZhciBpPXMoMTM4NjM4KSxyPXMoMTk3MjcyKTtjbGFzcyBuIGV4dGVuZHMgci5TdHVkeXtpc0xpbmtlZFRvU2VyaWVzKCl7cmV0dXJuITB9Y2xlYXJEYXRhKCl7dGhpcy5fY3VzdG9tRGF0YT1udWxsLHRoaXMuX2luZGV4ZXM9bnVsbH1yZXN0b3JlRGF0YShlLHQscyl7c3VwZXIucmVzdG9yZURhdGEoZSksdGhpcy5fY3VzdG9tRGF0YT10LHRoaXMuX2luZGV4ZXM9c31zdGF0ZShlKXtjb25zdCB0PXN1cGVyLnN0YXRlKGUpO3JldHVybiBlJiYodC5ub25TZXJpZXNEYXRhPXRoaXMuX2N1c3RvbURhdGEsdC5pbmRleGVzPXRoaXMuX2luZGV4ZXMpLHR9Y3VzdG9tRGF0YSgpe3JldHVybiB0aGlzLl9jdXN0b21EYXRhfV9zZXRQYW5lVmlld3MoZSl7dGhpcy5fcGFuZVZpZXdzPWUsdGhpcy5tb2RlbCgpLmxpZ2h0VXBkYXRlKCl9X29uRGF0YVVwZGF0ZWQoZSx0LHMpe251bGwhPT10JiYodC5pbmRleGVzX3JlcGxhY2U/KCgwLGkuYXNzZXJ0KSgibm9jaGFuZ2UiIT09cyksdGhpcy5faW5kZXhlcz1zKToodGhpcy5fY3VzdG9tRGF0YT10LmRhdGEsIm5vY2hhbmdlIiE9PXMmJih0aGlzLl9pbmRleGVzPXMpKSksc3VwZXIuX29uRGF0YVVwZGF0ZWQoZSx0LHMpfX19LDg0NDcyNyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtzdHVkeV9QaXZvdFBvaW50c1N0YW5kYXJkOigpPT5BfSk7dmFyIGk9cygxMzg2MzgpLHI9cyg4NDE1NTgpLG49cyg5MTg3NzkpLG89cygxNTEyMSk7Y2xhc3MgYXtjb25zdHJ1Y3RvcihlLHQscyxpKXt0aGlzLl9wcmljZUF4aXNGb250U2l6ZT0xMSx0aGlzLl9wcmljZXM9W10sdGhpcy5fbGFiZWxXaWR0aD0wLHRoaXMuX3BpeGVsUmF0aW9QYXJhbXM9ZSx0aGlzLl9yZWNyZWF0ZUNhbnZhc0FuZENvbnRleHQoKDAsbi5zaXplKSh7d2lkdGg6MCxoZWlnaHQ6MH0pKSx0aGlzLnJlc2V0KHtmb250OnQsZm9udFNpemU6cyxiYWNrQ29sb3JzOml9KX1kZXN0cm95KCl7ZGVsZXRlIHRoaXMuX2NhbnZhcyxkZWxldGUgdGhpcy5fY2FjaGV9Y2FudmFzKCl7cmV0dXJuIHRoaXMuX2NhbnZhc31yZXNldChlKXt0aGlzLl9yZW5kZXJQYXJhbXM9ZSx0aGlzLl9wcmljZXM9W10sdGhpcy5fY2FjaGUuZm9udD1lLmZvbnRTaXplKyJweCAiK2UuZm9udCx0aGlzLl9sYWJlbFdpZHRoPVsiUCIsIlMxIiwiUjEiLCJTMiIsIlIyIiwiUzMiLCJSMyIsIlM0IiwiUjQiLCJTNSIsIlI1IiwiLyJdLnJlZHVjZSgoKGUsdCk9Pntjb25zdCBzPXRoaXMuX2NhY2hlLm1lYXN1cmVUZXh0KHQpLndpZHRoO3JldHVybiBNYXRoLm1heChzLGUpfSksMCl9cm93SGVpZ2h0KCl7cmV0dXJuIHRoaXMuX3ByaWNlQXhpc0ZvbnRTaXplKzR9bGFiZWxSZWN0QnlJbmRleChlKXtyZXR1cm57bGVmdDowLHRvcDpNYXRoLnJvdW5kKHRoaXMuX3RvcEJ5SW5kZXgoZSkpLHdpZHRoOk1hdGgucm91bmQodGhpcy5fbGFiZWxXaWR0aCs0KSxoZWlnaHQ6TWF0aC5yb3VuZCh0aGlzLl9yZW5kZXJQYXJhbXMuZm9udFNpemUrOCl9fXNldFByaWNlcyhlKXtsZXQgdD0hMTtjb25zdCBzPShlLHQpPT57Y29uc3Qgcz12b2lkIDA9PT1lLHI9dm9pZCAwPT09dDtyZXR1cm4oIXMmJiFyfHxzPT09cikmJigwLGkuZW5zdXJlRGVmaW5lZCkoZSkuZm9ybWF0dGVkPT09KDAsaS5lbnN1cmVEZWZpbmVkKSh0KS5mb3JtYXR0ZWR9O2lmKGUubGVuZ3RoIT09dGhpcy5fcHJpY2VzLmxlbmd0aCl0PSEwO2Vsc2UgZm9yKGxldCBpPTA7aTx0aGlzLl9wcmljZXMubGVuZ3RoO2krKylpZighcyh0aGlzLl9wcmljZXNbaV0sZVtpXSkpe3Q9ITA7YnJlYWt9aWYodCl7Y29uc3QgdD10aGlzLl9sYWJlbFdpZHRoKzYscz10aGlzLl9yZW5kZXJQYXJhbXMuZm9udFNpemUsaT1NYXRoLm1heChlLmxlbmd0aCwyMikqKHMrOCk7dGhpcy5fcmVjcmVhdGVDYW52YXNBbmRDb250ZXh0KCgwLG4uc2l6ZSkoe3dpZHRoOnQsaGVpZ2h0Oml9KSksdGhpcy5fcHJpY2VzPWUsdGhpcy5fY2FjaGUuc2F2ZSgpLCgwLG8uZHJhd1NjYWxlZCkodGhpcy5fY2FjaGUsdGhpcy5fcGl4ZWxSYXRpb1BhcmFtcy5ob3Jpem9udGFsUGl4ZWxSYXRpbyx0aGlzLl9waXhlbFJhdGlvUGFyYW1zLnZlcnRpY2FsUGl4ZWxSYXRpbywoKCk9Pnt0aGlzLl9jYWNoZS50cmFuc2xhdGUoLjUsLjUpLHRoaXMuX2NhY2hlLmZvbnQ9dGhpcy5fcmVuZGVyUGFyYW1zLmZvbnRTaXplKyJweCAiK3RoaXMuX3JlbmRlclBhcmFtcy5mb250LHRoaXMuX2NhY2hlLnRleHRCYXNlbGluZT0ibWlkZGxlIjtmb3IobGV0IGU9MDtlPHRoaXMuX3ByaWNlcy5sZW5ndGg7ZSsrKXtpZighdGhpcy5fcHJpY2VzW2VdKWNvbnRpbnVlO2NvbnN0IHQ9WyJQIiwiUzEiLCJSMSIsIlMyIiwiUjIiLCJTMyIsIlIzIiwiUzQiLCJSNCIsIlM1IiwiUjUiXVtlXTt0aGlzLl9jYWNoZS5maWxsU3R5bGU9dGhpcy5fcmVuZGVyUGFyYW1zLmJhY2tDb2xvcnNbZV0sdGhpcy5fY2FjaGUuZmlsbFRleHQodCwwLHRoaXMuX2NlbnRlckJ5SW5kZXgoZSkpLAp0aGlzLl9jYWNoZS5maWxsVGV4dCgiLyIsMCx0aGlzLl9jZW50ZXJCeUluZGV4KGUrMTEpKX19KSksdGhpcy5fY2FjaGUucmVzdG9yZSgpLHRoaXMuX3ByaWNlcz1lfX1fcmVjcmVhdGVDYW52YXNBbmRDb250ZXh0KGUpe3RoaXMuX2NhbnZhcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSx0aGlzLl9jYW52YXMud2lkdGg9ZS53aWR0aCp0aGlzLl9waXhlbFJhdGlvUGFyYW1zLmhvcml6b250YWxQaXhlbFJhdGlvLHRoaXMuX2NhbnZhcy5oZWlnaHQ9ZS5oZWlnaHQqdGhpcy5fcGl4ZWxSYXRpb1BhcmFtcy52ZXJ0aWNhbFBpeGVsUmF0aW8sdGhpcy5fY2FjaGU9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jYW52YXMuZ2V0Q29udGV4dCgiMmQiKSl9X2NlbnRlckJ5SW5kZXgoZSl7cmV0dXJuIE1hdGgucm91bmQoKGUrLjUpKih0aGlzLl9yZW5kZXJQYXJhbXMuZm9udFNpemUrOCkpfV90b3BCeUluZGV4KGUpe3JldHVybiBNYXRoLnJvdW5kKGUqKHRoaXMuX3JlbmRlclBhcmFtcy5mb250U2l6ZSs4KSl9fXZhciBsPXMoOTI2MTQ5KSx1PXMoNzE2NzgpLGM9cyg4NzM1NzMpO2NvbnN0IGg9WyJQIiwiUzEiLCJSMSIsIlMyIiwiUjIiLCJTMyIsIlIzIiwiUzQiLCJSNCIsIlM1IiwiUjUiXTtjbGFzcyBkIGV4dGVuZHMgdS5QcmljZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9zb3VyY2U9ZSx0aGlzLl9kYXRhPXQ7Y29uc3Qgcz10Lm5hbWU7dGhpcy5fY29tcGxldGVOYW1lPSJQIj09PXMudG9VcHBlckNhc2UoKT8iUCI6YFMke3NbMV19L1Ike3NbMV19YH1fdXBkYXRlUmVuZGVyZXJEYXRhKGUsdCxzKXtlLnZpc2libGU9ITEsdC52aXNpYmxlPSExO2NvbnN0IGk9dGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5jaGlsZHMoKTtpZighaS52aXNpYmxlLnZhbHVlKCkpcmV0dXJuO2NvbnN0IHI9dGhpcy5fY29tcGxldGVOYW1lLG49aS5sZXZlbHNTdHlsZS5jaGlsZHMoKS52aXNpYmlsaXR5LmNoaWxkcygpO2lmKCFuW3JdfHwhbltyXS52YWx1ZSgpKXJldHVybjtjb25zdCBvPXRoaXMuX3NvdXJjZS5tb2RlbCgpLGE9by50aW1lU2NhbGUoKSxsPXRoaXMuX3NvdXJjZS5wcmljZVNjYWxlKCk7aWYoYS5pc0VtcHR5KCl8fG51bGw9PT1hLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKXx8bnVsbCE9PWwmJmwuaXNFbXB0eSgpKXJldHVybjtjb25zdCB1PXRoaXMuX3NvdXJjZS5jdXN0b21EYXRhKCk7aWYoIXV8fCF1LnBpdm90cylyZXR1cm47Y29uc3QgZD10aGlzLl9zb3VyY2UucHJpY2VzVmlldygpLnByaWNlcygpW2guaW5kZXhPZih0aGlzLl9kYXRhLm5hbWUudG9VcHBlckNhc2UoKSldO2lmKCFkKXJldHVybjtjb25zdCBfPSgwLGMucmVzZXRUcmFuc3BhcmVuY3kpKGQuY29sb3IpO3MuYmFja2dyb3VuZD1fLHMudGV4dENvbG9yPXRoaXMuZ2VuZXJhdGVUZXh0Q29sb3Iocy5iYWNrZ3JvdW5kKSxzLmNvb3JkaW5hdGU9ZC5jb29yZGluYXRlO2NvbnN0IHA9dGhpcy5fc291cmNlLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCk7cC5zaG93U3R1ZHlMYXN0VmFsdWUudmFsdWUoKSYmKGUudGV4dD1kLmZvcm1hdHRlZCxlLnZpc2libGU9ITApLHAuc2hvd1N0dWR5UGxvdExhYmVscy52YWx1ZSgpJiYodC50ZXh0PXRoaXMuX3NvdXJjZS5wcmljZUxhYmVsVGV4dCh0aGlzLl9kYXRhLm5hbWUpLHQudmlzaWJsZT0hMCksZS5zZWxlY3RlZE1hcmtDb2xvcj1vLnNlbGVjdGlvbigpLmlzU2VsZWN0ZWQodGhpcy5fc291cmNlKT9fOnZvaWQgMH19dmFyIF89cygzNzY2NDUpLHA9cyg1MzY3MTApLHk9cyg5MzI2OTMpLG09cyg5MzYzMjYpO2NvbnN0IHY9WyJwIiwiczEiLCJyMSIsInMyIiwicjIiLCJzMyIsInIzIiwiczQiLCJyNCIsInM1IiwicjUiXSxmPXtQOiJQIixTMToiUzEvUjEiLFMyOiJTMi9SMiIsUzM6IlMzL1IzIixTNDoiUzQvUjQiLFM1OiJTNS9SNSIsUjE6IlMxL1IxIixSMjoiUzIvUjIiLFIzOiJTMy9SMyIsUjQ6IlM0L1I0IixSNToiUzUvUjUifTtjbGFzcyBTe2NvbnN0cnVjdG9yKGUpe3RoaXMuX3Zpc2libGVQaXZvdHM9bmV3IFNldCx0aGlzLl9pbnZpZGF0ZWQ9ITAsdGhpcy5fcHJpY2VzPVtdLHRoaXMuX3NvdXJjZT1lfXZpc2libGVQaXZvdHMoKXtyZXR1cm4gdGhpcy5fdmlzaWJsZVBpdm90c311cGRhdGUoKXt0aGlzLl9pbnZpZGF0ZWQ9ITB9cHJpY2VzKCl7cmV0dXJuIHRoaXMuX2ludmlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZpZGF0ZWQ9ITEpLHRoaXMuX3ByaWNlc31fdXBkYXRlSW1wbCgpe3RoaXMuX3Zpc2libGVQaXZvdHMuY2xlYXIoKTtjb25zdCBlPXRoaXMuX3NvdXJjZS5tb2RlbCgpLHQ9dGhpcy5fc291cmNlLnByaWNlU2NhbGUoKTtpZihudWxsPT09dClyZXR1cm47aWYoZS50aW1lU2NhbGUoKS5pc0VtcHR5KCl8fHQuaXNFbXB0eSgpKXJldHVybjtjb25zdCBzPWUudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1zKXJldHVybjtpZighdGhpcy5fc291cmNlLmN1c3RvbURhdGEoKXx8IXRoaXMuX3NvdXJjZS5jdXN0b21EYXRhKCkucGl2b3RzKXJldHVybjtjb25zdCBpPWUubWFpblNlcmllcygpLmJhcnMoKS5zZWFyY2gocy5sYXN0QmFyKCksbS5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCk7aWYobnVsbD09PWkpcmV0dXJuO2NvbnN0IHI9dGhpcy5fc291cmNlLmluZGV4ZXMoKTtpZighcilyZXR1cm47Y29uc3Qgbj1pLmluZGV4LG89dGhpcy5fc291cmNlLmN1c3RvbURhdGEoKS5waXZvdHMsYT10aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpLGw9dGhpcy5fc291cmNlLmZpcnN0VmFsdWUoKTtmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKyl7aWYoIW9bZV0pY29udGludWU7Y29uc3Qgcz1yW29bZV0uc3RhcnRJbmRleF0saT1yW29bZV0uZW5kSW5kZXhdLHU9YS5pbnB1dHMuY2hpbGRzKCkuc2hvd0hpc3RvcmljYWxQaXZvdHMudmFsdWUoKTtpZihzPD1uJiYoaT49bnx8dSkpe3RoaXMuX3Zpc2libGVQaXZvdHMuYWRkKG9bZV0pLHRoaXMuX3ByaWNlcz1bXTtmb3IobGV0IHM9MDtzPHYubGVuZ3RoO3MrKyl7CmNvbnN0IGk9dltzXSxyPW9bZV1baV07aWYodm9pZCAwPT09cnx8bnVsbD09PWwpY29udGludWU7Y29uc3Qgbj10LnByaWNlVG9Db29yZGluYXRlKHIsbCksdT1pLnRvVXBwZXJDYXNlKCksYz1mW3VdLGg9YS5sZXZlbHNTdHlsZS5jaGlsZHMoKS5jb2xvcnMuY2hpbGRzKClbY10udmFsdWUoKTt0aGlzLl9wcmljZXMucHVzaCh7Zm9ybWF0dGVkOnQuZm9ybWF0UHJpY2UocixsKSxwcmljZTpyLGNvb3JkaW5hdGU6bixjb2xvcjpofSl9fX19fXZhciBnPXMoNzM2NTMxKSxiPXMoMjYwNjkpLHc9cyg3ODkxOTApLEM9cyg2NTA0ODApLFA9cyg3NjMpLHg9cyg5MzQzMDUpO2NsYXNzIEQgZXh0ZW5kcyB4LkJpdG1hcENvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKGUsdCxzKXtzdXBlcigpLHRoaXMuX2RyYXdSZWN0cz1bXSx0aGlzLl9jYWNoZVByb3ZpZGVyPWUsdGhpcy5fcG9pbnQ9dCx0aGlzLl9sYWJlbD1zfWhpdFRlc3QoZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZHJhd1JlY3RzKWlmKGUueD49dC5sZWZ0JiZlLng8PXQubGVmdCt0LndpZHRoJiZlLnk+PXQudG9wJiZlLnk8PXQudG9wK3QuaGVpZ2h0KXJldHVybiBuZXcgUC5IaXRUZXN0UmVzdWx0KFAuSGl0VGFyZ2V0LlJlZ3VsYXIpO3JldHVybiBudWxsfV9kcmF3SW1wbChlKXtjb25zdCB0PXRoaXMuX2NhY2hlUHJvdmlkZXIoZSkse2hvcml6b250YWxQaXhlbFJhdGlvOnMsdmVydGljYWxQaXhlbFJhdGlvOmksY29udGV4dDpyfT1lO3RoaXMuX2RyYXdSZWN0cz1bXTtjb25zdCBuPWU9Pntjb25zdCBuPXQubGFiZWxSZWN0QnlJbmRleChlKSxvPXtsZWZ0Ok1hdGgucm91bmQodGhpcy5fcG9pbnQueC1uLndpZHRoK2EpLHRvcDpNYXRoLnJvdW5kKHRoaXMuX3BvaW50Lnktbi5oZWlnaHQvMiksd2lkdGg6bi53aWR0aCxoZWlnaHQ6bi5oZWlnaHR9O3JldHVybiByLmRyYXdJbWFnZSh0LmNhbnZhcygpLE1hdGgucm91bmQobi5sZWZ0KnMpLE1hdGgucm91bmQobi50b3AqaSksbi53aWR0aCpzLG4uaGVpZ2h0KmksTWF0aC5yb3VuZChvLmxlZnQqcyksTWF0aC5yb3VuZChvLnRvcCppKSxvLndpZHRoKnMsby5oZWlnaHQqaSksdGhpcy5fZHJhd1JlY3RzLnB1c2gobyksbi53aWR0aH0sbz10aGlzLl9sYWJlbC5zcGxpdCgiLyIpO2xldCBhPTA7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2NvbnN0IHQ9WyJQIiwiUzEiLCJSMSIsIlMyIiwiUjIiLCJTMyIsIlIzIiwiUzQiLCJSNCIsIlM1IiwiUjUiXS5pbmRleE9mKG9bZV0pO2U+MCYmKGErPW4odCsxMSkvMiksYSs9bih0KS8yfX19ZnVuY3Rpb24gSShlKXtyZXR1cm4iUCI9PT1lP2U6IlMiK2VbMV0rIi9SIitlWzFdfWZ1bmN0aW9uIFQoZSx0LHMpe2NvbnN0IGk9dDt2b2lkIDA9PT1lW2ldP2VbaV09e3RleHQ6cyxpZHM6W0kocyldfTooZVtpXS50ZXh0Kz0iLyIrcyxlW2ldLmlkcy5wdXNoKEkocykpKX1jbGFzcyBWe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fcGl2b3RzPVtdLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX3JlbmRlcmVyPW5ldyB3LkNvbXBvc2l0ZVJlbmRlcmVyLHRoaXMuX21vZGVsPWUsdGhpcy5fc291cmNlPXQsdGhpcy5fY2FjaGVQcm92aWRlcj10aGlzLl9zb3VyY2UuZ2V0Q2FjaGUuYmluZCh0aGlzLl9zb3VyY2UpfXVwZGF0ZShlKXt0aGlzLl9pbnZhbGlkYXRlZD0hMH1yZW5kZXJlcigpe3JldHVybiB0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSksdGhpcy5fcmVuZGVyZXJ9X3VwZGF0ZUltcGwoKXt0aGlzLl9yZW5kZXJlci5jbGVhcigpO2NvbnN0IGU9dGhpcy5fc291cmNlLm93bmVyU291cmNlKCk7aWYobnVsbD09PWUpcmV0dXJuO3RoaXMuX3NvdXJjZS5wcmljZXNWaWV3KCkucHJpY2VzKCksdGhpcy5fcGl2b3RzPVtdO2NvbnN0IHQ9dGhpcy5fc291cmNlLmN1c3RvbURhdGEoKTtpZighdHx8IXQucGl2b3RzKXJldHVybjtjb25zdCBzPXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7aWYoIXMudmlzaWJsZS52YWx1ZSgpKXJldHVybjtjb25zdCByPXQucGl2b3RzLG49dGhpcy5fc291cmNlLmluZGV4ZXMoKSxvPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLGE9dGhpcy5fc291cmNlLnByaWNlU2NhbGUoKSxsPWUuZmlyc3RWYWx1ZSgpO2lmKCFhfHxhLmlzRW1wdHkoKXx8by5pc0VtcHR5KCl8fCFyfHwhbnx8bnVsbD09PWwpcmV0dXJuO2NvbnN0IHU9KDAsaS5lbnN1cmVOb3ROdWxsKShvLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSksYz11LmZpcnN0QmFyKCksaD11Lmxhc3RCYXIoKTtmb3IobGV0IGU9MDtlPHIubGVuZ3RoO2UrKyl7aWYoIXJbZV0pY29udGludWU7Y29uc3QgdD1uW3JbZV0uc3RhcnRJbmRleF0saT1uW3JbZV0uZW5kSW5kZXhdO2lmKGk8Y3x8dD5oKWNvbnRpbnVlO2NvbnN0IHU9e30sZD1zLmxldmVsc1N0eWxlLmNoaWxkcygpLnZpc2liaWxpdHkuY2hpbGRzKCk7ZC5QLnZhbHVlKCkmJlQodSxyW2VdLnAsIlAiKSxkWyJTMS9SMSJdLnZhbHVlKCkmJihUKHUscltlXS5zMSwiUzEiKSxUKHUscltlXS5yMSwiUjEiKSksZFsiUzIvUjIiXS52YWx1ZSgpJiYoVCh1LHJbZV0uczIsIlMyIiksVCh1LHJbZV0ucjIsIlIyIikpLGRbIlMzL1IzIl0udmFsdWUoKSYmKFQodSxyW2VdLnMzLCJTMyIpLFQodSxyW2VdLnIzLCJSMyIpKSxkWyJTNC9SNCJdLnZhbHVlKCkmJihUKHUscltlXS5zNCwiUzQiKSxUKHUscltlXS5yNCwiUjQiKSksZFsiUzUvUjUiXS52YWx1ZSgpJiYoVCh1LHJbZV0uczUsIlM1IiksVCh1LHJbZV0ucjUsIlI1IikpO2NvbnN0IF89by5pbmRleFRvQ29vcmRpbmF0ZSh0KSxwPW8uaW5kZXhUb0Nvb3JkaW5hdGUoaSk7Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmtleXModSkpe2NvbnN0IHM9cGFyc2VGbG9hdCh0KSxpPWEucHJpY2VUb0Nvb3JkaW5hdGUocyxsKTt0aGlzLl9waXZvdHMucHVzaCh7eDE6Xyx4MjpwLHk6aSxsYWJlbDp1W3RdLnRleHQsbGFiZWxJZHM6dVt0XS5pZHMsc3JjOnJbZV19KX19CmNvbnN0IGQ9cy5sZXZlbHNTdHlsZS5jaGlsZHMoKS5jb2xvcnMsXz1zLmxldmVsc1N0eWxlLmNoaWxkcygpLndpZHRocyxwPXRoaXMuX3NvdXJjZS52aXNpYmxlUGl2b3RzKCk7Zm9yKGxldCBlPTA7ZTx0aGlzLl9waXZvdHMubGVuZ3RoO2UrKyl7Y29uc3QgdD10aGlzLl9waXZvdHNbZV07aWYoIXAuaGFzKHQuc3JjKSljb250aW51ZTtjb25zdCBpPXtjb2xvcjpkLmNoaWxkcygpW3QubGFiZWxJZHNbMF1dLnZhbHVlKCksbGluZXdpZHRoOl8uY2hpbGRzKClbdC5sYWJlbElkc1swXV0udmFsdWUoKSxsaW5lc3R5bGU6Yi5MSU5FU1RZTEVfU09MSUQseTp0LnksbGVmdDp0LngxLHJpZ2h0OnQueDJ9LHI9bmV3IEMuSG9yaXpvbnRhbExpbmVSZW5kZXJlcjtyLnNldERhdGEoaSksci5zZXRIaXRUZXN0KG5ldyBQLkhpdFRlc3RSZXN1bHQoUC5IaXRUYXJnZXQuUmVndWxhcikpLHRoaXMuX3JlbmRlcmVyLmFwcGVuZChyKSxzLmxldmVsc1N0eWxlLmNoaWxkcygpLnNob3dMYWJlbHMudmFsdWUoKSYmdGhpcy5fcmVuZGVyZXIuYXBwZW5kKG5ldyBEKHRoaXMuX2NhY2hlUHJvdmlkZXIsbmV3IGcuUG9pbnQodC54MSx0LnkpLHQubGFiZWwpKX19fXZhciBSPXMoNjM1NTA5KTtjbGFzcyBBIGV4dGVuZHMgci5Ob25TZXJpZXNTdHVkeXtjb25zdHJ1Y3RvcihlLHQscyxpLHIsbil7c3VwZXIoZSx0LHMsaSxyLG4pLHRoaXMuX2NhY2hlPW51bGwsdGhpcy5fY2FjaGVkUGl4ZWxSYXRpb1BhcmFtcz1udWxsO2NvbnN0IG89WyJQIiwiUzEvUjEiLCJTMi9SMiIsIlMzL1IzIiwiUzQvUjQiLCJTNS9SNSJdLGE9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkubGV2ZWxzU3R5bGUuY2hpbGRzKCkudmlzaWJpbGl0eTtmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKylhLmNoaWxkcygpW29bZV1dLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5wcm9jZXNzSGliZXJuYXRlKCkpKX1wcmljZXNWaWV3KCl7cmV0dXJuIHRoaXMuX3ByaWNlc1ZpZXd9aW5kZXhlcygpe3JldHVybiB0aGlzLl9pbmRleGVzfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc31nZXRDYWNoZShlKXtpZihudWxsPT09dGhpcy5fY2FjaGV8fG51bGw9PXRoaXMuX2NhY2hlZFBpeGVsUmF0aW9QYXJhbXN8fCh0PWUscz10aGlzLl9jYWNoZWRQaXhlbFJhdGlvUGFyYW1zLHQuaG9yaXpvbnRhbFBpeGVsUmF0aW8hPT1zLmhvcml6b250YWxQaXhlbFJhdGlvfHx0LnZlcnRpY2FsUGl4ZWxSYXRpbyE9PXMudmVydGljYWxQaXhlbFJhdGlvKSl7dGhpcy5fY2FjaGUmJnRoaXMuX2NhY2hlLmRlc3Ryb3koKTtjb25zdCB0PXRoaXMuX2dldEFjdHVhbENhY2hlUGFyYW1zKCkscz17aG9yaXpvbnRhbFBpeGVsUmF0aW86ZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyx2ZXJ0aWNhbFBpeGVsUmF0aW86ZS52ZXJ0aWNhbFBpeGVsUmF0aW99O3RoaXMuX2NhY2hlPW5ldyBhKHMsdC5mb250LHQuZm9udFNpemUsdC5iYWNrQ29sb3JzKSx0aGlzLl9jYWNoZS5zZXRQcmljZXMoKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcmljZXNWaWV3KS5wcmljZXMoKSksdGhpcy5fY2FjaGVkUGl4ZWxSYXRpb1BhcmFtcz1zLHRoaXMuX2NhY2hlLnJlc2V0KHQpfXZhciB0LHM7cmV0dXJuIHRoaXMuX2NhY2hlfXByaWNlTGFiZWxUZXh0KGUpe3JldHVybiB0aGlzLl9tZXRhSW5mby52YWx1ZSgpLnNob3J0RGVzY3JpcHRpb24rIjoiK2UudG9VcHBlckNhc2UoKX11cGRhdGVBbGxWaWV3cyhlKXtzdXBlci51cGRhdGVBbGxWaWV3cyhlKSx0aGlzLl9wcmljZXNWaWV3LnVwZGF0ZSgpfXZpc2libGVQaXZvdHMoKXtyZXR1cm4gdGhpcy5fcHJpY2VzVmlldy52aXNpYmxlUGl2b3RzKCl9aXNWaXNpYmxlKCl7aWYoIXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnZpc2libGUudmFsdWUoKXx8IXRoaXMuaXNBY3R1YWxJbnRlcnZhbCgpKXJldHVybiExO2NvbnN0IGU9WyJQIiwiUzEvUjEiLCJTMi9SMiIsIlMzL1IzIiwiUzQvUjQiLCJTNS9SNSJdLHQ9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkubGV2ZWxzU3R5bGUuY2hpbGRzKCkudmlzaWJpbGl0eTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKylpZih0LmNoaWxkcygpW2Vbc11dLnZhbHVlKCkpcmV0dXJuITA7cmV0dXJuITF9c3RvcCgpe3N1cGVyLnN0b3AoKSx0aGlzLl9jYWNoZSYmKHRoaXMuX2NhY2hlLmRlc3Ryb3koKSx0aGlzLl9jYWNoZT1udWxsKX1wcmljZVJhbmdlKGUpe2lmKGUudGFyZ2V0UHJpY2VTY2FsZSE9PXRoaXMucHJpY2VTY2FsZSgpKXJldHVybiBudWxsO2NvbnN0IHQ9dGhpcy5jdXN0b21EYXRhKCk/LnBpdm90cztpZighdHx8IXRoaXMuX2luZGV4ZXMpcmV0dXJuIG51bGw7aWYoIXRoaXMucHJpY2VTY2FsZSgpKXJldHVybiBudWxsO2NvbnN0IHM9dCxpPXRoaXMuX2luZGV4ZXMse3N0YXJ0VGltZVBvaW50OnIsZW5kVGltZVBvaW50Om59PWU7bGV0IG89bnVsbDtmb3IobGV0IGU9MDtlPHMubGVuZ3RoO2UrKyl7aWYoIXNbZV0pY29udGludWU7Y29uc3QgdD1pW3NbZV0uc3RhcnRJbmRleF07aWYoaVtzW2VdLmVuZEluZGV4XTxyfHx0Pm4pY29udGludWU7Y29uc3QgYT1bXSxsPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmxldmVsc1N0eWxlLmNoaWxkcygpLnZpc2liaWxpdHkuY2hpbGRzKCk7bC5QLnZhbHVlKCkmJmEucHVzaChzW2VdLnApLGxbIlMxL1IxIl0udmFsdWUoKSYmYS5wdXNoKHNbZV0uczEsc1tlXS5yMSksbFsiUzIvUjIiXS52YWx1ZSgpJiZhLnB1c2goc1tlXS5zMixzW2VdLnIyKSxsWyJTMy9SMyJdLnZhbHVlKCkmJmEucHVzaChzW2VdLnMzLHNbZV0ucjMpLGxbIlM0L1I0Il0udmFsdWUoKSYmYS5wdXNoKHNbZV0uczQsc1tlXS5yNCksbFsiUzUvUjUiXS52YWx1ZSgpJiZhLnB1c2goc1tlXS5zNSxzW2VdLnI1KTtmb3IobGV0IGU9MDtlPGEubGVuZ3RoO2UrKylhW2VdJiYobnVsbD09PW8/bz1uZXcgUi5QcmljZVJhbmdlKGFbZV0sYVtlXSk6by5hcHBseShhW2VdLGFbZV0pKX1jb25zdCBhPXRoaXMucHJpY2VTY2FsZSgpCjtyZXR1cm4gYSYmYS5pc0xvZygpJiZvP25ldyBSLlByaWNlUmFuZ2UoYS5wcmljZVRvTG9naWNhbChvLm1pblZhbHVlKCkpLGEucHJpY2VUb0xvZ2ljYWwoby5tYXhWYWx1ZSgpKSk6b31fY3JlYXRlVmlld3MoKXt0aGlzLl9jYWNoZSYmKHRoaXMuX2NhY2hlLmRlc3Ryb3koKSx0aGlzLl9jYWNoZT1udWxsKSx0aGlzLl9wcmljZUF4aXNWaWV3cz1bXTtjb25zdCBlPVsiUCIsIlMxIiwiUjEiLCJTMiIsIlIyIiwiUzMiLCJSMyIsIlM0IiwiUjQiLCJTNSIsIlI1Il07dGhpcy5fcGFuZVZpZXdzLmxlbmd0aD0wLHRoaXMuX2xhYmVsUGFuZVZpZXdzPVtdO2NvbnN0IHQ9bmV3IFYodGhpcy5fbW9kZWwsdGhpcyk7dGhpcy5fcGFuZVZpZXdzLnB1c2godCk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IHM9bmV3IGQodGhpcyx7bmFtZTplW3RdfSk7dGhpcy5fcHJpY2VBeGlzVmlld3MucHVzaChzKSx0aGlzLl9sYWJlbFBhbmVWaWV3cy5wdXNoKG5ldyBfLlBhbmVQcmljZUF4aXNWaWV3KHMsdGhpcyx0aGlzLl9tb2RlbCkpfXRoaXMuX2RhdGFXaW5kb3dWaWV3fHwodGhpcy5fZGF0YVdpbmRvd1ZpZXc9bmV3IHAuU3R1ZHlEYXRhV2luZG93Vmlldyh0aGlzLHRoaXMuX21vZGVsKSksdGhpcy5fc3RhdHVzVmlld3x8KHRoaXMuX3N0YXR1c1ZpZXc9bmV3IHkuU3R1ZHlTdGF0dXNWaWV3KHRoaXMpKSx0aGlzLl9sZWdlbmRWaWV3PW51bGwsdGhpcy5fcHJpY2VzVmlldz1uZXcgUyh0aGlzKX1fcG9zdFByb2Nlc3NHcmFwaGljcygpe31fZ2V0QWN0dWFsQ2FjaGVQYXJhbXMoKXtjb25zdCBlPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLHQ9ZS5sZXZlbHNTdHlsZS5jaGlsZHMoKS5jb2xvcnMuY2hpbGRzKCk7cmV0dXJue2ZvbnQ6bC5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLGZvbnRTaXplOmUuZm9udHNpemUudmFsdWUoKSxiYWNrQ29sb3JzOlt0LlAudmFsdWUoKSx0WyJTMS9SMSJdLnZhbHVlKCksdFsiUzEvUjEiXS52YWx1ZSgpLHRbIlMyL1IyIl0udmFsdWUoKSx0WyJTMi9SMiJdLnZhbHVlKCksdFsiUzMvUjMiXS52YWx1ZSgpLHRbIlMzL1IzIl0udmFsdWUoKSx0WyJTNC9SNCJdLnZhbHVlKCksdFsiUzQvUjQiXS52YWx1ZSgpLHRbIlM1L1I1Il0udmFsdWUoKSx0WyJTNS9SNSJdLnZhbHVlKCldfX19fSwzNjM2MTgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7c3R1ZHlfRVNEJFRWX1JPTExEQVRFUzooKT0+a30pO3ZhciBpPXMoNjMxNTIyKSxyPXMoMjAzNjgxKSxuPXMoNzQwMTYyKSxvPXMoNTA1NTYpLGE9cygxODUyNzEpLGw9cyg1NTQ2NTQpLHU9cyg5MjY5OTUpLGM9cyg4ODcwMjkpLGg9cygyNjA2OSksZD1zKDU5MDg5NCksXz1zKDkyNjE0OSkscD1zKDg3MzU3MykseT1zKDUzNzQ4NyksbT1zKDgyMTk5MSk7Y29uc3Qgdj1bYS50KG51bGwsdm9pZCAwLHMoOTQ0Nzg0KSksYS50KG51bGwsdm9pZCAwLHMoMzM2MzApKSxhLnQobnVsbCx2b2lkIDAscyg2MzU2NDMpKSxhLnQobnVsbCx2b2lkIDAscygxNTU4NTIpKSxhLnQobnVsbCx2b2lkIDAscyg4NDk5NzMpKSxhLnQobnVsbCx2b2lkIDAscyg0MDI0ODIpKSxhLnQobnVsbCx2b2lkIDAscyg5MjQ2ODkpKSxhLnQobnVsbCx2b2lkIDAscyg5NTk3NzIpKSxhLnQobnVsbCx2b2lkIDAscyg0MTUyNjEpKSxhLnQobnVsbCx2b2lkIDAscyg4MTQ1MDEpKSxhLnQobnVsbCx2b2lkIDAscyg5NzE1NjEpKSxhLnQobnVsbCx2b2lkIDAscygzMDk2NjYpKV07dmFyIGY9cyg3NjMpLFM9cyg2MzcxMDQpO2NvbnN0IGc9bmV3IFBhdGgyRCgibTE4LjA2IDEyLjAzLjUzLS41My0uNTMtLjUzLTMuNS0zLjUtMS4wNiAxLjA2IDIuMjIgMi4yMmgtNS4zOEw2LjA2IDYuNDcgNSA3LjUzbDQuNSA0LjUuMjIuMjJoNmwtMi4yMiAyLjIyIDEuMDYgMS4wNnptLTEwLjU2LjQ0LTMgMyAxLjA2IDEuMDYgMy0zeiIpO2NsYXNzIGIgZXh0ZW5kcyBTLkxvbGxpcG9wUmVuZGVyZXJ7X2RyYXdMYWJlbChlKXsoMCxTLmRyYXdMYWJlbCkoZSxnLHRoaXMuX21hdHJpeCx7ZmlsbENvbG9yOnRoaXMuX2RhdGEuc3R5bGUuaWNvbkNvbG9yfSl9fXZhciB3PXMoNzUyNzIpO2NvbnN0IEM9YS50KG51bGwsdm9pZCAwLHMoMjE5MTA0KSksUD1hLnQobnVsbCx2b2lkIDAscyg2MTY0OTQpKSx4PWEudChudWxsLHZvaWQgMCxzKDM4Mzc1MSkpLEQ9YS50KG51bGwsdm9pZCAwLHMoNTA3NzI5KSksST17ZGFyazp7YmFja2dyb3VuZDooMCxvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTkwMCIpLGZvcmVncm91bmQ6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWRlZXAtYmx1ZS1hMjAwIiksbGlua0NvbG9yOigwLG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTUwMCIpfSxsaWdodDp7YmFja2dyb3VuZDooMCxvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3Itd2hpdGUiKSxmb3JlZ3JvdW5kOigwLG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1kZWVwLWJsdWUtYTQwMCIpLGxpbmtDb2xvcjooMCxvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS01MDAiKX19O3ZhciBUOyFmdW5jdGlvbihlKXtlW2UuSG92ZXJlZENvbG9yQWxwaGE9LjE1XT0iSG92ZXJlZENvbG9yQWxwaGEiLGVbZS5PbmVJdGVtT2Zmc2V0PTNdPSJPbmVJdGVtT2Zmc2V0IixlW2UuTWF4SXRlbXNUb0V4dHJhY3Q9NF09Ik1heEl0ZW1zVG9FeHRyYWN0In0oVHx8KFQ9e30pKTtjb25zdCBWPXtiYXJMaW5lOntsaW5lU3R5bGU6aC5MSU5FU1RZTEVfREFTSEVELGxpbmVXaWR0aDoxLHN0cm9rZVN0eWxlOiIifSxsb2xsaXBvcDp7d2lkdGg6MjMsaGVpZ2h0OjIzLGJvdHRvbToxLGxpbmVXaWR0aDoxLjUsc3Ryb2tlU3R5bGU6IiIsYmFja2dyb3VuZENvbG9yOiIiLGZpbGxDaXJjbGU6ITAsZmlsbFN0eWxlOiIiLHRleHQ6e2xhYmVsOiIiLHN0cm9rZVN0eWxlOiIiLGZvbnQ6IiJ9fSxpY29uQ29sb3I6IiIsYmFja2dyb3VuZENvbG9yOiIiLG91dGVyQm9yZGVyQ29sb3I6IiJ9LFI9WyJGIiwiRyIsIkgiLCJKIiwiSyIsIk0iLCJOIiwiUSIsIlUiLCJWIiwiWCIsIloiXTtmdW5jdGlvbiBBKGUsdCl7Y29uc3Qgcz1NYXRoLmZsb29yKHQvMTAwKSxpPXQtMTAwKnMtMQo7cmV0dXJue25hbWU6YCR7ZX0ke1JbaV19JHtzfWAsZXhwaXJhdGlvbkRhdGU6YCR7dltpXX0gJHtzfWB9fWNsYXNzIEwgZXh0ZW5kcyBjLkxvbGxpcG9wU3R1ZHlQYW5lVmlld0Jhc2V7ZXh0cmFEYXRhKGUpe2NvbnN0IHQ9W107Zm9yKGxldCBzPTA7czw0Oysrcyl7Y29uc3QgaT0zKnMrMTtpZighQm9vbGVhbihlW2ldKSlicmVhazt0LnB1c2goe2N1cnJlbnRDb250cmFjdENvZGU6ZVtpXSxuZXh0Q29udHJhY3RDb2RlOmVbaSsxXSxzd2l0Y2hEYXRlOmVbaSsyXX0pfXJldHVybntpdGVtczp0fX1fY3JlYXRlUmVuZGVyZXJGb3JMb2xsaXBvcChlLHQpe3JldHVybiBuZXcgYihlLG5ldyBmLkhpdFRlc3RSZXN1bHQoZi5IaXRUYXJnZXQuQ3VzdG9tLHQpLHRoaXMuX3RleHRXaWR0aENhY2hlKX1hc3luYyBfY3JlYXRlVG9vbHRpcENvbnRlbnQoZSl7cmV0dXJuIGUuaXRlbXMubWFwKChlPT57Y29uc3QgdD1be25hbWU6RCx2YWx1ZTooMCx5LmZvcm1hdFlZWVlNTUREKSh0aGlzLl9tb2RlbC5kYXRlRm9ybWF0dGVyKCksZS5zd2l0Y2hEYXRlKX1dLGk9dGhpcy5fbW9kZWwuZGFyaygpLnZhbHVlKCk/SS5kYXJrOkkubGlnaHQscj10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCksbj10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpO2lmKG51bGwhPT1uJiZ2b2lkIDAhPT1uLnJvb3Qpe2NvbnN0IHM9bi5saXN0ZWRfZXhjaGFuZ2Usbz17Y29sb3I6aS5saW5rQ29sb3IsY3Vyc29yOiJwb2ludGVyIn0sYT1BKG4ucm9vdCxlLmN1cnJlbnRDb250cmFjdENvZGUpO3QucHVzaCh7bmFtZTpQLHZhbHVlOmEubmFtZSx2YWx1ZVN0eWxlOm8sb25WYWx1ZUNsaWNrOigpPT50aGlzLl9tb2RlbC51bmRvTW9kZWwoKS5zZXRTeW1ib2wocixgJHtzfToke2EubmFtZX1gKX0pLHQucHVzaCh7bmFtZToiICIsdmFsdWU6YS5leHBpcmF0aW9uRGF0ZX0pO2NvbnN0IGw9QShuLnJvb3QsZS5uZXh0Q29udHJhY3RDb2RlKTt0LnB1c2goe25hbWU6eCx2YWx1ZTpsLm5hbWUsdmFsdWVTdHlsZTpvLG9uVmFsdWVDbGljazooKT0+dGhpcy5fbW9kZWwudW5kb01vZGVsKCkuc2V0U3ltYm9sKHIsYCR7c306JHtsLm5hbWV9YCl9KSx0LnB1c2goe25hbWU6IiAiLHZhbHVlOmwuZXhwaXJhdGlvbkRhdGV9KX1yZXR1cm57dGl0bGU6QyxpbmZvcm1hdGlvbkJ1dHRvblByb3BzOnthcmlhTGFiZWw6YS50KG51bGwsdm9pZCAwLHMoODY5ODY3KSksaWNvbjoicXVlc3Rpb24iLG9uQ2xpY2s6KCk9PigwLHUuc2hvd1N1cHBvcnREaWFsb2cpKHtzb2x1dGlvbklkOmwuc29sdXRpb25JZHMuU1dJVENISU5HX0NPTlRJTlVPVVNfRlVUVVJFU19DT05UUkFDVFN9KX0saWNvbjp3LHN0eWxlOntjb2xvcjppLmZvcmVncm91bmR9LG1haW46e3R5cGU6ImNvbW1vbiIsdGl0bGU6dH19fSkpfV9sb2xsaXBvcElkKGUpe3JldHVybiBlWzNdLnRvU3RyaW5nKCl9X3Nob3dCYXJMaW5lKGUpe3JldHVybiBzdXBlci5fc2hvd0JhckxpbmUoZSl8fHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvd0NvbnRpbnVvdXNDb250cmFjdFN3aXRjaGVzQnJlYWtzLnZhbHVlKCl9X3JlY3JlYXRlU3R5bGVzKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKT9JLmRhcms6SS5saWdodCx0PWUuZm9yZWdyb3VuZCxzPWUuYmFja2dyb3VuZCxpPSgwLG4uZGVmYXVsdCkoKDAsci5kZWZhdWx0KShWKSx7bG9sbGlwb3A6e3RleHQ6e2ZvbnQ6KDAsZC5tYWtlRm9udCkoMTIsXy5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLCJib2xkIil9fX0pO2kuaWNvbkNvbG9yPXQsaS5sb2xsaXBvcC5zdHJva2VTdHlsZT10LGkubG9sbGlwb3AuYmFja2dyb3VuZENvbG9yPXMsaS5iYXJMaW5lLnN0cm9rZVN0eWxlPXQsdGhpcy5fZGVmYXVsdFN0eWxlPWk7e2NvbnN0IGU9KDAsci5kZWZhdWx0KShpKTtlLmxvbGxpcG9wLmZpbGxTdHlsZT0oMCxtLmJsZW5kQ29sb3JzKShzLCgwLHAuYXBwbHlBbHBoYSkodCwuMTUpKSx0aGlzLl9ob3ZlcmVkU3R5bGU9ZX17Y29uc3QgZT0oMCxyLmRlZmF1bHQpKGkpO2UubG9sbGlwb3AuZmlsbFN0eWxlPXQsZS5pY29uQ29sb3I9cyx0aGlzLl9hY3RpdmVTdHlsZT1lfXRoaXMuX3N0eWxlc0NhY2hlPW51bGx9fXZhciBFPXMoOTAwNzk3KSxNPXMoNjAxODQxKTtjbGFzcyBrIGV4dGVuZHMgaS5Mb2xsaXBvcFN0dWR5QmFzZXtpZCgpe3JldHVybiJFU0QkVFZfUk9MTERBVEVTIn16b3JkZXIoKXtyZXR1cm4gRS5zb3J0U291cmNlc1ByZU9yZGVyZWQuUm9sbERhdGVzfWlzVmFsaWQoZSl7Y29uc3QgdD1lWzRdO3JldHVybigwLE0uaXNOdW1iZXIpKHQpfV9jcmVhdGVWaWV3cygpe3RoaXMuX3BhbmVWaWV3PW5ldyBMKHRoaXMuX21vZGVsLHRoaXMpLHN1cGVyLl9jcmVhdGVWaWV3cygpfV9leHRlcm5hbFZpc2liaWxpdHlQcm9wZXJ0eSgpe3JldHVybiB0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNob3dDb250aW51b3VzQ29udHJhY3RTd2l0Y2hlc319fSw1NDc1NzIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UmVwbGF5U3R1ZHlTdHJhdGVneTooKT0+b30pO3ZhciBpPXMoODc0MzY5KSxyPXMoODY3ODMxKSxuPXMoNzY4NzYwKTtjbGFzcyBvIGV4dGVuZHMgaS5TdHVkeVN0cmF0ZWd5e2NvbnN0cnVjdG9yKGUsdCxzLGkscixuLG8pe3QubWVyZ2Uoe3N0cmF0ZWd5OntvcmRlcnM6e3Nob3dMYWJlbHM6ITAsc2hvd1F0eTohMCx2aXNpYmxlOiEwfX19KSxzdXBlcihlLHQscyxpLHIsbixvLCEwKSx0aGlzLl9ub3RpZnlTdHVkeVR1cm5hcm91bmRDb3VudGVyPTAsdGhpcy5fbm90aWZpY2F0aW9uc0luUHJvZ3Jlc3M9bmV3IE1hcCx0aGlzLl9yZXBsYXlTdHVkeVByb3BlcnRpZXM9bnVsbCx0aGlzLl9hc3NpZ25SZWNvdmVyeVN0YXRlPSgpPT57Y29uc3QgZT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHM7aWYoInJlY292ZXJ5U3RhdGUiaW4gZS5jaGlsZHMoKSl7Y29uc3QgdD10aGlzLl9yZWNvdmVyeVN0YXRlKCk7ZS5jaGlsZHMoKS5yZWNvdmVyeVN0YXRlLnNldFZhbHVlKEpTT04uc3RyaW5naWZ5KHQpKX19Cjtjb25zdCBhPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cztlLm1haW5TZXJpZXMoKS5vbkludGVydmFsQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2Fzc2lnblJlY292ZXJ5U3RhdGUpLGUucmVwbGF5U3R1ZHlTdHJhdGVneVByb3BlcnRpZXMoKS50aGVuKChlPT57dGhpcy5faXNEZXN0cm95ZWR8fCh0aGlzLl9yZXBsYXlTdHVkeVByb3BlcnRpZXM9ZSx0aGlzLl9yZXBsYXlTdHVkeVByb3BlcnRpZXMuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLm1lcmdlQW5kRmlyZShlLnN0YXRlKCkpfSkpLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5tZXJnZUFuZEZpcmUoZS5zdGF0ZSgpKSl9KSksYS5zdWJzY3JpYmUodGhpcywoKGUsdCk9PnsicmVjb3ZlcnlTdGF0ZSIhPT10JiZ0aGlzLl9hc3NpZ25SZWNvdmVyeVN0YXRlKCl9KSl9ZGVzdHJveSgpe3RoaXMuX25vdGlmaWNhdGlvbnNJblByb2dyZXNzLmZvckVhY2goKGU9PntlLnJlamVjdCgiVGhlIHN0dWR5IGhhcyBiZWVuIGRlc3Ryb3llZCIpfSkpLHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5vbkludGVydmFsQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3JlcGxheVN0dWR5UHJvcGVydGllcz8udW5zdWJzY3JpYmVBbGwodGhpcyksc3VwZXIuZGVzdHJveSgpfWlzSGliZXJuYXRpb25BbGxvd2VkKCl7cmV0dXJuITF9Y2xlYXJSZWNvdmVyeVN0YXRlQW5kUmVwb3J0KCl7Y29uc3QgZT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHM7InJlY292ZXJ5U3RhdGUiaW4gZS5jaGlsZHMoKSYmZS5jaGlsZHMoKS5yZWNvdmVyeVN0YXRlLnNldFZhbHVlKCJ7fSIpLHRoaXMuX3JlcG9ydERhdGE9bnVsbH1yZWNvdmVyeVN0YXRlKCl7Y29uc3QgZT1KU09OLnN0cmluZ2lmeSh0aGlzLl9yZWNvdmVyeVN0YXRlKCkpO3JldHVybiJ7fSI9PT1lP251bGw6ZX1yZXN0b3JlUmVjb3ZlcnlTdGF0ZShlKXtjb25zdCB0PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0czsicmVjb3ZlcnlTdGF0ZSJpbiB0LmNoaWxkcygpJiZ0LmNoaWxkcygpLnJlY292ZXJ5U3RhdGUuc2V0VmFsdWUoZSl9Y2xlYXJEYXRhKCl7dGhpcy5fYXNzaWduUmVjb3ZlcnlTdGF0ZSgpLHN1cGVyLmNsZWFyRGF0YSgpfXNob3dJbk9iamVjdFRyZWUoKXtyZXR1cm4hMX1zdGF0dXNWaWV3KCl7cmV0dXJuIG51bGx9YXN5bmMgbm90aWZ5U3R1ZHkoZSl7YXdhaXQgdGhpcy5fd2FpdEZvckNvbXBsZXRlKCk7Y29uc3QgdD0ibm90aWZ5XyIrICsrdGhpcy5fbm90aWZ5U3R1ZHlUdXJuYXJvdW5kQ291bnRlcixzPSgwLG4uY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpO3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25zSW5Qcm9ncmVzcy5zZXQodCxzKSx0aGlzLl9zZW5kTm90aWZ5Q29tbWFuZCh0LGUpLHMucHJvbWlzZX1yZW1vdmVCeVJlbW92ZUFsbFN0dWRpZXMoKXtyZXR1cm4hMX1pc1JlbW92ZWRCeVN0dWR5VGVtcGxhdGVzKCl7cmV0dXJuITF9aXNTYXZlZEluQ2hhcnQoZSl7cmV0dXJuITF9aXNTYXZlZEluU3R1ZHlUZW1wbGF0ZXMoKXtyZXR1cm4hMX1fb25EYXRhKGUpe2lmKCJub3RpZnlfc3R1ZHlfb2siPT09ZS5tZXRob2Qpe2NvbnN0IHQ9ZS5wYXJhbXNbMV07dGhpcy5fbm90aWZpY2F0aW9uc0luUHJvZ3Jlc3MuZ2V0KHQpPy5yZXNvbHZlKCksdGhpcy5fbm90aWZpY2F0aW9uc0luUHJvZ3Jlc3MuZGVsZXRlKHQpfWlmKCJub3RpZnlfc3R1ZHlfZXJyb3IiPT09ZS5tZXRob2Qpe2NvbnN0IHQ9ZS5wYXJhbXNbMV0scz1lLnBhcmFtc1syXTt0aGlzLl9ub3RpZmljYXRpb25zSW5Qcm9ncmVzcy5nZXQodCk/LnJlamVjdChzKSx0aGlzLl9ub3RpZmljYXRpb25zSW5Qcm9ncmVzcy5kZWxldGUodCl9c3VwZXIuX29uRGF0YShlKX1hc3luYyBfd2FpdEZvckNvbXBsZXRlKCl7aWYodGhpcy5zdGF0dXMoKS50eXBlIT09ci5TdHVkeVN0YXR1c1R5cGUuQ29tcGxldGVkKXJldHVybiBuZXcgUHJvbWlzZSgoKGUsdCk9Pntjb25zdCBzPWk9PntpLnR5cGU9PT1yLlN0dWR5U3RhdHVzVHlwZS5Db21wbGV0ZWQ/KHRoaXMub25TdGF0dXNDaGFuZ2VkKCkudW5zdWJzY3JpYmUobnVsbCxzKSxlKCkpOmkudHlwZT09PXIuU3R1ZHlTdGF0dXNUeXBlLkVycm9yJiYodGhpcy5vblN0YXR1c0NoYW5nZWQoKS51bnN1YnNjcmliZShudWxsLHMpLHQoaS5lcnJvckRlc2NyaXB0aW9uKSl9O3RoaXMub25TdGF0dXNDaGFuZ2VkKCkuc3Vic2NyaWJlKG51bGwscyl9KSl9X3JlY292ZXJ5U3RhdGUoKXtjb25zdCBlPXRoaXMucmVwb3J0RGF0YSgpO2lmKCFlKXtjb25zdCBlPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5yZWNvdmVyeVN0YXRlLnZhbHVlKCk7dHJ5e3JldHVybiBKU09OLnBhcnNlKGUpfWNhdGNoe3JldHVybnt9fX1jb25zdHthY3RpdmVPcmRlcnM6dCxmaWxsZWRPcmRlcnM6cyxvcmRlcnNCcmFja2V0czppfT1lO3JldHVybnthY3RpdmVPcmRlcnM6dCxmaWxsZWRPcmRlcnM6cyxvcmRlcnNCcmFja2V0czppfX19fSwyMjI5MChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtzdHVkeV9TY3JpcHRXaXRoRGF0YU9mZnNldDooKT0+bH0pO3ZhciBpPXMoMTM4NjM4KSxyPXMoNjAxODQxKSxuPXMoODU3MTUxKSxvPXMoMTk3MjcyKSxhPXMoNTA0NDMxKTtjbGFzcyBsIGV4dGVuZHMgby5TdHVkeXtjb25zdHJ1Y3RvcihlLHQscyxpLHIsbyl7c3VwZXIoZSx0LHMsaSxyLG8pLHRoaXMuX3VuZGVybHlpbmdEYXRhPW5ldyBuLlBsb3RMaXN0KCgwLGEuc3R1ZHlQbG90RnVuY3Rpb25NYXApKGkpLGEuc3R1ZHlFbXB0eVBsb3RWYWx1ZVByZWRpY2F0ZSl9Y2xlYXJEYXRhKCl7c3VwZXIuY2xlYXJEYXRhKCksdGhpcy5fdW5kZXJseWluZ0RhdGEuY2xlYXIoKX1fbWVyZ2VEYXRhKGUpe3RoaXMuX2ludmFsaWRhdGVMYXN0Tm9uRW1wdHlQbG90Um93Q2FjaGUoKTtjb25zdCB0PXRoaXMuX3VuZGVybHlpbmdEYXRhLmZpcnN0SW5kZXgoKTt0aGlzLl91bmRlcmx5aW5nRGF0YS5tZXJnZShlKSwKdCE9PXRoaXMuX3VuZGVybHlpbmdEYXRhLmZpcnN0SW5kZXgoKSYmKHRoaXMuX2RhdGE9bmV3IG4uUGxvdExpc3QoKDAsYS5zdHVkeVBsb3RGdW5jdGlvbk1hcCkodGhpcy5fbWV0YUluZm8udmFsdWUoKSksYS5zdHVkeUVtcHR5UGxvdFZhbHVlUHJlZGljYXRlKSk7bGV0IHM9bnVsbDtjb25zdCBpPXRoaXMuX2RhdGEubGFzdEluZGV4KCk/P3RoaXMuX3VuZGVybHlpbmdEYXRhLmZpcnN0SW5kZXgoKSxvPXRoaXMuX3VuZGVybHlpbmdEYXRhLmxhc3RJbmRleCgpO2lmKG51bGwhPT1pJiZudWxsIT09bylmb3IoY29uc3QgZSBvZiB0aGlzLl91bmRlcmx5aW5nRGF0YS5yYW5nZUl0ZXJhdG9yKGksbykpbnVsbD09PXMmJihzPWUpLHRoaXMuX2RhdGEuYWRkKGUuaW5kZXgsKDAsci5jbG9uZSkoZS52YWx1ZSkpO2Zvcihjb25zdCBlIG9mIHRoaXMuX3Bsb3RzRm9yU3RyYXRlZ3lQcm9jZXNzaW5nKCkpe25ldyB1KGUuc3RyYXRlZ3lJbmRleCxlLnRhcmdldEluZGV4LGkpLnJlYnVpbGREYXRhKHRoaXMuX2RhdGEpfXJldHVybiBzfV9wbG90c0ZvclN0cmF0ZWd5UHJvY2Vzc2luZygpe2NvbnN0IGU9dGhpcy5fbWV0YUluZm8udmFsdWUoKSx0PVtdO3JldHVybiBlLnBsb3RzLmZvckVhY2goKChzLHIpPT57aWYoImRhdGFvZmZzZXQiIT09cy50eXBlKXJldHVybjtjb25zdCBuPWUucGxvdHMuZmluZEluZGV4KChlPT5lLmlkPT09cy50YXJnZXQpKTsoMCxpLmFzc2VydCkobj49MCxgdGFyZ2V0IHBsb3Qgbm90IGZvdW5kIGZvciBzdHJhdGVneSBwbG90ICR7cy5pZH1gKSx0LnB1c2goe3N0cmF0ZWd5SW5kZXg6cix0YXJnZXRJbmRleDpufSl9KSksdH19Y2xhc3MgdXtjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5fc3RyYXRlZ3lQbG90SW5kZXg9ZSx0aGlzLl90YXJnZXRQbG90SW5kZXg9dCx0aGlzLl9zdGFydEluZGV4PXN9cmVidWlsZERhdGEoZSl7Y29uc3QgdD10aGlzLl90YXJnZXRQbG90SW5kZXgrMSxzPXRoaXMuX3N0cmF0ZWd5UGxvdEluZGV4KzE7bGV0IGk9bnVsbCxyPW51bGw7Y29uc3Qgbj10aGlzLl9zdGFydEluZGV4Pz9lLmZpcnN0SW5kZXgoKSxvPWUubGFzdEluZGV4KCk7aWYobnVsbCE9PW4mJm51bGwhPT1vKWZvcihjb25zdHtpbmRleDphLHZhbHVlOmx9b2YgZS5yYW5nZUl0ZXJhdG9yKG4sbykpe2NvbnN0IG49bFt0XSxvPWxbc10/TWF0aC5yb3VuZChsW3NdKTpudWxsO2lmKGxbdF09bnVsbCxsW3NdPW51bGwsIW98fG8+MCljb250aW51ZTtjb25zdCB1PWErbyxjPXtwb2ludEluZGV4OnUsdmFsdWU6bn07aWYocil7aWYoci5wb2ludEluZGV4IT09Yy5wb2ludEluZGV4KXtpZih1Pj0wKXtjb25zdCBzPWUudmFsdWVBdCh1KTtzJiYoc1t0XT1uKX1sZXQgcz0hMTtpZihpJiZyJiYocz1pLnZhbHVlPD1yLnZhbHVlJiZyLnZhbHVlPD1ufHxpLnZhbHVlPj1yLnZhbHVlJiZyLnZhbHVlPj1uKSxzKXtpZihyLnBvaW50SW5kZXg+PTApe2NvbnN0IHM9ZS52YWx1ZUF0KHIucG9pbnRJbmRleCk7cyYmKHNbdF09bnVsbCl9fWVsc2UgaT1yO3I9Y319ZWxzZSByPWN9fX19LDcxNDEwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5yKHQpLHMuZCh0LHtUcG9QZXJpb2RpY1N0dWR5OigpPT51LGNyZWF0ZVRwb1BlcmlvZGljU3R1ZHk6KCk9PmN9KTt2YXIgaT1zKDEyODk5OCkscj1zKDQzNzc0OSksbj1zKDYwNTI1Nyksbz1zKDg3MjM0MyksYT1zKDY4NDI2NSksbD1zKDc3NzY2MSk7Y2xhc3MgdSBleHRlbmRzIGEuVHBvU3R1ZHlCYXNle19zcGxpdHNBbmRNZXJnZXNBY3Rpb25zS2V5KGUpe2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLHM9dC5wcm9TeW1ib2woKSxyPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKSxuPVtzLHRoaXMuX2NoYXJ0U3R5bGVNb2RlfHwoMCxpLmlzVGltZUJhc2VkU3R5bGUpKHQuc3R5bGUoKSk/ImNvbW1vbiI6dC5zdHlsZSgpLHIuYmxvY2tTaXplLnZhbHVlKCksci5wZXJpb2RzTnVtLnZhbHVlKCksci5wZXJpb2QudmFsdWUoKV07cmV0dXJuIGU+MSYmbi5wdXNoKHQuc2Vzc2lvbklkKCkpLG4uam9pbigiOyIpfV9zcGxpdHNBbmRNZXJnZXNJbnB1dHNEZXBzKCl7cmV0dXJuWyJibG9ja1NpemUiLCJwZXJpb2RzTnVtIiwicGVyaW9kIl19fWFzeW5jIGZ1bmN0aW9uIGMoZSx0KXtjb25zdCBzPWF3YWl0KDAsbi5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7dHlwZToiamF2YSIsc3R1ZHlJZDpsLnN0dWR5VHBvUHJlcmlvZGljSWR9KSxpPSgwLHIucHJlcGFyZVN0dWR5UHJvcGVydGllcykocyx7fSxudWxsLCgwLG4uc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuc3R1ZHlWZXJzaW9uaW5nKCksW10pO3JldHVybigwLG8uYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9UUE9QZXJpb2RpYyIse3N0dWR5Q29uc3RydWN0b3I6dSxjb2xvclJvdGF0aW9uTW9kZToic2hpZnQifSksbmV3IHUoZSxpLFtdLHMscywhMSwhMCx0KX19LDMzNDc0MihlLHQscyl7InVzZSBzdHJpY3QiO3Mucih0KSxzLmQodCx7VHBvU2Vzc2lvbnNTdHVkeTooKT0+dSxjcmVhdGVUcG9TZXNzaW9uc1N0dWR5OigpPT5jfSk7dmFyIGk9cygxMjg5OTgpLHI9cyg2ODQyNjUpLG49cyg2MDUyNTcpLG89cyg4NzIzNDMpLGE9cyg0Mzc3NDkpLGw9cyg3Nzc2NjEpO2NsYXNzIHUgZXh0ZW5kcyByLlRwb1N0dWR5QmFzZXtfc3BsaXRzQW5kTWVyZ2VzQWN0aW9uc0tleShlKXtjb25zdCB0PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSxzPXQucHJvU3ltYm9sKCkscj10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCksbj1bcyx0aGlzLl9jaGFydFN0eWxlTW9kZXx8KDAsaS5pc1RpbWVCYXNlZFN0eWxlKSh0LnN0eWxlKCkpPyJjb21tb24iOnQuc3R5bGUoKSxyLmJsb2NrU2l6ZS52YWx1ZSgpLHIucHJvZmlsZXNTZXNzaW9ucy52YWx1ZSgpLHIuY3VzdG9tU2Vzc2lvbi52YWx1ZSgpLHIuY3VzdG9tU2Vzc2lvblRaLnZhbHVlKCksci5jdXN0b21TZXNzaW9uMi52YWx1ZSgpLHIuY3VzdG9tU2Vzc2lvbjMudmFsdWUoKSxyLmN1c3RvbVNlc3Npb240LnZhbHVlKCksci5jdXN0b21TZXNzaW9uNS52YWx1ZSgpXQo7cmV0dXJuIGU+MSYmbi5wdXNoKHQuc2Vzc2lvbklkKCkpLG4uam9pbigiOyIpfV9zcGxpdHNBbmRNZXJnZXNJbnB1dHNEZXBzKCl7cmV0dXJuWyJibG9ja1NpemUiLCJwcm9maWxlc1Nlc3Npb25zIiwiY3VzdG9tU2Vzc2lvbiIsImN1c3RvbVNlc3Npb25UWiIsImN1c3RvbVNlc3Npb24yIiwiY3VzdG9tU2Vzc2lvbjMiLCJjdXN0b21TZXNzaW9uNCIsImN1c3RvbVNlc3Npb241Il19fWFzeW5jIGZ1bmN0aW9uIGMoZSx0KXtjb25zdCBzPWF3YWl0KDAsbi5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7dHlwZToiamF2YSIsc3R1ZHlJZDpsLnN0dWR5VHBvU2Vzc2lvbnNJZH0pLGk9KDAsYS5wcmVwYXJlU3R1ZHlQcm9wZXJ0aWVzKShzLHt9LG51bGwsKDAsbi5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5zdHVkeVZlcnNpb25pbmcoKSxbXSk7cmV0dXJuKDAsby5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X1RQT1Nlc3Npb25zIix7c3R1ZHlDb25zdHJ1Y3Rvcjp1LGNvbG9yUm90YXRpb25Nb2RlOiJzaGlmdCJ9KSxuZXcgdShlLGksW10scyxzLCExLCEwLHQpfX0sODMzMTc3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1Nlc3Npb25Wb2x1bWUyU3R1ZHk6KCk9PlJ9KTt2YXIgaT1zKDEzODYzOCk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlKXt0aGlzLl9zdGFydD0wLHRoaXMuX3NpemU9MCx0aGlzLl9idWZmZXI9bmV3IEFycmF5KGUpfXNpemUoKXtyZXR1cm4gdGhpcy5fc2l6ZX1jYXBhY2l0eSgpe3JldHVybiB0aGlzLl9idWZmZXIubGVuZ3RofWVucXVldWUoZSl7dGhpcy5fc2l6ZTx0aGlzLl9idWZmZXIubGVuZ3RoP3RoaXMuX3NpemUrKzp0aGlzLl9zdGFydD0odGhpcy5fc3RhcnQrMSkldGhpcy5fYnVmZmVyLmxlbmd0aDtjb25zdCB0PSh0aGlzLl9zdGFydCt0aGlzLl9zaXplLTEpJXRoaXMuX2J1ZmZlci5sZW5ndGg7dGhpcy5fYnVmZmVyW3RdPWV9ZGVxdWV1ZSgpe2lmKDA9PT10aGlzLl9zaXplKXRocm93IG5ldyBFcnJvcigiQnVmZmVyIGlzIGVtcHR5Iik7Y29uc3QgZT10aGlzLl9idWZmZXJbdGhpcy5fc3RhcnRdO3JldHVybiB0aGlzLl9idWZmZXJbdGhpcy5fc3RhcnRdPXZvaWQgMCx0aGlzLl9zdGFydD0odGhpcy5fc3RhcnQrMSkldGhpcy5fYnVmZmVyLmxlbmd0aCx0aGlzLl9zaXplLS0sZX1nZXQoZSl7aWYoZT49dGhpcy5fc2l6ZSl0aHJvdyBuZXcgRXJyb3IoIkluZGV4IGlzIG91dCBvZiByYW5nZSIpO2NvbnN0IHQ9KHRoaXMuX3N0YXJ0K2UpJXRoaXMuX2J1ZmZlci5sZW5ndGg7cmV0dXJuIHRoaXMuX2J1ZmZlclt0XX1mb3JFYWNoKGUsdCl7Zm9yKGxldCBzPTA7czx0aGlzLl9zaXplO3MrKyl7Y29uc3QgaT0odGhpcy5fc3RhcnQrcykldGhpcy5fYnVmZmVyLmxlbmd0aDtlLmNhbGwodCx0aGlzLl9idWZmZXJbaV0saSx0aGlzKX19Y2xlYXIoKXtjb25zdCBlPXRoaXMuX2J1ZmZlci5sZW5ndGg7Zm9yKGxldCB0PTA7dDxlO3QrKyl0aGlzLl9idWZmZXJbdF09dm9pZCAwO3RoaXMuX3N0YXJ0PTAsdGhpcy5fc2l6ZT0wfX12YXIgbj1zKDE4NTI3MSksbz1zKDg1NzE1MSksYT1zKDYzNDg2KSxsPXMoNjI4MDYpLHU9cygyMjcwNTYpLGM9cyg4Njc4MzEpLGg9cyg3OTkzNzUpLGQ9cyg1MDQ0MzEpLF89cygyMTg3NjUpO2NsYXNzIHB7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9yb3VnaD1lLHRoaXMuX2RldGFpbGVkPXR9Zm9yRWFjaChlLHQpe3RoaXMuX21vc3REZXRhaWxlZEhvcml6TGluZXMoKS5mb3JFYWNoKChzPT57ZS5jYWxsKHQscyxzLHRoaXMpfSkpfWhhcyhlKXtsZXQgdD0hMTtyZXR1cm4gdGhpcy5fbW9zdERldGFpbGVkSG9yaXpMaW5lcygpLmZvckVhY2goKHM9Pnt0PXR8fHM9PT1lfSkpLHR9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5fcm91Z2guc2l6ZX1bU3ltYm9sLml0ZXJhdG9yXSgpe2NvbnN0IGU9dGhpcy5fbW9zdERldGFpbGVkSG9yaXpMaW5lcygpLmVudHJpZXMoKTtyZXR1cm57W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpc30sbmV4dCgpe2NvbnN0IHQ9ZS5uZXh0KCk7cmV0dXJuITA9PT10LmRvbmU/dDp7dmFsdWU6dC52YWx1ZVsxXX19fX1lbnRyaWVzKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX1rZXlzKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX12YWx1ZXMoKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfV9tb3N0RGV0YWlsZWRIb3JpekxpbmVzKCl7Y29uc3QgZT1uZXcgTWFwO3RoaXMuX3JvdWdoLmZvckVhY2goKHQ9PmUuc2V0KHQuc3RhcnRJbmRleCx0KSkpO2ZvcihsZXQgdD10aGlzLl9kZXRhaWxlZC5sZW5ndGgtMTt0Pj0wO3QtLSl7dGhpcy5fZGV0YWlsZWRbdF0uZm9yRWFjaCgodD0+e2UuaGFzKHQuc3RhcnRJbmRleCkmJmUuc2V0KHQuc3RhcnRJbmRleCx0KX0pKX1yZXR1cm4gZX19Y2xhc3MgeXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX21lcmdlZEhvcml6TGluZXNTZXQ9ZSx0aGlzLl9yb3VnaEl0ZXJhdG9yPXR9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpc31uZXh0KCl7Y29uc3QgZT10aGlzLl9yb3VnaEl0ZXJhdG9yLm5leHQoKTtpZighMD09PWUuZG9uZSlyZXR1cm4gZTtjb25zdCB0PWUudmFsdWVbMF07cmV0dXJue3ZhbHVlOlt0LCgwLGkuZW5zdXJlRGVmaW5lZCkodGhpcy5fbWVyZ2VkSG9yaXpMaW5lc1NldC5nZXQodCkpXX19fWNsYXNzIG17Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9yb3VnaEhvcml6TGluZVNldHM9ZSx0aGlzLl9kZXRhaWxlZEhvcml6TGluZVNldHM9dH1mb3JFYWNoKGUsdCl7dGhpcy5fcm91Z2hIb3JpekxpbmVTZXRzLmZvckVhY2goKChzLHIpPT57ZS5jYWxsKHQsKDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLmdldChyKSkscix0aGlzKX0pKX1nZXQoZSl7Y29uc3QgdD10aGlzLl9yb3VnaEhvcml6TGluZVNldHMuZ2V0KGUpO2lmKHZvaWQgMCE9PXQpcmV0dXJuIG5ldyBwKHQsdGhpcy5fZGV0YWlsZWRIb3JpekxpbmVTZXRzLm1hcCgodD0+dC5nZXQoZSkpKS5maWx0ZXIoKGU9PnZvaWQgMCE9PWUpKSl9aGFzKGUpe3JldHVybiB0aGlzLl9yb3VnaEhvcml6TGluZVNldHMuaGFzKGUpfWdldCBzaXplKCl7CnJldHVybiB0aGlzLl9yb3VnaEhvcml6TGluZVNldHMuc2l6ZX1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiBuZXcgeSh0aGlzLHRoaXMuX3JvdWdoSG9yaXpMaW5lU2V0cy5lbnRyaWVzKCkpfWVudHJpZXMoKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfWtleXMoKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfXZhbHVlcygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9fWNsYXNzIHZ7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9yb3VnaD1lLHRoaXMuX2RldGFpbGVkPXR9Zm9yRWFjaChlLHQpe3RoaXMuX3JvdWdoLmZvckVhY2goKChzLGkpPT57Zm9yKGNvbnN0IHMgb2YgdGhpcy5fZGV0YWlsZWQpe2NvbnN0IHI9cy5nZXQoaSk7aWYodm9pZCAwIT09cilyZXR1cm4gdm9pZCBlLmNhbGwodCxyLGksdGhpcyl9ZS5jYWxsKHQscyxpLHRoaXMpfSkpfWdldChlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9kZXRhaWxlZCl7Y29uc3Qgcz10LmdldChlKTtpZih2b2lkIDAhPT1zKXJldHVybiBzfXJldHVybiB0aGlzLl9yb3VnaC5nZXQoZSl9aGFzKGUpe2Zvcihjb25zdCB0IG9mIHRoaXMuX2RldGFpbGVkKXtpZih0LmhhcyhlKSlyZXR1cm4hMH1yZXR1cm4gdGhpcy5fcm91Z2guaGFzKGUpfWdldCBzaXplKCl7cmV0dXJuIHRoaXMuX3JvdWdoLnNpemV9W1N5bWJvbC5pdGVyYXRvcl0oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfWVudHJpZXMoKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfWtleXMoKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfXZhbHVlcygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9fWNsYXNzIGZ7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9ncmFwaGljcz1lLHRoaXMuX3N0eWxlSWQ9dH1mb3JFYWNoKGUsdCl7dGhpcy5fZ3JhcGhpY3MuaGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpLmZvckVhY2goKHM9PntzLmZvckVhY2goKHM9PntpZihzLnN0eWxlSWQ9PT10aGlzLl9zdHlsZUlkKXtjb25zdCBpPXtmaXJzdEJhclRpbWU6cy5maXJzdEJhclRpbWUsbGFzdEJhclRpbWU6cy5sYXN0QmFyVGltZSxyYXRlOnMucmF0ZSxwcmljZUhpZ2g6cy5wcmljZUhpZ2gscHJpY2VMb3c6cy5wcmljZUxvd307ZS5jYWxsKHQsaSxpLHRoaXMpfX0pKX0pKX1oYXMoZSl7bGV0IHQ9ITE7cmV0dXJuIHRoaXMuX2dyYXBoaWNzLmhoaXN0c0J5VGltZVBvaW50SW5kZXgoKS5mb3JFYWNoKChzPT57cy5mb3JFYWNoKChzPT57cy5zdHlsZUlkPT09dGhpcy5fc3R5bGVJZCYmcz09PWUmJih0PSEwKX0pKX0pKSx0fWdldCBzaXplKCl7bGV0IGU9MDtyZXR1cm4gdGhpcy5fZ3JhcGhpY3MuaGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpLmZvckVhY2goKHQ9Pnt0LmZvckVhY2goKHQ9Pnt0LnN0eWxlSWQ9PT10aGlzLl9zdHlsZUlkJiZlKyt9KSl9KSksZX1bU3ltYm9sLml0ZXJhdG9yXSgpe2NvbnN0IGU9dGhpcy5fZ3JhcGhpY3MuaGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpW1N5bWJvbC5pdGVyYXRvcl0oKTtsZXQgdCxzO3JldHVybntbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzfSxuZXh0KCl7Zm9yKDs7KXtpZih2b2lkIDA9PT10JiYocz12b2lkIDAsdD1lLm5leHQoKSwhdC5kb25lJiYhdC52YWx1ZSkpcmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfTtjb25zdCBpPXQudmFsdWU7c3x8KHM9aVtTeW1ib2wuaXRlcmF0b3JdKCkpO2NvbnN0IHI9cy5uZXh0KCk7aWYoIXIuZG9uZSlyZXR1cm57dmFsdWU6ci52YWx1ZX07e2NvbnN0IGU9dDtpZih0PXZvaWQgMCxyLnZhbHVlKXJldHVybnt2YWx1ZTpyLnZhbHVlLGRvbmU6ZS5kb25lfX19fX19ZW50cmllcygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9a2V5cygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9dmFsdWVzKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX19Y2xhc3MgU3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2dyYXBoaWNzSW5mbz1lLHRoaXMuX2dyYXBoaWNzPXR9Zm9yRWFjaChlLHQpe2lmKHZvaWQgMD09PXRoaXMuX2dyYXBoaWNzSW5mby5oaGlzdHMpcmV0dXJuO2NvbnN0IHM9T2JqZWN0LmtleXModGhpcy5fZ3JhcGhpY3NJbmZvLmhoaXN0cyk7Zm9yKGNvbnN0IHIgb2YgcyllLmNhbGwodCwoMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuZ2V0KHIpKSxyLHRoaXMpfWdldChlKXtpZih2b2lkIDAhPT10aGlzLl9ncmFwaGljc0luZm8uaGhpc3RzKXJldHVybiBuZXcgZih0aGlzLl9ncmFwaGljcyxlKX1oYXMoZSl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX2dyYXBoaWNzSW5mby5oaGlzdHMmJmUgaW4gdGhpcy5fZ3JhcGhpY3NJbmZvLmhoaXN0c31nZXQgc2l6ZSgpe3JldHVybiB2b2lkIDA9PT10aGlzLl9ncmFwaGljc0luZm8uaGhpc3RzPzA6T2JqZWN0LmtleXModGhpcy5fZ3JhcGhpY3NJbmZvLmhoaXN0cykubGVuZ3RofVtTeW1ib2wuaXRlcmF0b3JdKCl7Y29uc3QgZT1PYmplY3Qua2V5cyh0aGlzLl9ncmFwaGljc0luZm8/LmhoaXN0cz8/e30pW1N5bWJvbC5pdGVyYXRvcl0oKTtyZXR1cm57W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpc30sbmV4dDooKT0+e2NvbnN0IHQ9ZS5uZXh0KCk7cmV0dXJuIHQuZG9uZT97ZG9uZTohMCx2YWx1ZTp0LnZhbHVlP1t0LnZhbHVlLCgwLGkuZW5zdXJlRGVmaW5lZCkodGhpcy5nZXQodC52YWx1ZSkpXTp2b2lkIDB9Ont2YWx1ZTpbdC52YWx1ZSwoMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuZ2V0KHQudmFsdWUpKV0sZG9uZTp0LmRvbmV9fX19ZW50cmllcygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9a2V5cygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9dmFsdWVzKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX19Y2xhc3MgZ3tjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5fZ3JhcGhpY3NJbmZvPWUsdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzPXQsdGhpcy5fZGV0YWlsZWRTdHVkeUdyYXBoaWNzPXN9aG9yaXpsaW5lcygpewpyZXR1cm4gbmV3IG0odGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmhvcml6bGluZXMoKSx0aGlzLl9kZXRhaWxlZFN0dWR5R3JhcGhpY3MubWFwKChlPT5lLmhvcml6bGluZXMoKSkpKX12ZXJ0bGluZXMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLnZlcnRsaW5lcygpfWxpbmVzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy5saW5lcygpfWhsaW5lcygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MuaGxpbmVzKCl9dGV4dG1hcmtzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy50ZXh0bWFya3MoKX1zaGFwZW1hcmtzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy5zaGFwZW1hcmtzKCl9YmFja2dyb3VuZHMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmJhY2tncm91bmRzKCl9cG9seWdvbnMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLnBvbHlnb25zKCl9dHJlbmRjaGFubmVscygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MudHJlbmRjaGFubmVscygpfWhoaXN0cygpe3JldHVybiBuZXcgUyh0aGlzLl9ncmFwaGljc0luZm8sdGhpcyl9aGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpe3JldHVybiBuZXcgdih0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MuaGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpLHRoaXMuX2RldGFpbGVkU3R1ZHlHcmFwaGljcy5tYXAoKGU9PmUuaGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpKSkpfWR3Z2xhYmVscygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MuZHdnbGFiZWxzKCl9ZHdnbGluZXMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmR3Z2xpbmVzKCl9ZHdncG9seWxpbmVzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy5kd2dwb2x5bGluZXMoKX1kd2dib3hlcygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MuZHdnYm94ZXMoKX1kd2d0YWJsZXMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmR3Z3RhYmxlcygpfWR3Z3RhYmxlY2VsbHMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmR3Z3RhYmxlY2VsbHMoKX1kd2dsaW5lZmlsbHMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmR3Z2xpbmVmaWxscygpfXRwb3MoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLnRwb3MoKX10cG9CbG9ja1NldHMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLnRwb0Jsb2NrU2V0cygpfXRwb0xldmVscygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MudHBvTGV2ZWxzKCl9dHBvVm9sdW1lUm93cygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MudHBvVm9sdW1lUm93cygpfXRwb1N1bW1hcnlJbmZvKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy50cG9TdW1tYXJ5SW5mbygpfWxvZ3MoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmxvZ3MoKX1wZXJmb3JtYW5jZSgpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MucGVyZm9ybWFuY2UoKX1mb290cHJpbnRzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy5mb290cHJpbnRzKCl9Zm9vdHByaW50TGV2ZWxzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy5mb290cHJpbnRMZXZlbHMoKX19dmFyIGI9cyg5NjY0MDQpLHc9cyg2MDUyNTcpO2NvbnN0IEM9InR2LXZvbHVtZWJ5cHJpY2UiLFA9KDAsYS5zdHVkeUlkU3RyaW5nKSgiVmJQU2Vzc2lvbnNSb3VnaCIsQykseD0oMCxhLnN0dWR5SWRTdHJpbmcpKCJWYlBTZXNzaW9uc0RldGFpbGVkIixDKSxEPSgwLGEuc3R1ZHlJZFN0cmluZykoIlZiUFNlc3Npb25zRGV0YWlsZWRBbGVydHMiLEMpLEk9TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7dmFyIFQ7IWZ1bmN0aW9uKGUpe2VbZS5EZXRhaWxlZERhdGFCdWZmZXJDYXBhY2l0eT03XT0iRGV0YWlsZWREYXRhQnVmZmVyQ2FwYWNpdHkifShUfHwoVD17fSkpO2NvbnN0IFY9bi50KG51bGwsdm9pZCAwLHMoMzcxMjk3KSk7Y2xhc3MgUiBleHRlbmRzIHUuVm9sdW1lUHJvZmlsZVdpdGhQcmljZVJhbmdlU3R1ZHl7Y29uc3RydWN0b3IoZSx0LHMsaSxuLG8pe3N1cGVyKGUsdCxzLGksbixvKSx0aGlzLl9pc1BhY2thZ2VBdmFpbGFibGU9QSgpLHRoaXMuX2FsZXJ0c1N0dWR5TWV0YUluZm89bnVsbCx0aGlzLl9yb3VnaERhdGFTb3VyY2U9bnVsbCx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2U9bnVsbCx0aGlzLl9kZXRhaWxlZERhdGFCdWZmZXI9bmV3IHIoNyksdGhpcy5fbG9hZGVkR3JhcGhpY3M9bnVsbCx0aGlzLl9sb2FkZWRQbG90cz1udWxsLHRoaXMuX21lcmdlZEdyYXBoaWNzPSgwLF8uZW1wdHlTdHVkeUdyYXBoaWNzKSgpLHRoaXMuX21lcmdlZFBsb3RzPXRoaXMuX2VtcHR5UGxvdExpc3QoKSx0aGlzLl9pc1BhY2thZ2VBdmFpbGFibGV8fHRoaXMuX3NldFN0YXR1cyh7dHlwZTpjLlN0dWR5U3RhdHVzVHlwZS5FcnJvcixlcnJvckRlc2NyaXB0aW9uOntlcnJvcjpWfX0pLHRoaXMuX3NldEFsZXJ0c1N0dWR5TWV0YUluZm8oKX1kZXN0cm95KCl7bnVsbCE9PXRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZSYmKHRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5kYXRhVXBkYXRlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Sb3VnaE9yRGV0YWlsZWREYXRhVXBkYXRlZCksdGhpcy5fZGV0YWlsZWREYXRhU291cmNlLmRhdGFDbGVhcmVkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblJvdWdoT3JEZXRhaWxlZERhdGFDbGVhcmVkKSx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3R1ZHlTdGF0dXNDaGFuZ2VkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN0dWR5U3RhdHVzQ2hhbmdlZCksdGhpcy5fZGV0YWlsZWREYXRhU291cmNlLmRlc3Ryb3koKSx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2U9bnVsbCksbnVsbCE9PXRoaXMuX3JvdWdoRGF0YVNvdXJjZSYmKHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5kYXRhVXBkYXRlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Sb3VnaE9yRGV0YWlsZWREYXRhVXBkYXRlZCksCnRoaXMuX3JvdWdoRGF0YVNvdXJjZS5kYXRhQ2xlYXJlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Sb3VnaE9yRGV0YWlsZWREYXRhQ2xlYXJlZCksdGhpcy5fcm91Z2hEYXRhU291cmNlLnN0dWR5U3RhdHVzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TdHVkeVN0YXR1c0NoYW5nZWQpLHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5kZXN0cm95KCksdGhpcy5fcm91Z2hEYXRhU291cmNlPW51bGwpLHN1cGVyLmRlc3Ryb3koKX1kYXRhKCl7cmV0dXJuIHRoaXMuX2xvYWRlZFBsb3RzfHx0aGlzLl9tZXJnZWRQbG90c31ncmFwaGljcygpe3JldHVybiB0aGlzLl9sb2FkZWRHcmFwaGljc3x8dGhpcy5fbWVyZ2VkR3JhcGhpY3N9Y2xlYXJEYXRhKCl7bnVsbCE9PXRoaXMuX3JvdWdoRGF0YVNvdXJjZSYmdGhpcy5fcm91Z2hEYXRhU291cmNlLmNsZWFyRGF0YSgpLG51bGwhPT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UmJnRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5jbGVhckRhdGEoKX1yZXN0b3JlRGF0YShlKXt0aGlzLl9pbnZhbGlkYXRlTGFzdE5vbkVtcHR5UGxvdFJvd0NhY2hlKCksdGhpcy5fbG9hZGVkUGxvdHM9dGhpcy5fZW1wdHlQbG90TGlzdCgpLHRoaXMuX2xvYWRlZFBsb3RzLnJlc3RvcmVTdGF0ZShlKSx2b2lkIDAhPT1lLmdyYXBoaWNzJiYodGhpcy5fbG9hZGVkR3JhcGhpY3M9KDAsXy5sb2FkU3R1ZHlHcmFwaGljcykoZS5ncmFwaGljcykpLHRoaXMuX3Bvc3RQcm9jZXNzR3JhcGhpY3MoKSx0aGlzLl9zZXRTdGF0dXMoe3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuQ29tcGxldGVkfSwhMCl9aXNGYWlsZWQoKXtyZXR1cm4hdGhpcy5faXNQYWNrYWdlQXZhaWxhYmxlfHxudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlJiZ0aGlzLl9yb3VnaERhdGFTb3VyY2Uuc3R1ZHlTdGF0dXMoKS50eXBlPT09Yy5TdHVkeVN0YXR1c1R5cGUuRXJyb3J8fG51bGwhPT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UmJnRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5zdHVkeVN0YXR1cygpLnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5FcnJvcn1pc0xvYWRpbmcoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX3JvdWdoRGF0YVNvdXJjZSYmdGhpcy5fcm91Z2hEYXRhU291cmNlLnN0dWR5U3RhdHVzKCkudHlwZT09PWMuU3R1ZHlTdGF0dXNUeXBlLkxvYWRpbmd8fG51bGwhPT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UmJnRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5zdHVkeVN0YXR1cygpLnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5Mb2FkaW5nfWlzU3RhcnRlZCgpe3JldHVybiBudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlJiZ0aGlzLl9yb3VnaERhdGFTb3VyY2UuaXNTdGFydGVkKCl8fG51bGwhPT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UmJnRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5pc1N0YXJ0ZWQoKX1zb3VyY2VJZCgpe3Rocm93IG5ldyBFcnJvcigiSW52YWxpZCBvcGVyYXRpb24iKX1pZEZvckFsZXJ0KCl7cmV0dXJuIHN1cGVyLl9jb2xsZWN0RGVwc0ZvckFsZXJ0KCkuaWRGb3JBbGVydH1jYW5IYXZlQ2hpbGRyZW4oKXtyZXR1cm4hMX1pc0NoaWxkU3R1ZHkoKXtyZXR1cm4hMX1oYXNDaGlsZHJlbigpe3JldHVybiExfWdldEFsbENoaWxkcmVuKCl7cmV0dXJuW119aXNIaWJlcm5hdGVkKCl7cmV0dXJuISh0aGlzLmlzVmlzaWJsZSgpfHxudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlJiZ0aGlzLl9yb3VnaERhdGFTb3VyY2UuaXNTdGFydGVkKCl8fG51bGwhPT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UmJnRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5pc1N0YXJ0ZWQoKSl9X2FsZXJ0TWV0YUluZm8oKXtyZXR1cm4gdGhpcy5fYWxlcnRzU3R1ZHlNZXRhSW5mb31fc3RvcFN0dWR5T25TZXJ2ZXIoKXt0aGlzLl9jaGFydEFwaSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiYodGhpcy5fcm91Z2hEYXRhU291cmNlPy5pc1N0YXJ0ZWQoKSYmdGhpcy5fcm91Z2hEYXRhU291cmNlLnN0b3AoKSx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2U/LmlzU3RhcnRlZCgpJiZ0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3RvcCgpKX1hc3luYyBfc3RhcnRBZnRlclN5bWJvbHNSZXNvbHZlZChlLHQpe2lmKCF0aGlzLmlzU3RhcnRlZCgpfHx0aGlzLmlzUmVzdGFydGluZygpKWlmKHRoaXMuX3Jlc3RhcnRpbmc9ITEsdGhpcy5faXNQYWNrYWdlQXZhaWxhYmxlPUEoKSx0aGlzLl9pc1BhY2thZ2VBdmFpbGFibGUpe2lmKHRoaXMuX2FsbElucHV0c0FyZVZhbGlkKCkpe2lmKHRoaXMuX2lucHV0cz10aGlzLl9hcGlJbnB1dHMoKSxudWxsPT09dGhpcy5fcm91Z2hEYXRhU291cmNlKXtjb25zdCBlPWF3YWl0KDAsdy5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7dHlwZToiamF2YSIsc3R1ZHlJZDpQfSk7dGhpcy5fcm91Z2hEYXRhU291cmNlPW5ldyBoLkV4dGVuZGVkU3R1ZHlEYXRhU291cmNlKHRoaXMubW9kZWwoKS5jaGFydEFwaSgpLHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCksInZicHNlc3Npb25zcm91Z2hfIixlKSx0aGlzLl9yb3VnaERhdGFTb3VyY2Uuc3R1ZHlTdGF0dXNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TdHVkeVN0YXR1c0NoYW5nZWQpLHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5kYXRhQ2xlYXJlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uUm91Z2hPckRldGFpbGVkRGF0YUNsZWFyZWQpLHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5kYXRhVXBkYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uUm91Z2hPckRldGFpbGVkRGF0YVVwZGF0ZWQpfWVsc2UgdGhpcy5fcm91Z2hEYXRhU291cmNlLnN0b3AoKTtpZih0aGlzLl9yb3VnaERhdGFTb3VyY2Uuc2V0SW5wdXRzKEwodGhpcy5fcm91Z2hEYXRhU291cmNlLm1ldGFJbmZvKCkuaW5wdXRzLHRoaXMuX2lucHV0cykpLG51bGw9PT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Upe2NvbnN0IGU9YXdhaXQoMCx3LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLmZpbmRCeUlkKHt0eXBlOiJqYXZhIixzdHVkeUlkOnh9KQo7dGhpcy5fZGV0YWlsZWREYXRhU291cmNlPW5ldyBoLkV4dGVuZGVkU3R1ZHlEYXRhU291cmNlKHRoaXMubW9kZWwoKS5jaGFydEFwaSgpLHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCksInZicHNlc3Npb25zZGV0YWlsZWRfIixlKSx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3R1ZHlTdGF0dXNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TdHVkeVN0YXR1c0NoYW5nZWQpLHRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5kYXRhQ2xlYXJlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uUm91Z2hPckRldGFpbGVkRGF0YUNsZWFyZWQpLHRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5kYXRhVXBkYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uUm91Z2hPckRldGFpbGVkRGF0YVVwZGF0ZWQpfWVsc2UgdGhpcy5fZGV0YWlsZWREYXRhU291cmNlLnN0b3AoKTt0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc2V0SW5wdXRzKEUodGhpcy5faW5wdXRzKSksdGhpcy5fcm91Z2hEYXRhU291cmNlLnN0YXJ0KCksdGhpcy5fZGV0YWlsZWREYXRhU291cmNlLnN0YXJ0KCksdGhpcy5fY3JlYXRlU3R1ZHlHcmFwaGljcygpLHRoaXMuX3N1YnNjcmliZVRvU2Vzc2lvbklkKCksdGhpcy5fc2V0U3RhdHVzKHRoaXMuX3N0YXR1c1ZhbHVlRnJvbURhdGFTb3VyY2VzKCkpLHRoaXMuX29uU3RhcnQuZmlyZSgpLG51bGw9PT10aGlzLl9hbGVydHNTdHVkeU1ldGFJbmZvJiZhd2FpdCB0aGlzLl9zZXRBbGVydHNTdHVkeU1ldGFJbmZvKCl9fWVsc2UgdGhpcy5fc2V0U3RhdHVzKHt0eXBlOmMuU3R1ZHlTdGF0dXNUeXBlLkVycm9yLGVycm9yRGVzY3JpcHRpb246e2Vycm9yOlZ9fSl9YXN5bmMgX2NoYW5nZUlucHV0c0ltcGwoZSx0KXtpZihudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlKXtpZigoMCxsLmFyZVN0dWR5SW5wdXRzRXF1YWwpKHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5tZXRhSW5mbygpLmlucHV0cyx0LGUpKXtpZihudWxsIT09dGhpcy5fZGV0YWlsZWREYXRhU291cmNlKXtjb25zdCB0PUUoZSkscz0oMCxsLnJhbmdlRGVwZW5kZW50U3R1ZHlJbnB1dHNUb1RpbWVSYW5nZSkodCk7aWYodGhpcy5fbW9yZURldGFpbGVkRGF0YVJlcXVpcmVkRm9yVGltZVJhbmdlKHMpKXtpZih0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UuaXNBY3RpdmUoKSl7Y29uc3QgZT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3RvcEFuZFN0ZWFsRGF0YSgpO2lmKGUucGxvdHMuc2l6ZSgpPjB8fCEoMCxfLmlzU3R1ZHlHcmFwaGljc0VtcHR5KShlLmdyYXBoaWNzKSl7Y29uc3QgdD0oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5pbnB1dHMoKSk7ZS5wbG90cz10aGlzLl9leHRyYWN0RWZmZWN0aXZlRGV0YWlsZWRQbG90VmFsdWVzKGUucGxvdHMsdCksdGhpcy5fZGV0YWlsZWREYXRhQnVmZmVyLmVucXVldWUoe2xvZDpNKHQpLHZhbHVlOmV9KX19dGhpcy5fZGV0YWlsZWREYXRhU291cmNlLnNldElucHV0cyh0KSx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3RhcnQoKX19fWVsc2UgdGhpcy5faW5wdXRzPWUsdGhpcy5fcm91Z2hEYXRhU291cmNlLnNldElucHV0cyhMKHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5tZXRhSW5mbygpLmlucHV0cyxlKSksdGhpcy5fZGV0YWlsZWREYXRhQnVmZmVyLmNsZWFyKCksbnVsbCE9PXRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZSYmdGhpcy5fZGV0YWlsZWREYXRhU291cmNlLnNldElucHV0cyhFKGUpKTtudWxsIT09dGhpcy5fZGV0YWlsZWREYXRhU291cmNlJiZ0aGlzLl9jcmVhdGVTdHVkeUdyYXBoaWNzKCl9fV9jb2xsZWN0RGVwc0ZvckFsZXJ0KCl7Y29uc3QgZT1zdXBlci5fY29sbGVjdERlcHNGb3JBbGVydCgpO2lmKG51bGw9PT10aGlzLl9hbGVydHNTdHVkeU1ldGFJbmZvKXRocm93IG5ldyBFcnJvcigiQWxlcnRzIHN0dWR5IG1ldGFpbmZvIGlzIG5vdCByZWFkeSB5ZXQuIEhhdmUgeW91IGNoZWNrZWQgdGhlIGFsZXJ0IGF2YWlsYWJpbGl0eSB1c2luZyBoYXNTdGF0ZUZvckFsZXJ0KCk/Iik7cmV0dXJuey4uLmUsc3R1ZHlEZXBlbmRlbmNpZXM6ZS5zdHVkeURlcGVuZGVuY2llcy5tYXAoKGU9Pntjb25zdCB0PWUuc3R1ZHk9PT1rKHRoaXMubWV0YUluZm8oKSk7cmV0dXJue2lkOmUuaWQsaW5wdXRzOnQ/KHM9ZS5pbnB1dHMsey4uLnMsc3Vic2NyaWJlUmVhbHRpbWU6ITB9KTplLmlucHV0cyxzdHVkeTp0JiZudWxsIT09dGhpcy5fYWxlcnRzU3R1ZHlNZXRhSW5mbz9rKHRoaXMuX2FsZXJ0c1N0dWR5TWV0YUluZm8pOmUuc3R1ZHl9O3ZhciBzfSkpfX1fZ2V0QWxlcnRDcmVhdGlvbkF2YWlsYWJsZSgpe3JldHVybiExfV9zdGF0dXNWYWx1ZUZyb21EYXRhU291cmNlcygpe2NvbnN0IGU9e3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfTtpZihudWxsPT09dGhpcy5fcm91Z2hEYXRhU291cmNlfHxudWxsPT09dGhpcy5fZGV0YWlsZWREYXRhU291cmNlKXJldHVybiBlO2NvbnN0IHQ9dGhpcy5fcm91Z2hEYXRhU291cmNlLnN0dWR5U3RhdHVzKCkscz10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3R1ZHlTdGF0dXMoKTtpZih0LnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5FcnJvcilyZXR1cm4gdDtpZihzLnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5FcnJvcilyZXR1cm4gcztpZih0LnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5Mb2FkaW5nfHxzLnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5Mb2FkaW5nKXtjb25zdCBlPXQudHlwZT09PWMuU3R1ZHlTdGF0dXNUeXBlLkxvYWRpbmc/dC5zdGFydFRpbWU6MS8wLGk9cy50eXBlPT09Yy5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZz9zLnN0YXJ0VGltZToxLzA7cmV0dXJue3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZyxzdGFydFRpbWU6TWF0aC5taW4oZSxpKX19cmV0dXJuIHQudHlwZT09PWMuU3R1ZHlTdGF0dXNUeXBlLkNvbXBsZXRlZD97dHlwZTpjLlN0dWR5U3RhdHVzVHlwZS5Db21wbGV0ZWR9OmV9X2VtcHR5UGxvdExpc3QoKXtyZXR1cm4gbmV3IG8uUGxvdExpc3QoKDAsCmQuc3R1ZHlQbG90RnVuY3Rpb25NYXApKHRoaXMubWV0YUluZm8oKSksZC5zdHVkeUVtcHR5UGxvdFZhbHVlUHJlZGljYXRlKX1fY3JlYXRlU3R1ZHlQbG90cygpe2NvbnN0IGU9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yb3VnaERhdGFTb3VyY2UpLHQ9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UpO3RoaXMuX21lcmdlZFBsb3RzLmNsZWFyKCk7Y29uc3Qgcz1bXTtzLnB1c2goe2xvZDpJLHZhbHVlOmUucGxvdHMoKX0pLHRoaXMuX2RldGFpbGVkRGF0YUJ1ZmZlci5mb3JFYWNoKChlPT57cy5wdXNoKHtsb2Q6ZS5sb2QsdmFsdWU6ZS52YWx1ZS5wbG90c30pfSkpO2NvbnN0IHI9KDAsaS5lbnN1cmVOb3ROdWxsKSh0LmlucHV0cygpKTtzLnB1c2goe2xvZDpNKHIpLHZhbHVlOnRoaXMuX2V4dHJhY3RFZmZlY3RpdmVEZXRhaWxlZFBsb3RWYWx1ZXModC5wbG90cygpLHIpfSkscy5zb3J0KCgoZSx0KT0+dC5sb2QtZS5sb2QpKTtmb3IoY29uc3QgZSBvZiBzKWUudmFsdWUuZWFjaCgoKGUsdCk9Pntmb3IoY29uc3QgZSBvZiB0KWlmKHZvaWQgMD09PWUpcmV0dXJuITE7cmV0dXJuIHRoaXMuX21lcmdlZFBsb3RzLmFkZChlLHQpLCExfSkpO3RoaXMuX2ludmFsaWRhdGVMYXN0Tm9uRW1wdHlQbG90Um93Q2FjaGUoKX1fY3JlYXRlU3R1ZHlHcmFwaGljcygpe2NvbnN0IGU9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yb3VnaERhdGFTb3VyY2UpLHQ9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UpLHM9W107dGhpcy5fZGV0YWlsZWREYXRhQnVmZmVyLmZvckVhY2goKGU9PntzLnB1c2goe2xvZDplLmxvZCx2YWx1ZTplLnZhbHVlLmdyYXBoaWNzfSl9KSksdm9pZCAwIT09dGhpcy5faW5wdXRzJiZzLnB1c2goe2xvZDpNKHRoaXMuX2lucHV0cyksdmFsdWU6dC5ncmFwaGljcygpfSkscy5zb3J0KCgoZSx0KT0+ZS5sb2QtdC5sb2QpKTtjb25zdCByPXMubWFwKChlPT5lLnZhbHVlKSk7dGhpcy5fbWVyZ2VkR3JhcGhpY3M9bmV3IGcodGhpcy5tZXRhSW5mbygpLmdyYXBoaWNzLGUuZ3JhcGhpY3MoKSxyKSx0aGlzLl9wb3N0UHJvY2Vzc0dyYXBoaWNzKCl9X2V4dHJhY3RFZmZlY3RpdmVEZXRhaWxlZFBsb3RWYWx1ZXMoZSx0KXtjb25zdCBzPSgwLGwucmFuZ2VEZXBlbmRlbnRTdHVkeUlucHV0c1RvVGltZVJhbmdlKSh0KSxyPXRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS50aW1lUG9pbnRUb0luZGV4KHMuZnJvbSksbj10aGlzLm1vZGVsKCkudGltZVNjYWxlKCkudGltZVBvaW50VG9JbmRleChzLnRvKTtyZXR1cm4gZS5zaXplKCk+MD9lLnJhbmdlKHJ8fCgwLGkuZW5zdXJlTm90TnVsbCkoZS5maXJzdEluZGV4KCkpLG58fCgwLGkuZW5zdXJlTm90TnVsbCkoZS5sYXN0SW5kZXgoKSkpOnRoaXMuX2VtcHR5UGxvdExpc3QoKX1fbW9yZURldGFpbGVkRGF0YVJlcXVpcmVkRm9yVGltZVJhbmdlKGUpe2NvbnN0e2Zyb206dCx0bzpzfT1lO2xldCByPSExO3JldHVybigwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5fcm91Z2hEYXRhU291cmNlKS5ncmFwaGljcygpLmhoaXN0c0J5VGltZVBvaW50SW5kZXgoKS5mb3JFYWNoKCgoZSxpKT0+e2lmKHIpcmV0dXJuO2lmKG51bGw9PT1pKXJldHVybjtjb25zdCBuPXRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS5pbmRleFRvVGltZVBvaW50KGkpO2lmKG51bGw9PT1ufHxuPHR8fHM8bilyZXR1cm47Y29uc3Qgbz1zLXQ7bGV0IGE9ITE7dGhpcy5fZGV0YWlsZWREYXRhQnVmZmVyLmZvckVhY2goKGU9PntpZihlLmxvZDw9byl7ZS52YWx1ZS5ncmFwaGljcy5oaGlzdHNCeVRpbWVQb2ludEluZGV4KCkuaGFzKGkpJiYoYT0hMCl9fSkpLGF8fChyPSEwKX0pKSxyfV9vblN0dWR5U3RhdHVzQ2hhbmdlZCgpe2NvbnN0IGU9dGhpcy5zdGF0dXMoKTt0aGlzLl9zZXRTdGF0dXModGhpcy5fc3RhdHVzVmFsdWVGcm9tRGF0YVNvdXJjZXMoKSksZS50eXBlIT09dGhpcy5zdGF0dXMoKS50eXBlJiZ0aGlzLl91cGRhdGVBbGVydENyZWF0aW9uQXZhaWxhYmxlKCksKDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdGF0dXNWaWV3KS51cGRhdGUoKDAsYi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSl9X29uUm91Z2hPckRldGFpbGVkRGF0YUNsZWFyZWQoKXtudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlJiZudWxsIT09dGhpcy5fZGV0YWlsZWREYXRhU291cmNlJiYodGhpcy5faW52YWxpZGF0ZUxhc3ROb25FbXB0eVBsb3RSb3dDYWNoZSgpLHRoaXMuX2RldGFpbGVkRGF0YUJ1ZmZlci5jbGVhcigpLHRoaXMuX2NyZWF0ZVN0dWR5UGxvdHMoKSx0aGlzLl9jcmVhdGVTdHVkeUdyYXBoaWNzKCksdGhpcy51cGRhdGVBbGxWaWV3cygoMCxiLnNvdXJjZUNoYW5nZUV2ZW50KSh7c291cmNlSWQ6dGhpcy5pZCgpLGNsZWFyRGF0YTohMH0pKSx0aGlzLm1vZGVsKCkudXBkYXRlU291cmNlKHRoaXMpKX1fb25Sb3VnaE9yRGV0YWlsZWREYXRhVXBkYXRlZChlKXtudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlJiZudWxsIT09dGhpcy5fZGV0YWlsZWREYXRhU291cmNlJiYoZS5sZW5ndGg+MCYmdGhpcy5fY3JlYXRlU3R1ZHlQbG90cygpLHRoaXMudXBkYXRlQWxsVmlld3MoKDAsYi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZSh0aGlzKSl9YXN5bmMgX3NldEFsZXJ0c1N0dWR5TWV0YUluZm8oKXt0aGlzLl9hbGVydHNTdHVkeU1ldGFJbmZvPWF3YWl0KDAsdy5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7dHlwZToiamF2YSIsc3R1ZHlJZDpEfSksdGhpcy5fdXBkYXRlQWxlcnRDcmVhdGlvbkF2YWlsYWJsZSgpfX1mdW5jdGlvbiBBKCl7cmV0dXJuIHZvaWQgMCE9PXdpbmRvdy5wcm8mJndpbmRvdy5wcm8uaGFzUGFja2FnZShDKX1mdW5jdGlvbiBMKGUsdCl7Y29uc3Qgcz17fTtmb3IoY29uc3QgaSBvZiBlKXNbaS5pZF09dFtpLmlkXTtyZXR1cm4gc31mdW5jdGlvbiBFKGUpe2NvbnN0IHQ9ZS5sYXN0X3Zpc2libGVfYmFyX3RpbWUtZS5maXJzdF92aXNpYmxlX2Jhcl90aW1lO3JldHVybnsuLi5lLApmaXJzdF92aXNpYmxlX2Jhcl90aW1lOmUuZmlyc3RfdmlzaWJsZV9iYXJfdGltZS10LGxhc3RfdmlzaWJsZV9iYXJfdGltZTplLmxhc3RfdmlzaWJsZV9iYXJfdGltZSt0fX1mdW5jdGlvbiBNKGUpe2NvbnN0e2Zyb206dCx0bzpzfT0oMCxsLnJhbmdlRGVwZW5kZW50U3R1ZHlJbnB1dHNUb1RpbWVSYW5nZSkoZSk7cmV0dXJuIHMtdH1mdW5jdGlvbiBrKGUpe3JldHVybmAke2UuaWR9LSR7ZS52ZXJzaW9ufWB9fSwyNDM3MjMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLnIodCkscy5kKHQse1Nlc3Npb25Wb2x1bWVTdHVkeTooKT0+XyxjcmVhdGVTZXNzaW9uVm9sdW1lU3R1ZHk6KCk9Pnl9KTt2YXIgaT1zKDEzODYzOCkscj1zKDQzNzc0OSksbj1zKDYwNTI1Nyksbz1zKDE0MTM1MCksYT1zKDg3MjM0MyksbD1zKDIyNzA1NiksdT1zKDIzNDg2NiksYz1zKDg3MzYzKTtjbGFzcyBoIGV4dGVuZHMgYy5TdHVkeUNoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXJ7Y29uc3RydWN0b3IoZSx0LHMsaSl7c3VwZXIoZSx0LGkpLHRoaXMuX3Nlcmllc1ZhbHVlc1Byb3ZpZGVyPW5ldyB1LlNlcmllc0NoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXIocyx0KX1nZXRJdGVtcygpe3JldHVyblsuLi5zdXBlci5nZXRJdGVtcygpLHRoaXMuX3Nlcmllc1ZhbHVlc1Byb3ZpZGVyLmdldEl0ZW1zKClbN11dfWdldFZhbHVlcyhlKXtyZXR1cm5bLi4uc3VwZXIuZ2V0VmFsdWVzKGUpLHRoaXMuX3Nlcmllc1ZhbHVlc1Byb3ZpZGVyLmdldFZhbHVlcyhlKVs3XV19fXZhciBkPXMoNTUwMzkzKTtjbGFzcyBfIGV4dGVuZHMgbC5Wb2x1bWVQcm9maWxlV2l0aFByaWNlUmFuZ2VTdHVkeXt9Y2xhc3MgcCBleHRlbmRzIF97Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2NoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXI9bnVsbH1wYW5lVmlld3MoZSl7cmV0dXJuIHRoaXMuX3BhbmVWaWV3c31wcmljZVNjYWxlKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCl9aGFzU3RhdGVGb3JBbGVydCgpe3JldHVybiExfWNoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2NoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXImJih0aGlzLl9jaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyPW5ldyBoKHRoaXMsdGhpcy5fbW9kZWwsdGhpcy5fbW9kZWwubWFpblNlcmllcygpKSksdGhpcy5fY2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcn1fY3JlYXRlZENoYXJ0RmxvYXRpbmdUb29sdGlwVmlldygpe3JldHVybiBuZXcgby5TdHVkeUNoYXJ0RmxvYXRpbmdUb29sdGlwVmlldyh0aGlzLHRoaXMuX21vZGVsLCEwKX19YXN5bmMgZnVuY3Rpb24geShlKXtjb25zdCB0PWF3YWl0KDAsbi5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7dHlwZToiamF2YSIsc3R1ZHlJZDpkLnN0dWR5VmJQU2Vzc2lvbnNJZH0pLHM9KDAsci5wcmVwYXJlU3R1ZHlQcm9wZXJ0aWVzKSh0LHt9LG51bGwsKDAsbi5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5zdHVkeVZlcnNpb25pbmcoKSxbXSksbz0iU2Vzc2lvblZvbHVtZUFzQ2hhcnRTdHlsZSI7KDAsYS5hZGRTdHVkeUluZm9Ub01hcCkobywoMCxhLmNyZWF0ZVN0dWR5SW5mbykoKGFzeW5jKCk9PnApLCJub1JvdGF0aW9ucyIpKTtjb25zdCBsPSgwLGkuZW5zdXJlRGVmaW5lZCkoKDAsYS5nZXRTdHVkeUluZm9CeU5hbWUpKG8pKTtyZXR1cm4gbC5zdHVkeUNvbnN0cnVjdG9yfHwobC5zdHVkeUNvbnN0cnVjdG9yPXApLG5ldyBwKGUscyxbXSx0LHQsITEpfX0sMjI3MDU2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1ZiUFZpc2libGVXcmFwcGVyOigpPT55LFZvbHVtZVByb2ZpbGVTdHVkeVdpdGhUaGVtZWRDb2xvcnM6KCk9Pl8sVm9sdW1lUHJvZmlsZVdpdGhQcmljZVJhbmdlU3R1ZHk6KCk9PnB9KTt2YXIgaT1zKDEzODYzOCkscj1zKDIzMjM2NCksbj1zKDYzNTUwOSk7dmFyIG89cyg3MTY3OCksYT1zKDg3MzU3Myk7Y2xhc3MgbCBleHRlbmRzIG8uUHJpY2VBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCksdGhpcy5fc291cmNlPWUsdGhpcy5fc3R5bGVJZD10fV91cGRhdGVSZW5kZXJlckRhdGEoZSx0LHMpe2UudmlzaWJsZT0hMTtjb25zdCBpPXRoaXMuX3NvdXJjZS5wcmljZVNjYWxlKCkscj10aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpO2lmKCFpfHxpLmlzRW1wdHkoKXx8IXIudmlzaWJsZS52YWx1ZSgpKXJldHVybjtjb25zdCBuPXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkuaG9yaXpsaW5lcz8uY2hpbGRzKClbdGhpcy5fc3R5bGVJZF0uY2hpbGRzKCk7aWYoIShuJiZuLnZpc2libGUmJm4udmlzaWJsZS52YWx1ZSgpJiZ0aGlzLl9pc0xhYmVsVmlzaWJsZUFjY29yZGluZ2x5VG9Qcm9wZXJ0aWVzKCkpKXJldHVybjtjb25zdCBvPXRoaXMuX3NvdXJjZS5tb2RlbCgpLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZSgpLGw9dGhpcy5fc291cmNlLmZpcnN0VmFsdWUoKTtpZihudWxsPT09bHx8bnVsbD09PW8pcmV0dXJuO2NvbnN0IHU9e3ByaWNlOk5hTix0aW1lOi0xLzB9LGM9dGhpcy5fc291cmNlLmdyYXBoaWNzKCkuaG9yaXpsaW5lcygpLmdldCh0aGlzLl9zdHlsZUlkKTtpZih2b2lkIDA9PT1jKXJldHVybjtmb3IoY29uc3QgZSBvZiBjKXtpZih2b2lkIDA9PT1lLmxldmVsKWNvbnRpbnVlO2NvbnN0IHQ9by5jb250YWlucyhlLnN0YXJ0SW5kZXgsITApO3Q9PT1vLmNvbnRhaW5zKGUuZW5kSW5kZXgsITApJiYwIT09dHx8dS50aW1lPGUuZW5kSW5kZXgmJih1LnRpbWU9ZS5lbmRJbmRleCx1LnByaWNlPWUubGV2ZWwpfWlmKGlzTmFOKHUucHJpY2UpKXJldHVybjtjb25zdCBoPSgwLGEucmVzZXRUcmFuc3BhcmVuY3kpKG4uY29sb3IudmFsdWUoKSk7cy5iYWNrZ3JvdW5kPWgscy50ZXh0Q29sb3I9dGhpcy5nZW5lcmF0ZVRleHRDb2xvcihoKSxzLmNvb3JkaW5hdGU9aS5wcmljZVRvQ29vcmRpbmF0ZSh1LnByaWNlLGwpLAplLnRleHQ9aS5mb3JtYXRQcmljZSh1LnByaWNlLGwse3NpZ25Qb3NpdGl2ZTppLmlzUGVyY2VudGFnZSgpfSksZS52aXNpYmxlPSEwLGUuc2VsZWN0ZWRNYXJrQ29sb3I9dGhpcy5fc291cmNlLm1vZGVsKCkuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zb3VyY2UpP2g6dm9pZCAwfV9pc0xhYmVsVmlzaWJsZUFjY29yZGluZ2x5VG9Qcm9wZXJ0aWVzKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UubW9kZWwoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKTtyZXR1cm4oZS5zaG93U3R1ZHlMYXN0VmFsdWUudmFsdWUoKXx8ZS5zaG93RnVuZGFtZW50YWxMYXN0VmFsdWUudmFsdWUoKSkmJnRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvd0xhYmVsc09uUHJpY2VTY2FsZS52YWx1ZSgpfX12YXIgdT1zKDE5NzI3MiksYz1zKDMxNTY1NCksaD1zKDg5ODkyNyk7Y2xhc3MgZCBleHRlbmRzIHUuU3R1ZHl7Y29uc3RydWN0b3IoZSx0LHMsaSxyLG4pe3N1cGVyKGUsdCxzLGkscixuKX1wcmVmZXJyZWRaT3JkZXIoKXtyZXR1cm4gMH1hc3luYyBfY3JlYXRlR3JhcGhpY3NQYW5lVmlld3MoKXtjb25zdCBlPXRoaXMubWV0YUluZm8oKS5ncmFwaGljcyx0PXRoaXMubW9kZWwoKSxpPXtyZWd1bGFyUGFuZVZpZXdzOltdLGZvcmNlT3ZlcmxheVBhbmVWaWV3czpbXX0scj10aGlzLl9uZWVkRXh0ZW5kVG9CYXJzRW5kaW5nKCk7aWYoZS5oaGlzdHMpe2NvbnN0e0hIaXN0UGFuZVZpZXc6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSg5NzU1OCkscy5lKDQ1Mjc3KSxzLmUoOTE2NjgpXSkudGhlbihzLmJpbmQocywyMjExNjUpKSxuPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmdyYXBoaWNzLmNoaWxkcygpLnBvbHlnb25zPy5jaGlsZHMoKTtpLnJlZ3VsYXJQYW5lVmlld3MucHVzaChuZXcgZSh0aGlzLHQsdm9pZCAwLG4/Lmhpc3RCb3hCZyxyKSl9aWYoZS5ob3JpemxpbmVzKXtjb25zdHtIb3JpekxpbmVQYW5lVmlldzplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDk3NTU4KSxzLmUoNDUyNzcpLHMuZSg5MTY2OCldKS50aGVuKHMuYmluZChzLDY3NzkwOSkpO2kucmVndWxhclBhbmVWaWV3cy5wdXNoKG5ldyBlKHRoaXMsdCx2b2lkIDAscikpfXJldHVybiBpfV9jcmVhdGVHcmFwaGljc1ByaWNlQXhpc1ZpZXdzKCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMubWV0YUluZm8oKS5ncmFwaGljcy5ob3JpemxpbmVzPz97fSkubWFwKChlPT5uZXcgbCh0aGlzLGUpKSl9X2NyZWF0ZVN0dWR5UGxvdFBhbmVWaWV3KGUpe3JldHVybiBuZXcgYy5TdHVkeVBsb3RQYW5lVmlldyh0aGlzLHRoaXMuX3Nlcmllcyx0aGlzLl9tb2RlbCxlLHRoaXMuX25lZWRFeHRlbmRUb0JhcnNFbmRpbmcoKSl9X2FwaUlucHV0cygpe3JldHVybnsuLi5zdXBlci5fYXBpSW5wdXRzKCksbWFwUmlnaHRCb3VuZGFyeVRvQmFyU3RhcnRUaW1lOiEhdGhpcy5fbmVlZEV4dGVuZFRvQmFyc0VuZGluZygpfHx2b2lkIDB9fV9uZWVkRXh0ZW5kVG9CYXJzRW5kaW5nKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMubWV0YUluZm8oKS5kZWZhdWx0cy5pbnB1dHM/Lm1hcFJpZ2h0Qm91bmRhcnlUb0JhclN0YXJ0VGltZX19Y2xhc3MgXyBleHRlbmRzIGR7Y29uc3RydWN0b3IoZSx0LHMsaSxyLG4pe3Quc2V0VGhlbWVkQ29sb3JzKCgwLGgudm9sdW1lUHJvZmlsZVRoZW1lZENvbG9ycykodC5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS5wb2x5Z29ucz8uaGFzQ2hpbGQoImhpc3RCb3hCZyIpKSksc3VwZXIoZSx0LHMsaSxyLG4pfX1jbGFzcyBwIGV4dGVuZHMgX3twcmljZVJhbmdlKGUpe2lmKGUudGFyZ2V0UHJpY2VTY2FsZSE9PXRoaXMucHJpY2VTY2FsZSgpKXJldHVybiBudWxsO2xldCB0PSExO3RoaXMuZ3JhcGhpY3MoKS5oaGlzdHMoKS5mb3JFYWNoKCgoZSxzKT0+e3Q9dHx8KDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS5oaGlzdHM/LmNoaWxkcygpW3NdKS52YWx1ZSgpfSkpO2NvbnN0IHM9ZnVuY3Rpb24oZSx0LHMsaSl7bGV0IHI9bnVsbDtyZXR1cm4gZS5mb3JFYWNoKChlPT57ZS5mb3JFYWNoKChlPT57Y29uc3QgaT1lLmZpcnN0QmFyVGltZTtudWxsIT09aSYmaTw9cyYmZS5sYXN0QmFyVGltZT49dCYmKG51bGw9PT1yP3I9e2xvdzp7bDplLnByaWNlTG93LGg6ZS5wcmljZUhpZ2h9LGhpZ2g6e2g6ZS5wcmljZUhpZ2h9fTooZS5wcmljZUxvdzxyLmxvdy5sJiYoci5sb3cubD1lLnByaWNlTG93LHIubG93Lmg9ZS5wcmljZUhpZ2gpLHIuaGlnaC5oPU1hdGgubWF4KHIuaGlnaC5oLGUucHJpY2VIaWdoKSkpfSkpfSkpLG51bGw9PT1yP251bGw6aT9uZXcgbi5QcmljZVJhbmdlKHIubG93LmwtLjgqKHIubG93Lmgtci5sb3cubCksci5oaWdoLmgpOm5ldyBuLlByaWNlUmFuZ2Uoci5sb3cubCxyLmhpZ2guaCl9KHRoaXMuZ3JhcGhpY3MoKS5oaGlzdHMoKSxlLnN0YXJ0VGltZVBvaW50LGUuZW5kVGltZVBvaW50LHQpO2lmKG51bGw9PT1zKXJldHVybiBudWxsO2NvbnN0IHI9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlU2NhbGUoKSk7cmV0dXJuIHIuaXNMb2coKT9uZXcgbi5QcmljZVJhbmdlKHIucHJpY2VUb0xvZ2ljYWwocy5taW5WYWx1ZSgpKSxyLnByaWNlVG9Mb2dpY2FsKHMubWF4VmFsdWUoKSkpOnN9fWNsYXNzIHkgZXh0ZW5kcyBwe2FsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKXtyZXR1cm4gbmV3IHIuV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpfV9uZWVkRXh0ZW5kVG9CYXJzRW5kaW5nKCl7cmV0dXJuITF9fX0sODk4OTI3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse3ZvbHVtZVByb2ZpbGVUaGVtZWRDb2xvcnM6KCk9Pl99KTt2YXIgaT1zKDUwNzYwNCk7Y29uc3R7Y29sb3JDb2xkR3JheTIwMDpyLGNvbG9yQ29sZEdyYXk5MDA6bixjb2xvckJlcnJ5UGluazQwMEFscGhhNTA6byxjb2xvckJlcnJ5UGluazQwMEFscGhhNzU6YSxjb2xvclNreUJsdWU0MDBBbHBoYTUwOmwsY29sb3JTa3lCbHVlNDAwQWxwaGE1OnUsY29sb3JTa3lCbHVlNDAwQWxwaGE3NTpjLGNvbG9yU2t5Qmx1ZTUwMDpofT1pLmNvbG9ycyxkPXsKdmFsOltuLHJdLHBvYzpbbixyXSx2YWg6W24scl0sZGV2ZWxvcGluZ1BvYzpbbixyXSxkZXZlbG9waW5nVkE6W2gsaF0sdmFsdWVzQ29sb3I6W24scl0sdm9sdW1lQ29sb3JVcDpbbCxsXSx2b2x1bWVDb2xvckRvd246W28sb10sdmFsdWVBcmVhQ29sb3JVcDpbYyxjXSx2YWx1ZUFyZWFDb2xvckRvd246W2EsYV0saGlzdG9ncmFtQm94Q29sb3I6W3UsdV19O2Z1bmN0aW9uIF8oZSl7Y29uc3QgdD0iZ3JhcGhpY3MuaG9yaXpsaW5lcyIscz0iZ3JhcGhpY3MuaGhpc3RzIixpPVt7cGF0aDpgJHt0fS5wb2NMaW5lcy5jb2xvcmAsY29sb3JzOmQucG9jfSx7cGF0aDpgJHt0fS52YWhMaW5lcy5jb2xvcmAsY29sb3JzOmQudmFofSx7cGF0aDpgJHt0fS52YWxMaW5lcy5jb2xvcmAsY29sb3JzOmQudmFsfSx7cGF0aDpgJHtzfS5oaXN0QmFyczIuY29sb3JzLjBgLGNvbG9yczpkLnZvbHVtZUNvbG9yVXB9LHtwYXRoOmAke3N9Lmhpc3RCYXJzMi5jb2xvcnMuMWAsY29sb3JzOmQudm9sdW1lQ29sb3JEb3dufSx7cGF0aDpgJHtzfS5oaXN0QmFyczIudmFsdWVzQ29sb3JgLGNvbG9yczpkLnZhbHVlc0NvbG9yfSx7cGF0aDpgJHtzfS5oaXN0QmFyc1ZBLmNvbG9ycy4wYCxjb2xvcnM6ZC52YWx1ZUFyZWFDb2xvclVwfSx7cGF0aDpgJHtzfS5oaXN0QmFyc1ZBLmNvbG9ycy4xYCxjb2xvcnM6ZC52YWx1ZUFyZWFDb2xvckRvd259LHtwYXRoOmAke3N9Lmhpc3RCYXJzVkEudmFsdWVzQ29sb3JgLGNvbG9yczpkLnZhbHVlc0NvbG9yfSx7cGF0aDoic3R5bGVzLmRldmVsb3BpbmdQb2MuY29sb3IiLGNvbG9yczpkLmRldmVsb3BpbmdQb2N9LHtwYXRoOiJzdHlsZXMuZGV2ZWxvcGluZ1ZBSGlnaC5jb2xvciIsY29sb3JzOmQuZGV2ZWxvcGluZ1ZBfSx7cGF0aDoic3R5bGVzLmRldmVsb3BpbmdWQUxvdy5jb2xvciIsY29sb3JzOmQuZGV2ZWxvcGluZ1ZBfV07cmV0dXJuIGUmJmkucHVzaCh7cGF0aDoiZ3JhcGhpY3MucG9seWdvbnMuaGlzdEJveEJnLmNvbG9yIixjb2xvcnM6ZC5oaXN0b2dyYW1Cb3hDb2xvcn0pLGl9fSw3MjAxMjAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Vm9sdW1lU3R1ZHk6KCk9Pm99KTt2YXIgaT1zKDE5NzI3Mikscj1zKDEwMDIzOSksbj1zKDE2ODI1OCk7Y2xhc3MgbyBleHRlbmRzIGkuU3R1ZHl7YmFzZSgpe3JldHVybiAxfWRlc3Ryb3koKXtzdXBlci5kZXN0cm95KCl9c2hvd09uVG9wT25Ib3ZlcmluZygpe3JldHVybiExfWNoYXJ0RmxvYXRpbmdUb29sdGlwVmlldygpe3JldHVybiB0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMpPT09dGhpcy5fbW9kZWwubWFpblBhbmUoKT9udWxsOnN1cGVyLmNoYXJ0RmxvYXRpbmdUb29sdGlwVmlldygpfV90aXRsZUluUGFydHMoZSx0LHMsaSxyLG4pe2NvbnN0IG89c3VwZXIuX3RpdGxlSW5QYXJ0cyhlLHQscyxpLHIpLGE9dGhpcy5fZ2V0Vm9sdW1lVW5pdCgpO3JldHVybiBhJiYhbiYmKG9bMF0rPWAgwrcgJHthfWApLG99X3NraXBwZWRUaXRsZUlucHV0cygpe2NvbnN0IGU9c3VwZXIuX3NraXBwZWRUaXRsZUlucHV0cygpO3RoaXMuX2dldFBsb3REaXNwbGF5VmFsdWUoInZvbF9tYSIpPT09bi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0Lk5vbmUmJiFlLmluY2x1ZGVzKCJsZW5ndGgiKSYmZS5wdXNoKCJsZW5ndGgiKTtyZXR1cm4gZX1fZ2V0Vm9sdW1lVW5pdCgpe2NvbnN0IGU9dGhpcy5zeW1ib2xTb3VyY2UoKS5zeW1ib2xJbmZvKCk7cmV0dXJuIGU/KDAsci5nZXRWb2x1bWVVbml0KSh7Li4uZSxjdXJyZW5jeTplLm9yaWdpbmFsX2N1cnJlbmN5X2NvZGV8fGUuY3VycmVuY3lfY29kZX0pOnZvaWQgMH19fSwxMjMyNjAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7c3R1ZHlfT3ZlcmxheTooKT0+T2V9KTt2YXIgaT1zKDEzODYzOCkscj1zKDYwMTg0MSksbj1zKDIzMjM2NCksbz1zKDk1MjkwMCksYT1zKDIyMTA2MSksbD1zKDQ3NTQ3OCksdT1zKDYxOTE2NSksYz1zKDg1NzE1MSksaD1zKDkzNjMyNiksZD1zKDkzMDIzMSksXz1zKDk2ODY3MSkscD1zKDU2OTg0NikseT1zKDMxODk3NCksbT1zKDE5NzI3Miksdj1zKDQ1OTY3MyksZj1zKDE1Mjc2NiksUz1zKDEyODk5OCksZz1zKDMxNDkxNCksYj1zKDc2ODI5Miksdz1zKDQwNzc5OSksQz1zKDY5OTU1MCksUD1zKDIwNjU3MCkseD1zKDMyMjU1NCksRD1zKDYzNTUwOSksST1zKDI1MDMzNCksVD1zKDkzMjY5MyksVj1zKDgwNjgxOCksUj1zKDcxNjc4KSxBPXMoMjI2NDc3KSxMPXMoMTIzNjE3KSxFPXMoODczNTczKTtjb25zdCBNPSgwLGQuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImZvcmNlX2V4Y2hhbmdlX2FzX3RpdGxlIik7Y2xhc3MgayBleHRlbmRzIFIuUHJpY2VBeGlzVmlld3tjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX3NvdXJjZT1lfV91cGRhdGVSZW5kZXJlckRhdGEoZSx0LHMpe2UudmlzaWJsZT0hMSx0LnZpc2libGU9ITE7Y29uc3Qgcj10aGlzLl9zb3VyY2UubGFzdFZhbHVlRGF0YSgiY2xvc2UiLCExKTtpZihyLm5vRGF0YSlyZXR1cm47Y29uc3Qgbj10aGlzLl9zb3VyY2UubW9kZWwoKSxvPXRoaXMuX3NvdXJjZS5wcmljZVNjYWxlKCk7aWYobnVsbD09PW8pcmV0dXJuO2lmKCFuLmlzUHJpY2VTY2FsZVZpc2libGUobykpcmV0dXJuO2NvbnN0IGE9bi50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksbD1uLm1haW5TZXJpZXMoKS5iYXJzKCkubGFzdEluZGV4KCk7aWYobnVsbD09PWF8fG51bGw9PT1sKXJldHVybjtsZXQgdTtpZihsPD1hLmxhc3RCYXIoKSlzLmJhY2tncm91bmQ9KDAsRS5yZXNldFRyYW5zcGFyZW5jeSkoci5jb2xvcikscy50ZXh0Q29sb3I9dGhpcy5nZW5lcmF0ZVRleHRDb2xvcihyLmNvbG9yKSxlLmJvcmRlclZpc2libGU9ITEsdC5ib3JkZXJWaXNpYmxlPSExLHU9cy5iYWNrZ3JvdW5kO2Vsc2V7Y29uc3Qgbz1uLmJhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wKHIuY29vcmRpbmF0ZS8oMCxpLmVuc3VyZU5vdE51bGwpKG4ucGFuZUZvclNvdXJjZSh0aGlzLl9zb3VyY2UpKS5oZWlnaHQoKSk7cy5iYWNrZ3JvdW5kPW8scy50ZXh0Q29sb3I9KDAsRS5yZXNldFRyYW5zcGFyZW5jeSkoci5jb2xvciksCnMuYm9yZGVyQ29sb3I9cy50ZXh0Q29sb3IsdT1zLmJvcmRlckNvbG9yLGUuYm9yZGVyVmlzaWJsZT0hMCx0LmJvcmRlclZpc2libGU9ITB9cy5jb29yZGluYXRlPXIuY29vcmRpbmF0ZTtjb25zdCBjPXRoaXMuX3NvdXJjZS5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpO2Muc2hvd1Nlcmllc0xhc3RWYWx1ZS52YWx1ZSgpJiYoZS50ZXh0PSgwLEwuZ2V0Q3VycmVudE1vZGVQcmljZVRleHQpKG8sciksYy5zZXJpZXNMYXN0VmFsdWVNb2RlLnZhbHVlKCkhPT1BLlByaWNlQXhpc0xhc3RWYWx1ZU1vZGUuTGFzdFByaWNlQW5kUGVyY2VudGFnZVZhbHVlP2Uuc2Vjb25kTGluZT0iIjplLnNlY29uZExpbmU9KDAsTC5nZXRPcHBvc2l0ZU1vZGVQcmljZVRleHQpKG8sciksZS52aXNpYmxlPSEwKSx0LnRleHQ9IiIsYy5zaG93U3ltYm9sTGFiZWxzLnZhbHVlKCkmJih0LnRleHQ9dGhpcy5fcGFuZVRleHQoKSx0LnZpc2libGU9dC50ZXh0Lmxlbmd0aD4wKSxlLnNlbGVjdGVkTWFya0NvbG9yPW4uc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zb3VyY2UpP3U6dm9pZCAwfV9wYW5lVGV4dCgpe2xldCBlPSIiO2NvbnN0IHQ9dGhpcy5fc291cmNlLmFsaWFzU3ltYm9sSW5mbygpO3JldHVybiBNP2U9KDAsUy5kaXNwbGF5ZWRTeW1ib2xFeGNoYW5nZSkodCk6dGhpcy5fc291cmNlLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1N5bWJvbExhYmVscy52YWx1ZSgpJiYoZT0oMCxTLmRpc3BsYXllZFN5bWJvbE5hbWUpKHQpKSxlfX12YXIgQj1zKDk2OTQpO2NsYXNzIE4gZXh0ZW5kcyBCLlByaWNlTGluZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fc3R1ZHk9ZX1fdmFsdWUoKXtyZXR1cm4gdGhpcy5fc3R1ZHkubGFzdFZhbHVlRGF0YSgiIiwhMCl9X3ByaWNlTGluZUNvbG9yKGUpe3JldHVybiBlfV9saW5lV2lkdGgoKXtyZXR1cm4gMX1faXNWaXNpYmxlKCl7Y29uc3QgZT10aGlzLl9zdHVkeS5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTZXJpZXNMYXN0VmFsdWUudmFsdWUoKTtyZXR1cm4gdGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnNob3dQcmljZUxpbmUudmFsdWUoKSYmZX19dmFyIEY9cygyNjA2OSksTz1zKDY1MDQ4MCk7Y2xhc3MgSHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9saW5lUmVuZGVyZXI9bmV3IE8uSG9yaXpvbnRhbExpbmVSZW5kZXJlcix0aGlzLl92aXNpYmxlPSExLHRoaXMuX3NvdXJjZT1lfXVwZGF0ZSgpe2lmKHRoaXMuX3Zpc2libGU9ITEsIXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvd1ByaWNlTGluZS52YWx1ZSgpKXJldHVybjtjb25zdCBlPXRoaXMuX3NvdXJjZS5sYXN0VmFsdWVEYXRhKCIiLCEwKTtlLm5vRGF0YXx8KHRoaXMuX3Zpc2libGU9ITAsdGhpcy5fbGluZVJlbmRlcmVyLnNldERhdGEoe3k6ZS5jb29yZGluYXRlLGNvbG9yOmUuY29sb3IsbGluZXdpZHRoOjEsbGluZXN0eWxlOkYuTElORVNUWUxFX0RPVFRFRCx2aXNpYmxlOnRoaXMuX3Zpc2libGV9KSl9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5fdmlzaWJsZT90aGlzLl9saW5lUmVuZGVyZXI6bnVsbH19dmFyIHEsej1zKDg2MDQ0MiksVT1zKDY3ODI4NSksVz1zKDk0Mzk1KTshZnVuY3Rpb24oZSl7ZVtlLk9wZW49MF09Ik9wZW4iLGVbZS5IaWdoPTFdPSJIaWdoIixlW2UuTG93PTJdPSJMb3ciLGVbZS5DbG9zZT0zXT0iQ2xvc2UiLGVbZS5Tb3VyY2U9NF09IlNvdXJjZSIsZVtlLkxhc3RQcmljZT01XT0iTGFzdFByaWNlIixlW2UuQ2hhbmdlPTZdPSJDaGFuZ2UiLGVbZS5MYXN0RGF5Q2hhbmdlPTddPSJMYXN0RGF5Q2hhbmdlIn0ocXx8KHE9e30pKTt2YXIgJD1zKDE4NTI3MSksRz1zKDk2OTE2OCksaj1zKDIzMzI0NyksWT1zKDE4OTgwMCksSj1zKDE2ODc3MSksUT1zKDQxNjM1KSxaPXMoODgyMDU2KSxLPXMoNjQwMjkyKTtjb25zdCBYPUoubGFzdERheUNoYW5nZUF2YWlsYWJsZXx8Si5hbHdheXNTaG93TGFzdFByaWNlQW5kTGFzdERheUNoYW5nZSxlZT15LkNoZWNrTW9iaWxlLmFueSgpLHRlPSgwLGouZ2V0UGVyY2VudGFnZUZvcm1hdHRlcikoKSxzZT1LLm5vdEF2YWlsYWJsZSxpZT1gJHtzZX0gKCR7c2V9JSlgO2NsYXNzIHJle2NvbnN0cnVjdG9yKGUsdCxpPSEwKXt0aGlzLl9zdHVkeT1lLHRoaXMuX21vZGVsPXQsdGhpcy5fc2VhcmNoTmVhcmVzdExlZnRWYWx1ZT1pLHRoaXMuX2VtcHR5VmFsdWVzPVt7dGl0bGU6JC50KG51bGwsdm9pZCAwLHMoOTc3ODEpKSx2aXNpYmxlOiExLHZhbHVlOiIiLGluZGV4OjAsb3JkZXJJbmRleDowLGlkOiJvcGVuIn0se3RpdGxlOiQudChudWxsLHZvaWQgMCxzKDg0NTU2MykpLHZpc2libGU6ITEsdmFsdWU6IiIsaW5kZXg6MSxvcmRlckluZGV4OjEsaWQ6ImhpZ2gifSx7dGl0bGU6JC50KG51bGwsdm9pZCAwLHMoODg4Njc4KSksdmlzaWJsZTohMSx2YWx1ZToiIixpbmRleDoyLG9yZGVySW5kZXg6MixpZDoibG93In0se3RpdGxlOiQudChudWxsLHtjb250ZXh0OiJpbnB1dCJ9LHMoMzEyMjk3KSksdmlzaWJsZTohMSx2YWx1ZToiIixpbmRleDozLG9yZGVySW5kZXg6MyxpZDoiY2xvc2UifSx7dGl0bGU6IiIsdmlzaWJsZTohMSx2YWx1ZToiIixpbmRleDo0LG9yZGVySW5kZXg6NCxpZDoic291cmNlIn0se3RpdGxlOiIiLHZpc2libGU6ITEsdmFsdWU6IiIsaW5kZXg6NSxvcmRlckluZGV4OjUsaWQ6Imxhc3RQcmljZSJ9LHt0aXRsZTokLnQobnVsbCx2b2lkIDAscyg2NzM0ODcpKSx2aXNpYmxlOiExLHZhbHVlOiIiLGluZGV4OjYsb3JkZXJJbmRleDo2LGlkOiJjaGFuZ2UifSx7dGl0bGU6JC50KG51bGwsdm9pZCAwLHMoMzE0NjcpKSx2aXNpYmxlOiExLHZhbHVlOiIiLGluZGV4Ojcsb3JkZXJJbmRleDo3LGlkOiJsYXN0RGF5Q2hhbmdlIn1dfWdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX2VtcHR5VmFsdWVzfWdldFZhbHVlcyhlKXtjb25zdCB0PXRoaXMuX2VtcHR5VmFsdWVzLm1hcCgoZT0+KHsuLi5lfSkpKQo7aWYodGhpcy5fbW9kZWwudGltZVNjYWxlKCkuaXNFbXB0eSgpKXJldHVybiB0O2NvbnN0IHM9dGhpcy5fc3R1ZHkuZGF0YSgpLGk9cy5sYXN0SW5kZXgoKTtpZigwPT09cy5zaXplKCl8fG51bGw9PT1pKXJldHVybiB0O2NvbnN0IG49dGhpcy5fc2VhcmNoTmVhcmVzdExlZnRWYWx1ZT9oLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RMZWZ0OmguUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3Qsbz1zLnNlYXJjaChpLG4sMSk7aWYobnVsbD09PW8pcmV0dXJuIHQ7Y29uc3QgYT10aGlzLl9zaG93TGFzdFByaWNlQW5kQ2hhbmdlT25seSgpO2lmKCgwLHIuaXNOdW1iZXIpKGUpfHwoYT9lPWk6KGU9dGhpcy5fbW9kZWwuY3Jvc3NoYWlyU291cmNlKCkuYXBwbGllZEluZGV4KCksKDAsci5pc051bWJlcikoZSl8fChlPWkpKSksbnVsbD09PWV8fCEoMCxyLmlzTnVtYmVyKShlKSlyZXR1cm4gdDt0WzBdLnZhbHVlPXNlLHRbMV0udmFsdWU9c2UsdFsyXS52YWx1ZT1zZSx0WzNdLnZhbHVlPXNlLHRbN10udmFsdWU9aWUsdFs2XS52YWx1ZT1pZTtjb25zdCBsPXMuc2VhcmNoKGUsbiwxKSx1PXRoaXMuX21vZGVsLmJhY2tncm91bmRUb3BDb2xvcigpLnZhbHVlKCk7aWYobnVsbD09PWwpcmV0dXJuIHQ7Y29uc3QgYz1sLmluZGV4LGQ9bC52YWx1ZSxfPWRbMV0scD1kWzJdLHk9ZFszXSxtPWRbNF07Zm9yKGNvbnN0IGUgb2YgdCllLnZpc2libGU9IWE7Y29uc3Qgdj10WzRdO3YudmlzaWJsZT0hMTtjb25zdHtiYXJDaGFuZ2U6ZixsYXN0RGF5Q2hhbmdlOlN9PSgwLFkuY2hhbmdlc0RhdGEpKHMsdGhpcy5fc3R1ZHkucXVvdGVzKCksbC52YWx1ZSxsLmluZGV4LG8udmFsdWUpLGc9KDAsWi5nZXRQcmljZVZhbHVlRm9ybWF0dGVyRm9yU291cmNlKSh0aGlzLl9zdHVkeSk7aWYoKDAsWi5zaG91bGRCZUZvcm1hdHRlZEFzUGVyY2VudCkodGhpcy5fc3R1ZHkpfHwoMCxaLnNob3VsZEJlRm9ybWF0dGVkQXNJbmRleGVkVG8xMDApKHRoaXMuX3N0dWR5KSl0WzddLnZhbHVlPSIiLHRbNl0udmFsdWU9IiI7ZWxzZXtjb25zdCBlPXRoaXMuX3N0dWR5LmZvcm1hdHRlcigpLHM9e3NpZ25Qb3NpdGl2ZTohMH07aWYodm9pZCAwIT09Zil7Y29uc3R7Y3VycmVudFByaWNlOmkscHJldlByaWNlOnIsY2hhbmdlOm59PWYsbz1lLmZvcm1hdENoYW5nZT8uKGkscixzKT8/ZS5mb3JtYXQobixzKTt0WzZdLnZhbHVlPSgwLEcuZm9yY2VMVFJTdHIpKGAke299ICgke3RlLmZvcm1hdChmLnBlcmNlbnRDaGFuZ2Uscyl9KWApfWlmKHZvaWQgMCE9PVMpe2NvbnN0e2N1cnJlbnRQcmljZTppLHByZXZQcmljZTpyLGNoYW5nZTpuLHBlcmNlbnRDaGFuZ2U6b309UyxhPWUuZm9ybWF0Q2hhbmdlPy4oaSxyLHMpPz9lLmZvcm1hdChuLHMpO3RbN10udmFsdWU9KDAsRy5mb3JjZUxUUlN0cikoYCR7YX0gKCR7dGUuZm9ybWF0KG8scyl9KWApfX1sZXQgYj1udWxsO2lmKGEpdFs1XS52YWx1ZT1udWxsPT1tP3NlOmcobSksdFs1XS52aXNpYmxlPSEwLGI9dGhpcy5fZ2V0Q2hhbmdlQ29sb3IoUz8uY2hhbmdlKSx0WzZdLnZpc2libGU9dm9pZCAwIT09Zix0WzddLnZpc2libGU9dm9pZCAwIT09U3x8WDtlbHNle3RbMF0udmFsdWU9bnVsbD09Xz9zZTpnKF8pLHRbMV0udmFsdWU9bnVsbD09cD9zZTpnKHApLHRbMl0udmFsdWU9bnVsbD09eT9zZTpnKHkpLHRbM10udmFsdWU9bnVsbD09bT9zZTpnKG0pLHYudmFsdWU9Zyh0aGlzLl9zdHVkeS5iYXJGdW5jdGlvbigpKGQpKSx0WzVdLnZpc2libGU9ITE7Y29uc3QgZT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmlzMVRpY2soKSxzPTIxIT09dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlLnZhbHVlKCk7dFswXS52aXNpYmxlPSFlJiZzLHRbMV0udmlzaWJsZT0hZSx0WzJdLnZpc2libGU9IWUsdFs3XS52aXNpYmxlPXZvaWQgMCE9PVN8fFgsdFs2XS52aXNpYmxlPXZvaWQgMCE9PWY7Y29uc3QgaT10aGlzLl9zdHVkeS5iYXJDb2xvcmVyKCkuYmFyU3R5bGUoYywhMSkscj1pLmJhckJvcmRlckNvbG9yPz9pLmJhckNvbG9yO2I9KDAsWS5jYWxjdWxhdGVDb2xvcikodSxyKX1iPSgwLEUucmVzZXRUcmFuc3BhcmVuY3kpKCgwLFkuY2FsY3VsYXRlQ29sb3IpKHUsYikpO2Zvcihjb25zdCBlIG9mIHQpZS5jb2xvcnx8KGUuY29sb3I9Yik7cmV0dXJuIHRbN10udmlzaWJsZSYmKHRbN10uY29sb3I9KDAsRS5yZXNldFRyYW5zcGFyZW5jeSkoKDAsWS5jYWxjdWxhdGVDb2xvcikodSx0aGlzLl9nZXRDaGFuZ2VDb2xvcihTPy5jaGFuZ2UpKSkpLHR9X21vYmlsZU5vblRyYWNraW5nTW9kZSgpe3JldHVybiBlZSYmKG51bGw9PT10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS5wYW5lfHwoMCx6LmlzTGluZVRvb2xOYW1lKShVLnRvb2wudmFsdWUoKSl8fG51bGwhPT10aGlzLl9tb2RlbC5saW5lQmVpbmdFZGl0ZWQoKSl9X3Nob3dMYXN0UHJpY2VBbmRDaGFuZ2VPbmx5KCl7cmV0dXJuIEouYWx3YXlzU2hvd0xhc3RQcmljZUFuZExhc3REYXlDaGFuZ2V8fHRoaXMuX21vYmlsZU5vblRyYWNraW5nTW9kZSgpfV9nZXRDaGFuZ2VDb2xvcihlKXtjb25zdCB0PXZvaWQgMD09PWV8fGU+PTA/US5TZXJpZXNCYXJDb2xvcmVyLnVwQ29sb3IodGhpcy5fc3R1ZHkucHJvcGVydGllcygpKTpRLlNlcmllc0JhckNvbG9yZXIuZG93bkNvbG9yKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKSk7cmV0dXJuIHQuYmFyQm9yZGVyQ29sb3I/P3QuYmFyQ29sb3J9fXZhciBuZT1zKDUzNjcxMCk7Y29uc3Qgb2U9eS5DaGVja01vYmlsZS5hbnkoKTtjbGFzcyBhZSBleHRlbmRzIG5lLlN0dWR5RGF0YVdpbmRvd1ZpZXd7X3VwZGF0ZUltcGwoKXt0aGlzLl9oZWFkZXI9dGhpcy5fc3R1ZHkudGl0bGUoVy5UaXRsZURpc3BsYXlUYXJnZXQuRGF0YVdpbmRvdyk7bGV0IGU7dGhpcy5fc2hvd0xhc3RQcmljZUFuZENoYW5nZU9ubHkoKT9lPXRoaXMuX3N0dWR5LmRhdGEoKS5sYXN0SW5kZXgoKTooZT10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS5hcHBsaWVkSW5kZXgoKSwobnVsbD09PWV8fGlzTmFOKGUpKSYmKGU9dGhpcy5fc3R1ZHkuZGF0YSgpLmxhc3RJbmRleCgpLCgwLApkLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfbGFzdF92aXNpYmxlX2Jhcl92YWx1ZV9pbl9sZWdlbmQiKSYmKGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpPy5sYXN0QmFyKCk/P05hTikpKTtjb25zdCB0PXRoaXMuX3ZhbHVlUHJvdmlkZXIuZ2V0VmFsdWVzKGUpO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7KytlKXtjb25zdCBzPXRbZV0saT10aGlzLl9pdGVtc1tlXTtpLnNldFZhbHVlKHMudmFsdWUpLGkuc2V0VmlzaWJsZShzLnZpc2libGUpLGkuc2V0Q29sb3Iocy5jb2xvcil9fV9zaG93TGFzdFByaWNlQW5kQ2hhbmdlT25seSgpe3JldHVybiBvZSYmKG51bGw9PT10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS5wYW5lfHwoMCx6LmlzTGluZVRvb2xOYW1lKShVLnRvb2wudmFsdWUoKSl8fG51bGwhPT10aGlzLl9tb2RlbC5saW5lQmVpbmdFZGl0ZWQoKSl9X2NyZWF0ZVZhbHVlc1Byb3ZpZGVyKGUsdCl7cmV0dXJuIG5ldyByZShlLHQpfX12YXIgbGU9cyg5NjY0MDQpO2NsYXNzIHVlIGV4dGVuZHMgcmV7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpO2NvbnN0IHM9dC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkubGVnZW5kUHJvcGVydGllcy5jaGlsZHMoKTt0aGlzLl9zaG93QmFyQ2hhbmdlUHJvcD1zLnNob3dCYXJDaGFuZ2UsdGhpcy5fc2hvd0xhc3REYXlDaGFuZ2VQcm9wPXMuc2hvd0xhc3REYXlDaGFuZ2UsdGhpcy5fc2hvd1Nlcmllc09ITENQcm9wPXMuc2hvd1Nlcmllc09ITEN9Z2V0VmFsdWVzKGUpe2NvbnN0IHQ9c3VwZXIuZ2V0VmFsdWVzKGUpLHM9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLGk9cy5zdHlsZS52YWx1ZSgpLHI9MTIhPT1pLG49dGhpcy5fc2hvd1Nlcmllc09ITEMoKSxvPXImJnRoaXMuX3Nob3dCYXJDaGFuZ2VQcm9wLnZhbHVlKCksYT1yJiZ0aGlzLl9zaG93TGFzdERheUNoYW5nZVByb3AudmFsdWUoKTtpZih0aGlzLl9zaG93TGFzdFByaWNlQW5kQ2hhbmdlT25seSgpKXJldHVybiB0WzddLnZpc2libGUmJj1vLHRbNl0udmlzaWJsZT0hMSx0O2NvbnN0IGw9KDAsUy5pc1ByaWNlU291cmNlU3R5bGUpKGkpLHU9MTIhPT1pJiYxNiE9PWkmJjIxIT09aSxjPTEyIT09aSxoPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pbnRlcnZhbE9iaigpLnZhbHVlKCkuaXMxVGljaygpLGQ9biYmIWwsXz1uJiZsO2lmKHRbMF0udmlzaWJsZT1kJiZ1JiYhaCx0WzFdLnZpc2libGU9ZCYmIWgsdFsyXS52aXNpYmxlPWQmJiFoLHRbM10udmlzaWJsZT1kJiZjLHRbN10udmlzaWJsZSYmPWEsdFs2XS52aXNpYmxlJiY9byx0WzRdLnZpc2libGU9XywxNj09PWkpe2NvbnN0IGU9cy5obGNBcmVhU3R5bGUuY2hpbGRzKCk7dFsxXS5jb2xvcj1lLmhpZ2hMaW5lQ29sb3IudmFsdWUoKSx0WzJdLmNvbG9yPWUubG93TGluZUNvbG9yLnZhbHVlKCksdFszXS5jb2xvcj1lLmNsb3NlTGluZUNvbG9yLnZhbHVlKCl9cmV0dXJuIHR9X3Nob3dTZXJpZXNPSExDKCl7cmV0dXJuIHRoaXMuX3Nob3dTZXJpZXNPSExDUHJvcC52YWx1ZSgpfX12YXIgY2U9cyg3NDE2OTApLGhlPXMoOTQ3MzgyKTtjbGFzcyBkZSBleHRlbmRzIGFle2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9hZGRpdGlvbmFsPW51bGwsdGhpcy5fc3R1ZHlPdmVybGF5PWUsdGhpcy5fYmFja2dyb3VuZENvbG9yU3Bhd249dC5iYWNrZ3JvdW5kVG9wQ29sb3IoKS5zcGF3bigpLHRoaXMuX2JhY2tncm91bmRDb2xvclNwYXduLnN1YnNjcmliZSh0aGlzLnVwZGF0ZS5iaW5kKHRoaXMsKDAsbGUuc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpKTtjb25zdCBzPXQucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCk7dGhpcy5fdmlzaWJpbGl0eVByb3BlcnR5PSgwLGNlLmNvbWJpbmVQcm9wZXJ0eSkoKChlLHQpPT5lfHx0KSxzLnNob3dCYXJDaGFuZ2Uud2Vha1JlZmVyZW5jZSgpLHMuc2hvd1Nlcmllc09ITEMud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl92aXNpYmlsaXR5UHJvcGVydHkuc3Vic2NyaWJlKHRoaXMsdGhpcy51cGRhdGUuYmluZCh0aGlzLCgwLGxlLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSl9YXJlVmFsdWVzVmlzaWJsZSgpe3JldHVybiB0aGlzLl92aXNpYmlsaXR5UHJvcGVydHkudmFsdWUoKX1hZGRpdGlvbmFsKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKSx0aGlzLl9hZGRpdGlvbmFsfWRlc3Ryb3koKXt0aGlzLl9iYWNrZ3JvdW5kQ29sb3JTcGF3bi5kZXN0cm95KCksdGhpcy5fdmlzaWJpbGl0eVByb3BlcnR5LmRlc3Ryb3koKX1fdXBkYXRlSW1wbCgpe3N1cGVyLl91cGRhdGVJbXBsKCk7e2NvbnN0IGU9KDAsaGUuZ2V0RGF0YVZlbmRvclN0cmluZykodGhpcy5fc3R1ZHlPdmVybGF5LnN5bWJvbEluZm8oKSk7dGhpcy5fYWRkaXRpb25hbD1lPyQudChudWxsLHZvaWQgMCxzKDM2NzUzOCkpKyIgIitlOm51bGx9fV9jcmVhdGVWYWx1ZXNQcm92aWRlcihlLHQpe3JldHVybiBuZXcgdWUoZSx0KX19dmFyIF9lPXMoMzc2NjQ1KSxwZT1zKDI3MzE4NykseWU9cygzMjA2NjUpLG1lPXMoNjMyNTM1KSx2ZT1zKDIyODI1MSksZmU9cyg3MzQ0NzkpLFNlPXMoNjU5MjkxKSxnZT1zKDY5Nzc5OSksYmU9cygzMTE2MTkpLHdlPXMoMTU3ODUzKSxDZT1zKDcwMTUwNiksUGU9cygyNzU4NDkpO2NsYXNzIHhlIGV4dGVuZHMgUGUuU3R1ZHlTdGF0dXNQcm92aWRlcntnZXRTcGxpdFRpdGxlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5nZXRTcGxpdFRpdGxlKCExKX10ZXh0KCl7CnJldHVybiB0aGlzLl9zb3VyY2UuaXNBY3R1YWxJbnRlcnZhbCgpP3RoaXMuX3NvdXJjZS5pc0ZhaWxlZCgpP2Ake3RoaXMuX3NvdXJjZS50aXRsZShXLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLCEwLHZvaWQgMCwhMSwhMSl9OiAke3RoaXMuc291cmNlU3RhdHVzVGV4dCgpfWA6YCR7dGhpcy5fc291cmNlLnRpdGxlKFcuVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsITAsdm9pZCAwLCExLCExKX0gJHt0aGlzLnNvdXJjZVN0YXR1c1RleHQoKX1gOnRoaXMuX3NvdXJjZS50aXRsZShXLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLCEwLHZvaWQgMCwhMSwhMSl9fXZhciBEZT1zKDE0MTM1MCk7Y2xhc3MgSWUgZXh0ZW5kcyB1ZXtfc2hvd1Nlcmllc09ITEMoKXtyZXR1cm4hMH19dmFyIFRlPXMoNDg5MDMxKSxWZT1zKDIwNTYyMik7Y2xhc3MgUmV7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9zdHVkeT1lLHRoaXMuX21vZGVsPXQsdGhpcy5fdmFsdWVzUHJvdmlkZXI9bmV3IHJlKGUsdCwhMSl9Z2V0SXRlbXMoKXtjb25zdCBlPXRoaXMuX3ZhbHVlc1Byb3ZpZGVyLmdldEl0ZW1zKCksdD10aGlzLl9zdHVkeS5zdHlsZSgpO3JldHVybigwLFZlLmZpbGxTeW1ib2xTb3VyY2VWYWx1ZXNQcm92aWRlckl0ZW1zVmlzaWJpbGl0eSkoZSx0aGlzLl9zdHVkeS5wcmljZVNvdXJjZSgpLHQsdGhpcy5fbW9kZWwpLGVbN10udmlzaWJsZT0hMSxlfWdldFZhbHVlcyhlKXtjb25zdCB0PXRoaXMuX3N0dWR5LmRhdGEoKS5sYXN0SW5kZXgoKSxzPXRoaXMuX3N0dWR5LmRhdGEoKS5maXJzdEluZGV4KCk7cmV0dXJuIG51bGw9PT10fHxudWxsPT09c3x8ZT50fHxlPHM/bnVsbDp0aGlzLl92YWx1ZXNQcm92aWRlci5nZXRWYWx1ZXMoZSl9fXZhciBBZT1zKDcyMzUyNSk7KDAsZC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibGVnZW5kX2xhc3RfZGF5X2NoYW5nZSIpO2NvbnN0IExlPSh5LkNoZWNrTW9iaWxlLmFueSgpLCEwKSxFZT0oMCxkLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzdHVkeV9vdmVybGF5X2NvbXBhcmVfbGVnZW5kX29wdGlvbiIpLE1lPSgoMCxkLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzZWNvbmRhcnlfc2VyaWVzX2V4dGVuZF90aW1lX3NjYWxlIiksKDAsZC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV91bnJlc29sdmVkX3N5bWJvbHNfaW5fbGVnZW5kIikpLGtlPSEoMCxkLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3N0dWR5X292ZXJsYXlfbGVnZW5kX2l0ZW0iKSxCZT0oMCxhLmdldExvZ2dlcikoIkNoYXJ0LlN0dWR5T3ZlcmxheSIpO3ZhciBOZTtmdW5jdGlvbiBGZShlLHQpe3JldHVybiBudWxsPT1lW3RdfSFmdW5jdGlvbihlKXtlLlNuYXBTaG90U3ltYm9sSW5mb0tleT0iX19fc25hcHNob3QifShOZXx8KE5lPXt9KSk7Y2xhc3MgT2UgZXh0ZW5kcyBtLlN0dWR5e2NvbnN0cnVjdG9yKGUsdCxzLHIsbyxhKXtzdXBlcihlLGZ1bmN0aW9uKGUpe2UuaGFzQ2hpbGQoImN1cnJlbmN5SWQiKXx8ZS5hZGRDaGlsZCgiY3VycmVuY3lJZCIsbmV3IGIuUHJvcGVydHkobnVsbCkpLGUuaGFzQ2hpbGQoInVuaXRJZCIpfHxlLmFkZENoaWxkKCJ1bml0SWQiLG5ldyBiLlByb3BlcnR5KG51bGwpKSxlLmhhc0NoaWxkKCJtZXRyaWNJZCIpfHxlLmFkZENoaWxkKCJtZXRyaWNJZCIsbmV3IGIuUHJvcGVydHkobnVsbCkpLCgwLENlLmFsbENoYXJ0U3R5bGVzKSgpLmluY2x1ZGVzKGUuY2hpbGRzKCkuc3R5bGUudmFsdWUoKSl8fGUuY2hpbGRzKCkuc3R5bGUuc2V0VmFsdWVTaWxlbnRseSgyKTtjb25zdCB0PWUuY2hpbGRzKCk7aWYodC5saW5lU3R5bGUuaGFzQ2hpbGQoInN0eWxlVHlwZSIpKXtjb25zdCBlPXQubGluZVN0eWxlLmNoaWxkcygpLHM9ZS5zdHlsZVR5cGUudmFsdWUoKTtsZXQgaSxyOzA9PT1zJiYocj0xNCxpPXQubGluZVdpdGhNYXJrZXJzU3R5bGUuY2hpbGRzKCkpLDE9PT1zJiYocj0xNSxpPXQuc3RlcGxpbmVTdHlsZS5jaGlsZHMoKSksaSYmKGkuY29sb3Iuc2V0VmFsdWVTaWxlbnRseShlLmNvbG9yLnZhbHVlKCkpLGkubGluZXN0eWxlLnNldFZhbHVlU2lsZW50bHkoZS5saW5lc3R5bGUudmFsdWUoKSksaS5saW5ld2lkdGguc2V0VmFsdWVTaWxlbnRseShlLmxpbmV3aWR0aC52YWx1ZSgpKSxpLnByaWNlU291cmNlLnNldFZhbHVlU2lsZW50bHkoZS5wcmljZVNvdXJjZS52YWx1ZSgpKSksdm9pZCAwIT09ciYmMj09PXQuc3R5bGUudmFsdWUoKSYmdC5zdHlsZS5zZXRWYWx1ZVNpbGVudGx5KHIpLHQubGluZVN0eWxlLnJlbW92ZVByb3BlcnR5KCJzdHlsZVR5cGUiKX1yZXR1cm4gZS5hZGRFeGNsdWRlZEtleSgiY3VycmVuY3lJZCIsMSksZS5hZGRFeGNsdWRlZEtleSgidW5pdElkIiwxKSxlLmFkZEV4Y2x1ZGVkS2V5KCJtZXRyaWNJZCIsMSksZX0odCkscyxyLG8sYSksdGhpcy5fc3ltYm9sUmVzb2x2aW5nQWN0aXZlPW5ldyBuLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc3ltYm9sSGliZXJuYXRlZD1uZXcgbi5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3N0eWxlVG9SZWNvdmVyPW51bGwsdGhpcy5fcmVhbGlnblRvb2xzTGFzdFBhcmFtcz1udWxsLHRoaXMuX2Jhc2U9MTAwLHRoaXMuX3ByZWNvbXB1dGVkQmFyU3R5bGVzPW5ldyBXZWFrTWFwLHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbFNvdXJjZT0iIix0aGlzLl9kYXRhPW5ldyBjLlBsb3RMaXN0KCgwLHUuc2VyaWVzUGxvdEZ1bmN0aW9uTWFwKSgpLEZlKSx0aGlzLl9xdW90ZXNQcm92aWRlcj1uZXcgQy5RdW90ZXNQcm92aWRlcih2b2lkIDAsZS5jb2xsYXBzZWQoKS5zcGF3bk93bmVyc2hpcCgpKSxMZSYmdGhpcy5fcXVvdGVzUHJvdmlkZXIucXVvdGVzVXBkYXRlKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25RdW90ZXNVcGRhdGUpO2NvbnN0IGg9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7aC5jdXJyZW5jeUlkLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ3VycmVuY3lDaGFuZ2VkKSxoLnVuaXRJZC5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblVuaXRDaGFuZ2VkKSxoLm1ldHJpY0lkLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTWV0cmljQ2hhbmdlZCksCmguYWxsb3dFeHRlbmRUaW1lU2NhbGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25BbGxvd0V4dGVuZFRpbWVTY2FsZUNoYW5nZWQpLHRoaXMuX29uQWxsb3dFeHRlbmRUaW1lU2NhbGVDaGFuZ2VkKCksKDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmRpdmlkZW5kc0FkanVzdG1lbnQpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3RyeUNoYW5nZUlucHV0cygpfSkpLGguc3R5bGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25DaGFydFN0eWxlQ2hhbmdlZCksaC5saW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGgubGluZVdpdGhNYXJrZXJzU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGguc3RlcGxpbmVTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVCYXJGdW5jdGlvbiksaC5hcmVhU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGguYmFzZWxpbmVTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVCYXJGdW5jdGlvbiksaC5jb2x1bW5TdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVCYXJGdW5jdGlvbiksdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24oKSxoLm1pblRpY2suc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25NaW5UaWNrQ2hhbmdlZCksdGhpcy5fZm9ybWF0dGVyPW51bGwsdGhpcy5fZGVmYXVsdEZvcm1hdHRlcj1udWxsLGUubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT5lLnJlYWxpZ25MaW5lVG9vbHModGhpcykpKSxlLm1haW5TZXJpZXMoKS5vbkludGVydmFsQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fY2hlY2tTdHlsZSgpKSksdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlcj1uZXcgbC5Db25mbGF0ZWRDaHVua3NCdWlsZGVyKHRoaXMuX2RhdGEsKGU9PnUuYmFyRnVuY3Rpb25zW2VdKSk7Y29uc3QgZD0oKT0+dGhpcy5fY3VycmVuY3lVbml0U291cmNlU3ltYm9sSW5mby5zZXRWYWx1ZSh0aGlzLnN5bWJvbEluZm8oKSk7dGhpcy5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLGQpLHRoaXMub25TdGF0dXNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsZCksZCgpLHRoaXMuX2FsaWFzU3ltYm9sSW5mb1dWPSgwLHAuY3JlYXRlQWxpYXNTeW1ib2xJbmZvV1YpKHRoaXMuX2N1cnJlbmN5VW5pdFNvdXJjZVN5bWJvbEluZm8ud2Vha1JlZmVyZW5jZSgpLHRoaXMuX21vZGVsLnN5bWJvbEFsaWFzU2VydmljZSgpKSwodGhpcy5fYWxpYXNTeW1ib2xJbmZvV1Z8fHRoaXMuX2N1cnJlbmN5VW5pdFNvdXJjZVN5bWJvbEluZm8pLnN1YnNjcmliZSgoKCk9PnRoaXMuX3JlY3JlYXRlUHJpY2VGb3JtYXR0aW5nRGVwZW5kZW5jaWVzKCkpKSx0aGlzLl9vdmVybGF5VmFsdWVzUHJvdmlkZXI9bmV3IHJlKHRoaXMsZSksdGhpcy5fb3ZlcmxheUxlZ2VuZFZhbHVlc1Byb3ZpZGVyPW5ldyB1ZSh0aGlzLGUpLHRoaXMuX292ZXJsYXlUYWJsZVZpZXdWYWx1ZXNQcm92aWRlcj1uZXcgUmUodGhpcyxlKSx0aGlzLl9vdmVybGF5Q2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcj1uZXcgSWUodGhpcyxlKSx0aGlzLl9pc0N1cnJlbmN5T3JpZ2luLnNldFZhbHVlKCEwKSx0aGlzLl9pc1VuaXRPcmlnaW4uc2V0VmFsdWUoITApfWRlc3Ryb3koKXsoMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZGl2aWRlbmRzQWRqdXN0bWVudCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fcXVvdGVzUHJvdmlkZXIuZGVzdHJveSgpLHRoaXMuX2FsaWFzU3ltYm9sSW5mb1dWPy5yZWxlYXNlKCksc3VwZXIuZGVzdHJveSgpfWJhc2UoKXtyZXR1cm4gdGhpcy5fYmFzZX1wcmVjb21wdXRlZEJhclN0eWxlKGUpe3JldHVybiB0aGlzLl9wcmVjb21wdXRlZEJhclN0eWxlcy5nZXQoZSl9c2V0UHJlY29tcHV0ZWRCYXJTdHlsZShlLHQpe3RoaXMuX3ByZWNvbXB1dGVkQmFyU3R5bGVzLnNldChlLHQpfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc31iYXJDb2xvcmVyKCl7cmV0dXJuIG5ldyBRLlNlcmllc0JhckNvbG9yZXIoe2RhdGE6KCk9PnRoaXMuZGF0YSgpLGJhcnM6KCk9PnRoaXMuZGF0YSgpLG5zQmFyczooKT0+bmV3IGMuUGxvdExpc3QscHJpY2VTY2FsZTooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlU2NhbGUoKSkscHJvcGVydGllczooKT0+dGhpcy5wcm9wZXJ0aWVzKCksZmlyc3RWYWx1ZTooKT0+dGhpcy5maXJzdFZhbHVlKCksYmFyRnVuY3Rpb246KCk9PnRoaXMuYmFyRnVuY3Rpb24oKSxsaW5lQ29sb3JBdFlQZXJjZW50RnJvbVRvcDplPT50aGlzLmxpbmVDb2xvckF0WVBlcmNlbnRGcm9tVG9wKGUpfSl9c3ltYm9sUGFyYW1zKCl7cmV0dXJuKDAsUC5zeW1ib2xQYXJhbXMpKHRoaXMpfWNvbXBhcmVTeW1ib2xQYXJhbXMoZSl7cmV0dXJuKDAsUC5jb21wYXJlU3ltYm9sUGFyYW1zKSh0aGlzLGUsdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCksdGhpcy5fbW9kZWwubWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKSl9YXN5bmMgc2V0U3ltYm9sUGFyYW1zKGUpe3RoaXMuX3NldFN5bWJvbFBhcmFtc0ludGVybmFsKGUpfXN5bWJvbCgpe3JldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuc3ltYm9sLnZhbHVlKCl9c3ltYm9sT3JBbGlhcygpe2NvbnN0IGU9dGhpcy5zeW1ib2woKSx0PXRoaXMuX21vZGVsLnN5bWJvbEFsaWFzU2VydmljZSgpPy5nZXRBbGlhc0J5UHJvTmFtZShlKTtyZXR1cm4gdD8uYWxpYXNOYW1lPz9lfXN5bWJvbENoYW5nZWQoKXsKcmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5zeW1ib2x9b25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKXtyZXR1cm4gdGhpcy5zeW1ib2xDaGFuZ2VkKCl9c2V0U3ltYm9sKGUpe3RoaXMuc2V0U3ltYm9sUGFyYW1zKHtzeW1ib2w6ZX0pfXN5bWJvbEluZm8oKXtpZighdGhpcy5fcmVzb2x2ZWRTeW1ib2xzKXJldHVybiBudWxsO2NvbnN0IGU9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuc3ltYm9sLnZhbHVlKCk7aWYoIWUpcmV0dXJuIG51bGw7bGV0IHQ7cmV0dXJuIHQ9dGhpcy5fbW9kZWwuaXNTbmFwc2hvdCgpP3RoaXMuX3Jlc29sdmVkU3ltYm9scy5fX19zbmFwc2hvdHx8bnVsbDp0aGlzLl9yZXNvbHZlZFN5bWJvbHNbdGhpcy5fZ2V0U3ltYm9sRm9yUmVzb2x2ZShlKV18fG51bGwsdGhpcy5fbW9kZWwuaXNTbmFwc2hvdCgpJiZudWxsPT09dCYmKHQ9KDAsXy5nZXRPYnNvbGV0ZUlkZWFTeW1ib2xJbmZvKSh0aGlzLl9yZXNvbHZlZFN5bWJvbHMsZSx0aGlzLmN1cnJlbmN5KCkpLG51bGwhPT10JiYodGhpcy5fcmVzb2x2ZWRTeW1ib2xzLl9fX3NuYXBzaG90PXQpKSx0fXN5bWJvbEluZm9XVigpe3JldHVybiB0aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvLnJlYWRvbmx5KCl9YWxpYXNTeW1ib2xJbmZvKCl7cmV0dXJuKHRoaXMuX2FsaWFzU3ltYm9sSW5mb1dWPz90aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvPz9uZXcgbi5XYXRjaGVkVmFsdWUobnVsbCkpLnZhbHVlKCl9c3VwcG9ydHNDb25mbGF0ZWRDaHVua3MoKXtyZXR1cm4hMH1jb25mbGF0ZWRDaHVua3MoZSx0KXtyZXR1cm4gdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlci5jb25mbGF0ZWRDaHVua3MoZSx0KX1zeW1ib2xSZXNvbHZlZCgpe3JldHVybiB0aGlzLnN5bWJvbHNSZXNvbHZlZCgpfXN5bWJvbFJlc29sdmluZ0FjdGl2ZSgpe3JldHVybiB0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmV9c3ltYm9sSGliZXJuYXRlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xIaWJlcm5hdGVkfWlzVmlzaWJsZSgpe2NvbnN0IGU9c3VwZXIuaXNWaXNpYmxlKCk7cmV0dXJuIHRoaXMuX3N5bWJvbEhpYmVybmF0ZWQuc2V0VmFsdWUoIWUpLGV9c3ltYm9sU2FtZUFzQ3VycmVudChlKXtyZXR1cm4oMCxQLnN5bWJvbFNhbWVBc0N1cnJlbnQpKGUsdGhpcy5zeW1ib2xJbmZvKCkpfXN5bWJvbFNhbWVBc1Jlc29sdmVkKGUpe3JldHVybigwLHguc3ltYm9sU2FtZUFzUmVzb2x2ZWQpKGUsdGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sU291cmNlLHRoaXMuc3ltYm9sKCkpfXByaWNlU291cmNlKCl7Y29uc3QgZT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKTtzd2l0Y2goZS5zdHlsZS52YWx1ZSgpKXtjYXNlIDI6cmV0dXJuIGUubGluZVN0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnZhbHVlKCk7Y2FzZSAxNDpyZXR1cm4gZS5saW5lV2l0aE1hcmtlcnNTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS52YWx1ZSgpO2Nhc2UgMTU6cmV0dXJuIGUuc3RlcGxpbmVTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS52YWx1ZSgpO2Nhc2UgMzpyZXR1cm4gZS5hcmVhU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2UudmFsdWUoKTtjYXNlIDEwOnJldHVybiBlLmJhc2VsaW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2UudmFsdWUoKTtjYXNlIDEzOnJldHVybiBlLmNvbHVtblN0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnZhbHVlKCl9cmV0dXJuIG51bGx9YmFyRnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFyRnVuY3Rpb259cXVvdGVzUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fcXVvdGVzUHJvdmlkZXJ9cXVvdGVzKCl7cmV0dXJuIHRoaXMuX3F1b3Rlc1Byb3ZpZGVyLnF1b3RlcygpLnZhbHVlKCl9Y3VycmVuY3koKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuY3VycmVuY3lJZC52YWx1ZSgpfHxudWxsfXNldEN1cnJlbmN5KGUpe3RoaXMuc2V0U3ltYm9sUGFyYW1zKHtjdXJyZW5jeTplfSl9dW5pdCgpe3JldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS51bml0SWQudmFsdWUoKXx8bnVsbH1zZXRVbml0KGUpe3RoaXMuc2V0U3ltYm9sUGFyYW1zKHt1bml0OmV9KX1tZXRyaWMoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkubWV0cmljSWQudmFsdWUoKXx8bnVsbH1zZXRNZXRyaWMoZSl7dGhpcy5zZXRTeW1ib2xQYXJhbXMoe21ldHJpYzplfSl9c3R5bGUoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGUudmFsdWUoKX1zZXRTdHlsZShlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7c3R5bGU6ZX0pfWludGVydmFsKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpfXNldEludGVydmFsKGUpe312YWx1ZUF0KGUsdCl7cmV0dXJuIHRoaXMuZGF0YSgpLnNlYXJjaChlKT8udmFsdWVbdF0/P251bGx9YmFyc1Byb3ZpZGVyKCl7cmV0dXJuIHRoaXN9c3RhdGUoZSx0KXtjb25zdCBzPXN1cGVyLnN0YXRlKGUsdCk7dGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCl8fGRlbGV0ZSBzLnN0YXRlLnVuaXRJZDtjb25zdCByPXRoaXMuc3ltYm9sKCk7cmV0dXJuIHMuc3RhdGUuaW5wdXRzLnN5bWJvbD0oMCxTLnN5bWJvbFRvU2F2ZUluU3RhdGUpKHRoaXMuc3ltYm9sSW5mbygpPz90aGlzLl9tb2RlbC5jaGFydEFwaSgpLmxhc3RTeW1ib2xSZXNvbHZlSW5mbyhyKSxyKSxlJiYoKDAsaS5lbnN1cmVEZWZpbmVkKShzLmRhdGEpLnN5bWJvbHM9e19fX3NuYXBzaG90OnRoaXMuc3ltYm9sSW5mbygpfHx2b2lkIDB9KSxzfXN5bWJvbFRpdGxlKGUsdCxzKXtyZXR1cm4gdGhpcy50aXRsZShlLCEwLHt9LCExLHQpfXRpdGxlKGUsdCxzLGkscil7Y29uc3Qgbj10aGlzLl90aXRsZUluUGFydHMoZSx0LHMsaSxyKTtyZXR1cm5bblswXSwuLi5uWzFdPz9bXV0uam9pbihgICR7Uy5zeW1ib2xUaXRsZVNlcGFyYXRvcn0gYCl9dGl0bGVJblBhcnRzKGUsdCxzLGkscil7cmV0dXJuW3RoaXMudGl0bGUoZSx0LHMsaSxyKV19Zmlyc3RWYWx1ZSgpewpjb25zdCBlPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtjb25zdCB0PWUuZmlyc3RCYXIoKTtpZigwPT09dGhpcy5kYXRhKCkuc2l6ZSgpKXJldHVybiB0aGlzLl9vd25GaXJzdFZhbHVlO2NvbnN0IHM9dGhpcy5kYXRhKCkuc2VhcmNoKHQsaC5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQsMSk7cmV0dXJuIHRoaXMuX293bkZpcnN0VmFsdWU9bnVsbCE9PXM/dGhpcy5fYmFyRnVuY3Rpb24ocy52YWx1ZSwwKTpudWxsLHRoaXMuX293bkZpcnN0VmFsdWV9bGluZUNvbG9yQXRZUGVyY2VudEZyb21Ub3AoZSl7c3dpdGNoKHRoaXMuc3R5bGUoKSl7Y2FzZSAyOnJldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5saW5lU3R5bGUuY2hpbGRzKCkuY29sb3IudmFsdWUoKTtjYXNlIDE0OnJldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5saW5lV2l0aE1hcmtlcnNTdHlsZS5jaGlsZHMoKS5jb2xvci52YWx1ZSgpO2Nhc2UgMTU6cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnN0ZXBsaW5lU3R5bGUuY2hpbGRzKCkuY29sb3IudmFsdWUoKX1yZXR1cm4gbnVsbH1sYXN0VmFsdWVEYXRhKGUsdCxzKXtjb25zdCBpPXtub0RhdGE6ITB9LG49dGhpcy5wcmljZVNjYWxlKCk7aWYodGhpcy5fbW9kZWwudGltZVNjYWxlKCkuaXNFbXB0eSgpfHxudWxsPT09bnx8bi5pc0VtcHR5KCl8fHRoaXMuZGF0YSgpLmlzRW1wdHkoKSlyZXR1cm4gaTtjb25zdCBvPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09bylyZXR1cm4gaTtjb25zdCBhPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpO2lmKCFhLnZpc2libGUudmFsdWUoKSlyZXR1cm4gaTtjb25zdCBsPXRoaXMubmVhcmVzdEluZGV4KG8ubGFzdEJhcigpLGguUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQsMSk7aWYodm9pZCAwPT09bClyZXR1cm4gaTtjb25zdCB1PXRoaXMuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT11KXJldHVybiBpO2NvbnN0IGM9dGhpcy5fbGFzdE5vbkVtcHR5UGxvdFJvdyg0KSxkPW51bGwhPT1jJiZvLmNvbnRhaW5zKGMuaW5kZXgpLF89bnVsbCE9PWM/Yy52YWx1ZTpudWxsLHA9dHx8ZD9fOnRoaXMuZGF0YSgpLnZhbHVlQXQobCk7aWYobnVsbD09PXApcmV0dXJuIGk7Y29uc3QgeT10aGlzLl9iYXJGdW5jdGlvbihwLDIpO2lmKCEoMCxyLmlzTnVtYmVyKSh5KSlyZXR1cm4gaTtjb25zdCBtPW4ucHJpY2VUb0Nvb3JkaW5hdGUoeSx1KTtsZXQgdjtzd2l0Y2goYS5zdHlsZS52YWx1ZSgpKXtjYXNlIDA6dj1wWzFdPD1wWzRdP2EuYmFyU3R5bGUuY2hpbGRzKCkudXBDb2xvci52YWx1ZSgpOmEuYmFyU3R5bGUuY2hpbGRzKCkuZG93bkNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAxOnY9cFsxXTw9cFs0XT9hLmNhbmRsZVN0eWxlLmNoaWxkcygpLnVwQ29sb3IudmFsdWUoKTphLmNhbmRsZVN0eWxlLmNoaWxkcygpLmRvd25Db2xvci52YWx1ZSgpO2JyZWFrO2Nhc2UgOTp2PXBbMV08PXBbNF0/YS5ob2xsb3dDYW5kbGVTdHlsZS5jaGlsZHMoKS51cENvbG9yLnZhbHVlKCk6YS5ob2xsb3dDYW5kbGVTdHlsZS5jaGlsZHMoKS5kb3duQ29sb3IudmFsdWUoKTticmVhaztjYXNlIDEzOnY9cFsxXTw9cFs0XT9hLmNvbHVtblN0eWxlLmNoaWxkcygpLnVwQ29sb3IudmFsdWUoKTphLmNvbHVtblN0eWxlLmNoaWxkcygpLmRvd25Db2xvci52YWx1ZSgpO2JyZWFrO2Nhc2UgMjp2PWEubGluZVN0eWxlLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAxNDp2PWEubGluZVdpdGhNYXJrZXJzU3R5bGUuY2hpbGRzKCkuY29sb3IudmFsdWUoKTticmVhaztjYXNlIDE1OnY9YS5zdGVwbGluZVN0eWxlLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAzOnY9YS5hcmVhU3R5bGUuY2hpbGRzKCkubGluZWNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAxNjp2PWEuaGxjQXJlYVN0eWxlLmNoaWxkcygpLmNsb3NlTGluZUNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAxMDp7Y29uc3QgZT1hLmJhc2VsaW5lU3R5bGUuY2hpbGRzKCk7dj1tPE1hdGgucm91bmQobi5oZWlnaHQoKSooTWF0aC5hYnMoMTAwLWUuYmFzZUxldmVsUGVyY2VudGFnZS52YWx1ZSgpKS8xMDApKT9lLnRvcExpbmVDb2xvci52YWx1ZSgpOmUuYm90dG9tTGluZUNvbG9yLnZhbHVlKCk7YnJlYWt9Y2FzZSAxMjp2PWEuaGlsb1N0eWxlLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAyMTp2PWEuaGxjQmFyc1N0eWxlLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIk5vdCBzdXBwb3J0ZWQgb3ZlcmxheSBzdHlsZSIpfWNvbnN0IGY9ey4uLm4uZ2V0Rm9ybWF0dGVkVmFsdWVzKHksdSwhMCksbm9EYXRhOiExLGNvb3JkaW5hdGU6bSxjb2xvcjp2fTtyZXR1cm4gcyYmKGYucHJpY2U9eSksZn1wcmljZVJhbmdlKGUpe2NvbnN0e3N0YXJ0VGltZVBvaW50OnQsZW5kVGltZVBvaW50OnN9PWU7aWYoZS5mb3JjZU92ZXJsYXlPbmx5KXJldHVybiBudWxsO2lmKCEoMCxyLmlzSW50ZWdlcikodCkpcmV0dXJuIEJlLmxvZ0RlYnVnKCJwcmljZVJhbmdlOiBpbmNvcnJlY3Qgc3RhcnRCYXIiKSxudWxsO2lmKCEoMCxyLmlzSW50ZWdlcikocykpcmV0dXJuIEJlLmxvZ0RlYnVnKCJwcmljZVJhbmdlOiBpbmNvcnJlY3QgZW5kQmFyIiksbnVsbDtpZigwPT09dGhpcy5kYXRhKCkuc2l6ZSgpKXJldHVybiBudWxsO2NvbnN0IGk9dGhpcy5wcmljZVNvdXJjZSgpO2xldCBuO249bnVsbCE9PWk/dGhpcy5kYXRhKCkubWluTWF4T25SYW5nZUNhY2hlZCh0LHMsW3tuYW1lOmksb2Zmc2V0OjB9XSk6dGhpcy5kYXRhKCkubWluTWF4T25SYW5nZUNhY2hlZCh0LHMsW3tuYW1lOiJsb3ciLG9mZnNldDowfSx7bmFtZToiaGlnaCIsb2Zmc2V0OjB9XSk7Y29uc3Qgbz1udWxsIT09bj9uZXcgRC5QcmljZVJhbmdlKG4ubWluLG4ubWF4KTpudWxsO3JldHVybiB0aGlzLl9wb3N0UHJvY2Vzc1ByaWNlUmFuZ2UobyxlKX1iYXJzKCl7cmV0dXJuIHRoaXMuZGF0YSgpfW9wZW4oZSl7CnJldHVybigwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5iYXJzKCkudmFsdWVBdChlKSlbMV19aGlnaChlKXtyZXR1cm4oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuYmFycygpLnZhbHVlQXQoZSkpWzJdfWxvdyhlKXtyZXR1cm4oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuYmFycygpLnZhbHVlQXQoZSkpWzNdfWNsb3NlKGUpe3JldHVybigwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5iYXJzKCkudmFsdWVBdChlKSlbNF19aGwyKGUpe3JldHVybih0aGlzLmhpZ2goZSkrdGhpcy5sb3coZSkpLzJ9aGxjMyhlKXtyZXR1cm4odGhpcy5oaWdoKGUpK3RoaXMubG93KGUpK3RoaXMuY2xvc2UoZSkpLzN9b2hsYzQoZSl7cmV0dXJuKHRoaXMub3BlbihlKSt0aGlzLmhpZ2goZSkrdGhpcy5sb3coZSkrdGhpcy5jbG9zZShlKSkvNH1jYW5CZUhpZGRlbkJ5R2xvYmFsRmxhZygpe3JldHVybiExfWFzeW5jIHN0YXJ0KGUsdCl7dGhpcy5fZm9ybWF0dGVyPW51bGwsdGhpcy5fZGVmYXVsdEZvcm1hdHRlcj1udWxsO2NvbnN0IHM9c3VwZXIuc3RhcnQoZSx0KTtyZXR1cm4gdGhpcy5wcmljZVNjYWxlKCk/LnVwZGF0ZUZvcm1hdHRlcigpLExlJiZ0aGlzLl9zZXRRdW90ZXNTeW1ib2woKDAsdy5lbmNvZGVFeHRlbmRlZFN5bWJvbE9yR2V0U2ltcGxlU3ltYm9sU3RyaW5nKSh0aGlzLl9nZXRTeW1ib2xPYmplY3QodGhpcy5zeW1ib2woKSkpKSxzfXN0b3AoZSl7c3VwZXIuc3RvcChlKSx0aGlzLl9xdW90ZXNQcm92aWRlci5zZXRRdW90ZXNTZXNzaW9uU3ltYm9sKG51bGwpfWZvcm1hdHRlcigpe3JldHVybiB0aGlzLl9mb3JtYXR0ZXJ8fHRoaXMuX3JlY3JlYXRlRm9ybWF0dGVyKCksKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9mb3JtYXR0ZXIpfXN0YXR1c1ZpZXcoKXtyZXR1cm4ga2U/c3VwZXIuc3RhdHVzVmlldygpOm51bGx9bW92ZUl0ZW0oZSx0LHMpe2lmKDEwPT09dGhpcy5zdHlsZSgpJiYwPT09dCl7Y29uc3QgdD0oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMucHJpY2VTY2FsZSgpKSxzPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmJhc2VsaW5lU3R5bGUscj10LmhlaWdodCgpLG49MTAwLWUueS9yKjEwMCxvPW48MD8wOk1hdGgucm91bmQoMTAqbikvMTA7cy5jaGlsZHMoKS5iYXNlTGV2ZWxQZXJjZW50YWdlLnNldFZhbHVlKE1hdGgubWF4KE1hdGgubWluKG8sMTAwKSwwKSl9fW1lYXN1cmVVbml0SWQoKXtyZXR1cm4gdGhpcy5zeW1ib2xJbmZvKCk/Lm1ldHJpY3M/bnVsbDooMCxTLm1lYXN1cmVVbml0SWQpKHRoaXMuc3ltYm9sSW5mbygpKX1kYXRhVXBkYXRlZCgpe3JldHVybiB0aGlzLl9kYXRhVXBkYXRlZH1hbGVydENyZWF0aW9uQXZhaWxhYmxlKCl7cmV0dXJuIG5ldyBuLldhdGNoZWRWYWx1ZSghdGhpcy5wcmljZVNjYWxlKCk/LmlzUGVyY2VudGFnZSgpJiZzdXBlci5hbGVydENyZWF0aW9uQXZhaWxhYmxlKCkudmFsdWUoKSkucmVhZG9ubHkoKX1sZWdlbmRWYWx1ZXNQcm92aWRlcigpe3JldHVybiB0aGlzLl9vdmVybGF5TGVnZW5kVmFsdWVzUHJvdmlkZXJ9dGFibGVWaWV3VmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fb3ZlcmxheVRhYmxlVmlld1ZhbHVlc1Byb3ZpZGVyfXZhbHVlc1Byb3ZpZGVyKCl7cmV0dXJuIHRoaXMuX292ZXJsYXlWYWx1ZXNQcm92aWRlcn1jaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyKCl7cmV0dXJuIHRoaXMuX292ZXJsYXlDaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyfWRlZmF1bHRQbG90SWRGb3JBbGVydCgpe3JldHVybiIifXRhZ3MoKXtjb25zdCBlPVtdLHQ9dGhpcy5zeW1ib2xJbmZvKCk7aWYodCllLnB1c2godC5uYW1lKTtlbHNle2NvbnN0IHQ9dGhpcy5zeW1ib2woKTt0JiZlLnB1c2godCl9cmV0dXJuIGV9c3RhdHVzUHJvdmlkZXIoZSl7cmV0dXJuIG5ldyB4ZSh0aGlzKX1pbnB1dHNJblBhcnRzKGUsdCxzLGkscil7cmV0dXJuIG51bGx9X29uUHJvcGVydGllc0NoYW5nZWQoKXtzdXBlci5fb25Qcm9wZXJ0aWVzQ2hhbmdlZCgpLHRoaXMuX3ByZWNvbXB1dGVkQmFyU3R5bGVzPW5ldyBXZWFrTWFwfWFzeW5jIF90cnlDaGFuZ2VJbnB1dHMoKXthd2FpdCBzdXBlci5fdHJ5Q2hhbmdlSW5wdXRzKCksdGhpcy5fZm9ybWF0dGVyPW51bGwsdGhpcy5fZGVmYXVsdEZvcm1hdHRlcj1udWxsLHRoaXMucHJpY2VTY2FsZSgpPy51cGRhdGVGb3JtYXR0ZXIoKX1fdHJ5Q3JlYXRlRm9ybWF0dGVyKCl7SS5jdXN0b21Gb3JtYXR0ZXJzPy5wcmljZUZvcm1hdHRlckZhY3Rvcnk/Lih0aGlzLnN5bWJvbEluZm8oKSx0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5taW5UaWNrLnZhbHVlKCkpO3JldHVybigwLFMuY3JlYXRlU2VyaWVzRm9ybWF0dGVyKSh0aGlzLmFsaWFzU3ltYm9sSW5mbygpLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLm1pblRpY2sudmFsdWUoKSl9X3RyeUNyZWF0ZURlZmF1bHRGb3JtYXR0ZXIoKXtyZXR1cm4oMCxTLmNyZWF0ZVNlcmllc0Zvcm1hdHRlcikodGhpcy5hbGlhc1N5bWJvbEluZm8oKSwiZGVmYXVsdCIpfV9nZXRTeW1ib2xTb3VyY2UoKXtyZXR1cm4gdGhpc31fb25Vbml0Q2hhbmdlZCgpeyJhbHdheXNPZmYiIT09KDAsZi5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudmFsdWUoKSYmdGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpLHRoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpJiZ0aGlzLmlzU3RhcnRlZCgpJiZ0aGlzLl90cnlDaGFuZ2VJbnB1dHMoKSx0aGlzLl91bml0Q2hhbmdlZC5maXJlKCl9X29uTWV0cmljQ2hhbmdlZCgpeyJhbHdheXNPZmYiIT09KDAsZi5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudmFsdWUoKSYmdGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpLHRoaXMuX21vZGVsLm1ldHJpY0NvbnZlcnNpb25FbmFibGVkKCkmJnRoaXMuaXNTdGFydGVkKCkmJnRoaXMuX3RyeUNoYW5nZUlucHV0cygpLHRoaXMuX21ldHJpY0NoYW5nZWQuZmlyZSgpfV9nZXRTeW1ib2xPYmplY3QoZSx0KXtjb25zdCBzPXN1cGVyLl9nZXRTeW1ib2xPYmplY3QoZSkscj10aGlzLmN1cnJlbmN5KCk7bnVsbCE9PXImJihzWyJjdXJyZW5jeS1pZCJdPXIpCjtjb25zdCBuPXRoaXMudW5pdCgpO3RoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpJiZudWxsIT09biYmKHNbInVuaXQtaWQiXT1uKTtjb25zdCBvPXRoaXMubWV0cmljKCk7cmV0dXJuIXQmJnRoaXMuX21vZGVsLm1ldHJpY0NvbnZlcnNpb25FbmFibGVkKCkmJm51bGwhPT1vJiYocy5tZXRyaWM9bykscy5hZGp1c3RtZW50PSgwLGkuZW5zdXJlRGVmaW5lZCkodGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5kaXZpZGVuZHNBZGp1c3RtZW50KS52YWx1ZSgpPyJkaXZpZGVuZHMiOiJzcGxpdHMiLHN9X29uU3ltYm9sUmVzb2x2aW5nU3RhcnQoZSx0KXt0aGlzLl9sYXN0UmVzb2x2ZWRTeW1ib2xTb3VyY2U9dCxzdXBlci5fb25TeW1ib2xSZXNvbHZpbmdTdGFydChlLHQpLHRoaXMuX3N5bWJvbFJlc29sdmluZ0FjdGl2ZS5zZXRWYWx1ZSghMCl9X29uU3ltYm9sRXJyb3IoKXtzdXBlci5fb25TeW1ib2xFcnJvcigpLHRoaXMuX3N5bWJvbFJlc29sdmluZ0FjdGl2ZS5zZXRWYWx1ZSghMSl9X29uU3ltYm9sUmVzb2x2ZWQoZSx0LHMpe3N1cGVyLl9vblN5bWJvbFJlc29sdmVkKGUsdCxzKSx0aGlzLl9iYXNlPXM/cy5wcmljZXNjYWxlL3MubWlubW92OjEwMCx0aGlzLl9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcygpO2NvbnN0IGk9dD09PXRoaXMuc3ltYm9sKCk/KDAsZy5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvKShzLHRoaXMuc3ltYm9sKCkpOm51bGwscj0oMCxTLnN5bWJvbEN1cnJlbmN5KShzKSxuPSgwLFMuc3ltYm9sVW5pdCkocyx0aGlzLl9tb2RlbC51bml0Q29udmVyc2lvbkVuYWJsZWQoKSksbz0oMCxTLnN5bWJvbE1ldHJpYykocyx0aGlzLl9tb2RlbC5tZXRyaWNDb252ZXJzaW9uRW5hYmxlZCgpKTt0aGlzLl9zZXRTeW1ib2xQYXJhbXNJbnRlcm5hbCh7c3ltYm9sOmk/P3ZvaWQgMCxjdXJyZW5jeTpyLHVuaXQ6bixtZXRyaWM6b30scyksTGUmJnRoaXMuX3NldFF1b3Rlc1N5bWJvbCgoMCx3LmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHRoaXMuX2dldFN5bWJvbE9iamVjdCh0aGlzLnN5bWJvbCgpKSkpLHRoaXMuX2NoZWNrU3R5bGUoKSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITEpfWFzeW5jIF9jaGFuZ2VJbnB1dHNJbXBsKGUsdCl7YXdhaXQgc3VwZXIuX2NoYW5nZUlucHV0c0ltcGwoZSx0KSx0aGlzLl9yZWFsaWduTGluZVRvb2xzSWZQYXJhbXNDaGFuZ2VkKCl9X2dldFByb3BlcnR5RGVmaW5pdGlvbnNWaWV3TW9kZWxDbGFzcygpe3JldHVybiBQcm9taXNlLmFsbChbcy5lKDE1OTk4KSxzLmUoNTUyNTMpLHMuZSg2ODM4MSldKS50aGVuKHMuYmluZChzLDQ2OTM5OCkpLnRoZW4oKGU9PmUuU3R1ZHlPdmVybGF5RGVmaW5pdGlvbnNWaWV3TW9kZWwpKX1fc2V0UXVvdGVzU3ltYm9sKGUpe2NvbnN0IHQ9dGhpcy5zeW1ib2xJbmZvKCkscz0oMCxnLmV4dHJhY3RTeW1ib2xOYW1lRnJvbVN5bWJvbEluZm8pKHQsZSksaT1zJiZ0aGlzLmdldFN5bWJvbFN0cmluZyhzLCEwKTt0aGlzLl9xdW90ZXNQcm92aWRlci5zZXRRdW90ZXNTZXNzaW9uU3ltYm9sKGkpfV9vblF1b3Rlc1VwZGF0ZShlLHQpeyF0aGlzLl9sZWdlbmRWaWV3fHx2b2lkIDA9PT10LnZhbHVlcy5jaGFuZ2UmJnZvaWQgMD09PXQudmFsdWVzLmNoYW5nZV9wZXJjZW50fHwodGhpcy5fbGVnZW5kVmlldy51cGRhdGUoKDAsbGUuc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHRoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzKSl9X2NyZWF0ZVZpZXdzKCl7dGhpcy5fcHJpY2VBeGlzVmlld3M9W107Y29uc3QgZT1uZXcgayh0aGlzKTt0aGlzLl9wcmljZUF4aXNWaWV3c0Jhc2U9W2VdO2NvbnN0IHQ9bmV3IE4odGhpcyk7dGhpcy5fcHJpY2VMaW5lc0F4aXNWaWV3cz1bdF0sdGhpcy5fcGFuZVZpZXdzPVtdLHRoaXMuX2xhYmVsUGFuZVZpZXdzPVtdO2xldCBzPW51bGwscj1udWxsO3N3aXRjaCh0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZS52YWx1ZSgpKXtjYXNlIDA6cj1uZXcgcGUuU2VyaWVzQmFyc1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMTpyPW5ldyB5ZS5TZXJpZXNDYW5kbGVzUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCk7YnJlYWs7Y2FzZSA5OnI9bmV3IGdlLlNlcmllc0hvbGxvd0NhbmRsZXNQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDEzOnI9bmV3IGJlLlNlcmllc0NvbHVtbnNQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDI6Y2FzZSAxNDpjYXNlIDE1OnI9bmV3IG1lLlNlcmllc0xpbmVQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDM6cj1uZXcgdmUuU2VyaWVzQXJlYVBhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMTY6cj1uZXcgZmUuU2VyaWVzSExDQXJlYVBhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMTA6e3I9bmV3IFNlLlNlcmllc0Jhc2VsaW5lUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCk7Y29uc3QgZT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5iYXNlbGluZVN0eWxlLmNoaWxkcygpO3M9bmV3IFYuU2VyaWVzV2F0ZXJsaW5lUGFuZVZpZXcoe3BhbmVIZWlnaHQ6KCk9PigwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5wcmljZVNjYWxlKCkpLmhlaWdodCgpLGNvbG9yOigpPT5lLmJhc2VsaW5lQ29sb3IudmFsdWUoKSxiYXNlTGV2ZWxQZXJjZW50YWdlOigpPT5lLmJhc2VMZXZlbFBlcmNlbnRhZ2UudmFsdWUoKX0pO2JyZWFrfWNhc2UgMTI6cj1uZXcgd2UuU2VyaWVzSGlMb1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMjE6cj1uZXcgVGUuU2VyaWVzSExDQmFyc1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpfXImJnRoaXMuX3BhbmVWaWV3cy5wdXNoKHIpLG51bGwhPT1zJiZ0aGlzLl9wYW5lVmlld3MucHVzaChzKSx0aGlzLl9wYW5lVmlld3MucHVzaChuZXcgSCh0aGlzKSksCnRoaXMuX2RhdGFXaW5kb3dWaWV3fHwodGhpcy5fZGF0YVdpbmRvd1ZpZXc9bmV3IGFlKHRoaXMsdGhpcy5fbW9kZWwpKSx0aGlzLl9sZWdlbmRWaWV3fHwodGhpcy5fbGVnZW5kVmlldz1uZXcgZGUodGhpcyx0aGlzLl9tb2RlbCkpLHRoaXMuX3N0YXR1c1ZpZXd8fCh0aGlzLl9zdGF0dXNWaWV3PW5ldyBULlN0dWR5U3RhdHVzVmlldyh0aGlzKSksdGhpcy5fZmxvYXRpbmdUb29sdGlwVmlld3x8KHRoaXMuX2Zsb2F0aW5nVG9vbHRpcFZpZXc9bmV3IERlLlN0dWR5Q2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3KHRoaXMsdGhpcy5fbW9kZWwpKSx0aGlzLl9wcmljZUF4aXNWaWV3cz1bLi4udGhpcy5fcHJpY2VBeGlzVmlld3NCYXNlXSx0aGlzLl9sYWJlbFBhbmVWaWV3cy5wdXNoKG5ldyBfZS5QYW5lUHJpY2VBeGlzVmlldyhlLHRoaXMsdGhpcy5fbW9kZWwpKX1fY3JlYXRlU3R1ZHlPblNlcnZlcigpe2NvbnN0IGU9c3VwZXIuX2NyZWF0ZVN0dWR5T25TZXJ2ZXIoKTtyZXR1cm4gdGhpcy5fcmVhbGlnbkxpbmVUb29sc0lmUGFyYW1zQ2hhbmdlZCgpLGV9X21vZGlmeVN0dWR5T25TZXJ2ZXIoZSl7c3VwZXIuX21vZGlmeVN0dWR5T25TZXJ2ZXIoZSwwKX1fdGl0bGVJblBhcnRzKGUsdCxzLGkscil7Y29uc3Qgbj10aGlzLl9nZXRTcGxpdFRpdGxlKHIpLG89W24ubGlzdGVkRXhjaGFuZ2Usbi5wcmljZVNvdXJjZV0uZmlsdGVyKChlPT52b2lkIDAhPT1lKSk7cmV0dXJuW24udGl0bGUsb119X2dldFNwbGl0VGl0bGUoZSl7Y29uc3QgdD10aGlzLnN5bWJvbEluZm8oKTtyZXR1cm57dGl0bGU6dGhpcy5fZ2V0U3ltYm9sVGl0bGVQYXJ0KHQpLGxpc3RlZEV4Y2hhbmdlOnRoaXMuX2dldEV4Y2hhbmdlVGl0bGVQYXJ0KHQsZSk/P3ZvaWQgMCxwcmljZVNvdXJjZTp0aGlzLl9nZXRQcmljZVNvdXJjZVRpdGxlUGFydCh0KT8/dm9pZCAwfX1fbWVyZ2VEYXRhKGUpe3JldHVybiB0aGlzLl9pbnZhbGlkYXRlTGFzdE5vbkVtcHR5UGxvdFJvd0NhY2hlKCksdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlci5tZXJnZURhdGEoZSl9X2NsZWFyRGF0YSgpe3RoaXMuX2NvbmZsYXRlZENodW5rc0J1aWxkZXIuY2xlYXJEYXRhKCl9X21vdmVEYXRhKGUpe3RoaXMuX2NvbmZsYXRlZENodW5rc0J1aWxkZXIubW92ZURhdGEoZSl9X2luaXRDdXJyZW5jeU1ldGFEYXRhKCl7KDAsby5jb21iaW5lKSgoZT0+e2NvbnN0IHQ9KDAsUy5zeW1ib2xDdXJyZW5jeSkoZSk7bnVsbCE9PWUmJm51bGwhPT10P3RoaXMuX2N1cnJlbmN5TWV0YURhdGEuc2V0VmFsdWUoe29yaWdpbmFsQ3VycmVuY3k6KDAsUy5zeW1ib2xPcmlnaW5hbEN1cnJlbmN5KShlKSxjdXJyZW50Q3VycmVuY3k6dCxiYXNlQ3VycmVuY3k6KDAsUy5zeW1ib2xCYXNlQ3VycmVuY3kpKGUpLGlzQ3VycmVuY3lDb252ZXJ0aWJsZTooMCxTLnN5bWJvbEN1cnJlbmN5Q29udmVydGlibGUpKGUpLGlzQ29udmVydGVkVG9PdGhlckN1cnJlbmN5OigwLFMuaXNDb252ZXJ0ZWRUb090aGVyQ3VycmVuY3kpKGUpLGN1cnJlbmN5T3JpZ2luTmFtZTooMCxTLnByb1N5bWJvbCkoZSx0aGlzLnN5bWJvbCgpKX0pOnRoaXMuX2N1cnJlbmN5TWV0YURhdGEuc2V0VmFsdWUobnVsbCl9KSx0aGlzLl9zeW1ib2xTb3VyY2VTeW1ib2xJbmZvLndlYWtSZWZlcmVuY2UoKSl9X2luaXRVbml0TWV0YURhdGEoKXsoMCxvLmNvbWJpbmUpKCgoZSx0KT0+e2NvbnN0IHM9dGhpcy5fbW9kZWwsaT0oMCxTLnN5bWJvbFVuaXQpKGUscy51bml0Q29udmVyc2lvbkVuYWJsZWQoKSk7bnVsbCE9PWUmJm51bGwhPT1pJiZudWxsIT09dD90aGlzLl91bml0TWV0YURhdGEuc2V0VmFsdWUoe3VuaXRPcmlnaW5OYW1lOigwLFMucHJvU3ltYm9sKShlLHRoaXMuc3ltYm9sKCkpLGNvbnZlcnRpYmxlR3JvdXBzOigwLEFlLnVuaXRDb252ZXJ0aWJsZUdyb3VwcykoZSxpLHQpLGlzQ29udmVydGVkVG9PdGhlclVuaXQ6KDAsUy5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KShlLHMudW5pdENvbnZlcnNpb25FbmFibGVkKCkpLG9yaWdpbmFsVW5pdDooMCxTLnN5bWJvbE9yaWdpbmFsVW5pdCkoZSxzLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpKSxjdXJyZW50VW5pdDppfSk6dGhpcy5fdW5pdE1ldGFEYXRhLnNldFZhbHVlKG51bGwpfSksdGhpcy5fc3ltYm9sU291cmNlU3ltYm9sSW5mby53ZWFrUmVmZXJlbmNlKCksdGhpcy5fYXZhaWxhYmxlVW5pdHMud2Vha1JlZmVyZW5jZSgpKX1fZ2V0U3ltYm9sVGl0bGVQYXJ0KGUpe2lmKG51bGw9PT1lKXJldHVybiBNZT8iIjooZT0+dGhpcy5fbW9kZWwuc3ltYm9sQWxpYXNTZXJ2aWNlKCk/LmdldEFsaWFzQnlQcm9OYW1lKGUpPy5hbGlhc05hbWU/P2UpKHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wudmFsdWUoKSk7Y29uc3QgdD10aGlzLl9tb2RlbC5zeW1ib2xBbGlhc1NlcnZpY2UoKT8uZ2V0QWxpYXNCeVByb05hbWUoZS5wcm9fbmFtZSk/LmFsaWFzTmFtZT8/ZS5uYW1lO2lmKEVlKXN3aXRjaCh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkoKS52YWx1ZSgpKXtjYXNlImRlc2NyaXB0aW9uIjpyZXR1cm4gZS5kZXNjcmlwdGlvbjtjYXNlInRpY2tlci1hbmQtZGVzY3JpcHRpb24iOnJldHVybmAke3R9LCAke2UuZGVzY3JpcHRpb259YDtjYXNlImxvbmctZGVzY3JpcHRpb24iOnJldHVybiBlLmxvbmdfZGVzY3JpcHRpb24/P2UuZGVzY3JpcHRpb259cmV0dXJuIHR9X2dldEV4Y2hhbmdlVGl0bGVQYXJ0KGUsdCl7cmV0dXJuIG51bGw9PT1lfHx0P251bGw6KDAsUy5nZXRTeW1ib2xMaXN0ZWRFeGNoYW5nZSkoZSl9X2dldFByaWNlU291cmNlVGl0bGVQYXJ0KGUpe3JldHVybiBudWxsfV9vbkFsbG93RXh0ZW5kVGltZVNjYWxlQ2hhbmdlZCgpe31fc2V0U3ltYm9sUGFyYW1zSW50ZXJuYWwoZSx0KXsKY29uc3R7c3ltYm9sOnMsY3VycmVuY3k6aSx1bml0OnIsbWV0cmljOm4sc3R5bGU6b309ZSxhPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLGw9YS5pbnB1dHMuY2hpbGRzKCkuc3ltYm9sLnZhbHVlKCksdT1hLmN1cnJlbmN5SWQudmFsdWUoKSxjPWEudW5pdElkLnZhbHVlKCksaD1hLm1ldHJpY0lkLnZhbHVlKCksZD1hLnN0eWxlLnZhbHVlKCk7aWYodm9pZCAwIT09cyYmYS5pbnB1dHMuY2hpbGRzKCkuc3ltYm9sLnNldFZhbHVlU2lsZW50bHkocyksdm9pZCAwIT09aSYmYS5jdXJyZW5jeUlkLnNldFZhbHVlU2lsZW50bHkoaSksdm9pZCAwIT09ciYmYS51bml0SWQuc2V0VmFsdWVTaWxlbnRseShyKSx2b2lkIDAhPT1uJiZhLm1ldHJpY0lkLnNldFZhbHVlU2lsZW50bHkobiksdm9pZCAwIT09byYmYS5zdHlsZS5zZXRWYWx1ZVNpbGVudGx5KG8pLHQpdGhpcy5fcmVzb2x2ZWRTeW1ib2xzQnlJbnB1dFt0aGlzLnN5bWJvbCgpXT10LHRoaXMuX3Jlc29sdmVkU3ltYm9sc1t0aGlzLl9nZXRTeW1ib2xGb3JSZXNvbHZlKHRoaXMuc3ltYm9sKCkpXT10LHRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXM9bnVsbDtlbHNle2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7bnVsbCE9PWUmJihhLmN1cnJlbmN5SWQuc2V0VmFsdWVTaWxlbnRseSgoMCxTLnN5bWJvbEN1cnJlbmN5KShlKSksYS51bml0SWQuc2V0VmFsdWVTaWxlbnRseSgoMCxTLnN5bWJvbFVuaXQpKGUsdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCkpKSxhLm1ldHJpY0lkLnNldFZhbHVlU2lsZW50bHkoKDAsUy5zeW1ib2xNZXRyaWMpKGUsdGhpcy5fbW9kZWwubWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKSkpLHRoaXMuX2N1cnJlbmN5VW5pdFNvdXJjZVN5bWJvbEluZm8uc2V0VmFsdWUoZSkpfWEuaW5wdXRzLmNoaWxkcygpLnN5bWJvbC52YWx1ZSgpIT09bCYmYS5pbnB1dHMuY2hpbGRzKCkuc3ltYm9sLmZpcmVDaGFuZ2VkKCksYS5jdXJyZW5jeUlkLnZhbHVlKCkhPT11JiZhLmN1cnJlbmN5SWQuZmlyZUNoYW5nZWQoKSxhLnVuaXRJZC52YWx1ZSgpIT09YyYmYS51bml0SWQuZmlyZUNoYW5nZWQoKSxhLm1ldHJpY0lkLnZhbHVlKCkhPT1oJiZhLm1ldHJpY0lkLmZpcmVDaGFuZ2VkKCksYS5zdHlsZS52YWx1ZSgpIT09ZCYmYS5zdHlsZS5maXJlQ2hhbmdlZCgpLHRoaXMuX2NoZWNrU3R5bGUoKSx0aGlzLl9yZWFsaWduTGluZVRvb2xzSWZQYXJhbXNDaGFuZ2VkKCl9X3VwZGF0ZUJhckZ1bmN0aW9uKCl7dGhpcy5fYmFyRnVuY3Rpb249KDAsdi5iYXJGdW5jdGlvbkJ5U3R5bGUpKHRoaXMuc3R5bGUoKSx0aGlzLnByaWNlU291cmNlKCkpfV9vbk1pblRpY2tDaGFuZ2VkKCl7dGhpcy5fcmVjcmVhdGVQcmljZUZvcm1hdHRpbmdEZXBlbmRlbmNpZXMoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKHt0eXBlOiJnbG9iYWwtY2hhbmdlIn0pLHRoaXMuX21vZGVsLmZ1bGxVcGRhdGUoKX1fb25DaGFydFN0eWxlQ2hhbmdlZCgpe3RoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKCksdGhpcy5fc3R5bGVUb1JlY292ZXI/Lm9yaWdpbmFsU3R5bGUhPT10aGlzLnN0eWxlKCkmJih0aGlzLl9zdHlsZVRvUmVjb3Zlcj1udWxsKX1fY2hlY2tTdHlsZSgpe2NvbnN0IGU9dGhpcy5zdHlsZSgpOygwLFMuaXNDbG9zZUJhc2VkU3ltYm9sKSh0aGlzLnN5bWJvbEluZm8oKSl8fHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmlzMVRpY2soKT8oMCxTLmlzU2luZ2xlVmFsdWVCYXNlZFN0eWxlKShlKXx8KHRoaXMuc2V0U3R5bGUoMiksdGhpcy5fc3R5bGVUb1JlY292ZXI9e2NvcnJlY3RlZFN0eWxlOnRoaXMuc3R5bGUoKSxvcmlnaW5hbFN0eWxlOmV9KTpudWxsIT09dGhpcy5fc3R5bGVUb1JlY292ZXImJih0aGlzLnNldFN0eWxlKHRoaXMuX3N0eWxlVG9SZWNvdmVyLm9yaWdpbmFsU3R5bGUpLHRoaXMuX3N0eWxlVG9SZWNvdmVyPW51bGwpfV9yZWFsaWduTGluZVRvb2xzSWZQYXJhbXNDaGFuZ2VkKCl7bGV0IGU9bnVsbD09PXRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXM7aWYobnVsbCE9PXRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXMpe2NvbnN0IHQ9dGhpcy5jb21wYXJlU3ltYm9sUGFyYW1zKHRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXMpO2U9dC5zeW1ib2xDaGFuZ2VkfHx0LmludGVydmFsQ2hhbmdlZHx8dC5jdXJyZW5jeUNoYW5nZWR8fHQudW5pdENoYW5nZWR8fHQubWV0cmljQ2hhbmdlZH1lJiYodGhpcy5fbW9kZWwucmVhbGlnbkxpbmVUb29scyh0aGlzKSx0aGlzLl9yZWFsaWduVG9vbHNMYXN0UGFyYW1zPXRoaXMuc3ltYm9sUGFyYW1zKCkpfX19LDg3NDM2OShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTdHVkeVN0cmF0ZWd5OigpPT5CfSk7dmFyIGk9cygxNjc1MDIpLHI9cygxMzg2MzgpLG49cygyMzIzNjQpLG89cyg5NDgzODApLGE9cyg0OTAzOTkpLGw9cygxOTcyNzIpLHU9cyg1MDU1NiksYz1zKDczNjUzMSksaD1zKDEzNDY3KSxkPXMoNzYzKSxfPXMoNTE1OTIpLHA9cygxNTEyMSkseT1zKDY0MDc0NCk7ZnVuY3Rpb24gbShlLHQscyl7cmV0dXJuIHM/TWF0aC5zaWduKGUpKihNYXRoLnJvdW5kKE1hdGguYWJzKGUpKSt0KTpNYXRoLnJvdW5kKGUpK3R9Y2xhc3Mgdntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2RhdGE9ZSx0aGlzLl90ZXh0V2lkdGhzPXR9ZHJhdyhlLHQpe2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOnMsdmVydGljYWxQaXhlbFJhdGlvOml9PXQ7dm9pZCAwIT09dGhpcy5fdGV4dFdpZHRocy5yZW5kZXJpbmdJbmZvJiYoMCxfLmVxdWFsUmVuZGVyaW5nSW5mb3MpKHRoaXMuX3RleHRXaWR0aHMucmVuZGVyaW5nSW5mbyx0KXx8KHRoaXMuX3RleHRXaWR0aHMucmVuZGVyaW5nSW5mbz10LHRoaXMuX3RleHRXaWR0aHMud2lkdGguY2xlYXIoKSk7Y29uc3Qgcj10aGlzLl9kYXRhO2UubGluZUpvaW49Im1pdGVyIixlLm1pdGVyTGltaXQ9TWF0aC5yb3VuZCgyKnMpLGUuc3Ryb2tlU3R5bGU9ci5iZ0NvbG9yLGUubGluZVdpZHRoPU1hdGgubWF4KDIsKDAseS5jZWlsZWRFdmVuKSgyKnMpKTtmb3IoY29uc3QgcyBvZiByLml0ZW1zKXtlLmJlZ2luUGF0aCgpCjtjb25zdCBuPSJsb3dlciI9PT1zLnBvcztlLnNhdmUoKTtjb25zdCBvPU1hdGgucm91bmQoci5vcmRlckFycm93LnZNYXJnaW4qaSk7ZS50cmFuc2xhdGUoMCxuP286LW8pLHRoaXMuX2RyYXdPcmRlckFycm93KGUscy5vcmRlclBvaW50LHIub3JkZXJBcnJvdyxyLmV4aXRMaW5lV2lkdGgsbix0KSxlLnJlc3RvcmUoKSxlLnNhdmUoKSx0aGlzLl9kcmF3UHJpY2VBcnJvdyhlLHMucHJpY2VQb2ludCxyLnByaWNlQXJyb3csIW4sdCksZS5yZXN0b3JlKCksZS5jbG9zZVBhdGgoKSxlLnN0cm9rZSgpLGUuZmlsbFN0eWxlPXIuZXhpdExpbmVXaWR0aD9yLmV4aXRDb2xvcjoiYnV5Ij09PXMudHlwZT9yLmJ1eUNvbG9yOnIuc2VsbENvbG9yLGUuZmlsbCgpfWNvbnN0IG49ci50ZXh0O24udmlzaWJsZSYmKDAscC5kcmF3U2NhbGVkKShlLHMsaSwoKCk9PntlLmZvbnQ9bi5mb250U2l6ZSsicHggIituLmZvbnQsZS50ZXh0QWxpZ249ImNlbnRlciIsZS50ZXh0QmFzZWxpbmU9InRvcCIsZS5maWxsU3R5bGU9ci5sYWJlbENvbG9yLGUuc3Ryb2tlU3R5bGU9ci5iZ0NvbG9yLGUubGluZVdpZHRoPU1hdGgubWluKDIsTWF0aC5mbG9vcigyKnMpKTtmb3IoY29uc3QgdCBvZiByLml0ZW1zKXtjb25zdCBzPSJsb3dlciI9PT10LnBvcztlLnNhdmUoKTtjb25zdCBpPXM/MTotMSxvPXIub3JkZXJBcnJvdztlLnRyYW5zbGF0ZSgwLChvLmhlaWdodCtvLnZNYXJnaW4rci5leGl0TGluZVdpZHRoKSppKTtjb25zdCBhPXM/bi52TWFyZ2luOi1uLmZvbnRTaXplLW4udk1hcmdpbixsPWkqKG4uZm9udFNpemUrbi5saW5lU3BhY2luZyk7aWYodC5sYWJlbCYmKGUudHJhbnNsYXRlKDAsYSksZS5zdHJva2VUZXh0KHQubGFiZWwsTWF0aC5jZWlsKHQub3JkZXJQb2ludC54KSx0Lm9yZGVyUG9pbnQueSksZS5maWxsVGV4dCh0LmxhYmVsLE1hdGguY2VpbCh0Lm9yZGVyUG9pbnQueCksdC5vcmRlclBvaW50LnkpLHRoaXMuX3RleHRXaWR0aHMud2lkdGguaGFzKHQubGFiZWwpfHx0aGlzLl90ZXh0V2lkdGhzLndpZHRoLnNldCh0LmxhYmVsLGUubWVhc3VyZVRleHQodC5sYWJlbCkud2lkdGgpKSx0LnF0eSl7Y29uc3Qgcz1Cb29sZWFuKHQubGFiZWwpP2w6YTtlLnRyYW5zbGF0ZSgwLHMpLGUuc3Ryb2tlVGV4dCh0LnF0eSxNYXRoLmNlaWwodC5vcmRlclBvaW50LngpLHQub3JkZXJQb2ludC55KSxlLmZpbGxUZXh0KHQucXR5LE1hdGguY2VpbCh0Lm9yZGVyUG9pbnQueCksdC5vcmRlclBvaW50LnkpLHRoaXMuX3RleHRXaWR0aHMud2lkdGguaGFzKHQucXR5KXx8dGhpcy5fdGV4dFdpZHRocy53aWR0aC5zZXQodC5xdHksZS5tZWFzdXJlVGV4dCh0LnF0eSkud2lkdGgpfWUucmVzdG9yZSgpfX0pKX1oaXRUZXN0KGUpe2NvbnN0IHQ9dGhpcy5fdGVzdE9yZGVyQXJyb3dzKGUpLHM9IXQmJnRoaXMuX2RhdGEudGV4dCYmdGhpcy5fdGVzdFRleHQoZSk7cmV0dXJuIHR8fHM/bmV3IGQuSGl0VGVzdFJlc3VsdChkLkhpdFRhcmdldC5SZWd1bGFyKTpudWxsfV9kcmF3T3JkZXJBcnJvdyhlLHQscyxpLHIsbil7bGV0IG8sYTtyPyhlLnJvdGF0ZShNYXRoLlBJKSxvPS10LngsYT0tdC55KToobz10LngsYT10LnkpLGEtPXMuaGVpZ2h0K2k7Y29uc3R7aG9yaXpvbnRhbFBpeGVsUmF0aW86bCx2ZXJ0aWNhbFBpeGVsUmF0aW86dX09bixjPU1hdGgubWF4KDEsTWF0aC5mbG9vcihsKSksaD1jJTI/LjU6MCxkPXI/ImZsb29yIjoiY2VpbCI7bz1tKG8qbCxoLHIpLGE9TWF0aC5yb3VuZCgoTWF0aFtkXShhKSsuNSkqdSksZS50cmFuc2xhdGUobyxhKTtjb25zdCBfPSgwLHkuY2VpbGVkRXZlbikocy53aWR0aCpsKS8yK2gscD0oMCx5LmNlaWxlZEV2ZW4pKHMudGFpbFdpZHRoKmwpLzIraCx2PU1hdGgucm91bmQocy50YWlsSGVpZ2h0KnUpO2lmKGUubW92ZVRvKC1wLDApLGUubGluZVRvKHAsMCksZS5saW5lVG8ocCx2KSxlLmxpbmVUbyhfLHYpLGUubGluZVRvKDAsTWF0aC5yb3VuZChzLmhlaWdodCp1KSksaSl7Y29uc3QgdD1NYXRoLmZsb29yKGMvMik7ZS5saW5lVG8oXyt0LE1hdGgucm91bmQocy5oZWlnaHQqdSkpLGUubGluZVRvKF8rdCxNYXRoLnJvdW5kKChzLmhlaWdodCtpKSp1KSksZS5saW5lVG8oLV8tdCxNYXRoLnJvdW5kKChzLmhlaWdodCtpKSp1KSksZS5saW5lVG8oLV8tdCxNYXRoLnJvdW5kKHMuaGVpZ2h0KnUpKSxlLmxpbmVUbygwLE1hdGgucm91bmQocy5oZWlnaHQqdSkpfWUubGluZVRvKC1fLHYpLGUubGluZVRvKC1wLHYpLGUubGluZVRvKC1wLDApLGUubGluZVRvKHAsMCl9X2RyYXdQcmljZUFycm93KGUsdCxzLGkscil7bGV0IG4sbztpPyhlLnJvdGF0ZShNYXRoLlBJKSxuPS10Lngsbz0tdC55KToobj10Lngsbz10LnkpO2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOmEsdmVydGljYWxQaXhlbFJhdGlvOmx9PXIsdT1NYXRoLm1heCgxLE1hdGguZmxvb3IoYSkpLGM9dSUyPy41OjA7bj1tKG4qYSxjLGkpLXUsbz1tKG8qbCxjLGkpO2NvbnN0IGg9KDAseS5jZWlsZWRFdmVuKSgyKnMud2lkdGgqbCkvMixkPS0oTWF0aC5yb3VuZChzLndpZHRoKmEpK2MpO2UudHJhbnNsYXRlKG4sbyksZS5tb3ZlVG8oMCwwKSxlLmxpbmVUbyhkLC1oKSxlLmxpbmVUbyhkLGgpLGUubGluZVRvKDAsMCksZS5saW5lVG8oZCwtaCl9X3Rlc3RPcmRlckFycm93cyhlKXtjb25zdCB0PXRoaXMuX2RhdGEscz10Lm9yZGVyQXJyb3cud2lkdGgvMjtmb3IoY29uc3QgaSBvZiB0Lml0ZW1zKXtjb25zdCByPWkub3JkZXJQb2ludDtpZihlLng8ci54LXN8fGUueD5yLngrcyljb250aW51ZTtjb25zdCBuPSJsb3dlciI9PT1pLnBvcztsZXQgbz10Lm9yZGVyQXJyb3cuaGVpZ2h0K3QuZXhpdExpbmVXaWR0aDtufHwobz0tbyk7Y29uc3QgYT1yLnkrKG4/dC5vcmRlckFycm93LnZNYXJnaW46LXQub3JkZXJBcnJvdy52TWFyZ2luKSxsPU1hdGgubWluKGEsYStvKSx1PU1hdGgubWF4KGEsYStvKTtpZighKGUueTxsfHxlLnk+dSkpcmV0dXJuITB9cmV0dXJuITF9X3Rlc3RUZXh0KGUpe2NvbnN0IHQ9dGhpcy5fZGF0YSxzPXQudGV4dDtpZighcy52aXNpYmxlKXJldHVybiExO2Zvcihjb25zdCBpIG9mIHQuaXRlbXMpewpjb25zdCByPWkub3JkZXJQb2ludCxuPSJsb3dlciI9PT1pLnBvcztsZXQgbz10Lm9yZGVyQXJyb3cudk1hcmdpbit0Lm9yZGVyQXJyb3cuaGVpZ2h0K3QuZXhpdExpbmVXaWR0aDtufHwobz0tbyk7Y29uc3QgYT1yLnkrbyxsPShpLmxhYmVsPzE6MCkrKGkucXR5PzE6MCk7bGV0IHU9cy52TWFyZ2luK3MuZm9udFNpemUqbCtzLmxpbmVTcGFjaW5nKk1hdGgubWF4KDAsbC0xKTtufHwodT0tdSk7Y29uc3QgYz1NYXRoLm1pbihhLGErdSksaD1NYXRoLm1heChhLGErdSk7aWYoZS55PGN8fGUueT5oKWNvbnRpbnVlO2NvbnN0IGQ9aS5sYWJlbCYmaS5xdHk/biYmZS55PGErcy5mb250U2l6ZXx8IW4mJmUueT5hLXMuZm9udFNpemU/aS5sYWJlbDppLnF0eTppLmxhYmVsfHxpLnF0eSxfPXRoaXMuX3RleHRXaWR0aHMud2lkdGguZ2V0KGQpO2lmKCEodm9pZCAwPT09X3x8ZS54PHIueC1fLzJ8fGUueD5yLngrXy8yKSlyZXR1cm4hMH1yZXR1cm4hMX19dmFyIGYsUz1zKDkyNjE0OSksZz1zKDkzNjMyNiksYj1zKDc4OTE5MCk7IWZ1bmN0aW9uKGUpe2VbZS5PcmRlckFycm93Vk1hcmdpbj0xMV09Ik9yZGVyQXJyb3dWTWFyZ2luIixlW2UuT3JkZXJBcnJvd1dpZHRoPTEwXT0iT3JkZXJBcnJvd1dpZHRoIixlW2UuT3JkZXJBcnJvd0hlaWdodD0xNV09Ik9yZGVyQXJyb3dIZWlnaHQiLGVbZS5PcmRlckFycm93VGFpbFdpZHRoPTJdPSJPcmRlckFycm93VGFpbFdpZHRoIixlW2UuT3JkZXJBcnJvd1RhaWxIZWlnaHQ9MTBdPSJPcmRlckFycm93VGFpbEhlaWdodCIsZVtlLk9yZGVyQXJyb3dFeGl0TGluZVdpZHRoPTJdPSJPcmRlckFycm93RXhpdExpbmVXaWR0aCIsZVtlLlByaWNlQXJyb3dXaWR0aD01XT0iUHJpY2VBcnJvd1dpZHRoIixlW2UuVGV4dFZNYXJnaW49N109IlRleHRWTWFyZ2luIixlW2UuRm9udFNpemU9MTJdPSJGb250U2l6ZSIsZVtlLkxpbmVTcGFjaW5nPTJdPSJMaW5lU3BhY2luZyIsZVtlLlRleHRWaXNpYmlsaXR5TWluQmFyU3BhY2luZz0xMF09IlRleHRWaXNpYmlsaXR5TWluQmFyU3BhY2luZyJ9KGZ8fChmPXt9KSk7Y29uc3Qgdz17QnV5Q29sb3I6KDAsdS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXR2LWJsdWUtNTAwIiksU2VsbENvbG9yOiIjRkYxNzQ0IixFeGl0Q29sb3I6IiNENTAwRjkiLExhYmVsRGFya0NvbG9yOigwLHUuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMzAwIiksTGFiZWxMaWdodENvbG9yOigwLHUuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktOTAwIil9O2Z1bmN0aW9uIEMoZSl7cmV0dXJuITE9PT1lLmU/ImV4aXQiOmUuYj8iZW50cnlCdXkiOiJlbnRyeVNlbGwifWZ1bmN0aW9uIFAoZSl7cmV0dXJuIGUuYj8iYnV5Ijoic2VsbCJ9ZnVuY3Rpb24geChlLHQpe3JldHVybiB0PyFlLmI6ZS5ifWZ1bmN0aW9uIEQoZSx0KXtyZXR1cm4geChlLHQpPyJsb3dlciI6InVwcGVyIn1mdW5jdGlvbiBJKGUsdCxzKXtsZXQgaT1lW3RdLmdldChzKTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9MCxlW3RdLnNldChzLGkpKSxpfWZ1bmN0aW9uIFQoZSx0LHMsaSl7Y29uc3Qgbj0oMCxyLmVuc3VyZURlZmluZWQpKGVbdF0uZ2V0KHMpKTtlW3RdLnNldChzLG4raSl9ZnVuY3Rpb24gVihlLHQpe3JldHVybiB0JiYoZS5jfHxlLmlkfHwiVW50aXRsZWQiKXx8IiJ9ZnVuY3Rpb24gUihlLHQpe3JldHVybiB0JiYoZS5iPyIrIjoiLSIpK2UucXx8IiJ9ZnVuY3Rpb24gQShlLHQscyl7cmV0dXJuKDAsci5lbnN1cmVOb3ROdWxsKShlLmI/cy52YWx1ZUF0KHQsMyk6cy52YWx1ZUF0KHQsMikpfWZ1bmN0aW9uIEwoZSx0KXtyZXR1cm4oImV4aXQiPT09QyhlKT8yOjApK3Qudk1hcmdpbit0LmhlaWdodH1jbGFzcyBFe2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl90ZXh0V2lkdGhzPXt3aWR0aDpuZXcgTWFwfSx0aGlzLl9zdHVkeT1lLHRoaXMuX3Nlcmllcz10LHRoaXMuX21vZGVsPXMsdGhpcy5fb3JkZXJBcnJvdz17dk1hcmdpbjoxMSx3aWR0aDoxMCxoZWlnaHQ6MTUsdGFpbFdpZHRoOjIsdGFpbEhlaWdodDoxMH0sdGhpcy5fcHJpY2VBcnJvdz17d2lkdGg6NX0sdGhpcy5fcHJldmlvdXNGb250PVMuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSx0aGlzLl90ZXh0PXt2TWFyZ2luOjcsZm9udDp0aGlzLl9wcmV2aW91c0ZvbnQsZm9udFNpemU6MTIsbGluZVNwYWNpbmc6Mix2aXNpYmxlOiEwfSx0aGlzLl9pdGVtcz17ZW50cnlCdXk6W10sZW50cnlTZWxsOltdLGV4aXQ6W119LHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHJhdGVneS5jaGlsZHMoKS5vcmRlcnMuc3Vic2NyaWJlKHRoaXMsdGhpcy51cGRhdGUpfXVwZGF0ZSgpe3RoaXMuX2ludmFsaWRhdGVkPSEwfWNsZWFySXRlbXMoKXt0aGlzLl9pdGVtcy5lbnRyeUJ1eT1bXSx0aGlzLl9pdGVtcy5lbnRyeVNlbGw9W10sdGhpcy5faXRlbXMuZXhpdD1bXX1yZW5kZXJlcigpe2NvbnN0IGU9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpO2lmKCFlLnZpc2libGUudmFsdWUoKXx8IWUuc3RyYXRlZ3kuY2hpbGRzKCkub3JkZXJzLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSlyZXR1cm4gbnVsbDtpZih0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSksdGhpcy5faXRlbXMuZW50cnlCdXkubGVuZ3RofHx0aGlzLl9pdGVtcy5lbnRyeVNlbGwubGVuZ3RofHx0aGlzLl9pdGVtcy5leGl0Lmxlbmd0aCl7Y29uc3QgZT1uZXcgYi5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gdGhpcy5faXRlbXMuZW50cnlCdXkubGVuZ3RoJiZlLmFwcGVuZCh0aGlzLl9zdHJhdGVneU9yZGVyc1JlbmRlcmVyKHRoaXMuX2l0ZW1zLmVudHJ5QnV5LCExKSksdGhpcy5faXRlbXMuZW50cnlTZWxsLmxlbmd0aCYmZS5hcHBlbmQodGhpcy5fc3RyYXRlZ3lPcmRlcnNSZW5kZXJlcih0aGlzLl9pdGVtcy5lbnRyeVNlbGwsITEpKSx0aGlzLl9pdGVtcy5leGl0Lmxlbmd0aCYmZS5hcHBlbmQodGhpcy5fc3RyYXRlZ3lPcmRlcnNSZW5kZXJlcih0aGlzLl9pdGVtcy5leGl0LCEwKSksZX1yZXR1cm4gbnVsbH0KX3N0cmF0ZWd5T3JkZXJzUmVuZGVyZXIoZSx0KXtjb25zdCBzPXRoaXMuX21vZGVsLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCksaT0iYmxhY2siPT09KDAsaC5yZ2JUb0JsYWNrV2hpdGVTdHJpbmcpKCgwLGgucGFyc2VSZ2IpKHMpLDE1MCk7cmV0dXJuIG5ldyB2KHtpdGVtczplLGJ1eUNvbG9yOncuQnV5Q29sb3Isc2VsbENvbG9yOncuU2VsbENvbG9yLGV4aXRDb2xvcjp3LkV4aXRDb2xvcixsYWJlbENvbG9yOmk/dy5MYWJlbERhcmtDb2xvcjp3LkxhYmVsTGlnaHRDb2xvcixiZ0NvbG9yOnMsb3JkZXJBcnJvdzp0aGlzLl9vcmRlckFycm93LGV4aXRMaW5lV2lkdGg6dD8yOjAscHJpY2VBcnJvdzp0aGlzLl9wcmljZUFycm93LHRleHQ6dGhpcy5fdGV4dH0sdGhpcy5fdGV4dFdpZHRocyl9X3VwZGF0ZUltcGwoKXt0aGlzLmNsZWFySXRlbXMoKSx0aGlzLl9wcmV2aW91c0ZvbnQhPT1TLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkmJih0aGlzLl90ZXh0V2lkdGhzLndpZHRoLmNsZWFyKCksdGhpcy5fcHJldmlvdXNGb250PVMuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSx0aGlzLl90ZXh0LmZvbnQ9dGhpcy5fcHJldmlvdXNGb250KTtjb25zdCBlPXRoaXMuX3N0dWR5Lm9yZGVyc0RhdGEoKTtpZighZXx8IWUubGVuZ3RoKXJldHVybjtjb25zdCB0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLHM9dGhpcy5fc2VyaWVzLnByaWNlU2NhbGUoKSxpPXQudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKHQuaXNFbXB0eSgpfHxzLmlzRW1wdHkoKXx8bnVsbD09PWkpcmV0dXJuO2NvbnN0IG49dGhpcy5fc3R1ZHkuYmFyc0luZGV4ZXMoKSxvPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgoaS5maXJzdEJhcigpLGcuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0KSxhPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgoaS5sYXN0QmFyKCksZy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCk7aWYodm9pZCAwPT09b3x8dm9pZCAwPT09YSlyZXR1cm47Y29uc3RbbCx1XT1mdW5jdGlvbihlLHQscyxpKXtjb25zdCByPVtdLG49W107Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDsrK28pe2NvbnN0IGE9aVtvXTthPHR8fGE+c3x8KHIucHVzaChlW29dKSxuLnB1c2goYSkpfXJldHVybltyLG5dfShlLG8sYSxuKSxbaCxkXT10aGlzLl9sYWJlbEFuZFF0eVZpc2liaWxpdHkobC5sZW5ndGgpLF89aHx8ZCxwPXRoaXMuX3RleHRIZWlnaHQoaCxkKSx5PSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fc2VyaWVzLmZpcnN0VmFsdWUoKSksbT1zLmlzSW52ZXJ0ZWQoKSx2PXt1cHBlcjpuZXcgTWFwLGxvd2VyOm5ldyBNYXB9O2ZvcihsZXQgZT0wO2U8bC5sZW5ndGg7ZSsrKXtjb25zdCBpPWxbZV0scj14KGksbSksbj11W2VdLG89dC5pbmRleFRvQ29vcmRpbmF0ZShuKSxhPUEoaSxuLHRoaXMuX3Nlcmllcyk7bGV0IF89cy5wcmljZVRvQ29vcmRpbmF0ZShhLHkpO2NvbnN0IGY9RChpLG0pLFM9SSh2LGYsbik7Xys9cj9TOi1TO1QodixmLG4sTChpLHRoaXMuX29yZGVyQXJyb3cpK3ApO2NvbnN0IGc9cy5wcmljZVRvQ29vcmRpbmF0ZShpLnAseSksYj1DKGkpO3RoaXMuX2l0ZW1zW2JdLnB1c2goe29yZGVyUG9pbnQ6bmV3IGMuUG9pbnQobyxfKSxwcmljZVBvaW50Om5ldyBjLlBvaW50KG8sZyksbGFiZWw6VihpLGgpLHF0eTpSKGksZCkscG9zOmYsdHlwZTpQKGkpfSl9dGhpcy5fdGV4dC52aXNpYmxlPV99X2xhYmVsQW5kUXR5VmlzaWJpbGl0eShlKXtjb25zdCB0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpO2lmKHQuYmFyU3BhY2luZygpPDEwJiZ0aGlzLl9vcmRlckFycm93LndpZHRoKmUqMj50LndpZHRoKCkpcmV0dXJuWyExLCExXTtjb25zdCBzPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHJhdGVneS5jaGlsZHMoKS5vcmRlcnMuY2hpbGRzKCk7cmV0dXJuW3Muc2hvd0xhYmVscy52YWx1ZSgpLHMuc2hvd1F0eS52YWx1ZSgpXX1fdGV4dEhlaWdodChlLHQpe3JldHVybiBlfHx0P2UmJnQ/Mip0aGlzLl90ZXh0LmZvbnRTaXplK3RoaXMuX3RleHQudk1hcmdpbit0aGlzLl90ZXh0LmxpbmVTcGFjaW5nOnRoaXMuX3RleHQuZm9udFNpemUrdGhpcy5fdGV4dC52TWFyZ2luOjB9fXZhciBNPXMoMjI2OTM3KTtjb25zdCBrPVsic3RyYXRlZ3lfcHJvcHMiXTtjbGFzcyBCIGV4dGVuZHMgbC5TdHVkeXtjb25zdHJ1Y3RvcihlLHQscyxpLHIsYSxsLHUpe3N1cGVyKGUsdCxzLGkscixhLGwpLHRoaXMud2F0Y2hlZERhdGE9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX3JlcG9ydERhdGE9bnVsbCx0aGlzLl9yZXBvcnRDaGFuZ2VkPW5ldyBvLkRlbGVnYXRlLHRoaXMuX2JhcnNJbmRleGVzPVtdLHRoaXMuX3NyY0JhcnNJbmRleGVzPVtdLHRoaXMuX3JlcG9ydERhdGFCdWZmZXI9bnVsbCx0aGlzLl9hY3RpdmVTdGF0ZT0hMSx1fHwodC5jaGlsZHMoKS52aXNpYmxlLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3Byb2Nlc3NDaGFuZ2VWaXNpYmlsaXR5KCl9KSksdGhpcy5vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2UoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Byb2Nlc3NDaGFuZ2VWaXNpYmlsaXR5KCkpKSx0aGlzLl9wcm9jZXNzQ2hhbmdlVmlzaWJpbGl0eShhKSl9ZGVzdHJveSgpe3RoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudmlzaWJsZS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLm1vZGVsKCkucmVtb3ZlU3RyYXRlZ3lTb3VyY2UodGhpcywwKSxzdXBlci5kZXN0cm95KCl9cHJvcGVydGllcygpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzfWhhc1N0YXRlRm9yQWxlcnQoKXtyZXR1cm4gYS5hbGVydHNBdmFpbGFibGUmJnRoaXMuX3Nlcmllcy5hbGVydENyZWF0aW9uQXZhaWxhYmxlKCkudmFsdWUoKX1jYW5IYXNBbGVydE9uTGluZVRvb2xzKCl7cmV0dXJuITF9aW5wdXRzRm9yQWxlcnRTdGF0ZSgpe2NvbnN0IGU9dGhpcy5pbnB1dHMoKTtyZXR1cm4gdGhpcy5fbWV0YUluZm8udmFsdWUoKS5pbnB1dHMuZm9yRWFjaCgodD0+e2NvbnN0IHM9ZVt0LmlkXTtzJiZ0LmludGVybmFsSUQmJihzLmludGVybmFsSUQ9dC5pbnRlcm5hbElEKX0pKSxlfXJlcG9ydERhdGEoKXsKcmV0dXJuIHRoaXMuX3JlcG9ydERhdGF9b3JkZXJzRGF0YSgpe3JldHVybiB0aGlzLl9yZXBvcnREYXRhPy5maWxsZWRPcmRlcnM/P251bGx9YmFyc0luZGV4ZXMoKXtyZXR1cm4gdGhpcy5fYmFyc0luZGV4ZXN9Y2xlYXJEYXRhKCl7c3VwZXIuY2xlYXJEYXRhKCksdGhpcy5fcmVwb3J0RGF0YUJ1ZmZlcj1udWxsLHRoaXMuX3JlcG9ydERhdGE9bnVsbCx0aGlzLl9zdHJhdGVneU9yZGVyc1BhbmVWaWV3JiZ0aGlzLl9zdHJhdGVneU9yZGVyc1BhbmVWaWV3LmNsZWFySXRlbXMoKSx0aGlzLl9yZXBvcnRDaGFuZ2VkLmZpcmUoe2FjdGl2ZU9yZGVyc0NoYW5nZWQ6ITAsZmlsbGVkT3JkZXJzQ2hhbmdlZDohMCxwb3NpdGlvbkNoYW5nZWQ6ITB9KX1yZXBvcnRDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3JlcG9ydENoYW5nZWR9c3RyYXRlZ3lPcmRlcnNQYW5lVmlldygpe3JldHVybiB0aGlzLmlzU291cmNlSGlkZGVuKCk/bnVsbDp0aGlzLl9zdHJhdGVneU9yZGVyc1BhbmVWaWV3fXJlc3RvcmVEYXRhKGUpe3N1cGVyLnJlc3RvcmVEYXRhKGUpO2NvbnN0IHQ9ZTt0aGlzLm1vZGVsKCkuYWRkU3RyYXRlZ3lTb3VyY2UodGhpcywwKSx0LnJlcG9ydERhdGEmJnQuYmFyc0luZGV4ZXMmJih0aGlzLl9yZXBvcnREYXRhPXQucmVwb3J0RGF0YSx0aGlzLl9iYXJzSW5kZXhlcz10LmJhcnNJbmRleGVzLHRoaXMud2F0Y2hlZERhdGEuc2V0VmFsdWUoe21ldGhvZDoiZGF0YV91cGRhdGUiLG5vblNlcmllc0RhdGE6e2luZGV4ZXNfcmVwbGFjZTohMSxkYXRhOntyZXBvcnQ6dGhpcy5fcmVwb3J0RGF0YX19fSkpLHQuYWN0aXZlU3RhdGUmJih0aGlzLl9hY3RpdmVTdGF0ZT0hMCl9YWN0aXZlU3RhdGUoKXtyZXR1cm4gdGhpcy5fYWN0aXZlU3RhdGV9dXBkYXRlQWxsVmlld3MoZSl7c3VwZXIudXBkYXRlQWxsVmlld3MoZSksdGhpcy5fc3RyYXRlZ3lPcmRlcnNQYW5lVmlldyYmdGhpcy5fc3RyYXRlZ3lPcmRlcnNQYW5lVmlldy51cGRhdGUoKX1zdGF0ZShlLHQpe2NvbnN0IHM9c3VwZXIuc3RhdGUoZSx0KTtyZXR1cm4gZSYmdGhpcy5fcmVwb3J0RGF0YSYmdGhpcy5fYmFyc0luZGV4ZXMmJihzLmRhdGF8fChzLmRhdGE9e30pLHMuZGF0YS5yZXBvcnREYXRhPXRoaXMuX3JlcG9ydERhdGEscy5kYXRhLmJhcnNJbmRleGVzPXRoaXMuX2JhcnNJbmRleGVzLHMuZGF0YS5hY3RpdmVTdGF0ZT10aGlzLm1vZGVsKCkuYWN0aXZlU3RyYXRlZ3lTb3VyY2UoKS52YWx1ZSgpPT09dGhpcyksc31waW5lU291cmNlQ29kZU1vZGVsKCl7cmV0dXJuIHRoaXMubWV0YUluZm8oKS5waW5lPyh0aGlzLl9waW5lU291cmNlQ29kZU1vZGVsfHwodGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbD1uZXcgTS5Bc3luY1Jlc291cmNlV3JhcHBlcihQcm9taXNlLmFsbChbcy5lKDQyMDk2KSxzLmUoMjQxMDgpXSkudGhlbihzLmJpbmQocyw0ODMzNjApKS50aGVuKChlPT50aGlzLl9pc0Rlc3Ryb3llZD9udWxsOm5ldyBlLlBpbmVTdHJhdGVneVNvdXJjZUNvZGVNb2RlbCh0aGlzKSkpLChlPT57ZT8uZGVzdHJveSgpfSkpKSx0aGlzLl9waW5lU291cmNlQ29kZU1vZGVsLnByb21pc2UoKSk6UHJvbWlzZS5yZXNvbHZlKG51bGwpfV9vbkRhdGEoZSl7ZS5tZXRob2QmJiJkYXRhX3VwZGF0ZSIhPT1lLm1ldGhvZCYmdGhpcy53YXRjaGVkRGF0YS5zZXRWYWx1ZSh7bWV0aG9kOmUubWV0aG9kfSksc3VwZXIuX29uRGF0YShlKX1fb25EYXRhVXBkYXRlZChlLHQscyxuKXtsZXQgbz10JiYhdC5pbmRleGVzX3JlcGxhY2UmJnQuZGF0YSYmdC5kYXRhLnJlcG9ydDtpZihvKXtjb25zdCBlPSEoMCxpLmRlZmF1bHQpKG8uYWN0aXZlT3JkZXJzLHRoaXMuX3JlcG9ydERhdGE/LmFjdGl2ZU9yZGVycykscz0hKDAsaS5kZWZhdWx0KShvLmZpbGxlZE9yZGVycyx0aGlzLl9yZXBvcnREYXRhPy5maWxsZWRPcmRlcnMpLG49ISgwLGkuZGVmYXVsdCkoby5wb3NpdGlvbix0aGlzLl9yZXBvcnREYXRhPy5wb3NpdGlvbik7dCYmIXQuaW5kZXhlc19yZXBsYWNlJiZ0LmlzVXBkYXRlJiZ0aGlzLl9yZXBvcnREYXRhQnVmZmVyJiYobz17Li4udGhpcy5fcmVwb3J0RGF0YUJ1ZmZlciwuLi5vfSksdGhpcy5fcmVwb3J0RGF0YT17Li4udGhpcy5fcmVwb3J0RGF0YUJ1ZmZlciwuLi5vfSx0aGlzLl9yZXBvcnREYXRhQnVmZmVyPXRoaXMuX3JlcG9ydERhdGEsdGhpcy53YXRjaGVkRGF0YS5zZXRWYWx1ZSh7bWV0aG9kOiJkYXRhX3VwZGF0ZSIsbm9uU2VyaWVzRGF0YTooMCxyLmVuc3VyZU5vdE51bGwpKHQpfSksdGhpcy5fcmVwb3J0Q2hhbmdlZC5maXJlKHthY3RpdmVPcmRlcnNDaGFuZ2VkOmUsZmlsbGVkT3JkZXJzQ2hhbmdlZDpzLHBvc2l0aW9uQ2hhbmdlZDpufSl9ZWxzZSB0aGlzLndhdGNoZWREYXRhLnNldFZhbHVlKHttZXRob2Q6ImRhdGFfdXBkYXRlIixub25TZXJpZXNEYXRhOntpbmRleGVzX3JlcGxhY2U6ITEsZGF0YTp7cmVwb3J0OnRoaXMuX3JlcG9ydERhdGFCdWZmZXJ9fX0pO2NvbnN0IGE9ISghdHx8IXQuaW5kZXhlc19yZXBsYWNlKTsoIm5vY2hhbmdlIiE9PXMmJnMubGVuZ3RoPjB8fCh0aGlzLl9yZXBvcnREYXRhPy5maWxsZWRPcmRlcnM/Lmxlbmd0aD8/MCkhPT10aGlzLl9iYXJzSW5kZXhlcy5sZW5ndGgpJiYob3x8YSkmJnRoaXMuX2NvbGxhdGVCYXJzSW5kZXhlcyhBcnJheS5pc0FycmF5KHMpP3M6dGhpcy5fc3JjQmFyc0luZGV4ZXMpLHN1cGVyLl9vbkRhdGFVcGRhdGVkKGUsdCxzLG4pfV9jcmVhdGVWaWV3cygpe3N1cGVyLl9jcmVhdGVWaWV3cygpLHRoaXMuX3N0cmF0ZWd5T3JkZXJzUGFuZVZpZXc9bmV3IEUodGhpcyx0aGlzLl9zZXJpZXMsdGhpcy5fbW9kZWwpfV90aXRsZUlucHV0cyhlLHQscyl7cmV0dXJuIHRoaXMuaW5wdXRzKHtzeW1ib2xzRm9yRGlzcGxheTohMCxza2lwSGlkZGVuSW5wdXRzOiEwLHNraXBGYWtlSW5wdXRzOiExLGZha2VJbnB1dHNGb3JEaXNwbGF5OiEwLGFzT2JqZWN0OiEwLHNraXBwZWRHcm91cHM6ayxub0V4Y2hhbmdlczp0LGRpc3BsYXlNYXNrOmV9KX1fZ2V0VGVsZW1ldHJ5T2JqZWN0TmFtZSgpe3JldHVybiJzdHJhdGVneSJ9X2NvbGxhdGVCYXJzSW5kZXhlcyhlKXt0aGlzLl9zcmNCYXJzSW5kZXhlcz1lCjtjb25zdCB0PXRoaXMuX3JlcG9ydERhdGE/LmZpbGxlZE9yZGVycztpZih0JiZ0Lmxlbmd0aCl7dGhpcy5fYmFyc0luZGV4ZXMubGVuZ3RoPTA7Zm9yKGxldCBzPTA7czx0Lmxlbmd0aDtzKyspdGhpcy5fYmFyc0luZGV4ZXNbc109ZVt0W3NdLnRtXX19X3Byb2Nlc3NDaGFuZ2VWaXNpYmlsaXR5KGUpe2NvbnN0IHQ9ITA9PT1lPzI6MDt0aGlzLmlzU291cmNlSGlkZGVuKCk/dGhpcy5tb2RlbCgpLnJlbW92ZVN0cmF0ZWd5U291cmNlKHRoaXMsdCk6dGhpcy5tb2RlbCgpLmFkZFN0cmF0ZWd5U291cmNlKHRoaXMsdCl9fX0sOTYwOTYyKGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGUmJmlzRmluaXRlKGUpfXMuZCh0LHtoYXNOdW1iZXI6KCk9Pml9KX0sMjQxNTMyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03LjYzNSAzLjEzNUE3IDcgMCAwIDEgMTYgMTAuMDAxaC0xYTYuMDAzIDYuMDAzIDAgMCAwLTcuMTctNS44ODVBNiA2IDAgMCAwIDkgMTZ2MUE3LjAwMSA3LjAwMSAwIDAgMSA0LjA1IDUuMDVhNyA3IDAgMCAxIDMuNTg1LTEuOTE2TTE0IDE0LjAwMWgydjFoLTJ2MmgtMXYtMmgtMnYtMWgydi0yaDF6bS00LTNIN3YtMWgyVjdoMXpNNC44MzYgMS42OTdsLTMuNjIgMy43MTZMLjUgNC43MTYgNC4xMiAxem0xMi42NjEgMy4wMTgtLjcxNy42OTgtMy42MTktMy43MTYuNzE3LS42OTh6Ii8+PC9zdmc+J30sMTg2OTgzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDVhNS41IDUuNSAwIDEgMSAwIDExQTUuNSA1LjUgMCAwIDEgOSA1bS0uNSA1SDZ2MS41aDRWN0g4LjV6TTYuMDAyIDMuMDYzIDIuMDYgNi45OTUgMSA1LjkzMyA0Ljk0MyAyem0xMSAyLjg3LTEuMDYgMS4wNjJMMTIgMy4wNjMgMTMuMDU5IDJ6Ii8+PC9zdmc+J30sNDM1MjczKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMi41NyA1LjVoLS4wN2EzLjUgMy41IDAgMSAwIC4wNyA3QTQuOTggNC45OCAwIDAgMSA0IDlhNSA1IDAgMCAxIDguNTctMy41eiIvPjwvc3ZnPid9LDU1MTQzMChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTIuMjIgMTEuNzhBMy40NyAzLjQ3IDAgMCAwIDkgNi45OGEzLjQ4IDMuNDggMCAwIDAtMy4yMiA0LjggNi45NyA2Ljk3IDAgMCAxIDYuNDQgMHpNNC4xOCA5LjgzTDIuMSA5LjI4bC4zMy0xLjI0IDIuMDcuNTUtLjMzIDEuMjR6TTYuMzggNi4zNmwtLjktMS45NCAxLjE2LS41NC45IDEuOTQtMS4xNi41NHpNMTAuNDYgNS44MmwuOS0xLjk0IDEuMTYuNTQtLjkgMS45NC0xLjE2LS41NHpNMTMuNDkgOC42bDIuMDctLjU2LjMzIDEuMjQtMi4wNy41NS0uMzMtMS4yNHoiLz48L3N2Zz4nfSwyNDEyMjMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTI0LjUgMTRBMTAuNSAxMC41IDAgMSAwIDE0IDI0LjVWMjZhMTIgMTIgMCAxIDEgMC0yNCAxMiAxMiAwIDAgMSAwIDI0di0xLjVjNS44IDAgMTAuNS00LjcgMTAuNS0xMC41Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTcuMyAxNEE0LjMgNC4zIDAgMCAwIDEzIDkuN2gtMS4zdjguNkgxM1YyMGgtM1Y4aDNhNiA2IDAgMCAxIC4zIDEySDEzdi0xLjdhNC4zIDQuMyAwIDAgMCA0LjMtNC4zIi8+PC9zdmc+J30sMzUzMjA2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMyAzYTIgMiAwIDAgMSAyIDJ2MThhMiAyIDAgMCAxLTEuOCAxLjk5TDIzIDI1SDVsLS4yLS4wMUEyIDIgMCAwIDEgMyAyMy4yTDMgMjN2LTYuMDhjLjQ5LjA1Ljk4LjMyIDEuNS41OFYyM2MwIC4yOC4yMi41LjUuNWgxOGEuNS41IDAgMCAwIC41LS41VjVhLjUuNSAwIDAgMC0uNS0uNUg1YS41LjUgMCAwIDAtLjUuNXY1LjVBNCA0IDAgMCAwIDMgMTBWNWMwLTEuMS45LTIgMi0yeiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTYuMSAxNi45NmMtMS4xOSAwLTIuMjQtMS4wOC0zLjI1LTEuMDhxLTEuMjMuMDItMS44NS44NVYxNS4xYTIuNCAyLjQgMCAwIDEgMS45LS44NWMxLjE5IDAgMi4yNCAxLjA5IDMuMjUgMS4wOXExLjIyLS4wMiAxLjg1LS44NXYxLjYyYy0uNC40Ny0xLjA0Ljg0LTEuOS44NE02LjEgMTMuN2MtMS4xOSAwLTIuMjQtMS4wOC0zLjI1LTEuMDhxLTEuMjMuMDItMS44NS44NHYtMS42MUEyLjQgMi40IDAgMCAxIDIuOSAxMWMxLjE5IDAgMi4yNCAxLjA5IDMuMjUgMS4wOS44MSAwIDEuNDQtLjMyIDEuODUtLjg1djEuNjFjLS40LjQ4LTEuMDQuODUtMS45Ljg1TTExIDIwVjloNi41djEuN2gtNC44djIuOTVoMy44djEuN2gtMy44djIuOTVoNC44VjIweiIvPjwvc3ZnPid9LDUzNjkyKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjMgMjMuNVYyNUg1di0xLjV6bS41LS41VjVhLjUuNSAwIDAgMC0uNS0uNUg1YS41LjUgMCAwIDAtLjUuNXYxOGMwIC4yOC4yMi41LjUuNVYyNWwtLjItLjAxQTIgMiAwIDAgMSAzIDIzLjJMMyAyM1Y1YzAtMS4xLjktMiAyLTJoMThhMiAyIDAgMCAxIDIgMnYxOGEyIDIgMCAwIDEtMS44IDEuOTlMMjMgMjV2LTEuNWEuNS41IDAgMCAwIC41LS41Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTEgMjBWOWg2LjV2MS43aC00Ljh2Mi45NWgzLjh2MS43aC0zLjh2Mi45NWg0LjhWMjB6Ii8+PC9zdmc+J30sNTUyMDg0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik01IDMuNVYyaDE4djEuNXptLS41LjV2MTQuMjNxLjAxLjI3LjIzLjQybDkgNS43N2MuMTYuMS4zNy4xLjU0IDBsOS01Ljc3YS41LjUgMCAwIDAgLjIzLS40MlY0YS41LjUgMCAwIDAtLjUtLjVWMmwuMi4wMWEyIDIgMCAwIDEgMS44IDJ2MTQuMjJhMiAyIDAgMCAxLS44MiAxLjYxbC0uMS4wNy05IDUuNzdhMiAyIDAgMCAxLTIuMTYgMGwtOS01Ljc3QTIgMiAwIDAgMSAzIDE4LjIzVjRhMiAyIDAgMCAxIDEuOC0xLjk5SDV2MS41YS41LjUgMCAwIDAtLjUuNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTExIDE4VjdoNi41djEuN2gtNC44djIuOTVoMy44djEuN2gtMy44djIuOTVoNC44VjE4eiIvPjwvc3ZnPid9LDMwNzcwOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjMgMjQuNVYyNkg1di0xLjV6bS41LS41VjkuNzhhLjUuNSAwIDAgMC0uMjMtLjQzbC05LTUuNzdhLjUuNSAwIDAgMC0uNTQgMGwtOSA1Ljc3YS41LjUgMCAwIDAtLjIzLjQzVjI0YzAgLjI4LjIyLjUuNS41VjI2bC0uMi0uMDFBMiAyIDAgMCAxIDMgMjRWOS43OGEyIDIgMCAwIDEgLjgyLTEuNjJsLjEtLjA3IDktNS43N2EyIDIgMCAwIDEgMi4xNiAwbDkgNS43N0EyIDIgMCAwIDEgMjUgOS43N1YyNGEyIDIgMCAwIDEtMiAydi0xLjVhLjUuNSAwIDAgMCAuNS0uNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTExIDIxVjEwaDYuNXYxLjdoLTQuOHYyLjk1aDMuOHYxLjdoLTMuOHYyLjk1aDQuOFYyMXoiLz48L3N2Zz4nfSw3NTI3MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjQuNSAxNEExMC41IDEwLjUgMCAxIDAgMTQgMjQuNVYyNmExMiAxMiAwIDEgMSAwLTI0IDEyIDEyIDAgMCAxIDAgMjR2LTEuNWM1LjggMCAxMC41LTQuNyAxMC41LTEwLjUiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMS4xIDE0LjAzIDE3LjA1IDEwIDE2IDExLjA2bDIuMjIgMi4yMmgtNS4zOEw4LjU2IDkgNy41IDEwLjA2bDQuNzIgNC43Mmg2TDE2IDE3bDEuMDYgMS4wNnpNMTAgMTVsLTMgMyAxLjA2IDEuMDYgMy0zeiIvPjwvc3ZnPid9LDY5MTk4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yNC41IDE0QTEwLjUgMTAuNSAwIDEgMCAxNCAyNC41VjI2YTEyIDEyIDAgMSAxIDAtMjQgMTIgMTIgMCAwIDEgMCAyNHYtMS41YzUuOCAwIDEwLjUtNC43IDEwLjUtMTAuNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEzLjk5IDhxMS4xNCAwIDEuOTcuNDNBMy4zIDMuMyAwIDAgMSAxNy43OCAxMUgxNnEtLjEtLjMtLjI5LS41NWEyIDIgMCAwIDAtLjctLjU0IDMgMyAwIDAgMC0xLjAzLS4ycS0uNTcgMC0xIC4yLS40NS4xOS0uNy41NGExLjQgMS40IDAgMCAwLS4yNS44NHEwIC40LjE4LjcyLjIuMy41OC41My40LjIyIDEuMDQuMzdsMS4xLjI2cTEuMDkuMjYgMS43Ni42OC42Ny40MSAxIDEuMDQuMy42MS4zMSAxLjQ5IDAgMS4xMy0uNDkgMS45Mi0uNDguODEtMS4zOSAxLjI2VDE0IDIwcS0xLjIgMC0yLjA4LS40MUEzLjI4IDMuMjggMCAwIDEgMTAgMTdoMS44cS4wOS4zLjMuNTMuMy4zNi44LjU2YTMuMSAzLjEgMCAwIDAgMi4yNS0uMDFxLjQ4LS4yMi43NS0uNi4yNy0uMzYuMjctLjg2di0uMDFxMC0uNjItLjQ0LTFhMyAzIDAgMCAwLTEuNDMtLjY0bC0xLjEtLjI1cS0xLjA1LS4yNS0xLjcxLS43dC0uOTgtMS4xcS0uMzItLjY1LS4zMi0xLjQ5IDAtMS4wNC40OS0xLjguNDgtLjc2IDEuMzQtMS4yQTQgNCAwIDAgMSAxNCA4Ii8+PC9zdmc+J319XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/71528.7c6c08c8eed01d841052.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.141Z","timestamp":1785141585141,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/71528.7c6c08c8eed01d841052.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-cf\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 61568780e611831e10563cbe51ceb6c6\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":207,"size_decoded":927,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"59c821709296397ada51b9c216f5c7bb","sha1":"960e0c054e516480ef63b30288834dbdf74de433","sha256":"12cab853e535a7f334166f97b48646a814935d98d7b080bc94ccddbae1aa0184","sha512":"57476d65b403a65d401ed958edb75bb17b0f5611d395f8cc073f2884ad790a835be959c08ca96a00bccb24ead3fc3ed5d11bac90568c95998b075d2994571bf1","ssdeep":"","tlshash":"9fd0a7a445e26fa8801294f217810561b008caa552634ecb55139a1ed7c568774b5095","first_seen":"2026-07-19T14:58:49.097554Z","last_seen":"2026-07-27T14:27:22.352546Z","times_seen":95,"resource_available":false,"data":"LnJpZ2h0LU9JQmtrM2dLe2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCk7ZGlzcGxheTpmbGV4O2dhcDo0cHg7bWFyZ2luLWlubGluZS1lbmQ6LTRweH0uYXJyb3ctT0lCa2szZ0t7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0uYXJyb3ctT0lCa2szZ0s6ZGlyKHJ0bCl7dHJhbnNmb3JtOnNjYWxlWCgtMSl9"}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/88641.041438d11c46fce9d089.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.142Z","timestamp":1785141585142,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/88641.041438d11c46fce9d089.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-62c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ecf3aa121446f39b90efd5d1b97ec5be\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1580,"size_decoded":1388,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1580), with no line terminators","md5":"32e0ae9a28c9d52b414aad34c4892758","sha1":"c119d88feed0b8329be7c35b301b302009ccf7ae","sha256":"e500bb28f78ac3f684a2b30dc0bd9b3331361b359f821ea0c3a52125602e5b20","sha512":"12b52a1eb7238e0fb37efa641cf083fec0b82cbffa652c114c565afca2e4ed378b45dae932ca4d06a04dbc1b5ba34433d9b290cf92413b855a971a45eb7099d8","ssdeep":"","tlshash":"0d31c2a8e27491ba5a4bdd7923d4e659190cbd03be221fd6f724d4108cc65e32371d98","first_seen":"2026-04-03T18:46:53.450108Z","last_seen":"2026-07-27T12:48:39.810188Z","times_seen":198,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtbnJmSjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xLW5yZko6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1ucmZKOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tXzEtbnJmSjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKX0uY29udGFpbmVyLXFtN1JnNU1Ce2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBzb2xpZDtib3JkZXItdG9wOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tXzEtbnJmSik7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXgtc2hyaW5rOjA7cG9zaXRpb246cmVsYXRpdmV9LmNvbnRhaW5lci1xbTdSZzVNQi5tb2JpbGUtcW03Umc1TUJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NDBweDttYXJnaW4tYmxvY2s6NHB4IDhweDttYXJnaW4taW5saW5lOjIwcHggMjBweH0uaW5wdXRDb250YWluZXItcW03Umc1TUJ7aGVpZ2h0OjI0cHg7cGFkZGluZy1ibG9jazo4cHggOHB4O3BhZGRpbmctaW5saW5lOjQ3cHggMTZweDt3aWR0aDoxMDAlfS5pbnB1dENvbnRhaW5lci1xbTdSZzVNQi5tb2JpbGUtcW03Umc1TUJ7cGFkZGluZy1pbmxpbmUtc3RhcnQ6NDBweH0uaW5wdXRDb250YWluZXItcW03Umc1TUIud2l0aENhbmNlbC1xbTdSZzVNQntwYWRkaW5nLWlubGluZS1lbmQ6NzBweH0uaW5wdXQtcW03Umc1TUJ7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjpub25lO2NvbG9yOnZhcigtLV8wLW5yZkopO2ZvbnQtc2l6ZToxNnB4O2hlaWdodDoxMDAlO21hcmdpbjowO3BhZGRpbmc6MDt3aWR0aDoxMDAlfS5pbnB1dC1xbTdSZzVNQi5tb2JpbGUtcW03Umc1TUJ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCl9LmlucHV0LXFtN1JnNU1CLm1vYmlsZS1xbTdSZzVNQjo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpO2ZvbnQtd2VpZ2h0OjQwMH0uaW5wdXQtcW03Umc1TUI6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLWlucHV0LXBsYWNlaG9sZGVyLXRleHQpO2ZvbnQtd2VpZ2h0OjQwMH0uaWNvbi1xbTdSZzVNQntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzUwKTtoZWlnaHQ6MjhweDtpbnNldC1pbmxpbmUtc3RhcnQ6MTVweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDpjYWxjKDUwJSAtIDE0cHgpfS5pY29uLXFtN1JnNU1CLm1vYmlsZS1xbTdSZzVNQntjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCk7aW5zZXQtaW5saW5lLXN0YXJ0OjhweH0uY2FuY2VsLXFtN1JnNU1Ce2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7aW5zZXQtaW5saW5lLWVuZDoyMHB4O3Bvc2l0aW9uOmFic29sdXRlfS5jYW5jZWwtcW03Umc1TUIubW9iaWxlLXFtN1JnNU1Ce2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKX0="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/59649.92df5c6660570716c83b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.903Z","timestamp":1785141584903,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/59649.92df5c6660570716c83b.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-35cf\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 13ed3ee02fa7e5d205fb6e47218ae368\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":13775,"size_decoded":5591,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3062)","md5":"57159064a167c575b3f42cfe243c8b4a","sha1":"2fd63df6a6219555e07b7f46761a70335b041f7f","sha256":"9507b55a5faa7e958e1e3e4aee4b5f32e94cdbf494c098c8b09ec3d032f0d99f","sha512":"415cd8a87e36d006cfb494a437457d8cb15372dae8dba44d8672272bde5159c57db31fa519cbb62c5b5ae1fc709ed3d65e6fa3fcee70b0920f0b34a22e191089","ssdeep":"384:1n+y6T2SHX//Hz6v6eeR3otnEGIMLwqIhqK6EyHv+FxjLcyJao:9+y66SHX3WyeeR3I7Lw5hqK6pHv+FxjP","tlshash":"405286527293b8f6e1b581e358740503e66d1dcaa881958cf7bc0ccea74de48b274f7a","first_seen":"2026-07-22T16:00:00.524854Z","last_seen":"2026-07-27T14:50:15.31145Z","times_seen":83,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTk2NDldLHs5Njg2NzEoZSx0LHMpe2Z1bmN0aW9uIGkoZSx0LHMpe2xldCBpPWVbYCR7dH0jJHtzfWBdfHxudWxsO3JldHVybiBudWxsPT09aSYmKGk9ZVt0XXx8bnVsbCksbnVsbD09PWkmJk9iamVjdC5rZXlzKGUpLmZvckVhY2goKHM9PntudWxsPT09aSYmcy5zdGFydHNXaXRoKGAke3R9I2ApJiYoaT1lW3NdfHxudWxsKX0pKSxpfXMuZCh0LHtnZXRPYnNvbGV0ZUlkZWFTeW1ib2xJbmZvOigpPT5pfSl9LDg1OTY0OShlLHQscyl7cy5kKHQse1N0dWR5Q29tcGFyZTooKT0+S30pO3ZhciBpPXMoMTM4NjM4KSxyPXMoMjMyMzY0KSxsPXMoOTMwMjMxKSxuPXMoOTY4NjcxKSxvPXMoMTUyNzY2KSxhPXMoMTk3MjcyKSx1PXMoOTUyOTAwKSxkPXMoMTI4OTk4KSxjPXMoMzE0OTE0KSxoPXMoNzY4MjkyKSxtPXMoNDA3Nzk5KSx5PXMoMjI2NDc3KSxiPXMoNzE2NzgpLF89cygxMjM2MTcpLHA9cyg4NzM1NzMpO2NvbnN0IFM9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZm9yY2VfZXhjaGFuZ2VfYXNfdGl0bGUiKTtjbGFzcyB2IGV4dGVuZHMgYi5QcmljZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9zdHVkeUNvbXBhcmU9ZSx0aGlzLl9kYXRhPXR9X3VwZGF0ZVJlbmRlcmVyRGF0YShlLHQscyl7ZS52aXNpYmxlPSExLHQudmlzaWJsZT0hMTtjb25zdCByPXRoaXMuX3N0dWR5Q29tcGFyZS5wcmljZVNjYWxlKCksbD10aGlzLl9zdHVkeUNvbXBhcmUubGFzdFZhbHVlRGF0YSh0aGlzLl9kYXRhLnBsb3ROYW1lLCExKTtpZihsLm5vRGF0YXx8bnVsbD09PXJ8fHIuaXNFbXB0eSgpKXJldHVybjtjb25zdCBuPXRoaXMuX3N0dWR5Q29tcGFyZS5tb2RlbCgpLG89bi50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksYT1uLm1haW5TZXJpZXMoKS5iYXJzKCkubGFzdEluZGV4KCk7aWYobnVsbD09PW98fG51bGw9PT1hKXJldHVybjtjb25zdCB1PSgwLHAucmVzZXRUcmFuc3BhcmVuY3kpKGwuY29sb3IpO2lmKGE8PW8ubGFzdEJhcigpKXMuYmFja2dyb3VuZD11LHMudGV4dENvbG9yPXRoaXMuZ2VuZXJhdGVUZXh0Q29sb3Iocy5iYWNrZ3JvdW5kKSxzLmJvcmRlckNvbG9yPXZvaWQgMCxlLmJvcmRlclZpc2libGU9ITEsdC5ib3JkZXJWaXNpYmxlPSExO2Vsc2V7Y29uc3Qgcj1uLmJhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wKGwuY29vcmRpbmF0ZS8oMCxpLmVuc3VyZU5vdE51bGwpKG4ucGFuZUZvclNvdXJjZSh0aGlzLl9zdHVkeUNvbXBhcmUpKS5oZWlnaHQoKSk7cy5iYWNrZ3JvdW5kPXIscy50ZXh0Q29sb3I9dSxzLmJvcmRlckNvbG9yPXMudGV4dENvbG9yLGUuYm9yZGVyVmlzaWJsZT0hMCx0LmJvcmRlclZpc2libGU9ITB9cy5jb29yZGluYXRlPWwuY29vcmRpbmF0ZTtjb25zdCBkPW4ucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCk7ZC5zaG93U2VyaWVzTGFzdFZhbHVlLnZhbHVlKCkmJihlLnRleHQ9KDAsXy5nZXRDdXJyZW50TW9kZVByaWNlVGV4dCkocixsKSxkLnNlcmllc0xhc3RWYWx1ZU1vZGUudmFsdWUoKSE9PXkuUHJpY2VBeGlzTGFzdFZhbHVlTW9kZS5MYXN0UHJpY2VBbmRQZXJjZW50YWdlVmFsdWU/ZS5zZWNvbmRMaW5lPSIiOmUuc2Vjb25kTGluZT0oMCxfLmdldE9wcG9zaXRlTW9kZVByaWNlVGV4dCkocixsKSxlLnZpc2libGU9ITApLHQudGV4dD0iIixkLnNob3dTeW1ib2xMYWJlbHMudmFsdWUoKSYmKHQudGV4dD10aGlzLl9wYW5lVGV4dCgpLHQudmlzaWJsZT10LnRleHQubGVuZ3RoPjApLGUuc2VsZWN0ZWRNYXJrQ29sb3I9bi5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHRoaXMuX3N0dWR5Q29tcGFyZSk/dTp2b2lkIDB9X3BhbmVUZXh0KCl7bGV0IGU9IiI7Y29uc3QgdD10aGlzLl9zdHVkeUNvbXBhcmUuc3ltYm9sSW5mbygpO3JldHVybiBTP2U9KDAsZC5kaXNwbGF5ZWRTeW1ib2xFeGNoYW5nZSkodCk6dGhpcy5fc3R1ZHlDb21wYXJlLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1N5bWJvbExhYmVscy52YWx1ZSgpJiYoZT0oMCxkLmRpc3BsYXllZFN5bWJvbE5hbWUpKHQpKSxlfX12YXIgZz1zKDE4NTI3MSksQz1zKDUzNjcxMCksST1zKDMwOTgzNyksZj1zKDY3ODI4NSksUD1zKDMxODk3NCksVj1zKDg2MDQ0MiksVD1zKDYwMTg0MSksdz1zKDk0Mzk1KTtjb25zdCB4PVAuQ2hlY2tNb2JpbGUuYW55KCk7Y2xhc3MgTCBleHRlbmRzIEkuU3R1ZHlWYWx1ZXNQcm92aWRlcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fZW1wdHlWYWx1ZXNbMF0udGl0bGU9ZS5ndWlQbG90TmFtZSh3LlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLCIiKX1nZXRWYWx1ZXMoZSl7cmV0dXJuKDAsVC5pc051bWJlcikoZSl8fCh0aGlzLl9zaG93TGFzdFByaWNlQW5kQ2hhbmdlT25seSgpP2U9dGhpcy5fc3R1ZHkuZGF0YSgpLmxhc3RJbmRleCgpOihlPXRoaXMuX21vZGVsLmNyb3NzaGFpclNvdXJjZSgpLmFwcGxpZWRJbmRleCgpLCgwLFQuaXNOdW1iZXIpKGUpfHwoZT10aGlzLl9zdHVkeS5kYXRhKCkubGFzdEluZGV4KCkpKSksc3VwZXIuZ2V0VmFsdWVzKGUpfV9oaWRlVmFsdWVzKCl7cmV0dXJuITF9X3Nob3dMYXN0UHJpY2VBbmRDaGFuZ2VPbmx5KCl7cmV0dXJuIHgmJihudWxsPT09dGhpcy5fbW9kZWwuY3Jvc3NoYWlyU291cmNlKCkucGFuZXx8KDAsVi5pc0xpbmVUb29sTmFtZSkoZi50b29sLnZhbHVlKCkpfHxudWxsIT09dGhpcy5fbW9kZWwubGluZUJlaW5nRWRpdGVkKCkpfX1jbGFzcyBFIGV4dGVuZHMgQy5TdHVkeURhdGFXaW5kb3dWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9zdHVkeUNvbXBhcmU9ZX1faGlkZVZhbHVlcygpe3JldHVybiExfV9jcmVhdGVWYWx1ZXNQcm92aWRlcihlLHQpe3JldHVybiBuZXcgTChlLHQpfX12YXIgTz1zKDk2NjQwNCksUj1zKDk0NzM4Mik7Y2xhc3MgVSBleHRlbmRzIEV7Y29uc3RydWN0b3IoZSx0KXsKc3VwZXIoZSx0KSx0aGlzLl9hZGRpdGlvbmFsPW51bGwsdGhpcy5fc2hvd1Nlcmllc09ITEM9dC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkubGVnZW5kUHJvcGVydGllcy5jaGlsZHMoKS5zaG93U2VyaWVzT0hMQyx0aGlzLl9zaG93U2VyaWVzT0hMQy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMudXBkYXRlKCgwLE8uc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpKSl9YXJlVmFsdWVzVmlzaWJsZSgpe3JldHVybiB0aGlzLl9zaG93U2VyaWVzT0hMQy52YWx1ZSgpfWRlc3Ryb3koKXt0aGlzLl9zaG93U2VyaWVzT0hMQy51bnN1YnNjcmliZUFsbCh0aGlzKX1hZGRpdGlvbmFsKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKSx0aGlzLl9hZGRpdGlvbmFsfV91cGRhdGVJbXBsKCl7e2NvbnN0IGU9KDAsUi5nZXREYXRhVmVuZG9yU3RyaW5nKSh0aGlzLl9zdHVkeUNvbXBhcmUuc3ltYm9sSW5mbygpKTt0aGlzLl9hZGRpdGlvbmFsPWU/Zy50KG51bGwsdm9pZCAwLHMoMzY3NTM4KSkrIiAiK2U6bnVsbH1zdXBlci5fdXBkYXRlSW1wbCgpfX12YXIgQT1zKDkzMjY5MyksRj1zKDI1MDMzNCksaz1zKDI3NTg0OSk7Y2xhc3MgRCBleHRlbmRzIGsuU3R1ZHlTdGF0dXNQcm92aWRlcntnZXRTcGxpdFRpdGxlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5nZXRTcGxpdFRpdGxlKCExKX10ZXh0KCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5pc0FjdHVhbEludGVydmFsKCk/dGhpcy5fc291cmNlLmlzRmFpbGVkKCk/YCR7dGhpcy5fc291cmNlLnRpdGxlKHcuVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsITAsdm9pZCAwLCExLCExKX06ICR7dGhpcy5zb3VyY2VTdGF0dXNUZXh0KCl9YDpgJHt0aGlzLl9zb3VyY2UudGl0bGUody5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSwhMCx2b2lkIDAsITEsITEpfSAke3RoaXMuc291cmNlU3RhdHVzVGV4dCgpfWA6dGhpcy5fc291cmNlLnRpdGxlKHcuVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsITAsdm9pZCAwLCExLCExKX19dmFyIE09cygyMDY1NzApLE49cygzMjI1NTQpLEg9cyg3MjM1MjUpO2NvbnN0ICQ9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic3R1ZHlfb3ZlcmxheV9jb21wYXJlX2xlZ2VuZF9vcHRpb24iKSxCPSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImZvcmNlX2V4Y2hhbmdlX2FzX3RpdGxlIiksVz0hKDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9zdHVkeV9jb21wYXJlX2xlZ2VuZF9pdGVtIiksaj0oMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3VucmVzb2x2ZWRfc3ltYm9sc19pbl9sZWdlbmQiKTt2YXIgRzshZnVuY3Rpb24oZSl7ZS5TbmFwU2hvdFN5bWJvbEluZm9LZXk9Il9fX3NuYXBzaG90In0oR3x8KEc9e30pKTtjbGFzcyBLIGV4dGVuZHMgYS5TdHVkeXtjb25zdHJ1Y3RvcihlLHQscyxpLGwsbil7c3VwZXIoZSxmdW5jdGlvbihlKXtyZXR1cm4gZS5oYXNDaGlsZCgiY3VycmVuY3lJZCIpfHxlLmFkZENoaWxkKCJjdXJyZW5jeUlkIixuZXcgaC5Qcm9wZXJ0eShudWxsKSksZS5oYXNDaGlsZCgidW5pdElkIil8fGUuYWRkQ2hpbGQoInVuaXRJZCIsbmV3IGguUHJvcGVydHkobnVsbCkpLGUuYWRkRXhjbHVkZWRLZXkoImN1cnJlbmN5SWQiLDEpLGUuYWRkRXhjbHVkZWRLZXkoInVuaXRJZCIsMSksZX0odCkscyxpLGwsbiksdGhpcy5fcmVhbGlnblRvb2xzTGFzdFBhcmFtcz1udWxsLHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbFNvdXJjZT0iIix0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5taW5UaWNrLnN1YnNjcmliZShudWxsLCgoKT0+dGhpcy5fcmVjcmVhdGVQcmljZUZvcm1hdHRpbmdEZXBlbmRlbmNpZXMoKSkpLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLm1pblRpY2suc3Vic2NyaWJlKG51bGwsKCgpPT50aGlzLl9tb2RlbC5mdWxsVXBkYXRlKCkpKSx0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5jdXJyZW5jeUlkLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ3VycmVuY3lDaGFuZ2VkKSx0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS51bml0SWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Vbml0Q2hhbmdlZCksdGhpcy5fc3ltYm9sUmVzb2x2aW5nQWN0aXZlPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc3ltYm9sSGliZXJuYXRlZD1uZXcgci5XYXRjaGVkVmFsdWUoITEpLGUubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT5lLnJlYWxpZ25MaW5lVG9vbHModGhpcykpKTtjb25zdCBvPSgpPT50aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvLnNldFZhbHVlKHRoaXMuc3ltYm9sSW5mbygpKTt0aGlzLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsbyksdGhpcy5vblN0YXR1c0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyxvKSxvKCksdGhpcy5faXNDdXJyZW5jeU9yaWdpbi5zZXRWYWx1ZSghMCksdGhpcy5faXNVbml0T3JpZ2luLnNldFZhbHVlKCEwKX1kZXN0cm95KCl7dGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY3VycmVuY3lVbml0U291cmNlU3ltYm9sSW5mby5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc31zeW1ib2xQYXJhbXMoKXtyZXR1cm4oMCxNLnN5bWJvbFBhcmFtcykodGhpcyl9Y29tcGFyZVN5bWJvbFBhcmFtcyhlKXtyZXR1cm4oMCxNLmNvbXBhcmVTeW1ib2xQYXJhbXMpKHRoaXMsZSx0aGlzLl9tb2RlbC51bml0Q29udmVyc2lvbkVuYWJsZWQoKSx0aGlzLl9tb2RlbC5tZXRyaWNDb252ZXJzaW9uRW5hYmxlZCgpKX1hc3luYyBzZXRTeW1ib2xQYXJhbXMoZSl7dGhpcy5fc2V0U3ltYm9sQ3VycmVuY3lVbml0SW50ZXJuYWwoZSl9c3ltYm9sKCl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wudmFsdWUoKX1zeW1ib2xPckFsaWFzKCl7cmV0dXJuIHRoaXMuc3ltYm9sKCl9CnN5bWJvbENoYW5nZWQoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLnN5bWJvbH1vblN5bWJvbEludGVydmFsQ2hhbmdlZCgpe3JldHVybiB0aGlzLnN5bWJvbENoYW5nZWQoKX1zZXRTeW1ib2woZSl7dGhpcy5zZXRTeW1ib2xQYXJhbXMoe3N5bWJvbDplfSl9c3ltYm9sSW5mbygpe2lmKCF0aGlzLl9yZXNvbHZlZFN5bWJvbHMpcmV0dXJuIG51bGw7Y29uc3QgZT10aGlzLnN5bWJvbCgpO2lmKCFlKXJldHVybiBudWxsO2xldCB0O3JldHVybiB0PXRoaXMuX21vZGVsLmlzU25hcHNob3QoKT90aGlzLl9yZXNvbHZlZFN5bWJvbHMuX19fc25hcHNob3R8fG51bGw6dGhpcy5fcmVzb2x2ZWRTeW1ib2xzW3RoaXMuX2dldFN5bWJvbEZvclJlc29sdmUoZSldfHxudWxsLHRoaXMuX21vZGVsLmlzU25hcHNob3QoKSYmbnVsbD09PXQmJih0PSgwLG4uZ2V0T2Jzb2xldGVJZGVhU3ltYm9sSW5mbykodGhpcy5fcmVzb2x2ZWRTeW1ib2xzLGUsdGhpcy5jdXJyZW5jeSgpKSxudWxsIT09dCYmKHRoaXMuX3Jlc29sdmVkU3ltYm9scy5fX19zbmFwc2hvdD10KSksdH1zeW1ib2xJbmZvV1YoKXtyZXR1cm4gdGhpcy5fY3VycmVuY3lVbml0U291cmNlU3ltYm9sSW5mby5yZWFkb25seSgpfWFsaWFzU3ltYm9sSW5mbygpe3JldHVybiB0aGlzLnN5bWJvbEluZm8oKX1zeW1ib2xSZXNvbHZlZCgpe3JldHVybiB0aGlzLnN5bWJvbHNSZXNvbHZlZCgpfXN5bWJvbFJlc29sdmluZ0FjdGl2ZSgpe3JldHVybiB0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmV9c3ltYm9sSGliZXJuYXRlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xIaWJlcm5hdGVkfWlzVmlzaWJsZSgpe2NvbnN0IGU9c3VwZXIuaXNWaXNpYmxlKCk7cmV0dXJuIHRoaXMuX3N5bWJvbEhpYmVybmF0ZWQuc2V0VmFsdWUoIWUpLGV9c3ltYm9sU2FtZUFzQ3VycmVudChlKXtyZXR1cm4oMCxNLnN5bWJvbFNhbWVBc0N1cnJlbnQpKGUsdGhpcy5zeW1ib2xJbmZvKCkpfXN5bWJvbFNhbWVBc1Jlc29sdmVkKGUpe3JldHVybigwLE4uc3ltYm9sU2FtZUFzUmVzb2x2ZWQpKGUsdGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sU291cmNlLHRoaXMuc3ltYm9sKCkpfWN1cnJlbmN5KCl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmN1cnJlbmN5SWQudmFsdWUoKXx8bnVsbH1zZXRDdXJyZW5jeShlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7Y3VycmVuY3k6ZX0pfXVuaXQoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudW5pdElkLnZhbHVlKCl8fG51bGx9c2V0VW5pdChlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7dW5pdDplfSl9c2V0TWV0cmljKGUpe3RoaXMuc2V0U3ltYm9sUGFyYW1zKHttZXRyaWM6ZX0pfXN0eWxlKCl7cmV0dXJuIDJ9c2V0U3R5bGUoZSl7fWludGVydmFsKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpfXNldEludGVydmFsKGUpe312YWx1ZUF0KGUsdCl7cmV0dXJuIHRoaXMuZGF0YSgpLnNlYXJjaChlKT8udmFsdWVbMV0/P251bGx9c3RhdGUoZSx0KXtjb25zdCBzPXN1cGVyLnN0YXRlKGUsdCk7dGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCl8fGRlbGV0ZSBzLnN0YXRlLnVuaXRJZDtjb25zdCByPXRoaXMuc3ltYm9sKCk7cmV0dXJuIHMuc3RhdGUuaW5wdXRzLnN5bWJvbD0oMCxkLnN5bWJvbFRvU2F2ZUluU3RhdGUpKHRoaXMuc3ltYm9sSW5mbygpPz90aGlzLl9tb2RlbC5jaGFydEFwaSgpLmxhc3RTeW1ib2xSZXNvbHZlSW5mbyhyKSxyKSxlJiYoKDAsaS5lbnN1cmVEZWZpbmVkKShzLmRhdGEpLnN5bWJvbHM9e19fX3NuYXBzaG90OnRoaXMuc3ltYm9sSW5mbygpfHx2b2lkIDB9KSxzfXN5bWJvbFRpdGxlKGUsdCxzKXtyZXR1cm4gdGhpcy50aXRsZShlLCEwLHt9LCExLHQpfXRpdGxlSW5QYXJ0cyhlLHQscyxpLHIpe2NvbnN0IGw9dGhpcy5fdGl0bGVJblBhcnRzKGUsdCxzLGkscik7cmV0dXJuW1tsWzBdLC4uLmxbMV0/P1tdXS5qb2luKCIsICIpXX10YWdzKCl7Y29uc3QgZT10aGlzLnN5bWJvbCgpO3JldHVybiBlP1tlXTpbXX1zdGF0dXNWaWV3KCl7cmV0dXJuIFc/c3VwZXIuc3RhdHVzVmlldygpOm51bGx9Z3VpUGxvdE5hbWUoZSx0KXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLnN5bWJvbC52YWx1ZSgpfWNhbk92ZXJyaWRlTWluVGljaygpe3JldHVybiEwfWNhbkJlSGlkZGVuQnlHbG9iYWxGbGFnKCl7cmV0dXJuITF9bGVnZW5kVmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gbmV3IEwodGhpcyx0aGlzLm1vZGVsKCkpfXN0YXR1c1Byb3ZpZGVyKGUpe3JldHVybiBuZXcgRCh0aGlzKX1tZWFzdXJlVW5pdElkKCl7cmV0dXJuKDAsZC5tZWFzdXJlVW5pdElkKSh0aGlzLnN5bWJvbEluZm8oKSl9Z2V0U3ltYm9sU3RyaW5nKGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT10aGlzLl9nZXRTeW1ib2xGb3JBcGkodGhpcy5zeW1ib2woKSkpLCgwLG0uZW5jb2RlRXh0ZW5kZWRTeW1ib2xPckdldFNpbXBsZVN5bWJvbFN0cmluZykodGhpcy5fZ2V0U3ltYm9sT2JqZWN0KGUpKX1fZ2V0U3ltYm9sU291cmNlKCl7cmV0dXJuIHRoaXN9X2NyZWF0ZVByaWNlQXhpc1ZpZXcoZSl7cmV0dXJuIG5ldyB2KHRoaXMse3Bsb3ROYW1lOiJjb21wYXJlIn0pfV9jcmVhdGVWaWV3cygpe3RoaXMuX2xlZ2VuZFZpZXd8fCh0aGlzLl9sZWdlbmRWaWV3PW5ldyBVKHRoaXMsdGhpcy5fbW9kZWwpKSx0aGlzLl9kYXRhV2luZG93Vmlld3x8KHRoaXMuX2RhdGFXaW5kb3dWaWV3PW5ldyBFKHRoaXMsdGhpcy5fbW9kZWwpKSx0aGlzLl9zdGF0dXNWaWV3fHwodGhpcy5fc3RhdHVzVmlldz1uZXcgQS5TdHVkeVN0YXR1c1ZpZXcodGhpcykpLHN1cGVyLl9jcmVhdGVWaWV3cygpfV9vblVuaXRDaGFuZ2VkKCl7ImFsd2F5c09mZiIhPT0oMCxvLmN1cnJlbmN5VW5pdE1ldHJpY1Zpc2liaWxpdHlQcm9wZXJ0eSkoKS52YWx1ZSgpJiZ0aGlzLl9tb2RlbC5mdWxsVXBkYXRlKCksdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCkmJnRoaXMuaXNTdGFydGVkKCkmJnRoaXMuX3RyeUNoYW5nZUlucHV0cygpLAp0aGlzLl91bml0Q2hhbmdlZC5maXJlKCl9X2dldFN5bWJvbE9iamVjdChlKXtjb25zdCB0PXN1cGVyLl9nZXRTeW1ib2xPYmplY3QoZSkscz10aGlzLmN1cnJlbmN5KCk7bnVsbCE9PXMmJih0WyJjdXJyZW5jeS1pZCJdPXMpO2NvbnN0IGk9dGhpcy51bml0KCk7cmV0dXJuIHRoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpJiZudWxsIT09aSYmKHRbInVuaXQtaWQiXT1pKSx0fV9vblN5bWJvbFJlc29sdmluZ1N0YXJ0KGUsdCl7dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sU291cmNlPXQsc3VwZXIuX29uU3ltYm9sUmVzb2x2aW5nU3RhcnQoZSx0KSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITApfV9vblN5bWJvbEVycm9yKCl7c3VwZXIuX29uU3ltYm9sRXJyb3IoKSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITEpfV9vblN5bWJvbFJlc29sdmVkKGUsdCxzKXtzdXBlci5fb25TeW1ib2xSZXNvbHZlZChlLHQscyksdGhpcy5fcmVjcmVhdGVQcmljZUZvcm1hdHRpbmdEZXBlbmRlbmNpZXMoKTtjb25zdCBpPXQ9PT10aGlzLnN5bWJvbCgpPygwLGMuZXh0cmFjdFN5bWJvbE5hbWVGcm9tU3ltYm9sSW5mbykocyx0aGlzLnN5bWJvbCgpKTpudWxsLHI9KDAsZC5zeW1ib2xDdXJyZW5jeSkocyksbD0oMCxkLnN5bWJvbFVuaXQpKHMsdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCkpO3RoaXMuX3NldFN5bWJvbEN1cnJlbmN5VW5pdEludGVybmFsKHtzeW1ib2w6aT8/dm9pZCAwLGN1cnJlbmN5OnIsdW5pdDpsfSxzKSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITEpfWFzeW5jIF9jaGFuZ2VJbnB1dHNJbXBsKGUsdCl7YXdhaXQgc3VwZXIuX2NoYW5nZUlucHV0c0ltcGwoZSx0KSx0aGlzLl9yZWFsaWduTGluZVRvb2xzSWZQYXJhbXNDaGFuZ2VkKCl9X2NyZWF0ZVN0dWR5T25TZXJ2ZXIoKXtjb25zdCBlPXN1cGVyLl9jcmVhdGVTdHVkeU9uU2VydmVyKCk7cmV0dXJuIHRoaXMuX3JlYWxpZ25MaW5lVG9vbHNJZlBhcmFtc0NoYW5nZWQoKSxlfV90cnlDcmVhdGVGb3JtYXR0ZXIoKXtGLmN1c3RvbUZvcm1hdHRlcnM/LnByaWNlRm9ybWF0dGVyRmFjdG9yeT8uKHRoaXMuc3ltYm9sSW5mbygpLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLm1pblRpY2sudmFsdWUoKSk7cmV0dXJuKDAsZC5jcmVhdGVTZXJpZXNGb3JtYXR0ZXIpKHRoaXMuc3ltYm9sSW5mbygpLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLm1pblRpY2sudmFsdWUoKSl9X3RyeUNyZWF0ZURlZmF1bHRGb3JtYXR0ZXIoKXtyZXR1cm4oMCxkLmNyZWF0ZVNlcmllc0Zvcm1hdHRlcikodGhpcy5zeW1ib2xJbmZvKCksImRlZmF1bHQiKX1fdGl0bGVJblBhcnRzKGUsdCxzLGkscil7Y29uc3QgbD10aGlzLl9nZXRTcGxpdFRpdGxlKHIpLG49W2wubGlzdGVkRXhjaGFuZ2UsbC5wcmljZVNvdXJjZV0uZmlsdGVyKChlPT52b2lkIDAhPT1lKSk7cmV0dXJuW2wudGl0bGUsbl19X2dldFNwbGl0VGl0bGUoZSl7Y29uc3QgdD10aGlzLnN5bWJvbEluZm8oKTtyZXR1cm57dGl0bGU6dGhpcy5fZ2V0U3ltYm9sVGl0bGVQYXJ0KHQpLGxpc3RlZEV4Y2hhbmdlOnRoaXMuX2dldEV4Y2hhbmdlVGl0bGVQYXJ0KHQsZSk/P3ZvaWQgMCxwcmljZVNvdXJjZTp0aGlzLl9nZXRQcmljZVNvdXJjZVRpdGxlUGFydCh0KT8/dm9pZCAwfX1fc2tpcEhpc3RvZ3JhbUJhc2VPbkF1dG9TY2FsZSgpe3JldHVybiEwfV9pbml0Q3VycmVuY3lNZXRhRGF0YSgpeygwLHUuY29tYmluZSkoKGU9Pntjb25zdCB0PSgwLGQuc3ltYm9sQ3VycmVuY3kpKGUpO251bGwhPT1lJiZudWxsIT09dD90aGlzLl9jdXJyZW5jeU1ldGFEYXRhLnNldFZhbHVlKHtvcmlnaW5hbEN1cnJlbmN5OigwLGQuc3ltYm9sT3JpZ2luYWxDdXJyZW5jeSkoZSksY3VycmVudEN1cnJlbmN5OnQsYmFzZUN1cnJlbmN5OigwLGQuc3ltYm9sQmFzZUN1cnJlbmN5KShlKSxpc0N1cnJlbmN5Q29udmVydGlibGU6KDAsZC5zeW1ib2xDdXJyZW5jeUNvbnZlcnRpYmxlKShlKSxpc0NvbnZlcnRlZFRvT3RoZXJDdXJyZW5jeTooMCxkLmlzQ29udmVydGVkVG9PdGhlckN1cnJlbmN5KShlKSxjdXJyZW5jeU9yaWdpbk5hbWU6KDAsZC5wcm9TeW1ib2wpKGUsdGhpcy5zeW1ib2woKSl9KTp0aGlzLl9jdXJyZW5jeU1ldGFEYXRhLnNldFZhbHVlKG51bGwpfSksdGhpcy5fc3ltYm9sU291cmNlU3ltYm9sSW5mby53ZWFrUmVmZXJlbmNlKCkpfV9pbml0VW5pdE1ldGFEYXRhKCl7KDAsdS5jb21iaW5lKSgoKGUsdCk9Pntjb25zdCBzPXRoaXMuX21vZGVsLGk9KDAsZC5zeW1ib2xVbml0KShlLHMudW5pdENvbnZlcnNpb25FbmFibGVkKCkpO251bGwhPT1lJiZudWxsIT09aSYmbnVsbCE9PXQ/dGhpcy5fdW5pdE1ldGFEYXRhLnNldFZhbHVlKHt1bml0T3JpZ2luTmFtZTooMCxkLnByb1N5bWJvbCkoZSx0aGlzLnN5bWJvbCgpKSxjb252ZXJ0aWJsZUdyb3VwczooMCxILnVuaXRDb252ZXJ0aWJsZUdyb3VwcykoZSxpLHQpLGlzQ29udmVydGVkVG9PdGhlclVuaXQ6KDAsZC5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KShlLHMudW5pdENvbnZlcnNpb25FbmFibGVkKCkpLG9yaWdpbmFsVW5pdDooMCxkLnN5bWJvbE9yaWdpbmFsVW5pdCkoZSxzLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpKSxjdXJyZW50VW5pdDppfSk6dGhpcy5fdW5pdE1ldGFEYXRhLnNldFZhbHVlKG51bGwpfSksdGhpcy5fc3ltYm9sU291cmNlU3ltYm9sSW5mby53ZWFrUmVmZXJlbmNlKCksdGhpcy5fYXZhaWxhYmxlVW5pdHMud2Vha1JlZmVyZW5jZSgpKX1fZ2V0U3ltYm9sVGl0bGVQYXJ0KGUpe2lmKG51bGw9PT1lKXJldHVybiBqPyIiOnRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wudmFsdWUoKTtjb25zdCB0PSgwLGQuZ2V0U3ltYm9sTGlzdGVkRXhjaGFuZ2UpKGUpO2lmKEImJnZvaWQgMCE9PXQpcmV0dXJuIHQ7aWYoJClzd2l0Y2godGhpcy5fbW9kZWwubWFpblNlcmllcygpLnN5bWJvbFRleHRTb3VyY2VQcm94eVByb3BlcnR5KCkudmFsdWUoKSl7Y2FzZSJkZXNjcmlwdGlvbiI6cmV0dXJuIGUuZGVzY3JpcHRpb24KO2Nhc2UidGlja2VyLWFuZC1kZXNjcmlwdGlvbiI6cmV0dXJuYCR7ZS5uYW1lfSwgJHtlLmRlc2NyaXB0aW9ufWA7Y2FzZSJsb25nLWRlc2NyaXB0aW9uIjpyZXR1cm4gZS5sb25nX2Rlc2NyaXB0aW9uPz9lLmRlc2NyaXB0aW9ufXJldHVybiBlLm5hbWV9X2dldEV4Y2hhbmdlVGl0bGVQYXJ0KGUsdCl7cmV0dXJuIG51bGw9PT1lfHx0P251bGw6KDAsZC5nZXRTeW1ib2xMaXN0ZWRFeGNoYW5nZSkoZSl9X2dldFByaWNlU291cmNlVGl0bGVQYXJ0KGUpe3JldHVybiBudWxsfV9zZXRTeW1ib2xDdXJyZW5jeVVuaXRJbnRlcm5hbChlLHQpe2NvbnN0e3N5bWJvbDpzLGN1cnJlbmN5OmksdW5pdDpyfT1lLGw9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCksbj1sLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wudmFsdWUoKSxvPWwuY3VycmVuY3lJZC52YWx1ZSgpLGE9bC51bml0SWQudmFsdWUoKTtpZih2b2lkIDAhPT1zJiZsLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wuc2V0VmFsdWVTaWxlbnRseShzKSx2b2lkIDAhPT1pJiZsLmN1cnJlbmN5SWQuc2V0VmFsdWVTaWxlbnRseShpKSx2b2lkIDAhPT1yJiZsLnVuaXRJZC5zZXRWYWx1ZVNpbGVudGx5KHIpLHQpdGhpcy5fcmVzb2x2ZWRTeW1ib2xzQnlJbnB1dFt0aGlzLnN5bWJvbCgpXT10LHRoaXMuX3Jlc29sdmVkU3ltYm9sc1t0aGlzLl9nZXRTeW1ib2xGb3JSZXNvbHZlKHRoaXMuc3ltYm9sKCkpXT10LHRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXM9bnVsbDtlbHNle2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7bnVsbCE9PWUmJihsLmN1cnJlbmN5SWQuc2V0VmFsdWVTaWxlbnRseSgoMCxkLnN5bWJvbEN1cnJlbmN5KShlKSksbC51bml0SWQuc2V0VmFsdWVTaWxlbnRseSgoMCxkLnN5bWJvbFVuaXQpKGUsdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCkpKSx0aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvLnNldFZhbHVlKGUpKX1sLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wudmFsdWUoKSE9PW4mJmwuaW5wdXRzLmNoaWxkcygpLnN5bWJvbC5maXJlQ2hhbmdlZCgpLGwuY3VycmVuY3lJZC52YWx1ZSgpIT09byYmbC5jdXJyZW5jeUlkLmZpcmVDaGFuZ2VkKCksbC51bml0SWQudmFsdWUoKSE9PWEmJmwudW5pdElkLmZpcmVDaGFuZ2VkKCksdGhpcy5fcmVhbGlnbkxpbmVUb29sc0lmUGFyYW1zQ2hhbmdlZCgpfV9yZWFsaWduTGluZVRvb2xzSWZQYXJhbXNDaGFuZ2VkKCl7bGV0IGU9bnVsbD09PXRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXM7aWYobnVsbCE9PXRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXMpe2NvbnN0IHQ9dGhpcy5jb21wYXJlU3ltYm9sUGFyYW1zKHRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXMpO2U9dC5zeW1ib2xDaGFuZ2VkfHx0LmludGVydmFsQ2hhbmdlZHx8dC5jdXJyZW5jeUNoYW5nZWR8fHQudW5pdENoYW5nZWR9ZSYmKHRoaXMuX21vZGVsLnJlYWxpZ25MaW5lVG9vbHModGhpcyksdGhpcy5fcmVhbGlnblRvb2xzTGFzdFBhcmFtcz10aGlzLnN5bWJvbFBhcmFtcygpKX19fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/conversions_en.json","fqdn":"s3.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.968Z","timestamp":1785141584968,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Tue, 17 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"C4:FE:64:00:30:2A:CD:16:30:95:7E:E1:70:D1:31:3A:D6:33:3A:CC","sha256":"87:D2:67:7D:3E:02:F0:3B:58:BD:38:17:DA:FE:73:C0:CA:25:F9:58:CC:11:14:E0:3A:6E:C3:58:84:9E:BF:52"}}},"request":{"raw":"GET /conversions_en.json HTTP/1.1\r\nHost: s3.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\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 08:39:44 GMT\r\ncontent-type: application/json\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1837468\r\ncdn-requestcountrycode: NO\r\nvary: Origin\r\naccess-control-allow-credentials: true\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: https://www.tradingview-widget.com\r\naccess-control-max-age: 3000\r\ncache-control: public, max-age=300\r\ncontent-encoding: zstd\r\netag: \"515bac03f6b5494f4a2d397393953729\"\r\nlast-modified: Mon, 15 Jun 2026 15:45:26 GMT\r\nx-amz-id-2: AcTEzbgJj5UVjviOBerPMHl9CcyGFkXAB50eHmkW2BDfGgX4Yc7TglEScD4yMvyRQ/R65eYs1cIAtqsKtJeZ+qBUqkJPY/pt\r\nx-amz-request-id: X29DMBVXVHJYXCJD\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: Yn7olbYD7o6TYkLq4b0mzbwmM.NLtydg\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/15/2026 15:54:58\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8a38407f9b8dbd56c1ab22caad0519d3\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32165,"size_decoded":7576,"mime_type":"application/json","magic":"JSON text data","md5":"c35fd928c50e8b2349e85132fa6f8286","sha1":"49b62853a99436088ce7d39b040dd57bb927544d","sha256":"ad70a372c2fb1521db79bec862591a3a359a6bcd2ebdd99235fa781df4830cb2","sha512":"1932532c69fa69b4a039070fcc8ef701e2411e0a55db2ff6691f28e1a85f907276924eb7a64ed86c180321be77bbca6b21729dc6b322d41e5143354536492d94","ssdeep":"192:VRw3A1ugr/uPIbl9oucdDYjUl5On5AIEZK0kLt707iY35IZCCxuUupPj8T+1JQAh:VREA//CIudDYjB5AXZWt7zY6ZCNphjT3","tlshash":"e8e243181e49fa249b9ad3e35cbbdc28e4bc0309c9a5c9cd4db387b9028c3d5e552977","first_seen":"2026-06-15T23:45:30.057746Z","last_seen":"2026-07-27T14:50:15.522392Z","times_seen":236,"resource_available":false,"data":"ewoiY3VycmVuY2llcyI6IFsKeyJpZCI6IkFFRCIsImNvZGUiOiJBRUQiLCJkZXNjcmlwdGlvbiI6IlVuaXRlZCBBcmFiIEVtaXJhdGVzIERpcmhhbSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BRSJ9LAp7ImlkIjoiQUZOIiwiY29kZSI6IkFGTiIsImRlc2NyaXB0aW9uIjoiQWZnaGFuIEFmZ2hhbmkiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQUYifSwKeyJpZCI6IkFMTCIsImNvZGUiOiJBTEwiLCJkZXNjcmlwdGlvbiI6IkFsYmFuaWFuIExlayIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BTCJ9LAp7ImlkIjoiQU1EIiwiY29kZSI6IkFNRCIsImRlc2NyaXB0aW9uIjoiQXJtZW5pYW4gRHJhbSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BTSJ9LAp7ImlkIjoiQU9BIiwiY29kZSI6IkFPQSIsImRlc2NyaXB0aW9uIjoiQW5nb2xhbiBLd2FuemEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQU8ifSwKeyJpZCI6IkFSUyIsImNvZGUiOiJBUlMiLCJkZXNjcmlwdGlvbiI6IkFyZ2VudGluZSBQZXNvIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0FSIn0sCnsiaWQiOiJBVUQiLCJjb2RlIjoiQVVEIiwiZGVzY3JpcHRpb24iOiJBdXN0cmFsaWFuIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BVSJ9LAp7ImlkIjoiQVdHIiwiY29kZSI6IkFXRyIsImRlc2NyaXB0aW9uIjoiQXJ1YmFuIEZsb3JpbiIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BVyJ9LAp7ImlkIjoiQVpOIiwiY29kZSI6IkFaTiIsImRlc2NyaXB0aW9uIjoiQXplcmJhaWphbmkgTWFuYXQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQVoifSwKeyJpZCI6IkJBTSIsImNvZGUiOiJCQU0iLCJkZXNjcmlwdGlvbiI6IkJvc25pYS1IZXJ6ZWdvdmluYSBDb252ZXJ0aWJsZSBNYXJrIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JBIn0sCnsiaWQiOiJCQkQiLCJjb2RlIjoiQkJEIiwiZGVzY3JpcHRpb24iOiJCYXJiYWRpYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JCIn0sCnsiaWQiOiJCRFQiLCJjb2RlIjoiQkRUIiwiZGVzY3JpcHRpb24iOiJCYW5nbGFkZXNoaSBUYWthIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JEIn0sCnsiaWQiOiJCR04iLCJjb2RlIjoiQkdOIiwiZGVzY3JpcHRpb24iOiJCdWxnYXJpYW4gTGV2Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JHIn0sCnsiaWQiOiJCSEQiLCJjb2RlIjoiQkhEIiwiZGVzY3JpcHRpb24iOiJCYWhyYWluaSBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CSCJ9LAp7ImlkIjoiQklGIiwiY29kZSI6IkJJRiIsImRlc2NyaXB0aW9uIjoiQnVydW5kaWFuIEZyYW5jIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JJIn0sCnsiaWQiOiJCTUQiLCJjb2RlIjoiQk1EIiwiZGVzY3JpcHRpb24iOiJCZXJtdWRhbiBEb2xsYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQk0ifSwKeyJpZCI6IkJORCIsImNvZGUiOiJCTkQiLCJkZXNjcmlwdGlvbiI6IkJydW5laSBEb2xsYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQk4ifSwKeyJpZCI6IkJPQiIsImNvZGUiOiJCT0IiLCJkZXNjcmlwdGlvbiI6IkJvbGl2aWFuIEJvbGl2aWFubyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CTyJ9LAp7ImlkIjoiQlJMIiwiY29kZSI6IkJSTCIsImRlc2NyaXB0aW9uIjoiQnJhemlsaWFuIFJlYWwiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQlIifSwKeyJpZCI6IkJTRCIsImNvZGUiOiJCU0QiLCJkZXNjcmlwdGlvbiI6IkJhaGFtaWFuIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CUyJ9LAp7ImlkIjoiQlROIiwiY29kZSI6IkJUTiIsImRlc2NyaXB0aW9uIjoiQmh1dGFuZXNlIE5ndWx0cnVtIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JUIn0sCnsiaWQiOiJCV1AiLCJjb2RlIjoiQldQIiwiZGVzY3JpcHRpb24iOiJCb3Rzd2FuYW4gUHVsYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CVyJ9LAp7ImlkIjoiQllOIiwiY29kZSI6IkJZTiIsImRlc2NyaXB0aW9uIjoiQmVsYXJ1c2lhbiBSdWJsZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CWSJ9LAp7ImlkIjoiQlpEIiwiY29kZSI6IkJaRCIsImRlc2NyaXB0aW9uIjoiQmVsaXplIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CWiJ9LAp7ImlkIjoiQ0FEIiwiY29kZSI6IkNBRCIsImRlc2NyaXB0aW9uIjoiQ2FuYWRpYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0NBIn0sCnsiaWQiOiJDREYiLCJjb2RlIjoiQ0RGIiwiZGVzY3JpcHRpb24iOiJDb25nb2xlc2UgRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQ0QifSwKeyJpZCI6IkNIRiIsImNvZGUiOiJDSEYiLCJkZXNjcmlwdGlvbiI6IlN3aXNzIEZyYW5jIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0NIIn0sCnsiaWQiOiJDTEYiLCJjb2RlIjoiQ0xGIiwiZGVzY3JpcHRpb24iOiJDaGlsZWFuIFVuaXQgb2YgQWNjb3VudCAoVUYpIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0NMIn0sCnsiaWQiOiJDTFAiLCJjb2RlIjoiQ0xQIiwiZGVzY3JpcHRpb24iOiJDaGlsZWFuIFBlc28iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQ0wifSwKeyJpZCI6IkNOWSIsImNvZGUiOiJDTlkiLCJkZXNjcmlwdGlvbiI6IkNoaW5lc2UgWXVhbiIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DTiJ9LAp7ImlkIjoiQ09QIiwiY29kZSI6IkNPUCIsImRlc2NyaXB0aW9uIjoiQ29sb21iaWFuIFBlc28iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQ08ifSwKeyJpZCI6IkNSQyIsImNvZGUiOiJDUkMiLCJkZXNjcmlwdGlvbiI6IkNvc3RhIFJpY2FuIENvbMOzbiIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DUiJ9LAp7ImlkIjoiQ1VQIiwiY29kZSI6IkNVUCIsImRlc2NyaXB0aW9uIjoiQ3ViYW4gUGVzbyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DVSJ9LAp7ImlkIjoiQ1ZFIiwiY29kZSI6IkNWRSIsImRlc2NyaXB0aW9uIjoiQ2FwZSBWZXJkZWFuIEVzY3VkbyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DViJ9LAp7ImlkIjoiQ1pLIiwiY29kZSI6IkNaSyIsImRlc2NyaXB0aW9uIjoiQ3plY2ggS29ydW5hIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0NaIn0sCnsiaWQiOiJESkYiLCJjb2RlIjoiREpGIiwiZGVzY3JpcHRpb24iOiJEamlib3V0aWFuIEZyYW5jIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0RKIn0sCnsiaWQiOiJES0siLCJjb2RlIjoiREtLIiwiZGVzY3JpcHRpb24iOiJEYW5pc2ggS3JvbmUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvREsifSwKeyJpZCI6IkRPUCIsImNvZGUiOiJET1AiLCJkZXNjcmlwdGlvbiI6IkRvbWluaWNhbiBQZXNvIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0RPIn0sCnsiaWQiOiJEWkQiLCJjb2RlIjoiRFpEIiwiZGVzY3JpcHRpb24iOiJBbGdlcmlhbiBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9EWiJ9LAp7ImlkIjoiRUdQIiwiY29kZSI6IkVHUCIsImRlc2NyaXB0aW9uIjoiRWd5cHRpYW4gUG91bmQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvRUcifSwKeyJpZCI6IkVSTiIsImNvZGUiOiJFUk4iLCJkZXNjcmlwdGlvbiI6IkVyaXRyZWFuIE5ha2ZhIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0VSIn0sCnsiaWQiOiJFVEIiLCJjb2RlIjoiRVRCIiwiZGVzY3JpcHRpb24iOiJFdGhpb3BpYW4gQmlyciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9FVCJ9LAp7ImlkIjoiRVVSIiwiY29kZSI6IkVVUiIsImRlc2NyaXB0aW9uIjoiRXVybyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9FVSJ9LAp7ImlkIjoiRkpEIiwiY29kZSI6IkZKRCIsImRlc2NyaXB0aW9uIjoiRmlqaWFuIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9GSiJ9LAp7ImlkIjoiR0JQIiwiY29kZSI6IkdCUCIsImRlc2NyaXB0aW9uIjoiQnJpdGlzaCBQb3VuZCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HQiJ9LAp7ImlkIjoiR0VMIiwiY29kZSI6IkdFTCIsImRlc2NyaXB0aW9uIjoiR2VvcmdpYW4gTGFyaSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HRSJ9LAp7ImlkIjoiR0hTIiwiY29kZSI6IkdIUyIsImRlc2NyaXB0aW9uIjoiR2hhbmFpYW4gQ2VkaSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HSCJ9LAp7ImlkIjoiR0lQIiwiY29kZSI6IkdJUCIsImRlc2NyaXB0aW9uIjoiR2licmFsdGFyIFBvdW5kIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0dJIn0sCnsiaWQiOiJHTUQiLCJjb2RlIjoiR01EIiwiZGVzY3JpcHRpb24iOiJHYW1iaWFuIERhbGFzaSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HTSJ9LAp7ImlkIjoiR05GIiwiY29kZSI6IkdORiIsImRlc2NyaXB0aW9uIjoiR3VpbmVhbiBGcmFuYyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HTiJ9LAp7ImlkIjoiR1RRIiwiY29kZSI6IkdUUSIsImRlc2NyaXB0aW9uIjoiR3VhdGVtYWxhbiBRdWV0emFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0dUIn0sCnsiaWQiOiJHWUQiLCJjb2RlIjoiR1lEIiwiZGVzY3JpcHRpb24iOiJHdXlhbmFlc2UgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0dZIn0sCnsiaWQiOiJIS0QiLCJjb2RlIjoiSEtEIiwiZGVzY3JpcHRpb24iOiJIb25nIEtvbmcgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0hLIn0sCnsiaWQiOiJITkwiLCJjb2RlIjoiSE5MIiwiZGVzY3JpcHRpb24iOiJIb25kdXJhbiBMZW1waXJhIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0hOIn0sCnsiaWQiOiJIVEciLCJjb2RlIjoiSFRHIiwiZGVzY3JpcHRpb24iOiJIYWl0aWFuIEdvdXJkZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9IVCJ9LAp7ImlkIjoiSFVGIiwiY29kZSI6IkhVRiIsImRlc2NyaXB0aW9uIjoiSHVuZ2FyaWFuIEZvcmludCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9IVSJ9LAp7ImlkIjoiSURSIiwiY29kZSI6IklEUiIsImRlc2NyaXB0aW9uIjoiSW5kb25lc2lhbiBSdXBpYWgiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvSUQifSwKeyJpZCI6IklMUyIsImNvZGUiOiJJTFMiLCJkZXNjcmlwdGlvbiI6IklzcmFlbGkgTmV3IFNoZWtlbCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9JTCJ9LAp7ImlkIjoiSU5SIiwiY29kZSI6IklOUiIsImRlc2NyaXB0aW9uIjoiSW5kaWFuIFJ1cGVlIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lOIn0sCnsiaWQiOiJJUUQiLCJjb2RlIjoiSVFEIiwiZGVzY3JpcHRpb24iOiJJcmFxaSBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9JUSJ9LAp7ImlkIjoiSVJSIiwiY29kZSI6IklSUiIsImRlc2NyaXB0aW9uIjoiSXJhbmlhbiBSaWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lSIn0sCnsiaWQiOiJJU0siLCJjb2RlIjoiSVNLIiwiZGVzY3JpcHRpb24iOiJJY2VsYW5kaWMgS3LDs25hIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lTIn0sCnsiaWQiOiJKTUQiLCJjb2RlIjoiSk1EIiwiZGVzY3JpcHRpb24iOiJKYW1haWNhbiBEb2xsYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvSk0ifSwKeyJpZCI6IkpPRCIsImNvZGUiOiJKT0QiLCJkZXNjcmlwdGlvbiI6IkpvcmRhbmlhbiBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9KTyJ9LAp7ImlkIjoiSlBZIiwiY29kZSI6IkpQWSIsImRlc2NyaXB0aW9uIjoiSmFwYW5lc2UgWWVuIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0pQIn0sCnsiaWQiOiJLRVMiLCJjb2RlIjoiS0VTIiwiZGVzY3JpcHRpb24iOiJLZW55YW4gU2hpbGxpbmciLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS0UifSwKeyJpZCI6IktHUyIsImNvZGUiOiJLR1MiLCJkZXNjcmlwdGlvbiI6Ikt5cmd5c3RhbmkgU29tIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0tHIn0sCnsiaWQiOiJLSFIiLCJjb2RlIjoiS0hSIiwiZGVzY3JpcHRpb24iOiJDYW1ib2RpYW4gUmllbCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9LSCJ9LAp7ImlkIjoiS01GIiwiY29kZSI6IktNRiIsImRlc2NyaXB0aW9uIjoiQ29tb3JpYW4gRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS00ifSwKeyJpZCI6IktQVyIsImNvZGUiOiJLUFciLCJkZXNjcmlwdGlvbiI6Ik5vcnRoIEtvcmVhbiBXb24iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1AifSwKeyJpZCI6IktSVyIsImNvZGUiOiJLUlciLCJkZXNjcmlwdGlvbiI6IlNvdXRoIEtvcmVhbiBXb24iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1IifSwKeyJpZCI6IktXRCIsImNvZGUiOiJLV0QiLCJkZXNjcmlwdGlvbiI6Ikt1d2FpdGkgRGluYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1cifSwKeyJpZCI6IktZRCIsImNvZGUiOiJLWUQiLCJkZXNjcmlwdGlvbiI6IkNheW1hbiBJc2xhbmRzIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9LWSJ9LAp7ImlkIjoiS1pUIiwiY29kZSI6IktaVCIsImRlc2NyaXB0aW9uIjoiS2F6YWtoc3RhbmkgVGVuZ2UiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1oifSwKeyJpZCI6IkxBSyIsImNvZGUiOiJMQUsiLCJkZXNjcmlwdGlvbiI6Ikxhb3RpYW4gS2lwIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0xBIn0sCnsiaWQiOiJMQlAiLCJjb2RlIjoiTEJQIiwiZGVzY3JpcHRpb24iOiJMZWJhbmVzZSBQb3VuZCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9MQiJ9LAp7ImlkIjoiTEtSIiwiY29kZSI6IkxLUiIsImRlc2NyaXB0aW9uIjoiU3JpIExhbmthbiBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9MSyJ9LAp7ImlkIjoiTFJEIiwiY29kZSI6IkxSRCIsImRlc2NyaXB0aW9uIjoiTGliZXJpYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0xSIn0sCnsiaWQiOiJMU0wiLCJjb2RlIjoiTFNMIiwiZGVzY3JpcHRpb24iOiJMZXNvdGhvIExvdGkiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTFMifSwKeyJpZCI6IkxZRCIsImNvZGUiOiJMWUQiLCJkZXNjcmlwdGlvbiI6IkxpYnlhbiBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9MWSJ9LAp7ImlkIjoiTUFEIiwiY29kZSI6Ik1BRCIsImRlc2NyaXB0aW9uIjoiTW9yb2NjYW4gRGlyaGFtIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L01BIn0sCnsiaWQiOiJNREwiLCJjb2RlIjoiTURMIiwiZGVzY3JpcHRpb24iOiJNb2xkb3ZhbiBMZXUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTUQifSwKeyJpZCI6Ik1HQSIsImNvZGUiOiJNR0EiLCJkZXNjcmlwdGlvbiI6Ik1hbGFnYXN5IEFyaWFyeSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NRyJ9LAp7ImlkIjoiTUtEIiwiY29kZSI6Ik1LRCIsImRlc2NyaXB0aW9uIjoiTWFjZWRvbmlhbiBEZW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NSyJ9LAp7ImlkIjoiTU1LIiwiY29kZSI6Ik1NSyIsImRlc2NyaXB0aW9uIjoiTXlhbm1hciBLeWF0Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L01NIn0sCnsiaWQiOiJNTlQiLCJjb2RlIjoiTU5UIiwiZGVzY3JpcHRpb24iOiJNb25nb2xpYW4gVHVncmlrIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L01OIn0sCnsiaWQiOiJNT1AiLCJjb2RlIjoiTU9QIiwiZGVzY3JpcHRpb24iOiJNYWNhbmVzZSBQYXRhY2EiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTU8ifSwKeyJpZCI6Ik1SVSIsImNvZGUiOiJNUlUiLCJkZXNjcmlwdGlvbiI6Ik1hdXJpdGFuaWFuIG91Z3VpeWEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTVIifSwKeyJpZCI6Ik1VUiIsImNvZGUiOiJNVVIiLCJkZXNjcmlwdGlvbiI6Ik1hdXJpdGlhbiBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NVSJ9LAp7ImlkIjoiTVZSIiwiY29kZSI6Ik1WUiIsImRlc2NyaXB0aW9uIjoiTWFsZGl2aWFuIFJ1Zml5YWEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTVYifSwKeyJpZCI6Ik1XSyIsImNvZGUiOiJNV0siLCJkZXNjcmlwdGlvbiI6Ik1hbGF3aWFuIEt3YWNoYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NVyJ9LAp7ImlkIjoiTVhOIiwiY29kZSI6Ik1YTiIsImRlc2NyaXB0aW9uIjoiTWV4aWNhbiBQZXNvIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L01YIn0sCnsiaWQiOiJNWFYiLCJjb2RlIjoiTVhWIiwiZGVzY3JpcHRpb24iOiJNZXhpY2FuIEludmVzdG1lbnQgVW5pdCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NWCJ9LAp7ImlkIjoiTVlSIiwiY29kZSI6Ik1ZUiIsImRlc2NyaXB0aW9uIjoiTWFsYXlzaWFuIFJpbmdnaXQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTVkifSwKeyJpZCI6Ik1aTiIsImNvZGUiOiJNWk4iLCJkZXNjcmlwdGlvbiI6Ik1vemFtYmljYW4gTWV0aWNhbCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NWiJ9LAp7ImlkIjoiTkFEIiwiY29kZSI6Ik5BRCIsImRlc2NyaXB0aW9uIjoiTmFtaWJpYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L05BIn0sCnsiaWQiOiJOR04iLCJjb2RlIjoiTkdOIiwiZGVzY3JpcHRpb24iOiJOaWdlcmlhbiBOYWlyYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9ORyJ9LAp7ImlkIjoiTklPIiwiY29kZSI6Ik5JTyIsImRlc2NyaXB0aW9uIjoiTmljYXJhZ3VhbiBDw7NyZG9iYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9OSSJ9LAp7ImlkIjoiTk9LIiwiY29kZSI6Ik5PSyIsImRlc2NyaXB0aW9uIjoiTm9yd2VnaWFuIEtyb25lIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L05PIn0sCnsiaWQiOiJOUFIiLCJjb2RlIjoiTlBSIiwiZGVzY3JpcHRpb24iOiJOZXBhbGVzZSBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9OUCJ9LAp7ImlkIjoiTlpEIiwiY29kZSI6Ik5aRCIsImRlc2NyaXB0aW9uIjoiTmV3IFplYWxhbmQgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L05aIn0sCnsiaWQiOiJPTVIiLCJjb2RlIjoiT01SIiwiZGVzY3JpcHRpb24iOiJPbWFuaSBSaWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L09NIn0sCnsiaWQiOiJQQUIiLCJjb2RlIjoiUEFCIiwiZGVzY3JpcHRpb24iOiJQYW5hbWFuaWFuIEJhbGJvYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9QQSJ9LAp7ImlkIjoiUEVOIiwiY29kZSI6IlBFTiIsImRlc2NyaXB0aW9uIjoiUGVydXZpYW4gU29sIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1BFIn0sCnsiaWQiOiJQR0siLCJjb2RlIjoiUEdLIiwiZGVzY3JpcHRpb24iOiJQYXB1YSBOZXcgR3VpbmVhbiBLaW5hIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1BHIn0sCnsiaWQiOiJQSFAiLCJjb2RlIjoiUEhQIiwiZGVzY3JpcHRpb24iOiJQaGlsaXBwaW5lIFBlc28iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUEgifSwKeyJpZCI6IlBLUiIsImNvZGUiOiJQS1IiLCJkZXNjcmlwdGlvbiI6IlBha2lzdGFuaSBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9QSyJ9LAp7ImlkIjoiUExOIiwiY29kZSI6IlBMTiIsImRlc2NyaXB0aW9uIjoiUG9saXNoIFpsb3R5Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1BMIn0sCnsiaWQiOiJQWUciLCJjb2RlIjoiUFlHIiwiZGVzY3JpcHRpb24iOiJQYXJhZ3VheWFuIEd1YXJhbmkiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUFkifSwKeyJpZCI6IlFBUiIsImNvZGUiOiJRQVIiLCJkZXNjcmlwdGlvbiI6IlFhdGFyaSBSaWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1FBIn0sCnsiaWQiOiJST04iLCJjb2RlIjoiUk9OIiwiZGVzY3JpcHRpb24iOiJSb21hbmlhbiBMZXUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUk8ifSwKeyJpZCI6IlJTRCIsImNvZGUiOiJSU0QiLCJkZXNjcmlwdGlvbiI6IlNlcmJpYW4gRGluYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUlMifSwKeyJpZCI6IlJVQiIsImNvZGUiOiJSVUIiLCJkZXNjcmlwdGlvbiI6IlJ1c3NpYW4gUnVibGUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUlUifSwKeyJpZCI6IlJXRiIsImNvZGUiOiJSV0YiLCJkZXNjcmlwdGlvbiI6IlJ3YW5kYW4gRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUlcifSwKeyJpZCI6IlNBUiIsImNvZGUiOiJTQVIiLCJkZXNjcmlwdGlvbiI6IlNhdWRpIFJpeWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NBIn0sCnsiaWQiOiJTQkQiLCJjb2RlIjoiU0JEIiwiZGVzY3JpcHRpb24iOiJTb2xvbW9uIElzbGFuZHMgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NCIn0sCnsiaWQiOiJTQ1IiLCJjb2RlIjoiU0NSIiwiZGVzY3JpcHRpb24iOiJTZXljaGVsbG9pcyBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9TQyJ9LAp7ImlkIjoiU0RHIiwiY29kZSI6IlNERyIsImRlc2NyaXB0aW9uIjoiU3VkYW5lc2UgUG91bmQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU0QifSwKeyJpZCI6IlNFSyIsImNvZGUiOiJTRUsiLCJkZXNjcmlwdGlvbiI6IlN3ZWRpc2ggS3JvbmEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU0UifSwKeyJpZCI6IlNHRCIsImNvZGUiOiJTR0QiLCJkZXNjcmlwdGlvbiI6IlNpbmdhcG9yZSBEb2xsYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU0cifSwKeyJpZCI6IlNMTCIsImNvZGUiOiJTTEwiLCJkZXNjcmlwdGlvbiI6IlNpZXJyYSBMZW9uZWFuIExlb25lIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NMIn0sCnsiaWQiOiJTT1MiLCJjb2RlIjoiU09TIiwiZGVzY3JpcHRpb24iOiJTb21hbGkgU2hpbGxpbmciLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU08ifSwKeyJpZCI6IlNSRCIsImNvZGUiOiJTUkQiLCJkZXNjcmlwdGlvbiI6IlN1cmluYW1lc2UgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NSIn0sCnsiaWQiOiJTVE4iLCJjb2RlIjoiU1ROIiwiZGVzY3JpcHRpb24iOiJTYW8gVG9tZSBhbmQgUHJpbmNpcGUgZG9icmEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU1QifSwKeyJpZCI6IlNWQyIsImNvZGUiOiJTVkMiLCJkZXNjcmlwdGlvbiI6IlNhbHZhZG9yYW4gQ29sw7NuIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NWIn0sCnsiaWQiOiJTWVAiLCJjb2RlIjoiU1lQIiwiZGVzY3JpcHRpb24iOiJTeXJpYW4gUG91bmQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU1kifSwKeyJpZCI6IlNaTCIsImNvZGUiOiJTWkwiLCJkZXNjcmlwdGlvbiI6IlN3YXppIExpbGFuZ2VuaSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9TWiJ9LAp7ImlkIjoiVEhCIiwiY29kZSI6IlRIQiIsImRlc2NyaXB0aW9uIjoiVGhhaSBCYWh0Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1RIIn0sCnsiaWQiOiJUSlMiLCJjb2RlIjoiVEpTIiwiZGVzY3JpcHRpb24iOiJUYWppa2lzdGFuaSBTb21vbmkiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVEoifSwKeyJpZCI6IlRNVCIsImNvZGUiOiJUTVQiLCJkZXNjcmlwdGlvbiI6IlR1cmttZW5pc3RhbmkgTWFuYXQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVE0ifSwKeyJpZCI6IlRORCIsImNvZGUiOiJUTkQiLCJkZXNjcmlwdGlvbiI6IlR1bmlzaWFuIERpbmFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1ROIn0sCnsiaWQiOiJUT1AiLCJjb2RlIjoiVE9QIiwiZGVzY3JpcHRpb24iOiJUb25nYW4gUGHKu2FuZ2EiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVE8ifSwKeyJpZCI6IlRSWSIsImNvZGUiOiJUUlkiLCJkZXNjcmlwdGlvbiI6IlR1cmtpc2ggTGlyYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9UUiJ9LAp7ImlkIjoiVFREIiwiY29kZSI6IlRURCIsImRlc2NyaXB0aW9uIjoiVHJpbmlkYWQgJiBUb2JhZ28gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1RUIn0sCnsiaWQiOiJUV0QiLCJjb2RlIjoiVFdEIiwiZGVzY3JpcHRpb24iOiJOZXcgVGFpd2FuIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9UVyJ9LAp7ImlkIjoiVFpTIiwiY29kZSI6IlRaUyIsImRlc2NyaXB0aW9uIjoiVGFuemFuaWFuIFNoaWxsaW5nIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1RaIn0sCnsiaWQiOiJVQUgiLCJjb2RlIjoiVUFIIiwiZGVzY3JpcHRpb24iOiJVa3JhaW5pYW4gSHJ5dm5pYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9VQSJ9LAp7ImlkIjoiVUdYIiwiY29kZSI6IlVHWCIsImRlc2NyaXB0aW9uIjoiVWdhbmRhbiBTaGlsbGluZyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9VRyJ9LAp7ImlkIjoiVVNEIiwiY29kZSI6IlVTRCIsImRlc2NyaXB0aW9uIjoiVVMgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1VTIn0sCnsiaWQiOiJVWVUiLCJjb2RlIjoiVVlVIiwiZGVzY3JpcHRpb24iOiJVcnVndWF5YW4gUGVzbyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9VWSJ9LAp7ImlkIjoiVVpTIiwiY29kZSI6IlVaUyIsImRlc2NyaXB0aW9uIjoiVXpiZWtpc3RhbmkgU29tIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1VaIn0sCnsiaWQiOiJWRVMiLCJjb2RlIjoiVkVTIiwiZGVzY3JpcHRpb24iOiJTb3ZlcmVpZ24gYm9sw612YXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVkUifSwKeyJpZCI6IlZORCIsImNvZGUiOiJWTkQiLCJkZXNjcmlwdGlvbiI6IlZpZXRuYW1lc2UgRG9uZyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9WTiJ9LAp7ImlkIjoiVlVWIiwiY29kZSI6IlZVViIsImRlc2NyaXB0aW9uIjoiVmFudWF0dSBWYXR1Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1ZVIn0sCnsiaWQiOiJXU1QiLCJjb2RlIjoiV1NUIiwiZGVzY3JpcHRpb24iOiJTYW1vYW4gVGFsYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9XUyJ9LAp7ImlkIjoiWEFGIiwiY29kZSI6IlhBRiIsImRlc2NyaXB0aW9uIjoiQ2VudHJhbCBBZnJpY2FuIENGQSBGcmFuYyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DRiJ9LAp7ImlkIjoiWENEIiwiY29kZSI6IlhDRCIsImRlc2NyaXB0aW9uIjoiRWFzdCBDYXJpYmJlYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0FHIn0sCnsiaWQiOiJYQ0ciLCJjb2RlIjoiWENHIiwiZGVzY3JpcHRpb24iOiJDYXJpYmJlYW4gZ3VpbGRlciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DVyJ9LAp7ImlkIjoiWERSIiwiY29kZSI6IlhEUiIsImRlc2NyaXB0aW9uIjoiU0RSIChTcGVjaWFsIERyYXdpbmcgUmlnaHQpIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1VTIn0sCnsiaWQiOiJYT0YiLCJjb2RlIjoiWE9GIiwiZGVzY3JpcHRpb24iOiJXZXN0IEFmcmljYW4gQ0ZBIEZyYW5jIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JKIn0sCnsiaWQiOiJYUEYiLCJjb2RlIjoiWFBGIiwiZGVzY3JpcHRpb24iOiJDRlAgRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUEYifSwKeyJpZCI6IlhUVkFUUyIsImNvZGUiOiJBVFMiLCJkZXNjcmlwdGlvbiI6IkF1c3RyaWFuIFNjaGlsbGluZyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BVCJ9LAp7ImlkIjoiWFRWQkVGIiwiY29kZSI6IkJFRiIsImRlc2NyaXB0aW9uIjoiQmVsZ2lhbiBGcmFuYyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CRSJ9LAp7ImlkIjoiWFRWQzFJTkNIIiwiY29kZSI6IjFJTkNIIiwiZGVzY3JpcHRpb24iOiIxaW5jaCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQzFJTkNIIn0sCnsiaWQiOiJYVFZDQUFWRSIsImNvZGUiOiJBQVZFIiwiZGVzY3JpcHRpb24iOiJBYXZlIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQUFWRSJ9LAp7ImlkIjoiWFRWQ0FEQSIsImNvZGUiOiJBREEiLCJkZXNjcmlwdGlvbiI6IkNhcmRhbm8iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNBREEifSwKeyJpZCI6IlhUVkNBTEdPIiwiY29kZSI6IkFMR08iLCJkZXNjcmlwdGlvbiI6IkFsZ29yYW5kIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQUxHTyJ9LAp7ImlkIjoiWFRWQ0FOS1IiLCJjb2RlIjoiQU5LUiIsImRlc2NyaXB0aW9uIjoiQW5rciIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0FOS1IifSwKeyJpZCI6IlhUVkNBVE9NIiwiY29kZSI6IkFUT00iLCJkZXNjcmlwdGlvbiI6IkNvc21vcyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0FUT00ifSwKeyJpZCI6IlhUVkNBVkFYIiwiY29kZSI6IkFWQVgiLCJkZXNjcmlwdGlvbiI6IkF2YWxhbmNoZSIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0FWQVgifSwKeyJpZCI6IlhUVkNBWFMiLCJjb2RlIjoiQVhTIiwiZGVzY3JpcHRpb24iOiJBeGllIEluZmluaXR5Iiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQVhTIn0sCnsiaWQiOiJYVFZDQkFUIiwiY29kZSI6IkJBVCIsImRlc2NyaXB0aW9uIjoiQmFzaWMgQXR0ZW50aW9uIFRva2VuIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQkFUIn0sCnsiaWQiOiJYVFZDQkNIIiwiY29kZSI6IkJDSCIsImRlc2NyaXB0aW9uIjoiQml0Y29pbiBDYXNoIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQkNIIn0sCnsiaWQiOiJYVFZDQk5CIiwiY29kZSI6IkJOQiIsImRlc2NyaXB0aW9uIjoiQk5CIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQk5CIn0sCnsiaWQiOiJYVFZDQk5UIiwiY29kZSI6IkJOVCIsImRlc2NyaXB0aW9uIjoiQmFuY29yIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQk5UIn0sCnsiaWQiOiJYVFZDQlNWIiwiY29kZSI6IkJTViIsImRlc2NyaXB0aW9uIjoiQml0Y29pbiBTViIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0JTViJ9LAp7ImlkIjoiWFRWQ0JUQyIsImNvZGUiOiJCVEMiLCJkZXNjcmlwdGlvbiI6IkJpdGNvaW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNCVEMifSwKeyJpZCI6IlhUVkNDQUtFIiwiY29kZSI6IkNBS0UiLCJkZXNjcmlwdGlvbiI6IlBhbmNha2VTd2FwIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQ0FLRSJ9LAp7ImlkIjoiWFRWQ0NLQiIsImNvZGUiOiJDS0IiLCJkZXNjcmlwdGlvbiI6Ik5lcnZvcyBOZXR3b3JrIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQ0tCIn0sCnsiaWQiOiJYVFZDQ09NUCIsImNvZGUiOiJDT01QIiwiZGVzY3JpcHRpb24iOiJDb21wb3VuZCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0NPTVAifSwKeyJpZCI6IlhUVkNDT1RJIiwiY29kZSI6IkNPVEkiLCJkZXNjcmlwdGlvbiI6IkNPVEkiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNDT1RJIn0sCnsiaWQiOiJYVFZDQ1JWIiwiY29kZSI6IkNSViIsImRlc2NyaXB0aW9uIjoiQ3VydmUgREFPIFRva2VuIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQ1JWIn0sCnsiaWQiOiJYVFZDREFJIiwiY29kZSI6IkRBSSIsImRlc2NyaXB0aW9uIjoiRGFpIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDREFJIn0sCnsiaWQiOiJYVFZDRE9HRSIsImNvZGUiOiJET0dFIiwiZGVzY3JpcHRpb24iOiJEb2dlY29pbiIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0RPR0UifSwKeyJpZCI6IlhUVkNET1QiLCJjb2RlIjoiRE9UIiwiZGVzY3JpcHRpb24iOiJQb2xrYWRvdCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0RPVCJ9LAp7ImlkIjoiWFRWQ0RZRFgiLCJjb2RlIjoiRVRIRFlEWCIsImRlc2NyaXB0aW9uIjoiZFlkWCAoZXRoRFlEWCkiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNEWURYIn0sCnsiaWQiOiJYVFZDRUdMRCIsImNvZGUiOiJFR0xEIiwiZGVzY3JpcHRpb24iOiJNdWx0aXZlcnNYIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDRUdMRCJ9LAp7ImlkIjoiWFRWQ0VPUyIsImNvZGUiOiJFT1MiLCJkZXNjcmlwdGlvbiI6IkVPUyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0VPUyJ9LAp7ImlkIjoiWFRWQ0VUQyIsImNvZGUiOiJFVEMiLCJkZXNjcmlwdGlvbiI6IkV0aGVyZXVtIENsYXNzaWMiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNFVEMifSwKeyJpZCI6IlhUVkNFVEgiLCJjb2RlIjoiRVRIIiwiZGVzY3JpcHRpb24iOiJFdGhlcmV1bSIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0VUSCJ9LAp7ImlkIjoiWFRWQ0ZJTCIsImNvZGUiOiJGSUwiLCJkZXNjcmlwdGlvbiI6IkZpbGVjb2luIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDRklMIn0sCnsiaWQiOiJYVFZDRlRNIiwiY29kZSI6IkZUTSIsImRlc2NyaXB0aW9uIjoiRmFudG9tIChNaWdyYXRlZCB0byBTb25pYykiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNGVE0ifSwKeyJpZCI6IlhUVkNGVFQiLCJjb2RlIjoiRlRUIiwiZGVzY3JpcHRpb24iOiJGVFggVG9rZW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNGVFQifSwKeyJpZCI6IlhUVkNHTk8iLCJjb2RlIjoiR05PIiwiZGVzY3JpcHRpb24iOiJHbm9zaXMiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNHTk8ifSwKeyJpZCI6IlhUVkNHUkFNIiwiY29kZSI6IkdSQU0iLCJkZXNjcmlwdGlvbiI6IkdyYW0gKHByZXYuIFRvbmNvaW4pIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDR1JBTSJ9LAp7ImlkIjoiWFRWQ0dSVCIsImNvZGUiOiJHUlQiLCJkZXNjcmlwdGlvbiI6IlRoZSBHcmFwaCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0dSQVBIIn0sCnsiaWQiOiJYVFZDSEJBUiIsImNvZGUiOiJIQkFSIiwiZGVzY3JpcHRpb24iOiJIZWRlcmEiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNIQkFSIn0sCnsiaWQiOiJYVFZDSE5UIiwiY29kZSI6IkhOVCIsImRlc2NyaXB0aW9uIjoiSGVsaXVtIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDSE5UIn0sCnsiaWQiOiJYVFZDSE9UIiwiY29kZSI6IkhPVCIsImRlc2NyaXB0aW9uIjoiSG9sbyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0hPVCJ9LAp7ImlkIjoiWFRWQ0lDUCIsImNvZGUiOiJJQ1AiLCJkZXNjcmlwdGlvbiI6IkludGVybmV0IENvbXB1dGVyIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDSUNQIn0sCnsiaWQiOiJYVFZDSU9UQSIsImNvZGUiOiJJT1RBIiwiZGVzY3JpcHRpb24iOiJJT1RBIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDSU9UQSJ9LAp7ImlkIjoiWFRWQ0tBUyIsImNvZGUiOiJLQVMiLCJkZXNjcmlwdGlvbiI6Ikthc3BhIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDS0FTIn0sCnsiaWQiOiJYVFZDS0FWQSIsImNvZGUiOiJLQVZBIiwiZGVzY3JpcHRpb24iOiJLYXZhIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDS0FWQSJ9LAp7ImlkIjoiWFRWQ0tFRVAiLCJjb2RlIjoiS0VFUCIsImRlc2NyaXB0aW9uIjoiS2VlcCBOZXR3b3JrIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDS0VFUCJ9LAp7ImlkIjoiWFRWQ0tOQyIsImNvZGUiOiJLTkMiLCJkZXNjcmlwdGlvbiI6Ikt5YmVyIE5ldHdvcmsgQ3J5c3RhbCB2MiIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0tOQyJ9LAp7ImlkIjoiWFRWQ0xFTyIsImNvZGUiOiJMRU8iLCJkZXNjcmlwdGlvbiI6IlVOVVMgU0VEIExFTyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0xFTyJ9LAp7ImlkIjoiWFRWQ0xJTksiLCJjb2RlIjoiTElOSyIsImRlc2NyaXB0aW9uIjoiQ2hhaW5saW5rIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDTElOSyJ9LAp7ImlkIjoiWFRWQ0xSQyIsImNvZGUiOiJMUkMiLCJkZXNjcmlwdGlvbiI6Ikxvb3ByaW5nIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDTFJDIn0sCnsiaWQiOiJYVFZDTFRDIiwiY29kZSI6IkxUQyIsImRlc2NyaXB0aW9uIjoiTGl0ZWNvaW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNMVEMifSwKeyJpZCI6IlhUVkNNQU5BIiwiY29kZSI6Ik1BTkEiLCJkZXNjcmlwdGlvbiI6IkRlY2VudHJhbGFuZCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ01BTkEifSwKeyJpZCI6IlhUVkNNQVRJQyIsImNvZGUiOiJNQVRJQyIsImRlc2NyaXB0aW9uIjoiUG9seWdvbiIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ01BVElDIn0sCnsiaWQiOiJYVFZDTUtSIiwiY29kZSI6Ik1LUiIsImRlc2NyaXB0aW9uIjoiTWFrZXIiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNNS1IifSwKeyJpZCI6IlhUVkNORUFSIiwiY29kZSI6Ik5FQVIiLCJkZXNjcmlwdGlvbiI6Ik5FQVIgUHJvdG9jb2wiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNORUFSIn0sCnsiaWQiOiJYVFZDTkgiLCJjb2RlIjoiQ05IIiwiZGVzY3JpcHRpb24iOiJDaGluZXNlIHl1YW4gb2Zmc2hvcmUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQ04ifSwKeyJpZCI6IlhUVkNPQ0VBTiIsImNvZGUiOiJPQ0VBTiIsImRlc2NyaXB0aW9uIjoiT2NlYW4gUHJvdG9jb2wiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNPQ0VBTiJ9LAp7ImlkIjoiWFRWQ09ORSIsImNvZGUiOiJPTkUiLCJkZXNjcmlwdGlvbiI6Ikhhcm1vbnkiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNPTkUifSwKeyJpZCI6IlhUVkNQRVJQIiwiY29kZSI6IlBFUlAiLCJkZXNjcmlwdGlvbiI6IlBlcnBldHVhbCBQcm90b2NvbCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1BFUlAifSwKeyJpZCI6IlhUVkNSRU4iLCJjb2RlIjoiUkVOIiwiZGVzY3JpcHRpb24iOiJSZW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNSRU4ifSwKeyJpZCI6IlhUVkNSRVEiLCJjb2RlIjoiUkVRIiwiZGVzY3JpcHRpb24iOiJSZXF1ZXN0Iiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDUkVRIn0sCnsiaWQiOiJYVFZDUk9TRSIsImNvZGUiOiJST1NFIiwiZGVzY3JpcHRpb24iOiJPYXNpcyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1JPU0UifSwKeyJpZCI6IlhUVkNSU1IiLCJjb2RlIjoiUlNSIiwiZGVzY3JpcHRpb24iOiJSZXNlcnZlIFJpZ2h0cyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1JTUiJ9LAp7ImlkIjoiWFRWQ1JVTkUiLCJjb2RlIjoiUlVORSIsImRlc2NyaXB0aW9uIjoiVEhPUkNoYWluIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDUlVORSJ9LAp7ImlkIjoiWFRWQ1NBTkQiLCJjb2RlIjoiU0FORCIsImRlc2NyaXB0aW9uIjoiVGhlIFNhbmRib3giLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNTQU5EIn0sCnsiaWQiOiJYVFZDU0NSVCIsImNvZGUiOiJTQ1JUIiwiZGVzY3JpcHRpb24iOiJTZWNyZXQiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNTQ1JUIn0sCnsiaWQiOiJYVFZDU0hJQiIsImNvZGUiOiJTSElCIiwiZGVzY3JpcHRpb24iOiJTaGliYSBJbnUiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNTSElCIn0sCnsiaWQiOiJYVFZDU05YIiwiY29kZSI6IlNOWCIsImRlc2NyaXB0aW9uIjoiU3ludGhldGl4Iiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDU05YIn0sCnsiaWQiOiJYVFZDU09MIiwiY29kZSI6IlNPTCIsImRlc2NyaXB0aW9uIjoiU29sYW5hIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDU09MIn0sCnsiaWQiOiJYVFZDU1JNIiwiY29kZSI6IlNSTSIsImRlc2NyaXB0aW9uIjoiU2VydW0iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNTUk0ifSwKeyJpZCI6IlhUVkNTVVNISSIsImNvZGUiOiJTVVNISSIsImRlc2NyaXB0aW9uIjoiU3VzaGlTd2FwIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDU1VTSEkifSwKeyJpZCI6IlhUVkNTWFAiLCJjb2RlIjoiU1hQIiwiZGVzY3JpcHRpb24iOiJTb2xhciIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1NYUCJ9LAp7ImlkIjoiWFRWQ1RIRVRBIiwiY29kZSI6IlRIRVRBIiwiZGVzY3JpcHRpb24iOiJUaGV0YSBOZXR3b3JrIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVEhFVEEifSwKeyJpZCI6IlhUVkNUTE9TIiwiY29kZSI6IlRMT1MiLCJkZXNjcmlwdGlvbiI6IlRlbG9zIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVExPUyJ9LAp7ImlkIjoiWFRWQ1RPTiIsImNvZGUiOiJUT04iLCJkZXNjcmlwdGlvbiI6IlRvbmNvaW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNUT04ifSwKeyJpZCI6IlhUVkNUUlgiLCJjb2RlIjoiVFJYIiwiZGVzY3JpcHRpb24iOiJUUk9OIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVFJYIn0sCnsiaWQiOiJYVFZDVU1BIiwiY29kZSI6IlVNQSIsImRlc2NyaXB0aW9uIjoiVU1BIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVU1BIn0sCnsiaWQiOiJYVFZDVU5JIiwiY29kZSI6IlVOSSIsImRlc2NyaXB0aW9uIjoiVW5pc3dhcCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1VOSSJ9LAp7ImlkIjoiWFRWQ1VTREMiLCJjb2RlIjoiVVNEQyIsImRlc2NyaXB0aW9uIjoiVVNEQyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1VTREMifSwKeyJpZCI6IlhUVkNVU0RUIiwiY29kZSI6IlVTRFQiLCJkZXNjcmlwdGlvbiI6IlRldGhlciBVU0R0Iiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVVNEVCJ9LAp7ImlkIjoiWFRWQ1ZFVCIsImNvZGUiOiJWRVQiLCJkZXNjcmlwdGlvbiI6IlZlQ2hhaW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNWRVQifSwKeyJpZCI6IlhUVkNXQlRDIiwiY29kZSI6IldCVEMiLCJkZXNjcmlwdGlvbiI6IldyYXBwZWQgQml0Y29pbiIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1dCVEMifSwKeyJpZCI6IlhUVkNYQVVUIiwiY29kZSI6IlhBVVQiLCJkZXNjcmlwdGlvbiI6IlRldGhlciBHb2xkIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDWEFVVCJ9LAp7ImlkIjoiWFRWQ1hMTSIsImNvZGUiOiJYTE0iLCJkZXNjcmlwdGlvbiI6IlN0ZWxsYXIiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNYTE0ifSwKeyJpZCI6IlhUVkNYTVIiLCJjb2RlIjoiWE1SIiwiZGVzY3JpcHRpb24iOiJNb25lcm8iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNYTVIifSwKeyJpZCI6IlhUVkNYUlAiLCJjb2RlIjoiWFJQIiwiZGVzY3JpcHRpb24iOiJYUlAiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNYUlAifSwKeyJpZCI6IlhUVkNYVFoiLCJjb2RlIjoiWFRaIiwiZGVzY3JpcHRpb24iOiJUZXpvcyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1hUWiJ9LAp7ImlkIjoiWFRWQ1lGSSIsImNvZGUiOiJZRkkiLCJkZXNjcmlwdGlvbiI6IlllYXJuIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDWUZJIn0sCnsiaWQiOiJYVFZDWlJYIiwiY29kZSI6IlpSWCIsImRlc2NyaXB0aW9uIjoiMHggUHJvdG9jb2wiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNaUlgifSwKeyJpZCI6IlhUVkRFTSIsImNvZGUiOiJERU0iLCJkZXNjcmlwdGlvbiI6Ikdlcm1hbiBNYXJrIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0RFIn0sCnsiaWQiOiJYVFZFU1AiLCJjb2RlIjoiRVNQIiwiZGVzY3JpcHRpb24iOiJTcGFuaXNoIFBlc2V0YSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9FUyJ9LAp7ImlkIjoiWFRWRklNIiwiY29kZSI6IkZJTSIsImRlc2NyaXB0aW9uIjoiRmlubmlzaCBNYXJra2EiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvRkkifSwKeyJpZCI6IlhUVkZSRiIsImNvZGUiOiJGUkYiLCJkZXNjcmlwdGlvbiI6IkZyZW5jaCBGcmFuYyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9GUiJ9LAp7ImlkIjoiWFRWR0JYIiwiY29kZSI6IkdCWCIsImRlc2NyaXB0aW9uIjoiUGVuY2Ugc3RlcmxpbmciLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvR0IifSwKeyJpZCI6IlhUVkdSRCIsImNvZGUiOiJHUkQiLCJkZXNjcmlwdGlvbiI6IkdyZWVrIERyYWNobWEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvR1IifSwKeyJpZCI6IlhUVklFUCIsImNvZGUiOiJJRVAiLCJkZXNjcmlwdGlvbiI6IklyaXNoIFBvdW5kIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lFIn0sCnsiaWQiOiJYVFZJTEEiLCJjb2RlIjoiSUxBIiwiZGVzY3JpcHRpb24iOiJJc3JhZWxpIGFnb3JvdCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9JTCJ9LAp7ImlkIjoiWFRWSVRMIiwiY29kZSI6IklUTCIsImRlc2NyaXB0aW9uIjoiSXRhbGlhbiBMaXJhIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lUIn0sCnsiaWQiOiJYVFZLV0YiLCJjb2RlIjoiS1dGIiwiZGVzY3JpcHRpb24iOiJLdXdhaXRpIGZpbHMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1cifSwKeyJpZCI6IlhUVkxVRiIsImNvZGUiOiJMVUYiLCJkZXNjcmlwdGlvbiI6Ikx1eGVtYm91cmdpYW4gRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTFUifSwKeyJpZCI6IlhUVk5MRyIsImNvZGUiOiJOTEciLCJkZXNjcmlwdGlvbiI6IkR1dGNoIEd1aWxkZXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTkwifSwKeyJpZCI6IlhUVlBURSIsImNvZGUiOiJQVEUiLCJkZXNjcmlwdGlvbiI6IlBvcnR1Z3Vlc2UgRXNjdWRvIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1BUIn0sCnsiaWQiOiJYVFZTSVQiLCJjb2RlIjoiU0lUIiwiZGVzY3JpcHRpb24iOiJTbG92ZW5pYW4gVG9sYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU0kifSwKeyJpZCI6IlhUVlVTWCIsImNvZGUiOiJVU1giLCJkZXNjcmlwdGlvbiI6IlUuUy4gY2VudHMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVVMifSwKeyJpZCI6IlhUVlpBQyIsImNvZGUiOiJaQUMiLCJkZXNjcmlwdGlvbiI6IlNvdXRoIEFmcmljYW4gY2VudHMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvWkEifSwKeyJpZCI6IllFUiIsImNvZGUiOiJZRVIiLCJkZXNjcmlwdGlvbiI6IlllbWVuaSBSaWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1lFIn0sCnsiaWQiOiJaQVIiLCJjb2RlIjoiWkFSIiwiZGVzY3JpcHRpb24iOiJTb3V0aCBBZnJpY2FuIFJhbmQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvWkEifSwKeyJpZCI6IlpNVyIsImNvZGUiOiJaTVciLCJkZXNjcmlwdGlvbiI6IlphbWJpYW4gS3dhY2hhIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1pNIn0KXSwKInVuaXRzIjogWwp7ImlkIjoiMTAwS0dNIiwibmFtZSI6IjEwMGtnIiwiZGVzY3JpcHRpb24iOiIxMDAga2lsb2dyYW1zIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6IjEwS0dNIiwibmFtZSI6IjEwa2ciLCJkZXNjcmlwdGlvbiI6IjEwIGtpbG9ncmFtcyIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiIyMEtHTSIsIm5hbWUiOiIyMGtnIiwiZGVzY3JpcHRpb24iOiIyMCBraWxvZ3JhbXMiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiNDBLR00iLCJuYW1lIjoiNDBrZyIsImRlc2NyaXB0aW9uIjoiNDAga2lsb2dyYW1zIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6IjYwS0dNIiwibmFtZSI6IjYwa2ciLCJkZXNjcmlwdGlvbiI6IjYwIGtpbG9ncmFtcyIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJBUFoiLCJuYW1lIjoiYXBveiIsImRlc2NyaXB0aW9uIjoidHJveSBvdW5jZSIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJBUlJPQkEiLCJuYW1lIjoiYXJyb2JhIiwiZGVzY3JpcHRpb24iOiJhcnJvYmEiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiQkxEIiwibmFtZSI6IkJMRCIsImRlc2NyaXB0aW9uIjoiZHJ5IGJhcnJlbCAoVVMpIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiQkxMIiwibmFtZSI6IkJMTCIsImRlc2NyaXB0aW9uIjoiYmFycmVsIChVUykiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJCTExQREFZIiwibmFtZSI6IkJMTC9kYXkiLCJkZXNjcmlwdGlvbiI6ImJhcnJlbCBwZXIgZGF5IiwidHlwZSI6ImJsbHBlcmRheSJ9LAp7ImlkIjoiQlJUIiwibmFtZSI6IkJSVCIsImRlc2NyaXB0aW9uIjoiYmlydGggcmF0ZSIsInR5cGUiOiJiaXJ0aHNwZXJ0aG91c2FuZHBlb3BsZSJ9LAp7ImlkIjoiQlRVIiwibmFtZSI6IkJ0dSIsImRlc2NyaXB0aW9uIjoiQnJpdGlzaCB0aGVybWFsIHVuaXQiLCJ0eXBlIjoiZW5lcmd5In0sCnsiaWQiOiJCVUEiLCJuYW1lIjoiQlVBIiwiZGVzY3JpcHRpb24iOiJidXNoZWwgKFVTKSIsInR5cGUiOiJ2b2x1bWUifSwKeyJpZCI6IkJVSSIsIm5hbWUiOiJCVUkiLCJkZXNjcmlwdGlvbiI6ImJ1c2hlbCAoVUspIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiQ0FQIiwibmFtZSI6IkNBUCIsImRlc2NyaXB0aW9uIjoiY29tcGFueSBhbmQgcGVyc29uIiwidHlwZSI6ImNvbXBhbnlhbmRwZXJzb24ifSwKeyJpZCI6IkNBU0VTIiwibmFtZSI6IkNhc2VzLzEwMDAwIiwiZGVzY3JpcHRpb24iOiJjYXNlcyBwZXIgMTAwMDAgcGVvcGxlIiwidHlwZSI6ImNhc2VzcGVyMTAwMDAifSwKeyJpZCI6IkNNUE5ZIiwibmFtZSI6IkNNUE5ZIiwiZGVzY3JpcHRpb24iOiJjb21wYW55IiwidHlwZSI6ImNvbXBhbnkifSwKeyJpZCI6IkNNUSIsIm5hbWUiOiJjbTMiLCJkZXNjcmlwdGlvbiI6ImNtMyIsInR5cGUiOiJ2b2x1bWUifSwKeyJpZCI6IkNOVFJUIiwibmFtZSI6ImNvbnRyYWN0IiwiZGVzY3JpcHRpb24iOiJjb250cmFjdCIsInR5cGUiOiJjb250cmFjdCJ9LAp7ImlkIjoiQ1JMIiwibmFtZSI6IkNSTCIsImRlc2NyaXB0aW9uIjoiY2FybG9hZCIsInR5cGUiOiJjYXJsb2FkIn0sCnsiaWQiOiJDV0EiLCJuYW1lIjoiQ1dBIiwiZGVzY3JpcHRpb24iOiJodW5kcmVkd2VpZ2h0IFVTIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6IkNXSSIsIm5hbWUiOiJDV0kiLCJkZXNjcmlwdGlvbiI6Imh1bmRyZWR3ZWlnaHQgVUsiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiREFHIiwibmFtZSI6ImRhZyIsImRlc2NyaXB0aW9uIjoiZGVjYWdyYW0iLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiREFZIiwibmFtZSI6ImRheSIsImRlc2NyaXB0aW9uIjoiZGF5IiwidHlwZSI6InRpbWUifSwKeyJpZCI6IkRFR0MiLCJuYW1lIjoiREVHQyIsImRlc2NyaXB0aW9uIjoiZGVncmVlcyBDZWxzaXVzIiwidHlwZSI6InRlbXBlcmF0dXJlIn0sCnsiaWQiOiJET1oiLCJuYW1lIjoiRE9aIiwiZGVzY3JpcHRpb24iOiJkb3plbiIsInR5cGUiOiJkb3plbiJ9LAp7ImlkIjoiRVVBIiwibmFtZSI6IkVVQSIsImRlc2NyaXB0aW9uIjoiRVUgYWxsb3dhbmNlIiwidHlwZSI6ImFsbG93YW5jZSJ9LAp7ImlkIjoiRlRRIiwibmFtZSI6ImZ0MyIsImRlc2NyaXB0aW9uIjoiZnQzIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiR0pPIiwibmFtZSI6ImdKIiwiZGVzY3JpcHRpb24iOiJnaWdham91bGUiLCJ0eXBlIjoiZW5lcmd5In0sCnsiaWQiOiJHTEQiLCJuYW1lIjoiR0xEIiwiZGVzY3JpcHRpb24iOiJkcnkgZ2FsbG9uIChVUykiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJHTEkiLCJuYW1lIjoiR0xJIiwiZGVzY3JpcHRpb24iOiJnYWxsb24gKFVLKSIsInR5cGUiOiJ2b2x1bWUifSwKeyJpZCI6IkdMTCIsIm5hbWUiOiJHTEwiLCJkZXNjcmlwdGlvbiI6ImdhbGxvbiAoVVMpIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiR1JNIiwibmFtZSI6ImciLCJkZXNjcmlwdGlvbiI6ImdyYW0iLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiR1dIIiwibmFtZSI6IkdXaCIsImRlc2NyaXB0aW9uIjoiZ2lnYXdhdHQgaG91ciIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6IkhJUkUiLCJuYW1lIjoiSGlyZSIsImRlc2NyaXB0aW9uIjoiaGlyZSIsInR5cGUiOiJoaXJlIn0sCnsiaWQiOiJITFQiLCJuYW1lIjoiaGwiLCJkZXNjcmlwdGlvbiI6ImhlY3RvbGl0cmUiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJIT1VSIiwibmFtZSI6ImhvdXIiLCJkZXNjcmlwdGlvbiI6ImhvdXIiLCJ0eXBlIjoidGltZSJ9LAp7ImlkIjoiSFMiLCJuYW1lIjoiSG91c2UiLCJkZXNjcmlwdGlvbiI6ImhvdXNlIiwidHlwZSI6ImhvdXNlIn0sCnsiaWQiOiJIU0giLCJuYW1lIjoiSFNIIiwiZGVzY3JpcHRpb24iOiJob3VzZWhvbGQiLCJ0eXBlIjoiaG91c2Vob2xkIn0sCnsiaWQiOiJIU0kiLCJuYW1lIjoiSFNJIiwiZGVzY3JpcHRpb24iOiJob3VzaW5nIGludmVudG9yeSIsInR5cGUiOiJob3VzaW5naW52ZW50b3J5In0sCnsiaWQiOiJJTkQiLCJuYW1lIjoiSU5EIiwiZGVzY3JpcHRpb24iOiJpbmRpY2F0b3IiLCJ0eXBlIjoiaW5kaWNhdG9yIn0sCnsiaWQiOiJJUCIsIm5hbWUiOiJJUCIsImRlc2NyaXB0aW9uIjoiSVAgYWRkcmVzcyIsInR5cGUiOiJpcCJ9LAp7ImlkIjoiSkJPIiwibmFtZSI6IkpCTyIsImRlc2NyaXB0aW9uIjoiam9iIG9wZW5pbmciLCJ0eXBlIjoiam9ib3BlbmluZyJ9LAp7ImlkIjoiSkxDIiwibmFtZSI6IkpMQyIsImRlc2NyaXB0aW9uIjoiam9ibGVzcyBjbGFpbSIsInR5cGUiOiJqb2JsZXNzY2xhaW0ifSwKeyJpZCI6IkpPVSIsIm5hbWUiOiJKIiwiZGVzY3JpcHRpb24iOiJqb3VsZSIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6IktCUFMiLCJuYW1lIjoia2JwcyIsImRlc2NyaXB0aW9uIjoia2lsb2JpdCBwZXIgc2Vjb25kIiwidHlwZSI6Im5ldHdvcmtiYW5kd2l0aCJ9LAp7ImlkIjoiS0dNIiwibmFtZSI6ImtnIiwiZGVzY3JpcHRpb24iOiJraWxvZ3JhbSIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJLSk8iLCJuYW1lIjoia0oiLCJkZXNjcmlwdGlvbiI6ImtpbG9qb3VsZSIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6IktXSCIsIm5hbWUiOiJrV2giLCJkZXNjcmlwdGlvbiI6ImtpbG93YXR0IGhvdXIiLCJ0eXBlIjoiZW5lcmd5In0sCnsiaWQiOiJMQUQiLCJuYW1lIjoiTEFEIiwiZGVzY3JpcHRpb24iOiJsYXlvZmYgYW5kIGRpc2NoYXJnZSIsInR5cGUiOiJsYXlvZmZhbmRkaXNjaGFyZ2UifSwKeyJpZCI6IkxCUiIsIm5hbWUiOiJsYiIsImRlc2NyaXB0aW9uIjoicG91bmQiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiTFROIiwibmFtZSI6Imx0IiwiZGVzY3JpcHRpb24iOiJsb25nIHRvbiIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJMVFIiLCJuYW1lIjoibCIsImRlc2NyaXB0aW9uIjoibGl0cmUiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJNQSIsIm5hbWUiOiJtb3J0Z2FnZSBhcGwuIiwiZGVzY3JpcHRpb24iOiJtb3J0Z2FnZSBhcHBsaWNhdGlvbiIsInR5cGUiOiJtb3J0Z2FnZWFwcGxpY2F0aW9uIn0sCnsiaWQiOiJNQkYiLCJuYW1lIjoiTUJGIiwiZGVzY3JpcHRpb24iOiIxMDAwIGJvYXJkIGZlZXQiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJNTUJUVSIsIm5hbWUiOiJNTUJ0dSIsImRlc2NyaXB0aW9uIjoibWlsbGlvbiBCcml0aXNoIHRoZXJtYWwgdW5pdCIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6Ik1NVFIiLCJuYW1lIjoiTWlsbGltZXRlciIsImRlc2NyaXB0aW9uIjoibWlsbGltZXRlciIsInR5cGUiOiJsZW5ndGgifSwKeyJpZCI6Ik1PTlRIIiwibmFtZSI6Im1vbnRoIiwiZGVzY3JpcHRpb24iOiJtb250aCIsInR5cGUiOiJ0aW1lIn0sCnsiaWQiOiJNVCIsIm5hbWUiOiJNVCIsImRlc2NyaXB0aW9uIjoibWV0cmljIHRvbm5lIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6Ik1USyIsIm5hbWUiOiJtMiIsImRlc2NyaXB0aW9uIjoibTIiLCJ0eXBlIjoiYXJlYSJ9LAp7ImlkIjoiTVRRIiwibmFtZSI6Im0zIiwiZGVzY3JpcHRpb24iOiJtMyIsInR5cGUiOiJ2b2x1bWUifSwKeyJpZCI6Ik1XRCIsIm5hbWUiOiJNV2QiLCJkZXNjcmlwdGlvbiI6Im1lZ2F3YXR0IGRheSIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6Ik1XSCIsIm5hbWUiOiLQnFdoIiwiZGVzY3JpcHRpb24iOiJtZWdhd2F0dCBob3VyIiwidHlwZSI6ImVuZXJneSJ9LAp7ImlkIjoiTkJMIiwibmFtZSI6Ik5CTCIsImRlc2NyaXB0aW9uIjoibmV0IGJhbGFuY2UiLCJ0eXBlIjoibmV0YmFsYW5jZSJ9LAp7ImlkIjoiTk1JIiwibmFtZSI6Ik5NSSIsImRlc2NyaXB0aW9uIjoibmF1dGljYWwgbWlsZSIsInR5cGUiOiJsZW5ndGgifSwKeyJpZCI6Ik9OWiIsIm5hbWUiOiJPTloiLCJkZXNjcmlwdGlvbiI6Im91bmNlIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6Ik9aQSIsIm5hbWUiOiJPWkEiLCJkZXNjcmlwdGlvbiI6ImZsdWlkIG91bmNlIChVUykiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJPWkkiLCJuYW1lIjoiT1pJIiwiZGVzY3JpcHRpb24iOiJmbHVpZCBvdW5jZSAoVUspIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiUEFZUk9MTCIsIm5hbWUiOiJQYXlyb2xsIiwiZGVzY3JpcHRpb24iOiJwYXlyb2xsIiwidHlwZSI6InBheXJvbGwifSwKeyJpZCI6IlBDVCIsIm5hbWUiOiIlIiwiZGVzY3JpcHRpb24iOiJwZXJjZW50IiwidHlwZSI6InBlcmNlbnQifSwKeyJpZCI6IlBDVERZIiwibmFtZSI6IkRpc2NvdW50IHlpZWxkLCAlIiwiZGVzY3JpcHRpb24iOiJkaXNjb3VudCB5aWVsZCIsInR5cGUiOiJwZXJjZW50In0sCnsiaWQiOiJQQ1RHRFAiLCJuYW1lIjoiJSBvZiBHRFAiLCJkZXNjcmlwdGlvbiI6InBlcmNlbnQgb2YgR0RQIiwidHlwZSI6InBlcmNlbnQifSwKeyJpZCI6IlBDVFBBUiIsIm5hbWUiOiIlIG9mIHBhciIsImRlc2NyaXB0aW9uIjoicGVyY2VudCBvZiBwYXIiLCJ0eXBlIjoicGVyY2VudCJ9LAp7ImlkIjoiUENUWVRNIiwibmFtZSI6IllUTSwgJSIsImRlc2NyaXB0aW9uIjoieWllbGQgdG8gbWF0dXJpdHkiLCJ0eXBlIjoicGVyY2VudCJ9LAp7ImlkIjoiUEhUUCIsIm5hbWUiOiJQSFRQIiwiZGVzY3JpcHRpb24iOiJwZXIgMTAwIDAwMCBwZW9wbGUiLCJ0eXBlIjoicGVyMTAwMDAwcGVvcGxlIn0sCnsiaWQiOiJQTVAiLCJuYW1lIjoiUE1QIiwiZGVzY3JpcHRpb24iOiJwZXIgb25lIG1pbGxpb24gcGVvcGxlIiwidHlwZSI6InBlcm9uZW1pbGxpb25wZW9wbGUifSwKeyJpZCI6IlBPSU5UIiwibmFtZSI6InBvaW50IiwiZGVzY3JpcHRpb24iOiJwb2ludCIsInR5cGUiOiJwb2ludCJ9LAp7ImlkIjoiUFBMIiwibmFtZSI6IlBQTCIsImRlc2NyaXB0aW9uIjoicGVvcGxlIiwidHlwZSI6InBlb3BsZSJ9LAp7ImlkIjoiUFNOIiwibmFtZSI6IlBTTiIsImRlc2NyaXB0aW9uIjoicGVyc29uIiwidHlwZSI6InBlcnNvbiJ9LAp7ImlkIjoiUFRQIiwibmFtZSI6IlBUUCIsImRlc2NyaXB0aW9uIjoicGVyIDEwMDAgcGVvcGxlIiwidHlwZSI6InBlcjEwMDBwZW9wbGUifSwKeyJpZCI6IlJBVElPIiwibmFtZSI6IlJhdGlvIiwiZGVzY3JpcHRpb24iOiJyYXRpbyIsInR5cGUiOiJyYXRpbyJ9LAp7ImlkIjoiUlBNSSIsIm5hbWUiOiJSUE1JIiwiZGVzY3JpcHRpb24iOiJyZXZlbnVlIHBhc3NlbmdlciBtaWxlIiwidHlwZSI6InJldmVudWVwYXNzZW5nZXJtaWxlIn0sCnsiaWQiOiJTRVAiLCJuYW1lIjoiU0VQIiwiZGVzY3JpcHRpb24iOiJzZXBhcmFpb24iLCJ0eXBlIjoic2VwYXJhdGlvbiJ9LAp7ImlkIjoiU0hBUkUiLCJuYW1lIjoic2hhcmUiLCJkZXNjcmlwdGlvbiI6InNoYXJlIiwidHlwZSI6InNoYXJlIn0sCnsiaWQiOiJTTUkiLCJuYW1lIjoiTWlsZSIsImRlc2NyaXB0aW9uIjoibWlsZSIsInR5cGUiOiJsZW5ndGgifSwKeyJpZCI6IlNUTiIsIm5hbWUiOiJTVE4iLCJkZXNjcmlwdGlvbiI6InNob3J0IHRvbiIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJUQ00iLCJuYW1lIjoidGNtIiwiZGVzY3JpcHRpb24iOiJ0aG91c2FuZCBjdWJpYyBtZXRyZXMiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJURlIiLCJuYW1lIjoiVEZSIiwiZGVzY3JpcHRpb24iOiJ0b3RhbCBmZXJ0aWxpdHkgcmF0ZSIsInR5cGUiOiJiaXJ0aHNwZXJ3b21hbiJ9LAp7ImlkIjoiVElWIiwibmFtZSI6IlRJViIsImRlc2NyaXB0aW9uIjoiU0lQUkkgVElWIiwidHlwZSI6InNpcHJpdGl2In0sCnsiaWQiOiJUTkUiLCJuYW1lIjoidCIsImRlc2NyaXB0aW9uIjoidG9ubmUiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiVFdIIiwibmFtZSI6IlRXaCIsImRlc2NyaXB0aW9uIjoidGVyYXdhdHQgaG91ciIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6IlRoR0IiLCJuYW1lIjoidGhhaWdvbGRiYWh0IiwiZGVzY3JpcHRpb24iOiJ0aGFpIGdvbGQgYmFodCIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJVS0EiLCJuYW1lIjoiVUtBIiwiZGVzY3JpcHRpb24iOiJVSyBhbGxvd2FuY2UiLCJ0eXBlIjoiYWxsb3dhbmNlIn0sCnsiaWQiOiJVTklUIiwibmFtZSI6InVuaXQiLCJkZXNjcmlwdGlvbiI6InVuaXQiLCJ0eXBlIjoidW5pdCJ9LAp7ImlkIjoiVkNOQ1kiLCJuYW1lIjoiVkNOQ1kiLCJkZXNjcmlwdGlvbiI6ImpvYiB2YWNhbmNpZXMiLCJ0eXBlIjoidmFjYW5jeSJ9LAp7ImlkIjoiV0NEIiwibmFtZSI6ImNvcmQiLCJkZXNjcmlwdGlvbiI6IkNvcmQiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJXRUVLIiwibmFtZSI6IndlZWsiLCJkZXNjcmlwdGlvbiI6IndlZWsiLCJ0eXBlIjoidGltZSJ9LAp7ImlkIjoiV0hSIiwibmFtZSI6IldoIiwiZGVzY3JpcHRpb24iOiJ3YXR0IGhvdXIiLCJ0eXBlIjoiZW5lcmd5In0sCnsiaWQiOiJZRUFSIiwibmFtZSI6InllYXIiLCJkZXNjcmlwdGlvbiI6InllYXIiLCJ0eXBlIjoidGltZSJ9Cl0KfQo="}},"time_used":38,"timings":{"blocked":-1,"dns":17,"connect":15,"send":0,"wait":2,"receive":-1,"ssl":4},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/uploads/elementor/css/post-899.css?ver=1784318891","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.897Z","timestamp":1785141582897,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/uploads/elementor/css/post-899.css?ver=1784318891 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://oxlofttrd.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Fri, 17 Jul 2026 20:08:11 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 181\r\nKeep-Alive: timeout=5, max=96\r\nConnection: Keep-Alive\r\nContent-Type: text/css\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":519,"size_decoded":531,"mime_type":"text/css","magic":"ASCII text, with very long lines (519), with no line terminators","md5":"a7a87f0f08504cbf5ea379f7ec34bbe4","sha1":"50f4c680f2a197d07ba22a428d0751a95f472540","sha256":"1543de2a310a13cede3c81c5830e54bdc77bcccce1e05d73c4410cb551becd46","sha512":"0ddd65414be057c9f2b32463ce82c6671cbb2db2f94a9959753af4c7a4085a83ce800405c1bb0e416494393481a7f098e41f5472908668de507a90343ffeb3a0","ssdeep":"","tlshash":"3cf039c27d675228b02f246b14a362ac23281cdce37f60a1c4201417b978ec533e1d20","first_seen":"2025-08-03T16:59:35.264808Z","last_seen":"2026-07-27T12:12:28.853981Z","times_seen":7,"resource_available":false,"data":"LmVsZW1lbnRvci04OTkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LWQ3MDQzZGEgLm1pbC1tYWluLW1lbnUgdWwgbGl7dGV4dC1hbGlnbjpsZWZ0O31AbWVkaWEobWF4LXdpZHRoOjEwMjRweCl7LmVsZW1lbnRvci04OTkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LWQ3MDQzZGEgLm1pbC1tYWluLW1lbnUgdWwgbGl7dGV4dC1hbGlnbjpjZW50ZXI7fX1AbWVkaWEobWluLXdpZHRoOjc2OHB4KXsuZWxlbWVudG9yLTg5OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtZWM5NjRkZHt3aWR0aDo0MS42NjclO30uZWxlbWVudG9yLTg5OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtZjFhNDg3ZHt3aWR0aDo1OC4zMzMlO319QG1lZGlhKG1heC13aWR0aDoxMDI0cHgpIGFuZCAobWluLXdpZHRoOjc2OHB4KXsuZWxlbWVudG9yLTg5OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtZWM5NjRkZHt3aWR0aDoxMDAlO319"}},"time_used":421,"timings":{"blocked":330,"dns":0,"connect":0,"send":0,"wait":91,"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/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.139Z","timestamp":1785141584139,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/13148.32cc01dc01751b91682c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\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: 29a85a4c2581217c4b5612d8b4d3ecaa\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4812,"size_decoded":2618,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3061)","md5":"9eb8a2729659cd900aee823198b62b43","sha1":"27c53602ca760b97d71eef345b01c1d537900aad","sha256":"3ac4b66b0a6823b837035a5dfdf7fe41b01ccf2a2ac115b143c12356080ebdac","sha512":"6c86fb2c2378e589f4353d32a048ae866196581fc0a8a7ed13c379eb47eab41fcbfc0ee44f3ffe77ff3800136be1da4fbfecfe3456524b96712a1e5cef42945f","ssdeep":"96:FRi/jMMHFeHojARuZi0DWss7UebYiWWD+WRdiaEBymSM0qRIv0nrWvW1HN6Fb0so:rEjMMlIeARmLWss77bJWWD+WRd8ymSM9","tlshash":"66a1e987b9c2f0a063d9aca5953b054ae23d6c1c711bf0e8e2e9d5d19c7b10b9112f36","first_seen":"2026-05-15T11:49:16.287975Z","last_seen":"2026-07-27T15:03:44.245713Z","times_seen":4580,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTMxNDhdLHs3MzU5ODModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7Y29uc3Qgbz1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189W10sdGhpcy5zaXplPTB9O3ZhciByPW4oOTEwNzc4KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoO24tLTspaWYoKDAsci5kZWZhdWx0KSh0W25dWzBdLGUpKXJldHVybiBuO3JldHVybi0xfTt2YXIgcz1BcnJheS5wcm90b3R5cGUuc3BsaWNlO2NvbnN0IGM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4hKG48MCkmJihuPT1lLmxlbmd0aC0xP2UucG9wKCk6cy5jYWxsKGUsbiwxKSwtLXRoaXMuc2l6ZSwhMCl9O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4gbjwwP3ZvaWQgMDplW25dWzFdfTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybiBhKHRoaXMuX19kYXRhX18sdCk+LTF9O2NvbnN0IGw9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fLG89YShuLHQpO3JldHVybiBvPDA/KCsrdGhpcy5zaXplLG4ucHVzaChbdCxlXSkpOm5bb11bMV09ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPW8sZi5wcm90b3R5cGUuZGVsZXRlPWMsZi5wcm90b3R5cGUuZ2V0PWksZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mfSw2OTQyMSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE2MjMxNikscj1uKDk4MTUyMyk7Y29uc3QgYT0oMCxvLmRlZmF1bHQpKHIuZGVmYXVsdCwiTWFwIil9LDcxMzE0OCh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pnp9KTtjb25zdCBvPSgwLG4oMTYyMzE2KS5kZWZhdWx0KShPYmplY3QsImNyZWF0ZSIpO2NvbnN0IHI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPW8/byhudWxsKTp7fSx0aGlzLnNpemU9MH07Y29uc3QgYT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmhhcyh0KSYmZGVsZXRlIHRoaXMuX19kYXRhX19bdF07cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX07dmFyIHM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBjPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187aWYobyl7dmFyIG49ZVt0XTtyZXR1cm4iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI9PT1uP3ZvaWQgMDpufXJldHVybiBzLmNhbGwoZSx0KT9lW3RdOnZvaWQgMH07dmFyIGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIG8/dm9pZCAwIT09ZVt0XTppLmNhbGwoZSx0KX07Y29uc3QgbD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLG5bdF09byYmdm9pZCAwPT09ZT8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPXIsZi5wcm90b3R5cGUuZGVsZXRlPWEsZi5wcm90b3R5cGUuZ2V0PWMsZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mO3ZhciBfPW4oNzM1OTgzKSxoPW4oNjk0MjEpO2NvbnN0IHA9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBkLG1hcDpuZXcoaC5kZWZhdWx0fHxfLmRlZmF1bHQpLHN0cmluZzpuZXcgZH19O2NvbnN0IHY9ZnVuY3Rpb24odCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuInN0cmluZyI9PWV8fCJudW1iZXIiPT1lfHwic3ltYm9sIj09ZXx8ImJvb2xlYW4iPT1lPyJfX3Byb3RvX18iIT09dDpudWxsPT09dH07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3ZhciBuPXQuX19kYXRhX187cmV0dXJuIHYoZSk/blsic3RyaW5nIj09dHlwZW9mIGU/InN0cmluZyI6Imhhc2giXTpuLm1hcH07Y29uc3QgZz1mdW5jdGlvbih0KXt2YXIgZT15KHRoaXMsdCkuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemUtPWU/MTowLGV9O2NvbnN0IGI9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5nZXQodCl9O2NvbnN0IGo9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5oYXModCl9O2NvbnN0IE89ZnVuY3Rpb24odCxlKXt2YXIgbj15KHRoaXMsdCksbz1uLnNpemU7cmV0dXJuIG4uc2V0KHQsZSksdGhpcy5zaXplKz1uLnNpemU9PW8/MDoxLHRoaXN9O2Z1bmN0aW9uIHcodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8bjspe3ZhciBvPXRbZV07dGhpcy5zZXQob1swXSxvWzFdKX19dy5wcm90b3R5cGUuY2xlYXI9cCx3LnByb3RvdHlwZS5kZWxldGU9Zyx3LnByb3RvdHlwZS5nZXQ9Yix3LnByb3RvdHlwZS5oYXM9aix3LnByb3RvdHlwZS5zZXQ9Tztjb25zdCB6PXd9LDg3Mjk5OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPW4oOTgxNTIzKS5kZWZhdWx0LlN5bWJvbH0sMTc4NDk3KHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBvPW4oODcyOTk5KSxyPU9iamVjdC5wcm90b3R5cGUsYT1yLmhhc093blByb3BlcnR5LHM9ci50b1N0cmluZyxjPW8uZGVmYXVsdD9vLmRlZmF1bHQudG9TdHJpbmdUYWc6dm9pZCAwO2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9YS5jYWxsKHQsYyksbj10W2NdO3RyeXt0W2NdPXZvaWQgMDt2YXIgbz0hMH1jYXRjaCh0KXt9dmFyIHI9cy5jYWxsKHQpO3JldHVybiBvJiYoZT90W2NdPW46ZGVsZXRlIHRbY10pLHJ9O3ZhciB1PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3QgbD1mdW5jdGlvbih0KXtyZXR1cm4gdS5jYWxsKHQpfQo7dmFyIGY9by5kZWZhdWx0P28uZGVmYXVsdC50b1N0cmluZ1RhZzp2b2lkIDA7Y29uc3QgZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD92b2lkIDA9PT10PyJbb2JqZWN0IFVuZGVmaW5lZF0iOiJbb2JqZWN0IE51bGxdIjpmJiZmIGluIE9iamVjdCh0KT9pKHQpOmwodCl9fSw2MDI5NDIodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz0ib2JqZWN0Ij09dHlwZW9mIG4uZyYmbi5nJiZuLmcuT2JqZWN0PT09T2JqZWN0JiZuLmd9LDE2MjMxNih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmd9KTt2YXIgbz1uKDkyODEzMik7Y29uc3Qgcj1uKDk4MTUyMykuZGVmYXVsdFsiX19jb3JlLWpzX3NoYXJlZF9fIl07dmFyIGEscz0oYT0vW14uXSskLy5leGVjKHImJnIua2V5cyYmci5rZXlzLklFX1BST1RPfHwiIikpPyJTeW1ib2woc3JjKV8xLiIrYToiIjtjb25zdCBjPWZ1bmN0aW9uKHQpe3JldHVybiEhcyYmcyBpbiB0fTt2YXIgaT1uKDg4MDExNSksdT1uKDczMDUwMyksbD0vXlxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXF0kLyxmPUZ1bmN0aW9uLnByb3RvdHlwZSxkPU9iamVjdC5wcm90b3R5cGUsXz1mLnRvU3RyaW5nLGg9ZC5oYXNPd25Qcm9wZXJ0eSxwPVJlZ0V4cCgiXiIrXy5jYWxsKGgpLnJlcGxhY2UoL1tcXF4kLiorPygpW1xde318XS9nLCJcXCQmIikucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXCgpfCBmb3IgLis/KD89XFxcXSkvZywiJDEuKj8iKSsiJCIpO2NvbnN0IHY9ZnVuY3Rpb24odCl7cmV0dXJuISghKDAsaS5kZWZhdWx0KSh0KXx8Yyh0KSkmJigoMCxvLmRlZmF1bHQpKHQpP3A6bCkudGVzdCgoMCx1LmRlZmF1bHQpKHQpKX07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT10P3ZvaWQgMDp0W2VdfTtjb25zdCBnPWZ1bmN0aW9uKHQsZSl7dmFyIG49eSh0LGUpO3JldHVybiB2KG4pP246dm9pZCAwfX0sOTgxNTIzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBvPW4oNjAyOTQyKSxyPSJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGY7Y29uc3QgYT1vLmRlZmF1bHR8fHJ8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9LDczMDUwMyh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgbz1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3Qgcj1mdW5jdGlvbih0KXtpZihudWxsIT10KXt0cnl7cmV0dXJuIG8uY2FsbCh0KX1jYXRjaCh0KXt9dHJ5e3JldHVybiB0KyIifWNhdGNoKHQpe319cmV0dXJuIiJ9fSw5MTA3NzgodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8dCE9dCYmZSE9ZX19LDkyODEzMih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE3ODQ5Nykscj1uKDg4MDExNSk7Y29uc3QgYT1mdW5jdGlvbih0KXtpZighKDAsci5kZWZhdWx0KSh0KSlyZXR1cm4hMTt2YXIgZT0oMCxvLmRlZmF1bHQpKHQpO3JldHVybiJbb2JqZWN0IEZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEFzeW5jRnVuY3Rpb25dIj09ZXx8IltvYmplY3QgUHJveHldIj09ZX19LDg4MDExNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBudWxsIT10JiYoIm9iamVjdCI9PWV8fCJmdW5jdGlvbiI9PWUpfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/themes/ashley/assets/js/gsap.js?ver=1.0.0","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.907Z","timestamp":1785141582907,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/themes/ashley/assets/js/gsap.js?ver=1.0.0 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:55:08 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 28096\r\nKeep-Alive: timeout=5, max=97\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":72213,"size_decoded":28462,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (65255)","md5":"6de75d21a278b9c00ce2dccce724f6c5","sha1":"267a388d2fff8aa68c71da6116ee460ed0ca8b02","sha256":"53c3a2be6f0df881861adce7bcc3da341a64f5fefe244634f9a37197d0f58fb7","sha512":"160c2aa6cbc7b315caea4ce88bf70528ad280b84fc34b2a7cd1012ad8dde1c7cbf0631c80375110a86fb48b71566a1448f62722397231923346726d8cc44041f","ssdeep":"1536:auJ29KBROpgAEQ9a1tgwA6NSZW3ytdKTdIwEp28Ywz7CD6:f29CakgwdNSQ3yt8eNp28YqCO","tlshash":"b663e8d93292f423039a51a1447f094bf337a958640f0918f269e4ce7d3c9ad52bbe7a","first_seen":"2024-11-08T21:22:28.30398Z","last_seen":"2026-07-27T12:12:28.774255Z","times_seen":763,"resource_available":true,"data":"LyohCiAqIEdTQVAgMy4xMi41CiAqIGh0dHBzOi8vZ3NhcC5jb20KICogCiAqIEBsaWNlbnNlIENvcHlyaWdodCAyMDI0LCBHcmVlblNvY2suIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqIFN1YmplY3QgdG8gdGhlIHRlcm1zIGF0IGh0dHBzOi8vZ3NhcC5jb20vc3RhbmRhcmQtbGljZW5zZSBvciBmb3IgQ2x1YiBHU0FQIG1lbWJlcnMsIHRoZSBhZ3JlZW1lbnQgaXNzdWVkIHdpdGggdGhhdCBtZW1iZXJzaGlwLgogKiBAYXV0aG9yOiBKYWNrIERveWxlLCBqYWNrQGdyZWVuc29jay5jb20KICovCgohZnVuY3Rpb24odCxlKXsib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlP2UoZXhwb3J0cyk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJleHBvcnRzIl0sZSk6ZSgodD10fHxzZWxmKS53aW5kb3c9dC53aW5kb3d8fHt9KX0odGhpcyxmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gX2luaGVyaXRzTG9vc2UodCxlKXt0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSwodC5wcm90b3R5cGUuY29uc3RydWN0b3I9dCkuX19wcm90b19fPWV9ZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZCh0KXtpZih2b2lkIDA9PT10KXRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkIik7cmV0dXJuIHR9ZnVuY3Rpb24gcih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHR9ZnVuY3Rpb24gcyh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdH1mdW5jdGlvbiB0KHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdH1mdW5jdGlvbiB1KHQpe3JldHVybiB2b2lkIDA9PT10fWZ1bmN0aW9uIHYodCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiB0fWZ1bmN0aW9uIHcodCl7cmV0dXJuITEhPT10fWZ1bmN0aW9uIHgoKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvd31mdW5jdGlvbiB5KHQpe3JldHVybiBzKHQpfHxyKHQpfWZ1bmN0aW9uIFAodCl7cmV0dXJuKGk9eXQodCxvdCkpJiZ6ZX1mdW5jdGlvbiBRKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiSW52YWxpZCBwcm9wZXJ0eSIsdCwic2V0IHRvIixlLCJNaXNzaW5nIHBsdWdpbj8gZ3NhcC5yZWdpc3RlclBsdWdpbigpIil9ZnVuY3Rpb24gUih0LGUpe3JldHVybiFlJiZjb25zb2xlLndhcm4odCl9ZnVuY3Rpb24gUyh0LGUpe3JldHVybiB0JiYob3RbdF09ZSkmJmkmJihpW3RdPWUpfHxvdH1mdW5jdGlvbiBUKCl7cmV0dXJuIDB9ZnVuY3Rpb24gZWEodCl7dmFyIGUscixpPXRbMF07aWYodihpKXx8cyhpKXx8KHQ9W3RdKSwhKGU9KGkuX2dzYXB8fHt9KS5oYXJuZXNzKSl7Zm9yKHI9Z3QubGVuZ3RoO3ItLSYmIWd0W3JdLnRhcmdldFRlc3QoaSk7KTtlPWd0W3JdfWZvcihyPXQubGVuZ3RoO3ItLTspdFtyXSYmKHRbcl0uX2dzYXB8fCh0W3JdLl9nc2FwPW5ldyBWdCh0W3JdLGUpKSl8fHQuc3BsaWNlKHIsMSk7cmV0dXJuIHR9ZnVuY3Rpb24gZmEodCl7cmV0dXJuIHQuX2dzYXB8fGVhKE10KHQpKVswXS5fZ3NhcH1mdW5jdGlvbiBnYSh0LGUscil7cmV0dXJuKHI9dFtlXSkmJnMocik/dFtlXSgpOnUocikmJnQuZ2V0QXR0cmlidXRlJiZ0LmdldEF0dHJpYnV0ZShlKXx8cn1mdW5jdGlvbiBoYSh0LGUpe3JldHVybih0PXQuc3BsaXQoIiwiKSkuZm9yRWFjaChlKXx8dH1mdW5jdGlvbiBpYSh0KXtyZXR1cm4gTWF0aC5yb3VuZCgxZTUqdCkvMWU1fHwwfWZ1bmN0aW9uIGphKHQpe3JldHVybiBNYXRoLnJvdW5kKDFlNyp0KS8xZTd8fDB9ZnVuY3Rpb24ga2EodCxlKXt2YXIgcj1lLmNoYXJBdCgwKSxpPXBhcnNlRmxvYXQoZS5zdWJzdHIoMikpO3JldHVybiB0PXBhcnNlRmxvYXQodCksIisiPT09cj90K2k6Ii0iPT09cj90LWk6IioiPT09cj90Kmk6dC9pfWZ1bmN0aW9uIGxhKHQsZSl7Zm9yKHZhciByPWUubGVuZ3RoLGk9MDt0LmluZGV4T2YoZVtpXSk8MCYmKytpPHI7KTtyZXR1cm4gaTxyfWZ1bmN0aW9uIG1hKCl7dmFyIHQsZSxyPWR0Lmxlbmd0aCxpPWR0LnNsaWNlKDApO2ZvcihjdD17fSx0PWR0Lmxlbmd0aD0wO3Q8cjt0KyspKGU9aVt0XSkmJmUuX2xhenkmJihlLnJlbmRlcihlLl9sYXp5WzBdLGUuX2xhenlbMV0sITApLl9sYXp5PTApfWZ1bmN0aW9uIG5hKHQsZSxyLGkpe2R0Lmxlbmd0aCYmIUwmJm1hKCksdC5yZW5kZXIoZSxyLGl8fEwmJmU8MCYmKHQuX2luaXR0ZWR8fHQuX3N0YXJ0QXQpKSxkdC5sZW5ndGgmJiFMJiZtYSgpfWZ1bmN0aW9uIG9hKHQpe3ZhciBlPXBhcnNlRmxvYXQodCk7cmV0dXJuKGV8fDA9PT1lKSYmKHQrIiIpLm1hdGNoKGF0KS5sZW5ndGg8Mj9lOnIodCk/dC50cmltKCk6dH1mdW5jdGlvbiBwYSh0KXtyZXR1cm4gdH1mdW5jdGlvbiBxYSh0LGUpe2Zvcih2YXIgciBpbiBlKXIgaW4gdHx8KHRbcl09ZVtyXSk7cmV0dXJuIHR9ZnVuY3Rpb24gdGEodCxlKXtmb3IodmFyIHIgaW4gZSkiX19wcm90b19fIiE9PXImJiJjb25zdHJ1Y3RvciIhPT1yJiYicHJvdG90eXBlIiE9PXImJih0W3JdPXYoZVtyXSk/dGEodFtyXXx8KHRbcl09e30pLGVbcl0pOmVbcl0pO3JldHVybiB0fWZ1bmN0aW9uIHVhKHQsZSl7dmFyIHIsaT17fTtmb3IociBpbiB0KXIgaW4gZXx8KGlbcl09dFtyXSk7cmV0dXJuIGl9ZnVuY3Rpb24gdmEodCl7dmFyIGU9dC5wYXJlbnR8fEkscj10LmtleWZyYW1lcz9mdW5jdGlvbiBfc2V0S2V5ZnJhbWVEZWZhdWx0cyhpKXtyZXR1cm4gZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gZSlyIGluIHR8fCJkdXJhdGlvbiI9PT1yJiZpfHwiZWFzZSI9PT1yfHwodFtyXT1lW3JdKX19KFoodC5rZXlmcmFtZXMpKTpxYTtpZih3KHQuaW5oZXJpdCkpZm9yKDtlOylyKHQsZS52YXJzLmRlZmF1bHRzKSxlPWUucGFyZW50fHxlLl9kcDtyZXR1cm4gdH1mdW5jdGlvbiB4YSh0LGUscixpLG4pe3ZvaWQgMD09PXImJihyPSJfZmlyc3QiKSx2b2lkIDA9PT1pJiYoaT0iX2xhc3QiKTt2YXIgYSxzPXRbaV07aWYobilmb3IoYT1lW25dO3MmJnNbbl0+YTspcz1zLl9wcmV2O3JldHVybiBzPyhlLl9uZXh0PXMuX25leHQscy5fbmV4dD1lKTooZS5fbmV4dD10W3JdLHRbcl09ZSksZS5fbmV4dD9lLl9uZXh0Ll9wcmV2PWU6dFtpXT1lLGUuX3ByZXY9cyxlLnBhcmVudD1lLl9kcD10LGV9ZnVuY3Rpb24geWEodCxlLHIsaSl7dm9pZCAwPT09ciYmKHI9Il9maXJzdCIpLHZvaWQgMD09PWkmJihpPSJfbGFzdCIpO3ZhciBuPWUuX3ByZXYsYT1lLl9uZXh0O24/bi5fbmV4dD1hOnRbcl09PT1lJiYodFtyXT1hKSxhP2EuX3ByZXY9bjp0W2ldPT09ZSYmKHRbaV09biksZS5fbmV4dD1lLl9wcmV2PWUucGFyZW50PW51bGx9ZnVuY3Rpb24gemEodCxlKXt0LnBhcmVudCYmKCFlfHx0LnBhcmVudC5hdXRvUmVtb3ZlQ2hpbGRyZW4pJiZ0LnBhcmVudC5yZW1vdmUmJnQucGFyZW50LnJlbW92ZSh0KSx0Ll9hY3Q9MH1mdW5jdGlvbiBBYSh0LGUpe2lmKHQmJighZXx8ZS5fZW5kPnQuX2R1cnx8ZS5fc3RhcnQ8MCkpZm9yKHZhciByPXQ7cjspci5fZGlydHk9MSxyPXIucGFyZW50O3JldHVybiB0fWZ1bmN0aW9uIENhKHQsZSxyLGkpe3JldHVybiB0Ll9zdGFydEF0JiYoTD90Ll9zdGFydEF0LnJldmVydChodCk6dC52YXJzLmltbWVkaWF0ZVJlbmRlciYmIXQudmFycy5hdXRvUmV2ZXJ0fHx0Ll9zdGFydEF0LnJlbmRlcihlLCEwLGkpKX1mdW5jdGlvbiBFYSh0KXtyZXR1cm4gdC5fcmVwZWF0P1R0KHQuX3RUaW1lLHQ9dC5kdXJhdGlvbigpK3QuX3JEZWxheSkqdDowfWZ1bmN0aW9uIEdhKHQsZSl7cmV0dXJuKHQtZS5fc3RhcnQpKmUuX3RzKygwPD1lLl90cz8wOmUuX2RpcnR5P2UudG90YWxEdXJhdGlvbigpOmUuX3REdXIpfWZ1bmN0aW9uIEhhKHQpe3JldHVybiB0Ll9lbmQ9amEodC5fc3RhcnQrKHQuX3REdXIvTWF0aC5hYnModC5fdHN8fHQuX3J0c3x8WCl8fDApKX1mdW5jdGlvbiBJYSh0LGUpe3ZhciByPXQuX2RwO3JldHVybiByJiZyLnNtb290aENoaWxkVGltaW5nJiZ0Ll90cyYmKHQuX3N0YXJ0PWphKHIuX3RpbWUtKDA8dC5fdHM/ZS90Ll90czooKHQuX2RpcnR5P3QudG90YWxEdXJhdGlvbigpOnQuX3REdXIpLWUpLy10Ll90cykpLEhhKHQpLHIuX2RpcnR5fHxBYShyLHQpKSx0fWZ1bmN0aW9uIEphKHQsZSl7dmFyIHI7aWYoKGUuX3RpbWV8fCFlLl9kdXImJmUuX2luaXR0ZWR8fGUuX3N0YXJ0PHQuX3RpbWUmJihlLl9kdXJ8fCFlLmFkZCkpJiYocj1HYSh0LnJhd1RpbWUoKSxlKSwoIWUuX2R1cnx8T3QoMCxlLnRvdGFsRHVyYXRpb24oKSxyKS1lLl90VGltZT5YKSYmZS5yZW5kZXIociwhMCkpLEFhKHQsZSkuX2RwJiZ0Ll9pbml0dGVkJiZ0Ll90aW1lPj10Ll9kdXImJnQuX3RzKXtpZih0Ll9kdXI8dC5kdXJhdGlvbigpKWZvcihyPXQ7ci5fZHA7KTA8PXIucmF3VGltZSgpJiZyLnRvdGFsVGltZShyLl90VGltZSkscj1yLl9kcDt0Ll96VGltZT0tWH19ZnVuY3Rpb24gS2EoZSxyLGksbil7cmV0dXJuIHIucGFyZW50JiZ6YShyKSxyLl9zdGFydD1qYSgodChpKT9pOml8fGUhPT1JP3h0KGUsaSxyKTplLl90aW1lKStyLl9kZWxheSksci5fZW5kPWphKHIuX3N0YXJ0KyhyLnRvdGFsRHVyYXRpb24oKS9NYXRoLmFicyhyLnRpbWVTY2FsZSgpKXx8MCkpLHhhKGUsciwiX2ZpcnN0IiwiX2xhc3QiLGUuX3NvcnQ/Il9zdGFydCI6MCksYnQocil8fChlLl9yZWNlbnQ9ciksbnx8SmEoZSxyKSxlLl90czwwJiZJYShlLGUuX3RUaW1lKSxlfWZ1bmN0aW9uIExhKHQsZSl7cmV0dXJuKG90LlNjcm9sbFRyaWdnZXJ8fFEoInNjcm9sbFRyaWdnZXIiLGUpKSYmb3QuU2Nyb2xsVHJpZ2dlci5jcmVhdGUoZSx0KX1mdW5jdGlvbiBNYSh0LGUscixpLG4pe3JldHVybiBRdCh0LGUsbiksdC5faW5pdHRlZD8hciYmdC5fcHQmJiFMJiYodC5fZHVyJiYhMSE9PXQudmFycy5sYXp5fHwhdC5fZHVyJiZ0LnZhcnMubGF6eSkmJmYhPT1SdC5mcmFtZT8oZHQucHVzaCh0KSx0Ll9sYXp5PVtuLGldLDEpOnZvaWQgMDoxfWZ1bmN0aW9uIFJhKHQsZSxyLGkpe3ZhciBuPXQuX3JlcGVhdCxhPWphKGUpfHwwLHM9dC5fdFRpbWUvdC5fdER1cjtyZXR1cm4gcyYmIWkmJih0Ll90aW1lKj1hL3QuX2R1ciksdC5fZHVyPWEsdC5fdER1cj1uP248MD8xZTEwOmphKGEqKG4rMSkrdC5fckRlbGF5Km4pOmEsMDxzJiYhaSYmSWEodCx0Ll90VGltZT10Ll90RHVyKnMpLHQucGFyZW50JiZIYSh0KSxyfHxBYSh0LnBhcmVudCx0KSx0fWZ1bmN0aW9uIFNhKHQpe3JldHVybiB0IGluc3RhbmNlb2YgWHQ/QWEodCk6UmEodCx0Ll9kdXIpfWZ1bmN0aW9uIFZhKGUscixpKXt2YXIgbixhLHM9dChyWzFdKSxvPShzPzI6MSkrKGU8Mj8wOjEpLHU9cltvXTtpZihzJiYodS5kdXJhdGlvbj1yWzFdKSx1LnBhcmVudD1pLGUpe2ZvcihuPXUsYT1pO2EmJiEoImltbWVkaWF0ZVJlbmRlciJpbiBuKTspbj1hLnZhcnMuZGVmYXVsdHN8fHt9LGE9dyhhLnZhcnMuaW5oZXJpdCkmJmEucGFyZW50O3UuaW1tZWRpYXRlUmVuZGVyPXcobi5pbW1lZGlhdGVSZW5kZXIpLGU8Mj91LnJ1bkJhY2t3YXJkcz0xOnUuc3RhcnRBdD1yW28tMV19cmV0dXJuIG5ldyAkdChyWzBdLHUsclsxK29dKX1mdW5jdGlvbiBXYSh0LGUpe3JldHVybiB0fHwwPT09dD9lKHQpOmV9ZnVuY3Rpb24gWWEodCxlKXtyZXR1cm4gcih0KSYmKGU9c3QuZXhlYyh0KSk/ZVsxXToiIn1mdW5jdGlvbiBfYSh0LGUpe3JldHVybiB0JiZ2KHQpJiYibGVuZ3RoImluIHQmJighZSYmIXQubGVuZ3RofHx0Lmxlbmd0aC0xIGluIHQmJnYodFswXSkpJiYhdC5ub2RlVHlwZSYmdCE9PWh9ZnVuY3Rpb24gY2Iocil7cmV0dXJuIHI9TXQocilbMF18fFIoIkludmFsaWQgc2NvcGUiKXx8e30sZnVuY3Rpb24odCl7dmFyIGU9ci5jdXJyZW50fHxyLm5hdGl2ZUVsZW1lbnR8fHI7cmV0dXJuIE10KHQsZS5xdWVyeVNlbGVjdG9yQWxsP2U6ZT09PXI/UigiSW52YWxpZCBzY29wZSIpfHxhLmNyZWF0ZUVsZW1lbnQoImRpdiIpOnIpfX1mdW5jdGlvbiBkYih0KXtyZXR1cm4gdC5zb3J0KGZ1bmN0aW9uKCl7cmV0dXJuLjUtTWF0aC5yYW5kb20oKX0pfWZ1bmN0aW9uIGViKHQpe2lmKHModCkpcmV0dXJuIHQ7dmFyIHA9dih0KT90OntlYWNoOnR9LF89anQocC5lYXNlKSxtPXAuZnJvbXx8MCxnPXBhcnNlRmxvYXQocC5iYXNlKXx8MCx5PXt9LGU9MDxtJiZtPDEsVD1pc05hTihtKXx8ZSxiPXAuYXhpcyx3PW0seD1tO3JldHVybiByKG0pP3c9eD17Y2VudGVyOi41LGVkZ2VzOi41LGVuZDoxfVttXXx8MDohZSYmVCYmKHc9bVswXSx4PW1bMV0pLGZ1bmN0aW9uKHQsZSxyKXt2YXIgaSxuLGEscyxvLHUsaCxsLGYsZD0ocnx8cCkubGVuZ3RoLGM9eVtkXTtpZighYyl7aWYoIShmPSJhdXRvIj09PXAuZ3JpZD8wOihwLmdyaWR8fFsxLFVdKVsxXSkpe2ZvcihoPS1VO2g8KGg9cltmKytdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQpJiZmPGQ7KTtmPGQmJmYtLX1mb3IoYz15W2RdPVtdLGk9VD9NYXRoLm1pbihmLGQpKnctLjU6bSVmLG49Zj09PVU/MDpUP2QqeC9mLS41Om0vZnwwLGw9VSx1PWg9MDt1PGQ7dSsrKWE9dSVmLWkscz1uLSh1L2Z8MCksY1t1XT1vPWI/TWF0aC5hYnMoInkiPT09Yj9zOmEpOksoYSphK3MqcyksaDxvJiYoaD1vKSxvPGwmJihsPW8pOyJyYW5kb20iPT09bSYmZGIoYyksYy5tYXg9aC1sLGMubWluPWwsYy52PWQ9KHBhcnNlRmxvYXQocC5hbW91bnQpfHxwYXJzZUZsb2F0KHAuZWFjaCkqKGQ8Zj9kLTE6Yj8ieSI9PT1iP2QvZjpmOk1hdGgubWF4KGYsZC9mKSl8fDApKigiZWRnZXMiPT09bT8tMToxKSxjLmI9ZDwwP2ctZDpnLGMudT1ZYShwLmFtb3VudHx8cC5lYWNoKXx8MCxfPV8mJmQ8MD9ZdChfKTpffXJldHVybiBkPShjW3RdLWMubWluKS9jLm1heHx8MCxqYShjLmIrKF8/XyhkKTpkKSpjLnYpK2MudX19ZnVuY3Rpb24gZmIoaSl7dmFyIG49TWF0aC5wb3coMTAsKChpKyIiKS5zcGxpdCgiLiIpWzFdfHwiIikubGVuZ3RoKTtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHI9amEoTWF0aC5yb3VuZChwYXJzZUZsb2F0KGUpL2kpKmkqbik7cmV0dXJuKHItciUxKS9uKyh0KGUpPzA6WWEoZSkpfX1mdW5jdGlvbiBnYihoLGUpe3ZhciBsLGYscj1aKGgpO3JldHVybiFyJiZ2KGgpJiYobD1yPWgucmFkaXVzfHxVLGgudmFsdWVzPyhoPU10KGgudmFsdWVzKSwoZj0hdChoWzBdKSkmJihsKj1sKSk6aD1mYihoLmluY3JlbWVudCkpLFdhKGUscj9zKGgpP2Z1bmN0aW9uKHQpe3JldHVybiBmPWgodCksTWF0aC5hYnMoZi10KTw9bD9mOnR9OmZ1bmN0aW9uKGUpe2Zvcih2YXIgcixpLG49cGFyc2VGbG9hdChmP2UueDplKSxhPXBhcnNlRmxvYXQoZj9lLnk6MCkscz1VLG89MCx1PWgubGVuZ3RoO3UtLTspKHI9Zj8ocj1oW3VdLngtbikqcisoaT1oW3VdLnktYSkqaTpNYXRoLmFicyhoW3VdLW4pKTxzJiYocz1yLG89dSk7cmV0dXJuIG89IWx8fHM8PWw/aFtvXTplLGZ8fG89PT1lfHx0KGUpP286bytZYShlKX06ZmIoaCkpfWZ1bmN0aW9uIGhiKHQsZSxyLGkpe3JldHVybiBXYShaKHQpPyFlOiEwPT09cj8hIShyPTApOiFpLGZ1bmN0aW9uKCl7cmV0dXJuIFoodCk/dFt+fihNYXRoLnJhbmRvbSgpKnQubGVuZ3RoKV06KHI9cnx8MWUtNSkmJihpPXI8MT9NYXRoLnBvdygxMCwocisiIikubGVuZ3RoLTIpOjEpJiZNYXRoLmZsb29yKE1hdGgucm91bmQoKHQtci8yK01hdGgucmFuZG9tKCkqKGUtdCsuOTkqcikpL3IpKnIqaSkvaX0pfWZ1bmN0aW9uIGxiKGUscix0KXtyZXR1cm4gV2EodCxmdW5jdGlvbih0KXtyZXR1cm4gZVt+fnIodCldfSl9ZnVuY3Rpb24gb2IodCl7Zm9yKHZhciBlLHIsaSxuLGE9MCxzPSIiO34oZT10LmluZGV4T2YoInJhbmRvbSgiLGEpKTspaT10LmluZGV4T2YoIikiLGUpLG49IlsiPT09dC5jaGFyQXQoZSs3KSxyPXQuc3Vic3RyKGUrNyxpLWUtNykubWF0Y2gobj9hdDp0dCkscys9dC5zdWJzdHIoYSxlLWEpK2hiKG4/cjorclswXSxuPzA6K3JbMV0sK3JbMl18fDFlLTUpLGE9aSsxO3JldHVybiBzK3Quc3Vic3RyKGEsdC5sZW5ndGgtYSl9ZnVuY3Rpb24gcmIodCxlLHIpe3ZhciBpLG4sYSxzPXQubGFiZWxzLG89VTtmb3IoaSBpbiBzKShuPXNbaV0tZSk8MD09ISFyJiZuJiZvPihuPU1hdGguYWJzKG4pKSYmKGE9aSxvPW4pO3JldHVybiBhfWZ1bmN0aW9uIHRiKHQpe3JldHVybiB6YSh0KSx0LnNjcm9sbFRyaWdnZXImJnQuc2Nyb2xsVHJpZ2dlci5raWxsKCEhTCksdC5wcm9ncmVzcygpPDEmJkN0KHQsIm9uSW50ZXJydXB0IiksdH1mdW5jdGlvbiB3Yih0KXtpZih0KWlmKHQ9IXQubmFtZSYmdC5kZWZhdWx0fHx0LHgoKXx8dC5oZWFkbGVzcyl7dmFyIGU9dC5uYW1lLHI9cyh0KSxpPWUmJiFyJiZ0LmluaXQ/ZnVuY3Rpb24oKXt0aGlzLl9wcm9wcz1bXX06dCxuPXtpbml0OlQscmVuZGVyOmhlLGFkZDpXdCxraWxsOmNlLG1vZGlmaWVyOmZlLHJhd1ZhcnM6MH0sYT17dGFyZ2V0VGVzdDowLGdldDowLGdldFNldHRlcjpuZSxhbGlhc2VzOnt9LHJlZ2lzdGVyOjB9O2lmKEZ0KCksdCE9PWkpe2lmKHB0W2VdKXJldHVybjtxYShpLHFhKHVhKHQsbiksYSkpLHl0KGkucHJvdG90eXBlLHl0KG4sdWEodCxhKSkpLHB0W2kucHJvcD1lXT1pLHQudGFyZ2V0VGVzdCYmKGd0LnB1c2goaSksZnRbZV09MSksZT0oImNzcyI9PT1lPyJDU1MiOmUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrZS5zdWJzdHIoMSkpKyJQbHVnaW4ifVMoZSxpKSx0LnJlZ2lzdGVyJiZ0LnJlZ2lzdGVyKHplLGksX2UpfWVsc2UgQXQucHVzaCh0KX1mdW5jdGlvbiB6Yih0LGUscil7cmV0dXJuKDYqKHQrPXQ8MD8xOjE8dD8tMTowKTwxP2UrKHItZSkqdCo2OnQ8LjU/cjozKnQ8Mj9lKyhyLWUpKigyLzMtdCkqNjplKSpTdCsuNXwwfWZ1bmN0aW9uIEFiKGUscixpKXt2YXIgbixhLHMsbyx1LGgsbCxmLGQsYyxwPWU/dChlKT9bZT4+MTYsZT4+OCZTdCxlJlN0XTowOnp0LmJsYWNrO2lmKCFwKXtpZigiLCI9PT1lLnN1YnN0cigtMSkmJihlPWUuc3Vic3RyKDAsZS5sZW5ndGgtMSkpLHp0W2VdKXA9enRbZV07ZWxzZSBpZigiIyI9PT1lLmNoYXJBdCgwKSl7aWYoZS5sZW5ndGg8NiYmKGU9IiMiKyhuPWUuY2hhckF0KDEpKStuKyhhPWUuY2hhckF0KDIpKSthKyhzPWUuY2hhckF0KDMpKStzKyg1PT09ZS5sZW5ndGg/ZS5jaGFyQXQoNCkrZS5jaGFyQXQoNCk6IiIpKSw5PT09ZS5sZW5ndGgpcmV0dXJuWyhwPXBhcnNlSW50KGUuc3Vic3RyKDEsNiksMTYpKT4+MTYscD4+OCZTdCxwJlN0LHBhcnNlSW50KGUuc3Vic3RyKDcpLDE2KS8yNTVdO3A9WyhlPXBhcnNlSW50KGUuc3Vic3RyKDEpLDE2KSk+PjE2LGU+PjgmU3QsZSZTdF19ZWxzZSBpZigiaHNsIj09PWUuc3Vic3RyKDAsMykpaWYocD1jPWUubWF0Y2godHQpLHIpe2lmKH5lLmluZGV4T2YoIj0iKSlyZXR1cm4gcD1lLm1hdGNoKGV0KSxpJiZwLmxlbmd0aDw0JiYocFszXT0xKSxwfWVsc2Ugbz0rcFswXSUzNjAvMzYwLHU9cFsxXS8xMDAsbj0yKihoPXBbMl0vMTAwKS0oYT1oPD0uNT9oKih1KzEpOmgrdS1oKnUpLDM8cC5sZW5ndGgmJihwWzNdKj0xKSxwWzBdPXpiKG8rMS8zLG4sYSkscFsxXT16YihvLG4sYSkscFsyXT16YihvLTEvMyxuLGEpO2Vsc2UgcD1lLm1hdGNoKHR0KXx8enQudHJhbnNwYXJlbnQ7cD1wLm1hcChOdW1iZXIpfXJldHVybiByJiYhYyYmKG49cFswXS9TdCxhPXBbMV0vU3Qscz1wWzJdL1N0LGg9KChsPU1hdGgubWF4KG4sYSxzKSkrKGY9TWF0aC5taW4obixhLHMpKSkvMixsPT09Zj9vPXU9MDooZD1sLWYsdT0uNTxoP2QvKDItbC1mKTpkLyhsK2YpLG89bD09PW4/KGEtcykvZCsoYTxzPzY6MCk6bD09PWE/KHMtbikvZCsyOihuLWEpL2QrNCxvKj02MCkscFswXT1+fihvKy41KSxwWzFdPX5+KDEwMCp1Ky41KSxwWzJdPX5+KDEwMCpoKy41KSksaSYmcC5sZW5ndGg8NCYmKHBbM109MSkscH1mdW5jdGlvbiBCYih0KXt2YXIgcj1bXSxpPVtdLG49LTE7cmV0dXJuIHQuc3BsaXQoRXQpLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dC5tYXRjaChydCl8fFtdO3IucHVzaC5hcHBseShyLGUpLGkucHVzaChuKz1lLmxlbmd0aCsxKX0pLHIuYz1pLHJ9ZnVuY3Rpb24gQ2IodCxlLHIpe3ZhciBpLG4sYSxzLG89IiIsdT0odCtvKS5tYXRjaChFdCksaD1lPyJoc2xhKCI6InJnYmEoIixsPTA7aWYoIXUpcmV0dXJuIHQ7aWYodT11Lm1hcChmdW5jdGlvbih0KXtyZXR1cm4odD1BYih0LGUsMSkpJiZoKyhlP3RbMF0rIiwiK3RbMV0rIiUsIit0WzJdKyIlLCIrdFszXTp0LmpvaW4oIiwiKSkrIikifSksciYmKGE9QmIodCksKGk9ci5jKS5qb2luKG8pIT09YS5jLmpvaW4obykpKWZvcihzPShuPXQucmVwbGFjZShFdCwiMSIpLnNwbGl0KHJ0KSkubGVuZ3RoLTE7bDxzO2wrKylvKz1uW2xdKyh+aS5pbmRleE9mKGwpP3Uuc2hpZnQoKXx8aCsiMCwwLDAsMCkiOihhLmxlbmd0aD9hOnUubGVuZ3RoP3U6cikuc2hpZnQoKSk7aWYoIW4pZm9yKHM9KG49dC5zcGxpdChFdCkpLmxlbmd0aC0xO2w8cztsKyspbys9bltsXSt1W2xdO3JldHVybiBvK25bc119ZnVuY3Rpb24gRmIodCl7dmFyIGUscj10LmpvaW4oIiAiKTtpZihFdC5sYXN0SW5kZXg9MCxFdC50ZXN0KHIpKXJldHVybiBlPUR0LnRlc3QociksdFsxXT1DYih0WzFdLGUpLHRbMF09Q2IodFswXSxlLEJiKHRbMV0pKSwhMH1mdW5jdGlvbiBPYih0KXt2YXIgZT0odCsiIikuc3BsaXQoIigiKSxyPUx0W2VbMF1dO3JldHVybiByJiYxPGUubGVuZ3RoJiZyLmNvbmZpZz9yLmNvbmZpZy5hcHBseShudWxsLH50LmluZGV4T2YoInsiKT9bZnVuY3Rpb24gX3BhcnNlT2JqZWN0SW5TdHJpbmcodCl7Zm9yKHZhciBlLHIsaSxuPXt9LGE9dC5zdWJzdHIoMSx0Lmxlbmd0aC0zKS5zcGxpdCgiOiIpLHM9YVswXSxvPTEsdT1hLmxlbmd0aDtvPHU7bysrKXI9YVtvXSxlPW8hPT11LTE/ci5sYXN0SW5kZXhPZigiLCIpOnIubGVuZ3RoLGk9ci5zdWJzdHIoMCxlKSxuW3NdPWlzTmFOKGkpP2kucmVwbGFjZShCdCwiIikudHJpbSgpOitpLHM9ci5zdWJzdHIoZSsxKS50cmltKCk7cmV0dXJuIG59KGVbMV0pXTpmdW5jdGlvbiBfdmFsdWVJblBhcmVudGhlc2VzKHQpe3ZhciBlPXQuaW5kZXhPZigiKCIpKzEscj10LmluZGV4T2YoIikiKSxpPXQuaW5kZXhPZigiKCIsZSk7cmV0dXJuIHQuc3Vic3RyaW5nKGUsfmkmJmk8cj90LmluZGV4T2YoIikiLHIrMSk6cil9KHQpLnNwbGl0KCIsIikubWFwKG9hKSk6THQuX0NFJiZJdC50ZXN0KHQpP0x0Ll9DRSgiIix0KTpyfWZ1bmN0aW9uIFFiKHQsZSl7Zm9yKHZhciByLGk9dC5fZmlyc3Q7aTspaSBpbnN0YW5jZW9mIFh0P1FiKGksZSk6IWkudmFycy55b3lvRWFzZXx8aS5feW95byYmaS5fcmVwZWF0fHxpLl95b3lvPT09ZXx8KGkudGltZWxpbmU/UWIoaS50aW1lbGluZSxlKToocj1pLl9lYXNlLGkuX2Vhc2U9aS5feUVhc2UsaS5feUVhc2U9cixpLl95b3lvPWUpKSxpPWkuX25leHR9ZnVuY3Rpb24gU2IodCxlLHIsaSl7dm9pZCAwPT09ciYmKHI9ZnVuY3Rpb24gZWFzZU91dCh0KXtyZXR1cm4gMS1lKDEtdCl9KSx2b2lkIDA9PT1pJiYoaT1mdW5jdGlvbiBlYXNlSW5PdXQodCl7cmV0dXJuIHQ8LjU/ZSgyKnQpLzI6MS1lKDIqKDEtdCkpLzJ9KTt2YXIgbixhPXtlYXNlSW46ZSxlYXNlT3V0OnIsZWFzZUluT3V0Oml9O3JldHVybiBoYSh0LGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiBMdFt0XT1vdFt0XT1hLEx0W249dC50b0xvd2VyQ2FzZSgpXT1yLGEpTHRbbisoImVhc2VJbiI9PT1lPyIuaW4iOiJlYXNlT3V0Ij09PWU/Ii5vdXQiOiIuaW5PdXQiKV09THRbdCsiLiIrZV09YVtlXX0pLGF9ZnVuY3Rpb24gVGIoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0PC41PygxLWUoMS0yKnQpKS8yOi41K2UoMioodC0uNSkpLzJ9fWZ1bmN0aW9uIFViKHIsdCxlKXtmdW5jdGlvbiBKbSh0KXtyZXR1cm4gMT09PXQ/MTppKk1hdGgucG93KDIsLTEwKnQpKkgoKHQtYSkqbikrMX12YXIgaT0xPD10P3Q6MSxuPShlfHwocj8uMzouNDUpKS8odDwxP3Q6MSksYT1uL04qKE1hdGguYXNpbigxL2kpfHwwKSxzPSJvdXQiPT09cj9KbToiaW4iPT09cj9mdW5jdGlvbih0KXtyZXR1cm4gMS1KbSgxLXQpfTpUYihKbSk7cmV0dXJuIG49Ti9uLHMuY29uZmlnPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFViKHIsdCxlKX0sc31mdW5jdGlvbiBWYihlLHIpe2Z1bmN0aW9uIFJtKHQpe3JldHVybiB0Py0tdCp0KigocisxKSp0K3IpKzE6MH12b2lkIDA9PT1yJiYocj0xLjcwMTU4KTt2YXIgdD0ib3V0Ij09PWU/Um06ImluIj09PWU/ZnVuY3Rpb24odCl7cmV0dXJuIDEtUm0oMS10KX06VGIoUm0pO3JldHVybiB0LmNvbmZpZz1mdW5jdGlvbih0KXtyZXR1cm4gVmIoZSx0KX0sdH12YXIgRixMLGwsSSxoLG4sYSxpLG8sZixkLGMscCxfLG0sZyxiLE8sayxNLEMsQSx6LEUsRCxCLFksaixxPXthdXRvU2xlZXA6MTIwLGZvcmNlM0Q6ImF1dG8iLG51bGxUYXJnZXRXYXJuOjEsdW5pdHM6e2xpbmVIZWlnaHQ6IiJ9fSxWPXtkdXJhdGlvbjouNSxvdmVyd3JpdGU6ITEsZGVsYXk6MH0sVT0xZTgsWD0xL1UsTj0yKk1hdGguUEksRz1OLzQsVz0wLEs9TWF0aC5zcXJ0LEo9TWF0aC5jb3MsSD1NYXRoLnNpbiwkPSJmdW5jdGlvbiI9PXR5cGVvZiBBcnJheUJ1ZmZlciYmQXJyYXlCdWZmZXIuaXNWaWV3fHxmdW5jdGlvbigpe30sWj1BcnJheS5pc0FycmF5LHR0PS8oPzotP1wuP1xkfFwuKSsvZ2ksZXQ9L1stKz0uXSpcZCtbLmVcLStdKlxkKltlXC0rXSpcZCovZyxydD0vWy0rPS5dKlxkK1suZS1dKlxkKlthLXolXSovZyxpdD0vWy0rPS5dKlxkK1wuP1xkKig/OmUtfGVcKyk/XGQqL2dpLG50PS9bKy1dPS0/Wy5cZF0rLyxhdD0vW14sJyJcW1xdXHNdKy9naSxzdD0vXlsrXC09ZVxzXGRdKlxkK1suXGRdKihbYS16XSp8JSlccyokL2ksb3Q9e30sdXQ9e3N1cHByZXNzRXZlbnRzOiEwLGlzU3RhcnQ6ITAsa2lsbDohMX0saHQ9e3N1cHByZXNzRXZlbnRzOiEwLGtpbGw6ITF9LGx0PXtzdXBwcmVzc0V2ZW50czohMH0sZnQ9e30sZHQ9W10sY3Q9e30scHQ9e30sX3Q9e30sbXQ9MzAsZ3Q9W10sdnQ9IiIseXQ9ZnVuY3Rpb24gX21lcmdlKHQsZSl7Zm9yKHZhciByIGluIGUpdFtyXT1lW3JdO3JldHVybiB0fSxUdD1mdW5jdGlvbiBfYW5pbWF0aW9uQ3ljbGUodCxlKXt2YXIgcj1NYXRoLmZsb29yKHQvPWUpO3JldHVybiB0JiZyPT09dD9yLTE6cn0sYnQ9ZnVuY3Rpb24gX2lzRnJvbU9yRnJvbVN0YXJ0KHQpe3ZhciBlPXQuZGF0YTtyZXR1cm4iaXNGcm9tU3RhcnQiPT09ZXx8ImlzU3RhcnQiPT09ZX0sd3Q9e19zdGFydDowLGVuZFRpbWU6VCx0b3RhbER1cmF0aW9uOlR9LHh0PWZ1bmN0aW9uIF9wYXJzZVBvc2l0aW9uKHQsZSxpKXt2YXIgbixhLHMsbz10LmxhYmVscyx1PXQuX3JlY2VudHx8d3QsaD10LmR1cmF0aW9uKCk+PVU/dS5lbmRUaW1lKCExKTp0Ll9kdXI7cmV0dXJuIHIoZSkmJihpc05hTihlKXx8ZSBpbiBvKT8oYT1lLmNoYXJBdCgwKSxzPSIlIj09PWUuc3Vic3RyKC0xKSxuPWUuaW5kZXhPZigiPSIpLCI8Ij09PWF8fCI+Ij09PWE/KDA8PW4mJihlPWUucmVwbGFjZSgvPS8sIiIpKSwoIjwiPT09YT91Ll9zdGFydDp1LmVuZFRpbWUoMDw9dS5fcmVwZWF0KSkrKHBhcnNlRmxvYXQoZS5zdWJzdHIoMSkpfHwwKSoocz8objwwP3U6aSkudG90YWxEdXJhdGlvbigpLzEwMDoxKSk6bjwwPyhlIGluIG98fChvW2VdPWgpLG9bZV0pOihhPXBhcnNlRmxvYXQoZS5jaGFyQXQobi0xKStlLnN1YnN0cihuKzEpKSxzJiZpJiYoYT1hLzEwMCooWihpKT9pWzBdOmkpLnRvdGFsRHVyYXRpb24oKSksMTxuP19wYXJzZVBvc2l0aW9uKHQsZS5zdWJzdHIoMCxuLTEpLGkpK2E6aCthKSk6bnVsbD09ZT9oOitlfSxPdD1mdW5jdGlvbiBfY2xhbXAodCxlLHIpe3JldHVybiByPHQ/dDplPHI/ZTpyfSxrdD1bXS5zbGljZSxNdD1mdW5jdGlvbiB0b0FycmF5KHQsZSxpKXtyZXR1cm4gbCYmIWUmJmwuc2VsZWN0b3I/bC5zZWxlY3Rvcih0KTohcih0KXx8aXx8IW4mJkZ0KCk/Wih0KT9mdW5jdGlvbiBfZmxhdHRlbih0LGUsaSl7cmV0dXJuIHZvaWQgMD09PWkmJihpPVtdKSx0LmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIHIodCkmJiFlfHxfYSh0LDEpP2kucHVzaC5hcHBseShpLE10KHQpKTppLnB1c2godCl9KXx8aX0odCxpKTpfYSh0KT9rdC5jYWxsKHQsMCk6dD9bdF06W106a3QuY2FsbCgoZXx8YSkucXVlcnlTZWxlY3RvckFsbCh0KSwwKX0sUHQ9ZnVuY3Rpb24gbWFwUmFuZ2UoZSx0LHIsaSxuKXt2YXIgYT10LWUscz1pLXI7cmV0dXJuIFdhKG4sZnVuY3Rpb24odCl7cmV0dXJuIHIrKCh0LWUpL2Eqc3x8MCl9KX0sQ3Q9ZnVuY3Rpb24gX2NhbGxiYWNrKHQsZSxyKXt2YXIgaSxuLGEscz10LnZhcnMsbz1zW2VdLHU9bCxoPXQuX2N0eDtpZihvKXJldHVybiBpPXNbZSsiUGFyYW1zIl0sbj1zLmNhbGxiYWNrU2NvcGV8fHQsciYmZHQubGVuZ3RoJiZtYSgpLGgmJihsPWgpLGE9aT9vLmFwcGx5KG4saSk6by5jYWxsKG4pLGw9dSxhfSxBdD1bXSxTdD0yNTUsenQ9e2FxdWE6WzAsU3QsU3RdLGxpbWU6WzAsU3QsMF0sc2lsdmVyOlsxOTIsMTkyLDE5Ml0sYmxhY2s6WzAsMCwwXSxtYXJvb246WzEyOCwwLDBdLHRlYWw6WzAsMTI4LDEyOF0sYmx1ZTpbMCwwLFN0XSxuYXZ5OlswLDAsMTI4XSx3aGl0ZTpbU3QsU3QsU3RdLG9saXZlOlsxMjgsMTI4LDBdLHllbGxvdzpbU3QsU3QsMF0sb3JhbmdlOltTdCwxNjUsMF0sZ3JheTpbMTI4LDEyOCwxMjhdLHB1cnBsZTpbMTI4LDAsMTI4XSxncmVlbjpbMCwxMjgsMF0scmVkOltTdCwwLDBdLHBpbms6W1N0LDE5MiwyMDNdLGN5YW46WzAsU3QsU3RdLHRyYW5zcGFyZW50OltTdCxTdCxTdCwwXX0sRXQ9ZnVuY3Rpb24oKXt2YXIgdCxlPSIoPzpcXGIoPzooPzpyZ2J8cmdiYXxoc2x8aHNsYSlcXCguKz9cXCkpfFxcQiMoPzpbMC05YS1mXXszLDR9KXsxLDJ9XFxiIjtmb3IodCBpbiB6dCllKz0ifCIrdCsiXFxiIjtyZXR1cm4gbmV3IFJlZ0V4cChlKyIpIiwiZ2kiKX0oKSxEdD0vaHNsW2FdP1woLyxSdD0oaz1EYXRlLm5vdyxNPTUwMCxDPTMzLEE9aygpLHo9QSxEPUU9MWUzLzI0MCxnPXt0aW1lOjAsZnJhbWU6MCx0aWNrOmZ1bmN0aW9uIHRpY2soKXt5bCghMCl9LGRlbHRhUmF0aW86ZnVuY3Rpb24gZGVsdGFSYXRpbyh0KXtyZXR1cm4gYi8oMWUzLyh0fHw2MCkpfSx3YWtlOmZ1bmN0aW9uIHdha2UoKXtvJiYoIW4mJngoKSYmKGg9bj13aW5kb3csYT1oLmRvY3VtZW50fHx7fSxvdC5nc2FwPXplLChoLmdzYXBWZXJzaW9uc3x8KGguZ3NhcFZlcnNpb25zPVtdKSkucHVzaCh6ZS52ZXJzaW9uKSxQKGl8fGguR3JlZW5Tb2NrR2xvYmFsc3x8IWguZ3NhcCYmaHx8e30pLEF0LmZvckVhY2god2IpKSxtPSJ1bmRlZmluZWQiIT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUscCYmZy5zbGVlcCgpLF89bXx8ZnVuY3Rpb24odCl7cmV0dXJuIHNldFRpbWVvdXQodCxELTFlMypnLnRpbWUrMXwwKX0sYz0xLHlsKDIpKX0sc2xlZXA6ZnVuY3Rpb24gc2xlZXAoKXsobT9jYW5jZWxBbmltYXRpb25GcmFtZTpjbGVhclRpbWVvdXQpKHApLGM9MCxfPVR9LGxhZ1Ntb290aGluZzpmdW5jdGlvbiBsYWdTbW9vdGhpbmcodCxlKXtNPXR8fDEvMCxDPU1hdGgubWluKGV8fDMzLE0pfSxmcHM6ZnVuY3Rpb24gZnBzKHQpe0U9MWUzLyh0fHwyNDApLEQ9MWUzKmcudGltZStFfSxhZGQ6ZnVuY3Rpb24gYWRkKG4sdCxlKXt2YXIgYT10P2Z1bmN0aW9uKHQsZSxyLGkpe24odCxlLHIsaSksZy5yZW1vdmUoYSl9Om47cmV0dXJuIGcucmVtb3ZlKG4pLEJbZT8idW5zaGlmdCI6InB1c2giXShhKSxGdCgpLGF9LHJlbW92ZTpmdW5jdGlvbiByZW1vdmUodCxlKXt+KGU9Qi5pbmRleE9mKHQpKSYmQi5zcGxpY2UoZSwxKSYmZTw9TyYmTy0tfSxfbGlzdGVuZXJzOkI9W119KSxGdD1mdW5jdGlvbiBfd2FrZSgpe3JldHVybiFjJiZSdC53YWtlKCl9LEx0PXt9LEl0PS9eW1xkLlwtTV1bXGQuXC0sXHNdLyxCdD0vWyInXS9nLFl0PWZ1bmN0aW9uIF9pbnZlcnRFYXNlKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gMS1lKDEtdCl9fSxqdD1mdW5jdGlvbiBfcGFyc2VFYXNlKHQsZSl7cmV0dXJuIHQmJihzKHQpP3Q6THRbdF18fE9iKHQpKXx8ZX07ZnVuY3Rpb24geWwodCl7dmFyIGUscixpLG4sYT1rKCkteixzPSEwPT09dDtpZigoTTxhfHxhPDApJiYoQSs9YS1DKSwoMDwoZT0oaT0oeis9YSktQSktRCl8fHMpJiYobj0rK2cuZnJhbWUsYj1pLTFlMypnLnRpbWUsZy50aW1lPWkvPTFlMyxEKz1lKyhFPD1lPzQ6RS1lKSxyPTEpLHN8fChwPV8oeWwpKSxyKWZvcihPPTA7TzxCLmxlbmd0aDtPKyspQltPXShpLGIsbix0KX1mdW5jdGlvbiBnbih0KXtyZXR1cm4gdDxqP1kqdCp0OnQ8LjcyNzI3MjcyNzI3MjcyNzM/WSpNYXRoLnBvdyh0LTEuNS8yLjc1LDIpKy43NTp0PC45MDkwOTA5MDkwOTA5MDkyP1kqKHQtPTIuMjUvMi43NSkqdCsuOTM3NTpZKk1hdGgucG93KHQtMi42MjUvMi43NSwyKSsuOTg0Mzc1fWhhKCJMaW5lYXIsUXVhZCxDdWJpYyxRdWFydCxRdWludCxTdHJvbmciLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZTw1P2UrMTplO1NiKHQrIixQb3dlciIrKHItMSksZT9mdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5wb3codCxyKX06ZnVuY3Rpb24odCl7cmV0dXJuIHR9LGZ1bmN0aW9uKHQpe3JldHVybiAxLU1hdGgucG93KDEtdCxyKX0sZnVuY3Rpb24odCl7cmV0dXJuIHQ8LjU/TWF0aC5wb3coMip0LHIpLzI6MS1NYXRoLnBvdygyKigxLXQpLHIpLzJ9KX0pLEx0LkxpbmVhci5lYXNlTm9uZT1MdC5ub25lPUx0LkxpbmVhci5lYXNlSW4sU2IoIkVsYXN0aWMiLFViKCJpbiIpLFViKCJvdXQiKSxVYigpKSxZPTcuNTYyNSxqPTEvMi43NSxTYigiQm91bmNlIixmdW5jdGlvbih0KXtyZXR1cm4gMS1nbigxLXQpfSxnbiksU2IoIkV4cG8iLGZ1bmN0aW9uKHQpe3JldHVybiB0P01hdGgucG93KDIsMTAqKHQtMSkpOjB9KSxTYigiQ2lyYyIsZnVuY3Rpb24odCl7cmV0dXJuLShLKDEtdCp0KS0xKX0pLFNiKCJTaW5lIixmdW5jdGlvbih0KXtyZXR1cm4gMT09PXQ/MToxLUoodCpHKX0pLFNiKCJCYWNrIixWYigiaW4iKSxWYigib3V0IiksVmIoKSksTHQuU3RlcHBlZEVhc2U9THQuc3RlcHM9b3QuU3RlcHBlZEVhc2U9e2NvbmZpZzpmdW5jdGlvbiBjb25maWcodCxlKXt2b2lkIDA9PT10JiYodD0xKTt2YXIgcj0xL3QsaT10KyhlPzA6MSksbj1lPzE6MDtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuKChpKk90KDAsLjk5OTk5OTk5LHQpfDApK24pKnJ9fX0sVi5lYXNlPUx0WyJxdWFkLm91dCJdLGhhKCJvbkNvbXBsZXRlLG9uVXBkYXRlLG9uU3RhcnQsb25SZXBlYXQsb25SZXZlcnNlQ29tcGxldGUsb25JbnRlcnJ1cHQiLGZ1bmN0aW9uKHQpe3JldHVybiB2dCs9dCsiLCIrdCsiUGFyYW1zLCJ9KTt2YXIgcXQsVnQ9ZnVuY3Rpb24gR1NDYWNoZSh0LGUpe3RoaXMuaWQ9VysrLCh0Ll9nc2FwPXRoaXMpLnRhcmdldD10LHRoaXMuaGFybmVzcz1lLHRoaXMuZ2V0PWU/ZS5nZXQ6Z2EsdGhpcy5zZXQ9ZT9lLmdldFNldHRlcjpuZX0sVXQ9KChxdD1BbmltYXRpb24ucHJvdG90eXBlKS5kZWxheT1mdW5jdGlvbiBkZWxheSh0KXtyZXR1cm4gdHx8MD09PXQ/KHRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC5zbW9vdGhDaGlsZFRpbWluZyYmdGhpcy5zdGFydFRpbWUodGhpcy5fc3RhcnQrdC10aGlzLl9kZWxheSksdGhpcy5fZGVsYXk9dCx0aGlzKTp0aGlzLl9kZWxheX0scXQuZHVyYXRpb249ZnVuY3Rpb24gZHVyYXRpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy50b3RhbER1cmF0aW9uKDA8dGhpcy5fcmVwZWF0P3QrKHQrdGhpcy5fckRlbGF5KSp0aGlzLl9yZXBlYXQ6dCk6dGhpcy50b3RhbER1cmF0aW9uKCkmJnRoaXMuX2R1cn0scXQudG90YWxEdXJhdGlvbj1mdW5jdGlvbiB0b3RhbER1cmF0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl9kaXJ0eT0wLFJhKHRoaXMsdGhpcy5fcmVwZWF0PDA/dDoodC10aGlzLl9yZXBlYXQqdGhpcy5fckRlbGF5KS8odGhpcy5fcmVwZWF0KzEpKSk6dGhpcy5fdER1cn0scXQudG90YWxUaW1lPWZ1bmN0aW9uIHRvdGFsVGltZSh0LGUpe2lmKEZ0KCksIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuX3RUaW1lO3ZhciByPXRoaXMuX2RwO2lmKHImJnIuc21vb3RoQ2hpbGRUaW1pbmcmJnRoaXMuX3RzKXtmb3IoSWEodGhpcyx0KSwhci5fZHB8fHIucGFyZW50fHxKYShyLHRoaXMpO3ImJnIucGFyZW50OylyLnBhcmVudC5fdGltZSE9PXIuX3N0YXJ0KygwPD1yLl90cz9yLl90VGltZS9yLl90czooci50b3RhbER1cmF0aW9uKCktci5fdFRpbWUpLy1yLl90cykmJnIudG90YWxUaW1lKHIuX3RUaW1lLCEwKSxyPXIucGFyZW50OyF0aGlzLnBhcmVudCYmdGhpcy5fZHAuYXV0b1JlbW92ZUNoaWxkcmVuJiYoMDx0aGlzLl90cyYmdDx0aGlzLl90RHVyfHx0aGlzLl90czwwJiYwPHR8fCF0aGlzLl90RHVyJiYhdCkmJkthKHRoaXMuX2RwLHRoaXMsdGhpcy5fc3RhcnQtdGhpcy5fZGVsYXkpfXJldHVybih0aGlzLl90VGltZSE9PXR8fCF0aGlzLl9kdXImJiFlfHx0aGlzLl9pbml0dGVkJiZNYXRoLmFicyh0aGlzLl96VGltZSk9PT1YfHwhdCYmIXRoaXMuX2luaXR0ZWQmJih0aGlzLmFkZHx8dGhpcy5fcHRMb29rdXApKSYmKHRoaXMuX3RzfHwodGhpcy5fcFRpbWU9dCksbmEodGhpcyx0LGUpKSx0aGlzfSxxdC50aW1lPWZ1bmN0aW9uIHRpbWUodCxlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLnRvdGFsVGltZShNYXRoLm1pbih0aGlzLnRvdGFsRHVyYXRpb24oKSx0K0VhKHRoaXMpKSUodGhpcy5fZHVyK3RoaXMuX3JEZWxheSl8fCh0P3RoaXMuX2R1cjowKSxlKTp0aGlzLl90aW1lfSxxdC50b3RhbFByb2dyZXNzPWZ1bmN0aW9uIHRvdGFsUHJvZ3Jlc3ModCxlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLnRvdGFsVGltZSh0aGlzLnRvdGFsRHVyYXRpb24oKSp0LGUpOnRoaXMudG90YWxEdXJhdGlvbigpP01hdGgubWluKDEsdGhpcy5fdFRpbWUvdGhpcy5fdER1cik6MDx0aGlzLnJhd1RpbWUoKT8xOjB9LHF0LnByb2dyZXNzPWZ1bmN0aW9uIHByb2dyZXNzKHQsZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy50b3RhbFRpbWUodGhpcy5kdXJhdGlvbigpKighdGhpcy5feW95b3x8MSZ0aGlzLml0ZXJhdGlvbigpP3Q6MS10KStFYSh0aGlzKSxlKTp0aGlzLmR1cmF0aW9uKCk/TWF0aC5taW4oMSx0aGlzLl90aW1lL3RoaXMuX2R1cik6MDx0aGlzLnJhd1RpbWUoKT8xOjB9LHF0Lml0ZXJhdGlvbj1mdW5jdGlvbiBpdGVyYXRpb24odCxlKXt2YXIgcj10aGlzLmR1cmF0aW9uKCkrdGhpcy5fckRlbGF5O3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMudG90YWxUaW1lKHRoaXMuX3RpbWUrKHQtMSkqcixlKTp0aGlzLl9yZXBlYXQ/VHQodGhpcy5fdFRpbWUscikrMToxfSxxdC50aW1lU2NhbGU9ZnVuY3Rpb24gdGltZVNjYWxlKHQsZSl7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuX3J0cz09PS1YPzA6dGhpcy5fcnRzO2lmKHRoaXMuX3J0cz09PXQpcmV0dXJuIHRoaXM7dmFyIHI9dGhpcy5wYXJlbnQmJnRoaXMuX3RzP0dhKHRoaXMucGFyZW50Ll90aW1lLHRoaXMpOnRoaXMuX3RUaW1lO3JldHVybiB0aGlzLl9ydHM9K3R8fDAsdGhpcy5fdHM9dGhpcy5fcHN8fHQ9PT0tWD8wOnRoaXMuX3J0cyx0aGlzLnRvdGFsVGltZShPdCgtTWF0aC5hYnModGhpcy5fZGVsYXkpLHRoaXMuX3REdXIsciksITEhPT1lKSxIYSh0aGlzKSxmdW5jdGlvbiBfcmVjYWNoZUFuY2VzdG9ycyh0KXtmb3IodmFyIGU9dC5wYXJlbnQ7ZSYmZS5wYXJlbnQ7KWUuX2RpcnR5PTEsZS50b3RhbER1cmF0aW9uKCksZT1lLnBhcmVudDtyZXR1cm4gdH0odGhpcyl9LHF0LnBhdXNlZD1mdW5jdGlvbiBwYXVzZWQodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3BzIT09dCYmKCh0aGlzLl9wcz10KT8odGhpcy5fcFRpbWU9dGhpcy5fdFRpbWV8fE1hdGgubWF4KC10aGlzLl9kZWxheSx0aGlzLnJhd1RpbWUoKSksdGhpcy5fdHM9dGhpcy5fYWN0PTApOihGdCgpLHRoaXMuX3RzPXRoaXMuX3J0cyx0aGlzLnRvdGFsVGltZSh0aGlzLnBhcmVudCYmIXRoaXMucGFyZW50LnNtb290aENoaWxkVGltaW5nP3RoaXMucmF3VGltZSgpOnRoaXMuX3RUaW1lfHx0aGlzLl9wVGltZSwxPT09dGhpcy5wcm9ncmVzcygpJiZNYXRoLmFicyh0aGlzLl96VGltZSkhPT1YJiYodGhpcy5fdFRpbWUtPVgpKSkpLHRoaXMpOnRoaXMuX3BzfSxxdC5zdGFydFRpbWU9ZnVuY3Rpb24gc3RhcnRUaW1lKHQpe2lmKGFyZ3VtZW50cy5sZW5ndGgpe3RoaXMuX3N0YXJ0PXQ7dmFyIGU9dGhpcy5wYXJlbnR8fHRoaXMuX2RwO3JldHVybiFlfHwhZS5fc29ydCYmdGhpcy5wYXJlbnR8fEthKGUsdGhpcyx0LXRoaXMuX2RlbGF5KSx0aGlzfXJldHVybiB0aGlzLl9zdGFydH0scXQuZW5kVGltZT1mdW5jdGlvbiBlbmRUaW1lKHQpe3JldHVybiB0aGlzLl9zdGFydCsodyh0KT90aGlzLnRvdGFsRHVyYXRpb24oKTp0aGlzLmR1cmF0aW9uKCkpL01hdGguYWJzKHRoaXMuX3RzfHwxKX0scXQucmF3VGltZT1mdW5jdGlvbiByYXdUaW1lKHQpe3ZhciBlPXRoaXMucGFyZW50fHx0aGlzLl9kcDtyZXR1cm4gZT90JiYoIXRoaXMuX3RzfHx0aGlzLl9yZXBlYXQmJnRoaXMuX3RpbWUmJnRoaXMudG90YWxQcm9ncmVzcygpPDEpP3RoaXMuX3RUaW1lJSh0aGlzLl9kdXIrdGhpcy5fckRlbGF5KTp0aGlzLl90cz9HYShlLnJhd1RpbWUodCksdGhpcyk6dGhpcy5fdFRpbWU6dGhpcy5fdFRpbWV9LHF0LnJldmVydD1mdW5jdGlvbiByZXZlcnQodCl7dm9pZCAwPT09dCYmKHQ9bHQpO3ZhciBlPUw7cmV0dXJuIEw9dCwodGhpcy5faW5pdHRlZHx8dGhpcy5fc3RhcnRBdCkmJih0aGlzLnRpbWVsaW5lJiZ0aGlzLnRpbWVsaW5lLnJldmVydCh0KSx0aGlzLnRvdGFsVGltZSgtLjAxLHQuc3VwcHJlc3NFdmVudHMpKSwibmVzdGVkIiE9PXRoaXMuZGF0YSYmITEhPT10LmtpbGwmJnRoaXMua2lsbCgpLEw9ZSx0aGlzfSxxdC5nbG9iYWxUaW1lPWZ1bmN0aW9uIGdsb2JhbFRpbWUodCl7Zm9yKHZhciBlPXRoaXMscj1hcmd1bWVudHMubGVuZ3RoP3Q6ZS5yYXdUaW1lKCk7ZTspcj1lLl9zdGFydCtyLyhNYXRoLmFicyhlLl90cyl8fDEpLGU9ZS5fZHA7cmV0dXJuIXRoaXMucGFyZW50JiZ0aGlzLl9zYXQ/dGhpcy5fc2F0Lmdsb2JhbFRpbWUodCk6cn0scXQucmVwZWF0PWZ1bmN0aW9uIHJlcGVhdCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5fcmVwZWF0PXQ9PT0xLzA/LTI6dCxTYSh0aGlzKSk6LTI9PT10aGlzLl9yZXBlYXQ/MS8wOnRoaXMuX3JlcGVhdH0scXQucmVwZWF0RGVsYXk9ZnVuY3Rpb24gcmVwZWF0RGVsYXkodCl7aWYoYXJndW1lbnRzLmxlbmd0aCl7dmFyIGU9dGhpcy5fdGltZTtyZXR1cm4gdGhpcy5fckRlbGF5PXQsU2EodGhpcyksZT90aGlzLnRpbWUoZSk6dGhpc31yZXR1cm4gdGhpcy5fckRlbGF5fSxxdC55b3lvPWZ1bmN0aW9uIHlveW8odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3lveW89dCx0aGlzKTp0aGlzLl95b3lvfSxxdC5zZWVrPWZ1bmN0aW9uIHNlZWsodCxlKXtyZXR1cm4gdGhpcy50b3RhbFRpbWUoeHQodGhpcyx0KSx3KGUpKX0scXQucmVzdGFydD1mdW5jdGlvbiByZXN0YXJ0KHQsZSl7cmV0dXJuIHRoaXMucGxheSgpLnRvdGFsVGltZSh0Py10aGlzLl9kZWxheTowLHcoZSkpfSxxdC5wbGF5PWZ1bmN0aW9uIHBsYXkodCxlKXtyZXR1cm4gbnVsbCE9dCYmdGhpcy5zZWVrKHQsZSksdGhpcy5yZXZlcnNlZCghMSkucGF1c2VkKCExKX0scXQucmV2ZXJzZT1mdW5jdGlvbiByZXZlcnNlKHQsZSl7cmV0dXJuIG51bGwhPXQmJnRoaXMuc2Vlayh0fHx0aGlzLnRvdGFsRHVyYXRpb24oKSxlKSx0aGlzLnJldmVyc2VkKCEwKS5wYXVzZWQoITEpfSxxdC5wYXVzZT1mdW5jdGlvbiBwYXVzZSh0LGUpe3JldHVybiBudWxsIT10JiZ0aGlzLnNlZWsodCxlKSx0aGlzLnBhdXNlZCghMCl9LHF0LnJlc3VtZT1mdW5jdGlvbiByZXN1bWUoKXtyZXR1cm4gdGhpcy5wYXVzZWQoITEpfSxxdC5yZXZlcnNlZD1mdW5jdGlvbiByZXZlcnNlZCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oISF0IT09dGhpcy5yZXZlcnNlZCgpJiZ0aGlzLnRpbWVTY2FsZSgtdGhpcy5fcnRzfHwodD8tWDowKSksdGhpcyk6dGhpcy5fcnRzPDB9LHF0LmludmFsaWRhdGU9ZnVuY3Rpb24gaW52YWxpZGF0ZSgpe3JldHVybiB0aGlzLl9pbml0dGVkPXRoaXMuX2FjdD0wLHRoaXMuX3pUaW1lPS1YLHRoaXN9LHF0LmlzQWN0aXZlPWZ1bmN0aW9uIGlzQWN0aXZlKCl7dmFyIHQsZT10aGlzLnBhcmVudHx8dGhpcy5fZHAscj10aGlzLl9zdGFydDtyZXR1cm4hKGUmJiEodGhpcy5fdHMmJnRoaXMuX2luaXR0ZWQmJmUuaXNBY3RpdmUoKSYmKHQ9ZS5yYXdUaW1lKCEwKSk+PXImJnQ8dGhpcy5lbmRUaW1lKCEwKS1YKSl9LHF0LmV2ZW50Q2FsbGJhY2s9ZnVuY3Rpb24gZXZlbnRDYWxsYmFjayh0LGUscil7dmFyIGk9dGhpcy52YXJzO3JldHVybiAxPGFyZ3VtZW50cy5sZW5ndGg/KGU/KGlbdF09ZSxyJiYoaVt0KyJQYXJhbXMiXT1yKSwib25VcGRhdGUiPT09dCYmKHRoaXMuX29uVXBkYXRlPWUpKTpkZWxldGUgaVt0XSx0aGlzKTppW3RdfSxxdC50aGVuPWZ1bmN0aW9uIHRoZW4odCl7dmFyIGk9dGhpcztyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gQ28oKXt2YXIgdD1pLnRoZW47aS50aGVuPW51bGwscyhyKSYmKHI9cihpKSkmJihyLnRoZW58fHI9PT1pKSYmKGkudGhlbj10KSxlKHIpLGkudGhlbj10fXZhciByPXModCk/dDpwYTtpLl9pbml0dGVkJiYxPT09aS50b3RhbFByb2dyZXNzKCkmJjA8PWkuX3RzfHwhaS5fdFRpbWUmJmkuX3RzPDA/Q28oKTppLl9wcm9tPUNvfSl9LHF0LmtpbGw9ZnVuY3Rpb24ga2lsbCgpe3RiKHRoaXMpfSxBbmltYXRpb24pO2Z1bmN0aW9uIEFuaW1hdGlvbih0KXt0aGlzLnZhcnM9dCx0aGlzLl9kZWxheT0rdC5kZWxheXx8MCwodGhpcy5fcmVwZWF0PXQucmVwZWF0PT09MS8wPy0yOnQucmVwZWF0fHwwKSYmKHRoaXMuX3JEZWxheT10LnJlcGVhdERlbGF5fHwwLHRoaXMuX3lveW89ISF0LnlveW98fCEhdC55b3lvRWFzZSksdGhpcy5fdHM9MSxSYSh0aGlzLCt0LmR1cmF0aW9uLDEsMSksdGhpcy5kYXRhPXQuZGF0YSxsJiYodGhpcy5fY3R4PWwpLmRhdGEucHVzaCh0aGlzKSxjfHxSdC53YWtlKCl9cWEoVXQucHJvdG90eXBlLHtfdGltZTowLF9zdGFydDowLF9lbmQ6MCxfdFRpbWU6MCxfdER1cjowLF9kaXJ0eTowLF9yZXBlYXQ6MCxfeW95bzohMSxwYXJlbnQ6bnVsbCxfaW5pdHRlZDohMSxfckRlbGF5OjAsX3RzOjEsX2RwOjAscmF0aW86MCxfelRpbWU6LVgsX3Byb206MCxfcHM6ITEsX3J0czoxfSk7dmFyIFh0PWZ1bmN0aW9uKGkpe2Z1bmN0aW9uIFRpbWVsaW5lKHQsZSl7dmFyIHI7cmV0dXJuIHZvaWQgMD09PXQmJih0PXt9KSwocj1pLmNhbGwodGhpcyx0KXx8dGhpcykubGFiZWxzPXt9LHIuc21vb3RoQ2hpbGRUaW1pbmc9ISF0LnNtb290aENoaWxkVGltaW5nLHIuYXV0b1JlbW92ZUNoaWxkcmVuPSEhdC5hdXRvUmVtb3ZlQ2hpbGRyZW4sci5fc29ydD13KHQuc29ydENoaWxkcmVuKSxJJiZLYSh0LnBhcmVudHx8SSxfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHIpLGUpLHQucmV2ZXJzZWQmJnIucmV2ZXJzZSgpLHQucGF1c2VkJiZyLnBhdXNlZCghMCksdC5zY3JvbGxUcmlnZ2VyJiZMYShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHIpLHQuc2Nyb2xsVHJpZ2dlcikscn1faW5oZXJpdHNMb29zZShUaW1lbGluZSxpKTt2YXIgZT1UaW1lbGluZS5wcm90b3R5cGU7cmV0dXJuIGUudG89ZnVuY3Rpb24gdG8odCxlLHIpe3JldHVybiBWYSgwLGFyZ3VtZW50cyx0aGlzKSx0aGlzfSxlLmZyb209ZnVuY3Rpb24gZnJvbSh0LGUscil7cmV0dXJuIFZhKDEsYXJndW1lbnRzLHRoaXMpLHRoaXN9LGUuZnJvbVRvPWZ1bmN0aW9uIGZyb21Ubyh0LGUscixpKXtyZXR1cm4gVmEoMixhcmd1bWVudHMsdGhpcyksdGhpc30sZS5zZXQ9ZnVuY3Rpb24gc2V0KHQsZSxyKXtyZXR1cm4gZS5kdXJhdGlvbj0wLGUucGFyZW50PXRoaXMsdmEoZSkucmVwZWF0RGVsYXl8fChlLnJlcGVhdD0wKSxlLmltbWVkaWF0ZVJlbmRlcj0hIWUuaW1tZWRpYXRlUmVuZGVyLG5ldyAkdCh0LGUseHQodGhpcyxyKSwxKSx0aGlzfSxlLmNhbGw9ZnVuY3Rpb24gY2FsbCh0LGUscil7cmV0dXJuIEthKHRoaXMsJHQuZGVsYXllZENhbGwoMCx0LGUpLHIpfSxlLnN0YWdnZXJUbz1mdW5jdGlvbiBzdGFnZ2VyVG8odCxlLHIsaSxuLGEscyl7cmV0dXJuIHIuZHVyYXRpb249ZSxyLnN0YWdnZXI9ci5zdGFnZ2VyfHxpLHIub25Db21wbGV0ZT1hLHIub25Db21wbGV0ZVBhcmFtcz1zLHIucGFyZW50PXRoaXMsbmV3ICR0KHQscix4dCh0aGlzLG4pKSx0aGlzfSxlLnN0YWdnZXJGcm9tPWZ1bmN0aW9uIHN0YWdnZXJGcm9tKHQsZSxyLGksbixhLHMpe3JldHVybiByLnJ1bkJhY2t3YXJkcz0xLHZhKHIpLmltbWVkaWF0ZVJlbmRlcj13KHIuaW1tZWRpYXRlUmVuZGVyKSx0aGlzLnN0YWdnZXJUbyh0LGUscixpLG4sYSxzKX0sZS5zdGFnZ2VyRnJvbVRvPWZ1bmN0aW9uIHN0YWdnZXJGcm9tVG8odCxlLHIsaSxuLGEscyxvKXtyZXR1cm4gaS5zdGFydEF0PXIsdmEoaSkuaW1tZWRpYXRlUmVuZGVyPXcoaS5pbW1lZGlhdGVSZW5kZXIpLHRoaXMuc3RhZ2dlclRvKHQsZSxpLG4sYSxzLG8pfSxlLnJlbmRlcj1mdW5jdGlvbiByZW5kZXIodCxlLHIpe3ZhciBpLG4sYSxzLG8sdSxoLGwsZixkLGMscCxfPXRoaXMuX3RpbWUsbT10aGlzLl9kaXJ0eT90aGlzLnRvdGFsRHVyYXRpb24oKTp0aGlzLl90RHVyLGc9dGhpcy5fZHVyLHY9dDw9MD8wOmphKHQpLHk9dGhpcy5felRpbWU8MCE9dDwwJiYodGhpcy5faW5pdHRlZHx8IWcpO2lmKHRoaXMhPT1JJiZtPHYmJjA8PXQmJih2PW0pLHYhPT10aGlzLl90VGltZXx8cnx8eSl7aWYoXyE9PXRoaXMuX3RpbWUmJmcmJih2Kz10aGlzLl90aW1lLV8sdCs9dGhpcy5fdGltZS1fKSxpPXYsZj10aGlzLl9zdGFydCx1PSEobD10aGlzLl90cykseSYmKGd8fChfPXRoaXMuX3pUaW1lKSwhdCYmZXx8KHRoaXMuX3pUaW1lPXQpKSx0aGlzLl9yZXBlYXQpe2lmKGM9dGhpcy5feW95byxvPWcrdGhpcy5fckRlbGF5LHRoaXMuX3JlcGVhdDwtMSYmdDwwKXJldHVybiB0aGlzLnRvdGFsVGltZSgxMDAqbyt0LGUscik7aWYoaT1qYSh2JW8pLHY9PT1tPyhzPXRoaXMuX3JlcGVhdCxpPWcpOigocz1+fih2L28pKSYmcz09PXYvbyYmKGk9ZyxzLS0pLGc8aSYmKGk9ZykpLGQ9VHQodGhpcy5fdFRpbWUsbyksIV8mJnRoaXMuX3RUaW1lJiZkIT09cyYmdGhpcy5fdFRpbWUtZCpvLXRoaXMuX2R1cjw9MCYmKGQ9cyksYyYmMSZzJiYoaT1nLWkscD0xKSxzIT09ZCYmIXRoaXMuX2xvY2spe3ZhciBUPWMmJjEmZCxiPVQ9PT0oYyYmMSZzKTtpZihzPGQmJihUPSFUKSxfPVQ/MDp2JWc/Zzp2LHRoaXMuX2xvY2s9MSx0aGlzLnJlbmRlcihffHwocD8wOmphKHMqbykpLGUsIWcpLl9sb2NrPTAsdGhpcy5fdFRpbWU9diwhZSYmdGhpcy5wYXJlbnQmJkN0KHRoaXMsIm9uUmVwZWF0IiksdGhpcy52YXJzLnJlcGVhdFJlZnJlc2gmJiFwJiYodGhpcy5pbnZhbGlkYXRlKCkuX2xvY2s9MSksXyYmXyE9PXRoaXMuX3RpbWV8fHUhPSF0aGlzLl90c3x8dGhpcy52YXJzLm9uUmVwZWF0JiYhdGhpcy5wYXJlbnQmJiF0aGlzLl9hY3QpcmV0dXJuIHRoaXM7aWYoZz10aGlzLl9kdXIsbT10aGlzLl90RHVyLGImJih0aGlzLl9sb2NrPTIsXz1UP2c6LTFlLTQsdGhpcy5yZW5kZXIoXywhMCksdGhpcy52YXJzLnJlcGVhdFJlZnJlc2gmJiFwJiZ0aGlzLmludmFsaWRhdGUoKSksdGhpcy5fbG9jaz0wLCF0aGlzLl90cyYmIXUpcmV0dXJuIHRoaXM7UWIodGhpcyxwKX19aWYodGhpcy5faGFzUGF1c2UmJiF0aGlzLl9mb3JjaW5nJiZ0aGlzLl9sb2NrPDImJihoPWZ1bmN0aW9uIF9maW5kTmV4dFBhdXNlVHdlZW4odCxlLHIpe3ZhciBpO2lmKGU8cilmb3IoaT10Ll9maXJzdDtpJiZpLl9zdGFydDw9cjspe2lmKCJpc1BhdXNlIj09PWkuZGF0YSYmaS5fc3RhcnQ+ZSlyZXR1cm4gaTtpPWkuX25leHR9ZWxzZSBmb3IoaT10Ll9sYXN0O2kmJmkuX3N0YXJ0Pj1yOyl7aWYoImlzUGF1c2UiPT09aS5kYXRhJiZpLl9zdGFydDxlKXJldHVybiBpO2k9aS5fcHJldn19KHRoaXMsamEoXyksamEoaSkpKSYmKHYtPWktKGk9aC5fc3RhcnQpKSx0aGlzLl90VGltZT12LHRoaXMuX3RpbWU9aSx0aGlzLl9hY3Q9IWwsdGhpcy5faW5pdHRlZHx8KHRoaXMuX29uVXBkYXRlPXRoaXMudmFycy5vblVwZGF0ZSx0aGlzLl9pbml0dGVkPTEsdGhpcy5felRpbWU9dCxfPTApLCFfJiZpJiYhZSYmIXMmJihDdCh0aGlzLCJvblN0YXJ0IiksdGhpcy5fdFRpbWUhPT12KSlyZXR1cm4gdGhpcztpZihfPD1pJiYwPD10KWZvcihuPXRoaXMuX2ZpcnN0O247KXtpZihhPW4uX25leHQsKG4uX2FjdHx8aT49bi5fc3RhcnQpJiZuLl90cyYmaCE9PW4pe2lmKG4ucGFyZW50IT09dGhpcylyZXR1cm4gdGhpcy5yZW5kZXIodCxlLHIpO2lmKG4ucmVuZGVyKDA8bi5fdHM/KGktbi5fc3RhcnQpKm4uX3RzOihuLl9kaXJ0eT9uLnRvdGFsRHVyYXRpb24oKTpuLl90RHVyKSsoaS1uLl9zdGFydCkqbi5fdHMsZSxyKSxpIT09dGhpcy5fdGltZXx8IXRoaXMuX3RzJiYhdSl7aD0wLGEmJih2Kz10aGlzLl96VGltZT0tWCk7YnJlYWt9fW49YX1lbHNle249dGhpcy5fbGFzdDtmb3IodmFyIHc9dDwwP3Q6aTtuOyl7aWYoYT1uLl9wcmV2LChuLl9hY3R8fHc8PW4uX2VuZCkmJm4uX3RzJiZoIT09bil7aWYobi5wYXJlbnQhPT10aGlzKXJldHVybiB0aGlzLnJlbmRlcih0LGUscik7aWYobi5yZW5kZXIoMDxuLl90cz8ody1uLl9zdGFydCkqbi5fdHM6KG4uX2RpcnR5P24udG90YWxEdXJhdGlvbigpOm4uX3REdXIpKyh3LW4uX3N0YXJ0KSpuLl90cyxlLHJ8fEwmJihuLl9pbml0dGVkfHxuLl9zdGFydEF0KSksaSE9PXRoaXMuX3RpbWV8fCF0aGlzLl90cyYmIXUpe2g9MCxhJiYodis9dGhpcy5felRpbWU9dz8tWDpYKTticmVha319bj1hfX1pZihoJiYhZSYmKHRoaXMucGF1c2UoKSxoLnJlbmRlcihfPD1pPzA6LVgpLl96VGltZT1fPD1pPzE6LTEsdGhpcy5fdHMpKXJldHVybiB0aGlzLl9zdGFydD1mLEhhKHRoaXMpLHRoaXMucmVuZGVyKHQsZSxyKTt0aGlzLl9vblVwZGF0ZSYmIWUmJkN0KHRoaXMsIm9uVXBkYXRlIiwhMCksKHY9PT1tJiZ0aGlzLl90VGltZT49dGhpcy50b3RhbER1cmF0aW9uKCl8fCF2JiZfKSYmKGYhPT10aGlzLl9zdGFydCYmTWF0aC5hYnMobCk9PT1NYXRoLmFicyh0aGlzLl90cyl8fHRoaXMuX2xvY2t8fCghdCYmZ3x8ISh2PT09bSYmMDx0aGlzLl90c3x8IXYmJnRoaXMuX3RzPDApfHx6YSh0aGlzLDEpLGV8fHQ8MCYmIV98fCF2JiYhXyYmbXx8KEN0KHRoaXMsdj09PW0mJjA8PXQ/Im9uQ29tcGxldGUiOiJvblJldmVyc2VDb21wbGV0ZSIsITApLCF0aGlzLl9wcm9tfHx2PG0mJjA8dGhpcy50aW1lU2NhbGUoKXx8dGhpcy5fcHJvbSgpKSkpfXJldHVybiB0aGlzfSxlLmFkZD1mdW5jdGlvbiBhZGQoZSxpKXt2YXIgbj10aGlzO2lmKHQoaSl8fChpPXh0KHRoaXMsaSxlKSksIShlIGluc3RhbmNlb2YgVXQpKXtpZihaKGUpKXJldHVybiBlLmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIG4uYWRkKHQsaSl9KSx0aGlzO2lmKHIoZSkpcmV0dXJuIHRoaXMuYWRkTGFiZWwoZSxpKTtpZighcyhlKSlyZXR1cm4gdGhpcztlPSR0LmRlbGF5ZWRDYWxsKDAsZSl9cmV0dXJuIHRoaXMhPT1lP0thKHRoaXMsZSxpKTp0aGlzfSxlLmdldENoaWxkcmVuPWZ1bmN0aW9uIGdldENoaWxkcmVuKHQsZSxyLGkpe3ZvaWQgMD09PXQmJih0PSEwKSx2b2lkIDA9PT1lJiYoZT0hMCksdm9pZCAwPT09ciYmKHI9ITApLHZvaWQgMD09PWkmJihpPS1VKTtmb3IodmFyIG49W10sYT10aGlzLl9maXJzdDthOylhLl9zdGFydD49aSYmKGEgaW5zdGFuY2VvZiAkdD9lJiZuLnB1c2goYSk6KHImJm4ucHVzaChhKSx0JiZuLnB1c2guYXBwbHkobixhLmdldENoaWxkcmVuKCEwLGUscikpKSksYT1hLl9uZXh0O3JldHVybiBufSxlLmdldEJ5SWQ9ZnVuY3Rpb24gZ2V0QnlJZCh0KXtmb3IodmFyIGU9dGhpcy5nZXRDaGlsZHJlbigxLDEsMSkscj1lLmxlbmd0aDtyLS07KWlmKGVbcl0udmFycy5pZD09PXQpcmV0dXJuIGVbcl19LGUucmVtb3ZlPWZ1bmN0aW9uIHJlbW92ZSh0KXtyZXR1cm4gcih0KT90aGlzLnJlbW92ZUxhYmVsKHQpOnModCk/dGhpcy5raWxsVHdlZW5zT2YodCk6KHlhKHRoaXMsdCksdD09PXRoaXMuX3JlY2VudCYmKHRoaXMuX3JlY2VudD10aGlzLl9sYXN0KSxBYSh0aGlzKSl9LGUudG90YWxUaW1lPWZ1bmN0aW9uIHRvdGFsVGltZSh0LGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl9mb3JjaW5nPTEsIXRoaXMuX2RwJiZ0aGlzLl90cyYmKHRoaXMuX3N0YXJ0PWphKFJ0LnRpbWUtKDA8dGhpcy5fdHM/dC90aGlzLl90czoodGhpcy50b3RhbER1cmF0aW9uKCktdCkvLXRoaXMuX3RzKSkpLGkucHJvdG90eXBlLnRvdGFsVGltZS5jYWxsKHRoaXMsdCxlKSx0aGlzLl9mb3JjaW5nPTAsdGhpcyk6dGhpcy5fdFRpbWV9LGUuYWRkTGFiZWw9ZnVuY3Rpb24gYWRkTGFiZWwodCxlKXtyZXR1cm4gdGhpcy5sYWJlbHNbdF09eHQodGhpcyxlKSx0aGlzfSxlLnJlbW92ZUxhYmVsPWZ1bmN0aW9uIHJlbW92ZUxhYmVsKHQpe3JldHVybiBkZWxldGUgdGhpcy5sYWJlbHNbdF0sdGhpc30sZS5hZGRQYXVzZT1mdW5jdGlvbiBhZGRQYXVzZSh0LGUscil7dmFyIGk9JHQuZGVsYXllZENhbGwoMCxlfHxULHIpO3JldHVybiBpLmRhdGE9ImlzUGF1c2UiLHRoaXMuX2hhc1BhdXNlPTEsS2EodGhpcyxpLHh0KHRoaXMsdCkpfSxlLnJlbW92ZVBhdXNlPWZ1bmN0aW9uIHJlbW92ZVBhdXNlKHQpe3ZhciBlPXRoaXMuX2ZpcnN0O2Zvcih0PXh0KHRoaXMsdCk7ZTspZS5fc3RhcnQ9PT10JiYiaXNQYXVzZSI9PT1lLmRhdGEmJnphKGUpLGU9ZS5fbmV4dH0sZS5raWxsVHdlZW5zT2Y9ZnVuY3Rpb24ga2lsbFR3ZWVuc09mKHQsZSxyKXtmb3IodmFyIGk9dGhpcy5nZXRUd2VlbnNPZih0LHIpLG49aS5sZW5ndGg7bi0tOylOdCE9PWlbbl0mJmlbbl0ua2lsbCh0LGUpO3JldHVybiB0aGlzfSxlLmdldFR3ZWVuc09mPWZ1bmN0aW9uIGdldFR3ZWVuc09mKGUscil7Zm9yKHZhciBpLG49W10sYT1NdChlKSxzPXRoaXMuX2ZpcnN0LG89dChyKTtzOylzIGluc3RhbmNlb2YgJHQ/bGEocy5fdGFyZ2V0cyxhKSYmKG8/KCFOdHx8cy5faW5pdHRlZCYmcy5fdHMpJiZzLmdsb2JhbFRpbWUoMCk8PXImJnMuZ2xvYmFsVGltZShzLnRvdGFsRHVyYXRpb24oKSk+cjohcnx8cy5pc0FjdGl2ZSgpKSYmbi5wdXNoKHMpOihpPXMuZ2V0VHdlZW5zT2YoYSxyKSkubGVuZ3RoJiZuLnB1c2guYXBwbHkobixpKSxzPXMuX25leHQ7cmV0dXJuIG59LGUudHdlZW5Ubz1mdW5jdGlvbiB0d2VlblRvKHQsZSl7ZT1lfHx7fTt2YXIgcixpPXRoaXMsbj14dChpLHQpLGE9ZS5zdGFydEF0LHM9ZS5vblN0YXJ0LG89ZS5vblN0YXJ0UGFyYW1zLHU9ZS5pbW1lZGlhdGVSZW5kZXIsaD0kdC50byhpLHFhKHtlYXNlOmUuZWFzZXx8Im5vbmUiLGxhenk6ITEsaW1tZWRpYXRlUmVuZGVyOiExLHRpbWU6bixvdmVyd3JpdGU6ImF1dG8iLGR1cmF0aW9uOmUuZHVyYXRpb258fE1hdGguYWJzKChuLShhJiYidGltZSJpbiBhP2EudGltZTppLl90aW1lKSkvaS50aW1lU2NhbGUoKSl8fFgsb25TdGFydDpmdW5jdGlvbiBvblN0YXJ0KCl7aWYoaS5wYXVzZSgpLCFyKXt2YXIgdD1lLmR1cmF0aW9ufHxNYXRoLmFicygobi0oYSYmInRpbWUiaW4gYT9hLnRpbWU6aS5fdGltZSkpL2kudGltZVNjYWxlKCkpO2guX2R1ciE9PXQmJlJhKGgsdCwwLDEpLnJlbmRlcihoLl90aW1lLCEwLCEwKSxyPTF9cyYmcy5hcHBseShoLG98fFtdKX19LGUpKTtyZXR1cm4gdT9oLnJlbmRlcigwKTpofSxlLnR3ZWVuRnJvbVRvPWZ1bmN0aW9uIHR3ZWVuRnJvbVRvKHQsZSxyKXtyZXR1cm4gdGhpcy50d2VlblRvKGUscWEoe3N0YXJ0QXQ6e3RpbWU6eHQodGhpcyx0KX19LHIpKX0sZS5yZWNlbnQ9ZnVuY3Rpb24gcmVjZW50KCl7cmV0dXJuIHRoaXMuX3JlY2VudH0sZS5uZXh0TGFiZWw9ZnVuY3Rpb24gbmV4dExhYmVsKHQpe3JldHVybiB2b2lkIDA9PT10JiYodD10aGlzLl90aW1lKSxyYih0aGlzLHh0KHRoaXMsdCkpfSxlLnByZXZpb3VzTGFiZWw9ZnVuY3Rpb24gcHJldmlvdXNMYWJlbCh0KXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9dGhpcy5fdGltZSkscmIodGhpcyx4dCh0aGlzLHQpLDEpfSxlLmN1cnJlbnRMYWJlbD1mdW5jdGlvbiBjdXJyZW50TGFiZWwodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5zZWVrKHQsITApOnRoaXMucHJldmlvdXNMYWJlbCh0aGlzLl90aW1lK1gpfSxlLnNoaWZ0Q2hpbGRyZW49ZnVuY3Rpb24gc2hpZnRDaGlsZHJlbih0LGUscil7dm9pZCAwPT09ciYmKHI9MCk7Zm9yKHZhciBpLG49dGhpcy5fZmlyc3QsYT10aGlzLmxhYmVscztuOyluLl9zdGFydD49ciYmKG4uX3N0YXJ0Kz10LG4uX2VuZCs9dCksbj1uLl9uZXh0O2lmKGUpZm9yKGkgaW4gYSlhW2ldPj1yJiYoYVtpXSs9dCk7cmV0dXJuIEFhKHRoaXMpfSxlLmludmFsaWRhdGU9ZnVuY3Rpb24gaW52YWxpZGF0ZSh0KXt2YXIgZT10aGlzLl9maXJzdDtmb3IodGhpcy5fbG9jaz0wO2U7KWUuaW52YWxpZGF0ZSh0KSxlPWUuX25leHQ7cmV0dXJuIGkucHJvdG90eXBlLmludmFsaWRhdGUuY2FsbCh0aGlzLHQpfSxlLmNsZWFyPWZ1bmN0aW9uIGNsZWFyKHQpe3ZvaWQgMD09PXQmJih0PSEwKTtmb3IodmFyIGUscj10aGlzLl9maXJzdDtyOyllPXIuX25leHQsdGhpcy5yZW1vdmUocikscj1lO3JldHVybiB0aGlzLl9kcCYmKHRoaXMuX3RpbWU9dGhpcy5fdFRpbWU9dGhpcy5fcFRpbWU9MCksdCYmKHRoaXMubGFiZWxzPXt9KSxBYSh0aGlzKX0sZS50b3RhbER1cmF0aW9uPWZ1bmN0aW9uIHRvdGFsRHVyYXRpb24odCl7dmFyIGUscixpLG49MCxhPXRoaXMscz1hLl9sYXN0LG89VTtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiBhLnRpbWVTY2FsZSgoYS5fcmVwZWF0PDA/YS5kdXJhdGlvbigpOmEudG90YWxEdXJhdGlvbigpKS8oYS5yZXZlcnNlZCgpPy10OnQpKTtpZihhLl9kaXJ0eSl7Zm9yKGk9YS5wYXJlbnQ7czspZT1zLl9wcmV2LHMuX2RpcnR5JiZzLnRvdGFsRHVyYXRpb24oKSxvPChyPXMuX3N0YXJ0KSYmYS5fc29ydCYmcy5fdHMmJiFhLl9sb2NrPyhhLl9sb2NrPTEsS2EoYSxzLHItcy5fZGVsYXksMSkuX2xvY2s9MCk6bz1yLHI8MCYmcy5fdHMmJihuLT1yLCghaSYmIWEuX2RwfHxpJiZpLnNtb290aENoaWxkVGltaW5nKSYmKGEuX3N0YXJ0Kz1yL2EuX3RzLGEuX3RpbWUtPXIsYS5fdFRpbWUtPXIpLGEuc2hpZnRDaGlsZHJlbigtciwhMSwtSW5maW5pdHkpLG89MCkscy5fZW5kPm4mJnMuX3RzJiYobj1zLl9lbmQpLHM9ZTtSYShhLGE9PT1JJiZhLl90aW1lPm4/YS5fdGltZTpuLDEsMSksYS5fZGlydHk9MH1yZXR1cm4gYS5fdER1cn0sVGltZWxpbmUudXBkYXRlUm9vdD1mdW5jdGlvbiB1cGRhdGVSb290KHQpe2lmKEkuX3RzJiYobmEoSSxHYSh0LEkpKSxmPVJ0LmZyYW1lKSxSdC5mcmFtZT49bXQpe210Kz1xLmF1dG9TbGVlcHx8MTIwO3ZhciBlPUkuX2ZpcnN0O2lmKCghZXx8IWUuX3RzKSYmcS5hdXRvU2xlZXAmJlJ0Ll9saXN0ZW5lcnMubGVuZ3RoPDIpe2Zvcig7ZSYmIWUuX3RzOyllPWUuX25leHQ7ZXx8UnQuc2xlZXAoKX19fSxUaW1lbGluZX0oVXQpO3FhKFh0LnByb3RvdHlwZSx7X2xvY2s6MCxfaGFzUGF1c2U6MCxfZm9yY2luZzowfSk7ZnVuY3Rpb24gYWModCxlLGksbixhLG8pe3ZhciB1LGgsbCxmO2lmKHB0W3RdJiYhMSE9PSh1PW5ldyBwdFt0XSkuaW5pdChhLHUucmF3VmFycz9lW3RdOmZ1bmN0aW9uIF9wcm9jZXNzVmFycyh0LGUsaSxuLGEpe2lmKHModCkmJih0PUt0KHQsYSxlLGksbikpLCF2KHQpfHx0LnN0eWxlJiZ0Lm5vZGVUeXBlfHxaKHQpfHwkKHQpKXJldHVybiByKHQpP0t0KHQsYSxlLGksbik6dDt2YXIgbyx1PXt9O2ZvcihvIGluIHQpdVtvXT1LdCh0W29dLGEsZSxpLG4pO3JldHVybiB1fShlW3RdLG4sYSxvLGkpLGksbixvKSYmKGkuX3B0PWg9bmV3IF9lKGkuX3B0LGEsdCwwLDEsdS5yZW5kZXIsdSwwLHUucHJpb3JpdHkpLGkhPT1kKSlmb3IobD1pLl9wdExvb2t1cFtpLl90YXJnZXRzLmluZGV4T2YoYSldLGY9dS5fcHJvcHMubGVuZ3RoO2YtLTspbFt1Ll9wcm9wc1tmXV09aDtyZXR1cm4gdX1mdW5jdGlvbiBnYyh0LHIsZSxpKXt2YXIgbixhLHM9ci5lYXNlfHxpfHwicG93ZXIxLmluT3V0IjtpZihaKHIpKWE9ZVt0XXx8KGVbdF09W10pLHIuZm9yRWFjaChmdW5jdGlvbih0LGUpe3JldHVybiBhLnB1c2goe3Q6ZS8oci5sZW5ndGgtMSkqMTAwLHY6dCxlOnN9KX0pO2Vsc2UgZm9yKG4gaW4gcilhPWVbbl18fChlW25dPVtdKSwiZWFzZSI9PT1ufHxhLnB1c2goe3Q6cGFyc2VGbG9hdCh0KSx2OnJbbl0sZTpzfSl9dmFyIE50LEd0LFd0PWZ1bmN0aW9uIF9hZGRQcm9wVHdlZW4odCxlLGksbixhLG8sdSxoLGwsZil7cyhuKSYmKG49bihhfHwwLHQsbykpO3ZhciBkLGM9dFtlXSxwPSJnZXQiIT09aT9pOnMoYyk/bD90W2UuaW5kZXhPZigic2V0Iil8fCFzKHRbImdldCIrZS5zdWJzdHIoMyldKT9lOiJnZXQiK2Uuc3Vic3RyKDMpXShsKTp0W2VdKCk6YyxfPXMoYyk/bD9yZTp0ZTpadDtpZihyKG4pJiYofm4uaW5kZXhPZigicmFuZG9tKCIpJiYobj1vYihuKSksIj0iPT09bi5jaGFyQXQoMSkmJighKGQ9a2EocCxuKSsoWWEocCl8fDApKSYmMCE9PWR8fChuPWQpKSksIWZ8fHAhPT1ufHxHdClyZXR1cm4gaXNOYU4ocCpuKXx8IiI9PT1uPyhjfHxlIGluIHR8fFEoZSxuKSxmdW5jdGlvbiBfYWRkQ29tcGxleFN0cmluZ1Byb3BUd2Vlbih0LGUscixpLG4sYSxzKXt2YXIgbyx1LGgsbCxmLGQsYyxwLF89bmV3IF9lKHRoaXMuX3B0LHQsZSwwLDEsdWUsbnVsbCxuKSxtPTAsZz0wO2ZvcihfLmI9cixfLmU9aSxyKz0iIiwoYz1+KGkrPSIiKS5pbmRleE9mKCJyYW5kb20oIikpJiYoaT1vYihpKSksYSYmKGEocD1bcixpXSx0LGUpLHI9cFswXSxpPXBbMV0pLHU9ci5tYXRjaChpdCl8fFtdO289aXQuZXhlYyhpKTspbD1vWzBdLGY9aS5zdWJzdHJpbmcobSxvLmluZGV4KSxoP2g9KGgrMSklNToicmdiYSgiPT09Zi5zdWJzdHIoLTUpJiYoaD0xKSxsIT09dVtnKytdJiYoZD1wYXJzZUZsb2F0KHVbZy0xXSl8fDAsXy5fcHQ9e19uZXh0Ol8uX3B0LHA6Znx8MT09PWc/ZjoiLCIsczpkLGM6Ij0iPT09bC5jaGFyQXQoMSk/a2EoZCxsKS1kOnBhcnNlRmxvYXQobCktZCxtOmgmJmg8ND9NYXRoLnJvdW5kOjB9LG09aXQubGFzdEluZGV4KTtyZXR1cm4gXy5jPW08aS5sZW5ndGg/aS5zdWJzdHJpbmcobSxpLmxlbmd0aCk6IiIsXy5mcD1zLChudC50ZXN0KGkpfHxjKSYmKF8uZT0wKSx0aGlzLl9wdD1ffS5jYWxsKHRoaXMsdCxlLHAsbixfLGh8fHEuc3RyaW5nRmlsdGVyLGwpKTooZD1uZXcgX2UodGhpcy5fcHQsdCxlLCtwfHwwLG4tKHB8fDApLCJib29sZWFuIj09dHlwZW9mIGM/c2U6YWUsMCxfKSxsJiYoZC5mcD1sKSx1JiZkLm1vZGlmaWVyKHUsdGhpcyx0KSx0aGlzLl9wdD1kKX0sUXQ9ZnVuY3Rpb24gX2luaXRUd2Vlbih0LGUscil7dmFyIGksbixhLHMsbyx1LGgsbCxmLGQsYyxwLF8sbT10LnZhcnMsZz1tLmVhc2Usdj1tLnN0YXJ0QXQseT1tLmltbWVkaWF0ZVJlbmRlcixUPW0ubGF6eSxiPW0ub25VcGRhdGUseD1tLnJ1bkJhY2t3YXJkcyxPPW0ueW95b0Vhc2Usaz1tLmtleWZyYW1lcyxNPW0uYXV0b1JldmVydCxQPXQuX2R1cixDPXQuX3N0YXJ0QXQsQT10Ll90YXJnZXRzLFM9dC5wYXJlbnQsej1TJiYibmVzdGVkIj09PVMuZGF0YT9TLnZhcnMudGFyZ2V0czpBLEU9ImF1dG8iPT09dC5fb3ZlcndyaXRlJiYhRixEPXQudGltZWxpbmU7aWYoIUR8fGsmJmd8fChnPSJub25lIiksdC5fZWFzZT1qdChnLFYuZWFzZSksdC5feUVhc2U9Tz9ZdChqdCghMD09PU8/ZzpPLFYuZWFzZSkpOjAsTyYmdC5feW95byYmIXQuX3JlcGVhdCYmKE89dC5feUVhc2UsdC5feUVhc2U9dC5fZWFzZSx0Ll9lYXNlPU8pLHQuX2Zyb209IUQmJiEhbS5ydW5CYWNrd2FyZHMsIUR8fGsmJiFtLnN0YWdnZXIpe2lmKHA9KGw9QVswXT9mYShBWzBdKS5oYXJuZXNzOjApJiZtW2wucHJvcF0saT11YShtLGZ0KSxDJiYoQy5felRpbWU8MCYmQy5wcm9ncmVzcygxKSxlPDAmJngmJnkmJiFNP0MucmVuZGVyKC0xLCEwKTpDLnJldmVydCh4JiZQP2h0OnV0KSxDLl9sYXp5PTApLHYpe2lmKHphKHQuX3N0YXJ0QXQ9JHQuc2V0KEEscWEoe2RhdGE6ImlzU3RhcnQiLG92ZXJ3cml0ZTohMSxwYXJlbnQ6UyxpbW1lZGlhdGVSZW5kZXI6ITAsbGF6eTohQyYmdyhUKSxzdGFydEF0Om51bGwsZGVsYXk6MCxvblVwZGF0ZTpiJiZmdW5jdGlvbigpe3JldHVybiBDdCh0LCJvblVwZGF0ZSIpfSxzdGFnZ2VyOjB9LHYpKSksdC5fc3RhcnRBdC5fZHA9MCx0Ll9zdGFydEF0Ll9zYXQ9dCxlPDAmJihMfHwheSYmIU0pJiZ0Ll9zdGFydEF0LnJldmVydChodCkseSYmUCYmZTw9MCYmcjw9MClyZXR1cm4gdm9pZChlJiYodC5felRpbWU9ZSkpfWVsc2UgaWYoeCYmUCYmIUMpaWYoZSYmKHk9ITEpLGE9cWEoe292ZXJ3cml0ZTohMSxkYXRhOiJpc0Zyb21TdGFydCIsbGF6eTp5JiYhQyYmdyhUKSxpbW1lZGlhdGVSZW5kZXI6eSxzdGFnZ2VyOjAscGFyZW50OlN9LGkpLHAmJihhW2wucHJvcF09cCksemEodC5fc3RhcnRBdD0kdC5zZXQoQSxhKSksdC5fc3RhcnRBdC5fZHA9MCx0Ll9zdGFydEF0Ll9zYXQ9dCxlPDAmJihMP3QuX3N0YXJ0QXQucmV2ZXJ0KGh0KTp0Ll9zdGFydEF0LnJlbmRlcigtMSwhMCkpLHQuX3pUaW1lPWUseSl7aWYoIWUpcmV0dXJufWVsc2UgX2luaXRUd2Vlbih0Ll9zdGFydEF0LFgsWCk7Zm9yKHQuX3B0PXQuX3B0Q2FjaGU9MCxUPVAmJncoVCl8fFQmJiFQLG49MDtuPEEubGVuZ3RoO24rKyl7aWYoaD0obz1BW25dKS5fZ3NhcHx8ZWEoQSlbbl0uX2dzYXAsdC5fcHRMb29rdXBbbl09ZD17fSxjdFtoLmlkXSYmZHQubGVuZ3RoJiZtYSgpLGM9ej09PUE/bjp6LmluZGV4T2YobyksbCYmITEhPT0oZj1uZXcgbCkuaW5pdChvLHB8fGksdCxjLHopJiYodC5fcHQ9cz1uZXcgX2UodC5fcHQsbyxmLm5hbWUsMCwxLGYucmVuZGVyLGYsMCxmLnByaW9yaXR5KSxmLl9wcm9wcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe2RbdF09c30pLGYucHJpb3JpdHkmJih1PTEpKSwhbHx8cClmb3IoYSBpbiBpKXB0W2FdJiYoZj1hYyhhLGksdCxjLG8seikpP2YucHJpb3JpdHkmJih1PTEpOmRbYV09cz1XdC5jYWxsKHQsbyxhLCJnZXQiLGlbYV0sYyx6LDAsbS5zdHJpbmdGaWx0ZXIpO3QuX29wJiZ0Ll9vcFtuXSYmdC5raWxsKG8sdC5fb3Bbbl0pLEUmJnQuX3B0JiYoTnQ9dCxJLmtpbGxUd2VlbnNPZihvLGQsdC5nbG9iYWxUaW1lKGUpKSxfPSF0LnBhcmVudCxOdD0wKSx0Ll9wdCYmVCYmKGN0W2guaWRdPTEpfXUmJnBlKHQpLHQuX29uSW5pdCYmdC5fb25Jbml0KHQpfXQuX29uVXBkYXRlPWIsdC5faW5pdHRlZD0oIXQuX29wfHx0Ll9wdCkmJiFfLGsmJmU8PTAmJkQucmVuZGVyKFUsITAsITApfSxLdD1mdW5jdGlvbiBfcGFyc2VGdW5jT3JTdHJpbmcodCxlLGksbixhKXtyZXR1cm4gcyh0KT90LmNhbGwoZSxpLG4sYSk6cih0KSYmfnQuaW5kZXhPZigicmFuZG9tKCIpP29iKHQpOnR9LEp0PXZ0KyJyZXBlYXQscmVwZWF0RGVsYXkseW95byxyZXBlYXRSZWZyZXNoLHlveW9FYXNlLGF1dG9SZXZlcnQiLEh0PXt9O2hhKEp0KyIsaWQsc3RhZ2dlcixkZWxheSxkdXJhdGlvbixwYXVzZWQsc2Nyb2xsVHJpZ2dlciIsZnVuY3Rpb24odCl7cmV0dXJuIEh0W3RdPTF9KTt2YXIgJHQ9ZnVuY3Rpb24oRCl7ZnVuY3Rpb24gVHdlZW4oZSxyLGksbil7dmFyIGE7Im51bWJlciI9PXR5cGVvZiByJiYoaS5kdXJhdGlvbj1yLHI9aSxpPW51bGwpO3ZhciBzLG8sdSxoLGwsZixkLGMscD0oYT1ELmNhbGwodGhpcyxuP3I6dmEocikpfHx0aGlzKS52YXJzLF89cC5kdXJhdGlvbixtPXAuZGVsYXksZz1wLmltbWVkaWF0ZVJlbmRlcixUPXAuc3RhZ2dlcixiPXAub3ZlcndyaXRlLHg9cC5rZXlmcmFtZXMsTz1wLmRlZmF1bHRzLGs9cC5zY3JvbGxUcmlnZ2VyLE09cC55b3lvRWFzZSxQPXIucGFyZW50fHxJLEM9KFooZSl8fCQoZSk/dChlWzBdKToibGVuZ3RoImluIHIpP1tlXTpNdChlKTtpZihhLl90YXJnZXRzPUMubGVuZ3RoP2VhKEMpOlIoIkdTQVAgdGFyZ2V0ICIrZSsiIG5vdCBmb3VuZC4gaHR0cHM6Ly9nc2FwLmNvbSIsIXEubnVsbFRhcmdldFdhcm4pfHxbXSxhLl9wdExvb2t1cD1bXSxhLl9vdmVyd3JpdGU9Yix4fHxUfHx5KF8pfHx5KG0pKXtpZihyPWEudmFycywocz1hLnRpbWVsaW5lPW5ldyBYdCh7ZGF0YToibmVzdGVkIixkZWZhdWx0czpPfHx7fSx0YXJnZXRzOlAmJiJuZXN0ZWQiPT09UC5kYXRhP1AudmFycy50YXJnZXRzOkN9KSkua2lsbCgpLHMucGFyZW50PXMuX2RwPV9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoYSkscy5fc3RhcnQ9MCxUfHx5KF8pfHx5KG0pKXtpZihoPUMubGVuZ3RoLGQ9VCYmZWIoVCksdihUKSlmb3IobCBpbiBUKX5KdC5pbmRleE9mKGwpJiYoKGM9Y3x8e30pW2xdPVRbbF0pO2ZvcihvPTA7bzxoO28rKykodT11YShyLEh0KSkuc3RhZ2dlcj0wLE0mJih1LnlveW9FYXNlPU0pLGMmJnl0KHUsYyksZj1DW29dLHUuZHVyYXRpb249K0t0KF8sX2Fzc2VydFRoaXNJbml0aWFsaXplZChhKSxvLGYsQyksdS5kZWxheT0oK0t0KG0sX2Fzc2VydFRoaXNJbml0aWFsaXplZChhKSxvLGYsQyl8fDApLWEuX2RlbGF5LCFUJiYxPT09aCYmdS5kZWxheSYmKGEuX2RlbGF5PW09dS5kZWxheSxhLl9zdGFydCs9bSx1LmRlbGF5PTApLHMudG8oZix1LGQ/ZChvLGYsQyk6MCkscy5fZWFzZT1MdC5ub25lO3MuZHVyYXRpb24oKT9fPW09MDphLnRpbWVsaW5lPTB9ZWxzZSBpZih4KXt2YShxYShzLnZhcnMuZGVmYXVsdHMse2Vhc2U6Im5vbmUifSkpLHMuX2Vhc2U9anQoeC5lYXNlfHxyLmVhc2V8fCJub25lIik7dmFyIEEsUyx6LEU9MDtpZihaKHgpKXguZm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gcy50byhDLHQsIj4iKX0pLHMuZHVyYXRpb24oKTtlbHNle2ZvcihsIGluIHU9e30seCkiZWFzZSI9PT1sfHwiZWFzZUVhY2giPT09bHx8Z2MobCx4W2xdLHUseC5lYXNlRWFjaCk7Zm9yKGwgaW4gdSlmb3IoQT11W2xdLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC50LWUudH0pLG89RT0wO288QS5sZW5ndGg7bysrKSh6PXtlYXNlOihTPUFbb10pLmUsZHVyYXRpb246KFMudC0obz9BW28tMV0udDowKSkvMTAwKl99KVtsXT1TLnYscy50byhDLHosRSksRSs9ei5kdXJhdGlvbjtzLmR1cmF0aW9uKCk8XyYmcy50byh7fSx7ZHVyYXRpb246Xy1zLmR1cmF0aW9uKCl9KX19X3x8YS5kdXJhdGlvbihfPXMuZHVyYXRpb24oKSl9ZWxzZSBhLnRpbWVsaW5lPTA7cmV0dXJuITAhPT1ifHxGfHwoTnQ9X2Fzc2VydFRoaXNJbml0aWFsaXplZChhKSxJLmtpbGxUd2VlbnNPZihDKSxOdD0wKSxLYShQLF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoYSksaSksci5yZXZlcnNlZCYmYS5yZXZlcnNlKCksci5wYXVzZWQmJmEucGF1c2VkKCEwKSwoZ3x8IV8mJiF4JiZhLl9zdGFydD09PWphKFAuX3RpbWUpJiZ3KGcpJiZmdW5jdGlvbiBfaGFzTm9QYXVzZWRBbmNlc3RvcnModCl7cmV0dXJuIXR8fHQuX3RzJiZfaGFzTm9QYXVzZWRBbmNlc3RvcnModC5wYXJlbnQpfShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKGEpKSYmIm5lc3RlZCIhPT1QLmRhdGEpJiYoYS5fdFRpbWU9LVgsYS5yZW5kZXIoTWF0aC5tYXgoMCwtbSl8fDApKSxrJiZMYShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKGEpLGspLGF9X2luaGVyaXRzTG9vc2UoVHdlZW4sRCk7dmFyIGU9VHdlZW4ucHJvdG90eXBlO3JldHVybiBlLnJlbmRlcj1mdW5jdGlvbiByZW5kZXIodCxlLHIpe3ZhciBpLG4sYSxzLG8sdSxoLGwsZixkPXRoaXMuX3RpbWUsYz10aGlzLl90RHVyLHA9dGhpcy5fZHVyLF89dDwwLG09Yy1YPHQmJiFfP2M6dDxYPzA6dDtpZihwKXtpZihtIT09dGhpcy5fdFRpbWV8fCF0fHxyfHwhdGhpcy5faW5pdHRlZCYmdGhpcy5fdFRpbWV8fHRoaXMuX3N0YXJ0QXQmJnRoaXMuX3pUaW1lPDAhPV8pe2lmKGk9bSxsPXRoaXMudGltZWxpbmUsdGhpcy5fcmVwZWF0KXtpZihzPXArdGhpcy5fckRlbGF5LHRoaXMuX3JlcGVhdDwtMSYmXylyZXR1cm4gdGhpcy50b3RhbFRpbWUoMTAwKnMrdCxlLHIpO2lmKGk9amEobSVzKSxtPT09Yz8oYT10aGlzLl9yZXBlYXQsaT1wKTooKGE9fn4obS9zKSkmJmE9PT1qYShtL3MpJiYoaT1wLGEtLSkscDxpJiYoaT1wKSksKHU9dGhpcy5feW95byYmMSZhKSYmKGY9dGhpcy5feUVhc2UsaT1wLWkpLG89VHQodGhpcy5fdFRpbWUscyksaT09PWQmJiFyJiZ0aGlzLl9pbml0dGVkJiZhPT09bylyZXR1cm4gdGhpcy5fdFRpbWU9bSx0aGlzO2EhPT1vJiYobCYmdGhpcy5feUVhc2UmJlFiKGwsdSksdGhpcy52YXJzLnJlcGVhdFJlZnJlc2gmJiF1JiYhdGhpcy5fbG9jayYmdGhpcy5fdGltZSE9PXMmJnRoaXMuX2luaXR0ZWQmJih0aGlzLl9sb2NrPXI9MSx0aGlzLnJlbmRlcihqYShzKmEpLCEwKS5pbnZhbGlkYXRlKCkuX2xvY2s9MCkpfWlmKCF0aGlzLl9pbml0dGVkKXtpZihNYSh0aGlzLF8/dDppLHIsZSxtKSlyZXR1cm4gdGhpcy5fdFRpbWU9MCx0aGlzO2lmKCEoZD09PXRoaXMuX3RpbWV8fHImJnRoaXMudmFycy5yZXBlYXRSZWZyZXNoJiZhIT09bykpcmV0dXJuIHRoaXM7aWYocCE9PXRoaXMuX2R1cilyZXR1cm4gdGhpcy5yZW5kZXIodCxlLHIpfWlmKHRoaXMuX3RUaW1lPW0sdGhpcy5fdGltZT1pLCF0aGlzLl9hY3QmJnRoaXMuX3RzJiYodGhpcy5fYWN0PTEsdGhpcy5fbGF6eT0wKSx0aGlzLnJhdGlvPWg9KGZ8fHRoaXMuX2Vhc2UpKGkvcCksdGhpcy5fZnJvbSYmKHRoaXMucmF0aW89aD0xLWgpLGkmJiFkJiYhZSYmIWEmJihDdCh0aGlzLCJvblN0YXJ0IiksdGhpcy5fdFRpbWUhPT1tKSlyZXR1cm4gdGhpcztmb3Iobj10aGlzLl9wdDtuOyluLnIoaCxuLmQpLG49bi5fbmV4dDtsJiZsLnJlbmRlcih0PDA/dDpsLl9kdXIqbC5fZWFzZShpL3RoaXMuX2R1ciksZSxyKXx8dGhpcy5fc3RhcnRBdCYmKHRoaXMuX3pUaW1lPXQpLHRoaXMuX29uVXBkYXRlJiYhZSYmKF8mJkNhKHRoaXMsdCwwLHIpLEN0KHRoaXMsIm9uVXBkYXRlIikpLHRoaXMuX3JlcGVhdCYmYSE9PW8mJnRoaXMudmFycy5vblJlcGVhdCYmIWUmJnRoaXMucGFyZW50JiZDdCh0aGlzLCJvblJlcGVhdCIpLG0hPT10aGlzLl90RHVyJiZtfHx0aGlzLl90VGltZSE9PW18fChfJiYhdGhpcy5fb25VcGRhdGUmJkNhKHRoaXMsdCwwLCEwKSwhdCYmcHx8IShtPT09dGhpcy5fdER1ciYmMDx0aGlzLl90c3x8IW0mJnRoaXMuX3RzPDApfHx6YSh0aGlzLDEpLGV8fF8mJiFkfHwhKG18fGR8fHUpfHwoQ3QodGhpcyxtPT09Yz8ib25Db21wbGV0ZSI6Im9uUmV2ZXJzZUNvbXBsZXRlIiwhMCksIXRoaXMuX3Byb218fG08YyYmMDx0aGlzLnRpbWVTY2FsZSgpfHx0aGlzLl9wcm9tKCkpKX19ZWxzZSFmdW5jdGlvbiBfcmVuZGVyWmVyb0R1cmF0aW9uVHdlZW4odCxlLHIsaSl7dmFyIG4sYSxzLG89dC5yYXRpbyx1PWU8MHx8IWUmJighdC5fc3RhcnQmJmZ1bmN0aW9uIF9wYXJlbnRQbGF5aGVhZElzQmVmb3JlU3RhcnQodCl7dmFyIGU9dC5wYXJlbnQ7cmV0dXJuIGUmJmUuX3RzJiZlLl9pbml0dGVkJiYhZS5fbG9jayYmKGUucmF3VGltZSgpPDB8fF9wYXJlbnRQbGF5aGVhZElzQmVmb3JlU3RhcnQoZSkpfSh0KSYmKHQuX2luaXR0ZWR8fCFidCh0KSl8fCh0Ll90czwwfHx0Ll9kcC5fdHM8MCkmJiFidCh0KSk/MDoxLGg9dC5fckRlbGF5LGw9MDtpZihoJiZ0Ll9yZXBlYXQmJihsPU90KDAsdC5fdER1cixlKSxhPVR0KGwsaCksdC5feW95byYmMSZhJiYodT0xLXUpLGEhPT1UdCh0Ll90VGltZSxoKSYmKG89MS11LHQudmFycy5yZXBlYXRSZWZyZXNoJiZ0Ll9pbml0dGVkJiZ0LmludmFsaWRhdGUoKSkpLHUhPT1vfHxMfHxpfHx0Ll96VGltZT09PVh8fCFlJiZ0Ll96VGltZSl7aWYoIXQuX2luaXR0ZWQmJk1hKHQsZSxpLHIsbCkpcmV0dXJuO2ZvcihzPXQuX3pUaW1lLHQuX3pUaW1lPWV8fChyP1g6MCkscj1yfHxlJiYhcyx0LnJhdGlvPXUsdC5fZnJvbSYmKHU9MS11KSx0Ll90aW1lPTAsdC5fdFRpbWU9bCxuPXQuX3B0O247KW4ucih1LG4uZCksbj1uLl9uZXh0O2U8MCYmQ2EodCxlLDAsITApLHQuX29uVXBkYXRlJiYhciYmQ3QodCwib25VcGRhdGUiKSxsJiZ0Ll9yZXBlYXQmJiFyJiZ0LnBhcmVudCYmQ3QodCwib25SZXBlYXQiKSwoZT49dC5fdER1cnx8ZTwwKSYmdC5yYXRpbz09PXUmJih1JiZ6YSh0LDEpLHJ8fEx8fChDdCh0LHU/Im9uQ29tcGxldGUiOiJvblJldmVyc2VDb21wbGV0ZSIsITApLHQuX3Byb20mJnQuX3Byb20oKSkpfWVsc2UgdC5felRpbWV8fCh0Ll96VGltZT1lKX0odGhpcyx0LGUscik7cmV0dXJuIHRoaXN9LGUudGFyZ2V0cz1mdW5jdGlvbiB0YXJnZXRzKCl7cmV0dXJuIHRoaXMuX3RhcmdldHN9LGUuaW52YWxpZGF0ZT1mdW5jdGlvbiBpbnZhbGlkYXRlKHQpe3JldHVybiB0JiZ0aGlzLnZhcnMucnVuQmFja3dhcmRzfHwodGhpcy5fc3RhcnRBdD0wKSx0aGlzLl9wdD10aGlzLl9vcD10aGlzLl9vblVwZGF0ZT10aGlzLl9sYXp5PXRoaXMucmF0aW89MCx0aGlzLl9wdExvb2t1cD1bXSx0aGlzLnRpbWVsaW5lJiZ0aGlzLnRpbWVsaW5lLmludmFsaWRhdGUodCksRC5wcm90b3R5cGUuaW52YWxpZGF0ZS5jYWxsKHRoaXMsdCl9LGUucmVzZXRUbz1mdW5jdGlvbiByZXNldFRvKHQsZSxyLGksbil7Y3x8UnQud2FrZSgpLHRoaXMuX3RzfHx0aGlzLnBsYXkoKTt2YXIgYSxzPU1hdGgubWluKHRoaXMuX2R1ciwodGhpcy5fZHAuX3RpbWUtdGhpcy5fc3RhcnQpKnRoaXMuX3RzKTtyZXR1cm4gdGhpcy5faW5pdHRlZHx8UXQodGhpcyxzKSxhPXRoaXMuX2Vhc2Uocy90aGlzLl9kdXIpLGZ1bmN0aW9uIF91cGRhdGVQcm9wVHdlZW5zKHQsZSxyLGksbixhLHMsbyl7dmFyIHUsaCxsLGYsZD0odC5fcHQmJnQuX3B0Q2FjaGV8fCh0Ll9wdENhY2hlPXt9KSlbZV07aWYoIWQpZm9yKGQ9dC5fcHRDYWNoZVtlXT1bXSxsPXQuX3B0TG9va3VwLGY9dC5fdGFyZ2V0cy5sZW5ndGg7Zi0tOyl7aWYoKHU9bFtmXVtlXSkmJnUuZCYmdS5kLl9wdClmb3IodT11LmQuX3B0O3UmJnUucCE9PWUmJnUuZnAhPT1lOyl1PXUuX25leHQ7aWYoIXUpcmV0dXJuIEd0PTEsdC52YXJzW2VdPSIrPTAiLFF0KHQscyksR3Q9MCxvP1IoZSsiIG5vdCBlbGlnaWJsZSBmb3IgcmVzZXQiKToxO2QucHVzaCh1KX1mb3IoZj1kLmxlbmd0aDtmLS07KSh1PShoPWRbZl0pLl9wdHx8aCkucz0haSYmMCE9PWl8fG4/dS5zKyhpfHwwKSthKnUuYzppLHUuYz1yLXUucyxoLmUmJihoLmU9aWEocikrWWEoaC5lKSksaC5iJiYoaC5iPXUucytZYShoLmIpKX0odGhpcyx0LGUscixpLGEscyxuKT90aGlzLnJlc2V0VG8odCxlLHIsaSwxKTooSWEodGhpcywwKSx0aGlzLnBhcmVudHx8eGEodGhpcy5fZHAsdGhpcywiX2ZpcnN0IiwiX2xhc3QiLHRoaXMuX2RwLl9zb3J0PyJfc3RhcnQiOjApLHRoaXMucmVuZGVyKDApKX0sZS5raWxsPWZ1bmN0aW9uIGtpbGwodCxlKXtpZih2b2lkIDA9PT1lJiYoZT0iYWxsIiksISh0fHxlJiYiYWxsIiE9PWUpKXJldHVybiB0aGlzLl9sYXp5PXRoaXMuX3B0PTAsdGhpcy5wYXJlbnQ/dGIodGhpcyk6dGhpcztpZih0aGlzLnRpbWVsaW5lKXt2YXIgaT10aGlzLnRpbWVsaW5lLnRvdGFsRHVyYXRpb24oKTtyZXR1cm4gdGhpcy50aW1lbGluZS5raWxsVHdlZW5zT2YodCxlLE50JiYhMCE9PU50LnZhcnMub3ZlcndyaXRlKS5fZmlyc3R8fHRiKHRoaXMpLHRoaXMucGFyZW50JiZpIT09dGhpcy50aW1lbGluZS50b3RhbER1cmF0aW9uKCkmJlJhKHRoaXMsdGhpcy5fZHVyKnRoaXMudGltZWxpbmUuX3REdXIvaSwwLDEpLHRoaXN9dmFyIG4sYSxzLG8sdSxoLGwsZj10aGlzLl90YXJnZXRzLGQ9dD9NdCh0KTpmLGM9dGhpcy5fcHRMb29rdXAscD10aGlzLl9wdDtpZigoIWV8fCJhbGwiPT09ZSkmJmZ1bmN0aW9uIF9hcnJheXNNYXRjaCh0LGUpe2Zvcih2YXIgcj10Lmxlbmd0aCxpPXI9PT1lLmxlbmd0aDtpJiZyLS0mJnRbcl09PT1lW3JdOyk7cmV0dXJuIHI8MH0oZixkKSlyZXR1cm4iYWxsIj09PWUmJih0aGlzLl9wdD0wKSx0Yih0aGlzKTtmb3Iobj10aGlzLl9vcD10aGlzLl9vcHx8W10sImFsbCIhPT1lJiYocihlKSYmKHU9e30saGEoZSxmdW5jdGlvbih0KXtyZXR1cm4gdVt0XT0xfSksZT11KSxlPWZ1bmN0aW9uIF9hZGRBbGlhc2VzVG9WYXJzKHQsZSl7dmFyIHIsaSxuLGEscz10WzBdP2ZhKHRbMF0pLmhhcm5lc3M6MCxvPXMmJnMuYWxpYXNlcztpZighbylyZXR1cm4gZTtmb3IoaSBpbiByPXl0KHt9LGUpLG8paWYoaSBpbiByKWZvcihuPShhPW9baV0uc3BsaXQoIiwiKSkubGVuZ3RoO24tLTspclthW25dXT1yW2ldO3JldHVybiByfShmLGUpKSxsPWYubGVuZ3RoO2wtLTspaWYofmQuaW5kZXhPZihmW2xdKSlmb3IodSBpbiBhPWNbbF0sImFsbCI9PT1lPyhuW2xdPWUsbz1hLHM9e30pOihzPW5bbF09bltsXXx8e30sbz1lKSxvKShoPWEmJmFbdV0pJiYoImtpbGwiaW4gaC5kJiYhMCE9PWguZC5raWxsKHUpfHx5YSh0aGlzLGgsIl9wdCIpLGRlbGV0ZSBhW3VdKSwiYWxsIiE9PXMmJihzW3VdPTEpO3JldHVybiB0aGlzLl9pbml0dGVkJiYhdGhpcy5fcHQmJnAmJnRiKHRoaXMpLHRoaXN9LFR3ZWVuLnRvPWZ1bmN0aW9uIHRvKHQsZSxyKXtyZXR1cm4gbmV3IFR3ZWVuKHQsZSxyKX0sVHdlZW4uZnJvbT1mdW5jdGlvbiBmcm9tKHQsZSl7cmV0dXJuIFZhKDEsYXJndW1lbnRzKX0sVHdlZW4uZGVsYXllZENhbGw9ZnVuY3Rpb24gZGVsYXllZENhbGwodCxlLHIsaSl7cmV0dXJuIG5ldyBUd2VlbihlLDAse2ltbWVkaWF0ZVJlbmRlcjohMSxsYXp5OiExLG92ZXJ3cml0ZTohMSxkZWxheTp0LG9uQ29tcGxldGU6ZSxvblJldmVyc2VDb21wbGV0ZTplLG9uQ29tcGxldGVQYXJhbXM6cixvblJldmVyc2VDb21wbGV0ZVBhcmFtczpyLGNhbGxiYWNrU2NvcGU6aX0pfSxUd2Vlbi5mcm9tVG89ZnVuY3Rpb24gZnJvbVRvKHQsZSxyKXtyZXR1cm4gVmEoMixhcmd1bWVudHMpfSxUd2Vlbi5zZXQ9ZnVuY3Rpb24gc2V0KHQsZSl7cmV0dXJuIGUuZHVyYXRpb249MCxlLnJlcGVhdERlbGF5fHwoZS5yZXBlYXQ9MCksbmV3IFR3ZWVuKHQsZSl9LFR3ZWVuLmtpbGxUd2VlbnNPZj1mdW5jdGlvbiBraWxsVHdlZW5zT2YodCxlLHIpe3JldHVybiBJLmtpbGxUd2VlbnNPZih0LGUscil9LFR3ZWVufShVdCk7cWEoJHQucHJvdG90eXBlLHtfdGFyZ2V0czpbXSxfbGF6eTowLF9zdGFydEF0OjAsX29wOjAsX29uSW5pdDowfSksaGEoInN0YWdnZXJUbyxzdGFnZ2VyRnJvbSxzdGFnZ2VyRnJvbVRvIixmdW5jdGlvbihyKXskdFtyXT1mdW5jdGlvbigpe3ZhciB0PW5ldyBYdCxlPWt0LmNhbGwoYXJndW1lbnRzLDApO3JldHVybiBlLnNwbGljZSgic3RhZ2dlckZyb21UbyI9PT1yPzU6NCwwLDApLHRbcl0uYXBwbHkodCxlKX19KTtmdW5jdGlvbiBvYyh0LGUscil7cmV0dXJuIHQuc2V0QXR0cmlidXRlKGUscil9ZnVuY3Rpb24gd2ModCxlLHIsaSl7aS5tU2V0KHQsZSxpLm0uY2FsbChpLnR3ZWVuLHIsaS5tdCksaSl9dmFyIFp0PWZ1bmN0aW9uIF9zZXR0ZXJQbGFpbih0LGUscil7cmV0dXJuIHRbZV09cn0sdGU9ZnVuY3Rpb24gX3NldHRlckZ1bmModCxlLHIpe3JldHVybiB0W2VdKHIpfSxyZT1mdW5jdGlvbiBfc2V0dGVyRnVuY1dpdGhQYXJhbSh0LGUscixpKXtyZXR1cm4gdFtlXShpLmZwLHIpfSxuZT1mdW5jdGlvbiBfZ2V0U2V0dGVyKHQsZSl7cmV0dXJuIHModFtlXSk/dGU6dSh0W2VdKSYmdC5zZXRBdHRyaWJ1dGU/b2M6WnR9LGFlPWZ1bmN0aW9uIF9yZW5kZXJQbGFpbih0LGUpe3JldHVybiBlLnNldChlLnQsZS5wLE1hdGgucm91bmQoMWU2KihlLnMrZS5jKnQpKS8xZTYsZSl9LHNlPWZ1bmN0aW9uIF9yZW5kZXJCb29sZWFuKHQsZSl7cmV0dXJuIGUuc2V0KGUudCxlLnAsISEoZS5zK2UuYyp0KSxlKX0sdWU9ZnVuY3Rpb24gX3JlbmRlckNvbXBsZXhTdHJpbmcodCxlKXt2YXIgcj1lLl9wdCxpPSIiO2lmKCF0JiZlLmIpaT1lLmI7ZWxzZSBpZigxPT09dCYmZS5lKWk9ZS5lO2Vsc2V7Zm9yKDtyOylpPXIucCsoci5tP3IubShyLnMrci5jKnQpOk1hdGgucm91bmQoMWU0KihyLnMrci5jKnQpKS8xZTQpK2kscj1yLl9uZXh0O2krPWUuY31lLnNldChlLnQsZS5wLGksZSl9LGhlPWZ1bmN0aW9uIF9yZW5kZXJQcm9wVHdlZW5zKHQsZSl7Zm9yKHZhciByPWUuX3B0O3I7KXIucih0LHIuZCkscj1yLl9uZXh0fSxmZT1mdW5jdGlvbiBfYWRkUGx1Z2luTW9kaWZpZXIodCxlLHIsaSl7Zm9yKHZhciBuLGE9dGhpcy5fcHQ7YTspbj1hLl9uZXh0LGEucD09PWkmJmEubW9kaWZpZXIodCxlLHIpLGE9bn0sY2U9ZnVuY3Rpb24gX2tpbGxQcm9wVHdlZW5zT2YodCl7Zm9yKHZhciBlLHIsaT10aGlzLl9wdDtpOylyPWkuX25leHQsaS5wPT09dCYmIWkub3B8fGkub3A9PT10P3lhKHRoaXMsaSwiX3B0Iik6aS5kZXB8fChlPTEpLGk9cjtyZXR1cm4hZX0scGU9ZnVuY3Rpb24gX3NvcnRQcm9wVHdlZW5zQnlQcmlvcml0eSh0KXtmb3IodmFyIGUscixpLG4sYT10Ll9wdDthOyl7Zm9yKGU9YS5fbmV4dCxyPWk7ciYmci5wcj5hLnByOylyPXIuX25leHQ7KGEuX3ByZXY9cj9yLl9wcmV2Om4pP2EuX3ByZXYuX25leHQ9YTppPWEsKGEuX25leHQ9cik/ci5fcHJldj1hOm49YSxhPWV9dC5fcHQ9aX0sX2U9KFByb3BUd2Vlbi5wcm90b3R5cGUubW9kaWZpZXI9ZnVuY3Rpb24gbW9kaWZpZXIodCxlLHIpe3RoaXMubVNldD10aGlzLm1TZXR8fHRoaXMuc2V0LHRoaXMuc2V0PXdjLHRoaXMubT10LHRoaXMubXQ9cix0aGlzLnR3ZWVuPWV9LFByb3BUd2Vlbik7ZnVuY3Rpb24gUHJvcFR3ZWVuKHQsZSxyLGksbixhLHMsbyx1KXt0aGlzLnQ9ZSx0aGlzLnM9aSx0aGlzLmM9bix0aGlzLnA9cix0aGlzLnI9YXx8YWUsdGhpcy5kPXN8fHRoaXMsdGhpcy5zZXQ9b3x8WnQsdGhpcy5wcj11fHwwLCh0aGlzLl9uZXh0PXQpJiYodC5fcHJldj10aGlzKX1oYSh2dCsicGFyZW50LGR1cmF0aW9uLGVhc2UsZGVsYXksb3ZlcndyaXRlLHJ1bkJhY2t3YXJkcyxzdGFydEF0LHlveW8saW1tZWRpYXRlUmVuZGVyLHJlcGVhdCxyZXBlYXREZWxheSxkYXRhLHBhdXNlZCxyZXZlcnNlZCxsYXp5LGNhbGxiYWNrU2NvcGUsc3RyaW5nRmlsdGVyLGlkLHlveW9FYXNlLHN0YWdnZXIsaW5oZXJpdCxyZXBlYXRSZWZyZXNoLGtleWZyYW1lcyxhdXRvUmV2ZXJ0LHNjcm9sbFRyaWdnZXIiLGZ1bmN0aW9uKHQpe3JldHVybiBmdFt0XT0xfSksb3QuVHdlZW5NYXg9b3QuVHdlZW5MaXRlPSR0LG90LlRpbWVsaW5lTGl0ZT1vdC5UaW1lbGluZU1heD1YdCxJPW5ldyBYdCh7c29ydENoaWxkcmVuOiExLGRlZmF1bHRzOlYsYXV0b1JlbW92ZUNoaWxkcmVuOiEwLGlkOiJyb290IixzbW9vdGhDaGlsZFRpbWluZzohMH0pLHEuc3RyaW5nRmlsdGVyPUZiO2Z1bmN0aW9uIEVjKHQpe3JldHVybih5ZVt0XXx8VGUpLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdCgpfSl9ZnVuY3Rpb24gRmMoKXt2YXIgdD1EYXRlLm5vdygpLG89W107Mjx0LU9lJiYoRWMoIm1hdGNoTWVkaWFJbml0IiksZ2UuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZSxyLGksbixhPXQucXVlcmllcyxzPXQuY29uZGl0aW9ucztmb3IociBpbiBhKShlPWgubWF0Y2hNZWRpYShhW3JdKS5tYXRjaGVzKSYmKGk9MSksZSE9PXNbcl0mJihzW3JdPWUsbj0xKTtuJiYodC5yZXZlcnQoKSxpJiZvLnB1c2godCkpfSksRWMoIm1hdGNoTWVkaWFSZXZlcnQiKSxvLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUub25NYXRjaChlLGZ1bmN0aW9uKHQpe3JldHVybiBlLmFkZChudWxsLHQpfSl9KSxPZT10LEVjKCJtYXRjaE1lZGlhIikpfXZhciBtZSxnZT1bXSx5ZT17fSxUZT1bXSxPZT0wLE1lPTAsUGU9KChtZT1Db250ZXh0LnByb3RvdHlwZSkuYWRkPWZ1bmN0aW9uIGFkZCh0LGksbil7ZnVuY3Rpb24gR3coKXt2YXIgdCxlPWwscj1hLnNlbGVjdG9yO3JldHVybiBlJiZlIT09YSYmZS5kYXRhLnB1c2goYSksbiYmKGEuc2VsZWN0b3I9Y2IobikpLGw9YSx0PWkuYXBwbHkoYSxhcmd1bWVudHMpLHModCkmJmEuX3IucHVzaCh0KSxsPWUsYS5zZWxlY3Rvcj1yLGEuaXNSZXZlcnRlZD0hMSx0fXModCkmJihuPWksaT10LHQ9cyk7dmFyIGE9dGhpcztyZXR1cm4gYS5sYXN0PUd3LHQ9PT1zP0d3KGEsZnVuY3Rpb24odCl7cmV0dXJuIGEuYWRkKG51bGwsdCl9KTp0P2FbdF09R3c6R3d9LG1lLmlnbm9yZT1mdW5jdGlvbiBpZ25vcmUodCl7dmFyIGU9bDtsPW51bGwsdCh0aGlzKSxsPWV9LG1lLmdldFR3ZWVucz1mdW5jdGlvbiBnZXRUd2VlbnMoKXt2YXIgZT1bXTtyZXR1cm4gdGhpcy5kYXRhLmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBDb250ZXh0P2UucHVzaC5hcHBseShlLHQuZ2V0VHdlZW5zKCkpOnQgaW5zdGFuY2VvZiAkdCYmISh0LnBhcmVudCYmIm5lc3RlZCI9PT10LnBhcmVudC5kYXRhKSYmZS5wdXNoKHQpfSksZX0sbWUuY2xlYXI9ZnVuY3Rpb24gY2xlYXIoKXt0aGlzLl9yLmxlbmd0aD10aGlzLmRhdGEubGVuZ3RoPTB9LG1lLmtpbGw9ZnVuY3Rpb24ga2lsbChpLHQpe3ZhciBuPXRoaXM7aWYoaT9mdW5jdGlvbigpe2Zvcih2YXIgdCxlPW4uZ2V0VHdlZW5zKCkscj1uLmRhdGEubGVuZ3RoO3ItLTspImlzRmxpcCI9PT0odD1uLmRhdGFbcl0pLmRhdGEmJih0LnJldmVydCgpLHQuZ2V0Q2hpbGRyZW4oITAsITAsITEpLmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIGUuc3BsaWNlKGUuaW5kZXhPZih0KSwxKX0pKTtmb3IoZS5tYXAoZnVuY3Rpb24odCl7cmV0dXJue2c6dC5fZHVyfHx0Ll9kZWxheXx8dC5fc2F0JiYhdC5fc2F0LnZhcnMuaW1tZWRpYXRlUmVuZGVyP3QuZ2xvYmFsVGltZSgwKTotMS8wLHQ6dH19KS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuZy10Lmd8fC0xLzB9KS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnQucmV2ZXJ0KGkpfSkscj1uLmRhdGEubGVuZ3RoO3ItLTspKHQ9bi5kYXRhW3JdKWluc3RhbmNlb2YgWHQ/Im5lc3RlZCIhPT10LmRhdGEmJih0LnNjcm9sbFRyaWdnZXImJnQuc2Nyb2xsVHJpZ2dlci5yZXZlcnQoKSx0LmtpbGwoKSk6dCBpbnN0YW5jZW9mICR0fHwhdC5yZXZlcnR8fHQucmV2ZXJ0KGkpO24uX3IuZm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gdChpLG4pfSksbi5pc1JldmVydGVkPSEwfSgpOnRoaXMuZGF0YS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmtpbGwmJnQua2lsbCgpfSksdGhpcy5jbGVhcigpLHQpZm9yKHZhciBlPWdlLmxlbmd0aDtlLS07KWdlW2VdLmlkPT09dGhpcy5pZCYmZ2Uuc3BsaWNlKGUsMSl9LG1lLnJldmVydD1mdW5jdGlvbiByZXZlcnQodCl7dGhpcy5raWxsKHR8fHt9KX0sQ29udGV4dCk7ZnVuY3Rpb24gQ29udGV4dCh0LGUpe3RoaXMuc2VsZWN0b3I9ZSYmY2IoZSksdGhpcy5kYXRhPVtdLHRoaXMuX3I9W10sdGhpcy5pc1JldmVydGVkPSExLHRoaXMuaWQ9TWUrKyx0JiZ0aGlzLmFkZCh0KX12YXIgQ2UsQWU9KChDZT1NYXRjaE1lZGlhLnByb3RvdHlwZSkuYWRkPWZ1bmN0aW9uIGFkZCh0LGUscil7dih0KXx8KHQ9e21hdGNoZXM6dH0pO3ZhciBpLG4sYSxzPW5ldyBQZSgwLHJ8fHRoaXMuc2NvcGUpLG89cy5jb25kaXRpb25zPXt9O2ZvcihuIGluIGwmJiFzLnNlbGVjdG9yJiYocy5zZWxlY3Rvcj1sLnNlbGVjdG9yKSx0aGlzLmNvbnRleHRzLnB1c2gocyksZT1zLmFkZCgib25NYXRjaCIsZSkscy5xdWVyaWVzPXQpImFsbCI9PT1uP2E9MTooaT1oLm1hdGNoTWVkaWEodFtuXSkpJiYoZ2UuaW5kZXhPZihzKTwwJiZnZS5wdXNoKHMpLChvW25dPWkubWF0Y2hlcykmJihhPTEpLGkuYWRkTGlzdGVuZXI/aS5hZGRMaXN0ZW5lcihGYyk6aS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLEZjKSk7cmV0dXJuIGEmJmUocyxmdW5jdGlvbih0KXtyZXR1cm4gcy5hZGQobnVsbCx0KX0pLHRoaXN9LENlLnJldmVydD1mdW5jdGlvbiByZXZlcnQodCl7dGhpcy5raWxsKHR8fHt9KX0sQ2Uua2lsbD1mdW5jdGlvbiBraWxsKGUpe3RoaXMuY29udGV4dHMuZm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gdC5raWxsKGUsITApfSl9LE1hdGNoTWVkaWEpO2Z1bmN0aW9uIE1hdGNoTWVkaWEodCl7dGhpcy5jb250ZXh0cz1bXSx0aGlzLnNjb3BlPXQsbCYmbC5kYXRhLnB1c2godGhpcyl9dmFyIFNlPXtyZWdpc3RlclBsdWdpbjpmdW5jdGlvbiByZWdpc3RlclBsdWdpbigpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLGU9bmV3IEFycmF5KHQpLHI9MDtyPHQ7cisrKWVbcl09YXJndW1lbnRzW3JdO2UuZm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gd2IodCl9KX0sdGltZWxpbmU6ZnVuY3Rpb24gdGltZWxpbmUodCl7cmV0dXJuIG5ldyBYdCh0KX0sZ2V0VHdlZW5zT2Y6ZnVuY3Rpb24gZ2V0VHdlZW5zT2YodCxlKXtyZXR1cm4gSS5nZXRUd2VlbnNPZih0LGUpfSxnZXRQcm9wZXJ0eTpmdW5jdGlvbiBnZXRQcm9wZXJ0eShpLHQsZSxuKXtyKGkpJiYoaT1NdChpKVswXSk7dmFyIGE9ZmEoaXx8e30pLmdldCxzPWU/cGE6b2E7cmV0dXJuIm5hdGl2ZSI9PT1lJiYoZT0iIiksaT90P3MoKHB0W3RdJiZwdFt0XS5nZXR8fGEpKGksdCxlLG4pKTpmdW5jdGlvbih0LGUscil7cmV0dXJuIHMoKHB0W3RdJiZwdFt0XS5nZXR8fGEpKGksdCxlLHIpKX06aX0scXVpY2tTZXR0ZXI6ZnVuY3Rpb24gcXVpY2tTZXR0ZXIocixlLGkpe2lmKDE8KHI9TXQocikpLmxlbmd0aCl7dmFyIG49ci5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHplLnF1aWNrU2V0dGVyKHQsZSxpKX0pLGE9bi5sZW5ndGg7cmV0dXJuIGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1hO2UtLTspbltlXSh0KX19cj1yWzBdfHx7fTt2YXIgcz1wdFtlXSxvPWZhKHIpLHU9by5oYXJuZXNzJiYoby5oYXJuZXNzLmFsaWFzZXN8fHt9KVtlXXx8ZSxoPXM/ZnVuY3Rpb24odCl7dmFyIGU9bmV3IHM7ZC5fcHQ9MCxlLmluaXQocixpP3QraTp0LGQsMCxbcl0pLGUucmVuZGVyKDEsZSksZC5fcHQmJmhlKDEsZCl9Om8uc2V0KHIsdSk7cmV0dXJuIHM/aDpmdW5jdGlvbih0KXtyZXR1cm4gaChyLHUsaT90K2k6dCxvLDEpfX0scXVpY2tUbzpmdW5jdGlvbiBxdWlja1RvKHQsaSxlKXtmdW5jdGlvbiAkeCh0LGUscil7cmV0dXJuIG4ucmVzZXRUbyhpLHQsZSxyKX12YXIgcixuPXplLnRvKHQseXQoKChyPXt9KVtpXT0iKz0wLjEiLHIucGF1c2VkPSEwLHIpLGV8fHt9KSk7cmV0dXJuICR4LnR3ZWVuPW4sJHh9LGlzVHdlZW5pbmc6ZnVuY3Rpb24gaXNUd2VlbmluZyh0KXtyZXR1cm4gMDxJLmdldFR3ZWVuc09mKHQsITApLmxlbmd0aH0sZGVmYXVsdHM6ZnVuY3Rpb24gZGVmYXVsdHModCl7cmV0dXJuIHQmJnQuZWFzZSYmKHQuZWFzZT1qdCh0LmVhc2UsVi5lYXNlKSksdGEoVix0fHx7fSl9LGNvbmZpZzpmdW5jdGlvbiBjb25maWcodCl7cmV0dXJuIHRhKHEsdHx8e30pfSxyZWdpc3RlckVmZmVjdDpmdW5jdGlvbiByZWdpc3RlckVmZmVjdCh0KXt2YXIgaT10Lm5hbWUsbj10LmVmZmVjdCxlPXQucGx1Z2lucyxhPXQuZGVmYXVsdHMscj10LmV4dGVuZFRpbWVsaW5lOyhlfHwiIikuc3BsaXQoIiwiKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JldHVybiB0JiYhcHRbdF0mJiFvdFt0XSYmUihpKyIgZWZmZWN0IHJlcXVpcmVzICIrdCsiIHBsdWdpbi4iKX0pLF90W2ldPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gbihNdCh0KSxxYShlfHx7fSxhKSxyKX0sciYmKFh0LnByb3RvdHlwZVtpXT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuYWRkKF90W2ldKHQsdihlKT9lOihyPWUpJiZ7fSx0aGlzKSxyKX0pfSxyZWdpc3RlckVhc2U6ZnVuY3Rpb24gcmVnaXN0ZXJFYXNlKHQsZSl7THRbdF09anQoZSl9LHBhcnNlRWFzZTpmdW5jdGlvbiBwYXJzZUVhc2UodCxlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9qdCh0LGUpOkx0fSxnZXRCeUlkOmZ1bmN0aW9uIGdldEJ5SWQodCl7cmV0dXJuIEkuZ2V0QnlJZCh0KX0sZXhwb3J0Um9vdDpmdW5jdGlvbiBleHBvcnRSb290KHQsZSl7dm9pZCAwPT09dCYmKHQ9e30pO3ZhciByLGksbj1uZXcgWHQodCk7Zm9yKG4uc21vb3RoQ2hpbGRUaW1pbmc9dyh0LnNtb290aENoaWxkVGltaW5nKSxJLnJlbW92ZShuKSxuLl9kcD0wLG4uX3RpbWU9bi5fdFRpbWU9SS5fdGltZSxyPUkuX2ZpcnN0O3I7KWk9ci5fbmV4dCwhZSYmIXIuX2R1ciYmciBpbnN0YW5jZW9mICR0JiZyLnZhcnMub25Db21wbGV0ZT09PXIuX3RhcmdldHNbMF18fEthKG4scixyLl9zdGFydC1yLl9kZWxheSkscj1pO3JldHVybiBLYShJLG4sMCksbn0sY29udGV4dDpmdW5jdGlvbiBjb250ZXh0KHQsZSl7cmV0dXJuIHQ/bmV3IFBlKHQsZSk6bH0sbWF0Y2hNZWRpYTpmdW5jdGlvbiBtYXRjaE1lZGlhKHQpe3JldHVybiBuZXcgQWUodCl9LG1hdGNoTWVkaWFSZWZyZXNoOmZ1bmN0aW9uIG1hdGNoTWVkaWFSZWZyZXNoKCl7cmV0dXJuIGdlLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGUscixpPXQuY29uZGl0aW9ucztmb3IociBpbiBpKWlbcl0mJihpW3JdPSExLGU9MSk7ZSYmdC5yZXZlcnQoKX0pfHxGYygpfSxhZGRFdmVudExpc3RlbmVyOmZ1bmN0aW9uIGFkZEV2ZW50TGlzdGVuZXIodCxlKXt2YXIgcj15ZVt0XXx8KHllW3RdPVtdKTt+ci5pbmRleE9mKGUpfHxyLnB1c2goZSl9LHJlbW92ZUV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24gcmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGUpe3ZhciByPXllW3RdLGk9ciYmci5pbmRleE9mKGUpOzA8PWkmJnIuc3BsaWNlKGksMSl9LHV0aWxzOnt3cmFwOmZ1bmN0aW9uIHdyYXAoZSx0LHIpe3ZhciBpPXQtZTtyZXR1cm4gWihlKT9sYihlLHdyYXAoMCxlLmxlbmd0aCksdCk6V2EocixmdW5jdGlvbih0KXtyZXR1cm4oaSsodC1lKSVpKSVpK2V9KX0sd3JhcFlveW86ZnVuY3Rpb24gd3JhcFlveW8oZSx0LHIpe3ZhciBpPXQtZSxuPTIqaTtyZXR1cm4gWihlKT9sYihlLHdyYXBZb3lvKDAsZS5sZW5ndGgtMSksdCk6V2EocixmdW5jdGlvbih0KXtyZXR1cm4gZSsoaTwodD0obisodC1lKSVuKSVufHwwKT9uLXQ6dCl9KX0sZGlzdHJpYnV0ZTplYixyYW5kb206aGIsc25hcDpnYixub3JtYWxpemU6ZnVuY3Rpb24gbm9ybWFsaXplKHQsZSxyKXtyZXR1cm4gUHQodCxlLDAsMSxyKX0sZ2V0VW5pdDpZYSxjbGFtcDpmdW5jdGlvbiBjbGFtcChlLHIsdCl7cmV0dXJuIFdhKHQsZnVuY3Rpb24odCl7cmV0dXJuIE90KGUscix0KX0pfSxzcGxpdENvbG9yOkFiLHRvQXJyYXk6TXQsc2VsZWN0b3I6Y2IsbWFwUmFuZ2U6UHQscGlwZTpmdW5jdGlvbiBwaXBlKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1uZXcgQXJyYXkodCkscj0wO3I8dDtyKyspZVtyXT1hcmd1bWVudHNbcl07cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBlLnJlZHVjZShmdW5jdGlvbih0LGUpe3JldHVybiBlKHQpfSx0KX19LHVuaXRpemU6ZnVuY3Rpb24gdW5pdGl6ZShlLHIpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZShwYXJzZUZsb2F0KHQpKSsocnx8WWEodCkpfX0saW50ZXJwb2xhdGU6ZnVuY3Rpb24gaW50ZXJwb2xhdGUoZSxpLHQsbil7dmFyIGE9aXNOYU4oZStpKT8wOmZ1bmN0aW9uKHQpe3JldHVybigxLXQpKmUrdCppfTtpZighYSl7dmFyIHMsbyx1LGgsbCxmPXIoZSksZD17fTtpZighMD09PXQmJihuPTEpJiYodD1udWxsKSxmKWU9e3A6ZX0saT17cDppfTtlbHNlIGlmKFooZSkmJiFaKGkpKXtmb3IodT1bXSxoPWUubGVuZ3RoLGw9aC0yLG89MTtvPGg7bysrKXUucHVzaChpbnRlcnBvbGF0ZShlW28tMV0sZVtvXSkpO2gtLSxhPWZ1bmN0aW9uIGZ1bmModCl7dCo9aDt2YXIgZT1NYXRoLm1pbihsLH5+dCk7cmV0dXJuIHVbZV0odC1lKX0sdD1pfWVsc2Ugbnx8KGU9eXQoWihlKT9bXTp7fSxlKSk7aWYoIXUpe2ZvcihzIGluIGkpV3QuY2FsbChkLGUscywiZ2V0IixpW3NdKTthPWZ1bmN0aW9uIGZ1bmModCl7cmV0dXJuIGhlKHQsZCl8fChmP2UucDplKX19fXJldHVybiBXYSh0LGEpfSxzaHVmZmxlOmRifSxpbnN0YWxsOlAsZWZmZWN0czpfdCx0aWNrZXI6UnQsdXBkYXRlUm9vdDpYdC51cGRhdGVSb290LHBsdWdpbnM6cHQsZ2xvYmFsVGltZWxpbmU6SSxjb3JlOntQcm9wVHdlZW46X2UsZ2xvYmFsczpTLFR3ZWVuOiR0LFRpbWVsaW5lOlh0LEFuaW1hdGlvbjpVdCxnZXRDYWNoZTpmYSxfcmVtb3ZlTGlua2VkTGlzdEl0ZW06eWEscmV2ZXJ0aW5nOmZ1bmN0aW9uIHJldmVydGluZygpe3JldHVybiBMfSxjb250ZXh0OmZ1bmN0aW9uIGNvbnRleHQodCl7cmV0dXJuIHQmJmwmJihsLmRhdGEucHVzaCh0KSx0Ll9jdHg9bCksbH0sc3VwcHJlc3NPdmVyd3JpdGVzOmZ1bmN0aW9uIHN1cHByZXNzT3ZlcndyaXRlcyh0KXtyZXR1cm4gRj10fX19O2hhKCJ0byxmcm9tLGZyb21UbyxkZWxheWVkQ2FsbCxzZXQsa2lsbFR3ZWVuc09mIixmdW5jdGlvbih0KXtyZXR1cm4gU2VbdF09JHRbdF19KSxSdC5hZGQoWHQudXBkYXRlUm9vdCksZD1TZS50byh7fSx7ZHVyYXRpb246MH0pO2Z1bmN0aW9uIEpjKHQsZSl7Zm9yKHZhciByPXQuX3B0O3ImJnIucCE9PWUmJnIub3AhPT1lJiZyLmZwIT09ZTspcj1yLl9uZXh0O3JldHVybiByfWZ1bmN0aW9uIExjKHQsYSl7cmV0dXJue25hbWU6dCxyYXdWYXJzOjEsaW5pdDpmdW5jdGlvbiBpbml0KHQsbixlKXtlLl9vbkluaXQ9ZnVuY3Rpb24odCl7dmFyIGUsaTtpZihyKG4pJiYoZT17fSxoYShuLGZ1bmN0aW9uKHQpe3JldHVybiBlW3RdPTF9KSxuPWUpLGEpe2ZvcihpIGluIGU9e30sbillW2ldPWEobltpXSk7bj1lfSFmdW5jdGlvbiBfYWRkTW9kaWZpZXJzKHQsZSl7dmFyIHIsaSxuLGE9dC5fdGFyZ2V0cztmb3IociBpbiBlKWZvcihpPWEubGVuZ3RoO2ktLTspKG49KG49dC5fcHRMb29rdXBbaV1bcl0pJiZuLmQpJiYobi5fcHQmJihuPUpjKG4scikpLG4mJm4ubW9kaWZpZXImJm4ubW9kaWZpZXIoZVtyXSx0LGFbaV0scikpfSh0LG4pfX19fXZhciB6ZT1TZS5yZWdpc3RlclBsdWdpbih7bmFtZToiYXR0ciIsaW5pdDpmdW5jdGlvbiBpbml0KHQsZSxyLGksbil7dmFyIGEscyxvO2ZvcihhIGluIHRoaXMudHdlZW49cixlKW89dC5nZXRBdHRyaWJ1dGUoYSl8fCIiLChzPXRoaXMuYWRkKHQsInNldEF0dHJpYnV0ZSIsKG98fDApKyIiLGVbYV0saSxuLDAsMCxhKSkub3A9YSxzLmI9byx0aGlzLl9wcm9wcy5wdXNoKGEpfSxyZW5kZXI6ZnVuY3Rpb24gcmVuZGVyKHQsZSl7Zm9yKHZhciByPWUuX3B0O3I7KUw/ci5zZXQoci50LHIucCxyLmIscik6ci5yKHQsci5kKSxyPXIuX25leHR9fSx7bmFtZToiZW5kQXJyYXkiLGluaXQ6ZnVuY3Rpb24gaW5pdCh0LGUpe2Zvcih2YXIgcj1lLmxlbmd0aDtyLS07KXRoaXMuYWRkKHQscix0W3JdfHwwLGVbcl0sMCwwLDAsMCwwLDEpfX0sTGMoInJvdW5kUHJvcHMiLGZiKSxMYygibW9kaWZpZXJzIiksTGMoInNuYXAiLGdiKSl8fFNlOyR0LnZlcnNpb249WHQudmVyc2lvbj16ZS52ZXJzaW9uPSIzLjEyLjUiLG89MSx4KCkmJkZ0KCk7ZnVuY3Rpb24gdmQodCxlKXtyZXR1cm4gZS5zZXQoZS50LGUucCxNYXRoLnJvdW5kKDFlNCooZS5zK2UuYyp0KSkvMWU0K2UudSxlKX1mdW5jdGlvbiB3ZCh0LGUpe3JldHVybiBlLnNldChlLnQsZS5wLDE9PT10P2UuZTpNYXRoLnJvdW5kKDFlNCooZS5zK2UuYyp0KSkvMWU0K2UudSxlKX1mdW5jdGlvbiB4ZCh0LGUpe3JldHVybiBlLnNldChlLnQsZS5wLHQ/TWF0aC5yb3VuZCgxZTQqKGUucytlLmMqdCkpLzFlNCtlLnU6ZS5iLGUpfWZ1bmN0aW9uIHlkKHQsZSl7dmFyIHI9ZS5zK2UuYyp0O2Uuc2V0KGUudCxlLnAsfn4ocisocjwwPy0uNTouNSkpK2UudSxlKX1mdW5jdGlvbiB6ZCh0LGUpe3JldHVybiBlLnNldChlLnQsZS5wLHQ/ZS5lOmUuYixlKX1mdW5jdGlvbiBBZCh0LGUpe3JldHVybiBlLnNldChlLnQsZS5wLDEhPT10P2UuYjplLmUsZSl9ZnVuY3Rpb24gQmQodCxlLHIpe3JldHVybiB0LnN0eWxlW2VdPXJ9ZnVuY3Rpb24gQ2QodCxlLHIpe3JldHVybiB0LnN0eWxlLnNldFByb3BlcnR5KGUscil9ZnVuY3Rpb24gRGQodCxlLHIpe3JldHVybiB0Ll9nc2FwW2VdPXJ9ZnVuY3Rpb24gRWQodCxlLHIpe3JldHVybiB0Ll9nc2FwLnNjYWxlWD10Ll9nc2FwLnNjYWxlWT1yfWZ1bmN0aW9uIEZkKHQsZSxyLGksbil7dmFyIGE9dC5fZ3NhcDthLnNjYWxlWD1hLnNjYWxlWT1yLGEucmVuZGVyVHJhbnNmb3JtKG4sYSl9ZnVuY3Rpb24gR2QodCxlLHIsaSxuKXt2YXIgYT10Ll9nc2FwO2FbZV09cixhLnJlbmRlclRyYW5zZm9ybShuLGEpfWZ1bmN0aW9uIEpkKHQsZSl7dmFyIHI9dGhpcyxpPXRoaXMudGFyZ2V0LG49aS5zdHlsZSxhPWkuX2dzYXA7aWYodCBpbiBhciYmbil7aWYodGhpcy50Zm09dGhpcy50Zm18fHt9LCJ0cmFuc2Zvcm0iPT09dClyZXR1cm4gZHIudHJhbnNmb3JtLnNwbGl0KCIsIikuZm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gSmQuY2FsbChyLHQsZSl9KTtpZih+KHQ9ZHJbdF18fHQpLmluZGV4T2YoIiwiKT90LnNwbGl0KCIsIikuZm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gci50Zm1bdF09eXIoaSx0KX0pOnRoaXMudGZtW3RdPWEueD9hW3RdOnlyKGksdCksdD09PXByJiYodGhpcy50Zm0uek9yaWdpbj1hLnpPcmlnaW4pLDA8PXRoaXMucHJvcHMuaW5kZXhPZihjcikpcmV0dXJuO2Euc3ZnJiYodGhpcy5zdmdvPWkuZ2V0QXR0cmlidXRlKCJkYXRhLXN2Zy1vcmlnaW4iKSx0aGlzLnByb3BzLnB1c2gocHIsZSwiIikpLHQ9Y3J9KG58fGUpJiZ0aGlzLnByb3BzLnB1c2godCxlLG5bdF0pfWZ1bmN0aW9uIEtkKHQpe3QudHJhbnNsYXRlJiYodC5yZW1vdmVQcm9wZXJ0eSgidHJhbnNsYXRlIiksdC5yZW1vdmVQcm9wZXJ0eSgic2NhbGUiKSx0LnJlbW92ZVByb3BlcnR5KCJyb3RhdGUiKSl9ZnVuY3Rpb24gTGQoKXt2YXIgdCxlLHI9dGhpcy5wcm9wcyxpPXRoaXMudGFyZ2V0LG49aS5zdHlsZSxhPWkuX2dzYXA7Zm9yKHQ9MDt0PHIubGVuZ3RoO3QrPTMpclt0KzFdP2lbclt0XV09clt0KzJdOnJbdCsyXT9uW3JbdF1dPXJbdCsyXTpuLnJlbW92ZVByb3BlcnR5KCItLSI9PT1yW3RdLnN1YnN0cigwLDIpP3JbdF06clt0XS5yZXBsYWNlKGhyLCItJDEiKS50b0xvd2VyQ2FzZSgpKTtpZih0aGlzLnRmbSl7Zm9yKGUgaW4gdGhpcy50Zm0pYVtlXT10aGlzLnRmbVtlXTthLnN2ZyYmKGEucmVuZGVyVHJhbnNmb3JtKCksaS5zZXRBdHRyaWJ1dGUoImRhdGEtc3ZnLW9yaWdpbiIsdGhpcy5zdmdvfHwiIikpLCh0PUJlKCkpJiZ0LmlzU3RhcnR8fG5bY3JdfHwoS2QobiksYS56T3JpZ2luJiZuW3ByXSYmKG5bcHJdKz0iICIrYS56T3JpZ2luKyJweCIsYS56T3JpZ2luPTAsYS5yZW5kZXJUcmFuc2Zvcm0oKSksYS51bmNhY2hlPTEpfX1mdW5jdGlvbiBNZCh0LGUpe3ZhciByPXt0YXJnZXQ6dCxwcm9wczpbXSxyZXZlcnQ6TGQsc2F2ZTpKZH07cmV0dXJuIHQuX2dzYXB8fHplLmNvcmUuZ2V0Q2FjaGUodCksZSYmZS5zcGxpdCgiLCIpLmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIHIuc2F2ZSh0KX0pLHJ9ZnVuY3Rpb24gT2QodCxlKXt2YXIgcj1EZS5jcmVhdGVFbGVtZW50TlM/RGUuY3JlYXRlRWxlbWVudE5TKChlfHwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIpLnJlcGxhY2UoL15odHRwcy8sImh0dHAiKSx0KTpEZS5jcmVhdGVFbGVtZW50KHQpO3JldHVybiByJiZyLnN0eWxlP3I6RGUuY3JlYXRlRWxlbWVudCh0KX1mdW5jdGlvbiBQZCh0LGUscil7dmFyIGk9Z2V0Q29tcHV0ZWRTdHlsZSh0KTtyZXR1cm4gaVtlXXx8aS5nZXRQcm9wZXJ0eVZhbHVlKGUucmVwbGFjZShociwiLSQxIikudG9Mb3dlckNhc2UoKSl8fGkuZ2V0UHJvcGVydHlWYWx1ZShlKXx8IXImJlBkKHQsbXIoZSl8fGUsMSl8fCIifWZ1bmN0aW9uIFNkKCl7KGZ1bmN0aW9uIF93aW5kb3dFeGlzdHMoKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvd30pKCkmJndpbmRvdy5kb2N1bWVudCYmKEVlPXdpbmRvdyxEZT1FZS5kb2N1bWVudCxSZT1EZS5kb2N1bWVudEVsZW1lbnQsTGU9T2QoImRpdiIpfHx7c3R5bGU6e319LE9kKCJkaXYiKSxjcj1tcihjcikscHI9Y3IrIk9yaWdpbiIsTGUuc3R5bGUuY3NzVGV4dD0iYm9yZGVyLXdpZHRoOjA7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nOjAiLFllPSEhbXIoInBlcnNwZWN0aXZlIiksQmU9emUuY29yZS5yZXZlcnRpbmcsRmU9MSl9ZnVuY3Rpb24gVGQodCl7dmFyIGUscj1PZCgic3ZnIix0aGlzLm93bmVyU1ZHRWxlbWVudCYmdGhpcy5vd25lclNWR0VsZW1lbnQuZ2V0QXR0cmlidXRlKCJ4bWxucyIpfHwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKSxpPXRoaXMucGFyZW50Tm9kZSxuPXRoaXMubmV4dFNpYmxpbmcsYT10aGlzLnN0eWxlLmNzc1RleHQ7aWYoUmUuYXBwZW5kQ2hpbGQociksci5hcHBlbmRDaGlsZCh0aGlzKSx0aGlzLnN0eWxlLmRpc3BsYXk9ImJsb2NrIix0KXRyeXtlPXRoaXMuZ2V0QkJveCgpLHRoaXMuX2dzYXBCQm94PXRoaXMuZ2V0QkJveCx0aGlzLmdldEJCb3g9VGR9Y2F0Y2godCl7fWVsc2UgdGhpcy5fZ3NhcEJCb3gmJihlPXRoaXMuX2dzYXBCQm94KCkpO3JldHVybiBpJiYobj9pLmluc2VydEJlZm9yZSh0aGlzLG4pOmkuYXBwZW5kQ2hpbGQodGhpcykpLFJlLnJlbW92ZUNoaWxkKHIpLHRoaXMuc3R5bGUuY3NzVGV4dD1hLGV9ZnVuY3Rpb24gVWQodCxlKXtmb3IodmFyIHI9ZS5sZW5ndGg7ci0tOylpZih0Lmhhc0F0dHJpYnV0ZShlW3JdKSlyZXR1cm4gdC5nZXRBdHRyaWJ1dGUoZVtyXSl9ZnVuY3Rpb24gVmQoZSl7dmFyIHI7dHJ5e3I9ZS5nZXRCQm94KCl9Y2F0Y2godCl7cj1UZC5jYWxsKGUsITApfXJldHVybiByJiYoci53aWR0aHx8ci5oZWlnaHQpfHxlLmdldEJCb3g9PT1UZHx8KHI9VGQuY2FsbChlLCEwKSksIXJ8fHIud2lkdGh8fHIueHx8ci55P3I6e3g6K1VkKGUsWyJ4IiwiY3giLCJ4MSJdKXx8MCx5OitVZChlLFsieSIsImN5IiwieTEiXSl8fDAsd2lkdGg6MCxoZWlnaHQ6MH19ZnVuY3Rpb24gV2QodCl7cmV0dXJuISghdC5nZXRDVE18fHQucGFyZW50Tm9kZSYmIXQub3duZXJTVkdFbGVtZW50fHwhVmQodCkpfWZ1bmN0aW9uIFhkKHQsZSl7aWYoZSl7dmFyIHIsaT10LnN0eWxlO2UgaW4gYXImJmUhPT1wciYmKGU9Y3IpLGkucmVtb3ZlUHJvcGVydHk/KCJtcyIhPT0ocj1lLnN1YnN0cigwLDIpKSYmIndlYmtpdCIhPT1lLnN1YnN0cigwLDYpfHwoZT0iLSIrZSksaS5yZW1vdmVQcm9wZXJ0eSgiLS0iPT09cj9lOmUucmVwbGFjZShociwiLSQxIikudG9Mb3dlckNhc2UoKSkpOmkucmVtb3ZlQXR0cmlidXRlKGUpfX1mdW5jdGlvbiBZZCh0LGUscixpLG4sYSl7dmFyIHM9bmV3IF9lKHQuX3B0LGUsciwwLDEsYT9BZDp6ZCk7cmV0dXJuKHQuX3B0PXMpLmI9aSxzLmU9bix0Ll9wcm9wcy5wdXNoKHIpLHN9ZnVuY3Rpb24gX2QodCxlLHIsaSl7dmFyIG4sYSxzLG8sdT1wYXJzZUZsb2F0KHIpfHwwLGg9KHIrIiIpLnRyaW0oKS5zdWJzdHIoKHUrIiIpLmxlbmd0aCl8fCJweCIsbD1MZS5zdHlsZSxmPWxyLnRlc3QoZSksZD0ic3ZnIj09PXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpLGM9KGQ/ImNsaWVudCI6Im9mZnNldCIpKyhmPyJXaWR0aCI6IkhlaWdodCIpLHA9InB4Ij09PWksXz0iJSI9PT1pO2lmKGk9PT1ofHwhdXx8Z3JbaV18fGdyW2hdKXJldHVybiB1O2lmKCJweCI9PT1ofHxwfHwodT1fZCh0LGUsciwicHgiKSksbz10LmdldENUTSYmV2QodCksKF98fCIlIj09PWgpJiYoYXJbZV18fH5lLmluZGV4T2YoImFkaXVzIikpKXJldHVybiBuPW8/dC5nZXRCQm94KClbZj8id2lkdGgiOiJoZWlnaHQiXTp0W2NdLGlhKF8/dS9uKjEwMDp1LzEwMCpuKTtpZihsW2Y/IndpZHRoIjoiaGVpZ2h0Il09MTAwKyhwP2g6aSksYT1+ZS5pbmRleE9mKCJhZGl1cyIpfHwiZW0iPT09aSYmdC5hcHBlbmRDaGlsZCYmIWQ/dDp0LnBhcmVudE5vZGUsbyYmKGE9KHQub3duZXJTVkdFbGVtZW50fHx7fSkucGFyZW50Tm9kZSksYSYmYSE9PURlJiZhLmFwcGVuZENoaWxkfHwoYT1EZS5ib2R5KSwocz1hLl9nc2FwKSYmXyYmcy53aWR0aCYmZiYmcy50aW1lPT09UnQudGltZSYmIXMudW5jYWNoZSlyZXR1cm4gaWEodS9zLndpZHRoKjEwMCk7aWYoIV98fCJoZWlnaHQiIT09ZSYmIndpZHRoIiE9PWUpIV8mJiIlIiE9PWh8fHZyW1BkKGEsImRpc3BsYXkiKV18fChsLnBvc2l0aW9uPVBkKHQsInBvc2l0aW9uIikpLGE9PT10JiYobC5wb3NpdGlvbj0ic3RhdGljIiksYS5hcHBlbmRDaGlsZChMZSksbj1MZVtjXSxhLnJlbW92ZUNoaWxkKExlKSxsLnBvc2l0aW9uPSJhYnNvbHV0ZSI7ZWxzZXt2YXIgbT10LnN0eWxlW2VdO3Quc3R5bGVbZV09MTAwK2ksbj10W2NdLG0/dC5zdHlsZVtlXT1tOlhkKHQsZSl9cmV0dXJuIGYmJl8mJigocz1mYShhKSkudGltZT1SdC50aW1lLHMud2lkdGg9YVtjXSksaWEocD9uKnUvMTAwOm4mJnU/MTAwL24qdTowKX1mdW5jdGlvbiBiZSh0LGUscixpKXtpZighcnx8Im5vbmUiPT09cil7dmFyIG49bXIoZSx0LDEpLGE9biYmUGQodCxuLDEpO2EmJmEhPT1yPyhlPW4scj1hKToiYm9yZGVyQ29sb3IiPT09ZSYmKHI9UGQodCwiYm9yZGVyVG9wQ29sb3IiKSl9dmFyIHMsbyx1LGgsbCxmLGQsYyxwLF8sbSxnPW5ldyBfZSh0aGlzLl9wdCx0LnN0eWxlLGUsMCwxLHVlKSx2PTAseT0wO2lmKGcuYj1yLGcuZT1pLHIrPSIiLCJhdXRvIj09PShpKz0iIikmJihmPXQuc3R5bGVbZV0sdC5zdHlsZVtlXT1pLGk9UGQodCxlKXx8aSxmP3Quc3R5bGVbZV09ZjpYZCh0LGUpKSxGYihzPVtyLGldKSxpPXNbMV0sdT0ocj1zWzBdKS5tYXRjaChydCl8fFtdLChpLm1hdGNoKHJ0KXx8W10pLmxlbmd0aCl7Zm9yKDtvPXJ0LmV4ZWMoaSk7KWQ9b1swXSxwPWkuc3Vic3RyaW5nKHYsby5pbmRleCksbD9sPShsKzEpJTU6InJnYmEoIiE9PXAuc3Vic3RyKC01KSYmImhzbGEoIiE9PXAuc3Vic3RyKC01KXx8KGw9MSksZCE9PShmPXVbeSsrXXx8IiIpJiYoaD1wYXJzZUZsb2F0KGYpfHwwLG09Zi5zdWJzdHIoKGgrIiIpLmxlbmd0aCksIj0iPT09ZC5jaGFyQXQoMSkmJihkPWthKGgsZCkrbSksYz1wYXJzZUZsb2F0KGQpLF89ZC5zdWJzdHIoKGMrIiIpLmxlbmd0aCksdj1ydC5sYXN0SW5kZXgtXy5sZW5ndGgsX3x8KF89X3x8cS51bml0c1tlXXx8bSx2PT09aS5sZW5ndGgmJihpKz1fLGcuZSs9XykpLG0hPT1fJiYoaD1fZCh0LGUsZixfKXx8MCksZy5fcHQ9e19uZXh0OmcuX3B0LHA6cHx8MT09PXk/cDoiLCIsczpoLGM6Yy1oLG06bCYmbDw0fHwiekluZGV4Ij09PWU/TWF0aC5yb3VuZDowfSk7Zy5jPXY8aS5sZW5ndGg/aS5zdWJzdHJpbmcodixpLmxlbmd0aCk6IiJ9ZWxzZSBnLnI9ImRpc3BsYXkiPT09ZSYmIm5vbmUiPT09aT9BZDp6ZDtyZXR1cm4gbnQudGVzdChpKSYmKGcuZT0wKSx0aGlzLl9wdD1nfWZ1bmN0aW9uIGRlKHQpe3ZhciBlPXQuc3BsaXQoIiAiKSxyPWVbMF0saT1lWzFdfHwiNTAlIjtyZXR1cm4idG9wIiE9PXImJiJib3R0b20iIT09ciYmImxlZnQiIT09aSYmInJpZ2h0IiE9PWl8fCh0PXIscj1pLGk9dCksZVswXT1UcltyXXx8cixlWzFdPVRyW2ldfHxpLGUuam9pbigiICIpfWZ1bmN0aW9uIGVlKHQsZSl7aWYoZS50d2VlbiYmZS50d2Vlbi5fdGltZT09PWUudHdlZW4uX2R1cil7dmFyIHIsaSxuLGE9ZS50LHM9YS5zdHlsZSxvPWUudSx1PWEuX2dzYXA7aWYoImFsbCI9PT1vfHwhMD09PW8pcy5jc3NUZXh0PSIiLGk9MTtlbHNlIGZvcihuPShvPW8uc3BsaXQoIiwiKSkubGVuZ3RoOy0xPC0tbjspcj1vW25dLGFyW3JdJiYoaT0xLHI9InRyYW5zZm9ybU9yaWdpbiI9PT1yP3ByOmNyKSxYZChhLHIpO2kmJihYZChhLGNyKSx1JiYodS5zdmcmJmEucmVtb3ZlQXR0cmlidXRlKCJ0cmFuc2Zvcm0iKSxPcihhLDEpLHUudW5jYWNoZT0xLEtkKHMpKSl9fWZ1bmN0aW9uIGllKHQpe3JldHVybiJtYXRyaXgoMSwgMCwgMCwgMSwgMCwgMCkiPT09dHx8Im5vbmUiPT09dHx8IXR9ZnVuY3Rpb24gamUodCl7dmFyIGU9UGQodCxjcik7cmV0dXJuIGllKGUpP3dyOmUuc3Vic3RyKDcpLm1hdGNoKGV0KS5tYXAoaWEpfWZ1bmN0aW9uIGtlKHQsZSl7dmFyIHIsaSxuLGEscz10Ll9nc2FwfHxmYSh0KSxvPXQuc3R5bGUsdT1qZSh0KTtyZXR1cm4gcy5zdmcmJnQuZ2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iKT8iMSwwLDAsMSwwLDAiPT09KHU9WyhuPXQudHJhbnNmb3JtLmJhc2VWYWwuY29uc29saWRhdGUoKS5tYXRyaXgpLmEsbi5iLG4uYyxuLmQsbi5lLG4uZl0pLmpvaW4oIiwiKT93cjp1Oih1IT09d3J8fHQub2Zmc2V0UGFyZW50fHx0PT09UmV8fHMuc3ZnfHwobj1vLmRpc3BsYXksby5kaXNwbGF5PSJibG9jayIsKHI9dC5wYXJlbnROb2RlKSYmdC5vZmZzZXRQYXJlbnR8fChhPTEsaT10Lm5leHRFbGVtZW50U2libGluZyxSZS5hcHBlbmRDaGlsZCh0KSksdT1qZSh0KSxuP28uZGlzcGxheT1uOlhkKHQsImRpc3BsYXkiKSxhJiYoaT9yLmluc2VydEJlZm9yZSh0LGkpOnI/ci5hcHBlbmRDaGlsZCh0KTpSZS5yZW1vdmVDaGlsZCh0KSkpLGUmJjY8dS5sZW5ndGg/W3VbMF0sdVsxXSx1WzRdLHVbNV0sdVsxMl0sdVsxM11dOnUpfWZ1bmN0aW9uIGxlKHQsZSxyLGksbixhKXt2YXIgcyxvLHUsaD10Ll9nc2FwLGw9bnx8a2UodCwhMCksZj1oLnhPcmlnaW58fDAsZD1oLnlPcmlnaW58fDAsYz1oLnhPZmZzZXR8fDAscD1oLnlPZmZzZXR8fDAsXz1sWzBdLG09bFsxXSxnPWxbMl0sdj1sWzNdLHk9bFs0XSxUPWxbNV0sYj1lLnNwbGl0KCIgIiksdz1wYXJzZUZsb2F0KGJbMF0pfHwwLHg9cGFyc2VGbG9hdChiWzFdKXx8MDtyP2whPT13ciYmKG89Xyp2LW0qZykmJih1PXcqKC1tL28pK3gqKF8vbyktKF8qVC1tKnkpL28sdz13Kih2L28pK3gqKC1nL28pKyhnKlQtdip5KS9vLHg9dSk6KHc9KHM9VmQodCkpLngrKH5iWzBdLmluZGV4T2YoIiUiKT93LzEwMCpzLndpZHRoOncpLHg9cy55Kyh+KGJbMV18fGJbMF0pLmluZGV4T2YoIiUiKT94LzEwMCpzLmhlaWdodDp4KSksaXx8ITEhPT1pJiZoLnNtb290aD8oeT13LWYsVD14LWQsaC54T2Zmc2V0PWMrKHkqXytUKmcpLXksaC55T2Zmc2V0PXArKHkqbStUKnYpLVQpOmgueE9mZnNldD1oLnlPZmZzZXQ9MCxoLnhPcmlnaW49dyxoLnlPcmlnaW49eCxoLnNtb290aD0hIWksaC5vcmlnaW49ZSxoLm9yaWdpbklzQWJzb2x1dGU9ISFyLHQuc3R5bGVbcHJdPSIwcHggMHB4IixhJiYoWWQoYSxoLCJ4T3JpZ2luIixmLHcpLFlkKGEsaCwieU9yaWdpbiIsZCx4KSxZZChhLGgsInhPZmZzZXQiLGMsaC54T2Zmc2V0KSxZZChhLGgsInlPZmZzZXQiLHAsaC55T2Zmc2V0KSksdC5zZXRBdHRyaWJ1dGUoImRhdGEtc3ZnLW9yaWdpbiIsdysiICIreCl9ZnVuY3Rpb24gb2UodCxlLHIpe3ZhciBpPVlhKGUpO3JldHVybiBpYShwYXJzZUZsb2F0KGUpK3BhcnNlRmxvYXQoX2QodCwieCIscisicHgiLGkpKSkraX1mdW5jdGlvbiB2ZSh0LGUsaSxuLGEpe3ZhciBzLG8sdT0zNjAsaD1yKGEpLGw9cGFyc2VGbG9hdChhKSooaCYmfmEuaW5kZXhPZigicmFkIik/c3I6MSktbixmPW4rbCsiZGVnIjtyZXR1cm4gaCYmKCJzaG9ydCI9PT0ocz1hLnNwbGl0KCJfIilbMV0pJiYobCU9dSkhPT1sJTE4MCYmKGwrPWw8MD91Oi11KSwiY3ciPT09cyYmbDwwP2w9KGwrMzZlOSkldS1+fihsL3UpKnU6ImNjdyI9PT1zJiYwPGwmJihsPShsLTM2ZTkpJXUtfn4obC91KSp1KSksdC5fcHQ9bz1uZXcgX2UodC5fcHQsZSxpLG4sbCx3ZCksby5lPWYsby51PSJkZWciLHQuX3Byb3BzLnB1c2goaSksb31mdW5jdGlvbiB3ZSh0LGUpe2Zvcih2YXIgciBpbiBlKXRbcl09ZVtyXTtyZXR1cm4gdH1mdW5jdGlvbiB4ZSh0LGUscil7dmFyIGksbixhLHMsbyx1LGgsbD13ZSh7fSxyLl9nc2FwKSxmPXIuc3R5bGU7Zm9yKG4gaW4gbC5zdmc/KGE9ci5nZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIpLHIuc2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLCIiKSxmW2NyXT1lLGk9T3IociwxKSxYZChyLGNyKSxyLnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIixhKSk6KGE9Z2V0Q29tcHV0ZWRTdHlsZShyKVtjcl0sZltjcl09ZSxpPU9yKHIsMSksZltjcl09YSksYXIpKGE9bFtuXSkhPT0ocz1pW25dKSYmInBlcnNwZWN0aXZlLGZvcmNlM0QsdHJhbnNmb3JtT3JpZ2luLHN2Z09yaWdpbiIuaW5kZXhPZihuKTwwJiYobz1ZYShhKSE9PShoPVlhKHMpKT9fZChyLG4sYSxoKTpwYXJzZUZsb2F0KGEpLHU9cGFyc2VGbG9hdChzKSx0Ll9wdD1uZXcgX2UodC5fcHQsaSxuLG8sdS1vLHZkKSx0Ll9wdC51PWh8fDAsdC5fcHJvcHMucHVzaChuKSk7d2UoaSxsKX12YXIgRWUsRGUsUmUsRmUsTGUsSWUsQmUsWWUscWU9THQuUG93ZXIwLFZlPUx0LlBvd2VyMSxVZT1MdC5Qb3dlcjIsWGU9THQuUG93ZXIzLE5lPUx0LlBvd2VyNCxHZT1MdC5MaW5lYXIsV2U9THQuUXVhZCxRZT1MdC5DdWJpYyxLZT1MdC5RdWFydCxKZT1MdC5RdWludCxIZT1MdC5TdHJvbmcsJGU9THQuRWxhc3RpYyxaZT1MdC5CYWNrLHRyPUx0LlN0ZXBwZWRFYXNlLGVyPUx0LkJvdW5jZSxycj1MdC5TaW5lLGlyPUx0LkV4cG8sbnI9THQuQ2lyYyxhcj17fSxzcj0xODAvTWF0aC5QSSxvcj1NYXRoLlBJLzE4MCx1cj1NYXRoLmF0YW4yLGhyPS8oW0EtWl0pL2csbHI9LyhsZWZ0fHJpZ2h0fHdpZHRofG1hcmdpbnxwYWRkaW5nfHgpL2ksZnI9L1tccyxcKF1cUy8sZHI9e2F1dG9BbHBoYToib3BhY2l0eSx2aXNpYmlsaXR5IixzY2FsZToic2NhbGVYLHNjYWxlWSIsYWxwaGE6Im9wYWNpdHkifSxjcj0idHJhbnNmb3JtIixwcj1jcisiT3JpZ2luIixfcj0iTyxNb3osbXMsTXMsV2Via2l0Ii5zcGxpdCgiLCIpLG1yPWZ1bmN0aW9uIF9jaGVja1Byb3BQcmVmaXgodCxlLHIpe3ZhciBpPShlfHxMZSkuc3R5bGUsbj01O2lmKHQgaW4gaSYmIXIpcmV0dXJuIHQ7Zm9yKHQ9dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0LnN1YnN0cigxKTtuLS0mJiEoX3Jbbl0rdCBpbiBpKTspO3JldHVybiBuPDA/bnVsbDooMz09PW4/Im1zIjowPD1uP19yW25dOiIiKSt0fSxncj17ZGVnOjEscmFkOjEsdHVybjoxfSx2cj17Z3JpZDoxLGZsZXg6MX0seXI9ZnVuY3Rpb24gX2dldCh0LGUscixpKXt2YXIgbjtyZXR1cm4gRmV8fFNkKCksZSBpbiBkciYmInRyYW5zZm9ybSIhPT1lJiZ+KGU9ZHJbZV0pLmluZGV4T2YoIiwiKSYmKGU9ZS5zcGxpdCgiLCIpWzBdKSxhcltlXSYmInRyYW5zZm9ybSIhPT1lPyhuPU9yKHQsaSksbj0idHJhbnNmb3JtT3JpZ2luIiE9PWU/bltlXTpuLnN2Zz9uLm9yaWdpbjprcihQZCh0LHByKSkrIiAiK24uek9yaWdpbisicHgiKToobj10LnN0eWxlW2VdKSYmImF1dG8iIT09biYmIWkmJiF+KG4rIiIpLmluZGV4T2YoImNhbGMoIil8fChuPWJyW2VdJiZicltlXSh0LGUscil8fFBkKHQsZSl8fGdhKHQsZSl8fCgib3BhY2l0eSI9PT1lPzE6MCkpLHImJiF+KG4rIiIpLnRyaW0oKS5pbmRleE9mKCIgIik/X2QodCxlLG4scikrcjpufSxUcj17dG9wOiIwJSIsYm90dG9tOiIxMDAlIixsZWZ0OiIwJSIscmlnaHQ6IjEwMCUiLGNlbnRlcjoiNTAlIn0sYnI9e2NsZWFyUHJvcHM6ZnVuY3Rpb24gY2xlYXJQcm9wcyh0LGUscixpLG4pe2lmKCJpc0Zyb21TdGFydCIhPT1uLmRhdGEpe3ZhciBhPXQuX3B0PW5ldyBfZSh0Ll9wdCxlLHIsMCwwLGVlKTtyZXR1cm4gYS51PWksYS5wcj0tMTAsYS50d2Vlbj1uLHQuX3Byb3BzLnB1c2gociksMX19fSx3cj1bMSwwLDAsMSwwLDBdLHhyPXt9LE9yPWZ1bmN0aW9uIF9wYXJzZVRyYW5zZm9ybSh0LGUpe3ZhciByPXQuX2dzYXB8fG5ldyBWdCh0KTtpZigieCJpbiByJiYhZSYmIXIudW5jYWNoZSlyZXR1cm4gcjt2YXIgaSxuLGEscyxvLHUsaCxsLGYsZCxjLHAsXyxtLGcsdix5LFQsYix3LHgsTyxrLE0sUCxDLEEsUyx6LEUsRCxSLEY9dC5zdHlsZSxMPXIuc2NhbGVYPDAsST0iZGVnIixCPWdldENvbXB1dGVkU3R5bGUodCksWT1QZCh0LHByKXx8IjAiO3JldHVybiBpPW49YT11PWg9bD1mPWQ9Yz0wLHM9bz0xLHIuc3ZnPSEoIXQuZ2V0Q1RNfHwhV2QodCkpLEIudHJhbnNsYXRlJiYoIm5vbmUiPT09Qi50cmFuc2xhdGUmJiJub25lIj09PUIuc2NhbGUmJiJub25lIj09PUIucm90YXRlfHwoRltjcl09KCJub25lIiE9PUIudHJhbnNsYXRlPyJ0cmFuc2xhdGUzZCgiKyhCLnRyYW5zbGF0ZSsiIDAgMCIpLnNwbGl0KCIgIikuc2xpY2UoMCwzKS5qb2luKCIsICIpKyIpICI6IiIpKygibm9uZSIhPT1CLnJvdGF0ZT8icm90YXRlKCIrQi5yb3RhdGUrIikgIjoiIikrKCJub25lIiE9PUIuc2NhbGU/InNjYWxlKCIrQi5zY2FsZS5zcGxpdCgiICIpLmpvaW4oIiwiKSsiKSAiOiIiKSsoIm5vbmUiIT09Qltjcl0/Qltjcl06IiIpKSxGLnNjYWxlPUYucm90YXRlPUYudHJhbnNsYXRlPSJub25lIiksbT1rZSh0LHIuc3ZnKSxyLnN2ZyYmKE09ci51bmNhY2hlPyhQPXQuZ2V0QkJveCgpLFk9ci54T3JpZ2luLVAueCsicHggIisoci55T3JpZ2luLVAueSkrInB4IiwiIik6IWUmJnQuZ2V0QXR0cmlidXRlKCJkYXRhLXN2Zy1vcmlnaW4iKSxsZSh0LE18fFksISFNfHxyLm9yaWdpbklzQWJzb2x1dGUsITEhPT1yLnNtb290aCxtKSkscD1yLnhPcmlnaW58fDAsXz1yLnlPcmlnaW58fDAsbSE9PXdyJiYoVD1tWzBdLGI9bVsxXSx3PW1bMl0seD1tWzNdLGk9Tz1tWzRdLG49az1tWzVdLDY9PT1tLmxlbmd0aD8ocz1NYXRoLnNxcnQoVCpUK2IqYiksbz1NYXRoLnNxcnQoeCp4K3cqdyksdT1UfHxiP3VyKGIsVCkqc3I6MCwoZj13fHx4P3VyKHcseCkqc3IrdTowKSYmKG8qPU1hdGguYWJzKE1hdGguY29zKGYqb3IpKSksci5zdmcmJihpLT1wLShwKlQrXyp3KSxuLT1fLShwKmIrXyp4KSkpOihSPW1bNl0sRT1tWzddLEE9bVs4XSxTPW1bOV0sej1tWzEwXSxEPW1bMTFdLGk9bVsxMl0sbj1tWzEzXSxhPW1bMTRdLGg9KGc9dXIoUix6KSkqc3IsZyYmKE09Tyoodj1NYXRoLmNvcygtZykpK0EqKHk9TWF0aC5zaW4oLWcpKSxQPWsqditTKnksQz1SKnYreip5LEE9TyoteStBKnYsUz1rKi15K1Mqdix6PVIqLXkreip2LEQ9RSoteStEKnYsTz1NLGs9UCxSPUMpLGw9KGc9dXIoLXcseikpKnNyLGcmJih2PU1hdGguY29zKC1nKSxEPXgqKHk9TWF0aC5zaW4oLWcpKStEKnYsVD1NPVQqdi1BKnksYj1QPWIqdi1TKnksdz1DPXcqdi16KnkpLHU9KGc9dXIoYixUKSkqc3IsZyYmKE09VCoodj1NYXRoLmNvcyhnKSkrYiooeT1NYXRoLnNpbihnKSksUD1PKnYrayp5LGI9Yip2LVQqeSxrPWsqdi1PKnksVD1NLE89UCksaCYmMzU5Ljk8TWF0aC5hYnMoaCkrTWF0aC5hYnModSkmJihoPXU9MCxsPTE4MC1sKSxzPWlhKE1hdGguc3FydChUKlQrYipiK3cqdykpLG89aWEoTWF0aC5zcXJ0KGsqaytSKlIpKSxnPXVyKE8sayksZj0yZS00PE1hdGguYWJzKGcpP2cqc3I6MCxjPUQ/MS8oRDwwPy1EOkQpOjApLHIuc3ZnJiYoTT10LmdldEF0dHJpYnV0ZSgidHJhbnNmb3JtIiksci5mb3JjZUNTUz10LnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIiwiIil8fCFpZShQZCh0LGNyKSksTSYmdC5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsTSkpKSw5MDxNYXRoLmFicyhmKSYmTWF0aC5hYnMoZik8MjcwJiYoTD8ocyo9LTEsZis9dTw9MD8xODA6LTE4MCx1Kz11PD0wPzE4MDotMTgwKToobyo9LTEsZis9Zjw9MD8xODA6LTE4MCkpLGU9ZXx8ci51bmNhY2hlLHIueD1pLSgoci54UGVyY2VudD1pJiYoIWUmJnIueFBlcmNlbnR8fChNYXRoLnJvdW5kKHQub2Zmc2V0V2lkdGgvMik9PT1NYXRoLnJvdW5kKC1pKT8tNTA6MCkpKT90Lm9mZnNldFdpZHRoKnIueFBlcmNlbnQvMTAwOjApKyJweCIsci55PW4tKChyLnlQZXJjZW50PW4mJighZSYmci55UGVyY2VudHx8KE1hdGgucm91bmQodC5vZmZzZXRIZWlnaHQvMik9PT1NYXRoLnJvdW5kKC1uKT8tNTA6MCkpKT90Lm9mZnNldEhlaWdodCpyLnlQZXJjZW50LzEwMDowKSsicHgiLHIuej1hKyJweCIsci5zY2FsZVg9aWEocyksci5zY2FsZVk9aWEobyksci5yb3RhdGlvbj1pYSh1KStJLHIucm90YXRpb25YPWlhKGgpK0ksci5yb3RhdGlvblk9aWEobCkrSSxyLnNrZXdYPWYrSSxyLnNrZXdZPWQrSSxyLnRyYW5zZm9ybVBlcnNwZWN0aXZlPWMrInB4Iiwoci56T3JpZ2luPXBhcnNlRmxvYXQoWS5zcGxpdCgiICIpWzJdKXx8IWUmJnIuek9yaWdpbnx8MCkmJihGW3ByXT1rcihZKSksci54T2Zmc2V0PXIueU9mZnNldD0wLHIuZm9yY2UzRD1xLmZvcmNlM0Qsci5yZW5kZXJUcmFuc2Zvcm09ci5zdmc/enI6WWU/U3I6TXIsci51bmNhY2hlPTAscn0sa3I9ZnVuY3Rpb24gX2ZpcnN0VHdvT25seSh0KXtyZXR1cm4odD10LnNwbGl0KCIgIikpWzBdKyIgIit0WzFdfSxNcj1mdW5jdGlvbiBfcmVuZGVyTm9uM0RUcmFuc2Zvcm1zKHQsZSl7ZS56PSIwcHgiLGUucm90YXRpb25ZPWUucm90YXRpb25YPSIwZGVnIixlLmZvcmNlM0Q9MCxTcih0LGUpfSxQcj0iMGRlZyIsQ3I9IjBweCIsQXI9IikgIixTcj1mdW5jdGlvbiBfcmVuZGVyQ1NTVHJhbnNmb3Jtcyh0LGUpe3ZhciByPWV8fHRoaXMsaT1yLnhQZXJjZW50LG49ci55UGVyY2VudCxhPXIueCxzPXIueSxvPXIueix1PXIucm90YXRpb24saD1yLnJvdGF0aW9uWSxsPXIucm90YXRpb25YLGY9ci5za2V3WCxkPXIuc2tld1ksYz1yLnNjYWxlWCxwPXIuc2NhbGVZLF89ci50cmFuc2Zvcm1QZXJzcGVjdGl2ZSxtPXIuZm9yY2UzRCxnPXIudGFyZ2V0LHY9ci56T3JpZ2luLHk9IiIsVD0iYXV0byI9PT1tJiZ0JiYxIT09dHx8ITA9PT1tO2lmKHYmJihsIT09UHJ8fGghPT1Qcikpe3ZhciBiLHc9cGFyc2VGbG9hdChoKSpvcix4PU1hdGguc2luKHcpLE89TWF0aC5jb3Modyk7dz1wYXJzZUZsb2F0KGwpKm9yLGI9TWF0aC5jb3ModyksYT1vZShnLGEseCpiKi12KSxzPW9lKGcscywtTWF0aC5zaW4odykqLXYpLG89b2UoZyxvLE8qYiotdit2KX1fIT09Q3ImJih5Kz0icGVyc3BlY3RpdmUoIitfK0FyKSwoaXx8bikmJih5Kz0idHJhbnNsYXRlKCIraSsiJSwgIituKyIlKSAiKSwhVCYmYT09PUNyJiZzPT09Q3ImJm89PT1Dcnx8KHkrPW8hPT1Dcnx8VD8idHJhbnNsYXRlM2QoIithKyIsICIrcysiLCAiK28rIikgIjoidHJhbnNsYXRlKCIrYSsiLCAiK3MrQXIpLHUhPT1QciYmKHkrPSJyb3RhdGUoIit1K0FyKSxoIT09UHImJih5Kz0icm90YXRlWSgiK2grQXIpLGwhPT1QciYmKHkrPSJyb3RhdGVYKCIrbCtBciksZj09PVByJiZkPT09UHJ8fCh5Kz0ic2tldygiK2YrIiwgIitkK0FyKSwxPT09YyYmMT09PXB8fCh5Kz0ic2NhbGUoIitjKyIsICIrcCtBciksZy5zdHlsZVtjcl09eXx8InRyYW5zbGF0ZSgwLCAwKSJ9LHpyPWZ1bmN0aW9uIF9yZW5kZXJTVkdUcmFuc2Zvcm1zKHQsZSl7dmFyIHIsaSxuLGEscyxvPWV8fHRoaXMsdT1vLnhQZXJjZW50LGg9by55UGVyY2VudCxsPW8ueCxmPW8ueSxkPW8ucm90YXRpb24sYz1vLnNrZXdYLHA9by5za2V3WSxfPW8uc2NhbGVYLG09by5zY2FsZVksZz1vLnRhcmdldCx2PW8ueE9yaWdpbix5PW8ueU9yaWdpbixUPW8ueE9mZnNldCxiPW8ueU9mZnNldCx3PW8uZm9yY2VDU1MseD1wYXJzZUZsb2F0KGwpLE89cGFyc2VGbG9hdChmKTtkPXBhcnNlRmxvYXQoZCksYz1wYXJzZUZsb2F0KGMpLChwPXBhcnNlRmxvYXQocCkpJiYoYys9cD1wYXJzZUZsb2F0KHApLGQrPXApLGR8fGM/KGQqPW9yLGMqPW9yLHI9TWF0aC5jb3MoZCkqXyxpPU1hdGguc2luKGQpKl8sbj1NYXRoLnNpbihkLWMpKi1tLGE9TWF0aC5jb3MoZC1jKSptLGMmJihwKj1vcixzPU1hdGgudGFuKGMtcCksbio9cz1NYXRoLnNxcnQoMStzKnMpLGEqPXMscCYmKHM9TWF0aC50YW4ocCkscio9cz1NYXRoLnNxcnQoMStzKnMpLGkqPXMpKSxyPWlhKHIpLGk9aWEoaSksbj1pYShuKSxhPWlhKGEpKToocj1fLGE9bSxpPW49MCksKHgmJiF+KGwrIiIpLmluZGV4T2YoInB4Iil8fE8mJiF+KGYrIiIpLmluZGV4T2YoInB4IikpJiYoeD1fZChnLCJ4IixsLCJweCIpLE89X2QoZywieSIsZiwicHgiKSksKHZ8fHl8fFR8fGIpJiYoeD1pYSh4K3YtKHYqcit5Km4pK1QpLE89aWEoTyt5LSh2KmkreSphKStiKSksKHV8fGgpJiYocz1nLmdldEJCb3goKSx4PWlhKHgrdS8xMDAqcy53aWR0aCksTz1pYShPK2gvMTAwKnMuaGVpZ2h0KSkscz0ibWF0cml4KCIrcisiLCIraSsiLCIrbisiLCIrYSsiLCIreCsiLCIrTysiKSIsZy5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIscyksdyYmKGcuc3R5bGVbY3JdPXMpfTtoYSgicGFkZGluZyxtYXJnaW4sV2lkdGgsUmFkaXVzIixmdW5jdGlvbihlLHIpe3ZhciB0PSJSaWdodCIsaT0iQm90dG9tIixuPSJMZWZ0IixvPShyPDM/WyJUb3AiLHQsaSxuXTpbIlRvcCIrbiwiVG9wIit0LGkrdCxpK25dKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHI8Mj9lK3Q6ImJvcmRlciIrdCtlfSk7YnJbMTxyPyJib3JkZXIiK2U6ZV09ZnVuY3Rpb24oZSx0LHIsaSxuKXt2YXIgYSxzO2lmKGFyZ3VtZW50cy5sZW5ndGg8NClyZXR1cm4gYT1vLm1hcChmdW5jdGlvbih0KXtyZXR1cm4geXIoZSx0LHIpfSksNT09PShzPWEuam9pbigiICIpKS5zcGxpdChhWzBdKS5sZW5ndGg/YVswXTpzO2E9KGkrIiIpLnNwbGl0KCIgIikscz17fSxvLmZvckVhY2goZnVuY3Rpb24odCxlKXtyZXR1cm4gc1t0XT1hW2VdPWFbZV18fGFbKGUtMSkvMnwwXX0pLGUuaW5pdCh0LHMsbil9fSk7dmFyIEVyLERyLFJyLEZyPXtuYW1lOiJjc3MiLHJlZ2lzdGVyOlNkLHRhcmdldFRlc3Q6ZnVuY3Rpb24gdGFyZ2V0VGVzdCh0KXtyZXR1cm4gdC5zdHlsZSYmdC5ub2RlVHlwZX0saW5pdDpmdW5jdGlvbiBpbml0KHQsZSxpLG4sYSl7dmFyIHMsbyx1LGgsbCxmLGQsYyxwLF8sbSxnLHYseSxULGIsdz10aGlzLl9wcm9wcyx4PXQuc3R5bGUsTz1pLnZhcnMuc3RhcnRBdDtmb3IoZCBpbiBGZXx8U2QoKSx0aGlzLnN0eWxlcz10aGlzLnN0eWxlc3x8TWQodCksYj10aGlzLnN0eWxlcy5wcm9wcyx0aGlzLnR3ZWVuPWksZSlpZigiYXV0b1JvdW5kIiE9PWQmJihvPWVbZF0sIXB0W2RdfHwhYWMoZCxlLGksbix0LGEpKSlpZihsPXR5cGVvZiBvLGY9YnJbZF0sImZ1bmN0aW9uIj09PWwmJihsPXR5cGVvZihvPW8uY2FsbChpLG4sdCxhKSkpLCJzdHJpbmciPT09bCYmfm8uaW5kZXhPZigicmFuZG9tKCIpJiYobz1vYihvKSksZilmKHRoaXMsdCxkLG8saSkmJihUPTEpO2Vsc2UgaWYoIi0tIj09PWQuc3Vic3RyKDAsMikpcz0oZ2V0Q29tcHV0ZWRTdHlsZSh0KS5nZXRQcm9wZXJ0eVZhbHVlKGQpKyIiKS50cmltKCksbys9IiIsRXQubGFzdEluZGV4PTAsRXQudGVzdChzKXx8KGM9WWEocykscD1ZYShvKSkscD9jIT09cCYmKHM9X2QodCxkLHMscCkrcCk6YyYmKG8rPWMpLHRoaXMuYWRkKHgsInNldFByb3BlcnR5IixzLG8sbixhLDAsMCxkKSx3LnB1c2goZCksYi5wdXNoKGQsMCx4W2RdKTtlbHNlIGlmKCJ1bmRlZmluZWQiIT09bCl7aWYoTyYmZCBpbiBPPyhzPSJmdW5jdGlvbiI9PXR5cGVvZiBPW2RdP09bZF0uY2FsbChpLG4sdCxhKTpPW2RdLHIocykmJn5zLmluZGV4T2YoInJhbmRvbSgiKSYmKHM9b2IocykpLFlhKHMrIiIpfHwiYXV0byI9PT1zfHwocys9cS51bml0c1tkXXx8WWEoeXIodCxkKSl8fCIiKSwiPSI9PT0ocysiIikuY2hhckF0KDEpJiYocz15cih0LGQpKSk6cz15cih0LGQpLGg9cGFyc2VGbG9hdChzKSwoXz0ic3RyaW5nIj09PWwmJiI9Ij09PW8uY2hhckF0KDEpJiZvLnN1YnN0cigwLDIpKSYmKG89by5zdWJzdHIoMikpLHU9cGFyc2VGbG9hdChvKSxkIGluIGRyJiYoImF1dG9BbHBoYSI9PT1kJiYoMT09PWgmJiJoaWRkZW4iPT09eXIodCwidmlzaWJpbGl0eSIpJiZ1JiYoaD0wKSxiLnB1c2goInZpc2liaWxpdHkiLDAseC52aXNpYmlsaXR5KSxZZCh0aGlzLHgsInZpc2liaWxpdHkiLGg/ImluaGVyaXQiOiJoaWRkZW4iLHU/ImluaGVyaXQiOiJoaWRkZW4iLCF1KSksInNjYWxlIiE9PWQmJiJ0cmFuc2Zvcm0iIT09ZCYmfihkPWRyW2RdKS5pbmRleE9mKCIsIikmJihkPWQuc3BsaXQoIiwiKVswXSkpLG09ZCBpbiBhcilpZih0aGlzLnN0eWxlcy5zYXZlKGQpLGd8fCgodj10Ll9nc2FwKS5yZW5kZXJUcmFuc2Zvcm0mJiFlLnBhcnNlVHJhbnNmb3JtfHxPcih0LGUucGFyc2VUcmFuc2Zvcm0pLHk9ITEhPT1lLnNtb290aE9yaWdpbiYmdi5zbW9vdGgsKGc9dGhpcy5fcHQ9bmV3IF9lKHRoaXMuX3B0LHgsY3IsMCwxLHYucmVuZGVyVHJhbnNmb3JtLHYsMCwtMSkpLmRlcD0xKSwic2NhbGUiPT09ZCl0aGlzLl9wdD1uZXcgX2UodGhpcy5fcHQsdiwic2NhbGVZIix2LnNjYWxlWSwoXz9rYSh2LnNjYWxlWSxfK3UpOnUpLXYuc2NhbGVZfHwwLHZkKSx0aGlzLl9wdC51PTAsdy5wdXNoKCJzY2FsZVkiLGQpLGQrPSJYIjtlbHNle2lmKCJ0cmFuc2Zvcm1PcmlnaW4iPT09ZCl7Yi5wdXNoKHByLDAseFtwcl0pLG89ZGUobyksdi5zdmc/bGUodCxvLDAseSwwLHRoaXMpOigocD1wYXJzZUZsb2F0KG8uc3BsaXQoIiAiKVsyXSl8fDApIT09di56T3JpZ2luJiZZZCh0aGlzLHYsInpPcmlnaW4iLHYuek9yaWdpbixwKSxZZCh0aGlzLHgsZCxrcihzKSxrcihvKSkpO2NvbnRpbnVlfWlmKCJzdmdPcmlnaW4iPT09ZCl7bGUodCxvLDEseSwwLHRoaXMpO2NvbnRpbnVlfWlmKGQgaW4geHIpe3ZlKHRoaXMsdixkLGgsXz9rYShoLF8rbyk6byk7Y29udGludWV9aWYoInNtb290aE9yaWdpbiI9PT1kKXtZZCh0aGlzLHYsInNtb290aCIsdi5zbW9vdGgsbyk7Y29udGludWV9aWYoImZvcmNlM0QiPT09ZCl7dltkXT1vO2NvbnRpbnVlfWlmKCJ0cmFuc2Zvcm0iPT09ZCl7eGUodGhpcyxvLHQpO2NvbnRpbnVlfX1lbHNlIGQgaW4geHx8KGQ9bXIoZCl8fGQpO2lmKG18fCh1fHwwPT09dSkmJihofHwwPT09aCkmJiFmci50ZXN0KG8pJiZkIGluIHgpdT11fHwwLChjPShzKyIiKS5zdWJzdHIoKGgrIiIpLmxlbmd0aCkpIT09KHA9WWEobyl8fChkIGluIHEudW5pdHM/cS51bml0c1tkXTpjKSkmJihoPV9kKHQsZCxzLHApKSx0aGlzLl9wdD1uZXcgX2UodGhpcy5fcHQsbT92OngsZCxoLChfP2thKGgsXyt1KTp1KS1oLG18fCJweCIhPT1wJiYiekluZGV4IiE9PWR8fCExPT09ZS5hdXRvUm91bmQ/dmQ6eWQpLHRoaXMuX3B0LnU9cHx8MCxjIT09cCYmIiUiIT09cCYmKHRoaXMuX3B0LmI9cyx0aGlzLl9wdC5yPXhkKTtlbHNlIGlmKGQgaW4geCliZS5jYWxsKHRoaXMsdCxkLHMsXz9fK286byk7ZWxzZSBpZihkIGluIHQpdGhpcy5hZGQodCxkLHN8fHRbZF0sXz9fK286byxuLGEpO2Vsc2UgaWYoInBhcnNlVHJhbnNmb3JtIiE9PWQpe1EoZCxvKTtjb250aW51ZX1tfHwoZCBpbiB4P2IucHVzaChkLDAseFtkXSk6Yi5wdXNoKGQsMSxzfHx0W2RdKSksdy5wdXNoKGQpfVQmJnBlKHRoaXMpfSxyZW5kZXI6ZnVuY3Rpb24gcmVuZGVyKHQsZSl7aWYoZS50d2Vlbi5fdGltZXx8IUJlKCkpZm9yKHZhciByPWUuX3B0O3I7KXIucih0LHIuZCkscj1yLl9uZXh0O2Vsc2UgZS5zdHlsZXMucmV2ZXJ0KCl9LGdldDp5cixhbGlhc2VzOmRyLGdldFNldHRlcjpmdW5jdGlvbiBnZXRTZXR0ZXIodCxlLHIpe3ZhciBpPWRyW2VdO3JldHVybiBpJiZpLmluZGV4T2YoIiwiKTwwJiYoZT1pKSxlIGluIGFyJiZlIT09cHImJih0Ll9nc2FwLnh8fHlyKHQsIngiKSk/ciYmSWU9PT1yPyJzY2FsZSI9PT1lP0VkOkRkOihJZT1yfHx7fSkmJigic2NhbGUiPT09ZT9GZDpHZCk6dC5zdHlsZSYmIXUodC5zdHlsZVtlXSk/QmQ6fmUuaW5kZXhPZigiLSIpP0NkOm5lKHQsZSl9LGNvcmU6e19yZW1vdmVQcm9wZXJ0eTpYZCxfZ2V0TWF0cml4OmtlfX07emUudXRpbHMuY2hlY2tQcmVmaXg9bXIsemUuY29yZS5nZXRTdHlsZVNhdmVyPU1kLFJyPWhhKChFcj0ieCx5LHosc2NhbGUsc2NhbGVYLHNjYWxlWSx4UGVyY2VudCx5UGVyY2VudCIpKyIsIisoRHI9InJvdGF0aW9uLHJvdGF0aW9uWCxyb3RhdGlvblksc2tld1gsc2tld1kiKSsiLHRyYW5zZm9ybSx0cmFuc2Zvcm1PcmlnaW4sc3ZnT3JpZ2luLGZvcmNlM0Qsc21vb3RoT3JpZ2luLHRyYW5zZm9ybVBlcnNwZWN0aXZlIixmdW5jdGlvbih0KXthclt0XT0xfSksaGEoRHIsZnVuY3Rpb24odCl7cS51bml0c1t0XT0iZGVnIix4clt0XT0xfSksZHJbUnJbMTNdXT1FcisiLCIrRHIsaGEoIjA6dHJhbnNsYXRlWCwxOnRyYW5zbGF0ZVksMjp0cmFuc2xhdGVaLDg6cm90YXRlLDg6cm90YXRpb25aLDg6cm90YXRlWiw5OnJvdGF0ZVgsMTA6cm90YXRlWSIsZnVuY3Rpb24odCl7dmFyIGU9dC5zcGxpdCgiOiIpO2RyW2VbMV1dPVJyW2VbMF1dfSksaGEoIngseSx6LHRvcCxyaWdodCxib3R0b20sbGVmdCx3aWR0aCxoZWlnaHQsZm9udFNpemUscGFkZGluZyxtYXJnaW4scGVyc3BlY3RpdmUiLGZ1bmN0aW9uKHQpe3EudW5pdHNbdF09InB4In0pLHplLnJlZ2lzdGVyUGx1Z2luKEZyKTt2YXIgTHI9emUucmVnaXN0ZXJQbHVnaW4oRnIpfHx6ZSxJcj1Mci5jb3JlLlR3ZWVuO2UuQmFjaz1aZSxlLkJvdW5jZT1lcixlLkNTU1BsdWdpbj1GcixlLkNpcmM9bnIsZS5DdWJpYz1RZSxlLkVsYXN0aWM9JGUsZS5FeHBvPWlyLGUuTGluZWFyPUdlLGUuUG93ZXIwPXFlLGUuUG93ZXIxPVZlLGUuUG93ZXIyPVVlLGUuUG93ZXIzPVhlLGUuUG93ZXI0PU5lLGUuUXVhZD1XZSxlLlF1YXJ0PUtlLGUuUXVpbnQ9SmUsZS5TaW5lPXJyLGUuU3RlcHBlZEVhc2U9dHIsZS5TdHJvbmc9SGUsZS5UaW1lbGluZUxpdGU9WHQsZS5UaW1lbGluZU1heD1YdCxlLlR3ZWVuTGl0ZT0kdCxlLlR3ZWVuTWF4PUlyLGUuZGVmYXVsdD1McixlLmdzYXA9THI7aWYgKHR5cGVvZih3aW5kb3cpPT09InVuZGVmaW5lZCJ8fHdpbmRvdyE9PWUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0gZWxzZSB7ZGVsZXRlIGUuZGVmYXVsdH19KTsK"}},"time_used":602,"timings":{"blocked":416,"dns":0,"connect":0,"send":0,"wait":96,"receive":90,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/65862.95764752c09f3f18f890.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.149Z","timestamp":1785141584149,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/65862.95764752c09f3f18f890.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\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: 95b2b42fe86393b6f5d3ec3ded0ef448\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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-27T15:03:44.229709Z","times_seen":1673,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjU4NjJdLHszNzcyMjYoZSx0LG8pe28uZCh0LHtvbldpZGdldDooKT0+c30pO2NvbnN0IHI9bmV3IE1hcDtmdW5jdGlvbiBzKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxvPWAke3R9JHtlfWA7cmV0dXJuIHIuaGFzKG8pfHxyLnNldChvLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG8paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHI9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxzPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IF87Zm9yKGxldCBlPXIubGVuZ3RoLTE7ZT49MDtlLS0paWYoXz1uZXcgUmVnRXhwKHJbZV0pLF8udGVzdChzKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksci5nZXQobyk/PyExfX0sMzAwMjg2KGUsdCxvKXsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmbmV3IGNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdGVzdD1lW3RdPXt9fXByb3ZpZGUoZSx0KXt0aGlzLl90ZXN0W2VdPXR9fSh3aW5kb3csInFhR2xvYmFscyIpfSw1ODc0MzYoZSx0LG8pe2Z1bmN0aW9uIHIoZSx0LG8scixzKXtsZXQgXz0iIjtpZihyPXI/IjsgcGF0aD0iK3I6IiIscz1zPyI7IGRvbWFpbj0iK3M6IiIsbyl7Y29uc3QgZT1uZXcgRGF0ZTtlLnNldFRpbWUoZS5nZXRUaW1lKCkrMjQqbyo2MCo2MCoxZTMpLF89IjsgZXhwaXJlcz0iK2UudG9VVENTdHJpbmcoKX1lbHNlIF89IiI7ZG9jdW1lbnQuY29va2llPWUrIj0iK3QrXytzK3J9ZnVuY3Rpb24gcyhlKXtjb25zdCB0PWUrIj0iLG89ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2xldCByPW9bZV07Zm9yKDsiICI9PT1yLmNoYXJBdCgwKTspcj1yLnN1YnN0cmluZygxLHIubGVuZ3RoKTtpZigwPT09ci5pbmRleE9mKHQpKXJldHVybiByLnN1YnN0cmluZyh0Lmxlbmd0aCxyLmxlbmd0aCl9cmV0dXJuIG51bGx9by5kKHQse2dldDooKT0+cyxzZXQ6KCk9PnJ9KX0sOTQ4MzgwKGUsdCxvKXtvLmQodCx7RGVsZWdhdGU6KCk9Pl99KTtjb25zdCByPSgwLG8oMjIxMDYxKS5nZXRMb2dnZXIpKCJDb21tb24uRGVsZWdhdGUiKTtmdW5jdGlvbiBzKGUpe3JldHVybiFlLnNpbmdsZVNob3R9Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuZmlyZT10aGlzLl9maXJlSW1wbC5iaW5kKHRoaXMpLHRoaXMuX2xpc3RlbmVycz1bXX1zdWJzY3JpYmUoZSx0LG8pe3RoaXMuX2xpc3RlbmVycy5wdXNoKHtvYmplY3Q6ZSxtZW1iZXI6dCxzaW5nbGVTaG90OiEhbyxza2lwOiExfSl9dW5zdWJzY3JpYmUoZSx0KXtmb3IobGV0IG89MDtvPHRoaXMuX2xpc3RlbmVycy5sZW5ndGg7KytvKXtjb25zdCByPXRoaXMuX2xpc3RlbmVyc1tvXTtpZihyLm9iamVjdD09PWUmJnIubWVtYmVyPT09dCl7ci5za2lwPSEwLHRoaXMuX2xpc3RlbmVycy5zcGxpY2UobywxKTticmVha319fXVuc3Vic2NyaWJlQWxsKGUpe2ZvcihsZXQgdD10aGlzLl9saXN0ZW5lcnMubGVuZ3RoLTE7dD49MDstLXQpe2NvbnN0IG89dGhpcy5fbGlzdGVuZXJzW3RdO28ub2JqZWN0PT09ZSYmKG8uc2tpcD0hMCx0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKHQsMSkpfX1kZXN0cm95KCl7dGhpcy5fbGlzdGVuZXJzPVtdfV9maXJlSW1wbCguLi5lKXtjb25zdCB0PXRoaXMuX2xpc3RlbmVyczt0aGlzLl9saXN0ZW5lcnM9dGhpcy5fbGlzdGVuZXJzLmZpbHRlcihzKTtjb25zdCBvPXQubGVuZ3RoO2ZvcihsZXQgcz0wO3M8bzsrK3Mpe2NvbnN0IG89dFtzXTtpZighby5za2lwKXRyeXtvLm1lbWJlci5hcHBseShvLm9iamVjdHx8bnVsbCxlKX1jYXRjaChlKXtyLmxvZ0Vycm9yKGAke2UmJihlLnN0YWNrfHxlLm1lc3NhZ2UpfWApfX19fX0sNTM0NDQwKGUsdCxvKXtvLmQodCx7bnVtT2ZEZWNpbWFsUGxhY2VzOigpPT5ffSk7dmFyIHI9byg3MTI3NDUpLHM9by5uKHIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuKG5ldyhzKCkpKGUpLnRvRml4ZWQoKS5zcGxpdCgiLiIpWzFdfHwiIikubGVuZ3RofX0sMjMyMzY0KGUsdCxvKXtvLmQodCx7V2F0Y2hlZFZhbHVlOigpPT5ffSk7Y29uc3Qgcj0oMCwKbygyMjEwNjEpLmdldExvZ2dlcikoIkNvbW1vbi5XYXRjaGVkVmFsdWUiKTtmdW5jdGlvbiBzKGUpe3IubG9nRXJyb3IoYCR7ZSYmKGUuc3RhY2t8fGUubWVzc2FnZSl9YCl9Y2xhc3MgX3tjb25zdHJ1Y3RvciguLi5lKXt0aGlzLl9saXN0ZW5lcnM9W10sZS5sZW5ndGg+MD90aGlzLl92YWx1ZT1lWzBdOmRlbGV0ZSB0aGlzLl92YWx1ZX1kZXN0cm95KCl7dGhpcy51bnN1YnNjcmliZSgpfXZhbHVlKCl7cmV0dXJuIHRoaXMuX293bmVyP3RoaXMuX293bmVyLl92YWx1ZTp0aGlzLl92YWx1ZX1zZXRWYWx1ZShlLHQpe2NvbnN0IG89dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpcztpZihvLndyaXRlTG9jaylyZXR1cm47Y29uc3Qgcj1vLl92YWx1ZT09PWV8fE51bWJlci5pc05hTihvLl92YWx1ZSkmJk51bWJlci5pc05hTihlKTtpZighdCYmciYmby5oYXNPd25Qcm9wZXJ0eSgiX3ZhbHVlIikpcmV0dXJuO28uX3ZhbHVlPWU7Y29uc3QgXz1vLl9saXN0ZW5lcnMuc2xpY2UoKTtsZXQgaT0wO2ZvcihsZXQgdD0wO3Q8Xy5sZW5ndGg7dCsrKXtfW3RdLm9uY2UmJihvLl9saXN0ZW5lcnMuc3BsaWNlKHQtaSwxKSxpKyspO3RyeXtfW3RdLmNiKGUpfWNhdGNoKGUpe3MoZSl9fX1kZWxldGVWYWx1ZSgpe3RoaXMuc2V0VmFsdWUodm9pZCAwKX1zdWJzY3JpYmUoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24iKTtjb25zdCBvPSEhdCYmISF0Lm9uY2Uscj0hIXQmJiEhdC5jYWxsV2l0aExhc3QsXz10aGlzLl9vd25lcj90aGlzLl9vd25lcjp0aGlzO2lmKHImJl8uaGFzT3duUHJvcGVydHkoIl92YWx1ZSIpKXt0cnl7ZShfLl92YWx1ZSl9Y2F0Y2goZSl7cyhlKX1pZihvKXJldHVybn1fLl9saXN0ZW5lcnMucHVzaCh7Y2I6ZSxvd25lcjp0aGlzLG9uY2U6ISF0JiYhIXQub25jZX0pfXVuc3Vic2NyaWJlKGUpe2NvbnN0IHQ9dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpczt2b2lkIDA9PT1lJiYoZT1udWxsKTtjb25zdCBvPXQuX2xpc3RlbmVycztmb3IobGV0IHI9by5sZW5ndGg7ci0tOylvW3JdLm93bmVyIT09dGhpcyYmdCE9PXRoaXN8fG9bcl0uY2IhPT1lJiZudWxsIT09ZXx8by5zcGxpY2UociwxKX1yZWFkb25seSgpe2lmKHRoaXMuX3JlYWRvbmx5SW5zdGFuY2UpcmV0dXJuIHRoaXMuX3JlYWRvbmx5SW5zdGFuY2U7Y29uc3QgZT17c3Vic2NyaWJlOnRoaXMuc3Vic2NyaWJlLmJpbmQodGhpcyksdW5zdWJzY3JpYmU6dGhpcy51bnN1YnNjcmliZS5iaW5kKHRoaXMpLHZhbHVlOnRoaXMudmFsdWUuYmluZCh0aGlzKSx3aGVuOnRoaXMud2hlbi5iaW5kKHRoaXMpLG93bmVyc2hpcDp0aGlzLm93bmVyc2hpcC5iaW5kKHRoaXMpLHNwYXduT3duZXJzaGlwOnRoaXMuc3Bhd25Pd25lcnNoaXAuYmluZCh0aGlzKSx3ZWFrUmVmZXJlbmNlOnRoaXMud2Vha1JlZmVyZW5jZS5iaW5kKHRoaXMpLHNwYXduOmU9PnRoaXMuc3Bhd24oZSkucmVhZG9ubHkoKSxkZXN0cm95OnRoaXMuZGVzdHJveS5iaW5kKHRoaXMpfTtyZXR1cm4gdGhpcy5fcmVhZG9ubHlJbnN0YW5jZT1lLGV9c3Bhd24oZSl7cmV0dXJuIHRoaXMuX3NwYXduKGUpfXdoZW4oZSl7IWZ1bmN0aW9uKGUsdCxvKXtpZih0KGUudmFsdWUoKSkpcmV0dXJuIHZvaWQgbygpO2NvbnN0IHI9cz0+e3QocykmJihlLnVuc3Vic2NyaWJlKHIpLG8oKSl9O2Uuc3Vic2NyaWJlKHIse2NhbGxXaXRoTGFzdDohMH0pfSh0aGlzLChlPT5Cb29sZWFuKGUpKSwoKCk9Pnt0cnl7ZSh0aGlzLnZhbHVlKCkpfWNhdGNoKGUpe3MoZSl9fSkpfWFzc2VydE5vU3Vic2NyaXB0aW9ucygpezB9b3duZXJzaGlwKCl7cmV0dXJuIHRoaXN9cmVsZWFzZSgpe3RoaXMuZGVzdHJveSgpfXNwYXduT3duZXJzaGlwKCl7cmV0dXJuIHRoaXMuX3NwYXduKCl9d2Vha1JlZmVyZW5jZSgpe3JldHVybiB0aGlzLl9zcGF3bih2b2lkIDAsITApfV9zcGF3bihlLHQpe3JldHVybiBuZXcgaSh0aGlzLl9vd25lcnx8dGhpcyxlLHQpfX1jbGFzcyBpIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQsbyl7c3VwZXIoKSxkZWxldGUgdGhpcy5fbGlzdGVuZXJzLHRoaXMuX293bmVyPWUsdGhpcy5fb25EZXN0cm95PXQsdGhpcy5fd2Vha1JlZmVyZW5jZT0hIW99ZGVzdHJveSgpe3RyeXt0aGlzLl9vbkRlc3Ryb3k/LigpfWNhdGNoKGUpe3MoZSl9c3VwZXIuZGVzdHJveSgpfXJlYWRvbmx5KCl7cmV0dXJuIHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZXx8KHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZT17Li4uc3VwZXIucmVhZG9ubHkoKSxkZXN0cm95OigpPT50aGlzLmRlc3Ryb3koKSxyZWFkb25seSgpe3JldHVybiB0aGlzfX0pLHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZX1yZWxlYXNlKCl7dGhpcy5fd2Vha1JlZmVyZW5jZXx8c3VwZXIucmVsZWFzZSgpfX19LDU5ODkyMihlLHQsbyl7by5kKHQse2Zvcm1hdE51bWJlcjooKT0+aSxwYXJzZU51bWJlcjooKT0+bn0pO3ZhciByPW8oNzEyNzQ1KSxzPW8oNjYzMDQ2KSxfPW8oMTE1MjkzKTtmdW5jdGlvbiBpKGUsdCxvLHMsXyl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm5gJHtlfWA7Y29uc3QgaT0tMT09PU1hdGguc2lnbihlKT8iLSI6IiI7ZT1NYXRoLmFicyhlKTtsZXQgYT12b2lkIDA9PT1vP2UudG9TdHJpbmcoKTplLnRvRml4ZWQobyk7aWYoYS5pbmNsdWRlcygiZSIpKXtpZighcylyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gO3tjb25zdCBvPW5ldyByLkJpZyhlKTtpZihhPW8ubHQoMSk/by50b0ZpeGVkKCk6by50b1N0cmluZygpLGEuaW5jbHVkZXMoImUiKSlyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gfX1jb25zdCBuPWEuc3BsaXQoIi4iKSxsPW5bMF07bGV0IGM9blsxXTtjb25zdCBkPWZ1bmN0aW9uKGUsdCl7bGV0IG89ZS5sZW5ndGg7Y29uc3Qgcj1bXTtmb3IoO28+MDspci51bnNoaWZ0KGUuc2xpY2UoTWF0aC5tYXgoby0zLDApLG8pKSxvLT0zO3JldHVybiByLmpvaW4odCl9KGwsdC5ncm91cGluZ1NlcGFyYXRvcikKO3JldHVybiB2b2lkIDAhPT1vJiYoYz0wPT09bz92b2lkIDA6ZS50b0ZpeGVkKG8pLnNsaWNlKC1vKSksdm9pZCAwIT09XyYmdm9pZCAwIT09YyYmKGM9ZnVuY3Rpb24oZSx0KXtsZXQgbz1lLmxlbmd0aC0xO2ZvcihsZXQgcj1vO3I+PXQmJiIwIj09PWVbcl07ci09MSlvLT0xO3JldHVybiBlLnNsaWNlKDAsbysxKX0oYyxfKSksYz9gJHtpfSR7ZH0ke3QuZGVjaW1hbFNpZ259JHtjfWA6YCR7aX0ke2R9YH1jb25zdCBhPSgwLHMuZGVmYXVsdCkoKGU9Pntjb25zdCB0PWUucmVwbGFjZSgvWy1bXF17fSgpKis/LixcXF4kfCNcc10vZywiXFwkJiIpO3JldHVybiBuZXcgUmVnRXhwKHQsImdtIil9KSk7ZnVuY3Rpb24gbihlLHQpe2lmKC9eKE5hTnxbK3wtXT9JbmZpbml0eSkkLy50ZXN0KGUpKXJldHVybiBwYXJzZUZsb2F0KGUpO2U9KDAsXy5zdHJpcExUUk1hcmtzKShlKTtjb25zdCBvPWEodC5ncm91cGluZ1NlcGFyYXRvcik7cmV0dXJuIG8mJihlPWUucmVwbGFjZShvLCIiKSksZT1lLnJlcGxhY2UodC5kZWNpbWFsU2lnbiwiLiIpLC9eKFwrfC0pP1xkKyhcLlxkK3xcLik/KGUoXCt8LSk/XGQrKT8kLy50ZXN0KGUpP3BhcnNlRmxvYXQoZSk6TmFOfX0sNTQ2NDg1KGUsdCxvKXtvLmQodCx7Z2V0TnVtYmVyRm9ybWF0OigpPT5kfSk7bGV0IHI9bnVsbDt2YXIgcz1vKDg1NjMyNCk7ZnVuY3Rpb24gXyhlLHQpe3JldHVybntncm91cGluZ1NlcGFyYXRvcjplLGRlY2ltYWxTaWduOnR9fWNvbnN0IGk9XygiLCIsIi4iKSxhPV8oIi4iLCIsIiksbj1fKCLigK8iLCIsIiksbD1fKCIiLCIuIiksYz1uZXcgTWFwKFtbImVuIixpXSxbInRoIixpXSxbImphIixpXSxbImtvIixpXSxbInpoIixpXSxbInpoX1RXIixpXSxbImFyIixpXSxbImhlX0lMIixpXSxbIm1zX01ZIixpXSxbInZpIixpXSxbImRlIixhXSxbImVzIixhXSxbIml0IixhXSxbInRyIixhXSxbInB0IixhXSxbImlkX0lEIixhXSxbImZyIixuXSxbInBsIixuXSxbInJ1IixuXV0pO2Z1bmN0aW9uIGQoZSl7cmV0dXJuIGU/bDoodD1jLmdldCgoMCxzLmdldExhbmd1YWdlKSgpKXx8bCxyP3IodCk6dCk7dmFyIHR9fSw3NTU2MjcoZSx0LG8pe28uZCh0LHtQcmljZUZvcm1hdHRlcjooKT0+eX0pO3ZhciByPW8oNjAxODQxKTtmdW5jdGlvbiBzKGUsdCxvLHIpe2xldCBzPTA7aWYoZT4wJiZ0PjApe2xldCB0PWU7Zm9yKG8mJnImJih0Lz1yKTt0PjE7KXQvPTEwLHMrK31yZXR1cm4gc312YXIgXz1vKDcxMjc0NSksaT1vKDgyMjQzMSksYT1vKDU5ODkyMiksbj1vKDU0NjQ4NSksbD1vKDc4MzI1NCksYz1vKDEzODYzOCksZD1vKDExNTI5MyksdT1vKDUzNTMwKTtmdW5jdGlvbiBtKGUsdCxvKXtjb25zdCByPSgwLGMuZW5zdXJlTm90TnVsbCkoKDAsdS5nZXRNaW5UaWNrRGF0YSkoe3ByaWNlOm8sbWluVGljazpudWxsLHZhcmlhYmxlTWluVGlja0RhdGE6dCxzaG91bGRDaGVja0ZvckVxdWFsaXR5OiEwfSkpLHtwcmljZVNjYWxlOl8sbWluTW92ZTppLG1pbk1vdmUyOmF9PXI7cmV0dXJue3ByaWNlU2NhbGU6XyxtaW5Nb3ZlOmksZnJhY3Rpb25hbExlbmd0aDpzKF8saSxlLGEpfX1jbGFzcyBoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlckVycm9ycz17Y3VzdG9tOmwudChudWxsLHZvaWQgMCxvKDYxNjE4KSksZnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oOTY4ODE1KSksc2Vjb25kRnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oODUwMjk4KSl9O2NvbnN0e3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6cyxpZ25vcmVNaW5Nb3ZlOl8sdmFyaWFibGVNaW5UaWNrOmksZnJhY3Rpb25hbExlbmd0aDphfT1lO3RoaXMuX3ByaWNlU2NhbGU9dCx0aGlzLl9taW5Nb3ZlPXIsdGhpcy5fbWluTW92ZTI9cyx0aGlzLl9pZ25vcmVNaW5Nb3ZlPV8sdGhpcy5fZnJhY3Rpb25hbExlbmd0aD1hLHRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGE9dm9pZCAwPT09aT92b2lkIDA6KDAsdS5tYWtlVmFyaWFibGVNaW5UaWNrRGF0YSkoe3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6c30saSl9Zm9ybWF0SW1wbChlLHQ9e30pe2NvbnN0e3NpZ25Qb3NpdGl2ZTpvLHNpZ25OZWdhdGl2ZTpyPSEwLHRhaWxTaXplOnMsY3V0RnJhY3Rpb25hbEJ5UHJlY2lzaW9uOl89ITEsdXNlUnRsRm9ybWF0Omk9ITAsdmFyaWFibGVNaW5UaWNrRGF0YVByaWNlOmEsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om4sbm9FeHBvbmVudGlhbEZvcm06bCxyZW1vdmVBbGxFbmRpbmdaZXJvczpjfT10O2xldCB1PSIiO2U8MD91PSExPT09cj8iIjoi4oiSIjplJiYhMD09PW8mJih1PSIrIik7Y29uc3QgbT10aGlzLl9mb3JtYXRVbnNpZ25lZChNYXRoLmFicyhlKSx7dGFpbFNpemU6cyxjdXRGcmFjdGlvbmFsQnlQcmVjaXNpb246Xyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6YSxpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bixub0V4cG9uZW50aWFsRm9ybTpsLHJlbW92ZUFsbEVuZGluZ1plcm9zOmN9KSxoPSIwIj09PW0/bTp1K207cmV0dXJuIGk/KDAsZC5mb3JjZUxUUlN0cikoaCk6aH1wYXJzZShlLHQpe3JldHVybiIrIj09PShlPShlPSgwLGQuc3RyaXBMVFJNYXJrcykoZSkpLnJlcGxhY2UoIuKIkiIsIi0iKSlbMF0mJihlPWUuc3Vic3RyaW5nKDEpKSx0aGlzLl9wYXJzZVVuc2lnbmVkKGUsdCl9X3JlbW92ZUVuZGluZ1plcm9zKGUsdCl7Zm9yKGxldCBvPTA7bzx0JiYiMCI9PT1lW2UubGVuZ3RoLTFdO28rKyllPWUuc3Vic3RyaW5nKDAsZS5sZW5ndGgtMSk7cmV0dXJuIGV9fWNsYXNzIGcgZXh0ZW5kcyBoe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0LG5vRXhwb25lbnRpYWxGb3JtOm99PWU7dGhpcy5faWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0PXQsdGhpcy5fbm9FeHBvbmVudGlhbEZvcm09b31oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4gMTA9PT10aGlzLl9taW5Nb3ZlMn1fcGFyc2VVbnNpZ25lZChlLHQpe3JldHVybiB0aGlzLl9wYXJzZUFzRGVjaW1hbChlLHQpfV9mb3JtYXRVbnNpZ25lZChlLHQpewpjb25zdHt0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyPSExLHZhcmlhYmxlTWluVGlja0RhdGFQcmljZTpzLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YT0hMX09dCxuPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLGZyYWN0aW9uYWxMZW5ndGg6dGhpcy5fZnJhY3Rpb25hbExlbmd0aCx0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YX07cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGEmJihPYmplY3QuYXNzaWduKG4sbSghMSx0aGlzLl92YXJpYWJsZU1pblRpY2tEYXRhLHM/P24ucHJpY2UpKSx0aGlzLl9pZ25vcmVNaW5Nb3ZlJiYobi5taW5Nb3ZlPTEpKSx0aGlzLl9mb3JtYXRBc0RlY2ltYWwobil9X2Zvcm1hdEFzRGVjaW1hbChlKXtjb25zdHtwcmljZTp0LHByaWNlU2NhbGU6byxtaW5Nb3ZlOnIsZnJhY3Rpb25hbExlbmd0aDpzPTAsdGFpbFNpemU6bD0wLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpjLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpkPXRoaXMuX2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdCxub0V4cG9uZW50aWFsRm9ybTp1PXRoaXMuX25vRXhwb25lbnRpYWxGb3JtLHJlbW92ZUFsbEVuZGluZ1plcm9zOm19PWUsaD0oMCxuLmdldE51bWJlckZvcm1hdCkoZCk7aWYodD49MWUyMSYmIXUpcmV0dXJuIHQudG9TdHJpbmcoKS5yZXBsYWNlKCIuIixoLmRlY2ltYWxTaWduKTtjb25zdCBnPU1hdGgucG93KDEwLGwpKm8vKGM/MTpyKSxwPTEvZztsZXQgYjtpZihnPjEpYj1NYXRoLmZsb29yKHQpO2Vsc2V7Y29uc3QgZT1NYXRoLnJvdW5kKHQvcCkqcDtiPTA9PT1NYXRoLnJvdW5kKCh0LWUpL3ApP2U6ZStwfWxldCB3PSIiO2lmKGc+MSl7bGV0IGU9Yz9uZXcgXy5CaWcodCkubXVsKGcpLnJvdW5kKHZvaWQgMCwwKS5taW51cyhuZXcgXy5CaWcoYikubXVsKGcpKS50b051bWJlcigpOnBhcnNlRmxvYXQoKE1hdGgucm91bmQodCpnKS1iKmcpLnRvRml4ZWQocykpO2U+PWcmJihlLT1nLGIrPTEpLGU9Yz9uZXcgXy5CaWcoZSkucm91bmQocywwKS50b051bWJlcigpOnBhcnNlRmxvYXQoZS50b0ZpeGVkKHMpKSpyO2NvbnN0IG89KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoZSxzK2wpO2lmKCF1JiZ0PDEmJnM+PTEwJiZvLnN0YXJ0c1dpdGgoIjAwMDAiKSl7bGV0IGU9NDtmb3IobGV0IHQ9ZTt0PG8ubGVuZ3RoJiYiMCI9PT1vW3RdO3QrKyllKys7Y29uc3QgdD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLnNsaWNlKGUpLHMpO3JldHVybiIiPT09dD8iMCI6YDAke2guZGVjaW1hbFNpZ259JHt0fWUtJHtlfWB9Y29uc3QgYT10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLG0/by5sZW5ndGg6bCk7dz1hP2guZGVjaW1hbFNpZ24rYTphfWNvbnN0IHk9KDAsYS5mb3JtYXROdW1iZXIpKGIsaCx2b2lkIDAsdSk7cmV0dXJuIHkuaW5jbHVkZXMoImUiKT95Onkrd31fcGFyc2VBc0RlY2ltYWwoZSx0PXt9KXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6b309dCxyPSgwLG4uZ2V0TnVtYmVyRm9ybWF0KSh0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXR8fG8pLHM9KDAsYS5wYXJzZU51bWJlcikoZSxyKTtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKHMpP3t2YWx1ZTpzLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChzKX06e2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX19Y29uc3QgcD0iJyIsYj1uZXcgUmVnRXhwKC9eKC0/KVswLTldKyQvKTtjbGFzcyB3IGV4dGVuZHMgaHtoYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4hMX1fcGFyc2VVbnNpZ25lZChlKXtyZXR1cm4gdGhpcy5fbWluTW92ZTI/dGhpcy5fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSk6dGhpcy5fcGFyc2VBc1NpbmdsZUZyYWN0aW9uYWwoZSl9X2Zvcm1hdFVuc2lnbmVkKGUsdCl7Y29uc3R7dGFpbFNpemU6byx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6cn09dCxzPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLG1pbk1vdmUyOnRoaXMuX21pbk1vdmUyLGZyYWN0aW9uYWxMZW5ndGg6KDAsYy5lbnN1cmVEZWZpbmVkKSh0aGlzLl9mcmFjdGlvbmFsTGVuZ3RoKSx0YWlsU2l6ZTpvfTtyZXR1cm4gdm9pZCAwIT09dGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSYmT2JqZWN0LmFzc2lnbihzLG0oITAsdGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSxyPz9zLnByaWNlKSksdGhpcy5fZm9ybWF0QXNGcmFjdGlvbmFsKHMpfV9wYXJzZUFzU2luZ2xlRnJhY3Rpb25hbChlKXtsZXQgdD1iLmV4ZWMoZSk7aWYodCl7Y29uc3QgdD1wYXJzZUZsb2F0KGUpO3JldHVybnt2YWx1ZTp0LHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbCh0KX19aWYodD1uZXcgUmVnRXhwKCJeKC0/KShbMC05XSspXFwnKFswLTldKykkIikuZXhlYyhlKSx0KXtjb25zdCBlPSEhdFsxXSxvPXBhcnNlSW50KHRbMl0pLHI9dGhpcy5fcHJpY2VTY2FsZSxzPXRoaXMuX3BhdGNoRnJhY3RQYXJ0KHBhcnNlSW50KHRbM10pLDEscik7aWYocz49cnx8czwwKXJldHVybntlcnJvcjp0aGlzLl9mb3JtYXR0ZXJFcnJvcnMuZnJhY3Rpb24scmVzOiExfTtsZXQgXz1vK3MvcjtyZXR1cm4gZSYmKF89LV8pLHt2YWx1ZTpfLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChfKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSl7bGV0IHQ9Yi5leGVjKGUpO2lmKHQpe2NvbnN0IHQ9cGFyc2VGbG9hdChlKTtyZXR1cm57dmFsdWU6dCxyZXM6ITAsc3VnZ2VzdDp0aGlzLmZvcm1hdEltcGwodCl9fQppZih0PW5ldyBSZWdFeHAoIl4oLT8pKFswLTldKylcXCcoWzAtOV0rKVxcJyhbMC05XSspJCIpLmV4ZWMoZSksdCl7Y29uc3QgZT0hIXRbMV0sbz1wYXJzZUludCh0WzJdKSxyPXZvaWQgMCE9PXRoaXMuX21pbk1vdmUyJiZudWxsIT09dGhpcy5fbWluTW92ZTI/dGhpcy5fbWluTW92ZTI6TmFOLHM9dGhpcy5fcHJpY2VTY2FsZS9yLF89dGhpcy5fbWluTW92ZTIsaT10aGlzLl9wYXRjaEZyYWN0UGFydChwYXJzZUludCh0WzNdKSwxLHMpLGE9dGhpcy5fcGF0Y2hGcmFjdFBhcnQocGFyc2VJbnQodFs0XSksMixfKTtpZihpPj1zfHxpPDApcmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5mcmFjdGlvbixyZXM6ITF9O2lmKG51bGwhPV8mJmE+PV98fGE8MClyZXR1cm57ZXJyb3I6dGhpcy5fZm9ybWF0dGVyRXJyb3JzLnNlY29uZEZyYWN0aW9uLHJlczohMX07bGV0IG49bnVsbCE9Xz9vK2kvcythLyhzKl8pOk5hTjtyZXR1cm4gZSYmKG49LW4pLHt2YWx1ZTpuLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChuKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGF0Y2hGcmFjdFBhcnQoZSx0LG8pe2NvbnN0IHI9ezA6MCw1OjF9LHM9ezA6MCwyOjEsNToyLDc6M30sXz17MDowLDE6MSwyOjIsMzozLDU6NCw2OjUsNzo2LDg6N307cmV0dXJuIDI9PT1vP3ZvaWQgMD09PXJbZV0/LTE6cltlXTo0PT09bz92b2lkIDA9PT1zW2VdPy0xOnNbZV06OD09PW8mJjI9PT10P3ZvaWQgMD09PV9bZV0/LTE6X1tlXTplfV9mb3JtYXRBc0ZyYWN0aW9uYWwoZSl7Y29uc3R7cHJpY2U6dCx0YWlsU2l6ZTpvLHByaWNlU2NhbGU6cixtaW5Nb3ZlOnMsbWluTW92ZTI6XyxmcmFjdGlvbmFsTGVuZ3RoOmF9PWUsbj1yL3M7bGV0IGw9TWF0aC5mbG9vcih0KSxjPW8/TWF0aC5mbG9vcih0Km4pLWwqbjpNYXRoLnJvdW5kKHQqbiktbCpuO2M9PT1uJiYoYz0wLGwrPTEpO2xldCBkPSIiO2lmKG8pe2xldCBlPSh0LWwtYy9uKSpuO2U9TWF0aC5yb3VuZChlKk1hdGgucG93KDEwLG8pKSxkPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGUsbyksZD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhkLG8pfWlmKCFhKXRocm93IG5ldyBFcnJvcigiX2ZyYWN0aW9uYWxMZW5ndGggaXMgbm90IGNhbGN1bGF0ZWQiKTtsZXQgdT0iIjtpZihfKXtjb25zdCBlPWMlXztjPShjLWUpL187Y29uc3QgdD0oMCxpLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShjLGEpLG89dGhpcy5fZ2V0RnJhY3RQYXJ0KGUsMixfKTt1PXQrcCtvfWVsc2UgYz10aGlzLl9nZXRGcmFjdFBhcnQoYywxLHIpLHU9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYypzLGEpO3JldHVybiBsLnRvU3RyaW5nKCkrcCt1K2R9X2dldEZyYWN0UGFydChlLHQsbyl7Y29uc3Qgcj1bMCw1XSxzPVswLDIsNSw3XSxfPVswLDEsMiwzLDUsNiw3LDhdO3JldHVybiAyPT09bz92b2lkIDA9PT1yW2VdPy0xOnJbZV06ND09PW8/dm9pZCAwPT09c1tlXT8tMTpzW2VdOjg9PT1vJiYyPT09dD92b2lkIDA9PT1fW2VdPy0xOl9bZV06ZX19Y2xhc3MgeXtjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InByaWNlIjtjb25zdHttaW5Nb3ZlMjp0LGZyYWN0aW9uYWw6byx2YXJpYWJsZU1pblRpY2s6XyxpZ25vcmVNaW5Nb3ZlOmksaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmF9PWUsbj0oMCxyLmlzTnVtYmVyKShlLnByaWNlU2NhbGUpJiYoMCxyLmlzSW50ZWdlcikoZS5wcmljZVNjYWxlKT9lLnByaWNlU2NhbGU6MTAwO2lmKG48MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGJhc2UiKTtjb25zdCBsPSFlLm1pbk1vdmV8fGk/MTplLm1pbk1vdmUsYz1zKG4sbCxvLHQpLGQ9ey4uLmUsbWluTW92ZTpsLHByaWNlU2NhbGU6bixmcmFjdGlvbmFsTGVuZ3RoOmN9O3RoaXMuX3ByaWNlU2NhbGU9bix0aGlzLl9taW5Nb3ZlPWwsdGhpcy5fbWluTW92ZTI9dCx0aGlzLl9mcmFjdGlvbmFsPW8sdGhpcy5fdmFyaWFibGVNaW5UaWNrPV8sdGhpcy5faWdub3JlTWluTW92ZT1pLHRoaXMuX2ZyYWN0aW9uYWxMZW5ndGg9Yyx0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ9YSx0aGlzLl9ub0V4cG9uZW50aWFsRm9ybT1lLm5vRXhwb25lbnRpYWxGb3JtLHRoaXMuX2ltcGxlbWVudGF0aW9uPW8/bmV3IHcoZCk6bmV3IGcoZCl9aXNGcmFjdGlvbmFsKCl7cmV0dXJuISF0aGlzLl9mcmFjdGlvbmFsfXN0YXRlKCl7cmV0dXJue21pbk1vdmU6dGhpcy5fbWluTW92ZSxtaW5Nb3ZlMjp0aGlzLl9taW5Nb3ZlMixwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsdmFyaWFibGVNaW5UaWNrOnRoaXMuX3ZhcmlhYmxlTWluVGljayxpZ25vcmVNaW5Nb3ZlOnRoaXMuX2lnbm9yZU1pbk1vdmUsZnJhY3Rpb25hbDp0aGlzLl9mcmFjdGlvbmFsLG5vRXhwb25lbnRpYWxGb3JtOnRoaXMuX25vRXhwb25lbnRpYWxGb3JtfX1mb3JtYXRDaGFuZ2UoZSx0LG8pe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5mb3JtYXRJbXBsKGUtdCx7Li4ubyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6TWF0aC5taW4oTWF0aC5hYnMoZSksTWF0aC5hYnModCkpfSl9Zm9ybWF0KGUsdCl7cmV0dXJuIHRoaXMuX2ltcGxlbWVudGF0aW9uLmZvcm1hdEltcGwoZSx0KX1wYXJzZShlLHQpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5wYXJzZShlLHQpfWhhc0ZvcmV4QWRkaXRpb25hbFByZWNpc2lvbigpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgeShlKX19fSw3ODMyNTQoZSx0LG8pe28uZCh0LHt0OigpPT5yfSk7Y29uc3Qgcj1vLmkxOG5leHR9LDYyMDM1NChlLHQsbyl7dmFyIHI7by5kKHQse0xvZ29TaXplOigpPT5yfSksZnVuY3Rpb24oZSl7ZVtlLk1lZGl1bT0wXT0iTWVkaXVtIixlW2UuTGFyZ2U9MV09IkxhcmdlIn0ocnx8KHI9e30pKX0sNzQ5NjQ4KGUsdCxvKXtmdW5jdGlvbiByKGUsdD0hMSl7CiJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/dD9zZXRUaW1lb3V0KCgoKT0+ZSgpKSwxKTplKCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKCgpPT5lKCkpKX1vLmQodCx7d2hlbkRvY3VtZW50UmVhZHk6KCk9PnJ9KTtuZXcgUHJvbWlzZSgoZT0+e3IoZSl9KSl9LDYzNTE4KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyIxNDg1MSI6e30sImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiOnt9LCJjb3VudGRvd24iOnt9LCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiI6e30sInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiOnt9LCJncmF5aW5nX2Rpc2FibGVkX3Rvb2xzX2VuYWJsZWQiOnt9LCJ1cGRhdGVfc3R1ZHlfZm9ybWF0dGVyX29uX3N5bWJvbF9yZXNvbHZlIjp7fSwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50Ijp7fSwicGhvbmVfdmVyaWZpY2F0aW9uIjp7fSwic2hvd190cmFkaW5nX25vdGlmaWNhdGlvbnNfaGlzdG9yeSI6e30sInNob3dfaW50ZXJ2YWxfZGlhbG9nX29uX2tleV9wcmVzcyI6e30sImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIjp7InN1YnNldHMiOlsic2hvd19pbnRlcnZhbF9kaWFsb2dfb25fa2V5X3ByZXNzIl19LCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iOnt9LCJoZWFkZXJfc3ltYm9sX3NlYXJjaCI6e30sInN5bWJvbF9zZWFyY2hfaG90X2tleSI6e30sImhlYWRlcl9yZXNvbHV0aW9ucyI6eyJzdWJzZXRzIjpbImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIl19LCJoZWFkZXJfY2hhcnRfdHlwZSI6e30sImhlYWRlcl9zZXR0aW5ncyI6e30sImhlYWRlcl9pbmRpY2F0b3JzIjp7fSwiaGVhZGVyX2NvbXBhcmUiOnt9LCJoZWFkZXJfdW5kb19yZWRvIjp7fSwiaGVhZGVyX3F1aWNrX3NlYXJjaCI6e30sImhlYWRlcl9zY3JlZW5zaG90Ijp7fSwiaGVhZGVyX3NhdmVsb2FkIjp7fSwic3R1ZHlfb25fc3R1ZHkiOnt9LCJzY2FsZXNfZGF0ZV9mb3JtYXQiOnt9LCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiOnt9LCJoZWFkZXJfd2lkZ2V0Ijp7InN1YnNldHMiOlsiaGVhZGVyX3dpZGdldF9kb21fbm9kZSIsImhlYWRlcl9zeW1ib2xfc2VhcmNoIiwiaGVhZGVyX3Jlc29sdXRpb25zIiwiaGVhZGVyX2NoYXJ0X3R5cGUiLCJoZWFkZXJfc2V0dGluZ3MiLCJoZWFkZXJfaW5kaWNhdG9ycyIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX3VuZG9fcmVkbyIsImhlYWRlcl9xdWlja19zZWFyY2giLCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iLCJjb21wYXJlX3N5bWJvbCIsImhlYWRlcl9zY3JlZW5zaG90Il19LCJsZWdlbmRfd2lkZ2V0Ijp7fSwiY29tcGFyZV9zeW1ib2wiOnsic3Vic2V0cyI6WyJoZWFkZXJfY29tcGFyZSJdfSwicHJvcGVydHlfcGFnZXMiOnsic3Vic2V0cyI6WyJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiLCJjaGFydF9wcm9wZXJ0eV9wYWdlIl19LCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiOnt9LCJjaGFydF9wcm9wZXJ0eV9wYWdlIjp7InN1YnNldHMiOlsiY2hhcnRfcHJvcGVydHlfcGFnZV9zY2FsZXMiLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3RyYWRpbmciLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3JpZ2h0X21hcmdpbl9lZGl0b3IiXX0sImxlZnRfdG9vbGJhciI6e30sInJpZ2h0X3Rvb2xiYXIiOnt9LCJoaWRlX2xlZnRfdG9vbGJhcl9ieV9kZWZhdWx0Ijp7fSwiY29udHJvbF9iYXIiOnt9LCJ3aWRnZXRfbG9nbyI6e30sInRpbWVmcmFtZXNfdG9vbGJhciI6e30sImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiOnsic3Vic2V0cyI6WyJzaG93X2hpZGVfYnV0dG9uX2luX2xlZ2VuZCIsImZvcm1hdF9idXR0b25faW5fbGVnZW5kIiwic3R1ZHlfYnV0dG9uc19pbl9sZWdlbmQiLCJkZWxldGVfYnV0dG9uX2luX2xlZ2VuZCIsImxlZ2VuZF9pbnBsYWNlX2VkaXQiXX0sInNob3dfaGlkZV9idXR0b25faW5fbGVnZW5kIjp7fSwib2JqZWN0X3RyZWVfbGVnZW5kX21vZGUiOnt9LCJmb3JtYXRfYnV0dG9uX2luX2xlZ2VuZCI6e30sInN0dWR5X2J1dHRvbnNfaW5fbGVnZW5kIjp7fSwiZGVsZXRlX2J1dHRvbl9pbl9sZWdlbmQiOnt9LCJsZWdlbmRfaW5wbGFjZV9lZGl0Ijp7fSwiYnJva2VyX2J1dHRvbiI6e30sImJ1eV9zZWxsX2J1dHRvbnMiOnsic3Vic2V0cyI6WyJicm9rZXJfYnV0dG9uIl19LCJzaG93X2J1eV9zZWxsX2J1dHRvbnNfb25fdW5zdXBwb3J0ZWRfcmVzb2x1dGlvbiI6e30sInBhbmVfY29udGV4dF9tZW51Ijp7fSwic2NhbGVzX2NvbnRleHRfbWVudSI6e30sImxlZ2VuZF9jb250ZXh0X21lbnUiOnt9LCJjb250ZXh0X21lbnVzIjp7InN1YnNldHMiOlsicGFuZV9jb250ZXh0X21lbnUiLCJzY2FsZXNfY29udGV4dF9tZW51IiwibGVnZW5kX2NvbnRleHRfbWVudSIsIm9iamVjdHNfdHJlZV9jb250ZXh0X21lbnUiXX0sIml0ZW1zX2Zhdm9yaXRpbmciOnt9LCJzYXZlX2NoYXJ0X3Byb3BlcnRpZXNfdG9fbG9jYWxfc3RvcmFnZSI6e30sInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIjp7InN1YnNldHMiOlsiaXRlbXNfZmF2b3JpdGluZyIsInNhdmVfY2hhcnRfcHJvcGVydGllc190b19sb2NhbF9zdG9yYWdlIl19LCJoYW5kbGVfc2NhbGUiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY2FsZSIsInBpbmNoX3NjYWxlIiwiYXhpc19wcmVzc2VkX21vdXNlX21vdmVfc2NhbGUiXX0sImhhbmRsZV9zY3JvbGwiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY3JvbGwiLCJwcmVzc2VkX21vdXNlX21vdmVfc2Nyb2xsIiwiaG9yel90b3VjaF9kcmFnX3Njcm9sbCIsInZlcnRfdG91Y2hfZHJhZ19zY3JvbGwiXX0sInBsYWluX3N0dWR5bWFya2V0Ijp7fSwiZGlzYWJsZV9yZXNvbHV0aW9uX3JlYnVpbGQiOnt9LCJib3JkZXJfYXJvdW5kX3RoZV9jaGFydCI6e30sImNoYXJ0aW5nX2xpYnJhcnlfZGVidWdfbW9kZSI6e30sInNhdmVsb2FkX3JlcXVpcmVzX2F1dGhlbnRpY2F0aW9uIjp7fSwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIjp7fSwidm9sdW1lX2ZvcmNlX292ZXJsYXkiOnt9LCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0Ijp7fSwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdF9vbmNlIjp7fSwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIjp7fSwibGVhbl9jaGFydF9sb2FkIjp7fSwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0Ijp7fSwic3Rhcl9zb21lX2ludGVydmFsc19ieV9kZWZhdWx0Ijp7fSwibW92ZV9sb2dvX3RvX21haW5fcGFuZSI6e30sInNob3dfYW5pbWF0ZWRfbG9nbyI6e30sImxpbmtfdG9fdHJhZGluZ3ZpZXciOnt9LCJsb2dvX3dpdGhvdXRfbGluayI6e30sImxvZ29fYWx3YXlzX21heGltaXplZCI6e30sInJpZ2h0X2Jhcl9zdGF5c19vbl9zY3JvbGwiOnt9LCJjaGFydF9jb250ZW50X292ZXJyaWRlc19ieV9kZWZhdWx0cyI6e30sInNuYXBzaG90X3RyYWRpbmdfZHJhd2luZ3MiOnt9LCJhbGxvd19zdXBwb3J0ZWRfcmVzb2x1dGlvbnNfc2V0X29ubHkiOnt9LCJ3aWRnZXRiYXJfdGFicyI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sInNob3dfb2JqZWN0X3RyZWUiOnsic3Vic2V0cyI6WyJyaWdodF90b29sYmFyIl19LCJkb21fd2lkZ2V0Ijp7InN1YnNldHMiOlsicmlnaHRfdG9vbGJhciJdfSwiY29sbGFwc2libGVfaGVhZGVyIjp7fSwic3R1ZHlfdGVtcGxhdGVzIjp7fSwia2VlcF9zZWxlY3RlZF9ncm91cF9vbl90b29sX2NyZWF0aW9uIjp7fSwic2lkZV90b29sYmFyX2luX2Z1bGxzY3JlZW5fbW9kZSI6e30sImhlYWRlcl9pbl9mdWxsc2NyZWVuX21vZGUiOnt9LCJyZW1vdmVfbGlicmFyeV9jb250YWluZXJfYm9yZGVyIjp7fSwid2hvdHJhZGVzX2F1dGhfb25seSI6e30sInN1cHBvcnRfbXVsdGljaGFydHMiOnt9LCJkaXNwbGF5X21hcmtldF9zdGF0dXMiOnt9LCJkaXNwbGF5X2RhdGFfbW9kZSI6e30sImRhdGFzb3VyY2VfY29weXBhc3RlIjp7fSwiZHJhd2luZ190ZW1wbGF0ZXMiOnsic3Vic2V0cyI6WyJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIl19LCJleHBhbmRfc3ltYm9sc2VhcmNoX2l0ZW1zIjp7fSwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyI6e30sInN5bWJvbF9zZWFyY2hfZmxhZ3MiOnt9LCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIjp7fSwiYnVncmVwb3J0X2J1dHRvbiI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sImhlYWRlcl90cmFkZV9idXR0b24iOnt9LCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIjp7fSwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iOnt9LCJ0ZXh0X25vdGVzIjp7fSwic2hvd19zb3VyY2VfY29kZSI6e30sInN5bWJvbF9pbmZvIjp7fSwibm9fYmFyc19zdGF0dXMiOnt9LCJjbGVhcl9iYXJzX29uX3Nlcmllc19lcnJvciI6e30sImhpZGVfbG9hZGluZ19zY3JlZW5fb25fc2VyaWVzX2Vycm9yIjp7fSwic2Vjb25kc19yZXNvbHV0aW9uIjp7fSwiZG9udF9zaG93X2Jvb2xlYW5fc3R1ZHlfYXJndW1lbnRzIjp7fSwiaGlkZV9sYXN0X25hX3N0dWR5X291dHB1dCI6e30sInByaWNlX3NjYWxlX2Fsd2F5c19sYXN0X2Jhcl92YWx1ZSI6e30sInN0dWR5X2RpYWxvZ19mdW5kYW1lbnRhbHNfZWNvbm9teV9hZGRvbnMiOnt9LCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyI6e30sInRyYWRpbmdfbm90aWZpY2F0aW9ucyI6e30sImNoYXJ0X2Nyb3NzaGFpcl9tZW51Ijp7fSwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIjp7fSwiaGlkZV9zZXJpZXNfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X292ZXJsYXlfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X2NvbXBhcmVfbGVnZW5kX2l0ZW0iOnt9LCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIjp7fSwidXNlX292ZXJyaWRlc19mb3Jfb3ZlcmxheSI6e30sInRpbWV6b25lX21lbnUiOnt9LCJtYWluX3Nlcmllc19zY2FsZV9tZW51Ijp7fSwic2hvd19sb2dpbl9kaWFsb2ciOnt9LCJyZW1vdmVfaW1nX2Zyb21fcnNzIjp7fSwiYmFyc19tYXJrcyI6e30sImNoYXJ0X3Njcm9sbCI6e30sImNoYXJ0X3pvb20iOnt9LCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiOnt9LCJsb3dfZGVuc2l0eV9iYXJzIjp7fSwiZW5kX29mX3BlcmlvZF90aW1lc2NhbGVfbWFya3MiOnt9LCJvcGVuX2FjY291bnRfbWFuYWdlciI6e30sInNob3dfb3JkZXJfcGFuZWxfb25fc3RhcnQiOnt9LCJvcmRlcl9wYW5lbCI6eyJzdWJzZXRzIjpbIm9yZGVyX3BhbmVsX2Nsb3NlX2J1dHRvbiIsIm9yZGVyX3BhbmVsX3VuZG9jayIsInJpZ2h0X3Rvb2xiYXIiLCJvcmRlcl9pbmZvIl19LCJtdWx0aXBsZV93YXRjaGxpc3RzIjp7fSwid2F0Y2hsaXN0X2ltcG9ydF9leHBvcnQiOnt9LCJzdHVkeV9vdmVybGF5X2NvbXBhcmVfbGVnZW5kX29wdGlvbiI6e30sIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZGV0YWlsc193ZWJ2aWV3Ijp7fSwiY3VzdG9tX3Jlc29sdXRpb25zIjp7fSwicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyI6e30sIm1vYmlsZV90cmFkaW5nIjp7fSwicmVhbF9icm9rZXJzIjp7fSwicXVpY2tfdHJhZGluZ19wYW5lbCI6e30sIm5hdGl2ZV9tb2JpbGVfYnJva2Vyc19saXN0Ijp7fSwibm9fbWluX2NoYXJ0X3dpZHRoIjp7fSwibG9ja192aXNpYmxlX3RpbWVfcmFuZ2Vfb25fcmVzaXplIjp7fSwicHJpY2VzY2FsZV9jdXJyZW5jeSI6e30sImNyb3BwZWRfdGlja19tYXJrcyI6e30sInRyYWRpbmdfYWNjb3VudF9tYW5hZ2VyIjp7fSwiZGlzYWJsZV9zYW1laW50ZXJ2YWxfYWxpZ25pbmciOnt9LCJkaXNwbGF5X2xlZ2VuZF9vbl9hbGxfY2hhcnRzIjp7fSwiY2hhcnRfc3R5bGVfaGlsbyI6e30sImNoYXJ0X3N0eWxlX2hpbG9fbGFzdF9wcmljZSI6e30sInByaWNlc2NhbGVfdW5pdCI6e30sInNob3dfc3ByZWFkX29wZXJhdG9ycyI6e30sImhpZGVfZXhwb25lbnRpYXRpb25fc3ByZWFkX29wZXJhdG9yIjp7fSwiaGlkZV9yZWNpcHJvY2FsX3NwcmVhZF9vcGVyYXRvciI6e30sImNvbXBhcmVfc3ltYm9sX3NlYXJjaF9zcHJlYWRfb3BlcmF0b3JzIjp7fSwic3R1ZGllc19zeW1ib2xfc2VhcmNoX3NwcmVhZF9vcGVyYXRvcnMiOnt9LCJoaWRlX3Jlc29sdXRpb25faW5fbGVnZW5kIjp7fSwiaGlkZV91bnJlc29sdmVkX3N5bWJvbHNfaW5fbGVnZW5kIjp7fSwiZml4X2xlZnRfZWRnZSI6e30sInN0dWR5X3N5bWJvbF90aWNrZXJfZGVzY3JpcHRpb24iOnt9LCJ0d29fY2hhcmFjdGVyX2Jhcl9tYXJrc19sYWJlbHMiOnt9LCJwaW5fYmFyX21hcmtfdG9vbHRpcHNfb25fY2xpY2siOnt9LCJ0aWNrX3Jlc29sdXRpb24iOnt9LCJzZWNvbmRhcnlfc2VyaWVzX2V4dGVuZF90aW1lX3NjYWxlIjp7fSwiaGlkZV92b2x1bWVfbWEiOnt9LCJzbWFsbF9ub19kaXNwbGF5Ijp7fSwiY2hhcnRpbmdfbGlicmFyeV9zaW5nbGVfc3ltYm9sX3JlcXVlc3QiOnt9LCJ1c2VfdGlja2VyX29uX3N5bWJvbF9pbmZvX3VwZGF0ZSI6e30sInNob3dfem9vbV9hbmRfbW92ZV9idXR0b25zX29uX3RvdWNoIjp7fSwiaGlkZV9tYWluX3Nlcmllc19zeW1ib2xfZnJvbV9pbmRpY2F0b3JfbGVnZW5kIjp7fSwiY2hhcnRfaGlkZV9jbG9zZV9wb3NpdGlvbl9idXR0b24iOnt9LCJjaGFydF9oaWRlX2Nsb3NlX29yZGVyX2J1dHRvbiI6e30sImhpZGVfcHJpY2Vfc2NhbGVfZ2xvYmFsX2xhc3RfYmFyX3ZhbHVlIjp7InN1YnNldHMiOlsidXNlX2xhc3RfdmlzaWJsZV9iYXJfdmFsdWVfaW5fbGVnZW5kIl19LCJrZWVwX29iamVjdF90cmVlX3dpZGdldF9pbl9yaWdodF90b29sYmFyIjp7fSwic2hvd19hdmVyYWdlX2Nsb3NlX3ByaWNlX2xpbmVfYW5kX2xhYmVsIjp7fSwiaGlkZV9pbWFnZV9pbnZhbGlkX3N5bWJvbCI6e30sImhpZGVfb2JqZWN0X3RyZWVfYW5kX3ByaWNlX3NjYWxlX2V4Y2hhbmdlX2xhYmVsIjp7fSwiY29uZmlybV9vdmVyd3JpdGVfaWZfY2hhcnRfbGF5b3V0X3dpdGhfbmFtZV9leGlzdHMiOnt9LCJkZXRlcm1pbmVfZmlyc3RfZGF0YV9yZXF1ZXN0X3NpemVfdXNpbmdfdmlzaWJsZV9yYW5nZSI6e30sInVzZV9uYV9zdHJpbmdfZm9yX25vdF9hdmFpbGFibGVfdmFsdWVzIjp7fSwic2hvd19sYXN0X3ByaWNlX2FuZF9jaGFuZ2Vfb25seV9pbl9zZXJpZXNfbGVnZW5kIjp7fSwibGVnZW5kX2xhc3RfZGF5X2NoYW5nZSI6e30sImlmcmFtZV9sb2FkaW5nX2NvbXBhdGliaWxpdHlfbW9kZSI6e30sInNob3dfcGVyY2VudF9vcHRpb25fZm9yX3JpZ2h0X21hcmdpbiI6e30sIndhdGNobGlzdF9jb250ZXh0X21lbnUiOnt9LCJhY2Nlc3NpYmxlX2tleWJvYXJkX3Nob3J0Y3V0cyI6e30sImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyI6e30sImFwcF9waG9uZSI6e30sImFwcF90YWJsZXQiOnt9LCJtb2JpbGVfYXBwX2hpZGVfcmVwbGF5X3Rvb2xiYXIiOnt9LCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fdGFwX2luX2xlZ2VuZCI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fbm9uX3RyYWRhYmxlIjp7fSwic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyI6e30sInByZV9wb3N0X21hcmtldF9wcmljZV9saW5lIjp7fSwicHJlX3Bvc3RfbWFya2V0X3Nlc3Npb25zIjp7fSwic3R1ZGllc19leHRlbmRfdGltZV9zY2FsZSI6e30sImluYWN0aXZpdHlfZ2FwcyI6e30sImFsaWduX2R3bV9iYXJzX3RvX21haW5fc2VyaWVzIjp7fSwicmVxdWVzdF9vbmx5X3Zpc2libGVfcmFuZ2Vfb25fcmVzZXQiOnt9LCJleHRlbmRlZF9leHRyYXBvbGF0aW9uX2xpbWl0Ijp7fSwidHZfcHJvZHVjdGlvbiI6eyJzdWJzZXRzIjpbIndhdGNobGlzdF9zZWN0aW9ucyIsImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyIsImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsImhlYWRlcl9mdWxsc2NyZWVuX2J1dHRvbiIsImhlYWRlcl93aWRnZXQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwiYnV5X3NlbGxfYnV0dG9ucyIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwidXNlX2xvY2Fsc3RvcmFnZV9mb3Jfc2V0dGluZ3MiLCJzYXZlbG9hZF9yZXF1aXJlc19hdXRoZW50aWNhdGlvbiIsInZvbHVtZV9mb3JjZV9vdmVybGF5Iiwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHRfb25jZSIsImNoYXJ0c19hdXRvX3NhdmUiLCJzYXZlX29sZF9jaGFydF9iZWZvcmVfc2F2ZV9hcyIsImNoYXJ0X2NvbnRlbnRfb3ZlcnJpZGVzX2J5X2RlZmF1bHRzIiwiYWxlcnRzIiwiaGVhZGVyX3NhdmVsb2FkIiwiaGVhZGVyX2xheW91dHRvZ2dsZSIsImRhdGFzb3VyY2VfY29weXBhc3RlIiwic2hvd19zYXZlZF93YXRjaGxpc3RzIiwid2F0Y2hsaXN0c19mcm9tX3RvX2ZpbGUiLCJhZGRfdG9fd2F0Y2hsaXN0IiwicHJvcGVydHlfcGFnZXMiLCJzdXBwb3J0X211bHRpY2hhcnRzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZGlzcGxheV9kYXRhX21vZGUiLCJzaG93X2NoYXJ0X3dhcm5fbWVzc2FnZSIsInN1cHBvcnRfbWFuYWdlX2RyYXdpbmdzIiwid2lkZ2V0YmFyX3RhYnMiLCJzdHVkeV90ZW1wbGF0ZXMiLCJjb2xsYXBzaWJsZV9oZWFkZXIiLCJkcmF3aW5nX3RlbXBsYXRlcyIsImhlYWRlcl90cmFkZV9idXR0b24iLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIiwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iLCJ0ZXh0X25vdGVzIiwic2hvd19zb3VyY2VfY29kZSIsInN5bWJvbF9pbmZvIiwibGluZXRvb2xwcm9wZXJ0aWVzd2lkZ2V0X3RlbXBsYXRlX2J1dHRvbiIsInRyYWRpbmdfbm90aWZpY2F0aW9ucyIsInN5bWJvbF9zZWFyY2hfdGhyZWVfY29sdW1uc19leGNoYW5nZXMiLCJzeW1ib2xfc2VhcmNoX2ZsYWdzIiwic3ltYm9sX3NlYXJjaF9saW1pdGVkX2V4Y2hhbmdlcyIsInBob25lX3ZlcmlmaWNhdGlvbiIsImN1c3RvbV9yZXNvbHV0aW9ucyIsImNvbXBhcmVfc3ltYm9sIiwic3R1ZHlfb25fc3R1ZHkiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJzaG93X2xvZ2luX2RpYWxvZyIsImRvbV93aWRnZXQiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNob3dfdHJhZGluZ19ub3RpZmljYXRpb25zX2hpc3RvcnkiLCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiLCJzdHVkeV9kaWFsb2dfZnVuZGFtZW50YWxzX2Vjb25vbXlfYWRkb25zIiwibXVsdGlwbGVfd2F0Y2hsaXN0cyIsIm1hcmtlZF9zeW1ib2xzIiwib3JkZXJfcGFuZWwiLCJwcmljZXNjYWxlX2N1cnJlbmN5Iiwic2hvd19hbmltYXRlZF9sb2dvIiwicHJpY2VzY2FsZV9jdXJyZW5jeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsInNjYWxlc19kYXRlX2Zvcm1hdCIsInNjYWxlc190aW1lX2hvdXJzX2Zvcm1hdCIsInBvcHVwX2hpbnRzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIsInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiLCJrZWVwX3NlbGVjdGVkX2dyb3VwX29uX3Rvb2xfY3JlYXRpb24iXX0sIndpZGdldCI6eyJzdWJzZXRzIjpbImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwibGVmdF90b29sYmFyIiwicmlnaHRfdG9vbGJhciIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwic2F2ZWxvYWRfcmVxdWlyZXNfYXV0aGVudGljYXRpb24iLCJ2b2x1bWVfZm9yY2Vfb3ZlcmxheSIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHQiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJoZWFkZXJfd2lkZ2V0X2RvbV9ub2RlIiwiaGVhZGVyX3N5bWJvbF9zZWFyY2giLCJoZWFkZXJfcmVzb2x1dGlvbnMiLCJoZWFkZXJfY2hhcnRfdHlwZSIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX2luZGljYXRvcnMiLCJzdGFyX3NvbWVfaW50ZXJ2YWxzX2J5X2RlZmF1bHQiLCJkaXNwbGF5X21hcmtldF9zdGF0dXMiLCJkaXNwbGF5X2RhdGFfbW9kZSIsInNob3dfY2hhcnRfd2Fybl9tZXNzYWdlIiwic3ltYm9sX2luZm8iLCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIiwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyIsInN5bWJvbF9zZWFyY2hfZmxhZ3MiLCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIiwid2lkZ2V0YmFyX3RhYnMiLCJjb21wYXJlX3N5bWJvbCIsInNob3dfbG9naW5fZGlhbG9nIiwicGxhaW5fc3R1ZHltYXJrZXQiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIl19LCJib3Zlc3BhX3dpZGdldCI6eyJzdWJzZXRzIjpbIndpZGdldCIsImhlYWRlcl9zZXR0aW5ncyIsImxpbmV0b29scHJvcGVydGllc3dpZGdldF90ZW1wbGF0ZV9idXR0b24iLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiXX0sImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSI6eyJzdWJzZXRzIjpbIjE0ODUxIiwiYWxsb3dfc3VwcG9ydGVkX3Jlc29sdXRpb25zX3NldF9vbmx5IiwiYXV0b19lbmFibGVfc3ltYm9sX2xhYmVscyIsImJvcmRlcl9hcm91bmRfdGhlX2NoYXJ0IiwiY29sbGFwc2libGVfaGVhZGVyIiwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50IiwiY29udGV4dF9tZW51cyIsImNvbnRyb2xfYmFyIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiLCJkYXRhc291cmNlX2NvcHlwYXN0ZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZWRpdF9idXR0b25zX2luX2xlZ2VuZCIsIm9iamVjdF90cmVlX2xlZ2VuZF9tb2RlIiwiZ3JheWluZ19kaXNhYmxlZF90b29sc19lbmFibGVkIiwiaGVhZGVyX3dpZGdldCIsImxlZ2VuZF93aWRnZXQiLCJoZWFkZXJfc2F2ZWxvYWQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWFuX2NoYXJ0X2xvYWQiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwibGlua190b190cmFkaW5ndmlldyIsInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiLCJwbGFpbl9zdHVkeW1hcmtldCIsInJlZnJlc2hfc2F2ZWRfY2hhcnRzX2xpc3Rfb25fZGlhbG9nX3Nob3ciLCJyaWdodF9iYXJfc3RheXNfb25fc2Nyb2xsIiwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIiwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0IiwidGltZWZyYW1lc190b29sYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwidXBkYXRlX3N0dWR5X2Zvcm1hdHRlcl9vbl9zeW1ib2xfcmVzb2x2ZSIsInVwZGF0ZV90aW1lZnJhbWVzX3NldF9vbl9zeW1ib2xfcmVzb2x2ZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwidm9sdW1lX2ZvcmNlX292ZXJsYXkiLCJ3aWRnZXRfbG9nbyIsImNvdW50ZG93biIsInVzZV9vdmVycmlkZXNfZm9yX292ZXJsYXkiLCJ0cmFkaW5nX25vdGlmaWNhdGlvbnMiLCJjb21wYXJlX3N5bWJvbCIsInN5bWJvbF9pbmZvIiwidGltZXpvbmVfbWVudSIsIm1haW5fc2VyaWVzX3NjYWxlX21lbnUiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwiZ29fdG9fZGF0ZSIsImFkYXB0aXZlX2xvZ28iLCJzaG93X2FuaW1hdGVkX2xvZ28iLCJoYW5kbGVfc2NhbGUiLCJoYW5kbGVfc2Nyb2xsIiwic2hpZnRfdmlzaWJsZV9yYW5nZV9vbl9uZXdfYmFyIiwiY2hhcnRfY29udGVudF9vdmVycmlkZXNfYnlfZGVmYXVsdHMiLCJjcm9wcGVkX3RpY2tfbWFya3MiLCJzY2FsZXNfZGF0ZV9mb3JtYXQiLCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiLCJwb3B1cF9oaW50cyIsInNhdmVfc2hvcnRjdXQiLCJzaG93X3JpZ2h0X3dpZGdldHNfcGFuZWxfYnlfZGVmYXVsdCIsInNob3dfb2JqZWN0X3RyZWUiLCJpbnNlcnRfaW5kaWNhdG9yX2RpYWxvZ19zaG9ydGN1dCIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsImhpZGVfbWFpbl9zZXJpZXNfc3ltYm9sX2Zyb21faW5kaWNhdG9yX2xlZ2VuZCIsImNoYXJ0X3N0eWxlX2hpbG8iLCJyZXF1ZXN0X29ubHlfdmlzaWJsZV9yYW5nZV9vbl9yZXNldCIsImNsZWFyX3ByaWNlX3NjYWxlX29uX2Vycm9yX29yX2VtcHR5X2JhcnMiLCJzaG93X3N5bWJvbF9sb2dvX2luX2xlZ2VuZCIsInNob3dfc3ltYm9sX2xvZ29fZm9yX2NvbXBhcmVfc3R1ZGllcyIsImxpYnJhcnlfY3VzdG9tX2NvbG9yX3RoZW1lcyIsImxvbmdfcHJlc3NfZmxvYXRpbmdfdG9vbHRpcCIsInN5bWJvbF9zZWFyY2hfaGlnaGxpZ2h0X2FjdGl2ZV9zeW1ib2wiXX0sImNoYXJ0aW5nX2xpYnJhcnkiOnsic3Vic2V0cyI6WyJjaGFydGluZ19saWJyYXJ5X2Jhc2UiXX0sInN0YXRpY19jaGFydHNfc2VydmljZSI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnkiLCJkaXNhYmxlX3Jlc29sdXRpb25fcmVidWlsZCJdfSwidHJhZGluZ190ZXJtaW5hbCI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSIsInN1cHBvcnRfbXVsdGljaGFydHMiLCJoZWFkZXJfbGF5b3V0dG9nZ2xlIiwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIiwiY2hhcnRfcHJvcGVydHlfcGFnZV90cmFkaW5nIiwiYWRkX3RvX3dhdGNobGlzdCIsIm9wZW5fYWNjb3VudF9tYW5hZ2VyIiwic2hvd19kb21fZmlyc3RfdGltZSIsIm9yZGVyX3BhbmVsIiwiYnV5X3NlbGxfYnV0dG9ucyIsIm11bHRpcGxlX3dhdGNobGlzdHMiLCJzaG93X3RyYWRpbmdfbm90aWZpY2F0aW9uc19oaXN0b3J5IiwiYWx3YXlzX3Bhc3NfY2FsbGVkX29yZGVyX3RvX21vZGlmeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsImRyYXdpbmdfdGVtcGxhdGVzIiwidHJhZGluZ19hY2NvdW50X21hbmFnZXIiLCJjaGFydF9jcm9zc2hhaXJfbWVudSIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsIndhdGNobGlzdF9jb250ZXh0X21lbnUiLCJzaG93X3N5bWJvbF9sb2dvX2luX2FjY291bnRfbWFuYWdlciIsInNob3dfc3ltYm9sX2xvZ29faW5fY2xvc2VfcG9zaXRpb25fZGlhbG9nIiwic2hvd19zeW1ib2xfbG9nb19pbl9jYW5jZWxfb3JkZXJfZGlhbG9nIiwid2F0Y2hsaXN0X3NlY3Rpb25zIiwicHJlZmVyX3F1b3RlX3Nob3J0X25hbWUiLCJlbmFibGVfZG9tX2RhdGFfZm9yX3VudHJhZGFibGVfc3ltYm9scyIsInByZWZlcl9zeW1ib2xfbmFtZV9vdmVyX2Z1bGxuYW1lIiwid2F0Y2hsaXN0X2Nyb3NzX3RhYl9zeW5jIl19fScpCn0sNzQ2OTQ5KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJhZHgiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZHgiLCJhZHhEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4RCIsImFnZW5jaWFsYm1jb21iciI6IndpZGdldF91c2VyX3Rva2VuLWFnZW5jaWFsYm1jb21iciIsImFsamF6aXJhY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxEIiwiYWxqYXppcmFjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxSVCIsImFscmFqaGljYXBpdGFsY29tRCI6IndpZGdldF91c2VyX3Rva2VuLWFscmFqaGljYXBpdGFsY29tRCIsImFscmFqaGljYXBpdGFsY29tUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbVJUIiwiYW1iaXRvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYW1iaXRvIiwiYXJlbmF4dHJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYXJlbmF4dHJvIiwiYXJ0ZWNoZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLUFydGVjaGVEIiwiYXRsY2FwaXRhbCI6IndpZGdldF91c2VyX3Rva2VuLWF0bGNhcGl0YWwiLCJiYW5raXJvc3J1Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYmFua2lyb3NydSIsImJidmFjaCI6IndpZGdldF91c2VyX3Rva2VuLWJidmFjaCIsImJlZWtzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWVrc2dyb3VwIiwiYmVsdWdhZ3JvdXBydSI6IndpZGdldF91c2VyX3Rva2VuLWJlbHVnYWdyb3VwcnUiLCJiaXZhY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tYml2YWNvbSIsImJsdWVmaWVsZCI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVmaWVsZCIsImJsdWVsaW5lZnV0dXJlcyI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVsaW5lZnV0dXJlcyIsImJvdmVzcGEiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibWZib3Zlc3BhY29tYnIiLCJidmJybyI6IndpZGdldF91c2VyX3Rva2VuLWJ2YnJvIiwiYnl0ZXRyYXZlbCI6IndpZGdldF91c2VyX3Rva2VuLWJ5dGV0cmF2ZWwiLCJjYm9lY2FuYWRhIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2JvZWNhbmFkYSIsImNoYW1waW9ubmF0Ym91cnNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2hhbXBpb25uYXRib3Vyc2UiLCJjaW5jb2RpYXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jaW5jb2RpYXMiLCJjZW9jYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1jZW9jYUQiLCJjZW9jYVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FSVCIsImNtY21hcmtldHMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jbWNtYXJrZXRzIiwiY29wZWVzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY29wZWVzIiwiY3NlbGsiOiJ3aWRnZXRfdXNlcl90b2tlbi1jc2VsayIsImRhaWx5ZngiOiJ3aWRnZXRfdXNlcl90b2tlbi1kYWlseWZ4IiwiZGVlcHNlYXJjaCI6IndpZGdldF91c2VyX3Rva2VuLWRlZXBzZWFyY2giLCJkZXJheWFoY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGVyYXlhaGNvbSIsImRmbWFlRCI6IndpZGdldF91c2VyX3Rva2VuLWRmbWFlRCIsImRmbWFlUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZVJUIiwiZGluYXJzYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhRCIsImRpbmFyc2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWRpbmFyc2FSVCIsImRvbGFyaG95Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZG9sYXJob3kiLCJlYXN5bnZlc3Rjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWVhc3ludmVzdGNvbWJyIiwiZWRhaWx5Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZWRhaWx5IiwiZWxlc3Bhbm9sY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxlc3Bhbm9sY29tIiwiZWxvYnJlcm9lcyI6IndpZGdldF91c2VyX3Rva2VuLWVsb2JyZXJvZXMiLCJlbG5hY2lvbmFsRCI6IndpZGdldF91c2VyX3Rva2VuLUVsTmFjaW9uYWxEIiwiZWxwYWlzZmluYW5jaWVybyI6IndpZGdldF91c2VyX3Rva2VuLWVscGFpc2ZpbmFuY2llcm8iLCJlbHBlcmlvZGljb2RlbGFlbmVyZ2lhIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxwZXJpb2RpY29kZWxhZW5lcmdpYSIsImV1cXVlcm9pbnZlc3RpciI6IndpZGdldF91c2VyX3Rva2VuLWV1cXVlcm9pbnZlc3RpcmNvbSIsImV1cmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyZXgiLCJldXJvZmlucyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9maW5zIiwiZXBlIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXBlIiwiZXVyb3BhcHJlc3NlcyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9wYXByZXNzZXMiLCJmaW5hbnphc0QiOiJ3aWRnZXRfdXNlcl90b2tlbi1GaW5hbnphc0QiLCJmb3JiZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWZvcmJlc2NvbWJyIiwiZ2VuaWFsaW52ZXN0aW1lbnRvcyI6IndpZGdldF91c2VyX3Rva2VuLWdlbmlhbGludmVzdGltZW50b3MiLCJoZWFsdGhpdGFsaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWFsdGhpdGFsaWEiLCJoZWduYXJubyI6IndpZGdldF91c2VyX3Rva2VuLWhlZ25hcm5vIiwiaGlwb3RlY2FyaW9jb21hciI6IndpZGdldF91c2VyX3Rva2VuLWhpcG90ZWNhcmlvY29tYXIiLCJpZ2NvbSI6IndpZGdldF91c2VyX3Rva2VuLWlnY29tIiwiaW52ZXN0ZWdhdGVjb3VrIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0ZWdhdGVjb3VrIiwiaW52ZXN0b3BlZGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0b3BlZGlhIiwiaW50ZWdyYWx5YXRpcmltIjoid2lkZ2V0X3VzZXJfdG9rZW4taW50ZWdyYWx5YXRpcmltIiwiaXZzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1pdnNncm91cCIsImpzZWNvemEiOiJ3aWRnZXRfdXNlcl90b2tlbi1qc2Vjb3phIiwiYm9lcnNlbnplaXR1bmciOiJ3aWRnZXRfdXNlcl90b2tlbi1ib2Vyc2VuemVpdHVuZyIsImxhaW5mb3JtYWNpb25jb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1sYWluZm9ybWFjaW9uY29tIiwibWFyY29wb2xvY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tYXJjb3BvbG9jb21iciIsIm1lcmNhZG9maW5hbmNpZXJvY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWVyY2Fkb2ZpbmFuY2llcm9jb20iLCJtb2V4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tbW9leCIsIm1vbmV5dGltZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLW1vbmV5dGltZXNjb21iciIsIm1vbml0b3Jkb21lcmNhZG9EIjoid2lkZ2V0X3VzZXJfdG9rZW4tbW9uaXRvcmRvbWVyY2Fkb0QiLCJteW5ldGNvbSI6IndpZGdldF91c2VyX3Rva2VuLW15bmV0Y29tIiwibmVnb2Npb3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1uZWdvY2lvcyIsIk5HWCI6IndpZGdldF91c2VyX3Rva2VuLU5HWCIsIk5vdGljaWFzYWdyaWNvbGFEIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm90aWNpYXNhZ3JpY29sYUQiLCJub21tb21hIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm9tbW9tYSIsIm5zZWNva3IiOiJ3aWRnZXRfdXNlcl90b2tlbi1uc2Vjb2tyIiwib2tkaWFyaW8iOiJ3aWRnZXRfdXNlcl90b2tlbi1va2RpYXJpbyIsInBhbmFmcmljYW5yZXNvdXJjZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1wYW5hZnJpY2FucmVzb3VyY2VzY29tIiwicHNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlIiwicG9kZXIzNjAiOiJ3aWRnZXRfdXNlcl90b2tlbi1wb2RlcjM2MCIsInBzZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1wc2VEIiwicml5YWRoY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsRCIsInJpeWFkaGNhcGl0YWxSVCI6IndpZGdldF91c2VyX3Rva2VuLXJpeWFkaGNhcGl0YWxSVCIsInFlY29tcWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1xZWNvbXFhIiwic2Ftb2xldCI6IndpZGdldF91c2VyX3Rva2VuLXNhbW9sZXQiLCJzZWVpbmdtYWNoaW5lc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXNlZWluZ21hY2hpbmVzY29tIiwic2V1ZGluaGVpcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZXVkaW5oZWlybyIsInNvZnR3YXJlYWciOiJ3aWRnZXRfdXNlcl90b2tlbi1zb2Z0d2FyZWFnIiwic29nZWNsYWlyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29nZWNsYWlyIiwic2djb21wYW55aXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zZ2NvbXBhbnlpdCIsInNoYXJlanVuY3Rpb24iOiJ3aWRnZXRfdXNlcl90b2tlbi1zaGFyZWp1bmN0aW9uIiwic21hcnRsYWItY3VzdG9tIjoid2lkZ2V0X3VzZXJfdG9rZW4tc21hcnRsYWIiLCJzbWFydGxhYiI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic3BhY2Vtb25leWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3BhY2Vtb25leWNvbWJyIiwic3RvbmV4d2RnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4wqMtIXd3dy5zdG9uZXguY29tIiwic3RveGlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RveGlvIiwic3RvbmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4IiwidG9yb2ludmVzdGltZW50b3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10b3JvaW52ZXN0aW1lbnRvc2NvbSIsInRoZWNzZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLXRoZWNzZWNvbSIsInRyYWRlcnNjbHViYnJhc2lsIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWwiLCJ0cmFkZXJzY2x1YmJyYXNpbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkZXJzY2x1YmJyYXNpbEQiLCJ0cmFkaW5ndmlldyI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRpbmd2aWV3IiwieHRvb2xzIjoid2lkZ2V0X3VzZXJfdG9rZW4teHRvb2xzIiwidHdpdHRlciI6IndpZGdldF91c2VyX3Rva2VuLXR3aXR0ZXIiLCJ2ZWxvY2l0eWNvbXBvc2l0ZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi12ZWxvY2l0eWNvbXBvc2l0ZXNjb20iLCJ2b2Nlc2FhYnJpbGNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tdm9jZXNhYWJyaWxjb21iciIsIndlYWx0aHNpbXBsZSI6IndpZGdldF91c2VyX3Rva2VuLXdlYWx0aHNpbXBsZcKjLSFteS53ZWFsdGhzaW1wbGUuY29tIiwid29ybGRjaGVzc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXdvcmxkY2hlc3Njb20iLCJ4Q3J0eUprc3AiOiJ3aWRnZXRfdXNlcl90b2tlbi14Q3J0eUprc3AiLCJ4cGljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXhwaWNvbWJyIn0nKQp9fV0pOw=="}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/8946.0be20cf5b56838bd1cdd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.162Z","timestamp":1785141585162,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/8946.0be20cf5b56838bd1cdd.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-80bb\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:58\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2ad4ae8213628acd7b167ff572f5a1fd\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32955,"size_decoded":10982,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"db8665d50bbb7613ae4d5ff6618efb3c","sha1":"72a0474595ec30ff0f5b29570e7d187a4fa34bf9","sha256":"fb3be873ebdfbe3bb4183024dae7c56fffbf7bea33c01b1f7e13d8881b2d73b9","sha512":"a6a8b9b47236538cc2a9b1b522fad8d83f2d3dc7bfbe876ca6cce7a11cb9e780846d3701f295f97ada93ab31796dc3f2300f38706cefc2b939261da5325e75ca","ssdeep":"768:3iSitKD8BRCVEvoJvvI2TWRe3/E05YFa9dOJiGHE9E1RInrGhbnFT8hu7tOq+CKX:bitKDeSEAJHj3f8hbWBp","tlshash":"a5e2f7513531714852fba5eb99da062ce334732ce8248e25a8f1dc8c7ae5ae0e377d4c","first_seen":"2026-07-22T17:32:48.084118Z","last_seen":"2026-07-27T12:48:39.778144Z","times_seen":60,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s4OTQ2XSx7NzI3NjIzKGUpe2UuZXhwb3J0cz17ImNoZWNrYm94LXByaW1hcnktZGVmYXVsdC1iZyI6InZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKSIsImNoZWNrYm94LWRhbmdlci1kZWZhdWx0LWJnIjoidmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZCkiLCJjaGVja2JveC1wcmltYXJ5LWZnIjoidmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVpbmFyeS1pbnZlcnNlKSIsImNoZWNrYm94LWRhbmdlci1mZyI6InZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1YXRlcm5hcnktaW52ZXJzZSkiLHByaW1hcnk6InByaW1hcnktWThvRlRfUFoiLGRhbmdlcjoiZGFuZ2VyLVk4b0ZUX1BaIn19LDM1NDMzMShlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItVHk1TzFXSlEiLGRpck1hdGNoaW5nOiJkaXJNYXRjaGluZy1UeTVPMVdKUSJ9fSw3OTYwMTAoZSl7ZS5leHBvcnRzPXt3cmFwOiJ3cmFwLWpQSWFPOEh1In19LDYzNjk4NihlKXtlLmV4cG9ydHM9e2N1c3RvbUxpc3RJdGVtOiJjdXN0b21MaXN0SXRlbS05UTlGSHlybiIsY2xpY2thYmxlOiJjbGlja2FibGUtOVE5Rkh5cm4ifX0sOTk0MjgoZSl7ZS5leHBvcnRzPXtkaXZpZGVyOiJkaXZpZGVyLVpkX3RxdWNEIixsaW5lOiJsaW5lLVpkX3RxdWNEIn19LDIxMjY3MihlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItS1VpdHN0cEoiLHByaW1hcnlUaXRsZVdyYXBwZXI6InByaW1hcnlUaXRsZVdyYXBwZXItS1VpdHN0cEoiLHNlY29uZGFyeVRpdGxlV3JhcHBlcjoic2Vjb25kYXJ5VGl0bGVXcmFwcGVyLUtVaXRzdHBKIix0aXRsZToidGl0bGUtS1VpdHN0cEoiLGNvbnRlbnQ6ImNvbnRlbnQtS1VpdHN0cEoiLGxlZnQ6ImxlZnQtS1VpdHN0cEoiLHdpdGhMZWZ0U2xvdDoid2l0aExlZnRTbG90LUtVaXRzdHBKIixzcGFjZToic3BhY2UtS1VpdHN0cEoiLGljb246Imljb24tS1VpdHN0cEoifX0sMjIxNDk2KGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24tT3diR1Z5YTMiLHRleHQ6InRleHQtT3diR1Z5YTMifX0sODY0NzM2KGUpe2UuZXhwb3J0cz17Y29udGV4dEFjdGlvbnM6ImNvbnRleHRBY3Rpb25zLXVCSmhqVVY4IixoaWRlSWZOb0hvdmVyOiJoaWRlSWZOb0hvdmVyLXVCSmhqVVY4Iixzb21lQ29udGV4dEFjdGlvbkZvY3VzZWQ6InNvbWVDb250ZXh0QWN0aW9uRm9jdXNlZC11QkpoalVWOCJ9fSw2OTE4MyhlKXtlLmV4cG9ydHM9e3JpZ2h0OiJyaWdodC1PSUJrazNnSyIsYXJyb3c6ImFycm93LU9JQmtrM2dLIn19LDYyNTcwOShlKXtlLmV4cG9ydHM9e3NtYWxsOiJzbWFsbC10V0RJQ1RheSIsbWVkaXVtOiJtZWRpdW0tdFdESUNUYXkiLGxhcmdlOiJsYXJnZS10V0RJQ1RheSIsc3dpdGNoVmlldzoic3dpdGNoVmlldy10V0RJQ1RheSIsY2hlY2tlZDoiY2hlY2tlZC10V0RJQ1RheSIsZGlzYWJsZWQ6ImRpc2FibGVkLXRXRElDVGF5Iix0cmFjazoidHJhY2stdFdESUNUYXkiLHRodW1iOiJ0aHVtYi10V0RJQ1RheSJ9fSw3OTgwMDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q2hlY2tib3hWaWV3OigpPT5zfSk7dmFyIG89big3Nzk0NzQpLGk9big5MTQ0ODcpLGE9bi5uKGkpLHI9big1MzYxMjUpLGw9big3Mjc2MjMpLGM9bi5uKGwpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7Y2hlY2tlZDp0LGNsYXNzTmFtZTpuLGRpc2FibGVkOmksaW50ZW50Omw9InByaW1hcnkiLGRhdGFRYUlkOnMsLi4uZH09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKGMoKVtsXSxlLmNsYXNzTmFtZSksLi4uZH0sby5jcmVhdGVFbGVtZW50KHIuQ2hlY2tib3hWaWV3SW1wbCx7ZGlzYWJsZWQ6aSxjaGVja2VkOnQsZGF0YVFhSWQ6c30pKX19LDYzODg3MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTdmdJY29uTGlzdEl0ZW1QYXJ0OigpPT5yfSk7dmFyIG89big3Nzk0NzQpLGk9big0NTA4MiksYT1uKDIxNzI3NCk7ZnVuY3Rpb24gcihlKXtjb25zdHtpY29uU3ZnOnQsZGlyTWF0Y2hpbmc6bn09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGkuV3JhcHBlcix7ZGlyTWF0Y2hpbmc6bn0sby5jcmVhdGVFbGVtZW50KGEuQmxvY2tJY29uLHtpY29uOnR9KSl9fSw1OTQzMjMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VXJsSWNvbkxpc3RJdGVtUGFydDooKT0+bH0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oNDUwODIpLGE9big3NDE0MDUpLHI9bigzODc3NzQpO2Z1bmN0aW9uIGwoZSl7Y29uc3QgdD0oMCxvLnVzZUNvbnRleHQpKGEuTGlzdEl0ZW1IYXNEZXNjcmlwdGlvbkNvbnRleHQpLHtpY29uVXJsOm4scGxhY2Vob2xkZXJMZXR0ZXI6bCxkaXJNYXRjaGluZzpjfT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaS5XcmFwcGVyLHtkaXJNYXRjaGluZzpjfSxvLmNyZWF0ZUVsZW1lbnQoci5DaXJjbGVMb2dvLHtzaXplOnQ/InhzbWFsbCI6Inh4eHNtYWxsIixsb2dvVXJsOm4scGxhY2Vob2xkZXJMZXR0ZXI6bH0pKX19LDQ1MDgyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1dyYXBwZXI6KCk9PmN9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDkxNDQ4NyksYT1uLm4oaSkscj1uKDM1NDMzMSksbD1uLm4ocik7ZnVuY3Rpb24gYyhlKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKGwoKS53cmFwcGVyLGUuZGlyTWF0Y2hpbmcmJmwoKS5kaXJNYXRjaGluZyksaW5lcnQ6ZS5pbmVydD8idHJ1ZSI6dm9pZCAwfSxlLmNoaWxkcmVuKX19LDU3NDA3NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDaGVja2JveExpc3RJdGVtOigpPT5kfSk7dmFyIG89big3Nzk0NzQpLGk9big3OTgwMDIpLGE9big1NjU3NDUpLHI9big2Mjg4MjUpLGw9bigzNDUxMTYpLGM9big3OTYwMTApLHM9bi5uKGMpO2Z1bmN0aW9uIGQoZSl7CmNvbnN0e2xpc3RJdGVtUmVmOnQsbGlzdEl0ZW1CdXR0b25SZWY6bixsaXN0SXRlbUJ1dHRvbklkOmMscm9sZTpkLHRpdGxlOnUsZGVzY3JpcHRpb246cCxjaGVja2VkOm0sb25DbGljazpJLGFyaWFDaGVja2VkOnYsbGVmdFNsb3Q6QyxyaWdodFNsb3Q6YixkaXNhYmxlZDpmLHRhYkluZGV4OmgsZGF0YVFhSWQ6aywuLi5FfT1lLE89KDAsbC5maWx0ZXJDaGVja2VkRGF0YVByb3BzKShFKSxnPUFycmF5LmlzQXJyYXkoQyk/QzpbQ107cmV0dXJuIG8uY3JlYXRlRWxlbWVudChyLkxpc3RJdGVtLHtsaXN0SXRlbVJlZjp0LGxpc3RJdGVtQnV0dG9uUmVmOm4sbGlzdEl0ZW1CdXR0b25JZDpjLGFyaWFDaGVja2VkOnYscm9sZTpkLHRpdGxlOnUsZGVzY3JpcHRpb246cCxkaXNhYmxlZDpmLGxlZnRTbG90OltvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkud3JhcCxrZXk6ImNoZWNrYm94In0sby5jcmVhdGVFbGVtZW50KGkuQ2hlY2tib3hWaWV3LHtjaGVja2VkOm19KSksLi4uZy5maWx0ZXIoYS5pc0V4aXN0ZW50KS5tYXAoKChlLHQpPT5vLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCx7a2V5OnR9LGUpKSldLHJpZ2h0U2xvdDpiLG9uQ2xpY2s6SSx0YWJJbmRleDpoLGRhdGFRYUlkOmssLi4uT30pfX0sODk2MjM3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0N1c3RvbUxpc3RJdGVtOigpPT5zfSk7dmFyIG89big3Nzk0NzQpLGk9big5MTQ0ODcpLGE9bi5uKGkpLHI9bigzNDUxMTYpLGw9big2MzY5ODYpLGM9bi5uKGwpO2NvbnN0IHM9KDAsby5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtpZDpuLGNoaWxkcmVuOmksb25DbGljazpsLGRpc2FibGVkOnMsZm9jdXNhYmxlOmQscm9sZTp1LGFyaWFMYWJlbDpwLGFyaWFFeHBhbmRlZDptLGFyaWFDb250cm9sczpJLGFyaWFIYXNwb3B1cDp2LGFyaWFMZXZlbDpDLGRhdGFRYUlkOmIsLi4uZn09ZSxoPSgwLHIuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoZiksaz1sPyJidXR0b24iOiJkaXYiLEU9ZHx8bCxPPXM/dm9pZCAwOmw7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChrLHtpZDpuLGNsYXNzTmFtZTphKCkoYygpLmN1c3RvbUxpc3RJdGVtLE8mJmMoKS5jbGlja2FibGUpLG9uQ2xpY2s6TywiYXJpYS1kaXNhYmxlZCI6cywiYXJpYS1sYWJlbCI6cCwiYXJpYS1leHBhbmRlZCI6bSwiYXJpYS1jb250cm9scyI6SSwiYXJpYS1oYXNwb3B1cCI6diwiYXJpYS1sZXZlbCI6Qyxyb2xlOnUsdGFiSW5kZXg6RT8wOnZvaWQgMCxyZWY6dCwuLi5oLCJkYXRhLXFhLWlkIjpifSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2luZXJ0OnM/InRydWUiOnZvaWQgMH0saSkpfSkpfSw3MzI3MzEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RGl2aWRlckxpc3RJdGVtOigpPT5yfSk7dmFyIG89big3Nzk0NzQpLGk9big5OTQyOCksYT1uLm4oaSk7ZnVuY3Rpb24gcihlKXtjb25zdHtyb2xlOnR9PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEoKS5kaXZpZGVyLHJvbGU6dH0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpLmxpbmV9KSl9fSw4NDQ4NzEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2VjdGlvbkxpc3RJdGVtOigpPT5sfSk7dmFyIG89big3Nzk0NzQpLGk9big5MzU1MzUpLGE9bigxNDc5MDEpLHI9bigzNDUxMTYpO2Z1bmN0aW9uIGwoZSl7Y29uc3R7aWQ6dCx0aXRsZTpuLGNoaWxkcmVuOmwsaXRlbVJvbGU6YyxhcmlhTGFiZWw6cyxyaWdodFNsb3Q6ZCxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTp1LGRhdGFRYUlkOnAsb25DbGljazptLG9uS2V5RG93bjpJLGlzV3JhcHBlZDp2LC4uLkN9PWUsYj0oMCxyLmZpbHRlckNoZWNrZWREYXRhUHJvcHMpKEMpLGY9KDAsby51c2VJZCkoKSxoPSgwLG8udXNlSWQpKCksaz12b2lkIDAhPT1uO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLGsmJm8uY3JlYXRlRWxlbWVudChpLlRpdGxlTGlzdEl0ZW0se2RhdGFRYUlkOigwLGEuY29uY2F0SWZOb3ROdWxsKShgJHthLlVJX0xJQl9EQVRBX1FBX0lEX1BSRUZJWH1saXN0LXNlY3Rpb24tdGl0bGVgLHApLGlkOnQsdGl0bGU6bixyb2xlOmMscmlnaHRTbG90OmQscmlnaHRTbG90QXJpYUxhYmVsbGVkYnk6dSxhcmlhTGFiZWw6cyx2YXJpYW50OiJzZWNvbmRhcnkiLGFyaWFDb250cm9sczp2b2lkIDAhPT12P2g6dm9pZCAwLHRpdGxlSWQ6Zix3cmFwcGVkOnYsb25DbGljazptLG9uS2V5RG93bjpJLC4uLmJ9KSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JvbGU6Imdyb3VwIiwiYXJpYS1sYWJlbGxlZGJ5IjpmLGlkOmgsImRhdGEtcWEtaWQiOigwLGEuY29uY2F0SWZOb3ROdWxsKShgJHthLlVJX0xJQl9EQVRBX1FBX0lEX1BSRUZJWH1saXN0LXNlY3Rpb24tY29udGVudGAscCl9LCF2JiZsKSl9fSw5MzU1MzUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VGl0bGVMaXN0SXRlbTooKT0+Q30pO3ZhciBvLGk9big3Nzk0NzQpLGE9big5MTQ0ODcpLHI9bi5uKGEpLGw9bigyNzMzMTApLGM9big4NTkwOTEpLHM9bigzNDUxMTYpLGQ9bigxOTQ2NDgpLHU9bi5uKGQpLHA9big1NDMzMzkpLG09bi5uKHApLEk9bigyMTI2NzIpLHY9bi5uKEkpO2Z1bmN0aW9uIEMoZSl7Y29uc3R7aWQ6dCxyb2xlOm4sbGVmdFNsb3Q6byx0aXRsZTphLG9uQ2xpY2s6ZCxhcmlhTGFiZWw6cCxyaWdodFNsb3Q6SSxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTpDLGxpc3RJdGVtQnV0dG9uUmVmOmIsdmFyaWFudDpmPSJwcmltYXJ5IixhcmlhQ29udHJvbHM6aCxhcmlhTGV2ZWw6ayx0aXRsZUlkOkUsd3JhcHBlZDpPLGRhdGFRYUlkOmcsb25LZXlEb3duOngsbmVzdGVkTGlzdHNBcmlhT3duczpTLG5lc3RlZExpc3RBcmlhSGlkZGVuOnksLi4uTH09ZSxBPSgwLHMuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoTCksdz12b2lkIDAhPT1PO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoYy5UaXRsZVNlY3Rpb25MaXN0SXRlbSx7ZGF0YVFhSWQ6ZyxpZDp0LHJvbGU6bixvbkNsaWNrOmQsb25LZXlEb3duOngscmlnaHRTbG90OkkscmlnaHRTbG90QXJpYUxhYmVsbGVkYnk6QyxhcmlhTGFiZWw6cCwKY2xhc3NOYW1lOnIoKSh2KCkud3JhcHBlcixvJiZ2KCkud2l0aExlZnRTbG90LHYoKVtgJHtmfVRpdGxlV3JhcHBlcmBdKSxsaXN0SXRlbUJ1dHRvblJlZjpiLGZvY3VzYWJsZTp3LGFyaWFFeHBhbmRlZDp3PyFPOnZvaWQgMCxhcmlhQ29udHJvbHM6aCxhcmlhTGV2ZWw6ayxuZXN0ZWRMaXN0c0FyaWFPd25zOlMsbmVzdGVkTGlzdEFyaWFIaWRkZW46eSwuLi5BfSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2KCkuY29udGVudH0sbyYmaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6digpLmxlZnR9LG8pLGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnYoKS50aXRsZSxpZDpFfSxhKSksdyYmaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2KCkuc3BhY2V9KSxpLmNyZWF0ZUVsZW1lbnQobC5JY29uLHtjbGFzc05hbWU6digpLmljb24saWNvbjpPP3UoKTptKCl9KSkpfSFmdW5jdGlvbihlKXtlLlByaW1hcnk9InByaW1hcnkiLGUuU2Vjb25kYXJ5PSJzZWNvbmRhcnkifShvfHwobz17fSkpfSw4NTkwOTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VGl0bGVTZWN0aW9uTGlzdEl0ZW06KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDg5NjIzNyksYT1uKDE0NzkwMSkscj1uKDM0NTExNik7ZnVuY3Rpb24gbChlKXtjb25zdHtpZDp0LHJvbGU6bixvbkNsaWNrOmwscmlnaHRTbG90OmMscmlnaHRTbG90QXJpYUxhYmVsbGVkYnk6cyxmb2N1c2FibGU6ZCxhcmlhRXhwYW5kZWQ6dSxhcmlhQ29udHJvbHM6cCxhcmlhSGFzcG9wdXA6bSxhcmlhTGV2ZWw6SSxhcmlhTGFiZWw6dixjaGlsZHJlbjpDLGNsYXNzTmFtZTpiLGxpc3RJdGVtQnV0dG9uUmVmOmYsZGF0YVFhSWQ6aCxvbktleURvd246ayxuZXN0ZWRMaXN0c0FyaWFPd25zOkUsbmVzdGVkTGlzdEFyaWFIaWRkZW46TywuLi5nfT1lLHg9KDAsci5maWx0ZXJDaGVja2VkRGF0YVByb3BzKShnKSxTPSgwLG8udXNlSWQpKCk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtcWEtaWQiOmgsb25LZXlEb3duOmt9LG8uY3JlYXRlRWxlbWVudChpLkN1c3RvbUxpc3RJdGVtLHtpZDp0LHJvbGU6bixvbkNsaWNrOmwsZm9jdXNhYmxlOmR8fCEhYyxyZWY6ZixhcmlhRXhwYW5kZWQ6dT8/KCEhY3x8dm9pZCAwKSxhcmlhQ29udHJvbHM6cD8/KGM/Uzp2b2lkIDApLGFyaWFIYXNwb3B1cDptPz8oYz8ibWVudSI6dm9pZCAwKSxhcmlhTGV2ZWw6SSxhcmlhTGFiZWw6dixkYXRhUWFJZDpgJHthLlVJX0xJQl9EQVRBX1FBX0lEX1BSRUZJWH10aXRsZS1saXN0LWl0ZW1gLC4uLnh9LG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmJ9LEMsYykpLG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7aWQ6Uyxyb2xlOiJtZW51IiwiYXJpYS1sYWJlbGxlZGJ5IjpzLCJhcmlhLW9yaWVudGF0aW9uIjoiaG9yaXpvbnRhbCIsImFyaWEtb3ducyI6RSwiYXJpYS1oaWRkZW4iOk99KSl9fSw4NjE2MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNZW51Q29udGV4dFByb3ZpZGVyOigpPT5hLHVzZU1lbnVDb250ZXh0OigpPT5yfSk7dmFyIG89big3Nzk0NzQpO2NvbnN0IGk9KDAsby5jcmVhdGVDb250ZXh0KSh1bmRlZmluZWQpO2Z1bmN0aW9uIGEoZSl7Y29uc3R7ZGVmYXVsdENsb3NlT25DbGljazp0LGNoaWxkcmVuOm59PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChpLlByb3ZpZGVyLHt2YWx1ZTp0fSxuKX1mdW5jdGlvbiByKCl7cmV0dXJuKDAsby51c2VDb250ZXh0KShpKX19LDgwODk0NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNZW51UG9wb3ZlcjooKT0+UWV9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDIwODA4MCksYT1uKDk3MjczNCkscj1uKDQ5Mzk2MCk7ZnVuY3Rpb24gbChlKXtyZXR1cm57dGl0bGU6ZS50aXRsZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLGxlZnRTbG90OigwLHIuaWNvblBhcnQpKGUpfX12YXIgYz1uKDQ0NTQ5Myk7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gdD0+e2NvbnN0e2lzQW5jaG9yUG9zaXRpb25lcjpuLGlzTW9iaWxlUG9zaXRpb25lcjppfT0oMCxjLnVzZVBvcG92ZXJDb250ZXh0KSgpLHt2aXNpYmxlOmE9ImFsd2F5cyIsLi4ucn09dDtyZXR1cm4iYWx3YXlzIj09PWF8fG4mJiJkZXNrdG9wT25seSI9PT1hfHxpJiYibW9iaWxlT25seSI9PT1hP28uY3JlYXRlRWxlbWVudChlLHsuLi5yfSk6bnVsbH19dmFyIGQ9big0MDgzNzApLHU9big4NjE2Mik7ZnVuY3Rpb24gcChlKXtjb25zdCB0PSgwLHUudXNlTWVudUNvbnRleHQpKCkse2Nsb3NlUG9wb3ZlcjpufT0oMCxjLnVzZVBvcG92ZXJDb250ZXh0KSgpLHtvbkNsaWNrOmksY2xvc2VPbkNsaWNrOmE9dD8/ZC5ERUZBVUxUX0NMT1NFX09OX0NMSUNLfT1lO3JldHVybigwLG8udXNlQ2FsbGJhY2spKCgoLi4uZSk9PntpPy4oLi4uZSksImRvTm90Q2xvc2UiIT09YSYmbighMCx7Y3VycmVudExldmVsOiJjdXJyZW50TGV2ZWwiLGFsbExldmVsczoiYWxsTGV2ZWxzIn1bYV0pfSksW2ksYSxuXSl9Y29uc3QgbT1zKChlPT57Y29uc3QgdD1wKGUpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoYS5Qb3BvdmVySXRlbSx7Li4ubChlKSxkaXNhYmxlZDplLmRpc2FibGVkLGhvdGtleTplLmhvdGtleSxvbkNsaWNrOnQscm9sZTp2b2lkIDAhPT1lLnNlbGVjdGVkPyJtZW51aXRlbWNoZWNrYm94IjoibWVudWl0ZW0iLGFyaWFMYWJlbDplLnRpdGxlLGVsbGlwc2lzOmUuZWxsaXBzaXMsc2VsZWN0ZWQ6ZS5zZWxlY3RlZCxhcmlhQ2hlY2tlZDplLnNlbGVjdGVkPz92b2lkIDAscmlnaHRTbG90OmUucmlnaHRUZXh0LGludGVudDplLmludGVudCxkYXRhUWFJZDplLmRhdGFRYUlkfSl9KSk7dmFyIEk9bigyMTcyNzQpLHY9bigxMjI5NiksQz1uLm4odik7ZnVuY3Rpb24gYihlKXsKY29uc3R7cG9wb3Zlckl0ZW1SZWY6dCxwb3BvdmVySXRlbUJ1dHRvblJlZjpuLHBvcG92ZXJJdGVtQnV0dG9uSWQ6aSxyb2xlOnIsYXJpYUhhc3BvcHVwOmwsYXJpYUNvbnRyb2xzOmMsYXJpYUV4cGFuZGVkOnMsYXJpYUxhYmVsOmQsbGVmdFNsb3Q6dSx0aXRsZTpwLGRlc2NyaXB0aW9uOm0sc2VsZWN0ZWQ6dixocmVmOmIsb25DbGljazpmLHJlbDpoLHRhcmdldDprPSJfYmxhbmsiLGRhdGFRYUlkOkV9PWUsTz0iX2JsYW5rIj09PWs7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChhLlBvcG92ZXJJdGVtLHtwb3BvdmVySXRlbVJlZjp0LHBvcG92ZXJJdGVtQnV0dG9uUmVmOm4scG9wb3Zlckl0ZW1CdXR0b25JZDppLHJvbGU6cixhcmlhSGFzcG9wdXA6bCxhcmlhQ29udHJvbHM6YyxhcmlhRXhwYW5kZWQ6cyxhcmlhTGFiZWw6ZCxsZWZ0U2xvdDp1LHRpdGxlOnAsZGVzY3JpcHRpb246bSxocmVmOmIscmlnaHRTbG90Ok8/by5jcmVhdGVFbGVtZW50KEkuQmxvY2tJY29uLHtpY29uOkMoKX0pOnZvaWQgMCxzZWxlY3RlZDp2LG9uQ2xpY2s6ZixyZWw6aCx0YXJnZXQ6ayxkYXRhUWFJZDpFfSl9Y29uc3QgZj1zKChlPT57Y29uc3QgdD1wKGUpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoYix7Li4ubChlKSxvbkNsaWNrOnQsaHJlZjplLmhyZWYscm9sZToibWVudWl0ZW0iLGFyaWFMYWJlbDplLnRpdGxlLHNlbGVjdGVkOmUuc2VsZWN0ZWQscmVsOmUucmVsLHRhcmdldDplLnRhcmdldCxkYXRhUWFJZDplLmRhdGFRYUlkfSl9KSk7dmFyIGg9big3MjIzMjApLGs9big5MzgyNDIpLEU9bigxNDc5MDEpLE89bigyMjE0OTYpLGc9bi5uKE8pO2NvbnN0IHg9YCR7RS5VSV9MSUJfREFUQV9RQV9JRF9QUkVGSVh9aGVhZGVyLW5lc3RlZC1wb3BvdmVyYDtmdW5jdGlvbiBTKGUpe2NvbnN0e3RpdGxlOnQsY2hpbGRyZW46bixidXR0b25Sb2xlOmEsYnV0dG9uQXJpYUhhc3BvcHVwOnIscG9wb3ZlclJvbGU6bCxmaXhlZEZvb3RlcjpzLGZpeGVkSGVhZGVyOmQsY2xvc2VPblNjcm9sbE91dHNpZGU6dSxjbG9zZU9uUmVzaXplV2luZG93OnAsZGF0YVFhSWQ6bX09ZSxJPSgwLG8udXNlUmVmKShudWxsKSx2PSgwLG8udXNlUmVmKShudWxsKSxDPSgwLG8udXNlSWQpKCksYj0oMCxvLnVzZUlkKSgpLHtjbG9zZVBvcG92ZXI6Zn09KDAsYy51c2VQb3BvdmVyQ29udGV4dCkoKSx7aXNPcGVuOmgsb25PcGVuOk8sb25DbG9zZTpTfT0oMCxrLnVzZU5lc3RlZFBvcG92ZXJPcGVuU3RhdGUpKEksZikseT0oMCxvLnVzZUNhbGxiYWNrKSgoKCk9PntoP1MoITApOk8oKX0pLFtoLE8sU10pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLG8uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7aWQ6QyxjbGFzc05hbWU6ZygpLmJ1dHRvbixvbkNsaWNrOnkscmVmOkkscm9sZTphLCJhcmlhLWhhc3BvcHVwIjpyLCJhcmlhLWNvbnRyb2xzIjpiLCJhcmlhLWxhYmVsIjp0LCJkYXRhLXFhLWlkIjooMCxFLmNvbmNhdElmTm90TnVsbCkoYCR7eH0tb3Blbi1idXR0b25gLG0pfSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnKCkudGV4dH0sdCkpLG8uY3JlYXRlRWxlbWVudChpLlBvcG92ZXJLZXlib2FyZE5hdmlnYXRvcix7cm9sZTpsLGlzT3BlbjpoLG9uQ2xvc2U6UyxhbmNob3JlZDp7YXQ6SSx0eXBlOiJlbGVtZW50In0scmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6dixpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OmIsYXJpYUxhYmVsbGVkYnk6QyxmaXhlZEZvb3RlcjpzLGZpeGVkSGVhZGVyOmQsY2xvc2VPblNjcm9sbE91dHNpZGU6dSxjbG9zZU9uUmVzaXplV2luZG93OnAsZGF0YVFhSWQ6KDAsRS5jb25jYXRJZk5vdE51bGwpKGAke3h9LXBvcG92ZXJgLG0pfSxuKSl9dmFyIHk9big4MDc4NzMpO2Z1bmN0aW9uIEwoZSl7cmV0dXJuIGUuc3VibWVudXM/by5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCxlLnN1Ym1lbnVzLm1hcCgoKHQsbik9Pm8uY3JlYXRlRWxlbWVudCh5LkNvbnRleHRBY3Rpb24se2tleTpgJHt0LnRpdGxlfToke259YCxkYXRhUWFJZDp0LmRhdGFRYUlkfSxvLmNyZWF0ZUVsZW1lbnQoUyx7dGl0bGU6dC50aXRsZSwuLi5lLnNwbGl0SXRlbXModC5pdGVtcyxlLnN1Ym1lbnVPcHRpb25zKSxjbG9zZU9uUmVzaXplV2luZG93OmUuc3VibWVudU9wdGlvbnMuY2xvc2VPblJlc2l6ZVdpbmRvdyxjbG9zZU9uU2Nyb2xsT3V0c2lkZTplLnN1Ym1lbnVPcHRpb25zLmNsb3NlT25TY3JvbGxPdXRzaWRlfSkpKSkpOm51bGx9Y29uc3QgQT1zKChlPT57Y29uc3QgdD0oMCxvLnVzZUlkKSgpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaC5UaXRsZVBvcG92ZXJJdGVtLHtpZDp0LHRpdGxlOmUudGl0bGUscm9sZTplLnN1Ym1lbnVzPy5sZW5ndGg/Im1lbnVpdGVtIjp2b2lkIDAsYXJpYUxhYmVsOmUudGl0bGUscmlnaHRTbG90Om8uY3JlYXRlRWxlbWVudChMLHtzdWJtZW51czplLnN1Ym1lbnVzLHN1Ym1lbnVPcHRpb25zOmUuc3VibWVudU9wdGlvbnMsc3BsaXRJdGVtczplLnNwbGl0SXRlbXN9KSxkYXRhUWFJZDplLmRhdGFRYUlkLHZhcmlhbnQ6ZS52YXJpYW50fSl9KSk7dmFyIHc9big3MzI3MzEpO2NvbnN0IFQ9cygoZT0+by5jcmVhdGVFbGVtZW50KHcuRGl2aWRlckxpc3RJdGVtLHtyb2xlOiJzZXBhcmF0b3IifSkpKTt2YXIgUD1uKDQ2NjIzMCk7Y29uc3QgUj1zKChlPT57Y29uc3QgdD1wKHtjbG9zZU9uQ2xpY2s6ZS5jbG9zZU9uQ2xpY2s/PyJkb05vdENsb3NlIixvbkNsaWNrOmUub25DbGlja30pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoUC5DaGVja2JveFBvcG92ZXJJdGVtLHt0aXRsZTplLnRpdGxlLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sb25DbGljazp0LGNoZWNrZWQ6ZS5jaGVja2VkLGFyaWFDaGVja2VkOmUuY2hlY2tlZCxyb2xlOiJtZW51aXRlbWNoZWNrYm94IixkYXRhUWFJZDplLmRhdGFRYUlkfSl9KSk7dmFyIE49big1NjEyNTQpO2NvbnN0IFE9cygoZT0+e2NvbnN0IHQ9cCh7Y2xvc2VPbkNsaWNrOmUuY2xvc2VPbkNsaWNrPz8iZG9Ob3RDbG9zZSIsb25DbGljazplLm9uQ2xpY2t9KTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KE4uU3dpdGNoUG9wb3Zlckl0ZW0sey4uLmwoZSksCm9uQ2xpY2s6dCxjaGVja2VkOmUuY2hlY2tlZCxhcmlhQ2hlY2tlZDplLmNoZWNrZWQscm9sZToibWVudWl0ZW1jaGVja2JveCIsZGF0YVFhSWQ6ZS5kYXRhUWFJZH0pfSkpO3ZhciBfPW4oNTU3NTM0KTtjb25zdCBCPXMoKGU9Pntjb25zdCB0PXAoe2Nsb3NlT25DbGljazplLmNsb3NlT25DbGljaz8/ImRvTm90Q2xvc2UiLG9uQ2xpY2s6KCk9PmUub25DbGljayghZS5jaGVja2VkKX0pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoXy5SYWRpb2J1dHRvblBvcG92ZXJJdGVtLHt0aXRsZTplLnRpdGxlLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sb25DbGljazp0LGNoZWNrZWQ6ZS5jaGVja2VkLGFyaWFDaGVja2VkOmUuY2hlY2tlZCxyb2xlOiJtZW51aXRlbXJhZGlvIixkaXNhYmxlZDplLmRpc2FibGVkLGRhdGFRYUlkOmUuZGF0YVFhSWR9KX0pKTt2YXIgRD1uKDM5MTkxNCk7Y29uc3QgTT1zKChlPT57Y29uc3QgdD0oMCxvLnVzZUlkKSgpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoRC5TZWN0aW9uUG9wb3Zlckl0ZW0se2lkOnQsdGl0bGU6ZS50aXRsZSxpdGVtUm9sZTplLndyYXBwYWJsZT8ibWVudWl0ZW1jaGVja2JveCI6ZS5zdWJtZW51cz8ubGVuZ3RoPyJtZW51aXRlbSI6dm9pZCAwLHdyYXBwYWJsZTplLndyYXBwYWJsZSxkZWZhdWx0V3JhcHBlZDplLmRlZmF1bHRXcmFwcGVkLGFyaWFMYWJlbDplLnRpdGxlLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OnQscmlnaHRTbG90OmUuc3VibWVudXM/Lmxlbmd0aD9vLmNyZWF0ZUVsZW1lbnQoTCx7c3VibWVudXM6ZS5zdWJtZW51cyxzdWJtZW51T3B0aW9uczplLnN1Ym1lbnVPcHRpb25zLHNwbGl0SXRlbXM6ZS5zcGxpdEl0ZW1zfSk6dm9pZCAwLGRhdGFRYUlkOmUuZGF0YVFhSWR9LGUuaXRlbXMubWFwKCgodCxuKT0+ZS5waWNrTWVudUl0ZW0odCxuLGUuc3VibWVudU9wdGlvbnMpKSkpfSkpO3ZhciBXPW4oOTIwOTM4KTtjb25zdCBGPXMoKGU9Pntjb25zdHtjaGlsZHJlbjp0LGxhYmVsOm4sZGF0YVFhSWQ6aX09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KFcuQ3VzdG9tUG9wb3Zlckl0ZW0se2Rpc2FibGVkOiEwLHJvbGU6Im1lbnVpdGVtIixhcmlhTGFiZWw6bixmb2N1c2FibGU6ITAsZGF0YVFhSWQ6aX0sdCl9KSksSD1zKChlPT57Y29uc3R7aXRlbXM6dCxzdWJtZW51T3B0aW9uczpuLHBpY2tNZW51SXRlbTppfT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLG8uY3JlYXRlRWxlbWVudCh3LkRpdmlkZXJMaXN0SXRlbSx7cm9sZToic2VwYXJhdG9yIn0pLHQubWFwKCgoZSx0KT0+aShlLHQsbikpKSl9KSksVT1zKChlPT57Y29uc3R7aXRlbXM6dCxzdWJtZW51T3B0aW9uczpuLHBpY2tNZW51SXRlbTppfT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLHQubWFwKCgoZSx0KT0+aShlLHQsbikpKSxvLmNyZWF0ZUVsZW1lbnQody5EaXZpZGVyTGlzdEl0ZW0se3JvbGU6InNlcGFyYXRvciJ9KSl9KSk7dmFyICQ9big2Mzg4NzIpLEs9bigyNzM2NzcpLEo9bi5uKEspO2Z1bmN0aW9uIFYoZSl7Y29uc3R7dGl0bGU6dCxvbkNsaWNrOm4scG9wb3Zlckl0ZW1CdXR0b25SZWY6aSxkYXRhUWFJZDphfT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaC5UaXRsZVBvcG92ZXJJdGVtLHt0aXRsZTp0LG9uQ2xpY2s6bixsZWZ0U2xvdDpvLmNyZWF0ZUVsZW1lbnQoJC5TdmdJY29uTGlzdEl0ZW1QYXJ0LHtpY29uU3ZnOkooKSxkaXJNYXRjaGluZzohMH0pLHBvcG92ZXJJdGVtQnV0dG9uUmVmOmksZGF0YVFhSWQ6YX0pfXZhciB6PW4oOTg4MDY4KSxxPW4oMjM1NzI0KSxqPW4oNzg3ODk1KSxHPW4oMjM2NDU0KSxYPW4oNjQwNTEzKSxaPW4oMjUwNTE4KSxZPW4oMjk4NzI4KSxlZT1uKDg1NDMzOCksdGU9big0NzkyOTcpLG5lPW4oNTc3ODMyKSxvZT1uKDE1OTI1Nik7Y29uc3QgaWU9KDAsdGUud2luZG93RXZlbnQpKCJtb3VzZW1vdmUiKTt2YXIgYWUscmU9big5NTY3MzApLGxlPW4oMjM2MTQ2KSxjZT1uLm4obGUpLHNlPW4oNjkxODMpLGRlPW4ubihzZSk7IWZ1bmN0aW9uKGUpe2UuQ2xpY2s9ImNsaWNrIixlLkhvdmVyPSJob3ZlciJ9KGFlfHwoYWU9e30pKTtjb25zdCB1ZT0iaG92ZXIiLHBlPTMwMCxtZT1gJHtFLlVJX0xJQl9EQVRBX1FBX0lEX1BSRUZJWH1uZXN0ZWQtcG9wb3ZlcmA7ZnVuY3Rpb24gSWUoZSl7Y29uc3QgdD0oMCxvLnVzZUlkKSgpLG49KDAsby51c2VSZWYpKG51bGwpLHI9KDAsby51c2VSZWYpKG51bGwpLGw9KDAsby51c2VJZCkoKSx7Y2hpbGRyZW46cyxwb3BvdmVySXRlbVJlZjpkPW4scG9wb3Zlckl0ZW1CdXR0b25JZDp1PWwscG9wb3Zlckl0ZW1CdXR0b25SZWY6cD1yLG5lc3RlZFBvcG92ZXJSb2xlOm0scm9sZTp2LGxlZnRTbG90OkMsb3Blbk9uOmI9dWUsY2xvc2VPbkhvdmVyQXdheURlbGF5TXM6Zj1wZSxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpoLGNsb3NlT25SZXNpemVXaW5kb3c6TyxkaXNhYmxlZDpnLHRpdGxlOngsaWRPZkNvbnRlbnRXcmFwcGVyRWxlbWVudDpTPXQsc2VsZWN0ZWQ6eSxkZXNjcmlwdGlvbjpMLHJpZ2h0U2xvdDpBLGZpeGVkSGVhZGVyOncsZml4ZWRGb290ZXI6VCxkYXRhUWFJZDpQfT1lLFI9KDAsai51c2VGdW5jdGlvbmFsUmVmT2JqZWN0KShwKSxOPSgwLGoudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoZCkse2ZvY3VzRmlyc3Q6UX09KDAsby51c2VNZW1vKSgoKCk9PigwLFouZ2V0U2VsZWN0b3JLZXlib2FyZE5hdmlnYXRpb24pKGBbJHt6LkRBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTn1dYCkpLFtdKSx7aXNSdGw6XyxjbG9zZVBvcG92ZXI6Qn09KDAsYy51c2VQb3BvdmVyQ29udGV4dCkoKSx7aXNNb2JpbGVQb3NpdGlvbmVyOkR9PSgwLHJlLnVzZVBvc2l0aW9uZXJDb250ZXh0KSgpLE09RD8iY2xpY2siOmIsVz0oMCxZLmZsaXBBcnJvd3NPblJ0bCkoMzcsXyksRj0oMCxZLmZsaXBBcnJvd3NPblJ0bCkoMzksXykse2lzT3BlbjpILG9uT3BlbjpVLG9uQ2xvc2U6JH09KDAsay51c2VOZXN0ZWRQb3BvdmVyT3BlblN0YXRlKShSLEIpLEs9KDAsby51c2VSZWYpKG51bGwpLEo9KDAsby51c2VDYWxsYmFjaykoKCgpPT57aWYoSCkkKCEwKTtlbHNle1UoKQo7Y29uc3QgZT1LLmN1cnJlbnQ7ZSYmUShlKX19KSxbSCwkLFUsUV0pLFg9KDAsby51c2VDYWxsYmFjaykoKGU9PnsoMCxxLmhhc2hGcm9tRXZlbnQpKGUpIT09Rnx8SigpfSksW0YsSl0pOyFmdW5jdGlvbihlLHQsbj0wLG8saSl7KDAsb2UudXNlQ29uZGl0aW9uYWxFZmZlY3QpKGUsKCgpPT57bGV0IGU9ITEsYT0tMTtyZXR1cm4gaWUoKHI9Pntjb25zdCBsPXt4OnIuY2xpZW50WCx5OnIuY2xpZW50WX0sYz1vLmN1cnJlbnQscz0oMCxuZS5pc0luRXhjbHVkZWRBcmVhKShsLGkpfHxjJiYoMCxlZS5pc1hZSW5zaWRlRWxlbWVudFRocm91Z2hQb3J0YWxzKShjLGwueCxsLnkpfHwhMTtzIT09ZSYmKGNsZWFyVGltZW91dChhKSxlPXMsYT1zZXRUaW1lb3V0KCgoKT0+e2V8fHQoITEsImN1cnJlbnRMZXZlbCIpfSksbikpfSkpfSksW28sbixpLHRdKX0oImhvdmVyIj09PU0mJnZvaWQgMCE9PWYsJCxmLEssTik7Y29uc3QgdGU9ImhvdmVyIj09PU0mJnZvaWQgMCE9PWY/VTp2b2lkIDA7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KGEuUG9wb3Zlckl0ZW0se2xlZnRTbG90OkMsdGl0bGU6eCxkZXNjcmlwdGlvbjpMLHJvbGU6dixwb3BvdmVySXRlbVJlZjpOLHBvcG92ZXJJdGVtQnV0dG9uUmVmOlIsb25DbGljazplPT57ImJ1dHRvbiJpbiBlJiYiY2xpY2siIT09TXx8SigpfSxvbktleURvd25Qb3BvdmVySXRlbUJ1dHRvbjpYLHJpZ2h0U2xvdDpvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpkZSgpLnJpZ2h0fSxBLG8uY3JlYXRlRWxlbWVudChJLkJsb2NrSWNvbix7aWNvbjpjZSgpLGNsYXNzTmFtZTpkZSgpLmFycm93fSkpLGlzT3BlbjpILGFyaWFIYXNwb3B1cDptLGFyaWFFeHBhbmRlZDpILGFyaWFDb250cm9sczpTLHBvcG92ZXJJdGVtQnV0dG9uSWQ6dSxzZWxlY3RlZDp5LGRpc2FibGVkOmcsb25Nb3VzZUVudGVyOnRlLGRhdGFRYUlkOigwLEUuY29uY2F0SWZOb3ROdWxsKShgJHttZX0tb3Blbi1idXR0b25gLFApfSksby5jcmVhdGVFbGVtZW50KGkuUG9wb3ZlcktleWJvYXJkTmF2aWdhdG9yLHtpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OlMscm9sZTptLGFuY2hvcmVkOnt0eXBlOiJlbGVtZW50IixhdDpOfSxpc09wZW46SCxvbkNsb3NlOiQscGxhY2VtZW50UnVsZXM6Q2UucGxhY2VtZW50UnVsZXMsd2lkdGg6dmUsaGVpZ2h0OkcuUE9QT1ZFUl9ERUZBVUxUX0hFSUdIVCxpc1J0bDpfLHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OkssYXJpYUxhYmVsbGVkYnk6dSxmaXhlZEhlYWRlcjp3LGZpeGVkRm9vdGVyOlQsY2xvc2VPblNjcm9sbE91dHNpZGU6aCxjbG9zZU9uUmVzaXplV2luZG93Ok8sZGF0YVFhSWQ6KDAsRS5jb25jYXRJZk5vdE51bGwpKGAke21lfS1wb3BvdmVyYCxQKX0sRCYmby5jcmVhdGVFbGVtZW50KFYse3RpdGxlOngsb25DbGljazooKT0+JCghMCwiY3VycmVudExldmVsIiksZGF0YVFhSWQ6KDAsRS5jb25jYXRJZk5vdE51bGwpKGAke21lfS1jbG9zZS1idXR0b25gLFApfSksby5jcmVhdGVFbGVtZW50KCJkaXYiLHtvbktleURvd246ZT0+e2NvbnN0IHQ9ZS5jdXJyZW50VGFyZ2V0LG49ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxvPSgwLHEuaGFzaEZyb21FdmVudCkoZSksaT1uJiZ0LmNvbnRhaW5zKG4pJiYidHJ1ZSIhPT1uLmdldEF0dHJpYnV0ZSh6LkRBVEFfTkVTVEVEX1BPUE9WRVJfT1BFTik7aWYobz09PVcmJmkpcmV0dXJuICQoITAsImN1cnJlbnRMZXZlbCIpLHZvaWQgZS5zdG9wUHJvcGFnYXRpb24oKX19LHMpKSl9Y29uc3QgdmU9W3tieToiY29udGVudCJ9XSxDZT17cGxhY2VtZW50UnVsZXM6W3suLi5YLlBMQUNFTUVOVF9SSUdIVF9BTElHTl9UT1Asb2Zmc2V0Ont4OjAseTotNn19LHsuLi5YLlBMQUNFTUVOVF9MRUZUX0FMSUdOX1RPUCxvZmZzZXQ6e3g6MCx5Oi02fX0sey4uLlguUExBQ0VNRU5UX1JJR0hUX0FMSUdOX0JPVFRPTSxvZmZzZXQ6e3g6MCx5OjZ9fSx7Li4uWC5QTEFDRU1FTlRfTEVGVF9BTElHTl9CT1RUT00sb2Zmc2V0Ont4OjAseTo2fX1dfSxiZT1zKChlPT5vLmNyZWF0ZUVsZW1lbnQoSWUsey4uLmwoZSkscm9sZToibWVudWl0ZW0iLG5lc3RlZFBvcG92ZXJSb2xlOiJtZW51IixvcGVuT246ZS5vcGVuU3VibWVudU9uLGNsb3NlT25TY3JvbGxPdXRzaWRlOmUuY2xvc2VPblNjcm9sbE91dHNpZGUsY2xvc2VPblJlc2l6ZVdpbmRvdzplLmNsb3NlT25SZXNpemVXaW5kb3cscmlnaHRTbG90OmUucmlnaHRUZXh0LGRhdGFRYUlkOmUuZGF0YVFhSWQsLi4uZS5zcGxpdEl0ZW1zKGUuc3VibWVudSx7b3BlblN1Ym1lbnVPbjplLm9wZW5TdWJtZW51T24sY2xvc2VPblNjcm9sbE91dHNpZGU6ZS5jbG9zZU9uU2Nyb2xsT3V0c2lkZSxjbG9zZU9uUmVzaXplV2luZG93OmUuY2xvc2VPblJlc2l6ZVdpbmRvd30pfSkpKTt2YXIgZmU9big1OTA5MTQpLGhlPW4oMzEyMjk1KSxrZT1uKDExOTc1MCksRWU9big5MDYxMzQpLE9lPW4oNjM3NTY0KTtjb25zdCBnZT1zKChlPT57Y29uc3QgdD1wKGUpLG49KDAsby51c2VJZCkoKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGZlLkNvbnRleHRBY3Rpb25zUG9wb3Zlckl0ZW0sey4uLmwoZSksdGl0bGU6by5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCxlLnRpdGxlLGUuaW5mb1RpdGxlJiZvLmNyZWF0ZUVsZW1lbnQoeWUse2FjdGlvbjp7a2luZDoiaXFpIixvbkNsaWNrOmUuaW5mb09uQ2xpY2ssaWNvbjplLmluZm9JY29uLGludGVudDplLmluZm9JbnRlbnQsdGl0bGU6ZS5pbmZvVGl0bGV9fSkpLHBvcG92ZXJJdGVtQnV0dG9uSWQ6bixob3RrZXk6ZS5ob3RrZXksYXJpYUhhc3BvcHVwOiJtZW51Iixyb2xlOiJtZW51aXRlbSIscmlnaHRTbG90Om8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsZS5jb250ZXh0QWN0aW9ucz8ubWFwKCgoZSx0KT0+by5jcmVhdGVFbGVtZW50KHhlLHthY3Rpb246ZSxrZXk6dH0pKSkpLG9uQ2xpY2s6dCxzZWxlY3RlZDplLnNlbGVjdGVkLGRhdGFRYUlkOmUuZGF0YVFhSWR9KX0pKTtmdW5jdGlvbiB4ZShlKXtjb25zdCB0PWUuYWN0aW9uO3N3aXRjaCh0LmtpbmQpe2Nhc2UiaWNvbkJ1dHRvbiI6CnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoU2Use2FjdGlvbjp0fSk7Y2FzZSJpcWkiOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoeWUse2FjdGlvbjp0fSk7Y2FzZSJjdXN0b20iOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoTGUse2FjdGlvbjp0fSl9fWZ1bmN0aW9uIFNlKGUpe2NvbnN0IHQ9ZS5hY3Rpb247cmV0dXJuIG8uY3JlYXRlRWxlbWVudCh5LkNvbnRleHRBY3Rpb24se2RhdGFRYUlkOnQuZGF0YVFhSWR9LG8uY3JlYXRlRWxlbWVudChoZS5JY29uQnV0dG9uLHtyb2xlOiJtZW51aXRlbSIsb25DbGljazp0Lm9uQ2xpY2ssdGl0bGU6dC50aXRsZSxpY29uOnQuaWNvblN2Z30pKX1mdW5jdGlvbiB5ZShlKXtjb25zdCB0PWUuYWN0aW9uLHtjbG9zZVBvcG92ZXI6bn09KDAsYy51c2VQb3BvdmVyQ29udGV4dCkoKSxpPWUuYWN0aW9uLm9uQ2xpY2s7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCh5LkNvbnRleHRBY3Rpb24sbnVsbCxvLmNyZWF0ZUVsZW1lbnQoRWUuVG9vbHRpcCx7Y29udGVudDp0LnRpdGxlPz8iSGVsbG8iLHRyaWdnZXI6W0VlLlRyaWdnZXIuSG92ZXIsRWUuVHJpZ2dlci5Gb2N1cywuLi5pP1tdOltFZS5UcmlnZ2VyLkNsaWNrXV0scGxhY2VtZW50OltPZS5Ub29sdGlwUGxhY2VtZW50cy5Ub3AsT2UuVG9vbHRpcFBsYWNlbWVudHMuQm90dG9tXX0sby5jcmVhdGVFbGVtZW50KGtlLkljb25RdWVzdGlvbkluZm9ybWF0aW9uQnV0dG9uLHtpY29uOnQuaWNvbixpbnRlbnQ6dC5pbnRlbnQsYXJpYUxhYmVsOnQudGl0bGUsb25DbGljazppPygpPT57bighMSwiYWxsTGV2ZWxzIiksaSgpfTp2b2lkIDB9KSkpfWZ1bmN0aW9uIExlKGUpe2NvbnN0IHQ9ZS5hY3Rpb247cmV0dXJuIG8uY3JlYXRlRWxlbWVudCh5LkNvbnRleHRBY3Rpb24se3ByZXZlbnRDbGlja1Byb3BhZ2F0aW9uOnQucHJldmVudENsaWNrUHJvcGFnYXRpb259LHQuY2hpbGRyZW4pfXZhciBBZT1uKDkxMzg3NCksd2U9big1NjU3NDUpO2NvbnN0IFRlPShlLHQsbik9PntpZighZSlyZXR1cm4gbnVsbDtzd2l0Y2goZS50eXBlKXtjYXNlIHZvaWQgMDpjYXNlImJhc2ljIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KG0se2tleTpgYmFzaWMtJHtlLnRpdGxlfToke2UuZGVzY3JpcHRpb259OiR7ZS5pZH1gLGljb25Tdmc6ZS5pY29uU3ZnLGljb25Vcmw6ZS5pY29uVXJsLGljb25Kc3g6ZS5pY29uSnN4LGljb25TcGFjZTplLmljb25TcGFjZSx0aXRsZTplLnRpdGxlLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sb25DbGljazplLm9uQ2xpY2ssaG90a2V5OmUuaG90a2V5LGRpc2FibGVkOmUuZGlzYWJsZWQsZWxsaXBzaXM6ZS5lbGxpcHNpcyxjbG9zZU9uQ2xpY2s6ZS5jbG9zZU9uQ2xpY2ssc2VsZWN0ZWQ6ZS5zZWxlY3RlZCx2aXNpYmxlOmUudmlzaWJsZSxyaWdodFRleHQ6ZS5yaWdodFRleHQsZGF0YVFhSWQ6ZS5kYXRhUWFJZCxpbnRlbnQ6ZS5pbnRlbnR9KTtjYXNlImxpbmsiOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoZix7a2V5OmBsaW5rLSR7ZS50aXRsZX06JHtlLmRlc2NyaXB0aW9ufToke2UuaWR9YCxpY29uU3ZnOmUuaWNvblN2ZyxpY29uVXJsOmUuaWNvblVybCxpY29uSnN4OmUuaWNvbkpzeCxpY29uU3BhY2U6ZS5pY29uU3BhY2UsdGl0bGU6ZS50aXRsZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLGhyZWY6ZS5ocmVmLHNlbGVjdGVkOmUuc2VsZWN0ZWQsY2xvc2VPbkNsaWNrOmUuY2xvc2VPbkNsaWNrLHZpc2libGU6ZS52aXNpYmxlLG9uQ2xpY2s6ZS5vbkNsaWNrLGRhdGFRYUlkOmUuZGF0YVFhSWQscmVsOmUucmVsLHRhcmdldDplLnRhcmdldH0pO2Nhc2UidGl0bGUiOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoQSx7a2V5OmB0aXRsZS0ke2UudGl0bGV9YCx0aXRsZTplLnRpdGxlLHZpc2libGU6ZS52aXNpYmxlLHN1Ym1lbnVzOmUuc3VibWVudXMsc3VibWVudU9wdGlvbnM6bixkYXRhUWFJZDplLmRhdGFRYUlkLHZhcmlhbnQ6ZS52YXJpYW50LHNwbGl0SXRlbXM6TmV9KTtjYXNlImNvbnRleHRBY3Rpb25zIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KGdlLHtrZXk6YGNvbnRleHRBY3Rpb25zLSR7ZS50aXRsZX06JHtlLmRlc2NyaXB0aW9ufToke2UuaWR9YCxpY29uU3ZnOmUuaWNvblN2ZyxpY29uVXJsOmUuaWNvblVybCxpY29uSnN4OmUuaWNvbkpzeCxpY29uU3BhY2U6ZS5pY29uU3BhY2UsdGl0bGU6ZS50aXRsZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLGNvbnRleHRBY3Rpb25zOmUuY29udGV4dEFjdGlvbnMsb25DbGljazplLm9uQ2xpY2ssaG90a2V5OmUuaG90a2V5LHNlbGVjdGVkOmUuc2VsZWN0ZWQsY2xvc2VPbkNsaWNrOmUuY2xvc2VPbkNsaWNrLHZpc2libGU6ZS52aXNpYmxlLGRhdGFRYUlkOmUuZGF0YVFhSWQsaW5mb09uQ2xpY2s6ZS5pbmZvT25DbGljayxpbmZvSWNvbjplLmluZm9JY29uLGluZm9JbnRlbnQ6ZS5pbmZvSW50ZW50LGluZm9UaXRsZTplLmluZm9UaXRsZX0pO2Nhc2Uic3ViTWVudSI6cmV0dXJuIG8uY3JlYXRlRWxlbWVudChiZSx7a2V5OmBzdWJNZW51LSR7ZS50aXRsZX06JHtlLmRlc2NyaXB0aW9ufToke2UuaWR9YCxpY29uU3ZnOmUuaWNvblN2ZyxpY29uVXJsOmUuaWNvblVybCxpY29uSnN4OmUuaWNvbkpzeCxpY29uU3BhY2U6ZS5pY29uU3BhY2UsdGl0bGU6ZS50aXRsZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLHN1Ym1lbnU6ZS5zdWJtZW51LC4uLm4sdmlzaWJsZTplLnZpc2libGUscmlnaHRUZXh0OmUucmlnaHRUZXh0LGRhdGFRYUlkOmUuZGF0YVFhSWQsc3BsaXRJdGVtczpOZX0pO2Nhc2UiZGl2aWRlciI6cmV0dXJuIG8uY3JlYXRlRWxlbWVudChULHtrZXk6YGRpdmlkZXItJHt0fToke2UuaWR9YCx2aXNpYmxlOmUudmlzaWJsZX0pO2Nhc2UiY2hlY2tib3giOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoUix7a2V5OmBjaGVja2JveC0ke3R9OiR7ZS5pZH1gLHRpdGxlOmUudGl0bGUsZGVzY3JpcHRpb246ZS5kZXNjcmlwdGlvbixvbkNsaWNrOmUub25DbGljayxjaGVja2VkOmUuY2hlY2tlZCx2aXNpYmxlOmUudmlzaWJsZSxjbG9zZU9uQ2xpY2s6ZS5jbG9zZU9uQ2xpY2ssZGF0YVFhSWQ6ZS5kYXRhUWFJZH0pO2Nhc2Uic3dpdGNoIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KFEsewprZXk6YGNoZWNrYm94LSR7dH06JHtlLmlkfWAsdGl0bGU6ZS50aXRsZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLGljb25Tdmc6ZS5pY29uU3ZnLGljb25Vcmw6ZS5pY29uVXJsLGljb25Kc3g6ZS5pY29uSnN4LGljb25TcGFjZTplLmljb25TcGFjZSxvbkNsaWNrOmUub25DbGljayxjaGVja2VkOmUuY2hlY2tlZCx2aXNpYmxlOmUudmlzaWJsZSxjbG9zZU9uQ2xpY2s6ZS5jbG9zZU9uQ2xpY2ssZGF0YVFhSWQ6ZS5kYXRhUWFJZH0pO2Nhc2UicmFkaW8iOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoQix7a2V5OmBjaGVja2JveC0ke3R9OiR7ZS5pZH1gLHRpdGxlOmUudGl0bGUsZGVzY3JpcHRpb246ZS5kZXNjcmlwdGlvbixvbkNsaWNrOmUub25DbGljayxjaGVja2VkOmUuY2hlY2tlZCx2aXNpYmxlOmUudmlzaWJsZSxkaXNhYmxlZDplLmRpc2FibGVkLGNsb3NlT25DbGljazplLmNsb3NlT25DbGljayxkYXRhUWFJZDplLmRhdGFRYUlkfSk7Y2FzZSJzZWN0aW9uIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KE0se2tleTpgc2VjdGlvbi0ke2UudGl0bGV9OiR7ZS5pZH1gLHRpdGxlOmUudGl0bGUsaXRlbXM6ZS5pdGVtcyx3cmFwcGFibGU6ZS53cmFwcGFibGUsZGVmYXVsdFdyYXBwZWQ6ZS5kZWZhdWx0V3JhcHBlZCx2aXNpYmxlOmUudmlzaWJsZSxzdWJtZW51czplLnN1Ym1lbnVzLHN1Ym1lbnVPcHRpb25zOm4sZGF0YVFhSWQ6ZS5kYXRhUWFJZCxwaWNrTWVudUl0ZW06VGUsc3BsaXRJdGVtczpOZX0pO2Nhc2UiaGVhZGVyIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KFUse2tleToiaGVhZGVyIixpdGVtczplLml0ZW1zLHZpc2libGU6ZS52aXNpYmxlLHN1Ym1lbnVPcHRpb25zOm4scGlja01lbnVJdGVtOlRlfSk7Y2FzZSJmb290ZXIiOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQoSCx7a2V5OiJmb290ZXIiLGl0ZW1zOmUuaXRlbXMsdmlzaWJsZTplLnZpc2libGUsc3VibWVudU9wdGlvbnM6bixwaWNrTWVudUl0ZW06VGV9KTtjYXNlIm5vbkludGVyYWN0aXZlIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KEYse2tleToibm9uSW50ZXJhY3RpdmUtIit0LGxhYmVsOmUubGFiZWwsY2hpbGRyZW46ZS5jaGlsZHJlbixkYXRhUWFJZDplLmRhdGFRYUlkfSl9fTtmdW5jdGlvbiBQZShlKXtyZXR1cm4hKCFlfHwiZm9vdGVyIiE9PWUudHlwZSl9ZnVuY3Rpb24gUmUoZSl7cmV0dXJuISghZXx8ImhlYWRlciIhPT1lLnR5cGUpfWNvbnN0IE5lPShlLHQpPT57Y29uc3Qgbj0oZSxuKT0+VGUoZSxuLHQpLFtvLGksYV09KDAsQWUuc3BsaXQpKGUsUmUsUGUpLHI9by5tYXAobikuZmlsdGVyKHdlLmlzRXhpc3RlbnQpLGw9aS5tYXAobikuZmlsdGVyKHdlLmlzRXhpc3RlbnQpLGM9YS5tYXAobikuZmlsdGVyKHdlLmlzRXhpc3RlbnQpO3JldHVybntmaXhlZEhlYWRlcjpyLmxlbmd0aD4wP3I6bnVsbCxjaGlsZHJlbjpjLmxlbmd0aD4wP2M6bnVsbCxmaXhlZEZvb3RlcjpsLmxlbmd0aD4wP2w6bnVsbH19O2Z1bmN0aW9uIFFlKGUpe2NvbnN0e2l0ZW1zOnQsYW5jaG9ySWQ6bixhbmNob3JCdXR0b25SZWY6YSxjb250ZW50SWQ6cixpc09wZW46bCxvbkNsb3NlOmMscGxhY2VtZW50UnVsZXM6cyx3aWR0aDpkLGhlaWdodDp1LHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnAscmVwb3NpdGlvblRyaWdnZXJzOm0sb3BlblN1Ym1lbnVPbjpJPSJob3ZlciIsbW9iaWxlQnJlYWtwb2ludDp2LGNsb3NlT25TY3JvbGxPdXRzaWRlOkMsY2xvc2VPblJlc2l6ZVdpbmRvdzpiLGRhdGFRYUlkOmZ9PWUsaD0oMCxvLnVzZU1lbW8pKCgoKT0+ImZ1bmN0aW9uIiE9dHlwZW9mIHQ/dDpsP3QoKTpbXSksW3QsbF0pLGs9KDAsby51c2VNZW1vKSgoKCk9Pk5lKGgse29wZW5TdWJtZW51T246SSxjbG9zZU9uUmVzaXplV2luZG93OmIsY2xvc2VPblNjcm9sbE91dHNpZGU6Q30pKSxbYixDLEksaF0pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaS5Qb3BvdmVyS2V5Ym9hcmROYXZpZ2F0b3Ise3JvbGU6Im1lbnUiLGFyaWFMYWJlbGxlZGJ5Om4saXNPcGVuOmwsb25DbG9zZTpjLGFuY2hvcmVkOnt0eXBlOiJlbGVtZW50IixhdDphfSxpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OnIscGxhY2VtZW50UnVsZXM6cyx3aWR0aDpkLGhlaWdodDp1LHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnAscmVwb3NpdGlvblRyaWdnZXJzOm0sbW9iaWxlQnJlYWtwb2ludDp2LGNsb3NlT25TY3JvbGxPdXRzaWRlOkMsY2xvc2VPblJlc2l6ZVdpbmRvdzpiLGRhdGFRYUlkOmYsLi4ua30pfX0sNDA4MzcwKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIG87bi5kKHQse0Nsb3NlT25DbGljazooKT0+byxERUZBVUxUX0NMT1NFX09OX0NMSUNLOigpPT5pLE1lbnVDb250ZXh0QWN0aW9uS2luZDooKT0+cixNZW51SXRlbVZpc2libGU6KCk9PmF9KSxmdW5jdGlvbihlKXtlLkFsbExldmVscz0iYWxsTGV2ZWxzIixlLkN1cnJlbnRMZXZlbD0iY3VycmVudExldmVsIixlLkRvTm90Q2xvc2U9ImRvTm90Q2xvc2UifShvfHwobz17fSkpO2NvbnN0IGk9ImN1cnJlbnRMZXZlbCI7dmFyIGEscjshZnVuY3Rpb24oZSl7ZS5EZXNrdG9wT25seT0iZGVza3RvcE9ubHkiLGUuTW9iaWxlT25seT0ibW9iaWxlT25seSIsZS5BbHdheXM9ImFsd2F5cyJ9KGF8fChhPXt9KSksZnVuY3Rpb24oZSl7ZS5pY29uQnV0dG9uPSJpY29uQnV0dG9uIixlLmlxaT0iaXFpIixlLmN1c3RvbT0iY3VzdG9tIn0ocnx8KHI9e30pKX0sNDIyNzc3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUhvcml6b250YWxNZW51S2V5Ym9hcmROYXZpZ2F0aW9uOigpPT5zfSk7dmFyIG89big5ODgwNjgpLGk9big0NDU0OTMpLGE9big4MDc4NzMpLHI9bigyODQ2OTApO2NvbnN0IGw9YFske28uREFUQV9JU19DT05URVhUX0FDVElPTn1dYCxjPWEuQ09OVEVYVF9BQ1RJT05fRk9DVVNBQkxFX1RBR1MubWFwKChlPT5gJHtsfSAke2V9YCkpLmpvaW4oIiwiKSxzPSgpPT57Y29uc3R7aXNSdGw6ZX09KDAsaS51c2VQb3BvdmVyQ29udGV4dCkoKTtyZXR1cm4oMCxyLmdldExpbmVhcktleWJvYXJkTmF2aWdhdGlvbikoYytgLFske28uREFUQV9JU19QT1BPVkVSX0lURU1fQlVUVE9OfV1gLHtob3Jpem9udGFsOiEwLGlzUnRsOmUsCmFsbG93TmVzdGVkRm9jdXNhYmxlOiEwfSl9fSw0OTM5NjAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aWNvblBhcnQ6KCk9PnN9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDQ1MDgyKTtmdW5jdGlvbiBhKGUpe2NvbnN0e2NoaWxkcmVuOnR9PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChpLldyYXBwZXIse2luZXJ0OiEwfSx0KX12YXIgcj1uKDYzODg3MiksbD1uKDU5NDMyMyk7ZnVuY3Rpb24gYyhlKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGkuV3JhcHBlcixudWxsKX1mdW5jdGlvbiBzKGUpe3JldHVybiBlLmljb25Kc3g/by5jcmVhdGVFbGVtZW50KGEsbnVsbCxlLmljb25Kc3gpOmUuaWNvblN2Zz9vLmNyZWF0ZUVsZW1lbnQoci5TdmdJY29uTGlzdEl0ZW1QYXJ0LHtpY29uU3ZnOmUuaWNvblN2Z30pOmUuaWNvblVybD9vLmNyZWF0ZUVsZW1lbnQobC5VcmxJY29uTGlzdEl0ZW1QYXJ0LHtpY29uVXJsOmUuaWNvblVybH0pOmUuaWNvblNwYWNlP28uY3JlYXRlRWxlbWVudChjLG51bGwpOnZvaWQgMH19LDQ2NjIzMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDaGVja2JveFBvcG92ZXJJdGVtOigpPT5yfSk7dmFyIG89big3Nzk0NzQpLGk9big1NzQwNzcpLGE9big5ODgwNjgpO2Z1bmN0aW9uIHIoZSl7Y29uc3R7cG9wb3Zlckl0ZW1SZWY6dCxwb3BvdmVySXRlbUJ1dHRvblJlZjpuLHBvcG92ZXJJdGVtQnV0dG9uSWQ6cixyb2xlOmwsdGl0bGU6YyxkZXNjcmlwdGlvbjpzLGNoZWNrZWQ6ZCxvbkNsaWNrOnUsYXJpYUNoZWNrZWQ6cCxsZWZ0U2xvdDptLHJpZ2h0U2xvdDpJLGRpc2FibGVkOnYsdGFiSW5kZXg6QyxkYXRhUWFJZDpifT1lLGY9KDAsby51c2VDYWxsYmFjaykoKCgpPT57dT8uKCFkKX0pLFtkLHVdKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGkuQ2hlY2tib3hMaXN0SXRlbSx7bGlzdEl0ZW1SZWY6dCxsaXN0SXRlbUJ1dHRvblJlZjpuLGxpc3RJdGVtQnV0dG9uSWQ6cixhcmlhQ2hlY2tlZDpwLHJvbGU6bCx0aXRsZTpjLGRlc2NyaXB0aW9uOnMsY2hlY2tlZDpkLG9uQ2xpY2s6ZixsZWZ0U2xvdDptLHJpZ2h0U2xvdDpJLGRpc2FibGVkOnYsdGFiSW5kZXg6QyxkYXRhUWFJZDpiLFthLkRBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTl06InRydWUifSl9fSw4MDc4NzMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q09OVEVYVF9BQ1RJT05fRk9DVVNBQkxFX1RBR1M6KCk9PnUsQ29udGV4dEFjdGlvbjooKT0+bX0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxhPW4ubihpKSxyPW4oMjk2Nzg2KSxsPW4oOTg4MDY4KSxjPW4oODY0NzM2KSxzPW4ubihjKTtjb25zdCBkPXtbbC5EQVRBX0lTX0NPTlRFWFRfQUNUSU9OXTohMH0sdT1bImFbaHJlZl0iLCJidXR0b246bm90KDpkaXNhYmxlZCkiLCJpbnB1dDpub3QoOmRpc2FibGVkKSIsJ1tyb2xlPSJidXR0b24iXSddLHA9dS5qb2luKCIsIik7ZnVuY3Rpb24gbShlKXtjb25zdHtjaGlsZHJlbjp0LGRhdGFRYUlkOm4scHJldmVudENsaWNrUHJvcGFnYXRpb246aT0hMH09ZSx7aWQ6bCxoaWRlQ29udGV4dEFjdGlvbnNJZk5vSG92ZXI6Yyxmb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOnUsc2V0Rm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjptfT0oMCxyLnVzZUNvbnRleHRBY3Rpb24pKCksST0oMCxvLnVzZVJlZikobnVsbCk7cmV0dXJuKDAsby51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9SS5jdXJyZW50O2lmKCFlKXJldHVybjtjb25zdCB0PWUucXVlcnlTZWxlY3RvcihwKTtyZXR1cm4gdD9mdW5jdGlvbihlLHQpe2NvbnN0IG49KCk9Pnt0KChlPT5lKzEpKX0sbz0oKT0+e3QoKGU9PmUtMSkpfTtyZXR1cm4gZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsbiksZS5hZGRFdmVudExpc3RlbmVyKCJibHVyIixvKSwoKT0+e2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLG4pLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsbyl9fSh0LG0pOnZvaWQgMH0pLFt0LG1dKSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsuLi5kLGlkOmwscmVmOkksb25DbGljazplPT57aSYmZS5zdG9wUHJvcGFnYXRpb24oKX0sY2xhc3NOYW1lOmEoKShzKCkuY29udGV4dEFjdGlvbnMsYyYmcygpLmhpZGVJZk5vSG92ZXIsdT4wJiZzKCkuc29tZUNvbnRleHRBY3Rpb25Gb2N1c2VkKSwiZGF0YS1xYS1pZCI6bn0sdCl9fSwyOTY3ODYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29udGV4dEFjdGlvbjooKT0+cix1c2VXcmFwcGVkSW50b0NvbnRleHRBY3Rpb25zQ29udGV4dDooKT0+YX0pO3ZhciBvPW4oNzc5NDc0KTtjb25zdCBpPSgwLG8uY3JlYXRlQ29udGV4dCkoe3NldElkczooKT0+e30saGlkZUNvbnRleHRBY3Rpb25zSWZOb0hvdmVyOiExLGZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6MCxzZXRGb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOigpPT57fX0pO2Z1bmN0aW9uIGEoZSx0LG4pe2NvbnN0W2Escl09KDAsby51c2VTdGF0ZSkoMCksbD0oMCxvLnVzZU1lbW8pKCgoKT0+KHtmb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOmEsc2V0Rm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjpyLHNldElkczp0LGhpZGVDb250ZXh0QWN0aW9uc0lmTm9Ib3ZlcjohIW59KSksW2Escix0LG5dKTtyZXR1cm4oMCxvLnVzZU1lbW8pKCgoKT0+ZT9vLmNyZWF0ZUVsZW1lbnQoaS5Qcm92aWRlcix7dmFsdWU6bH0sZSk6dm9pZCAwKSxbZSxsXSl9ZnVuY3Rpb24gcigpe2NvbnN0e3NldElkczplLGhpZGVDb250ZXh0QWN0aW9uc0lmTm9Ib3Zlcjp0LGZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6bixzZXRGb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOmF9PSgwLG8udXNlQ29udGV4dCkoaSkscj0oMCxvLnVzZUlkKSgpO3JldHVybigwLG8udXNlRWZmZWN0KSgoKCk9PihlKChlPT5bLi4uZSxyXSkpLCgpPT57ZSgoZT0+ZS5maWx0ZXIoKGU9PmUhPT1yKSkpKX0pKSxbZSxyXSkse2lkOnIsaGlkZUNvbnRleHRBY3Rpb25zSWZOb0hvdmVyOnQsZm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjpuLHNldEZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6YX19fSw1OTA5MTQoZSx0LG4peyJ1c2Ugc3RyaWN0Igo7bi5kKHQse0NvbnRleHRBY3Rpb25zUG9wb3Zlckl0ZW06KCk9PmR9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDk3MjczNCksYT1uKDc4Nzg5NSkscj1uKDQyMjc3NyksbD1uKDI5Njc4NiksYz1uKDUyOTQxMSk7ZnVuY3Rpb24gcyhlKXtjb25zdHtpZDp0LGFyaWFMYWJlbGxlZGJ5Om4sYXJpYU93bnM6aX09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtpZDp0LHJvbGU6Im1lbnUiLCJhcmlhLWxhYmVsbGVkYnkiOm4sImFyaWEtb3JpZW50YXRpb24iOiJob3Jpem9udGFsIiwiYXJpYS1vd25zIjppLmpvaW4oIiAiKSwiYXJpYS1oaWRkZW4iOjA9PT1pLmxlbmd0aH0pfWZ1bmN0aW9uIGQoZSl7Y29uc3QgdD0oMCxvLnVzZVJlZikobnVsbCksbj0oMCxvLnVzZVJlZikobnVsbCkse3BvcG92ZXJJdGVtUmVmOmQ9dCxwb3BvdmVySXRlbUJ1dHRvblJlZjp1PW4scG9wb3Zlckl0ZW1CdXR0b25JZDpwLHJvbGU6bSxhcmlhQ29udHJvbHM6SSxhcmlhTGFiZWw6dixsZWZ0U2xvdDpDLHRpdGxlOmIsZGVzY3JpcHRpb246ZixyaWdodFNsb3Q6aCxpc09wZW46ayxzZWxlY3RlZDpFLGRpc2FibGVkOk8saG90a2V5Omcsb25DbGljazp4LGFyaWFIYXNwb3B1cDpTLGhpZGVDb250ZXh0QWN0aW9uc0lmTm9Ib3Zlcjp5LGRhdGFRYUlkOkwsZWxsaXBzaXM6QX09ZSx3PSgwLGEudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoZCksVD0oMCxhLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKHUpLHtvbkZvY3VzOlAsb25LZXlEb3duOlJ9PSgwLHIudXNlSG9yaXpvbnRhbE1lbnVLZXlib2FyZE5hdmlnYXRpb24pKCksW04sUV09KDAsby51c2VTdGF0ZSkoW10pLF89KDAsYy51c2VJc0ZpcnN0UmVuZGVyKSgpLEI9KDAsbC51c2VXcmFwcGVkSW50b0NvbnRleHRBY3Rpb25zQ29udGV4dCkoaCxRLHkpLEQ9KDAsbC51c2VXcmFwcGVkSW50b0NvbnRleHRBY3Rpb25zQ29udGV4dCkoYixRLHkpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoImRpdiIse29uRm9jdXM6UCxvbktleURvd246Un0sby5jcmVhdGVFbGVtZW50KGkuUG9wb3Zlckl0ZW0se3BvcG92ZXJJdGVtQnV0dG9uSWQ6cCxsZWZ0U2xvdDpDLHRpdGxlOkQsZGVzY3JpcHRpb246ZixyaWdodFNsb3Q6Qixpc09wZW46ayxzZWxlY3RlZDpFLGRpc2FibGVkOk8saG90a2V5Omcsb25DbGljazp4LHBvcG92ZXJJdGVtUmVmOncscG9wb3Zlckl0ZW1CdXR0b25SZWY6VCxyb2xlOm0sYXJpYUhhc3BvcHVwOlMsYXJpYUNvbnRyb2xzOkksYXJpYUV4cGFuZGVkOiEwLGFyaWFMYWJlbDp2LGFyaWFCdXN5Ol8sb3V0c2lkZU9mQnV0dG9uU2xvdDpvLmNyZWF0ZUVsZW1lbnQocyx7aWQ6SSxhcmlhTGFiZWxsZWRieTpwLGFyaWFPd25zOk59KSxkYXRhUWFJZDpMLGVsbGlwc2lzOkF9KSl9fSw5MjA5MzgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q3VzdG9tUG9wb3Zlckl0ZW06KCk9PnJ9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDk4ODA2OCksYT1uKDg5NjIzNyk7Y29uc3Qgcj0oMCxvLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2lkOm4sY2hpbGRyZW46cixvbkNsaWNrOmwsZGlzYWJsZWQ6Yyxmb2N1c2FibGU6cyxyb2xlOmQsYXJpYUxhYmVsOnUsYXJpYUV4cGFuZGVkOnAsYXJpYUNvbnRyb2xzOm0sYXJpYUhhc3BvcHVwOkksZGF0YVFhSWQ6dn09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGEuQ3VzdG9tTGlzdEl0ZW0se2lkOm4sb25DbGljazpsLGZvY3VzYWJsZTpzLHJlZjp0LHJvbGU6ZCxhcmlhTGFiZWw6dSxhcmlhRXhwYW5kZWQ6cCxhcmlhQ29udHJvbHM6bSxhcmlhSGFzcG9wdXA6SSxkaXNhYmxlZDpjLGRhdGFRYUlkOnYsW2kuREFUQV9JU19QT1BPVkVSX0lURU1fQlVUVE9OXTpzfHxsPyJ0cnVlIjp2b2lkIDB9LHIpfSkpfSwzOTE5MTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2VjdGlvblBvcG92ZXJJdGVtOigpPT5jfSk7dmFyIG89big3Nzk0NzQpLGk9big0NDU0OTMpLGE9big4NDQ4NzEpLHI9big5ODgwNjgpLGw9big0MjI3NzcpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7aWQ6dCx0aXRsZTpuLGNoaWxkcmVuOmMsaXRlbVJvbGU6cyx3cmFwcGFibGU6ZCxkZWZhdWx0V3JhcHBlZDp1LG9uV3JhcHBlZENoYW5nZWQ6cCxhcmlhTGFiZWw6bSxyaWdodFNsb3Q6SSxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTp2LGRhdGFRYUlkOkN9PWUsW2IsZl09KDAsby51c2VTdGF0ZSkodT8/ITEpLHtvbktleURvd246aH09KDAsbC51c2VIb3Jpem9udGFsTWVudUtleWJvYXJkTmF2aWdhdGlvbikoKSxrPW58fHZvaWQgMCx7b25Qb3BvdmVyQ29udGVudFJlc2l6ZTpFfT0oMCxpLnVzZVBvcG92ZXJDb250ZXh0KSgpOygwLG8udXNlTGF5b3V0RWZmZWN0KSgoKCk9PntFPy4oKX0pLFtFLGJdKTtjb25zdCBPPSgwLG8udXNlQ2FsbGJhY2spKCgoKT0+e2YoKGU9Pntjb25zdCB0PSFlO3JldHVybiBwPy4odCksdH0pKX0pLFtwXSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KGEuU2VjdGlvbkxpc3RJdGVtLHtpZDp0LHRpdGxlOmssY2hpbGRyZW46YyxpdGVtUm9sZTpzLGFyaWFMYWJlbDptLHJpZ2h0U2xvdDpJLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OnYsZGF0YVFhSWQ6Qyxpc1dyYXBwZWQ6ZD9iOnZvaWQgMCxvbkNsaWNrOmQ/Tzp2b2lkIDAsb25LZXlEb3duOmgsW3IuREFUQV9JU19QT1BPVkVSX0lURU1fQlVUVE9OXTpkfHxJPyJ0cnVlIjp2b2lkIDB9KSl9fSw1NjEyNTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3dpdGNoUG9wb3Zlckl0ZW06KCk9PnJ9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDk3MjczNCksYT1uKDMwODIxNik7ZnVuY3Rpb24gcihlKXtjb25zdHtwb3BvdmVySXRlbVJlZjp0LHBvcG92ZXJJdGVtQnV0dG9uUmVmOm4scG9wb3Zlckl0ZW1CdXR0b25JZDpyLHJvbGU6bCx0aXRsZTpjLGRlc2NyaXB0aW9uOnMsY2hlY2tlZDpkLG9uQ2xpY2s6dSxhcmlhQ2hlY2tlZDpwLGxlZnRTbG90Om0sZGF0YVFhSWQ6SX09ZSx2PSgwLG8udXNlQ2FsbGJhY2spKCgoKT0+e3U/LighZCl9KSxbdSxkXSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChpLlBvcG92ZXJJdGVtLHtwb3BvdmVySXRlbVJlZjp0LApwb3BvdmVySXRlbUJ1dHRvblJlZjpuLHBvcG92ZXJJdGVtQnV0dG9uSWQ6cixhcmlhQ2hlY2tlZDpwLGxlZnRTbG90Om0scm9sZTpsLHRpdGxlOmMsZGVzY3JpcHRpb246cyxyaWdodFNsb3Q6by5jcmVhdGVFbGVtZW50KGEuU3dpdGNoVmlldyx7Y2hlY2tlZDpkfSksb25DbGljazp2LGRhdGFRYUlkOkl9KX19LDcyMjMyMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUaXRsZVBvcG92ZXJJdGVtOigpPT5zfSk7dmFyIG8saT1uKDc3OTQ3NCksYT1uKDk4ODA2OCkscj1uKDkzNTUzNSksbD1uKDQyMjc3NyksYz1uKDI5Njc4Nik7ZnVuY3Rpb24gcyhlKXtjb25zdHtpZDp0LHJvbGU6bixsZWZ0U2xvdDpvLHRpdGxlOnMsb25DbGljazpkLGFyaWFMYWJlbDp1LHJpZ2h0U2xvdDpwLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5Om0scG9wb3Zlckl0ZW1CdXR0b25SZWY6SSx2YXJpYW50OnYsYXJpYUNvbnRyb2xzOkMsdGl0bGVJZDpiLHdyYXBwYWJsZTpmLHdyYXBwZWQ6aCxkYXRhUWFJZDprfT1lLHtvbktleURvd246RX09KDAsbC51c2VIb3Jpem9udGFsTWVudUtleWJvYXJkTmF2aWdhdGlvbikoKSxbTyxnXT0oMCxpLnVzZVN0YXRlKShbXSkseD0oMCxjLnVzZVdyYXBwZWRJbnRvQ29udGV4dEFjdGlvbnNDb250ZXh0KShwLGcpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoci5UaXRsZUxpc3RJdGVtLHtpZDp0LHJvbGU6bixsZWZ0U2xvdDpvLHRpdGxlOnMsb25DbGljazpkLGFyaWFMYWJlbDp1LHJpZ2h0U2xvdDp4LHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5Om0sbGlzdEl0ZW1CdXR0b25SZWY6SSx2YXJpYW50OnYsYXJpYUNvbnRyb2xzOkMsdGl0bGVJZDpiLHdyYXBwZWQ6Zj9oOnZvaWQgMCxkYXRhUWFJZDprLG9uS2V5RG93bjpFLG5lc3RlZExpc3RzQXJpYU93bnM6Ty5sZW5ndGg+MD9PLmpvaW4oIiAiKTp2b2lkIDAsbmVzdGVkTGlzdEFyaWFIaWRkZW46MD09PU8ubGVuZ3RoLFthLkRBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTl06Znx8ZHx8cD8idHJ1ZSI6dm9pZCAwfSl9IWZ1bmN0aW9uKGUpe2UuUHJpbWFyeT0icHJpbWFyeSIsZS5TZWNvbmRhcnk9InNlY29uZGFyeSJ9KG98fChvPXt9KSl9LDMwODIxNihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTd2l0Y2hWaWV3OigpPT5zfSk7dmFyIG8saT1uKDc3OTQ3NCksYT1uKDkxNDQ4Nykscj1uLm4oYSksbD1uKDYyNTcwOSksYz1uLm4obCk7ZnVuY3Rpb24gcyhlKXtjb25zdHtzaXplOnQ9InNtYWxsIixjaGVja2VkOm4sZGlzYWJsZWQ6b309ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnIoKShjKCkuc3dpdGNoVmlldyxjKClbdF0sbyYmYygpLmRpc2FibGVkLG4mJmMoKS5jaGVja2VkKX0saS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmMoKS50cmFja30pLGkuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpjKCkudGh1bWJ9KSl9IWZ1bmN0aW9uKGUpe2UuU21hbGw9InNtYWxsIixlLk1lZGl1bT0ibWVkaXVtIixlLkxhcmdlPSJsYXJnZSJ9KG98fChvPXt9KSl9LDkxMzg3NChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7Y29uc3QgdD1uZXcgTWFwO3JldHVybiBBcnJheS5mcm9tKGUudmFsdWVzKCkpLmZvckVhY2goKChlLG4pPT57dC5zZXQoZS5pZCxuKX0pKSx0fWZ1bmN0aW9uIGkoZSwuLi50KXtjb25zdCBuPXQubWFwKCgoKT0+W10pKTtyZXR1cm4gbi5wdXNoKFtdKSxlLmZvckVhY2goKGU9Pntjb25zdCBvPXQuZmluZEluZGV4KCh0PT50KGUpKSksaT0obi5sZW5ndGgrbyklbi5sZW5ndGg7bltpXS5wdXNoKGUpfSkpLG59bi5kKHQse2dldElkVG9JbmRleE1hcDooKT0+byxzcGxpdDooKT0+aX0pfSwxOTQ2NDgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTQuNjcgNy4zOC42Ni0uNzZMOSA5Ljg0bDMuNjctMy4yMi42Ni43Nkw5IDExLjE2IDQuNjcgNy4zOFoiLz48L3N2Zz4nfSw1NDMzMzkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTQuNjcgMTAuNjIuNjYuNzZMOSA4LjE2bDMuNjcgMy4yMi42Ni0uNzZMOSA2Ljg0bC00LjMzIDMuNzhaIi8+PC9zdmc+J30sMTIyOTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQuNSAzQTEuNSAxLjUgMCAwIDAgMyA0LjV2OUExLjUgMS41IDAgMCAwIDQuNSAxNWg5YTEuNSAxLjUgMCAwIDAgMS41LTEuNVYxMGgtMXYzLjVhLjUuNSAwIDAgMS0uNS41aC05YS41LjUgMCAwIDEtLjUtLjV2LTlhLjUuNSAwIDAgMSAuNS0uNUg4VjNINC41ek0xMSA0aDIuM0w5LjE0IDguMTVsLjcuN0wxNCA0LjcxVjdoMVYzaC00djF6Ii8+PC9zdmc+J319XSk7"}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.40528.289cbeb8632c78beb058.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.001Z","timestamp":1785141585001,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.40528.289cbeb8632c78beb058.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b70-271\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:20 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:50\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: cd18e48e11523d9f7700c5e6774a8017\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":625,"size_decoded":1093,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (625), with no line terminators","md5":"9cc57475f4bc0e83551677f01ccb8326","sha1":"7788d2091a21e10ce4b20002d0875d298f78abdf","sha256":"aa7b0b72c05e6c30b63168c1ba891445e1f0b8805b81cb23935b9223f1388695","sha512":"441f0b713c7694da019960f7436a51911c9fed2b5b0175690d67e8ed7cee4263fa6e48b0b551d23792bf6a38cae5f76b7a06562338a3c793337c2d3eaaa09765","ssdeep":"","tlshash":"34f0a233c10959303f15639473c566518169714fe39280575123b1e053c3ca8e4ceedd","first_seen":"2026-05-05T12:17:23.734679Z","last_seen":"2026-07-27T14:50:15.294169Z","times_seen":380,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0MDUyOF0sezE0MzQxMihlKXtlLmV4cG9ydHM9WyJOb3QgYXBwbGljYWJsZSJdfSw0ODc3NjMoZSl7ZS5leHBvcnRzPVsiVHlwZSB0aGUgaW50ZXJ2YWwgbnVtYmVyIGZvciBtaW51dGUgY2hhcnRzIChpLmUuIDUgaWYgaXQgaXMgZ29pbmcgdG8gYmUgYSBmaXZlIG1pbnV0ZSBjaGFydCkuIE9yIG51bWJlciBwbHVzIGxldHRlciBmb3IgSCAoSG91cmx5KSwgRCAoRGFpbHkpLCBXIChXZWVrbHkpLCBNIChNb250aGx5KSBpbnRlcnZhbHMgKGkuZS4gRCBvciAySCkiXX0sMjEyMDUoZSl7ZS5leHBvcnRzPVsiVHlwZSB0aGUgaW50ZXJ2YWwgbnVtYmVyIGZvciBtaW51dGUgY2hhcnRzIChpLmUuIDUgaWYgaXQncyBnb2luZyB0byBiZSBhIGZpdmUgbWludXRlIGNoYXJ0KS4gT3IgbnVtYmVyIHBsdXMgbGV0dGVyIGZvciBvdGhlciBpbnRlcnZhbHM6IFMgZm9yIDEgc2Vjb25kIGNoYXJ0ICgxNVMgZm9yIDE1IHNlY29uZCBjaGFydCwgZXRjLiksIEggKEhvdXJseSksIEQgKERhaWx5KSwgVyAoV2Vla2x5KSwgTSAoTW9udGhseSkgaW50ZXJ2YWxzIChpLmUuIEQgb3IgMkgpIl19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/elementor/assets/css/conditionals/shapes.min.css?ver=3.26.5","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.890Z","timestamp":1785141582890,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/plugins/elementor/assets/css/conditionals/shapes.min.css?ver=3.26.5 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://oxlofttrd.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:57:43 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 288\r\nKeep-Alive: timeout=5, max=95\r\nConnection: Keep-Alive\r\nContent-Type: text/css\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":645,"size_decoded":638,"mime_type":"text/css","magic":"ASCII text, with very long lines (645), with no line terminators","md5":"ba2bc873ba3e8ccaffc77028bf9ee723","sha1":"ddde3c7ed3181d7ececbdbc35e3cb49a786f0060","sha256":"c5feb6bfb7973d126626671a6555cc3f88fb4d569138e4b05174e85fb0d3f8f2","sha512":"d1ea7902168d9013d78076e15ae2ce2f4a94a6057a9f9e7ad54e0832ffb0c52a2890b4f9ed8b0ffbe82d3c4ebdd1ca0f781c9796b526d6cd3a99420d9e6eae54","ssdeep":"","tlshash":"29f02d767d17501c802f921346c74a0e612496c717e22558f509414728ffdf1b35d24f","first_seen":"2024-12-17T09:11:11.315263Z","last_seen":"2026-07-27T12:12:28.732652Z","times_seen":21593,"resource_available":false,"data":"LmVsZW1lbnRvci1zaGFwZXtkaXJlY3Rpb246bHRyO2xlZnQ6MDtsaW5lLWhlaWdodDowO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlfS5lbGVtZW50b3Itc2hhcGUtdG9we3RvcDotMXB4fS5lbGVtZW50b3Itc2hhcGUtdG9wOm5vdChbZGF0YS1uZWdhdGl2ZT1mYWxzZV0pIHN2Z3t6LWluZGV4Oi0xfS5lbGVtZW50b3Itc2hhcGUtYm90dG9te2JvdHRvbTotMXB4fS5lbGVtZW50b3Itc2hhcGUtYm90dG9tOm5vdChbZGF0YS1uZWdhdGl2ZT10cnVlXSkgc3Zne3otaW5kZXg6LTF9LmVsZW1lbnRvci1zaGFwZVtkYXRhLW5lZ2F0aXZlPWZhbHNlXS5lbGVtZW50b3Itc2hhcGUtYm90dG9tLC5lbGVtZW50b3Itc2hhcGVbZGF0YS1uZWdhdGl2ZT10cnVlXS5lbGVtZW50b3Itc2hhcGUtdG9we3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0uZWxlbWVudG9yLXNoYXBlIHN2Z3tkaXNwbGF5OmJsb2NrO2xlZnQ6NTAlO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3dpZHRoOmNhbGMoMTAwJSArIDEuM3B4KX0uZWxlbWVudG9yLXNoYXBlIC5lbGVtZW50b3Itc2hhcGUtZmlsbHtmaWxsOiNmZmY7dHJhbnNmb3JtOnJvdGF0ZVkoMGRlZyk7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9"}},"time_used":331,"timings":{"blocked":238,"dns":0,"connect":0,"send":0,"wait":93,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:43.880Z","timestamp":1785141583880,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://oxlofttrd.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: 43136\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 10:17:38 GMT\r\nexpires: Fri, 23 Jul 2027 10:17:38 GMT\r\ncache-control: public, max-age=31536000\r\nage: 339725\r\nlast-modified: Wed, 18 Feb 2026 19:51:37 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":43136,"size_decoded":43949,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 43136, version 1.0","md5":"665db5e157d2138835c4037c971ff3a4","sha1":"41ca6b7e4818eb81531d8006ff7ddd971c640879","sha256":"1404ca348bd75ef836f4dd8b6f2cc719458642d1237c368296b2fc652dca47dc","sha512":"6c999466673c9873b1b112d6ab95c7cecb99467ea156e3e046b54c5f3d109c3845b05cbb2a0245d178430c7b2ceacd5110f7d8faf7e041100f44852b0c29fe9a","ssdeep":"768:tMTmVhyXCrekkraPAjrWMMWD3UJmw0FRwoglekm+hQ7//geceSF/mEQBPMAmDu5:cmHkCrHvPAjrWMMI3UJswogl4j7/hSlW","tlshash":"f9130231eb70ee59962c903454e7fda9433b1457d731aca80e99a1ce6f8103454facec","first_seen":"2026-02-19T22:27:43.350598Z","last_seen":"2026-07-27T15:04:27.149596Z","times_seen":246461,"resource_available":false,"data":"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"}},"time_used":18,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":17,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.62351.b382da174f097a0d0e43.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.135Z","timestamp":1785141584135,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.62351.b382da174f097a0d0e43.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-20902\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 492664c10465084d4007b0d977740ae8\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":133378,"size_decoded":33504,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3071)","md5":"592868958f083a645011c18526be50f6","sha1":"33a4aca0ed967d4c042777d21cfe064a9fe7621b","sha256":"9ac1b143f8bfa585ff4c79336d6e869e8236f9a663d1610bf4d1f2f452e5cf6c","sha512":"8a8bcd9d03298df1b5917f0bbe544ffe5779ee6ff2037cbab84cf0a15996a5208f3d75e6bb1d5f3a27bfd89ad8e3d452b3de058cdd314aeca07608d8c12a14b6","ssdeep":"1536:HcIavPJ0d2mzNQgTQ4yBoYSovc3fVfcD/WZz67dvUOPpguNd3mTdED:F2mzNhE4yFc3fVTudGu7D","tlshash":"e9d3cd07e140a4d66b71c15237cadcc9bdf4a88a43e0c685739adf38c52be2762b6d74","first_seen":"2026-07-24T15:28:44.72755Z","last_seen":"2026-07-27T14:50:15.521101Z","times_seen":190,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syNDkyOSwzNzg2NSw0NzAzMCw1MzI0OSw1NzE4NCw2MjM1MSw2ODg2MCw4NDY5Myw5Mjk2NF0sezYxNzM0MChlKXtlLmV4cG9ydHM9WyJDb2x1bW5zIl19LDExODQ5MShlKXtlLmV4cG9ydHM9WyJDYW5kbGVzIl19LDc5NjA5MyhlKXtlLmV4cG9ydHM9WyJBcmVhIl19LDk0MTYyOShlKXtlLmV4cG9ydHM9WyJCYXJzIl19LDUyNTMzMShlKXtlLmV4cG9ydHM9WyJCYXNlbGluZSJdfSw0MTM0MyhlKXtlLmV4cG9ydHM9WyJLYWdpIl19LDk2Nzg0MShlKXtlLmV4cG9ydHM9WyJITEMgYXJlYSJdfSw2ODMwMChlKXtlLmV4cG9ydHM9WyJITEMgYmFycyJdfSwzMzE4MjQoZSl7ZS5leHBvcnRzPVsiSG9sbG93IGNhbmRsZXMiXX0sODM1NTQzKGUpe2UuZXhwb3J0cz1bIkhlaWtpbiBBc2hpIl19LDk1MjgxMChlKXtlLmV4cG9ydHM9WyJIaWdoLWxvdyJdfSwyMTA0OTkoZSl7ZS5leHBvcnRzPVsiTGluZSJdfSwxODYxNDcoZSl7ZS5leHBvcnRzPVsiTGluZSB3aXRoIG1hcmtlcnMiXX0sMzA3NDM2KGUpe2UuZXhwb3J0cz1bIkxpbmUgYnJlYWsiXX0sNjg3OTUxKGUpe2UuZXhwb3J0cz1bIlNlc3Npb24gdm9sdW1lIHByb2ZpbGUiXX0sOTE2MTQ4KGUpe2UuZXhwb3J0cz1bIlN0ZXAgbGluZSJdfSw4NjcwMjEoZSl7ZS5leHBvcnRzPVsiUG9pbnQgJiBmaWd1cmUiXX0sMTg4MzUyKGUpe2UuZXhwb3J0cz1bIlJhbmdlIl19LDQ2MTczOChlKXtlLmV4cG9ydHM9WyJSZW5rbyJdfSwxMTc5ODQoZSl7ZS5leHBvcnRzPVsiVGltZSBwcmljZSBvcHBvcnR1bml0eSJdfSw4OTIzNzUoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIGNhbmRsZXMiXX0sMjAxMDczKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBmb290cHJpbnQiXX0sNjQ2ODQ4KGUpe2UuZXhwb3J0cz1bIk9iamVjdCB0cmVlIl19LDExMzUyNChlKXtlLmV4cG9ydHM9WyJDb250aW51ZSJdfSwyNjQ3MzkoZSl7ZS5leHBvcnRzPVsiQ2FuY2VsIl19LDMxODczNChlKXtlLmV4cG9ydHM9WyJSZW1vdmUiXX0sNzcwOTQxKGUpe2UuZXhwb3J0cz1bIlVua25vd24gZXJyb3IiXX0sMTU3NDE3KGUpe2UuZXhwb3J0cz1bIlJlIl19LDU1ODQxMihlKXtlLmV4cG9ydHM9WyIlIG9mIEdEUCJdfSw0Njg0NjAoZSl7ZS5leHBvcnRzPVsiJSBvZiBwYXIiXX0sNDQ1MDUoZSl7ZS5leHBvcnRzPVsiRGlzYy4geWllbGQsICUiXX0sOTQ1MzYyKGUpe2UuZXhwb3J0cz1bIkRhcmsiXX0sMjQ3MTY3KGUpe2UuZXhwb3J0cz1bIkxpZ2h0Il19LDI0NzUyMShlKXtlLmV4cG9ydHM9WyJDb3VsZG4ndCBjb3B5Il19LDYyMzQwMChlKXtlLmV4cG9ydHM9WyJDb3VsZG4ndCBjdXQiXX0sMzk0MTI4KGUpe2UuZXhwb3J0cz1bIkNvdWxkbid0IHBhc3RlIl19LDIxMDkwMShlKXtlLmV4cG9ydHM9WyJQbGVhc2UgZ2l2ZSB1cyBhIGNsaXBib2FyZCB3cml0aW5nIHBlcm1pc3Npb24gaW4geW91ciBicm93c2VyIG9yIHByZXNzIHtrZXlzdHJva2V9Il19LDc4Njk3OChlKXtlLmV4cG9ydHM9WyJBREoiXX0sNzMwODQwKGUpe2UuZXhwb3J0cz1bIkItQURKIl19LDMzNzk1NyhlKXtlLmV4cG9ydHM9WyJTRVQiXX0sNjUzODU5KGUpe2UuZXhwb3J0cz1bIkV4cGlyZWQiXX0sMzY0ODQzKGUpe2UuZXhwb3J0cz1bIk1hbnVhbGx5Il19LDQ2MzIzMihlKXtlLmV4cG9ydHM9WyJTdG9wcGVkIl19LDM2NzU3MyhlKXtlLmV4cG9ydHM9WyJUcmlnZ2VyZWQiXX0sNTMxODM0KGUpe2UuZXhwb3J0cz1bIkRlbGV0ZSBzZWxlY3RlZCBhbGVydHM/Il19LDQ1NjE1MihlKXtlLmV4cG9ydHM9WyJEZWxldGUgdGhpcyBhbGVydD8iXX0sNjgzNjI3KGUpe2UuZXhwb3J0cz1bIlNvbWV0aGluZyB3ZW50IHdyb25nIl19LDg1OTk5NChlKXtlLmV4cG9ydHM9WyJDIl19LDg5MjM2MyhlKXtlLmV4cG9ydHM9WyJEIl19LDM5NDUwMShlKXtlLmV4cG9ydHM9WyJEIl19LDU3MDkzOShlKXtlLmV4cG9ydHM9WyJFIl19LDM5NDkyMShlKXtlLmV4cG9ydHM9WyJGIl19LDg2NjQ0KGUpe2UuZXhwb3J0cz1bIlIiXX0sNzU2NDU3KGUpe2UuZXhwb3J0cz1bIlIiXX0sMjU3MzI2KGUpe2UuZXhwb3J0cz1bIlMiXX0sMjMwNDkyKGUpe2UuZXhwb3J0cz1bImQiXX0sMTIyMDUzKGUpe2UuZXhwb3J0cz1bImgiXX0sMTY0NTE2KGUpe2UuZXhwb3J0cz1bIm0iXX0sMjYyMjA1KGUpe2UuZXhwb3J0cz1bInMiXX0sMzk4NDU5KGUpe2UuZXhwb3J0cz1bIkZyIl19LDM2NTUzNShlKXtlLmV4cG9ydHM9WyJNbyJdfSwyNjA0OTYoZSl7ZS5leHBvcnRzPVsiU2EiXX0sNjY5MTk5KGUpe2UuZXhwb3J0cz1bIlN1Il19LDQ1MTI3MShlKXtlLmV4cG9ydHM9WyJXZSJdfSw2Mjg1ODIoZSl7ZS5leHBvcnRzPVsiVGgiXX0sOTM5MzI5KGUpe2UuZXhwb3J0cz1bIlR1Il19LDc4NDkxMChlKXtlLmV4cG9ydHM9WyJBZ2ciXX0sMTkzNzI4KGUpe2UuZXhwb3J0cz1bIkFnZ3JlZ2F0ZWQiXX0sNzMwOTY2KGUpe2UuZXhwb3J0cz1bIk5vQWdnIl19LDM2MDgyMChlKXtlLmV4cG9ydHM9WyJOb24tYWdncmVnYXRlZCJdfSwzNDY0MjEoZSl7ZS5leHBvcnRzPVsiQW5udWFsIl19LDY3OTk5MShlKXtlLmV4cG9ydHM9WyJGSCJdfSwyOTUyODgoZSl7ZS5leHBvcnRzPVsiRlEiXX0sMzI0NjE0KGUpe2UuZXhwb3J0cz1bIkZZIl19LDkwMDU4MihlKXtlLmV4cG9ydHM9WyJONEZIIl19LDU3MTA0MChlKXtlLmV4cG9ydHM9WyJONEZRIl19LDE5NzkzMChlKXtlLmV4cG9ydHM9WyJONEZZIl19LDMzNDkyOShlKXtlLmV4cG9ydHM9WyJORkgiXX0sODY2MDUwKGUpe2UuZXhwb3J0cz1bIk5GUSJdfSw1ODc4ODIoZSl7ZS5leHBvcnRzPVsiTkZZIl19LDI4Nzk0OShlKXtlLmV4cG9ydHM9WyJOVE0iXX0sNDQyNTExKGUpe2UuZXhwb3J0cz1bIk5leHQgdHdlbHZlIG1vbnRocyJdfSw2MTE2NDAoZSl7ZS5leHBvcnRzPVsiU2VtaWFubnVhbCJdfSwyMzM4NTYoZSl7ZS5leHBvcnRzPVsiUXVhcnRlcmx5Il19LDU4ODIyMShlKXtlLmV4cG9ydHM9WyJUVE0iXX0sMTkxNDMyKGUpe2UuZXhwb3J0cz1bIkQiXX0sODg5MTAoZSl7ZS5leHBvcnRzPVsiTSJdfSwyODExMDcoZSl7CmUuZXhwb3J0cz1bIlIiXX0sMjE4MDM2KGUpe2UuZXhwb3J0cz1bIlQiXX0sMzIzNTcwKGUpe2UuZXhwb3J0cz1bIlciXX0sMjQwNzMoZSl7ZS5leHBvcnRzPVsiaCJdfSw2MTg0KGUpe2UuZXhwb3J0cz1bIm0iXX0sMzkwODA5KGUpe2UuZXhwb3J0cz1bInMiXX0sMjI5OTk0KGUpe2UuZXhwb3J0cz1bIkMiXX0sOTU0NjE0KGUpe2UuZXhwb3J0cz1bIkgiXX0sNjY2NzMwKGUpe2UuZXhwb3J0cz1bIkhMMiJdfSwxMDAzNChlKXtlLmV4cG9ydHM9WyJITEMzIl19LDE0MzgxNShlKXtlLmV4cG9ydHM9WyJPSExDNCJdfSw4Mzk0NjMoZSl7ZS5leHBvcnRzPVsiTCJdfSw5NjA1MTMoZSl7ZS5leHBvcnRzPVsiTyJdfSwzMjUxMTgoZSl7ZS5leHBvcnRzPU9iamVjdC5jcmVhdGUobnVsbCksZS5leHBvcnRzWyJFbnRlciB2YWx1ZV9pbnB1dCJdPVsiRW50ZXIgdmFsdWUiXSxlLmV4cG9ydHMuU2VhcmNoX2lucHV0PVsiU2VhcmNoIl0sZS5leHBvcnRzWyIlRCBMZW5ndGhfaW5wdXQiXT1bIiVEIExlbmd0aCJdLGUuZXhwb3J0c1siJUQgU21vb3RoaW5nX2lucHV0Il09WyIlRCBTbW9vdGhpbmciXSxlLmV4cG9ydHNbIiVEX2lucHV0Il09WyIlRCJdLGUuZXhwb3J0c1siJUsgTGVuZ3RoX2lucHV0Il09WyIlSyBMZW5ndGgiXSxlLmV4cG9ydHNbIiVLIFNtb290aGluZ19pbnB1dCJdPVsiJUsgU21vb3RoaW5nIl0sZS5leHBvcnRzWyIlS19pbnB1dCJdPVsiJUsiXSxlLmV4cG9ydHNbIiVSX2lucHV0Il09WyIlUiJdLGUuZXhwb3J0c1siK0RJX2lucHV0Il09WyIrREkiXSxlLmV4cG9ydHNbIi0wLjIzNiBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiLTAuMjM2IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyItMC4zODIgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIi0wLjM4MiBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siLTAuNjE4IExldmVsIENvbG9yX2lucHV0Il09WyItMC42MTggTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIi0wLjY1IExldmVsIENvbG9yX2lucHV0Il09WyItMC42NSBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siLURJX2lucHV0Il09WyItREkiXSxlLmV4cG9ydHNbIjAgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjAuMjM2IExldmVsIENvbG9yX2lucHV0Il09WyIwLjIzNiBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMC4zODIgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAuMzgyIExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIwLjUgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAuNSBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMC42MTggTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAuNjE4IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIwLjY1IExldmVsIENvbG9yX2lucHV0Il09WyIwLjY1IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIwLjc4NiBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiMC43ODYgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjEgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjEgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjEuMjcyIExldmVsIENvbG9yX2lucHV0Il09WyIxLjI3MiBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMS40MTQgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjEuNDE0IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIxLjYxOCBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiMS42MTggTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjEuNjUgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjEuNjUgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjFzdCBQZXJpb2RfaW5wdXQiXT1bIjFzdCBQZXJpb2QiXSxlLmV4cG9ydHNbIjIuNjE4IExldmVsIENvbG9yX2lucHV0Il09WyIyLjYxOCBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMi42NSBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiMi42NSBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMm5kIFBlcmlvZF9pbnB1dCJdPVsiMm5kIFBlcmlvZCJdLGUuZXhwb3J0c1siMy42MTggTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjMuNjE4IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIzLjY1IExldmVsIENvbG9yX2lucHV0Il09WyIzLjY1IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIzcmQgUGVyaW9kX2lucHV0Il09WyIzcmQgUGVyaW9kIl0sZS5leHBvcnRzWyI0LjIzNiBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiNC4yMzYgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjR0aCBQZXJpb2RfaW5wdXQiXT1bIjR0aCBQZXJpb2QiXSxlLmV4cG9ydHNbIjV0aCBQZXJpb2RfaW5wdXQiXT1bIjV0aCBQZXJpb2QiXSxlLmV4cG9ydHNbIjZ0aCBQZXJpb2RfaW5wdXQiXT1bIjZ0aCBQZXJpb2QiXSxlLmV4cG9ydHMuQURSX0JfaW5wdXQ9WyJBRFJfQiJdLGUuZXhwb3J0c1siQURYIFNtb290aGluZ19pbnB1dCJdPVsiQURYIFNtb290aGluZyJdLGUuZXhwb3J0c1siQURYIHNtb290aGluZ19pbnB1dCJdPVsiQURYIHNtb290aGluZyJdLGUuZXhwb3J0cy5BRFhfaW5wdXQ9WyJBRFgiXSxlLmV4cG9ydHNbIkFUUiBDb2VmZmljaWVudCAoeClfaW5wdXQiXT1bIkFUUiBDb2VmZmljaWVudCAoeCkiXSxlLmV4cG9ydHNbIkFUUiBMZW5ndGggKHApX2lucHV0Il09WyJBVFIgTGVuZ3RoIChwKSJdLGUuZXhwb3J0c1siQVRSIExlbmd0aF9pbnB1dCJdPVsiQVRSIExlbmd0aCJdLGUuZXhwb3J0c1siQVRSIE11bHRfaW5wdXQiXT1bIkFUUiBNdWx0Il0sZS5leHBvcnRzWyJBVFIgTXVsdGlwbGllcl9pbnB1dCJdPVsiQVRSIE11bHRpcGxpZXIiXSxlLmV4cG9ydHNbIkFUUiBsZW5ndGhfaW5wdXQiXT1bIkFUUiBsZW5ndGgiXSxlLmV4cG9ydHNbIkFUUih7YXRyVmFsdWV9KV9pbnB1dCJdPVsiQVRSKHthdHJWYWx1ZX0pIl0sZS5leHBvcnRzLkFUUl9pbnB1dD1bIkFUUiJdLGUuZXhwb3J0cy5BYnNvbHV0ZV9pbnB1dD1bIkFic29sdXRlIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uX2lucHV0Il09WyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uIl0sZS5leHBvcnRzWyJBZGRpdGlvbmFsIHNldHRpbmdzX2lucHV0Il09WyJBZGRpdGlvbmFsIHNldHRpbmdzIl0sZS5leHBvcnRzWyJBZGp1c3QgVW5jb25maXJtZWRfaW5wdXQiXT1bIkFkanVzdCBVbmNvbmZpcm1lZCJdLAplLmV4cG9ydHNbIkFsbCBpdGVtc19jb21ib2JveF9pbnB1dCJdPVsiQWxsIGl0ZW1zIl0sZS5leHBvcnRzLkFsbF9pbnB1dD1bIkFsbCJdLGUuZXhwb3J0c1siQW5jaG9yIFBlcmlvZF9pbnB1dCJdPVsiQW5jaG9yIFBlcmlvZCJdLGUuZXhwb3J0c1siQW5jaG9yIFRpbWVmcmFtZV9pbnB1dCJdPVsiQW5jaG9yIFRpbWVmcmFtZSJdLGUuZXhwb3J0c1siQW5jaG9yIHBlcmlvZF9pbnB1dCJdPVsiQW5jaG9yIHBlcmlvZCJdLGUuZXhwb3J0c1siQW5vdGhlciBzeW1ib2xfaW5wdXQiXT1bIkFub3RoZXIgc3ltYm9sIl0sZS5leHBvcnRzWyJBcm9vbiBEb3duX2lucHV0Il09WyJBcm9vbiBEb3duIl0sZS5leHBvcnRzWyJBcm9vbiBVcF9pbnB1dCJdPVsiQXJvb24gVXAiXSxlLmV4cG9ydHNbIkFycm93IChib3RoKV9pbnB1dCJdPVsiQXJyb3cgKGJvdGgpIl0sZS5leHBvcnRzWyJBcnJvdyAobGVmdClfaW5wdXQiXT1bIkFycm93IChsZWZ0KSJdLGUuZXhwb3J0c1siQXJyb3cgKHJpZ2h0KV9pbnB1dCJdPVsiQXJyb3cgKHJpZ2h0KSJdLGUuZXhwb3J0cy5BdXRvVGltZWZyYW1lX2lucHV0PVsiQXV0b1RpbWVmcmFtZSJdLGUuZXhwb3J0cy5BdXRvX2lucHV0PVsiQXV0byJdLGUuZXhwb3J0c1siQXZlcmFnZSBUcnVlIFJhbmdlX2lucHV0Il09WyJBdmVyYWdlIFRydWUgUmFuZ2UiXSxlLmV4cG9ydHMuQXZlcmFnZV9pbnB1dD1bIkF2ZXJhZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2luZyBQZXJpb2RzX2lucHV0Il09WyJBdmVyYWdpbmcgUGVyaW9kcyJdLGUuZXhwb3J0c1siQXdhaXRpbmcgYW5kIFJlYWNoZWRfaW5wdXQiXT1bIkF3YWl0aW5nIGFuZCBSZWFjaGVkIl0sZS5leHBvcnRzWyJCQiBTdGREZXZfaW5wdXQiXT1bIkJCIFN0ZERldiJdLGUuZXhwb3J0cy5CYWNrX2lucHV0PVsiQmFjayJdLGUuZXhwb3J0c1siQmFja2dyb3VuZCBUcmFuc3BhcmVuY3lfaW5wdXQiXT1bIkJhY2tncm91bmQgVHJhbnNwYXJlbmN5Il0sZS5leHBvcnRzLkJhY2tncm91bmRfaW5wdXQ9WyJCYWNrZ3JvdW5kIl0sZS5leHBvcnRzWyJCYW5kcyBDYWxjdWxhdGlvbiBNb2RlX2lucHV0Il09WyJCYW5kcyBDYWxjdWxhdGlvbiBNb2RlIl0sZS5leHBvcnRzWyJCYW5kcyBNdWx0aXBsaWVyICMxX2lucHV0Il09WyJCYW5kcyBNdWx0aXBsaWVyICMxIl0sZS5leHBvcnRzWyJCYW5kcyBNdWx0aXBsaWVyICMyX2lucHV0Il09WyJCYW5kcyBNdWx0aXBsaWVyICMyIl0sZS5leHBvcnRzWyJCYW5kcyBNdWx0aXBsaWVyICMzX2lucHV0Il09WyJCYW5kcyBNdWx0aXBsaWVyICMzIl0sZS5leHBvcnRzWyJCYW5kcyBTZXR0aW5nc19pbnB1dCJdPVsiQmFuZHMgU2V0dGluZ3MiXSxlLmV4cG9ydHNbIkJhbmRzIFN0eWxlX2lucHV0Il09WyJCYW5kcyBTdHlsZSJdLGUuZXhwb3J0c1siQmFuZHMgc3R5bGVfaW5wdXQiXT1bIkJhbmRzIHN0eWxlIl0sZS5leHBvcnRzLkJhcl9pbnB1dD1bIkJhciJdLGUuZXhwb3J0c1siQmFycyBCYWNrX2lucHV0Il09WyJCYXJzIEJhY2siXSxlLmV4cG9ydHNbIkJhcnMgdG8gQnJlYWtvdXRfaW5wdXQiXT1bIkJhcnMgdG8gQnJlYWtvdXQiXSxlLmV4cG9ydHNbIkJhc2UgTGluZSBMZW5ndGhfaW5wdXQiXT1bIkJhc2UgTGluZSBMZW5ndGgiXSxlLmV4cG9ydHNbIkJhc2UgTGluZSBQZXJpb2RzX2lucHV0Il09WyJCYXNlIExpbmUgUGVyaW9kcyJdLGUuZXhwb3J0c1siQmFzZSBMaW5lX2lucHV0Il09WyJCYXNlIExpbmUiXSxlLmV4cG9ydHNbIkJhc2lzIE1BIFR5cGVfaW5wdXQiXT1bIkJhc2lzIE1BIFR5cGUiXSxlLmV4cG9ydHMuQmFzaXNfaW5wdXQ9WyJCYXNpcyJdLGUuZXhwb3J0c1siQmVhcmlzaCBDb2xvcl9pbnB1dCJdPVsiQmVhcmlzaCBDb2xvciJdLGUuZXhwb3J0c1siQmVhcmlzaCBGbGFnX2lucHV0Il09WyJCZWFyaXNoIEZsYWciXSxlLmV4cG9ydHNbIkJlYXJpc2ggUGVubmFudF9pbnB1dCJdPVsiQmVhcmlzaCBQZW5uYW50Il0sZS5leHBvcnRzLkJpeWVhcmx5X2lucHV0PVsiQml5ZWFybHkiXSxlLmV4cG9ydHNbIkJsb2NrIFNpemVfaW5wdXQiXT1bIkJsb2NrIFNpemUiXSxlLmV4cG9ydHNbIkJvbGxpbmdlciBCYW5kcyAlQl9pbnB1dCJdPVsiQm9sbGluZ2VyIEJhbmRzICVCIl0sZS5leHBvcnRzWyJCb2xsaW5nZXIgQmFuZHMgV2lkdGhfaW5wdXQiXT1bIkJvbGxpbmdlciBCYW5kcyBXaWR0aCJdLGUuZXhwb3J0c1siQm9yZGVyIGFuZCBmaWxsIGNvbG9yc19pbnB1dCJdPVsiQm9yZGVyIGFuZCBmaWxsIGNvbG9ycyJdLGUuZXhwb3J0cy5Cb3JkZXJzX2lucHV0PVsiQm9yZGVycyJdLGUuZXhwb3J0cy5Cb3RoX2lucHV0PVsiQm90aCJdLGUuZXhwb3J0cy5Cb3R0b21zX2lucHV0PVsiQm90dG9tcyJdLGUuZXhwb3J0c1siQm94IHNpemUgYXNzaWdubWVudCBtZXRob2RfaW5wdXQiXT1bIkJveCBzaXplIGFzc2lnbm1lbnQgbWV0aG9kIl0sZS5leHBvcnRzWyJCb3ggc2l6ZV9pbnB1dCJdPVsiQm94IHNpemUiXSxlLmV4cG9ydHMuQm94ZXNfaW5wdXQ9WyJCb3hlcyJdLGUuZXhwb3J0c1siQnVsbGlzaCBDb2xvcl9pbnB1dCJdPVsiQnVsbGlzaCBDb2xvciJdLGUuZXhwb3J0c1siQnVsbGlzaCBGbGFnX2lucHV0Il09WyJCdWxsaXNoIEZsYWciXSxlLmV4cG9ydHNbIkJ1bGxpc2ggUGVubmFudF9pbnB1dCJdPVsiQnVsbGlzaCBQZW5uYW50Il0sZS5leHBvcnRzWyJDQ0kgMTQgTGVuZ3RoX2lucHV0Il09WyJDQ0kgMTQgTGVuZ3RoIl0sZS5leHBvcnRzWyJDQ0kgVHVyYm8gTGVuZ3RoX2lucHV0Il09WyJDQ0kgVHVyYm8gTGVuZ3RoIl0sZS5leHBvcnRzLkNDSV9pbnB1dD1bIkNDSSJdLGUuZXhwb3J0cy5DSE9QX2lucHV0PVsiQ0hPUCJdLGUuZXhwb3J0c1siQ2FsY3VsYXRlIERpdmVyZ2VuY2VfaW5wdXQiXT1bIkNhbGN1bGF0ZSBEaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJDYWxjdWxhdGlvbiBNb2RlX2lucHV0Il09WyJDYWxjdWxhdGlvbiBNb2RlIl0sZS5leHBvcnRzLkNhbGN1bGF0aW9uX2lucHV0PVsiQ2FsY3VsYXRpb24iXSxlLmV4cG9ydHMuQ2FtYXJpbGxhX2lucHV0PVsiQ2FtYXJpbGxhIl0sZS5leHBvcnRzLkNhbmNlbF9pbnB1dD1bIkNhbmNlbCJdLGUuZXhwb3J0cy5DYW5kbGVzX2lucHV0PVsiQ2FuZGxlcyJdLAplLmV4cG9ydHMuQ2VudGVyX2lucHV0PVsiQ2VudGVyIl0sZS5leHBvcnRzLkNlbnRlcmVkX2lucHV0PVsiQ2VudGVyZWQiXSxlLmV4cG9ydHMuQ2VudHVyeV9pbnB1dD1bIkNlbnR1cnkiXSxlLmV4cG9ydHNbIkNoYWlraW4gT3NjaWxsYXRvcl9pbnB1dCJdPVsiQ2hhaWtpbiBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJDaGFuZGUgTU9faW5wdXQiXT1bIkNoYW5kZSBNTyJdLGUuZXhwb3J0c1siQ2hhbm5lbCBTZXR0aW5nc19pbnB1dCJdPVsiQ2hhbm5lbCBTZXR0aW5ncyJdLGUuZXhwb3J0c1siQ2hhbm5lbCBXaWR0aCBSYXRpbyBTdGFydC9FbmRfaW5wdXQiXT1bIkNoYW5uZWwgV2lkdGggUmF0aW8gU3RhcnQvRW5kIl0sZS5leHBvcnRzLkNsYXNzaWNfaW5wdXQ9WyJDbGFzc2ljIl0sZS5leHBvcnRzWyJDbG9zZSBHYXBzIFBhcnRpYWxseV9pbnB1dCJdPVsiQ2xvc2UgR2FwcyBQYXJ0aWFsbHkiXSxlLmV4cG9ydHMuQ2xvc2VfaW5wdXQ9WyJDbG9zZSJdLGUuZXhwb3J0c1siQ29sb3IgMF9pbnB1dCJdPVsiQ29sb3IgMCJdLGUuZXhwb3J0c1siQ29sb3IgMV9pbnB1dCJdPVsiQ29sb3IgMSJdLGUuZXhwb3J0c1siQ29sb3IgMl9pbnB1dCJdPVsiQ29sb3IgMiJdLGUuZXhwb3J0c1siQ29sb3IgM19pbnB1dCJdPVsiQ29sb3IgMyJdLGUuZXhwb3J0c1siQ29sb3IgNF9pbnB1dCJdPVsiQ29sb3IgNCJdLGUuZXhwb3J0c1siQ29sb3IgNV9pbnB1dCJdPVsiQ29sb3IgNSJdLGUuZXhwb3J0c1siQ29sb3IgNl9pbnB1dCJdPVsiQ29sb3IgNiJdLGUuZXhwb3J0c1siQ29sb3IgN19pbnB1dCJdPVsiQ29sb3IgNyJdLGUuZXhwb3J0c1siQ29sb3IgOF9pbnB1dCJdPVsiQ29sb3IgOCJdLGUuZXhwb3J0c1siQ29sb3IgU2V0dGluZ3NfaW5wdXQiXT1bIkNvbG9yIFNldHRpbmdzIl0sZS5leHBvcnRzWyJDb2xvciBiYXJzIGJhc2VkIG9uIHByZXZpb3VzIGNsb3NlX2lucHV0Il09WyJDb2xvciBiYXJzIGJhc2VkIG9uIHByZXZpb3VzIGNsb3NlIl0sZS5leHBvcnRzWyJDb2xvciBiYXNlZCBvbiBwcmV2aW91cyBjbG9zZV9pbnB1dCJdPVsiQ29sb3IgYmFzZWQgb24gcHJldmlvdXMgY2xvc2UiXSxlLmV4cG9ydHNbIkNvbG9yIGludGVuc2l0eSBjdXRvZmYgKCUpX2lucHV0Il09WyJDb2xvciBpbnRlbnNpdHkgY3V0b2ZmICglKSJdLGUuZXhwb3J0c1siQ29sb3Igc2V0dGluZ3NfaW5wdXQiXT1bIkNvbG9yIHNldHRpbmdzIl0sZS5leHBvcnRzWyJDb25maXJtIGJhcnNfaW5wdXQiXT1bIkNvbmZpcm0gYmFycyJdLGUuZXhwb3J0c1siQ29uc2VjdXRpdmUgYmFycyBkb3duX2lucHV0Il09WyJDb25zZWN1dGl2ZSBiYXJzIGRvd24iXSxlLmV4cG9ydHNbIkNvbnNlY3V0aXZlIGJhcnMgdXBfaW5wdXQiXT1bIkNvbnNlY3V0aXZlIGJhcnMgdXAiXSxlLmV4cG9ydHNbIkNvbnZlcnNpb24gTGluZSBMZW5ndGhfaW5wdXQiXT1bIkNvbnZlcnNpb24gTGluZSBMZW5ndGgiXSxlLmV4cG9ydHNbIkNvbnZlcnNpb24gTGluZSBQZXJpb2RzX2lucHV0Il09WyJDb252ZXJzaW9uIExpbmUgUGVyaW9kcyJdLGUuZXhwb3J0c1siQ29udmVyc2lvbiBMaW5lX2lucHV0Il09WyJDb252ZXJzaW9uIExpbmUiXSxlLmV4cG9ydHMuQ29ycmVjdGl2ZV9pbnB1dD1bIkNvcnJlY3RpdmUiXSxlLmV4cG9ydHMuQ29ycmVsYXRpb25faW5wdXQ9WyJDb3JyZWxhdGlvbiJdLGUuZXhwb3J0cy5Db3VudF9pbnB1dD1bIkNvdW50Il0sZS5leHBvcnRzLkNyb3NzZXNfaW5wdXQ9WyJDcm9zc2VzIl0sZS5leHBvcnRzLkN1bXVsYXRpdmVfaW5wdXQ9WyJDdW11bGF0aXZlIl0sZS5leHBvcnRzWyJDdXAgTWF4IFJvbGxiYWNrX2lucHV0Il09WyJDdXAgTWF4IFJvbGxiYWNrIl0sZS5leHBvcnRzWyJDdXAgYW5kIEhhbmRsZV9pbnB1dCJdPVsiQ3VwIGFuZCBIYW5kbGUiXSxlLmV4cG9ydHNbIkN1c3RvbSBzZXNzaW9uX2lucHV0Il09WyJDdXN0b20gc2Vzc2lvbiJdLGUuZXhwb3J0cy5DdXN0b21faW5wdXQ9WyJDdXN0b20iXSxlLmV4cG9ydHMuREVNQV9pbnB1dD1bIkRFTUEiXSxlLmV4cG9ydHNbIkRJIExlbmd0aF9pbnB1dCJdPVsiREkgTGVuZ3RoIl0sZS5leHBvcnRzLkRNX2lucHV0PVsiRE0iXSxlLmV4cG9ydHMuRFBPX2lucHV0PVsiRFBPIl0sZS5leHBvcnRzLkRfaW5wdXQ9WyJEIl0sZS5leHBvcnRzLkRhaWx5X2lucHV0PVsiRGFpbHkiXSxlLmV4cG9ydHMuRGFzaGVkX2lucHV0PVsiRGFzaGVkIl0sZS5leHBvcnRzLkRheV9pbnB1dD1bIkRheSJdLGUuZXhwb3J0c1siRGF5cyBCYWNrX2lucHV0Il09WyJEYXlzIEJhY2siXSxlLmV4cG9ydHNbIkRheXMgUGVyIFllYXJfaW5wdXQiXT1bIkRheXMgUGVyIFllYXIiXSxlLmV4cG9ydHMuRGVjYWRlX2lucHV0PVsiRGVjYWRlIl0sZS5leHBvcnRzLkRlY2VubmlhbGx5X2lucHV0PVsiRGVjZW5uaWFsbHkiXSxlLmV4cG9ydHMuRGVmYXVsdF9pbnB1dD1bIkRlZmF1bHQiXSxlLmV4cG9ydHMuRGVsdGFfaW5wdXQ9WyJEZWx0YSJdLGUuZXhwb3J0cy5EZXB0aF9pbnB1dD1bIkRlcHRoIl0sZS5leHBvcnRzWyJEZXRyZW5kZWQgUHJpY2UgT3NjaWxsYXRvcl9pbnB1dCJdPVsiRGV0cmVuZGVkIFByaWNlIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIkRldmVsb3BpbmcgUG9jX2lucHV0Il09WyJEZXZlbG9waW5nIFBvYyJdLGUuZXhwb3J0c1siRGV2aWF0aW9uICglKV9pbnB1dCJdPVsiRGV2aWF0aW9uICglKSJdLGUuZXhwb3J0cy5EZXZpYXRpb25faW5wdXQ9WyJEZXZpYXRpb24iXSxlLmV4cG9ydHNbIkRpc3BsYXkgU2V0dGluZ3NfaW5wdXQiXT1bIkRpc3BsYXkgU2V0dGluZ3MiXSxlLmV4cG9ydHNbIkRpc3BsYXkgY3VtdWxhdGl2ZSB2b2x1bWVfaW5wdXQiXT1bIkRpc3BsYXkgY3VtdWxhdGl2ZSB2b2x1bWUiXSxlLmV4cG9ydHNbIkRpc3BsYXkgcmV2ZXJzYWwgcHJpY2UgY2hhbmdlX2lucHV0Il09WyJEaXNwbGF5IHJldmVyc2FsIHByaWNlIGNoYW5nZSJdLGUuZXhwb3J0c1siRGlzcGxheSByZXZlcnNhbCBwcmljZV9pbnB1dCJdPVsiRGlzcGxheSByZXZlcnNhbCBwcmljZSJdLGUuZXhwb3J0c1siRGlzcGxheWVkIG5hbWVfaW5wdXQiXT1bIkRpc3BsYXllZCBuYW1lIl0sCmUuZXhwb3J0cy5EaXZpZGVuZHNfaW5wdXQ9WyJEaXZpZGVuZHMiXSxlLmV4cG9ydHMuRGl2aXNvcl9pbnB1dD1bIkRpdmlzb3IiXSxlLmV4cG9ydHMuRG90dGVkX2lucHV0PVsiRG90dGVkIl0sZS5leHBvcnRzWyJEb3VibGUgQm90dG9tX2lucHV0Il09WyJEb3VibGUgQm90dG9tIl0sZS5leHBvcnRzWyJEb3VibGUgVG9wX2lucHV0Il09WyJEb3VibGUgVG9wIl0sZS5leHBvcnRzWyJEb3duIEdhcHNfaW5wdXQiXT1bIkRvd24gR2FwcyJdLGUuZXhwb3J0c1siRG93biBWb2x1bWVfaW5wdXQiXT1bIkRvd24gVm9sdW1lIl0sZS5leHBvcnRzWyJEb3duIGJhcnNfaW5wdXQiXT1bIkRvd24gYmFycyJdLGUuZXhwb3J0c1siRG93biBjb2xvcl9pbnB1dCJdPVsiRG93biBjb2xvciJdLGUuZXhwb3J0c1siRG93biBmcmFjdGFsc19pbnB1dCJdPVsiRG93biBmcmFjdGFscyJdLGUuZXhwb3J0c1siRHJhdyBzZXNzaW9uIG9wZW4gYW5kIGNsb3NlIGxpbmVzX2lucHV0Il09WyJEcmF3IHNlc3Npb24gb3BlbiBhbmQgY2xvc2UgbGluZXMiXSxlLmV4cG9ydHNbIkVNQSBMZW5ndGhfaW5wdXQiXT1bIkVNQSBMZW5ndGgiXSxlLmV4cG9ydHMuRU1BX2lucHV0PVsiRU1BIl0sZS5leHBvcnRzLkVPTV9pbnB1dD1bIkVPTSJdLGUuZXhwb3J0c1siRWFjaCAocHJlLW1hcmtldCwgbWFya2V0LCBwb3N0LW1hcmtldClfaW5wdXQiXT1bIkVhY2ggKHByZS1tYXJrZXQsIG1hcmtldCwgcG9zdC1tYXJrZXQpIl0sZS5leHBvcnRzLkVhcm5pbmdzX2lucHV0PVsiRWFybmluZ3MiXSxlLmV4cG9ydHNbIkVsZGVyJ3MgRm9yY2UgSW5kZXhfaW5wdXQiXT1bIkVsZGVyJ3MgRm9yY2UgSW5kZXgiXSxlLmV4cG9ydHNbIkVxdWFsaXR5IExpbmVfaW5wdXQiXT1bIkVxdWFsaXR5IExpbmUiXSxlLmV4cG9ydHMuRXhjaGFuZ2VfaW5wdXQ9WyJFeGNoYW5nZSJdLGUuZXhwb3J0cy5FeHBvbmVudGlhbF9pbnB1dD1bIkV4cG9uZW50aWFsIl0sZS5leHBvcnRzWyJFeHRlbmQgTGluZXMgTGVmdF9pbnB1dCJdPVsiRXh0ZW5kIExpbmVzIExlZnQiXSxlLmV4cG9ydHNbIkV4dGVuZCBMaW5lcyBSaWdodF9pbnB1dCJdPVsiRXh0ZW5kIExpbmVzIFJpZ2h0Il0sZS5leHBvcnRzWyJFeHRlbmQgUE9DIFJpZ2h0X2lucHV0Il09WyJFeHRlbmQgUE9DIFJpZ2h0Il0sZS5leHBvcnRzWyJFeHRlbmQgUmlnaHRfaW5wdXQiXT1bIkV4dGVuZCBSaWdodCJdLGUuZXhwb3J0c1siRXh0ZW5kIFZBSCBSaWdodF9pbnB1dCJdPVsiRXh0ZW5kIFZBSCBSaWdodCJdLGUuZXhwb3J0c1siRXh0ZW5kIFZBTCBSaWdodF9pbnB1dCJdPVsiRXh0ZW5kIFZBTCBSaWdodCJdLGUuZXhwb3J0c1siRXh0ZW5kIGxlZnRfaW5wdXQiXT1bIkV4dGVuZCBsZWZ0Il0sZS5leHBvcnRzWyJFeHRlbmQgdG8gbGFzdCBiYXJfaW5wdXQiXT1bIkV4dGVuZCB0byBsYXN0IGJhciJdLGUuZXhwb3J0cy5GYWN0b3JfaW5wdXQ9WyJGYWN0b3IiXSxlLmV4cG9ydHNbIkZhbGwgQm9keV9pbnB1dCJdPVsiRmFsbCBCb2R5Il0sZS5leHBvcnRzWyJGYWxsaW5nIFdlZGdlX2lucHV0Il09WyJGYWxsaW5nIFdlZGdlIl0sZS5leHBvcnRzLkZhbGxpbmdfaW5wdXQ9WyJGYWxsaW5nIl0sZS5leHBvcnRzWyJGYXN0IExlbmd0aF9pbnB1dCJdPVsiRmFzdCBMZW5ndGgiXSxlLmV4cG9ydHNbIkZhc3QgTUEgUGVyaW9kX2lucHV0Il09WyJGYXN0IE1BIFBlcmlvZCJdLGUuZXhwb3J0c1siRmFzdCBsZW5ndGhfaW5wdXQiXT1bIkZhc3QgbGVuZ3RoIl0sZS5leHBvcnRzLkZpYm9uYWNjaV9pbnB1dD1bIkZpYm9uYWNjaSJdLGUuZXhwb3J0cy5GaWxsX2lucHV0PVsiRmlsbCJdLGUuZXhwb3J0c1siRmlyc3QgU2Vzc2lvbl9pbnB1dCJdPVsiRmlyc3QgU2Vzc2lvbiJdLGUuZXhwb3J0cy5GaXNoZXJfaW5wdXQ9WyJGaXNoZXIiXSxlLmV4cG9ydHMuRmxhZ19pbnB1dD1bIkZsYWciXSxlLmV4cG9ydHMuRnJvbV9pbnB1dD1bIkZyb20iXSxlLmV4cG9ydHNbIkdyYXBoaWMgb2JqZWN0c19pbnB1dCJdPVsiR3JhcGhpYyBvYmplY3RzIl0sZS5leHBvcnRzLkdyb3dpbmdfaW5wdXQ9WyJHcm93aW5nIl0sZS5leHBvcnRzWyJHcm93dGggQm9keV9pbnB1dCJdPVsiR3Jvd3RoIEJvZHkiXSxlLmV4cG9ydHNbIkhMQyBiYXJzX2lucHV0Il09WyJITEMgYmFycyJdLGUuZXhwb3J0cy5IVl9pbnB1dD1bIkhWIl0sZS5leHBvcnRzWyJIYW5kbGUgTWF4IFJvbGxiYWNrX2lucHV0Il09WyJIYW5kbGUgTWF4IFJvbGxiYWNrIl0sZS5leHBvcnRzWyJIZWFkIGFuZCBTaG91bGRlcnNfaW5wdXQiXT1bIkhlYWQgYW5kIFNob3VsZGVycyJdLGUuZXhwb3J0cy5IZWFkZXJzX2lucHV0PVsiSGVhZGVycyJdLGUuZXhwb3J0c1siSGVhdG1hcCBzZXR0aW5nc19pbnB1dCJdPVsiSGVhdG1hcCBzZXR0aW5ncyJdLGUuZXhwb3J0c1siSGVpa2luIEFzaGkgUmFuZ2VfaW5wdXQiXT1bIkhlaWtpbiBBc2hpIFJhbmdlIl0sZS5leHBvcnRzWyJIaWRlIFZXQVAgb24gMUQgb3IgQWJvdmVfaW5wdXQiXT1bIkhpZGUgVldBUCBvbiAxRCBvciBBYm92ZSJdLGUuZXhwb3J0c1siSGlnaC9Mb3cgUmFuZ2VfaW5wdXQiXT1bIkhpZ2gvTG93IFJhbmdlIl0sZS5leHBvcnRzLkhpZ2hlcl9pbnB1dD1bIkhpZ2hlciJdLGUuZXhwb3J0c1siSGlnaGVzdCBFeHBhbnNpb24gTGVuZ3RoX2lucHV0Il09WyJIaWdoZXN0IEV4cGFuc2lvbiBMZW5ndGgiXSxlLmV4cG9ydHNbIkhpZ2hlc3QgSGlnaF9pbnB1dCJdPVsiSGlnaGVzdCBIaWdoIl0sZS5leHBvcnRzWyJIaWdoZXN0IFZvbHVtZV9pbnB1dCJdPVsiSGlnaGVzdCBWb2x1bWUiXSxlLmV4cG9ydHNbIkhpc3RvZ3JhbSBCb3hfaW5wdXQiXT1bIkhpc3RvZ3JhbSBCb3giXSxlLmV4cG9ydHMuSGlzdG9ncmFtX2lucHV0PVsiSGlzdG9ncmFtIl0sZS5leHBvcnRzLkhvdXJfaW5wdXQ9WyJIb3VyIl0sZS5leHBvcnRzWyJIdWxsIE1BX2lucHV0Il09WyJIdWxsIE1BIl0sZS5leHBvcnRzWyJJZ25vcmVkIG1vbnRoc19pbnB1dCJdPVsiSWdub3JlZCBtb250aHMiXSxlLmV4cG9ydHNbIkluIFByb2dyZXNzX2lucHV0Il09WyJJbiBQcm9ncmVzcyJdLAplLmV4cG9ydHNbIkluY2x1ZGUgQ2hhcnQgU3ltYm9sX2lucHV0Il09WyJJbmNsdWRlIENoYXJ0IFN5bWJvbCJdLGUuZXhwb3J0cy5JbmNyZW1lbnRfaW5wdXQ9WyJJbmNyZW1lbnQiXSxlLmV4cG9ydHNbIkluZGljYXRvciBUaW1lZnJhbWVfaW5wdXQiXT1bIkluZGljYXRvciBUaW1lZnJhbWUiXSxlLmV4cG9ydHMuSW5kaWNhdG9yX2lucHV0PVsiSW5kaWNhdG9yIl0sZS5leHBvcnRzWyJJbnB1dCB2YWx1ZXNfaW5wdXQiXT1bIklucHV0IHZhbHVlcyJdLGUuZXhwb3J0cy5JbnNpZGVfaW5wdXQ9WyJJbnNpZGUiXSxlLmV4cG9ydHNbIkluc3RydW1lbnQgMV9pbnB1dCJdPVsiSW5zdHJ1bWVudCAxIl0sZS5leHBvcnRzWyJJbnN0cnVtZW50IDJfaW5wdXQiXT1bIkluc3RydW1lbnQgMiJdLGUuZXhwb3J0c1siSW50ZXJtZWRpYXRlIE1heGltYV9pbnB1dCJdPVsiSW50ZXJtZWRpYXRlIE1heGltYSJdLGUuZXhwb3J0c1siSW50ZXJtZWRpYXRlIE1pbmltYV9pbnB1dCJdPVsiSW50ZXJtZWRpYXRlIE1pbmltYSJdLGUuZXhwb3J0c1siSW52ZXJ0IFBhdHRlcm5faW5wdXQiXT1bIkludmVydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBDdXAgYW5kIEhhbmRsZV9pbnB1dCJdPVsiSW52ZXJ0ZWQgQ3VwIGFuZCBIYW5kbGUiXSxlLmV4cG9ydHNbIkludmVydGVkIEhlYWQgYW5kIFNob3VsZGVyc19pbnB1dCJdPVsiSW52ZXJ0ZWQgSGVhZCBhbmQgU2hvdWxkZXJzIl0sZS5leHBvcnRzWyJJbnZlc3RvciBFTUEgMSBsZW5ndGhfaW5wdXQiXT1bIkludmVzdG9yIEVNQSAxIGxlbmd0aCJdLGUuZXhwb3J0c1siSW52ZXN0b3IgRU1BIDIgbGVuZ3RoX2lucHV0Il09WyJJbnZlc3RvciBFTUEgMiBsZW5ndGgiXSxlLmV4cG9ydHNbIkludmVzdG9yIEVNQSAzIGxlbmd0aF9pbnB1dCJdPVsiSW52ZXN0b3IgRU1BIDMgbGVuZ3RoIl0sZS5leHBvcnRzWyJJbnZlc3RvciBFTUEgNCBsZW5ndGhfaW5wdXQiXT1bIkludmVzdG9yIEVNQSA0IGxlbmd0aCJdLGUuZXhwb3J0c1siSW52ZXN0b3IgRU1BIDUgbGVuZ3RoX2lucHV0Il09WyJJbnZlc3RvciBFTUEgNSBsZW5ndGgiXSxlLmV4cG9ydHNbIkludmVzdG9yIEVNQSA2IGxlbmd0aF9pbnB1dCJdPVsiSW52ZXN0b3IgRU1BIDYgbGVuZ3RoIl0sZS5leHBvcnRzWyJKYXcgTGVuZ3RoX2lucHV0Il09WyJKYXcgTGVuZ3RoIl0sZS5leHBvcnRzWyJKYXcgT2Zmc2V0X2lucHV0Il09WyJKYXcgT2Zmc2V0Il0sZS5leHBvcnRzLkphd19pbnB1dD1bIkphdyJdLGUuZXhwb3J0cy5LUGVyaW9kX2lucHV0PVsiS1BlcmlvZCJdLGUuZXhwb3J0cy5LU1RfaW5wdXQ9WyJLU1QiXSxlLmV4cG9ydHMuS19pbnB1dD1bIksiXSxlLmV4cG9ydHNbIkxFTkdUSCBMRUZUIC8gUklHSFRfaW5wdXQiXT1bIkxFTkdUSCBMRUZUIC8gUklHSFQiXSxlLmV4cG9ydHNbIkxhYmVscyBQb3NpdGlvbl9pbnB1dCJdPVsiTGFiZWxzIFBvc2l0aW9uIl0sZS5leHBvcnRzWyJMYWJlbHMgb24gcHJpY2Ugc2NhbGVfaW5wdXQiXT1bIkxhYmVscyBvbiBwcmljZSBzY2FsZSJdLGUuZXhwb3J0cy5MYWJlbHNfaW5wdXQ9WyJMYWJlbHMiXSxlLmV4cG9ydHNbIkxhZ2dpbmcgU3BhbiBQZXJpb2RzX2lucHV0Il09WyJMYWdnaW5nIFNwYW4gUGVyaW9kcyJdLGUuZXhwb3J0c1siTGFnZ2luZyBTcGFuX2lucHV0Il09WyJMYWdnaW5nIFNwYW4iXSxlLmV4cG9ydHMuTGFyZ2VfaW5wdXQ9WyJMYXJnZSJdLGUuZXhwb3J0c1siTGFzdCBBd2FpdGluZ19pbnB1dCJdPVsiTGFzdCBBd2FpdGluZyJdLGUuZXhwb3J0c1siTGVhZGluZyBTaGlmdCBQZXJpb2RzX2lucHV0Il09WyJMZWFkaW5nIFNoaWZ0IFBlcmlvZHMiXSxlLmV4cG9ydHNbIkxlYWRpbmcgU3BhbiBBX2lucHV0Il09WyJMZWFkaW5nIFNwYW4gQSJdLGUuZXhwb3J0c1siTGVhZGluZyBTcGFuIEIgTGVuZ3RoX2lucHV0Il09WyJMZWFkaW5nIFNwYW4gQiBMZW5ndGgiXSxlLmV4cG9ydHNbIkxlYWRpbmcgU3BhbiBCX2lucHV0Il09WyJMZWFkaW5nIFNwYW4gQiJdLGUuZXhwb3J0c1siTGVhZGluZyBTcGFuIFBlcmlvZHNfaW5wdXQiXT1bIkxlYWRpbmcgU3BhbiBQZXJpb2RzIl0sZS5leHBvcnRzLkxlZnRfaW5wdXQ9WyJMZWZ0Il0sZS5leHBvcnRzWyJMZW5ndGggRU1BX2lucHV0Il09WyJMZW5ndGggRU1BIl0sZS5leHBvcnRzWyJMZW5ndGggTUFfaW5wdXQiXT1bIkxlbmd0aCBNQSJdLGUuZXhwb3J0c1siTGVuZ3RoIHR5cGVfaW5wdXQiXT1bIkxlbmd0aCB0eXBlIl0sZS5leHBvcnRzLkxlbmd0aDFfaW5wdXQ9WyJMZW5ndGgxIl0sZS5leHBvcnRzLkxlbmd0aDJfaW5wdXQ9WyJMZW5ndGgyIl0sZS5leHBvcnRzLkxlbmd0aDNfaW5wdXQ9WyJMZW5ndGgzIl0sZS5leHBvcnRzLkxlbmd0aF9pbnB1dD1bIkxlbmd0aCJdLGUuZXhwb3J0cy5MZXZlbF9pbnB1dD1bIkxldmVsIl0sZS5leHBvcnRzWyJMZXZlbHMgRm9ybWF0X2lucHV0Il09WyJMZXZlbHMgRm9ybWF0Il0sZS5leHBvcnRzWyJMaW1pdCBNYXggR2FwIFRyYWlsIExlbmd0aCAoYmFycylfaW5wdXQiXT1bIkxpbWl0IE1heCBHYXAgVHJhaWwgTGVuZ3RoIChiYXJzKSJdLGUuZXhwb3J0cy5MaW1pdF9pbnB1dD1bIkxpbWl0Il0sZS5leHBvcnRzWyJMaW5lIFNpemVfaW5wdXQiXT1bIkxpbmUgU2l6ZSJdLGUuZXhwb3J0c1siTGluZSBXaWR0aF9pbnB1dCJdPVsiTGluZSBXaWR0aCJdLGUuZXhwb3J0c1siTGluZSBjb2xvcl9pbnB1dCJdPVsiTGluZSBjb2xvciJdLGUuZXhwb3J0c1siTGluZSBmaWxsc19pbnB1dCJdPVsiTGluZSBmaWxscyJdLGUuZXhwb3J0cy5MaW5lX2lucHV0PVsiTGluZSJdLGUuZXhwb3J0cy5MaW5lc19pbnB1dD1bIkxpbmVzIl0sZS5leHBvcnRzWyJMaXBzIExlbmd0aF9pbnB1dCJdPVsiTGlwcyBMZW5ndGgiXSxlLmV4cG9ydHNbIkxpcHMgT2Zmc2V0X2lucHV0Il09WyJMaXBzIE9mZnNldCJdLGUuZXhwb3J0cy5MaXBzX2lucHV0PVsiTGlwcyJdLGUuZXhwb3J0c1siTG9uZyBCQiBMZW5ndGhfaW5wdXQiXT1bIkxvbmcgQkIgTGVuZ3RoIl0sZS5leHBvcnRzWyJMb25nIExlbmd0aF9pbnB1dCJdPVsiTG9uZyBMZW5ndGgiXSwKZS5leHBvcnRzWyJMb25nIE1BIExlbmd0aF9pbnB1dCJdPVsiTG9uZyBNQSBMZW5ndGgiXSxlLmV4cG9ydHNbIkxvbmcgUkNJIExlbmd0aF9pbnB1dCJdPVsiTG9uZyBSQ0kgTGVuZ3RoIl0sZS5leHBvcnRzWyJMb25nIFJvQyBMZW5ndGhfaW5wdXQiXT1bIkxvbmcgUm9DIExlbmd0aCJdLGUuZXhwb3J0c1siTG9uZyBsZW5ndGhfaW5wdXQiXT1bIkxvbmcgbGVuZ3RoIl0sZS5leHBvcnRzWyJMb25nIHBlcmlvZF9pbnB1dCJdPVsiTG9uZyBwZXJpb2QiXSxlLmV4cG9ydHMuTG9uZ19pbnB1dD1bIkxvbmciXSxlLmV4cG9ydHNbIkxvd2VyIEJhbmRfaW5wdXQiXT1bIkxvd2VyIEJhbmQiXSxlLmV4cG9ydHNbIkxvd2VyIERldmlhdGlvbl9pbnB1dCJdPVsiTG93ZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJMb3dlciBQZXJjZW50YWdlX2lucHV0Il09WyJMb3dlciBQZXJjZW50YWdlIl0sZS5leHBvcnRzLkxvd2VyTGltaXRfaW5wdXQ9WyJMb3dlckxpbWl0Il0sZS5leHBvcnRzLkxvd2VyX2lucHV0PVsiTG93ZXIiXSxlLmV4cG9ydHNbIkxvd2VzdCBDb250cmFjdGlvbiBMZW5ndGhfaW5wdXQiXT1bIkxvd2VzdCBDb250cmFjdGlvbiBMZW5ndGgiXSxlLmV4cG9ydHNbIkxvd2VzdCBMb3dfaW5wdXQiXT1bIkxvd2VzdCBMb3ciXSxlLmV4cG9ydHNbIk1BICMxX2lucHV0Il09WyJNQSAjMSJdLGUuZXhwb3J0c1siTUEgIzJfaW5wdXQiXT1bIk1BICMyIl0sZS5leHBvcnRzWyJNQSAjM19pbnB1dCJdPVsiTUEgIzMiXSxlLmV4cG9ydHNbIk1BICM0X2lucHV0Il09WyJNQSAjNCJdLGUuZXhwb3J0c1siTUEgTGVuZ3RoX2lucHV0Il09WyJNQSBMZW5ndGgiXSxlLmV4cG9ydHMuTUFDRF9pbnB1dD1bIk1BQ0QiXSxlLmV4cG9ydHMuTUFfaW5wdXQ9WyJNQSJdLGUuZXhwb3J0cy5NQXNfaW5wdXQ9WyJNQXMiXSxlLmV4cG9ydHMuTUZfaW5wdXQ9WyJNRiJdLGUuZXhwb3J0cy5NTV9tb250aF9pbnB1dD1bIk1NIl0sZS5leHBvcnRzLk1PTV9pbnB1dD1bIk1PTSJdLGUuZXhwb3J0c1siTWFpbiBXYXZlc19pbnB1dCJdPVsiTWFpbiBXYXZlcyJdLGUuZXhwb3J0c1siTWFpbiBjaGFydCBzeW1ib2xfaW5wdXQiXT1bIk1haW4gY2hhcnQgc3ltYm9sIl0sZS5leHBvcnRzLk1hbnVhbF9pbnB1dD1bIk1hbnVhbCJdLGUuZXhwb3J0c1siTWFya2V0IENsb3NlZCBQZXJjZW50YWdlX2lucHV0Il09WyJNYXJrZXQgQ2xvc2VkIFBlcmNlbnRhZ2UiXSxlLmV4cG9ydHNbIk1hcmtldCBvbmx5X2lucHV0Il09WyJNYXJrZXQgb25seSJdLGUuZXhwb3J0c1siTWF4IE51bWJlciBvZiBHYXBzX2lucHV0Il09WyJNYXggTnVtYmVyIG9mIEdhcHMiXSxlLmV4cG9ydHNbIk1heCBSb2xsYmFja19pbnB1dCJdPVsiTWF4IFJvbGxiYWNrIl0sZS5leHBvcnRzWyJNYXggaW50cmFkYXkgZmlsbGVkIG9yZGVyc19pbnB1dCJdPVsiTWF4IGludHJhZGF5IGZpbGxlZCBvcmRlcnMiXSxlLmV4cG9ydHNbIk1heCBpbnRyYWRheSBsb3NzICglKV9pbnB1dCJdPVsiTWF4IGludHJhZGF5IGxvc3MgKCUpIl0sZS5leHBvcnRzWyJNYXggb2YgTG9va2JhY2sgUmFuZ2VfaW5wdXQiXT1bIk1heCBvZiBMb29rYmFjayBSYW5nZSJdLGUuZXhwb3J0c1siTWF4IHZhbHVlX2lucHV0Il09WyJNYXggdmFsdWUiXSxlLmV4cG9ydHNbIk1lZGlhbiBMZW5ndGhfaW5wdXQiXT1bIk1lZGlhbiBMZW5ndGgiXSxlLmV4cG9ydHNbIk1lZGlhbiBTb3VyY2VfaW5wdXQiXT1bIk1lZGlhbiBTb3VyY2UiXSxlLmV4cG9ydHMuTWVkaWFuX2lucHV0PVsiTWVkaWFuIl0sZS5leHBvcnRzLk1ldGhvZF9pbnB1dD1bIk1ldGhvZCJdLGUuZXhwb3J0c1siTWlkZGxlIExlbmd0aF9pbnB1dCJdPVsiTWlkZGxlIExlbmd0aCJdLGUuZXhwb3J0c1siTWlkZGxlIFJDSSBMZW5ndGhfaW5wdXQiXT1bIk1pZGRsZSBSQ0kgTGVuZ3RoIl0sZS5leHBvcnRzLk1pZGRsZV9pbnB1dD1bIk1pZGRsZSJdLGUuZXhwb3J0c1siTWluIG9mIExvb2tiYWNrIFJhbmdlX2lucHV0Il09WyJNaW4gb2YgTG9va2JhY2sgUmFuZ2UiXSxlLmV4cG9ydHNbIk1pbmltYWwgRGV2aWF0aW9uICglKV9pbnB1dCJdPVsiTWluaW1hbCBEZXZpYXRpb24gKCUpIl0sZS5leHBvcnRzLk1pbmltaXplX2lucHV0PVsiTWluaW1pemUiXSxlLmV4cG9ydHMuTWludXRlX2lucHV0PVsiTWludXRlIl0sZS5leHBvcnRzWyJNb2RpZmllZCBTY2hpZmZfaW5wdXQiXT1bIk1vZGlmaWVkIFNjaGlmZiJdLGUuZXhwb3J0c1siTW9tZW50dW0gUGVyaW9kX2lucHV0Il09WyJNb21lbnR1bSBQZXJpb2QiXSxlLmV4cG9ydHMuTW9udGhfaW5wdXQ9WyJNb250aCJdLGUuZXhwb3J0cy5Nb250aGx5X2lucHV0PVsiTW9udGhseSJdLGUuZXhwb3J0cy5Nb3RpdmVfaW5wdXQ9WyJNb3RpdmUiXSxlLmV4cG9ydHMuTW92ZV9pbnB1dD1bIk1vdmUiXSxlLmV4cG9ydHNbIk11bHRpIHRpbWVmcmFtZV9pbnB1dCJdPVsiTXVsdGkgdGltZWZyYW1lIl0sZS5leHBvcnRzLk11bHRpcGxpZXJfaW5wdXQ9WyJNdWx0aXBsaWVyIl0sZS5leHBvcnRzLk5WX2lucHV0PVsiTlYiXSxlLmV4cG9ydHNbIk5lY2sgbGluZV9pbnB1dCJdPVsiTmVjayBsaW5lIl0sZS5leHBvcnRzWyJOZWdhdGl2ZSBDb2xvcl9pbnB1dCJdPVsiTmVnYXRpdmUgQ29sb3IiXSxlLmV4cG9ydHMuTm9uZV9pbnB1dD1bIk5vbmUiXSxlLmV4cG9ydHNbIk5vdCBzZWxlY3RlZF9pbnB1dCJdPVsiTm90IHNlbGVjdGVkIl0sZS5leHBvcnRzWyJOb3RoaW5nIHNlbGVjdGVkX2NvbWJvYm94X2lucHV0Il09WyJOb3RoaW5nIHNlbGVjdGVkIl0sZS5leHBvcnRzWyJOdW1iZXIgT2YgUm93c19pbnB1dCJdPVsiTnVtYmVyIE9mIFJvd3MiXSxlLmV4cG9ydHNbIk51bWJlciBvZiBQaXZvdHMgQmFja19pbnB1dCJdPVsiTnVtYmVyIG9mIFBpdm90cyBCYWNrIl0sZS5leHBvcnRzWyJOdW1iZXIgb2YgbGluZV9pbnB1dCJdPVsiTnVtYmVyIG9mIGxpbmUiXSxlLmV4cG9ydHMuT1NDX2lucHV0PVsiT1NDIl0sZS5leHBvcnRzLk9mZnNldF9pbnB1dD1bIk9mZnNldCJdLGUuZXhwb3J0cy5PbkJhbGFuY2VWb2x1bWVfaW5wdXQ9WyJPbkJhbGFuY2VWb2x1bWUiXSwKZS5leHBvcnRzWyJPbmUgc3RlcCBiYWNrIGJ1aWxkaW5nX2lucHV0Il09WyJPbmUgc3RlcCBiYWNrIGJ1aWxkaW5nIl0sZS5leHBvcnRzWyJPbmx5IEF3YWl0aW5nX2lucHV0Il09WyJPbmx5IEF3YWl0aW5nIl0sZS5leHBvcnRzLk9yaWdpbmFsX2lucHV0PVsiT3JpZ2luYWwiXSxlLmV4cG9ydHNbIk9zY2lsbGF0b3IgTUEgVHlwZV9pbnB1dCJdPVsiT3NjaWxsYXRvciBNQSBUeXBlIl0sZS5leHBvcnRzLk9zY2lsbGF0b3JfaW5wdXQ9WyJPc2NpbGxhdG9yIl0sZS5leHBvcnRzLk9zY2lsbGF0b3JzX2lucHV0PVsiT3NjaWxsYXRvcnMiXSxlLmV4cG9ydHNbIk91dHB1dCB2YWx1ZXNfaW5wdXQiXT1bIk91dHB1dCB2YWx1ZXMiXSxlLmV4cG9ydHMuT3ZlcmJvdWdodF9pbnB1dD1bIk92ZXJib3VnaHQiXSxlLmV4cG9ydHMuT3ZlcnNvbGRfaW5wdXQ9WyJPdmVyc29sZCJdLGUuZXhwb3J0cy5QT0NfaW5wdXQ9WyJQT0MiXSxlLmV4cG9ydHMuUFZUX2lucHV0PVsiUFZUIl0sZS5leHBvcnRzLlBfaW5wdXQ9WyJQIl0sZS5leHBvcnRzWyJQYW5lIGxhYmVsc19pbnB1dCJdPVsiUGFuZSBsYWJlbHMiXSxlLmV4cG9ydHMuUGFyYWJvbGljU0FSX2lucHV0PVsiUGFyYWJvbGljU0FSIl0sZS5leHBvcnRzLlBhdHRlcm5zX2lucHV0PVsiUGF0dGVybnMiXSxlLmV4cG9ydHMuUGVubmFudF9pbnB1dD1bIlBlbm5hbnQiXSxlLmV4cG9ydHMuUGVyY2VudF9pbnB1dD1bIlBlcmNlbnQiXSxlLmV4cG9ydHNbIlBlcmNlbnRhZ2UgTFRQKHtwZXJjZW50YWdlTFRQVmFsdWV9JSlfaW5wdXQiXT1bIlBlcmNlbnRhZ2UgTFRQKHtwZXJjZW50YWdlTFRQVmFsdWV9JSkiXSxlLmV4cG9ydHNbIlBlcmNlbnRhZ2UgTFRQX2lucHV0Il09WyJQZXJjZW50YWdlIExUUCJdLGUuZXhwb3J0cy5QZXJjZW50YWdlX2lucHV0PVsiUGVyY2VudGFnZSJdLGUuZXhwb3J0cy5QZXJpb2RfaW5wdXQ9WyJQZXJpb2QiXSxlLmV4cG9ydHMuUGVyaW9kc19pbnB1dD1bIlBlcmlvZHMiXSxlLmV4cG9ydHNbIlBlcm1pc3NpYmxlIERldmlhdGlvbl9pbnB1dCJdPVsiUGVybWlzc2libGUgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJQaGFudG9tIGJhcnNfaW5wdXQiXT1bIlBoYW50b20gYmFycyJdLGUuZXhwb3J0c1siUGl2b3QgSGlnaF9pbnB1dCJdPVsiUGl2b3QgSGlnaCJdLGUuZXhwb3J0c1siUGl2b3QgTG9va2JhY2sgTGVmdF9pbnB1dCJdPVsiUGl2b3QgTG9va2JhY2sgTGVmdCJdLGUuZXhwb3J0c1siUGl2b3QgTG9va2JhY2sgUmlnaHRfaW5wdXQiXT1bIlBpdm90IExvb2tiYWNrIFJpZ2h0Il0sZS5leHBvcnRzWyJQaXZvdCBMb3dfaW5wdXQiXT1bIlBpdm90IExvdyJdLGUuZXhwb3J0c1siUGl2b3QgbGVnc19pbnB1dCJdPVsiUGl2b3QgbGVncyJdLGUuZXhwb3J0c1siUGl2b3RzIFRpbWVmcmFtZV9pbnB1dCJdPVsiUGl2b3RzIFRpbWVmcmFtZSJdLGUuZXhwb3J0cy5QbGFjZW1lbnRfaW5wdXQ9WyJQbGFjZW1lbnQiXSxlLmV4cG9ydHNbIlBsZWFzZSBlbnRlciB0aGUgcmlnaHQgdGltZV90aW1lX2lucHV0Il09WyJQbGVhc2UgZW50ZXIgdGhlIHJpZ2h0IHRpbWUiXSxlLmV4cG9ydHNbIlBsb3QgQmVhcmlzaF9pbnB1dCJdPVsiUGxvdCBCZWFyaXNoIl0sZS5leHBvcnRzWyJQbG90IEJ1bGxpc2hfaW5wdXQiXT1bIlBsb3QgQnVsbGlzaCJdLGUuZXhwb3J0c1siUGxvdCBIaWRkZW4gQmVhcmlzaF9pbnB1dCJdPVsiUGxvdCBIaWRkZW4gQmVhcmlzaCJdLGUuZXhwb3J0c1siUGxvdCBIaWRkZW4gQnVsbGlzaF9pbnB1dCJdPVsiUGxvdCBIaWRkZW4gQnVsbGlzaCJdLGUuZXhwb3J0cy5QbG90X2lucHV0PVsiUGxvdCJdLGUuZXhwb3J0c1siUGxvdHMgQmFja2dyb3VuZF9pbnB1dCJdPVsiUGxvdHMgQmFja2dyb3VuZCJdLGUuZXhwb3J0cy5Qb2x5bGluZXNfaW5wdXQ9WyJQb2x5bGluZXMiXSxlLmV4cG9ydHNbIlBvc2l0aXZlIENvbG9yX2lucHV0Il09WyJQb3NpdGl2ZSBDb2xvciJdLGUuZXhwb3J0c1siUG9zdC1tYXJrZXQgb25seV9pbnB1dCJdPVsiUG9zdC1tYXJrZXQgb25seSJdLGUuZXhwb3J0c1siUHJlLW1hcmtldCBvbmx5X2lucHV0Il09WyJQcmUtbWFya2V0IG9ubHkiXSxlLmV4cG9ydHNbIlByaWNlIExpbmVfaW5wdXQiXT1bIlByaWNlIExpbmUiXSxlLmV4cG9ydHNbIlByaWNlIFNvdXJjZV9pbnB1dCJdPVsiUHJpY2UgU291cmNlIl0sZS5leHBvcnRzWyJQcmljZSBUYXJnZXRzX2lucHV0Il09WyJQcmljZSBUYXJnZXRzIl0sZS5leHBvcnRzWyJQcmljZSBkZXZpYXRpb24gZm9yIHJldmVyc2FscyAoJSlfaW5wdXQiXT1bIlByaWNlIGRldmlhdGlvbiBmb3IgcmV2ZXJzYWxzICglKSJdLGUuZXhwb3J0c1siUHJpY2Ugc291cmNlX2lucHV0Il09WyJQcmljZSBzb3VyY2UiXSxlLmV4cG9ydHMuUHJpY2VfaW5wdXQ9WyJQcmljZSJdLGUuZXhwb3J0c1siUHJvamVjdGlvbiBkb3duIGJhcnNfaW5wdXQiXT1bIlByb2plY3Rpb24gZG93biBiYXJzIl0sZS5leHBvcnRzWyJQcm9qZWN0aW9uIGRvd24gY29sb3JfaW5wdXQiXT1bIlByb2plY3Rpb24gZG93biBjb2xvciJdLGUuZXhwb3J0c1siUHJvamVjdGlvbiB1cCBiYXJzX2lucHV0Il09WyJQcm9qZWN0aW9uIHVwIGJhcnMiXSxlLmV4cG9ydHNbIlByb2plY3Rpb24gdXAgY29sb3JfaW5wdXQiXT1bIlByb2plY3Rpb24gdXAgY29sb3IiXSxlLmV4cG9ydHMuUV9pbnB1dD1bIlEiXSxlLmV4cG9ydHMuUXVhcnRlcl9pbnB1dD1bIlF1YXJ0ZXIiXSxlLmV4cG9ydHMuUXVhcnRlcmx5X2lucHV0PVsiUXVhcnRlcmx5Il0sZS5leHBvcnRzLlF1aW5xdWVubmlhbGx5X2lucHV0PVsiUXVpbnF1ZW5uaWFsbHkiXSxlLmV4cG9ydHNbIlJDSSBMZW5ndGhfaW5wdXQiXT1bIlJDSSBMZW5ndGgiXSxlLmV4cG9ydHMuUk1BX2lucHV0PVsiUk1BIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICMxX2lucHV0Il09WyJST0MgTGVuZ3RoICMxIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICMyX2lucHV0Il09WyJST0MgTGVuZ3RoICMyIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICMzX2lucHV0Il09WyJST0MgTGVuZ3RoICMzIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICM0X2lucHV0Il09WyJST0MgTGVuZ3RoICM0Il0sCmUuZXhwb3J0c1siUk9DIExlbmd0aF9pbnB1dCJdPVsiUk9DIExlbmd0aCJdLGUuZXhwb3J0cy5ST0NMZW4xX2lucHV0PVsiUk9DTGVuMSJdLGUuZXhwb3J0cy5ST0NMZW4yX2lucHV0PVsiUk9DTGVuMiJdLGUuZXhwb3J0cy5ST0NMZW4zX2lucHV0PVsiUk9DTGVuMyJdLGUuZXhwb3J0cy5ST0NMZW40X2lucHV0PVsiUk9DTGVuNCJdLGUuZXhwb3J0cy5ST0NfaW5wdXQ9WyJST0MiXSxlLmV4cG9ydHNbIlJTSSBMZW5ndGhfaW5wdXQiXT1bIlJTSSBMZW5ndGgiXSxlLmV4cG9ydHNbIlJTSSBQZXJpb2RfaW5wdXQiXT1bIlJTSSBQZXJpb2QiXSxlLmV4cG9ydHNbIlJTSSBTZXR0aW5nc19pbnB1dCJdPVsiUlNJIFNldHRpbmdzIl0sZS5leHBvcnRzWyJSU0kgU291cmNlX2lucHV0Il09WyJSU0kgU291cmNlIl0sZS5leHBvcnRzLlJTSV9pbnB1dD1bIlJTSSJdLGUuZXhwb3J0cy5SVkdJX2lucHV0PVsiUlZHSSJdLGUuZXhwb3J0cy5SVklfaW5wdXQ9WyJSVkkiXSxlLmV4cG9ydHMuUmFuZ2VfaW5wdXQ9WyJSYW5nZSJdLGUuZXhwb3J0c1siUmF0ZSBvZiBDaGFuZ2UgTG9va2JhY2tfaW5wdXQiXT1bIlJhdGUgb2YgQ2hhbmdlIExvb2tiYWNrIl0sZS5leHBvcnRzWyJSYXRpbmcgaXMgYmFzZWQgb25faW5wdXQiXT1bIlJhdGluZyBpcyBiYXNlZCBvbiJdLGUuZXhwb3J0cy5SZWN0YW5nbGVfaW5wdXQ9WyJSZWN0YW5nbGUiXSxlLmV4cG9ydHMuUmVndWxhcl9pbnB1dD1bIlJlZ3VsYXIiXSxlLmV4cG9ydHMuUmVzaXN0YW5jZV9pbnB1dD1bIlJlc2lzdGFuY2UiXSxlLmV4cG9ydHNbIlJldmVyc2FsIGFtb3VudF9pbnB1dCJdPVsiUmV2ZXJzYWwgYW1vdW50Il0sZS5leHBvcnRzLlJldmVyc2VfaW5wdXQ9WyJSZXZlcnNlIl0sZS5leHBvcnRzLlJpZ2h0X2lucHV0PVsiUmlnaHQiXSxlLmV4cG9ydHNbIlJpc2luZyBXZWRnZV9pbnB1dCJdPVsiUmlzaW5nIFdlZGdlIl0sZS5leHBvcnRzWyJSb2xsaW5nIFBlcmlvZF9pbnB1dCJdPVsiUm9sbGluZyBQZXJpb2QiXSxlLmV4cG9ydHNbIlJvdyBTaXplX2lucHV0Il09WyJSb3cgU2l6ZSJdLGUuZXhwb3J0c1siUm93cyBMYXlvdXRfaW5wdXQiXT1bIlJvd3MgTGF5b3V0Il0sZS5leHBvcnRzWyJSb3dzIFNpemVfaW5wdXQiXT1bIlJvd3MgU2l6ZSJdLGUuZXhwb3J0c1siU01BICsgQm9sbGluZ2VyIEJhbmRzX2lucHV0Il09WyJTTUEgKyBCb2xsaW5nZXIgQmFuZHMiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzFfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzEiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzJfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzIiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzNfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzMiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzRfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzQiXSxlLmV4cG9ydHMuU01BTGVuMV9pbnB1dD1bIlNNQUxlbjEiXSxlLmV4cG9ydHMuU01BTGVuMl9pbnB1dD1bIlNNQUxlbjIiXSxlLmV4cG9ydHMuU01BTGVuM19pbnB1dD1bIlNNQUxlbjMiXSxlLmV4cG9ydHMuU01BTGVuNF9pbnB1dD1bIlNNQUxlbjQiXSxlLmV4cG9ydHMuU01BX2lucHV0PVsiU01BIl0sZS5leHBvcnRzWyJTTUkgRXJnb2RpYyBPc2NpbGxhdG9yX2lucHV0Il09WyJTTUkgRXJnb2RpYyBPc2NpbGxhdG9yIl0sZS5leHBvcnRzLlNNSV9pbnB1dD1bIlNNSSJdLGUuZXhwb3J0c1siU01NQSAoUk1BKV9pbnB1dCJdPVsiU01NQSAoUk1BKSJdLGUuZXhwb3J0cy5TY2hpZmZfaW5wdXQ9WyJTY2hpZmYiXSxlLmV4cG9ydHNbIlNlY29uZCBCb3R0b21faW5wdXQiXT1bIlNlY29uZCBCb3R0b20iXSxlLmV4cG9ydHNbIlNlY29uZCBUb3BfaW5wdXQiXT1bIlNlY29uZCBUb3AiXSxlLmV4cG9ydHNbIlNlY29uZCBzZXNzaW9uX2lucHV0Il09WyJTZWNvbmQgc2Vzc2lvbiJdLGUuZXhwb3J0c1siU2VuZCBtZXNzYWdlX2lucHV0Il09WyJTZW5kIG1lc3NhZ2UiXSxlLmV4cG9ydHNbIlNlc3Npb24gY29sb3JfaW5wdXQiXT1bIlNlc3Npb24gY29sb3IiXSxlLmV4cG9ydHNbIlNlc3Npb24gdGltZV9pbnB1dCJdPVsiU2Vzc2lvbiB0aW1lIl0sZS5leHBvcnRzWyJTZXNzaW9uIHRpbWV6b25lX2lucHV0Il09WyJTZXNzaW9uIHRpbWV6b25lIl0sZS5leHBvcnRzLlNlc3Npb25faW5wdXQ9WyJTZXNzaW9uIl0sZS5leHBvcnRzLlNlc3Npb25zX2lucHV0PVsiU2Vzc2lvbnMiXSxlLmV4cG9ydHMuU2V0dGluZ3NfaW5wdXQ9WyJTZXR0aW5ncyJdLGUuZXhwb3J0cy5TaGFwZXNfaW5wdXQ9WyJTaGFwZXMiXSxlLmV4cG9ydHNbIlNob3J0IEJCIExlbmd0aF9pbnB1dCJdPVsiU2hvcnQgQkIgTGVuZ3RoIl0sZS5leHBvcnRzWyJTaG9ydCBMZW5ndGhfaW5wdXQiXT1bIlNob3J0IExlbmd0aCJdLGUuZXhwb3J0c1siU2hvcnQgTUEgTGVuZ3RoX2lucHV0Il09WyJTaG9ydCBNQSBMZW5ndGgiXSxlLmV4cG9ydHNbIlNob3J0IFJDSSBMZW5ndGhfaW5wdXQiXT1bIlNob3J0IFJDSSBMZW5ndGgiXSxlLmV4cG9ydHNbIlNob3J0IFJvQyBMZW5ndGhfaW5wdXQiXT1bIlNob3J0IFJvQyBMZW5ndGgiXSxlLmV4cG9ydHNbIlNob3J0IGxlbmd0aF9pbnB1dCJdPVsiU2hvcnQgbGVuZ3RoIl0sZS5leHBvcnRzWyJTaG9ydCBwZXJpb2RfaW5wdXQiXT1bIlNob3J0IHBlcmlvZCJdLGUuZXhwb3J0cy5TaG9ydF9pbnB1dD1bIlNob3J0Il0sZS5leHBvcnRzWyJTaG93IEF2ZXJhZ2VzX2lucHV0Il09WyJTaG93IEF2ZXJhZ2VzIl0sZS5leHBvcnRzWyJTaG93IExhYmVsc19pbnB1dCJdPVsiU2hvdyBMYWJlbHMiXSxlLmV4cG9ydHNbIlNob3cgTGV2ZWxzX2lucHV0Il09WyJTaG93IExldmVscyJdLGUuZXhwb3J0c1siU2hvdyBNVEZfaW5wdXQiXT1bIlNob3cgTVRGIl0sZS5leHBvcnRzWyJTaG93IFBlYXJzb24ncyBSX2lucHV0Il09WyJTaG93IFBlYXJzb24ncyBSIl0sZS5leHBvcnRzWyJTaG93IFBlcmNlbnQgUG9zaXRpdmVfaW5wdXQiXT1bIlNob3cgUGVyY2VudCBQb3NpdGl2ZSJdLGUuZXhwb3J0c1siU2hvdyBQaXZvdHNfaW5wdXQiXT1bIlNob3cgUGl2b3RzIl0sZS5leHBvcnRzWyJTaG93IFByaWNlc19pbnB1dCJdPVsiU2hvdyBQcmljZXMiXSwKZS5leHBvcnRzWyJTaG93IFByb2plY3Rpb25zX2lucHV0Il09WyJTaG93IFByb2plY3Rpb25zIl0sZS5leHBvcnRzWyJTaG93IFN0YW5kYXJkIERldmlhdGlvbl9pbnB1dCJdPVsiU2hvdyBTdGFuZGFyZCBEZXZpYXRpb24iXSxlLmV4cG9ydHNbIlNob3cgVG91Y2hlZCBQaXZvdHNfaW5wdXQiXT1bIlNob3cgVG91Y2hlZCBQaXZvdHMiXSxlLmV4cG9ydHNbIlNob3cgYXZlcmFnZSBwcmljZSBwZXIgc2Vzc2lvbl9pbnB1dCJdPVsiU2hvdyBhdmVyYWdlIHByaWNlIHBlciBzZXNzaW9uIl0sZS5leHBvcnRzWyJTaG93IHJlYWwgcHJpY2VzIG9uIHByaWNlIHNjYWxlIChpbnN0ZWFkIG9mIEhlaWtpbi1Bc2hpIHByaWNlKV9pbnB1dCJdPVsiU2hvdyByZWFsIHByaWNlcyBvbiBwcmljZSBzY2FsZSAoaW5zdGVhZCBvZiBIZWlraW4tQXNoaSBwcmljZSkiXSxlLmV4cG9ydHNbIlNob3cgc2Vzc2lvbiBuYW1lc19pbnB1dCJdPVsiU2hvdyBzZXNzaW9uIG5hbWVzIl0sZS5leHBvcnRzWyJTaG93IHNlc3Npb25faW5wdXQiXT1bIlNob3cgc2Vzc2lvbiJdLGUuZXhwb3J0c1siU2hvdyB0aWNrIHJhbmdlIGZvciBlYWNoIHNlc3Npb25faW5wdXQiXT1bIlNob3cgdGljayByYW5nZSBmb3IgZWFjaCBzZXNzaW9uIl0sZS5leHBvcnRzLlNpZ0xlbl9pbnB1dD1bIlNpZ0xlbiJdLGUuZXhwb3J0cy5TaWdfaW5wdXQ9WyJTaWciXSxlLmV4cG9ydHMuU2lnbWFfaW5wdXQ9WyJTaWdtYSJdLGUuZXhwb3J0c1siU2lnbmFsIExlbmd0aF9pbnB1dCJdPVsiU2lnbmFsIExlbmd0aCJdLGUuZXhwb3J0c1siU2lnbmFsIExpbmUgTGVuZ3RoX2lucHV0Il09WyJTaWduYWwgTGluZSBMZW5ndGgiXSxlLmV4cG9ydHNbIlNpZ25hbCBMaW5lIE1BIFR5cGVfaW5wdXQiXT1bIlNpZ25hbCBMaW5lIE1BIFR5cGUiXSxlLmV4cG9ydHNbIlNpZ25hbCBTbW9vdGhpbmdfaW5wdXQiXT1bIlNpZ25hbCBTbW9vdGhpbmciXSxlLmV4cG9ydHNbIlNpZ25hbCBsaW5lIHBlcmlvZF9pbnB1dCJdPVsiU2lnbmFsIGxpbmUgcGVyaW9kIl0sZS5leHBvcnRzWyJTaWduYWwgc21vb3RoaW5nX2lucHV0Il09WyJTaWduYWwgc21vb3RoaW5nIl0sZS5leHBvcnRzLlNpZ25hbF9pbnB1dD1bIlNpZ25hbCJdLGUuZXhwb3J0c1siU2ltcGxlIG1hKG9zY2lsbGF0b3IpX2lucHV0Il09WyJTaW1wbGUgbWEob3NjaWxsYXRvcikiXSxlLmV4cG9ydHNbIlNpbXBsZSBtYShzaWduYWwgbGluZSlfaW5wdXQiXT1bIlNpbXBsZSBtYShzaWduYWwgbGluZSkiXSxlLmV4cG9ydHMuU2ltcGxlX2lucHV0PVsiU2ltcGxlIl0sZS5leHBvcnRzWyJTbG93IExlbmd0aF9pbnB1dCJdPVsiU2xvdyBMZW5ndGgiXSxlLmV4cG9ydHNbIlNsb3cgTUEgUGVyaW9kX2lucHV0Il09WyJTbG93IE1BIFBlcmlvZCJdLGUuZXhwb3J0c1siU2xvdyBsZW5ndGhfaW5wdXQiXT1bIlNsb3cgbGVuZ3RoIl0sZS5leHBvcnRzLlNsb3dpbmdfaW5wdXQ9WyJTbG93aW5nIl0sZS5leHBvcnRzLlNtYWxsX2lucHV0PVsiU21hbGwiXSxlLmV4cG9ydHNbIlNtb290aGluZyBMZW5ndGhfaW5wdXQiXT1bIlNtb290aGluZyBMZW5ndGgiXSxlLmV4cG9ydHNbIlNtb290aGluZyBMaW5lX2lucHV0Il09WyJTbW9vdGhpbmcgTGluZSJdLGUuZXhwb3J0cy5TbW9vdGhpbmdfaW5wdXQ9WyJTbW9vdGhpbmciXSxlLmV4cG9ydHMuU29saWRfaW5wdXQ9WyJTb2xpZCJdLGUuZXhwb3J0cy5Tb3VyY2VfaW5wdXQ9WyJTb3VyY2UiXSxlLmV4cG9ydHMuU3BsaXRzX2lucHV0PVsiU3BsaXRzIl0sZS5leHBvcnRzWyJTdGFuZGFyZCBEZXZpYXRpb25faW5wdXQiXT1bIlN0YW5kYXJkIERldmlhdGlvbiJdLGUuZXhwb3J0c1siU3RhbmRhcmQgRXJyb3JzX2lucHV0Il09WyJTdGFuZGFyZCBFcnJvcnMiXSxlLmV4cG9ydHMuU3RhcnRfaW5wdXQ9WyJTdGFydCJdLGUuZXhwb3J0c1siU3RhcnRpbmcgeWVhcl9pbnB1dCJdPVsiU3RhcnRpbmcgeWVhciJdLGUuZXhwb3J0cy5TdGREZXZfaW5wdXQ9WyJTdGREZXYiXSxlLmV4cG9ydHNbIlN0b2NoYXN0aWMgTGVuZ3RoX2lucHV0Il09WyJTdG9jaGFzdGljIExlbmd0aCJdLGUuZXhwb3J0c1siU3RvY2hhc3RpYyBMb3dlcl9pbnB1dCJdPVsiU3RvY2hhc3RpYyBMb3dlciJdLGUuZXhwb3J0c1siU3RvY2hhc3RpYyBVcHBlcl9pbnB1dCJdPVsiU3RvY2hhc3RpYyBVcHBlciJdLGUuZXhwb3J0c1siU3RvcCBMZW5ndGggKHEpX2lucHV0Il09WyJTdG9wIExlbmd0aCAocSkiXSxlLmV4cG9ydHNbIlN0b3AgbG9zc19pbnB1dCJdPVsiU3RvcCBsb3NzIl0sZS5leHBvcnRzWyJTdHJhdGVneSBEaXJlY3Rpb25faW5wdXQiXT1bIlN0cmF0ZWd5IERpcmVjdGlvbiJdLGUuZXhwb3J0cy5TdHlsZV9pbnB1dD1bIlN0eWxlIl0sZS5leHBvcnRzLlN1YldhdmVzX2lucHV0PVsiU3ViV2F2ZXMiXSxlLmV4cG9ydHMuU3VwcG9ydF9pbnB1dD1bIlN1cHBvcnQiXSxlLmV4cG9ydHNbIlN5bWJvbCBsaXN0X2lucHV0Il09WyJTeW1ib2wgbGlzdCJdLGUuZXhwb3J0cy5TeW1ib2xfaW5wdXQ9WyJTeW1ib2wiXSxlLmV4cG9ydHMuVEVNQV9pbnB1dD1bIlRFTUEiXSxlLmV4cG9ydHMuVFJJWF9pbnB1dD1bIlRSSVgiXSxlLmV4cG9ydHNbIlRhYmxlIEhlaWdodCAoJSlfaW5wdXQiXT1bIlRhYmxlIEhlaWdodCAoJSkiXSxlLmV4cG9ydHNbIlRhYmxlIFBvc2l0aW9uX2lucHV0Il09WyJUYWJsZSBQb3NpdGlvbiJdLGUuZXhwb3J0c1siVGFibGUgV2lkdGggKCUpX2lucHV0Il09WyJUYWJsZSBXaWR0aCAoJSkiXSxlLmV4cG9ydHNbIlRhYmxlIHNldHRpbmdzX2lucHV0Il09WyJUYWJsZSBzZXR0aW5ncyJdLGUuZXhwb3J0cy5UYWJsZXNfaW5wdXQ9WyJUYWJsZXMiXSxlLmV4cG9ydHNbIlRha2UgcHJvZml0X2lucHV0Il09WyJUYWtlIHByb2ZpdCJdLGUuZXhwb3J0c1siVGFyZ2V0IEN1cnJlbmN5X2lucHV0Il09WyJUYXJnZXQgQ3VycmVuY3kiXSxlLmV4cG9ydHMuVGFyZ2V0X2lucHV0PVsiVGFyZ2V0Il0sZS5leHBvcnRzWyJUZWV0aCBMZW5ndGhfaW5wdXQiXT1bIlRlZXRoIExlbmd0aCJdLGUuZXhwb3J0c1siVGVldGggT2Zmc2V0X2lucHV0Il09WyJUZWV0aCBPZmZzZXQiXSxlLmV4cG9ydHMuVGVldGhfaW5wdXQ9WyJUZWV0aCJdLAplLmV4cG9ydHNbIlRleHQgQ29sb3IgLyBMYWJlbCBDb2xvcl9pbnB1dCJdPVsiVGV4dCBDb2xvciAvIExhYmVsIENvbG9yIl0sZS5leHBvcnRzWyJUaGlyZCBzZXNzaW9uX2lucHV0Il09WyJUaGlyZCBzZXNzaW9uIl0sZS5leHBvcnRzWyJUaWNrcyBQZXIgUm93X2lucHV0Il09WyJUaWNrcyBQZXIgUm93Il0sZS5leHBvcnRzWyJUaW1lZnJhbWUgbGlzdF9pbnB1dCJdPVsiVGltZWZyYW1lIGxpc3QiXSxlLmV4cG9ydHMuVGltZWZyYW1lX2lucHV0PVsiVGltZWZyYW1lIl0sZS5leHBvcnRzLlRvX2lucHV0PVsiVG8iXSxlLmV4cG9ydHMuVG9wc19pbnB1dD1bIlRvcHMiXSxlLmV4cG9ydHMuVG90YWxfaW5wdXQ9WyJUb3RhbCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSAxIGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSAxIGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSAyIGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSAyIGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSAzIGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSAzIGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSA0IGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSA0IGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSA1IGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSA1IGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSA2IGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSA2IGxlbmd0aCJdLGUuZXhwb3J0cy5UcmFkaXRpb25hbF9pbnB1dD1bIlRyYWRpdGlvbmFsIl0sZS5leHBvcnRzWyJUcmVuZCBIZWlnaHRfaW5wdXQiXT1bIlRyZW5kIEhlaWdodCJdLGUuZXhwb3J0cy5UcmlhbmdsZV9pbnB1dD1bIlRyaWFuZ2xlIl0sZS5leHBvcnRzLlRyaWdnZXJfaW5wdXQ9WyJUcmlnZ2VyIl0sZS5leHBvcnRzWyJUcmlwbGUgQm90dG9tX2lucHV0Il09WyJUcmlwbGUgQm90dG9tIl0sZS5leHBvcnRzWyJUcmlwbGUgVG9wX2lucHV0Il09WyJUcmlwbGUgVG9wIl0sZS5leHBvcnRzLlRyaXllYXJseV9pbnB1dD1bIlRyaXllYXJseSJdLGUuZXhwb3J0c1siVHJ1ZSBSYW5nZV9pbnB1dCJdPVsiVHJ1ZSBSYW5nZSJdLGUuZXhwb3J0cy5UeXBlX2lucHV0PVsiVHlwZSJdLGUuZXhwb3J0cy5VT19pbnB1dD1bIlVPIl0sZS5leHBvcnRzWyJVcCBHYXBzX2lucHV0Il09WyJVcCBHYXBzIl0sZS5leHBvcnRzWyJVcCBWb2x1bWVfaW5wdXQiXT1bIlVwIFZvbHVtZSJdLGUuZXhwb3J0c1siVXAgYmFyc19pbnB1dCJdPVsiVXAgYmFycyJdLGUuZXhwb3J0c1siVXAgY29sb3JfaW5wdXQiXT1bIlVwIGNvbG9yIl0sZS5leHBvcnRzWyJVcCBmcmFjdGFsc19pbnB1dCJdPVsiVXAgZnJhY3RhbHMiXSxlLmV4cG9ydHNbIlVwL0Rvd25faW5wdXQiXT1bIlVwL0Rvd24iXSxlLmV4cG9ydHNbIlVwRG93biBMZW5ndGhfaW5wdXQiXT1bIlVwRG93biBMZW5ndGgiXSxlLmV4cG9ydHNbIlVwcGVyIEJhbmRfaW5wdXQiXT1bIlVwcGVyIEJhbmQiXSxlLmV4cG9ydHNbIlVwcGVyIERldmlhdGlvbl9pbnB1dCJdPVsiVXBwZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJVcHBlciBQZXJjZW50YWdlX2lucHV0Il09WyJVcHBlciBQZXJjZW50YWdlIl0sZS5leHBvcnRzLlVwcGVyTGltaXRfaW5wdXQ9WyJVcHBlckxpbWl0Il0sZS5leHBvcnRzLlVwcGVyX2lucHV0PVsiVXBwZXIiXSxlLmV4cG9ydHNbIlVzZSBEYWlseS1iYXNlZCBWYWx1ZXNfaW5wdXQiXT1bIlVzZSBEYWlseS1iYXNlZCBWYWx1ZXMiXSxlLmV4cG9ydHNbIlVzZSBFeHBvbmVudGlhbCBNQV9pbnB1dCJdPVsiVXNlIEV4cG9uZW50aWFsIE1BIl0sZS5leHBvcnRzWyJVc2UgTG93ZXIgRGV2aWF0aW9uX2lucHV0Il09WyJVc2UgTG93ZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJVc2UgVXBwZXIgRGV2aWF0aW9uX2lucHV0Il09WyJVc2UgVXBwZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJVc2UgY3VzdG9tIHRpbWVmcmFtZV9pbnB1dCJdPVsiVXNlIGN1c3RvbSB0aW1lZnJhbWUiXSxlLmV4cG9ydHNbIlVzZSBleHBvbmVudGlhbCBNQV9pbnB1dCJdPVsiVXNlIGV4cG9uZW50aWFsIE1BIl0sZS5leHBvcnRzWyJWSSArX2lucHV0Il09WyJWSSArIl0sZS5leHBvcnRzWyJWSSAtX2lucHV0Il09WyJWSSAtIl0sZS5leHBvcnRzWyJWV0FQIFNldHRpbmdzX2lucHV0Il09WyJWV0FQIFNldHRpbmdzIl0sZS5leHBvcnRzLlZXQVBfaW5wdXQ9WyJWV0FQIl0sZS5leHBvcnRzLlZXTUFfaW5wdXQ9WyJWV01BIl0sZS5leHBvcnRzWyJWYWx1ZSBBcmVhIERvd25faW5wdXQiXT1bIlZhbHVlIEFyZWEgRG93biJdLGUuZXhwb3J0c1siVmFsdWUgQXJlYSBQZXJjZW50X2lucHV0Il09WyJWYWx1ZSBBcmVhIFBlcmNlbnQiXSxlLmV4cG9ydHNbIlZhbHVlIEFyZWEgVXBfaW5wdXQiXT1bIlZhbHVlIEFyZWEgVXAiXSxlLmV4cG9ydHNbIlZhbHVlIEFyZWEgVm9sdW1lX2lucHV0Il09WyJWYWx1ZSBBcmVhIFZvbHVtZSJdLGUuZXhwb3J0c1siVmFsdWUgQXJlYSB2b2x1bWVfaW5wdXQiXT1bIlZhbHVlIEFyZWEgdm9sdW1lIl0sZS5leHBvcnRzWyJWYWx1ZSBBcmVhX2lucHV0Il09WyJWYWx1ZSBBcmVhIl0sZS5leHBvcnRzLlZhbHVlX2lucHV0PVsiVmFsdWUiXSxlLmV4cG9ydHNbIlZhbHVlcyBpbiBzdGF0dXMgbGluZV9pbnB1dCJdPVsiVmFsdWVzIGluIHN0YXR1cyBsaW5lIl0sZS5leHBvcnRzLlZhbHVlc19pbnB1dD1bIlZhbHVlcyJdLGUuZXhwb3J0cy5WaXNpYmlsaXR5X2lucHV0PVsiVmlzaWJpbGl0eSJdLGUuZXhwb3J0cy5Wb2x1bWVfaW5wdXQ9WyJWb2x1bWUiXSxlLmV4cG9ydHNbIldNQSBMZW5ndGhfaW5wdXQiXT1bIldNQSBMZW5ndGgiXSxlLmV4cG9ydHMuV01BX2lucHV0PVsiV01BIl0sZS5leHBvcnRzWyJXYWl0IGZvciB0aW1lZnJhbWUgY2xvc2VzX2lucHV0Il09WyJXYWl0IGZvciB0aW1lZnJhbWUgY2xvc2VzIl0sZS5leHBvcnRzWyJXYW5pbmcgTW9vbl9pbnB1dCJdPVsiV2FuaW5nIE1vb24iXSxlLmV4cG9ydHNbIldheGluZyBNb29uX2lucHV0Il09WyJXYXhpbmcgTW9vbiJdLGUuZXhwb3J0cy5XZWRnZV9pbnB1dD1bIldlZGdlIl0sZS5leHBvcnRzLldlZWtfaW5wdXQ9WyJXZWVrIl0sCmUuZXhwb3J0cy5XZWVrbHlfaW5wdXQ9WyJXZWVrbHkiXSxlLmV4cG9ydHMuV2VpZ2h0ZWRfaW5wdXQ9WyJXZWlnaHRlZCJdLGUuZXhwb3J0cy5XaWNrX2lucHV0PVsiV2ljayJdLGUuZXhwb3J0cy5XaWNrc19pbnB1dD1bIldpY2tzIl0sZS5leHBvcnRzWyJXaWxkZXIncyBTbW9vdGhpbmdfaW5wdXQiXT1bIldpbGRlcidzIFNtb290aGluZyJdLGUuZXhwb3J0c1siV2luZG93IFNpemVfaW5wdXQiXT1bIldpbmRvdyBTaXplIl0sZS5leHBvcnRzLldvb2RpZV9pbnB1dD1bIldvb2RpZSJdLGUuZXhwb3J0cy5YX2lucHV0PVsiWCJdLGUuZXhwb3J0cy5ZWV95ZWFyX2lucHV0PVsiWVkiXSxlLmV4cG9ydHMuWWVhcl9pbnB1dD1bIlllYXIiXSxlLmV4cG9ydHMuWWVhcmx5X2lucHV0PVsiWWVhcmx5Il0sZS5leHBvcnRzWyJaZXJvIExpbmVfaW5wdXQiXT1bIlplcm8gTGluZSJdLGUuZXhwb3J0cy5aZXJvX2lucHV0PVsiWmVybyJdLGUuZXhwb3J0cy5mYXN0TGVuZ3RoX2lucHV0PVsiZmFzdExlbmd0aCJdLGUuZXhwb3J0cy5mcm9tX2lucHV0PVsiZnJvbSJdLGUuZXhwb3J0cy5pbmNyZW1lbnRfaW5wdXQ9WyJpbmNyZW1lbnQiXSxlLmV4cG9ydHMuaXNDZW50ZXJlZF9pbnB1dD1bImlzQ2VudGVyZWQiXSxlLmV4cG9ydHMubGFiZWxzX2lucHV0PVsibGFiZWxzIl0sZS5leHBvcnRzLmxlbl9pbnB1dD1bImxlbiJdLGUuZXhwb3J0cy5sZW5ndGgxNF9pbnB1dD1bImxlbmd0aDE0Il0sZS5leHBvcnRzLmxlbmd0aDI4X2lucHV0PVsibGVuZ3RoMjgiXSxlLmV4cG9ydHMubGVuZ3RoN19pbnB1dD1bImxlbmd0aDciXSxlLmV4cG9ydHMubGVuZ3RoUlNJX2lucHV0PVsibGVuZ3RoUlNJIl0sZS5leHBvcnRzLmxlbmd0aFN0b2NoX2lucHV0PVsibGVuZ3RoU3RvY2giXSxlLmV4cG9ydHMubGVuZ3RoX2lucHV0PVsibGVuZ3RoIl0sZS5leHBvcnRzLmxldmVsc19pbnB1dD1bImxldmVscyJdLGUuZXhwb3J0cy5sb25nX2lucHV0PVsibG9uZyJdLGUuZXhwb3J0cy5sb25nbGVuX2lucHV0PVsibG9uZ2xlbiJdLGUuZXhwb3J0cy5tYXhpbXVtX2lucHV0PVsibWF4aW11bSJdLGUuZXhwb3J0cy5tdWx0X2lucHV0PVsibXVsdCJdLGUuZXhwb3J0cy5wX2lucHV0PVsicCJdLGUuZXhwb3J0cy5xX2lucHV0PVsicSJdLGUuZXhwb3J0cy5yZXNvbHV0aW9uX2lucHV0PVsicmVzb2x1dGlvbiJdLGUuZXhwb3J0cy5yb2NsZW4xX2lucHV0PVsicm9jbGVuMSJdLGUuZXhwb3J0cy5yb2NsZW4yX2lucHV0PVsicm9jbGVuMiJdLGUuZXhwb3J0cy5yb2NsZW4zX2lucHV0PVsicm9jbGVuMyJdLGUuZXhwb3J0cy5yb2NsZW40X2lucHV0PVsicm9jbGVuNCJdLGUuZXhwb3J0cy5zaG9ydF9pbnB1dD1bInNob3J0Il0sZS5leHBvcnRzLnNob3J0bGVuX2lucHV0PVsic2hvcnRsZW4iXSxlLmV4cG9ydHNbInNob3cgTUFfaW5wdXQiXT1bInNob3cgTUEiXSxlLmV4cG9ydHMuc2lnbGVuX2lucHV0PVsic2lnbGVuIl0sZS5leHBvcnRzLnNpZ25hbExlbmd0aF9pbnB1dD1bInNpZ25hbExlbmd0aCJdLGUuZXhwb3J0cy5zbG93TGVuZ3RoX2lucHV0PVsic2xvd0xlbmd0aCJdLGUuZXhwb3J0cy5zbWFsZW4xX2lucHV0PVsic21hbGVuMSJdLGUuZXhwb3J0cy5zbWFsZW4yX2lucHV0PVsic21hbGVuMiJdLGUuZXhwb3J0cy5zbWFsZW4zX2lucHV0PVsic21hbGVuMyJdLGUuZXhwb3J0cy5zbWFsZW40X2lucHV0PVsic21hbGVuNCJdLGUuZXhwb3J0cy5zbW9vdGhEX2lucHV0PVsic21vb3RoRCJdLGUuZXhwb3J0cy5zbW9vdGhLX2lucHV0PVsic21vb3RoSyJdLGUuZXhwb3J0cy5zdGFydF9pbnB1dD1bInN0YXJ0Il0sZS5leHBvcnRzLnN5bV9pbnB1dD1bInN5bSJdLGUuZXhwb3J0cy50b19pbnB1dD1bInRvIl0sZS5leHBvcnRzLnVzZVRydWVSYW5nZV9pbnB1dD1bInVzZVRydWVSYW5nZSJdLGUuZXhwb3J0cy54X2lucHV0PVsieCJdLGUuZXhwb3J0c1sieWF5IENvbG9yIDBfaW5wdXQiXT1bInlheSBDb2xvciAwIl0sZS5leHBvcnRzWyJ5YXkgQ29sb3IgMV9pbnB1dCJdPVsieWF5IENvbG9yIDEiXSxlLmV4cG9ydHNbIntudW1iZXJ9IGl0ZW1fY29tYm9ib3hfaW5wdXQiXT1bIntudW1iZXJ9IGl0ZW0iLCJ7bnVtYmVyfSBpdGVtcyJdfSwzMTIyOTcoZSl7ZS5leHBvcnRzPVsiQ2xvc2UiXX0sODcwOTE1KGUpe2UuZXhwb3J0cz1bIkFUUih7YXRyVmFsdWV9KSJdfSw5OTUyMzUoZSl7ZS5leHBvcnRzPVsiUGVyY2VudGFnZSBMVFAoe3BlcmNlbnRhZ2VMVFBWYWx1ZX0lKSJdfSw0MTE5NzQoZSl7ZS5leHBvcnRzPVsiVHJhZGl0aW9uYWwiXX0sNzE4NTIzKGUpe2UuZXhwb3J0cz1bIkFCQ0QgcGF0dGVybiJdfSwxODc1MzIoZSl7ZS5leHBvcnRzPVsiR2FubiBib3giXX0sOTIzODQwKGUpe2UuZXhwb3J0cz1bIkdhbm4gZmFuIl19LDQxNTAwOShlKXtlLmV4cG9ydHM9WyJHYW5uIHNxdWFyZSJdfSw3NTk4ODcoZSl7ZS5leHBvcnRzPVsiR2FubiBzcXVhcmUgZml4ZWQiXX0sODUzMDE2KGUpe2UuZXhwb3J0cz1bIkVsbGlvdHQgdHJpYW5nbGUgd2F2ZSAoQcK3QsK3Q8K3RMK3RSkiXX0sOTc1ODUyKGUpe2UuZXhwb3J0cz1bIkVsbGlvdHQgdHJpcGxlIGNvbWJvIHdhdmUgKFfCt1jCt1nCt1jCt1opIl19LDI4MjA1OShlKXtlLmV4cG9ydHM9WyJFbGxpb3R0IGNvcnJlY3Rpb24gd2F2ZSAoQcK3QsK3QykiXX0sNDY1ODIyKGUpe2UuZXhwb3J0cz1bIkVsbGlvdHQgZG91YmxlIGNvbWJvIHdhdmUgKFfCt1jCt1kpIl19LDYwMjgxMChlKXtlLmV4cG9ydHM9WyJFbGxpb3R0IGltcHVsc2Ugd2F2ZSAoMcK3MsK3M8K3NMK3NSkiXX0sODMyMjU4KGUpe2UuZXhwb3J0cz1bIkZpYiBjaGFubmVsIl19LDY2NDM2MShlKXtlLmV4cG9ydHM9WyJGaWIgY2lyY2xlcyJdfSw4Njg0NTkoZSl7ZS5leHBvcnRzPVsiRmliIHJldHJhY2VtZW50Il19LDEyMTUxMShlKXtlLmV4cG9ydHM9WyJGaWIgc3BlZWQgcmVzaXN0YW5jZSBhcmNzIl19LDE5MDUyNihlKXtlLmV4cG9ydHM9WyJGaWIgc3BlZWQgcmVzaXN0YW5jZSBmYW4iXX0sOTkzNjAxKGUpe2UuZXhwb3J0cz1bIkZpYiBzcGlyYWwiXX0sMzAyMTY2KGUpe2UuZXhwb3J0cz1bIkZpYiB0aW1lIHpvbmUiXX0sNjcyODMxKGUpe2UuZXhwb3J0cz1bIkZpYiB3ZWRnZSJdfSwKOTYxMChlKXtlLmV4cG9ydHM9WyJTY2hpZmYgcGl0Y2hmb3JrIl19LDY2MTg5NihlKXtlLmV4cG9ydHM9WyJYQUJDRCBwYXR0ZXJuIl19LDQ4MzcxMChlKXtlLmV4cG9ydHM9WyJjb21tZW50Il19LDMyNDQ2MShlKXtlLmV4cG9ydHM9WyJjYWxsb3V0Il19LDk3Mjg0MihlKXtlLmV4cG9ydHM9WyJjaXJjbGUiXX0sNDc4MTIzKGUpe2UuZXhwb3J0cz1bImNyb3NzbGluZSJdfSwxNjY2MTAoZSl7ZS5leHBvcnRzPVsiY3VydmUiXX0sOTIyOTIxKGUpe2UuZXhwb3J0cz1bImN5Y2xpYyBsaW5lcyJdfSwzMjc2MTIoZSl7ZS5leHBvcnRzPVsiY3lwaGVyIHBhdHRlcm4iXX0sOTk1MTg3KGUpe2UuZXhwb3J0cz1bImFuY2hvcmVkIFZXQVAiXX0sOTkyOTM0KGUpe2UuZXhwb3J0cz1bImFuY2hvcmVkIG5vdGUiXX0sNjg4NDM3KGUpe2UuZXhwb3J0cz1bImFuY2hvcmVkIHRleHQiXX0sOTc1NjUyKGUpe2UuZXhwb3J0cz1bImFyYyJdfSwxNTA2ODEoZSl7ZS5leHBvcnRzPVsiYXJyb3ciXX0sMTMzMzA0KGUpe2UuZXhwb3J0cz1bImFycm93IG1hcmtlciJdfSw2MTcxOTkoZSl7ZS5leHBvcnRzPVsiYXJyb3cgbWFyayB1cCJdfSw5NjQ2NzMoZSl7ZS5leHBvcnRzPVsiYXJyb3cgbWFyayBkb3duIl19LDY4Mjk2MihlKXtlLmV4cG9ydHM9WyJhcnJvdyBtYXJrIGxlZnQiXX0sMTAwNjA5KGUpe2UuZXhwb3J0cz1bImFycm93IG1hcmsgcmlnaHQiXX0sNzQxOTI5KGUpe2UuZXhwb3J0cz1bImJhbGxvb24iXX0sMjcxNzUxKGUpe2UuZXhwb3J0cz1bImJhcnMgcGF0dGVybiJdfSw3NDY3MzcoZSl7ZS5leHBvcnRzPVsiYnJ1c2giXX0sODUxNDkzKGUpe2UuZXhwb3J0cz1bImdob3N0IGZlZWQiXX0sMzU3ODIwKGUpe2UuZXhwb3J0cz1bImRvdWJsZSBjdXJ2ZSJdfSw0MzU0NDYoZSl7ZS5leHBvcnRzPVsiZGF0ZSBhbmQgcHJpY2UgcmFuZ2UiXX0sNTI1MTI0KGUpe2UuZXhwb3J0cz1bImRhdGUgcmFuZ2UiXX0sMzQ2NzI3KGUpe2UuZXhwb3J0cz1bImRpc2pvaW50IGNoYW5uZWwiXX0sODk1NjQ4KGUpe2UuZXhwb3J0cz1bImVtb2ppIl19LDkzMDMzKGUpe2UuZXhwb3J0cz1bImVsbGlwc2UiXX0sNzY5MzM0KGUpe2UuZXhwb3J0cz1bImV4dGVuZGVkIGxpbmUiXX0sNjczMjc4KGUpe2UuZXhwb3J0cz1bImZsYWcgbWFyayJdfSw5NTg0MTYoZSl7ZS5leHBvcnRzPVsiZmxhdCB0b3AvYm90dG9tIl19LDc2NTIxKGUpe2UuZXhwb3J0cz1bImhvcml6b250YWwgbGluZSJdfSw0Mjk2MDYoZSl7ZS5leHBvcnRzPVsiaG9yaXpvbnRhbCByYXkiXX0sOTcxMTQoZSl7ZS5leHBvcnRzPVsiaGVhZCBhbmQgc2hvdWxkZXJzIl19LDk4MDA2MChlKXtlLmV4cG9ydHM9WyJoaWdobGlnaHRlciJdfSwzOTI0OTMoZSl7ZS5leHBvcnRzPVsiaW1hZ2UiXX0sNjU2MzQwKGUpe2UuZXhwb3J0cz1bImluZm8gbGluZSJdfSw0MTY5MChlKXtlLmV4cG9ydHM9WyJpbnNpZGUgcGl0Y2hmb3JrIl19LDY2NDE5NChlKXtlLmV4cG9ydHM9WyJpY29uIl19LDk0NjA0NyhlKXtlLmV4cG9ydHM9WyJpZGVhIl19LDU3NTAyMShlKXtlLmV4cG9ydHM9WyJsb25nIHBvc2l0aW9uIl19LDk5NjAwKGUpe2UuZXhwb3J0cz1bIm1vZGlmaWVkIFNjaGlmZiBwaXRjaGZvcmsiXX0sMjEzMjM2KGUpe2UuZXhwb3J0cz1bIm5vdGUiXX0sMTY3OTk3KGUpe2UuZXhwb3J0cz1bInNlY3RvciJdfSw0MjQxODEoZSl7ZS5leHBvcnRzPVsic2hvcnQgcG9zaXRpb24iXX0sOTk3OTI5KGUpe2UuZXhwb3J0cz1bInNpZ25wb3N0Il19LDYyMjU0KGUpe2UuZXhwb3J0cz1bInNpbmUgbGluZSJdfSwzNDI4OTIoZSl7ZS5leHBvcnRzPVsic3RpY2tlciJdfSw5MTUyODcoZSl7ZS5leHBvcnRzPVsicG9seWxpbmUiXX0sNDYzMTg3KGUpe2UuZXhwb3J0cz1bInBvc2l0aW9uIGZvcmVjYXN0Il19LDc2NjA5KGUpe2UuZXhwb3J0cz1bInBvc3QiXX0sODY2NjkoZSl7ZS5leHBvcnRzPVsicGF0aCJdfSwyOTM0ODAoZSl7ZS5leHBvcnRzPVsicGFyYWxsZWwgY2hhbm5lbCJdfSw5MjA1MzkoZSl7ZS5leHBvcnRzPVsicGl0Y2hmYW4iXX0sOTMwNzQ0KGUpe2UuZXhwb3J0cz1bInBpdGNoZm9yayJdfSw3MjM1NDQoZSl7ZS5leHBvcnRzPVsicGluIl19LDU0Njc0MShlKXtlLmV4cG9ydHM9WyJwcmljZSBsYWJlbCJdfSwzMzI5OTgoZSl7ZS5leHBvcnRzPVsicHJpY2Ugbm90ZSJdfSw3MDY1OTkoZSl7ZS5leHBvcnRzPVsicHJpY2UgcmFuZ2UiXX0sNTY5ODgxKGUpe2UuZXhwb3J0cz1bInJvdGF0ZWQgcmVjdGFuZ2xlIl19LDEwMDg5NihlKXtlLmV4cG9ydHM9WyJyYXkiXX0sNjE2NzM1KGUpe2UuZXhwb3J0cz1bInJlY3RhbmdsZSJdfSwyNDI4NjcoZSl7ZS5leHBvcnRzPVsicmVncmVzc2lvbiB0cmVuZCJdfSw5OTQ5MTEoZSl7ZS5leHBvcnRzPVsidGFibGUiXX0sNTgyMzM5KGUpe2UuZXhwb3J0cz1bInRleHQiXX0sNTk2ODYoZSl7ZS5leHBvcnRzPVsidGhyZWUgZHJpdmVzIHBhdHRlcm4iXX0sMjU0MTIzKGUpe2UuZXhwb3J0cz1bInRpbWUgY3ljbGVzIl19LDY1NTQ0NyhlKXtlLmV4cG9ydHM9WyJ0cmVuZCBhbmdsZSJdfSw2NDc4MjYoZSl7ZS5leHBvcnRzPVsidHJlbmQtYmFzZWQgZmliIGV4dGVuc2lvbiJdfSw3NDg2MzMoZSl7ZS5leHBvcnRzPVsidHJlbmQtYmFzZWQgZmliIHRpbWUiXX0sMjU3MjI4KGUpe2UuZXhwb3J0cz1bInRyZW5kbGluZSJdfSw0MDkyMzAoZSl7ZS5leHBvcnRzPVsidHJpYW5nbGUiXX0sODEwNDQ4KGUpe2UuZXhwb3J0cz1bInRyaWFuZ2xlIHBhdHRlcm4iXX0sMzI4NTMoZSl7ZS5leHBvcnRzPVsidm9sdW1lIHByb2ZpbGUgZml4ZWQgcmFuZ2UiXX0sNTI5NjQ1KGUpe2UuZXhwb3J0cz1bInZlcnRpY2FsIGxpbmUiXX0sMTU5NzEyKGUpe2UuZXhwb3J0cz1bIiN7Y291bnR9IChwcmljZSwgYmFyKSJdfSw1NTIxNShlKXtlLmV4cG9ydHM9WyJEZWxpc3RlZCJdfSw2ODUxMDQoZSl7ZS5leHBvcnRzPVsiSG9saWRheSJdfSw2Mzg0MDUoZSl7ZS5leHBvcnRzPVsiSW52YWxpZCBzeW1ib2wiXX0sODk3NTkxKGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCB2aWEgQk9BVFMiXX0sMjc0NDE1KGUpe2UuZXhwb3J0cz1bIkxvYWRpbmciXX0sNzAyNzg4KGUpewplLmV4cG9ydHM9WyJNYXJrZXQgb3BlbiJdfSw5MTQ1NzIoZSl7ZS5leHBvcnRzPVsiTWFya2V0IGNsb3NlZCJdfSw4Njc0NTUoZSl7ZS5leHBvcnRzPVsiUG9zdC1tYXJrZXQiXX0sOTE4ODQyKGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQiXX0sNjk2ODc5KGUpe2UuZXhwb3J0cz1bIkhvbGlkYXkiXX0sODIwMjE5KGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCJdfSw1NDUyMjQoZSl7ZS5leHBvcnRzPVsiT3Zlcm5pZ2h0IHZpYSBCT0FUUyJdfSw0OTM2MzcoZSl7ZS5leHBvcnRzPVsiTWFya2V0IG9wZW4iXX0sODQyMjAzKGUpe2UuZXhwb3J0cz1bIk1hcmtldCBjbG9zZWQiXX0sNjE5MjMzKGUpe2UuZXhwb3J0cz1bIlBvc3QiXX0sNTUxMzgyKGUpe2UuZXhwb3J0cz1bIlBvc3QtbWFya2V0Il19LDk2NjQxMihlKXtlLmV4cG9ydHM9WyJQcmUiXX0sNjM4NzE3KGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQiXX0sODQ2NzkoZSl7ZS5leHBvcnRzPVsiQ3VycmVuY2llcyJdfSw2NDI4NDMoZSl7ZS5leHBvcnRzPVsiQXV0byAoZml0cyBkYXRhIHRvIHNjcmVlbikiXX0sNDcxOTgwKGUpe2UuZXhwb3J0cz1bIkludmVydCBzY2FsZSJdfSwxOTcxMDUoZSl7ZS5leHBvcnRzPVsiSW5kZXhlZCB0byAxMDAiXX0sODg2MDEzKGUpe2UuZXhwb3J0cz1bIkxvZ2FyaXRobWljIl19LDkxMTcxMShlKXtlLmV4cG9ydHM9WyJMYWJlbHMiXX0sOTE2Mjc3KGUpe2UuZXhwb3J0cz1bIk1ldHJpY3MiXX0sMjc4NzUxKGUpe2UuZXhwb3J0cz1bIk1lcmdlIGFsbCBzY2FsZXMgaW50byBvbmUiXX0sODQ3ODM0KGUpe2UuZXhwb3J0cz1bIk5vIG92ZXJsYXBwaW5nIGxhYmVscyJdfSw2NDAwOTYoZSl7ZS5leHBvcnRzPVsiUGVyY2VudCJdfSw3NDkxNzkoZSl7ZS5leHBvcnRzPVsiUmVndWxhciJdfSwzNDI5MTUoZSl7ZS5leHBvcnRzPVsiUmVzZXQgcHJpY2Ugc2NhbGUiXX0sMjEzMDc1KGUpe2UuZXhwb3J0cz1bIlVuaXRzIl19LDQ5NjcwMyhlKXtlLmV4cG9ydHM9WyIyNCBob3VycyJdfSw4NzQyMDAoZSl7ZS5leHBvcnRzPVsiMjRIIl19LDY4OTk2NShlKXtlLmV4cG9ydHM9WyJFVEgiXX0sNDI3OTg1KGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWMgdHJhZGluZyBob3VycyJdfSwxOTgyODkoZSl7ZS5leHBvcnRzPVsiRXh0ZW5kZWQiXX0sNDIyMjUyKGUpe2UuZXhwb3J0cz1bIkV4dGVuZGVkIHRyYWRpbmcgaG91cnMiXX0sMjc5Mzc5KGUpe2UuZXhwb3J0cz1bIk5pZ2h0Il19LDkwMDUxNihlKXtlLmV4cG9ydHM9WyJQT1NUIl19LDg2NzU1NShlKXtlLmV4cG9ydHM9WyJQUkUiXX0sNjcxMjk0KGUpe2UuZXhwb3J0cz1bIlBvc3RtYXJrZXQiXX0sNTcyMDE0KGUpe2UuZXhwb3J0cz1bIlByZW1hcmtldCJdfSw5MjU1MjYoZSl7ZS5leHBvcnRzPVsiUlRIIl19LDQzOTg4MShlKXtlLmV4cG9ydHM9WyJSZWd1bGFyIl19LDg0NTA2NyhlKXtlLmV4cG9ydHM9WyJSZWd1bGFyIHRyYWRpbmcgaG91cnMiXX0sNzM0NzUwKGUpe2UuZXhwb3J0cz1bIk1heSJdfSw5NjA5NjgoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIGRldGFpbHMiXX0sOTg2NDY4KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBpbmZvIl19LDg4NDY5MyhlKXtlLmV4cG9ydHM9T2JqZWN0LmNyZWF0ZShudWxsKSxlLmV4cG9ydHNbIkF2ZXJhZ2UgZGFpbHkgcmFuZ2Vfc3R1ZHkiXT1bIkF2ZXJhZ2UgZGFpbHkgcmFuZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgdHJ1ZSByYW5nZV9zdHVkeSJdPVsiQXZlcmFnZSB0cnVlIHJhbmdlIl0sZS5leHBvcnRzWyJhbmNob3JlZCB2b2x1bWUgcHJvZmlsZV9zdHVkeSJdPVsiYW5jaG9yZWQgdm9sdW1lIHByb2ZpbGUiXSxlLmV4cG9ydHNbIkJvb2sgdmFsdWUgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZClfc3R1ZHkiXT1bIkJvb2sgdmFsdWUgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkJvb2sgdmFsdWUgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nKV9zdHVkeSJdPVsiQm9vayB2YWx1ZSBwZXIgc2hhcmUgZXN0aW1hdGUgKHJvbGxpbmcpIl0sZS5leHBvcnRzWyJCb29rIHZhbHVlIHBlciBzaGFyZSBlc3RpbWF0ZV9zdHVkeSJdPVsiQm9vayB2YWx1ZSBwZXIgc2hhcmUgZXN0aW1hdGUiXSxlLmV4cG9ydHNbIkJ1bGwgYmVhciBwb3dlcl9zdHVkeSJdPVsiQnVsbCBiZWFyIHBvd2VyIl0sZS5leHBvcnRzWyJEaXJlY3Rpb25hbCBtb3ZlbWVudCBpbmRleF9zdHVkeSJdPVsiRGlyZWN0aW9uYWwgbW92ZW1lbnQgaW5kZXgiXSxlLmV4cG9ydHNbIkRpdmlkZW5kcyBwZXIgc2hhcmVfc3R1ZHkiXT1bIkRpdmlkZW5kcyBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIkNhcGl0YWwgZXhwZW5kaXR1cmVzIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZClfc3R1ZHkiXT1bIkNhcGl0YWwgZXhwZW5kaXR1cmVzIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkNhcGl0YWwgZXhwZW5kaXR1cmVzIGVzdGltYXRlIChyb2xsaW5nKV9zdHVkeSJdPVsiQ2FwaXRhbCBleHBlbmRpdHVyZXMgZXN0aW1hdGUgKHJvbGxpbmcpIl0sZS5leHBvcnRzWyJDYXBpdGFsIGV4cGVuZGl0dXJlcyBlc3RpbWF0ZV9zdHVkeSJdPVsiQ2FwaXRhbCBleHBlbmRpdHVyZXMgZXN0aW1hdGUiXSxlLmV4cG9ydHNbIkNhc2ggZmxvdyBmcm9tIGZpbmFuY2luZyBhY3Rpdml0aWVzX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBmaW5hbmNpbmcgYWN0aXZpdGllcyJdLGUuZXhwb3J0c1siQ2FzaCBmbG93IGZyb20gaW52ZXN0aW5nIGFjdGl2aXRpZXNfc3R1ZHkiXT1bIkNhc2ggZmxvdyBmcm9tIGludmVzdGluZyBhY3Rpdml0aWVzIl0sZS5leHBvcnRzWyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpIl0sCmUuZXhwb3J0c1siQ2FzaCBmbG93IGZyb20gb3BlcmF0aW5nIGFjdGl2aXRpZXMgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkNhc2ggZmxvdyBmcm9tIG9wZXJhdGluZyBhY3Rpdml0aWVzIGVzdGltYXRlX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siQ2FzaCBmbG93IGZyb20gb3BlcmF0aW5nIGFjdGl2aXRpZXNfc3R1ZHkiXT1bIkNhc2ggZmxvdyBmcm9tIG9wZXJhdGluZyBhY3Rpdml0aWVzIl0sZS5leHBvcnRzWyJFQklUIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZClfc3R1ZHkiXT1bIkVCSVQgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKSJdLGUuZXhwb3J0c1siRUJJVCBlc3RpbWF0ZSAocm9sbGluZylfc3R1ZHkiXT1bIkVCSVQgZXN0aW1hdGUgKHJvbGxpbmcpIl0sZS5leHBvcnRzWyJFQklUIGVzdGltYXRlX3N0dWR5Il09WyJFQklUIGVzdGltYXRlIl0sZS5leHBvcnRzWyJFQklUREEgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKV9zdHVkeSJdPVsiRUJJVERBIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkVCSVREQSBlc3RpbWF0ZSAocm9sbGluZylfc3R1ZHkiXT1bIkVCSVREQSBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkVCSVREQSBlc3RpbWF0ZV9zdHVkeSJdPVsiRUJJVERBIGVzdGltYXRlIl0sZS5leHBvcnRzWyJFYXJuaW5ncyBwZXIgc2hhcmUgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKV9zdHVkeSJdPVsiRWFybmluZ3MgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkVhcm5pbmdzIHBlciBzaGFyZSBlc3RpbWF0ZSAocm9sbGluZylfc3R1ZHkiXT1bIkVhcm5pbmdzIHBlciBzaGFyZSBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkVhcm5pbmdzIHBlciBzaGFyZSBlc3RpbWF0ZV9zdHVkeSJdPVsiRWFybmluZ3MgcGVyIHNoYXJlIGVzdGltYXRlIl0sZS5leHBvcnRzWyJFYXJuaW5ncyBwZXIgc2hhcmVfc3R1ZHkiXT1bIkVhcm5pbmdzIHBlciBzaGFyZSJdLGUuZXhwb3J0c1siRnJlZSBjYXNoIGZsb3cgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKV9zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3cgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKSJdLGUuZXhwb3J0c1siRnJlZSBjYXNoIGZsb3cgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJGcmVlIGNhc2ggZmxvdyBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkZyZWUgY2FzaCBmbG93IGVzdGltYXRlX3N0dWR5Il09WyJGcmVlIGNhc2ggZmxvdyBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siZml4ZWQgcmFuZ2Ugdm9sdW1lIHByb2ZpbGVfc3R1ZHkiXT1bImZpeGVkIHJhbmdlIHZvbHVtZSBwcm9maWxlIl0sZS5leHBvcnRzWyJHb29kd2lsbCAobmV0KV9zdHVkeSJdPVsiR29vZHdpbGwgKG5ldCkiXSxlLmV4cG9ydHNbIkljaGltb2t1IGNsb3VkX3N0dWR5Il09WyJJY2hpbW9rdSBjbG91ZCJdLGUuZXhwb3J0c1siTW92aW5nIGF2ZXJhZ2UgY29udmVyZ2VuY2UgZGl2ZXJnZW5jZV9zdHVkeSJdPVsiTW92aW5nIGF2ZXJhZ2UgY29udmVyZ2VuY2UgZGl2ZXJnZW5jZSJdLGUuZXhwb3J0c1siTmV0IGluY29tZSBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJOZXQgaW5jb21lIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIk5ldCBpbmNvbWUgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJOZXQgaW5jb21lIGVzdGltYXRlIChyb2xsaW5nKSJdLGUuZXhwb3J0c1siTmV0IGluY29tZSBlc3RpbWF0ZV9zdHVkeSJdPVsiTmV0IGluY29tZSBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siT3AgaW5jb21lX3N0dWR5Il09WyJPcCBpbmNvbWUiXSxlLmV4cG9ydHNbIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcyAodG90YWwpX3N0dWR5Il09WyJTZWxsaW5nL2dlbmVyYWwvYWRtaW4gZXhwZW5zZXMgKHRvdGFsKSJdLGUuZXhwb3J0c1siVG90YWwgZGVidCBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJUb3RhbCBkZWJ0IGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIlRvdGFsIGRlYnQgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJUb3RhbCBkZWJ0IGVzdGltYXRlIChyb2xsaW5nKSJdLGUuZXhwb3J0c1siVG90YWwgZGVidCBlc3RpbWF0ZV9zdHVkeSJdPVsiVG90YWwgZGVidCBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siVG90YWwgcmV2ZW51ZSBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJUb3RhbCByZXZlbnVlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIlRvdGFsIHJldmVudWUgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJUb3RhbCByZXZlbnVlIGVzdGltYXRlIChyb2xsaW5nKSJdLGUuZXhwb3J0c1siVG90YWwgcmV2ZW51ZSBlc3RpbWF0ZV9zdHVkeSJdPVsiVG90YWwgcmV2ZW51ZSBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siVm9sdW1lLXdlaWdodGVkIGF2ZXJhZ2UgcHJpY2Vfc3R1ZHkiXT1bIlZvbHVtZS13ZWlnaHRlZCBhdmVyYWdlIHByaWNlIl0sZS5leHBvcnRzWyJWb2x1bWUtd2VpZ2h0ZWQgbW92aW5nIGF2ZXJhZ2Vfc3R1ZHkiXT1bIlZvbHVtZS13ZWlnaHRlZCBtb3ZpbmcgYXZlcmFnZSJdLGUuZXhwb3J0c1siV2lsbGlhbXMgcGVyY2VudCByYW5nZV9zdHVkeSJdPVsiV2lsbGlhbXMgcGVyY2VudCByYW5nZSJdLGUuZXhwb3J0cy5UZWNobmljYWxzX3N0dWR5PVsiVGVjaG5pY2FscyJdLGUuZXhwb3J0c1siKkFsbCBDYW5kbGVzdGljayBQYXR0ZXJucypfc3R1ZHkiXT1bIipBbGwgQ2FuZGxlc3RpY2sgUGF0dGVybnMqIl0sZS5leHBvcnRzWyIyNC1ob3VyIFZvbHVtZV9zdHVkeSJdPVsiMjQtaG91ciBWb2x1bWUiXSwKZS5leHBvcnRzWyI1MiBXZWVrIEhpZ2gvTG93X3N0dWR5Il09WyI1MiBXZWVrIEhpZ2gvTG93Il0sZS5leHBvcnRzLkFTSV9zdHVkeT1bIkFTSSJdLGUuZXhwb3J0c1siQWJhbmRvbmVkIEJhYnkgLSBCZWFyaXNoX3N0dWR5Il09WyJBYmFuZG9uZWQgQmFieSAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIkFiYW5kb25lZCBCYWJ5IC0gQnVsbGlzaF9zdHVkeSJdPVsiQWJhbmRvbmVkIEJhYnkgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJBY2NlbGVyYXRvciBPc2NpbGxhdG9yX3N0dWR5Il09WyJBY2NlbGVyYXRvciBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJBY2NvdW50cyBwYXlhYmxlX3N0dWR5Il09WyJBY2NvdW50cyBwYXlhYmxlIl0sZS5leHBvcnRzWyJBY2NvdW50cyByZWNlaXZhYmxlIC0gdHJhZGUsIG5ldF9zdHVkeSJdPVsiQWNjb3VudHMgcmVjZWl2YWJsZSAtIHRyYWRlLCBuZXQiXSxlLmV4cG9ydHNbIkFjY291bnRzIHJlY2VpdmFibGVzLCBncm9zc19zdHVkeSJdPVsiQWNjb3VudHMgcmVjZWl2YWJsZXMsIGdyb3NzIl0sZS5leHBvcnRzLkFjY3J1YWxzX3N0dWR5PVsiQWNjcnVhbHMiXSxlLmV4cG9ydHNbIkFjY3J1ZWQgcGF5cm9sbF9zdHVkeSJdPVsiQWNjcnVlZCBwYXlyb2xsIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRlZCBkZXByZWNpYXRpb24sIHRvdGFsX3N0dWR5Il09WyJBY2N1bXVsYXRlZCBkZXByZWNpYXRpb24sIHRvdGFsIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uX3N0dWR5Il09WyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRpdmUgU3dpbmcgSW5kZXhfc3R1ZHkiXT1bIkFjY3VtdWxhdGl2ZSBTd2luZyBJbmRleCJdLGUuZXhwb3J0c1siQWRkaXRpb25hbCBwYWlkLWluIGNhcGl0YWwvQ2FwaXRhbCBzdXJwbHVzX3N0dWR5Il09WyJBZGRpdGlvbmFsIHBhaWQtaW4gY2FwaXRhbC9DYXBpdGFsIHN1cnBsdXMiXSxlLmV4cG9ydHNbIkFkdmFuY2UgRGVjbGluZSBMaW5lX3N0dWR5Il09WyJBZHZhbmNlIERlY2xpbmUgTGluZSJdLGUuZXhwb3J0c1siQWR2YW5jZSBEZWNsaW5lIFJhdGlvX3N0dWR5Il09WyJBZHZhbmNlIERlY2xpbmUgUmF0aW8iXSxlLmV4cG9ydHNbIkFkdmFuY2UvRGVjbGluZSBSYXRpbyAoQmFycylfc3R1ZHkiXT1bIkFkdmFuY2UvRGVjbGluZSBSYXRpbyAoQmFycykiXSxlLmV4cG9ydHNbIkFkdmFuY2UvRGVjbGluZV9zdHVkeSJdPVsiQWR2YW5jZS9EZWNsaW5lIl0sZS5leHBvcnRzWyJBZnRlciB0YXggb3RoZXIgaW5jb21lL2V4cGVuc2Vfc3R1ZHkiXT1bIkFmdGVyIHRheCBvdGhlciBpbmNvbWUvZXhwZW5zZSJdLGUuZXhwb3J0c1siQWxsIENoYXJ0IFBhdHRlcm5zX3N0dWR5Il09WyJBbGwgQ2hhcnQgUGF0dGVybnMiXSxlLmV4cG9ydHNbIkFsdG1hbiBaLXNjb3JlX3N0dWR5Il09WyJBbHRtYW4gWi1zY29yZSJdLGUuZXhwb3J0c1siQW1vcnRpemF0aW9uIG9mIGRlZmVycmVkIGNoYXJnZXNfc3R1ZHkiXT1bIkFtb3J0aXphdGlvbiBvZiBkZWZlcnJlZCBjaGFyZ2VzIl0sZS5leHBvcnRzWyJBbW9ydGl6YXRpb24gb2YgaW50YW5naWJsZXNfc3R1ZHkiXT1bIkFtb3J0aXphdGlvbiBvZiBpbnRhbmdpYmxlcyJdLGUuZXhwb3J0cy5BbW9ydGl6YXRpb25fc3R1ZHk9WyJBbW9ydGl6YXRpb24iXSxlLmV4cG9ydHNbIkFuY2hvcmVkIFZvbHVtZSBQcm9maWxlX3N0dWR5Il09WyJBbmNob3JlZCBWb2x1bWUgUHJvZmlsZSJdLGUuZXhwb3J0c1siQXJuYXVkIExlZ291eCBNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiQXJuYXVkIExlZ291eCBNb3ZpbmcgQXZlcmFnZSJdLGUuZXhwb3J0cy5Bcm9vbl9zdHVkeT1bIkFyb29uIl0sZS5leHBvcnRzWyJBc3NldCB0dXJub3Zlcl9zdHVkeSJdPVsiQXNzZXQgdHVybm92ZXIiXSxlLmV4cG9ydHNbIkF1dG8gQW5jaG9yZWQgVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIkF1dG8gQW5jaG9yZWQgVm9sdW1lIFByb2ZpbGUiXSxlLmV4cG9ydHNbIkF1dG8gRmliIEV4dGVuc2lvbl9zdHVkeSJdPVsiQXV0byBGaWIgRXh0ZW5zaW9uIl0sZS5leHBvcnRzWyJBdXRvIEZpYiBSZXRyYWNlbWVudF9zdHVkeSJdPVsiQXV0byBGaWIgUmV0cmFjZW1lbnQiXSxlLmV4cG9ydHNbIkF1dG8gUGl0Y2hmb3JrX3N0dWR5Il09WyJBdXRvIFBpdGNoZm9yayJdLGUuZXhwb3J0c1siQXV0byBUcmVuZGxpbmVzX3N0dWR5Il09WyJBdXRvIFRyZW5kbGluZXMiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgRGFpbHkgUmFuZ2Vfc3R1ZHkiXT1bIkF2ZXJhZ2UgRGFpbHkgUmFuZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgRGF5IFJhbmdlX3N0dWR5Il09WyJBdmVyYWdlIERheSBSYW5nZSJdLGUuZXhwb3J0c1siQXZlcmFnZSBEaXJlY3Rpb25hbCBJbmRleF9zdHVkeSJdPVsiQXZlcmFnZSBEaXJlY3Rpb25hbCBJbmRleCJdLGUuZXhwb3J0c1siQXZlcmFnZSBQcmljZV9zdHVkeSJdPVsiQXZlcmFnZSBQcmljZSJdLGUuZXhwb3J0c1siQXZlcmFnZSBUcnVlIFJhbmdlX3N0dWR5Il09WyJBdmVyYWdlIFRydWUgUmFuZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgYmFzaWMgc2hhcmVzIG91dHN0YW5kaW5nX3N0dWR5Il09WyJBdmVyYWdlIGJhc2ljIHNoYXJlcyBvdXRzdGFuZGluZyJdLGUuZXhwb3J0c1siQXdlc29tZSBPc2NpbGxhdG9yX3N0dWR5Il09WyJBd2Vzb21lIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHMuQkJUcmVuZF9zdHVkeT1bIkJCVHJlbmQiXSxlLmV4cG9ydHNbIkJhZCBkZWJ0IC8gRG91YnRmdWwgYWNjb3VudHNfc3R1ZHkiXT1bIkJhZCBkZWJ0IC8gRG91YnRmdWwgYWNjb3VudHMiXSxlLmV4cG9ydHNbIkJhbGFuY2Ugb2YgUG93ZXJfc3R1ZHkiXT1bIkJhbGFuY2Ugb2YgUG93ZXIiXSxlLmV4cG9ydHNbIkJhclVwRG4gU3RyYXRlZ3lfc3R1ZHkiXT1bIkJhclVwRG4gU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIkJhc2ljIEVQU19zdHVkeSJdPVsiQmFzaWMgRVBTIl0sZS5leHBvcnRzWyJCYXNpYyBlYXJuaW5ncyBwZXIgc2hhcmUgKEJhc2ljIEVQUylfc3R1ZHkiXT1bIkJhc2ljIGVhcm5pbmdzIHBlciBzaGFyZSAoQmFzaWMgRVBTKSJdLAplLmV4cG9ydHNbIkJlYXJpc2ggRmxhZyBDaGFydCBQYXR0ZXJuX3N0dWR5Il09WyJCZWFyaXNoIEZsYWcgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siQmVhcmlzaCBQZW5uYW50IENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkJlYXJpc2ggUGVubmFudCBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJCZW5laXNoIE0tc2NvcmVfc3R1ZHkiXT1bIkJlbmVpc2ggTS1zY29yZSJdLGUuZXhwb3J0c1siQm9sbGluZ2VyIEJhbmRXaWR0aF9zdHVkeSJdPVsiQm9sbGluZ2VyIEJhbmRXaWR0aCJdLGUuZXhwb3J0c1siQm9sbGluZ2VyIEJhbmRzICViX3N0dWR5Il09WyJCb2xsaW5nZXIgQmFuZHMgJWIiXSxlLmV4cG9ydHNbIkJvbGxpbmdlciBCYW5kcyBTdHJhdGVneSBkaXJlY3RlZF9zdHVkeSJdPVsiQm9sbGluZ2VyIEJhbmRzIFN0cmF0ZWd5IGRpcmVjdGVkIl0sZS5leHBvcnRzWyJCb2xsaW5nZXIgQmFuZHMgU3RyYXRlZ3lfc3R1ZHkiXT1bIkJvbGxpbmdlciBCYW5kcyBTdHJhdGVneSJdLGUuZXhwb3J0c1siQm9sbGluZ2VyIEJhbmRzX3N0dWR5Il09WyJCb2xsaW5nZXIgQmFuZHMiXSxlLmV4cG9ydHNbIkJvbGxpbmdlciBCYXJzX3N0dWR5Il09WyJCb2xsaW5nZXIgQmFycyJdLGUuZXhwb3J0c1siQm9vayB2YWx1ZSBwZXIgc2hhcmVfc3R1ZHkiXT1bIkJvb2sgdmFsdWUgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJCdWxsIEJlYXIgUG93ZXJfc3R1ZHkiXT1bIkJ1bGwgQmVhciBQb3dlciJdLGUuZXhwb3J0c1siQnVsbGlzaCBGbGFnIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkJ1bGxpc2ggRmxhZyBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJCdWxsaXNoIFBlbm5hbnQgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiQnVsbGlzaCBQZW5uYW50IENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkJ1eWJhY2sgeWllbGQgJV9zdHVkeSJdPVsiQnV5YmFjayB5aWVsZCAlIl0sZS5leHBvcnRzWyJDT0dTIHRvIHJldmVudWUgcmF0aW9fc3R1ZHkiXT1bIkNPR1MgdG8gcmV2ZW51ZSByYXRpbyJdLGUuZXhwb3J0cy5DUlNJX3N0dWR5PVsiQ1JTSSJdLGUuZXhwb3J0c1siQ2FwRXggcGVyIHNoYXJlX3N0dWR5Il09WyJDYXBFeCBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIkNhcGl0YWwgYW5kIG9wZXJhdGluZyBsZWFzZSBvYmxpZ2F0aW9uc19zdHVkeSJdPVsiQ2FwaXRhbCBhbmQgb3BlcmF0aW5nIGxlYXNlIG9ibGlnYXRpb25zIl0sZS5leHBvcnRzWyJDYXBpdGFsIGV4cGVuZGl0dXJlcyAtIGZpeGVkIGFzc2V0c19zdHVkeSJdPVsiQ2FwaXRhbCBleHBlbmRpdHVyZXMgLSBmaXhlZCBhc3NldHMiXSxlLmV4cG9ydHNbIkNhcGl0YWwgZXhwZW5kaXR1cmVzIC0gb3RoZXIgYXNzZXRzX3N0dWR5Il09WyJDYXBpdGFsIGV4cGVuZGl0dXJlcyAtIG90aGVyIGFzc2V0cyJdLGUuZXhwb3J0c1siQ2FwaXRhbCBleHBlbmRpdHVyZXNfc3R1ZHkiXT1bIkNhcGl0YWwgZXhwZW5kaXR1cmVzIl0sZS5leHBvcnRzWyJDYXBpdGFsaXplZCBsZWFzZSBvYmxpZ2F0aW9uc19zdHVkeSJdPVsiQ2FwaXRhbGl6ZWQgbGVhc2Ugb2JsaWdhdGlvbnMiXSxlLmV4cG9ydHNbIkNhc2ggJiBlcXVpdmFsZW50c19zdHVkeSJdPVsiQ2FzaCAmIGVxdWl2YWxlbnRzIl0sZS5leHBvcnRzWyJDYXNoIGFuZCBzaG9ydCB0ZXJtIGludmVzdG1lbnRzX3N0dWR5Il09WyJDYXNoIGFuZCBzaG9ydCB0ZXJtIGludmVzdG1lbnRzIl0sZS5leHBvcnRzWyJDYXNoIGNvbnZlcnNpb24gY3ljbGVfc3R1ZHkiXT1bIkNhc2ggY29udmVyc2lvbiBjeWNsZSJdLGUuZXhwb3J0c1siQ2FzaCBmcm9tIGZpbmFuY2luZyBhY3Rpdml0aWVzX3N0dWR5Il09WyJDYXNoIGZyb20gZmluYW5jaW5nIGFjdGl2aXRpZXMiXSxlLmV4cG9ydHNbIkNhc2ggZnJvbSBpbnZlc3RpbmcgYWN0aXZpdGllc19zdHVkeSJdPVsiQ2FzaCBmcm9tIGludmVzdGluZyBhY3Rpdml0aWVzIl0sZS5leHBvcnRzWyJDYXNoIGZyb20gb3BlcmF0aW5nIGFjdGl2aXRpZXNfc3R1ZHkiXT1bIkNhc2ggZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyJdLGUuZXhwb3J0c1siQ2FzaCBwZXIgc2hhcmVfc3R1ZHkiXT1bIkNhc2ggcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJDYXNoIHRvIGRlYnQgcmF0aW9fc3R1ZHkiXT1bIkNhc2ggdG8gZGVidCByYXRpbyJdLGUuZXhwb3J0c1siQ2hhaWtpbiBNb25leSBGbG93X3N0dWR5Il09WyJDaGFpa2luIE1vbmV5IEZsb3ciXSxlLmV4cG9ydHNbIkNoYWlraW4gT3NjaWxsYXRvcl9zdHVkeSJdPVsiQ2hhaWtpbiBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJDaGFpa2luIFZvbGF0aWxpdHlfc3R1ZHkiXT1bIkNoYWlraW4gVm9sYXRpbGl0eSJdLGUuZXhwb3J0c1siQ2hhbmRlIEtyb2xsIFN0b3Bfc3R1ZHkiXT1bIkNoYW5kZSBLcm9sbCBTdG9wIl0sZS5leHBvcnRzWyJDaGFuZGUgTW9tZW50dW0gT3NjaWxsYXRvcl9zdHVkeSJdPVsiQ2hhbmRlIE1vbWVudHVtIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIkNoYW5nZSBpbiBhY2NvdW50cyBwYXlhYmxlX3N0dWR5Il09WyJDaGFuZ2UgaW4gYWNjb3VudHMgcGF5YWJsZSJdLGUuZXhwb3J0c1siQ2hhbmdlIGluIGFjY291bnRzIHJlY2VpdmFibGVfc3R1ZHkiXT1bIkNoYW5nZSBpbiBhY2NvdW50cyByZWNlaXZhYmxlIl0sZS5leHBvcnRzWyJDaGFuZ2UgaW4gYWNjcnVlZCBleHBlbnNlc19zdHVkeSJdPVsiQ2hhbmdlIGluIGFjY3J1ZWQgZXhwZW5zZXMiXSxlLmV4cG9ydHNbIkNoYW5nZSBpbiBpbnZlbnRvcmllc19zdHVkeSJdPVsiQ2hhbmdlIGluIGludmVudG9yaWVzIl0sZS5leHBvcnRzWyJDaGFuZ2UgaW4gb3RoZXIgYXNzZXRzL2xpYWJpbGl0aWVzX3N0dWR5Il09WyJDaGFuZ2UgaW4gb3RoZXIgYXNzZXRzL2xpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJDaGFuZ2UgaW4gdGF4ZXMgcGF5YWJsZV9zdHVkeSJdPVsiQ2hhbmdlIGluIHRheGVzIHBheWFibGUiXSxlLmV4cG9ydHNbIkNoYW5nZXMgaW4gd29ya2luZyBjYXBpdGFsX3N0dWR5Il09WyJDaGFuZ2VzIGluIHdvcmtpbmcgY2FwaXRhbCJdLGUuZXhwb3J0cy5DaGFubmVsQnJlYWtPdXRTdHJhdGVneV9zdHVkeT1bIkNoYW5uZWxCcmVha091dFN0cmF0ZWd5Il0sCmUuZXhwb3J0c1siQ2hvcCBab25lX3N0dWR5Il09WyJDaG9wIFpvbmUiXSxlLmV4cG9ydHNbIkNob3BwaW5lc3MgSW5kZXhfc3R1ZHkiXT1bIkNob3BwaW5lc3MgSW5kZXgiXSxlLmV4cG9ydHNbIkNvbW1vZGl0eSBDaGFubmVsIEluZGV4X3N0dWR5Il09WyJDb21tb2RpdHkgQ2hhbm5lbCBJbmRleCJdLGUuZXhwb3J0c1siQ29tbW9uIGRpdmlkZW5kcyBwYWlkX3N0dWR5Il09WyJDb21tb24gZGl2aWRlbmRzIHBhaWQiXSxlLmV4cG9ydHNbIkNvbW1vbiBlcXVpdHksIHRvdGFsX3N0dWR5Il09WyJDb21tb24gZXF1aXR5LCB0b3RhbCJdLGUuZXhwb3J0c1siQ29tbW9uIHN0b2NrIHBhci9DYXJyeWluZyB2YWx1ZV9zdHVkeSJdPVsiQ29tbW9uIHN0b2NrIHBhci9DYXJyeWluZyB2YWx1ZSJdLGUuZXhwb3J0cy5Db21wYXJlX3N0dWR5PVsiQ29tcGFyZSJdLGUuZXhwb3J0c1siQ29uZGl0aW9uYWwgRXhwcmVzc2lvbnNfc3R1ZHkiXT1bIkNvbmRpdGlvbmFsIEV4cHJlc3Npb25zIl0sZS5leHBvcnRzWyJDb25ub3JzIFJTSV9zdHVkeSJdPVsiQ29ubm9ycyBSU0kiXSxlLmV4cG9ydHMuQ29ubm9yc1JTSV9zdHVkeT1bIkNvbm5vcnNSU0kiXSxlLmV4cG9ydHNbIkNvbnNlY3V0aXZlIFVwL0Rvd24gU3RyYXRlZ3lfc3R1ZHkiXT1bIkNvbnNlY3V0aXZlIFVwL0Rvd24gU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIkNvcHBvY2sgQ3VydmVfc3R1ZHkiXT1bIkNvcHBvY2sgQ3VydmUiXSxlLmV4cG9ydHNbIkNvcnJlbGF0aW9uIC0gTG9nX3N0dWR5Il09WyJDb3JyZWxhdGlvbiAtIExvZyJdLGUuZXhwb3J0c1siQ29ycmVsYXRpb24gQ29lZmZpY2llbnRfc3R1ZHkiXT1bIkNvcnJlbGF0aW9uIENvZWZmaWNpZW50Il0sZS5leHBvcnRzWyJDb3N0IG9mIGdvb2RzIHNvbGRfc3R1ZHkiXT1bIkNvc3Qgb2YgZ29vZHMgc29sZCJdLGUuZXhwb3J0c1siQ29zdCBvZiBnb29kc19zdHVkeSJdPVsiQ29zdCBvZiBnb29kcyJdLGUuZXhwb3J0c1siQ3J5cHRvIE9wZW4gSW50ZXJlc3Rfc3R1ZHkiXT1bIkNyeXB0byBPcGVuIEludGVyZXN0Il0sZS5leHBvcnRzWyJDdW11bGF0aXZlIFZvbHVtZSBEZWx0YV9zdHVkeSJdPVsiQ3VtdWxhdGl2ZSBWb2x1bWUgRGVsdGEiXSxlLmV4cG9ydHNbIkN1bXVsYXRpdmUgVm9sdW1lIEluZGV4X3N0dWR5Il09WyJDdW11bGF0aXZlIFZvbHVtZSBJbmRleCJdLGUuZXhwb3J0c1siQ3VwIGFuZCBIYW5kbGUgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiQ3VwIGFuZCBIYW5kbGUgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siQ3VycmVudCBwb3J0aW9uIG9mIExUIGRlYnQgYW5kIGNhcGl0YWwgbGVhc2VzX3N0dWR5Il09WyJDdXJyZW50IHBvcnRpb24gb2YgTFQgZGVidCBhbmQgY2FwaXRhbCBsZWFzZXMiXSxlLmV4cG9ydHNbIkN1cnJlbnQgcmF0aW9fc3R1ZHkiXT1bIkN1cnJlbnQgcmF0aW8iXSxlLmV4cG9ydHMuRE1JX3N0dWR5PVsiRE1JIl0sZS5leHBvcnRzWyJEYXJrIENsb3VkIENvdmVyIC0gQmVhcmlzaF9zdHVkeSJdPVsiRGFyayBDbG91ZCBDb3ZlciAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIkRheXMgaW52ZW50b3J5X3N0dWR5Il09WyJEYXlzIGludmVudG9yeSJdLGUuZXhwb3J0c1siRGF5cyBwYXlhYmxlX3N0dWR5Il09WyJEYXlzIHBheWFibGUiXSxlLmV4cG9ydHNbIkRheXMgc2FsZXMgb3V0c3RhbmRpbmdfc3R1ZHkiXT1bIkRheXMgc2FsZXMgb3V0c3RhbmRpbmciXSxlLmV4cG9ydHNbIkRlYnQgdG8gRUJJVERBIHJhdGlvX3N0dWR5Il09WyJEZWJ0IHRvIEVCSVREQSByYXRpbyJdLGUuZXhwb3J0c1siRGVidCB0byBhc3NldHMgcmF0aW9fc3R1ZHkiXT1bIkRlYnQgdG8gYXNzZXRzIHJhdGlvIl0sZS5leHBvcnRzWyJEZWJ0IHRvIGVxdWl0eSByYXRpb19zdHVkeSJdPVsiRGVidCB0byBlcXVpdHkgcmF0aW8iXSxlLmV4cG9ydHNbIkRlYnQgdG8gcmV2ZW51ZSByYXRpb19zdHVkeSJdPVsiRGVidCB0byByZXZlbnVlIHJhdGlvIl0sZS5leHBvcnRzWyJEZWZlcnJlZCBpbmNvbWUsIGN1cnJlbnRfc3R1ZHkiXT1bIkRlZmVycmVkIGluY29tZSwgY3VycmVudCJdLGUuZXhwb3J0c1siRGVmZXJyZWQgaW5jb21lLCBub24tY3VycmVudF9zdHVkeSJdPVsiRGVmZXJyZWQgaW5jb21lLCBub24tY3VycmVudCJdLGUuZXhwb3J0c1siRGVmZXJyZWQgdGF4IGFzc2V0c19zdHVkeSJdPVsiRGVmZXJyZWQgdGF4IGFzc2V0cyJdLGUuZXhwb3J0c1siRGVmZXJyZWQgdGF4IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJEZWZlcnJlZCB0YXggbGlhYmlsaXRpZXMiXSxlLmV4cG9ydHNbIkRlZmVycmVkIHRheGVzIChjYXNoIGZsb3cpX3N0dWR5Il09WyJEZWZlcnJlZCB0YXhlcyAoY2FzaCBmbG93KSJdLGUuZXhwb3J0c1siRGVwcmVjYXRpb24gYW5kIGFtb3J0aXphdGlvbl9zdHVkeSJdPVsiRGVwcmVjYXRpb24gYW5kIGFtb3J0aXphdGlvbiJdLGUuZXhwb3J0c1siRGVwcmVjaWF0aW9uICYgYW1vcnRpemF0aW9uIChjYXNoIGZsb3cpX3N0dWR5Il09WyJEZXByZWNpYXRpb24gJiBhbW9ydGl6YXRpb24gKGNhc2ggZmxvdykiXSxlLmV4cG9ydHNbIkRlcHJlY2lhdGlvbi9kZXBsZXRpb25fc3R1ZHkiXT1bIkRlcHJlY2lhdGlvbi9kZXBsZXRpb24iXSxlLmV4cG9ydHMuRGVwcmVjaWF0aW9uX3N0dWR5PVsiRGVwcmVjaWF0aW9uIl0sZS5leHBvcnRzWyJEZXRyZW5kZWQgUHJpY2UgT3NjaWxsYXRvcl9zdHVkeSJdPVsiRGV0cmVuZGVkIFByaWNlIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIkRpbHV0ZWQgRVBTX3N0dWR5Il09WyJEaWx1dGVkIEVQUyJdLGUuZXhwb3J0c1siRGlsdXRlZCBlYXJuaW5ncyBwZXIgc2hhcmUgKERpbHV0ZWQgRVBTKV9zdHVkeSJdPVsiRGlsdXRlZCBlYXJuaW5ncyBwZXIgc2hhcmUgKERpbHV0ZWQgRVBTKSJdLGUuZXhwb3J0c1siRGlsdXRlZCBuZXQgaW5jb21lIGF2YWlsYWJsZSB0byBjb21tb24gc3RvY2tob2xkZXJzX3N0dWR5Il09WyJEaWx1dGVkIG5ldCBpbmNvbWUgYXZhaWxhYmxlIHRvIGNvbW1vbiBzdG9ja2hvbGRlcnMiXSxlLmV4cG9ydHNbIkRpbHV0ZWQgc2hhcmVzIG91dHN0YW5kaW5nX3N0dWR5Il09WyJEaWx1dGVkIHNoYXJlcyBvdXRzdGFuZGluZyJdLAplLmV4cG9ydHNbIkRpbHV0aW9uIGFkanVzdG1lbnRfc3R1ZHkiXT1bIkRpbHV0aW9uIGFkanVzdG1lbnQiXSxlLmV4cG9ydHNbIkRpcmVjdGlvbmFsIE1vdmVtZW50IEluZGV4X3N0dWR5Il09WyJEaXJlY3Rpb25hbCBNb3ZlbWVudCBJbmRleCJdLGUuZXhwb3J0c1siRGlyZWN0aW9uYWwgTW92ZW1lbnRfc3R1ZHkiXT1bIkRpcmVjdGlvbmFsIE1vdmVtZW50Il0sZS5leHBvcnRzWyJEaXNjb250aW51ZWQgb3BlcmF0aW9uc19zdHVkeSJdPVsiRGlzY29udGludWVkIG9wZXJhdGlvbnMiXSxlLmV4cG9ydHNbIkRpdmVyZ2VuY2UgSW5kaWNhdG9yX3N0dWR5Il09WyJEaXZlcmdlbmNlIEluZGljYXRvciJdLGUuZXhwb3J0c1siRGl2aWRlbmQgcGF5b3V0IHJhdGlvICVfc3R1ZHkiXT1bIkRpdmlkZW5kIHBheW91dCByYXRpbyAlIl0sZS5leHBvcnRzWyJEaXZpZGVuZCB5aWVsZCAlX3N0dWR5Il09WyJEaXZpZGVuZCB5aWVsZCAlIl0sZS5leHBvcnRzWyJEaXZpZGVuZHMgcGF5YWJsZV9zdHVkeSJdPVsiRGl2aWRlbmRzIHBheWFibGUiXSxlLmV4cG9ydHNbIkRpdmlkZW5kcyBwZXIgc2hhcmUgLSBjb21tb24gc3RvY2sgcHJpbWFyeSBpc3N1ZV9zdHVkeSJdPVsiRGl2aWRlbmRzIHBlciBzaGFyZSAtIGNvbW1vbiBzdG9jayBwcmltYXJ5IGlzc3VlIl0sZS5leHBvcnRzWyJEb2ppIFN0YXIgLSBCZWFyaXNoX3N0dWR5Il09WyJEb2ppIFN0YXIgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJEb2ppIFN0YXIgLSBCdWxsaXNoX3N0dWR5Il09WyJEb2ppIFN0YXIgLSBCdWxsaXNoIl0sZS5leHBvcnRzLkRvamlfc3R1ZHk9WyJEb2ppIl0sZS5leHBvcnRzWyJEb25jaGlhbiBDaGFubmVsc19zdHVkeSJdPVsiRG9uY2hpYW4gQ2hhbm5lbHMiXSxlLmV4cG9ydHNbIkRvdWJsZSBCb3R0b20gQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiRG91YmxlIEJvdHRvbSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJEb3VibGUgRU1BX3N0dWR5Il09WyJEb3VibGUgRU1BIl0sZS5leHBvcnRzWyJEb3VibGUgVG9wIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkRvdWJsZSBUb3AgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siRG93bnNpZGUgVGFzdWtpIEdhcCAtIEJlYXJpc2hfc3R1ZHkiXT1bIkRvd25zaWRlIFRhc3VraSBHYXAgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJEcmFnb25mbHkgRG9qaSAtIEJ1bGxpc2hfc3R1ZHkiXT1bIkRyYWdvbmZseSBEb2ppIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siRUJJVCBwZXIgc2hhcmVfc3R1ZHkiXT1bIkVCSVQgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJFQklUREEgbWFyZ2luICVfc3R1ZHkiXT1bIkVCSVREQSBtYXJnaW4gJSJdLGUuZXhwb3J0c1siRUJJVERBIHBlciBzaGFyZV9zdHVkeSJdPVsiRUJJVERBIHBlciBzaGFyZSJdLGUuZXhwb3J0cy5FQklUREFfc3R1ZHk9WyJFQklUREEiXSxlLmV4cG9ydHMuRUJJVF9zdHVkeT1bIkVCSVQiXSxlLmV4cG9ydHNbIkVNQSBDcm9zc19zdHVkeSJdPVsiRU1BIENyb3NzIl0sZS5leHBvcnRzWyJFUFMgYmFzaWMgb25lIHllYXIgZ3Jvd3RoX3N0dWR5Il09WyJFUFMgYmFzaWMgb25lIHllYXIgZ3Jvd3RoIl0sZS5leHBvcnRzWyJFUFMgZGlsdXRlZCBvbmUgeWVhciBncm93dGhfc3R1ZHkiXT1bIkVQUyBkaWx1dGVkIG9uZSB5ZWFyIGdyb3d0aCJdLGUuZXhwb3J0c1siRVBTIGVzdGltYXRlc19zdHVkeSJdPVsiRVBTIGVzdGltYXRlcyJdLGUuZXhwb3J0c1siRWFybmluZ3MgeWllbGRfc3R1ZHkiXT1bIkVhcm5pbmdzIHlpZWxkIl0sZS5leHBvcnRzWyJFYXNlIE9mIE1vdmVtZW50X3N0dWR5Il09WyJFYXNlIE9mIE1vdmVtZW50Il0sZS5leHBvcnRzWyJFYXNlIG9mIE1vdmVtZW50X3N0dWR5Il09WyJFYXNlIG9mIE1vdmVtZW50Il0sZS5leHBvcnRzWyJFZmZlY3RpdmUgaW50ZXJlc3QgcmF0ZSBvbiBkZWJ0ICVfc3R1ZHkiXT1bIkVmZmVjdGl2ZSBpbnRlcmVzdCByYXRlIG9uIGRlYnQgJSJdLGUuZXhwb3J0c1siRWxkZXIgRm9yY2UgSW5kZXhfc3R1ZHkiXT1bIkVsZGVyIEZvcmNlIEluZGV4Il0sZS5leHBvcnRzWyJFbGRlcidzIEZvcmNlIEluZGV4X3N0dWR5Il09WyJFbGRlcidzIEZvcmNlIEluZGV4Il0sZS5leHBvcnRzWyJFbGRlcnMgRm9yY2UgSW5kZXhfc3R1ZHkiXT1bIkVsZGVycyBGb3JjZSBJbmRleCJdLGUuZXhwb3J0c1siRWxsaW90dCBXYXZlIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkVsbGlvdHQgV2F2ZSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJFbmd1bGZpbmcgLSBCZWFyaXNoX3N0dWR5Il09WyJFbmd1bGZpbmcgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJFbmd1bGZpbmcgLSBCdWxsaXNoX3N0dWR5Il09WyJFbmd1bGZpbmcgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJFbnRlcnByaXNlIHZhbHVlIHRvIEVCSVQgcmF0aW9fc3R1ZHkiXT1bIkVudGVycHJpc2UgdmFsdWUgdG8gRUJJVCByYXRpbyJdLGUuZXhwb3J0c1siRW50ZXJwcmlzZSB2YWx1ZSB0byBFQklUREEgcmF0aW9fc3R1ZHkiXT1bIkVudGVycHJpc2UgdmFsdWUgdG8gRUJJVERBIHJhdGlvIl0sZS5leHBvcnRzWyJFbnRlcnByaXNlIHZhbHVlIHRvIHJldmVudWUgcmF0aW9fc3R1ZHkiXT1bIkVudGVycHJpc2UgdmFsdWUgdG8gcmV2ZW51ZSByYXRpbyJdLGUuZXhwb3J0c1siRW50ZXJwcmlzZSB2YWx1ZV9zdHVkeSJdPVsiRW50ZXJwcmlzZSB2YWx1ZSJdLGUuZXhwb3J0cy5FbnZlbG9wZV9zdHVkeT1bIkVudmVsb3BlIl0sZS5leHBvcnRzLkVudmVsb3Blc19zdHVkeT1bIkVudmVsb3BlcyJdLGUuZXhwb3J0c1siRXF1aXR5IGluIGVhcm5pbmdzX3N0dWR5Il09WyJFcXVpdHkgaW4gZWFybmluZ3MiXSxlLmV4cG9ydHNbIkVxdWl0eSB0byBhc3NldHMgcmF0aW9fc3R1ZHkiXT1bIkVxdWl0eSB0byBhc3NldHMgcmF0aW8iXSxlLmV4cG9ydHNbIkV2ZW5pbmcgRG9qaSBTdGFyIC0gQmVhcmlzaF9zdHVkeSJdPVsiRXZlbmluZyBEb2ppIFN0YXIgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJFdmVuaW5nIFN0YXIgLSBCZWFyaXNoX3N0dWR5Il09WyJFdmVuaW5nIFN0YXIgLSBCZWFyaXNoIl0sCmUuZXhwb3J0c1siRmFsbGluZyBUaHJlZSBNZXRob2RzIC0gQmVhcmlzaF9zdHVkeSJdPVsiRmFsbGluZyBUaHJlZSBNZXRob2RzIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siRmFsbGluZyBXZWRnZSBDaGFydCBQYXR0ZXJuX3N0dWR5Il09WyJGYWxsaW5nIFdlZGdlIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkZhbGxpbmcgV2luZG93IC0gQmVhcmlzaF9zdHVkeSJdPVsiRmFsbGluZyBXaW5kb3cgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJGaW5hbmNpbmcgYWN0aXZpdGllcyDigJMgb3RoZXIgc291cmNlc19zdHVkeSJdPVsiRmluYW5jaW5nIGFjdGl2aXRpZXMg4oCTIG90aGVyIHNvdXJjZXMiXSxlLmV4cG9ydHNbIkZpbmFuY2luZyBhY3Rpdml0aWVzIOKAkyBvdGhlciB1c2VzX3N0dWR5Il09WyJGaW5hbmNpbmcgYWN0aXZpdGllcyDigJMgb3RoZXIgdXNlcyJdLGUuZXhwb3J0c1siRmlzaGVyIFRyYW5zZm9ybV9zdHVkeSJdPVsiRmlzaGVyIFRyYW5zZm9ybSJdLGUuZXhwb3J0c1siRml4ZWQgUmFuZ2UgVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIkZpeGVkIFJhbmdlIFZvbHVtZSBQcm9maWxlIl0sZS5leHBvcnRzWyJGaXhlZCBSYW5nZV9zdHVkeSJdPVsiRml4ZWQgUmFuZ2UiXSxlLmV4cG9ydHNbIkZsb2F0IHNoYXJlcyBvdXRzdGFuZGluZ19zdHVkeSJdPVsiRmxvYXQgc2hhcmVzIG91dHN0YW5kaW5nIl0sZS5leHBvcnRzWyJGcmVlIGNhc2ggZmxvdyBtYXJnaW4gJV9zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3cgbWFyZ2luICUiXSxlLmV4cG9ydHNbIkZyZWUgY2FzaCBmbG93IHBlciBzaGFyZV9zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3cgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJGcmVlIGNhc2ggZmxvd19zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3ciXSxlLmV4cG9ydHNbIkZyZWUgZmxvYXRfc3R1ZHkiXT1bIkZyZWUgZmxvYXQiXSxlLmV4cG9ydHNbIkZ1bG1lciBIIGZhY3Rvcl9zdHVkeSJdPVsiRnVsbWVyIEggZmFjdG9yIl0sZS5leHBvcnRzWyJGdW5kaW5nIFJhdGVfc3R1ZHkiXT1bIkZ1bmRpbmcgUmF0ZSJdLGUuZXhwb3J0c1siRnVuZHMgZnJvbSBvcGVyYXRpb25zX3N0dWR5Il09WyJGdW5kcyBmcm9tIG9wZXJhdGlvbnMiXSxlLmV4cG9ydHMuR2Fwc19zdHVkeT1bIkdhcHMiXSxlLmV4cG9ydHNbIkdvb2R3aWxsIHRvIGFzc2V0cyByYXRpb19zdHVkeSJdPVsiR29vZHdpbGwgdG8gYXNzZXRzIHJhdGlvIl0sZS5leHBvcnRzWyJHb29kd2lsbCwgbmV0X3N0dWR5Il09WyJHb29kd2lsbCwgbmV0Il0sZS5leHBvcnRzWyJHcmFoYW0ncyBudW1iZXJfc3R1ZHkiXT1bIkdyYWhhbSdzIG51bWJlciJdLGUuZXhwb3J0c1siR3JhdmVzdG9uZSBEb2ppIC0gQmVhcmlzaF9zdHVkeSJdPVsiR3JhdmVzdG9uZSBEb2ppIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siR3JlZWR5IFN0cmF0ZWd5X3N0dWR5Il09WyJHcmVlZHkgU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIkdyb3NzIG1hcmdpbiAlX3N0dWR5Il09WyJHcm9zcyBtYXJnaW4gJSJdLGUuZXhwb3J0c1siR3Jvc3MgcHJvZml0IHRvIGFzc2V0cyByYXRpb19zdHVkeSJdPVsiR3Jvc3MgcHJvZml0IHRvIGFzc2V0cyByYXRpbyJdLGUuZXhwb3J0c1siR3Jvc3MgcHJvZml0X3N0dWR5Il09WyJHcm9zcyBwcm9maXQiXSxlLmV4cG9ydHNbIkdyb3NzIHByb3BlcnR5L3BsYW50L2VxdWlwbWVudF9zdHVkeSJdPVsiR3Jvc3MgcHJvcGVydHkvcGxhbnQvZXF1aXBtZW50Il0sZS5leHBvcnRzWyJHdXBweSBNdWx0aXBsZSBNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiR3VwcHkgTXVsdGlwbGUgTW92aW5nIEF2ZXJhZ2UiXSxlLmV4cG9ydHNbIkhhbW1lciAtIEJ1bGxpc2hfc3R1ZHkiXT1bIkhhbW1lciAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIkhhbmdpbmcgTWFuIC0gQmVhcmlzaF9zdHVkeSJdPVsiSGFuZ2luZyBNYW4gLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgLSBCZWFyaXNoX3N0dWR5Il09WyJIYXJhbWkgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgLSBCdWxsaXNoX3N0dWR5Il09WyJIYXJhbWkgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgQ3Jvc3MgLSBCZWFyaXNoX3N0dWR5Il09WyJIYXJhbWkgQ3Jvc3MgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgQ3Jvc3MgLSBCdWxsaXNoX3N0dWR5Il09WyJIYXJhbWkgQ3Jvc3MgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJIZWFkIGFuZCBTaG91bGRlcnMgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiSGVhZCBhbmQgU2hvdWxkZXJzIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkhpc3RvcmljYWwgVm9sYXRpbGl0eV9zdHVkeSJdPVsiSGlzdG9yaWNhbCBWb2xhdGlsaXR5Il0sZS5leHBvcnRzWyJIdWxsIE1vdmluZyBBdmVyYWdlX3N0dWR5Il09WyJIdWxsIE1vdmluZyBBdmVyYWdlIl0sZS5leHBvcnRzWyJJY2hpbW9rdSBDbG91ZF9zdHVkeSJdPVsiSWNoaW1va3UgQ2xvdWQiXSxlLmV4cG9ydHMuSWNoaW1va3Vfc3R1ZHk9WyJJY2hpbW9rdSJdLGUuZXhwb3J0cy5JbXBhaXJtZW50c19zdHVkeT1bIkltcGFpcm1lbnRzIl0sZS5leHBvcnRzWyJJblNpZGUgQmFyIFN0cmF0ZWd5X3N0dWR5Il09WyJJblNpZGUgQmFyIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJJbmNvbWUgVGF4IENyZWRpdHNfc3R1ZHkiXT1bIkluY29tZSBUYXggQ3JlZGl0cyJdLGUuZXhwb3J0c1siSW5jb21lIFRheCwgY3VycmVudCAtIGZvcmVpZ25fc3R1ZHkiXT1bIkluY29tZSBUYXgsIGN1cnJlbnQgLSBmb3JlaWduIl0sZS5leHBvcnRzWyJJbmNvbWUgdGF4IHBheWFibGVfc3R1ZHkiXT1bIkluY29tZSB0YXggcGF5YWJsZSJdLGUuZXhwb3J0c1siSW5jb21lIHRheCwgY3VycmVudCAtIGRvbWVzdGljX3N0dWR5Il09WyJJbmNvbWUgdGF4LCBjdXJyZW50IC0gZG9tZXN0aWMiXSxlLmV4cG9ydHNbIkluY29tZSB0YXgsIGN1cnJlbnRfc3R1ZHkiXT1bIkluY29tZSB0YXgsIGN1cnJlbnQiXSxlLmV4cG9ydHNbIkluY29tZSB0YXgsIGRlZmVycmVkIC0gZG9tZXN0aWNfc3R1ZHkiXT1bIkluY29tZSB0YXgsIGRlZmVycmVkIC0gZG9tZXN0aWMiXSwKZS5leHBvcnRzWyJJbmNvbWUgdGF4LCBkZWZlcnJlZCAtIGZvcmVpZ25fc3R1ZHkiXT1bIkluY29tZSB0YXgsIGRlZmVycmVkIC0gZm9yZWlnbiJdLGUuZXhwb3J0c1siSW5jb21lIHRheCwgZGVmZXJyZWRfc3R1ZHkiXT1bIkluY29tZSB0YXgsIGRlZmVycmVkIl0sZS5leHBvcnRzWyJJbnRlcmVzdCBjYXBpdGFsaXplZF9zdHVkeSJdPVsiSW50ZXJlc3QgY2FwaXRhbGl6ZWQiXSxlLmV4cG9ydHNbIkludGVyZXN0IGNvdmVyYWdlX3N0dWR5Il09WyJJbnRlcmVzdCBjb3ZlcmFnZSJdLGUuZXhwb3J0c1siSW50ZXJlc3QgZXhwZW5zZSBvbiBkZWJ0X3N0dWR5Il09WyJJbnRlcmVzdCBleHBlbnNlIG9uIGRlYnQiXSxlLmV4cG9ydHNbIkludGVyZXN0IGV4cGVuc2UsIG5ldCBvZiBpbnRlcmVzdCBjYXBpdGFsaXplZF9zdHVkeSJdPVsiSW50ZXJlc3QgZXhwZW5zZSwgbmV0IG9mIGludGVyZXN0IGNhcGl0YWxpemVkIl0sZS5leHBvcnRzWyJJbnZlbnRvcmllcyAtIGZpbmlzaGVkIGdvb2RzX3N0dWR5Il09WyJJbnZlbnRvcmllcyAtIGZpbmlzaGVkIGdvb2RzIl0sZS5leHBvcnRzWyJJbnZlbnRvcmllcyAtIHByb2dyZXNzIHBheW1lbnRzICYgb3RoZXJfc3R1ZHkiXT1bIkludmVudG9yaWVzIC0gcHJvZ3Jlc3MgcGF5bWVudHMgJiBvdGhlciJdLGUuZXhwb3J0c1siSW52ZW50b3JpZXMgLSByYXcgbWF0ZXJpYWxzX3N0dWR5Il09WyJJbnZlbnRvcmllcyAtIHJhdyBtYXRlcmlhbHMiXSxlLmV4cG9ydHNbIkludmVudG9yaWVzIC0gd29yayBpbiBwcm9ncmVzc19zdHVkeSJdPVsiSW52ZW50b3JpZXMgLSB3b3JrIGluIHByb2dyZXNzIl0sZS5leHBvcnRzWyJJbnZlbnRvcnkgdG8gcmV2ZW51ZSByYXRpb19zdHVkeSJdPVsiSW52ZW50b3J5IHRvIHJldmVudWUgcmF0aW8iXSxlLmV4cG9ydHNbIkludmVudG9yeSB0dXJub3Zlcl9zdHVkeSJdPVsiSW52ZW50b3J5IHR1cm5vdmVyIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBDdXAgYW5kIEhhbmRsZSBDaGFydCBQYXR0ZXJuX3N0dWR5Il09WyJJbnZlcnRlZCBDdXAgYW5kIEhhbmRsZSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBIYW1tZXIgLSBCdWxsaXNoX3N0dWR5Il09WyJJbnZlcnRlZCBIYW1tZXIgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBIZWFkIGFuZCBTaG91bGRlcnMgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiSW52ZXJ0ZWQgSGVhZCBhbmQgU2hvdWxkZXJzIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkludmVzdGluZyBhY3Rpdml0aWVzIOKAkyBvdGhlciBzb3VyY2VzX3N0dWR5Il09WyJJbnZlc3RpbmcgYWN0aXZpdGllcyDigJMgb3RoZXIgc291cmNlcyJdLGUuZXhwb3J0c1siSW52ZXN0aW5nIGFjdGl2aXRpZXMg4oCTIG90aGVyIHVzZXNfc3R1ZHkiXT1bIkludmVzdGluZyBhY3Rpdml0aWVzIOKAkyBvdGhlciB1c2VzIl0sZS5leHBvcnRzWyJJbnZlc3RtZW50cyBpbiB1bmNvbnNvbGlkYXRlZCBzdWJzaWRpYXJpZXNfc3R1ZHkiXT1bIkludmVzdG1lbnRzIGluIHVuY29uc29saWRhdGVkIHN1YnNpZGlhcmllcyJdLGUuZXhwb3J0c1siSXNzdWFuY2Ugb2YgbG9uZyB0ZXJtIGRlYnRfc3R1ZHkiXT1bIklzc3VhbmNlIG9mIGxvbmcgdGVybSBkZWJ0Il0sZS5leHBvcnRzWyJJc3N1YW5jZS9yZXRpcmVtZW50IG9mIGRlYnQsIG5ldF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBkZWJ0LCBuZXQiXSxlLmV4cG9ydHNbIklzc3VhbmNlL3JldGlyZW1lbnQgb2YgbG9uZyB0ZXJtIGRlYnRfc3R1ZHkiXT1bIklzc3VhbmNlL3JldGlyZW1lbnQgb2YgbG9uZyB0ZXJtIGRlYnQiXSxlLmV4cG9ydHNbIklzc3VhbmNlL3JldGlyZW1lbnQgb2Ygb3RoZXIgZGVidF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBvdGhlciBkZWJ0Il0sZS5leHBvcnRzWyJJc3N1YW5jZS9yZXRpcmVtZW50IG9mIHNob3J0IHRlcm0gZGVidF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBzaG9ydCB0ZXJtIGRlYnQiXSxlLmV4cG9ydHNbIklzc3VhbmNlL3JldGlyZW1lbnQgb2Ygc3RvY2ssIG5ldF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBzdG9jaywgbmV0Il0sZS5leHBvcnRzWyJLWiBpbmRleF9zdHVkeSJdPVsiS1ogaW5kZXgiXSxlLmV4cG9ydHNbIktlbHRuZXIgQ2hhbm5lbCBTdHJhdGVneV9zdHVkeSJdPVsiS2VsdG5lciBDaGFubmVsIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJLZWx0bmVyIENoYW5uZWxzIFN0cmF0ZWd5X3N0dWR5Il09WyJLZWx0bmVyIENoYW5uZWxzIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJLZWx0bmVyIENoYW5uZWxzX3N0dWR5Il09WyJLZWx0bmVyIENoYW5uZWxzIl0sZS5leHBvcnRzWyJLZXkgc3RhdHNfc3R1ZHkiXT1bIktleSBzdGF0cyJdLGUuZXhwb3J0c1siS2lja2luZyAtIEJlYXJpc2hfc3R1ZHkiXT1bIktpY2tpbmcgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJLaWNraW5nIC0gQnVsbGlzaF9zdHVkeSJdPVsiS2lja2luZyAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIktsaW5nZXIgT3NjaWxsYXRvcl9zdHVkeSJdPVsiS2xpbmdlciBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJLbm93IFN1cmUgVGhpbmdfc3R1ZHkiXT1bIktub3cgU3VyZSBUaGluZyJdLGUuZXhwb3J0c1siTGVhc3QgU3F1YXJlcyBNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiTGVhc3QgU3F1YXJlcyBNb3ZpbmcgQXZlcmFnZSJdLGUuZXhwb3J0c1siTGVnYWwgY2xhaW0gZXhwZW5zZV9zdHVkeSJdPVsiTGVnYWwgY2xhaW0gZXhwZW5zZSJdLGUuZXhwb3J0c1siTGluZWFyIFJlZ3Jlc3Npb24gQ2hhbm5lbF9zdHVkeSJdPVsiTGluZWFyIFJlZ3Jlc3Npb24gQ2hhbm5lbCJdLGUuZXhwb3J0c1siTGluZWFyIFJlZ3Jlc3Npb24gQ3VydmVfc3R1ZHkiXT1bIkxpbmVhciBSZWdyZXNzaW9uIEN1cnZlIl0sZS5leHBvcnRzWyJMaW5lYXIgUmVncmVzc2lvbiBTbG9wZV9zdHVkeSJdPVsiTGluZWFyIFJlZ3Jlc3Npb24gU2xvcGUiXSxlLmV4cG9ydHNbIkxpbmVhciBSZWdyZXNzaW9uX3N0dWR5Il09WyJMaW5lYXIgUmVncmVzc2lvbiJdLGUuZXhwb3J0cy5MaXF1aWRhdGlvbnNfc3R1ZHk9WyJMaXF1aWRhdGlvbnMiXSwKZS5leHBvcnRzWyJMaXF1aWRpdHkgcmF0aW9zX3N0dWR5Il09WyJMaXF1aWRpdHkgcmF0aW9zIl0sZS5leHBvcnRzWyJMb25nIExvd2VyIFNoYWRvdyAtIEJ1bGxpc2hfc3R1ZHkiXT1bIkxvbmcgTG93ZXIgU2hhZG93IC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siTG9uZyBTaG9ydCBBY2NvdW50cyAlX3N0dWR5Il09WyJMb25nIFNob3J0IEFjY291bnRzICUiXSxlLmV4cG9ydHNbIkxvbmcgVXBwZXIgU2hhZG93IC0gQmVhcmlzaF9zdHVkeSJdPVsiTG9uZyBVcHBlciBTaGFkb3cgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJMb25nIHRlcm0gZGVidCBleGNsLiBsZWFzZSBsaWFiaWxpdGllc19zdHVkeSJdPVsiTG9uZyB0ZXJtIGRlYnQgZXhjbC4gbGVhc2UgbGlhYmlsaXRpZXMiXSxlLmV4cG9ydHNbIkxvbmcgdGVybSBkZWJ0IHRvIHRvdGFsIGFzc2V0cyByYXRpb19zdHVkeSJdPVsiTG9uZyB0ZXJtIGRlYnQgdG8gdG90YWwgYXNzZXRzIHJhdGlvIl0sZS5leHBvcnRzWyJMb25nIHRlcm0gZGVidCB0byB0b3RhbCBlcXVpdHkgcmF0aW9fc3R1ZHkiXT1bIkxvbmcgdGVybSBkZWJ0IHRvIHRvdGFsIGVxdWl0eSByYXRpbyJdLGUuZXhwb3J0c1siTG9uZyB0ZXJtIGRlYnRfc3R1ZHkiXT1bIkxvbmcgdGVybSBkZWJ0Il0sZS5leHBvcnRzWyJMb25nIHRlcm0gaW52ZXN0bWVudHNfc3R1ZHkiXT1bIkxvbmcgdGVybSBpbnZlc3RtZW50cyJdLGUuZXhwb3J0c1siTG9uZy9TaG9ydCBSYXRpbyBBY2NvdW50c19zdHVkeSJdPVsiTG9uZy9TaG9ydCBSYXRpbyBBY2NvdW50cyJdLGUuZXhwb3J0c1siTUEgQ3Jvc3Nfc3R1ZHkiXT1bIk1BIENyb3NzIl0sZS5leHBvcnRzWyJNQSB3aXRoIEVNQSBDcm9zc19zdHVkeSJdPVsiTUEgd2l0aCBFTUEgQ3Jvc3MiXSxlLmV4cG9ydHNbIk1BL0VNQSBDcm9zc19zdHVkeSJdPVsiTUEvRU1BIENyb3NzIl0sZS5leHBvcnRzWyJNQUNEIFN0cmF0ZWd5X3N0dWR5Il09WyJNQUNEIFN0cmF0ZWd5Il0sZS5leHBvcnRzLk1BQ0Rfc3R1ZHk9WyJNQUNEIl0sZS5leHBvcnRzWyJNYWpvcml0eSBSdWxlX3N0dWR5Il09WyJNYWpvcml0eSBSdWxlIl0sZS5leHBvcnRzWyJNYXJrZXQgY2FwaXRhbGl6YXRpb25fc3R1ZHkiXT1bIk1hcmtldCBjYXBpdGFsaXphdGlvbiJdLGUuZXhwb3J0c1siTWFydWJvenUgQmxhY2sgLSBCZWFyaXNoX3N0dWR5Il09WyJNYXJ1Ym96dSBCbGFjayAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIk1hcnVib3p1IFdoaXRlIC0gQnVsbGlzaF9zdHVkeSJdPVsiTWFydWJvenUgV2hpdGUgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJNYXNzIEluZGV4X3N0dWR5Il09WyJNYXNzIEluZGV4Il0sZS5leHBvcnRzWyJNY0dpbmxleSBEeW5hbWljX3N0dWR5Il09WyJNY0dpbmxleSBEeW5hbWljIl0sZS5leHBvcnRzWyJNZWRpYW4gUHJpY2Vfc3R1ZHkiXT1bIk1lZGlhbiBQcmljZSJdLGUuZXhwb3J0cy5NZWRpYW5fc3R1ZHk9WyJNZWRpYW4iXSxlLmV4cG9ydHNbIk1pbm9yaXR5IGludGVyZXN0X3N0dWR5Il09WyJNaW5vcml0eSBpbnRlcmVzdCJdLGUuZXhwb3J0c1siTWlzY2VsbGFuZW91cyBub24tb3BlcmF0aW5nIGV4cGVuc2Vfc3R1ZHkiXT1bIk1pc2NlbGxhbmVvdXMgbm9uLW9wZXJhdGluZyBleHBlbnNlIl0sZS5leHBvcnRzWyJNb21lbnR1bSBTdHJhdGVneV9zdHVkeSJdPVsiTW9tZW50dW0gU3RyYXRlZ3kiXSxlLmV4cG9ydHMuTW9tZW50dW1fc3R1ZHk9WyJNb21lbnR1bSJdLGUuZXhwb3J0c1siTW9uZXkgRmxvdyBJbmRleF9zdHVkeSJdPVsiTW9uZXkgRmxvdyBJbmRleCJdLGUuZXhwb3J0c1siTW9uZXkgRmxvd19zdHVkeSJdPVsiTW9uZXkgRmxvdyJdLGUuZXhwb3J0c1siTW9vbiBQaGFzZXNfc3R1ZHkiXT1bIk1vb24gUGhhc2VzIl0sZS5leHBvcnRzWyJNb3JuaW5nIERvamkgU3RhciAtIEJ1bGxpc2hfc3R1ZHkiXT1bIk1vcm5pbmcgRG9qaSBTdGFyIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siTW9ybmluZyBTdGFyIC0gQnVsbGlzaF9zdHVkeSJdPVsiTW9ybmluZyBTdGFyIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgQWRhcHRpdmVfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIEFkYXB0aXZlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBDaGFubmVsX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBDaGFubmVsIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZSBEaXZlcmdlbmNlX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZSBEaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZS9EaXZlcmdlbmNlX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZS9EaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBEb3VibGVfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIERvdWJsZSJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgRXhwb25lbnRpYWxfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIEV4cG9uZW50aWFsIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBIYW1taW5nX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBIYW1taW5nIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBNb2RpZmllZF9zdHVkeSJdPVsiTW92aW5nIEF2ZXJhZ2UgTW9kaWZpZWQiXSxlLmV4cG9ydHNbIk1vdmluZyBBdmVyYWdlIE11bHRpcGxlX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBNdWx0aXBsZSJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgUmliYm9uX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBSaWJib24iXSxlLmV4cG9ydHNbIk1vdmluZyBBdmVyYWdlIFNpbXBsZV9zdHVkeSJdPVsiTW92aW5nIEF2ZXJhZ2UgU2ltcGxlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBUcmlwbGVfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIFRyaXBsZSJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgV2VpZ2h0ZWRfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIFdlaWdodGVkIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiTW92aW5nIEF2ZXJhZ2UiXSxlLmV4cG9ydHNbIk1vdmluZ0F2ZyBDcm9zc19zdHVkeSJdPVsiTW92aW5nQXZnIENyb3NzIl0sCmUuZXhwb3J0c1siTW92aW5nQXZnMkxpbmUgQ3Jvc3Nfc3R1ZHkiXT1bIk1vdmluZ0F2ZzJMaW5lIENyb3NzIl0sZS5leHBvcnRzWyJNdWx0aS1UaW1lIFBlcmlvZCBDaGFydHNfc3R1ZHkiXT1bIk11bHRpLVRpbWUgUGVyaW9kIENoYXJ0cyJdLGUuZXhwb3J0c1siTmV0IFZvbHVtZV9zdHVkeSJdPVsiTmV0IFZvbHVtZSJdLGUuZXhwb3J0c1siTmV0IGN1cnJlbnQgYXNzZXQgdmFsdWUgcGVyIHNoYXJlX3N0dWR5Il09WyJOZXQgY3VycmVudCBhc3NldCB2YWx1ZSBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIk5ldCBkZWJ0X3N0dWR5Il09WyJOZXQgZGVidCJdLGUuZXhwb3J0c1siTmV0IGluY29tZSAoY2FzaCBmbG93KV9zdHVkeSJdPVsiTmV0IGluY29tZSAoY2FzaCBmbG93KSJdLGUuZXhwb3J0c1siTmV0IGluY29tZSBiZWZvcmUgZGlzY29udGludWVkIG9wZXJhdGlvbnNfc3R1ZHkiXT1bIk5ldCBpbmNvbWUgYmVmb3JlIGRpc2NvbnRpbnVlZCBvcGVyYXRpb25zIl0sZS5leHBvcnRzWyJOZXQgaW5jb21lIHBlciBlbXBsb3llZV9zdHVkeSJdPVsiTmV0IGluY29tZSBwZXIgZW1wbG95ZWUiXSxlLmV4cG9ydHNbIk5ldCBpbmNvbWVfc3R1ZHkiXT1bIk5ldCBpbmNvbWUiXSxlLmV4cG9ydHNbIk5ldCBpbnRhbmdpYmxlIGFzc2V0c19zdHVkeSJdPVsiTmV0IGludGFuZ2libGUgYXNzZXRzIl0sZS5leHBvcnRzWyJOZXQgbWFyZ2luICVfc3R1ZHkiXT1bIk5ldCBtYXJnaW4gJSJdLGUuZXhwb3J0c1siTmV0IHByb3BlcnR5L3BsYW50L2VxdWlwbWVudF9zdHVkeSJdPVsiTmV0IHByb3BlcnR5L3BsYW50L2VxdWlwbWVudCJdLGUuZXhwb3J0c1siTm9uLWNhc2ggaXRlbXNfc3R1ZHkiXT1bIk5vbi1jYXNoIGl0ZW1zIl0sZS5leHBvcnRzWyJOb24tY29udHJvbGxpbmcvbWlub3JpdHkgaW50ZXJlc3Rfc3R1ZHkiXT1bIk5vbi1jb250cm9sbGluZy9taW5vcml0eSBpbnRlcmVzdCJdLGUuZXhwb3J0c1siTm9uLW9wZXJhdGluZyBpbmNvbWUsIGV4Y2wuIGludGVyZXN0IGV4cGVuc2VzX3N0dWR5Il09WyJOb24tb3BlcmF0aW5nIGluY29tZSwgZXhjbC4gaW50ZXJlc3QgZXhwZW5zZXMiXSxlLmV4cG9ydHNbIk5vbi1vcGVyYXRpbmcgaW5jb21lLCB0b3RhbF9zdHVkeSJdPVsiTm9uLW9wZXJhdGluZyBpbmNvbWUsIHRvdGFsIl0sZS5leHBvcnRzWyJOb24tb3BlcmF0aW5nIGludGVyZXN0IGluY29tZV9zdHVkeSJdPVsiTm9uLW9wZXJhdGluZyBpbnRlcmVzdCBpbmNvbWUiXSxlLmV4cG9ydHNbIk5vdGUgcmVjZWl2YWJsZSAtIGxvbmcgdGVybV9zdHVkeSJdPVsiTm90ZSByZWNlaXZhYmxlIC0gbG9uZyB0ZXJtIl0sZS5leHBvcnRzWyJOb3RlcyBwYXlhYmxlX3N0dWR5Il09WyJOb3RlcyBwYXlhYmxlIl0sZS5leHBvcnRzWyJOdW1iZXIgb2YgZW1wbG95ZWVzX3N0dWR5Il09WyJOdW1iZXIgb2YgZW1wbG95ZWVzIl0sZS5leHBvcnRzWyJOdW1iZXIgb2Ygc2hhcmVob2xkZXJzX3N0dWR5Il09WyJOdW1iZXIgb2Ygc2hhcmVob2xkZXJzIl0sZS5leHBvcnRzWyJPbiBCYWxhbmNlIFZvbHVtZV9zdHVkeSJdPVsiT24gQmFsYW5jZSBWb2x1bWUiXSxlLmV4cG9ydHNbIk9uIE5lY2sgLSBCZWFyaXNoX3N0dWR5Il09WyJPbiBOZWNrIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siT3BlbiBJbnRlcmVzdF9zdHVkeSJdPVsiT3BlbiBJbnRlcmVzdCJdLGUuZXhwb3J0c1siT3BlcmF0aW5nIGNhc2ggZmxvdyBwZXIgc2hhcmVfc3R1ZHkiXT1bIk9wZXJhdGluZyBjYXNoIGZsb3cgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJPcGVyYXRpbmcgZWFybmluZ3MgeWllbGQgJV9zdHVkeSJdPVsiT3BlcmF0aW5nIGVhcm5pbmdzIHlpZWxkICUiXSxlLmV4cG9ydHNbIk9wZXJhdGluZyBleHBlbnNlcyAoZXhjbC4gQ09HUylfc3R1ZHkiXT1bIk9wZXJhdGluZyBleHBlbnNlcyAoZXhjbC4gQ09HUykiXSxlLmV4cG9ydHNbIk9wZXJhdGluZyBpbmNvbWVfc3R1ZHkiXT1bIk9wZXJhdGluZyBpbmNvbWUiXSxlLmV4cG9ydHNbIk9wZXJhdGluZyBsZWFzZSBsaWFiaWxpdGllc19zdHVkeSJdPVsiT3BlcmF0aW5nIGxlYXNlIGxpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJPcGVyYXRpbmcgbWFyZ2luICVfc3R1ZHkiXT1bIk9wZXJhdGluZyBtYXJnaW4gJSJdLGUuZXhwb3J0c1siT3RoZXIgQ09HU19zdHVkeSJdPVsiT3RoZXIgQ09HUyJdLGUuZXhwb3J0c1siT3RoZXIgY29tbW9uIGVxdWl0eV9zdHVkeSJdPVsiT3RoZXIgY29tbW9uIGVxdWl0eSJdLGUuZXhwb3J0c1siT3RoZXIgY29zdCBvZiBnb29kcyBzb2xkX3N0dWR5Il09WyJPdGhlciBjb3N0IG9mIGdvb2RzIHNvbGQiXSxlLmV4cG9ydHNbIk90aGVyIGN1cnJlbnQgYXNzZXRzLCB0b3RhbF9zdHVkeSJdPVsiT3RoZXIgY3VycmVudCBhc3NldHMsIHRvdGFsIl0sZS5leHBvcnRzWyJPdGhlciBjdXJyZW50IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJPdGhlciBjdXJyZW50IGxpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJPdGhlciBleGNlcHRpb25hbCBjaGFyZ2VzX3N0dWR5Il09WyJPdGhlciBleGNlcHRpb25hbCBjaGFyZ2VzIl0sZS5leHBvcnRzWyJPdGhlciBmaW5hbmNpbmcgY2FzaCBmbG93IGl0ZW1zLCB0b3RhbF9zdHVkeSJdPVsiT3RoZXIgZmluYW5jaW5nIGNhc2ggZmxvdyBpdGVtcywgdG90YWwiXSxlLmV4cG9ydHNbIk90aGVyIGludGFuZ2libGVzLCBuZXRfc3R1ZHkiXT1bIk90aGVyIGludGFuZ2libGVzLCBuZXQiXSxlLmV4cG9ydHNbIk90aGVyIGludmVzdGluZyBjYXNoIGZsb3cgaXRlbXMsIHRvdGFsX3N0dWR5Il09WyJPdGhlciBpbnZlc3RpbmcgY2FzaCBmbG93IGl0ZW1zLCB0b3RhbCJdLGUuZXhwb3J0c1siT3RoZXIgaW52ZXN0bWVudHNfc3R1ZHkiXT1bIk90aGVyIGludmVzdG1lbnRzIl0sZS5leHBvcnRzWyJPdGhlciBsaWFiaWxpdGllcywgdG90YWxfc3R1ZHkiXT1bIk90aGVyIGxpYWJpbGl0aWVzLCB0b3RhbCJdLGUuZXhwb3J0c1siT3RoZXIgbG9uZyB0ZXJtIGFzc2V0cywgdG90YWxfc3R1ZHkiXT1bIk90aGVyIGxvbmcgdGVybSBhc3NldHMsIHRvdGFsIl0sCmUuZXhwb3J0c1siT3RoZXIgbm9uLWN1cnJlbnQgbGlhYmlsaXRpZXMsIHRvdGFsX3N0dWR5Il09WyJPdGhlciBub24tY3VycmVudCBsaWFiaWxpdGllcywgdG90YWwiXSxlLmV4cG9ydHNbIk90aGVyIG9wZXJhdGluZyBleHBlbnNlcywgdG90YWxfc3R1ZHkiXT1bIk90aGVyIG9wZXJhdGluZyBleHBlbnNlcywgdG90YWwiXSxlLmV4cG9ydHNbIk90aGVyIHJlY2VpdmFibGVzX3N0dWR5Il09WyJPdGhlciByZWNlaXZhYmxlcyJdLGUuZXhwb3J0c1siT3RoZXIgc2hvcnQgdGVybSBkZWJ0X3N0dWR5Il09WyJPdGhlciBzaG9ydCB0ZXJtIGRlYnQiXSxlLmV4cG9ydHNbIk91dFNpZGUgQmFyIFN0cmF0ZWd5X3N0dWR5Il09WyJPdXRTaWRlIEJhciBTdHJhdGVneSJdLGUuZXhwb3J0cy5PdmVybGF5X3N0dWR5PVsiT3ZlcmxheSJdLGUuZXhwb3J0c1siUEVHIHJhdGlvX3N0dWR5Il09WyJQRUcgcmF0aW8iXSxlLmV4cG9ydHNbIlBhaWQgaW4gY2FwaXRhbF9zdHVkeSJdPVsiUGFpZCBpbiBjYXBpdGFsIl0sZS5leHBvcnRzWyJQYXJhYm9saWMgU0FSIFN0cmF0ZWd5X3N0dWR5Il09WyJQYXJhYm9saWMgU0FSIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJQYXJhYm9saWMgU0FSX3N0dWR5Il09WyJQYXJhYm9saWMgU0FSIl0sZS5leHBvcnRzWyJQZXIgc2hhcmUgbWV0cmljc19zdHVkeSJdPVsiUGVyIHNoYXJlIG1ldHJpY3MiXSxlLmV4cG9ydHMuUGVyZm9ybWFuY2Vfc3R1ZHk9WyJQZXJmb3JtYW5jZSJdLGUuZXhwb3J0c1siUGVyaW9kaWMgVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIlBlcmlvZGljIFZvbHVtZSBQcm9maWxlIl0sZS5leHBvcnRzWyJQaWVyY2luZyAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlBpZXJjaW5nIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siUGlvdHJvc2tpIEYtc2NvcmVfc3R1ZHkiXT1bIlBpb3Ryb3NraSBGLXNjb3JlIl0sZS5leHBvcnRzWyJQaXZvdCBFeHRlbnNpb24gU3RyYXRlZ3lfc3R1ZHkiXT1bIlBpdm90IEV4dGVuc2lvbiBTdHJhdGVneSJdLGUuZXhwb3J0c1siUGl2b3QgUG9pbnRzIEhpZ2ggTG93X3N0dWR5Il09WyJQaXZvdCBQb2ludHMgSGlnaCBMb3ciXSxlLmV4cG9ydHNbIlBpdm90IFBvaW50cyBTdGFuZGFyZF9zdHVkeSJdPVsiUGl2b3QgUG9pbnRzIFN0YW5kYXJkIl0sZS5leHBvcnRzWyJQaXZvdCBSZXZlcnNhbCBTdHJhdGVneV9zdHVkeSJdPVsiUGl2b3QgUmV2ZXJzYWwgU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIlByZWZlcnJlZCBkaXZpZGVuZHMgcGFpZF9zdHVkeSJdPVsiUHJlZmVycmVkIGRpdmlkZW5kcyBwYWlkIl0sZS5leHBvcnRzWyJQcmVmZXJyZWQgZGl2aWRlbmRzX3N0dWR5Il09WyJQcmVmZXJyZWQgZGl2aWRlbmRzIl0sZS5leHBvcnRzWyJQcmVmZXJyZWQgc3RvY2ssIGNhcnJ5aW5nIHZhbHVlX3N0dWR5Il09WyJQcmVmZXJyZWQgc3RvY2ssIGNhcnJ5aW5nIHZhbHVlIl0sZS5leHBvcnRzWyJQcmVwYWlkIGV4cGVuc2VzX3N0dWR5Il09WyJQcmVwYWlkIGV4cGVuc2VzIl0sZS5leHBvcnRzWyJQcmV0YXggZXF1aXR5IGluIGVhcm5pbmdzX3N0dWR5Il09WyJQcmV0YXggZXF1aXR5IGluIGVhcm5pbmdzIl0sZS5leHBvcnRzWyJQcmV0YXggaW5jb21lX3N0dWR5Il09WyJQcmV0YXggaW5jb21lIl0sZS5leHBvcnRzWyJQcmljZSBDaGFubmVsIFN0cmF0ZWd5X3N0dWR5Il09WyJQcmljZSBDaGFubmVsIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJQcmljZSBDaGFubmVsX3N0dWR5Il09WyJQcmljZSBDaGFubmVsIl0sZS5leHBvcnRzWyJQcmljZSBPc2NpbGxhdG9yX3N0dWR5Il09WyJQcmljZSBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJQcmljZSBUYXJnZXRfc3R1ZHkiXT1bIlByaWNlIFRhcmdldCJdLGUuZXhwb3J0c1siUHJpY2UgVm9sdW1lIFRyZW5kX3N0dWR5Il09WyJQcmljZSBWb2x1bWUgVHJlbmQiXSxlLmV4cG9ydHNbIlByaWNlIGVhcm5pbmdzIHJhdGlvIGZvcndhcmRfc3R1ZHkiXT1bIlByaWNlIGVhcm5pbmdzIHJhdGlvIGZvcndhcmQiXSxlLmV4cG9ydHNbIlByaWNlIHNhbGVzIHJhdGlvIGZvcndhcmRfc3R1ZHkiXT1bIlByaWNlIHNhbGVzIHJhdGlvIGZvcndhcmQiXSxlLmV4cG9ydHNbIlByaWNlIHRvIGJvb2sgcmF0aW9fc3R1ZHkiXT1bIlByaWNlIHRvIGJvb2sgcmF0aW8iXSxlLmV4cG9ydHNbIlByaWNlIHRvIGNhc2ggZmxvdyByYXRpb19zdHVkeSJdPVsiUHJpY2UgdG8gY2FzaCBmbG93IHJhdGlvIl0sZS5leHBvcnRzWyJQcmljZSB0byBlYXJuaW5ncyByYXRpb19zdHVkeSJdPVsiUHJpY2UgdG8gZWFybmluZ3MgcmF0aW8iXSxlLmV4cG9ydHNbIlByaWNlIHRvIGZyZWUgY2FzaCBmbG93IHJhdGlvX3N0dWR5Il09WyJQcmljZSB0byBmcmVlIGNhc2ggZmxvdyByYXRpbyJdLGUuZXhwb3J0c1siUHJpY2UgdG8gc2FsZXMgcmF0aW9fc3R1ZHkiXT1bIlByaWNlIHRvIHNhbGVzIHJhdGlvIl0sZS5leHBvcnRzWyJQcmljZSB0byB0YW5naWJsZSBib29rIHJhdGlvX3N0dWR5Il09WyJQcmljZSB0byB0YW5naWJsZSBib29rIHJhdGlvIl0sZS5leHBvcnRzWyJQcm9maXRhYmlsaXR5IHJhdGlvc19zdHVkeSJdPVsiUHJvZml0YWJpbGl0eSByYXRpb3MiXSxlLmV4cG9ydHNbIlByb3Zpc2lvbiBmb3Igcmlza3MgJiBjaGFyZ2Vfc3R1ZHkiXT1bIlByb3Zpc2lvbiBmb3Igcmlza3MgJiBjaGFyZ2UiXSxlLmV4cG9ydHNbIlB1cmNoYXNlIG9mIGludmVzdG1lbnRzX3N0dWR5Il09WyJQdXJjaGFzZSBvZiBpbnZlc3RtZW50cyJdLGUuZXhwb3J0c1siUHVyY2hhc2UvYWNxdWlzaXRpb24gb2YgYnVzaW5lc3Nfc3R1ZHkiXT1bIlB1cmNoYXNlL2FjcXVpc2l0aW9uIG9mIGJ1c2luZXNzIl0sZS5leHBvcnRzWyJQdXJjaGFzZS9zYWxlIG9mIGJ1c2luZXNzLCBuZXRfc3R1ZHkiXT1bIlB1cmNoYXNlL3NhbGUgb2YgYnVzaW5lc3MsIG5ldCJdLGUuZXhwb3J0c1siUHVyY2hhc2Uvc2FsZSBvZiBpbnZlc3RtZW50cywgbmV0X3N0dWR5Il09WyJQdXJjaGFzZS9zYWxlIG9mIGludmVzdG1lbnRzLCBuZXQiXSxlLmV4cG9ydHNbIlF1YWxpdHkgcmF0aW9fc3R1ZHkiXT1bIlF1YWxpdHkgcmF0aW8iXSxlLmV4cG9ydHNbIlF1aWNrIHJhdGlvX3N0dWR5Il09WyJRdWljayByYXRpbyJdLAplLmV4cG9ydHNbIlJDSSBSaWJib25fc3R1ZHkiXT1bIlJDSSBSaWJib24iXSxlLmV4cG9ydHNbIlJTSSBEaXZlcmdlbmNlIEluZGljYXRvcl9zdHVkeSJdPVsiUlNJIERpdmVyZ2VuY2UgSW5kaWNhdG9yIl0sZS5leHBvcnRzWyJSU0kgU3RyYXRlZ3lfc3R1ZHkiXT1bIlJTSSBTdHJhdGVneSJdLGUuZXhwb3J0c1siUmFuayBDb3JyZWxhdGlvbiBJbmRleF9zdHVkeSJdPVsiUmFuayBDb3JyZWxhdGlvbiBJbmRleCJdLGUuZXhwb3J0c1siUmF0ZSBPZiBDaGFuZ2Vfc3R1ZHkiXT1bIlJhdGUgT2YgQ2hhbmdlIl0sZS5leHBvcnRzWyJSZWN0YW5nbGUgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiUmVjdGFuZ2xlIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIlJlZHVjdGlvbiBvZiBsb25nIHRlcm0gZGVidF9zdHVkeSJdPVsiUmVkdWN0aW9uIG9mIGxvbmcgdGVybSBkZWJ0Il0sZS5leHBvcnRzWyJSZWxhdGl2ZSBTdHJlbmd0aCBJbmRleF9zdHVkeSJdPVsiUmVsYXRpdmUgU3RyZW5ndGggSW5kZXgiXSxlLmV4cG9ydHNbIlJlbGF0aXZlIFZpZ29yIEluZGV4X3N0dWR5Il09WyJSZWxhdGl2ZSBWaWdvciBJbmRleCJdLGUuZXhwb3J0c1siUmVsYXRpdmUgVm9sYXRpbGl0eSBJbmRleF9zdHVkeSJdPVsiUmVsYXRpdmUgVm9sYXRpbGl0eSBJbmRleCJdLGUuZXhwb3J0c1siUmVsYXRpdmUgVm9sdW1lIGF0IFRpbWVfc3R1ZHkiXT1bIlJlbGF0aXZlIFZvbHVtZSBhdCBUaW1lIl0sZS5leHBvcnRzWyJSZXB1cmNoYXNlIG9mIGNvbW1vbiAmIHByZWZlcnJlZCBzdG9ja19zdHVkeSJdPVsiUmVwdXJjaGFzZSBvZiBjb21tb24gJiBwcmVmZXJyZWQgc3RvY2siXSxlLmV4cG9ydHNbIlJlc2VhcmNoICYgZGV2ZWxvcG1lbnQgdG8gcmV2ZW51ZSByYXRpb19zdHVkeSJdPVsiUmVzZWFyY2ggJiBkZXZlbG9wbWVudCB0byByZXZlbnVlIHJhdGlvIl0sZS5leHBvcnRzWyJSZXNlYXJjaCAmIGRldmVsb3BtZW50X3N0dWR5Il09WyJSZXNlYXJjaCAmIGRldmVsb3BtZW50Il0sZS5leHBvcnRzWyJSZXN0cnVjdHVyaW5nIGNoYXJnZV9zdHVkeSJdPVsiUmVzdHJ1Y3R1cmluZyBjaGFyZ2UiXSxlLmV4cG9ydHNbIlJldGFpbmVkIGVhcm5pbmdzX3N0dWR5Il09WyJSZXRhaW5lZCBlYXJuaW5ncyJdLGUuZXhwb3J0c1siUmV0dXJuIG9uIGFzc2V0cyAlX3N0dWR5Il09WyJSZXR1cm4gb24gYXNzZXRzICUiXSxlLmV4cG9ydHNbIlJldHVybiBvbiBlcXVpdHkgJV9zdHVkeSJdPVsiUmV0dXJuIG9uIGVxdWl0eSAlIl0sZS5leHBvcnRzWyJSZXR1cm4gb24gZXF1aXR5IGFkanVzdGVkIHRvIGJvb2sgdmFsdWUgJV9zdHVkeSJdPVsiUmV0dXJuIG9uIGVxdWl0eSBhZGp1c3RlZCB0byBib29rIHZhbHVlICUiXSxlLmV4cG9ydHNbIlJldHVybiBvbiBpbnZlc3RlZCBjYXBpdGFsICVfc3R1ZHkiXT1bIlJldHVybiBvbiBpbnZlc3RlZCBjYXBpdGFsICUiXSxlLmV4cG9ydHNbIlJldHVybiBvbiB0YW5naWJsZSBhc3NldHMgJV9zdHVkeSJdPVsiUmV0dXJuIG9uIHRhbmdpYmxlIGFzc2V0cyAlIl0sZS5leHBvcnRzWyJSZXR1cm4gb24gdGFuZ2libGUgZXF1aXR5ICVfc3R1ZHkiXT1bIlJldHVybiBvbiB0YW5naWJsZSBlcXVpdHkgJSJdLGUuZXhwb3J0c1siUmV2ZW51ZSBlc3RpbWF0ZXNfc3R1ZHkiXT1bIlJldmVudWUgZXN0aW1hdGVzIl0sZS5leHBvcnRzWyJSZXZlbnVlIG9uZSB5ZWFyIGdyb3d0aF9zdHVkeSJdPVsiUmV2ZW51ZSBvbmUgeWVhciBncm93dGgiXSxlLmV4cG9ydHNbIlJldmVudWUgcGVyIGVtcGxveWVlX3N0dWR5Il09WyJSZXZlbnVlIHBlciBlbXBsb3llZSJdLGUuZXhwb3J0c1siUmV2ZW51ZSBwZXIgc2hhcmVfc3R1ZHkiXT1bIlJldmVudWUgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJSaXNpbmcgVGhyZWUgTWV0aG9kcyAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlJpc2luZyBUaHJlZSBNZXRob2RzIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siUmlzaW5nIFdlZGdlIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIlJpc2luZyBXZWRnZSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJSaXNpbmcgV2luZG93IC0gQnVsbGlzaF9zdHVkeSJdPVsiUmlzaW5nIFdpbmRvdyAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBBRFggQnJlYWtvdXRfc3R1ZHkiXT1bIlJvYiBCb29rZXIgLSBBRFggQnJlYWtvdXQiXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBJbnRyYWRheSBQaXZvdCBQb2ludHNfc3R1ZHkiXT1bIlJvYiBCb29rZXIgLSBJbnRyYWRheSBQaXZvdCBQb2ludHMiXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBLbm94dmlsbGUgRGl2ZXJnZW5jZV9zdHVkeSJdPVsiUm9iIEJvb2tlciAtIEtub3h2aWxsZSBEaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJSb2IgQm9va2VyIC0gTWlzc2VkIFBpdm90IFBvaW50c19zdHVkeSJdPVsiUm9iIEJvb2tlciAtIE1pc3NlZCBQaXZvdCBQb2ludHMiXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBSZXZlcnNhbF9zdHVkeSJdPVsiUm9iIEJvb2tlciAtIFJldmVyc2FsIl0sZS5leHBvcnRzWyJSb2IgQm9va2VyIC0gWml2IEdob3N0IFBpdm90c19zdHVkeSJdPVsiUm9iIEJvb2tlciAtIFppdiBHaG9zdCBQaXZvdHMiXSxlLmV4cG9ydHNbIlNNSSBFcmdvZGljIEluZGljYXRvci9Pc2NpbGxhdG9yX3N0dWR5Il09WyJTTUkgRXJnb2RpYyBJbmRpY2F0b3IvT3NjaWxsYXRvciJdLGUuZXhwb3J0c1siU01JIEVyZ29kaWMgSW5kaWNhdG9yX3N0dWR5Il09WyJTTUkgRXJnb2RpYyBJbmRpY2F0b3IiXSxlLmV4cG9ydHNbIlNNSSBFcmdvZGljIE9zY2lsbGF0b3Jfc3R1ZHkiXT1bIlNNSSBFcmdvZGljIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIlNhbGUgb2YgY29tbW9uICYgcHJlZmVycmVkIHN0b2NrX3N0dWR5Il09WyJTYWxlIG9mIGNvbW1vbiAmIHByZWZlcnJlZCBzdG9jayJdLGUuZXhwb3J0c1siU2FsZSBvZiBmaXhlZCBhc3NldHMgJiBidXNpbmVzc2VzX3N0dWR5Il09WyJTYWxlIG9mIGZpeGVkIGFzc2V0cyAmIGJ1c2luZXNzZXMiXSxlLmV4cG9ydHNbIlNhbGUvbWF0dXJpdHkgb2YgaW52ZXN0bWVudHNfc3R1ZHkiXT1bIlNhbGUvbWF0dXJpdHkgb2YgaW52ZXN0bWVudHMiXSwKZS5leHBvcnRzLlNlYXNvbmFsaXR5X3N0dWR5PVsiU2Vhc29uYWxpdHkiXSxlLmV4cG9ydHNbIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgb3RoZXJfc3R1ZHkiXT1bIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgb3RoZXIiXSxlLmV4cG9ydHNbIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgdG90YWxfc3R1ZHkiXT1bIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgdG90YWwiXSxlLmV4cG9ydHNbIlNlc3Npb24gVGltZSBQcmljZSBPcHBvcnR1bml0eV9zdHVkeSJdPVsiU2Vzc2lvbiBUaW1lIFByaWNlIE9wcG9ydHVuaXR5Il0sZS5leHBvcnRzWyJTZXNzaW9uIFZvbHVtZSBIRF9zdHVkeSJdPVsiU2Vzc2lvbiBWb2x1bWUgSEQiXSxlLmV4cG9ydHNbIlNlc3Npb24gVm9sdW1lIFByb2ZpbGUgSERfc3R1ZHkiXT1bIlNlc3Npb24gVm9sdW1lIFByb2ZpbGUgSEQiXSxlLmV4cG9ydHNbIlNlc3Npb24gVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIlNlc3Npb24gVm9sdW1lIFByb2ZpbGUiXSxlLmV4cG9ydHNbIlNlc3Npb24gVm9sdW1lX3N0dWR5Il09WyJTZXNzaW9uIFZvbHVtZSJdLGUuZXhwb3J0c1siU2hhcmVob2xkZXJzJyBlcXVpdHlfc3R1ZHkiXT1bIlNoYXJlaG9sZGVycycgZXF1aXR5Il0sZS5leHBvcnRzWyJTaGFyZXMgYnV5YmFjayByYXRpbyAlX3N0dWR5Il09WyJTaGFyZXMgYnV5YmFjayByYXRpbyAlIl0sZS5leHBvcnRzWyJTaG9vdGluZyBTdGFyIC0gQmVhcmlzaF9zdHVkeSJdPVsiU2hvb3RpbmcgU3RhciAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIlNob3J0IHRlcm0gZGVidCBleGNsLiBjdXJyZW50IHBvcnRpb24gb2YgTFQgZGVidF9zdHVkeSJdPVsiU2hvcnQgdGVybSBkZWJ0IGV4Y2wuIGN1cnJlbnQgcG9ydGlvbiBvZiBMVCBkZWJ0Il0sZS5leHBvcnRzWyJTaG9ydCB0ZXJtIGRlYnRfc3R1ZHkiXT1bIlNob3J0IHRlcm0gZGVidCJdLGUuZXhwb3J0c1siU2hvcnQgdGVybSBpbnZlc3RtZW50c19zdHVkeSJdPVsiU2hvcnQgdGVybSBpbnZlc3RtZW50cyJdLGUuZXhwb3J0c1siU2xvYW4gcmF0aW8gJV9zdHVkeSJdPVsiU2xvYW4gcmF0aW8gJSJdLGUuZXhwb3J0c1siU21vb3RoZWQgTW92aW5nIEF2ZXJhZ2Vfc3R1ZHkiXT1bIlNtb290aGVkIE1vdmluZyBBdmVyYWdlIl0sZS5leHBvcnRzWyJTb2x2ZW5jeSByYXRpb3Nfc3R1ZHkiXT1bIlNvbHZlbmN5IHJhdGlvcyJdLGUuZXhwb3J0c1siU3Bpbm5pbmcgVG9wIEJsYWNrX3N0dWR5Il09WyJTcGlubmluZyBUb3AgQmxhY2siXSxlLmV4cG9ydHNbIlNwaW5uaW5nIFRvcCBXaGl0ZV9zdHVkeSJdPVsiU3Bpbm5pbmcgVG9wIFdoaXRlIl0sZS5leHBvcnRzWyJTcHJpbmdhdGUgc2NvcmVfc3R1ZHkiXT1bIlNwcmluZ2F0ZSBzY29yZSJdLGUuZXhwb3J0c1siU3RhbmRhcmQgRGV2aWF0aW9uX3N0dWR5Il09WyJTdGFuZGFyZCBEZXZpYXRpb24iXSxlLmV4cG9ydHNbIlN0YW5kYXJkIEVycm9yIEJhbmRzX3N0dWR5Il09WyJTdGFuZGFyZCBFcnJvciBCYW5kcyJdLGUuZXhwb3J0c1siU3RhbmRhcmQgRXJyb3Jfc3R1ZHkiXT1bIlN0YW5kYXJkIEVycm9yIl0sZS5leHBvcnRzLlN0b2NoX3N0dWR5PVsiU3RvY2giXSxlLmV4cG9ydHNbIlN0b2NoYXN0aWMgTW9tZW50dW0gSW5kZXhfc3R1ZHkiXT1bIlN0b2NoYXN0aWMgTW9tZW50dW0gSW5kZXgiXSxlLmV4cG9ydHNbIlN0b2NoYXN0aWMgUlNJX3N0dWR5Il09WyJTdG9jaGFzdGljIFJTSSJdLGUuZXhwb3J0c1siU3RvY2hhc3RpYyBTbG93IFN0cmF0ZWd5X3N0dWR5Il09WyJTdG9jaGFzdGljIFNsb3cgU3RyYXRlZ3kiXSxlLmV4cG9ydHMuU3RvY2hhc3RpY19zdHVkeT1bIlN0b2NoYXN0aWMiXSxlLmV4cG9ydHMuU3VwZXJUcmVuZF9zdHVkeT1bIlN1cGVyVHJlbmQiXSxlLmV4cG9ydHNbIlN1cGVydHJlbmQgU3RyYXRlZ3lfc3R1ZHkiXT1bIlN1cGVydHJlbmQgU3RyYXRlZ3kiXSxlLmV4cG9ydHMuU3VwZXJ0cmVuZF9zdHVkeT1bIlN1cGVydHJlbmQiXSxlLmV4cG9ydHNbIlN1c3RhaW5hYmxlIGdyb3d0aCByYXRlX3N0dWR5Il09WyJTdXN0YWluYWJsZSBncm93dGggcmF0ZSJdLGUuZXhwb3J0cy5UUklYX3N0dWR5PVsiVFJJWCJdLGUuZXhwb3J0c1siVGFuZ2libGUgYm9vayB2YWx1ZSBwZXIgc2hhcmVfc3R1ZHkiXT1bIlRhbmdpYmxlIGJvb2sgdmFsdWUgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJUYW5naWJsZSBjb21tb24gZXF1aXR5IHJhdGlvX3N0dWR5Il09WyJUYW5naWJsZSBjb21tb24gZXF1aXR5IHJhdGlvIl0sZS5leHBvcnRzLlRheGVzX3N0dWR5PVsiVGF4ZXMiXSxlLmV4cG9ydHNbIlRlY2huaWNhbCBSYXRpbmdzIFN0cmF0ZWd5X3N0dWR5Il09WyJUZWNobmljYWwgUmF0aW5ncyBTdHJhdGVneSJdLGUuZXhwb3J0c1siVGVjaG5pY2FsIFJhdGluZ3Nfc3R1ZHkiXT1bIlRlY2huaWNhbCBSYXRpbmdzIl0sZS5leHBvcnRzWyJUaHJlZSBCbGFjayBDcm93cyAtIEJlYXJpc2hfc3R1ZHkiXT1bIlRocmVlIEJsYWNrIENyb3dzIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siVGhyZWUgV2hpdGUgU29sZGllcnMgLSBCdWxsaXNoX3N0dWR5Il09WyJUaHJlZSBXaGl0ZSBTb2xkaWVycyAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIlRpbWUgUHJpY2UgT3Bwb3J0dW5pdHlfc3R1ZHkiXT1bIlRpbWUgUHJpY2UgT3Bwb3J0dW5pdHkiXSxlLmV4cG9ydHNbIlRpbWUgV2VpZ2h0ZWQgQXZlcmFnZSBQcmljZV9zdHVkeSJdPVsiVGltZSBXZWlnaHRlZCBBdmVyYWdlIFByaWNlIl0sZS5leHBvcnRzWyJUb2JpbidzIFEgKGFwcHJveGltYXRlKV9zdHVkeSJdPVsiVG9iaW4ncyBRIChhcHByb3hpbWF0ZSkiXSxlLmV4cG9ydHNbIlRvdGFsIGFzc2V0c19zdHVkeSJdPVsiVG90YWwgYXNzZXRzIl0sZS5leHBvcnRzWyJUb3RhbCBjYXNoIGRpdmlkZW5kcyBwYWlkX3N0dWR5Il09WyJUb3RhbCBjYXNoIGRpdmlkZW5kcyBwYWlkIl0sZS5leHBvcnRzWyJUb3RhbCBjb21tb24gc2hhcmVzIG91dHN0YW5kaW5nX3N0dWR5Il09WyJUb3RhbCBjb21tb24gc2hhcmVzIG91dHN0YW5kaW5nIl0sCmUuZXhwb3J0c1siVG90YWwgY3VycmVudCBhc3NldHNfc3R1ZHkiXT1bIlRvdGFsIGN1cnJlbnQgYXNzZXRzIl0sZS5leHBvcnRzWyJUb3RhbCBjdXJyZW50IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJUb3RhbCBjdXJyZW50IGxpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJUb3RhbCBkZWJ0IHBlciBzaGFyZV9zdHVkeSJdPVsiVG90YWwgZGVidCBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIlRvdGFsIGRlYnRfc3R1ZHkiXT1bIlRvdGFsIGRlYnQiXSxlLmV4cG9ydHNbIlRvdGFsIGVxdWl0eV9zdHVkeSJdPVsiVG90YWwgZXF1aXR5Il0sZS5leHBvcnRzWyJUb3RhbCBpbnZlbnRvcnlfc3R1ZHkiXT1bIlRvdGFsIGludmVudG9yeSJdLGUuZXhwb3J0c1siVG90YWwgbGlhYmlsaXRpZXMgJiBzaGFyZWhvbGRlcnMnIGVxdWl0aWVzX3N0dWR5Il09WyJUb3RhbCBsaWFiaWxpdGllcyAmIHNoYXJlaG9sZGVycycgZXF1aXRpZXMiXSxlLmV4cG9ydHNbIlRvdGFsIGxpYWJpbGl0aWVzX3N0dWR5Il09WyJUb3RhbCBsaWFiaWxpdGllcyJdLGUuZXhwb3J0c1siVG90YWwgbm9uLWN1cnJlbnQgYXNzZXRzX3N0dWR5Il09WyJUb3RhbCBub24tY3VycmVudCBhc3NldHMiXSxlLmV4cG9ydHNbIlRvdGFsIG5vbi1jdXJyZW50IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJUb3RhbCBub24tY3VycmVudCBsaWFiaWxpdGllcyJdLGUuZXhwb3J0c1siVG90YWwgb3BlcmF0aW5nIGV4cGVuc2VzX3N0dWR5Il09WyJUb3RhbCBvcGVyYXRpbmcgZXhwZW5zZXMiXSxlLmV4cG9ydHNbIlRvdGFsIHJlY2VpdmFibGVzLCBuZXRfc3R1ZHkiXT1bIlRvdGFsIHJlY2VpdmFibGVzLCBuZXQiXSxlLmV4cG9ydHNbIlRvdGFsIHJldmVudWVfc3R1ZHkiXT1bIlRvdGFsIHJldmVudWUiXSxlLmV4cG9ydHNbIlRyYWRpbmcgU2Vzc2lvbnNfc3R1ZHkiXT1bIlRyYWRpbmcgU2Vzc2lvbnMiXSxlLmV4cG9ydHNbIlRyZWFzdXJ5IHN0b2NrIC0gY29tbW9uX3N0dWR5Il09WyJUcmVhc3VyeSBzdG9jayAtIGNvbW1vbiJdLGUuZXhwb3J0c1siVHJlbmQgU3RyZW5ndGggSW5kZXhfc3R1ZHkiXT1bIlRyZW5kIFN0cmVuZ3RoIEluZGV4Il0sZS5leHBvcnRzWyJUcmktU3RhciAtIEJlYXJpc2hfc3R1ZHkiXT1bIlRyaS1TdGFyIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siVHJpLVN0YXIgLSBCdWxsaXNoX3N0dWR5Il09WyJUcmktU3RhciAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIlRyaWFuZ2xlIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIlRyaWFuZ2xlIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIlRyaXBsZSBCb3R0b20gQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiVHJpcGxlIEJvdHRvbSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJUcmlwbGUgRU1BX3N0dWR5Il09WyJUcmlwbGUgRU1BIl0sZS5leHBvcnRzWyJUcmlwbGUgVG9wIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIlRyaXBsZSBUb3AgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siVHJ1ZSBTdHJlbmd0aCBJbmRleF9zdHVkeSJdPVsiVHJ1ZSBTdHJlbmd0aCBJbmRleCJdLGUuZXhwb3J0c1siVHJ1ZSBTdHJlbmd0aCBJbmRpY2F0b3Jfc3R1ZHkiXT1bIlRydWUgU3RyZW5ndGggSW5kaWNhdG9yIl0sZS5leHBvcnRzWyJUd2VlemVyIEJvdHRvbSAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlR3ZWV6ZXIgQm90dG9tIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siVHdlZXplciBUb3AgLSBCZWFyaXNoX3N0dWR5Il09WyJUd2VlemVyIFRvcCAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIlR5cGljYWwgUHJpY2Vfc3R1ZHkiXT1bIlR5cGljYWwgUHJpY2UiXSxlLmV4cG9ydHNbIlVsdGltYXRlIE9zY2lsbGF0b3Jfc3R1ZHkiXT1bIlVsdGltYXRlIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIlVucmVhbGl6ZWQgZ2Fpbi9sb3NzX3N0dWR5Il09WyJVbnJlYWxpemVkIGdhaW4vbG9zcyJdLGUuZXhwb3J0c1siVW51c3VhbCBpbmNvbWUvZXhwZW5zZV9zdHVkeSJdPVsiVW51c3VhbCBpbmNvbWUvZXhwZW5zZSJdLGUuZXhwb3J0c1siVXAvRG93biBWb2x1bWVfc3R1ZHkiXT1bIlVwL0Rvd24gVm9sdW1lIl0sZS5leHBvcnRzWyJVcHNpZGUgVGFzdWtpIEdhcCAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlVwc2lkZSBUYXN1a2kgR2FwIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siVldBUCBBdXRvIEFuY2hvcmVkX3N0dWR5Il09WyJWV0FQIEF1dG8gQW5jaG9yZWQiXSxlLmV4cG9ydHMuVldBUF9zdHVkeT1bIlZXQVAiXSxlLmV4cG9ydHMuVldNQV9zdHVkeT1bIlZXTUEiXSxlLmV4cG9ydHNbIlZhbHVhdGlvbiByYXRpb3Nfc3R1ZHkiXT1bIlZhbHVhdGlvbiByYXRpb3MiXSxlLmV4cG9ydHNbIlZpc2libGUgQXZlcmFnZSBQcmljZV9zdHVkeSJdPVsiVmlzaWJsZSBBdmVyYWdlIFByaWNlIl0sZS5leHBvcnRzWyJWaXNpYmxlIFJhbmdlIFZvbHVtZSBQcm9maWxlX3N0dWR5Il09WyJWaXNpYmxlIFJhbmdlIFZvbHVtZSBQcm9maWxlIl0sZS5leHBvcnRzWyJWaXNpYmxlIFJhbmdlX3N0dWR5Il09WyJWaXNpYmxlIFJhbmdlIl0sZS5leHBvcnRzLlZvbF9zdHVkeT1bIlZvbCJdLGUuZXhwb3J0c1siVm9sYXRpbGl0eSBDbG9zZS10by1DbG9zZV9zdHVkeSJdPVsiVm9sYXRpbGl0eSBDbG9zZS10by1DbG9zZSJdLGUuZXhwb3J0c1siVm9sYXRpbGl0eSBJbmRleF9zdHVkeSJdPVsiVm9sYXRpbGl0eSBJbmRleCJdLGUuZXhwb3J0c1siVm9sYXRpbGl0eSBPLUgtTC1DX3N0dWR5Il09WyJWb2xhdGlsaXR5IE8tSC1MLUMiXSxlLmV4cG9ydHNbIlZvbGF0aWxpdHkgU3RvcF9zdHVkeSJdPVsiVm9sYXRpbGl0eSBTdG9wIl0sZS5leHBvcnRzWyJWb2xhdGlsaXR5IFplcm8gVHJlbmQgQ2xvc2UtdG8tQ2xvc2Vfc3R1ZHkiXT1bIlZvbGF0aWxpdHkgWmVybyBUcmVuZCBDbG9zZS10by1DbG9zZSJdLGUuZXhwb3J0c1siVm9sdHkgRXhwYW4gQ2xvc2UgU3RyYXRlZ3lfc3R1ZHkiXT1bIlZvbHR5IEV4cGFuIENsb3NlIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJWb2x1bWUgRGVsdGFfc3R1ZHkiXT1bIlZvbHVtZSBEZWx0YSJdLGUuZXhwb3J0c1siVm9sdW1lIE9zY2lsbGF0b3Jfc3R1ZHkiXT1bIlZvbHVtZSBPc2NpbGxhdG9yIl0sCmUuZXhwb3J0c1siVm9sdW1lIFdlaWdodGVkIEF2ZXJhZ2UgUHJpY2Vfc3R1ZHkiXT1bIlZvbHVtZSBXZWlnaHRlZCBBdmVyYWdlIFByaWNlIl0sZS5leHBvcnRzWyJWb2x1bWUgV2VpZ2h0ZWQgTW92aW5nIEF2ZXJhZ2Vfc3R1ZHkiXT1bIlZvbHVtZSBXZWlnaHRlZCBNb3ZpbmcgQXZlcmFnZSJdLGUuZXhwb3J0cy5Wb2x1bWVfc3R1ZHk9WyJWb2x1bWUiXSxlLmV4cG9ydHNbIlZvcnRleCBJbmRpY2F0b3Jfc3R1ZHkiXT1bIlZvcnRleCBJbmRpY2F0b3IiXSxlLmV4cG9ydHNbIldpbGxpYW1zICVSX3N0dWR5Il09WyJXaWxsaWFtcyAlUiJdLGUuZXhwb3J0c1siV2lsbGlhbXMgQWxsaWdhdG9yX3N0dWR5Il09WyJXaWxsaWFtcyBBbGxpZ2F0b3IiXSxlLmV4cG9ydHNbIldpbGxpYW1zIEZyYWN0YWxfc3R1ZHkiXT1bIldpbGxpYW1zIEZyYWN0YWwiXSxlLmV4cG9ydHNbIldpbGxpYW1zIEZyYWN0YWxzX3N0dWR5Il09WyJXaWxsaWFtcyBGcmFjdGFscyJdLGUuZXhwb3J0c1siV2lsbGlhbXMgUGVyY2VudCBSYW5nZV9zdHVkeSJdPVsiV2lsbGlhbXMgUGVyY2VudCBSYW5nZSJdLGUuZXhwb3J0c1siV29vZGllcyBDQ0lfc3R1ZHkiXT1bIldvb2RpZXMgQ0NJIl0sZS5leHBvcnRzWyJXb3JraW5nIGNhcGl0YWwgcGVyIHNoYXJlX3N0dWR5Il09WyJXb3JraW5nIGNhcGl0YWwgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJaaWcgWmFnX3N0dWR5Il09WyJaaWcgWmFnIl0sZS5leHBvcnRzWyJabWlqZXdza2kgc2NvcmVfc3R1ZHkiXT1bIlptaWpld3NraSBzY29yZSJdfSw1OTYxNjgoZSl7ZS5leHBvcnRzPVsiVm9sIl19LDMxOTA2MChlKXtlLmV4cG9ydHM9WyJhbmNob3JlZCB2b2x1bWUgcHJvZmlsZSJdfSwzMTM2MjUoZSl7ZS5leHBvcnRzPVsiZml4ZWQgcmFuZ2Ugdm9sdW1lIHByb2ZpbGUiXX0sMzg0NTk3KGUpe2UuZXhwb3J0cz1bIkNGRCJdfSw2NTUyMzUoZSl7ZS5leHBvcnRzPVsiQ3J5cHRvIl19LDM1MDE0NihlKXtlLmV4cG9ydHM9WyJBbGwiXX0sNzY1NDQwKGUpe2UuZXhwb3J0cz1bIkJvbmRzIl19LDU0ODMyMihlKXtlLmV4cG9ydHM9WyJFY29ub215Il19LDk3OTk3KGUpe2UuZXhwb3J0cz1bIkZvcmV4Il19LDUwNTA3OShlKXtlLmV4cG9ydHM9WyJGdXR1cmVzIl19LDU2NDkxNyhlKXtlLmV4cG9ydHM9WyJGdW5kcyJdfSw5Mjc0MTEoZSl7ZS5leHBvcnRzPVsiSW5kaWNlcyJdfSw3OTYwMChlKXtlLmV4cG9ydHM9WyJPcHRpb25zIl19LDU1NTUxMChlKXtlLmV4cG9ydHM9WyJTdG9ja3MiXX0sODMzNzQ2KGUpe2UuZXhwb3J0cz1bIkNoYW5nZSBzY2FsZSBtZXRyaWMiXX0sNzg5MDQ5KGUpe2UuZXhwb3J0cz1bIkNoYW5nZSBzY2FsZSBjdXJyZW5jeSJdfSw0MDUwMTMoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIHNjYWxlIHVuaXQiXX0sMjE3MTYxKGUpe2UuZXhwb3J0cz1bIk1peGVkIl19LDE5MTQ1NShlKXtlLmV4cG9ydHM9WyJTY2FsZSBjdXJyZW5jeSJdfSw5OTQ4NDUoZSl7ZS5leHBvcnRzPVsiU2NhbGUgbWV0cmljIl19LDU1Njc2NShlKXtlLmV4cG9ydHM9WyJTY2FsZSB1bml0Il19LDU4NzMwNihlKXtlLmV4cG9ydHM9WyIoTyArIEggKyBMICsgQykvNCJdfSw2OTExNzQoZSl7ZS5leHBvcnRzPVsiKEggKyBMICsgQyArIEMpLzQiXX0sNjU2ODkyKGUpe2UuZXhwb3J0cz1bIihIICsgTCArIEMpLzMiXX0sOTIyNjUyKGUpe2UuZXhwb3J0cz1bIihIICsgTCkvMiJdfSw5MjI5ODMoZSl7ZS5leHBvcnRzPVsiQ2xvc2UiXX0sOTUwMzM2KGUpe2UuZXhwb3J0cz1bIkhpZ2giXX0sNTA5MzgoZSl7ZS5leHBvcnRzPVsiT3BlbiJdfSw3NjUzNyhlKXtlLmV4cG9ydHM9WyJMb3ciXX0sNDAxOTI2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwb2ludCJdfSw0MzIxMjQoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIG1ldHJpYyJdfSwxODk2MDMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGN1cnJlbmN5Il19LDg1NzIyMyhlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgbGlua2luZyBncm91cCJdfSw5NTQ4OTEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHVuaXQiXX0sMzU4KGUpe2UuZXhwb3J0cz1bImNsb25lIGxpbmUgdG9vbHMiXX0sNzQ5MDE2KGUpe2UuZXhwb3J0cz1bImNyZWF0ZSB7dG9vbH0iXX0sOTM5NzE3KGUpe2UuZXhwb3J0cz1bImN1dCBzb3VyY2VzIl19LDQxMTgxOChlKXtlLmV4cG9ydHM9WyJjdXQge3RpdGxlfSJdfSwyMzEyNjMoZSl7ZS5leHBvcnRzPVsiYWxpZ24gdG8gNDUgZGVncmVlcyJdfSw2MTgzODYoZSl7ZS5leHBvcnRzPVsiYXBwbHkgZHJhd2luZyB0ZW1wbGF0ZSJdfSwzNjU4NzQoZSl7ZS5leHBvcnRzPVsiYXBwbHkgZmFjdG9yeSBkZWZhdWx0cyB0byBzZWxlY3RlZCBzb3VyY2VzIl19LDM4NTUwNChlKXtlLmV4cG9ydHM9WyJicmluZyB7dGl0bGV9IGZvcndhcmQiXX0sNzc5NTE3KGUpe2UuZXhwb3J0cz1bImludmVydCBzY2FsZSJdfSw5NjU1MzkoZSl7ZS5leHBvcnRzPVsiaW5zZXJ0IHt0aXRsZX0iXX0sNjE3MDQwKGUpe2UuZXhwb3J0cz1bImluc2VydCB7dGl0bGV9IGFmdGVyIHt0YXJnZXR9Il19LDc0MDYxMyhlKXtlLmV4cG9ydHM9WyJpbnNlcnQge3RpdGxlfSBiZWZvcmUge3RhcmdldH0iXX0sOTQ2OTI5KGUpe2UuZXhwb3J0cz1bImxvYWQgZGVmYXVsdCBkcmF3aW5nIHRlbXBsYXRlIl19LDE1OTE0KGUpe2UuZXhwb3J0cz1bIm1vdmUge3RpdGxlfSB0byBuZXcgbGVmdCBzY2FsZSJdfSw5Njc5MzUoZSl7ZS5leHBvcnRzPVsibW92ZSB7dGl0bGV9IHRvIG5ldyByaWdodCBzY2FsZSJdfSw5NzAxMDUoZSl7ZS5leHBvcnRzPVsibW92ZSBkcmF3aW5nKHMpIl19LDI5NTIwNChlKXtlLmV4cG9ydHM9WyJtb3ZlIGxlZnQiXX0sNTI1NjQzKGUpe2UuZXhwb3J0cz1bIm1vdmUgcmlnaHQiXX0sNzc3NTc3KGUpe2UuZXhwb3J0cz1bIm1vdmUgc2NhbGUiXX0sNTAwODQzKGUpe2UuZXhwb3J0cz1bIm1ha2Uge3RpdGxlfSBubyBzY2FsZSAoRnVsbCBzY3JlZW4pIl19LDcyMTcwOShlKXtlLmV4cG9ydHM9WyJtZXJnZSBkb3duIl19LDk3NjgxNShlKXtlLmV4cG9ydHM9WyJtZXJnZSB0byBwYW5lIl19LDU1NTkxOChlKXtlLmV4cG9ydHM9WyJtZXJnZSB1cCJdfSw1NDc0NDUoZSl7CmUuZXhwb3J0cz1bInNldCBwcmljZSBzY2FsZSBzZWxlY3Rpb24gc3RyYXRlZ3kgdG8ge3RpdGxlfSJdfSw4MjgwOTIoZSl7ZS5leHBvcnRzPVsic2VuZCB7dGl0bGV9IGJhY2t3YXJkIl19LDEwMjE5NyhlKXtlLmV4cG9ydHM9WyJzaGFyZSBsaW5lIHRvb2xzIGdsb2JhbGx5Il19LDM1NTQwNyhlKXtlLmV4cG9ydHM9WyJzaGFyZSBsaW5lIHRvb2xzIGluIGxheW91dCJdfSw2OTM2NDkoZSl7ZS5leHBvcnRzPVsic3RvcCBzeW5jaW5nIGxpbmUgdG9vbChzKSJdfSw3MDg5MDgoZSl7ZS5leHBvcnRzPVsicGFzdGUge3RpdGxlfSJdfSw5MzE3MTkoZSl7ZS5leHBvcnRzPVsicmVtb3ZlIGFsbCBpbmRpY2F0b3JzIl19LDI1NjkoZSl7ZS5leHBvcnRzPVsicmVtb3ZlIGFsbCBpbmRpY2F0b3JzIGFuZCBkcmF3aW5nIHRvb2xzIl19LDkyNTk2MyhlKXtlLmV4cG9ydHM9WyJyZW1vdmUgZHJhd2luZ3MiXX0sMTIyNjA2KGUpe2UuZXhwb3J0cz1bInJlbW92ZSBkcmF3aW5ncyBncm91cCJdfSw4MjgyNTMoZSl7ZS5leHBvcnRzPVsicmVtb3ZlIHBhbmUiXX0sNDQ1NTM5KGUpe2UuZXhwb3J0cz1bInJlbW92ZSB7dGl0bGV9Il19LDYyOTU0MihlKXtlLmV4cG9ydHM9WyJyZXNldCBzY2FsZXMiXX0sMzg4ODg3KGUpe2UuZXhwb3J0cz1bInRvZ2dsZSBhdXRvIHNjYWxlIl19LDg3MTkxMChlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgaW5kZXhlZCB0byAxMDAgc2NhbGUiXX0sNjAyNDk3KGUpe2UuZXhwb3J0cz1bInRvZ2dsZSBsb2NrIHNjYWxlIl19LDQ4Mzk5NShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgbG9nIHNjYWxlIl19LDMyOTg0MShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgcGVyY2VudGFnZSBzY2FsZSJdfSwxNzQ2NDAoZSl7ZS5leHBvcnRzPVsidG9nZ2xlIHJlZ3VsYXIgc2NhbGUiXX0sNjkyMjAxKGUpe2UuZXhwb3J0cz1bInR1cm4gbGluZSB0b29scyBzaGFyaW5nIG9mZiJdfSw2OTQyMihlKXtlLmV4cG9ydHM9WyJ1bm1lcmdlIHRvIG5ldyBib3R0b20gcGFuZSJdfSw5NTE4NDcoZSl7ZS5leHBvcnRzPVsidW5tZXJnZSB1cCJdfSwyMjk0MTcoZSl7ZS5leHBvcnRzPVsidW5tZXJnZSBkb3duIl19LDU3MDYyKGUpe2UuZXhwb3J0cz1bIk4vQSJdfSw4NTYyNihlKXtlLmV4cG9ydHM9WyIgR1BXIOKAlCBOZXdDb25uZWN0Il19LDExMTk3NihlKXtlLmV4cG9ydHM9WyIxIHllYXIiXX0sMzI4MDMwKGUpe2UuZXhwb3J0cz1bIjMgbW9udGhzIl19LDM5MDgxNChlKXtlLmV4cG9ydHM9WyI3OTYiXX0sNDk3MTEwKGUpe2UuZXhwb3J0cz1bIkNNQyBNYXJrZXRzIl19LDM3MTY2NShlKXtlLmV4cG9ydHM9WyJDTUUgR0xPQkVYIOKAlCBDaGljYWdvIE1lcmNhbnRpbGUgRXhjaGFuZ2UgR2xvYmV4Il19LDI5Mzk4NihlKXtlLmV4cG9ydHM9WyJDT01FWCDigJQgQ29tbW9kaXR5IEV4Y2hhbmdlIl19LDM4ODg1NihlKXtlLmV4cG9ydHM9WyJDQk9FIEVVIOKAlCBFdXJvcGVhbiBVbmlvbiBJbmRpY2VzIl19LDk5OTg3NyhlKXtlLmV4cG9ydHM9WyJDQk9FIOKAlCBDaGljYWdvIEJvYXJkIE9wdGlvbnMgRXhjaGFuZ2UiXX0sNTAyNzIxKGUpe2UuZXhwb3J0cz1bIkNCT1Qg4oCUIENoaWNhZ28gQm9hcmQgb2YgVHJhZGUiXX0sMzcwNjU4KGUpe2UuZXhwb3J0cz1bIkNGRkVYIOKAlCBDaGluYSBGaW5hbmNpYWwgRnV0dXJlcyBFeGNoYW5nZSJdfSw1MTU3MzgoZSl7ZS5leHBvcnRzPVsiQ0ZJIl19LDI5MzkzMyhlKXtlLmV4cG9ydHM9WyJDU0Ug4oCUIENhbmFkaWFuIFNlY3VyaXRpZXMgRXhjaGFuZ2UiXX0sMzM5MDk3KGUpe2UuZXhwb3J0cz1bIkNTRSDigJQgQ2FzYWJsYW5jYSBTdG9jayBFeGNoYW5nZSJdfSw1MzU2ODQoZSl7ZS5leHBvcnRzPVsiQ1NFIOKAlCBDb2xvbWJvIFN0b2NrIEV4Y2hhbmdlIl19LDk0Mzg4MyhlKXtlLmV4cG9ydHM9WyJDU0Ug4oCUIEN5cHJ1cyBTdG9jayBFeGNoYW5nZSJdfSw5NDIzMTcoZSl7ZS5leHBvcnRzPVsiQ1NFIOKAlCBOYXNkYXEgQ29wZW5oYWdlbiJdfSw0NTQ5NyhlKXtlLmV4cG9ydHM9WyJDWE0iXX0sOTg3NChlKXtlLmV4cG9ydHM9WyJDb3VsZG4ndCBjb3B5Il19LDI3MTY2MShlKXtlLmV4cG9ydHM9WyJDb3VudGRvd24gdG8gYmFyIGNsb3NlIl19LDc0MTA3KGUpe2UuZXhwb3J0cz1bIkNvZWZmcyBhcyBwZXJjZW50cyJdfSw5OTUwOTcoZSl7ZS5leHBvcnRzPVsiQ29pbiBNZXRyaWNzIl19LDQ1ODc4MyhlKXtlLmV4cG9ydHM9WyJDb2luRGVzayBJbmRpY2VzIl19LDg2OTE1MihlKXtlLmV4cG9ydHM9WyJDb2luRXgiXX0sNzAzNzQ4KGUpe2UuZXhwb3J0cz1bIkNvaW5KYXIiXX0sMzM4ODI5KGUpe2UuZXhwb3J0cz1bIkNvaW5Td2l0Y2giXX0sNzkzMDk2KGUpe2UuZXhwb3J0cz1bIkNvaW5XIl19LDE5NTg4NihlKXtlLmV4cG9ydHM9WyJDb2luYmFzZSJdfSwxMzU4NjcoZSl7ZS5leHBvcnRzPVsiQ29sb21iaWEiXX0sMjA1MDkxKGUpe2UuZXhwb3J0cz1bIkNvbG9tYm8iXX0sOTIyNDQoZSl7ZS5leHBvcnRzPVsiQ29tcGFyZSBvciBBZGQgU3ltYm9sIl19LDY5Nzg4MShlKXtlLmV4cG9ydHM9WyJDb21waWxhdGlvbiBlcnJvciJdfSwyMzI5MTkoZSl7ZS5leHBvcnRzPVsiQ29uZmlybSB0byByZW1vdmUgbG9ja2VkIGRyYXdpbmdzIl19LDc0NzI1OShlKXtlLmV4cG9ydHM9WyJDb25maXJtIElucHV0cyJdfSwxOTQxOTQoZSl7ZS5leHBvcnRzPVsiQ29ubmVjdGluZyJdfSw4OTkxOShlKXtlLmV4cG9ydHM9WyJDb250cmFjdCBleHBpcmVkIl19LDIxODgxNyhlKXtlLmV4cG9ydHM9WyJDb29yZGluYXRlcyJdfSwzNjY5NTIoZSl7ZS5leHBvcnRzPVsiQ29wZW5oYWdlbiJdfSwzNTE4NDIoZSl7ZS5leHBvcnRzPVsiQ2Fpcm8iXX0sODg0MTYzKGUpe2UuZXhwb3J0cz1bIkNhbWVsb3QgdjIgKEFyYml0cnVtKSJdfSw2Nzc2ODMoZSl7ZS5leHBvcnRzPVsiQ2FtZWxvdCB2MyAoQXJiaXRydW0pIl19LDYzMzkwNyhlKXtlLmV4cG9ydHM9WyJDYW4ndCBhcHBseSB0aGlzIGluZGljYXRvciJdfSwzNTU4MzYoZSl7ZS5leHBvcnRzPVsiQ2FuJ3QgZmluZCB0aGlzIHNjcmlwdCJdfSw3NDM1NjMoZSl7ZS5leHBvcnRzPVsiQ2FuY2VsIl19LDE1MTg5KGUpe2UuZXhwb3J0cz1bIkNhbmFkYSJdfSw4MDc3NihlKXtlLmV4cG9ydHM9WyJDYXBpdGFsLmNvbSJdfSwKNTcyNDI3KGUpe2UuZXhwb3J0cz1bIkNhcmFjYXMiXX0sMjUyNDIyKGUpe2UuZXhwb3J0cz1bIkNhc2FibGFuY2EiXX0sNzI4ODQ3KGUpe2UuZXhwb3J0cz1bIkNib2UgQXVzdHJhbGlhIl19LDk0NTAxOChlKXtlLmV4cG9ydHM9WyJDYm9lIENhbmFkYSJdfSw3NjQxNDUoZSl7ZS5leHBvcnRzPVsiQ2V0dXMgKFN1aSkiXX0sMTkzMjgzKGUpe2UuZXhwb3J0cz1bIkNlbnRlciJdfSw2NzM0ODcoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIl19LDY5Mjc2NyhlKXtlLmV4cG9ydHM9WyJDaGFuZ2UgU3ltYm9sIl19LDU5Nzc3MChlKXtlLmV4cG9ydHM9WyJDaGFuZ2UgaW50ZXJ2YWwiXX0sODQzMzY3KGUpe2UuZXhwb3J0cz1bIkNoYXJ0ICN7aW5kZXh9Il19LDYyNTc4OChlKXtlLmV4cG9ydHM9WyJDaGFydCBQcm9wZXJ0aWVzIl19LDYyODQzMChlKXtlLmV4cG9ydHM9WyJDaGFydCBmb3Ige3N5bWJvbH0sIHtpbnRlcnZhbH0iXX0sMzU0Njc2KGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHRlbXBsYXRlIl19LDgxODg0NihlKXtlLmV4cG9ydHM9WyJDaGF0aGFtIElzbGFuZHMiXX0sODIxNDQ4KGUpe2UuZXhwb3J0cz1bIkNoaWNhZ28iXX0sOTA0MzM4KGUpe2UuZXhwb3J0cz1bIkNoaWxlIl19LDIwOTYzMihlKXtlLmV4cG9ydHM9WyJDaG9uZ3FpbmciXX0sMjUyOTUxKGUpe2UuZXhwb3J0cz1bIkNpdHkgSW5kZXgiXX0sMjI4NDQ5KGUpe2UuZXhwb3J0cz1bIkNyeXB0by5jb20iXX0sODc2MTYoZSl7ZS5leHBvcnRzPVsiQ3JlYXRlIG5ldyBsaXN0Il19LDkyNDAwNihlKXtlLmV4cG9ydHM9WyJDcmVhdGVkIHdpdGgge2N1c3RvbWVyfSwge2RhdGV9Il19LDQwNzQoZSl7ZS5leHBvcnRzPVsiQ3JvYXRpYSJdfSwxMDQzMzEoZSl7ZS5leHBvcnRzPVsiQ3VydmUgKEFyYml0cnVtKSJdfSw0MDkwMihlKXtlLmV4cG9ydHM9WyJDdXJ2ZSAoRXRoZXJldW0pIl19LDYzNDczNyhlKXtlLmV4cG9ydHM9WyJDeXBydXMiXX0sMTI5ODA4KGUpe2UuZXhwb3J0cz1bIkN6ZWNoIFJlcHVibGljIl19LDI5OTk3KGUpe2UuZXhwb3J0cz1bIkFOWCJdfSwxNzQxNTIoZSl7ZS5leHBvcnRzPVsiQURYIOKAlCBBYnUgRGhhYmkgU2VjdXJpdGllcyBFeGNoYW5nZSJdfSw3Njk4MjgoZSl7ZS5leHBvcnRzPVsiQVFVSVMg4oCUIEFxdWlzIFN0b2NrIEV4Y2hhbmdlIl19LDc0MTU3MyhlKXtlLmV4cG9ydHM9WyJBU1gg4oCUIEF1c3RyYWxpYW4gU2VjdXJpdGllcyBFeGNoYW5nZSJdfSw2NDExNzYoZSl7ZS5leHBvcnRzPVsiQVRIRVgg4oCUIEF0aGVucyBTdG9jayBFeGNoYW5nZSJdfSwyMTM0NyhlKXtlLmV4cG9ydHM9WyJBbXN0ZXJkYW0iXX0sNzQ2ODcyKGUpe2UuZXhwb3J0cz1bIkFudGFyY3RpYyJdfSw4Mjc5MDIoZSl7ZS5leHBvcnRzPVsiQW5jaG9yYWdlIl19LDgwMzIxMChlKXtlLmV4cG9ydHM9WyJBYmF4eCBFeGNoYW5nZSJdfSw0ODc2OShlKXtlLmV4cG9ydHM9WyJBY3RpdlRyYWRlcyJdfSw1NDIyKGUpe2UuZXhwb3J0cz1bIkFjY2VzcyBlcnJvciJdfSwzNDQzMjAoZSl7ZS5leHBvcnRzPVsiQWRkIFN5bWJvbCJdfSw5NzE4OChlKXtlLmV4cG9ydHM9WyJBZGQgYWxlcnQgb24ge3RpdGxlfSJdfSw3MTU4MzgoZSl7ZS5leHBvcnRzPVsiQWRkIGFsZXJ0IG9uIHt0aXRsZX0gYXQge3ByaWNlfSJdfSw5MDM0NDMoZSl7ZS5leHBvcnRzPVsiQWRkIHRleHQiXX0sMzQzMzMxKGUpe2UuZXhwb3J0cz1bIkFkZCB0ZXh0IG5vdGUgZm9yIHtzeW1ib2x9Il19LDIzMDIyNChlKXtlLmV4cG9ydHM9WyJBZGQgdG8gdGV4dCBub3RlcyJdfSw1Nzk5MzQoZSl7ZS5leHBvcnRzPVsiQWRkIHtzeW1ib2x9IHRvIHdhdGNobGlzdCJdfSw1MDE1MDIoZSl7ZS5leHBvcnRzPVsiQWRlbGFpZGUiXX0sMjE3ODY0KGUpe2UuZXhwb3J0cz1bIkFlcm9kcm9tZSAoQmFzZSkiXX0sOTI1MjEyKGUpe2UuZXhwb3J0cz1bIkFlcm9kcm9tZSBTbGlwU3RyZWFtIChCYXNlKSJdfSw2MTYzNzUoZSl7ZS5leHBvcnRzPVsiQWx3YXlzIGludmlzaWJsZSJdfSwzNTY4NDIoZSl7ZS5leHBvcnRzPVsiQWx3YXlzIHZpc2libGUiXX0sMzA1NjQyKGUpe2UuZXhwb3J0cz1bIkFsbCBFeGNoYW5nZXMiXX0sMjI1ODY5KGUpe2UuZXhwb3J0cz1bIkFsbCBnb29kIHRoaW5ncyBtdXN0IGNvbWUgdG8gYW4gZW5kIC0gdGhpcyBjb250cmFjdCBoYXMgcmVhY2hlZCBleHBpcnkhIl19LDc3NzkyMChlKXtlLmV4cG9ydHM9WyJBbGwncyB3ZWxsIOKAlCBtYXJrZXQgaXMgb3Blbi4iXX0sOTI0MTc2KGUpe2UuZXhwb3J0cz1bIkFwcGx5IHRoZXNlIGluZGljYXRvcnMgdG8gZW50aXJlIGxheW91dCJdfSw1MjY3ODUoZSl7ZS5leHBvcnRzPVsiQXByIl19LDE1NTg1MihlKXtlLmV4cG9ydHM9WyJBcHJpbCJdfSw2Njg0MDMoZSl7ZS5leHBvcnRzPVsiQXJjYSDigJQgTllTRSBBcmNhIl19LDg1NzU4NyhlKXtlLmV4cG9ydHM9WyJBcmdlbnRpbmEiXX0sNDk1NzAzKGUpe2UuZXhwb3J0cz1bIkFzdGFuYSJdfSwzMTkwNDQoZSl7ZS5leHBvcnRzPVsiQXNoZ2FiYXQiXX0sMTU5MDYzKGUpe2UuZXhwb3J0cz1bIkF0IGNsb3NlIl19LDk4NDE3MShlKXtlLmV4cG9ydHM9WyJBdGhlbnMiXX0sMjI4MDEzKGUpe2UuZXhwb3J0cz1bIkF1dG8iXX0sNjMzNzUyKGUpe2UuZXhwb3J0cz1bIkF1dG8gKGZpdHMgZGF0YSB0byBzY3JlZW4pIl19LDkzNzYyKGUpe2UuZXhwb3J0cz1bIkF1ZyJdfSw5NTk3NzIoZSl7ZS5leHBvcnRzPVsiQXVndXN0Il19LDI3OTIzMyhlKXtlLmV4cG9ydHM9WyJBdXN0cmFsaWEiXX0sMjM4Mjc4KGUpe2UuZXhwb3J0cz1bIkF1c3RyaWEiXX0sODE0MTQ2KGUpe2UuZXhwb3J0cz1bIkF2ZXJhZ2UgY2xvc2UgcHJpY2UgbGFiZWwiXX0sNjkzNDYwKGUpe2UuZXhwb3J0cz1bIkF2ZXJhZ2UgY2xvc2UgcHJpY2UgbGluZSJdfSwzODQ5NjQoZSl7ZS5leHBvcnRzPVsiQXpvcmVzIl19LDk0ODczNChlKXtlLmV4cG9ydHM9WyJCMlBSSU1FIl19LDQ3OTM0MShlKXtlLmV4cG9ydHM9WyJCMyDigJQgQnJhc2lsIEJvbHNhIEJhbGNhbyBTLkEuIl19LDkxMTQ1NihlKXtlLmV4cG9ydHM9WyJCTUUg4oCUIEJvbHNhIGRlIE1hZHJpZCJdfSwzMDk0MjcoZSl7ZS5leHBvcnRzPVsiQk1WIOKAlCBNZXhpY2FuIFN0b2NrIEV4Y2hhbmdlIl19LDI5NDQoZSl7CmUuZXhwb3J0cz1bIkJDSEFJTiAoTmFzZGFxIERhdGEgTGluaykiXX0sMTA0MjAwKGUpe2UuZXhwb3J0cz1bIkJFTEVYIOKAlCBCZWxncmFkZSBTdG9jayBFeGNoYW5nZSJdfSw3NDEzNDEoZSl7ZS5leHBvcnRzPVsiQkVUIOKAlCBCdWRhcGVzdCBTdG9jayBFeGNoYW5nZSJdfSwxNDQ2NShlKXtlLmV4cG9ydHM9WyJCSEIg4oCUIEJhaHJhaW4gU3RvY2sgRXhjaGFuZ2UiXX0sMjg5NjcwKGUpe2UuZXhwb3J0cz1bIkJJU1Qg4oCUIEJvcnNhIElzdGFuYnVsIl19LDU4MjI0OShlKXtlLmV4cG9ydHM9WyJCSVZBIOKAlCBCb2xzYSBJbnN0aXR1Y2lvbmFsIGRlIFZhbG9yZXMiXX0sOTQ1NzYwKGUpe2UuZXhwb3J0cz1bIkJTRSDigJQgQm9tYmF5IFN0b2NrIEV4Y2hhbmdlIl19LDE0NzU2OShlKXtlLmV4cG9ydHM9WyJCU1NFIOKAlCBCcmF0aXNsYXZhIFN0b2NrIEV4Y2hhbmdlIl19LDQ0NzIyNChlKXtlLmV4cG9ydHM9WyJCVEMgQ2hpbmEiXX0sODMyNTc0KGUpe2UuZXhwb3J0cz1bIkJUQy1FIl19LDY5NDMxNihlKXtlLmV4cG9ydHM9WyJCVENDIl19LDgxMTE3NShlKXtlLmV4cG9ydHM9WyJCVFNFIl19LDc2NTY5MyhlKXtlLmV4cG9ydHM9WyJCVkIg4oCUIEJ1Y2hhcmVzdCBTdG9jayBFeGNoYW5nZSJdfSwxODQ2MTkoZSl7ZS5leHBvcnRzPVsiQlZDIOKAlCBCb2xzYSBkZSBWYWxvcmVzIGRlIENvbG9tYmlhIl19LDcwNTk1MihlKXtlLmV4cG9ydHM9WyJCVkMg4oCUIENhcmFjYXMgU3RvY2sgRXhjaGFuZ2UiXX0sMzUxMDc2KGUpe2UuZXhwb3J0cz1bIkJWTCDigJQgQm9sc2EgZGUgVmFsb3JlcyBkZSBMaW1hIl19LDU3MzM2KGUpe2UuZXhwb3J0cz1bIkJWTVQg4oCUIFR1bmlzIFN0b2NrIEV4Y2hhbmdlIl19LDc2MjQ2MShlKXtlLmV4cG9ydHM9WyJCWCDigJQgQlggU3dpc3MiXX0sMTE0OTExKGUpe2UuZXhwb3J0cz1bIkJZREZpIl19LDIwNjkwOShlKXtlLmV4cG9ydHM9WyJCWU1BIOKAlCBBcmdlbnRpbmUgU3RvY2sgRXhjaGFuZ2VzIGFuZCBNYXJrZXRzIl19LDg2NTI0NChlKXtlLmV4cG9ydHM9WyJCb3R0b20iXX0sNTAzMzUzKGUpe2UuZXhwb3J0cz1bIkJvZ290YSJdfSwxNjk0MDcoZSl7ZS5leHBvcnRzPVsiQm9yZGVyIl19LDYzNjkyNihlKXtlLmV4cG9ydHM9WyJCYWNrZ3JvdW5kIl19LDUwMDE0NyhlKXtlLmV4cG9ydHM9WyJCYWNrIl19LDU3ODY2NShlKXtlLmV4cG9ydHM9WyJCYWhyYWluIl19LDk3MzU3NChlKXtlLmV4cG9ydHM9WyJCYW5na29rIl19LDQ1MjAxNShlKXtlLmV4cG9ydHM9WyJCYW5nbGFkZXNoIl19LDIyMTM1OShlKXtlLmV4cG9ydHM9WyJCYXNlU3dhcCAoQmFzZSkiXX0sODMzMjQoZSl7ZS5leHBvcnRzPVsiQmVsZ2l1bSJdfSw4MDgzNzcoZSl7ZS5leHBvcnRzPVsiQmVsZ3JhZGUiXX0sNTIzMTI0KGUpe2UuZXhwb3J0cz1bIkJlcmxpbiJdfSwxNTU3NjUoZSl7ZS5leHBvcnRzPVsiQml0TUVYIl19LDY2NDUwNihlKXtlLmV4cG9ydHM9WyJCaXRNYXJ0Il19LDg0NjAyNyhlKXtlLmV4cG9ydHM9WyJCaXRWQyJdfSwxMTU0MShlKXtlLmV4cG9ydHM9WyJCaXRZZXMiXX0sNTU4MDQ0KGUpe2UuZXhwb3J0cz1bIkJpdGF6emEiXX0sNTM2NjA5KGUpe2UuZXhwb3J0cz1bIkJpdGdldCJdfSw3NTgwMjIoZSl7ZS5leHBvcnRzPVsiQml0ZmluZXgiXX0sNzc5MzYoZSl7ZS5leHBvcnRzPVsiQml0a3ViIl19LDY1ODY1MChlKXtlLmV4cG9ydHM9WyJCaXRodW1iIl19LDExOTc5MihlKXtlLmV4cG9ydHM9WyJCaXRzbyJdfSw5NDY2NjYoZSl7ZS5leHBvcnRzPVsiQml0c3RhbXAiXX0sMTQ0MTE0KGUpe2UuZXhwb3J0cz1bIkJpdHJ1ZSJdfSw5MDg0NTUoZSl7ZS5leHBvcnRzPVsiQml0dHJleCJdfSw1Mjg1NzMoZSl7ZS5leHBvcnRzPVsiQml0dW5peCJdfSw3MjA4MzkoZSl7ZS5leHBvcnRzPVsiQml0dmF2byJdfSwyMzE1MDQoZSl7ZS5leHBvcnRzPVsiQmlkIGFuZCBhc2sgbGFiZWxzIl19LDkxOTM3NihlKXtlLmV4cG9ydHM9WyJCaWQgYW5kIGFzayBsaW5lcyJdfSw4Njg4MTAoZSl7ZS5leHBvcnRzPVsiQmlsbGVkIGV2ZXJ5IG1vbnRoLiJdfSw5MTM5NTUoZSl7ZS5leHBvcnRzPVsiQmlsbGVkIGV2ZXJ5IHllYXIuIl19LDYwNWUzKGUpe2UuZXhwb3J0cz1bIkJpbmFuY2UiXX0sMzExNjc5KGUpe2UuZXhwb3J0cz1bIkJpbmFuY2UuVVMiXX0sNDg3NTM2KGUpe2UuZXhwb3J0cz1bIkJpbmdYIl19LDM0NjA4NihlKXtlLmV4cG9ydHM9WyJCaXN3YXAgdjIgKEJOQiBjaGFpbikiXX0sOTAyNDMzKGUpe2UuZXhwb3J0cz1bIkJsdWViZXJyeSJdfSwzMTU0MjQoZSl7ZS5leHBvcnRzPVsiQmx1ZWZpbiAoU3VpKSJdfSw5MTI4NDEoZSl7ZS5leHBvcnRzPVsiQmxhY2tCdWxsIE1hcmtldHMiXX0sMjgzMjg3KGUpe2UuZXhwb3J0cz1bIkJsYWNraG9sZSB2MyAoQXZhbGFuY2hlKSJdfSw4NDI5ODcoZSl7ZS5leHBvcnRzPVsiQmxvRmluIl19LDM4NTkyNihlKXtlLmV4cG9ydHM9WyJCcnVzc2VscyJdfSw5NDg4MjQoZSl7ZS5leHBvcnRzPVsiQnJhdGlzbGF2YSJdfSw4MzkxNTkoZSl7ZS5leHBvcnRzPVsiQnJhdmUgTmV3IENvaW4iXX0sNjEyOTY3KGUpe2UuZXhwb3J0cz1bIkJyYXppbCJdfSw4OTA2ODkoZSl7ZS5leHBvcnRzPVsiQnJpc2JhbmUiXX0sMTM1NTIzKGUpe2UuZXhwb3J0cz1bIkJ1eSBhbmQgc2VsbCJdfSw2NjQ1MzEoZSl7ZS5leHBvcnRzPVsiQnVjaGFyZXN0Il19LDU5MDI0MyhlKXtlLmV4cG9ydHM9WyJCdWRhcGVzdCJdfSwyMTQxNDQoZSl7ZS5leHBvcnRzPVsiQnVlbm9zIEFpcmVzIl19LDcxNDAzMShlKXtlLmV4cG9ydHM9WyJCdWxnYXJpYSJdfSw4NDc0MjQoZSl7ZS5leHBvcnRzPVsiQnVsZ2FyaWFuIFN0b2NrIEV4Y2hhbmdlIl19LDcxODk2NyhlKXtlLmV4cG9ydHM9WyJCeWJpdCJdfSw1NDk3ODEoZSl7ZS5leHBvcnRzPVsiR08gTWFya2V0cyJdfSwyOTkxNzIoZSl7ZS5leHBvcnRzPVsiR0JFIGJyb2tlcnMiXX0sOTk0MzI0KGUpe2UuZXhwb3J0cz1bIkdQVyDigJQgV2Fyc2F3IFN0b2NrIEV4Y2hhbmdlIl19LDc0NTk5OChlKXtlLmV4cG9ydHM9WyJHbyB0byBkYXRlIl19LDExMTg5OChlKXtlLmV4cG9ydHM9WyJHb3QgaXQiXX0sNDg0MDYwKGUpe2UuZXhwb3J0cz1bIkdhdGUiXX0sMTc3ODU0KGUpewplLmV4cG9ydHM9WyJHZXQgYWNjZXNzIHRvIGZvcmVjYXN0IG1ldHJpY3Mgd2l0aCBhbiB1cGdyYWRlZCBwbGFuLiJdfSw3OTM2MDIoZSl7ZS5leHBvcnRzPVsiR2V0dGV4IC0gR2V0dGV4Il19LDUxODMxMihlKXtlLmV4cG9ydHM9WyJHZW1pbmkiXX0sNDY2Njk4KGUpe2UuZXhwb3J0cz1bIkdlcm1hbnkiXX0sMTA5ODQ2KGUpe2UuZXhwb3J0cz1bIkdsYXNzbm9kZSJdfSw4MDc0NDEoZSl7ZS5leHBvcnRzPVsiREZNIOKAlCBEdWJhaSBGaW5hbmNpYWwgTWFya2V0Il19LDMyMjQ3MShlKXtlLmV4cG9ydHM9WyJESiDigJQgRG93IEpvbmVzIEluZGV4ZXMiXX0sNzA3MTU4KGUpe2UuZXhwb3J0cz1bIkRKIOKAlCBEb3cgSm9uZXMgSW5kaWNlcyJdfSwxMTUyMjQoZSl7ZS5leHBvcnRzPVsiRFNFIOKAlCBEaGFrYSBTdG9jayBFeGNoYW5nZSJdfSw0NTMyMzQoZSl7ZS5leHBvcnRzPVsiRFVTIOKAlCBEdXNzZWxkb3JmIFN0b2NrIEV4Y2hhbmdlIl19LDUyMTc4MihlKXtlLmV4cG9ydHM9WydEb2luZyB0aGlzIHdpbGwgcGVybWFuZW50bHkgZGVsZXRlIHlvdXIgInthbGVydH0iIGFsZXJ0LiddfSwxODU3OTQoZSl7ZS5leHBvcnRzPVsiRG9pbmcgdGhpcyB3aWxsIHBlcm1hbmVudGx5IGRlbGV0ZSBhbGwgc2VsZWN0ZWQgYWxlcnRzLiJdfSw0MTIxMTcoZSl7ZS5leHBvcnRzPVsiRG9pbmcgdGhpcyB3aWxsIHJlbW92ZSB0aGlzIGluZGljYXRvciBhbmQgZXZlcnl0aGluZyBhdHRhY2hlZCB0byBpdCwgaW5jbHVkaW5nOiJdfSwzNjc1MzgoZSl7ZS5leHBvcnRzPVsiRGF0YSBQcm92aWRlZCBieSJdfSw1MDc3MjkoZSl7ZS5leHBvcnRzPVsiRGF0ZSJdfSw4MzA3MjEoZSl7ZS5leHBvcnRzPVsiRGF5cyJdfSwxMzU5NjUoZSl7ZS5leHBvcnRzPVsiRGFyd2luZXgiXX0sMzIwNjI3KGUpe2UuZXhwb3J0cz1bIkRlRHVzdC5pbyAoVE9OKSJdfSw3NjkwMzYoZSl7ZS5leHBvcnRzPVsiRGVjIl19LDMwOTY2NihlKXtlLmV4cG9ydHM9WyJEZWNlbWJlciJdfSw0Mzg3MTYoZSl7ZS5leHBvcnRzPVsiRGVlcGNvaW4iXX0sMTYwMjY1KGUpe2UuZXhwb3J0cz1bIkRlZmlMbGFtYSJdfSwyMjk1MjUoZSl7ZS5leHBvcnRzPVsiRGVsYXllZCJdfSw0MzE0NDEoZSl7ZS5leHBvcnRzPVsiRGVsZXRlIl19LDM0MTQ1OChlKXtlLmV4cG9ydHM9WyJEZWxpc3RlZCJdfSwzNzczMzUoZSl7ZS5leHBvcnRzPVsiRGVsaXN0ZWQgYWxlcnQiXX0sMzQwOTI3KGUpe2UuZXhwb3J0cz1bIkRlbHRhIl19LDU3NjU0OChlKXtlLmV4cG9ydHM9WyJEZWx0YSBFeGNoYW5nZSBJbmRpYSJdfSw4NTI1MDEoZSl7ZS5leHBvcnRzPVsiRGVubWFyayJdfSw4ODk1MjkoZSl7ZS5leHBvcnRzPVsiRGVudmVyIl19LDE1NDk0MChlKXtlLmV4cG9ydHM9WyJEZXJpYml0Il19LDMwMjg2OShlKXtlLmV4cG9ydHM9WyJEZXJpdiJdfSwzNjA2OTAoZSl7ZS5leHBvcnRzPVsiRGhha2EiXX0sMzcxNTQ5KGUpe2UuZXhwb3J0cz1bIkRpc3BsYWNlbWVudCJdfSw0MzY2NjYoZSl7ZS5leHBvcnRzPVsiRGlzcGxhY2VtZW50IChwcmljZSwgYmFyKSJdfSw2MjM3MTYoZSl7ZS5leHBvcnRzPVsiRHJhd2luZ3MgdG9vbGJhciJdfSw0NzMyNzUoZSl7ZS5leHBvcnRzPVsiRHViYWkiXX0sNDMwODY4KGUpe2UuZXhwb3J0cz1bIkR1YmxpbiJdfSwzNjc4MDAoZSl7ZS5leHBvcnRzPVsiRHVlIHRvIGV4Y2hhbmdlIHJlc3RyaWN0aW9ucywgeW91IGFyZSB1bmFibGUgdG8gc3dpdGNoIHRvIGFuIEFTWCBsaXN0ZWQgc3ltYm9sLiBZb3UgY2FuIHZpZXcgdGhlIFN5bWJvbCBvbiB7bGlua1N0YXJ0fVRyYWRpbmdWaWV3e2xpbmtFbmR9Il19LDk4OTI5OChlKXtlLmV4cG9ydHM9WyJFRVgg4oCUIEV1cm9wZWFuIEVuZXJneSBFeGNoYW5nZSJdfSwxOTcxMjUoZSl7ZS5leHBvcnRzPVsiRUdYIOKAlCBFZ3lwdGlhbiBFeGNoYW5nZSJdfSw5Njg1OTYoZSl7ZS5leHBvcnRzPVsiRVVSRVgg4oCUIEV1cmV4IEV4Y2hhbmdlIl19LDYwMTc2NChlKXtlLmV4cG9ydHM9WyJFbmQgb2YgRGF5Il19LDMzNzQzNyhlKXtlLmV4cG9ydHM9WyJFZ3lwdCJdfSw0NTk0NTkoZSl7ZS5leHBvcnRzPVsiRWlnaHRjYXAiXX0sMjM2ODgoZSl7ZS5leHBvcnRzPVsiRXJyYW50ZSJdfSw5NDEyMChlKXtlLmV4cG9ydHM9WyJFc3RvbmlhIl19LDUwODg0NihlKXtlLmV4cG9ydHM9WyJFc2FGWCJdfSw0OTI5ODUoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9UTFgiXX0sOTI0NzY0KGUpe2UuZXhwb3J0cz1bIkV1cm9uZXh0IOKAlCBFdXJvbmV4dCBOViJdfSw5NzAxNjgoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IE9zbG8iXX0sNDgyMDc5KGUpe2UuZXhwb3J0cz1bIkV1cm9uZXh0IOKAlCBFdXJvbmV4dCBBbXN0ZXJkYW0iXX0sMzM3MTU2KGUpe2UuZXhwb3J0cz1bIkV1cm9uZXh0IOKAlCBFdXJvbmV4dCBCcnVzc2VscyJdfSw1ODgzMzYoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IER1YmxpbiJdfSw3OTgzMDIoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IExpc2JvbiJdfSwzMjI4MzEoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IFBhcmlzIl19LDQ0ODY3MShlKXtlLmV4cG9ydHM9WyJFdmVuaW5nLiBNYXJrZXQgaXMgb3BlbiBmb3IgcG9zdC1tYXJrZXQgdHJhZGluZy4iXX0sMTMyMzg5KGUpe2UuZXhwb3J0cz1bIkV4dGVuZCBsZWZ0IGxpbmUiXX0sMzc0NTczKGUpe2UuZXhwb3J0cz1bIkV4dGVuZCByaWdodCBsaW5lIl19LDgyNjYwNyhlKXtlLmV4cG9ydHM9WyJFeGNoYW5nZSJdfSwyNzI0NDIoZSl7ZS5leHBvcnRzPVsiRk9SRVguY29tIl19LDg5NTUxNihlKXtlLmV4cG9ydHM9WyJGSU5SQSDigJQgRklOUkEgQWdlbmN5IERlYnQgVHJhZGUgRGlzc2VtaW5hdGlvbiBTZXJ2aWNlIl19LDI0MjgyNihlKXtlLmV4cG9ydHM9WyJGSU5SQSBCVERTIOKAlCBGSU5SQSBCb25kIFRyYWRlIERpc3NlbWluYXRpb24gU2VydmljZSJdfSw2ODU2MDYoZSl7ZS5leHBvcnRzPVsiRlAgTWFya2V0cyJdfSw2NzcwODAoZSl7ZS5leHBvcnRzPVsiRlJBIOKAlCBGcmFua2Z1cnQgU3RvY2sgRXhjaGFuZ2UiXX0sOTI3MjMwKGUpe2UuZXhwb3J0cz1bIkZTRSDigJQgRnVrdW9rYSBTdG9jayBFeGNoYW5nZSJdfSwKMzkyMDY3KGUpe2UuZXhwb3J0cz1bIkZUU0UgU1QgSW5kZXggU2VyaWVzIl19LDE3OTI1NyhlKXtlLmV4cG9ydHM9WyJGVFNFIOKAlCBHcm91cCBJbmRpY2VzIl19LDg1NTQ3OShlKXtlLmV4cG9ydHM9WyJGVFNFIOKAlCBGVFNFIEluZGljZXMiXX0sOTEwNjAxKGUpe2UuZXhwb3J0cz1bIkZXQiDigJQgRnJhbmtmdXJ0IFN0b2NrIEV4Y2hhbmdlIl19LDk5MjcyNihlKXtlLmV4cG9ydHM9WyJGWENNIl19LDExNDExNShlKXtlLmV4cG9ydHM9WyJGWFRGIl19LDU5NTgzOChlKXtlLmV4cG9ydHM9WyJGb3J3YXJkIl19LDYxNzM0MShlKXtlLmV4cG9ydHM9WyJGZWIiXX0sMzM2MzAoZSl7ZS5leHBvcnRzPVsiRmVicnVhcnkiXX0sODAyODU1KGUpe2UuZXhwb3J0cz1bIkZlZGVyYWwgUmVzZXJ2ZSBCYW5rIG9mIE5ldyBZb3JrIl19LDIwNTExNyhlKXtlLmV4cG9ydHM9WyJGZWRlcmFsIFJlc2VydmUgQmFuayBvZiBQaGlsYWRlbHBoaWEiXX0sNTcxMDA2KGUpe2UuZXhwb3J0cz1bIkZlZGVyYWwgUmVzZXJ2ZSBFY29ub21pYyBEYXRhIl19LDk3NjQ1NChlKXtlLmV4cG9ydHM9WyJGaW5sYW5kIl19LDM0NzgzMyhlKXtlLmV4cG9ydHM9WyJGaXJzdCBiYXIgdGltZSJdfSw5Njg4MTUoZSl7ZS5leHBvcnRzPVsiRnJhY3Rpb24gcGFydCBpcyBpbnZhbGlkLiJdfSwxMzYyMzgoZSl7ZS5leHBvcnRzPVsiRnJhbmNlIl19LDQyOTk5MShlKXtlLmV4cG9ydHM9WyJGcmkiXX0sMzE4NTI1KGUpe2UuZXhwb3J0cz1bIkZyaWRheSJdfSwxMjAzMTkoZSl7ZS5leHBvcnRzPVsiRnVzaW9uIE1hcmtldHMiXX0sMzYxNDAwKGUpe2UuZXhwb3J0cz1bIkZ4UHJvIl19LDI1ODE5NChlKXtlLmV4cG9ydHM9WyJLQ0JUIEZ1dHVyZXMiXX0sNDk4ODk2KGUpe2UuZXhwb3J0cz1bIktDRVgiXX0sOTYxMjg5KGUpe2UuZXhwb3J0cz1bIktSWCDigJQgS29yZWEgU3RvY2sgRXhjaGFuZ2UiXX0sNzY2MDQwKGUpe2UuZXhwb3J0cz1bIktTRSDigJQgS3V3YWl0IFN0b2NrIEV4Y2hhbmdlIl19LDI4ODY1MShlKXtlLmV4cG9ydHM9WyJLb2xrYXRhIl19LDk4MDczOShlKXtlLmV4cG9ydHM9WyJLYXRhbmEgKFJvbmluKSJdfSwxNTc2MDUoZSl7ZS5leHBvcnRzPVsiS2F0YW5hIHYzIChSb25pbikiXX0sMjgyNDcoZSl7ZS5leHBvcnRzPVsiS2F0aG1hbmR1Il19LDQ4MDU1MyhlKXtlLmV4cG9ydHM9WyJLYWJ1bCJdfSw5MDkyMjQoZSl7ZS5leHBvcnRzPVsiS2FnaSJdfSw1ODU0NDIoZSl7ZS5leHBvcnRzPVsiS2FyYWNoaSJdfSw4NzY2NTkoZSl7ZS5leHBvcnRzPVsiS2VlcCBkcmF3aW5nIl19LDgxNDk2NihlKXtlLmV4cG9ydHM9WyJLZW55YSJdfSwxOTAxMjMoZSl7ZS5leHBvcnRzPVsiS3Jha2VuIl19LDM5NTEzMChlKXtlLmV4cG9ydHM9WyJLdXdhaXQiXX0sNDA4NDA4KGUpe2UuZXhwb3J0cz1bIkt1Q29pbiJdfSwzNDcwNjQoZSl7ZS5leHBvcnRzPVsiS3VhbGEgTHVtcHVyIl19LDEwNTg1NShlKXtlLmV4cG9ydHM9WyJITlgg4oCUIEhhbm9pIFN0b2NrIEV4Y2hhbmdlIl19LDk5MTQ1KGUpe2UuZXhwb3J0cz1bIkhOWCDigJQgSGFub2kgU3RvY2sgRXhjaGFuZ2UgKFVQQ29NKSJdfSwyODk1NjkoZSl7ZS5leHBvcnRzPVsiSE9TRSDigJQgSG8gQ2hpIE1pbmggQ2l0eSBTdG9jayBFeGNoYW5nZSJdfSw4ODU1NTAoZSl7ZS5leHBvcnRzPVsiSEFNIOKAlCBIYW1idXJnIFN0b2NrIEV4Y2hhbmdlIl19LDQ2NjQ4KGUpe2UuZXhwb3J0cz1bIkhBTiDigJQgSGFubm92ZXIgU3RvY2sgRXhjaGFuZ2UiXX0sMjk4MTgwKGUpe2UuZXhwb3J0cz1bIkhFWCDigJQgTmFzZGFxIEhlbHNpbmtpIl19LDY2OTgzNyhlKXtlLmV4cG9ydHM9WyJIS0VYIOKAlCBIb25nIEtvbmcgRXhjaGFuZ2UiXX0sMjk1NTU1KGUpe2UuZXhwb3J0cz1bIkhTSSDigJQgSGFuZyBTZW5nIEluZGljZXMiXX0sOTE1NjQxKGUpe2UuZXhwb3J0cz1bIkhUWCJdfSw0NjI3MDIoZSl7ZS5leHBvcnRzPVsiSG8gQ2hpIE1pbmgiXX0sOTI2NDAzKGUpe2UuZXhwb3J0cz1bIkhvdXJzIl19LDQwNjczKGUpe2UuZXhwb3J0cz1bIkhvbmV5c3dhcCB2MiAoR25vc2lzKSJdfSw5ODIxOTcoZSl7ZS5leHBvcnRzPVsiSG9uZyBLb25nIl19LDQ2Mzc3OShlKXtlLmV4cG9ydHM9WyJIb25nIEtvbmcsIENoaW5hIl19LDg5OTc5MShlKXtlLmV4cG9ydHM9WyJIb25vbHVsdSJdfSw3ODg4MzcoZSl7ZS5leHBvcnRzPVsiSG9yaXpvbnRhbCJdfSw1ODIzODYoZSl7ZS5leHBvcnRzPVsiSGFsaWZheCJdfSwzMzExMDUoZSl7ZS5leHBvcnRzPVsiSGV5IHRoZXJlLCBuaWdodCBvd2wuIE1hcmtldCBpcyBjdXJyZW50bHkgb3BlbiBmb3Igb3Zlcm5pZ2h0IHRyYWRpbmcuIFRoZSBkYXRhIGR1cmluZyB0aGlzIHNlc3Npb24gaXMgcHJvdmlkZWQgYnkgdGhlIEJPQVRTIGV4Y2hhbmdlLiJdfSw3NDgxODIoZSl7ZS5leHBvcnRzPVsiSGVpa2luIEFzaGkiXX0sNjE1MTQwKGUpe2UuZXhwb3J0cz1bIkhlbHNpbmtpIl19LDc2OTM5MShlKXtlLmV4cG9ydHM9WyJIaWRlIl19LDgyNDk5MyhlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCJdfSw4MDk5MzkoZSl7ZS5leHBvcnRzPVsiSGlkZSBhbGwgZHJhd2luZ3MiXX0sODAwMzQ5KGUpe2UuZXhwb3J0cz1bIkhpZGUgYWxsIGRyYXdpbmdzIGFuZCBpbmRpY2F0b3JzIl19LDg2NjMzMChlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBkcmF3aW5ncywgaW5kaWNhdG9ycywgcG9zaXRpb25zLCBhbmQgb3JkZXJzIl19LDk4ODI2MChlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBkcmF3aW5nIHRvb2xzIl19LDUzOTM0OShlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBpbmRpY2F0b3JzIl19LDg0NjQxMyhlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBwb3NpdGlvbnMgYW5kIG9yZGVycyJdfSwxNTcyMTAoZSl7ZS5leHBvcnRzPVsiSGlkZSBkcmF3aW5ncyJdfSw4MDc4ODAoZSl7ZS5leHBvcnRzPVsiSGlkZSBpbmRpY2F0b3JzIl19LDEzOTM1NShlKXtlLmV4cG9ydHM9WyJIaWRlIG1hcmtzIG9uIGJhcnMiXX0sNzYyOTg4KGUpe2UuZXhwb3J0cz1bIkhpZGUgcG9zaXRpb25zIGFuZCBvcmRlcnMiXX0sODQ1NTYzKGUpe2UuZXhwb3J0cz1bIkhpZ2giXX0sODIzNDMwKGUpe2UuZXhwb3J0cz1bIkhpZ2ggYW5kIGxvdyBwcmljZSBsYWJlbHMiXX0sMjU2MjIwKGUpewplLmV4cG9ydHM9WyJIaWdoIGFuZCBsb3cgcHJpY2UgbGluZXMiXX0sNjYwNjA5KGUpe2UuZXhwb3J0cz1bIkhpc3RvZ3JhbSBpcyB0b28gbGFyZ2UsIHBsZWFzZSBpbmNyZWFzZSB7Ym9sZEhpZ2hsaWdodFN0YXJ0fVJvdyBTaXple2JvbGRIaWdobGlnaHRFbmR9IGluIHRoZSBzZXR0aW5ncyB3aW5kb3cuIl19LDQ2OTIwKGUpe2UuZXhwb3J0cz1bIkhpc3RvZ3JhbSBpcyB0b28gbGFyZ2UsIHBsZWFzZSBpbmNyZWFzZSB7Ym9sZEhpZ2hsaWdodFN0YXJ0fVRpY2tzIFBlciBSb3d7Ym9sZEhpZ2hsaWdodEVuZH0gaW4gdGhlIHNldHRpbmdzIHdpbmRvdy4iXX0sMzMzMDkoZSl7ZS5leHBvcnRzPVsiSGlzdG9ncmFtIGlzIHRvbyBsYXJnZSwgcGxlYXNlIHJlZHVjZSB7Ym9sZEhpZ2hsaWdodFN0YXJ0fVJvdyBTaXple2JvbGRIaWdobGlnaHRFbmR9IGluIHRoZSBzZXR0aW5ncyB3aW5kb3cuIl19LDY2MTM2NihlKXtlLmV4cG9ydHM9WyJIdW5nYXJ5Il19LDIzMjMwMShlKXtlLmV4cG9ydHM9WyJIeXBlcmxpcXVpZCAoSHlwZXJsaXF1aWQpIl19LDYzNDE4NShlKXtlLmV4cG9ydHM9WyJIeXBlcmxpcXVpZCAoUEFSQSBISVAtMykiXX0sNjMyMzAzKGUpe2UuZXhwb3J0cz1bIkh5cGVybGlxdWlkIChYWVogSElQLTMpIl19LDcwOTIxMihlKXtlLmV4cG9ydHM9WyJJQyBNYXJrZXRzIl19LDQwMzQzMChlKXtlLmV4cG9ydHM9WyJJQ0UgRGF0YSBTZXJ2aWNlcyJdfSw3NDQzMShlKXtlLmV4cG9ydHM9WyJJQ0UgRnV0dXJlcyBTaW5nYXBvcmUiXX0sMzQ0MzQ1KGUpe2UuZXhwb3J0cz1bIklDRUFEIOKAlCBJQ0UgRnV0dXJlcyBBYnUgRGhhYmkiXX0sMjE5ODMzKGUpe2UuZXhwb3J0cz1bIklDRUVOREVYIOKAlCBJQ0UgRW5kZXgiXX0sNjU1NTI3KGUpe2UuZXhwb3J0cz1bIklDRUVVUiDigJQgSUNFIEZ1dHVyZXMgRXVyb3BlIENvbW1vZGl0aWVzIl19LDk3NTU1OChlKXtlLmV4cG9ydHM9WyJJQ0VFVVIg4oCUIElDRSBGdXR1cmVzIEV1cm9wZSBGaW5hbmNpYWxzIl19LDUyODgxMChlKXtlLmV4cG9ydHM9WyJJQ0VVUyDigJQgSUNFIEZ1dHVyZXMgVS5TLiJdfSw1NDU2MTYoZSl7ZS5leHBvcnRzPVsiSUNFVVNDQSDigJQgSUNFIEZ1dHVyZXMgVS5TLiBDb21tb2RpdGllcyAtIENhbmFkaWFuIEdyYWlucyJdfSwxODk1OTAoZSl7ZS5leHBvcnRzPVsiSUNFWCDigJQgTmFzZGFxIEljZWxhbmQiXX0sNzUxMDU4KGUpe2UuZXhwb3J0cz1bIklEWCDigJQgSW5kb25lc2lhIFN0b2NrIEV4Y2hhbmdlIl19LDE1Njk2NChlKXtlLmV4cG9ydHM9WyJJRyJdfSwzMzUxMjIoZSl7ZS5leHBvcnRzPVsiSVNUIOKAlCBJc3RhbmJ1bCBTdG9jayBFeGNoYW5nZSJdfSwyODg0MzIoZSl7ZS5leHBvcnRzPVsiSW50ZXJ2YWxzIGxlc3MgdGhhbiB7cmVzb2x1dGlvbn0gYXJlIG5vdCBzdXBwb3J0ZWQgZm9yIHt0aWNrZXJ9LiJdfSw5NDI0NihlKXtlLmV4cG9ydHM9WyJJbnRlcmFjdGl2ZSBCcm9rZXJzIl19LDE1OTI1KGUpe2UuZXhwb3J0cz1bIkludmVydCBzY2FsZSJdfSwxNTIwNTQoZSl7ZS5leHBvcnRzPVsiSW5kZXhlZCB0byAxMDAiXX0sMzcyNTIwKGUpe2UuZXhwb3J0cz1bIkluZGlhIl19LDM0MjQ2MyhlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3JzIGFuZCBmaW5hbmNpYWxzIHZhbHVlIGxhYmVscyJdfSwzOTQ0NzgoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9ycyBhbmQgZmluYW5jaWFscyBuYW1lIGxhYmVscyJdfSw4MDI5NzUoZSl7ZS5leHBvcnRzPVsiSW5kb25lc2lhIl19LDMwMjkzMShlKXtlLmV4cG9ydHM9WyJJbnB1dHMiXX0sNzI0OTA5KGUpe2UuZXhwb3J0cz1bIkluc2VydCBpbmRpY2F0b3IiXX0sOTEzNjUxKGUpe2UuZXhwb3J0cz1bIkluc3RpdHV0ZSBmb3IgU3VwcGx5IE1hbmFnZW1lbnQiXX0sMzI4MzEzKGUpe2UuZXhwb3J0cz1bIkluc3RydW1lbnQgaXMgbm90IGFsbG93ZWQiXX0sNDQwMTg4KGUpe2UuZXhwb3J0cz1bIkljZWxhbmQiXX0sMTQyMzA4KGUpe2UuZXhwb3J0cz1bIklkZWFzIG9uIGNoYXJ0Il19LDExNjc2OChlKXtlLmV4cG9ydHM9WyJJZiB5b3UgcmVtb3ZlIHRoaXMgZHJhd2luZyBmcm9tIHRoZSBjaGFydCwgdGhlIGFsZXJ0IGJhc2VkIG9uIGl0IHdpbGwgYWxzbyBiZSBkZWxldGVkLiJdfSw3MTE1MjcoZSl7ZS5leHBvcnRzPVsiSXJlbGFuZCJdfSwyMDc3OTgoZSl7ZS5leHBvcnRzPVsiSXN0YW5idWwiXX0sODAzMzU0KGUpe2UuZXhwb3J0cz1bIklzcmFlbCJdfSwzODYzNzcoZSl7ZS5leHBvcnRzPVsiSXQgc2VlbXMgdGhlcmUncyBhbiBlcnJvciBpbiB0aGlzIHNjcmlwdC4gVHJ5IHJlYWNoaW5nIG91dCB0byB0aGUgc2NyaXB0J3MgYXV0aG9yIGZvciBoZWxwLiJdfSw2MzE0MzgoZSl7ZS5leHBvcnRzPVsiSXQnbGwgY2xvc2UgaW4ge3JlbWFpbmluZ1RpbWV9LiJdfSw0MDQ1NChlKXtlLmV4cG9ydHM9WyJJdCdsbCBnbyB0byBwb3N0LW1hcmtldCB0cmFkaW5nIGluIHtyZW1haW5pbmdUaW1lfS4iXX0sNzc5MzQwKGUpe2UuZXhwb3J0cz1bIkl0J2xsIG9wZW4gZm9yIHByZS1tYXJrZXQgdHJhZGluZyBpbiB7cmVtYWluaW5nVGltZX0uIl19LDI4MTM4NihlKXtlLmV4cG9ydHM9WyJJdCdsbCBvcGVuIGluIHtyZW1haW5pbmdUaW1lfS4iXX0sODk4MTYzKGUpe2UuZXhwb3J0cz1bIkl0YWx5Il19LDM2MTkyMChlKXtlLmV4cG9ydHM9WyJJdOKAmWxsIG9wZW4gZnVsbHkgaW4ge3JlbWFpbmluZ1RpbWV9LiJdfSw5MzEyMzIoZSl7ZS5leHBvcnRzPVsiSkZYIl19LDgxOTI4OShlKXtlLmV4cG9ydHM9WyJKU0Ug4oCUIEpvaGFubmVzYnVyZyBTdG9jayBFeGNoYW5nZSJdfSwyNzAzMzAoZSl7ZS5leHBvcnRzPVsiSm9oYW5uZXNidXJnIl19LDMzMTMwKGUpe2UuZXhwb3J0cz1bIkpha2FydGEiXX0sNjU3Mzc0KGUpe2UuZXhwb3J0cz1bIkphbiJdfSw5NDQ3ODQoZSl7ZS5leHBvcnRzPVsiSmFudWFyeSJdfSwyMDAwNjgoZSl7ZS5leHBvcnRzPVsiSmFwYW4iXX0sNzA0ODMxKGUpe2UuZXhwb3J0cz1bIkplcnVzYWxlbSJdfSwxODM5NTkoZSl7ZS5leHBvcnRzPVsiSnVsIl19LDkyNDY4OShlKXtlLmV4cG9ydHM9WyJKdWx5Il19LDg3NzQ1KGUpe2UuZXhwb3J0cz1bIkp1biJdfSw0MDI0ODIoZSl7ZS5leHBvcnRzPVsiSnVuZSJdfSwyMDI2MzEoZSl7CmUuZXhwb3J0cz1bIkp1bmVhdSJdfSwzMzMzNDkoZSl7ZS5leHBvcnRzPVsiT01YIOKAlCBOYXNkYXEgT01YIEdyb3VwIl19LDcyMDI4NyhlKXtlLmV4cG9ydHM9WyJPTVhCQUxUSUMiXX0sNTExMjcoZSl7ZS5leHBvcnRzPVsiT01YTk9SRElDIl19LDE4MTgxNShlKXtlLmV4cG9ydHM9WyJPTVhSIOKAlCBOYXNkYXEgUmlnYSJdfSw2OTUxODQoZSl7ZS5leHBvcnRzPVsiT0FOREEiXX0sODMxNTY4KGUpe2UuZXhwb3J0cz1bIk9LWCJdfSwxMjQwMzcoZSl7ZS5leHBvcnRzPVsiT1NFIOKAlCBPc2FrYSBFeGNoYW5nZSJdfSw5NDA0MTMoZSl7ZS5leHBvcnRzPVsiT1RDIOKAlCBPVEMgTWFya2V0cyJdfSw4NzI5ODAoZSl7ZS5leHBvcnRzPVsiT24gdGhlIGxlZnQiXX0sMzYzMzcwKGUpe2UuZXhwb3J0cz1bIk9uIHRoZSByaWdodCJdfSwzODI4MyhlKXtlLmV4cG9ydHM9WyJPbmx5IHthdmFpbGFibGVSZXNvbHV0aW9uc30gaW50ZXJ2YWxzIGFyZSBzdXBwb3J0ZWQgZm9yIHt0aWNrZXJ9LiJdfSw3MjgzMzcoZSl7ZS5leHBvcnRzPVsiT2N0Il19LDgxNDUwMShlKXtlLmV4cG9ydHM9WyJPY3RvYmVyIl19LDIwODA3OChlKXtlLmV4cG9ydHM9WyJPayJdfSw1OTQxNzAoZSl7ZS5leHBvcnRzPVsiT3B0aW9ucyBQcmljZSBSZXBvcnRpbmcgQXV0aG9yaXR5Il19LDk3NzgxKGUpe2UuZXhwb3J0cz1bIk9wZW4iXX0sMzMyMDcwKGUpe2UuZXhwb3J0cz1bIk9wb2ZpbmFuY2UiXX0sMTcwNDI4KGUpe2UuZXhwb3J0cz1bIk9yY2EgKFNvbGFuYSkiXX0sODQ5NzM4KGUpe2UuZXhwb3J0cz1bIk9zbG8iXX0sNDM5NTQ5KGUpe2UuZXhwb3J0cz1bIk9zbWFubGkgRlgiXX0sNzg5MjQzKGUpe2UuZXhwb3J0cz1bIkxNRSDigJQgTG9uZG9uIE1ldGFsIEV4Y2hhbmdlIl19LDE1OTYyOChlKXtlLmV4cG9ydHM9WyJMQmFuayJdfSw4NDM1MTQoZSl7ZS5leHBvcnRzPVsiTEZKIFYyLjIgKEF2YWxhbmNoZSkiXX0sMzEzOTY0KGUpe2UuZXhwb3J0cz1bIkxKU0Ug4oCUIExqdWJsamFuYSBTdG9jayBFeGNoYW5nZSJdfSwxNDM4MDMoZSl7ZS5leHBvcnRzPVsiTFNFIOKAlCBMb25kb24gU3RvY2sgRXhjaGFuZ2UgKFVLIENvbXBhbmllcykiXX0sMzQ3MzM3KGUpe2UuZXhwb3J0cz1bIkxTSU4g4oCUIExvbmRvbiBTdG9jayBFeGNoYW5nZSAoSW50ZXJuYXRpb25hbCBDb21wYW5pZXMpIl19LDg4ODY3OChlKXtlLmV4cG9ydHM9WyJMb3ciXX0sMzY1MDYxKGUpe2UuZXhwb3J0cz1bIkxvd2VyIERldmlhdGlvbiJdfSwzNzI3MzIoZSl7ZS5leHBvcnRzPVsiTG9hZGluZyJdfSw3NTQzMTAoZSl7ZS5leHBvcnRzPVsiTG9jay91bmxvY2siXX0sODgyNzYoZSl7ZS5leHBvcnRzPVsiTG9jayB2ZXJ0aWNhbCBjdXJzb3IgbGluZSBieSB0aW1lIl19LDQxMTc2OChlKXtlLmV4cG9ydHM9WyJMb2NrIHByaWNlIHRvIGJhciByYXRpbyJdfSw1MDM1NTgoZSl7ZS5leHBvcnRzPVsiTG9nYXJpdGhtaWMiXX0sMjQ2NTA3KGUpe2UuZXhwb3J0cz1bIkxvbmRvbiJdfSw0MDg0MjYoZSl7ZS5leHBvcnRzPVsiTG9zIEFuZ2VsZXMiXX0sMjgyNzczKGUpe2UuZXhwb3J0cz1bIkxhdHZpYSJdfSw4NzQ2MShlKXtlLmV4cG9ydHM9WyJMYWRkZXIiXX0sOTUwNTE2KGUpe2UuZXhwb3J0cz1bIkxhZ29zIl19LDg4MDQ3MShlKXtlLmV4cG9ydHM9WyJMYW5nICYgU2Nod2FyeiBUcmFkZUNlbnRlciBBRyAmIENvLiBLRyJdfSw3NDM5NyhlKXtlLmV4cG9ydHM9WyJMYXN0IGJhciB0aW1lIl19LDMxNDY3KGUpe2UuZXhwb3J0cz1bIkxhc3QgZGF5IGNoYW5nZSJdfSw1MDQzNjEoZSl7ZS5leHBvcnRzPVsiTGV2ZWxzIl19LDY0NDc4MChlKXtlLmV4cG9ydHM9WyJMZWFybiB3aHkiXX0sNjQ4ODE2KGUpe2UuZXhwb3J0cz1bIkxlZnQiXX0sODkyMTAwKGUpe2UuZXhwb3J0cz1bIkxpdGh1YW5pYSJdfSwxNTc1MDAoZSl7ZS5leHBvcnRzPVsiTGltYSJdfSw1Mjc5MTIoZSl7ZS5leHBvcnRzPVsiTGluZSJdfSwxMDM2MTcoZSl7ZS5leHBvcnRzPVsiTGluZSBCcmVhayJdfSw1MDcyKGUpe2UuZXhwb3J0cz1bIkxpc2JvbiJdfSw0MjIwMDcoZSl7ZS5leHBvcnRzPVsiTGp1YmxqYW5hIl19LDQzNjI1MyhlKXtlLmV4cG9ydHM9WyJMdXhTRSDigJQgTHV4ZW1ib3VyZyBTdG9jayBFeGNoYW5nZSJdfSw5NzU0NDcoZSl7ZS5leHBvcnRzPVsiTHV4ZW1ib3VyZyJdfSwzMjM4OTQoZSl7ZS5leHBvcnRzPVsiTHVuYXJDcnVzaCJdfSwxNTI1MTUoZSl7ZS5leHBvcnRzPVsiTU0gRmluYW5jZSAoQ3Jvbm9zKSJdfSw3NjAwNjkoZSl7ZS5leHBvcnRzPVsiTUFUU1VJIl19LDUwMjc4KGUpe2UuZXhwb3J0cz1bIk1DWCDigJQgTXVsdGkgQ29tbW9kaXR5IEV4Y2hhbmdlIl19LDI1MTU5MShlKXtlLmV4cG9ydHM9WyJNRVhDIl19LDc2MTU5NihlKXtlLmV4cG9ydHM9WyJNR0VYIOKAlCBGdXR1cmVzIl19LDM4NTgyNChlKXtlLmV4cG9ydHM9WyJNSUwg4oCUIE1pbGFuIFN0b2NrIEV4Y2hhbmdlIl19LDk0OTgyNihlKXtlLmV4cG9ydHM9WyJNSUxTRURFWCDigJQgTWlsYW4gU3RvY2sgRXhjaGFuZ2UiXX0sMzE5ODY0KGUpe2UuZXhwb3J0cz1bIk1TRSAtIE1ldHJvcG9saXRhbiBTdG9jayBFeGNoYW5nZSJdfSw1MTI3NChlKXtlLmV4cG9ydHM9WyJNU1RBUiDigJQgQ0JPRSBNb3JuaW5nU3RhciBJbmRpY2VzIl19LDY1NDQ4MyhlKXtlLmV4cG9ydHM9WyJNVU4g4oCUIE11bmljaCBTdG9jayBFeGNoYW5nZSJdfSw5NjUwNjgoZSl7ZS5leHBvcnRzPVsiTVlYIOKAlCBCdXJzYSBNYWxheXNpYSBCZXJoYWQiXX0sMjg4Mzk2KGUpe2UuZXhwb3J0cz1bIk1vdmUgY2hhcnQiXX0sNzA1MDE2KGUpe2UuZXhwb3J0cz1bIk1vdmUgc2NhbGUgdG8gbGVmdCJdfSw5MTg3OShlKXtlLmV4cG9ydHM9WyJNb3ZlIHNjYWxlIHRvIHJpZ2h0Il19LDk0NzkzNihlKXtlLmV4cG9ydHM9WyJNb24iXX0sODg5Mzk0KGUpe2UuZXhwb3J0cz1bIk1vbmRheSJdfSw2OTUzMzcoZSl7ZS5leHBvcnRzPVsiTW9udGhzIl19LDMxNjAxOChlKXtlLmV4cG9ydHM9WyJNb3JlIHNldHRpbmdzIl19LDcyMTQzMyhlKXtlLmV4cG9ydHM9WyJNb3JvY2NvIl19LDI5NTU4NihlKXtlLmV4cG9ydHM9WyJNb3JuaW5nLiBNYXJrZXQgaXMgb3BlbiBmb3IgcHJlLW1hcmtldCB0cmFkaW5nLiJdfSw0NDYwNzQoZSl7CmUuZXhwb3J0cz1bIk1vc2NvdyJdfSw4NDk5NzMoZSl7ZS5leHBvcnRzPVsiTWF5Il19LDQzMTg5MihlKXtlLmV4cG9ydHM9WyJNYWRyaWQiXX0sNjAyNTE5KGUpe2UuZXhwb3J0cz1bIk1haW5sYW5kIENoaW5hIl19LDYyNzk2NyhlKXtlLmV4cG9ydHM9WyJNYWxheXNpYSJdfSw1NjMyMzcoZSl7ZS5leHBvcnRzPVsiTWFsdGEiXX0sMzYxNDQ1KGUpe2UuZXhwb3J0cz1bIk1hbmlsYSJdfSwxMDMzMDUoZSl7ZS5leHBvcnRzPVsiTWFyIl19LDYzNTY0MyhlKXtlLmV4cG9ydHM9WyJNYXJjaCJdfSw3NDM2ODkoZSl7ZS5leHBvcnRzPVsiTWFya2V0IGlzIGN1cnJlbnRseSBvbiBob2xpZGF5LiBMdWNreSB0aGVtLiJdfSw5NDcwNDQoZSl7ZS5leHBvcnRzPVsiTWV0ZW9yYSBETE1NIChTb2xhbmEpIl19LDgzMTk3MyhlKXtlLmV4cG9ydHM9WyJNZXRlb3JhIERZTiAoU29sYW5hKSJdfSw3ODkyOTEoZSl7ZS5leHBvcnRzPVsiTWV0cmljIGVycm9yIl19LDg2NTcwMChlKXtlLmV4cG9ydHM9WyJNZXhpY28iXX0sODc0NjA3KGUpe2UuZXhwb3J0cz1bIk1leGljbyBDaXR5Il19LDg1NTYzNihlKXtlLmV4cG9ydHM9WyJNaWRkbGUiXX0sNDI2NjcxKGUpe2UuZXhwb3J0cz1bIk1pbnV0ZXMiXX0sNTMyODg4KGUpe2UuZXhwb3J0cz1bIk10LkdveCJdfSw4MjU0MTQoZSl7ZS5leHBvcnRzPVsiTXVzY2F0Il19LDkwMzY1MChlKXtlLmV4cG9ydHM9WyJOQVNEQVEgRHViYWkiXX0sNzQ4NjcwKGUpe2UuZXhwb3J0cz1bIk5BU0RBUSDigJQgTkFTREFRIFN0b2NrIE1hcmtldCJdfSw1NDEyNTUoZSl7ZS5leHBvcnRzPVsiTkNERVgg4oCUIE5hdGlvbmFsIENvbW1vZGl0eSAmIERlcml2YXRpdmVzIEV4Y2hhbmdlIl19LDIyMDU1NyhlKXtlLmV4cG9ydHM9WyJOR00g4oCUIE5vcmRpYyBHcm93dGggTWFya2V0Il19LDkyMjc3MChlKXtlLmV4cG9ydHM9WyJOU0Ug4oCUIE5hZ295YSBTdG9jayBFeGNoYW5nZSJdfSwyNDUyNDkoZSl7ZS5leHBvcnRzPVsiTlNFIOKAlCBOYWlyb2JpIFNlY3VyaXRpZXMgRXhjaGFuZ2UiXX0sNTgwNzEoZSl7ZS5leHBvcnRzPVsiTlNFIOKAlCBOYXRpb25hbCBTdG9jayBFeGNoYW5nZSBvZiBJbmRpYSJdfSw1NDQxMjEoZSl7ZS5leHBvcnRzPVsiTlNFIOKAlCBOaWdlcmlhbiBTdG9jayBFeGNoYW5nZSJdfSw2ODE2MTcoZSl7ZS5leHBvcnRzPVsiTllNRVgg4oCUIE5ldyBZb3JrIE1lcmNhbnRpbGUgRXhjaGFuZ2UiXX0sOTQyNDg0KGUpe2UuZXhwb3J0cz1bIk5ZU0Ug4oCUIE5ldyBZb3JrIFN0b2NrIEV4Y2hhbmdlIl19LDEyNzYyKGUpe2UuZXhwb3J0cz1bIk5aWCDigJQgTmV3IFplYWxhbmQgU3RvY2sgRXhjaGFuZ2UiXX0sMzAwNTU4KGUpe2UuZXhwb3J0cz1bIk5vIGFjY2VzcyB0byB0aGlzIHNjcmlwdCJdfSw5OTM0MTYoZSl7ZS5leHBvcnRzPVsiTm8gdm9sdW1lIGRhdGEiXX0sMjE5MDY5KGUpe2UuZXhwb3J0cz1bIk5vLCBrZWVwIHRoZW0iXX0sNTYxNjAwKGUpe2UuZXhwb3J0cz1bIk5vdGlmaWNhdGlvbiJdfSw2NDY1NDUoZSl7ZS5leHBvcnRzPVsiTm92Il19LDk3MTU2MShlKXtlLmV4cG9ydHM9WyJOb3ZlbWJlciJdfSw5Njc0MTIoZSl7ZS5leHBvcnRzPVsiTm9yZm9sayBJc2xhbmQiXX0sODQ1NTIzKGUpe2UuZXhwb3J0cz1bIk5vcndheSJdfSwxMjQ5MzQoZSl7ZS5leHBvcnRzPVsiTmFpcm9iaSJdfSw2MTY4NjIoZSl7ZS5leHBvcnRzPVsiTmV0aGVybGFuZHMiXX0sMjU4MTE3KGUpe2UuZXhwb3J0cz1bIk5ldyBZb3JrIl19LDQyMTYoZSl7ZS5leHBvcnRzPVsiTmV3IFplYWxhbmQiXX0sMjc2NTQ3KGUpe2UuZXhwb3J0cz1bIk5pY29zaWEiXX0sODQ5ODY4KGUpe2UuZXhwb3J0cz1bIk5pZ2VyaWEiXX0sNTc2MzQ2KGUpe2UuZXhwb3J0cz1bIlNFVCDigJQgU3RvY2sgRXhjaGFuZ2Ugb2YgVGhhaWxhbmQiXX0sMzkzMjUoZSl7ZS5leHBvcnRzPVsiU0dYIOKAlCBTaW5nYXBvcmUgU3RvY2sgRXhjaGFuZ2UiXX0sOTQ2NjM0KGUpe2UuZXhwb3J0cz1bIlNIRkUg4oCUIFNoYW5naGFpIEZ1dHVyZXMgRXhjaGFuZ2UiXX0sNDIzMjcoZSl7ZS5leHBvcnRzPVsiU0lYIOKAlCBTSVggU3dpc3MgRXhjaGFuZ2UiXX0sMTQxOTgoZSl7ZS5leHBvcnRzPVsiU1Ag4oCUIFMmUCBJbmRleGVzIl19LDI0ODI1NShlKXtlLmV4cG9ydHM9WyJTUCDigJQgUyZQIEluZGljZXMiXX0sMzIxMTc1KGUpe2UuZXhwb3J0cz1bIlNTRSDigJQgU2FudGlhZ28gU3RvY2sgRXhjaGFuZ2UiXX0sNTIzMjkwKGUpe2UuZXhwb3J0cz1bIlNTRSDigJQgU2FwcG9ybyBTZWN1cml0aWVzIEV4Y2hhbmdlIl19LDM2ODkyKGUpe2UuZXhwb3J0cz1bIlNTRSDigJQgU2hhbmdoYWkgU3RvY2sgRXhjaGFuZ2UiXX0sMTI1NTY4KGUpe2UuZXhwb3J0cz1bIlNUTyDigJQgTmFzZGFxIFN0b2NraG9sbSJdfSw1NzI5MDkoZSl7ZS5leHBvcnRzPVsiU1RPTi5maSAoVE9OKSJdfSw3ODQ0OTUoZSl7ZS5leHBvcnRzPVsiU1RPTi5maSB2MiAoVE9OKSJdfSw2MjcxMDQoZSl7ZS5leHBvcnRzPVsiU1ZQIl19LDMwNzk2KGUpe2UuZXhwb3J0cz1bIlNXQiDigJQgU3R1dHRnYXJ0IFN0b2NrIEV4Y2hhbmdlIl19LDgzNDk2MShlKXtlLmV4cG9ydHM9WyJTWlNFIOKAlCBTaGVuemhlbiBTdG9jayBFeGNoYW5nZSJdfSw1NjIzOTUoZSl7ZS5leHBvcnRzPVsiU25hcHNob3QiXX0sNTM4OTQ4KGUpe2UuZXhwb3J0cz1bIlNvdXJjZSJdfSw3OTM0MDIoZSl7ZS5leHBvcnRzPVsiU291cmNlIGNvZGUiXX0sMzEwMDgyKGUpe2UuZXhwb3J0cz1bIlNvdXRoIEFmcmljYSJdfSw1ODc3NTIoZSl7ZS5leHBvcnRzPVsiU291dGggS29yZWEiXX0sNTA0MzEoZSl7ZS5leHBvcnRzPVsiU29maWEiXX0sNDAwMzIwKGUpe2UuZXhwb3J0cz1bIlNvbWV0aGluZyB3ZW50IHdyb25nIHdoZW4gY3JlYXRpbmcgdGhlIGluZGljYXRvci4iXX0sMjg1ZTMoZSl7ZS5leHBvcnRzPVsiU29tZXRoaW5nIHdlbnQgd3JvbmcuIEhhbmcgdGlnaHQgYW5kIHRyeSBhZ2FpbiBsYXRlci4iXX0sNTkxNDE4KGUpe2UuZXhwb3J0cz1bIlNhdCJdfSwzODc5NShlKXtlLmV4cG9ydHM9WyJTYXR1cmRheSJdfSw3NjE1MjMoZSl7ZS5leHBvcnRzPVsiU2F1ZGkgQXJhYmlhIl19LDc4NDc0MShlKXtlLmV4cG9ydHM9WyJTYXZlIGFzIl19LDE3MzQ3OShlKXtlLmV4cG9ydHM9WyJTYXhvIl0KfSw0NTE0NDcoZSl7ZS5leHBvcnRzPVsiU2FuIFNhbHZhZG9yIl19LDUxNDE1NihlKXtlLmV4cG9ydHM9WyJTYW50aWFnbyJdfSw5NTU0MzAoZSl7ZS5leHBvcnRzPVsiU2FvIFBhdWxvIl19LDc2MjE0NShlKXtlLmV4cG9ydHM9WyJTY2FsZSBwcmljZSBjaGFydCBvbmx5Il19LDczMDU4NihlKXtlLmV4cG9ydHM9WyJTZXR0aW5ncyJdfSw4NTAyOTgoZSl7ZS5leHBvcnRzPVsiU2Vjb25kIGZyYWN0aW9uIHBhcnQgaXMgaW52YWxpZC4iXX0sMTU0ODE0KGUpe2UuZXhwb3J0cz1bIlNlY29uZHMiXX0sNDQ0NDE4KGUpe2UuZXhwb3J0cz1bIlNlb3VsIl19LDE3ODQ2OShlKXtlLmV4cG9ydHM9WyJTZXAiXX0sNDE1MjYxKGUpe2UuZXhwb3J0cz1bIlNlcHRlbWJlciJdfSw3MTg1MjkoZSl7ZS5leHBvcnRzPVsiU2VyYmlhIl19LDEwOTk1NihlKXtlLmV4cG9ydHM9WyJTZXNzaW9uIl19LDc5MjQ5NihlKXtlLmV4cG9ydHM9WyJTZXNzaW9uIGJyZWFrcyJdfSw1Nzg4MzEoZSl7ZS5leHBvcnRzPVsiU2hhbmdoYWkiXX0sNjQ5MzczKGUpe2UuZXhwb3J0cz1bIlNob3cgYWxsIGRyYXdpbmdzIl19LDgxODc2MyhlKXtlLmV4cG9ydHM9WyJTaG93IGFsbCBkcmF3aW5ncyBhbmQgaW5kaWNhdG9ycyJdfSw0MjA2MjQoZSl7ZS5leHBvcnRzPVsiU2hvdyBhbGwgZHJhd2luZ3MsIGluZGljYXRvcnMsIHBvc2l0aW9ucywgYW5kIG9yZGVycyJdfSwyMDYzNzkoZSl7ZS5leHBvcnRzPVsiU2hvdyBhbGwgaW5kaWNhdG9ycyJdfSw3NzYwNjMoZSl7ZS5leHBvcnRzPVsiU2hvdyBhbGwgcG9zaXRpb25zIGFuZCBvcmRlcnMiXX0sNjQzNzk1KGUpe2UuZXhwb3J0cz1bIlNpbmdhcG9yZSJdfSw4MDY5NzMoZSl7ZS5leHBvcnRzPVsiU2tpbGxpbmciXX0sMjYzNDMyKGUpe2UuZXhwb3J0cz1bIlNsb3Zha2lhIl19LDcyMTgyMShlKXtlLmV4cG9ydHM9WyJTbG92ZW5pYSJdfSw3ODgzMjEoZSl7ZS5leHBvcnRzPVsiU3BhaW4iXX0sNjkxMjc5KGUpe2UuZXhwb3J0cz1bIlNwcmVhZGV4Il19LDgwNDc2NihlKXtlLmV4cG9ydHM9WyJTcmkgTGFua2EiXX0sOTkyMzYyKGUpe2UuZXhwb3J0cz1bIlN0dWRpZXMgbGltaXQgZXhjZWVkZWQ6IHtudW1iZXJ9IHN0dWRpZXMgcGVyIGxheW91dC5cblBsZWFzZSwgcmVtb3ZlIHNvbWUgc3R1ZGllcy4iXX0sOTMxOTkyKGUpe2UuZXhwb3J0cz1bIlN0eWxlIl19LDM3OTA1KGUpe2UuZXhwb3J0cz1bIlN0YWNrIG9uIHRoZSBsZWZ0Il19LDI3OTk3NyhlKXtlLmV4cG9ydHM9WyJTdGFjayBvbiB0aGUgcmlnaHQiXX0sMjU1NTExKGUpe2UuZXhwb3J0cz1bIlN0b2NraG9sbSJdfSwxMjMyMTkoZSl7ZS5leHBvcnRzPVsiU3RyYXRlZ3kgY2FsY3VsYXRpb24gb24gZWFjaCBoaXN0b3JpY2FsIHRpY2sgaXMgYXZhaWxhYmxlIHRvIFByZW1pdW0gYW5kIFVsdGltYXRlIHBsYW5zIG9ubHkuIFVwZ3JhZGUgeW91ciBwbGFuIHRvIGFjY2VzcyB0aGlzIGZlYXR1cmUuIl19LDUwNzQ1OChlKXtlLmV4cG9ydHM9WyJTdW4iXX0sNDMxNTE2KGUpe2UuZXhwb3J0cz1bIlN1blN3YXAgdjIgKFRST04pIl19LDkwOTMwNChlKXtlLmV4cG9ydHM9WyJTdW5kYXkiXX0sMTAzNShlKXtlLmV4cG9ydHM9WyJTdXNoaVN3YXAgdjIgKEV0aGVyZXVtKSJdfSwzMjQ3MDkoZSl7ZS5leHBvcnRzPVsiU3VzaGlTd2FwIHYyIChQb2x5Z29uKSJdfSwzNjk5NjMoZSl7ZS5leHBvcnRzPVsiU3dlZGVuIl19LDY2MDUzNChlKXtlLmV4cG9ydHM9WyJTd2lzc3F1b3RlIl19LDczMzk3MShlKXtlLmV4cG9ydHM9WyJTd2l0emVybGFuZCJdfSwxNzk5MzQoZSl7ZS5leHBvcnRzPVsiU3lkbmV5Il19LDcyMDUyKGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBFcnJvciJdfSw3NzA0MzcoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIG5hbWUgbGFiZWwiXX0sOTU3MTk5KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBsYXN0IHByaWNlIGxhYmVsIl19LDg4MjE1KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBwcmV2aW91cyBkYXkgY2xvc2UgcHJpY2UgbGFiZWwiXX0sMzQ5OTgzKGUpe2UuZXhwb3J0cz1bIlN5bmNTd2FwICh6a1N5bmMpIl19LDE2MTEzKGUpe2UuZXhwb3J0cz1bIlN5bmNTd2FwIHYyICh6a1N5bmMpIl19LDg2MDIxMShlKXtlLmV4cG9ydHM9WyJQU0Ug4oCUIFBoaWxpcHBpbmUgU3RvY2sgRXhjaGFuZ2UiXX0sMTMzNDY0KGUpe2UuZXhwb3J0cz1bIlBTRSDigJQgUHJhZ3VlIFN0b2NrIEV4Y2hhbmdlIl19LDk2MTI0NShlKXtlLmV4cG9ydHM9WyJQU1gg4oCUIFBha2lzdGFuIFN0b2NrIEV4Y2hhbmdlIl19LDk1NDA0MShlKXtlLmV4cG9ydHM9WyJQbkYiXX0sOTY4NjA5KGUpe2UuZXhwb3J0cz1bIlBvbGFuZCJdfSw4NDMyMzUoZSl7ZS5leHBvcnRzPVsiUG9sb25pZXgiXX0sMzk4OTQoZSl7ZS5leHBvcnRzPVsiUG9ydHVnYWwiXX0sODQ0NDM2KGUpe2UuZXhwb3J0cz1bIlBha2lzdGFuIl19LDY4MTU2NChlKXtlLmV4cG9ydHM9WyJQYW5jYWtlU3dhcCB2MiAoQk5CIGNoYWluKSJdfSw1MDIyNChlKXtlLmV4cG9ydHM9WyJQYW5jYWtlU3dhcCB2MyAoQk5CIGNoYWluKSJdfSwyNjEzMTQoZSl7ZS5leHBvcnRzPVsiUGFuY2FrZVN3YXAgdjMgKEV0aGVyZXVtKSJdfSw3ODU2MjkoZSl7ZS5leHBvcnRzPVsiUGFuY2FrZXN3YXAgdjMgKEFyYml0cnVtKSJdfSw1MjA5MTUoZSl7ZS5leHBvcnRzPVsiUGFuY2FrZXN3YXAgdjMgKEJhc2UpIl19LDMwMDM0MChlKXtlLmV4cG9ydHM9WyJQYW5jYWtlc3dhcCB2MyAoemtTeW5jKSJdfSw1NjIyMTUoZSl7ZS5leHBvcnRzPVsiUGFuZ29saW4gdjIgKEF2YWxhbmNoZSkiXX0sNjE3ODc0KGUpe2UuZXhwb3J0cz1bIlBhcmlzIl19LDI4OTQ5MyhlKXtlLmV4cG9ydHM9WyJQZXBwZXJzdG9uZSJdfSwxNTU4MzMoZSl7ZS5leHBvcnRzPVsiUGVyY2VudCJdfSwzNTAxMDgoZSl7ZS5leHBvcnRzPVsiUGVydGgiXX0sODUxMTExKGUpe2UuZXhwb3J0cz1bIlBlcnUiXX0sNzMzNTM5KGUpe2UuZXhwb3J0cz1bIlBoYXJhb2ggKEF2YWxhbmNoZSkiXX0sNzA1MzIyKGUpe2UuZXhwb3J0cz1bIlBoZW1leCJdfSw2MTM2NDcoZSl7ZS5leHBvcnRzPVsiUGhpbGlwcGluZXMiXX0sODMyMDM2KGUpe2UuZXhwb3J0cz1bIlBoaWxsaXAgTm92YSJdfSwzMzE5NTkoZSl7CmUuZXhwb3J0cz1bIlBob2VuaXgiXX0sNjc0NjcwKGUpe2UuZXhwb3J0cz1bIlBpb25leCJdfSwyODg5MTUoZSl7ZS5leHBvcnRzPVsiUGx1cyBidXR0b24iXX0sNTQ0NDAzKGUpe2UuZXhwb3J0cz1bIlByYWd1ZSJdfSw1NjUxNjEoZSl7ZS5leHBvcnRzPVsiUHJlL3Bvc3QgbWFya2V0IHByaWNlIGxhYmVsIl19LDQyMTEwKGUpe2UuZXhwb3J0cz1bIlByZS9wb3N0IG1hcmtldCBwcmljZSBsaW5lIl19LDQ1ODI2MihlKXtlLmV4cG9ydHM9WyJQcmUvcG9zdC9uaWdodCBtYXJrZXQgcHJpY2UgbGFiZWwiXX0sNDY2ODU1KGUpe2UuZXhwb3J0cz1bIlByZS9wb3N0L25pZ2h0IG1hcmtldCBwcmljZSBsaW5lIl19LDc0NjMwNShlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IHdpbGwgc3RhcnQgaW4ge3JlbWFpbmluZ1RpbWV9LiJdfSw3OTQzMzEoZSl7ZS5leHBvcnRzPVsiUHJldmlvdXMgZGF5IGNsb3NlIHByaWNlIGxpbmUiXX0sNjE2MTgoZSl7ZS5leHBvcnRzPVsiUHJpY2UgZm9ybWF0IGlzIGludmFsaWQuIl19LDg4MDIyMihlKXtlLmV4cG9ydHM9WyJQcmljZSBsaW5lIl19LDkzOTMwNyhlKXtlLmV4cG9ydHM9WyJQdWxzZXggKFB1bHNlY2hhaW4pIl19LDk3OTc1OShlKXtlLmV4cG9ydHM9WyJQdWxzZVggdjIgKFB1bHNlY2hhaW4pIl19LDExNTc5MShlKXtlLmV4cG9ydHM9WyJQdXJwbGUgVHJhZGluZyJdfSw2MDgxNjAoZSl7ZS5leHBvcnRzPVsiUHl0aCJdfSw4OTc2NyhlKXtlLmV4cG9ydHM9WyJRMSJdfSw5NDg5MjMoZSl7ZS5leHBvcnRzPVsiUTIiXX0sMzY3OTM1KGUpe2UuZXhwb3J0cz1bIlEzIl19LDE3NTUwNyhlKXtlLmV4cG9ydHM9WyJRNCJdfSw1OTU1NTUoZSl7ZS5leHBvcnRzPVsiUVNFIOKAlCBRYXRhciBTdG9jayBFeGNoYW5nZSJdfSw5MzM3NTMoZSl7ZS5leHBvcnRzPVsiUWF0YXIiXX0sNDkyMjgxKGUpe2UuZXhwb3J0cz1bIlF1aWNrU3dhcCB2MiAoUG9seWdvbikiXX0sODczMzk1KGUpe2UuZXhwb3J0cz1bIlF1aWNrU3dhcCB2MyAoUG9seWdvbiB6a0VWTSkiXX0sNTk2NTQyKGUpe2UuZXhwb3J0cz1bIlF1aWNrU3dhcCB2MyAoUG9seWdvbikiXX0sODE0NjEoZSl7ZS5leHBvcnRzPVsiUXVvdGVzIGFyZSBkZWxheWVkIGJ5IHtudW1iZXJ9IG1pbiJdfSw3OTA1MjQoZSl7ZS5leHBvcnRzPVsiUXVvdGVzIGFyZSBkZWxheWVkIGJ5IHtudW1iZXJ9IG1pbiBhbmQgdXBkYXRlZCBldmVyeSAzMCBzZWNvbmRzIl19LDQyMzQwMShlKXtlLmV4cG9ydHM9WyJST0ZFWCDigJQgTUFUQkEgUk9GRVgiXX0sMTI3MzM2KGUpe2UuZXhwb3J0cz1bIlJVUyJdfSw5MDU5NDUoZSl7ZS5leHBvcnRzPVsiUm9tYW5pYSJdfSwyMjU5OTEoZSl7ZS5leHBvcnRzPVsiUm9tZSJdfSw1NjU2MTEoZSl7ZS5leHBvcnRzPVsiUmF5ZGl1bSAoU29sYW5hKSJdfSwzNDM3OTEoZSl7ZS5leHBvcnRzPVsiUmF5ZGl1bSBDTE1NIChTb2xhbmEpIl19LDgwODk3MihlKXtlLmV4cG9ydHM9WyJSYXlkaXVtIENQTU0gKFNvbGFuYSkiXX0sNTI4MDQ4KGUpe2UuZXhwb3J0cz1bIlJhbXNlcyB2MiAoQXJiaXRydW0pIl19LDk5MDIxMyhlKXtlLmV4cG9ydHM9WyJSYW5nZSJdfSw3NTM4NTgoZSl7ZS5leHBvcnRzPVsiUmV5a2phdmlrIl19LDg4MzkyOChlKXtlLmV4cG9ydHM9WyJSZWFsLXRpbWUiXX0sNzk4MzA3KGUpe2UuZXhwb3J0cz1bIlJlZG8iXX0sOTExMjYoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIl19LDE1MDg5NyhlKXtlLmV4cG9ydHM9WyJSZW1vdmUgdGhpcyBpbmRpY2F0b3IgYW5kIGl0cyBkZXBlbmRlbnQgaW5kaWNhdG9ycz8iXX0sMTQ1Mzk2KGUpe2UuZXhwb3J0cz1bIlJlbW92ZSB7ZHJhd2luZ3N9Il19LDY4MzIwOChlKXtlLmV4cG9ydHM9WyJSZW1vdmUge2RyYXdpbmdzfSAmIHtpbmRpY2F0b3JzfSJdfSwxMjgxMzMoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIHtpbmRpY2F0b3JzfSJdfSw4ODk5OShlKXtlLmV4cG9ydHM9WyJSZW5rbyJdfSw4OTMwMjgoZSl7ZS5leHBvcnRzPVsiUmVwbGF5Il19LDk3NzI3KGUpe2UuZXhwb3J0cz1bIlJlcGxheSBNb2RlIl19LDk2NzczNShlKXtlLmV4cG9ydHM9WyJSZXBsYXkgaXNuJ3QgYXZhaWxhYmxlIGZvciB0aGlzIGNoYXJ0IHR5cGUuIENvbnRpbnVlIGFueXdheT8iXX0sNzg0MTE2KGUpe2UuZXhwb3J0cz1bIlJlcGxheSBpc24ndCBhdmFpbGFibGUgZm9yIHRoaXMgc3ltYm9sLiBDb250aW51ZSBhbnl3YXk/Il19LDIwNzg0NShlKXtlLmV4cG9ydHM9WyJSZXNldCBjaGFydCB2aWV3Il19LDkwNjQzNihlKXtlLmV4cG9ydHM9WyJSZXNldCB0aW1lIHNjYWxlIl19LDc4MDk1KGUpe2UuZXhwb3J0cz1bIlJpeWFkaCJdfSwyMjk2NDMoZSl7ZS5leHBvcnRzPVsiUmlnYSJdfSw0OTg0MTUoZSl7ZS5leHBvcnRzPVsiUmlnaHQiXX0sNzMwNjM4KGUpe2UuZXhwb3J0cz1bIlJ1bnRpbWUgZXJyb3IiXX0sMzkwNTk4KGUpe2UuZXhwb3J0cz1bIlJ1c3NpYW4gRmVkZXJhdGlvbiJdfSw0NjUyNjAoZSl7ZS5leHBvcnRzPVsiV09PIFgiXX0sMjkwNzIyKGUpe2UuZXhwb3J0cz1bIldCIC0gVmllbm5hIFN0b2NrIEV4Y2hhbmdlIl19LDQzNjg3MShlKXtlLmV4cG9ydHM9WyJXRUVYIl19LDQyMDkwMShlKXtlLmV4cG9ydHM9WyJXSCBTZWxmSW52ZXN0Il19LDU1NDM0MihlKXtlLmV4cG9ydHM9WyJXb3JsZCBlY29ub21pYyBkYXRhIl19LDkzNzAxNyhlKXtlLmV4cG9ydHM9WyJXYXJuaW5nIl19LDE2NDczNihlKXtlLmV4cG9ydHM9WyJXYXJzYXciXX0sNDY1ODUxKGUpe2UuZXhwb3J0cz1bIldlYnVsbCBQYXkiXX0sNDcwNDgwKGUpe2UuZXhwb3J0cz1bIldlZCJdfSw3NzI3NjUoZSl7ZS5leHBvcnRzPVsiV2VkbmVzZGF5Il19LDI1MTcyOChlKXtlLmV4cG9ydHM9WyJXZWVrcyJdfSw3NDI2NDIoZSl7ZS5leHBvcnRzPVsiV2h5IG1pZ2h0IG15IFVTIHN0b2NrIGRhdGEgbG9vayBkaWZmZXJlbnQ/Il19LDczMjQ0NShlKXtlLmV4cG9ydHM9WyJXaGl0ZUJJVCJdfSwyODU0ODQoZSl7ZS5leHBvcnRzPVsiVE1YIOKAlCBNb250cmVhbCBFeGNoYW5nZSJdfSw3ODIxNjIoZSl7ZS5leHBvcnRzPVsiVE9DT00g4oCUIFRva3lvIENvbW1vZGl0eSBFeGNoYW5nZSJdfSw1MjI3MDcoZSl7CmUuZXhwb3J0cz1bIlRBSUZFWCDigJQgVGFpd2FuIEZ1dHVyZXMgRXhjaGFuZ2UiXX0sMTc3OTcoZSl7ZS5leHBvcnRzPVsiVEFMU0Ug4oCUIE5hc2RhcSBUYWxsaW5uIl19LDIzMzU1KGUpe2UuZXhwb3J0cz1bIlRBU0Ug4oCUIFRlbCBBdml2IFN0b2NrIEV4Y2hhbmdlIl19LDU1MTQ5MShlKXtlLmV4cG9ydHM9WyJURkVYIOKAlCBUaGFpbGFuZCBGdXR1cmVzIEV4Y2hhbmdlIl19LDk2MzI3OChlKXtlLmV4cG9ydHM9WyJURlgg4oCUIFRva3lvIEZpbmFuY2lhbCBFeGNoYW5nZSJdfSwxNzQ4MTgoZSl7ZS5leHBvcnRzPVsiVFBFeCDigJQgVGFpcGVpIEV4Y2hhbmdlIl19LDg3MzAzNShlKXtlLmV4cG9ydHM9WyJUUE8iXX0sNDI5NzMzKGUpe2UuZXhwb3J0cz1bIlRQTyBSZXNldCBhbGwgc3BsaXRzIGFuZCBtZXJnZXMiXX0sOTQxNzQoZSl7ZS5leHBvcnRzPVsiVFNFIOKAlCBUb2t5byBTdG9jayBFeGNoYW5nZSJdfSw4OTUyNDYoZSl7ZS5leHBvcnRzPVsiVFNYIOKAlCBUb3JvbnRvIFN0b2NrIEV4Y2hhbmdlIl19LDE4MzUyNChlKXtlLmV4cG9ydHM9WyJUU1hWIOKAlCBUU1ggVmVudHVyZSBFeGNoYW5nZSJdfSw4MTYyNTMoZSl7ZS5leHBvcnRzPVsiVFdTRSDigJQgVGFpd2FuIFN0b2NrIEV4Y2hhbmdlIl19LDc1MzAyNChlKXtlLmV4cG9ydHM9WyJUbyBjYWxjdWxhdGUgdGhlIFZXQVAgaW5kaWNhdG9yLCBtb3JlIGRhdGEgaXMgbmVlZGVkLiBab29tIG91dCBvciBzY3JvbGwgbGVmdCB0byBsb2FkIG1vcmUgaGlzdG9yaWNhbCBkYXRhLiJdfSw2MjM1NDYoZSl7ZS5leHBvcnRzPVsiVG90YWwiXX0sMTA0MTc3KGUpe2UuZXhwb3J0cz1bIlRva2VsYXUiXX0sNzk4MTk5KGUpe2UuZXhwb3J0cz1bIlRva3lvIl19LDQxNjE5KGUpe2UuZXhwb3J0cz1bIlRvb2JpdCJdfSw5NjUzODgoZSl7ZS5leHBvcnRzPVsiVG9wIl19LDE2MzY3MihlKXtlLmV4cG9ydHM9WyJUb3JvbnRvIl19LDIzODMzNihlKXtlLmV4cG9ydHM9WyJUYWJsZSB2aWV3Il19LDY5NzY0NyhlKXtlLmV4cG9ydHM9WyJUYWRhd3VsIOKAlCBTYXVkaSBFeGNoYW5nZSJdfSw0NzYwMjYoZSl7ZS5leHBvcnRzPVsiVGFpcGVpIl19LDI3MzE1NyhlKXtlLmV4cG9ydHM9WyJUYWl3YW4sIENoaW5hIl19LDY1MjE3NihlKXtlLmV4cG9ydHM9WyJUYWxsaW5uIl19LDc5MTE1KGUpe2UuZXhwb3J0cz1bIlRleHQiXX0sNzQxNjk3KGUpe2UuZXhwb3J0cz1bIlRleHQgd3JhcCJdfSwyNzQ5NTMoZSl7ZS5leHBvcnRzPVsiVGV4dCBhbGlnbm1lbnQiXX0sMzcyMjMoZSl7ZS5leHBvcnRzPVsiVGV4dCBvcmllbnRhdGlvbiJdfSw3NDI5OChlKXtlLmV4cG9ydHM9WyJUZWhyYW4iXX0sMjEyNTY0KGUpe2UuZXhwb3J0cz1bIlRlbXBvcmFyeSBnbGl0Y2giXX0sMzAxNDg5KGUpe2UuZXhwb3J0cz1bIlRodSJdfSw4MzQ2NzEoZSl7ZS5leHBvcnRzPVsiVGh1cnNkYXkiXX0sNTUzMDQ0KGUpe2UuZXhwb3J0cz1bIlRoYWlsYW5kIl19LDI3ODc4OChlKXtlLmV4cG9ydHM9WyJUaGUgVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIl19LDgyMzE2NihlKXtlLmV4cG9ydHM9WyJUaGUgZGF0YSB2ZW5kb3IgZG9lc24ndCBwcm92aWRlIHZvbHVtZSBkYXRhIGZvciB0aGlzIHN5bWJvbC4iXX0sNjAxNzAzKGUpe2UuZXhwb3J0cz1bIlRoZSBpbWFnZSBiZWluZyBwYXN0ZWQgaXMgd2F5IHRvbyBsYXJnZSJdfSwxODIwMjAoZSl7ZS5leHBvcnRzPVsiVGhlIHJlcXVlc3QgdG9vayB0b28gbG9uZyB0byBwcm9jZXNzLiBFbnN1cmUgeW91IGhhdmUgYSBzdGFibGUgaW50ZXJuZXQgY29ubmVjdGlvbi4gSWYgdGhlIGlzc3VlIHBlcnNpc3RzLCB0cnkgZGVjcmVhc2luZyB0aGUgbGVuZ3RoIG9mIHRoZSByZXF1ZXN0ZWQgdGltZSBpbnRlcnZhbC4iXX0sMjM4Njg0KGUpe2UuZXhwb3J0cz1bIlRoZSBzY3JpcHQgeW91J3JlIGxvb2tpbmcgZm9yIGhhcyB2YW5pc2hlZCDigJQgbWF5YmUgaXQncyBiZWVuIHJlbW92ZWQgb3IgdGhlcmUncyBhIGdsaXRjaC4gQ29udGFjdCB0aGUgYXV0aG9yIHRvIGxlYXJuIG1vcmUuIl19LDcxMjE4NihlKXtlLmV4cG9ydHM9WyJUaGVyZSdzIG5vIGRhdGEgZm9yIHlvdXIgc2VsZWN0ZWQgcGVyaW9kIGFuZCBjaGFydCB0aW1lZnJhbWUuIl19LDUxOTE5MihlKXtlLmV4cG9ydHM9WyJUaGlua01hcmtldHMiXX0sNDA5MjEoZSl7ZS5leHBvcnRzPVsiVGhpcyBkcmF3aW5nIGlzIGxvY2tlZCBhbmQgdXNlZCBpbiBhbiBhbGVydC4gUmVtb3ZlIGl0IGFueXdheT8iXX0sMTQwNDA3KGUpe2UuZXhwb3J0cz1bIlRoaXMgZHJhd2luZyBpcyB1c2VkIGluIGFuIGFsZXJ0LiBSZW1vdmUgaXQgYW55d2F5PyJdfSw5MDAwNDEoZSl7ZS5leHBvcnRzPVsiVGhpcyBpbmRpY2F0b3IgaGFzIG5vIHNvdXJjZS10eXBlIGlucHV0LCBzbyBpdCBjYW4ndCBiZSBhcHBsaWVkIHRvIGFub3RoZXIgaW5kaWNhdG9yLiJdfSw0ODc2OTUoZSl7ZS5leHBvcnRzPVsiVGhpcyBzY3JpcHQgaXMgaW52aXRlLW9ubHkuIFRvIHJlcXVlc3QgYWNjZXNzLCBwbGVhc2UgY29udGFjdCBpdHMgYXV0aG9yLiJdfSw1MzM5NTYoZSl7ZS5leHBvcnRzPVsiVGhpcyBzeW1ib2wgaXMgb25seSBhdmFpbGFibGUgb24ge2xpbmtTdGFydH1UcmFkaW5nVmlld3tsaW5rRW5kfS4iXX0sOTk4MDQ0KGUpe2UuZXhwb3J0cz1bIlRpY2ttaWxsIl19LDM3MDI0MyhlKXtlLmV4cG9ydHM9WyJUaWNrcyJdfSw0Nzk0MTYoZSl7ZS5leHBvcnRzPVsiVGljay1iYXNlZCBpbnRlcnZhbHMgYXJlIG5vdCBhdmFpbGFibGUgZm9yIHt0aWNrZXJ9LiJdfSw4NjIxMTkoZSl7ZS5leHBvcnRzPVsiVGltZSJdfSwyMjQxOTgoZSl7ZS5leHBvcnRzPVsiVGltZSB6b25lIl19LDIxNTk5OChlKXtlLmV4cG9ydHM9WyJUaW1lIGZvciBhIHdhbGsg4oCUIHRoaXMgbWFya2V0IGlzIGNsb3NlZC4iXX0sODAwMDA1KGUpe2UuZXhwb3J0cz1bIlRyYWRlIE5hdGlvbiJdfSwxMzc1NTEoZSl7ZS5leHBvcnRzPVsiVHJhZGVnYXRlIEV4Y2hhbmdlIl19LDE1MDI0MihlKXtlLmV4cG9ydHM9WyJUcmFkZXIgSm9lIHYyIChBdmFsYW5jaGUpIl19LDUzMjE0NShlKXtlLmV4cG9ydHM9WyJUcmVuZCBsaW5lIl19LDE2NTQ2NShlKXtlLmV4cG9ydHM9WyJUcml2ZSJdfSw0NzQ5MyhlKXtlLmV4cG9ydHM9WyJUdWUiXX0sCjQ1NjMzNChlKXtlLmV4cG9ydHM9WyJUdWVzZGF5Il19LDMwNzI0OChlKXtlLmV4cG9ydHM9WyJUdW5pcyJdfSw2Nzc1OShlKXtlLmV4cG9ydHM9WyJUdW5pc2lhIl19LDE0OTE4MShlKXtlLmV4cG9ydHM9WyJUdXJib3MgRmluYW5jZSAoU3VpKSJdfSw2MzE4MTAoZSl7ZS5leHBvcnRzPVsiVHVya2V5Il19LDM2MTYzMihlKXtlLmV4cG9ydHM9WyJUdXJxdW9pc2UiXX0sMTYzMTEwKGUpe2UuZXhwb3J0cz1bIlVBRSJdfSw1ODc1MzMoZSl7ZS5leHBvcnRzPVsiVUsiXX0sMzAxMTE3KGUpe2UuZXhwb3J0cz1bIlVTQSJdfSwxMzkxNDEoZSl7ZS5leHBvcnRzPVsiVVNJIl19LDkxMjI1NShlKXtlLmV4cG9ydHM9WyJVVEMiXX0sNzQxMzMoZSl7ZS5leHBvcnRzPVsiVW5kbyJdfSw5MzI4KGUpe2UuZXhwb3J0cz1bIlVuZXhwZWN0ZWQgZXJyb3IgaW4gRGVlcCBCYWNrdGVzdGluZyBtb2RlLiBDb250YWN0IHN1cHBvcnQgZm9yIG1vcmUgaW5mb3JtYXRpb24uIl19LDcwMzkyOShlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHYyIChCYXNlKSJdfSwzNjU5NDUoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MiAoRXRoZXJldW0pIl19LDU5MTk3MChlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHYzIChBcmJpdHJ1bSkiXX0sNzgxNTEoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoQXZhbGFuY2hlKSJdfSw0MDA2OTcoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoQk5CIGNoYWluKSJdfSw5OTYyNjUoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoQmFzZSkiXX0sMjgyNTA1KGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjMgKEV0aGVyZXVtKSJdfSw4NDM3ODQoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoT3B0aW1pc20pIl19LDc4Mzc3NShlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHYzIChQb2x5Z29uKSJdfSw3NTc1OTMoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2NCAoQXJiaXRydW0pIl19LDExMTMwMChlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHY0IChBdmFsYW5jaGUpIl19LDI0NTE2MihlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHY0IChCTkIgY2hhaW4pIl19LDI3Mjg0KGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjQgKEJhc2UpIl19LDcwODY4MihlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHY0IChFdGhlcmV1bSkiXX0sNDcwNDgzKGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjQgKE9wdGltaXNtKSJdfSw3ODQxMjIoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2NCAoUG9seWdvbikiXX0sNjg5MzE3KGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjQgKFVuaWNoYWluKSJdfSwyNDkwOTEoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIEFyYWIgRW1pcmF0ZXMiXX0sMjgyNzMoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIEtpbmdkb20iXX0sOTkxMjU4KGUpe2UuZXhwb3J0cz1bIlVua25vd24gZXJyb3IiXX0sODQ2NTk4KGUpe2UuZXhwb3J0cz1bIlVuc3VwcG9ydGVkIGludGVydmFsIl19LDYyMTk4NChlKXtlLmV4cG9ydHM9WyJVaC1vaCEgU29tZXRoaW5nJ3Mgbm90IHdvcmtpbmcgcmlnaHQiXX0sMTkzODE4KGUpe2UuZXhwb3J0cz1bIlVwQml0Il19LDI4MDYyKGUpe2UuZXhwb3J0cz1bIlVwZ3JhZGUgdG8gdGhlIFByZW1pdW0gcGxhbiB0byBhY2Nlc3MgaGlnaGVyIGJhciBkZXRhbGl6YXRpb24gd2l0aCBtb3JlIHRpY2tzIHVzZWQgaW4gY2FsY3VsYXRpb25zLiJdfSw5MjM5MTIoZSl7ZS5leHBvcnRzPVsiVXBncmFkZSB0byB1bmxvY2sgZm9yZWNhc3QgbWV0cmljcyJdfSw1OTkwMDkoZSl7ZS5leHBvcnRzPVsiVXBwZXIgRGV2aWF0aW9uIl19LDU4MDgxKGUpe2UuZXhwb3J0cz1bIlVzZSBMb3dlciBEZXZpYXRpb24iXX0sMjA4NzQ1KGUpe2UuZXhwb3J0cz1bIlVzZSBVcHBlciBEZXZpYXRpb24iXX0sODY0ODQ2KGUpe2UuZXhwb3J0cz1bIlVzZSBvbmUgY29sb3IiXX0sNDIwNDQ5KGUpe2UuZXhwb3J0cz1bIlVzZXItZGVmaW5lZCBlcnJvciJdfSw5OTc1MDAoZSl7ZS5leHBvcnRzPVsiVlNFIOKAlCBOYXNkYXEgVmlsbml1cyJdfSwyMzEzMjUoZSl7ZS5leHBvcnRzPVsiVlZTIEZpbmFuY2UgKENyb25vcykiXX0sOTk0MTc2KGUpe2UuZXhwb3J0cz1bIlZWUyB2MyAoQ3Jvbm9zKSJdfSwzNjQ3MzYoZSl7ZS5leHBvcnRzPVsiVldBUCBpcyB3YWl0aW5nIGZvciBtb3JlIGRhdGEiXX0sNTMzMDc3KGUpe2UuZXhwb3J0cz1bIlZvbG1leCJdfSwzMzI1ODcoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIFByb2ZpbGUgaW5kaWNhdG9yIGF2YWlsYWJsZSBvbmx5IG9uIG91ciB1cGdyYWRlZCBwbGFucy4iXX0sNDk3NjQyKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBkYXRhIGlzIG5vdCBwcm92aWRlZCBpbiBCSVNUIE1JWEVEIGRhdGEgcGxhbi4iXX0sNDg3MjQyKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBmb290cHJpbnQiXX0sNTkxMzIoZSl7ZS5leHBvcnRzPVsiVmFuY291dmVyIl19LDQ2MjUxNyhlKXtlLmV4cG9ydHM9WyJWYW50YWdlIl19LDY4MDc5KGUpe2UuZXhwb3J0cz1bIlZlbG9jaXR5IFRyYWRlIl19LDQ0NDgyNShlKXtlLmV4cG9ydHM9WyJWZWxvZHJvbWUgKE9wdGltaXNtKSJdfSw1MzMyNTAoZSl7ZS5leHBvcnRzPVsiVmVsb2Ryb21lIFNsaXBTdHJlYW0gKE9wdGltaXNtKSJdfSw5NTc3MzQoZSl7ZS5leHBvcnRzPVsiVmVsb2Ryb21lIHYyIChPcHRpbWlzbSkiXX0sNjQzNTAzKGUpe2UuZXhwb3J0cz1bIlZlbmV6dWVsYSJdfSw4MDA1MDMoZSl7ZS5leHBvcnRzPVsiVmVydGljYWwiXX0sNjE0NDIoZSl7ZS5leHBvcnRzPVsiVmllbm5hIl19LDg1MjIxKGUpe2UuZXhwb3J0cz1bIlZpZXRuYW0iXX0sMTAwMzAxKGUpe2UuZXhwb3J0cz1bIlZpbG5pdXMiXX0sOTg3NzMzKGUpe2UuZXhwb3J0cz1bIlZpc2liaWxpdHkiXX0sNTI0Nzk1KGUpe2UuZXhwb3J0cz1bIlZpc2libGUgb24gdGFwIl19LDIxNTY3MShlKXtlLmV4cG9ydHM9WyJWaXNpYmxlIG9uIG1vdXNlIG92ZXIiXX0sOTYxODQ3KGUpe2UuZXhwb3J0cz1bIlhFVFIg4oCUIFhldHJhIl19LDY4NjExNChlKXtlLmV4cG9ydHM9WyJYVC5jb20iXX0sNTU4NDQ0KGUpewplLmV4cG9ydHM9WyJZb3UgYXJlIGluIHRoZSBjaGFydCByZXBsYXkgbW9kZS4gQW4gb3JkZXIgd2lsbCBiZSBwbGFjZWQgaW4gcmVhbC10aW1lLiBEbyB5b3Ugc3RpbGwgd2FudCB0byBwbGFjZSB0aGUgb3JkZXI/Il19LDcyMzYzKGUpe2UuZXhwb3J0cz1bIllvdSBhcmUgbm90aWZpZWQiXX0sMTkxMDYoZSl7ZS5leHBvcnRzPVsiWW91IGNhbiBzdGF5IG9uIHRoZSBwcmV2aW91cyBjaGFydCB0eXBlIG9yIGNvbnRpbnVlIHRvIHVzZSBhIG5ldyBvbmUgd2l0aG91dCBiYXIgcmVwbGF5LiJdfSw0MTYxMTkoZSl7ZS5leHBvcnRzPVsiWW91IGNhbiBzdGF5IG9uIHRoZSBwcmV2aW91cyBzeW1ib2wgb3IgY29udGludWUgdG8gdXNlIGEgbmV3IG9uZSB3aXRob3V0IGJhciByZXBsYXkuIl19LDI5OTE4OChlKXtlLmV4cG9ydHM9WyJZb3UgY2Fubm90IHNlZSB0aGlzIHBpdm90IHRpbWVmcmFtZSBvbiB0aGlzIHJlc29sdXRpb24iXX0sNTA1OTg1KGUpe2UuZXhwb3J0cz1bIllvdSBoYXZlIGxvY2tlZCBkcmF3aW5ncyBvbiB0aGlzIHN5bWJvbC4gRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBsb2NrZWQgZHJhd2luZ3MgdG9vPyJdfSwxNzczNTQoZSl7ZS5leHBvcnRzPVsiWWFuZ29uIl19LDk4NTgyNihlKXtlLmV4cG9ydHM9WyJZZXMsIHJlbW92ZSB0aGVtIl19LDgxODg1MChlKXtlLmV4cG9ydHM9WyJaQ0Ug4oCUIFpoZW5nemhvdSBDb21tb2RpdHkgRXhjaGFuZ2UiXX0sNTM3MTM3KGUpe2UuZXhwb3J0cz1bIlpTRSDigJQgWmFncmViIFN0b2NrIEV4Y2hhbmdlIl19LDU3MDQwMyhlKXtlLmV4cG9ydHM9WyJab29tZXgiXX0sNzkyMzg2KGUpe2UuZXhwb3J0cz1bIlphZ3JlYiJdfSw0NzM0OTYoZSl7ZS5leHBvcnRzPVsiWnVyaWNoIl19LDkxNzU5MChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugbm8gb3ZlcmxhcHBpbmcgbGFiZWxzIl19LDUxNjQ2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBhdmVyYWdlIGNsb3NlIHByaWNlIGxhYmVsIHZpc2liaWxpdHkiXX0sNDA1MzUyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBhdmVyYWdlIGNsb3NlIHByaWNlIGxpbmUgdmlzaWJpbGl0eSJdfSw5ODc5NzEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGJhciBYIGNvb3JkaW5hdGUiXX0sMTQxNTUzKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBiaWQgYW5kIGFzayBsYWJlbHMgdmlzaWJpbGl0eSJdfSwzOTYwNDkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGJpZCBhbmQgYXNrIGxpbmVzIHZpc2liaWxpdHkiXX0sOTkzOShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgY2hhcnQgbGF5b3V0IHRvIHt0aXRsZX0iXX0sMzk5MjU0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBjb3VudGRvd24gdG8gYmFyIGNsb3NlIHZpc2liaWxpdHkiXX0sMjQ3MDE0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBkYXRlIHJhbmdlIl19LDU2OTg3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBoaWdoIGFuZCBsb3cgcHJpY2UgbGFiZWxzIHZpc2liaWxpdHkiXX0sMTg0NjY2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBoaWdoIGFuZCBsb3cgcHJpY2UgbGluZXMgdmlzaWJpbGl0eSJdfSwzODYzMzUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGluZGljYXRvcnMgYW5kIGZpbmFuY2lhbHMgbmFtZSBsYWJlbHMgdmlzaWJpbGl0eSJdfSw2MjQzNjAoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGluZGljYXRvcnMgYW5kIGZpbmFuY2lhbHMgdmFsdWUgbGFiZWxzIHZpc2liaWxpdHkiXX0sNzM5MDg3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwbHVzIGJ1dHRvbiB2aXNpYmlsaXR5Il19LDU3NjcwMShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJlL3Bvc3QgbWFya2V0IHByaWNlIGxhYmVsIHZpc2liaWxpdHkiXX0sMTc2NzQ1KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwcmUvcG9zdCBtYXJrZXQgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDg0NDk4NChlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJlL3Bvc3QvbmlnaHQgbWFya2V0IHByaWNlIGxhYmVsIHZpc2liaWxpdHkiXX0sMzk0MjgyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwcmUvcG9zdC9uaWdodCBtYXJrZXQgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDg4NjkxMShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJldmlvdXMgY2xvc2UgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDE5NTIxOChlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJpY2UgWSBjb29yZGluYXRlIl19LDMyMjkxMihlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDc0MzM0MShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcmVzb2x1dGlvbiJdfSwxODc2OShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIl19LDE1NjEwOChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIGxhYmVscyB2aXNpYmlsaXR5Il19LDIyNTkwMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIGxhc3QgdmFsdWUgdmlzaWJpbGl0eSJdfSw1OTQyMDkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHN5bWJvbCBwcmV2aW91cyBjbG9zZSB2YWx1ZSB2aXNpYmlsaXR5Il19LDcyMzQyNihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc2Vzc2lvbiJdfSwxNDYyMDIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHNlc3Npb24gYnJlYWtzIHZpc2liaWxpdHkiXX0sNTg3MjQyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBzZXJpZXMgc3R5bGUiXX0sMTMxNDA4KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB0aW1lem9uZSJdfSw1MzU0MzMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gY29lZmZzIGFzIHBlcmNlbnRzIHZpc2liaWxpdHkiXX0sNjgwMjY0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGFsbCBsaW5lcyBjb2xvciJdfSw5NDQyNjMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gYmFja2dyb3VuZCB0cmFuc3BhcmVuY3kiXX0sMzE5NTE0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGJhY2tncm91bmQgdmlzaWJpbGl0eSJdfSwyNzA3OTAoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gZGF5cyB0byJdfSwyMDM5MDEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gZGF5cyBmcm9tIl19LDkzMTY1NyhlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBob3VycyBmcm9tIl19LAo2NTM4MzEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gaG91cnMgdG8iXX0sMjQ0NDc1KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGxldmVsIHtpbmRleH0gbGluZSBjb2VmZiJdfSwxNTIyNihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBsZXZlbCB7aW5kZXh9IGxpbmUgY29sb3IiXX0sMTc4NTIxKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGxldmVsIHtpbmRleH0gbGluZSB2aXNpYmlsaXR5Il19LDM1MzgyNShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBsZXZlbCB7aW5kZXh9IGxpbmUgd2lkdGgiXX0sNDc1MDU3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGxldmVscyB2aXNpYmlsaXR5Il19LDg3ODk5MChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBtb250aHMgZnJvbSJdfSwyMzg4MihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBtb250aHMgdG8iXX0sOTEyNTcwKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IG1pbnV0ZXMgdG8iXX0sMzMxMjgxKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IG1pbnV0ZXMgZnJvbSJdfSwzODI3MjMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gc2Vjb25kcyB0byJdfSw5MzQ3MzYoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gc2Vjb25kcyBmcm9tIl19LDQ3NTIyMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB3ZWVrcyBmcm9tIl19LDIxNDIwNChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB3ZWVrcyB0byJdfSw4NTg4OTkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdGV4dCJdfSw0NTE3MzIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiB0aWNrcyJdfSw2MDc2NjIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiB3ZWVrcyJdfSwzMTQwNjUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiB7cmFuZ2VzfSJdfSw1OTIyODQoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiBkYXlzIl19LDI0MTM2OShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB2aXNpYmlsaXR5IG9uIGhvdXJzIl19LDEwMzg3OShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB2aXNpYmlsaXR5IG9uIG1pbnV0ZXMiXX0sODkxMzk1KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IHZpc2liaWxpdHkgb24gbW9udGhzIl19LDQwNDkxMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB2aXNpYmlsaXR5IG9uIHNlY29uZHMiXX0sODI4NTc5KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IGxhYmVscyBhbGlnbm1lbnQgdmVydGljYWwiXX0sODgxNzQ2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IGxhYmVscyBhbGlnbm1lbnQgaG9yaXpvbnRhbCJdfSw4MTAzNzcoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGFiZWxzIGRpcmVjdGlvbiJdfSw2Njg5MTUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGluZSB2aXNpYmlsaXR5Il19LDcxNjM2MihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIHdpZHRoIl19LDg2NjcxMShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIGNvbG9yIl19LDIxODA2NyhlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIGV4dGVuZGluZyBsZWZ0Il19LDgzODk1OChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIGV4dGVuZGluZyByaWdodCJdfSw4NzIxODUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGluZSBsZWZ0IGVuZCJdfSw1NTE0NzAoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGluZSByaWdodCBlbmQiXX0sNDk5NTIzKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IGxpbmUgc3R5bGUiXX0sMjQwMzgyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQiXX0sNDY3Njg0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgdmlzaWJpbGl0eSJdfSwxNTUwNDQoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gdGV4dCB3cmFwIl19LDYyODgzOChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSB0ZXh0IGJhY2tncm91bmQgY29sb3IiXX0sNTMxMzk3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYmFja2dyb3VuZCB2aXNpYmlsaXR5Il19LDIyMTc0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYm9yZGVyIGNvbG9yIl19LDgxODAyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYm9yZGVyIHdpZHRoIl19LDEyMzc5KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYm9yZGVyIHZpc2liaWxpdHkiXX0sMTY1MzA0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgY29sb3IiXX0sNjc1NDQ2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgZm9udCBib2xkIl19LDU2Mzk0NChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSB0ZXh0IGZvbnQgaXRhbGljIl19LDI3MDA1MihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSB0ZXh0IGZvbnQgc2l6ZSJdfSwxMDMzMjcoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHtwcm9wZXJ0eU5hbWV9IHByb3BlcnR5Il19LDI4ODc5NyhlKXtlLmV4cG9ydHM9WyJjcmVhdGUgbGluZSB0b29scyBncm91cCJdfSwxMzQ1NTgoZSl7ZS5leHBvcnRzPVsiY3JlYXRlIGxpbmUgdG9vbHMgZ3JvdXAgZnJvbSBzZWxlY3Rpb24iXX0sNTQ5OTg2KGUpe2UuZXhwb3J0cz1bImNyZWF0ZSB7dG9vbH0iXX0sNzIxMTE4KGUpe2UuZXhwb3J0cz1bImFubnVhbGx5Il19LDY4OTU4MChlKXtlLmV4cG9ydHM9WyJhZGQgbGluZSB0b29sIHtsaW5lVG9vbH0gdG8gZ3JvdXAge25hbWV9Il19LDQzOTU5MChlKXtlLmV4cG9ydHM9WyJhZGQgbGluZSB0b29sKHMpIHRvIGdyb3VwIHtncm91cH0iXX0sNjQ3NjU2KGUpewplLmV4cG9ydHM9WyJhcHBseSBjaGFydCB0aGVtZSJdfSwzNDc1ODUoZSl7ZS5leHBvcnRzPVsiYXBwbHkgYWxsIGNoYXJ0IHByb3BlcnRpZXMiXX0sODk3NDc2KGUpe2UuZXhwb3J0cz1bImFwcGx5IGluZGljYXRvcnMgdG8gZW50aXJlIGxheW91dCJdfSwzODE1MTMoZSl7ZS5leHBvcnRzPVsiYXBwbHkgc3R1ZHkgdGVtcGxhdGUge3RlbXBsYXRlfSJdfSw2NjMxMjgoZSl7ZS5leHBvcnRzPVsiYXBwbHkgdG9vbGJhcnMgdGhlbWUiXX0sMjUxOTQ4KGUpe2UuZXhwb3J0cz1bImJpdEZseWVyIl19LDY1MzY5KGUpe2UuZXhwb3J0cz1bImJpbGxlZCBtb250aGx5Il19LDI2MDE5MyhlKXtlLmV4cG9ydHM9WyJiaWxsZWQgYW5udWFsbHkiXX0sNjAyNDMxKGUpe2UuZXhwb3J0cz1bImJyaW5nIGdyb3VwIHt0aXRsZX0gZm9yd2FyZCJdfSwzODY1MjIoZSl7ZS5leHBvcnRzPVsiYnJpbmcge3RpdGxlfSB0byBmcm9udCJdfSw4ODcyODIoZSl7ZS5leHBvcnRzPVsiYnJpbmcge3RpdGxlfSBmb3J3YXJkIl19LDE2NDAxOChlKXtlLmV4cG9ydHM9WyJkWWRYIl19LDIzMDk1NyhlKXtlLmV4cG9ydHM9WyJkYXRlIHJhbmdlIGxvY2siXX0sMjc1MjkoZSl7ZS5leHBvcnRzPVsiZGF5cyJdfSw4MTMwOTYoZSl7ZS5leHBvcnRzPVsiZGF5cyB0byJdfSw0MDIwNTEoZSl7ZS5leHBvcnRzPVsiZGF5cyBmcm9tIl19LDQyNDMzNChlKXtlLmV4cG9ydHM9WyJlYXN5TWFya2V0cyJdfSwyNjY3NzUoZSl7ZS5leHBvcnRzPVsiZXJhc2UgbGV2ZWwgbGluZSJdfSwyODg1NzAoZSl7ZS5leHBvcnRzPVsiZXhjbHVkZSBsaW5lIHRvb2xzIGZyb20gZ3JvdXAge2dyb3VwfSJdfSw1OTIxMTMoZSl7ZS5leHBvcnRzPVsiaG91cnMiXX0sNTY0OTk1KGUpe2UuZXhwb3J0cz1bImhvdXJzIGZyb20iXX0sNDMwOTQ5KGUpe2UuZXhwb3J0cz1bImhvdXJzIHRvIl19LDU4OTgxNShlKXtlLmV4cG9ydHM9WyJoaWRlIHt0aXRsZX0iXX0sNDc3NjY1KGUpe2UuZXhwb3J0cz1bImhpZGUgbWFya3Mgb24gYmFycyJdfSw2NTM1NzAoZSl7ZS5leHBvcnRzPVsiaUJyb2tlciJdfSwyMjIyODYoZSl7ZS5leHBvcnRzPVsiaW50ZXJ2YWwgbG9jayJdfSwxMDg2MDIoZSl7ZS5leHBvcnRzPVsiaW5zZXJ0IHt0aXRsZX0gYWZ0ZXIge3RhcmdldFRpdGxlfSJdfSw3ODE3MjEoZSl7ZS5leHBvcnRzPVsiaW5zZXJ0IHt0aXRsZX0gYmVmb3JlIHt0YXJnZXRUaXRsZX0iXX0sOTIxNzM4KGUpe2UuZXhwb3J0cz1bImxvYWRpbmcuLi4iXX0sNjIwOTI3KGUpe2UuZXhwb3J0cz1bImxvY2sge3RpdGxlfSJdfSw3MDYzMDgoZSl7ZS5leHBvcnRzPVsibG9jayBncm91cCB7Z3JvdXB9Il19LDg0MjI3NihlKXtlLmV4cG9ydHM9WyJsZXNzIHRoYW4gMSBtaW51dGUiXX0sOTY1NzkwKGUpe2UuZXhwb3J0cz1bIm1vdmUiXX0sOTYzNTUxKGUpe2UuZXhwb3J0cz1bIm1vdmUgYWxsIHNjYWxlcyB0byBsZWZ0Il19LDc5MTM3MShlKXtlLmV4cG9ydHM9WyJtb3ZlIGFsbCBzY2FsZXMgdG8gcmlnaHQiXX0sMTcwODE5KGUpe2UuZXhwb3J0cz1bIm1vdmUgZHJhd2luZ3MiXX0sNTU2NTY4KGUpe2UuZXhwb3J0cz1bIm1vbnRobHkiXX0sMTk0MzU1KGUpe2UuZXhwb3J0cz1bIm1vbnRocyJdfSw3OTI2NTYoZSl7ZS5leHBvcnRzPVsibW9udGhzIGZyb20iXX0sNTM1NjAwKGUpe2UuZXhwb3J0cz1bIm1vbnRocyB0byJdfSw1NzIzMzQoZSl7ZS5leHBvcnRzPVsibWFrZSBncm91cCB7Z3JvdXB9IGludmlzaWJsZSJdfSwzNTY1NDEoZSl7ZS5leHBvcnRzPVsibWFrZSBncm91cCB7Z3JvdXB9IHZpc2libGUiXX0sNzQ1MTUzKGUpe2UuZXhwb3J0cz1bIm1lWEJUIl19LDY4MTcwMShlKXtlLmV4cG9ydHM9WyJtaW51dGVzIl19LDE3NDM1NihlKXtlLmV4cG9ydHM9WyJtaW51dGVzIHRvIl19LDc3MjM5OShlKXtlLmV4cG9ydHM9WyJtaW51dGVzIGZyb20iXX0sNjkyNTg5KGUpe2UuZXhwb3J0cz1bIm4vYSJdfSwzODYzNzMoZSl7ZS5leHBvcnRzPVsibm90IGF1dGhvcml6ZWQiXX0sMjU2OTY4KGUpe2UuZXhwb3J0cz1bInNjYWxlIHByaWNlIl19LDIzMTgzMShlKXtlLmV4cG9ydHM9WyJzY2FsZSBwcmljZSBjaGFydCBvbmx5Il19LDYxNDkwNihlKXtlLmV4cG9ydHM9WyJzY3JvbGwiXX0sNzc5MTg0KGUpe2UuZXhwb3J0cz1bInNldCBsYXlvdXQgc2l6ZXMiXX0sODMyNjYwKGUpe2UuZXhwb3J0cz1bInNlY29uZHMiXX0sMjQ5NTU3KGUpe2UuZXhwb3J0cz1bInNlY29uZHMgdG8iXX0sODEwNDcwKGUpe2UuZXhwb3J0cz1bInNlY29uZHMgZnJvbSJdfSw1NDAwMzgoZSl7ZS5leHBvcnRzPVsic2VuZCB7dGl0bGV9IGJhY2t3YXJkIl19LDUwMTUwNyhlKXtlLmV4cG9ydHM9WyJzZW5kIHt0aXRsZX0gdG8gYmFjayJdfSw1MTc2MjIoZSl7ZS5leHBvcnRzPVsic2VuZCBncm91cCB7dGl0bGV9IGJhY2t3YXJkIl19LDQ4MjExOChlKXtlLmV4cG9ydHM9WyJzdGF5IGluIGRyYXdpbmcgbW9kZSJdfSw0ODg4ODEoZSl7ZS5leHBvcnRzPVsic3RvcCBzeW5jaW5nIGRyYXdpbmciXX0sMjA5NTk5KGUpe2UuZXhwb3J0cz1bInN3YXAgY2hhcnRzIGluIHRoZSBMYXlvdXQiXX0sNzE5MjA5KGUpe2UuZXhwb3J0cz1bInN5bWJvbCBsb2NrIl19LDgxNTk5MyhlKXtlLmV4cG9ydHM9WyJzeW5jIHRpbWUiXX0sODM3MDY2KGUpe2UuZXhwb3J0cz1bInBhc3RlIGRyYXdpbmciXX0sNzYzMzM5KGUpe2UuZXhwb3J0cz1bInBhc3RlIGluZGljYXRvciJdfSw3OTc0OTEoZSl7ZS5leHBvcnRzPVsicmVhcnJhbmdlIHBhbmVzIl19LDYzNTQ5NihlKXtlLmV4cG9ydHM9WyJyZW1vdmUgZGVzZWxlY3RlZCBlbXB0eSBsaW5lIHRvb2xzIl19LDU0MTY1OShlKXtlLmV4cG9ydHM9WyJyZW1vdmUgbGluZSBkYXRhIHNvdXJjZXMiXX0sNjY2MTQwKGUpe2UuZXhwb3J0cz1bInJlbW92aW5nIGxpbmUgdG9vbHMgZ3JvdXAge25hbWV9Il19LDM4NTMxMChlKXtlLmV4cG9ydHM9WyJyZW5hbWUgZ3JvdXAge2dyb3VwfSB0byB7bmV3TmFtZX0iXX0sMTMzNDk3KGUpe2UuZXhwb3J0cz1bInJlc2V0IGxheW91dCBzaXplcyJdfSw4MzEwNDUoZSl7ZS5leHBvcnRzPVsicmVzaXplIGxheW91dCJdfSwxMjk1MTAoZSl7CmUuZXhwb3J0cz1bInJlc3RvcmUgZGVmYXVsdHMiXX0sNjYyOTAzKGUpe2UuZXhwb3J0cz1bInJlc3RvcmUgc3R1ZHkgZGVmYXVsdHMiXX0sMzU2Mzk4KGUpe2UuZXhwb3J0cz1bIndlZWtzIl19LDYzOTE0MihlKXtlLmV4cG9ydHM9WyJ3ZWVrcyBmcm9tIl19LDUyMDc4NihlKXtlLmV4cG9ydHM9WyJ3ZWVrcyB0byJdfSw3ODQxMjgoZSl7ZS5leHBvcnRzPVsidG9nZ2xlIG1heGltaXplZCBwYW5lIHN0YXRlIl19LDU5OTE0MShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgYXV0byBzY2FsZSJdfSwxNDUzNjYoZSl7ZS5leHBvcnRzPVsidG9nZ2xlIGNvbGxhcHNlZCBwYW5lIHN0YXRlIl19LDc3NzQ4NShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgbG9nIHNjYWxlIl19LDc2NDMyMShlKXtlLmV4cG9ydHM9WyJ0YXN0eWZ4Il19LDg2Mzg1MihlKXtlLmV4cG9ydHM9WyJ0aHJlZSBtb250aHMiXX0sNzU1NTY5KGUpe2UuZXhwb3J0cz1bInRpY2tzIl19LDQwMDQxMihlKXtlLmV4cG9ydHM9WyJ0cmFjayB0aW1lIl19LDgzNTgoZSl7ZS5leHBvcnRzPVsidHJpYWwiXX0sOTUyNTIzKGUpe2UuZXhwb3J0cz1bInVubG9jayBncm91cCB7Z3JvdXB9Il19LDc3MDYzOShlKXtlLmV4cG9ydHM9WyJ1bmxvY2sge3RpdGxlfSJdfSw1Mzc5NTMoZSl7ZS5leHBvcnRzPVsie2NoYXJ0U3R5bGV9IGNoYXJ0IHR5cGUgaXNuJ3QgY3VycmVudGx5IGF2YWlsYWJsZSBmb3IgdGljay1iYXNlZCBpbnRlcnZhbHMuIl19LDMzODA5MyhlKXtlLmV4cG9ydHM9WyJ7Y291bnR9IGJhcnMiXX0sNzAyNTEoZSl7ZS5leHBvcnRzPVsie2RheXN9IGFuZCB7aG91cnN9Il19LDc5NDg5NShlKXtlLmV4cG9ydHM9WyJ7aG91cnN9IGFuZCB7bWludXRlc30iXX0sMTUzNzY2KGUpe2UuZXhwb3J0cz1bIntwcm9QbGFuTmFtZX0gVHJpYWwiXX0sMzg2MDQ4KGUpe2UuZXhwb3J0cz1bInt1c2VyTmFtZX0gY3JlYXRlZCB3aXRoIHtjdXN0b21lcn0sIHtkYXRlfSJdfSw5NDM0OTkoZSl7ZS5leHBvcnRzPVsieEV4Y2hhbmdlIl19LDI3ODU2NShlKXtlLmV4cG9ydHM9WyJ6b29tIl19LDMxODIzKGUpe2UuZXhwb3J0cz1bInprU3dhcCAoemtTeW5jKSJdfSwyNTk3KGUpe2UuZXhwb3J0cz1bImFuZCB7bmFtZUNvdW50fSBtb3JlIGluZGljYXRvci4iLCJhbmQge25hbWVDb3VudH0gbW9yZSBpbmRpY2F0b3JzLiJdfSw3NDMwMDIoZSl7ZS5leHBvcnRzPVsiZGF5IiwiZGF5cyJdfSw0MTkxMTQoZSl7ZS5leHBvcnRzPVsiaG91ciIsImhvdXJzIl19LDMyMzQ4NShlKXtlLmV4cG9ydHM9WyJtb250aCIsIm1vbnRocyJdfSwxMTM2NDIoZSl7ZS5leHBvcnRzPVsibWludXRlIiwibWludXRlcyJdfSw2NjU1MzAoZSl7ZS5leHBvcnRzPVsic2Vjb25kIiwic2Vjb25kcyJdfSw2MTY0OShlKXtlLmV4cG9ydHM9WyJyYW5nZSIsInJhbmdlcyJdfSwzODgxMDUoZSl7ZS5leHBvcnRzPVsid2VlayIsIndlZWtzIl19LDUwNjQ0NyhlKXtlLmV4cG9ydHM9WyJ0aWNrIiwidGlja3MiXX0sMjY4MTY2KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IGRheSIsIntudW1iZXJ9IGRheXMiXX0sMjk4MjM0KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IGhvdXIiLCJ7bnVtYmVyfSBob3VycyJdfSwxNDIxMDEoZSl7ZS5leHBvcnRzPVsie251bWJlcn0gaG91ciIsIntudW1iZXJ9IGhvdXJzIl19LDMyMTQ1KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IG1pbnV0ZSIsIntudW1iZXJ9IG1pbnV0ZXMiXX0sNzA0OTU4KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IG1pbnV0ZSIsIntudW1iZXJ9IG1pbnV0ZXMiXX0sNDA2NDg1KGUpe2UuZXhwb3J0cz1bInthbW91bnR9IGRyYXdpbmciLCJ7YW1vdW50fSBkcmF3aW5ncyJdfSwxNDE2NjIoZSl7ZS5leHBvcnRzPVsie2Ftb3VudH0gaW5kaWNhdG9yIiwie2Ftb3VudH0gaW5kaWNhdG9ycyJdfSw0NDI2NjYoZSl7ZS5leHBvcnRzPVsieWVhciIsInllYXJzIl19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/96587.97fdd65f2012106ff11e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.694Z","timestamp":1785141584694,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/96587.97fdd65f2012106ff11e.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-89c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1b21dbdedd5e8729899d32d9913c9414\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2204,"size_decoded":1357,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2204), with no line terminators","md5":"f433859778b8873df447ea9031315a49","sha1":"df04d29a1667cf45c2a516da5d3bedce4fc9a55c","sha256":"0df353dbede0a246d8930b6d765ced13c2b7fa3f8ea2d8db833f33027feb0606","sha512":"ebca2adbb2080c216fa0da94a394221c5adc6469fce46f03094243ce23b3b6b93db20d13fb260b091f955307ba74cb49d451ae5705b0dd620fc7bd82be87b980","ssdeep":"","tlshash":"b5418b63a9f028a035ff95aeca15d2dc128859b7d64552dcb6307f35c6c27f881a1a0c","first_seen":"2026-07-16T13:40:49.747928Z","last_seen":"2026-07-27T14:50:15.449589Z","times_seen":243,"resource_available":false,"data":"LnNjcm9sbENvbnRhaW5lci16RzJDcURlMntoZWlnaHQ6MDtvdmVyZmxvdy15OnNjcm9sbH1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuc2Nyb2xsQ29udGFpbmVyLXpHMkNxRGUye3Njcm9sbGJhci1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKSAjMDAwMDtzY3JvbGxiYXItd2lkdGg6dGhpbn19LnNjcm9sbENvbnRhaW5lci16RzJDcURlMjo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9LnNjcm9sbENvbnRhaW5lci16RzJDcURlMjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0uc2Nyb2xsQ29udGFpbmVyLXpHMkNxRGUyOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LnNjcm9sbENvbnRhaW5lci16RzJDcURlMjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uZmxleC1nbzBaZU5RRntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BvaW50ZXItZXZlbnRzOmF1dG87LS11aS1saWItcG9wb3Zlci1jb250ZW50LXZlcnRpY2FsLWNhbGN1bGF0ZWQtcGFkZGluZzp2YXIoLS11aS1saWItcHJpdmF0ZS1wb3BvdmVyLWNvbnRlbnQtdmVydGljYWwtcGFkZGluZyw2cHgpO292ZXJmbG93OmhpZGRlbn0uZml4ZWRGb290ZXItZ28wWmVOUUYsLmZpeGVkSGVhZGVyLWdvMFplTlFGe2ZsZXg6bm9uZX0uZml4ZWRGb290ZXItZ28wWmVOUUYsLmZpeGVkSGVhZGVyLWdvMFplTlFGLC5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRntwYWRkaW5nOjAgdmFyKC0tdWktbGliLXBvcG92ZXItY29udGVudC12ZXJ0aWNhbC1jYWxjdWxhdGVkLXBhZGRpbmcpfS5maXhlZEhlYWRlckNvbnRlbnQtZ28wWmVOUUZ7cGFkZGluZy10b3A6dmFyKC0tdWktbGliLXBvcG92ZXItY29udGVudC12ZXJ0aWNhbC1jYWxjdWxhdGVkLXBhZGRpbmcpfS5maXhlZEZvb3RlckNvbnRlbnQtZ28wWmVOUUZ7cGFkZGluZy1ib3R0b206dmFyKC0tdWktbGliLXBvcG92ZXItY29udGVudC12ZXJ0aWNhbC1jYWxjdWxhdGVkLXBhZGRpbmcpfS5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRntmbGV4LWdyb3c6MTtmbGV4LXNocmluazoxO2hlaWdodDoxMDAlO292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6c2Nyb2xsfUBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOm5vbmUpey5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRntzY3JvbGxiYXItY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSkgIzAwMDA7c2Nyb2xsYmFyLXdpZHRoOnRoaW59fS5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRjo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9Lm1haW5TY3JvbGxXcmFwcGVyLWdvMFplTlFGOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKTtib3JkZXI6MXB4IHNvbGlkICMwMDAwO2JvcmRlci1yYWRpdXM6M3B4fS5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlci1yYWRpdXM6M3B4fS5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0ubWFpblNjcm9sbFdyYXBwZXItZ28wWmVOUUYubm9TY3JvbGwtZ28wWmVOUUZ7b3ZlcmZsb3cteTpoaWRkZW59Lm1haW4tZ28wWmVOUUZ7bWFyZ2luLWlubGluZS1lbmQ6dmFyKC0tdWktbGliLXByaXZhdGUtcG9wb3ZlckNvbnRlbnRWZXJ0aWNhbC1zY3JvbGwtY29tcGVuc2F0aW9uKX0ubWFpbkNvbnRlbnQtZ28wWmVOUUZ7cGFkZGluZzp2YXIoLS11aS1saWItcG9wb3Zlci1jb250ZW50LXZlcnRpY2FsLWNhbGN1bGF0ZWQtcGFkZGluZykgMH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/78404.b5ecd6dc65f13def5eab.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.723Z","timestamp":1785141584723,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/78404.b5ecd6dc65f13def5eab.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-192\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 676af2ebc0d2e8dbd26144b6c66aa603\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":402,"size_decoded":972,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (402), with no line terminators","md5":"1adcd7be7207d17f717ccc6eadb15c6d","sha1":"7c83ca692ff4bc9fc3a86f1a092266f0d48d8e77","sha256":"eea22714fdf62b6e84e4c6bf541cde06dc649c42a4e8ef4e618ba26446fd56fc","sha512":"dbe0864fd7c99e3526d69cd4162c10d36bc06090a2a4e50519e98b968eb75f82038172ebce2c56e9ca927f0ee45b4e6764a6c55b4bce29f953039423e1ea61a5","ssdeep":"","tlshash":"11e022e3c104147eb52fad5a46a360507391d8bd6529eff92183bafc9aca4e13233c56","first_seen":"2026-07-22T16:00:00.400221Z","last_seen":"2026-07-27T14:50:15.303297Z","times_seen":107,"resource_available":false,"data":"LndyYXBwZXIteWZOYmd0Z057YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47d2lkdGg6MTAwJX1AbWVkaWEgKG1heC13aWR0aDo0NDBweCl7LmJ1dHRvbnMteWZOYmd0Z057cG9zaXRpb246YWJzb2x1dGU7dG9wOjB9fS5jb2xvclNlbGVjdEJ1dHRvbi15Zk5iZ3RnTntwYWRkaW5nOjZweH0uY29sb3JTZWxlY3RCdXR0b24teWZOYmd0Z046Zmlyc3QtY2hpbGR7bWFyZ2luLWlubGluZS1zdGFydDotNnB4fUBtZWRpYSAobWF4LXdpZHRoOjQ0MHB4KXsuY29sb3JTZWxlY3RCdXR0b24teWZOYmd0Z057cGFkZGluZzo4cHh9LmNvbG9yU2VsZWN0QnV0dG9uLXlmTmJndGdOOmZpcnN0LWNoaWxke21hcmdpbi1pbmxpbmUtc3RhcnQ6LThweH19"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/62600.6106356cb816fb74b17b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.730Z","timestamp":1785141584730,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/62600.6106356cb816fb74b17b.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323ca6-146d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:20:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:15:35\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 69187522ff89125b36718a732d7f4782\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5229,"size_decoded":2117,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5229), with no line terminators","md5":"d7ea1ec834cf91a040325bf4ce34f925","sha1":"0e34981976b5428933d87649f4e113d7b409a3b9","sha256":"fcd588160da6452887ebf4d1c522d196ea1fac8d17a58ed47e62f1f0d21b1e2d","sha512":"28eac8fd6dae3ee056842ef33367e88045ddcc76dca080bb2bd1525ba419a0b977c2a9355af008ed3a33c42e7e53add886ed268cd67340b988a14b8e4f33f9ea","ssdeep":"96:DxvxrXUfOCYwE/U8BfOfqFmn6w67T+Di1FuxgZcipAR/kESRLUUBNbkuuVIlkK/:XUo/vyqFmn6w67Cm10xgWKAR/kESRLUE","tlshash":"51b1eeb5f3c041bef413c71fb398bed803a79955ab2e9df8e025ba151a86fd52111388","first_seen":"2026-06-17T17:50:59.584306Z","last_seen":"2026-07-27T14:50:15.415144Z","times_seen":436,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtenhSbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLV8xLXp4Um46dmFyKC0tY29sb3ItdHYtYmx1ZS1hMjAwKTstLV8yLXp4Um46dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC16eFJuOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tXzEtenhSbjp2YXIoLS1jb2xvci10di1ibHVlLWEyMDApOy0tXzItenhSbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX0ud3JhcHBlci1qV21NbTJWQXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MjE1cHg7cGFkZGluZy1pbmxpbmUtZW5kOjE1cHg7cG9zaXRpb246cmVsYXRpdmV9LnRpbWV6b25lLWpXbU1tMlZBe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Zm9udC1zaXplOjExcHg7bGluZS1oZWlnaHQ6MThweDtwYWRkaW5nLXRvcDo0cHg7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MTAwJX0ubGFyZ2VQYWRkaW5nLWpXbU1tMlZBe3BhZGRpbmctdG9wOjhweH0uc2Vzc2lvbkRheVdyYXBwZXItaldtTW0yVkF7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubm93V3JhcHBlci1qV21NbTJWQXtib3R0b206MDtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjMwcHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MH0ubm93V3JhcHBlci1qV21NbTJWQSAubm93LWpXbU1tMlZBe2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7Ym90dG9tOi0xcHg7b3V0bGluZToxcHggdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSkgc29saWQ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDt3aWR0aDoxcHh9LnNlc3Npb25EYXktaldtTW0yVkF7YWxpZ24taXRlbXM6YmFzZWxpbmU7ZGlzcGxheTpmbGV4fS5zZXNzaW9uRGF5LWpXbU1tMlZBIC53ZWVrRGF5LWpXbU1tMlZBe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Zm9udC1zaXplOjEwcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctdG9wOjNweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2lkdGg6MzBweH0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2Vzc2lvbkRheVNlZ21lbnRzLWpXbU1tMlZBLC5zZXNzaW9uRGF5LWpXbU1tMlZBIC50aW1lTWFya1dyYXBwZXItaldtTW0yVkF7ZmxleDoxO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrV3JhcHBlci1qV21NbTJWQXtoZWlnaHQ6MTZweDttYXJnaW4tdG9wOjNweH0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2Vzc2lvbkRheVNlZ21lbnRzLWpXbU1tMlZBe2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDo3cHg7bWFyZ2luOjIwcHggMCAycHh9LnNlc3Npb25EYXktaldtTW0yVkE6Zmlyc3QtY2hpbGQgLnNlc3Npb25EYXlTZWdtZW50cy1qV21NbTJWQXttYXJnaW4tdG9wOjB9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQXtjb250ZW50OiIiO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlfS5zZXNzaW9uRGF5LWpXbU1tMlZBIC50aW1lTWFya1NlZ21lbnQtaldtTW0yVkEgLnRpbWVNYXJrLWpXbU1tMlZBOmZpcnN0LWNoaWxke3BhZGRpbmctaW5saW5lLWVuZDo0cHh9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQSAudGltZU1hcmstaldtTW0yVkE6bGFzdC1jaGlsZHtwYWRkaW5nLWlubGluZS1zdGFydDo0cHh9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQS50aW1lTWFya1NlZ21lbnRBbGlnbkJ5RW5kcy1qV21NbTJWQXtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uc2Vzc2lvbkRheS1qV21NbTJWQSAudGltZU1hcmtTZWdtZW50LWpXbU1tMlZBLnRpbWVNYXJrU2VnbWVudEFsaWduQnlFbmRzLWpXbU1tMlZBIC50aW1lTWFyay1qV21NbTJWQXtwYWRkaW5nOjB9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQS50aW1lTWFya1NlZ21lbnRBbGlnbkJ5RW5kcy1qV21NbTJWQSAudGltZU1hcmstaldtTW0yVkE6Zmlyc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSl9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQS50aW1lTWFya1NlZ21lbnRBbGlnbkJ5RW5kcy1qV21NbTJWQSAudGltZU1hcmstaldtTW0yVkE6Zmlyc3QtY2hpbGQ6ZGlyKHJ0bCl7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKX0uc2Vzc2lvbkRheS1qV21NbTJWQSAudGltZU1hcmtTZWdtZW50LWpXbU1tMlZBLnRpbWVNYXJrU2VnbWVudEFsaWduQnlFbmRzLWpXbU1tMlZBIC50aW1lTWFyay1qV21NbTJWQTpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSl9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQS50aW1lTWFya1NlZ21lbnRBbGlnbkJ5RW5kcy1qV21NbTJWQSAudGltZU1hcmstaldtTW0yVkE6bGFzdC1jaGlsZDpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0uc2Vzc2lvbkRheS1qV21NbTJWQSAudGltZU1hcmstaldtTW0yVkF7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxMXB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE0cHg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10aW1lLW1hcmspO2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5zZXNzaW9uRGF5LWpXbU1tMlZBIC5zZWdtZW50LWpXbU1tMlZBe2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2hlaWdodDoxMDAlO29wYWNpdHk6LjM7cGFkZGluZzowIDJweDtwb3NpdGlvbjphYnNvbHV0ZX0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQTpmaXJzdC1jaGlsZHtwYWRkaW5nLWlubGluZS1zdGFydDowfS5zZXNzaW9uRGF5LWpXbU1tMlZBIC5zZWdtZW50LWpXbU1tMlZBOmxhc3QtY2hpbGR7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnNlc3Npb25EYXktaldtTW0yVkEgLnNlZ21lbnQtaldtTW0yVkE6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpmbGV4O2ZsZXg6MTtoZWlnaHQ6MTAwJTttaW4td2lkdGg6MXB4O3otaW5kZXg6MH0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQS5zbWFsbC1qV21NbTJWQXttYXJnaW4taW5saW5lLXN0YXJ0Oi0xcHg7cGFkZGluZzowO3otaW5kZXg6MX0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQS5zdGFydC1qV21NbTJWQTpiZWZvcmV7Ym9yZGVyLXJhZGl1czowO2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjRweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjRweH0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQS5lbmQtaldtTW0yVkE6YmVmb3Jle2JvcmRlci1yYWRpdXM6MDtib3JkZXItZW5kLWVuZC1yYWRpdXM6NHB4O2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjRweH0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQS5zdGFydC1qV21NbTJWQS5lbmQtaldtTW0yVkE6YmVmb3Jle2JvcmRlci1yYWRpdXM6NHB4fS5zZXNzaW9uRGF5LWpXbU1tMlZBLmFjdGl2ZS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQXtvcGFjaXR5OjF9LnNlc3Npb25EYXktaldtTW0yVkEuYWN0aXZlLWpXbU1tMlZBIC53ZWVrRGF5LWpXbU1tMlZBe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpfS5ncmVlbi1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKX0uZ3JlZW4taldtTW0yVkE6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yfS5vcmFuZ2UtaldtTW0yVkF7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctZXh0cmEtYm9sZCl9Lm9yYW5nZS1qV21NbTJWQTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LmJsdWUtaldtTW0yVkF7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1ib2xkKX0uYmx1ZS1qV21NbTJWQTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LnB1cnBsZS1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKX0ucHVycGxlLWpXbU1tMlZBOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0uZ3JheS1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpfS5ncmF5LWpXbU1tMlZBOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0udG9vbHRpcC1qV21NbTJWQXt3aGl0ZS1zcGFjZTpub3JtYWx9LnRvb2x0aXAtaldtTW0yVkEgLnRpbWUtaldtTW0yVkF7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKTttYXJnaW4taW5saW5lLXN0YXJ0OjVweH0udG9vbHRpcC1qV21NbTJWQSAuZ3JlZW4taldtTW0yVkF7Y29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKX0udG9vbHRpcC1qV21NbTJWQSAuZ3JheS1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKX0udG9vbHRpcC1qV21NbTJWQSAub3JhbmdlLWpXbU1tMlZBe2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKX0udG9vbHRpcC1qV21NbTJWQSAuYmx1ZS1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTMwMCl9LnRvb2x0aXAtaldtTW0yVkEgLnB1cnBsZS1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/72512.6193102e3152806b8b0f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.802Z","timestamp":1785141584802,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/72512.6193102e3152806b8b0f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-960\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 318959fe0accb576990a85e0a78f91a9\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2400,"size_decoded":1442,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2400), with no line terminators","md5":"3a3939e3aa144594584f8ef2bfacd03e","sha1":"60f23f2501747d3d97cbff6f3683dc7e6f9374e1","sha256":"33f399d21b28081ae24569e69403a1aa51e8464cb13d8c6d5e1a3fe6e44ff992","sha512":"bb575248fe0999c8bd6ce31c8a6b01ba5b72b2a388b462c6c4224c88389d94bbf5bf990264f9671498d90cb696bba3e632a59819877bdb52b2a82db3db200912","ssdeep":"","tlshash":"29414bc9f061b23f3b0f60384319d1dc139beaa1cb521fabfb62d1e001c57e562a9426","first_seen":"2026-07-17T14:15:58.435225Z","last_seen":"2026-07-27T12:48:39.678484Z","times_seen":118,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtYm9zYTojMDAwMH0uYnV0dG9uLVdNcEtLVUNxe2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZC1jb2xvcik7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQpKTtkaXNwbGF5OmlubGluZS1mbGV4O2ZvbnQtc2l6ZTowO2hlaWdodDoyMnB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWluLXdpZHRoOjIycHg7d2lkdGg6MjJweH0uYnV0dG9uLVdNcEtLVUNxLmhvdmVyZWQtV01wS0tVQ3EsLmJ1dHRvbi1XTXBLS1VDcTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS10di1saXN0LWl0ZW0tYnV0dG9uLWJhY2tncm91bmQtaG92ZXItY29sb3IsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCkpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLVdNcEtLVUNxOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tdHYtbGlzdC1pdGVtLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWNvbG9yLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtaG92ZXIpKX19LmJ1dHRvbi1XTXBLS1VDcS5kaXNhYmxlZC1XTXBLS1VDcSwuYnV0dG9uLVdNcEtLVUNxLmRpc2FibGVkLVdNcEtLVUNxOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcix2YXIoLS1fMC1ib3NhKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tV01wS0tVQ3EuZGlzYWJsZWQtV01wS0tVQ3E6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1saXN0LWl0ZW0tYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQtY29sb3IsdmFyKC0tXzAtYm9zYSkpfX0uYnV0dG9uLVdNcEtLVUNxe291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5idXR0b24tV01wS0tVQ3E6Zm9jdXN7b3V0bGluZTpub25lfS5idXR0b24tV01wS0tVQ3E6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJ1dHRvbi1XTXBLS1VDcTphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKTtib3JkZXItcmFkaXVzOjRweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDRweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi0ycHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweDt3aWR0aDpjYWxjKDEwMCUgKyA0cHgpO3otaW5kZXg6MX0uYnV0dG9uLVdNcEtLVUNxLmZvY3VzZWQtV01wS0tVQ3E6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYnV0dG9uLVdNcEtLVUNxLmFjdGl2ZS1XTXBLS1VDcXtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1hY3RpdmUtaG92ZXIsdmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSkpfS5idXR0b24tV01wS0tVQ3EuYWN0aXZlLVdNcEtLVUNxLmhvdmVyZWQtV01wS0tVQ3EsLmJ1dHRvbi1XTXBLS1VDcS5hY3RpdmUtV01wS0tVQ3E6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tV01wS0tVQ3EuYWN0aXZlLVdNcEtLVUNxOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKSl9fS5oaWRkZW4tV01wS0tVQ3F7dmlzaWJpbGl0eTpoaWRkZW59"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94232.ab6731b698a8c2854a90.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.683Z","timestamp":1785141584683,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94232.ab6731b698a8c2854a90.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-740\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: cd56175b225731f6a3e46b4eb4dfea42\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1856,"size_decoded":1343,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1856), with no line terminators","md5":"99c169cccd9c810bfd0d3e50e053d9dd","sha1":"f7c962c5226ce8518e23fcd82bbd02e44b3cd8ba","sha256":"ba11ca3b195a5ed5130a9fdfe05087f5b075dbec6ddff0fbc0ee82ef8a378a37","sha512":"02bba56d2baac91f2618fc15e25d5eb7e986a57c956cd280f3ff695e4d215d29c10a2730d07a71b393c7da7e62a644bc9d417c3aef3b60af475b9f6330a25d50","ssdeep":"","tlshash":"0331f104a050d9f5e212d7788e5dbb7820d13b22ca613da7fe53de0ed086be5e122f24","first_seen":"2026-07-16T20:48:56.389736Z","last_seen":"2026-07-27T14:53:25.263213Z","times_seen":455,"resource_available":false,"data":"LmxvYWRlci1NZ2Y4RUZ3S3tib3R0b206MDtmb250LXNpemU6MDtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWFyZ2luOjAgYXV0bztvcGFjaXR5OjE7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zNXMgZWFzZTt3aGl0ZS1zcGFjZTpub3dyYXB9LmxvYWRlci1NZ2Y4RUZ3Sy5zdGF0aWMtTWdmOEVGd0t7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpzdGF0aWN9LmxvYWRlci1NZ2Y4RUZ3SzphZnRlcntjb250ZW50OiIgIjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3S3tib3JkZXItcmFkaXVzOjEwMCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3BhY2l0eToxO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDpjdXJyZW50Q29sb3I7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItbG9hZGVyLWNvbG9yLHZhcigtLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdCkpfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLOmZpcnN0LWNoaWxke2FuaW1hdGlvbjp0di1idXR0b24tbG9hZGVyLU1nZjhFRndLIDFzIGluZmluaXRlO2FuaW1hdGlvbi1kZWxheTouMXN9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3SzpudGgtY2hpbGQoMil7YW5pbWF0aW9uOnR2LWJ1dHRvbi1sb2FkZXItTWdmOEVGd0sgMXMgaW5maW5pdGU7YW5pbWF0aW9uLWRlbGF5Oi4zc30ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLOm50aC1jaGlsZCgzKXthbmltYXRpb246dHYtYnV0dG9uLWxvYWRlci1NZ2Y4RUZ3SyAxcyBlYXNlIGluZmluaXRlO2FuaW1hdGlvbi1kZWxheTouNDVzfX0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLC5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0subWVkaXVtLU1nZjhFRndLe2hlaWdodDo2cHg7d2lkdGg6NnB4fS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0subWVkaXVtLU1nZjhFRndLOm5vdCg6bGFzdC1jaGlsZCksLmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3Szpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtZW5kOjRweH0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLnNtYWxsLU1nZjhFRndLe2hlaWdodDo0cHg7d2lkdGg6NHB4fS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0suc21hbGwtTWdmOEVGd0s6bm90KDpsYXN0LWNoaWxkKXttYXJnaW4taW5saW5lLWVuZDozcHh9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3Sy5ibGFjay1NZ2Y4RUZ3S3stLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpfS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0sud2hpdGUtTWdmOEVGd0t7LS11aS1saWItbG9hZGVyLWNvbG9yLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpfS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0suZ3JheS1NZ2Y4RUZ3S3stLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKX0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLnByaW1hcnktTWdmOEVGd0t7LS11aS1saWItbG9hZGVyLWNvbG9yLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KX1Aa2V5ZnJhbWVzIHR2LWJ1dHRvbi1sb2FkZXItTWdmOEVGd0t7MCUsdG97b3BhY2l0eToxfTYwJXtvcGFjaXR5Oi40fTMwJXtvcGFjaXR5Oi4yfX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/themes/ashley/assets/js/skip-link-focus-fix.js?ver=20151215","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.906Z","timestamp":1785141582906,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/themes/ashley/assets/js/skip-link-focus-fix.js?ver=20151215 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:55:08 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 438\r\nKeep-Alive: timeout=5, max=93\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":712,"size_decoded":802,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text","md5":"b1c4fad843de20a9bbcfe367f9168446","sha1":"a97714aff7e393190d603e84794015091ae05752","sha256":"41d34ce8b5e2cb9c79e6654d96673e8ba29378fee9f044031dcf5eae8e853562","sha512":"b132a5261df2a4844a4aa92f97c4b56d93c6f47213999c693276e62a68b6252095e685e1ff0f36d770b7e17b513f9ed72edb2ea1599df8d77a853d795e4f7ca2","ssdeep":"","tlshash":"1f011576b30d84b6046a3257dc4f21cd393d50e2e819745b8cc908501824c2d13bffb8","first_seen":"2023-03-07T12:28:14Z","last_seen":"2026-07-27T12:12:28.809779Z","times_seen":238,"resource_available":true,"data":"LyoqCiAqIEZpbGUgc2tpcC1saW5rLWZvY3VzLWZpeC5qcy4KICoKICogSGVscHMgd2l0aCBhY2Nlc3NpYmlsaXR5IGZvciBrZXlib2FyZCBvbmx5IHVzZXJzLgogKgogKiBMZWFybiBtb3JlOiBodHRwczovL2dpdC5pby92V2RyMgogKi8KKCBmdW5jdGlvbiggJCApIHsKCSd1c2Ugc3RyaWN0JzsKCQoJdmFyIGlzSWUgPSAvKHRyaWRlbnR8bXNpZSkvaS50ZXN0KCBuYXZpZ2F0b3IudXNlckFnZW50ICk7CgoJaWYgKCBpc0llICYmIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkICYmIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyICkgewoJCXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCAnaGFzaGNoYW5nZScsIGZ1bmN0aW9uKCkgewoJCQl2YXIgaWQgPSBsb2NhdGlvbi5oYXNoLnN1YnN0cmluZyggMSApLAoJCQkJZWxlbWVudDsKCgkJCWlmICggISAoIC9eW0EtejAtOV8tXSskLy50ZXN0KCBpZCApICkgKSB7CgkJCQlyZXR1cm47CgkJCX0KCgkJCWVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCggaWQgKTsKCgkJCWlmICggZWxlbWVudCApIHsKCQkJCWlmICggISAoIC9eKD86YXxzZWxlY3R8aW5wdXR8YnV0dG9ufHRleHRhcmVhKSQvaS50ZXN0KCBlbGVtZW50LnRhZ05hbWUgKSApICkgewoJCQkJCWVsZW1lbnQudGFiSW5kZXggPSAtMTsKCQkJCX0KCgkJCQllbGVtZW50LmZvY3VzKCk7CgkJCX0KCQl9LCBmYWxzZSApOwoJfQp9ICkoIGpRdWVyeSApOw=="}},"time_used":509,"timings":{"blocked":415,"dns":0,"connect":0,"send":0,"wait":94,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/35794.0a273bafc5de50a0d21d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.792Z","timestamp":1785141584792,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/35794.0a273bafc5de50a0d21d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-929\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 868cd7e3cd93710266b1eb606ce841fd\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2345,"size_decoded":1476,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2345), with no line terminators","md5":"070dbbdaf81468918cc345dc05f9a381","sha1":"2ab8968ccfc58991cdc8860741aecf9533393e0f","sha256":"8782990aacf2d956262c5608c1f9f9be2c54e5b100e7e1fd85521c2424944d72","sha512":"c162784e77aaebd46d2c606d8ec9f965be7c21092d5143c64badbc4cc2b380589455fd4eb60cdd25a9cff11dceab520faac1d1753d1b999596c4c462a0fa0e43","ssdeep":"","tlshash":"e7418bafa148d8b0fe116198b3dd638db6e5ec70a90a05cdb633b839cce17f15d50158","first_seen":"2026-07-22T16:00:00.426214Z","last_seen":"2026-07-27T14:53:25.209514Z","times_seen":375,"resource_available":false,"data":"LnNtYWxsLXRXRElDVGF5ey0tdWktbGliLXByaXZhdGUtc3dpdGNoVmlldy1zaXplOjN9Lm1lZGl1bS10V0RJQ1RheXstLXVpLWxpYi1wcml2YXRlLXN3aXRjaFZpZXctc2l6ZTo0fS5sYXJnZS10V0RJQ1RheXstLXVpLWxpYi1wcml2YXRlLXN3aXRjaFZpZXctc2l6ZTo1fS5zd2l0Y2hWaWV3LXRXRElDVGF5ey0tdWktbGliLXNpemUtZGVmOnZhcigtLXVpLWxpYi1pbi1zd2l0Y2hWaWV3LXNpemUsdmFyKC0tdWktbGliLXByaXZhdGUtc3dpdGNoVmlldy1zaXplLDQpKTstLXVpLWxpYi1zaXplLWRlZi1zbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMykpKTstLXVpLWxpYi1zaXplLWRlZi1tZWRpdW06Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDQpKSk7LS11aS1saWItc2l6ZS1kZWYtbGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDUpKSk7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTstLXN3aXRjaC1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjIwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoyOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSozNHB4KTtoZWlnaHQ6dmFyKC0tc3dpdGNoLWhlaWdodCk7LS1zd2l0Y2gtd2lkdGg6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjM4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSo1NHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo2NHB4KTt3aWR0aDp2YXIoLS1zd2l0Y2gtd2lkdGgpOy0tc3dpdGNoLXBhZGRpbmc6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNXB4KTstLXN3aXRjaC10aHVtYjpjYWxjKHZhcigtLXN3aXRjaC1oZWlnaHQpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKjIpOy0tZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwpOy0tc3dpdGNoLWNvbG9yOnZhcigtLXVpLWxpYi1zd2l0Y2hWaWV3LWNvbG9yLHZhcigtLWRlZmF1bHQtY29sb3IpKX0uc3dpdGNoVmlldy10V0RJQ1RheS5jaGVja2VkLXRXRElDVGF5ey0tZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCl9LmRpc2FibGVkLXRXRElDVGF5e29wYWNpdHk6LjV9LnRyYWNrLXRXRElDVGF5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tc3dpdGNoLWNvbG9yKTtib3JkZXItY29sb3I6dmFyKC0tc3dpdGNoLWNvbG9yKTtib3JkZXItcmFkaXVzOjIwcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0udGh1bWItdFdESUNUYXl7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2UpO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OnZhcigtLXN3aXRjaC10aHVtYik7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS1zd2l0Y2gtcGFkZGluZyksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4yNXM7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7d2lkdGg6dmFyKC0tc3dpdGNoLXRodW1iKX0udGh1bWItdFdESUNUYXk6ZGlyKHJ0bCl7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKHZhcigtLXN3aXRjaC1wYWRkaW5nKSotMSksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKX0uY2hlY2tlZC10V0RJQ1RheSAudGh1bWItdFdESUNUYXl7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKHZhcigtLXN3aXRjaC13aWR0aCkgLSB2YXIoLS1zd2l0Y2gtdGh1bWIpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKSx2YXIoLS1zd2l0Y2gtcGFkZGluZykpfS5jaGVja2VkLXRXRElDVGF5IC50aHVtYi10V0RJQ1RheTpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlKGNhbGMoKHZhcigtLXN3aXRjaC13aWR0aCkgLSB2YXIoLS1zd2l0Y2gtdGh1bWIpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKSotMSksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKX0="}},"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/49588.15426b22279561d9880b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.119Z","timestamp":1785141585119,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49588.15426b22279561d9880b.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-9ba\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 61b253fe36d6d86457e4ad59aa0a72b0\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2490,"size_decoded":1657,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2490), with no line terminators","md5":"b69ac6c5f50f6be0b66598710cd79bfa","sha1":"06e06ad04e9ed372adce0da403a670e156ecc407","sha256":"f88f6ab92a6609bff0df47d38410097a31ee5b168fb2fb09b25bea1a75f04506","sha512":"7b07fcb434379fefb26f9ab3742cc2c9b4af1c86b23e59c90a6bc7032dc0c479614578a20a1440b5c43c345f0288fb12f043ee60ce233842e1e8072147ad9743","ssdeep":"","tlshash":"50512156a2e02dba7f63b55256d8f64c91b1d870f80328ee7751aedd02c66fb0070b1d","first_seen":"2026-07-19T21:33:33.790193Z","last_seen":"2026-07-27T12:48:39.701824Z","times_seen":55,"resource_available":false,"data":"LmZsb2F0aW5nQXJyb3ctYzFPc0hQdFl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLHZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApKTtjbGlwLXBhdGg6cGF0aCgiTSAwLDIgTCAxMiwyIEwgMTIsNiBMIDYsMTAgTCAwLDYgTCAwLDIiKTtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTJweH0uYm90dG9tLWMxT3NIUHRZLC5ib3R0b20tbGVmdC1jMU9zSFB0WSwuYm90dG9tLXJpZ2h0LWMxT3NIUHRZLC50b3AtYzFPc0hQdFksLnRvcC1sZWZ0LWMxT3NIUHRZLC50b3AtcmlnaHQtYzFPc0hQdFl7bGVmdDp2YXIoLS11aS1saWItaW4tdG9vbHRpcC1sZWZ0T2Zmc2V0LGNhbGMoNTAlIC0gNnB4KSl9LmJvdHRvbS1jMU9zSFB0WSwuYm90dG9tLWxlZnQtYzFPc0hQdFksLmJvdHRvbS1yaWdodC1jMU9zSFB0WXtib3R0b206Y2FsYygxMDAlIC0gNnB4KTt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnRvcC1jMU9zSFB0WSwudG9wLWxlZnQtYzFPc0hQdFksLnRvcC1yaWdodC1jMU9zSFB0WXt0b3A6Y2FsYygxMDAlIC0gNnB4KX0ubGVmdC1ib3R0b20tYzFPc0hQdFksLmxlZnQtYzFPc0hQdFksLmxlZnQtdG9wLWMxT3NIUHRZLC5yaWdodC1ib3R0b20tYzFPc0hQdFksLnJpZ2h0LWMxT3NIUHRZLC5yaWdodC10b3AtYzFPc0hQdFl7dG9wOnZhcigtLXVpLWxpYi1pbi10b29sdGlwLXRvcE9mZnNldCxjYWxjKDUwJSAtIDZweCkpfS5sZWZ0LWJvdHRvbS1jMU9zSFB0WSwubGVmdC1jMU9zSFB0WSwubGVmdC10b3AtYzFPc0hQdFl7bGVmdDpjYWxjKDEwMCUgLSA2cHgpO3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX0ucmlnaHQtYm90dG9tLWMxT3NIUHRZLC5yaWdodC1jMU9zSFB0WSwucmlnaHQtdG9wLWMxT3NIUHRZe3JpZ2h0OmNhbGMoMTAwJSAtIDZweCk7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LmVuZFNsb3RXcmFwcGVyLUh5TmpIU0RXe2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtkaXNwbGF5OmZsZXg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6OHB4fS5kaXZpZGVyLUh5TmpIU0RXey0tdWktbGliLWRpdmlkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCl9LmVuZFNsb3RDb250ZW50LUh5TmpIU0RXe3BhZGRpbmctaW5saW5lLXN0YXJ0OjhweH0udG9vbHRpcEJhc2VXcmFwcGVyLUh5TmpIU0RXe2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjEwMHZ3O21pbi13aWR0aDowO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGxpbmVhcjt3aGl0ZS1zcGFjZTpub3JtYWx9LnRyYW5zcGFyZW50LUh5TmpIU0RXe29wYWNpdHk6MH0ub3BhcXVlLUh5TmpIU0RXe29wYWNpdHk6MX0uZGlzYWJsZUludGVyYWN0aXZlLUh5TmpIU0RXe3BvaW50ZXItZXZlbnRzOm5vbmV9LnRvb2x0aXBCYXNlLUh5TmpIU0RXe2JhY2tncm91bmQtY29sb3I6dmFyKC0tdWktbGliLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcix2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKSk7Ym9yZGVyLXJhZGl1czp2YXIoLS11aS1saWItdG9vbHRpcC1ib3JkZXItcmFkaXVzLDRweCk7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7cGFkZGluZzo2cHggOHB4Oy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjEzcHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LmNvbnRlbnRXcmFwcGVyLUh5TmpIU0RXe2Rpc3BsYXk6ZmxleH0uY29udGVudC1IeU5qSFNEV3tib3gtc2l6aW5nOmJvcmRlci1ib3g7bWF4LXdpZHRoOjQwMHB4fS50b29sdGlwU3RhdGVsZXNzLWt3czVxZWRXey0tdWktbGliLWluLXRvb2x0aXAtbGVmdE9mZnNldDpjbGFtcCg4cHgsY2FsYyh2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFBvaW50WCkqdmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRXaWR0aCkgLSA2cHgpLGNhbGModmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRXaWR0aCkgLSAyMHB4KSk7LS11aS1saWItaW4tdG9vbHRpcC10b3BPZmZzZXQ6Y2xhbXAoNnB4LGNhbGModmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRQb2ludFkpKnZhcigtLXVpLWxpYi1vdXQtcG9zaXRpb25lci1jb250ZW50SGVpZ2h0KSAtIDZweCksY2FsYyh2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudEhlaWdodCkgLSAxOHB4KSl9"}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=3.26.5","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.915Z","timestamp":1785141582915,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=3.26.5 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:57:49 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 15344\r\nKeep-Alive: timeout=5, max=96\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":52754,"size_decoded":15710,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (52713)","md5":"46e6c32a0e6c45048cfc279534d10cd1","sha1":"3d5c0c5e517061e11e0b470bd064042edec3ae70","sha256":"28a0a2404167b4bc9644a7f1cb67f8ff4eea0c015348af498bc984f059899e15","sha512":"4019058a3c019f5c4118a50c658b3c1750404155d962ab89d5ef0560da26d63fade3691a2451f1a19118f9342a008c6ad4239ae9f6bc646b6ca53b52b9808b39","ssdeep":"1536:ReAjA679C+QC/YNQAzeLHeBHmjkFzRNU4cR8+3xp6VED1W8eFZQQ5RSSv0tQukVO:HAiUtBCW68vy","tlshash":"3e33da563212f4f74bdf40d7602b510af22319e4740ab499bab8dcf2a470d9a237bb75","first_seen":"2025-01-16T00:22:47.979685Z","last_seen":"2026-07-27T12:12:28.810587Z","times_seen":575,"resource_available":true,"data":"LyohIGVsZW1lbnRvciAtIHYzLjI2LjAgLSAxNS0wMS0yMDI1ICovCihzZWxmLndlYnBhY2tDaHVua2VsZW1lbnRvcj1zZWxmLndlYnBhY2tDaHVua2VsZW1lbnRvcnx8W10pLnB1c2goW1s5NDFdLHs1MjEzOihlLHQpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO3QuZGVmYXVsdD0oZSx0KT0+e3Q9QXJyYXkuaXNBcnJheSh0KT90Olt0XTtmb3IoY29uc3QgbiBvZiB0KWlmKGUuY29uc3RydWN0b3IubmFtZT09PW4ucHJvdG90eXBlW1N5bWJvbC50b1N0cmluZ1RhZ10pcmV0dXJuITA7cmV0dXJuITF9fSwyODkwOihlLHQpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO2NsYXNzIF9kZWZhdWx0IGV4dGVuZHMgZWxlbWVudG9yTW9kdWxlcy5WaWV3TW9kdWxle2dldERlZmF1bHRTZXR0aW5ncygpe3JldHVybntzZWxlY3RvcnM6e2VsZW1lbnRzOiIuZWxlbWVudG9yLWVsZW1lbnQiLG5lc3RlZERvY3VtZW50RWxlbWVudHM6Ii5lbGVtZW50b3IgLmVsZW1lbnRvci1lbGVtZW50In0sY2xhc3Nlczp7ZWRpdE1vZGU6ImVsZW1lbnRvci1lZGl0LW1vZGUifX19Z2V0RGVmYXVsdEVsZW1lbnRzKCl7Y29uc3QgZT10aGlzLmdldFNldHRpbmdzKCJzZWxlY3RvcnMiKTtyZXR1cm57JGVsZW1lbnRzOnRoaXMuJGVsZW1lbnQuZmluZChlLmVsZW1lbnRzKS5ub3QodGhpcy4kZWxlbWVudC5maW5kKGUubmVzdGVkRG9jdW1lbnRFbGVtZW50cykpfX1nZXREb2N1bWVudFNldHRpbmdzKGUpe2xldCB0O2lmKHRoaXMuaXNFZGl0KXt0PXt9O2NvbnN0IGU9ZWxlbWVudG9yLnNldHRpbmdzLnBhZ2UubW9kZWw7alF1ZXJ5LmVhY2goZS5nZXRBY3RpdmVDb250cm9scygpLChuPT57dFtuXT1lLmF0dHJpYnV0ZXNbbl19KSl9ZWxzZSB0PXRoaXMuJGVsZW1lbnQuZGF0YSgiZWxlbWVudG9yLXNldHRpbmdzIil8fHt9O3JldHVybiB0aGlzLmdldEl0ZW1zKHQsZSl9cnVuRWxlbWVudHNIYW5kbGVycygpe3RoaXMuZWxlbWVudHMuJGVsZW1lbnRzLmVhY2goKChlLHQpPT5zZXRUaW1lb3V0KCgoKT0+ZWxlbWVudG9yRnJvbnRlbmQuZWxlbWVudHNIYW5kbGVyLnJ1blJlYWR5VHJpZ2dlcih0KSkpKSl9b25Jbml0KCl7dGhpcy4kZWxlbWVudD10aGlzLmdldFNldHRpbmdzKCIkZWxlbWVudCIpLHN1cGVyLm9uSW5pdCgpLHRoaXMuaXNFZGl0PXRoaXMuJGVsZW1lbnQuaGFzQ2xhc3ModGhpcy5nZXRTZXR0aW5ncygiY2xhc3Nlcy5lZGl0TW9kZSIpKSx0aGlzLmlzRWRpdD9lbGVtZW50b3Iub24oImRvY3VtZW50OmxvYWRlZCIsKCgpPT57ZWxlbWVudG9yLnNldHRpbmdzLnBhZ2UubW9kZWwub24oImNoYW5nZSIsdGhpcy5vblNldHRpbmdzQ2hhbmdlLmJpbmQodGhpcykpfSkpOnRoaXMucnVuRWxlbWVudHNIYW5kbGVycygpfW9uU2V0dGluZ3NDaGFuZ2UoKXt9fXQuZGVmYXVsdD1fZGVmYXVsdH0sOTYwMzooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNjc4NCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7dmFyIHI9aShuKDU2MzMpKTtjbGFzcyBDYXJvdXNlbEhhbmRsZXJCYXNlIGV4dGVuZHMgci5kZWZhdWx0e2dldERlZmF1bHRTZXR0aW5ncygpe3JldHVybntzZWxlY3RvcnM6e2Nhcm91c2VsOiIuc3dpcGVyIixzd2lwZXJXcmFwcGVyOiIuc3dpcGVyLXdyYXBwZXIiLHNsaWRlQ29udGVudDoiLnN3aXBlci1zbGlkZSIsc3dpcGVyQXJyb3c6Ii5lbGVtZW50b3Itc3dpcGVyLWJ1dHRvbiIscGFnaW5hdGlvbldyYXBwZXI6Ii5zd2lwZXItcGFnaW5hdGlvbiIscGFnaW5hdGlvbkJ1bGxldDoiLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCIscGFnaW5hdGlvbkJ1bGxldFdyYXBwZXI6Ii5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIn19fWdldERlZmF1bHRFbGVtZW50cygpe2NvbnN0IGU9dGhpcy5nZXRTZXR0aW5ncygic2VsZWN0b3JzIiksdD17JHN3aXBlckNvbnRhaW5lcjp0aGlzLiRlbGVtZW50LmZpbmQoZS5jYXJvdXNlbCksJHN3aXBlcldyYXBwZXI6dGhpcy4kZWxlbWVudC5maW5kKGUuc3dpcGVyV3JhcHBlciksJHN3aXBlckFycm93czp0aGlzLiRlbGVtZW50LmZpbmQoZS5zd2lwZXJBcnJvdyksJHBhZ2luYXRpb25XcmFwcGVyOnRoaXMuJGVsZW1lbnQuZmluZChlLnBhZ2luYXRpb25XcmFwcGVyKSwkcGFnaW5hdGlvbkJ1bGxldHM6dGhpcy4kZWxlbWVudC5maW5kKGUucGFnaW5hdGlvbkJ1bGxldCksJHBhZ2luYXRpb25CdWxsZXRXcmFwcGVyOnRoaXMuJGVsZW1lbnQuZmluZChlLnBhZ2luYXRpb25CdWxsZXRXcmFwcGVyKX07cmV0dXJuIHQuJHNsaWRlcz10LiRzd2lwZXJDb250YWluZXIuZmluZChlLnNsaWRlQ29udGVudCksdH1nZXRTd2lwZXJTZXR0aW5ncygpe2NvbnN0IGU9dGhpcy5nZXRFbGVtZW50U2V0dGluZ3MoKSx0PStlLnNsaWRlc190b19zaG93fHwzLG49MT09PXQsaT1lbGVtZW50b3JGcm9udGVuZC5jb25maWcucmVzcG9uc2l2ZS5hY3RpdmVCcmVha3BvaW50cyxyPXttb2JpbGU6MSx0YWJsZXQ6bj8xOjJ9LHM9e3NsaWRlc1BlclZpZXc6dCxsb29wOiJ5ZXMiPT09ZS5pbmZpbml0ZSxzcGVlZDplLnNwZWVkLGhhbmRsZUVsZW1lbnRvckJyZWFrcG9pbnRzOiEwLGJyZWFrcG9pbnRzOnt9fTtsZXQgbz10O09iamVjdC5rZXlzKGkpLnJldmVyc2UoKS5mb3JFYWNoKCh0PT57Y29uc3Qgbj1yW3RdP3JbdF06bztzLmJyZWFrcG9pbnRzW2lbdF0udmFsdWVdPXtzbGlkZXNQZXJWaWV3OitlWyJzbGlkZXNfdG9fc2hvd18iK3RdfHxuLHNsaWRlc1Blckdyb3VwOitlWyJzbGlkZXNfdG9fc2Nyb2xsXyIrdF18fDF9LGUuaW1hZ2Vfc3BhY2luZ19jdXN0b20mJihzLmJyZWFrcG9pbnRzW2lbdF0udmFsdWVdLnNwYWNlQmV0d2Vlbj10aGlzLmdldFNwYWNlQmV0d2Vlbih0KSksbz0rZVsic2xpZGVzX3RvX3Nob3dfIit0XXx8bn0pKSwieWVzIj09PWUuYXV0b3BsYXkmJihzLmF1dG9wbGF5PXtkZWxheTplLmF1dG9wbGF5X3NwZWVkLGRpc2FibGVPbkludGVyYWN0aW9uOiJ5ZXMiPT09ZS5wYXVzZV9vbl9pbnRlcmFjdGlvbn0pLG4/KHMuZWZmZWN0PWUuZWZmZWN0LCJmYWRlIj09PWUuZWZmZWN0JiYocy5mYWRlRWZmZWN0PXtjcm9zc0ZhZGU6ITB9KSk6cy5zbGlkZXNQZXJHcm91cD0rZS5zbGlkZXNfdG9fc2Nyb2xsfHwxLGUuaW1hZ2Vfc3BhY2luZ19jdXN0b20mJihzLnNwYWNlQmV0d2Vlbj10aGlzLmdldFNwYWNlQmV0d2VlbigpKTtjb25zdCBhPSJhcnJvd3MiPT09ZS5uYXZpZ2F0aW9ufHwiYm90aCI9PT1lLm5hdmlnYXRpb24sbD0iZG90cyI9PT1lLm5hdmlnYXRpb258fCJib3RoIj09PWUubmF2aWdhdGlvbnx8ZS5wYWdpbmF0aW9uO3JldHVybiBhJiYocy5uYXZpZ2F0aW9uPXtwcmV2RWw6Ii5lbGVtZW50b3Itc3dpcGVyLWJ1dHRvbi1wcmV2IixuZXh0RWw6Ii5lbGVtZW50b3Itc3dpcGVyLWJ1dHRvbi1uZXh0In0pLGwmJihzLnBhZ2luYXRpb249e2VsOmAuZWxlbWVudG9yLWVsZW1lbnQtJHt0aGlzLmdldElEKCl9IC5zd2lwZXItcGFnaW5hdGlvbmAsdHlwZTplLnBhZ2luYXRpb24/ZS5wYWdpbmF0aW9uOiJidWxsZXRzIixjbGlja2FibGU6ITAscmVuZGVyQnVsbGV0OihlLHQpPT5gPHNwYW4gY2xhc3M9IiR7dH0iIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiIGRhdGEtYnVsbGV0LWluZGV4PSIke2V9IiBhcmlhLWxhYmVsPSIke2VsZW1lbnRvckZyb250ZW5kLmNvbmZpZy5pMThuLmExMXlDYXJvdXNlbFBhZ2luYXRpb25CdWxsZXRNZXNzYWdlfSAke2UrMX0iPjwvc3Bhbj5gfSksInllcyI9PT1lLmxhenlsb2FkJiYocy5sYXp5PXtsb2FkUHJldk5leHQ6ITAsbG9hZFByZXZOZXh0QW1vdW50OjF9KSxzLmExMXk9e2VuYWJsZWQ6ITAscHJldlNsaWRlTWVzc2FnZTplbGVtZW50b3JGcm9udGVuZC5jb25maWcuaTE4bi5hMTF5Q2Fyb3VzZWxQcmV2U2xpZGVNZXNzYWdlLG5leHRTbGlkZU1lc3NhZ2U6ZWxlbWVudG9yRnJvbnRlbmQuY29uZmlnLmkxOG4uYTExeUNhcm91c2VsTmV4dFNsaWRlTWVzc2FnZSxmaXJzdFNsaWRlTWVzc2FnZTplbGVtZW50b3JGcm9udGVuZC5jb25maWcuaTE4bi5hMTF5Q2Fyb3VzZWxGaXJzdFNsaWRlTWVzc2FnZSxsYXN0U2xpZGVNZXNzYWdlOmVsZW1lbnRvckZyb250ZW5kLmNvbmZpZy5pMThuLmExMXlDYXJvdXNlbExhc3RTbGlkZU1lc3NhZ2V9LHMub249e3NsaWRlQ2hhbmdlOigpPT57dGhpcy5hMTF5U2V0UGFnaW5hdGlvblRhYmluZGV4KCksdGhpcy5oYW5kbGVFbGVtZW50SGFuZGxlcnMoKSx0aGlzLmExMXlTZXRTbGlkZUFyaWFIaWRkZW4oKX0saW5pdDooKT0+e3RoaXMuYTExeVNldFBhZ2luYXRpb25UYWJpbmRleCgpLHRoaXMuYTExeVNldFNsaWRlQXJpYUhpZGRlbigiaW5pdGlhbGlzYXRpb24iKX19LHRoaXMuYXBwbHlPZmZzZXRTZXR0aW5ncyhlLHMsdCksc31nZXRPZmZzZXRXaWR0aCgpe2NvbnN0IGU9ZWxlbWVudG9yRnJvbnRlbmQuZ2V0Q3VycmVudERldmljZU1vZGUoKTtyZXR1cm4gZWxlbWVudG9yRnJvbnRlbmQudXRpbHMuY29udHJvbHMuZ2V0UmVzcG9uc2l2ZUNvbnRyb2xWYWx1ZSh0aGlzLmdldEVsZW1lbnRTZXR0aW5ncygpLCJvZmZzZXRfd2lkdGgiLCJzaXplIixlKXx8MH1hcHBseU9mZnNldFNldHRpbmdzKGUsdCxuKXtjb25zdCBpPWUub2Zmc2V0X3NpZGVzO2lmKCEoZWxlbWVudG9yRnJvbnRlbmQuaXNFZGl0TW9kZSgpJiYiTmVzdGVkQ2Fyb3VzZWwiPT09dGhpcy5jb25zdHJ1Y3Rvci5uYW1lKSYmaSYmIm5vbmUiIT09aSlzd2l0Y2goaSl7Y2FzZSJyaWdodCI6dGhpcy5mb3JjZVNsaWRlclRvU2hvd05leHRTbGlkZVdoZW5Pbkxhc3QodCxuKSx0aGlzLmFkZENsYXNzVG9Td2lwZXJDb250YWluZXIoIm9mZnNldC1yaWdodCIpO2JyZWFrO2Nhc2UibGVmdCI6dGhpcy5hZGRDbGFzc1RvU3dpcGVyQ29udGFpbmVyKCJvZmZzZXQtbGVmdCIpO2JyZWFrO2Nhc2UiYm90aCI6dGhpcy5mb3JjZVNsaWRlclRvU2hvd05leHRTbGlkZVdoZW5Pbkxhc3QodCxuKSx0aGlzLmFkZENsYXNzVG9Td2lwZXJDb250YWluZXIoIm9mZnNldC1ib3RoIil9fWZvcmNlU2xpZGVyVG9TaG93TmV4dFNsaWRlV2hlbk9uTGFzdChlLHQpe2Uuc2xpZGVzUGVyVmlldz10Ky4wMDF9YWRkQ2xhc3NUb1N3aXBlckNvbnRhaW5lcihlKXt0aGlzLmdldERlZmF1bHRFbGVtZW50cygpLiRzd2lwZXJDb250YWluZXJbMF0uY2xhc3NMaXN0LmFkZChlKX1hc3luYyBvbkluaXQoKXtpZihzdXBlci5vbkluaXQoLi4uYXJndW1lbnRzKSwhdGhpcy5lbGVtZW50cy4kc3dpcGVyQ29udGFpbmVyLmxlbmd0aHx8Mj50aGlzLmVsZW1lbnRzLiRzbGlkZXMubGVuZ3RoKXJldHVybjthd2FpdCB0aGlzLmluaXRTd2lwZXIoKTsieWVzIj09PXRoaXMuZ2V0RWxlbWVudFNldHRpbmdzKCkucGF1c2Vfb25faG92ZXImJnRoaXMudG9nZ2xlUGF1c2VPbkhvdmVyKCEwKX1hc3luYyBpbml0U3dpcGVyKCl7Y29uc3QgZT1lbGVtZW50b3JGcm9udGVuZC51dGlscy5zd2lwZXI7dGhpcy5zd2lwZXI9YXdhaXQgbmV3IGUodGhpcy5lbGVtZW50cy4kc3dpcGVyQ29udGFpbmVyLHRoaXMuZ2V0U3dpcGVyU2V0dGluZ3MoKSksdGhpcy5lbGVtZW50cy4kc3dpcGVyQ29udGFpbmVyLmRhdGEoInN3aXBlciIsdGhpcy5zd2lwZXIpfWJpbmRFdmVudHMoKXt0aGlzLmVsZW1lbnRzLiRzd2lwZXJBcnJvd3Mub24oImtleWRvd24iLHRoaXMub25EaXJlY3Rpb25BcnJvd0tleWRvd24uYmluZCh0aGlzKSksdGhpcy5lbGVtZW50cy4kcGFnaW5hdGlvbldyYXBwZXIub24oImtleWRvd24iLCIuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0Iix0aGlzLm9uRGlyZWN0aW9uQXJyb3dLZXlkb3duLmJpbmQodGhpcykpLHRoaXMuZWxlbWVudHMuJHN3aXBlckNvbnRhaW5lci5vbigia2V5ZG93biIsIi5zd2lwZXItc2xpZGUiLHRoaXMub25EaXJlY3Rpb25BcnJvd0tleWRvd24uYmluZCh0aGlzKSksdGhpcy4kZWxlbWVudC5maW5kKCI6Zm9jdXNhYmxlIikub24oImZvY3VzIix0aGlzLm9uRm9jdXNEaXNhYmxlQXV0b3BsYXkuYmluZCh0aGlzKSksZWxlbWVudG9yRnJvbnRlbmQuZWxlbWVudHMuJHdpbmRvdy5vbigicmVzaXplIix0aGlzLmdldFN3aXBlclNldHRpbmdzLmJpbmQodGhpcykpfXVuYmluZEV2ZW50cygpe3RoaXMuZWxlbWVudHMuJHN3aXBlckFycm93cy5vZmYoKSx0aGlzLmVsZW1lbnRzLiRwYWdpbmF0aW9uV3JhcHBlci5vZmYoKSx0aGlzLmVsZW1lbnRzLiRzd2lwZXJDb250YWluZXIub2ZmKCksdGhpcy4kZWxlbWVudC5maW5kKCI6Zm9jdXNhYmxlIikub2ZmKCksZWxlbWVudG9yRnJvbnRlbmQuZWxlbWVudHMuJHdpbmRvdy5vZmYoInJlc2l6ZSIpfW9uRGlyZWN0aW9uQXJyb3dLZXlkb3duKGUpe2NvbnN0IHQ9ZWxlbWVudG9yRnJvbnRlbmQuY29uZmlnLmlzX3J0bCxuPWUub3JpZ2luYWxFdmVudC5jb2RlLGk9dD8iQXJyb3dMZWZ0IjoiQXJyb3dSaWdodCI7aWYoISgtMSE9PVsiQXJyb3dMZWZ0IiwiQXJyb3dSaWdodCJdLmluZGV4T2YobikpKXJldHVybiEwOyh0PyJBcnJvd1JpZ2h0IjoiQXJyb3dMZWZ0Iik9PT1uP3RoaXMuc3dpcGVyLnNsaWRlUHJldigpOmk9PT1uJiZ0aGlzLnN3aXBlci5zbGlkZU5leHQoKX1vbkZvY3VzRGlzYWJsZUF1dG9wbGF5KCl7dGhpcy5zd2lwZXIuYXV0b3BsYXkuc3RvcCgpfXVwZGF0ZVN3aXBlck9wdGlvbihlKXtjb25zdCB0PXRoaXMuZ2V0RWxlbWVudFNldHRpbmdzKClbZV0sbj10aGlzLnN3aXBlci5wYXJhbXM7c3dpdGNoKGUpe2Nhc2UiYXV0b3BsYXlfc3BlZWQiOm4uYXV0b3BsYXkuZGVsYXk9dDticmVhaztjYXNlInNwZWVkIjpuLnNwZWVkPXR9dGhpcy5zd2lwZXIudXBkYXRlKCl9Z2V0Q2hhbmdlYWJsZVByb3BlcnRpZXMoKXtyZXR1cm57cGF1c2Vfb25faG92ZXI6InBhdXNlT25Ib3ZlciIsYXV0b3BsYXlfc3BlZWQ6ImRlbGF5IixzcGVlZDoic3BlZWQiLGFycm93c19wb3NpdGlvbjoiYXJyb3dzX3Bvc2l0aW9uIn19b25FbGVtZW50Q2hhbmdlKGUpe2lmKDA9PT1lLmluZGV4T2YoImltYWdlX3NwYWNpbmdfY3VzdG9tIikpcmV0dXJuIHZvaWQgdGhpcy51cGRhdGVTcGFjZUJldHdlZW4oZSk7aWYodGhpcy5nZXRDaGFuZ2VhYmxlUHJvcGVydGllcygpW2VdKWlmKCJwYXVzZV9vbl9ob3ZlciI9PT1lKXtjb25zdCBlPXRoaXMuZ2V0RWxlbWVudFNldHRpbmdzKCJwYXVzZV9vbl9ob3ZlciIpO3RoaXMudG9nZ2xlUGF1c2VPbkhvdmVyKCJ5ZXMiPT09ZSl9ZWxzZSB0aGlzLnVwZGF0ZVN3aXBlck9wdGlvbihlKX1vbkVkaXRTZXR0aW5nc0NoYW5nZShlKXsiYWN0aXZlSXRlbUluZGV4Ij09PWUmJnRoaXMuc3dpcGVyLnNsaWRlVG9Mb29wKHRoaXMuZ2V0RWRpdFNldHRpbmdzKCJhY3RpdmVJdGVtSW5kZXgiKS0xKX1nZXRTcGFjZUJldHdlZW4oKXtsZXQgZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06bnVsbDtjb25zdCB0PWVsZW1lbnRvckZyb250ZW5kLnV0aWxzLmNvbnRyb2xzLmdldFJlc3BvbnNpdmVDb250cm9sVmFsdWUodGhpcy5nZXRFbGVtZW50U2V0dGluZ3MoKSwiaW1hZ2Vfc3BhY2luZ19jdXN0b20iLCJzaXplIixlKTtyZXR1cm4gTnVtYmVyKHQpfHwwfXVwZGF0ZVNwYWNlQmV0d2VlbihlKXtjb25zdCB0PWUubWF0Y2goImltYWdlX3NwYWNpbmdfY3VzdG9tXyguKikiKSxuPXQ/dFsxXToiZGVza3RvcCIsaT10aGlzLmdldFNwYWNlQmV0d2VlbihuKTsiZGVza3RvcCIhPT1uJiYodGhpcy5zd2lwZXIucGFyYW1zLmJyZWFrcG9pbnRzW2VsZW1lbnRvckZyb250ZW5kLmNvbmZpZy5yZXNwb25zaXZlLmFjdGl2ZUJyZWFrcG9pbnRzW25dLnZhbHVlXS5zcGFjZUJldHdlZW49aSksdGhpcy5zd2lwZXIucGFyYW1zLnNwYWNlQmV0d2Vlbj1pLHRoaXMuc3dpcGVyLnVwZGF0ZSgpfWdldFBhZ2luYXRpb25CdWxsZXRzKCl7bGV0IGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOiJhcnJheSI7Y29uc3QgdD10aGlzLiRlbGVtZW50LmZpbmQodGhpcy5nZXRTZXR0aW5ncygic2VsZWN0b3JzIikucGFnaW5hdGlvbkJ1bGxldCk7cmV0dXJuImFycmF5Ij09PWU/QXJyYXkuZnJvbSh0KTp0fWExMXlTZXRQYWdpbmF0aW9uVGFiaW5kZXgoKXtjb25zdCBlPXRoaXMuc3dpcGVyPy5wYXJhbXM/LnBhZ2luYXRpb24uYnVsbGV0Q2xhc3MsdD10aGlzLnN3aXBlcj8ucGFyYW1zPy5wYWdpbmF0aW9uLmJ1bGxldEFjdGl2ZUNsYXNzO3RoaXMuZ2V0UGFnaW5hdGlvbkJ1bGxldHMoKS5mb3JFYWNoKChlPT57ZS5jbGFzc0xpc3Q/LmNvbnRhaW5zKHQpfHxlLnJlbW92ZUF0dHJpYnV0ZSgidGFiaW5kZXgiKX0pKTtjb25zdCBuPSJBcnJvd0xlZnQiPT09ZXZlbnQ/LmNvZGV8fCJBcnJvd1JpZ2h0Ij09PWV2ZW50Py5jb2RlO2V2ZW50Py50YXJnZXQ/LmNsYXNzTGlzdD8uY29udGFpbnMoZSkmJm4mJnRoaXMuJGVsZW1lbnQuZmluZChgLiR7dH1gKS50cmlnZ2VyKCJmb2N1cyIpfWdldFN3aXBlcldyYXBwZXJUcmFuZm9ybVhWYWx1ZSgpe2xldCBlPXRoaXMuZWxlbWVudHMuJHN3aXBlcldyYXBwZXJbMF0/LnN0eWxlLnRyYW5zZm9ybTtyZXR1cm4gZT1lLnJlcGxhY2UoInRyYW5zbGF0ZTNkKCIsIiIpLGU9ZS5zcGxpdCgiLCIpLGU9cGFyc2VJbnQoZVswXS5yZXBsYWNlKCJweCIsIiIpKSxlfHwwfWExMXlTZXRTbGlkZUFyaWFIaWRkZW4oKXtpZigibnVtYmVyIiE9dHlwZW9mKCJpbml0aWFsaXNhdGlvbiI9PT0oYXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOiIiKT8wOnRoaXMuc3dpcGVyPy5hY3RpdmVJbmRleCkpcmV0dXJuO2NvbnN0IGU9dGhpcy5nZXRTd2lwZXJXcmFwcGVyVHJhbmZvcm1YVmFsdWUoKSx0PXRoaXMuZWxlbWVudHMuJHN3aXBlcldyYXBwZXJbMF0uY2xpZW50V2lkdGg7dGhpcy5lbGVtZW50cy4kc3dpcGVyQ29udGFpbmVyLmZpbmQodGhpcy5nZXRTZXR0aW5ncygic2VsZWN0b3JzIikuc2xpZGVDb250ZW50KS5lYWNoKCgobixpKT0+ezA8PWkub2Zmc2V0TGVmdCtlJiZ0Pmkub2Zmc2V0TGVmdCtlPyhpLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKSxpLnJlbW92ZUF0dHJpYnV0ZSgiaW5lcnQiKSk6KGkuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsITApLGkuc2V0QXR0cmlidXRlKCJpbmVydCIsIiIpKX0pKX1oYW5kbGVFbGVtZW50SGFuZGxlcnMoKXt9fXQuZGVmYXVsdD1DYXJvdXNlbEhhbmRsZXJCYXNlfSw1NjMzOihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9big2Nzg0KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMDt2YXIgcj1pKG4oNzIyNCkpO2NsYXNzIFN3aXBlckhhbmRsZXJCYXNlIGV4dGVuZHMgci5kZWZhdWx0e2dldEluaXRpYWxTbGlkZSgpe2NvbnN0IGU9dGhpcy5nZXRFZGl0U2V0dGluZ3MoKTtyZXR1cm4gZS5hY3RpdmVJdGVtSW5kZXg/ZS5hY3RpdmVJdGVtSW5kZXgtMTowfWdldFNsaWRlc0NvdW50KCl7cmV0dXJuIHRoaXMuZWxlbWVudHMuJHNsaWRlcy5sZW5ndGh9dG9nZ2xlUGF1c2VPbkhvdmVyKGUpe2U/dGhpcy5lbGVtZW50cy4kc3dpcGVyQ29udGFpbmVyLm9uKHttb3VzZWVudGVyOigpPT57dGhpcy5zd2lwZXIuYXV0b3BsYXkuc3RvcCgpfSxtb3VzZWxlYXZlOigpPT57dGhpcy5zd2lwZXIuYXV0b3BsYXkuc3RhcnQoKX19KTp0aGlzLmVsZW1lbnRzLiRzd2lwZXJDb250YWluZXIub2ZmKCJtb3VzZWVudGVyIG1vdXNlbGVhdmUiKX1oYW5kbGVLZW5CdXJucygpe2NvbnN0IGU9dGhpcy5nZXRTZXR0aW5ncygpO3RoaXMuJGFjdGl2ZUltYWdlQmcmJnRoaXMuJGFjdGl2ZUltYWdlQmcucmVtb3ZlQ2xhc3MoZS5jbGFzc2VzLmtlbkJ1cm5zQWN0aXZlKSx0aGlzLmFjdGl2ZUl0ZW1JbmRleD10aGlzLnN3aXBlcj90aGlzLnN3aXBlci5hY3RpdmVJbmRleDp0aGlzLmdldEluaXRpYWxTbGlkZSgpLHRoaXMuc3dpcGVyP3RoaXMuJGFjdGl2ZUltYWdlQmc9alF1ZXJ5KHRoaXMuc3dpcGVyLnNsaWRlc1t0aGlzLmFjdGl2ZUl0ZW1JbmRleF0pLmNoaWxkcmVuKCIuIitlLmNsYXNzZXMuc2xpZGVCYWNrZ3JvdW5kKTp0aGlzLiRhY3RpdmVJbWFnZUJnPWpRdWVyeSh0aGlzLmVsZW1lbnRzLiRzbGlkZXNbMF0pLmNoaWxkcmVuKCIuIitlLmNsYXNzZXMuc2xpZGVCYWNrZ3JvdW5kKSx0aGlzLiRhY3RpdmVJbWFnZUJnLmFkZENsYXNzKGUuY2xhc3Nlcy5rZW5CdXJuc0FjdGl2ZSl9fXQuZGVmYXVsdD1Td2lwZXJIYW5kbGVyQmFzZX0sNzIyNDooZSx0LG4pPT57InVzZSBzdHJpY3QiO24oNzY2NyksZS5leHBvcnRzPWVsZW1lbnRvck1vZHVsZXMuVmlld01vZHVsZS5leHRlbmQoeyRlbGVtZW50Om51bGwsZWRpdG9yTGlzdGVuZXJzOm51bGwsb25FbGVtZW50Q2hhbmdlOm51bGwsb25FZGl0U2V0dGluZ3NDaGFuZ2U6bnVsbCxvblBhZ2VTZXR0aW5nc0NoYW5nZTpudWxsLGlzRWRpdDpudWxsLF9fY29uc3RydWN0KGUpe3RoaXMuaXNBY3RpdmUoZSkmJih0aGlzLiRlbGVtZW50PWUuJGVsZW1lbnQsdGhpcy5pc0VkaXQ9dGhpcy4kZWxlbWVudC5oYXNDbGFzcygiZWxlbWVudG9yLWVsZW1lbnQtZWRpdC1tb2RlIiksdGhpcy5pc0VkaXQmJnRoaXMuYWRkRWRpdG9yTGlzdGVuZXJzKCkpfSxpc0FjdGl2ZTooKT0+ITAsaXNFbGVtZW50SW5UaGVDdXJyZW50RG9jdW1lbnQoKXtyZXR1cm4hIWVsZW1lbnRvckZyb250ZW5kLmlzRWRpdE1vZGUoKSYmZWxlbWVudG9yLmRvY3VtZW50cy5jdXJyZW50RG9jdW1lbnQuaWQudG9TdHJpbmcoKT09PXRoaXMuJGVsZW1lbnRbMF0uY2xvc2VzdCgiLmVsZW1lbnRvciIpLmRhdGFzZXQuZWxlbWVudG9ySWR9LGZpbmRFbGVtZW50KGUpe3ZhciB0PXRoaXMuJGVsZW1lbnQ7cmV0dXJuIHQuZmluZChlKS5maWx0ZXIoKGZ1bmN0aW9uKCl7cmV0dXJuIGpRdWVyeSh0aGlzKS5wYXJlbnQoKS5jbG9zZXN0KCIuZWxlbWVudG9yLWVsZW1lbnQiKS5pcyh0KX0pKX0sZ2V0VW5pcXVlSGFuZGxlcklEKGUsdCl7cmV0dXJuIGV8fChlPXRoaXMuZ2V0TW9kZWxDSUQoKSksdHx8KHQ9dGhpcy4kZWxlbWVudCksZSt0LmF0dHIoImRhdGEtZWxlbWVudF90eXBlIikrdGhpcy5nZXRDb25zdHJ1Y3RvcklEKCl9LGluaXRFZGl0b3JMaXN0ZW5lcnMoKXt2YXIgZT10aGlzO2lmKGUuZWRpdG9yTGlzdGVuZXJzPVt7ZXZlbnQ6ImVsZW1lbnQ6ZGVzdHJveSIsdG86ZWxlbWVudG9yLmNoYW5uZWxzLmRhdGEsY2FsbGJhY2sodCl7dC5jaWQ9PT1lLmdldE1vZGVsQ0lEKCkmJmUub25EZXN0cm95KCl9fV0sZS5vbkVsZW1lbnRDaGFuZ2Upe2NvbnN0IHQ9ZS5nZXRXaWRnZXRUeXBlKCl8fGUuZ2V0RWxlbWVudFR5cGUoKTtsZXQgbj0iY2hhbmdlIjsiZ2xvYmFsIiE9PXQmJihuKz0iOiIrdCksZS5lZGl0b3JMaXN0ZW5lcnMucHVzaCh7ZXZlbnQ6bix0bzplbGVtZW50b3IuY2hhbm5lbHMuZWRpdG9yLGNhbGxiYWNrKHQsbil7ZS5nZXRVbmlxdWVIYW5kbGVySUQobi5tb2RlbC5jaWQsbi4kZWwpPT09ZS5nZXRVbmlxdWVIYW5kbGVySUQoKSYmZS5vbkVsZW1lbnRDaGFuZ2UodC5tb2RlbC5nZXQoIm5hbWUiKSx0LG4pfX0pfWUub25FZGl0U2V0dGluZ3NDaGFuZ2UmJmUuZWRpdG9yTGlzdGVuZXJzLnB1c2goe2V2ZW50OiJjaGFuZ2U6ZWRpdFNldHRpbmdzIix0bzplbGVtZW50b3IuY2hhbm5lbHMuZWRpdG9yLGNhbGxiYWNrKHQsbil7aWYobi5tb2RlbC5jaWQhPT1lLmdldE1vZGVsQ0lEKCkpcmV0dXJuO2NvbnN0IGk9T2JqZWN0LmtleXModC5jaGFuZ2VkKVswXTtlLm9uRWRpdFNldHRpbmdzQ2hhbmdlKGksdC5jaGFuZ2VkW2ldKX19KSxbInBhZ2UiXS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgbj0ib24iK3RbMF0udG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpKyJTZXR0aW5nc0NoYW5nZSI7ZVtuXSYmZS5lZGl0b3JMaXN0ZW5lcnMucHVzaCh7ZXZlbnQ6ImNoYW5nZSIsdG86ZWxlbWVudG9yLnNldHRpbmdzW3RdLm1vZGVsLGNhbGxiYWNrKHQpe2Vbbl0odC5jaGFuZ2VkKX19KX0pKX0sZ2V0RWRpdG9yTGlzdGVuZXJzKCl7cmV0dXJuIHRoaXMuZWRpdG9yTGlzdGVuZXJzfHx0aGlzLmluaXRFZGl0b3JMaXN0ZW5lcnMoKSx0aGlzLmVkaXRvckxpc3RlbmVyc30sYWRkRWRpdG9yTGlzdGVuZXJzKCl7dmFyIGU9dGhpcy5nZXRVbmlxdWVIYW5kbGVySUQoKTt0aGlzLmdldEVkaXRvckxpc3RlbmVycygpLmZvckVhY2goKGZ1bmN0aW9uKHQpe2VsZW1lbnRvckZyb250ZW5kLmFkZExpc3RlbmVyT25jZShlLHQuZXZlbnQsdC5jYWxsYmFjayx0LnRvKX0pKX0scmVtb3ZlRWRpdG9yTGlzdGVuZXJzKCl7dmFyIGU9dGhpcy5nZXRVbmlxdWVIYW5kbGVySUQoKTt0aGlzLmdldEVkaXRvckxpc3RlbmVycygpLmZvckVhY2goKGZ1bmN0aW9uKHQpe2VsZW1lbnRvckZyb250ZW5kLnJlbW92ZUxpc3RlbmVycyhlLHQuZXZlbnQsbnVsbCx0LnRvKX0pKX0sZ2V0RWxlbWVudFR5cGUoKXtyZXR1cm4gdGhpcy4kZWxlbWVudC5kYXRhKCJlbGVtZW50X3R5cGUiKX0sZ2V0V2lkZ2V0VHlwZSgpe2NvbnN0IGU9dGhpcy4kZWxlbWVudC5kYXRhKCJ3aWRnZXRfdHlwZSIpO2lmKGUpcmV0dXJuIGUuc3BsaXQoIi4iKVswXX0sZ2V0SUQoKXtyZXR1cm4gdGhpcy4kZWxlbWVudC5kYXRhKCJpZCIpfSxnZXRNb2RlbENJRCgpe3JldHVybiB0aGlzLiRlbGVtZW50LmRhdGEoIm1vZGVsLWNpZCIpfSxnZXRFbGVtZW50U2V0dGluZ3MoZSl7bGV0IHQ9e307Y29uc3Qgbj10aGlzLmdldE1vZGVsQ0lEKCk7aWYodGhpcy5pc0VkaXQmJm4pe2NvbnN0IGU9ZWxlbWVudG9yRnJvbnRlbmQuY29uZmlnLmVsZW1lbnRzLmRhdGFbbl0saT1lLmF0dHJpYnV0ZXM7bGV0IHI9aS53aWRnZXRUeXBlfHxpLmVsVHlwZTtpLmlzSW5uZXImJihyPSJpbm5lci0iK3IpO2xldCBzPWVsZW1lbnRvckZyb250ZW5kLmNvbmZpZy5lbGVtZW50cy5rZXlzW3JdO3N8fChzPWVsZW1lbnRvckZyb250ZW5kLmNvbmZpZy5lbGVtZW50cy5rZXlzW3JdPVtdLGpRdWVyeS5lYWNoKGUuY29udHJvbHMsKChlLHQpPT57KHQuZnJvbnRlbmRfYXZhaWxhYmxlfHx0LmVkaXRvcl9hdmFpbGFibGUpJiZzLnB1c2goZSl9KSkpLGpRdWVyeS5lYWNoKGUuZ2V0QWN0aXZlQ29udHJvbHMoKSwoZnVuY3Rpb24oZSl7aWYoLTEhPT1zLmluZGV4T2YoZSkpe2xldCBuPWlbZV07bi50b0pTT04mJihuPW4udG9KU09OKCkpLHRbZV09bn19KSl9ZWxzZSB0PXRoaXMuJGVsZW1lbnQuZGF0YSgic2V0dGluZ3MiKXx8e307cmV0dXJuIHRoaXMuZ2V0SXRlbXModCxlKX0sZ2V0RWRpdFNldHRpbmdzKGUpe3ZhciB0PXt9O3JldHVybiB0aGlzLmlzRWRpdCYmKHQ9ZWxlbWVudG9yRnJvbnRlbmQuY29uZmlnLmVsZW1lbnRzLmVkaXRTZXR0aW5nc1t0aGlzLmdldE1vZGVsQ0lEKCldLmF0dHJpYnV0ZXMpLHRoaXMuZ2V0SXRlbXModCxlKX0sZ2V0Q3VycmVudERldmljZVNldHRpbmcoZSl7cmV0dXJuIGVsZW1lbnRvckZyb250ZW5kLmdldEN1cnJlbnREZXZpY2VTZXR0aW5nKHRoaXMuZ2V0RWxlbWVudFNldHRpbmdzKCksZSl9LG9uSW5pdCgpe3RoaXMuaXNBY3RpdmUodGhpcy5nZXRTZXR0aW5ncygpKSYmZWxlbWVudG9yTW9kdWxlcy5WaWV3TW9kdWxlLnByb3RvdHlwZS5vbkluaXQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxvbkRlc3Ryb3koKXt0aGlzLmlzRWRpdCYmdGhpcy5yZW1vdmVFZGl0b3JMaXN0ZW5lcnMoKSx0aGlzLnVuYmluZEV2ZW50cyYmdGhpcy51bmJpbmRFdmVudHMoKX19KX0sODE0MDooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNjc4NCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7dmFyIHI9aShuKDcyMjQpKTtjbGFzcyBTdHJldGNoZWRFbGVtZW50IGV4dGVuZHMgci5kZWZhdWx0e2dldFN0cmV0Y2hlZENsYXNzKCl7cmV0dXJuImUtc3RyZXRjaGVkIn1nZXRTdHJldGNoU2V0dGluZ05hbWUoKXtyZXR1cm4ic3RyZXRjaF9lbGVtZW50In1nZXRTdHJldGNoQWN0aXZlVmFsdWUoKXtyZXR1cm4ieWVzIn1iaW5kRXZlbnRzKCl7Y29uc3QgZT10aGlzLmdldFVuaXF1ZUhhbmRsZXJJRCgpO2VsZW1lbnRvckZyb250ZW5kLmFkZExpc3RlbmVyT25jZShlLCJyZXNpemUiLHRoaXMuc3RyZXRjaCksZWxlbWVudG9yRnJvbnRlbmQuYWRkTGlzdGVuZXJPbmNlKGUsInN0aWNreTpzdGljayIsdGhpcy5zdHJldGNoLHRoaXMuJGVsZW1lbnQpLGVsZW1lbnRvckZyb250ZW5kLmFkZExpc3RlbmVyT25jZShlLCJzdGlja3k6dW5zdGljayIsdGhpcy5zdHJldGNoLHRoaXMuJGVsZW1lbnQpLGVsZW1lbnRvckZyb250ZW5kLmlzRWRpdE1vZGUoKSYmKHRoaXMub25LaXRDaGFuZ2VTdHJldGNoQ29udGFpbmVyQ2hhbmdlPXRoaXMub25LaXRDaGFuZ2VTdHJldGNoQ29udGFpbmVyQ2hhbmdlLmJpbmQodGhpcyksZWxlbWVudG9yLmNoYW5uZWxzLmVkaXRvci5vbigia2l0OmNoYW5nZTpzdHJldGNoQ29udGFpbmVyIix0aGlzLm9uS2l0Q2hhbmdlU3RyZXRjaENvbnRhaW5lckNoYW5nZSkpfXVuYmluZEV2ZW50cygpe2VsZW1lbnRvckZyb250ZW5kLnJlbW92ZUxpc3RlbmVycyh0aGlzLmdldFVuaXF1ZUhhbmRsZXJJRCgpLCJyZXNpemUiLHRoaXMuc3RyZXRjaCksZWxlbWVudG9yRnJvbnRlbmQuaXNFZGl0TW9kZSgpJiZlbGVtZW50b3IuY2hhbm5lbHMuZWRpdG9yLm9mZigia2l0OmNoYW5nZTpzdHJldGNoQ29udGFpbmVyIix0aGlzLm9uS2l0Q2hhbmdlU3RyZXRjaENvbnRhaW5lckNoYW5nZSl9aXNBY3RpdmUoZSl7cmV0dXJuIGVsZW1lbnRvckZyb250ZW5kLmlzRWRpdE1vZGUoKXx8ZS4kZWxlbWVudC5oYXNDbGFzcyh0aGlzLmdldFN0cmV0Y2hlZENsYXNzKCkpfWdldFN0cmV0Y2hFbGVtZW50Rm9yQ29uZmlnKCl7bGV0IGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOm51bGw7cmV0dXJuIGU/dGhpcy4kZWxlbWVudC5maW5kKGUpOnRoaXMuJGVsZW1lbnR9Z2V0U3RyZXRjaEVsZW1lbnRDb25maWcoKXtyZXR1cm57ZWxlbWVudDp0aGlzLmdldFN0cmV0Y2hFbGVtZW50Rm9yQ29uZmlnKCksc2VsZWN0b3JzOntjb250YWluZXI6dGhpcy5nZXRTdHJldGNoQ29udGFpbmVyKCl9LGNvbnNpZGVyU2Nyb2xsYmFyOmVsZW1lbnRvckZyb250ZW5kLmlzRWRpdE1vZGUoKSYmZWxlbWVudG9yRnJvbnRlbmQuY29uZmlnLmlzX3J0bH19aW5pdFN0cmV0Y2goKXt0aGlzLnN0cmV0Y2g9dGhpcy5zdHJldGNoLmJpbmQodGhpcyksdGhpcy5zdHJldGNoRWxlbWVudD1uZXcgZWxlbWVudG9yTW9kdWxlcy5mcm9udGVuZC50b29scy5TdHJldGNoRWxlbWVudCh0aGlzLmdldFN0cmV0Y2hFbGVtZW50Q29uZmlnKCkpfWdldFN0cmV0Y2hDb250YWluZXIoKXtyZXR1cm4gZWxlbWVudG9yRnJvbnRlbmQuZ2V0S2l0U2V0dGluZ3MoInN0cmV0Y2hlZF9zZWN0aW9uX2NvbnRhaW5lciIpfHx3aW5kb3d9aXNTdHJldGNoU2V0dGluZ0VuYWJsZWQoKXtyZXR1cm4gdGhpcy5nZXRFbGVtZW50U2V0dGluZ3ModGhpcy5nZXRTdHJldGNoU2V0dGluZ05hbWUoKSk9PT10aGlzLmdldFN0cmV0Y2hBY3RpdmVWYWx1ZSgpfXN0cmV0Y2goKXt0aGlzLmlzU3RyZXRjaFNldHRpbmdFbmFibGVkKCkmJnRoaXMuc3RyZXRjaEVsZW1lbnQuc3RyZXRjaCgpfW9uSW5pdCgpe3RoaXMuaXNBY3RpdmUodGhpcy5nZXRTZXR0aW5ncygpKSYmKHRoaXMuaW5pdFN0cmV0Y2goKSxzdXBlci5vbkluaXQoLi4uYXJndW1lbnRzKSx0aGlzLnN0cmV0Y2goKSl9b25FbGVtZW50Q2hhbmdlKGUpe3RoaXMuZ2V0U3RyZXRjaFNldHRpbmdOYW1lKCk9PT1lJiYodGhpcy5pc1N0cmV0Y2hTZXR0aW5nRW5hYmxlZCgpP3RoaXMuc3RyZXRjaCgpOnRoaXMuc3RyZXRjaEVsZW1lbnQucmVzZXQoKSl9b25LaXRDaGFuZ2VTdHJldGNoQ29udGFpbmVyQ2hhbmdlKCl7dGhpcy5zdHJldGNoRWxlbWVudC5zZXRTZXR0aW5ncygic2VsZWN0b3JzLmNvbnRhaW5lciIsdGhpcy5nZXRTdHJldGNoQ29udGFpbmVyKCkpLHRoaXMuc3RyZXRjaCgpfX10LmRlZmF1bHQ9U3RyZXRjaGVkRWxlbWVudH0sNDk0NjooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNjc4NCkscj1pKG4oMTI2NSkpLHM9aShuKDI4OTApKSxvPWkobig3OTU1KSksYT1pKG4oODE0MCkpLGw9aShuKDcyMjQpKSxjPWkobig1NjMzKSksdT1pKG4oOTYwMykpLGQ9aShuKDQzMjgpKTtyLmRlZmF1bHQuZnJvbnRlbmQ9e0RvY3VtZW50OnMuZGVmYXVsdCx0b29sczp7U3RyZXRjaEVsZW1lbnQ6by5kZWZhdWx0fSxoYW5kbGVyczp7QmFzZTpsLmRlZmF1bHQsU3RyZXRjaGVkRWxlbWVudDphLmRlZmF1bHQsU3dpcGVyQmFzZTpjLmRlZmF1bHQsQ2Fyb3VzZWxCYXNlOnUuZGVmYXVsdCxOZXN0ZWRUYWJzOmQuZGVmYXVsdH19fSw3OTU1OmU9PnsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWVsZW1lbnRvck1vZHVsZXMuVmlld01vZHVsZS5leHRlbmQoe2dldERlZmF1bHRTZXR0aW5nczooKT0+KHtlbGVtZW50Om51bGwsZGlyZWN0aW9uOmVsZW1lbnRvckZyb250ZW5kLmNvbmZpZy5pc19ydGw/InJpZ2h0IjoibGVmdCIsc2VsZWN0b3JzOntjb250YWluZXI6d2luZG93fSxjb25zaWRlclNjcm9sbGJhcjohMSxjc3NPdXRwdXQ6ImlubGluZSJ9KSxnZXREZWZhdWx0RWxlbWVudHMoKXtyZXR1cm57JGVsZW1lbnQ6alF1ZXJ5KHRoaXMuZ2V0U2V0dGluZ3MoImVsZW1lbnQiKSl9fSxzdHJldGNoKCl7Y29uc3QgZT10aGlzLmdldFNldHRpbmdzKCk7bGV0IHQ7dHJ5e3Q9alF1ZXJ5KGUuc2VsZWN0b3JzLmNvbnRhaW5lcil9Y2F0Y2goZSl7fXQmJnQubGVuZ3RofHwodD1qUXVlcnkodGhpcy5nZXREZWZhdWx0U2V0dGluZ3MoKS5zZWxlY3RvcnMuY29udGFpbmVyKSksdGhpcy5yZXNldCgpO3ZhciBuPXRoaXMuZWxlbWVudHMuJGVsZW1lbnQsaT10LmlubmVyV2lkdGgoKSxyPW4ub2Zmc2V0KCkubGVmdCxzPSJmaXhlZCI9PT1uLmNzcygicG9zaXRpb24iKSxvPXM/MDpyLGE9d2luZG93PT09dFswXTtpZighYSl7dmFyIGw9dC5vZmZzZXQoKS5sZWZ0O3MmJihvPWwpLHI+bCYmKG89ci1sKX1pZihlLmNvbnNpZGVyU2Nyb2xsYmFyJiZhKXtvLT13aW5kb3cuaW5uZXJXaWR0aC1pfXN8fChlbGVtZW50b3JGcm9udGVuZC5jb25maWcuaXNfcnRsJiYobz1pLShuLm91dGVyV2lkdGgoKStvKSksbz0tbyksZS5tYXJnaW4mJihvKz1lLm1hcmdpbik7dmFyIGM9e307bGV0IHU9aTtlLm1hcmdpbiYmKHUtPTIqZS5tYXJnaW4pLGMud2lkdGg9dSsicHgiLGNbZS5kaXJlY3Rpb25dPW8rInB4IiwidmFyaWFibGVzIiE9PWUuY3NzT3V0cHV0P24uY3NzKGMpOnRoaXMuYXBwbHlDc3NWYXJpYWJsZXMobixjKX0scmVzZXQoKXtjb25zdCBlPXt9LHQ9dGhpcy5nZXRTZXR0aW5ncygpLG49dGhpcy5lbGVtZW50cy4kZWxlbWVudDsidmFyaWFibGVzIiE9PXQuY3NzT3V0cHV0PyhlLndpZHRoPSIiLGVbdC5kaXJlY3Rpb25dPSIiLG4uY3NzKGUpKTp0aGlzLnJlc2V0Q3NzVmFyaWFibGVzKG4pfSxhcHBseUNzc1ZhcmlhYmxlcyhlLHQpe2UuY3NzKCItLXN0cmV0Y2gtd2lkdGgiLHQud2lkdGgpLHQubGVmdD9lLmNzcygiLS1zdHJldGNoLWxlZnQiLHQubGVmdCk6ZS5jc3MoIi0tc3RyZXRjaC1yaWdodCIsdC5yaWdodCl9LHJlc2V0Q3NzVmFyaWFibGVzKGUpe2UuY3NzKHsiLS1zdHJldGNoLXdpZHRoIjoiIiwiLS1zdHJldGNoLWxlZnQiOiIiLCItLXN0cmV0Y2gtcmlnaHQiOiIifSl9fSl9LDc1NTc6KGUsdCk9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZ2V0Q2hpbGRyZW5XaWR0aChlKXtsZXQgdD0wO2NvbnN0IG49ZVswXS5wYXJlbnROb2RlLGk9Z2V0Q29tcHV0ZWRTdHlsZShuKSxyPXBhcnNlRmxvYXQoaS5nYXApfHwwO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXQrPWVbbl0ub2Zmc2V0V2lkdGgrcjtyZXR1cm4gdH1PYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5jaGFuZ2VTY3JvbGxTdGF0dXM9ZnVuY3Rpb24gY2hhbmdlU2Nyb2xsU3RhdHVzKGUsdCl7Im1vdXNlZG93biI9PT10LnR5cGU/KGUuY2xhc3NMaXN0LmFkZCgiZS1zY3JvbGwiKSxlLmRhdGFzZXQucGFnZVg9dC5wYWdlWCk6KGUuY2xhc3NMaXN0LnJlbW92ZSgiZS1zY3JvbGwiLCJlLXNjcm9sbC1hY3RpdmUiKSxlLmRhdGFzZXQucGFnZVg9IiIpfSx0LnNldEhvcml6b250YWxTY3JvbGxBbGlnbm1lbnQ9ZnVuY3Rpb24gc2V0SG9yaXpvbnRhbFNjcm9sbEFsaWdubWVudChlKXtsZXR7ZWxlbWVudDp0LGRpcmVjdGlvbjpuLGp1c3RpZnlDU1NWYXJpYWJsZTppLGhvcml6b250YWxTY3JvbGxTdGF0dXM6cn09ZTtpZighdClyZXR1cm47IWZ1bmN0aW9uIGlzSG9yaXpvbnRhbFNjcm9sbChlLHQpe3JldHVybiBlLmNsaWVudFdpZHRoPGdldENoaWxkcmVuV2lkdGgoZS5jaGlsZHJlbikmJiJlbmFibGUiPT09dH0odCxyKT90LnN0eWxlLnNldFByb3BlcnR5KGksIiIpOmZ1bmN0aW9uIGluaXRpYWxTY3JvbGxQb3NpdGlvbihlLHQsbil7Y29uc3QgaT1lbGVtZW50b3JGcm9udGVuZC5jb25maWcuaXNfcnRsO2lmKCJlbmQiPT09dCllLnN0eWxlLnNldFByb3BlcnR5KG4sInN0YXJ0IiksZS5zY3JvbGxMZWZ0PWk/LTEqZ2V0Q2hpbGRyZW5XaWR0aChlLmNoaWxkcmVuKTpnZXRDaGlsZHJlbldpZHRoKGUuY2hpbGRyZW4pO2Vsc2UgZS5zdHlsZS5zZXRQcm9wZXJ0eShuLCJzdGFydCIpLGUuc2Nyb2xsTGVmdD0wfSh0LG4saSl9LHQuc2V0SG9yaXpvbnRhbFRpdGxlU2Nyb2xsVmFsdWVzPWZ1bmN0aW9uIHNldEhvcml6b250YWxUaXRsZVNjcm9sbFZhbHVlcyhlLHQsbil7Y29uc3QgaT1lLmNsYXNzTGlzdC5jb250YWlucygiZS1zY3JvbGwiKSxyPSJlbmFibGUiPT09dCxzPWUuc2Nyb2xsV2lkdGg+ZS5jbGllbnRXaWR0aDtpZighaXx8IXJ8fCFzKXJldHVybjtuLnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgbz1wYXJzZUZsb2F0KGUuZGF0YXNldC5wYWdlWCksYT1uLnBhZ2VYLW87bGV0IGw9MDtsPTIwPGE/NTotMjA+YT8tNTphO2Uuc2Nyb2xsTGVmdD1lLnNjcm9sbExlZnQtbCxlLmNsYXNzTGlzdC5hZGQoImUtc2Nyb2xsLWFjdGl2ZSIpfX0sMjk0NjooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNjc4NCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7dmFyIHI9aShuKDc1MSkpLHM9aShuKDUyMTMpKTtjbGFzcyBBcmdzT2JqZWN0IGV4dGVuZHMgci5kZWZhdWx0e3N0YXRpYyBnZXRJbnN0YW5jZVR5cGUoKXtyZXR1cm4iQXJnc09iamVjdCJ9Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLmFyZ3M9ZX1yZXF1aXJlQXJndW1lbnQoZSl7bGV0IHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnRoaXMuYXJncztpZighT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZSkpdGhyb3cgRXJyb3IoYCR7ZX0gaXMgcmVxdWlyZWQuYCl9cmVxdWlyZUFyZ3VtZW50VHlwZShlLHQpe2xldCBuPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTp0aGlzLmFyZ3M7aWYodGhpcy5yZXF1aXJlQXJndW1lbnQoZSxuKSx0eXBlb2YgbltlXSE9PXQpdGhyb3cgRXJyb3IoYCR7ZX0gaW52YWxpZCB0eXBlOiAke3R9LmApfXJlcXVpcmVBcmd1bWVudEluc3RhbmNlKGUsdCl7bGV0IG49YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOnRoaXMuYXJncztpZih0aGlzLnJlcXVpcmVBcmd1bWVudChlLG4pLCEobltlXWluc3RhbmNlb2YgdHx8KDAscy5kZWZhdWx0KShuW2VdLHQpKSl0aHJvdyBFcnJvcihgJHtlfSBpbnZhbGlkIGluc3RhbmNlLmApfXJlcXVpcmVBcmd1bWVudENvbnN0cnVjdG9yKGUsdCl7bGV0IG49YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOnRoaXMuYXJncztpZih0aGlzLnJlcXVpcmVBcmd1bWVudChlLG4pLG5bZV0uY29uc3RydWN0b3IudG9TdHJpbmcoKSE9PXQucHJvdG90eXBlLmNvbnN0cnVjdG9yLnRvU3RyaW5nKCkpdGhyb3cgRXJyb3IoYCR7ZX0gaW52YWxpZCBjb25zdHJ1Y3RvciB0eXBlLmApfX10LmRlZmF1bHQ9QXJnc09iamVjdH0sODY4NTooZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dC5Gb3JjZU1ldGhvZEltcGxlbWVudGF0aW9uPXZvaWQgMCxuKDc0MDYpO2NsYXNzIEZvcmNlTWV0aG9kSW1wbGVtZW50YXRpb24gZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcigpe2xldCBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fSx0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fTtzdXBlcihgJHtlLmlzU3RhdGljPyJzdGF0aWMgIjoiIn0ke2UuZnVsbE5hbWV9KCkgc2hvdWxkIGJlIGltcGxlbWVudGVkLCBwbGVhc2UgcHJvdmlkZSAnJHtlLmZ1bmN0aW9uTmFtZXx8ZS5mdWxsTmFtZX0nIGZ1bmN0aW9uYWxpdHkuYCx0KSxPYmplY3Qua2V5cyh0KS5sZW5ndGgmJmNvbnNvbGUuZXJyb3IodCksRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyxGb3JjZU1ldGhvZEltcGxlbWVudGF0aW9uKX19dC5Gb3JjZU1ldGhvZEltcGxlbWVudGF0aW9uPUZvcmNlTWV0aG9kSW1wbGVtZW50YXRpb247dC5kZWZhdWx0PWU9Pntjb25zdCB0PUVycm9yKCkuc3RhY2suc3BsaXQoIlxuIilbMl0udHJpbSgpLG49dC5zdGFydHNXaXRoKCJhdCBuZXciKT8iY29uc3RydWN0b3IiOnQuc3BsaXQoIiAiKVsxXSxpPXt9O2lmKGkuZnVuY3Rpb25OYW1lPW4saS5mdWxsTmFtZT1uLGkuZnVuY3Rpb25OYW1lLmluY2x1ZGVzKCIuIikpe2NvbnN0IGU9aS5mdW5jdGlvbk5hbWUuc3BsaXQoIi4iKTtpLmNsYXNzTmFtZT1lWzBdLGkuZnVuY3Rpb25OYW1lPWVbMV19ZWxzZSBpLmlzU3RhdGljPSEwO3Rocm93IG5ldyBGb3JjZU1ldGhvZEltcGxlbWVudGF0aW9uKGksZSl9fSw3NTE6KGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMCxuKDc2NjcpO2NsYXNzIEluc3RhbmNlVHlwZXtzdGF0aWNbU3ltYm9sLmhhc0luc3RhbmNlXShlKXtsZXQgdD1zdXBlcltTeW1ib2wuaGFzSW5zdGFuY2VdKGUpO2lmKGUmJiFlLmNvbnN0cnVjdG9yLmdldEluc3RhbmNlVHlwZSlyZXR1cm4gdDtpZihlJiYoZS5pbnN0YW5jZVR5cGVzfHwoZS5pbnN0YW5jZVR5cGVzPVtdKSx0fHx0aGlzLmdldEluc3RhbmNlVHlwZSgpPT09ZS5jb25zdHJ1Y3Rvci5nZXRJbnN0YW5jZVR5cGUoKSYmKHQ9ITApLHQpKXtjb25zdCB0PXRoaXMuZ2V0SW5zdGFuY2VUeXBlPT09SW5zdGFuY2VUeXBlLmdldEluc3RhbmNlVHlwZT8iQmFzZUluc3RhbmNlVHlwZSI6dGhpcy5nZXRJbnN0YW5jZVR5cGUoKTstMT09PWUuaW5zdGFuY2VUeXBlcy5pbmRleE9mKHQpJiZlLmluc3RhbmNlVHlwZXMucHVzaCh0KX1yZXR1cm4hdCYmZSYmKHQ9ZS5pbnN0YW5jZVR5cGVzJiZBcnJheS5pc0FycmF5KGUuaW5zdGFuY2VUeXBlcykmJi0xIT09ZS5pbnN0YW5jZVR5cGVzLmluZGV4T2YodGhpcy5nZXRJbnN0YW5jZVR5cGUoKSkpLHR9c3RhdGljIGdldEluc3RhbmNlVHlwZSgpe2VsZW1lbnRvck1vZHVsZXMuRm9yY2VNZXRob2RJbXBsZW1lbnRhdGlvbigpfWNvbnN0cnVjdG9yKCl7bGV0IGU9bmV3LnRhcmdldDtjb25zdCB0PVtdO2Zvcig7ZS5fX3Byb3RvX18mJmUuX19wcm90b19fLm5hbWU7KXQucHVzaChlLl9fcHJvdG9fXyksZT1lLl9fcHJvdG9fXzt0LnJldmVyc2UoKS5mb3JFYWNoKChlPT50aGlzIGluc3RhbmNlb2YgZSkpfX10LmRlZmF1bHQ9SW5zdGFuY2VUeXBlfSw2NDE6KGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtuKDc2NjcpO2NvbnN0IE1vZHVsZT1mdW5jdGlvbigpe2NvbnN0IGU9alF1ZXJ5LHQ9YXJndW1lbnRzLG49dGhpcyxpPXt9O2xldCByO3RoaXMuZ2V0SXRlbXM9ZnVuY3Rpb24oZSx0KXtpZih0KXtjb25zdCBuPXQuc3BsaXQoIi4iKSxpPW4uc3BsaWNlKDAsMSk7aWYoIW4ubGVuZ3RoKXJldHVybiBlW2ldO2lmKCFlW2ldKXJldHVybjtyZXR1cm4gdGhpcy5nZXRJdGVtcyhlW2ldLG4uam9pbigiLiIpKX1yZXR1cm4gZX0sdGhpcy5nZXRTZXR0aW5ncz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5nZXRJdGVtcyhyLGUpfSx0aGlzLnNldFNldHRpbmdzPWZ1bmN0aW9uKHQsaSxzKXtpZihzfHwocz1yKSwib2JqZWN0Ij09dHlwZW9mIHQpcmV0dXJuIGUuZXh0ZW5kKHMsdCksbjtjb25zdCBvPXQuc3BsaXQoIi4iKSxhPW8uc3BsaWNlKDAsMSk7cmV0dXJuIG8ubGVuZ3RoPyhzW2FdfHwoc1thXT17fSksbi5zZXRTZXR0aW5ncyhvLmpvaW4oIi4iKSxpLHNbYV0pKTooc1thXT1pLG4pfSx0aGlzLmdldEVycm9yTWVzc2FnZT1mdW5jdGlvbihlLHQpe2xldCBuO2lmKCJmb3JjZU1ldGhvZEltcGxlbWVudGF0aW9uIj09PWUpbj1gVGhlIG1ldGhvZCAnJHt0fScgbXVzdCB0byBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgaW5oZXJpdG9yIGNoaWxkLmA7ZWxzZSBuPSJBbiBlcnJvciBvY2N1cnMiO3JldHVybiBufSx0aGlzLmZvcmNlTWV0aG9kSW1wbGVtZW50YXRpb249ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKHRoaXMuZ2V0RXJyb3JNZXNzYWdlKCJmb3JjZU1ldGhvZEltcGxlbWVudGF0aW9uIixlKSl9LHRoaXMub249ZnVuY3Rpb24odCxyKXtpZigib2JqZWN0Ij09dHlwZW9mIHQpcmV0dXJuIGUuZWFjaCh0LChmdW5jdGlvbihlKXtuLm9uKGUsdGhpcyl9KSksbjtyZXR1cm4gdC5zcGxpdCgiICIpLmZvckVhY2goKGZ1bmN0aW9uKGUpe2lbZV18fChpW2VdPVtdKSxpW2VdLnB1c2gocil9KSksbn0sdGhpcy5vZmY9ZnVuY3Rpb24oZSx0KXtpZighaVtlXSlyZXR1cm4gbjtpZighdClyZXR1cm4gZGVsZXRlIGlbZV0sbjtjb25zdCByPWlbZV0uaW5kZXhPZih0KTtyZXR1cm4tMSE9PXImJihkZWxldGUgaVtlXVtyXSxpW2VdPWlbZV0uZmlsdGVyKChlPT5lKSkpLG59LHRoaXMudHJpZ2dlcj1mdW5jdGlvbih0KXtjb25zdCByPSJvbiIrdFswXS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSkscz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7bltyXSYmbltyXS5hcHBseShuLHMpO2NvbnN0IG89aVt0XTtyZXR1cm4gbz8oZS5lYWNoKG8sKGZ1bmN0aW9uKGUsdCl7dC5hcHBseShuLHMpfSkpLG4pOm59LG4uX19jb25zdHJ1Y3QuYXBwbHkobix0KSxlLmVhY2gobiwoZnVuY3Rpb24oZSl7Y29uc3QgdD1uW2VdOyJmdW5jdGlvbiI9PXR5cGVvZiB0JiYobltlXT1mdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KG4sYXJndW1lbnRzKX0pfSkpLGZ1bmN0aW9uKCl7cj1uLmdldERlZmF1bHRTZXR0aW5ncygpO2NvbnN0IGk9dFswXTtpJiZlLmV4dGVuZCghMCxyLGkpfSgpLG4udHJpZ2dlcigiaW5pdCIpfTtNb2R1bGUucHJvdG90eXBlLl9fY29uc3RydWN0PWZ1bmN0aW9uKCl7fSxNb2R1bGUucHJvdG90eXBlLmdldERlZmF1bHRTZXR0aW5ncz1mdW5jdGlvbigpe3JldHVybnt9fSxNb2R1bGUucHJvdG90eXBlLmdldENvbnN0cnVjdG9ySUQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lfSxNb2R1bGUuZXh0ZW5kPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9alF1ZXJ5LG49dGhpcyxjaGlsZD1mdW5jdGlvbigpe3JldHVybiBuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07cmV0dXJuIHQuZXh0ZW5kKGNoaWxkLG4pLChjaGlsZC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0LmV4dGVuZCh7fSxuLnByb3RvdHlwZSxlKSkpLmNvbnN0cnVjdG9yPWNoaWxkLGNoaWxkLl9fc3VwZXJfXz1uLnByb3RvdHlwZSxjaGlsZH0sZS5leHBvcnRzPU1vZHVsZX0sMzk4MDooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNjc4NCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDAsbig3NjY3KTt2YXIgcj1pKG4oMjQyNSkpO3QuZGVmYXVsdD1yLmRlZmF1bHQuZXh0ZW5kKHtnZXREZWZhdWx0U2V0dGluZ3M6KCk9Pih7Y29udGFpbmVyOm51bGwsaXRlbXM6bnVsbCxjb2x1bW5zQ291bnQ6Myx2ZXJ0aWNhbFNwYWNlQmV0d2VlbjozMH0pLGdldERlZmF1bHRFbGVtZW50cygpe3JldHVybnskY29udGFpbmVyOmpRdWVyeSh0aGlzLmdldFNldHRpbmdzKCJjb250YWluZXIiKSksJGl0ZW1zOmpRdWVyeSh0aGlzLmdldFNldHRpbmdzKCJpdGVtcyIpKX19LHJ1bigpe3ZhciBlPVtdLHQ9dGhpcy5lbGVtZW50cy4kY29udGFpbmVyLnBvc2l0aW9uKCkudG9wLG49dGhpcy5nZXRTZXR0aW5ncygpLGk9bi5jb2x1bW5zQ291bnQ7dCs9cGFyc2VJbnQodGhpcy5lbGVtZW50cy4kY29udGFpbmVyLmNzcygibWFyZ2luLXRvcCIpLDEwKSx0aGlzLmVsZW1lbnRzLiRpdGVtcy5lYWNoKChmdW5jdGlvbihyKXt2YXIgcz1NYXRoLmZsb29yKHIvaSksbz1qUXVlcnkodGhpcyksYT1vWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCtuLnZlcnRpY2FsU3BhY2VCZXR3ZWVuO2lmKHMpe3ZhciBsPW8ucG9zaXRpb24oKSxjPXIlaSx1PWwudG9wLXQtZVtjXTt1LT1wYXJzZUludChvLmNzcygibWFyZ2luLXRvcCIpLDEwKSx1Kj0tMSxvLmNzcygibWFyZ2luLXRvcCIsdSsicHgiKSxlW2NdKz1hfWVsc2UgZS5wdXNoKGEpfSkpfX0pfSwyOTcwOihlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDAsbig3NjY3KTt0LmRlZmF1bHQ9Y2xhc3MgU2Nyb2xse3N0YXRpYyBzY3JvbGxPYnNlcnZlcihlKXtsZXQgdD0wO2NvbnN0IG49e3Jvb3Q6ZS5yb290fHxudWxsLHJvb3RNYXJnaW46ZS5vZmZzZXR8fCIwcHgiLHRocmVzaG9sZDpmdW5jdGlvbigpe2xldCBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTowO2NvbnN0IHQ9W107aWYoZT4wJiZlPD0xMDApe2NvbnN0IG49MTAwL2U7Zm9yKGxldCBlPTA7ZTw9MTAwO2UrPW4pdC5wdXNoKGUvMTAwKX1lbHNlIHQucHVzaCgwKTtyZXR1cm4gdH0oZS5zZW5zaXRpdml0eSl9O3JldHVybiBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGZ1bmN0aW9uIGhhbmRsZUludGVyc2VjdChuKXtjb25zdCBpPW5bMF0uYm91bmRpbmdDbGllbnRSZWN0Lnkscj1uWzBdLmlzSW50ZXJzZWN0aW5nLHM9aTx0PyJkb3duIjoidXAiLG89TWF0aC5hYnMocGFyc2VGbG9hdCgoMTAwKm5bMF0uaW50ZXJzZWN0aW9uUmF0aW8pLnRvRml4ZWQoMikpKTtlLmNhbGxiYWNrKHtzZW5zaXRpdml0eTplLnNlbnNpdGl2aXR5LGlzSW5WaWV3cG9ydDpyLHNjcm9sbFBlcmNlbnRhZ2U6byxpbnRlcnNlY3Rpb25TY3JvbGxEaXJlY3Rpb246c30pLHQ9aX0pLG4pfXN0YXRpYyBnZXRFbGVtZW50Vmlld3BvcnRQZXJjZW50YWdlKGUpe2xldCB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fTtjb25zdCBuPWVbMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT10LnN0YXJ0fHwwLHI9dC5lbmR8fDAscz13aW5kb3cuaW5uZXJIZWlnaHQqaS8xMDAsbz13aW5kb3cuaW5uZXJIZWlnaHQqci8xMDAsYT1uLnRvcC13aW5kb3cuaW5uZXJIZWlnaHQsbD0wLWErcyxjPW4udG9wK3MrZS5oZWlnaHQoKS1hK28sdT1NYXRoLm1heCgwLE1hdGgubWluKGwvYywxKSk7cmV0dXJuIHBhcnNlRmxvYXQoKDEwMCp1KS50b0ZpeGVkKDIpKX1zdGF0aWMgZ2V0UGFnZVNjcm9sbFBlcmNlbnRhZ2UoKXtsZXQgZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e30sdD1hcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMDtjb25zdCBuPWUuc3RhcnR8fDAsaT1lLmVuZHx8MCxyPXR8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQtZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxzPXIqbi8xMDAsbz1yK3MrcippLzEwMDtyZXR1cm4oZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCtkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCtzKS9vKjEwMH19fSwyNDI1OihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9big2Nzg0KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMDt2YXIgcj1pKG4oNjQxKSk7dC5kZWZhdWx0PXIuZGVmYXVsdC5leHRlbmQoe2VsZW1lbnRzOm51bGwsZ2V0RGVmYXVsdEVsZW1lbnRzOigpPT4oe30pLGJpbmRFdmVudHMoKXt9LG9uSW5pdCgpe3RoaXMuaW5pdEVsZW1lbnRzKCksdGhpcy5iaW5kRXZlbnRzKCl9LGluaXRFbGVtZW50cygpe3RoaXMuZWxlbWVudHM9dGhpcy5nZXREZWZhdWx0RWxlbWVudHMoKX19KX0sMTI2NTooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNjc4NCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7dmFyIHI9aShuKDY0MSkpLHM9aShuKDI0MjUpKSxvPWkobigyOTQ2KSksYT1pKG4oMzk4MCkpLGw9aShuKDI5NzApKSxjPWkobig4Njg1KSk7dC5kZWZhdWx0PXdpbmRvdy5lbGVtZW50b3JNb2R1bGVzPXtNb2R1bGU6ci5kZWZhdWx0LFZpZXdNb2R1bGU6cy5kZWZhdWx0LEFyZ3NPYmplY3Q6by5kZWZhdWx0LEZvcmNlTWV0aG9kSW1wbGVtZW50YXRpb246Yy5kZWZhdWx0LHV0aWxzOntNYXNvbnJ5OmEuZGVmYXVsdCxTY3JvbGw6bC5kZWZhdWx0fX19LDQzMjg6KGUsdCxuKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgaT1uKDY3ODQpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO3ZhciByPWkobig3MjI0KSkscz1uKDc1NTcpO2NsYXNzIE5lc3RlZFRhYnMgZXh0ZW5kcyByLmRlZmF1bHR7Z2V0VGFiVGl0bGVGaWx0ZXJTZWxlY3RvcihlKXtyZXR1cm5gWyR7dGhpcy5nZXRTZXR0aW5ncygiZGF0YUF0dHJpYnV0ZXMiKS50YWJJbmRleH09IiR7ZX0iXWB9Z2V0VGFiQ29udGVudEZpbHRlclNlbGVjdG9yKGUpe3JldHVybmAqOm50aC1jaGlsZCgke2V9KWB9Z2V0VGFiSW5kZXgoZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKHRoaXMuZ2V0U2V0dGluZ3MoImRhdGFBdHRyaWJ1dGVzIikudGFiSW5kZXgpfWdldEFjdGl2ZVRhYkluZGV4KCl7Y29uc3QgZT10aGlzLmdldFNldHRpbmdzKCksdD1lLmFyaWFBdHRyaWJ1dGVzLmFjdGl2ZVRpdGxlU2VsZWN0b3Isbj1lLmRhdGFBdHRyaWJ1dGVzLnRhYkluZGV4O3JldHVybiB0aGlzLmVsZW1lbnRzLiR0YWJUaXRsZXMuZmlsdGVyKHQpLmF0dHIobil8fG51bGx9Z2V0V2lkZ2V0TnVtYmVyKCl7cmV0dXJuIHRoaXMuJGVsZW1lbnQuZmluZCgiPiAuZWxlbWVudG9yLXdpZGdldC1jb250YWluZXIgPiAuZS1uLXRhYnMsID4gLmUtbi10YWJzIikuYXR0cigiZGF0YS13aWRnZXQtbnVtYmVyIil9Z2V0RGVmYXVsdFNldHRpbmdzKCl7Y29uc3QgZT10aGlzLmdldFdpZGdldE51bWJlcigpO3JldHVybntzZWxlY3RvcnM6e3dpZGdldENvbnRhaW5lcjpgW2RhdGEtd2lkZ2V0LW51bWJlcj0iJHtlfSJdYCx0YWJUaXRsZTpgW2FyaWEtY29udHJvbHMqPSJlLW4tdGFiLWNvbnRlbnQtJHtlfSJdYCx0YWJUaXRsZUljb246YFtpZCo9ImUtbi10YWItdGl0bGUtJHtlfSJdID4gLmUtbi10YWItaWNvbmAsdGFiVGl0bGVUZXh0OmBbaWQqPSJlLW4tdGFiLXRpdGxlLSR7ZX0iXSA+IC5lLW4tdGFiLXRpdGxlLXRleHRgLHRhYkNvbnRlbnQ6YFtkYXRhLXdpZGdldC1udW1iZXI9IiR7ZX0iXSA+IC5lLW4tdGFicy1jb250ZW50ID4gLmUtY29uYCxoZWFkaW5nQ29udGFpbmVyOmBbZGF0YS13aWRnZXQtbnVtYmVyPSIke2V9Il0gPiAuZS1uLXRhYnMtaGVhZGluZ2AsYWN0aXZlVGFiQ29udGVudENvbnRhaW5lcnM6YFtpZCo9ImUtbi10YWItY29udGVudC0ke2V9Il0uZS1hY3RpdmVgfSxjbGFzc2VzOnthY3RpdmU6ImUtYWN0aXZlIn0sZGF0YUF0dHJpYnV0ZXM6e3RhYkluZGV4OiJkYXRhLXRhYi1pbmRleCJ9LGFyaWFBdHRyaWJ1dGVzOnt0aXRsZVN0YXRlQXR0cmlidXRlOiJhcmlhLXNlbGVjdGVkIixhY3RpdmVUaXRsZVNlbGVjdG9yOidbYXJpYS1zZWxlY3RlZD0idHJ1ZSJdJ30sc2hvd1RhYkZuOiJzaG93IixoaWRlVGFiRm46ImhpZGUiLHRvZ2dsZVNlbGY6ITEsaGlkZVByZXZpb3VzOiEwLGF1dG9FeHBhbmQ6ITB9fWdldERlZmF1bHRFbGVtZW50cygpe2NvbnN0IGU9dGhpcy5nZXRTZXR0aW5ncygic2VsZWN0b3JzIik7cmV0dXJueyR3aWRnZXRDb250YWluZXI6dGhpcy5maW5kRWxlbWVudChlLndpZGdldENvbnRhaW5lciksJHRhYlRpdGxlczp0aGlzLmZpbmRFbGVtZW50KGUudGFiVGl0bGUpLCR0YWJDb250ZW50czp0aGlzLmZpbmRFbGVtZW50KGUudGFiQ29udGVudCksJGhlYWRpbmdDb250YWluZXI6dGhpcy5maW5kRWxlbWVudChlLmhlYWRpbmdDb250YWluZXIpfX1nZXRLZXlib2FyZE5hdmlnYXRpb25TZXR0aW5ncygpe3JldHVybiB0aGlzLmdldFNldHRpbmdzKCl9YWN0aXZhdGVEZWZhdWx0VGFiKCl7Y29uc3QgZT10aGlzLmdldFNldHRpbmdzKCksdD10aGlzLmdldEVkaXRTZXR0aW5ncygiYWN0aXZlSXRlbUluZGV4Iil8fDEsbj17c2hvd1RhYkZuOmUuc2hvd1RhYkZuLGhpZGVUYWJGbjplLmhpZGVUYWJGbn07dGhpcy5zZXRTZXR0aW5ncyh7c2hvd1RhYkZuOiJzaG93IixoaWRlVGFiRm46ImhpZGUifSksdGhpcy5jaGFuZ2VBY3RpdmVUYWIodCksdGhpcy5zZXRTZXR0aW5ncyhuKSx0aGlzLmVsZW1lbnRzLiR3aWRnZXRDb250YWluZXIuYWRkQ2xhc3MoImUtYWN0aXZhdGVkIil9ZGVhY3RpdmF0ZUFjdGl2ZVRhYihlKXtjb25zdCB0PXRoaXMuZ2V0U2V0dGluZ3MoKSxuPXQuY2xhc3Nlcy5hY3RpdmUsaT10LmFyaWFBdHRyaWJ1dGVzLmFjdGl2ZVRpdGxlU2VsZWN0b3Iscj0iLiIrbixzPXRoaXMuZWxlbWVudHMuJHRhYlRpdGxlcy5maWx0ZXIoaSksbz10aGlzLmVsZW1lbnRzLiR0YWJDb250ZW50cy5maWx0ZXIocik7cmV0dXJuIHRoaXMuc2V0VGFiRGVhY3RpdmF0aW9uQXR0cmlidXRlcyhzLGUpLG8ucmVtb3ZlQ2xhc3Mobiksb1t0LmhpZGVUYWJGbl0oMCwoKCk9PnRoaXMub25IaWRlVGFiQ29udGVudChvKSkpLG99Z2V0VGl0bGVBY3RpdmF0aW9uQXR0cmlidXRlcygpe2NvbnN0IGU9dGhpcy5nZXRTZXR0aW5ncygiYXJpYUF0dHJpYnV0ZXMiKS50aXRsZVN0YXRlQXR0cmlidXRlO3JldHVybnt0YWJpbmRleDoiMCIsW2VdOiJ0cnVlIn19c2V0VGFiRGVhY3RpdmF0aW9uQXR0cmlidXRlcyhlKXtjb25zdCB0PXRoaXMuZ2V0U2V0dGluZ3MoImFyaWFBdHRyaWJ1dGVzIikudGl0bGVTdGF0ZUF0dHJpYnV0ZTtlLmF0dHIoe3RhYmluZGV4OiItMSIsW3RdOiJmYWxzZSJ9KX1vbkhpZGVUYWJDb250ZW50KCl7fWFjdGl2YXRlVGFiKGUpe2NvbnN0IHQ9dGhpcy5nZXRTZXR0aW5ncygpLG49dC5jbGFzc2VzLmFjdGl2ZSxpPSJzaG93Ij09PXQuc2hvd1RhYkZuPzA6NDAwO2xldCByPXRoaXMuZWxlbWVudHMuJHRhYlRpdGxlcy5maWx0ZXIodGhpcy5nZXRUYWJUaXRsZUZpbHRlclNlbGVjdG9yKGUpKSxzPXRoaXMuZWxlbWVudHMuJHRhYkNvbnRlbnRzLmZpbHRlcih0aGlzLmdldFRhYkNvbnRlbnRGaWx0ZXJTZWxlY3RvcihlKSk7aWYoIXIubGVuZ3RoKXtjb25zdCB0PU1hdGgubWF4KGUtMSwxKTtyPXRoaXMuZWxlbWVudHMuJHRhYlRpdGxlcy5maWx0ZXIodGhpcy5nZXRUYWJUaXRsZUZpbHRlclNlbGVjdG9yKHQpKSxzPXRoaXMuZWxlbWVudHMuJHRhYkNvbnRlbnRzLmZpbHRlcih0aGlzLmdldFRhYkNvbnRlbnRGaWx0ZXJTZWxlY3Rvcih0KSl9ci5hdHRyKHRoaXMuZ2V0VGl0bGVBY3RpdmF0aW9uQXR0cmlidXRlcygpKSxzLmFkZENsYXNzKG4pLHNbdC5zaG93VGFiRm5dKGksKCgpPT50aGlzLm9uU2hvd1RhYkNvbnRlbnQocykpKX1vblNob3dUYWJDb250ZW50KGUpe2VsZW1lbnRvckZyb250ZW5kLmVsZW1lbnRzLiR3aW5kb3cudHJpZ2dlcigiZWxlbWVudG9yLXByby9tb3Rpb24tZngvcmVjYWxjIiksZWxlbWVudG9yRnJvbnRlbmQuZWxlbWVudHMuJHdpbmRvdy50cmlnZ2VyKCJlbGVtZW50b3IvbmVzdGVkLXRhYnMvYWN0aXZhdGUiLGUpLGVsZW1lbnRvckZyb250ZW5kLmVsZW1lbnRzLiR3aW5kb3cudHJpZ2dlcigiZWxlbWVudG9yL2JnLXZpZGVvL3JlY2FsYyIpfWlzQWN0aXZlVGFiKGUpe2NvbnN0IHQ9dGhpcy5nZXRTZXR0aW5ncygpLG49InRydWUiPT09dGhpcy5lbGVtZW50cy4kdGFiVGl0bGVzLmZpbHRlcihgWyR7dC5kYXRhQXR0cmlidXRlcy50YWJJbmRleH09IiR7ZX0iXWApLmF0dHIodC5hcmlhQXR0cmlidXRlcy50aXRsZVN0YXRlQXR0cmlidXRlKSxpPXRoaXMuZWxlbWVudHMuJHRhYkNvbnRlbnRzLmZpbHRlcih0aGlzLmdldFRhYkNvbnRlbnRGaWx0ZXJTZWxlY3RvcihlKSkuaGFzQ2xhc3ModGhpcy5nZXRBY3RpdmVDbGFzcygpKTtyZXR1cm4gbiYmaX1vblRhYkNsaWNrKGUpe2UucHJldmVudERlZmF1bHQoKSx0aGlzLmNoYW5nZUFjdGl2ZVRhYihlLmN1cnJlbnRUYXJnZXQ/LmdldEF0dHJpYnV0ZSh0aGlzLmdldFNldHRpbmdzKCJkYXRhQXR0cmlidXRlcyIpLnRhYkluZGV4KSwhMCl9Z2V0VGFiRXZlbnRzKCl7cmV0dXJue2NsaWNrOnRoaXMub25UYWJDbGljay5iaW5kKHRoaXMpfX1nZXRIZWFkaW5nRXZlbnRzKCl7Y29uc3QgZT10aGlzLmVsZW1lbnRzLiRoZWFkaW5nQ29udGFpbmVyWzBdO3JldHVybnttb3VzZWRvd246cy5jaGFuZ2VTY3JvbGxTdGF0dXMuYmluZCh0aGlzLGUpLG1vdXNldXA6cy5jaGFuZ2VTY3JvbGxTdGF0dXMuYmluZCh0aGlzLGUpLG1vdXNlbGVhdmU6cy5jaGFuZ2VTY3JvbGxTdGF0dXMuYmluZCh0aGlzLGUpLG1vdXNlbW92ZTpzLnNldEhvcml6b250YWxUaXRsZVNjcm9sbFZhbHVlcy5iaW5kKHRoaXMsZSx0aGlzLmdldEhvcml6b250YWxTY3JvbGxTZXR0aW5nKCkpfX1iaW5kRXZlbnRzKCl7dGhpcy5lbGVtZW50cy4kdGFiVGl0bGVzLm9uKHRoaXMuZ2V0VGFiRXZlbnRzKCkpLHRoaXMuZWxlbWVudHMuJGhlYWRpbmdDb250YWluZXIub24odGhpcy5nZXRIZWFkaW5nRXZlbnRzKCkpLGVsZW1lbnRvckZyb250ZW5kLmVsZW1lbnRzLiR3aW5kb3cub24oInJlc2l6ZSIsdGhpcy5vblJlc2l6ZVVwZGF0ZUhvcml6b250YWxTY3JvbGxpbmcuYmluZCh0aGlzKSksZWxlbWVudG9yRnJvbnRlbmQuZWxlbWVudHMuJHdpbmRvdy5vbigicmVzaXplIix0aGlzLnNldFRvdWNoTW9kZS5iaW5kKHRoaXMpKSxlbGVtZW50b3JGcm9udGVuZC5lbGVtZW50cy4kd2luZG93Lm9uKCJlbGVtZW50b3IvbmVzdGVkLXRhYnMvYWN0aXZhdGUiLHRoaXMucmVJbml0U3dpcGVycyksZWxlbWVudG9yRnJvbnRlbmQuZWxlbWVudHMuJHdpbmRvdy5vbigiZWxlbWVudG9yL25lc3RlZC1lbGVtZW50cy9hY3RpdmF0ZS1ieS1rZXlib2FyZCIsdGhpcy5jaGFuZ2VBY3RpdmVUYWJCeUtleWJvYXJkLmJpbmQodGhpcykpLGVsZW1lbnRvckZyb250ZW5kLmVsZW1lbnRzLiR3aW5kb3cub24oImVsZW1lbnRvci9uZXN0ZWQtY29udGFpbmVyL2F0b21pYy1yZXBlYXRlciIsdGhpcy5saW5rQ29udGFpbmVyLmJpbmQodGhpcykpfXVuYmluZEV2ZW50cygpe3RoaXMuZWxlbWVudHMuJHRhYlRpdGxlcy5vZmYoKSx0aGlzLmVsZW1lbnRzLiRoZWFkaW5nQ29udGFpbmVyLm9mZigpLHRoaXMuZWxlbWVudHMuJHRhYkNvbnRlbnRzLmNoaWxkcmVuKCkub2ZmKCksZWxlbWVudG9yRnJvbnRlbmQuZWxlbWVudHMuJHdpbmRvdy5vZmYoInJlc2l6ZSIsdGhpcy5vblJlc2l6ZVVwZGF0ZUhvcml6b250YWxTY3JvbGxpbmcuYmluZCh0aGlzKSksZWxlbWVudG9yRnJvbnRlbmQuZWxlbWVudHMuJHdpbmRvdy5vZmYoInJlc2l6ZSIsdGhpcy5zZXRUb3VjaE1vZGUuYmluZCh0aGlzKSksZWxlbWVudG9yRnJvbnRlbmQuZWxlbWVudHMuJHdpbmRvdy5vZmYoImVsZW1lbnRvci9uZXN0ZWQtdGFicy9hY3RpdmF0ZSIsdGhpcy5yZUluaXRTd2lwZXJzKSxlbGVtZW50b3JGcm9udGVuZC5lbGVtZW50cy4kd2luZG93Lm9mZigiZWxlbWVudG9yL25lc3RlZC1lbGVtZW50cy9hY3RpdmF0ZS1ieS1rZXlib2FyZCIsdGhpcy5jaGFuZ2VBY3RpdmVUYWJCeUtleWJvYXJkLmJpbmQodGhpcykpLGVsZW1lbnRvckZyb250ZW5kLmVsZW1lbnRzLiR3aW5kb3cub2ZmKCJlbGVtZW50b3IvbmVzdGVkLWNvbnRhaW5lci9hdG9taWMtcmVwZWF0ZXIiLHRoaXMubGlua0NvbnRhaW5lci5iaW5kKHRoaXMpKX1yZUluaXRTd2lwZXJzKGUsdCl7Y29uc3Qgbj10LnF1ZXJ5U2VsZWN0b3JBbGwoIi5zd2lwZXIiKTtmb3IoY29uc3QgZSBvZiBuKXtpZighZS5zd2lwZXIpcmV0dXJuO2Uuc3dpcGVyLmluaXRpYWxpemVkPSExLGUuc3dpcGVyLmluaXQoKX19b25Jbml0KCl7c3VwZXIub25Jbml0KC4uLmFyZ3VtZW50cyksdGhpcy5nZXRTZXR0aW5ncygiYXV0b0V4cGFuZCIpJiZ0aGlzLmFjdGl2YXRlRGVmYXVsdFRhYigpLCgwLHMuc2V0SG9yaXpvbnRhbFNjcm9sbEFsaWdubWVudCkodGhpcy5nZXRIb3Jpem9udGFsU2Nyb2xsaW5nU2V0dGluZ3MoKSksdGhpcy5zZXRUb3VjaE1vZGUoKSwibmVzdGVkLXRhYnMuZGVmYXVsdCI9PT10aGlzLmdldFNldHRpbmdzKCJlbGVtZW50TmFtZSIpJiZuLmUoMzA0KS50aGVuKG4uYmluZChuLDc0NjkpKS50aGVuKChlPT57bGV0e2RlZmF1bHQ6dH09ZTtuZXcgdCh0aGlzLmdldEtleWJvYXJkTmF2aWdhdGlvblNldHRpbmdzKCkpfSkpLmNhdGNoKChlPT57Y29uc29sZS5lcnJvcigiRXJyb3IgaW1wb3J0aW5nIG1vZHVsZToiLGUpfSkpfW9uRWRpdFNldHRpbmdzQ2hhbmdlKGUsdCl7ImFjdGl2ZUl0ZW1JbmRleCI9PT1lJiZ0aGlzLmNoYW5nZUFjdGl2ZVRhYih0LCExKX1vbkVsZW1lbnRDaGFuZ2UoZSl7dGhpcy5jaGVja1NsaWRlclByb3BzVG9XYXRjaChlKSYmKDAscy5zZXRIb3Jpem9udGFsU2Nyb2xsQWxpZ25tZW50KSh0aGlzLmdldEhvcml6b250YWxTY3JvbGxpbmdTZXR0aW5ncygpKX1jaGVja1NsaWRlclByb3BzVG9XYXRjaChlKXtyZXR1cm4gMD09PWUuaW5kZXhPZigiaG9yaXpvbnRhbF9zY3JvbGwiKXx8ImJyZWFrcG9pbnRfc2VsZWN0b3IiPT09ZXx8MD09PWUuaW5kZXhPZigidGFic19qdXN0aWZ5X2hvcml6b250YWwiKXx8MD09PWUuaW5kZXhPZigidGFic190aXRsZV9zcGFjZV9iZXR3ZWVuIil9Y2hhbmdlQWN0aXZlVGFiKGUpe2lmKGFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdJiZhcmd1bWVudHNbMV0mJnRoaXMuaXNFZGl0JiZ0aGlzLmlzRWxlbWVudEluVGhlQ3VycmVudERvY3VtZW50KCkpcmV0dXJuIHdpbmRvdy50b3AuJGUucnVuKCJkb2N1bWVudC9yZXBlYXRlci9zZWxlY3QiLHtjb250YWluZXI6ZWxlbWVudG9yLmdldENvbnRhaW5lcih0aGlzLiRlbGVtZW50LmF0dHIoImRhdGEtaWQiKSksaW5kZXg6cGFyc2VJbnQoZSl9KTtjb25zdCB0PXRoaXMuaXNBY3RpdmVUYWIoZSksbj10aGlzLmdldFNldHRpbmdzKCk7aWYoIW4udG9nZ2xlU2VsZiYmdHx8IW4uaGlkZVByZXZpb3VzfHx0aGlzLmRlYWN0aXZhdGVBY3RpdmVUYWIoZSksIW4uaGlkZVByZXZpb3VzJiZ0JiZ0aGlzLmRlYWN0aXZhdGVBY3RpdmVUYWIoZSksIXQpe2lmKHRoaXMuaXNBY2NvcmRpb25WZXJzaW9uKCkpcmV0dXJuIHZvaWQgdGhpcy5hY3RpdmF0ZU1vYmlsZVRhYihlKTt0aGlzLmFjdGl2YXRlVGFiKGUpfX1jaGFuZ2VBY3RpdmVUYWJCeUtleWJvYXJkKGUsdCl7dC53aWRnZXRJZC50b1N0cmluZygpPT09dGhpcy5nZXRJRCgpLnRvU3RyaW5nKCkmJnRoaXMuY2hhbmdlQWN0aXZlVGFiKHQudGl0bGVJbmRleCwhMCl9YWN0aXZhdGVNb2JpbGVUYWIoZSl7c2V0VGltZW91dCgoKCk9Pnt0aGlzLmFjdGl2YXRlVGFiKGUpLHRoaXMuZm9yY2VBY3RpdmVUYWJUb0JlSW5WaWV3cG9ydChlKX0pLDEwKX1mb3JjZUFjdGl2ZVRhYlRvQmVJblZpZXdwb3J0KGUpe2lmKCFlbGVtZW50b3JGcm9udGVuZC5pc0VkaXRNb2RlKCkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5lbGVtZW50cy4kdGFiVGl0bGVzLmZpbHRlcih0aGlzLmdldFRhYlRpdGxlRmlsdGVyU2VsZWN0b3IoZSkpO2VsZW1lbnRvci5oZWxwZXJzLmlzSW5WaWV3cG9ydCh0WzBdKXx8dFswXS5zY3JvbGxJbnRvVmlldyh7YmxvY2s6ImNlbnRlciJ9KX1nZXRBY3RpdmVDbGFzcygpe3JldHVybiB0aGlzLmdldFNldHRpbmdzKCkuY2xhc3Nlcy5hY3RpdmV9Z2V0VGFic0RpcmVjdGlvbigpe2NvbnN0IGU9ZWxlbWVudG9yRnJvbnRlbmQuZ2V0Q3VycmVudERldmljZU1vZGUoKTtyZXR1cm4gZWxlbWVudG9yRnJvbnRlbmQudXRpbHMuY29udHJvbHMuZ2V0UmVzcG9uc2l2ZUNvbnRyb2xWYWx1ZSh0aGlzLmdldEVsZW1lbnRTZXR0aW5ncygpLCJ0YWJzX2p1c3RpZnlfaG9yaXpvbnRhbCIsIiIsZSl9Z2V0SG9yaXpvbnRhbFNjcm9sbFNldHRpbmcoKXtjb25zdCBlPWVsZW1lbnRvckZyb250ZW5kLmdldEN1cnJlbnREZXZpY2VNb2RlKCk7cmV0dXJuIGVsZW1lbnRvckZyb250ZW5kLnV0aWxzLmNvbnRyb2xzLmdldFJlc3BvbnNpdmVDb250cm9sVmFsdWUodGhpcy5nZXRFbGVtZW50U2V0dGluZ3MoKSwiaG9yaXpvbnRhbF9zY3JvbGwiLCIiLGUpfWlzQWNjb3JkaW9uVmVyc2lvbigpe3JldHVybiJjb250ZW50cyI9PT10aGlzLmVsZW1lbnRzLiRoZWFkaW5nQ29udGFpbmVyLmNzcygiZGlzcGxheSIpfXNldFRvdWNoTW9kZSgpe2NvbnN0IGU9dGhpcy5nZXRTZXR0aW5ncygic2VsZWN0b3JzIikud2lkZ2V0Q29udGFpbmVyO2lmKGVsZW1lbnRvckZyb250ZW5kLmlzRWRpdE1vZGUoKXx8InJlc2l6ZSI9PT1ldmVudD8udHlwZSl7Y29uc3QgdD1bIm1vYmlsZSIsIm1vYmlsZV9leHRyYSIsInRhYmxldCIsInRhYmxldF9leHRyYSJdLG49ZWxlbWVudG9yRnJvbnRlbmQuZ2V0Q3VycmVudERldmljZU1vZGUoKTtpZigtMSE9PXQuaW5kZXhPZihuKSlyZXR1cm4gdm9pZCB0aGlzLiRlbGVtZW50LmZpbmQoZSkuYXR0cigiZGF0YS10b3VjaC1tb2RlIiwidHJ1ZSIpfWVsc2UgaWYoIm9udG91Y2hzdGFydCJpbiB3aW5kb3cpcmV0dXJuIHZvaWQgdGhpcy4kZWxlbWVudC5maW5kKGUpLmF0dHIoImRhdGEtdG91Y2gtbW9kZSIsInRydWUiKTt0aGlzLiRlbGVtZW50LmZpbmQoZSkuYXR0cigiZGF0YS10b3VjaC1tb2RlIiwiZmFsc2UiKX1saW5rQ29udGFpbmVyKGUpe2NvbnN0e2NvbnRhaW5lcjp0fT1lLmRldGFpbCxuPXQubW9kZWwuZ2V0KCJpZCIpLGk9dGhpcy4kZWxlbWVudC5kYXRhKCJpZCIpLHI9dC52aWV3LiRlbDtpZihuPT09aSYmKHRoaXMudXBkYXRlSW5kZXhWYWx1ZXMoKSx0aGlzLnVwZGF0ZUxpc3RlbmVycyhyKSxlbGVtZW50b3IuJHByZXZpZXdbMF0uY29udGVudFdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZWxlbWVudG9yL2VsZW1lbnRzL2xpbmstZGF0YS1iaW5kaW5ncyIpKSksIXRoaXMuZ2V0QWN0aXZlVGFiSW5kZXgoKSl7Y29uc3QgdD1lLmRldGFpbC5pbmRleCsxfHwxO3RoaXMuY2hhbmdlQWN0aXZlVGFiKHQpfX11cGRhdGVMaXN0ZW5lcnMoZSl7dGhpcy5lbGVtZW50cy4kdGFiQ29udGVudHM9ZS5maW5kKHRoaXMuZ2V0U2V0dGluZ3MoInNlbGVjdG9ycy50YWJDb250ZW50IikpLHRoaXMuZWxlbWVudHMuJHRhYlRpdGxlcz1lLmZpbmQodGhpcy5nZXRTZXR0aW5ncygic2VsZWN0b3JzLnRhYlRpdGxlIikpLHRoaXMuZWxlbWVudHMuJHRhYlRpdGxlcy5vbih0aGlzLmdldFRhYkV2ZW50cygpKX11cGRhdGVJbmRleFZhbHVlcygpe2NvbnN0eyR3aWRnZXRDb250YWluZXI6ZSwkdGFiQ29udGVudHM6dCwkdGFiVGl0bGVzOm59PXRoaXMuZ2V0RGVmYXVsdEVsZW1lbnRzKCksaT10aGlzLmdldFNldHRpbmdzKCkscj1pLmRhdGFBdHRyaWJ1dGVzLnRhYkluZGV4LHM9ZS5kYXRhKCJ3aWRnZXROdW1iZXIiKTtuLmVhY2goKChlLG4pPT57Y29uc3Qgbz1lKzEsYT1gZS1uLXRhYi10aXRsZS0ke3N9JHtvfWAsbD1gZS1uLXRhYi1jb250ZW50LSR7c30ke299YDtuLnNldEF0dHJpYnV0ZSgiaWQiLGEpLG4uc2V0QXR0cmlidXRlKCJzdHlsZSIsYC0tbi10YWJzLXRpdGxlLW9yZGVyOiAke299YCksbi5zZXRBdHRyaWJ1dGUocixvKSxuLnNldEF0dHJpYnV0ZSgiYXJpYS1jb250cm9scyIsbCksbi5xdWVyeVNlbGVjdG9yKGkuc2VsZWN0b3JzLnRhYlRpdGxlSWNvbik/LnNldEF0dHJpYnV0ZSgiZGF0YS1iaW5kaW5nLWluZGV4IixvKSxuLnF1ZXJ5U2VsZWN0b3IoaS5zZWxlY3RvcnMudGFiVGl0bGVUZXh0KS5zZXRBdHRyaWJ1dGUoImRhdGEtYmluZGluZy1pbmRleCIsbyksdFtlXS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWxsZWRieSIsYSksdFtlXS5zZXRBdHRyaWJ1dGUocixvKSx0W2VdLnNldEF0dHJpYnV0ZSgiaWQiLGwpLHRbZV0uc2V0QXR0cmlidXRlKCJzdHlsZSIsYC0tbi10YWJzLXRpdGxlLW9yZGVyOiAke299YCl9KSl9b25SZXNpemVVcGRhdGVIb3Jpem9udGFsU2Nyb2xsaW5nKCl7KDAscy5zZXRIb3Jpem9udGFsU2Nyb2xsQWxpZ25tZW50KSh0aGlzLmdldEhvcml6b250YWxTY3JvbGxpbmdTZXR0aW5ncygpKX1nZXRIb3Jpem9udGFsU2Nyb2xsaW5nU2V0dGluZ3MoKXtyZXR1cm57ZWxlbWVudDp0aGlzLmVsZW1lbnRzLiRoZWFkaW5nQ29udGFpbmVyWzBdLGRpcmVjdGlvbjp0aGlzLmdldFRhYnNEaXJlY3Rpb24oKSxqdXN0aWZ5Q1NTVmFyaWFibGU6Ii0tbi10YWJzLWhlYWRpbmctanVzdGlmeS1jb250ZW50Iixob3Jpem9udGFsU2Nyb2xsU3RhdHVzOnRoaXMuZ2V0SG9yaXpvbnRhbFNjcm9sbFNldHRpbmcoKX19fXQuZGVmYXVsdD1OZXN0ZWRUYWJzfSw3ODUzOihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9big3NDI0KSxyPW4oMjg4Mikscz1UeXBlRXJyb3I7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2lmKGkoZSkpcmV0dXJuIGU7dGhyb3cgcyhyKGUpKyIgaXMgbm90IGEgZnVuY3Rpb24iKX19LDk5MDooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNzE2Nikscj1uKDM5ODEpLHM9big3NjE0KS5mLG89aSgidW5zY29wYWJsZXMiKSxhPUFycmF5LnByb3RvdHlwZTtudWxsPT1hW29dJiZzKGEsbyx7Y29uZmlndXJhYmxlOiEwLHZhbHVlOnIobnVsbCl9KSxlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7YVtvXVtlXT0hMH19LDEzMjY6KGUsdCxuKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgaT1uKDY4MjcpLHI9U3RyaW5nLHM9VHlwZUVycm9yO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtpZihpKGUpKXJldHVybiBlO3Rocm93IHMocihlKSsiIGlzIG5vdCBhbiBvYmplY3QiKX19LDUyNTQ6KGUsdCxuKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgaT1uKDMwMTYpLHI9big4NDcpLHM9big3ODI1KSxjcmVhdGVNZXRob2Q9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQsbixvKXt2YXIgYSxsPWkodCksYz1zKGwpLHU9cihvLGMpO2lmKGUmJm4hPW4pe2Zvcig7Yz51OylpZigoYT1sW3UrK10pIT1hKXJldHVybiEwfWVsc2UgZm9yKDtjPnU7dSsrKWlmKChlfHx1IGluIGwpJiZsW3VdPT09bilyZXR1cm4gZXx8dXx8MDtyZXR1cm4hZSYmLTF9fTtlLmV4cG9ydHM9e2luY2x1ZGVzOmNyZWF0ZU1ldGhvZCghMCksaW5kZXhPZjpjcmVhdGVNZXRob2QoITEpfX0sNDc2OihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9big2OTUzKSxyPW4oMzExNSkscz1UeXBlRXJyb3Isbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLGE9aSYmIWZ1bmN0aW9uKCl7aWYodm9pZCAwIT09dGhpcylyZXR1cm4hMDt0cnl7T2JqZWN0LmRlZmluZVByb3BlcnR5KFtdLCJsZW5ndGgiLHt3cml0YWJsZTohMX0pLmxlbmd0aD0xfWNhdGNoKGUpe3JldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yfX0oKTtlLmV4cG9ydHM9YT9mdW5jdGlvbihlLHQpe2lmKHIoZSkmJiFvKGUsImxlbmd0aCIpLndyaXRhYmxlKXRocm93IHMoIkNhbm5vdCBzZXQgcmVhZCBvbmx5IC5sZW5ndGgiKTtyZXR1cm4gZS5sZW5ndGg9dH06ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5sZW5ndGg9dH19LDY2MTooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oOTcwOSkscj1pKHt9LnRvU3RyaW5nKSxzPWkoIiIuc2xpY2UpO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gcyhyKGUpLDgsLTEpfX0sOTYyMTooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNTExMCkscj1uKDE4MDQpLHM9bigxNzIpLG89big3NjE0KTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgYT1yKHQpLGw9by5mLGM9cy5mLHU9MDt1PGEubGVuZ3RoO3UrKyl7dmFyIGQ9YVt1XTtpKGUsZCl8fG4mJmkobixkKXx8bChlLGQsYyh0LGQpKX19fSw0MTAwOihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9big2OTUzKSxyPW4oNzYxNCkscz1uKDkzNjcpO2UuZXhwb3J0cz1pP2Z1bmN0aW9uKGUsdCxuKXtyZXR1cm4gci5mKGUsdCxzKDEsbikpfTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGVbdF09bixlfX0sOTM2NzplPT57InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3JldHVybntlbnVtZXJhYmxlOiEoMSZlKSxjb25maWd1cmFibGU6ISgyJmUpLHdyaXRhYmxlOiEoNCZlKSx2YWx1ZTp0fX19LDIyOTc6KGUsdCxuKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgaT1uKDc0MjQpLHI9big3NjE0KSxzPW4oNTM5MCksbz1uKDY1MzApO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQsbixhKXthfHwoYT17fSk7dmFyIGw9YS5lbnVtZXJhYmxlLGM9dm9pZCAwIT09YS5uYW1lP2EubmFtZTp0O2lmKGkobikmJnMobixjLGEpLGEuZ2xvYmFsKWw/ZVt0XT1uOm8odCxuKTtlbHNle3RyeXthLnVuc2FmZT9lW3RdJiYobD0hMCk6ZGVsZXRlIGVbdF19Y2F0Y2goZSl7fWw/ZVt0XT1uOnIuZihlLHQse3ZhbHVlOm4sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6IWEubm9uQ29uZmlndXJhYmxlLHdyaXRhYmxlOiFhLm5vbldyaXRhYmxlfSl9cmV0dXJuIGV9fSw2NTMwOihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9bigyNzU2KSxyPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt0cnl7cihpLGUse3ZhbHVlOnQsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSl9Y2F0Y2gobil7aVtlXT10fXJldHVybiB0fX0sNjk1MzooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oODQ2Mik7ZS5leHBvcnRzPSFpKChmdW5jdGlvbigpe3JldHVybiA3IT1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sMSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDd9fSlbMV19KSl9LDM2MzY6ZT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgdD0ib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50JiZkb2N1bWVudC5hbGwsbj12b2lkIDA9PT10JiZ2b2lkIDAhPT10O2UuZXhwb3J0cz17YWxsOnQsSVNfSFRNTEREQTpufX0sMzAxODooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oMjc1Nikscj1uKDY4MjcpLHM9aS5kb2N1bWVudCxvPXIocykmJnIocy5jcmVhdGVFbGVtZW50KTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIG8/cy5jcmVhdGVFbGVtZW50KGUpOnt9fX0sNDk1ODplPT57InVzZSBzdHJpY3QiO3ZhciB0PVR5cGVFcnJvcjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7aWYoZT45MDA3MTk5MjU0NzQwOTkxKXRocm93IHQoIk1heGltdW0gYWxsb3dlZCBpbmRleCBleGNlZWRlZCIpO3JldHVybiBlfX0sNTQ0MTplPT57InVzZSBzdHJpY3QiO2UuZXhwb3J0cz0idW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvciYmU3RyaW5nKG5hdmlnYXRvci51c2VyQWdlbnQpfHwiIn0sNTY0OTooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpLHIscz1uKDI3NTYpLG89big1NDQxKSxhPXMucHJvY2VzcyxsPXMuRGVubyxjPWEmJmEudmVyc2lvbnN8fGwmJmwudmVyc2lvbix1PWMmJmMudjg7dSYmKHI9KGk9dS5zcGxpdCgiLiIpKVswXT4wJiZpWzBdPDQ/MTorKGlbMF0raVsxXSkpLCFyJiZvJiYoIShpPW8ubWF0Y2goL0VkZ2VcLyhcZCspLykpfHxpWzFdPj03NCkmJihpPW8ubWF0Y2goL0Nocm9tZVwvKFxkKykvKSkmJihyPStpWzFdKSxlLmV4cG9ydHM9cn0sNDc5ODplPT57InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1bImNvbnN0cnVjdG9yIiwiaGFzT3duUHJvcGVydHkiLCJpc1Byb3RvdHlwZU9mIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJ0b0xvY2FsZVN0cmluZyIsInRvU3RyaW5nIiwidmFsdWVPZiJdfSw1Njg5OihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9bigyNzU2KSxyPW4oMTcyKS5mLHM9big0MTAwKSxvPW4oMjI5NyksYT1uKDY1MzApLGw9big5NjIxKSxjPW4oNTE0OSk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dmFyIG4sdSxkLGgsZyxwPWUudGFyZ2V0LGY9ZS5nbG9iYWwsbT1lLnN0YXQ7aWYobj1mP2k6bT9pW3BdfHxhKHAse30pOihpW3BdfHx7fSkucHJvdG90eXBlKWZvcih1IGluIHQpe2lmKGg9dFt1XSxkPWUuZG9udENhbGxHZXRTZXQ/KGc9cihuLHUpKSYmZy52YWx1ZTpuW3VdLCFjKGY/dTpwKyhtPyIuIjoiIyIpK3UsZS5mb3JjZWQpJiZ2b2lkIDAhPT1kKXtpZih0eXBlb2YgaD09dHlwZW9mIGQpY29udGludWU7bChoLGQpfShlLnNoYW18fGQmJmQuc2hhbSkmJnMoaCwic2hhbSIsITApLG8obix1LGgsZSl9fX0sODQ2MjplPT57InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbihlKXt0cnl7cmV0dXJuISFlKCl9Y2F0Y2goZSl7cmV0dXJuITB9fX0sMzIzOihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9big4NDYyKTtlLmV4cG9ydHM9IWkoKGZ1bmN0aW9uKCl7dmFyIGU9ZnVuY3Rpb24oKXt9LmJpbmQoKTtyZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgZXx8ZS5oYXNPd25Qcm9wZXJ0eSgicHJvdG90eXBlIil9KSl9LDUyNDQ6KGUsdCxuKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgaT1uKDMyMykscj1GdW5jdGlvbi5wcm90b3R5cGUuY2FsbDtlLmV4cG9ydHM9aT9yLmJpbmQocik6ZnVuY3Rpb24oKXtyZXR1cm4gci5hcHBseShyLGFyZ3VtZW50cyl9fSw3NzA3OihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9big2OTUzKSxyPW4oNTExMCkscz1GdW5jdGlvbi5wcm90b3R5cGUsbz1pJiZPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLGE9cihzLCJuYW1lIiksbD1hJiYic29tZXRoaW5nIj09PWZ1bmN0aW9uIHNvbWV0aGluZygpe30ubmFtZSxjPWEmJighaXx8aSYmbyhzLCJuYW1lIikuY29uZmlndXJhYmxlKTtlLmV4cG9ydHM9e0VYSVNUUzphLFBST1BFUjpsLENPTkZJR1VSQUJMRTpjfX0sOTcwOTooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oMzIzKSxyPUZ1bmN0aW9uLnByb3RvdHlwZSxzPXIuY2FsbCxvPWkmJnIuYmluZC5iaW5kKHMscyk7ZS5leHBvcnRzPWk/bzpmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gcy5hcHBseShlLGFyZ3VtZW50cyl9fX0sNTA3MjooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oMjc1Nikscj1uKDc0MjQpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDI/KG49aVtlXSxyKG4pP246dm9pZCAwKTppW2VdJiZpW2VdW3RdO3ZhciBufX0sMTI1OihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9big3ODUzKSxyPW4oNTU3MCk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dmFyIG49ZVt0XTtyZXR1cm4gcihuKT92b2lkIDA6aShuKX19LDI3NTY6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgY2hlY2s9ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuTWF0aD09TWF0aCYmZX07ZS5leHBvcnRzPWNoZWNrKCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyl8fGNoZWNrKCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3cpfHxjaGVjaygib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYpfHxjaGVjaygib2JqZWN0Ij09dHlwZW9mIG4uZyYmbi5nKXx8ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30oKXx8dGhpc3x8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKX0sNTExMDooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oOTcwOSkscj1uKDQ0NDApLHM9aSh7fS5oYXNPd25Qcm9wZXJ0eSk7ZS5leHBvcnRzPU9iamVjdC5oYXNPd258fGZ1bmN0aW9uIGhhc093bihlLHQpe3JldHVybiBzKHIoZSksdCl9fSwzNDcyOmU9PnsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXt9fSwxMTk4OihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9big1MDcyKTtlLmV4cG9ydHM9aSgiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiKX0sNzEwNjooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNjk1Mykscj1uKDg0NjIpLHM9bigzMDE4KTtlLmV4cG9ydHM9IWkmJiFyKChmdW5jdGlvbigpe3JldHVybiA3IT1PYmplY3QuZGVmaW5lUHJvcGVydHkocygiZGl2IiksImEiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gN319KS5hfSkpfSw4MTg4OihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9big5NzA5KSxyPW4oODQ2Mikscz1uKDY2MSksbz1PYmplY3QsYT1pKCIiLnNwbGl0KTtlLmV4cG9ydHM9cigoZnVuY3Rpb24oKXtyZXR1cm4hbygieiIpLnByb3BlcnR5SXNFbnVtZXJhYmxlKDApfSkpP2Z1bmN0aW9uKGUpe3JldHVybiJTdHJpbmciPT1zKGUpP2EoZSwiIik6byhlKX06b30sMTYzMzooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oOTcwOSkscj1uKDc0MjQpLHM9big0MTApLG89aShGdW5jdGlvbi50b1N0cmluZyk7cihzLmluc3BlY3RTb3VyY2UpfHwocy5pbnNwZWN0U291cmNlPWZ1bmN0aW9uKGUpe3JldHVybiBvKGUpfSksZS5leHBvcnRzPXMuaW5zcGVjdFNvdXJjZX0sMzk2MjooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpLHIscyxvPW4oNzkyNSksYT1uKDI3NTYpLGw9big2ODI3KSxjPW4oNDEwMCksdT1uKDUxMTApLGQ9big0MTApLGg9big1ODY4KSxnPW4oMzQ3MikscD0iT2JqZWN0IGFscmVhZHkgaW5pdGlhbGl6ZWQiLGY9YS5UeXBlRXJyb3IsbT1hLldlYWtNYXA7aWYob3x8ZC5zdGF0ZSl7dmFyIGI9ZC5zdGF0ZXx8KGQuc3RhdGU9bmV3IG0pO2IuZ2V0PWIuZ2V0LGIuaGFzPWIuaGFzLGIuc2V0PWIuc2V0LGk9ZnVuY3Rpb24oZSx0KXtpZihiLmhhcyhlKSl0aHJvdyBmKHApO3JldHVybiB0LmZhY2FkZT1lLGIuc2V0KGUsdCksdH0scj1mdW5jdGlvbihlKXtyZXR1cm4gYi5nZXQoZSl8fHt9fSxzPWZ1bmN0aW9uKGUpe3JldHVybiBiLmhhcyhlKX19ZWxzZXt2YXIgdj1oKCJzdGF0ZSIpO2dbdl09ITAsaT1mdW5jdGlvbihlLHQpe2lmKHUoZSx2KSl0aHJvdyBmKHApO3JldHVybiB0LmZhY2FkZT1lLGMoZSx2LHQpLHR9LHI9ZnVuY3Rpb24oZSl7cmV0dXJuIHUoZSx2KT9lW3ZdOnt9fSxzPWZ1bmN0aW9uKGUpe3JldHVybiB1KGUsdil9fWUuZXhwb3J0cz17c2V0OmksZ2V0OnIsaGFzOnMsZW5mb3JjZTpmdW5jdGlvbihlKXtyZXR1cm4gcyhlKT9yKGUpOmkoZSx7fSl9LGdldHRlckZvcjpmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG47aWYoIWwodCl8fChuPXIodCkpLnR5cGUhPT1lKXRocm93IGYoIkluY29tcGF0aWJsZSByZWNlaXZlciwgIitlKyIgcmVxdWlyZWQiKTtyZXR1cm4gbn19fX0sMzExNTooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNjYxKTtlLmV4cG9ydHM9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24gaXNBcnJheShlKXtyZXR1cm4iQXJyYXkiPT1pKGUpfX0sNzQyNDooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oMzYzNikscj1pLmFsbDtlLmV4cG9ydHM9aS5JU19IVE1MRERBP2Z1bmN0aW9uKGUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlfHxlPT09cn06ZnVuY3Rpb24oZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV9fSw1MTQ5OihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9big4NDYyKSxyPW4oNzQyNCkscz0vI3xcLnByb3RvdHlwZVwuLyxpc0ZvcmNlZD1mdW5jdGlvbihlLHQpe3ZhciBuPWFbbyhlKV07cmV0dXJuIG49PWN8fG4hPWwmJihyKHQpP2kodCk6ISF0KX0sbz1pc0ZvcmNlZC5ub3JtYWxpemU9ZnVuY3Rpb24oZSl7cmV0dXJuIFN0cmluZyhlKS5yZXBsYWNlKHMsIi4iKS50b0xvd2VyQ2FzZSgpfSxhPWlzRm9yY2VkLmRhdGE9e30sbD1pc0ZvcmNlZC5OQVRJVkU9Ik4iLGM9aXNGb3JjZWQuUE9MWUZJTEw9IlAiO2UuZXhwb3J0cz1pc0ZvcmNlZH0sNTU3MDplPT57InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZX19LDY4Mjc6KGUsdCxuKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgaT1uKDc0MjQpLHI9bigzNjM2KSxzPXIuYWxsO2UuZXhwb3J0cz1yLklTX0hUTUxEREE/ZnVuY3Rpb24oZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlP251bGwhPT1lOmkoZSl8fGU9PT1zfTpmdW5jdGlvbihlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGU/bnVsbCE9PWU6aShlKX19LDc2OTA6ZT0+eyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ITF9LDYzOTY6KGUsdCxuKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgaT1uKDUwNzIpLHI9big3NDI0KSxzPW4oNjgzMCksbz1uKDQ3MTcpLGE9T2JqZWN0O2UuZXhwb3J0cz1vP2Z1bmN0aW9uKGUpe3JldHVybiJzeW1ib2wiPT10eXBlb2YgZX06ZnVuY3Rpb24oZSl7dmFyIHQ9aSgiU3ltYm9sIik7cmV0dXJuIHIodCkmJnModC5wcm90b3R5cGUsYShlKSl9fSw3ODI1OihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9big5MjIzKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGkoZS5sZW5ndGgpfX0sNTM5MDooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oOTcwOSkscj1uKDg0NjIpLHM9big3NDI0KSxvPW4oNTExMCksYT1uKDY5NTMpLGw9big3NzA3KS5DT05GSUdVUkFCTEUsYz1uKDE2MzMpLHU9bigzOTYyKSxkPXUuZW5mb3JjZSxoPXUuZ2V0LGc9U3RyaW5nLHA9T2JqZWN0LmRlZmluZVByb3BlcnR5LGY9aSgiIi5zbGljZSksbT1pKCIiLnJlcGxhY2UpLGI9aShbXS5qb2luKSx2PWEmJiFyKChmdW5jdGlvbigpe3JldHVybiA4IT09cCgoZnVuY3Rpb24oKXt9KSwibGVuZ3RoIix7dmFsdWU6OH0pLmxlbmd0aH0pKSx5PVN0cmluZyhTdHJpbmcpLnNwbGl0KCJTdHJpbmciKSxTPWUuZXhwb3J0cz1mdW5jdGlvbihlLHQsbil7IlN5bWJvbCgiPT09ZihnKHQpLDAsNykmJih0PSJbIittKGcodCksL15TeW1ib2xcKChbXildKilcKS8sIiQxIikrIl0iKSxuJiZuLmdldHRlciYmKHQ9ImdldCAiK3QpLG4mJm4uc2V0dGVyJiYodD0ic2V0ICIrdCksKCFvKGUsIm5hbWUiKXx8bCYmZS5uYW1lIT09dCkmJihhP3AoZSwibmFtZSIse3ZhbHVlOnQsY29uZmlndXJhYmxlOiEwfSk6ZS5uYW1lPXQpLHYmJm4mJm8obiwiYXJpdHkiKSYmZS5sZW5ndGghPT1uLmFyaXR5JiZwKGUsImxlbmd0aCIse3ZhbHVlOm4uYXJpdHl9KTt0cnl7biYmbyhuLCJjb25zdHJ1Y3RvciIpJiZuLmNvbnN0cnVjdG9yP2EmJnAoZSwicHJvdG90eXBlIix7d3JpdGFibGU6ITF9KTplLnByb3RvdHlwZSYmKGUucHJvdG90eXBlPXZvaWQgMCl9Y2F0Y2goZSl7fXZhciBpPWQoZSk7cmV0dXJuIG8oaSwic291cmNlIil8fChpLnNvdXJjZT1iKHksInN0cmluZyI9PXR5cGVvZiB0P3Q6IiIpKSxlfTtGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc9UygoZnVuY3Rpb24gdG9TdHJpbmcoKXtyZXR1cm4gcyh0aGlzKSYmaCh0aGlzKS5zb3VyY2V8fGModGhpcyl9KSwidG9TdHJpbmciKX0sMTI5ODplPT57InVzZSBzdHJpY3QiO3ZhciB0PU1hdGguY2VpbCxuPU1hdGguZmxvb3I7ZS5leHBvcnRzPU1hdGgudHJ1bmN8fGZ1bmN0aW9uIHRydW5jKGUpe3ZhciBpPStlO3JldHVybihpPjA/bjp0KShpKX19LDM5ODE6KGUsdCxuKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgaSxyPW4oMTMyNikscz1uKDY0MzQpLG89big0Nzk4KSxhPW4oMzQ3MiksbD1uKDExOTgpLGM9bigzMDE4KSx1PW4oNTg2OCksZD0icHJvdG90eXBlIixoPSJzY3JpcHQiLGc9dSgiSUVfUFJPVE8iKSxFbXB0eUNvbnN0cnVjdG9yPWZ1bmN0aW9uKCl7fSxzY3JpcHRUYWc9ZnVuY3Rpb24oZSl7cmV0dXJuIjwiK2grIj4iK2UrIjwvIitoKyI+In0sTnVsbFByb3RvT2JqZWN0VmlhQWN0aXZlWD1mdW5jdGlvbihlKXtlLndyaXRlKHNjcmlwdFRhZygiIikpLGUuY2xvc2UoKTt2YXIgdD1lLnBhcmVudFdpbmRvdy5PYmplY3Q7cmV0dXJuIGU9bnVsbCx0fSxOdWxsUHJvdG9PYmplY3Q9ZnVuY3Rpb24oKXt0cnl7aT1uZXcgQWN0aXZlWE9iamVjdCgiaHRtbGZpbGUiKX1jYXRjaChlKXt9dmFyIGUsdCxuO051bGxQcm90b09iamVjdD0idW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmRvbWFpbiYmaT9OdWxsUHJvdG9PYmplY3RWaWFBY3RpdmVYKGkpOih0PWMoImlmcmFtZSIpLG49ImphdmEiK2grIjoiLHQuc3R5bGUuZGlzcGxheT0ibm9uZSIsbC5hcHBlbmRDaGlsZCh0KSx0LnNyYz1TdHJpbmcobiksKGU9dC5jb250ZW50V2luZG93LmRvY3VtZW50KS5vcGVuKCksZS53cml0ZShzY3JpcHRUYWcoImRvY3VtZW50LkY9T2JqZWN0IikpLGUuY2xvc2UoKSxlLkYpOk51bGxQcm90b09iamVjdFZpYUFjdGl2ZVgoaSk7Zm9yKHZhciByPW8ubGVuZ3RoO3ItLTspZGVsZXRlIE51bGxQcm90b09iamVjdFtkXVtvW3JdXTtyZXR1cm4gTnVsbFByb3RvT2JqZWN0KCl9O2FbZ109ITAsZS5leHBvcnRzPU9iamVjdC5jcmVhdGV8fGZ1bmN0aW9uIGNyZWF0ZShlLHQpe3ZhciBuO3JldHVybiBudWxsIT09ZT8oRW1wdHlDb25zdHJ1Y3RvcltkXT1yKGUpLG49bmV3IEVtcHR5Q29uc3RydWN0b3IsRW1wdHlDb25zdHJ1Y3RvcltkXT1udWxsLG5bZ109ZSk6bj1OdWxsUHJvdG9PYmplY3QoKSx2b2lkIDA9PT10P246cy5mKG4sdCl9fSw2NDM0OihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9big2OTUzKSxyPW4oNTY3OSkscz1uKDc2MTQpLG89bigxMzI2KSxhPW4oMzAxNiksbD1uKDQ1NjUpO3QuZj1pJiYhcj9PYmplY3QuZGVmaW5lUHJvcGVydGllczpmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKGUsdCl7byhlKTtmb3IodmFyIG4saT1hKHQpLHI9bCh0KSxjPXIubGVuZ3RoLHU9MDtjPnU7KXMuZihlLG49clt1KytdLGlbbl0pO3JldHVybiBlfX0sNzYxNDooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNjk1Mykscj1uKDcxMDYpLHM9big1Njc5KSxvPW4oMTMyNiksYT1uKDg3NTYpLGw9VHlwZUVycm9yLGM9T2JqZWN0LmRlZmluZVByb3BlcnR5LHU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixkPSJlbnVtZXJhYmxlIixoPSJjb25maWd1cmFibGUiLGc9IndyaXRhYmxlIjt0LmY9aT9zP2Z1bmN0aW9uIGRlZmluZVByb3BlcnR5KGUsdCxuKXtpZihvKGUpLHQ9YSh0KSxvKG4pLCJmdW5jdGlvbiI9PXR5cGVvZiBlJiYicHJvdG90eXBlIj09PXQmJiJ2YWx1ZSJpbiBuJiZnIGluIG4mJiFuW2ddKXt2YXIgaT11KGUsdCk7aSYmaVtnXSYmKGVbdF09bi52YWx1ZSxuPXtjb25maWd1cmFibGU6aCBpbiBuP25baF06aVtoXSxlbnVtZXJhYmxlOmQgaW4gbj9uW2RdOmlbZF0sd3JpdGFibGU6ITF9KX1yZXR1cm4gYyhlLHQsbil9OmM6ZnVuY3Rpb24gZGVmaW5lUHJvcGVydHkoZSx0LG4pe2lmKG8oZSksdD1hKHQpLG8obikscil0cnl7cmV0dXJuIGMoZSx0LG4pfWNhdGNoKGUpe31pZigiZ2V0ImluIG58fCJzZXQiaW4gbil0aHJvdyBsKCJBY2Nlc3NvcnMgbm90IHN1cHBvcnRlZCIpO3JldHVybiJ2YWx1ZSJpbiBuJiYoZVt0XT1uLnZhbHVlKSxlfX0sMTcyOihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9big2OTUzKSxyPW4oNTI0NCkscz1uKDY0OTIpLG89big5MzY3KSxhPW4oMzAxNiksbD1uKDg3NTYpLGM9big1MTEwKSx1PW4oNzEwNiksZD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO3QuZj1pP2Q6ZnVuY3Rpb24gZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCl7aWYoZT1hKGUpLHQ9bCh0KSx1KXRyeXtyZXR1cm4gZChlLHQpfWNhdGNoKGUpe31pZihjKGUsdCkpcmV0dXJuIG8oIXIocy5mLGUsdCksZVt0XSl9fSw0MTYxOihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9big5NTgzKSxyPW4oNDc5OCkuY29uY2F0KCJsZW5ndGgiLCJwcm90b3R5cGUiKTt0LmY9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXN8fGZ1bmN0aW9uIGdldE93blByb3BlcnR5TmFtZXMoZSl7cmV0dXJuIGkoZSxyKX19LDg2NDooZSx0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmY9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9sc30sNjgzMDooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oOTcwOSk7ZS5leHBvcnRzPWkoe30uaXNQcm90b3R5cGVPZil9LDk1ODM6KGUsdCxuKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgaT1uKDk3MDkpLHI9big1MTEwKSxzPW4oMzAxNiksbz1uKDUyNTQpLmluZGV4T2YsYT1uKDM0NzIpLGw9aShbXS5wdXNoKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt2YXIgbixpPXMoZSksYz0wLHU9W107Zm9yKG4gaW4gaSkhcihhLG4pJiZyKGksbikmJmwodSxuKTtmb3IoO3QubGVuZ3RoPmM7KXIoaSxuPXRbYysrXSkmJih+byh1LG4pfHxsKHUsbikpO3JldHVybiB1fX0sNDU2NTooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oOTU4Mykscj1uKDQ3OTgpO2UuZXhwb3J0cz1PYmplY3Qua2V5c3x8ZnVuY3Rpb24ga2V5cyhlKXtyZXR1cm4gaShlLHIpfX0sNjQ5MjooZSx0KT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj17fS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iscj1pJiYhbi5jYWxsKHsxOjJ9LDEpO3QuZj1yP2Z1bmN0aW9uIHByb3BlcnR5SXNFbnVtZXJhYmxlKGUpe3ZhciB0PWkodGhpcyxlKTtyZXR1cm4hIXQmJnQuZW51bWVyYWJsZX06bn0sNDI1OTooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNTI0NCkscj1uKDc0MjQpLHM9big2ODI3KSxvPVR5cGVFcnJvcjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt2YXIgbixhO2lmKCJzdHJpbmciPT09dCYmcihuPWUudG9TdHJpbmcpJiYhcyhhPWkobixlKSkpcmV0dXJuIGE7aWYocihuPWUudmFsdWVPZikmJiFzKGE9aShuLGUpKSlyZXR1cm4gYTtpZigic3RyaW5nIiE9PXQmJnIobj1lLnRvU3RyaW5nKSYmIXMoYT1pKG4sZSkpKXJldHVybiBhO3Rocm93IG8oIkNhbid0IGNvbnZlcnQgb2JqZWN0IHRvIHByaW1pdGl2ZSB2YWx1ZSIpfX0sMTgwNDooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNTA3Mikscj1uKDk3MDkpLHM9big0MTYxKSxvPW4oODY0KSxhPW4oMTMyNiksbD1yKFtdLmNvbmNhdCk7ZS5leHBvcnRzPWkoIlJlZmxlY3QiLCJvd25LZXlzIil8fGZ1bmN0aW9uIG93bktleXMoZSl7dmFyIHQ9cy5mKGEoZSkpLG49by5mO3JldHVybiBuP2wodCxuKGUpKTp0fX0sNTA2NTooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNTU3MCkscj1UeXBlRXJyb3I7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2lmKGkoZSkpdGhyb3cgcigiQ2FuJ3QgY2FsbCBtZXRob2Qgb24gIitlKTtyZXR1cm4gZX19LDU4Njg6KGUsdCxuKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgaT1uKDM2NjIpLHI9big2MzcpLHM9aSgia2V5cyIpO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gc1tlXXx8KHNbZV09cihlKSl9fSw0MTA6KGUsdCxuKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgaT1uKDI3NTYpLHI9big2NTMwKSxzPSJfX2NvcmUtanNfc2hhcmVkX18iLG89aVtzXXx8cihzLHt9KTtlLmV4cG9ydHM9b30sMzY2MjooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNzY5MCkscj1uKDQxMCk7KGUuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3JldHVybiByW2VdfHwocltlXT12b2lkIDAhPT10P3Q6e30pfSkoInZlcnNpb25zIixbXSkucHVzaCh7dmVyc2lvbjoiMy4zMi4wIixtb2RlOmk/InB1cmUiOiJnbG9iYWwiLGNvcHlyaWdodDoiwqkgMjAxNC0yMDIzIERlbmlzIFB1c2hrYXJldiAoemxvaXJvY2sucnUpIixsaWNlbnNlOiJodHRwczovL2dpdGh1Yi5jb20vemxvaXJvY2svY29yZS1qcy9ibG9iL3YzLjMyLjAvTElDRU5TRSIsc291cmNlOiJodHRwczovL2dpdGh1Yi5jb20vemxvaXJvY2svY29yZS1qcyJ9KX0sNDooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNTY0OSkscj1uKDg0NjIpLHM9bigyNzU2KS5TdHJpbmc7ZS5leHBvcnRzPSEhT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyYmIXIoKGZ1bmN0aW9uKCl7dmFyIGU9U3ltYm9sKCk7cmV0dXJuIXMoZSl8fCEoT2JqZWN0KGUpaW5zdGFuY2VvZiBTeW1ib2wpfHwhU3ltYm9sLnNoYW0mJmkmJmk8NDF9KSl9LDg0NzooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNjM3Mikscj1NYXRoLm1heCxzPU1hdGgubWluO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciBuPWkoZSk7cmV0dXJuIG48MD9yKG4rdCwwKTpzKG4sdCl9fSwzMDE2OihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9big4MTg4KSxyPW4oNTA2NSk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBpKHIoZSkpfX0sNjM3MjooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oMTI5OCk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PStlO3JldHVybiB0IT10fHwwPT09dD8wOmkodCl9fSw5MjIzOihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9big2MzcyKSxyPU1hdGgubWluO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gZT4wP3IoaShlKSw5MDA3MTk5MjU0NzQwOTkxKTowfX0sNDQ0MDooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNTA2NSkscj1PYmplY3Q7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiByKGkoZSkpfX0sNzgwNjooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNTI0NCkscj1uKDY4MjcpLHM9big2Mzk2KSxvPW4oMTI1KSxhPW4oNDI1OSksbD1uKDcxNjYpLGM9VHlwZUVycm9yLHU9bCgidG9QcmltaXRpdmUiKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtpZighcihlKXx8cyhlKSlyZXR1cm4gZTt2YXIgbixsPW8oZSx1KTtpZihsKXtpZih2b2lkIDA9PT10JiYodD0iZGVmYXVsdCIpLG49aShsLGUsdCksIXIobil8fHMobikpcmV0dXJuIG47dGhyb3cgYygiQ2FuJ3QgY29udmVydCBvYmplY3QgdG8gcHJpbWl0aXZlIHZhbHVlIil9cmV0dXJuIHZvaWQgMD09PXQmJih0PSJudW1iZXIiKSxhKGUsdCl9fSw4NzU2OihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9big3ODA2KSxyPW4oNjM5Nik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PWkoZSwic3RyaW5nIik7cmV0dXJuIHIodCk/dDp0KyIifX0sMjg4MjplPT57InVzZSBzdHJpY3QiO3ZhciB0PVN0cmluZztlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiB0KGUpfWNhdGNoKGUpe3JldHVybiJPYmplY3QifX19LDYzNzooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oOTcwOSkscj0wLHM9TWF0aC5yYW5kb20oKSxvPWkoMS4udG9TdHJpbmcpO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4iU3ltYm9sKCIrKHZvaWQgMD09PWU/IiI6ZSkrIilfIitvKCsrcitzLDM2KX19LDQ3MTc6KGUsdCxuKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgaT1uKDQpO2UuZXhwb3J0cz1pJiYhU3ltYm9sLnNoYW0mJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yfSw1Njc5OihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9big2OTUzKSxyPW4oODQ2Mik7ZS5leHBvcnRzPWkmJnIoKGZ1bmN0aW9uKCl7cmV0dXJuIDQyIT1PYmplY3QuZGVmaW5lUHJvcGVydHkoKGZ1bmN0aW9uKCl7fSksInByb3RvdHlwZSIse3ZhbHVlOjQyLHdyaXRhYmxlOiExfSkucHJvdG90eXBlfSkpfSw3OTI1OihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9bigyNzU2KSxyPW4oNzQyNCkscz1pLldlYWtNYXA7ZS5leHBvcnRzPXIocykmJi9uYXRpdmUgY29kZS8udGVzdChTdHJpbmcocykpfSw3MTY2OihlLHQsbik9PnsidXNlIHN0cmljdCI7dmFyIGk9bigyNzU2KSxyPW4oMzY2Mikscz1uKDUxMTApLG89big2MzcpLGE9big0KSxsPW4oNDcxNyksYz1pLlN5bWJvbCx1PXIoIndrcyIpLGQ9bD9jLmZvcnx8YzpjJiZjLndpdGhvdXRTZXR0ZXJ8fG87ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBzKHUsZSl8fCh1W2VdPWEmJnMoYyxlKT9jW2VdOmQoIlN5bWJvbC4iK2UpKSx1W2VdfX0sNzQwNjooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNTY4OSkscj1uKDUyNTQpLmluY2x1ZGVzLHM9big4NDYyKSxvPW4oOTkwKTtpKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxmb3JjZWQ6cygoZnVuY3Rpb24oKXtyZXR1cm4hQXJyYXkoMSkuaW5jbHVkZXMoKX0pKX0se2luY2x1ZGVzOmZ1bmN0aW9uIGluY2x1ZGVzKGUpe3JldHVybiByKHRoaXMsZSxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSksbygiaW5jbHVkZXMiKX0sNzY2NzooZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciBpPW4oNTY4OSkscj1uKDQ0NDApLHM9big3ODI1KSxvPW4oNDc2KSxhPW4oNDk1OCk7aSh7dGFyZ2V0OiJBcnJheSIscHJvdG86ITAsYXJpdHk6MSxmb3JjZWQ6big4NDYyKSgoZnVuY3Rpb24oKXtyZXR1cm4gNDI5NDk2NzI5NyE9PVtdLnB1c2guY2FsbCh7bGVuZ3RoOjQyOTQ5NjcyOTZ9LDEpfSkpfHwhZnVuY3Rpb24oKXt0cnl7T2JqZWN0LmRlZmluZVByb3BlcnR5KFtdLCJsZW5ndGgiLHt3cml0YWJsZTohMX0pLnB1c2goKX1jYXRjaChlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcn19KCl9LHtwdXNoOmZ1bmN0aW9uIHB1c2goZSl7dmFyIHQ9cih0aGlzKSxuPXModCksaT1hcmd1bWVudHMubGVuZ3RoO2EobitpKTtmb3IodmFyIGw9MDtsPGk7bCsrKXRbbl09YXJndW1lbnRzW2xdLG4rKztyZXR1cm4gbyh0LG4pLG59fSl9LDY3ODQ6ZT0+e2UuZXhwb3J0cz1mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGU/ZTp7ZGVmYXVsdDplfX0sZS5leHBvcnRzLl9fZXNNb2R1bGU9ITAsZS5leHBvcnRzLmRlZmF1bHQ9ZS5leHBvcnRzfX0sZT0+e3ZhciB0O3Q9NDk0NixlKGUucz10KX1dKTs="}},"time_used":674,"timings":{"blocked":581,"dns":0,"connect":0,"send":0,"wait":93,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/98696.e10ceecfd44535d6ea1a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.737Z","timestamp":1785141584737,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/98696.e10ceecfd44535d6ea1a.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323ca6-140a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:20:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:15:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 20b618f789505f520a3d3b51bb19afe1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5130,"size_decoded":2055,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5130), with no line terminators","md5":"14ba6ef799217e3cf6c0f723627f96dc","sha1":"56a2abca6a545fb6f28a7e66508fea511db30c47","sha256":"6db5f60c32ec213410cd578b53e2878efcddc6fc01da1bc3a11fa465d4702c63","sha512":"df91da3cdf87cd7cf1cfc3abd0b1101ac8328f973e85853b5eb5d12caddcd8bce1f4e2eb279848a377f5126ff637ac6131f20b60dcc3a6d247bca2145fe32ac2","ssdeep":"96:ONadZaAWAo8APlUdGRzg0oszVpO79JSjpHzbfKaMvPd92bCJIdWJak:ON8Zfro1PlUdGRzg0osz+79JalzbVulr","tlshash":"43b1329ceb94a27b7c2ba43c1318e32d4e45be42dd621bf6bd3d610149c3be261e6744","first_seen":"2026-06-18T02:55:32.293865Z","last_seen":"2026-07-27T14:50:15.310526Z","times_seen":304,"resource_available":false,"data":"LmhhbGFsU3RhdHVzLW5QVTM5cndVe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktc3VjY2Vzcy1leHRyYS1ib2xkKX0uaGFsYWxTdGF0dXMtblBVMzlyd1U6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5oYWxhbFN0YXR1cy1uUFUzOXJ3VTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAuaGFsYWxTdGF0dXMtblBVMzlyd1U6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtYm9sZCl9LnR2Q2FsY3VsYXRlZFBhaXItUzN6Y2NJX1B7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9LnR2Q2FsY3VsYXRlZFBhaXItUzN6Y2NJX1A6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAudHZDYWxjdWxhdGVkUGFpci1TM3pjY0lfUDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLnR2Q2FsY3VsYXRlZFBhaXItUzN6Y2NJX1A6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQpfS5oa2V4Q29tbWVudC1lYnVOU3Zvd3tjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLWV4dHJhLWJvbGQpfS5oa2V4Q29tbWVudC1lYnVOU3ZvdzphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmhrZXhDb21tZW50LWVidU5Tdm93OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5oa2V4Q29tbWVudC1lYnVOU3ZvdzphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ib2xkKX0uZGVmYXVsdGVkU3RhdHVzLUp1eFJURG1fe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKX0uZGVmYXVsdGVkU3RhdHVzLUp1eFJURG1fOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuZGVmYXVsdGVkU3RhdHVzLUp1eFJURG1fOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5kZWZhdWx0ZWRTdGF0dXMtSnV4UlREbV86YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZCl9LmxldEl0U25vd1N0YXR1cy1EdDMwYnZVQXtjb2xvcjp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNzAwKX0ubGV0SXRTbm93U3RhdHVzLUR0MzBidlVBOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmxldEl0U25vd1N0YXR1cy1EdDMwYnZVQTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmxldEl0U25vd1N0YXR1cy1EdDMwYnZVQTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtYm9sZCl9LnVwY29taW5nSXBvU3RhdHVzLXRLWlJtSUs1e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZCl9LnVwY29taW5nSXBvU3RhdHVzLXRLWlJtSUs1OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLnVwY29taW5nSXBvU3RhdHVzLXRLWlJtSUs1OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAudXBjb21pbmdJcG9TdGF0dXMtdEtaUm1JSzU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQpfVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLU9ZaFg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1fMS1PWWhYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1PWWhYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tXzEtT1loWDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS53cmFwU3RhY2tUcmFjZS1xcTJqU3I5T3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZvbnQtZmFtaWx5Ok1lbmxvLFVidW50dSBNb25vLENvbnNvbGFzLHNvdXJjZS1jb2RlLXBybyxtb25vc3BhY2U7b3ZlcmZsb3cteDphdXRvO3BhZGRpbmctYm90dG9tOjRweDtyb3ctZ2FwOjEycHh9QHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6bm9uZSl7LndyYXBTdGFja1RyYWNlLXFxMmpTcjlPe3Njcm9sbGJhci1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKSAjMDAwMDtzY3JvbGxiYXItd2lkdGg6dGhpbn19LndyYXBTdGFja1RyYWNlLXFxMmpTcjlPOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NXB4O3dpZHRoOjVweH0ud3JhcFN0YWNrVHJhY2UtcXEyalNyOU86Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXNjcm9sbGJhci10aHVtYi1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXNjcm9sbC1iZykpO2JvcmRlcjoxcHggc29saWQgIzAwMDA7Ym9yZGVyLXJhZGl1czozcHh9LndyYXBTdGFja1RyYWNlLXFxMmpTcjlPOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LndyYXBTdGFja1RyYWNlLXFxMmpTcjlPOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS5zdGFja1RyYWNlTGluZS1xcTJqU3I5T3tjb2xvcjp2YXIoLS1fMC1PWWhYKTt3aGl0ZS1zcGFjZTpub3dyYXB9LmZ1bmN0aW9uTmFtZS1xcTJqU3I5T3tjb2xvcjp2YXIoLS1fMS1PWWhYKX0uYmFySW5kZXgtcXEyalNyOU97Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCl9LmluZm8tcXEyalNyOU97Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpfS5oaWRlRW1wdHktcXEyalNyOU86ZW1wdHl7ZGlzcGxheTpub25lfS5lZGl0b3JFcnJvckJ1dHRvbnMtenVrOWVJTTN7Y29sdW1uLWdhcDo4cHg7ZGlzcGxheTpmbGV4fVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXl6SzY6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC15eks2OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfS53cmFwcGVyLVBndUFyTEZme2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MThweDttYXgtd2lkdGg6MTAwJTtyb3ctZ2FwOjhweH0ud3JhcEVycm9yLVBndUFyTEZme2JhY2tncm91bmQtY29sb3I6aW5oZXJpdDtib3JkZXItcmFkaXVzOjRweDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjRzIGVhc2V9LndyYXBFcnJvci1QZ3VBckxGZi5jbGlja2VkQW5pbS1QZ3VBckxGZntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXl6SzYpfS5lcnJvclRleHQtUGd1QXJMRmZ7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjFweH0ud3JhcFN0YWNrVHJhY2UtUGd1QXJMRmZ7bWFyZ2luLXRvcDoxMnB4fS5kZXNjcmlwdGlvbi1qZW5OVnNfQ3ttYXJnaW4tYm90dG9tOjhweDttYXJnaW4tdG9wOjRweH0ubW9kZS1qZW5OVnNfQ3thbGlnbi1pdGVtczpjZW50ZXI7Y29sdW1uLWdhcDo4cHg7ZGlzcGxheTpmbGV4O2hlaWdodDozMHB4fS5hY3Rpb25zLWplbk5Wc19De2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3d9LmFjdGlvbnMtamVuTlZzX0MgYnV0dG9ue21hcmdpbi1pbmxpbmUtZW5kOjhweDttYXJnaW4tYm90dG9tOjB9LmxpbmstamVuTlZzX0MsLmxpbmstamVuTlZzX0M6dmlzaXRlZHtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5saW5rLWplbk5Wc19DOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcik7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpfX0ubGluay1qZW5OVnNfQzphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlKX0ubGluay1qZW5OVnNfQzpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS5saW5rLWplbk5Wc19DOmZvY3VzLXZpc2libGV7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0ubGluay1qZW5OVnNfQzpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe291dGxpbmU6bm9uZX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxpbmstamVuTlZzX0M6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX19"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/36938.58456da0cdb4bb9bb485.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.761Z","timestamp":1785141584761,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/36938.58456da0cdb4bb9bb485.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-867c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 03d553a7da8e01751e647ffb36f1a58d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":34428,"size_decoded":12931,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"0b3a2f0bced3b2d13e2bc4271e8f8bec","sha1":"c8882777ff1ea1c0a44cd5abb3371658234b1ba7","sha256":"cc20688cf7733b705a8082a5cd27b28bfb7c5bf465b3b37a793cbb16845e2044","sha512":"79451e25e3c330b552f61617650652ad0fec3ca6846f09ab1abb2fee164ff668ea5b4bddc93377a87b16a14cbf8b793a074e8b00f7f1bb596ddb62211aae77cd","ssdeep":"768:1NuXCwjvbjs5+DLdgy+qR2UxNnoxErOw2f+gCrpZAKA6DQKG4JJZXKTmpcu9Chqj:aXPjvbQ+tI6XXoOow+H0","tlshash":"25f22c92b09170bc96f746ee943f0552f33a1a64b9854868f0bc8cec2d64d49e272f7d","first_seen":"2026-07-23T14:00:31.698766Z","last_seen":"2026-07-27T14:50:15.297115Z","times_seen":183,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNjkzOCw2MzU5NV0sezk3Nzc3KGUpe2UuZXhwb3J0cz17YmFkZ2U6ImJhZGdlLXg0VVZaYWJNIixoYXNDaGlsZHJlbjoiaGFzQ2hpbGRyZW4teDRVVlphYk0iLGNvbnRlbnQ6ImNvbnRlbnQteDRVVlphYk0iLHNsb3Q6InNsb3QteDRVVlphYk0iLHhzbWFsbDoieHNtYWxsLXg0VVZaYWJNIixzbWFsbDoic21hbGwteDRVVlphYk0iLG1lZGl1bToibWVkaXVtLXg0VVZaYWJNIixsYXJnZToibGFyZ2UteDRVVlphYk0iLHhsYXJnZToieGxhcmdlLXg0VVZaYWJNIix4eGxhcmdlOiJ4eGxhcmdlLXg0VVZaYWJNIn19LDk5NDUoZSl7ZS5leHBvcnRzPXtkZWZhdWx0OiJkZWZhdWx0LUdaTHlrTlFQIixkYW5nZXI6ImRhbmdlci1HWkx5a05RUCIsd2FybmluZzoid2FybmluZy1HWkx5a05RUCIsc3VjY2Vzczoic3VjY2Vzcy1HWkx5a05RUCIsbmV1dHJhbDoibmV1dHJhbC1HWkx5a05RUCIsIm5ldXRyYWwtbGlnaHQiOiJuZXV0cmFsLWxpZ2h0LUdaTHlrTlFQIixzbWFsbDoic21hbGwtR1pMeWtOUVAiLG1lZGl1bToibWVkaXVtLUdaTHlrTlFQIixsYXJnZToibGFyZ2UtR1pMeWtOUVAiLGljb25XcmFwcGVyOiJpY29uV3JhcHBlci1HWkx5a05RUCIsaWNvbjoiaWNvbi1HWkx5a05RUCJ9fSw0NDAwOTYoZSl7ZS5leHBvcnRzPXtzY3JvbGxDb250YWluZXI6InNjcm9sbENvbnRhaW5lci16RzJDcURlMiJ9fSw2MjcwMjIoZSl7ZS5leHBvcnRzPXtmbGV4OiJmbGV4LWdvMFplTlFGIixmaXhlZEhlYWRlcjoiZml4ZWRIZWFkZXItZ28wWmVOUUYiLGZpeGVkRm9vdGVyOiJmaXhlZEZvb3Rlci1nbzBaZU5RRiIsbWFpblNjcm9sbFdyYXBwZXI6Im1haW5TY3JvbGxXcmFwcGVyLWdvMFplTlFGIixmaXhlZEhlYWRlckNvbnRlbnQ6ImZpeGVkSGVhZGVyQ29udGVudC1nbzBaZU5RRiIsZml4ZWRGb290ZXJDb250ZW50OiJmaXhlZEZvb3RlckNvbnRlbnQtZ28wWmVOUUYiLG5vU2Nyb2xsOiJub1Njcm9sbC1nbzBaZU5RRiIsbWFpbjoibWFpbi1nbzBaZU5RRiIsbWFpbkNvbnRlbnQ6Im1haW5Db250ZW50LWdvMFplTlFGIn19LDYyMzYxMyhlKXtlLmV4cG9ydHM9e21vYmlsZUNvbnRleHQ6Im1vYmlsZUNvbnRleHQtVnhuNExoWUwiLGFuY2hvckNvbnRleHQ6ImFuY2hvckNvbnRleHQtVnhuNExoWUwifX0sNzYyMDUzKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1qV21NbTJWQSIsdGltZXpvbmU6InRpbWV6b25lLWpXbU1tMlZBIixsYXJnZVBhZGRpbmc6ImxhcmdlUGFkZGluZy1qV21NbTJWQSIsc2Vzc2lvbkRheVdyYXBwZXI6InNlc3Npb25EYXlXcmFwcGVyLWpXbU1tMlZBIixub3dXcmFwcGVyOiJub3dXcmFwcGVyLWpXbU1tMlZBIixub3c6Im5vdy1qV21NbTJWQSIsc2Vzc2lvbkRheToic2Vzc2lvbkRheS1qV21NbTJWQSIsd2Vla0RheToid2Vla0RheS1qV21NbTJWQSIsc2Vzc2lvbkRheVNlZ21lbnRzOiJzZXNzaW9uRGF5U2VnbWVudHMtaldtTW0yVkEiLHRpbWVNYXJrV3JhcHBlcjoidGltZU1hcmtXcmFwcGVyLWpXbU1tMlZBIix0aW1lTWFya1NlZ21lbnQ6InRpbWVNYXJrU2VnbWVudC1qV21NbTJWQSIsdGltZU1hcms6InRpbWVNYXJrLWpXbU1tMlZBIix0aW1lTWFya1NlZ21lbnRBbGlnbkJ5RW5kczoidGltZU1hcmtTZWdtZW50QWxpZ25CeUVuZHMtaldtTW0yVkEiLHNlZ21lbnQ6InNlZ21lbnQtaldtTW0yVkEiLHNtYWxsOiJzbWFsbC1qV21NbTJWQSIsc3RhcnQ6InN0YXJ0LWpXbU1tMlZBIixlbmQ6ImVuZC1qV21NbTJWQSIsYWN0aXZlOiJhY3RpdmUtaldtTW0yVkEiLGdyZWVuOiJncmVlbi1qV21NbTJWQSIsb3JhbmdlOiJvcmFuZ2UtaldtTW0yVkEiLGJsdWU6ImJsdWUtaldtTW0yVkEiLHB1cnBsZToicHVycGxlLWpXbU1tMlZBIixncmF5OiJncmF5LWpXbU1tMlZBIix0b29sdGlwOiJ0b29sdGlwLWpXbU1tMlZBIix0aW1lOiJ0aW1lLWpXbU1tMlZBIn19LDQ0NzI2OChlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtc21hbGwtc2l6ZSI6IjE4cHgiLCJjc3MtdmFsdWUtbWVkaXVtLXNpemUiOiIyMnB4IiwiY3NzLXZhbHVlLWxhcmdlLXNpemUiOiIyOHB4IiwiY3NzLXZhbHVlLWJvcmRlci1yYWRpdXMtc21hbGwtc2l6ZSI6IjlweCIsImNzcy12YWx1ZS1ib3JkZXItcmFkaXVzLW1lZGl1bS1zaXplIjoiMTFweCIsImNzcy12YWx1ZS1ib3JkZXItcmFkaXVzLWxhcmdlLXNpemUiOiI4cHgiLCJjc3MtdmFsdWUtdmVydGljYWwtcGFkZGluZy1zaXplIjoiMTZweCIsImNzcy12YWx1ZS1ob3Jpem9udGFsLXBhZGRpbmctc2l6ZSI6IjE2cHgiLCJjc3MtdmFsdWUtdmVydGljYWwtcGFkZGluZy1zaXplLWZpcnN0IjoiMTFweCIsImNzcy12YWx1ZS12ZXJ0aWNhbC1wYWRkaW5nLXNpemUtbGFzdCI6IjEwcHgiLHBvcHVwV2lkZ2V0V3JhcHBlcjoicG9wdXBXaWRnZXRXcmFwcGVyLUE0djBkbDE3Iixwb3B1cFdpZGdldFdpZHRoOiJwb3B1cFdpZGdldFdpZHRoLUE0djBkbDE3Iixwb3B1cFdpZGdldDoicG9wdXBXaWRnZXQtQTR2MGRsMTciLGxhcmdlOiJsYXJnZS1BNHYwZGwxNyIsbW9iaWxlOiJtb2JpbGUtQTR2MGRsMTciLGRlc2M6ImRlc2MtQTR2MGRsMTciLGljb246Imljb24tQTR2MGRsMTciLHNtYWxsOiJzbWFsbC1BNHYwZGwxNyIsbWVkaXVtOiJtZWRpdW0tQTR2MGRsMTciLHRpdGxlOiJ0aXRsZS1BNHYwZGwxNyIsdGV4dDoidGV4dC1BNHYwZGwxNyIsaXRlbToiaXRlbS1BNHYwZGwxNyIsYm9sZEl0ZW06ImJvbGRJdGVtLUE0djBkbDE3IixhY3Rpb246ImFjdGlvbi1BNHYwZGwxNyIsYWN0aW9uQnRuOiJhY3Rpb25CdG4tQTR2MGRsMTciLGFjdGlvbnM6ImFjdGlvbnMtQTR2MGRsMTciLGFkZGl0aW9uYWxXaWRnZXQ6ImFkZGl0aW9uYWxXaWRnZXQtQTR2MGRsMTcifX0sMTk4MjA5KGUpe2UuZXhwb3J0cz17Imljb24td3JhcHBlciI6Imljb24td3JhcHBlci1kaWtkZXd3eCIsIndpdGgtbGluayI6IndpdGgtbGluay1kaWtkZXd3eCIsIndpdGgtdG9vbHRpcCI6IndpdGgtdG9vbHRpcC1kaWtkZXd3eCIsIm5vLWFjdGl2ZS1zdGF0ZSI6Im5vLWFjdGl2ZS1zdGF0ZS1kaWtkZXd3eCJ9fSwKNTkwNDg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0JhZGdlOigpPT51fSk7dmFyIHM9big3Nzk0NzQpLGk9big5MTQ0ODcpLG89bi5uKGkpLGE9big5Nzc3Nykscj1uLm4oYSk7ZnVuY3Rpb24gbCh7aHJlZjplLG9uQ2xpY2s6dCxyZWZlcmVuY2U6biwuLi5pfSl7cmV0dXJuIGU/cy5jcmVhdGVFbGVtZW50KCJhIix7aHJlZjplLG9uQ2xpY2s6dCx0YXJnZXQ6Il9ibGFuayIscmVmOm4sLi4uaX0pOnQ/cy5jcmVhdGVFbGVtZW50KCJidXR0b24iLHtvbkNsaWNrOnQscmVmOm4sLi4uaX0pOnMuY3JlYXRlRWxlbWVudCgic3BhbiIse3JlZjpuLC4uLml9KX1mdW5jdGlvbiB1KHtjbGFzc05hbWU6ZSxzaXplOnQsbGVmdFNsb3Q6bixyaWdodFNsb3Q6aSxjaGlsZHJlbjphLC4uLnV9KXtjb25zdCBjPW8oKShlLHIoKS5iYWRnZSx0JiZyKClbdF0sYSYmcigpLmhhc0NoaWxkcmVuKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGwse2NsYXNzTmFtZTpjLC4uLnV9LG4mJnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKS5zbG90fSxuKSxhJiZzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cigpLmNvbnRlbnR9LGEpLGkmJnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKS5zbG90fSxpKSl9fSwyMzQ2MzYoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcztuLmQodCx7QmFkZ2VTaXplOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5YU21hbGw9InhzbWFsbCIsZS5TbWFsbD0ic21hbGwiLGUuTWVkaXVtPSJtZWRpdW0iLGUuTGFyZ2U9ImxhcmdlIixlLlhMYXJnZT0ieGxhcmdlIn0oc3x8KHM9e30pKX0sNzE3OTMyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU1hdGNoTWVkaWE6KCk9Pm8sdXNlU2FmZU1hdGNoTWVkaWE6KCk9Pml9KTt2YXIgcz1uKDc3OTQ3NCk7ZnVuY3Rpb24gaShlLHQ9ITEpe2NvbnN0W24saV09KDAscy51c2VTdGF0ZSkodCk7cmV0dXJuKDAscy51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IHQ9d2luZG93Lm1hdGNoTWVkaWEoZSk7ZnVuY3Rpb24gbigpe2kodC5tYXRjaGVzKX1yZXR1cm4gbigpLHQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixuKSwoKT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixuKX19KSxbZV0pLG59ZnVuY3Rpb24gbyhlKXtjb25zdCB0PSgwLHMudXNlTWVtbykoKCgpPT53aW5kb3cubWF0Y2hNZWRpYShlKS5tYXRjaGVzKSxbXSk7cmV0dXJuIGkoZSx0KX19LDkwMDg0MShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0LG4scyxpKXtmdW5jdGlvbiBvKGkpe2lmKGU+aS50aW1lU3RhbXApcmV0dXJuO2NvbnN0IG89aS50YXJnZXQ7dm9pZCAwIT09biYmbnVsbCE9PXQmJm51bGwhPT1vJiZvLm93bmVyRG9jdW1lbnQ9PT1zJiYodC5jb250YWlucyhvKXx8bihpKSl9cmV0dXJuIGkuY2xpY2smJnMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG8sITEpLGkubW91c2VEb3duJiZzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsbywhMSksaS50b3VjaEVuZCYmcy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsbywhMSksaS50b3VjaFN0YXJ0JiZzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLG8sITEpLCgpPT57cy5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsbywhMSkscy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLG8sITEpLHMucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLG8sITEpLHMucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsbywhMSl9fW4uZCh0LHthZGRPdXRzaWRlRXZlbnRMaXN0ZW5lcjooKT0+c30pfSwyMzY3NjUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlT3V0c2lkZUV2ZW50OigpPT5hfSk7dmFyIHM9big3Nzk0NzQpLGk9big2MTYzMTEpLG89big5MDA4NDEpO2Z1bmN0aW9uIGEoZSl7Y29uc3R7Y2xpY2s6dCxtb3VzZURvd246bix0b3VjaEVuZDphLHRvdWNoU3RhcnQ6cixoYW5kbGVyOmwscmVmZXJlbmNlOnV9PWUsYz0oMCxzLnVzZVJlZikobnVsbCksZD0oMCxzLnVzZVJlZikoInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3c/MDpuZXcgd2luZG93LkN1c3RvbUV2ZW50KCJ0aW1lc3RhbXAiKS50aW1lU3RhbXApO3JldHVybigwLGkudXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57Y29uc3QgZT17Y2xpY2s6dCxtb3VzZURvd246bix0b3VjaEVuZDphLHRvdWNoU3RhcnQ6cn0scz11P3UuY3VycmVudDpjLmN1cnJlbnQ7cmV0dXJuKDAsby5hZGRPdXRzaWRlRXZlbnRMaXN0ZW5lcikoZC5jdXJyZW50LHMsbCxkb2N1bWVudCxlKX0pLFt0LG4sYSxyLGxdKSx1fHxjfX0sMjkwMjQzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVNhZmVNb2JpbGVUb3VjaDooKT0+b30pO3ZhciBzPW4oNzc5NDc0KSxpPW4oNzM4NDU4KTtmdW5jdGlvbiBvKCl7Y29uc3RbZSx0XT0oMCxzLnVzZVN0YXRlKSghMSk7cmV0dXJuKDAscy51c2VFZmZlY3QpKCgoKT0+e3QoaS5tb2JpbGV0b3VjaCl9KSxbXSksZX19LDg2NTA5MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VUb29sdGlwOigpPT5hfSk7dmFyIHM9big3Nzk0NzQpLGk9bigyOTAyNDMpLG89big3ODc4OTUpO2Z1bmN0aW9uIGEoZSx0PW51bGwpe2NvbnN0e3Nob3dUb29sdGlwOm4saGlkZVRvb2x0aXA6YSxvbkNsaWNrOnIsZG9Ob3RTaG93VG9vbHRpcE9uVG91Y2g6bD0hMX09ZSx1PSgwLG8udXNlRnVuY3Rpb25hbFJlZk9iamVjdCkodCksYz0oMCxpLnVzZVNhZmVNb2JpbGVUb3VjaCkoKSxkPWMmJmw/dm9pZCAwOmUudG9vbHRpcDsoMCxzLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT0oKT0+YSYmYSgpO3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUsITApLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUsITApfSksW3UsYV0pO3JldHVybntvbkJsdXI6KDAscy51c2VDYWxsYmFjaykoKGU9PnthJiZhKCl9KSxbYV0pLG9uRm9jdXM6KDAscy51c2VDYWxsYmFjaykoKGU9PnsKIWUudGFyZ2V0Lm1hdGNoZXMoIjpob3ZlciIpJiZuJiZlLnRhcmdldC5tYXRjaGVzKCI6Zm9jdXMtdmlzaWJsZSIpJiZuKGUuY3VycmVudFRhcmdldCx7dG9vbHRpcERlbGF5OjIwMH0pfSksW25dKSxvbkNsaWNrOigwLHMudXNlQ2FsbGJhY2spKChlPT57YyYmdT8uY3VycmVudD8uZm9jdXMoKSxyJiZyKGUpfSksW3IsdSxjXSksdG9vbHRpcDpkLGNsYXNzTmFtZTp2b2lkIDAhPT1kPyJhcHBseS1jb21tb24tdG9vbHRpcCI6dm9pZCAwLHJlZjp1fX19LDg3MzA5MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtBTFdBWVNfRFJPUERPV05fUE9QT1ZFUl9CUkVBS1BPSU5UOigpPT5pLERFRkFVTFRfUE9QT1ZFUl9CUkVBS1BPSU5UOigpPT5vfSk7dmFyIHM9big4MDk0MzYpO2NvbnN0IGk9Im5vdCBhbGwiLG89c1sibWVkaWEtc2hvdy1kcmF3ZXIiXX0sNTIwNDg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BvcG92ZXJDb250ZW50VmVydGljYWw6KCk9PmN9KTt2YXIgcz1uKDc3OTQ3NCksaT1uKDkxNDQ4Nyksbz1uLm4oaSksYT1uKDQ0MDA5Nikscj1uLm4oYSk7dmFyIGw9big2MjcwMjIpLHU9bi5uKGwpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7Y2hpbGRyZW46dCxmaXhlZEhlYWRlcjpuLGZpeGVkRm9vdGVyOmksb25TY3JvbGw6YSxzY3JvbGxSZWY6bCxkYXRhUWFJZDpjfT1lLHtzY3JvbGxDb21wZW5zYXRpb246ZCxzY3JvbGxQYWRkaW5nQ29udGFpbmVyOm19PWZ1bmN0aW9uKCl7Y29uc3RbZSx0XT0oMCxzLnVzZVN0YXRlKSh2b2lkIDApLG49KDAscy51c2VDYWxsYmFjaykoKGU9PntlJiZ0KCh0PT50fHxlLm9mZnNldFdpZHRoLWUuY2xpZW50V2lkdGgpKX0pLFtdKTtyZXR1cm57c2Nyb2xsQ29tcGVuc2F0aW9uOnZvaWQgMCE9PWU/LWUrInB4Ijp2b2lkIDAsc2Nyb2xsUGFkZGluZ0NvbnRhaW5lcjpzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkuc2Nyb2xsQ29udGFpbmVyLHJlZjpufSl9fSgpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQocy5GcmFnbWVudCxudWxsLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtcWEtaWQiOmMsY2xhc3NOYW1lOnUoKS5mbGV4fSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkodSgpLmZpeGVkSGVhZGVyLG4mJnUoKS5maXhlZEhlYWRlckNvbnRlbnQpfSxuKSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkodSgpLm1haW5TY3JvbGxXcmFwcGVyLHZvaWQgMD09PWQmJnUoKS5ub1Njcm9sbCksb25TY3JvbGw6YSxyZWY6bCxzdHlsZTp7Ii0tdWktbGliLXByaXZhdGUtcG9wb3ZlckNvbnRlbnRWZXJ0aWNhbC1zY3JvbGwtY29tcGVuc2F0aW9uIjpkfX0scy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bygpKHUoKS5tYWluLHQmJnUoKS5tYWluQ29udGVudCl9LHQpKSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkodSgpLmZpeGVkRm9vdGVyLGkmJnUoKS5maXhlZEZvb3RlckNvbnRlbnQpfSxpKSksbSl9fSw2NDA1MTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UExBQ0VNRU5UX0JPVFRPTV9BTElHTl9DRU5URVI6KCk9Pm8sUExBQ0VNRU5UX0JPVFRPTV9BTElHTl9MRUZUOigpPT5zLFBMQUNFTUVOVF9CT1RUT01fQUxJR05fUklHSFQ6KCk9PmksUExBQ0VNRU5UX0xFRlRfQUxJR05fQk9UVE9NOigpPT5oLFBMQUNFTUVOVF9MRUZUX0FMSUdOX0NFTlRFUjooKT0+cCxQTEFDRU1FTlRfTEVGVF9BTElHTl9UT1A6KCk9Pm0sUExBQ0VNRU5UX1JJR0hUX0FMSUdOX0JPVFRPTTooKT0+YyxQTEFDRU1FTlRfUklHSFRfQUxJR05fQ0VOVEVSOigpPT5kLFBMQUNFTUVOVF9SSUdIVF9BTElHTl9UT1A6KCk9PnUsUExBQ0VNRU5UX1RPUF9BTElHTl9DRU5URVI6KCk9PmwsUExBQ0VNRU5UX1RPUF9BTElHTl9MRUZUOigpPT5hLFBMQUNFTUVOVF9UT1BfQUxJR05fUklHSFQ6KCk9PnJ9KTtjb25zdCBzPXtuYW1lOiJib3R0b20tbGVmdCIscnRsTmFtZToiYm90dG9tLXJpZ2h0IixhbmNob3JQb2ludDp7eDowLHk6MX0sY29udGVudFBvaW50Ont4OjAseTowfSxvdmVyZmxvd0hvcml6b250YWw6InNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJjcm9wU2xpZGUifSxpPXtuYW1lOiJib3R0b20tcmlnaHQiLHJ0bE5hbWU6ImJvdHRvbS1sZWZ0IixhbmNob3JQb2ludDp7eDoxLHk6MX0sY29udGVudFBvaW50Ont4OjEseTowfSxvdmVyZmxvd0hvcml6b250YWw6InNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJjcm9wU2xpZGUifSxvPXtuYW1lOiJib3R0b20iLGFuY2hvclBvaW50Ont4Oi41LHk6MX0sY29udGVudFBvaW50Ont4Oi41LHk6MH0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0sYT17bmFtZToidG9wLWxlZnQiLHJ0bE5hbWU6InRvcC1yaWdodCIsYW5jaG9yUG9pbnQ6e3g6MCx5OjB9LGNvbnRlbnRQb2ludDp7eDowLHk6MX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0scj17bmFtZToidG9wLXJpZ2h0IixydGxOYW1lOiJ0b3AtbGVmdCIsYW5jaG9yUG9pbnQ6e3g6MSx5OjB9LGNvbnRlbnRQb2ludDp7eDoxLHk6MX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0sbD17bmFtZToidG9wIixhbmNob3JQb2ludDp7eDouNSx5OjB9LGNvbnRlbnRQb2ludDp7eDouNSx5OjF9LG92ZXJmbG93SG9yaXpvbnRhbDoic2xpZGUiLG92ZXJmbG93VmVydGljYWw6ImNyb3BTbGlkZSJ9LHU9e25hbWU6InJpZ2h0LXRvcCIscnRsTmFtZToibGVmdC10b3AiLGFuY2hvclBvaW50Ont4OjEseTowfSxjb250ZW50UG9pbnQ6e3g6MCx5OjB9LG92ZXJmbG93SG9yaXpvbnRhbDoiY3JvcFNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJzbGlkZSJ9LGM9e25hbWU6InJpZ2h0LWJvdHRvbSIscnRsTmFtZToibGVmdC1ib3R0b20iLGFuY2hvclBvaW50Ont4OjEseToxfSxjb250ZW50UG9pbnQ6e3g6MCx5OjF9LG92ZXJmbG93SG9yaXpvbnRhbDoiY3JvcFNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJzbGlkZSJ9LGQ9e25hbWU6InJpZ2h0IixydGxOYW1lOiJsZWZ0IiwKYW5jaG9yUG9pbnQ6e3g6MSx5Oi41fSxjb250ZW50UG9pbnQ6e3g6MCx5Oi41fSxvdmVyZmxvd0hvcml6b250YWw6ImNyb3BTbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoic2xpZGUifSxtPXtuYW1lOiJsZWZ0LXRvcCIscnRsTmFtZToicmlnaHQtdG9wIixhbmNob3JQb2ludDp7eDowLHk6MH0sY29udGVudFBvaW50Ont4OjEseTowfSxvdmVyZmxvd0hvcml6b250YWw6ImNyb3BTbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoic2xpZGUifSxoPXtuYW1lOiJsZWZ0LWJvdHRvbSIscnRsTmFtZToicmlnaHQtYm90dG9tIixhbmNob3JQb2ludDp7eDowLHk6MX0sY29udGVudFBvaW50Ont4OjEseToxfSxvdmVyZmxvd0hvcml6b250YWw6ImNyb3BTbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoic2xpZGUifSxwPXtuYW1lOiJsZWZ0IixydGxOYW1lOiJyaWdodCIsYW5jaG9yUG9pbnQ6e3g6MCx5Oi41fSxjb250ZW50UG9pbnQ6e3g6MSx5Oi41fSxvdmVyZmxvd0hvcml6b250YWw6ImNyb3BTbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoic2xpZGUifX0sNDc5Mjk3KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4odCxuKT0+KHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGUsdCxuKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKGUsdCxuKX0pfW4uZCh0LHt3aW5kb3dFdmVudDooKT0+c30pfSw0NDA0NDYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ2xvc2VSZXBvc2l0aW9uT25TY3JvbGxPdXRzaWRlOigpPT51fSk7dmFyIHM9big3Nzk0NzQpLGk9big3MDY5NDMpLG89big0NzkyOTcpLGE9bigxNTkyNTYpLHI9big4NTQzMzgpO2NvbnN0IGw9KDAsby53aW5kb3dFdmVudCkoInNjcm9sbCIpO2Z1bmN0aW9uIHUoZSx0LG4sbyl7Y29uc3QgdT0oMCxzLnVzZU1lbW8pKCgoKT0+KDAsaS5jcmVhdGVTaWduYWwpKCkpLFtdKSxjPSgwLHMudXNlQ2FsbGJhY2spKCgoKT0+e24oITEsImN1cnJlbnRMZXZlbCIpfSksW25dKTtyZXR1cm4gZnVuY3Rpb24oZSx0LG4peygwLGEudXNlQ29uZGl0aW9uYWxFZmZlY3QpKGUsKCgpPT5sKChlPT57Y29uc3Qgcz1uLmN1cnJlbnQ7aWYoIXMpcmV0dXJuO2NvbnN0IGk9ZS50YXJnZXQ7aSYmKCgwLHIuaXNFbGVtZW50Q29udGFpbnNFbGVtZW50VGhyb3VnaFBvcnRhbHMpKHMsaSl8fCgwLHIuaXNFbGVtZW50Q29udGFpbnNFbGVtZW50VGhyb3VnaFBvcnRhbHMpKGkscykmJnQoKSl9KSwhMCkpLFt0LG5dKX0oZSx0P2M6dS5maXJlLG8pLHV9fSw1Nzc4MzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aXNJbkV4Y2x1ZGVkQXJlYTooKT0+aX0pO3ZhciBzPW4oNzcxNDQ3KTtmdW5jdGlvbiBpKGUsdCl7aWYoIXQpcmV0dXJuITE7Y29uc3Qgbj0iY3VycmVudCJpbiB0P3QuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6dDtyZXR1cm4hIW4mJigwLHMuaXNJblJlY3QpKGUsbil9fSwxNTkyNTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29uZGl0aW9uYWxFZmZlY3Q6KCk9Pml9KTt2YXIgcz1uKDc3OTQ3NCk7ZnVuY3Rpb24gaShlLHQsbil7KDAscy51c2VFZmZlY3QpKCgoKT0+e2lmKGUpcmV0dXJuIHQoKX0pLFsuLi5uLGVdKX19LDcxODc3MyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VQb3BvdmVyQ2xvc2VCZWhhdmlvcjooKT0+Z30pO3ZhciBzLGk9big3Nzk0NzQpLG89bigzMDYyODcpLGE9bigxNTkyNTYpOyFmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLkhvcml6b250YWw9MV09Ikhvcml6b250YWwiLGVbZS5WZXJ0aWNhbD0yXT0iVmVydGljYWwiLGVbZS5Cb3RoPTNdPSJCb3RoIn0oc3x8KHM9e30pKTt2YXIgcj1uKDQ0MDQ0Nik7ZnVuY3Rpb24gbChlLHQsbil7Y29uc3Qgcz0oMCxvLnVzZVdpbmRvd1Jlc2l6ZVRyaWdnZXIpKCFuLmNsb3NlT25SZXNpemVXaW5kb3cmJmUpOyFmdW5jdGlvbihlLHQsbil7Y29uc3Qgcz0oMCxpLnVzZVJlZikoe2NsaWVudFdpZHRoOnZvaWQgMCxjbGllbnRIZWlnaHQ6dm9pZCAwfSksbz0oMCxpLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSl7Y29uc3QgdD1bXTtyZXR1cm4gMSZlJiZ0LnB1c2goImNsaWVudFdpZHRoIiksMiZlJiZ0LnB1c2goImNsaWVudEhlaWdodCIpLHR9KG4pKSxbbl0pOygwLGEudXNlQ29uZGl0aW9uYWxFZmZlY3QpKGUmJjAhPT1uLCgoKT0+e2NvbnN0IGU9KCk9PntvLmZvckVhY2goKGU9Pntjb25zdCBuPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtlXTt2b2lkIDAhPT1zLmN1cnJlbnRbZV0/cy5jdXJyZW50W2VdIT09biYmKHQoITAsImN1cnJlbnRMZXZlbCIpLHMuY3VycmVudFtlXT1uKTpzLmN1cnJlbnRbZV09bn0pKX07cmV0dXJuIGUoKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixlLCEwKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLGUsITApLHMuY3VycmVudD17Y2xpZW50V2lkdGg6dm9pZCAwLGNsaWVudEhlaWdodDp2b2lkIDB9fX0pLFt0LG9dKX0oISFuLmNsb3NlT25SZXNpemVXaW5kb3cmJmUsdCwzKTtyZXR1cm5bcywoMCxyLnVzZUNsb3NlUmVwb3NpdGlvbk9uU2Nyb2xsT3V0c2lkZSkoZSwhIW4uY2xvc2VPblNjcm9sbE91dHNpZGUsdCxuLnJlZildfXZhciB1PW4oNzg3ODk1KSxjPW4oODU0MzM4KSxkPW4oNDc5Mjk3KSxtPW4oNTc3ODMyKSxoPW4oMjM2NDU0KTt2YXIgcD1uKDMxOTY5KSxmPW4oMjM1NzI0KTtjb25zdCB2PSgwLGQud2luZG93RXZlbnQpKCJrZXlkb3duIik7ZnVuY3Rpb24gZyhlKXtjb25zdCB0PSgwLAppLnVzZVJlZikobnVsbCkse29uQ2xvc2U6bixpc09wZW46cyxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDpvPXQsY2xvc2VPbkNsaWNrQXdheTpyPWguUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0NMSUNLX0FXQVksY2xvc2VPbkVzY2FwZTpnPWguUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0VTQ0FQRSxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpfPWguUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX1NDUk9MTF9PVVRTSURFLGNsb3NlT25SZXNpemVXaW5kb3c6eT1oLlBPUE9WRVJfREVGQVVMVF9DTE9TRV9PTl9SRVNJWkVfV0lORE9XLGNsb3NlT25UYWI6dz1oLlBPUE9WRVJfREVGQVVMVF9DTE9TRV9PTl9UQUIsZXhjbHVkZUFyZWE6RX09ZTtsZXQgUz0oMCx1LnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKG8pO2NvbnN0IE09bChzLG4se2Nsb3NlT25SZXNpemVXaW5kb3c6eSxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpfLHJlZjpTfSk7cmV0dXJuIFM9ZnVuY3Rpb24oZSx0LG4pe2NvbnN0IHM9KDAsaS51c2VDYWxsYmFjaykoKHM9PntlJiZzJiZzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLChlPT57aWYoMjchPT0oMCxmLmhhc2hGcm9tRXZlbnQpKGUpKXJldHVybjtjb25zdCBzPW4uY3VycmVudDtpZighcylyZXR1cm47Y29uc3QgaT1lLnRhcmdldDtpIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnMuY29udGFpbnMoaSkmJihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSx0KCEwLCJjdXJyZW50TGV2ZWwiKSl9KSx7Y2FwdHVyZTohMX0pfSksW2VdKTtyZXR1cm4oMCx1LnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKCgwLHAudXNlTWVyZ2VkUmVmcykoW24sc10pKX0oZyYmcyxuLFMpLGZ1bmN0aW9uKGUsdCxuKXsoMCxhLnVzZUNvbmRpdGlvbmFsRWZmZWN0KSghIWUsKCgpPT52KChlPT57Y29uc3Qgbj0oMCxmLmhhc2hGcm9tRXZlbnQpKGUpOzkhPT1uJiZuIT09OStmLk1vZGlmaWVycy5TaGlmdHx8dCghMCwiY3VycmVudExldmVsIil9KSwhMCkpLFt0LG5dKX0odyYmcyxuLFMpLGZ1bmN0aW9uKGUsdCxuLHMsaSl7Y29uc3Qgbz0iYm9vbGVhbiI9PXR5cGVvZiBzP2guUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0NMSUNLX0FXQVk6czsoMCxhLnVzZUNvbmRpdGlvbmFsRWZmZWN0KSghIWUsKCgpPT4oMCxkLndpbmRvd0V2ZW50KShvKSgoZT0+e2NvbnN0IHM9e3g6ZS5jbGllbnRYLHk6ZS5jbGllbnRZfSxvPW4uY3VycmVudDsoMCxtLmlzSW5FeGNsdWRlZEFyZWEpKHMsaSl8fG8mJigwLGMuaXNYWUluc2lkZUVsZW1lbnRUaHJvdWdoUG9ydGFscykobyxzLngscy55KXx8dCghMSwiY3VycmVudExldmVsIil9KSkpLFt0LGksbixvXSl9KHImJnMsbixTLHIsRSkse3JlcG9zaXRpb25UcmlnZ2VyczpNLHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OlN9fX0sNTYyOTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aWdub3JlT25TU1I6KCk9Pm99KTt2YXIgcz1uKDc3OTQ3NCksaT1uKDUyOTQxMSk7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gdD0+KDAsaS51c2VJc05vbkZpcnN0UmVuZGVyKSgpP3MuY3JlYXRlRWxlbWVudChlLHsuLi50fSk6bnVsbH19LDEwNjkwMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VXYXRjaGVkVmFsdWVSZWFkb25seTooKT0+b30pO3ZhciBzPW4oNzc5NDc0KSxpPW4oNjE2MzExKTtjb25zdCBvPShlLHQ9ITEsbj1bXSk9Pntjb25zdCBvPSJ3YXRjaGVkVmFsdWUiaW4gZT9lLndhdGNoZWRWYWx1ZTp2b2lkIDAsYT0iZGVmYXVsdFZhbHVlImluIGU/ZS5kZWZhdWx0VmFsdWU6ZS53YXRjaGVkVmFsdWUudmFsdWUoKSxbcixsXT0oMCxzLnVzZVN0YXRlKShvP28udmFsdWUoKTphKTtyZXR1cm4odD9pLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3Q6cy51c2VFZmZlY3QpKCgoKT0+e2lmKG8pe2woby52YWx1ZSgpKTtjb25zdCBlPWU9PmwoZSk7cmV0dXJuIG8uc3Vic2NyaWJlKGUpLCgpPT5vLnVuc3Vic2NyaWJlKGUpfXJldHVybigpPT57fX0pLFtvLC4uLm5dKSxyfX0sNDY4NDkzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVByb21pc2U6KCk9Pm99KTt2YXIgcz1uKDc3OTQ3NCksaT1uKDIxNDk4Nyk7ZnVuY3Rpb24gbyhlLHQsbil7Y29uc3RbbyxhXT0oMCxzLnVzZVN0YXRlKShudWxsKTtyZXR1cm4oMCxzLnVzZUVmZmVjdCkoKCgpPT57Y29uc3Qgbj1uZXcgQWJvcnRDb250cm9sbGVyO2xldCBzPW51bGw7cmV0dXJuKDAsaS5yZXNwZWN0QWJvcnQpKG4uc2lnbmFsLGUoKSkudGhlbigoZT0+YSgoKCk9PnM9ZSkpKSkuY2F0Y2goaS5za2lwQWJvcnRFcnJvciksKCk9PntuLmFib3J0KCkscyYmdCYmdChzKX19KSxuP1suLi5uXTp2b2lkIDApLG99fSw3OTk5OTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7SGludEJ1dHRvbjooKT0+cn0pO3ZhciBzPW4oNzc5NDc0KSxpPW4oMTg1MjcxKSxvPW4oMTM4OTk0KSxhPW4oOTI2OTk1KTtmdW5jdGlvbiByKGUpe2NvbnN0e3NvbHV0aW9uSWQ6dCx0aXRsZTpyPWkudChudWxsLHZvaWQgMCxuKDM0OTUwMSkpLGNsYXNzTmFtZTpsLHRhYkluZGV4OnV9PWUsYz0oMCxzLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSl7cmV0dXJuKDAscy5mb3J3YXJkUmVmKSgoKG4saSk9PnMuY3JlYXRlRWxlbWVudCgiYSIsey4uLm4scmVmOmksaHJlZjpgP3NvbHV0aW9uPSR7ZX1gLG9uQ2xpY2s6dH0pKSk7ZnVuY3Rpb24gdCh0KXt0LnByZXZlbnREZWZhdWx0KCksKDAsYS5zaG93U3VwcG9ydERpYWxvZykoe3NvbHV0aW9uSWQ6ZX0pfX0odCkpLFt0XSk7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChvLkljb25RdWVzdGlvbkluZm9ybWF0aW9uLHtpY29uOiJxdWVzdGlvbiIsYXJpYUxhYmVsOnIsdG9vbHRpcDpyLGNsYXNzTmFtZTpsLHJlbmRlckNvbXBvbmVudDpjLHRhYkluZGV4OnV9KX19LDg5MTk1NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtGdWxsU2Vzc2lvblNjaGVkdWxlV2lkZ2V0OigpPT5hfSk7dmFyIHM9big3Nzk0NzQpLGk9big4MTE1OTEpLG89big0MjU0MzIpO2NsYXNzIGF7Y29uc3RydWN0b3IoZSl7dGhpcy5fc291cmNlPWUsCnRoaXMuX2Z1bGxTZXNzaW9uU2NoZWR1bGVWaWV3TW9kZWw9bmV3IGkuRnVsbFNlc3Npb25TY2hlZHVsZVZpZXdNb2RlbChlKX1kZXN0cm95KCl7dGhpcy5fZnVsbFNlc3Npb25TY2hlZHVsZVZpZXdNb2RlbC5kZXN0cm95KCl9cmVuZGVyZXIoZSx0KXtjb25zdCBuPXRoaXMuX3NvdXJjZS5tYXJrZXRTdGF0dXNNb2RlbCgpPy5zdGF0dXMoKS52YWx1ZSgpO3JldHVybiJleHBpcmVkIj09PW58fCJkZWxpc3RlZCI9PT1uP251bGw6KDAscy5jcmVhdGVFbGVtZW50KShvLkZ1bGxTZXNzaW9uU2NoZWR1bGVSZW5kZXJlcix7a2V5OmUsY2xhc3NOYW1lOnQsc2hvd0FsbERheXM6dm9pZCAwLHNlc3Npb25EYXlzOnRoaXMuX2Z1bGxTZXNzaW9uU2NoZWR1bGVWaWV3TW9kZWwuc2Vzc2lvbnNEYXlzLG5vdzp0aGlzLl9mdWxsU2Vzc2lvblNjaGVkdWxlVmlld01vZGVsLmN1cnJlbnRUaW1lVmFsdWUoKSx0aW1lem9uZTp0aGlzLl9mdWxsU2Vzc2lvblNjaGVkdWxlVmlld01vZGVsLnRpbWV6b25lKCl9KX11cGRhdGVTb3VyY2UoZSl7dGhpcy5fc291cmNlPWUsdGhpcy5fZnVsbFNlc3Npb25TY2hlZHVsZVZpZXdNb2RlbC5kZXN0cm95KCksdGhpcy5fZnVsbFNlc3Npb25TY2hlZHVsZVZpZXdNb2RlbD1uZXcgaS5GdWxsU2Vzc2lvblNjaGVkdWxlVmlld01vZGVsKGUpfX19LDQyNTQzMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtGdWxsU2Vzc2lvblNjaGVkdWxlUmVuZGVyZXI6KCk9Pnd9KTt2YXIgcz1uKDc3OTQ3NCksaT1uKDkxNDQ4Nyksbz1uLm4oaSksYT1uKDEzODYzOCkscj1uKDE4NTI3MSksbD1uKDEwNjkwMCksdT1uKDE1MDE1MCk7dmFyIGM9big3NjIwNTMpO2NvbnN0IGQ9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbShlKXtyZXR1cm4gZC5oYXMoZSl8fGQuc2V0KGUsKDAsdS5yYW5kb21IYXNoKSgpKSwoMCxhLmVuc3VyZURlZmluZWQpKGQuZ2V0KGUpKX1jb25zdCBoPW5ldyBNYXAoW1swLGMuZ3JlZW5dLFsxLGMub3JhbmdlXSxbMixjLmJsdWVdLFs0LGMucHVycGxlXSxbMyxjLmdyYXldXSkscD1uZXcgTWFwKFtbMCxyLnQobnVsbCx2b2lkIDAsbig5Njk0NDkpKV0sWzEsci50KG51bGwsdm9pZCAwLG4oNDI4ODA5KSldLFsyLHIudChudWxsLHZvaWQgMCxuKDE0ODkwKSldLFs0LHIudChudWxsLHZvaWQgMCxuKDYxNTc4MykpXSxbMyxyLnQobnVsbCx2b2lkIDAsbig4Mjk4MykpXV0pLGY9ci50KG51bGwsdm9pZCAwLG4oODQwODMpKTt2YXIgdjtmdW5jdGlvbiBnKGUpe2NvbnN0e3NlZ21lbnQ6dCxmb3JjZVN0YXJ0Om4sZm9yY2VFbmQ6aX09ZSxhPXQuZW5kLnZhbHVlLXQuc3RhcnQudmFsdWUscj1hPC4wMyxsPXtsZWZ0OjEwMCp0LnN0YXJ0LnZhbHVlKyIlIix3aWR0aDpgY2FsYygkezEwMCphfSUgKyAke3I/MjowfXB4KWB9LHU9bygpKGMuc2VnbWVudCxoLmdldCh0LnR5cGUpLChufHx0LnN0YXJ0LmlzRmlyc3RPckxhc3RQb2ludCkmJmMuc3RhcnQsKGl8fHQuZW5kLmlzRmlyc3RPckxhc3RQb2ludCkmJmMuZW5kLHImJmMuc21hbGwsImNvbW1vbi10b29sdGlwLWh0bWwiLCJhcHBseS1jb21tb24tdG9vbHRpcCIpLGQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm5gPGRpdiBjbGFzcz0iJHtjLnRvb2x0aXB9Ij5cblx0XHQ8c3BhbiBjbGFzcz0iJHtoLmdldCh0KX0iPiR7cC5nZXQodCl9PC9zcGFuPlxuXHRcdDxzcGFuIGNsYXNzPSIke2MudGltZX0iPiR7ZX08L3NwYW4+XG5cdDwvZGl2PmB9KHQudG9vbHRpcCx0LnR5cGUpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp1LHN0eWxlOmwsImRhdGEtdG9vbHRpcCI6ZH0pfWZ1bmN0aW9uIF8oZSl7Y29uc3R7c2Vzc2lvbkRheTp0fT1lLG49dC5lbnRyaWVzLm1hcCgoKGUsbik9PnMuY3JlYXRlRWxlbWVudChnLHtrZXk6YCR7bShlKX1TZWdtZW50YCxzZWdtZW50OmUsZm9yY2VTdGFydDowPT09biYmMz09PWUudHlwZSxmb3JjZUVuZDpuPT09dC5lbnRyaWVzLmxlbmd0aC0xJiYzPT09ZS50eXBlfSkpKSxpPW8oKShjLnNlc3Npb25EYXksdC5pc0FjdGl2ZSYmYy5hY3RpdmUpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTppfSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpjLndlZWtEYXl9LHQudGl0bGUpLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmMuc2Vzc2lvbkRheVNlZ21lbnRzfSxuKSl9ZnVuY3Rpb24geShlKXtjb25zdHtzZXNzaW9uRGF5czp0LGN1cnJlbnRUaW1lTWFyazpufT1lLGk9cGFyc2VJbnQoT2JqZWN0LmtleXModCkuZmlsdGVyKChlPT50W3BhcnNlSW50KGUpXS5pc0FjdGl2ZSkpWzBdKSxhPWZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1lLmZpbHRlcigoZT0+ZS5zdGFydC52YWx1ZTw9dCYmZS5lbmQudmFsdWU+PXQpKVswXTtpZih2b2lkIDA9PT1uKXJldHVybltdO2NvbnN0IHM9W107cmV0dXJuKG4uc3RhcnQuaXNGaXJzdE9yTGFzdFBvaW50fHwzPT09bi50eXBlKSYmcy5wdXNoKG4uc3RhcnQpLChuLmVuZC5pc0ZpcnN0T3JMYXN0UG9pbnR8fDM9PT1uLnR5cGUpJiZzLnB1c2gobi5lbmQpLHMuc29ydCgoKGUsdCk9PmUudmFsdWUtdC52YWx1ZSkpLHN9KHRbaV0uZW50cmllcyxuKTtpZigwPT09YS5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3Qgcj1hLm1hcCgoZT0+cy5jcmVhdGVFbGVtZW50KCJkaXYiLHtrZXk6bShlKSxjbGFzc05hbWU6Yy50aW1lTWFya30sZS50aXRsZSkpKSxsPTEwMCooMj09PWEubGVuZ3RoP2FbMV0udmFsdWUtYVswXS52YWx1ZTowKSx1PW8oKShsPjEyJiZjLnRpbWVNYXJrU2VnbWVudEFsaWduQnlFbmRzLGMudGltZU1hcmtTZWdtZW50KTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Yy5zZXNzaW9uRGF5fSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpjLndlZWtEYXl9KSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpjLnRpbWVNYXJrV3JhcHBlcn0scy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dSxzdHlsZTp7bGVmdDoxMDAqYVswXS52YWx1ZSsiJSIsd2lkdGg6YCR7bH0lYH19LHIpKSl9ZnVuY3Rpb24gdyhlKXsKY29uc3R7Y2xhc3NOYW1lOnQsdGltZXpvbmU6bixzaG93QWxsRGF5czppLHRpbWVab25lQ2xhc3NOYW1lOmF9PWUscj0oMCxsLnVzZVdhdGNoZWRWYWx1ZVJlYWRvbmx5KSh7d2F0Y2hlZFZhbHVlOmUuc2Vzc2lvbkRheXN9KSx1PSgwLGwudXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6ZS5ub3d9KSxkPU9iamVjdC52YWx1ZXMocikuZmlsdGVyKChlPT5lLmlzQWN0aXZlKSlbMF0sbT1vKCkodCxjLndyYXBwZXIpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTptfSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpjLnNlc3Npb25EYXlXcmFwcGVyfSxpP3MuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwsT2JqZWN0LnZhbHVlcyhyKS5tYXAoKChlLHQpPT5zLmNyZWF0ZUVsZW1lbnQoXyx7a2V5OnQsc2Vzc2lvbkRheTplfSkpKSk6cy5jcmVhdGVFbGVtZW50KF8se3Nlc3Npb25EYXk6ZH0pLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmMubm93V3JhcHBlcn0scy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Yy5ub3csc3R5bGU6e2xlZnQ6MTAwKnUrIiUifX0pKSkscy5jcmVhdGVFbGVtZW50KHkse3Nlc3Npb25EYXlzOnIsY3VycmVudFRpbWVNYXJrOnV9KSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkoYy50aW1lem9uZSxhLGkmJmMubGFyZ2VQYWRkaW5nKX0sYCR7Zn06ICR7bn1gKSl9IWZ1bmN0aW9uKGUpe2VbZS5NaW5TZWdtZW50V2lkdGg9MTJdPSJNaW5TZWdtZW50V2lkdGgiLGVbZS5TbWFsbFdpZHRoPS4wM109IlNtYWxsV2lkdGgifSh2fHwodj17fSkpfSw4MTE1OTEoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcztuLmQodCx7RnVsbFNlc3Npb25TY2hlZHVsZVZpZXdNb2RlbDooKT0+JH0pLGZ1bmN0aW9uKGUpe2VbZS5SZWd1bGFyPTBdPSJSZWd1bGFyIixlW2UuUHJlPTFdPSJQcmUiLGVbZS5Qb3N0PTJdPSJQb3N0IixlW2UuQ2xvc2U9M109IkNsb3NlIixlW2UuT3Zlcm5pZ2h0PTRdPSJPdmVybmlnaHQifShzfHwocz17fSkpO3ZhciBpPW4oMjIzNTU2KSxvPW4oNjAxODQxKSxhPW4oNzAwODA5KSxyPW4oMjMyMzY0KSxsPW4oMTI4OTk4KTtmdW5jdGlvbiB1KGUpe3JldHVybiBlL2EubWludXRlc1BlckRheX1mdW5jdGlvbiBjKGUpe3JldHVybiBNYXRoLnJvdW5kKGUqYS5taW51dGVzUGVyRGF5KX12YXIgZD1uKDEzODYzOCksbT1uKDU1NjkxMSksaD1uKDQxNTIzNyk7Y29uc3QgcD1baC5XZWVrRGF5cy5TVU5EQVksaC5XZWVrRGF5cy5NT05EQVksaC5XZWVrRGF5cy5UVUVTREFZLGguV2Vla0RheXMuV0VETkVTREFZLGguV2Vla0RheXMuVEhVUlNEQVksaC5XZWVrRGF5cy5GUklEQVksaC5XZWVrRGF5cy5TQVRVUkRBWV07ZnVuY3Rpb24gZihlKXtyZXR1cm4gdD0+ZnVuY3Rpb24oZSx0KXtyZXR1cm4oZSt0KzYpJTcrMX0odCxlKX1jb25zdCB2PWYoLTEpLGc9ZigxKTtjb25zdCBfPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZlLmxlbmd0aD9lWzBdOnZvaWQgMH07dmFyIHk9big5MjYwODgpLHc9bigzODA1NDApLEU9big4MjI0MzEpO2Z1bmN0aW9uIFMoZSl7Zm9yKCgwLGQuYXNzZXJ0KShOdW1iZXIuaXNJbnRlZ2VyKGUpLCJ0aW1lTWludXRlcyBleHBlY3RlZCB0byBiZSBpbnRlZ2VyIG51bWJlciIpO2U+YS5taW51dGVzUGVyRGF5OyllLT1hLm1pbnV0ZXNQZXJEYXk7Y29uc3QgdD1lJTYwLG49KGUtdCkvNjA7cmV0dXJuKDAsRS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobiwyKSsiOiIrKDAsRS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykodCwyKX1mdW5jdGlvbiBNKGUsdCl7cmV0dXJuYCR7ZX0g4oCUICR7dH1gfWZ1bmN0aW9uIHgoZSx0KXtyZXR1cm5gJHt3LndlZWtEYXlzU2hvcnROYW1lc1tlXX0gJHtTKHQpfWB9ZnVuY3Rpb24gTihlLHQsbixzKXsoMCxkLmFzc2VydCkodCE9PWEubWludXRlc1BlckRheSwiU3RhcnQgdGltZSBleHBlY3RlZCB0byBiZSBub3JtYWxpemVkICgyNDowMCBhcyByYW5nZSBzdGFydCBpcyBub3QgYWxsb3dlZCkiKSwoMCxkLmFzc2VydCkoMCE9PXMsIkVuZCB0aW1lIGV4cGVjdGVkIHRvIGJlIG5vcm1hbGl6ZWQgKDAwOjAwIGFzIHJhbmdlIGVuZCBpcyBub3QgYWxsb3dlZCkiKTtjb25zdCBpPWZ1bmN0aW9uKGUsdCxuLHMpe2NvbnN0IGk9ZSphLm1pbnV0ZXNQZXJEYXkrdDtsZXQgbz1uKmEubWludXRlc1BlckRheStzO3JldHVybiBvPGkmJihvKz03KmEubWludXRlc1BlckRheSksby1pfShlLHQsbixzKTtyZXR1cm4gaTxhLm1pbnV0ZXNQZXJEYXl8fGk9PT1hLm1pbnV0ZXNQZXJEYXkmJjA9PT10P2Z1bmN0aW9uKGUsdCl7cmV0dXJuIE0oUyhlKSxTKHQpKX0odCxzKTpmdW5jdGlvbihlLHQsbixzKXtyZXR1cm4gTSh4KGUsdCkseChuLHMpKX0oZSx0LG4scyl9ZnVuY3Rpb24gVChlLHQpe3JldHVybnt2YWx1ZTplLHRpdGxlOlMoYyhlKSksaXNGaXJzdE9yTGFzdFBvaW50OnR9fWZ1bmN0aW9uIGIoZSl7cmV0dXJuIDMhPT1lLnR5cGV9ZnVuY3Rpb24gQyhlLHQpe3JldHVybntkYXlJbmRleDplLGVudHJpZXM6dC5maWx0ZXIoYil9fWZ1bmN0aW9uIEEoZSx0LG4scz10KXtjb25zdCBpPW4odCksbz1lW2ldO3JldHVybiBpIT09cyYmMD09PW8uZW50cmllcy5sZW5ndGg/QShlLGksbixzKTpDKGksZVtpXS5lbnRyaWVzKX1mdW5jdGlvbiBWKGUpe3JldHVybih0LG4pPT5BKHQsbixlKX1jb25zdCBXPVYodiksaz1WKGcpO2Z1bmN0aW9uIEwoZSx0LG4scyl7cmV0dXJuKGksbyxhKT0+dm9pZCAwPT09aT9bcyxhXTppPT09ZT9bdCxuKG8pXTpbaSxvXX1jb25zdCBQPUwoMSwwLGcsMCksRD1MKDAsMSx2LDEpO2Z1bmN0aW9uIE8oZSx0LG4scyxpKXtjb25zdFtvLGFdPVAoZSx0LGkpLFtyLGxdPUQobixzLGkpOygwLGQuYXNzZXJ0KSh0IT09bnx8bzxyLGBEYXlzIGFyZSBzYW1lICgke3R9KSBidXQgcHJldiBlbnRyeSB0aW1lICgke299KSA+PSBuZXh0IGVudHJ5IHRpbWUgKCR7cn0pYCk7Y29uc3QgdT1jKG8pLG09YyhyKTtyZXR1cm4gaD1UKGEhPT1pPzA6byxhPT09aSkscD1UKGwhPT1pPzE6cixsPT09aSksZj0zLHY9TihhLHUsbCxtKSx7CnN0YXJ0OmgsZW5kOnAsdHlwZTpmLHRvb2x0aXA6dn07dmFyIGgscCxmLHZ9ZnVuY3Rpb24gSShlLHQsbixzLGkpe3JldHVybiBPKGU/LmVuZD8udmFsdWUsdCxuPy5zdGFydD8udmFsdWUscyxpKX1mdW5jdGlvbiB6KGUpe2NvbnN0IHQ9Wy4uLmUuZW50cmllc107Zm9yKGxldCBuPTE7bjxlLmVudHJpZXMubGVuZ3RoO24rKyl7Y29uc3Qgcz1lLmVudHJpZXNbbi0xXSxpPWUuZW50cmllc1tuXTtpZihpLnN0YXJ0LnZhbHVlIT09cy5lbmQudmFsdWUpe2NvbnN0IG49SShzLGUuZGF5SW5kZXgsaSxlLmRheUluZGV4LGUuZGF5SW5kZXgpO3QucHVzaChuKX19cmV0dXJuIHQuc29ydCgoKGUsdCk9PmUuc3RhcnQudmFsdWUtdC5zdGFydC52YWx1ZSkpLHR9ZnVuY3Rpb24gRihlLHQpe2NvbnN0IG49KDAseS5kZWZhdWx0KSh0LmVudHJpZXMpLHM9dC5kYXlJbmRleCxpPSgwLGQuZW5zdXJlRGVmaW5lZCkoXyhlLmVudHJpZXMpKTtyZXR1cm4gMD09PWkuc3RhcnQudmFsdWU/W106W0kobixzLGksZS5kYXlJbmRleCxlLmRheUluZGV4KV19ZnVuY3Rpb24gUihlLHQpe2NvbnN0IG49Xyh0LmVudHJpZXMpLHM9dC5kYXlJbmRleCxpPSgwLGQuZW5zdXJlRGVmaW5lZCkoKDAseS5kZWZhdWx0KShlLmVudHJpZXMpKTtyZXR1cm4gMT09PWkuZW5kLnZhbHVlP1tdOltJKGksZS5kYXlJbmRleCxuLHMsZS5kYXlJbmRleCldfWZ1bmN0aW9uIEgoZSx0KXtjb25zdCBuPXt0aGlzRGF5OkMoZSx0W2VdLmVudHJpZXMpLHByZXZEYXk6Vyh0LGUpLG5leHREYXk6ayh0LGUpfTtyZXR1cm4gZnVuY3Rpb24oe3RoaXNEYXk6ZSxwcmV2RGF5OnQsbmV4dERheTpufSl7aWYoMD09PWUuZW50cmllcy5sZW5ndGgpcmV0dXJuW0koKDAseS5kZWZhdWx0KSh0LmVudHJpZXMpLHQuZGF5SW5kZXgsXyhuLmVudHJpZXMpLG4uZGF5SW5kZXgsZS5kYXlJbmRleCldfShuKT8/ZnVuY3Rpb24oe3RoaXNEYXk6ZSxwcmV2RGF5OnQsbmV4dERheTpufSl7Y29uc3Qgcz1lLmRheUluZGV4O2lmKHQuZGF5SW5kZXghPT1zfHxuLmRheUluZGV4IT09cylyZXR1cm47Y29uc3QgaT1lLmVudHJpZXMsYT0oMCxkLmVuc3VyZURlZmluZWQpKF8oaSkpLHI9KDAsZC5lbnN1cmVEZWZpbmVkKSgoMCx5LmRlZmF1bHQpKGkpKTtyZXR1cm5bMCE9PWEuc3RhcnQudmFsdWU/TygwLHMsYS5zdGFydC52YWx1ZSxzLHMpOnZvaWQgMCwuLi56KGUpLDEhPT1yLmVuZC52YWx1ZT9PKHIuZW5kLnZhbHVlLHMsMSxzLHMpOnZvaWQgMF0uZmlsdGVyKG8uaXNFeGlzdGVudCl9KG4pPz9mdW5jdGlvbihlKXtyZXR1cm5bLi4uRihlLnRoaXNEYXksZS5wcmV2RGF5KSwuLi56KGUudGhpc0RheSksLi4uUihlLnRoaXNEYXksZS5uZXh0RGF5KV19KG4pfXZhciBCPW4oNTU5NjkpLFo9bigyNTQ3MzgpO2NvbnN0IGo9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PS0xLG49bnVsbD09ZT8wOmUubGVuZ3RoLHM9e307Kyt0PG47KXt2YXIgaT1lW3RdOygwLFouZGVmYXVsdCkocyxpWzBdLGlbMV0pfXJldHVybiBzfShwLm1hcCgoZT0+W2Use3RpdGxlOncud2Vla0RheXNTaG9ydE5hbWVzW2VdLGlzQWN0aXZlOiExLGVudHJpZXM6W119XSkpKTtmdW5jdGlvbiBHKGUsdCxuKXtjb25zdCBzPWVbbl0uZW50cmllcztzLnB1c2godCkscy5zb3J0KCgoZSx0KT0+ZS5zdGFydC52YWx1ZS10LnN0YXJ0LnZhbHVlKSl9ZnVuY3Rpb24gUShlLHQpe2NvbnN0IG49ZnVuY3Rpb24oZSl7aWYobnVsbD09PWUpcmV0dXJuIG5ldyBNYXA7aWYodm9pZCAwPT09ZS5zdWJzZXNzaW9ucylyZXR1cm4gbmV3IE1hcChbWzAsbmV3IEIuU2Vzc2lvbnNTcGVjKGUudGltZXpvbmUsZS5zZXNzaW9uX2Rpc3BsYXk/P2Uuc2Vzc2lvbixlLnNlc3Npb25faG9saWRheXMsZS5jb3JyZWN0aW9ucyldXSk7Y29uc3QgdD0icmVndWxhciIsbj0icHJlbWFya2V0IixzPSJwb3N0bWFya2V0IixpPSJuaWdodCIsbz1bdCxuLHMsaV0sYT1uZXcgTWFwO2Zvcihjb25zdCByIG9mIG8pe2xldCBvPW51bGw7c3dpdGNoKHIpe2Nhc2UgdDpvPTA7YnJlYWs7Y2FzZSBuOm89MTticmVhaztjYXNlIHM6bz0yO2JyZWFrO2Nhc2UgaTpvPTR9aWYobnVsbCE9PW8pe2NvbnN0IHQ9ZS5zdWJzZXNzaW9ucy5maW5kKChlPT5lLmlkPT09cikpO3ZvaWQgMCE9PXQmJmEuc2V0KG8sbmV3IEIuU2Vzc2lvbnNTcGVjKGUudGltZXpvbmUsdFsic2Vzc2lvbi1kaXNwbGF5Il18fHQuc2Vzc2lvbixlLnNlc3Npb25faG9saWRheXMsdFsic2Vzc2lvbi1jb3JyZWN0aW9uIl0pKX19cmV0dXJuIGF9KGUpLHM9dD8/KDAsYS51dGNfdG9fY2FsKSgoMCxhLmdldF90aW1lem9uZSkoZT8udGltZXpvbmU/PyJFdGMvVVRDIiksRGF0ZS5ub3coKSksaT0odD8uZ2V0VVRDRGF5KCk/PyhuZXcgRGF0ZSkuZ2V0RGF5KCkpJTcrMTtjb25zdCBvPSgwLG0uZGVlcENvcHkpKGopO29baV0uaXNBY3RpdmU9ITA7Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbShuLmtleXMoKSkpe2NvbnN0IHQ9KDAsZC5lbnN1cmVEZWZpbmVkKShuLmdldChlKSksaT0oMCxhLmdldF9kYXlfb2Zfd2Vlaykocykscj0oMCxhLmNsb25lKShzKTsoMCxhLmFkZF9kYXRlKShyLC1pKSwoMCxhLnNldF9obXMpKHIsMCwwLDAsMCk7Y29uc3QgbD0oMCxhLmNsb25lKShyKTsoMCxhLmFkZF9kYXRlKShsLDcpO2xldCBjPXQuYWxpZ25Ub05lYXJlc3RTZXNzaW9uU3RhcnQocix0LmluU2Vzc2lvbihyKT8tMToxKTtmb3IoO2MuZ2V0VGltZSgpPGwuZ2V0VGltZSgpOyl7Y29uc3Qgbj10LmFsaWduVG9OZWFyZXN0U2Vzc2lvbkVuZChjLDEpLHM9KDAsYS5nZXRfZGF5X29mX3dlZWspKGMpLGk9KDAsYS5nZXRfZGF5X29mX3dlZWspKG4pLGQ9KDAsYS5nZXRfbWludXRlc19mcm9tX21pZG5pZ2h0KShjKSxtPSgwLGEuZ2V0X21pbnV0ZXNfZnJvbV9taWRuaWdodCkobikrMSxoPXUoZCkscD11KG0pLGY9TihzLGQsaSxtKTtpZihzPT09aSlHKG8se3N0YXJ0OlQoaCwhMCksZW5kOlQocCwhMCksdHlwZTplLHRvb2x0aXA6Zn0scyk7ZWxzZXtjLmdldFRpbWUoKT5yLmdldFRpbWUoKSYmRyhvLHtzdGFydDpUKGgsITApLGVuZDpUKDEsITEpLHR5cGU6ZSx0b29sdGlwOmZ9LHMpO2NvbnN0IHQ9KDAsYS5jbG9uZSkoYyk7KDAsCmEuc2V0X2htcykodCwwLDAsMCwwKSwoMCxhLmFkZF9kYXRlKSh0LDEpO2NvbnN0IHU9KDAsYS5jbG9uZSkobik7Zm9yKCgwLGEuc2V0X2htcykodSwwLDAsMCwwKTt0LmdldFRpbWUoKTx1LmdldFRpbWUoKTspdC5nZXRUaW1lKCk+PXIuZ2V0VGltZSgpJiZ0LmdldFRpbWUoKTxsLmdldFRpbWUoKSYmRyhvLHtzdGFydDpUKDAsITEpLGVuZDpUKDEsITEpLHR5cGU6ZSx0b29sdGlwOmZ9LCgwLGEuZ2V0X2RheV9vZl93ZWVrKSh0KSksKDAsYS5hZGRfZGF0ZSkodCwxKTtuLmdldFRpbWUoKTxsLmdldFRpbWUoKSYmRyhvLHtzdGFydDpUKDAsITEpLGVuZDpUKHAsITApLHR5cGU6ZSx0b29sdGlwOmZ9LGkpfSgwLGEuYWRkX21pbnV0ZXMpKG4sMSksYz10LmFsaWduVG9OZWFyZXN0U2Vzc2lvblN0YXJ0KG4sMSl9fXJldHVybiBmdW5jdGlvbihlKXtjb25zdCB0PW5ldyBNYXA7Zm9yKGNvbnN0IG4gb2YgcCl0LnNldChuLEgobixlKSk7Zm9yKGNvbnN0IG4gb2YgcCllW25dLmVudHJpZXM9KDAsZC5lbnN1cmVEZWZpbmVkKSh0LmdldChuKSl9KG8pLHtuZXdTZXNzaW9uc0RheXM6byxuZXdUb2RheVNlc3Npb246b1tpXX19ZnVuY3Rpb24gVShlKXtyZXR1cm4oMCxhLmdldF9jYWxfZnJvbV91bml4X3RpbWVzdGFtcF9tcykoKDAsYS5nZXRfdGltZXpvbmUpKGUudGltZXpvbmUpLHdpbmRvdy5DaGFydEFwaUluc3RhbmNlLnNlcnZlclRpbWUoKS0xZTMqKDAsbC5nZXRTeW1ib2xEZWxheVNlY29uZHMpKGUpKX1jbGFzcyAke2NvbnN0cnVjdG9yKGUpe3RoaXMuc2Vzc2lvbnNEYXlzPW5ldyByLldhdGNoZWRWYWx1ZSgoMCxvLmNsb25lKShqKSksdGhpcy50b2RheVNlc3Npb249bmV3IHIuV2F0Y2hlZFZhbHVlKCgwLG8uY2xvbmUpKHtlbnRyaWVzOltdfSkpLHRoaXMuX2N1cnJlbnRUaW1lPW5ldyByLldhdGNoZWRWYWx1ZSgtMSksdGhpcy5fc3ltYm9sSW5mbz1lLnN5bWJvbEluZm8oKS5zcGF3bigpLHRoaXMuX3N5bWJvbEluZm8uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUVudHJpZXNCeVN1YlNlc3Npb25zLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX3RpbWVJbnRlcnZhbElkPXNldEludGVydmFsKHRoaXMuX3VwZGF0ZVRvZGF5V2l0aE9mZnNldHMuYmluZCh0aGlzKSw2ZTQpfWRlc3Ryb3koKXt0aGlzLl9zeW1ib2xJbmZvLmRlc3Ryb3koKSxjbGVhckludGVydmFsKHRoaXMuX3RpbWVJbnRlcnZhbElkKX1jdXJyZW50VGltZVZhbHVlKCl7cmV0dXJuIHRoaXMuX2N1cnJlbnRUaW1lLnJlYWRvbmx5KCl9dGltZXpvbmUoKXtjb25zdCBlPXRoaXMuX3N5bWJvbEluZm8udmFsdWUoKTtyZXR1cm4gbnVsbD09PWU/IiI6KDAsaS50aW1lem9uZVRpdGxlKShlLnRpbWV6b25lKX1fdXBkYXRlRW50cmllc0J5U3ViU2Vzc2lvbnMoZSl7dGhpcy5fdXBkYXRlVG9kYXlXaXRoT2Zmc2V0cygpO2NvbnN0e25ld1Nlc3Npb25zRGF5czp0LG5ld1RvZGF5U2Vzc2lvbjpufT1RKGUsbnVsbD09PWU/bnVsbDpVKGUpKTt0aGlzLnNlc3Npb25zRGF5cy5zZXRWYWx1ZSh0KSx0aGlzLnRvZGF5U2Vzc2lvbi5zZXRWYWx1ZShuKX1fdXBkYXRlVG9kYXlXaXRoT2Zmc2V0cygpe2NvbnN0IGU9dGhpcy5fc3ltYm9sSW5mby52YWx1ZSgpO2lmKG51bGw9PT1lKXJldHVybiB2b2lkIHRoaXMuX2N1cnJlbnRUaW1lLnNldFZhbHVlKC0xKTtjb25zdCB0PXRoaXMuX2N1cnJlbnRUaW1lLnZhbHVlKCksbj11KCgwLGEuZ2V0X21pbnV0ZXNfZnJvbV9taWRuaWdodCkoVShlKSkpO3RoaXMuX2N1cnJlbnRUaW1lLnNldFZhbHVlKG4pLG48dCYmdGhpcy5fdXBkYXRlRW50cmllc0J5U3ViU2Vzc2lvbnMoZSl9fX0sMjIxMzAwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0Z1bGxUb29sdGlwV2lkZ2V0OigpPT5FfSk7dmFyIHM9big3Nzk0NzQpLGk9big5MTQ0ODcpLG89bi5uKGkpLGE9bigxMzg2MzgpLHI9bigyNzMzMTApLGw9bigyOTU3NDQpLHU9big4NTQ4MjApLGM9big1OTA0ODYpLGQ9bigyMzQ2MzYpLG09big2MDE4NDEpLGg9bigxMDY5MDApLHA9bigxNTAxNTApLGY9big0Njg0OTMpLHY9big3OTk5OTQpLGc9big4NjA1NDgpLF89big0NDcyNjgpO2NvbnN0IHk9bmV3IFdlYWtNYXAsdz1uZXcgV2Vha01hcDtmdW5jdGlvbiBFKGUpe2NvbnN0IHQ9KDAsaC51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTplLmluZm99KSxuPSgwLGYudXNlUHJvbWlzZSkoKCgpPT5lLnByZWxpbWluYXJ5Sm9iPz9Qcm9taXNlLnJlc29sdmUoKSksdm9pZCAwLFtdKTtpZighdHx8ZS5wcmVsaW1pbmFyeUpvYiYmbnVsbD09PW4pcmV0dXJuIG51bGw7Y29uc3QgaT10Lm1hcCgodD0+e2NvbnN0e3RpdGxlOm4sdGl0bGVDb2xvcjppLGljb246bCxpY29uQ2xhc3NOYW1lOnUsaHRtbDpoLGFjdGlvbjpmLHNlY29uZGFyeUFjdGlvbjpTLGJhZGdlTGFiZWw6TSxzaXplOngsc29sdXRpb25JZDpOfT10O3kuaGFzKHQpfHx5LnNldCh0LCgwLHAucmFuZG9tSGFzaCkoKSk7bGV0IFQ9W107cmV0dXJuIHZvaWQgMCE9PWUuYWRkaXRpb25hbFdpZGdldHMmJihUPWUuYWRkaXRpb25hbFdpZGdldHMubWFwKCh0PT4ody5oYXModCl8fHcuc2V0KHQsKDAscC5yYW5kb21IYXNoKSgpKSx0LnJlbmRlcmVyKCgwLGEuZW5zdXJlRGVmaW5lZCkody5nZXQodCkpLF8uYWRkaXRpb25hbFdpZGdldCxlLm9uQ2xvc2UpKSkpKSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2tleTp5LmdldCh0KSxjbGFzc05hbWU6bygpKF8ucG9wdXBXaWRnZXQsX1t4XSxlLmlzTW9iaWxlJiZfLm1vYmlsZSksImRhdGEtcWEtaWQiOnQuZGF0YVFhSWQsdGFiSW5kZXg6MCxyZWY6ZT0+e2U/LmZvY3VzKCl9fSxzLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtjbGFzc05hbWU6bygpKF8uaWNvbixnLnN0YXR1c0l0ZW0sdSxnW3hdLF9beF0pLHN0eWxlOnZvaWQgMCxpY29uOmx8fHZvaWQgMH0pLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOl8uZGVzY30scy5jcmVhdGVFbGVtZW50KCJzcGFuIix7c3R5bGU6e2NvbG9yOml8fHZvaWQgMH0sY2xhc3NOYW1lOm8oKShfLnRpdGxlLF9beF0pCn0scy5jcmVhdGVFbGVtZW50KCJzcGFuIixudWxsLG4pLE0mJnMuY3JlYXRlRWxlbWVudChjLkJhZGdlLHtzaXplOmQuQmFkZ2VTaXplLlNtYWxsfSxNKSxOJiZzLmNyZWF0ZUVsZW1lbnQodi5IaW50QnV0dG9uLHtzb2x1dGlvbklkOk59KSksaCYmcy5jcmVhdGVFbGVtZW50KCJwIix7Y2xhc3NOYW1lOm8oKShfLnRleHQsX1t4XSl9LGgubWFwKCgoZSx0KT0+e2NvbnN0IG49YGh0bWxfaXRlbV8ke3R9YDtpZihzLmlzVmFsaWRFbGVtZW50KGUpKXJldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtrZXk6bixjbGFzc05hbWU6Xy5pdGVtfSxlKTtpZigoMCxtLmlzT2JqZWN0KShlKSYmInRleHQiaW4gZSl7Y29uc3QgdD1lO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtrZXk6bixjbGFzc05hbWU6bygpKF8uaXRlbSx0LmJvbGQmJl8uYm9sZEl0ZW0pLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6dC50ZXh0fX0pfXJldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtrZXk6bixjbGFzc05hbWU6Xy5pdGVtLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6ZX19KX0pKSksZiYmcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Xy5hY3Rpb25zfSxFKGYsInByaW1hcnktYWN0aW9uIiksUyYmRShTLCJzZWNvbmRhcnktYWN0aW9uIikpLFQpKX0pKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KHMuRnJhZ21lbnQsbnVsbCxpKTtmdW5jdGlvbiBFKHQsbil7Y29uc3QgaT10LmNvbG9yfHwiZ3JheSIsYT1bImdyYXkiLCJncmVlbiIsInJlZCIsImJsdWUiXS5pbmNsdWRlcyhpKT91LkxpZ2h0QnV0dG9uOmwuU3F1YXJlQnV0dG9uO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoYSx7a2V5Om4sY2xhc3NOYW1lOm8oKShfLmFjdGlvbkJ0bix0LmNsYXNzTmFtZSksb25DbGljazooKT0+e2Uub25DbG9zZSgpLHQub25DbGljaygpfSxjb2xvcjppLHZhcmlhbnQ6dC52YXJpYW50LHNpemU6InhzbWFsbCIsdG9vbHRpcFRleHQ6dC50b29sdGlwfSx0LnRleHQpfX19LDIzMjM2MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNYXJrZXRTdGF0dXNWaWV3TW9kZWw6KCk9Pmx9KTt2YXIgcz1uKDY0MTU5MyksaT1uKDIzMjM2NCksbz1uKDIxNDc3MSksYT1uKDU2NTIwNikscj1uKDUyODg3Mik7Y2xhc3MgbCBleHRlbmRzIGEuU3RhdHVzVmlld01vZGVse2NvbnN0cnVjdG9yKGUsdCxuPSExKXtzdXBlcih7dG9vbHRpcE1hcDpyLnRvb2x0aXBNYXAsaWNvbk1hcDpyLmljb25NYXAsY2xhc3NOYW1lTWFwOnIuY2xhc3NOYW1lTWFwLHRpdGxlTWFwOnIudGl0bGVNYXAsdGl0bGVDb2xvck1hcDpyLnRpdGxlQ29sb3JNYXAsYWN0aW9uTWFwOnIuYWN0aW9uTWFwLHNpemU6dH0pLHRoaXMuX21vZGVsPW51bGwsdGhpcy5fZXhwaXJlZFN0YXR1cz1udWxsLHRoaXMuX21hcmtldFN0YXR1cz1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9zZXNzaW9uRWRnZT1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9pZ25vcmVIaWRlU3RhdHVzU2V0dGluZ3M9bix0aGlzLnNldE1vZGVsKGUpLG8uc2hvd01hcmtldE9wZW5TdGF0dXNQcm9wZXJ0eS5zdWJzY3JpYmUodGhpcyx0aGlzLl9zaG93TWFya2V0T3BlblN0YXR1c1Byb3BlcnR5Q2hhbmdlZCl9ZGVzdHJveSgpe3RoaXMuX21hcmtldFN0YXR1cy5kZXN0cm95KCksdGhpcy5fc2Vzc2lvbkVkZ2UuZGVzdHJveSgpLHRoaXMuX21vZGVsPW51bGwsby5zaG93TWFya2V0T3BlblN0YXR1c1Byb3BlcnR5LnVuc3Vic2NyaWJlQWxsKHRoaXMpLHN1cGVyLmRlc3Ryb3koKX1zZXRNb2RlbChlKXtpZih0aGlzLl9tYXJrZXRTdGF0dXMuZGVzdHJveSgpLHRoaXMuX3Nlc3Npb25FZGdlLmRlc3Ryb3koKSx0aGlzLl9leHBpcmVkU3RhdHVzPy5kZXN0cm95KCksbnVsbD09PWUpcmV0dXJuIHRoaXMuX21hcmtldFN0YXR1cz1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9zZXNzaW9uRWRnZT1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx2b2lkKHRoaXMuX2V4cGlyZWRTdGF0dXM9bnVsbCk7dGhpcy5fbW9kZWw9ZTtjb25zdCB0PWUuZnV0dXJlc0NvbnRyYWN0RXhwaXJhdGlvblRpbWUoKTt0JiYodGhpcy5fZXhwaXJlZFN0YXR1cz10LmV4cGlyZWQoKS5zcGF3bigpLHRoaXMuX2V4cGlyZWRTdGF0dXMuc3Vic2NyaWJlKChlPT57ZSYmdGhpcy5fdXBkYXRlQnlTdGF0dXModGhpcy5fbWFya2V0U3RhdHVzLnZhbHVlKCkpfSkpKSx0aGlzLl9tYXJrZXRTdGF0dXM9ZS5zdGF0dXMoKS5zcGF3bigpLHRoaXMuX21hcmtldFN0YXR1cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX3Nlc3Npb25FZGdlPWUubmV4dFNlc3Npb25FZGdlKCkuc3Bhd24oKSx0aGlzLl9zZXNzaW9uRWRnZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVG9vbHRpcC5iaW5kKHRoaXMpKSx0aGlzLl91cGRhdGVUb29sdGlwKCl9YXN5bmMgX3VwZGF0ZUZ1bGxUb29sdGlwKCl7Y29uc3QgZT10aGlzLnN0YXR1cygpLnZhbHVlKCk7aWYobnVsbD09PWUpcmV0dXJuIHZvaWQgdGhpcy5fZnVsbFRvb2x0aXAuc2V0VmFsdWUobnVsbCk7Y29uc3QgdD1bXSxuPXIubWFya2V0U3RhdHVzRGVzY3JpcHRpb24uZ2V0KGUpO24mJnQucHVzaCgoMCxzLmh0bWxFc2NhcGUpKG4pKTtjb25zdCBpPXRoaXMuX21hcmtldFN0YXR1cy52YWx1ZSgpO2lmKG51bGwhPT10aGlzLl9tb2RlbCYmbnVsbCE9PWkmJiJleHBpcmVkIiE9PWkmJiJkZWxpc3RlZCIhPT1pKXtjb25zdCBuPXRoaXMuX21vZGVsLm5leHRTZXNzaW9uRWRnZSgpLnZhbHVlKCk7bnVsbCE9PW4mJnQucHVzaCh7dGV4dDpyLmNvdW50ZG93bkZuTWFwW2VdKG4pLGJvbGQ6ITB9KX10aGlzLl9mdWxsVG9vbHRpcC5zZXRWYWx1ZShbe2ljb246dGhpcy5fZ2V0SWNvbihlKSxpY29uQ2xhc3NOYW1lOnRoaXMuX2dldEZ1bGxUb29sdGlwSWNvbkNsYXNzTmFtZXMoZSksdGl0bGU6dGhpcy5fZ2V0VGl0bGUoZSksdGl0bGVDb2xvcjp0aGlzLl9nZXRUaXRsZUNvbG9yKGUpLGh0bWw6dCxzaXplOnRoaXMuX3NpemUsCmFjdGlvbjp0aGlzLl9nZXRBY3Rpb24oZSl9XSl9X3Nob3VsZEJlSGlkZGVuQnlTdGF0dXMoZSl7cmV0dXJuIXRoaXMuX2lnbm9yZUhpZGVTdGF0dXNTZXR0aW5ncyYmIW8uc2hvd01hcmtldE9wZW5TdGF0dXNQcm9wZXJ0eS52YWx1ZSgpJiYibWFya2V0Ij09PWV9X3VwZGF0ZVN0YXR1cyhlKXt0aGlzLl9zdGF0dXMuc2V0VmFsdWUoZSl9X3VwZGF0ZVRvb2x0aXAoKXt0aGlzLl91cGRhdGVGdWxsVG9vbHRpcCgpfV9zaG93TWFya2V0T3BlblN0YXR1c1Byb3BlcnR5Q2hhbmdlZCgpe3RoaXMuX3VwZGF0ZUJ5U3RhdHVzKHRoaXMuX3N0YXR1cy52YWx1ZSgpKX19fSw1NjUyMDYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3RhdHVzVmlld01vZGVsOigpPT5hfSk7dmFyIHM9bigyMzIzNjQpLGk9big2NDE1OTMpLG89big4NjA1NDgpO2NsYXNzIGF7Y29uc3RydWN0b3IoZSl7dGhpcy5pc0JsaW5raW5nTW9kZT1uZXcgcy5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3N0YXR1cz1uZXcgcy5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fZnVsbFRvb2x0aXA9bmV3IHMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2ljb25DbGFzc05hbWVzPW5ldyBzLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl92aXNpYmxlPW5ldyBzLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX3Rvb2x0aXA9bmV3IHMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2ljb249bmV3IHMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2NsYXNzTmFtZT1uZXcgcy5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fY3VzdG9tQ29sb3I9bmV3IHMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2luZm9NYXBzPWUsdGhpcy5fc2l6ZT1lLnNpemV8fCJzbWFsbCIsdGhpcy5fc3RhdHVzLnN1YnNjcmliZSh0aGlzLl91cGRhdGVCeVN0YXR1cy5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KX1kZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkPSEwfXR1cm5PZmZCbGlua2luZ01vZGUoKXt9c3RhdHVzKCl7cmV0dXJuIHRoaXMuX3N0YXR1c310b29sdGlwKCl7cmV0dXJuIHRoaXMuX3Rvb2x0aXB9aWNvbigpe3JldHVybiB0aGlzLl9pY29ufWNsYXNzTmFtZSgpe3JldHVybiB0aGlzLl9jbGFzc05hbWV9dmlzaWJsZSgpe3JldHVybiB0aGlzLl92aXNpYmxlfXNpemUoKXtyZXR1cm4gdGhpcy5fc2l6ZX1mdWxsSW5mbygpe3JldHVybiB0aGlzLl9mdWxsVG9vbHRpcH1jdXN0b21Db2xvcigpe3JldHVybiB0aGlzLl9jdXN0b21Db2xvcn1fZ2V0VG9vbHRpcChlKXtyZXR1cm4gdGhpcy5faW5mb01hcHMudG9vbHRpcE1hcD8uZ2V0KGUpPz9udWxsfV9nZXRJY29uKGUpe2xldCB0O2NvbnN0IG49dGhpcy5faW5mb01hcHMuaWNvbk1hcC5nZXQoZSk7cmV0dXJuIHZvaWQgMCE9PW4mJih0PW4uZ2V0KHRoaXMuX3NpemUpKSx0fHxudWxsfV9nZXRDbGFzc05hbWUoZSl7cmV0dXJuIHRoaXMuX2luZm9NYXBzLmNsYXNzTmFtZU1hcC5nZXQoZSl8fG51bGx9X2dldEZ1bGxUb29sdGlwSWNvbkNsYXNzTmFtZXMoZSl7Y29uc3QgdD10aGlzLl9nZXRDbGFzc05hbWUoZSk7cmV0dXJuIHQ/W28uc3RhdHVzSXRlbSx0XTpbXX1fZ2V0VGl0bGUoZSl7cmV0dXJuIHRoaXMuX2luZm9NYXBzLnRpdGxlTWFwPy5nZXQoZSk/P251bGx9X2dldFRpdGxlQ29sb3IoZSl7cmV0dXJuIHRoaXMuX2luZm9NYXBzLnRpdGxlQ29sb3JNYXA/LmdldChlKT8/bnVsbH1fZ2V0QWN0aW9uKGUpe3JldHVybiB0aGlzLl9pbmZvTWFwcy5hY3Rpb25NYXA/LmdldChlKT8/bnVsbH1fZ2V0U2Vjb25kYXJ5QWN0aW9uKGUpe3JldHVybiB0aGlzLl9pbmZvTWFwcy5zZWNvbmRhcnlBY3Rpb25NYXA/LmdldChlKT8/bnVsbH1fZ2V0QmFkZ2VMYWJlbChlKXtyZXR1cm4gdGhpcy5faW5mb01hcHMuYmFkZ2VNYXA/LmdldChlKT8/bnVsbH1fZ2V0SFRNTChlKXtyZXR1cm4gdGhpcy5faW5mb01hcHMuaHRtbE1hcD8uZ2V0KGUpPy5tYXAoKGU9PiJzdHJpbmciPT10eXBlb2YgZT8oMCxpLmh0bWxFc2NhcGUpKGUpOmUpKT8/W119YXN5bmMgX3VwZGF0ZUZ1bGxUb29sdGlwKCl7Y29uc3QgZT10aGlzLl9zdGF0dXMudmFsdWUoKTtudWxsIT09ZT90aGlzLl9mdWxsVG9vbHRpcC5zZXRWYWx1ZShbe2ljb246dGhpcy5fZ2V0SWNvbihlKSxpY29uQ2xhc3NOYW1lOnRoaXMuX2dldEZ1bGxUb29sdGlwSWNvbkNsYXNzTmFtZXMoZSksdGl0bGU6dGhpcy5fZ2V0VGl0bGUoZSksdGl0bGVDb2xvcjp0aGlzLl9nZXRUaXRsZUNvbG9yKGUpLGh0bWw6dGhpcy5fZ2V0SFRNTChlKSxzaXplOnRoaXMuX3NpemUsYWN0aW9uOnRoaXMuX2dldEFjdGlvbihlKSxzZWNvbmRhcnlBY3Rpb246dGhpcy5fZ2V0U2Vjb25kYXJ5QWN0aW9uKGUpLGJhZGdlTGFiZWw6dGhpcy5fZ2V0QmFkZ2VMYWJlbChlKSxkYXRhUWFJZDp0aGlzLl9kYXRhUWFJZCgpPz92b2lkIDB9XSk6dGhpcy5fZnVsbFRvb2x0aXAuc2V0VmFsdWUobnVsbCl9X2RhdGFRYUlkKCl7cmV0dXJuIG51bGx9X3VwZGF0ZUJ5U3RhdHVzKGUpe2lmKG51bGw9PT1lfHx0aGlzLl9zaG91bGRCZUhpZGRlbkJ5U3RhdHVzKGUpKXJldHVybiB0aGlzLl9pY29uLnNldFZhbHVlKG51bGwpLHRoaXMuX3Rvb2x0aXAuc2V0VmFsdWUobnVsbCksdm9pZCB0aGlzLl92aXNpYmxlLnNldFZhbHVlKCExKTt0aGlzLl9pY29uLnNldFZhbHVlKHRoaXMuX2dldEljb24oZSkpLHRoaXMuX2NsYXNzTmFtZS5zZXRWYWx1ZSh0aGlzLl9nZXRDbGFzc05hbWUoZSkpLHRoaXMuX3Rvb2x0aXAuc2V0VmFsdWUodGhpcy5fZ2V0VG9vbHRpcChlKSksdGhpcy5fdmlzaWJsZS5zZXRWYWx1ZSghMCksdGhpcy5fdXBkYXRlRnVsbFRvb2x0aXAoKX1fc2hvdWxkQmVIaWRkZW5CeVN0YXR1cyhlKXtyZXR1cm4hMX19fSw2NzMwNjUoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlptNC05Ljk3TDExLjkgNiA4LjMgOS44MiA2LjEgNy40NiA0Ljk5IDguNSA4LjMyIDEyIDEzIDcuMDNaIi8+PC9zdmc+J30sNDAwMDQ2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlpNOSA0Yy0uNzkgMC0xLjM4LjctMS4yNSAxLjQ4bC42NyA0LjAzYS41OS41OSAwIDAgMCAxLjE2IDBsLjY3LTQuMDNBMS4yNyAxLjI3IDAgMCAwIDkgNFptMCA4YTEgMSAwIDEgMCAwIDIgMSAxIDAgMCAwIDAtMloiLz48L3N2Zz4nfSw1MjcyMTkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlptMS0xMmExIDEgMCAxIDEtMiAwIDEgMSAwIDAgMSAyIDBaTTguNSA5LjVIN1Y4aDN2Nkg4LjVWOS41WiIvPjwvc3ZnPid9LDc4NTk5NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZabS0xLTRhMSAxIDAgMSAwIDIgMCAxIDEgMCAwIDAtMiAwWm0yLjgzLTMuNTJjLS40OS40My0uOTcuODUtMS4wNiAxLjUySDguMjZjLjA4LTEuMTguNzQtMS42OSAxLjMyLTIuMTMuNDktLjM4LjkyLS43MS45Mi0xLjM3QzEwLjUgNi42NyA5LjgyIDYgOSA2cy0xLjUuNjctMS41IDEuNVY4SDZ2LS41YTMgMyAwIDEgMSA2IDBjMCAuOTYtLjYgMS40OC0xLjE3IDEuOThaIi8+PC9zdmc+J30sODU2NzcwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse25hbm9pZDooKT0+c30pO2xldCBzPShlPTIxKT0+Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheShlKSkucmVkdWNlKCgoZSx0KT0+ZSs9KHQmPTYzKTwzNj90LnRvU3RyaW5nKDM2KTp0PDYyPyh0LTI2KS50b1N0cmluZygzNikudG9VcHBlckNhc2UoKTp0PjYyPyItIjoiXyIpLCIiKX19XSk7"}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/67930.f0d77c1721dc8fa0d333.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.762Z","timestamp":1785141584762,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/67930.f0d77c1721dc8fa0d333.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-1bb1d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ddca572781dd68b7d7567308619837b5\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":113437,"size_decoded":36882,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3070)","md5":"990cf69851fde87b4493a4a244863db8","sha1":"ee7d5c61c67346c3d87c7e74c026bf4563383065","sha256":"6dfa7fc1e68a590ca27e08e6e6764259c28a0d7b39bb6971ab6383e8f246b6ac","sha512":"c819313da9003f50657bb1bc8de38b3e74208ac8407598c9755760b3b87d2ef157dbfebfaab0286f372c6586681bc19bca3e95ffcd2493326e2ae3b7c4947127","ssdeep":"3072:R0RDUtOcN3trUIjzAXK8ZrhLy6fXK6ZKubLBc4MO:ZZdTjsXK8ZVy0subLBcrO","tlshash":"66b33be3b1a0f0a9556601e984be0103971e6966bc47887cf6bc9cce155c9caf636f3c","first_seen":"2026-07-23T14:00:31.373835Z","last_seen":"2026-07-27T14:50:15.357145Z","times_seen":112,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2NDY0NCw2NzkzMF0sezkxNDQ4NyhlLHQpe3ZhciBhOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgcz17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBvKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgYT1hcmd1bWVudHNbdF07aWYoYSl7dmFyIGk9dHlwZW9mIGE7aWYoInN0cmluZyI9PT1pfHwibnVtYmVyIj09PWkpZS5wdXNoKGEpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShhKSYmYS5sZW5ndGgpe3ZhciByPW8uYXBwbHkobnVsbCxhKTtyJiZlLnB1c2gocil9ZWxzZSBpZigib2JqZWN0Ij09PWkpZm9yKHZhciBuIGluIGEpcy5jYWxsKGEsbikmJmFbbl0mJmUucHVzaChuKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oby5kZWZhdWx0PW8sZS5leHBvcnRzPW8pOnZvaWQgMD09PShhPWZ1bmN0aW9uKCl7cmV0dXJuIG99LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1hKX0oKX0sNzE3NjAoZSl7ZS5leHBvcnRzPXsiY2hlY2tib3gtc2l6ZSI6IjE4cHgiLCJjaGVja2JveC1wcmltYXJ5LWRlZmF1bHQtYmciOiJ2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCkiLCJjaGVja2JveC1wcmltYXJ5LWhvdmVyLWJnIjoidmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpIiwiY2hlY2tib3gtcHJpbWFyeS1hY3RpdmUtYmciOiJ2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtKSIsImNoZWNrYm94LXByaW1hcnktZmciOiJ2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2UpIiwiY2hlY2tib3gtZGFuZ2VyLWRlZmF1bHQtYmciOiJ2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1ib2xkKSIsImNoZWNrYm94LWRhbmdlci1ob3Zlci1iZyI6InZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCkiLCJjaGVja2JveC1kYW5nZXItYWN0aXZlLWJnIjoidmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXIpIiwiY2hlY2tib3gtZGFuZ2VyLWZnIjoidmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVhdGVybmFyeS1pbnZlcnNlKSIsd3JhcHBlcjoid3JhcHBlci1zVzg3cFF6SyIsaW5wdXQ6ImlucHV0LXNXODdwUXpLIixmb2N1c091dGxpbmU6ImZvY3VzT3V0bGluZS1zVzg3cFF6SyIscHJpbWFyeToicHJpbWFyeS1zVzg3cFF6SyIsZGlzYWJsZWQ6ImRpc2FibGVkLXNXODdwUXpLIixkYW5nZXI6ImRhbmdlci1zVzg3cFF6SyIsdmlldzoidmlldy1zVzg3cFF6SyJ9fSw4MzI1MTgoZSl7ZS5leHBvcnRzPXsiY2hlY2tib3gtc2l6ZSI6IjE4cHgiLGJveDoiYm94LVhmR2tCQnFmIix1bmNoZWNrZWQ6InVuY2hlY2tlZC1YZkdrQkJxZiIsY2hlY2tlZDoiY2hlY2tlZC1YZkdrQkJxZiIsbWl4ZWQ6Im1peGVkLVhmR2tCQnFmIixkaXNhYmxlZDoiZGlzYWJsZWQtWGZHa0JCcWYiLGNoZWNrZWRNYXJrOiJjaGVja2VkTWFyay1YZkdrQkJxZiIsbWl4ZWRNYXJrOiJtaXhlZE1hcmstWGZHa0JCcWYifX0sMjgyNTkzKGUpe2UuZXhwb3J0cz17Y2hlY2tib3g6ImNoZWNrYm94LWhVc25uMlpfIixyZXZlcnNlOiJyZXZlcnNlLWhVc25uMlpfIixiYXNlbGluZToiYmFzZWxpbmUtaFVzbm4yWl8iLGxhYmVsOiJsYWJlbC1oVXNubjJaXyIsZGlzYWJsZWQ6ImRpc2FibGVkLWhVc25uMlpfIixwcmltYXJ5OiJwcmltYXJ5LWhVc25uMlpfIixkYW5nZXI6ImRhbmdlci1oVXNubjJaXyJ9fSw5OTQxNShlKXtlLmV4cG9ydHM9e2lubGluZUljb246ImlubGluZUljb24tdDZXWmxMUU8ifX0sODMwMTk3KGUpe2UuZXhwb3J0cz17ZWRpdG9yRXJyb3JCdXR0b25zOiJlZGl0b3JFcnJvckJ1dHRvbnMtenVrOWVJTTMifX0sODc3OTk5KGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1QZ3VBckxGZiIsd3JhcEVycm9yOiJ3cmFwRXJyb3ItUGd1QXJMRmYiLGNsaWNrZWRBbmltOiJjbGlja2VkQW5pbS1QZ3VBckxGZiIsZXJyb3JUZXh0OiJlcnJvclRleHQtUGd1QXJMRmYiLHdyYXBTdGFja1RyYWNlOiJ3cmFwU3RhY2tUcmFjZS1QZ3VBckxGZiJ9fSw3NTc5MjMoZSl7ZS5leHBvcnRzPXtkZXNjcmlwdGlvbjoiZGVzY3JpcHRpb24tamVuTlZzX0MiLG1vZGU6Im1vZGUtamVuTlZzX0MiLGFjdGlvbnM6ImFjdGlvbnMtamVuTlZzX0MiLGxpbms6ImxpbmstamVuTlZzX0MifX0sNjg1OTI2KGUpe2UuZXhwb3J0cz17ZGVmYXVsdGVkU3RhdHVzOiJkZWZhdWx0ZWRTdGF0dXMtSnV4UlREbV8ifX0sMTUyMDY5KGUpe2UuZXhwb3J0cz17aGFsYWxTdGF0dXM6ImhhbGFsU3RhdHVzLW5QVTM5cndVIn19LDkyNDAyMChlKXtlLmV4cG9ydHM9e2hrZXhDb21tZW50OiJoa2V4Q29tbWVudC1lYnVOU3ZvdyJ9fSwyODQ0NjcoZSl7ZS5leHBvcnRzPXtsZXRJdFNub3dTdGF0dXM6ImxldEl0U25vd1N0YXR1cy1EdDMwYnZVQSJ9fSw1NzE0NjQoZSl7ZS5leHBvcnRzPXt0dkNhbGN1bGF0ZWRQYWlyOiJ0dkNhbGN1bGF0ZWRQYWlyLVMzemNjSV9QIn19LDQ0NTEoZSl7ZS5leHBvcnRzPXt1cGNvbWluZ0lwb1N0YXR1czoidXBjb21pbmdJcG9TdGF0dXMtdEtaUm1JSzUifX0sMzgyNTkzKGUpe2UuZXhwb3J0cz17d3JhcFN0YWNrVHJhY2U6IndyYXBTdGFja1RyYWNlLXFxMmpTcjlPIixzdGFja1RyYWNlTGluZToic3RhY2tUcmFjZUxpbmUtcXEyalNyOU8iLGZ1bmN0aW9uTmFtZToiZnVuY3Rpb25OYW1lLXFxMmpTcjlPIixiYXJJbmRleDoiYmFySW5kZXgtcXEyalNyOU8iLGluZm86ImluZm8tcXEyalNyOU8iLGhpZGVFbXB0eToiaGlkZUVtcHR5LXFxMmpTcjlPIn19LDM4NzIzMShlLHQsYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0LGE9e30pe3JldHVybiBPYmplY3QuYXNzaWduKHt9LGUsZnVuY3Rpb24oZSx0LGE9e30pe2NvbnN0IHM9T2JqZWN0LmFzc2lnbih7fSx0KTtmb3IoY29uc3QgbyBvZiBPYmplY3Qua2V5cyh0KSl7Y29uc3QgaT1hW29dfHxvCjtpIGluIGUmJihzW29dPVtlW2ldLHRbb11dLmpvaW4oIiAiKSl9cmV0dXJuIHN9KGUsdCxhKSl9YS5kKHQse21lcmdlVGhlbWVzOigpPT5zfSl9LDg2MDkwNyhlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtDaGVja2JveElucHV0OigpPT5wLEdyb3VwZWRDaGVja2JveElucHV0OigpPT5tfSk7dmFyIHM9YSg3Nzk0NzQpLG89YSg5MTQ0ODcpLGk9YS5uKG8pLHI9YSgzNDUxMTYpLG49YSg2NTg0NiksbD1hKDE0NzkwMSksdT1hKDUzNjEyNSksYz1hKDcxNzYwKSxkPWEubihjKTtjb25zdCBoPWAke2wuVUlfTElCX0RBVEFfUUFfSURfUFJFRklYfWNoZWNrYm94LWlucHV0YDtmdW5jdGlvbiBwKGUpe2NvbnN0e2ludGVudDp0LGRpc2FibGVkOmEsY2xhc3NOYW1lOm8sdGl0bGU6bixzdHlsZTpsLGNoZWNrZWQ6YyxpZDpwLHRhYkluZGV4Om0sbmFtZTpfLHZhbHVlOlMscm9sZTpmLG9uQ2hhbmdlOncscmVmZXJlbmNlOmIsYXJpYVJlcXVpcmVkOmcsYXJpYURlc2NyaWJlZGJ5OnYsYXJpYUludmFsaWQ6eSxkYXRhUWFJZDpNfT1lLEk9dD8/InByaW1hcnkiO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6aSgpKGQoKS53cmFwcGVyLGEmJmQoKS5kaXNhYmxlZCxvKSx0aXRsZTpuLHN0eWxlOmwsImRhdGEtcWEtaWQiOk19LHMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTppKCkoZCgpLnZpZXcsZCgpW0ldKX0scy5jcmVhdGVFbGVtZW50KHUuQ2hlY2tib3hWaWV3SW1wbCx7Y2hlY2tlZDpjLGRpc2FibGVkOmEsZGF0YVFhSWQ6YCR7aH0tdmlld2B9KSkscy5jcmVhdGVFbGVtZW50KCJpbnB1dCIse2lkOnAsdGFiSW5kZXg6bSxjbGFzc05hbWU6aSgpKGQoKVtJXSxkKCkuaW5wdXQpLHR5cGU6ImNoZWNrYm94IixuYW1lOl8sY2hlY2tlZDohMSE9PWMsZGlzYWJsZWQ6YSx2YWx1ZTpTLHJvbGU6ZixvbkNoYW5nZTp3LHJlZjpiLCJhcmlhLWNoZWNrZWQiOigoKT0+e3N3aXRjaChjKXtjYXNlITA6cmV0dXJuInRydWUiO2Nhc2UhMTpyZXR1cm4iZmFsc2UiO2Nhc2UibWl4ZWQiOnJldHVybiJtaXhlZCJ9fSkoKSwiYXJpYS1yZXF1aXJlZCI6ZywiYXJpYS1kZXNjcmliZWRieSI6diwiYXJpYS1pbnZhbGlkIjp5LCJkYXRhLXFhLWlkIjpgJHtofS1pbnB1dGAsLi4uKDAsci5maWx0ZXJEYXRhUHJvcHMpKGUpfSkscy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6ZCgpLmZvY3VzT3V0bGluZX0pKX1jb25zdCBtPSgwLG4ubWFrZVN3aXRjaEdyb3VwSXRlbSkocCl9LDUzNjEyNShlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtDaGVja2JveFZpZXdJbXBsOigpPT5ofSk7dmFyIHM9YSg3Nzk0NzQpLG89YSg5MTQ0ODcpLGk9YS5uKG8pLHI9YSgyMTcyNzQpLG49YSgxNDc5MDEpLGw9YSgxMjU4OTcpLHU9YS5uKGwpLGM9YSg4MzI1MTgpLGQ9YS5uKGMpO2Z1bmN0aW9uIGgoZSl7Y29uc3R7Y2hlY2tlZDp0LGRpc2FibGVkOmEsZGF0YVFhSWQ6b309ZTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKGQoKS5ib3gsITA9PT10JiZkKCkuY2hlY2tlZCwhMT09PXQmJmQoKS51bmNoZWNrZWQsIm1peGVkIj09PXQmJmQoKS5taXhlZCxhJiZkKCkuZGlzYWJsZWQpLCJkYXRhLXFhLWlkIjooMCxuLmNvbmNhdElmTm90TnVsbCkoYCR7bi5VSV9MSUJfREFUQV9RQV9JRF9QUkVGSVh9Y2hlY2tib3gtdmlldy0ke3Q/ImNoZWNrZWQiOiJ1bmNoZWNrZWQifWAsbyl9LCEwPT09dCYmcy5jcmVhdGVFbGVtZW50KHIuQmxvY2tJY29uLHtpY29uOnUoKSxjbGFzc05hbWU6ZCgpLmNoZWNrZWRNYXJrfSksIm1peGVkIj09PXQmJnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmQoKS5taXhlZE1hcmt9KSl9fSw5NzUxOTgoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7Q2hlY2tib3g6KCk9PmMsR3JvdXBlZENoZWNrYm94OigpPT5kfSk7dmFyIHM9YSg3Nzk0NzQpLG89YSg5MTQ0ODcpLGk9YS5uKG8pLHI9YSg2NTg0Niksbj1hKDg2MDkwNyksbD1hKDI4MjU5MyksdT1hLm4obCk7ZnVuY3Rpb24gYyhlKXtjb25zdHtjbGFzc05hbWU6dCxsYWJlbFBvc2l0aW9uUmV2ZXJzZTphLGxhYmVsQWxpZ25CYXNlbGluZTpvLGlucHV0Q2xhc3NOYW1lOnIsbGFiZWxDbGFzc05hbWU6bCxsYWJlbDpjLHRpdGxlOmQsZGlzYWJsZWQ6aCxpbnRlbnQ6cD0icHJpbWFyeSIsZGF0YVFhSWQ6bSx2YWx1ZTpfLG9uQ2hhbmdlOlMsbmFtZTpmLGNoZWNrZWQ6dyxpZDpiLHRhYkluZGV4Omcscm9sZTp2LHJlZmVyZW5jZTp5LHN0eWxlOk0sYXJpYVJlcXVpcmVkOkksYXJpYURlc2NyaWJlZGJ5OkUsYXJpYUludmFsaWQ6QyxhdXRvRm9jdXM6VCwuLi5rfT1lLHg9T2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGspLmZpbHRlcigoKFtlLHRdKT0+ZS5zdGFydHNXaXRoKCJkYXRhIikpKSksRD1pKCkodCx1KCkuY2hlY2tib3gsYSYmdSgpLnJldmVyc2UsbyYmdSgpLmJhc2VsaW5lKSxWPWkoKSh1KCkubGFiZWwsbCxoJiZ1KCkuZGlzYWJsZWQsdSgpW3BdKSxQPWM/cy5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOlYsdGl0bGU6ZH0sYyk6bnVsbDtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJsYWJlbCIse2NsYXNzTmFtZTpELCJkYXRhLXFhLWlkIjptfSxzLmNyZWF0ZUVsZW1lbnQobi5DaGVja2JveElucHV0LHsuLi54LHZhbHVlOl8sb25DaGFuZ2U6UyxjbGFzc05hbWU6cixpbnRlbnQ6cCxuYW1lOmYsY2hlY2tlZDp3LGlkOmIsdGFiSW5kZXg6Zyxyb2xlOnYscmVmZXJlbmNlOnksc3R5bGU6TSxhcmlhUmVxdWlyZWQ6SSxhcmlhRGVzY3JpYmVkYnk6RSxhcmlhSW52YWxpZDpDLGRpc2FibGVkOmgsYXV0b0ZvY3VzOlR9KSxQKX1jb25zdCBkPSgwLHIubWFrZVN3aXRjaEdyb3VwSXRlbSkoYyl9LDUyOTQxMShlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHt1c2VJc0ZpcnN0UmVuZGVyOigpPT5vLHVzZUlzTm9uRmlyc3RSZW5kZXI6KCk9Pml9KTt2YXIgcz1hKDc3OTQ3NCk7ZnVuY3Rpb24gbygpe2NvbnN0W2UsdF09KDAscy51c2VTdGF0ZSkoITApO3JldHVybigwLHMudXNlRWZmZWN0KSgoKCk9Pnt0KCExKX0pLFtdKSxlfWZ1bmN0aW9uIGkoKXtyZXR1cm4hbygpfX0sCjExOTc1MChlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtJY29uUXVlc3Rpb25JbmZvcm1hdGlvbjooKT0+SSxJY29uUXVlc3Rpb25JbmZvcm1hdGlvbkJ1dHRvbjooKT0+RX0pO3ZhciBzLG89YSg3Nzk0NzQpLGk9YSg5MTQ0ODcpLHI9YS5uKGkpLG49YSgzNDUxMTYpLGw9YSgyNzMzMTApLHU9YSg3ODU5OTUpLGM9YS5uKHUpLGQ9YSg1MjcyMTkpLGg9YS5uKGQpLHA9YSg2NzMwNjUpLG09YS5uKHApLF89YSg0MDAwNDYpLFM9YS5uKF8pLGY9YSg5OTQ1KSx3PWEubihmKTshZnVuY3Rpb24oZSl7ZS5TbWFsbD0ic21hbGwiLGUuTWVkaXVtPSJtZWRpdW0iLGUuTGFyZ2U9ImxhcmdlIn0oc3x8KHM9e30pKTtjb25zdCBiPSJzbWFsbCI7dmFyIGcsdjshZnVuY3Rpb24oZSl7ZS5EZWZhdWx0PSJkZWZhdWx0IixlLkRhbmdlcj0iZGFuZ2VyIixlLldhcm5pbmc9Indhcm5pbmciLGUuU3VjY2Vzcz0ic3VjY2VzcyIsZS5OZXV0cmFsPSJuZXV0cmFsIixlLk5ldXRyYWxMaWdodD0ibmV1dHJhbC1saWdodCJ9KGd8fChnPXt9KSksZnVuY3Rpb24oZSl7ZS5JbmZvPSJpbmZvIixlLlF1ZXN0aW9uPSJxdWVzdGlvbiIsZS5DaGVjaz0iY2hlY2siLGUuRXhjbGFtYXRpb249ImV4Y2xhbWF0aW9uIn0odnx8KHY9e30pKTtjb25zdCB5PXtpbmZvOmgoKSxxdWVzdGlvbjpjKCksY2hlY2s6bSgpLGV4Y2xhbWF0aW9uOlMoKX0sTT1vLmZvcndhcmRSZWYoKChlLHQpPT5vLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsuLi5lLHJlZjp0LGNsYXNzTmFtZTpyKCkoZS5jbGFzc05hbWUsdygpWyJuby1hY3RpdmUtc3RhdGUiXSl9KSkpLEk9by5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e2ljb246YT0iZXhjbGFtYXRpb24iLGludGVudDpzPSJkZWZhdWx0IixhcmlhTGFiZWw6aSx0b29sdGlwOnUsY2xhc3NOYW1lOmMscmVuZGVyQ29tcG9uZW50OmQ9TSx0YWJJbmRleDpoPTAsc2l6ZTpwPWIsb25Gb2N1czptLG9uQmx1cjpfLG9uQ2xpY2s6UywuLi5mfT1lLGc9eVthXT8/YTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGQse2NsYXNzTmFtZTpyKCkoYyx3KCkuaWNvbldyYXBwZXIsdygpW3NdLHcoKVtwXSksdGl0bGU6dSxyZWY6dCx0YWJJbmRleDpoLG9uRm9jdXM6bSxvbkJsdXI6XyxvbkNsaWNrOlMsLi4uKDAsbi5maWx0ZXJEYXRhUHJvcHMpKGYpfSxvLmNyZWF0ZUVsZW1lbnQobC5JY29uLHsiYXJpYS1oaWRkZW4iOiFpLCJhcmlhLWxhYmVsIjppLGljb246ZyxjbGFzc05hbWU6dygpLmljb259KSl9KSk7ZnVuY3Rpb24gRShlKXtjb25zdHtpY29uOnQ9ImV4Y2xhbWF0aW9uIixpbnRlbnQ6YT0iZGVmYXVsdCIsc2l6ZTpzPWIsb25DbGljazppLG9uTW91c2VFbnRlcjpuLG9uTW91c2VMZWF2ZTp1LG9uRm9jdXM6YyxvbkJsdXI6ZCxyZWZlcmVuY2U6aCxhcmlhTGFiZWw6cH09ZSxtPXlbdF0/P3Q7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7Y2xhc3NOYW1lOnIoKSh3KCkuaWNvbldyYXBwZXIsdygpW2FdLHcoKVtzXSkscmVmOmgsb25DbGljazppLG9uTW91c2VFbnRlcjpuLG9uTW91c2VMZWF2ZTp1LG9uRm9jdXM6YyxvbkJsdXI6ZCwiYXJpYS1sYWJlbCI6cH0sby5jcmVhdGVFbGVtZW50KGwuSWNvbix7aWNvbjptLGNsYXNzTmFtZTp3KCkuaWNvbn0pKX19LDc1ODIzOChlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtJbmxpbmVJY29uOigpPT51fSk7dmFyIHM9YSg5MTQ0ODcpLG89YS5uKHMpLGk9YSg3Nzk0NzQpLHI9YSg5NDg0NTApLG49YSg5OTQxNSksbD1hLm4obik7Y29uc3QgdT1pLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOmEsLi4uc309ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KHIuQ29tbW9uSWNvbix7Li4ucyxjbGFzc05hbWU6bygpKGEsbCgpLmlubGluZUljb24pLHJlZjp0fSl9KSl9LDMwNjI4NyhlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHt1c2VXaW5kb3dSZXNpemVUcmlnZ2VyOigpPT5uLHVzZVdpbmRvd1Njcm9sbFRyaWdnZXI6KCk9Pmx9KTt2YXIgcz1hKDc3OTQ3NCksbz1hKDcwNjk0MyksaT1hKDE1OTI1Nik7ZnVuY3Rpb24gcihlLHQsYSl7Y29uc3Qgcj0oMCxzLnVzZU1lbW8pKCgoKT0+KDAsby5jcmVhdGVTaWduYWwpKCkpLFtdKTtyZXR1cm4oMCxpLnVzZUNvbmRpdGlvbmFsRWZmZWN0KShlLCgoKT0+KHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKHQsci5maXJlLGEpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIodCxyLmZpcmUsYSl9KSksW3JdKSxyfWNvbnN0IG49KGU9ITApPT5yKGUsInJlc2l6ZSIsITApLGw9KGU9ITApPT5yKGUsInNjcm9sbCIsITApfSw4Njk4NDIoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7U3dpdGNoR3JvdXBDb250ZXh0OigpPT5pfSk7dmFyIHM9YSg3Nzk0NzQpLG89YSg4NjIzODgpO2NvbnN0IGk9KDAscy5jcmVhdGVDb250ZXh0KSh7Z2V0TmFtZTooKT0+IiIsZ2V0VmFsdWVzOigpPT5bXSxnZXRPbkNoYW5nZTooKT0+by5kZWZhdWx0LHN1YnNjcmliZTpvLmRlZmF1bHQsdW5zdWJzY3JpYmU6by5kZWZhdWx0fSl9LDY1ODQ2KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse21ha2VTd2l0Y2hHcm91cEl0ZW06KCk9Pml9KTt2YXIgcz1hKDc3OTQ3NCksbz1hKDg2OTg0Mik7ZnVuY3Rpb24gaShlKXt2YXIgdDtyZXR1cm4gdD1jbGFzcyBleHRlbmRzIHMuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fb25DaGFuZ2U9ZT0+e3RoaXMuY29udGV4dC5nZXRPbkNoYW5nZSgpKGUudGFyZ2V0LnZhbHVlKX0sdGhpcy5fb25VcGRhdGU9ZT0+e2UuaW5jbHVkZXModGhpcy5wcm9wcy52YWx1ZSkmJnRoaXMuZm9yY2VVcGRhdGUoKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLmNvbnRleHQuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1yZW5kZXIoKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGUsey4uLnRoaXMucHJvcHMsbmFtZTp0aGlzLl9nZXROYW1lKCksb25DaGFuZ2U6dGhpcy5fb25DaGFuZ2UsY2hlY2tlZDp0aGlzLl9pc0NoZWNrZWQoKX0pfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5jb250ZXh0LnVuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1fZ2V0TmFtZSgpewpyZXR1cm4gdGhpcy5jb250ZXh0LmdldE5hbWUoKX1faXNDaGVja2VkKCl7cmV0dXJuIHRoaXMuY29udGV4dC5nZXRWYWx1ZXMoKS5pbmNsdWRlcyh0aGlzLnByb3BzLnZhbHVlKX19LHQuY29udGV4dFR5cGU9by5Td2l0Y2hHcm91cENvbnRleHQsdH19LDIwNTYxMShlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtjcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb25zOigpPT5vfSk7dmFyIHM9YSgyMzIzNjQpO2Z1bmN0aW9uIG8oZSx0KXtjb25zdCBhPW5ldyBzLldhdGNoZWRWYWx1ZShlKCkpLG89e307dC5mb3JFYWNoKCh0PT50LnN1YnNjcmliZShvLCgoKT0+e2Euc2V0VmFsdWUoZSgpKX0pKSkpO3JldHVybiBhLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT50LmZvckVhY2goKGU9PmUudW5zdWJzY3JpYmVBbGwobykpKSkpfX0sOTAxMDIyKGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse1NFUEFSQVRPUl9QUkVGSVg6KCk9PnMsaXNTZXBhcmF0b3JJdGVtOigpPT5vfSk7Y29uc3Qgcz0iIyMjIjtmdW5jdGlvbiBvKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgocyl9fSw4MDI1MjgoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7ZmV0Y2hFZGl0b3JFcnJvcjooKT0+dSxmZXRjaExhc3RVcGRhdGVSZWxlYXNlTm90ZXNUaW1lOigpPT5jfSk7dmFyIHM9YSgzODQwMTcpO2NvbnN0IG89Ii9waW5lLXNjcmlwdC1kb2NzLyIsaT1gJHtvfWRvY3VtZW50ZWQtZXJyb3JzLmpzb25gLHI9YCR7b31lcnJvcnMvYDtsZXQgbj1udWxsLGw9bnVsbDthc3luYyBmdW5jdGlvbiB1KGUsdCl7aWYoIWUpcmV0dXJuIG51bGw7Y29uc3QgYT1hd2FpdChhc3luYyBlPT5sfHxufHwobD0oYXN5bmMoKT0+e2NvbnN0IHQ9YXdhaXQoMCxzLmZldGNoKShpLHtjYWNoZToiZGVmYXVsdCIsc2lnbmFsOmV9KTtpZighdC5vayl0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBmZXRjaCBlcnJvciBjb2RlczogJHt0LnN0YXR1c30gJHt0LnN0YXR1c1RleHR9YCk7Y29uc3QgYT1hd2FpdCB0Lmpzb24oKTtyZXR1cm4gbj1uZXcgU2V0KGEpLGw9bnVsbCxufSkoKSxsKSkodCk7cmV0dXJuIGEuaGFzKGUpP2Ake3dpbmRvdy5sb2NhdGlvbi5vcmlnaW59JHtyfSR7ZX1gOm51bGx9YXN5bmMgZnVuY3Rpb24gYygpe3JldHVybihhd2FpdCgwLHMuZmV0Y2gpKCIvcGluZS1zY3JpcHQtZG9jcy9sYXN0LXVwZGF0ZS10aW1lLmpzb24iKSkuanNvbigpfX0sMTA4MTgyKGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse2NvbG9yRGVmYXVsdGVkOigpPT5sLGNvbG9yRGVsYXlNb2RlOigpPT5zLGNvbG9yRW9kTW9kZTooKT0+byxjb2xvckhhbGFsTW9kZTooKT0+cixjb2xvck5vdEFjY3VyYXRlTW9kZTooKT0+aSxjb2xvclRWQ2FsY3VsYXRlZFBhaXJNb2RlOigpPT5uLGNvbG9yVXBjb21pbmdJcG86KCk9PnV9KTtjb25zdCBzPSJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1ib2xkKSIsbz0idmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCkiLGk9InZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1leHRyYS1ib2xkKSIscj0idmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQpIixuPSJ2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKSIsbD0idmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQpIix1PSJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWV4dHJhLWJvbGQpIn0sMTkzNTA4KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse0hLRVhEYXRhQ29tbWVudDooKT0+UCxIS0VYRGF0YVRpdGxlOigpPT5WLGJhdHNUb1JlYWx0aW1lQ3J1Y2lhbEh0bWw6KCk9PnksYmF0c1RvUmVhbHRpbWVIdG1sMTooKT0+YixiYXRzVG9SZWFsdGltZUh0bWwyV2l0aEV4Y2hhbmdlOigpPT52LGJhdHNUb1JlYWx0aW1lSHRtbDJXaXRob3V0RXhjaGFuZ2U6KCk9PmcsZGVmYXVsdGVkSHRtbDooKT0+UixkZWZhdWx0ZWRUaXRsZTooKT0+QSxkZWxheVRvb2x0aXA6KCk9PnIsZW9kSHRtbDooKT0+bSxlb2RUb1JlYWx0aW1lSHRtbDooKT0+Xyxlb2RUb29sdGlwOigpPT5uLGV4Y2hhbmdlQnlPcmlnaW5hbEV4Y2hhbmdlVG9vbHRpcDooKT0+dSxoYWxhbEJvbmRIdG1sOigpPT5wLGhhbGFsSHRtbDooKT0+aCxoYWxhbFRpdGxlOigpPT5kLGxldEl0U25vd0h0bWw6KCk9PlcsbGV0SXRTbm93U3RhcnQ6KCk9Pk8sbGV0SXRTbm93U3RvcDooKT0+SCxsZXRJdFNub3dUaXRsZTooKT0+Rixub3RBY2N1cmF0ZTFQZXJTZWNvbmRUb29sdGlwOigpPT5sLG9wZW5JbkVkaXRvckFjdGlvblRleHQ6KCk9Pngsb3BlbmVkSW5Cb3R0b21QYW5lbFRleHQ6KCk9PlQsb3BlbmVkSW5Cb3R0b21QYW5lbFRpdGxlOigpPT5JLG9wZW5lZEluRGV0YWNoZWRFZGl0b3JUZXh0OigpPT5rLG9wZW5lZEluRGV0YWNoZWRFZGl0b3JUaXRsZTooKT0+RSxvcGVuZWRJbkVkaXRvclRleHQ6KCk9PkMsb3BlbmVkSW5FZGl0b3JUaXRsZTooKT0+TSxvdmVybmlnaHRRdW90ZXNUZXh0OigpPT5VLG92ZXJuaWdodFF1b3Rlc1RpdGxlOigpPT5MLHRpY2tCeVRpY2tIdG1sMTooKT0+Zix0aWNrQnlUaWNrSHRtbDFGdWxsSW5mbzooKT0+Uyx0aWNrQnlUaWNrSHRtbDI6KCk9PncsdHZDYWxjdWxhdGVkUGFpckh0bWw6KCk9PkQsdHZDYWxjdWxhdGVkUGFpclRvb2x0aXA6KCk9PmMsdXBjb21pbmdJcG9IdG1sOigpPT5OLHVwY29taW5nSXBvVGl0bGU6KCk9PkJ9KTt2YXIgcz1hKDE4NTI3MSksbz1hKDY0MTU5MyksaT1hKDE1NzQ0Nyk7Y29uc3Qgcj0oMCxpLmdldERlbGF5VG9vbHRpcCkoKSxuPXMudChudWxsLHZvaWQgMCxhKDc5NzQ2MCkpLGw9cy50KG51bGwsdm9pZCAwLGEoMzMwNzYwKSksdT0oKDAsaS5nZXROb3RBY2N1cmF0ZUNib2VUb29sdGlwKSgpLCgwLGkuZ2V0RXhjaGFuZ2VCeU9yaWdpbmFsRXhjaGFuZ2VUb29sdGlwKSgpKSxjPSgwLGkuZ2V0VHZDYWxjdWxhdGVkUGFpclRpdGxlKSgpLGQ9KCgwLGkuZ2V0RGVyaXZlZFRpdGxlKSgpLCgwLGkuZ2V0RGVyaXZlZEh0bWwpKCksKDAsCmkuZ2V0SGFsYWxUaXRsZSkoKSksaD0oMCxpLmdldEhhbGFsSHRtbCkoKSxwPSgwLGkuZ2V0SGFsYWxCb25kSHRtbCkoKSxtPSgwLG8uaHRtbEVzY2FwZSkocy50KG51bGwsdm9pZCAwLGEoMTg3MjcyKSkpLF89KDAsby5odG1sRXNjYXBlKShzLnQobnVsbCx2b2lkIDAsYSgyMjcwODgpKSksUz0oMCxvLmh0bWxFc2NhcGUpKHMudChudWxsLHZvaWQgMCxhKDg5NTMwMCkpKSxmPSgwLG8uaHRtbEVzY2FwZSkocy50KG51bGwsdm9pZCAwLGEoMjMzOTEyKSkpLHc9KDAsby5odG1sRXNjYXBlKShzLnQobnVsbCx2b2lkIDAsYSgxMTQ0NCkpKSxiPXMudChudWxsLHZvaWQgMCxhKDk2MTkyNikpLGc9KCgwLGkuZ2V0QmF0c1RvUmVhbHRpbWVIdG1sUGFydDEpKCksKDAsaS5nZXRCYXRzVG9SZWFsdGltZUh0bWxQYXJ0MikoKSwoMCxpLmdldEJhdHNUb1JlYWx0aW1lSHRtbDJXaXRob3V0RXhjaGFuZ2UpKCkpLHY9KDAsaS5nZXRCYXRzVG9SZWFsdGltZUh0bWwyV2l0aEV4Y2hhbmdlKSgpLHk9cy50KG51bGwsdm9pZCAwLGEoNzE5NzExKSksTT0oKDAsaS5nZXRDb250aW51b3VzVGl0bGUpKCksKDAsaS5nZXRDb250aW51b3VzSHRtbCkoKSxzLnQobnVsbCx7Y29udGV4dDoiUGluZSBlZGl0b3IifSxhKDI5NDYxOCkpKSxJPXMudChudWxsLHtjb250ZXh0OiJQaW5lIGVkaXRvciJ9LGEoNzc0MjgpKSxFPXMudChudWxsLHZvaWQgMCxhKDk1ODI3MSkpLEM9cy50KG51bGwsdm9pZCAwLGEoNTQ1ODQpKSxUPXMudChudWxsLHZvaWQgMCxhKDgzNzI1KSksaz1zLnQobnVsbCx2b2lkIDAsYSg4Mjk0NDgpKSx4PXMudChudWxsLHtjb250ZXh0OiJQaW5lIGVkaXRvciJ9LGEoOTAwNDI1KSksRD0oMCxpLmdldFR2Q2FsY3VsYXRlZFBhaXJIdG1sKSgpLFY9cy50KG51bGwse2NvbnRleHQ6IkhLRVggZGlzY2xhaW1lciJ9LGEoMTY3OTEyKSksUD1zLnQobnVsbCx2b2lkIDAsYSg0NTc3NTApKSxBPSgwLGkuZ2V0RGVmYXVsdGVkVGl0bGUpKCksUj0oMCxpLmdldERlZmF1bHRlZEh0bWwpKCksQj0oMCxpLmdldFVwY29taW5nSXBvVGl0bGUpKCksTj0oMCxpLmdldFVwY29taW5nSXBvSHRtbCkoKSxGPXMudChudWxsLHtjb250ZXh0OiJIb2xpZGF5IGJhbm5lciJ9LGEoMjQ0MTApKSxXPXMudChudWxsLHZvaWQgMCxhKDQwNDU0NCkpLE89cy50KG51bGwse2NvbnRleHQ6IkhvbGlkYXkgYmFubmVyIn0sYSg5ODE4NzIpKSxIPXMudChudWxsLHtjb250ZXh0OiJIb2xpZGF5IGJhbm5lciJ9LGEoNDg5MjAwKSksTD1zLnQobnVsbCx2b2lkIDAsYSg1OTc5NCkpLFU9cy50KG51bGwsdm9pZCAwLGEoNjg3OTU0KSl9LDE1NzQ0NyhlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtnZXRCYXRzVG9SZWFsdGltZUh0bWwyV2l0aEV4Y2hhbmdlOigpPT5FLGdldEJhdHNUb1JlYWx0aW1lSHRtbDJXaXRob3V0RXhjaGFuZ2U6KCk9PkMsZ2V0QmF0c1RvUmVhbHRpbWVIdG1sUGFydDE6KCk9Pk0sZ2V0QmF0c1RvUmVhbHRpbWVIdG1sUGFydDI6KCk9PkksZ2V0Q29udGludW91c0h0bWw6KCk9PmQsZ2V0Q29udGludW91c1RpdGxlOigpPT5jLGdldENyZWF0ZUZyZWVBY2NvdW50VGl0bGU6KCk9PncsZ2V0RGVmYXVsdGVkSHRtbDooKT0+RCxnZXREZWZhdWx0ZWRUaXRsZTooKT0+eCxnZXREZWxheUh0bWw6KCk9PnAsZ2V0RGVsYXlOb1JlYWx0aW1lSHRtbDooKT0+XyxnZXREZWxheVRvUmVhbHRpbWVKc3g6KCk9Pm0sZ2V0RGVsYXlUb29sdGlwOigpPT5oLGdldERlbGF5V2l0aG91dE1hcmtldEFncmVlbWVudEh0bWw6KCk9PlMsZ2V0RGVyaXZlZEh0bWw6KCk9PnIsZ2V0RGVyaXZlZFRpdGxlOigpPT5pLGdldEV4Y2hhbmdlQnlPcmlnaW5hbEV4Y2hhbmdlVG9vbHRpcDooKT0+eSxnZXRGaWxsRXhjaGFuZ2VBZ3JlZW1lbnRzVGl0bGU6KCk9PmIsZ2V0SGFsYWxCb25kSHRtbDooKT0+dSxnZXRIYWxhbEh0bWw6KCk9PmwsZ2V0SGFsYWxUaXRsZTooKT0+bixnZXRMZWFybk1vcmVUaXRsZTooKT0+ZyxnZXROb3RBY2N1cmF0ZUNib2VUb29sdGlwOigpPT52LGdldFJ0RnJlZUZvclJlZ2lzdGVyZWRVc2Vyc0h0bWw6KCk9PmYsZ2V0VHZDYWxjdWxhdGVkUGFpckh0bWw6KCk9PmssZ2V0VHZDYWxjdWxhdGVkUGFpclRpdGxlOigpPT5ULGdldFVwY29taW5nSXBvSHRtbDooKT0+UCxnZXRVcGNvbWluZ0lwb1RpdGxlOigpPT5WfSk7dmFyIHM9YSg3Nzk0NzQpLG89YSgxODUyNzEpO2NvbnN0IGk9KCk9Pm8udChudWxsLHtjb250ZXh0OiJTeW1ib2wgc3RhdHVzIn0sYSgxNjM4MDYpKSxyPSgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NTI1MDApKSxuPSgpPT5vLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIHN0YXR1cyJ9LGEoNDE3OTEpKSxsPSgpPT5vLnQobnVsbCx2b2lkIDAsYSgyMzgwMDQpKSx1PSgpPT5vLnQobnVsbCx2b2lkIDAsYSg1NzM2ODIpKSxjPSgpPT5vLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIHN0YXR1cyJ9LGEoODk0MjIxKSksZD0oKT0+by50KG51bGwsdm9pZCAwLGEoOTc3Nzc2KSksaD0oKT0+by50KG51bGwse2NvbnRleHQ6IlF1b3RlIHRvb2x0aXAifSxhKDQ3MzQyNSkpLHA9KGUsdCk9Pm8udChudWxsLHtwbHVyYWw6IntzeW1ib2xOYW1lfSBkYXRhIGlzIGRlbGF5ZWQgYnkge3RpbWV9IG1pbnV0ZXMgYmVjYXVzZSBvZiBleGNoYW5nZSByZXF1aXJlbWVudHMuIixjb3VudDp0LHJlcGxhY2U6e3N5bWJvbE5hbWU6ZSx0aW1lOnQudG9TdHJpbmcoKX19LGEoODU3MDY3KSksbT1lPT57Y29uc3RbdCxpXT1vLnQobnVsbCx2b2lkIDAsYSgyMjA3MzgpKS5zcGxpdCgie2Rlc2NyaXB0aW9ufSIpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQocy5GcmFnbWVudCxudWxsLHQsZSxpKX0sXz0oKT0+by50KG51bGwsdm9pZCAwLGEoOTE1MTAwKSksUz1lPT5vLnQobnVsbCx2b2lkIDAsYSgxNjUwNTIpKS5yZXBsYWNlKCJ7bGlzdGVkRXhjaGFuZ2V9IixlKSxmPWU9Pm8udChudWxsLHZvaWQgMCxhKDkxNDU1KSkucmVwbGFjZSgie2xpc3RlZEV4Y2hhbmdlfSIsZSksdz0oKT0+by50KG51bGwsdm9pZCAwLGEoMjk5OTI2KSksYj0oKT0+by50KG51bGwsdm9pZCAwLGEoODYzODc3KSksZz0oKT0+by50KG51bGwse2NvbnRleHQ6IlN5bWJvbCBwYWdlIHN0YXR1c2VzIgp9LGEoMTA5NjAxKSksdj0oKT0+by50KG51bGwse2NvbnRleHQ6IkV4Y2hhbmdlIGRhdGEgdG9vbHRpcCJ9LGEoMjI5MDI1KSkseT0oKT0+by50KG51bGwse2NvbnRleHQ6IkV4Y2hhbmdlIGRhdGEgdG9vbHRpcCJ9LGEoMzAwMjcxKSksTT0oKT0+by50KG51bGwse2NvbnRleHQ6J1BhcnQgb2Y6ICJSZWFsLXRpbWUgZGF0YSBmb3Ige3N5bWJvbE5hbWV9IGlzIHByb3ZpZGVkIGJ5IHtleGNoYW5nZX0gZXhjaGFuZ2UuIid9LGEoMjMyMTQ5KSksST0oKT0+by50KG51bGwse2NvbnRleHQ6J1BhcnQgb2Y6ICJSZWFsLXRpbWUgZGF0YSBmb3Ige3N5bWJvbE5hbWV9IGlzIHByb3ZpZGVkIGJ5IHtleGNoYW5nZX0gZXhjaGFuZ2UuIid9LGEoNDA5MDE5KSksRT0oKT0+by50KG51bGwsdm9pZCAwLGEoMjgyMTMxKSksQz0oKT0+by50KG51bGwsdm9pZCAwLGEoNDYzODI1KSksVD0oKT0+by50KG51bGwse2NvbnRleHQ6IlN5bWJvbCBzdGF0dXMifSxhKDgzNjEyMykpLGs9KCk9Pm8udChudWxsLHZvaWQgMCxhKDYyODU1MykpLHg9KCk9Pm8udChudWxsLHtjb250ZXh0OiJTeW1ib2wgc3RhdHVzIn0sYSgzMzM4ODQpKSxEPSgpPT5vLnQobnVsbCx2b2lkIDAsYSgxNDI3NTUpKSxWPSgpPT5vLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIHN0YXR1cyJ9LGEoMTE5NSkpLFA9KCk9Pm8udChudWxsLHZvaWQgMCxhKDEzMjU2MSkpfSw3NzY1NzYoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7QkFUU19UT19SRUFMVElNRV9TT0xVVElPTl9JRDooKT0+byxIQUxBTF9TT0xVVElPTl9JRDooKT0+cyxUVl9DQUxDVUxBVEVEX1BBSVJfU09MVVRJT05fSUQ6KCk9Pml9KTtjb25zdCBzPTQzMDAwNzAwODUyLG89NDMwMDA0NzM5MjQsaT00MzAwMDcwMzE3M30sNjAzNjEyKGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse0NMT1NFX1BPUFVQU19BTkRfRElBTE9HU19DT01NQU5EOigpPT5zLGJyZWFrcG9pbnRMaXN0OigpPT5pfSk7Y29uc3Qgcz0iQ0xPU0VfUE9QVVBTX0FORF9ESUFMT0dTX0NPTU1BTkQiO3ZhciBvOyFmdW5jdGlvbihlKXtlW2UuTW9iaWxlPTBdPSJNb2JpbGUiLGVbZS5UYWJsZXRTbWFsbD00ODBdPSJUYWJsZXRTbWFsbCIsZVtlLlRhYmxldD03NjhdPSJUYWJsZXQiLGVbZS5UYWJsZXRMYXJnZT0xMDI0XT0iVGFibGV0TGFyZ2UiLGVbZS5EZXNrdG9wU21hbGw9MTI4MF09IkRlc2t0b3BTbWFsbCIsZVtlLkRlc2t0b3A9MTQ0MF09IkRlc2t0b3AiLGVbZS5EZXNrdG9wTGFyZ2U9MTkyMF09IkRlc2t0b3BMYXJnZSJ9KG98fChvPXt9KSk7Y29uc3QgaT03OTc5NT09YS5qP1sxOTIwLDE0NDAsMTI4MCwxMDI0LDc2OCw0ODAsMF06bnVsbH0sNDkwMjA0KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse3Jlc29sdmVVbmRlcmx5aW5nU3ltYm9sOigpPT5vfSk7dmFyIHM9YSgzMjA1NSk7YXN5bmMgZnVuY3Rpb24gbyhlKXtjb25zdCB0PWF3YWl0KDAscy5zbmFwc2hvdGVyKSgpLmdldFNuYXBzaG90KGUsbmV3IFNldChbInVuZGVybHlpbmctc3ltYm9sIl0pKTtpZigiZXJyb3IiPT09dC5zdGF0dXMpcmV0dXJuIG51bGw7Y29uc3QgYT10LnZhbHVlc1sidW5kZXJseWluZy1zeW1ib2wiXTtyZXR1cm4gYXx8bnVsbH19LDEzODk5NChlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtJY29uUXVlc3Rpb25JbmZvcm1hdGlvbjooKT0+cCxJY29uUXVlc3Rpb25JbmZvcm1hdGlvbkJ1dHRvbjooKT0+XyxJY29uUXVlc3Rpb25JbmZvcm1hdGlvbkxpbms6KCk9Pm19KTt2YXIgcz1hKDc3OTQ3NCksbz1hKDkxNDQ4NyksaT1hLm4obykscj1hKDExOTc1MCksbj1hKDg2NTA5MiksbD1hKDM0NDc4NSksdT1hKDE5ODIwOSksYz1hLm4odSk7ZnVuY3Rpb24gZCgpe2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsZCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VvdXQiLGQpLCgwLGwuaGlkZSkoKX1jb25zdCBoPWU9PnsoMCxsLnNob3dPbkVsZW1lbnQpKGUuY3VycmVudFRhcmdldCx7dG9vbHRpcERlbGF5OjB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGQpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGQpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IixkKX0scD0oMCxzLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTphLG9uQ2xpY2s6bz1oLGRvTm90U2hvd1Rvb2x0aXBPblRvdWNoOnUsc2l6ZTpkLC4uLnB9PWUse3Rvb2x0aXA6bSxjbGFzc05hbWU6XywuLi5TfT0oMCxuLnVzZVRvb2x0aXApKHt0b29sdGlwOmUudG9vbHRpcCxkb05vdFNob3dUb29sdGlwT25Ub3VjaDohMSxzaG93VG9vbHRpcDpsLnNob3dPbkVsZW1lbnQsaGlkZVRvb2x0aXA6bC5oaWRlLG9uQ2xpY2s6b30sdCk7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChyLkljb25RdWVzdGlvbkluZm9ybWF0aW9uLHtjbGFzc05hbWU6aSgpKGEsYygpWyJpY29uLXdyYXBwZXIiXSxtJiZjKClbIndpdGgtdG9vbHRpcCJdLF8pLHRvb2x0aXA6bSxzaXplOmQsLi4ucCwuLi5TfSl9KSksbT0oMCxzLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTphLGhyZWY6byxyZWw6cix0YXJnZXQ6biwuLi5sfT1lLHU9KDAscy51c2VNZW1vKSgoKCk9PigwLHMuZm9yd2FyZFJlZikoKChlLHQpPT5zLmNyZWF0ZUVsZW1lbnQoImEiLHtocmVmOm8scmVsOnIsdGFyZ2V0Om4scmVmOnQsLi4uZX0pKSkpLFtvLHIsbl0pO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQocCx7Li4ubCxjbGFzc05hbWU6aSgpKGEsYygpWyJ3aXRoLWxpbmsiXSkscmVuZGVyQ29tcG9uZW50OnUscmVmOnQsZG9Ob3RTaG93VG9vbHRpcE9uVG91Y2g6ITB9KX0pKSxfPSgwLHMuZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOmEsd2l0aEFjdGl2ZVN0YXRlOm8sLi4ucn09ZSxuPSgwLHMudXNlTWVtbykoKCgpPT4oMCxzLmZvcndhcmRSZWYpKCgoZSx0KT0+cy5jcmVhdGVFbGVtZW50KCJidXR0b24iLHsuLi5lLHJlZjp0LHR5cGU6ImJ1dHRvbiJ9KSkpKSxbXSk7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChwLHsKLi4ucixjbGFzc05hbWU6aSgpKGEsIW8mJmMoKVsibm8tYWN0aXZlLXN0YXRlIl0pLHJlbmRlckNvbXBvbmVudDpuLHJlZjp0fSl9KSl9LDMzNjMzNChlLHQsYSl7InVzZSBzdHJpY3QiO3ZhciBzPWEoMTI5MzY1KTt0LmNyZWF0ZVJvb3Q9cy5jcmVhdGVSb290LHMuaHlkcmF0ZVJvb3R9LDEyOTM2NShlLHQsYSl7InVzZSBzdHJpY3QiOyFmdW5jdGlvbiBlKCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0oKSxlLmV4cG9ydHM9YSg1MzIzODcpfSwxMjI3NDkoZSx0KXsidXNlIHN0cmljdCI7dmFyIGE9U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLHM9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksbz1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLGk9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxyPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksbj1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLGw9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLHU9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSxjPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksZD1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksaD1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IikscD1TeW1ib2wuaXRlcmF0b3I7dmFyIG09e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LF89T2JqZWN0LmFzc2lnbixTPXt9O2Z1bmN0aW9uIGYoZSx0LGEpe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Uyx0aGlzLnVwZGF0ZXI9YXx8bX1mdW5jdGlvbiB3KCl7fWZ1bmN0aW9uIGIoZSx0LGEpe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Uyx0aGlzLnVwZGF0ZXI9YXx8bX1mLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LGYucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0sZi5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LHcucHJvdG90eXBlPWYucHJvdG90eXBlO3ZhciBnPWIucHJvdG90eXBlPW5ldyB3O2cuY29uc3RydWN0b3I9YixfKGcsZi5wcm90b3R5cGUpLGcuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIHY9QXJyYXkuaXNBcnJheSx5PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksTT17Y3VycmVudDpudWxsfSxJPXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24gRShlLHQscyl7dmFyIG8saT17fSxyPW51bGwsbj1udWxsO2lmKG51bGwhPXQpZm9yKG8gaW4gdm9pZCAwIT09dC5yZWYmJihuPXQucmVmKSx2b2lkIDAhPT10LmtleSYmKHI9IiIrdC5rZXkpLHQpeS5jYWxsKHQsbykmJiFJLmhhc093blByb3BlcnR5KG8pJiYoaVtvXT10W29dKTt2YXIgbD1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWwpaS5jaGlsZHJlbj1zO2Vsc2UgaWYoMTxsKXtmb3IodmFyIHU9QXJyYXkobCksYz0wO2M8bDtjKyspdVtjXT1hcmd1bWVudHNbYysyXTtpLmNoaWxkcmVuPXV9aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKG8gaW4gbD1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1pW29dJiYoaVtvXT1sW29dKTtyZXR1cm57JCR0eXBlb2Y6YSx0eXBlOmUsa2V5OnIscmVmOm4scHJvcHM6aSxfb3duZXI6TS5jdXJyZW50fX1mdW5jdGlvbiBDKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1hfXZhciBUPS9cLysvZztmdW5jdGlvbiBrKGUsdCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/ZnVuY3Rpb24oZSl7dmFyIHQ9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrZS5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfSkpfSgiIitlLmtleSk6dC50b1N0cmluZygzNil9ZnVuY3Rpb24geChlLHQsbyxpLHIpe3ZhciBuPXR5cGVvZiBlOyJ1bmRlZmluZWQiIT09biYmImJvb2xlYW4iIT09bnx8KGU9bnVsbCk7dmFyIGw9ITE7aWYobnVsbD09PWUpbD0hMDtlbHNlIHN3aXRjaChuKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmw9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIGE6Y2FzZSBzOmw9ITB9fWlmKGwpcmV0dXJuIHI9cihsPWUpLGU9IiI9PT1pPyIuIitrKGwsMCk6aSx2KHIpPyhvPSIiLG51bGwhPWUmJihvPWUucmVwbGFjZShULCIkJi8iKSsiLyIpLHgocix0LG8sIiIsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpKTpudWxsIT1yJiYoQyhyKSYmKHI9ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6YSx0eXBlOmUudHlwZSxrZXk6dCxyZWY6ZS5yZWYscHJvcHM6ZS5wcm9wcyxfb3duZXI6ZS5fb3duZXJ9fShyLG8rKCFyLmtleXx8bCYmbC5rZXk9PT1yLmtleT8iIjooIiIrci5rZXkpLnJlcGxhY2UoVCwiJCYvIikrIi8iKStlKSksdC5wdXNoKHIpKSwxO2lmKGw9MCxpPSIiPT09aT8iLiI6aSsiOiIsdihlKSlmb3IodmFyIHU9MDt1PGUubGVuZ3RoO3UrKyl7dmFyIGM9aStrKG49ZVt1XSx1KTtsKz14KG4sdCxvLGMscil9ZWxzZSBpZihjPWZ1bmN0aW9uKGUpewpyZXR1cm4gbnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgZT9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZihlPXAmJmVbcF18fGVbIkBAaXRlcmF0b3IiXSk/ZTpudWxsfShlKSwiZnVuY3Rpb24iPT10eXBlb2YgYylmb3IoZT1jLmNhbGwoZSksdT0wOyEobj1lLm5leHQoKSkuZG9uZTspbCs9eChuPW4udmFsdWUsdCxvLGM9aStrKG4sdSsrKSxyKTtlbHNlIGlmKCJvYmplY3QiPT09bil0aHJvdyB0PVN0cmluZyhlKSxFcnJvcigiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiAiKygiW29iamVjdCBPYmplY3RdIj09PXQ/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXMoZSkuam9pbigiLCAiKSsifSI6dCkrIikuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC4iKTtyZXR1cm4gbH1mdW5jdGlvbiBEKGUsdCxhKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciBzPVtdLG89MDtyZXR1cm4geChlLHMsIiIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwoYSxlLG8rKyl9KSksc31mdW5jdGlvbiBWKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD1lLl9yZXN1bHQ7KHQ9dCgpKS50aGVuKChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pKSwtMT09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZigxPT09ZS5fc3RhdHVzKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIFA9e2N1cnJlbnQ6bnVsbH0sQT17dHJhbnNpdGlvbjpudWxsfSxSPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOlAsUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6QSxSZWFjdEN1cnJlbnRPd25lcjpNfTt0LkNoaWxkcmVuPXttYXA6RCxmb3JFYWNoOmZ1bmN0aW9uKGUsdCxhKXtEKGUsKGZ1bmN0aW9uKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxhKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4gRChlLChmdW5jdGlvbigpe3QrK30pKSx0fSx0b0FycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBEKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighQyhlKSl0aHJvdyBFcnJvcigiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuIik7cmV0dXJuIGV9fSx0LkNvbXBvbmVudD1mLHQuRnJhZ21lbnQ9byx0LlByb2ZpbGVyPXIsdC5QdXJlQ29tcG9uZW50PWIsdC5TdHJpY3RNb2RlPWksdC5TdXNwZW5zZT1jLHQuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9Uix0LmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQscyl7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIG89Xyh7fSxlLnByb3BzKSxpPWUua2V5LHI9ZS5yZWYsbj1lLl9vd25lcjtpZihudWxsIT10KXtpZih2b2lkIDAhPT10LnJlZiYmKHI9dC5yZWYsbj1NLmN1cnJlbnQpLHZvaWQgMCE9PXQua2V5JiYoaT0iIit0LmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzKXZhciBsPWUudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKHUgaW4gdCl5LmNhbGwodCx1KSYmIUkuaGFzT3duUHJvcGVydHkodSkmJihvW3VdPXZvaWQgMD09PXRbdV0mJnZvaWQgMCE9PWw/bFt1XTp0W3VdKX12YXIgdT1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PXUpby5jaGlsZHJlbj1zO2Vsc2UgaWYoMTx1KXtsPUFycmF5KHUpO2Zvcih2YXIgYz0wO2M8dTtjKyspbFtjXT1hcmd1bWVudHNbYysyXTtvLmNoaWxkcmVuPWx9cmV0dXJueyQkdHlwZW9mOmEsdHlwZTplLnR5cGUsa2V5OmkscmVmOnIscHJvcHM6byxfb3duZXI6bn19LHQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6bCxfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6bixfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9LHQuY3JlYXRlRWxlbWVudD1FLHQuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD1FLmJpbmQobnVsbCxlKTtyZXR1cm4gdC50eXBlPWUsdH0sdC5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sdC5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjp1LHJlbmRlcjplfX0sdC5pc1ZhbGlkRWxlbWVudD1DLHQubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6aCxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0OlZ9fSx0Lm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6ZCx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LHQuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PUEudHJhbnNpdGlvbjtBLnRyYW5zaXRpb249e307dHJ5e2UoKX1maW5hbGx5e0EudHJhbnNpdGlvbj10fX0sdC51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0sdC51c2VDYWxsYmFjaz1mdW5jdGlvbihlLHQpe3JldHVybiBQLmN1cnJlbnQudXNlQ2FsbGJhY2soZSx0KX0sdC51c2VDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBQLmN1cnJlbnQudXNlQ29udGV4dChlKX0sdC51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSx0LnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24oZSl7cmV0dXJuIFAuY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKGUpfSx0LnVzZUVmZmVjdD1mdW5jdGlvbihlLHQpewpyZXR1cm4gUC5jdXJyZW50LnVzZUVmZmVjdChlLHQpfSx0LnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIFAuY3VycmVudC51c2VJZCgpfSx0LnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oZSx0LGEpe3JldHVybiBQLmN1cnJlbnQudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQsYSl9LHQudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFAuY3VycmVudC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sdC51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gUC5jdXJyZW50LnVzZUxheW91dEVmZmVjdChlLHQpfSx0LnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gUC5jdXJyZW50LnVzZU1lbW8oZSx0KX0sdC51c2VSZWR1Y2VyPWZ1bmN0aW9uKGUsdCxhKXtyZXR1cm4gUC5jdXJyZW50LnVzZVJlZHVjZXIoZSx0LGEpfSx0LnVzZVJlZj1mdW5jdGlvbihlKXtyZXR1cm4gUC5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gUC5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxhKXtyZXR1cm4gUC5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxhKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIFAuY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sNzc5NDc0KGUsdCxhKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWEoMTIyNzQ5KX0sNjMzNjQ0KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse3Nob3dBYm91dFRoZVN0dWR5SGFuZGxlcjooKT0+Y30pO3ZhciBzPWEoOTI2OTk1KTthKDE4NTI3MSksYSgyNTYzMTQpO2NvbnN0IG89L15TVEQ7RnVuZF8oLio/KSg/Ol8oPzpmeXxmcXxmaHx0dG0pKT8kLzt2YXIgaT1hKDc5MTQyNykscj1hKDQxMzQxKSxuPWEoMTQ3ODA1KSxsPWEoMTAzOTk4KSx1PWEoMTQzODA4KTthc3luYyBmdW5jdGlvbiBjKGUpe2NvbnN0IHQ9ZS5tZXRhSW5mbygpO2lmKCF0KXJldHVybiBudWxsO2NvbnN0e3NjcmlwdElkUGFydDpjLGlkOmQscGluZTpofT10O2lmKCgwLHUuaXNGdW5kYW1lbnRhbFN0dWR5TWV0YUluZm8pKHQpKXtjb25zdCBlPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5tYXRjaChvKTtyZXR1cm4gdD90WzFdOnR9KGMpO2lmKGUpe2NvbnN0e2RlZmF1bHQ6dH09YXdhaXQgYS5lKDYyMDY4KS50aGVuKGEudC5iaW5kKGEsNjMwNDc2LDE5KSk7aWYoZSBpbiB0KXJldHVybigpPT4oMCxzLnNob3dTdXBwb3J0RGlhbG9nKSh7c29sdXRpb25JZDp0W2VdfSl9fWVsc2UgaWYoIWh8fGkuU3R1ZHlNZXRhSW5mby5oYXNTdGRTdWZmaXgoYykpe2NvbnN0e2RlZmF1bHQ6ZX09YXdhaXQgYS5lKDQyNDQxKS50aGVuKGEudC5iaW5kKGEsNDQ1MDY3LDE5KSk7aWYoYyBpbiBlfHxkIGluIGUpcmV0dXJuKCk9PigwLHMuc2hvd1N1cHBvcnREaWFsb2cpKHtzb2x1dGlvbklkOmVbY118fGVbZF19KX1lbHNlIGlmKGkuU3R1ZHlNZXRhSW5mby5oYXNQdWJTdWZmaXgoYykpcmV0dXJuIGFzeW5jKCk9Pnt0cnl7Y29uc3R7Y2hhcnRJbWFnZVVybDplfT1hd2FpdCgwLHIucmVxdWVzdFNjcmlwdEluZm8pKGMpOygwLG4ub3BlblB1YmxpY2F0aW9uVmlld1BvcHVwKSh7dWlkOmUsdHlwZToic2NyaXB0In0pfWNhdGNoeygwLGwuc2hvd1NjcmlwdEluZm9FcnJvck5vdGljZURpYWxvZykoKX19O3JldHVybiBudWxsfX0sNjA0Mzg0KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse0NoYXJ0TW9kZWxNYWluU2VyaWVzU3RhdHVzU291cmNlQWRhcHRlcjooKT0+aCxDaGFydE1vZGVsU3RhdHVzU291cmNlQWRhcHRlcjooKT0+ZH0pO3ZhciBzLG89YSgxMzg2MzgpLGk9YSgyMzIzNjQpLHI9YSg5NTI5MDApLG49YSgyNDE5NTYpLGw9YSgyMDU2MTEpLHU9YSg5NTY0MzcpLGM9YSgzMjI0MTkpOyFmdW5jdGlvbihlKXtlW2UuRm9yY2VEaXNhYmxlSGlkZGVuU3RhdGVUaW1lb3V0TXM9MzUwMF09IkZvcmNlRGlzYWJsZUhpZGRlblN0YXRlVGltZW91dE1zIn0oc3x8KHM9e30pKTtjbGFzcyBke2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5faGlkZGVuPW5ldyBpLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc3ltYm9sPW51bGwsdGhpcy5faXNTeW1ib2xJbnZhbGlkPW51bGwsdGhpcy5fdmlzaWJpbGl0eUNvbWJpbmVyPW51bGwsdGhpcy5fc3ltYm9sSW5mbz1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9zb3VyY2U9ZSxlLnByb3BlcnRpZXMoKS5oYXNDaGlsZCgic3ltYm9sIikmJih0aGlzLl9zeW1ib2w9KDAsbi5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+ZS5wcm9wZXJ0aWVzKCkuc3ltYm9sLnZhbHVlKCkpLGUucHJvcGVydGllcygpLnN5bWJvbC5saXN0ZW5lcnMoKSkpO2NvbnN0IGE9W107aWYoKDAsYy5pc1N0dWR5TGluZVRvb2wpKGUpKWEucHVzaChlLm9uU3RhdHVzQ2hhbmdlZCgpKTtlbHNlIGlmKCgwLHUuaXNTdHVkeSkoZSl8fCgwLHUuaXNTdHVkeVN0dWIpKGUpKWEucHVzaChlLm9uU3RhdHVzQ2hhbmdlZCgpLGUub25Jc0FjdHVhbEludGVydmFsQ2hhbmdlKCkpLHRoaXMuX2lzU3ltYm9sSW52YWxpZD0oMCxsLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbnMpKCgoKT0+ZS5pc1N5bWJvbEludmFsaWQoKSYmZS5pc0FjdHVhbEludGVydmFsKCkpLGEpLCgwLHUuaXNTdHVkeSkoZSk/KHRoaXMuX3Zpc2liaWxpdHlDb21iaW5lcj0oMCxyLmNvbWJpbmUpKCgoZSx0KT0+IWV8fCF0KSwoMCxuLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLmlzVmlzaWJsZSgpKSxlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS52aXNpYmxlKS5vd25lcnNoaXAoKSwoMCxuLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLmlzQWN0dWFsSW50ZXJ2YWwoKSksZS5vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2UoKSkub3duZXJzaGlwKCkpLHRoaXMuX3Zpc2liaWxpdHlDb21iaW5lci5zdWJzY3JpYmUoKGU9PnRoaXMuX2hpZGRlbi5zZXRWYWx1ZShlKSkse2NhbGxXaXRoTGFzdDohMAp9KSk6dGhpcy5faGlkZGVuLnNldFZhbHVlKCFlLmlzVmlzaWJsZSgpfHwhZS5pc0FjdHVhbEludGVydmFsKCkpO2Vsc2V7KDAsby5hc3NlcnQpKGU9PT10Lm1haW5TZXJpZXMoKSk7Y29uc3Qgcz10Lm1haW5TZXJpZXMoKTthLnB1c2gocy5vblN0YXR1c0NoYW5nZWQoKSksdGhpcy5faXNTeW1ib2xJbnZhbGlkPSgwLGwuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9ucykoKCgpPT5zLmlzU3ltYm9sSW52YWxpZCgpKSxhKSx0aGlzLl9zeW1ib2xJbmZvPSgwLG4uY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKShzLnN5bWJvbEluZm8uYmluZChzKSxzLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpKX10aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXM9KDAsbC5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb25zKSgoKCk9PnRoaXMuX3NvdXJjZS5zdGF0dXNQcm92aWRlcih7fSkuZXJyb3JTdGF0dXMoKSksYSl9ZGVzdHJveSgpe3RoaXMuX3N5bWJvbD8uZGVzdHJveSgpLHRoaXMuX2lzU3ltYm9sSW52YWxpZD8uZGVzdHJveSgpLHRoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1cy5kZXN0cm95KCksdGhpcy5fc3ltYm9sSW5mby5kZXN0cm95KCksdGhpcy5fdmlzaWJpbGl0eUNvbWJpbmVyPy5kZXN0cm95KCl9ZW50aXR5SWQoKXtyZXR1cm4gdGhpcy5fc291cmNlLmlkKCl9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX3N5bWJvbH1pc1N5bWJvbEludmFsaWQoKXtyZXR1cm4gdGhpcy5faXNTeW1ib2xJbnZhbGlkfWVycm9yU3RhdHVzKCl7cmV0dXJuIHRoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1c31zeW1ib2xJbmZvKCl7cmV0dXJuIHRoaXMuX3N5bWJvbEluZm99aGlkZGVuKCl7cmV0dXJuIHRoaXMuX2hpZGRlbi5yZWFkb25seSgpfW1hcmtldFN0YXR1c01vZGVsKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5tYXJrZXRTdGF0dXNNb2RlbCgpfWRhdGFQcm9ibGVtTW9kZWwoKXtyZXR1cm4gdGhpcy5fc291cmNlLmRhdGFQcm9ibGVtTW9kZWwoKX1kYXRhVXBkYXRlZE1vZGVNb2RlbCgpe3JldHVybiB0aGlzLl9zb3VyY2UuZGF0YVVwZGF0ZWRNb2RlTW9kZWwoKX1hc3luYyBwaW5lU291cmNlQ29kZU1vZGVsKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5waW5lU291cmNlQ29kZU1vZGVsPy4oKT8/UHJvbWlzZS5yZXNvbHZlKG51bGwpfWFsZXJ0U291cmNlTW9kZWwoKXtyZXR1cm4gdGhpcy5fc291cmNlLmFsZXJ0U291cmNlTW9kZWwoKX1pc01haW5TZXJpZXMoKXtyZXR1cm4gdGhpcy5fc291cmNlLmlzTWFpblNlcmllcz8uKCk/PyExfX1jbGFzcyBoIGV4dGVuZHMgZHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fcXVvdGVzRGF0YT1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fZm9yY2VEaXNhYmxlSGlkZGVuU3RhdGU9bmV3IGkuV2F0Y2hlZFZhbHVlKCEwKSx0aGlzLl9mb3JjZURpc2FibGVIaWRkZW5TdGF0ZVRpbWVvdXQ9bnVsbCx0aGlzLl9zZXJpZXM9ZSx0aGlzLl9tYXJrZXRTdGF0dXM9ZS5tYXJrZXRTdGF0dXNNb2RlbCgpLnN0YXR1cygpLnNwYXduKCksZS5xdW90ZXNQcm92aWRlcigpLnF1b3Rlc1VwZGF0ZSgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3F1b3Rlc0RhdGEuc2V0VmFsdWUoZS5xdW90ZXNQcm92aWRlcigpLnF1b3RlcygpLnZhbHVlKCksITApfSkpLGUucXVvdGVzUHJvdmlkZXIoKS5xdW90ZVN5bWJvbENoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLl9xdW90ZXNEYXRhLnNldFZhbHVlKG51bGwpfSkpLHRoaXMuX3F1b3Rlc0RhdGEuc2V0VmFsdWUoZS5xdW90ZXMoKSksdGhpcy5fbWFya2V0U3RhdHVzLnN1YnNjcmliZSgoZT0+e251bGw9PT1lJiYobnVsbCE9PXRoaXMuX2ZvcmNlRGlzYWJsZUhpZGRlblN0YXRlVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuX2ZvcmNlRGlzYWJsZUhpZGRlblN0YXRlVGltZW91dCksdGhpcy5fZm9yY2VEaXNhYmxlSGlkZGVuU3RhdGUuc2V0VmFsdWUoITEpLHRoaXMuX2ZvcmNlRGlzYWJsZUhpZGRlblN0YXRlVGltZW91dD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuX2ZvcmNlRGlzYWJsZUhpZGRlblN0YXRlVGltZW91dD1udWxsLHRoaXMuX2ZvcmNlRGlzYWJsZUhpZGRlblN0YXRlLnNldFZhbHVlKCEwKX0pLDM1MDApKX0pLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9kYXRhUHJvYmxlbXM9dGhpcy5fc2VyaWVzLmRhdGFQcm9ibGVtTW9kZWwoKS5kYXRhUHJvYmxlbXMoKS5zcGF3bigpLHRoaXMuX21hcmtldFN0YXR1cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSGlkZGVuVmFsdWUuYmluZCh0aGlzKSksdGhpcy5fZGF0YVByb2JsZW1zLnN1YnNjcmliZSh0aGlzLl91cGRhdGVIaWRkZW5WYWx1ZS5iaW5kKHRoaXMpKSx0aGlzLl9mb3JjZURpc2FibGVIaWRkZW5TdGF0ZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSGlkZGVuVmFsdWUuYmluZCh0aGlzKSksZS5vbkluUmVwbGF5U3RhdGVDaGFuZ2VkPy4oKS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVIaWRkZW5WYWx1ZSksZS5vblN0YXR1c0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVIaWRkZW5WYWx1ZSksdGhpcy5fdXBkYXRlSGlkZGVuVmFsdWUoKX1xdW90ZXNEYXRhKCl7cmV0dXJuIHRoaXMuX3F1b3Rlc0RhdGEucmVhZG9ubHkoKS5zcGF3bigpfWRlc3Ryb3koKXt0aGlzLl9tYXJrZXRTdGF0dXMuZGVzdHJveSgpLHRoaXMuX2RhdGFQcm9ibGVtcy5kZXN0cm95KCksdGhpcy5fc2VyaWVzLm9uSW5SZXBsYXlTdGF0ZUNoYW5nZWQ/LigpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Nlcmllcy5xdW90ZXNQcm92aWRlcigpLnF1b3Rlc1VwZGF0ZSgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Nlcmllcy5xdW90ZXNQcm92aWRlcigpLnF1b3RlU3ltYm9sQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Nlcmllcy5vblN0YXR1c0NoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxudWxsIT09dGhpcy5fZm9yY2VEaXNhYmxlSGlkZGVuU3RhdGVUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fZm9yY2VEaXNhYmxlSGlkZGVuU3RhdGVUaW1lb3V0KSxzdXBlci5kZXN0cm95KCl9Cl91cGRhdGVIaWRkZW5WYWx1ZSgpe2NvbnN0IGU9dGhpcy5fc2VyaWVzLnN0YXR1cygpLHQ9dGhpcy5fZm9yY2VEaXNhYmxlSGlkZGVuU3RhdGUudmFsdWUoKXx8dGhpcy5fc2VyaWVzLmlzSW5SZXBsYXkoKS52YWx1ZSgpfHwxMj09PWV8fDQ9PT1lfHxudWxsIT09dGhpcy5fbWFya2V0U3RhdHVzLnZhbHVlKCkmJjIhPT1lJiYxIT09ZXx8dGhpcy5fZGF0YVByb2JsZW1zLnZhbHVlKCkuc29tZSgoZT0+ImhpZ2giPT09ZS5zZXZlcml0eSkpO3RoaXMuX2hpZGRlbi5zZXRWYWx1ZSghdCl9fX0sNDQxNDQwKGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse0RhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlOigpPT5adH0pO3ZhciBzPWEoMjMyMzY0KSxvPWEoOTUyOTAwKSxpPWEoMTI4OTk4KSxyPWEoODkxOTU0KSxuPWEoMTg1MjcxKSxsPWEoNjQxNTkzKSx1PWEoOTYyNzM3KSxjPWEoNzcwNzU1KSxkPWEoMTU3NDQ3KSxoPWEoNTY1MjA2KSxwPWEoNjQyNzgzKSxtPWEoMzUxMTgyKSxfPWEoODYwNTQ4KTtjb25zdCBTPW4udChudWxsLHZvaWQgMCxhKDMzMzQwNykpLGY9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLHBdLFsibWVkaXVtIixtXSxbImxhcmdlIixtXV0pXSxbITEsbmV3IE1hcChbWyJzbWFsbCIsIiJdLFsibWVkaXVtIiwiIl0sWyJsYXJnZSIsIiJdXSldXSksdz1uZXcgTWFwKFtbITAsXy5kYXRhUHJvYmxlbUxvd10sWyExLG51bGxdXSksYj1uZXcgTWFwKFtbITAsU10sWyExLG51bGxdXSksZz1uZXcgTWFwKFtbITAsU10sWyExLG51bGxdXSksdj1uZXcgTWFwKFtbITAsInZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZCkiXSxbITEsbnVsbF1dKTtjbGFzcyB5IGV4dGVuZHMgaC5TdGF0dXNWaWV3TW9kZWx7Y29uc3RydWN0b3IoZSx0LGEpe3N1cGVyKHtpY29uTWFwOmYsY2xhc3NOYW1lTWFwOncsdG9vbHRpcE1hcDpiLHRpdGxlTWFwOmcsdGl0bGVDb2xvck1hcDp2LHNpemU6dH0pLHRoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1cz1uZXcgcy5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9sYXN0RXJyb3I9bnVsbCx0aGlzLl9vcHRpb25zPWEsdGhpcy5zZXRTb3VyY2UoZSl9ZGVzdHJveSgpe3RoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1cy5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfXNldFNvdXJjZShlKXt0aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMuZGVzdHJveSgpLHRoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1cz1lLmVycm9yU3RhdHVzKCkuc3Bhd24oKSx0aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXR1cy5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KX1fZ2V0VG9vbHRpcChlKXtyZXR1cm4oZT90aGlzLl9nZXREYXRhU291cmNlRXJyb3JTdGF0dXNDdXN0b21UaXRsZSgpOm51bGwpPz9zdXBlci5fZ2V0VG9vbHRpcChlKX1fZ2V0VGl0bGUoZSl7cmV0dXJuKGU/dGhpcy5fZ2V0RGF0YVNvdXJjZUVycm9yU3RhdHVzQ3VzdG9tVGl0bGUoKTpudWxsKT8/c3VwZXIuX2dldFRpdGxlKGUpfWFzeW5jIF91cGRhdGVGdWxsVG9vbHRpcCgpe2NvbnN0IGU9dGhpcy5fc3RhdHVzLnZhbHVlKCksdD10aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMudmFsdWUoKTtudWxsIT09ZSYmbnVsbCE9PXQ/dGhpcy5fZnVsbFRvb2x0aXAuc2V0VmFsdWUoW3tpY29uOnRoaXMuX2dldEljb24oZSksaWNvbkNsYXNzTmFtZTp0aGlzLl9nZXRGdWxsVG9vbHRpcEljb25DbGFzc05hbWVzKGUpLHRpdGxlOnRoaXMuX2dldFRpdGxlKGUpLHRpdGxlQ29sb3I6dGhpcy5fZ2V0VGl0bGVDb2xvcihlKSxodG1sOnZvaWQgMD09PXQuc3RhY2tUcmFjZT9bKDAsdS5mb3JtYXRTdHVkeUVycm9yKSgoMCxsLmh0bWxFc2NhcGUpKHQuZXJyb3IpKV06bnVsbCxzaXplOnRoaXMuX3NpemUsYWN0aW9uOnRoaXMuX2dldEFjdGlvbihlKSxzb2x1dGlvbklkOnRoaXMuX29wdGlvbnMuZXJyb3JTb2x1dGlvbj90aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMudmFsdWUoKT8uc29sdXRpb25JZDp2b2lkIDAsZGF0YVFhSWQ6dGhpcy5fZGF0YVFhSWQoKT8/dm9pZCAwfV0pOnRoaXMuX2Z1bGxUb29sdGlwLnNldFZhbHVlKG51bGwpfV9kYXRhUWFJZCgpe3JldHVybiJkYXRhLXNvdXJjZS1lcnJvci1zdGF0dXMifV9nZXRBY3Rpb24oZSl7Y29uc3QgdD10aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMudmFsdWUoKTtpZih0aGlzLl9vcHRpb25zLmVycm9yU29sdXRpb24mJm51bGwhPT10KXtjb25zdHtzdHVkeUZlYXR1cmU6ZX09dDtpZihlKXJldHVybnt0ZXh0OigwLGQuZ2V0TGVhcm5Nb3JlVGl0bGUpKCksb25DbGljazooKT0+KDAsYy5vcGVuUGF5d2FsbCkoZSl9fXJldHVybiBudWxsfV91cGRhdGVTdGF0dXMoZSl7Y29uc3QgdD10aGlzLl9zdGF0dXMudmFsdWUoKTtudWxsIT09ZT8odGhpcy5fc3RhdHVzLnNldFZhbHVlKCEwKSx0JiZ0aGlzLl9sYXN0RXJyb3IhPT1lLmVycm9yJiZ0aGlzLl91cGRhdGVCeVN0YXR1cyghMCksdGhpcy5fbGFzdEVycm9yPWUuZXJyb3IpOih0aGlzLl9zdGF0dXMuc2V0VmFsdWUobnVsbCksdGhpcy5fbGFzdEVycm9yPW51bGwpfV9nZXREYXRhU291cmNlRXJyb3JTdGF0dXNDdXN0b21UaXRsZSgpe3JldHVybiB0aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMudmFsdWUoKT8udGl0bGV8fG51bGx9fXZhciBNLEk9YSg3Nzk0NzQpLEU9YSgyMjEwNjEpLEM9YSg3MDA4NCksVD1hKDU2MjQ1NSksaz1hKDI4NTg2MSkseD1hKDQ2MDQ0OCksRD1hKDU1NDY0MSksVj1hKDgzNTk4MCksUD1hKDEwODE4MiksQT1hKDc3NjU3NiksUj1hKDE5MzUwOCk7IWZ1bmN0aW9uKGUpe2UuRGVsYXlUb1JlYWx0aW1lPSJEZWxheVRvUmVhbHRpbWUiLGUuRGVsYXlOb1JlYWx0aW1lPSJEZWxheU5vUmVhbHRpbWUiLGUuVEZFWERlbGF5Rm9yR3Vlc3Q9IlRGRVhEZWxheUZvckd1ZXN0IixlLk1JTERlbGF5Rm9yR3Vlc3Q9Ik1JTERlbGF5Rm9yR3Vlc3QiLGUuSUNFU0dEZWxheUZvckd1ZXN0PSJJQ0VTR0RlbGF5Rm9yR3Vlc3QiLGUuVFVSUVVPSVNFRGVsYXlGb3JHdWVzdD0iVFVSUVVPSVNFRGVsYXlGb3JHdWVzdCIsCmUuQURYRGVsYXlGb3JHdWVzdD0iQURYRGVsYXlGb3JHdWVzdCIsZS5UUkFERUdBVEVEZWxheUZvckd1ZXN0PSJUUkFERUdBVEVEZWxheUZvckd1ZXN0IixlLkxVWFNFRGVsYXlGb3JHdWVzdD0iTFVYU0VEZWxheUZvckd1ZXN0IixlLk5TRU5HRGVsYXlGb3JHdWVzdD0iTlNFTkdEZWxheUZvckd1ZXN0IixlLkZJTlJBRGVsYXlGb3JHdWVzdD0iRklOUkFEZWxheUZvckd1ZXN0IixlLkFRVUlTRGVsYXlGb3JHdWVzdD0iQVFVSVNEZWxheUZvckd1ZXN0IixlLkVFWERlbGF5Rm9yR3Vlc3Q9IkVFWERlbGF5Rm9yR3Vlc3QiLGUuREVGb3JHdWVzdD0iREVGb3JHdWVzdCIsZS5FT0Q9IkVPRCIsZS5FT0RUb1JlYWx0aW1lPSJFT0RUb1JlYWx0aW1lIixlLlRpY2tCeVRpY2s9IlRpY2tCeVRpY2siLGUuQkFUU1RvUmVhbHRpbWU9IkJBVFNUb1JlYWx0aW1lIixlLkRlbGF5V2l0aG91dE1hcmtldEFncmVlbWVudD0iRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50IixlLkRlbGF5V2l0aG91dFBhaWRGb3JQcm9mZmVzc2lvbmFsPSJEZWxheVdpdGhvdXRQYWlkRm9yUHJvZmZlc3Npb25hbCIsZS5PdmVybmlnaHRRdW90ZXM9Ik92ZXJuaWdodFF1b3RlcyJ9KE18fChNPXt9KSk7Y29uc3QgQj1bIlRGRVhEZWxheUZvckd1ZXN0IiwiTUlMRGVsYXlGb3JHdWVzdCIsIkRFRm9yR3Vlc3QiLCJJQ0VTR0RlbGF5Rm9yR3Vlc3QiLCJUVVJRVU9JU0VEZWxheUZvckd1ZXN0IiwiQURYRGVsYXlGb3JHdWVzdCIsIlRSQURFR0FURURlbGF5Rm9yR3Vlc3QiLCJMVVhTRURlbGF5Rm9yR3Vlc3QiLCJOU0VOR0RlbGF5Rm9yR3Vlc3QiLCJGSU5SQURlbGF5Rm9yR3Vlc3QiLCJBUVVJU0RlbGF5Rm9yR3Vlc3QiLCJFRVhEZWxheUZvckd1ZXN0Il07dmFyIE49YSg3Mzc1MjMpLEY9YSg5MzA1NjYpO2NvbnN0IFc9InR2LmFscmVhZHlCbGlua2VkU3RhdHVzZXMiLE89W107ZnVuY3Rpb24gSCgpe3JldHVybiBGLmdldEpTT04oVyxPKX1jb25zdCBMPW5ldyBzLldhdGNoZWRWYWx1ZShIKCkpO2Z1bmN0aW9uIFUoZSl7Y29uc3QgdD1GLmdldEpTT04oVyxPKTt0LmluY2x1ZGVzKGUpfHwodC5wdXNoKGUpLEYuc2V0SlNPTihXLHQpLEwuc2V0VmFsdWUoSCgpKSl9Ri5vblN5bmMuc3Vic2NyaWJlKG51bGwsKCgpPT5MLnNldFZhbHVlKEgoKSkpKTtjb25zdCBHPUw7dmFyIHo9YSgzNjIyMzkpO3ZhciBxPWEoMzg2OTMxKSwkPWEoNjEzODcwKSxqPWEoOTI2OTk1KSxRPWEoNzc0NTA3KTthc3luYyBmdW5jdGlvbiBYKGUpe3ZvaWQgMD09PWUuaXNFeHBlcnQmJihlPXsuLi5lLGlzRXhwZXJ0OndpbmRvdy51c2VyLmRlY2xhcmVkX3N0YXR1cz09PVEuVXNlclN0YXR1cy5Qcm99KTsoYXdhaXQgUHJvbWlzZS5hbGwoW2EuZSg0MzU3NiksYS5lKDg0MzA2KSxhLmUoNTIzOTYpLGEuZSgxMzQ5MiksYS5lKDM3NzQ2KSxhLmUoODEwNzIpLGEuZSgyMzYyNCksYS5lKDE5NTk1KSxhLmUoMTk3ODcpLGEuZSg2Nzc5OSksYS5lKDg2NDIzKSxhLmUoODU3OSksYS5lKDQwODM1KSxhLmUoNzI2NjYpLGEuZSg5MzQyMSksYS5lKDc4NjUyKSxhLmUoNzQzODEpLGEuZSgxNTUyNiksYS5lKDYxODIxKSxhLmUoNTczMDApLGEuZSg2NjI3MCksYS5lKDUxNjgyKSxhLmUoMzc3NjcpLGEuZSgzNTE5OCksYS5lKDQ2NTkxKSxhLmUoOTQwNTQpLGEuZSgzMzEyMCksYS5lKDQwODY3KSxhLmUoMTUwOSksYS5lKDUwODAwKSxhLmUoNzY2NSksYS5lKDMzMjIxKSxhLmUoMTI1NjUpLGEuZSgzMTI2MiksYS5lKDI1Njk4KSxhLmUoMjMzMSksYS5lKDc4OTkpLGEuZSg4MTkwMyksYS5lKDgxNTI5KSxhLmUoOTEyMDApLGEuZSg0NDc4MCksYS5lKDg0MzcxKSxhLmUoMjYxNDUpLGEuZSgzODM5OCksYS5lKDM3NzU2KV0pLnRoZW4oYS5iaW5kKGEsODcxMDUyKSkpLm9wZW5FeGNoYW5nZUFncmVlbWVudERpYWxvZyhlKX12YXIgSz1hKDU4OTc0OSk7Y29uc3QgWj0oMCwKRS5nZXRMb2dnZXIpKCJDaGFydC5MZWdlbmRXaWRnZXQiKSxKPW5ldyBNYXAoW1sic21hbGwiLENdLFsibWVkaXVtIixUXSxbImxhcmdlIixUXV0pLFk9bmV3IE1hcChbWyJzbWFsbCIsa10sWyJtZWRpdW0iLHhdLFsibGFyZ2UiLHhdXSksZWU9bmV3IE1hcChbWyJzbWFsbCIsRF0sWyJtZWRpdW0iLFZdLFsibGFyZ2UiLFZdXSksdGU9bmV3IE1hcChbWyJEZWxheVRvUmVhbHRpbWUiLEpdLFsiRGVsYXlOb1JlYWx0aW1lIixKXSxbIlRGRVhEZWxheUZvckd1ZXN0IixKXSxbIk1JTERlbGF5Rm9yR3Vlc3QiLEpdLFsiSUNFU0dEZWxheUZvckd1ZXN0IixKXSxbIlRVUlFVT0lTRURlbGF5Rm9yR3Vlc3QiLEpdLFsiQURYRGVsYXlGb3JHdWVzdCIsSl0sWyJUUkFERUdBVEVEZWxheUZvckd1ZXN0IixKXSxbIkxVWFNFRGVsYXlGb3JHdWVzdCIsSl0sWyJOU0VOR0RlbGF5Rm9yR3Vlc3QiLEpdLFsiRklOUkFEZWxheUZvckd1ZXN0IixKXSxbIkFRVUlTRGVsYXlGb3JHdWVzdCIsSl0sWyJFRVhEZWxheUZvckd1ZXN0IixKXSxbIkRFRm9yR3Vlc3QiLEpdLFsiRU9EIixZXSxbIkVPRFRvUmVhbHRpbWUiLFldLFsiVGlja0J5VGljayIsZWVdLFsiQkFUU1RvUmVhbHRpbWUiLGVlXSxbIk92ZXJuaWdodFF1b3RlcyIsZWVdLFsiRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50IixKXV0pLGFlPW5ldyBNYXAoW1siRGVsYXlUb1JlYWx0aW1lIixfLmRlbGF5XSxbIkRlbGF5Tm9SZWFsdGltZSIsXy5kZWxheV0sWyJURkVYRGVsYXlGb3JHdWVzdCIsXy5kZWxheV0sWyJNSUxEZWxheUZvckd1ZXN0IixfLmRlbGF5XSxbIklDRVNHRGVsYXlGb3JHdWVzdCIsXy5kZWxheV0sWyJUVVJRVU9JU0VEZWxheUZvckd1ZXN0IixfLmRlbGF5XSxbIkFEWERlbGF5Rm9yR3Vlc3QiLF8uZGVsYXldLFsiVFJBREVHQVRFRGVsYXlGb3JHdWVzdCIsXy5kZWxheV0sWyJMVVhTRURlbGF5Rm9yR3Vlc3QiLF8uZGVsYXldLFsiTlNFTkdEZWxheUZvckd1ZXN0IixfLmRlbGF5XSxbIkZJTlJBRGVsYXlGb3JHdWVzdCIsXy5kZWxheV0sWyJBUVVJU0RlbGF5Rm9yR3Vlc3QiLF8uZGVsYXldLFsiRUVYRGVsYXlGb3JHdWVzdCIsXy5kZWxheV0sWyJERUZvckd1ZXN0IixfLmRlbGF5XSxbIkVPRCIsXy5lb2RdLFsiRU9EVG9SZWFsdGltZSIsXy5lb2RdLFsiVGlja0J5VGljayIsXy5ub3RBY2N1cmF0ZV0sWyJCQVRTVG9SZWFsdGltZSIsXy5ub3RBY2N1cmF0ZV0sWyJPdmVybmlnaHRRdW90ZXMiLF8ubm90QWNjdXJhdGVdLFsiRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50IixfLmRlbGF5XV0pLHNlPW5ldyBNYXAoW1siRGVsYXlUb1JlYWx0aW1lIixQLmNvbG9yRGVsYXlNb2RlXSxbIkRlbGF5Tm9SZWFsdGltZSIsUC5jb2xvckRlbGF5TW9kZV0sWyJURkVYRGVsYXlGb3JHdWVzdCIsUC5jb2xvckRlbGF5TW9kZV0sWyJNSUxEZWxheUZvckd1ZXN0IixQLmNvbG9yRGVsYXlNb2RlXSxbIklDRVNHRGVsYXlGb3JHdWVzdCIsUC5jb2xvckRlbGF5TW9kZV0sWyJUVVJRVU9JU0VEZWxheUZvckd1ZXN0IixQLmNvbG9yRGVsYXlNb2RlXSxbIkFEWERlbGF5Rm9yR3Vlc3QiLFAuY29sb3JEZWxheU1vZGVdLFsiVFJBREVHQVRFRGVsYXlGb3JHdWVzdCIsUC5jb2xvckRlbGF5TW9kZV0sWyJMVVhTRURlbGF5Rm9yR3Vlc3QiLFAuY29sb3JEZWxheU1vZGVdLFsiTlNFTkdEZWxheUZvckd1ZXN0IixQLmNvbG9yRGVsYXlNb2RlXSxbIkZJTlJBRGVsYXlGb3JHdWVzdCIsUC5jb2xvckRlbGF5TW9kZV0sWyJBUVVJU0RlbGF5Rm9yR3Vlc3QiLFAuY29sb3JEZWxheU1vZGVdLFsiRUVYRGVsYXlGb3JHdWVzdCIsUC5jb2xvckRlbGF5TW9kZV0sWyJERUZvckd1ZXN0IixQLmNvbG9yRGVsYXlNb2RlXSxbIkVPRCIsUC5jb2xvckVvZE1vZGVdLFsiRU9EVG9SZWFsdGltZSIsUC5jb2xvckVvZE1vZGVdLFsiVGlja0J5VGljayIsUC5jb2xvck5vdEFjY3VyYXRlTW9kZV0sWyJCQVRTVG9SZWFsdGltZSIsUC5jb2xvck5vdEFjY3VyYXRlTW9kZV0sWyJPdmVybmlnaHRRdW90ZXMiLFAuY29sb3JOb3RBY2N1cmF0ZU1vZGVdLFsiRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50IixQLmNvbG9yRGVsYXlNb2RlXV0pO3ZhciBvZTshZnVuY3Rpb24oZSl7ZS5Ub29sdGlwU2VwYXJhdG9yPSIgwrcgIn0ob2V8fChvZT17fSkpO2NsYXNzIGllIGV4dGVuZHMgaC5TdGF0dXNWaWV3TW9kZWx7Y29uc3RydWN0b3IoZSx0LGEpe3N1cGVyKHtpY29uTWFwOnRlLGNsYXNzTmFtZU1hcDphZSx0aXRsZUNvbG9yTWFwOnNlLHNpemU6dH0pLHRoaXMuX2RhdGFVcGRhdGVkSW5mbz1uZXcgcy5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9vbk1hcmtldFN0YXR1c0NoYW5nZWQ9KCk9Pnt0aGlzLl91cGRhdGVCeVN0YXR1cyh0aGlzLnN0YXR1cygpLnZhbHVlKCkpfSx0aGlzLl9vcHRpb25zPWEsdGhpcy5fbW9kZWw9ZSx0aGlzLl9kYXRhTW9kZUJsaW5raW5nU3RhdHVzZXM9Ry5zcGF3bigpLHRoaXMuX2RhdGFNb2RlQmxpbmtpbmdTdGF0dXNlcy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQmxpbmtpbmdNb2RlLmJpbmQodGhpcykpLHRoaXMuX29wdGlvbnMubWFya2V0U3RhdHVzPy5zdWJzY3JpYmUodGhpcy5fb25NYXJrZXRTdGF0dXNDaGFuZ2VkKSx0aGlzLnR1cm5PZmZCbGlua2luZ01vZGU9dGhpcy5fdHVybk9mZkJsaW5raW5nLmJpbmQodGhpcyksdGhpcy5zZXRNb2RlbChlKX1kZXN0cm95KCl7dGhpcy5fZGF0YVVwZGF0ZWRJbmZvLmRlc3Ryb3koKSx0aGlzLl9kYXRhTW9kZUJsaW5raW5nU3RhdHVzZXMuZGVzdHJveSgpLHRoaXMuX29wdGlvbnMubWFya2V0U3RhdHVzPy51bnN1YnNjcmliZSh0aGlzLl9vbk1hcmtldFN0YXR1c0NoYW5nZWQpLHRoaXMuX29wdGlvbnMubWFya2V0U3RhdHVzPy5yZWxlYXNlKCksc3VwZXIuZGVzdHJveSgpfXNldE1vZGVsKGUpe2lmKHRoaXMuX2RhdGFVcGRhdGVkSW5mby5kZXN0cm95KCksbnVsbD09PWUpcmV0dXJuIHRoaXMuX21vZGVsPWUsdm9pZCh0aGlzLl9kYXRhVXBkYXRlZEluZm89bmV3IHMuV2F0Y2hlZFZhbHVlKG51bGwpLnNwYXduKCkpO3RoaXMuX2RhdGFVcGRhdGVkSW5mbz1lLnN0YXR1cygpLnNwYXduKCksCnRoaXMuX2RhdGFVcGRhdGVkSW5mby5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pfW9uUGlsbENsaWNrKCl7dmFyIGUsdCxhO251bGwhPT10aGlzLl9tb2RlbCYmKGU9Im1kX3BpbGxfY2xpY2siLHQ9ImNoYXJ0IixhPXRoaXMuX21vZGVsLnByb05hbWUoKXx8dm9pZCAwLCgwLHouZ2V0VHJhY2tlcikoKS50aGVuKChzPT5zPy50cmFja01hcmtldERhdGFTdGF0dXNFdmVudChlLHQsYSkpKSl9X3Nob3VsZEJlSGlkZGVuQnlTdGF0dXMoZSl7Y29uc3QgdD10aGlzLl9vcHRpb25zLm1hcmtldFN0YXR1cz8udmFsdWUoKTtyZXR1cm4iZXhwaXJlZCI9PT10fHwiZGVsaXN0ZWQiPT09dHx8KCEoIkJBVFNUb1JlYWx0aW1lIiE9PWV8fCF0aGlzLl9tb2RlbD8uaXNTcHJlYWQoKSl8fHN1cGVyLl9zaG91bGRCZUhpZGRlbkJ5U3RhdHVzKGUpKX1fZ2V0VG9vbHRpcCgpe2NvbnN0IGU9dGhpcy5fZ2V0U2hvcnRUZXh0cygpO3JldHVybiBudWxsPT09ZT9udWxsOk9iamVjdC52YWx1ZXMoZSkuam9pbigiIMK3ICIpfWFzeW5jIF91cGRhdGVGdWxsVG9vbHRpcCgpe2NvbnN0IGU9dGhpcy5fZGF0YVVwZGF0ZWRJbmZvLnZhbHVlKCksdD10aGlzLl9zdGF0dXMudmFsdWUoKTtpZihudWxsPT09ZXx8bnVsbD09PXQpcmV0dXJuIHZvaWQgdGhpcy5fZnVsbFRvb2x0aXAuc2V0VmFsdWUobnVsbCk7Y29uc3QgYT10aGlzLl9nZXRTaG9ydFRleHRzKCksW3Msb109YXdhaXQgUHJvbWlzZS5hbGwoW3RoaXMuX2dldEh0bWxzKCksdGhpcy5fZ2V0QWN0aW9ucygpXSk7aWYoZSE9PXRoaXMuX2RhdGFVcGRhdGVkSW5mby52YWx1ZSgpKXJldHVybjtjb25zdCBpPVtdO2Zvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9dC5tb2RlOyJCQVRTVG9SZWFsdGltZSI9PT1lJiZ0aGlzLl9tb2RlbD8uaXNTcHJlYWQoKXx8aS5wdXNoKHtpY29uOnRoaXMuX2dldEljb24oZSksaWNvbkNsYXNzTmFtZTp0aGlzLl9nZXRGdWxsVG9vbHRpcEljb25DbGFzc05hbWVzKGUpLHRpdGxlOmEmJmFbZV0sdGl0bGVDb2xvcjp0aGlzLl9nZXRUaXRsZUNvbG9yKGUpLGh0bWw6cyYmc1tlXSxzaXplOnRoaXMuX3NpemUsYWN0aW9uOm8mJm9bZV19KX10aGlzLl9mdWxsVG9vbHRpcC5zZXRWYWx1ZShpKX1fdXBkYXRlU3RhdHVzKGUpe2NvbnN0IHQ9bnVsbCE9PWU/ZVswXS5tb2RlOm51bGw7dGhpcy5fc3RhdHVzLnNldFZhbHVlKHQ/P251bGwsITApLHRoaXMuX3VwZGF0ZUJsaW5raW5nTW9kZSgpfWFzeW5jIF9nZXRIdG1scygpe2NvbnN0IGU9dGhpcy5fZGF0YVVwZGF0ZWRJbmZvLnZhbHVlKCk7aWYobnVsbD09PWV8fG51bGw9PT10aGlzLl9tb2RlbClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpO2NvbnN0IHQ9e30scz10aGlzLl9tb2RlbC5zeW1ib2xOYW1lKCk7bGV0IG89bnVsbDtjb25zdCBpPXRoaXMuX21vZGVsLmxpc3RlZEV4Y2hhbmdlKCkscj10aGlzLl9tb2RlbC50cmFkZWRFeGNoYW5nZSgpO3RyeXtvPWF3YWl0IHRoaXMuX21vZGVsLmRlc2NyaXB0aW9uKCl9Y2F0Y2goZSl7Wi5sb2dFcnJvcihgQ2FuJ3QgZ2V0IGV4Y2hhbmdlIGRlc2NyaXB0aW9uLCByZWFzb246ICR7KDAsSy5lcnJvclRvU3RyaW5nKShlKX1gKX1mb3IoY29uc3QgdSBvZiBlKXtjb25zdCBlPXUubW9kZTtpZih0W2VdPVtdLFsiRGVsYXlUb1JlYWx0aW1lIiwiRGVsYXlOb1JlYWx0aW1lIiwiRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50IiwuLi5CXS5pbmNsdWRlcyhlKSYmKHRbZV0ucHVzaCgoMCxkLmdldERlbGF5SHRtbCkocyx0aGlzLl9tb2RlbC50aW1lKCkpKSx0aGlzLl9vcHRpb25zLnN1YnNjcmlwdGlvbkZ1bGxJbmZvJiZudWxsIT09byYmIkRlbGF5VG9SZWFsdGltZSI9PT1lJiZ0W2VdLnB1c2goKDAsZC5nZXREZWxheVRvUmVhbHRpbWVKc3gpKEkuY3JlYXRlRWxlbWVudCgiYiIsbnVsbCxvKSkpLCJEZWxheU5vUmVhbHRpbWUiPT09ZSYmdFtlXS5wdXNoKCgwLGQuZ2V0RGVsYXlOb1JlYWx0aW1lSHRtbCkoKSksIkRlbGF5V2l0aG91dE1hcmtldEFncmVlbWVudCI9PT1lJiZ0W2VdLnB1c2goKDAsZC5nZXREZWxheVdpdGhvdXRNYXJrZXRBZ3JlZW1lbnRIdG1sKShpKSksdGhpcy5fb3B0aW9ucy5zdWJzY3JpcHRpb25GdWxsSW5mbyYmQi5pbmNsdWRlcyhlKSYmdFtlXS5wdXNoKCgwLGQuZ2V0UnRGcmVlRm9yUmVnaXN0ZXJlZFVzZXJzSHRtbCkoaSkpKSwiRU9EIj09PWUmJih0W2VdPVtSLmVvZEh0bWxdKSwiRU9EVG9SZWFsdGltZSI9PT1lJiYodFtlXT1bUi5lb2RUb1JlYWx0aW1lSHRtbC5mb3JtYXQoe2xpc3RlZEV4Y2hhbmdlOmA8Yj4ke2l9PC9iPmB9KV0pLCJUaWNrQnlUaWNrIj09PWUpe2NvbnN0IHM9dm9pZCAwPT09dS51cGRhdGVQZXJpb2Q/Ui50aWNrQnlUaWNrSHRtbDFGdWxsSW5mbzooMCxsLmh0bWxFc2NhcGUpKG4udChudWxsLHtjb3VudDp1LnVwZGF0ZVBlcmlvZCxyZXBsYWNlOnthbW91bnQ6KHUudXBkYXRlUGVyaW9kPz8xKS50b1N0cmluZygpfSxwbHVyYWw6IkRhdGEgb24gb3VyIEJhc2ljIHBsYW4gaXMgdXBkYXRlZCBvbmNlIGV2ZXJ5IHthbW91bnR9IHNlY29uZHMsIGV2ZW4gaWYgdGhlcmUgYXJlIG1vcmUgdXBkYXRlcyBvbiB0aGUgbWFya2V0LiJ9LGEoNzU1MTkyKSkpLG89dm9pZCAwPT09dS51cGRhdGVQZXJpb2Q/Ui50aWNrQnlUaWNrSHRtbDE6KDAsbC5odG1sRXNjYXBlKShuLnQobnVsbCx7Y291bnQ6dS51cGRhdGVQZXJpb2QscmVwbGFjZTp7YW1vdW50Oih1LnVwZGF0ZVBlcmlvZD8/MSkudG9TdHJpbmcoKX0scGx1cmFsOiJEYXRhIGlzIHVwZGF0ZWQgb25jZSBldmVyeSB7YW1vdW50fSBzZWNvbmRzLCBldmVuIGlmIHRoZXJlIGFyZSBtb3JlIHVwZGF0ZXMgb24gdGhlIG1hcmtldC4ifSxhKDc3MTM1NikpKTt0W2VdLnB1c2godGhpcy5fb3B0aW9ucy5zdWJzY3JpcHRpb25GdWxsSW5mbz9zOm8pLHRoaXMuX29wdGlvbnMuc3Vic2NyaXB0aW9uRnVsbEluZm8mJnRbZV0ucHVzaChSLnRpY2tCeVRpY2tIdG1sMil9aWYoaSE9PXImJiJCQVRTVG9SZWFsdGltZSI9PT1lKXtjb25zdCBhPSgwLE4uaXNBbWV4VG9DYm9lTWlncmF0ZWRTeW1ib2wpKGksdGhpcy5fbW9kZWwucHJvUGVybSgpKQo7Ti5jcnVjaWFsUmVhbHRpbWVCYXRzLmluY2x1ZGVzKHIpfHxhP3RbZV0ucHVzaChSLmJhdHNUb1JlYWx0aW1lQ3J1Y2lhbEh0bWwuZm9ybWF0KHtleGNoYW5nZTphPyJOWVNFIEFyY2EiOmksb3JpZ2luYWxFeGNoYW5nZTpyfSkpOnRbZV0ucHVzaChSLmJhdHNUb1JlYWx0aW1lSHRtbDEuZm9ybWF0KHtzeW1ib2xOYW1lOnMsZXhjaGFuZ2U6cn0pLCIiIT09aT8oMCxsLmh0bWxFc2NhcGUpKFIuYmF0c1RvUmVhbHRpbWVIdG1sMldpdGhFeGNoYW5nZSkuZm9ybWF0KHtleGNoYW5nZTppfSk6KDAsbC5odG1sRXNjYXBlKShSLmJhdHNUb1JlYWx0aW1lSHRtbDJXaXRob3V0RXhjaGFuZ2UpKX0iT3Zlcm5pZ2h0UXVvdGVzIj09PWUmJnRbZV0ucHVzaChSLm92ZXJuaWdodFF1b3Rlc1RleHQpfXJldHVybiBPYmplY3Qua2V5cyh0KS5sZW5ndGg+MD90Om51bGx9YXN5bmMgX2dldEFjdGlvbnMoKXtjb25zdCBlPXRoaXMuX2RhdGFVcGRhdGVkSW5mby52YWx1ZSgpO2lmKG51bGw9PT1lfHxudWxsPT09dGhpcy5fbW9kZWwpcmV0dXJuIG51bGw7Y29uc3QgdD17fTtpZih0aGlzLl9vcHRpb25zLnN1YnNjcmlwdGlvbkZ1bGxJbmZvKWZvcihjb25zdCBhIG9mIGUpe2NvbnN0IGU9YS5tb2RlO2lmKEIuaW5jbHVkZXMoYS5tb2RlKSYmKHRbZV09e3RleHQ6KDAsZC5nZXRDcmVhdGVGcmVlQWNjb3VudFRpdGxlKSgpLG9uQ2xpY2s6KCk9PnsoMCwkLnNob3dTaWduTW9kYWwpKHtzb3VyY2U6IkRhdGEgd2FybmluZyBpbmRpY2F0b3IifSl9fSksIkRlbGF5V2l0aG91dE1hcmtldEFncmVlbWVudCI9PT1lKXtjb25zdCBhPXRoaXMuX21vZGVsLnByb1Blcm0oKXx8dGhpcy5fbW9kZWwubGlzdGVkRXhjaGFuZ2UoKTt0W2VdPXt0ZXh0OigwLGQuZ2V0RmlsbEV4Y2hhbmdlQWdyZWVtZW50c1RpdGxlKSgpLG9uQ2xpY2s6KCk9PntYKHtleGNoYW5nZTphLnRvTG93ZXJDYXNlKCksaXNGcmVlRXhjaGFuZ2U6ITAsaGlkZUNsb3NlQnV0dG9uOiExfSl9fX1pZigiQkFUU1RvUmVhbHRpbWUiPT09ZSl7Y29uc3QgYT10aGlzLl9tb2RlbC5saXN0ZWRFeGNoYW5nZSgpLHM9KDAsTi5pc0FtZXhUb0Nib2VNaWdyYXRlZFN5bWJvbCkoYSx0aGlzLl9tb2RlbC5wcm9QZXJtKCkpO2lmKE4uY3J1Y2lhbFJlYWx0aW1lQmF0cy5pbmNsdWRlcyhhKXx8cyl7Y29uc3Qgbz10aGlzLl9tb2RlbC50cmFkZWRFeGNoYW5nZSgpO3RbZV09dGhpcy5fZ29Qcm9EaWFsb2dBY3Rpb24oe2ZlYXR1cmU6IkJBVFNUb1JlYWx0aW1lIixjb3VudHJ5OnRoaXMuX21vZGVsLmNvdW50cnkoKSxsaW5rOiJodHRwczovL3d3dy5jYm9lLmNvbS91cy9lcXVpdGllcy9tYXJrZXRfc3RhdGlzdGljcyIsb3JpZ2luYWxFeGNoYW5nZTpvLGxpc3RlZEV4Y2hhbmdlOnM/Ik5ZU0UgQXJjYSI6YSxleGNoYW5nZTp0aGlzLl9tb2RlbC5wcm9QZXJtKCl9KX1lbHNlIHRbZV09e3RleHQ6KDAsZC5nZXRMZWFybk1vcmVUaXRsZSkoKSxvbkNsaWNrOigpPT57dGhpcy5fc2hvd1N1cHBvcnREaWFsb2dGb3JVcGRhdGVNb2RlKEEuQkFUU19UT19SRUFMVElNRV9TT0xVVElPTl9JRCl9fX1pZigiVGlja0J5VGljayI9PT1lfHwiRGVsYXlUb1JlYWx0aW1lIj09PWUpe2xldCBhPW51bGw7Y29uc3Qgcz10aGlzLl9tb2RlbC50cmFkZWRFeGNoYW5nZSgpO3RyeXthPWF3YWl0IHRoaXMuX21vZGVsLmRlc2NyaXB0aW9uKCl9Y2F0Y2goZSl7Wi5sb2dFcnJvcihgQ2FuJ3QgZ2V0IGV4Y2hhbmdlIGRlc2NyaXB0aW9uLCByZWFzb246ICR7KDAsSy5lcnJvclRvU3RyaW5nKShlKX1gKX10W2VdPXRoaXMuX2dvUHJvRGlhbG9nQWN0aW9uKHtmZWF0dXJlOmUsdGltZTp0aGlzLl9tb2RlbC50aW1lKCksZGVzY3JpcHRpb246YSxleGNoYW5nZTp0aGlzLl9tb2RlbC5wcm9QZXJtKCl8fHMudG9Mb3dlckNhc2UoKX0pfSJPdmVybmlnaHRRdW90ZXMiPT09ZSYmKHRbZV09dGhpcy5fZ29Qcm9EaWFsb2dBY3Rpb24oe2ZlYXR1cmU6Ik92ZXJuaWdodFF1b3RlcyIsZXhjaGFuZ2U6dGhpcy5fbW9kZWwucHJvUGVybSgpfHx0aGlzLl9tb2RlbC50cmFkZWRFeGNoYW5nZSgpLnRvTG93ZXJDYXNlKCl9KSksIkVPRFRvUmVhbHRpbWUiPT09ZSYmKHRbZV09dGhpcy5fZ29Qcm9EaWFsb2dBY3Rpb24oe2ZlYXR1cmU6IkVPRFRvUmVhbHRpbWUiLGV4Y2hhbmdlOnRoaXMuX21vZGVsLnByb1Blcm0oKXx8dGhpcy5fbW9kZWwudHJhZGVkRXhjaGFuZ2UoKS50b0xvd2VyQ2FzZSgpfSkpfXJldHVybiBPYmplY3Qua2V5cyh0KS5sZW5ndGg+MD90Om51bGx9X3Nob3dTdXBwb3J0RGlhbG9nRm9yVXBkYXRlTW9kZShlKXtpZigoMCxqLnNob3dTdXBwb3J0RGlhbG9nKSh7c29sdXRpb25JZDplfSksbnVsbD09PXRoaXMuX21vZGVsKXJldHVybjtjb25zdCB0PXRoaXMuX21vZGVsLnByb05hbWUoKTsoMCx6LmdldFRyYWNrZXIpKCkudGhlbigoZT0+ZSYmdCYmZS50cmFja01hcmtldERhdGFTb2x1dGlvbkV2ZW50KHQpKSl9X2dldFNob3J0VGV4dHMoKXtjb25zdCBlPXRoaXMuX2RhdGFVcGRhdGVkSW5mby52YWx1ZSgpO2lmKG51bGw9PT1lfHxudWxsPT09dGhpcy5fbW9kZWwpcmV0dXJuIG51bGw7Y29uc3QgdD17fTtmb3IoY29uc3QgcyBvZiBlKXtjb25zdCBlPXMubW9kZTtpZihbIkRlbGF5VG9SZWFsdGltZSIsIkRlbGF5Tm9SZWFsdGltZSIsLi4uQiwiRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50Il0uaW5jbHVkZXMoZSkmJih0W2VdPVIuZGVsYXlUb29sdGlwKSxbIkVPRCIsIkVPRFRvUmVhbHRpbWUiXS5pbmNsdWRlcyhlKSYmKHRbZV09Ui5lb2RUb29sdGlwKSwiVGlja0J5VGljayI9PT1lKXtjb25zdCBvPXZvaWQgMD09PXMudXBkYXRlUGVyaW9kP1Iubm90QWNjdXJhdGUxUGVyU2Vjb25kVG9vbHRpcDooMCxsLmh0bWxFc2NhcGUpKG4udChudWxsLHtwbHVyYWw6Ik9uZSB1cGRhdGUgZXZlcnkge2Ftb3VudH0gc2Vjb25kcyIsY291bnQ6cy51cGRhdGVQZXJpb2QscmVwbGFjZTp7YW1vdW50OihzLnVwZGF0ZVBlcmlvZD8/MSkudG9TdHJpbmcoKX19LGEoMjU2ODE3KSkpO3RbZV09b31pZigiQkFUU1RvUmVhbHRpbWUiPT09ZSl7CmNvbnN0IGE9dGhpcy5fbW9kZWwudHJhZGVkRXhjaGFuZ2UoKSxzPXRoaXMuX21vZGVsLmxpc3RlZEV4Y2hhbmdlKCk7dFtlXT1hIT09cz9SLmV4Y2hhbmdlQnlPcmlnaW5hbEV4Y2hhbmdlVG9vbHRpcC5mb3JtYXQoe2V4Y2hhbmdlOnMsb3JpZ2luYWxFeGNoYW5nZTphfSk6YX0iT3Zlcm5pZ2h0UXVvdGVzIj09PWUmJih0W2VdPVIub3Zlcm5pZ2h0UXVvdGVzVGl0bGUpfXJldHVybiBPYmplY3Qua2V5cyh0KS5sZW5ndGg+MD90Om51bGx9X3VwZGF0ZUJsaW5raW5nTW9kZSgpe2NvbnN0IGU9dGhpcy5fZGF0YVVwZGF0ZWRJbmZvLnZhbHVlKCk7aWYobnVsbD09PWUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fZGF0YU1vZGVCbGlua2luZ1N0YXR1c2VzLnZhbHVlKCk7Zm9yKGNvbnN0IGEgb2YgZSlpZighdC5pbmNsdWRlcyhhLm1vZGUpKXJldHVybiB2b2lkIHRoaXMuaXNCbGlua2luZ01vZGUuc2V0VmFsdWUoITApO3RoaXMuaXNCbGlua2luZ01vZGUuc2V0VmFsdWUoITEpfV90dXJuT2ZmQmxpbmtpbmcoKXtjb25zdCBlPXRoaXMuX2RhdGFVcGRhdGVkSW5mby52YWx1ZSgpO2lmKG51bGwhPT1lKWZvcihjb25zdCB0IG9mIGUpVSh0Lm1vZGUpfV9nb1Byb0RpYWxvZ0FjdGlvbihlKXtyZXR1cm57dGV4dDooMCxkLmdldExlYXJuTW9yZVRpdGxlKSgpLG9uQ2xpY2s6KCk9PntudWxsIT09dGhpcy5fbW9kZWwmJihlLmdvcHJvU291cmNlPWUuZ29wcm9Tb3VyY2U/PyJjaGFydF9pbmZvX3BpbGxfcGF5d2FsbCIsKDAsYy5vcGVuUGF5d2FsbCkoZSx7YWZ0ZXJPcGVuOigpPT4oMCxxLnRyYWNrRXZlbnQpKCJEYXRhIFdhcm5pbmciLCJGdWxsIGRlc2NyaXB0aW9uIHZpc2libGUiLGUuZmVhdHVyZSl9KSl9fX19Y29uc3QgcmU9bi50KG51bGwsdm9pZCAwLGEoMjI4MDQxKSksbmU9bmV3IE1hcChbWyJoaWdoIixuZXcgTWFwKFtbInNtYWxsIixwXSxbIm1lZGl1bSIsbV0sWyJsYXJnZSIsbV1dKV0sWyJsb3ciLG5ldyBNYXAoW1sic21hbGwiLHBdLFsibWVkaXVtIixtXSxbImxhcmdlIixtXV0pXV0pLGxlPW5ldyBNYXAoW1siaGlnaCIsXy5kYXRhUHJvYmxlbUhpZ2hdLFsibG93IixfLmRhdGFQcm9ibGVtTG93XV0pLHVlPW5ldyBNYXAoW1siaGlnaCIscmVdLFsibG93IixyZV1dKSxjZT1uZXcgTWFwKFtbImhpZ2giLCJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKSJdLFsibG93IiwidmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkKSJdXSk7Y2xhc3MgZGUgZXh0ZW5kcyBoLlN0YXR1c1ZpZXdNb2RlbHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKHt0b29sdGlwTWFwOnVlLGljb25NYXA6bmUsY2xhc3NOYW1lTWFwOmxlLHRpdGxlTWFwOnVlLHRpdGxlQ29sb3JNYXA6Y2Usc2l6ZTp0fSksdGhpcy5fZGF0YVByb2JsZW1zPW5ldyBzLldhdGNoZWRWYWx1ZShbXSkuc3Bhd24oKSx0aGlzLl9pc0RhdGFQcm9ibGVtQ3JpdGljYWw9bmV3IHMuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLnNldE1vZGVsKGUpfWRlc3Ryb3koKXt0aGlzLl9kYXRhUHJvYmxlbXMuZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1pc0RhdGFQcm9ibGVtQ3JpdGljYWwoKXtyZXR1cm4gdGhpcy5faXNEYXRhUHJvYmxlbUNyaXRpY2FsfXNldE1vZGVsKGUpe3RoaXMuX2RhdGFQcm9ibGVtcy5kZXN0cm95KCksbnVsbCE9PWU/KHRoaXMuX2RhdGFQcm9ibGVtcz1lLmRhdGFQcm9ibGVtcygpLnNwYXduKCksdGhpcy5fZGF0YVByb2JsZW1zLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0dXMuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSkpOnRoaXMuX2RhdGFQcm9ibGVtcz1uZXcgcy5XYXRjaGVkVmFsdWUoW10pLnNwYXduKCl9YXN5bmMgX3VwZGF0ZUZ1bGxUb29sdGlwKCl7Y29uc3QgZT10aGlzLnN0YXR1cygpLnZhbHVlKCksdD10aGlzLl9kYXRhUHJvYmxlbXMudmFsdWUoKTtpZihudWxsPT09ZXx8MD09PXQubGVuZ3RoKXJldHVybiB2b2lkIHRoaXMuX2Z1bGxUb29sdGlwLnNldFZhbHVlKG51bGwpO2NvbnN0IGE9dC5tYXAoKCh0LGEpPT4oe2ljb246dGhpcy5fZ2V0SWNvbihlKSxpY29uQ2xhc3NOYW1lOnRoaXMuX2dldEZ1bGxUb29sdGlwSWNvbkNsYXNzTmFtZXMoZSksdGl0bGU6dC50aXRsZT8/KDA9PT1hP3RoaXMuX2dldFRpdGxlKGUpOm51bGwpLHRpdGxlQ29sb3I6dGhpcy5fZ2V0VGl0bGVDb2xvcihlKSxodG1sOlsoMCxsLmh0bWxFc2NhcGUpKHQudGV4dCldLHNpemU6dGhpcy5fc2l6ZSxhY3Rpb246dGhpcy5fZ2V0QWN0aW9uKGUpfSkpKTt0aGlzLl9mdWxsVG9vbHRpcC5zZXRWYWx1ZShhKX1fZ2V0VG9vbHRpcChlKXtyZXR1cm4gdGhpcy5fZ2V0RGF0YVByb2JsZW1DdXN0b21UaXRsZSgpPz9zdXBlci5fZ2V0VG9vbHRpcChlKX1fZ2V0VGl0bGUoZSl7cmV0dXJuIHRoaXMuX2dldERhdGFQcm9ibGVtQ3VzdG9tVGl0bGUoKT8/c3VwZXIuX2dldFRpdGxlKGUpfV91cGRhdGVTdGF0dXMoZSl7Y29uc3QgdD1lWzBdPy5zZXZlcml0eT8/bnVsbCxhPXRoaXMuX3N0YXR1cy52YWx1ZSgpIT09dDt0aGlzLl9zdGF0dXMuc2V0VmFsdWUodCksdGhpcy5faXNEYXRhUHJvYmxlbUNyaXRpY2FsLnNldFZhbHVlKGZ1bmN0aW9uKGUpe3JldHVybiJoaWdoIj09PWV9KHQpKSxhfHx0aGlzLl91cGRhdGVGdWxsVG9vbHRpcCgpfV9nZXREYXRhUHJvYmxlbUN1c3RvbVRpdGxlKCl7cmV0dXJuIHRoaXMuX2RhdGFQcm9ibGVtcy52YWx1ZSgpPy5bMF0/LnRpdGxlfHxudWxsfX12YXIgaGU9YSg5NzA2MzUpLHBlPWEoNzg2NDIwKSxtZT1hKDM3ODU5OSkKO2NvbnN0IF9lPW4udChudWxsLHZvaWQgMCxhKDczMjc3NikpLFNlPW4udChudWxsLHZvaWQgMCxhKDY5MjYxNSkpLGZlPW5ldyBNYXAoW1shMCxuZXcgTWFwKFtbInNtYWxsIixwZV0sWyJtZWRpdW0iLG1lXSxbImxhcmdlIixtZV1dKV0sWyExLG5ldyBNYXAoW1sic21hbGwiLCIiXSxbIm1lZGl1bSIsIiJdLFsibGFyZ2UiLCIiXV0pXV0pLHdlPW5ldyBNYXAoW1shMCxfLmludmFsaWRTeW1ib2xdLFshMSxudWxsXV0pLGJlPW5ldyBNYXAoW1shMCxfZV0sWyExLG51bGxdXSksZ2U9bmV3IE1hcChbWyEwLF9lXSxbITEsbnVsbF1dKSx2ZT1uZXcgTWFwKFtbITAsInZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXIpIl0sWyExLG51bGxdXSkseWU9bmV3IE1hcChbWyEwLFtTZV1dLFshMSxudWxsXV0pLE1lPW5ldyBNYXAoW1shMCxudWxsXSxbITEsbnVsbF1dKTt2YXIgSWUsRWU9YSg1NjkzOTgpLENlPWEoMTc5NzcxKSxUZT1hKDkxNDQ4Nyksa2U9YS5uKFRlKSx4ZT1hKDM4MjU5Myk7ZnVuY3Rpb24gRGUoZSl7cmV0dXJuIHZvaWQgMCE9PWUudGV4dD9lLnRleHQ6YCR7ZS5saW5lTnVtYmVyfSR7ZS5mdW5jdGlvbk9yU2NvcGVOYW1lfWB9ZnVuY3Rpb24gVmUoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsc3RhY2tUcmFjZTpzLGJhckluZGV4Om8saW5GdW5jdGlvbjppfT1lLHI9KDAsSS51c2VNZW1vKSgoKCk9PnMubGVuZ3RoPjEwP1suLi5zLnNsaWNlKDAsNSkse3RleHQ6Ii4uLiJ9LC4uLnMuc2xpY2UoLTUpXTpzKSxbc10pO3JldHVybiByLmxlbmd0aHx8dm9pZCAwIT09b3x8dm9pZCAwIT09aT9JLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTprZSgpKHhlLndyYXBTdGFja1RyYWNlLHQpfSxJLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTprZSgpKHhlLmluZm8seGUuaGlkZUVtcHR5KX0sdm9pZCAwIT09byYmSS5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsSS5jcmVhdGVFbGVtZW50KCJzcGFuIixudWxsLGAke24udChudWxsLHtjb250ZXh0OiJwaW5lIHN0YWNrIHRyYWNlIn0sYSg4ODYxMzMpKX06IGApLEkuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTp4ZS5iYXJJbmRleH0sbykpLGkmJkkuY3JlYXRlRWxlbWVudCgiZGl2IixudWxsLEkuY3JlYXRlRWxlbWVudCgic3BhbiIsbnVsbCxgJHtuLnQobnVsbCx7Y29udGV4dDoicGluZSBzdGFjayB0cmFjZSJ9LGEoODE5MTYzKSl9OiBgKSxJLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6eGUuZnVuY3Rpb25OYW1lfSxpKSkpLEkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnhlLmhpZGVFbXB0eX0sci5tYXAoKChlLHQpPT5JLmNyZWF0ZUVsZW1lbnQoUGUse2tleTpgJHtEZShlKX0ke3R9YCwuLi5lfSkpKSkpOm51bGx9ZnVuY3Rpb24gUGUoZSl7Y29uc3R7ZnVuY3Rpb25PclNjb3BlTmFtZTp0LGxpbmVOdW1iZXI6YSx0ZXh0OnN9PWU7cmV0dXJuIEkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnhlLnN0YWNrVHJhY2VMaW5lfSxzP0kuY3JlYXRlRWxlbWVudCgic3BhbiIsbnVsbCxzKTpJLmNyZWF0ZUVsZW1lbnQoInNwYW4iLG51bGwsImF0ICIsSS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnhlLmZ1bmN0aW9uTmFtZX0sdCwiKCkiKSwiOiIsYSkpfSFmdW5jdGlvbihlKXtlW2UuTWF4U3RhY2tUcmFjZUNvdW50PTEwXT0iTWF4U3RhY2tUcmFjZUNvdW50In0oSWV8fChJZT17fSkpO3ZhciBBZT1hKDM0NDc4NSksUmU9YSg2MzI0NDQpLEJlPWEoNTU3MDY1KSxOZT1hKDg1NDgyMCksRmU9YSg0Njg0OTMpLFdlPWEoMjc2MDE5KTtmdW5jdGlvbiBPZShlKXtjb25zdHtjbGFzc05hbWU6dCxwaW5lU291cmNlQ29kZU1vZGVsOnMscGluZUVkaXRvck9wZW5QYXJhbXM6b309ZSxbaSxyXT0oMCxJLnVzZVN0YXRlKSghMSksbD0oMCxGZS51c2VQcm9taXNlKSgoKCk9PnMpKTsoMCxJLnVzZUVmZmVjdCkoKCgpPT57aWYobnVsbD09PWwpcmV0dXJuO2NvbnN0IGU9ZT0+e2NvbnN0IHQ9Qm9vbGVhbihvLmVycm9yPy5zdGFydD8/dm9pZCAwKTtyKGUmJnQpfTtyZXR1cm4gbC5pc0FibGVTaG93U291cmNlQ29kZSgpLnN1YnNjcmliZShlLHtjYWxsV2l0aExhc3Q6ITB9KSwoKT0+bC5pc0FibGVTaG93U291cmNlQ29kZSgpLnVuc3Vic2NyaWJlKGUpfSksW28sbF0pO2NvbnN0IHU9KDAsSS51c2VDYWxsYmFjaykoKCgpPT57KDAsV2UuZ2xvYmFsQ2xvc2VNZW51KSgpLG8mJmw/LnNob3dQaW5lU291cmNlQ29kZShvKX0pLFtsLG9dKTtyZXR1cm4gaT9JLmNyZWF0ZUVsZW1lbnQoTmUuTGlnaHRCdXR0b24se2NsYXNzTmFtZTp0LG9uQ2xpY2s6dSxzaXplOiJ4c21hbGwifSxuLnQobnVsbCx2b2lkIDAsYSg2NDExMDkpKSk6bnVsbH12YXIgSGU9YSg3NTgyMzgpLExlPWEoNzgzMjU0KSxVZT1hKDgwMjUyOCksR2U9YSgyMjMwODApO2Z1bmN0aW9uIHplKHtjb2RlOmV9KXtjb25zdCB0PSgwLEZlLnVzZVByb21pc2UpKChhc3luYygpPT57dHJ5e3JldHVybiBhd2FpdCgwLFVlLmZldGNoRWRpdG9yRXJyb3IpKGUpfWNhdGNoKGUpe3JldHVybiBudWxsfX0pLHZvaWQgMCxbZV0pO3JldHVybiB0P0kuY3JlYXRlRWxlbWVudChOZS5MaWdodEJ1dHRvbix7c2l6ZToieHNtYWxsIix2YXJpYW50OiJzZWNvbmRhcnkiLGVuZFNsb3Q6SS5jcmVhdGVFbGVtZW50KEhlLklubGluZUljb24se2ljb246R2V9KSxvbkNsaWNrOigpPT5vcGVuKHQsIl9ibGFuayIpfSxMZS50KG51bGwse2NvbnRleHQ6IlBpbmUncyBlcnJvciBjb2RlIn0sYSg5OTI2MzYpKSk6bnVsbH12YXIgcWU9YSg4MzAxOTcpO2Z1bmN0aW9uICRlKHtlZGl0b3JFcnJvcjplLHNob3dSZXBvcnRJdEJ1dHRvbjp0LGNvZGU6YSxjbGFzc05hbWU6c30pe3JldHVybiBJLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTprZSgpKHFlLmVkaXRvckVycm9yQnV0dG9ucyxzKX0sZSx0LGEpfXZhciBqZT1hKDg3Nzk5OSk7ZnVuY3Rpb24gUWUoZSl7cmV0dXJuIGUubWFwKChlPT5gYXQgJHtlLmZ1bmN0aW9uT3JTY29wZU5hbWV9KCk6JHtlLmxpbmVOdW1iZXJ9YCkpLmpvaW4oIlxuIil9ZnVuY3Rpb24gWGUoZSl7CmNvbnN0e3N0YWNrVHJhY2U6dCxlcnJvck1lc3NhZ2U6cyxwaW5lU291cmNlQ29kZU1vZGVsOm8sYmFySW5kZXg6aSxpbkZ1bmN0aW9uOnJ9PWUsW2wsdV09KDAsSS51c2VTdGF0ZSkoITEpLGM9KDAsSS51c2VSZWYpKG51bGwpLGQ9KDAsSS51c2VNZW1vKSgoKCk9Pntjb25zdCBlPXQuZmluZCgoZT0+IWUuaWR8fCEoMCxSZS5pc1B1Ymxpc2hlZFBpbmVJZCkoZS5pZCkpKTtyZXR1cm4gdm9pZCAwPT09ZT97fTp7c3RhY2tUcmFjZTp0LGVycm9yOnttZXNzYWdlOnMsc3RhcnQ6e2xpbmU6ZS5saW5lTnVtYmVyLGNvbHVtbjowfX19fSksW3MsdF0pLGg9a2UoKShqZS53cmFwRXJyb3IsbCYmamUuY2xpY2tlZEFuaW0pO3JldHVybiBJLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpqZS53cmFwcGVyfSxJLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpjLGNsYXNzTmFtZTpoLG9uQ2xpY2s6ZnVuY3Rpb24oZSl7aWYobClyZXR1cm47aWYoKDAsQmUuY29weVRvQ2xpcGJvYXJkKSh7dGV4dDpRZSh0KX0pLG51bGw9PT1jLmN1cnJlbnQpcmV0dXJuOygwLEFlLnNob3dPbkVsZW1lbnQpKGMuY3VycmVudCx7dG9vbHRpcERlbGF5OjAsY29udGVudDp7dHlwZToidGV4dCIsZGF0YTpuLnQobnVsbCx2b2lkIDAsYSg0Njk4NDEpKX19KSx1KCEwKSxzZXRUaW1lb3V0KCgoKT0+eygwLEFlLmhpZGUpKCksdSghMSl9KSwyZTMpfX0scy5sZW5ndGgmJkkuY3JlYXRlRWxlbWVudChLZSx7ZXJyb3JNZXNzYWdlOnN9KSxJLmNyZWF0ZUVsZW1lbnQoVmUse3N0YWNrVHJhY2U6dCxiYXJJbmRleDppLGluRnVuY3Rpb246cixjbGFzc05hbWU6amUud3JhcFN0YWNrVHJhY2V9KSksSS5jcmVhdGVFbGVtZW50KCRlLHtlZGl0b3JFcnJvcjpJLmNyZWF0ZUVsZW1lbnQoT2Use2NsYXNzTmFtZToiZWRpdG9yQnV0dG9uIixwaW5lU291cmNlQ29kZU1vZGVsOm8scGluZUVkaXRvck9wZW5QYXJhbXM6ZH0pLGNvZGU6ZS5jb2RlJiZJLmNyZWF0ZUVsZW1lbnQoemUse2NvZGU6ZS5jb2RlfSl9KSl9ZnVuY3Rpb24gS2UoZSl7Y29uc3R7ZXJyb3JNZXNzYWdlOnR9PWU7cmV0dXJuIEkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmplLmVycm9yVGV4dH0sdCl9ZnVuY3Rpb24gWmUoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsZWRpdG9yRXJyb3I6YSxwaW5lU291cmNlQ29kZU1vZGVsOnN9PWU7cmV0dXJuIGEuaWQuc3RhcnRzV2l0aCgiVVNFUiIpP0kuY3JlYXRlRWxlbWVudCgiZGl2IixudWxsLEkuY3JlYXRlRWxlbWVudChPZSx7Y2xhc3NOYW1lOnQscGluZVNvdXJjZUNvZGVNb2RlbDpzLHBpbmVFZGl0b3JPcGVuUGFyYW1zOntlcnJvcjphfX0pKTpudWxsfWZ1bmN0aW9uIEplKGUpe2NvbnN0e2NsYXNzTmFtZTp0fT1lO3JldHVybiBJLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxJLmNyZWF0ZUVsZW1lbnQoTmUuTGlnaHRCdXR0b24se2NsYXNzTmFtZTp0LG9uQ2xpY2s6ZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLCgwLGouc2hvd1N1cHBvcnREaWFsb2cpKHtpbml0aWFsU3RhdGU6ImNoYXQtYXNzaXN0YW50In0pfSxzaXplOiJ4c21hbGwifSxuLnQobnVsbCx2b2lkIDAsYSg1MDg3NDkpKSkpfWNsYXNzIFlle2NvbnN0cnVjdG9yKGUpe3RoaXMuX2NsaWNrT25MaW5lQ2FsbGJhY2s9ZT0+e0NlLmVtaXQoInN0dWR5X3N0YWNrX3RyYWNlX29wZW5fb25fbGluZSIsdGhpcy5fc291cmNlLmVudGl0eUlkPy4oKT8/IiIsZSl9LHRoaXMuX3NvdXJjZT1lfWRlc3Ryb3koKXt9cmVuZGVyZXIoZSx0KXtjb25zdCBhPXRoaXMuX3NvdXJjZS5lcnJvclN0YXR1cygpLnZhbHVlKCk7cmV0dXJuIG51bGw9PT1hP251bGw6YS5zdGFja1RyYWNlPygwLEkuY3JlYXRlRWxlbWVudCkoWGUse2tleTplLHBpbmVTb3VyY2VDb2RlTW9kZWw6dGhpcy5fc291cmNlLnBpbmVTb3VyY2VDb2RlTW9kZWwoKSxlcnJvck1lc3NhZ2U6YS5lcnJvcj8/IiIsc3RhY2tUcmFjZTphLnN0YWNrVHJhY2UsY2xpY2tPbkxpbmVDYWxsYmFjazp0aGlzLl9jbGlja09uTGluZUNhbGxiYWNrLGNvZGU6YS5jb2RlLGJhckluZGV4OmEuYmFySW5kZXh9KTphLmVkaXRvckVycm9yfHxhLnNob3dSZXBvcnRJdEJ1dHRvbnx8YS5jb2RlPygwLEkuY3JlYXRlRWxlbWVudCkoJGUse2tleTplLGNsYXNzTmFtZTp0LGVkaXRvckVycm9yOmEuZWRpdG9yRXJyb3ImJigwLEkuY3JlYXRlRWxlbWVudCkoWmUse2VkaXRvckVycm9yOmEuZWRpdG9yRXJyb3IscGluZVNvdXJjZUNvZGVNb2RlbDp0aGlzLl9zb3VyY2UucGluZVNvdXJjZUNvZGVNb2RlbCgpfSksc2hvd1JlcG9ydEl0QnV0dG9uOmEuc2hvd1JlcG9ydEl0QnV0dG9uJiYoMCxJLmNyZWF0ZUVsZW1lbnQpKEplKSxjb2RlOmEuY29kZSYmKDAsSS5jcmVhdGVFbGVtZW50KSh6ZSx7Y29kZTphLmNvZGV9KX0pOm51bGx9dXBkYXRlU291cmNlKGUpe3RoaXMuX3NvdXJjZT1lfX12YXIgZXQ9YSg5MDExMDgpLHR0PWEoOTg5ODcyKSxhdD1hKDkxMzg0Myk7Y29uc3Qgc3Q9bi50KG51bGwsdm9pZCAwLGEoMTA3ODcwKSksb3Q9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLHR0XSxbIm1lZGl1bSIsYXRdLFsibGFyZ2UiLGF0XV0pXSxbITEsbmV3IE1hcChbWyJzbWFsbCIsIiJdLFsibWVkaXVtIiwiIl0sWyJsYXJnZSIsIiJdXSldXSksaXQ9bmV3IE1hcChbWyEwLF8udXBkYXRlQXZhaWxhYmxlXSxbITEsbnVsbF1dKSxydD1uZXcgTWFwKFtbITAsc3RdLFshMSxudWxsXV0pLG50PW5ldyBNYXAoW1shMCxzdF0sWyExLG51bGxdXSksbHQ9bmV3IE1hcChbWyEwLCJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbCkiXSxbITEsbnVsbF1dKTtjbGFzcyB1dCBleHRlbmRzIGguU3RhdHVzVmlld01vZGVse2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoe2ljb25NYXA6b3QsY2xhc3NOYW1lTWFwOml0LHRvb2x0aXBNYXA6cnQsdGl0bGVNYXA6bnQsdGl0bGVDb2xvck1hcDpsdCxzaXplOnR9KSx0aGlzLl9waW5lU291cmNlQ29kZU1vZGVsPW5ldyBzLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9wb3NzaWJsZVVwZGF0ZUluZm9ybWF0aW9uPW5ldyBzLldhdGNoZWRWYWx1ZShudWxsKSwKdGhpcy5fbGFzdFVwZGF0ZUFib3J0Q29udHJvbGxlcj1udWxsLHRoaXMuX2VudGl0eUlkPW5ldyBzLldhdGNoZWRWYWx1ZShlLmVudGl0eUlkPy4oKSksdGhpcy51cGRhdGVTb3VyY2UoZSksdGhpcy5fYXZhaWxhYmxlRm9yVXBkYXRlPSgwLG8uY29tYmluZSkoKChlLHQsYSk9PndpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZ0JiYhIWEmJiEhZSYmKDAsZXQudXBkYXRlc0luZm9TdXBwb3J0ZWQpKGUuc2NyaXB0SWRQYXJ0KCk/PyIiKSksdGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbC53ZWFrUmVmZXJlbmNlKCksdGhpcy5fdmlzaWJsZS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fcG9zc2libGVVcGRhdGVJbmZvcm1hdGlvbi53ZWFrUmVmZXJlbmNlKCkpfWRlc3Ryb3koKXt0aGlzLl9hdmFpbGFibGVGb3JVcGRhdGUuZGVzdHJveSgpLHRoaXMuX2xhc3RVcGRhdGVBYm9ydENvbnRyb2xsZXI/LmFib3J0KCksc3VwZXIuZGVzdHJveSgpfWVudGl0eUlkKCl7cmV0dXJuIHRoaXMuX2VudGl0eUlkLnJlYWRvbmx5KCl9dmlzaWJsZSgpe3JldHVybiB0aGlzLl9hdmFpbGFibGVGb3JVcGRhdGV9dXBkYXRlU291cmNlKGUpe3RoaXMuX2VudGl0eUlkLnNldFZhbHVlKGUuZW50aXR5SWQ/LigpKTtjb25zdCB0PWUucGluZVNvdXJjZUNvZGVNb2RlbCgpO3RoaXMuX2xhc3RVcGRhdGVBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7Y29uc3QgYT1uZXcgQWJvcnRDb250cm9sbGVyO3RoaXMuX2xhc3RVcGRhdGVBYm9ydENvbnRyb2xsZXI9YSx0LnRoZW4oKGU9PnthLnNpZ25hbC5hYm9ydGVkfHwodGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbC5zZXRWYWx1ZShlKSxlJiZlLnJlcXVlc3RVcGRhdGVJbmZvcm1hdGlvbigpLnRoZW4oKGU9PnthLnNpZ25hbC5hYm9ydGVkfHwodGhpcy5fcG9zc2libGVVcGRhdGVJbmZvcm1hdGlvbi5zZXRWYWx1ZShlKSx0aGlzLl9zdGF0dXMuc2V0VmFsdWUoZSYmZS5jdXJyZW50VmVyc2lvbi5pc0xlc3MoZS5sYXN0VmVyc2lvbikpKX0pKSl9KSl9X3Nob3VsZEJlSGlkZGVuQnlTdGF0dXMoZSl7cmV0dXJuIWV9X2RhdGFRYUlkKCl7cmV0dXJuInNjcmlwdC11cGRhdGUtc3RhdHVzIn19dmFyIGN0PWEoOTc1MTk4KSxkdD1hKDEzODk5NCksaHQ9YSg3OTE0MjcpLHB0PWEoNjMzNjQ0KSxtdD1hKDc1NzkyMyk7ZnVuY3Rpb24gX3QoZSl7Y29uc3R7Y2xhc3NOYW1lOnQscGluZVNvdXJjZUNvZGVNb2RlbDpzLG1vZGVsOm8sb25DbG9zZTppfT1lLHI9KDAsRmUudXNlUHJvbWlzZSkoKCgpPT5zKSksbD0oMCxGZS51c2VQcm9taXNlKSgoKCk9PnI/ci5yZXF1ZXN0VXBkYXRlSW5mb3JtYXRpb24oKTpQcm9taXNlLnJlc29sdmUobnVsbCkpLCgoKT0+e30pLFtyXSksdT1yPy5zY3JpcHRJZFBhcnQoKSxjPXUmJmh0LlN0dWR5TWV0YUluZm8uaGFzUHViU3VmZml4KHUpLGQ9KDAsRmUudXNlUHJvbWlzZSkoKCgpPT5jJiZyPygwLHB0LnNob3dBYm91dFRoZVN0dWR5SGFuZGxlcikocikudGhlbigoZT0+KHtoYW5kbGVyOmV9KSkpOlByb21pc2UucmVzb2x2ZShudWxsKSksKCgpPT57fSksW3IsY10pLFtoLHBdPSgwLEkudXNlU3RhdGUpKCgoKT0+Ri5nZXRCb29sKCJjaGFydC51cGRhdGVJbmRpY2F0b3JzT25BbGxDaGFydHMiLCEwKSkpO3JldHVybigwLEkudXNlRWZmZWN0KSgoKCk9PntGLnNldFZhbHVlKCJjaGFydC51cGRhdGVJbmRpY2F0b3JzT25BbGxDaGFydHMiLGgpfSksW2hdKSxJLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxJLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTptdC5kZXNjcmlwdGlvbn0sbi50KG51bGwsdm9pZCAwLGEoNTMzNzk5KSksZCYmSS5jcmVhdGVFbGVtZW50KCJhIix7Y2xhc3NOYW1lOm10Lmxpbmssb25DbGljazpmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksZD8uaGFuZGxlcj8uKCl9fSwiICIsbi50KG51bGwsdm9pZCAwLGEoMTgzMTMyKSkpKSxJLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTptdC5tb2RlfSxJLmNyZWF0ZUVsZW1lbnQoY3QuQ2hlY2tib3gse2NoZWNrZWQ6aCxvbkNoYW5nZTooKT0+cCgoZT0+IWUpKSxsYWJlbDpuLnQobnVsbCx2b2lkIDAsYSgzNDYzKSl9KSxJLmNyZWF0ZUVsZW1lbnQoZHQuSWNvblF1ZXN0aW9uSW5mb3JtYXRpb24se2ljb246ImluZm8iLGFyaWFMYWJlbDpuLnQobnVsbCx2b2lkIDAsYSgxOTQzMDQpKSx0b29sdGlwOm4udChudWxsLHZvaWQgMCxhKDE5NDMwNCkpfSkpLEkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOm10LmFjdGlvbnN9LEkuY3JlYXRlRWxlbWVudChOZS5MaWdodEJ1dHRvbix7Y2xhc3NOYW1lOnQsc2l6ZToieHNtYWxsIixvbkNsaWNrOmZ1bmN0aW9uKCl7bCYmKHI/LnVwZGF0ZVRvVmVyc2lvbihvLGwubGFzdFZlcnNpb24saCksaSgpKX0sZGF0YVFhSWQ6InVwZGF0ZS10by1sYXRlc3QtdmVyc2lvbi1idXR0b24ifSxuLnQobnVsbCx2b2lkIDAsYSg1ODEzODgpKSkpKX1jbGFzcyBTdHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3NvdXJjZT1lLHRoaXMuX21vZGVsPXR9ZGVzdHJveSgpe31yZW5kZXJlcihlLHQsYSl7cmV0dXJuKDAsSS5jcmVhdGVFbGVtZW50KShfdCx7a2V5OmUscGluZVNvdXJjZUNvZGVNb2RlbDp0aGlzLl9zb3VyY2UucGluZVNvdXJjZUNvZGVNb2RlbCgpLG1vZGVsOnRoaXMuX21vZGVsLGNsYXNzTmFtZTp0LG9uQ2xvc2U6YX0pfXVwZGF0ZVNvdXJjZShlKXt0aGlzLl9zb3VyY2U9ZX19dmFyIGZ0PWEoNTA1NTYpLHd0PWEoMjI2OTM3KSxidD1hKDk5OTMwMikKO2NvbnN0IGd0PW5ldyBNYXAoW1syLG5ldyBNYXAoW1sic21hbGwiLGJ0XSxbIm1lZGl1bSIsYnRdLFsibGFyZ2UiLGJ0XV0pXSxbMSxuZXcgTWFwKFtbInNtYWxsIixidF0sWyJtZWRpdW0iLGJ0XSxbImxhcmdlIixidF1dKV0sWzMsbmV3IE1hcChbWyJzbWFsbCIsYnRdLFsibWVkaXVtIixidF0sWyJsYXJnZSIsYnRdXSldXSksdnQ9bmV3IE1hcChbWzIsXy5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvcl0sWzEsXy5vcGVuZWRJblBpbmVFZGl0b3JdLFszLF8ub3BlbmVkSW5QaW5lRWRpdG9yXV0pLHl0PW5ldyBNYXAoW1syLFIub3BlbmVkSW5EZXRhY2hlZEVkaXRvclRpdGxlXSxbMSxSLm9wZW5lZEluRWRpdG9yVGl0bGVdLFszLFIub3BlbmVkSW5Cb3R0b21QYW5lbFRpdGxlXV0pLE10PW5ldyBNYXAoW1syLCgwLGZ0LmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTU1MCIpXSxbMSwoMCxmdC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWZvcmVzdC1ncmVlbi01MDAiKV0sWzMsKDAsZnQuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1mb3Jlc3QtZ3JlZW4tNTAwIildXSksSXQ9bmV3IE1hcChbWzIsW1Iub3BlbmVkSW5EZXRhY2hlZEVkaXRvclRleHRdXSxbMSxbUi5vcGVuZWRJbkVkaXRvclRleHRdXSxbMyxbUi5vcGVuZWRJbkJvdHRvbVBhbmVsVGV4dF1dXSk7Y2xhc3MgRXQgZXh0ZW5kcyBoLlN0YXR1c1ZpZXdNb2RlbHtjb25zdHJ1Y3RvcihlLHQpe2NvbnN0IGE9KCk9PnRoaXMuX3Nob3dTb3VyY2VDb2RlKCkscz1uZXcgTWFwKFtbMix7dGV4dDpSLm9wZW5JbkVkaXRvckFjdGlvblRleHQsb25DbGljazphfV0sWzEse3RleHQ6Ui5vcGVuSW5FZGl0b3JBY3Rpb25UZXh0LG9uQ2xpY2s6YX1dLFszLHt0ZXh0OlIub3BlbkluRWRpdG9yQWN0aW9uVGV4dCxvbkNsaWNrOmF9XV0pO3N1cGVyKHtpY29uTWFwOmd0LGNsYXNzTmFtZU1hcDp2dCx0aXRsZU1hcDp5dCx0b29sdGlwTWFwOnl0LHRpdGxlQ29sb3JNYXA6TXQsaHRtbE1hcDpJdCxhY3Rpb25NYXA6cyxzaXplOnR9KSx0aGlzLl9waW5lTW9kZWxSZXNvdXJjZT1udWxsLHRoaXMuc2V0TW9kZWwoZSl9ZGVzdHJveSgpe3RoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXM/LmRlc3Ryb3koKSx0aGlzLl9waW5lTW9kZWxSZXNvdXJjZT8uZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1zZXRNb2RlbChlKXt0aGlzLl9waW5lTW9kZWxSZXNvdXJjZT8uZGVzdHJveSgpLHRoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXM/LmRlc3Ryb3koKSx0aGlzLl91cGRhdGVTdGF0dXMoMCksdGhpcy5fcGluZU1vZGVsUmVzb3VyY2U9bmV3IHd0LkFzeW5jUmVzb3VyY2VXcmFwcGVyKGUpLHRoaXMuX3BpbmVNb2RlbFJlc291cmNlLmNhbGxGdW5jdGlvbigoZT0+e2UmJih0aGlzLl9waW5lU291cmNlRWRpdG9yU3RhdHVzPWUucGluZVNvdXJjZUVkaXRvclN0YXR1cygpLnNwYXduKCksdGhpcy5fcGluZVNvdXJjZUVkaXRvclN0YXR1cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pKX0pKX1fc2hvdWxkQmVIaWRkZW5CeVN0YXR1cyhlKXtyZXR1cm4gMD09PWV9X3VwZGF0ZVN0YXR1cyhlKXt0aGlzLl92aXNpYmxlLnNldFZhbHVlKDAhPT1lKSx0aGlzLl9zdGF0dXMuc2V0VmFsdWUoZSl9X3Nob3dTb3VyY2VDb2RlKCl7dGhpcy5fcGluZU1vZGVsUmVzb3VyY2U/LmNhbGxGdW5jdGlvbigoZT0+e2U/LnNob3dQaW5lU291cmNlQ29kZSgpfSkpfX12YXIgQ3Q9YSgzMTg5NzQpLFR0PWEoNDY1MTM0KSxrdD1hKDEwOTMyNSk7Y29uc3QgeHQ9TGUudChudWxsLHZvaWQgMCxhKDc1ODU0OSkpLER0PUxlLnQobnVsbCx2b2lkIDAsYSgzNDkzMzApKSxWdD1MZS50KG51bGwse2NvbnRleHQ6ImJ1dHRvbiB0aXRsZSJ9LGEoMzcxODE1KSksUHQ9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLFR0XSxbIm1lZGl1bSIsa3RdLFsibGFyZ2UiLGt0XV0pXSxbITEsbmV3IE1hcChbWyJzbWFsbCIsIiJdLFsibWVkaXVtIiwiIl0sWyJsYXJnZSIsIiJdXSldXSksQXQ9bmV3IE1hcChbWyEwLF8uYWN0aXZlU3RyYXRlZ3ldLFshMSxudWxsXV0pLFJ0PW5ldyBNYXAoW1shMCx4dF0sWyExLG51bGxdXSksQnQ9bmV3IE1hcChbWyEwLCJ2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQpIl0sWyExLG51bGxdXSksTnQ9bmV3IE1hcChbWyEwLFtEdF1dLFshMSxudWxsXV0pO2NsYXNzIEZ0IGV4dGVuZHMgaGUuQm9vbGVhblN0YXR1c1ZpZXdNb2RlbHtjb25zdHJ1Y3RvcihlLHQsYSl7c3VwZXIodCx7aWNvbk1hcDpQdCxjbGFzc05hbWVNYXA6QXQsdGl0bGVNYXA6UnQsdG9vbHRpcE1hcDpSdCx0aXRsZUNvbG9yTWFwOkJ0LGh0bWxNYXA6TnQsc2l6ZTphfSksdGhpcy5fcGluZU1vZGVsUmVzb3VyY2U9bnVsbCx0aGlzLl9yZXNldFN0YXR1c0ZvcmNlPSgpPT57Y29uc3QgZT10aGlzLl9zdGF0dXMudmFsdWUoKT8/ITE7dGhpcy5fdmlzaWJsZS5zZXRWYWx1ZShlLCEwKSx0aGlzLl9zdGF0dXMuc2V0VmFsdWUoZSwhMCl9LHRoaXMudXBkYXRlU291cmNlKGUpfWRlc3Ryb3koKXt0aGlzLl9pc0FibGVTaG93QmFja3Rlc3Rpbmc/LmRlc3Ryb3koKSx0aGlzLl9waW5lTW9kZWxSZXNvdXJjZT8uZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX11cGRhdGVTb3VyY2UoZSl7dGhpcy5faXNBYmxlU2hvd0JhY2t0ZXN0aW5nPy5kZXN0cm95KCksdGhpcy5fcGluZU1vZGVsUmVzb3VyY2U/LmRlc3Ryb3koKSx0aGlzLl9waW5lTW9kZWxSZXNvdXJjZT1uZXcgd3QuQXN5bmNSZXNvdXJjZVdyYXBwZXIoZS5waW5lU291cmNlQ29kZU1vZGVsKCkpLHRoaXMuX3BpbmVNb2RlbFJlc291cmNlLmNhbGxGdW5jdGlvbigoZT0+e2UmJih0aGlzLl9pc0FibGVTaG93QmFja3Rlc3Rpbmc9ZS5pc0FibGVTaG93U291cmNlQ29kZSgpLnNwYXduKCksdGhpcy5faXNBYmxlU2hvd0JhY2t0ZXN0aW5nLnN1YnNjcmliZSh0aGlzLl9yZXNldFN0YXR1c0ZvcmNlLHtjYWxsV2l0aExhc3Q6ITB9KSl9KSl9X3Nob3VsZEJlSGlkZGVuQnlTdGF0dXMoZSl7cmV0dXJuIWV9X2dldEFjdGlvbihlKXsKcmV0dXJuIGUmJnRoaXMuX2lzQWJsZVNob3dCYWNrdGVzdGluZz8udmFsdWUoKT97dGV4dDpWdCxvbkNsaWNrOigpPT50aGlzLl9waW5lTW9kZWxSZXNvdXJjZT8uY2FsbEZ1bmN0aW9uKChlPT57ZT8uc2hvd0JhY2t0ZXN0aW5nPy4oKX0pKX06bnVsbH19dmFyIFd0PWEoOTEyODE1KSxPdD1hKDczMDExMCk7Y29uc3QgSHQ9bi50KG51bGwsdm9pZCAwLGEoMjQ1ODcwKSksTHQ9bi50KG51bGwsdm9pZCAwLGEoOTMzMTg0KSksVXQ9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLFd0XSxbIm1lZGl1bSIsT3RdLFsibGFyZ2UiLE90XV0pXV0pLEd0PW5ldyBNYXAoW1shMCxfLmFsZXJ0XV0pLHp0PW5ldyBNYXAoW1shMCxIdF1dKSxxdD1uZXcgTWFwKFtbITAsSHRdXSksJHQ9bmV3IE1hcChbWyEwLCgwLGZ0LmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItbWludHktZ3JlZW4tNTAwIildXSksanQ9bmV3IE1hcChbWyEwLFtdXV0pO2NsYXNzIFF0IGV4dGVuZHMgaC5TdGF0dXNWaWV3TW9kZWx7Y29uc3RydWN0b3IoZSx0KXtzdXBlcih7aWNvbk1hcDpVdCxjbGFzc05hbWVNYXA6R3QsdG9vbHRpcE1hcDpxdCx0aXRsZU1hcDp6dCx0aXRsZUNvbG9yTWFwOiR0LGh0bWxNYXA6anQsc2l6ZTp0fSksdGhpcy5fYWxlcnRzPW51bGwsdGhpcy5zZXRTb3VyY2UoZSl9ZGVzdHJveSgpe3RoaXMuX2FsZXJ0cz8uZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1zZXRTb3VyY2UoZSl7dGhpcy5fYWxlcnRzPy5kZXN0cm95KCksdGhpcy5fYWxlcnRzPW51bGw7Y29uc3QgdD1lLmFsZXJ0U291cmNlTW9kZWwoKTt0aGlzLl9hbGVydHM9dD8uYWxlcnRzKCkuc3Bhd24oKT8/bnVsbCx0aGlzLl9hbGVydHM/LnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0dXMuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSl9X3Nob3VsZEJlSGlkZGVuQnlTdGF0dXMoZSl7cmV0dXJuIWV9X2dldFRpdGxlKGUpe3JldHVybmAke0h0fSDCtyAke3RoaXMuX2FsZXJ0cz8udmFsdWUoKS5sZW5ndGh9YH1fZ2V0VG9vbHRpcChlKXtyZXR1cm4gdGhpcy5fZ2V0VGl0bGUoZSl9X2dldEhUTUwoZSl7Y29uc3QgdD10aGlzLl9hbGVydHM/LnZhbHVlKCk7aWYodm9pZCAwPT09dHx8MD09PXQubGVuZ3RoKXJldHVybltdO2NvbnN0IGE9dC5zbGljZSgwLDUpLm1hcCgoZT0+YDxkaXYgY2xhc3M9IiR7Xy5hbGVydEl0ZW19Ij4ke2UudGl0bGV9PC9kaXY+YCkpO3JldHVybltgPGRpdiBjbGFzcz0iJHtfLmFsZXJ0SXRlbXNDb250YWluZXJ9Ij4ke2Euam9pbigiIil9PC9kaXY+YF19X2dldEFjdGlvbihlKXtjb25zdCB0PXRoaXMuX2FsZXJ0cz8udmFsdWUoKTtpZih2b2lkIDA9PT10fHx0Lmxlbmd0aDw9NSlyZXR1cm4gbnVsbDtjb25zdCBhPXdpbmRvdy53aWRnZXRiYXI7cmV0dXJuIGEmJmEuaXNWaXNpYmxlKCk/e3RleHQ6THQsY2xhc3NOYW1lOl8uYWxlcnRBY3Rpb24sdG9vbHRpcDpMdCxvbkNsaWNrOigpPT5hLnNldFBhZ2UoImFsZXJ0cyIpfTpudWxsfV91cGRhdGVTdGF0dXMoKXtjb25zdCBlPXRoaXMuX2FsZXJ0cz8udmFsdWUoKSx0PWU/LmZpbHRlcigoZT0+ZS5jYW5EaXNwbGF5T25TdGF0dXNWaWV3KCkpKSxhPXZvaWQgMCE9PXQmJnQubGVuZ3RoPjA7dGhpcy5fc3RhdHVzLnNldFZhbHVlKGEsITApfX12YXIgWHQ9YSgyMzIzNjEpLEt0PWEoNzgzOTc4KTtjbGFzcyBadCBleHRlbmRzIEt0LlN0YXR1c2VzV2lkZ2V0U3RhdGVCYXNle2NvbnN0cnVjdG9yKGUsdCxhKXtzdXBlcihhKSx0aGlzLmRhdGFTb3VyY2VFcnJvclN0YXR1c1Nob3duPW5ldyBzLldhdGNoZWRWYWx1ZSghMSksdGhpcy5kYXRhVXBkYXRlZE1vZGVTaG93bj1uZXcgcy5XYXRjaGVkVmFsdWUoITEpLHRoaXMuaXNTeW1ib2xJbnZhbGlkU3RhdHVzU2hvd249bmV3IHMuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9tYXJrZXRTdGF0dXNDYW5CZVNob3duPW5ldyBzLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fZGF0YVVwZGF0ZWRNb2RlQ2FuQmVTaG93bj1uZXcgcy5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3N5bWJvbEludmFsaWRWaWV3TW9kZWw9bnVsbCx0aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXNWaWV3TW9kZWw9bnVsbCx0aGlzLl9tYXJrZXRTdGF0dXNWaWV3TW9kZWw9bnVsbCx0aGlzLl9kYXRhVXBkYXRlZE1vZGVWaWV3TW9kZWw9bnVsbCx0aGlzLl9kYXRhUHJvYmxlbVZpZXdNb2RlbD1udWxsLHRoaXMuX3VwZGF0ZUF2YWlsYWJsZVZpZXdNb2RlbD1udWxsLHRoaXMuX2FsZXJ0U3RhdHVzVmlld01vZGVsPW51bGwsdGhpcy5fcGluZUVkaXRvclN0YXRlVmlld01vZGVsPW51bGwsdGhpcy5fYWN0aXZlU3RyYXRlZ3lTb3VyY2VWaWV3TW9kZWw9bnVsbCx0aGlzLl9jdXN0b21TdGF0dXNWaWV3TW9kZWw9bnVsbCx0aGlzLl9zZXNzaW9uV2lkZ2V0PW51bGwsdGhpcy5fZXJyb3JXaWRnZXQ9bnVsbCx0aGlzLl91cGRhdGVBdmFpbGFibGVXaWRnZXQ9bnVsbCx0aGlzLl9kYXRhU291cmNlSGFzRXJyb3JWaXNpYmxlPW51bGwsdGhpcy5fZGF0YVNvdXJjZUVycm9yQ2FuQmVTaG93bj1uZXcgcy5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2RhdGFVcGRhdGVkQXZhaWxhYmxlVmlzaWJsZT1udWxsLHRoaXMuX2RhdGFQcm9ibGVtQ2FuQmVTaG93bj1uZXcgcy5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3VwZGF0ZUF2YWlsYWJsZUNhbkJlU2hvd249bmV3IHMuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9pc0RhdGFQcm9ibGVtQ3JpdGljYWw9bnVsbCx0aGlzLl91cGRhdGVWaXNpYmlsaXR5PSgpPT57Y29uc3QgZT10aGlzLnZpc2libGVNb2RlbHMoKS52YWx1ZSgpLmxlbmd0aD4wO3RoaXMuX3Zpc2liaWxpdHkuc2V0VmFsdWUoZSl9LHRoaXMuX3NvdXJjZT1lLHRoaXMuX3N5bWJvbD1lLnN5bWJvbCgpPy5zcGF3bigpPz9udWxsLHRoaXMuX29wdGlvbnM9YSx0aGlzLl91bmRvTW9kZWw9dCx0aGlzLl9zdGF0dXNQcm92aWRlckhpZGRlbj0oMCxvLmNvbWJpbmUpKChlPT4odGhpcy5fZm9yY2VIaWRlVmlzaWJpbGl0eU1vZGVscy5zZXRWYWx1ZShlKSxlKSksZS5oaWRkZW4oKS53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2NyZWF0ZVN0YXR1c2VzV2lkZ2V0U3RhdGVzKCksCnRoaXMuX2FkZFN1YnNjcmlwdGlvbkZvclN5bWJvbEludmFsaWQoKSxudWxsIT09dGhpcy5fZGF0YVNvdXJjZUhhc0Vycm9yVmlzaWJsZSYmKHRoaXMuX2RhdGFTb3VyY2VIYXNFcnJvclZpc2libGUuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXR1c1dpZGdldHNWaXNpYmlsaXRpZXMuYmluZCh0aGlzKSksdGhpcy5fZGF0YVNvdXJjZUhhc0Vycm9yVmlzaWJsZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlRXJyb3JXaWRnZXRJc1Nob3duLmJpbmQodGhpcykpKSxudWxsIT09dGhpcy5fZGF0YVVwZGF0ZWRBdmFpbGFibGVWaXNpYmxlJiZ0aGlzLl9kYXRhVXBkYXRlZEF2YWlsYWJsZVZpc2libGUuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZURhdGFVcGRhdGVkV2lkZ2V0SXNTaG93bi5iaW5kKHRoaXMpKSx0aGlzLl9vcHRpb25zLmRhdGFQcm9ibGVtRW5hYmxlZCYmbnVsbCE9PXRoaXMuX2lzRGF0YVByb2JsZW1Dcml0aWNhbCYmdGhpcy5faXNEYXRhUHJvYmxlbUNyaXRpY2FsLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0dXNXaWRnZXRzVmlzaWJpbGl0aWVzLmJpbmQodGhpcykpLHRoaXMuX3VwZGF0ZUVycm9yV2lkZ2V0SXNTaG93bigpLHRoaXMuX3VwZGF0ZUlzU3ltYm9sSW52YWxpZFN0YXR1c1Nob3duKCksdGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllcygpfWRlc3Ryb3koKXt0aGlzLl92aXNpYmlsaXR5LnVuc3Vic2NyaWJlKCksdGhpcy5fc3ltYm9sPy5kZXN0cm95KCksdGhpcy5fc3RhdHVzUHJvdmlkZXJIaWRkZW4uZGVzdHJveSgpLHRoaXMuX2lzRGF0YVByb2JsZW1Dcml0aWNhbD8uZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllcygpe2NvbnN0IGU9dGhpcy5faXNGb3JjZVN0YXR1c0FjdGl2ZSgpO3RoaXMuX2RhdGFTb3VyY2VFcnJvckNhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX21hcmtldFN0YXR1c0NhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX2RhdGFVcGRhdGVkTW9kZUNhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX3VwZGF0ZUF2YWlsYWJsZUNhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX2RhdGFQcm9ibGVtQ2FuQmVTaG93bi5zZXRWYWx1ZSghdGhpcy5faXNQcmltYXJ5V2lkZ2V0U2hvd24oKSl9X2lzUHJpbWFyeVdpZGdldFNob3duKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5pc1N5bWJvbEludmFsaWQoKT8udmFsdWUoKT8/ITF9X2lzRm9yY2VTdGF0dXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5faXNQcmltYXJ5V2lkZ2V0U2hvd24oKXx8KHRoaXMuX2lzRGF0YVByb2JsZW1Dcml0aWNhbD8udmFsdWUoKT8/ITEpfV9jcmVhdGVTdGF0dXNlc1dpZGdldFN0YXRlcygpe3RoaXMuX29wdGlvbnMuc291cmNlU3RhdHVzZXNFbmFibGVkJiZ0aGlzLl9jcmVhdGVTeW1ib2xJbnZhbGlkU3RhdHVzKCksdGhpcy5fb3B0aW9ucy5tYXJrZXRTdGF0dXNFbmFibGVkJiZ0aGlzLl9jcmVhdGVNYXJrZXRTdGF0dXMoKSx0aGlzLl9vcHRpb25zLmRhdGFVcGRhdGVNb2RlRW5hYmxlZCYmdGhpcy5fY3JlYXRlRGF0YVVwZGF0ZWRNb2RlU3RhdHVzKCksdGhpcy5fb3B0aW9ucy5kYXRhUHJvYmxlbUVuYWJsZWQmJnRoaXMuX2NyZWF0ZURhdGFQcm9ibGVtU3RhdHVzKCksdGhpcy5fb3B0aW9ucy5zb3VyY2VTdGF0dXNlc0VuYWJsZWQmJnRoaXMuX2NyZWF0ZUVycm9yU3RhdHVzKCksdGhpcy5fb3B0aW9ucy5waW5lU291cmNlU3RhdHVzRW5hYmxlZCYmdGhpcy5fY3JlYXRlU2NyaXB0VXBkYXRlKCksdGhpcy5fb3B0aW9ucy5hbGVydFN0YXR1c0VuYWJsZWQmJnRoaXMuX2NyZWF0ZUFsZXJ0QWxlcnRTdGF0dXMoKSx0aGlzLl9vcHRpb25zLnBpbmVTb3VyY2VTdGF0dXNFbmFibGVkJiZ0aGlzLl9jcmVhdGVBY3RpdmVTdHJhdGVneVN0YXR1cygpLHRoaXMuX29wdGlvbnMucGluZVNvdXJjZVN0YXR1c0VuYWJsZWQmJnRoaXMuX2NyZWF0ZVBpbmVFZGl0b3JTdGF0dXMoKSx0aGlzLl9jcmVhdGVDdXN0b21NYXJrZXRTdGF0dXMoKX1fY3JlYXRlU3ltYm9sSW52YWxpZFN0YXR1cygpe2NvbnN0IGU9dGhpcy5fc291cmNlLmlzU3ltYm9sSW52YWxpZCgpO251bGwhPT1lJiYodGhpcy5fc3ltYm9sSW52YWxpZFZpZXdNb2RlbD1uZXcgaGUuQm9vbGVhblN0YXR1c1ZpZXdNb2RlbChlLHt0b29sdGlwTWFwOmJlLGljb25NYXA6ZmUsY2xhc3NOYW1lTWFwOndlLHRpdGxlTWFwOmdlLHRpdGxlQ29sb3JNYXA6dmUsaHRtbE1hcDp5ZSxhY3Rpb25NYXA6TWUsc2l6ZTp0aGlzLl9zaXplfSksdGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHt2aXNpYmxlOnRoaXMuX3N5bWJvbEludmFsaWRWaWV3TW9kZWwudmlzaWJsZSgpLnNwYXduKCksbW9kZWw6dGhpcy5fc3ltYm9sSW52YWxpZFZpZXdNb2RlbH0pKX1fY3JlYXRlTWFya2V0U3RhdHVzKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UubWFya2V0U3RhdHVzTW9kZWwoKTt0aGlzLl9tYXJrZXRTdGF0dXNWaWV3TW9kZWw9bmV3IFh0Lk1hcmtldFN0YXR1c1ZpZXdNb2RlbChlLHRoaXMuX3NpemUpO2NvbnN0IHQ9e3Zpc2libGU6KDAsby5jb21iaW5lKSgoKGUsdCxhKT0+ZSYmdCYmISgwLGkuaXNFY29ub21pY1N5bWJvbCkoYSkmJiEoMCxpLmlzU3ByZWFkU3ltYm9sV2l0aE1hbnlMZWdzKShhKSksdGhpcy5fbWFya2V0U3RhdHVzQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fbWFya2V0U3RhdHVzVmlld01vZGVsLnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpLG1vZGVsOnRoaXMuX21hcmtldFN0YXR1c1ZpZXdNb2RlbH07bnVsbCE9PWUmJih0aGlzLl9zZXNzaW9uV2lkZ2V0PW5ldyByLkZ1bGxTZXNzaW9uU2NoZWR1bGVXaWRnZXQodGhpcy5fc291cmNlKSx0LmFkZGl0aW9uYWxXaWRnZXRzPVt0aGlzLl9zZXNzaW9uV2lkZ2V0XSksdGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHQpfV9jcmVhdGVEYXRhVXBkYXRlZE1vZGVTdGF0dXMoKXtjb25zdCBlPXRoaXMuX3NvdXJjZS5kYXRhVXBkYXRlZE1vZGVNb2RlbCgpLHQ9ey4uLnRoaXMuX29wdGlvbnMuZGF0YVVwZGF0ZU1vZGUsCm1hcmtldFN0YXR1czp0aGlzLl9zb3VyY2UubWFya2V0U3RhdHVzTW9kZWwoKT8uc3RhdHVzKCkuc3Bhd25Pd25lcnNoaXAoKX07dGhpcy5fZGF0YVVwZGF0ZWRNb2RlVmlld01vZGVsPW5ldyBpZShlLHRoaXMuX3NpemUsdCk7Y29uc3QgYT0oMCxvLmNvbWJpbmUpKCgoZSx0LGEpPT5lJiZ0JiYhKDAsaS5pc0Vjb25vbWljU3ltYm9sKShhKSksdGhpcy5fZGF0YVVwZGF0ZWRNb2RlQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fZGF0YVVwZGF0ZWRNb2RlVmlld01vZGVsLnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh7dmlzaWJsZTphLG1vZGVsOnRoaXMuX2RhdGFVcGRhdGVkTW9kZVZpZXdNb2RlbH0pfV9jcmVhdGVEYXRhUHJvYmxlbVN0YXR1cygpe2NvbnN0IGU9dGhpcy5fc291cmNlLmRhdGFQcm9ibGVtTW9kZWwoKTt0aGlzLl9kYXRhUHJvYmxlbVZpZXdNb2RlbD1uZXcgZGUoZSx0aGlzLl9zaXplKSx0aGlzLl9pc0RhdGFQcm9ibGVtQ3JpdGljYWw9dGhpcy5fZGF0YVByb2JsZW1WaWV3TW9kZWwuaXNEYXRhUHJvYmxlbUNyaXRpY2FsKCkuc3Bhd24oKTtjb25zdCB0PSgwLG8uY29tYmluZSkoKChlLHQpPT5lJiZ0KSx0aGlzLl9kYXRhUHJvYmxlbUNhbkJlU2hvd24ud2Vha1JlZmVyZW5jZSgpLHRoaXMuX2RhdGFQcm9ibGVtVmlld01vZGVsLnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh7dmlzaWJsZTp0LG1vZGVsOnRoaXMuX2RhdGFQcm9ibGVtVmlld01vZGVsfSl9X2NyZWF0ZVNjcmlwdFVwZGF0ZSgpe3RoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLmlzU25hcHNob3QoKXx8dGhpcy5fdW5kb01vZGVsLm1vZGVsKCkucmVhZE9ubHkoKXx8KDAsQ3Qub25XaWRnZXQpKCl8fCgwLEVlLmlzRmVhdHVyZUVuYWJsZWQpKCJkaXNhYmxlX3VwZGF0ZV9hdmFpbGFiaWxpdHlfc3RhdHVzIil8fCh0aGlzLl91cGRhdGVBdmFpbGFibGVWaWV3TW9kZWw9bmV3IHV0KHRoaXMuX3NvdXJjZSx0aGlzLl9zaXplKSx0aGlzLl91cGRhdGVBdmFpbGFibGVXaWRnZXQ9bmV3IFN0KHRoaXMuX3NvdXJjZSx0aGlzLl91bmRvTW9kZWwpLHRoaXMuX2RhdGFVcGRhdGVkQXZhaWxhYmxlVmlzaWJsZT0oMCxvLmNvbWJpbmUpKCgoZSx0LGEpPT5lJiZ0JiYhYSksdGhpcy5fdXBkYXRlQXZhaWxhYmxlQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fdXBkYXRlQXZhaWxhYmxlVmlld01vZGVsLnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLmhpZGRlbigpLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHt2aXNpYmxlOnRoaXMuX2RhdGFVcGRhdGVkQXZhaWxhYmxlVmlzaWJsZSxtb2RlbDp0aGlzLl91cGRhdGVBdmFpbGFibGVWaWV3TW9kZWwsYWRkaXRpb25hbFdpZGdldHM6W3RoaXMuX3VwZGF0ZUF2YWlsYWJsZVdpZGdldF0scHJlbGltaW5hcnlKb2I6dGhpcy5fc291cmNlLnBpbmVTb3VyY2VDb2RlTW9kZWwoKS50aGVuKChlPT5lP1Byb21pc2UuYWxsKFtlLnJlcXVlc3RTY3JpcHRJbmZvKCksKDAscHQuc2hvd0Fib3V0VGhlU3R1ZHlIYW5kbGVyKShlKV0pOlByb21pc2UucmVzb2x2ZSgpKSksZGF0YVFhSWQ6ImxlZ2VuZC1zb3VyY2UtaXRlbS1zdGF0dXMtaWNvbi11cGRhdGUiLGljb25EYXRhc2V0RW50aXR5SWQ6dGhpcy5fdXBkYXRlQXZhaWxhYmxlVmlld01vZGVsLmVudGl0eUlkKCl9KSl9X2NyZWF0ZUFsZXJ0QWxlcnRTdGF0dXMoKXt0aGlzLl9hbGVydFN0YXR1c1ZpZXdNb2RlbD1uZXcgUXQodGhpcy5fc291cmNlLHRoaXMuX3NpemUpO2NvbnN0IGU9dGhpcy5fYWxlcnRTdGF0dXNWaWV3TW9kZWwudmlzaWJsZSgpLnNwYXduKCk7dGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHt2aXNpYmxlOmUsbW9kZWw6dGhpcy5fYWxlcnRTdGF0dXNWaWV3TW9kZWx9KX1fY3JlYXRlRXJyb3JTdGF0dXMoKXt0aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXNWaWV3TW9kZWw9bmV3IHkodGhpcy5fc291cmNlLHRoaXMuX3NpemUsdGhpcy5fb3B0aW9ucy5zb3VyY2VTdGF0dXNlcyksdGhpcy5fZGF0YVNvdXJjZUhhc0Vycm9yVmlzaWJsZT0oMCxvLmNvbWJpbmUpKCgoZSx0LGEpPT5lJiZ0JiYhYSksdGhpcy5fZGF0YVNvdXJjZUVycm9yQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fZGF0YVNvdXJjZUVycm9yU3RhdHVzVmlld01vZGVsLnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLmhpZGRlbigpLndlYWtSZWZlcmVuY2UoKSk7Y29uc3QgZT1bXTt0aGlzLl9lcnJvcldpZGdldD1uZXcgWWUodGhpcy5fc291cmNlKSxlLnB1c2godGhpcy5fZXJyb3JXaWRnZXQpLHRoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh7dmlzaWJsZTp0aGlzLl9kYXRhU291cmNlSGFzRXJyb3JWaXNpYmxlLG1vZGVsOnRoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1c1ZpZXdNb2RlbCxhZGRpdGlvbmFsV2lkZ2V0czplfSl9X2NyZWF0ZUFjdGl2ZVN0cmF0ZWd5U3RhdHVzKCl7Y29uc3QgZT0oMCxvLmNvbWJpbmUpKChlPT5udWxsIT09ZSYmdGhpcy5fc291cmNlLmVudGl0eUlkPy4oKT09PWUuaWQoKSksdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkuYWN0aXZlU3RyYXRlZ3lTb3VyY2UoKS53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2FjdGl2ZVN0cmF0ZWd5U291cmNlVmlld01vZGVsPW5ldyBGdCh0aGlzLl9zb3VyY2UsZSx0aGlzLl9zaXplKTtjb25zdCB0PXRoaXMuX2FjdGl2ZVN0cmF0ZWd5U291cmNlVmlld01vZGVsLnZpc2libGUoKS5zcGF3bigpO3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh7dmlzaWJsZTp0LG1vZGVsOnRoaXMuX2FjdGl2ZVN0cmF0ZWd5U291cmNlVmlld01vZGVsfSl9X2NyZWF0ZVBpbmVFZGl0b3JTdGF0dXMoKXtjb25zdCBlPXRoaXMuX3NvdXJjZS5waW5lU291cmNlQ29kZU1vZGVsKCk7dGhpcy5fcGluZUVkaXRvclN0YXRlVmlld01vZGVsPW5ldyBFdChlLHRoaXMuX3NpemUpCjtjb25zdCB0PXRoaXMuX3BpbmVFZGl0b3JTdGF0ZVZpZXdNb2RlbC52aXNpYmxlKCkuc3Bhd24oKTt0aGlzLl9hZGRTdGF0dXNWaWV3TW9kZWxzSW5mb3Moe3Zpc2libGU6dCxtb2RlbDp0aGlzLl9waW5lRWRpdG9yU3RhdGVWaWV3TW9kZWx9KX1fY3JlYXRlQ3VzdG9tTWFya2V0U3RhdHVzKCl7fV9hZGRTdWJzY3JpcHRpb25Gb3JTeW1ib2xJbnZhbGlkKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UuaXNTeW1ib2xJbnZhbGlkKCk7dGhpcy5fb3B0aW9ucy5zb3VyY2VTdGF0dXNlc0VuYWJsZWQmJm51bGwhPT1lJiYoZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllcy5iaW5kKHRoaXMpKSxlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVJc1N5bWJvbEludmFsaWRTdGF0dXNTaG93bi5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KSl9X3VwZGF0ZUVycm9yV2lkZ2V0SXNTaG93bigpe2NvbnN0IGU9dGhpcy5fZGF0YVNvdXJjZUhhc0Vycm9yVmlzaWJsZT8udmFsdWUoKT8/ITE7dGhpcy5kYXRhU291cmNlRXJyb3JTdGF0dXNTaG93bi5zZXRWYWx1ZShlKX1fdXBkYXRlRGF0YVVwZGF0ZWRXaWRnZXRJc1Nob3duKCl7Y29uc3QgZT10aGlzLl9kYXRhVXBkYXRlZEF2YWlsYWJsZVZpc2libGU/LnZhbHVlKCk/PyExO3RoaXMuZGF0YVVwZGF0ZWRNb2RlU2hvd24uc2V0VmFsdWUoZSl9X3VwZGF0ZUlzU3ltYm9sSW52YWxpZFN0YXR1c1Nob3duKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UuaXNTeW1ib2xJbnZhbGlkKCk/LnZhbHVlKCk/PyExO3RoaXMuaXNTeW1ib2xJbnZhbGlkU3RhdHVzU2hvd24uc2V0VmFsdWUoZSl9fX0sNzk0OTUoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7TWFpbkRhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlOigpPT5IZX0pO3ZhciBzPWEoMTM4NjM4KSxvPWEoMjMyMzY0KSxpPWEoOTUyOTAwKSxyPWEoMTU2ODI5KSxuPWEoMTg1MjcxKSxsPWEoNTY1MjA2KSx1PWEoNzczNDY2KSxjPWEoODYwNTQ4KTtjb25zdCBkPW4udChudWxsLHZvaWQgMCxhKDQzNTApKSxoPW4udChudWxsLHZvaWQgMCxhKDI4MTQ1MykpLHA9bi50KG51bGwsdm9pZCAwLGEoODgyODM5KSksbT1uLnQobnVsbCx2b2lkIDAsYSg3NjM0NTEpKSxfPW5ldyBNYXAoW1szLG5ldyBNYXAoW1sic21hbGwiLHVdLFsibWVkaXVtIix1XSxbImxhcmdlIix1XV0pXSxbMSxuZXcgTWFwKFtbInNtYWxsIix1XSxbIm1lZGl1bSIsdV0sWyJsYXJnZSIsdV1dKV0sWzIsbmV3IE1hcChbWyJzbWFsbCIsdV0sWyJtZWRpdW0iLHVdLFsibGFyZ2UiLHVdXSldXSksUz1uZXcgTWFwKFtbMixjLnJlcGxheU1vZGVBdXRvUGxheV0sWzMsYy5yZXBsYXlNb2RlUGF1c2VdLFsxLGMucmVwbGF5TW9kZVBvaW50U2VsZWN0XV0pLGY9bmV3IE1hcChbWzIsaF0sWzMsaF0sWzEsaF1dKSx3PW5ldyBNYXAoW1syLGhdLFszLGhdLFsxLGRdXSksYj1uZXcgTWFwKFtbMiwidmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50KSJdLFszLCJ2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQpIl0sWzEsInZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCkiXV0pLGc9bmV3IE1hcChbWzIsW21dXSxbMyxbbV1dLFsxLFtwXV1dKTtjbGFzcyB2IGV4dGVuZHMgbC5TdGF0dXNWaWV3TW9kZWx7Y29uc3RydWN0b3IoZSx0KXtzdXBlcih7aWNvbk1hcDpfLGNsYXNzTmFtZU1hcDpTLHRvb2x0aXBNYXA6dyx0aXRsZU1hcDpmLHRpdGxlQ29sb3JNYXA6YixodG1sTWFwOmcsc2l6ZTp0fSksdGhpcy5fcmVwbGF5U3RhdHVzPWUsdGhpcy5fcmVwbGF5U3RhdHVzLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0dXMuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSl9ZGVzdHJveSgpe3RoaXMuX3JlcGxheVN0YXR1cy5yZWxlYXNlKCksc3VwZXIuZGVzdHJveSgpfV91cGRhdGVTdGF0dXMoZSl7dGhpcy5fc3RhdHVzLnNldFZhbHVlKDAhPT1lP2U6bnVsbCksdGhpcy5pc0JsaW5raW5nTW9kZS5zZXRWYWx1ZSgyPT09ZSl9fXZhciB5OyFmdW5jdGlvbihlKXtlLlN0b2NrPSJIYWxhbFN0b2NrIixlLkJvbmQ9IkhhbGFsQm9uZCJ9KHl8fCh5PXt9KSk7dmFyIE09YSg5MjY5OTUpLEk9YSg3NzY1NzYpLEU9YSgxOTM1MDgpLEM9YSgxMDgxODIpLFQ9YSgzNDAxNTgpO2NsYXNzIGsgZXh0ZW5kcyBsLlN0YXR1c1ZpZXdNb2RlbHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKHQpLHRoaXMuX3NpbXBsZVN0YXR1cz1lLHRoaXMuX3NpbXBsZVN0YXR1cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pfWRlc3Ryb3koKXt0aGlzLl9zaW1wbGVTdGF0dXMucmVsZWFzZSgpLHN1cGVyLmRlc3Ryb3koKX1fdXBkYXRlU3RhdHVzKGUpe3RoaXMuX3N0YXR1cy5zZXRWYWx1ZShlKX19dmFyIHg9YSgxNTIwNjkpO2NvbnN0IEQ9bmV3IE1hcChbW3kuQm9uZCxFLmhhbGFsVGl0bGVdLFt5LlN0b2NrLEUuaGFsYWxUaXRsZV1dKSxWPW5ldyBNYXAoW1t5LkJvbmQsQy5jb2xvckhhbGFsTW9kZV0sW3kuU3RvY2ssQy5jb2xvckhhbGFsTW9kZV1dKSxQPW5ldyBNYXAoW1t5LkJvbmQsbmV3IE1hcChbWyJzbWFsbCIsVF0sWyJtZWRpdW0iLFRdXSldLFt5LlN0b2NrLG5ldyBNYXAoW1sic21hbGwiLFRdLFsibWVkaXVtIixUXV0pXV0pLEE9bmV3IE1hcChbW3kuQm9uZCx4LmhhbGFsU3RhdHVzXSxbeS5TdG9jayx4LmhhbGFsU3RhdHVzXV0pLFI9bmV3IE1hcChbW3kuQm9uZCxbRS5oYWxhbEJvbmRIdG1sXV0sW3kuU3RvY2ssW0UuaGFsYWxIdG1sXV1dKSxCPW5ldyBNYXAoW1t5LkJvbmQse3RleHQ6bi50KG51bGwsdm9pZCAwLGEoMzI1MTU1KSksb25DbGljazooKT0+KDAsTS5zaG93U3VwcG9ydERpYWxvZykoe3NvbHV0aW9uSWQ6SS5IQUxBTF9TT0xVVElPTl9JRH0pfV0sW3kuU3RvY2sse3RleHQ6bi50KG51bGwsdm9pZCAwLGEoMzI1MTU1KSksb25DbGljazooKT0+KDAsTS5zaG93U3VwcG9ydERpYWxvZykoe3NvbHV0aW9uSWQ6SS5IQUxBTF9TT0xVVElPTl9JRH0pfV1dKTtjbGFzcyBOIGV4dGVuZHMga3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUse2ljb25NYXA6UCwKdG9vbHRpcE1hcDpELHRpdGxlTWFwOkQsdGl0bGVDb2xvck1hcDpWLHNpemU6dCxjbGFzc05hbWVNYXA6QSxodG1sTWFwOlIsYWN0aW9uTWFwOkJ9KX19dmFyIEY9YSgzMTExMTUpLFc9YSg3ODc2MjYpLE89YSg1NzE0NjQpO2NvbnN0IEg9bmV3IE1hcChbWyEwLEUudHZDYWxjdWxhdGVkUGFpclRvb2x0aXBdXSksTD1uZXcgTWFwKFtbITAsQy5jb2xvclRWQ2FsY3VsYXRlZFBhaXJNb2RlXV0pLFU9bmV3IE1hcChbWyJzbWFsbCIsRl0sWyJtZWRpdW0iLFddLFsibGFyZ2UiLFddXSksRz1uZXcgTWFwKFtbITAsVV1dKSx6PW5ldyBNYXAoW1shMCxPLnR2Q2FsY3VsYXRlZFBhaXJdXSkscT1uZXcgTWFwKFtbITAsW0UudHZDYWxjdWxhdGVkUGFpckh0bWxdXV0pLCQ9bmV3IE1hcChbWyEwLHt0ZXh0Om4udChudWxsLHZvaWQgMCxhKDMyNTE1NSkpLG9uQ2xpY2s6KCk9PigwLE0uc2hvd1N1cHBvcnREaWFsb2cpKHtzb2x1dGlvbklkOkkuVFZfQ0FMQ1VMQVRFRF9QQUlSX1NPTFVUSU9OX0lEfSl9XV0pO2NsYXNzIGogZXh0ZW5kcyBre2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx7aWNvbk1hcDpHLHRvb2x0aXBNYXA6SCx0aXRsZU1hcDpILHRpdGxlQ29sb3JNYXA6TCxzaXplOnQsY2xhc3NOYW1lTWFwOnosaHRtbE1hcDpxLGFjdGlvbk1hcDokfSl9fXZhciBRPWEoNjQyNzgzKSxYPWEoMzUxMTgyKSxLPWEoOTI0MDIwKTtjb25zdCBaPW5ldyBNYXAoW1shMCxFLkhLRVhEYXRhVGl0bGVdXSksSj1uZXcgTWFwKFtbITAsInZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZCkiXV0pLFk9bmV3IE1hcChbWyJzbWFsbCIsUV0sWyJtZWRpdW0iLFhdLFsibGFyZ2UiLFhdXSksZWU9bmV3IE1hcChbWyEwLFldXSksdGU9bmV3IE1hcChbWyEwLEsuaGtleENvbW1lbnRdXSksYWU9bmV3IE1hcChbWyEwLFtFLkhLRVhEYXRhQ29tbWVudF1dXSk7Y2xhc3Mgc2UgZXh0ZW5kcyBre2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx7aWNvbk1hcDplZSx0b29sdGlwTWFwOlosdGl0bGVNYXA6Wix0aXRsZUNvbG9yTWFwOkosc2l6ZTp0LGNsYXNzTmFtZU1hcDp0ZSxodG1sTWFwOmFlfSl9fXZhciBvZT1hKDU5ODI1NyksaWU9YSg1NzUxNDgpLHJlPWEoNjg1OTI2KTtjb25zdCBuZT1uZXcgTWFwKFtbITAsRS5kZWZhdWx0ZWRUaXRsZV1dKSxsZT1uZXcgTWFwKFtbITAsQy5jb2xvckRlZmF1bHRlZF1dKSx1ZT1uZXcgTWFwKFtbInNtYWxsIixvZV0sWyJtZWRpdW0iLGllXSxbImxhcmdlIixpZV1dKSxjZT1uZXcgTWFwKFtbITAsdWVdXSksZGU9bmV3IE1hcChbWyEwLHJlLmRlZmF1bHRlZFN0YXR1c11dKSxoZT1uZXcgTWFwKFtbITAsW0UuZGVmYXVsdGVkSHRtbF1dXSk7Y2xhc3MgcGUgZXh0ZW5kcyBre2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx7aWNvbk1hcDpjZSx0b29sdGlwTWFwOm5lLHRpdGxlTWFwOm5lLHRpdGxlQ29sb3JNYXA6bGUsc2l6ZTp0LGNsYXNzTmFtZU1hcDpkZSxodG1sTWFwOmhlfSl9fXZhciBtZT1hKDUwNTU2KSxfZT1hKDIyNjkzNyksU2U9YSg5MTM2MTApLGZlPWEoMjg0NDY3KTtjb25zdCB3ZT0oMCxtZS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXNreS1ibHVlLWE3MDAiKSxiZT1uZXcgTWFwKFtbITEsRS5sZXRJdFNub3dUaXRsZV0sWyEwLEUubGV0SXRTbm93VGl0bGVdXSksZ2U9bmV3IE1hcChbWyExLHdlXSxbITAsd2VdXSksdmU9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLFNlXSxbIm1lZGl1bSIsU2VdXSldXSkseWU9bmV3IE1hcChbWyExLGZlLmxldEl0U25vd1N0YXR1c10sWyEwLGZlLmxldEl0U25vd1N0YXR1c11dKSxNZT1uZXcgTWFwKFtbITEsW0UubGV0SXRTbm93SHRtbF1dLFshMCxbRS5sZXRJdFNub3dIdG1sXV1dKSxJZT1uZXcgby5XYXRjaGVkVmFsdWUoITEpO2xldCBFZT1udWxsO0llLnN1YnNjcmliZSgoZT0+e251bGw9PT1FZSYmKEVlPW5ldyBfZS5Bc3luY1Jlc291cmNlV3JhcHBlcihhLmUoMzM0MTApLnRoZW4oYS5iaW5kKGEsMzM4Njc0KSkpKSxFZS5jYWxsRnVuY3Rpb24oKHQ9Pnt0LnNub3coZSl9KSl9KSk7Y29uc3QgQ2U9bmV3IFNldChbImVuIiwidWsiLCJkZV9ERSIsImZyIiwiZXMiLCJpdCIsInBsIiwiamEiLCJjYSIsInJ1Il0pO2NsYXNzIFRlIGV4dGVuZHMga3tjb25zdHJ1Y3RvcihlKXtzdXBlcihJZS5zcGF3bigpLm93bmVyc2hpcCgpLHtpY29uTWFwOnZlLHRvb2x0aXBNYXA6YmUsdGl0bGVNYXA6YmUsdGl0bGVDb2xvck1hcDpnZSxzaXplOmUsY2xhc3NOYW1lTWFwOnllLGh0bWxNYXA6TWUsYWN0aW9uTWFwOm5ldyBNYXAoW1shMSx7dGV4dDpFLmxldEl0U25vd1N0YXJ0LG9uQ2xpY2s6KCk9PkllLnNldFZhbHVlKCEwKX1dLFshMCx7dGV4dDpFLmxldEl0U25vd1N0b3Asb25DbGljazooKT0+SWUuc2V0VmFsdWUoITEpfV1dKX0pfWFzeW5jIF91cGRhdGVGdWxsVG9vbHRpcCgpe2F3YWl0IHN1cGVyLl91cGRhdGVGdWxsVG9vbHRpcCgpO2NvbnN0IGU9dGhpcy5fZnVsbFRvb2x0aXAudmFsdWUoKTtudWxsIT09ZSYmdGhpcy5fZnVsbFRvb2x0aXAuc2V0VmFsdWUoW3suLi5lWzBdLGljb246U2V9XSl9fXZhciBrZT1hKDkwODQwMCkseGU9YSgxOTI3NTUpLERlPWEoNDQ1MSk7Y29uc3QgVmU9bmV3IE1hcChbWyEwLEUudXBjb21pbmdJcG9UaXRsZV1dKSxQZT1uZXcgTWFwKFtbITAsQy5jb2xvclVwY29taW5nSXBvXV0pLEFlPW5ldyBNYXAoW1sic21hbGwiLGtlXSxbIm1lZGl1bSIseGVdLFsibGFyZ2UiLHhlXV0pLFJlPW5ldyBNYXAoW1shMCxBZV1dKSxCZT1uZXcgTWFwKFtbITAsRGUudXBjb21pbmdJcG9TdGF0dXNdXSksTmU9bmV3IE1hcChbWyEwLFtFLnVwY29taW5nSXBvSHRtbF1dXSk7Y2xhc3MgRmUgZXh0ZW5kcyBre2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx7aWNvbk1hcDpSZSx0b29sdGlwTWFwOlZlLHRpdGxlTWFwOlZlLHRpdGxlQ29sb3JNYXA6UGUsc2l6ZTp0LGNsYXNzTmFtZU1hcDpCZSxodG1sTWFwOk5lfSl9fXZhciBXZT1hKDU2OTM5OCksT2U9YSg0NDE0NDApO2NsYXNzIEhlIGV4dGVuZHMgT2UuRGF0YVNvdXJjZVN0YXR1c2VzV2lkZ2V0U3RhdGV7Y29uc3RydWN0b3IoZSx0LGEpe3N1cGVyKGUsdCxhKSwKdGhpcy5faXNJblJlcGxheT1uZXcgby5XYXRjaGVkVmFsdWUoITEpLnJlYWRvbmx5KCkuc3Bhd24oKSx0aGlzLl9pc1VwY29taW5nSXBvQWN0aXZlPW5ldyBvLldhdGNoZWRWYWx1ZSghMSkucmVhZG9ubHkoKS5zcGF3bigpLHRoaXMuX2lzSW5SZXBsYXlDYW5CZVNob3duPW51bGwsdGhpcy5faW5pdGVkPSExLHRoaXMuX2hhbGFsQ2FuQmVTaG93bj1uZXcgby5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3R2Q2FsY3VsYXRlZFBhaXJDYW5CZVNob3duPW5ldyBvLldhdGNoZWRWYWx1ZSghMSksdGhpcy5faGtleENvbW1lbnRDYW5CZVNob3duPW5ldyBvLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fZGVmYXVsdGVkQm9uZENhbkJlU2hvd249bmV3IG8uV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl91cGNvbWluZ0lwb0NhbkJlU2hvd249bmV3IG8uV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl91cGRhdGVTdGF0dXNXaWRnZXRzVmlzaWJpbGl0aWVzQm91bmQ9dGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllcy5iaW5kKHRoaXMpO2NvbnN0IHM9dC5tb2RlbCgpO2lmKHRoaXMuX29wdGlvbnMuc291cmNlU3RhdHVzZXNFbmFibGVkKXt0aGlzLl9jcmVhdGVIYWxhbFN0YXR1cygpLHRoaXMuX2NyZWF0ZVRWQ2FsY3VsYXRlZFBhaXJTdGF0dXMoKSx0aGlzLl9jcmVhdGVIS0VYQ29tbWVudFN0YXR1cygpLHRoaXMuX2NyZWF0ZURlZmF1bHRlZEJvbmRTdGF0dXMoKSx0aGlzLl9jcmVhdGVVcGNvbWluZ0lwb1N0YXR1cygpLHRoaXMuX2NyZWF0ZUxldEl0U25vd1N0YXR1cygpLHRoaXMuX2lzVXBjb21pbmdJcG9BY3RpdmU9dGhpcy5fY3JlYXRlSXNVcGNvbWluZ0lwb0FjdGl2ZSgpO3t0aGlzLl9pc0luUmVwbGF5Q2FuQmVTaG93bj1uZXcgby5XYXRjaGVkVmFsdWUoITEpO2NvbnN0IGU9KDAsaS5jb21iaW5lKSgoKGUsdCk9PnR8fDE9PT1lfHw0PT09ZT9lOjApLHMucmVwbGF5U3RhdHVzKCkud2Vha1JlZmVyZW5jZSgpLHMubWFpblNlcmllcygpLmlzSW5SZXBsYXkoKS53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2lzSW5SZXBsYXk9KDAsaS5jb21iaW5lKSgoZT0+MCE9PWUmJjQhPT1lKSxlLndlYWtSZWZlcmVuY2UoKSk7Y29uc3QgdD1uZXcgdihlLm93bmVyc2hpcCgpLHRoaXMuX3NpemUpLGE9KDAsaS5jb21iaW5lKSgoKGUsdCk9PmUmJnQpLHRoaXMuX2lzSW5SZXBsYXlDYW5CZVNob3duLndlYWtSZWZlcmVuY2UoKSx0LnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh7dmlzaWJsZTphLG1vZGVsOnR9KSxhLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0dXNXaWRnZXRzVmlzaWJpbGl0aWVzQm91bmQpLHRoaXMuX2lzSW5SZXBsYXkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXR1c1dpZGdldHNWaXNpYmlsaXRpZXNCb3VuZCx7Y2FsbFdpdGhMYXN0OiEwfSl9dGhpcy5faXNVcGNvbWluZ0lwb0FjdGl2ZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllc0JvdW5kLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9pbml0ZWQ9ITAsdGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllcygpfX1kZXN0cm95KCl7dGhpcy5fb3B0aW9ucy5zb3VyY2VTdGF0dXNlc0VuYWJsZWQmJih0aGlzLl9pc0luUmVwbGF5LmRlc3Ryb3koKSx0aGlzLl9pc1VwY29taW5nSXBvQWN0aXZlLmRlc3Ryb3koKSksc3VwZXIuZGVzdHJveSgpfV91cGRhdGVTdGF0dXNXaWRnZXRzVmlzaWJpbGl0aWVzKCl7aWYoc3VwZXIuX3VwZGF0ZVN0YXR1c1dpZGdldHNWaXNpYmlsaXRpZXMoKSx0aGlzLl9pbml0ZWQmJnRoaXMuX29wdGlvbnMuc291cmNlU3RhdHVzZXNFbmFibGVkKXtjb25zdCBlPXRoaXMuX2lzRm9yY2VTdGF0dXNBY3RpdmUoKSx0PXRoaXMuX2lzVXBjb21pbmdJcG9BY3RpdmUudmFsdWUoKTt0aGlzLl9oYWxhbENhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX3R2Q2FsY3VsYXRlZFBhaXJDYW5CZVNob3duLnNldFZhbHVlKCFlKSx0aGlzLl9oa2V4Q29tbWVudENhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX2RlZmF1bHRlZEJvbmRDYW5CZVNob3duLnNldFZhbHVlKCFlKSx0aGlzLl91cGNvbWluZ0lwb0NhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX21hcmtldFN0YXR1c0NhbkJlU2hvd24uc2V0VmFsdWUoIWUmJiF0KSx0aGlzLl9kYXRhVXBkYXRlZE1vZGVDYW5CZVNob3duLnNldFZhbHVlKCFlJiYhdCksKDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pc0luUmVwbGF5Q2FuQmVTaG93bikuc2V0VmFsdWUoIXN1cGVyLl9pc1ByaW1hcnlXaWRnZXRTaG93bigpJiZ0aGlzLl9pc0luUmVwbGF5LnZhbHVlKCkpfX1faXNQcmltYXJ5V2lkZ2V0U2hvd24oKXtyZXR1cm4gc3VwZXIuX2lzUHJpbWFyeVdpZGdldFNob3duKCl8fHRoaXMuX2luaXRlZCYmdGhpcy5faXNJblJlcGxheS52YWx1ZSgpfV9jcmVhdGVIYWxhbFN0YXR1cygpe2NvbnN0IGU9bmV3IE4odGhpcy5fY3JlYXRlSGFsYWxUeXBlUmVsZWFzYWJsZSgpLHRoaXMuX3NpemUpLHQ9e3Zpc2libGU6ZS52aXNpYmxlKCkuc3Bhd24oKSxtb2RlbDplfTt0aGlzLl9hZGRTdGF0dXNWaWV3TW9kZWxzSW5mb3ModCl9X2NyZWF0ZURlZmF1bHRlZEJvbmRTdGF0dXMoKXtjb25zdCBlPW5ldyBwZSh0aGlzLl9jcmVhdGVEZWZhdWx0ZWRCb25kUmVsZWFzYWJsZSgpLHRoaXMuX3NpemUpLHQ9e3Zpc2libGU6ZS52aXNpYmxlKCkuc3Bhd24oKSxtb2RlbDplfTt0aGlzLl9hZGRTdGF0dXNWaWV3TW9kZWxzSW5mb3ModCl9X2NyZWF0ZVRWQ2FsY3VsYXRlZFBhaXJTdGF0dXMoKXtjb25zdCBlPW5ldyBqKHRoaXMuX2NyZWF0ZVR2Q2FsY3VsYXRlZFBhaXJSZWxlYXNhYmxlKCksdGhpcy5fc2l6ZSksdD17dmlzaWJsZTplLnZpc2libGUoKS5zcGF3bigpLG1vZGVsOmV9O3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh0KX1fY3JlYXRlSEtFWENvbW1lbnRTdGF0dXMoKXtjb25zdCBlPW5ldyBzZSh0aGlzLl9jcmVhdGVIa2V4Q29tbWVudFJlbGVhc2FibGUoKSx0aGlzLl9zaXplKSx0PXt2aXNpYmxlOmUudmlzaWJsZSgpLnNwYXduKCksbW9kZWw6ZX0KO3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh0KX1fY3JlYXRlVXBjb21pbmdJcG9TdGF0dXMoKXtjb25zdCBlPW5ldyBGZSh0aGlzLl9jcmVhdGVVcGNvbWluZ0lwb1JlbGVhc2FibGUoKSx0aGlzLl9zaXplKSx0PXt2aXNpYmxlOmUudmlzaWJsZSgpLnNwYXduKCksbW9kZWw6ZX07dGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHQpfV9jcmVhdGVMZXRJdFNub3dTdGF0dXMoKXtpZighQ2UuaGFzKHdpbmRvdy5sb2NhbGUpfHwhKDAsV2UuaXNGZWF0dXJlRW5hYmxlZCkoInNwZWNpYWxfY2hhcnRfc2VyaWVzX3N0YXR1cyIpKXJldHVybjtjb25zdCBlPW5ldyBUZSh0aGlzLl9zaXplKSx0PXt2aXNpYmxlOmUudmlzaWJsZSgpLnNwYXduKCksbW9kZWw6ZX07dGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHQpfV9jcmVhdGVJc1VwY29taW5nSXBvQWN0aXZlKCl7cmV0dXJuKDAsaS5jb21iaW5lKSgoKGUsdCxhKT0+e2NvbnN0IHM9YT8udHlwZXNwZWNzPy5pbmNsdWRlcygicHJlLWlwbyIpLG89IWU/Lmxhc3RfcHJpY2U7cmV0dXJuIG51bGwhPT1hJiYhdCYmQm9vbGVhbihzKSYmb30pLCh0aGlzLl9zb3VyY2UucXVvdGVzRGF0YT8uKCl8fG5ldyBvLldhdGNoZWRWYWx1ZShudWxsKS5yZWFkb25seSgpKS53ZWFrUmVmZXJlbmNlKCksKHRoaXMuX3NvdXJjZS5pc1N5bWJvbEludmFsaWQoKXx8bmV3IG8uV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpfV9jcmVhdGVIYWxhbFR5cGVSZWxlYXNhYmxlKCl7cmV0dXJuKDAsaS5jb21iaW5lKSgoKGUsdCxhLHMpPT5udWxsIT09cyYmdCYmIWEmJmU/LlsiaXMtc2hhcmlhaC1jb21wbGlhbnQiXT8oMCxyLmlzQm9uZCkocy50eXBlKT95LkJvbmQ6eS5TdG9jazpudWxsKSwodGhpcy5fc291cmNlLnF1b3Rlc0RhdGE/LigpfHxuZXcgby5XYXRjaGVkVmFsdWUobnVsbCkucmVhZG9ubHkoKSkud2Vha1JlZmVyZW5jZSgpLHRoaXMuX2hhbGFsQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksKHRoaXMuX3NvdXJjZS5pc1N5bWJvbEludmFsaWQoKXx8bmV3IG8uV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpLm93bmVyc2hpcCgpfV9jcmVhdGVEZWZhdWx0ZWRCb25kUmVsZWFzYWJsZSgpe3JldHVybigwLGkuY29tYmluZSkoKChlLHQsYSxzKT0+IShudWxsPT09c3x8IXR8fGF8fCJkZWZhdWx0ZWQiIT09ZT8uaXNzdWVfc3RhdHVzKXx8bnVsbCksKHRoaXMuX3NvdXJjZS5xdW90ZXNEYXRhPy4oKXx8bmV3IG8uV2F0Y2hlZFZhbHVlKG51bGwpLnJlYWRvbmx5KCkpLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9kZWZhdWx0ZWRCb25kQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksKHRoaXMuX3NvdXJjZS5pc1N5bWJvbEludmFsaWQoKXx8bmV3IG8uV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpLm93bmVyc2hpcCgpfV9jcmVhdGVUdkNhbGN1bGF0ZWRQYWlyUmVsZWFzYWJsZSgpe3JldHVybigwLGkuY29tYmluZSkoKChlLHQsYSk9PiEobnVsbD09PWF8fCFlfHx0fHwhYS50eXBlc3BlY3M/LmluY2x1ZGVzKCJ0di1jYWxjdWxhdGVkLXBhaXIiKSl8fG51bGwpLHRoaXMuX3R2Q2FsY3VsYXRlZFBhaXJDYW5CZVNob3duLndlYWtSZWZlcmVuY2UoKSwodGhpcy5fc291cmNlLmlzU3ltYm9sSW52YWxpZCgpfHxuZXcgby5XYXRjaGVkVmFsdWUoITEpLnJlYWRvbmx5KCkpLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9zb3VyY2Uuc3ltYm9sSW5mbygpLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCl9X2NyZWF0ZUhrZXhDb21tZW50UmVsZWFzYWJsZSgpe3JldHVybigwLGkuY29tYmluZSkoKChlLHQsYSk9PiEobnVsbD09PWF8fCFlfHx0fHwiSEtFWCIhPT1hLmxpc3RlZF9leGNoYW5nZSl8fG51bGwpLHRoaXMuX3R2Q2FsY3VsYXRlZFBhaXJDYW5CZVNob3duLndlYWtSZWZlcmVuY2UoKSwodGhpcy5fc291cmNlLmlzU3ltYm9sSW52YWxpZCgpfHxuZXcgby5XYXRjaGVkVmFsdWUoITEpLnJlYWRvbmx5KCkpLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9zb3VyY2Uuc3ltYm9sSW5mbygpLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCl9X2NyZWF0ZVVwY29taW5nSXBvUmVsZWFzYWJsZSgpe3JldHVybigwLGkuY29tYmluZSkoKChlLHQsYSxzKT0+e2NvbnN0IG89cz8udHlwZXNwZWNzPy5pbmNsdWRlcygicHJlLWlwbyIpO3JldHVybiEobnVsbD09PXN8fCF0fHxhfHwhb3x8ZT8ubGFzdF9wcmljZSl8fG51bGx9KSwodGhpcy5fc291cmNlLnF1b3Rlc0RhdGE/LigpfHxuZXcgby5XYXRjaGVkVmFsdWUobnVsbCkucmVhZG9ubHkoKSkud2Vha1JlZmVyZW5jZSgpLHRoaXMuX3VwY29taW5nSXBvQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksKHRoaXMuX3NvdXJjZS5pc1N5bWJvbEludmFsaWQoKXx8bmV3IG8uV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpLm93bmVyc2hpcCgpfX19LDgwODAwMShlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtGdWxsVG9vbHRpcHNQb3B1cDooKT0+cH0pO3ZhciBzPWEoNzc5NDc0KSxvPWEoNzE3OTMyKSxpPWEoMjM3NjE2KSxyPWEoNTIwNDg2KSxuPWEoNjQwNTEzKSxsPWEoNzE4NzczKSx1PWEoMjc2MDE5KSxjPWEoMTA2OTAwKSxkPWEoMjIxMzAwKSxoPWEoNDQ3MjY4KTtmdW5jdGlvbiBwKGUpe2NvbnN0e2FuY2hvcmVkOnQsb2Zmc2V0UG9zaXRpb246YSxvdmVyZmxvd1ZlcnRpY2FsOnAsb3ZlcmZsb3dIb3Jpem9udGFsOm0sc3RhdHVzZXM6Xyxpc09wZW46UyxvbkNsb3NlOmYsbW9iaWxlQnJlYWtwb2ludDp3PSJhbGwgYW5kIChtYXgtd2lkdGg6IDQ0MHB4KSIscGxhY2VtZW50UnVsZXM6Yj1bey4uLm4uUExBQ0VNRU5UX0JPVFRPTV9BTElHTl9MRUZULG9mZnNldDphLApvdmVyZmxvd1ZlcnRpY2FsOnA/P24uUExBQ0VNRU5UX0JPVFRPTV9BTElHTl9MRUZULm92ZXJmbG93VmVydGljYWwsb3ZlcmZsb3dIb3Jpem9udGFsOm0/P24uUExBQ0VNRU5UX0JPVFRPTV9BTElHTl9MRUZULm92ZXJmbG93SG9yaXpvbnRhbH1dfT1lLGc9KDAsYy51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTpffSksdj0oMCxzLnVzZUNhbGxiYWNrKSgoKCk9PmYoITEpKSxbZl0pOygwLHMudXNlRWZmZWN0KSgoKCk9Pih1Lmdsb2JhbENsb3NlRGVsZWdhdGUuc3Vic2NyaWJlKG51bGwsdiksKCk9Pnt1Lmdsb2JhbENsb3NlRGVsZWdhdGUudW5zdWJzY3JpYmUobnVsbCx2KX0pKSxbdl0pO2NvbnN0e3JlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnkscmVwb3NpdGlvblRyaWdnZXJzOk19PSgwLGwudXNlUG9wb3ZlckNsb3NlQmVoYXZpb3IpKHtpc09wZW46UyxvbkNsb3NlOmYsZXhjbHVkZUFyZWE6dC5hdCxjbG9zZU9uRXNjYXBlOiEwLGNsb3NlT25DbGlja0F3YXk6ITAsY2xvc2VPblNjcm9sbE91dHNpZGU6ITAsY2xvc2VPblJlc2l6ZVdpbmRvdzohMCxjbG9zZU9uVGFiOiEwfSksST0oMCxvLnVzZU1hdGNoTWVkaWEpKHcpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoaS5Qb3BvdmVyLHtpc09wZW46UyxvbkNsb3NlOmYsYW5jaG9yZWQ6dCx3aWR0aDp7Ynk6ImNvbnRlbnQifSxoZWlnaHQ6e2J5OiJjb250ZW50In0scGxhY2VtZW50UnVsZXM6Yixtb2JpbGVCcmVha3BvaW50OncsbW9iaWxlUG9zaXRpb25lclN0cmV0Y2g6ITEsYW5jaG9yUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOmgucG9wdXBXaWRnZXRXcmFwcGVyLG1vYmlsZVBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpoLnBvcHVwV2lkZ2V0V3JhcHBlcixkYXRhUWFJZDoiY2hhcnQtc3RhdHVzZXMtcG9wdXAiLHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnkscmVwb3NpdGlvblRyaWdnZXJzOk19LHMuY3JlYXRlRWxlbWVudChyLlBvcG92ZXJDb250ZW50VmVydGljYWwsbnVsbCxnLm1hcCgoKGUsdCk9PnMuY3JlYXRlRWxlbWVudChkLkZ1bGxUb29sdGlwV2lkZ2V0LHtrZXk6YEZ1bGxUb29sdGlwV2lkZ2V0JHt0fWAsaW5mbzplLm1vZGVsLmZ1bGxJbmZvKCksYWRkaXRpb25hbFdpZGdldHM6ZS5hZGRpdGlvbmFsV2lkZ2V0cyxwcmVsaW1pbmFyeUpvYjplLnByZWxpbWluYXJ5Sm9iLG9uQ2xvc2U6dixpc01vYmlsZTpJfSkpKSkpfX0sNTQ3ODY0KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse1N0YXR1c0ljb246KCk9PnV9KTt2YXIgcz1hKDc3OTQ3NCksbz1hKDkxNDQ4NyksaT1hLm4obykscj1hKDI3MzMxMCksbj1hKDEwNjkwMCksbD1hKDg2MDU0OCk7ZnVuY3Rpb24gdShlKXtjb25zdHt2aXNpYmxlOnQsaWNvbjphLGNsYXNzTmFtZTpvLHNpemU6dT0ic21hbGwiLGlzQmxpbmtpbmc6Yyx0dXJuT2ZmQmxpbmtpbmc6ZCxjdXN0b21Db2xvcjpoLGRhdGFRYUlkOnAsZGF0YXNldEVudGl0eUlkOm19PWUsXz0oMCxuLnVzZVdhdGNoZWRWYWx1ZVJlYWRvbmx5KSh7d2F0Y2hlZFZhbHVlOnR9KSxTPSgwLG4udXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6YX0pLGY9KDAsbi51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTpvfSksdz0oKDAsbi51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTpofSksISFjJiYoMCxuLnVzZVdhdGNoZWRWYWx1ZVJlYWRvbmx5KSh7d2F0Y2hlZFZhbHVlOmN9KSksYj1tPygwLG4udXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6bX0pOnZvaWQgMDtpZighX3x8IVMpcmV0dXJuIG51bGw7Y29uc3QgZz17Li4ucD97ImRhdGEtcWEtaWQiOnB9Ont9LC4uLmI/eyJkYXRhLWVudGl0eS1pZCI6Yn06e319O3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtjbGFzc05hbWU6aSgpKGwuc3RhdHVzSXRlbSxsW3VdLGYse1tsLmJsaW5raW5nXTp3fSksb25DbGljazpkLHN0eWxlOnZvaWQgMCwuLi5nLGljb246U30pfX0sNzM0ODIoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7REVGQVVMVF9TVEFUVVNfUkVOREVSRVJfVEhFTUU6KCk9PmYsU3RhdHVzZXNQaWxsOigpPT5nfSk7dmFyIHM9YSg3Nzk0NzQpLG89YSg5MTQ0ODcpLGk9YS5uKG8pLHI9YSgyMzY3NjUpLG49YSgxNzk3NzEpLGw9YSg2MDM2MTIpLHU9YSgxMDY5MDApLGM9YSg4MDAyMjYpLGQ9YSgzODY5MzEpLGg9YSgxNTAxNTApLHA9YSgzODcyMzEpLG09YSg1NDc4NjQpLF89YSg4MDgwMDEpLFM9YSg4NjA1NDgpO2NvbnN0IGY9Uyx3PW5ldyBXZWFrTWFwLGI9Yy50cmFja2luZ01vZGVJc0F2YWlsYWJsZT8ibWVkaXVtIjoic21hbGwiO2Z1bmN0aW9uIGcoZSl7Y29uc3R7c3RhdHVzZXM6dCx0b29sdGlwOmEsdGhlbWU6bz1TLHNob3dUb29sdGlwT3ZlcnJpZGVDYWxsYmFjazpjfT1lLFtnLHZdPSgwLHMudXNlU3RhdGUpKCExKSx5PSgwLHUudXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6dH0pLE09KDAsdS51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTphfSksST0oMCxzLnVzZU1lbW8pKCgoKT0+KDAscC5tZXJnZVRoZW1lcykoZixvKSksW29dKTsoMCxzLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT17fTtyZXR1cm4gbi5zdWJzY3JpYmUobC5DTE9TRV9QT1BVUFNfQU5EX0RJQUxPR1NfQ09NTUFORCxrLGUpLCgpPT57bi51bnN1YnNjcmliZShsLkNMT1NFX1BPUFVQU19BTkRfRElBTE9HU19DT01NQU5ELGssZSl9fSksW10pO2NvbnN0IEU9KDAsci51c2VPdXRzaWRlRXZlbnQpKHtjbGljazohMCxoYW5kbGVyOigpPT57YyYmKGMoITApLHYoITEpKX19KTtpZigwPT09eS5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3QgQz0hIWM7cmV0dXJuIHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkkuc3RhdHVzZXNXcmFwLHJlZjpFfSxzLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIseyJkYXRhLXJvbGUiOiJzdGF0dXNlcy1waWxsIixjbGFzc05hbWU6aSgpKCJhcHBseS1jb21tb24tdG9vbHRpcCIsImNvbW1vbi10b29sdGlwLXdpZGUiLElbYl0pLHRhYkluZGV4OjAsCm9uQ2xpY2s6ZnVuY3Rpb24oZSl7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLHkuZm9yRWFjaCgoZT0+e2UubW9kZWwudHVybk9mZkJsaW5raW5nTW9kZT8uKCl9KSksVCgpLCFnKXtjb25zdCBlPXkuZmluZCgoZT0+ZS5tb2RlbC5vblBpbGxDbGljaykpO2U/Lm1vZGVsPy5vblBpbGxDbGljaz8uKCl9YyYmKGUuc3RvcFByb3BhZ2F0aW9uKCksYyhnKSk7ZyYmKHQ9TSwoMCxkLnRyYWNrRXZlbnQpKCJHVUkiLCJTdGF0dXNlcyB3aWRnZXQncyBhY3Rpb24iLHQpKTt2YXIgdH0sdGl0bGU6TSwiZGF0YS1xYS1pZCI6ImxlZ2VuZC1zb3VyY2UtaXRlbS1zdGF0dXMifSx5Lm1hcCgoZT0+KHcuaGFzKGUpfHx3LnNldChlLCgwLGgucmFuZG9tSGFzaCkoKSkscy5jcmVhdGVFbGVtZW50KG0uU3RhdHVzSWNvbix7a2V5OncuZ2V0KGUpLHZpc2libGU6ZS52aXNpYmxlLGljb246ZS5tb2RlbC5pY29uKCksY2xhc3NOYW1lOmUubW9kZWwuY2xhc3NOYW1lKCksc2l6ZTplLm1vZGVsLnNpemUoKT8/InNtYWxsIixpc0JsaW5raW5nOmUubW9kZWwuaXNCbGlua2luZ01vZGUsdHVybk9mZkJsaW5raW5nOmUubW9kZWwudHVybk9mZkJsaW5raW5nTW9kZSxjdXN0b21Db2xvcjplLm1vZGVsLmN1c3RvbUNvbG9yKCksZGF0YVFhSWQ6ZS5kYXRhUWFJZCxkYXRhc2V0RW50aXR5SWQ6ZS5pY29uRGF0YXNldEVudGl0eUlkfSkpKSkpLHMuY3JlYXRlRWxlbWVudChfLkZ1bGxUb29sdGlwc1BvcHVwLHtzdGF0dXNlczp0LGFuY2hvcmVkOnt0eXBlOiJlbGVtZW50IixhdDpFfSxpc09wZW46ZyYmIUMsb25DbG9zZTprLG9mZnNldFBvc2l0aW9uOnt4Oi0xNSx5OjR9fSkpO2Z1bmN0aW9uIFQoKXt2KChlPT4hZSkpfWZ1bmN0aW9uIGsoKXt2KCExKX19fSw3ODM5NzgoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7U3RhdHVzZXNXaWRnZXRTdGF0ZUJhc2U6KCk9PmMsdXBkYXRlV2F0Y2hlZFZhbHVlRGVib3VuY2VkOigpPT51fSk7dmFyIHMsbz1hKDU0Nzg1MSksaT1hKDYwMTg0MSkscj1hKDIzMjM2NCksbj1hKDk1MjkwMCksbD1hKDgwMDIyNik7ZnVuY3Rpb24gdShlLHQsYSxzKXtjb25zdCBpPW5ldyByLldhdGNoZWRWYWx1ZSh0KSxuPSgwLG8uZGVmYXVsdCkoKGU9Pmkuc2V0VmFsdWUoZSkpLGEpO3JldHVybiBlLnN1YnNjcmliZSgoZT0+e24oZSkscz8uKGUpJiZuLmZsdXNoKCl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksaS5yZWFkb25seSgpLnNwYXduKCgoKT0+e24uY2FuY2VsKCksZS5yZWxlYXNlKCl9KSl9IWZ1bmN0aW9uKGUpe2UuVG9vbHRpcFNlcGFyYXRvcj0iIMK3ICJ9KHN8fChzPXt9KSk7Y2xhc3MgY3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9zaXplPWwudHJhY2tpbmdNb2RlSXNBdmFpbGFibGU/Im1lZGl1bSI6InNtYWxsIix0aGlzLl9zdGF0dXNWaWV3TW9kZWxzSW5mb3NXVj1uZXcgci5XYXRjaGVkVmFsdWUoW10pLHRoaXMuX3Zpc2liaWxpdHk9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9mb3JjZUhpZGVWaXNpYmlsaXR5TW9kZWxzPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fb3B0aW9ucz1lO2NvbnN0IHQ9KDAsbi5jb21iaW5lKSgoZT0+ZS5tYXAoKGU9PigwLG4uY29tYmluZSkoKChlLHQpPT5lJiZ0KSxlLnZpc2libGUud2Vha1JlZmVyZW5jZSgpLGUubW9kZWwudmlzaWJsZSgpLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCkpKSksdGhpcy5fc3RhdHVzVmlld01vZGVsc0luZm9zV1Yud2Vha1JlZmVyZW5jZSgpKTt0aGlzLl92aXNpYmxlTW9kZWxzPXUoKDAsbi5hY2N1bXVsYXRlKSgoKGUsdCxhKT0+dD9bXTphLmZpbHRlcigoKHQsYSk9PmVbYV0mJnR8fG51bGwpKS5maWx0ZXIoaS5ub3ROdWxsKS5zbGljZSgwLDMpKSx0Lm93bmVyc2hpcCgpLHRoaXMuX2ZvcmNlSGlkZVZpc2liaWxpdHlNb2RlbHMud2Vha1JlZmVyZW5jZSgpLHRoaXMuX3N0YXR1c1ZpZXdNb2RlbHNJbmZvc1dWLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCksW10sMjUwLChlPT4wPT09ZS5sZW5ndGgpKSx0aGlzLl92aXNpYmxlTW9kZWxzLnN1YnNjcmliZSgoKCk9PnRoaXMuX3VwZGF0ZVZpc2liaWxpdHkoKSkpLHRoaXMuX3Rvb2x0aXA9KDAsbi5hY2N1bXVsYXRlKSgoZT0+ZS5maWx0ZXIoaS5ub3ROdWxsKS5qb2luKCIgwrcgIikpLCgwLG4uY29tYmluZSkoKGU9PmUubWFwKChlPT5lLm1vZGVsLnRvb2x0aXAoKS53ZWFrUmVmZXJlbmNlKCkpKSksdGhpcy5fdmlzaWJsZU1vZGVscy53ZWFrUmVmZXJlbmNlKCkpLm93bmVyc2hpcCgpKX1kZXN0cm95KCl7dGhpcy5fdmlzaWJpbGl0eS51bnN1YnNjcmliZSgpLHRoaXMuX2NsZWFyU3RhdHVzVmlld01vZGVscygpLHRoaXMuX3Zpc2libGVNb2RlbHMuZGVzdHJveSgpLHRoaXMuX3Rvb2x0aXAuZGVzdHJveSgpfXZpc2liaWxpdHkoKXtyZXR1cm4gdGhpcy5fdmlzaWJpbGl0eS5yZWFkb25seSgpfXZpc2libGVNb2RlbHMoKXtyZXR1cm4gdGhpcy5fdmlzaWJsZU1vZGVsc310b29sdGlwKCl7cmV0dXJuIHRoaXMuX3Rvb2x0aXB9X2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyhlKXt0aGlzLl9zdGF0dXNWaWV3TW9kZWxzSW5mb3NXVi5zZXRWYWx1ZShbLi4udGhpcy5fc3RhdHVzVmlld01vZGVsc0luZm9zV1YudmFsdWUoKSxlXSl9X2NsZWFyU3RhdHVzVmlld01vZGVscygpe2Zvcihjb25zdCBlIG9mIHRoaXMuX3N0YXR1c1ZpZXdNb2RlbHNJbmZvc1dWLnZhbHVlKCkpe2lmKGUuYWRkaXRpb25hbFdpZGdldHMpZm9yKGNvbnN0IHQgb2YgZS5hZGRpdGlvbmFsV2lkZ2V0cyl0LmRlc3Ryb3koKTtlLm1vZGVsLmRlc3Ryb3koKSxlLnZpc2libGUuZGVzdHJveSgpfX19fSw5NzA2MzUoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7Qm9vbGVhblN0YXR1c1ZpZXdNb2RlbDooKT0+aX0pO3ZhciBzPWEoMjMyMzY0KSxvPWEoNTY1MjA2KTtjbGFzcyBpIGV4dGVuZHMgby5TdGF0dXNWaWV3TW9kZWx7Y29uc3RydWN0b3IoZSx0KXtzdXBlcih0KSx0aGlzLl9ib29sZWFuU3RhdHVzPW5ldyBzLldhdGNoZWRWYWx1ZSghMSkuc3Bhd24oKSx0aGlzLnVwZGF0ZVN0YXR1cyhlKX1kZXN0cm95KCl7dGhpcy5fYm9vbGVhblN0YXR1cy5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfXVwZGF0ZVN0YXR1cyhlKXsKdGhpcy5fYm9vbGVhblN0YXR1cy5kZXN0cm95KCksdGhpcy5fYm9vbGVhblN0YXR1cz1lLnNwYXduKCksdGhpcy5fYm9vbGVhblN0YXR1cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pfV91cGRhdGVTdGF0dXMoZSl7ZT90aGlzLl9zdGF0dXMuc2V0VmFsdWUoITApOnRoaXMuX3N0YXR1cy5zZXRWYWx1ZShudWxsKX19fSw4MDAyMjYoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7dHJhY2tpbmdNb2RlSXNBdmFpbGFibGU6KCk9PnN9KTtjb25zdCBzPWEoMzE4OTc0KS5DaGVja01vYmlsZS5hbnkoKX0sOTAxMTA4KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse1BpbmVTb3VyY2VDb2RlTW9kZWxCYXNlOigpPT5uZSxib3R0b21XaWRnZXRCYXI6KCk9PmllLHVwZGF0ZXNJbmZvU3VwcG9ydGVkOigpPT5yZX0pO3ZhciBzPWEoMTM4NjM4KSxvPWEoMTg1MjcxKSxpPWEoMzg2OTMxKSxyPWEoMjIxMDYxKSxuPWEoMzY4MzEyKSxsPWEoMjMyMzY0KSx1PWEoODc0MzA2KSxjPWEoNjA1MjU3KSxkPWEoNTcwNjAzKSxoPWEoOTIwNDc1KSxwPWEoMTY3NTAyKSxtPWEoNzY4NzYwKSxfPWEoNzkxNDI3KSxTPWEoNjgxNzk5KSxmPWEoNzY1MTczKSx3PWEoODQ4Nzg1KSxiPWEoNDEyMzg0KSxnPWEoNjI4MDYpLHY9YSg5NTY0MzcpLHk9YSg4ODU2MzApLE09YSg5NjQ1NzMpLEk9YSgxNjM2MDMpLEU9YSgxODU2MDgpLEM9YSg4MjAxODApLFQ9YSg5NDgzODApO2NsYXNzIGsgZXh0ZW5kcyBTLlN0dWR5U3R1Yntjb25zdHJ1Y3RvcihlLHQsYSxzKXtzdXBlcihlLHQsYSwhMSxzKSx0aGlzLmlzU3RyYXRlZ3lTdHViPSEwLHRoaXMud2F0Y2hlZERhdGE9bmV3IGwuV2F0Y2hlZFZhbHVlKHttZXRob2Q6IlRlc3QifSksdGhpcy5fcmVwb3J0RGF0YT1udWxsLHRoaXMuX2JhcnNJbmRleGVzPVtdLHRoaXMuX2JhcnNJbmRleGVzPXQuZGF0YS5iYXJzSW5kZXhlc3x8W10sdGhpcy5fcmVwb3J0RGF0YT10LmRhdGEucmVwb3J0RGF0YT8/bnVsbCx0aGlzLm1vZGVsKCkuYWRkU3RyYXRlZ3lTb3VyY2UodGhpcywwKX1kZXN0cm95KCl7dGhpcy5tb2RlbCgpLnJlbW92ZVN0cmF0ZWd5U291cmNlKHRoaXMsMCksc3VwZXIuZGVzdHJveSgpfW1ldGFJbmZvKCl7cmV0dXJuKDAscy5lbnN1cmVOb3ROdWxsKShzdXBlci5tZXRhSW5mbygpKX1yZXBvcnREYXRhKCl7cmV0dXJuIHRoaXMuX3JlcG9ydERhdGF9b3JkZXJzRGF0YSgpe3JldHVybiB0aGlzLl9yZXBvcnREYXRhPy5maWxsZWRPcmRlcnM/P251bGx9YmFyc0luZGV4ZXMoKXtyZXR1cm4gdGhpcy5fYmFyc0luZGV4ZXN9YWN0aXZlU3RhdGUoKXtyZXR1cm4gdGhpcy5tb2RlbCgpLmFjdGl2ZVN0cmF0ZWd5U291cmNlKCkudmFsdWUoKT09PXRoaXN9c3RyYXRlZ3lPcmRlcnNQYW5lVmlldygpe3JldHVybiBudWxsfXJlcG9ydENoYW5nZWQoKXtyZXR1cm4gbmV3IFQuRGVsZWdhdGV9c3R1ZHlOYW1lKCl7cmV0dXJuIG5ldyBsLldhdGNoZWRWYWx1ZSgiIikucmVhZG9ubHkoKX19dmFyIHg9YSg5NjY0MDQpO2NvbnN0IEQ9e2FzT2JqZWN0OiEwLG9ubHlBdG9tVmFsdWVzOiEwLHZhbHVlc0FzSXNGcm9tUHJvcGVydGllczohMCxza2lwSGlkZGVuSW5wdXRzOiEwLGRvTm90U2tpcEhpZGRlbldpdGhNaWdyYXRlOiEwLHNraXBCb29sZWFuSW5wdXRzOiExLHNraXBUZXh0YXJlYUlucHV0czohMSx1c2VOYW1lQW5kR3JvdXBBc0tleTohMH0sVj1uZXcgTWFwLFA9bmV3IFNldDtmdW5jdGlvbiBBKGUsdCxhLG8saSl7Y29uc3Qgcj1lLmlkKCksbj1QLmhhcyhyKTtsZXQgbD1uPygwLHMuZW5zdXJlRGVmaW5lZCkoVi5nZXQocikpOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5tZXRhSW5mbygpO3JldHVybntpbnB1dHNJbmZvTGlzdDp0LmlucHV0cyxpbnB1dERlZmF1bHRzOnQuZGVmYXVsdHMuaW5wdXRzLGlucHV0VmFsdWVzOmUuaW5wdXRzKEQpfX0oZSk7MD09PU9iamVjdC5rZXlzKGwuaW5wdXRWYWx1ZXMpLmxlbmd0aCYmKGw9Vi5nZXQocik/P2wpLG58fFYuc2V0KHIsbCksaT8ubGVuZ3RoP1AuYWRkKHIpOlAuZGVsZXRlKHIpO2NvbnN0IHU9e3pvcmRlcjplLnpvcmRlcigpLHBhbmVJZDphLnBhbmUuaWQoKX07bGV0IGM7aWYoYS5wcmljZVNjYWxlJiZhLnByaWNlU2NhbGU9PT1lLnByaWNlU2NhbGUoKSl7Yz0oMCx2LmlzU3R1ZHlTdHJhdGVneSkoZSk/ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLm1vZGVsKCksYT1lLnN0YXRlKCEwKSxzPW5ldyBrKHQsYSwiIixlLm1ldGFJbmZvKCkpLG89dC5jcmVhdGVQYW5lKCk7cmV0dXJuIG8uYWRkRGF0YVNvdXJjZShzLG51bGwsITEpLHMuc2V0Wm9yZGVyKG8ubmV3U3R1ZHlaT3JkZXIoKSksdC5yZWNhbGN1bGF0ZVBhbmUobywoMCx4LnNvdXJjZUNoYW5nZUV2ZW50KShzLmlkKCkpKSx0LmZ1bGxVcGRhdGUoKSxzfShlKTpvLm1vZGVsKCkuaW5zZXJ0U3R1ZHlTdHViKCIiKTtjb25zdCB0PSgwLHMuZW5zdXJlTm90TnVsbCkoby5wYW5lRm9yU291cmNlKGUpKSxhPW8ubW9kZWwoKS5wYW5lcygpLmluZGV4T2YodCk7bmV3IE0uTWVyZ2VUb1RhcmdldFBhbmUoby5tb2RlbCgpLGMsYSxudWxsLCEwKS5yZWRvKCk7bmV3IEkuTW92ZVRvRXhpc3RpbmdQcmljZVNjYWxlVW5kb0NvbW1hbmQoby5tb2RlbCgpLGMsdCwoMCxzLmVuc3VyZU5vdE51bGwpKGUucHJpY2VTY2FsZSgpKSxudWxsKS5yZWRvKCl9KDAsYi5yZW1vdmVBbGxTb3VyY2VzV2l0aERlcGVuZGVuY2llcykoby5tb2RlbCgpLFtlXSk7Y29uc3QgZD1mdW5jdGlvbihlLHQsYSxzLG8pe2NvbnN0IGk9KDAseS5yZW1hcFN0dWR5SW5wdXRzQnlOYW1lKSh0LmlucHV0cyx0LmRlZmF1bHRzLmlucHV0cyx7aW5wdXRzSW5mb0xpc3Q6YS5pbnB1dHNJbmZvTGlzdCxpbnB1dERlZmF1bHRzOmEuaW5wdXREZWZhdWx0cyx2YWx1ZXNCeU5hbWU6YS5pbnB1dFZhbHVlc30pLHI9bmV3IEUuSW5zZXJ0U3R1ZHlDb21tYW5kKHtjaGFydE1vZGVsOmUubW9kZWwoKSxzdHVkeU1ldGFJbmZvOnQsaW5wdXRzOmkscHJvcHM6e30sYWRkQXNPdmVybGF5OiExLHBhcmVudFNvdXJjZXM6W10sdGFyZ2V0Wk9yZGVyOnMsc3R1ZHlJZDpvfSk7ci5yZWRvKCkKO2NvbnN0IG49ci5pbnNlcnRlZFN0dWR5KCk7cmV0dXJuIG4uc3R1ZHkudGhlbigodD0+e0MuRGVmZXJyZWRTdHVkaWVzLmluc3RhbmNlKGUubW9kZWwoKSkuYWRkKG8sdCl9KSksbn0obyx0LGwsdSxlLmlkKCkpO3JldHVybiBkLnN0dWR5LnRoZW4oKGU9PntpZihlLnNldFpvcmRlcih1LnpvcmRlciksIXQubGlua2VkVG9TZXJpZXMpe2NvbnN0IHQ9by5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZihhLnBhbmUpO2lmKG5ldyBNLk1lcmdlVG9UYXJnZXRQYW5lKG8ubW9kZWwoKSxlLHQsbnVsbCwhMCkucmVkbygpLG51bGwhPT1hLnByaWNlU2NhbGUpe25ldyBJLk1vdmVUb0V4aXN0aW5nUHJpY2VTY2FsZVVuZG9Db21tYW5kKG8ubW9kZWwoKSxlLGEucGFuZSxhLnByaWNlU2NhbGUsbnVsbCkucmVkbygpfWVsc2V7bmV3IEkuTW92ZVRvTmV3UHJpY2VTY2FsZVVuZG9Db21tYW5kKG8ubW9kZWwoKSxlLGEucGFuZSwib3ZlcmxheSIsbnVsbCkucmVkbygpfX1lLnNldEVycm9yQ29tcGlsYXRpb24oaT8ubGVuZ3RoP2k6bnVsbCksYyYmby5tb2RlbCgpLnJlbW92ZVNvdXJjZShjKX0pKSxkfXZhciBSPWEoODgxOTIpLEI9YSgxOTg5MDEpO2NvbnN0IE49bmV3IGQuVHJhbnNsYXRlZFN0cmluZygidXBkYXRlIHt0aXRsZX0gc2NyaXB0IixvLnQobnVsbCx2b2lkIDAsYSg0MTAxNDgpKSk7ZnVuY3Rpb24gRihlLHQpe2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IGE9dC5wcmljZVNjYWxlUG9zaXRpb24oZSk7cmV0dXJue2lkOmUuaWQoKSxwb3NpdGlvbjphLHByaWNlU2NhbGVJbmRleDp0LnByaWNlU2NhbGVJbmRleChlLGEpfX1jb25zdCBXPW5ldyBNYXAsTz0vXmRlc2NyaXB0aW9uJC8sSD0vXnNob3J0RGVzY3JpcHRpb24kLyxMPS9eYmFuZHNcLlxkK1wubmFtZSQvLFU9L15maWxsZWRBcmVhc1wuXGQrXC50aXRsZSQvLEc9L15zdHlsZXNcLnBsb3RfXGQrXC50aXRsZSQvLHo9L15vaGxjUGxvdHNcLnBsb3RiYXJfXGQrXC50aXRsZSQvLHE9L15vaGxjUGxvdHNcLnBsb3RjYW5kbGVfXGQrXC50aXRsZSQvO2Z1bmN0aW9uICQoZSl7cmV0dXJuW08sSCxMLFUsRyx6LHFdLnNvbWUoKHQ9PnQudGVzdChlKSkpfWZ1bmN0aW9uIGooZSx0KXtjb25zdCBhPSgwLGguZGVmYXVsdCkodCxlKTtkZWxldGUgYS5waW5lLGRlbGV0ZSBhLmRlZmF1bHRzPy5pbnB1dHMsZGVsZXRlIGEuaW5wdXRzLCgwLEIucmVtb3ZlRW1wdHlPYmplY3RzRnJvbVJlY29yZElucGxhY2UpKGEpO3JldHVybigwLEIuY29sbGVjdEFsbFBhdGhzKShhKS5ldmVyeSgkKX1mdW5jdGlvbiBRKGUsdCxhKXthLmZvckVhY2goKChhLHMpPT57Y29uc3Qgbz1wYXJzZUludChhLnNwbGl0KCIkIilbMV0/PyItMSIpO28+PTAmJm88ZS5wbG90cy5sZW5ndGgmJnQucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZChzKT8uc2V0VmFsdWUoYSl9KSl9ZnVuY3Rpb24gWChlKXtjb25zdCB0PWUuaW5wdXRzKHthc09iamVjdDohMH0pLGE9T2JqZWN0LmtleXModCkuZmlsdGVyKChlPT4oMCxnLmlzRXh0ZW5kZWRJbnB1dFNvdXJjZSkodFtlXSkpKS5tYXAoKGU9PltlLCgwLGcuZ2V0SW5wdXRWYWx1ZSkodFtlXSldKSk7cmV0dXJuIG5ldyBNYXAoYSl9ZnVuY3Rpb24gSyhlKXtyZXR1cm4gZS5jaGlsZHJlbigpLm1hcCgoZT0+KHtlbnRpdHlJZDplLmlkKCksaW5wdXRzOlgoZSl9KSkpfWZ1bmN0aW9uIFooZSx0KXtjb25zdCBhPXt9LHM9ZS5zdHVkaWVzV1YoKS5zcGF3bigpLG89KCk9PntlLm9uRGVzdHJveWVkKCkudW5zdWJzY3JpYmVBbGwoYSkscy5kZXN0cm95KCl9O3JldHVybiBuZXcgUHJvbWlzZSgoKGkscik9PntlLm9uRGVzdHJveWVkKCkuc3Vic2NyaWJlKGEsKCgpPT57bygpLHIoKX0pKSxzLnN1YnNjcmliZSgoZT0+e2NvbnN0IGE9ZS5maW5kKChlPT5lLmlkKCk9PT10KSk7YSYmKG8oKSxpKGEpKX0pKX0pKX1jbGFzcyBKIGV4dGVuZHMgZi5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsYSxzKXtjb25zdCBvPWEuc3RhdGUoKTtpZihzdXBlcihOLmZvcm1hdCh7dGl0bGU6by5zaG9ydERlc2NyaXB0aW9ufHxvLmRlc2NyaXB0aW9ufHwiIn0pKSx0aGlzLl9zdGFydFVuZG9Qcm9taXNlPSgwLG0uY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLHRoaXMuX3N0YXJ0UmVkb1Byb21pc2U9KDAsbS5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksdGhpcy5fdXBkYXRlZFN0dWRpZXNJZHM9W10sdGhpcy5fcHJldlNjcmlwdHNTdGF0ZXM9W10sdGhpcy5fbmV3U2NyaXB0c1N0YXRlcz1bXSx0aGlzLl9jaGlsZFN0dWRlc1NvdXJjZXNJbnB1dHM9bmV3IE1hcCx0aGlzLl9jaGFydE1vZGVsPWUsdGhpcy5fY29tcGlsZUVycm9ycz1zLHRoaXMuX25ld01ldGFJbmZvPWEsInNjcmlwdElkUGFydCJpbiB0KXtjb25zdCBlPWZ1bmN0aW9uKGUsdCxhLHMpe2NvbnN0IG89W10saT10LmRhdGFTb3VyY2VzKCk7Zm9yKGxldCB0PWkubGVuZ3RoLTE7dD49MDt0LS0pe2NvbnN0IHI9aVt0XTtpZihzJiZyLmlkKCkhPT1zKWNvbnRpbnVlO2lmKCEoMCx2LmlzU3R1ZHkpKHIpKWNvbnRpbnVlO2NvbnN0IG49ci5tZXRhSW5mbygpO24ucGluZSYmbi5zY3JpcHRJZFBhcnQ9PT1lJiYoImFsbCI9PT1hfHxhJiZuLnBpbmUudmVyc2lvbj09PWEudG9TdHJpbmcoKSkmJm8ucHVzaChyKX1yZXR1cm4gb30odC5zY3JpcHRJZFBhcnQsdGhpcy5fY2hhcnRNb2RlbCx0LnNjcmlwdFZlcnNpb25Ub1VwZGF0ZSk7dGhpcy5fdXBkYXRlZFN0dWRpZXNJZHM9ZS5tYXAoKGU9PmUuaWQoKSkpLHRoaXMuX3NhdmVDaGlsZFN0dWRpZXNJbnB1dHMoZSl9ZWxzZSB0aGlzLl91cGRhdGVkU3R1ZGllc0lkcz1bdC5zdHVkeS5pZCgpXX11cGRhdGVTY3JpcHRzSWRzKCl7cmV0dXJuIHRoaXMuX3VwZGF0ZWRTdHVkaWVzSWRzfWFzeW5jIHJlZG8oKXt0aGlzLl9zdGFydFJlZG9Qcm9taXNlLnJlc29sdmUoKSx0aGlzLl9zdGFydFVuZG9Qcm9taXNlPSgwLG0uY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpO2NvbnN0IGU9dGhpcy5fZGV0YWNoTGluZVRvb2xzKCk7dHJ5e2lmKDA9PT10aGlzLl9uZXdTY3JpcHRzU3RhdGVzLmxlbmd0aCl7CmlmKCFhd2FpdCB0aGlzLl9yZXBsYWNlU291cmNlc0FuZFNhdmVTdGF0ZXMoKSlyZXR1cm59ZWxzZXtmb3IoY29uc3RbLGVdb2YgdGhpcy5fY2hpbGRTdHVkZXNTb3VyY2VzSW5wdXRzKXRoaXMuX3Jlc2V0Q2hpbGRJbnB1dHNTb3VyY2VUb0RlZmF1bHQoZSk7aWYoIWF3YWl0IFByb21pc2UucmFjZShbdGhpcy5fcmVzdG9yZVN0YXRlcyh0aGlzLl9uZXdTY3JpcHRzU3RhdGVzKSx0aGlzLl9zdGFydFVuZG9Qcm9taXNlLnByb21pc2VdKSlyZXR1cm59Zm9yKGNvbnN0W2UsdF1vZiB0aGlzLl9jaGlsZFN0dWRlc1NvdXJjZXNJbnB1dHMpe2NvbnN0IGE9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZChlKSksbz1lPT57Y29uc3QgYT1lLm1ldGFJbmZvKCk7Zm9yKGNvbnN0e2VudGl0eUlkOmUsaW5wdXRzOnN9b2YgdCl7Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZChlKTt0JiYoYSYmUShhLHQscyksdC5zdGFydCghMCwhMSwyKSl9fTtpZigoMCx2LmlzU3R1ZHkpKGEpKW8oYSk7ZWxzZXtaKHRoaXMuX2NoYXJ0TW9kZWwsZSkudGhlbihvKX19fWZpbmFsbHl7dGhpcy5fYXR0YWNoTGluZVRvb2xzKGUpfX1hc3luYyB1bmRvKCl7dGhpcy5fc3RhcnRVbmRvUHJvbWlzZS5yZXNvbHZlKCksdGhpcy5fc3RhcnRSZWRvUHJvbWlzZT0oMCxtLmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKTtjb25zdCBlPXRoaXMuX2RldGFjaExpbmVUb29scygpO3RyeXtmb3IoY29uc3RbLGVdb2YgdGhpcy5fY2hpbGRTdHVkZXNTb3VyY2VzSW5wdXRzKXRoaXMuX3Jlc2V0Q2hpbGRJbnB1dHNTb3VyY2VUb0RlZmF1bHQoZSk7aWYoIWF3YWl0IFByb21pc2UucmFjZShbUHJvbWlzZS5hbGwodGhpcy5fcmVzdG9yZVN0YXRlcyh0aGlzLl9wcmV2U2NyaXB0c1N0YXRlcykpLHRoaXMuX3N0YXJ0UmVkb1Byb21pc2UucHJvbWlzZV0pKXJldHVybjtmb3IoY29uc3RbLGVdb2YgdGhpcy5fY2hpbGRTdHVkZXNTb3VyY2VzSW5wdXRzKWZvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodC5lbnRpdHlJZCk7aWYobnVsbCE9PWUpZm9yKGNvbnN0W2Esc11vZiB0LmlucHV0cyllLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKClbYV0uc2V0VmFsdWUocyl9fWZpbmFsbHl7dGhpcy5fYXR0YWNoTGluZVRvb2xzKGUpfX1hc3luYyBfcmVwbGFjZVNvdXJjZXNBbmRTYXZlU3RhdGVzKCl7Y29uc3QgZT10aGlzLl91cGRhdGVkU3R1ZGllc0lkcy5tYXAoKGU9PnRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpKSk7dGhpcy5fcHJldlNjcmlwdHNTdGF0ZXM9dGhpcy5fZ2V0U2NyaXB0c1N0YXRlcyhlKTtjb25zdCB0PVtdO2ZvcihsZXQgYT1lLmxlbmd0aC0xO2E+PTA7YS0tKXtjb25zdCBvPWVbYV0saT1vLmlkKCkscj0oMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvclNvdXJjZShvKSksbj1yLmlzT3ZlcmxheShvKT9udWxsOm8ucHJpY2VTY2FsZSgpLGw9by5vcmlnaW5hbE1ldGFJbmZvKCkuc3RhdGUoKSx1PXRoaXMuX25ld01ldGFJbmZvLnN0YXRlKCk7dGhpcy5fc2F2ZUNoaWxkU291cmNlSW5wdXRzQmVmb3JlUmVjb21waWxhdGUoaSxsLHUpO2NvbnN0IGM9dGhpcy5fY2hpbGRTdHVkZXNTb3VyY2VzSW5wdXRzLmdldChpKTtjJiZ0aGlzLl9yZXNldENoaWxkSW5wdXRzU291cmNlVG9EZWZhdWx0KGMpO2NvbnN0IGQ9QShvLHRoaXMuX25ld01ldGFJbmZvLHtwYW5lOnIscHJpY2VTY2FsZTpufSx0aGlzLl9jaGFydE1vZGVsLnVuZG9Nb2RlbCgpLHRoaXMuX2NvbXBpbGVFcnJvcnMpO2lmKHQucHVzaChkLnN0dWR5KSxqKGwsdSkpe2NvbnN0IGU9by5wcm9wZXJ0aWVzKCkuc3RhdGUoKTtkZWxldGUgZS5pbnB1dHMsZC5zdHVkeS50aGVuKCh0PT57dC5wcm9wZXJ0aWVzKCkubWVyZ2VBbmRGaXJlKGUpfSkpfX1Qcm9taXNlLmFsbCh0KS50aGVuKChlPT57dGhpcy5fbmV3U2NyaXB0c1N0YXRlcz10aGlzLl9nZXRTY3JpcHRzU3RhdGVzKGUpfSkpO2NvbnN0IGE9YXdhaXQgUHJvbWlzZS5yYWNlKFtQcm9taXNlLmFsbCh0KSx0aGlzLl9zdGFydFVuZG9Qcm9taXNlLnByb21pc2VdKTtyZXR1cm4gYXx8bnVsbH1fcmVzdG9yZVN0YXRlcyhlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBhIG9mIGUpdGhpcy5fcmVzdG9yZVNjcmlwdEFmdGVyUmVjb21waWxhdGlvbihhKSx0LnB1c2godGhpcy5fY2hhcnRNb2RlbC53YWl0Rm9yU3R1ZHkoYS5lbnRpdHlJZCkpO3JldHVybiB0fV9nZXRTY3JpcHRzU3RhdGVzKGUpe2NvbnN0IHQ9W10sYT10aGlzLl9jaGFydE1vZGVsLnBhbmVzKCkubWFwKCgoZSx0KT0+KHtzdGF0ZTplLnN0YXRlKHtpbmNsdWRlU291cmNlczohMX0pLGluZGV4OnQsaWQ6ZS5pZCgpfSkpKTtmb3IobGV0IG89ZS5sZW5ndGgtMTtvPj0wO28tLSl7Y29uc3QgaT1lW29dLHI9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JTb3VyY2UoaSkpLG49dGhpcy5fY2hhcnRNb2RlbC5wYW5lcygpLmluZGV4T2YociksbD1GKGkucHJpY2VTY2FsZSgpLHIpLHU9aS5zdGF0ZSghMSk7dC5wdXNoKHtlbnRpdHlJZDppLmlkKCksc3RhdGU6dSxwYW5lU3RhdGU6YVtuXSxwcmljZVNjYWxlUG9zaXRpb25JZHM6bH0pfXJldHVybiB0LnNvcnQoKChlLHQpPT5lLnBhbmVTdGF0ZS5pbmRleC10LnBhbmVTdGF0ZS5pbmRleCkpLHR9X3Jlc3RvcmVTY3JpcHRBZnRlclJlY29tcGlsYXRpb24oZSl7Y29uc3R7ZW50aXR5SWQ6dCxwYW5lU3RhdGU6YSxzdGF0ZTpvLHByaWNlU2NhbGVQb3NpdGlvbklkczppfT1lO2lmKG51bGw9PT1vfHwoMCxTLmlzU3R1ZHlTdHViRGVzY3JpcHRvcikobykpcmV0dXJuO2NvbnN0IHI9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZCh0KSksbj0oMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvclNvdXJjZShyKSksbD1uZXcgdy5SZW1vdmVTb3VyY2VzVW5kb0NvbW1hbmQodGhpcy5fY2hhcnRNb2RlbCxbcl0sbmV3IGQuVHJhbnNsYXRlZFN0cmluZygiIiwiIikpO2wucmVkbygpLApsLnJlbW92ZWRJZHMoKS5mb3JFYWNoKChlPT50aGlzLl9jaGFydE1vZGVsLnJlc2V0V2FpdEZvclN0dWR5KGUpKSk7Y29uc3QgdT17em9yZGVyOnIuem9yZGVyKCkscGFuZUlkOm4uaWQoKX07bGV0IGM7aWYobnVsbD09PXRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvcklkKGEuaWQpKXRoaXMuX2NoYXJ0TW9kZWwuY3JlYXRlUGFuZShhLmluZGV4LHZvaWQgMCxhLmlkKSx0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JJZChhLmlkKT8ucmVzdG9yZVN0YXRlKHtzdGF0ZTp7Li4uYS5zdGF0ZSxzb3VyY2VzOltvXX0sd2l0aERhdGE6ITEsdmVyc2lvbjp0aGlzLl9jaGFydE1vZGVsLnZlcnNpb24oKX0pLGM9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZCh0KSk7ZWxzZXtjb25zdCBlPXRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKS5pbmRleE9mKCgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9ySWQoYS5pZCkpKTtjPSgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5yZXN0b3JlU291cmNlKCExLGUsbnVsbCxvLGkpKSxjLnNldFpvcmRlcih1LnpvcmRlcil9Vy5oYXModCkmJlcuc2V0KGMuaWQoKSwoMCxzLmVuc3VyZURlZmluZWQpKFcuZ2V0KHQpKSl9X3NhdmVDaGlsZFNvdXJjZUlucHV0c0JlZm9yZVJlY29tcGlsYXRlKGUsdCxhKXtjb25zdCBvPXQucGxvdHMuZmlsdGVyKChlPT5fLlN0dWR5TWV0YUluZm8uY2FuUGxvdEJlU291cmNlT2ZDaGlsZFN0dWR5KGUudHlwZSkpKSxpPWEucGxvdHMuZmlsdGVyKChlPT5fLlN0dWR5TWV0YUluZm8uY2FuUGxvdEJlU291cmNlT2ZDaGlsZFN0dWR5KGUudHlwZSkpKTtpZighKDAscC5kZWZhdWx0KShvLGkpKXtjb25zdCB0PSgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQoZSkpLGE9KDAsYi5jbG9zZVNvdXJjZXNTZXQpKHRoaXMuX2NoYXJ0TW9kZWwsW3RdLCEwKTtmb3IoY29uc3QgZSBvZiBvKWkuZmluZCgodD0+dD09PWUpKXx8YS5maWx0ZXIodi5pc1N0dWR5KS5mb3JFYWNoKChlPT57Y29uc3QgYT1lLmlucHV0cygpLHM9Xy5TdHVkeU1ldGFJbmZvLmdldFNvdXJjZUlucHV0SWRzKGUubWV0YUluZm8oKSksbz17ZW50aXR5SWQ6ZS5pZCgpLGlucHV0czpuZXcgTWFwfTtmb3IoY29uc3QgZSBvZiBzKXtjb25zdCBzPWFbZV07aWYoKDAsZy5pc0V4dGVuZGVkSW5wdXQpKHMpJiYoMCxnLmlzRXh0ZW5kZWRJbnB1dFNvdXJjZSkocykpe2NvbnN0IGE9KDAsZy5nZXRJbnB1dFZhbHVlKShzKTstMSE9PWEuaW5kZXhPZih0LmlkKCkpJiZvLmlucHV0cy5zZXQoZSxhKX19aWYoby5pbnB1dHMuc2l6ZSl7bGV0IGU9dGhpcy5fY2hpbGRTdHVkZXNTb3VyY2VzSW5wdXRzLmdldCh0LmlkKCkpO2V8fChlPVtdLHRoaXMuX2NoaWxkU3R1ZGVzU291cmNlc0lucHV0cy5zZXQodC5pZCgpLGUpKSxlLnB1c2gobyl9fSkpfX1fcmVzZXRDaGlsZElucHV0c1NvdXJjZVRvRGVmYXVsdChlKXtmb3IoY29uc3QgdCBvZiBlKXtjb25zdCBlPSgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodC5lbnRpdHlJZCkpO2Uuc3RvcCghMSwyKTtmb3IoY29uc3RbYV1vZiB0LmlucHV0cyl7Y29uc3QgdD0oMCxzLmVuc3VyZURlZmluZWQpKGUubWV0YUluZm8oKS5kZWZhdWx0cy5pbnB1dHM/LlthXSk7ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpW2FdLnNldFZhbHVlKHQpfX19X2RldGFjaExpbmVUb29scygpe3JldHVybiB0aGlzLl91cGRhdGVkU3R1ZGllc0lkcy5yZWR1Y2UoKChlLHQpPT57Y29uc3QgYT0oMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHQpKSxvPSgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKGEpKSxpPW8uZGF0YVNvdXJjZXMoKS5maWx0ZXIoUi5pc0xpbmVUb29sKS5maWx0ZXIoKGU9PmUub3duZXJTb3VyY2UoKT8uaWQoKT09PWEuaWQoKSkpO3JldHVybiBlLnNldChhLmlkKCksaSksaS5mb3JFYWNoKChlPT5vLnJlbW92ZURhdGFTb3VyY2UoZSkpKSxlfSksbmV3IE1hcCl9X2F0dGFjaExpbmVUb29scyhlKXtjb25zdCB0PW5ldyBTZXQ7ZS5mb3JFYWNoKCgoZSxhKT0+e2NvbnN0IG89dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQoYSk7aWYobnVsbD09PW8pcmV0dXJuIHZvaWQgdC5hZGQoYSk7Y29uc3QgaT0oMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvclNvdXJjZShvKSk7ZS5mb3JFYWNoKChlPT57ZS5zZXRPd25lclNvdXJjZShvKSxpLmFkZERhdGFTb3VyY2UoZSxvLnByaWNlU2NhbGUoKSwhMCl9KSl9KSksdC5mb3JFYWNoKCh0PT57Y29uc3QgYT1lLmdldCh0KTthJiZhLmZvckVhY2goKGU9PntlLmRlc3Ryb3k/LigpfSkpfSkpfV9zYXZlQ2hpbGRTdHVkaWVzSW5wdXRzKGUpe3RoaXMuX2NoaWxkU3R1ZGVzU291cmNlc0lucHV0cz1uZXcgTWFwKGUubWFwKChlPT5bZS5pZCgpLEsoZSldKSkpfX12YXIgWT1hKDQxMzQxKSxlZT1hKDk0Mzk1KSx0ZT1hKDM0MjIwKSxhZT1hKDYwMjM4Nik7Y29uc3Qgc2U9bmV3IGQuVHJhbnNsYXRlZFN0cmluZygidXBkYXRlIGluZGljYXRvciB0byBsYXRlc3QgdmVyc2lvbiIsby50KG51bGwsdm9pZCAwLGEoNzE4NzU3KSkpLG9lPSgwLHIuZ2V0TG9nZ2VyKSgiQ2hhcnQuUGluZVNvdXJjZUNvZGUiKTtmdW5jdGlvbiBpZSgpe3JldHVybiB3aW5kb3cuVHJhZGluZ1ZpZXcuYm90dG9tV2lkZ2V0QmFyfWZ1bmN0aW9uIHJlKGUpe3JldHVybiBfLlN0dWR5TWV0YUluZm8uaGFzUHViU3VmZml4KGUpfHxfLlN0dWR5TWV0YUluZm8uaGFzU3RkU3VmZml4KGUpfWNsYXNzIG5le2NvbnN0cnVjdG9yKGUpe3RoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlPW5ldyBsLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fcGluZVNvdXJjZUVkaXRvclN0YXR1cz1uZXcgbC5XYXRjaGVkVmFsdWUoMCksdGhpcy5fZ2V0U2NyaXB0SW5mbz1udWxsLHRoaXMuX2Rlc3Ryb3llZD0hMSwKdGhpcy5fdXBkYXRlQWJpbGl0eVNob3dTb3VyY2VDb2RlPWFzeW5jKCk9PntpZighd2luZG93LndpZGdldGJhcilyZXR1cm47Y29uc3QgZT10aGlzLl9nZXRTb3VyY2VDb2RlRGF0YSgibGFzdCIpO2lmKG51bGw9PT1lKXJldHVybjtjb25zdHtzY3JpcHRJZFBhcnQ6dCxwaW5lVmVyc2lvbjphfT1lO3RyeXtjb25zdCBlPWF3YWl0KDAsbi5pc0F1dGhUb0dldFBpbmVTb3VyY2VDb2RlKSh0LGEpO2lmKHRoaXMuX2Rlc3Ryb3llZClyZXR1cm47dGhpcy5faXNBYmxlU2hvd1NvdXJjZUNvZGUuc2V0VmFsdWUoZSYmd2luZG93LndpZGdldGJhci5pc1Zpc2libGUoKSl9Y2F0Y2goZSl7b2UubG9nRXJyb3IoIkZhaWxlZCBpc0F1dGhUb0dldFBpbmVTb3VyY2VDb2RlLCByZWFzb246ICIrZSl9fSx0aGlzLl9waW5lU2NyaXB0PWUsd2luZG93LndpZGdldGJhcj8udmlzaWJsZSgpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVBYmlsaXR5U2hvd1NvdXJjZUNvZGUse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVQaW5lU291cmNlRWRpdG9yU3RhdHVzLmJpbmQodGhpcykpLHRoaXMuX2luaXRPcGVuZWRTY3JpcHRzKCl9ZGVzdHJveSgpe3dpbmRvdy53aWRnZXRiYXI/LnZpc2libGUoKS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVBYmlsaXR5U2hvd1NvdXJjZUNvZGUpLHRoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXMuZGVzdHJveSgpLHRoaXMuX29wZW5lZFNjcmlwdHM/LmRlc3Ryb3koKSx0aGlzLl9kZXN0cm95ZWQ9ITB9aXNBYmxlU2hvd1NvdXJjZUNvZGUoKXtyZXR1cm4gdGhpcy5faXNBYmxlU2hvd1NvdXJjZUNvZGUucmVhZG9ubHkoKX1zY3JpcHQoKXtyZXR1cm4gdGhpcy5fcGluZVNjcmlwdH10aXRsZSgpe3JldHVybiB0aGlzLl9waW5lU2NyaXB0LnRpdGxlKGVlLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lKX1tZXRhSW5mbygpe3JldHVybiB0aGlzLl9waW5lU2NyaXB0Lm1ldGFJbmZvKCl9c2NyaXB0SWRQYXJ0KCl7Y29uc3QgZT10aGlzLl9nZXRTb3VyY2VDb2RlRGF0YSgiIik7cmV0dXJuIGU/LnNjcmlwdElkUGFydD8/bnVsbH1hc3luYyBzaG93UGluZVNvdXJjZUNvZGUoZSl7aWYoKDAscy5hc3NlcnQpKHRoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlLnZhbHVlKCksIlNvdXJjZSBjb2RlIG5vdCBhdmFpbGFibGUhIChDaGVjayBhYmlsaXR5IHNob3cgc291cmNlIGNvZGUgYmVmb3JlIC0gY2FsbCBjYW5TaG93U291cmNlQ29kZSgpKSIpLCF3aW5kb3cud2lkZ2V0YmFyKXJldHVybjtjb25zdCB0PXRoaXMuX2dldFNvdXJjZUNvZGVEYXRhKCIiKTtudWxsIT09dCYmYXdhaXQoMCx0ZS5hY3RpdmF0ZVBpbmVFZGl0b3JEaWFsb2cpKHtzY3JpcHRJbmZvOntzY3JpcHQ6e3NjcmlwdElkUGFydDp0LnNjcmlwdElkUGFydCx2ZXJzaW9uOnQucGluZVZlcnNpb259LHBhcmFtczplfSxvcGVuU291cmNlSWQ6ImNoYXJ0X2xlZ2VuZCJ9KX1hc3luYyByZXF1ZXN0VXBkYXRlSW5mb3JtYXRpb24oKXtpZighd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQpcmV0dXJuIG51bGw7Y29uc3QgZT10aGlzLl9nZXRTb3VyY2VDb2RlRGF0YSgiIik7aWYoIWUpcmV0dXJuIG51bGw7dHJ5e2NvbnN0e3NjcmlwdElkUGFydDp0LHBpbmVWZXJzaW9uOmF9PWU7aWYoIXJlKHQpKXJldHVybiBudWxsO2NvbnN0IHM9YXdhaXQoMCxuLmdldExhc3RWZXJzaW9uKSh0KTtyZXR1cm4gcz97Y3VycmVudFZlcnNpb246dS5WZXJzaW9uLnBhcnNlKGEpLGxhc3RWZXJzaW9uOnUuVmVyc2lvbi5wYXJzZShzLnZlcnNpb24pfTpudWxsfWNhdGNoe3JldHVybiBudWxsfX1hc3luYyByZXF1ZXN0U2NyaXB0SW5mbygpe2lmKCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZClyZXR1cm4gbnVsbDtjb25zdCBlPXRoaXMuc2NyaXB0SWRQYXJ0KCk7aWYoIWUpcmV0dXJuIG51bGw7aWYoIV8uU3R1ZHlNZXRhSW5mby5oYXNQdWJTdWZmaXgoZSkpcmV0dXJuIG51bGw7aWYobmUuX3BpbmVQdWJTY3JpcHRJbmZvQ2FjaGUuaGFzKGUpKXJldHVybiBuZS5fcGluZVB1YlNjcmlwdEluZm9DYWNoZS5nZXQoZSk/P251bGw7Y29uc3QgdD1hd2FpdCgwLFkucmVxdWVzdFNjcmlwdEluZm8pKGUpO3JldHVybiBuZS5fcGluZVB1YlNjcmlwdEluZm9DYWNoZS5zZXQoZSx0KSx0fWFzeW5jIHVwZGF0ZVRvVmVyc2lvbihlLHQsYSl7Y29uc3Qgcz10aGlzLl9nZXRTb3VyY2VDb2RlRGF0YSgiIik7aWYoIXMpcmV0dXJuOygwLGkudHJhY2tFdmVudCkoIkdVSSIsIlVwZGF0ZSBzdHVkeSB2ZXJzaW9uIik7Y29uc3Qgbz1hd2FpdCgwLGMuc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuZmluZEJ5SWQoe3R5cGU6InBpbmUiLHBpbmVJZDpzLnNjcmlwdElkUGFydCxwaW5lVmVyc2lvbjp0LnRvU3RyaW5nKCl9KTtpZighdGhpcy5fZGVzdHJveWVkKXtjb25zdCB0PWE/ZS5hbGxVbmRvTW9kZWxzKCk6W2VdLHM9YT97c2NyaXB0SWRQYXJ0Om8uc2NyaXB0SWRQYXJ0LHNjcmlwdFZlcnNpb25Ub1VwZGF0ZToiYWxsIn06e3N0dWR5OnRoaXMuX3BpbmVTY3JpcHR9LGk9dC5tYXAoKGU9Pm5ldyBKKGUubW9kZWwoKSxzLG8pKSkuZmlsdGVyKChlPT5lLnVwZGF0ZVNjcmlwdHNJZHMoKS5sZW5ndGg+MCkpLHI9dFswXS51bmRvSGlzdG9yeSgpO2lmKGkubGVuZ3RoKXtyLmJlZ2luVW5kb01hY3JvKHNlKTtmb3IoY29uc3QgZSBvZiBpKXIucHVzaFVuZG9Db21tYW5kKGUpO3IuZW5kVW5kb01hY3JvKCl9fX1waW5lU291cmNlRWRpdG9yU3RhdHVzKCl7cmV0dXJuIHRoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXN9YXN5bmMgX2luaXRPcGVuZWRTY3JpcHRzKCl7Y29uc3QgZT1hd2FpdCgwLGFlLmdldE9wZW5lZFBpbmVTY3JpcHRzKSgpO3RoaXMuX2Rlc3Ryb3llZHx8KHRoaXMuX2dldFNjcmlwdEluZm89ZS5nZXRTY3JpcHRJbmZvLmJpbmQoZSksdGhpcy5fb3BlbmVkU2NyaXB0cz1lLnNjcmlwdHMoKS5zcGF3bigpLHRoaXMuX29wZW5lZFNjcmlwdHM/LnN1YnNjcmliZSh0aGlzLl91cGRhdGVQaW5lU291cmNlRWRpdG9yU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pKX0KX3VwZGF0ZVBpbmVTb3VyY2VFZGl0b3JTdGF0dXMoKXtjb25zdCBlPXRoaXMuX3BpbmVTY3JpcHQubWV0YUluZm8oKTtpZighdGhpcy5faXNBYmxlU2hvd1NvdXJjZUNvZGUudmFsdWUoKXx8bnVsbD09PWV8fG51bGw9PT10aGlzLl9nZXRTY3JpcHRJbmZvKXJldHVybiB2b2lkIHRoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXMuc2V0VmFsdWUoMCk7Y29uc3QgdD10aGlzLl9nZXRTY3JpcHRJbmZvKHtzY3JpcHRJZFBhcnQ6ZS5zY3JpcHRJZFBhcnQsc2NyaXB0VmVyc2lvbjplLnBpbmU/LnZlcnNpb259KTtsZXQgYT0wO251bGwhPT10JiYodC5kaWFsb2dDb3VudD4wP2E9MTp0LmRldGFjaENvdW50PjA/YT0yOnQuYm90dG9tQ291bnQ+MCYmKGE9MykpLHRoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXMuc2V0VmFsdWUoYSl9fW5lLl9waW5lUHViU2NyaXB0SW5mb0NhY2hlPW5ldyBNYXB9LDIyMzA4MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOCA0SDVhMSAxIDAgMCAwLTEgMXY4YTEgMSAwIDAgMCAxIDFoOGExIDEgMCAwIDAgMS0xdi0zaDF2M2wtLjAxLjIwNGEyIDIgMCAwIDEtMS43ODYgMS43ODVMMTMgMTVINWEyIDIgMCAwIDEtMS45OS0xLjc5NkwzIDEzVjVhMiAyIDAgMCAxIDItMmgzem03IDNoLTFWNC42OUw5LjcxIDkuMDA1IDkuMDAxIDguMyAxMy4yNzcgNEgxMVYzaDR6Ii8+PC9zdmc+J30sMTI1ODk3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMSA5IiB3aWR0aD0iMTEiIGhlaWdodD0iOSIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTAuOTk5ODc4IDRMMy45OTk4OCA3TDkuOTk5ODggMSIvPjwvc3ZnPid9LDkxMzYxMChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOSAyLjA1Yy4zNyAwIC42Ny4zLjY3LjY3di44OGwuNjQtLjMzYS42Ny42NyAwIDAgMSAuNjEgMS4xOWwtMS4yNS42NHYxLjEyYy41OC4xNCAxLjEuNDYgMS40OC44OWwxLjE4LS42N1Y1YzAtLjM2LjMtLjY2LjY3LS42NS4zNyAwIC42Ny4zLjY3LjY2di42OGwuNzItLjRhLjY3LjY3IDAgMSAxIC42NSAxLjE1bC0uNzIuNDIuNi4zN2MuMy4yLjQuNi4yLjkyLS4yLjMtLjYxLjQtLjkyLjJMMTMgNy42bC0xLjIyLjdhMi44IDIuOCAwIDAgMS0uMDQgMS40OGwxLjI3LjcgMS4xOC0uNzdjLjMxLS4yLjczLS4xMi45My4xOS4yLjMuMTEuNzItLjIuOTJsLS42LjM5LjcyLjRhLjY3LjY3IDAgMCAxLS42NSAxLjE3bC0uNzItLjRWMTNhLjY3LjY3IDAgMCAxLTEuMzQgMHYtMS4zOGwtMS4yNi0uN2MtLjM4LjM4LS44Ni42Ni0xLjQuOHYxLjE4bDEuMjUuNjRhLjY3LjY3IDAgMSAxLS42IDEuMTlsLS42NS0uMzN2Ljg4YS42Ny42NyAwIDAgMS0xLjM0IDB2LS44OGwtLjY0LjMzYS42Ny42NyAwIDEgMS0uNjEtMS4xOWwxLjI1LS42NFYxMS43YTIuODYgMi44NiAwIDAgMS0xLjQtLjhsLTEuMjYuN3YxLjRjMCAuMzYtLjMuNjYtLjY3LjY1YS42Ny42NyAwIDAgMS0uNjctLjY2di0uNjRsLS43LjM5YS42OC42OCAwIDAgMS0uOTItLjI2LjY2LjY2IDAgMCAxIC4yNi0uOWwuNy0uNC0uNTktLjM4YS42Ni42NiAwIDAgMS0uMi0uOTJjLjItLjMuNjItLjQuOTMtLjJsMS4xOC43OCAxLjI3LS43YTIuOCAyLjggMCAwIDEtLjA0LTEuNDdMNC45NyA3LjZsLTEuMi43NWMtLjMuMi0uNzIuMS0uOTItLjItLjItLjMxLS4xLS43Mi4yMS0uOTJsLjYtLjM4LS43LS40YS42Ni42NiAwIDAgMS0uMjQtLjljLjE4LS4zMi42LS40My45MS0uMjVsLjcuNFY1YS42Ny42NyAwIDAgMSAxLjM0IDB2MS40NWwxLjE3LjY3Yy4zOC0uNDQuOS0uNzYgMS41LS45VjUuMWwtMS4yNi0uNjRhLjY3LjY3IDAgMCAxIC42MS0xLjE5bC42NC4zM3YtLjg4YzAtLjM3LjMtLjY3LjY3LS42N1ptMCA4LjRhMS41IDEuNSAwIDAgMCAxLjUyLTEuNDhjMC0uODEtLjY2LTEuNS0xLjUyLTEuNWExLjUgMS41IDAgMCAwLTEuNTIgMS41YzAgLjguNjYgMS40OSAxLjUyIDEuNDlaIi8+PC9zdmc+J30sNzMwMTEwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDQuOTNhNS43MSA1LjcxIDAgMSAxIDAgMTEuNDNBNS43MSA1LjcxIDAgMCAxIDkgNC45M004LjQzIDcuMnYyLjg2SDYuMTR2MS43Mmg0VjcuMnpNNi43IDIuODEgMi4wOSA2LjY2IDEgNS4zMyA1LjYxIDEuNXpNMTcgNS4zNGwtMS4xIDEuMzItNC42MS0zLjgzIDEuMDktMS4zMnoiLz48L3N2Zz4nfSw5MTI4MTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgNWE1IDUgMCAxIDEgMCAxMEE1IDUgMCAwIDEgOSA1bS0uNSAydjIuNWgtMlYxMUgxMFY3ek03IDMuMTUgMi45NiA2LjUgMiA1LjM1IDYuMDQgMnptOSAyLjItLjk2IDEuMTVMMTEgMy4xNSAxMS45NiAyeiIvPjwvc3ZnPid9LDM1MTE4MihlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgMTIuNWExLjUgMS41IDAgMSAxIDAgMyAxLjUgMS41IDAgMCAxIDAtM20wLTEwYzEuMDYgMCAxLjg4LjkzIDEuNzUgMS45OGwtLjYyIDUuMDNhMS4xMyAxLjEzIDAgMCAxLTIuMjUgMGwtLjYzLTUuMDNBMS43NyAxLjc3IDAgMCAxIDkgMi41Ii8+PC9zdmc+J30sNjQyNzgzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDEyYTEgMSAwIDEgMSAwIDIgMSAxIDAgMCAxIDAtMm0wLThjLjc4IDAgMS4zOC43IDEuMjUgMS40OEw5LjU4IDkuNWEuNi42IDAgMCAxLTEuMTYgMGwtLjY3LTQuMDNBMS4yNyAxLjI3IDAgMCAxIDkgNCIvPjwvc3ZnPid9LDU3NTE0OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUgMTMuNWMwIC44My0uNjcgMS41LTEuNSAxLjVoLTlBMS41IDEuNSAwIDAgMSAzIDEzLjVWOGgxMnpNNi41IDRoNVYyLjVIMTNWNGguNWMuODMgMCAxLjUuNjcgMS41IDEuNXYxSDN2LTFDMyA0LjY3IDMuNjcgNCA0LjUgNEg1VjIuNWgxLjV6Ii8+PC9zdmc+J30sNTk4MjU3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNCAxMi41NWMwIC44LS41NiAxLjQ1LTEuMjUgMS40NWgtNy41QzQuNTYgMTQgNCAxMy4zNSA0IDEyLjU1VjhoMTB6TTYuOTIgNWg0LjE2VjRoMS4yNXYxaC40MmMuNjkgMCAxLjI1LjYzIDEuMjUgMS40di41NUg0VjYuNEM0IDUuNjMgNC41NiA1IDUuMjUgNWguNDJWNGgxLjI1eiIvPjwvc3ZnPid9LDU2MjQ1NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOS4yMiAzLjUzYTYgNiAwIDAgMSAyLjg2LjY1cTEuMi42NyAxLjgyIDEuOS42MyAxLjI2LjYzIDMuMDJ2LjAycTAgMS44LS42MyAzLjA4YTQuNCA0LjQgMCAwIDEtMS44IDEuOTRxLTEuMi42Ni0yLjg4LjY2SDVWMy41M3ptLTIuMiA5LjU3aDEuOTRxMS4xMSAwIDEuOS0uNDYuOC0uNDUgMS4yLTEuMzQuNDEtLjg4LjQxLTIuMTV2LS4wMXEwLTEuMjQtLjQyLTIuMTFhMyAzIDAgMCAwLTEuMi0xLjM1IDMuNyAzLjcgMCAwIDAtMS45LS40Nkg3LjAyeiIvPjwvc3ZnPid9LDcwMDg0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05LjE3IDQuNTVxMS4yNiAwIDIuMTQuNS45LjQ5IDEuMzYgMS40Mi40OC45NC40OCAyLjI2di4wMXEwIDEuMzYtLjQ3IDIuMzFhMy4zIDMuMyAwIDAgMS0xLjM2IDEuNDZxLS44OC41LTIuMTUuNUg2VjQuNTR6bS0xLjY2IDcuMThoMS40NnEuODQgMCAxLjQzLS4zNC42LS4zNS45LTEuMDF0LjMtMS42MXYtLjAxcTAtLjkzLS4zLTEuNTktLjMzLS42Ni0uOTEtMS0uNi0uMzUtMS40Mi0uMzVINy41MXoiLz48L3N2Zz4nfSw0NjA0NDgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTUuNjUgMTQuOFYzLjUzaDcuM3YxLjdINy42N3YzLjA1aDQuOTl2MS42aC01djMuMjJoNS4yOXYxLjd6Ii8+PC9zdmc+J30sMjg1ODYxKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMiA1LjI2SDcuNTF2Mi41NWgzLjc0djEuMkg3LjUxdjIuNzJoNC41VjEzSDZWNGg2eiIvPjwvc3ZnPid9LDM0MDE1OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOS4wMiA0YTMuOTYgMy45NiAwIDAgMCAyLjA5IDcuMjljMS4xNSAwIDIuMTgtLjUgMi45LTEuM0MxMy41MiAxMi4zIDExLjUgMTQgOS4wNCAxNEE1LjAzIDUuMDMgMCAwIDEgNCA5YTUuMDMgNS4wMyAwIDAgMSA1LjAyLTVtMi42NSAyLjMzIDEuMzMuMi0uOTggMS4wMy4yMiAxLjQ0TDExIDguMzQgOS43NiA5bC4yMi0xLjQ0TDkgNi41M2wxLjMzLS4yTDExIDV6Ii8+PC9zdmc+J30sMzc4NTk5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0xNSA0LjQxLTQuNTkgNC42TDE1IDEzLjU4bC0xLjQxIDEuNEw5IDEwLjQyIDQuNDIgMTUgMyAxMy41OSA3LjYgOSAzIDQuNDFsMS40MS0xLjRMOSA3LjU4IDEzLjU5IDN6Ii8+PC9zdmc+J30sNzg2NDIwKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJtMTQgNS4wNy0zLjkzIDMuOTQgMy45MSAzLjlMMTIuOTEgMTRsLTMuOS0zLjlMNS4wNyAxNCA0IDEyLjkzbDMuOTItMy45Mkw0IDUuMDggNS4wOCA0IDkgNy45MyAxMi45MiA0eiIvPjwvc3ZnPid9LDEwOTMyNShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTcgMTNoLTMuNXY0aC0ydi00SDhsNC41LTR6TTYuNSA1SDEwTDUuNSA5IDEgNWgzLjVWMWgyeiIvPjwvc3ZnPid9LDQ2NTEzNChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUgMTJoLTIuNzZ2M2gtMS41di0zSDhsMy41LTN6TTcuMjQgNkgxMEw2LjUgOSAzIDZoMi43NFYzaDEuNXoiLz48L3N2Zz4nfSw4MzU5ODAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1LjEzIDEwLjA1cS0uODIgMy4yMy0yLjkyIDMuNDRsLS4yOC4wMWgtLjNxLTEuMDUtLjA4LTIuODMtLjYzYTExIDExIDAgMCAwLTIuOC0uNjUgMS44IDEuOCAwIDAgMC0xLjEuMzZxLS40Mi4zMi0uNzEuOTJIMi42N2E1IDUgMCAwIDEgMS4wOC0yLjQ0IDIuNSAyLjUgMCAwIDEgMi0xLjAybC4zLjAxcTEuMTUuMDggMi45NC42NSAyLjAzLjYzIDIuODcuNjMgMS4zNSAwIDEuOC0xLjI4em0wLTUuNTJxLS44OSAzLjQ1LTMuMiAzLjQ2LS4yOSAwLS42MS0uMDQtMS0uMTItMi41Mi0uNkExMSAxMSAwIDAgMCA2IDYuN1E0LjggNi43IDQuMTggOEgyLjY3YTUgNSAwIDAgMSAxLjA4LTIuNDQgMi41IDIuNSAwIDAgMSAyLTEuMDJxMS4yIDAgMy4yNC42NSAyLjAzLjY0IDIuODcuNjQgMS4zNSAwIDEuOC0xLjI5eiIvPjwvc3ZnPid9LDU1NDY0MShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTQgOS43OHEtLjcgMi43Ny0yLjU3IDIuNzctLjkgMC0yLjUtLjVhOSA5IDAgMCAwLTIuMjYtLjUzcS0uOTUgMC0xLjQ1IDEuMDNINHEuMi0xLjE1Ljg4LTEuOTZ0MS41OS0uODFxLjk2IDAgMi42LjUyIDEuNjQuNSAyLjMuNTEgMS4xIDAgMS40NS0xLjAzem0wLTQuNDNxLS43IDIuNzgtMi41NyAyLjc4LS45IDAtMi41LS41MWE5IDkgMCAwIDAtMi4yNi0uNTJxLS45NSAwLTEuNDUgMS4wM0g0cS4yLTEuMTUuODgtMS45NnQxLjU5LS44MnEuOTYgMCAyLjYuNTNhOSA5IDAgMCAwIDIuMy41cTEuMSAwIDEuNDUtMS4wM3oiLz48L3N2Zz4nfSw3NzM0NjYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTggMTMgNCA5bDQtNHptNCAwTDggOWw0LTR6Ii8+PC9zdmc+J30sOTk5MzAyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDQuNzVINi42NmMtLjM3IDAtLjU4LjI3LS41OC41di45NkEzLjYgMy42IDAgMCAxIDQuNTMgOWEzLjYgMy42IDAgMCAxIDEuNTUgMi44di45NWMwIC4yMy4yMS41LjU4LjVIOHYxLjVINi42NmMtMS4xIDAtMi4wOC0uODUtMi4wOC0ydi0uOTZjMC0uNy0uNi0xLjUtMS41LTEuOTJsLS4yLS4xYS44NS44NSAwIDAgMSAwLTEuNTRsLjItLjFjLjktLjQyIDEuNS0xLjIxIDEuNS0xLjkydi0uOTZjMC0xLjE1Ljk4LTIgMi4wOC0ySDh6bTMuMzQtMS41YzEuMSAwIDIuMDkuODUgMi4wOSAydi45NmMwIC43LjYgMS41IDEuNDkgMS45MmwuMi4xYS44NS44NSAwIDAgMSAwIDEuNTRsLS4yLjFjLS45LjQyLTEuNSAxLjIxLTEuNSAxLjkydi45NmMwIDEuMTUtLjk4IDItMi4wOCAySDEwdi0xLjVoMS4zNGMuMzcgMCAuNTktLjI3LjU5LS41di0uOTZjMC0xLjE1LjY3LTIuMTQgMS41NC0yLjc5YTMuNiAzLjYgMCAwIDEtMS41NC0yLjh2LS45NWMwLS4yMy0uMjItLjUtLjYtLjVIMTB2LTEuNXoiLz48L3N2Zz4nfSw3ODc2MjYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEwLjcyIDMuMzdhMi4zIDIuMyAwIDEgMSAyLjc0IDMuMzNsLS4wMiA0LjkzYTIuMyAyLjMgMCAwIDEgMS4yMyAzLjMzIDIuMyAyLjMgMCAwIDEtNC4yNS0xLjZMNi4yIDEwLjk1YTIuMyAyLjMgMCAxIDEtLjAxLTMuNDlsNC4yNi0yLjQ4YTIuMyAyLjMgMCAwIDEgLjI2LTEuNk02Ljk1IDguNzVxLjA5LjQ0IDAgLjg5bDQuMjIgMi40M3EuMzQtLjMuNzctLjQ0bC4wMi00Ljk0YTIgMiAwIDAgMS0uNzQtLjQzeiIvPjwvc3ZnPid9LDMxMTExNShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkuODcgNC4xM0EyIDIgMCAxIDEgMTIuMzQgN2wtLjAyIDQuMzUuMjQuMTJhMiAyIDAgMSAxLTIuOTggMS40NmwtMy43Mi0yLjE1YTIgMiAwIDEgMSAwLTMuMTZsMy43Ni0yLjJhMiAyIDAgMCAxIC4yNS0xLjI4TTYuNiA4LjkxYTIgMiAwIDAgMSAwIC41NmwzLjcyIDIuMTVhMiAyIDAgMCAxIC40OS0uMjhsLjAyLTQuMzZhMiAyIDAgMCAxLS40Ny0uMjd6Ii8+PC9zdmc+J30sMTkyNzU1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04LjYgMi4wMmE0LjU4IDQuNTggMCAwIDEgMi44NC43NmMuMzguMjYgMS4wMi44MyAxLjM1IDEuMjJhOS42IDkuNiAwIDAgMSAyLjAzIDQuMTVMMTMuNSA5LjYyIDExLjcgNy42IDkuODcgOS42MiA4LjY1IDguMjRsLTEuMTUuOSAyLjM4IDIuNjYgMS44MS0yLjAyIDEuOCAyLjAyTDE1IDEwLjEycS0uMDMgMS4wMS0uMyAxLjg2YTUuOCA1LjggMCAwIDEtNS4xNSA0IDYuMjYgNi4yNiAwIDAgMS00LjE4LTEuMSA4IDggMCAwIDEtLjk1LS44NiA2IDYgMCAwIDEtMS4zOS0zLjE1IDEzIDEzIDAgMCAxIC4wMi0yLjAyIDkuNiA5LjYgMCAwIDEgMi4yNy01Yy4yNi0uMy45LS44NSAxLjIyLTEuMDYuNjYtLjQzIDEuMzgtLjcgMi4wNi0uNzciLz48L3N2Zz4nfSw5MDg0MDAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkuMjkgMy4wMnEuOS4wOCAxLjc0LjY1Yy4zMy4yMi44NS43IDEuMTMgMS4wNGE4IDggMCAwIDEgMS42OSAzLjU2bC0xLjEgMS4yNi0xLjUtMS43My0xLjUxIDEuNzNMOC43IDguMzVsLS45Ni43NyAxLjk5IDIuMjggMS41LTEuNzMgMS41MSAxLjczTDE0IDkuOTZhNiA2IDAgMCAxLS4yNCAxLjYgNC44IDQuOCAwIDAgMS00LjMgMy40MiA1LjE1IDUuMTUgMCAwIDEtMy40OC0uOTQgNyA3IDAgMCAxLS44LS43NCA1IDUgMCAwIDEtMS4xNS0yLjdDNCAxMC4zIDQgOS4xOSA0LjA0IDguODdjLjI0LTEuNjYuOS0zLjEzIDEuOS00LjI4LjIxLS4yNS43NS0uNzMgMS0uOTFxLjg2LS41NiAxLjczLS42NmMuMjUtLjAzLjM3LS4wMy42MiAwIi8+PC9zdmc+J30sOTEzODQzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0zLjM5IDguNzkgMi41OC43LS4zNyAxLjM1LTEuNTItLjQxYTUuMTIgNS4xMiAwIDAgMCA5LjguMWwxLjM1LjRhNi41MiA2LjUyIDAgMCAxLTEyLjQuMmwtLjc3IDEuMDYtMS4xMy0uODMgMS43MS0yLjMxLjI4LS4zOXptMTEuOTUuMjMtLjMzLjQzLS41LS4yMS4yOC0uNjV6TTkgMi41YTYuNSA2LjUgMCAwIDEgNi4xNyA0LjQ3bC43Ny0uOTkgMS4xLjg3LTEuNyAyLjE3LS41NS0uNDMtLjI3LjY1LTIuNTktMS4xMS41Ni0xLjI5IDEuMzYuNTlBNS4xIDUuMSAwIDAgMCA5IDMuOSA1LjEgNS4xIDAgMCAwIDQuMSA3LjUzbC0xLjM0LS40MUE2LjUgNi41IDAgMCAxIDkgMi41Ii8+PC9zdmc+J30sOTg5ODcyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im00LjE2IDguNjUtLjE4LjY4emwyLjI0LjYxLS4zNyAxLjM1LTEuMTUtLjMxYTQuMzQgNC4zNCAwIDAgMCA4LjI3LS4wOGwxLjM0LjQxYTUuNzQgNS43NCAwIDAgMS0xMC44Ni4zNGwtLjU3Ljc3LTEuMTItLjgzIDEuNDgtMiAuMjgtLjM4ek05IDMuMmE1Ljc1IDUuNzUgMCAwIDEgNS4zOSAzLjc3bC41Ni0uNzIgMS4xLjg3TDE0LjU4IDlsLS4zNC40Mi0uNS0uMjEtMi4yMy0uOTYuNTUtMS4yOS45OS40MkE0LjM1IDQuMzUgMCAwIDAgOSA0LjZjLTEuOTQgMC0zLjYgMS4zLTQuMTQgMy4wOGwtMS4zNC0uNDFBNS43NSA1Ljc1IDAgMCAxIDkgMy4yIi8+PC9zdmc+J30sOTIwNDc1KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse2RlZmF1bHQ6KCk9Pmx9KTtjb25zdCBzPWU9PmUgaW5zdGFuY2VvZiBEYXRlLG89ZT0+bnVsbCE9ZSYmIm9iamVjdCI9PXR5cGVvZiBlLGk9KGUsLi4udCk9Pk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLC4uLnQpLHI9ZT0+byhlKSYmKGU9PjA9PT1PYmplY3Qua2V5cyhlKS5sZW5ndGgpKGUpLG49KGUsdCk9PntpZihlPT09dClyZXR1cm57fTtpZighbyhlKXx8IW8odCkpcmV0dXJuIHQ7Y29uc3QgYT1PYmplY3Qua2V5cyhlKS5yZWR1Y2UoKChlLGEpPT4oaSh0LGEpfHwoZVthXT12b2lkIDApLGUpKSxPYmplY3QuY3JlYXRlKG51bGwpKTtyZXR1cm4gcyhlKXx8cyh0KT9lLnZhbHVlT2YoKT09dC52YWx1ZU9mKCk/e306dDpPYmplY3Qua2V5cyh0KS5yZWR1Y2UoKChhLG8pPT57aWYoIWkoZSxvKSlyZXR1cm4gYVtvXT10W29dLGE7Y29uc3QgbD1uKGVbb10sdFtvXSk7cmV0dXJuIXIobCl8fHMobCl8fCFyKGVbb10pJiZyKHRbb10pPyhhW29dPWwsYSk6YX0pLGEpfSxsPW59fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/27665.013fdb6f09fe121705b2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.834Z","timestamp":1785141584834,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/27665.013fdb6f09fe121705b2.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 31\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b71-1f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 01014ba52b7718633dddd2cad2c674a0\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31,"size_decoded":815,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"5960f9a1dbb4c19fb96b687ccea9f9af","sha1":"6688548a8b2b4c11b3d2a792734db981ac274ce2","sha256":"28010cc42c24fcf9bb5ec2914858cb3327e57c2dc3d81b34202960ca693abbf5","sha512":"704e91e72fab49c5a8600f832ccf9cbd9704c260b710bcd5e61484485576a68e55652c5861bed538fe46b5aa5fcc86f34fa5a154592084bcdb7f34ce79d87cc9","ssdeep":"","tlshash":"c08000c080a28ba820c0280a2028c0bc838c002c238a0280cc320830a30c3a022b8008","first_seen":"2026-03-30T12:30:09.597797Z","last_seen":"2026-07-27T12:48:39.672124Z","times_seen":414,"resource_available":false,"data":"Lm1lbnUtVHo4NG9QZVF7bWluLXdpZHRoOjEwMHB4fQ=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/price-scale-mode-buttons-renderer.3f61661793789559b605.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.930Z","timestamp":1785141584930,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/price-scale-mode-buttons-renderer.3f61661793789559b605.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd31-2c46\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:16:17 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 059963dec7bc35c2370d4beafbb998e1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":11334,"size_decoded":5216,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"56b0517a2a0e43c0da91d29f067965d8","sha1":"cc29534e9373c38fabce93912d78c4f77387d041","sha256":"f05ba56fec95e4a8791aa9578861c23f07d46d60a98a78666a2670bfcdd0d2e5","sha512":"3eaec55d02c3544d9aa01a60122eac994af3c4f6ee9829185ce6c4ad79ee4a0e55932cbb67f11214a8e0021ca9cbfe4533a8e07a2af1fb1f2f7dd3b639f0966a","ssdeep":"192:/RR7jTjtKAbbSZcZ0hKoRAJ6LzcWagOzW0+CUc8BJ8Ij/cW20W90tcoMEd:n3Tjdb2hhfLMzP8z/bdzZ","tlshash":"f632c9ed70a1b0656aa328aa803f0406b2bd252d3c4e8874b695eddd35fc54c913bf6d","first_seen":"2026-07-20T16:56:18.262491Z","last_seen":"2026-07-27T14:50:15.318485Z","times_seen":92,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2NDY0NCw3MTMwMCw3MTM3NV0sezkxNDQ4NyhlLHQpe3ZhciByOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBvKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1hcmd1bWVudHNbdF07aWYocil7dmFyIHU9dHlwZW9mIHI7aWYoInN0cmluZyI9PT11fHwibnVtYmVyIj09PXUpZS5wdXNoKHIpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShyKSYmci5sZW5ndGgpe3ZhciBhPW8uYXBwbHkobnVsbCxyKTthJiZlLnB1c2goYSl9ZWxzZSBpZigib2JqZWN0Ij09PXUpZm9yKHZhciBpIGluIHIpbi5jYWxsKHIsaSkmJnJbaV0mJmUucHVzaChpKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oby5kZWZhdWx0PW8sZS5leHBvcnRzPW8pOnZvaWQgMD09PShyPWZ1bmN0aW9uKCl7cmV0dXJuIG99LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1yKX0oKX0sMzM0Njg1KGUpe2UuZXhwb3J0cz17cHJpY2VTY2FsZU1vZGVCdXR0b246InByaWNlU2NhbGVNb2RlQnV0dG9uLVFZTUg1cFRlIixwcmljZVNjYWxlTW9kZUJ1dHRvbl9hY3RpdmF0ZWQ6InByaWNlU2NhbGVNb2RlQnV0dG9uX2FjdGl2YXRlZC1RWU1INXBUZSJ9fSw5MDA1MzAoZSl7ZS5leHBvcnRzPXtwcmljZVNjYWxlTW9kZUJ1dHRvbnM6InByaWNlU2NhbGVNb2RlQnV0dG9ucy1hYUtYNksxYSIscHJpY2VTY2FsZU1vZGVCdXR0b25zX19idXR0b25XcmFwcGVyOiJwcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbldyYXBwZXItYWFLWDZLMWEiLHByaWNlU2NhbGVNb2RlQnV0dG9uc19fYnV0dG9uOiJwcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbi1hYUtYNksxYSJ9fSw4NjU1NjAoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7VFZBcHBDb250ZXh0OigpPT5zLFRWQXBwQ29udGV4dFByb3ZpZGVyOigpPT5jfSk7dmFyIG49cig3Nzk0NzQpLG89cigxMTUyOTMpLHU9cig5OTk1MSksYT1yKDExNzMxMyk7Y29uc3QgaT17aU9zOiJvbGQiLGFuZHJvaWQ6Im5ldyIsb2xkOiJvbGQiLG5ldzoibmV3Iixhbnk6ImFueSJ9O2Z1bmN0aW9uIGMoZSl7Y29uc3RbdF09KDAsbi51c2VTdGF0ZSkoe2lzT25Nb2JpbGVBcHBQYWdlOmU9PigwLGEuaXNPbk1vYmlsZUFwcFBhZ2UpKGlbZV0pLGlzUnRsOigwLG8uaXNSdGwpKCksbG9jYWxlOndpbmRvdy5sb2NhbGUscmVuZGVyTW9kZTplLnJlbmRlck1vZGU/PyJsZWdhY3kifSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCh1LkFwcENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnR9LGUuY2hpbGRyZW4pfWNvbnN0IHM9dS5BcHBDb250ZXh0fSw1NzEzMDAoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLnIodCksci5kKHQse2NyZWF0ZVJlYWN0Um9vdDooKT0+aX0pO3ZhciBuPXIoNzc5NDc0KSxvPXIoMTI5MzY1KSx1PXIoMzM2MzM0KSxhPXIoODY1NTYwKTtmdW5jdGlvbiBpKGUsdCxyPSJsZWdhY3kiKXtjb25zdCBpPW4uY3JlYXRlRWxlbWVudChhLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOnJ9LGUpO2lmKCJtb2Rlcm4iPT09cil7Y29uc3QgZT0oMCx1LmNyZWF0ZVJvb3QpKHQpO3JldHVybiBlLnJlbmRlcihpKSx7cmVuZGVyKHQpe2UucmVuZGVyKG4uY3JlYXRlRWxlbWVudChhLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOnJ9LHQpKX0sdW5tb3VudCgpe2UudW5tb3VudCgpfX19cmV0dXJuIG8ucmVuZGVyKGksdCkse3JlbmRlcihlKXtvLnJlbmRlcihuLmNyZWF0ZUVsZW1lbnQoYS5UVkFwcENvbnRleHRQcm92aWRlcix7cmVuZGVyTW9kZTpyfSxlKSx0KX0sdW5tb3VudCgpe28udW5tb3VudENvbXBvbmVudEF0Tm9kZSh0KX19fX0sOTk5NTEoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7QXBwQ29udGV4dDooKT0+bn0pO2NvbnN0IG49KDAscig3Nzk0NzQpLmNyZWF0ZUNvbnRleHQpKHtpc09uTW9iaWxlQXBwUGFnZTooKT0+ITEsaXNSdGw6ITEsbG9jYWxlOiJlbiIscmVuZGVyTW9kZToibGVnYWN5In0pfSwzMzYzMzQoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDEyOTM2NSk7dC5jcmVhdGVSb290PW4uY3JlYXRlUm9vdCxuLmh5ZHJhdGVSb290fSwxMjkzNjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjshZnVuY3Rpb24gZSgpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fJiYiZnVuY3Rpb24iPT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoZSl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX19KCksZS5leHBvcnRzPXIoNTMyMzg3KX0sMTIyNzQ5KGUsdCl7InVzZSBzdHJpY3QiO3ZhciByPVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxuPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLG89U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSx1PVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksYT1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLGk9U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKSxjPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxzPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksbD1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLHA9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLGY9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpLGQ9U3ltYm9sLml0ZXJhdG9yO3ZhciBfPXtpc01vdW50ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oKXt9fSx5PU9iamVjdC5hc3NpZ24saD17fTtmdW5jdGlvbiB2KGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5yZWZzPWgsdGhpcy51cGRhdGVyPXJ8fF99ZnVuY3Rpb24gbSgpe31mdW5jdGlvbiBiKGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsCnRoaXMucmVmcz1oLHRoaXMudXBkYXRlcj1yfHxffXYucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sdi5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oZSx0KXtpZigib2JqZWN0IiE9dHlwZW9mIGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlJiZudWxsIT1lKXRocm93IEVycm9yKCJzZXRTdGF0ZSguLi4pOiB0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsZSx0LCJzZXRTdGF0ZSIpfSx2LnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbihlKXt0aGlzLnVwZGF0ZXIuZW5xdWV1ZUZvcmNlVXBkYXRlKHRoaXMsZSwiZm9yY2VVcGRhdGUiKX0sbS5wcm90b3R5cGU9di5wcm90b3R5cGU7dmFyIFM9Yi5wcm90b3R5cGU9bmV3IG07Uy5jb25zdHJ1Y3Rvcj1iLHkoUyx2LnByb3RvdHlwZSksUy5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgTT1BcnJheS5pc0FycmF5LEU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxnPXtjdXJyZW50Om51bGx9LEM9e2tleTohMCxyZWY6ITAsX19zZWxmOiEwLF9fc291cmNlOiEwfTtmdW5jdGlvbiBSKGUsdCxuKXt2YXIgbyx1PXt9LGE9bnVsbCxpPW51bGw7aWYobnVsbCE9dClmb3IobyBpbiB2b2lkIDAhPT10LnJlZiYmKGk9dC5yZWYpLHZvaWQgMCE9PXQua2V5JiYoYT0iIit0LmtleSksdClFLmNhbGwodCxvKSYmIUMuaGFzT3duUHJvcGVydHkobykmJih1W29dPXRbb10pO3ZhciBjPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09Yyl1LmNoaWxkcmVuPW47ZWxzZSBpZigxPGMpe2Zvcih2YXIgcz1BcnJheShjKSxsPTA7bDxjO2wrKylzW2xdPWFyZ3VtZW50c1tsKzJdO3UuY2hpbGRyZW49c31pZihlJiZlLmRlZmF1bHRQcm9wcylmb3IobyBpbiBjPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PXVbb10mJih1W29dPWNbb10pO3JldHVybnskJHR5cGVvZjpyLHR5cGU6ZSxrZXk6YSxyZWY6aSxwcm9wczp1LF9vd25lcjpnLmN1cnJlbnR9fWZ1bmN0aW9uIHcoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmZS4kJHR5cGVvZj09PXJ9dmFyIGs9L1wvKy9nO2Z1bmN0aW9uIE8oZSx0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZudWxsIT1lLmtleT9mdW5jdGlvbihlKXt2YXIgdD17Ij0iOiI9MCIsIjoiOiI9MiJ9O3JldHVybiIkIitlLnJlcGxhY2UoL1s9Ol0vZywoZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KSl9KCIiK2Uua2V5KTp0LnRvU3RyaW5nKDM2KX1mdW5jdGlvbiB4KGUsdCxvLHUsYSl7dmFyIGk9dHlwZW9mIGU7InVuZGVmaW5lZCIhPT1pJiYiYm9vbGVhbiIhPT1pfHwoZT1udWxsKTt2YXIgYz0hMTtpZihudWxsPT09ZSljPSEwO2Vsc2Ugc3dpdGNoKGkpe2Nhc2Uic3RyaW5nIjpjYXNlIm51bWJlciI6Yz0hMDticmVhaztjYXNlIm9iamVjdCI6c3dpdGNoKGUuJCR0eXBlb2Ype2Nhc2UgcjpjYXNlIG46Yz0hMH19aWYoYylyZXR1cm4gYT1hKGM9ZSksZT0iIj09PXU/Ii4iK08oYywwKTp1LE0oYSk/KG89IiIsbnVsbCE9ZSYmKG89ZS5yZXBsYWNlKGssIiQmLyIpKyIvIikseChhLHQsbywiIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGV9KSkpOm51bGwhPWEmJih3KGEpJiYoYT1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjpyLHR5cGU6ZS50eXBlLGtleTp0LHJlZjplLnJlZixwcm9wczplLnByb3BzLF9vd25lcjplLl9vd25lcn19KGEsbysoIWEua2V5fHxjJiZjLmtleT09PWEua2V5PyIiOigiIithLmtleSkucmVwbGFjZShrLCIkJi8iKSsiLyIpK2UpKSx0LnB1c2goYSkpLDE7aWYoYz0wLHU9IiI9PT11PyIuIjp1KyI6IixNKGUpKWZvcih2YXIgcz0wO3M8ZS5sZW5ndGg7cysrKXt2YXIgbD11K08oaT1lW3NdLHMpO2MrPXgoaSx0LG8sbCxhKX1lbHNlIGlmKGw9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGU/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoZT1kJiZlW2RdfHxlWyJAQGl0ZXJhdG9yIl0pP2U6bnVsbH0oZSksImZ1bmN0aW9uIj09dHlwZW9mIGwpZm9yKGU9bC5jYWxsKGUpLHM9MDshKGk9ZS5uZXh0KCkpLmRvbmU7KWMrPXgoaT1pLnZhbHVlLHQsbyxsPXUrTyhpLHMrKyksYSk7ZWxzZSBpZigib2JqZWN0Ij09PWkpdGhyb3cgdD1TdHJpbmcoZSksRXJyb3IoIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogIisoIltvYmplY3QgT2JqZWN0XSI9PT10PyJvYmplY3Qgd2l0aCBrZXlzIHsiK09iamVjdC5rZXlzKGUpLmpvaW4oIiwgIikrIn0iOnQpKyIpLiBJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5IGluc3RlYWQuIik7cmV0dXJuIGN9ZnVuY3Rpb24gQShlLHQscil7aWYobnVsbD09ZSlyZXR1cm4gZTt2YXIgbj1bXSxvPTA7cmV0dXJuIHgoZSxuLCIiLCIiLChmdW5jdGlvbihlKXtyZXR1cm4gdC5jYWxsKHIsZSxvKyspfSkpLG59ZnVuY3Rpb24gUChlKXtpZigtMT09PWUuX3N0YXR1cyl7dmFyIHQ9ZS5fcmVzdWx0Oyh0PXQoKSkudGhlbigoZnVuY3Rpb24odCl7MCE9PWUuX3N0YXR1cyYmLTEhPT1lLl9zdGF0dXN8fChlLl9zdGF0dXM9MSxlLl9yZXN1bHQ9dCl9KSwoZnVuY3Rpb24odCl7MCE9PWUuX3N0YXR1cyYmLTEhPT1lLl9zdGF0dXN8fChlLl9zdGF0dXM9MixlLl9yZXN1bHQ9dCl9KSksLTE9PT1lLl9zdGF0dXMmJihlLl9zdGF0dXM9MCxlLl9yZXN1bHQ9dCl9aWYoMT09PWUuX3N0YXR1cylyZXR1cm4gZS5fcmVzdWx0LmRlZmF1bHQ7dGhyb3cgZS5fcmVzdWx0fXZhciBMPXtjdXJyZW50Om51bGx9LEI9e3RyYW5zaXRpb246bnVsbH0sJD17UmVhY3RDdXJyZW50RGlzcGF0Y2hlcjpMLFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOkIsUmVhY3RDdXJyZW50T3duZXI6Z307dC5DaGlsZHJlbj17bWFwOkEsZm9yRWFjaDpmdW5jdGlvbihlLHQscil7QShlLChmdW5jdGlvbigpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfSkscil9LGNvdW50OmZ1bmN0aW9uKGUpewp2YXIgdD0wO3JldHVybiBBKGUsKGZ1bmN0aW9uKCl7dCsrfSkpLHR9LHRvQXJyYXk6ZnVuY3Rpb24oZSl7cmV0dXJuIEEoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIGV9KSl8fFtdfSxvbmx5OmZ1bmN0aW9uKGUpe2lmKCF3KGUpKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gZX19LHQuQ29tcG9uZW50PXYsdC5GcmFnbWVudD1vLHQuUHJvZmlsZXI9YSx0LlB1cmVDb21wb25lbnQ9Yix0LlN0cmljdE1vZGU9dSx0LlN1c3BlbnNlPWwsdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRD0kLHQuY2xvbmVFbGVtZW50PWZ1bmN0aW9uKGUsdCxuKXtpZihudWxsPT1lKXRocm93IEVycm9yKCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCAiK2UrIi4iKTt2YXIgbz15KHt9LGUucHJvcHMpLHU9ZS5rZXksYT1lLnJlZixpPWUuX293bmVyO2lmKG51bGwhPXQpe2lmKHZvaWQgMCE9PXQucmVmJiYoYT10LnJlZixpPWcuY3VycmVudCksdm9pZCAwIT09dC5rZXkmJih1PSIiK3Qua2V5KSxlLnR5cGUmJmUudHlwZS5kZWZhdWx0UHJvcHMpdmFyIGM9ZS50eXBlLmRlZmF1bHRQcm9wcztmb3IocyBpbiB0KUUuY2FsbCh0LHMpJiYhQy5oYXNPd25Qcm9wZXJ0eShzKSYmKG9bc109dm9pZCAwPT09dFtzXSYmdm9pZCAwIT09Yz9jW3NdOnRbc10pfXZhciBzPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09cylvLmNoaWxkcmVuPW47ZWxzZSBpZigxPHMpe2M9QXJyYXkocyk7Zm9yKHZhciBsPTA7bDxzO2wrKyljW2xdPWFyZ3VtZW50c1tsKzJdO28uY2hpbGRyZW49Y31yZXR1cm57JCR0eXBlb2Y6cix0eXBlOmUudHlwZSxrZXk6dSxyZWY6YSxwcm9wczpvLF9vd25lcjppfX0sdC5jcmVhdGVDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybihlPXskJHR5cGVvZjpjLF9jdXJyZW50VmFsdWU6ZSxfY3VycmVudFZhbHVlMjplLF90aHJlYWRDb3VudDowLFByb3ZpZGVyOm51bGwsQ29uc3VtZXI6bnVsbCxfZGVmYXVsdFZhbHVlOm51bGwsX2dsb2JhbE5hbWU6bnVsbH0pLlByb3ZpZGVyPXskJHR5cGVvZjppLF9jb250ZXh0OmV9LGUuQ29uc3VtZXI9ZX0sdC5jcmVhdGVFbGVtZW50PVIsdC5jcmVhdGVGYWN0b3J5PWZ1bmN0aW9uKGUpe3ZhciB0PVIuYmluZChudWxsLGUpO3JldHVybiB0LnR5cGU9ZSx0fSx0LmNyZWF0ZVJlZj1mdW5jdGlvbigpe3JldHVybntjdXJyZW50Om51bGx9fSx0LmZvcndhcmRSZWY9ZnVuY3Rpb24oZSl7cmV0dXJueyQkdHlwZW9mOnMscmVuZGVyOmV9fSx0LmlzVmFsaWRFbGVtZW50PXcsdC5sYXp5PWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpmLF9wYXlsb2FkOntfc3RhdHVzOi0xLF9yZXN1bHQ6ZX0sX2luaXQ6UH19LHQubWVtbz1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjpwLHR5cGU6ZSxjb21wYXJlOnZvaWQgMD09PXQ/bnVsbDp0fX0sdC5zdGFydFRyYW5zaXRpb249ZnVuY3Rpb24oZSl7dmFyIHQ9Qi50cmFuc2l0aW9uO0IudHJhbnNpdGlvbj17fTt0cnl7ZSgpfWZpbmFsbHl7Qi50cmFuc2l0aW9uPXR9fSx0LnVuc3RhYmxlX2FjdD1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJhY3QoLi4uKSBpcyBub3Qgc3VwcG9ydGVkIGluIHByb2R1Y3Rpb24gYnVpbGRzIG9mIFJlYWN0LiIpfSx0LnVzZUNhbGxiYWNrPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VDYWxsYmFjayhlLHQpfSx0LnVzZUNvbnRleHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIEwuY3VycmVudC51c2VDb250ZXh0KGUpfSx0LnVzZURlYnVnVmFsdWU9ZnVuY3Rpb24oKXt9LHQudXNlRGVmZXJyZWRWYWx1ZT1mdW5jdGlvbihlKXtyZXR1cm4gTC5jdXJyZW50LnVzZURlZmVycmVkVmFsdWUoZSl9LHQudXNlRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VFZmZlY3QoZSx0KX0sdC51c2VJZD1mdW5jdGlvbigpe3JldHVybiBMLmN1cnJlbnQudXNlSWQoKX0sdC51c2VJbXBlcmF0aXZlSGFuZGxlPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gTC5jdXJyZW50LnVzZUltcGVyYXRpdmVIYW5kbGUoZSx0LHIpfSx0LnVzZUluc2VydGlvbkVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBMLmN1cnJlbnQudXNlSW5zZXJ0aW9uRWZmZWN0KGUsdCl9LHQudXNlTGF5b3V0RWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VMYXlvdXRFZmZlY3QoZSx0KX0sdC51c2VNZW1vPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VNZW1vKGUsdCl9LHQudXNlUmVkdWNlcj1mdW5jdGlvbihlLHQscil7cmV0dXJuIEwuY3VycmVudC51c2VSZWR1Y2VyKGUsdCxyKX0sdC51c2VSZWY9ZnVuY3Rpb24oZSl7cmV0dXJuIEwuY3VycmVudC51c2VSZWYoZSl9LHQudXNlU3RhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIEwuY3VycmVudC51c2VTdGF0ZShlKX0sdC51c2VTeW5jRXh0ZXJuYWxTdG9yZT1mdW5jdGlvbihlLHQscil7cmV0dXJuIEwuY3VycmVudC51c2VTeW5jRXh0ZXJuYWxTdG9yZShlLHQscil9LHQudXNlVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiBMLmN1cnJlbnQudXNlVHJhbnNpdGlvbigpfSx0LnZlcnNpb249IjE4LjIuMCJ9LDc3OTQ3NChlLHQscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1yKDEyMjc0OSl9LDkzMTg3MChlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtQcmljZVNjYWxlTW9kZUJ1dHRvbnNSZW5kZXJlcjooKT0+ZH0pO3ZhciBuPXIoNzc5NDc0KSxvPXIoMTM4NjM4KSx1PXIoMTg1MjcxKSxhPXIoMzE4OTc0KSxpPXIoNTcxMzAwKSxjPXIoOTE0NDg3KSxzPXIubihjKSxsPXIoMzM0Njg1KTtmdW5jdGlvbiBwKGUpe2NvbnN0e2FjdGl2YXRlZDp0LG9uQ2xpY2s6cixjb250ZW50Om8sdG9vbHRpcDp1LGFyaWFMYWJlbDphLGNsYXNzTmFtZTppfT1lO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIsewpjbGFzc05hbWU6cygpKGwucHJpY2VTY2FsZU1vZGVCdXR0b24sdCYmbC5wcmljZVNjYWxlTW9kZUJ1dHRvbl9hY3RpdmF0ZWQsaSx1JiYiYXBwbHktY29tbW9uLXRvb2x0aXAiKSxvbkNsaWNrOnIsImRhdGEtdG9vbHRpcCI6dSwiYXJpYS1sYWJlbCI6YX0sbyl9dmFyIGY9cig5MDA1MzApO2NsYXNzIGR7Y29uc3RydWN0b3Ioe3NldE1vZGU6ZSxnZXRNb2RlOnQsY2xhc3NOYW1lOnI9IiJ9KXt0aGlzLl9yZWFjdFJvb3Q9bnVsbCx0aGlzLl9zZXRBdXRvTW9kZT0oKT0+KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXRNb2RlRnVuY3Rpb24pKCJhdXRvIiksdGhpcy5fc2V0TG9nYXJpdGhtTW9kZT0oKT0+KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXRNb2RlRnVuY3Rpb24pKCJsb2ciKSx0aGlzLl9zZXRNb2RlRnVuY3Rpb249ZSx0aGlzLl9nZXRNb2RlRnVuY3Rpb249dDtjb25zdCBuPXRoaXMuX3dyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bi5jbGFzc0xpc3QuYWRkKHIpLG4uYWRkRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLHRoaXMuX3N0b3BQcm9wYWdhdGlvbix7Y2FwdHVyZTohMH0pLG4uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5fc3RvcFByb3BhZ2F0aW9uLHtjYXB0dXJlOiEwfSksdGhpcy5fcmVuZGVyKCl9ZGVzdHJveSgpe3RoaXMuX3JlYWN0Um9vdD8udW5tb3VudCgpLHRoaXMuX3dyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLHRoaXMuX3N0b3BQcm9wYWdhdGlvbiksdGhpcy5fd3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9zdG9wUHJvcGFnYXRpb24pLHRoaXMuX3dyYXBwZXIucmVtb3ZlKCksdGhpcy5fc2V0TW9kZUZ1bmN0aW9uPW51bGwsdGhpcy5fZ2V0TW9kZUZ1bmN0aW9uPW51bGx9ZWxlbWVudCgpe3JldHVybiB0aGlzLl93cmFwcGVyfXdpZHRoKCl7cmV0dXJuIDUyfXVwZGF0ZSgpe3RoaXMuX3JlbmRlcigpfV9yZW5kZXIoKXtjb25zdCBlPWEuQ2hlY2tNb2JpbGUuYW55KCkse2F1dG9TY2FsZTp0PSExLGxvZzpjPSExfT0oMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuX2dldE1vZGVGdW5jdGlvbikoKXx8e30scz1uLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmLnByaWNlU2NhbGVNb2RlQnV0dG9uc30sbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Zi5wcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbldyYXBwZXIsb25DbGljazplP3RoaXMuX3NldEF1dG9Nb2RlOnZvaWQgMCwiYXJpYS1sYWJlbCI6ZT91LnQobnVsbCx2b2lkIDAscigzNzI3MTkpKTp2b2lkIDB9LG4uY3JlYXRlRWxlbWVudChwLHthY3RpdmF0ZWQ6dCxjb250ZW50OnUudChudWxsLHtjb250ZXh0OidUaGUgZmlyc3QgbGV0dGVyIG9mIHRoZSAiYXV0byIgd29yZCd9LHIoNDk5MzkyKSksdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAscig2MzM3NTIpKSxvbkNsaWNrOmU/dm9pZCAwOnRoaXMuX3NldEF1dG9Nb2RlLGFyaWFMYWJlbDplP3ZvaWQgMDp1LnQobnVsbCx2b2lkIDAscigzNzI3MTkpKSxjbGFzc05hbWU6Zi5wcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbn0pKSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmLnByaWNlU2NhbGVNb2RlQnV0dG9uc19fYnV0dG9uV3JhcHBlcixvbkNsaWNrOmU/dGhpcy5fc2V0TG9nYXJpdGhtTW9kZTp2b2lkIDAsImFyaWEtbGFiZWwiOmU/dS50KG51bGwsdm9pZCAwLHIoMjA2NDUxKSk6dm9pZCAwfSxuLmNyZWF0ZUVsZW1lbnQocCx7YWN0aXZhdGVkOmMsY29udGVudDp1LnQobnVsbCx7Y29udGV4dDonVGhlIGZpcnN0IGxldHRlciBvZiB0aGUgImxvZ2FyaXRobWljIiB3b3JkJ30scig0MjAxODYpKSx0b29sdGlwOnUudChudWxsLHZvaWQgMCxyKDUwMzU1OCkpLG9uQ2xpY2s6ZT92b2lkIDA6dGhpcy5fc2V0TG9nYXJpdGhtTW9kZSxhcmlhTGFiZWw6ZT92b2lkIDA6dS50KG51bGwsdm9pZCAwLHIoMjA2NDUxKSksY2xhc3NOYW1lOmYucHJpY2VTY2FsZU1vZGVCdXR0b25zX19idXR0b259KSkpO3RoaXMuX3JlYWN0Um9vdD90aGlzLl9yZWFjdFJvb3QucmVuZGVyKHMpOnRoaXMuX3JlYWN0Um9vdD0oMCxpLmNyZWF0ZVJlYWN0Um9vdCkocyx0aGlzLl93cmFwcGVyLCJtb2Rlcm4iKX1fc3RvcFByb3BhZ2F0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCl9fX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/19787.bbb66fa0fd2bd04d0875.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.003Z","timestamp":1785141585003,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/19787.bbb66fa0fd2bd04d0875.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-20c3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a0e9ea85e8316a23c08b25202d8e8dbf\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":8387,"size_decoded":2212,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (8387), with no line terminators","md5":"c76f82404888743630c3d86c6931b984","sha1":"0effb39e719c9998b27c227db4b853aba32f119e","sha256":"1196f60553689bc67d6287aaac7773cab51d29c33e4fb4892caefae123cd5457","sha512":"f666bbef0cab0de8c5308c44eb68226e8037afd2e73be527dc8033c9f0a8147c7f08bf72a1fdaecfd64cc53656d5990a9d621e6722bb9aec0844cdc9e725a756","ssdeep":"192:r4jkmQQNWw64jkmQQuFQu3ZfXQb0JRQ//gUTxhi27lHuePk/ouJp:oV/Dhi27Y","tlshash":"3a026556f393453e7933d28e1e28b788e2569db2e5233ac2b534e554f5ecaf20c06d21","first_seen":"2026-07-17T03:30:51.091379Z","last_seen":"2026-07-27T14:50:15.356258Z","times_seen":93,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtY2tOSzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLV8xLWNrTks6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtc3VjY2Vzcyk7LS1fMi1ja05LOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LXByaW1hcnkpOy0tXzMtY2tOSzp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC13YXJuaW5nKTstLV80LWNrTks6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyKTstLV81LWNrTks6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1fNi1ja05LOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzctY2tOSzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWNrTks6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fMS1ja05LOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LXN1Y2Nlc3MpOy0tXzItY2tOSzp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC1wcmltYXJ5KTstLV8zLWNrTks6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZyk7LS1fNC1ja05LOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRhbmdlcik7LS1fNS1ja05LOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tXzYtY2tOSzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV83LWNrTks6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCl9LmNvbnRhaW5lci1OODRYU2NHbnthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1pbnRlbnQtY29sb3IsdmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCkpO2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6dmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLDFweCk7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7ZGlzcGxheTppbmxpbmUtZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTstLXVpLWxpYi1jb250cm9sLWRlZmF1bHQtc2xvdC1jb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7aGVpZ2h0OnZhcigtLXVpLWxpYi1jb250cm9sLXNrZWxldG9uLWhlaWdodCxhdXRvKX0uY29udGFpbmVyLU44NFhTY0duLmNvbnRhaW5lci14eHNtYWxsLU44NFhTY0due2JvcmRlci1yYWRpdXM6NHB4fS5jb250YWluZXItTjg0WFNjR24uY29udGFpbmVyLXNtYWxsLU44NFhTY0duLC5jb250YWluZXItTjg0WFNjR24uY29udGFpbmVyLXhzbWFsbC1OODRYU2NHbntib3JkZXItcmFkaXVzOjZweH0uY29udGFpbmVyLU44NFhTY0duLmNvbnRhaW5lci1sYXJnZS1OODRYU2NHbiwuY29udGFpbmVyLU44NFhTY0duLmNvbnRhaW5lci1tZWRpdW0tTjg0WFNjR257Ym9yZGVyLXJhZGl1czo4cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250YWluZXItTjg0WFNjR24uaW50ZW50LWRlZmF1bHQtTjg0WFNjR246aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV81LWNrTkspOy0tdWktbGliLWNvbnRyb2wtZGVmYXVsdC1zbG90LWNvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSl9fS5jb250YWluZXItTjg0WFNjR24uZm9jdXNlZC1OODRYU2NHbntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtcHJpbWFyeSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250YWluZXItTjg0WFNjR24uZm9jdXNlZC1OODRYU2NHbjpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtcHJpbWFyeSl9fS5jb250YWluZXItTjg0WFNjR24ucmVhZG9ubHktTjg0WFNjR257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi1ja05LKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250YWluZXItTjg0WFNjR24ucmVhZG9ubHktTjg0WFNjR246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi1ja05LKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCl9fS5jb250YWluZXItTjg0WFNjR24uZGlzYWJsZWQtTjg0WFNjR257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi1ja05LKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCk7Y29sb3I6dmFyKC0tXzctY2tOSyk7LS11aS1saWItY29udHJvbC10ZXh0LWZpbGwtY29sb3I6dmFyKC0tXzctY2tOSyk7LS11aS1saWItY29udHJvbC1kZWZhdWx0LXNsb3QtY29sb3I6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29udGFpbmVyLU44NFhTY0duLmRpc2FibGVkLU44NFhTY0duOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzYtY2tOSyk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQpO2NvbG9yOnZhcigtLV83LWNrTkspOy0tdWktbGliLWNvbnRyb2wtdGV4dC1maWxsLWNvbG9yOnZhcigtLV83LWNrTkspOy0tdWktbGliLWNvbnRyb2wtZGVmYXVsdC1zbG90LWNvbG9yOnZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KX19LmNvbnRhaW5lci1OODRYU2NHbi53aXRoLWhpZ2hsaWdodC1OODRYU2NHbiwuY29udGFpbmVyLU44NFhTY0duLndpdGgtaGlnaGxpZ2h0LU44NFhTY0duLmZvY3VzZWQtTjg0WFNjR257Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQpO291dGxpbmU6bm9uZX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNvbnRhaW5lci1OODRYU2NHbi53aXRoLWhpZ2hsaWdodC1OODRYU2NHbjpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCk7b3V0bGluZTpub25lfX0uY29udGFpbmVyLU44NFhTY0duLmdyb3VwZWQtTjg0WFNjR24uYWRqdXN0LXBvc2l0aW9uLU44NFhTY0duOm5vdCguZmlyc3Qtcm93LU44NFhTY0duKXttYXJnaW4tdG9wOmNhbGModmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAxcHgpKi0xKX0uY29udGFpbmVyLU44NFhTY0duLmdyb3VwZWQtTjg0WFNjR24uYWRqdXN0LXBvc2l0aW9uLU44NFhTY0duOm5vdCguZmlyc3QtY29sLU44NFhTY0duKXttYXJnaW4taW5saW5lLXN0YXJ0OmNhbGModmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAxcHgpKi0xKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNvbnRhaW5lci1OODRYU2NHbi5ncm91cGVkLU44NFhTY0duOmhvdmVye3otaW5kZXg6MX19LmNvbnRhaW5lci1OODRYU2NHbi5ncm91cGVkLU44NFhTY0duLmZvY3VzZWQtTjg0WFNjR257ei1pbmRleDoyfS5jb250YWluZXItTjg0WFNjR24uc3RyZXRjaC1OODRYU2NHbnt3aWR0aDoxMDAlfS5jb250YWluZXItTjg0WFNjR24uZm9udC1zaXplLW1lZGl1bS1OODRYU2NHbnstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4Oy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweH0uY29udGFpbmVyLU44NFhTY0duLmZvbnQtc2l6ZS1sYXJnZS1OODRYU2NHbiwuY29udGFpbmVyLU44NFhTY0duLmZvbnQtc2l6ZS1tZWRpdW0tTjg0WFNjR257Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5jb250YWluZXItTjg0WFNjR24uZm9udC1zaXplLWxhcmdlLU44NFhTY0duey0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE2cHg7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4fS5jb250YWluZXItTjg0WFNjR24ubm8tY29ybmVyLXRvcC1sZWZ0LU44NFhTY0due2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6MH0uY29udGFpbmVyLU44NFhTY0duLm5vLWNvcm5lci10b3AtcmlnaHQtTjg0WFNjR257Ym9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6MH0uY29udGFpbmVyLU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tcmlnaHQtTjg0WFNjR257Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjB9LmNvbnRhaW5lci1OODRYU2NHbi5uby1jb3JuZXItYm90dG9tLWxlZnQtTjg0WFNjR257Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6MH0uc2l6ZS14eHNtYWxsLU44NFhTY0duey0tdWktbGliLWNvbnRyb2wtc2tlbGV0b24taGVpZ2h0OjI0cHg7Ym9yZGVyLXJhZGl1czo0cHh9LnNpemUteHNtYWxsLU44NFhTY0duey0tdWktbGliLWNvbnRyb2wtc2tlbGV0b24taGVpZ2h0OjI4cHg7Ym9yZGVyLXJhZGl1czo2cHh9LnNpemUtc21hbGwtTjg0WFNjR257LS11aS1saWItY29udHJvbC1za2VsZXRvbi1oZWlnaHQ6MzRweDtib3JkZXItcmFkaXVzOjZweH0uc2l6ZS1tZWRpdW0tTjg0WFNjR257LS11aS1saWItY29udHJvbC1za2VsZXRvbi1oZWlnaHQ6NDBweDtib3JkZXItcmFkaXVzOjhweH0uc2l6ZS1sYXJnZS1OODRYU2NHbnstLXVpLWxpYi1jb250cm9sLXNrZWxldG9uLWhlaWdodDo0OHB4O2JvcmRlci1yYWRpdXM6OHB4fS5pbnRlbnQtZGVmYXVsdC1OODRYU2NHbnstLXVpLWxpYi1pbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCk7LS11aS1saWItaW50ZW50LWhpZ2hsaWdodC1jb2xvcjp2YXIoLS1fMC1ja05LKX0uaW50ZW50LXN1Y2Nlc3MtTjg0WFNjR257LS11aS1saWItaW50ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LXN1Y2Nlc3MpOy0tdWktbGliLWludGVudC1oaWdobGlnaHQtY29sb3I6dmFyKC0tXzEtY2tOSyl9LmludGVudC13YXJuaW5nLU44NFhTY0duey0tdWktbGliLWludGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC13YXJuaW5nKTstLXVpLWxpYi1pbnRlbnQtaGlnaGxpZ2h0LWNvbG9yOnZhcigtLV8zLWNrTkspfS5pbnRlbnQtZGFuZ2VyLU44NFhTY0duey0tdWktbGliLWludGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC1kYW5nZXIpOy0tdWktbGliLWludGVudC1oaWdobGlnaHQtY29sb3I6dmFyKC0tXzQtY2tOSyl9LmludGVudC1wcmltYXJ5LU44NFhTY0duey0tdWktbGliLWludGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC1wcmltYXJ5KTstLXVpLWxpYi1pbnRlbnQtaGlnaGxpZ2h0LWNvbG9yOnZhcigtLV8yLWNrTkspfS5ib3JkZXItbm9uZS1OODRYU2NHbnstLXVpLWxpYi1jb250cm9sLWJvcmRlci13aWR0aDowcHh9LmJvcmRlci10aGluLU44NFhTY0duey0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoOjFweH0uYm9yZGVyLXRoaWNrLU44NFhTY0duey0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoOjJweH0uaGlnaGxpZ2h0LU44NFhTY0due2JvcmRlcjoycHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1pbnRlbnQtaGlnaGxpZ2h0LWNvbG9yLHZhcigtLV8wLWNrTkspKTtib3JkZXItcmFkaXVzOnZhcigtLXVpLWxpYi1jb250cm9sLWhpZ2hsaWdodC1ib3JkZXItcmFkaXVzLDhweCk7Ym90dG9tOjA7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO21hcmdpbjpjYWxjKHZhcigtLXVpLWxpYi1jb250cm9sLWJvcmRlci13aWR0aCwgMXB4KSotMSk7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt2aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4OjN9LmhpZ2hsaWdodC1OODRYU2NHbi5zaG93bi1OODRYU2NHbnt2aXNpYmlsaXR5OnZpc2libGV9LmhpZ2hsaWdodC1OODRYU2NHbi5uby1jb3JuZXItdG9wLWxlZnQtTjg0WFNjR257Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24ubm8tY29ybmVyLXRvcC1yaWdodC1OODRYU2NHbntib3JkZXItc3RhcnQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24ubm8tY29ybmVyLWJvdHRvbS1yaWdodC1OODRYU2NHbntib3JkZXItZW5kLWVuZC1yYWRpdXM6MH0uaGlnaGxpZ2h0LU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tbGVmdC1OODRYU2NHbntib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS14eHNtYWxsLU44NFhTY0due2JvcmRlci1yYWRpdXM6NHB4fS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS14eHNtYWxsLU44NFhTY0duLm5vLWNvcm5lci10b3AtbGVmdC1OODRYU2NHbntib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXh4c21hbGwtTjg0WFNjR24ubm8tY29ybmVyLXRvcC1yaWdodC1OODRYU2NHbntib3JkZXItc3RhcnQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS14eHNtYWxsLU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tcmlnaHQtTjg0WFNjR257Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXh4c21hbGwtTjg0WFNjR24ubm8tY29ybmVyLWJvdHRvbS1sZWZ0LU44NFhTY0due2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXhzbWFsbC1OODRYU2NHbntib3JkZXItcmFkaXVzOjZweH0uaGlnaGxpZ2h0LU44NFhTY0duLnNpemUteHNtYWxsLU44NFhTY0duLm5vLWNvcm5lci10b3AtbGVmdC1OODRYU2NHbntib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXhzbWFsbC1OODRYU2NHbi5uby1jb3JuZXItdG9wLXJpZ2h0LU44NFhTY0due2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXhzbWFsbC1OODRYU2NHbi5uby1jb3JuZXItYm90dG9tLXJpZ2h0LU44NFhTY0due2JvcmRlci1lbmQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS14c21hbGwtTjg0WFNjR24ubm8tY29ybmVyLWJvdHRvbS1sZWZ0LU44NFhTY0due2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXNtYWxsLU44NFhTY0due2JvcmRlci1yYWRpdXM6NnB4fS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1zbWFsbC1OODRYU2NHbi5uby1jb3JuZXItdG9wLWxlZnQtTjg0WFNjR257Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1zbWFsbC1OODRYU2NHbi5uby1jb3JuZXItdG9wLXJpZ2h0LU44NFhTY0due2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXNtYWxsLU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tcmlnaHQtTjg0WFNjR257Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXNtYWxsLU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tbGVmdC1OODRYU2NHbntib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1tZWRpdW0tTjg0WFNjR257Ym9yZGVyLXJhZGl1czo4cHh9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLW1lZGl1bS1OODRYU2NHbi5uby1jb3JuZXItdG9wLWxlZnQtTjg0WFNjR257Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1tZWRpdW0tTjg0WFNjR24ubm8tY29ybmVyLXRvcC1yaWdodC1OODRYU2NHbntib3JkZXItc3RhcnQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1tZWRpdW0tTjg0WFNjR24ubm8tY29ybmVyLWJvdHRvbS1yaWdodC1OODRYU2NHbntib3JkZXItZW5kLWVuZC1yYWRpdXM6MH0uaGlnaGxpZ2h0LU44NFhTY0duLnNpemUtbWVkaXVtLU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tbGVmdC1OODRYU2NHbntib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1sYXJnZS1OODRYU2NHbntib3JkZXItcmFkaXVzOjhweH0uaGlnaGxpZ2h0LU44NFhTY0duLnNpemUtbGFyZ2UtTjg0WFNjR24ubm8tY29ybmVyLXRvcC1sZWZ0LU44NFhTY0due2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6MH0uaGlnaGxpZ2h0LU44NFhTY0duLnNpemUtbGFyZ2UtTjg0WFNjR24ubm8tY29ybmVyLXRvcC1yaWdodC1OODRYU2NHbntib3JkZXItc3RhcnQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1sYXJnZS1OODRYU2NHbi5uby1jb3JuZXItYm90dG9tLXJpZ2h0LU44NFhTY0due2JvcmRlci1lbmQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1sYXJnZS1OODRYU2NHbi5uby1jb3JuZXItYm90dG9tLWxlZnQtTjg0WFNjR257Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6MH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/39609.8ce0d793b2b60be7a4d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.012Z","timestamp":1785141585012,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/39609.8ce0d793b2b60be7a4d5.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-3f84\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b97471b5ac29c670ae222fc50f23d579\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":16260,"size_decoded":6269,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3070)","md5":"1af372c8d2679eb4b4723ab88e601eef","sha1":"bdd83e7842c5a9012e55084e71cd31fdcd5f72d6","sha256":"7cd30257c9448f2910216296d47b421cb724c4657dd6b6da06196e9b6323451c","sha512":"2cbc64c079104c42314e0475923e68a449456822936c0c290ef608f65e01b8e76a18727eadf52df0f2fc73b20c0b817c4287d1b42ac30ce2cf06eaf5cb25079d","ssdeep":"384:533u26UHCVnsa67bSIVIZjgeWDGu2JL2qlSUOTeEX:peEwnsa67uIVEjHWDGj2QSUAeG","tlshash":"c572c6a5b1a9203a11e78667d1791743f231694db003479cb17e3cee1eae8893369f7c","first_seen":"2026-07-22T17:32:48.037533Z","last_seen":"2026-07-27T14:50:15.425845Z","times_seen":64,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szOTYwOV0sezQ0ODQxMSh0KXt0LmV4cG9ydHM9e2RpYWxvZzoiZGlhbG9nLUdIVUg2XzFYIixyb3VuZGVkOiJyb3VuZGVkLUdIVUg2XzFYIixzaGFkb3dlZDoic2hhZG93ZWQtR0hVSDZfMVgiLGZ1bGxzY3JlZW46ImZ1bGxzY3JlZW4tR0hVSDZfMVgiLGRhcmtlcjoiZGFya2VyLUdIVUg2XzFYIixiYWNrZHJvcDoiYmFja2Ryb3AtR0hVSDZfMVgifX0sMTc1ODYzKHQpe3QuZXhwb3J0cz17InRhYmxldC1ub3JtYWwtYnJlYWtwb2ludCI6IihtYXgtd2lkdGg6IDc2OHB4KSIsInRvb2x0aXAtb2Zmc2V0IjoiMjBweCIsZGlhbG9nOiJkaWFsb2ctcXlDdzBQYU4iLGRyYWdnaW5nOiJkcmFnZ2luZy1xeUN3MFBhTiIsbW9iaWxlOiJtb2JpbGUtcXlDdzBQYU4iLGZ1bGxzY3JlZW46ImZ1bGxzY3JlZW4tcXlDdzBQYU4iLGRpYWxvZ0FuaW1hdGVkQXBwZWFyYW5jZToiZGlhbG9nQW5pbWF0ZWRBcHBlYXJhbmNlLXF5Q3cwUGFOIixkaWFsb2dBbmltYXRpb246ImRpYWxvZ0FuaW1hdGlvbi1xeUN3MFBhTiIsZGlhbG9nVG9vbHRpcDoiZGlhbG9nVG9vbHRpcC1xeUN3MFBhTiJ9fSw5MjM1MTModCl7dC5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci16TFZtNkI0dCIsY29udGVudDoiY29udGVudC16TFZtNkI0dCIsYXJyb3dIb2xkZXI6ImFycm93SG9sZGVyLXpMVm02QjR0IiwiYXJyb3dIb2xkZXItLWJlbG93IjoiYXJyb3dIb2xkZXItLWJlbG93LXpMVm02QjR0IiwiYXJyb3dIb2xkZXItLWFib3ZlIjoiYXJyb3dIb2xkZXItLWFib3ZlLXpMVm02QjR0IiwiYXJyb3dIb2xkZXItLWJlZm9yZSI6ImFycm93SG9sZGVyLS1iZWZvcmUtekxWbTZCNHQiLCJhcnJvd0hvbGRlci0tYWZ0ZXIiOiJhcnJvd0hvbGRlci0tYWZ0ZXItekxWbTZCNHQiLCJhcnJvd0hvbGRlci0tYWJvdmUtZml4IjoiYXJyb3dIb2xkZXItLWFib3ZlLWZpeC16TFZtNkI0dCIsImFycm93SG9sZGVyLS1iZWZvcmUtcnRsLWZpeCI6ImFycm93SG9sZGVyLS1iZWZvcmUtcnRsLWZpeC16TFZtNkI0dCIsImFycm93SG9sZGVyLS1hZnRlci1sdHItZml4IjoiYXJyb3dIb2xkZXItLWFmdGVyLWx0ci1maXgtekxWbTZCNHQiLGxhYmVsOiJsYWJlbC16TFZtNkI0dCIsY2xvc2VCdXR0b246ImNsb3NlQnV0dG9uLXpMVm02QjR0In19LDQ5MDg5Myh0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLHtQb3B1cENvbnRleHQ6KCk9Pm99KTtjb25zdCBvPWkoNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSw5OTEwNjYodCxlLGkpeyJ1c2Ugc3RyaWN0IjtpLmQoZSx7RGlhbG9nOigpPT5kfSk7dmFyIG89aSg3Nzk0NzQpLHM9aSg5MTQ0ODcpLG49aS5uKHMpLGE9aSg2MDc4MzIpLHI9aSg5MDM0MiksbD1pKDM0NTExNiksaD1pKDQ0ODQxMSksYz1pLm4oaCk7Y2xhc3MgZCBleHRlbmRzIG8uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fbWFuYWdlcj1uZXcgci5PdmVybGFwTWFuYWdlcix0aGlzLl9oYW5kbGVTbG90PXQ9Pnt0aGlzLl9tYW5hZ2VyLnNldENvbnRhaW5lcih0KX19cmVuZGVyKCl7Y29uc3R7cm91bmRlZDp0PSEwLHNoYWRvd2VkOmU9ITAsZnVsbHNjcmVlbjppPSExLGRhcmtlcjpzPSExLGNsYXNzTmFtZTpyLGJhY2tkcm9wOmgsY29udGFpbmVyVGFiSW5kZXg6ZD0tMX09dGhpcy5wcm9wcyx1PW4oKShyLGMoKS5kaWFsb2csdCYmYygpLnJvdW5kZWQsZSYmYygpLnNoYWRvd2VkLGkmJmMoKS5mdWxsc2NyZWVuLHMmJmMoKS5kYXJrZXIpLHA9KDAsbC5maWx0ZXJEYXRhUHJvcHMpKHRoaXMucHJvcHMpLGc9dGhpcy5wcm9wcy5zdHlsZT97Li4udGhpcy5fY3JlYXRlU3R5bGVzKCksLi4udGhpcy5wcm9wcy5zdHlsZX06dGhpcy5fY3JlYXRlU3R5bGVzKCk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KGEuU2xvdENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnRoaXMuX21hbmFnZXJ9LGgmJm8uY3JlYXRlRWxlbWVudCgiZGl2Iix7b25DbGljazp0aGlzLnByb3BzLm9uQ2xpY2tCYWNrZHJvcCxjbGFzc05hbWU6YygpLmJhY2tkcm9wfSksby5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5wLGNsYXNzTmFtZTp1LHN0eWxlOmcscmVmOnRoaXMucHJvcHMucmVmZXJlbmNlLG9uRm9jdXM6dGhpcy5wcm9wcy5vbkZvY3VzLG9uTW91c2VEb3duOnRoaXMucHJvcHMub25Nb3VzZURvd24sb25Nb3VzZVVwOnRoaXMucHJvcHMub25Nb3VzZVVwLG9uQ2xpY2s6dGhpcy5wcm9wcy5vbkNsaWNrLG9uS2V5RG93bjp0aGlzLnByb3BzLm9uS2V5RG93bix0YWJJbmRleDpkLCJhcmlhLWxhYmVsIjp0aGlzLnByb3BzLmNvbnRhaW5lckFyaWFMYWJlbH0sdGhpcy5wcm9wcy5jaGlsZHJlbikpLG8uY3JlYXRlRWxlbWVudChhLlNsb3Qse3JlZmVyZW5jZTp0aGlzLl9oYW5kbGVTbG90fSkpfV9jcmVhdGVTdHlsZXMoKXtjb25zdHtib3R0b206dCxsZWZ0OmUsd2lkdGg6aSxyaWdodDpvLHRvcDpzLHpJbmRleDpuLGhlaWdodDphfT10aGlzLnByb3BzO3JldHVybntib3R0b206dCxsZWZ0OmUscmlnaHQ6byx0b3A6cyx6SW5kZXg6bixtYXhXaWR0aDppLGhlaWdodDphfX19fSw5OTU2ODIodCxlLGkpeyJ1c2Ugc3RyaWN0IjtpLmQoZSx7RHJhZ0hhbmRsZXI6KCk9PnN9KTt2YXIgbz1pKDUzMTkyOCk7Y2xhc3Mgc3tjb25zdHJ1Y3Rvcih0LGUsaT17Ym91bmRCeVNjcmVlbjohMH0pe3RoaXMuX2RyYWc9bnVsbCx0aGlzLl9jYW5CZVRvdWNoQ2xpY2s9ITEsdGhpcy5fZnJhbWU9bnVsbCx0aGlzLl9vbk1vdXNlRHJhZ1N0YXJ0PXQ9PntpZigwIT09dC5idXR0b258fHRoaXMuX2lzVGFyZ2V0Tm9EcmFnZ2FibGUodCkpcmV0dXJuO3QucHJldmVudERlZmF1bHQoKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX29uTW91c2VEcmFnTW92ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5fb25Nb3VzZURyYWdFbmQpO2NvbnN0IGU9KDAsby5jbGFtcFBvc2l0aW9uKSgoMCxvLnBvc2l0aW9uRnJvbU1vdXNlRXZlbnQpKHQpKQo7dGhpcy5fZHJhZ1N0YXJ0KGUpfSx0aGlzLl9vblRvdWNoRHJhZ1N0YXJ0PXQ9PntpZih0aGlzLl9pc1RhcmdldE5vRHJhZ2dhYmxlKHQpKXJldHVybjt0aGlzLl9jYW5CZVRvdWNoQ2xpY2s9ITAsdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2hlYWRlci5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHRoaXMuX29uVG91Y2hEcmFnTW92ZSx7cGFzc2l2ZTohMX0pO2NvbnN0IGU9KDAsby5jbGFtcFBvc2l0aW9uKSgoMCxvLnBvc2l0aW9uRnJvbVRvdWNoRXZlbnQpKHQpKTt0aGlzLl9kcmFnU3RhcnQoZSl9LHRoaXMuX29uTW91c2VEcmFnRW5kPXQ9Pnt0LnRhcmdldCBpbnN0YW5jZW9mIE5vZGUmJnRoaXMuX2hlYWRlci5jb250YWlucyh0LnRhcmdldCkmJnQucHJldmVudERlZmF1bHQoKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX29uTW91c2VEcmFnTW92ZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5fb25Nb3VzZURyYWdFbmQpLHRoaXMuX29uRHJhZ1N0b3AoKX0sdGhpcy5fb25Ub3VjaERyYWdFbmQ9dD0+e3RoaXMuX2hlYWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHRoaXMuX29uVG91Y2hEcmFnTW92ZSksdGhpcy5fb25EcmFnU3RvcCgpLHRoaXMuX2NhbkJlVG91Y2hDbGljayYmKHRoaXMuX2NhbkJlVG91Y2hDbGljaz0hMSwoMCxvLnNpbXVsYXRlQ2xpY2spKHQudGFyZ2V0KSl9LHRoaXMuX29uTW91c2VEcmFnTW92ZT10PT57Y29uc3QgZT0oMCxvLmNsYW1wUG9zaXRpb24pKCgwLG8ucG9zaXRpb25Gcm9tTW91c2VFdmVudCkodCkpO3RoaXMuX2RyYWdNb3ZlKGUpfSx0aGlzLl9vblRvdWNoRHJhZ01vdmU9dD0+e3RoaXMuX2NhbkJlVG91Y2hDbGljaz0hMSx0LnByZXZlbnREZWZhdWx0KCk7Y29uc3QgZT0oMCxvLmNsYW1wUG9zaXRpb24pKCgwLG8ucG9zaXRpb25Gcm9tVG91Y2hFdmVudCkodCkpO3RoaXMuX2RyYWdNb3ZlKGUpfSx0aGlzLl9vbkRyYWdTdG9wPSgpPT57dGhpcy5fZHJhZz1udWxsLHRoaXMuX2hlYWRlci5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIpLHRoaXMuX29wdGlvbnMub25EcmFnRW5kJiZ0aGlzLl9vcHRpb25zLm9uRHJhZ0VuZCgpfSx0aGlzLl9kaWFsb2c9dCx0aGlzLl9oZWFkZXI9ZSx0aGlzLl9vcHRpb25zPWksdGhpcy5faGVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5fb25Nb3VzZURyYWdTdGFydCksdGhpcy5faGVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hEcmFnU3RhcnQpLHRoaXMuX2hlYWRlci5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5fb25Ub3VjaERyYWdFbmQpfWRlc3Ryb3koKXtudWxsIT09dGhpcy5fZnJhbWUmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2ZyYW1lKSx0aGlzLl9oZWFkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix0aGlzLl9vbk1vdXNlRHJhZ1N0YXJ0KSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLl9vbk1vdXNlRHJhZ0VuZCksdGhpcy5faGVhZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hEcmFnU3RhcnQpLHRoaXMuX2hlYWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5fb25Ub3VjaERyYWdFbmQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uTW91c2VEcmFnRW5kKX11cGRhdGVPcHRpb25zKHQpe3RoaXMuX29wdGlvbnM9dH1fZHJhZ1N0YXJ0KHQpe2NvbnN0IGU9dGhpcy5fZGlhbG9nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuX2RyYWc9e3N0YXJ0WDp0Lngsc3RhcnRZOnQueSxmaW5pc2hYOnQueCxmaW5pc2hZOnQueSxkaWFsb2dYOmUubGVmdCxkaWFsb2dZOmUudG9wfTtjb25zdCBpPU1hdGgucm91bmQoZS5sZWZ0KSxvPU1hdGgucm91bmQoZS50b3ApO3RoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke2l9cHgsICR7b31weClgLHRoaXMuX2hlYWRlci5jbGFzc0xpc3QuYWRkKCJkcmFnZ2luZyIpLHRoaXMuX29wdGlvbnMub25EcmFnU3RhcnQmJnRoaXMuX29wdGlvbnMub25EcmFnU3RhcnQoKX1fZHJhZ01vdmUodCl7aWYodGhpcy5fZHJhZyl7aWYodGhpcy5fZHJhZy5maW5pc2hYPXQueCx0aGlzLl9kcmFnLmZpbmlzaFk9dC55LG51bGwhPT10aGlzLl9mcmFtZSlyZXR1cm47dGhpcy5fZnJhbWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e2lmKHRoaXMuX2RyYWcpe2NvbnN0IGU9dC54LXRoaXMuX2RyYWcuc3RhcnRYLGk9dC55LXRoaXMuX2RyYWcuc3RhcnRZO3RoaXMuX21vdmVEaWFsb2codGhpcy5fZHJhZy5kaWFsb2dYK2UsdGhpcy5fZHJhZy5kaWFsb2dZK2kpfXRoaXMuX2ZyYW1lPW51bGx9KSl9fV9tb3ZlRGlhbG9nKHQsZSl7Y29uc3QgaT10aGlzLl9kaWFsb2cuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkse2JvdW5kQnlTY3JlZW46c309dGhpcy5fb3B0aW9ucyxuPSgwLG8uY2xhbXBTZWdtZW50KSh0LGkud2lkdGgscz8wOi0xLzAscz93aW5kb3cuaW5uZXJXaWR0aDoxLzApLGE9KDAsby5jbGFtcFNlZ21lbnQpKGUsaS5oZWlnaHQscz8wOi0xLzAscz93aW5kb3cuaW5uZXJIZWlnaHQ6MS8wKTt0aGlzLl9kaWFsb2cuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHtNYXRoLnJvdW5kKG4pfXB4LCAke01hdGgucm91bmQoYSl9cHgpYH1faXNUYXJnZXROb0RyYWdnYWJsZSh0KXtyZXR1cm4gdC50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50JiZudWxsIT09dC50YXJnZXQuY2xvc2VzdCgiW2RhdGEtZGlzYWJsZS1kcmFnXSIpfX19LDU4NTgyMSh0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLHtQb3B1cERpYWxvZzooKT0+Rn0pO3ZhciBvPWkoNzc5NDc0KSxzPWkoOTE0NDg3KSxuPWkubihzKSxhPWkoMTM4NjM4KSxyPWkoOTkxMDY2KSxsPWkoNzE4NTUzKSxoPWkoOTMwMjMxKSxjPWkoNjU5ODc4KSxkPWkoOTk1NjgyKSx1PWkoNTMxOTI4KTtjb25zdCBwPXt2ZXJ0aWNhbDowfTtjbGFzcyBne2NvbnN0cnVjdG9yKHQsZSl7CnRoaXMuX2ZyYW1lPW51bGwsdGhpcy5faXNGdWxsc2NyZWVuPSExLHRoaXMuX2hhbmRsZVJlc2l6ZT0oKT0+e251bGw9PT10aGlzLl9mcmFtZSYmKHRoaXMuX2ZyYW1lPXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9Pnt0aGlzLnJlY2FsY3VsYXRlQm91bmRzKCksdGhpcy5fZnJhbWU9bnVsbH0pKSl9LHRoaXMuX2RpYWxvZz10LHRoaXMuX2d1YXJkPWUuZ3VhcmR8fHAsdGhpcy5fY2FsY3VsYXRlRGlhbG9nUG9zaXRpb249ZS5jYWxjdWxhdGVEaWFsb2dQb3NpdGlvbix0aGlzLl9pbml0aWFsSGVpZ2h0PXQuc3R5bGUuaGVpZ2h0LHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX2hhbmRsZVJlc2l6ZSl9dXBkYXRlT3B0aW9ucyh0KXt0aGlzLl9ndWFyZD10Lmd1YXJkfHxwLHRoaXMuX2NhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uPXQuY2FsY3VsYXRlRGlhbG9nUG9zaXRpb259c2V0RnVsbHNjcmVlbih0KXt0aGlzLl9pc0Z1bGxzY3JlZW4hPT10JiYodGhpcy5faXNGdWxsc2NyZWVuPXQsdGhpcy5yZWNhbGN1bGF0ZUJvdW5kcygpKX1jZW50ZXJBbmRGaXQoKXtjb25zdHt4OnQseTplfT10aGlzLmdldERpYWxvZ3NUb3BMZWZ0Q29vcmRpbmF0ZXMoKSxpPXRoaXMuX2NhbGNBdmFpbGFibGVIZWlnaHQoKSxvPXRoaXMuX2NhbGNEaWFsb2dIZWlnaHQoKTtpZihpPT09bylpZih0aGlzLl9jYWxjdWxhdGVEaWFsb2dQb3NpdGlvbil7Y29uc3R7bGVmdDp0LHRvcDplfT10aGlzLl9jYWxjdWxhdGVEaWFsb2dQb3NpdGlvbih0aGlzLl9kaWFsb2csZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMuX2d1YXJkKTt0aGlzLl9kaWFsb2cuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHtNYXRoLnJvdW5kKHQpfXB4LCAke01hdGgucm91bmQoZSl9cHgpYH1lbHNlIHRoaXMuX2RpYWxvZy5zdHlsZS5oZWlnaHQ9bysicHgiO3RoaXMuX2RpYWxvZy5zdHlsZS50b3A9IjBweCIsdGhpcy5fZGlhbG9nLnN0eWxlLmxlZnQ9IjBweCIsdGhpcy5fZGlhbG9nLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlKCR7dH1weCwgJHtlfXB4KWB9Z2V0RGlhbG9nc1RvcExlZnRDb29yZGluYXRlcygpe2NvbnN0e2NsaWVudFdpZHRoOnQsY2xpZW50SGVpZ2h0OmV9PXRoaXMuX2dldENsaWVudERpbWVuc2lvbnMoKSxpPXRoaXMuX2NhbGNEaWFsb2dIZWlnaHQoKSxvPXQvMi10aGlzLl9kaWFsb2cuY2xpZW50V2lkdGgvMixzPWUvMi1pLzIrdGhpcy5fZ2V0VG9wT2Zmc2V0KCk7cmV0dXJue3g6TWF0aC5yb3VuZChvKSx5Ok1hdGgucm91bmQocyl9fXJlY2FsY3VsYXRlQm91bmRzKCl7Y29uc3R7Y2xpZW50V2lkdGg6dCxjbGllbnRIZWlnaHQ6ZX09dGhpcy5fZ2V0Q2xpZW50RGltZW5zaW9ucygpLHt2ZXJ0aWNhbDppfT10aGlzLl9ndWFyZCxvPXRoaXMuX2NhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uPy4odGhpcy5fZGlhbG9nLHtjbGllbnRXaWR0aDp0LGNsaWVudEhlaWdodDplfSx7dmVydGljYWw6aX0pO2lmKHRoaXMuX2lzRnVsbHNjcmVlbil7aWYodGhpcy5fZGlhbG9nLnN0eWxlLnRvcD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUubGVmdD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUud2lkdGg9IjEwMCUiLHRoaXMuX2RpYWxvZy5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09Im5vbmUiLG8pe2NvbnN0e2xlZnQ6dCx0b3A6ZSx3aWR0aDppLGhlaWdodDpzfT1vO3RoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke01hdGgucm91bmQodCl9cHgsICR7TWF0aC5yb3VuZChlKX1weClgLGkmJih0aGlzLl9kaWFsb2cuc3R5bGUud2lkdGg9YCR7aX1weGAsdGhpcy5fZGlhbG9nLnN0eWxlLm1pbldpZHRoPSJ1bnNldCIpLHMmJih0aGlzLl9kaWFsb2cuc3R5bGUuaGVpZ2h0PWAke3N9cHhgLHRoaXMuX2RpYWxvZy5zdHlsZS5taW5IZWlnaHQ9InVuc2V0Iil9fWVsc2UgaWYobyl7Y29uc3R7bGVmdDp0LHRvcDplfT1vO3RoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke01hdGgucm91bmQodCl9cHgsICR7TWF0aC5yb3VuZChlKX1weClgfWVsc2V7dGhpcy5fZGlhbG9nLnN0eWxlLndpZHRoPSIiLHRoaXMuX2RpYWxvZy5zdHlsZS5oZWlnaHQ9IiI7Y29uc3Qgbz10aGlzLl9kaWFsb2cuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscz1lLTIqaSxuPSgwLHUuY2xhbXBTZWdtZW50KShvLmxlZnQsby53aWR0aCwwLHQpLGE9KDAsdS5jbGFtcFNlZ21lbnQpKG8udG9wLG8uaGVpZ2h0LGksZSk7dGhpcy5fZGlhbG9nLnN0eWxlLnRvcD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUubGVmdD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHtNYXRoLnJvdW5kKG4pfXB4LCAke01hdGgucm91bmQoYSl9cHgpYCx0aGlzLl9kaWFsb2cuc3R5bGUuaGVpZ2h0PXM8by5oZWlnaHQ/cysicHgiOnRoaXMuX2luaXRpYWxIZWlnaHR9fWRlc3Ryb3koKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9oYW5kbGVSZXNpemUpLG51bGwhPT10aGlzLl9mcmFtZSYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2ZyYW1lKSx0aGlzLl9mcmFtZT1udWxsKX1fZ2V0Q2xpZW50RGltZW5zaW9ucygpe3JldHVybntjbGllbnRIZWlnaHQ6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxjbGllbnRXaWR0aDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGh9fV9nZXRUb3BPZmZzZXQoKXtyZXR1cm4gMH1fY2FsY0RpYWxvZ0hlaWdodCgpe2NvbnN0IHQ9dGhpcy5fY2FsY0F2YWlsYWJsZUhlaWdodCgpO3JldHVybiB0PHRoaXMuX2RpYWxvZy5jbGllbnRIZWlnaHQ/dDp0aGlzLl9kaWFsb2cuY2xpZW50SGVpZ2h0fV9jYWxjQXZhaWxhYmxlSGVpZ2h0KCl7cmV0dXJuIHRoaXMuX2dldENsaWVudERpbWVuc2lvbnMoKS5jbGllbnRIZWlnaHQtMip0aGlzLl9ndWFyZC52ZXJ0aWNhbH19dmFyIF89aSg1ODU0OCksbT1pKDQ5MDg5MyksZj1pKDg3MjUxOCksdj1pKDMzMjY2MCksRD1pKDExNzMxMykseT1pKDMzNzM2Mik7dmFyIEU9aSg2OTIyNjYpLHg9aSgxNDc5MDEpLHc9aSgxNzU4NjMpCjtjb25zdCBiPXdbInRvb2x0aXAtb2Zmc2V0Il0sVD0oMCxoLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbWJlZF9yZXNpemVyX292ZXJyaWRlcyIpP2NsYXNzIGV4dGVuZHMgZ3tjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSksdGhpcy5fZW5hYmxlZD0oMCxoLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbWJlZF9yZXNpemVyX292ZXJyaWRlcyIpfV9nZXRDbGllbnREaW1lbnNpb25zKCl7Y29uc3QgdD1zdXBlci5fZ2V0Q2xpZW50RGltZW5zaW9ucygpO2lmKHRoaXMuX2VuYWJsZWQpe2NvbnN0IGU9eS5FbWJlZFZpZXdwb3J0RGltZW5zaW9uc1Byb3ZpZGVyLmdldEluc3RhbmNlKCkuZGF0YSgpO2UmJih0LmNsaWVudEhlaWdodD1lLmhlaWdodCl9cmV0dXJuIHR9X2dldFRvcE9mZnNldCgpe2lmKHRoaXMuX2VuYWJsZWQpe2NvbnN0IHQ9eS5FbWJlZFZpZXdwb3J0RGltZW5zaW9uc1Byb3ZpZGVyLmdldEluc3RhbmNlKCkuZGF0YSgpO2lmKHQpcmV0dXJuIHQudG9wfXJldHVybiBzdXBlci5fZ2V0VG9wT2Zmc2V0KCl9fTpnO2NsYXNzIFMgZXh0ZW5kcyBvLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5fZGlhbG9nPW51bGwsdGhpcy5fY2xlYW5VcEZ1bmN0aW9ucz1bXSx0aGlzLl9wcmV2QWN0aXZlRWxlbWVudD1udWxsLHRoaXMuX2V2ZW50RGlzcGF0Y2hlcj1uZXcgdi5EaWFsb2dFdmVudERpc3BhdGNoZXIsdGhpcy5faGFuZGxlRGlhbG9nUmVmPXQ9Pntjb25zdHtyZWZlcmVuY2U6ZX09dGhpcy5wcm9wczt0aGlzLl9kaWFsb2c9dCwiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJihlLmN1cnJlbnQ9dCl9LHRoaXMuX2hhbmRsZUZvY3VzPSgpPT57dGhpcy5fbW92ZVRvVG9wKCl9LHRoaXMuX2hhbmRsZU1vdXNlRG93bj10PT57dGhpcy5fbW92ZVRvVG9wKCl9LHRoaXMuX2hhbmRsZVRvdWNoU3RhcnQ9dD0+e3RoaXMuX21vdmVUb1RvcCgpfSx0aGlzLnN0YXRlPXtjYW5GaXRUb29sdGlwOiExfSx0aGlzLl9wcmV2QWN0aXZlRWxlbWVudD1kb2N1bWVudC5hY3RpdmVFbGVtZW50fXJlbmRlcigpe3JldHVybiBvLmNyZWF0ZUVsZW1lbnQobS5Qb3B1cENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnRoaXN9LG8uY3JlYXRlRWxlbWVudChsLk91dHNpZGVFdmVudCx7bW91c2VEb3duOiEwLHRvdWNoU3RhcnQ6ITAsaGFuZGxlcjp0aGlzLnByb3BzLm9uQ2xpY2tPdXRzaWRlfSwodD0+by5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6dCwiZGF0YS1vdXRzaWRlLWJvdW5kYXJ5LWZvciI6dGhpcy5wcm9wcy5uYW1lLG9uRm9jdXM6dGhpcy5faGFuZGxlRm9jdXMsb25Nb3VzZURvd246dGhpcy5faGFuZGxlTW91c2VEb3duLG9uVG91Y2hTdGFydDp0aGlzLl9oYW5kbGVUb3VjaFN0YXJ0LCJkYXRhLWRpYWxvZy1uYW1lIjp0aGlzLnByb3BzWyJkYXRhLWRpYWxvZy1uYW1lIl0sImRhdGEtdG9vbHRpcC1zaG93LW9uLWZvY3VzIjoidHJ1ZSIsImRhdGEtcWEtaWQiOigwLHguZGF0YVFhSWRzKSgidWktbGliLVBvcHVwRGlhbG9nIix0aGlzLnByb3BzLmRhdGFRYUlkKX0sby5jcmVhdGVFbGVtZW50KHIuRGlhbG9nLHtzdHlsZTp0aGlzLl9hcHBseUFuaW1hdGlvbkNTU1ZhcmlhYmxlcygpLC4uLnRoaXMucHJvcHMscmVmZXJlbmNlOnRoaXMuX2hhbmRsZURpYWxvZ1JlZixjbGFzc05hbWU6bigpKHcuZGlhbG9nLCgwLEQuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSYmIXRoaXMucHJvcHMubm9Nb2JpbGVBcHBTaGFkb3dzJiZ3Lm1vYmlsZSx0aGlzLnByb3BzLmZ1bGxzY3JlZW4mJncuZnVsbHNjcmVlbix0aGlzLnByb3BzLmNsYXNzTmFtZSl9LHRoaXMucHJvcHMuZGlhbG9nVG9vbHRpcCYmdGhpcy5zdGF0ZS5jYW5GaXRUb29sdGlwJiZvLmNyZWF0ZUVsZW1lbnQoRS5Ub29sdGlwV2lkZ2V0LHtjbGFzc05hbWU6dy5kaWFsb2dUb29sdGlwfSx0aGlzLnByb3BzLmRpYWxvZ1Rvb2x0aXApLHRoaXMucHJvcHMuY2hpbGRyZW4pKSkpKX1jb21wb25lbnREaWRNb3VudCgpe2NvbnN0e2RyYWdnYWJsZTp0LGJvdW5kQnlTY3JlZW46ZSxvbkRyYWdTdGFydDppfT10aGlzLnByb3BzLG89KDAsYS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9kaWFsb2cpO2lmKHRoaXMuX2V2ZW50RGlzcGF0Y2hlci5kaXNwYXRjaCgiZGlhbG9nLW9wZW4iKSx0KXtjb25zdCB0PW8ucXVlcnlTZWxlY3RvcigiW2RhdGEtZHJhZ2ctYXJlYV0iKTtpZih0JiZ0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpe2NvbnN0IHM9bmV3IGQuRHJhZ0hhbmRsZXIobyx0LHtib3VuZEJ5U2NyZWVuOkJvb2xlYW4oZSksb25EcmFnU3RhcnQ6aX0pO3RoaXMuX2NsZWFuVXBGdW5jdGlvbnMucHVzaCgoKCk9PnMuZGVzdHJveSgpKSksdGhpcy5fZHJhZz1zfX10aGlzLnByb3BzLmF1dG9mb2N1cyYmIW8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkmJm8uZm9jdXMoKSwodGhpcy5faXNGdWxsU2NyZWVuKCl8fHRoaXMucHJvcHMuZml4ZWRCb2R5KSYmKDAsZi5zZXRGaXhlZEJvZHlTdGF0ZSkoITApO2NvbnN0e2d1YXJkOnMsY2FsY3VsYXRlRGlhbG9nUG9zaXRpb246bn09dGhpcy5wcm9wcztpZih0aGlzLnByb3BzLnJlc2l6ZUhhbmRsZXIpdGhpcy5fcmVzaXplPXRoaXMucHJvcHMucmVzaXplSGFuZGxlcjtlbHNle2NvbnN0IHQ9bmV3IFQobyx7Z3VhcmQ6cyxjYWxjdWxhdGVEaWFsb2dQb3NpdGlvbjpufSk7dGhpcy5fY2xlYW5VcEZ1bmN0aW9ucy5wdXNoKCgoKT0+dC5kZXN0cm95KCkpKSx0aGlzLl9yZXNpemU9dH1pZih0aGlzLl9pc0Z1bGxTY3JlZW4oKSYmdGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctZnVsbHNjcmVlbi1vbiIpLHRoaXMucHJvcHMuaXNBbmltYXRpb25FbmFibGVkJiZ0aGlzLnByb3BzLmdyb3dQb2ludCYmdGhpcy5fYXBwbHlBcHBlYXJhbmNlQW5pbWF0aW9uKHRoaXMucHJvcHMuZ3Jvd1BvaW50KSx0aGlzLnByb3BzLmNlbnRlcmVkT25Nb3VudCYmdGhpcy5fcmVzaXplLmNlbnRlckFuZEZpdCgpLHRoaXMuX3Jlc2l6ZS5zZXRGdWxsc2NyZWVuKHRoaXMuX2lzRnVsbFNjcmVlbigpKSx0aGlzLnByb3BzLmRpYWxvZ1Rvb2x0aXAmJnRoaXMuX2hhbmRsZVRvb2x0aXBGaXQoKSwKdGhpcy5wcm9wcy5zaG91bGRGb3JjZUZvY3VzKXtpZih0aGlzLnByb3BzLm9uRm9yY2VGb2N1cylyZXR1cm4gdm9pZCB0aGlzLnByb3BzLm9uRm9yY2VGb2N1cyhvKTtvLmZvY3VzKCl9aWYoIW8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpe2NvbnN0IHQ9KDAsdS5maW5kRGVmYXVsdEZvY3VzYWJsZUVsZW1lbnQpKG8pO3QgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdC5mb2N1cygpfX1jb21wb25lbnREaWRVcGRhdGUodCl7Y29uc3QgZT10LmZ1bGxzY3JlZW47aWYodGhpcy5fcmVzaXplKXtjb25zdHtndWFyZDp0LGNhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uOmV9PXRoaXMucHJvcHM7dGhpcy5fcmVzaXplLnVwZGF0ZU9wdGlvbnMoe2d1YXJkOnQsY2FsY3VsYXRlRGlhbG9nUG9zaXRpb246ZX0pLHRoaXMuX3Jlc2l6ZS5zZXRGdWxsc2NyZWVuKHRoaXMuX2lzRnVsbFNjcmVlbigpKX1pZih0aGlzLl9kcmFnJiZ0aGlzLl9kcmFnLnVwZGF0ZU9wdGlvbnMoe2JvdW5kQnlTY3JlZW46Qm9vbGVhbih0aGlzLnByb3BzLmJvdW5kQnlTY3JlZW4pLG9uRHJhZ1N0YXJ0OnRoaXMucHJvcHMub25EcmFnU3RhcnR9KSx0LmZ1bGxzY3JlZW4hPT10aGlzLnByb3BzLmZ1bGxzY3JlZW4pe2NvbnN0IHQ9dGhpcy5wcm9wcy5mdWxsc2NyZWVuO3QmJiFlP3RoaXMuX2V2ZW50RGlzcGF0Y2hlci5kaXNwYXRjaCgiZGlhbG9nLWZ1bGxzY3JlZW4tb24iKTohdCYmZSYmdGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctZnVsbHNjcmVlbi1vZmYiKX19Y29tcG9uZW50V2lsbFVubW91bnQoKXtpZih0aGlzLnByb3BzLnNob3VsZFJldHVybkZvY3VzJiZ0aGlzLl9wcmV2QWN0aXZlRWxlbWVudCYmZG9jdW1lbnQuYm9keS5jb250YWlucyh0aGlzLl9wcmV2QWN0aXZlRWxlbWVudCkmJihudWxsPT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudHx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWRvY3VtZW50LmJvZHl8fHRoaXMuX2RpYWxvZz8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpKXRyeXtzZXRUaW1lb3V0KCgoKT0+e3RoaXMuX3ByZXZBY3RpdmVFbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSl9KSl9Y2F0Y2h7fWZvcihjb25zdCB0IG9mIHRoaXMuX2NsZWFuVXBGdW5jdGlvbnMpdCgpOyh0aGlzLl9pc0Z1bGxTY3JlZW4oKXx8dGhpcy5wcm9wcy5maXhlZEJvZHkpJiYoMCxmLnNldEZpeGVkQm9keVN0YXRlKSghMSksdGhpcy5faXNGdWxsU2NyZWVuKCkmJnRoaXMuX2V2ZW50RGlzcGF0Y2hlci5kaXNwYXRjaCgiZGlhbG9nLWZ1bGxzY3JlZW4tb2ZmIiksdGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctY2xvc2UiKX1mb2N1cygpe3RoaXMuX2RpYWxvZyYmdGhpcy5fZGlhbG9nLmZvY3VzKCl9Y2VudGVyQW5kRml0KCl7dGhpcy5fcmVzaXplJiZ0aGlzLl9yZXNpemUuY2VudGVyQW5kRml0KCl9cmVjYWxjdWxhdGVCb3VuZHMoKXt0aGlzLl9yZXNpemUmJnRoaXMuX3Jlc2l6ZS5yZWNhbGN1bGF0ZUJvdW5kcygpfV9tb3ZlVG9Ub3AoKXt0aGlzLnByb3BzLmlzWkluZGV4Rml4ZWR8fG51bGwhPT10aGlzLmNvbnRleHQmJnRoaXMuY29udGV4dC5tb3ZlVG9Ub3AoKX1fYXBwbHlBbmltYXRpb25DU1NWYXJpYWJsZXMoKXtyZXR1cm57Ii0tYW5pbWF0aW9uVHJhbnNsYXRlU3RhcnRYIjpudWxsLCItLWFuaW1hdGlvblRyYW5zbGF0ZVN0YXJ0WSI6bnVsbCwiLS1hbmltYXRpb25UcmFuc2xhdGVFbmRYIjpudWxsLCItLWFuaW1hdGlvblRyYW5zbGF0ZUVuZFkiOm51bGx9fV9hcHBseUFwcGVhcmFuY2VBbmltYXRpb24odCl7aWYodGhpcy5fcmVzaXplJiZ0aGlzLl9kaWFsb2cpe2NvbnN0e3g6ZSx5Oml9PXQse3g6byx5OnN9PXRoaXMuX3Jlc2l6ZS5nZXREaWFsb2dzVG9wTGVmdENvb3JkaW5hdGVzKCk7dGhpcy5fZGlhbG9nLnN0eWxlLnNldFByb3BlcnR5KCItLWFuaW1hdGlvblRyYW5zbGF0ZVN0YXJ0WCIsYCR7ZX1weGApLHRoaXMuX2RpYWxvZy5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1hbmltYXRpb25UcmFuc2xhdGVTdGFydFkiLGAke2l9cHhgKSx0aGlzLl9kaWFsb2cuc3R5bGUuc2V0UHJvcGVydHkoIi0tYW5pbWF0aW9uVHJhbnNsYXRlRW5kWCIsYCR7b31weGApLHRoaXMuX2RpYWxvZy5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1hbmltYXRpb25UcmFuc2xhdGVFbmRZIixgJHtzfXB4YCksdGhpcy5fZGlhbG9nLmNsYXNzTGlzdC5hZGQody5kaWFsb2dBbmltYXRlZEFwcGVhcmFuY2UpfX1faGFuZGxlVG9vbHRpcEZpdCgpe2lmKHRoaXMuX3Jlc2l6ZSl7Y29uc3QgdD10aGlzLl9yZXNpemUuZ2V0RGlhbG9nc1RvcExlZnRDb29yZGluYXRlcygpLnktcGFyc2VJbnQoYik+PTA7dGhpcy5zZXRTdGF0ZSh7Y2FuRml0VG9vbHRpcDp0fSl9fV9pc0Z1bGxTY3JlZW4oKXtyZXR1cm4gQm9vbGVhbih0aGlzLnByb3BzLmZ1bGxzY3JlZW4pfX1TLmNvbnRleHRUeXBlPV8uUG9ydGFsQ29udGV4dCxTLmRlZmF1bHRQcm9wcz17Ym91bmRCeVNjcmVlbjohMCxkcmFnZ2FibGU6ITAsY2VudGVyZWRPbk1vdW50OiEwLHNob3VsZFJldHVybkZvY3VzOiEwfTtjb25zdCBGPSgwLGMubWFrZU92ZXJsYXBhYmxlKShTLCEwKX0sNTMxOTI4KHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2NsYW1wUG9zaXRpb246KCk9PnIsY2xhbXBTZWdtZW50OigpPT5hLGZpbmREZWZhdWx0Rm9jdXNhYmxlRWxlbWVudDooKT0+ZCxwb3NpdGlvbkZyb21Nb3VzZUV2ZW50OigpPT5oLHBvc2l0aW9uRnJvbVRvdWNoRXZlbnQ6KCk9PmMsc2ltdWxhdGVDbGljazooKT0+bH0pO3ZhciBvLHM9aSg2NDA3NDQpLG49aSg2ODIzODEpO2Z1bmN0aW9uIGEodCxlLGksbyl7cmV0dXJuIHQrZT5vJiYodD1vLWUpLHQ8aSYmKHQ9aSksdH1mdW5jdGlvbiByKHQpe3JldHVybnt4OigwLHMuY2xhbXApKHQueCwyMCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgtMjApLHk6KDAscy5jbGFtcCkodC55LDIwLHdpbmRvdy5pbm5lckhlaWdodC0yMCl9fWZ1bmN0aW9uIGwodCl7aWYodCBpbnN0YW5jZW9mIFNWR0VsZW1lbnQpe2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIlNWR0V2ZW50cyIpCjtlLmluaXRFdmVudCgiY2xpY2siLCEwLCEwKSx0LmRpc3BhdGNoRXZlbnQoZSl9dCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZ0LmNsaWNrKCl9ZnVuY3Rpb24gaCh0KXtyZXR1cm57eDp0LmNsaWVudFgseTp0LmNsaWVudFl9fWZ1bmN0aW9uIGModCl7cmV0dXJue3g6dC50b3VjaGVzWzBdLmNsaWVudFgseTp0LnRvdWNoZXNbMF0uY2xpZW50WX19ZnVuY3Rpb24gZCh0KXtjb25zdCBlPXQucXVlcnlTZWxlY3RvcigiW2F1dG9mb2N1c106bm90KFtkaXNhYmxlZF0pIik7aWYoZSlyZXR1cm4gZTtpZih0LnRhYkluZGV4Pj0wKXJldHVybiB0O2NvbnN0IGk9KDAsbi5nZXRBY3RpdmVFbGVtZW50U2VsZWN0b3JzKSgpLG89QXJyYXkuZnJvbSh0LnF1ZXJ5U2VsZWN0b3JBbGwoaSkpLmZpbHRlcigoMCxuLmNyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyKSh0KSk7bGV0IHM9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLGE9bnVsbDtmb3IobGV0IHQ9MDt0PG8ubGVuZ3RoO3QrKyl7Y29uc3QgZT1vW3RdLGk9ZS5nZXRBdHRyaWJ1dGUoInRhYmluZGV4Iik7aWYobnVsbCE9PWkpe2NvbnN0IHQ9cGFyc2VJbnQoaSwxMCk7IWlzTmFOKHQpJiZ0PnMmJihzPXQsYT1lKX19cmV0dXJuIGF9IWZ1bmN0aW9uKHQpe3RbdC5Nb3VzZUd1YXJkWm9uZT0yMF09Ik1vdXNlR3VhcmRab25lIn0ob3x8KG89e30pKX0sODA2NjkzKHQpe3QuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOS43MDcgOWw0LjY0Ny00LjY0Ni0uNzA3LS43MDhMOSA4LjI5MyA0LjM1NCAzLjY0NmwtLjcwOC43MDhMOC4yOTMgOWwtNC42NDcgNC42NDYuNzA4LjcwOEw5IDkuNzA3bDQuNjQ2IDQuNjQ3LjcwOC0uNzA3TDkuNzA3IDl6Ii8+PC9zdmc+J319XSk7"}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/27517.7361374dee2b52fd1f8e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.112Z","timestamp":1785141585112,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/27517.7361374dee2b52fd1f8e.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a3cc6da-496\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 25 Jun 2026 06:12:42 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/25/2026 11:16:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 69338d66f314fc265e6c188df97c1553\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1174,"size_decoded":1238,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1174), with no line terminators","md5":"0db50e194dea28f8430d5f045aa5bec9","sha1":"fad46e87214254999bcbc7feac303252f511f6f7","sha256":"f60a0b3330cc7599cd9e24065061be14fc7860c07e44078e58082431645ada61","sha512":"94febefd36fb157774b943a3102bae29f6c2521bf6d47bc1f5d985308e6908abde3260e3ab3e5f12e2531cca908f670c44e2df3336e393f4acc4efc591d40b58","ssdeep":"","tlshash":"aa21df31c5a4003a9defa0218fa09b1d421cbca6ed82199cd2bc6b6550ce37732edd98","first_seen":"2026-06-27T04:33:20.000295Z","last_seen":"2026-07-27T14:27:22.614623Z","times_seen":213,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtU2hNWTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLVNoTVk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCl9LndyYXAtdlNiNkMwQmp7Ym90dG9tOjA7Y3Vyc29yOmRlZmF1bHQ7aW5zZXQtaW5saW5lLWVuZDowO3BvaW50ZXItZXZlbnRzOmFsbDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt2aXNpYmlsaXR5OnZhcigtLW92ZXJsYXktc2Nyb2xsYmFyLXYtdmlzaWJpbGl0eSx2YXIoLS1vdmVybGF5LXNjcm9sbGJhci12aXNpYmlsaXR5LHZpc2libGUpKTt3aWR0aDo4cHg7d2lsbC1jaGFuZ2U6aGVpZ2h0fS53cmFwLS1ob3Jpem9udGFsLXZTYjZDMEJqe2hlaWdodDo4cHg7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO3RvcDphdXRvO3Zpc2liaWxpdHk6dmFyKC0tb3ZlcmxheS1zY3JvbGxiYXItaC12aXNpYmlsaXR5LHZhcigtLW92ZXJsYXktc2Nyb2xsYmFyLXZpc2liaWxpdHksdmlzaWJsZSkpO3dpbGwtY2hhbmdlOndpZHRofS5iYXItdlNiNkMwQmp7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7d2lsbC1jaGFuZ2U6aGVpZ2h0LHRyYW5zZm9ybX0uYmFyLXZTYjZDMEJqIC5iYXJJbm5lci12U2I2QzBCantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVNoTVkpO2JvcmRlci1yYWRpdXM6MnB4O2hlaWdodDpjYWxjKDEwMCUgLSA0cHgpO3dpZHRoOjRweH0uYmFyLXZTYjZDMEJqIC5iYXJJbm5lci0taG9yaXpvbnRhbC12U2I2QzBCantoZWlnaHQ6NHB4O3dpZHRoOmNhbGMoMTAwJSAtIDRweCl9LmJhci0taG9yaXpvbnRhbC12U2I2QzBCantoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDt0b3A6MDt3aWR0aDphdXRvO3dpbGwtY2hhbmdlOndpZHRoLHRyYW5zZm9ybX0uc2Nyb2xsV3JhcC1GYU92VEQycnstLW92ZXJsYXktc2Nyb2xsYmFyLXZpc2liaWxpdHk6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lsbC1jaGFuZ2U6dmlzaWJpbGl0eX0uc2Nyb2xsV3JhcF92aXNpYmxlLUZhT3ZURDJyey0tb3ZlcmxheS1zY3JvbGxiYXItdmlzaWJpbGl0eTp2aXNpYmxlfQ=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/9504.90377f7d5946cf3254f0.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.115Z","timestamp":1785141585115,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/9504.90377f7d5946cf3254f0.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1365\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5858a37ee6c2f3e05282620630ada907\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4965,"size_decoded":1585,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4965), with no line terminators","md5":"a7c93739d7d8d58ba0894f0a27b2c682","sha1":"b48b0a418f53c6dbb761db96de6488ae85eb133e","sha256":"a965093d2af77ac0200f0ea479b8a52ee4ea68bca04e3e665e8de17120e5a57e","sha512":"14f6b7249ddd5e1f7132a9c9935bf3e702cc8735c81cfd3e2574cb38224ea2d416a7a876fc0472376db26d154f4909a69d75432d4073ad220212a6186da08d13","ssdeep":"48:wfElnMoEhjO3VOgXmhFhR60XBWjzfDnCzhHkvhtflWkvhtcnSnisnSnigtSnSnij:hi776O9lr8D8/t88YY8/K5ncbs6v2U","tlshash":"eca15b43b5c4ac747e42a6dc73fc62dcb2d1ac71ed0205d2d631ad628ccabf72091aa5","first_seen":"2026-07-16T13:40:49.666975Z","last_seen":"2026-07-27T14:36:17.48724Z","times_seen":294,"resource_available":false,"data":"Lnh4eHNtYWxsLUFmZDZ0NFpqey0tdWktbGliLXByaXZhdGUtY291bnRlci1zaXplOjB9Lnh4c21hbGwtQWZkNnQ0Wmp7LS11aS1saWItcHJpdmF0ZS1jb3VudGVyLXNpemU6MX0ueHNtYWxsLUFmZDZ0NFpqey0tdWktbGliLXByaXZhdGUtY291bnRlci1zaXplOjJ9LnNtYWxsLUFmZDZ0NFpqey0tdWktbGliLXByaXZhdGUtY291bnRlci1zaXplOjN9Lm1lZGl1bS1BZmQ2dDRaanstLXVpLWxpYi1wcml2YXRlLWNvdW50ZXItc2l6ZTo0fS5sYXJnZS1BZmQ2dDRaanstLXVpLWxpYi1wcml2YXRlLWNvdW50ZXItc2l6ZTo1fS54bGFyZ2UtQWZkNnQ0Wmp7LS11aS1saWItcHJpdmF0ZS1jb3VudGVyLXNpemU6Nn0uY291bnRlci1BZmQ2dDRaanthbGlnbi1pdGVtczpjZW50ZXI7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjpib3R0b207LS11aS1saWItc2l6ZS1kZWY6dmFyKC0tdWktbGliLWluLWNvdW50ZXItc2l6ZSx2YXIoLS11aS1saWItcHJpdmF0ZS1jb3VudGVyLXNpemUsNCkpOy0tdWktbGliLXNpemUtZGVmLXh4eHNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDApICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAwKSkpOy0tdWktbGliLXNpemUtZGVmLXh4c21hbGw6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDEpKSk7LS11aS1saWItc2l6ZS1kZWYteHNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDIpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAyKSkpOy0tdWktbGliLXNpemUtZGVmLXNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDMpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSkpOy0tdWktbGliLXNpemUtZGVmLW1lZGl1bTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA0KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkpKTstLXVpLWxpYi1zaXplLWRlZi1sYXJnZTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA1KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkpKTstLXVpLWxpYi1zaXplLWRlZi14bGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNikgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDYpKSk7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHhzbWFsbCkqM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXh4c21hbGwpKjVweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjdweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqOXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoxMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMTJweCk7Zm9udC1zaXplOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTJweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjEycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjE0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxNHB4KTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjUwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNDAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNDAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo0MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo1MDApO2hlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHhzbWFsbCkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXh4c21hbGwpKjEwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjI0cHgpO2xpbmUtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjE4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxOHB4KTttaW4td2lkdGg6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHh4c21hbGwpKjZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHNtYWxsKSoxMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjIwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoyNHB4KTtwYWRkaW5nLWlubGluZS1lbmQ6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHh4c21hbGwpKjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHNtYWxsKSowcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSozLjVweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo1cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo3LjVweCk7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHh4c21hbGwpKjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHNtYWxsKSowcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSozcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqM3B4KTtwYWRkaW5nLWlubGluZS1zdGFydDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHhzbWFsbCkqMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXh4c21hbGwpKjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjMuNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSo0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSo2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjVweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjcuNXB4KTtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHhzbWFsbCkqMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXh4c21hbGwpKjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSozcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSozcHgpfS5jb2xvci1kYW5nZXItQWZkNnQ0Wmp7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWZpbGwtZGFuZ2VyKTtjb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWNvbnRlbnQtZGFuZ2VyKX0uY29sb3ItYWNjZW50LUFmZDZ0NFpqe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY291bnRlci1maWxsLWFjY2VudCk7Y29sb3I6dmFyKC0tY29sb3ItY291bnRlci1jb250ZW50LWFjY2VudCl9LmNvbG9yLWFjY2VudC1saWdodC1BZmQ2dDRaantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQtbGlnaHQpO2NvbG9yOnZhcigtLWNvbG9yLWNvdW50ZXItY29udGVudC1hY2NlbnQtbGlnaHQpfS5jb2xvci1uZXV0cmFsLWJvbGQtQWZkNnQ0Wmp7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbC1ib2xkKTtjb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWNvbnRlbnQtbmV1dHJhbC1ib2xkKX0uY29sb3ItbmV1dHJhbC1BZmQ2dDRaantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsKTtjb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWNvbnRlbnQtbmV1dHJhbCl9LmJvcmRlckNvbG9yLXByaW1hcnktQWZkNnQ0Wmp7LS11aS1saWItY291bnRlci1ib3JkZXItb3V0bGluZS1wcmltYXJ5OnNvbGlkIDJweCB2YXIoLS1jb2xvci1jb3VudGVyLWJvcmRlci1wcmltYXJ5KTtvdXRsaW5lOnZhcigtLXVpLWxpYi1jb3VudGVyLWJvcmRlci1vdXRsaW5lLXByaW1hcnkpfS5ib3JkZXJDb2xvci1zZWNvbmRhcnktQWZkNnQ0Wmp7LS11aS1saWItY291bnRlci1ib3JkZXItb3V0bGluZS1zZWNvbmRhcnk6c29saWQgMnB4IHZhcigtLWNvbG9yLWNvdW50ZXItYm9yZGVyLXNlY29uZGFyeSk7b3V0bGluZTp2YXIoLS11aS1saWItY291bnRlci1ib3JkZXItb3V0bGluZS1zZWNvbmRhcnkpfS5ib3JkZXJDb2xvci10ZXJ0aWFyeS1BZmQ2dDRaanstLXVpLWxpYi1jb3VudGVyLWJvcmRlci1vdXRsaW5lLXRlcnRpYXJ5OnNvbGlkIDJweCB2YXIoLS1jb2xvci1jb3VudGVyLWJvcmRlci10ZXJ0aWFyeSk7b3V0bGluZTp2YXIoLS11aS1saWItY291bnRlci1ib3JkZXItb3V0bGluZS10ZXJ0aWFyeSl9LmRpc2FibGVkLUFmZDZ0NFpqe29wYWNpdHk6LjV9"}},"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":"widget-v3.smartsuppcdn.com/assets/main-B-VHc1K4.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.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://oxlofttrd.com/","date":"2026-07-27T08:39:47.511Z","timestamp":1785141587511,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/main-B-VHc1K4.js HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://oxlofttrd.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 08:39:47 GMT\r\ncontent-type: application/javascript\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a670743-3f99\"\r\nexpires: Tue, 27 Jul 2027 07:27:08 GMT\r\nlast-modified: Mon, 27 Jul 2026 07:22:43 GMT\r\nx-77-nzt: k+230qX2B4fNiaah3LoeKnFB1NPXs5z4VuEGbQIsfOIVo7kugZhaMLVpzJ3fLADezpUczlo\r\nx-77-nzt-ray: e2f75420e61480335319676abd25b41e\r\nx-77-cache: HIT\r\nx-77-age: 4326\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":16281,"size_decoded":6833,"mime_type":"application/javascript","magic":"Java source, ASCII text, with very long lines (15873)","md5":"44df6240c839beea4111582dddf02793","sha1":"4b4dd2241d5ff95eba46fb8893058404630825cd","sha256":"a4019ee0c737ef5d214e80e5a87a5a6e839ff2cf4e286cdad9ed6ff397eba250","sha512":"2f30c45b38eeb4a1900f295893fa30362dce2af015cb8eac6b997795ff4b72db55a92d8d38bb7a8cc8f529c612906aa9d2a2a41539c6a67052ae569733ff7e02","ssdeep":"384:Xrgi5RFMkSjJOE/0BW2rvZZ795P6nrnBOVmPCRkXQbpaIF2x:XEizlSjJOEiWYPR5P6rnBOVmycQbpaIi","tlshash":"6c72d7742700783f712f489e15ade546b232c29dd693892d8b2fec0976c5cc0a8b37b9","first_seen":"2026-07-27T07:28:16.135673Z","last_seen":"2026-07-27T15:05:49.437916Z","times_seen":911,"resource_available":true,"data":"Y29uc3QgX192aXRlX19tYXBEZXBzPShpLG09X192aXRlX19tYXBEZXBzLGQ9KG0uZnx8KG0uZj1bd2luZG93LnBhcmVudC5zbWFydHN1cHAuZ2V0QXNzZXRVcmwoImFzc2V0cy9XaWRnZXRNZXNzZW5nZXItRDFpVlkzTGouanMiKSx3aW5kb3cucGFyZW50LnNtYXJ0c3VwcC5nZXRBc3NldFVybCgiYXNzZXRzL3NoYXJlZC1rYjF5cUhhQS5qcyIpLHdpbmRvdy5wYXJlbnQuc21hcnRzdXBwLmdldEFzc2V0VXJsKCJhc3NldHMvV2lkZ2V0TWVzc2VuZ2VySW5wdXQtREhyNXVId2QuanMiKSx3aW5kb3cucGFyZW50LnNtYXJ0c3VwcC5nZXRBc3NldFVybCgiYXNzZXRzL1dpZGdldFBvcHVwLUJBMWpjSG51LmpzIildKSkpPT5pLm1hcChpPT5kW2ldKTsKaW1wb3J0e0EgYXMgZSxBaSBhcyB0LEFyIGFzIG4sQXQgYXMgcixCIGFzIGksQmkgYXMgYSxDIGFzIG8sQ2kgYXMgcyxEIGFzIGMsRGkgYXMgbCxFIGFzIHUsRWkgYXMgZCxHaSBhcyBmLEdyIGFzIHAsSGkgYXMgbSxIbiBhcyBoLEhyIGFzIGcsSSBhcyBfLElpIGFzIHYsSiBhcyB5LEppIGFzIGIsS2kgYXMgeCxLciBhcyBTLExpIGFzIEMsTSBhcyBlZSxOIGFzIHRlLE5pIGFzIHcsTyBhcyBuZSxPciBhcyByZSxQaSBhcyBpZSxQciBhcyBhZSxQdCBhcyBvZSxSIGFzIHNlLFMgYXMgY2UsU2kgYXMgbGUsVCBhcyB1ZSxUaSBhcyBULFVpIGFzIGRlLFVyIGFzIEUsVmkgYXMgRCxXaSBhcyBmZSxXbiBhcyBwZSxXdCBhcyBtZSxYaSBhcyBPLFhyIGFzIGssWHQgYXMgaGUsWSBhcyBnZSxZaSBhcyBBLFluIGFzIGosWXIgYXMgX2UsWmkgYXMgTSxaciBhcyB2ZSxfIGFzIHllLGEgYXMgYmUsYWEgYXMgTixiIGFzIHhlLGJpIGFzIFAsY2EgYXMgRixkIGFzIFNlLGRpIGFzIENlLGR0IGFzIHdlLGVhIGFzIFRlLGVpIGFzIEksZiBhcyBFZSxmaSBhcyBMLGggYXMgRGUsaGkgYXMgUixpIGFzIHosaWEgYXMgQixqIGFzIE9lLGppIGFzIFYsam4gYXMga2Usa2kgYXMgQWUsa3IgYXMgamUsbCBhcyBNZSxsYSBhcyBOZSxsaSBhcyBILG0gYXMgUGUsbWkgYXMgRmUsbiBhcyBJZSxuYSBhcyBMZSxvIGFzIFUsb2kgYXMgVyxvciBhcyBHLHBpIGFzIEsscSBhcyBSZSxxbiBhcyB6ZSxyIGFzIHEscyBhcyBCZSx0IGFzIFZlLHRhIGFzIEhlLHRpIGFzIEosdSBhcyBVZSx1aSBhcyBZLHcgYXMgWCx3aSBhcyBaLHggYXMgV2UseGkgYXMgR2UseSBhcyBLZSx5aSBhcyBxZX1mcm9tIi4vc2hhcmVkLWtiMXlxSGFBLmpzIjt2YXIgSmU9ZChgPGRpdj48IT48L2Rpdj5gKTtmdW5jdGlvbiBZZShlLHQpe04odCwhMCk7bGV0IG49eChudWxsKSxyPWAke1MoKS5TTUFSVFNVUFBfQVVUT0NSRUFURT09PSExP2cod2luZG93KS5pZDpgc21hcnRzdXBwYH0td2lkZ2V0LWNvbnRhaW5lcmA7aygoKT0+e3cobikmJnAoKS5ib2R5LmFwcGVuZENoaWxkKHcobikpfSksX2UoKCk9PntwKCkuZ2V0RWxlbWVudEJ5SWQocik/LnJlbW92ZSgpfSk7dmFyIGk9SmUoKTtSKGEoaSksKCk9PnQuY2hpbGRyZW4/P05lKSxGKGkpLEooaSxlPT5mKG4sZSksKCk9PncobikpLHYoKCk9PlcoaSxgaWRgLHIpKSxaKGUsaSksQigpfXZhciBYZT1kKGA8aWZyYW1lIGFsbG93ZnVsbHNjcmVlbj0iIiBzY3JvbGxpbmc9Im5vIj48L2lmcmFtZT5gKTtmdW5jdGlvbiBRKGUsdCl7Tih0LCEwKTtsZXQgbj0oKT0+TShjLGAkdGhlbWVDb2xvcmAsciksW3IsaV09TygpLGE9eCh2b2lkIDApLG89eChudWxsKSxsO0MoKCk9Pnt3KG8pJiZ1KHcobykpfSksQygoKT0+e3cobykmJmQobigpKX0pO2xldCB1PWFzeW5jIGU9PntsJiZhd2FpdCBzKGwpLGUmJnQuY29tcG9uZW50JiYobD1HZSh0LmNvbXBvbmVudCx7dGFyZ2V0OmUuYm9keX0pKX0sZD1lPT57dyhvKSYmbmUodyhvKSxlKX0scD1lPT57aWYoIXcobykpcmV0dXJuO2xldCB0PXcobykuY3JlYXRlRWxlbWVudChgc3R5bGVgKTtyZXR1cm4gdC50ZXh0Q29udGVudD1lLHcobykuaGVhZC5hcHBlbmRDaGlsZCh0KSx0fSxtPSgpPT57Zm9yKGxldCBlIG9mIHdpbmRvdy5kb2N1bWVudC5zdHlsZVNoZWV0cyl7bGV0IHQ9YGA7dHJ5e3Q9Wy4uLmUuY3NzUnVsZXNdLm1hcChlPT5lLmNzc1RleHQpLmpvaW4oYGApfWNhdGNoe2NvbnRpbnVlfWlmKCFwKHQpKXJldHVybn19LGg9KCk9PnshdyhhKXx8IXcoYSkuY29udGVudERvY3VtZW50fHwoZihvLHcoYSkuY29udGVudERvY3VtZW50LCEwKSxtKCkpfTtrKGFzeW5jKCk9Pnthd2FpdCBpZSgpLHcoYSk/LmNvbnRlbnREb2N1bWVudCYmdyhhKS5jb250ZW50RG9jdW1lbnQucmVhZHlTdGF0ZT09PWBjb21wbGV0ZWAmJncoYSkuY29udGVudERvY3VtZW50LmRlZmF1bHRWaWV3P2goKTp3KGEpPy5hZGRFdmVudExpc3RlbmVyKGBsb2FkYCxoKX0pLF9lKGFzeW5jKCk9Pnt3KGEpJiZ3KGEpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYGxvYWRgLGgpLGwmJmF3YWl0IHMobCl9KTt2YXIgZz1YZSgpO0ooZyxlPT5mKGEsZSksKCk9PncoYSkpLHYoKCk9PntXKGcsYGlkYCx0LmlkKSxXKGcsYHRpdGxlYCx0LnRpdGxlKSxIKGcsdC5mcmFtZVN0eWxlKX0pLFooZSxnKSxCKCksaSgpfXZhciBaZT1sKGA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDY0IDY0IiBmaWxsPSJjdXJyZW50Q29sb3IiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPjxwYXRoIGQ9Ik02My4xMTMsMTguNTF2LS4xNkM2MC4zMjMsNy4wNSw0NC41ODIsMywzMS45NzIsM1MzLjU4Miw3LC43OTIsMTguNWE2Ni4yMiw2Ni4yMiwwLDAsMCwwLDIwLjQ2YzEuMTgsNC43NCw1LjA1LDguNjMsMTEuMzYsMTEuNDFsLTQsNUEzLjQ3LDMuNDcsMCwwLDAsMTAuODgyLDYxYTMuMzksMy4zOSwwLDAsMCwxLjQ0LS4zMUwyNi44NjIsNTRjMS43OS4xOCwzLjQ5LjI3LDUuMDcuMjcsMTEuMDQuMDQsMjguNDEtNC4wNCwzMS4xOC0xNS40M2E2MC4zMyw2MC4zMywwLDAsMCwwLTIwLjMzWiI+PC9wYXRoPjwvc3ZnPmApO2Z1bmN0aW9uIFFlKGUsdCl7bGV0IG49dmUodCxgaWNvblNpemVgLDMsMTYpO3ZhciByPVplKCk7digoKT0+e1cocixgd2lkdGhgLG4oKSksVyhyLGBoZWlnaHRgLG4oKSl9KSxaKGUscil9ZnVuY3Rpb24gJGUoZSx0KXtOKHQsITApO2xldCBuPXgoITEpO2soKCk9PntmKG4sITApfSk7dmFyIHI9VCgpLGk9RChyKSxhPWU9Pnt2YXIgbj1UKCk7UihEKG4pLCgpPT50LmNoaWxkcmVuPz9OZSksWihlLG4pfTtQKGksZT0+e3cobikmJmUoYSl9KSxaKGUsciksQigpfXZhciBldD1kKGA8ZGl2IGNsYXNzPSJ0cmFuc2Zvcm0gdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOnNjYWxlLTExNSI+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gdHQoZSl7JGUoZSx7Y2hpbGRyZW46KGUsdCk9Pnt2YXIgbj1ldCgpO1FlKGEobikse2ljb25TaXplOjI0fSksRihuKSxLKDMsbiwoKT0+QmUsKCk9Pih7ZGVsYXk6MjAwLGR1cmF0aW9uOjMwMCxzdGFydDouNixvcGFjaXR5Oi44fSkpLFooZSxuKX0sJCRzbG90czp7ZGVmYXVsdDohMH19KX12YXIgbnQ9ZChgPGRpdiBjbGFzcz0icC0xIj48ZGl2IGNsYXNzPSJmbGV4LWNlbnRlciB3LTEyIGgtMTIgYmctd2hpdGUgYmctb3BhY2l0eS0xMCByb3VuZGVkLWZ1bGwiPjwhPjwvZGl2PjwvZGl2PmApO2Z1bmN0aW9uIHJ0KGUpe3ZhciB0PW50KCksbj1hKHQpO3R0KGEobikse30pLEYobiksRih0KSxaKGUsdCl9dmFyIGl0PWQoYDxkaXYgY2xhc3M9ImZsZXgiPjxkaXYgY2xhc3M9ImZsZXgtY2VudGVyIHdoaXRlc3BhY2Utbm93cmFwIHBsLTQgcHItMSI+IDwvZGl2PiA8IT48L2Rpdj5gKTtmdW5jdGlvbiBhdChlLHQpe04odCwhMSk7bGV0IG49KCk9Pk0oaixgJHRgLHIpLFtyLGldPU8oKSxvPWZlKCk7aygoKT0+e2xldCBlPU1hdGguY2VpbCh3KG8pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKTtVZS5zZXQoZSl9KSxJKCk7dmFyIHM9aXQoKSxjPWEocyksbD1hKGMsITApO0YoYykscnQobShjLDIpLHt9KSxGKHMpLEoocyxlPT5mKG8sZSksKCk9PncobykpLHYoZT0+e1coYyxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0QnV0dG9uVGV4dCksbGUobCxlKX0sWygpPT5uKCkoYGJ1dHRvbi5ncmVldGluZ2ApXSksWihlLHMpLEIoKSxpKCl9dmFyIG90PWQoYDxkaXYgaWQ9IndpZGdldC1vbmxpbmUtYmFkZ2UiIGNsYXNzPSJhYnNvbHV0ZSBsZWZ0LTAgYm90dG9tLTAgdy0yIGgtMiBwLTEuNSBiZy1ncmVlbi00MDAgcm91bmRlZC1mdWxsIGJvcmRlci0yIGJvcmRlci13aGl0ZSI+PC9kaXY+YCk7ZnVuY3Rpb24gc3QoZSx0KXtOKHQsITEpO2xldCBuPSgpPT5NKGtlLGAkaXNXaWRnZXRPbmxpbmVgLHIpLFtyLGldPU8oKTtJKCk7dmFyIGE9VCgpLG89RChhKSxzPWU9Pnt2YXIgdD1vdCgpO3YoKCk9PlcodCxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0T25saW5lQmFkZ2UpKSxLKDMsdCwoKT0+QmUpLFooZSx0KX07UChvLGU9PntuKCkmJmUocyl9KSxaKGUsYSksQigpLGkoKX12YXIgY3Q9ZChgPGRpdiBpZD0id2lkZ2V0LXVucmVhZC1tZXNzYWdlcy1iYWRnZSIgY2xhc3M9ImFic29sdXRlIHJpZ2h0LTAgdG9wLTAgbWluLXctNSBoLTUgZmxleC1jZW50ZXIgcHgtMSB0ZXh0LXdoaXRlIGJnLXJlZC02MDAgdGV4dC14cyByb3VuZGVkLWZ1bGwgc2hhZG93Ij4gPC9kaXY+YCk7ZnVuY3Rpb24gbHQoZSx0KXtOKHQsITApO2xldCBuPSgpPT5NKGhlLGAkdW5yZWFkTWVzc2FnZXNDb3VudGAsciksW3IsaV09TygpLG89QSgoKT0+bigpPjApO3ZhciBzPVQoKSxjPUQocyksbD1lPT57dmFyIHQ9Y3QoKSxyPWEodCwhMCk7Rih0KSx2KCgpPT57Vyh0LGBkYXRhLXRlc3RpZGAsRy53aWRnZXRVbnJlYWRNZXNzYWdlc0JhZGdlKSxsZShyLG4oKT45OT9gOTkrYDpuKCkpfSksSygzLHQsKCk9PkJlKSxaKGUsdCl9O1AoYyxlPT57dyhvKSYmZShsKX0pLFooZSxzKSxCKCksaSgpfXZhciB1dD1kKGA8ZGl2IGNsYXNzPSJoLWZ1bGwgdy1mdWxsIGZpeGVkIGZsZXgganVzdGlmeS1lbmQgYm9yZGVyLXJvdW5kZWQtZnVsbCI+PGRpdiByb2xlPSJidXR0b24iIGNsYXNzPSJncm91cCBmbGV4LWNlbnRlciB3LWZ1bGwgYmctcHJpbWFyeS1ncmFkaWVudCBiZy1wcmltYXJ5LWdyYWRpZW50LWhvdmVyIHRleHQtcHJpbWFyeS1jb250ZW50IHJvdW5kZWQtZnVsbCBvdmVyZmxvdy1oaWRkZW4gY3Vyc29yLXBvaW50ZXIgY29udGVudC1mb2N1cy1zZWNvbmRhcnkiPjwhPiA8IT48L2Rpdj4gPCE+PC9kaXY+YCk7ZnVuY3Rpb24gZHQoZSxuKXtOKG4sITEpO2xldCBpPSgpPT5NKGosYCR0YCxzKSxvPSgpPT5NKERlLGAkaXNXaWRnZXRCdXR0b25CdWJibGVgLHMpLFtzLGNdPU8oKTtJKCk7dmFyIGw9dXQoKSx1PWEobCk7Vyh1LGB0YWJpbmRleGAsMCk7dmFyIGQ9YSh1KSxmPWU9Pnt0dChlLHt9KX0scD1lPT57YXQoZSx7fSl9O1AoZCxlPT57bygpP2UoZik6ZShwLC0xKX0pLHN0KG0oZCwyKSx7fSksRih1KSxsdChtKHUsMikse30pLEYobCksdihlPT57Vyh1LGBhcmlhLWxhYmVsYCxlKSxXKHUsYGRhdGEtdGVzdGlkYCxHLndpZGdldEJ1dHRvbil9LFsoKT0+aSgpKGBhcmlhTGFiZWwub3BlbkNoYXRgKV0pLHQoYGNsaWNrYCx1LCgpPT5zZSgpKSxWKGBrZXlwcmVzc2AsdSxlPT5lLmtleT09PXIuRW50ZXImJnNlKCkpLFooZSxsKSxCKCksYygpfUFlKFtgY2xpY2tgXSk7dmFyIGZ0PWQoYDxkaXY+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gcHQoZSx0KXtOKHQsITApO2xldCBuPSgpPT5NKFNlLGAkYnV0dG9uRnJhbWVXaWR0aGAscykscj0oKT0+TSh0ZSxgJHNob3VsZFJlbmRlckJ1dHRvbkZyYW1lYCxzKSxpPSgpPT5NKERlLGAkaXNXaWRnZXRCdXR0b25CdWJibGVgLHMpLG89KCk9Pk0oaixgJHRgLHMpLFtzLGNdPU8oKSxsPXgodm9pZCAwKSxkPWU9Pnt3KGwpJiYodyhsKS5zdHlsZS53aWR0aD1gJHtlfXB4YCl9LHt3aWRnZXRCbG9ja2luZ09wdGlvbnM6cH09RS5nZXRPcHRpb25zKCk7QygoKT0+e3cobCkmJmQobigpKX0pO3ZhciBtPVQoKSxoPUQobSksZz1lPT57dmFyIHQ9ZnQoKTtsZXQgbjtxZShhKHQpLCgpPT5pKCl8fG8oKSxlPT57e2xldCB0PUEoWCk7UShlLHtnZXQgY29tcG9uZW50KCl7cmV0dXJuIGR0fSxnZXQgaWQoKXtyZXR1cm4gRy53aWRnZXRCdXR0b25GcmFtZX0sdGl0bGU6YFNtYXJ0c3VwcCB3aWRnZXQgYnV0dG9uYCxnZXQgZnJhbWVTdHlsZSgpe3JldHVybiB3KHQpfX0pfX0pLEYodCksSih0LGU9PmYobCxlKSwoKT0+dyhsKSksTCh0LGU9PktlPy4oZSkpLHYoZT0+e249SCh0LGBib3JkZXItcmFkaXVzOiA5OTk5cHg7IGJveC1zaGFkb3c6IHJnYigwIDAgMCAvIDYlKSAwcHggMXB4IDZweCwgcmdiKDAgMCAwIC8gJHtwPy5saW1pdFNoYWRvdz9gMjAlKSAwcHggMnB4IDEycHhgOmAxMiUpIDBweCAycHggMzJweGB9OyBjb2xvci1zY2hlbWU6IG5vcm1hbDtgLG4sZSksVyh0LGBkYXRhLXRlc3RpZGAsRy53aWRnZXRCdXR0b25GcmFtZSl9LFsoKT0+KHtoZWlnaHQ6dSg1Nil9KV0pLEsoMSx0LCgpPT5VLCgpPT4oe3k6MjAsZGVsYXk6MTUwLGR1cmF0aW9uOjMwMH0pKSxLKDIsdCwoKT0+YmUsKCk9Pih7ZHVyYXRpb246MjUwfSkpLFooZSx0KX07UChoLGU9PntyKCkmJmUoZyl9KSxaKGUsbSksQigpLGMoKX12YXIgJD1mdW5jdGlvbihlKXtyZXR1cm4gZVtlLkluaXRpYWxpemVkPTBdPWBJbml0aWFsaXplZGAsZVtlLkxvYWRpbmc9MV09YExvYWRpbmdgLGVbZS5TdWNjZXNzPTJdPWBTdWNjZXNzYCxlW2UuRXJyb3I9M109YEVycm9yYCxlfSh7fSksbXQ9bmV3IE1hcCxodD1hc3luYyBlPT57bGV0IHQ9KGF3YWl0IGUoKSkuZGVmYXVsdDtyZXR1cm4gbXQuc2V0KGUsdCksdH07ZnVuY3Rpb24gZ3QoZSx0KXtOKHQsITApO2xldCBuPXZlKHQsYGRlbGF5YCwzLDIwMCkscj14KGRlKCQuSW5pdGlhbGl6ZWQpKSxpPXgodm9pZCAwKSxhPXgodm9pZCAwKSxvPXgodm9pZCAwKSxzPUEoKCk9PncoaSkpLGM9KCk9Pnt3aW5kb3cuY2xlYXJUaW1lb3V0KHcobykpfSxsPWFzeW5jKCk9PntjKCksZihhLHZvaWQgMCksZihpLHZvaWQgMCksbigpPjA/KGYociwkLkluaXRpYWxpemVkLCEwKSxmKG8sd2luZG93LnNldFRpbWVvdXQoKCk9PntmKHIsJC5Mb2FkaW5nLCEwKX0sbigpKSwhMCkpOmYociwkLkxvYWRpbmcsITApO3RyeXtmKGksYXdhaXQgaHQodC5sb2FkZXIpLCEwKSxmKHIsJC5TdWNjZXNzLCEwKX1jYXRjaChlKXtpZihmKHIsJC5FcnJvciwhMCksZSBpbnN0YW5jZW9mIEVycm9yKWYoYSxlLCEwKTtlbHNlIHRocm93IGV9YygpfTttdC5oYXModC5sb2FkZXIpPyhmKHIsJC5TdWNjZXNzLCEwKSxmKGksbXQuZ2V0KHQubG9hZGVyKSwhMCkpOmsoKCk9PntsKCl9KTt2YXIgdT1UKCksZD1EKHUpLHA9ZT0+e3ZhciBuPVQoKTtSKEQobiksKCk9PnQuZXJyb3IsKCk9Pih7ZXJyb3I6dyhhKX0pKSxaKGUsbil9LG09ZT0+e3ZhciBuPVQoKTtSKEQobiksKCk9PnQubG9hZGluZyksWihlLG4pfSxoPWU9Pnt2YXIgdD1UKCk7RmUoRCh0KSwoKT0+dyhzKSwoZSx0KT0+e3QoZSx7fSl9KSxaKGUsdCl9O1AoZCxlPT57dyhyKT09PSQuRXJyb3ImJnQuZXJyb3I/ZShwKTp3KHIpPT09JC5Mb2FkaW5nP2UobSwxKTp3KHIpPT09JC5TdWNjZXNzJiZlKGgsMil9KSxaKGUsdSksQigpfXZhciBfdD0oKT0+YWUoKCk9PmltcG9ydChgLi9XaWRnZXRNZXNzZW5nZXItRDFpVlkzTGouanNgKSxfX3ZpdGVfX21hcERlcHMoWzAsMSwyXSksaW1wb3J0Lm1ldGEudXJsKSx2dD1lPT57dmFyIHQ9YnQoKSxuPWEodCkscj1hKG4pO3EoYShyKSx7c2l6ZTozMn0pLEYocik7dmFyIGk9bShyLDIpLG89YShpKTtxKG8se3NpemU6MzJ9KTt2YXIgcz1tKG8sMik7cShzLHtzaXplOjMyfSkscShtKHMsMikse3NpemU6MzJ9KSxGKGkpLEYobik7dmFyIGM9bShuLDIpLGw9YShjKTtxKGEobCkse3NpemU6NDR9KSxGKGwpO3ZhciB1PW0obCwyKSxkPWEodSk7eihkLHtoZWlnaHQ6MjAsd2lkdGg6MjcwfSkseihtKGQsMikse2hlaWdodDoyMCx3aWR0aDoxMjJ9KSxGKHUpLEYoYyk7dmFyIGY9bShjLDIpLHA9YShmKTtxKGEocCkse3NpemU6Mjh9KSxGKHApO3ZhciBoPW0ocCwyKTt6KGEoaCkse2hlaWdodDoxMTIsd2lkdGg6Mjk1LHJvdW5kZWRTdHlsZTpgcm91bmRlZC02YH0pLEYoaCksRihmKTt2YXIgZz1tKGYsMiksXz1hKGcpO3ooXyx7aGVpZ2h0OjMyLHdpZHRoOjI5NX0pO3ZhciB2PW0oXywyKTt6KHYse2hlaWdodDozMix3aWR0aDoxNDh9KSx6KG0odiwyKSx7aGVpZ2h0OjMyLHdpZHRoOjIyNH0pLEYoZyksRih0KSxaKGUsdCl9LHl0PShlLHQpPT57bGV0IG49KCk9PnQ/LigpLmVycm9yO3ZhciByPXh0KCksaT1tKGEociksMiksbz1hKGksITApO0YoaSksRihyKSx2KCgpPT5sZShvLG4oKSkpLFooZSxyKX0sYnQ9ZChgPGRpdiBjbGFzcz0iaC1mdWxsIHAtMiBiZy13aGl0ZSIgaWQ9IlRPRE8gdGVzdCI+PGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4iPjxkaXYgY2xhc3M9ImZsZXgiPjwhPjwvZGl2PiA8ZGl2IGNsYXNzPSJmbGV4IHNwYWNlLXgtMiI+PCE+IDwhPiA8IT48L2Rpdj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleCBtdC0yIj48ZGl2IGNsYXNzPSJmbGV4IG1sLTEgbXItMiI+PCE+PC9kaXY+IDxkaXYgY2xhc3M9ImZsZXgtYm90dG9tIHNwYWNlLXktMiI+PCE+IDwhPjwvZGl2PjwvZGl2PiA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWJhc2VsaW5lIG10LTgiPjxkaXYgY2xhc3M9ImZsZXggbWwtMSBtci0yIj48IT48L2Rpdj4gPGRpdiBjbGFzcz0ic3BhY2UteS0yIj48IT48L2Rpdj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBpdGVtcy1lbmQgc3BhY2UteS01IG10LTggbXItMSI+PCE+IDwhPiA8IT48L2Rpdj48L2Rpdj5gKSx4dD1kKGA8ZGl2IGNsYXNzPSJoLWZ1bGwgcC00IGJnLXdoaXRlIHRleHQtcmVkLTUwMCI+PGRpdiBjbGFzcz0idGV4dC1sZyBmb250LWJvbGQiPkZhaWxlZCB0byBsb2FkIHdpZGdldDwvZGl2PiA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIj4gPC9kaXY+PC9kaXY+YCk7ZnVuY3Rpb24gU3QoZSl7Z3QoZSx7Z2V0IGxvYWRlcigpe3JldHVybiBfdH0sZGVsYXk6MCxnZXQgZXJyb3IoKXtyZXR1cm4geXR9LGdldCBsb2FkaW5nKCl7cmV0dXJuIHZ0fX0pfXZhciBDdD1kKGA8ZGl2PjwhPjwvZGl2PmApO2Z1bmN0aW9uIHd0KGUsdCl7Tih0LCEwKTtsZXQgcj0oKT0+TShqZSxgJGlzRnVsbFNjcmVlbkVuYWJsZWRgLGwpLG89KCk9Pk0oUGUsYCRpc01lc3NlbmdlckZyYW1lRXhwYW5kZWRgLGwpLHM9KCk9Pk0obixgJGlzTW9iaWxlRGV2aWNlYCxsKSxjPSgpPT5NKGksYCRzaG91bGRSZW5kZXJNZXNzZW5nZXJGcmFtZWAsbCksW2wsZF09TygpLG09eCh2b2lkIDApLGc9YE1vYmlsZVdpZGdldE1lc3Nlbmdlck9wZW5gLF89KGUsdCk9PntpZighdyhtKSlyZXR1cm47bGV0e3dpZGdldEJsb2NraW5nT3B0aW9uczpufT1FLmdldE9wdGlvbnMoKSx7d2lkdGg6cixoZWlnaHQ6aX09dWUoZSx0KTt3KG0pLnN0eWxlLm1heEhlaWdodD1oKGkpP2k6dShpKSx3KG0pLnN0eWxlLndpZHRoPWgocik/cjp1KHIpLHcobSkuc3R5bGUuaGVpZ2h0PWV8fG4/LmhlYWRsZXNzTW9kZT9gMTAwJWA6YGNhbGMoMTAwJSAtIDQwcHgpYH07QygoKT0+e3cobSkmJl8ocigpLG8oKSl9KTtsZXQgeT14KCExKTtDKCgpPT57aWYocygpKXtpZihjKCkmJiF3KHkpKXtsZXQgZT1wKCkuY3JlYXRlRWxlbWVudChgc3R5bGVgKTtlLnRleHRDb250ZW50PWAqIHtvdmVyZmxvdzogaGlkZGVufWAsZS5jbGFzc05hbWU9ZyxwKCkuaGVhZC5hcHBlbmRDaGlsZChlKSxmKHksITApfWlmKCFjKCkmJncoeSkpe2xldCBlPXAoKS5oZWFkLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZyk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspcCgpLmhlYWQucmVtb3ZlQ2hpbGQoZVt0XSk7Zih5LCExKX19fSk7dmFyIGI9VCgpLFM9RChiKSxlZT1lPT57dmFyIHQ9Q3QoKTtIKHQsYGAse30se3RyYW5zaXRpb246YG1heC1oZWlnaHQgMjUwbXMgZWFzZS1pbi1vdXQsIHdpZHRoIDI1MG1zIGVhc2UtaW4tb3V0YCxvdmVyZmxvdzpgaGlkZGVuYH0pO3ZhciBuPWEodCk7e2xldCBlPUEoWCk7UShuLHtnZXQgY29tcG9uZW50KCl7cmV0dXJuIFN0fSxnZXQgaWQoKXtyZXR1cm4gRy53aWRnZXRNZXNzZW5nZXJGcmFtZX0sdGl0bGU6YFNtYXJ0c3VwcCB3aWRnZXQgbWVzc2VuZ2VyYCxnZXQgZnJhbWVTdHlsZSgpe3JldHVybiB3KGUpfX0pfUYodCksTCh0LChlLHQpPT54ZT8uKGUsdCksciksSih0LGU9PmYobSxlKSwoKT0+dyhtKSksdigoKT0+Vyh0LGBkYXRhLXRlc3RpZGAsRy53aWRnZXRNZXNzZW5nZXJGcmFtZSkpLEsoMSx0LCgpPT5VLCgpPT4oe3k6MjAsZHVyYXRpb246MjAwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246MTUwfSkpLFooZSx0KX07UChTLGU9PntjKCkmJmUoZWUpfSksWihlLGIpLEIoKSxkKCl9dmFyIFR0PSgpPT5hZSgoKT0+aW1wb3J0KGAuL1dpZGdldFBvcHVwLUJBMWpjSG51LmpzYCksX192aXRlX19tYXBEZXBzKFszLDEsMl0pLGltcG9ydC5tZXRhLnVybCksRXQ9ZT0+e3ZhciB0PUR0KCksbj1hKHQpO3Eobix7c2l6ZTo0NH0pO3ZhciByPW0obiwyKSxpPWEocik7eihpLHtoZWlnaHQ6MjAsd2lkdGg6MjcwfSk7dmFyIG89bShpLDIpO3oobyx7aGVpZ2h0OjIwLHdpZHRoOjI3MH0pLHoobShvLDIpLHtoZWlnaHQ6MjAsd2lkdGg6MTIyfSksRihyKSxGKHQpLFooZSx0KX0sRHQ9ZChgPGRpdiBjbGFzcz0iaC1mdWxsIHAtMiBiZy13aGl0ZSI+PCE+IDxkaXYgY2xhc3M9Im10LTQgc3BhY2UteS0yIj48IT4gPCE+IDwhPjwvZGl2PjwvZGl2PmApO2Z1bmN0aW9uIE90KGUpe2d0KGUse2dldCBsb2FkZXIoKXtyZXR1cm4gVHR9LGRlbGF5OjAsZ2V0IGxvYWRpbmcoKXtyZXR1cm4gRXR9fSl9dmFyIGt0PWQoYDxkaXY+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gQXQoZSx0KXtOKHQsITApO2xldCBuPSgpPT5NKHllLGAkcG9wdXBGcmFtZUhlaWdodGAsbykscj0oKT0+TShFZSxgJGhhc1BvcHVwRnJhbWVIb3ZlcmAsbyksaT0oKT0+TShPZSxgJHNob3VsZFJlbmRlclBvcHVwRnJhbWVgLG8pLFtvLHNdPU8oKSxjPXgodm9pZCAwKSxsPWU9Pnt3KGMpJiYodyhjKS5zdHlsZS5tYXhIZWlnaHQ9YCR7ZX1weGApfSx7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOmR9PUUuZ2V0T3B0aW9ucygpO0MoKCk9Pnt3KGMpJiZsKG4oKSl9KTtsZXQgcD1BKCgpPT5yKCk/LjI4Oi4xNik7dmFyIG09VCgpLGg9RChtKSxnPWU9Pnt2YXIgdD1rdCgpO2xldCBuO3ZhciByPWEodCk7e2xldCBlPUEoWCk7UShyLHtnZXQgY29tcG9uZW50KCl7cmV0dXJuIE90fSxnZXQgaWQoKXtyZXR1cm4gRy53aWRnZXRQb3B1cEZyYW1lfSx0aXRsZTpgU21hcnRzdXBwIHdpZGdldCBwb3B1cGAsZ2V0IGZyYW1lU3R5bGUoKXtyZXR1cm4gdyhlKX19KX1GKHQpLEoodCxlPT5mKGMsZSksKCk9PncoYykpLEwodCxlPT5jZT8uKGUpKSx2KGU9PntuPUgodCxgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0MHB4KTsgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2UtaW4tb3V0LCBtYXgtaGVpZ2h0IDI1MG1zIGVhc2UtaW4tb3V0YCxuLGUpLFcodCxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0UG9wdXBGcmFtZSl9LFsoKT0+KHt3aWR0aDp1KDMwMCksImJvcmRlci1yYWRpdXMiOnUoMjApLG92ZXJmbG93OmBoaWRkZW5gLCJib3gtc2hhZG93IjpgcmdiYSgwLCAwLCAwLCAke2Q/LmxpbWl0U2hhZG93P2AwLjIpIDBweCAzcHggMTJweGA6YCR7dyhwKX0pIDBweCAzcHggMTZweGB9YH0pXSksSygxLHQsKCk9PlUsKCk9Pih7eToyMCxkZWxheTozMDAsZHVyYXRpb246NDAwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246NDAwfSkpLFooZSx0KX07UChoLGU9PntpKCkmJmUoZyl9KSxaKGUsbSksQigpLHMoKX12YXIganQ9ZChgPGRpdiBjbGFzcz0iZmxleCBwLTIiPjxkaXY+PC9kaXY+IDxkaXY+PC9kaXY+IDxkaXY+PC9kaXY+PC9kaXY+YCk7ZnVuY3Rpb24gTXQoZSx0KXtsZXQgbj12ZSh0LGBzaXplYCwzLGBtZGApLHI9dmUodCxgY29sb3JgLDMsYGJsYWNrYCksaT1BKCgpPT50Lml0ZXJhdGlvbnM/P2BpbmZpbml0ZWApO3ZhciBvPWp0KCkscz1hKG8pO2xldCBjO3ZhciBsPW0ocywyKTtsZXQgdTt2YXIgZD1tKGwsMik7bGV0IGY7RihvKSx2KCgpPT57WShzLDEsYHR5cGluZy1pbmRpY2F0b3IgJHtuKCl9IGluZGljYXRvci1jb2xvci0ke3IoKX0gYW5pbWF0ZS10eXBpbmdgLGBzdmVsdGUtczQweGdrYCksYz1IKHMsYGAsYyx7ImFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQiOncoaSl9KSxZKGwsMSxgdHlwaW5nLWluZGljYXRvciAke24oKX0gaW5kaWNhdG9yLWNvbG9yLSR7cigpfSB0eXBpbmctaW5kaWNhdG9yLXNlY29uZCBhbmltYXRlLXR5cGluZ2AsYHN2ZWx0ZS1zNDB4Z2tgKSx1PUgobCxgYCx1LHsiYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCI6dyhpKX0pLFkoZCwxLGB0eXBpbmctaW5kaWNhdG9yICR7bigpfSBpbmRpY2F0b3ItY29sb3ItJHtyKCl9IHR5cGluZy1pbmRpY2F0b3ItdGhpcmQgYW5pbWF0ZS10eXBpbmdgLGBzdmVsdGUtczQweGdrYCksZj1IKGQsYGAsZix7ImFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQiOncoaSl9KX0pLFooZSxvKX12YXIgTnQ9ZChgPGRpdiBjbGFzcz0iZmxleC1jZW50ZXIgaC1mdWxsIGJnLXdoaXRlIHJvdW5kZWQtbGciPjwhPjwvZGl2PmApO2Z1bmN0aW9uIFB0KGUpe3ZhciB0PU50KCk7TXQoYSh0KSx7aXRlcmF0aW9uczoyfSksRih0KSxaKGUsdCl9dmFyIEZ0PWQoYDxkaXY+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gSXQoZSx0KXtOKHQsITEpO2xldCBuPSgpPT5NKGVlLGAkc2hvdWxkUmVuZGVyVHlwaW5nRnJhbWVgLHIpLFtyLGldPU8oKSx7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOnN9PUUuZ2V0T3B0aW9ucygpO0koKTt2YXIgYz1UKCksbD1EKGMpLGQ9ZT0+e3ZhciB0PUZ0KCk7bGV0IG47dmFyIHI9YSh0KTt7bGV0IGU9YihYKTtRKHIse2dldCBjb21wb25lbnQoKXtyZXR1cm4gUHR9LGdldCBpZCgpe3JldHVybiBHLndpZGdldFR5cGluZ0ZyYW1lfSx0aXRsZTpgU21hcnRzdXBwIHdpZGdldCB0eXBpbmdgLGdldCBmcmFtZVN0eWxlKCl7cmV0dXJuIHcoZSl9fSl9Rih0KSxMKHQsZT0+bz8uKGUpKSx2KGU9PntuPUgodCxgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjIpICR7cz8ubGltaXRTaGFkb3c/YDBweCAzcHggMTJweGA6YDBweCAzcHggMTZweGB9OyBib3JkZXItcmFkaXVzOiAyNHB4O2AsbixlKSxXKHQsYGRhdGEtdGVzdGlkYCxHLndpZGdldFR5cGluZ0ZyYW1lKX0sWygpPT4oe2hlaWdodDp1KDQwKSx3aWR0aDp1KDcwKSxvdmVyZmxvdzpgaGlkZGVuYH0pXSksSygxLHQsKCk9PlUsKCk9Pih7eToyMCxkZWxheTozMDAsZHVyYXRpb246NDAwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246MjUwfSkpLFooZSx0KX07UChsLGU9PntuKCkmJmUoZCl9KSxaKGUsYyksQigpLGkoKX12YXIgTHQ9TGUobnVsbCksUnQ9VGUoW0x0XSwoW2VdKT0+ISFlKSx6dD1kKGA8aW1nIGNsYXNzPSJtLWF1dG8gbWF4LWgtZnVsbCBtYXgtdy1mdWxsIHNlbGVjdC1ub25lIGJnLWJsYWNrIiB3aWR0aD0iYXV0byIgaGVpZ2h0PSJhdXRvIi8+YCksQnQ9ZChgPHZpZGVvIGNvbnRyb2xzPSIiIGNsYXNzPSJtLWF1dG8gbWF4LWgtZnVsbCBtYXgtdy1mdWxsIGJnLWJsYWNrIG9iamVjdC1jb250YWluIj48dHJhY2sga2luZD0iY2FwdGlvbnMiLz4gPHNvdXJjZS8+PC92aWRlbz5gLDIpLFZ0PWQoYDxkaXYgY2xhc3M9InctZnVsbCBoLWZ1bGwgZmxleCBmbGV4LWNvbCI+PGRpdiBjbGFzcz0iZmxleC1zaHJpbmsgZmxleCBmbGV4LXJvdyB3LWZ1bGwgYmctYmxhY2sgdGV4dC13aGl0ZSI+PGRpdiBjbGFzcz0iZmxleC1ncm93IGZsZXggaXRlbXMtY2VudGVyIHRleHQtbWQgcHgtNCBvdmVyZmxvdy1oaWRkZW4iPjxzcGFuIGNsYXNzPSJ3aGl0ZXNwYWNlLW5vd3JhcCB0ZXh0LWVsbGlwc2lzIG92ZXJmbG93LWhpZGRlbiI+IDwvc3Bhbj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleC1zaHJpbmsiPjwhPjwvZGl2PjwvZGl2PiA8ZGl2PjwhPjwvZGl2PjwvZGl2PmApO2Z1bmN0aW9uIEh0KGUsbil7TihuLCEwKTtsZXQgcj0oKT0+TShyZSxgJGlzRGVza3RvcGAscyksaT0oKT0+TShMdCxgJHByZXZpZXdlZE1lZGlhYCxzKSxvPSgpPT5NKGosYCR0YCxzKSxbcyxjXT1PKCksbD1BKHIpLHU9ZT0+e2U9PT1gb3ZlcmxheWAmJiF3KGwpfHxMdC5zZXQobnVsbCl9O3ZhciBkPVZ0KCksZj1hKGQpLHA9YShmKSxoPWEocCksZz1hKGgsITApO0YoaCksRihwKTt2YXIgXz1tKHAsMikseT1hKF8pO3tsZXQgZT1BKCgpPT5vKCkoYHRvb2x0aXAuY2xvc2VgKSk7VmUoeSx7b25DbGljazooKT0+dShgYnV0dG9uYCksZ2V0IGljb24oKXtyZXR1cm4gSWV9LGdldCBpY29uRGVzY3JpcHRpb24oKXtyZXR1cm4gdyhlKX0saWNvblNjYWxlOiEwLHNpemU6YHhsYH0pfUYoXyksRihmKTt2YXIgYj1tKGYsMikseD1hKGIpLFM9ZT0+e3ZhciBuPXp0KCk7digoKT0+e1cobixgc3JjYCxpKCk/LmF0dGFjaG1lbnQudXJsKSxXKG4sYGFsdGAsaSgpPy5hdHRhY2htZW50LmZpbGVOYW1lKX0pLHQoYGNsaWNrYCxuLGU9PmUuc3RvcFByb3BhZ2F0aW9uKCkpLFYoYGtleXByZXNzYCxuLCgpPT57fSksWihlLG4pfSxDPWU9Pnt2YXIgbj1CdCgpO24uYXV0b3BsYXk9ITAsbi5sb29wPSEwO3ZhciByPW0oYShuKSwyKTtGKG4pLHYoKCk9Plcocixgc3JjYCxpKCkuYXR0YWNobWVudC51cmwpKSx0KGBjbGlja2AsbixlPT5lLnN0b3BQcm9wYWdhdGlvbigpKSxWKGBrZXlwcmVzc2AsbiwoKT0+e30pLFooZSxuKX07UCh4LGU9PntpKCk/LnR5cGU9PT13ZS5JbWFnZT9lKFMpOmkoKT8udHlwZT09PXdlLlZpZGVvJiZlKEMsMSl9KSxGKGIpLEYoZCksdigoKT0+e2xlKGcsaSgpPy5hdHRhY2htZW50LmZpbGVOYW1lKSxZKGIsMSxDZShbYHJlbGF0aXZlIG92ZXJmbG93LWhpZGRlbiBmbGV4LWdyb3cgZmxleCBpdGVtcy1jZW50ZXIgYmctYmxhY2svODAgei0xMGAscigpP2BwLThgOmBwLTRgXSkpfSksdChgY2xpY2tgLGIsKCk9PnUoYG92ZXJsYXlgKSksVihga2V5cHJlc3NgLGIsKCk9Pnt9KSxLKDEsZCwoKT0+VSwoKT0+KHt5OjIwLGRlbGF5OjMwMCxkdXJhdGlvbjo0MDB9KSksSygyLGQsKCk9PlUsKCk9Pih7eToxMCxkdXJhdGlvbjoyNTB9KSksWihlLGQpLEIoKSxjKCl9QWUoW2BjbGlja2BdKTt2YXIgVXQ9ZChgPGRpdj48IT48L2Rpdj5gKTtmdW5jdGlvbiBXdChlLHQpe04odCwhMSk7bGV0IG49KCk9Pk0oUnQsYCRzaG91bGRSZW5kZXJNZWRpYVByZXZpZXdgLHIpLFtyLGldPU8oKTtJKCk7dmFyIG89VCgpLHM9RChvKSxjPWU9Pnt2YXIgdD1VdCgpO0godCxgYCx7fSx7dHJhbnNpdGlvbjpgbWF4LWhlaWdodCAyNTBtcyBlYXNlLWluLW91dCwgd2lkdGggMjUwbXMgZWFzZS1pbi1vdXRgfSk7dmFyIG49YSh0KTt7bGV0IGU9YigoKT0+WChlPT57ZS5zdHlsZS5wb3NpdGlvbj1gZml4ZWRgfSkpO1Eobix7Z2V0IGNvbXBvbmVudCgpe3JldHVybiBIdH0sZ2V0IGlkKCl7cmV0dXJuIEcud2lkZ2V0SW1hZ2VQcmV2aWV3fSx0aXRsZTpgU21hcnRzdXBwIHdpZGdldCBpbWFnZSBwcmV2aWV3YCxnZXQgZnJhbWVTdHlsZSgpe3JldHVybiB3KGUpfX0pfUYodCksTCh0LGU9PldlPy4oZSkpLHYoKCk9PlcodCxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0SW1hZ2VQcmV2aWV3KSksSygxLHQsKCk9PlUsKCk9Pih7eToyMCxkZWxheToxMDAsZHVyYXRpb246MjUwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246MjUwfSkpLFooZSx0KX07UChzLGU9PntuKCkmJmUoYyl9KSxaKGUsbyksQigpLGkoKX12YXIgR3Q9ZChgPCE+IDwhPiA8IT4gPCE+IDwhPmAsMSk7ZnVuY3Rpb24gS3QodCxyKXtOKHIsITApO2xldCBpPSgpPT5NKG1lLGAkbGFzdFVucmVhZE1lc3NhZ2VgLG8pLGE9KCk9Pk0oXyxgJGlzTWVzc2VuZ2VyRnJhbWVPcGVuYCxvKSxbbyxzXT1PKCk7aygoKT0+eyhhc3luYygpPT57YXdhaXQgemUoKSxhd2FpdCBwZS5pbml0Q2xpZW50KCl9KSgpfSksQygoKT0+e2koKSYmIWEoKSYmZSgpfSksZ2UoUygpKSxIZShuKSYmeShTKCkpLFllKHQse2NoaWxkcmVuOihlLHQpPT57dmFyIG49R3QoKSxyPUQobik7SXQocix7fSk7dmFyIGk9bShyLDIpO0F0KGkse30pO3ZhciBhPW0oaSwyKTtwdChhLHt9KTt2YXIgbz1tKGEsMik7d3Qobyx7fSksV3QobShvLDIpLHt9KSxaKGUsbil9LCQkc2xvdHM6e2RlZmF1bHQ6ITB9fSksQigpLHMoKX12YXIgcXQ9Zyh3aW5kb3cpO0UuaW5pdChxdC5vcHRpb25zKSxxdC5pbnN0YWxsQXBpKE1lKSxjLnNldFRoZW1lQ29sb3IocXQub3B0aW9ucyksUmUoKSxvZSgpLEdlKEt0LHt0YXJnZXQ6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGFwcGApfSk7ZXhwb3J0e010IGFzIG4sTHQgYXMgdH07Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPW1haW4tQi1WSGMxSzQuanMubWFw"}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-includes/js/dist/hooks.min.js?ver=7496969728ca0f95732d","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.902Z","timestamp":1785141582902,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-includes/js/dist/hooks.min.js?ver=7496969728ca0f95732d HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 09 Jul 2026 21:44:51 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 1829\r\nKeep-Alive: timeout=5, max=98\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":5050,"size_decoded":2194,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (5014)","md5":"55c5129ccd0fa8f383d9de82a91c5877","sha1":"596918015fa62e4f18533b69b0e6822ebee3cb2d","sha256":"cce388fed1a82ebd20ce7d9601e4b6c83a425ea201c333d71b1183ee887cc090","sha512":"956ab39b4bc0577f0ac50a842bc7f71ac1d5b6f7148f9ba9bdb2a84001b96362f077d417144dce171464de8aac71ffd6e639e35ca12da4de2d12fddd660e64a3","ssdeep":"96:lu/16WIHBLusBcADGDd/R5h2RTLlD3jMXY2yGy94E34sTY2Cif:lGIhNBcAD0NRv8XlD3wXY2yH+EoaY2f","tlshash":"5ca151c43542b930e2b77027f0ab58d46175abe1a82d8446d59cd8f12da39cee0e7b3d","first_seen":"2026-07-02T22:01:42.321596Z","last_seen":"2026-07-27T14:59:39.953143Z","times_seen":10878,"resource_available":true,"data":"LyohIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCAqLwoidXNlIHN0cmljdCI7dmFyIHdwOyh3cHx8PXt9KS5ob29rcz0oKCk9Pnt2YXIgdj1PYmplY3QuZGVmaW5lUHJvcGVydHk7dmFyIFM9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjt2YXIgZz1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lczt2YXIgST1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciB3PShlLG4pPT57Zm9yKHZhciBzIGluIG4pdihlLHMse2dldDpuW3NdLGVudW1lcmFibGU6ITB9KX0sRD0oZSxuLHMscik9PntpZihuJiZ0eXBlb2Ygbj09Im9iamVjdCJ8fHR5cGVvZiBuPT0iZnVuY3Rpb24iKWZvcihsZXQgdCBvZiBnKG4pKSFJLmNhbGwoZSx0KSYmdCE9PXMmJnYoZSx0LHtnZXQ6KCk9Pm5bdF0sZW51bWVyYWJsZTohKHI9UyhuLHQpKXx8ci5lbnVtZXJhYmxlfSk7cmV0dXJuIGV9O3ZhciBUPWU9PkQodih7fSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZSk7dmFyIGxlPXt9O3cobGUse2FjdGlvbnM6KCk9PmFlLGFkZEFjdGlvbjooKT0+SixhZGRGaWx0ZXI6KCk9PkssYXBwbHlGaWx0ZXJzOigpPT5OLGFwcGx5RmlsdGVyc0FzeW5jOigpPT5lZSxjcmVhdGVIb29rczooKT0+RixjdXJyZW50QWN0aW9uOigpPT50ZSxjdXJyZW50RmlsdGVyOigpPT5yZSxkZWZhdWx0SG9va3M6KCk9PmIsZGlkQWN0aW9uOigpPT5pZSxkaWRGaWx0ZXI6KCk9PnNlLGRvQWN0aW9uOigpPT5YLGRvQWN0aW9uQXN5bmM6KCk9PlksZG9pbmdBY3Rpb246KCk9Pm5lLGRvaW5nRmlsdGVyOigpPT5vZSxmaWx0ZXJzOigpPT5jZSxoYXNBY3Rpb246KCk9PlAsaGFzRmlsdGVyOigpPT5RLHJlbW92ZUFjdGlvbjooKT0+TCxyZW1vdmVBbGxBY3Rpb25zOigpPT5VLHJlbW92ZUFsbEZpbHRlcnM6KCk9PlcscmVtb3ZlRmlsdGVyOigpPT5NfSk7ZnVuY3Rpb24geihlKXtyZXR1cm4gdHlwZW9mIGUhPSJzdHJpbmcifHxlPT09IiI/KGNvbnNvbGUuZXJyb3IoIlRoZSBuYW1lc3BhY2UgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcuIiksITEpOi9eW2EtekEtWl1bYS16QS1aMC05Xy5cLVwvXSokLy50ZXN0KGUpPyEwOihjb25zb2xlLmVycm9yKCJUaGUgbmFtZXNwYWNlIGNhbiBvbmx5IGNvbnRhaW4gbnVtYmVycywgbGV0dGVycywgZGFzaGVzLCBwZXJpb2RzLCB1bmRlcnNjb3JlcyBhbmQgc2xhc2hlcy4iKSwhMSl9dmFyIG09ejtmdW5jdGlvbiBFKGUpe3JldHVybiB0eXBlb2YgZSE9InN0cmluZyJ8fGU9PT0iIj8oY29uc29sZS5lcnJvcigiVGhlIGhvb2sgbmFtZSBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZy4iKSwhMSk6L15fXy8udGVzdChlKT8oY29uc29sZS5lcnJvcigiVGhlIGhvb2sgbmFtZSBjYW5ub3QgYmVnaW4gd2l0aCBgX19gLiIpLCExKTovXlthLXpBLVpdW2EtekEtWjAtOV8uLV0qJC8udGVzdChlKT8hMDooY29uc29sZS5lcnJvcigiVGhlIGhvb2sgbmFtZSBjYW4gb25seSBjb250YWluIG51bWJlcnMsIGxldHRlcnMsIGRhc2hlcywgcGVyaW9kcyBhbmQgdW5kZXJzY29yZXMuIiksITEpfXZhciBmPUU7ZnVuY3Rpb24gWihlLG4pe3JldHVybiBmdW5jdGlvbihyLHQsYSxpPTEwKXtsZXQgYz1lW25dO2lmKCFmKHIpfHwhbSh0KSlyZXR1cm47aWYodHlwZW9mIGEhPSJmdW5jdGlvbiIpe2NvbnNvbGUuZXJyb3IoIlRoZSBob29rIGNhbGxiYWNrIG11c3QgYmUgYSBmdW5jdGlvbi4iKTtyZXR1cm59aWYodHlwZW9mIGkhPSJudW1iZXIiKXtjb25zb2xlLmVycm9yKCJJZiBzcGVjaWZpZWQsIHRoZSBob29rIHByaW9yaXR5IG11c3QgYmUgYSBudW1iZXIuIik7cmV0dXJufWxldCBsPXtjYWxsYmFjazphLHByaW9yaXR5OmksbmFtZXNwYWNlOnR9O2lmKGNbcl0pe2xldCBvPWNbcl0uaGFuZGxlcnMsZDtmb3IoZD1vLmxlbmd0aDtkPjAmJiEoaT49b1tkLTFdLnByaW9yaXR5KTtkLS0pO2Q9PT1vLmxlbmd0aD9vW2RdPWw6by5zcGxpY2UoZCwwLGwpLGMuX19jdXJyZW50LmZvckVhY2goaD0+e2gubmFtZT09PXImJmguY3VycmVudEluZGV4Pj1kJiZoLmN1cnJlbnRJbmRleCsrfSl9ZWxzZSBjW3JdPXtoYW5kbGVyczpbbF0scnVuczowfTtyIT09Imhvb2tBZGRlZCImJmUuZG9BY3Rpb24oImhvb2tBZGRlZCIscix0LGEsaSl9fXZhciBIPVo7ZnVuY3Rpb24gQyhlLG4scz0hMSl7cmV0dXJuIGZ1bmN0aW9uKHQsYSl7bGV0IGk9ZVtuXTtpZighZih0KXx8IXMmJiFtKGEpKXJldHVybjtpZighaVt0XSlyZXR1cm4gMDtsZXQgYz0wO2lmKHMpYz1pW3RdLmhhbmRsZXJzLmxlbmd0aCxpW3RdPXtydW5zOmlbdF0ucnVucyxoYW5kbGVyczpbXX07ZWxzZXtsZXQgbD1pW3RdLmhhbmRsZXJzO2ZvcihsZXQgbz1sLmxlbmd0aC0xO28+PTA7by0tKWxbb10ubmFtZXNwYWNlPT09YSYmKGwuc3BsaWNlKG8sMSksYysrLGkuX19jdXJyZW50LmZvckVhY2goZD0+e2QubmFtZT09PXQmJmQuY3VycmVudEluZGV4Pj1vJiZkLmN1cnJlbnRJbmRleC0tfSkpfXJldHVybiB0IT09Imhvb2tSZW1vdmVkIiYmZS5kb0FjdGlvbigiaG9va1JlbW92ZWQiLHQsYSksY319dmFyIHA9QztmdW5jdGlvbiBPKGUsbil7cmV0dXJuIGZ1bmN0aW9uKHIsdCl7bGV0IGE9ZVtuXTtyZXR1cm4gdHlwZW9mIHQ8InUiP3IgaW4gYSYmYVtyXS5oYW5kbGVycy5zb21lKGk9PmkubmFtZXNwYWNlPT09dCk6ciBpbiBhfX12YXIgXz1PO2Z1bmN0aW9uIGooZSxuLHMscil7cmV0dXJuIGZ1bmN0aW9uKGEsLi4uaSl7bGV0IGM9ZVtuXTtjW2FdfHwoY1thXT17aGFuZGxlcnM6W10scnVuczowfSksY1thXS5ydW5zKys7bGV0IGw9Y1thXS5oYW5kbGVycztpZighbHx8IWwubGVuZ3RoKXJldHVybiBzP2lbMF06dm9pZCAwO2xldCBvPXtuYW1lOmEsY3VycmVudEluZGV4OjB9O2FzeW5jIGZ1bmN0aW9uIGQoKXt0cnl7Yy5fX2N1cnJlbnQuYWRkKG8pO2xldCB1PXM/aVswXTp2b2lkIDA7Zm9yKDtvLmN1cnJlbnRJbmRleDxsLmxlbmd0aDspdT1hd2FpdCBsW28uY3VycmVudEluZGV4XS5jYWxsYmFjay5hcHBseShudWxsLGkpLHMmJihpWzBdPXUpLG8uY3VycmVudEluZGV4Kys7cmV0dXJuIHM/dTp2b2lkIDB9ZmluYWxseXtjLl9fY3VycmVudC5kZWxldGUobyl9fWZ1bmN0aW9uIGgoKXt0cnl7Yy5fX2N1cnJlbnQuYWRkKG8pO2xldCB1PXM/aVswXTp2b2lkIDA7Zm9yKDtvLmN1cnJlbnRJbmRleDxsLmxlbmd0aDspdT1sW28uY3VycmVudEluZGV4XS5jYWxsYmFjay5hcHBseShudWxsLGkpLHMmJihpWzBdPXUpLG8uY3VycmVudEluZGV4Kys7cmV0dXJuIHM/dTp2b2lkIDB9ZmluYWxseXtjLl9fY3VycmVudC5kZWxldGUobyl9fXJldHVybihyP2Q6aCkoKX19dmFyIEE9ajtmdW5jdGlvbiAkKGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7bGV0IHI9ZVtuXTtyZXR1cm4gQXJyYXkuZnJvbShyLl9fY3VycmVudCkuYXQoLTEpPy5uYW1lPz9udWxsfX12YXIgeT0kO2Z1bmN0aW9uIFYoZSxuKXtyZXR1cm4gZnVuY3Rpb24ocil7bGV0IHQ9ZVtuXTtyZXR1cm4gdHlwZW9mIHI+InUiP3QuX19jdXJyZW50LnNpemU+MDpBcnJheS5mcm9tKHQuX19jdXJyZW50KS5zb21lKGE9PmEubmFtZT09PXIpfX12YXIgaz1WO2Z1bmN0aW9uIHEoZSxuKXtyZXR1cm4gZnVuY3Rpb24ocil7bGV0IHQ9ZVtuXTtpZihmKHIpKXJldHVybiB0W3JdJiZ0W3JdLnJ1bnM/dFtyXS5ydW5zOjB9fXZhciB4PXE7dmFyIEI9Y2xhc3N7YWN0aW9ucztmaWx0ZXJzO2FkZEFjdGlvbjthZGRGaWx0ZXI7cmVtb3ZlQWN0aW9uO3JlbW92ZUZpbHRlcjtoYXNBY3Rpb247aGFzRmlsdGVyO3JlbW92ZUFsbEFjdGlvbnM7cmVtb3ZlQWxsRmlsdGVycztkb0FjdGlvbjtkb0FjdGlvbkFzeW5jO2FwcGx5RmlsdGVyczthcHBseUZpbHRlcnNBc3luYztjdXJyZW50QWN0aW9uO2N1cnJlbnRGaWx0ZXI7ZG9pbmdBY3Rpb247ZG9pbmdGaWx0ZXI7ZGlkQWN0aW9uO2RpZEZpbHRlcjtjb25zdHJ1Y3Rvcigpe3RoaXMuYWN0aW9ucz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuYWN0aW9ucy5fX2N1cnJlbnQ9bmV3IFNldCx0aGlzLmZpbHRlcnM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLmZpbHRlcnMuX19jdXJyZW50PW5ldyBTZXQsdGhpcy5hZGRBY3Rpb249SCh0aGlzLCJhY3Rpb25zIiksdGhpcy5hZGRGaWx0ZXI9SCh0aGlzLCJmaWx0ZXJzIiksdGhpcy5yZW1vdmVBY3Rpb249cCh0aGlzLCJhY3Rpb25zIiksdGhpcy5yZW1vdmVGaWx0ZXI9cCh0aGlzLCJmaWx0ZXJzIiksdGhpcy5oYXNBY3Rpb249Xyh0aGlzLCJhY3Rpb25zIiksdGhpcy5oYXNGaWx0ZXI9Xyh0aGlzLCJmaWx0ZXJzIiksdGhpcy5yZW1vdmVBbGxBY3Rpb25zPXAodGhpcywiYWN0aW9ucyIsITApLHRoaXMucmVtb3ZlQWxsRmlsdGVycz1wKHRoaXMsImZpbHRlcnMiLCEwKSx0aGlzLmRvQWN0aW9uPUEodGhpcywiYWN0aW9ucyIsITEsITEpLHRoaXMuZG9BY3Rpb25Bc3luYz1BKHRoaXMsImFjdGlvbnMiLCExLCEwKSx0aGlzLmFwcGx5RmlsdGVycz1BKHRoaXMsImZpbHRlcnMiLCEwLCExKSx0aGlzLmFwcGx5RmlsdGVyc0FzeW5jPUEodGhpcywiZmlsdGVycyIsITAsITApLHRoaXMuY3VycmVudEFjdGlvbj15KHRoaXMsImFjdGlvbnMiKSx0aGlzLmN1cnJlbnRGaWx0ZXI9eSh0aGlzLCJmaWx0ZXJzIiksdGhpcy5kb2luZ0FjdGlvbj1rKHRoaXMsImFjdGlvbnMiKSx0aGlzLmRvaW5nRmlsdGVyPWsodGhpcywiZmlsdGVycyIpLHRoaXMuZGlkQWN0aW9uPXgodGhpcywiYWN0aW9ucyIpLHRoaXMuZGlkRmlsdGVyPXgodGhpcywiZmlsdGVycyIpfX07ZnVuY3Rpb24gRygpe3JldHVybiBuZXcgQn12YXIgRj1HO3ZhciBiPUYoKSx7YWRkQWN0aW9uOkosYWRkRmlsdGVyOksscmVtb3ZlQWN0aW9uOkwscmVtb3ZlRmlsdGVyOk0saGFzQWN0aW9uOlAsaGFzRmlsdGVyOlEscmVtb3ZlQWxsQWN0aW9uczpVLHJlbW92ZUFsbEZpbHRlcnM6Vyxkb0FjdGlvbjpYLGRvQWN0aW9uQXN5bmM6WSxhcHBseUZpbHRlcnM6TixhcHBseUZpbHRlcnNBc3luYzplZSxjdXJyZW50QWN0aW9uOnRlLGN1cnJlbnRGaWx0ZXI6cmUsZG9pbmdBY3Rpb246bmUsZG9pbmdGaWx0ZXI6b2UsZGlkQWN0aW9uOmllLGRpZEZpbHRlcjpzZSxhY3Rpb25zOmFlLGZpbHRlcnM6Y2V9PWI7cmV0dXJuIFQobGUpO30pKCk7Cg=="}},"time_used":416,"timings":{"blocked":324,"dns":0,"connect":0,"send":0,"wait":92,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/themes/ashley/assets/js/imagesloaded.pkgd.js?ver=1.0.0","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.913Z","timestamp":1785141582913,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/themes/ashley/assets/js/imagesloaded.pkgd.js?ver=1.0.0 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:55:08 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 3532\r\nKeep-Alive: timeout=5, max=92\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":12786,"size_decoded":3897,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text","md5":"f7b595d0850a1c991c010885dd9ee42c","sha1":"c3853d1f1a63c4d194850d4db4af142dc131f0ea","sha256":"66d8c187ede5a9b7c9e547da843dba13d467b38c3853236a3293d567e2d34ff8","sha512":"ab70452700caea9050b32c7363da0fc5bff4b54f8231fe650f6719a9f7b6be3a2e8f4993607bf133db8a93a355887aefa26abedd9608af094dd5120917f6972d","ssdeep":"192:bwcBsTK0iqAuLSwBgksksO48IWRRrk+pz51VzDDMFg894AR7Ky7GmFC8kSspFRan:blBsTKf4gB/W3BDy1BGmsBG2m0NYPL","tlshash":"74421e496ff62127502bf1fb7f0f3209f568c01a1109d689b94e99e05fa096444beff9","first_seen":"2023-03-07T12:01:46Z","last_seen":"2026-07-27T12:12:28.82284Z","times_seen":781,"resource_available":true,"data":"LyohCiAqIGltYWdlc0xvYWRlZCBQQUNLQUdFRCB2NC4xLjQKICogSmF2YVNjcmlwdCBpcyBhbGwgbGlrZSAiWW91IGltYWdlcyBhcmUgZG9uZSB5ZXQgb3Igd2hhdD8iCiAqIE1JVCBMaWNlbnNlCiAqLwoKLyoqCiAqIEV2RW1pdHRlciB2MS4xLjAKICogTGlsJyBldmVudCBlbWl0dGVyCiAqIE1JVCBMaWNlbnNlCiAqLwoKLyoganNoaW50IHVudXNlZDogdHJ1ZSwgdW5kZWY6IHRydWUsIHN0cmljdDogdHJ1ZSAqLwoKKCBmdW5jdGlvbiggZ2xvYmFsLCBmYWN0b3J5ICkgewogIC8vIHVuaXZlcnNhbCBtb2R1bGUgZGVmaW5pdGlvbgogIC8qIGpzaGludCBzdHJpY3Q6IGZhbHNlICovIC8qIGdsb2JhbHMgZGVmaW5lLCBtb2R1bGUsIHdpbmRvdyAqLwogIGlmICggdHlwZW9mIGRlZmluZSA9PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQgKSB7CiAgICAvLyBBTUQgLSBSZXF1aXJlSlMKICAgIGRlZmluZSggJ2V2LWVtaXR0ZXIvZXYtZW1pdHRlcicsZmFjdG9yeSApOwogIH0gZWxzZSBpZiAoIHR5cGVvZiBtb2R1bGUgPT0gJ29iamVjdCcgJiYgbW9kdWxlLmV4cG9ydHMgKSB7CiAgICAvLyBDb21tb25KUyAtIEJyb3dzZXJpZnksIFdlYnBhY2sKICAgIG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpOwogIH0gZWxzZSB7CiAgICAvLyBCcm93c2VyIGdsb2JhbHMKICAgIGdsb2JhbC5FdkVtaXR0ZXIgPSBmYWN0b3J5KCk7CiAgfQoKfSggdHlwZW9mIHdpbmRvdyAhPSAndW5kZWZpbmVkJyA/IHdpbmRvdyA6IHRoaXMsIGZ1bmN0aW9uKCkgewoKCgpmdW5jdGlvbiBFdkVtaXR0ZXIoKSB7fQoKdmFyIHByb3RvID0gRXZFbWl0dGVyLnByb3RvdHlwZTsKCnByb3RvLm9uID0gZnVuY3Rpb24oIGV2ZW50TmFtZSwgbGlzdGVuZXIgKSB7CiAgaWYgKCAhZXZlbnROYW1lIHx8ICFsaXN0ZW5lciApIHsKICAgIHJldHVybjsKICB9CiAgLy8gc2V0IGV2ZW50cyBoYXNoCiAgdmFyIGV2ZW50cyA9IHRoaXMuX2V2ZW50cyA9IHRoaXMuX2V2ZW50cyB8fCB7fTsKICAvLyBzZXQgbGlzdGVuZXJzIGFycmF5CiAgdmFyIGxpc3RlbmVycyA9IGV2ZW50c1sgZXZlbnROYW1lIF0gPSBldmVudHNbIGV2ZW50TmFtZSBdIHx8IFtdOwogIC8vIG9ubHkgYWRkIG9uY2UKICBpZiAoIGxpc3RlbmVycy5pbmRleE9mKCBsaXN0ZW5lciApID09IC0xICkgewogICAgbGlzdGVuZXJzLnB1c2goIGxpc3RlbmVyICk7CiAgfQoKICByZXR1cm4gdGhpczsKfTsKCnByb3RvLm9uY2UgPSBmdW5jdGlvbiggZXZlbnROYW1lLCBsaXN0ZW5lciApIHsKICBpZiAoICFldmVudE5hbWUgfHwgIWxpc3RlbmVyICkgewogICAgcmV0dXJuOwogIH0KICAvLyBhZGQgZXZlbnQKICB0aGlzLm9uKCBldmVudE5hbWUsIGxpc3RlbmVyICk7CiAgLy8gc2V0IG9uY2UgZmxhZwogIC8vIHNldCBvbmNlRXZlbnRzIGhhc2gKICB2YXIgb25jZUV2ZW50cyA9IHRoaXMuX29uY2VFdmVudHMgPSB0aGlzLl9vbmNlRXZlbnRzIHx8IHt9OwogIC8vIHNldCBvbmNlTGlzdGVuZXJzIG9iamVjdAogIHZhciBvbmNlTGlzdGVuZXJzID0gb25jZUV2ZW50c1sgZXZlbnROYW1lIF0gPSBvbmNlRXZlbnRzWyBldmVudE5hbWUgXSB8fCB7fTsKICAvLyBzZXQgZmxhZwogIG9uY2VMaXN0ZW5lcnNbIGxpc3RlbmVyIF0gPSB0cnVlOwoKICByZXR1cm4gdGhpczsKfTsKCnByb3RvLm9mZiA9IGZ1bmN0aW9uKCBldmVudE5hbWUsIGxpc3RlbmVyICkgewogIHZhciBsaXN0ZW5lcnMgPSB0aGlzLl9ldmVudHMgJiYgdGhpcy5fZXZlbnRzWyBldmVudE5hbWUgXTsKICBpZiAoICFsaXN0ZW5lcnMgfHwgIWxpc3RlbmVycy5sZW5ndGggKSB7CiAgICByZXR1cm47CiAgfQogIHZhciBpbmRleCA9IGxpc3RlbmVycy5pbmRleE9mKCBsaXN0ZW5lciApOwogIGlmICggaW5kZXggIT0gLTEgKSB7CiAgICBsaXN0ZW5lcnMuc3BsaWNlKCBpbmRleCwgMSApOwogIH0KCiAgcmV0dXJuIHRoaXM7Cn07Cgpwcm90by5lbWl0RXZlbnQgPSBmdW5jdGlvbiggZXZlbnROYW1lLCBhcmdzICkgewogIHZhciBsaXN0ZW5lcnMgPSB0aGlzLl9ldmVudHMgJiYgdGhpcy5fZXZlbnRzWyBldmVudE5hbWUgXTsKICBpZiAoICFsaXN0ZW5lcnMgfHwgIWxpc3RlbmVycy5sZW5ndGggKSB7CiAgICByZXR1cm47CiAgfQogIC8vIGNvcHkgb3ZlciB0byBhdm9pZCBpbnRlcmZlcmVuY2UgaWYgLm9mZigpIGluIGxpc3RlbmVyCiAgbGlzdGVuZXJzID0gbGlzdGVuZXJzLnNsaWNlKDApOwogIGFyZ3MgPSBhcmdzIHx8IFtdOwogIC8vIG9uY2Ugc3R1ZmYKICB2YXIgb25jZUxpc3RlbmVycyA9IHRoaXMuX29uY2VFdmVudHMgJiYgdGhpcy5fb25jZUV2ZW50c1sgZXZlbnROYW1lIF07CgogIGZvciAoIHZhciBpPTA7IGkgPCBsaXN0ZW5lcnMubGVuZ3RoOyBpKysgKSB7CiAgICB2YXIgbGlzdGVuZXIgPSBsaXN0ZW5lcnNbaV0KICAgIHZhciBpc09uY2UgPSBvbmNlTGlzdGVuZXJzICYmIG9uY2VMaXN0ZW5lcnNbIGxpc3RlbmVyIF07CiAgICBpZiAoIGlzT25jZSApIHsKICAgICAgLy8gcmVtb3ZlIGxpc3RlbmVyCiAgICAgIC8vIHJlbW92ZSBiZWZvcmUgdHJpZ2dlciB0byBwcmV2ZW50IHJlY3Vyc2lvbgogICAgICB0aGlzLm9mZiggZXZlbnROYW1lLCBsaXN0ZW5lciApOwogICAgICAvLyB1bnNldCBvbmNlIGZsYWcKICAgICAgZGVsZXRlIG9uY2VMaXN0ZW5lcnNbIGxpc3RlbmVyIF07CiAgICB9CiAgICAvLyB0cmlnZ2VyIGxpc3RlbmVyCiAgICBsaXN0ZW5lci5hcHBseSggdGhpcywgYXJncyApOwogIH0KCiAgcmV0dXJuIHRoaXM7Cn07Cgpwcm90by5hbGxPZmYgPSBmdW5jdGlvbigpIHsKICBkZWxldGUgdGhpcy5fZXZlbnRzOwogIGRlbGV0ZSB0aGlzLl9vbmNlRXZlbnRzOwp9OwoKcmV0dXJuIEV2RW1pdHRlcjsKCn0pKTsKCi8qIQogKiBpbWFnZXNMb2FkZWQgdjQuMS40CiAqIEphdmFTY3JpcHQgaXMgYWxsIGxpa2UgIllvdSBpbWFnZXMgYXJlIGRvbmUgeWV0IG9yIHdoYXQ/IgogKiBNSVQgTGljZW5zZQogKi8KCiggZnVuY3Rpb24oIHdpbmRvdywgZmFjdG9yeSApIHsgJ3VzZSBzdHJpY3QnOwogIC8vIHVuaXZlcnNhbCBtb2R1bGUgZGVmaW5pdGlvbgoKICAvKmdsb2JhbCBkZWZpbmU6IGZhbHNlLCBtb2R1bGU6IGZhbHNlLCByZXF1aXJlOiBmYWxzZSAqLwoKICBpZiAoIHR5cGVvZiBkZWZpbmUgPT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kICkgewogICAgLy8gQU1ECiAgICBkZWZpbmUoIFsKICAgICAgJ2V2LWVtaXR0ZXIvZXYtZW1pdHRlcicKICAgIF0sIGZ1bmN0aW9uKCBFdkVtaXR0ZXIgKSB7CiAgICAgIHJldHVybiBmYWN0b3J5KCB3aW5kb3csIEV2RW1pdHRlciApOwogICAgfSk7CiAgfSBlbHNlIGlmICggdHlwZW9mIG1vZHVsZSA9PSAnb2JqZWN0JyAmJiBtb2R1bGUuZXhwb3J0cyApIHsKICAgIC8vIENvbW1vbkpTCiAgICBtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoCiAgICAgIHdpbmRvdywKICAgICAgcmVxdWlyZSgnZXYtZW1pdHRlcicpCiAgICApOwogIH0gZWxzZSB7CiAgICAvLyBicm93c2VyIGdsb2JhbAogICAgd2luZG93LmltYWdlc0xvYWRlZCA9IGZhY3RvcnkoCiAgICAgIHdpbmRvdywKICAgICAgd2luZG93LkV2RW1pdHRlcgogICAgKTsKICB9Cgp9KSggdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cgOiB0aGlzLAoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIGZhY3RvcnkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy8KCmZ1bmN0aW9uIGZhY3RvcnkoIHdpbmRvdywgRXZFbWl0dGVyICkgewoKCgp2YXIgJCA9IHdpbmRvdy5qUXVlcnk7CnZhciBjb25zb2xlID0gd2luZG93LmNvbnNvbGU7CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBoZWxwZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgovLyBleHRlbmQgb2JqZWN0cwpmdW5jdGlvbiBleHRlbmQoIGEsIGIgKSB7CiAgZm9yICggdmFyIHByb3AgaW4gYiApIHsKICAgIGFbIHByb3AgXSA9IGJbIHByb3AgXTsKICB9CiAgcmV0dXJuIGE7Cn0KCnZhciBhcnJheVNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwoKLy8gdHVybiBlbGVtZW50IG9yIG5vZGVMaXN0IGludG8gYW4gYXJyYXkKZnVuY3Rpb24gbWFrZUFycmF5KCBvYmogKSB7CiAgaWYgKCBBcnJheS5pc0FycmF5KCBvYmogKSApIHsKICAgIC8vIHVzZSBvYmplY3QgaWYgYWxyZWFkeSBhbiBhcnJheQogICAgcmV0dXJuIG9iajsKICB9CgogIHZhciBpc0FycmF5TGlrZSA9IHR5cGVvZiBvYmogPT0gJ29iamVjdCcgJiYgdHlwZW9mIG9iai5sZW5ndGggPT0gJ251bWJlcic7CiAgaWYgKCBpc0FycmF5TGlrZSApIHsKICAgIC8vIGNvbnZlcnQgbm9kZUxpc3QgdG8gYXJyYXkKICAgIHJldHVybiBhcnJheVNsaWNlLmNhbGwoIG9iaiApOwogIH0KCiAgLy8gYXJyYXkgb2Ygc2luZ2xlIGluZGV4CiAgcmV0dXJuIFsgb2JqIF07Cn0KCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGltYWdlc0xvYWRlZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvLwoKLyoqCiAqIEBwYXJhbSB7QXJyYXksIEVsZW1lbnQsIE5vZGVMaXN0LCBTdHJpbmd9IGVsZW0KICogQHBhcmFtIHtPYmplY3Qgb3IgRnVuY3Rpb259IG9wdGlvbnMgLSBpZiBmdW5jdGlvbiwgdXNlIGFzIGNhbGxiYWNrCiAqIEBwYXJhbSB7RnVuY3Rpb259IG9uQWx3YXlzIC0gY2FsbGJhY2sgZnVuY3Rpb24KICovCmZ1bmN0aW9uIEltYWdlc0xvYWRlZCggZWxlbSwgb3B0aW9ucywgb25BbHdheXMgKSB7CiAgLy8gY29lcmNlIEltYWdlc0xvYWRlZCgpIHdpdGhvdXQgbmV3LCB0byBiZSBuZXcgSW1hZ2VzTG9hZGVkKCkKICBpZiAoICEoIHRoaXMgaW5zdGFuY2VvZiBJbWFnZXNMb2FkZWQgKSApIHsKICAgIHJldHVybiBuZXcgSW1hZ2VzTG9hZGVkKCBlbGVtLCBvcHRpb25zLCBvbkFsd2F5cyApOwogIH0KICAvLyB1c2UgZWxlbSBhcyBzZWxlY3RvciBzdHJpbmcKICB2YXIgcXVlcnlFbGVtID0gZWxlbTsKICBpZiAoIHR5cGVvZiBlbGVtID09ICdzdHJpbmcnICkgewogICAgcXVlcnlFbGVtID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCggZWxlbSApOwogIH0KICAvLyBiYWlsIGlmIGJhZCBlbGVtZW50CiAgaWYgKCAhcXVlcnlFbGVtICkgewogICAgY29uc29sZS5lcnJvciggJ0JhZCBlbGVtZW50IGZvciBpbWFnZXNMb2FkZWQgJyArICggcXVlcnlFbGVtIHx8IGVsZW0gKSApOwogICAgcmV0dXJuOwogIH0KCiAgdGhpcy5lbGVtZW50cyA9IG1ha2VBcnJheSggcXVlcnlFbGVtICk7CiAgdGhpcy5vcHRpb25zID0gZXh0ZW5kKCB7fSwgdGhpcy5vcHRpb25zICk7CiAgLy8gc2hpZnQgYXJndW1lbnRzIGlmIG5vIG9wdGlvbnMgc2V0CiAgaWYgKCB0eXBlb2Ygb3B0aW9ucyA9PSAnZnVuY3Rpb24nICkgewogICAgb25BbHdheXMgPSBvcHRpb25zOwogIH0gZWxzZSB7CiAgICBleHRlbmQoIHRoaXMub3B0aW9ucywgb3B0aW9ucyApOwogIH0KCiAgaWYgKCBvbkFsd2F5cyApIHsKICAgIHRoaXMub24oICdhbHdheXMnLCBvbkFsd2F5cyApOwogIH0KCiAgdGhpcy5nZXRJbWFnZXMoKTsKCiAgaWYgKCAkICkgewogICAgLy8gYWRkIGpRdWVyeSBEZWZlcnJlZCBvYmplY3QKICAgIHRoaXMuanFEZWZlcnJlZCA9IG5ldyAkLkRlZmVycmVkKCk7CiAgfQoKICAvLyBIQUNLIGNoZWNrIGFzeW5jIHRvIGFsbG93IHRpbWUgdG8gYmluZCBsaXN0ZW5lcnMKICBzZXRUaW1lb3V0KCB0aGlzLmNoZWNrLmJpbmQoIHRoaXMgKSApOwp9CgpJbWFnZXNMb2FkZWQucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZSggRXZFbWl0dGVyLnByb3RvdHlwZSApOwoKSW1hZ2VzTG9hZGVkLnByb3RvdHlwZS5vcHRpb25zID0ge307CgpJbWFnZXNMb2FkZWQucHJvdG90eXBlLmdldEltYWdlcyA9IGZ1bmN0aW9uKCkgewogIHRoaXMuaW1hZ2VzID0gW107CgogIC8vIGZpbHRlciAmIGZpbmQgaXRlbXMgaWYgd2UgaGF2ZSBhbiBpdGVtIHNlbGVjdG9yCiAgdGhpcy5lbGVtZW50cy5mb3JFYWNoKCB0aGlzLmFkZEVsZW1lbnRJbWFnZXMsIHRoaXMgKTsKfTsKCi8qKgogKiBAcGFyYW0ge05vZGV9IGVsZW1lbnQKICovCkltYWdlc0xvYWRlZC5wcm90b3R5cGUuYWRkRWxlbWVudEltYWdlcyA9IGZ1bmN0aW9uKCBlbGVtICkgewogIC8vIGZpbHRlciBzaWJsaW5ncwogIGlmICggZWxlbS5ub2RlTmFtZSA9PSAnSU1HJyApIHsKICAgIHRoaXMuYWRkSW1hZ2UoIGVsZW0gKTsKICB9CiAgLy8gZ2V0IGJhY2tncm91bmQgaW1hZ2Ugb24gZWxlbWVudAogIGlmICggdGhpcy5vcHRpb25zLmJhY2tncm91bmQgPT09IHRydWUgKSB7CiAgICB0aGlzLmFkZEVsZW1lbnRCYWNrZ3JvdW5kSW1hZ2VzKCBlbGVtICk7CiAgfQoKICAvLyBmaW5kIGNoaWxkcmVuCiAgLy8gbm8gbm9uLWVsZW1lbnQgbm9kZXMsICMxNDMKICB2YXIgbm9kZVR5cGUgPSBlbGVtLm5vZGVUeXBlOwogIGlmICggIW5vZGVUeXBlIHx8ICFlbGVtZW50Tm9kZVR5cGVzWyBub2RlVHlwZSBdICkgewogICAgcmV0dXJuOwogIH0KICB2YXIgY2hpbGRJbWdzID0gZWxlbS5xdWVyeVNlbGVjdG9yQWxsKCdpbWcnKTsKICAvLyBjb25jYXQgY2hpbGRFbGVtcyB0byBmaWx0ZXJGb3VuZCBhcnJheQogIGZvciAoIHZhciBpPTA7IGkgPCBjaGlsZEltZ3MubGVuZ3RoOyBpKysgKSB7CiAgICB2YXIgaW1nID0gY2hpbGRJbWdzW2ldOwogICAgdGhpcy5hZGRJbWFnZSggaW1nICk7CiAgfQoKICAvLyBnZXQgY2hpbGQgYmFja2dyb3VuZCBpbWFnZXMKICBpZiAoIHR5cGVvZiB0aGlzLm9wdGlvbnMuYmFja2dyb3VuZCA9PSAnc3RyaW5nJyApIHsKICAgIHZhciBjaGlsZHJlbiA9IGVsZW0ucXVlcnlTZWxlY3RvckFsbCggdGhpcy5vcHRpb25zLmJhY2tncm91bmQgKTsKICAgIGZvciAoIGk9MDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrICkgewogICAgICB2YXIgY2hpbGQgPSBjaGlsZHJlbltpXTsKICAgICAgdGhpcy5hZGRFbGVtZW50QmFja2dyb3VuZEltYWdlcyggY2hpbGQgKTsKICAgIH0KICB9Cn07Cgp2YXIgZWxlbWVudE5vZGVUeXBlcyA9IHsKICAxOiB0cnVlLAogIDk6IHRydWUsCiAgMTE6IHRydWUKfTsKCkltYWdlc0xvYWRlZC5wcm90b3R5cGUuYWRkRWxlbWVudEJhY2tncm91bmRJbWFnZXMgPSBmdW5jdGlvbiggZWxlbSApIHsKICB2YXIgc3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKCBlbGVtICk7CiAgaWYgKCAhc3R5bGUgKSB7CiAgICAvLyBGaXJlZm94IHJldHVybnMgbnVsbCBpZiBpbiBhIGhpZGRlbiBpZnJhbWUgaHR0cHM6Ly9idWd6aWwubGEvNTQ4Mzk3CiAgICByZXR1cm47CiAgfQogIC8vIGdldCB1cmwgaW5zaWRlIHVybCgiLi4uIikKICB2YXIgcmVVUkwgPSAvdXJsXCgoWyciXSk/KC4qPylcMVwpL2dpOwogIHZhciBtYXRjaGVzID0gcmVVUkwuZXhlYyggc3R5bGUuYmFja2dyb3VuZEltYWdlICk7CiAgd2hpbGUgKCBtYXRjaGVzICE9PSBudWxsICkgewogICAgdmFyIHVybCA9IG1hdGNoZXMgJiYgbWF0Y2hlc1syXTsKICAgIGlmICggdXJsICkgewogICAgICB0aGlzLmFkZEJhY2tncm91bmQoIHVybCwgZWxlbSApOwogICAgfQogICAgbWF0Y2hlcyA9IHJlVVJMLmV4ZWMoIHN0eWxlLmJhY2tncm91bmRJbWFnZSApOwogIH0KfTsKCi8qKgogKiBAcGFyYW0ge0ltYWdlfSBpbWcKICovCkltYWdlc0xvYWRlZC5wcm90b3R5cGUuYWRkSW1hZ2UgPSBmdW5jdGlvbiggaW1nICkgewogIHZhciBsb2FkaW5nSW1hZ2UgPSBuZXcgTG9hZGluZ0ltYWdlKCBpbWcgKTsKICB0aGlzLmltYWdlcy5wdXNoKCBsb2FkaW5nSW1hZ2UgKTsKfTsKCkltYWdlc0xvYWRlZC5wcm90b3R5cGUuYWRkQmFja2dyb3VuZCA9IGZ1bmN0aW9uKCB1cmwsIGVsZW0gKSB7CiAgdmFyIGJhY2tncm91bmQgPSBuZXcgQmFja2dyb3VuZCggdXJsLCBlbGVtICk7CiAgdGhpcy5pbWFnZXMucHVzaCggYmFja2dyb3VuZCApOwp9OwoKSW1hZ2VzTG9hZGVkLnByb3RvdHlwZS5jaGVjayA9IGZ1bmN0aW9uKCkgewogIHZhciBfdGhpcyA9IHRoaXM7CiAgdGhpcy5wcm9ncmVzc2VkQ291bnQgPSAwOwogIHRoaXMuaGFzQW55QnJva2VuID0gZmFsc2U7CiAgLy8gY29tcGxldGUgaWYgbm8gaW1hZ2VzCiAgaWYgKCAhdGhpcy5pbWFnZXMubGVuZ3RoICkgewogICAgdGhpcy5jb21wbGV0ZSgpOwogICAgcmV0dXJuOwogIH0KCiAgZnVuY3Rpb24gb25Qcm9ncmVzcyggaW1hZ2UsIGVsZW0sIG1lc3NhZ2UgKSB7CiAgICAvLyBIQUNLIC0gQ2hyb21lIHRyaWdnZXJzIGV2ZW50IGJlZm9yZSBvYmplY3QgcHJvcGVydGllcyBoYXZlIGNoYW5nZWQuICM4MwogICAgc2V0VGltZW91dCggZnVuY3Rpb24oKSB7CiAgICAgIF90aGlzLnByb2dyZXNzKCBpbWFnZSwgZWxlbSwgbWVzc2FnZSApOwogICAgfSk7CiAgfQoKICB0aGlzLmltYWdlcy5mb3JFYWNoKCBmdW5jdGlvbiggbG9hZGluZ0ltYWdlICkgewogICAgbG9hZGluZ0ltYWdlLm9uY2UoICdwcm9ncmVzcycsIG9uUHJvZ3Jlc3MgKTsKICAgIGxvYWRpbmdJbWFnZS5jaGVjaygpOwogIH0pOwp9OwoKSW1hZ2VzTG9hZGVkLnByb3RvdHlwZS5wcm9ncmVzcyA9IGZ1bmN0aW9uKCBpbWFnZSwgZWxlbSwgbWVzc2FnZSApIHsKICB0aGlzLnByb2dyZXNzZWRDb3VudCsrOwogIHRoaXMuaGFzQW55QnJva2VuID0gdGhpcy5oYXNBbnlCcm9rZW4gfHwgIWltYWdlLmlzTG9hZGVkOwogIC8vIHByb2dyZXNzIGV2ZW50CiAgdGhpcy5lbWl0RXZlbnQoICdwcm9ncmVzcycsIFsgdGhpcywgaW1hZ2UsIGVsZW0gXSApOwogIGlmICggdGhpcy5qcURlZmVycmVkICYmIHRoaXMuanFEZWZlcnJlZC5ub3RpZnkgKSB7CiAgICB0aGlzLmpxRGVmZXJyZWQubm90aWZ5KCB0aGlzLCBpbWFnZSApOwogIH0KICAvLyBjaGVjayBpZiBjb21wbGV0ZWQKICBpZiAoIHRoaXMucHJvZ3Jlc3NlZENvdW50ID09IHRoaXMuaW1hZ2VzLmxlbmd0aCApIHsKICAgIHRoaXMuY29tcGxldGUoKTsKICB9CgogIGlmICggdGhpcy5vcHRpb25zLmRlYnVnICYmIGNvbnNvbGUgKSB7CiAgICBjb25zb2xlLmxvZyggJ3Byb2dyZXNzOiAnICsgbWVzc2FnZSwgaW1hZ2UsIGVsZW0gKTsKICB9Cn07CgpJbWFnZXNMb2FkZWQucHJvdG90eXBlLmNvbXBsZXRlID0gZnVuY3Rpb24oKSB7CiAgdmFyIGV2ZW50TmFtZSA9IHRoaXMuaGFzQW55QnJva2VuID8gJ2ZhaWwnIDogJ2RvbmUnOwogIHRoaXMuaXNDb21wbGV0ZSA9IHRydWU7CiAgdGhpcy5lbWl0RXZlbnQoIGV2ZW50TmFtZSwgWyB0aGlzIF0gKTsKICB0aGlzLmVtaXRFdmVudCggJ2Fsd2F5cycsIFsgdGhpcyBdICk7CiAgaWYgKCB0aGlzLmpxRGVmZXJyZWQgKSB7CiAgICB2YXIganFNZXRob2QgPSB0aGlzLmhhc0FueUJyb2tlbiA/ICdyZWplY3QnIDogJ3Jlc29sdmUnOwogICAgdGhpcy5qcURlZmVycmVkWyBqcU1ldGhvZCBdKCB0aGlzICk7CiAgfQp9OwoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgpmdW5jdGlvbiBMb2FkaW5nSW1hZ2UoIGltZyApIHsKICB0aGlzLmltZyA9IGltZzsKfQoKTG9hZGluZ0ltYWdlLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoIEV2RW1pdHRlci5wcm90b3R5cGUgKTsKCkxvYWRpbmdJbWFnZS5wcm90b3R5cGUuY2hlY2sgPSBmdW5jdGlvbigpIHsKICAvLyBJZiBjb21wbGV0ZSBpcyB0cnVlIGFuZCBicm93c2VyIHN1cHBvcnRzIG5hdHVyYWwgc2l6ZXMsCiAgLy8gdHJ5IHRvIGNoZWNrIGZvciBpbWFnZSBzdGF0dXMgbWFudWFsbHkuCiAgdmFyIGlzQ29tcGxldGUgPSB0aGlzLmdldElzSW1hZ2VDb21wbGV0ZSgpOwogIGlmICggaXNDb21wbGV0ZSApIHsKICAgIC8vIHJlcG9ydCBiYXNlZCBvbiBuYXR1cmFsV2lkdGgKICAgIHRoaXMuY29uZmlybSggdGhpcy5pbWcubmF0dXJhbFdpZHRoICE9PSAwLCAnbmF0dXJhbFdpZHRoJyApOwogICAgcmV0dXJuOwogIH0KCiAgLy8gSWYgbm9uZSBvZiB0aGUgY2hlY2tzIGFib3ZlIG1hdGNoZWQsIHNpbXVsYXRlIGxvYWRpbmcgb24gZGV0YWNoZWQgZWxlbWVudC4KICB0aGlzLnByb3h5SW1hZ2UgPSBuZXcgSW1hZ2UoKTsKICB0aGlzLnByb3h5SW1hZ2UuYWRkRXZlbnRMaXN0ZW5lciggJ2xvYWQnLCB0aGlzICk7CiAgdGhpcy5wcm94eUltYWdlLmFkZEV2ZW50TGlzdGVuZXIoICdlcnJvcicsIHRoaXMgKTsKICAvLyBiaW5kIHRvIGltYWdlIGFzIHdlbGwgZm9yIEZpcmVmb3guICMxOTEKICB0aGlzLmltZy5hZGRFdmVudExpc3RlbmVyKCAnbG9hZCcsIHRoaXMgKTsKICB0aGlzLmltZy5hZGRFdmVudExpc3RlbmVyKCAnZXJyb3InLCB0aGlzICk7CiAgdGhpcy5wcm94eUltYWdlLnNyYyA9IHRoaXMuaW1nLnNyYzsKfTsKCkxvYWRpbmdJbWFnZS5wcm90b3R5cGUuZ2V0SXNJbWFnZUNvbXBsZXRlID0gZnVuY3Rpb24oKSB7CiAgLy8gY2hlY2sgZm9yIG5vbi16ZXJvLCBub24tdW5kZWZpbmVkIG5hdHVyYWxXaWR0aAogIC8vIGZpeGVzIFNhZmFyaStJbmZpbml0ZVNjcm9sbCtNYXNvbnJ5IGJ1ZyBpbmZpbml0ZS1zY3JvbGwjNjcxCiAgcmV0dXJuIHRoaXMuaW1nLmNvbXBsZXRlICYmIHRoaXMuaW1nLm5hdHVyYWxXaWR0aDsKfTsKCkxvYWRpbmdJbWFnZS5wcm90b3R5cGUuY29uZmlybSA9IGZ1bmN0aW9uKCBpc0xvYWRlZCwgbWVzc2FnZSApIHsKICB0aGlzLmlzTG9hZGVkID0gaXNMb2FkZWQ7CiAgdGhpcy5lbWl0RXZlbnQoICdwcm9ncmVzcycsIFsgdGhpcywgdGhpcy5pbWcsIG1lc3NhZ2UgXSApOwp9OwoKLy8gLS0tLS0gZXZlbnRzIC0tLS0tIC8vCgovLyB0cmlnZ2VyIHNwZWNpZmllZCBoYW5kbGVyIGZvciBldmVudCB0eXBlCkxvYWRpbmdJbWFnZS5wcm90b3R5cGUuaGFuZGxlRXZlbnQgPSBmdW5jdGlvbiggZXZlbnQgKSB7CiAgdmFyIG1ldGhvZCA9ICdvbicgKyBldmVudC50eXBlOwogIGlmICggdGhpc1sgbWV0aG9kIF0gKSB7CiAgICB0aGlzWyBtZXRob2QgXSggZXZlbnQgKTsKICB9Cn07CgpMb2FkaW5nSW1hZ2UucHJvdG90eXBlLm9ubG9hZCA9IGZ1bmN0aW9uKCkgewogIHRoaXMuY29uZmlybSggdHJ1ZSwgJ29ubG9hZCcgKTsKICB0aGlzLnVuYmluZEV2ZW50cygpOwp9OwoKTG9hZGluZ0ltYWdlLnByb3RvdHlwZS5vbmVycm9yID0gZnVuY3Rpb24oKSB7CiAgdGhpcy5jb25maXJtKCBmYWxzZSwgJ29uZXJyb3InICk7CiAgdGhpcy51bmJpbmRFdmVudHMoKTsKfTsKCkxvYWRpbmdJbWFnZS5wcm90b3R5cGUudW5iaW5kRXZlbnRzID0gZnVuY3Rpb24oKSB7CiAgdGhpcy5wcm94eUltYWdlLnJlbW92ZUV2ZW50TGlzdGVuZXIoICdsb2FkJywgdGhpcyApOwogIHRoaXMucHJveHlJbWFnZS5yZW1vdmVFdmVudExpc3RlbmVyKCAnZXJyb3InLCB0aGlzICk7CiAgdGhpcy5pbWcucmVtb3ZlRXZlbnRMaXN0ZW5lciggJ2xvYWQnLCB0aGlzICk7CiAgdGhpcy5pbWcucmVtb3ZlRXZlbnRMaXN0ZW5lciggJ2Vycm9yJywgdGhpcyApOwp9OwoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQmFja2dyb3VuZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvLwoKZnVuY3Rpb24gQmFja2dyb3VuZCggdXJsLCBlbGVtZW50ICkgewogIHRoaXMudXJsID0gdXJsOwogIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7CiAgdGhpcy5pbWcgPSBuZXcgSW1hZ2UoKTsKfQoKLy8gaW5oZXJpdCBMb2FkaW5nSW1hZ2UgcHJvdG90eXBlCkJhY2tncm91bmQucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZSggTG9hZGluZ0ltYWdlLnByb3RvdHlwZSApOwoKQmFja2dyb3VuZC5wcm90b3R5cGUuY2hlY2sgPSBmdW5jdGlvbigpIHsKICB0aGlzLmltZy5hZGRFdmVudExpc3RlbmVyKCAnbG9hZCcsIHRoaXMgKTsKICB0aGlzLmltZy5hZGRFdmVudExpc3RlbmVyKCAnZXJyb3InLCB0aGlzICk7CiAgdGhpcy5pbWcuc3JjID0gdGhpcy51cmw7CiAgLy8gY2hlY2sgaWYgaW1hZ2UgaXMgYWxyZWFkeSBjb21wbGV0ZQogIHZhciBpc0NvbXBsZXRlID0gdGhpcy5nZXRJc0ltYWdlQ29tcGxldGUoKTsKICBpZiAoIGlzQ29tcGxldGUgKSB7CiAgICB0aGlzLmNvbmZpcm0oIHRoaXMuaW1nLm5hdHVyYWxXaWR0aCAhPT0gMCwgJ25hdHVyYWxXaWR0aCcgKTsKICAgIHRoaXMudW5iaW5kRXZlbnRzKCk7CiAgfQp9OwoKQmFja2dyb3VuZC5wcm90b3R5cGUudW5iaW5kRXZlbnRzID0gZnVuY3Rpb24oKSB7CiAgdGhpcy5pbWcucmVtb3ZlRXZlbnRMaXN0ZW5lciggJ2xvYWQnLCB0aGlzICk7CiAgdGhpcy5pbWcucmVtb3ZlRXZlbnRMaXN0ZW5lciggJ2Vycm9yJywgdGhpcyApOwp9OwoKQmFja2dyb3VuZC5wcm90b3R5cGUuY29uZmlybSA9IGZ1bmN0aW9uKCBpc0xvYWRlZCwgbWVzc2FnZSApIHsKICB0aGlzLmlzTG9hZGVkID0gaXNMb2FkZWQ7CiAgdGhpcy5lbWl0RXZlbnQoICdwcm9ncmVzcycsIFsgdGhpcywgdGhpcy5lbGVtZW50LCBtZXNzYWdlIF0gKTsKfTsKCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGpRdWVyeSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvLwoKSW1hZ2VzTG9hZGVkLm1ha2VKUXVlcnlQbHVnaW4gPSBmdW5jdGlvbiggalF1ZXJ5ICkgewogIGpRdWVyeSA9IGpRdWVyeSB8fCB3aW5kb3cualF1ZXJ5OwogIGlmICggIWpRdWVyeSApIHsKICAgIHJldHVybjsKICB9CiAgLy8gc2V0IGxvY2FsIHZhcmlhYmxlCiAgJCA9IGpRdWVyeTsKICAvLyAkKCkuaW1hZ2VzTG9hZGVkKCkKICAkLmZuLmltYWdlc0xvYWRlZCA9IGZ1bmN0aW9uKCBvcHRpb25zLCBjYWxsYmFjayApIHsKICAgIHZhciBpbnN0YW5jZSA9IG5ldyBJbWFnZXNMb2FkZWQoIHRoaXMsIG9wdGlvbnMsIGNhbGxiYWNrICk7CiAgICByZXR1cm4gaW5zdGFuY2UuanFEZWZlcnJlZC5wcm9taXNlKCAkKHRoaXMpICk7CiAgfTsKfTsKLy8gdHJ5IG1ha2luZyBwbHVnaW4KSW1hZ2VzTG9hZGVkLm1ha2VKUXVlcnlQbHVnaW4oKTsKCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvLwoKcmV0dXJuIEltYWdlc0xvYWRlZDsKCn0pOwoK"}},"time_used":602,"timings":{"blocked":509,"dns":0,"connect":0,"send":0,"wait":93,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=3.26.5","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.918Z","timestamp":1785141582918,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/plugins/elementor/assets/js/frontend.min.js?ver=3.26.5 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:57:49 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 13774\r\nKeep-Alive: timeout=5, max=96\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":45428,"size_decoded":14140,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (45388)","md5":"24e0410994a3dd425d09aa3002a87c78","sha1":"d7d7079837325000e3f2a88035435f00ad2925aa","sha256":"254dd3e8fff8f187a7c0fda211fa20f3cf11c783b6c95a93df2ae22696cf0e86","sha512":"db9ef5800a0f0194a0734cac4243af887fbc59c919a02ce20a61e7e4ee84876aedf82b54c516b67a57270dbd0c09380d51d94ade96a0daa42da02f8facc0c5a0","ssdeep":"768:KRxLjt7ReRjDKvxH2Ea/AfjSfufVgLIHe9zKEAzBc5G2TSebsvT2QAU/BSB5oodf:KRxHt7ReRjD8xH2EanufVtrEAzBc5BT5","tlshash":"e913e7123192d4a656cf48b7b433021db3664dddb402b49db1bdace6a471e8373b2bb4","first_seen":"2025-01-16T00:22:47.982182Z","last_seen":"2026-07-27T12:12:28.927177Z","times_seen":575,"resource_available":true,"data":"LyohIGVsZW1lbnRvciAtIHYzLjI2LjAgLSAxNS0wMS0yMDI1ICovCiJ1c2Ugc3RyaWN0Ijsoc2VsZi53ZWJwYWNrQ2h1bmtlbGVtZW50b3I9c2VsZi53ZWJwYWNrQ2h1bmtlbGVtZW50b3J8fFtdKS5wdXNoKFtbMzEzXSx7NDA0NzooZSx0LG4pPT57dmFyIG89big2Nzg0KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMDt2YXIgcz1vKG4oMjg5MCkpO2NsYXNzIF9kZWZhdWx0IGV4dGVuZHMgZWxlbWVudG9yTW9kdWxlcy5WaWV3TW9kdWxle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmRvY3VtZW50cz17fSx0aGlzLmluaXREb2N1bWVudENsYXNzZXMoKSx0aGlzLmF0dGFjaERvY3VtZW50c0NsYXNzZXMoKX1nZXREZWZhdWx0U2V0dGluZ3MoKXtyZXR1cm57c2VsZWN0b3JzOntkb2N1bWVudDoiLmVsZW1lbnRvciJ9fX1nZXREZWZhdWx0RWxlbWVudHMoKXtjb25zdCBlPXRoaXMuZ2V0U2V0dGluZ3MoInNlbGVjdG9ycyIpO3JldHVybnskZG9jdW1lbnRzOmpRdWVyeShlLmRvY3VtZW50KX19aW5pdERvY3VtZW50Q2xhc3Nlcygpe3RoaXMuZG9jdW1lbnRDbGFzc2VzPXtiYXNlOnMuZGVmYXVsdH0sZWxlbWVudG9yRnJvbnRlbmQuaG9va3MuZG9BY3Rpb24oImVsZW1lbnRvci9mcm9udGVuZC9kb2N1bWVudHMtbWFuYWdlci9pbml0LWNsYXNzZXMiLHRoaXMpfWFkZERvY3VtZW50Q2xhc3MoZSx0KXt0aGlzLmRvY3VtZW50Q2xhc3Nlc1tlXT10fWF0dGFjaERvY3VtZW50c0NsYXNzZXMoKXt0aGlzLmVsZW1lbnRzLiRkb2N1bWVudHMuZWFjaCgoKGUsdCk9PnRoaXMuYXR0YWNoRG9jdW1lbnRDbGFzcyhqUXVlcnkodCkpKSl9YXR0YWNoRG9jdW1lbnRDbGFzcyhlKXtjb25zdCB0PWUuZGF0YSgpLG49dC5lbGVtZW50b3JJZCxvPXQuZWxlbWVudG9yVHlwZSxzPXRoaXMuZG9jdW1lbnRDbGFzc2VzW29dfHx0aGlzLmRvY3VtZW50Q2xhc3Nlcy5iYXNlO3RoaXMuZG9jdW1lbnRzW25dPW5ldyBzKHskZWxlbWVudDplLGlkOm59KX19dC5kZWZhdWx0PV9kZWZhdWx0fSw3MjQ4OihlLHQsbik9Pnt2YXIgbz1uKDY3ODQpO24oNzY2Nyk7dmFyIHM9byhuKDQ5NzApKSxpPW8obigzOTY5KSkscj1vKG4oMzY3OCkpLGE9byhuKDg4OTEpKSxsPW8obigyMDU2KSksZD1vKG4oMjQzOSkpLGM9byhuKDMyNDMpKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztjb25zdCBvPXt9O3RoaXMuZWxlbWVudHNIYW5kbGVycz17ImFjY29yZGlvbi5kZWZhdWx0IjooKT0+bi5lKDEzMSkudGhlbihuLmJpbmQobiw5Njc1KSksImFsZXJ0LmRlZmF1bHQiOigpPT5uLmUoNzA3KS50aGVuKG4uYmluZChuLDcyNDMpKSwiY291bnRlci5kZWZhdWx0IjooKT0+bi5lKDQ1NykudGhlbihuLmJpbmQobiwzOTA1KSksInByb2dyZXNzLmRlZmF1bHQiOigpPT5uLmUoMjM0KS50aGVuKG4uYmluZChuLDk3NTQpKSwidGFicy5kZWZhdWx0IjooKT0+bi5lKDU3NSkudGhlbihuLmJpbmQobiwzNDg1KSksInRvZ2dsZS5kZWZhdWx0IjooKT0+bi5lKDc3NSkudGhlbihuLmJpbmQobiwzMDQ5KSksInZpZGVvLmRlZmF1bHQiOigpPT5uLmUoMTgwKS50aGVuKG4uYmluZChuLDM3NzQpKSwiaW1hZ2UtY2Fyb3VzZWwuZGVmYXVsdCI6KCk9Pm4uZSgxNzcpLnRoZW4obi5iaW5kKG4sNDMxNSkpLCJ0ZXh0LWVkaXRvci5kZWZhdWx0IjooKT0+bi5lKDIxMikudGhlbihuLmJpbmQobiw1MzYyKSksIndwLXdpZGdldC1tZWRpYV9hdWRpby5kZWZhdWx0IjooKT0+bi5lKDIxMSkudGhlbihuLmJpbmQobiwyNzkzKSl9LGVsZW1lbnRvckZyb250ZW5kQ29uZmlnLmV4cGVyaW1lbnRhbEZlYXR1cmVzWyJuZXN0ZWQtZWxlbWVudHMiXSYmKHRoaXMuZWxlbWVudHNIYW5kbGVyc1sibmVzdGVkLXRhYnMuZGVmYXVsdCJdPSgpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKG4uYmluZChuLDQzMjgpKSksZWxlbWVudG9yRnJvbnRlbmRDb25maWcuZXhwZXJpbWVudGFsRmVhdHVyZXNbIm5lc3RlZC1lbGVtZW50cyJdJiYodGhpcy5lbGVtZW50c0hhbmRsZXJzWyJuZXN0ZWQtYWNjb3JkaW9uLmRlZmF1bHQiXT0oKT0+bi5lKDkxNSkudGhlbihuLmJpbmQobiw4MjE2KSkpLGVsZW1lbnRvckZyb250ZW5kQ29uZmlnLmV4cGVyaW1lbnRhbEZlYXR1cmVzLmNvbnRhaW5lciYmKHRoaXMuZWxlbWVudHNIYW5kbGVyc1siY29udGFjdC1idXR0b25zLmRlZmF1bHQiXT0oKT0+bi5lKDEpLnRoZW4obi5iaW5kKG4sNjI4NSkpLHRoaXMuZWxlbWVudHNIYW5kbGVyc1siZmxvYXRpbmctYmFycy12YXItMS5kZWZhdWx0Il09KCk9Pm4uZSgzMzYpLnRoZW4obi5iaW5kKG4sNTE5OSkpKTtjb25zdCBhZGRFbGVtZW50c0hhbmRsZXJzPSgpPT57dGhpcy5lbGVtZW50c0hhbmRsZXJzLnNlY3Rpb249W2QuZGVmYXVsdCwuLi5pLmRlZmF1bHQsbC5kZWZhdWx0LGMuZGVmYXVsdF0sdGhpcy5lbGVtZW50c0hhbmRsZXJzLmNvbnRhaW5lcj1bLi4uaS5kZWZhdWx0XSxlbGVtZW50b3JGcm9udGVuZC5pc0VkaXRNb2RlKCkmJnRoaXMuZWxlbWVudHNIYW5kbGVycy5jb250YWluZXIucHVzaCguLi5yLmRlZmF1bHQpLHRoaXMuZWxlbWVudHNIYW5kbGVycy5jb2x1bW49YS5kZWZhdWx0LGUuZWFjaCh0aGlzLmVsZW1lbnRzSGFuZGxlcnMsKChlLHQpPT57Y29uc3Qgbj1lLnNwbGl0KCIuIik7ZT1uWzBdO2NvbnN0IG89blsxXXx8bnVsbDt0aGlzLmF0dGFjaEhhbmRsZXIoZSx0LG8pfSkpfSxpc0NsYXNzSGFuZGxlcj1lPT5lLnByb3RvdHlwZT8uZ2V0VW5pcXVlSGFuZGxlcklEO3RoaXMuYWRkSGFuZGxlcj1mdW5jdGlvbih0LG4pe2NvbnN0IHM9bi4kZWxlbWVudC5kYXRhKCJtb2RlbC1jaWQiKTtsZXQgaTtpZihzKXtpPXQucHJvdG90eXBlLmdldENvbnN0cnVjdG9ySUQoKSxvW3NdfHwob1tzXT17fSk7Y29uc3QgZT1vW3NdW2ldO2UmJmUub25EZXN0cm95KCl9Y29uc3Qgcj1uZXcgdChuKTtlbGVtZW50b3JGcm9udGVuZC5ob29rcy5kb0FjdGlvbihgZnJvbnRlbmQvZWxlbWVudF9oYW5kbGVyX3JlYWR5LyR7bi5lbGVtZW50TmFtZX1gLG4uJGVsZW1lbnQsZSkscyYmKG9bc11baV09cil9LHRoaXMuYXR0YWNoSGFuZGxlcj0oZSxuLG8pPT57QXJyYXkuaXNBcnJheShuKXx8KG49W25dKSxuLmZvckVhY2goKG49PmZ1bmN0aW9uKGUsbil7bGV0IG89YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOiJkZWZhdWx0IjtvPW8/Ii4iK286IiI7Y29uc3Qgcz1lK287ZWxlbWVudG9yRnJvbnRlbmQuaG9va3MuYWRkQWN0aW9uKGBmcm9udGVuZC9lbGVtZW50X3JlYWR5LyR7c31gLChlPT57aWYoaXNDbGFzc0hhbmRsZXIobikpdC5hZGRIYW5kbGVyKG4seyRlbGVtZW50OmUsZWxlbWVudE5hbWU6c30sITApO2Vsc2V7Y29uc3Qgbz1uKCk7aWYoIW8pcmV0dXJuO28gaW5zdGFuY2VvZiBQcm9taXNlP28udGhlbigobj0+e2xldHtkZWZhdWx0Om99PW47dC5hZGRIYW5kbGVyKG8seyRlbGVtZW50OmUsZWxlbWVudE5hbWU6c30sITApfSkpOnQuYWRkSGFuZGxlcihvLHskZWxlbWVudDplLGVsZW1lbnROYW1lOnN9LCEwKX19KSl9KGUsbixvKSkpfSx0aGlzLmdldEhhbmRsZXI9ZnVuY3Rpb24oZSl7Y29uc3QgdD10aGlzLmVsZW1lbnRzSGFuZGxlcnNbZV07cmV0dXJuIGlzQ2xhc3NIYW5kbGVyKHQpP3Q6bmV3IFByb21pc2UoKGU9Pnt0KCkudGhlbigodD0+e2xldHtkZWZhdWx0Om59PXQ7ZShuKX0pKX0pKX0sdGhpcy5nZXRIYW5kbGVycz1mdW5jdGlvbihlKXtyZXR1cm4gZWxlbWVudG9yRGV2VG9vbHMuZGVwcmVjYXRpb24uZGVwcmVjYXRlZCgiZ2V0SGFuZGxlcnMiLCIzLjEuMCIsImVsZW1lbnRvckZyb250ZW5kLmVsZW1lbnRzSGFuZGxlci5nZXRIYW5kbGVyIiksZT90aGlzLmdldEhhbmRsZXIoZSk6dGhpcy5lbGVtZW50c0hhbmRsZXJzfSx0aGlzLnJ1blJlYWR5VHJpZ2dlcj1mdW5jdGlvbih0KXtjb25zdCBuPSEhdC5jbG9zZXN0KCdbZGF0YS1kZWxheS1jaGlsZC1oYW5kbGVycz0idHJ1ZSJdJykmJjAhPT10LmNsb3Nlc3QoJ1tkYXRhLWRlbGF5LWNoaWxkLWhhbmRsZXJzPSJ0cnVlIl0nKS5sZW5ndGg7aWYoZWxlbWVudG9yRnJvbnRlbmQuY29uZmlnLmlzX3N0YXRpY3x8bilyZXR1cm47Y29uc3Qgbz1qUXVlcnkodCkscz1vLmF0dHIoImRhdGEtZWxlbWVudF90eXBlIik7aWYocyYmKGVsZW1lbnRvckZyb250ZW5kLmhvb2tzLmRvQWN0aW9uKCJmcm9udGVuZC9lbGVtZW50X3JlYWR5L2dsb2JhbCIsbyxlKSxlbGVtZW50b3JGcm9udGVuZC5ob29rcy5kb0FjdGlvbihgZnJvbnRlbmQvZWxlbWVudF9yZWFkeS8ke3N9YCxvLGUpLCJ3aWRnZXQiPT09cykpe2NvbnN0IHQ9by5hdHRyKCJkYXRhLXdpZGdldF90eXBlIik7ZWxlbWVudG9yRnJvbnRlbmQuaG9va3MuZG9BY3Rpb24oYGZyb250ZW5kL2VsZW1lbnRfcmVhZHkvJHt0fWAsbyxlKX19LHRoaXMuaW5pdD0oKT0+e2VsZW1lbnRvckZyb250ZW5kLmhvb2tzLmFkZEFjdGlvbigiZnJvbnRlbmQvZWxlbWVudF9yZWFkeS9nbG9iYWwiLHMuZGVmYXVsdCksYWRkRWxlbWVudHNIYW5kbGVycygpfX19LDc2MDM6KGUsdCxuKT0+e3ZhciBvPW4oNjc4NCk7big4MzA5KTt2YXIgcz1vKG4oNDA0NykpLGk9byhuKDg3NjcpKSxyPW8obig1MTE1KSksYT1vKG4oNTA3MykpLGw9byhuKDMxMjYpKSxkPW8obig4NDI3KSksYz1vKG4oMzU4MikpLHU9byhuKDQ5MDEpKSxoPW8obig0MjUyKSksbT1vKG4oODQyMikpLGc9byhuKDU4OTYpKSxwPW8obig0Nzk5KSksZj1vKG4oNzg0MikpLHY9byhuKDYwNykpLGI9byhuKDk4MDcpKSx5PW4oNzY3Mik7Y29uc3QgXz1uKDU5NTYpLGs9big3MjQ4KSx3PW4oMjY4Myk7Y2xhc3MgRnJvbnRlbmQgZXh0ZW5kcyBlbGVtZW50b3JNb2R1bGVzLlZpZXdNb2R1bGV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuY29uZmlnPWVsZW1lbnRvckZyb250ZW5kQ29uZmlnLHRoaXMuY29uZmlnLmxlZ2FjeU1vZGU9e2dldCBlbGVtZW50V3JhcHBlcnMoKXtyZXR1cm4gZWxlbWVudG9yRnJvbnRlbmQuaXNFZGl0TW9kZSgpJiZ3aW5kb3cudG9wLmVsZW1lbnRvckRldlRvb2xzLmRlcHJlY2F0aW9uLmRlcHJlY2F0ZWQoImVsZW1lbnRvckZyb250ZW5kLmNvbmZpZy5sZWdhY3lNb2RlLmVsZW1lbnRXcmFwcGVycyIsIjMuMS4wIiksITF9fSx0aGlzLnBvcHVsYXRlQWN0aXZlQnJlYWtwb2ludHNDb25maWcoKX1nZXQgTW9kdWxlKCl7cmV0dXJuIHRoaXMuaXNFZGl0TW9kZSgpJiZwYXJlbnQuZWxlbWVudG9yRGV2VG9vbHMuZGVwcmVjYXRpb24uZGVwcmVjYXRlZCgiZWxlbWVudG9yRnJvbnRlbmQuTW9kdWxlIiwiMi41LjAiLCJlbGVtZW50b3JNb2R1bGVzLmZyb250ZW5kLmhhbmRsZXJzLkJhc2UiKSxlbGVtZW50b3JNb2R1bGVzLmZyb250ZW5kLmhhbmRsZXJzLkJhc2V9Z2V0RGVmYXVsdFNldHRpbmdzKCl7cmV0dXJue3NlbGVjdG9yczp7ZWxlbWVudG9yOiIuZWxlbWVudG9yIixhZG1pbkJhcjoiI3dwYWRtaW5iYXIifX19Z2V0RGVmYXVsdEVsZW1lbnRzKCl7Y29uc3QgZT17d2luZG93LCR3aW5kb3c6alF1ZXJ5KHdpbmRvdyksJGRvY3VtZW50OmpRdWVyeShkb2N1bWVudCksJGhlYWQ6alF1ZXJ5KGRvY3VtZW50LmhlYWQpLCRib2R5OmpRdWVyeShkb2N1bWVudC5ib2R5KSwkZGV2aWNlTW9kZTpqUXVlcnkoIjxzcGFuPiIse2lkOiJlbGVtZW50b3ItZGV2aWNlLW1vZGUiLGNsYXNzOiJlbGVtZW50b3Itc2NyZWVuLW9ubHkifSl9O3JldHVybiBlLiRib2R5LmFwcGVuZChlLiRkZXZpY2VNb2RlKSxlfWJpbmRFdmVudHMoKXt0aGlzLmVsZW1lbnRzLiR3aW5kb3cub24oInJlc2l6ZSIsKCgpPT50aGlzLnNldERldmljZU1vZGVEYXRhKCkpKX1nZXRFbGVtZW50cyhlKXtyZXR1cm4gdGhpcy5nZXRJdGVtcyh0aGlzLmVsZW1lbnRzLGUpfWdldFBhZ2VTZXR0aW5ncyhlKXtjb25zdCB0PXRoaXMuaXNFZGl0TW9kZSgpP2VsZW1lbnRvci5zZXR0aW5ncy5wYWdlLm1vZGVsLmF0dHJpYnV0ZXM6dGhpcy5jb25maWcuc2V0dGluZ3MucGFnZTtyZXR1cm4gdGhpcy5nZXRJdGVtcyh0LGUpfWdldEdlbmVyYWxTZXR0aW5ncyhlKXtyZXR1cm4gdGhpcy5pc0VkaXRNb2RlKCkmJnBhcmVudC5lbGVtZW50b3JEZXZUb29scy5kZXByZWNhdGlvbi5kZXByZWNhdGVkKCJnZXRHZW5lcmFsU2V0dGluZ3MoKSIsIjMuMC4wIiwiZ2V0S2l0U2V0dGluZ3MoKSBhbmQgcmVtb3ZlIHRoZSBgZWxlbWVudG9yX2AgcHJlZml4IiksdGhpcy5nZXRLaXRTZXR0aW5ncyhgZWxlbWVudG9yXyR7ZX1gKX1nZXRLaXRTZXR0aW5ncyhlKXtyZXR1cm4gdGhpcy5nZXRJdGVtcyh0aGlzLmNvbmZpZy5raXQsZSl9Z2V0Q3VycmVudERldmljZU1vZGUoKXtyZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmVsZW1lbnRzLiRkZXZpY2VNb2RlWzBdLCI6YWZ0ZXIiKS5jb250ZW50LnJlcGxhY2UoLyIvZywiIil9Z2V0RGV2aWNlU2V0dGluZyhlLHQsbil7aWYoIndpZGVzY3JlZW4iPT09ZSlyZXR1cm4gdGhpcy5nZXRXaWRlc2NyZWVuU2V0dGluZyh0LG4pO2NvbnN0IG89ZWxlbWVudG9yRnJvbnRlbmQuYnJlYWtwb2ludHMuZ2V0QWN0aXZlQnJlYWtwb2ludHNMaXN0KHtsYXJnZVRvU21hbGw6ITAsd2l0aERlc2t0b3A6ITB9KTtsZXQgcz1vLmluZGV4T2YoZSk7Zm9yKDtzPjA7KXtjb25zdCBlPXRbbisiXyIrb1tzXV07aWYoZXx8MD09PWUpcmV0dXJuIGU7cy0tfXJldHVybiB0W25dfWdldFdpZGVzY3JlZW5TZXR0aW5nKGUsdCl7Y29uc3Qgbj10KyJfd2lkZXNjcmVlbiI7bGV0IG87cmV0dXJuIG89ZVtuXT9lW25dOmVbdF0sb31nZXRDdXJyZW50RGV2aWNlU2V0dGluZyhlLHQpe3JldHVybiB0aGlzLmdldERldmljZVNldHRpbmcoZWxlbWVudG9yRnJvbnRlbmQuZ2V0Q3VycmVudERldmljZU1vZGUoKSxlLHQpfWlzRWRpdE1vZGUoKXtyZXR1cm4gdGhpcy5jb25maWcuZW52aXJvbm1lbnRNb2RlLmVkaXR9aXNXUFByZXZpZXdNb2RlKCl7cmV0dXJuIHRoaXMuY29uZmlnLmVudmlyb25tZW50TW9kZS53cFByZXZpZXd9aW5pdERpYWxvZ3NNYW5hZ2VyKCl7bGV0IGU7dGhpcy5nZXREaWFsb2dzTWFuYWdlcj0oKT0+KGV8fChlPW5ldyBEaWFsb2dzTWFuYWdlci5JbnN0YW5jZSksZSl9aW5pdE9uUmVhZHlDb21wb25lbnRzKCl7dGhpcy51dGlscz17eW91dHViZTpuZXcgYS5kZWZhdWx0LHZpbWVvOm5ldyBsLmRlZmF1bHQsYmFzZVZpZGVvTG9hZGVyOm5ldyBkLmRlZmF1bHQsZ2V0IGxpZ2h0Ym94KCl7cmV0dXJuIGguZGVmYXVsdC5nZXRMaWdodGJveCgpfSx1cmxBY3Rpb25zOm5ldyBjLmRlZmF1bHQsc3dpcGVyOnUuZGVmYXVsdCxlbnZpcm9ubWVudDpyLmRlZmF1bHQsYXNzZXRzTG9hZGVyOm5ldyBtLmRlZmF1bHQsZXNjYXBlSFRNTDp5LmVzY2FwZUhUTUwsZXZlbnRzOnAuZGVmYXVsdCxjb250cm9sczpuZXcgdi5kZWZhdWx0fSx0aGlzLmNvbmZpZy5leHBlcmltZW50YWxGZWF0dXJlcy5lX2Nzc19zbW9vdGhfc2Nyb2xsP3RoaXMudXRpbHMuYW5jaG9yX3Njcm9sbF9tYXJnaW49bmV3IGIuZGVmYXVsdDp0aGlzLnV0aWxzLmFuY2hvcnM9bmV3IHcsdGhpcy5tb2R1bGVzPXtTdHJldGNoRWxlbWVudDplbGVtZW50b3JNb2R1bGVzLmZyb250ZW5kLnRvb2xzLlN0cmV0Y2hFbGVtZW50LE1hc29ucnk6ZWxlbWVudG9yTW9kdWxlcy51dGlscy5NYXNvbnJ5fSx0aGlzLmVsZW1lbnRzSGFuZGxlci5pbml0KCksdGhpcy5pc0VkaXRNb2RlKCk/ZWxlbWVudG9yLm9uY2UoImRvY3VtZW50OmxvYWRlZCIsKCgpPT50aGlzLm9uRG9jdW1lbnRMb2FkZWQoKSkpOnRoaXMub25Eb2N1bWVudExvYWRlZCgpfWluaXRPblJlYWR5RWxlbWVudHMoKXt0aGlzLmVsZW1lbnRzLiR3cEFkbWluQmFyPXRoaXMuZWxlbWVudHMuJGRvY3VtZW50LmZpbmQodGhpcy5nZXRTZXR0aW5ncygic2VsZWN0b3JzLmFkbWluQmFyIikpfWFkZFVzZXJBZ2VudENsYXNzZXMoKXtmb3IoY29uc3RbZSx0XW9mIE9iamVjdC5lbnRyaWVzKHIuZGVmYXVsdCkpdCYmdGhpcy5lbGVtZW50cy4kYm9keS5hZGRDbGFzcygiZS0tdWEtIitlKX1zZXREZXZpY2VNb2RlRGF0YSgpe3RoaXMuZWxlbWVudHMuJGJvZHkuYXR0cigiZGF0YS1lbGVtZW50b3ItZGV2aWNlLW1vZGUiLHRoaXMuZ2V0Q3VycmVudERldmljZU1vZGUoKSl9YWRkTGlzdGVuZXJPbmNlKGUsdCxuLG8pe2lmKG98fChvPXRoaXMuZWxlbWVudHMuJHdpbmRvdyksdGhpcy5pc0VkaXRNb2RlKCkpaWYodGhpcy5yZW1vdmVMaXN0ZW5lcnMoZSx0LG8pLG8gaW5zdGFuY2VvZiBqUXVlcnkpe2NvbnN0IHM9dCsiLiIrZTtvLm9uKHMsbil9ZWxzZSBvLm9uKHQsbixlKTtlbHNlIG8ub24odCxuKX1yZW1vdmVMaXN0ZW5lcnMoZSx0LG4sbyl7aWYob3x8KG89dGhpcy5lbGVtZW50cy4kd2luZG93KSxvIGluc3RhbmNlb2YgalF1ZXJ5KXtjb25zdCBzPXQrIi4iK2U7by5vZmYocyxuKX1lbHNlIG8ub2ZmKHQsbixlKX1kZWJvdW5jZShlLHQpe2xldCBuO3JldHVybiBmdW5jdGlvbigpe2NvbnN0IG89dGhpcyxzPWFyZ3VtZW50cyxpPSFuO2NsZWFyVGltZW91dChuKSxuPXNldFRpbWVvdXQoKCgpPT57bj1udWxsLGUuYXBwbHkobyxzKX0pLHQpLGkmJmUuYXBwbHkobyxzKX19bXV0ZU1pZ3JhdGlvblRyYWNlcygpe2pRdWVyeS5taWdyYXRlTXV0ZT0hMCxqUXVlcnkubWlncmF0ZVRyYWNlPSExfWluaXRNb2R1bGVzKCl7Y29uc3QgZT17c2hhcGVzOmYuZGVmYXVsdH07ZWxlbWVudG9yRnJvbnRlbmQudHJpZ2dlcigiZWxlbWVudG9yL21vZHVsZXMvaW5pdDpiZWZvcmUiKSxlbGVtZW50b3JGcm9udGVuZC50cmlnZ2VyKCJlbGVtZW50b3IvbW9kdWxlcy9pbml0L2JlZm9yZSIpLE9iamVjdC5lbnRyaWVzKGUpLmZvckVhY2goKGU9PntsZXRbdCxuXT1lO3RoaXMubW9kdWxlc0hhbmRsZXJzW3RdPW5ldyBufSkpfXBvcHVsYXRlQWN0aXZlQnJlYWtwb2ludHNDb25maWcoKXt0aGlzLmNvbmZpZy5yZXNwb25zaXZlLmFjdGl2ZUJyZWFrcG9pbnRzPXt9LE9iamVjdC5lbnRyaWVzKHRoaXMuY29uZmlnLnJlc3BvbnNpdmUuYnJlYWtwb2ludHMpLmZvckVhY2goKGU9PntsZXRbdCxuXT1lO24uaXNfZW5hYmxlZCYmKHRoaXMuY29uZmlnLnJlc3BvbnNpdmUuYWN0aXZlQnJlYWtwb2ludHNbdF09bil9KSl9aW5pdCgpe3RoaXMuaG9va3M9bmV3IF8sdGhpcy5icmVha3BvaW50cz1uZXcgZy5kZWZhdWx0KHRoaXMuY29uZmlnLnJlc3BvbnNpdmUpLHRoaXMuc3RvcmFnZT1uZXcgaS5kZWZhdWx0LHRoaXMuZWxlbWVudHNIYW5kbGVyPW5ldyBrKGpRdWVyeSksdGhpcy5tb2R1bGVzSGFuZGxlcnM9e30sdGhpcy5hZGRVc2VyQWdlbnRDbGFzc2VzKCksdGhpcy5zZXREZXZpY2VNb2RlRGF0YSgpLHRoaXMuaW5pdERpYWxvZ3NNYW5hZ2VyKCksdGhpcy5pc0VkaXRNb2RlKCkmJnRoaXMubXV0ZU1pZ3JhdGlvblRyYWNlcygpLHAuZGVmYXVsdC5kaXNwYXRjaCh0aGlzLmVsZW1lbnRzLiR3aW5kb3csImVsZW1lbnRvci9mcm9udGVuZC9pbml0IiksdGhpcy5pbml0TW9kdWxlcygpLHRoaXMuaW5pdE9uUmVhZHlFbGVtZW50cygpLHRoaXMuaW5pdE9uUmVhZHlDb21wb25lbnRzKCl9b25Eb2N1bWVudExvYWRlZCgpe3RoaXMuZG9jdW1lbnRzTWFuYWdlcj1uZXcgcy5kZWZhdWx0LHRoaXMudHJpZ2dlcigiY29tcG9uZW50czppbml0IiksbmV3IGguZGVmYXVsdH19d2luZG93LmVsZW1lbnRvckZyb250ZW5kPW5ldyBGcm9udGVuZCxlbGVtZW50b3JGcm9udGVuZC5pc0VkaXRNb2RlKCl8fGpRdWVyeSgoKCk9PmVsZW1lbnRvckZyb250ZW5kLmluaXQoKSkpfSw2Mjg6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMDtjbGFzcyBCYWNrZ3JvdW5kU2xpZGVzaG93IGV4dGVuZHMgZWxlbWVudG9yTW9kdWxlcy5mcm9udGVuZC5oYW5kbGVycy5Td2lwZXJCYXNle2dldERlZmF1bHRTZXR0aW5ncygpe3JldHVybntjbGFzc2VzOntzd2lwZXJDb250YWluZXI6ImVsZW1lbnRvci1iYWNrZ3JvdW5kLXNsaWRlc2hvdyBzd2lwZXIiLHN3aXBlcldyYXBwZXI6InN3aXBlci13cmFwcGVyIixzd2lwZXJTbGlkZToiZWxlbWVudG9yLWJhY2tncm91bmQtc2xpZGVzaG93X19zbGlkZSBzd2lwZXItc2xpZGUiLHN3aXBlclByZWxvYWRlcjoic3dpcGVyLWxhenktcHJlbG9hZGVyIixzbGlkZUJhY2tncm91bmQ6ImVsZW1lbnRvci1iYWNrZ3JvdW5kLXNsaWRlc2hvd19fc2xpZGVfX2ltYWdlIixrZW5CdXJuczoiZWxlbWVudG9yLWtlbi1idXJucyIsa2VuQnVybnNBY3RpdmU6ImVsZW1lbnRvci1rZW4tYnVybnMtLWFjdGl2ZSIsa2VuQnVybnNJbjoiZWxlbWVudG9yLWtlbi1idXJucy0taW4iLGtlbkJ1cm5zT3V0OiJlbGVtZW50b3Ita2VuLWJ1cm5zLS1vdXQifX19Z2V0U3dpcGVyT3B0aW9ucygpe2NvbnN0IGU9dGhpcy5nZXRFbGVtZW50U2V0dGluZ3MoKSx0PXtncmFiQ3Vyc29yOiExLHNsaWRlc1BlclZpZXc6MSxzbGlkZXNQZXJHcm91cDoxLGxvb3A6InllcyI9PT1lLmJhY2tncm91bmRfc2xpZGVzaG93X2xvb3Asc3BlZWQ6ZS5iYWNrZ3JvdW5kX3NsaWRlc2hvd190cmFuc2l0aW9uX2R1cmF0aW9uLGF1dG9wbGF5OntkZWxheTplLmJhY2tncm91bmRfc2xpZGVzaG93X3NsaWRlX2R1cmF0aW9uLHN0b3BPbkxhc3RTbGlkZTohZS5iYWNrZ3JvdW5kX3NsaWRlc2hvd19sb29wfSxoYW5kbGVFbGVtZW50b3JCcmVha3BvaW50czohMCxvbjp7c2xpZGVDaGFuZ2U6KCk9PntlLmJhY2tncm91bmRfc2xpZGVzaG93X2tlbl9idXJucyYmdGhpcy5oYW5kbGVLZW5CdXJucygpfX19O3N3aXRjaCgieWVzIj09PWUuYmFja2dyb3VuZF9zbGlkZXNob3dfbG9vcCYmKHQubG9vcGVkU2xpZGVzPXRoaXMuZ2V0U2xpZGVzQ291bnQoKSksZS5iYWNrZ3JvdW5kX3NsaWRlc2hvd19zbGlkZV90cmFuc2l0aW9uKXtjYXNlImZhZGUiOnQuZWZmZWN0PSJmYWRlIix0LmZhZGVFZmZlY3Q9e2Nyb3NzRmFkZTohMH07YnJlYWs7Y2FzZSJzbGlkZV9kb3duIjp0LmF1dG9wbGF5LnJldmVyc2VEaXJlY3Rpb249ITAsdC5kaXJlY3Rpb249InZlcnRpY2FsIjticmVhaztjYXNlInNsaWRlX3VwIjp0LmRpcmVjdGlvbj0idmVydGljYWwifXJldHVybiJ5ZXMiPT09ZS5iYWNrZ3JvdW5kX3NsaWRlc2hvd19sYXp5bG9hZCYmKHQubGF6eT17bG9hZFByZXZOZXh0OiEwLGxvYWRQcmV2TmV4dEFtb3VudDoxfSksdH1idWlsZFN3aXBlckVsZW1lbnRzKCl7Y29uc3QgZT10aGlzLmdldFNldHRpbmdzKCJjbGFzc2VzIiksdD10aGlzLmdldEVsZW1lbnRTZXR0aW5ncygpLG49InNsaWRlX2xlZnQiPT09dC5iYWNrZ3JvdW5kX3NsaWRlc2hvd19zbGlkZV90cmFuc2l0aW9uPyJsdHIiOiJydGwiLG89alF1ZXJ5KCI8ZGl2PiIse2NsYXNzOmUuc3dpcGVyQ29udGFpbmVyLGRpcjpufSkscz1qUXVlcnkoIjxkaXY+Iix7Y2xhc3M6ZS5zd2lwZXJXcmFwcGVyfSksaT10LmJhY2tncm91bmRfc2xpZGVzaG93X2tlbl9idXJucyxyPSJ5ZXMiPT09dC5iYWNrZ3JvdW5kX3NsaWRlc2hvd19sYXp5bG9hZDtsZXQgYT1lLnNsaWRlQmFja2dyb3VuZDtpZihpKXthKz0iICIrZS5rZW5CdXJucztjb25zdCBuPSJpbiI9PT10LmJhY2tncm91bmRfc2xpZGVzaG93X2tlbl9idXJuc196b29tX2RpcmVjdGlvbj8ia2VuQnVybnNJbiI6ImtlbkJ1cm5zT3V0IjthKz0iICIrZVtuXX1yJiYoYSs9IiBzd2lwZXItbGF6eSIpLHRoaXMuZWxlbWVudHMuJHNsaWRlcz1qUXVlcnkoKSx0LmJhY2tncm91bmRfc2xpZGVzaG93X2dhbGxlcnkuZm9yRWFjaCgodD0+e2NvbnN0IG49alF1ZXJ5KCI8ZGl2PiIse2NsYXNzOmUuc3dpcGVyU2xpZGV9KTtsZXQgbztpZihyKXtjb25zdCBuPWpRdWVyeSgiPGRpdj4iLHtjbGFzczplLnN3aXBlclByZWxvYWRlcn0pO289alF1ZXJ5KCI8ZGl2PiIse2NsYXNzOmEsImRhdGEtYmFja2dyb3VuZCI6dC51cmx9KSxvLmFwcGVuZChuKX1lbHNlIG89alF1ZXJ5KCI8ZGl2PiIse2NsYXNzOmEsc3R5bGU6J2JhY2tncm91bmQtaW1hZ2U6IHVybCgiJyt0LnVybCsnIik7J30pO24uYXBwZW5kKG8pLHMuYXBwZW5kKG4pLHRoaXMuZWxlbWVudHMuJHNsaWRlcz10aGlzLmVsZW1lbnRzLiRzbGlkZXMuYWRkKG4pfSkpLG8uYXBwZW5kKHMpLHRoaXMuJGVsZW1lbnQucHJlcGVuZChvKSx0aGlzLmVsZW1lbnRzLiRiYWNrZ3JvdW5kU2xpZGVTaG93Q29udGFpbmVyPW99YXN5bmMgaW5pdFNsaWRlcigpe2lmKDE+PXRoaXMuZ2V0U2xpZGVzQ291bnQoKSlyZXR1cm47Y29uc3QgZT10aGlzLmdldEVsZW1lbnRTZXR0aW5ncygpLHQ9ZWxlbWVudG9yRnJvbnRlbmQudXRpbHMuc3dpcGVyO3RoaXMuc3dpcGVyPWF3YWl0IG5ldyB0KHRoaXMuZWxlbWVudHMuJGJhY2tncm91bmRTbGlkZVNob3dDb250YWluZXIsdGhpcy5nZXRTd2lwZXJPcHRpb25zKCkpLHRoaXMuZWxlbWVudHMuJGJhY2tncm91bmRTbGlkZVNob3dDb250YWluZXIuZGF0YSgic3dpcGVyIix0aGlzLnN3aXBlciksZS5iYWNrZ3JvdW5kX3NsaWRlc2hvd19rZW5fYnVybnMmJnRoaXMuaGFuZGxlS2VuQnVybnMoKX1hY3RpdmF0ZSgpe3RoaXMuYnVpbGRTd2lwZXJFbGVtZW50cygpLHRoaXMuaW5pdFNsaWRlcigpfWRlYWN0aXZhdGUoKXt0aGlzLnN3aXBlciYmKHRoaXMuc3dpcGVyLmRlc3Ryb3koKSx0aGlzLmVsZW1lbnRzLiRiYWNrZ3JvdW5kU2xpZGVTaG93Q29udGFpbmVyLnJlbW92ZSgpKX1ydW4oKXsic2xpZGVzaG93Ij09PXRoaXMuZ2V0RWxlbWVudFNldHRpbmdzKCJiYWNrZ3JvdW5kX2JhY2tncm91bmQiKT90aGlzLmFjdGl2YXRlKCk6dGhpcy5kZWFjdGl2YXRlKCl9b25Jbml0KCl7c3VwZXIub25Jbml0KCksdGhpcy5nZXRFbGVtZW50U2V0dGluZ3MoImJhY2tncm91bmRfc2xpZGVzaG93X2dhbGxlcnkiKSYmdGhpcy5ydW4oKX1vbkRlc3Ryb3koKXtzdXBlci5vbkRlc3Ryb3koKSx0aGlzLmRlYWN0aXZhdGUoKX1vbkVsZW1lbnRDaGFuZ2UoZSl7ImJhY2tncm91bmRfYmFja2dyb3VuZCI9PT1lJiZ0aGlzLnJ1bigpfX10LmRlZmF1bHQ9QmFja2dyb3VuZFNsaWRlc2hvd30sMzAzMTooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO2NsYXNzIEJhY2tncm91bmRWaWRlbyBleHRlbmRzIGVsZW1lbnRvck1vZHVsZXMuZnJvbnRlbmQuaGFuZGxlcnMuQmFzZXtnZXREZWZhdWx0U2V0dGluZ3MoKXtyZXR1cm57c2VsZWN0b3JzOntiYWNrZ3JvdW5kVmlkZW9Db250YWluZXI6Ii5lbGVtZW50b3ItYmFja2dyb3VuZC12aWRlby1jb250YWluZXIiLGJhY2tncm91bmRWaWRlb0VtYmVkOiIuZWxlbWVudG9yLWJhY2tncm91bmQtdmlkZW8tZW1iZWQiLGJhY2tncm91bmRWaWRlb0hvc3RlZDoiLmVsZW1lbnRvci1iYWNrZ3JvdW5kLXZpZGVvLWhvc3RlZCJ9fX1nZXREZWZhdWx0RWxlbWVudHMoKXtjb25zdCBlPXRoaXMuZ2V0U2V0dGluZ3MoInNlbGVjdG9ycyIpLHQ9eyRiYWNrZ3JvdW5kVmlkZW9Db250YWluZXI6dGhpcy4kZWxlbWVudC5maW5kKGUuYmFja2dyb3VuZFZpZGVvQ29udGFpbmVyKX07cmV0dXJuIHQuJGJhY2tncm91bmRWaWRlb0VtYmVkPXQuJGJhY2tncm91bmRWaWRlb0NvbnRhaW5lci5jaGlsZHJlbihlLmJhY2tncm91bmRWaWRlb0VtYmVkKSx0LiRiYWNrZ3JvdW5kVmlkZW9Ib3N0ZWQ9dC4kYmFja2dyb3VuZFZpZGVvQ29udGFpbmVyLmNoaWxkcmVuKGUuYmFja2dyb3VuZFZpZGVvSG9zdGVkKSx0fWNhbGNWaWRlb3NTaXplKGUpe2xldCB0PSIxNjo5IjsidmltZW8iPT09dGhpcy52aWRlb1R5cGUmJih0PWVbMF0ud2lkdGgrIjoiK2VbMF0uaGVpZ2h0KTtjb25zdCBuPXRoaXMuZWxlbWVudHMuJGJhY2tncm91bmRWaWRlb0NvbnRhaW5lci5vdXRlcldpZHRoKCksbz10aGlzLmVsZW1lbnRzLiRiYWNrZ3JvdW5kVmlkZW9Db250YWluZXIub3V0ZXJIZWlnaHQoKSxzPXQuc3BsaXQoIjoiKSxpPXNbMF0vc1sxXSxyPW4vbz5pO3JldHVybnt3aWR0aDpyP246byppLGhlaWdodDpyP24vaTpvfX1jaGFuZ2VWaWRlb1NpemUoKXtpZigiaG9zdGVkIiE9PXRoaXMudmlkZW9UeXBlJiYhdGhpcy5wbGF5ZXIpcmV0dXJuO2xldCBlO2lmKCJ5b3V0dWJlIj09PXRoaXMudmlkZW9UeXBlP2U9alF1ZXJ5KHRoaXMucGxheWVyLmdldElmcmFtZSgpKToidmltZW8iPT09dGhpcy52aWRlb1R5cGU/ZT1qUXVlcnkodGhpcy5wbGF5ZXIuZWxlbWVudCk6Imhvc3RlZCI9PT10aGlzLnZpZGVvVHlwZSYmKGU9dGhpcy5lbGVtZW50cy4kYmFja2dyb3VuZFZpZGVvSG9zdGVkKSwhZSlyZXR1cm47Y29uc3QgdD10aGlzLmNhbGNWaWRlb3NTaXplKGUpO2Uud2lkdGgodC53aWR0aCkuaGVpZ2h0KHQuaGVpZ2h0KX1zdGFydFZpZGVvTG9vcChlKXtpZighdGhpcy5wbGF5ZXIuZ2V0SWZyYW1lKCkuY29udGVudFdpbmRvdylyZXR1cm47Y29uc3QgdD10aGlzLmdldEVsZW1lbnRTZXR0aW5ncygpLG49dC5iYWNrZ3JvdW5kX3ZpZGVvX3N0YXJ0fHwwLG89dC5iYWNrZ3JvdW5kX3ZpZGVvX2VuZDtpZighdC5iYWNrZ3JvdW5kX3BsYXlfb25jZXx8ZSl7aWYodGhpcy5wbGF5ZXIuc2Vla1RvKG4pLG8pe3NldFRpbWVvdXQoKCgpPT57dGhpcy5zdGFydFZpZGVvTG9vcCghMSl9KSwxZTMqKG8tbisxKSl9fWVsc2UgdGhpcy5wbGF5ZXIuc3RvcFZpZGVvKCl9cHJlcGFyZVZpbWVvVmlkZW8oZSx0KXtjb25zdCBuPXRoaXMuZ2V0RWxlbWVudFNldHRpbmdzKCksbz17dXJsOnQsd2lkdGg6dGhpcy5lbGVtZW50cy4kYmFja2dyb3VuZFZpZGVvQ29udGFpbmVyLm91dGVyV2lkdGgoKS53aWR0aCxhdXRvcGxheTohMCxsb29wOiFuLmJhY2tncm91bmRfcGxheV9vbmNlLHRyYW5zcGFyZW50OiEwLGJhY2tncm91bmQ6ITAsbXV0ZWQ6ITB9O24uYmFja2dyb3VuZF9wcml2YWN5X21vZGUmJihvLmRudD0hMCksdGhpcy5wbGF5ZXI9bmV3IGUuUGxheWVyKHRoaXMuZWxlbWVudHMuJGJhY2tncm91bmRWaWRlb0NvbnRhaW5lcixvKSx0aGlzLmhhbmRsZVZpbWVvU3RhcnRFbmRUaW1lcyhuKSx0aGlzLnBsYXllci5yZWFkeSgpLnRoZW4oKCgpPT57alF1ZXJ5KHRoaXMucGxheWVyLmVsZW1lbnQpLmFkZENsYXNzKCJlbGVtZW50b3ItYmFja2dyb3VuZC12aWRlby1lbWJlZCIpLHRoaXMuY2hhbmdlVmlkZW9TaXplKCl9KSl9aGFuZGxlVmltZW9TdGFydEVuZFRpbWVzKGUpe2UuYmFja2dyb3VuZF92aWRlb19zdGFydCYmdGhpcy5wbGF5ZXIub24oInBsYXkiLCh0PT57MD09PXQuc2Vjb25kcyYmdGhpcy5wbGF5ZXIuc2V0Q3VycmVudFRpbWUoZS5iYWNrZ3JvdW5kX3ZpZGVvX3N0YXJ0KX0pKSx0aGlzLnBsYXllci5vbigidGltZXVwZGF0ZSIsKHQ9PntlLmJhY2tncm91bmRfdmlkZW9fZW5kJiZlLmJhY2tncm91bmRfdmlkZW9fZW5kPHQuc2Vjb25kcyYmKGUuYmFja2dyb3VuZF9wbGF5X29uY2U/dGhpcy5wbGF5ZXIucGF1c2UoKTp0aGlzLnBsYXllci5zZXRDdXJyZW50VGltZShlLmJhY2tncm91bmRfdmlkZW9fc3RhcnQpKSx0aGlzLnBsYXllci5nZXREdXJhdGlvbigpLnRoZW4oKG49PntlLmJhY2tncm91bmRfdmlkZW9fc3RhcnQmJiFlLmJhY2tncm91bmRfdmlkZW9fZW5kJiZ0LnNlY29uZHM+bi0uNSYmdGhpcy5wbGF5ZXIuc2V0Q3VycmVudFRpbWUoZS5iYWNrZ3JvdW5kX3ZpZGVvX3N0YXJ0KX0pKX0pKX1wcmVwYXJlWVRWaWRlbyhlLHQpe2NvbnN0IG49dGhpcy5lbGVtZW50cy4kYmFja2dyb3VuZFZpZGVvQ29udGFpbmVyLG89dGhpcy5nZXRFbGVtZW50U2V0dGluZ3MoKTtsZXQgcz1lLlBsYXllclN0YXRlLlBMQVlJTkc7d2luZG93LmNocm9tZSYmKHM9ZS5QbGF5ZXJTdGF0ZS5VTlNUQVJURUQpO2NvbnN0IGk9e3ZpZGVvSWQ6dCxldmVudHM6e29uUmVhZHk6KCk9Pnt0aGlzLnBsYXllci5tdXRlKCksdGhpcy5jaGFuZ2VWaWRlb1NpemUoKSx0aGlzLnN0YXJ0VmlkZW9Mb29wKCEwKSx0aGlzLnBsYXllci5wbGF5VmlkZW8oKX0sb25TdGF0ZUNoYW5nZTp0PT57c3dpdGNoKHQuZGF0YSl7Y2FzZSBzOm4ucmVtb3ZlQ2xhc3MoImVsZW1lbnRvci1pbnZpc2libGUgZWxlbWVudG9yLWxvYWRpbmciKTticmVhaztjYXNlIGUuUGxheWVyU3RhdGUuRU5ERUQ6ImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMucGxheWVyLnNlZWtUbyYmdGhpcy5wbGF5ZXIuc2Vla1RvKG8uYmFja2dyb3VuZF92aWRlb19zdGFydHx8MCksby5iYWNrZ3JvdW5kX3BsYXlfb25jZSYmdGhpcy5wbGF5ZXIuZGVzdHJveSgpfX19LHBsYXllclZhcnM6e2NvbnRyb2xzOjAscmVsOjAscGxheXNpbmxpbmU6MX19O28uYmFja2dyb3VuZF9wcml2YWN5X21vZGUmJihpLmhvc3Q9Imh0dHBzOi8vd3d3LnlvdXR1YmUtbm9jb29raWUuY29tIixpLm9yaWdpbj13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpLG4uYWRkQ2xhc3MoImVsZW1lbnRvci1sb2FkaW5nIGVsZW1lbnRvci1pbnZpc2libGUiKSx0aGlzLnBsYXllcj1uZXcgZS5QbGF5ZXIodGhpcy5lbGVtZW50cy4kYmFja2dyb3VuZFZpZGVvRW1iZWRbMF0saSl9YWN0aXZhdGUoKXtsZXQgZSx0PXRoaXMuZ2V0RWxlbWVudFNldHRpbmdzKCJiYWNrZ3JvdW5kX3ZpZGVvX2xpbmsiKTtjb25zdCBuPXRoaXMuZ2V0RWxlbWVudFNldHRpbmdzKCJiYWNrZ3JvdW5kX3BsYXlfb25jZSIpO2lmKC0xIT09dC5pbmRleE9mKCJ2aW1lby5jb20iKT8odGhpcy52aWRlb1R5cGU9InZpbWVvIix0aGlzLmFwaVByb3ZpZGVyPWVsZW1lbnRvckZyb250ZW5kLnV0aWxzLnZpbWVvKTp0Lm1hdGNoKC9eKD86aHR0cHM/OlwvXC8pPyg/Ond3d1wuKT8oPzptXC4pPyg/OnlvdXR1XC5iZVwvfHlvdXR1YmVcLmNvbSkvKSYmKHRoaXMudmlkZW9UeXBlPSJ5b3V0dWJlIix0aGlzLmFwaVByb3ZpZGVyPWVsZW1lbnRvckZyb250ZW5kLnV0aWxzLnlvdXR1YmUpLHRoaXMuYXBpUHJvdmlkZXIpZT10aGlzLmFwaVByb3ZpZGVyLmdldFZpZGVvSURGcm9tVVJMKHQpLHRoaXMuYXBpUHJvdmlkZXIub25BcGlSZWFkeSgobj0+eyJ5b3V0dWJlIj09PXRoaXMudmlkZW9UeXBlJiZ0aGlzLnByZXBhcmVZVFZpZGVvKG4sZSksInZpbWVvIj09PXRoaXMudmlkZW9UeXBlJiZ0aGlzLnByZXBhcmVWaW1lb1ZpZGVvKG4sdCl9KSk7ZWxzZXt0aGlzLnZpZGVvVHlwZT0iaG9zdGVkIjtjb25zdCBlPXRoaXMuZ2V0RWxlbWVudFNldHRpbmdzKCJiYWNrZ3JvdW5kX3ZpZGVvX3N0YXJ0Iiksbz10aGlzLmdldEVsZW1lbnRTZXR0aW5ncygiYmFja2dyb3VuZF92aWRlb19lbmQiKTsoZXx8bykmJih0Kz0iI3Q9IisoZXx8MCkrKG8/IiwiK286IiIpKSx0aGlzLmVsZW1lbnRzLiRiYWNrZ3JvdW5kVmlkZW9Ib3N0ZWQuYXR0cigic3JjIix0KS5vbmUoImNhbnBsYXkiLHRoaXMuY2hhbmdlVmlkZW9TaXplLmJpbmQodGhpcykpLG4mJnRoaXMuZWxlbWVudHMuJGJhY2tncm91bmRWaWRlb0hvc3RlZC5vbigiZW5kZWQiLCgoKT0+e3RoaXMuZWxlbWVudHMuJGJhY2tncm91bmRWaWRlb0hvc3RlZC5oaWRlKCl9KSl9ZWxlbWVudG9yRnJvbnRlbmQuZWxlbWVudHMuJHdpbmRvdy5vbigicmVzaXplIGVsZW1lbnRvci9iZy12aWRlby9yZWNhbGMiLHRoaXMuY2hhbmdlVmlkZW9TaXplKX1kZWFjdGl2YXRlKCl7InlvdXR1YmUiPT09dGhpcy52aWRlb1R5cGUmJnRoaXMucGxheWVyLmdldElmcmFtZSgpfHwidmltZW8iPT09dGhpcy52aWRlb1R5cGU/dGhpcy5wbGF5ZXIuZGVzdHJveSgpOnRoaXMuZWxlbWVudHMuJGJhY2tncm91bmRWaWRlb0hvc3RlZC5yZW1vdmVBdHRyKCJzcmMiKS5vZmYoImVuZGVkIiksZWxlbWVudG9yRnJvbnRlbmQuZWxlbWVudHMuJHdpbmRvdy5vZmYoInJlc2l6ZSIsdGhpcy5jaGFuZ2VWaWRlb1NpemUpfXJ1bigpe2NvbnN0IGU9dGhpcy5nZXRFbGVtZW50U2V0dGluZ3MoKTsoZS5iYWNrZ3JvdW5kX3BsYXlfb25fbW9iaWxlfHwibW9iaWxlIiE9PWVsZW1lbnRvckZyb250ZW5kLmdldEN1cnJlbnREZXZpY2VNb2RlKCkpJiYoInZpZGVvIj09PWUuYmFja2dyb3VuZF9iYWNrZ3JvdW5kJiZlLmJhY2tncm91bmRfdmlkZW9fbGluaz90aGlzLmFjdGl2YXRlKCk6dGhpcy5kZWFjdGl2YXRlKCkpfW9uSW5pdCgpe3N1cGVyLm9uSW5pdCguLi5hcmd1bWVudHMpLHRoaXMuY2hhbmdlVmlkZW9TaXplPXRoaXMuY2hhbmdlVmlkZW9TaXplLmJpbmQodGhpcyksdGhpcy5ydW4oKX1vbkVsZW1lbnRDaGFuZ2UoZSl7ImJhY2tncm91bmRfYmFja2dyb3VuZCI9PT1lJiZ0aGlzLnJ1bigpfX10LmRlZmF1bHQ9QmFja2dyb3VuZFZpZGVvfSwzOTY5OihlLHQsbik9Pnt2YXIgbz1uKDY3ODQpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO3ZhciBzPW8obig2MjgpKSxpPW8obigzMDMxKSk7dC5kZWZhdWx0PVtzLmRlZmF1bHQsaS5kZWZhdWx0XX0sODg5MTooZSx0LG4pPT57dmFyIG89big2Nzg0KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMDt2YXIgcz1vKG4oNjI4KSk7dC5kZWZhdWx0PVtzLmRlZmF1bHRdfSwzNjc4OihlLHQsbik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMDt0LmRlZmF1bHQ9WygpPT5uLmUoMjE2KS50aGVuKG4uYmluZChuLDI0NjApKSwoKT0+bi5lKDIxNikudGhlbihuLmJpbmQobiw4ODQ3KSksKCk9Pm4uZSgyMTYpLnRoZW4obi5iaW5kKG4sMzMyMykpXX0sNDk3MDooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO2NsYXNzIEdsb2JhbEhhbmRsZXIgZXh0ZW5kcyBlbGVtZW50b3JNb2R1bGVzLmZyb250ZW5kLmhhbmRsZXJzLkJhc2V7Z2V0V2lkZ2V0VHlwZSgpe3JldHVybiJnbG9iYWwifWFuaW1hdGUoKXtjb25zdCBlPXRoaXMuJGVsZW1lbnQsdD10aGlzLmdldEFuaW1hdGlvbigpO2lmKCJub25lIj09PXQpcmV0dXJuIHZvaWQgZS5yZW1vdmVDbGFzcygiZWxlbWVudG9yLWludmlzaWJsZSIpO2NvbnN0IG49dGhpcy5nZXRFbGVtZW50U2V0dGluZ3MoKSxvPW4uX2FuaW1hdGlvbl9kZWxheXx8bi5hbmltYXRpb25fZGVsYXl8fDA7ZS5yZW1vdmVDbGFzcyh0KSx0aGlzLmN1cnJlbnRBbmltYXRpb24mJmUucmVtb3ZlQ2xhc3ModGhpcy5jdXJyZW50QW5pbWF0aW9uKSx0aGlzLmN1cnJlbnRBbmltYXRpb249dCxzZXRUaW1lb3V0KCgoKT0+e2UucmVtb3ZlQ2xhc3MoImVsZW1lbnRvci1pbnZpc2libGUiKS5hZGRDbGFzcygiYW5pbWF0ZWQgIit0KX0pLG8pfWdldEFuaW1hdGlvbigpe3JldHVybiB0aGlzLmdldEN1cnJlbnREZXZpY2VTZXR0aW5nKCJhbmltYXRpb24iKXx8dGhpcy5nZXRDdXJyZW50RGV2aWNlU2V0dGluZygiX2FuaW1hdGlvbiIpfW9uSW5pdCgpe2lmKHN1cGVyLm9uSW5pdCguLi5hcmd1bWVudHMpLHRoaXMuZ2V0QW5pbWF0aW9uKCkpe2NvbnN0IGU9ZWxlbWVudG9yTW9kdWxlcy51dGlscy5TY3JvbGwuc2Nyb2xsT2JzZXJ2ZXIoe2NhbGxiYWNrOnQ9Pnt0LmlzSW5WaWV3cG9ydCYmKHRoaXMuYW5pbWF0ZSgpLGUudW5vYnNlcnZlKHRoaXMuJGVsZW1lbnRbMF0pKX19KTtlLm9ic2VydmUodGhpcy4kZWxlbWVudFswXSl9fW9uRWxlbWVudENoYW5nZShlKXsvXl8/YW5pbWF0aW9uLy50ZXN0KGUpJiZ0aGlzLmFuaW1hdGUoKX19dC5kZWZhdWx0PWU9PntlbGVtZW50b3JGcm9udGVuZC5lbGVtZW50c0hhbmRsZXIuYWRkSGFuZGxlcihHbG9iYWxIYW5kbGVyLHskZWxlbWVudDplfSl9fSwyMDU2OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7Y2xhc3MgSGFuZGxlc1Bvc2l0aW9uIGV4dGVuZHMgZWxlbWVudG9yTW9kdWxlcy5mcm9udGVuZC5oYW5kbGVycy5CYXNle2lzQWN0aXZlKCl7cmV0dXJuIGVsZW1lbnRvckZyb250ZW5kLmlzRWRpdE1vZGUoKX1pc0ZpcnN0U2VjdGlvbigpe3JldHVybiB0aGlzLiRlbGVtZW50WzBdPT09ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmVsZW1lbnRvci1lZGl0LW1vZGUgLmVsZW1lbnRvci10b3Atc2VjdGlvbiIpfWlzT3ZlcmZsb3dIaWRkZW4oKXtyZXR1cm4iaGlkZGVuIj09PXRoaXMuJGVsZW1lbnQuY3NzKCJvdmVyZmxvdyIpfWdldE9mZnNldCgpe2lmKCJib2R5Ij09PWVsZW1lbnRvci5jb25maWcuZG9jdW1lbnQuY29udGFpbmVyKXJldHVybiB0aGlzLiRlbGVtZW50Lm9mZnNldCgpLnRvcDtjb25zdCBlPWpRdWVyeShlbGVtZW50b3IuY29uZmlnLmRvY3VtZW50LmNvbnRhaW5lcik7cmV0dXJuIHRoaXMuJGVsZW1lbnQub2Zmc2V0KCkudG9wLWUub2Zmc2V0KCkudG9wfXNldEhhbmRsZXNQb3NpdGlvbigpe2NvbnN0IGU9ZWxlbWVudG9yLmRvY3VtZW50cy5nZXRDdXJyZW50KCk7aWYoIWV8fCFlLmNvbnRhaW5lci5pc0VkaXRhYmxlKCkpcmV0dXJuO2NvbnN0IHQ9ImVsZW1lbnRvci1zZWN0aW9uLS1oYW5kbGVzLWluc2lkZSI7aWYoZWxlbWVudG9yLnNldHRpbmdzLnBhZ2UubW9kZWwuYXR0cmlidXRlcy5zY3JvbGxfc25hcClyZXR1cm4gdm9pZCB0aGlzLiRlbGVtZW50LmFkZENsYXNzKHQpO2NvbnN0IG49dGhpcy5pc092ZXJmbG93SGlkZGVuKCk7aWYoIW4mJiF0aGlzLmlzRmlyc3RTZWN0aW9uKCkpcmV0dXJuO2NvbnN0IG89bj8wOnRoaXMuZ2V0T2Zmc2V0KCk7aWYobzwyNSl7dGhpcy4kZWxlbWVudC5hZGRDbGFzcyh0KTtjb25zdCBlPXRoaXMuJGVsZW1lbnQuZmluZCgiPiAuZWxlbWVudG9yLWVsZW1lbnQtb3ZlcmxheSA+IC5lbGVtZW50b3ItZWRpdG9yLXNlY3Rpb24tc2V0dGluZ3MiKTtvPC01P2UuY3NzKCJ0b3AiLC1vKTplLmNzcygidG9wIiwiIil9ZWxzZSB0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKHQpfW9uSW5pdCgpe3RoaXMuaXNBY3RpdmUoKSYmKHRoaXMuc2V0SGFuZGxlc1Bvc2l0aW9uKCksdGhpcy4kZWxlbWVudC5vbigibW91c2VlbnRlciIsdGhpcy5zZXRIYW5kbGVzUG9zaXRpb24uYmluZCh0aGlzKSkpfX10LmRlZmF1bHQ9SGFuZGxlc1Bvc2l0aW9ufSwzMjQzOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7Y2xhc3MgU2hhcGVzIGV4dGVuZHMgZWxlbWVudG9yTW9kdWxlcy5mcm9udGVuZC5oYW5kbGVycy5CYXNle2dldERlZmF1bHRTZXR0aW5ncygpe3JldHVybntzZWxlY3RvcnM6e2NvbnRhaW5lcjoiPiAuZWxlbWVudG9yLXNoYXBlLSVzIn0sc3ZnVVJMOmVsZW1lbnRvckZyb250ZW5kLmNvbmZpZy51cmxzLmFzc2V0cysic2hhcGVzLyJ9fWdldERlZmF1bHRFbGVtZW50cygpe2NvbnN0IGU9e30sdD10aGlzLmdldFNldHRpbmdzKCJzZWxlY3RvcnMiKTtyZXR1cm4gZS4kdG9wQ29udGFpbmVyPXRoaXMuJGVsZW1lbnQuZmluZCh0LmNvbnRhaW5lci5yZXBsYWNlKCIlcyIsInRvcCIpKSxlLiRib3R0b21Db250YWluZXI9dGhpcy4kZWxlbWVudC5maW5kKHQuY29udGFpbmVyLnJlcGxhY2UoIiVzIiwiYm90dG9tIikpLGV9aXNBY3RpdmUoKXtyZXR1cm4gZWxlbWVudG9yRnJvbnRlbmQuaXNFZGl0TW9kZSgpfWdldFN2Z1VSTChlLHQpe2xldCBuPXRoaXMuZ2V0U2V0dGluZ3MoInN2Z1VSTCIpK3QrIi5zdmciO3JldHVybiBlbGVtZW50b3IuY29uZmlnLmFkZGl0aW9uYWxfc2hhcGVzJiZlIGluIGVsZW1lbnRvci5jb25maWcuYWRkaXRpb25hbF9zaGFwZXMmJihuPWVsZW1lbnRvci5jb25maWcuYWRkaXRpb25hbF9zaGFwZXNbZV0sLTE8dC5pbmRleE9mKCItbmVnYXRpdmUiKSYmKG49bi5yZXBsYWNlKCIuc3ZnIiwiLW5lZ2F0aXZlLnN2ZyIpKSksbn1idWlsZFNWRyhlKXtjb25zdCB0PSJzaGFwZV9kaXZpZGVyXyIrZSxuPXRoaXMuZ2V0RWxlbWVudFNldHRpbmdzKHQpLG89dGhpcy5lbGVtZW50c1siJCIrZSsiQ29udGFpbmVyIl07aWYoby5hdHRyKCJkYXRhLXNoYXBlIixuKSwhbilyZXR1cm4gdm9pZCBvLmVtcHR5KCk7bGV0IHM9bjt0aGlzLmdldEVsZW1lbnRTZXR0aW5ncyh0KyJfbmVnYXRpdmUiKSYmKHMrPSItbmVnYXRpdmUiKTtjb25zdCBpPXRoaXMuZ2V0U3ZnVVJMKG4scyk7alF1ZXJ5LmdldChpLChlPT57by5lbXB0eSgpLmFwcGVuZChlLmNoaWxkTm9kZXNbMF0pfSkpLHRoaXMuc2V0TmVnYXRpdmUoZSl9c2V0TmVnYXRpdmUoZSl7dGhpcy5lbGVtZW50c1siJCIrZSsiQ29udGFpbmVyIl0uYXR0cigiZGF0YS1uZWdhdGl2ZSIsISF0aGlzLmdldEVsZW1lbnRTZXR0aW5ncygic2hhcGVfZGl2aWRlcl8iK2UrIl9uZWdhdGl2ZSIpKX1vbkluaXQoKXt0aGlzLmlzQWN0aXZlKHRoaXMuZ2V0U2V0dGluZ3MoKSkmJihzdXBlci5vbkluaXQoLi4uYXJndW1lbnRzKSxbInRvcCIsImJvdHRvbSJdLmZvckVhY2goKGU9Pnt0aGlzLmdldEVsZW1lbnRTZXR0aW5ncygic2hhcGVfZGl2aWRlcl8iK2UpJiZ0aGlzLmJ1aWxkU1ZHKGUpfSkpKX1vbkVsZW1lbnRDaGFuZ2UoZSl7Y29uc3QgdD1lLm1hdGNoKC9ec2hhcGVfZGl2aWRlcl8odG9wfGJvdHRvbSkkLyk7aWYodClyZXR1cm4gdm9pZCB0aGlzLmJ1aWxkU1ZHKHRbMV0pO2NvbnN0IG49ZS5tYXRjaCgvXnNoYXBlX2RpdmlkZXJfKHRvcHxib3R0b20pX25lZ2F0aXZlJC8pO24mJih0aGlzLmJ1aWxkU1ZHKG5bMV0pLHRoaXMuc2V0TmVnYXRpdmUoblsxXSkpfX10LmRlZmF1bHQ9U2hhcGVzfSwyNDM5OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7Y2xhc3MgU3RyZXRjaGVkU2VjdGlvbiBleHRlbmRzIGVsZW1lbnRvck1vZHVsZXMuZnJvbnRlbmQuaGFuZGxlcnMuU3RyZXRjaGVkRWxlbWVudHtnZXRTdHJldGNoZWRDbGFzcygpe3JldHVybiJlbGVtZW50b3Itc2VjdGlvbi1zdHJldGNoZWQifWdldFN0cmV0Y2hTZXR0aW5nTmFtZSgpe3JldHVybiJzdHJldGNoX3NlY3Rpb24ifWdldFN0cmV0Y2hBY3RpdmVWYWx1ZSgpe3JldHVybiJzZWN0aW9uLXN0cmV0Y2hlZCJ9fXQuZGVmYXVsdD1TdHJldGNoZWRTZWN0aW9ufSw5ODA3OihlLHQsbik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMCxuKDc2NjcpO2NsYXNzIF9kZWZhdWx0IGV4dGVuZHMgZWxlbWVudG9yTW9kdWxlcy5WaWV3TW9kdWxle2dldERlZmF1bHRTZXR0aW5ncygpe3JldHVybntzZWxlY3RvcnM6e2xpbmtzOicuZWxlbWVudG9yLWVsZW1lbnQgYVtocmVmKj0iIyJdJyxzdGlja3lFbGVtZW50czoiLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1zdGlja3kifX19b25Jbml0KCl7dGhpcy5vYnNlcnZlU3RpY2t5RWxlbWVudHMoKCgpPT57dGhpcy5pbml0aWFsaXplU3RpY2t5QW5kQW5jaG9yVHJhY2tpbmcoKX0pKX1vYnNlcnZlU3RpY2t5RWxlbWVudHMoZSl7bmV3IE11dGF0aW9uT2JzZXJ2ZXIoKHQ9Pntmb3IoY29uc3QgbiBvZiB0KSgiY2hpbGRMaXN0Ij09PW4udHlwZXx8ImF0dHJpYnV0ZXMiPT09bi50eXBlJiZuLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoImVsZW1lbnRvci1zdGlja3kiKSkmJmUoKX0pKS5vYnNlcnZlKGRvY3VtZW50LmJvZHkse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwLGF0dHJpYnV0ZXM6ITAsYXR0cmlidXRlRmlsdGVyOlsiY2xhc3MiLCJzdHlsZSJdfSl9aW5pdGlhbGl6ZVN0aWNreUFuZEFuY2hvclRyYWNraW5nKCl7Y29uc3QgZT10aGlzLmdldEFsbEFuY2hvckxpbmtzKCksdD10aGlzLmdldEFsbFN0aWNreUVsZW1lbnRzKCksbj1bXTshdC5sZW5ndGg+MCYmIWUubGVuZ3RoPjB8fCh0aGlzLnRyYWNrU3RpY2t5RWxlbWVudHModCxuKSx0aGlzLnRyYWNrQW5jaG9yTGlua3MoZSxuKSx0aGlzLm9yZ2FuaXplU3RpY2t5QW5kQW5jaG9ycyhuKSl9dHJhY2tBbmNob3JMaW5rcyhlLHQpe2UuZm9yRWFjaCgoZT0+e2NvbnN0IG49dGhpcy5nZXRBbmNob3JUYXJnZXQoZSksbz10aGlzLmdldFNjcm9sbFBvc2l0aW9uKG4pO3QucHVzaCh7ZWxlbWVudDpuLHR5cGU6ImFuY2hvciIsc2Nyb2xsUG9zaXRpb246b30pfSkpfXRyYWNrU3RpY2t5RWxlbWVudHMoZSx0KXtlLmZvckVhY2goKGU9Pntjb25zdCBuPXRoaXMuZ2V0RWxlbWVudFNldHRpbmdzKGUpO2lmKCFufHwhbi5zdGlja3lfYW5jaG9yX2xpbmtfb2Zmc2V0KXJldHVybjtjb25zdHtzdGlja3lfYW5jaG9yX2xpbmtfb2Zmc2V0Om99PW47aWYoMD09PW8pcmV0dXJuO2NvbnN0IHM9dGhpcy5nZXRTY3JvbGxQb3NpdGlvbihlKTt0LnB1c2goe3Njcm9sbE1hcmdpblRvcDpvLHR5cGU6InN0aWNreSIsc2Nyb2xsUG9zaXRpb246c30pfSkpfW9yZ2FuaXplU3RpY2t5QW5kQW5jaG9ycyhlKXtjb25zdCB0PXRoaXMuZmlsdGVyQW5kU29ydEVsZW1lbnRzQnlUeXBlKGUsInN0aWNreSIpLG49dGhpcy5maWx0ZXJBbmRTb3J0RWxlbWVudHNCeVR5cGUoZSwiYW5jaG9yIik7dC5mb3JFYWNoKCgoZSxvKT0+e3RoaXMuZGVmaW5lQ3VycmVudFN0aWNreVJhbmdlKGUsbyx0LG4pfSkpfWRlZmluZUN1cnJlbnRTdGlja3lSYW5nZShlLHQsbixvKXtjb25zdCBzPXQrMTxuLmxlbmd0aD9uW3QrMV0uc2Nyb2xsUG9zaXRpb246MS8wO2UuYW5jaG9yPW8uZmlsdGVyKCh0PT57Y29uc3Qgbj10LnNjcm9sbFBvc2l0aW9uPmUuc2Nyb2xsUG9zaXRpb24mJnQuc2Nyb2xsUG9zaXRpb248cztyZXR1cm4gbiYmKHQuZWxlbWVudC5zdHlsZS5zY3JvbGxNYXJnaW5Ub3A9YCR7ZS5zY3JvbGxNYXJnaW5Ub3B9cHhgKSxufSkpfWdldFNjcm9sbFBvc2l0aW9uKGUpe2xldCB0PTA7Zm9yKDtlOyl0Kz1lLm9mZnNldFRvcCxlPWUub2Zmc2V0UGFyZW50O3JldHVybiB0fWdldEFsbFN0aWNreUVsZW1lbnRzKCl7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHRoaXMuZ2V0U2V0dGluZ3MoInNlbGVjdG9ycy5zdGlja3lFbGVtZW50cyIpKTtyZXR1cm4gQXJyYXkuZnJvbShlKS5maWx0ZXIoKChlLHQsbik9PnQ9PT1uLmZpbmRJbmRleCgodD0+dC5nZXRBdHRyaWJ1dGUoImRhdGEtaWQiKT09PWUuZ2V0QXR0cmlidXRlKCJkYXRhLWlkIikpKSkpfWdldEFsbEFuY2hvckxpbmtzKCl7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHRoaXMuZ2V0U2V0dGluZ3MoInNlbGVjdG9ycy5saW5rcyIpKTtyZXR1cm4gQXJyYXkuZnJvbShlKS5maWx0ZXIoKChlLHQsbik9PnQ9PT1uLmZpbmRJbmRleCgodD0+dC5nZXRBdHRyaWJ1dGUoImhyZWYiKT09PWUuZ2V0QXR0cmlidXRlKCJocmVmIikpKSkpfWZpbHRlckFuZFNvcnRFbGVtZW50c0J5VHlwZShlLHQpe3JldHVybiBlLmZpbHRlcigoZT0+dD09PWUudHlwZSkpLnNvcnQoKChlLHQpPT5lLnNjcm9sbFBvc2l0aW9uLXQuc2Nyb2xsUG9zaXRpb24pKX1pc1ZhbGlkU2VsZWN0b3IoZSl7cmV0dXJuL14jW0EtWmEtel9dW1x3LV0qJC8udGVzdChlKX1nZXRBbmNob3JUYXJnZXQoZSl7Y29uc3QgdD1lPy5oYXNoO3JldHVybiB0aGlzLmlzVmFsaWRTZWxlY3Rvcih0KT9kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpOm51bGx9Z2V0RWxlbWVudFNldHRpbmdzKGUpe3JldHVybiBKU09OLnBhcnNlKGUuZ2V0QXR0cmlidXRlKCJkYXRhLXNldHRpbmdzIikpfX10LmRlZmF1bHQ9X2RlZmF1bHR9LDI2ODM6KGUsdCxuKT0+e3ZhciBvPW4oNzY3Mik7ZS5leHBvcnRzPWVsZW1lbnRvck1vZHVsZXMuVmlld01vZHVsZS5leHRlbmQoe2dldERlZmF1bHRTZXR0aW5nczooKT0+KHtzY3JvbGxEdXJhdGlvbjo1MDAsc2VsZWN0b3JzOntsaW5rczonYVtocmVmKj0iIyJdJyx0YXJnZXRzOiIuZWxlbWVudG9yLWVsZW1lbnQsIC5lbGVtZW50b3ItbWVudS1hbmNob3IiLHNjcm9sbGFibGU6KDAsby5pc1Njcm9sbFNuYXBBY3RpdmUpKCk/ImJvZHkiOiJodG1sLCBib2R5In19KSxnZXREZWZhdWx0RWxlbWVudHMoKXtyZXR1cm57JHNjcm9sbGFibGU6alF1ZXJ5KHRoaXMuZ2V0U2V0dGluZ3MoInNlbGVjdG9ycyIpLnNjcm9sbGFibGUpfX0sYmluZEV2ZW50cygpe2VsZW1lbnRvckZyb250ZW5kLmVsZW1lbnRzLiRkb2N1bWVudC5vbigiY2xpY2siLHRoaXMuZ2V0U2V0dGluZ3MoInNlbGVjdG9ycy5saW5rcyIpLHRoaXMuaGFuZGxlQW5jaG9yTGlua3MpfSxoYW5kbGVBbmNob3JMaW5rcyhlKXt2YXIgdCxuPWUuY3VycmVudFRhcmdldCxzPWxvY2F0aW9uLnBhdGhuYW1lPT09bi5wYXRobmFtZTtpZihsb2NhdGlvbi5ob3N0bmFtZT09PW4uaG9zdG5hbWUmJnMmJiEobi5oYXNoLmxlbmd0aDwyKSl7dHJ5e3Q9alF1ZXJ5KG4uaGFzaCkuZmlsdGVyKHRoaXMuZ2V0U2V0dGluZ3MoInNlbGVjdG9ycy50YXJnZXRzIikpfWNhdGNoKGUpe3JldHVybn1pZih0Lmxlbmd0aCl7dmFyIGk9dC5vZmZzZXQoKS50b3Ascj1lbGVtZW50b3JGcm9udGVuZC5lbGVtZW50cy4kd3BBZG1pbkJhcixhPWpRdWVyeSgiLmVsZW1lbnRvci1zZWN0aW9uLmVsZW1lbnRvci1zdGlja3ktLWFjdGl2ZTp2aXNpYmxlIik7ci5sZW5ndGg+MCYmKGktPXIuaGVpZ2h0KCkpLGEubGVuZ3RoPjAmJihpLT1NYXRoLm1heC5hcHBseShudWxsLGEubWFwKChmdW5jdGlvbigpe3JldHVybiBqUXVlcnkodGhpcykub3V0ZXJIZWlnaHQoKX0pKS5nZXQoKSkpLGUucHJldmVudERlZmF1bHQoKSxpPWVsZW1lbnRvckZyb250ZW5kLmhvb2tzLmFwcGx5RmlsdGVycygiZnJvbnRlbmQvaGFuZGxlcnMvbWVudV9hbmNob3Ivc2Nyb2xsX3RvcF9kaXN0YW5jZSIsaSksKDAsby5pc1Njcm9sbFNuYXBBY3RpdmUpKCkmJmVsZW1lbnRvckZyb250ZW5kLmVsZW1lbnRzLiRib2R5LmNzcygic2Nyb2xsLXNuYXAtdHlwZSIsIm5vbmUiKSx0aGlzLmVsZW1lbnRzLiRzY3JvbGxhYmxlLmFuaW1hdGUoe3Njcm9sbFRvcDppfSx0aGlzLmdldFNldHRpbmdzKCJzY3JvbGxEdXJhdGlvbiIpLCJsaW5lYXIiLCgoKT0+eygwLG8uaXNTY3JvbGxTbmFwQWN0aXZlKSgpJiZlbGVtZW50b3JGcm9udGVuZC5lbGVtZW50cy4kYm9keS5jc3MoInNjcm9sbC1zbmFwLXR5cGUiLCIiKX0pKX19fSxvbkluaXQoKXtlbGVtZW50b3JNb2R1bGVzLlZpZXdNb2R1bGUucHJvdG90eXBlLm9uSW5pdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSl9LDg0MjI6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMDtjbGFzcyBBc3NldHNMb2FkZXJ7Z2V0U2NyaXB0RWxlbWVudChlKXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3JldHVybiB0LnNyYz1lLHR9Z2V0U3R5bGVFbGVtZW50KGUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO3JldHVybiB0LnJlbD0ic3R5bGVzaGVldCIsdC5ocmVmPWUsdH1sb2FkKGUsdCl7Y29uc3Qgbj1Bc3NldHNMb2FkZXIuYXNzZXRzW2VdW3RdO3JldHVybiBuLmxvYWRlcnx8KG4ubG9hZGVyPXRoaXMuaXNBc3NldExvYWRlZChuLGUpP1Byb21pc2UucmVzb2x2ZSghMCk6dGhpcy5sb2FkQXNzZXQobixlKSksbi5sb2FkZXJ9aXNBc3NldExvYWRlZChlLHQpe2NvbnN0IG49InNjcmlwdCI9PT10P2BzY3JpcHRbc3JjPSIke2Uuc3JjfSJdYDpgbGlua1tocmVmPSIke2Uuc3JjfSJdYDtyZXR1cm4hIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwobik/Lmxlbmd0aH1sb2FkQXNzZXQoZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoKG49Pntjb25zdCBvPSJzdHlsZSI9PT10P3RoaXMuZ2V0U3R5bGVFbGVtZW50KGUuc3JjKTp0aGlzLmdldFNjcmlwdEVsZW1lbnQoZS5zcmMpO28ub25sb2FkPSgpPT5uKCEwKSx0aGlzLmFwcGVuZEFzc2V0KGUsbyl9KSl9YXBwZW5kQXNzZXQoZSx0KXtjb25zdCBuPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZS5iZWZvcmUpO2lmKG4pcmV0dXJuIHZvaWQgbi5pbnNlcnRBZGphY2VudEVsZW1lbnQoImJlZm9yZWJlZ2luIix0KTtjb25zdCBvPSJoZWFkIj09PWUucGFyZW50P2UucGFyZW50OiJib2R5Ijtkb2N1bWVudFtvXS5hcHBlbmRDaGlsZCh0KX19dC5kZWZhdWx0PUFzc2V0c0xvYWRlcjtjb25zdCBuPWVsZW1lbnRvckZyb250ZW5kQ29uZmlnLnVybHMuYXNzZXRzLG89ZWxlbWVudG9yRnJvbnRlbmRDb25maWcuZW52aXJvbm1lbnRNb2RlLmlzU2NyaXB0RGVidWc/IiI6Ii5taW4iLHM9ZWxlbWVudG9yRnJvbnRlbmRDb25maWcudmVyc2lvbjtBc3NldHNMb2FkZXIuYXNzZXRzPXtzY3JpcHQ6e2RpYWxvZzp7c3JjOmAke259bGliL2RpYWxvZy9kaWFsb2cke299LmpzP3Zlcj00LjkuM2B9LCJzaGFyZS1saW5rIjp7c3JjOmAke259bGliL3NoYXJlLWxpbmsvc2hhcmUtbGluayR7b30uanM/dmVyPSR7c31gfSxzd2lwZXI6e3NyYzpgJHtufWxpYi9zd2lwZXIvdjgvc3dpcGVyJHtvfS5qcz92ZXI9OC40LjVgfX0sc3R5bGU6e3N3aXBlcjp7c3JjOmAke259bGliL3N3aXBlci92OC9jc3Mvc3dpcGVyJHtvfS5jc3M/dmVyPTguNC41YCxwYXJlbnQ6ImhlYWQifSwiZS1saWdodGJveCI6e3NyYzplbGVtZW50b3JGcm9udGVuZENvbmZpZz8ucmVzcG9uc2l2ZT8uaGFzQ3VzdG9tQnJlYWtwb2ludHM/YCR7ZWxlbWVudG9yRnJvbnRlbmRDb25maWcudXJscy51cGxvYWRVcmx9L2VsZW1lbnRvci9jc3MvY3VzdG9tLWxpZ2h0Ym94Lm1pbi5jc3M/dmVyPSR7c31gOmAke259Y3NzL2NvbmRpdGlvbmFscy9saWdodGJveCR7b30uY3NzP3Zlcj0ke3N9YH0sZGlhbG9nOntzcmM6YCR7bn1jc3MvY29uZGl0aW9uYWxzL2RpYWxvZyR7b30uY3NzP3Zlcj0ke3N9YCxwYXJlbnQ6ImhlYWQiLGJlZm9yZToiI2VsZW1lbnRvci1mcm9udGVuZC1jc3MifX19fSw2MDc6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMDt0LmRlZmF1bHQ9Y2xhc3MgQ29udHJvbHN7Z2V0Q29udHJvbFZhbHVlKGUsdCxuKXtsZXQgbztyZXR1cm4gbz0ib2JqZWN0Ij09dHlwZW9mIGVbdF0mJm4/ZVt0XVtuXTplW3RdLG99Z2V0UmVzcG9uc2l2ZUNvbnRyb2xWYWx1ZShlLHQpe2xldCBuPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXToiIjtjb25zdCBvPShhcmd1bWVudHMubGVuZ3RoPjMmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106bnVsbCl8fGVsZW1lbnRvckZyb250ZW5kLmdldEN1cnJlbnREZXZpY2VNb2RlKCkscz10aGlzLmdldENvbnRyb2xWYWx1ZShlLHQsbik7aWYoIndpZGVzY3JlZW4iPT09byl7Y29uc3Qgbz10aGlzLmdldENvbnRyb2xWYWx1ZShlLGAke3R9X3dpZGVzY3JlZW5gLG4pO3JldHVybiBvfHwwPT09bz9vOnN9Y29uc3QgaT1lbGVtZW50b3JGcm9udGVuZC5icmVha3BvaW50cy5nZXRBY3RpdmVCcmVha3BvaW50c0xpc3Qoe3dpdGhEZXNrdG9wOiEwfSk7bGV0IHI9byxhPWkuaW5kZXhPZihvKSxsPSIiO2Zvcig7YTw9aS5sZW5ndGg7KXtpZigiZGVza3RvcCI9PT1yKXtsPXM7YnJlYWt9Y29uc3Qgbz1gJHt0fV8ke3J9YCxkPXRoaXMuZ2V0Q29udHJvbFZhbHVlKGUsbyxuKTtpZihkfHwwPT09ZCl7bD1kO2JyZWFrfWErKyxyPWlbYV19cmV0dXJuIGx9fX0sNDI1MjooZSx0LG4pPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7Y2xhc3MgTGlnaHRib3hNYW5hZ2VyIGV4dGVuZHMgZWxlbWVudG9yTW9kdWxlcy5WaWV3TW9kdWxle3N0YXRpYyBnZXRMaWdodGJveCgpe2NvbnN0IGU9bmV3IFByb21pc2UoKGU9PntuLmUoODM1KS50aGVuKG4udC5iaW5kKG4sMzk0MiwyMykpLnRoZW4oKHQ9PntsZXR7ZGVmYXVsdDpufT10O3JldHVybiBlKG5ldyBuKX0pKX0pKSx0PWVsZW1lbnRvckZyb250ZW5kLnV0aWxzLmFzc2V0c0xvYWRlci5sb2FkKCJzY3JpcHQiLCJkaWFsb2ciKSxvPWVsZW1lbnRvckZyb250ZW5kLnV0aWxzLmFzc2V0c0xvYWRlci5sb2FkKCJzdHlsZSIsImRpYWxvZyIpLHM9ZWxlbWVudG9yRnJvbnRlbmQudXRpbHMuYXNzZXRzTG9hZGVyLmxvYWQoInNjcmlwdCIsInNoYXJlLWxpbmsiKSxpPWVsZW1lbnRvckZyb250ZW5kLnV0aWxzLmFzc2V0c0xvYWRlci5sb2FkKCJzdHlsZSIsInN3aXBlciIpLHI9ZWxlbWVudG9yRnJvbnRlbmQudXRpbHMuYXNzZXRzTG9hZGVyLmxvYWQoInN0eWxlIiwiZS1saWdodGJveCIpO3JldHVybiBQcm9taXNlLmFsbChbZSx0LG8scyxpLHJdKS50aGVuKCgoKT0+ZSkpfWdldERlZmF1bHRTZXR0aW5ncygpe3JldHVybntzZWxlY3RvcnM6e2xpbmtzOiJhLCBbZGF0YS1lbGVtZW50b3ItbGlnaHRib3hdIixzbGlkZXNob3c6IltkYXRhLWVsZW1lbnRvci1saWdodGJveC1zbGlkZXNob3ddIn19fWdldERlZmF1bHRFbGVtZW50cygpe3JldHVybnskbGlua3M6alF1ZXJ5KHRoaXMuZ2V0U2V0dGluZ3MoInNlbGVjdG9ycy5saW5rcyIpKSwkc2xpZGVzaG93OmpRdWVyeSh0aGlzLmdldFNldHRpbmdzKCJzZWxlY3RvcnMuc2xpZGVzaG93IikpfX1pc0xpZ2h0Ym94TGluayhlKXtpZigiYSI9PT1lLnRhZ05hbWUudG9Mb3dlckNhc2UoKSYmKGUuaGFzQXR0cmlidXRlKCJkb3dubG9hZCIpfHwhL15bXj9dK1wuKHBuZ3xqcGU/Z3xnaWZ8c3ZnfHdlYnApKFw/LiopPyQvaS50ZXN0KGUuaHJlZikpJiYhZS5kYXRhc2V0LmVsZW1lbnRvckxpZ2h0Ym94VmlkZW8pcmV0dXJuITE7Y29uc3QgdD1lbGVtZW50b3JGcm9udGVuZC5nZXRLaXRTZXR0aW5ncygiZ2xvYmFsX2ltYWdlX2xpZ2h0Ym94Iiksbj1lLmRhdGFzZXQuZWxlbWVudG9yT3BlbkxpZ2h0Ym94O3JldHVybiJ5ZXMiPT09bnx8dCYmIm5vIiE9PW59aXNMaWdodGJveFNsaWRlc2hvdygpe3JldHVybiAwIT09dGhpcy5lbGVtZW50cy4kc2xpZGVzaG93Lmxlbmd0aH1hc3luYyBvbkxpbmtDbGljayhlKXtjb25zdCB0PWUuY3VycmVudFRhcmdldCxuPWpRdWVyeShlLnRhcmdldCksbz1lbGVtZW50b3JGcm9udGVuZC5pc0VkaXRNb2RlKCkscz1vJiZlbGVtZW50b3IuJHByZXZpZXdDb250ZW50cy5maW5kKCJib2R5IikuaGFzQ2xhc3MoImVsZW1lbnRvci1lZGl0b3JfX3VpLXN0YXRlX19jb2xvci1waWNrZXIiKSxpPSEhbi5jbG9zZXN0KCIuZWxlbWVudG9yLWVkaXQtYXJlYSIpLmxlbmd0aDtpZighdGhpcy5pc0xpZ2h0Ym94TGluayh0KSlyZXR1cm4gdm9pZChvJiZpJiZlLnByZXZlbnREZWZhdWx0KCkpO2lmKGUucHJldmVudERlZmF1bHQoKSxvJiYhZWxlbWVudG9yLmdldFByZWZlcmVuY2VzKCJsaWdodGJveF9pbl9lZGl0b3IiKSlyZXR1cm47aWYocylyZXR1cm47KGF3YWl0IExpZ2h0Ym94TWFuYWdlci5nZXRMaWdodGJveCgpKS5jcmVhdGVMaWdodGJveCh0KX1iaW5kRXZlbnRzKCl7ZWxlbWVudG9yRnJvbnRlbmQuZWxlbWVudHMuJGRvY3VtZW50Lm9uKCJjbGljayIsdGhpcy5nZXRTZXR0aW5ncygic2VsZWN0b3JzLmxpbmtzIiksKGU9PnRoaXMub25MaW5rQ2xpY2soZSkpKX1vbkluaXQoKXtzdXBlci5vbkluaXQoLi4uYXJndW1lbnRzKSxlbGVtZW50b3JGcm9udGVuZC5pc0VkaXRNb2RlKCl8fHRoaXMubWF5YmVBY3RpdmF0ZUxpZ2h0Ym94T25MaW5rKCl9bWF5YmVBY3RpdmF0ZUxpZ2h0Ym94T25MaW5rKCl7dGhpcy5lbGVtZW50cy4kbGlua3MuZWFjaCgoKGUsdCk9PntpZih0aGlzLmlzTGlnaHRib3hMaW5rKHQpKXJldHVybiBMaWdodGJveE1hbmFnZXIuZ2V0TGlnaHRib3goKSwhMX0pKX19dC5kZWZhdWx0PUxpZ2h0Ym94TWFuYWdlcn0sNDkwMTooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO3QuZGVmYXVsdD1jbGFzcyBTd2lwZXJ7Y29uc3RydWN0b3IoZSx0KXtyZXR1cm4gdGhpcy5jb25maWc9dCx0aGlzLmNvbmZpZy5icmVha3BvaW50cyYmKHRoaXMuY29uZmlnPXRoaXMuYWRqdXN0Q29uZmlnKHQpKSxlIGluc3RhbmNlb2YgalF1ZXJ5JiYoZT1lWzBdKSxlLmNsb3Nlc3QoIi5lbGVtZW50b3Itd2lkZ2V0LXdyYXAiKT8uY2xhc3NMaXN0LmFkZCgiZS1zd2lwZXItY29udGFpbmVyIiksZS5jbG9zZXN0KCIuZWxlbWVudG9yLXdpZGdldCIpPy5jbGFzc0xpc3QuYWRkKCJlLXdpZGdldC1zd2lwZXIiKSxuZXcgUHJvbWlzZSgodD0+e2VsZW1lbnRvckZyb250ZW5kLnV0aWxzLmFzc2V0c0xvYWRlci5sb2FkKCJzY3JpcHQiLCJzd2lwZXIiKS50aGVuKCgoKT0+dCh0aGlzLmNyZWF0ZVN3aXBlckluc3RhbmNlKGUsdGhpcy5jb25maWcpKSkpfSkpfWNyZWF0ZVN3aXBlckluc3RhbmNlKGUsdCl7Y29uc3Qgbj13aW5kb3cuU3dpcGVyO3JldHVybiBuLnByb3RvdHlwZS5hZGp1c3RDb25maWc9dGhpcy5hZGp1c3RDb25maWcsbmV3IG4oZSx0KX1hZGp1c3RDb25maWcoZSl7aWYoIWUuaGFuZGxlRWxlbWVudG9yQnJlYWtwb2ludHMpcmV0dXJuIGU7Y29uc3QgdD1lbGVtZW50b3JGcm9udGVuZC5jb25maWcucmVzcG9uc2l2ZS5hY3RpdmVCcmVha3BvaW50cyxuPWVsZW1lbnRvckZyb250ZW5kLmJyZWFrcG9pbnRzLmdldEJyZWFrcG9pbnRWYWx1ZXMoKTtyZXR1cm4gT2JqZWN0LmtleXMoZS5icmVha3BvaW50cykuZm9yRWFjaCgobz0+e2NvbnN0IHM9cGFyc2VJbnQobyk7bGV0IGk7aWYocz09PXQubW9iaWxlLnZhbHVlfHxzKzE9PT10Lm1vYmlsZS52YWx1ZSlpPTA7ZWxzZSBpZighdC53aWRlc2NyZWVufHxzIT09dC53aWRlc2NyZWVuLnZhbHVlJiZzKzEhPT10LndpZGVzY3JlZW4udmFsdWUpe2NvbnN0IGU9bi5maW5kSW5kZXgoKGU9PnM9PT1lfHxzKzE9PT1lKSk7aT1uW2UtMV19ZWxzZSBpPXM7ZS5icmVha3BvaW50c1tpXT1lLmJyZWFrcG9pbnRzW29dLGUuYnJlYWtwb2ludHNbb109e3NsaWRlc1BlclZpZXc6ZS5zbGlkZXNQZXJWaWV3LHNsaWRlc1Blckdyb3VwOmUuc2xpZGVzUGVyR3JvdXA/ZS5zbGlkZXNQZXJHcm91cDoxfX0pKSxlfX19LDM1ODI6KGUsdCxuKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwLG4oNjA1MCk7Y2xhc3MgX2RlZmF1bHQgZXh0ZW5kcyBlbGVtZW50b3JNb2R1bGVzLlZpZXdNb2R1bGV7Z2V0RGVmYXVsdFNldHRpbmdzKCl7cmV0dXJue3NlbGVjdG9yczp7bGlua3M6J2FbaHJlZl49IiUyM2VsZW1lbnRvci1hY3Rpb24iXSwgYVtocmVmXj0iI2VsZW1lbnRvci1hY3Rpb24iXSd9fX1iaW5kRXZlbnRzKCl7ZWxlbWVudG9yRnJvbnRlbmQuZWxlbWVudHMuJGRvY3VtZW50Lm9uKCJjbGljayIsdGhpcy5nZXRTZXR0aW5ncygic2VsZWN0b3JzLmxpbmtzIiksdGhpcy5ydW5MaW5rQWN0aW9uLmJpbmQodGhpcykpfWluaXRBY3Rpb25zKCl7dGhpcy5hY3Rpb25zPXtsaWdodGJveDphc3luYyBlPT57Y29uc3QgdD1hd2FpdCBlbGVtZW50b3JGcm9udGVuZC51dGlscy5saWdodGJveDtlLnNsaWRlc2hvdz90Lm9wZW5TbGlkZXNob3coZS5zbGlkZXNob3csZS51cmwpOihlLmlkJiYoZS50eXBlPSJpbWFnZSIpLHQuc2hvd01vZGFsKGUpKX19fWFkZEFjdGlvbihlLHQpe3RoaXMuYWN0aW9uc1tlXT10fXJ1bkFjdGlvbihlKXtlPWRlY29kZVVSSShlKTtjb25zdCB0PShlPWRlY29kZVVSSUNvbXBvbmVudChlKSkubWF0Y2goL2FjdGlvbj0oLis/KSYvKTtpZighdClyZXR1cm47Y29uc3Qgbj10aGlzLmFjdGlvbnNbdFsxXV07aWYoIW4pcmV0dXJuO2xldCBvPXt9O2NvbnN0IHM9ZS5tYXRjaCgvc2V0dGluZ3M9KC4rKS8pO3MmJihvPUpTT04ucGFyc2UoYXRvYihzWzFdKSkpLG8ucHJldmlvdXNFdmVudD1ldmVudDtmb3IodmFyIGk9YXJndW1lbnRzLmxlbmd0aCxyPW5ldyBBcnJheShpPjE/aS0xOjApLGE9MTthPGk7YSsrKXJbYS0xXT1hcmd1bWVudHNbYV07bihvLC4uLnIpfXJ1bkxpbmtBY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMucnVuQWN0aW9uKGpRdWVyeShlLmN1cnJlbnRUYXJnZXQpLmF0dHIoImhyZWYiKSxlKX1ydW5IYXNoQWN0aW9uKCl7aWYoIWxvY2F0aW9uLmhhc2gpcmV0dXJuO2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgW2RhdGEtZS1hY3Rpb24taGFzaD0iJHtsb2NhdGlvbi5oYXNofSJdLCBhW2hyZWYqPSIke2xvY2F0aW9uLmhhc2h9Il1gKTtlJiZ0aGlzLnJ1bkFjdGlvbihlLmdldEF0dHJpYnV0ZSgiZGF0YS1lLWFjdGlvbi1oYXNoIikpfWNyZWF0ZUFjdGlvbkhhc2goZSx0KXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGAjZWxlbWVudG9yLWFjdGlvbjphY3Rpb249JHtlfSZzZXR0aW5ncz0ke2J0b2EoSlNPTi5zdHJpbmdpZnkodCkpfWApfW9uSW5pdCgpe3N1cGVyLm9uSW5pdCgpLHRoaXMuaW5pdEFjdGlvbnMoKSxlbGVtZW50b3JGcm9udGVuZC5vbigiY29tcG9uZW50czppbml0Iix0aGlzLnJ1bkhhc2hBY3Rpb24uYmluZCh0aGlzKSl9fXQuZGVmYXVsdD1fZGVmYXVsdH0sNzY3MjooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmlzU2Nyb2xsU25hcEFjdGl2ZT10LmVzY2FwZUhUTUw9dm9pZCAwO3QuZXNjYXBlSFRNTD1lPT57Y29uc3QgdD17IiYiOiImYW1wOyIsIjwiOiImbHQ7IiwiPiI6IiZndDsiLCInIjoiJiMzOTsiLCciJzoiJnF1b3Q7In07cmV0dXJuIGUucmVwbGFjZSgvWyY8PiciXS9nLChlPT50W2VdfHxlKSl9O3QuaXNTY3JvbGxTbmFwQWN0aXZlPSgpPT4ieWVzIj09PShlbGVtZW50b3JGcm9udGVuZC5pc0VkaXRNb2RlKCk/ZWxlbWVudG9yLnNldHRpbmdzLnBhZ2UubW9kZWwuYXR0cmlidXRlcz8uc2Nyb2xsX3NuYXA6ZWxlbWVudG9yRnJvbnRlbmQuY29uZmlnLnNldHRpbmdzLnBhZ2U/LnNjcm9sbF9zbmFwKX0sODQyNzooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO2NsYXNzIEJhc2VMb2FkZXIgZXh0ZW5kcyBlbGVtZW50b3JNb2R1bGVzLlZpZXdNb2R1bGV7Z2V0RGVmYXVsdFNldHRpbmdzKCl7cmV0dXJue2lzSW5zZXJ0ZWQ6ITEsc2VsZWN0b3JzOntmaXJzdFNjcmlwdDoic2NyaXB0OmZpcnN0In19fWdldERlZmF1bHRFbGVtZW50cygpe3JldHVybnskZmlyc3RTY3JpcHQ6alF1ZXJ5KHRoaXMuZ2V0U2V0dGluZ3MoInNlbGVjdG9ycy5maXJzdFNjcmlwdCIpKX19aW5zZXJ0QVBJKCl7dGhpcy5lbGVtZW50cy4kZmlyc3RTY3JpcHQuYmVmb3JlKGpRdWVyeSgiPHNjcmlwdD4iLHtzcmM6dGhpcy5nZXRBcGlVUkwoKX0pKSx0aGlzLnNldFNldHRpbmdzKCJpc0luc2VydGVkIiwhMCl9Z2V0VmlkZW9JREZyb21VUkwoZSl7Y29uc3QgdD1lLm1hdGNoKHRoaXMuZ2V0VVJMUmVnZXgoKSk7cmV0dXJuIHQmJnRbMV19b25BcGlSZWFkeShlKXt0aGlzLmdldFNldHRpbmdzKCJpc0luc2VydGVkIil8fHRoaXMuaW5zZXJ0QVBJKCksdGhpcy5pc0FwaUxvYWRlZCgpP2UodGhpcy5nZXRBcGlPYmplY3QoKSk6c2V0VGltZW91dCgoKCk9Pnt0aGlzLm9uQXBpUmVhZHkoZSl9KSwzNTApfWdldEF1dG9wbGF5VVJMKGUpe3JldHVybiBlLnJlcGxhY2UoIiZhdXRvcGxheT0wIiwiIikrIiZhdXRvcGxheT0xIn19dC5kZWZhdWx0PUJhc2VMb2FkZXJ9LDMxMjY6KGUsdCxuKT0+e3ZhciBvPW4oNjc4NCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7dmFyIHM9byhuKDg0MjcpKTtjbGFzcyBWaW1lb0xvYWRlciBleHRlbmRzIHMuZGVmYXVsdHtnZXRBcGlVUkwoKXtyZXR1cm4iaHR0cHM6Ly9wbGF5ZXIudmltZW8uY29tL2FwaS9wbGF5ZXIuanMifWdldFVSTFJlZ2V4KCl7cmV0dXJuL14oPzpodHRwcz86XC9cLyk/KD86d3d3fHBsYXllclwuKT8oPzp2aW1lb1wuY29tXC8pPyg/OnZpZGVvXC98ZXh0ZXJuYWxcLyk/KFxkKykoW14uPyYjIic+XT8pL31pc0FwaUxvYWRlZCgpe3JldHVybiB3aW5kb3cuVmltZW99Z2V0QXBpT2JqZWN0KCl7cmV0dXJuIFZpbWVvfWdldEF1dG9wbGF5VVJMKGUpe2NvbnN0IHQ9ZS5tYXRjaCgvI3Q9W14mXSovKTtyZXR1cm4gZS5yZXBsYWNlKHRbMF0sIiIpK3R9fXQuZGVmYXVsdD1WaW1lb0xvYWRlcn0sNTA3MzooZSx0LG4pPT57dmFyIG89big2Nzg0KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMDt2YXIgcz1vKG4oODQyNykpO2NsYXNzIFlvdXR1YmVMb2FkZXIgZXh0ZW5kcyBzLmRlZmF1bHR7Z2V0QXBpVVJMKCl7cmV0dXJuImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2lmcmFtZV9hcGkifWdldFVSTFJlZ2V4KCl7cmV0dXJuL14oPzpodHRwcz86XC9cLyk/KD86d3d3XC4pPyg/Om1cLik/KD86eW91dHVcLmJlXC98eW91dHViZVwuY29tXC8oPzooPzp3YXRjaCk/XD8oPzouKiYpP3ZpPz18KD86ZW1iZWR8dnx2aXx1c2VyKVwvKSkoW14/JiInPl0rKS99aXNBcGlMb2FkZWQoKXtyZXR1cm4gd2luZG93LllUJiZZVC5sb2FkZWR9Z2V0QXBpT2JqZWN0KCl7cmV0dXJuIFlUfX10LmRlZmF1bHQ9WW91dHViZUxvYWRlcn0sODMwOTooZSx0LG4pPT57bi5wPWVsZW1lbnRvckZyb250ZW5kQ29uZmlnLnVybHMuYXNzZXRzKyJqcy8ifSw1ODk2OihlLHQsbik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMCxuKDc2NjcpO2NsYXNzIEJyZWFrcG9pbnRzIGV4dGVuZHMgZWxlbWVudG9yTW9kdWxlcy5Nb2R1bGV7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLnJlc3BvbnNpdmVDb25maWc9ZX1nZXRBY3RpdmVCcmVha3BvaW50c0xpc3QoKXtsZXQgZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e307ZT17bGFyZ2VUb1NtYWxsOiExLHdpdGhEZXNrdG9wOiExLC4uLmV9O2NvbnN0IHQ9T2JqZWN0LmtleXModGhpcy5yZXNwb25zaXZlQ29uZmlnLmFjdGl2ZUJyZWFrcG9pbnRzKTtpZihlLndpdGhEZXNrdG9wKXtjb25zdCBlPS0xPT09dC5pbmRleE9mKCJ3aWRlc2NyZWVuIik/dC5sZW5ndGg6dC5sZW5ndGgtMTt0LnNwbGljZShlLDAsImRlc2t0b3AiKX1yZXR1cm4gZS5sYXJnZVRvU21hbGwmJnQucmV2ZXJzZSgpLHR9Z2V0QnJlYWtwb2ludFZhbHVlcygpe2NvbnN0e2FjdGl2ZUJyZWFrcG9pbnRzOmV9PXRoaXMucmVzcG9uc2l2ZUNvbmZpZyx0PVtdO3JldHVybiBPYmplY3QudmFsdWVzKGUpLmZvckVhY2goKGU9Pnt0LnB1c2goZS52YWx1ZSl9KSksdH1nZXREZXNrdG9wUHJldmlvdXNEZXZpY2VLZXkoKXtsZXQgZT0iIjtjb25zdHthY3RpdmVCcmVha3BvaW50czp0fT10aGlzLnJlc3BvbnNpdmVDb25maWcsbj1PYmplY3Qua2V5cyh0KSxvPW4ubGVuZ3RoO3JldHVybiBlPSJtaW4iPT09dFtuW28tMV1dLmRpcmVjdGlvbj9uW28tMl06bltvLTFdLGV9Z2V0RGVza3RvcE1pblBvaW50KCl7Y29uc3R7YWN0aXZlQnJlYWtwb2ludHM6ZX09dGhpcy5yZXNwb25zaXZlQ29uZmlnO3JldHVybiBlW3RoaXMuZ2V0RGVza3RvcFByZXZpb3VzRGV2aWNlS2V5KCldLnZhbHVlKzF9Z2V0RGV2aWNlTWluQnJlYWtwb2ludChlKXtpZigiZGVza3RvcCI9PT1lKXJldHVybiB0aGlzLmdldERlc2t0b3BNaW5Qb2ludCgpO2NvbnN0e2FjdGl2ZUJyZWFrcG9pbnRzOnR9PXRoaXMucmVzcG9uc2l2ZUNvbmZpZyxuPU9iamVjdC5rZXlzKHQpO2xldCBvO2lmKG5bMF09PT1lKW89MzIwO2Vsc2UgaWYoIndpZGVzY3JlZW4iPT09ZSlvPXRbZV0/dFtlXS52YWx1ZTp0aGlzLnJlc3BvbnNpdmVDb25maWcuYnJlYWtwb2ludHMud2lkZXNjcmVlbjtlbHNle2NvbnN0IHM9bi5pbmRleE9mKGUpO289dFtuW3MtMV1dLnZhbHVlKzF9cmV0dXJuIG99Z2V0QWN0aXZlTWF0Y2hSZWdleCgpe3JldHVybiBuZXcgUmVnRXhwKHRoaXMuZ2V0QWN0aXZlQnJlYWtwb2ludHNMaXN0KCkubWFwKChlPT4iXyIrZSkpLmpvaW4oInwiKSsiJCIpfX10LmRlZmF1bHQ9QnJlYWtwb2ludHN9LDQ3OTk6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXQuRXZlbnRzPXZvaWQgMDtjbGFzcyBFdmVudHN7c3RhdGljIGRpc3BhdGNoKGUsdCl7bGV0IG49YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOm51bGwsbz1hcmd1bWVudHMubGVuZ3RoPjMmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106bnVsbDtlPWUgaW5zdGFuY2VvZiBqUXVlcnk/ZVswXTplLG8mJmUuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQobyx7ZGV0YWlsOm59KSksZS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCh0LHtkZXRhaWw6bn0pKX19dC5FdmVudHM9RXZlbnRzO3QuZGVmYXVsdD1FdmVudHN9LDU5NTY6KGUsdCxuKT0+e24oNzY2Nyk7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIGUsdD1BcnJheS5wcm90b3R5cGUuc2xpY2Usbj17YWN0aW9uczp7fSxmaWx0ZXJzOnt9fTtmdW5jdGlvbiBfcmVtb3ZlSG9vayhlLHQsbyxzKXt2YXIgaSxyLGE7aWYobltlXVt0XSlpZihvKWlmKGk9bltlXVt0XSxzKWZvcihhPWkubGVuZ3RoO2EtLTspKHI9aVthXSkuY2FsbGJhY2s9PT1vJiZyLmNvbnRleHQ9PT1zJiZpLnNwbGljZShhLDEpO2Vsc2UgZm9yKGE9aS5sZW5ndGg7YS0tOylpW2FdLmNhbGxiYWNrPT09byYmaS5zcGxpY2UoYSwxKTtlbHNlIG5bZV1bdF09W119ZnVuY3Rpb24gX2FkZEhvb2soZSx0LG8scyxpKXt2YXIgcj17Y2FsbGJhY2s6byxwcmlvcml0eTpzLGNvbnRleHQ6aX0sYT1uW2VdW3RdO2lmKGEpe3ZhciBsPSExO2lmKGpRdWVyeS5lYWNoKGEsKGZ1bmN0aW9uKCl7aWYodGhpcy5jYWxsYmFjaz09PW8pcmV0dXJuIGw9ITAsITF9KSksbClyZXR1cm47YS5wdXNoKHIpLGE9ZnVuY3Rpb24gX2hvb2tJbnNlcnRTb3J0KGUpe2Zvcih2YXIgdCxuLG8scz0xLGk9ZS5sZW5ndGg7czxpO3MrKyl7Zm9yKHQ9ZVtzXSxuPXM7KG89ZVtuLTFdKSYmby5wcmlvcml0eT50LnByaW9yaXR5OyllW25dPWVbbi0xXSwtLW47ZVtuXT10fXJldHVybiBlfShhKX1lbHNlIGE9W3JdO25bZV1bdF09YX1mdW5jdGlvbiBfcnVuSG9vayhlLHQsbyl7dmFyIHMsaSxyPW5bZV1bdF07aWYoIXIpcmV0dXJuImZpbHRlcnMiPT09ZSYmb1swXTtpZihpPXIubGVuZ3RoLCJmaWx0ZXJzIj09PWUpZm9yKHM9MDtzPGk7cysrKW9bMF09cltzXS5jYWxsYmFjay5hcHBseShyW3NdLmNvbnRleHQsbyk7ZWxzZSBmb3Iocz0wO3M8aTtzKyspcltzXS5jYWxsYmFjay5hcHBseShyW3NdLmNvbnRleHQsbyk7cmV0dXJuImZpbHRlcnMiIT09ZXx8b1swXX1yZXR1cm4gZT17cmVtb3ZlRmlsdGVyOmZ1bmN0aW9uIHJlbW92ZUZpbHRlcih0LG4pe3JldHVybiJzdHJpbmciPT10eXBlb2YgdCYmX3JlbW92ZUhvb2soImZpbHRlcnMiLHQsbiksZX0sYXBwbHlGaWx0ZXJzOmZ1bmN0aW9uIGFwcGx5RmlsdGVycygpe3ZhciBuPXQuY2FsbChhcmd1bWVudHMpLG89bi5zaGlmdCgpO3JldHVybiJzdHJpbmciPT10eXBlb2Ygbz9fcnVuSG9vaygiZmlsdGVycyIsbyxuKTplfSxhZGRGaWx0ZXI6ZnVuY3Rpb24gYWRkRmlsdGVyKHQsbixvLHMpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdCYmImZ1bmN0aW9uIj09dHlwZW9mIG4mJl9hZGRIb29rKCJmaWx0ZXJzIix0LG4sbz1wYXJzZUludChvfHwxMCwxMCkscyksZX0scmVtb3ZlQWN0aW9uOmZ1bmN0aW9uIHJlbW92ZUFjdGlvbih0LG4pe3JldHVybiJzdHJpbmciPT10eXBlb2YgdCYmX3JlbW92ZUhvb2soImFjdGlvbnMiLHQsbiksZX0sZG9BY3Rpb246ZnVuY3Rpb24gZG9BY3Rpb24oKXt2YXIgbj10LmNhbGwoYXJndW1lbnRzKSxvPW4uc2hpZnQoKTtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIG8mJl9ydW5Ib29rKCJhY3Rpb25zIixvLG4pLGV9LGFkZEFjdGlvbjpmdW5jdGlvbiBhZGRBY3Rpb24odCxuLG8scyl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgbiYmX2FkZEhvb2soImFjdGlvbnMiLHQsbixvPXBhcnNlSW50KG98fDEwLDEwKSxzKSxlfX0sZX19LDUxMTU6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMDtjb25zdCBtYXRjaFVzZXJBZ2VudD1lPT5uLmluZGV4T2YoZSk+PTAsbj1uYXZpZ2F0b3IudXNlckFnZW50LG89ISF3aW5kb3cub3ByJiYhIW9wci5hZGRvbnN8fCEhd2luZG93Lm9wZXJhfHxtYXRjaFVzZXJBZ2VudCgiIE9QUi8iKSxzPW1hdGNoVXNlckFnZW50KCJGaXJlZm94IiksaT0vXigoPyFjaHJvbWV8YW5kcm9pZCkuKSpzYWZhcmkvaS50ZXN0KG4pfHwvY29uc3RydWN0b3IvaS50ZXN0KHdpbmRvdy5IVE1MRWxlbWVudCl8fCJbb2JqZWN0IFNhZmFyaVJlbW90ZU5vdGlmaWNhdGlvbl0iPT09KCF3aW5kb3cuc2FmYXJpfHwidW5kZWZpbmVkIiE9dHlwZW9mIHNhZmFyaSYmc2FmYXJpLnB1c2hOb3RpZmljYXRpb24pLnRvU3RyaW5nKCkscj0vVHJpZGVudHxNU0lFLy50ZXN0KG4pJiYhIWRvY3VtZW50LmRvY3VtZW50TW9kZSxhPSFyJiYhIXdpbmRvdy5TdHlsZU1lZGlhfHxtYXRjaFVzZXJBZ2VudCgiRWRnIiksbD0hIXdpbmRvdy5jaHJvbWUmJm1hdGNoVXNlckFnZW50KCJDaHJvbWUiKSYmIShhfHxvKSxkPW1hdGNoVXNlckFnZW50KCJDaHJvbWUiKSYmISF3aW5kb3cuQ1NTLGM9bWF0Y2hVc2VyQWdlbnQoIkFwcGxlV2ViS2l0IikmJiFkLHU9e2lzVG91Y2hEZXZpY2U6Im9udG91Y2hzdGFydCJpbiB3aW5kb3d8fG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cz4wfHxuYXZpZ2F0b3IubXNNYXhUb3VjaFBvaW50cz4wLGFwcGxlV2Via2l0OmMsYmxpbms6ZCxjaHJvbWU6bCxlZGdlOmEsZmlyZWZveDpzLGllOnIsbWFjOm1hdGNoVXNlckFnZW50KCJNYWNpbnRvc2giKSxvcGVyYTpvLHNhZmFyaTppLHdlYmtpdDptYXRjaFVzZXJBZ2VudCgiQXBwbGVXZWJLaXQiKX07dC5kZWZhdWx0PXV9LDg3Njc6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMDtjbGFzcyBfZGVmYXVsdCBleHRlbmRzIGVsZW1lbnRvck1vZHVsZXMuTW9kdWxle2dldChlLHQpe2xldCBuO3Q9dHx8e307dHJ5e249dC5zZXNzaW9uP3Nlc3Npb25TdG9yYWdlOmxvY2FsU3RvcmFnZX1jYXRjaCh0KXtyZXR1cm4gZT92b2lkIDA6e319bGV0IG89bi5nZXRJdGVtKCJlbGVtZW50b3IiKTtvPW8/SlNPTi5wYXJzZShvKTp7fSxvLl9fZXhwaXJhdGlvbnx8KG8uX19leHBpcmF0aW9uPXt9KTtjb25zdCBzPW8uX19leHBpcmF0aW9uO2xldCBpPVtdO2U/c1tlXSYmKGk9W2VdKTppPU9iamVjdC5rZXlzKHMpO2xldCByPSExO3JldHVybiBpLmZvckVhY2goKGU9PntuZXcgRGF0ZShzW2VdKTxuZXcgRGF0ZSYmKGRlbGV0ZSBvW2VdLGRlbGV0ZSBzW2VdLHI9ITApfSkpLHImJnRoaXMuc2F2ZShvLHQuc2Vzc2lvbiksZT9vW2VdOm99c2V0KGUsdCxuKXtuPW58fHt9O2NvbnN0IG89dGhpcy5nZXQobnVsbCxuKTtpZihvW2VdPXQsbi5saWZldGltZUluU2Vjb25kcyl7Y29uc3QgdD1uZXcgRGF0ZTt0LnNldFRpbWUodC5nZXRUaW1lKCkrMWUzKm4ubGlmZXRpbWVJblNlY29uZHMpLG8uX19leHBpcmF0aW9uW2VdPXQuZ2V0VGltZSgpfXRoaXMuc2F2ZShvLG4uc2Vzc2lvbil9c2F2ZShlLHQpe2xldCBuO3RyeXtuPXQ/c2Vzc2lvblN0b3JhZ2U6bG9jYWxTdG9yYWdlfWNhdGNoKGUpe3JldHVybn1uLnNldEl0ZW0oImVsZW1lbnRvciIsSlNPTi5zdHJpbmdpZnkoZSkpfX10LmRlZmF1bHQ9X2RlZmF1bHR9LDc4NDI6KGUsdCxuKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO2NsYXNzIF9kZWZhdWx0IGV4dGVuZHMgZWxlbWVudG9yTW9kdWxlcy5Nb2R1bGV7Y29uc3RydWN0b3IoKXtzdXBlcigpLGVsZW1lbnRvckZyb250ZW5kLmVsZW1lbnRzSGFuZGxlci5hdHRhY2hIYW5kbGVyKCJ0ZXh0LXBhdGgiLCgoKT0+bi5lKDMwKS50aGVuKG4uYmluZChuLDI0MSkpKSl9fXQuZGVmYXVsdD1fZGVmYXVsdH0sNjYzNzooZSx0LG4pPT57dmFyIG89big3NDI0KSxzPVN0cmluZyxpPVR5cGVFcnJvcjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBlfHxvKGUpKXJldHVybiBlO3Rocm93IGkoIkNhbid0IHNldCAiK3MoZSkrIiBhcyBhIHByb3RvdHlwZSIpfX0sMjY6KGUsdCxuKT0+e3ZhciBvPW4oNjgzMCkscz1UeXBlRXJyb3I7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7aWYobyh0LGUpKXJldHVybiBlO3Rocm93IHMoIkluY29ycmVjdCBpbnZvY2F0aW9uIil9fSw5Nzk0OihlLHQsbik9Pnt2YXIgbz1uKDM1NTcpLHM9big3NDI0KSxpPW4oNjYxKSxyPW4oNzE2NikoInRvU3RyaW5nVGFnIiksYT1PYmplY3QsbD0iQXJndW1lbnRzIj09aShmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHN9KCkpO2UuZXhwb3J0cz1vP2k6ZnVuY3Rpb24oZSl7dmFyIHQsbixvO3JldHVybiB2b2lkIDA9PT1lPyJVbmRlZmluZWQiOm51bGw9PT1lPyJOdWxsIjoic3RyaW5nIj09dHlwZW9mKG49ZnVuY3Rpb24oZSx0KXt0cnl7cmV0dXJuIGVbdF19Y2F0Y2goZSl7fX0odD1hKGUpLHIpKT9uOmw/aSh0KToiT2JqZWN0Ij09KG89aSh0KSkmJnModC5jYWxsZWUpPyJBcmd1bWVudHMiOm99fSw0NTQ3OmU9PntlLmV4cG9ydHM9e0luZGV4U2l6ZUVycm9yOntzOiJJTkRFWF9TSVpFX0VSUiIsYzoxLG06MX0sRE9NU3RyaW5nU2l6ZUVycm9yOntzOiJET01TVFJJTkdfU0laRV9FUlIiLGM6MixtOjB9LEhpZXJhcmNoeVJlcXVlc3RFcnJvcjp7czoiSElFUkFSQ0hZX1JFUVVFU1RfRVJSIixjOjMsbToxfSxXcm9uZ0RvY3VtZW50RXJyb3I6e3M6IldST05HX0RPQ1VNRU5UX0VSUiIsYzo0LG06MX0sSW52YWxpZENoYXJhY3RlckVycm9yOntzOiJJTlZBTElEX0NIQVJBQ1RFUl9FUlIiLGM6NSxtOjF9LE5vRGF0YUFsbG93ZWRFcnJvcjp7czoiTk9fREFUQV9BTExPV0VEX0VSUiIsYzo2LG06MH0sTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3I6e3M6Ik5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUiIsYzo3LG06MX0sTm90Rm91bmRFcnJvcjp7czoiTk9UX0ZPVU5EX0VSUiIsYzo4LG06MX0sTm90U3VwcG9ydGVkRXJyb3I6e3M6Ik5PVF9TVVBQT1JURURfRVJSIixjOjksbToxfSxJblVzZUF0dHJpYnV0ZUVycm9yOntzOiJJTlVTRV9BVFRSSUJVVEVfRVJSIixjOjEwLG06MX0sSW52YWxpZFN0YXRlRXJyb3I6e3M6IklOVkFMSURfU1RBVEVfRVJSIixjOjExLG06MX0sU3ludGF4RXJyb3I6e3M6IlNZTlRBWF9FUlIiLGM6MTIsbToxfSxJbnZhbGlkTW9kaWZpY2F0aW9uRXJyb3I6e3M6IklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUiIsYzoxMyxtOjF9LE5hbWVzcGFjZUVycm9yOntzOiJOQU1FU1BBQ0VfRVJSIixjOjE0LG06MX0sSW52YWxpZEFjY2Vzc0Vycm9yOntzOiJJTlZBTElEX0FDQ0VTU19FUlIiLGM6MTUsbToxfSxWYWxpZGF0aW9uRXJyb3I6e3M6IlZBTElEQVRJT05fRVJSIixjOjE2LG06MH0sVHlwZU1pc21hdGNoRXJyb3I6e3M6IlRZUEVfTUlTTUFUQ0hfRVJSIixjOjE3LG06MX0sU2VjdXJpdHlFcnJvcjp7czoiU0VDVVJJVFlfRVJSIixjOjE4LG06MX0sTmV0d29ya0Vycm9yOntzOiJORVRXT1JLX0VSUiIsYzoxOSxtOjF9LEFib3J0RXJyb3I6e3M6IkFCT1JUX0VSUiIsYzoyMCxtOjF9LFVSTE1pc21hdGNoRXJyb3I6e3M6IlVSTF9NSVNNQVRDSF9FUlIiLGM6MjEsbToxfSxRdW90YUV4Y2VlZGVkRXJyb3I6e3M6IlFVT1RBX0VYQ0VFREVEX0VSUiIsYzoyMixtOjF9LFRpbWVvdXRFcnJvcjp7czoiVElNRU9VVF9FUlIiLGM6MjMsbToxfSxJbnZhbGlkTm9kZVR5cGVFcnJvcjp7czoiSU5WQUxJRF9OT0RFX1RZUEVfRVJSIixjOjI0LG06MX0sRGF0YUNsb25lRXJyb3I6e3M6IkRBVEFfQ0xPTkVfRVJSIixjOjI1LG06MX19fSwzMjgwOihlLHQsbik9Pnt2YXIgbz1uKDk3MDkpLHM9RXJyb3IsaT1vKCIiLnJlcGxhY2UpLHI9U3RyaW5nKHMoInp4Y2FzZCIpLnN0YWNrKSxhPS9cblxzKmF0IFteOl0qOlteXG5dKi8sbD1hLnRlc3Qocik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7aWYobCYmInN0cmluZyI9PXR5cGVvZiBlJiYhcy5wcmVwYXJlU3RhY2tUcmFjZSlmb3IoO3QtLTspZT1pKGUsYSwiIik7cmV0dXJuIGV9fSw5MzA5OihlLHQsbik9Pnt2YXIgbz1uKDk3MDkpLHM9big3ODUzKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4pe3RyeXtyZXR1cm4gbyhzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KVtuXSkpfWNhdGNoKGUpe319fSwzMDQyOihlLHQsbik9Pnt2YXIgbz1uKDc0MjQpLHM9big2ODI3KSxpPW4oNDMyMik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixhO3JldHVybiBpJiZvKHI9dC5jb25zdHJ1Y3RvcikmJnIhPT1uJiZzKGE9ci5wcm90b3R5cGUpJiZhIT09bi5wcm90b3R5cGUmJmkoZSxhKSxlfX0sNzQ5NDooZSx0LG4pPT57dmFyIG89bigxNjcwKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdm9pZCAwPT09ZT9hcmd1bWVudHMubGVuZ3RoPDI/IiI6dDpvKGUpfX0sNDMyMjooZSx0LG4pPT57dmFyIG89big5MzA5KSxzPW4oMTMyNiksaT1uKDY2MzcpO2UuZXhwb3J0cz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fCgiX19wcm90b19fImlue30/ZnVuY3Rpb24oKXt2YXIgZSx0PSExLG49e307dHJ5eyhlPW8oT2JqZWN0LnByb3RvdHlwZSwiX19wcm90b19fIiwic2V0IikpKG4sW10pLHQ9biBpbnN0YW5jZW9mIEFycmF5fWNhdGNoKGUpe31yZXR1cm4gZnVuY3Rpb24gc2V0UHJvdG90eXBlT2YobixvKXtyZXR1cm4gcyhuKSxpKG8pLHQ/ZShuLG8pOm4uX19wcm90b19fPW8sbn19KCk6dm9pZCAwKX0sMzU1NzooZSx0LG4pPT57dmFyIG89e307b1tuKDcxNjYpKCJ0b1N0cmluZ1RhZyIpXT0ieiIsZS5leHBvcnRzPSJbb2JqZWN0IHpdIj09PVN0cmluZyhvKX0sMTY3MDooZSx0LG4pPT57dmFyIG89big5Nzk0KSxzPVN0cmluZztlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7aWYoIlN5bWJvbCI9PT1vKGUpKXRocm93IFR5cGVFcnJvcigiQ2Fubm90IGNvbnZlcnQgYSBTeW1ib2wgdmFsdWUgdG8gYSBzdHJpbmciKTtyZXR1cm4gcyhlKX19LDYwNTA6KGUsdCxuKT0+e3ZhciBvPW4oNTY4OSkscz1uKDI3NTYpLGk9big1MDcyKSxyPW4oOTM2NyksYT1uKDc2MTQpLmYsbD1uKDUxMTApLGQ9bigyNiksYz1uKDMwNDIpLHU9big3NDk0KSxoPW4oNDU0NyksbT1uKDMyODApLGc9big2OTUzKSxwPW4oNzY5MCksZj0iRE9NRXhjZXB0aW9uIix2PWkoIkVycm9yIiksYj1pKGYpLHk9ZnVuY3Rpb24gRE9NRXhjZXB0aW9uKCl7ZCh0aGlzLF8pO3ZhciBlPWFyZ3VtZW50cy5sZW5ndGgsdD11KGU8MT92b2lkIDA6YXJndW1lbnRzWzBdKSxuPXUoZTwyP3ZvaWQgMDphcmd1bWVudHNbMV0sIkVycm9yIiksbz1uZXcgYih0LG4pLHM9dih0KTtyZXR1cm4gcy5uYW1lPWYsYShvLCJzdGFjayIscigxLG0ocy5zdGFjaywxKSkpLGMobyx0aGlzLHkpLG99LF89eS5wcm90b3R5cGU9Yi5wcm90b3R5cGUsaz0ic3RhY2siaW4gdihmKSx3PSJzdGFjayJpbiBuZXcgYigxLDIpLFM9YiYmZyYmT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzLGYpLEU9ISghU3x8Uy53cml0YWJsZSYmUy5jb25maWd1cmFibGUpLEE9ayYmIUUmJiF3O28oe2dsb2JhbDohMCxjb25zdHJ1Y3RvcjohMCxmb3JjZWQ6cHx8QX0se0RPTUV4Y2VwdGlvbjpBP3k6Yn0pO3ZhciBNPWkoZiksQz1NLnByb3RvdHlwZTtpZihDLmNvbnN0cnVjdG9yIT09TSlmb3IodmFyICQgaW4gcHx8YShDLCJjb25zdHJ1Y3RvciIscigxLE0pKSxoKWlmKGwoaCwkKSl7dmFyIEQ9aFskXSxUPUQucztsKE0sVCl8fGEoTSxULHIoNixELmMpKX19fSxlPT57ZS5PKDAsWzk0MV0sKCgpPT57cmV0dXJuIHQ9NzYwMyxlKGUucz10KTt2YXIgdH0pKTtlLk8oKX1dKTs="}},"time_used":674,"timings":{"blocked":581,"dns":0,"connect":0,"send":0,"wait":93,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=6.0.3","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.699Z","timestamp":1785141582699,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/plugins/contact-form-7/includes/css/styles.css?ver=6.0.3 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://oxlofttrd.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:42 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:57:40 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:42 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 1015\r\nKeep-Alive: timeout=5, max=100\r\nConnection: Keep-Alive\r\nContent-Type: text/css\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":2894,"size_decoded":1367,"mime_type":"text/css","magic":"ASCII text","md5":"3fd2afa98866679439097f4ab102fe0a","sha1":"dbc9c4139e49d0d9fb41b7191aad1a2db6c555fd","sha256":"ccd31ffa708d025833f954b3e0560cedd58df9a0d2706b2ccee5f501c5b2467b","sha512":"82811ef42abd80cbebd4a74d35475fc3871478fc25a486b08bb7e04921b7824db56c56b2191e9ab56a421552b483a2e64f966396711e5f248afae9d1ded22cb2","ssdeep":"","tlshash":"12511164660028504bff92d77ea9db047b6e7481ce1faf97b0c21a3c5b786851223e5e","first_seen":"2023-11-16T07:59:28Z","last_seen":"2026-07-27T14:36:17.350586Z","times_seen":84988,"resource_available":false,"data":"LndwY2Y3IC5zY3JlZW4tcmVhZGVyLXJlc3BvbnNlIHsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCW92ZXJmbG93OiBoaWRkZW47CgljbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7CgljbGlwLXBhdGg6IGluc2V0KDUwJSk7CgloZWlnaHQ6IDFweDsKCXdpZHRoOiAxcHg7CgltYXJnaW46IC0xcHg7CglwYWRkaW5nOiAwOwoJYm9yZGVyOiAwOwoJd29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDsKfQoKLndwY2Y3IGZvcm0gLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7CgltYXJnaW46IDJlbSAwLjVlbSAxZW07CglwYWRkaW5nOiAwLjJlbSAxZW07Cglib3JkZXI6IDJweCBzb2xpZCAjMDBhMGQyOyAvKiBCbHVlICovCn0KCi53cGNmNyBmb3JtLmluaXQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCwKLndwY2Y3IGZvcm0ucmVzZXR0aW5nIC53cGNmNy1yZXNwb25zZS1vdXRwdXQsCi53cGNmNyBmb3JtLnN1Ym1pdHRpbmcgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7CglkaXNwbGF5OiBub25lOwp9Cgoud3BjZjcgZm9ybS5zZW50IC53cGNmNy1yZXNwb25zZS1vdXRwdXQgewoJYm9yZGVyLWNvbG9yOiAjNDZiNDUwOyAvKiBHcmVlbiAqLwp9Cgoud3BjZjcgZm9ybS5mYWlsZWQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCwKLndwY2Y3IGZvcm0uYWJvcnRlZCAud3BjZjctcmVzcG9uc2Utb3V0cHV0IHsKCWJvcmRlci1jb2xvcjogI2RjMzIzMjsgLyogUmVkICovCn0KCi53cGNmNyBmb3JtLnNwYW0gLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7Cglib3JkZXItY29sb3I6ICNmNTZlMjg7IC8qIE9yYW5nZSAqLwp9Cgoud3BjZjcgZm9ybS5pbnZhbGlkIC53cGNmNy1yZXNwb25zZS1vdXRwdXQsCi53cGNmNyBmb3JtLnVuYWNjZXB0ZWQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCwKLndwY2Y3IGZvcm0ucGF5bWVudC1yZXF1aXJlZCAud3BjZjctcmVzcG9uc2Utb3V0cHV0IHsKCWJvcmRlci1jb2xvcjogI2ZmYjkwMDsgLyogWWVsbG93ICovCn0KCi53cGNmNy1mb3JtLWNvbnRyb2wtd3JhcCB7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi53cGNmNy1ub3QtdmFsaWQtdGlwIHsKCWNvbG9yOiAjZGMzMjMyOyAvKiBSZWQgKi8KCWZvbnQtc2l6ZTogMWVtOwoJZm9udC13ZWlnaHQ6IG5vcm1hbDsKCWRpc3BsYXk6IGJsb2NrOwp9CgoudXNlLWZsb2F0aW5nLXZhbGlkYXRpb24tdGlwIC53cGNmNy1ub3QtdmFsaWQtdGlwIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCXRvcDogLTJleDsKCWxlZnQ6IDFlbTsKCXotaW5kZXg6IDEwMDsKCWJvcmRlcjogMXB4IHNvbGlkICNkYzMyMzI7CgliYWNrZ3JvdW5kOiAjZmZmOwoJcGFkZGluZzogLjJlbSAuOGVtOwoJd2lkdGg6IDI0ZW07Cn0KCi53cGNmNy1saXN0LWl0ZW0gewoJZGlzcGxheTogaW5saW5lLWJsb2NrOwoJbWFyZ2luOiAwIDAgMCAxZW07Cn0KCi53cGNmNy1saXN0LWl0ZW0tbGFiZWw6OmJlZm9yZSwKLndwY2Y3LWxpc3QtaXRlbS1sYWJlbDo6YWZ0ZXIgewoJY29udGVudDogIiAiOwp9Cgoud3BjZjctc3Bpbm5lciB7Cgl2aXNpYmlsaXR5OiBoaWRkZW47CglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CgliYWNrZ3JvdW5kLWNvbG9yOiAjMjMyODJkOyAvKiBEYXJrIEdyYXkgODAwICovCglvcGFjaXR5OiAwLjc1OwoJd2lkdGg6IDI0cHg7CgloZWlnaHQ6IDI0cHg7Cglib3JkZXI6IG5vbmU7Cglib3JkZXItcmFkaXVzOiAxMDAlOwoJcGFkZGluZzogMDsKCW1hcmdpbjogMCAyNHB4OwoJcG9zaXRpb246IHJlbGF0aXZlOwp9Cgpmb3JtLnN1Ym1pdHRpbmcgLndwY2Y3LXNwaW5uZXIgewoJdmlzaWJpbGl0eTogdmlzaWJsZTsKfQoKLndwY2Y3LXNwaW5uZXI6OmJlZm9yZSB7Cgljb250ZW50OiAnJzsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWJhY2tncm91bmQtY29sb3I6ICNmYmZiZmM7IC8qIExpZ2h0IEdyYXkgMTAwICovCgl0b3A6IDRweDsKCWxlZnQ6IDRweDsKCXdpZHRoOiA2cHg7CgloZWlnaHQ6IDZweDsKCWJvcmRlcjogbm9uZTsKCWJvcmRlci1yYWRpdXM6IDEwMCU7Cgl0cmFuc2Zvcm0tb3JpZ2luOiA4cHggOHB4OwoJYW5pbWF0aW9uLW5hbWU6IHNwaW47CglhbmltYXRpb24tZHVyYXRpb246IDEwMDBtczsKCWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsKCWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOwp9CgpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewoJLndwY2Y3LXNwaW5uZXI6OmJlZm9yZSB7CgkJYW5pbWF0aW9uLW5hbWU6IGJsaW5rOwoJCWFuaW1hdGlvbi1kdXJhdGlvbjogMjAwMG1zOwoJfQp9CgpAa2V5ZnJhbWVzIHNwaW4gewoJZnJvbSB7CgkJdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7Cgl9CgoJdG8gewoJCXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7Cgl9Cn0KCkBrZXlmcmFtZXMgYmxpbmsgewoJZnJvbSB7CgkJb3BhY2l0eTogMDsKCX0KCgk1MCUgewoJCW9wYWNpdHk6IDE7Cgl9CgoJdG8gewoJCW9wYWNpdHk6IDA7Cgl9Cn0KCi53cGNmNyBbaW5lcnRdIHsKCW9wYWNpdHk6IDAuNTsKfQoKLndwY2Y3IGlucHV0W3R5cGU9ImZpbGUiXSB7CgljdXJzb3I6IHBvaW50ZXI7Cn0KCi53cGNmNyBpbnB1dFt0eXBlPSJmaWxlIl06ZGlzYWJsZWQgewoJY3Vyc29yOiBkZWZhdWx0Owp9Cgoud3BjZjcgLndwY2Y3LXN1Ym1pdDpkaXNhYmxlZCB7CgljdXJzb3I6IG5vdC1hbGxvd2VkOwp9Cgoud3BjZjcgaW5wdXRbdHlwZT0idXJsIl0sCi53cGNmNyBpbnB1dFt0eXBlPSJlbWFpbCJdLAoud3BjZjcgaW5wdXRbdHlwZT0idGVsIl0gewoJZGlyZWN0aW9uOiBsdHI7Cn0KCi53cGNmNy1yZWZsZWN0aW9uID4gb3V0cHV0IHsKCWRpc3BsYXk6IGxpc3QtaXRlbTsKCWxpc3Qtc3R5bGU6IG5vbmU7Cn0KCi53cGNmNy1yZWZsZWN0aW9uID4gb3V0cHV0W2hpZGRlbl0gewoJZGlzcGxheTogbm9uZTsKfQo="}},"time_used":279,"timings":{"blocked":-1,"dns":0,"connect":90,"send":0,"wait":92,"receive":0,"ssl":97},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12181.b65a58355ff7cc34950f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.155Z","timestamp":1785141584155,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12181.b65a58355ff7cc34950f.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a44af20-21c82\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 01 Jul 2026 06:09:36 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/01/2026 11:40:37\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 725a8f5c6d3b2a8fcaa1fa2a14ba429f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":138370,"size_decoded":18187,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (3070)","md5":"90cd4a18a60bc908d0840ba4fec27dc6","sha1":"bb5de7eba54b0d9323f872960612df642a27716e","sha256":"ae043b44480c283e0e50b84e353fe3e98e560fb8f9bd14638f61a5dfadc231ba","sha512":"1ff83bc8bcac42839140d927da7b753dc51b3ab887327bf07fef3ca3b194425621ed7376ef404517f818a80b9f3d96955fd5c9239c1dc05e599503f7118edc99","ssdeep":"1536:U4ecrc2hMNlbPWqfxN+fUE44ld4e44IJmuJY7+fHfvWr05KNyhLcSbWd4+o:4CxdswjaWyn","tlshash":"10d345b217f406f473b80d5293f77e591b3c74a359882c52d2a4d9a0dd40fc2a96ba3e","first_seen":"2026-07-01T19:46:28.364877Z","last_seen":"2026-07-27T14:53:25.823101Z","times_seen":1159,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjE4MV0sezcxMjE4MShlKXtlLmV4cG9ydHMudHpEYXRhPXsiQWZyaWNhL0NhaXJvIjp7dGltZTpbLTIxODU0MDE2MDAsLTkyOTgzNjgwMCwtOTIzMDk3NjAwLC05MDYxNjMyMDAsLTg5Mjg1NzYwMCwtODc1ODM2ODAwLC04NTc3NzkyMDAsLTg0NDMwMDgwMCwtODI1ODExMjAwLC04MTI2Nzg0MDAsLTc5NDE4ODgwMCwtNzc5ODQ2NDAwLC03NjI2NTI4MDAsLTM5OTA4MTYwMCwtMzg2NjRlNCwtMzY4MzIzMjAwLC0zNTUxMDRlMywtMzM2NzgzNjAwLC0zMjM2NDM2MDAsLTMwNTE2MTIwMCwtMjkyMDIxMjAwLC0yNzM2MjUyMDAsLTI2MDQ4NTIwMCwtMjQyMDg5MjAwLC0yMjg5NDkyMDAsLTIxMDU1MzIwMCwtMTk3NDEzMjAwLC0xNzg5MzA4MDAsLTE2NTc5MDgwMCwtMTQ3Mzk0ODAwLC0xMzQyNTQ4MDAsLTExNTg1ODgwMCwtMTAyNjMyNDAwLC04NDMyMjgwMCwtNzEwOTY0MDAsLTUyNzAwNDAwLC0zOTQ3NGUzLC0yMTE2NDQwMCwtNzkzOGUzLDEwMzcxNjAwLDIzNTk4ZTMsNDE5MDc2MDAsNTUxMzRlMyw3MzUzZTQsODY3NTY0MDAsMTA1MDY2ZTMsMTE4MjkyNDAwLDEzNjYwMmUzLDE0OTgyODQwMCwxNjgxMzhlMywxODEzNjQ0MDAsMTk5NzYwNDAwLDIxMjk4NjgwMCwyMzEyOTY0MDAsMjQ0NTIyODAwLDI2MjgzMjQwMCwyNzYwNTg4MDAsMjk0MzY4NDAwLDMwNzU5NDgwMCwzMjU5OTA4MDAsMzM5MjE3MjAwLDM1NzUyNjgwMCwzNzA3NTMyMDAsMzk2NDA2ODAwLDQwMjI4OTIwMCw0MjY4MTk2MDAsNDMzODI1MjAwLDQ1MjIyMTIwMCw0NjU0NDc2MDAsNDgzNzU3MjAwLDQ5Njk4MzYwMCw1MTUyOTMyMDAsNTI4NTE5NjAwLDU0NjgyOTIwMCw1NjAwNTU2MDAsNTc4NDUxNjAwLDU5MTY3OGUzLDYxMDQxOTYwMCw2MjMyMTRlMyw2NDE1MjM2MDAsNjU0NzVlNCw2NzMwNTk2MDAsNjg2Mjg2ZTMsNzA0NjgyZTMsNzE3OTA4NDAwLDczNjIxOGUzLDc0OTQ0NDQwMCw3Njc3NTRlMyw3ODA5ODA0MDAsNzk5MDI3MjAwLDgxMjMzMjgwMCw4MzA0NzY4MDAsODQzNzgyNDAwLDg2MTkyNjQwMCw4NzUyMzJlMyw4OTMzNzZlMyw5MDY2ODE2MDAsOTI1NDMwNDAwLDkzODczNmUzLDk1Njg4ZTQsOTcwMTg1NjAwLDk4ODMyOTYwMCwxMDAxNjM1MjAwLDEwMTk3NzkyMDAsMTAzMzA4NDgwMCwxMDUxMjI4ODAwLDEwNjQ1MzQ0MDAsMTA4MzI4MzIwMCwxMDk2NTg4ODAwLDExMTQ3MzI4MDAsMTEyODAzODQwMCwxMTQ2MTgyNDAwLDExNTg4ODMyMDAsMTE3NzYzMmUzLDExODkxMjMyMDAsMTIwOTA4MTYwMCwxMjE5OTY4ZTMsMTI0MDUzMTIwMCwxMjUwODEyODAwLDEyNzI1ODU2MDAsMTI4MTQ4NDgwMCwxMjg0MDc2ODAwLDEyODU4OTEyMDAsMTQwMDE5ODQwMCwxNDAzODI3MjAwLDE0MDY4NTEyMDAsMTQxMTY4OTYwMCwxNjgyNjRlNCwxNjk4MzY0ODAwLDE3MTQwODk2MDAsMTczMDQxOTIwMCwxNzQ1NTM5MjAwLDE3NjE4Njg4MDAsMTc3Njk4ODgwMCwxNzkzMzE4NDAwLDE4MDkwNDMyMDAsMTgyNDc2OGUzLDE4NDA0OTI4MDAsMTg1NjIxNzYwMCwxODcxOTQyNDAwLDE4ODc2NjcyMDAsMTkwMzM5MmUzLDE5MTk3MjE2MDAsMTkzNDg0MTYwMF0sb2Zmc2V0Ols3NTA5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkFmcmljYS9DYXNhYmxhbmNhIjp7CnRpbWU6Wy0xNzczMDE0NDAwLC05NTYzNjE2MDAsLTk1MDQ4NjQwMCwtOTQyMDE5MjAwLC03NjExODRlMywtNjE3MjQxNjAwLC02MDUxNDU2MDAsLTgxNDMyZTMsLTcxMTA3MjAwLDE0MTI2NGUzLDE0NzIyNTYwMCwxOTk3NTY4MDAsMjA3NzA1NjAwLDIzMTI5MjgwMCwyNDQyNTI4MDAsMjY1NTA3MjAwLDI3MTAzNjgwMCw0NDgyNDMyMDAsNTA0OTIxNjAwLDEyMTIyNzg0MDAsMTIyMDIyNzIwMCwxMjQzODE0NDAwLDEyNTA4MTI4MDAsMTI3Mjc1ODQwMCwxMjgxMjI1NjAwLDEzMDE3ODg4MDAsMTMxMjA3MDQwMCwxMzM1NjY0ODAwLDEzNDI3NTMyMDAsMTM0NTQyOGUzLDEzNDg5NzRlMywxMzY3MTE0NDAwLDEzNzMxNjZlMywxMzc2MWU1LDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDAzOTI0NDAwLDE0MDY5NDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0MzQyNTA4MDAsMTQzNzI3MTIwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0NjUwOTU2MDAsMTQ2ODExNmUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNDk1MzM1NjAwLDE0OTg5NjA4MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTUyNjE4MDQwMCwxNTI5MjAwODAwLDE1NDA2OTU2MDAsMTU1NzAyNTIwMCwxNTYwMDQ1NjAwLDE1ODcyNjUyMDAsMTU5MDg5MDQwMCwxNjE4MTFlNCwxNjIxMTMwNDAwLDE2NDgzNWU0LDE2NTE5NzUyMDAsMTY3OTE5NDgwMCwxNjgyMjE1MjAwLDE3MTAwMzk2MDAsMTcxMzA2ZTQsMTc0MDI3OTYwMCwxNzQzOTA0ODAwLDE3NzExMjQ0MDAsMTc3NDE0NDgwMCwxODAxOTY5MjAwLDE4MDQ5ODk2MDAsMTgzMjIwOTIwMCwxODM1ODM0NDAwLDE4NjMwNTRlMywxODY2MDc0NDAwLDE4OTMyOTRlMywxODk2OTE5MjAwLDE5MjQxMzg4MDAsMTkyNzE1OTIwMF0sb2Zmc2V0OlstMTgyMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiQWZyaWNhL0pvaGFubmVzYnVyZyI6e3RpbWU6Wy0yNDU4MTY2NDAwLC0yMTA5MjgzMjAwLC04NjA5Njg4MDAsLTg0NTI0NGUzLC04Mjk1MTkyMDAsLTgxMzc5NDQwMCwxOTI0OTk5MjAwXSxvZmZzZXQ6WzY3MjAsNTQwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBZnJpY2EvTGFnb3MiOnt0aW1lOlstMjAzNTU4NGUzLC0xOTQwODg5NjAwLC0xNzY3MjI1NjAwLC0xNTg4NDY0ZTMsMTkyNDk5NTYwMF0sb2Zmc2V0Ols4MTUsMCw4MTUsMTgwMCwzNjAwXX0sIkFmcmljYS9OYWlyb2JpIjp7dGltZTpbLTE5NDYxNmU0LC0xMzA5NzM3NjAwLC0xMjYxOTU4NDAwLC0xMDQxMzc5MjAwLC04NjUyOTZlMywxOTI1MDAyODAwXSxvZmZzZXQ6Wzg4MzYsOWUzLDEwODAwLDllMyw5OTAwLDEwODAwXX0sIkFmcmljYS9UdW5pcyI6e3RpbWU6Wy0yNzk3MmU1LC0xODU1OTU4NDAwLC05NjkyMzg4MDAsLTk1MDQ4NjQwMCwtOTQxOTM2NDAwLC04OTExMjk2MDAsLTg3NzgyNGUzLC04NTcyNWU0LC04NDQ1NTI4MDAsLTg0MjkxMTIwMCwtODQyMjJlNCwtODI4MjIzMjAwLC04MTI0OTg0MDAsLTc5NjI2MjQwMCwtNzgxMDQ4ODAwLC03NjY2MjcyMDAsMjMxMjA2NDAwLDI0MzkxMDgwMCwyNjI4Mjg4MDAsMjc2MDUxNjAwLDU4MTEyNjQwMCw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDY0MTUyZTQsNjU0NjU2NDAwLDExMTQ5MDU2MDAsMTEyODA0NTYwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxOTI0OTk1NjAwXSxvZmZzZXQ6WzI0NDQsNTYxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkFtZXJpY2EvQW5jaG9yYWdlIjp7CnRpbWU6Wy0zMjI1MTczMzAzLC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDI4ZTMsLTc2NTQxMDQwMCwtODY5MTg0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLG9mZnNldDpbNTA0MjQsLTM1OTc2LC0zNmUzLC0zMjQwMCwtMzI0MDAsLTM2ZTMsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTMyNDAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDBdfSwiQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIjp7dGltZTpbLTIzNzIxMTJlMywtMTU2NzQ2ODgwMCwtMTIzMzQ0NjQwMCwtMTIyMjk5MmUzLC0xMjA1OTcxMjAwLC0xMTk0MDQ4ZTMsLTExNzI4OGU0LC0xMTYyNTEyZTMsLTExNDEzNDRlMywtMTEzMDk3NmUzLC0xMTA5ODA4ZTMsLTEwOTk0NGU0LC0xMDc4MjcyZTMsLTEwNjc4MTc2MDAsLTEwNDY2NDk2MDAsLTEwMzYyODE2MDAsLTEwMTUxMTM2MDAsLTEwMDQ3NDU2MDAsLTk4MzU3NzYwMCwtOTczMjA5NjAwLC05NTIwNDE2MDAsLTk0MTU4NzIwMCwtOTMxMDQ2NDAwLC05MDA4OTI4MDAsLTg5MDM1MmUzLC04MzM3NmU0LC04MjcyOGU0LC03NTIyODQ4MDAsLTczMzc5NTIwMCwtMTk3MzM3NjAwLC0xOTA4NTc2MDAsLTE4NDIwNDgwMCwtMTY0NTA1NjAwLC0xNTI2Njg4MDAsLTEzMjk2OTYwMCwtMTIxMTMyODAwLC0xMDE0MzM2MDAsLTg2ODMyZTMsLTcxMTA3MjAwLC01NDc3NzYwMCwtMzkwNTI4MDAsLTIzMzI4ZTMsLTc2MDMyMDAsMTI4MTMxMjAwLDEzNjU5ODQwMCw1OTY5Mzc2MDAsNjA1MDU5MjAwLDYyNDQxMjgwMCw2MzY1MDg4MDAsNjU2NDY3MjAwLDY2Nzk1ODQwMCw2ODc5MTY4MDAsNjk5NDA4ZTMsNzE5MzY2NDAwLDczMTQ2MjQwMCw5Mzg5MDg4MDAsOTUyMDQxNjAwLDExOTg5NzI4MDAsMTIwNTYyNTYwMCwxMjI0Mzc0NDAwLDEyMzcwNzUyMDAsMTkyNDk4MTIwMF0sCm9mZnNldDpbLTE0MDI4LC0xNTQwOCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtMTA4MDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDBdfSwiQW1lcmljYS9Cb2dvdGEiOnt0aW1lOlstMjcwNzY4OTYwMCwtMTczOTA1OTIwMCw3MDQ4NTEyMDAsNzI5MDQzMjAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTc3NzYsLTE3Nzc2LC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0NhcmFjYXMiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTgyNjc1NTIwMCwtMTU3NzY2NDAwLDExOTcxNjkyMDAsMTQ2MjA2OTgwMCwxOTI0OTc3NjAwXSxvZmZzZXQ6Wy0xNjA2NCwtMTYwNjAsLTE2MjAwLC0xNDQwMCwtMTYyMDAsLTE0NDAwXX0sIkFtZXJpY2EvQ2hpY2FnbyI6ewp0aW1lOlstMjcxNzY2ODIzNiwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtMTU2Mzc0NjQwMCwtMTU1MTY1MDQwMCwtMTUzODk0OTYwMCwtMTUyMDIwMDgwMCwtMTUwNDQ3NmUzLC0xNDkxNzc1MjAwLC0xNDczMDI2NDAwLC0xNDU5NzIwODAwLC0xNDQxNTc2ODAwLC0xNDI4MjcxMjAwLC0xNDEwMTI3MjAwLC0xMzk2ODIxNjAwLC0xMzc4Njc3NjAwLC0xMzY1MzcyZTMsLTEzNDcyMjhlMywtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODkzNzUyMDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQ2MmU0LC0xMTI1ODcxMjAwLC0xMTEyNTY1NjAwLC0xMDk0NDIxNjAwLC0xMDgxMTE2ZTMsLTEwNjc4MTA0MDAsLTEwNDU0MzI4MDAsLTEwMzE1MjI0MDAsLTEwMTgyMTY4MDAsLTEwMDAwNzI4MDAsLTk4Njc2NzIwMCwtOTY4MDE4NDAwLC05NTUzMTc2MDAsLTkzNjU2ODgwMCwtOTIzMjYzMjAwLC05MDUxMTkyMDAsLTg5MTgxMzYwMCwtODgwMjM2ZTMsLTc2OTQxMzYwMCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzOTYxMmUzLC02MjA4NjMyMDAsLTYwODE2MjQwMCwtNTg5NDEzNjAwLC01NzYxMDhlMywtNTU3OTY0ZTMsLTU0NDY1ODQwMCwtNTI2NTE0NDAwLC01MTMyMDg4MDAsLTQ5NTA2NDgwMCwtNDgxNzU5MjAwLC00NjM2MTUyMDAsLTQ0NzI4NTYwMCwtNDMxNTYwODAwLC00MTU4MzZlMywtNDAwMTExMjAwLC0zODQzODY0MDAsLTM2ODY2MTYwMCwtMzUyOTM2ODAwLC0zMzcyMTJlMywtMzIxNDg3MjAwLC0zMDU3NjI0MDAsLTI4OTQzMjgwMCwtMjczNzA4ZTMsLTI1Nzk4MzIwMCwtMjQyMjU4NDAwLC0yMjY1MzM2MDAsLTIxMDgwODgwMCwtMTk1MDg0ZTMsLTE3OTM1OTIwMCwtMTYzNjM0NDAwLC0xNDc5MDk2MDAsLTEzMTU4ZTQsLTExNjQ2ZTQsLTEwMDEzMDQwMCwtODQ0MDU2MDAsLTY4NjgwODAwLC01Mjk1NmUzLC0zNzIzMTIwMCwtMjE1MDY0MDAsLTU3ODE2MDAsOTk0MzIwMCwyNTY2OGUzLDQxMzkyODAwLDU3NzIyNDAwLDczNDQ3MjAwLDg5MTcyZTMsMTA0ODk2ODAwLDEyMDYyMTYwMCwxMjY2Njk2MDAsMTUyMDcxMjAwLDE2MjM1MjgwMCwxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjEwMzYsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDBdfSwiQW1lcmljYS9FbF9TYWx2YWRvciI6e3RpbWU6Wy0xNTQ2MzAwODAwLDU0Njk5ODQwMCw1NTk2OTkyMDAsNTc4NDQ4ZTMsNTkxMTQ4ODAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIxNDA4LC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwXX0sIkFtZXJpY2EvSGFsaWZheCI6ewp0aW1lOlstMjEzMTY2MDgwMCwtMTY5NjI5MTIwMCwtMTY4MDQ4ZTQsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTE1NjY3Nzc2MDAsLTE1NTcxMDA4MDAsLTE1MzU1MDA4MDAsLTE1MjQ5NmU0LC0xNTA0NDgzMjAwLC0xNDkzNDI0ZTMsLTE0NzI0Mjg4MDAsLTE0NjE5NzQ0MDAsLTE0NDA5NzkyMDAsLTE0Mjk0MDE2MDAsLTE0MDk1Mjk2MDAsLTEzOTY3NDI0MDAsLTEzNzY4NzA0MDAsLTEzNjY1MDI0MDAsLTEzNDY2MzA0MDAsLTEzMzM4NDMyMDAsLTEzMTM5NzEyMDAsLTEzMDM2ODk2MDAsLTEyODI1MjE2MDAsLTEyNzI2NzJlMywtMTI1MTA3MmUzLC0xMjQwMDk5MjAwLC0xMjE5NjIyNDAwLC0xMjA3NDRlNCwtMTE4ODc3NzYwMCwtMTE3NTk5MDQwMCwtMTE1NzMyOGUzLC0xMTQzOTM2ZTMsLTExMjQwNjRlMywtMTExMzc4MjQwMCwtMTA5MTQwNDgwMCwtMTA4MTAzNjgwMCwtMTA1OTg2ODgwMCwtMTA1MDc5NjgwMCwtMTAzMDkyNDgwMCwtMTAxODEzNzYwMCwtOTk5NDc1MjAwLC05ODY2ODhlMywtOTY1NjA2NDAwLC05NTUyMzg0MDAsLTkzNTk3MTIwMCwtOTIzMTg0ZTMsLTkwNDUyMTYwMCwtODkxNzM0NDAwLC04ODAyMzZlMywtNzY5NDA2NDAwLC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDMxNTYwODAwLC00MTgyNTUyMDAsLTQwMDExMTIwMCwtMzg2ODA1NjAwLC0zNjg2NjE2MDAsLTM1NTM1NmUzLC0zMzcyMTJlMywtMzIzOTA2NDAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE1MjY0LC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMF19LCJBbWVyaWNhL0p1bmVhdSI6e3RpbWU6Wy0zMjI1MTY5NTg4LC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDIwODAwLC03NjU0MTA0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6WzU0MTM5LC0zMjI2MSwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yODgwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMzI0MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMF19LCJBbWVyaWNhL0xpbWEiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTkzODU1NjgwMCwtMTAwOTg0MzIwMCwtMTAwMjA2NzIwMCwtOTg2Nzc0NDAwLC05NzEwNDk2MDAsLTk1NTMyNDgwMCwtOTM5NmU1LDUwNDkyMTYwMCw1MTI2OTc2MDAsNTM2NDU3NjAwLDU0NDIzMzYwMCw2MzExNTJlMyw2Mzg5MjhlMyw3NTczODI0MDAsNzY1MTU4NDAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTg0OTIsLTE4NTE2LC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0xvc19BbmdlbGVzIjp7dGltZTpbLTI3MTc2NjgzNzgsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNjg3OTk1OTQwLC02NjI2ODA4MDAsLTYyMDg2NjgwMCwtNjA4MTYyNDAwLC01ODk0MTcyMDAsLTU3NjEwOGUzLC01NTc5Njc2MDAsLTU0NDY1ODQwMCwtNTI2NTE4ZTMsLTUxMzIwODgwMCwtNDk1MDY4NDAwLC00ODE3NTkyMDAsLTQ2MzYxODgwMCwtNDUwMzA5NjAwLC00MzE1NjQ0MDAsLTQxODI1NTIwMCwtNDAwMTE0ODAwLC0zODY4MDU2MDAsLTM2ODY2NTIwMCwtMzU1MzU2ZTMsLTMzNzIxNTYwMCwtMzIzOTA2NDAwLC0zMDU3NjZlMywtMjkyNDU2ODAwLC0yNzM3MTE2MDAsLTI2MTAwNzIwMCwtMjQyMjYyZTMsLTIyNjUzMzYwMCwtMjEwODEyNDAwLC0xOTUwODRlMywtMTc5MzYyODAwLC0xNjM2MzQ0MDAsLTE0NzkxMzIwMCwtMTMxNThlNCwtMTE2NDYzNjAwLC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTI4Mzc4LC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBbWVyaWNhL01leGljb19DaXR5Ijp7dGltZTpbLTE1MTQ3NjMzOTYsLTEzNDMxNzQ0MDAsLTEyMzQ4Mjg4MDAsLTEyMjA0ODY0MDAsLTEyMDcxODA4MDAsLTExOTEzNjk2MDAsLTk3NTI4MzIwMCwtOTYzMTg3MjAwLC05MTcxMzZlMywtOTA3MzcyODAwLC04MjE5MjMyMDAsLTgxMDA4NjQwMCwtNjI3NTIzMjAwLC02MTMwMDhlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODkxMTQ0MDAsMTAwMTgxNTIwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzUzOTI4MDAsMTE5MzUzNjgwMCwxMjA3NDQ3MjAwLDEyMjQ5ODY0MDAsMTIzODg5NjgwMCwxMjU2NDM2ZTMsMTI3MDM0NjQwMCwxMjg4NDkwNDAwLDEzMDE3OTZlMywxMzE5OTRlNCwxMzMzMjQ1NjAwLDEzNTEzODk2MDAsMTM2NTNlNSwxMzgyODM5MjAwLDEzOTY3NDk2MDAsMTQxNDI4ODgwMCwxNDI4MTk5MjAwLDE0NDU3Mzg0MDAsMTQ1OTY0ODgwMCwxNDc3NzkyODAwLDE0OTEwOTg0MDAsMTUwOTI0MjQwMCwxNTIyNTQ4ZTMsMTU0MDY5MmUzLDE1NTQ2MDI0MDAsMTU3MjE0MTYwMCwxNTg2MDUyZTMsMTYwMzU5MTIwMCwxNjE3NTAxNjAwLDE2MzU2NDU2MDAsMTY0ODk1MTIwMCwxNjY3MDk1MjAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIzNzk2LC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMF19LCJBbWVyaWNhL05ld19Zb3JrIjp7CnRpbWU6Wy0yNzE3NjY4NTYyLC0xNjMzMjk4NDAwLC0xNjE1MTU0NDAwLC0xNjAxODQ4ODAwLC0xNTgzNzA0ODAwLC0xNTcwMzk5MjAwLC0xNTUxNjUwNDAwLC0xNTM2NTMwNDAwLC0xNTIzMjI0ODAwLC0xNTA0NDc2ZTMsLTE0OTE3NzUyMDAsLTE0NzMwMjY0MDAsLTE0NTk3MjA4MDAsLTE0NDE1NzY4MDAsLTE0MjgyNzEyMDAsLTE0MTAxMjcyMDAsLTEzOTY4MjE2MDAsLTEzNzg2Nzc2MDAsLTEzNjUzNzJlMywtMTM0NzIyOGUzLC0xMzMzOTIyNDAwLC0xMzE1MTczNjAwLC0xMzAxODY4ZTMsLTEyODM3MjRlMywtMTI3MDQxODQwMCwtMTI1MjI3NDQwMCwtMTIzODk2ODgwMCwtMTIyMDgyNDgwMCwtMTIwNzUxOTIwMCwtMTE4OTM3NTIwMCwtMTE3NjA2OTYwMCwtMTE1NzMyMDgwMCwtMTE0NDYyZTQsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtOTA1MTE5MjAwLC04OTE4MTM2MDAsLTg4MDIzNmUzLC03Njk0MWU0LC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTYyMDg2MzIwMCwtNjA4MTYyNDAwLC01ODk0MTM2MDAsLTU3NjEwOGUzLC01NTc5NjRlMywtNTQ0NjU4NDAwLC01MjY1MTQ0MDAsLTUxMzIwODgwMCwtNDk1MDY0ODAwLC00ODE3NTkyMDAsLTQ2MzYxNTIwMCwtNDQ3Mjg1NjAwLC00MzE1NjA4MDAsLTQxNTgzNmUzLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEyNjY2OTYwMCwxNTIwNzEyMDAsMTYyMzUyODAwLDE4MzUyMDgwMCwxOTkyNDU2MDAsMjE1NTc1MjAwLDIzMDY5NTIwMCwyNDcwMjQ4MDAsMjYyNzQ5NjAwLDI3ODQ3NDQwMCwyOTQxOTkyMDAsMzA5OTI0ZTMsMzI1NjQ4ODAwLDM0MTM3MzYwMCwzNTcwOTg0MDAsMzcyODIzMjAwLDM4ODU0OGUzLDQwNDg3NzYwMCw0MTk5OTc2MDAsNDM2MzI3MjAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6Wy0xNzc2MiwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL1Bob2VuaXgiOnt0aW1lOlstMjcxNzY3MDQ5OCwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtODgwMjM2ZTMsLTgyMDU0MDc0MCwtODEyNjc4MzQwLC03OTY4NjcxNDAsLTg0NDA1NjAwLC02ODY4MDgwMCwxOTI0OTY2ODAwXSxvZmZzZXQ6Wy0yNjg5OCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwXX0sIkFtZXJpY2EvU2FudGlhZ28iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTE4OTI2Nzg0MDAsLTE2ODg0Mjg4MDAsLTE2MTkyMjI0MDAsLTE1OTM4MjA4MDAsLTEzMzYwMDMyMDAsLTEzMTc2ZTUsLTEzMDQzODA4MDAsLTEyODYwNjRlMywtMTI3Mjg0NDgwMCwtMTI1NDUyOGUzLC0xMjQxMzA4ODAwLC0xMjIyOTkyZTMsLTEyMDk3NzI4MDAsLTExOTEzNjk2MDAsLTExNzgxNTA0MDAsLTg3MDU2NjQwMCwtODY1Mjk2ZTMsLTc0MDUzNDQwMCwtNzM2NjQ2NDAwLC03MTgwNzA0MDAsLTcxMzY2NzYwMCwtMzY2MzM2MDAsLTIzOTMyODAwLC0zMzY5NjAwLDc1MTY4MDAsMjQ0NTEyMDAsMzc3NTY4MDAsNTU5MDA4MDAsNjkyMDY0MDAsODc5NTUyMDAsMTAwNjU2ZTMsMTE4MTk1MjAwLDEzMjEwNTYwMCwxNTA4NTQ0MDAsMTYzNTU1MjAwLDE4MjMwNGUzLDE5NTYwOTYwMCwyMTM3NTM2MDAsMjI3MDU5MjAwLDI0NTIwMzIwMCwyNTg1MDg4MDAsMjc3MjU3NjAwLDI4OTk1ODQwMCwzMDg3MDcyMDAsMzIxNDA4ZTMsMzQwMTU2ODAwLDM1MzQ2MjQwMCwzNzE2MDY0MDAsMzg0OTEyZTMsNDAzMDU2ZTMsNDE2MzYxNjAwLDQzNDUwNTYwMCw0NDc4MTEyMDAsNDY2NTZlNCw0NzkyNjA4MDAsNDk4MDA5NjAwLDUxMDcxMDQwMCw1Mjk0NTkyMDAsNTQ1MTg0ZTMsNTYwOTA4ODAwLDU3NDIxNDQwMCw1OTIzNTg0MDAsNjA1NjY0ZTMsNjI0NDEyODAwLDYzNzExMzYwMCw2NTM0NDMyMDAsNjY4NTYzMjAwLDY4NzMxMmUzLDcwMDYxNzYwMCw3MTg3NjE2MDAsNzMyMDY3MjAwLDc1MDIxMTIwMCw3NjM1MTY4MDAsNzgxNjYwODAwLDc5NDk2NjQwMCw4MTM3MTUyMDAsODI2NDE2ZTMsODQ1MTY0ODAwLDg1OTY4ZTQsODc2NjE0NDAwLDg4OTkyZTQsOTA2ODU0NDAwLDkyMzE4NGUzLDkzOTUxMzYwMCw5NTI4MTkyMDAsOTcxNTY4ZTMsOTg0MjY4ODAwLDEwMDMwMTc2MDAsMTAxNTcxODQwMCwxMDM0NDY3MjAwLDEwNDcxNjhlMywxMDY1OTE2ODAwLDEwNzkyMjI0MDAsMTA5NzM2NjQwMCwxMTEwNjcyZTMsMTEyODgxNmUzLDExNDIxMjE2MDAsMTE2MDg3MDQwMCwxMTczNTcxMjAwLDExOTIzMmU0LDEyMDY4MzUyMDAsMTIyMzc2OTYwMCwxMjM3MDc1MjAwLDEyNTUyMTkyMDAsMTI3MDMzOTIwMCwxMjg2NjY4ODAwLDEzMDQ4MTI4MDAsMTMxMzg4NDgwMCwxMzM1NjU3NjAwLDEzNDY1NDRlMywxMzY3MTA3MjAwLDEzNzg1OTg0MDAsMTM5ODU1NjgwMCwxNDEwMDQ4ZTMsMTQ2MzI3MDQwMCwxNDcxMTMyODAwLDE0OTQ3MmU0LDE1MDI1ODI0MDAsMTUyNjE2OTYwMCwxNTM0MDMyZTMsMTU1NDU5NTIwMCwxNTY3OTAwODAwLDE1ODYwNDQ4MDAsMTU5OTM1MDQwMCwxNjE3NDk0NDAwLDE2MzA4ZTUsMTY0ODk0NGUzLDE2NjI4NTQ0MDAsMTY4MDM5MzYwMCwxNjkzNjk5MjAwLDE3MTI0NDhlMywxNzI1NzUzNjAwLDE3NDM4OTc2MDAsMTc1NzIwMzIwMCwxNzc1MzQ3MjAwLDE3ODg2NTI4MDAsMTgwNjc5NjgwMCwxODIwMTAyNDAwLDE4MzgyNDY0MDAsMTg1MTU1MmUzLDE4NzAzMDA4MDAsMTg4MzAwMTYwMCwxOTAxNzUwNDAwLDE5MTUwNTZlMywxOTMzMmU1XSxvZmZzZXQ6Wy0xNjk2NSwtMTY5NjUsLTE4ZTMsLTE2OTY1LC0xNDQwMCwtMTY5NjUsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwXX0sIkFtZXJpY2EvU2FvX1BhdWxvIjp7CnRpbWU6Wy0xNzY3MjI1NjAwLC0xMjA2OTY4NDAwLC0xMTkxMzY5NjAwLC0xMTc1Mzg1NjAwLC0xMTU5ODMzNjAwLC02MzM4MzA0MDAsLTYyMjA3NjQwMCwtNjAyMjk0NDAwLC01OTE4NGU0LC01NzA3NTg0MDAsLTU2MDIxNzYwMCwtNTM5MTM2ZTMsLTUzMTM2ZTQsLTE5NTQzNjgwMCwtMTg0MjA0ODAwLC0xNTUxNzQ0MDAsLTE1MDA3NjgwMCwtMTI4OTA4ODAwLC0xMjExMzI4MDAsLTk5OTY0ODAwLC04OTU5NjgwMCwtNjg0Mjg4MDAsLTU3OTc0NDAwLDQ5OTczNzYwMCw1MTEyMjg4MDAsNTMwNTgyNDAwLDU0MDI1OTIwMCw1NjIxMTg0MDAsNTcxMTkwNDAwLDU5Mjk2MzIwMCw2MDIwMzUyMDAsNjI0NDEyODAwLDYzNDY5NDQwMCw2NTY0NjcyMDAsNjY2NzQ4ODAwLDY4NzkxNjgwMCw2OTc1OTM2MDAsNzE5OTcxMjAwLDcyODQzODQwMCw3NTA4MTZlMyw3NjE3MDI0MDAsNzgyMjY1NjAwLDc5MzE1MmUzLDgxMzcxNTIwMCw4MjM5OTY4MDAsODQ0NTZlNCw4NTYwNTEyMDAsODc2MDk2ZTMsODg4NzEwNDAwLDkwODA2NGUzLDkxOTU1NTIwMCw5Mzg5MDg4MDAsOTUxNjA5NjAwLDk3MDk2MzIwMCw5ODI0NTQ0MDAsMTAwMzAxNzYwMCwxMDEzOTA0ZTMsMTAzNjI4MTYwMCwxMDQ1MzUzNjAwLDEwNjY1MjE2MDAsMTA3NjgwMzIwMCwxMDk5MzUzNjAwLDExMDg4NTc2MDAsMTEyOTQyMDgwMCwxMTQwMzA3MjAwLDExNjI2ODQ4MDAsMTE3MjM2MTYwMCwxMTkyMzJlNCwxMjAzMjA2NDAwLDEyMjQzNzQ0MDAsMTIzNDY1NmUzLDEyNTU4MjRlMywxMjY2NzEwNDAwLDEyODcyNzM2MDAsMTI5ODE2ZTQsMTMxODcyMzIwMCwxMzMwMjE0NDAwLDEzNTA3Nzc2MDAsMTM2MTA1OTIwMCwxMzgyMjI3MjAwLDEzOTI1MDg4MDAsMTQxMzY3NjgwMCwxNDI0NTYzMjAwLDE0NDUxMjY0MDAsMTQ1NjAxMjgwMCwxNDc2NTc2ZTMsMTQ4NzQ2MjQwMCwxNTA4MDI1NjAwLDE1MTg5MTJlMywxNTQxMjg5NjAwLDE1NTAzNjE2MDAsMTkyNDk4MTIwMF0sb2Zmc2V0OlstMTExODgsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwXX0sIkFtZXJpY2EvVG9yb250byI6ewp0aW1lOlstMjM2Njc1NTIwMCwtMTYzMjA4ODgwMCwtMTYxNTE1NDQwMCwtMTYwMTc3MTQwMCwtMTU4MzcxMmUzLC0xNTY3Mzc1MjAwLC0xNTU0NjgxNjAwLC0xNTM0NzE2ZTMsLTE1MjQwODg4MDAsLTE1MDMyNjY0MDAsLTE0OTIzOGU0LC0xNDcxODE2ODAwLC0xNDYwOTMwNDAwLC0xNDQwOTcyZTMsLTE0Mjg4NzZlMywtMTQwOTUyMjQwMCwtMTM5NzQyNjQwMCwtMTM3ODA3MjgwMCwtMTM2NTk3NjgwMCwtMTM0NjYyMzIwMCwtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODg3NzA0MDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQwMTUyMDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTg4MDIzMjQwMCwtNzY5NDFlNCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzNDE2ODgwMCwtNjIwODYzMjAwLC02MDI3MTkyMDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE5MDUyLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTNdfSwiQW1lcmljYS9WYW5jb3V2ZXIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNzQ3MjY2NDAwLC03MzM5NjA4MDAsLTcxNTgxNjgwMCwtNzAyNTExMjAwLC02ODQzNjcyMDAsLTY3MTA2MTYwMCwtNjUyOTE3NjAwLC02Mzk2MTJlMywtNjIwODYzMjAwLC02MDgxNjI0MDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NjgwNTYwMCwtMzY4NjYxNjAwLC0zNTUzNTZlMywtMzM3MjEyZTMsLTMyMzkwNjQwMCwtMzA1NzYyNDAwLC0yOTI0NTY4MDAsLTI3MzcwOGUzLC0yNjEwMDcyMDAsLTI0MjI1ODQwMCwtMjI2NTMzNjAwLC0yMTA4MDg4MDAsLTE5NTA4NGUzLC0xNzkzNTkyMDAsLTE2MzYzNDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTM2MzQ2NDAwLDE1MjA3MTIwMCwxNjc3OTZlMywxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjk1NDgsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBc2lhL0FsbWF0eSI6e3RpbWU6Wy0xNDQxMTUyZTMsLTEyNDc1Mjk2MDAsMzU0OTMxMjAwLDM3MDc0MjQwMCwzODY0NjcyMDAsNDAyMjc4NDAwLDQxODAwMzIwMCw0MzM4MTQ0MDAsNDQ5NjI1NjAwLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDY5NTc4NjQwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxNzA5MjUxMjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE4NDY4LDE4ZTMsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjE2MDAsMThlMywyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwxOGUzXX0sIkFzaWEvQXNoa2hhYmFkIjp7dGltZTpbLTE0NDExNTJlMywtMTI0NzUyOTYwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNjk1Nzg2NDAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE0MDEyLDE0NDAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywxOGUzLDE0NDAwLDE4ZTNdfSwiQXNpYS9CYWhyYWluIjp7dGltZTpbLTg5Nzg2ODgwMCwtODIwNTQwODAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIxNDAsMTI2MDAsMTQ0MDAsMTA4MDBdfSwiQXNpYS9CYW5na29rIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE1NzAwNjA4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNDEyNCwyNDEyNCwyNTIwMF19LCJBc2lhL0Nob25ncWluZyI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9Db2xvbWJvIjp7dGltZTpbLTI4NDAxNDA4MDAsLTIwMTk2ODY0MDAsLTg4MzI2NzIwMCwtODYyNjE3NjAwLC03NjQwMjhlMyw4MzI5ODI0MDAsODQ2Mjg5ODAwLDExNDUwNjFlMywxOTI1MDExODAwXSxvZmZzZXQ6WzE5MTY0LDE5MTcyLDE5ODAwLDIxNjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDE5ODAwXX0sIkFzaWEvRGhha2EiOnt0aW1lOlstMjUyNDUyMTYwMCwtODkxNTYxNjAwLC04NzIwMzUyMDAsLTg2MjYxNzYwMCwtNTc2MTE1MjAwLDEyNDU0NTI0MDAsMTI2MjMwMzk5OSwxOTI1MDEzNjAwXSxvZmZzZXQ6WzIxNzAwLDIxMjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDI1MjAwLDIxNjAwXX0sIkFzaWEvRHViYWkiOnt0aW1lOlstMTU3NzkyMzIwMCwxOTI1MDA2NDAwXSxvZmZzZXQ6WzEzMjcyLDE0NDAwXX0sIkFzaWEvSG9fQ2hpX01pbmgiOnt0aW1lOlstMjAwNDA0OGUzLC0xODUxNTUyZTMsLTg1MjA4MDQwMCwtNzgyNjE0ODAwLC03Njc4MzY4MDAsLTcxODA3MDQwMCwtNDU3NzQzNjAwLC0zMTU2MjI4MDAsMTcxODQ5NjAwLDE5MjUwMTcyMDBdLG9mZnNldDpbMjU1OTAsMjU1OTAsMjUyMDAsMjg4MDAsMzI0MDAsMjUyMDAsMjg4MDAsMjUyMDAsMjg4MDAsMjUyMDBdfSwiQXNpYS9Ib25nX0tvbmciOnt0aW1lOlstMjA1NjY2MzM5OCwtOTAwODgyZTMsLTg5MTU0NzIwMCwtODg0MjE3NjAwLC03NjExNzY4MDAsLTc0Nzg3ODQwMCwtNzI4NTA4NjAwLC03MTcwMjFlMywtNjk3MDU5ZTMsLTY4Mzc1N2UzLC02NjgwMjg2MDAsLTY1NDcyNjYwMCwtNjM2NTc5ZTMsLTYyMzI3N2UzLC02MDUxMjk0MDAsLTU5MTgyNzQwMCwtNTczNjc5ODAwLC01NTk3NzNlMywtNTQxNjI1NDAwLC01MjgzMjM0MDAsLTUxMDE3OTQwMCwtNDk4MDgzNDAwLC00Nzg3Mjk4MDAsLTQ2NjYzMzgwMCwtNDQ2Njc1NDAwLC00MzUxODQyMDAsLTQxNTIyNTgwMCwtNDAzMTI5ODAwLC0zODM3NzYyMDAsLTM3MTY4MDIwMCwtMzUyMzI2NjAwLC0zNDAyMzA2MDAsLTMyMDg3N2UzLC0zMDg3ODFlMywtMjg4ODIyNjAwLC0yNzczMzE0MDAsLTI1NzM3M2UzLC0yNDU4ODE4MDAsLTIyNTkyMzQwMCwtMjEzODI3NDAwLC0xOTQ0NzM4MDAsLTE4MjM3NzgwMCwtMTYzMDI0MjAwLC0xNDg1MDllMywtMTMyNzg0MjAwLC0xMTcwNTk0MDAsLTEwMTMzNDYwMCwtODU2MDk4MDAsLTY5MjgwMjAwLC01MzU1NTQwMCwtMzc4MzA2MDAsLTIyMTA1ODAwLC02MzgxZTMsOTM0MzgwMCwyNTA2ODYwMCw0MDc5MzQwMCw1NjUxODIwMCw3MjI0M2UzLDg4NTcyNjAwLDEwNDI5NzQwMCwxMjAwMjIyMDAsMTI2MDcwMjAwLDE1MTQ3MTgwMCwxNjcxOTY2MDAsMTgyOTIxNDAwLDE5ODY0NjIwMCwyMTQzNzFlMywyOTU0MTQyMDAsMzA5MzI0NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc0MDIsMjg4MDAsMzI0MDAsMzA2MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9KYWthcnRhIjp7dGltZTpbLTMyMzEyNzM2MDAsLTE0NTE2OTM1NjgsLTExNzI4OGU0LC04NzY2MTQ0MDAsLTc2NjAyMjQwMCwtNjgzODU2ZTMsLTYyMDc4NGUzLC0xODkzODg4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNTYzMiwyNTYzMiwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDAsMjdlMywyNTIwMF19LCJBc2lhL0plcnVzYWxlbSI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY0MDk5NTIwMCwtOTMzNjMxMjAwLC05MjMwODY4MDAsLTkxOTAyOTYwMCwtODU3MzM2NDAwLC04NDQyOTM2MDAsLTgyNTgwMDQwMCwtODEyNjcxMjAwLC03OTQxNzhlMywtNzc5ODM5MjAwLC03NjI2NDJlMywtNzQ4MzAzMjAwLC03MzExMDZlMywtNjgxOTQ4ZTMsLTY3MzIxNDQwMCwtNjY3OTQ3NjAwLC02NTIzMTI4MDAsLTYzNjQxMTYwMCwtNjIyMDcyODAwLC02MDg5MzY0MDAsLTU5MTgzMjgwMCwtNTcyNDc1NjAwLC01NTg1Njg4MDAsLTU0Mjg0MDQwMCwtNTI3NzI0ZTMsLTUxNDQxNDgwMCwtNDkwODMxMjAwLC00ODI5NjUyMDAsLTQ1OTM4MTYwMCwtNDUxNTE1NjAwLC00Mjg1MzY4MDAsLTQxODI1MTYwMCwtNDAwMTExMjAwLC0zODc0MDY4MDAsMTQyMzg3MjAwLDE1MDg1NDQwMCwxNjcxODRlMywxNzg2NzUyMDAsMzM0MTA4ODAwLDMzNzc0MTIwMCw0NTI2NDk2MDAsNDYyMzNlNCw0ODIyODQ4MDAsNDk0MzgwODAwLDUxNjc1ODQwMCw1MjY0MzUyMDAsNTQ1NDQzMjAwLDU1ODQ4OTYwMCw1NzY2MzM2MDAsNTg5MzM0NDAwLDYwOTg5NzYwMCw2MjA3ODRlMyw2MzgzMjMyMDAsNjUxNjI4ODAwLDY2OTc3MjgwMCw2ODM2ODMyMDAsNzAxODI3MjAwLDcxNTczNzYwMCw3MzM3MDg4MDAsNzQ3MTg3MjAwLDc2NTE1ODQwMCw3NzgwMzJlMyw3OTY2MDhlMyw4MTAwODY0MDAsODI2ODQ4ZTMsODQyODMyZTMsODU4OTAyNDAwLDg3NDE5NTIwMCw4OTAzNTJlMyw5MDUwNGU0LDkyMzAxODQwMCw5MzYzMjRlMyw5NTU2Nzc2MDAsOTcwNzk0ZTMsOTg2Nzc4ZTMsMTAwMTI5MzIwMCwxMDE3MzYzNjAwLDEwMzM5NTI0MDAsMTA0ODgxMzIwMCwxMDY1MTQyODAwLDEwODEyOTk2MDAsMTA5NTgxNDgwMCwxMTEyMzIwODAwLDExMjg4MjMyMDAsMTE0Mzc3MDQwMCwxMTU5NjY4ZTMsMTE3NTIyZTQsMTE4OTkwOGUzLDEyMDY2Njk2MDAsMTIyMzE3MmUzLDEyMzgxMTkyMDAsMTI1NDAxNjgwMCwxMjY5NTY4ODAwLDEyODQyNTY4MDAsMTMwMTYyMzIwMCwxMzE3NTIwODAwLDEzMzMwNzI4MDAsMTM0ODM2NTYwMCwxMzY0NTIyNDAwLDEzODI4MzkyMDAsMTM5NTk3MmUzLDE0MTQyODg4MDAsMTQyNzQyMTYwMCwxNDQ1NzM4NDAwLDE0NTg4NzEyMDAsMTQ3Nzc5MjgwMCwxNDkwMzIwODAwLDE1MDkyNDI0MDAsMTUyMTc3MDQwMCwxNTQwNjkyZTMsMTU1MzgyNDgwMCwxNTcyMTQxNjAwLDE1ODUyNzQ0MDAsMTYwMzU5MTIwMCwxNjE2NzI0ZTMsMTYzNTY0NTYwMCwxNjQ4MTczNjAwLDE2NjcwOTUyMDAsMTY3OTYyMzIwMCwxNjk4NTQ0ODAwLDE3MTE2Nzc2MDAsMTcyOTk5NDQwMCwxNzQzMTI3MjAwLDE3NjE0NDRlMywxNzc0NTc2ODAwLDE3OTI4OTM2MDAsMTgwNjAyNjQwMCwxODI0OTQ4ZTMsMTgzNzQ3NmUzLDE4NTYzOTc2MDAsMTg2ODkyNTYwMCwxODg3ODQ3MjAwLDE5MDA5OGU0LDE5MTkyOTY4MDAsMTkzMjQyOTYwMF0sb2Zmc2V0Ols4NDU0LDg0NDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBc2lhL0thYnVsIjp7dGltZTpbLTI1MjQ1MjE2MDAsLTc4ODkxODQwMCwxOTI1MDA4MjAwXSxvZmZzZXQ6WzE2NjA4LDE0NDAwLDE2MjAwXX0sIkFzaWEvS2FyYWNoaSI6e3RpbWU6Wy0xOTg4MTUwNDAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwtNTc2MTE1MjAwLDM4NzkzNjAwLDEwMTgxMzc2MDAsMTAzMzg2MjQwMCwxMjEyMjc4NDAwLDEyMjU0OTc2MDAsMTIzOTc1MzYwMCwxMjU3MDMzNjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE2MDkyLDE5ODAwLDIzNDAwLDE5ODAwLDE4ZTMsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlM119LCJBc2lhL0thdGhtYW5kdSI6e3RpbWU6Wy0xNTc3OTIzMjAwLDUwNDkyMTYwMCwxOTI1MDEyNzAwXSxvZmZzZXQ6WzIwNDc2LDE5ODAwLDIwNzAwXX0sIkFzaWEvS29sa2F0YSI6e3RpbWU6Wy0zNjQ1MjE2ZTMsLTMxNTU2NzM2MDAsLTIwMTk2ODY0MDAsLTg5MTU2MTYwMCwtODcyMDM1MjAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwxOTI1MDExODAwXSxvZmZzZXQ6WzIxMjA4LDIxMjAwLDE5MjcwLDE5ODAwLDIzNDAwLDE5ODAwLDIzNDAwLDE5ODAwXX0sIkFzaWEvS3VhbGFfTHVtcHVyIjp7dGltZTpbLTIxNzc0NTI4MDAsLTIwMzgxNzZlMywtMTE2NzYwOTYwMCwtMTA3MzAwMTYwMCwtODk0MTUzNjAwLC04Nzk2Mzg0MDAsLTc2Njk3MjgwMCwzNzg2ODk0MDAsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyNDQwNiwyNDkyNSwyNTIwMCwyNjQwMCwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDBdfSwiQXNpYS9LdXdhaXQiOnt0aW1lOlstNjMxMTUyZTMsMTkyNTAwMjgwMF0sb2Zmc2V0OlsxMTUxNiwxMDgwMF19LCJBc2lhL01hbmlsYSI6ewp0aW1lOlstMzk0NDY3ODQwMCwtMjIxOTA1NDE2OCwtMTA0NjY0OTYwMCwtMTA0MDA4MzIwMCwtODg0OTk1MjAwLC04Nzk5ODRlMywtNzgzNTYxNjAwLC03NjAwNjA4MDAsLTQ5NjE5NTIwMCwtNDkxNTI5NjAwLDIyODM1NTIwMCwyNDM3MzQ0MDAsNjQzMjQ4ZTMsNjQ5MjA5NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbLTU3MzY4LDI5MDMyLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDMyNDAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwXX0sIkFzaWEvTXVzY2F0Ijp7dGltZTpbLTE1Nzc5MjMyMDAsMTkyNTAwNjQwMF0sb2Zmc2V0OlsxNDA2NCwxNDQwMF19LCJBc2lhL05pY29zaWEiOnt0aW1lOlstMTUxODkxMmUzLDE2NjU3OTIwMCwxODIzMDRlMywyMDA5NjY0MDAsMjEzODRlNCwyMjg4NzM2MDAsMjQzOTkzNjAwLDI2MDMyMzIwMCwyNzYxMzQ0MDAsMjkxNzcyODAwLDMwNzQ5NzYwMCwzMjM4MjcyMDAsMzM4OTQ3MjAwLDM1NDY3MmUzLDM3MDM5NjgwMCwzODYxMjE2MDAsNDAxODQ2NDAwLDQxNzU3MTIwMCw0MzMyOTZlMyw0NDkwMjA4MDAsNDY1MzUwNDAwLDQ4MTA3NTIwMCw0OTY4ZTUsNTEyNTI0ODAwLDUyODI0OTYwMCw1NDM5NzQ0MDAsNTU5Njk5MjAwLDU3NTQyNGUzLDU5MTE0ODgwMCw2MDY4NzM2MDAsNjIyNTk4NDAwLDYzODMyMzIwMCw2NTQ2NTI4MDAsNjcwMzc3NjAwLDY4NjEwMjQwMCw3MDE4MjcyMDAsNzE3NTUyZTMsNzMzMjc2ODAwLDc0OTAwMTYwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQzOTU1MjAwLDg1OTY4ZTQsODc1NDA0ODAwLDg5MTEyOTYwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzgwMDgsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiQXNpYS9RYXRhciI6e3RpbWU6Wy0xNTc3OTIzMjAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIzNjgsMTQ0MDAsMTA4MDBdfSwiQXNpYS9SaXlhZGgiOnt0aW1lOlstNzE5NjI1NjAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTEyMTIsMTA4MDBdfSwiQXNpYS9TZW91bCI6e3RpbWU6Wy0xOTQ4NzUyZTMsLTE4MzAzODRlMywtNzY3MzE4NDAwLC02ODExNzc2MDAsLTY3MjE5MmUzLC02NTQ3MzkyMDAsLTY0MDgyODgwMCwtNjIzMzc2ZTMsLTYwOTM3OTIwMCwtNTg4ODE2ZTMsLTU3NzkyOTYwMCwtNDk4MDk2ZTMsLTQ2MjY3MmUzLC00NTE2OTkyMDAsLTQyOTc1MzYwMCwtNDE4MjYyNDAwLC0zOTk1MTM2MDAsLTM4NzQxNzYwMCwtMzY4MDY0ZTMsLTM1NTk2OGUzLC0zMzY2MTQ0MDAsLTMyNDUxODQwMCwtMzA1MTY0ODAwLC0yOTMwNjg4MDAsLTI2NDkwMjQwMCw1NDc2MTA0MDAsNTYwOTE5NjAwLDU3OTA2ZTQsNTkyMzY5MjAwLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzA0NzIsMzA2MDAsMzI0MDAsMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDBdfSwiQXNpYS9TaGFuZ2hhaSI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9TaW5nYXBvcmUiOnt0aW1lOlstMjE3NzQ1MjgwMCwtMjAzODE3NmUzLC0xMTY3NjA5NjAwLC0xMDczMDAxNjAwLC04OTQxNTM2MDAsLTg3OTYzODQwMCwtNzY2OTcyODAwLDM3ODY4OTQwMCwxOTI1MDIwODAwXSxvZmZzZXQ6WzI0OTI1LDI0OTI1LDI1MjAwLDI2NDAwLDI2NDAwLDI3ZTMsMzI0MDAsMjdlMywyODgwMF19LCJBc2lhL1RhaXBlaSI6e3RpbWU6Wy0yMzM1MjE5MjAwLC0xMDE3NzkyZTMsLTc2NjE5MTYwMCwtNzQ1ODA0ODAwLC03MzM3OTUyMDAsLTcxNjg2MDgwMCwtNjk5NTgwODAwLC02ODM4NTZlMywtNjcwNjM2ODAwLC02NTIzMmU0LC02MzkxMDA4MDAsLTYyMDc4NGUzLC02MDc1NjQ4MDAsLTU4OTI0OGUzLC01NzYwMjg4MDAsLTU2Mjg5NmUzLC01NDE3MjhlMywtNTI4NjgxNjAwLC01MTAxOTJlMywtNDk3MTQ1NjAwLC00Nzg2NTZlMywtNDY1NjA5NjAwLC00NDk3OTg0MDAsLTQzMzk4NzIwMCwtNDE4MTc2ZTMsLTQwMjQ1MTIwMCwtMzg2NjRlNCwtMzcwOTE1MjAwLC0zNTUxMDRlMywtMzM5Mzc5MjAwLC0zMjM1NjhlMywtMzAyNDg2NDAwLC0yOTE5NDU2MDAsLTI3MDk1MDQwMCwtMjYwNDA5NjAwLDEzNDAwNjQwMCwxNDk4MTc2MDAsMTY1NTQyNDAwLDE4MTM1MzYwMCwyOTk2MzUyMDAsMzA3NTg0ZTMsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyOTE2MCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMF19LCJBc2lhL1RlaHJhbiI6e3RpbWU6Wy0xNzA0MTUzNjAwLC0xMDkwNDU0NDAwLDIyNzgzMzIwMCwyNDYyNGU0LDI1OTYzMmUzLDI3MTEyNjgwMCwyNzk1OTA0MDAsMjk2NjExMjAwLDMwNjU0NzIwMCwzMjI0NDQ4MDAsMzM4NTE1MjAwLDY3MzIyODgwMCw2ODU0OTc2MDAsNzAxMjIyNDAwLDcxNzEyZTQsNzMyNzU4NDAwLDc0ODY1NmUzLDc2NDI5NDQwMCw3ODAxOTJlMyw3OTU4MzA0MDAsODExNzI4ZTMsODI3MzY2NDAwLDg0MzI2NGUzLDg1ODk4ODgwMCw4NzQ4ODY0MDAsODkwNTI0ODAwLDkwNjQyMjQwMCw5MjIwNjA4MDAsOTM3OTU4NDAwLDk1MzU5NjgwMCw5Njk0OTQ0MDAsOTg1MjE5MjAwLDEwMDExMTY4MDAsMTAxNjc1NTIwMCwxMDMyNjUyODAwLDEwNDgyOTEyMDAsMTA2NDE4ODgwMCwxMDc5ODI3MjAwLDEwOTU3MjQ4MDAsMTExMTQ0OTYwMCwxMTI3MzQ3MjAwLDEyMDYwNTc2MDAsMTIyMTk1NTIwMCwxMjM3NjhlNCwxMjUzNTc3NjAwLDEyNjkyMTZlMywxMjg1MTEzNjAwLDEzMDA3NTJlMywxMzE2NjQ5NjAwLDEzMzIyODhlMywxMzQ4MTg1NjAwLDEzNjM5MTA0MDAsMTM3OTgwOGUzLDEzOTU0NDY0MDAsMTQxMTM0NGUzLDE0MjY5ODI0MDAsMTQ0Mjg4ZTQsMTQ1ODUxODQwMCwxNDc0NDE2ZTMsMTQ5MDE0MDgwMCwxNTA2MDM4NDAwLDE1MjE2NzY4MDAsMTUzNzU3NDQwMCwxNTUzMjEyODAwLDE1NjkxMTA0MDAsMTU4NDc0ODgwMCwxNjAwNjQ2NDAwLDE2MTYzNzEyMDAsMTYzMjI2ODgwMCwxNjQ3OTA3MjAwLDE2NjM4MDQ4MDAsMTkyNTAwNDYwMF0sb2Zmc2V0OlsxMjM0NCwxMjM0NCwxMjYwMCwxNjIwMCwxNDQwMCwxOGUzLDE0NDAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwXX0sIkFzaWEvVG9reW8iOnt0aW1lOlstMjU4NzY3ODg2MSwtNjgzNzY5NjAwLC02NzIyNzQ4MDAsLTY1NDczOTIwMCwtNjQwODI1MjAwLC02MjAyNjU2MDAsLTYwOTM3NTYwMCwtNTg4ODE2ZTMsLTU3NzkyNmUzLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzM1MzksMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMF19LCJBc2lhL1lhbmdvbiI6e3RpbWU6Wy0yODQwMTQwODAwLC0xNTc3OTIzMjAwLC04NzMyNDQ4MDAsLTc3ODM3NzYwMCwxOTI1MDE1NDAwXSxvZmZzZXQ6WzIzMDg3LDIzMDg3LDIzNDAwLDMyNDAwLDIzNDAwXX0sIkF0bGFudGljL0F6b3JlcyI6ewp0aW1lOlstMjcxMzkxMDQwMCwtMTgzMDM4MzY3MiwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywzODYxMjE2MDAsNDAxODVlNCw0MTc1NzEyMDAsNDMzMjk5NjAwLDQ0OTAyMDgwMCw0NjUzNTRlMyw0ODEwNzUyMDAsNDk2ODAzNjAwLDUxMjUyNDgwMCw1MjgyNTMyMDAsNTQzOTc0NDAwLDU1OTcwMjgwMCw1NzU0MjRlMyw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDYzODMyMzIwMCw2NTQ2NTY0MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzI1NDE4ZTMsNzMzMjgwNDAwLDc0MDI4MjQwMCw3NDkwMDUyMDAsNzY0NzI2NDAwLDc4MDQ1NDgwMCw3OTYxNzZlMyw4MTE5MDQ0MDAsODI4MjMwNDAwLDg0NjM3OGUzLDg1OTY4ZTQsODc3ODI3NjAwLDg5MTEyOTYwMCw5MDkyNzcyMDAsOTIyNTc5MjAwLDk0MTMzMTYwMCw5NTQwMjg4MDAsOTcyNzgxMjAwLDk4NTQ3ODQwMCwxMDA0MjMwODAwLDEwMTc1MzI4MDAsMTAzNTY4MDQwMCwxMDQ4OTgyNDAwLDEwNjcxM2U0LDEwODA0MzJlMywxMDk5MTg0NDAwLDExMTE4ODE2MDAsMTEzMDYzNGUzLDExNDMzMzEyMDAsMTE2MjA4MzYwMCwxMTc0NzgwODAwLDExOTM1MzMyMDAsMTIwNjgzNTIwMCwxMjI0OTgyODAwLDEyMzgyODQ4MDAsMTI1NjQzMjQwMCwxMjY5NzM0NDAwLDEyODg0ODY4MDAsMTMwMTE4NGUzLDEzMTk5MzY0MDAsMTMzMjYzMzYwMCwxMzUxMzg2ZTMsMTM2NDY4OGUzLDEzODI4MzU2MDAsMTM5NjEzNzYwMCwxNDE0Mjg1MjAwLDE0Mjc1ODcyMDAsMTQ0NTczNDgwMCwxNDU5MDM2ODAwLDE0Nzc3ODkyMDAsMTQ5MDQ4NjQwMCwxNTA5MjM4ODAwLDE1MjE5MzZlMywxNTQwNjg4NDAwLDE1NTM5OTA0MDAsMTU3MjEzOGUzLDE1ODU0NGU0LDE2MDM1ODc2MDAsMTYxNjg4OTYwMCwxNjM1NjQyZTMsMTY0ODMzOTIwMCwxNjY3MDkxNjAwLDE2Nzk3ODg4MDAsMTY5ODU0MTIwMCwxNzExODQzMjAwLDE3Mjk5OTA4MDAsMTc0MzI5MjgwMCwxNzYxNDQwNDAwLDE3NzQ3NDI0MDAsMTc5Mjg5ZTQsMTgwNjE5MmUzLDE4MjQ5NDQ0MDAsMTgzNzY0MTYwMCwxODU2Mzk0ZTMsMTg2OTA5MTIwMCwxODg3ODQzNjAwLDE5MDExNDU2MDAsMTkxOTI5MzIwMCwxOTMyNTk1MjAwXSwKb2Zmc2V0OlstNjE2MCwtNjg3MiwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLDAsLTM2MDAsLTcyMDAsLTM2MDAsMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLDM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwXX0sIkF0bGFudGljL1JleWtqYXZpayI6e3RpbWU6Wy0xOTU2NjE0NDAwLC0xNjY4MjE0ODAwLC0xNjQ3MjEyNDAwLC0xNjM2Njc4ODAwLC0xNjEzNDNlNCwtMTYwNTE0MjgwMCwtMTU4MTg5NGUzLC0xNTM5NTY1MjAwLC0xNTMxMzVlNCwtOTY4MDI5MjAwLC05NTIyOTM2MDAsLTk0MjAxMmUzLC05MjAyMzkyMDAsLTkwOTk2MTIwMCwtODg4Nzg5NjAwLC04Nzc5MDY4MDAsLTg1Nzk0NDgwMCwtODQ2NDU3MjAwLC04MjY0OTUyMDAsLTgxNTAwNzYwMCwtNzk1MDQ1NjAwLC03ODM1NThlMywtNzYyOTkxMjAwLC03NTIxMDg0MDAsLTczMTU0MTYwMCwtNzE3NjM0ODAwLC03MDAwOTJlMywtNjg2MTg1MjAwLC02Njg2NDI0MDAsLTY1NDczNTYwMCwtNjM2NTg4ZTMsLTYyMzI4NmUzLC02MDU3NDMyMDAsLTU5MTgzNjQwMCwtNTczNjg4ODAwLC01NTk3ODJlMywtNTQyMjM5MjAwLC01MjgzMzI0MDAsLTUxMDc4OTYwMCwtNDk2ODgyODAwLC00NzkzNGU0LC00NjU0MzMyMDAsLTQ0Nzg5MDQwMCwtNDMzOTgzNjAwLC00MTU4MzZlMywtNDAxOTI5MjAwLC0zODQzODY0MDAsLTM3MDQ3OTYwMCwtMzUyOTM2ODAwLC0zMzkwM2U0LC0zMjE0ODcyMDAsLTMwNzU4MDQwMCwtMjkwMDM3NjAwLC0yNzYxMzA4MDAsLTI1ODU4OGUzLC0yNDQ2ODEyMDAsLTIyNjUzMzYwMCwtMjEyNjI2ODAwLC0xOTUwODRlMywtMTgxMTc3MjAwLC0xNjM2MzQ0MDAsLTE0OTcyNzYwMCwtMTMyMTg0ODAwLC0xMTgyNzhlMywtMTAwNzM1MjAwLC04NjgyODQwMCwtNjg2ODA4MDAsLTU0Nzc0ZTMsMTkyNDk5MmUzXSxvZmZzZXQ6Wy01MjgwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDBdfSwiQXVzdHJhbGlhL0FDVCI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkF1c3RyYWxpYS9BZGVsYWlkZSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMjIzMDE1NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTEzMjZlMyw1MzAwNzEyMDAsNTQyNzc1NjAwLDU2MjEyNTYwMCw1NzQ4M2U0LDU5NDE4ZTQsNjA2Mjc5NjAwLDYyNTYyOTYwMCw2Mzc3MjkyMDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNzAxMjMzMjAwLDcxOTk3ODQwMCw3MzE0NzMyMDAsNzUyMDMyODAwLDc2NDEzMjQwMCw3ODM0ODI0MDAsNzk2MTg2ODAwLDgxNDkzMmUzLDgyODI0MTIwMCw4NDYzODE2MDAsODU5NjkwODAwLDg3NzgzMTIwMCw4OTExNDA0MDAsOTA5MjgwODAwLDkyMjU5ZTQsOTQxMzM1MjAwLDk1NDAzOTYwMCw5NzI3ODQ4MDAsOTg1NDg5MjAwLDEwMDQyMzQ0MDAsMTAxNzU0MzYwMCwxMDM1Njg0ZTMsMTA0ODk5MzIwMCwxMDY3MTMzNjAwLDEwODA0NDI4MDAsMTA5OTE4OGUzLDExMTE4OTI0MDAsMTEzMDYzNzYwMCwxMTQzOTQ2ODAwLDExNjIwODcyMDAsMTE3NDc5MTYwMCwxMTkzNTM2ODAwLDEyMDc0NTA4MDAsMTIyMzE3MmUzLDEyMzg5MDA0MDAsMTI1NDYyMTYwMCwxMjcwMzVlNCwxMjg2MDcxMjAwLDEzMDE3OTk2MDAsMTMxNzUyMDgwMCwxMzMzMjQ5MjAwLDEzNDk1NzUyMDAsMTM2NTMwMzYwMCwxMzgxMDI0ODAwLDEzOTY3NTMyMDAsMTQxMjQ3NDQwMCwxNDI4MjAyODAwLDE0NDM5MjRlMywxNDU5NjUyNDAwLDE0NzUzNzM2MDAsMTQ5MTEwMmUzLDE1MDY4MjMyMDAsMTUyMjU1MTYwMCwxNTM4ODc3NjAwLDE1NTQ2MDZlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzMzMjYwLDMyNDAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwXX0sIkF1c3RyYWxpYS9CcmlzYmFuZSI6e3RpbWU6Wy0yMzY2NzU1MjAwLC0xNjcyNTI0ZTMsLTE2NjUzNDkyMDAsLTg4MzYwNTYwMCwtODc2MDg1MjAwLC04NjAzNjRlMywtODQ0NjM1NjAwLC04MjgzMDk2MDAsLTgxMzE4NmUzLDU3NzIyNDAwLDY4MDA3NjAwLDYyNTYyOTYwMCw2MzY1MTk2MDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNjk5NDE4ODAwLDE5MjUwMjhlM10sb2Zmc2V0OlszNjcyOCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlM119LCJBdXN0cmFsaWEvUGVydGgiOnt0aW1lOlstMjMzNzg5NzYwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwxNTIwNzEyMDAsMTYyOTYxMjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNjkwMzQzMjAwLDY5OTQxODgwMCwxMTY1MTExMjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA2ODQ2ZTMsMTIyNDk4NjQwMCwxMjM4Mjk1NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc4MDQsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXVzdHJhbGlhL1N5ZG5leSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkV1cm9wZS9BbXN0ZXJkYW0iOnsKdGltZTpbLTQyNjAyMTEyMDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNjYzNDUyZTMsLTE2NTAxNDI4MDAsLTE2MzMyMTJlMywtMTYxNzQ4MzYwMCwtMTYwMTE1NzYwMCwtMTU4NjAzNGUzLC0xNTY5NzA4ZTMsLTE1NTQ1ODQ0MDAsLTE1MzgyNTg0MDAsLTE1MjMxMzQ4MDAsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MDE3NTIwMCwtMTQ1OTExMjQwMCwtMTQ0Mzk5NmUzLC0xNDI3NjYyODAwLC0xNDA2NjcxMjAwLC0xMzk2MjEzMjAwLC0xMzc2OTQ5NjAwLC0xMzY0NzYzNjAwLC0xMzQ1NDEzNjAwLC0xMzMzMzE0ZTMsLTEzMTM3OTEyMDAsLTEzMDEyNTk2MDAsLTEyODIyNTUyMDAsLTEyNjk4MWU0LC0xMjUwNzE5MjAwLC0xMjM4MzYwNDAwLC0xMjE5MTgzMjAwLC0xMjA2OTEwODAwLC0xMTg2OTU2ZTMsLTExNzU0NjEyMDAsLTExNTYwMjQ4MDAsLTExNDM0MDY4MDAsLTExMjQ0ODg4MDAsLTExMTE5NTcyMDAsLTEwOTI5NTI4MDAsLTEwODA1MDc2MDAsLTEwNjEzMzA0MDAsLTEwNDkwNThlMywtMTAyOTE4OTYwMCwtMTAyNTc0MDgwMCwtMTAxNzYwODQwMCwtOTk4MjU4NDAwLC05ODYxNTg4MDAsLTk2NjcyMjQwMCwtOTU0MTA0NDAwLC05MzUwMjA4MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDIyODg4MDgwMCwyNDQwMDQ0MDAsMjYwMzMwNDAwLDI3NjA1ODgwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMTE3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsNDgwMCwxMjAwLDQ4MDAsMTIwMCw0ODAwLDEyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9BdGhlbnMiOnsKdGltZTpbLTIzNDQ2MzY4MDAsLTE2ODYwOTU5NDAsLTExODI5ODg4MDAsLTExNzgxNTA0MDAsLTkwNjg1NDQwMCwtOTA0ODY3MjAwLC04NTcyNWU0LC04NDQ0NzM2MDAsLTgyODIzMDQwMCwtODEyNDE5MjAwLC01NTIzNTUyMDAsLTU0MTY0MTYwMCwxNjY0OTI4MDAsMTg2MTk1NjAwLDE5ODAzNmUzLDIxMzc2NDQwMCwyMjg4ODA4MDAsMjQ0MDkwODAwLDI2MDMzMDQwMCwyNzU0NTc2MDAsMjkxODA1MjAwLDMwNzQxODQwMCwzMjMzOTUyMDAsMzM4OTQ3MjAwLDM1NDY4MjgwMCwzNzA0MTEyMDAsMzg2MTMyNDAwLDQwMTg2MDgwMCw0MTc1ODJlMyw0MzMzMTA0MDAsNDQ5MDMxNjAwLDQ2NTM2NDgwMCw0ODEwODZlMyw0OTY4MTQ0MDAsNTEyNTM1NjAwLDUyODI2NGUzLDU0Mzk4NTIwMCw1NTk3MTM2MDAsNTc1NDM0ODAwLDU5MTE2MzIwMCw2MDY4ODQ0MDAsNjIyNjEyODAwLDYzODMzNGUzLDY1NDY2NzIwMCw2NzAzODg0MDAsNjg2MTE2ODAwLDcwMTgzOGUzLDcxNzU2NjQwMCw3MzMyODc2MDAsNzQ5MDE2ZTMsNzY0NzM3MjAwLDc4MDQ2NTYwMCw3OTYxODY4MDAsODExOTE1MjAwLDgyODI0MTIwMCw4NDYzODg4MDAsODU5NjkwODAwLDg3NzgzODQwMCw4OTExNDA0MDAsOTA5Mjg4ZTMsOTIyNTllNCw5NDEzNDI0MDAsOTU0MDM5NjAwLDk3Mjc5MmUzLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1NjkyLDU2OTIsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvQmVsZ3JhZGUiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzc3OTM4NDAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols0OTIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CZXJsaW4iOnt0aW1lOlstMjQyMjA1MTIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzc2NTU2ZTMsLTc2NTkyNTIwMCwtNzYxMTczMjAwLC03NDg0NzZlMywtNzMzMjY2ZTMsLTcxNzYyNzYwMCwtNzE0NjAzNjAwLC03MTAzN2U0LC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMzIwOCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMTA4MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CcmF0aXNsYXZhIjp7dGltZTpbLTM3ODY4MjU2MDAsLTI0NjkzOTg0MDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtOTM4OTAxNjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NTMyMDQwMCwtNzQ2NTc1MjAwLC03MzMzNTI0MDAsLTcyODUxNGUzLC03MjEyNmU0LC03MTY0MjE2MDAsLTcwMTkwMjgwMCwtNjg0OTcyZTMsLTY3MDQ1MzIwMCwtNjU0MjEzNjAwLC02MzkwMDM2MDAsMjkxNzhlNCwzMDc1MDg0MDAsMzIzODM0NDAwLDMzODk1OGUzLDM1NDY3OTIwMCwzNzA0MDc2MDAsMzg2MTI4ODAwLDQwMTg1NzIwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0NjQsMzQ2NCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvQnJ1c3NlbHMiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTI0NTA5OTQxNTAsLTE3NDAzNTUyMDAsLTE2OTM2OTkyMDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMzgyMjQwMCwtMTYwNDI3ODgwMCwtMTU4NTUyNjQwMCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MzY0MmUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI1OTYwMCwtMTI4NDMyODgwMCwtMTI2OTgxZTQsLTEyNTM0ODRlMywtMTIzODM2MDQwMCwtMTIyMTQyOTYwMCwtMTIwNjkxMDgwMCwtMTE5MTE4OTYwMCwtMTE3NTQ2MTIwMCwtMTE2MDM0NDgwMCwtMTE0MzQwNjgwMCwtMTEyNzY4NTYwMCwtMTExMTk1NzIwMCwtMTA5Njg0MDgwMCwtMTA4MDUwNzYwMCwtMTA2MzU3NjgwMCwtMTA0OTA1OGUzLC0xMDMzMzM2ODAwLC0xMDE3NjA4NDAwLC0xMDAyNDkyZTMsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkzNDY2NDQwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk4MDY2ZTMsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlsxMDUwLDEwNTAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CdWNoYXJlc3QiOnsKdGltZTpbLTI0NjkzOTg0MDAsLTEyMTMxNDI0MDAsLTExODcwNDk2MDAsLTExNzU0Njg0MDAsLTExNTk3NDcyMDAsLTExNDQwMTg4MDAsLTExMjc2OTI4MDAsLTExMTE5NjQ0MDAsLTEwOTYyNDMyMDAsLTEwODA1MTQ4MDAsLTEwNjQ3OTM2MDAsLTEwNDkwNjUyMDAsLTEwMzMzNDRlMywtMTAxNzYxNTYwMCwtMTAwMTg5NDQwMCwtOTg2MTY2ZTMsLTk3MDQ0NDgwMCwtOTU0NzE2NDAwLDI5NjYxMTIwMCwzMDc0OTc2MDAsMzIzODIzNjAwLDMzODk1MDgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzMzMjc2ODAwLDc0OTAwNTIwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQ2Mzc0NDAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNjI2NCw2MjY0LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0J1ZGFwZXN0Ijp7CnRpbWU6Wy0yNDk4MjU2ZTMsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYwMDQ2NjQwMCwtMTU4NzI0MzYwMCwtMTU2OTcwOGUzLC0xNTU1MTg5MjAwLC05MDY3NzE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc3ODQ2NzYwMCwtNzYyNjQ5MjAwLC03NDk2ODU2MDAsLTczMzI2OTYwMCwtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NjE4MTYwMCwtNjcwNDUzMjAwLC02NTQxMjcyMDAsLTYzOTAwMzYwMCwtNDkyNjUyODAwLC00ODExNjE2MDAsLTQ2MTE5NmUzLC00NDk3MDEyMDAsLTQyODUzNjgwMCwtNDE4MjUxNjAwLC0zOTcwODcyMDAsLTM4NjgwMmUzLDMyMzgyNzIwMCwzMzg5NTA4MDAsMzU0NjcyZTMsMzcwNDAwNDAwLDM4NjEyMTYwMCw0MDE4NWU0LDQxNzU3MTIwMCw0MzMyOTk2MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbNDU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0NvcGVuaGFnZW4iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTIzOTgyOTEyMDAsLTE2OTI0OTMyMDAsLTE2ODA0ODM2MDAsLTkzNTEwNzIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjkzODEyMDAsLTc0NzAwNzIwMCwtNzM2Mzc2NDAwLC03MTUyMTJlMywtNzA2NzQxMjAwLC02ODMxNTc2MDAsLTY3NTI5MTYwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzAyMCwzMDIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvRHVibGluIjp7CnRpbWU6Wy0yODIxNjUxMjAwLC0xNjkxOTY0ZTMsLTE2ODA0NjkyMDAsLTE2NjQxNDMyMDAsLTE2NTAxNDI4MDAsLTE2MzM5MDMyMDAsLTE2MTc0ODM2MDAsLTE2MDE4NDg4MDAsLTE1ODYwMzRlMywtMTU3MDM5OTIwMCwtMTU1MjE2NTIwMCwtMTUzODM0NDgwMCwtMTUyMjUzZTQsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MzYzMTIwMCwtMTQ2MDkyNjgwMCwtMTQ0Mjc4NjQwMCwtMTQyODg3MjQwMCwtMTQxMDczMmUzLC0xMzk2MjEzMjAwLC0xMzc5MjgyNDAwLC0xMzY0NzYzNjAwLC0xMzQ4NDM3NjAwLC0xMzMzMzE0ZTMsLTEzMTU3Nzg0MDAsLTEzMDEyNTk2MDAsLTEyODQzMjg4MDAsLTEyNjk4MWU0LC0xMjUzNDg0ZTMsLTEyMzgzNjA0MDAsLTEyMjE0Mjk2MDAsLTEyMDY5MTA4MDAsLTExODk5OGU0LC0xMTc1NDYxMjAwLC0xMTU5MTM1MjAwLC0xMTQzNDA2ODAwLC0xMTI2NDc2ZTMsLTExMTE5NTcyMDAsLTEwOTU2MzEyMDAsLTEwODA1MDc2MDAsLTEwNjM1NzY4MDAsLTEwNDkwNThlMywtMTAzMjEyNzIwMCwtMTAxNzYwODQwMCwtMTAwMTI4MjQwMCwtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtNzMzMzUyNDAwLC03MTk0NDU2MDAsLTY5OTQ4MzYwMCwtNjg0OTcyZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsNTc3MjZlMyw2OTgxODQwMCw4OTE3NTYwMCwxMDEyNjhlMywxMjA2MjUyMDAsMTMyNzE3NjAwLDE1MjA3NDgwMCwxNjQxNjcyMDAsMTgzNTI0NDAwLDE5NjIyMTYwMCwyMTQ5NzRlMywyMjc2NzEyMDAsMjQ2NDIzNjAwLDI1OTEyMDgwMCwyNzg0NzhlMywyOTA1NzA0MDAsMzA5OTI3NjAwLDMyMjAyZTQsMzQxMzc3MjAwLDM1NDY3NTYwMCwzNzI4MjMyMDAsMzg2MTI1MjAwLDQwNDI3MjgwMCw0MTc1NzQ4MDAsNDM1NzIyNDAwLDQ0OTAyNDQwMCw0Njc3NzY4MDAsNDgxMDc4ODAwLDQ5OTIyNjQwMCw1MTI1Mjg0MDAsNTMwNjc2ZTMsNTQzOTc4ZTMsNTYyMTI1NjAwLDU3NTQyNzYwMCw1OTM1NzUyMDAsNjA2ODc3MjAwLDYyNTYyOTYwMCw2MzgzMjY4MDAsNjU3MDc5MjAwLDY3MDM4MTIwMCw2ODg1Mjg4MDAsNzAxODMwODAwLDcxOTk3ODQwMCw3MzMyODA0MDAsNzUxNDI4ZTMsNzY0NzNlNCw3ODI4Nzc2MDAsNzk2MTc5NjAwLDgxNDMyNzIwMCw4MjgyMzRlMyw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLG9mZnNldDpbLTE1MjEsLTE1MjEsMjA3OSwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9IZWxzaW5raSI6ewp0aW1lOlstMjg5MDI1MjgwMCwtMTUzNTkzMjgwMCwtODc1NjY0ZTMsLTg1OTc2MjgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTgyZTMsNDMzMzEwNDAwLDQ0OTAzMTYwMCw0NjUzNjQ4MDAsNDgxMDg2ZTMsNDk2ODE0NDAwLDUxMjUzNTYwMCw1MjgyNjRlMyw1NDM5ODUyMDAsNTU5NzEzNjAwLDU3NTQzNDgwMCw1OTExNjMyMDAsNjA2ODg0NDAwLDYyMjYxMjgwMCw2MzgzMzRlMyw2NTQ2NjcyMDAsNjcwMzg4NDAwLDY4NjExNjgwMCw3MDE4MzhlMyw3MTc1NjY0MDAsNzMzMjg3NjAwLDc0OTAxNmUzLDc2NDczNzIwMCw3ODA0NjU2MDAsNzk2MTg2ODAwLDgxMTkxNTIwMCw4MjgyNDEyMDAsODQ2Mzg4ODAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNTk4OSw1OTg5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0lzdGFuYnVsIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE4Njk4Njg4MDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNTcwNDA2NDAwLC0xNTUyMTc2ZTMsLTE1MzgzNTJlMywtMTUyMjU0MDgwMCwtMTUwNzUwNzIwMCwtMTQ5MDU3MjgwMCwtMTQ0MDIwMTYwMCwtMTQyODAxOTIwMCwtMTQwOTcwMjQwMCwtMTM5NjQ4MzIwMCwtOTMxMDQ2NDAwLC05MjI2NjU2MDAsLTkxNzgyNzIwMCwtODkyNDI1NjAwLC04NzU4MzY4MDAsLTc2NDcyNjQwMCwtNzQ0MzM2ZTMsLTczMzc5NTIwMCwtNzE2NDI4ODAwLC03MDE5MTM2MDAsLTY4NDk3OTIwMCwtNjcwNDY0ZTMsLTY1NDEzNDQwMCwtNjM5MDE0NDAwLC02MjIwOGU0LC02MDY5NmU0LC01OTAwMjU2MDAsLTU3NTUxMDQwMCwtMjM1NjEyODAwLC0xOTQ4MzJlMywtMTc3NzI0ODAwLC0xNjU3MTUyMDAsMTA3OTE3MjAwLDEyMTIyNjQwMCwxMzM5MjcyMDAsMTUyNjc2ZTMsMTY0Njg1NjAwLDE4NDEyNTYwMCwxOTYyMjE2MDAsMjE1NTc1MjAwLDIyODg4MDgwMCwyNDU4MTUyMDAsMjYwMzMwNDAwLDI2NzkyNjQwMCw0Mjg0NjQ4MDAsNDMzOTA4ZTMsNDY4MTIyNDAwLDQ4MjgwNjgwMCw0OTY3MjA4MDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDI3NjAwLDU5MTE1NmUzLDYwNjg3NzIwMCw2MjI2MDU2MDAsNjM4MzI2ODAwLDY1NDY2ZTQsNjcwMzgxMjAwLDY4NjEwOTYwMCw3MDE4MzA4MDAsNzE3NTU5MjAwLDczMzI4MDQwMCw3NDkwMDg4MDAsNzY0MTI1MjAwLDc4MDQ1ODQwMCw3OTYxNzk2MDAsODExOTA4ZTMsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTI4MTIwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjIzNDgwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDY5NTUyMDAsMTQ1OTA0NzYwMCwxNDczMjA2NDAwLDE5MjUwMDI4MDBdLApvZmZzZXQ6WzY5NTIsNzAxNiw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsMTA4MDAsMTQ0MDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDEwODAwXX0sIkV1cm9wZS9MaXNib24iOnt0aW1lOlstMTgzMDM4NjIwNSwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywyMTI1NDc2MDAsMjI4MjY4ODAwLDI0Mzk5NzIwMCwyNjAzMjY4MDAsMjc2MDU1MjAwLDI5MTc3NjQwMCwzMDc1MDQ4MDAsMzIzODMwODAwLDMzODk1NDQwMCwzNTQ2NzJlMywzNzA0MDA0MDAsMzg2MTIxNjAwLDQwMTg1ZTQsNDE3NTcxMjAwLDQzMzI5OTYwMCw0NDkwMjA4MDAsNDY1MzU0ZTMsNDgxMDc1MjAwLDQ5NjgwMzYwMCw1MTI1Mjg0MDAsNTI4MjU2ODAwLDU0Mzk3OGUzLDU1OTcwNjQwMCw1NzU0Mjc2MDAsNTkxMTU2ZTMsNjA2ODc3MjAwLDYyMjYwNTYwMCw2MzgzMjY4MDAsNjU0NjZlNCw2NzAzODEyMDAsNjg2MTA5NjAwLDcwMTgzMDgwMCw3MTc1NTkyMDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLApvZmZzZXQ6Wy0yMjA1LDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9ManVibGphbmEiOnt0aW1lOlstMjcxMzkxMDQwMCwtOTA1ODIxMjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NjYxNjQwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0xvbmRvbiI6ewp0aW1lOlstMzg1MjY2MjQwMCwtMTY5MTk2NGUzLC0xNjgwNDY5MjAwLC0xNjY0MTQzMjAwLC0xNjUwMTQyODAwLC0xNjMzOTAzMjAwLC0xNjE3NDgzNjAwLC0xNjAxODQ4ODAwLC0xNTg2MDM0ZTMsLTE1NzAzOTkyMDAsLTE1NTIxNjUyMDAsLTE1MzgzNDQ4MDAsLTE1MjI1M2U0LC0xNTA3NWU1LC0xNDkwNTYyZTMsLTE0NzM2MzEyMDAsLTE0NjA5MjY4MDAsLTE0NDI3ODY0MDAsLTE0Mjg4NzI0MDAsLTE0MTA3MzJlMywtMTM5NjIxMzIwMCwtMTM3OTI4MjQwMCwtMTM2NDc2MzYwMCwtMTM0ODQzNzYwMCwtMTMzMzMxNGUzLC0xMzE1Nzc4NDAwLC0xMzAxMjU5NjAwLC0xMjg0MzI4ODAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTg5OThlNCwtMTE3NTQ2MTIwMCwtMTE1OTEzNTIwMCwtMTE0MzQwNjgwMCwtMTEyNjQ3NmUzLC0xMTExOTU3MjAwLC0xMDk1NjMxMjAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzIxMjcyMDAsLTEwMTc2MDg0MDAsLTEwMDEyODI0MDAsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkwNDUxNDQwMCwtODk2MDQzNjAwLC04NzU0ODRlMywtODY0NTk0ZTMsLTg0NDAzNDQwMCwtODMyNTM5NjAwLC04MTI1ODQ4MDAsLTc5ODA2NmUzLC03ODEwNDg4MDAsLTc3MjA1OTYwMCwtNzY0ODAyZTMsLTc0ODQ3NmUzLC03MzMzNTI0MDAsLTcxOTQ0NTYwMCwtNzE3MDI2NDAwLC03MDY3NDEyMDAsLTY5OTQ4MzYwMCwtNjg3OTk2ZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsLTM3MjM4NDAwLDU3NzI2ZTMsNjk4MTg0MDAsODkxNzU2MDAsMTAxMjY4ZTMsMTIwNjI1MjAwLDEzMjcxNzYwMCwxNTIwNzQ4MDAsMTY0MTY3MjAwLDE4MzUyNDQwMCwxOTYyMjE2MDAsMjE0OTc0ZTMsMjI3NjcxMjAwLDI0NjQyMzYwMCwyNTkxMjA4MDAsMjc4NDc4ZTMsMjkwNTcwNDAwLDMwOTkyNzYwMCwzMjIwMmU0LDM0MTM3NzIwMCwzNTQ2NzU2MDAsMzcyODIzMjAwLDM4NjEyNTIwMCw0MDQyNzI4MDAsNDE3NTc0ODAwLDQzNTcyMjQwMCw0NDkwMjQ0MDAsNDY3Nzc2ODAwLDQ4MTA3ODgwMCw0OTkyMjY0MDAsNTEyNTI4NDAwLDUzMDY3NmUzLDU0Mzk3OGUzLDU2MjEyNTYwMCw1NzU0Mjc2MDAsNTkzNTc1MjAwLDYwNjg3NzIwMCw2MjU2Mjk2MDAsNjM4MzI2ODAwLDY1NzA3OTIwMCw2NzAzODEyMDAsNjg4NTI4ODAwLDcwMTgzMDgwMCw3MTk5Nzg0MDAsNzMzMjgwNDAwLDc1MTQyOGUzLDc2NDczZTQsNzgyODc3NjAwLDc5NjE3OTYwMCw4MTQzMjcyMDAsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3ODQ0MDAsMTE5MzUzNjgwMCwxMjA2ODM4ODAwLDEyMjQ5ODY0MDAsMTIzODI4ODQwMCwxMjU2NDM2ZTMsMTI2OTczOGUzLDEyODg0OTA0MDAsMTMwMTE4NzYwMCwxMzE5OTRlNCwxMzMyNjM3MjAwLDEzNTEzODk2MDAsMTM2NDY5MTYwMCwxMzgyODM5MjAwLDEzOTYxNDEyMDAsMTQxNDI4ODgwMCwxNDI3NTkwODAwLDE0NDU3Mzg0MDAsMTQ1OTA0MDQwMCwxNDc3NzkyODAwLDE0OTA0OWU0LDE1MDkyNDI0MDAsMTUyMTkzOTYwMCwxNTQwNjkyZTMsMTU1Mzk5NGUzLDE1NzIxNDE2MDAsMTU4NTQ0MzYwMCwxNjAzNTkxMjAwLDE2MTY4OTMyMDAsMTYzNTY0NTYwMCwxNjQ4MzQyODAwLDE2NjcwOTUyMDAsMTY3OTc5MjQwMCwxNjk4NTQ0ODAwLDE3MTE4NDY4MDAsMTcyOTk5NDQwMCwxNzQzMjk2NDAwLDE3NjE0NDRlMywxNzc0NzQ2ZTMsMTc5Mjg5MzYwMCwxODA2MTk1NjAwLDE4MjQ5NDhlMywxODM3NjQ1MjAwLDE4NTYzOTc2MDAsMTg2OTA5NDgwMCwxODg3ODQ3MjAwLDE5MDExNDkyMDAsMTkxOTI5NjgwMCwxOTMyNTk4ODAwXSwKb2Zmc2V0OlstNzUsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiRXVyb3BlL0x1eGVtYm91cmciOnt0aW1lOlstMjA2OTcxMmUzLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLC0xNjYyMzM5NjAwLC0xNjUwMTVlNCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMjY1NmUzLC0xNjA0Mjc4ODAwLC0xNTg1NTE1NjAwLC0xNTc0MDM4ODAwLC0xNTUyMjU1MjAwLC0xNTM5OTk3MjAwLC0xNTIwNTQ2NDAwLC0xNTA3NTEwODAwLC0xNDkwNTY5MjAwLC0xNDczNjQyZTMsLTE0NTkxMTZlMywtMTQ0NDAwNjgwMCwtMTQyNzY3ZTQsLTE0MTE4NjZlMywtMTM5NjIyMDQwMCwtMTM3OTI5MzIwMCwtMTM2NDc3MDgwMCwtMTM0ODQ0ODQwMCwtMTMzMzMyMTIwMCwtMTMxNjM5NGUzLC0xMzAxMjY2ODAwLC0xMjg0MzM5NjAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTkxMTg5NjAwLC0xMTc1NDYxMjAwLC0xMTYwMzQ0ODAwLC0xMTQzNDA2ODAwLC0xMTI3Njg1NjAwLC0xMTExOTU3MjAwLC0xMDk2ODQwODAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzMzMzY4MDAsLTEwMTc2MDg0MDAsLTEwMDI0OTJlMywtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtOTM1MTgyODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTc5Nzk2MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMTQ3NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWRyaWQiOnt0aW1lOlstMjE3NzQ1MzY4NCwtMTYzMTkyNjgwMCwtMTYxNjg4NmUzLC0xNjAxMTY4NDAwLC0xNTg1MzVlNCwtMTQ0MjQ1MTYwMCwtMTQyNzY3ZTQsLTEzNzkyOTMyMDAsLTEzNjQ3NzA4MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjEyMDAsLTEzMTYzOTA0MDAsLTEzMDEyNjY4MDAsLTEyODQzMzk2MDAsLTEyNjk4MTcyMDAsLTEwMjY5NTRlMywtMTAxNzYxNTYwMCwtMTAwMTg5OGUzLC05OTk0Nzg4MDAsLTk4NjA4MzIwMCwtOTU0MTExNjAwLC05NDAyMDg0MDAsLTg3MzA3NTYwMCwtODYyNjE0ZTMsLTg0MjgzNTYwMCwtODI4MzEzMjAwLC04MTEzODZlMywtNzk2ODYzNjAwLC03Nzk5MzY0MDAsLTc2NTQxNGUzLC03NDg0ODY4MDAsLTczMzk2NDQwMCwtNjUyMzIzNjAwLC02MzkwMTA4MDAsMTM1MTI2ZTMsMTUwMjUzMjAwLDE2NjU3NTYwMCwxODE3MDI4MDAsMTk2ODE1NjAwLDIxMjU0NzYwMCwyMjg4N2U0LDI0Mzk5NzIwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbLTg4NCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWx0YSI6e3RpbWU6Wy0yNDAzNDc1MjAwLC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNTg0ODAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwMjM4NGUzLDExODExMjQwMCwxMzU3MzQ0MDAsMTQ4NTI1MjAwLDE2NzE5MTIwMCwxODA0OTY4MDAsMTk4NjQwODAwLDIxMTk0NjQwMCwyMzAwOTA0MDAsMjQzMzk2ZTMsMjYxNTRlNCwyNzQ4NDU2MDAsMjkyOTg5NjAwLDMwNjI5NTIwMCwzMjMzMTZlMywzMzgzNDk2MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9Nb3Njb3ciOnt0aW1lOlstMjg0MDE0MDgwMCwtMTY4ODI1NmUzLC0xNjU2ODFlNCwtMTY0MTM0MDgwMCwtMTYyNzk1NmUzLC0xNjE4NzAwNDAwLC0xNTk2NDE2NDAwLC0xNTkzODA0NTIxLC0xNTg5ODQ2NDAwLC0xNTQyNDE2NDAwLC0xNTM5NDc4ODAwLC0xNTI1MzA1NjAwLC0xNTIyNzEzNjAwLC0xNDkxMTc3NjAwLC0xMjQ3NTI5NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw2OTU3ODY0MDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTQxNDI4ODgwMCwxOTI1MDAyODAwXSxvZmZzZXQ6WzkwMTcsOTAxNyw5MDc5LDEyNjc5LDkwNzksMTYyNzksMTI2NzksMTYyNzksMTQ0MDAsMTA4MDAsMTQ0MDAsMThlMywxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDBdfSwiRXVyb3BlL09zbG8iOnsKdGltZTpbLTIzNjY3NTUyMDAsLTE2OTE4ODEyMDAsLTE2ODA1NjY0MDAsLTkyNzUwNzYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjUzMjA0MDAsLTM0MDg0MDgwMCwtMzI0NTA3NjAwLC0zMDg3ODY0MDAsLTI5MzA1OGUzLC0yNzczMzY4MDAsLTI2MTYwODQwMCwtMjQ1ODg3MjAwLC0yMzAxNTg4MDAsLTIxNDQzNzYwMCwtMTk4NzA5MjAwLC0xODI5ODhlMywtMTY2NjU0ODAwLC0xNDc5MDk2MDAsLTEzNTIwNTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9QYXJpcyI6ewp0aW1lOlstMjQ4NjU5MmUzLC0xODU1OTU4NDAwLC0xNjg5ODE0ODAwLC0xNjgwMzkzNjAwLC0xNjY1MzYzNjAwLC0xNjQ4MzM5MjAwLC0xNjM1MTIzNjAwLC0xNjE2ODg5NjAwLC0xNjA0Mjc4ODAwLC0xNTg1NDRlNCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MDYxOGUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI3MDQwMCwtMTI4NDMzOTYwMCwtMTI2OTgyMDgwMCwtMTI1MzQ5NDgwMCwtMTIzODM3MTIwMCwtMTIyMTQ0MDQwMCwtMTIwNjkyMTYwMCwtMTE5MTIwMDQwMCwtMTE3NTQ3MmUzLC0xMTYwMzU1NjAwLC0xMTQzNDE3NjAwLC0xMTI3Njk2NDAwLC0xMTExOTY4ZTMsLTEwOTY4NTE2MDAsLTEwODA1MTg0MDAsLTEwNjM1ODc2MDAsLTEwNDkwNjg4MDAsLTEwMzMzNDc2MDAsLTEwMTc2MTkyMDAsLTEwMDI1MDI4MDAsLTk4NjE2OTYwMCwtOTY5MjM4ODAwLC05NTA0ODY0MDAsLTk0MjAxMmUzLC05MzI0MzI0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTgwMDA2NGUzLC03OTYyNTg4MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDE5NjgyMjgwMCwyMTI1NDc2MDAsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1NjEsNTYxLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL1ByYWd1ZSI6ewp0aW1lOlstMzc4NjgyNTYwMCwtMjQ2OTM5ODQwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY1MzIwNDAwLC03NDY1NzUyMDAsLTczMzM1MjQwMCwtNzI4NTE0ZTMsLTcyMTI2ZTQsLTcxNjQyMTYwMCwtNzAxOTAyODAwLC02ODQ5NzJlMywtNjcwNDUzMjAwLC02NTQyMTM2MDAsLTYzOTAwMzYwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzQ2NCwzNDY0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9SaWdhIjp7CnRpbWU6Wy0yODQwMTQwODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAxNjc2ZTMsLTE1OTcyNjZlMywtMTM3NzMwMjQwMCwtOTI4MDIyNDAwLC04OTk1MTA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc5NTgzMDQwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0Mzk2NmUzLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1Nzk0LDU3OTQsOTM5NCw1Nzk0LDkzOTQsNTc5NCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvUm9tZSI6ewp0aW1lOlstMzI1MjA5NmUzLC0yNDAzNTYyMjA0LC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwNzkxMzYwMCwxMTgxOTg4MDAsMTM4NzU4NDAwLDE0OTY0ODQwMCwxNzA4MTI4MDAsMTgxMDk4ZTMsMjAyMjYyNDAwLDIxMjU0NzYwMCwyMzMxMDcyMDAsMjQzOTk3MjAwLDI2NTE2MTYwMCwyNzYwNTE2MDAsMjk2NjExMjAwLDMwNzUwMTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjk5NiwyOTk2LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvU29maWEiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTIzNjk1MmU0LC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDUyMDAsMjkxNzY5MjAwLDMwNzU4NzYwMCwzMjM4MjM2MDAsMzM5MDM3MjAwLDM1NTI3MzIwMCwzNzA0MDRlMywzODY3MjI4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM3NzYwMCw2ODYxMDI0MDAsNzAxODI3MjAwLDcxNzU1MmUzLDczMzI3NjgwMCw3NDkwMDE2MDAsNzY0NzI2NDAwLDc4MDQ1MTIwMCw3OTYxNzZlMyw4MTE5MDA4MDAsODI4MjMwNDAwLDg0NjM3NDQwMCw4NTk2OTA4MDAsODc3ODM4NDAwLDg5MTE0MDQwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzU1OTYsNzAxNiw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1N0b2NraG9sbSI6e3RpbWU6Wy0yODcxNjc2ODAwLC0yMjA4OTg4ODAwLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbNDMzMiwzNjE0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9UYWxsaW5uIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE2MzgzMTY4MDAsLTE2MzIwMDI0MDAsLTE2MTg2OTMyMDAsLTE1OTM4MjA4MDAsLTE1MzU5MzI4MDAsLTkyNzkzNmUzLC04OTI5NDRlMywtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk3NjQ0ODAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1OTQwLDU5NDAsMzYwMCw3MjAwLDM2MDAsNTk0MCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkV1cm9wZS9WaWVubmEiOnsKdGltZTpbLTI0MjIwNTEyMDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTU2OTcwOGUzLC0xNTU1Nzk0ZTMsLTkzODkwMTYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03ODAxODEyMDAsLTc0ODQ3NmUzLC03MzMyNjZlMywtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsMzIzODI3MjAwLDMzODk0NzIwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszOTIxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvVmlsbml1cyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY3MjUzMTIwMCwtMTU4NTA5NDQwMCwtMTU2MTI0OGUzLC0xNTUzNTU4NDAwLC05MjgxOTUyMDAsLTkwMDExNTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtODAyMTM3NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTQwNDAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzYwNzYsNTA0MCw1NzM2LDM2MDAsNzIwMCwzNjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCw3MjAwLDM2MDAsNzIwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1dhcnNhdyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTcxNzAyNzIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAwNDY2NDAwLC0xNTg3MTU3MjAwLC0xNTAxNzE4NDAwLC05MzE3MzA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5NjYwMDgwMCwtNzc4NzIzMjAwLC03NjI2NTI4MDAsLTc0ODQ4MzIwMCwtNzMzMjY2ZTMsLTcxNTIxMmUzLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLC0zOTcwOTA4MDAsLTM4NjgwNTYwMCwtMzcxMDg0NDAwLC0zNTUzNTZlMywtMzM0MTkxNjAwLC0zMjMzMDE2MDAsLTMwNzU4MDQwMCwtMjkxODUyZTMsLTI3MTI5MjQwMCwtMjYwNDAyNDAwLC0yMzk4NDI4MDAsLTIyODk1MjgwMCwtMjA4MzkzMjAwLC0xOTc1MDMyMDAsLTE3NjMzODgwMCwtMTY2MDUzNjAwLDIyODg3NzIwMCwyNDQwMDA4MDAsMjYwMzI2ODAwLDI3NjA1NTIwMCwyOTE3NzY0MDAsMzA3NTA0ODAwLDMyMzgzMDgwMCwzMzg5NTQ0MDAsMzU0Njc1NjAwLDM3MDQwNGUzLDM4NjEyNTIwMCw0MDE4NTM2MDAsNDE3NTc0ODAwLDQzMzMwMzIwMCw0NDkwMjQ0MDAsNDY1MzU3NjAwLDQ4MTA3ODgwMCw0OTY4MDcyMDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1MDQwLDUwNDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwxMDgwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9aYWdyZWIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszODMyLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9adXJpY2giOnt0aW1lOlstMzY3NTE5NjgwMCwtMjM4NTI0NDgwMCwtOTA0NDMxNjAwLC04OTExMjI0MDAsLTg3Mjk4MmUzLC04NTk2NzI4MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzIwNDgsMTc4NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJQYWNpZmljL0F1Y2tsYW5kIjp7dGltZTpbLTMxOTIzOTM2MDAsLTEzMzAyOTM2MDAsLTEzMjAwMTJlMywtMTMwMDY1ODQwMCwtMTI4NzM1MjgwMCwtMTI2OTIwODgwMCwtMTI1NTkwMzIwMCwtMTIzNzc1OTIwMCwtMTIyNDQ1MzYwMCwtMTIwNjMwOTYwMCwtMTE5MjM5OTIwMCwtMTE3NDg2ZTQsLTExNjA5NDk2MDAsLTExNDM0MTA0MDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtNzU3MzgyNDAwLDE1MjY3NmUzLDE2MjM1NjQwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTAxMTY0MDAsNTMwNjc2ZTMsNTQxNTY2ZTMsNTYyMTI1NjAwLDU3MzYyMDQwMCw1OTQxOGU0LDYwNTA3ZTQsNjIzODE1MjAwLDYzNzcyOTIwMCw2NTUyNjQ4MDAsNjY5MTc4ODAwLDY4NjcxNDQwMCw3MDA2Mjg0MDAsNzE4MTY0ZTMsNzMyNjgyODAwLDc0OTYxMzYwMCw3NjQxMzI0MDAsNzgxMDYzMjAwLDc5NTU4MmUzLDgxMjUxMjgwMCw4MjcwMzE2MDAsODQ0NTY3MjAwLDg1ODQ4MTIwMCw4NzYwMTY4MDAsODg5OTMwODAwLDkwNzQ2NjQwMCw5MjE5ODUyMDAsOTM4OTE2ZTMsOTUzNDM0ODAwLDk3MDM2NTYwMCw5ODQ4ODQ0MDAsMTAwMjQyZTQsMTAxNjMzNGUzLDEwMzM4Njk2MDAsMTA0Nzc4MzYwMCwxMDY1MzE5MjAwLDEwNzk4MzhlMywxMDk2NzY4ODAwLDExMTEyODc2MDAsMTEyODIxODQwMCwxMTQyNzM3MjAwLDExNTk2NjhlMywxMTc0MTg2ODAwLDExOTExMTc2MDAsMTIwNzQ1MDgwMCwxMjIyNTY3MjAwLDEyMzg5MDA0MDAsMTI1NDAxNjgwMCwxMjcwMzVlNCwxMjg1NDY2NDAwLDEzMDE3OTk2MDAsMTMxNjkxNmUzLDEzMzMyNDkyMDAsMTM0ODk3MDQwMCwxMzY1MzAzNjAwLDEzODA0MmU0LDEzOTY3NTMyMDAsMTQxMTg2OTYwMCwxNDI4MjAyODAwLDE0NDMzMTkyMDAsMTQ1OTY1MjQwMCwxNDc0NzY4ODAwLDE0OTExMDJlMywxNTA2MjE4NDAwLDE1MjI1NTE2MDAsMTUzODI3MjgwMCwxNTU0NjA2ZTMsMTU2OTcyMjQwMCwxNTg2MDU1NjAwLDE2MDExNzJlMywxNjE3NTA1MjAwLDE2MzI2MjE2MDAsMTY0ODk1NDgwMCwxNjY0MDcxMjAwLDE2ODA0MDQ0MDAsMTY5NTUyMDgwMCwxNzEyNDU4ODAwLDE3Mjc1NzUyMDAsMTc0MzkwODQwMCwxNzU5MDI0ODAwLDE3NzUzNThlMywxNzkwNDc0NDAwLDE4MDY4MDc2MDAsMTgyMTkyNGUzLDE4MzgyNTcyMDAsMTg1MzM3MzYwMCwxODY5NzA2ODAwLDE4ODU0MjhlMywxOTAxNzYxMjAwLDE5MTY4Nzc2MDAsMTkzMzIxMDgwMF0sb2Zmc2V0Ols0MTk0NCw0MTQwMCw0NWUzLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwXX0sIlBhY2lmaWMvQ2hhdGhhbSI6ewp0aW1lOlstMzE5MjM5MzYwMCwtNzU3MzgyNDAwLDE1MjY3ODcwMCwxNjIzNTkxMDAsMTgzNTIzNTAwLDE5NTAxODMwMCwyMTU1Nzc5MDAsMjI2NDY3OTAwLDI0NzAyNzUwMCwyNTc5MTc1MDAsMjc4NDc3MTAwLDI4OTM2NzEwMCwzMDk5MjY3MDAsMzIwODE2NzAwLDM0MTM3NjMwMCwzNTIyNjYzMDAsMzcyODI1OTAwLDM4NDMyMDcwMCw0MDQ4ODAzMDAsNDE1NzcwMzAwLDQzNjMyOTkwMCw0NDcyMTk5MDAsNDY3Nzc5NTAwLDQ3ODY2OTUwMCw0OTkyMjkxMDAsNTEwMTE5MTAwLDUzMDY3ODcwMCw1NDE1Njg3MDAsNTYyMTI4MzAwLDU3MzYyMzEwMCw1OTQxODI3MDAsNjA1MDcyNzAwLDYyMzgxNzkwMCw2Mzc3MzE5MDAsNjU1MjY3NTAwLDY2OTE4MTUwMCw2ODY3MTcxMDAsNzAwNjMxMTAwLDcxODE2NjcwMCw3MzI2ODU1MDAsNzQ5NjE2MzAwLDc2NDEzNTEwMCw3ODEwNjU5MDAsNzk1NTg0NzAwLDgxMjUxNTUwMCw4MjcwMzQzMDAsODQ0NTY5OTAwLDg1ODQ4MzkwMCw4NzYwMTk1MDAsODg5OTMzNTAwLDkwNzQ2OTEwMCw5MjE5ODc5MDAsOTM4OTE4NzAwLDk1MzQzNzUwMCw5NzAzNjgzMDAsOTg0ODg3MTAwLDEwMDI0MjI3MDAsMTAxNjMzNjcwMCwxMDMzODcyMzAwLDEwNDc3ODYzMDAsMTA2NTMyMTkwMCwxMDc5ODQwNzAwLDEwOTY3NzE1MDAsMTExMTI5MDMwMCwxMTI4MjIxMTAwLDExNDI3Mzk5MDAsMTE1OTY3MDcwMCwxMTc0MTg5NTAwLDExOTExMjAzMDAsMTIwNzQ1MzUwMCwxMjIyNTY5OTAwLDEyMzg5MDMxMDAsMTI1NDAxOTUwMCwxMjcwMzUyNzAwLDEyODU0NjkxMDAsMTMwMTgwMjMwMCwxMzE2OTE4NzAwLDEzMzMyNTE5MDAsMTM0ODk3MzEwMCwxMzY1MzA2MzAwLDEzODA0MjI3MDAsMTM5Njc1NTkwMCwxNDExODcyMzAwLDE0MjgyMDU1MDAsMTQ0MzMyMTkwMCwxNDU5NjU1MTAwLDE0NzQ3NzE1MDAsMTQ5MTEwNDcwMCwxNTA2MjIxMTAwLDE1MjI1NTQzMDAsMTUzODI3NTUwMCwxNTU0NjA4NzAwLDE1Njk3MjUxMDAsMTU4NjA1ODMwMCwxNjAxMTc0NzAwLDE2MTc1MDc5MDAsMTYzMjYyNDMwMCwxNjQ4OTU3NTAwLDE2NjQwNzM5MDAsMTY4MDQwNzEwMCwxNjk1NTIzNTAwLDE3MTI0NjE1MDAsMTcyNzU3NzkwMCwxNzQzOTExMTAwLDE3NTkwMjc1MDAsMTc3NTM2MDcwMCwxNzkwNDc3MTAwLDE4MDY4MTAzMDAsMTgyMTkyNjcwMCwxODM4MjU5OTAwLDE4NTMzNzYzMDAsMTg2OTcwOTUwMCwxODg1NDMwNzAwLDE5MDE3NjM5MDAsMTkxNjg4MDMwMCwxOTMzMjEzNTAwXSxvZmZzZXQ6WzQ0MDI4LDQ0MTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwXX0sIlBhY2lmaWMvRmFrYW9mbyI6e3RpbWU6Wy0yMTc3NDUyODAwLDEzMjUyMDMyMDAsMTkyNTAzODgwMF0sb2Zmc2V0OlstNDEwOTYsLTM5NjAwLDQ2ODAwXX0sIlBhY2lmaWMvSG9ub2x1bHUiOnt0aW1lOlstMjMzNDEzOTIwMCwtMTE1NzMyMDgwMCwtMTE1NTQ3MDQwMCwtODgwMjM2ZTMsLTc2OTQyOTgwMCwtNzY1NDEwNDAwLC03MTIxODhlMywxOTI0OTU2ZTNdLG9mZnNldDpbLTM3ODg2LC0zNzgwMCwtMzQyMDAsLTM3ODAwLC0zNDIwMCwtMzQyMDAsLTM3ODAwLC0zNmUzXX0sIlBhY2lmaWMvTm9yZm9sayI6e3RpbWU6Wy0yMTc3NDUyODAwLC01OTk2MTZlMywxNTIwNzEyMDAsMTYyOTYxMjAwLDE0NDM5MjRlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzQwMzEyLDQwMzIwLDQxNDAwLDQ1ZTMsNDE0MDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDBdfSwiVVMvTW91bnRhaW4iOnsKdGltZTpbLTI3MTc2Njg3OTYsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTE1NzAzOTkyMDAsLTE1NTE2NTA0MDAsLTE1Mzg5NDk2MDAsLTE1MzQxMTEyMDAsLTg4MDIzNmUzLC03Njk0MTcyMDAsLTc2NTQxMDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sb2Zmc2V0OlstMjUxOTYsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDBdfX19fV0pOw=="}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/56252.2b82f575ba1ceb54fa29.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.690Z","timestamp":1785141584690,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/56252.2b82f575ba1ceb54fa29.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b71-53a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9bb162eac27d9b1e4207dd8fa171725b\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1338,"size_decoded":1088,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1338), with no line terminators","md5":"272e9884ff18ecde00e6bbe6ba06878b","sha1":"6a2d777adf9bfb4226124e67b1c8b6502a80d59c","sha256":"3dc13cb5344c62a4a6fec134fe9299cec0caec608238263f8e302db4d3349897","sha512":"9eca5419c42ab9d42e5bd3f970e2165b06e9be445886dc0d1a4e8130bfe731b076ed63b12ec6c8ec2fbb512a50ce326719575e5ddc215c8e035243acdd22625a","ssdeep":"","tlshash":"9821c888f3719fb3bf2325ac126ca42d79916eb8fdd2bae570b5961503e0bf18701614","first_seen":"2024-11-26T05:27:28.178302Z","last_seen":"2026-07-27T14:50:15.307096Z","times_seen":2839,"resource_available":false,"data":"Lmljb24td3JhcHBlci1kaWtkZXd3eDphY3RpdmUsLmljb24td3JhcHBlci1kaWtkZXd3eDpmb2N1c3tjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvcix2YXIoLS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pY29uLXdyYXBwZXItZGlrZGV3d3g6aG92ZXJ7Y29sb3I6dmFyKC0tdWktbGliLWljb24tcWktY29sb3IsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcikpfX1AbWVkaWEgKGhvdmVyOmhvdmVyKSBhbmQgKHBvaW50ZXI6ZmluZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pY29uLXdyYXBwZXItZGlrZGV3d3g6aG92ZXJ7Y29sb3I6dmFyKC0tdWktbGliLWljb24tcWktY29sb3ItaG92ZXIsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1ob3ZlcikpfX0uaWNvbi13cmFwcGVyLWRpa2Rld3d4OmFjdGl2ZXtjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1hY3RpdmUsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmUpKX19LndpdGgtbGluay1kaWtkZXd3eHtjdXJzb3I6cG9pbnRlcn1AbWVkaWEgKGhvdmVyOm5vbmUpIGFuZCAocG9pbnRlcjpjb2Fyc2Upey53aXRoLXRvb2x0aXAtZGlrZGV3d3g6Zm9jdXMtdmlzaWJsZXtjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1ob3Zlcix2YXIoLS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yLWhvdmVyKSl9Ym9keTpoYXMoI3Rvb2x0aXAtcm9vdC1lbGVtZW50ICopIC53aXRoLXRvb2x0aXAtZGlrZGV3d3g6Zm9jdXN7Y29sb3I6dmFyKC0tdWktbGliLWljb24tcWktY29sb3ItaG92ZXIsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtib2R5OmhhcygjdG9vbHRpcC1yb290LWVsZW1lbnQgKikgLndpdGgtdG9vbHRpcC1kaWtkZXd3eDpob3Zlcntjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1ob3Zlcix2YXIoLS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yLWhvdmVyKSl9fWJvZHk6aGFzKCN0b29sdGlwLXJvb3QtZWxlbWVudCAqKSAud2l0aC10b29sdGlwLWRpa2Rld3d4OmFjdGl2ZXtjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1hY3RpdmUsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmUpKX19Lm5vLWFjdGl2ZS1zdGF0ZS1kaWtkZXd3eHstLXVpLWxpYi1pY29uLXFpLWNvbG9yLWFjdGl2ZTp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1ob3Zlcix2YXIoLS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yLWhvdmVyKSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80639.93402c009a27b4660c7b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.772Z","timestamp":1785141584772,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/80639.93402c009a27b4660c7b.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-8b\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 613cb1293a2e93f34d2e01c8aa5abf6e\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":139,"size_decoded":920,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"2faeea5bc235cb9ea4b573fb2a53b0d1","sha1":"c7e2a2b388edcf4bec4dce73bcfdd08d44b612a9","sha256":"8d1688c131c79f862e429de6507fa33049831254957d7218d945cee5cfc55e00","sha512":"6d47c18f801752be93b3f3c2c844704bfccaa800c25ece5507725d97e2a1bde8e419ef5029eb7670612b44ed976b6a25c0f4d4908b0476ad5cf3f5cae5e92cef","ssdeep":"","tlshash":"43c02b4c812ec441c8d70e42f4cce7041cdb1023006e460b820e0c284cfb4760b10f3c","first_seen":"2023-04-17T07:26:30Z","last_seen":"2026-07-27T14:50:15.445465Z","times_seen":1226,"resource_available":false,"data":"QGZvbnQtZmFjZXtmb250LWZhbWlseTpFdWNsaWRDaXJjdWxhcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7c3JjOnVybChFdWNsaWRDaXJjdWxhci5iZThmODYyZGI0OGMyOTc2MDA5Zi53b2ZmMikgZm9ybWF0KCJ3b2ZmMiIpfQ=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/68579.c01874ae93fcee94b388.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.148Z","timestamp":1785141585148,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/68579.c01874ae93fcee94b388.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-2a1f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:04:00\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7cb9ff5f7ef6bd2f040a097442dbd971\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":10783,"size_decoded":2690,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (10783), with no line terminators","md5":"fa7f8fb2c882b86ce2297d5ec8f8c3c7","sha1":"7dcc4c932f65d8e4a4f494adfd8b07ffc516474d","sha256":"55a37e974c0ac5f66b82653439edbb40d4dee8124dd99c20e4ac3ebe71fb8b1a","sha512":"e3066a983701dbede5a2ca78ea4e2772cf475dd653f0abcea2f4361bcebf6af3e7f15be3601d1e9d13cb51435e38e2ddd68801a0e79192a3811394a95495b136","ssdeep":"48:aXKwKDRwKhJ+wKrq+hYy9F9ChMdYny9F9Cvq5OfG9i9EMdYny9599cYny9F9Xvje:aXk1yubv92vhg+nmMKTzU3VSIfnmM55A","tlshash":"4022324c51c8ed3a3c2745f6f31c96fe11649ca8db261edbb6ed782a04c17f101b961a","first_seen":"2026-07-19T21:33:34.112713Z","last_seen":"2026-07-27T12:48:39.747823Z","times_seen":56,"resource_available":false,"data":"LndyYXBwZXItZVRmR0RhRXJ7bWF4LXdpZHRoOjEwMCU7d2lkdGg6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC13aWR0aCxhdXRvKX0uc3RyZXRjaC1lVGZHRGFFcnstLXVpLWxpYi1wcml2YXRlLXBpbGwtd2lkdGg6MTAwJX0uZGlzYWJsZWQtZVRmR0RhRXJ7b3BhY2l0eTouNX0uc3F1YXJlLWVUZkdEYUVyey0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXM6NnB4fS54c21hbGwtZVRmR0RhRXJ7LS11aS1saWItcHJpdmF0ZS1waWxsLWhlaWdodDoyOHB4O2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0ueHNtYWxsLWVUZkdEYUVyLnJvdW5kLWVUZkdEYUVyey0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXM6MTRweH0uc21hbGwtZVRmR0RhRXJ7LS11aS1saWItcHJpdmF0ZS1waWxsLWhlaWdodDozNHB4O2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0uc21hbGwtZVRmR0RhRXIucm91bmQtZVRmR0RhRXJ7LS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1czoxN3B4fS5tZWRpdW0tZVRmR0RhRXJ7LS11aS1saWItcHJpdmF0ZS1waWxsLWhlaWdodDo0MHB4O2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0ubWVkaXVtLWVUZkdEYUVyLnJvdW5kLWVUZkdEYUVyey0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXM6MjBweH0ucHJpbWFyeS1lVGZHRGFFcnstLXVpLWxpYi1wcml2YXRlLXBpbGwtYm9yZGVyOm5vbmU7LS11aS1saWItcHJpdmF0ZS1waWxsLWRlZmF1bHQtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1ob3Zlci1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItcHJpdmF0ZS1waWxsLWFjdGl2ZS1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpOy0tdWktbGliLXByaXZhdGUtcGlsbC1kaXZpZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpOy0tdWktbGliLXByaXZhdGUtcGlsbC10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1hY3RpdmUtdGV4dDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKX0uc2Vjb25kYXJ5LWVUZkdEYUVyey0tdWktbGliLXByaXZhdGUtcGlsbC1ib3JkZXI6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1kZWZhdWx0LWJhY2tncm91bmQ6IzAwMDA7LS11aS1saWItcHJpdmF0ZS1waWxsLWhvdmVyLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1wcml2YXRlLXBpbGwtYWN0aXZlLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1wcml2YXRlLXBpbGwtZGl2aWRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1wcml2YXRlLXBpbGwtdGV4dDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXBpbGwtYWN0aXZlLXRleHQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCl9LnRlcnRpYXJ5LWVUZkdEYUVyey0tdWktbGliLXByaXZhdGUtcGlsbC1ib3JkZXI6bm9uZTstLXVpLWxpYi1wcml2YXRlLXBpbGwtZGVmYXVsdC1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXBpbGwtaG92ZXItYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1waWxsLWFjdGl2ZS1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXBpbGwtZGl2aWRlci1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtKTstLXVpLWxpYi1wcml2YXRlLXBpbGwtdGV4dDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItcHJpdmF0ZS1waWxsLWFjdGl2ZS10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKX0ucXVhcnRlcmx5LWVUZkdEYUVyey0tdWktbGliLXByaXZhdGUtcGlsbC1ib3JkZXI6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1kZWZhdWx0LWJhY2tncm91bmQ6IzAwMDA7LS11aS1saWItcHJpdmF0ZS1waWxsLWhvdmVyLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1wcml2YXRlLXBpbGwtYWN0aXZlLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1wcml2YXRlLXBpbGwtZGl2aWRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1wcml2YXRlLXBpbGwtdGV4dDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCk7LS11aS1saWItcHJpdmF0ZS1waWxsLWFjdGl2ZS10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpfS5naG9zdC1lVGZHRGFFcnstLXVpLWxpYi1wcml2YXRlLXBpbGwtYm9yZGVyOm5vbmU7LS11aS1saWItcHJpdmF0ZS1waWxsLWRlZmF1bHQtYmFja2dyb3VuZDojMDAwMDstLXVpLWxpYi1wcml2YXRlLXBpbGwtaG92ZXItYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1hY3RpdmUtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1kaXZpZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtcGlsbC10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tdWktbGliLXByaXZhdGUtcGlsbC1hY3RpdmUtdGV4dDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKX0ucGlsbC1lVGZHRGFFcntiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtZGVmYXVsdC1iYWNrZ3JvdW5kKTtib3JkZXItcmFkaXVzOnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKTtjb2xvcjp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXRleHQpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1oZWlnaHQpO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21heC13aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtd2lkdGgsZml0LWNvbnRlbnQpfS5waWxsLWVUZkdEYUVyOmJlZm9yZXtib3JkZXI6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1ib3JkZXIpO2JvcmRlci1yYWRpdXM6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIgIjtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDowfUBrZXlmcmFtZXMgcGlsbC1mb2N1cy1vdXRsaW5lLWJsaW5raW5nLWFmdGVyLWludHJvLWVUZkdEYUVyezAle29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fUBrZXlmcmFtZXMgcGlsbC1mb2N1cy1vdXRsaW5lLWJsaW5raW5nLWFmdGVyLWVUZkdEYUVyezAle29wYWNpdHk6MX01MCV7b3BhY2l0eTo0MCV9dG97b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHBpbGwtZm9jdXMtb3V0bGluZS1ibGlua2luZy1mb3JlZ3JvdW5kLWVUZkdEYUVyezAle29wYWNpdHk6MH10b3tvcGFjaXR5OjMwJX19QGtleWZyYW1lcyBwaWxsLWZvY3VzLW91dGxpbmUtaGlnaGxpZ2h0aW5nLWFuaW1hdGlvbi1mb3JlZ3JvdW5kLWVUZkdEYUVyezAle2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7b3BhY2l0eTowfTguNSV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7b3BhY2l0eTozMCV9NDguNSV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDtvcGFjaXR5OjMwJX10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgcGlsbC1mb2N1cy1vdXRsaW5lLWhpZ2hsaWdodGluZy1hbmltYXRpb24tYWZ0ZXItZVRmR0RhRXJ7MCV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDtvcGFjaXR5OjB9OC41JXthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjtvcGFjaXR5OjF9MjguNSV7b3BhY2l0eTo0MCV9NDguNSV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDtvcGFjaXR5OjF9dG97b3BhY2l0eTowfX0uYmxpbmtBbmltYXRpb24tZVRmR0RhRXJ7cG9zaXRpb246cmVsYXRpdmV9LmJsaW5rQW5pbWF0aW9uLWVUZkdEYUVyOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1cykgKyA0cHgpO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtkaXNwbGF5OmJsb2NrO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxfS5ibGlua0FuaW1hdGlvbi1lVGZHRGFFci5ibGlua2luZy1lVGZHRGFFcjphZnRlcnthbmltYXRpb246cGlsbC1mb2N1cy1vdXRsaW5lLWJsaW5raW5nLWFmdGVyLWludHJvLWVUZkdEYUVyIC4ycyBlYXNlLW91dCBmb3J3YXJkcyxwaWxsLWZvY3VzLW91dGxpbmUtYmxpbmtpbmctYWZ0ZXItZVRmR0RhRXIgLjdzIGxpbmVhciAuMnMgaW5maW5pdGV9LmJsaW5rQW5pbWF0aW9uLWVUZkdEYUVyLmJsaW5raW5nLWVUZkdEYUVyIC5ibGlua0ZvcmVncm91bmQtZVRmR0RhRXJ7YW5pbWF0aW9uOnBpbGwtZm9jdXMtb3V0bGluZS1ibGlua2luZy1mb3JlZ3JvdW5kLWVUZkdEYUVyIC4ycyBlYXNlLW91dCBmb3J3YXJkc30uYmxpbmtBbmltYXRpb24tZVRmR0RhRXIuaGlnaGxpZ2h0aW5nLWVUZkdEYUVyOmFmdGVye2FuaW1hdGlvbi1kdXJhdGlvbjoxLjc1czthbmltYXRpb24tbmFtZTpwaWxsLWZvY3VzLW91dGxpbmUtaGlnaGxpZ2h0aW5nLWFuaW1hdGlvbi1hZnRlci1lVGZHRGFFcn0uYmxpbmtBbmltYXRpb24tZVRmR0RhRXIuaGlnaGxpZ2h0aW5nLWVUZkdEYUVyIC5ibGlua0ZvcmVncm91bmQtZVRmR0RhRXJ7YW5pbWF0aW9uLWR1cmF0aW9uOjEuNzVzO2FuaW1hdGlvbi1uYW1lOnBpbGwtZm9jdXMtb3V0bGluZS1oaWdobGlnaHRpbmctYW5pbWF0aW9uLWZvcmVncm91bmQtZVRmR0RhRXJ9LmJsaW5rRm9yZWdyb3VuZC1lVGZHRGFFcntiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZSk7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKSArIDJweCk7aGVpZ2h0OmNhbGMoMTAwJSArIDRweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi0ycHg7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0ycHg7d2lkdGg6Y2FsYygxMDAlICsgNHB4KTt6LWluZGV4OjEwfS5hY3RpdmVBcmVhLXh6QXRGbWxFey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y29sb3I6aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O292ZXJmbG93OnZpc2libGU7cGFkZGluZzowO3RleHQtYWxpZ246c3RhcnQ7LS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZExlZnQ6MTstLXVpLWxpYi1wcml2YXRlLXBpbGxBY3RpdmVBcmVhLXJvdW5kUmlnaHQ6MTtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpKnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGxBY3RpdmVBcmVhLXJvdW5kTGVmdCkpIGNhbGModmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpKnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGxBY3RpdmVBcmVhLXJvdW5kUmlnaHQpKSBjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKSp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZFJpZ2h0KSkgY2FsYyh2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1cykqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRMZWZ0KSk7ZmxleC1iYXNpczpjb250ZW50O2hlaWdodDoxMDAlO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO291dGxpbmU6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTt3aGl0ZS1zcGFjZTpub3dyYXA7ei1pbmRleDozfS5hY3RpdmVBcmVhLXh6QXRGbWxFOm5vdCg6bnRoLWNoaWxkKDIpKXstLXVpLWxpYi1wcml2YXRlLXBpbGxBY3RpdmVBcmVhLXJvdW5kTGVmdDowfS5hY3RpdmVBcmVhLXh6QXRGbWxFOm5vdCg6bGFzdC1jaGlsZCl7LS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZFJpZ2h0OjA7Ym9yZGVyLWlubGluZS1lbmQ6MXB4IHNvbGlkIHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtZGl2aWRlci1jb2xvcil9LmFjdGl2ZUFyZWEteHpBdEZtbEU6ZGlyKHJ0bCl7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKSp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZFJpZ2h0KSkgY2FsYyh2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1cykqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRMZWZ0KSkgY2FsYyh2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1cykqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRMZWZ0KSkgY2FsYyh2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1cykqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRSaWdodCkpfS5hY3RpdmVBcmVhQ29udGVudC14ekF0Rm1sRXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX0ubm9TdHJldGNoLXh6QXRGbWxFe2ZsZXgtZ3JvdzowO2ZsZXgtc2hyaW5rOjB9LnN0cmV0Y2gteHpBdEZtbEV7ZmxleC1ncm93OjE7ZmxleC1zaHJpbms6MX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmFjdGl2ZUFyZWEteHpBdEZtbEUuaGFzQ2xpY2tMaXN0ZW5lci14ekF0Rm1sRTpub3QoLmRpc2FibGVkLXh6QXRGbWxFKTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtaG92ZXItYmFja2dyb3VuZCl9fS5hY3RpdmVBcmVhLXh6QXRGbWxFLmhhc0NsaWNrTGlzdGVuZXIteHpBdEZtbEU6bm90KC5kaXNhYmxlZC14ekF0Rm1sRSkuc2VsZWN0ZWQteHpBdEZtbEUsLmFjdGl2ZUFyZWEteHpBdEZtbEUuaGFzQ2xpY2tMaXN0ZW5lci14ekF0Rm1sRTpub3QoLmRpc2FibGVkLXh6QXRGbWxFKTpub3QoLnNlbGVjdGVkLXh6QXRGbWxFKTphY3RpdmV7YmFja2dyb3VuZDp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLWFjdGl2ZS1iYWNrZ3JvdW5kKX0uYWN0aXZlQXJlYS14ekF0Rm1sRTpmb2N1cy12aXNpYmxlPi5hY3RpdmVBcmVhQ29udGVudC14ekF0Rm1sRTphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKX0uYWN0aXZlQXJlYS14ekF0Rm1sRTpmb2N1cy12aXNpYmxlPi5hY3RpdmVBcmVhQ29udGVudC14ekF0Rm1sRTphZnRlcntib3JkZXItcmFkaXVzOmNhbGMoKDRweCArIHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKSkqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRMZWZ0KSkgY2FsYygoNHB4ICsgdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpKSp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZFJpZ2h0KSkgY2FsYygoNHB4ICsgdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpKSp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZFJpZ2h0KSkgY2FsYygoNHB4ICsgdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpKSp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZExlZnQpKTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7ZGlzcGxheTpibG9jaztoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxO3otaW5kZXg6NH0uYWN0aXZlQXJlYS14ekF0Rm1sRTpmb2N1cy12aXNpYmxlPi5hY3RpdmVBcmVhQ29udGVudC14ekF0Rm1sRTphZnRlcjpkaXIocnRsKXtib3JkZXItcmFkaXVzOmNhbGMoKDRweCArIHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKSkqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRSaWdodCkpIGNhbGMoKDRweCArIHZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtcmFkaXVzKSkqdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbEFjdGl2ZUFyZWEtcm91bmRMZWZ0KSkgY2FsYygoNHB4ICsgdmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1yYWRpdXMpKSp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsQWN0aXZlQXJlYS1yb3VuZExlZnQpKSBjYWxjKCg0cHggKyB2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXJhZGl1cykpKnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGxBY3RpdmVBcmVhLXJvdW5kUmlnaHQpKX0uY2hpbGRyZW4teHpBdEZtbEV7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47d2lkdGg6MTAwJX0ubGF5b3V0RXF1aWxhdGVyYWwtcGo4ckpWaFp7YWxpZ24taXRlbXM6Y2VudGVyO2FzcGVjdC1yYXRpbzoxO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi13aWR0aDowfS5wcmltYXJ5VGV4dC1EWGNvQ1YySntjb2xvcjp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXRleHQpO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ucHJpbWFyeVRleHQtRFhjb0NWMko6ZW1wdHl7ZGlzcGxheTpub25lfS5hY3RpdmVUZXh0LWNuMEduT0Jke292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uYWN0aXZlVGV4dC1jbjBHbk9CZDplbXB0eXtkaXNwbGF5Om5vbmV9LmFjdGl2ZVRleHQtY24wR25PQmR7Y29sb3I6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1hY3RpdmUtdGV4dCk7Zm9udC13ZWlnaHQ6NjAwfQ=="}},"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/80041.ff2e3df963d58c1771f5.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.153Z","timestamp":1785141585153,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/80041.ff2e3df963d58c1771f5.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a476ed7-f2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 03 Jul 2026 08:12:07 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/03/2026 10:54:54\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 264a1bd6215b7e05187d37ebe4f94b4f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":242,"size_decoded":911,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"0debe78b8515cd9552f555755ca4765a","sha1":"f0e49e0f11bef9dacbb2b363e83869a3d411bfca","sha256":"bec333c559918a8efa7275890ccafed19705d322978b1c641d89b13d03fc97dd","sha512":"d939aa5f7bf5c021dadb5dda0bcd5744e5e73e8c9099a9081209787978ca5127b90a9c91ac0751ce33d935344733b72071d818091a1fbc9a4ee41fb2f5039880","ssdeep":"","tlshash":"3cd05e8bfb412bbda829019805a0236b5f38aca9b2224f0c7541976186c68f31814881","first_seen":"2026-07-04T06:34:19.697277Z","last_seen":"2026-07-27T12:48:39.722002Z","times_seen":89,"resource_available":false,"data":"LmNvbnRhaW5lci1haTkzREpWd3tib3R0b206MDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxNXB4fS5jb250YWluZXItYWk5M0RKVncgLnZpc2libGUtYWk5M0RKVnd7ZGlzcGxheTpmbGV4IWltcG9ydGFudH0uY29udGFpbmVyLWFpOTNESlZ3IC5mb3JjZVZpc2libGUtYWk5M0RKVnd7ZGlzcGxheTpmbGV4IWltcG9ydGFudDtwb2ludGVyLWV2ZW50czpub25lIWltcG9ydGFudH0="}},"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":"oxlofttrd.com/wp-content/themes/ashley/style.css?ver=7.0.2","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.884Z","timestamp":1785141582884,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/themes/ashley/style.css?ver=7.0.2 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://oxlofttrd.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:55:08 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 18577\r\nKeep-Alive: timeout=5, max=100\r\nConnection: Keep-Alive\r\nContent-Type: text/css\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":139878,"size_decoded":18930,"mime_type":"text/css","magic":"ASCII text","md5":"58dbd569c30d9fabe2a967dbe89d43c6","sha1":"952c90e19054ca69928c0f7517483531dc2b47f9","sha256":"df7130d3346f023e1089d16ad770ce28a5ecb8a024150031ce2f8bcc68676071","sha512":"85832688bbab9854605bd769cf92232ea1e6cef022cd965f1a412b1a31963720358662d4bc6c5c62d289d7d0bd888305bd7c17194f969277ee9123017234c048","ssdeep":"1536:hxSpdjMT4jyEdSdeN8xGbglgo0sUKtsRrmvUbhsZv1I0I75p5pvLdudLdt/6UmUU:nlg4Fyu0+qyXc19jdK8","tlshash":"b8d376d66ee11904641bd55c5bda4b38e37c9003ea0eedfab5cd6009cf8dad940ce78a","first_seen":"2026-07-27T06:14:34.175782Z","last_seen":"2026-07-27T12:12:28.849766Z","times_seen":5,"resource_available":false,"data":"LyohClRoZW1lIE5hbWU6IEFzaGxleQpUaGVtZSBVUkk6IGh0dHBzOi8vYnNsdGhlbWVzLmNvbS8KQXV0aG9yOiBic2x0aGVtZXMKQXV0aG9yIFVSSTogaHR0cHM6Ly9ic2x0aGVtZXMuY29tLwpEZXNjcmlwdGlvbjogQXNobGV5IC0gQ3JlYXRpdmUgUG9ydGZvbGlvIFdvcmRQcmVzcyBUaGVtZQpSZXF1aXJlcyBhdCBsZWFzdDogNS4wClJlcXVpcmVzIFBIUDogNy40ClRlc3RlZCB1cCB0bzogNi43LjEKVmVyc2lvbjogMS42LjAKTGljZW5zZTogR2VuZXJhbCBQdWJsaWMgTGljZW5zZQpMaWNlbnNlIFVSSTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sClRleHQgRG9tYWluOiBhc2hsZXkKVGFnczogZnVsbC13aWR0aC10ZW1wbGF0ZSwgZWRpdG9yLXN0eWxlLCBmZWF0dXJlZC1pbWFnZXMsIHN0aWNreS1wb3N0LCB0aHJlYWRlZC1jb21tZW50cywgdHJhbnNsYXRpb24tcmVhZHksIHRoZW1lLW9wdGlvbnMKKi8KCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCjEuIGNvbW1vbgogICAgLSBtYWluCiAgICAtIHR5cG9ncmFwaHkKICAgIC0gaW1hZ2VzCiAgICAtIHNvY2lhbAogICAgLSBjb2xvciBiYWNrZ3JvdW5kcwogICAgLSBidXR0b24KICAgIC0gbGluawogICAgLSBiYWRnZQogICAgLSBzcGFjZXMKMi4gZnJhbWUKICAgIC0gbWFpbgogICAgLSBwcmVsb2FkZXIKICAgIC0gY3Vyc29yCiAgICAtIGN1c3RvbSBzY3JvbGxiYXIKICAgIC0gcGFnZSB0cmFuc2l0aW9ucwozLiBjb21wb25lbnRzCiAgICAtIGRvdHMKICAgIC0gY292ZXIKICAgIC0gaW1hZ2UgZnJhbWUKICAgIC0gY2FyZHMKICAgIC0gb3ZlcmxheQogICAgLSBwb3J0Zm9saW8gaXRlbXMKICAgIC0gcGFydG5lcnMKICAgIC0gaWNvbiBib3gKICAgIC0gZmllbGRzCiAgICAtIHJldmlld3MKICAgIC0gcGFnaW5hdGlvbgogICAgLSBhY2NvcmRpb24KICAgIC0gcHJpY2VzCiAgICAtIDQwNAo0LiBzZWN0aW9ucwogICAgLSBuYXZpZ2F0aW9uCiAgICAtIHBhcnRuZXJzCiAgICAtIGNvdW50ZXJzCiAgICAtIGFib3V0CiAgICAtIGZvb3RlcnMKICAgIC0gaW5zdGFncmFtCiAgICAtIHNlcnZpY2VzCiAgICAtIHZpZGVvCiAgICAtIHJldmlld3MKICAgIC0gc3Vic2NyaWJlCiAgICAtIG1hcAogICAgLSBwb3J0Zm9saW8KNS4gY3VzdG9tCiAgICAtIGZhbmN5Ym94CiAgICAtIHN3aXBlcgo2LiB0ZW1wbGF0ZS1zdHlsZXMKICAgIC0gbG9nbwogICAgLSBoZXJvCiAgICAtIHNjcm9sbCBoaW50IDEKICAgIC0gc21hbGwgYmFubmVyCiAgICAtIGNvbnRlbnQgZnJhbWUKICAgIC0gdGVhbQogICAgLSByZXZpZXdzCiAgICAtIGhlcm8gMgogICAgLSBoZXJvIDMKICAgIC0gc2Nyb2xsIGhpbnQgMgogICAgLSBzZXJ2aWNlIGNhcmQKICAgIC0gcHJvamVjdCBpbmZvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoxLiBjb21tb24KICAgIC0gbWFpbgogICAgLSB0eXBvZ3JhcGh5CiAgICAtIGxpbmsKICAgIC0gYnV0dG9uCiAgICAtIGZvcm0KICAgIC0gYnJlYWRjcnVtYnMKICAgIC0gYmFja2dyb3VuZHMKICAgIC0gc3BhY2VzCjIuIGNvbXBvbmVudHMKICAgIC0gcHJlbG9hZGVyCiAgICAtIGN1cnNvcgogICAgLSBoaWRkZW4gZWxlbWVudHMKICAgIC0gc2Nyb2xsYmFyCiAgICAtIGZyYW1lCiAgICAtIG1lbnUgYnV0dG9uCiAgICAtIG1lbnUgCiAgICAtIGJhbm5lcgogICAgLSBjaXJjbGUgdGV4dAogICAgLSBsaW5lcwogICAgLSBkb2RlY2FoZWRyb24KICAgIC0gYWJvdXQKICAgIC0gcGFydG5lcnMKICAgIC0gc2VydmljZXMKICAgIC0gdGVhbQogICAgLSBzb2NpYWwgaWNvbnMKICAgIC0gcmV2aWV2cwogICAgLSBibG9nCiAgICAtIGZvb3RlcgogICAgLSBwb3J0Zm9saW8KICAgIC0gbWFwCiAgICAtIGFjY29yZGlvbgogICAgLSBwcmljZQogICAgLSA0MDQKICAgIC0gaW1hZ2VzCiAgICAtIHBhZ2UgdHJhbnNpdGlvbnMKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgptYWluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiosCio6YmVmb3JlLAoqOmFmdGVyIHsKICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIHBhZGRpbmc6IDA7CiAgbWFyZ2luOiAwOwp9CgpodG1sLApib2R5IHsKICBwYWRkaW5nOiAwOwogIG1hcmdpbjogMDsKICBmb250LWZhbWlseTogIk91dGZpdCIsIHNhbnMtc2VyaWY7CiAgZm9udC1zaXplOiAxNnB4OwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsKICBsaW5lLWhlaWdodDogMTUwJTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgewogIGh0bWwsIGJvZHkgewogICAgZm9udC1zaXplOiAxNXB4OwogIH0KfQoKLm1pbC13cmFwcGVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBtYXgtd2lkdGg6IDEwMCU7Cn0KCi5jb250YWluZXIgewogIHBvaW50ZXItZXZlbnRzOiBhbGw7Cn0KCi5taWwtcmVsYXRpdmUgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLm1pbC1vLWhpZGRlbiB7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLm1pbC1mbGV4IHsKICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICBkaXNwbGF5OiBmbGV4Owp9CgoubWlsLXZlcnQtYmV0d2VlbiB7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTsKICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBoZWlnaHQ6IDEwMCU7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1tb2JpbGUtaGlkZGVuIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQp9CgpzZWN0aW9uIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQpzZWN0aW9uLmVsZW1lbnRvci1zZWN0aW9uIHsKICBvdmVyZmxvdzogdmlzaWJsZTsKfQoKLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKdHlwb2dyYXBoeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwpoMSwKLm1pbC1oMSwKaDIsCi5taWwtaDEyLApoMywKLm1pbC1oMywKaDQsCi5taWwtaDQsCmg1LAoubWlsLWg1LApoNiwKLm1pbC1oNiB7CiAgZm9udC1mYW1pbHk6ICJPdXRmaXQiLCBzYW5zLXNlcmlmOwogIGNvbG9yOiByZ2IoMCwgMCwgMCk7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBsaW5lLWhlaWdodDogMTIwJTsKICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKICBoMSBiciwKLm1pbC1oMSBiciwKaDIgYnIsCi5taWwtaDEyIGJyLApoMyBiciwKLm1pbC1oMyBiciwKaDQgYnIsCi5taWwtaDQgYnIsCmg1IGJyLAoubWlsLWg1IGJyLApoNiBiciwKLm1pbC1oNiBiciB7CiAgICBkaXNwbGF5OiBub25lOwogIH0KfQoKaDEsCi5taWwtaDEgewogIGZvbnQtc2l6ZTogODZweDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIHsKICBoMSwKLm1pbC1oMSB7CiAgICBmb250LXNpemU6IDc0cHg7CiAgfQp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkgewogIGgxLAoubWlsLWgxIHsKICAgIGZvbnQtc2l6ZTogNzJweDsKICB9Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHsKICBoMSwKLm1pbC1oMSB7CiAgICBmb250LXNpemU6IDU4cHg7CiAgfQp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgaDEsCi5taWwtaDEgewogICAgZm9udC1zaXplOiAzNHB4OwogIH0KfQoKaDIsCi5taWwtaDIgewogIGZvbnQtc2l6ZTogNjhweDsKICBsaW5lLWhlaWdodDogMTIwJTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHsKICBoMiwKLm1pbC1oMiB7CiAgICBmb250LXNpemU6IDU2cHg7CiAgfQp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgaDIsCi5taWwtaDIgewogICAgZm9udC1zaXplOiA0NHB4OwogIH0KfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgewogIGgyLAoubWlsLWgyIHsKICAgIGZvbnQtc2l6ZTogMzZweDsKICB9Cn0KCmgzLAoubWlsLWgzIHsKICBmb250LXNpemU6IDQycHg7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7CiAgaDMsCi5taWwtaDMgewogICAgZm9udC1zaXplOiAzOXB4OwogIH0KfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogIGgzLAoubWlsLWgzIHsKICAgIGZvbnQtc2l6ZTogMzZweDsKICB9Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKICBoMywKLm1pbC1oMyB7CiAgICBmb250LXNpemU6IDMwcHg7CiAgfQp9CgpoNCwKLm1pbC1oNCB7CiAgZm9udC1zaXplOiAyOHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkgewogIGg0LAoubWlsLWg0IHsKICAgIGZvbnQtc2l6ZTogMjZweDsKICB9Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHsKICBoNCwKLm1pbC1oNCB7CiAgICBmb250LXNpemU6IDI0cHg7CiAgfQp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgaDQsCi5taWwtaDQgewogICAgZm9udC1zaXplOiAyMnB4OwogIH0KfQoKaDUsCi5taWwtaDUgewogIGZvbnQtc2l6ZTogMjBweDsKICBsaW5lLWhlaWdodDogMTUwJTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgewogIGg1LAoubWlsLWg1IHsKICAgIGZvbnQtc2l6ZTogMThweDsKICB9Cn0KCmg2LAoubWlsLWg2IHsKICBmb250LXNpemU6IDE4cHg7CiAgbGluZS1oZWlnaHQ6IDE1MCU7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7CiAgaDYsCi5taWwtaDYgewogICAgZm9udC1zaXplOiAxN3B4OwogIH0KfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogIGg2LAoubWlsLWg2IHsKICAgIGZvbnQtc2l6ZTogMTZweDsKICB9Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKICBoNiwKLm1pbC1oNiB7CiAgICBmb250LXNpemU6IDIxcHg7CiAgfQp9CgoubWlsLW5vLXdyYXAgewogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KCmJsb2NrcXVvdGUgewogIHBhZGRpbmc6IDYwcHg7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTsKICBmb250LXNpemU6IDE4cHg7CiAgY29sb3I6IHJnYigwLCAwLCAwKTsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgYm9yZGVyLWxlZnQ6IHNvbGlkIDRweCByZ2IoMjU1LCAxNTIsIDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgYmxvY2txdW90ZSB7CiAgICBwYWRkaW5nOiAzMHB4OwogICAgZm9udC1zaXplOiAxNnB4OwogIH0KfQoKLm1pbC10ZXh0LXNtIHsKICBmb250LXNpemU6IDE1cHg7Cn0KCi5taWwtdGV4dC1sZyB7CiAgZm9udC1zaXplOiAxOHB4OwogIGxpbmUtaGVpZ2h0OiAxNzAlOwp9CgoubWlsLXRleHQteGwgewogIGZvbnQtc2l6ZTogMjJweDsKICBsaW5lLWhlaWdodDogMTgwJTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgewogIC5taWwtdGV4dC14bCB7CiAgICBmb250LXNpemU6IDIwcHg7CiAgfQp9CgoubWlsLXRleHQgcCB7CiAgbWFyZ2luLWJvdHRvbTogMzBweDsKfQoubWlsLXRleHQgcDpsYXN0LWNoaWxkIHsKICBtYXJnaW4tYm90dG9tOiAwcHg7Cn0KCi5taWwtdXBwZXIgewogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgZm9udC1zaXplOiAxMnB4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgbGV0dGVyLXNwYWNpbmc6IDJweDsKfQoKLm1pbC1ib2xkIHsKICBmb250LXdlaWdodDogNTAwOwp9CgoubWlsLXRoaW4gewogIGZvbnQtd2VpZ2h0OiAxMDA7Cn0KCmEgewogIGNvbG9yOiBpbmhlcml0OwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQoKLm1pbC1jb21wbGV4LXRpdGxlIHsKICBsaW5lLWhlaWdodDogbm9ybWFsOwp9CgoubWlsLWFjY2VudCB7CiAgY29sb3I6IHJnYigyNTUsIDE1MiwgMCk7Cn0KCi5taWwtbGlnaHQgewogIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSkgIWltcG9ydGFudDsKfQoubWlsLWxpZ2h0IGEgewogIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSkgIWltcG9ydGFudDsKfQoKLm1pbC1tdXRlZCB7CiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsKfQoKLm1pbC1kYXJrIHsKICBjb2xvcjogcmdiKDAsIDAsIDApOwp9CgoubWlsLWxpZ2h0LXNvZnQgewogIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7Cn0KCi5taWwtZGFyay1zb2Z0IHsKICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOwp9CgoubWlsLW1hcmtlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMTUyLCAwKTsKICBwYWRkaW5nOiAwIDVweDsKfQoKLm1pbC1jZW50ZXIgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKLm1pbC1sZWZ0IHsKICB0ZXh0LWFsaWduOiBsZWZ0Owp9CgoubWlsLXJpZ2h0IHsKICB0ZXh0LWFsaWduOiByaWdodDsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc2cHgpIHsKICAubWlsLXNtLWNlbnRlciB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgfQp9CgoubWlsLXN1cHRpdGxlIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgZGlzcGxheTogYmxvY2s7CiAgbWFyZ2luLWJvdHRvbTogNjBweDsKfQoubWlsLXN1cHRpdGxlOmJlZm9yZSB7CiAgY29udGVudDogIiI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiBjYWxjKDEwMCUgKyAzMHB4KTsKICB0b3A6IDEwcHg7CiAgd2lkdGg6IDYwMHB4OwogIGhlaWdodDogMXB4OwogIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsKICBvcGFjaXR5OiAwLjI7Cn0KLm1pbC1zdXB0aXRsZS5taWwtc3VwdGl0bGUtcmlnaHQgewogIHRleHQtYWxpZ246IHJpZ2h0Owp9Ci5taWwtc3VwdGl0bGUubWlsLXN1cHRpdGxlLXJpZ2h0OmJlZm9yZSB7CiAgbGVmdDogY2FsYygxMDAlICsgMzBweCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKICAubWlsLXN1cHRpdGxlLm1pbC1zdXB0aXRsZS1yaWdodCB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgfQogIC5taWwtc3VwdGl0bGUubWlsLXN1cHRpdGxlLXJpZ2h0OmJlZm9yZSB7CiAgICBkaXNwbGF5OiBub25lOwogIH0KfQoubWlsLXN1cHRpdGxlLm1pbC1zdXB0aXRsZS1kYXJrOmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDAsIDApOwogIG9wYWNpdHk6IDAuMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgewogIC5taWwtc3VwdGl0bGUgewogICAgbWFyZ2luLWJvdHRvbTogNjBweDsKICB9Cn0KCi5taWwtZGl2aWRlciB7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxcHg7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOwp9CgoubWlsLWltZy1mcmFtZSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgd2lkdGg6IDEwMCU7CiAgcGFkZGluZy1ib3R0b206IDE0MCU7Cn0KLm1pbC1pbWctZnJhbWUgaW1nIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIC1vLW9iamVjdC1maXQ6IGNvdmVyOwogICAgIG9iamVjdC1maXQ6IGNvdmVyOwogIC1vLW9iamVjdC1wb3NpdGlvbjogY2VudGVyOwogICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyOwp9CgovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpsaW5rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi5taWwtbGluayB7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDsKICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGxldHRlci1zcGFjaW5nOiAycHg7CiAgZm9udC1zaXplOiAxMnB4Owp9Ci5taWwtbGluayBzdmcgewogIG1hcmdpbi1sZWZ0OiAxNXB4OwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICB3aWR0aDogNDBweDsKICBoZWlnaHQ6IDQwcHg7CiAgcGFkZGluZzogMTBweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwogIHRyYW5zaXRpb246IDAuNHMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMzY0MiwgMSk7Cn0KLm1pbC1saW5rIHN2ZyBwYXRoIHsKICBmaWxsOiByZ2IoMjU1LCAyNTUsIDI1NSk7Cn0KLm1pbC1saW5rLm1pbC1hY2NlbnQgc3ZnIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwogIHRyYW5zaXRpb246IDAuNHMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMzY0MiwgMSk7Cn0KLm1pbC1saW5rLm1pbC1hY2NlbnQgc3ZnIHBhdGggewogIGZpbGw6IHJnYigyNTUsIDE1MiwgMCk7Cn0KLm1pbC1saW5rLm1pbC1kYXJrIHN2ZyB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpOwogIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKICB0cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwp9Ci5taWwtbGluay5taWwtZGFyayBzdmcgcGF0aCB7CiAgZmlsbDogcmdiKDAsIDAsIDApOwp9Ci5taWwtbGluazpob3ZlciBzdmcgewogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7Cn0KLm1pbC1saW5rLm1pbC1kb3duLWFycm93IHN2ZyB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7Cn0KLm1pbC1saW5rLm1pbC1kb3duLWFycm93OmhvdmVyIHN2ZyB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMTUpIHJvdGF0ZSg5MGRlZyk7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMTUpIHJvdGF0ZSg5MGRlZyk7Cn0KLm1pbC1saW5rLm1pbC1pY29uLWxlZnQgewogIGRpc3BsYXk6IC13ZWJraXQtYm94OwogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsOwogIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTsKICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsKfQoubWlsLWxpbmsubWlsLWljb24tbGVmdCBzdmcgewogIG1hcmdpbi1sZWZ0OiAwOwogIG1hcmdpbi1yaWdodDogMTVweDsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOwp9Ci5taWwtbGluay5taWwtaWNvbi1sZWZ0OmhvdmVyIHN2ZyB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMTUpIHJvdGF0ZSgxODBkZWcpOwogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KSByb3RhdGUoMTgwZGVnKTsKfQoKLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKYnV0dG9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi5taWwtYnV0dG9uIHsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94OwogIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGJvcmRlcjogbm9uZTsKICBsZXR0ZXItc3BhY2luZzogMnB4OwogIGZvbnQtc2l6ZTogMTJweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAxNTIsIDApOwogIGNvbG9yOiByZ2IoMCwgMCwgMCk7CiAgYm9yZGVyLXJhZGl1czogNzBweDsKICBwYWRkaW5nOiAwIDE1cHggMCA1MHB4OwogIGhlaWdodDogNzBweDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwogIHRyYW5zaXRpb246IDAuNHMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMzY0MiwgMSk7CiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7Cn0KLm1pbC1idXR0b24gc3BhbiB7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoubWlsLWJ1dHRvbiBzdmcgewogIG1hcmdpbi1sZWZ0OiAzMHB4OwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICB3aWR0aDogNDBweDsKICBoZWlnaHQ6IDQwcHg7CiAgcGFkZGluZzogMTBweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMCwgMCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwogIHRyYW5zaXRpb246IDAuNHMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMzY0MiwgMSk7Cn0KLm1pbC1idXR0b24gc3ZnIHBhdGggewogIGZpbGw6IHJnYigyNTUsIDE1MiwgMCk7Cn0KLm1pbC1idXR0b24ubWlsLWljb24tYnV0dG9uIHsKICBwYWRkaW5nOiAxNXB4Owp9Ci5taWwtYnV0dG9uLm1pbC1pY29uLWJ1dHRvbiBzdmcgewogIG1hcmdpbi1sZWZ0OiAwOwp9Ci5taWwtYnV0dG9uLm1pbC1pY29uLWJ1dHRvbi1zbSB7CiAgcGFkZGluZzogMDsKICBoZWlnaHQ6IDQwcHg7Cn0KLm1pbC1idXR0b24ubWlsLWljb24tYnV0dG9uLXNtIHN2ZyB7CiAgbWFyZ2luLWxlZnQ6IDA7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMTUyLCAwKTsKfQoubWlsLWJ1dHRvbi5taWwtaWNvbi1idXR0b24tc20gc3ZnIHBhdGggewogIGZpbGw6IHJnYigwLCAwLCAwKTsKfQoubWlsLWJ1dHRvbjpob3ZlciB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDE1KTsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMTUpOwogIC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDExMCUpOwogICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDExMCUpOwp9Ci5taWwtYnV0dG9uOmhvdmVyIHN2ZyB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMTUpOwogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTsKfQoubWlsLWJ1dHRvbi5taWwtYXJyb3ctZG93biBzdmcgewogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOwogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOwp9Ci5taWwtYnV0dG9uLm1pbC1hcnJvdy1kb3duOmhvdmVyIHsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wMTUpOwogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAxNSk7CiAgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoMTEwJSk7CiAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTEwJSk7Cn0KLm1pbC1idXR0b24ubWlsLWFycm93LWRvd246aG92ZXIgc3ZnIHsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xNSkgcm90YXRlKDkwZGVnKTsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSkgcm90YXRlKDkwZGVnKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogIC5taWwtYnV0dG9uIHsKICAgIGhlaWdodDogNjBweDsKICAgIHBhZGRpbmc6IDAgMTBweCAwIDQwcHg7CiAgfQogIC5taWwtYnV0dG9uIHN2ZyB7CiAgICBtYXJnaW4tbGVmdDogMjVweDsKICB9Cn0KCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmZvcm0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KaW5wdXQsCnRleHRhcmVhIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgaGVpZ2h0OiA3MHB4OwogIHBhZGRpbmc6IDAgMzBweDsKICB3aWR0aDogMTAwJTsKICBmb250LXNpemU6IDEycHg7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBsZXR0ZXItc3BhY2luZzogMnB4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1mYW1pbHk6ICJPdXRmaXQiLCBzYW5zLXNlcmlmOwogIGNvbG9yOiByZ2IoMCwgMCwgMCk7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKDAsIDAsIDAsIDAuMik7CiAgbWFyZ2luLWJvdHRvbTogMzBweDsKfQppbnB1dDpmb2N1cywKdGV4dGFyZWE6Zm9jdXMgewogIG91dGxpbmU6IGluaGVyaXQ7Cn0KaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIHRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsKICBmb250LXNpemU6IDEycHg7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBsZXR0ZXItc3BhY2luZzogMnB4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsKfQppbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgewogIGZvbnQtc2l6ZTogMTJweDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGxldHRlci1zcGFjaW5nOiAycHg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOwp9CmlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsKICBmb250LXNpemU6IDEycHg7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBsZXR0ZXItc3BhY2luZzogMnB4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsKfQppbnB1dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCB0ZXh0YXJlYTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsKICBmb250LXNpemU6IDEycHg7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBsZXR0ZXItc3BhY2luZzogMnB4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsKfQppbnB1dDo6cGxhY2Vob2xkZXIsCnRleHRhcmVhOjpwbGFjZWhvbGRlciB7CiAgZm9udC1zaXplOiAxMnB4OwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgbGV0dGVyLXNwYWNpbmc6IDJweDsKICBmb250LXdlaWdodDogNTAwOwogIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7Cn0KCnRleHRhcmVhIHsKICBwYWRkaW5nOiAxNXB4IDMwcHg7CiAgaGVpZ2h0OiAzMDBweDsKfQoKLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKYnJlYWRjcnVtYnMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLm1pbC1icmVhZGNydW1icyB7CiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94OwogIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLm1pbC1icmVhZGNydW1iczpiZWZvcmUgewogIGNvbnRlbnQ6ICIiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogY2FsYygxMDAlICsgMzBweCk7CiAgdG9wOiAxMHB4OwogIHdpZHRoOiAxMDB2dzsKICBoZWlnaHQ6IDFweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7Cn0KLm1pbC1icmVhZGNydW1icyBsaSB7CiAgbGlzdC1zdHlsZS10eXBlOiBub25lOwp9Ci5taWwtYnJlYWRjcnVtYnMgbGk6YWZ0ZXIgewogIGNvbnRlbnQ6ICIvIjsKICBtYXJnaW46IDAgMTVweDsKICBjb2xvcjogcmdiKDAsIDAsIDApOwp9Ci5taWwtYnJlYWRjcnVtYnMgbGkgYSB7CiAgY29sb3I6IHJnYigwLCAwLCAwKTsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGxldHRlci1zcGFjaW5nOiAycHg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LXNpemU6IDEycHg7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAtd2Via2l0LXRyYW5zaXRpb246IDAuMnMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMzY0MiwgMSk7CiAgdHJhbnNpdGlvbjogMC4ycyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKfQoubWlsLWJyZWFkY3J1bWJzIGxpIGE6aG92ZXIgewogIGNvbG9yOiByZ2IoMjU1LCAxNTIsIDApOwp9Ci5taWwtYnJlYWRjcnVtYnMgbGk6bGFzdC1jaGlsZCB7CiAgbWFyZ2luLXJpZ2h0OiAwOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KLm1pbC1icmVhZGNydW1icyBsaTpsYXN0LWNoaWxkIGEgewogIG9wYWNpdHk6IDAuNDsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoubWlsLWJyZWFkY3J1bWJzIGxpOmxhc3QtY2hpbGQ6YWZ0ZXIgewogIGRpc3BsYXk6IG5vbmU7Cn0KLm1pbC1icmVhZGNydW1icy5taWwtbGlnaHQ6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7Cn0KLm1pbC1icmVhZGNydW1icy5taWwtbGlnaHQgbGk6YWZ0ZXIgewogIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7Cn0KLm1pbC1icmVhZGNydW1icy5taWwtbGlnaHQgbGkgYTpob3ZlciB7CiAgY29sb3I6IHJnYigyNTUsIDE1MiwgMCkgIWltcG9ydGFudDsKfQoubWlsLWJyZWFkY3J1bWJzLm1pbC1jZW50ZXIgewogIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKICAubWlsLWJyZWFkY3J1bWJzIHsKICAgIG1heC13aWR0aDogMTAwJTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgfQp9CgovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpiYWNrZ3JvdW5kcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoubWlsLWRhcmstYmcgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoubWlsLWRhcmstYmc6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKICBsZWZ0OiAwOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIHotaW5kZXg6IDI7CiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGludmVydCgxMDAlKTsKICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogaW52ZXJ0KDEwMCUpOwp9Ci5taWwtZGFyay1iZyAubWktaW52ZXJ0LWZpeCB7CiAgaGVpZ2h0OiAxMDAlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKICB6LWluZGV4OiAzOwp9Ci5taWwtZGFyay1iZyAubWktaW52ZXJ0LWZpeCAuY29udGFpbmVyLAoubWlsLWRhcmstYmcgLm1pLWludmVydC1maXggLmVsZW1lbnRvciB7CiAgcG9pbnRlci1ldmVudHM6IGFsbDsKfQoKLm1pbC1zb2Z0LWJnIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQyLCAyNDIsIDI0Mik7Cn0KCi5lbGVtZW50b3ItY29udGFpbmVyLm1pLWludmVydC1maXggLmVsZW1lbnRvci1zZWN0aW9uIHsKICBwb2ludGVyLWV2ZW50czogYWxsOwp9CgoubWlsLWNvbnRlbnQgZm9vdGVyLm1pbC1kYXJrLWJnIC5taS1pbnZlcnQtZml4IGRpdiB7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLm1pbC1jb250ZW50IGZvb3Rlci5taWwtZGFyay1iZyAubWktaW52ZXJ0LWZpeCAuZWxlbWVudG9yLWNvbnRhaW5lciAuZWxlbWVudG9yLWNvbnRhaW5lciAqIHsKICBwb2ludGVyLWV2ZW50czogYWxsOwp9CgovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpzcGFjZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLm1pbC1tci0zMCB7CiAgbWFyZ2luLXJpZ2h0OiAzMHB4Owp9CgoubWlsLW1iLTUgewogIG1hcmdpbi1ib3R0b206IDVweDsKfQoKLm1pbC1tYi0xMCB7CiAgbWFyZ2luLWJvdHRvbTogMTBweDsKfQoKLm1pbC1tYi0xNSB7CiAgbWFyZ2luLWJvdHRvbTogMTVweDsKfQoKLm1pbC1tYi0yMCB7CiAgbWFyZ2luLWJvdHRvbTogMTVweDsKfQoKLm1pbC1tYi0zMCB7CiAgbWFyZ2luLWJvdHRvbTogMzBweDsKfQoKLm1pbC1tYi02MCB7CiAgbWFyZ2luLWJvdHRvbTogNjBweDsKfQoKLm1pbC1tYi05MCB7CiAgbWFyZ2luLWJvdHRvbTogOTBweDsKfQoKLm1pbC1tYi0xMjAgewogIG1hcmdpbi1ib3R0b206IDEyMHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1tYi0xMjAgewogICAgbWFyZ2luLWJvdHRvbTogOTBweDsKICB9Cn0KCi5taWwtbXQtc3VwdGl0bGUtb2Zmc2V0IHsKICBtYXJnaW4tdG9wOiA3MHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1tdC1zdXB0aXRsZS1vZmZzZXQgewogICAgbWFyZ2luLXRvcDogMzBweDsKICB9Cn0KCi5taWwtcC0xMjAtMTIwIHsKICBwYWRkaW5nLXRvcDogMTIwcHg7CiAgcGFkZGluZy1ib3R0b206IDEyMHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1wLTEyMC0xMjAgewogICAgcGFkZGluZy10b3A6IDkwcHg7CiAgICBwYWRkaW5nLWJvdHRvbTogOTBweDsKICB9Cn0KCi5taWwtcC0xMjAtOTAgewogIHBhZGRpbmctdG9wOiAxMjBweDsKICBwYWRkaW5nLWJvdHRvbTogOTBweDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogIC5taWwtcC0xMjAtOTAgewogICAgcGFkZGluZy10b3A6IDkwcHg7CiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsKICB9Cn0KCi5taWwtcC0wLTEyMCB7CiAgcGFkZGluZy1ib3R0b206IDEyMHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1wLTAtMTIwIHsKICAgIHBhZGRpbmctYm90dG9tOiA5MHB4OwogIH0KfQoKLm1pbC1wLTEyMC0wIHsKICBwYWRkaW5nLXRvcDogMTIwcHg7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHsKICAubWlsLXAtMTIwLTAgewogICAgcGFkZGluZy10b3A6IDkwcHg7CiAgfQp9CgoubWlsLXAtMTIwLTYwIHsKICBwYWRkaW5nLXRvcDogMTIwcHg7CiAgcGFkZGluZy1ib3R0b206IDYwcHg7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHsKICAubWlsLXAtMTIwLTYwIHsKICAgIHBhZGRpbmctdG9wOiA5MHB4OwogICAgcGFkZGluZy1ib3R0b206IDMwcHg7CiAgfQp9CgoubWlsLXAtOTAtOTAgewogIHBhZGRpbmctdG9wOiA5MHB4OwogIHBhZGRpbmctYm90dG9tOiA5MHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1wLTkwLTkwIHsKICAgIHBhZGRpbmctdG9wOiA2MHB4OwogICAgcGFkZGluZy1ib3R0b206IDYwcHg7CiAgfQp9CgoubWlsLXAtOTAtMTIwIHsKICBwYWRkaW5nLXRvcDogOTBweDsKICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHsKICAubWlsLXAtOTAtMTIwIHsKICAgIHBhZGRpbmctdG9wOiA2MHB4OwogICAgcGFkZGluZy1ib3R0b206IDkwcHg7CiAgfQp9CgoubWlsLXAtMC05MCB7CiAgcGFkZGluZy1ib3R0b206IDkwcHg7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHsKICAubWlsLXAtMC05MCB7CiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsKICB9Cn0KCi5taWwtcC0wLTMwIHsKICBwYWRkaW5nLWJvdHRvbTogMzBweDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogIC5taWwtcC0wLTMwIHsKICAgIHBhZGRpbmctYm90dG9tOiAwOwogIH0KfQoKLm1pbC1wLTEyMC0zMCB7CiAgcGFkZGluZy10b3A6IDEyMHB4OwogIHBhZGRpbmctYm90dG9tOiAzMHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1wLTEyMC0zMCB7CiAgICBwYWRkaW5nLXRvcDogOTBweDsKICAgIHBhZGRpbmctYm90dG9tOiAwOwogIH0KfQoKLm1pbC1hZGFwdGl2ZS1yaWdodCB7CiAgd2lkdGg6IDEwMCU7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7CiAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHsKICAubWlsLWFkYXB0aXZlLXJpZ2h0IHsKICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0OwogICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0OwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgfQp9CgoubWlsLWJ0bi1zcGFjZSB7CiAgbWFyZ2luLXJpZ2h0OiAzMHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7CiAgLm1pbC1idG4tc3BhY2UgewogICAgbWFyZ2luLXJpZ2h0OiA1MHB4OwogICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICB9Cn0KCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCnByZWxvYWRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoubWlsLXByZWxvYWRlciB7CiAgcG9zaXRpb246IGZpeGVkOwogIHotaW5kZXg6IDk5OTk7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDB2aDsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMCwgMCk7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLm1pbC1wcmVsb2FkZXIgLm1pbC1wcmVsb2FkZXItYW5pbWF0aW9uIHsKICBvcGFjaXR5OiAwOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBoZWlnaHQ6IDEwMHZoOwogIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7Cn0KLm1pbC1wcmVsb2FkZXIgLm1pbC1wcmVsb2FkZXItYW5pbWF0aW9uIC5taWwtcG9zLWFicyB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGhlaWdodDogMTAwdmg7CiAgd2lkdGg6IDEwMCU7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwp9Ci5taWwtcHJlbG9hZGVyIC5taWwtcHJlbG9hZGVyLWFuaW1hdGlvbiAubWlsLXBvcy1hYnMgcCB7CiAgb3BhY2l0eTogMDsKICBtYXJnaW4tcmlnaHQ6IDE1cHg7Cn0KLm1pbC1wcmVsb2FkZXIgLm1pbC1wcmVsb2FkZXItYW5pbWF0aW9uIC5taWwtcG9zLWFicyBwOmxhc3QtY2hpbGQgewogIG1hcmdpbi1yaWdodDogMHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLyoKICAubWlsLXByZWxvYWRlciAubWlsLXByZWxvYWRlci1hbmltYXRpb24gLm1pbC1wb3MtYWJzIHsKICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICB9CiAgLm1pbC1wcmVsb2FkZXIgLm1pbC1wcmVsb2FkZXItYW5pbWF0aW9uIC5taWwtcG9zLWFicyBwIHsKICAgIG1hcmdpbi1yaWdodDogMDsKICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgfQogICovCiAgLm1pbC1wcmVsb2FkZXIgLm1pbC1wcmVsb2FkZXItYW5pbWF0aW9uIC5taWwtcG9zLWFicyBwIHsKICAgIGZvbnQtc2l6ZTogMjRweDsKICB9Cn0KLm1pbC1wcmVsb2FkZXIgLm1pbC1wcmVsb2FkZXItYW5pbWF0aW9uIC5taWwtcG9zLWFicyAubWlsLXJldmVhbC1mcmFtZSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmc6IDAgMzBweDsKfQoubWlsLXByZWxvYWRlciAubWlsLXByZWxvYWRlci1hbmltYXRpb24gLm1pbC1wb3MtYWJzIC5taWwtcmV2ZWFsLWZyYW1lIC5taWwtcmV2ZWFsLWJveCB7CiAgei1pbmRleDogNDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgb3BhY2l0eTogMDsKICBoZWlnaHQ6IDEwMCU7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMTUyLCAwKTsKfQoubWlsLXByZWxvYWRlci5taWwtaGlkZGVuIHsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKY3Vyc29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi5taWwtYmFsbCB7CiAgd2lkdGg6IDIwcHg7CiAgaGVpZ2h0OiAyMHB4OwogIHBvc2l0aW9uOiBmaXhlZDsKICB6LWluZGV4OiAxMDsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMCwgMCk7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIGRpc3BsYXk6IC13ZWJraXQtYm94OwogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBvcGFjaXR5OiAwLjE7Cn0KLm1pbC1iYWxsIC5taWwtaWNvbi0xIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDQwcHg7CiAgaGVpZ2h0OiA0MHB4OwogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7Cn0KLm1pbC1iYWxsIC5taWwtaWNvbi0xIHN2ZyB7CiAgZmlsbDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOwp9Ci5taWwtYmFsbCAubWlsLW1vcmUtdGV4dCwgLm1pbC1iYWxsIC5taWwtY2hvb3NlLXRleHQgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogMTAwJTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgZGlzcGxheTogYmxvY2s7CiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsKICBmb250LXNpemU6IDEycHg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBsZXR0ZXItc3BhY2luZzogMnB4OwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOwogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKfQoubWlsLWJhbGwubWlsLWFjY2VudCAubWlsLWljb24tMSBzdmcgewogIGZpbGw6IHJnYigwLCAwLCAwKTsKfQoubWlsLWJhbGwubWlsLWFjY2VudCAubWlsLW1vcmUtdGV4dCwgLm1pbC1iYWxsLm1pbC1hY2NlbnQgLm1pbC1jaG9vc2UtdGV4dCB7CiAgY29sb3I6IHJnYigwLCAwLCAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHsKICAubWlsLWJhbGwgewogICAgZGlzcGxheTogbm9uZTsKICB9Cn0KCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmhpZGRlbiBlbGVtZW50cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoubWlsLWhpZGRlbi1lbGVtZW50cyAubWlsLWRvZGVjYWhlZHJvbiwgLm1pbC1oaWRkZW4tZWxlbWVudHMgLm1pbC1saW5lcywgLm1pbC1oaWRkZW4tZWxlbWVudHMgLm1pbC1hcnJvdyB7CiAgZGlzcGxheTogbm9uZTsKfQoKLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKc2Nyb2xsYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi5taWwtc2Nyb2xsYmFyOjotd2Via2l0LXNjcm9sbGJhciB7CiAgZGlzcGxheTogbm9uZTsKfQoKLm1pbC1wcm9ncmVzcy10cmFjayB7CiAgcG9zaXRpb246IGZpeGVkOwogIHotaW5kZXg6IDEwOwogIHRvcDogMDsKICByaWdodDogMDsKICB3aWR0aDogNHB4OwogIGhlaWdodDogMTAwJTsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMCwgMCk7Cn0KLm1pbC1wcm9ncmVzcy10cmFjayAubWlsLXByb2dyZXNzIHsKICB3aWR0aDogNHB4OwogIGhlaWdodDogMDsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAxNTIsIDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1wcm9ncmVzcy10cmFjayB7CiAgICBkaXNwbGF5OiBub25lOwogIH0KfQoKLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKZnJhbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLm1pbC1sb2dvIHsKICBmb250LXNpemU6IDQycHg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBsaW5lLWhlaWdodDogMTAwJTsKfQoubWlsLWxvZ28gLm1pbC1hY2NlbnQgewogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtc2l6ZTogMTRweDsKICBmb250LXdlaWdodDogbm9ybWFsOwogIGxpbmUtaGVpZ2h0OiAyOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1sb2dvIHsKICAgIGZvbnQtc2l6ZTogMzZweDsKICB9Cn0KCi5taWwtZnJhbWUgewogIHBhZGRpbmc6IDUwcHggNjBweCA2MHB4IDYwcHg7CiAgcG9zaXRpb246IGZpeGVkOwogIHotaW5kZXg6IDI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTsKICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7CiAgLm1pbC1mcmFtZSB7CiAgICBwYWRkaW5nOiAzMHB4OwogIH0KfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHsKICAubWlsLWZyYW1lIHsKICAgIHBhZGRpbmc6IDA7CiAgICB6LWluZGV4OiA5OTk7CiAgICBoZWlnaHQ6IDkwcHg7CiAgfQp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkgewogIC5taWwtZnJhbWUgLm1pbC1mcmFtZS10b3AgewogICAgaGVpZ2h0OiA5MHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTsKICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7CiAgICBwYWRkaW5nOiAwOwogICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTsKICAgICAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7CiAgfQogIC5taWwtZnJhbWUgLm1pbC1mcmFtZS10b3AgLm1pbC1sb2dvIHsKICAgIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7CiAgfQogIC5taWwtZnJhbWUgLm1pbC1mcmFtZS10b3AgLm1pbC1tZW51LWJ0biBzcGFuLCAubWlsLWZyYW1lIC5taWwtZnJhbWUtdG9wIC5taWwtbWVudS1idG4gc3BhbjphZnRlciwgLm1pbC1mcmFtZSAubWlsLWZyYW1lLXRvcCAubWlsLW1lbnUtYnRuIHNwYW46YmVmb3JlIHsKICAgIGJhY2tncm91bmQ6IHJnYigyNTUsIDI1NSwgMjU1KTsKICB9Cn0KLm1pbC1mcmFtZSAubWlsLWZyYW1lLWJvdHRvbSB7CiAgd2lkdGg6IDEwMCU7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5OwogICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7CiAgICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7CiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7CiAgaGVpZ2h0OiAzMDBweDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHsKICAubWlsLWZyYW1lIC5taWwtZnJhbWUtYm90dG9tIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQp9Ci5taWwtZnJhbWUgLm1pbC1mcmFtZS1ib3R0b20gLm1pbC1jdXJyZW50LXBhZ2UgewogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBsZXR0ZXItc3BhY2luZzogMnB4OwogIGZvbnQtc2l6ZTogMTJweDsKICB3aWR0aDogMzAwcHg7CiAgY29sb3I6IHJnYigwLCAwLCAwKTsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgdHJhbnNsYXRlWCgxMzhweCkgdHJhbnNsYXRlWSgtMTM4cHgpOwogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGVYKDEzOHB4KSB0cmFuc2xhdGVZKC0xMzhweCk7Cn0KLm1pbC1mcmFtZSAubWlsLWZyYW1lLWJvdHRvbSAubWlsLWJhY2stdG8tdG9wIHsKICB3aWR0aDogMzAwcHg7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZVgoMTMwcHgpIHRyYW5zbGF0ZVkoMTMwcHgpOwogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGVYKDEzMHB4KSB0cmFuc2xhdGVZKDEzMHB4KTsKICBwb2ludGVyLWV2ZW50czogYWxsOwp9CgoubWlsLWZyYW1lLXRvcCB7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5OwogICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwp9Ci5taWwtZnJhbWUtdG9wIC5taWwtbG9nbyB7CiAgcG9pbnRlci1ldmVudHM6IGFsbDsKICBjb2xvcjogcmdiKDAsIDAsIDApOwp9Ci5taWwtZnJhbWUtdG9wID4gZGl2LmVsZW1lbnRvciB7CiAgd2lkdGg6IDEwMCU7Cn0KCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCm1lbnUgYnV0dG9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi5taWwtbWVudS1idG4gewogIHBvaW50ZXItZXZlbnRzOiBhbGw7CiAgaGVpZ2h0OiAyOHB4OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICBkaXNwbGF5OiBmbGV4OwogIC13ZWJraXQtYm94LXBhY2s6IHJpZ2h0OwogICAgICAtbXMtZmxleC1wYWNrOiByaWdodDsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogcmlnaHQ7CiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwogIHRyYW5zaXRpb246IDAuNHMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMzY0MiwgMSk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHsKICAubWlsLW1lbnUtYnRuIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjg1KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjg1KTsKICB9Cn0KLm1pbC1tZW51LWJ0biBzcGFuLCAubWlsLW1lbnUtYnRuIHNwYW46YWZ0ZXIsIC5taWwtbWVudS1idG4gc3BhbjpiZWZvcmUgewogIGNvbnRlbnQ6ICIiOwogIGRpc3BsYXk6IGJsb2NrOwogIHdpZHRoOiAyOHB4OwogIGhlaWdodDogMi41cHg7CiAgYmFja2dyb3VuZDogcmdiKDAsIDAsIDApOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC13ZWJraXQtdHJhbnNpdGlvbjogaW5oZXJpdDsKICB0cmFuc2l0aW9uOiBpbmhlcml0Owp9Ci5taWwtbWVudS1idG4gc3BhbiB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5taWwtbWVudS1idG4gc3BhbjphZnRlciwgLm1pbC1tZW51LWJ0biBzcGFuOmJlZm9yZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5taWwtbWVudS1idG4gc3BhbjpiZWZvcmUgewogIHRvcDogLTlweDsKfQoubWlsLW1lbnUtYnRuIHNwYW46YWZ0ZXIgewogIHdpZHRoOiAxOHB4OwogIHRvcDogOXB4Owp9Ci5taWwtbWVudS1idG4ubWlsLWFjdGl2ZSBzcGFuIHsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKfQoubWlsLW1lbnUtYnRuLm1pbC1hY3RpdmUgc3BhbjpiZWZvcmUgewogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCA5cHgpIHJvdGF0ZSgtOTBkZWcpOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCA5cHgpIHJvdGF0ZSgtOTBkZWcpOwp9Ci5taWwtbWVudS1idG4ubWlsLWFjdGl2ZSBzcGFuOmFmdGVyIHsKICBvcGFjaXR5OiAwOwogIHdpZHRoOiAyNHB4OwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAtOXB4KSByb3RhdGUoLTkwZGVnKTsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgLTlweCkgcm90YXRlKC05MGRlZyk7Cn0KCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCm1lbnUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLm1pbC1tZW51LWZyYW1lIHsKICBwb3NpdGlvbjogZml4ZWQ7CiAgei1pbmRleDogOTsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMHZoOwogIGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAwLCAwKTsKICBvcGFjaXR5OiAwOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKICB0cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwp9Ci5taWwtd3JhcHBlci1wb3B1cCB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDAsIDApOwp9Ci5taWwtbWVudS1mcmFtZSAuY29udGFpbmVyIHsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoubWlsLW1lbnUtZnJhbWUgLm1pbC1mcmFtZS10b3AgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICBwYWRkaW5nOiA1MHB4IDYwcHg7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7CiAgLm1pbC1tZW51LWZyYW1lIC5taWwtZnJhbWUtdG9wIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQp9Ci5taWwtbWVudS1mcmFtZSAubWlsLWZyYW1lLXRvcCAubWlsLWxvZ28gewogIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7Cn0KLmVycm9yNDA0IC5taWwtbG9nbyAubWlsLWFjY2VudCB7CiAgb3BhY2l0eTogMDsKfQoubWlsLW1lbnUtZnJhbWUgLm1pbC1mcmFtZS10b3AgLm1pbC1tZW51LWJ0biBzcGFuLCAubWlsLW1lbnUtZnJhbWUgLm1pbC1mcmFtZS10b3AgLm1pbC1tZW51LWJ0biBzcGFuOmFmdGVyLCAubWlsLW1lbnUtZnJhbWUgLm1pbC1mcmFtZS10b3AgLm1pbC1tZW51LWJ0biBzcGFuOmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOwp9Ci5taWwtbWVudS1mcmFtZSAubWlsLW1haW4tbWVudSwKLm1pbC13cmFwcGVyLXBvcHVwIC5taWwtbWFpbi1tZW51IHsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpOwogIG9wYWNpdHk6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwogIHRyYW5zaXRpb246IDAuNHMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMzY0MiwgMSk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7CiAgLm1pbC1tZW51LWZyYW1lIC5taWwtbWFpbi1tZW51LAogIC5taWwtd3JhcHBlci1wb3B1cCAubWlsLW1haW4tbWVudSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOwogIH0KfQoubWlsLW1lbnUtZnJhbWUgLm1pbC1tZW51LXJpZ2h0LWZyYW1lLAoubWlsLXdyYXBwZXItcG9wdXAgLm1pbC1tZW51LXJpZ2h0LWZyYW1lIHsKICBwYWRkaW5nLWxlZnQ6IDYwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGhlaWdodDogMTAwdmg7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1hbGlnbjogZW5kOwogICAgICAtbXMtZmxleC1hbGlnbjogZW5kOwogICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOwogIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOwogIG9wYWNpdHk6IDA7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwogIHRyYW5zaXRpb246IDAuNHMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMzY0MiwgMSk7Cn0KLm1pbC1tZW51LWZyYW1lIC5taWwtbWVudS1yaWdodC1mcmFtZSAubWlsLW1lbnUtcmlnaHQsCi5taWwtd3JhcHBlci1wb3B1cCAubWlsLW1lbnUtcmlnaHQtZnJhbWUgLm1pbC1tZW51LXJpZ2h0IHsKICBwYWRkaW5nLWJvdHRvbTogNjBweDsKICB3aWR0aDogMTAwJTsKfQoubWlsLW1lbnUtZnJhbWUgLm1pbC1tZW51LXJpZ2h0LWZyYW1lIC5taWwtYW5pbWF0aW9uLWluLAoubWlsLXdyYXBwZXItcG9wdXAgLm1pbC1tZW51LXJpZ2h0LWZyYW1lIC5taWwtYW5pbWF0aW9uLWluIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAtMzIwcHg7CiAgcmlnaHQ6IDA7CiAgb3BhY2l0eTogMDsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNjBweCk7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTYwcHgpOwogIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKICB0cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkgewogIC5taWwtbWVudS1mcmFtZSAubWlsLW1lbnUtcmlnaHQtZnJhbWUsCiAgLm1pbC13cmFwcGVyLXBvcHVwIC5taWwtbWVudS1yaWdodC1mcmFtZSB7CiAgICBkaXNwbGF5OiBub25lOwogIH0KfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogODAwcHgpIHsKICAubWlsLW1lbnUtZnJhbWUgLm1pbC1tZW51LXJpZ2h0LWZyYW1lLAogIC5taWwtd3JhcHBlci1wb3B1cCAubWlsLW1lbnUtcmlnaHQtZnJhbWUgewogICAgZGlzcGxheTogbm9uZTsKICB9Cn0KLm1pbC1tZW51LWZyYW1lLm1pbC1hY3RpdmUgewogIG9wYWNpdHk6IDE7CiAgcG9pbnRlci1ldmVudHM6IGFsbDsKfQoubWlsLW1lbnUtZnJhbWUubWlsLWFjdGl2ZSAuY29udGFpbmVyIHsKICBwb2ludGVyLWV2ZW50czogYWxsOwp9Ci5taWwtbWVudS1mcmFtZS5taWwtYWN0aXZlIC5taWwtbWFpbi1tZW51LAoubWlsLXdyYXBwZXItcG9wdXAgLm1pbC1tYWluLW1lbnUgewogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogIG9wYWNpdHk6IDE7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjRzOwogICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC40czsKfQoubWlsLW1lbnUtZnJhbWUubWlsLWFjdGl2ZSAubWlsLW1lbnUtcmlnaHQtZnJhbWUsCi5taWwtd3JhcHBlci1wb3B1cCAubWlsLW1lbnUtcmlnaHQtZnJhbWUgewogIG9wYWNpdHk6IDE7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjZzOwogICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC42czsKfQoubWlsLW1lbnUtZnJhbWUubWlsLWFjdGl2ZSAubWlsLW1lbnUtcmlnaHQtZnJhbWUgLm1pbC1hbmltYXRpb24taW4sCi5taWwtd3JhcHBlci1wb3B1cCAubWlsLW1lbnUtcmlnaHQtZnJhbWUgLm1pbC1hbmltYXRpb24taW4gewogIG9wYWNpdHk6IDE7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjhzOwogICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC44czsKfQoKLm1pbC1tZW51LWxpc3QgbGkgewogIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKICBtYXJnaW4tYm90dG9tOiAxNXB4Owp9Ci5taWwtbWVudS1saXN0IGxpOmxhc3QtY2hpbGQgewogIG1hcmdpbi1ib3R0b206IDA7Cn0KLm1pbC1tZW51LWxpc3QgbGkgYSwKLm1pbC1tZW51LWxpc3QgbGkgYSAubWlsLWxpZ2h0LXNvZnQgewogIGRpc3BsYXk6IGJsb2NrOwogIC13ZWJraXQtdHJhbnNpdGlvbjogMC4ycyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKICB0cmFuc2l0aW9uOiAwLjJzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwp9Ci5taWwtbWVudS1saXN0IGxpIGE6aG92ZXIgewogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTsKICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOwp9Ci5taWwtbWVudS1saXN0IGxpIGE6aG92ZXIgLm1pbC1saWdodC1zb2Z0IHsKICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOwp9Ci5taWwtbWVudS1saXN0Lm1pbC1ob3JpLWxpc3QgewogIGRpc3BsYXk6IC13ZWJraXQtYm94OwogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7Cn0KLm1pbC1tZW51LWxpc3QubWlsLWhvcmktbGlzdCBsaSB7CiAgbWFyZ2luLWJvdHRvbTogMDsKICBtYXJnaW4tcmlnaHQ6IDMwcHg7Cn0KLm1pbC1tZW51LWxpc3QubWlsLWRhcmsgbGkgYSB7CiAgY29sb3I6IHJnYigwLCAwLCAwKTsKfQoKLm1pbC1tYWluLW1lbnUgewogIGhlaWdodDogMTAwdmg7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKfQoubWlsLW1haW4tbWVudSB1bCB7CiAgcGFkZGluZzogMDsKICBtYXJnaW46IDA7Cn0KLm1pbC1tYWluLW1lbnUgdWwgbGkgewogIG1hcmdpbi1ib3R0b206IDQwcHg7Cn0KLm1pbC1tYWluLW1lbnUgdWwgbGk6bGFzdC1jaGlsZCB7CiAgbWFyZ2luLWJvdHRvbTogMDsKfQoubWlsLW1haW4tbWVudSB1bCBsaSBhIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBmb250LXdlaWdodDogNTAwOwogIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7CiAgZm9udC1zaXplOiAzNHB4OwogIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKICB0cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1tYWluLW1lbnUgdWwgbGkgYSB7CiAgICBmb250LXNpemU6IDI2cHg7CiAgfQp9Ci5taWwtbWFpbi1tZW51IHVsIGxpIGE6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogMDsKICB3aWR0aDogMTBweDsKICBoZWlnaHQ6IDEwcHg7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOwogIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKICB0cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwp9Ci5taWwtbWFpbi1tZW51IHVsIGxpIGE6aG92ZXIgewogIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7Cn0KLm1pbC1tYWluLW1lbnUgdWwgbGkgYS5taWwtYWN0aXZlIHsKICBwYWRkaW5nLWxlZnQ6IDI1cHg7Cn0KLm1pbC1tYWluLW1lbnUgdWwgbGkgYS5taWwtYWN0aXZlOmJlZm9yZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAxNTIsIDApOwp9Ci5taWwtbWFpbi1tZW51IHVsIGxpLm1pbC1hY3RpdmUgPiBhIHsKICBjb2xvcjogcmdiKDI1NSwgMTUyLCAwKTsKfQoubWlsLW1haW4tbWVudSB1bCBsaS5taWwtYWN0aXZlID4gYTpob3ZlciB7CiAgY29sb3I6IHJnYigyNTUsIDE1MiwgMCkgIWltcG9ydGFudDsKICAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcygxMTAlKTsKICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMTAlKTsKfQoubWlsLW1haW4tbWVudSB1bCBsaS5taWwtaGFzLWNoaWxkcmVuID4gYTpob3ZlciB7CiAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsKICBwYWRkaW5nLWxlZnQ6IDI1cHg7Cn0KLm1pbC1tYWluLW1lbnUgdWwgbGkubWlsLWhhcy1jaGlsZHJlbiA+IGE6aG92ZXI6YmVmb3JlIHsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOwp9Ci5taWwtbWFpbi1tZW51IHVsIGxpLm1pbC1oYXMtY2hpbGRyZW4gdWwgewogIHBhZGRpbmctbGVmdDogMjVweDsKICBvdmVyZmxvdzogaGlkZGVuOwogIG1heC1oZWlnaHQ6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjZzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwogIHRyYW5zaXRpb246IDAuNnMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMzY0MiwgMSk7Cn0KLm1pbC1tYWluLW1lbnUgdWwgbGkubWlsLWhhcy1jaGlsZHJlbiB1bCB1bCB7CiAgbWF4LWhlaWdodDogbm9uZTsKfQoubWlsLW1haW4tbWVudSB1bCBsaS5taWwtaGFzLWNoaWxkcmVuIHVsIHVsIGxpOmZpcnN0LWNoaWxkIHsKICBtYXJnaW4tdG9wOiAxMHB4Owp9Ci5taWwtbWFpbi1tZW51IHVsIGxpLm1pbC1oYXMtY2hpbGRyZW4gdWwgdWwgbGkgYSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBwYWRkaW5nLWxlZnQ6IDE1cHg7Cn0KLm1pbC1tYWluLW1lbnUgdWwgbGkubWlsLWhhcy1jaGlsZHJlbiB1bCB1bCBsaSBhOjphZnRlciB7CiAgY29udGVudDogJyc7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGxlZnQ6IDBweDsKICB0b3A6IDEwcHg7CiAgd2lkdGg6IDRweDsKICBoZWlnaHQ6IDRweDsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjMpOwp9Ci5taWwtbWFpbi1tZW51IHVsIGxpLm1pbC1oYXMtY2hpbGRyZW4gdWwgbGkgewogIG1hcmdpbi1ib3R0b206IDVweDsKfQoubWlsLW1haW4tbWVudSB1bCBsaS5taWwtaGFzLWNoaWxkcmVuIHVsIGxpOmZpcnN0LWNoaWxkIHsKICBtYXJnaW4tdG9wOiA0MHB4Owp9Ci5taWwtbWFpbi1tZW51IHVsIGxpLm1pbC1oYXMtY2hpbGRyZW4gdWwgbGkgYSB7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udC1zaXplOiAxMnB4OwogIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7CiAgbGV0dGVyLXNwYWNpbmc6IDJweDsKICBmb250LXdlaWdodDogNTAwOwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KLm1pbC1tYWluLW1lbnUgdWwgbGkubWlsLWhhcy1jaGlsZHJlbiB1bCBsaSBhOmJlZm9yZSB7CiAgZGlzcGxheTogbm9uZTsKfQoubWlsLW1haW4tbWVudSB1bCBsaS5taWwtaGFzLWNoaWxkcmVuIHVsIGxpIGE6aG92ZXIgewogIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpOwp9Ci5taWwtbWFpbi1tZW51IHVsIGxpLm1pbC1oYXMtY2hpbGRyZW4gdWwubWlsLWFjdGl2ZSB7CiAgbWF4LWhlaWdodDogMjAwcHg7CiAgb3ZlcmZsb3cteTogYXV0bzsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHsKICAubWlsLW1haW4tbWVudSB7CiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB9CiAgLm1pbC1tYWluLW1lbnUgdWwgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgfQogIC5taWwtbWFpbi1tZW51IHVsIGxpIHsKICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgfQogIC5taWwtbWFpbi1tZW51IHVsIGxpIGEgewogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgfQogIC5taWwtbWFpbi1tZW51IHVsIGxpIGE6YmVmb3JlIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQogIC5taWwtbWFpbi1tZW51IHVsIGxpIGEubWlsLWFjdGl2ZSB7CiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsKICB9CiAgLm1pbC1tYWluLW1lbnUgdWwgbGkubWlsLWhhcy1jaGlsZHJlbiB1bCB7CiAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgfQogIC5taWwtbWFpbi1tZW51IHVsIGxpLm1pbC1oYXMtY2hpbGRyZW4gdWwgbGk6Zmlyc3QtY2hpbGQgewogICAgbWFyZ2luLXRvcDogMzBweDsKICB9CiAgLm1pbC1tYWluLW1lbnUgdWwgbGkubWlsLWhhcy1jaGlsZHJlbiB1bCBsaSB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgfQp9CgovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpiYW5uZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLm1pbC1iYW5uZXIgewogIGhlaWdodDogMTAwdmg7Cn0KLm1pbC1iYW5uZXIgLmNvbnRhaW5lciB7CiAgaGVpZ2h0OiAxMDAlOwogIGRpc3BsYXk6IC13ZWJraXQtYm94OwogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZDsKICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKfQoubWlsLWJhbm5lciAubWlsLWJhbm5lci1jb250ZW50IHsKICB3aWR0aDogMTAwJTsKICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1iYW5uZXIgLmNvbnRhaW5lciB7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogIH0KICAubWlsLWJhbm5lciAubWlsLWJhbm5lci1jb250ZW50IHsKICAgIHBhZGRpbmctYm90dG9tOiAwOwogIH0KfQoubWlsLWJhbm5lciAubWlsLWxpbmVzLXBsYWNlIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogMDsKICBib3R0b206IGNhbGMoMTAwJSArIDEyMHB4KTsKfQoKLm1pbC1pbm5lci1iYW5uZXIgLm1pbC1iYW5uZXItY29udGVudCB7CiAgcGFkZGluZzogMTUwcHggMCAwIDA7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7CiAgLm1pbC1pbm5lci1iYW5uZXIgLm1pbC1iYW5uZXItY29udGVudCB7CiAgICBwYWRkaW5nOiAxODBweCAwIDAgMDsKICB9Cn0KCi5taWwtYmFubmVyLXBlcnNvbmFsIHsKICBoZWlnaHQ6IDEwMHZoOwogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTsKfQoubWlsLWJhbm5lci1wZXJzb25hbCAubWlsLWJhbm5lci1jb250ZW50IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZy10b3A6IDkwcHg7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHsKICAubWlsLWJhbm5lci1wZXJzb25hbCAubWlsLWJhbm5lci1jb250ZW50IHsKICAgIHBhZGRpbmctdG9wOiAxODBweDsKICB9Cn0KLm1pbC1iYW5uZXItcGVyc29uYWwgLm1pbC1iYW5uZXItY29udGVudCAubWlsLXBlcnNvbmFsLXRleHQgewogIG1hcmdpbi1ib3R0b206IDMwMHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1iYW5uZXItcGVyc29uYWwgLm1pbC1iYW5uZXItY29udGVudCAubWlsLXBlcnNvbmFsLXRleHQgewogICAgbWFyZ2luLWJvdHRvbTogODBweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICB9Cn0KLm1pbC1iYW5uZXItcGVyc29uYWwgLm1pbC1iYW5uZXItY29udGVudCAubWlsLWJhbm5lci1wYW5lbCB7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5OwogICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6IDAgNjBweCAwIDkwcHg7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOwogIGhlaWdodDogMTgwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogY2FsYygxMDB2aCAtIDE4MHB4KTsKICBsZWZ0OiAwOwogIHdpZHRoOiAxMDAlOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1iYW5uZXItcGVyc29uYWwgLm1pbC1iYW5uZXItY29udGVudCAubWlsLWJhbm5lci1wYW5lbCB7CiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBoZWlnaHQ6IGF1dG87CiAgICBwYWRkaW5nOiA2MHB4IDMwcHg7CiAgfQogIC5taWwtYmFubmVyLXBlcnNvbmFsIC5taWwtYmFubmVyLWNvbnRlbnQgLm1pbC1iYW5uZXItcGFuZWwgaDUgewogICAgbWFyZ2luLWJvdHRvbTogNjBweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHdpZHRoOiA4MCU7CiAgfQp9Ci5taWwtYmFubmVyLXBlcnNvbmFsIC5taWwtYmFubmVyLWNvbnRlbnQgLm1pbC1iYW5uZXItcGFuZWwgLm1pbC1yaWdodCB7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKfQoubWlsLWJhbm5lci1wZXJzb25hbCAubWlsLWJhbm5lci1jb250ZW50IC5taWwtYmFubmVyLXBhbmVsIC5taWwtcmlnaHQgLm1pbC1zb2NpYWwtZnJhbWUgewogIGRpc3BsYXk6IC13ZWJraXQtYm94OwogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBtYXJnaW4tcmlnaHQ6IDMwcHg7CiAgcGFkZGluZzogMCA1MHB4OwogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTsKICBoZWlnaHQ6IDcwcHg7CiAgYm9yZGVyLXJhZGl1czogNzBweDsKICAtd2Via2l0LXRyYW5zaXRpb246IDAuNHMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMzY0MiwgMSk7CiAgdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKfQoubWlsLWJhbm5lci1wZXJzb25hbCAubWlsLWJhbm5lci1jb250ZW50IC5taWwtYmFubmVyLXBhbmVsIC5taWwtcmlnaHQgLm1pbC1zb2NpYWwtZnJhbWU6aG92ZXIgewogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjAxNSk7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDE1KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogIC5taWwtYmFubmVyLXBlcnNvbmFsIC5taWwtYmFubmVyLWNvbnRlbnQgLm1pbC1iYW5uZXItcGFuZWwgLm1pbC1yaWdodCB7CiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgfQogIC5taWwtYmFubmVyLXBlcnNvbmFsIC5taWwtYmFubmVyLWNvbnRlbnQgLm1pbC1iYW5uZXItcGFuZWwgLm1pbC1yaWdodCAubWlsLXNvY2lhbC1mcmFtZSB7CiAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgaGVpZ2h0OiA2MHB4OwogIH0KfQoubWlsLWJhbm5lci1wZXJzb25hbCAubWlsLWJhbm5lci1jb250ZW50IC5taWwtYmFubmVyLXBhbmVsIC5taWwtYnV0dG9uIHsKICBtYXJnaW46IDAgIWltcG9ydGFudDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogIC5taWwtYmFubmVyLXBlcnNvbmFsIC5taWwtYmFubmVyLWNvbnRlbnQgLm1pbC1iYW5uZXItcGFuZWwgewogICAgYm90dG9tOiAwOwogICAgdG9wOiBhdXRvOwogIH0KfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgewogIC5taWwtYmFubmVyLXBlcnNvbmFsIC5taWwtYmFubmVyLWNvbnRlbnQgLm1pbC1iYW5uZXItcGFuZWwgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgbWFyZ2luLWJvdHRvbTogOTBweDsKICAgIHotaW5kZXg6IDI7CiAgfQp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1iYW5uZXItcGVyc29uYWwgewogICAgaGVpZ2h0OiBhdXRvOwogIH0KfQoubWlsLWJhbm5lciB7CiAgbWluLWhlaWdodDogODAwcHg7Cn0KCi5taWwtcG9ydHJhaXQtZnJhbWUgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoubWlsLXBvcnRyYWl0LWZyYW1lIGltZyB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGJvdHRvbTogMDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgLW8tb2JqZWN0LWZpdDogY29udGFpbjsKICAgICBvYmplY3QtZml0OiBjb250YWluOwp9Ci5taWwtcG9ydHJhaXQtZnJhbWUgLm1pbC1uaW1idXMgewogIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCg1MCUgNTAlIGF0IDUwJSA1MCUsIHJnYigyNTUsIDE1MiwgMCkgMCUsIHJnYmEoMjUwLCAxNjgsIDY5LCAwKSAxMDAlKTsKICB3aWR0aDogMTAwJTsKICBwYWRkaW5nLWJvdHRvbTogMTAwJTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgb3BhY2l0eTogMC42Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgLm1pbC1wb3J0cmFpdC1mcmFtZSB7CiAgICBoZWlnaHQ6IDQwMHB4OwogIH0KICAubWlsLXBvcnRyYWl0LWZyYW1lIGltZyB7CiAgICAtby1vYmplY3QtZml0OiBjb3ZlcjsKICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgLW8tb2JqZWN0LXBvc2l0aW9uOiB0b3A7CiAgICAgICBvYmplY3QtcG9zaXRpb246IHRvcDsKICB9Cn0KCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmNpcmNsZSB0ZXh0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi5taWwtY2lyY2xlLXRleHQgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICBib3R0b206IDkwcHg7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogIHdpZHRoOiAxNDBweDsKICBoZWlnaHQ6IDE0MHB4Owp9Ci5taWwtY2lyY2xlLXRleHQgLm1pbC1jdC1zdmcgewogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgyKTsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMik7CiAgd2lkdGg6IDE0MHB4OwogIGhlaWdodDogMTQwcHg7Cn0KLm1pbC1jaXJjbGUtdGV4dCAubWlsLWN0LXN2ZyB0ZXh0IHsKICBmaWxsOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBmb250LXNpemU6IDEycHg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICAtd2Via2l0LXRyYW5zaXRpb246IDAuNHMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMzY0MiwgMSk7CiAgdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKfQoubWlsLWNpcmNsZS10ZXh0IC5taWwtYnV0dG9uIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7Cn0KLm1pbC1jaXJjbGUtdGV4dDpob3ZlciBzdmcgdGV4dCB7CiAgZmlsbDogcmdiKDI1NSwgMjU1LCAyNTUpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1jaXJjbGUtdGV4dCB7CiAgICBkaXNwbGF5OiBub25lOwogIH0KfQoKLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKbGluZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KQC13ZWJraXQta2V5ZnJhbWVzIG1vdmUgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTc1cHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTc1cHgpOwogIH0KICA1MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzVweCk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3NXB4KTsKICB9CiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTc1cHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTc1cHgpOwogIH0KfQpAa2V5ZnJhbWVzIG1vdmUgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTc1cHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTc1cHgpOwogIH0KICA1MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzVweCk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3NXB4KTsKICB9CiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTc1cHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTc1cHgpOwogIH0KfQoubWlsLWxpbmVzLXBsYWNlIC5taWwtbGluZXMgewogIG9wYWNpdHk6IDAuMDU7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHsKICAubWlsLWxpbmVzLXBsYWNlIC5taWwtbGluZXMgewogICAgZGlzcGxheTogbm9uZTsKICB9Cn0KLm1pbC1saW5lcy1wbGFjZSAubWlsLWxpbmVzIHBhdGgsIC5taWwtbGluZXMtcGxhY2UgLm1pbC1saW5lcyByZWN0LCAubWlsLWxpbmVzLXBsYWNlIC5taWwtbGluZXMgbGluZSB7CiAgc3Ryb2tlOiByZ2IoMCwgMCwgMCk7Cn0KLm1pbC1saW5lcy1wbGFjZSAubWlsLWxpbmVzIC5taWwtbW92ZSB7CiAgLXdlYmtpdC1hbmltYXRpb246IG1vdmUgMTBzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgICAgIGFuaW1hdGlvbjogbW92ZSAxMHMgbGluZWFyIGluZmluaXRlOwp9Ci5taWwtbGluZXMtcGxhY2UubWlsLWxpZ2h0IC5taWwtbGluZXMgewogIG9wYWNpdHk6IDAuMjsKfQoubWlsLWxpbmVzLXBsYWNlLm1pbC1saWdodCAubWlsLWxpbmVzIHBhdGgsIC5taWwtbGluZXMtcGxhY2UubWlsLWxpZ2h0IC5taWwtbGluZXMgcmVjdCwgLm1pbC1saW5lcy1wbGFjZS5taWwtbGlnaHQgLm1pbC1saW5lcyBsaW5lIHsKICBzdHJva2U6IHJnYigyNTUsIDI1NSwgMjU1KTsKfQoKLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKZG9kZWNhaGVkcm9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi5taWwtYW5pbWF0aW9uLWZyYW1lIHsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMHZoOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgLXdlYmtpdC1hbmltYXRpb246IGp1bXAgMTBzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgICAgIGFuaW1hdGlvbjoganVtcCAxMHMgbGluZWFyIGluZmluaXRlOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgoubWlsLWFuaW1hdGlvbiB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB3aWR0aDogMzAwcHg7CiAgaGVpZ2h0OiAzMDBweDsKICBvcGFjaXR5OiAwLjI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KCi5taWwtcG9zaXRpb24tMSB7CiAgdG9wOiAxMDBweDsKICByaWdodDogMTAwcHg7Cn0KLm1pbC1wb3NpdGlvbi0xIC5taWwtcGVudGFnb24gZGl2IHsKICBib3JkZXItdG9wOiAwLjFweCBzb2xpZCByZ2IoMjU1LCAyNTUsIDI1NSk7Cn0KCi5taWwtcG9zaXRpb24tMiB7CiAgdG9wOiAtNjBweDsKICBsZWZ0OiAxNSU7Cn0KLm1pbC1wb3NpdGlvbi0yIC5taWwtcGVudGFnb24gZGl2IHsKICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiKDI1NSwgMjU1LCAyNTUpOwp9Ci5taWwtcG9zaXRpb24tMiAubWlsLWRvZGVjYWhlZHJvbiB7CiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuNXM7CiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNXM7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQwMHB4KSB7CiAgLm1pbC1wb3NpdGlvbi0yIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQp9CgoubWlsLXBvc2l0aW9uLTMgewogIGJvdHRvbTogLTEwMHB4OwogIHJpZ2h0OiAzNSU7Cn0KLm1pbC1wb3NpdGlvbi0zIC5taWwtcGVudGFnb24gZGl2IHsKICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiKDI1NSwgMjU1LCAyNTUpOwp9Ci5taWwtcG9zaXRpb24tMyAubWlsLWRvZGVjYWhlZHJvbiB7CiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDFzOwogICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxczsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIHsKICAubWlsLXBvc2l0aW9uLTMgewogICAgZGlzcGxheTogbm9uZTsKICB9Cn0KCi5taWwtcG9zaXRpb24tNCB7CiAgdG9wOiAtNjBweDsKICByaWdodDogMjAlOwp9Ci5taWwtcG9zaXRpb24tNCAubWlsLXBlbnRhZ29uIGRpdiB7CiAgYm9yZGVyLXRvcDogMC4xcHggc29saWQgcmdiKDI1NSwgMjU1LCAyNTUpOwp9Ci5taWwtcG9zaXRpb24tNCAubWlsLWRvZGVjYWhlZHJvbiB7CiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuNXM7CiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNXM7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQwMHB4KSB7CiAgLm1pbC1wb3NpdGlvbi00IHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQp9Ci5taWwtcG9zaXRpb24tNC5taWwtZGFyayAubWlsLXBlbnRhZ29uIGRpdiB7CiAgYm9yZGVyLXRvcDogMC4xcHggc29saWQgcmdiKDAsIDAsIDApOwp9CgoubWlsLWRvZGVjYWhlZHJvbiB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGxlZnQ6IDEwMHB4OwogIHRvcDogNDBweDsKICB3aWR0aDogMTAwcHg7CiAgaGVpZ2h0OiAyMjNweDsKICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7CiAgICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOwogIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGUgMTAwcyBpbmZpbml0ZSBsaW5lYXI7CiAgICAgICAgICBhbmltYXRpb246IHJvdGF0ZSAxMDBzIGluZmluaXRlIGxpbmVhcjsKfQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpIHJvdGF0ZVkoMzYwZGVnKSByb3RhdGVaKDM2MGRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgwZGVnKSByb3RhdGVZKDM2MGRlZykgcm90YXRlWigzNjBkZWcpOwogIH0KICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgzNjBkZWcpIHJvdGF0ZVkoMGRlZykgcm90YXRlWigtMzYwZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDM2MGRlZykgcm90YXRlWSgwZGVnKSByb3RhdGVaKC0zNjBkZWcpOwogIH0KfQpAa2V5ZnJhbWVzIHJvdGF0ZSB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgwZGVnKSByb3RhdGVZKDM2MGRlZykgcm90YXRlWigzNjBkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZykgcm90YXRlWSgzNjBkZWcpIHJvdGF0ZVooMzYwZGVnKTsKICB9CiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoMzYwZGVnKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVooLTM2MGRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgzNjBkZWcpIHJvdGF0ZVkoMGRlZykgcm90YXRlWigtMzYwZGVnKTsKICB9Cn0KCi5taWwtcGVudGFnb24gewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogMTAwcHg7Cn0KLm1pbC1wZW50YWdvbjpudGgtY2hpbGQoMSkgewogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDAuMnR1cm4pIHRyYW5zbGF0ZVooNjlweCkgcm90YXRlWCgyNi41ZGVnKTsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgwLjJ0dXJuKSB0cmFuc2xhdGVaKDY5cHgpIHJvdGF0ZVgoMjYuNWRlZyk7Cn0KLm1pbC1wZW50YWdvbjpudGgtY2hpbGQoNikgewogIGJvdHRvbTogMDsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgwLjJ0dXJuKSB0cmFuc2xhdGVaKC02OXB4KSByb3RhdGVYKDIwNi41ZGVnKTsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgwLjJ0dXJuKSB0cmFuc2xhdGVaKC02OXB4KSByb3RhdGVYKDIwNi41ZGVnKTsKfQoubWlsLXBlbnRhZ29uOm50aC1jaGlsZCgyKSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoMC40dHVybikgdHJhbnNsYXRlWig2OXB4KSByb3RhdGVYKDI2LjVkZWcpOwogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDAuNHR1cm4pIHRyYW5zbGF0ZVooNjlweCkgcm90YXRlWCgyNi41ZGVnKTsKfQoubWlsLXBlbnRhZ29uOm50aC1jaGlsZCg3KSB7CiAgYm90dG9tOiAwOwogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDAuNHR1cm4pIHRyYW5zbGF0ZVooLTY5cHgpIHJvdGF0ZVgoMjA2LjVkZWcpOwogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDAuNHR1cm4pIHRyYW5zbGF0ZVooLTY5cHgpIHJvdGF0ZVgoMjA2LjVkZWcpOwp9Ci5taWwtcGVudGFnb246bnRoLWNoaWxkKDMpIHsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgwLjZ0dXJuKSB0cmFuc2xhdGVaKDY5cHgpIHJvdGF0ZVgoMjYuNWRlZyk7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMC42dHVybikgdHJhbnNsYXRlWig2OXB4KSByb3RhdGVYKDI2LjVkZWcpOwp9Ci5taWwtcGVudGFnb246bnRoLWNoaWxkKDgpIHsKICBib3R0b206IDA7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoMC42dHVybikgdHJhbnNsYXRlWigtNjlweCkgcm90YXRlWCgyMDYuNWRlZyk7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMC42dHVybikgdHJhbnNsYXRlWigtNjlweCkgcm90YXRlWCgyMDYuNWRlZyk7Cn0KLm1pbC1wZW50YWdvbjpudGgtY2hpbGQoNCkgewogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDAuOHR1cm4pIHRyYW5zbGF0ZVooNjlweCkgcm90YXRlWCgyNi41ZGVnKTsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgwLjh0dXJuKSB0cmFuc2xhdGVaKDY5cHgpIHJvdGF0ZVgoMjYuNWRlZyk7Cn0KLm1pbC1wZW50YWdvbjpudGgtY2hpbGQoOSkgewogIGJvdHRvbTogMDsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgwLjh0dXJuKSB0cmFuc2xhdGVaKC02OXB4KSByb3RhdGVYKDIwNi41ZGVnKTsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgwLjh0dXJuKSB0cmFuc2xhdGVaKC02OXB4KSByb3RhdGVYKDIwNi41ZGVnKTsKfQoubWlsLXBlbnRhZ29uOm50aC1jaGlsZCg1KSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoMXR1cm4pIHRyYW5zbGF0ZVooNjlweCkgcm90YXRlWCgyNi41ZGVnKTsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgxdHVybikgdHJhbnNsYXRlWig2OXB4KSByb3RhdGVYKDI2LjVkZWcpOwp9Ci5taWwtcGVudGFnb246bnRoLWNoaWxkKDEwKSB7CiAgYm90dG9tOiAwOwogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDF0dXJuKSB0cmFuc2xhdGVaKC02OXB4KSByb3RhdGVYKDIwNi41ZGVnKTsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgxdHVybikgdHJhbnNsYXRlWigtNjlweCkgcm90YXRlWCgyMDYuNWRlZyk7Cn0KLm1pbC1wZW50YWdvbjpudGgtY2hpbGQoMTEpIHsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWig2OXB4KSByb3RhdGVYKC05MGRlZyk7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooNjlweCkgcm90YXRlWCgtOTBkZWcpOwp9Ci5taWwtcGVudGFnb246bnRoLWNoaWxkKDEyKSB7CiAgYm90dG9tOiAwOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC02OXB4KSByb3RhdGVYKDkwZGVnKTsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigtNjlweCkgcm90YXRlWCg5MGRlZyk7Cn0KLm1pbC1wZW50YWdvbiBkaXYgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogMTAwcHg7CiAgaGVpZ2h0OiA2OXB4OwogIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tOwogICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tOwp9Ci5taWwtcGVudGFnb24gZGl2Om50aC1jaGlsZCgxKSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwLjJ0dXJuKTsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDAuMnR1cm4pOwp9Ci5taWwtcGVudGFnb24gZGl2Om50aC1jaGlsZCgyKSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwLjR0dXJuKTsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDAuNHR1cm4pOwp9Ci5taWwtcGVudGFnb24gZGl2Om50aC1jaGlsZCgzKSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwLjZ0dXJuKTsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDAuNnR1cm4pOwp9Ci5taWwtcGVudGFnb24gZGl2Om50aC1jaGlsZCg0KSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwLjh0dXJuKTsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDAuOHR1cm4pOwp9Ci5taWwtcGVudGFnb24gZGl2Om50aC1jaGlsZCg1KSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBqdW1wIHsKICAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7CiAgfQogIDUwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOwogIH0KICAxMDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTsKICB9Cn0KCkBrZXlmcmFtZXMganVtcCB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpOwogIH0KICA1MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTsKICB9CiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7CiAgfQp9Ci8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmFib3V0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi5taWwtYWJvdXQtcXVvdGUgewogIGRpc3BsYXk6IC13ZWJraXQtYm94OwogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTsKICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKfQoubWlsLWFib3V0LXF1b3RlIC5taWwtYXZhdGFyIHsKICB3aWR0aDogOTBweDsKICBoZWlnaHQ6IDkwcHg7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoubWlsLWFib3V0LXF1b3RlIC5taWwtYXZhdGFyOmFmdGVyIHsKICBjb250ZW50OiAnICIgJzsKICBjb2xvcjogcmdiKDAsIDAsIDApOwogIHdpZHRoOiAzMHB4OwogIGhlaWdodDogMzBweDsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMTUyLCAwKTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgYm90dG9tOiAwOwogIHJpZ2h0OiAwOwogIGRpc3BsYXk6IC13ZWJraXQtYm94OwogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgcGFkZGluZy10b3A6IDEycHg7CiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBmb250LXNpemU6IDM2cHg7Cn0KLm1pbC1hYm91dC1xdW90ZSAubWlsLWF2YXRhciBpbWcgewogIGJvcmRlci1yYWRpdXM6IDUwJTsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgLW8tb2JqZWN0LWZpdDogY292ZXI7CiAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgLW8tb2JqZWN0LXBvc2l0aW9uOiB0b3A7CiAgICAgb2JqZWN0LXBvc2l0aW9uOiB0b3A7Cn0KLm1pbC1hYm91dC1xdW90ZSAubWlsLXF1b3RlIHsKICBwYWRkaW5nLWxlZnQ6IDMwcHg7CiAgd2lkdGg6IGNhbGMoMTAwJSAtIDkwcHgpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1hYm91dC1xdW90ZSAubWlsLWF2YXRhciB7CiAgICB3aWR0aDogNzBweDsKICAgIGhlaWdodDogNzBweDsKICB9CiAgLm1pbC1hYm91dC1xdW90ZSAubWlsLWF2YXRhcjphZnRlciB7CiAgICBwYWRkaW5nLXRvcDogN3B4OwogICAgd2lkdGg6IDI1cHg7CiAgICBoZWlnaHQ6IDI1cHg7CiAgICBmb250LXNpemU6IDI0cHg7CiAgfQogIC5taWwtYWJvdXQtcXVvdGUgLm1pbC1xdW90ZSB7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7CiAgICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7CiAgfQp9CgoubWlsLWFib3V0LXBob3RvIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLm1pbC1hYm91dC1waG90byAubWlsLWxpbmVzLXBsYWNlIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAtMTIwcHg7CiAgbGVmdDogLTI3JTsKfQoKLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKcGFydG5lcnMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLm1pbC1pbmZpbml0ZS1zaG93IC5zd2lwZXItd3JhcHBlciB7CiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOwogICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsKfQoKLm1pbC1wYXJ0bmVyLWZyYW1lIHsKICBkaXNwbGF5OiBibG9jazsKfQoubWlsLXBhcnRuZXItZnJhbWUgaW1nIHsKICB3aWR0aDogMTAwJTsKfQoKLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKc2VydmljZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLm1pbC1jb21wbGV4LXRleHQgewogIGRpc3BsYXk6IC13ZWJraXQtYm94OwogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KLm1pbC1jb21wbGV4LXRleHQgLm1pbC1idXR0b24gewogIG1hcmdpbi1sZWZ0OiAzMHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgLm1pbC1jb21wbGV4LXRleHQgewogICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIH0KICAubWlsLWNvbXBsZXgtdGV4dCAubWlsLWJ1dHRvbiB7CiAgICBtYXJnaW4tbGVmdDogMDsKICAgIG1hcmdpbi10b3A6IDYwcHg7CiAgfQp9CgoubWlsLXRleHQtaW1hZ2UgewogIGhlaWdodDogODBweDsKICB3aWR0aDogMjUwcHg7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIG92ZXJmbG93OiBoaWRkZW47CiAgYm9yZGVyLXJhZGl1czogNzBweDsKICBtYXJnaW4tcmlnaHQ6IDMwcHg7Cn0KLm1pbC10ZXh0LWltYWdlIGltZyB7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIC1vLW9iamVjdC1maXQ6IGNvdmVyOwogICAgIG9iamVjdC1maXQ6IGNvdmVyOwogIC1vLW9iamVjdC1wb3NpdGlvbjogdG9wOwogICAgIG9iamVjdC1wb3NpdGlvbjogdG9wOwogIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKICB0cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwp9Ci5taWwtdGV4dC1pbWFnZTpob3ZlciBpbWcgewogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKICAubWlsLXRleHQtaW1hZ2UgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW46IDAgMCAzMHB4IDA7CiAgfQp9CgoubWlsLXNlcnZpY2UtY2FyZC1zbSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGRpc3BsYXk6IGJsb2NrOwogIHBhZGRpbmc6IDYwcHggMzBweDsKfQoubWlsLXNlcnZpY2UtY2FyZC1zbSBwIHsKICBvcGFjaXR5OiAwOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOwogIG92ZXJmbG93OiBoaWRkZW47CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgLXdlYmtpdC1saW5lLWNsYW1wOiAzOwogIGxpbmUtY2xhbXA6IDM7CiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAtd2Via2l0LXRyYW5zaXRpb246IDAuNHMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMzY0MiwgMSk7CiAgdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKfQoubWlsLXNlcnZpY2UtY2FyZC1zbSAubWlsLWJ1dHRvbiB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMyk7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMyk7CiAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTsKICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpOwogIG9wYWNpdHk6IDAuNDsKfQoubWlsLXNlcnZpY2UtY2FyZC1zbTpiZWZvcmUgewogIGNvbnRlbnQ6ICIiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgbGVmdDogMDsKICBoZWlnaHQ6IDRweDsKICB3aWR0aDogMDsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAxNTIsIDApOwogIC13ZWJraXQtdHJhbnNpdGlvbjogMC42cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKICB0cmFuc2l0aW9uOiAwLjZzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwp9Ci5taWwtc2VydmljZS1jYXJkLXNtOmhvdmVyIHAgewogIG9wYWNpdHk6IDE7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7Cn0KLm1pbC1zZXJ2aWNlLWNhcmQtc206aG92ZXIgLm1pbC1idXR0b24gewogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgwKTsKICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDApOwogIG9wYWNpdHk6IDE7Cn0KLm1pbC1zZXJ2aWNlLWNhcmQtc206aG92ZXI6YmVmb3JlIHsKICB3aWR0aDogMTAwJTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogIC5taWwtc2VydmljZS1jYXJkLXNtIHAgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgfQogIC5taWwtc2VydmljZS1jYXJkLXNtIC5taWwtYnV0dG9uIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMCk7CiAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDApOwogICAgb3BhY2l0eTogMTsKICB9Cn0KCi5taWwtc2VydmljZXMtZ3JpZCB7CiAgYm9yZGVyLXRvcDogc29saWQgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsKfQoubWlsLXNlcnZpY2VzLWdyaWQgLm1pbC1zZXJ2aWNlcy1ncmlkLWl0ZW0gewogIGJvcmRlci1yaWdodDogc29saWQgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsKfQoubWlsLXNlcnZpY2VzLWdyaWQgLm1pbC1zZXJ2aWNlcy1ncmlkLWl0ZW06Zmlyc3QtY2hpbGQgewogIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1zZXJ2aWNlcy1ncmlkIHsKICAgIHBhZGRpbmctYm90dG9tOiA5MHB4OwogIH0KICAubWlsLXNlcnZpY2VzLWdyaWQgLm1pbC1zZXJ2aWNlcy1ncmlkLWl0ZW0gewogICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsKICB9CiAgLm1pbC1zZXJ2aWNlcy1ncmlkIC5taWwtc2VydmljZXMtZ3JpZC1pdGVtOm50aC1jaGlsZCgzKSB7CiAgICBib3JkZXItbGVmdDogc29saWQgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsKICB9Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKICAubWlsLXNlcnZpY2VzLWdyaWQgewogICAgcGFkZGluZy1ib3R0b206IDkwcHg7CiAgfQogIC5taWwtc2VydmljZXMtZ3JpZCAubWlsLXNlcnZpY2VzLWdyaWQtaXRlbSB7CiAgICBib3JkZXItbGVmdDogc29saWQgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsKICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7CiAgfQp9CgoubWlsLXNlcnZpY2UtY2FyZC1sZyB7CiAgZGlzcGxheTogYmxvY2s7Cn0KLm1pbC1zZXJ2aWNlLWNhcmQtbGcgLm1pbC1kZXNjciB7CiAgcGFkZGluZy1yaWdodDogMzBweDsKfQoubWlsLXNlcnZpY2UtY2FyZC1sZy5taWwtb2Zmc2V0IHsKICBtYXJnaW4tdG9wOiA2MHB4OwogIG1hcmdpbi1ib3R0b206IDYwcHg7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHsKICAubWlsLXNlcnZpY2UtY2FyZC1sZy5taWwtb2Zmc2V0IHsKICAgIG1hcmdpbi10b3A6IDA7CiAgfQp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1zZXJ2aWNlLWNhcmQtbGcgewogICAgbWFyZ2luLWJvdHRvbTogNjBweDsKICB9Cn0KLm1pbC1zZXJ2aWNlLWNhcmQtbGcubWlsLW90aGVyLWNhcmQgewogIG92ZXJmbG93OiBoaWRkZW47CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGJvcmRlcjogc29saWQgMXB4IHJnYigyMjksIDIyOSwgMjI5KTsKICBwYWRkaW5nOiA2MHB4OwogIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKICB0cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwp9Ci5taWwtc2VydmljZS1jYXJkLWxnLm1pbC1vdGhlci1jYXJkIC5taWwtZGVzY3IgewogIHBhZGRpbmctcmlnaHQ6IDA7Cn0KLm1pbC1zZXJ2aWNlLWNhcmQtbGcubWlsLW90aGVyLWNhcmQ6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDE1MiwgMCk7Cn0KLm1pbC1zZXJ2aWNlLWNhcmQtbGcubWlsLW90aGVyLWNhcmQ6aG92ZXIgLm1pbC1saW5rIHN2ZyB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDAsIDApOwp9Ci5taWwtc2VydmljZS1jYXJkLWxnLm1pbC1vdGhlci1jYXJkOmhvdmVyIC5taWwtbGluayBzdmcgcGF0aCB7CiAgZmlsbDogcmdiKDI1NSwgMTUyLCAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHsKICAubWlsLXNlcnZpY2UtY2FyZC1sZy5taWwtb3RoZXItY2FyZCB7CiAgICBwYWRkaW5nOiAzMHB4OwogIH0KfQoKLm1pbC1zZXJ2aWNlLWxpc3QgbGkgewogIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7CiAgbGlzdC1zdHlsZS10eXBlOiBub25lOwogIHBhZGRpbmc6IDE1cHggMDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGxldHRlci1zcGFjaW5nOiAycHg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LXNpemU6IDEycHg7Cn0KLm1pbC1zZXJ2aWNlLWxpc3QgbGk6Zmlyc3QtY2hpbGQgewogIGJvcmRlci10b3A6IHNvbGlkIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7Cn0KLm1pbC1zZXJ2aWNlLWxpc3QubWlsLWxpZ2h0IGxpIHsKICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOwp9Ci5taWwtc2VydmljZS1saXN0IGxpIHsKICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpOwp9Ci5taWwtc2VydmljZS1saXN0IGxpOmZpcnN0LWNoaWxkIHsKICBib3JkZXItdG9wOiBzb2xpZCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpOwp9CgovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgp0ZWFtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi5taWwtdGVhbS1jYXJkIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwYWRkaW5nLWJvdHRvbTogMTMwJTsKfQoubWlsLXRlYW0tY2FyZDphZnRlciB7CiAgY29udGVudDogIiI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGJvdHRvbTogMDsKICBsZWZ0OiAwOwogIGhlaWdodDogNHB4OwogIHdpZHRoOiAwOwogIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDE1MiwgMCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjZzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwogIHRyYW5zaXRpb246IDAuNnMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMzY0MiwgMSk7Cn0KLm1pbC10ZWFtLWNhcmQgaW1nIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIC1vLW9iamVjdC1maXQ6IGNvdmVyOwogICAgIG9iamVjdC1maXQ6IGNvdmVyOwogIC1vLW9iamVjdC1wb3NpdGlvbjogdG9wOwogICAgIG9iamVjdC1wb3NpdGlvbjogdG9wOwogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwogIHRyYW5zaXRpb246IDAuNHMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMzY0MiwgMSk7Cn0KLm1pbC10ZWFtLWNhcmQubWlsLW9mZnNldC1jYXJkIHsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2MHB4KTsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2MHB4KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogIC5taWwtdGVhbS1jYXJkLm1pbC1vZmZzZXQtY2FyZCB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lOwogIH0KfQoubWlsLXRlYW0tY2FyZCAubWlsLWRlc2NyaXB0aW9uIHsKICBvcGFjaXR5OiAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKICBsZWZ0OiAwOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTAwJTsKICBwYWRkaW5nOiA2MHB4IDMwcHg7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgLXdlYmtpdC1ib3gtcGFjazogZW5kOwogICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIC13ZWJraXQtdHJhbnNpdGlvbjogMC42cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKICB0cmFuc2l0aW9uOiAwLjZzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwp9Ci5taWwtdGVhbS1jYXJkIC5taWwtZGVzY3JpcHRpb24gLm1pbC1zZWNyYy10ZXh0IHsKICBvcGFjaXR5OiAwOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1cHgpOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1cHgpOwogIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKICB0cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMHM7CiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwczsKfQoubWlsLXRlYW0tY2FyZCAubWlsLWRlc2NyaXB0aW9uIC5taWwtc2VjcmMtdGV4dCBhIHsKICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOwogIC13ZWJraXQtdHJhbnNpdGlvbjogMC4ycyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKICB0cmFuc2l0aW9uOiAwLjJzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwp9Ci5taWwtdGVhbS1jYXJkIC5taWwtZGVzY3JpcHRpb24gLm1pbC1zZWNyYy10ZXh0IGE6aG92ZXIgewogIGNvbG9yOiByZ2IoMjU1LCAxNTIsIDApOwp9Ci5taWwtdGVhbS1jYXJkOmhvdmVyIGltZyB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKfQoubWlsLXRlYW0tY2FyZDpob3ZlcjphZnRlciB7CiAgd2lkdGg6IDEwMCU7Cn0KLm1pbC10ZWFtLWNhcmQ6aG92ZXIgLm1pbC1kZXNjcmlwdGlvbiB7CiAgb3BhY2l0eTogMTsKICBwb2ludGVyLWV2ZW50czogYWxsOwp9Ci5taWwtdGVhbS1jYXJkOmhvdmVyIC5taWwtZGVzY3JpcHRpb24gLm1pbC1zZWNyYy10ZXh0IHsKICBvcGFjaXR5OiAxOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMC4xczsKICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7Cn0KCi5taWwtdGVhbS1saXN0IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLm1pbC10ZWFtLWxpc3QgLm1pbC1saW5lcy1wbGFjZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogLTEyMHB4OwogIGxlZnQ6IC0yMi41JTsKfQoKLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKc29jaWFsIGljb25zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi5taWwtc29jaWFsLWljb25zIHsKICBwYWRkaW5nOiAwOwogIG1hcmdpbjogMDsKICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICBkaXNwbGF5OiBmbGV4Owp9Ci5taWwtc29jaWFsLWljb25zLm1pbC1jZW50ZXIgewogIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLm1pbC1zb2NpYWwtaWNvbnMgbGkgewogIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKICBtYXJnaW4tcmlnaHQ6IDE1cHg7Cn0KLm1pbC1zb2NpYWwtaWNvbnMgbGk6bGFzdC1jaGlsZCB7CiAgbWFyZ2luLXJpZ2h0OiAwOwp9Ci5taWwtc29jaWFsLWljb25zIGxpIGEgewogIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7CiAgZm9udC1zaXplOiAxOHB4OwogIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKICB0cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwp9Ci5taWwtc29jaWFsLWljb25zIGxpIGEgc3ZnIHsKICB3aWR0aDogMThweDsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgZmlsbDogcmdiKDI1NSwgMjU1LCAyNTUpOwp9Ci5taWwtc29jaWFsLWljb25zIGxpIGE6aG92ZXIgewogIGNvbG9yOiByZ2IoMjU1LCAxNTIsIDApOwp9Ci5taWwtc29jaWFsLWljb25zIGxpIGE6aG92ZXIgc3ZnIHsKICBmaWxsOiByZ2IoMjU1LCAxNTIsIDApOwp9Ci5taWwtc29jaWFsLWljb25zLm1pbC1kYXJrIGxpIGEgewogIGNvbG9yOiByZ2IoMCwgMCwgMCk7Cn0KLm1pbC1zb2NpYWwtaWNvbnMubWlsLWRhcmsgbGkgYTpob3ZlciB7CiAgY29sb3I6IHJnYigyNTUsIDE1MiwgMCk7Cn0KLm1pbC1zb2NpYWwtaWNvbnMubWlsLWRhcmsgbGkgYTpob3ZlciBzdmcgewogIGZpbGw6IHJnYigyNTUsIDE1MiwgMCk7Cn0KCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCnJldmlldnMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLm1pbC1yZXZpLXBhZ2luYXRpb24gewogIGRpc3BsYXk6IC13ZWJraXQtYm94OwogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogIC5taWwtcmV2aS1wYWdpbmF0aW9uIHsKICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogIH0KfQoubWlsLXJldmktcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiAxMTBweDsKICBoZWlnaHQ6IDExMHB4OwogIHBhZGRpbmc6IDEwcHg7CiAgb3BhY2l0eTogMTsKICBib3JkZXI6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpICFpbXBvcnRhbnQ7CiAgdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKSAhaW1wb3J0YW50Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1yZXZpLXBhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7CiAgICB3aWR0aDogOTBweDsKICAgIGhlaWdodDogOTBweDsKICB9Cn0KLm1pbC1yZXZpLXBhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldDpudGgtY2hpbGQoMm4pIHsKICBtYXJnaW4tdG9wOiAzMHB4ICFpbXBvcnRhbnQ7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHsKICAubWlsLXJldmktcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0Om50aC1jaGlsZCgybikgewogICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OwogIH0KfQoubWlsLXJldmktcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0OmhvdmVyIHsKICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCByZ2IoMjU1LCAyNTUsIDI1NSk7CiAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA0cHggcmdiKDI1NSwgMjU1LCAyNTUpOwp9Ci5taWwtcmV2aS1wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQgLm1pbC1jdXN0b20tZG90IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CiAgd2lkdGg6IDkwcHg7CiAgaGVpZ2h0OiA5MHB4OwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogIGJhY2tncm91bmQtcG9zaXRpb246IHRvcDsKICAtd2Via2l0LXRyYW5zaXRpb246IDAuNHMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMzY0MiwgMSkgIWltcG9ydGFudDsKICB0cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpICFpbXBvcnRhbnQ7CiAgZGlzcGxheTogYmxvY2s7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHsKICAubWlsLXJldmktcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IC5taWwtY3VzdG9tLWRvdCB7CiAgICB3aWR0aDogNzBweDsKICAgIGhlaWdodDogNzBweDsKICB9Cn0KLm1pbC1yZXZpLXBhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHsKICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCByZ2IoMjU1LCAxNTIsIDApOwogICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4IHJnYigyNTUsIDE1MiwgMCk7Cn0KCi5taWwtcXVvdGUtaWNvbiB7CiAgZGlzcGxheTogYmxvY2s7CiAgbWFyZ2luOiAwIGF1dG87CiAgd2lkdGg6IDQwcHg7CiAgaGVpZ2h0OiA0MHB4OwogIG1hcmdpbi1ib3R0b206IDE1cHg7Cn0KLm1pbC1xdW90ZS1pY29uIHBhdGggewogIGZpbGw6IHJnYigyNTUsIDE1MiwgMCk7Cn0KCi5taWwtc2xpZGVyLW5hdiB7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKfQoubWlsLXNsaWRlci1uYXYgLm1pbC1zbGlkZXItYXJyb3cgewogIHdpZHRoOiA0MHB4OwogIGhlaWdodDogNDBweDsKICBwYWRkaW5nOiAxMHB4OwogIGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAwLCAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY3Vyc29yOiBwb2ludGVyOwogIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKICB0cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwp9Ci5taWwtc2xpZGVyLW5hdiAubWlsLXNsaWRlci1hcnJvdyBzdmcgcGF0aCB7CiAgZmlsbDogcmdiKDI1NSwgMTUyLCAwKTsKfQoubWlsLXNsaWRlci1uYXYgLm1pbC1zbGlkZXItYXJyb3cubWlsLXByZXYgewogIG1hcmdpbi1yaWdodDogMTBweDsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOwp9Ci5taWwtc2xpZGVyLW5hdiAubWlsLXNsaWRlci1hcnJvdy5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHsKICBvcGFjaXR5OiAwLjE7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKfQoubWlsLXNsaWRlci1uYXYgLm1pbC1zbGlkZXItYXJyb3c6aG92ZXIgewogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7Cn0KLm1pbC1zbGlkZXItbmF2IC5taWwtc2xpZGVyLWFycm93OmhvdmVyLm1pbC1wcmV2IHsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgc2NhbGUoMS4xNSk7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHNjYWxlKDEuMTUpOwp9Ci5taWwtc2xpZGVyLW5hdi5taWwtcmV2aWV3cy1uYXYgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDE2MHB4OwogIGxlZnQ6IDA7CiAgd2lkdGg6IDEwMCU7CiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTsKICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogIC5taWwtc2xpZGVyLW5hdi5taWwtcmV2aWV3cy1uYXYgewogICAgdG9wOiAwOwogIH0KfQoubWlsLXNsaWRlci1uYXYubWlsLXNvZnQgLm1pbC1zbGlkZXItYXJyb3cgewogIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjksIDIyOSwgMjI5KTsKfQoubWlsLXNsaWRlci1uYXYubWlsLXNvZnQgLm1pbC1zbGlkZXItYXJyb3cgc3ZnIHBhdGggewogIGZpbGw6IHJnYigwLCAwLCAwKTsKfQoKLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKYmxvZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoubWlsLWJsb2ctY2FyZCB7CiAgZGlzcGxheTogYmxvY2s7Cn0KLm1pbC1ibG9nLWNhcmQgLm1pbC1jb3Zlci1mcmFtZSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZy1ib3R0b206IDY1JTsKICBtYXJnaW4tYm90dG9tOiAzMHB4Owp9Ci5taWwtYmxvZy1jYXJkIC5taWwtY292ZXItZnJhbWUgaW1nIHsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgLW8tb2JqZWN0LWZpdDogY292ZXI7CiAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgLW8tb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7CiAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKICBsZWZ0OiAwOwogIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKICB0cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwp9Ci5taWwtYmxvZy1jYXJkIC5taWwtcG9zdC1kZXNjciB7CiAgcGFkZGluZzogMzBweCAzMHB4IDAgMDsKfQoubWlsLWJsb2ctY2FyZCAubWlsLXBvc3QtZGVzY3IgLm1pbC1wb3N0LXRleHQgLm1pbC1lbC1tb3JlIHsKICBkaXNwbGF5OiBibG9jazsKICBtYXJnaW4tdG9wOiAzMHB4Owp9Ci5taWwtYmxvZy1jYXJkOmhvdmVyIC5taWwtY292ZXItZnJhbWUgaW1nIHsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwp9Ci5taWwtYmxvZy1jYXJkLm1pbC1ibG9nLWNhcmQtaG9yaSB7CiAgcGFkZGluZy10b3A6IDYwcHg7CiAgYm9yZGVyLXRvcDogc29saWQgMXB4IHJnYigyMjksIDIyOSwgMjI5KTsKICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICBkaXNwbGF5OiBmbGV4OwogIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwp9Ci5taWwtYmxvZy1jYXJkLm1pbC1ibG9nLWNhcmQtaG9yaSAubWlsLWNvdmVyLWZyYW1lIHsKICBtYXJnaW4tYm90dG9tOiAwOwogIHdpZHRoOiA0NTBweDsKICBwYWRkaW5nLWJvdHRvbTogMjclOwp9Ci5taWwtYmxvZy1jYXJkLm1pbC1ibG9nLWNhcmQtaG9yaSAubWlsLXBvc3QtZGVzY3IgewogIHdpZHRoOiBjYWxjKDEwMCUgLSA0NTBweCk7CiAgcGFkZGluZzogMDsKICBwYWRkaW5nLWxlZnQ6IDYwcHg7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHsKICAubWlsLWJsb2ctY2FyZC5taWwtYmxvZy1jYXJkLWhvcmkgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBwYWRkaW5nLXRvcDogMDsKICAgIGJvcmRlcjogbm9uZTsKICB9CiAgLm1pbC1ibG9nLWNhcmQubWlsLWJsb2ctY2FyZC1ob3JpIC5taWwtY292ZXItZnJhbWUgewogICAgd2lkdGg6IDEwMCU7CiAgICBwYWRkaW5nLWJvdHRvbTogNjUlOwogICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICB9CiAgLm1pbC1ibG9nLWNhcmQubWlsLWJsb2ctY2FyZC1ob3JpIC5taWwtcG9zdC1kZXNjciB7CiAgICB3aWR0aDogMTAwJTsKICAgIHBhZGRpbmc6IDMwcHggMzBweCAwIDA7CiAgfQp9CgoubWlsLWxhYmVscyB7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBwYWRkaW5nOiAwOwp9Ci5taWwtbGFiZWxzIC5taWwtbGFiZWwgewogIG1hcmdpbi1yaWdodDogMTVweDsKfQoubWlsLWxhYmVscyAubWlsLWxhYmVsOmxhc3QtY2hpbGQgewogIG1hcmdpbi1yaWdodDogMDsKfQoKLm1pbC1wYWdpbmF0aW9uIHsKICBwYWRkaW5nLXRvcDogNjBweDsKICBib3JkZXItdG9wOiBzb2xpZCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogIGRpc3BsYXk6IC13ZWJraXQtYm94OwogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBtYXJnaW4tdG9wOiAyMHB4Owp9CgoubWlsLXBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycyB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHdpZHRoOiA0MHB4OwogIGhlaWdodDogNDBweDsKICBmb250LXNpemU6IDEycHg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpOwogIGNvbG9yOiByZ2IoMCwgMCwgMCk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIGxpbmUtaGVpZ2h0OiA0MHB4OwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICBtYXJnaW4tcmlnaHQ6IDEwcHg7Cn0KCi5taWwtcGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLmN1cnJlbnQgewogIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDE1MiwgMCk7Cn0KCi5taWwtcGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLmRvdHMgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Owp9CgoubWlsLWNhdGVnb3J5LWxpc3QgewogIGRpc3BsYXk6IC13ZWJraXQtYm94OwogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7Cn0KLm1pbC1jYXRlZ29yeS1saXN0IGxpIHsKICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7CiAgbWFyZ2luLXJpZ2h0OiAxMHB4Owp9Ci5taWwtY2F0ZWdvcnktbGlzdCBsaTpsYXN0LWNoaWxkIHsKICBtYXJnaW4tcmlnaHQ6IDA7Cn0KLm1pbC1jYXRlZ29yeS1saXN0IGxpIGEgewogIGhlaWdodDogNDBweDsKICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7CiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94OwogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgcGFkZGluZzogMCAyMHB4OwogIGJvcmRlci1yYWRpdXM6IDQwcHg7CiAgY29sb3I6IHJnYigwLCAwLCAwKTsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGZvbnQtc2l6ZTogMTJweDsKICBmb250LXdlaWdodDogNTAwOwogIGxldHRlci1zcGFjaW5nOiAycHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwogIHRyYW5zaXRpb246IDAuNHMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMzY0MiwgMSk7Cn0KLm1pbC1jYXRlZ29yeS1saXN0IGxpIGE6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjksIDIyOSwgMjI5KTsKfQoubWlsLWNhdGVnb3J5LWxpc3QgbGkgYS5taWwtYWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAxNTIsIDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgLm1pbC1jYXRlZ29yeS1saXN0IHsKICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgfQogIC5taWwtY2F0ZWdvcnktbGlzdCBsaSB7CiAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0OwogICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgfQogIC5taWwtY2F0ZWdvcnktbGlzdCBsaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgfQogIC5taWwtY2F0ZWdvcnktbGlzdCBsaSBhIHsKICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0OwogICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0OwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgfQp9CgovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpmb290ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLm1pbC1mb290ZXItbWVudSB7CiAgbWFyZ2luLWJvdHRvbTogMTIwcHg7Cn0KLm1pbC1mb290ZXItbWVudSB1bCBsaSB7CiAgbGlzdC1zdHlsZS10eXBlOiBub25lOwogIG1hcmdpbi1ib3R0b206IDMwcHg7Cn0KLm1pbC1mb290ZXItbWVudSB1bCBsaSBhIHsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtc2l6ZTogMjhweDsKICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOwogIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKICB0cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwp9Ci5taWwtZm9vdGVyLW1lbnUgdWwgbGkgYTpob3ZlciB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7CiAgY29sb3I6IHJnYigyNTUsIDE1MiwgMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKICAubWlsLWZvb3Rlci1tZW51IHVsIGxpIGEgewogICAgZm9udC1zaXplOiAyMnB4OwogIH0KfQoubWlsLWZvb3Rlci1tZW51IHVsIGxpLm1pbC1hY3RpdmUgYSwKLm1pbC1mb290ZXItbWVudSB1bCBsaS5jdXJyZW50LW1lbnUtaXRlbSBhIHsKICBjb2xvcjogcmdiKDI1NSwgMTUyLCAwKTsKfQoubWlsLWZvb3Rlci1tZW51IHVsIGxpLm1pbC1hY3RpdmUgYTpob3ZlciB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKICAubWlsLWZvb3Rlci1tZW51IHsKICAgIG1hcmdpbi1ib3R0b206IDYwcHg7CiAgfQp9CgoubWlsLXN1YnNjcmliZS1mb3JtIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgaGVpZ2h0OiA3MHB4OwogIHdpZHRoOiAxMDAlOwp9Ci5taWwtc3Vic2NyaWJlLWZvcm0gaW5wdXQgewogIGhlaWdodDogNzBweDsKICB3aWR0aDogMTAwJTsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7CiAgY29sb3I6IHJnYigwLCAwLCAwKTsKICBmb250LXNpemU6IDEycHg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGxldHRlci1zcGFjaW5nOiAycHg7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IDcwcHg7CiAgcGFkZGluZzogMCAwIDAgNTBweDsKICAtd2Via2l0LXRyYW5zaXRpb246IDAuNHMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMzY0MiwgMSk7CiAgdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogIC5taWwtc3Vic2NyaWJlLWZvcm0gaW5wdXQgewogICAgcGFkZGluZy1sZWZ0OiAzMHB4OwogIH0KfQoubWlsLXN1YnNjcmliZS1mb3JtIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsKICBjb2xvcjogcmdiKDEyOCwgMTI4LCAxMjgpOwogIGZvbnQtZmFtaWx5OiAiT3V0Zml0Iiwgc2Fucy1zZXJpZjsKICBmb250LXNpemU6IDEycHg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGxldHRlci1zcGFjaW5nOiAycHg7Cn0KLm1pbC1zdWJzY3JpYmUtZm9ybSBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHJnYigxMjgsIDEyOCwgMTI4KTsKICBmb250LWZhbWlseTogIk91dGZpdCIsIHNhbnMtc2VyaWY7CiAgZm9udC1zaXplOiAxMnB4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBsZXR0ZXItc3BhY2luZzogMnB4Owp9Ci5taWwtc3Vic2NyaWJlLWZvcm0gaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsKICBjb2xvcjogcmdiKDEyOCwgMTI4LCAxMjgpOwogIGZvbnQtZmFtaWx5OiAiT3V0Zml0Iiwgc2Fucy1zZXJpZjsKICBmb250LXNpemU6IDEycHg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGxldHRlci1zcGFjaW5nOiAycHg7Cn0KLm1pbC1zdWJzY3JpYmUtZm9ybSBpbnB1dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsKICBjb2xvcjogcmdiKDEyOCwgMTI4LCAxMjgpOwogIGZvbnQtZmFtaWx5OiAiT3V0Zml0Iiwgc2Fucy1zZXJpZjsKICBmb250LXNpemU6IDEycHg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGxldHRlci1zcGFjaW5nOiAycHg7Cn0KLm1pbC1zdWJzY3JpYmUtZm9ybSBpbnB1dDo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiByZ2IoMTI4LCAxMjgsIDEyOCk7CiAgZm9udC1mYW1pbHk6ICJPdXRmaXQiLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMTJweDsKICBmb250LXdlaWdodDogNTAwOwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgbGV0dGVyLXNwYWNpbmc6IDJweDsKfQoubWlsLXN1YnNjcmliZS1mb3JtIGlucHV0OmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7CiAgb3V0bGluZTogaW5oZXJpdDsKfQoubWlsLXN1YnNjcmliZS1mb3JtIGlucHV0OmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7Cn0KLm1pbC1zdWJzY3JpYmUtZm9ybSAubWlsLWJ1dHRvbiB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMTVweDsKICByaWdodDogMTVweDsKfQoubWlsLXN1YnNjcmliZS1mb3JtLm1pbC1zdWJzY3JpYmUtZm9ybS0yIGlucHV0IHsKICBoZWlnaHQ6IDEwMCU7CiAgd2lkdGg6IDEwMCU7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpOwp9CgovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpwb3J0Zm9saW8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLm1pbC1wb3J0Zm9saW8taXRlbSB7CiAgZGlzcGxheTogYmxvY2s7Cn0KLm1pbC1wb3J0Zm9saW8taXRlbSAubWlsLWNvdmVyLWZyYW1lIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBtYXJnaW4tYm90dG9tOiAzMHB4Owp9Ci5taWwtcG9ydGZvbGlvLWl0ZW0gLm1pbC1jb3Zlci1mcmFtZSAubWlsLWNvdmVyIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwp9Ci5taWwtcG9ydGZvbGlvLWl0ZW0gLm1pbC1jb3Zlci1mcmFtZSAubWlsLWNvdmVyIGltZyB7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIC1vLW9iamVjdC1maXQ6IGNvdmVyOwogICAgIG9iamVjdC1maXQ6IGNvdmVyOwogIC1vLW9iamVjdC1wb3NpdGlvbjogY2VudGVyOwogICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyOwogIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKICB0cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwp9Ci5taWwtcG9ydGZvbGlvLWl0ZW0gLm1pbC1jb3Zlci1mcmFtZS5taWwtdmVydCB7CiAgcGFkZGluZy1ib3R0b206IDEzMCU7Cn0KLm1pbC1wb3J0Zm9saW8taXRlbSAubWlsLWNvdmVyLWZyYW1lLm1pbC1ob3JpIHsKICBwYWRkaW5nLWJvdHRvbTogNjUlOwp9Ci5taWwtcG9ydGZvbGlvLWl0ZW06aG92ZXIgLm1pbC1jb3Zlci1mcmFtZSAubWlsLWNvdmVyIGltZyB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKfQoubWlsLXBvcnRmb2xpby1pdGVtLm1pbC1zbGlkZXItaXRlbSAubWlsLWNvdmVyLWZyYW1lIHsKICBtYXJnaW4tYm90dG9tOiAzMHB4OwogIGhlaWdodDogY2FsYygxMDB2aCAtIDM2MHB4KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogIC5taWwtcG9ydGZvbGlvLWl0ZW0ubWlsLXNsaWRlci1pdGVtIC5taWwtY292ZXItZnJhbWUgewogICAgaGVpZ2h0OiBhdXRvOwogICAgcGFkZGluZy1ib3R0b206IDEwMCU7CiAgfQp9Ci5taWwtcG9ydGZvbGlvLWl0ZW0ubWlsLXNsaWRlci1pdGVtIC5taWwtZGVzY3IgewogIG92ZXJmbG93OiBoaWRkZW47CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5OwogICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogIGhlaWdodDogMTgwcHg7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MiwgMjQyLCAyNDIpOwogIHBhZGRpbmc6IDAgNjBweDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogIC5taWwtcG9ydGZvbGlvLWl0ZW0ubWlsLXNsaWRlci1pdGVtIC5taWwtZGVzY3IgewogICAgcGFkZGluZzogMzBweDsKICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDsKICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgaGVpZ2h0OiBhdXRvOwogIH0KICAubWlsLXBvcnRmb2xpby1pdGVtLm1pbC1zbGlkZXItaXRlbSAubWlsLWRlc2NyIC5taWwtZGVzY3ItdGV4dCB7CiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogIH0KfQoubWlsLXBvcnRmb2xpby1pdGVtLm1pbC1zbGlkZXItaXRlbTpob3ZlciAubWlsLWNvdmVyLWZyYW1lIC5taWwtY292ZXIgaW1nIHsKICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTsKfQoKLnN3aXBlci1zbGlkZSAubWlsLXBvcnRmb2xpby1pdGVtIC5taWwtZGVzY3IgewogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci5zd2lwZXItc2xpZGUuc3dpcGVyLXNsaWRlLWFjdGl2ZSAubWlsLXBvcnRmb2xpby1pdGVtIC5taWwtZGVzY3IgewogIHBvaW50ZXItZXZlbnRzOiBhbGw7Cn0KCi5taWwtcG9ydGZvbGlvIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLm1pbC1wb3J0Zm9saW8gLm1pbC1saW5lcy1wbGFjZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGxlZnQ6IDQwLjclOwp9Ci5taWwtcG9ydGZvbGlvIC5taWwtbGluZXMtcGxhY2UubWlsLWxpbmVzLWxvbmcgewogIHRvcDogMTI4OXB4Owp9CgoubWlsLXBvcnRmb2xpby1zbGlkZXItZnJhbWUgewogIHotaW5kZXg6IDA7CiAgcGFkZGluZy10b3A6IDE1MHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1wb3J0Zm9saW8tc2xpZGVyLWZyYW1lIHsKICAgIHBhZGRpbmctdG9wOiAxODBweDsKICB9Cn0KCi5taWwtcG9ydGZvbGlvLW5hdiB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MiwgMjQyLCAyNDIpOwogIHdpZHRoOiAxMDAlOwogIHBhZGRpbmc6IDAgNjBweDsKICBoZWlnaHQ6IDE4MHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBib3R0b206IDA7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwp9Ci5taWwtcG9ydGZvbGlvLW5hdiAubWlsLXBvcnRmb2xpby1idG5zLWZyYW1lIHsKICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICBkaXNwbGF5OiBmbGV4OwogIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgcGFkZGluZzogMCAxNXB4OwogIGhlaWdodDogNzBweDsKICBib3JkZXItcmFkaXVzOiA3MHB4OwogIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogIC5taWwtcG9ydGZvbGlvLW5hdiB7CiAgICBwb3NpdGlvbjogc3RhdGljOwogICAgaGVpZ2h0OiBhdXRvOwogICAgcGFkZGluZzogMzBweCAwIDkwcHg7CiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDsKICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOwogIH0KICAubWlsLXBvcnRmb2xpby1uYXYgLm1pbC1wb3J0Zm9saW8tYnRucy1mcmFtZSB7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogYXV0bzsKICAgIHBhZGRpbmc6IDA7CiAgfQp9Cgouc3dpcGVyLXBvcnRmb2xpby1wYWdpbmF0aW9uIHsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwogIGZvbnQtc2l6ZTogMTJweDsKICBmb250LXdlaWdodDogNTAwOwogIGxldHRlci1zcGFjaW5nOiAycHg7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBwYWRkaW5nOiAwIDE1cHg7Cn0KCi5taWwtaW5mbyB7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5OwogICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTIwcHg7CiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGZvbnQtc2l6ZTogMTJweDsKICBsZXR0ZXItc3BhY2luZzogMnB4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgewogIC5taWwtaW5mbyB7CiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBoZWlnaHQ6IGF1dG87CiAgICBwYWRkaW5nOiAzMHB4OwogIH0KfQoKLm1pbC13b3Jrcy1uYXYgewogIHBhZGRpbmctdG9wOiA2MHB4OwogIGJvcmRlci10b3A6IHNvbGlkIDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5OwogICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwp9Ci5taWwtd29ya3MtbmF2IC5taWwtZGlzYWJsZWQgewogIG9wYWNpdHk6IDAuMjsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgLm1pbC13b3Jrcy1uYXYgewogICAgcGFkZGluZy10b3A6IDA7CiAgICBib3JkZXItdG9wOiBub25lOwogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgfQogIC5taWwtd29ya3MtbmF2IC5taWwtbGluayB7CiAgICBkaXNwbGF5OiBub25lOwogIH0KICAubWlsLXdvcmtzLW5hdiAubWlsLWxpbms6bGFzdC1jaGlsZCB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICB9Cn0KCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioKCm1hcAoKKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoubWlsLW1hcC1mcmFtZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIyOSwgMjI5LCAyMjkpOwogIHBvaW50ZXItZXZlbnRzOiBhbGw7CiAgaGVpZ2h0OiA2MDBweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoubWlsLW1hcC1mcmFtZSAubWlsLW1hcCB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogLTI1JTsKICBsZWZ0OiAtMjUlOwogIHdpZHRoOiAxNTAlOwogIGhlaWdodDogMTUwJTsKICAtd2Via2l0LXRyYW5zaXRpb246IDAuNHMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMzY0MiwgMSk7CiAgdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4zNjQyLCAxKTsKfQoubWlsLW1hcC1mcmFtZSAubWlsLW1hcCBpZnJhbWUgewogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTAwJTsKfQovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgphY2NvcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLm1pbC1hY2NvcmRpb24tZ3JvdXAgewogIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKDAsIDAsIDAsIDAuMik7CiAgbWFyZ2luLWJvdHRvbTogMzBweDsKfQoubWlsLWFjY29yZGlvbi1ncm91cCAubWlsLWFjY29yZGlvbi1tZW51IHsKICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICBkaXNwbGF5OiBmbGV4OwogIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7CiAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgY3Vyc29yOiBwb2ludGVyOwogIG1hcmdpbi1ib3R0b206IDMwcHg7Cn0KLm1pbC1hY2NvcmRpb24tZ3JvdXAgLm1pbC1hY2NvcmRpb24tbWVudSAubWlsLXN5bWJvbCB7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIHdpZHRoOiA0MHB4OwogIGhlaWdodDogNDBweDsKICBjb2xvcjogcmdiKDAsIDAsIDApOwogIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjksIDIyOSwgMjI5KTsKICBmb250LXNpemU6IDE2cHg7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgZGlzcGxheTogZmxleDsKICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoubWlsLWFjY29yZGlvbi1ncm91cCAubWlsLWFjY29yZGlvbi1tZW51IC5taWwtc3ltYm9sIC5taWwtcGx1cywgLm1pbC1hY2NvcmRpb24tZ3JvdXAgLm1pbC1hY2NvcmRpb24tbWVudSAubWlsLXN5bWJvbCAubWlsLW1pbnVzIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7Cn0KLm1pbC1hY2NvcmRpb24tZ3JvdXAgLm1pbC1hY2NvcmRpb24tbWVudSAubWlsLXN5bWJvbCAubWlsLW1pbnVzIHsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsKfQoubWlsLWFjY29yZGlvbi1ncm91cCAubWlsLWFjY29yZGlvbi1tZW51IC5taWwtYWNjb3JkaW9uLWhlYWQgewogIGZvbnQtc2l6ZTogMTJweDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIGxldHRlci1zcGFjaW5nOiAycHg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBjb2xvcjogcmdiKDAsIDAsIDApOwp9CgoubWlsLWFjY29yZGlvbi1jb250ZW50IHsKICBoZWlnaHQ6IDA7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLm1pbC1hY2NvcmRpb24tY29udGVudCBwLAoubWlsLWFjY29yZGlvbi1jb250ZW50IHVsLAoubWlsLWFjY29yZGlvbi1jb250ZW50IG9sLAoubWlsLWFjY29yZGlvbi1jb250ZW50IGgxLAoubWlsLWFjY29yZGlvbi1jb250ZW50IGgyLAoubWlsLWFjY29yZGlvbi1jb250ZW50IGgzLAoubWlsLWFjY29yZGlvbi1jb250ZW50IGg0LAoubWlsLWFjY29yZGlvbi1jb250ZW50IGg1LAoubWlsLWFjY29yZGlvbi1jb250ZW50IGg2IHsKICBtYXJnaW4tYm90dG9tOiAzMHB4Owp9CgovKioqKioqKioqKioqKioqKioqKioqKioqKioqCgpwcmljZQoKKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoubWlsLXByaWNlLWNhcmQgewogIGRpc3BsYXk6IGJsb2NrOwogIHdpZHRoOiAxMDAlOwogIGJvcmRlci10b3A6IHNvbGlkIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7CiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsKICBwYWRkaW5nOiA2MHB4IDAgMzBweDsKfQoubWlsLXByaWNlLWNhcmQgLm1pbC1wcmljZS1udW1iZXIgewogIHBhZGRpbmctdG9wOiAxMHB4OwogIGxpbmUtaGVpZ2h0OiA3MCU7CiAgZm9udC1zaXplOiA1NHB4OwogIGZvbnQtd2VpZ2h0OiA1MDA7Cn0KLm1pbC1wcmljZS1jYXJkIC5taWwtcHJpY2UtbnVtYmVyIC5taWwtdGhpbiB7CiAgZm9udC13ZWlnaHQ6IDIwMDsKICBmb250LXNpemU6IDE4cHg7Cn0KCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioKCjQwNAoKKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoubWlsLTQwNC1iYW5uZXIgLm1pbC1hbmltYXRpb24tZnJhbWUgewogIHotaW5kZXg6IDI7Cn0KCi5taWwtNDA0LWZyYW1lIHsKICBwYWRkaW5nLXRvcDogMTAwcHg7CiAgaGVpZ2h0OiAxMDB2aDsKICB3aWR0aDogMTAwJTsKICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICBkaXNwbGF5OiBmbGV4OwogIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwp9CgoubWlsLTQwNC10ZXh0IHsKICBkaXNwbGF5OiBibG9jazsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsKfQoKLm1pbC1zY2FsZS1mcmFtZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDIuMyk7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDIuMyk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIG1hcmdpbi1ib3R0b206IDkwcHg7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMwcHgpIHsKICAubWlsLXNjYWxlLWZyYW1lIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7CiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OwogIH0KfQoKLm1pbC00MDQgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOwogIGZvbnQtc2l6ZTogNmVtOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgYW5pbWF0aW9uOiBnbGl0Y2gtc2tldyAxcyBpbmZpbml0ZSBsaW5lYXIgYWx0ZXJuYXRlLXJldmVyc2U7Cn0KLm1pbC00MDQ6OmJlZm9yZSB7CiAgY29udGVudDogYXR0cihkYXRhLXRleHQpOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgbGVmdDogMnB4OwogIHRleHQtc2hhZG93OiAtMnB4IDAgcmdiKDI1NSwgMTUyLCAwKTsKICBjbGlwOiByZWN0KDQ0cHgsIDQ1MHB4LCA1NnB4LCAwKTsKICBhbmltYXRpb246IGdsaXRjaC1hbmltIDVzIGluZmluaXRlIGxpbmVhciBhbHRlcm5hdGUtcmV2ZXJzZTsKfQoubWlsLTQwNDo6YWZ0ZXIgewogIGNvbnRlbnQ6IGF0dHIoZGF0YS10ZXh0KTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIGxlZnQ6IC0ycHg7CiAgdGV4dC1zaGFkb3c6IC0ycHggMCByZ2IoMTUzLCAxNTMsIDE1MyksIDJweCAycHggcmdiKDIyOSwgMjI5LCAyMjkpOwogIGFuaW1hdGlvbjogZ2xpdGNoLWFuaW0yIDFzIGluZmluaXRlIGxpbmVhciBhbHRlcm5hdGUtcmV2ZXJzZTsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGdsaXRjaC1hbmltIHsKICAwJSB7CiAgICBjbGlwOiByZWN0KDQ5cHgsIDk5OTlweCwgMzFweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjA0ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuMDRkZWcpOwogIH0KICA1JSB7CiAgICBjbGlwOiByZWN0KDYzcHgsIDk5OTlweCwgOTJweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjE4ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuMThkZWcpOwogIH0KICAxMCUgewogICAgY2xpcDogcmVjdCg4NnB4LCA5OTk5cHgsIDc0cHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC40ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuNGRlZyk7CiAgfQogIDE1JSB7CiAgICBjbGlwOiByZWN0KDg1cHgsIDk5OTlweCwgMTlweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjU3ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuNTdkZWcpOwogIH0KICAyMCUgewogICAgY2xpcDogcmVjdCg2NHB4LCA5OTk5cHgsIDc1cHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC45NmRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjk2ZGVnKTsKICB9CiAgMjUlIHsKICAgIGNsaXA6IHJlY3QoNzdweCwgOTk5OXB4LCAxN3B4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuNjFkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC42MWRlZyk7CiAgfQogIDMwJSB7CiAgICBjbGlwOiByZWN0KDE2cHgsIDk5OTlweCwgNzZweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjgxZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuODFkZWcpOwogIH0KICAzNSUgewogICAgY2xpcDogcmVjdCg1cHgsIDk5OTlweCwgNjFweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjU2ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuNTZkZWcpOwogIH0KICA0MCUgewogICAgY2xpcDogcmVjdCg3OXB4LCA5OTk5cHgsIDgxcHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC4wNWRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjA1ZGVnKTsKICB9CiAgNDUlIHsKICAgIGNsaXA6IHJlY3QoMjBweCwgOTk5OXB4LCA5N3B4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuNTZkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC41NmRlZyk7CiAgfQogIDUwJSB7CiAgICBjbGlwOiByZWN0KDMzcHgsIDk5OTlweCwgMTAwcHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC4xNmRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjE2ZGVnKTsKICB9CiAgNTUlIHsKICAgIGNsaXA6IHJlY3QoMTlweCwgOTk5OXB4LCA3NnB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuOTNkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC45M2RlZyk7CiAgfQogIDYwJSB7CiAgICBjbGlwOiByZWN0KDI5cHgsIDk5OTlweCwgNTlweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjU4ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuNThkZWcpOwogIH0KICA2NSUgewogICAgY2xpcDogcmVjdCgxOXB4LCA5OTk5cHgsIDk1cHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC44M2RlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjgzZGVnKTsKICB9CiAgNzAlIHsKICAgIGNsaXA6IHJlY3QoODhweCwgOTk5OXB4LCAzMHB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuMzlkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC4zOWRlZyk7CiAgfQogIDc1JSB7CiAgICBjbGlwOiByZWN0KDQzcHgsIDk5OTlweCwgNDVweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjZkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC42ZGVnKTsKICB9CiAgODAlIHsKICAgIGNsaXA6IHJlY3QoMzBweCwgOTk5OXB4LCA0cHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC44OWRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjg5ZGVnKTsKICB9CiAgODUlIHsKICAgIGNsaXA6IHJlY3QoNHB4LCA5OTk5cHgsIDk2cHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMWRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygxZGVnKTsKICB9CiAgOTAlIHsKICAgIGNsaXA6IHJlY3QoNHB4LCA5OTk5cHgsIDkxcHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC4yZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuMmRlZyk7CiAgfQogIDk1JSB7CiAgICBjbGlwOiByZWN0KDQ4cHgsIDk5OTlweCwgODBweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjQxZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuNDFkZWcpOwogIH0KICAxMDAlIHsKICAgIGNsaXA6IHJlY3QoMTBweCwgOTk5OXB4LCA1OHB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuOTFkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC45MWRlZyk7CiAgfQp9CgpAa2V5ZnJhbWVzIGdsaXRjaC1hbmltIHsKICAwJSB7CiAgICBjbGlwOiByZWN0KDQ5cHgsIDk5OTlweCwgMzFweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjA0ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuMDRkZWcpOwogIH0KICA1JSB7CiAgICBjbGlwOiByZWN0KDYzcHgsIDk5OTlweCwgOTJweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjE4ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuMThkZWcpOwogIH0KICAxMCUgewogICAgY2xpcDogcmVjdCg4NnB4LCA5OTk5cHgsIDc0cHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC40ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuNGRlZyk7CiAgfQogIDE1JSB7CiAgICBjbGlwOiByZWN0KDg1cHgsIDk5OTlweCwgMTlweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjU3ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuNTdkZWcpOwogIH0KICAyMCUgewogICAgY2xpcDogcmVjdCg2NHB4LCA5OTk5cHgsIDc1cHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC45NmRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjk2ZGVnKTsKICB9CiAgMjUlIHsKICAgIGNsaXA6IHJlY3QoNzdweCwgOTk5OXB4LCAxN3B4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuNjFkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC42MWRlZyk7CiAgfQogIDMwJSB7CiAgICBjbGlwOiByZWN0KDE2cHgsIDk5OTlweCwgNzZweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjgxZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuODFkZWcpOwogIH0KICAzNSUgewogICAgY2xpcDogcmVjdCg1cHgsIDk5OTlweCwgNjFweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjU2ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuNTZkZWcpOwogIH0KICA0MCUgewogICAgY2xpcDogcmVjdCg3OXB4LCA5OTk5cHgsIDgxcHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC4wNWRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjA1ZGVnKTsKICB9CiAgNDUlIHsKICAgIGNsaXA6IHJlY3QoMjBweCwgOTk5OXB4LCA5N3B4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuNTZkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC41NmRlZyk7CiAgfQogIDUwJSB7CiAgICBjbGlwOiByZWN0KDMzcHgsIDk5OTlweCwgMTAwcHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC4xNmRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjE2ZGVnKTsKICB9CiAgNTUlIHsKICAgIGNsaXA6IHJlY3QoMTlweCwgOTk5OXB4LCA3NnB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuOTNkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC45M2RlZyk7CiAgfQogIDYwJSB7CiAgICBjbGlwOiByZWN0KDI5cHgsIDk5OTlweCwgNTlweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjU4ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuNThkZWcpOwogIH0KICA2NSUgewogICAgY2xpcDogcmVjdCgxOXB4LCA5OTk5cHgsIDk1cHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC44M2RlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjgzZGVnKTsKICB9CiAgNzAlIHsKICAgIGNsaXA6IHJlY3QoODhweCwgOTk5OXB4LCAzMHB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuMzlkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC4zOWRlZyk7CiAgfQogIDc1JSB7CiAgICBjbGlwOiByZWN0KDQzcHgsIDk5OTlweCwgNDVweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjZkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC42ZGVnKTsKICB9CiAgODAlIHsKICAgIGNsaXA6IHJlY3QoMzBweCwgOTk5OXB4LCA0cHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC44OWRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjg5ZGVnKTsKICB9CiAgODUlIHsKICAgIGNsaXA6IHJlY3QoNHB4LCA5OTk5cHgsIDk2cHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMWRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygxZGVnKTsKICB9CiAgOTAlIHsKICAgIGNsaXA6IHJlY3QoNHB4LCA5OTk5cHgsIDkxcHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC4yZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuMmRlZyk7CiAgfQogIDk1JSB7CiAgICBjbGlwOiByZWN0KDQ4cHgsIDk5OTlweCwgODBweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjQxZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuNDFkZWcpOwogIH0KICAxMDAlIHsKICAgIGNsaXA6IHJlY3QoMTBweCwgOTk5OXB4LCA1OHB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuOTFkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC45MWRlZyk7CiAgfQp9CkAtd2Via2l0LWtleWZyYW1lcyBnbGl0Y2gtYW5pbTIgewogIDAlIHsKICAgIGNsaXA6IHJlY3QoOTdweCwgOTk5OXB4LCA4NHB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuNTVkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC41NWRlZyk7CiAgfQogIDUlIHsKICAgIGNsaXA6IHJlY3QoODJweCwgOTk5OXB4LCAyMXB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuMDRkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC4wNGRlZyk7CiAgfQogIDEwJSB7CiAgICBjbGlwOiByZWN0KDUxcHgsIDk5OTlweCwgOTlweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjkzZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuOTNkZWcpOwogIH0KICAxNSUgewogICAgY2xpcDogcmVjdCg0MnB4LCA5OTk5cHgsIDk3cHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC4wM2RlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjAzZGVnKTsKICB9CiAgMjAlIHsKICAgIGNsaXA6IHJlY3QoMjdweCwgOTk5OXB4LCAyNXB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuODZkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC44NmRlZyk7CiAgfQogIDI1JSB7CiAgICBjbGlwOiByZWN0KDY5cHgsIDk5OTlweCwgNXB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuOTVkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC45NWRlZyk7CiAgfQogIDMwJSB7CiAgICBjbGlwOiByZWN0KDM4cHgsIDk5OTlweCwgNjdweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjMzZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuMzNkZWcpOwogIH0KICAzNSUgewogICAgY2xpcDogcmVjdCg4cHgsIDk5OTlweCwgOTBweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjY3ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuNjdkZWcpOwogIH0KICA0MCUgewogICAgY2xpcDogcmVjdCgzNHB4LCA5OTk5cHgsIDMxcHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC4zM2RlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjMzZGVnKTsKICB9CiAgNDUlIHsKICAgIGNsaXA6IHJlY3QoMXB4LCA5OTk5cHgsIDI1cHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC43MWRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjcxZGVnKTsKICB9CiAgNTAlIHsKICAgIGNsaXA6IHJlY3QoNDVweCwgOTk5OXB4LCA0MHB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuMzhkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC4zOGRlZyk7CiAgfQogIDU1JSB7CiAgICBjbGlwOiByZWN0KDg0cHgsIDk5OTlweCwgOTZweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjNkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC4zZGVnKTsKICB9CiAgNjAlIHsKICAgIGNsaXA6IHJlY3QoNjhweCwgOTk5OXB4LCA1OXB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuMzVkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC4zNWRlZyk7CiAgfQogIDY1JSB7CiAgICBjbGlwOiByZWN0KDkzcHgsIDk5OTlweCwgNDhweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjI1ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuMjVkZWcpOwogIH0KICA3MCUgewogICAgY2xpcDogcmVjdCgxOXB4LCA5OTk5cHgsIDQwcHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC45N2RlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjk3ZGVnKTsKICB9CiAgNzUlIHsKICAgIGNsaXA6IHJlY3QoNzZweCwgOTk5OXB4LCA1NnB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuNzlkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC43OWRlZyk7CiAgfQogIDgwJSB7CiAgICBjbGlwOiByZWN0KDIycHgsIDk5OTlweCwgODJweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjQ4ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuNDhkZWcpOwogIH0KICA4NSUgewogICAgY2xpcDogcmVjdCgzMHB4LCA5OTk5cHgsIDYzcHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC45MWRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjkxZGVnKTsKICB9CiAgOTAlIHsKICAgIGNsaXA6IHJlY3QoNjhweCwgOTk5OXB4LCA0NHB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuNGRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjRkZWcpOwogIH0KICA5NSUgewogICAgY2xpcDogcmVjdCgxMnB4LCA5OTk5cHgsIDM2cHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC42MWRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjYxZGVnKTsKICB9CiAgMTAwJSB7CiAgICBjbGlwOiByZWN0KDI0cHgsIDk5OTlweCwgNXB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuOTZkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC45NmRlZyk7CiAgfQp9CkBrZXlmcmFtZXMgZ2xpdGNoLWFuaW0yIHsKICAwJSB7CiAgICBjbGlwOiByZWN0KDk3cHgsIDk5OTlweCwgODRweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjU1ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuNTVkZWcpOwogIH0KICA1JSB7CiAgICBjbGlwOiByZWN0KDgycHgsIDk5OTlweCwgMjFweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjA0ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuMDRkZWcpOwogIH0KICAxMCUgewogICAgY2xpcDogcmVjdCg1MXB4LCA5OTk5cHgsIDk5cHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC45M2RlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjkzZGVnKTsKICB9CiAgMTUlIHsKICAgIGNsaXA6IHJlY3QoNDJweCwgOTk5OXB4LCA5N3B4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuMDNkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC4wM2RlZyk7CiAgfQogIDIwJSB7CiAgICBjbGlwOiByZWN0KDI3cHgsIDk5OTlweCwgMjVweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjg2ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuODZkZWcpOwogIH0KICAyNSUgewogICAgY2xpcDogcmVjdCg2OXB4LCA5OTk5cHgsIDVweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjk1ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuOTVkZWcpOwogIH0KICAzMCUgewogICAgY2xpcDogcmVjdCgzOHB4LCA5OTk5cHgsIDY3cHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC4zM2RlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjMzZGVnKTsKICB9CiAgMzUlIHsKICAgIGNsaXA6IHJlY3QoOHB4LCA5OTk5cHgsIDkwcHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC42N2RlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjY3ZGVnKTsKICB9CiAgNDAlIHsKICAgIGNsaXA6IHJlY3QoMzRweCwgOTk5OXB4LCAzMXB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuMzNkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC4zM2RlZyk7CiAgfQogIDQ1JSB7CiAgICBjbGlwOiByZWN0KDFweCwgOTk5OXB4LCAyNXB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuNzFkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC43MWRlZyk7CiAgfQogIDUwJSB7CiAgICBjbGlwOiByZWN0KDQ1cHgsIDk5OTlweCwgNDBweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjM4ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuMzhkZWcpOwogIH0KICA1NSUgewogICAgY2xpcDogcmVjdCg4NHB4LCA5OTk5cHgsIDk2cHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC4zZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuM2RlZyk7CiAgfQogIDYwJSB7CiAgICBjbGlwOiByZWN0KDY4cHgsIDk5OTlweCwgNTlweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjM1ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuMzVkZWcpOwogIH0KICA2NSUgewogICAgY2xpcDogcmVjdCg5M3B4LCA5OTk5cHgsIDQ4cHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC4yNWRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjI1ZGVnKTsKICB9CiAgNzAlIHsKICAgIGNsaXA6IHJlY3QoMTlweCwgOTk5OXB4LCA0MHB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuOTdkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC45N2RlZyk7CiAgfQogIDc1JSB7CiAgICBjbGlwOiByZWN0KDc2cHgsIDk5OTlweCwgNTZweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjc5ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuNzlkZWcpOwogIH0KICA4MCUgewogICAgY2xpcDogcmVjdCgyMnB4LCA5OTk5cHgsIDgycHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMC40OGRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwLjQ4ZGVnKTsKICB9CiAgODUlIHsKICAgIGNsaXA6IHJlY3QoMzBweCwgOTk5OXB4LCA2M3B4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuOTFkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC45MWRlZyk7CiAgfQogIDkwJSB7CiAgICBjbGlwOiByZWN0KDY4cHgsIDk5OTlweCwgNDRweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjRkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC40ZGVnKTsKICB9CiAgOTUlIHsKICAgIGNsaXA6IHJlY3QoMTJweCwgOTk5OXB4LCAzNnB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDAuNjFkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMC42MWRlZyk7CiAgfQogIDEwMCUgewogICAgY2xpcDogcmVjdCgyNHB4LCA5OTk5cHgsIDVweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwLjk2ZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDAuOTZkZWcpOwogIH0KfQpALXdlYmtpdC1rZXlmcmFtZXMgZ2xpdGNoLXNrZXcgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDNkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoM2RlZyk7CiAgfQogIDEwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygyZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDJkZWcpOwogIH0KICAyMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMGRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwZGVnKTsKICB9CiAgMzAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDBkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMGRlZyk7CiAgfQogIDQwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygyZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDJkZWcpOwogIH0KICA1MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTFkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoLTFkZWcpOwogIH0KICA2MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTNkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoLTNkZWcpOwogIH0KICA3MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTFkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoLTFkZWcpOwogIH0KICA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTFkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoLTFkZWcpOwogIH0KICA5MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoNGRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldyg0ZGVnKTsKICB9CiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtM2RlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygtM2RlZyk7CiAgfQp9CkBrZXlmcmFtZXMgZ2xpdGNoLXNrZXcgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDNkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoM2RlZyk7CiAgfQogIDEwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygyZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDJkZWcpOwogIH0KICAyMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMGRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwZGVnKTsKICB9CiAgMzAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDBkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMGRlZyk7CiAgfQogIDQwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygyZGVnKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3KDJkZWcpOwogIH0KICA1MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTFkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoLTFkZWcpOwogIH0KICA2MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTNkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoLTNkZWcpOwogIH0KICA3MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTFkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoLTFkZWcpOwogIH0KICA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTFkZWcpOwogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoLTFkZWcpOwogIH0KICA5MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoNGRlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldyg0ZGVnKTsKICB9CiAgMTAwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtM2RlZyk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygtM2RlZyk7CiAgfQp9Ci8qKioqKioqKioqKioqKioqKioqKioqKioqKioKCmltYWdlcwoKKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoubWlsLWltYWdlLWZyYW1lIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoubWlsLWltYWdlLWZyYW1lID4gaW1nIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIC1vLW9iamVjdC1maXQ6IGNvdmVyOwogICAgIG9iamVjdC1maXQ6IGNvdmVyOwogIC1vLW9iamVjdC1wb3NpdGlvbjogY2VudGVyOwogICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyOwp9Ci5taWwtaW1hZ2UtZnJhbWUubWlsLWhvcml6b250YWwgewogIHBhZGRpbmctYm90dG9tOiA2NSU7Cn0KLm1pbC1pbWFnZS1mcmFtZS5taWwtdmVydGljYWwgewogIHBhZGRpbmctYm90dG9tOiAxNDAlOwp9Ci5taWwtaW1hZ2UtZnJhbWUubWlsLXNxdWFyZSB7CiAgcGFkZGluZy1ib3R0b206IDEwMCU7Cn0KLm1pbC1pbWFnZS1mcmFtZS5taWwtZncgewogIHBhZGRpbmctYm90dG9tOiA1MCU7Cn0KLm1pbC1pbWFnZS1mcmFtZSAubWlsLXpvb20tYnRuIHsKICBvcGFjaXR5OiAwOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1cHgpOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1cHgpOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDMwcHg7CiAgcmlnaHQ6IDMwcHg7CiAgd2lkdGg6IDQwcHg7CiAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGRpc3BsYXk6IC13ZWJraXQtYm94OwogIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogIGRpc3BsYXk6IGZsZXg7CiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLCAwLCAwLjM2NDIsIDEpOwogIHRyYW5zaXRpb246IDAuNHMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMzY0MiwgMSk7Cn0KLm1pbC1pbWFnZS1mcmFtZSAubWlsLXpvb20tYnRuOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7Cn0KLm1pbC1pbWFnZS1mcmFtZSAubWlsLXpvb20tYnRuIGltZyB7CiAgaGVpZ2h0OiAxN3B4OwogIHdpZHRoOiAxN3B4Owp9Ci5taWwtaW1hZ2UtZnJhbWU6aG92ZXIgLm1pbC16b29tLWJ0biB7CiAgb3BhY2l0eTogMTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICB6LWluZGV4OiAyOwp9CgovKioqKioqKioqKioqKioqKioqKioqKioqKioqCgpwYWdlIHRyYW5zaXRpb25zCgoqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi5taWwtZnJhbWUgewogIG9wYWNpdHk6IDE7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAtd2Via2l0LXRyYW5zaXRpb246IDAuNnM7CiAgdHJhbnNpdGlvbjogMC42czsKfQoKLm1pbC1jdXJ0YWluIHsKICBwb3NpdGlvbjogZml4ZWQ7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgei1pbmRleDogNDsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMCwgMCk7CiAgb3BhY2l0eTogMDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMHZoOwogIC13ZWJraXQtdHJhbnNpdGlvbjogMC42czsKICB0cmFuc2l0aW9uOiAwLjZzOwp9Cgojc3d1cE1haW4gewogIG1pbi1oZWlnaHQ6IDEwMHZoOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47Cn0KCi5taWwtbWFpbi10cmFuc2l0aW9uIHsKICAtd2Via2l0LXRyYW5zaXRpb246IDAuNnM7CiAgdHJhbnNpdGlvbjogMC42czsKICBtYXJnaW4tdG9wOiAwOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMC4zczsKICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuM3M7Cn0KLm1pbC1tYWluLXRyYW5zaXRpb24gLm1pbC1hbmltYXRpb24tZnJhbWUgewogIG9wYWNpdHk6IDE7CiAgbWFyZ2luLXRvcDogMDsKICAtd2Via2l0LXRyYW5zaXRpb246IDAuNnM7CiAgdHJhbnNpdGlvbjogMC42czsKICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDAuM3M7CiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzOwp9Ci5taWwtbWFpbi10cmFuc2l0aW9uIC5taWwtbGluZXMtcGxhY2UgewogIG9wYWNpdHk6IDE7CiAgbWFyZ2luLXRvcDogMDsKICAtd2Via2l0LXRyYW5zaXRpb246IDAuNnM7CiAgdHJhbnNpdGlvbjogMC42czsKICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDAuM3M7CiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzOwp9CgpodG1sLmlzLWFuaW1hdGluZyAubWlsLWZyYW1lIHsKICBvcGFjaXR5OiAwOwogIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMC41czsKICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNXM7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSk7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7CiAgaHRtbC5pcy1hbmltYXRpbmcgLm1pbC1mcmFtZSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICBvcGFjaXR5OiAxOwogIH0KfQpodG1sLmlzLWFuaW1hdGluZyAubWlsLWN1cnRhaW4gewogIG9wYWNpdHk6IDE7CiAgcG9pbnRlci1ldmVudHM6IGFsbDsKfQpodG1sLmlzLWFuaW1hdGluZyAubWlsLW1haW4tdHJhbnNpdGlvbiB7CiAgbWFyZ2luLXRvcDogMC4xcHg7Cn0KaHRtbC5pcy1hbmltYXRpbmcgLm1pbC1tYWluLXRyYW5zaXRpb24gLm1pbC1hbmltYXRpb24tZnJhbWUgewogIG9wYWNpdHk6IDA7CiAgbWFyZ2luLXRvcDogLTkwcHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwczsKICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzOwp9Cmh0bWwuaXMtYW5pbWF0aW5nIC5taWwtbWFpbi10cmFuc2l0aW9uIC5taWwtbGluZXMtcGxhY2UgewogIG9wYWNpdHk6IDA7CiAgbWFyZ2luLXRvcDogOTBweDsKICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDBzOwogICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7Cn0KCmh0bWwuaXMtYW5pbWF0aW5nIC5taWwtbWVudS1mcmFtZSB7CiAgb3BhY2l0eTogMDsKICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDAuM3M7CiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzOwp9CgoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKgoKQ29udGVudAoKKioqKioqKioqKioqKioqKioqKioqKioqKioqLwouc2luZ2xlLXBvc3QtdGl0bGUgewogIG1heC13aWR0aDogODAwcHg7CiAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgbWFyZ2luLXJpZ2h0OiBhdXRvOwogIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7Cn0KCi5zaW5nbGUtcG9zdC10ZXh0IHVsIHsKICBwYWRkaW5nOiAwOwogIG1hcmdpbjogMDsKfQouc2luZ2xlLXBvc3QtdGV4dCBoMSB7CiAgZm9udC1zaXplOiA0OHB4Owp9Ci5zaW5nbGUtcG9zdC10ZXh0IGgyIHsKICBmb250LXNpemU6IDM2cHg7Cn0KLnNpbmdsZS1wb3N0LXRleHQgaDMgewogIGZvbnQtc2l6ZTogMjRweDsKfQouc2luZ2xlLXBvc3QtdGV4dCBoNCB7CiAgZm9udC1zaXplOiAxN3B4Owp9Ci5zaW5nbGUtcG9zdC10ZXh0IGg1IHsKICBmb250LXNpemU6IDE2cHg7Cn0KLnNpbmdsZS1wb3N0LXRleHQgaDYgewogIGZvbnQtc2l6ZTogMTVweDsKfQouc2luZ2xlLXBvc3QtdGV4dCB1bCA+IGxpLAouc2luZ2xlLXBvc3QtdGV4dCBvbCA+IGxpIHsKICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOwp9Ci5zaW5nbGUtcG9zdC10ZXh0IHVsIHVsLAouc2luZ2xlLXBvc3QtdGV4dCBvbCBvbCwKLnNpbmdsZS1wb3N0LXRleHQgdWwgb2wsCi5zaW5nbGUtcG9zdC10ZXh0IG9sIHVsIHsKICBtYXJnaW4tdG9wOiAwLjI1cmVtOwp9Ci5zaW5nbGUtcG9zdC10ZXh0IHVsID4gbGkgewogIGRpc3BsYXk6IGJsb2NrOwogIGxpbmUtaGVpZ2h0OiAxNTAlOwogIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZy1sZWZ0OiAyN3B4Owp9Ci5zaW5nbGUtcG9zdC10ZXh0IHVsID4gbGk6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAxMHB4OwogIGxlZnQ6IDBweDsKICB3aWR0aDogN3B4OwogIGhlaWdodDogN3B4OwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAxNTIsIDApOwp9Ci5zaW5nbGUtcG9zdC10ZXh0IG9sIHsKICBwYWRkaW5nOiAwOwogIG1hcmdpbjogMCAwIDAgMS4yNXJlbTsKfQouc2luZ2xlLXBvc3QtdGV4dCBvbCA+IGxpIHsKICBsaW5lLWhlaWdodDogMTUwJTsKICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7Cn0KLnNpbmdsZS1wb3N0LXRleHQgb2wgPiBsaTo6bWFya2VyIHsKICBjb2xvcjogcmdiKDAsIDAsIDApOwp9Ci5zaW5nbGUtcG9zdC10ZXh0IHAsIAouc2luZ2xlLXBvc3QtdGV4dCB1bCwgCi5zaW5nbGUtcG9zdC10ZXh0IG9sLCAKLnNpbmdsZS1wb3N0LXRleHQgaDEsIAouc2luZ2xlLXBvc3QtdGV4dCBoMiwgCi5zaW5nbGUtcG9zdC10ZXh0IGgzLCAKLnNpbmdsZS1wb3N0LXRleHQgaDQsIAouc2luZ2xlLXBvc3QtdGV4dCBoNSwgCi5zaW5nbGUtcG9zdC10ZXh0IGg2LCAKLnNpbmdsZS1wb3N0LXRleHQgaWZyYW1lLAouc2luZ2xlLXBvc3QtdGV4dCB0YWJsZSwgCi5zaW5nbGUtcG9zdC10ZXh0IG9iamVjdCwgCi5zaW5nbGUtcG9zdC10ZXh0IGJsb2NrcXVvdGUgewogIG1hcmdpbi1ib3R0b206IDMwcHg7Cn0KLnNpbmdsZS1wb3N0LXRleHQgcDpsYXN0LWNoaWxkLCAKLnNpbmdsZS1wb3N0LXRleHQgdWw6bGFzdC1jaGlsZCwgCi5zaW5nbGUtcG9zdC10ZXh0IG9sOmxhc3QtY2hpbGQsIAouc2luZ2xlLXBvc3QtdGV4dCBoMTpsYXN0LWNoaWxkLCAKLnNpbmdsZS1wb3N0LXRleHQgaDI6bGFzdC1jaGlsZCwgCi5zaW5nbGUtcG9zdC10ZXh0IGgzOmxhc3QtY2hpbGQsIAouc2luZ2xlLXBvc3QtdGV4dCBoNDpsYXN0LWNoaWxkLCAKLnNpbmdsZS1wb3N0LXRleHQgaDU6bGFzdC1jaGlsZCwgCi5zaW5nbGUtcG9zdC10ZXh0IGg2Omxhc3QtY2hpbGQsIAouc2luZ2xlLXBvc3QtdGV4dCBpZnJhbWU6bGFzdC1jaGlsZCwgCi5zaW5nbGUtcG9zdC10ZXh0IHRhYmxlOmxhc3QtY2hpbGQsIAouc2luZ2xlLXBvc3QtdGV4dCBvYmplY3Q6bGFzdC1jaGlsZCwgCi5zaW5nbGUtcG9zdC10ZXh0IGJsb2NrcXVvdGU6bGFzdC1jaGlsZCB7CiAgbWFyZ2luLWJvdHRvbTogMDsKfQoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKgoKc3dpcGVyCgoqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi5taWwtY29udGVudCAuc3dpcGVyLCAKLm1pbC1jb250ZW50IC5zd2lwZXItY29udGFpbmVyIHsKICBvdmVyZmxvdzogdmlzaWJsZTsKfQoKLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCndpZGdldHMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoud2lkZ2V0LWFyZWEgLndpZGdldC10aXRsZSB7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cglmb250LXNpemU6IDE3cHg7Cn0KCi53aWRnZXQtYXJlYSAud2lkZ2V0LXRpdGxlIGkgewoJcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwoJYm90dG9tOiA0cHg7CiAgZm9udC1mYW1pbHk6ICJGb250IEF3ZXNvbWUgNSBGcmVlIjsKICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOwogIGZvbnQtc2l6ZTogMTBweDsKICBvcGFjaXR5OiAwLjU7CiAgZm9udC13ZWlnaHQ6IDkwMDsKfQoKLndpZGdldC1hcmVhIC53aWRnZXRfYmxvY2sgaDIgewogIGxpbmUtaGVpZ2h0OiAxMjAlOwogIGZvbnQtc2l6ZTogMThweDsKICBsZXR0ZXItc3BhY2luZzogMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgbWFyZ2luLWJvdHRvbTogMzBweDsKfQoKLndpZGdldC1hcmVhIC53aWRnZXRfYmxvY2sgaDI6YmVmb3JlIHsKICBjb250ZW50OiAiXGYwNjMiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICBmb250LWZhbWlseTogIkZvbnQgQXdlc29tZSA1IEZyZWUiOwogIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7CiAgZm9udC1zaXplOiAxMHB4OwogIG9wYWNpdHk6IDAuNTsKICBmb250LXdlaWdodDogOTAwOwp9Cgoud2lkZ2V0LWFyZWEgLndpZGdldCB7CiAgbWFyZ2luLWJvdHRvbTogMzBweDsKfQoKLndpZGdldC1hcmVhIHVsLAoud2lkZ2V0LWFyZWEgb2wgewoJcGFkZGluZzogMDsKCW1hcmdpbjogMDsKICBsaXN0LXN0eWxlOiBub25lOwp9Cgoud2lkZ2V0LWFyZWEgdWwgbGksCi53aWRnZXQtYXJlYSBvbCBsaSB7CiAgZGlzcGxheTogZmxleDsKICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBmb250LXNpemU6IDE3cHg7CiAgcGFkZGluZzogMTVweCAwOwogIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZ2JhKDAsMCwwLC4xKTsKICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOwp9Cgoud2lkZ2V0LWFyZWEgdWwgbGk6Zmlyc3QtY2hpbGQsCi53aWRnZXQtYXJlYSBvbCBsaTpmaXJzdC1jaGlsZCB7CiAgYm9yZGVyLXRvcDogc29saWQgMXB4IHJnYmEoMCwwLDAsLjEpOwp9Cgoud2lkZ2V0LWFyZWEgdWwgbGkgYSwKLndpZGdldC1hcmVhIG9sIGxpIGEgewogIGRpc3BsYXk6IGJsb2NrOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICBjb2xvcjogcmdiKDAsIDAsIDApOwogIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7Cn0KCi53aWRnZXQtYXJlYSB1bCBsaSBhOmhvdmVyLAoud2lkZ2V0LWFyZWEgb2wgbGkgYTpob3ZlciB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIG9wYWNpdHk6IDAuNzsKfQoKLndpZGdldC1hcmVhIC53aWRnZXRfY2F0ZWdvcmllcyB1bCB1bCwKLndpZGdldC1hcmVhIHVsIGxpLnBhZ2VfaXRlbV9oYXNfY2hpbGRyZW4gdWwsCi53aWRnZXQtYXJlYSAud2lkZ2V0X25hdl9tZW51IHVsIHVsLAoud2lkZ2V0LWFyZWEgdWwud3AtYmxvY2stY2F0ZWdvcmllcy1saXN0IHVsIHsKICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEpOwp9Ci53aWRnZXQtYXJlYSAud2lkZ2V0X2NhdGVnb3JpZXMgdWwgbGksCi53aWRnZXQtYXJlYSB1bCBsaS5wYWdlX2l0ZW1faGFzX2NoaWxkcmVuLAoud2lkZ2V0LWFyZWEgLndpZGdldF9uYXZfbWVudSB1bCBsaSwKLndpZGdldC1hcmVhIC53aWRnZXRfcmVjZW50X2NvbW1lbnRzIHVsIGxpLAoud2lkZ2V0LWFyZWEgb2wud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzIGxpLAoud2lkZ2V0LWFyZWEgLndpZGdldF9yc3MgdWwgbGksCi53aWRnZXQtYXJlYSB1bC53cC1ibG9jay1jYXRlZ29yaWVzLWxpc3QgbGkgewogIGRpc3BsYXk6IGJsb2NrOwp9Ci53aWRnZXQtYXJlYSAud2lkZ2V0X2NhdGVnb3JpZXMgdWwgbGkgYSwKLndpZGdldC1hcmVhIHVsIGxpLnBhZ2VfaXRlbV9oYXNfY2hpbGRyZW4gYSwKLndpZGdldC1hcmVhIC53aWRnZXRfbmF2X21lbnUgdWwgbGkgYSwKLndpZGdldC1hcmVhIC53aWRnZXRfcmVjZW50X2NvbW1lbnRzIHVsIGxpIGEsCi53aWRnZXQtYXJlYSBvbC53cC1ibG9jay1sYXRlc3QtY29tbWVudHMgbGkgYSwKLndpZGdldC1hcmVhIHVsLndwLWJsb2NrLWNhdGVnb3JpZXMtbGlzdCBsaSBhIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KLndpZGdldC1hcmVhIC53aWRnZXRfY2F0ZWdvcmllcyB1bCBsaSBsaSwKLndpZGdldC1hcmVhIHVsIGxpLnBhZ2VfaXRlbV9oYXNfY2hpbGRyZW4gbGksCi53aWRnZXQtYXJlYSAud2lkZ2V0X25hdl9tZW51IHVsIGxpIGxpLAoud2lkZ2V0LWFyZWEgdWwud3AtYmxvY2stY2F0ZWdvcmllcy1saXN0IGxpIGxpIHsKICBib3JkZXItYm90dG9tOiBub25lOwogIHBhZGRpbmctYm90dG9tOiAwOwogIHBhZGRpbmctbGVmdDogMTVweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLndpZGdldC1hcmVhIC53aWRnZXRfY2F0ZWdvcmllcyB1bCBsaSBsaTphZnRlciwKLndpZGdldC1hcmVhIHVsIGxpLnBhZ2VfaXRlbV9oYXNfY2hpbGRyZW4gbGk6YWZ0ZXIsCi53aWRnZXQtYXJlYSAud2lkZ2V0X25hdl9tZW51IHVsIGxpIGxpOmFmdGVyLAoud2lkZ2V0LWFyZWEgdWwud3AtYmxvY2stY2F0ZWdvcmllcy1saXN0IGxpIGxpOmFmdGVyIHsKICBjb250ZW50OiAnJzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogMHB4OwogIHRvcDogMjZweDsKICB3aWR0aDogMTBweDsKICBoZWlnaHQ6IDFweDsKICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4xKTsKfQoud2lkZ2V0LWFyZWEgLndpZGdldF9jYXRlZ29yaWVzIHVsIGxpIGxpOmZpcnN0LWNoaWxkLAoud2lkZ2V0LWFyZWEgdWwgbGkucGFnZV9pdGVtX2hhc19jaGlsZHJlbiBsaTpmaXJzdC1jaGlsZCwKLndpZGdldC1hcmVhIC53aWRnZXRfbmF2X21lbnUgdWwgbGkgbGk6Zmlyc3QtY2hpbGQsCi53aWRnZXQtYXJlYSB1bC53cC1ibG9jay1jYXRlZ29yaWVzLWxpc3QgbGkgbGk6Zmlyc3QtY2hpbGQgewogIGJvcmRlci10b3A6IG5vbmU7Cn0KCi53aWRnZXQtYXJlYSAud2lkZ2V0X3JlY2VudF9jb21tZW50cyB1bCBsaSAuY29tbWVudC1hdXRob3ItbGluaywKLndwLWJsb2NrLWxhdGVzdC1jb21tZW50c19fY29tbWVudC1hdXRob3IgewoJZm9udC13ZWlnaHQ6IDUwMDsKfQoKLndpZGdldC1hcmVhIC53aWRnZXRfcnNzIC5yc3MtZGF0ZSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHBhZGRpbmc6IDJweCA1cHg7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuMSk7CiAgZm9udC1zaXplOiAxNHB4OwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgY29sb3I6IHJnYigwLCAwLCAwKTsKfQoKLndpZGdldC1hcmVhIC53aWRnZXRfcnNzIHVsIGxpIGEgewogIHRyYW5zZm9ybTogbm9uZTsKICBmb250LXdlaWdodDogNTAwOwogIG1hcmdpbi1ib3R0b206IDRweDsKfQoKLndwLWJsb2NrLXNlYXJjaCwKLndpZGdldC1hcmVhIC53aWRnZXRfc2VhcmNoIC5zZWFyY2gtZm9ybSB7Cglwb3NpdGlvbjogcmVsYXRpdmU7CiAgbWF4LXdpZHRoOiAzMDBweDsKfQoKLndwLWJsb2NrLXNlYXJjaCBsYWJlbCwKLndpZGdldC1hcmVhIC53aWRnZXRfc2VhcmNoIGxhYmVsIHsKICBtYXJnaW46IDA7Cn0KCi53cC1ibG9jay1zZWFyY2ggaW5wdXRbdHlwZT10ZXh0XSwKLndwLWJsb2NrLXNlYXJjaCBpbnB1dFt0eXBlPXNlYXJjaF0sCi53aWRnZXQtYXJlYSAud2lkZ2V0X3NlYXJjaCBpbnB1dC5zZWFyY2gtZmllbGQsIAoud2lkZ2V0LWFyZWEgc2VsZWN0LCAKLnNpbmdsZS1wb3N0LXRleHQgc2VsZWN0IHsKICBoZWlnaHQ6IDUwcHg7CiAgbGluZS1oZWlnaHQ6IDUwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmc6IDAgNjBweCAwIDIwcHg7CiAgbWFyZ2luLWJvdHRvbTogMDsKICBmb250LXNpemU6IDE3cHg7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBkaXNwbGF5OiBibG9jazsKICB3aWR0aDogMTAwJTsKICBib3JkZXI6IG5vbmU7CiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDsKICBsZXR0ZXItc3BhY2luZzogMXB4Owp9Ci5zaW5nbGUtcG9zdC10ZXh0IHNlbGVjdCwKLnNpbmdsZS1wb3N0LXRleHQgLndwLWJsb2NrLXNlYXJjaCBpbnB1dFt0eXBlPXNlYXJjaF0gewoJYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpOwp9Cgoud2lkZ2V0LWFyZWEgLndpZGdldF9zZWFyY2ggaW5wdXQuc2VhcmNoLXN1Ym1pdCwKLndwLWJsb2NrLXNlYXJjaCAud3AtYmxvY2stc2VhcmNoX19idXR0b24gewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgcmlnaHQ6IDA7CiAgaGVpZ2h0OiA1MHB4OwogIHdpZHRoOiA1MHB4OwogIGJvcmRlcjogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAxNTIsIDApOwogIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOwogIGJhY2tncm91bmQtc2l6ZTogNDAlOwogIGJhY2tncm91bmQtaW1hZ2U6IHVybChhc3NldHMvaW1nL2ljb25zL3NlYXJjaC5zdmcpOwogIGZvbnQtc2l6ZTogMHB4OwogIGNvbG9yOiB0cmFuc3BhcmVudDsKfQoKLndpZGdldF9yc3MgYS5yc3Mtd2lkZ2V0LWZlZWQgewogIG1hcmdpbi1yaWdodDogM3B4OwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7Cn0KCi53aWRnZXRfcnNzIC5yc3MtZGF0ZSwKLndpZGdldF9yc3MgY2l0ZSB7CiAgbWFyZ2luOiA1cHggMCAxMHB4IDA7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udC1zaXplOiAxNHB4OwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgb3BhY2l0eTogMC44Owp9Cgoud2lkZ2V0X3JzcyBjaXRlIHsKICBtYXJnaW46IDVweCAwIDIwcHggMDsKICBmb250LXN0eWxlOiBub3JtYWw7Cn0KCi53aWRnZXQtYXJlYSAud2lkZ2V0X3RleHQgaW1nIHsKICBtYXgtd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiBhdXRvOwp9Cgoud2lkZ2V0LWFyZWEgLndpZGdldF90ZXh0IHAgewogIG1hcmdpbjogMTVweCAwOwp9CgoucG9zdC10ZXh0LWJvdHRvbSAudGFncy1saW5rcywKLndwLWJsb2NrLXRhZy1jbG91ZCAudGFnY2xvdWQsCi53aWRnZXQtYXJlYSAud2lkZ2V0X3RhZ19jbG91ZCAudGFnY2xvdWQgewogIGZvbnQtc2l6ZTogMHB4Owp9CgoucG9zdC10ZXh0LWJvdHRvbSAudGFncy1saW5rcyBhLAoud3AtYmxvY2stdGFnLWNsb3VkIC50YWctY2xvdWQtbGluaywKLndpZGdldC1hcmVhIC53aWRnZXRfdGFnX2Nsb3VkIC50YWctY2xvdWQtbGluayB7CiAgbWFyZ2luOiAwIDVweCA1cHggMDsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IHRvcDsKICBwYWRkaW5nOiAwIDdweDsKICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAxNTIsIDApOwogIHBhZGRpbmc6IDJweCA1cHg7CiAgY29sb3I6IHJnYigwLCAwLCAwKTsKICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0Owp9CgoucG9zdC10ZXh0LWJvdHRvbSAudGFncy1saW5rcyBhOmhvdmVyLAoud3AtYmxvY2stdGFnLWNsb3VkIC50YWctY2xvdWQtbGluazpob3ZlciwKLndpZGdldC1hcmVhIC53aWRnZXRfdGFnX2Nsb3VkIC50YWctY2xvdWQtbGluazpob3ZlciB7CiAgZmlsdGVyOiBicmlnaHRuZXNzKDExMCUpOwp9Cgoud2lkZ2V0LWFyZWEgdGFibGUgewogIHdpZHRoOiAxMDAlOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CiAgYmFja2dyb3VuZDogI2ZmZjsKICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuNSk7Cn0KCi53aWRnZXQtYXJlYSB0YWJsZSBjYXB0aW9uIHsKCXBhZGRpbmc6IDVweDsKCWZvbnQtd2VpZ2h0OiA2MDA7Cglmb250LXNpemU6IDE0cHg7Cglib3JkZXItYm90dG9tOiBub25lOwoJYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJY29sb3I6IHJnYigxOTAsIDE5MywgMTk1KTsKfQoKLndpZGdldC1hcmVhIHRoIHsKCXBhZGRpbmc6IDVweCAwOwoJZm9udC1zaXplOiAxNHB4OwoJZm9udC13ZWlnaHQ6IDcwMDsKCXRleHQtYWxpZ246IGNlbnRlcjsKCWJvcmRlcjogbm9uZTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi53aWRnZXQtYXJlYSB0ZCB7Cglib3JkZXI6IG5vbmU7CglwYWRkaW5nOiA1cHggMDsKCWZvbnQtc2l6ZTogMTRweDsKCWJhY2tncm91bmQ6IG5vbmU7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cglib3JkZXI6IG5vbmU7Cn0KCi53aWRnZXQtYXJlYSB0Zm9vdCB0ZCB7Cglib3JkZXI6IG5vbmU7Cn0KCi53aWRnZXQtYXJlYSB0ZC5wYWQgewoJYmFja2dyb3VuZDogbm9uZTsKfQoKLndpZGdldC1hcmVhIHRkI3RvZGF5IHsKCWJhY2tncm91bmQ6IHJnYigyNTUsIDE1MiwgMCk7Cgljb2xvcjogIzAwMCFpbXBvcnRhbnQ7Cn0KCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpnbG9iYWwgY2xhc3NlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgouYWxpZ24tY2VudGVyIHsKCXRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50Owp9CgouYWxpZ24tcmlnaHQgewoJdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsKfQoKLmFsaWduLWxlZnQgewoJdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50Owp9CgoucHVsbC1yaWdodCB7CglmbG9hdDogcmlnaHQgIWltcG9ydGFudDsKfQoKLnB1bGwtbGVmdCB7CglmbG9hdDogbGVmdCAhaW1wb3J0YW50Owp9CgoucHVsbC1ub25lIHsKCWZsb2F0OiBub25lICFpbXBvcnRhbnQ7Cn0KCi5hbGlnbnJpZ2h0IHsKCW1hcmdpbi1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7CgltYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7CglmbG9hdDogcmlnaHQgIWltcG9ydGFudDsKCW1heC13aWR0aDogNTAlICFpbXBvcnRhbnQ7Cn0KCmltZy5hbGlnbnJpZ2h0IHsKICBjbGVhcjogcmlnaHQ7Cn0KCi5hbGlnbmxlZnQgewoJbWFyZ2luLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7CgltYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7CglmbG9hdDogbGVmdCAhaW1wb3J0YW50OwoJbWF4LXdpZHRoOiA1MCUgIWltcG9ydGFudDsKfQoKaW1nLmFsaWdubGVmdCB7CiAgY2xlYXI6IGxlZnQ7Cn0KCi5hbGlnbmNlbnRlciB7CgltYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OwoJbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CglkaXNwbGF5OiBibG9jazsKfQoKLmZ1bGwtd2lkdGggewoJbWF4LXdpZHRoOiAxMDAlOwoJd2lkdGg6IDEwMCU7Cn0KCi5mdWxsLW1heC13aWR0aCB7CgltYXgtd2lkdGg6IDEwMCU7Cgl3aWR0aDogYXV0bzsKfQoKLmNlbnRyaXplIHsKCWRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7Cgl0YWJsZS1sYXlvdXQ6IGZpeGVkICFpbXBvcnRhbnQ7CgloZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsKCXBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OwoJdG9wOiAwOwoJbGVmdDogMDsKCXotaW5kZXg6IDI7Cn0KCi52ZXJ0aWNhbC1jZW50ZXIgewoJZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OwoJdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50Owp9Cgpmb3JtIGlucHV0W3R5cGU9ImNoZWNrYm94Il0gewoJZGlzcGxheTogaW5saW5lLWJsb2NrOwoJd2lkdGg6IGF1dG87CgloZWlnaHQ6IGF1dG87Cn0KCi5zY3JlZW4tcmVhZGVyLXRleHQgewoJY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpOwoJLXdlYmtpdC1jbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7Cglwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsKCWhlaWdodDogMXB4OwoJd2lkdGg6IDFweDsKCW92ZXJmbG93OiBoaWRkZW47Cn0KCmlmcmFtZSwKb2JqZWN0IHsKCW1heC13aWR0aDogMTAwJTsKfQoKLnN0aWNreSB7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5zdGlja3k6YmVmb3JlIHsKCWNvbnRlbnQ6ICcnOwoJcG9zaXRpb246IGFic29sdXRlOwoJbGVmdDogLTMwcHg7Cgl0b3A6IDA7Cglib3R0b206IDA7Cgl3aWR0aDogNHB4OwoJaGVpZ2h0OiAxMDAlOwoJYmFja2dyb3VuZDogcmdiKDI1NSwgMTUyLCAwKTsKCXotaW5kZXg6IDM7Cn0KCi5wb3N0LWVkaXQtbGluayB7Cgl0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAJY29sb3I6IHJnYigwLCAwLCAwKTsKfQoKLnBvc3QtZWRpdC1saW5rOmhvdmVyIHsKCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQoKLmVkaXQtbGluayB7CgltYXJnaW4tdG9wOiAxNXB4OwoJZGlzcGxheTogYmxvY2s7Cn0KCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzaW5nbGUgcG9zdAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgouc2luZ2xlLXBvc3QtdGV4dCA+ICo6Zmlyc3QtY2hpbGQsCi5zaW5nbGUtcG9zdC10ZXh0ID4gZGl2ID4gKjpmaXJzdC1jaGlsZCB7CgltYXJnaW4tdG9wOiAwOwp9Ci5zaW5nbGUtcG9zdC10ZXh0ID4gKjpsYXN0LWNoaWxkIHsKCW1hcmdpbi1ib3R0b206IDA7Cn0KCi5zaW5nbGUtcG9zdC10ZXh0IHVsLAouc2luZ2xlLXBvc3QtdGV4dCBvbCB7CiAgbGluZS1oZWlnaHQ6IDI7Cn0KCi5zaW5nbGUtcG9zdC10ZXh0IHVsIHsKICBkaXNwbGF5OiBibG9jazsKICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7CiAgbWFyZ2luLWlubGluZS1zdGFydDogMHB4OwogIG1hcmdpbi1pbmxpbmUtZW5kOiAwcHg7CiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDBweDsKfQoKLnNpbmdsZS1wb3N0LXRleHQgdWwgPiBsaSB7CiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOwp9Cgouc2luZ2xlLXBvc3QtdGV4dCBsaSB7CiAgZGlzcGxheTogbGlzdC1pdGVtOwogIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50Owp9Cgouc2luZ2xlLXBvc3QtdGV4dCBvbCB7CiAgZGlzcGxheTogYmxvY2s7CiAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsOwogIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDBweDsKICBtYXJnaW4taW5saW5lLWVuZDogMHB4OwogIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAxLjI1cmVtOwp9Cgouc2luZ2xlLXBvc3QtdGV4dCBvbCA+IGxpIHsKICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7Cn0KCi5zaW5nbGUtcG9zdC10ZXh0IHAgewoJbWFyZ2luLXRvcDogMzBweDsKCW1hcmdpbi1ib3R0b206IDMwcHg7Cn0KCi5zaW5nbGUtcG9zdC10ZXh0IGltZyB7CgltYXgtd2lkdGg6IDEwMCU7Cn0KCi5zaW5nbGUtcG9zdC10ZXh0IGltZytmaWd1cmUgewoJbWFyZ2luLXRvcDogMzBweDsKfQoKLnNpbmdsZS1wb3N0LXRleHQgdGFibGV7Cgl3aWR0aDogMTAwJTsKCW1hcmdpbjogMDsKCXBhZGRpbmc6IDA7Cglib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJYmFja2dyb3VuZDogbm9uZTsKCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4zKTsKfQoKLnNpbmdsZS1wb3N0LXRleHQgdGFibGUgdGggewogIAlwYWRkaW5nOiAxNXB4IDIwcHg7Cglmb250LXNpemU6IDE1cHg7Cglmb250LXdlaWdodDogNzAwOwoJYmFja2dyb3VuZDogI2ZmZjsKCWJvcmRlcjogMXB4IHNvbGlkICNmMmYzZjU7Cgl0ZXh0LWFsaWduOiBsZWZ0Owp9Cgouc2luZ2xlLXBvc3QtdGV4dCB0YWJsZSB0Ym9keSB0aCB7CgliYWNrZ3JvdW5kOiAjZmZmOwp9Cgouc2luZ2xlLXBvc3QtdGV4dCB0YWJsZSB0ZCB7Cglib3JkZXI6IG5vbmU7CglwYWRkaW5nOiAxMHB4OwoJZm9udC1zaXplOiAxN3B4OwoJYmFja2dyb3VuZDogI2ZmZjsKCWJvcmRlcjogMXB4IHNvbGlkICNmMmYzZjU7Cn0KCi5zaW5nbGUtcG9zdC10ZXh0IHRhYmxlIHRkI3RvZGF5ewoJYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpOwoJZm9udC13ZWlnaHQ6IDcwMDsKfQoKLnNpbmdsZS1wb3N0LXRleHQgdGFibGUgY2FwdGlvbiB7CgltYXJnaW46IDAgMCAxMHB4IDA7CglwYWRkaW5nOiAwOwoJZm9udC1zaXplOiAxNXB4OwoJZm9udC13ZWlnaHQ6IDYwMDsKICAJY2FwdGlvbi1zaWRlOiB0b3A7CiAgCXRleHQtYWxpZ246IGNlbnRlcjsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzIwcHgpIHsKCS5zaW5nbGUtcG9zdC10ZXh0IHRhYmxlIHRoIHsKCQlwYWRkaW5nOiAxMHB4OwoJCWZvbnQtc2l6ZTogMTNweDsKCX0KCS5zaW5nbGUtcG9zdC10ZXh0IHRhYmxlIHRkIHsKCQlwYWRkaW5nOiAxMHB4OwoJCWZvbnQtc2l6ZTogMTNweDsKCX0KfQoKLnNpbmdsZS1wb3N0LXRleHQgewoJbGluZS1oZWlnaHQ6IDEuNjsKCXdvcmQtd3JhcDogYnJlYWstd29yZDsKfQoKLnNpbmdsZS1wb3N0LXRleHQ6YWZ0ZXIgewoJY29udGVudDogJyc7Cglwb3NpdGlvbjogcmVsYXRpdmU7CgljbGVhcjogYm90aDsKCWRpc3BsYXk6IGJsb2NrOwp9Cgouc2luZ2xlLXBvc3QtdGV4dCBpbWcgewoJbWF4LXdpZHRoOiAxMDAlOwoJaGVpZ2h0OiBhdXRvOwp9Cgouc2luZ2xlLXBvc3QtdGV4dCBwIGE6aG92ZXIgewoJdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Cn0KCi5zaW5nbGUtcG9zdC10ZXh0IGR0IHsKCW1hcmdpbi1ib3R0b206IDVweDsKCWZvbnQtd2VpZ2h0OiA3MDA7CiAgY29sb3I6IHJnYigwLCAwLCAwKTsKfQoKLnNpbmdsZS1wb3N0LXRleHQgZGQgewoJbWFyZ2luLXRvcDogMDsKCW1hcmdpbi1ib3R0b206IDIwcHg7CgltYXJnaW4tbGVmdDogMjBweDsKfQoKLnNpbmdsZS1wb3N0LXRleHQgYmxvY2txdW90ZSBwIHsKCW1hcmdpbi1ib3R0b206IDAuNXJlbSFpbXBvcnRhbnQ7Cglmb250LXN0eWxlOiBub3JtYWw7Cglmb250LXdlaWdodDogNjAwOwp9Cgouc2luZ2xlLXBvc3QtdGV4dCBibG9ja3F1b3RlIHA6Zmlyc3QtY2hpbGQgewoJbWFyZ2luLXRvcDogMDsKfQoKLnNpbmdsZS1wb3N0LXRleHQgYmxvY2txdW90ZSBjaXRlIHsKCWZvbnQtc2l6ZTogMTdweDsKCWZvbnQtc3R5bGU6IG5vcm1hbDsKfQoKLnNpbmdsZS1wb3N0LXRleHQgYmxvY2txdW90ZSBjaXRlOmJlZm9yZSB7CgltYXJnaW4tcmlnaHQ6IDVweDsKCWNvbnRlbnQ6ICctJzsKfQoKLnNpbmdsZS1wb3N0LXRleHQgYmxvY2txdW90ZSBjaXRlIGJyIHsKCWRpc3BsYXk6IG5vbmU7Cn0KCi5zaW5nbGUtcG9zdC10ZXh0IGJsb2NrcXVvdGUuaGFzLXRleHQtYWxpZ24tcmlnaHQgY2l0ZTpiZWZvcmUgewoJZGlzcGxheTogbm9uZTsKfQoKLnNpbmdsZS1wb3N0LXRleHQgYmxvY2txdW90ZS5oYXMtdGV4dC1hbGlnbi1yaWdodCBjaXRlOmFmdGVyIHsKCW1hcmdpbi1sZWZ0OiA1cHg7Cgljb250ZW50OiAnLSc7Cn0KCi53cC1ibG9jay1maWxlX19idXR0b24gewoJcGFkZGluZzogMCAxcmVtOwp9Cgouc2luZ2xlLXBvc3QtdGV4dCBmaWd1cmUgewoJbWFyZ2luLWJvdHRvbTogMzBweDsKCW1heC13aWR0aDogMTAwJTsKCW92ZXJmbG93OiBhdXRvOwp9Cgouc2luZ2xlLXBvc3QtdGV4dCBmaWd1cmUgLndwLWNhcHRpb24tdGV4dCwKLmdhbGxlcnktY2FwdGlvbiB7Cglmb250LXN0eWxlOiBpdGFsaWM7Cn0KCi5ieXBvc3RhdXRob3Igc3Ryb25nIHsKICAJZm9udC13ZWlnaHQ6IDUwMDsKfQoKLmdhbGxlcnkgewoJbWFyZ2luOiAzMHB4IC0xMHB4Owp9Cgouc2luZ2xlLXBvc3QtdGV4dCAuZ2FsbGVyeSB7CgltYXJnaW4tYm90dG9tOiAwOwp9Cgouc2luZ2xlLXBvc3QtdGV4dCBoMSwKLnNpbmdsZS1wb3N0LXRleHQgaDIsCi5zaW5nbGUtcG9zdC10ZXh0IGgzLAouc2luZ2xlLXBvc3QtdGV4dCBoNCwKLnNpbmdsZS1wb3N0LXRleHQgaDUsCi5zaW5nbGUtcG9zdC10ZXh0IGg2IHsKCW1hcmdpbi10b3A6IDMwcHg7CgltYXJnaW4tYm90dG9tOiAzMHB4Owp9Cgouc2luZ2xlLXBvc3QtdGV4dCBoMStoMiwKLnNpbmdsZS1wb3N0LXRleHQgaDIraDMsCi5zaW5nbGUtcG9zdC10ZXh0IGgzK2g0LAouc2luZ2xlLXBvc3QtdGV4dCBoNCtoNSwKLnNpbmdsZS1wb3N0LXRleHQgaDUraDYsCi5zaW5nbGUtcG9zdC10ZXh0IGg2IHsKCW1hcmdpbi10b3A6IDMwcHg7Cn0KCi5zaW5nbGUtcG9zdC10ZXh0IHByZS53cC1ibG9jay1jb2RlLAouc2luZ2xlLXBvc3QtdGV4dCBwcmUgewoJcGFkZGluZzogMjBweDsKCW92ZXJmbG93OiBhdXRvOwoJd2hpdGUtc3BhY2U6IHByZS13cmFwOwoJYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE1OWRlZywgcmdiKDAsIDAsIDApIDAlLCAjMjMyMzJkIDEwMCUpOwoJYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoMTU5ZGVnLCByZ2IoMCwgMCwgMCkgMCUsICMyMzIzMmQgMTAwJSk7Cgljb2xvcjogI0YyRjNGNTsKCWZvbnQtc2l6ZTogMTVweDsKfQoKLnNpbmdsZS1wb3N0LXRleHQgYmxvY2txdW90ZSB7CgltYXJnaW46IDMwcHggMDsKCWNvbG9yOiByZ2IoMCwgMCwgMCk7CgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKCXBhZGRpbmc6IDMwcHggMzBweCAzMHB4IDQwcHg7Cglmb250LXN0eWxlOiBpdGFsaWM7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5zaW5nbGUtcG9zdC10ZXh0IGJsb2NrcXVvdGUgcDpsYXN0LWNoaWxkIHsKICBtYXJnaW4tYm90dG9tOiAwcHghaW1wb3J0YW50Owp9Cgouc2luZ2xlLXBvc3QtdGV4dCBibG9ja3F1b3RlOmJlZm9yZSB7Cglwb3NpdGlvbjogYWJzb2x1dGU7Cglmb250LWZhbWlseTogIkZvbnQgQXdlc29tZSA1IEZyZWUiOwoJZm9udC13ZWlnaHQ6IDkwMDsKCWNvbnRlbnQ6ICJcZjEwZCI7Cglmb250LXNpemU6IDE2cHg7CglvcGFjaXR5OiAuMzsKCWNvbG9yOiByZ2IoMCwgMCwgMCk7Cgl0b3A6IDBweDsKCWxlZnQ6IDEwcHg7Cn0KCi5zaW5nbGUtcG9zdC10ZXh0IGJsb2NrcXVvdGU6YWZ0ZXIgewoJcG9zaXRpb246IGFic29sdXRlOwoJZm9udC1mYW1pbHk6ICJGb250IEF3ZXNvbWUgNSBGcmVlIjsKCWZvbnQtd2VpZ2h0OiA5MDA7Cgljb250ZW50OiAiXGYxMGQiOwoJZm9udC1zaXplOiAxN3B4OwoJb3BhY2l0eTogLjM7Cgljb2xvcjogcmdiKDAsIDAsIDApOwoJYm90dG9tOiAwcHg7CglyaWdodDogMHB4OwoJdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKfQoKLnNpbmdsZS1wb3N0LXRleHQgZm9vdGVyIHsKCXdpZHRoOiBhdXRvOwp9CgouZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtIHsKCW1hcmdpbjogMDsKCXBhZGRpbmc6IDEwcHg7CglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cgl2ZXJ0aWNhbC1hbGlnbjogdG9wOwoJd2lkdGg6IDEwMCU7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0gaW1nIHsKCW1heC13aWR0aDogMTAwJTsKCWhlaWdodDogYXV0bzsKfQoKLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTEgLmdhbGxlcnktaXRlbSB7Cgl3aWR0aDogMTAwJTsKfQoKLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbSB7Cgl3aWR0aDogNTAlOwp9CgouZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMyAuZ2FsbGVyeS1pdGVtIHsKCXdpZHRoOiAzMy4zMzMlOwp9CgouZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNCAuZ2FsbGVyeS1pdGVtIHsKCXdpZHRoOiAyNSU7Cn0KCi5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy01IC5nYWxsZXJ5LWl0ZW0gewoJd2lkdGg6IDIwJTsKfQoKLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbSB7Cgl3aWR0aDogMTYuNjY2JTsKfQoKLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTcgLmdhbGxlcnktaXRlbSB7Cgl3aWR0aDogMTQuMjglOwp9CgouZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtOCAuZ2FsbGVyeS1pdGVtIHsKCXdpZHRoOiAxMi41JTsKfQoKLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTkgLmdhbGxlcnktaXRlbSB7Cgl3aWR0aDogMTEuMTExJTsKfQoKLnBvc3QtdGV4dC1ib3R0b20gewogIG1hcmdpbi10b3A6IDMwcHg7CiAgcGFkZGluZy10b3A6IDMwcHg7CiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsKICBib3JkZXItdG9wOiAxcHggZGFzaGVkIHJnYigxOTAsIDE5MywgMTk1KTsKfQoKLnBvc3QtdGV4dC1ib3R0b20gPiBzcGFuIHsKCW1hcmdpbi1ib3R0b206IDFyZW07CglkaXNwbGF5OiBibG9jazsKfQoKLnBvc3QtdGV4dC1ib3R0b20gLnNvY2lhbC1zaGFyZSB7CiAgbGluZS1oZWlnaHQ6IDIwcHg7Cn0KCi5wb3N0LXRleHQtYm90dG9tIC5zaGFyZS1idG4gewoJcG9zaXRpb246IHJlbGF0aXZlOwoJZGlzcGxheTogaW5saW5lLWJsb2NrOwoJdG9wOiAxcHg7CgltYXJnaW4tbGVmdDogN3B4OwoJbWFyZ2luLXJpZ2h0OiA3cHg7Cglmb250LXNpemU6IDE3cHg7Cn0KCi5zb2NpYWwtc2hhcmUgc3Ryb25nIHsKCWZvbnQtd2VpZ2h0OiA0MDA7Cn0KCi5zb2NpYWwtc2hhcmUgYSB7CgltYXJnaW4tcmlnaHQ6IDE1cHg7CglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cgl2ZXJ0aWNhbC1hbGlnbjogdG9wOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJY29sb3I6IHJnYigwLCAwLCAwKTsKCXRyYW5zaXRpb246IGFsbCAwLjdzIGN1YmljLWJlemllcigwLjE2NSwgMC44NSwgMC40NSwgMSk7CgktbW96LXRyYW5zaXRpb246IGFsbCAwLjdzIGN1YmljLWJlemllcigwLjE2NSwgMC44NSwgMC40NSwgMSk7Cgktd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjdzIGN1YmljLWJlemllcigwLjE2NSwgMC44NSwgMC40NSwgMSk7Cgktby10cmFuc2l0aW9uOiBhbGwgMC43cyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODUsIDAuNDUsIDEpOwp9Cgouc29jaWFsLXNoYXJlIGEgLmljb24gewoJY29sb3I6IHJnYigwLCAwLCAwKTsKCWZvbnQtc2l6ZTogMTdweDsKfQoKLnNvY2lhbC1zaGFyZSBhOmhvdmVyLCAKLnNvY2lhbC1zaGFyZSBhOmhvdmVyIC5pY29uIHsKCWNvbG9yOiByZ2IoMjU1LCAxNTIsIDApOwp9Cgouc29jaWFsLXNoYXJlIGE6bGFzdC1jaGlsZCB7CgltYXJnaW4tcmlnaHQ6IDA7Cn0KCi5zb2NpYWwtc2hhcmUgc3BhbiB7CglsaW5lLWhlaWdodDogMjhweDsKfQoKLnBhZ2UtbGlua3MgewoJbWFyZ2luLXRvcDogMzBweDsKCWNsZWFyOiBib3RoOwp9CgoucG9zdC10ZXh0LWJvdHRvbSBzcGFuLmNhdC1saW5rcyBhLCAKLnBhZ2UtbGlua3MgYSB7Cgljb2xvcjogcmdiKDAsIDAsIDApOwogIAl0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLnBhZ2UtbGlua3MgYSwKLnBhZ2UtbGlua3Mgc3BhbiB7CglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CgltYXJnaW46IDAgMTBweDsKfQoKLnBvc3QtdGV4dC1ib3R0b20gc3Bhbi5jYXQtbGlua3MgYTpob3ZlciwgCi5wYWdlLWxpbmtzIGE6aG92ZXIgewoJY29sb3I6IHJnYigwLCAwLCAwKTsKICAJdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Cn0KCi5wb3N0LXRleHQtYm90dG9tIC50YWdzLWxpbmtzIHsKCW1hcmdpbjogMTVweCAwOwoJZGlzcGxheTogZmxleDsKICAJYWxpZ24taXRlbXM6IGNlbnRlcjsKICAJZmxleC13cmFwOiB3cmFwOwogIAlmb250LXNpemU6IDE1cHg7Cn0KCi5wb3N0LXRleHQtYm90dG9tIC50YWdzLWxpbmtzIGEgewogIAltYXJnaW4tdG9wOiAyLjVweDsKICAJbWFyZ2luLWJvdHRvbTogMi41cHg7Cn0KCi5wb3N0LXRleHQtYm90dG9tIC50YWdzLWxpbmtzICo6bnRoLWNoaWxkKDEpIHsKCW1hcmdpbi1sZWZ0OiA1cHg7Cn0KCi5taWwtcG9zdC1uYXZpZ2F0aW9uIHsKICAgIG1hcmdpbi10b3A6IDMwcHg7CiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkIHJnYigxOTAsIDE5MywgMTk1KTsKICAgIHBhZGRpbmctdG9wOiAzMHB4Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewoJLm1pbC1wb3N0LW5hdmlnYXRpb24gPiBhID4gc3BhbiB7CgkJZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwoJfQp9CgoubWlsLXBvc3QtbmF2aWdhdGlvbiBhLAoubWlsLXBvc3QtbmF2aWdhdGlvbiA+IHNwYW4gewogICAgZm9udC1zaXplOiAxM3B4OwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLm1pbC1wb3N0LW5hdmlnYXRpb24gaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1sZWZ0OiA3cHgKfQoKLm1pbC1wb3N0LW5hdmlnYXRpb24gaTpmaXJzdC1jaGlsZCB7CiAgICBtYXJnaW4tcmlnaHQ6IDdweAp9CgoubWlsLXBvc3QtbmF2aWdhdGlvbiA+IHNwYW4gewogICAgb3BhY2l0eTogLjU7CiAgICBjdXJzb3I6IGRlZmF1bHQKfQoKLm1pbC1wb3N0LW5hdmlnYXRpb24gYSBzcGFuIHsKICAgIHRyYW5zaXRpb246IC4zcyBlYXNlIDBzOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrCn0KCi5taWwtcG9zdC1uYXZpZ2F0aW9uIGE6aG92ZXIgaSArIHNwYW4gewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkKfQoKLm1pbC1wb3N0LW5hdmlnYXRpb24gYTpob3ZlciBzcGFuIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KQp9CgoubWlsLXRleHQgYSwKLnNpbmdsZS1wb3N0LXRleHQgYSB7Cgljb2xvcjogcmdiKDAsIDAsIDApOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CgoubWlsLXRleHQgYTpob3ZlciwKLnNpbmdsZS1wb3N0LXRleHQgYTpob3ZlciB7Cgljb2xvcjogcmdiKDAsIDAsIDApOwoJdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Cn0KCi5taWwtdGV4dCAubWlsLWVsLW1vcmUgewoJbWFyZ2luLXRvcDogMzBweDsKfQoKLm1pbC1lbC1tb3JlIHsKCWRpc3BsYXk6IGJsb2NrOwp9CgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc2lkZWJhcgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgoubWlsLXNpZGViYXItZnJhbWUgewoJd2lkdGg6IDEwMCU7CglwYWRkaW5nOiAzMHB4Owp9CiAgCi5taWwtc2lkZWJhci1mcmFtZSAubWlsLXNpZGViYXIgewoJcGFkZGluZzogMTVweDsKfQogIApAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHsKCS5taWwtc2lkZWJhci1mcmFtZS5taWwtcGFkLXR5cGUtMSB7CgkgIG1hcmdpbi10b3A6IDYwcHg7CgkgIG1hcmdpbi1ib3R0b206IDYwcHg7Cgl9CgkubWlsLXNpZGViYXItZnJhbWUubWlsLXBhZC10eXBlLTIgewoJICBtYXJnaW4tdG9wOiA5MHB4OwoJICBtYXJnaW4tYm90dG9tOiAwOwoJfQp9CiAgCkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewoJLm1pbC1zaWRlYmFyLWZyYW1lIC5taWwtc2lkZWJhciB7CgkgIGJvcmRlcjogbm9uZTsKCSAgcGFkZGluZzogMDsKCX0KfQoKLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmNvbW1lbnRzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKLm1pbC1jb21tZW50cy1saXN0IHsKCXBhZGRpbmc6IDA7CgltYXJnaW4tdG9wOiAzMHB4OwoJcG9zaXRpb246IHJlbGF0aXZlOwp9CgoubWlsLWNvbW1lbnRzLWxpc3QgKyAuZm9ybS1jb21tZW50IHsKICBtYXJnaW4tdG9wOiA5MHB4Owp9CgoubWlsLWNvbW1lbnRzLWxpc3QgKyAubWlsLXRleHQgewogIG1hcmdpbi10b3A6IDYwcHg7Cn0KCi5taWwtY29tbWVudHMtbGlzdDpiZWZvcmUgewoJY29udGVudDogJyc7Cgl3aWR0aDogMXB4OwoJaGVpZ2h0OiAxMDAlOwoJcG9zaXRpb246IGFic29sdXRlOwoJbGVmdDogMzJweDsKCXRvcDogMDsKfQoKLm1pbC1jb21tZW50cy1saXN0PmxpIHsKCWxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLm1pbC1jb21tZW50cy1saXN0PmxpOmFmdGVyIHsKCWNvbnRlbnQ6ICcnOwoJZGlzcGxheTogYmxvY2s7CgljbGVhcjogYm90aDsKCWhlaWdodDogMDsKCXdpZHRoOiAwOwp9CgoubWlsLWNvbW1lbnRzLWxpc3QgLm1pbC1jb21tZW50LWF2YXRhciB7Cgl3aWR0aDogNjVweDsKCWhlaWdodDogNjVweDsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCXotaW5kZXg6IDk5OwoJZmxvYXQ6IGxlZnQ7Cglib3JkZXItcmFkaXVzOiA1MCU7CglvdmVyZmxvdzogaGlkZGVuOwp9CgoubWlsLWNvbW1lbnRzLWxpc3QgLm1pbC1jb21tZW50LWF2YXRhciBpbWcgewoJd2lkdGg6IDEwMCU7CgloZWlnaHQ6IDEwMCU7Cn0KCi5taWwtY29tbWVudHMtbGlzdCAuY2hpbGRyZW4gewoJcGFkZGluZy1sZWZ0OiA4OHB4OwoJY2xlYXI6IGJvdGg7CgltYXJnaW4tdG9wOiAxNXB4OwoJbGlzdC1zdHlsZTogbm9uZTsKfQoKLm1pbC1jb21tZW50cy1saXN0IC5jb21tZW50IHsKCWxpc3Qtc3R5bGU6IG5vbmU7Cn0KCi5jb21tZW50LWluZm8gewoJcGFkZGluZzogMTVweCAwIDAgMDsKCWNvbG9yOiByZ2IoMTkwLCAxOTMsIDE5NSk7Cn0KCi5jb21tZW50LWluZm8gc3Bhbi5jb21tZW50LXJlcGx5IHsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCXRvcDogMDsKCXJpZ2h0OiAwOwp9CgouY29tbWVudC1yZXBseS1saW5rIHsKCWZvbnQtc2l6ZTogMTJweDsKCWZvbnQtd2VpZ2h0OiA2MDA7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouY29tbWVudC1yZXBseS1saW5rOmFmdGVyIHsKCWNvbnRlbnQ6ICcnOwoJbWFyZ2luLWxlZnQ6IDhweDsKCWNvbnRlbnQ6ICdcZjNlNSc7CglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cgl2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwoJZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJzsKCWZvbnQtc2l6ZTogMTJweDsKCWxpbmUtaGVpZ2h0OiAxNHB4OwoJb3BhY2l0eTogMC44Owp9CgoucG9zdC1jb21tZW50cyAudGl0bGUgaDUgewoJbWFyZ2luLWJvdHRvbTogMzBweDsKfQoKLmNvbW1lbnQtcmVzcG9uZCB7Cglwb3NpdGlvbjogcmVsYXRpdmU7CgltYXJnaW4tdG9wOiAwOwoJbWFyZ2luLWJvdHRvbTogNDBweDsKCW1hcmdpbi1sZWZ0OiA5MHB4Owp9CgouZm9ybS1jb21tZW50IC5jb21tZW50LXJlc3BvbmQgewoJbWFyZ2luLXRvcDogMDsKCW1hcmdpbi1sZWZ0OiAwOwp9CgoudHJhY2tiYWNrIC5taWwtY29tbWVudC1hdmF0YXIsCi5waW5nYmFjayAubWlsLWNvbW1lbnQtYXZhdGFyIHsKCWRpc3BsYXk6IG5vbmU7Cn0KCi5jb21tZW50LXJlc3BvbmQgLnNtYWxsLAouY29tbWVudC1yZXNwb25kIHNtYWxsIHsKCWZvbnQtc2l6ZTogMTRweDsKfQoKLmNvbW1lbnQtcmVzcG9uZCAudGl0bGVfaW5uZXIgc21hbGwgewoJcG9zaXRpb246IGFic29sdXRlOwoJdG9wOiAxMHB4OwoJbGVmdDogYXV0bzsKCXJpZ2h0OiAwOwoJZGlzcGxheTogYmxvY2s7Cglmb250LXNpemU6IDE0cHg7Cgl3aGl0ZS1zcGFjZTogbm93cmFwOwp9CgouY29tbWVudC1yZXNwb25kIC50aXRsZV9pbm5lciBzbWFsbCBhIHsKCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKCW9wYWNpdHk6IDAuODsKfQoKLmNvbW1lbnQtcmVzcG9uZCAudGl0bGVfaW5uZXIgc21hbGwgYTpob3ZlciB7CglvcGFjaXR5OiAxOwp9CgouY29tbWVudDphZnRlciB7Cgljb250ZW50OiAnJzsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCWRpc3BsYXk6IGJsb2NrOwoJY2xlYXI6IGJvdGg7Cn0KCi5jb21tZW50LXJlcGx5IHsKCW1hcmdpbi10b3A6IDE1cHg7Cn0KCi5taWwtY29tbWVudC1ib3ggewoJd2lkdGg6IGNhbGMoMTAwJSAtIDkwcHgpOwoJZmxvYXQ6IHJpZ2h0OwoJcG9zaXRpb246IHJlbGF0aXZlOwoJYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKCXBhZGRpbmc6IDIwcHg7CgltYXJnaW4tYm90dG9tOiAzMHB4OwogICAgYm9yZGVyOiBzb2xpZCAxcHggI0YyRjNGNTsKfQoKLm1pbC1jb21tZW50LWJveCAubWlsLWNvbW1lbnQtaGVhZCB7CglkaXNwbGF5OiAtd2Via2l0LWJveDsKCWRpc3BsYXk6IC1tcy1mbGV4Ym94OwoJZGlzcGxheTogZmxleDsKCS13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CgktbXMtZmxleC1hbGlnbjogY2VudGVyOwoJYWxpZ24taXRlbXM6IGNlbnRlcjsKCS13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7CgktbXMtZmxleC1wYWNrOiBqdXN0aWZ5OwoJanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwoJbWFyZ2luLWJvdHRvbTogMjBweDsKfQoKLm1pbC1jb21tZW50LWJveCAubWlsLWNvbW1lbnQtaGVhZCBoNiB7Cglmb250LXNpemU6IDEzcHg7CglsaW5lLWhlaWdodDogMS41Owp9CgoubWlsLWNvbW1lbnQtYm94IC5taWwtY29tbWVudC1oZWFkIC5taWwtZGF0ZSB7CiAgcGFkZGluZzogMnB4IDVweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGM0Y1OwogIGZvbnQtc2l6ZTogMTJweDsKICBmb250LXdlaWdodDogNDAwOwogIGNvbG9yOiByZ2IoMCwgMCwgMCk7Cn0KCi5taWwtY29tbWVudHMtbGlzdC5taWwtcmVwbHktbGlzdD5saTpsYXN0LWNoaWxkIC5taWwtY29tbWVudC1ib3ggewoJbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50Owp9CgouZm9ybS1jb21tZW50IC5taWwtZ3JvdXAtaW5wdXQgdGV4dGFyZWEgewogIGJhY2tncm91bmQ6ICNmZmY7CiAgbWF4LXdpZHRoOiA4MDBweDsKICBoZWlnaHQ6IDE4MHB4OwogIGZvbnQtc2l6ZTogMTdweDsKICBmb250LWZhbWlseTogJ091dGZpdCc7CiAgcGFkZGluZzogMjBweDsKfQoKQG1lZGlhIChtYXgtd2lkdGg6IDc5MHB4KSB7CgkubWlsLWNvbW1lbnRzLWxpc3Q6YmVmb3JlIHsKCQlsZWZ0OiAxN3B4OwoJfQoJLm1pbC1jb21tZW50cy1saXN0IC5taWwtY29tbWVudC1hdmF0YXIgewoJCXdpZHRoOiAzNXB4OwoJCWhlaWdodDogMzVweDsKCX0KCS5taWwtcmVwbHktbGlzdCB7CgkJcGFkZGluZy1sZWZ0OiA1MHB4OwoJfQoJLm1pbC1yZXBseS1saXN0PmxpOmJlZm9yZSB7CgkJdG9wOiAxN3B4OwoJCWxlZnQ6IC0zM3B4OwoJfQoJLm1pbC1jb21tZW50LWJveCB7CgkJd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpOwoJfQp9CgouY29tbWVudC1mb3JtLWNvb2tpZXMtY29uc2VudCBsYWJlbCB7CglkaXNwbGF5OiBpbmxpbmU7Cn0KCi50aXRsZS5jb21tZW50LXJlcGx5LXRpdGxlLAoucG9zdC1jb21tZW50cyAudGl0bGUgewoJbWFyZ2luOiAwIDAgMzBweCAwOwoJZm9udC1zaXplOiAxN3B4OwoJZm9udC13ZWlnaHQ6IDYwMDsKfQoKLnBvc3QtY29tbWVudHMgPiAuZm9ybS1jb21tZW50ID4gLmNvbW1lbnQtcmVzcG9uZCB7CgltYXJnaW4tYm90dG9tOiAwOwp9CgpAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHsKCS5jb21tZW50LXJlc3BvbmQgLnRpdGxlX2lubmVyIHNtYWxsIHsKCQlwb3NpdGlvbjogcmVsYXRpdmU7CgkJdG9wOiAwOwoJCWxlZnQ6IDA7Cgl9Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiAxMTYwcHgpIHsKCS5wb3N0LWNvbW1lbnRzIC5wb3N0LWNvbW1lbnQgLmltYWdlIHsKCQl3aWR0aDogNjBweDsKCQloZWlnaHQ6IDYwcHg7Cgl9CgkucG9zdC1jb21tZW50cyAucG9zdC1jb21tZW50IC5kZXNjIHsKCQltYXJnaW4tbGVmdDogODBweDsKCX0KCS5wb3N0LWNvbW1lbnRzIC5wb3N0LWNvbW1lbnQucGluZ2JhY2sgLmRlc2MgewoJCW1hcmdpbi1sZWZ0OiAwOwoJfQoJLnBvc3QtY29tbWVudHMgdWwuY2hpbGRyZW4gewoJCXBhZGRpbmc6IDIwcHggMjBweCAwIDgwcHg7Cgl9CgkucG9zdC1jb21tZW50cyB1bC5jaGlsZHJlbiB1bC5jaGlsZHJlbiB7CgkJcGFkZGluZzogMjBweCAwIDAgMjBweDsKCX0KCS5wb3N0LWNvbW1lbnRzIHVsLmNoaWxkcmVuIHVsLmNoaWxkcmVuIHVsLmNoaWxkcmVuIHVsLmNoaWxkcmVuIHsKCQlwYWRkaW5nOiAyMHB4IDAgMCAxMHB4OwoJfQp9CgpAbWVkaWEgKG1heC13aWR0aDogODQwcHgpIHsKCS5wb3N0LWNvbW1lbnRzIHVsLmNoaWxkcmVuIHsKCQlwYWRkaW5nOiAyMHB4IDIwcHggMCAyMHB4OwoJfQoJLnBvc3QtY29tbWVudHMgdWwuY2hpbGRyZW4gdWwuY2hpbGRyZW4gewoJCXBhZGRpbmc6IDIwcHggMCAwIDIwcHg7Cgl9CgkucG9zdC1jb21tZW50cyB1bC5jaGlsZHJlbiB1bC5jaGlsZHJlbiB1bC5jaGlsZHJlbiB7CgkJcGFkZGluZzogMjBweCAwIDAgMjBweDsKCX0KCS5wb3N0LWNvbW1lbnRzIHVsLmNoaWxkcmVuIHVsLmNoaWxkcmVuIHVsLmNoaWxkcmVuIHVsLmNoaWxkcmVuIHsKCQlwYWRkaW5nOiAyMHB4IDAgMCAxMHB4OwoJfQp9CgpAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHsKCS5wb3N0LWNvbW1lbnRzIHVsLmNoaWxkcmVuIHsKCQlwYWRkaW5nOiAxNXB4IDE1cHggMTVweCAxNXB4OwoJfQoJLnBvc3QtY29tbWVudHMgdWwuY2hpbGRyZW4gdWwuY2hpbGRyZW4gewoJCXBhZGRpbmc6IDE1cHggMCAwIDEwcHg7Cgl9CgkucG9zdC1jb21tZW50cyB1bC5jaGlsZHJlbiB1bC5jaGlsZHJlbiB1bC5jaGlsZHJlbiB7CgkJcGFkZGluZzogMTVweCAwIDAgNXB4OwoJfQoJLnBvc3QtY29tbWVudHMgdWwuY2hpbGRyZW4gdWwuY2hpbGRyZW4gdWwuY2hpbGRyZW4gdWwuY2hpbGRyZW4gewoJCXBhZGRpbmc6IDE1cHggMCAwIDVweDsKCX0KCS5wb3N0LWNvbW1lbnRzIC5wb3N0LWNvbW1lbnQgLmltYWdlIHsKCQl3aWR0aDogNDBweDsKCQloZWlnaHQ6IDQwcHg7Cgl9CgkucG9zdC1jb21tZW50cyAucG9zdC1jb21tZW50IC5kZXNjIHsKCQltYXJnaW4tbGVmdDogNTVweDsKCX0KCS5wb3N0LWNvbW1lbnRzIC5wb3N0LWNvbW1lbnQucGluZ2JhY2sgLmRlc2MgewoJCW1hcmdpbi1sZWZ0OiAwOwoJfQoJLmdhbGxlcnkgLmdhbGxlcnktaXRlbSB7CgkJd2lkdGg6IDEwMCU7Cgl9CgkuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMSAuZ2FsbGVyeS1pdGVtIHsKCQl3aWR0aDogMTAwJTsKCX0KCS5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0yIC5nYWxsZXJ5LWl0ZW0gewoJCXdpZHRoOiAxMDAlOwoJfQoJLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbSB7CgkJd2lkdGg6IDEwMCU7Cgl9CgkuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNCAuZ2FsbGVyeS1pdGVtIHsKCQl3aWR0aDogMTAwJTsKCX0KCS5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy01IC5nYWxsZXJ5LWl0ZW0gewoJCXdpZHRoOiAxMDAlOwoJfQoJLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbSB7CgkJd2lkdGg6IDEwMCU7Cgl9CgkuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNyAuZ2FsbGVyeS1pdGVtIHsKCQl3aWR0aDogMTAwJTsKCX0KCS5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy04IC5nYWxsZXJ5LWl0ZW0gewoJCXdpZHRoOiAxMDAlOwoJfQoJLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTkgLmdhbGxlcnktaXRlbSB7CgkJd2lkdGg6IDEwMCU7Cgl9Cn0KCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpXUCBCbG9jawotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCi53cC1jYXB0aW9uLXRleHQsCi53cC1ibG9jay1pbWFnZSBmaWdjYXB0aW9uLAoud3AtYmxvY2stdmlkZW8gZmlnY2FwdGlvbiwKLndwLWJsb2NrLWVtYmVkIGZpZ2NhcHRpb24gewoJbWF4LXdpZHRoOiAxMDAlOwoJbWFyZ2luOiAwOwoJcGFkZGluZzogNXB4IDEwcHggMCAxMHB4OwoJdGV4dC1hbGlnbjogY2VudGVyOwoJZm9udC1zaXplOiAxNHB4OwoJZm9udC1zdHlsZTogaXRhbGljOwoJY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsKfQoKLndwLWJsb2NrLWdhbGxlcnkgLmJsb2Nrcy1nYWxsZXJ5LWltYWdlLAoud3AtYmxvY2stZ2FsbGVyeSAuYmxvY2tzLWdhbGxlcnktaXRlbSB7CglwYWRkaW5nOiAwOwp9Cgoud3AtYmxvY2stZ2FsbGVyeSAuYmxvY2tzLWdhbGxlcnktaW1hZ2U6YmVmb3JlLAoud3AtYmxvY2stZ2FsbGVyeSAuYmxvY2tzLWdhbGxlcnktaXRlbTpiZWZvcmUgewoJZGlzcGxheTogbm9uZTsKfQoKLndwLWJsb2NrLWNvdmVyLAoud3AtYmxvY2stY292ZXItaW1hZ2UgewoJbWFyZ2luOiAzMHB4IDA7Cn0KCi53cC1ibG9jay1jb3Zlci5hbGlnbmxlZnQsCi53cC1ibG9jay1jb3Zlci1pbWFnZS5hbGlnbmxlZnQsCi53cC1ibG9jay1jb3Zlci5hbGlnbnJpZ2h0LAoud3AtYmxvY2stY292ZXItaW1hZ2UuYWxpZ25yaWdodCB7CgltYXJnaW4tYm90dG9tOiAzMHB4IWltcG9ydGFudDsKfQoKLndwLWJsb2NrLWNvdmVyIHAgYTpob3ZlciwKLndwLWJsb2NrLWNvdmVyLWltYWdlIHAgYTpob3ZlciB7Cgl0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKfQoKLndwLWJsb2NrLXF1b3RlLmlzLWxhcmdlLAoud3AtYmxvY2stcXVvdGUuaXMtc3R5bGUtbGFyZ2UgewoJcGFkZGluZzogMzBweCA0MHB4ICFpbXBvcnRhbnQ7Cn0KCi53cC1ibG9jay1wdWxscXVvdGUgewoJcGFkZGluZy10b3A6IDA7CglwYWRkaW5nLWJvdHRvbTogMDsKfQoKLndwLWJsb2NrLXB1bGxxdW90ZSBibG9ja3F1b3RlIHsKCXBhZGRpbmctYm90dG9tOiAzMHB4OwoJYm9yZGVyLWxlZnQ6IG5vbmU7Cglib3JkZXItYm90dG9tOiAycHggc29saWQgcmdiKDI1NSwgMTUyLCAwKTsKfQoKLndwLWJsb2NrLXB1bGxxdW90ZS5pcy1zdHlsZS1zb2xpZC1jb2xvciB7CgliYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKCWJvcmRlcjogbm9uZTsKfQoKLndwLWJsb2NrLXB1bGxxdW90ZS5pcy1zdHlsZS1zb2xpZC1jb2xvciBibG9ja3F1b3RlIHsKCWJvcmRlcjogbm9uZTsKfQoKLndwLWJsb2NrLWNhbGVuZGFyLAoud3AtYmxvY2stYXJjaGl2ZXMsCi53cC1ibG9jay1jYXRlZ29yaWVzIHsKCW1hcmdpbjogMzBweCAwOwoJbWF4LXdpZHRoOiA0ODBweDsKfQoKLndwLWJsb2NrLXNlYXJjaCAud3AtYmxvY2stc2VhcmNoX19sYWJlbCB7CglkaXNwbGF5OiBub25lOwp9Cgoud3AtYmxvY2stZ3JvdXAuaGFzLWJhY2tncm91bmQgewoJcGFkZGluZzogMjBweDsKCWNvbG9yOiByZ2IoMCwgMCwgMCk7Cn0KCi53cC1ibG9jay1ncm91cC5oYXMtYmFja2dyb3VuZCBwOmZpcnN0LWNoaWxkIHsKCW1hcmdpbi10b3A6IDA7Cn0KCi53cC1ibG9jay1ncm91cC5oYXMtYmFja2dyb3VuZCBwOmxhc3QtY2hpbGQgewoJbWFyZ2luLWJvdHRvbTogMDsKfQoKLndwLWJsb2NrLW1lZGlhLXRleHQuaGFzLWJhY2tncm91bmQgewoJY29sb3I6IHJnYigwLCAwLCAwKTsKfQoKLndwLWJsb2NrLW1lZGlhLXRleHQuaGFzLWJhY2tncm91bmQgLmhhcy1sYXJnZS1mb250LXNpemUgewoJbGluZS1oZWlnaHQ6IDEuNzsKfQoKaHIud3AtYmxvY2stc2VwYXJhdG9yIHsKCW1hcmdpbjogMzBweCAwOwoJYm9yZGVyOiBub25lOwoJYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYigxOTAsIDE5MywgMTk1KTsKCW1heC13aWR0aDogNTBweDsKfQoKaHIud3AtYmxvY2stc2VwYXJhdG9yLmlzLXN0eWxlLXdpZGUgewoJbWF4LXdpZHRoOiAxMDAlOwp9Cgoud3AtYmxvY2stc2VwYXJhdG9yLmlzLXN0eWxlLWRvdHM6YmVmb3JlIHsKCWNvbG9yOiByZ2IoMTkwLCAxOTMsIDE5NSk7Cn0KCi53cC1ibG9jay1idXR0b24gewoJbWFyZ2luLWJvdHRvbTogMzBweDsKfQoKLndwLWJsb2NrLWJ1dHRvbiBhLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7CglwYWRkaW5nOiAxM3B4IDM1cHg7CgliYWNrZ3JvdW5kOiByZ2IoMjU1LCAxNTIsIDApOwoJY29sb3I6IHJnYigwLCAwLCAwKTsKCWZvbnQtc2l6ZTogMTJweDsKCWZvbnQtd2VpZ2h0OiA2MDA7CglsZXR0ZXItc3BhY2luZzogMS41cHg7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwoJYm9yZGVyLXJhZGl1czogNDZweDsKCS13ZWJraXQtYm9yZGVyLXJhZGl1czogNDZweDsKfQoKLndwLWJsb2NrLWJ1dHRvbiBhLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciB7Cgljb2xvcjogcmdiKDAsIDAsIDApOwp9Cgoud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgYS53cC1ibG9jay1idXR0b25fX2xpbmsgewoJcGFkZGluZy10b3A6IDExcHg7CglwYWRkaW5nLWJvdHRvbTogMTFweDsKCWJvcmRlcjogMnB4IHNvbGlkIHJnYigyNTUsIDE1MiwgMCk7Cgljb2xvcjogcmdiKDI1NSwgMTUyLCAwKTsKCWJhY2tncm91bmQ6IG5vbmU7Cn0KCi53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtc3F1YXJlZCBhLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7Cglib3JkZXItcmFkaXVzOiAwOwoJLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwOwp9Cgoud3AtYmxvY2stY29sdW1ucyB7CgltYXJnaW4tYm90dG9tOiAwOwp9Cgoud3AtY2FsZW5kYXItbmF2OmFmdGVyIHsKCWNvbnRlbnQ6ICcnOwoJcG9zaXRpb246IHJlbGF0aXZlOwoJZGlzcGxheTogYmxvY2s7CgljbGVhcjogYm90aDsKfQoKLndwLWNhbGVuZGFyLW5hdiBzcGFuLndwLWNhbGVuZGFyLW5hdi1wcmV2IHsKCWZsb2F0OiBsZWZ0Owp9Cgoud3AtY2FsZW5kYXItbmF2IHNwYW4ud3AtY2FsZW5kYXItbmF2LW5leHQgewoJZmxvYXQ6IHJpZ2h0Owp9Cgoud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzX19jb21tZW50IHsKICBsaW5lLWhlaWdodDogMS41Owp9CgouaGFzLWF2YXRhcnMgLndwLWJsb2NrLWxhdGVzdC1jb21tZW50c19fY29tbWVudCAud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzX19jb21tZW50LWV4Y2VycHQsCi5oYXMtYXZhdGFycyAud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzX19jb21tZW50IC53cC1ibG9jay1sYXRlc3QtY29tbWVudHNfX2NvbW1lbnQtbWV0YSB7CglwYWRkaW5nOiAwOwp9CgouaGFzLWF2YXRhcnMgLndwLWJsb2NrLWxhdGVzdC1jb21tZW50c19fY29tbWVudCAud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzX19jb21tZW50LWV4Y2VycHQgYSwKLmhhcy1hdmF0YXJzIC53cC1ibG9jay1sYXRlc3QtY29tbWVudHNfX2NvbW1lbnQgLndwLWJsb2NrLWxhdGVzdC1jb21tZW50c19fY29tbWVudC1tZXRhIGEgewoJZm9udC13ZWlnaHQ6IDYwMDsKfQoKLmhhcy1hdmF0YXJzIC53cC1ibG9jay1sYXRlc3QtY29tbWVudHNfX2NvbW1lbnQgLndwLWJsb2NrLWxhdGVzdC1jb21tZW50c19fY29tbWVudC1leGNlcnB0IHsKCW1hcmdpbi10b3A6IDhweDsKCW1hcmdpbi1ib3R0b206IDIycHg7Cn0KCi53cC1ibG9jay10YWJsZS5pcy1zdHlsZS1zdHJpcGVzIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHsKCWJhY2tncm91bmQ6IHJnYigxOTAsIDE5MywgMTk1KTsKfQoKdWwuYmxvY2tzLWdhbGxlcnktZ3JpZCB7CgltYXJnaW46IDAgIWltcG9ydGFudDsKfQoKYm9keSAud3AtYmxvY2stY292ZXItaW1hZ2UtdGV4dCwKYm9keSAud3AtYmxvY2stY292ZXItaW1hZ2UtdGV4dCBhLApib2R5IC53cC1ibG9jay1jb3Zlci1pbWFnZS10ZXh0IGE6YWN0aXZlLApib2R5IC53cC1ibG9jay1jb3Zlci1pbWFnZS10ZXh0IGE6Zm9jdXMsCmJvZHkgLndwLWJsb2NrLWNvdmVyLWltYWdlLXRleHQgYTpob3ZlciwKYm9keSAud3AtYmxvY2stY292ZXItdGV4dCwKYm9keSAud3AtYmxvY2stY292ZXItdGV4dCBhLApib2R5IC53cC1ibG9jay1jb3Zlci10ZXh0IGE6YWN0aXZlLApib2R5IC53cC1ibG9jay1jb3Zlci10ZXh0IGE6Zm9jdXMsCmJvZHkgLndwLWJsb2NrLWNvdmVyLXRleHQgYTpob3ZlciwKYm9keSBzZWN0aW9uLndwLWJsb2NrLWNvdmVyLWltYWdlIGgyLApib2R5IHNlY3Rpb24ud3AtYmxvY2stY292ZXItaW1hZ2UgaDIgYSwKYm9keSBzZWN0aW9uLndwLWJsb2NrLWNvdmVyLWltYWdlIGgyIGE6YWN0aXZlLApib2R5IHNlY3Rpb24ud3AtYmxvY2stY292ZXItaW1hZ2UgaDIgYTpmb2N1cywKYm9keSBzZWN0aW9uLndwLWJsb2NrLWNvdmVyLWltYWdlIGgyIGE6aG92ZXIgewoJY29sb3I6ICNmZmYhaW1wb3J0YW50Owp9Cgoud3AtYmxvY2stYXJjaGl2ZXMtZHJvcGRvd24gLm5pY2Utc2VsZWN0LAoud3AtYmxvY2stY2F0ZWdvcmllcy1kcm9wZG93biAubmljZS1zZWxlY3QgewoJbWF4LXdpZHRoOiAzOTBweDsKCWZsb2F0OiBub25lOwoJZGlzcGxheTogYmxvY2s7Cn0KCi53cC1ibG9jay1jYWxlbmRhciwKLndwLWJsb2NrLWFyY2hpdmVzLAoud3AtYmxvY2stY2F0ZWdvcmllcyB7CgltYXgtd2lkdGg6IDM5MHB4Owp9Cgoud3AtYmxvY2stY2FsZW5kYXIgdGFibGUgewoJYmFja2dyb3VuZDogI2ZmZjsKICAJYm9yZGVyOiAxcHggc29saWQgcmdiKDE5MCwgMTkzLCAxOTUpOwp9Ci53cC1jYWxlbmRhci10YWJsZSB0ciB0aCB7CglwYWRkaW5nLWxlZnQ6IDVweDsKCXBhZGRpbmctcmlnaHQ6IDVweDsKCXRleHQtYWxpZ246IGNlbnRlciFpbXBvcnRhbnQ7Cn0KCi5wb3N0LXBhc3N3b3JkLWZvcm0gbGFiZWwgewoJbWFyZ2luLWJvdHRvbTogMDsKCWRpc3BsYXk6IGlubGluZS1ibG9jazsKCXZlcnRpY2FsLWFsaWduOiBib3R0b207Cn0KLnBvc3QtcGFzc3dvcmQtZm9ybSBsYWJlbCBpbnB1dCB7CgltYXJnaW4tYm90dG9tOiAwOwogIG1hcmdpbi10b3A6IDEwcHg7Cglib3JkZXItbGVmdDogbm9uZTsKfQoucG9zdC1wYXNzd29yZC1mb3JtIGlucHV0W3R5cGU9InN1Ym1pdCJdIHsKCW1hcmdpbi1ib3R0b206IDA7CglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cgl2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOwoJd2lkdGg6IDIyMHB4OwoJYmFja2dyb3VuZDogcmdiKDI1NSwgMTUyLCAwKTsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5pdGVtR2FsbGVyeV9fYm94IHsKCW1hcmdpbi1ib3R0b206IDMwcHg7Cglwb3NpdGlvbjogcmVsYXRpdmU7CgliYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKCS13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMTBweCAwIHJnYigyNiA0NyA1MSAvIDE1JSk7Cglib3gtc2hhZG93OiAwIDVweCAxMHB4IDAgcmdiKDI2IDQ3IDUxIC8gMTUlKTsKCWJvcmRlci1yYWRpdXM6IDVweDsKfQouaXRlbUdhbGxlcnlfX2JveCBhIHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCW92ZXJmbG93OiBoaWRkZW47CglkaXNwbGF5OiBibG9jazsKfQouaXRlbUdhbGxlcnlfX2JveCBhOmFmdGVyIHsKCWNvbnRlbnQ6ICcnOwoJcG9zaXRpb246IGFic29sdXRlOwoJbGVmdDogMDsKCXRvcDogMDsKCXdpZHRoOiAxMDAlOwoJaGVpZ2h0OiAxMDAlOwoJYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsMCwwLDApIDAlLCByZ2JhKDAsMCwwLDAuNzUpIDEwMCUpOwoJYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsMCwwLDApIDAlLHJnYmEoMCwwLDAsMC43NSkgMTAwJSk7CgliYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsMCwwLDApIDAlLHJnYmEoMCwwLDAsMC43NSkgMTAwJSk7CglvcGFjaXR5OiAwOwoJLXdlYmtpdC10cmFuc2l0aW9uOiAwLjRzIGVhc2UtaW4tb3V0OwoJdHJhbnNpdGlvbjogMC40cyBlYXNlLWluLW91dDsKfQouaXRlbUdhbGxlcnlfX2JveCBpbWcuY292ZXIgewoJd2lkdGg6IDEwMCU7CgloZWlnaHQ6IDMwMHB4OwoJb2JqZWN0LWZpdDogY292ZXI7Cglib3JkZXItcmFkaXVzOiA1cHg7Cgktd2Via2l0LXRyYW5zaXRpb246IDAuNHMgZWFzZS1pbi1vdXQ7Cgl0cmFuc2l0aW9uOiAwLjRzIGVhc2UtaW4tb3V0Owp9Ci5pdGVtR2FsbGVyeV9fZGV0YWlscyB7CglwYWRkaW5nOiAzMHB4OwoJcG9pbnRlci1ldmVudHM6IG5vbmU7Cglwb3NpdGlvbjogYWJzb2x1dGU7CglsZWZ0OiAwOwoJYm90dG9tOiAwOwoJY29sb3I6ICNmZmY7CglvcGFjaXR5OiAwOwoJLXdlYmtpdC10cmFuc2l0aW9uOiAwLjZzIGVhc2UtaW4tb3V0OwoJdHJhbnNpdGlvbjogMC42cyBlYXNlLWluLW91dDsKfQouaXRlbUdhbGxlcnlfX2JveDpob3ZlciBhOmFmdGVyIHsKCW9wYWNpdHk6IDE7Cn0KLml0ZW1HYWxsZXJ5X19ib3g6aG92ZXIgaW1nLmNvdmVyIHsKCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKCXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7Cn0KLml0ZW1HYWxsZXJ5X19ib3g6aG92ZXIgLml0ZW1HYWxsZXJ5X19kZXRhaWxzIHsKCW9wYWNpdHk6IDE7Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkgewoJLnN0aWNreTpiZWZvcmUgewoJCWxlZnQ6IC0xLjI1cmVtOwoJCXdpZHRoOiAycHg7Cgl9Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkgewoJLnNpbmdsZS1wb3N0LXRleHQgdGFibGUgdGggewoJCXBhZGRpbmc6IDhweDsKCX0KCS5zaW5nbGUtcG9zdC10ZXh0IHRhYmxlIHRkIHsKCQlwYWRkaW5nOiA4cHg7Cgl9CgkucG9zdC1jb21tZW50cyB1bC5jaGlsZHJlbiB1bC5jaGlsZHJlbiB1bC5jaGlsZHJlbiB7CgkJcGFkZGluZzogMTVweCAwIDAgMTBweDsKCX0KfQoKQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CgkuYmxvY2tzLWdhbGxlcnktZ3JpZC5hbGlnbmxlZnQsCgkuYmxvY2tzLWdhbGxlcnktZ3JpZC5hbGlnbnJpZ2h0LAoJLndwLWJsb2NrLWdhbGxlcnkuYWxpZ25sZWZ0LAoJLndwLWJsb2NrLWdhbGxlcnkuYWxpZ25yaWdodCB7CgkJd2lkdGg6IDEwMCUhaW1wb3J0YW50OwoJCW1heC13aWR0aDogMTAwJSFpbXBvcnRhbnQ7CgkJbWFyZ2luLXJpZ2h0OiAwIWltcG9ydGFudDsKCQlmbG9hdDogbm9uZSFpbXBvcnRhbnQ7Cgl9Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgewoJLndwLWJsb2NrLXF1b3RlLmlzLWxhcmdlIHAsIC53cC1ibG9jay1xdW90ZS5pcy1zdHlsZS1sYXJnZSBwIHsKCQlmb250LXNpemU6IDEuMmVtOwoJCWZvbnQtc3R5bGU6IGl0YWxpYzsKCQlsaW5lLWhlaWdodDogMS40OwoJfQoJLndwLWJsb2NrLXB1bGxxdW90ZS5pcy1zdHlsZS1zb2xpZC1jb2xvciBibG9ja3F1b3RlIHsKCQltYXgtd2lkdGg6IDEwMCU7Cgl9Cgkud3AtYmxvY2stcHVsbHF1b3RlIHAgewoJCWZvbnQtc2l6ZTogMS43NWVtOwoJCWxpbmUtaGVpZ2h0OiAxLjQ7Cgl9Cgkuc2luZ2xlLXBvc3QtdGV4dCB0YWJsZSB0aCB7CgkJZm9udC1zaXplOiAxMnB4OwoJfQoJZm9ybS5wb3N0LXBhc3N3b3JkLWZvcm0gbGFiZWwgaW5wdXQgewoJCW1hcmdpbi10b3A6IDEwcHg7CgkJbWFyZ2luLWJvdHRvbTogMTBweDsKCX0KCS5wb3N0LXBhc3N3b3JkLWZvcm0gbGFiZWwgewoJCWRpc3BsYXk6IGJsb2NrOwoJfQoJLnBvc3QtcGFzc3dvcmQtZm9ybSBpbnB1dFt0eXBlPSJzdWJtaXQiXSB7CgkJd2lkdGg6IDEwMCU7Cgl9CgkuY29tbWVudC1yZXNwb25kIHsKCQltYXJnaW4tbGVmdDogNTBweDsKCX0KCS5zaW5nbGUtcG9zdC10ZXh0IHRhYmxlIHRoIHsKCQlmb250LXNpemU6IDEycHg7CgkJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKCQlsZXR0ZXItc3BhY2luZzogMnB4OwoJfQoJbmF2LndwLWNhbGVuZGFyLW5hdiB7CgkJbWFyZ2luLXRvcDogMTBweDsKCX0KCS53cC1ibG9jay1jYXRlZ29yaWVzLWxpc3QgbGk6bGFzdC1jaGlsZCwgLndwLWJsb2NrLWFyY2hpdmVzLWxpc3QgbGk6bGFzdC1jaGlsZCwgLndpZGdldC53aWRnZXRfbmF2X21lbnUgdWwgbGk6bGFzdC1jaGlsZCwgLndpZGdldC53aWRnZXRfcGFnZXMgdWwgbGk6bGFzdC1jaGlsZCwgLndpZGdldF9jYXRlZ29yaWVzIHVsIGxpOmxhc3QtY2hpbGQgewoJCW1hcmdpbi1ib3R0b206IDA7Cgl9Cn0KCi8qCiAgRml4IGludHJvCiovCi5taWwtc21hbGwtYmFubmVyIC5taWwtaW1hZ2UtZnJhbWUgewogIG1heC1oZWlnaHQ6IDU4MHB4Owp9CgovKgogIEZpeCB6b29tCiovCi5taWwtaW1hZ2UtZnJhbWUgYSwgLmVsZW1lbnRvciAubWlsLWltYWdlLWZyYW1lIGEgewogIGhlaWdodDogMTAwJTsKfQouZWxlbWVudG9yIC5taWwtaW1hZ2UtZnJhbWUgaW1nIHsKICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsKfQoKLyoKICBGaXggcmVzcG9uc2l2ZSBjb250YWluZXIKKi8KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHsKICAuY29udGFpbmVyLCAKICAuY29udGFpbmVyLWZsdWlkLCAKICAuY29udGFpbmVyLXh4bCwgCiAgLmNvbnRhaW5lci14bCwgCiAgLmNvbnRhaW5lci1sZywgCiAgLmNvbnRhaW5lci1tZCwgCiAgLmNvbnRhaW5lci1zbSB7CiAgICAtLWJzLWd1dHRlci14OiAxMHB4OwogIH0KICAucm93IHsKICAgIC0tYnMtZ3V0dGVyLXg6IDEwcHg7CiAgfQp9CgovKgogIEVsZW1lbnRvciB3aWRnZXRzIHNob3cgYW5kIGhpZGUgcGFyYW1zCiovCi5hdHRyLWZlYXR1cmVkLWZhbHNlIC5taWwtYmxvZy1jYXJkIC5taWwtY292ZXItZnJhbWUsCi5hdHRyLXRpdGxlLWZhbHNlIC5taWwtYmxvZy1jYXJkIGg0LAouYXR0ci10aXRsZS1mYWxzZSAubWlsLWJsb2ctY2FyZCAubWlsLWg0LAouYXR0ci1kZXRhaWxzLWZhbHNlIC5taWwtYmxvZy1jYXJkIC5taWwtbGFiZWxzLAouYXR0ci1kYXRlLWZhbHNlIC5taWwtYmxvZy1jYXJkIC5taWwtbGFiZWw6bm90KC5taWwtYWNjZW50KSwKLmF0dHItY2F0ZWdvcnktZmFsc2UgLm1pbC1ibG9nLWNhcmQgLm1pbC1sYWJlbC5taWwtYWNjZW50LAouYXR0ci1tb3JlLWZhbHNlIC5taWwtYmxvZy1jYXJkIC5taWwtcG9zdC10ZXh0IC5taWwtZWwtbW9yZSwKLmF0dHItZmVhdHVyZWQtZmFsc2UgLm1pbC1wb3J0Zm9saW8taXRlbSAubWlsLWNvdmVyLWZyYW1lLAouYXR0ci10aXRsZS1mYWxzZSAubWlsLXBvcnRmb2xpby1pdGVtIGg1LAouYXR0ci10aXRsZS1mYWxzZSAubWlsLXBvcnRmb2xpby1pdGVtIC5taWwtaDUsCi5hdHRyLWRldGFpbHMtZmFsc2UgLm1pbC1wb3J0Zm9saW8taXRlbSAubWlsLWxhYmVscywKLmF0dHItZGF0ZS1mYWxzZSAubWlsLXBvcnRmb2xpby1pdGVtIC5taWwtbGFiZWw6bm90KC5taWwtYWNjZW50KSwKLmF0dHItY2F0ZWdvcnktZmFsc2UgLm1pbC1wb3J0Zm9saW8taXRlbSAubWlsLWxhYmVsLm1pbC1hY2NlbnQKewogIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKfQoKLmF0dHItdGV4dC1mYWxzZSAubWlsLWJsb2ctY2FyZCAubWlsLXBvc3QtdGV4dCBwIHsKICBmb250LXNpemU6IDBweCAhaW1wb3J0YW50OwogIGxpbmUtaGVpZ2h0OiAxOwp9Ci5hdHRyLXRleHQtZmFsc2UgLm1pbC1ibG9nLWNhcmQgLm1pbC1wb3N0LXRleHQgcCAubWlsLWVsLW1vcmUgewogIG1hcmdpbi10b3A6IDBweDsKfQoKLyoKICBGaXggQ0Y3IEVycm9ycwoqLwoubWlsLWRhcmstYmcgLndwY2Y3LW5vdC12YWxpZC10aXAgewogIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOSk7Cn0KLmVsZW1lbnRvciAud3BjZjctbm90LXZhbGlkLXRpcCB7CiAgbWFyZ2luLXRvcDogLTIwcHg7CiAgZm9udC1zaXplOiAxMXB4OwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KLm1pbC1kYXJrLWJnIC53cGNmNy1ub3QtdmFsaWQtdGlwIHsKICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjkpOwp9Ci5lbGVtZW50b3IgLndwY2Y3IGZvcm0gLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7CiAgbWFyZ2luLXRvcDogMjBweDsKICBib3JkZXItd2lkdGg6IDFweDsKICBwYWRkaW5nLWJvdHRvbTogMTVweDsKICBwYWRkaW5nLXRvcDogMTVweDsKICBmb250LXNpemU6IDkwJTsKfQoubWlsLWRhcmstYmcgLndwY2Y3IGZvcm0gLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7CiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC45KTsKfQoKLypoZWFkZXIgZWxlbWVudCBwb2ludGVyIGV2ZW50cyovCi5taWwtZnJhbWUtdG9wIC5lbGVtZW50b3ItZWxlbWVudCB7CiBwb2ludGVyLWV2ZW50czogYWxsOwp9CgovKmxvZ28gaW52ZXJ0IG1vYmlsZSovCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkgewogIC5taWwtZnJhbWUtdG9wIC5taWwtbG9nbyBpbWcgewogICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTsKICB9CiAgLmpzLXJlcGxhY2UgLm1pbC1sb2dvIGltZyB7CiAgICBmaWx0ZXI6IG5vbmUgIWltcG9ydGFudDsKICB9Cn0KCi8qIGxvZ28gLyBtZW51IGN1c3RvbSBpbnZlcnQgKi8KOnJvb3QgewogIC0tcmVwbGFjZS1vZmZzZXQ6IDUwJTsKICAtLXJlcGxhY2Utb2Zmc2V0LTI6IGNhbGMoKDEwMCUgLSB2YXIoLS1yZXBsYWNlLW9mZnNldCkgKSAqIC0xKTsKICAtLXJlcGxhY2Utb2Zmc2V0LXR3bzogNTAlOwogIC0tcmVwbGFjZS1vZmZzZXQtMi10d286IGNhbGMoKDEwMCUgLSB2YXIoLS1yZXBsYWNlLW9mZnNldC10d28pICkgKiAtMSk7CiAgLS1yZXBsYWNlLW9mZnNldC10aHJlZTogNTAlOwogIC0tcmVwbGFjZS1vZmZzZXQtMi10aHJlZTogY2FsYygoMTAwJSAtIHZhcigtLXJlcGxhY2Utb2Zmc2V0LXRocmVlKSApICogLTEpOwp9Ci5qcy1yZXBsYWNlLAouanMtcmVwbGFjZS10d28sCi5qcy1yZXBsYWNlLXRocmVlIHsKICBkaXNwbGF5OiBncmlkOwp9Ci5qcy1yZXBsYWNlX19pdGVtLAouanMtcmVwbGFjZV9faXRlbS10d28sCi5qcy1yZXBsYWNlX19pdGVtLXRocmVlIHsKICBncmlkLXJvdzogLTEgLyAxOwogIGdyaWQtY29sdW1uOiAtMSAvIDE7IAogIG92ZXJmbG93OiBoaWRkZW47CiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKfQouanMtcmVwbGFjZV9faXRlbSB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGModmFyKC0tcmVwbGFjZS1vZmZzZXQpICogMSkpOwp9Ci5qcy1yZXBsYWNlX19pdGVtLXR3byB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGModmFyKC0tcmVwbGFjZS1vZmZzZXQtdHdvKSAqIDEpKTsKfQouanMtcmVwbGFjZV9faXRlbS10aHJlZSB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGModmFyKC0tcmVwbGFjZS1vZmZzZXQtdGhyZWUpICogMSkpOwp9Ci5qcy1yZXBsYWNlX19pdGVtIC5qcy1yZXBsYWNlX19jb250ZW50LAouanMtcmVwbGFjZV9faXRlbS10d28gLmpzLXJlcGxhY2VfX2NvbnRlbnQtdHdvLAouanMtcmVwbGFjZV9faXRlbS10aHJlZSAuanMtcmVwbGFjZV9fY29udGVudC10aHJlZSB7CiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKfQouanMtcmVwbGFjZV9faXRlbSAuanMtcmVwbGFjZV9fY29udGVudCB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGModmFyKC0tcmVwbGFjZS1vZmZzZXQpICogLTEpKTsKfQouanMtcmVwbGFjZV9faXRlbS10d28gLmpzLXJlcGxhY2VfX2NvbnRlbnQtdHdvIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1yZXBsYWNlLW9mZnNldC10d28pICogLTEpKTsKfQouanMtcmVwbGFjZV9faXRlbS10aHJlZSAuanMtcmVwbGFjZV9fY29udGVudC10aHJlZSB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGModmFyKC0tcmVwbGFjZS1vZmZzZXQtdGhyZWUpICogLTEpKTsKfQouanMtcmVwbGFjZV9faXRlbS10d28gLmpzLXJlcGxhY2VfX2NvbnRlbnQtdHdvIHsKICBmbG9hdDogcmlnaHQ7Cn0KLmpzLXJlcGxhY2VfX2l0ZW0tdHdvIC5taWwtbWVudS1idG4gewogIGZsb2F0OiBub25lOwp9Ci5qcy1yZXBsYWNlX19pdGVtLS1hY3RpdmUgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKHZhcigtLXJlcGxhY2Utb2Zmc2V0LTIpICogMSkpOyAgCn0KLmpzLXJlcGxhY2VfX2l0ZW0tLWFjdGl2ZS10d28gewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKHZhcigtLXJlcGxhY2Utb2Zmc2V0LTItdHdvKSAqIDEpKTsgIAp9Ci5qcy1yZXBsYWNlX19pdGVtLS1hY3RpdmUtdGhyZWUgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKHZhcigtLXJlcGxhY2Utb2Zmc2V0LTItdGhyZWUpICogMSkpOyAgCn0KLmpzLXJlcGxhY2VfX2l0ZW0tLWFjdGl2ZSAuanMtcmVwbGFjZV9fY29udGVudCB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGModmFyKC0tcmVwbGFjZS1vZmZzZXQtMikgKiAtMSkpOyAgCn0KLmpzLXJlcGxhY2VfX2l0ZW0tLWFjdGl2ZS10d28gLmpzLXJlcGxhY2VfX2NvbnRlbnQtdHdvIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1yZXBsYWNlLW9mZnNldC0yLXR3bykgKiAtMSkpOyAgCn0KLmpzLXJlcGxhY2VfX2l0ZW0tLWFjdGl2ZS10aHJlZSAuanMtcmVwbGFjZV9fY29udGVudC10aHJlZSB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGModmFyKC0tcmVwbGFjZS1vZmZzZXQtMi10aHJlZSkgKiAtMSkpOyAgCn0KLmpzLXJlcGxhY2VfX2l0ZW0tdHdvOm5vdCguanMtcmVwbGFjZV9faXRlbS0tYWN0aXZlLXR3bykgLm1pbC1tZW51LWJ0biBzcGFuLCAKLmpzLXJlcGxhY2VfX2l0ZW0tdHdvOm5vdCguanMtcmVwbGFjZV9faXRlbS0tYWN0aXZlLXR3bykgLm1pbC1tZW51LWJ0biBzcGFuOmFmdGVyLCAKLmpzLXJlcGxhY2VfX2l0ZW0tdHdvOm5vdCguanMtcmVwbGFjZV9faXRlbS0tYWN0aXZlLXR3bykgLm1pbC1tZW51LWJ0biBzcGFuOmJlZm9yZSB7CiAgYmFja2dyb3VuZDogI2ZmZjsKfQouanMtcmVwbGFjZV9faXRlbS10aHJlZTpub3QoLmpzLXJlcGxhY2VfX2l0ZW0tLWFjdGl2ZS10aHJlZSkgLm1pbC1saW5rLAouanMtcmVwbGFjZV9faXRlbS10aHJlZTpub3QoLmpzLXJlcGxhY2VfX2l0ZW0tLWFjdGl2ZS10aHJlZSkgLm1pbC1pdGVtLWxpbmsgewogIGNvbG9yOiAjZmZmOwp9Ci5qcy1yZXBsYWNlX19pdGVtLXRocmVlOm5vdCguanMtcmVwbGFjZV9faXRlbS0tYWN0aXZlLXRocmVlKSAubWlsLWxpbmsgc3ZnIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7Cn0KLmpzLXJlcGxhY2VfX2l0ZW0tdGhyZWU6bm90KC5qcy1yZXBsYWNlX19pdGVtLS1hY3RpdmUtdGhyZWUpIC5taWwtbGluayBzdmcgcGF0aCB7CiAgZmlsbDogI2ZmZjsKfQouanMtcmVwbGFjZS0tcmV2ZXJzZSAuanMtcmVwbGFjZV9faXRlbSB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGModmFyKC0tcmVwbGFjZS1vZmZzZXQtMikgKiAxKSk7ICAKfQouanMtcmVwbGFjZS0tcmV2ZXJzZS10d28gLmpzLXJlcGxhY2VfX2l0ZW0tdHdvIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1yZXBsYWNlLW9mZnNldC0yLXR3bykgKiAxKSk7ICAKfQouanMtcmVwbGFjZS0tcmV2ZXJzZS10aHJlZSAuanMtcmVwbGFjZV9faXRlbS10aHJlZSB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGModmFyKC0tcmVwbGFjZS1vZmZzZXQtMi10aHJlZSkgKiAxKSk7ICAKfQouanMtcmVwbGFjZS0tcmV2ZXJzZSAuanMtcmVwbGFjZV9fY29udGVudCB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGModmFyKC0tcmVwbGFjZS1vZmZzZXQtMikgKiAtMSkpOwp9Ci5qcy1yZXBsYWNlLS1yZXZlcnNlLXR3byAuanMtcmVwbGFjZV9fY29udGVudC10d28gewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKHZhcigtLXJlcGxhY2Utb2Zmc2V0LTItdHdvKSAqIC0xKSk7Cn0KLmpzLXJlcGxhY2UtLXJldmVyc2UtdGhyZWUgLmpzLXJlcGxhY2VfX2NvbnRlbnQtdGhyZWUgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKHZhcigtLXJlcGxhY2Utb2Zmc2V0LTItdGhyZWUpICogLTEpKTsKfQouanMtcmVwbGFjZS0tcmV2ZXJzZSAuanMtcmVwbGFjZV9faXRlbS0tYWN0aXZlIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1yZXBsYWNlLW9mZnNldCkgKiAxKSk7ICAKfQouanMtcmVwbGFjZS0tcmV2ZXJzZS10d28gLmpzLXJlcGxhY2VfX2l0ZW0tLWFjdGl2ZS10d28gewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKHZhcigtLXJlcGxhY2Utb2Zmc2V0LXR3bykgKiAxKSk7ICAKfQouanMtcmVwbGFjZS0tcmV2ZXJzZS10aHJlZSAuanMtcmVwbGFjZV9faXRlbS0tYWN0aXZlLXRocmVlIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1yZXBsYWNlLW9mZnNldC10aHJlZSkgKiAxKSk7ICAKfQouanMtcmVwbGFjZS0tcmV2ZXJzZSAuanMtcmVwbGFjZV9faXRlbS0tYWN0aXZlIC5qcy1yZXBsYWNlX19jb250ZW50IHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1yZXBsYWNlLW9mZnNldCkgKiAtMSkpOwp9Ci5qcy1yZXBsYWNlLS1yZXZlcnNlLXR3byAuanMtcmVwbGFjZV9faXRlbS0tYWN0aXZlLXR3byAuanMtcmVwbGFjZV9fY29udGVudC10d28gewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKHZhcigtLXJlcGxhY2Utb2Zmc2V0LXR3bykgKiAtMSkpOwp9Ci5qcy1yZXBsYWNlLS1yZXZlcnNlLXRocmVlIC5qcy1yZXBsYWNlX19pdGVtLS1hY3RpdmUtdGhyZWUgLmpzLXJlcGxhY2VfX2NvbnRlbnQtdGhyZWUgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKHZhcigtLXJlcGxhY2Utb2Zmc2V0LXRocmVlKSAqIC0xKSk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7CiAgLmpzLXJlcGxhY2VfX2l0ZW06Zmlyc3QtY2hpbGQsCiAgLmpzLXJlcGxhY2VfX2l0ZW0tdHdvOmZpcnN0LWNoaWxkLAogIC5qcy1yZXBsYWNlX19pdGVtLXRocmVlOmZpcnN0LWNoaWxkIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQogIC5qcy1yZXBsYWNlX19pdGVtLCAuanMtcmVwbGFjZV9fY29udGVudCwgCiAgLmpzLXJlcGxhY2VfX2l0ZW0tdHdvLCAuanMtcmVwbGFjZV9fY29udGVudC10d28sCiAgLmpzLXJlcGxhY2VfX2l0ZW0tdGhyZWUsIC5qcy1yZXBsYWNlX19jb250ZW50LXRocmVlIHsKICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OwogIH0KfQoKLypmYXEgZml4Ki8KLm1pbC1hY2NvcmRpb24tZ3JvdXAgLm1pbC1hY2NvcmRpb24tbWVudSAubWlsLWFjY29yZGlvbi1oZWFkIHsKICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLm1pbC1hY2NvcmRpb24tZ3JvdXAgLm1pbC1hY2NvcmRpb24tbWVudSB7CiAgICBwYWRkaW5nOiAzMHB4OwogIH0KfQoKLypkYXJrIGJnIHNlY3Rpb24gZml4Ki8KLm1pbC1kYXJrLWJnIC5taS1pbnZlcnQtZml4IHsKICBwb2ludGVyLWV2ZW50czogYWxsOwp9CgovKm1hcmdpbiBmaXgqLwpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHsKICBmb290ZXIubWlsLWRhcmstYmcgLm1pLWludmVydC1maXggewogICAgbWFyZ2luOiAwIDEyMHB4OwogIH0KICAubWlsLWRhcmstYmcgLm1pLWludmVydC1maXggewogICAgbWFyZ2luOiAwIDEwNXB4OwogIH0KfQoKLypmaXggbWVudS1idG4gZml4Ki8KLm1pbC1tZW51LWJ0biB7CiAgZmxvYXQ6IHJpZ2h0Owp9CgovKm1lbnUgZHJvcGRvd24gZml4Ki8KLm1pbC1tYWluLW1lbnUgdWwgbGkubWlsLWhhcy1jaGlsZHJlbiB1bC5taWwtYWN0aXZlIHsKICBtYXgtaGVpZ2h0OiAxMDAwcHg7Cn0KCi8qc3dpcGVyIGZpeCovCmJvZHkgLnN3aXBlci1jb250YWluZXI6bm90KC5zd2lwZXItY29udGFpbmVyLWluaXRpYWxpemVkKT4uc3dpcGVyLXdyYXBwZXIsIApib2R5IC5zd2lwZXI6bm90KC5zd2lwZXItaW5pdGlhbGl6ZWQpPi5zd2lwZXItd3JhcHBlciB7CiAgb3ZlcmZsb3c6IHZpc2libGU7Cn0KCi8qeC1pY29uKi8KLmZhYi5mYS10d2l0dGVyLngtaWNvbjpiZWZvcmUgewogIGRpc3BsYXk6IG5vbmUKfQouZmFiLmZhLXR3aXR0ZXIueC1pY29uIHN2ZyB7CiAgd2lkdGg6IDE4cHg7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiB0b3AKfQouZm9vdGVyIC5taWwtc29jaWFsLWljb25zIGE6aG92ZXIgc3ZnIHBhdGggewogIGZpbGw6IHJnYigyNTUsIDE1MiwgMCk7Cn0KCi8qZHJvcGRvd24gYXJyb3dzKi8KLm1pbC1tYWluLW1lbnUgdWwgbGkgPiBhIHsKICBkaXNwbGF5OiBpbmxpbmU7Cn0KLm1pbC1tYWluLW1lbnUgdWwgbGkgPiBhOmJlZm9yZSB7CiAgdG9wOiA1MCU7CiAgbWFyZ2luLXRvcDogLTVweDsKfQoubWlsLWhhcy1jaGlsZHJlbiAuYXJyb3ctZHJvcGRvd24gewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBtYXJnaW4tbGVmdDogMTBweDsKICBjb2xvcjogI2ZmZjsKICBjdXJzb3I6IHBvaW50ZXI7CiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZSAwczsKfQoubWlsLWhhcy1jaGlsZHJlbiA+IGEubWlsLWFjdGl2ZSArIC5hcnJvdy1kcm9wZG93biB7CiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKfQoKLyo0MDQgZml4Ki8KLmVycm9yNDA0IC5qcy1yZXBsYWNlX19pdGVtOm5vdCguanMtcmVwbGFjZV9faXRlbS0tYWN0aXZlKSwgCi5lcnJvcjQwNCAuanMtcmVwbGFjZV9faXRlbS10d286bm90KC5qcy1yZXBsYWNlX19pdGVtLS1hY3RpdmUtdHdvKSwgCi5lcnJvcjQwNCAuanMtcmVwbGFjZV9faXRlbS10aHJlZTpub3QoLmpzLXJlcGxhY2VfX2l0ZW0tLWFjdGl2ZS10aHJlZSkgewogIGRpc3BsYXk6IG5vbmU7Cn0KLmVycm9yNDA0IC5qcy1yZXBsYWNlX19pdGVtLCAKLmVycm9yNDA0IC5qcy1yZXBsYWNlX19pdGVtLXR3bywgCi5lcnJvcjQwNCAuanMtcmVwbGFjZV9faXRlbS10aHJlZSB7CiAgb3ZlcmZsb3c6IHZpc2libGU7Cn0K"}},"time_used":373,"timings":{"blocked":-1,"dns":0,"connect":91,"send":0,"wait":95,"receive":90,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/56258.282e6141fc02ac85d0d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.143Z","timestamp":1785141584143,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/56258.282e6141fc02ac85d0d5.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a0c2e6a-174e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 19 May 2026 09:33:30 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9b23d6283ea3facf587b4ef0feeda106\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5966,"size_decoded":3195,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3055)","md5":"a9563eafb41c9e6b519a29f0206f6b89","sha1":"43a8b417d99fe60c3d65ddae1e66d8cabd277000","sha256":"ba67ff82446ee411a3ef96ebe6abe55cf6cc1abfd78c841cd5d9a0a70804725a","sha512":"1e31a74cb24aeb33cac85e854608a21314f1416f3db595d14b0577305da06f72bf42b9dea2c36f570fcea9dbd7d88793bd8bc291d498ab58b1e2413f173b781d","ssdeep":"96:AaPctCCkctcSycQOchchctDOAXtC4C2GM0/CnXkMHsU3KEu9pJfmJuuImRBYkqMy:NcUrctcXc3chchc1OotC4ChMUCX1HFRM","tlshash":"d5c1118471c1f09513db9a82a4370606f27d5c5c704b79ece3d0d4d6aabba4db42bb36","first_seen":"2026-05-19T10:58:17.796011Z","last_seen":"2026-07-27T14:50:15.351873Z","times_seen":1002,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTYyNThdLHs3NDM0NTEodCxlLG4pe24uZChlLHtjcmVhdGVPYnNlcnZhYmxlOigpPT5pfSk7dmFyIHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3ZhciBlPXRoaXM7dGhpcy5fcmVzb2x1dGlvbkxpc3RlbmVyPWZ1bmN0aW9uKCl7cmV0dXJuIGUuX29uUmVzb2x1dGlvbkNoYW5nZWQoKX0sdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0PW51bGwsdGhpcy5fb2JzZXJ2ZXJzPVtdLHRoaXMuX3dpbmRvdz10LHRoaXMuX2luc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXIoKX1yZXR1cm4gdC5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuX3VuaW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpLHRoaXMuX3dpbmRvdz1udWxsfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsInZhbHVlIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLHQucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49e25leHQ6dH07cmV0dXJuIHRoaXMuX29ic2VydmVycy5wdXNoKG4pLHt1bnN1YnNjcmliZTpmdW5jdGlvbigpe2UuX29ic2VydmVycz1lLl9vYnNlcnZlcnMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCE9PW59KSl9fX0sdC5wcm90b3R5cGUuX2luc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXI9ZnVuY3Rpb24oKXtpZihudWxsIT09dGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0KXRocm93IG5ldyBFcnJvcigiUmVzb2x1dGlvbiBsaXN0ZW5lciBpcyBhbHJlYWR5IGluc3RhbGxlZCIpO3ZhciB0PXRoaXMuX3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO3RoaXMuX3Jlc29sdXRpb25NZWRpYVF1ZXJ5TGlzdD10aGlzLl93aW5kb3cubWF0Y2hNZWRpYSgiYWxsIGFuZCAocmVzb2x1dGlvbjogIi5jb25jYXQodCwiZHBweCkiKSksdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0LmFkZExpc3RlbmVyKHRoaXMuX3Jlc29sdXRpb25MaXN0ZW5lcil9LHQucHJvdG90eXBlLl91bmluc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXI9ZnVuY3Rpb24oKXtudWxsIT09dGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0JiYodGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0LnJlbW92ZUxpc3RlbmVyKHRoaXMuX3Jlc29sdXRpb25MaXN0ZW5lciksdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0PW51bGwpfSx0LnByb3RvdHlwZS5fcmVpbnN0YWxsUmVzb2x1dGlvbkxpc3RlbmVyPWZ1bmN0aW9uKCl7dGhpcy5fdW5pbnN0YWxsUmVzb2x1dGlvbkxpc3RlbmVyKCksdGhpcy5faW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpfSx0LnByb3RvdHlwZS5fb25SZXNvbHV0aW9uQ2hhbmdlZD1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fb2JzZXJ2ZXJzLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiBlLm5leHQodC5fd2luZG93LmRldmljZVBpeGVsUmF0aW8pfSkpLHRoaXMuX3JlaW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpfSx0fSgpO2Z1bmN0aW9uIGkodCl7cmV0dXJuIG5ldyByKHQpfX0sNzQyNzkodCxlLG4pe2Z1bmN0aW9uIHIodCl7dmFyIGU9dC53aWR0aCxuPXQuaGVpZ2h0O2lmKGU8MCl0aHJvdyBuZXcgRXJyb3IoIk5lZ2F0aXZlIHdpZHRoIGlzIG5vdCBhbGxvd2VkIGZvciBTaXplIik7aWYobjwwKXRocm93IG5ldyBFcnJvcigiTmVnYXRpdmUgaGVpZ2h0IGlzIG5vdCBhbGxvd2VkIGZvciBTaXplIik7cmV0dXJue3dpZHRoOmUsaGVpZ2h0Om59fWZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gdC53aWR0aD09PWUud2lkdGgmJnQuaGVpZ2h0PT09ZS5oZWlnaHR9bi5kKGUse2VxdWFsU2l6ZXM6KCk9Pmksc2l6ZTooKT0+cn0pfSw3ODkyODcodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0LGUsbil7c3dpdGNoKG4ubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIHQuY2FsbChlKTtjYXNlIDE6cmV0dXJuIHQuY2FsbChlLG5bMF0pO2Nhc2UgMjpyZXR1cm4gdC5jYWxsKGUsblswXSxuWzFdKTtjYXNlIDM6cmV0dXJuIHQuY2FsbChlLG5bMF0sblsxXSxuWzJdKX1yZXR1cm4gdC5hcHBseShlLG4pfX0sMjU4MjYodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLHIpe2Zvcih2YXIgaT0tMSx1PU9iamVjdChlKSxvPXIoZSksYT1vLmxlbmd0aDthLS07KXt2YXIgbD1vW3Q/YTorK2ldO2lmKCExPT09bih1W2xdLGwsdSkpYnJlYWt9cmV0dXJuIGV9fSgpfSw0ODI2Mih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmp9KTt2YXIgcj1uKDg4NjUxNCksaT1uKDI1NDczOCksdT1uKDkxMDc3OCk7Y29uc3Qgbz1mdW5jdGlvbih0LGUsbil7KHZvaWQgMCE9PW4mJiEoMCx1LmRlZmF1bHQpKHRbZV0sbil8fHZvaWQgMD09PW4mJiEoZSBpbiB0KSkmJigwLGkuZGVmYXVsdCkodCxlLG4pfTt2YXIgYT1uKDI1ODI2KSxsPW4oNDg3MDYwKSxzPW4oMTM5MDcpLGY9big3MDU3NDkpLGQ9big4MDc1NzUpLGM9big1MzE1NTcpLGg9bigyOTU2MzUpLHY9bigyMzk2MykscD1uKDY1OTAxOCksdz1uKDkyODEzMiksXz1uKDg4MDExNSksYj1uKDkzMTQzMykseT1uKDE2NTI2Nyk7Y29uc3QgZz1mdW5jdGlvbih0LGUpe2lmKCgiY29uc3RydWN0b3IiIT09ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIHRbZV0pJiYiX19wcm90b19fIiE9ZSlyZXR1cm4gdFtlXX07dmFyIEw9big2MTg1NyksUj1uKDIxNzQ1Nyk7Y29uc3QgTT1mdW5jdGlvbih0KXtyZXR1cm4oMCxMLmRlZmF1bHQpKHQsKDAsUi5kZWZhdWx0KSh0KSl9O2NvbnN0IE89ZnVuY3Rpb24odCxlLG4scixpLHUsYSl7dmFyIEw9Zyh0LG4pLFI9ZyhlLG4pLE89YS5nZXQoUik7aWYoTylvKHQsbixPKTtlbHNle3ZhciBqPXU/dShMLFIsbisiIix0LGUsYSk6dm9pZCAwLHg9dm9pZCAwPT09ajtpZih4KXt2YXIgUT0oMCxoLmRlZmF1bHQpKFIpLG09IVEmJigwLApwLmRlZmF1bHQpKFIpLGs9IVEmJiFtJiYoMCx5LmRlZmF1bHQpKFIpO2o9UixRfHxtfHxrPygwLGguZGVmYXVsdCkoTCk/aj1MOigwLHYuZGVmYXVsdCkoTCk/aj0oMCxmLmRlZmF1bHQpKEwpOm0/KHg9ITEsaj0oMCxsLmRlZmF1bHQpKFIsITApKTprPyh4PSExLGo9KDAscy5kZWZhdWx0KShSLCEwKSk6aj1bXTooMCxiLmRlZmF1bHQpKFIpfHwoMCxjLmRlZmF1bHQpKFIpPyhqPUwsKDAsYy5kZWZhdWx0KShMKT9qPU0oTCk6KDAsXy5kZWZhdWx0KShMKSYmISgwLHcuZGVmYXVsdCkoTCl8fChqPSgwLGQuZGVmYXVsdCkoUikpKTp4PSExfXgmJihhLnNldChSLGopLGkoaixSLHIsdSxhKSxhLmRlbGV0ZShSKSksbyh0LG4sail9fTtjb25zdCBqPWZ1bmN0aW9uIHQoZSxuLGksdSxsKXtlIT09biYmKDAsYS5kZWZhdWx0KShuLChmdW5jdGlvbihhLHMpe2lmKGx8fChsPW5ldyByLmRlZmF1bHQpLCgwLF8uZGVmYXVsdCkoYSkpTyhlLG4scyxpLHQsdSxsKTtlbHNle3ZhciBmPXU/dShnKGUscyksYSxzKyIiLGUsbixsKTp2b2lkIDA7dm9pZCAwPT09ZiYmKGY9YSksbyhlLHMsZil9fSksUi5kZWZhdWx0KX19LDY0NTM3Nih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgcj1uKDIzMjg1NCksaT1uKDM3MjAzNSksdT1uKDcwOTA1MSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybigwLHUuZGVmYXVsdCkoKDAsaS5kZWZhdWx0KSh0LGUsci5kZWZhdWx0KSx0KyIiKX19LDU3NDY2OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgcj1uKDY0NTM3NiksaT1uKDg1NDg5NCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4oMCxyLmRlZmF1bHQpKChmdW5jdGlvbihlLG4pe3ZhciByPS0xLHU9bi5sZW5ndGgsbz11PjE/blt1LTFdOnZvaWQgMCxhPXU+Mj9uWzJdOnZvaWQgMDtmb3Iobz10Lmxlbmd0aD4zJiYiZnVuY3Rpb24iPT10eXBlb2Ygbz8odS0tLG8pOnZvaWQgMCxhJiYoMCxpLmRlZmF1bHQpKG5bMF0sblsxXSxhKSYmKG89dTwzP3ZvaWQgMDpvLHU9MSksZT1PYmplY3QoZSk7KytyPHU7KXt2YXIgbD1uW3JdO2wmJnQoZSxsLHIsbyl9cmV0dXJuIGV9KSl9fSw4NTQ4OTQodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIHI9big5MTA3NzgpLGk9bigzOTI5MDgpLHU9big5MjExNDMpLG89big4ODAxMTUpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLG4pe2lmKCEoMCxvLmRlZmF1bHQpKG4pKXJldHVybiExO3ZhciBhPXR5cGVvZiBlO3JldHVybiEhKCJudW1iZXIiPT1hPygwLGkuZGVmYXVsdCkobikmJigwLHUuZGVmYXVsdCkoZSxuLmxlbmd0aCk6InN0cmluZyI9PWEmJmUgaW4gbikmJigwLHIuZGVmYXVsdCkobltlXSx0KX19LDM3MjAzNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgcj1uKDc4OTI4NyksaT1NYXRoLm1heDtjb25zdCB1PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT1pKHZvaWQgMD09PWU/dC5sZW5ndGgtMTplLDApLGZ1bmN0aW9uKCl7Zm9yKHZhciB1PWFyZ3VtZW50cyxvPS0xLGE9aSh1Lmxlbmd0aC1lLDApLGw9QXJyYXkoYSk7KytvPGE7KWxbb109dVtlK29dO289LTE7Zm9yKHZhciBzPUFycmF5KGUrMSk7KytvPGU7KXNbb109dVtvXTtyZXR1cm4gc1tlXT1uKGwpLCgwLHIuZGVmYXVsdCkodCx0aGlzLHMpfX19LDcwOTA1MSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgcj1uKDEyODA3NiksaT1uKDM2MDQ5KSx1PW4oMjMyODU0KTtjb25zdCBvPWkuZGVmYXVsdD9mdW5jdGlvbih0LGUpe3JldHVybigwLGkuZGVmYXVsdCkodCwidG9TdHJpbmciLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTooMCxyLmRlZmF1bHQpKGUpLHdyaXRhYmxlOiEwfSl9OnUuZGVmYXVsdDtjb25zdCBhPSgwLG4oOTQ4NTczKS5kZWZhdWx0KShvKX0sOTQ4NTczKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciByPURhdGUubm93O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9MCxuPTA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGk9cigpLHU9MTYtKGktbik7aWYobj1pLHU+MCl7aWYoKytlPj04MDApcmV0dXJuIGFyZ3VtZW50c1swXX1lbHNlIGU9MDtyZXR1cm4gdC5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19fSwxMjgwNzYodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19fSwyMzI4NTQodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gdH19LDIzOTYzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciByPW4oMzkyOTA4KSxpPW4oMzYwNjIwKTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybigwLGkuZGVmYXVsdCkodCkmJigwLHIuZGVmYXVsdCkodCl9fSw5MzE0MzModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7dmFyIHI9bigxNzg0OTcpLGk9bigzOTI1NDUpLHU9bigzNjA2MjApLG89RnVuY3Rpb24ucHJvdG90eXBlLGE9T2JqZWN0LnByb3RvdHlwZSxsPW8udG9TdHJpbmcscz1hLmhhc093blByb3BlcnR5LGY9bC5jYWxsKE9iamVjdCk7Y29uc3QgZD1mdW5jdGlvbih0KXtpZighKDAsdS5kZWZhdWx0KSh0KXx8IltvYmplY3QgT2JqZWN0XSIhPSgwLHIuZGVmYXVsdCkodCkpcmV0dXJuITE7dmFyIGU9KDAsaS5kZWZhdWx0KSh0KTtpZihudWxsPT09ZSlyZXR1cm4hMDt2YXIgbj1zLmNhbGwoZSwiY29uc3RydWN0b3IiKSYmZS5jb25zdHJ1Y3RvcjtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgbiYmbiBpbnN0YW5jZW9mIG4mJmwuY2FsbChuKT09Zn19LDc0MDE2Mih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pml9KTt2YXIgcj1uKDQ4MjYyKTtjb25zdCBpPSgwLG4oNTc0NjY5KS5kZWZhdWx0KSgoZnVuY3Rpb24odCxlLG4peygwLHIuZGVmYXVsdCkodCxlLG4pfSkpfX1dKTs="}},"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/10385.8744d4f8670dac310d1f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.120Z","timestamp":1785141585120,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/10385.8744d4f8670dac310d1f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 82\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b72-52\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: babce8d8c0141be24a5c2a7897a9eb19\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":82,"size_decoded":866,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"9c95d3a949cd65153c73fef9b7436e51","sha1":"2481fdfca00fe9dd2dbdcc9cef393f2bfa940e0f","sha256":"8a7a6dad3d21341892305029b6f16da6eb7b1618e90462b3a0fac8b37b7b32ef","sha512":"3f37d27a43edad41d3c4249ef19dde0b693557e7da003f10173dcb04d10120fd18ac1ee9a303edaf615ca4aac0b6628a11223b7826c35112667e286163a908c4","ssdeep":"","tlshash":"a2a0122876d61555f507302987648d0460484510440087165a1d5491d0811ed1591240","first_seen":"2025-07-09T18:19:43.633418Z","last_seen":"2026-07-27T12:48:39.616018Z","times_seen":656,"resource_available":false,"data":"LnNlcGFyYXRvci1QZjRySXpFdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWRpdmlkZXIpO2hlaWdodDoxcHg7bWFyZ2luOjhweCAwfQ=="}},"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":"oxlofttrd.com/wp-content/plugins/ashley-plugin/elementor/assets/css/style.css?ver=1","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.698Z","timestamp":1785141582698,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/plugins/ashley-plugin/elementor/assets/css/style.css?ver=1 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://oxlofttrd.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:42 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:57:40 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:42 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 214\r\nKeep-Alive: timeout=5, max=99\r\nConnection: Keep-Alive\r\nContent-Type: text/css\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":535,"size_decoded":564,"mime_type":"text/css","magic":"ASCII text","md5":"716a078385f9c173b41aeb40f09def02","sha1":"af613ba7214a85c9b9b21434c7752a683033cfe3","sha256":"dae25e3de97505d7d43ed50a972c21ac8a21c20912966d7761b8638142609132","sha512":"a5bfb3a7f03c30d80b64d2e8c3120ab01e793c53d2d43e3f251bef041e65fa1320ad489a3f5ba38853d98737d88c5b87110534718486e3c39a5f2c0033681ac9","ssdeep":"","tlshash":"0ef02b4a7c1b1d65906e4137de4757c8899cb1c37e141d9bf0860ba393164c03334815","first_seen":"2025-08-03T16:59:35.254604Z","last_seen":"2026-07-27T12:12:28.913892Z","times_seen":9,"resource_available":false,"data":"LmVsZW1lbnRvci1lZGl0b3ItYWN0aXZlIC5taWwtZnJhbWUtdG9wLAouZWxlbWVudG9yLWVkaXRvci1hY3RpdmUgZm9vdGVyLm1pbC1kYXJrLWJnIHsKCWRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKfQoKLmVsZW1lbnRvci1lZGl0b3ItYWN0aXZlIC5taWwtY29udGVudCB7CglwYWRkaW5nLXRvcDogNHJlbTsKCXBhZGRpbmctYm90dG9tOiA0cmVtOwp9CgouZWxlbWVudG9yLWVkaXRvci1hY3RpdmUgLnR5cGUtaGZfdGVtcGxhdGVzIC5taWwtZnJhbWUtdG9wLAouZWxlbWVudG9yLWVkaXRvci1hY3RpdmUgLnR5cGUtaGZfdGVtcGxhdGVzIGZvb3Rlci5taWwtZGFyay1iZyB7CglkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50Owp9CgouZWxlbWVudG9yLWVkaXRvci1hY3RpdmUubWlsLXdyYXBwZXItZm9vdGVyLAouZWxlbWVudG9yLWVkaXRvci1hY3RpdmUgLm1pbC1kYXJrLWJnOmJlZm9yZSB7CgliYWNrZ3JvdW5kOiAjMDAwOwp9CgouZWxlbWVudG9yLWVkaXRvci1hY3RpdmUgLm1pbC1kYXJrLWJnOmJlZm9yZSB7Cgl6LWluZGV4OiAtMTsKfQ=="}},"time_used":94,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":94,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/uploads/elementor/css/post-20.css?ver=1784319534","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.898Z","timestamp":1785141582898,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/uploads/elementor/css/post-20.css?ver=1784319534 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://oxlofttrd.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Fri, 17 Jul 2026 20:18:54 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 390\r\nKeep-Alive: timeout=5, max=94\r\nConnection: Keep-Alive\r\nContent-Type: text/css\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":2029,"size_decoded":740,"mime_type":"text/css","magic":"ASCII text, with very long lines (2029), with no line terminators","md5":"b9f8b23326d8d8b3274f30f6a7ede0d6","sha1":"e52a49e7e09fd51b39006656617a12ed2f1e6b4c","sha256":"3977db5570fc91665cca7e9f0ab78af7a336edf0fe7a6ea678d605ef9617921d","sha512":"b009d511fd73d57983c642ab7b2bd94dde694ff9628261b90f361147263cd1b9ddedade2b55c6dd00b5b82d10d8f14ec9c28cb31331c869fe9f80416162a2ed5","ssdeep":"","tlshash":"be414ba77e834128b86f348f8853669c72b44cdd997db2c6ea70550bf4b4ea137e0a11","first_seen":"2026-07-27T06:14:34.139941Z","last_seen":"2026-07-27T12:12:28.871178Z","times_seen":5,"resource_available":false,"data":"LmVsZW1lbnRvci0yMCAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtNGM5NDg5MXtwYWRkaW5nOjExMHB4IDBweCA1MHB4IDBweDt9LmVsZW1lbnRvci0yMCAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtZDhkN2YxYiA+IC5lbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lcnttYXJnaW46MHB4IDBweCAxMHB4IDBweDt9LmVsZW1lbnRvci0yMCAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtZDhkN2YxYiAubWlsLWxvZ297anVzdGlmeS1jb250ZW50OmxlZnQ7fS5lbGVtZW50b3ItMjAgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTI0YmE2MjIgPiAuZWxlbWVudG9yLXdpZGdldC1jb250YWluZXJ7bWFyZ2luOjBweCAwcHggMHB4IDBweDt9LmVsZW1lbnRvci0yMCAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMjRiYTYyMnt0ZXh0LWFsaWduOmxlZnQ7fS5lbGVtZW50b3ItMjAgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTNhYmRlMjl7dGV4dC1hbGlnbjpsZWZ0O30uZWxlbWVudG9yLTIwIC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC1mM2Y3Mzgye3BhZGRpbmc6MHB4IDBweCA2MHB4IDBweDt9LmVsZW1lbnRvci0yMCAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtZDFlZTBkZCA+IC5lbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lcnttYXJnaW46MjdweCAwcHggMHB4IDBweDt9LmVsZW1lbnRvci0yMCAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtZDFlZTBkZHtjb2xvcjojRkZGRkZGNjY7fUBtZWRpYShtaW4td2lkdGg6NzY4cHgpey5lbGVtZW50b3ItMjAgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LWUzODE4NDZ7d2lkdGg6MjguNSU7fS5lbGVtZW50b3ItMjAgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTcxZTU5YTV7d2lkdGg6MjEuNSU7fX1AbWVkaWEobWF4LXdpZHRoOjEwMjRweCkgYW5kIChtaW4td2lkdGg6NzY4cHgpey5lbGVtZW50b3ItMjAgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTBkZTlhZDl7d2lkdGg6NDIlO30uZWxlbWVudG9yLTIwIC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC1lMzgxODQ2e3dpZHRoOjI3JTt9LmVsZW1lbnRvci0yMCAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtNzFlNTlhNXt3aWR0aDoyOSU7fS5lbGVtZW50b3ItMjAgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTkwOGFmZGF7d2lkdGg6NDIlO319QG1lZGlhKG1heC13aWR0aDoxMDI0cHgpey5lbGVtZW50b3ItMjAgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTRjOTQ4OTF7cGFkZGluZzo4MHB4IDBweCAyMHB4IDBweDt9LmVsZW1lbnRvci0yMCAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMjdlYjc1ZCA+IC5lbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lcntwYWRkaW5nOjAlIDAlIDAlIDEwJTt9fUBtZWRpYShtYXgtd2lkdGg6NzY3cHgpey5lbGVtZW50b3ItMjAgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTBkZTlhZDkgPiAuZWxlbWVudG9yLWVsZW1lbnQtcG9wdWxhdGVke21hcmdpbjowcHggMHB4IDQwcHggMHB4Oy0tZS1jb2x1bW4tbWFyZ2luLXJpZ2h0OjBweDstLWUtY29sdW1uLW1hcmdpbi1sZWZ0OjBweDt9LmVsZW1lbnRvci0yMCAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtNzFlNTlhNSA+IC5lbGVtZW50b3ItZWxlbWVudC1wb3B1bGF0ZWR7bWFyZ2luOi0yMHB4IDBweCA0MHB4IDBweDstLWUtY29sdW1uLW1hcmdpbi1yaWdodDowcHg7LS1lLWNvbHVtbi1tYXJnaW4tbGVmdDowcHg7fS5lbGVtZW50b3ItMjAgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTI3ZWI3NWQgPiAuZWxlbWVudG9yLXdpZGdldC1jb250YWluZXJ7cGFkZGluZzowJSAwJSAwJSAwJTt9fQ=="}},"time_used":423,"timings":{"blocked":331,"dns":0,"connect":0,"send":0,"wait":92,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30200.71da076fb0197e4d5953.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.125Z","timestamp":1785141584125,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/30200.71da076fb0197e4d5953.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 86\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b73-56\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 09063e1d0922831526bd51334b467446\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":86,"size_decoded":870,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"b02278d29b4e6fb9286fa4e3d93d2ce5","sha1":"0e3940c360032f59c0eb14248728f6b6d0c99cae","sha256":"6373ee883ff860f1955a9c73438e96ed35056eacf0fadb1c6ae58a57e31a5e34","sha512":"cf3ba4d72f48389a359a141bea634d0369e9ba9b4e796f108b6c71cd23e57123b60f7b390b1edba4debfc2e84ebd9bc8cefa9ab0ef5f5d70274f73ef0be4ac8c","ssdeep":"","tlshash":"ada012d2b4410450000501481120733bcab721c426940d0804c0bf2203464a19c78150","first_seen":"2026-01-13T13:30:16.848169Z","last_seen":"2026-07-27T14:53:25.81429Z","times_seen":2057,"resource_available":false,"data":"LmpzLWhpZGRlbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5qcy1uby1wb2ludGVyLWV2ZW50c3twb2ludGVyLWV2ZW50czpub25lIWltcG9ydGFudH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/81247.7059063ba4d3b37302dc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.810Z","timestamp":1785141584810,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/81247.7059063ba4d3b37302dc.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-308\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 598e357431d9ad2250dba7ec467e1b0e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":776,"size_decoded":1087,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (776), with no line terminators","md5":"61f42e8a346b20abe1ee19436587307b","sha1":"2b1289bece80c17f1b05ceeee27a391f85fd14df","sha256":"5540ab6ad033d0c8d744e54bce1762b3c3a26f361e08614893bea5efce561218","sha512":"f13b8d738468b5744d16bbc46db4bf0d7f907f202a52a43d492591b896e8061ec482c18effa0e8fcdf773c4dfcbd05919a21550a62fdce9b2e095f675efb350c","ssdeep":"","tlshash":"c401d623120632e7df76c13cae82d7c56f9a21b548200a0ffc7a9811476b3f94b889d2","first_seen":"2026-06-30T21:57:43.398574Z","last_seen":"2026-07-27T12:48:39.799661Z","times_seen":239,"resource_available":false,"data":"LmFjY2Vzc2libGUtS3RxYV9TelB7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9LmFjY2Vzc2libGUtS3RxYV9TelA6Zm9jdXN7b3V0bGluZTpub25lfS5hY2Nlc3NpYmxlLUt0cWFfU3pQOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5hY2Nlc3NpYmxlLUt0cWFfU3pQOmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxfS5hY2Nlc3NpYmxlLUt0cWFfU3pQOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmFjY2Vzc2libGUtS3RxYV9TelA6Zm9jdXMtdmlzaWJsZTphZnRlcntkaXNwbGF5OmJsb2NrfS5hY2Nlc3NpYmxlLUt0cWFfU3pQOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5hY2Nlc3NpYmxlLUt0cWFfU3pQOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4fS5hY2Nlc3NpYmxlLUt0cWFfU3pQOm5vdCguYWNjZXNzaWJsZS1LdHFhX1N6UC5hY3RpdmUtS3RxYV9TelApOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9LmFjY2Vzc2libGUtS3RxYV9TelAuYWN0aXZlLUt0cWFfU3pQOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1pbnZlcnNlKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/41506.4e481cfe3d7dcc9113df.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.929Z","timestamp":1785141584929,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/41506.4e481cfe3d7dcc9113df.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd8a-ec4\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:17:46 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:55\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bb8c3f1c0bb34527300fd9d7389e812d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3780,"size_decoded":1592,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3780), with no line terminators","md5":"4fd46403ac7bdbbc945dafd84cf4cce7","sha1":"abd6547add65404e86c3af3ac24c2ff5b5e7465f","sha256":"d33a476bc76a1595c539524ddbb7c6e4bb5974d727ad3e30d51b941ce9bfc37b","sha512":"be32a0f9edfb7b21dae05b1d39bd71d5006ea92cbb25311c97915ec20eff60262d1c54a6ac1ca2077ce8cd870276676515361a5ca95413c92e49d0d9ae313e8f","ssdeep":"","tlshash":"407125fcea9078342d876dadda1eb73519c8f45797836eabb509a08040e96de10f350e","first_seen":"2026-07-20T16:56:18.315644Z","last_seen":"2026-07-27T14:50:15.475082Z","times_seen":85,"resource_available":false,"data":"LnByaWNlU2NhbGVNb2RlQnV0dG9uLVFZTUg1cFRley0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKTtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYm9yZGVyKTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjp2YXIoLS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtY29sb3IpO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTtwYWRkaW5nOjFweCAwO3dpZHRoOjIwcHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5wcmljZVNjYWxlTW9kZUJ1dHRvbi1RWU1INXBUZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1iYWNrZ3JvdW5kLWhvdmVyKX19LnByaWNlU2NhbGVNb2RlQnV0dG9uLVFZTUg1cFRlOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1iYWNrZ3JvdW5kLWFjdGl2ZSl9LnByaWNlU2NhbGVNb2RlQnV0dG9uX2FjdGl2YXRlZC1RWU1INXBUZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYmFja2dyb3VuZCk7Ym9yZGVyLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYm9yZGVyKTtjb2xvcjp2YXIoLS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWNvbG9yKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnByaWNlU2NhbGVNb2RlQnV0dG9uX2FjdGl2YXRlZC1RWU1INXBUZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYmFja2dyb3VuZC1ob3Zlcik7Ym9yZGVyLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYm9yZGVyLWhvdmVyKX19LnByaWNlU2NhbGVNb2RlQnV0dG9ucy1hYUtYNksxYXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJX0ucHJpY2VTY2FsZU1vZGVCdXR0b25zX19idXR0b25XcmFwcGVyLWFhS1g2SzFhe2Rpc3BsYXk6ZmxleDtmbGV4OjEgMTtwYWRkaW5nOjRweH0ucHJpY2VTY2FsZU1vZGVCdXR0b25zX19idXR0b25XcmFwcGVyLWFhS1g2SzFhOmZpcnN0LWNoaWxke2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtwYWRkaW5nLWlubGluZS1lbmQ6MnB4fS5wcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbldyYXBwZXItYWFLWDZLMWE6bGFzdC1jaGlsZHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtwYWRkaW5nLWlubGluZS1zdGFydDoycHh9LmNoYXJ0LXdpZGdldF9fYm90dG9tLS10aGVtZWQtbGlnaHQgLnByaWNlU2NhbGVNb2RlQnV0dG9uc19fYnV0dG9uLWFhS1g2SzFhey0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYmFja2dyb3VuZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApfS5jaGFydC13aWRnZXRfX2JvdHRvbS0tdGhlbWVkLWRhcmsgLnByaWNlU2NhbGVNb2RlQnV0dG9uc19fYnV0dG9uLWFhS1g2SzFhey0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYmFja2dyb3VuZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9"}},"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/99827.d3976dc0c5cfa2c2140e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.142Z","timestamp":1785141584142,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/99827.d3976dc0c5cfa2c2140e.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b71-15b86\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b40511b00918167b864c92280fcac2f9\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":88966,"size_decoded":33771,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"0af33a0629a4a15d05b8d21be003c0eb","sha1":"d61ed97048a72976c85785513a62b5e8590fb75a","sha256":"4dbdbd0c38d1d6468cbd0ec6b02411faaeffeddfc87c7b638be2e1263931cd14","sha512":"4350a5eab085a85477d149b1a91edb41a808bb070818e9d43e5e1147e4c71a0a5c3438616ab61efb6497365cb84e1f518343afd20431bb8612ba9f7a2165f814","ssdeep":"1536:wjugPsJO3KbxBvr1tBzoxvAgVIvrKfu2DNzmR5axsx5Eng/vc2JZu4+ej3aNOtHm:k0yKlvh/Z+839HMY74qBs","tlshash":"149309ddb2c5b06257e731b910af650ab237249d680d8440f139e8f6bc74b4aa13be7d","first_seen":"2026-05-05T10:36:04.846561Z","last_seen":"2026-07-27T14:53:25.345739Z","times_seen":2322,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5OTgyN10sezE5OTgyNyhlKXt2YXIgdD13aW5kb3cuZG9jdW1lbnQsbj13aW5kb3cubmF2aWdhdG9yLHI9d2luZG93LmxvY2F0aW9uLGk9ZnVuY3Rpb24oKXt2YXIgZSxyLGksbyxhPWZ1bmN0aW9uKHQsbil7cmV0dXJuIG5ldyBhLmZuLmluaXQodCxuLGUpfSxzPXdpbmRvdy5qUXVlcnksbD13aW5kb3cuJCx1PS9eKD86W14jPF0qKDxbXHdcV10rPilbXj5dKiR8IyhbXHdcLV0qKSQpLyxjPS9eXHMrLyxmPS9ccyskLyxkPS9ePChcdyspXHMqXC8/Pig/OjxcL1wxPik/JC8scD0vXltcXSw6e31cc10qJC8saD0vXFwoPzpbIlxcXC9iZm5ydF18dVswLTlhLWZBLUZdezR9KS9nLG09LyJbXiJcXFxuXHJdKiJ8dHJ1ZXxmYWxzZXxudWxsfC0/XGQrKD86XC5cZCopPyg/OltlRV1bK1wtXT9cZCspPy9nLGc9Lyg/Ol58OnwsKSg/OlxzKlxbKSsvZyx2PS8od2Via2l0KVsgXC9dKFtcdy5dKykvLHk9LyhvcGVyYSkoPzouKnZlcnNpb24pP1sgXC9dKFtcdy5dKykvLGI9Lyhtc2llKSAoW1x3Ll0rKS8seD0vKG1vemlsbGEpKD86Lio/IHJ2OihbXHcuXSspKT8vLHc9Ly0oW2Etel18WzAtOV0pL2dpLFQ9L14tbXMtLyxOPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKHQrIiIpLnRvVXBwZXJDYXNlKCl9LEM9bi51c2VyQWdlbnQsUz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGs9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxFPUFycmF5LnByb3RvdHlwZS5wdXNoLEE9QXJyYXkucHJvdG90eXBlLnNsaWNlLEQ9U3RyaW5nLnByb3RvdHlwZS50cmltLEw9QXJyYXkucHJvdG90eXBlLmluZGV4T2YsRj17fTtmdW5jdGlvbiBqKCl7aWYoIWEuaXNSZWFkeSl7dHJ5e3QuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2goZSl7cmV0dXJuIHZvaWQgc2V0VGltZW91dChqLDEpfWEucmVhZHkoKX19cmV0dXJuIGEuZm49YS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmEsaW5pdDpmdW5jdGlvbihlLG4scil7dmFyIGksbyxzLGw7aWYoIWUpcmV0dXJuIHRoaXM7aWYoZS5ub2RlVHlwZSlyZXR1cm4gdGhpcy5jb250ZXh0PXRoaXNbMF09ZSx0aGlzLmxlbmd0aD0xLHRoaXM7aWYoImJvZHkiPT09ZSYmIW4mJnQuYm9keSlyZXR1cm4gdGhpcy5jb250ZXh0PXQsdGhpc1swXT10LmJvZHksdGhpcy5zZWxlY3Rvcj1lLHRoaXMubGVuZ3RoPTEsdGhpcztpZigic3RyaW5nIj09dHlwZW9mIGUpe2lmKCEoaT0iPCI9PT1lLmNoYXJBdCgwKSYmIj4iPT09ZS5jaGFyQXQoZS5sZW5ndGgtMSkmJmUubGVuZ3RoPj0zP1tudWxsLGUsbnVsbF06dS5leGVjKGUpKXx8IWlbMV0mJm4pcmV0dXJuIW58fG4uanF1ZXJ5PyhufHxyKS5maW5kKGUpOnRoaXMuY29uc3RydWN0b3IobikuZmluZChlKTtpZihpWzFdKXJldHVybiBsPShuPW4gaW5zdGFuY2VvZiBhP25bMF06bik/bi5vd25lckRvY3VtZW50fHxuOnQsKHM9ZC5leGVjKGUpKT9hLmlzUGxhaW5PYmplY3Qobik/KGU9W3QuY3JlYXRlRWxlbWVudChzWzFdKV0sYS5mbi5hdHRyLmNhbGwoZSxuLCEwKSk6ZT1bbC5jcmVhdGVFbGVtZW50KHNbMV0pXTplPSgocz1hLmJ1aWxkRnJhZ21lbnQoW2lbMV1dLFtsXSkpLmNhY2hlYWJsZT9hLmNsb25lKHMuZnJhZ21lbnQpOnMuZnJhZ21lbnQpLmNoaWxkTm9kZXMsYS5tZXJnZSh0aGlzLGUpO2lmKChvPXQuZ2V0RWxlbWVudEJ5SWQoaVsyXSkpJiZvLnBhcmVudE5vZGUpe2lmKG8uaWQhPT1pWzJdKXJldHVybiByLmZpbmQoZSk7dGhpcy5sZW5ndGg9MSx0aGlzWzBdPW99cmV0dXJuIHRoaXMuY29udGV4dD10LHRoaXMuc2VsZWN0b3I9ZSx0aGlzfXJldHVybiBhLmlzRnVuY3Rpb24oZSk/ci5yZWFkeShlKToodm9pZCAwIT09ZS5zZWxlY3RvciYmKHRoaXMuc2VsZWN0b3I9ZS5zZWxlY3Rvcix0aGlzLmNvbnRleHQ9ZS5jb250ZXh0KSxhLm1ha2VBcnJheShlLHRoaXMpKX0sc2VsZWN0b3I6IiIsanF1ZXJ5OiIxLjcuMiIsbGVuZ3RoOjAsc2l6ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aH0sdG9BcnJheTpmdW5jdGlvbigpe3JldHVybiBBLmNhbGwodGhpcywwKX0sZ2V0OmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP3RoaXMudG9BcnJheSgpOmU8MD90aGlzW3RoaXMubGVuZ3RoK2VdOnRoaXNbZV19LHB1c2hTdGFjazpmdW5jdGlvbihlLHQsbil7dmFyIHI9dGhpcy5jb25zdHJ1Y3RvcigpO3JldHVybiBhLmlzQXJyYXkoZSk/RS5hcHBseShyLGUpOmEubWVyZ2UocixlKSxyLnByZXZPYmplY3Q9dGhpcyxyLmNvbnRleHQ9dGhpcy5jb250ZXh0LCJmaW5kIj09PXQ/ci5zZWxlY3Rvcj10aGlzLnNlbGVjdG9yKyh0aGlzLnNlbGVjdG9yPyIgIjoiIikrbjp0JiYoci5zZWxlY3Rvcj10aGlzLnNlbGVjdG9yKyIuIit0KyIoIituKyIpIikscn0sZWFjaDpmdW5jdGlvbihlLHQpe3JldHVybiBhLmVhY2godGhpcyxlLHQpfSxyZWFkeTpmdW5jdGlvbihlKXtyZXR1cm4gYS5iaW5kUmVhZHkoKSxpLmFkZChlKSx0aGlzfSxlcTpmdW5jdGlvbihlKXtyZXR1cm4tMT09PShlPStlKT90aGlzLnNsaWNlKGUpOnRoaXMuc2xpY2UoZSxlKzEpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhBLmFwcGx5KHRoaXMsYXJndW1lbnRzKSwic2xpY2UiLEEuY2FsbChhcmd1bWVudHMpLmpvaW4oIiwiKSl9LG1hcDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYS5tYXAodGhpcywoZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5jYWxsKHQsbix0KX0pKSl9LGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnByZXZPYmplY3R8fHRoaXMuY29uc3RydWN0b3IobnVsbCl9LHB1c2g6RSxzb3J0OltdLnNvcnQsc3BsaWNlOltdLnNwbGljZX0sYS5mbi5pbml0LnByb3RvdHlwZT1hLmZuLGEuZXh0ZW5kPWEuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGUsdCxuLHIsaSxvLHM9YXJndW1lbnRzWzBdfHx7fSxsPTEsdT1hcmd1bWVudHMubGVuZ3RoLGM9ITEKO2ZvcigiYm9vbGVhbiI9PXR5cGVvZiBzJiYoYz1zLHM9YXJndW1lbnRzWzFdfHx7fSxsPTIpLCJvYmplY3QiPT10eXBlb2Ygc3x8YS5pc0Z1bmN0aW9uKHMpfHwocz17fSksdT09PWwmJihzPXRoaXMsLS1sKTtsPHU7bCsrKWlmKG51bGwhPShlPWFyZ3VtZW50c1tsXSkpZm9yKHQgaW4gZSluPXNbdF0scyE9PShyPWVbdF0pJiYoYyYmciYmKGEuaXNQbGFpbk9iamVjdChyKXx8KGk9YS5pc0FycmF5KHIpKSk/KGk/KGk9ITEsbz1uJiZhLmlzQXJyYXkobik/bjpbXSk6bz1uJiZhLmlzUGxhaW5PYmplY3Qobik/bjp7fSxzW3RdPWEuZXh0ZW5kKGMsbyxyKSk6dm9pZCAwIT09ciYmKHNbdF09cikpO3JldHVybiBzfSxhLmV4dGVuZCh7bm9Db25mbGljdDpmdW5jdGlvbihlKXtyZXR1cm4gd2luZG93LiQ9PT1hJiYod2luZG93LiQ9bCksZSYmd2luZG93LmpRdWVyeT09PWEmJih3aW5kb3cualF1ZXJ5PXMpLGF9LGlzUmVhZHk6ITEscmVhZHlXYWl0OjEsaG9sZFJlYWR5OmZ1bmN0aW9uKGUpe2U/YS5yZWFkeVdhaXQrKzphLnJlYWR5KCEwKX0scmVhZHk6ZnVuY3Rpb24oZSl7aWYoITA9PT1lJiYhIC0tYS5yZWFkeVdhaXR8fCEwIT09ZSYmIWEuaXNSZWFkeSl7aWYoIXQuYm9keSlyZXR1cm4gc2V0VGltZW91dChhLnJlYWR5LDEpO2lmKGEuaXNSZWFkeT0hMCwhMCE9PWUmJi0tYS5yZWFkeVdhaXQ+MClyZXR1cm47aS5maXJlV2l0aCh0LFthXSksYS5mbi50cmlnZ2VyJiZhKHQpLnRyaWdnZXIoInJlYWR5Iikub2ZmKCJyZWFkeSIpfX0sYmluZFJlYWR5OmZ1bmN0aW9uKCl7aWYoIWkpe2lmKGk9YS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksImNvbXBsZXRlIj09PXQucmVhZHlTdGF0ZSlyZXR1cm4gc2V0VGltZW91dChhLnJlYWR5LDEpO2lmKHQuYWRkRXZlbnRMaXN0ZW5lcil0LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLG8sITEpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixhLnJlYWR5LCExKTtlbHNlIGlmKHQuYXR0YWNoRXZlbnQpe3QuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsbyksd2luZG93LmF0dGFjaEV2ZW50KCJvbmxvYWQiLGEucmVhZHkpO3ZhciBlPSExO3RyeXtlPW51bGw9PXdpbmRvdy5mcmFtZUVsZW1lbnR9Y2F0Y2goZSl7fXQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsJiZlJiZqKCl9fX0saXNGdW5jdGlvbjpmdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT09YS50eXBlKGUpfSxpc0FycmF5OkFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiJhcnJheSI9PT1hLnR5cGUoZSl9LGlzV2luZG93OmZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lJiZlPT1lLndpbmRvd30saXNOdW1lcmljOmZ1bmN0aW9uKGUpe3JldHVybiFpc05hTihwYXJzZUZsb2F0KGUpKSYmaXNGaW5pdGUoZSl9LHR5cGU6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/U3RyaW5nKGUpOkZbUy5jYWxsKGUpXXx8Im9iamVjdCJ9LGlzUGxhaW5PYmplY3Q6ZnVuY3Rpb24oZSl7aWYoIWV8fCJvYmplY3QiIT09YS50eXBlKGUpfHxlLm5vZGVUeXBlfHxhLmlzV2luZG93KGUpKXJldHVybiExO3RyeXtpZihlLmNvbnN0cnVjdG9yJiYhay5jYWxsKGUsImNvbnN0cnVjdG9yIikmJiFrLmNhbGwoZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsImlzUHJvdG90eXBlT2YiKSlyZXR1cm4hMX1jYXRjaChlKXtyZXR1cm4hMX12YXIgdDtmb3IodCBpbiBlKTtyZXR1cm4gdm9pZCAwPT09dHx8ay5jYWxsKGUsdCl9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0IGluIGUpcmV0dXJuITE7cmV0dXJuITB9LGVycm9yOmZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihlKX0scGFyc2VKU09OOmZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmZT8oZT1hLnRyaW0oZSksd2luZG93LkpTT04mJndpbmRvdy5KU09OLnBhcnNlP3dpbmRvdy5KU09OLnBhcnNlKGUpOnAudGVzdChlLnJlcGxhY2UoaCwiQCIpLnJlcGxhY2UobSwiXSIpLnJlcGxhY2UoZywiIikpP25ldyBGdW5jdGlvbigicmV0dXJuICIrZSkoKTp2b2lkIGEuZXJyb3IoIkludmFsaWQgSlNPTjogIitlKSk6bnVsbH0scGFyc2VYTUw6ZnVuY3Rpb24oZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlfHwhZSlyZXR1cm4gbnVsbDt2YXIgdDt0cnl7d2luZG93LkRPTVBhcnNlcj90PShuZXcgRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcoZSwidGV4dC94bWwiKTooKHQ9bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSkuYXN5bmM9ImZhbHNlIix0LmxvYWRYTUwoZSkpfWNhdGNoKGUpe3Q9dm9pZCAwfXJldHVybiB0JiZ0LmRvY3VtZW50RWxlbWVudCYmIXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInBhcnNlcmVycm9yIikubGVuZ3RofHxhLmVycm9yKCJJbnZhbGlkIFhNTDogIitlKSx0fSxub29wOmZ1bmN0aW9uKCl7fSxnbG9iYWxFdmFsOmZ1bmN0aW9uKGUpe30sY2FtZWxDYXNlOmZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoVCwibXMtIikucmVwbGFjZSh3LE4pfSxub2RlTmFtZTpmdW5jdGlvbihlLHQpe3JldHVybiBlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk9PT10LnRvVXBwZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk9MCxvPWUubGVuZ3RoLHM9dm9pZCAwPT09b3x8YS5pc0Z1bmN0aW9uKGUpO2lmKG4paWYocyl7Zm9yKHIgaW4gZSlpZighMT09PXQuYXBwbHkoZVtyXSxuKSlicmVha31lbHNlIGZvcig7aTxvJiYhMSE9PXQuYXBwbHkoZVtpKytdLG4pOyk7ZWxzZSBpZihzKXtmb3IociBpbiBlKWlmKCExPT09dC5jYWxsKGVbcl0scixlW3JdKSlicmVha31lbHNlIGZvcig7aTxvJiYhMSE9PXQuY2FsbChlW2ldLGksZVtpKytdKTspO3JldHVybiBlfSx0cmltOkQ/ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/IiI6RC5jYWxsKGUpfTpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT8iIjplLnRvU3RyaW5nKCkucmVwbGFjZShjLCIiKS5yZXBsYWNlKGYsIiIpfSxtYWtlQXJyYXk6ZnVuY3Rpb24oZSx0KXt2YXIgbj10fHxbXTtpZihudWxsIT1lKXt2YXIgcj1hLnR5cGUoZSkKO251bGw9PWUubGVuZ3RofHwic3RyaW5nIj09PXJ8fCJmdW5jdGlvbiI9PT1yfHwicmVnZXhwIj09PXJ8fGEuaXNXaW5kb3coZSk/RS5jYWxsKG4sZSk6YS5tZXJnZShuLGUpfXJldHVybiBufSxpbkFycmF5OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtpZih0KXtpZihMKXJldHVybiBMLmNhbGwodCxlLG4pO2ZvcihyPXQubGVuZ3RoLG49bj9uPDA/TWF0aC5tYXgoMCxyK24pOm46MDtuPHI7bisrKWlmKG4gaW4gdCYmdFtuXT09PWUpcmV0dXJuIG59cmV0dXJuLTF9LG1lcmdlOmZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5sZW5ndGgscj0wO2lmKCJudW1iZXIiPT10eXBlb2YgdC5sZW5ndGgpZm9yKHZhciBpPXQubGVuZ3RoO3I8aTtyKyspZVtuKytdPXRbcl07ZWxzZSBmb3IoO3ZvaWQgMCE9PXRbcl07KWVbbisrXT10W3IrK107cmV0dXJuIGUubGVuZ3RoPW4sZX0sZ3JlcDpmdW5jdGlvbihlLHQsbil7dmFyIHI9W107bj0hIW47Zm9yKHZhciBpPTAsbz1lLmxlbmd0aDtpPG87aSsrKW4hPT0hIXQoZVtpXSxpKSYmci5wdXNoKGVbaV0pO3JldHVybiByfSxtYXA6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz1bXSxzPTAsbD1lLmxlbmd0aDtpZihlIGluc3RhbmNlb2YgYXx8dm9pZCAwIT09bCYmIm51bWJlciI9PXR5cGVvZiBsJiYobD4wJiZlWzBdJiZlW2wtMV18fDA9PT1sfHxhLmlzQXJyYXkoZSkpKWZvcig7czxsO3MrKyludWxsIT0ocj10KGVbc10scyxuKSkmJihvW28ubGVuZ3RoXT1yKTtlbHNlIGZvcihpIGluIGUpbnVsbCE9KHI9dChlW2ldLGksbikpJiYob1tvLmxlbmd0aF09cik7cmV0dXJuIG8uY29uY2F0LmFwcGx5KFtdLG8pfSxndWlkOjEscHJveHk6ZnVuY3Rpb24oZSx0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBuPWVbdF07dD1lLGU9bn1pZihhLmlzRnVuY3Rpb24oZSkpe3ZhciByPUEuY2FsbChhcmd1bWVudHMsMiksaT1mdW5jdGlvbigpe3JldHVybiBlLmFwcGx5KHQsci5jb25jYXQoQS5jYWxsKGFyZ3VtZW50cykpKX07cmV0dXJuIGkuZ3VpZD1lLmd1aWQ9ZS5ndWlkfHxpLmd1aWR8fGEuZ3VpZCsrLGl9fSxhY2Nlc3M6ZnVuY3Rpb24oZSx0LG4scixpLG8scyl7dmFyIGwsdT1udWxsPT1uLGM9MCxmPWUubGVuZ3RoO2lmKG4mJiJvYmplY3QiPT10eXBlb2Ygbil7Zm9yKGMgaW4gbilhLmFjY2VzcyhlLHQsYyxuW2NdLDEsbyxyKTtpPTF9ZWxzZSBpZih2b2lkIDAhPT1yKXtpZihsPXZvaWQgMD09PXMmJmEuaXNGdW5jdGlvbihyKSx1JiYobD8obD10LHQ9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBsLmNhbGwoYShlKSxuKX0pOih0LmNhbGwoZSxyKSx0PW51bGwpKSx0KWZvcig7YzxmO2MrKyl0KGVbY10sbixsP3IuY2FsbChlW2NdLGMsdChlW2NdLG4pKTpyLHMpO2k9MX1yZXR1cm4gaT9lOnU/dC5jYWxsKGUpOmY/dChlWzBdLG4pOm99LG5vdzpmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfSx1YU1hdGNoOmZ1bmN0aW9uKGUpe2U9ZS50b0xvd2VyQ2FzZSgpO3ZhciB0PXYuZXhlYyhlKXx8eS5leGVjKGUpfHxiLmV4ZWMoZSl8fGUuaW5kZXhPZigiY29tcGF0aWJsZSIpPDAmJnguZXhlYyhlKXx8W107cmV0dXJue2Jyb3dzZXI6dFsxXXx8IiIsdmVyc2lvbjp0WzJdfHwiMCJ9fSxzdWI6ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQsbil7cmV0dXJuIG5ldyBlLmZuLmluaXQodCxuKX1hLmV4dGVuZCghMCxlLHRoaXMpLGUuc3VwZXJjbGFzcz10aGlzLGUuZm49ZS5wcm90b3R5cGU9dGhpcygpLGUuZm4uY29uc3RydWN0b3I9ZSxlLnN1Yj10aGlzLnN1YixlLmZuLmluaXQ9ZnVuY3Rpb24odCxyKXtyZXR1cm4gciYmciBpbnN0YW5jZW9mIGEmJiEociBpbnN0YW5jZW9mIGUpJiYocj1lKHIpKSxhLmZuLmluaXQuY2FsbCh0aGlzLHQscixuKX0sZS5mbi5pbml0LnByb3RvdHlwZT1lLmZuO3ZhciBuPWUodCk7cmV0dXJuIGV9LGJyb3dzZXI6e319KSxhLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QiLnNwbGl0KCIgIiksKGZ1bmN0aW9uKGUsdCl7RlsiW29iamVjdCAiK3QrIl0iXT10LnRvTG93ZXJDYXNlKCl9KSksKHI9YS51YU1hdGNoKEMpKS5icm93c2VyJiYoYS5icm93c2VyW3IuYnJvd3Nlcl09ITAsYS5icm93c2VyLnZlcnNpb249ci52ZXJzaW9uKSxhLmJyb3dzZXIud2Via2l0JiYoYS5icm93c2VyLnNhZmFyaT0hMCksL1xTLy50ZXN0KCLCoCIpJiYoYz0vXltcc1x4QTBdKy8sZj0vW1xzXHhBMF0rJC8pLGU9YSh0KSx0LmFkZEV2ZW50TGlzdGVuZXI/bz1mdW5jdGlvbigpe3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsbywhMSksYS5yZWFkeSgpfTp0LmF0dGFjaEV2ZW50JiYobz1mdW5jdGlvbigpeyJjb21wbGV0ZSI9PT10LnJlYWR5U3RhdGUmJih0LmRldGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLG8pLGEucmVhZHkoKSl9KSxhfSgpLG89e307aS5DYWxsYmFja3M9ZnVuY3Rpb24oZSl7ZT1lP29bZV18fGZ1bmN0aW9uKGUpe3ZhciB0LG4scj1vW2VdPXt9O2Zvcih0PTAsbj0oZT1lLnNwbGl0KC9ccysvKSkubGVuZ3RoO3Q8bjt0KyspcltlW3RdXT0hMDtyZXR1cm4gcn0oZSk6e307dmFyIHQsbixyLGEscyxsLHU9W10sYz1bXSxmPWZ1bmN0aW9uKHQpe3ZhciBuLHIsbyxhO2ZvcihuPTAscj10Lmxlbmd0aDtuPHI7bisrKW89dFtuXSwiYXJyYXkiPT09KGE9aS50eXBlKG8pKT9mKG8pOiJmdW5jdGlvbiI9PT1hJiYoZS51bmlxdWUmJnAuaGFzKG8pfHx1LnB1c2gobykpfSxkPWZ1bmN0aW9uKGksbyl7Zm9yKG89b3x8W10sdD0hZS5tZW1vcnl8fFtpLG9dLG49ITAscj0hMCxsPWF8fDAsYT0wLHM9dS5sZW5ndGg7dSYmbDxzO2wrKylpZighMT09PXVbbF0uYXBwbHkoaSxvKSYmZS5zdG9wT25GYWxzZSl7dD0hMDticmVha31yPSExLHUmJihlLm9uY2U/ITA9PT10P3AuZGlzYWJsZSgpOnU9W106YyYmYy5sZW5ndGgmJih0PWMuc2hpZnQoKSxwLmZpcmVXaXRoKHRbMF0sdFsxXSkpKX0scD17YWRkOmZ1bmN0aW9uKCl7aWYodSl7dmFyIGU9dS5sZW5ndGg7Zihhcmd1bWVudHMpLHI/cz11Lmxlbmd0aDp0JiYhMCE9PXQmJihhPWUsZCh0WzBdLHRbMV0pKX1yZXR1cm4gdGhpc30sCnJlbW92ZTpmdW5jdGlvbigpe2lmKHUpZm9yKHZhciB0PWFyZ3VtZW50cyxuPTAsaT10Lmxlbmd0aDtuPGk7bisrKWZvcih2YXIgbz0wO288dS5sZW5ndGgmJih0W25dIT09dVtvXXx8KHImJm88PXMmJihzLS0sbzw9bCYmbC0tKSx1LnNwbGljZShvLS0sMSksIWUudW5pcXVlKSk7bysrKTtyZXR1cm4gdGhpc30saGFzOmZ1bmN0aW9uKGUpe2lmKHUpZm9yKHZhciB0PTAsbj11Lmxlbmd0aDt0PG47dCsrKWlmKGU9PT11W3RdKXJldHVybiEwO3JldHVybiExfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiB1PVtdLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdT1jPXQ9dm9pZCAwLHRoaXN9LGRpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIXV9LGxvY2s6ZnVuY3Rpb24oKXtyZXR1cm4gYz12b2lkIDAsdCYmITAhPT10fHxwLmRpc2FibGUoKSx0aGlzfSxsb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hY30sZmlyZVdpdGg6ZnVuY3Rpb24obixpKXtyZXR1cm4gYyYmKHI/ZS5vbmNlfHxjLnB1c2goW24saV0pOmUub25jZSYmdHx8ZChuLGkpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIHAuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFufX07cmV0dXJuIHB9O3ZhciBhPVtdLnNsaWNlO2kuZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihlKXt2YXIgdCxuPWkuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLHI9aS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5Iiksbz1pLkNhbGxiYWNrcygibWVtb3J5IiksYT0icGVuZGluZyIscz17cmVzb2x2ZTpuLHJlamVjdDpyLG5vdGlmeTpvfSxsPXtkb25lOm4uYWRkLGZhaWw6ci5hZGQscHJvZ3Jlc3M6by5hZGQsc3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gYX0saXNSZXNvbHZlZDpuLmZpcmVkLGlzUmVqZWN0ZWQ6ci5maXJlZCx0aGVuOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdS5kb25lKGUpLmZhaWwodCkucHJvZ3Jlc3MobiksdGhpc30sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIHUuZG9uZS5hcHBseSh1LGFyZ3VtZW50cykuZmFpbC5hcHBseSh1LGFyZ3VtZW50cyksdGhpc30scGlwZTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuRGVmZXJyZWQoKGZ1bmN0aW9uKHIpe2kuZWFjaCh7ZG9uZTpbZSwicmVzb2x2ZSJdLGZhaWw6W3QsInJlamVjdCJdLHByb2dyZXNzOltuLCJub3RpZnkiXX0sKGZ1bmN0aW9uKGUsdCl7dmFyIG4sbz10WzBdLGE9dFsxXTtpLmlzRnVuY3Rpb24obyk/dVtlXSgoZnVuY3Rpb24oKXsobj1vLmFwcGx5KHRoaXMsYXJndW1lbnRzKSkmJmkuaXNGdW5jdGlvbihuLnByb21pc2UpP24ucHJvbWlzZSgpLnRoZW4oci5yZXNvbHZlLHIucmVqZWN0LHIubm90aWZ5KTpyW2ErIldpdGgiXSh0aGlzPT09dT9yOnRoaXMsW25dKX0pKTp1W2VdKHJbYV0pfSkpfSkpLnByb21pc2UoKX0scHJvbWlzZTpmdW5jdGlvbihlKXtpZihudWxsPT1lKWU9bDtlbHNlIGZvcih2YXIgdCBpbiBsKWVbdF09bFt0XTtyZXR1cm4gZX19LHU9bC5wcm9taXNlKHt9KTtmb3IodCBpbiBzKXVbdF09c1t0XS5maXJlLHVbdCsiV2l0aCJdPXNbdF0uZmlyZVdpdGg7cmV0dXJuIHUuZG9uZSgoZnVuY3Rpb24oKXthPSJyZXNvbHZlZCJ9KSxyLmRpc2FibGUsby5sb2NrKS5mYWlsKChmdW5jdGlvbigpe2E9InJlamVjdGVkIn0pLG4uZGlzYWJsZSxvLmxvY2spLGUmJmUuY2FsbCh1LHUpLHV9LHdoZW46ZnVuY3Rpb24oZSl7dmFyIHQ9YS5jYWxsKGFyZ3VtZW50cywwKSxuPTAscj10Lmxlbmd0aCxvPW5ldyBBcnJheShyKSxzPXIsbD1yPD0xJiZlJiZpLmlzRnVuY3Rpb24oZS5wcm9taXNlKT9lOmkuRGVmZXJyZWQoKSx1PWwucHJvbWlzZSgpO2Z1bmN0aW9uIGMoZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3RbZV09YXJndW1lbnRzLmxlbmd0aD4xP2EuY2FsbChhcmd1bWVudHMsMCk6biwtLXN8fGwucmVzb2x2ZVdpdGgobCx0KX19ZnVuY3Rpb24gZihlKXtyZXR1cm4gZnVuY3Rpb24odCl7b1tlXT1hcmd1bWVudHMubGVuZ3RoPjE/YS5jYWxsKGFyZ3VtZW50cywwKTp0LGwubm90aWZ5V2l0aCh1LG8pfX1pZihyPjEpe2Zvcig7bjxyO24rKyl0W25dJiZ0W25dLnByb21pc2UmJmkuaXNGdW5jdGlvbih0W25dLnByb21pc2UpP3Rbbl0ucHJvbWlzZSgpLnRoZW4oYyhuKSxsLnJlamVjdCxmKG4pKTotLXM7c3x8bC5yZXNvbHZlV2l0aChsLHQpfWVsc2UgbCE9PWUmJmwucmVzb2x2ZVdpdGgobCxyP1tlXTpbXSk7cmV0dXJuIHV9fSksaS5zdXBwb3J0PXtsZWFkaW5nV2hpdGVzcGFjZTohMCx0Ym9keTohMCxodG1sU2VyaWFsaXplOiEwLHN0eWxlOiEwLGhyZWZOb3JtYWxpemVkOiEwLG9wYWNpdHk6ITAsY3NzRmxvYXQ6ITAsY2hlY2tPbjohMCxvcHRTZWxlY3RlZDohMCxnZXRTZXRBdHRyaWJ1dGU6ITAsZW5jdHlwZTohMCxodG1sNUNsb25lOiEwLHN1Ym1pdEJ1YmJsZXM6ITAsY2hhbmdlQnViYmxlczohMCxmb2N1c2luQnViYmxlczohMSxkZWxldGVFeHBhbmRvOiEwLG5vQ2xvbmVFdmVudDohMCxpbmxpbmVCbG9ja05lZWRzTGF5b3V0OiExLHNocmlua1dyYXBCbG9ja3M6ITEscmVsaWFibGVNYXJnaW5SaWdodDohMCxwaXhlbE1hcmdpbjohMCxib3hNb2RlbDohMCxub0Nsb25lQ2hlY2tlZDohMCxvcHREaXNhYmxlZDohMCxyYWRpb1ZhbHVlOiEwLGNoZWNrQ2xvbmU6ITAsYXBwZW5kQ2hlY2tlZDohMCxhamF4OiEwLGNvcnM6ITAscmVsaWFibGVIaWRkZW5PZmZzZXRzOiEwLGRvZXNOb3RBZGRCb3JkZXI6ITAsZG9lc0FkZEJvcmRlckZvclRhYmxlQW5kQ2VsbHM6ITEsZml4ZWRQb3NpdGlvbjohMCxzdWJ0cmFjdHNCb3JkZXJGb3JPdmVyZmxvd05vdFZpc2libGU6ITEsZG9lc05vdEluY2x1ZGVNYXJnaW5JbkJvZHlPZmZzZXQ6ITB9O3ZhciBzPS9eKD86XHsuKlx9fFxbLipcXSkkLyxsPS8oW0EtWl0pL2c7ZnVuY3Rpb24gdShlLHQsbil7aWYodm9pZCAwPT09biYmMT09PWUubm9kZVR5cGUpe3ZhciByPSJkYXRhLSIrdC5yZXBsYWNlKGwsIi0kMSIpLnRvTG93ZXJDYXNlKCk7aWYoInN0cmluZyI9PXR5cGVvZihuPWUuZ2V0QXR0cmlidXRlKHIpKSl7dHJ5ewpuPSJ0cnVlIj09PW58fCJmYWxzZSIhPT1uJiYoIm51bGwiPT09bj9udWxsOmkuaXNOdW1lcmljKG4pPytuOnMudGVzdChuKT9pLnBhcnNlSlNPTihuKTpuKX1jYXRjaChlKXt9aS5kYXRhKGUsdCxuKX1lbHNlIG49dm9pZCAwfXJldHVybiBufWZ1bmN0aW9uIGMoZSl7Zm9yKHZhciB0IGluIGUpaWYoKCJkYXRhIiE9PXR8fCFpLmlzRW1wdHlPYmplY3QoZVt0XSkpJiYidG9KU09OIiE9PXQpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gZihlLHQsbil7dmFyIHI9dCsiZGVmZXIiLG89dCsicXVldWUiLGE9dCsibWFyayIscz1pLl9kYXRhKGUscik7IXN8fCJxdWV1ZSIhPT1uJiZpLl9kYXRhKGUsbyl8fCJtYXJrIiE9PW4mJmkuX2RhdGEoZSxhKXx8c2V0VGltZW91dCgoZnVuY3Rpb24oKXtpLl9kYXRhKGUsbyl8fGkuX2RhdGEoZSxhKXx8KGkucmVtb3ZlRGF0YShlLHIsITApLHMuZmlyZSgpKX0pLDApfWkuZXh0ZW5kKHtjYWNoZTp7fSx1dWlkOjAsZXhwYW5kbzoialF1ZXJ5IisoaS5mbi5qcXVlcnkrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXEQvZywiIiksbm9EYXRhOntlbWJlZDohMCxvYmplY3Q6ImNsc2lkOkQyN0NEQjZFLUFFNkQtMTFjZi05NkI4LTQ0NDU1MzU0MDAwMCIsYXBwbGV0OiEwfSxoYXNEYXRhOmZ1bmN0aW9uKGUpe3JldHVybiEhKGU9ZS5ub2RlVHlwZT9pLmNhY2hlW2VbaS5leHBhbmRvXV06ZVtpLmV4cGFuZG9dKSYmIWMoZSl9LGRhdGE6ZnVuY3Rpb24oZSx0LG4scil7aWYoaS5hY2NlcHREYXRhKGUpKXt2YXIgbyxhLHMsbD1pLmV4cGFuZG8sdT0ic3RyaW5nIj09dHlwZW9mIHQsYz1lLm5vZGVUeXBlLGY9Yz9pLmNhY2hlOmUsZD1jP2VbbF06ZVtsXSYmbCxwPSJldmVudHMiPT09dDtpZihkJiZmW2RdJiYocHx8cnx8ZltkXS5kYXRhKXx8IXV8fHZvaWQgMCE9PW4pcmV0dXJuIGR8fChjP2VbbF09ZD0rK2kudXVpZDpkPWwpLGZbZF18fChmW2RdPXt9LGN8fChmW2RdLnRvSlNPTj1pLm5vb3ApKSwib2JqZWN0IiE9dHlwZW9mIHQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0fHwocj9mW2RdPWkuZXh0ZW5kKGZbZF0sdCk6ZltkXS5kYXRhPWkuZXh0ZW5kKGZbZF0uZGF0YSx0KSksbz1hPWZbZF0scnx8KGEuZGF0YXx8KGEuZGF0YT17fSksYT1hLmRhdGEpLHZvaWQgMCE9PW4mJihhW2kuY2FtZWxDYXNlKHQpXT1uKSxwJiYhYVt0XT9vLmV2ZW50czoodT9udWxsPT0ocz1hW3RdKSYmKHM9YVtpLmNhbWVsQ2FzZSh0KV0pOnM9YSxzKX19LHJlbW92ZURhdGE6ZnVuY3Rpb24oZSx0LG4pe2lmKGkuYWNjZXB0RGF0YShlKSl7dmFyIHIsbyxhLHM9aS5leHBhbmRvLGw9ZS5ub2RlVHlwZSx1PWw/aS5jYWNoZTplLGY9bD9lW3NdOnM7aWYodVtmXSl7aWYodCYmKHI9bj91W2ZdOnVbZl0uZGF0YSkpe2kuaXNBcnJheSh0KXx8KHQ9dCBpbiByfHwodD1pLmNhbWVsQ2FzZSh0KSlpbiByP1t0XTp0LnNwbGl0KCIgIikpO2ZvcihvPTAsYT10Lmxlbmd0aDtvPGE7bysrKWRlbGV0ZSByW3Rbb11dO2lmKCEobj9jOmkuaXNFbXB0eU9iamVjdCkocikpcmV0dXJufShufHwoZGVsZXRlIHVbZl0uZGF0YSxjKHVbZl0pKSkmJihpLnN1cHBvcnQuZGVsZXRlRXhwYW5kb3x8IXUuc2V0SW50ZXJ2YWw/ZGVsZXRlIHVbZl06dVtmXT1udWxsLGwmJihpLnN1cHBvcnQuZGVsZXRlRXhwYW5kbz9kZWxldGUgZVtzXTplLnJlbW92ZUF0dHJpYnV0ZT9lLnJlbW92ZUF0dHJpYnV0ZShzKTplW3NdPW51bGwpKX19fSxfZGF0YTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuZGF0YShlLHQsbiwhMCl9LGFjY2VwdERhdGE6ZnVuY3Rpb24oZSl7aWYoZS5ub2RlTmFtZSl7dmFyIHQ9aS5ub0RhdGFbZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXTtpZih0KXJldHVybiEoITA9PT10fHxlLmdldEF0dHJpYnV0ZSgiY2xhc3NpZCIpIT09dCl9cmV0dXJuITB9fSksaS5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24oZSx0KXt2YXIgbixyLG8sYSxzLGw9dGhpc1swXSxjPTAsZj1udWxsO2lmKHZvaWQgMD09PWUpe2lmKHRoaXMubGVuZ3RoJiYoZj1pLmRhdGEobCksMT09PWwubm9kZVR5cGUmJiFpLl9kYXRhKGwsInBhcnNlZEF0dHJzIikpKXtmb3Iocz0obz1sLmF0dHJpYnV0ZXMpLmxlbmd0aDtjPHM7YysrKTA9PT0oYT1vW2NdLm5hbWUpLmluZGV4T2YoImRhdGEtIikmJihhPWkuY2FtZWxDYXNlKGEuc3Vic3RyaW5nKDUpKSx1KGwsYSxmW2FdKSk7aS5fZGF0YShsLCJwYXJzZWRBdHRycyIsITApfXJldHVybiBmfXJldHVybiJvYmplY3QiPT10eXBlb2YgZT90aGlzLmVhY2goKGZ1bmN0aW9uKCl7aS5kYXRhKHRoaXMsZSl9KSk6KChuPWUuc3BsaXQoIi4iLDIpKVsxXT1uWzFdPyIuIituWzFdOiIiLHI9blsxXSsiISIsaS5hY2Nlc3ModGhpcywoZnVuY3Rpb24odCl7aWYodm9pZCAwPT09dClyZXR1cm4gdm9pZCAwPT09KGY9dGhpcy50cmlnZ2VySGFuZGxlcigiZ2V0RGF0YSIrcixbblswXV0pKSYmbCYmKGY9aS5kYXRhKGwsZSksZj11KGwsZSxmKSksdm9pZCAwPT09ZiYmblsxXT90aGlzLmRhdGEoblswXSk6ZjtuWzFdPXQsdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBvPWkodGhpcyk7by50cmlnZ2VySGFuZGxlcigic2V0RGF0YSIrcixuKSxpLmRhdGEodGhpcyxlLHQpLG8udHJpZ2dlckhhbmRsZXIoImNoYW5nZURhdGEiK3Isbil9KSl9KSxudWxsLHQsYXJndW1lbnRzLmxlbmd0aD4xLG51bGwsITEpKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe2kucmVtb3ZlRGF0YSh0aGlzLGUpfSkpfX0pLGkuZXh0ZW5kKHtfbWFyazpmdW5jdGlvbihlLHQpe2UmJih0PSh0fHwiZngiKSsibWFyayIsaS5fZGF0YShlLHQsKGkuX2RhdGEoZSx0KXx8MCkrMSkpfSxfdW5tYXJrOmZ1bmN0aW9uKGUsdCxuKXtpZighMCE9PWUmJihuPXQsdD1lLGU9ITEpLHQpe3ZhciByPShuPW58fCJmeCIpKyJtYXJrIixvPWU/MDooaS5fZGF0YSh0LHIpfHwxKS0xO28/aS5fZGF0YSh0LHIsbyk6KGkucmVtb3ZlRGF0YSh0LHIsITApLGYodCxuLCJtYXJrIikpfX0scXVldWU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByO2lmKGUpcmV0dXJuIHQ9KHR8fCJmeCIpKyJxdWV1ZSIscj1pLl9kYXRhKGUsdCksCm4mJighcnx8aS5pc0FycmF5KG4pP3I9aS5fZGF0YShlLHQsaS5tYWtlQXJyYXkobikpOnIucHVzaChuKSkscnx8W119LGRlcXVldWU6ZnVuY3Rpb24oZSx0KXt0PXR8fCJmeCI7dmFyIG49aS5xdWV1ZShlLHQpLHI9bi5zaGlmdCgpLG89e307ImlucHJvZ3Jlc3MiPT09ciYmKHI9bi5zaGlmdCgpKSxyJiYoImZ4Ij09PXQmJm4udW5zaGlmdCgiaW5wcm9ncmVzcyIpLGkuX2RhdGEoZSx0KyIucnVuIixvKSxyLmNhbGwoZSwoZnVuY3Rpb24oKXtpLmRlcXVldWUoZSx0KX0pLG8pKSxuLmxlbmd0aHx8KGkucmVtb3ZlRGF0YShlLHQrInF1ZXVlICIrdCsiLnJ1biIsITApLGYoZSx0LCJxdWV1ZSIpKX19KSxpLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgZSYmKHQ9ZSxlPSJmeCIsbi0tKSxhcmd1bWVudHMubGVuZ3RoPG4/aS5xdWV1ZSh0aGlzWzBdLGUpOnZvaWQgMD09PXQ/dGhpczp0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIG49aS5xdWV1ZSh0aGlzLGUsdCk7ImZ4Ij09PWUmJiJpbnByb2dyZXNzIiE9PW5bMF0mJmkuZGVxdWV1ZSh0aGlzLGUpfSkpfSxkZXF1ZXVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7aS5kZXF1ZXVlKHRoaXMsZSl9KSl9LGRlbGF5OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9aS5meCYmaS5meC5zcGVlZHNbZV18fGUsdD10fHwiZngiLHRoaXMucXVldWUodCwoZnVuY3Rpb24odCxuKXt2YXIgcj1zZXRUaW1lb3V0KHQsZSk7bi5zdG9wPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHIpfX0pKX0sY2xlYXJRdWV1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5xdWV1ZShlfHwiZngiLFtdKX0scHJvbWlzZTpmdW5jdGlvbihlLHQpeyJzdHJpbmciIT10eXBlb2YgZSYmKHQ9ZSxlPXZvaWQgMCksZT1lfHwiZngiO3ZhciBuLHI9aS5EZWZlcnJlZCgpLG89dGhpcyxhPW8ubGVuZ3RoLHM9MSxsPWUrImRlZmVyIix1PWUrInF1ZXVlIixjPWUrIm1hcmsiO2Z1bmN0aW9uIGYoKXstLXN8fHIucmVzb2x2ZVdpdGgobyxbb10pfWZvcig7YS0tOykobj1pLmRhdGEob1thXSxsLHZvaWQgMCwhMCl8fChpLmRhdGEob1thXSx1LHZvaWQgMCwhMCl8fGkuZGF0YShvW2FdLGMsdm9pZCAwLCEwKSkmJmkuZGF0YShvW2FdLGwsaS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksITApKSYmKHMrKyxuLmFkZChmKSk7cmV0dXJuIGYoKSxyLnByb21pc2UodCl9fSk7dmFyIGQscCxoLG09L1tcblx0XHJdL2csZz0vXHMrLyx2PS9cci9nLHk9L14oPzpidXR0b258aW5wdXQpJC9pLGI9L14oPzpidXR0b258aW5wdXR8b2JqZWN0fHNlbGVjdHx0ZXh0YXJlYSkkL2kseD0vXmEoPzpyZWEpPyQvaSx3PS9eKD86YXV0b2ZvY3VzfGF1dG9wbGF5fGFzeW5jfGNoZWNrZWR8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWR8c2VsZWN0ZWQpJC9pLFQ9aS5zdXBwb3J0LmdldFNldEF0dHJpYnV0ZTtpLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihlLHQpe3JldHVybiBpLmFjY2Vzcyh0aGlzLGkuYXR0cixlLHQsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe2kucmVtb3ZlQXR0cih0aGlzLGUpfSkpfSxwcm9wOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkuYWNjZXNzKHRoaXMsaS5wcm9wLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVQcm9wOmZ1bmN0aW9uKGUpe3JldHVybiBlPWkucHJvcEZpeFtlXXx8ZSx0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dHJ5e3RoaXNbZV09dm9pZCAwLGRlbGV0ZSB0aGlzW2VdfWNhdGNoKGUpe319KSl9LGFkZENsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixvLGEscyxsO2lmKGkuaXNGdW5jdGlvbihlKSlyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbih0KXtpKHRoaXMpLmFkZENsYXNzKGUuY2FsbCh0aGlzLHQsdGhpcy5jbGFzc05hbWUpKX0pKTtpZihlJiYic3RyaW5nIj09dHlwZW9mIGUpZm9yKHQ9ZS5zcGxpdChnKSxuPTAscj10aGlzLmxlbmd0aDtuPHI7bisrKWlmKDE9PT0obz10aGlzW25dKS5ub2RlVHlwZSlpZihvLmNsYXNzTmFtZXx8MSE9PXQubGVuZ3RoKXtmb3IoYT0iICIrby5jbGFzc05hbWUrIiAiLHM9MCxsPXQubGVuZ3RoO3M8bDtzKyspfmEuaW5kZXhPZigiICIrdFtzXSsiICIpfHwoYSs9dFtzXSsiICIpO28uY2xhc3NOYW1lPWkudHJpbShhKX1lbHNlIG8uY2xhc3NOYW1lPWU7cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixvLGEscyxsO2lmKGkuaXNGdW5jdGlvbihlKSlyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbih0KXtpKHRoaXMpLnJlbW92ZUNsYXNzKGUuY2FsbCh0aGlzLHQsdGhpcy5jbGFzc05hbWUpKX0pKTtpZihlJiYic3RyaW5nIj09dHlwZW9mIGV8fHZvaWQgMD09PWUpZm9yKHQ9KGV8fCIiKS5zcGxpdChnKSxuPTAscj10aGlzLmxlbmd0aDtuPHI7bisrKWlmKDE9PT0obz10aGlzW25dKS5ub2RlVHlwZSYmby5jbGFzc05hbWUpaWYoZSl7Zm9yKGE9KCIgIitvLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UobSwiICIpLHM9MCxsPXQubGVuZ3RoO3M8bDtzKyspYT1hLnJlcGxhY2UoIiAiK3Rbc10rIiAiLCIgIik7by5jbGFzc05hbWU9aS50cmltKGEpfWVsc2Ugby5jbGFzc05hbWU9IiI7cmV0dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGUsdCl7dmFyIG49dHlwZW9mIGUscj0iYm9vbGVhbiI9PXR5cGVvZiB0O3JldHVybiBpLmlzRnVuY3Rpb24oZSk/dGhpcy5lYWNoKChmdW5jdGlvbihuKXtpKHRoaXMpLnRvZ2dsZUNsYXNzKGUuY2FsbCh0aGlzLG4sdGhpcy5jbGFzc05hbWUsdCksdCl9KSk6dGhpcy5lYWNoKChmdW5jdGlvbigpe2lmKCJzdHJpbmciPT09bilmb3IodmFyIG8sYT0wLHM9aSh0aGlzKSxsPXQsdT1lLnNwbGl0KGcpO289dVthKytdOylsPXI/bDohcy5oYXNDbGFzcyhvKSwKc1tsPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0obyk7ZWxzZSJ1bmRlZmluZWQiIT09biYmImJvb2xlYW4iIT09bnx8KHRoaXMuY2xhc3NOYW1lJiZpLl9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iLHRoaXMuY2xhc3NOYW1lKSx0aGlzLmNsYXNzTmFtZT10aGlzLmNsYXNzTmFtZXx8ITE9PT1lPyIiOmkuX2RhdGEodGhpcywiX19jbGFzc05hbWVfXyIpfHwiIil9KSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0iICIrZSsiICIsbj0wLHI9dGhpcy5sZW5ndGg7bjxyO24rKylpZigxPT09dGhpc1tuXS5ub2RlVHlwZSYmKCIgIit0aGlzW25dLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UobSwiICIpLmluZGV4T2YodCk+LTEpcmV0dXJuITA7cmV0dXJuITF9LHZhbDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsbz10aGlzWzBdO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPWkuaXNGdW5jdGlvbihlKSx0aGlzLmVhY2goKGZ1bmN0aW9uKG4pe3ZhciBvLGE9aSh0aGlzKTsxPT09dGhpcy5ub2RlVHlwZSYmKG51bGw9PShvPXI/ZS5jYWxsKHRoaXMsbixhLnZhbCgpKTplKT9vPSIiOiJudW1iZXIiPT10eXBlb2Ygbz9vKz0iIjppLmlzQXJyYXkobykmJihvPWkubWFwKG8sKGZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lPyIiOmUrIiJ9KSkpLCh0PWkudmFsSG9va3NbdGhpcy50eXBlXXx8aS52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSYmInNldCJpbiB0JiZ2b2lkIDAhPT10LnNldCh0aGlzLG8sInZhbHVlIil8fCh0aGlzLnZhbHVlPW8pKX0pKSk6bz8odD1pLnZhbEhvb2tzW28udHlwZV18fGkudmFsSG9va3Nbby5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSkmJiJnZXQiaW4gdCYmdm9pZCAwIT09KG49dC5nZXQobywidmFsdWUiKSk/bjoic3RyaW5nIj09dHlwZW9mKG49by52YWx1ZSk/bi5yZXBsYWNlKHYsIiIpOm4/PyIiOnZvaWQgMH19KSxpLmV4dGVuZCh7dmFsSG9va3M6e29wdGlvbjp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUuYXR0cmlidXRlcy52YWx1ZTtyZXR1cm4hdHx8dC5zcGVjaWZpZWQ/ZS52YWx1ZTplLnRleHR9fSxzZWxlY3Q6e2dldDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsbyxhPWUuc2VsZWN0ZWRJbmRleCxzPVtdLGw9ZS5vcHRpb25zLHU9InNlbGVjdC1vbmUiPT09ZS50eXBlO2lmKGE8MClyZXR1cm4gbnVsbDtmb3Iobj11P2E6MCxyPXU/YSsxOmwubGVuZ3RoO248cjtuKyspaWYoKG89bFtuXSkuc2VsZWN0ZWQmJihpLnN1cHBvcnQub3B0RGlzYWJsZWQ/IW8uZGlzYWJsZWQ6bnVsbD09PW8uZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpKSYmKCFvLnBhcmVudE5vZGUuZGlzYWJsZWR8fCFpLm5vZGVOYW1lKG8ucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2lmKHQ9aShvKS52YWwoKSx1KXJldHVybiB0O3MucHVzaCh0KX1yZXR1cm4gdSYmIXMubGVuZ3RoJiZsLmxlbmd0aD9pKGxbYV0pLnZhbCgpOnN9LHNldDpmdW5jdGlvbihlLHQpe3ZhciBuPWkubWFrZUFycmF5KHQpO3JldHVybiBpKGUpLmZpbmQoIm9wdGlvbiIpLmVhY2goKGZ1bmN0aW9uKCl7dGhpcy5zZWxlY3RlZD1pLmluQXJyYXkoaSh0aGlzKS52YWwoKSxuKT49MH0pKSxuLmxlbmd0aHx8KGUuc2VsZWN0ZWRJbmRleD0tMSksbn19fSxhdHRyRm46e3ZhbDohMCxjc3M6ITAsaHRtbDohMCx0ZXh0OiEwLGRhdGE6ITAsd2lkdGg6ITAsaGVpZ2h0OiEwLG9mZnNldDohMH0sYXR0cjpmdW5jdGlvbihlLHQsbixyKXt2YXIgbyxhLHMsbD1lLm5vZGVUeXBlO2lmKGUmJjMhPT1sJiY4IT09bCYmMiE9PWwpcmV0dXJuIHImJnQgaW4gaS5hdHRyRm4/aShlKVt0XShuKTp2b2lkIDA9PT1lLmdldEF0dHJpYnV0ZT9pLnByb3AoZSx0LG4pOigocz0xIT09bHx8IWkuaXNYTUxEb2MoZSkpJiYodD10LnRvTG93ZXJDYXNlKCksYT1pLmF0dHJIb29rc1t0XXx8KHcudGVzdCh0KT9wOmQpKSx2b2lkIDAhPT1uP251bGw9PT1uP3ZvaWQgaS5yZW1vdmVBdHRyKGUsdCk6YSYmInNldCJpbiBhJiZzJiZ2b2lkIDAhPT0obz1hLnNldChlLG4sdCkpP286KGUuc2V0QXR0cmlidXRlKHQsIiIrbiksbik6YSYmImdldCJpbiBhJiZzJiZudWxsIT09KG89YS5nZXQoZSx0KSk/bzpudWxsPT09KG89ZS5nZXRBdHRyaWJ1dGUodCkpP3ZvaWQgMDpvKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlLHQpe3ZhciBuLHIsbyxhLHMsbD0wO2lmKHQmJjE9PT1lLm5vZGVUeXBlKWZvcihhPShyPXQudG9Mb3dlckNhc2UoKS5zcGxpdChnKSkubGVuZ3RoO2w8YTtsKyspKG89cltsXSkmJihuPWkucHJvcEZpeFtvXXx8bywocz13LnRlc3QobykpfHxpLmF0dHIoZSxvLCIiKSxlLnJlbW92ZUF0dHJpYnV0ZShUP286bikscyYmbiBpbiBlJiYoZVtuXT0hMSkpfSxhdHRySG9va3M6e3R5cGU6e3NldDpmdW5jdGlvbihlLHQpe2lmKHkudGVzdChlLm5vZGVOYW1lKSYmZS5wYXJlbnROb2RlKWkuZXJyb3IoInR5cGUgcHJvcGVydHkgY2FuJ3QgYmUgY2hhbmdlZCIpO2Vsc2UgaWYoIWkuc3VwcG9ydC5yYWRpb1ZhbHVlJiYicmFkaW8iPT09dCYmaS5ub2RlTmFtZShlLCJpbnB1dCIpKXt2YXIgbj1lLnZhbHVlO3JldHVybiBlLnNldEF0dHJpYnV0ZSgidHlwZSIsdCksbiYmKGUudmFsdWU9biksdH19fSx2YWx1ZTp7Z2V0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGQmJmkubm9kZU5hbWUoZSwiYnV0dG9uIik/ZC5nZXQoZSx0KTp0IGluIGU/ZS52YWx1ZTpudWxsfSxzZXQ6ZnVuY3Rpb24oZSx0LG4pe2lmKGQmJmkubm9kZU5hbWUoZSwiYnV0dG9uIikpcmV0dXJuIGQuc2V0KGUsdCxuKTtlLnZhbHVlPXR9fX0scHJvcEZpeDp7dGFiaW5kZXg6InRhYkluZGV4IixyZWFkb25seToicmVhZE9ubHkiLGZvcjoiaHRtbEZvciIsY2xhc3M6ImNsYXNzTmFtZSIsbWF4bGVuZ3RoOiJtYXhMZW5ndGgiLGNlbGxzcGFjaW5nOiJjZWxsU3BhY2luZyIsY2VsbHBhZGRpbmc6ImNlbGxQYWRkaW5nIixyb3dzcGFuOiJyb3dTcGFuIixjb2xzcGFuOiJjb2xTcGFuIix1c2VtYXA6InVzZU1hcCIsZnJhbWVib3JkZXI6ImZyYW1lQm9yZGVyIixjb250ZW50ZWRpdGFibGU6ImNvbnRlbnRFZGl0YWJsZSJ9LHByb3A6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG8sYT1lLm5vZGVUeXBlCjtpZihlJiYzIT09YSYmOCE9PWEmJjIhPT1hKXJldHVybigxIT09YXx8IWkuaXNYTUxEb2MoZSkpJiYodD1pLnByb3BGaXhbdF18fHQsbz1pLnByb3BIb29rc1t0XSksdm9pZCAwIT09bj9vJiYic2V0ImluIG8mJnZvaWQgMCE9PShyPW8uc2V0KGUsbix0KSk/cjplW3RdPW46byYmImdldCJpbiBvJiZudWxsIT09KHI9by5nZXQoZSx0KSk/cjplW3RdfSxwcm9wSG9va3M6e3RhYkluZGV4OntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGVOb2RlKCJ0YWJpbmRleCIpO3JldHVybiB0JiZ0LnNwZWNpZmllZD9wYXJzZUludCh0LnZhbHVlLDEwKTpiLnRlc3QoZS5ub2RlTmFtZSl8fHgudGVzdChlLm5vZGVOYW1lKSYmZS5ocmVmPzA6dm9pZCAwfX19fSksaS5hdHRySG9va3MudGFiaW5kZXg9aS5wcm9wSG9va3MudGFiSW5kZXgscD17Z2V0OmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1pLnByb3AoZSx0KTtyZXR1cm4hMD09PXJ8fCJib29sZWFuIiE9dHlwZW9mIHImJihuPWUuZ2V0QXR0cmlidXRlTm9kZSh0KSkmJiExIT09bi5ub2RlVmFsdWU/dC50b0xvd2VyQ2FzZSgpOnZvaWQgMH0sc2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtyZXR1cm4hMT09PXQ/aS5yZW1vdmVBdHRyKGUsbik6KChyPWkucHJvcEZpeFtuXXx8bilpbiBlJiYoZVtyXT0hMCksZS5zZXRBdHRyaWJ1dGUobixuLnRvTG93ZXJDYXNlKCkpKSxufX0sVHx8KGg9e25hbWU6ITAsaWQ6ITAsY29vcmRzOiEwfSxkPWkudmFsSG9va3MuYnV0dG9uPXtnZXQ6ZnVuY3Rpb24oZSx0KXt2YXIgbjtyZXR1cm4obj1lLmdldEF0dHJpYnV0ZU5vZGUodCkpJiYoaFt0XT8iIiE9PW4ubm9kZVZhbHVlOm4uc3BlY2lmaWVkKT9uLm5vZGVWYWx1ZTp2b2lkIDB9LHNldDpmdW5jdGlvbihlLG4scil7dmFyIGk9ZS5nZXRBdHRyaWJ1dGVOb2RlKHIpO3JldHVybiBpfHwoaT10LmNyZWF0ZUF0dHJpYnV0ZShyKSxlLnNldEF0dHJpYnV0ZU5vZGUoaSkpLGkubm9kZVZhbHVlPW4rIiJ9fSxpLmF0dHJIb29rcy50YWJpbmRleC5zZXQ9ZC5zZXQsaS5lYWNoKFsid2lkdGgiLCJoZWlnaHQiXSwoZnVuY3Rpb24oZSx0KXtpLmF0dHJIb29rc1t0XT1pLmV4dGVuZChpLmF0dHJIb29rc1t0XSx7c2V0OmZ1bmN0aW9uKGUsbil7aWYoIiI9PT1uKXJldHVybiBlLnNldEF0dHJpYnV0ZSh0LCJhdXRvIiksbn19KX0pKSxpLmF0dHJIb29rcy5jb250ZW50ZWRpdGFibGU9e2dldDpkLmdldCxzZXQ6ZnVuY3Rpb24oZSx0LG4peyIiPT09dCYmKHQ9ImZhbHNlIiksZC5zZXQoZSx0LG4pfX0pLGkuc3VwcG9ydC5ocmVmTm9ybWFsaXplZHx8aS5lYWNoKFsiaHJlZiIsInNyYyIsIndpZHRoIiwiaGVpZ2h0Il0sKGZ1bmN0aW9uKGUsdCl7aS5hdHRySG9va3NbdF09aS5leHRlbmQoaS5hdHRySG9va3NbdF0se2dldDpmdW5jdGlvbihlKXt2YXIgbj1lLmdldEF0dHJpYnV0ZSh0LDIpO3JldHVybiBudWxsPT09bj92b2lkIDA6bn19KX0pKSxpLnN1cHBvcnQuc3R5bGV8fChpLmF0dHJIb29rcy5zdHlsZT17Z2V0OmZ1bmN0aW9uKGUpe3JldHVybiBlLnN0eWxlLmNzc1RleHQudG9Mb3dlckNhc2UoKXx8dm9pZCAwfSxzZXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5zdHlsZS5jc3NUZXh0PSIiK3R9fSksaS5zdXBwb3J0Lm9wdFNlbGVjdGVkfHwoaS5wcm9wSG9va3Muc2VsZWN0ZWQ9aS5leHRlbmQoaS5wcm9wSG9va3Muc2VsZWN0ZWQse2dldDpmdW5jdGlvbihlKXt2YXIgdD1lLnBhcmVudE5vZGU7cmV0dXJuIHQmJih0LnNlbGVjdGVkSW5kZXgsdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH19KSksaS5zdXBwb3J0LmVuY3R5cGV8fChpLnByb3BGaXguZW5jdHlwZT0iZW5jb2RpbmciKSxpLnN1cHBvcnQuY2hlY2tPbnx8aS5lYWNoKFsicmFkaW8iLCJjaGVja2JveCJdLChmdW5jdGlvbigpe2kudmFsSG9va3NbdGhpc109e2dldDpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWUuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPyJvbiI6ZS52YWx1ZX19fSkpLGkuZWFjaChbInJhZGlvIiwiY2hlY2tib3giXSwoZnVuY3Rpb24oKXtpLnZhbEhvb2tzW3RoaXNdPWkuZXh0ZW5kKGkudmFsSG9va3NbdGhpc10se3NldDpmdW5jdGlvbihlLHQpe2lmKGkuaXNBcnJheSh0KSlyZXR1cm4gZS5jaGVja2VkPWkuaW5BcnJheShpKGUpLnZhbCgpLHQpPj0wfX0pfSkpO3ZhciBOPS9eKD86dGV4dGFyZWF8aW5wdXR8c2VsZWN0KSQvaSxDPS9eKFteXC5dKik/KD86XC4oLispKT8kLyxTPS8oPzpefFxzKWhvdmVyKFwuXFMrKT9cYi8saz0vXmtleS8sRT0vXig/Om1vdXNlfGNvbnRleHRtZW51KXxjbGljay8sQT0vXig/OmZvY3VzaW5mb2N1c3xmb2N1c291dGJsdXIpJC8sRD0vXihcdyopKD86IyhbXHdcLV0rKSk/KD86XC4oW1x3XC1dKykpPyQvLEw9ZnVuY3Rpb24oZSl7dmFyIHQ9RC5leGVjKGUpO3JldHVybiB0JiYodFsxXT0odFsxXXx8IiIpLnRvTG93ZXJDYXNlKCksdFszXT10WzNdJiZuZXcgUmVnRXhwKCIoPzpefFxccykiK3RbM10rIig/Olxcc3wkKSIpKSx0fSxGPWZ1bmN0aW9uKGUpe3JldHVybiBpLmV2ZW50LnNwZWNpYWwuaG92ZXI/ZTplLnJlcGxhY2UoUywibW91c2VlbnRlciQxIG1vdXNlbGVhdmUkMSIpfTtmdW5jdGlvbiBqKCl7cmV0dXJuITF9ZnVuY3Rpb24gXygpe3JldHVybiEwfWkuZXZlbnQ9e2FkZDpmdW5jdGlvbihlLHQsbixyLG8pe3ZhciBhLHMsbCx1LGMsZixkLHAsaCxtLGc7aWYoMyE9PWUubm9kZVR5cGUmJjghPT1lLm5vZGVUeXBlJiZ0JiZuJiYoYT1pLl9kYXRhKGUpKSl7Zm9yKG4uaGFuZGxlciYmKG49KGg9bikuaGFuZGxlcixvPWguc2VsZWN0b3IpLG4uZ3VpZHx8KG4uZ3VpZD1pLmd1aWQrKyksKGw9YS5ldmVudHMpfHwoYS5ldmVudHM9bD17fSksKHM9YS5oYW5kbGUpfHwoYS5oYW5kbGU9cz1mdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09aXx8ZSYmaS5ldmVudC50cmlnZ2VyZWQ9PT1lLnR5cGU/dm9pZCAwOmkuZXZlbnQuZGlzcGF0Y2guYXBwbHkocy5lbGVtLGFyZ3VtZW50cyl9LHMuZWxlbT1lKSx0PWkudHJpbShGKHQpKS5zcGxpdCgiICIpLHU9MDt1PHQubGVuZ3RoO3UrKylmPShjPUMuZXhlYyh0W3VdKXx8W10pWzFdLApkPShjWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksZz1pLmV2ZW50LnNwZWNpYWxbZl18fHt9LGY9KG8/Zy5kZWxlZ2F0ZVR5cGU6Zy5iaW5kVHlwZSl8fGYsZz1pLmV2ZW50LnNwZWNpYWxbZl18fHt9LHA9aS5leHRlbmQoe3R5cGU6ZixvcmlnVHlwZTpjWzFdLGRhdGE6cixoYW5kbGVyOm4sZ3VpZDpuLmd1aWQsc2VsZWN0b3I6byxxdWljazpvJiZMKG8pLG5hbWVzcGFjZTpkLmpvaW4oIi4iKX0saCksKG09bFtmXSl8fCgobT1sW2ZdPVtdKS5kZWxlZ2F0ZUNvdW50PTAsZy5zZXR1cCYmITEhPT1nLnNldHVwLmNhbGwoZSxyLGQscyl8fChlLmFkZEV2ZW50TGlzdGVuZXI/ZS5hZGRFdmVudExpc3RlbmVyKGYscywhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib24iK2YscykpKSxnLmFkZCYmKGcuYWRkLmNhbGwoZSxwKSxwLmhhbmRsZXIuZ3VpZHx8KHAuaGFuZGxlci5ndWlkPW4uZ3VpZCkpLG8/bS5zcGxpY2UobS5kZWxlZ2F0ZUNvdW50KyssMCxwKTptLnB1c2gocCksaS5ldmVudC5nbG9iYWxbZl09ITA7ZT1udWxsfX0sZ2xvYmFsOnt9LHJlbW92ZTpmdW5jdGlvbihlLHQsbixyLG8pe3ZhciBhLHMsbCx1LGMsZixkLHAsaCxtLGcsdix5PWkuaGFzRGF0YShlKSYmaS5fZGF0YShlKTtpZih5JiYocD15LmV2ZW50cykpe2Zvcih0PWkudHJpbShGKHR8fCIiKSkuc3BsaXQoIiAiKSxhPTA7YTx0Lmxlbmd0aDthKyspaWYobD11PShzPUMuZXhlYyh0W2FdKXx8W10pWzFdLGM9c1syXSxsKXtmb3IoaD1pLmV2ZW50LnNwZWNpYWxbbF18fHt9LGY9KGc9cFtsPShyP2guZGVsZWdhdGVUeXBlOmguYmluZFR5cGUpfHxsXXx8W10pLmxlbmd0aCxjPWM/bmV3IFJlZ0V4cCgiKF58XFwuKSIrYy5zcGxpdCgiLiIpLnNvcnQoKS5qb2luKCJcXC4oPzouKlxcLik/IikrIihcXC58JCkiKTpudWxsLGQ9MDtkPGcubGVuZ3RoO2QrKyl2PWdbZF0sIW8mJnUhPT12Lm9yaWdUeXBlfHxuJiZuLmd1aWQhPT12Lmd1aWR8fGMmJiFjLnRlc3Qodi5uYW1lc3BhY2UpfHxyJiZyIT09di5zZWxlY3RvciYmKCIqKiIhPT1yfHwhdi5zZWxlY3Rvcil8fChnLnNwbGljZShkLS0sMSksdi5zZWxlY3RvciYmZy5kZWxlZ2F0ZUNvdW50LS0saC5yZW1vdmUmJmgucmVtb3ZlLmNhbGwoZSx2KSk7MD09PWcubGVuZ3RoJiZmIT09Zy5sZW5ndGgmJihoLnRlYXJkb3duJiYhMSE9PWgudGVhcmRvd24uY2FsbChlLGMpfHxpLnJlbW92ZUV2ZW50KGUsbCx5LmhhbmRsZSksZGVsZXRlIHBbbF0pfWVsc2UgZm9yKGwgaW4gcClpLmV2ZW50LnJlbW92ZShlLGwrdFthXSxuLHIsITApO2kuaXNFbXB0eU9iamVjdChwKSYmKChtPXkuaGFuZGxlKSYmKG0uZWxlbT1udWxsKSxpLnJlbW92ZURhdGEoZSxbImV2ZW50cyIsImhhbmRsZSJdLCEwKSl9fSxjdXN0b21FdmVudDp7Z2V0RGF0YTohMCxzZXREYXRhOiEwLGNoYW5nZURhdGE6ITB9LHRyaWdnZXI6ZnVuY3Rpb24oZSx0LG4scil7aWYoIW58fDMhPT1uLm5vZGVUeXBlJiY4IT09bi5ub2RlVHlwZSl7dmFyIG8sYSxzLGwsdSxjLGYsZCxwLGgsbT1lLnR5cGV8fGUsZz1bXTtpZighQS50ZXN0KG0raS5ldmVudC50cmlnZ2VyZWQpJiYobS5pbmRleE9mKCIhIik+PTAmJihtPW0uc2xpY2UoMCwtMSksYT0hMCksbS5pbmRleE9mKCIuIik+PTAmJihnPW0uc3BsaXQoIi4iKSxtPWcuc2hpZnQoKSxnLnNvcnQoKSksbiYmIWkuZXZlbnQuY3VzdG9tRXZlbnRbbV18fGkuZXZlbnQuZ2xvYmFsW21dKSlpZigoZT0ib2JqZWN0Ij09dHlwZW9mIGU/ZVtpLmV4cGFuZG9dP2U6bmV3IGkuRXZlbnQobSxlKTpuZXcgaS5FdmVudChtKSkudHlwZT1tLGUuaXNUcmlnZ2VyPSEwLGUuZXhjbHVzaXZlPWEsZS5uYW1lc3BhY2U9Zy5qb2luKCIuIiksZS5uYW1lc3BhY2VfcmU9ZS5uYW1lc3BhY2U/bmV3IFJlZ0V4cCgiKF58XFwuKSIrZy5qb2luKCJcXC4oPzouKlxcLik/IikrIihcXC58JCkiKTpudWxsLGM9bS5pbmRleE9mKCI6Iik8MD8ib24iK206IiIsbil7aWYoZS5yZXN1bHQ9dm9pZCAwLGUudGFyZ2V0fHwoZS50YXJnZXQ9biksKHQ9bnVsbCE9dD9pLm1ha2VBcnJheSh0KTpbXSkudW5zaGlmdChlKSwhKGY9aS5ldmVudC5zcGVjaWFsW21dfHx7fSkudHJpZ2dlcnx8ITEhPT1mLnRyaWdnZXIuYXBwbHkobix0KSl7aWYocD1bW24sZi5iaW5kVHlwZXx8bV1dLCFyJiYhZi5ub0J1YmJsZSYmIWkuaXNXaW5kb3cobikpe2ZvcihoPWYuZGVsZWdhdGVUeXBlfHxtLGw9QS50ZXN0KGgrbSk/bjpuLnBhcmVudE5vZGUsdT1udWxsO2w7bD1sLnBhcmVudE5vZGUpcC5wdXNoKFtsLGhdKSx1PWw7dSYmdT09PW4ub3duZXJEb2N1bWVudCYmcC5wdXNoKFt1LmRlZmF1bHRWaWV3fHx1LnBhcmVudFdpbmRvd3x8d2luZG93LGhdKX1mb3Iocz0wO3M8cC5sZW5ndGgmJiFlLmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7cysrKWw9cFtzXVswXSxlLnR5cGU9cFtzXVsxXSwoZD0oaS5fZGF0YShsLCJldmVudHMiKXx8e30pW2UudHlwZV0mJmkuX2RhdGEobCwiaGFuZGxlIikpJiZkLmFwcGx5KGwsdCksKGQ9YyYmbFtjXSkmJmkuYWNjZXB0RGF0YShsKSYmITE9PT1kLmFwcGx5KGwsdCkmJmUucHJldmVudERlZmF1bHQoKTtyZXR1cm4gZS50eXBlPW0scnx8ZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8Zi5fZGVmYXVsdCYmITEhPT1mLl9kZWZhdWx0LmFwcGx5KG4ub3duZXJEb2N1bWVudCx0KXx8ImNsaWNrIj09PW0mJmkubm9kZU5hbWUobiwiYSIpfHwhaS5hY2NlcHREYXRhKG4pfHxjJiZuW21dJiYoImZvY3VzIiE9PW0mJiJibHVyIiE9PW18fDAhPT1lLnRhcmdldC5vZmZzZXRXaWR0aCkmJiFpLmlzV2luZG93KG4pJiYoKHU9bltjXSkmJihuW2NdPW51bGwpLGkuZXZlbnQudHJpZ2dlcmVkPW0sblttXSgpLGkuZXZlbnQudHJpZ2dlcmVkPXZvaWQgMCx1JiYobltjXT11KSksZS5yZXN1bHR9fWVsc2UgZm9yKHMgaW4gbz1pLmNhY2hlKW9bc10uZXZlbnRzJiZvW3NdLmV2ZW50c1ttXSYmaS5ldmVudC50cmlnZ2VyKGUsdCxvW3NdLmhhbmRsZS5lbGVtLCEwKX19LGRpc3BhdGNoOmZ1bmN0aW9uKGUpe2U9aS5ldmVudC5maXgoZXx8d2luZG93LmV2ZW50KQo7dmFyIHQsbixyLG8sYSxzLGwsdSxjLGYsZD0oaS5fZGF0YSh0aGlzLCJldmVudHMiKXx8e30pW2UudHlwZV18fFtdLHA9ZC5kZWxlZ2F0ZUNvdW50LGg9W10uc2xpY2UuY2FsbChhcmd1bWVudHMsMCksbT0hZS5leGNsdXNpdmUmJiFlLm5hbWVzcGFjZSxnPWkuZXZlbnQuc3BlY2lhbFtlLnR5cGVdfHx7fSx2PVtdO2lmKGhbMF09ZSxlLmRlbGVnYXRlVGFyZ2V0PXRoaXMsIWcucHJlRGlzcGF0Y2h8fCExIT09Zy5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsZSkpe2lmKHAmJighZS5idXR0b258fCJjbGljayIhPT1lLnR5cGUpKWZvcigobz1pKHRoaXMpKS5jb250ZXh0PXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxyPWUudGFyZ2V0O3IhPXRoaXM7cj1yLnBhcmVudE5vZGV8fHRoaXMpaWYoITAhPT1yLmRpc2FibGVkKXtmb3Iocz17fSx1PVtdLG9bMF09cix0PTA7dDxwO3QrKyl2b2lkIDA9PT1zW2Y9KGM9ZFt0XSkuc2VsZWN0b3JdJiYoc1tmXT1jLnF1aWNrPyh5PXIsYj1jLnF1aWNrLHg9dm9pZCAwLHg9eS5hdHRyaWJ1dGVzfHx7fSwoIWJbMV18fHkubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWJbMV0pJiYoIWJbMl18fCh4LmlkfHx7fSkudmFsdWU9PT1iWzJdKSYmKCFiWzNdfHxiWzNdLnRlc3QoKHguY2xhc3N8fHt9KS52YWx1ZSkpKTpvLmlzKGYpKSxzW2ZdJiZ1LnB1c2goYyk7dS5sZW5ndGgmJnYucHVzaCh7ZWxlbTpyLG1hdGNoZXM6dX0pfXZhciB5LGIseDtmb3IoZC5sZW5ndGg+cCYmdi5wdXNoKHtlbGVtOnRoaXMsbWF0Y2hlczpkLnNsaWNlKHApfSksdD0wO3Q8di5sZW5ndGgmJiFlLmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7dCsrKWZvcihsPXZbdF0sZS5jdXJyZW50VGFyZ2V0PWwuZWxlbSxuPTA7bjxsLm1hdGNoZXMubGVuZ3RoJiYhZS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpO24rKyljPWwubWF0Y2hlc1tuXSwobXx8IWUubmFtZXNwYWNlJiYhYy5uYW1lc3BhY2V8fGUubmFtZXNwYWNlX3JlJiZlLm5hbWVzcGFjZV9yZS50ZXN0KGMubmFtZXNwYWNlKSkmJihlLmRhdGE9Yy5kYXRhLGUuaGFuZGxlT2JqPWMsdm9pZCAwIT09KGE9KChpLmV2ZW50LnNwZWNpYWxbYy5vcmlnVHlwZV18fHt9KS5oYW5kbGV8fGMuaGFuZGxlcikuYXBwbHkobC5lbGVtLGgpKSYmKGUucmVzdWx0PWEsITE9PT1hJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCkpKSk7cmV0dXJuIGcucG9zdERpc3BhdGNoJiZnLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsZSksZS5yZXN1bHR9fSxwcm9wczoiYXR0ckNoYW5nZSBhdHRyTmFtZSByZWxhdGVkTm9kZSBzcmNFbGVtZW50IGFsdEtleSBidWJibGVzIGNhbmNlbGFibGUgY3RybEtleSBjdXJyZW50VGFyZ2V0IGV2ZW50UGhhc2UgbWV0YUtleSByZWxhdGVkVGFyZ2V0IHNoaWZ0S2V5IHRhcmdldCB0aW1lU3RhbXAgdmlldyB3aGljaCIuc3BsaXQoIiAiKSxmaXhIb29rczp7fSxrZXlIb29rczp7cHJvcHM6ImNoYXIgY2hhckNvZGUga2V5IGtleUNvZGUiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG51bGw9PWUud2hpY2gmJihlLndoaWNoPW51bGwhPXQuY2hhckNvZGU/dC5jaGFyQ29kZTp0LmtleUNvZGUpLGV9fSxtb3VzZUhvb2tzOntwcm9wczoiYnV0dG9uIGJ1dHRvbnMgY2xpZW50WCBjbGllbnRZIGZyb21FbGVtZW50IG9mZnNldFggb2Zmc2V0WSBwYWdlWCBwYWdlWSBzY3JlZW5YIHNjcmVlblkgdG9FbGVtZW50Ii5zcGxpdCgiICIpLGZpbHRlcjpmdW5jdGlvbihlLG4pe3ZhciByLGksbyxhPW4uYnV0dG9uLHM9bi5mcm9tRWxlbWVudDtyZXR1cm4gbnVsbD09ZS5wYWdlWCYmbnVsbCE9bi5jbGllbnRYJiYoaT0ocj1lLnRhcmdldC5vd25lckRvY3VtZW50fHx0KS5kb2N1bWVudEVsZW1lbnQsbz1yLmJvZHksZS5wYWdlWD1uLmNsaWVudFgrKGkmJmkuc2Nyb2xsTGVmdHx8byYmby5zY3JvbGxMZWZ0fHwwKS0oaSYmaS5jbGllbnRMZWZ0fHxvJiZvLmNsaWVudExlZnR8fDApLGUucGFnZVk9bi5jbGllbnRZKyhpJiZpLnNjcm9sbFRvcHx8byYmby5zY3JvbGxUb3B8fDApLShpJiZpLmNsaWVudFRvcHx8byYmby5jbGllbnRUb3B8fDApKSwhZS5yZWxhdGVkVGFyZ2V0JiZzJiYoZS5yZWxhdGVkVGFyZ2V0PXM9PT1lLnRhcmdldD9uLnRvRWxlbWVudDpzKSxlLndoaWNofHx2b2lkIDA9PT1hfHwoZS53aGljaD0xJmE/MToyJmE/Mzo0JmE/MjowKSxlfX0sZml4OmZ1bmN0aW9uKGUpe2lmKGVbaS5leHBhbmRvXSlyZXR1cm4gZTt2YXIgbixyLG89ZSxhPWkuZXZlbnQuZml4SG9va3NbZS50eXBlXXx8e30scz1hLnByb3BzP3RoaXMucHJvcHMuY29uY2F0KGEucHJvcHMpOnRoaXMucHJvcHM7Zm9yKGU9aS5FdmVudChvKSxuPXMubGVuZ3RoO247KWVbcj1zWy0tbl1dPW9bcl07cmV0dXJuIGUudGFyZ2V0fHwoZS50YXJnZXQ9by5zcmNFbGVtZW50fHx0KSwzPT09ZS50YXJnZXQubm9kZVR5cGUmJihlLnRhcmdldD1lLnRhcmdldC5wYXJlbnROb2RlKSx2b2lkIDA9PT1lLm1ldGFLZXkmJihlLm1ldGFLZXk9ZS5jdHJsS2V5KSxhLmZpbHRlcj9hLmZpbHRlcihlLG8pOmV9LHNwZWNpYWw6e3JlYWR5OntzZXR1cDppLmJpbmRSZWFkeX0sbG9hZDp7bm9CdWJibGU6ITB9LGZvY3VzOntkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4ifSxibHVyOntkZWxlZ2F0ZVR5cGU6ImZvY3Vzb3V0In0sYmVmb3JldW5sb2FkOntzZXR1cDpmdW5jdGlvbihlLHQsbil7aS5pc1dpbmRvdyh0aGlzKSYmKHRoaXMub25iZWZvcmV1bmxvYWQ9bil9LHRlYXJkb3duOmZ1bmN0aW9uKGUsdCl7dGhpcy5vbmJlZm9yZXVubG9hZD09PXQmJih0aGlzLm9uYmVmb3JldW5sb2FkPW51bGwpfX19LHNpbXVsYXRlOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBvPWkuZXh0ZW5kKG5ldyBpLkV2ZW50LG4se3R5cGU6ZSxpc1NpbXVsYXRlZDohMCxvcmlnaW5hbEV2ZW50Ont9fSk7cj9pLmV2ZW50LnRyaWdnZXIobyxudWxsLHQpOmkuZXZlbnQuZGlzcGF0Y2guY2FsbCh0LG8pLG8uaXNEZWZhdWx0UHJldmVudGVkKCkmJm4ucHJldmVudERlZmF1bHQoKX19LGkuZXZlbnQuaGFuZGxlPWkuZXZlbnQuZGlzcGF0Y2gsCmkucmVtb3ZlRXZlbnQ9dC5yZW1vdmVFdmVudExpc3RlbmVyP2Z1bmN0aW9uKGUsdCxuKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXImJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4sITEpfTpmdW5jdGlvbihlLHQsbil7ZS5kZXRhY2hFdmVudCYmZS5kZXRhY2hFdmVudCgib24iK3Qsbil9LGkuRXZlbnQ9ZnVuY3Rpb24oZSx0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBpLkV2ZW50KSlyZXR1cm4gbmV3IGkuRXZlbnQoZSx0KTtlJiZlLnR5cGU/KHRoaXMub3JpZ2luYWxFdmVudD1lLHRoaXMudHlwZT1lLnR5cGUsdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9ZS5kZWZhdWx0UHJldmVudGVkfHwhMT09PWUucmV0dXJuVmFsdWV8fGUuZ2V0UHJldmVudERlZmF1bHQmJmUuZ2V0UHJldmVudERlZmF1bHQoKT9fOmopOnRoaXMudHlwZT1lLHQmJmkuZXh0ZW5kKHRoaXMsdCksdGhpcy50aW1lU3RhbXA9ZSYmZS50aW1lU3RhbXB8fGkubm93KCksdGhpc1tpLmV4cGFuZG9dPSEwfSxpLkV2ZW50LnByb3RvdHlwZT17cHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1fO3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDtlJiYoZS5wcmV2ZW50RGVmYXVsdD9lLnByZXZlbnREZWZhdWx0KCk6ZS5yZXR1cm5WYWx1ZT0hMSl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9Xzt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uJiZlLnN0b3BQcm9wYWdhdGlvbigpLGUuY2FuY2VsQnViYmxlPSEwKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1fLHRoaXMuc3RvcFByb3BhZ2F0aW9uKCl9LGlzRGVmYXVsdFByZXZlbnRlZDpqLGlzUHJvcGFnYXRpb25TdG9wcGVkOmosaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6an0saS5lYWNoKHttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0In0sKGZ1bmN0aW9uKGUsdCl7aS5ldmVudC5zcGVjaWFsW2VdPXtkZWxlZ2F0ZVR5cGU6dCxiaW5kVHlwZTp0LGhhbmRsZTpmdW5jdGlvbihlKXt2YXIgbixyPWUucmVsYXRlZFRhcmdldCxvPWUuaGFuZGxlT2JqO28uc2VsZWN0b3I7cmV0dXJuIHImJihyPT09dGhpc3x8aS5jb250YWlucyh0aGlzLHIpKXx8KGUudHlwZT1vLm9yaWdUeXBlLG49by5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxlLnR5cGU9dCksbn19fSkpLGkuc3VwcG9ydC5zdWJtaXRCdWJibGVzfHwoaS5ldmVudC5zcGVjaWFsLnN1Ym1pdD17c2V0dXA6ZnVuY3Rpb24oKXtpZihpLm5vZGVOYW1lKHRoaXMsImZvcm0iKSlyZXR1cm4hMTtpLmV2ZW50LmFkZCh0aGlzLCJjbGljay5fc3VibWl0IGtleXByZXNzLl9zdWJtaXQiLChmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldCxuPWkubm9kZU5hbWUodCwiaW5wdXQiKXx8aS5ub2RlTmFtZSh0LCJidXR0b24iKT90LmZvcm06dm9pZCAwO24mJiFuLl9zdWJtaXRfYXR0YWNoZWQmJihpLmV2ZW50LmFkZChuLCJzdWJtaXQuX3N1Ym1pdCIsKGZ1bmN0aW9uKGUpe2UuX3N1Ym1pdF9idWJibGU9ITB9KSksbi5fc3VibWl0X2F0dGFjaGVkPSEwKX0pKX0scG9zdERpc3BhdGNoOmZ1bmN0aW9uKGUpe2UuX3N1Ym1pdF9idWJibGUmJihkZWxldGUgZS5fc3VibWl0X2J1YmJsZSx0aGlzLnBhcmVudE5vZGUmJiFlLmlzVHJpZ2dlciYmaS5ldmVudC5zaW11bGF0ZSgic3VibWl0Iix0aGlzLnBhcmVudE5vZGUsZSwhMCkpfSx0ZWFyZG93bjpmdW5jdGlvbigpe2lmKGkubm9kZU5hbWUodGhpcywiZm9ybSIpKXJldHVybiExO2kuZXZlbnQucmVtb3ZlKHRoaXMsIi5fc3VibWl0Iil9fSksaS5zdXBwb3J0LmNoYW5nZUJ1YmJsZXN8fChpLmV2ZW50LnNwZWNpYWwuY2hhbmdlPXtzZXR1cDpmdW5jdGlvbigpe2lmKE4udGVzdCh0aGlzLm5vZGVOYW1lKSlyZXR1cm4iY2hlY2tib3giIT09dGhpcy50eXBlJiYicmFkaW8iIT09dGhpcy50eXBlfHwoaS5ldmVudC5hZGQodGhpcywicHJvcGVydHljaGFuZ2UuX2NoYW5nZSIsKGZ1bmN0aW9uKGUpeyJjaGVja2VkIj09PWUub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUmJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITApfSkpLGkuZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9jaGFuZ2UiLChmdW5jdGlvbihlKXt0aGlzLl9qdXN0X2NoYW5nZWQmJiFlLmlzVHJpZ2dlciYmKHRoaXMuX2p1c3RfY2hhbmdlZD0hMSxpLmV2ZW50LnNpbXVsYXRlKCJjaGFuZ2UiLHRoaXMsZSwhMCkpfSkpKSwhMTtpLmV2ZW50LmFkZCh0aGlzLCJiZWZvcmVhY3RpdmF0ZS5fY2hhbmdlIiwoZnVuY3Rpb24oZSl7dmFyIHQ9ZS50YXJnZXQ7Ti50ZXN0KHQubm9kZU5hbWUpJiYhdC5fY2hhbmdlX2F0dGFjaGVkJiYoaS5ldmVudC5hZGQodCwiY2hhbmdlLl9jaGFuZ2UiLChmdW5jdGlvbihlKXshdGhpcy5wYXJlbnROb2RlfHxlLmlzU2ltdWxhdGVkfHxlLmlzVHJpZ2dlcnx8aS5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIix0aGlzLnBhcmVudE5vZGUsZSwhMCl9KSksdC5fY2hhbmdlX2F0dGFjaGVkPSEwKX0pKX0saGFuZGxlOmZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O2lmKHRoaXMhPT10fHxlLmlzU2ltdWxhdGVkfHxlLmlzVHJpZ2dlcnx8InJhZGlvIiE9PXQudHlwZSYmImNoZWNrYm94IiE9PXQudHlwZSlyZXR1cm4gZS5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIGkuZXZlbnQucmVtb3ZlKHRoaXMsIi5fY2hhbmdlIiksTi50ZXN0KHRoaXMubm9kZU5hbWUpfX0pLGkuc3VwcG9ydC5mb2N1c2luQnViYmxlc3x8aS5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSwoZnVuY3Rpb24oZSxuKXt2YXIgcj0wLG89ZnVuY3Rpb24oZSl7aS5ldmVudC5zaW11bGF0ZShuLGUudGFyZ2V0LGkuZXZlbnQuZml4KGUpLCEwKX07aS5ldmVudC5zcGVjaWFsW25dPXtzZXR1cDpmdW5jdGlvbigpezA9PXIrKyYmdC5hZGRFdmVudExpc3RlbmVyKGUsbywhMCl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7CjA9PS0tciYmdC5yZW1vdmVFdmVudExpc3RlbmVyKGUsbywhMCl9fX0pKSxpLmZuLmV4dGVuZCh7b246ZnVuY3Rpb24oZSx0LG4scixvKXt2YXIgYSxzO2lmKCJvYmplY3QiPT10eXBlb2YgZSl7Zm9yKHMgaW4ic3RyaW5nIiE9dHlwZW9mIHQmJihuPW58fHQsdD12b2lkIDApLGUpdGhpcy5vbihzLHQsbixlW3NdLG8pO3JldHVybiB0aGlzfWlmKG51bGw9PW4mJm51bGw9PXI/KHI9dCxuPXQ9dm9pZCAwKTpudWxsPT1yJiYoInN0cmluZyI9PXR5cGVvZiB0PyhyPW4sbj12b2lkIDApOihyPW4sbj10LHQ9dm9pZCAwKSksITE9PT1yKXI9ajtlbHNlIGlmKCFyKXJldHVybiB0aGlzO3JldHVybiAxPT09byYmKGE9cixyPWZ1bmN0aW9uKGUpe3JldHVybiBpKCkub2ZmKGUpLGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxyLmd1aWQ9YS5ndWlkfHwoYS5ndWlkPWkuZ3VpZCsrKSksdGhpcy5lYWNoKChmdW5jdGlvbigpe2kuZXZlbnQuYWRkKHRoaXMsZSxyLG4sdCl9KSl9LG9uZTpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gdGhpcy5vbihlLHQsbixyLDEpfSxvZmY6ZnVuY3Rpb24oZSx0LG4pe2lmKGUmJmUucHJldmVudERlZmF1bHQmJmUuaGFuZGxlT2JqKXt2YXIgcj1lLmhhbmRsZU9iajtyZXR1cm4gaShlLmRlbGVnYXRlVGFyZ2V0KS5vZmYoci5uYW1lc3BhY2U/ci5vcmlnVHlwZSsiLiIrci5uYW1lc3BhY2U6ci5vcmlnVHlwZSxyLnNlbGVjdG9yLHIuaGFuZGxlciksdGhpc31pZigib2JqZWN0Ij09dHlwZW9mIGUpe2Zvcih2YXIgbyBpbiBlKXRoaXMub2ZmKG8sdCxlW29dKTtyZXR1cm4gdGhpc31yZXR1cm4hMSE9PXQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0fHwobj10LHQ9dm9pZCAwKSwhMT09PW4mJihuPWopLHRoaXMuZWFjaCgoZnVuY3Rpb24oKXtpLmV2ZW50LnJlbW92ZSh0aGlzLGUsbix0KX0pKX0sYmluZDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMub24oZSxudWxsLHQsbil9LHVuYmluZDpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm9mZihlLG51bGwsdCl9LGxpdmU6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBpKHRoaXMuY29udGV4dCkub24oZSx0aGlzLnNlbGVjdG9yLHQsbiksdGhpc30sZGllOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkodGhpcy5jb250ZXh0KS5vZmYoZSx0aGlzLnNlbGVjdG9yfHwiKioiLHQpLHRoaXN9LGRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0aGlzLm9uKHQsZSxuLHIpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gMT09YXJndW1lbnRzLmxlbmd0aD90aGlzLm9mZihlLCIqKiIpOnRoaXMub2ZmKHQsZSxuKX0sdHJpZ2dlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7aS5ldmVudC50cmlnZ2VyKGUsdCx0aGlzKX0pKX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oZSx0KXtpZih0aGlzWzBdKXJldHVybiBpLmV2ZW50LnRyaWdnZXIoZSx0LHRoaXNbMF0sITApfSx0b2dnbGU6ZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1lbnRzLG49ZS5ndWlkfHxpLmd1aWQrKyxyPTAsbz1mdW5jdGlvbihuKXt2YXIgbz0oaS5fZGF0YSh0aGlzLCJsYXN0VG9nZ2xlIitlLmd1aWQpfHwwKSVyO3JldHVybiBpLl9kYXRhKHRoaXMsImxhc3RUb2dnbGUiK2UuZ3VpZCxvKzEpLG4ucHJldmVudERlZmF1bHQoKSx0W29dLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8ITF9O2ZvcihvLmd1aWQ9bjtyPHQubGVuZ3RoOyl0W3IrK10uZ3VpZD1uO3JldHVybiB0aGlzLmNsaWNrKG8pfSxob3ZlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm1vdXNlZW50ZXIoZSkubW91c2VsZWF2ZSh0fHxlKX19KSxpLmVhY2goImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCBsb2FkIHJlc2l6ZSBzY3JvbGwgdW5sb2FkIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgZXJyb3IgY29udGV4dG1lbnUiLnNwbGl0KCIgIiksKGZ1bmN0aW9uKGUsdCl7aS5mblt0XT1mdW5jdGlvbihlLG4pe3JldHVybiBudWxsPT1uJiYobj1lLGU9bnVsbCksYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24odCxudWxsLGUsbik6dGhpcy50cmlnZ2VyKHQpfSxpLmF0dHJGbiYmKGkuYXR0ckZuW3RdPSEwKSxrLnRlc3QodCkmJihpLmV2ZW50LmZpeEhvb2tzW3RdPWkuZXZlbnQua2V5SG9va3MpLEUudGVzdCh0KSYmKGkuZXZlbnQuZml4SG9va3NbdF09aS5ldmVudC5tb3VzZUhvb2tzKX0pKSxmdW5jdGlvbigpe3ZhciBlPS8oKD86XCgoPzpcKFteKCldK1wpfFteKCldKykrXCl8XFsoPzpcW1teXFtcXV0qXF18WyciXVteJyJdKlsnIl18W15cW1xdJyJdKykrXF18XFwufFteID4rfiwoXFtcXF0rKSt8Wz4rfl0pKFxzKixccyopPygoPzoufFxyfFxuKSopL2csbj0ic2l6Y2FjaGUiKyhNYXRoLnJhbmRvbSgpKyIiKS5yZXBsYWNlKCIuIiwiIikscj0wLG89T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxhPSExLHM9ITAsbD0vXFwvZyx1PS9cclxuL2csYz0vXFcvO1swLDBdLnNvcnQoKGZ1bmN0aW9uKCl7cmV0dXJuIHM9ITEsMH0pKTt2YXIgZj1mdW5jdGlvbihuLHIsaSxhKXtpPWl8fFtdO3ZhciBzPXI9cnx8dDtpZigxIT09ci5ub2RlVHlwZSYmOSE9PXIubm9kZVR5cGUpcmV0dXJuW107aWYoIW58fCJzdHJpbmciIT10eXBlb2YgbilyZXR1cm4gaTt2YXIgbCx1LGMsZCxtLGcsdix5LGI9ITAsdz1mLmlzWE1MKHIpLFQ9W10sQz1uO2Rve2lmKGUuZXhlYygiIiksKGw9ZS5leGVjKEMpKSYmKEM9bFszXSxULnB1c2gobFsxXSksbFsyXSkpe2Q9bFszXTticmVha319d2hpbGUobCk7aWYoVC5sZW5ndGg+MSYmaC5leGVjKG4pKWlmKDI9PT1ULmxlbmd0aCYmcC5yZWxhdGl2ZVtUWzBdXSl1PU4oVFswXStUWzFdLHIsYSk7ZWxzZSBmb3IodT1wLnJlbGF0aXZlW1RbMF1dP1tyXTpmKFQuc2hpZnQoKSxyKTtULmxlbmd0aDspbj1ULnNoaWZ0KCkscC5yZWxhdGl2ZVtuXSYmKG4rPVQuc2hpZnQoKSksCnU9TihuLHUsYSk7ZWxzZSBpZighYSYmVC5sZW5ndGg+MSYmOT09PXIubm9kZVR5cGUmJiF3JiZwLm1hdGNoLklELnRlc3QoVFswXSkmJiFwLm1hdGNoLklELnRlc3QoVFtULmxlbmd0aC0xXSkmJihyPShtPWYuZmluZChULnNoaWZ0KCkscix3KSkuZXhwcj9mLmZpbHRlcihtLmV4cHIsbS5zZXQpWzBdOm0uc2V0WzBdKSxyKWZvcih1PShtPWE/e2V4cHI6VC5wb3AoKSxzZXQ6eChhKX06Zi5maW5kKFQucG9wKCksMSE9PVQubGVuZ3RofHwifiIhPT1UWzBdJiYiKyIhPT1UWzBdfHwhci5wYXJlbnROb2RlP3I6ci5wYXJlbnROb2RlLHcpKS5leHByP2YuZmlsdGVyKG0uZXhwcixtLnNldCk6bS5zZXQsVC5sZW5ndGg+MD9jPXgodSk6Yj0hMTtULmxlbmd0aDspdj1nPVQucG9wKCkscC5yZWxhdGl2ZVtnXT92PVQucG9wKCk6Zz0iIixudWxsPT12JiYodj1yKSxwLnJlbGF0aXZlW2ddKGMsdix3KTtlbHNlIGM9VD1bXTtpZihjfHwoYz11KSxjfHxmLmVycm9yKGd8fG4pLCJbb2JqZWN0IEFycmF5XSI9PT1vLmNhbGwoYykpaWYoYilpZihyJiYxPT09ci5ub2RlVHlwZSlmb3IoeT0wO251bGwhPWNbeV07eSsrKWNbeV0mJighMD09PWNbeV18fDE9PT1jW3ldLm5vZGVUeXBlJiZmLmNvbnRhaW5zKHIsY1t5XSkpJiZpLnB1c2godVt5XSk7ZWxzZSBmb3IoeT0wO251bGwhPWNbeV07eSsrKWNbeV0mJjE9PT1jW3ldLm5vZGVUeXBlJiZpLnB1c2godVt5XSk7ZWxzZSBpLnB1c2guYXBwbHkoaSxjKTtlbHNlIHgoYyxpKTtyZXR1cm4gZCYmKGYoZCxzLGksYSksZi51bmlxdWVTb3J0KGkpKSxpfTtmLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oZSl7aWYodiYmKGE9cyxlLnNvcnQodiksYSkpZm9yKHZhciB0PTE7dDxlLmxlbmd0aDt0KyspZVt0XT09PWVbdC0xXSYmZS5zcGxpY2UodC0tLDEpO3JldHVybiBlfSxmLm1hdGNoZXM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZihlLG51bGwsbnVsbCx0KX0sZi5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZih0LG51bGwsbnVsbCxbZV0pLmxlbmd0aD4wfSxmLmZpbmQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhLHMsdTtpZighZSlyZXR1cm5bXTtmb3IoaT0wLG89cC5vcmRlci5sZW5ndGg7aTxvO2krKylpZihzPXAub3JkZXJbaV0sKGE9cC5sZWZ0TWF0Y2hbc10uZXhlYyhlKSkmJih1PWFbMV0sYS5zcGxpY2UoMSwxKSwiXFwiIT09dS5zdWJzdHIodS5sZW5ndGgtMSkmJihhWzFdPShhWzFdfHwiIikucmVwbGFjZShsLCIiKSxudWxsIT0ocj1wLmZpbmRbc10oYSx0LG4pKSkpKXtlPWUucmVwbGFjZShwLm1hdGNoW3NdLCIiKTticmVha31yZXR1cm4gcnx8KHI9dm9pZCAwIT09dC5nZXRFbGVtZW50c0J5VGFnTmFtZT90LmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIik6W10pLHtzZXQ6cixleHByOmV9fSxmLmZpbHRlcj1mdW5jdGlvbihlLHQsbixyKXtmb3IodmFyIGksbyxhLHMsbCx1LGMsZCxoLG09ZSxnPVtdLHY9dCx5PXQmJnRbMF0mJmYuaXNYTUwodFswXSk7ZSYmdC5sZW5ndGg7KXtmb3IoYSBpbiBwLmZpbHRlcilpZihudWxsIT0oaT1wLmxlZnRNYXRjaFthXS5leGVjKGUpKSYmaVsyXSl7aWYodT1wLmZpbHRlclthXSxjPWlbMV0sbz0hMSxpLnNwbGljZSgxLDEpLCJcXCI9PT1jLnN1YnN0cihjLmxlbmd0aC0xKSljb250aW51ZTtpZih2PT09ZyYmKGc9W10pLHAucHJlRmlsdGVyW2FdKWlmKGk9cC5wcmVGaWx0ZXJbYV0oaSx2LG4sZyxyLHkpKXtpZighMD09PWkpY29udGludWV9ZWxzZSBvPXM9ITA7aWYoaSlmb3IoZD0wO251bGwhPShsPXZbZF0pO2QrKylsJiYoaD1yXihzPXUobCxpLGQsdikpLG4mJm51bGwhPXM/aD9vPSEwOnZbZF09ITE6aCYmKGcucHVzaChsKSxvPSEwKSk7aWYodm9pZCAwIT09cyl7aWYobnx8KHY9ZyksZT1lLnJlcGxhY2UocC5tYXRjaFthXSwiIiksIW8pcmV0dXJuW107YnJlYWt9fWlmKGU9PT1tKXtpZihudWxsIT1vKWJyZWFrO2YuZXJyb3IoZSl9bT1lfXJldHVybiB2fSxmLmVycm9yPWZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIitlKX07dmFyIGQ9Zi5nZXRUZXh0PWZ1bmN0aW9uKGUpe3ZhciB0LG4scj1lLm5vZGVUeXBlLGk9IiI7aWYocil7aWYoMT09PXJ8fDk9PT1yfHwxMT09PXIpe2lmKCJzdHJpbmciPT10eXBlb2YgZS50ZXh0Q29udGVudClyZXR1cm4gZS50ZXh0Q29udGVudDtpZigic3RyaW5nIj09dHlwZW9mIGUuaW5uZXJUZXh0KXJldHVybiBlLmlubmVyVGV4dC5yZXBsYWNlKHUsIiIpO2ZvcihlPWUuZmlyc3RDaGlsZDtlO2U9ZS5uZXh0U2libGluZylpKz1kKGUpfWVsc2UgaWYoMz09PXJ8fDQ9PT1yKXJldHVybiBlLm5vZGVWYWx1ZX1lbHNlIGZvcih0PTA7bj1lW3RdO3QrKyk4IT09bi5ub2RlVHlwZSYmKGkrPWQobikpO3JldHVybiBpfSxwPWYuc2VsZWN0b3JzPXtvcmRlcjpbIklEIiwiTkFNRSIsIlRBRyJdLG1hdGNoOntJRDovIygoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKS8sQ0xBU1M6L1wuKCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspLyxOQU1FOi9cW25hbWU9WyciXSooKD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKylbJyJdKlxdLyxBVFRSOi9cW1xzKigoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKVxzKig/OihcUz89KVxzKig/OihbJyJdKSguKj8pXDN8KCM/KD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKil8KXwpXHMqXF0vLFRBRzovXigoPzpbXHdcdTAwYzAtXHVGRkZGXCpcLV18XFwuKSspLyxDSElMRDovOihvbmx5fG50aHxsYXN0fGZpcnN0KS1jaGlsZCg/OlwoXHMqKGV2ZW58b2RkfCg/OlsrXC1dP1xkK3woPzpbK1wtXT9cZCopP25ccyooPzpbK1wtXVxzKlxkKyk/KSlccypcKSk/LyxQT1M6LzoobnRofGVxfGd0fGx0fGZpcnN0fGxhc3R8ZXZlbnxvZGQpKD86XCgoXGQqKVwpKT8oPz1bXlwtXXwkKS8sUFNFVURPOi86KCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspKD86XCgoWyciXT8pKCg/OlwoW15cKV0rXCl8W15cKFwpXSopKylcMlwpKT8vfSxsZWZ0TWF0Y2g6e30sYXR0ck1hcDp7Y2xhc3M6ImNsYXNzTmFtZSIsZm9yOiJodG1sRm9yIn0sYXR0ckhhbmRsZTp7CmhyZWY6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJocmVmIil9LHR5cGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJ0eXBlIil9fSxyZWxhdGl2ZTp7IisiOmZ1bmN0aW9uKGUsdCl7dmFyIG49InN0cmluZyI9PXR5cGVvZiB0LHI9biYmIWMudGVzdCh0KSxpPW4mJiFyO3ImJih0PXQudG9Mb3dlckNhc2UoKSk7Zm9yKHZhciBvLGE9MCxzPWUubGVuZ3RoO2E8czthKyspaWYobz1lW2FdKXtmb3IoOyhvPW8ucHJldmlvdXNTaWJsaW5nKSYmMSE9PW8ubm9kZVR5cGU7KTtlW2FdPWl8fG8mJm8ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXQ/b3x8ITE6bz09PXR9aSYmZi5maWx0ZXIodCxlLCEwKX0sIj4iOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0ic3RyaW5nIj09dHlwZW9mIHQsaT0wLG89ZS5sZW5ndGg7aWYociYmIWMudGVzdCh0KSl7Zm9yKHQ9dC50b0xvd2VyQ2FzZSgpO2k8bztpKyspaWYobj1lW2ldKXt2YXIgYT1uLnBhcmVudE5vZGU7ZVtpXT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT10JiZhfX1lbHNle2Zvcig7aTxvO2krKykobj1lW2ldKSYmKGVbaV09cj9uLnBhcmVudE5vZGU6bi5wYXJlbnROb2RlPT09dCk7ciYmZi5maWx0ZXIodCxlLCEwKX19LCIiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgaSxvPXIrKyxhPVQ7InN0cmluZyIhPXR5cGVvZiB0fHxjLnRlc3QodCl8fChpPXQ9dC50b0xvd2VyQ2FzZSgpLGE9dyksYSgicGFyZW50Tm9kZSIsdCxvLGUsaSxuKX0sIn4iOmZ1bmN0aW9uKGUsdCxuKXt2YXIgaSxvPXIrKyxhPVQ7InN0cmluZyIhPXR5cGVvZiB0fHxjLnRlc3QodCl8fChpPXQ9dC50b0xvd2VyQ2FzZSgpLGE9dyksYSgicHJldmlvdXNTaWJsaW5nIix0LG8sZSxpLG4pfX0sZmluZDp7SUQ6ZnVuY3Rpb24oZSx0LG4pe2lmKHZvaWQgMCE9PXQuZ2V0RWxlbWVudEJ5SWQmJiFuKXt2YXIgcj10LmdldEVsZW1lbnRCeUlkKGVbMV0pO3JldHVybiByJiZyLnBhcmVudE5vZGU/W3JdOltdfX0sTkFNRTpmdW5jdGlvbihlLHQpe2lmKHZvaWQgMCE9PXQuZ2V0RWxlbWVudHNCeU5hbWUpe2Zvcih2YXIgbj1bXSxyPXQuZ2V0RWxlbWVudHNCeU5hbWUoZVsxXSksaT0wLG89ci5sZW5ndGg7aTxvO2krKylyW2ldLmdldEF0dHJpYnV0ZSgibmFtZSIpPT09ZVsxXSYmbi5wdXNoKHJbaV0pO3JldHVybiAwPT09bi5sZW5ndGg/bnVsbDpufX0sVEFHOmZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dC5nZXRFbGVtZW50c0J5VGFnTmFtZSlyZXR1cm4gdC5nZXRFbGVtZW50c0J5VGFnTmFtZShlWzFdKX19LHByZUZpbHRlcjp7Q0xBU1M6ZnVuY3Rpb24oZSx0LG4scixpLG8pe2lmKGU9IiAiK2VbMV0ucmVwbGFjZShsLCIiKSsiICIsbylyZXR1cm4gZTtmb3IodmFyIGEscz0wO251bGwhPShhPXRbc10pO3MrKylhJiYoaV4oYS5jbGFzc05hbWUmJigiICIrYS5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKC9bXHRcblxyXS9nLCIgIikuaW5kZXhPZihlKT49MCk/bnx8ci5wdXNoKGEpOm4mJih0W3NdPSExKSk7cmV0dXJuITF9LElEOmZ1bmN0aW9uKGUpe3JldHVybiBlWzFdLnJlcGxhY2UobCwiIil9LFRBRzpmdW5jdGlvbihlLHQpe3JldHVybiBlWzFdLnJlcGxhY2UobCwiIikudG9Mb3dlckNhc2UoKX0sQ0hJTEQ6ZnVuY3Rpb24oZSl7aWYoIm50aCI9PT1lWzFdKXtlWzJdfHxmLmVycm9yKGVbMF0pLGVbMl09ZVsyXS5yZXBsYWNlKC9eXCt8XHMqL2csIiIpO3ZhciB0PS8oLT8pKFxkKikoPzpuKFsrXC1dP1xkKikpPy8uZXhlYygoImV2ZW4iPT09ZVsyXT8iMm4iOiJvZGQiPT09ZVsyXSYmIjJuKzEiKXx8IS9cRC8udGVzdChlWzJdKSYmIjBuKyIrZVsyXXx8ZVsyXSk7ZVsyXT10WzFdKyh0WzJdfHwxKS0wLGVbM109dFszXS0wfWVsc2UgZVsyXSYmZi5lcnJvcihlWzBdKTtyZXR1cm4gZVswXT1yKyssZX0sQVRUUjpmdW5jdGlvbihlLHQsbixyLGksbyl7dmFyIGE9ZVsxXT1lWzFdLnJlcGxhY2UobCwiIik7cmV0dXJuIW8mJnAuYXR0ck1hcFthXSYmKGVbMV09cC5hdHRyTWFwW2FdKSxlWzRdPShlWzRdfHxlWzVdfHwiIikucmVwbGFjZShsLCIiKSwifj0iPT09ZVsyXSYmKGVbNF09IiAiK2VbNF0rIiAiKSxlfSxQU0VVRE86ZnVuY3Rpb24odCxuLHIsaSxvKXtpZigibm90Ij09PXRbMV0pe2lmKCEoKGUuZXhlYyh0WzNdKXx8IiIpLmxlbmd0aD4xfHwvXlx3Ly50ZXN0KHRbM10pKSl7dmFyIGE9Zi5maWx0ZXIodFszXSxuLHIsITBebyk7cmV0dXJuIHJ8fGkucHVzaC5hcHBseShpLGEpLCExfXRbM109Zih0WzNdLG51bGwsbnVsbCxuKX1lbHNlIGlmKHAubWF0Y2guUE9TLnRlc3QodFswXSl8fHAubWF0Y2guQ0hJTEQudGVzdCh0WzBdKSlyZXR1cm4hMDtyZXR1cm4gdH0sUE9TOmZ1bmN0aW9uKGUpe3JldHVybiBlLnVuc2hpZnQoITApLGV9fSxmaWx0ZXJzOntlbmFibGVkOmZ1bmN0aW9uKGUpe3JldHVybiExPT09ZS5kaXNhYmxlZCYmImhpZGRlbiIhPT1lLnR5cGV9LGRpc2FibGVkOmZ1bmN0aW9uKGUpe3JldHVybiEwPT09ZS5kaXNhYmxlZH0sY2hlY2tlZDpmdW5jdGlvbihlKXtyZXR1cm4hMD09PWUuY2hlY2tlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsITA9PT1lLnNlbGVjdGVkfSxwYXJlbnQ6ZnVuY3Rpb24oZSl7cmV0dXJuISFlLmZpcnN0Q2hpbGR9LGVtcHR5OmZ1bmN0aW9uKGUpe3JldHVybiFlLmZpcnN0Q2hpbGR9LGhhczpmdW5jdGlvbihlLHQsbil7cmV0dXJuISFmKG5bM10sZSkubGVuZ3RofSxoZWFkZXI6ZnVuY3Rpb24oZSl7cmV0dXJuL2hcZC9pLnRlc3QoZS5ub2RlTmFtZSl9LHRleHQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSxuPWUudHlwZTtyZXR1cm4iaW5wdXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYidGV4dCI9PT1uJiYodD09PW58fG51bGw9PT10KX0scmFkaW86ZnVuY3Rpb24oZSl7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInJhZGlvIj09PWUudHlwZX0sY2hlY2tib3g6ZnVuY3Rpb24oZSl7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmImNoZWNrYm94Ij09PWUudHlwZQp9LGZpbGU6ZnVuY3Rpb24oZSl7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmImZpbGUiPT09ZS50eXBlfSxwYXNzd29yZDpmdW5jdGlvbihlKXtyZXR1cm4iaW5wdXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYicGFzc3dvcmQiPT09ZS50eXBlfSxzdWJtaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybigiaW5wdXQiPT09dHx8ImJ1dHRvbiI9PT10KSYmInN1Ym1pdCI9PT1lLnR5cGV9LGltYWdlOmZ1bmN0aW9uKGUpe3JldHVybiJpbnB1dCI9PT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkmJiJpbWFnZSI9PT1lLnR5cGV9LHJlc2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oImlucHV0Ij09PXR8fCJidXR0b24iPT09dCkmJiJyZXNldCI9PT1lLnR5cGV9LGJ1dHRvbjpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PXQmJiJidXR0b24iPT09ZS50eXBlfHwiYnV0dG9uIj09PXR9LGlucHV0OmZ1bmN0aW9uKGUpe3JldHVybi9pbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uL2kudGVzdChlLm5vZGVOYW1lKX0sZm9jdXM6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1lLm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudH19LHNldEZpbHRlcnM6e2ZpcnN0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIDA9PT10fSxsYXN0OmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0PT09ci5sZW5ndGgtMX0sZXZlbjpmdW5jdGlvbihlLHQpe3JldHVybiB0JTI9PTB9LG9kZDpmdW5jdGlvbihlLHQpe3JldHVybiB0JTI9PTF9LGx0OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdDxuWzNdLTB9LGd0OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdD5uWzNdLTB9LG50aDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIG5bM10tMD09PXR9LGVxOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gblszXS0wPT09dH19LGZpbHRlcjp7UFNFVURPOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpPXRbMV0sbz1wLmZpbHRlcnNbaV07aWYobylyZXR1cm4gbyhlLG4sdCxyKTtpZigiY29udGFpbnMiPT09aSlyZXR1cm4oZS50ZXh0Q29udGVudHx8ZS5pbm5lclRleHR8fGQoW2VdKXx8IiIpLmluZGV4T2YodFszXSk+PTA7aWYoIm5vdCI9PT1pKXtmb3IodmFyIGE9dFszXSxzPTAsbD1hLmxlbmd0aDtzPGw7cysrKWlmKGFbc109PT1lKXJldHVybiExO3JldHVybiEwfWYuZXJyb3IoaSl9LENISUxEOmZ1bmN0aW9uKGUsdCl7dmFyIHIsaSxvLGEscyxsLHU9dFsxXSxjPWU7c3dpdGNoKHUpe2Nhc2Uib25seSI6Y2FzZSJmaXJzdCI6Zm9yKDtjPWMucHJldmlvdXNTaWJsaW5nOylpZigxPT09Yy5ub2RlVHlwZSlyZXR1cm4hMTtpZigiZmlyc3QiPT09dSlyZXR1cm4hMDtjPWU7Y2FzZSJsYXN0Ijpmb3IoO2M9Yy5uZXh0U2libGluZzspaWYoMT09PWMubm9kZVR5cGUpcmV0dXJuITE7cmV0dXJuITA7Y2FzZSJudGgiOmlmKHI9dFsyXSxpPXRbM10sMT09PXImJjA9PT1pKXJldHVybiEwO2lmKG89dFswXSwoYT1lLnBhcmVudE5vZGUpJiYoYVtuXSE9PW98fCFlLm5vZGVJbmRleCkpe2ZvcihzPTAsYz1hLmZpcnN0Q2hpbGQ7YztjPWMubmV4dFNpYmxpbmcpMT09PWMubm9kZVR5cGUmJihjLm5vZGVJbmRleD0rK3MpO2Fbbl09b31yZXR1cm4gbD1lLm5vZGVJbmRleC1pLDA9PT1yPzA9PT1sOmwlcj09MCYmbC9yPj0wfX0sSUQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gMT09PWUubm9kZVR5cGUmJmUuZ2V0QXR0cmlidXRlKCJpZCIpPT09dH0sVEFHOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIioiPT09dCYmMT09PWUubm9kZVR5cGV8fCEhZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dH0sQ0xBU1M6ZnVuY3Rpb24oZSx0KXtyZXR1cm4oIiAiKyhlLmNsYXNzTmFtZXx8ZS5nZXRBdHRyaWJ1dGUoImNsYXNzIikpKyIgIikuaW5kZXhPZih0KT4tMX0sQVRUUjpmdW5jdGlvbihlLHQpe3ZhciBuPXRbMV0scj1mLmF0dHI/Zi5hdHRyKGUsbik6cC5hdHRySGFuZGxlW25dP3AuYXR0ckhhbmRsZVtuXShlKTpudWxsIT1lW25dP2Vbbl06ZS5nZXRBdHRyaWJ1dGUobiksaT1yKyIiLG89dFsyXSxhPXRbNF07cmV0dXJuIG51bGw9PXI/IiE9Ij09PW86IW8mJmYuYXR0cj9udWxsIT1yOiI9Ij09PW8/aT09PWE6Iio9Ij09PW8/aS5pbmRleE9mKGEpPj0wOiJ+PSI9PT1vPygiICIraSsiICIpLmluZGV4T2YoYSk+PTA6YT8iIT0iPT09bz9pIT09YToiXj0iPT09bz8wPT09aS5pbmRleE9mKGEpOiIkPSI9PT1vP2kuc3Vic3RyKGkubGVuZ3RoLWEubGVuZ3RoKT09PWE6Inw9Ij09PW8mJihpPT09YXx8aS5zdWJzdHIoMCxhLmxlbmd0aCsxKT09PWErIi0iKTppJiYhMSE9PXJ9LFBPUzpmdW5jdGlvbihlLHQsbixyKXt2YXIgaT10WzJdLG89cC5zZXRGaWx0ZXJzW2ldO2lmKG8pcmV0dXJuIG8oZSxuLHQscil9fX0saD1wLm1hdGNoLlBPUyxtPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIlxcIisodC0wKzEpfTtmb3IodmFyIGcgaW4gcC5tYXRjaClwLm1hdGNoW2ddPW5ldyBSZWdFeHAocC5tYXRjaFtnXS5zb3VyY2UrLyg/IVteXFtdKlxdKSg/IVteXChdKlwpKS8uc291cmNlKSxwLmxlZnRNYXRjaFtnXT1uZXcgUmVnRXhwKC8oXig/Oi58XHJ8XG4pKj8pLy5zb3VyY2UrcC5tYXRjaFtnXS5zb3VyY2UucmVwbGFjZSgvXFwoXGQrKS9nLG0pKTtwLm1hdGNoLmdsb2JhbFBPUz1oO3ZhciB2LHksYix4PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZSwwKSx0Pyh0LnB1c2guYXBwbHkodCxlKSx0KTplfTt0cnl7QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodC5kb2N1bWVudEVsZW1lbnQuY2hpbGROb2RlcywwKVswXS5ub2RlVHlwZX1jYXRjaChlKXt4PWZ1bmN0aW9uKGUsdCl7dmFyIG49MCxyPXR8fFtdCjtpZigiW29iamVjdCBBcnJheV0iPT09by5jYWxsKGUpKUFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHIsZSk7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIGUubGVuZ3RoKWZvcih2YXIgaT1lLmxlbmd0aDtuPGk7bisrKXIucHVzaChlW25dKTtlbHNlIGZvcig7ZVtuXTtuKyspci5wdXNoKGVbbl0pO3JldHVybiByfX1mdW5jdGlvbiB3KGUsdCxyLGksbyxhKXtmb3IodmFyIHM9MCxsPWkubGVuZ3RoO3M8bDtzKyspe3ZhciB1PWlbc107aWYodSl7dmFyIGM9ITE7Zm9yKHU9dVtlXTt1Oyl7aWYodVtuXT09PXIpe2M9aVt1LnNpenNldF07YnJlYWt9aWYoMSE9PXUubm9kZVR5cGV8fGF8fCh1W25dPXIsdS5zaXpzZXQ9cyksdS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dCl7Yz11O2JyZWFrfXU9dVtlXX1pW3NdPWN9fX1mdW5jdGlvbiBUKGUsdCxyLGksbyxhKXtmb3IodmFyIHM9MCxsPWkubGVuZ3RoO3M8bDtzKyspe3ZhciB1PWlbc107aWYodSl7dmFyIGM9ITE7Zm9yKHU9dVtlXTt1Oyl7aWYodVtuXT09PXIpe2M9aVt1LnNpenNldF07YnJlYWt9aWYoMT09PXUubm9kZVR5cGUpaWYoYXx8KHVbbl09cix1LnNpenNldD1zKSwic3RyaW5nIiE9dHlwZW9mIHQpe2lmKHU9PT10KXtjPSEwO2JyZWFrfX1lbHNlIGlmKGYuZmlsdGVyKHQsW3VdKS5sZW5ndGg+MCl7Yz11O2JyZWFrfXU9dVtlXX1pW3NdPWN9fX10LmRvY3VtZW50RWxlbWVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj92PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9PT10PyhhPSEwLDApOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24/NCZlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpPy0xOjE6ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj8tMToxfToodj1mdW5jdGlvbihlLHQpe2lmKGU9PT10KXJldHVybiBhPSEwLDA7aWYoZS5zb3VyY2VJbmRleCYmdC5zb3VyY2VJbmRleClyZXR1cm4gZS5zb3VyY2VJbmRleC10LnNvdXJjZUluZGV4O3ZhciBuLHIsaT1bXSxvPVtdLHM9ZS5wYXJlbnROb2RlLGw9dC5wYXJlbnROb2RlLHU9cztpZihzPT09bClyZXR1cm4geShlLHQpO2lmKCFzKXJldHVybi0xO2lmKCFsKXJldHVybiAxO2Zvcig7dTspaS51bnNoaWZ0KHUpLHU9dS5wYXJlbnROb2RlO2Zvcih1PWw7dTspby51bnNoaWZ0KHUpLHU9dS5wYXJlbnROb2RlO249aS5sZW5ndGgscj1vLmxlbmd0aDtmb3IodmFyIGM9MDtjPG4mJmM8cjtjKyspaWYoaVtjXSE9PW9bY10pcmV0dXJuIHkoaVtjXSxvW2NdKTtyZXR1cm4gYz09PW4/eShlLG9bY10sLTEpOnkoaVtjXSx0LDEpfSx5PWZ1bmN0aW9uKGUsdCxuKXtpZihlPT09dClyZXR1cm4gbjtmb3IodmFyIHI9ZS5uZXh0U2libGluZztyOyl7aWYocj09PXQpcmV0dXJuLTE7cj1yLm5leHRTaWJsaW5nfXJldHVybiAxfSksZnVuY3Rpb24oKXt2YXIgZT10LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG49InNjcmlwdCIrKG5ldyBEYXRlKS5nZXRUaW1lKCkscj10LmRvY3VtZW50RWxlbWVudDtlLmlubmVySFRNTD0iPGEgbmFtZT0nIituKyInLz4iLHIuaW5zZXJ0QmVmb3JlKGUsci5maXJzdENoaWxkKSx0LmdldEVsZW1lbnRCeUlkKG4pJiYocC5maW5kLklEPWZ1bmN0aW9uKGUsdCxuKXtpZih2b2lkIDAhPT10LmdldEVsZW1lbnRCeUlkJiYhbil7dmFyIHI9dC5nZXRFbGVtZW50QnlJZChlWzFdKTtyZXR1cm4gcj9yLmlkPT09ZVsxXXx8dm9pZCAwIT09ci5nZXRBdHRyaWJ1dGVOb2RlJiZyLmdldEF0dHJpYnV0ZU5vZGUoImlkIikubm9kZVZhbHVlPT09ZVsxXT9bcl06dm9pZCAwOltdfX0scC5maWx0ZXIuSUQ9ZnVuY3Rpb24oZSx0KXt2YXIgbj12b2lkIDAhPT1lLmdldEF0dHJpYnV0ZU5vZGUmJmUuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTtyZXR1cm4gMT09PWUubm9kZVR5cGUmJm4mJm4ubm9kZVZhbHVlPT09dH0pLHIucmVtb3ZlQ2hpbGQoZSkscj1lPW51bGx9KCksKGI9dC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuYXBwZW5kQ2hpbGQodC5jcmVhdGVDb21tZW50KCIiKSksYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aD4wJiYocC5maW5kLlRBRz1mdW5jdGlvbihlLHQpe3ZhciBuPXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZVsxXSk7aWYoIioiPT09ZVsxXSl7Zm9yKHZhciByPVtdLGk9MDtuW2ldO2krKykxPT09bltpXS5ub2RlVHlwZSYmci5wdXNoKG5baV0pO249cn1yZXR1cm4gbn0pLGIuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IixiLmZpcnN0Q2hpbGQmJnZvaWQgMCE9PWIuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUmJiIjIiE9PWIuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoImhyZWYiKSYmKHAuYXR0ckhhbmRsZS5ocmVmPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldEF0dHJpYnV0ZSgiaHJlZiIsMil9KSxiPW51bGwsdC5xdWVyeVNlbGVjdG9yQWxsJiZmdW5jdGlvbigpe3ZhciBlPWYsbj10LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKG4uaW5uZXJIVE1MPSI8cCBjbGFzcz0nVEVTVCc+PC9wPiIsIW4ucXVlcnlTZWxlY3RvckFsbHx8MCE9PW4ucXVlcnlTZWxlY3RvckFsbCgiLlRFU1QiKS5sZW5ndGgpe2Zvcih2YXIgciBpbiBmPWZ1bmN0aW9uKG4scixpLG8pe2lmKHI9cnx8dCwhbyYmIWYuaXNYTUwocikpe3ZhciBhPS9eKFx3KyQpfF5cLihbXHdcLV0rJCl8XiMoW1x3XC1dKyQpLy5leGVjKG4pO2lmKGEmJigxPT09ci5ub2RlVHlwZXx8OT09PXIubm9kZVR5cGUpKXtpZihhWzFdKXJldHVybiB4KHIuZ2V0RWxlbWVudHNCeVRhZ05hbWUobiksaSk7aWYoYVsyXSYmcC5maW5kLkNMQVNTJiZyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIHgoci5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGFbMl0pLGkpfWlmKDk9PT1yLm5vZGVUeXBlKXtpZigiYm9keSI9PT1uJiZyLmJvZHkpcmV0dXJuIHgoW3IuYm9keV0saSk7aWYoYSYmYVszXSl7dmFyIHM9ci5nZXRFbGVtZW50QnlJZChhWzNdKTtpZighc3x8IXMucGFyZW50Tm9kZSlyZXR1cm4geChbXSxpKTtpZihzLmlkPT09YVszXSlyZXR1cm4geChbc10saSl9dHJ5e3JldHVybiB4KHIucXVlcnlTZWxlY3RvckFsbChuKSxpKX1jYXRjaChlKXt9Cn1lbHNlIGlmKDE9PT1yLm5vZGVUeXBlJiYib2JqZWN0IiE9PXIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7dmFyIGw9cix1PXIuZ2V0QXR0cmlidXRlKCJpZCIpLGM9dXx8Il9fc2l6emxlX18iLGQ9ci5wYXJlbnROb2RlLGg9L15ccypbK35dLy50ZXN0KG4pO3U/Yz1jLnJlcGxhY2UoLycvZywiXFwkJiIpOnIuc2V0QXR0cmlidXRlKCJpZCIsYyksaCYmZCYmKHI9ci5wYXJlbnROb2RlKTt0cnl7aWYoIWh8fGQpcmV0dXJuIHgoci5xdWVyeVNlbGVjdG9yQWxsKCJbaWQ9JyIrYysiJ10gIituKSxpKX1jYXRjaChlKXt9ZmluYWxseXt1fHxsLnJlbW92ZUF0dHJpYnV0ZSgiaWQiKX19fXJldHVybiBlKG4scixpLG8pfSxlKWZbcl09ZVtyXTtuPW51bGx9fSgpLGZ1bmN0aW9uKCl7dmFyIGU9dC5kb2N1bWVudEVsZW1lbnQsbj1lLm1hdGNoZXNTZWxlY3Rvcnx8ZS5tb3pNYXRjaGVzU2VsZWN0b3J8fGUud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxlLm1zTWF0Y2hlc1NlbGVjdG9yO2lmKG4pe3ZhciByPSFuLmNhbGwodC5jcmVhdGVFbGVtZW50KCJkaXYiKSwiZGl2IiksaT0hMTt0cnl7bi5jYWxsKHQuZG9jdW1lbnRFbGVtZW50LCJbdGVzdCE9JyddOnNpenpsZSIpfWNhdGNoKGUpe2k9ITB9Zi5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oZSx0KXtpZih0PXQucmVwbGFjZSgvXD1ccyooW14nIlxdXSopXHMqXF0vZywiPSckMSddIiksIWYuaXNYTUwoZSkpdHJ5e2lmKGl8fCFwLm1hdGNoLlBTRVVETy50ZXN0KHQpJiYhLyE9Ly50ZXN0KHQpKXt2YXIgbz1uLmNhbGwoZSx0KTtpZihvfHwhcnx8ZS5kb2N1bWVudCYmMTEhPT1lLmRvY3VtZW50Lm5vZGVUeXBlKXJldHVybiBvfX1jYXRjaChlKXt9cmV0dXJuIGYodCxudWxsLG51bGwsW2VdKS5sZW5ndGg+MH19fSgpLGZ1bmN0aW9uKCl7dmFyIGU9dC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlLmlubmVySFRNTD0iPGRpdiBjbGFzcz0ndGVzdCBlJz48L2Rpdj48ZGl2IGNsYXNzPSd0ZXN0Jz48L2Rpdj4iLGUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmMCE9PWUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZSIpLmxlbmd0aCYmKGUubGFzdENoaWxkLmNsYXNzTmFtZT0iZSIsMSE9PWUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZSIpLmxlbmd0aCYmKHAub3JkZXIuc3BsaWNlKDEsMCwiQ0xBU1MiKSxwLmZpbmQuQ0xBU1M9ZnVuY3Rpb24oZSx0LG4pe2lmKHZvaWQgMCE9PXQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmIW4pcmV0dXJuIHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlWzFdKX0sZT1udWxsKSl9KCksdC5kb2N1bWVudEVsZW1lbnQuY29udGFpbnM/Zi5jb250YWlucz1mdW5jdGlvbihlLHQpe3JldHVybiBlIT09dCYmKCFlLmNvbnRhaW5zfHxlLmNvbnRhaW5zKHQpKX06dC5kb2N1bWVudEVsZW1lbnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24/Zi5jb250YWlucz1mdW5jdGlvbihlLHQpe3JldHVybiEhKDE2JmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkpfTpmLmNvbnRhaW5zPWZ1bmN0aW9uKCl7cmV0dXJuITF9LGYuaXNYTUw9ZnVuY3Rpb24oZSl7dmFyIHQ9KGU/ZS5vd25lckRvY3VtZW50fHxlOjApLmRvY3VtZW50RWxlbWVudDtyZXR1cm4hIXQmJiJIVE1MIiE9PXQubm9kZU5hbWV9O3ZhciBOPWZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHIsaT1bXSxvPSIiLGE9dC5ub2RlVHlwZT9bdF06dDtyPXAubWF0Y2guUFNFVURPLmV4ZWMoZSk7KW8rPXJbMF0sZT1lLnJlcGxhY2UocC5tYXRjaC5QU0VVRE8sIiIpO2U9cC5yZWxhdGl2ZVtlXT9lKyIqIjplO2Zvcih2YXIgcz0wLGw9YS5sZW5ndGg7czxsO3MrKylmKGUsYVtzXSxpLG4pO3JldHVybiBmLmZpbHRlcihvLGkpfTtmLmF0dHI9aS5hdHRyLGYuc2VsZWN0b3JzLmF0dHJNYXA9e30saS5maW5kPWYsaS5leHByPWYuc2VsZWN0b3JzLGkuZXhwclsiOiJdPWkuZXhwci5maWx0ZXJzLGkudW5pcXVlPWYudW5pcXVlU29ydCxpLnRleHQ9Zi5nZXRUZXh0LGkuaXNYTUxEb2M9Zi5pc1hNTCxpLmNvbnRhaW5zPWYuY29udGFpbnN9KCk7dmFyIE09L1VudGlsJC8sTz0vXig/OnBhcmVudHN8cHJldlVudGlsfHByZXZBbGwpLyxIPS8sLyxQPS9eLlteOiNcW1wuLF0qJC8scT1BcnJheS5wcm90b3R5cGUuc2xpY2UsQj1pLmV4cHIubWF0Y2guZ2xvYmFsUE9TLFc9e2NoaWxkcmVuOiEwLGNvbnRlbnRzOiEwLG5leHQ6ITAscHJldjohMH07ZnVuY3Rpb24gSShlKXtyZXR1cm4hZXx8IWUucGFyZW50Tm9kZXx8MTE9PT1lLnBhcmVudE5vZGUubm9kZVR5cGV9ZnVuY3Rpb24gJChlLHQsbil7aWYodD10fHwwLGkuaXNGdW5jdGlvbih0KSlyZXR1cm4gaS5ncmVwKGUsKGZ1bmN0aW9uKGUscil7cmV0dXJuISF0LmNhbGwoZSxyLGUpPT09bn0pKTtpZih0Lm5vZGVUeXBlKXJldHVybiBpLmdyZXAoZSwoZnVuY3Rpb24oZSxyKXtyZXR1cm4gZT09PXQ9PT1ufSkpO2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIHI9aS5ncmVwKGUsKGZ1bmN0aW9uKGUpe3JldHVybiAxPT09ZS5ub2RlVHlwZX0pKTtpZihQLnRlc3QodCkpcmV0dXJuIGkuZmlsdGVyKHQsciwhbik7dD1pLmZpbHRlcih0LHIpfXJldHVybiBpLmdyZXAoZSwoZnVuY3Rpb24oZSxyKXtyZXR1cm4gaS5pbkFycmF5KGUsdCk+PTA9PT1ufSkpfWZ1bmN0aW9uIFIoZSl7dmFyIHQ9WC5zcGxpdCgifCIpLG49ZS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7aWYobi5jcmVhdGVFbGVtZW50KWZvcig7dC5sZW5ndGg7KW4uY3JlYXRlRWxlbWVudCh0LnBvcCgpKTtyZXR1cm4gbn1pLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihlKXt2YXIgdCxuLHI9dGhpcztpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuIGkoZSkuZmlsdGVyKChmdW5jdGlvbigpe2Zvcih0PTAsbj1yLmxlbmd0aDt0PG47dCsrKWlmKGkuY29udGFpbnMoclt0XSx0aGlzKSlyZXR1cm4hMH0pKTt2YXIgbyxhLHMsbD10aGlzLnB1c2hTdGFjaygiIiwiZmluZCIsZSk7Zm9yKHQ9MCxuPXRoaXMubGVuZ3RoO3Q8bjt0KyspaWYobz1sLmxlbmd0aCxpLmZpbmQoZSx0aGlzW3RdLGwpLHQ+MClmb3IoYT1vO2E8bC5sZW5ndGg7YSsrKWZvcihzPTA7czxvO3MrKylpZihsW3NdPT09bFthXSl7bC5zcGxpY2UoYS0tLDEpCjticmVha31yZXR1cm4gbH0saGFzOmZ1bmN0aW9uKGUpe3ZhciB0PWkoZSk7cmV0dXJuIHRoaXMuZmlsdGVyKChmdW5jdGlvbigpe2Zvcih2YXIgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKylpZihpLmNvbnRhaW5zKHRoaXMsdFtlXSkpcmV0dXJuITB9KSl9LG5vdDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soJCh0aGlzLGUsITEpLCJub3QiLGUpfSxmaWx0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKCQodGhpcyxlLCEwKSwiZmlsdGVyIixlKX0saXM6ZnVuY3Rpb24oZSl7cmV0dXJuISFlJiYoInN0cmluZyI9PXR5cGVvZiBlP0IudGVzdChlKT9pKGUsdGhpcy5jb250ZXh0KS5pbmRleCh0aGlzWzBdKT49MDppLmZpbHRlcihlLHRoaXMpLmxlbmd0aD4wOnRoaXMuZmlsdGVyKGUpLmxlbmd0aD4wKX0sY2xvc2VzdDpmdW5jdGlvbihlLHQpe3ZhciBuLHIsbz1bXSxhPXRoaXNbMF07aWYoaS5pc0FycmF5KGUpKXtmb3IodmFyIHM9MTthJiZhLm93bmVyRG9jdW1lbnQmJmEhPT10Oyl7Zm9yKG49MDtuPGUubGVuZ3RoO24rKylpKGEpLmlzKGVbbl0pJiZvLnB1c2goe3NlbGVjdG9yOmVbbl0sZWxlbTphLGxldmVsOnN9KTthPWEucGFyZW50Tm9kZSxzKyt9cmV0dXJuIG99dmFyIGw9Qi50ZXN0KGUpfHwic3RyaW5nIiE9dHlwZW9mIGU/aShlLHR8fHRoaXMuY29udGV4dCk6MDtmb3Iobj0wLHI9dGhpcy5sZW5ndGg7bjxyO24rKylmb3IoYT10aGlzW25dO2E7KXtpZihsP2wuaW5kZXgoYSk+LTE6aS5maW5kLm1hdGNoZXNTZWxlY3RvcihhLGUpKXtvLnB1c2goYSk7YnJlYWt9aWYoIShhPWEucGFyZW50Tm9kZSl8fCFhLm93bmVyRG9jdW1lbnR8fGE9PT10fHwxMT09PWEubm9kZVR5cGUpYnJlYWt9cmV0dXJuIG89by5sZW5ndGg+MT9pLnVuaXF1ZShvKTpvLHRoaXMucHVzaFN0YWNrKG8sImNsb3Nlc3QiLGUpfSxpbmRleDpmdW5jdGlvbihlKXtyZXR1cm4gZT8ic3RyaW5nIj09dHlwZW9mIGU/aS5pbkFycmF5KHRoaXNbMF0saShlKSk6aS5pbkFycmF5KGUuanF1ZXJ5P2VbMF06ZSx0aGlzKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5wcmV2QWxsKCkubGVuZ3RoOi0xfSxhZGQ6ZnVuY3Rpb24oZSx0KXt2YXIgbj0ic3RyaW5nIj09dHlwZW9mIGU/aShlLHQpOmkubWFrZUFycmF5KGUmJmUubm9kZVR5cGU/W2VdOmUpLHI9aS5tZXJnZSh0aGlzLmdldCgpLG4pO3JldHVybiB0aGlzLnB1c2hTdGFjayhJKG5bMF0pfHxJKHJbMF0pP3I6aS51bmlxdWUocikpfSxhbmRTZWxmOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWRkKHRoaXMucHJldk9iamVjdCl9fSksaS5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3JldHVybiB0JiYxMSE9PXQubm9kZVR5cGU/dDpudWxsfSxwYXJlbnRzOmZ1bmN0aW9uKGUpe3JldHVybiBpLmRpcihlLCJwYXJlbnROb2RlIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuZGlyKGUsInBhcmVudE5vZGUiLG4pfSxuZXh0OmZ1bmN0aW9uKGUpe3JldHVybiBpLm50aChlLDIsIm5leHRTaWJsaW5nIil9LHByZXY6ZnVuY3Rpb24oZSl7cmV0dXJuIGkubnRoKGUsMiwicHJldmlvdXNTaWJsaW5nIil9LG5leHRBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIGkuZGlyKGUsIm5leHRTaWJsaW5nIil9LHByZXZBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIGkuZGlyKGUsInByZXZpb3VzU2libGluZyIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBpLmRpcihlLCJuZXh0U2libGluZyIsbil9LHByZXZVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuZGlyKGUsInByZXZpb3VzU2libGluZyIsbil9LHNpYmxpbmdzOmZ1bmN0aW9uKGUpe3JldHVybiBpLnNpYmxpbmcoKGUucGFyZW50Tm9kZXx8e30pLmZpcnN0Q2hpbGQsZSl9LGNoaWxkcmVuOmZ1bmN0aW9uKGUpe3JldHVybiBpLnNpYmxpbmcoZS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIGkubm9kZU5hbWUoZSwiaWZyYW1lIik/ZS5jb250ZW50RG9jdW1lbnR8fGUuY29udGVudFdpbmRvdy5kb2N1bWVudDppLm1ha2VBcnJheShlLmNoaWxkTm9kZXMpfX0sKGZ1bmN0aW9uKGUsdCl7aS5mbltlXT1mdW5jdGlvbihuLHIpe3ZhciBvPWkubWFwKHRoaXMsdCxuKTtyZXR1cm4gTS50ZXN0KGUpfHwocj1uKSxyJiYic3RyaW5nIj09dHlwZW9mIHImJihvPWkuZmlsdGVyKHIsbykpLG89dGhpcy5sZW5ndGg+MSYmIVdbZV0/aS51bmlxdWUobyk6bywodGhpcy5sZW5ndGg+MXx8SC50ZXN0KHIpKSYmTy50ZXN0KGUpJiYobz1vLnJldmVyc2UoKSksdGhpcy5wdXNoU3RhY2sobyxlLHEuY2FsbChhcmd1bWVudHMpLmpvaW4oIiwiKSl9fSkpLGkuZXh0ZW5kKHtmaWx0ZXI6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBuJiYoZT0iOm5vdCgiK2UrIikiKSwxPT09dC5sZW5ndGg/aS5maW5kLm1hdGNoZXNTZWxlY3Rvcih0WzBdLGUpP1t0WzBdXTpbXTppLmZpbmQubWF0Y2hlcyhlLHQpfSxkaXI6ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1bXSxvPWVbdF07byYmOSE9PW8ubm9kZVR5cGUmJih2b2lkIDA9PT1ufHwxIT09by5ub2RlVHlwZXx8IWkobykuaXMobikpOykxPT09by5ub2RlVHlwZSYmci5wdXNoKG8pLG89b1t0XTtyZXR1cm4gcn0sbnRoOmZ1bmN0aW9uKGUsdCxuLHIpe3Q9dHx8MTtmb3IodmFyIGk9MDtlJiYoMSE9PWUubm9kZVR5cGV8fCsraSE9PXQpO2U9ZVtuXSk7cmV0dXJuIGV9LHNpYmxpbmc6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49W107ZTtlPWUubmV4dFNpYmxpbmcpMT09PWUubm9kZVR5cGUmJmUhPT10JiZuLnB1c2goZSk7cmV0dXJuIG59fSkKO3ZhciBYPSJhYmJyfGFydGljbGV8YXNpZGV8YXVkaW98YmRpfGNhbnZhc3xkYXRhfGRhdGFsaXN0fGRldGFpbHN8ZmlnY2FwdGlvbnxmaWd1cmV8Zm9vdGVyfGhlYWRlcnxoZ3JvdXB8bWFya3xtZXRlcnxuYXZ8b3V0cHV0fHByb2dyZXNzfHNlY3Rpb258c3VtbWFyeXx0aW1lfHZpZGVvIix6PS8galF1ZXJ5XGQrPSIoPzpcZCt8bnVsbCkiL2csVj0vXlxzKy8sVT0vPCg/IWFyZWF8YnJ8Y29sfGVtYmVkfGhyfGltZ3xpbnB1dHxsaW5rfG1ldGF8cGFyYW0pKChbXHc6XSspW14+XSopXC8+L2dpLFk9LzwoW1x3Ol0rKS8sSj0vPHRib2R5L2ksRz0vPHwmIz9cdys7LyxLPS88KD86c2NyaXB0fHN0eWxlKS9pLFE9LzwoPzpzY3JpcHR8b2JqZWN0fGVtYmVkfG9wdGlvbnxzdHlsZSkvaSxaPW5ldyBSZWdFeHAoIjwoPzoiK1grIilbXFxzLz5dIiwiaSIpLGVlPS9jaGVja2VkXHMqKD86W149XXw9XHMqLmNoZWNrZWQuKS9pLHRlPS9cLyhqYXZhfGVjbWEpc2NyaXB0L2ksbmU9e29wdGlvbjpbMSwiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsIjwvc2VsZWN0PiJdLGxlZ2VuZDpbMSwiPGZpZWxkc2V0PiIsIjwvZmllbGRzZXQ+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5PjwvdGFibGU+Il0sY29sOlsyLCI8dGFibGU+PHRib2R5PjwvdGJvZHk+PGNvbGdyb3VwPiIsIjwvY29sZ3JvdXA+PC90YWJsZT4iXSxhcmVhOlsxLCI8bWFwPiIsIjwvbWFwPiJdLF9kZWZhdWx0OlswLCIiLCIiXX0scmU9Uih0KTtmdW5jdGlvbiBpZShlLHQpe2lmKDE9PT10Lm5vZGVUeXBlJiZpLmhhc0RhdGEoZSkpe3ZhciBuLHIsbyxhPWkuX2RhdGEoZSkscz1pLl9kYXRhKHQsYSksbD1hLmV2ZW50cztpZihsKWZvcihuIGluIGRlbGV0ZSBzLmhhbmRsZSxzLmV2ZW50cz17fSxsKWZvcihyPTAsbz1sW25dLmxlbmd0aDtyPG87cisrKWkuZXZlbnQuYWRkKHQsbixsW25dW3JdKTtzLmRhdGEmJihzLmRhdGE9aS5leHRlbmQoe30scy5kYXRhKSl9fWZ1bmN0aW9uIG9lKGUsdCl7dmFyIG47MT09PXQubm9kZVR5cGUmJih0LmNsZWFyQXR0cmlidXRlcyYmdC5jbGVhckF0dHJpYnV0ZXMoKSx0Lm1lcmdlQXR0cmlidXRlcyYmdC5tZXJnZUF0dHJpYnV0ZXMoZSksIm9iamVjdCI9PT0obj10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpP3Qub3V0ZXJIVE1MPWUub3V0ZXJIVE1MOiJpbnB1dCIhPT1ufHwiY2hlY2tib3giIT09ZS50eXBlJiYicmFkaW8iIT09ZS50eXBlPyJvcHRpb24iPT09bj90LnNlbGVjdGVkPWUuZGVmYXVsdFNlbGVjdGVkOiJpbnB1dCI9PT1ufHwidGV4dGFyZWEiPT09bj90LmRlZmF1bHRWYWx1ZT1lLmRlZmF1bHRWYWx1ZToic2NyaXB0Ij09PW4mJnQudGV4dCE9PWUudGV4dCYmKHQudGV4dD1lLnRleHQpOihlLmNoZWNrZWQmJih0LmRlZmF1bHRDaGVja2VkPXQuY2hlY2tlZD1lLmNoZWNrZWQpLHQudmFsdWUhPT1lLnZhbHVlJiYodC52YWx1ZT1lLnZhbHVlKSksdC5yZW1vdmVBdHRyaWJ1dGUoaS5leHBhbmRvKSx0LnJlbW92ZUF0dHJpYnV0ZSgiX3N1Ym1pdF9hdHRhY2hlZCIpLHQucmVtb3ZlQXR0cmlidXRlKCJfY2hhbmdlX2F0dGFjaGVkIikpfWZ1bmN0aW9uIGFlKGUpe3JldHVybiB2b2lkIDAhPT1lLmdldEVsZW1lbnRzQnlUYWdOYW1lP2UuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKTp2b2lkIDAhPT1lLnF1ZXJ5U2VsZWN0b3JBbGw/ZS5xdWVyeVNlbGVjdG9yQWxsKCIqIik6W119ZnVuY3Rpb24gc2UoZSl7ImNoZWNrYm94IiE9PWUudHlwZSYmInJhZGlvIiE9PWUudHlwZXx8KGUuZGVmYXVsdENoZWNrZWQ9ZS5jaGVja2VkKX1mdW5jdGlvbiBsZShlKXt2YXIgdD0oZS5ub2RlTmFtZXx8IiIpLnRvTG93ZXJDYXNlKCk7ImlucHV0Ij09PXQ/c2UoZSk6InNjcmlwdCIhPT10JiZ2b2lkIDAhPT1lLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZpLmdyZXAoZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKSxzZSl9bmUub3B0Z3JvdXA9bmUub3B0aW9uLG5lLnRib2R5PW5lLnRmb290PW5lLmNvbGdyb3VwPW5lLmNhcHRpb249bmUudGhlYWQsbmUudGg9bmUudGQsaS5zdXBwb3J0Lmh0bWxTZXJpYWxpemV8fChuZS5fZGVmYXVsdD1bMSwiZGl2PGRpdj4iLCI8L2Rpdj4iXSksaS5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGkuYWNjZXNzKHRoaXMsKGZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDA9PT1lP2kudGV4dCh0aGlzKTp0aGlzLmVtcHR5KCkuYXBwZW5kKCh0aGlzWzBdJiZ0aGlzWzBdLm93bmVyRG9jdW1lbnR8fHQpLmNyZWF0ZVRleHROb2RlKGUpKX0pLG51bGwsZSxhcmd1bWVudHMubGVuZ3RoKX0sd3JhcEFsbDpmdW5jdGlvbihlKXtpZihpLmlzRnVuY3Rpb24oZSkpcmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24odCl7aSh0aGlzKS53cmFwQWxsKGUuY2FsbCh0aGlzLHQpKX0pKTtpZih0aGlzWzBdKXt2YXIgdD1pKGUsdGhpc1swXS5vd25lckRvY3VtZW50KS5lcSgwKS5jbG9uZSghMCk7dGhpc1swXS5wYXJlbnROb2RlJiZ0Lmluc2VydEJlZm9yZSh0aGlzWzBdKSx0Lm1hcCgoZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcztlLmZpcnN0Q2hpbGQmJjE9PT1lLmZpcnN0Q2hpbGQubm9kZVR5cGU7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfSkpLmFwcGVuZCh0aGlzKX1yZXR1cm4gdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKGUpe3JldHVybiBpLmlzRnVuY3Rpb24oZSk/dGhpcy5lYWNoKChmdW5jdGlvbih0KXtpKHRoaXMpLndyYXBJbm5lcihlLmNhbGwodGhpcyx0KSl9KSk6dGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciB0PWkodGhpcyksbj10LmNvbnRlbnRzKCk7bi5sZW5ndGg/bi53cmFwQWxsKGUpOnQuYXBwZW5kKGUpfSkpfSx3cmFwOmZ1bmN0aW9uKGUpe3ZhciB0PWkuaXNGdW5jdGlvbihlKTtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbihuKXtpKHRoaXMpLndyYXBBbGwodD9lLmNhbGwodGhpcyxuKTplKX0pKX0sdW53cmFwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50KCkuZWFjaCgoZnVuY3Rpb24oKXsKaS5ub2RlTmFtZSh0aGlzLCJib2R5Iil8fGkodGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pKS5lbmQoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLCEwLChmdW5jdGlvbihlKXsxPT09dGhpcy5ub2RlVHlwZSYmdGhpcy5hcHBlbmRDaGlsZChlKX0pKX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMCwoZnVuY3Rpb24oZSl7MT09PXRoaXMubm9kZVR5cGUmJnRoaXMuaW5zZXJ0QmVmb3JlKGUsdGhpcy5maXJzdENoaWxkKX0pKX0sYmVmb3JlOmZ1bmN0aW9uKCl7aWYodGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlKXJldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMSwoZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMpfSkpO2lmKGFyZ3VtZW50cy5sZW5ndGgpe3ZhciBlPWkuY2xlYW4oYXJndW1lbnRzKTtyZXR1cm4gZS5wdXNoLmFwcGx5KGUsdGhpcy50b0FycmF5KCkpLHRoaXMucHVzaFN0YWNrKGUsImJlZm9yZSIsYXJndW1lbnRzKX19LGFmdGVyOmZ1bmN0aW9uKCl7aWYodGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlKXJldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMSwoZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMubmV4dFNpYmxpbmcpfSkpO2lmKGFyZ3VtZW50cy5sZW5ndGgpe3ZhciBlPXRoaXMucHVzaFN0YWNrKHRoaXMsImFmdGVyIixhcmd1bWVudHMpO3JldHVybiBlLnB1c2guYXBwbHkoZSxpLmNsZWFuKGFyZ3VtZW50cykpLGV9fSxyZW1vdmU6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4scj0wO251bGwhPShuPXRoaXNbcl0pO3IrKyllJiYhaS5maWx0ZXIoZSxbbl0pLmxlbmd0aHx8KHR8fDEhPT1uLm5vZGVUeXBlfHwoaS5jbGVhbkRhdGEobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKSxpLmNsZWFuRGF0YShbbl0pKSxuLnBhcmVudE5vZGUmJm4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKSk7cmV0dXJuIHRoaXN9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciBlLHQ9MDtudWxsIT0oZT10aGlzW3RdKTt0KyspZm9yKDE9PT1lLm5vZGVUeXBlJiZpLmNsZWFuRGF0YShlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpO2UuZmlyc3RDaGlsZDspZS5yZW1vdmVDaGlsZChlLmZpcnN0Q2hpbGQpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihlLHQpe3JldHVybiBlPWU/PyExLHQ9dD8/ZSx0aGlzLm1hcCgoZnVuY3Rpb24oKXtyZXR1cm4gaS5jbG9uZSh0aGlzLGUsdCl9KSl9LGh0bWw6ZnVuY3Rpb24oZSl7cmV0dXJuIGkuYWNjZXNzKHRoaXMsKGZ1bmN0aW9uKGUpe3ZhciB0PXRoaXNbMF18fHt9LG49MCxyPXRoaXMubGVuZ3RoO2lmKHZvaWQgMD09PWUpcmV0dXJuIDE9PT10Lm5vZGVUeXBlP3QuaW5uZXJIVE1MLnJlcGxhY2UoeiwiIik6bnVsbDtpZigic3RyaW5nIj09dHlwZW9mIGUmJiFLLnRlc3QoZSkmJihpLnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2V8fCFWLnRlc3QoZSkpJiYhbmVbKFkuZXhlYyhlKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKV0pe2U9ZS5yZXBsYWNlKFUsIjwkMT48LyQyPiIpO3RyeXtmb3IoO248cjtuKyspMT09PSh0PXRoaXNbbl18fHt9KS5ub2RlVHlwZSYmKGkuY2xlYW5EYXRhKHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSksdC5pbm5lckhUTUw9ZSk7dD0wfWNhdGNoKGUpe319dCYmdGhpcy5lbXB0eSgpLmFwcGVuZChlKX0pLG51bGwsZSxhcmd1bWVudHMubGVuZ3RoKX0scmVwbGFjZVdpdGg6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZT9pLmlzRnVuY3Rpb24oZSk/dGhpcy5lYWNoKChmdW5jdGlvbih0KXt2YXIgbj1pKHRoaXMpLHI9bi5odG1sKCk7bi5yZXBsYWNlV2l0aChlLmNhbGwodGhpcyx0LHIpKX0pKTooInN0cmluZyIhPXR5cGVvZiBlJiYoZT1pKGUpLmRldGFjaCgpKSx0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5uZXh0U2libGluZyxuPXRoaXMucGFyZW50Tm9kZTtpKHRoaXMpLnJlbW92ZSgpLHQ/aSh0KS5iZWZvcmUoZSk6aShuKS5hcHBlbmQoZSl9KSkpOnRoaXMubGVuZ3RoP3RoaXMucHVzaFN0YWNrKGkoaS5pc0Z1bmN0aW9uKGUpP2UoKTplKSwicmVwbGFjZVdpdGgiLGUpOnRoaXN9LGRldGFjaDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5yZW1vdmUoZSwhMCl9LGRvbU1hbmlwOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixvLGEscyxsLHU9ZVswXSxjPVtdO2lmKCFpLnN1cHBvcnQuY2hlY2tDbG9uZSYmMz09PWFyZ3VtZW50cy5sZW5ndGgmJiJzdHJpbmciPT10eXBlb2YgdSYmZWUudGVzdCh1KSlyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe2kodGhpcykuZG9tTWFuaXAoZSx0LG4sITApfSkpO2lmKGkuaXNGdW5jdGlvbih1KSlyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbihyKXt2YXIgbz1pKHRoaXMpO2VbMF09dS5jYWxsKHRoaXMscix0P28uaHRtbCgpOnZvaWQgMCksby5kb21NYW5pcChlLHQsbil9KSk7aWYodGhpc1swXSl7aWYocz11JiZ1LnBhcmVudE5vZGUsbz0xPT09KGE9KHI9aS5zdXBwb3J0LnBhcmVudE5vZGUmJnMmJjExPT09cy5ub2RlVHlwZSYmcy5jaGlsZE5vZGVzLmxlbmd0aD09PXRoaXMubGVuZ3RoP3tmcmFnbWVudDpzfTppLmJ1aWxkRnJhZ21lbnQoZSx0aGlzLGMpKS5mcmFnbWVudCkuY2hpbGROb2Rlcy5sZW5ndGg/YT1hLmZpcnN0Q2hpbGQ6YS5maXJzdENoaWxkKXt0PXQmJmkubm9kZU5hbWUobywidHIiKTtmb3IodmFyIGY9MCxkPXRoaXMubGVuZ3RoLHA9ZC0xO2Y8ZDtmKyspbi5jYWxsKHQ/KGw9dGhpc1tmXSxpLm5vZGVOYW1lKGwsInRhYmxlIik/bC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXXx8bC5hcHBlbmRDaGlsZChsLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKSk6bCk6dGhpc1tmXSxyLmNhY2hlYWJsZXx8ZD4xJiZmPHA/aS5jbG9uZShhLCEwLCEwKTphKX1jLmxlbmd0aCYmaS5lYWNoKGMsKGZ1bmN0aW9uKGUsdCl7dC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCl9KSl9CnJldHVybiB0aGlzfX0pLGkuYnVpbGRGcmFnbWVudD1mdW5jdGlvbihlLG4scil7dmFyIG8sYSxzLGwsdT1lWzBdO3JldHVybiBuJiZuWzBdJiYobD1uWzBdLm93bmVyRG9jdW1lbnR8fG5bMF0pLGwuY3JlYXRlRG9jdW1lbnRGcmFnbWVudHx8KGw9dCksISgxPT09ZS5sZW5ndGgmJiJzdHJpbmciPT10eXBlb2YgdSYmdS5sZW5ndGg8NTEyJiZsPT09dCYmIjwiPT09dS5jaGFyQXQoMCkpfHxRLnRlc3QodSl8fCFpLnN1cHBvcnQuY2hlY2tDbG9uZSYmZWUudGVzdCh1KXx8IWkuc3VwcG9ydC5odG1sNUNsb25lJiZaLnRlc3QodSl8fChhPSEwLChzPWkuZnJhZ21lbnRzW3VdKSYmMSE9PXMmJihvPXMpKSxvfHwobz1sLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxpLmNsZWFuKGUsbCxvLHIpKSxhJiYoaS5mcmFnbWVudHNbdV09cz9vOjEpLHtmcmFnbWVudDpvLGNhY2hlYWJsZTphfX0saS5mcmFnbWVudHM9e30saS5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sKGZ1bmN0aW9uKGUsdCl7aS5mbltlXT1mdW5jdGlvbihuKXt2YXIgcj1bXSxvPWkobiksYT0xPT09dGhpcy5sZW5ndGgmJnRoaXNbMF0ucGFyZW50Tm9kZTtpZihhJiYxMT09PWEubm9kZVR5cGUmJjE9PT1hLmNoaWxkTm9kZXMubGVuZ3RoJiYxPT09by5sZW5ndGgpcmV0dXJuIG9bdF0odGhpc1swXSksdGhpcztmb3IodmFyIHM9MCxsPW8ubGVuZ3RoO3M8bDtzKyspe3ZhciB1PShzPjA/dGhpcy5jbG9uZSghMCk6dGhpcykuZ2V0KCk7aShvW3NdKVt0XSh1KSxyPXIuY29uY2F0KHUpfXJldHVybiB0aGlzLnB1c2hTdGFjayhyLGUsby5zZWxlY3Rvcil9fSkpLGkuZXh0ZW5kKHtjbG9uZTpmdW5jdGlvbihlLG4scil7dmFyIG8sYSxzLGw9aS5zdXBwb3J0Lmh0bWw1Q2xvbmV8fGkuaXNYTUxEb2MoZSl8fCFaLnRlc3QoIjwiK2Uubm9kZU5hbWUrIj4iKT9lLmNsb25lTm9kZSghMCk6ZnVuY3Rpb24oZSl7dmFyIG49dC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gcmUuYXBwZW5kQ2hpbGQobiksbi5pbm5lckhUTUw9ZS5vdXRlckhUTUwsbi5maXJzdENoaWxkfShlKTtpZighKGkuc3VwcG9ydC5ub0Nsb25lRXZlbnQmJmkuc3VwcG9ydC5ub0Nsb25lQ2hlY2tlZHx8MSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZXx8aS5pc1hNTERvYyhlKSkpZm9yKG9lKGUsbCksbz1hZShlKSxhPWFlKGwpLHM9MDtvW3NdOysrcylhW3NdJiZvZShvW3NdLGFbc10pO2lmKG4mJihpZShlLGwpLHIpKWZvcihvPWFlKGUpLGE9YWUobCkscz0wO29bc107KytzKWllKG9bc10sYVtzXSk7cmV0dXJuIG89YT1udWxsLGx9LGNsZWFuOmZ1bmN0aW9uKGUsbixyLG8pe3ZhciBhLHMsbCx1PVtdO3ZvaWQgMD09PShuPW58fHQpLmNyZWF0ZUVsZW1lbnQmJihuPW4ub3duZXJEb2N1bWVudHx8blswXSYmblswXS5vd25lckRvY3VtZW50fHx0KTtmb3IodmFyIGMsZj0wO251bGwhPShjPWVbZl0pO2YrKylpZigibnVtYmVyIj09dHlwZW9mIGMmJihjKz0iIiksYyl7aWYoInN0cmluZyI9PXR5cGVvZiBjKWlmKEcudGVzdChjKSl7Yz1jLnJlcGxhY2UoVSwiPCQxPjwvJDI+Iik7dmFyIGQscD0oWS5leGVjKGMpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpLGg9bmVbcF18fG5lLl9kZWZhdWx0LG09aFswXSxnPW4uY3JlYXRlRWxlbWVudCgiZGl2Iiksdj1yZS5jaGlsZE5vZGVzO2ZvcihuPT09dD9yZS5hcHBlbmRDaGlsZChnKTpSKG4pLmFwcGVuZENoaWxkKGcpLGcuaW5uZXJIVE1MPWhbMV0rYytoWzJdO20tLTspZz1nLmxhc3RDaGlsZDtpZighaS5zdXBwb3J0LnRib2R5KXt2YXIgeT1KLnRlc3QoYyksYj0idGFibGUiIT09cHx8eT8iPHRhYmxlPiIhPT1oWzFdfHx5P1tdOmcuY2hpbGROb2RlczpnLmZpcnN0Q2hpbGQmJmcuZmlyc3RDaGlsZC5jaGlsZE5vZGVzO2ZvcihsPWIubGVuZ3RoLTE7bD49MDstLWwpaS5ub2RlTmFtZShiW2xdLCJ0Ym9keSIpJiYhYltsXS5jaGlsZE5vZGVzLmxlbmd0aCYmYltsXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGJbbF0pfSFpLnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2UmJlYudGVzdChjKSYmZy5pbnNlcnRCZWZvcmUobi5jcmVhdGVUZXh0Tm9kZShWLmV4ZWMoYylbMF0pLGcuZmlyc3RDaGlsZCksYz1nLmNoaWxkTm9kZXMsZyYmKGcucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChnKSx2Lmxlbmd0aD4wJiYoZD12W3YubGVuZ3RoLTFdKSYmZC5wYXJlbnROb2RlJiZkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCkpfWVsc2UgYz1uLmNyZWF0ZVRleHROb2RlKGMpO3ZhciB4O2lmKCFpLnN1cHBvcnQuYXBwZW5kQ2hlY2tlZClpZihjWzBdJiYibnVtYmVyIj09dHlwZW9mKHg9Yy5sZW5ndGgpKWZvcihsPTA7bDx4O2wrKylsZShjW2xdKTtlbHNlIGxlKGMpO2Mubm9kZVR5cGU/dS5wdXNoKGMpOnU9aS5tZXJnZSh1LGMpfWlmKHIpZm9yKGE9ZnVuY3Rpb24oZSl7cmV0dXJuIWUudHlwZXx8dGUudGVzdChlLnR5cGUpfSxmPTA7dVtmXTtmKyspaWYocz11W2ZdLG8mJmkubm9kZU5hbWUocywic2NyaXB0IikmJighcy50eXBlfHx0ZS50ZXN0KHMudHlwZSkpKW8ucHVzaChzLnBhcmVudE5vZGU/cy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHMpOnMpO2Vsc2V7aWYoMT09PXMubm9kZVR5cGUpe3ZhciB3PWkuZ3JlcChzLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSxhKTt1LnNwbGljZS5hcHBseSh1LFtmKzEsMF0uY29uY2F0KHcpKX1yLmFwcGVuZENoaWxkKHMpfXJldHVybiB1fSxjbGVhbkRhdGE6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG4scixvPWkuY2FjaGUsYT1pLmV2ZW50LnNwZWNpYWwscz1pLnN1cHBvcnQuZGVsZXRlRXhwYW5kbyxsPTA7bnVsbCE9KHI9ZVtsXSk7bCsrKWlmKCghci5ub2RlTmFtZXx8IWkubm9EYXRhW3Iubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pJiYobj1yW2kuZXhwYW5kb10pKXtpZigodD1vW25dKSYmdC5ldmVudHMpe2Zvcih2YXIgdSBpbiB0LmV2ZW50cylhW3VdP2kuZXZlbnQucmVtb3ZlKHIsdSk6aS5yZW1vdmVFdmVudChyLHUsdC5oYW5kbGUpCjt0LmhhbmRsZSYmKHQuaGFuZGxlLmVsZW09bnVsbCl9cz9kZWxldGUgcltpLmV4cGFuZG9dOnIucmVtb3ZlQXR0cmlidXRlJiZyLnJlbW92ZUF0dHJpYnV0ZShpLmV4cGFuZG8pLGRlbGV0ZSBvW25dfX19KTt2YXIgdWUsY2UsZmUsZGU9L2FscGhhXChbXildKlwpL2kscGU9L29wYWNpdHk9KFteKV0qKS8saGU9LyhbQS1aXXxebXMpL2csbWU9L15bXC0rXT8oPzpcZCpcLik/XGQrJC9pLGdlPS9eLT8oPzpcZCpcLik/XGQrKD8hcHgpW15cZFxzXSskL2ksdmU9L14oW1wtK10pPShbXC0rLlxkZV0rKS8seWU9L15tYXJnaW4vLGJlPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheToiYmxvY2sifSx4ZT1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdO2Z1bmN0aW9uIHdlKGUsdCxuKXt2YXIgcj0id2lkdGgiPT09dD9lLm9mZnNldFdpZHRoOmUub2Zmc2V0SGVpZ2h0LG89IndpZHRoIj09PXQ/MTowO2lmKHI+MCl7aWYoImJvcmRlciIhPT1uKWZvcig7bzw0O28rPTIpbnx8KHItPXBhcnNlRmxvYXQoaS5jc3MoZSwicGFkZGluZyIreGVbb10pKXx8MCksIm1hcmdpbiI9PT1uP3IrPXBhcnNlRmxvYXQoaS5jc3MoZSxuK3hlW29dKSl8fDA6ci09cGFyc2VGbG9hdChpLmNzcyhlLCJib3JkZXIiK3hlW29dKyJXaWR0aCIpKXx8MDtyZXR1cm4gcisicHgifWlmKCgocj11ZShlLHQpKTwwfHxudWxsPT1yKSYmKHI9ZS5zdHlsZVt0XSksZ2UudGVzdChyKSlyZXR1cm4gcjtpZihyPXBhcnNlRmxvYXQocil8fDAsbilmb3IoO288NDtvKz0yKXIrPXBhcnNlRmxvYXQoaS5jc3MoZSwicGFkZGluZyIreGVbb10pKXx8MCwicGFkZGluZyIhPT1uJiYocis9cGFyc2VGbG9hdChpLmNzcyhlLCJib3JkZXIiK3hlW29dKyJXaWR0aCIpKXx8MCksIm1hcmdpbiI9PT1uJiYocis9cGFyc2VGbG9hdChpLmNzcyhlLG4reGVbb10pKXx8MCk7cmV0dXJuIHIrInB4In1pLmZuLmNzcz1mdW5jdGlvbihlLHQpe3JldHVybiBpLmFjY2Vzcyh0aGlzLChmdW5jdGlvbihlLHQsbil7cmV0dXJuIHZvaWQgMCE9PW4/aS5zdHlsZShlLHQsbik6aS5jc3MoZSx0KX0pLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxpLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihlLHQpe2lmKHQpe3ZhciBuPXVlKGUsIm9wYWNpdHkiKTtyZXR1cm4iIj09PW4/IjEiOm59cmV0dXJuIGUuc3R5bGUub3BhY2l0eX19fSxjc3NOdW1iZXI6e2ZpbGxPcGFjaXR5OiEwLGZvbnRXZWlnaHQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7ZmxvYXQ6aS5zdXBwb3J0LmNzc0Zsb2F0PyJjc3NGbG9hdCI6InN0eWxlRmxvYXQifSxzdHlsZTpmdW5jdGlvbihlLHQsbixyKXtpZihlJiYzIT09ZS5ub2RlVHlwZSYmOCE9PWUubm9kZVR5cGUmJmUuc3R5bGUpe3ZhciBvLGEscz1pLmNhbWVsQ2FzZSh0KSxsPWUuc3R5bGUsdT1pLmNzc0hvb2tzW3NdO2lmKHQ9aS5jc3NQcm9wc1tzXXx8cyx2b2lkIDA9PT1uKXJldHVybiB1JiYiZ2V0ImluIHUmJnZvaWQgMCE9PShvPXUuZ2V0KGUsITEscikpP286bFt0XTtpZighKCJzdHJpbmciPT09KGE9dHlwZW9mIG4pJiYobz12ZS5leGVjKG4pKSYmKG49KyhvWzFdKzEpKitvWzJdK3BhcnNlRmxvYXQoaS5jc3MoZSx0KSksYT0ibnVtYmVyIiksbnVsbD09bnx8Im51bWJlciI9PT1hJiZpc05hTihuKXx8KCJudW1iZXIiIT09YXx8aS5jc3NOdW1iZXJbc118fChuKz0icHgiKSx1JiYic2V0ImluIHUmJnZvaWQgMD09PShuPXUuc2V0KGUsbikpKSkpdHJ5e2xbdF09bn1jYXRjaChlKXt9fX0sY3NzOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixvO3JldHVybiB0PWkuY2FtZWxDYXNlKHQpLG89aS5jc3NIb29rc1t0XSwiY3NzRmxvYXQiPT09KHQ9aS5jc3NQcm9wc1t0XXx8dCkmJih0PSJmbG9hdCIpLG8mJiJnZXQiaW4gbyYmdm9pZCAwIT09KHI9by5nZXQoZSwhMCxuKSk/cjp1ZT91ZShlLHQpOnZvaWQgMH0sc3dhcDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPXt9O2ZvcihpIGluIHQpb1tpXT1lLnN0eWxlW2ldLGUuc3R5bGVbaV09dFtpXTtmb3IoaSBpbiByPW4uY2FsbChlKSx0KWUuc3R5bGVbaV09b1tpXTtyZXR1cm4gcn19KSxpLmN1ckNTUz1pLmNzcyx0LmRlZmF1bHRWaWV3JiZ0LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUmJihjZT1mdW5jdGlvbihlLHQpe3ZhciBuLHIsbyxhLHM9ZS5zdHlsZTtyZXR1cm4gdD10LnJlcGxhY2UoaGUsIi0kMSIpLnRvTG93ZXJDYXNlKCksKHI9ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KSYmKG89ci5nZXRDb21wdXRlZFN0eWxlKGUsbnVsbCkpJiYoIiIhPT0obj1vLmdldFByb3BlcnR5VmFsdWUodCkpfHxpLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsZSl8fChuPWkuc3R5bGUoZSx0KSkpLCFpLnN1cHBvcnQucGl4ZWxNYXJnaW4mJm8mJnllLnRlc3QodCkmJmdlLnRlc3QobikmJihhPXMud2lkdGgscy53aWR0aD1uLG49by53aWR0aCxzLndpZHRoPWEpLG59KSx0LmRvY3VtZW50RWxlbWVudC5jdXJyZW50U3R5bGUmJihmZT1mdW5jdGlvbihlLHQpe3ZhciBuLHIsaSxvPWUuY3VycmVudFN0eWxlJiZlLmN1cnJlbnRTdHlsZVt0XSxhPWUuc3R5bGU7cmV0dXJuIG51bGw9PW8mJmEmJihpPWFbdF0pJiYobz1pKSxnZS50ZXN0KG8pJiYobj1hLmxlZnQsKHI9ZS5ydW50aW1lU3R5bGUmJmUucnVudGltZVN0eWxlLmxlZnQpJiYoZS5ydW50aW1lU3R5bGUubGVmdD1lLmN1cnJlbnRTdHlsZS5sZWZ0KSxhLmxlZnQ9ImZvbnRTaXplIj09PXQ/IjFlbSI6byxvPWEucGl4ZWxMZWZ0KyJweCIsYS5sZWZ0PW4sciYmKGUucnVudGltZVN0eWxlLmxlZnQ9cikpLCIiPT09bz8iYXV0byI6b30pLHVlPWNlfHxmZSxpLmVhY2goWyJoZWlnaHQiLCJ3aWR0aCJdLChmdW5jdGlvbihlLHQpe2kuY3NzSG9va3NbdF09e2dldDpmdW5jdGlvbihlLG4scil7aWYobilyZXR1cm4gMCE9PWUub2Zmc2V0V2lkdGg/d2UoZSx0LHIpOmkuc3dhcChlLGJlLChmdW5jdGlvbigpe3JldHVybiB3ZShlLHQscil9KSl9LHNldDpmdW5jdGlvbihlLHQpewpyZXR1cm4gbWUudGVzdCh0KT90KyJweCI6dH19fSkpLGkuc3VwcG9ydC5vcGFjaXR5fHwoaS5jc3NIb29rcy5vcGFjaXR5PXtnZXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gcGUudGVzdCgodCYmZS5jdXJyZW50U3R5bGU/ZS5jdXJyZW50U3R5bGUuZmlsdGVyOmUuc3R5bGUuZmlsdGVyKXx8IiIpP3BhcnNlRmxvYXQoUmVnRXhwLiQxKS8xMDArIiI6dD8iMSI6IiJ9LHNldDpmdW5jdGlvbihlLHQpe3ZhciBuPWUuc3R5bGUscj1lLmN1cnJlbnRTdHlsZSxvPWkuaXNOdW1lcmljKHQpPyJhbHBoYShvcGFjaXR5PSIrMTAwKnQrIikiOiIiLGE9ciYmci5maWx0ZXJ8fG4uZmlsdGVyfHwiIjtuLnpvb209MSx0Pj0xJiYiIj09PWkudHJpbShhLnJlcGxhY2UoZGUsIiIpKSYmKG4ucmVtb3ZlQXR0cmlidXRlKCJmaWx0ZXIiKSxyJiYhci5maWx0ZXIpfHwobi5maWx0ZXI9ZGUudGVzdChhKT9hLnJlcGxhY2UoZGUsbyk6YSsiICIrbyl9fSksaSgoZnVuY3Rpb24oKXtpLnN1cHBvcnQucmVsaWFibGVNYXJnaW5SaWdodHx8KGkuY3NzSG9va3MubWFyZ2luUmlnaHQ9e2dldDpmdW5jdGlvbihlLHQpe3JldHVybiBpLnN3YXAoZSx7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0sKGZ1bmN0aW9uKCl7cmV0dXJuIHQ/dWUoZSwibWFyZ2luLXJpZ2h0Iik6ZS5zdHlsZS5tYXJnaW5SaWdodH0pKX19KX0pKSxpLmV4cHImJmkuZXhwci5maWx0ZXJzJiYoaS5leHByLmZpbHRlcnMuaGlkZGVuPWZ1bmN0aW9uKGUpe3ZhciB0PWUub2Zmc2V0V2lkdGgsbj1lLm9mZnNldEhlaWdodDtyZXR1cm4gMD09PXQmJjA9PT1ufHwhaS5zdXBwb3J0LnJlbGlhYmxlSGlkZGVuT2Zmc2V0cyYmIm5vbmUiPT09KGUuc3R5bGUmJmUuc3R5bGUuZGlzcGxheXx8aS5jc3MoZSwiZGlzcGxheSIpKX0saS5leHByLmZpbHRlcnMudmlzaWJsZT1mdW5jdGlvbihlKXtyZXR1cm4haS5leHByLmZpbHRlcnMuaGlkZGVuKGUpfSksaS5lYWNoKHttYXJnaW46IiIscGFkZGluZzoiIixib3JkZXI6IldpZHRoIn0sKGZ1bmN0aW9uKGUsdCl7aS5jc3NIb29rc1tlK3RdPXtleHBhbmQ6ZnVuY3Rpb24obil7dmFyIHIsaT0ic3RyaW5nIj09dHlwZW9mIG4/bi5zcGxpdCgiICIpOltuXSxvPXt9O2ZvcihyPTA7cjw0O3IrKylvW2UreGVbcl0rdF09aVtyXXx8aVtyLTJdfHxpWzBdO3JldHVybiBvfX19KSk7dmFyIFRlLE5lLENlPS8lMjAvZyxTZT0vXFtcXSQvLGtlPS9ccj9cbi9nLEVlPS8jLiokLyxBZT0vXiguKj8pOlsgXHRdKihbXlxyXG5dKilccj8kL2dtLERlPS9eKD86Y29sb3J8ZGF0ZXxkYXRldGltZXxkYXRldGltZS1sb2NhbHxlbWFpbHxoaWRkZW58bW9udGh8bnVtYmVyfHBhc3N3b3JkfHJhbmdlfHNlYXJjaHx0ZWx8dGV4dHx0aW1lfHVybHx3ZWVrKSQvaSxMZT0vXig/OkdFVHxIRUFEKSQvLEZlPS9eXC9cLy8samU9L1w/LyxfZT0vPHNjcmlwdFxiW148XSooPzooPyE8XC9zY3JpcHQ+KTxbXjxdKikqPFwvc2NyaXB0Pi9naSxNZT0vXig/OnNlbGVjdHx0ZXh0YXJlYSkvaSxPZT0vXHMrLyxIZT0vKFs/Jl0pXz1bXiZdKi8sUGU9L14oW1x3XCtcLlwtXSs6KSg/OlwvXC8oW15cLz8jOl0qKSg/OjooXGQrKSk/KT8vLHFlPWkuZm4ubG9hZCxCZT17fSxXZT17fSxJZT1bIiovIl0rWyIqIl07dHJ5e1RlPXIuaHJlZn1jYXRjaChlKXsoVGU9dC5jcmVhdGVFbGVtZW50KCJhIikpLmhyZWY9IiIsVGU9VGUuaHJlZn1mdW5jdGlvbiAkZShlKXtyZXR1cm4gZnVuY3Rpb24odCxuKXtpZigic3RyaW5nIiE9dHlwZW9mIHQmJihuPXQsdD0iKiIpLGkuaXNGdW5jdGlvbihuKSlmb3IodmFyIHIsbyxhPXQudG9Mb3dlckNhc2UoKS5zcGxpdChPZSkscz0wLGw9YS5sZW5ndGg7czxsO3MrKylyPWFbc10sKG89L15cKy8udGVzdChyKSkmJihyPXIuc3Vic3RyKDEpfHwiKiIpLChlW3JdPWVbcl18fFtdKVtvPyJ1bnNoaWZ0IjoicHVzaCJdKG4pfX1mdW5jdGlvbiBSZShlLHQsbixyLGksbyl7KG89b3x8e30pW2k9aXx8dC5kYXRhVHlwZXNbMF1dPSEwO2Zvcih2YXIgYSxzPWVbaV0sbD0wLHU9cz9zLmxlbmd0aDowLGM9ZT09PUJlO2w8dSYmKGN8fCFhKTtsKyspInN0cmluZyI9PXR5cGVvZihhPXNbbF0odCxuLHIpKSYmKCFjfHxvW2FdP2E9dm9pZCAwOih0LmRhdGFUeXBlcy51bnNoaWZ0KGEpLGE9UmUoZSx0LG4scixhLG8pKSk7cmV0dXJuIWMmJmF8fG9bIioiXXx8KGE9UmUoZSx0LG4sciwiKiIsbykpLGF9ZnVuY3Rpb24gWGUoZSx0KXt2YXIgbixyLG89aS5hamF4U2V0dGluZ3MuZmxhdE9wdGlvbnN8fHt9O2ZvcihuIGluIHQpdm9pZCAwIT09dFtuXSYmKChvW25dP2U6cnx8KHI9e30pKVtuXT10W25dKTtyJiZpLmV4dGVuZCghMCxlLHIpfWZ1bmN0aW9uIHplKGUsdCxuLHIpe2lmKGkuaXNBcnJheSh0KSlpLmVhY2godCwoZnVuY3Rpb24odCxpKXtufHxTZS50ZXN0KGUpP3IoZSxpKTp6ZShlKyJbIisoIm9iamVjdCI9PXR5cGVvZiBpP3Q6IiIpKyJdIixpLG4scil9KSk7ZWxzZSBpZihufHwib2JqZWN0IiE9PWkudHlwZSh0KSlyKGUsdCk7ZWxzZSBmb3IodmFyIG8gaW4gdCl6ZShlKyJbIitvKyJdIix0W29dLG4scil9TmU9UGUuZXhlYyhUZS50b0xvd2VyQ2FzZSgpKXx8W10saS5mbi5leHRlbmQoe2xvYWQ6ZnVuY3Rpb24oZSx0LG4pe2lmKCJzdHJpbmciIT10eXBlb2YgZSYmcWUpcmV0dXJuIHFlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZighdGhpcy5sZW5ndGgpcmV0dXJuIHRoaXM7dmFyIHI9ZS5pbmRleE9mKCIgIik7aWYocj49MCl7dmFyIG89ZS5zbGljZShyLGUubGVuZ3RoKTtlPWUuc2xpY2UoMCxyKX12YXIgYT0iR0VUIjt0JiYoaS5pc0Z1bmN0aW9uKHQpPyhuPXQsdD12b2lkIDApOiJvYmplY3QiPT10eXBlb2YgdCYmKHQ9aS5wYXJhbSh0LGkuYWpheFNldHRpbmdzLnRyYWRpdGlvbmFsKSxhPSJQT1NUIikpO3ZhciBzPXRoaXM7cmV0dXJuIGkuYWpheCh7dXJsOmUsdHlwZTphLGRhdGFUeXBlOiJodG1sIixkYXRhOnQsY29tcGxldGU6ZnVuY3Rpb24oZSx0LHIpe3I9ZS5yZXNwb25zZVRleHQsZS5pc1Jlc29sdmVkKCkmJihlLmRvbmUoKGZ1bmN0aW9uKGUpe3I9ZX0pKSxzLmh0bWwobz9pKCI8ZGl2PiIpLmFwcGVuZChyLnJlcGxhY2UoX2UsIiIpKS5maW5kKG8pOnIpKSwKbiYmcy5lYWNoKG4sW3IsdCxlXSl9fSksdGhpc30sc2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIGkucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudHM/aS5tYWtlQXJyYXkodGhpcy5lbGVtZW50cyk6dGhpc30pKS5maWx0ZXIoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZSYmIXRoaXMuZGlzYWJsZWQmJih0aGlzLmNoZWNrZWR8fE1lLnRlc3QodGhpcy5ub2RlTmFtZSl8fERlLnRlc3QodGhpcy50eXBlKSl9KSkubWFwKChmdW5jdGlvbihlLHQpe3ZhciBuPWkodGhpcykudmFsKCk7cmV0dXJuIG51bGw9PW4/bnVsbDppLmlzQXJyYXkobik/aS5tYXAobiwoZnVuY3Rpb24oZSxuKXtyZXR1cm57bmFtZTp0Lm5hbWUsdmFsdWU6ZS5yZXBsYWNlKGtlLCJcclxuIil9fSkpOntuYW1lOnQubmFtZSx2YWx1ZTpuLnJlcGxhY2Uoa2UsIlxyXG4iKX19KSkuZ2V0KCl9fSksaS5lYWNoKCJhamF4U3RhcnQgYWpheFN0b3AgYWpheENvbXBsZXRlIGFqYXhFcnJvciBhamF4U3VjY2VzcyBhamF4U2VuZCIuc3BsaXQoIiAiKSwoZnVuY3Rpb24oZSx0KXtpLmZuW3RdPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm9uKHQsZSl9fSkpLGkuZWFjaChbImdldCIsInBvc3QiXSwoZnVuY3Rpb24oZSx0KXtpW3RdPWZ1bmN0aW9uKGUsbixyLG8pe3JldHVybiBpLmlzRnVuY3Rpb24obikmJihvPW98fHIscj1uLG49dm9pZCAwKSxpLmFqYXgoe3R5cGU6dCx1cmw6ZSxkYXRhOm4sc3VjY2VzczpyLGRhdGFUeXBlOm99KX19KSksaS5leHRlbmQoe2dldFNjcmlwdDpmdW5jdGlvbihlLHQpe3JldHVybiBpLmdldChlLHZvaWQgMCx0LCJzY3JpcHQiKX0sZ2V0SlNPTjpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuZ2V0KGUsdCxuLCJqc29uIil9LGFqYXhTZXR1cDpmdW5jdGlvbihlLHQpe3JldHVybiB0P1hlKGUsaS5hamF4U2V0dGluZ3MpOih0PWUsZT1pLmFqYXhTZXR0aW5ncyksWGUoZSx0KSxlfSxhamF4U2V0dGluZ3M6e3VybDpUZSxpc0xvY2FsOi9eKD86YWJvdXR8YXBwfGFwcFwtc3RvcmFnZXwuK1wtZXh0ZW5zaW9ufGZpbGV8cmVzfHdpZGdldCk6JC8udGVzdChOZVsxXSksZ2xvYmFsOiEwLHR5cGU6IkdFVCIsY29udGVudFR5cGU6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD1VVEYtOCIscHJvY2Vzc0RhdGE6ITAsYXN5bmM6ITAsYWNjZXB0czp7eG1sOiJhcHBsaWNhdGlvbi94bWwsIHRleHQveG1sIixodG1sOiJ0ZXh0L2h0bWwiLHRleHQ6InRleHQvcGxhaW4iLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCIsIioiOkllfSxjb250ZW50czp7eG1sOi94bWwvLGh0bWw6L2h0bWwvLGpzb246L2pzb24vfSxyZXNwb25zZUZpZWxkczp7eG1sOiJyZXNwb25zZVhNTCIsdGV4dDoicmVzcG9uc2VUZXh0In0sY29udmVydGVyczp7IiogdGV4dCI6d2luZG93LlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjppLnBhcnNlSlNPTiwidGV4dCB4bWwiOmkucGFyc2VYTUx9LGZsYXRPcHRpb25zOntjb250ZXh0OiEwLHVybDohMH19LGFqYXhQcmVmaWx0ZXI6JGUoQmUpLGFqYXhUcmFuc3BvcnQ6JGUoV2UpLGFqYXg6ZnVuY3Rpb24oZSx0KXsib2JqZWN0Ij09dHlwZW9mIGUmJih0PWUsZT12b2lkIDApLHQ9dHx8e307dmFyIG4scixvLGEscyxsLHUsYyxmPWkuYWpheFNldHVwKHt9LHQpLGQ9Zi5jb250ZXh0fHxmLHA9ZCE9PWYmJihkLm5vZGVUeXBlfHxkIGluc3RhbmNlb2YgaSk/aShkKTppLmV2ZW50LGg9aS5EZWZlcnJlZCgpLG09aS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksZz1mLnN0YXR1c0NvZGV8fHt9LHY9e30seT17fSxiPTAseD17cmVhZHlTdGF0ZTowLHNldFJlcXVlc3RIZWFkZXI6ZnVuY3Rpb24oZSx0KXtpZighYil7dmFyIG49ZS50b0xvd2VyQ2FzZSgpO2U9eVtuXT15W25dfHxlLHZbZV09dH1yZXR1cm4gdGhpc30sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIDI9PT1iP3I6bnVsbH0sZ2V0UmVzcG9uc2VIZWFkZXI6ZnVuY3Rpb24oZSl7dmFyIHQ7aWYoMj09PWIpe2lmKCFvKWZvcihvPXt9O3Q9QWUuZXhlYyhyKTspb1t0WzFdLnRvTG93ZXJDYXNlKCldPXRbMl07dD1vW2UudG9Mb3dlckNhc2UoKV19cmV0dXJuIHZvaWQgMD09PXQ/bnVsbDp0fSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGUpe3JldHVybiBifHwoZi5taW1lVHlwZT1lKSx0aGlzfSxhYm9ydDpmdW5jdGlvbihlKXtyZXR1cm4gZT1lfHwiYWJvcnQiLGEmJmEuYWJvcnQoZSksdygwLGUpLHRoaXN9fTtmdW5jdGlvbiB3KGUsdCxvLGwpe2lmKDIhPT1iKXtiPTIscyYmY2xlYXJUaW1lb3V0KHMpLGE9dm9pZCAwLHI9bHx8IiIseC5yZWFkeVN0YXRlPWU+MD80OjA7dmFyIGMsdix5LHcsVCxOPXQsQz1vP2Z1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzPWUuY29udGVudHMsbD1lLmRhdGFUeXBlcyx1PWUucmVzcG9uc2VGaWVsZHM7Zm9yKGkgaW4gdSlpIGluIG4mJih0W3VbaV1dPW5baV0pO2Zvcig7IioiPT09bFswXTspbC5zaGlmdCgpLHZvaWQgMD09PXImJihyPWUubWltZVR5cGV8fHQuZ2V0UmVzcG9uc2VIZWFkZXIoImNvbnRlbnQtdHlwZSIpKTtpZihyKWZvcihpIGluIHMpaWYoc1tpXSYmc1tpXS50ZXN0KHIpKXtsLnVuc2hpZnQoaSk7YnJlYWt9aWYobFswXWluIG4pbz1sWzBdO2Vsc2V7Zm9yKGkgaW4gbil7aWYoIWxbMF18fGUuY29udmVydGVyc1tpKyIgIitsWzBdXSl7bz1pO2JyZWFrfWF8fChhPWkpfW89b3x8YX1pZihvKXJldHVybiBvIT09bFswXSYmbC51bnNoaWZ0KG8pLG5bb119KGYseCxvKTp2b2lkIDA7aWYoZT49MjAwJiZlPDMwMHx8MzA0PT09ZSlpZihmLmlmTW9kaWZpZWQmJigodz14LmdldFJlc3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIikpJiYoaS5sYXN0TW9kaWZpZWRbbl09dyksKFQ9eC5nZXRSZXNwb25zZUhlYWRlcigiRXRhZyIpKSYmKGkuZXRhZ1tuXT1UKSksMzA0PT09ZSlOPSJub3Rtb2RpZmllZCIsYz0hMDtlbHNlIHRyeXt2PWZ1bmN0aW9uKGUsdCl7CmUuZGF0YUZpbHRlciYmKHQ9ZS5kYXRhRmlsdGVyKHQsZS5kYXRhVHlwZSkpO3ZhciBuLHIsbyxhLHMsbCx1LGMsZj1lLmRhdGFUeXBlcyxkPXt9LHA9Zi5sZW5ndGgsaD1mWzBdO2ZvcihuPTE7bjxwO24rKyl7aWYoMT09PW4pZm9yKHIgaW4gZS5jb252ZXJ0ZXJzKSJzdHJpbmciPT10eXBlb2YgciYmKGRbci50b0xvd2VyQ2FzZSgpXT1lLmNvbnZlcnRlcnNbcl0pO2lmKGE9aCwiKiI9PT0oaD1mW25dKSloPWE7ZWxzZSBpZigiKiIhPT1hJiZhIT09aCl7aWYoIShsPWRbcz1hKyIgIitoXXx8ZFsiKiAiK2hdKSlmb3IodSBpbiBjPXZvaWQgMCxkKWlmKCgobz11LnNwbGl0KCIgIikpWzBdPT09YXx8IioiPT09b1swXSkmJihjPWRbb1sxXSsiICIraF0pKXshMD09PSh1PWRbdV0pP2w9YzohMD09PWMmJihsPXUpO2JyZWFrfWx8fGN8fGkuZXJyb3IoIk5vIGNvbnZlcnNpb24gZnJvbSAiK3MucmVwbGFjZSgiICIsIiB0byAiKSksITAhPT1sJiYodD1sP2wodCk6Yyh1KHQpKSl9fXJldHVybiB0fShmLEMpLE49InN1Y2Nlc3MiLGM9ITB9Y2F0Y2goZSl7Tj0icGFyc2VyZXJyb3IiLHk9ZX1lbHNlIHk9TixOJiYhZXx8KE49ImVycm9yIixlPDAmJihlPTApKTt4LnN0YXR1cz1lLHguc3RhdHVzVGV4dD0iIisodHx8TiksYz9oLnJlc29sdmVXaXRoKGQsW3YsTix4XSk6aC5yZWplY3RXaXRoKGQsW3gsTix5XSkseC5zdGF0dXNDb2RlKGcpLGc9dm9pZCAwLHUmJnAudHJpZ2dlcigiYWpheCIrKGM/IlN1Y2Nlc3MiOiJFcnJvciIpLFt4LGYsYz92OnldKSxtLmZpcmVXaXRoKGQsW3gsTl0pLHUmJihwLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3gsZl0pLC0taS5hY3RpdmV8fGkuZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSl9fWlmKGgucHJvbWlzZSh4KSx4LnN1Y2Nlc3M9eC5kb25lLHguZXJyb3I9eC5mYWlsLHguY29tcGxldGU9bS5hZGQseC5zdGF0dXNDb2RlPWZ1bmN0aW9uKGUpe3ZhciB0O2lmKGUpaWYoYjwyKWZvcih0IGluIGUpZ1t0XT1bZ1t0XSxlW3RdXTtlbHNlIHQ9ZVt4LnN0YXR1c10seC50aGVuKHQsdCk7cmV0dXJuIHRoaXN9LGYudXJsPSgoZXx8Zi51cmwpKyIiKS5yZXBsYWNlKEVlLCIiKS5yZXBsYWNlKEZlLE5lWzFdKyIvLyIpLGYuZGF0YVR5cGVzPWkudHJpbShmLmRhdGFUeXBlfHwiKiIpLnRvTG93ZXJDYXNlKCkuc3BsaXQoT2UpLG51bGw9PWYuY3Jvc3NEb21haW4mJihsPVBlLmV4ZWMoZi51cmwudG9Mb3dlckNhc2UoKSksZi5jcm9zc0RvbWFpbj0hKCFsfHxsWzFdPT1OZVsxXSYmbFsyXT09TmVbMl0mJihsWzNdfHwoImh0dHA6Ij09PWxbMV0/ODA6NDQzKSk9PShOZVszXXx8KCJodHRwOiI9PT1OZVsxXT84MDo0NDMpKSkpLGYuZGF0YSYmZi5wcm9jZXNzRGF0YSYmInN0cmluZyIhPXR5cGVvZiBmLmRhdGEmJihmLmRhdGE9aS5wYXJhbShmLmRhdGEsZi50cmFkaXRpb25hbCkpLFJlKEJlLGYsdCx4KSwyPT09YilyZXR1cm4hMTtpZih1PWYuZ2xvYmFsLGYudHlwZT1mLnR5cGUudG9VcHBlckNhc2UoKSxmLmhhc0NvbnRlbnQ9IUxlLnRlc3QoZi50eXBlKSx1JiYwPT1pLmFjdGl2ZSsrJiZpLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpLCFmLmhhc0NvbnRlbnQmJihmLmRhdGEmJihmLnVybCs9KGplLnRlc3QoZi51cmwpPyImIjoiPyIpK2YuZGF0YSxkZWxldGUgZi5kYXRhKSxuPWYudXJsLCExPT09Zi5jYWNoZSkpe3ZhciBUPWkubm93KCksTj1mLnVybC5yZXBsYWNlKEhlLCIkMV89IitUKTtmLnVybD1OKyhOPT09Zi51cmw/KGplLnRlc3QoZi51cmwpPyImIjoiPyIpKyJfPSIrVDoiIil9Zm9yKGMgaW4oZi5kYXRhJiZmLmhhc0NvbnRlbnQmJiExIT09Zi5jb250ZW50VHlwZXx8dC5jb250ZW50VHlwZSkmJnguc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIixmLmNvbnRlbnRUeXBlKSxmLmlmTW9kaWZpZWQmJihuPW58fGYudXJsLGkubGFzdE1vZGlmaWVkW25dJiZ4LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixpLmxhc3RNb2RpZmllZFtuXSksaS5ldGFnW25dJiZ4LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLGkuZXRhZ1tuXSkpLHguc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixmLmRhdGFUeXBlc1swXSYmZi5hY2NlcHRzW2YuZGF0YVR5cGVzWzBdXT9mLmFjY2VwdHNbZi5kYXRhVHlwZXNbMF1dKygiKiIhPT1mLmRhdGFUeXBlc1swXT8iLCAiK0llKyI7IHE9MC4wMSI6IiIpOmYuYWNjZXB0c1siKiJdKSxmLmhlYWRlcnMpeC5zZXRSZXF1ZXN0SGVhZGVyKGMsZi5oZWFkZXJzW2NdKTtpZihmLmJlZm9yZVNlbmQmJighMT09PWYuYmVmb3JlU2VuZC5jYWxsKGQseCxmKXx8Mj09PWIpKXJldHVybiB4LmFib3J0KCksITE7Zm9yKGMgaW57c3VjY2VzczoxLGVycm9yOjEsY29tcGxldGU6MX0peFtjXShmW2NdKTtpZihhPVJlKFdlLGYsdCx4KSl7eC5yZWFkeVN0YXRlPTEsdSYmcC50cmlnZ2VyKCJhamF4U2VuZCIsW3gsZl0pLGYuYXN5bmMmJmYudGltZW91dD4wJiYocz1zZXRUaW1lb3V0KChmdW5jdGlvbigpe3guYWJvcnQoInRpbWVvdXQiKX0pLGYudGltZW91dCkpO3RyeXtiPTEsYS5zZW5kKHYsdyl9Y2F0Y2goZSl7aWYoIShiPDIpKXRocm93IGU7dygtMSxlKX19ZWxzZSB3KC0xLCJObyBUcmFuc3BvcnQiKTtyZXR1cm4geH0scGFyYW06ZnVuY3Rpb24oZSx0KXt2YXIgbj1bXSxyPWZ1bmN0aW9uKGUsdCl7dD1pLmlzRnVuY3Rpb24odCk/dCgpOnQsbltuLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGUpKyI9IitlbmNvZGVVUklDb21wb25lbnQodCl9O2lmKHZvaWQgMD09PXQmJih0PWkuYWpheFNldHRpbmdzLnRyYWRpdGlvbmFsKSxpLmlzQXJyYXkoZSl8fGUuanF1ZXJ5JiYhaS5pc1BsYWluT2JqZWN0KGUpKWkuZWFjaChlLChmdW5jdGlvbigpe3IodGhpcy5uYW1lLHRoaXMudmFsdWUpfSkpO2Vsc2UgZm9yKHZhciBvIGluIGUpemUobyxlW29dLHQscik7cmV0dXJuIG4uam9pbigiJiIpLnJlcGxhY2UoQ2UsIisiKX19KSxpLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e319KTt2YXIgVmUsVWUsWWU9ISF3aW5kb3cuQWN0aXZlWE9iamVjdCYmZnVuY3Rpb24oKXtmb3IodmFyIGUgaW4gVmUpVmVbZV0oMCwxKX0sSmU9MAo7ZnVuY3Rpb24gR2UoKXt0cnl7cmV0dXJuIG5ldyB3aW5kb3cuWE1MSHR0cFJlcXVlc3R9Y2F0Y2goZSl7fX1pLmFqYXhTZXR0aW5ncy54aHI9d2luZG93LkFjdGl2ZVhPYmplY3Q/ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5pc0xvY2FsJiZHZSgpfHxmdW5jdGlvbigpe3RyeXtyZXR1cm4gbmV3IHdpbmRvdy5BY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpfWNhdGNoKGUpe319KCl9OkdlLFVlPWkuYWpheFNldHRpbmdzLnhocigpLGkuZXh0ZW5kKGkuc3VwcG9ydCx7YWpheDohIVVlLGNvcnM6ISFVZSYmIndpdGhDcmVkZW50aWFscyJpbiBVZX0pLGkuc3VwcG9ydC5hamF4JiZpLmFqYXhUcmFuc3BvcnQoKGZ1bmN0aW9uKGUpe3ZhciB0O2lmKCFlLmNyb3NzRG9tYWlufHxpLnN1cHBvcnQuY29ycylyZXR1cm57c2VuZDpmdW5jdGlvbihuLHIpe3ZhciBvLGEscz1lLnhocigpO2lmKGUudXNlcm5hbWU/cy5vcGVuKGUudHlwZSxlLnVybCxlLmFzeW5jLGUudXNlcm5hbWUsZS5wYXNzd29yZCk6cy5vcGVuKGUudHlwZSxlLnVybCxlLmFzeW5jKSxlLnhockZpZWxkcylmb3IoYSBpbiBlLnhockZpZWxkcylzW2FdPWUueGhyRmllbGRzW2FdO2UubWltZVR5cGUmJnMub3ZlcnJpZGVNaW1lVHlwZSYmcy5vdmVycmlkZU1pbWVUeXBlKGUubWltZVR5cGUpLGUuY3Jvc3NEb21haW58fG5bIlgtUmVxdWVzdGVkLVdpdGgiXXx8KG5bIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTt0cnl7Zm9yKGEgaW4gbilzLnNldFJlcXVlc3RIZWFkZXIoYSxuW2FdKX1jYXRjaChlKXt9cy5zZW5kKGUuaGFzQ29udGVudCYmZS5kYXRhfHxudWxsKSx0PWZ1bmN0aW9uKG4sYSl7dmFyIGwsdSxjLGYsZDt0cnl7aWYodCYmKGF8fDQ9PT1zLnJlYWR5U3RhdGUpKWlmKHQ9dm9pZCAwLG8mJihzLm9ucmVhZHlzdGF0ZWNoYW5nZT1pLm5vb3AsWWUmJmRlbGV0ZSBWZVtvXSksYSk0IT09cy5yZWFkeVN0YXRlJiZzLmFib3J0KCk7ZWxzZXtsPXMuc3RhdHVzLGM9cy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSxmPXt9LChkPXMucmVzcG9uc2VYTUwpJiZkLmRvY3VtZW50RWxlbWVudCYmKGYueG1sPWQpO3RyeXtmLnRleHQ9cy5yZXNwb25zZVRleHR9Y2F0Y2gobil7fXRyeXt1PXMuc3RhdHVzVGV4dH1jYXRjaChlKXt1PSIifWx8fCFlLmlzTG9jYWx8fGUuY3Jvc3NEb21haW4/MTIyMz09PWwmJihsPTIwNCk6bD1mLnRleHQ/MjAwOjQwNH19Y2F0Y2goZSl7YXx8cigtMSxlKX1mJiZyKGwsdSxmLGMpfSxlLmFzeW5jJiY0IT09cy5yZWFkeVN0YXRlPyhvPSsrSmUsWWUmJihWZXx8KFZlPXt9LGkod2luZG93KS51bmxvYWQoWWUpKSxWZVtvXT10KSxzLm9ucmVhZHlzdGF0ZWNoYW5nZT10KTp0KCl9LGFib3J0OmZ1bmN0aW9uKCl7dCYmdCgwLDEpfX19KSk7dmFyIEtlLFFlLFplLGV0LHR0PXt9LG50PS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxydD0vXihbK1wtXT0pPyhbXGQrLlwtXSspKFthLXolXSopJC9pLGl0PVtbImhlaWdodCIsIm1hcmdpblRvcCIsIm1hcmdpbkJvdHRvbSIsInBhZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9tIl0sWyJ3aWR0aCIsIm1hcmdpbkxlZnQiLCJtYXJnaW5SaWdodCIsInBhZGRpbmdMZWZ0IiwicGFkZGluZ1JpZ2h0Il0sWyJvcGFjaXR5Il1dO2Z1bmN0aW9uIG90KCl7cmV0dXJuIHNldFRpbWVvdXQoYXQsMCksZXQ9aS5ub3coKX1mdW5jdGlvbiBhdCgpe2V0PXZvaWQgMH1mdW5jdGlvbiBzdChlLHQpe3ZhciBuPXt9O3JldHVybiBpLmVhY2goaXQuY29uY2F0LmFwcGx5KFtdLGl0LnNsaWNlKDAsdCkpLChmdW5jdGlvbigpe25bdGhpc109ZX0pKSxufWZ1bmN0aW9uIGx0KGUpe2lmKCF0dFtlXSl7dmFyIG49dC5ib2R5LHI9aSgiPCIrZSsiPiIpLmFwcGVuZFRvKG4pLG89ci5jc3MoImRpc3BsYXkiKTtyLnJlbW92ZSgpLCJub25lIiE9PW8mJiIiIT09b3x8KEtlfHwoKEtlPXQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIikpLmZyYW1lQm9yZGVyPUtlLndpZHRoPUtlLmhlaWdodD0wKSxuLmFwcGVuZENoaWxkKEtlKSxRZSYmS2UuY3JlYXRlRWxlbWVudHx8KChRZT0oS2UuY29udGVudFdpbmRvd3x8S2UuY29udGVudERvY3VtZW50KS5kb2N1bWVudCkud3JpdGUoKGkuc3VwcG9ydC5ib3hNb2RlbD8iPCFkb2N0eXBlIGh0bWw+IjoiIikrIjxodG1sPjxib2R5PiIpLFFlLmNsb3NlKCkpLHI9UWUuY3JlYXRlRWxlbWVudChlKSxRZS5ib2R5LmFwcGVuZENoaWxkKHIpLG89aS5jc3MociwiZGlzcGxheSIpLG4ucmVtb3ZlQ2hpbGQoS2UpKSx0dFtlXT1vfXJldHVybiB0dFtlXX1pLmZuLmV4dGVuZCh7c2hvdzpmdW5jdGlvbihlLHQsbil7dmFyIHIsbztpZihlfHwwPT09ZSlyZXR1cm4gdGhpcy5hbmltYXRlKHN0KCJzaG93IiwzKSxlLHQsbik7Zm9yKHZhciBhPTAscz10aGlzLmxlbmd0aDthPHM7YSsrKShyPXRoaXNbYV0pLnN0eWxlJiYobz1yLnN0eWxlLmRpc3BsYXksaS5fZGF0YShyLCJvbGRkaXNwbGF5Iil8fCJub25lIiE9PW98fChvPXIuc3R5bGUuZGlzcGxheT0iIiksKCIiPT09byYmIm5vbmUiPT09aS5jc3MociwiZGlzcGxheSIpfHwhaS5jb250YWlucyhyLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHIpKSYmaS5fZGF0YShyLCJvbGRkaXNwbGF5IixsdChyLm5vZGVOYW1lKSkpO2ZvcihhPTA7YTxzO2ErKykocj10aGlzW2FdKS5zdHlsZSYmKCIiIT09KG89ci5zdHlsZS5kaXNwbGF5KSYmIm5vbmUiIT09b3x8KHIuc3R5bGUuZGlzcGxheT1pLl9kYXRhKHIsIm9sZGRpc3BsYXkiKXx8IiIpKTtyZXR1cm4gdGhpc30saGlkZTpmdW5jdGlvbihlLHQsbil7aWYoZXx8MD09PWUpcmV0dXJuIHRoaXMuYW5pbWF0ZShzdCgiaGlkZSIsMyksZSx0LG4pO2Zvcih2YXIgcixvLGE9MCxzPXRoaXMubGVuZ3RoO2E8czthKyspKHI9dGhpc1thXSkuc3R5bGUmJigibm9uZSI9PT0obz1pLmNzcyhyLCJkaXNwbGF5IikpfHxpLl9kYXRhKHIsIm9sZGRpc3BsYXkiKXx8aS5fZGF0YShyLCJvbGRkaXNwbGF5IixvKSk7Zm9yKGE9MDthPHM7YSsrKXRoaXNbYV0uc3R5bGUmJih0aGlzW2FdLnN0eWxlLmRpc3BsYXk9Im5vbmUiKTtyZXR1cm4gdGhpc30sX3RvZ2dsZTppLmZuLnRvZ2dsZSwKdG9nZ2xlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj0iYm9vbGVhbiI9PXR5cGVvZiBlO3JldHVybiBpLmlzRnVuY3Rpb24oZSkmJmkuaXNGdW5jdGlvbih0KT90aGlzLl90b2dnbGUuYXBwbHkodGhpcyxhcmd1bWVudHMpOm51bGw9PWV8fHI/dGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciB0PXI/ZTppKHRoaXMpLmlzKCI6aGlkZGVuIik7aSh0aGlzKVt0PyJzaG93IjoiaGlkZSJdKCl9KSk6dGhpcy5hbmltYXRlKHN0KCJ0b2dnbGUiLDMpLGUsdCxuKSx0aGlzfSxmYWRlVG86ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaXMuZmlsdGVyKCI6aGlkZGVuIikuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTp0fSxlLG4scil9LGFuaW1hdGU6ZnVuY3Rpb24oZSx0LG4scil7dmFyIG89aS5zcGVlZCh0LG4scik7aWYoaS5pc0VtcHR5T2JqZWN0KGUpKXJldHVybiB0aGlzLmVhY2goby5jb21wbGV0ZSxbITFdKTtmdW5jdGlvbiBhKCl7ITE9PT1vLnF1ZXVlJiZpLl9tYXJrKHRoaXMpO3ZhciB0LG4scixhLHMsbCx1LGMsZixkLHAsaD1pLmV4dGVuZCh7fSxvKSxtPTE9PT10aGlzLm5vZGVUeXBlLGc9bSYmaSh0aGlzKS5pcygiOmhpZGRlbiIpO2ZvcihyIGluIGguYW5pbWF0ZWRQcm9wZXJ0aWVzPXt9LGUpaWYociE9PSh0PWkuY2FtZWxDYXNlKHIpKSYmKGVbdF09ZVtyXSxkZWxldGUgZVtyXSksKHM9aS5jc3NIb29rc1t0XSkmJiJleHBhbmQiaW4gcylmb3IociBpbiBsPXMuZXhwYW5kKGVbdF0pLGRlbGV0ZSBlW3RdLGwpciBpbiBlfHwoZVtyXT1sW3JdKTtmb3IodCBpbiBlKXtpZihuPWVbdF0saS5pc0FycmF5KG4pPyhoLmFuaW1hdGVkUHJvcGVydGllc1t0XT1uWzFdLG49ZVt0XT1uWzBdKTpoLmFuaW1hdGVkUHJvcGVydGllc1t0XT1oLnNwZWNpYWxFYXNpbmcmJmguc3BlY2lhbEVhc2luZ1t0XXx8aC5lYXNpbmd8fCJzd2luZyIsImhpZGUiPT09biYmZ3x8InNob3ciPT09biYmIWcpcmV0dXJuIGguY29tcGxldGUuY2FsbCh0aGlzKTshbXx8ImhlaWdodCIhPT10JiYid2lkdGgiIT09dHx8KGgub3ZlcmZsb3c9W3RoaXMuc3R5bGUub3ZlcmZsb3csdGhpcy5zdHlsZS5vdmVyZmxvd1gsdGhpcy5zdHlsZS5vdmVyZmxvd1ldLCJpbmxpbmUiPT09aS5jc3ModGhpcywiZGlzcGxheSIpJiYibm9uZSI9PT1pLmNzcyh0aGlzLCJmbG9hdCIpJiYoaS5zdXBwb3J0LmlubGluZUJsb2NrTmVlZHNMYXlvdXQmJiJpbmxpbmUiIT09bHQodGhpcy5ub2RlTmFtZSk/dGhpcy5zdHlsZS56b29tPTE6dGhpcy5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2siKSl9Zm9yKHIgaW4gbnVsbCE9aC5vdmVyZmxvdyYmKHRoaXMuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIpLGUpYT1uZXcgaS5meCh0aGlzLGgsciksbj1lW3JdLG50LnRlc3Qobik/KHA9aS5fZGF0YSh0aGlzLCJ0b2dnbGUiK3IpfHwoInRvZ2dsZSI9PT1uP2c/InNob3ciOiJoaWRlIjowKSk/KGkuX2RhdGEodGhpcywidG9nZ2xlIityLCJzaG93Ij09PXA/ImhpZGUiOiJzaG93IiksYVtwXSgpKTphW25dKCk6KHU9cnQuZXhlYyhuKSxjPWEuY3VyKCksdT8oZj1wYXJzZUZsb2F0KHVbMl0pLCJweCIhPT0oZD11WzNdfHwoaS5jc3NOdW1iZXJbcl0/IiI6InB4IikpJiYoaS5zdHlsZSh0aGlzLHIsKGZ8fDEpK2QpLGM9KGZ8fDEpL2EuY3VyKCkqYyxpLnN0eWxlKHRoaXMscixjK2QpKSx1WzFdJiYoZj0oIi09Ij09PXVbMV0/LTE6MSkqZitjKSxhLmN1c3RvbShjLGYsZCkpOmEuY3VzdG9tKGMsbiwiIikpO3JldHVybiEwfXJldHVybiBlPWkuZXh0ZW5kKHt9LGUpLCExPT09by5xdWV1ZT90aGlzLmVhY2goYSk6dGhpcy5xdWV1ZShvLnF1ZXVlLGEpfSxzdG9wOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGUmJihuPXQsdD1lLGU9dm9pZCAwKSx0JiYhMSE9PWUmJnRoaXMucXVldWUoZXx8ImZ4IixbXSksdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciB0LHI9ITEsbz1pLnRpbWVycyxhPWkuX2RhdGEodGhpcyk7ZnVuY3Rpb24gcyhlLHQscil7dmFyIG89dFtyXTtpLnJlbW92ZURhdGEoZSxyLCEwKSxvLnN0b3Aobil9aWYobnx8aS5fdW5tYXJrKCEwLHRoaXMpLG51bGw9PWUpZm9yKHQgaW4gYSlhW3RdJiZhW3RdLnN0b3AmJnQuaW5kZXhPZigiLnJ1biIpPT09dC5sZW5ndGgtNCYmcyh0aGlzLGEsdCk7ZWxzZSBhW3Q9ZSsiLnJ1biJdJiZhW3RdLnN0b3AmJnModGhpcyxhLHQpO2Zvcih0PW8ubGVuZ3RoO3QtLTspb1t0XS5lbGVtIT09dGhpc3x8bnVsbCE9ZSYmb1t0XS5xdWV1ZSE9PWV8fChuP29bdF0oITApOm9bdF0uc2F2ZVN0YXRlKCkscj0hMCxvLnNwbGljZSh0LDEpKTtuJiZyfHxpLmRlcXVldWUodGhpcyxlKX0pKX19KSxpLmVhY2goe3NsaWRlRG93bjpzdCgic2hvdyIsMSksc2xpZGVVcDpzdCgiaGlkZSIsMSksc2xpZGVUb2dnbGU6c3QoInRvZ2dsZSIsMSksZmFkZUluOntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlkZSJ9LGZhZGVUb2dnbGU6e29wYWNpdHk6InRvZ2dsZSJ9fSwoZnVuY3Rpb24oZSx0KXtpLmZuW2VdPWZ1bmN0aW9uKGUsbixyKXtyZXR1cm4gdGhpcy5hbmltYXRlKHQsZSxuLHIpfX0pKSxpLmV4dGVuZCh7c3BlZWQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUmJiJvYmplY3QiPT10eXBlb2YgZT9pLmV4dGVuZCh7fSxlKTp7Y29tcGxldGU6bnx8IW4mJnR8fGkuaXNGdW5jdGlvbihlKSYmZSxkdXJhdGlvbjplLGVhc2luZzpuJiZ0fHx0JiYhaS5pc0Z1bmN0aW9uKHQpJiZ0fTtyZXR1cm4gci5kdXJhdGlvbj1pLmZ4Lm9mZj8wOiJudW1iZXIiPT10eXBlb2Ygci5kdXJhdGlvbj9yLmR1cmF0aW9uOnIuZHVyYXRpb24gaW4gaS5meC5zcGVlZHM/aS5meC5zcGVlZHNbci5kdXJhdGlvbl06aS5meC5zcGVlZHMuX2RlZmF1bHQsbnVsbCE9ci5xdWV1ZSYmITAhPT1yLnF1ZXVlfHwoci5xdWV1ZT0iZngiKSxyLm9sZD1yLmNvbXBsZXRlLHIuY29tcGxldGU9ZnVuY3Rpb24oZSl7aS5pc0Z1bmN0aW9uKHIub2xkKSYmci5vbGQuY2FsbCh0aGlzKSxyLnF1ZXVlP2kuZGVxdWV1ZSh0aGlzLHIucXVldWUpOiExIT09ZSYmaS5fdW5tYXJrKHRoaXMpfSxyfSxlYXNpbmc6ewpsaW5lYXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LHN3aW5nOmZ1bmN0aW9uKGUpe3JldHVybi1NYXRoLmNvcyhlKk1hdGguUEkpLzIrLjV9fSx0aW1lcnM6W10sZng6ZnVuY3Rpb24oZSx0LG4pe3RoaXMub3B0aW9ucz10LHRoaXMuZWxlbT1lLHRoaXMucHJvcD1uLHQub3JpZz10Lm9yaWd8fHt9fX0pLGkuZngucHJvdG90eXBlPXt1cGRhdGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksKGkuZnguc3RlcFt0aGlzLnByb3BdfHxpLmZ4LnN0ZXAuX2RlZmF1bHQpKHRoaXMpfSxjdXI6ZnVuY3Rpb24oKXtpZihudWxsIT10aGlzLmVsZW1bdGhpcy5wcm9wXSYmKCF0aGlzLmVsZW0uc3R5bGV8fG51bGw9PXRoaXMuZWxlbS5zdHlsZVt0aGlzLnByb3BdKSlyZXR1cm4gdGhpcy5lbGVtW3RoaXMucHJvcF07dmFyIGUsdD1pLmNzcyh0aGlzLmVsZW0sdGhpcy5wcm9wKTtyZXR1cm4gaXNOYU4oZT1wYXJzZUZsb2F0KHQpKT90JiYiYXV0byIhPT10P3Q6MDplfSxjdXN0b206ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXMsbz1pLmZ4O2Z1bmN0aW9uIGEoZSl7cmV0dXJuIHIuc3RlcChlKX10aGlzLnN0YXJ0VGltZT1ldHx8b3QoKSx0aGlzLmVuZD10LHRoaXMubm93PXRoaXMuc3RhcnQ9ZSx0aGlzLnBvcz10aGlzLnN0YXRlPTAsdGhpcy51bml0PW58fHRoaXMudW5pdHx8KGkuY3NzTnVtYmVyW3RoaXMucHJvcF0/IiI6InB4IiksYS5xdWV1ZT10aGlzLm9wdGlvbnMucXVldWUsYS5lbGVtPXRoaXMuZWxlbSxhLnNhdmVTdGF0ZT1mdW5jdGlvbigpe3ZvaWQgMD09PWkuX2RhdGEoci5lbGVtLCJmeHNob3ciK3IucHJvcCkmJihyLm9wdGlvbnMuaGlkZT9pLl9kYXRhKHIuZWxlbSwiZnhzaG93IityLnByb3Asci5zdGFydCk6ci5vcHRpb25zLnNob3cmJmkuX2RhdGEoci5lbGVtLCJmeHNob3ciK3IucHJvcCxyLmVuZCkpfSxhKCkmJmkudGltZXJzLnB1c2goYSkmJiFaZSYmKFplPXNldEludGVydmFsKG8udGljayxvLmludGVydmFsKSl9LHNob3c6ZnVuY3Rpb24oKXt2YXIgZT1pLl9kYXRhKHRoaXMuZWxlbSwiZnhzaG93Iit0aGlzLnByb3ApO3RoaXMub3B0aW9ucy5vcmlnW3RoaXMucHJvcF09ZXx8aS5zdHlsZSh0aGlzLmVsZW0sdGhpcy5wcm9wKSx0aGlzLm9wdGlvbnMuc2hvdz0hMCx2b2lkIDAhPT1lP3RoaXMuY3VzdG9tKHRoaXMuY3VyKCksZSk6dGhpcy5jdXN0b20oIndpZHRoIj09PXRoaXMucHJvcHx8ImhlaWdodCI9PT10aGlzLnByb3A/MTowLHRoaXMuY3VyKCkpLGkodGhpcy5lbGVtKS5zaG93KCl9LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMub3JpZ1t0aGlzLnByb3BdPWkuX2RhdGEodGhpcy5lbGVtLCJmeHNob3ciK3RoaXMucHJvcCl8fGkuc3R5bGUodGhpcy5lbGVtLHRoaXMucHJvcCksdGhpcy5vcHRpb25zLmhpZGU9ITAsdGhpcy5jdXN0b20odGhpcy5jdXIoKSwwKX0sc3RlcDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsbz1ldHx8b3QoKSxhPSEwLHM9dGhpcy5lbGVtLGw9dGhpcy5vcHRpb25zO2lmKGV8fG8+PWwuZHVyYXRpb24rdGhpcy5zdGFydFRpbWUpe2Zvcih0IGluIHRoaXMubm93PXRoaXMuZW5kLHRoaXMucG9zPXRoaXMuc3RhdGU9MSx0aGlzLnVwZGF0ZSgpLGwuYW5pbWF0ZWRQcm9wZXJ0aWVzW3RoaXMucHJvcF09ITAsbC5hbmltYXRlZFByb3BlcnRpZXMpITAhPT1sLmFuaW1hdGVkUHJvcGVydGllc1t0XSYmKGE9ITEpO2lmKGEpe2lmKG51bGw9PWwub3ZlcmZsb3d8fGkuc3VwcG9ydC5zaHJpbmtXcmFwQmxvY2tzfHxpLmVhY2goWyIiLCJYIiwiWSJdLChmdW5jdGlvbihlLHQpe3Muc3R5bGVbIm92ZXJmbG93Iit0XT1sLm92ZXJmbG93W2VdfSkpLGwuaGlkZSYmaShzKS5oaWRlKCksbC5oaWRlfHxsLnNob3cpZm9yKHQgaW4gbC5hbmltYXRlZFByb3BlcnRpZXMpaS5zdHlsZShzLHQsbC5vcmlnW3RdKSxpLnJlbW92ZURhdGEocywiZnhzaG93Iit0LCEwKSxpLnJlbW92ZURhdGEocywidG9nZ2xlIit0LCEwKTsocj1sLmNvbXBsZXRlKSYmKGwuY29tcGxldGU9ITEsci5jYWxsKHMpKX1yZXR1cm4hMX1yZXR1cm4gbC5kdXJhdGlvbj09MS8wP3RoaXMubm93PW86KG49by10aGlzLnN0YXJ0VGltZSx0aGlzLnN0YXRlPW4vbC5kdXJhdGlvbix0aGlzLnBvcz1pLmVhc2luZ1tsLmFuaW1hdGVkUHJvcGVydGllc1t0aGlzLnByb3BdXSh0aGlzLnN0YXRlLG4sMCwxLGwuZHVyYXRpb24pLHRoaXMubm93PXRoaXMuc3RhcnQrKHRoaXMuZW5kLXRoaXMuc3RhcnQpKnRoaXMucG9zKSx0aGlzLnVwZGF0ZSgpLCEwfX0saS5leHRlbmQoaS5meCx7dGljazpmdW5jdGlvbigpe2Zvcih2YXIgZSx0PWkudGltZXJzLG49MDtuPHQubGVuZ3RoO24rKykoZT10W25dKSgpfHx0W25dIT09ZXx8dC5zcGxpY2Uobi0tLDEpO3QubGVuZ3RofHxpLmZ4LnN0b3AoKX0saW50ZXJ2YWw6MTMsc3RvcDpmdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoWmUpLFplPW51bGx9LHNwZWVkczp7c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxzdGVwOntvcGFjaXR5OmZ1bmN0aW9uKGUpe2kuc3R5bGUoZS5lbGVtLCJvcGFjaXR5IixlLm5vdyl9LF9kZWZhdWx0OmZ1bmN0aW9uKGUpe2UuZWxlbS5zdHlsZSYmbnVsbCE9ZS5lbGVtLnN0eWxlW2UucHJvcF0/ZS5lbGVtLnN0eWxlW2UucHJvcF09ZS5ub3crZS51bml0OmUuZWxlbVtlLnByb3BdPWUubm93fX19KSxpLmVhY2goaXQuY29uY2F0LmFwcGx5KFtdLGl0KSwoZnVuY3Rpb24oZSx0KXt0LmluZGV4T2YoIm1hcmdpbiIpJiYoaS5meC5zdGVwW3RdPWZ1bmN0aW9uKGUpe2kuc3R5bGUoZS5lbGVtLHQsTWF0aC5tYXgoMCxlLm5vdykrZS51bml0KX0pfSkpLGkuZXhwciYmaS5leHByLmZpbHRlcnMmJihpLmV4cHIuZmlsdGVycy5hbmltYXRlZD1mdW5jdGlvbihlKXtyZXR1cm4gaS5ncmVwKGkudGltZXJzLChmdW5jdGlvbih0KXtyZXR1cm4gZT09PXQuZWxlbX0pKS5sZW5ndGh9KTt2YXIgdXQsY3Q9L150KD86YWJsZXxkfGgpJC9pLGZ0PS9eKD86Ym9keXxodG1sKSQvaTtmdW5jdGlvbiBkdChlKXsKcmV0dXJuIGkuaXNXaW5kb3coZSk/ZTo5PT09ZS5ub2RlVHlwZSYmKGUuZGVmYXVsdFZpZXd8fGUucGFyZW50V2luZG93KX11dD0iZ2V0Qm91bmRpbmdDbGllbnRSZWN0ImluIHQuZG9jdW1lbnRFbGVtZW50P2Z1bmN0aW9uKGUsdCxuLHIpe3RyeXtyPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y2F0Y2goZSl7fWlmKCFyfHwhaS5jb250YWlucyhuLGUpKXJldHVybiByP3t0b3A6ci50b3AsbGVmdDpyLmxlZnR9Ont0b3A6MCxsZWZ0OjB9O3ZhciBvPXQuYm9keSxhPWR0KHQpLHM9bi5jbGllbnRUb3B8fG8uY2xpZW50VG9wfHwwLGw9bi5jbGllbnRMZWZ0fHxvLmNsaWVudExlZnR8fDAsdT1hLnBhZ2VZT2Zmc2V0fHxpLnN1cHBvcnQuYm94TW9kZWwmJm4uc2Nyb2xsVG9wfHxvLnNjcm9sbFRvcCxjPWEucGFnZVhPZmZzZXR8fGkuc3VwcG9ydC5ib3hNb2RlbCYmbi5zY3JvbGxMZWZ0fHxvLnNjcm9sbExlZnQ7cmV0dXJue3RvcDpyLnRvcCt1LXMsbGVmdDpyLmxlZnQrYy1sfX06ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcixvPWUub2Zmc2V0UGFyZW50LGE9dC5ib2R5LHM9dC5kZWZhdWx0VmlldyxsPXM/cy5nZXRDb21wdXRlZFN0eWxlKGUsbnVsbCk6ZS5jdXJyZW50U3R5bGUsdT1lLm9mZnNldFRvcCxjPWUub2Zmc2V0TGVmdDsoZT1lLnBhcmVudE5vZGUpJiZlIT09YSYmZSE9PW4mJighaS5zdXBwb3J0LmZpeGVkUG9zaXRpb258fCJmaXhlZCIhPT1sLnBvc2l0aW9uKTspcj1zP3MuZ2V0Q29tcHV0ZWRTdHlsZShlLG51bGwpOmUuY3VycmVudFN0eWxlLHUtPWUuc2Nyb2xsVG9wLGMtPWUuc2Nyb2xsTGVmdCxlPT09byYmKHUrPWUub2Zmc2V0VG9wLGMrPWUub2Zmc2V0TGVmdCwhaS5zdXBwb3J0LmRvZXNOb3RBZGRCb3JkZXJ8fGkuc3VwcG9ydC5kb2VzQWRkQm9yZGVyRm9yVGFibGVBbmRDZWxscyYmY3QudGVzdChlLm5vZGVOYW1lKXx8KHUrPXBhcnNlRmxvYXQoci5ib3JkZXJUb3BXaWR0aCl8fDAsYys9cGFyc2VGbG9hdChyLmJvcmRlckxlZnRXaWR0aCl8fDApLG89ZS5vZmZzZXRQYXJlbnQpLGkuc3VwcG9ydC5zdWJ0cmFjdHNCb3JkZXJGb3JPdmVyZmxvd05vdFZpc2libGUmJiJ2aXNpYmxlIiE9PXIub3ZlcmZsb3cmJih1Kz1wYXJzZUZsb2F0KHIuYm9yZGVyVG9wV2lkdGgpfHwwLGMrPXBhcnNlRmxvYXQoci5ib3JkZXJMZWZ0V2lkdGgpfHwwKSxsPXI7cmV0dXJuInJlbGF0aXZlIiE9PWwucG9zaXRpb24mJiJzdGF0aWMiIT09bC5wb3NpdGlvbnx8KHUrPWEub2Zmc2V0VG9wLGMrPWEub2Zmc2V0TGVmdCksaS5zdXBwb3J0LmZpeGVkUG9zaXRpb24mJiJmaXhlZCI9PT1sLnBvc2l0aW9uJiYodSs9TWF0aC5tYXgobi5zY3JvbGxUb3AsYS5zY3JvbGxUb3ApLGMrPU1hdGgubWF4KG4uc2Nyb2xsTGVmdCxhLnNjcm9sbExlZnQpKSx7dG9wOnUsbGVmdDpjfX0saS5mbi5vZmZzZXQ9ZnVuY3Rpb24oZSl7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09ZT90aGlzOnRoaXMuZWFjaCgoZnVuY3Rpb24odCl7aS5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsZSx0KX0pKTt2YXIgdD10aGlzWzBdLG49dCYmdC5vd25lckRvY3VtZW50O3JldHVybiBuP3Q9PT1uLmJvZHk/aS5vZmZzZXQuYm9keU9mZnNldCh0KTp1dCh0LG4sbi5kb2N1bWVudEVsZW1lbnQpOm51bGx9LGkub2Zmc2V0PXtib2R5T2Zmc2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUub2Zmc2V0VG9wLG49ZS5vZmZzZXRMZWZ0O3JldHVybiBpLnN1cHBvcnQuZG9lc05vdEluY2x1ZGVNYXJnaW5JbkJvZHlPZmZzZXQmJih0Kz1wYXJzZUZsb2F0KGkuY3NzKGUsIm1hcmdpblRvcCIpKXx8MCxuKz1wYXJzZUZsb2F0KGkuY3NzKGUsIm1hcmdpbkxlZnQiKSl8fDApLHt0b3A6dCxsZWZ0Om59fSxzZXRPZmZzZXQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWkuY3NzKGUsInBvc2l0aW9uIik7InN0YXRpYyI9PT1yJiYoZS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKTt2YXIgbyxhLHM9aShlKSxsPXMub2Zmc2V0KCksdT1pLmNzcyhlLCJ0b3AiKSxjPWkuY3NzKGUsImxlZnQiKSxmPXt9LGQ9e307KCJhYnNvbHV0ZSI9PT1yfHwiZml4ZWQiPT09cikmJmkuaW5BcnJheSgiYXV0byIsW3UsY10pPi0xPyhvPShkPXMucG9zaXRpb24oKSkudG9wLGE9ZC5sZWZ0KToobz1wYXJzZUZsb2F0KHUpfHwwLGE9cGFyc2VGbG9hdChjKXx8MCksaS5pc0Z1bmN0aW9uKHQpJiYodD10LmNhbGwoZSxuLGwpKSxudWxsIT10LnRvcCYmKGYudG9wPXQudG9wLWwudG9wK28pLG51bGwhPXQubGVmdCYmKGYubGVmdD10LmxlZnQtbC5sZWZ0K2EpLCJ1c2luZyJpbiB0P3QudXNpbmcuY2FsbChlLGYpOnMuY3NzKGYpfX0saS5mbi5leHRlbmQoe3Bvc2l0aW9uOmZ1bmN0aW9uKCl7aWYoIXRoaXNbMF0pcmV0dXJuIG51bGw7dmFyIGU9dGhpc1swXSx0PXRoaXMub2Zmc2V0UGFyZW50KCksbj10aGlzLm9mZnNldCgpLHI9ZnQudGVzdCh0WzBdLm5vZGVOYW1lKT97dG9wOjAsbGVmdDowfTp0Lm9mZnNldCgpO3JldHVybiBuLnRvcC09cGFyc2VGbG9hdChpLmNzcyhlLCJtYXJnaW5Ub3AiKSl8fDAsbi5sZWZ0LT1wYXJzZUZsb2F0KGkuY3NzKGUsIm1hcmdpbkxlZnQiKSl8fDAsci50b3ArPXBhcnNlRmxvYXQoaS5jc3ModFswXSwiYm9yZGVyVG9wV2lkdGgiKSl8fDAsci5sZWZ0Kz1wYXJzZUZsb2F0KGkuY3NzKHRbMF0sImJvcmRlckxlZnRXaWR0aCIpKXx8MCx7dG9wOm4udG9wLXIudG9wLGxlZnQ6bi5sZWZ0LXIubGVmdH19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcCgoZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5vZmZzZXRQYXJlbnR8fHQuYm9keTtlJiYhZnQudGVzdChlLm5vZGVOYW1lKSYmInN0YXRpYyI9PT1pLmNzcyhlLCJwb3NpdGlvbiIpOyllPWUub2Zmc2V0UGFyZW50O3JldHVybiBlfSkpfX0pLGkuZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSwoZnVuY3Rpb24oZSx0KXt2YXIgbj0vWS8udGVzdCh0KTtpLmZuW2VdPWZ1bmN0aW9uKHIpe3JldHVybiBpLmFjY2Vzcyh0aGlzLChmdW5jdGlvbihlLHIsbyl7dmFyIGE9ZHQoZSkKO2lmKHZvaWQgMD09PW8pcmV0dXJuIGE/dCBpbiBhP2FbdF06aS5zdXBwb3J0LmJveE1vZGVsJiZhLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtyXXx8YS5kb2N1bWVudC5ib2R5W3JdOmVbcl07YT9hLnNjcm9sbFRvKG4/aShhKS5zY3JvbGxMZWZ0KCk6byxuP286aShhKS5zY3JvbGxUb3AoKSk6ZVtyXT1vfSksZSxyLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSkpLGkuZWFjaCh7SGVpZ2h0OiJoZWlnaHQiLFdpZHRoOiJ3aWR0aCJ9LChmdW5jdGlvbihlLHQpe3ZhciBuPSJjbGllbnQiK2Uscj0ic2Nyb2xsIitlLG89Im9mZnNldCIrZTtpLmZuWyJpbm5lciIrZV09ZnVuY3Rpb24oKXt2YXIgZT10aGlzWzBdO3JldHVybiBlP2Uuc3R5bGU/cGFyc2VGbG9hdChpLmNzcyhlLHQsInBhZGRpbmciKSk6dGhpc1t0XSgpOm51bGx9LGkuZm5bIm91dGVyIitlXT1mdW5jdGlvbihlKXt2YXIgbj10aGlzWzBdO3JldHVybiBuP24uc3R5bGU/cGFyc2VGbG9hdChpLmNzcyhuLHQsZT8ibWFyZ2luIjoiYm9yZGVyIikpOnRoaXNbdF0oKTpudWxsfSxpLmZuW3RdPWZ1bmN0aW9uKGUpe3JldHVybiBpLmFjY2Vzcyh0aGlzLChmdW5jdGlvbihlLHQsYSl7dmFyIHMsbCx1LGM7cmV0dXJuIGkuaXNXaW5kb3coZSk/KGw9KHM9ZS5kb2N1bWVudCkuZG9jdW1lbnRFbGVtZW50W25dLGkuc3VwcG9ydC5ib3hNb2RlbCYmbHx8cy5ib2R5JiZzLmJvZHlbbl18fGwpOjk9PT1lLm5vZGVUeXBlPyhzPWUuZG9jdW1lbnRFbGVtZW50KVtuXT49c1tyXT9zW25dOk1hdGgubWF4KGUuYm9keVtyXSxzW3JdLGUuYm9keVtvXSxzW29dKTp2b2lkIDA9PT1hPyh1PWkuY3NzKGUsdCksYz1wYXJzZUZsb2F0KHUpLGkuaXNOdW1lcmljKGMpP2M6dSk6dm9pZCBpKGUpLmNzcyh0LGEpfSksdCxlLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSkpLGUuZXhwb3J0cz13aW5kb3cualF1ZXJ5PXdpbmRvdy4kPWl9fV0pOw=="}},"time_used":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/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/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.657Z","timestamp":1785141584657,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/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/advanced-chart/?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 08:39:44 GMT\r\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: 1a30e01543ac6b36853e3aa58bfb0c03\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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-07-27T15:03:44.246869Z","times_seen":2043,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtQUVROTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLUFFUTk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LndyYXBwZXItaGN0MnlKdkt7Y29sb3I6dmFyKC0tXzAtQUVROSl9LmFuaW1hdGVkLWhjdDJ5SnZLe2FuaW1hdGlvbjoxcyBlYXNlLWluLW91dCAwcyBpbmZpbml0ZSBhbHRlcm5hdGUgbm9uZSBydW5uaW5nO2FuaW1hdGlvbi1uYW1lOnB1bHNhdGlvbi1oY3QyeUp2S31Aa2V5ZnJhbWVzIHB1bHNhdGlvbi1oY3QyeUp2S3swJXtvcGFjaXR5OjF9dG97b3BhY2l0eTouNH19W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtX19ycTp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1fX3JxOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtX19ycTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLV8xLV9fcnE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LmxvZ28tVkNOS3ViV3F7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubG9nby1WQ05LdWJXcTpub3QoaW1nKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLV9fcnEpfS5oaWRkZW4tVkNOS3ViV3F7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlfS54eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjMtVkNOS3ViV3F7Zm9udC1zaXplOjEwcHg7aGVpZ2h0OjEycHg7bGluZS1oZWlnaHQ6MTBweDttaW4td2lkdGg6MTJweDt3aWR0aDoxMnB4fS54eHhzbWFsbC1WQ05LdWJXcXtmb250LXNpemU6MTFweDtoZWlnaHQ6MThweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDoxOHB4O3dpZHRoOjE4cHh9Lnh4c21hbGwtVkNOS3ViV3F7Zm9udC1zaXplOjExcHg7aGVpZ2h0OjIwcHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjBweDt3aWR0aDoyMHB4fS54c21hbGwtVkNOS3ViV3F7Zm9udC1zaXplOjExcHg7aGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjRweDt3aWR0aDoyNHB4fS5zbWFsbC1WQ05LdWJXcXtmb250LXNpemU6MTRweDtoZWlnaHQ6MjhweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDoyOHB4O3dpZHRoOjI4cHh9Lm1lZGl1bS1WQ05LdWJXcXtmb250LXNpemU6MTZweDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDozNnB4O3dpZHRoOjM2cHh9LmxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZToyNHB4O2hlaWdodDo0OHB4O2xpbmUtaGVpZ2h0OjMycHg7bWluLXdpZHRoOjQ4cHg7d2lkdGg6NDhweH0ueGxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZTo0MHB4O2hlaWdodDo1NnB4O2xpbmUtaGVpZ2h0OjQwcHg7bWluLXdpZHRoOjU2cHg7d2lkdGg6NTZweH0ueHhsYXJnZS1WQ05LdWJXcXtmb250LXNpemU6ODBweDtoZWlnaHQ6MTEycHg7bGluZS1oZWlnaHQ6ODBweDttaW4td2lkdGg6MTEycHg7d2lkdGg6MTEycHh9Lnh4eGxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZToxNjBweDtoZWlnaHQ6MTY4cHg7bGluZS1oZWlnaHQ6MTYwcHg7bWluLXdpZHRoOjE2OHB4O3dpZHRoOjE2OHB4fS5za2VsZXRvbi1WQ05LdWJXcXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0ubGV0dGVyLVZDTkt1Yldxe2NvbG9yOnZhcigtLV8wLV9fcnEpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/90741.af2b48170d64547408ff.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.742Z","timestamp":1785141584742,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/90741.af2b48170d64547408ff.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd31-8800\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:16:17 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1aed04ab3277dfe2a0e5aaa2f92eead3\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":34816,"size_decoded":6493,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (34816), with no line terminators","md5":"397df641db9c72f75974df50d0ea576c","sha1":"d1064650fc562fa19960f953f2ec569aa4cd6305","sha256":"b0d61a1080fb8d0f614dcf7b4b96cf28b1ce834dc3b327efeb2d408ed9ba0759","sha512":"bb92033b33407fc3bdbe519ca24b7c1a576b974c7057d61212e9108ff03783af1fe63ea696e98c25332e6b41e1a7a35bbbedf7e71cf6193997d6ae884719480a","ssdeep":"384:TJgnHqCXVElvht/waL2Ws7Zp5Ijjyrr0dS0W4BH+m8S/2WU:TJgnHqCKz/8G7+mY","tlshash":"20f2f04e8e9ce7254603416d2dc27588e32e954eb05a33ffe2ad539e0dd69b182f142f","first_seen":"2026-07-20T16:56:18.360342Z","last_seen":"2026-07-27T14:50:15.330822Z","times_seen":115,"resource_available":false,"data":"LnBhbmVDb250cm9scy1FeHp4OUlBWntwb2ludGVyLWV2ZW50czphbGw7cG9zaXRpb246c3RhdGljO3RyYW5zaXRpb246b3BhY2l0eSAuNHMsdmlzaWJpbGl0eSAuNHM7ei1pbmRleDo3fS5wYW5lQ29udHJvbHNfaGlkZGVuLUV4eng5SUFae29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Zpc2liaWxpdHk6aGlkZGVufS5wYW5lQ29udHJvbHNfZm9yY2VIaWRkZW4tRXh6eDlJQVp7aGVpZ2h0OjA7bGluZS1oZWlnaHQ6MDt3aWR0aDowfS5wYW5lQ29udHJvbHNfcmVtb3ZlLUV4eng5SUFae2Rpc3BsYXk6bm9uZX0uYnV0dG9ucy1FeHp4OUlBWntjb2x1bW4tZ2FwOjRweDtmbGV4LXdyYXA6bm93cmFwfS5idXR0b24tRXh6eDlJQVosLmJ1dHRvbnMtRXh6eDlJQVp7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4OjAgMCBhdXRvfS5idXR0b24tRXh6eDlJQVp7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTtib3JkZXItcmFkaXVzOjRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7Y3Vyc29yOmRlZmF1bHQ7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjRweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1FeHp4OUlBWjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApfX0uYnV0dG9uLUV4eng5SUFaOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApfS5idXR0b25fYWN0aXZhdGVkLUV4eng5SUFae2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uX2FjdGl2YXRlZC1FeHp4OUlBWjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApfX0uYnV0dG9uLUV4eng5SUFaOmFjdGl2ZSwuYnV0dG9uX2FjdGl2YXRlZC1FeHp4OUlBWntib3JkZXItd2lkdGg6MH0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5idXR0b24tRXh6eDlJQVp7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmJ1dHRvbi1FeHp4OUlBWjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5idXR0b24tRXh6eDlJQVo6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuYnV0dG9uX2FjdGl2YXRlZC1FeHp4OUlBWntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5idXR0b25fYWN0aXZhdGVkLUV4eng5SUFaOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9fS50b3VjaE1vZGUtRXh6eDlJQVogLmJ1dHRvbi1FeHp4OUlBWntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29sbGFwc2UtRXh6eDlJQVo6aG92ZXIgLmJyYWNrZXQtdXAsLm1heGltaXplLUV4eng5SUFaOmhvdmVyIC5icmFja2V0LXVwe2FuaW1hdGlvbjptYXhpbWl6ZS1hbmltYXRpb24tdXAtYnJhY2tldC1FeHp4OUlBWiAuNnMgZWFzZX0uY29sbGFwc2UtRXh6eDlJQVo6aG92ZXIgLmJyYWNrZXQtZG93biwubWF4aW1pemUtRXh6eDlJQVo6aG92ZXIgLmJyYWNrZXQtZG93bnthbmltYXRpb246bWF4aW1pemUtYW5pbWF0aW9uLWRvd24tYnJhY2tldC1FeHp4OUlBWiAuNnMgZWFzZX19LmNvbGxhcHNlLUV4eng5SUFaIC5icmFja2V0LWRvd24sLmNvbGxhcHNlLUV4eng5SUFaIC5icmFja2V0LXVwLC5tYXhpbWl6ZS1FeHp4OUlBWiAuYnJhY2tldC1kb3duLC5tYXhpbWl6ZS1FeHp4OUlBWiAuYnJhY2tldC11cHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX1Aa2V5ZnJhbWVzIG1heGltaXplLWFuaW1hdGlvbi11cC1icmFja2V0LUV4eng5SUFaezUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxcHgpfX1Aa2V5ZnJhbWVzIG1heGltaXplLWFuaW1hdGlvbi1kb3duLWJyYWNrZXQtRXh6eDlJQVp7NTAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm1pbmltaXplLUV4eng5SUFaOmhvdmVyIC5icmFja2V0LXVwLC5yZXN0b3JlLUV4eng5SUFaOmhvdmVyIC5icmFja2V0LXVwe2FuaW1hdGlvbjptaW5pbWl6ZS1hbmltYXRpb24tdXAtYnJhY2tldC1FeHp4OUlBWiAuNnMgZWFzZX0ubWluaW1pemUtRXh6eDlJQVo6aG92ZXIgLmJyYWNrZXQtZG93biwucmVzdG9yZS1FeHp4OUlBWjpob3ZlciAuYnJhY2tldC1kb3due2FuaW1hdGlvbjptaW5pbWl6ZS1hbmltYXRpb24tZG93bi1icmFja2V0LUV4eng5SUFaIC42cyBlYXNlfX0ubWluaW1pemUtRXh6eDlJQVogLmJyYWNrZXQtZG93biwubWluaW1pemUtRXh6eDlJQVogLmJyYWNrZXQtdXAsLnJlc3RvcmUtRXh6eDlJQVogLmJyYWNrZXQtZG93biwucmVzdG9yZS1FeHp4OUlBWiAuYnJhY2tldC11cHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX1Aa2V5ZnJhbWVzIG1pbmltaXplLWFuaW1hdGlvbi11cC1icmFja2V0LUV4eng5SUFaezUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KX19QGtleWZyYW1lcyBtaW5pbWl6ZS1hbmltYXRpb24tZG93bi1icmFja2V0LUV4eng5SUFaezUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxcHgpfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVwLUV4eng5SUFaOmhvdmVyIC5idXR0b25JY29uLUV4eng5SUFae2FuaW1hdGlvbjp1cC1hbmltYXRpb24tRXh6eDlJQVogLjZzIGVhc2V9fUBrZXlmcmFtZXMgdXAtYW5pbWF0aW9uLUV4eng5SUFaezAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5kb3duLUV4eng5SUFaOmhvdmVyIC5idXR0b25JY29uLUV4eng5SUFae2FuaW1hdGlvbjpkb3duLWFuaW1hdGlvbi1FeHp4OUlBWiAuNnMgZWFzZX19QGtleWZyYW1lcyBkb3duLWFuaW1hdGlvbi1FeHp4OUlBWnswJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX01MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMnB4KX19LmJsb2NrSGlkZGVuLUxjWWRvMk42e2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnBhbmUtYnV0dG9uLUxjWWRvMk42e2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7Ym9yZGVyLXJhZGl1czozcHg7Y3Vyc29yOmRlZmF1bHR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5wYW5lLWJ1dHRvbi1MY1lkbzJONjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWxpZ2h0KTtib3JkZXItcmFkaXVzOjNweDtib3R0b206MDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7ei1pbmRleDowfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5wYW5lLWJ1dHRvbi1MY1lkbzJONntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnBhbmUtYnV0dG9uLUxjWWRvMk42OmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQpfX0uY29udHJvbC1iYXItd3JhcHBlcntkaXJlY3Rpb246bHRyO2hlaWdodDoyNHB4O3BhZGRpbmc6NXB4IDA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjF9LmNvbnRyb2wtYmFyLXdyYXBwZXItLWJhY2stcHJlc2VudHtyaWdodDoycHh9LmNvbnRyb2wtYmFye2Rpc3BsYXk6ZmxleDt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzLHZpc2liaWxpdHkgLjNzO3Zpc2liaWxpdHk6dmlzaWJsZX0uY29udHJvbC1iYXItLWhpZGRlbiwuY29udHJvbC1iYXItLWhpZGRlbiAuY29udHJvbC1iYXJfX2J0bntvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW59LmNvbnRyb2wtYmFyX19ncm91cHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O21hcmdpbjowIDRweH0uY29udHJvbC1iYXJfX2J0bnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2UpO2JvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpO2NvbG9yOnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQpO2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MCA0cHg7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG87dHJhbnNpdGlvbjpjb2xvciAuM3MsdmlzaWJpbGl0eSAuNHMsb3BhY2l0eSAuNHM7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dmlzaWJpbGl0eTp2aXNpYmxlO3dpZHRoOjI0cHg7ei1pbmRleDoxfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29udHJvbC1iYXJfX2J0bjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCl9fS5jb250cm9sLWJhcl9fYnRuOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCk7dHJhbnNpdGlvbjpub25lfS5jb250cm9sLWJhcl9fYnRuLS1hY3RpdmF0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250cm9sLWJhcl9fYnRuLS1hY3RpdmF0ZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5jb250cm9sLWJhcl9fYnRuLS1idG4taGlkZGVue29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbn0uY29udHJvbC1iYXJfX2J0bi0tbW92ZS1sZWZ0IHN2Z3t0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmNvbnRyb2wtYmFyX19idG4tLW1vdmUtbGVmdCBzdmc6ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKX0uY29udHJvbC1iYXJfX2J0biBzdmcsLmxlZ2VuZC1ZVEZJSjYyaHtwb2ludGVyLWV2ZW50czpub25lfS5sZWdlbmQtWVRGSUo2Mmh7Y29sb3I6IzAwMDA7Y29udGFpbjpjb250ZW50O2RpcmVjdGlvbjpsdHI7bGluZS1oZWlnaHQ6bm9ybWFsO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3otaW5kZXg6Nn0ubGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLVlURklKNjJoIC5pdGVtLVlURklKNjJoOm5vdCguaGlkZUludmlzaWJsZUhvdmVyLVlURklKNjJoKSAuYnV0dG9uLVlURklKNjJoe2Rpc3BsYXk6ZmxleH0ubGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLVlURklKNjJoIC5pdGVtLVlURklKNjJoOm5vdCguaGlkZUludmlzaWJsZUhvdmVyLVlURklKNjJoKSAuYnV0dG9ucy1ZVEZJSjYyaHtwb2ludGVyLWV2ZW50czphdXRvfS5pdGVtLVlURklKNjJoe2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2ZsZXgtd3JhcDp3cmFwO2ZvbnQtc2l6ZToxM3B4O21heC13aWR0aDoxMDAlO21pbi1oZWlnaHQ6MjRweDt6LWluZGV4OjF9Lml0ZW0tWVRGSUo2Mmguc2VsZWN0ZWQtWVRGSUo2MmgsLml0ZW0tWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaHt6LWluZGV4OjJ9Lml0ZW0tWVRGSUo2MmgubGFzdC1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3I7Ym9yZGVyLWNvbG9yOiMwMDAwO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MCAxcHg7Y29sdW1uLWdhcDo4cHg7Y3Vyc29yOmRlZmF1bHQ7bWF4LXdpZHRoOmZpdC1jb250ZW50O29yZGVyOjEwMDAwMDtwYWRkaW5nOjAgNHB4O3BvaW50ZXItZXZlbnRzOmF1dG99Lml0ZW0tWVRGSUo2MmgubGFzdC1ZVEZJSjYyaCAuc3RhdHVzZXNXcmFwcGVyLVlURklKNjJoe2JhY2tncm91bmQ6bm9uZX0uaXRlbS1ZVEZJSjYyaC5sYXN0LVlURklKNjJoIC5zdGF0dXNlc1dyYXBwZXJfX3N0YXR1c2VzLVlURklKNjJoOm5vdCg6ZW1wdHkpe21hcmdpbjowfS5pdGVtLVlURklKNjJoLmxhc3QtWVRGSUo2MmggLnRleHQtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9Lml0ZW0tWVRGSUo2MmggLm5vV3JhcFdyYXBwZXItWVRGSUo2Mmh7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDpub3dyYXA7bWF4LXdpZHRoOjEwMCV9Lm5vV3JhcC1ZVEZJSjYyaCAuaXRlbS1ZVEZJSjYyaHtmbGV4LXdyYXA6bm93cmFwfS5ub1dyYXAtWVRGSUo2MmggLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2Mmh7YWxpZ24tc2VsZjphdXRvO2Rpc3BsYXk6YmxvY2t9Lm5vV3JhcC1ZVEZJSjYyaCAuc2VyaWVzLVlURklKNjJoIC52YWx1ZXNBZGRpdGlvbmFsV3JhcHBlci1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoe2Rpc3BsYXk6aW5saW5lLWZsZXh9LmhpZGVVbmlwb3J0YW50VmFsdWVJdGVtcy1ZVEZJSjYyaCAubm9XcmFwLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlc0FkZGl0aW9uYWxXcmFwcGVyLVlURklKNjJoLnVuaW1wb3J0YW50LVlURklKNjJoe2Rpc3BsYXk6bm9uZX0ubm9XcmFwLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoe2FsaWduLWl0ZW1zOmNlbnRlcn0ubm9XcmFwLVlURklKNjJoIC52YWx1ZXNBZGRpdGlvbmFsV3JhcHBlci1ZVEZJSjYyaHthbGlnbi1zZWxmOmF1dG87Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7ZGlzcGxheTpibG9jazttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LndyYXBwYWJsZS1ZVEZJSjYyaCAuc2VyaWVzLVlURklKNjJoLml0ZW0tWVRGSUo2Mmh7ZmxleC13cmFwOndyYXB9LmRpcmVjdGlvbkNvbHVtbi1ZVEZJSjYyaCAuc2VyaWVzLVlURklKNjJoe2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5kaXJlY3Rpb25Db2x1bW4tWVRGSUo2MmggLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaHthbGlnbi1zZWxmOmZsZXgtc3RhcnQ7bWF4LXdpZHRoOjEwMCV9LmJ1dHRvbi1ZVEZJSjYyaCwuc3RhdHVzZXNXcmFwcGVyLVlURklKNjJoLC50aXRsZXNXcmFwcGVyLVlURklKNjJoLC52YWx1ZUl0ZW0tWVRGSUo2Mmh7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LmJ1dHRvbnMtWVRGSUo2MmgsLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoLC5pdGVtLVlURklKNjJoLC5sb2dvV3JhcHBlci1ZVEZJSjYyaCwuc3RhdHVzZXNXcmFwcGVyLVlURklKNjJoLC50aXRsZXNXcmFwcGVyLVlURklKNjJoLC52YWx1ZUl0ZW0tWVRGSUo2MmgsLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmh7ZGlzcGxheTpmbGV4fS5zdGF0dXNlc1dyYXBwZXJfX3N0YXR1c2VzLVlURklKNjJoOm5vdCg6ZW1wdHkpe21hcmdpbi1pbmxpbmUtZW5kOjRweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udGl0bGVzV3JhcHBlci1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmlnaHQtd2lkdGg6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOmRlZmF1bHQ7ZmxleDoxIDE7bWF4LXdpZHRoOmZpdC1jb250ZW50O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgNHB4IDAgMXB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDotM30ubG9nb1dyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4Om5vbmU7cG9zaXRpb246cmVsYXRpdmU7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjE4cHh9LmxvZ29XcmFwcGVyLVlURklKNjJoIC5wYWlyQ29udGFpbmVyLVlURklKNjJoe2Rpc3BsYXk6aW5saW5lLWZsZXh9LmxvZ29XcmFwcGVyLVlURklKNjJoIC5sb2dvLVlURklKNjJoe2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleDpub25lO292ZXJmbG93OmhpZGRlbn0ubG9nb1dyYXBwZXItWVRGSUo2MmggLmxvZ28tWVRGSUo2MmggaW1ne2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmxvZ29XcmFwcGVyLVlURklKNjJoIC5oaWRkZW4tWVRGSUo2MmgsLmxvZ29XcmFwcGVyLVlURklKNjJoLmhpZGRlbi1ZVEZJSjYyaHtkaXNwbGF5Om5vbmV9Lm5vQWN0aW9ucy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtwb2ludGVyLWV2ZW50czpub25lfS50aXRsZXNHcm91cFdyYXBwZXItWVRGSUo2Mmh7Y29sdW1uLWdhcDo0cHg7ZGlzcGxheTpmbGV4O21pbi13aWR0aDowfS50aXRsZVdyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApO2NvbHVtbi1nYXA6NHB4O2Rpc3BsYXk6ZmxleDttaW4taGVpZ2h0OjIwcHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O3doaXRlLXNwYWNlOm5vd3JhcH0udGl0bGVXcmFwcGVyLVlURklKNjJoIC50aXRsZS1ZVEZJSjYyaHthbGw6dW5zZXQ7ZGlyZWN0aW9uOmx0cjtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30udGl0bGVXcmFwcGVyLVlURklKNjJoIC50aXRsZS1ZVEZJSjYyaDpkaXIocnRsKXtkaXJlY3Rpb246cnRsfS50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2JvcmRlci1yYWRpdXM6M3B4O2NvbnRlbnQ6IiI7aW5zZXQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt2aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4Oi0yfS50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aERvdC1ZVEZJSjYyaDpmaXJzdC1jaGlsZDphZnRlcntyaWdodDotNHB4fS50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aERvdC1ZVEZJSjYyaDpub3QoOmZpcnN0LWNoaWxkKTphZnRlcntsZWZ0OjhweDtyaWdodDotNHB4fS50aXRsZVdyYXBwZXItWVRGSUo2Mmg6Zmlyc3QtY2hpbGR7cGFkZGluZy1sZWZ0OjNweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnRpdGxlV3JhcHBlci1ZVEZJSjYyaDpob3Zlci53aXRoQWN0aW9uLVlURklKNjJoOmFmdGVye3Zpc2liaWxpdHk6dmlzaWJsZX19LnRpdGxlV3JhcHBlci1ZVEZJSjYyaDphY3RpdmUud2l0aEFjdGlvbi1ZVEZJSjYyaDphZnRlciwudGl0bGVXcmFwcGVyX19hY3RpdmUtWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApO3Zpc2liaWxpdHk6dmlzaWJsZX0uYWNjZXNzaWJsZS1ZVEZJSjYyaDpmb2N1c3tib3JkZXItcmFkaXVzOjJweCFpbXBvcnRhbnQ7b3V0bGluZToycHggc29saWQgdmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfS5hY2Nlc3NpYmxlLVlURklKNjJoOmZvY3VzLXZpc2libGV7Ym9yZGVyLXJhZGl1czoycHghaW1wb3J0YW50O291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKX0uYWNjZXNzaWJsZS1ZVEZJSjYyaDpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe291dGxpbmU6bm9uZX0uZGlzYWJsZWQtWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaCwuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCl9LmRpc2FibGVkLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aERvdC1ZVEZJSjYyaDpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUsLmRpc2FibGVkLVlURklKNjJoLndpdGhDdXN0b21UZXh0Q29sb3ItWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaCwuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aERvdC1ZVEZJSjYyaDpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUsLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCkhaW1wb3J0YW50fS5zdHVkeS1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLm1haW5UaXRsZS1ZVEZJSjYyaHtmbGV4OjAgMSBhdXRvO21pbi13aWR0aDoxNXB4fS5zdHVkeS1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLm1haW5UaXRsZS1ZVEZJSjYyaC53aXRoRG90LVlURklKNjJoOm5vdCg6Zmlyc3QtY2hpbGQpe2ZsZXg6MCAzIGF1dG87cGFkZGluZy1sZWZ0OjEycHh9LnN0dWR5LVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgubWFpblRpdGxlLVlURklKNjJoLndpdGhEb3QtWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3Jle2NvbG9yOnZhcigtLWxlZ2VuZC10aXRsZS1kb3QtY29sb3IsdmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCkpO2NvbnRlbnQ6IlxiNyI7aGVpZ2h0OjEwMCU7bGVmdDowO2xpbmUtaGVpZ2h0OmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOjFweDt3aWR0aDoxMnB4O3otaW5kZXg6LTF9LnN0dWR5LVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguaW5wdXRUaXRsZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKX0uc3R1ZHktWVRGSUo2MmguZGlzYWJsZWQtWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaC5pbnB1dFRpdGxlLVlURklKNjJoLC5zdHVkeS1ZVEZJSjYyaC5kaXNhYmxlZE9uSW50ZXJ2YWwtWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaC5pbnB1dFRpdGxlLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApfS5zdHVkeS1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgsLnN0dWR5LVlURklKNjJoLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCkhaW1wb3J0YW50fS5zdHVkeS1ZVEZJSjYyaC5oaWRlVmFsdWVzLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoe2Rpc3BsYXk6bm9uZX0ubGVnZW5kLVlURklKNjJoIC5zdHVkeS1ZVEZJSjYyaC5oYXM1QnV0dG9ucy1ZVEZJSjYyaC5zZWxlY3RlZC1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlciwubGVnZW5kLVlURklKNjJoIC5zdHVkeS1ZVEZJSjYyaC5oYXM1QnV0dG9ucy1ZVEZJSjYyaC5zdGF5SW5Ib3ZlcmVkTW9kZS1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntsZWZ0OmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqNSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLnN0dWR5LVlURklKNjJoLmhhczVCdXR0b25zLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7bGVmdDpjYWxjKHZhcigtLWxlZ2VuZC1zb3VyY2UtaXRlbS1idXR0b24td2lkdGgpKjUpfX0ubm9XcmFwLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoLC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmh7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3I7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzAwMDA7Ym9yZGVyLXRvcDoxcHggc29saWQgIzAwMDB9LmxvYWRlci1ZVEZJSjYyaHttYXJnaW4tbGVmdDo0cHh9Lm5vV3JhcC1ZVEZJSjYyaCAudmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2Mmh7Ym9yZGVyLWxlZnQtY29sb3I6IzAwMDB9Lm5vV3JhcC1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoLC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaHtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9Lm5vV3JhcC1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoLC5ub1dyYXAtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaCwubm9XcmFwLVlURklKNjJoIC52YWx1ZUl0ZW0tWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoLC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC52YWx1ZUl0ZW0tWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2Mmh7ZGlzcGxheTppbmxpbmUtZmxleH0uaGlkZVVuaXBvcnRhbnRWYWx1ZUl0ZW1zLVlURklKNjJoIC5ub1dyYXAtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaC51bmltcG9ydGFudC1ZVEZJSjYyaCwuaGlkZVVuaXBvcnRhbnRWYWx1ZUl0ZW1zLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaC51bmltcG9ydGFudC1ZVEZJSjYyaHtkaXNwbGF5Om5vbmV9LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6bm9ybWFsO21pbi1oZWlnaHQ6MjRweDtwb3NpdGlvbjpyZWxhdGl2ZX0uc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmh7bWluLXdpZHRoOjIzcHh9LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLndpdGhEb3QtWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy1sZWZ0OjEycHh9LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLndpdGhEb3QtWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3Jle2NvbG9yOnZhcigtLWxlZ2VuZC10aXRsZS1kb3QtY29sb3IsdmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCkpO2NvbnRlbnQ6IlxiNyI7Zm9udC1zaXplOjE2cHg7aGVpZ2h0OjEwMCU7bGVmdDowO2xpbmUtaGVpZ2h0OmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOjFweDt3aWR0aDoxMnB4O3otaW5kZXg6LTF9LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLmRlc2NUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgubWFpblRpdGxlLVlURklKNjJoe2ZsZXg6MCAxIGF1dG99LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLmludGVydmFsVGl0bGUtWVRGSUo2Mmh7ZmxleDowIDEgYXV0bzttaW4td2lkdGg6YXV0b30uc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguZXhjaGFuZ2VUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgucHJpY2VTb3VyY2VUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgucHJvdmlkZXJUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmguc3R5bGVUaXRsZS1ZVEZJSjYyaHtmbGV4OjAgMyBhdXRvfS5zZXJpZXMtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmh7ZGlzcGxheTpmbGV4fS5zZXJpZXMtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaHttaW4td2lkdGg6MjNweH0ubGVnZW5kLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2Mmguc2VsZWN0ZWQtWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXIsLmxlZ2VuZC1ZVEZJSjYyaCAuc2VyaWVzLVlURklKNjJoLnN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVye2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSozKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxlZ2VuZC1ZVEZJSjYyaDpob3ZlciAuc2VyaWVzLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7bGVmdDpjYWxjKHZhcigtLWxlZ2VuZC1zb3VyY2UtaXRlbS1idXR0b24td2lkdGgpKjMpfX0ubGVnZW5kLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmguZmxhZ2dlZC1ZVEZJSjYyaC5zZWxlY3RlZC1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlciwubGVnZW5kLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmguZmxhZ2dlZC1ZVEZJSjYyaC5zdGF5SW5Ib3ZlcmVkTW9kZS1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntsZWZ0OmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLnNlcmllcy1ZVEZJSjYyaC5mbGFnZ2VkLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7bGVmdDpjYWxjKHZhcigtLWxlZ2VuZC1zb3VyY2UtaXRlbS1idXR0b24td2lkdGgpKjIpfX0uc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsLnNlbGVjdGVkLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoLC53aXRoQWN0aW9uLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC53aXRoQWN0aW9uLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS5zZWxlY3RlZC1ZVEZJSjYyaCAuYnV0dG9uLVlURklKNjJoLC53aXRoQWN0aW9uLVlURklKNjJoIC5idXR0b24tWVRGSUo2Mmh7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsfS5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCwud2l0aEFjdGlvbi1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCwud2l0aEFjdGlvbi1ZVEZJSjYyaC5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtib3JkZXItcmFkaXVzOjRweCAwIDAgNHB4fS5tZWRpdW0tWVRGSUo2MmgubGVnZW5kLVlURklKNjJoIC5pdGVtLVlURklKNjJoLnN0dWR5LVlURklKNjJoLnNlbGVjdGVkLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVyLC5tZWRpdW0tWVRGSUo2MmgubGVnZW5kLVlURklKNjJoIC5pdGVtLVlURklKNjJoLnN0dWR5LVlURklKNjJoLnN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVye2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSozKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm1lZGl1bS1ZVEZJSjYyaC5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLml0ZW0tWVRGSUo2Mmguc3R1ZHktWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntsZWZ0OmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMyl9fS5taW5pbWl6ZWQtWVRGSUo2MmgubGVnZW5kLVlURklKNjJoIC5pdGVtLVlURklKNjJoLnN0dWR5LVlURklKNjJoLnNlbGVjdGVkLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVyLC5taW5pbWl6ZWQtWVRGSUo2MmgubGVnZW5kLVlURklKNjJoIC5pdGVtLVlURklKNjJoLnN0dWR5LVlURklKNjJoLnN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVye2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSoyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm1pbmltaXplZC1ZVEZJSjYyaC5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLml0ZW0tWVRGSUo2Mmguc3R1ZHktWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntsZWZ0OmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMil9fS52YWx1ZXNXcmFwcGVyLVlURklKNjJoe2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOnN0cmV0Y2g7Y3Vyc29yOmRlZmF1bHQ7ZmxleC13cmFwOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZX0udmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6YmFzZWxpbmU7YWxpZ24tc2VsZjpzdHJldGNoO2JvcmRlci1sZWZ0OjRweCBzb2xpZDtkaXJlY3Rpb246bHRyO2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0udmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2Mmg6ZGlyKHJ0bCl7ZGlyZWN0aW9uOnJ0bDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmRpc2FibGVkLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoe2Rpc3BsYXk6bm9uZX0udmFsdWVJdGVtLVlURklKNjJoe2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOnN0cmV0Y2g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246bGVmdH0udmFsdWVJdGVtLVlURklKNjJoOmJlZm9yZXtjb250ZW50OnZhcigtLW5vdC1hdmFpbGFibGUtY29udGVudCwiMCIpO292ZXJmbG93OmhpZGRlbjt2aXNpYmlsaXR5OmhpZGRlbjt3aWR0aDowfS52YWx1ZUl0ZW0tWVRGSUo2Mmg6bm90KDpsYXN0LWNoaWxkKXtwYWRkaW5nLXJpZ2h0OjZweH0udmFsdWVJdGVtLVlURklKNjJoOmxhc3QtY2hpbGR7cGFkZGluZy1yaWdodDo0cHh9LnZhbHVlSXRlbS1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaHtwYWRkaW5nLXJpZ2h0OjFweH0udmFsdWVJdGVtLVlURklKNjJoIC52YWx1ZVRpdGxlLVlURklKNjJoLC52YWx1ZUl0ZW0tWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9LnNlcmllcy1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoOmxhc3QtY2hpbGR7cGFkZGluZy1yaWdodDo2cHh9LnNlcmllcy1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoOmxhc3QtY2hpbGQgLnRpdGxlV3JhcHBlci1ZVEZJSjYyaHtkaXNwbGF5Om5vbmV9LnNlcmllcy1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoIC52YWx1ZVRpdGxlLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfS5idXR0b25zV3JhcHBlci1ZVEZJSjYyaHttYXgtd2lkdGg6MDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDowO3otaW5kZXg6Mn0ubWljcm8tWVRGSUo2MmggLml0ZW0tWVRGSUo2Mmguc2VyaWVzLVlURklKNjJoW2RhdGEtcWEtaWQ9bGVnZW5kLXNlcmllcy1pdGVtXSAuYnV0dG9uc1dyYXBwZXItWVRGSUo2Mmh7bWF4LXdpZHRoOjA7d2lkdGg6MH0uZGlzYWJsZWQtWVRGSUo2MmggLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoLC5mbGFnZ2VkLVlURklKNjJoIC5idXR0b25zV3JhcHBlci1ZVEZJSjYyaHttYXgtd2lkdGg6dmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCk7d2lkdGg6dmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCl9LmxpbmtlZC1ZVEZJSjYyaC5zZXJpZXMtWVRGSUo2Mmg6bm90KC5vbmx5T25lQnV0dG9uQ2FuQmVTdGljay1ZVEZJSjYyaCkgLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoe21heC13aWR0aDpjYWxjKHZhcigtLWxlZ2VuZC1zb3VyY2UtaXRlbS1idXR0b24td2lkdGgpKjIpO3dpZHRoOmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMil9LmRpc2FibGVkLVlURklKNjJoLnNlcmllcy1ZVEZJSjYyaDpub3QoLm9ubHlPbmVCdXR0b25DYW5CZVN0aWNrLVlURklKNjJoKSAuYnV0dG9uc1dyYXBwZXItWVRGSUo2Mmh7bWF4LXdpZHRoOmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMyk7d2lkdGg6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSozKX0uYnV0dG9ucy1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtc2hyaW5rOjA7b3BhY2l0eTowO3BhZGRpbmc6MDtwb2ludGVyLWV2ZW50czpub25lfS5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCwuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5mbGFnZ2VkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5saW5rZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsLnRvdWNoTW9kZS1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaHtvcGFjaXR5OjF9Lm5vQWN0aW9ucy1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaHtwb2ludGVyLWV2ZW50czpub25lfS5zZWxlY3RlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCwud2l0aEFjdGlvbi1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaHtib3JkZXItcmFkaXVzOjAgNHB4IDRweCAwfS5sZWdlbmQtWVRGSUo2MmggLnNlbGVjdGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5sZWdlbmQtWVRGSUo2MmggLnN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5sZWdlbmQtWVRGSUo2MmggLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2Mmh7Y3Vyc29yOmRlZmF1bHQ7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99LmxlZ2VuZC1ZVEZJSjYyaCAuc2VsZWN0ZWQtWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXIsLmxlZ2VuZC1ZVEZJSjYyaCAuc3RheUluSG92ZXJlZE1vZGUtWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoMTBweCBhdCAwIDUwJSxjdXJyZW50Q29sb3IgMCwjMDAwMCAxMDAlKTtjb250ZW50OiIiO2hlaWdodDoxOHB4O2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSo0KTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6M3B4O3dpZHRoOjE2cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLndpdGhBY3Rpb24tWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoMTBweCBhdCAwIDUwJSxjdXJyZW50Q29sb3IgMCwjMDAwMCAxMDAlKTtjb250ZW50OiIiO2hlaWdodDoxOHB4O2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSo0KTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6M3B4O3dpZHRoOjE2cHh9fS5idXR0b24tWVRGSUo2Mmh7YWxsOnVuc2V0O2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOnN0cmV0Y2g7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvcGFjaXR5OjA7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6dmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCk7ei1pbmRleDowfS5idXR0b25JY29uLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApO2Rpc3BsYXk6ZmxleH0uYnV0dG9uLVlURklKNjJoOmxhc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowIDRweCA0cHggMDttYXJnaW4tcmlnaHQ6MXB4fS5idXR0b24tWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTtib3JkZXItcmFkaXVzOjJweDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5zZXQ6MXB4IDA7cG9zaXRpb246YWJzb2x1dGU7dmlzaWJpbGl0eTpoaWRkZW47ei1pbmRleDotMX0uYnV0dG9uLVlURklKNjJoOmFjdGl2ZTphZnRlciwuYnV0dG9uX19hY3RpdmUtWVRGSUo2Mmg6YWZ0ZXJ7dmlzaWJpbGl0eTp2aXNpYmxlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLVlURklKNjJoOmhvdmVyOmFmdGVye3Zpc2liaWxpdHk6dmlzaWJsZX19LmJ1dHRvbi1ZVEZJSjYyaDphY3RpdmU6YWZ0ZXIsLmJ1dHRvbl9fYWN0aXZlLVlURklKNjJoOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCl9LmJ1dHRvbi1ZVEZJSjYyaC5mbGFnLVlURklKNjJoPnNwYW57bWFyZ2luLXRvcDotMXB4fS5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9uSWNvbi1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX0ud2l0aEFjdGlvbi1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAuYnV0dG9uLVlURklKNjJoOm5vdCg6Zmlyc3QtY2hpbGQpLC53aXRoQWN0aW9uLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoe2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX0uc2VsZWN0ZWQtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXIsLndpdGhBY3Rpb24tWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX0uc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2Mmh7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTtib3JkZXItbGVmdDowfS5zZWxlY3RlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCwuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaDpub3QoOmZpcnN0LWNoaWxkKSwuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoLC5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfS5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmFuaW1hdGVkLWxvYWRpbmctZXllLC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmNyb3NzZWQtZXllLC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmxvYWRpbmctZXllLC5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAuZXllLVlURklKNjJoIC5hbmltYXRlZC1sb2FkaW5nLWV5ZSwuZGlzYWJsZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmV5ZS1ZVEZJSjYyaCAubG9hZGluZy1leWUsLmRpc2FibGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLm5vcm1hbC1leWUsLm1lZGl1bS1ZVEZJSjYyaCAuc3R1ZHktWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaDpudGgtY2hpbGQoMiksLm1lZGl1bS1ZVEZJSjYyaCAuc3R1ZHktWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaDpudGgtY2hpbGQoMyk6bnRoLWxhc3QtY2hpbGQoMyl7ZGlzcGxheTpub25lfS5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAuZXllLVlURklKNjJoIC5jcm9zc2VkLWV5ZXtkaXNwbGF5OmJsb2NrfS5leWVMb2FkaW5nLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmNyb3NzZWQtZXllLC5leWVMb2FkaW5nLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLm5vcm1hbC1leWV7ZGlzcGxheTpub25lfS5leWVMb2FkaW5nLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmFuaW1hdGVkLWxvYWRpbmctZXllLC5leWVMb2FkaW5nLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmxvYWRpbmctZXlle2Rpc3BsYXk6YmxvY2t9LmV5ZUxvYWRpbmctWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmV5ZS1ZVEZJSjYyaCAuYW5pbWF0ZWQtbG9hZGluZy1leWV7YW5pbWF0aW9uOmV5ZS1hbmltYXRpb24tWVRGSUo2MmggLjk2cyBsaW5lYXIgaW5maW5pdGU7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9LmRpc2FibGVkLVlURklKNjJoOm5vdCguc2VsZWN0ZWQtWVRGSUo2MmgpOm5vdCgud2l0aEFjdGlvbi1ZVEZJSjYyaCkgLmJ1dHRvbnMtWVRGSUo2MmggLmV5ZS1ZVEZJSjYyaCwuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoOm5vdCguc2VsZWN0ZWQtWVRGSUo2MmgpOm5vdCgud2l0aEFjdGlvbi1ZVEZJSjYyaCkgLmJ1dHRvbnMtWVRGSUo2MmggLmludGVydmFsRXllLVlURklKNjJoLC5mbGFnZ2VkLVlURklKNjJoOm5vdCguc2VsZWN0ZWQtWVRGSUo2MmgpOm5vdCgud2l0aEFjdGlvbi1ZVEZJSjYyaCkgLmJ1dHRvbnMtWVRGSUo2MmggLmZsYWctWVRGSUo2MmgsLmxpbmtlZC1ZVEZJSjYyaDpub3QoLnNlbGVjdGVkLVlURklKNjJoKTpub3QoLndpdGhBY3Rpb24tWVRGSUo2MmgpIC5idXR0b25zLVlURklKNjJoIC5mbGFnLVlURklKNjJoLC5saW5rZWQtWVRGSUo2Mmg6bm90KC5zZWxlY3RlZC1ZVEZJSjYyaCk6bm90KC53aXRoQWN0aW9uLVlURklKNjJoKSAuYnV0dG9ucy1ZVEZJSjYyaCAubGlua2luZy1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoOm5vdCguc2VsZWN0ZWQtWVRGSUo2MmgpOm5vdCgud2l0aEFjdGlvbi1ZVEZJSjYyaCkgLmJ1dHRvbnMtWVRGSUo2MmggLmZsYWctWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaDpub3QoLnNlbGVjdGVkLVlURklKNjJoKTpub3QoLndpdGhBY3Rpb24tWVRGSUo2MmgpIC5idXR0b25zLVlURklKNjJoIC5saW5raW5nLVlURklKNjJoe2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yfS5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAuZXllLVlURklKNjJoLC5kaXNhYmxlZE9uSW50ZXJ2YWwtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmludGVydmFsRXllLVlURklKNjJoLC5mbGFnZ2VkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5mbGFnLVlURklKNjJoLC5saW5rZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmZsYWctWVRGSUo2MmgsLmxpbmtlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAubGlua2luZy1ZVEZJSjYyaCwuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5mbGFnLVlURklKNjJoLC5zZXJpZXMtWVRGSUo2MmguZGlzYWJsZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmxpbmtpbmctWVRGSUo2MmgsLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaHtkaXNwbGF5OmZsZXg7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99LmJ1dHRvbnMtWVRGSUo2MmggLmludGVydmFsRXllLVlURklKNjJoIC5hbmltYXRlZC1sb2FkaW5nLWV5ZSwuYnV0dG9ucy1ZVEZJSjYyaCAuaW50ZXJ2YWxFeWUtWVRGSUo2MmggLmxvYWRpbmctZXllLC5idXR0b25zLVlURklKNjJoIC5pbnRlcnZhbEV5ZS1ZVEZJSjYyaCAubm9ybWFsLWV5ZXtkaXNwbGF5Om5vbmV9LmJ1dHRvbnMtWVRGSUo2MmggLmludGVydmFsRXllLVlURklKNjJoIC5jcm9zc2VkLWV5ZXtjb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTYwMCl9LnNlbGVjdGVkLVlURklKNjJoLnNlcmllcy1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaCAuZmxhZy1ZVEZJSjYyaCAuYnV0dG9uSWNvbi1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoLmZsYWdnZWQtWVRGSUo2MmggLmZsYWctWVRGSUo2MmggLmJ1dHRvbkljb24tWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaC5saW5rZWQtWVRGSUo2MmggLmZsYWctWVRGSUo2MmggLmJ1dHRvbkljb24tWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaC5saW5rZWQtWVRGSUo2MmggLmZsYWctWVRGSUo2MmggLmJ1dHRvbkljb24tWVRGSUo2MmgsLndpdGhBY3Rpb24tWVRGSUo2Mmguc2VyaWVzLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoIC5mbGFnLVlURklKNjJoIC5idXR0b25JY29uLVlURklKNjJoe3Zpc2liaWxpdHk6dmlzaWJsZX0uZmxhZy1ZVEZJSjYyaCAuYnV0dG9uSWNvbi1ZVEZJSjYyaHthbGlnbi1zZWxmOnN0cmV0Y2g7ZmxleDoxfS5mbGFnV3JhcHBlci1ZVEZJSjYyaCwubWFya2VyQ29udGFpbmVyLVlURklKNjJoe2Rpc3BsYXk6ZmxleDtmbGV4OjE7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubWFya2VyQ29udGFpbmVyLVlURklKNjJoe2FsaWduLWl0ZW1zOnN0cmV0Y2h9LmZsYWdXcmFwcGVyLVlURklKNjJoe3dpZHRoOjEycHh9LmZsYWdXcmFwcGVyLVlURklKNjJoIHN2Z3toZWlnaHQ6MTJweH0uc291cmNlc1dyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2U7bWFyZ2luOjA7cG9zaXRpb246cmVsYXRpdmV9LmxlZ2VuZE1haW5Tb3VyY2VXcmFwcGVyLVlURklKNjJoe3RleHQtYWxpZ246bGVmdH0uc291cmNlcy1ZVEZJSjYyaHtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bztmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6MTAwJX0udG9nZ2xlcldyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6Y2VudGVyO2NvbHVtbi1nYXA6OHB4O2Rpc3BsYXk6ZmxleDtwYWRkaW5nLWJsb2NrOjNweCAzcHg7cGFkZGluZy1pbmxpbmU6NXB4IDVweH0udG9nZ2xlcldyYXBwZXItWVRGSUo2MmggLnN0YXR1c2VzV3JhcHBlci1ZVEZJSjYyaHtiYWNrZ3JvdW5kOm5vbmV9LnRvZ2dsZXJXcmFwcGVyLVlURklKNjJoIC5zdGF0dXNlc1dyYXBwZXJfX3N0YXR1c2VzLVlURklKNjJoOm5vdCg6ZW1wdHkpe21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZTo4cHggMH0udG9nZ2xlci1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87cGFkZGluZzowO3BvaW50ZXItZXZlbnRzOmFsbDtwb3NpdGlvbjpyZWxhdGl2ZX0udG9nZ2xlci1ZVEZJSjYyaC5vbmx5T25lU291cmNlU2hvd24tWVRGSUo2Mmh7ZGlzcGxheTpub25lfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudG9nZ2xlci1ZVEZJSjYyaDpob3ZlcjphZnRlcnt6LWluZGV4OjB9LnRvZ2dsZXItWVRGSUo2Mmg6aG92ZXIgLmNvdW50ZXItWVRGSUo2MmgsLnRvZ2dsZXItWVRGSUo2Mmg6aG92ZXIgLmljb25BcnJvdy1ZVEZJSjYyaCwudG9nZ2xlci1ZVEZJSjYyaDpob3ZlciAub2JqZWN0VHJlZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1ibGFjayl9fS50b2dnbGVyLVlURklKNjJoIC5jb3VudGVyLVlURklKNjJoe2NvbG9yOmluaGVyaXQ7ZGlzcGxheTpub25lO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE2cHg7cGFkZGluZy1yaWdodDo0cHh9LnRvZ2dsZXItWVRGSUo2MmggLmljb25BcnJvdy1ZVEZJSjYyaHtkaXNwbGF5OmZsZXg7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC4wNiwuNTIsMSwuNTQpO3dpZHRoOjI3cHh9LnRvZ2dsZXItWVRGSUo2MmggLm9iamVjdFRyZWUtWVRGSUo2Mmh7ZGlzcGxheTpub25lO3dpZHRoOjE5cHh9LnRvZ2dsZXItWVRGSUo2MmggLmljb25BcnJvdy1ZVEZJSjYyaCwudG9nZ2xlci1ZVEZJSjYyaCAub2JqZWN0VHJlZS1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjE5cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0udG9nZ2xlci1ZVEZJSjYyaCAuY291bnRlci1ZVEZJSjYyaCwudG9nZ2xlci1ZVEZJSjYyaCAuaWNvbkFycm93LVlURklKNjJoLC50b2dnbGVyLVlURklKNjJoIC5vYmplY3RUcmVlLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX0uY2xvc2VkLVlURklKNjJoLnNvdXJjZXNXcmFwcGVyLVlURklKNjJoe3BhZGRpbmctYm90dG9tOjRweH0uY2xvc2VkLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5jb3VudGVyLVlURklKNjJoe2Rpc3BsYXk6ZmxleH0uY2xvc2VkLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5pY29uQXJyb3ctWVRGSUo2Mmh7dHJhbnNmb3JtOnJvdGF0ZSgwKX0uY2xvc2VkLVlURklKNjJoOm5vdCguc2F2ZUFycm93V2lkdGgtWVRGSUo2MmgpIC5pY29uQXJyb3ctWVRGSUo2MmgsLmNsb3NlZC1ZVEZJSjYyaDpub3QoLnNhdmVBcnJvd1dpZHRoLVlURklKNjJoKSAub2JqZWN0VHJlZS1ZVEZJSjYyaHt3aWR0aDoxOXB4fS5jbG9zZWQtWVRGSUo2MmggLnNvdXJjZXMtWVRGSUo2Mmh7ZGlzcGxheTpub25lfS5taWNyby1ZVEZJSjYyaCAuc291cmNlc1dyYXBwZXItWVRGSUo2Mmh7cGFkZGluZy1ib3R0b206NHB4fS5taWNyby1ZVEZJSjYyaCAudG9nZ2xlci1ZVEZJSjYyaC5vYmplY3RzVHJlZUNhbkJlU2hvd24tWVRGSUo2MmggLm9iamVjdFRyZWUtWVRGSUo2MmgsLm1pY3JvLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoLm9iamVjdHNUcmVlQ2FuQmVTaG93bi1ZVEZJSjYyaC5vbmx5T25lU291cmNlU2hvd24tWVRGSUo2Mmh7ZGlzcGxheTpmbGV4fS5taWNyby1ZVEZJSjYyaCAuY2xvc2VkLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5jb3VudGVyLVlURklKNjJoLC5taWNyby1ZVEZJSjYyaCAuY2xvc2VkLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5pY29uQXJyb3ctWVRGSUo2MmgsLm1pY3JvLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2MmgsLm1pY3JvLVlURklKNjJoIC5zb3VyY2VzLVlURklKNjJoLC5taWNyby1ZVEZJSjYyaCAudG9nZ2xlci1ZVEZJSjYyaCAuY291bnRlci1ZVEZJSjYyaCwubWljcm8tWVRGSUo2MmggLnRvZ2dsZXItWVRGSUo2MmggLmljb25BcnJvdy1ZVEZJSjYyaCwubWljcm8tWVRGSUo2MmggLnRvZ2dsZXJXcmFwcGVyLVlURklKNjJoIC5zdGF0dXNlc1dyYXBwZXItWVRGSUo2Mmh7ZGlzcGxheTpub25lfS50b3VjaE1vZGUtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmh7aGVpZ2h0OjI2cHg7bGluZS1oZWlnaHQ6MjVweH0udG91Y2hNb2RlLVlURklKNjJoIC5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaDphZnRlciwudG91Y2hNb2RlLVlURklKNjJoIC53aXRoQWN0aW9uLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoOmFmdGVye2JvdHRvbTo1cHg7dG9wOjVweH0udG91Y2hNb2RlLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmh7bWluLWhlaWdodDoyNnB4fS50b3VjaE1vZGUtWVRGSUo2MmggLnRvZ2dsZXItWVRGSUo2MmggLmljb25BcnJvdy1ZVEZJSjYyaCwudG91Y2hNb2RlLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5vYmplY3RUcmVlLVlURklKNjJoe2hlaWdodDoyNHB4O3dpZHRoOjMwcHh9LnRvdWNoTW9kZS1ZVEZJSjYyaCAudG9nZ2xlci1ZVEZJSjYyaCAuY291bnRlci1ZVEZJSjYyaHtmb250LXNpemU6MTRweH0udG91Y2hNb2RlLVlURklKNjJoIC5pdGVtLVlURklKNjJoe21pbi1oZWlnaHQ6MjZweH0udG91Y2hNb2RlLVlURklKNjJoIC5jbG9zZWQtWVRGSUo2MmggLnRvZ2dsZXItWVRGSUo2MmggLm9iamVjdFRyZWUtWVRGSUo2Mmh7d2lkdGg6MjRweH0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrey0tbGVnZW5kLXRpdGxlLWRvdC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5pdGVtLVlURklKNjJoLmxhc3QtWVRGSUo2MmggLnRleHQtWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAubm9XcmFwLVlURklKNjJoIC52YWx1ZXNBZGRpdGlvbmFsV3JhcHBlci1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC50aXRsZVdyYXBwZXItWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudmFsdWVUaXRsZS1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC52YWx1ZVZhbHVlLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApfS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnRpdGxlV3JhcHBlci1ZVEZJSjYyaC53aXRoQWN0aW9uLVlURklKNjJoOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudGl0bGVXcmFwcGVyLVlURklKNjJoOmFjdGl2ZS53aXRoQWN0aW9uLVlURklKNjJoOmFmdGVyLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnRpdGxlV3JhcHBlcl9fYWN0aXZlLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5kaXNhYmxlZC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkLVlURklKNjJoIC52YWx1ZVRpdGxlLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkLVlURklKNjJoIC52YWx1ZVZhbHVlLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5kaXNhYmxlZE9uSW50ZXJ2YWwtWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuZGlzYWJsZWQtWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaC53aXRoRG90LVlURklKNjJoOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5kaXNhYmxlZC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuZGlzYWJsZWQtWVRGSUo2Mmgud2l0aEN1c3RvbVRleHRDb2xvci1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5kaXNhYmxlZC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC52YWx1ZVZhbHVlLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLndpdGhEb3QtWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoLndpdGhDdXN0b21UZXh0Q29sb3ItWVRGSUo2MmggLnZhbHVlVGl0bGUtWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoLndpdGhDdXN0b21UZXh0Q29sb3ItWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCkhaW1wb3J0YW50fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnN0dWR5LVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguaW5wdXRUaXRsZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5zdHVkeS1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLmlucHV0VGl0bGUtWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuc3R1ZHktWVRGSUo2MmguZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguaW5wdXRUaXRsZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5zdHVkeS1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguaW5wdXRUaXRsZS1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5zdHVkeS1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLmlucHV0VGl0bGUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCkhaW1wb3J0YW50fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmJ1dHRvbkljb24tWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuc2VyaWVzLVlURklKNjJoIC52YWx1ZUl0ZW0tWVRGSUo2MmggLnZhbHVlVGl0bGUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmJ1dHRvbi1ZVEZJSjYyaDpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5idXR0b24tWVRGSUo2Mmg6YWN0aXZlOmFmdGVyLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmJ1dHRvbl9fYWN0aXZlLVlURklKNjJoOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAud2l0aEFjdGlvbi1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC53aXRoQWN0aW9uLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5idXR0b24tWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCksLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAud2l0aEFjdGlvbi1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuc2VsZWN0ZWQtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXIsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAud2l0aEFjdGlvbi1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApfS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAud2l0aEFjdGlvbi1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5idXR0b24tWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCksLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoe2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTcwMCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaHtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnRvZ2dsZXItWVRGSUo2Mmg6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaDpob3ZlciAuY291bnRlci1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC50b2dnbGVyLVlURklKNjJoOmhvdmVyIC5pY29uQXJyb3ctWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaDpob3ZlciAub2JqZWN0VHJlZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaCAuY291bnRlci1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC50b2dnbGVyLVlURklKNjJoIC5pY29uQXJyb3ctWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaCAub2JqZWN0VHJlZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX1Aa2V5ZnJhbWVzIGV5ZS1hbmltYXRpb24tWVRGSUo2Mmh7dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fTpyb290LnRoZW1lLWN1c3RvbSAudGl0bGVXcmFwcGVyLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10aGVtZWQtY29sb3ItbGVnZW5kLWJhY2tncm91bmQtdGVydGlhcnkpfTpyb290LnRoZW1lLWN1c3RvbSAuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsOnJvb3QudGhlbWUtY3VzdG9tIC5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCw6cm9vdC50aGVtZS1jdXN0b20gLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsOnJvb3QudGhlbWUtY3VzdG9tIC53aXRoQWN0aW9uLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoe2JhY2tncm91bmQtY29sb3I6dmFyKC0tdGhlbWVkLWNvbG9yLWxlZ2VuZC1iYWNrZ3JvdW5kLXNlY29uZGFyeS1pbnZlcnNlKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7OnJvb3QudGhlbWUtY3VzdG9tIC5idXR0b24tWVRGSUo2Mmg6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10aGVtZWQtY29sb3ItbGVnZW5kLWJhY2tncm91bmQtdGVydGlhcnkpfX0ubGVnZW5kQWN0aW9uQnV0dG9uLXEzTzZ6eklIe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99309.ca4ac19b8ab37679f251.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.841Z","timestamp":1785141584841,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/99309.ca4ac19b8ab37679f251.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-7f26\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b456deb03ffee6ec0a1562dc75e410cf\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32550,"size_decoded":11901,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"07536e5ca803829ab657e62c61210dbc","sha1":"0d11d8bbefaca8f90cf1e077c6fa59dd3d64373b","sha256":"378146c5d601a41f6b19209c59c2a432275153ee70df8a706ba1ef83af1e43a5","sha512":"c85137ba985b9fc6ebe8e1027753279bacf049530b0ab2ea0eef73d83967d84a9ca4fdb32907e453f60678d15cea4dc76ef348e7aeb9b2609b88441ad1e984ae","ssdeep":"768:hsXBcQmT4krvwY0u+/z8SSV3WMODEDQKtGn72TCqXWmXMxpp0rf7eilfefe8LMsX:hsX1a0d/zESPqheft","tlshash":"2de21ad1309174d923ff4edba0ab0558e33a1764b85a8c60b0b8eddc25d3818b276dbd","first_seen":"2026-07-23T14:00:31.509299Z","last_seen":"2026-07-27T12:48:39.823238Z","times_seen":105,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5OTMwOV0sezgwMzI4NyhlKXtlLmV4cG9ydHM9eyJkZWZhdWx0LWRyYXdlci1taW4tdG9wLWRpc3RhbmNlIjoiMTAwcHgiLHdyYXA6IndyYXAtaWlpMTE4b04iLHBvc2l0aW9uQm90dG9tOiJwb3NpdGlvbkJvdHRvbS1paWkxMThvTiIsYmFja2Ryb3A6ImJhY2tkcm9wLWlpaTExOG9OIixkcmF3ZXI6ImRyYXdlci1paWkxMThvTiIscG9zaXRpb25MZWZ0OiJwb3NpdGlvbkxlZnQtaWlpMTE4b04ifX0sMTQwMDE3KGUpe2UuZXhwb3J0cz17bG9nbzoibG9nby1WQ05LdWJXcSIsaGlkZGVuOiJoaWRkZW4tVkNOS3ViV3EiLHh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMzoieHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLVZDTkt1YldxIix4eHhzbWFsbDoieHh4c21hbGwtVkNOS3ViV3EiLHh4c21hbGw6Inh4c21hbGwtVkNOS3ViV3EiLHhzbWFsbDoieHNtYWxsLVZDTkt1YldxIixzbWFsbDoic21hbGwtVkNOS3ViV3EiLG1lZGl1bToibWVkaXVtLVZDTkt1YldxIixsYXJnZToibGFyZ2UtVkNOS3ViV3EiLHhsYXJnZToieGxhcmdlLVZDTkt1YldxIix4eGxhcmdlOiJ4eGxhcmdlLVZDTkt1YldxIix4eHhsYXJnZToieHh4bGFyZ2UtVkNOS3ViV3EiLHNrZWxldG9uOiJza2VsZXRvbi1WQ05LdWJXcSIsbGV0dGVyOiJsZXR0ZXItVkNOS3ViV3EifX0sNTYxMjUwKGUpe2UuZXhwb3J0cz17YmFja2dyb3VuZDoiYmFja2dyb3VuZC1OUW9tNUk4WiIsbWVkaXVtOiJtZWRpdW0tTlFvbTVJOFoiLGxhcmdlOiJsYXJnZS1OUW9tNUk4WiIsZGlzYWJsZWQ6ImRpc2FibGVkLU5Rb201SThaIixvcGVuOiJvcGVuLU5Rb201SThaIixzZWxlY3RlZDoic2VsZWN0ZWQtTlFvbTVJOFoiLG5ldXRyYWw6Im5ldXRyYWwtTlFvbTVJOFoiLGRhbmdlcjoiZGFuZ2VyLU5Rb201SThaIn19LDQ0MzYxOChlKXtlLmV4cG9ydHM9e2VsbGlwc2lzOiJlbGxpcHNpcy1EYXpSODVWQSIsd2l0aEdhcHM6IndpdGhHYXBzLURhelI4NVZBIn19LDQ0MDkyNihlKXtlLmV4cG9ydHM9e2hvdGtleToiaG90a2V5LVhjNlNocENxIn19LDIxMjQ4NihlKXtlLmV4cG9ydHM9e2J1dHRvbkNvbnRlbnQ6ImJ1dHRvbkNvbnRlbnQtVlg0a3BSOWkiLGxlZnQ6ImxlZnQtVlg0a3BSOWkifX0sMzU5MTE2KGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24tWE5VaXZUb3UifX0sOTQ4MzkwKGUpe2UuZXhwb3J0cz17bWlkZGxlOiJtaWRkbGUtRnR3d1JyN3UiLGhhc05vRW5kU2xvdDoiaGFzTm9FbmRTbG90LUZ0d3dScjd1Iix0aXRsZToidGl0bGUtRnR3d1JyN3UiLGRlc2NyaXB0aW9uOiJkZXNjcmlwdGlvbi1GdHd3UnI3dSIsaGFzVGl0bGU6Imhhc1RpdGxlLUZ0d3dScjd1IixoYXNEZXNjcmlwdGlvbjoiaGFzRGVzY3JpcHRpb24tRnR3d1JyN3UifX0sMjMyMDU0KGUpe2UuZXhwb3J0cz17cmlnaHQ6InJpZ2h0LUNHZGpLYTlZIixjaGlsZDoiY2hpbGQtQ0dkakthOVkifX0sNDQwMDk2KGUpe2UuZXhwb3J0cz17c2Nyb2xsQ29udGFpbmVyOiJzY3JvbGxDb250YWluZXItekcyQ3FEZTIifX0sNjI3MDIyKGUpe2UuZXhwb3J0cz17ZmxleDoiZmxleC1nbzBaZU5RRiIsZml4ZWRIZWFkZXI6ImZpeGVkSGVhZGVyLWdvMFplTlFGIixmaXhlZEZvb3RlcjoiZml4ZWRGb290ZXItZ28wWmVOUUYiLG1haW5TY3JvbGxXcmFwcGVyOiJtYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRiIsZml4ZWRIZWFkZXJDb250ZW50OiJmaXhlZEhlYWRlckNvbnRlbnQtZ28wWmVOUUYiLGZpeGVkRm9vdGVyQ29udGVudDoiZml4ZWRGb290ZXJDb250ZW50LWdvMFplTlFGIixub1Njcm9sbDoibm9TY3JvbGwtZ28wWmVOUUYiLG1haW46Im1haW4tZ28wWmVOUUYiLG1haW5Db250ZW50OiJtYWluQ29udGVudC1nbzBaZU5RRiJ9fSw0NTI0NjQoZSl7ZS5leHBvcnRzPXtwa246InBrbi1jVHBfdW5WOCJ9fSw1MTgyNzIoZSl7ZS5leHBvcnRzPXtldmVudFdyYXBwZXI6ImV2ZW50V3JhcHBlci1fRThVWFZLMSJ9fSw2MjM2MTMoZSl7ZS5leHBvcnRzPXttb2JpbGVDb250ZXh0OiJtb2JpbGVDb250ZXh0LVZ4bjRMaFlMIixhbmNob3JDb250ZXh0OiJhbmNob3JDb250ZXh0LVZ4bjRMaFlMIn19LDk3NTI4NShlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItaGN0MnlKdksiLGFuaW1hdGVkOiJhbmltYXRlZC1oY3QyeUp2SyIscHVsc2F0aW9uOiJwdWxzYXRpb24taGN0MnlKdksifX0sMzEzNzcyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RyYXdlckNvbnRleHQ6KCk9PmEsRHJhd2VyTWFuYWdlcjooKT0+aX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTk1Njc4KTtjbGFzcyBpIGV4dGVuZHMgci5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX2lzQm9keUZpeGVkPSExLHRoaXMuX2FkZERyYXdlcj1lPT57dGhpcy5zZXRTdGF0ZSgodD0+KHtzdGFjazpbLi4udC5zdGFjayxlXX0pKSl9LHRoaXMuX3JlbW92ZURyYXdlcj1lPT57dGhpcy5zZXRTdGF0ZSgodD0+KHtzdGFjazp0LnN0YWNrLmZpbHRlcigodD0+dCE9PWUpKX0pKSl9LHRoaXMuc3RhdGU9e3N0YWNrOltdfX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXshdC5zdGFjay5sZW5ndGgmJnRoaXMuc3RhdGUuc3RhY2subGVuZ3RoJiYoKDAsby5yZXF1ZXN0TW9kYWxTY3JvbGxMb2NrKSh3aW5kb3cpLHRoaXMuX2lzQm9keUZpeGVkPSEwKSx0LnN0YWNrLmxlbmd0aCYmIXRoaXMuc3RhdGUuc3RhY2subGVuZ3RoJiZ0aGlzLl9pc0JvZHlGaXhlZCYmKCgwLG8ucmVsZWFzZU1vZGFsU2Nyb2xsTG9jaykod2luZG93KSx0aGlzLl9pc0JvZHlGaXhlZD0hMSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aCYmdGhpcy5faXNCb2R5Rml4ZWQmJigwLG8ucmVsZWFzZU1vZGFsU2Nyb2xsTG9jaykod2luZG93KX1yZW5kZXIoKXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KGEuUHJvdmlkZXIse3ZhbHVlOnthZGREcmF3ZXI6dGhpcy5fYWRkRHJhd2VyLHJlbW92ZURyYXdlcjp0aGlzLl9yZW1vdmVEcmF3ZXIsCmN1cnJlbnREcmF3ZXI6dGhpcy5zdGF0ZS5zdGFjay5sZW5ndGg/dGhpcy5zdGF0ZS5zdGFja1t0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aC0xXTpudWxsfX0sdGhpcy5wcm9wcy5jaGlsZHJlbil9fWNvbnN0IGE9ci5jcmVhdGVDb250ZXh0KG51bGwpfSw5NjQyMTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RHJhd2VyOigpPT5wfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGk9bi5uKG8pLGE9bigxMzg2MzgpLHM9big1ODU0OCksbD1uKDE1MDE1MCksYz1uKDMxMzc3MiksdT1uKDYzMjk5MiksZD1uKDU1ODAzMCksZj1uKDgwMzI4Nyk7dmFyIG07ZnVuY3Rpb24gcChlKXtjb25zdHtwb3NpdGlvbjp0PSJCb3R0b20iLG9uQ2xvc2U6bixjaGlsZHJlbjpvLHJlZmVyZW5jZTpkLGNsYXNzTmFtZTptLHRoZW1lOnA9Zn09ZSx2PSgwLGEuZW5zdXJlTm90TnVsbCkoKDAsci51c2VDb250ZXh0KShjLkRyYXdlckNvbnRleHQpKSxbaF09KDAsci51c2VTdGF0ZSkoKCgpPT4oMCxsLnJhbmRvbUhhc2gpKCkpKSxDPSgwLHIudXNlUmVmKShudWxsKSxiPSgwLHIudXNlQ29udGV4dCkodS5DbG9zZURlbGVnYXRlQ29udGV4dCk7cmV0dXJuKDAsci51c2VMYXlvdXRFZmZlY3QpKCgoKT0+KCgwLGEuZW5zdXJlTm90TnVsbCkoQy5jdXJyZW50KS5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pLGIuc3Vic2NyaWJlKHYsbiksdi5hZGREcmF3ZXIoaCksKCk9Pnt2LnJlbW92ZURyYXdlcihoKSxiLnVuc3Vic2NyaWJlKHYsbil9KSksW10pLHIuY3JlYXRlRWxlbWVudChzLlBvcnRhbCxudWxsLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOmQsY2xhc3NOYW1lOmkoKShmLndyYXAsZltgcG9zaXRpb24ke3R9YF0pfSxoPT09di5jdXJyZW50RHJhd2VyJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmLmJhY2tkcm9wLG9uQ2xpY2s6bn0pLHIuY3JlYXRlRWxlbWVudChFLHtjbGFzc05hbWU6aSgpKHAuZHJhd2VyLGZbYHBvc2l0aW9uJHt0fWBdLG0pLHJlZjpDLCJkYXRhLW5hbWUiOmVbImRhdGEtbmFtZSJdLCJkYXRhLXFhLWlkIjplWyJkYXRhLXFhLWlkIl19LG8pKSl9IWZ1bmN0aW9uKGUpe2UuTGVmdD0iTGVmdCIsZS5Cb3R0b209IkJvdHRvbSJ9KG18fChtPXt9KSk7Y29uc3QgRT0oMCxyLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTpuLC4uLm99PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChkLlRvdWNoU2Nyb2xsQ29udGFpbmVyLHtjbGFzc05hbWU6aSgpKGYuZHJhd2VyLG4pLHRhYkluZGV4Oi0xLHJlZjp0LC4uLm99KX0pKX0sOTk5NTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7QXBwQ29udGV4dDooKT0+cn0pO2NvbnN0IHI9KDAsbig3Nzk0NzQpLmNyZWF0ZUNvbnRleHQpKHtpc09uTW9iaWxlQXBwUGFnZTooKT0+ITEsaXNSdGw6ITEsbG9jYWxlOiJlbiIscmVuZGVyTW9kZToibGVnYWN5In0pfSwzMzI2ODcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7REVGQVVMVF9JQ09OX0JVVFRPTl9WQVJJQU5UOigpPT5vLEljb25CdXR0b25WYXJpYW50Q29udGV4dDooKT0+aSxJY29uQnV0dG9uVmFyaWFudENvbnRleHRQcm92aWRlcjooKT0+YX0pO3ZhciByPW4oNzc5NDc0KTtjb25zdCBvPSJwcmltYXJ5IixpPSgwLHIuY3JlYXRlQ29udGV4dCkoe3ZhcmlhbnQ6dm9pZCAwfSk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KGkuUHJvdmlkZXIse3ZhbHVlOnt2YXJpYW50OmUudmFyaWFudH19LGUuY2hpbGRyZW4pfX0sMzg3Nzc0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NpcmNsZUxvZ286KCk9PnMsaGlkZGVuQ2lyY2xlTG9nb0NsYXNzOigpPT5hfSk7dmFyIHI9big3Nzk0NzQpLG89big3OTQxODcpLGk9bigxNDAwMTcpO2NvbnN0IGE9bi5uKGkpKCkuaGlkZGVuO2Z1bmN0aW9uIHMoZSl7Y29uc3QgdD0oMCxvLmlzQ2lyY2xlTG9nb1dpdGhVcmxQcm9wcykoZSksW24saV09KDAsci51c2VTdGF0ZSkoMCksYT0oMCxyLnVzZVJlZikobnVsbCkscz0oMCxvLmdldFN0eWxlQ2xhc3NlcykoZS5zaXplLG4sZS5jbGFzc05hbWUpLGw9ZS5hbHQ/P2UudGl0bGU/PyIiLGM9dD9sWzBdOmUucGxhY2Vob2xkZXJMZXR0ZXI7cmV0dXJuKDAsci51c2VFZmZlY3QpKCgoKT0+aShhLmN1cnJlbnQ/LmNvbXBsZXRlPz8hdD8yOjEpKSxbdF0pLHQmJjMhPT1uP3IuY3JlYXRlRWxlbWVudCgiaW1nIix7cmVmOmEsY2xhc3NOYW1lOnMsY3Jvc3NPcmlnaW46IiIsc3JjOmUubG9nb1VybCxhbHQ6bCx0aXRsZTplLnRpdGxlLGxvYWRpbmc6ZS5sb2FkaW5nLG9uTG9hZDooKT0+aSgyKSxvbkVycm9yOigpPT5pKDMpLCJhcmlhLWxhYmVsIjplWyJhcmlhLWxhYmVsIl0sImFyaWEtaGlkZGVuIjplWyJhcmlhLWhpZGRlbiJdfSk6ci5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMsdGl0bGU6ZS50aXRsZSwiYXJpYS1sYWJlbCI6ZVsiYXJpYS1sYWJlbCJdLCJhcmlhLWhpZGRlbiI6ZVsiYXJpYS1oaWRkZW4iXX0sYyl9fSw3OTQxODcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0U3R5bGVDbGFzc2VzOigpPT5sLGlzQ2lyY2xlTG9nb1dpdGhVcmxQcm9wczooKT0+Y30pO3ZhciByPW4oOTE0NDg3KSxvPW4ubihyKSxpPW4oMTM2NCksYT1uKDE0MDAxNykscz1uLm4oYSk7ZnVuY3Rpb24gbChlLHQ9MixuKXtyZXR1cm4gbygpKHMoKS5sb2dvLHMoKVtlXSxuLDA9PT10fHwxPT09dD9vKCkoaS5za2VsZXRvblRoZW1lLndyYXBwZXIscygpLnNrZWxldG9uKTpzKCkubGV0dGVyLDE9PT10JiZpLnNrZWxldG9uVGhlbWUuYW5pbWF0ZWQpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuImxvZ29VcmwiaW4gZSYmbnVsbCE9PWUubG9nb1VybCYmdm9pZCAwIT09ZS5sb2dvVXJsJiYwIT09ZS5sb2dvVXJsLmxlbmd0aH19LDMwOTkyMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDdXN0b21CZWhhdmlvdXJDb250ZXh0OigpPT5yfSk7Y29uc3Qgcj0oMCxuKDc3OTQ3NCkuY3JlYXRlQ29udGV4dCkoe2VuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOiEwfSk7ci5kaXNwbGF5TmFtZT0iQ3VzdG9tQmVoYXZpb3VyQ29udGV4dCJ9LDUyOTQxMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHsKdXNlSXNGaXJzdFJlbmRlcjooKT0+byx1c2VJc05vbkZpcnN0UmVuZGVyOigpPT5pfSk7dmFyIHI9big3Nzk0NzQpO2Z1bmN0aW9uIG8oKXtjb25zdFtlLHRdPSgwLHIudXNlU3RhdGUpKCEwKTtyZXR1cm4oMCxyLnVzZUVmZmVjdCkoKCgpPT57dCghMSl9KSxbXSksZX1mdW5jdGlvbiBpKCl7cmV0dXJuIW8oKX19LDM0MjI2MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VGb3JjZVVwZGF0ZTooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtjb25zdCBvPSgpPT57Y29uc3RbLGVdPSgwLHIudXNlUmVkdWNlcikoKGU9PmUrMSksMCk7cmV0dXJuIGV9fSw3ODc4OTUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlRnVuY3Rpb25hbFJlZk9iamVjdDooKT0+aX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oNjE2MzExKTtmdW5jdGlvbiBpKGUpe2NvbnN0IHQ9KDAsci51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2NvbnN0IHQ9bj0+e2UobiksdC5jdXJyZW50PW59O3JldHVybiB0LmN1cnJlbnQ9bnVsbCx0fSgoZT0+e3MuY3VycmVudChlKX0pKSksW10pLG49KDAsci51c2VSZWYpKG51bGwpLGk9dD0+e2lmKG51bGw9PT10KXJldHVybiBhKG4uY3VycmVudCx0KSx2b2lkKG4uY3VycmVudD1udWxsKTtuLmN1cnJlbnQhPT1lJiYobi5jdXJyZW50PWUsYShuLmN1cnJlbnQsdCkpfSxzPSgwLHIudXNlUmVmKShpKTtyZXR1cm4gcy5jdXJyZW50PWksKDAsby51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9PntpZihudWxsIT09dC5jdXJyZW50KXJldHVybiBzLmN1cnJlbnQodC5jdXJyZW50KSwoKT0+cy5jdXJyZW50KG51bGwpfSksW2VdKSx0fWZ1bmN0aW9uIGEoZSx0KXtudWxsIT09ZSYmKCJmdW5jdGlvbiI9PXR5cGVvZiBlP2UodCk6ZS5jdXJyZW50PXQpfX0sNjg5ODk0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2hvdmVyTW91c2VFdmVudEZpbHRlcjooKT0+YSx1c2VBY2N1cmF0ZUhvdmVyOigpPT5zLHVzZUhvdmVyOigpPT5vLHVzZUhvdmVyRGVwcmVjYXRlZDooKT0+aX0pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKCl7Y29uc3RbZSx0XT0oMCxyLnVzZVN0YXRlKSghMSk7cmV0dXJuW2Use29uTW91c2VFbnRlcjpmdW5jdGlvbihlKXt0KCEwKX0sb25Nb3VzZUxlYXZlOmZ1bmN0aW9uKGUpe3QoITEpfX1dfWZ1bmN0aW9uIGkoKXtjb25zdFtlLHRdPSgwLHIudXNlU3RhdGUpKCExKTtyZXR1cm5bZSx7b25Nb3VzZU92ZXI6ZnVuY3Rpb24oZSl7YShlKSYmdCghMCl9LG9uTW91c2VPdXQ6ZnVuY3Rpb24oZSl7YShlKSYmdCghMSl9fV19ZnVuY3Rpb24gYShlKXtyZXR1cm4hZS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCl9ZnVuY3Rpb24gcyhlKXtjb25zdFt0LG5dPSgwLHIudXNlU3RhdGUpKCExKTtyZXR1cm4oMCxyLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgdD10PT57aWYobnVsbD09PWUuY3VycmVudClyZXR1cm47Y29uc3Qgcj1lLmN1cnJlbnQuY29udGFpbnModC50YXJnZXQpO24ocil9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHQpLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHQpfSksW10pLHR9fSw3MTc5MzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlTWF0Y2hNZWRpYTooKT0+aSx1c2VTYWZlTWF0Y2hNZWRpYTooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdD0hMSl7Y29uc3RbbixvXT0oMCxyLnVzZVN0YXRlKSh0KTtyZXR1cm4oMCxyLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgdD13aW5kb3cubWF0Y2hNZWRpYShlKTtmdW5jdGlvbiBuKCl7byh0Lm1hdGNoZXMpfXJldHVybiBuKCksdC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLG4pLCgpPT57dC5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLG4pfX0pLFtlXSksbn1mdW5jdGlvbiBpKGUpe2NvbnN0IHQ9KDAsci51c2VNZW1vKSgoKCk9PndpbmRvdy5tYXRjaE1lZGlhKGUpLm1hdGNoZXMpLFtdKTtyZXR1cm4gbyhlLHQpfX0sOTQ4NDUwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvbW1vbkljb246KCk9Pm99KTt2YXIgcj1uKDc3OTQ3NCk7Y29uc3Qgbz1yLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOm4sYXJpYUxhYmVsOm8sYXJpYUxhYmVsbGVkYnk6aSx0aXRsZTphLGljb246cz0iIiwuLi5sfT1lLGM9bCx1PSEoIW8mJiFpKTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJzcGFuIix7ImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6aSwiYXJpYS1oaWRkZW4iOiF1LHJlZjp0LHJvbGU6ImltZyIsZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpzfSxjbGFzc05hbWU6bix0aXRsZTphLC4uLmN9KX0pKX0sMjczMzEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0ljb246KCk9Pm99KTt2YXIgcj1uKDc3OTQ3NCk7Y29uc3Qgbz1yLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjpuPSIiLHRpdGxlOm8sYXJpYUxhYmVsOmksYXJpYUxhYmVsbGVkYnk6YSxhcmlhSGlkZGVuOnMsLi4ubH09ZSxjPSEhKG98fGl8fGEpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJpbWciLC4uLmwscmVmOnQsImFyaWEtbGFiZWwiOmksImFyaWEtbGFiZWxsZWRieSI6YSwiYXJpYS1oaWRkZW4iOnN8fCFjLHRpdGxlOm8sZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpufX0pfSkpfSw3NDE0MDUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TGlzdEl0ZW1IYXNEZXNjcmlwdGlvbkNvbnRleHQ6KCk9PnJ9KTtjb25zdCByPSgwLG4oNzc5NDc0KS5jcmVhdGVDb250ZXh0KSghMSl9LDYyODgyNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtMaXN0SXRlbTooKT0+a30pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxpPW4ubihvKSxhPW4oNTYxMjUwKSxzPW4ubihhKTtmdW5jdGlvbiBsKGUpe2NvbnN0IHQ9KDAsCnIudXNlUmVmKShudWxsKSx7Y2hpbGRyZW46bixsaXN0SXRlbVJlZjpvPXQsaXNPcGVuOmEsc2VsZWN0ZWQ6bCxkaXNhYmxlZDpjLG9uTW91c2VFbnRlcjp1LHNpemU6ZD0ibWVkaXVtIixhcmlhQnVzeTpmLGludGVudDptPSJuZXV0cmFsIixkYXRhUWFJZDpwfT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIseyJkYXRhLXFhLWlkIjpwLGNsYXNzTmFtZTppKCkocygpLmJhY2tncm91bmQsbCYmcygpLnNlbGVjdGVkLGEmJnMoKS5vcGVuLGMmJnMoKS5kaXNhYmxlZCxzKClbZF0scygpW21dKSxyZWY6byxvbk1vdXNlRW50ZXI6dSwiYXJpYS1idXN5IjpmfSxuKX12YXIgYz1uKDIzNTcyNCksdT1uKDc4Nzg5NSksZD1uKDM0NTExNiksZj1uKDM1OTExNiksbT1uLm4oZik7ZnVuY3Rpb24gcChlKXtjb25zdCB0PSgwLHIudXNlUmVmKShudWxsKSx7Y2hpbGRyZW46bixsaXN0SXRlbUJ1dHRvblJlZjpvPXQsbGlzdEl0ZW1CdXR0b25JZDphLG9uS2V5RG93bkxpc3RJdGVtQnV0dG9uOnMsaHJlZjpsLHRhcmdldDpmPSJfYmxhbmsiLGhvdGtleTpwLGFyaWFDaGVja2VkOkUsYXJpYVNlbGVjdGVkOnYsYXJpYUhhc3BvcHVwOmgsYXJpYUNvbnRyb2xzOkMsYXJpYUV4cGFuZGVkOmIsYXJpYUxhYmVsOmcsYXJpYUxldmVsOngscm9sZTpPLGRpc2FibGVkOk4saXNPcGVuOncsc2VsZWN0ZWQ6UCxvbkNsaWNrOkwsdGFiSW5kZXg6VD0wLHJlbDpfLGRhdGFRYUlkOnksLi4uU309ZSxJPSgwLGQuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoUyksUj0oMCx1LnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKG8pLEE9KDAsci51c2VDYWxsYmFjaykoKGU9PntpZihSLmN1cnJlbnQhPT1lLnRhcmdldClyZXR1cm47cz8uKGUpO2NvbnN0IHQ9KDAsYy5oYXNoRnJvbUV2ZW50KShlKTszMiE9PXQmJjEzIT09dHx8KHZvaWQgMCE9PWwmJndpbmRvdy5vcGVuKGwsZiksTD8uKGUpLGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpKX0pLFtMLGwsZixzLFJdKSxrPXtyb2xlOk8sImFyaWEta2V5c2hvcnRjdXRzIjpwPyhEPXAsQXJyYXkuaXNBcnJheShEKT9ELm1hcChjLmhvdGtleUhhc2hUb0FyaWFLZXlzaG9ydGN1dHMpLmpvaW4oIiAiKTooMCxjLmhvdGtleUhhc2hUb0FyaWFLZXlzaG9ydGN1dHMpKEQpKTp2b2lkIDAsImFyaWEtZXhwYW5kZWQiOmIsImFyaWEtaGFzcG9wdXAiOmgsImFyaWEtY29udHJvbHMiOkMsImFyaWEtY2hlY2tlZCI6RSwiYXJpYS1zZWxlY3RlZCI6diwiYXJpYS1kaXNhYmxlZCI6TiwiYXJpYS1sYWJlbCI6ZywiYXJpYS1sZXZlbCI6eCxjbGFzc05hbWU6aSgpKG0oKS5idXR0b24sUCYmbSgpLnNlbGVjdGVkKSx0YWJJbmRleDpULHJlZjpSLG9uS2V5RG93bjpOP3ZvaWQgMDpBLG9uQ2xpY2s6Tj92b2lkIDA6TCxpZDphLCJkYXRhLXFhLWlkIjp5LC4uLkl9O3ZhciBEO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoci5GcmFnbWVudCxudWxsLCFsJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLmt9LCIgIixuLCIgIiksbCYmci5jcmVhdGVFbGVtZW50KCJhIix7aHJlZjpsLHRhcmdldDpmLHJlbDpfLC4uLmt9LG4pKX12YXIgRT1uKDMzMjY4Nyksdj1uKDQ0MDkyNiksaD1uLm4odik7ZnVuY3Rpb24gQyhlKXtjb25zdHtob3RrZXk6dH09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aCgpLmhvdGtleX0sKG49dCxBcnJheS5pc0FycmF5KG4pP24ubWFwKGMuaHVtYW5SZWFkYWJsZUhhc2gpLmpvaW4oIiwgIik6KDAsYy5odW1hblJlYWRhYmxlSGFzaCkobikpKTt2YXIgbn12YXIgYj1uKDIzMjA1NCksZz1uLm4oYik7ZnVuY3Rpb24geChlKXtjb25zdHtyaWdodFNsb3Q6dCxob3RrZXk6bixzZWxlY3RlZDpvfT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnKCkucmlnaHR9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmcoKS5jaGlsZH0sci5jcmVhdGVFbGVtZW50KEUuSWNvbkJ1dHRvblZhcmlhbnRDb250ZXh0UHJvdmlkZXIse3ZhcmlhbnQ6bz8icHJpbWFyeS1zcGVjaWFsIjoicHJpbWFyeSJ9LG4mJnIuY3JlYXRlRWxlbWVudChDLHtob3RrZXk6bn0pLHQpKSl9dmFyIE89big0NDM2MTgpLE49bi5uKE8pO2Z1bmN0aW9uIHcoZSl7Y29uc3R7ZWxsaXBzaXM6dCx0ZXh0Om4sY2xhc3NOYW1lOm99PWU7cmV0dXJuIG4/ci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKG8sInN0cmluZyI9PXR5cGVvZiBuJiZ0JiZOKCkuZWxsaXBzaXMsInN0cmluZyIhPXR5cGVvZiBuJiZOKCkud2l0aEdhcHMsdCYmImFwcGx5LW92ZXJmbG93LXRvb2x0aXAiKX0sbik6bnVsbH12YXIgUD1uKDk0ODM5MCksTD1uLm4oUCk7ZnVuY3Rpb24gVChlKXtjb25zdHtlbGxpcHNpczp0PSEwLHRpdGxlOm4sZGVzY3JpcHRpb246byxoYXNFbmRTbG90OmF9PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShMKCkubWlkZGxlLG4mJkwoKS5oYXNUaXRsZSxvJiZMKCkuaGFzRGVzY3JpcHRpb24sIWEmJkwoKS5oYXNOb0VuZFNsb3QpfSxyLmNyZWF0ZUVsZW1lbnQodyx7a2V5OiJ0aXRsZSIsY2xhc3NOYW1lOkwoKS50aXRsZSx0ZXh0Om4sZWxsaXBzaXM6dH0pLHIuY3JlYXRlRWxlbWVudCh3LHtrZXk6ImRlc2NyaXB0aW9uIixjbGFzc05hbWU6TCgpLmRlc2NyaXB0aW9uLHRleHQ6byxlbGxpcHNpczp0fSkpfXZhciBfPW4oMjEyNDg2KSx5PW4ubihfKTtmdW5jdGlvbiBTKGUpe2NvbnN0e2xlZnRTbG90OnQscmlnaHRTbG90Om4saG90a2V5Om8sc2VsZWN0ZWQ6aSxlbGxpcHNpczphLHRpdGxlOnMsZGVzY3JpcHRpb246bH09ZSxjPXZvaWQgMCE9PXQmJnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnkoKS5sZWZ0LHN0eWxlOnsiLS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1sZWZ0U2xvdEl0ZW1zTnVtYmVyIjpBcnJheS5pc0FycmF5KHQpP3QubGVuZ3RoOjF9fSx0KSx1PW58fG8/ci5jcmVhdGVFbGVtZW50KHgse3JpZ2h0U2xvdDpuLGhvdGtleTpvLHNlbGVjdGVkOml9KTpudWxsLGQ9ci5jcmVhdGVFbGVtZW50KFQse2VsbGlwc2lzOmEsdGl0bGU6cyxkZXNjcmlwdGlvbjpsLGhhc0VuZFNsb3Q6ISF1fSkKO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoci5GcmFnbWVudCxudWxsLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnkoKS5idXR0b25Db250ZW50fSxjLGQsdSkpfXZhciBJLFIsQT1uKDc0MTQwNSk7ZnVuY3Rpb24gayhlKXtjb25zdHt0aXRsZTp0LGRlc2NyaXB0aW9uOm4sbGlzdEl0ZW1SZWY6byxsaXN0SXRlbUJ1dHRvblJlZjppLGlzT3BlbjphLHNlbGVjdGVkOnMsZGlzYWJsZWQ6YyxvbkNsaWNrOnUsaHJlZjpmLGxlZnRTbG90Om0scmlnaHRTbG90OkUsaG90a2V5OnYsaW50ZW50Omgsb25Nb3VzZUVudGVyOkMsb25LZXlEb3duTGlzdEl0ZW1CdXR0b246YixsaXN0SXRlbUJ1dHRvbklkOmcsYXJpYUNoZWNrZWQ6eCxhcmlhU2VsZWN0ZWQ6TyxhcmlhSGFzcG9wdXA6TixhcmlhQ29udHJvbHM6dyxhcmlhRXhwYW5kZWQ6UCxhcmlhQnVzeTpMLGFyaWFMYWJlbDpULGFyaWFMZXZlbDpfLHJvbGU6eSxzaXplOkksZWxsaXBzaXM6Uix0YXJnZXQ6ayxvdXRzaWRlT2ZCdXR0b25TbG90OkQsdGFiSW5kZXg6RixyZWw6VixkYXRhUWFJZDpNLC4uLld9PWUsSD0oMCxkLmZpbHRlckNoZWNrZWREYXRhUHJvcHMpKFcpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoQS5MaXN0SXRlbUhhc0Rlc2NyaXB0aW9uQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6ISFufSxyLmNyZWF0ZUVsZW1lbnQobCx7c2l6ZTpJLHNlbGVjdGVkOnMsaXNPcGVuOmEsZGlzYWJsZWQ6YyxsaXN0SXRlbVJlZjpvLG9uTW91c2VFbnRlcjpDLGFyaWFCdXN5OkwsaW50ZW50Omh9LHIuY3JlYXRlRWxlbWVudChwLHtsaXN0SXRlbUJ1dHRvblJlZjppLGxpc3RJdGVtQnV0dG9uSWQ6ZyxvbktleURvd25MaXN0SXRlbUJ1dHRvbjpiLGhyZWY6Zix0YXJnZXQ6ayxob3RrZXk6dixhcmlhQ2hlY2tlZDp4LGFyaWFTZWxlY3RlZDpPLGFyaWFIYXNwb3B1cDpOLGFyaWFDb250cm9sczp3LGFyaWFFeHBhbmRlZDpQLGFyaWFMYWJlbDpULGFyaWFMZXZlbDpfLHJvbGU6eSxkaXNhYmxlZDpjLGlzT3BlbjphLHNlbGVjdGVkOnMsb25DbGljazp1LGRhdGFRYUlkOk0sdGFiSW5kZXg6RixyZWw6ViwuLi5IfSxyLmNyZWF0ZUVsZW1lbnQoUyx7bGVmdFNsb3Q6bSxyaWdodFNsb3Q6RSxob3RrZXk6dixzZWxlY3RlZDpzLGVsbGlwc2lzOlIsdGl0bGU6dCxkZXNjcmlwdGlvbjpufSkpLEQpKX0hZnVuY3Rpb24oZSl7ZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UifShJfHwoST17fSkpLGZ1bmN0aW9uKGUpe2UuTmV1dHJhbD0ibmV1dHJhbCIsZS5EYW5nZXI9ImRhbmdlciJ9KFJ8fChSPXt9KSl9LDk4ODA2OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtEQVRBX0lTX0NPTlRFWFRfQUNUSU9OOigpPT5pLERBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTjooKT0+byxEQVRBX05FU1RFRF9QT1BPVkVSX09QRU46KCk9PnJ9KTtjb25zdCByPSJkYXRhLW5lc3RlZC1wb3BvdmVyLW9wZW4iLG89ImRhdGEtaXMtcG9wb3Zlci1pdGVtLWJ1dHRvbiIsaT0iZGF0YS1pcy1wb3BvdmVyLWNvbnRleHQtYWN0aW9uIn0sODczMDkwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0FMV0FZU19EUk9QRE9XTl9QT1BPVkVSX0JSRUFLUE9JTlQ6KCk9Pm8sREVGQVVMVF9QT1BPVkVSX0JSRUFLUE9JTlQ6KCk9Pml9KTt2YXIgcj1uKDgwOTQzNik7Y29uc3Qgbz0ibm90IGFsbCIsaT1yWyJtZWRpYS1zaG93LWRyYXdlciJdfSw1MjA0ODYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UG9wb3ZlckNvbnRlbnRWZXJ0aWNhbDooKT0+dX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxpPW4ubihvKSxhPW4oNDQwMDk2KSxzPW4ubihhKTt2YXIgbD1uKDYyNzAyMiksYz1uLm4obCk7ZnVuY3Rpb24gdShlKXtjb25zdHtjaGlsZHJlbjp0LGZpeGVkSGVhZGVyOm4sZml4ZWRGb290ZXI6byxvblNjcm9sbDphLHNjcm9sbFJlZjpsLGRhdGFRYUlkOnV9PWUse3Njcm9sbENvbXBlbnNhdGlvbjpkLHNjcm9sbFBhZGRpbmdDb250YWluZXI6Zn09ZnVuY3Rpb24oKXtjb25zdFtlLHRdPSgwLHIudXNlU3RhdGUpKHZvaWQgMCksbj0oMCxyLnVzZUNhbGxiYWNrKSgoZT0+e2UmJnQoKHQ9PnR8fGUub2Zmc2V0V2lkdGgtZS5jbGllbnRXaWR0aCkpfSksW10pO3JldHVybntzY3JvbGxDb21wZW5zYXRpb246dm9pZCAwIT09ZT8tZSsicHgiOnZvaWQgMCxzY3JvbGxQYWRkaW5nQ29udGFpbmVyOnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnMoKS5zY3JvbGxDb250YWluZXIscmVmOm59KX19KCk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChyLkZyYWdtZW50LG51bGwsci5jcmVhdGVFbGVtZW50KCJkaXYiLHsiZGF0YS1xYS1pZCI6dSxjbGFzc05hbWU6YygpLmZsZXh9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShjKCkuZml4ZWRIZWFkZXIsbiYmYygpLmZpeGVkSGVhZGVyQ29udGVudCl9LG4pLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShjKCkubWFpblNjcm9sbFdyYXBwZXIsdm9pZCAwPT09ZCYmYygpLm5vU2Nyb2xsKSxvblNjcm9sbDphLHJlZjpsLHN0eWxlOnsiLS11aS1saWItcHJpdmF0ZS1wb3BvdmVyQ29udGVudFZlcnRpY2FsLXNjcm9sbC1jb21wZW5zYXRpb24iOmR9fSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTppKCkoYygpLm1haW4sdCYmYygpLm1haW5Db250ZW50KX0sdCkpLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShjKCkuZml4ZWRGb290ZXIsbyYmYygpLmZpeGVkRm9vdGVyQ29udGVudCl9LG8pKSxmKX19LDk3MjczNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQb3BvdmVySXRlbTooKT0+bH0pO3ZhciByLG8saT1uKDc3OTQ3NCksYT1uKDYyODgyNSkscz1uKDk4ODA2OCk7ZnVuY3Rpb24gbChlKXsKY29uc3R7dGl0bGU6dCxkZXNjcmlwdGlvbjpuLHBvcG92ZXJJdGVtUmVmOnIscG9wb3Zlckl0ZW1CdXR0b25SZWY6byxpc09wZW46bCxzZWxlY3RlZDpjLGRpc2FibGVkOnUsb25DbGljazpkLGhyZWY6ZixsZWZ0U2xvdDptLHJpZ2h0U2xvdDpwLGhvdGtleTpFLGludGVudDp2LG9uTW91c2VFbnRlcjpoLG9uS2V5RG93blBvcG92ZXJJdGVtQnV0dG9uOkMscG9wb3Zlckl0ZW1CdXR0b25JZDpiLGFyaWFDaGVja2VkOmcsYXJpYVNlbGVjdGVkOngsYXJpYUhhc3BvcHVwOk8sYXJpYUNvbnRyb2xzOk4sYXJpYUV4cGFuZGVkOncsYXJpYUJ1c3k6UCxhcmlhTGFiZWw6TCxyb2xlOlQsc2l6ZTpfLGVsbGlwc2lzOnksdGFyZ2V0OlMsb3V0c2lkZU9mQnV0dG9uU2xvdDpJLHRhYkluZGV4OlIscmVsOkEsZGF0YVFhSWQ6a309ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGEuTGlzdEl0ZW0se3RpdGxlOnQsZGVzY3JpcHRpb246bixsaXN0SXRlbVJlZjpyLGxpc3RJdGVtQnV0dG9uUmVmOm8saXNPcGVuOmwsc2VsZWN0ZWQ6YyxkaXNhYmxlZDp1LG9uQ2xpY2s6ZCxocmVmOmYsbGVmdFNsb3Q6bSxyaWdodFNsb3Q6cCxob3RrZXk6RSxpbnRlbnQ6dixvbk1vdXNlRW50ZXI6aCxvbktleURvd25MaXN0SXRlbUJ1dHRvbjpDLGxpc3RJdGVtQnV0dG9uSWQ6YixhcmlhQ2hlY2tlZDpnLGFyaWFTZWxlY3RlZDp4LGFyaWFIYXNwb3B1cDpPLGFyaWFDb250cm9sczpOLGFyaWFFeHBhbmRlZDp3LGFyaWFCdXN5OlAsYXJpYUxhYmVsOkwscm9sZTpULHNpemU6XyxlbGxpcHNpczp5LHRhcmdldDpTLG91dHNpZGVPZkJ1dHRvblNsb3Q6SSx0YWJJbmRleDpSLHJlbDpBLGRhdGFRYUlkOmssW3MuREFUQV9JU19QT1BPVkVSX0lURU1fQlVUVE9OXToidHJ1ZSJ9KX0hZnVuY3Rpb24oZSl7ZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuTmV1dHJhbD0ibmV1dHJhbCIsZS5EYW5nZXI9ImRhbmdlciJ9KG98fChvPXt9KSl9LDIwODA4MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQb3BvdmVyS2V5Ym9hcmROYXZpZ2F0b3I6KCk9PlB9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDc4Nzg5NSksaT1uKDIzNjQ1NCksYT1uKDcxODc3Mykscz1uKDU4NzE2OCksbD1uKDIzNTcyNCksYz1uKDk4ODA2OCksdT1uKDgyMzEyNCksZD1uKDI1MDUxOCk7Y29uc3QgZj0oZSx0KT0+e2NvbnN0IG49ZSh0LHtwcmV2ZW50U2Nyb2xsOiEwfSk7biYmKDAsdS5zY3JvbGxQb3BvdmVySXRlbUludG9WaWV3KShuKX07ZnVuY3Rpb24gbShlLHQ9MCl7Y29uc3R7Zm9jdXNQcmV2TG9vcDpuLGZvY3VzTmV4dExvb3A6byxmb2N1c0ZpcnN0OmksZm9jdXNMYXN0OmF9PSgwLHIudXNlTWVtbykoKCgpPT4oMCxkLmdldFNlbGVjdG9yS2V5Ym9hcmROYXZpZ2F0aW9uKShgWyR7Yy5EQVRBX0lTX1BPUE9WRVJfSVRFTV9CVVRUT059XWApKSxbXSk7Y29uc3QgdT0oMCxyLnVzZUNhbGxiYWNrKSgodD0+e2UmJnQmJmkodCl9KSxbaSxlXSksbT0oMCxyLnVzZU1lbW8pKCgoKT0+KDAscy5kZWZhdWx0KShmLHQse2xlYWRpbmc6ITEsdHJhaWxpbmc6ITB9KSksW3RdKTtyZXR1cm57b25LZXlEb3duOmZ1bmN0aW9uKGUpe2NvbnN0IHI9KDAsbC5oYXNoRnJvbUV2ZW50KShlKSxzPWUuY3VycmVudFRhcmdldCxjPWZ1bmN0aW9uKGUpe3N3aXRjaChlKXtjYXNlIDM4OnJldHVybiBuO2Nhc2UgNDA6cmV0dXJuIG87Y2FzZSAzNjpyZXR1cm4gaTtjYXNlIDM1OnJldHVybiBhfX0ocik7YyYmKGUuc3RvcFByb3BhZ2F0aW9uKCksZS5wcmV2ZW50RGVmYXVsdCgpLHQ/bShjLHMpOmYoYyxzKSl9LHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnV9fXZhciBwPW4oOTE0NDg3KSxFPW4ubihwKSx2PW4oMzE5NjkpLGg9bigyMzc2MTYpLEM9big1MjA0ODYpLGI9big1MTgyNzIpLGc9bi5uKGIpO2Z1bmN0aW9uIHgoZSl7Y29uc3QgdD0oMCxyLnVzZVJlZikobnVsbCkse3dpZHRoOm49aS5QT1BPVkVSX0RFRkFVTFRfV0lEVEgsaGVpZ2h0Om89aS5QT1BPVkVSX0RFRkFVTFRfSEVJR0hULHBsYWNlbWVudFJ1bGVzOmE9aS5QT1BPVkVSX0RFRkFVTFRfUExBQ0VNRU5UX1JVTEVTLG9uQ2xvc2U6cyxpc09wZW46bCxhbmNob3JQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6YyxjaGlsZHJlbjp1LHJvbGU6ZCxhcmlhTGFiZWxsZWRieTpmLGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6bSxhbmNob3JlZDpwLGFyaWFNdWx0aXNlbGVjdGFibGU6Yixtb2JpbGVQb3NpdGlvbmVyU2lkZTp4LG1vYmlsZVBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpPLG1vYmlsZVBvc2l0aW9uZXJTdHJldGNoOk4scmVmT2JqZWN0VG9Db250ZW50V3JhcHBlckVsZW1lbnQ6dz10LGlzUnRsOlAscmVwb3NpdGlvblRyaWdnZXJzOkwscmVwb3NpdGlvbkRlcGVuZGVuY2llczpULGZpeGVkSGVhZGVyOl8sZml4ZWRGb290ZXI6eSxvblNjcm9sbDpTLHNjcm9sbFJlZjpJLG9uS2V5RG93bjpSLGNvbnRlbnRSZXNpemU6QSxtb2JpbGVCcmVha3BvaW50OmssZGF0YVFhSWQ6RCxjb250ZW50V3JhcHBlckNsYXNzbmFtZTpGfT1lLFY9KDAsci51c2VJZCkoKSxNPW0/P1YsVz0oMCx2LnVzZU1lcmdlZFJlZnMpKFt3XSksSD0oMCxyLnVzZVJlZikobnVsbCksQj0oMCx2LnVzZU1lcmdlZFJlZnMpKFtJLEhdKSxLPXIuY3JlYXRlRWxlbWVudCgiZGl2Iix7b25LZXlEb3duOlIsY2xhc3NOYW1lOkUoKShGLGcoKS5ldmVudFdyYXBwZXIpfSxyLmNyZWF0ZUVsZW1lbnQoQy5Qb3BvdmVyQ29udGVudFZlcnRpY2FsLHtmaXhlZEhlYWRlcjpfLGZpeGVkRm9vdGVyOnksb25TY3JvbGw6UyxzY3JvbGxSZWY6Qn0sdSkpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoaC5Qb3BvdmVyLHthbmNob3JlZDpwLGlzUnRsOlAsb25DbG9zZTpzLGlzT3BlbjpsLGFuY2hvclBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpjLHJvbGU6ZCxhcmlhTGFiZWxsZWRieTpmLGFyaWFNdWx0aXNlbGVjdGFibGU6YixpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50Ok0scmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6VyxwbGFjZW1lbnRSdWxlczphLHdpZHRoOm4saGVpZ2h0Om8sCmNoaWxkcmVuOkssbW9iaWxlUG9zaXRpb25lclNpZGU6eCxtb2JpbGVQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6Tyxtb2JpbGVQb3NpdGlvbmVyU3RyZXRjaDpOLHJlcG9zaXRpb25UcmlnZ2VyczpMLHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6VCxtb2JpbGVCcmVha3BvaW50OmssZGF0YVFhSWQ6RCxjb250ZW50UmVzaXplOkEsc2Nyb2xsQ29udGFpbmVyOkh9KX12YXIgTz1uKDk5OTUxKSxOPW4oNDUyNDY0KSx3PW4ubihOKTtmdW5jdGlvbiBQKGUpe2NvbnN0IHQ9KDAsci51c2VSZWYpKG51bGwpLHt3aWR0aDpuPWkuUE9QT1ZFUl9ERUZBVUxUX1dJRFRILGhlaWdodDpzPWkuUE9QT1ZFUl9ERUZBVUxUX0hFSUdIVCxwbGFjZW1lbnRSdWxlczpsPWkuUE9QT1ZFUl9ERUZBVUxUX1BMQUNFTUVOVF9SVUxFUyxvbkNsb3NlOmMsaXNPcGVuOnUsY2xvc2VPbkNsaWNrQXdheTpkPWkuUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0NMSUNLX0FXQVksY2xvc2VPbkVzY2FwZTpmPWkuUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0VTQ0FQRSxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpwPWkuUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX1NDUk9MTF9PVVRTSURFLGNsb3NlT25SZXNpemVXaW5kb3c6RT1pLlBPUE9WRVJfREVGQVVMVF9DTE9TRV9PTl9SRVNJWkVfV0lORE9XLGNsb3NlT25UYWI6aD1pLlBPUE9WRVJfREVGQVVMVF9DTE9TRV9PTl9UQUIsYW5jaG9yUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOkMsY2hpbGRyZW46Yixyb2xlOmcsYXJpYUxhYmVsbGVkYnk6TixpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OlAsYW5jaG9yZWQ6TCxhcmlhTXVsdGlzZWxlY3RhYmxlOlQsbW9iaWxlUG9zaXRpb25lclNpZGU6Xyxtb2JpbGVQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6eSxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDpTPXQsaXNSdGw6SSxmb2N1c0ZpcnN0SXRlbU9uT3BlbjpSPSEwLHJlcG9zaXRpb25UcmlnZ2VyczpBPVtdLHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6ayxmaXhlZEhlYWRlcjpELGZpeGVkRm9vdGVyOkYsb25TY3JvbGw6VixzY3JvbGxSZWY6TSxtb2JpbGVCcmVha3BvaW50OlcsY29udGVudFJlc2l6ZTpIPTE0LG1vYmlsZVBvc2l0aW9uZXJTdHJldGNoOkIsa2V5RG93blRocm90dGxlTXM6SyxkYXRhUWFJZDpVfT1lLHo9KDAsci51c2VDb250ZXh0KShPLkFwcENvbnRleHQpLmlzUnRsLEc9ST8/eixRPSgwLG8udXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoUykscT0oMCxyLnVzZUlkKSgpLFo9UD8/cSx7cmVwb3NpdGlvblRyaWdnZXJzOmoscmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6WX09KDAsYS51c2VQb3BvdmVyQ2xvc2VCZWhhdmlvcikoe29uQ2xvc2U6Yyxpc09wZW46dSxjbG9zZU9uQ2xpY2tBd2F5OmQsY2xvc2VPbkVzY2FwZTpmLGNsb3NlT25SZXNpemVXaW5kb3c6RSxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpwLGNsb3NlT25UYWI6aCxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDpRLGV4Y2x1ZGVBcmVhOkwuYXR9KSx7b25LZXlEb3duOlgscmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6Sn09bShSLEspLCQ9KDAsdi51c2VNZXJnZWRSZWZzKShbSixZXSk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCh4LHthbmNob3JlZDpMLGlzUnRsOkcsb25DbG9zZTpjLGlzT3Blbjp1LGFuY2hvclBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpDLHJvbGU6ZyxhcmlhTGFiZWxsZWRieTpOLGFyaWFNdWx0aXNlbGVjdGFibGU6VCxpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OloscmVmT2JqZWN0VG9Db250ZW50V3JhcHBlckVsZW1lbnQ6JCxwbGFjZW1lbnRSdWxlczpsLHdpZHRoOm4saGVpZ2h0OnMsY2hpbGRyZW46Yixtb2JpbGVQb3NpdGlvbmVyU2lkZTpfLG1vYmlsZVBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTp5LHJlcG9zaXRpb25UcmlnZ2VyczpbLi4uaiwuLi5BXSxyZXBvc2l0aW9uRGVwZW5kZW5jaWVzOmssZml4ZWRGb290ZXI6RixmaXhlZEhlYWRlcjpELG9uU2Nyb2xsOlYsc2Nyb2xsUmVmOk0sb25LZXlEb3duOlgsY29udGVudFJlc2l6ZTpILG1vYmlsZVBvc2l0aW9uZXJTdHJldGNoOkIsbW9iaWxlQnJlYWtwb2ludDpXLGRhdGFRYUlkOlUsY29udGVudFdyYXBwZXJDbGFzc25hbWU6dygpLnBrbn0pfX0sODIzMTI0KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlLHQpe2Uuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOnQ/InNtb290aCI6dm9pZCAwLGJsb2NrOiJjZW50ZXIifSl9bi5kKHQse3Njcm9sbFBvcG92ZXJJdGVtSW50b1ZpZXc6KCk9PnJ9KX0sNjQwNTEzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BMQUNFTUVOVF9CT1RUT01fQUxJR05fQ0VOVEVSOigpPT5pLFBMQUNFTUVOVF9CT1RUT01fQUxJR05fTEVGVDooKT0+cixQTEFDRU1FTlRfQk9UVE9NX0FMSUdOX1JJR0hUOigpPT5vLFBMQUNFTUVOVF9MRUZUX0FMSUdOX0JPVFRPTTooKT0+bSxQTEFDRU1FTlRfTEVGVF9BTElHTl9DRU5URVI6KCk9PnAsUExBQ0VNRU5UX0xFRlRfQUxJR05fVE9QOigpPT5mLFBMQUNFTUVOVF9SSUdIVF9BTElHTl9CT1RUT006KCk9PnUsUExBQ0VNRU5UX1JJR0hUX0FMSUdOX0NFTlRFUjooKT0+ZCxQTEFDRU1FTlRfUklHSFRfQUxJR05fVE9QOigpPT5jLFBMQUNFTUVOVF9UT1BfQUxJR05fQ0VOVEVSOigpPT5sLFBMQUNFTUVOVF9UT1BfQUxJR05fTEVGVDooKT0+YSxQTEFDRU1FTlRfVE9QX0FMSUdOX1JJR0hUOigpPT5zfSk7Y29uc3Qgcj17bmFtZToiYm90dG9tLWxlZnQiLHJ0bE5hbWU6ImJvdHRvbS1yaWdodCIsYW5jaG9yUG9pbnQ6e3g6MCx5OjF9LGNvbnRlbnRQb2ludDp7eDowLHk6MH0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0sbz17bmFtZToiYm90dG9tLXJpZ2h0IixydGxOYW1lOiJib3R0b20tbGVmdCIsYW5jaG9yUG9pbnQ6e3g6MSx5OjF9LGNvbnRlbnRQb2ludDp7eDoxLHk6MH0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0saT17bmFtZToiYm90dG9tIixhbmNob3JQb2ludDp7eDouNSwKeToxfSxjb250ZW50UG9pbnQ6e3g6LjUseTowfSxvdmVyZmxvd0hvcml6b250YWw6InNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJjcm9wU2xpZGUifSxhPXtuYW1lOiJ0b3AtbGVmdCIscnRsTmFtZToidG9wLXJpZ2h0IixhbmNob3JQb2ludDp7eDowLHk6MH0sY29udGVudFBvaW50Ont4OjAseToxfSxvdmVyZmxvd0hvcml6b250YWw6InNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJjcm9wU2xpZGUifSxzPXtuYW1lOiJ0b3AtcmlnaHQiLHJ0bE5hbWU6InRvcC1sZWZ0IixhbmNob3JQb2ludDp7eDoxLHk6MH0sY29udGVudFBvaW50Ont4OjEseToxfSxvdmVyZmxvd0hvcml6b250YWw6InNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJjcm9wU2xpZGUifSxsPXtuYW1lOiJ0b3AiLGFuY2hvclBvaW50Ont4Oi41LHk6MH0sY29udGVudFBvaW50Ont4Oi41LHk6MX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0sYz17bmFtZToicmlnaHQtdG9wIixydGxOYW1lOiJsZWZ0LXRvcCIsYW5jaG9yUG9pbnQ6e3g6MSx5OjB9LGNvbnRlbnRQb2ludDp7eDowLHk6MH0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn0sdT17bmFtZToicmlnaHQtYm90dG9tIixydGxOYW1lOiJsZWZ0LWJvdHRvbSIsYW5jaG9yUG9pbnQ6e3g6MSx5OjF9LGNvbnRlbnRQb2ludDp7eDowLHk6MX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn0sZD17bmFtZToicmlnaHQiLHJ0bE5hbWU6ImxlZnQiLGFuY2hvclBvaW50Ont4OjEseTouNX0sY29udGVudFBvaW50Ont4OjAseTouNX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn0sZj17bmFtZToibGVmdC10b3AiLHJ0bE5hbWU6InJpZ2h0LXRvcCIsYW5jaG9yUG9pbnQ6e3g6MCx5OjB9LGNvbnRlbnRQb2ludDp7eDoxLHk6MH0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn0sbT17bmFtZToibGVmdC1ib3R0b20iLHJ0bE5hbWU6InJpZ2h0LWJvdHRvbSIsYW5jaG9yUG9pbnQ6e3g6MCx5OjF9LGNvbnRlbnRQb2ludDp7eDoxLHk6MX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn0scD17bmFtZToibGVmdCIscnRsTmFtZToicmlnaHQiLGFuY2hvclBvaW50Ont4OjAseTouNX0sY29udGVudFBvaW50Ont4OjEseTouNX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn19LDQ3OTI5NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuKHQsbik9Pih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihlLHQsbiksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLHQsbil9KX1uLmQodCx7d2luZG93RXZlbnQ6KCk9PnJ9KX0sNDQwNDQ2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUNsb3NlUmVwb3NpdGlvbk9uU2Nyb2xsT3V0c2lkZTooKT0+Y30pO3ZhciByPW4oNzc5NDc0KSxvPW4oNzA2OTQzKSxpPW4oNDc5Mjk3KSxhPW4oMTU5MjU2KSxzPW4oODU0MzM4KTtjb25zdCBsPSgwLGkud2luZG93RXZlbnQpKCJzY3JvbGwiKTtmdW5jdGlvbiBjKGUsdCxuLGkpe2NvbnN0IGM9KDAsci51c2VNZW1vKSgoKCk9PigwLG8uY3JlYXRlU2lnbmFsKSgpKSxbXSksdT0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9PntuKCExLCJjdXJyZW50TGV2ZWwiKX0pLFtuXSk7cmV0dXJuIGZ1bmN0aW9uKGUsdCxuKXsoMCxhLnVzZUNvbmRpdGlvbmFsRWZmZWN0KShlLCgoKT0+bCgoZT0+e2NvbnN0IHI9bi5jdXJyZW50O2lmKCFyKXJldHVybjtjb25zdCBvPWUudGFyZ2V0O28mJigoMCxzLmlzRWxlbWVudENvbnRhaW5zRWxlbWVudFRocm91Z2hQb3J0YWxzKShyLG8pfHwoMCxzLmlzRWxlbWVudENvbnRhaW5zRWxlbWVudFRocm91Z2hQb3J0YWxzKShvLHIpJiZ0KCkpfSksITApKSxbdCxuXSl9KGUsdD91OmMuZmlyZSxpKSxjfX0sNTc3ODMyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2lzSW5FeGNsdWRlZEFyZWE6KCk9Pm99KTt2YXIgcj1uKDc3MTQ0Nyk7ZnVuY3Rpb24gbyhlLHQpe2lmKCF0KXJldHVybiExO2NvbnN0IG49ImN1cnJlbnQiaW4gdD90LmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOnQ7cmV0dXJuISFuJiYoMCxyLmlzSW5SZWN0KShlLG4pfX0sMzA2Mjg3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVdpbmRvd1Jlc2l6ZVRyaWdnZXI6KCk9PnMsdXNlV2luZG93U2Nyb2xsVHJpZ2dlcjooKT0+bH0pO3ZhciByPW4oNzc5NDc0KSxvPW4oNzA2OTQzKSxpPW4oMTU5MjU2KTtmdW5jdGlvbiBhKGUsdCxuKXtjb25zdCBhPSgwLHIudXNlTWVtbykoKCgpPT4oMCxvLmNyZWF0ZVNpZ25hbCkoKSksW10pO3JldHVybigwLGkudXNlQ29uZGl0aW9uYWxFZmZlY3QpKGUsKCgpPT4od2luZG93LmFkZEV2ZW50TGlzdGVuZXIodCxhLmZpcmUsbiksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGEuZmlyZSxuKX0pKSxbYV0pLGF9Y29uc3Qgcz0oZT0hMCk9PmEoZSwicmVzaXplIiwhMCksbD0oZT0hMCk9PmEoZSwic2Nyb2xsIiwhMCl9LDE1OTI1NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VDb25kaXRpb25hbEVmZmVjdDooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdCxuKXsoMCxyLnVzZUVmZmVjdCkoKCgpPT57aWYoZSlyZXR1cm4gdCgpfSksWy4uLm4sZV0pfX0sNzE4NzczKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVBvcG92ZXJDbG9zZUJlaGF2aW9yOigpPT5ofSk7dmFyIHIsbz1uKDc3OTQ3NCksaT1uKDMwNjI4NyksYT1uKDE1OTI1Nik7IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuSG9yaXpvbnRhbD0xXT0iSG9yaXpvbnRhbCIsZVtlLlZlcnRpY2FsPTJdPSJWZXJ0aWNhbCIsZVtlLkJvdGg9M109IkJvdGgifShyfHwocj17fSkpO3ZhciBzPW4oNDQwNDQ2KTtmdW5jdGlvbiBsKGUsdCxuKXtjb25zdCByPSgwLAppLnVzZVdpbmRvd1Jlc2l6ZVRyaWdnZXIpKCFuLmNsb3NlT25SZXNpemVXaW5kb3cmJmUpOyFmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj0oMCxvLnVzZVJlZikoe2NsaWVudFdpZHRoOnZvaWQgMCxjbGllbnRIZWlnaHQ6dm9pZCAwfSksaT0oMCxvLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSl7Y29uc3QgdD1bXTtyZXR1cm4gMSZlJiZ0LnB1c2goImNsaWVudFdpZHRoIiksMiZlJiZ0LnB1c2goImNsaWVudEhlaWdodCIpLHR9KG4pKSxbbl0pOygwLGEudXNlQ29uZGl0aW9uYWxFZmZlY3QpKGUmJjAhPT1uLCgoKT0+e2NvbnN0IGU9KCk9PntpLmZvckVhY2goKGU9Pntjb25zdCBuPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtlXTt2b2lkIDAhPT1yLmN1cnJlbnRbZV0/ci5jdXJyZW50W2VdIT09biYmKHQoITAsImN1cnJlbnRMZXZlbCIpLHIuY3VycmVudFtlXT1uKTpyLmN1cnJlbnRbZV09bn0pKX07cmV0dXJuIGUoKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixlLCEwKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLGUsITApLHIuY3VycmVudD17Y2xpZW50V2lkdGg6dm9pZCAwLGNsaWVudEhlaWdodDp2b2lkIDB9fX0pLFt0LGldKX0oISFuLmNsb3NlT25SZXNpemVXaW5kb3cmJmUsdCwzKTtyZXR1cm5bciwoMCxzLnVzZUNsb3NlUmVwb3NpdGlvbk9uU2Nyb2xsT3V0c2lkZSkoZSwhIW4uY2xvc2VPblNjcm9sbE91dHNpZGUsdCxuLnJlZildfXZhciBjPW4oNzg3ODk1KSx1PW4oODU0MzM4KSxkPW4oNDc5Mjk3KSxmPW4oNTc3ODMyKSxtPW4oMjM2NDU0KTt2YXIgcD1uKDMxOTY5KSxFPW4oMjM1NzI0KTtjb25zdCB2PSgwLGQud2luZG93RXZlbnQpKCJrZXlkb3duIik7ZnVuY3Rpb24gaChlKXtjb25zdCB0PSgwLG8udXNlUmVmKShudWxsKSx7b25DbG9zZTpuLGlzT3BlbjpyLHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50Omk9dCxjbG9zZU9uQ2xpY2tBd2F5OnM9bS5QT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fQ0xJQ0tfQVdBWSxjbG9zZU9uRXNjYXBlOmg9bS5QT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fRVNDQVBFLGNsb3NlT25TY3JvbGxPdXRzaWRlOkM9bS5QT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fU0NST0xMX09VVFNJREUsY2xvc2VPblJlc2l6ZVdpbmRvdzpiPW0uUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX1JFU0laRV9XSU5ET1csY2xvc2VPblRhYjpnPW0uUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX1RBQixleGNsdWRlQXJlYTp4fT1lO2xldCBPPSgwLGMudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoaSk7Y29uc3QgTj1sKHIsbix7Y2xvc2VPblJlc2l6ZVdpbmRvdzpiLGNsb3NlT25TY3JvbGxPdXRzaWRlOkMscmVmOk99KTtyZXR1cm4gTz1mdW5jdGlvbihlLHQsbil7Y29uc3Qgcj0oMCxvLnVzZUNhbGxiYWNrKSgocj0+e2UmJnImJnIuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsKGU9PntpZigyNyE9PSgwLEUuaGFzaEZyb21FdmVudCkoZSkpcmV0dXJuO2NvbnN0IHI9bi5jdXJyZW50O2lmKCFyKXJldHVybjtjb25zdCBvPWUudGFyZ2V0O28gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmci5jb250YWlucyhvKSYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHQoITAsImN1cnJlbnRMZXZlbCIpKX0pLHtjYXB0dXJlOiExfSl9KSxbZV0pO3JldHVybigwLGMudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoKDAscC51c2VNZXJnZWRSZWZzKShbbixyXSkpfShoJiZyLG4sTyksZnVuY3Rpb24oZSx0LG4peygwLGEudXNlQ29uZGl0aW9uYWxFZmZlY3QpKCEhZSwoKCk9PnYoKGU9Pntjb25zdCBuPSgwLEUuaGFzaEZyb21FdmVudCkoZSk7OSE9PW4mJm4hPT05K0UuTW9kaWZpZXJzLlNoaWZ0fHx0KCEwLCJjdXJyZW50TGV2ZWwiKX0pLCEwKSksW3Qsbl0pfShnJiZyLG4sTyksZnVuY3Rpb24oZSx0LG4scixvKXtjb25zdCBpPSJib29sZWFuIj09dHlwZW9mIHI/bS5QT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fQ0xJQ0tfQVdBWTpyOygwLGEudXNlQ29uZGl0aW9uYWxFZmZlY3QpKCEhZSwoKCk9PigwLGQud2luZG93RXZlbnQpKGkpKChlPT57Y29uc3Qgcj17eDplLmNsaWVudFgseTplLmNsaWVudFl9LGk9bi5jdXJyZW50OygwLGYuaXNJbkV4Y2x1ZGVkQXJlYSkocixvKXx8aSYmKDAsdS5pc1hZSW5zaWRlRWxlbWVudFRocm91Z2hQb3J0YWxzKShpLHIueCxyLnkpfHx0KCExLCJjdXJyZW50TGV2ZWwiKX0pKSksW3QsbyxuLGldKX0ocyYmcixuLE8scyx4KSx7cmVwb3NpdGlvblRyaWdnZXJzOk4scmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6T319fSwxMzY0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3NrZWxldG9uVGhlbWU6KCk9Pm99KTt2YXIgcj1uKDk3NTI4NSk7Y29uc3Qgbz1uLm4ocikoKX0sMzQ1MTE2KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4gaShlLGEpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGkoZSxzKX1mdW5jdGlvbiBpKGUsdCl7Y29uc3Qgbj1PYmplY3QuZW50cmllcyhlKS5maWx0ZXIodCkscj17fTtmb3IoY29uc3RbZSx0XW9mIG4pcltlXT10O3JldHVybiByfWZ1bmN0aW9uIGEoZSl7Y29uc3RbdCxuXT1lO3JldHVybiAwPT09dC5pbmRleE9mKCJkYXRhLSIpJiYic3RyaW5nIj09dHlwZW9mIG59ZnVuY3Rpb24gcyhlKXtyZXR1cm4gMD09PWVbMF0uaW5kZXhPZigiYXJpYS0iKX1mdW5jdGlvbiBsKGUsdCl7Y29uc3Qgbj1yKGUpO3JldHVybiB0JiYoblsiZGF0YS1xYS1pZCJdPXQpLG59bi5kKHQse2ZpbHRlckFyaWFQcm9wczooKT0+byxmaWx0ZXJDaGVja2VkRGF0YVByb3BzOigpPT5sLGZpbHRlckRhdGFQcm9wczooKT0+cixmaWx0ZXJQcm9wczooKT0+aSxpc0FyaWFBdHRyaWJ1dGU6KCk9PnMsaXNEYXRhQXR0cmlidXRlOigpPT5hfSl9LDU2Mjk4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2lnbm9yZU9uU1NSOigpPT5pfSk7dmFyIHI9big3Nzk0NzQpLG89big1Mjk0MTEpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHQ9PigwLG8udXNlSXNOb25GaXJzdFJlbmRlcikoKT9yLmNyZWF0ZUVsZW1lbnQoZSx7Li4udH0pOm51bGx9fSwyODQ2OTAoZSx0LG4peyJ1c2Ugc3RyaWN0Igo7bi5kKHQse2dldExpbmVhcktleWJvYXJkTmF2aWdhdGlvbjooKT0+bH0pO3ZhciByPW4oMjUwNTE4KSxvPW4oMjM1NzI0KSxpPW4oMzgyMjQyKSxhPW4oNjgyMzgxKSxzPW4oMjk4NzI4KTtmdW5jdGlvbiBsKGUsdD17fSl7Y29uc3R7Zm9jdXNOZXh0Om4sZm9jdXNQcmV2OmwsZm9jdXNGaXJzdDpjLGZvY3VzTGFzdDp1fT0oMCxyLmdldFNlbGVjdG9yS2V5Ym9hcmROYXZpZ2F0aW9uKShlLHQuYWxsb3dOZXN0ZWRGb2N1c2FibGUpLGQ9ey4uLnQuaG9yaXpvbnRhbD97Mzk6biwzNzpsfTp7NDA6biwzODpsfSwuLi50LmhhbmRsZUhvbWVFbmQ/ezM2OmMsMzU6dX06e319O3JldHVybntvbkZvY3VzOmZ1bmN0aW9uKG4pe2NvbnN0IHI9bi5jdXJyZW50VGFyZ2V0O24udGFyZ2V0PT09ciYmZnVuY3Rpb24obil7Y29uc3Qgcj0oMCxpLmdldFNlbGVjdG9yVHJlZVdhbGtlcikobixlKS5uZXh0Tm9kZSgpO3ImJigwLGEuaXNIVE1MT3JTVkdFbGVtZW50KShyKSYmciE9PW4mJnIuZm9jdXModC5mb2N1c09wdGlvbnMpfShyKX0sb25LZXlEb3duOmZ1bmN0aW9uKGUpe2NvbnN0IG49KDAscy5mbGlwQXJyb3dzT25SdGwpKCgwLG8uaGFzaEZyb21FdmVudCkoZSksdC5pc1J0bCkscj1lLmN1cnJlbnRUYXJnZXQsaT1lLnRhcmdldDtpZighKGkgaW5zdGFuY2VvZiBOb2RlKSlyZXR1cm47aWYoIXIuY29udGFpbnMoaSkpcmV0dXJuO2NvbnN0IGE9ZFtuXTtpZihhKXtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgbj1hPy4ocix0LmZvY3VzT3B0aW9ucyk7biYmZS5zdG9wUHJvcGFnYXRpb24oKX19fX19LDI5ODcyOChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtpZighdClyZXR1cm4gZTtjb25zdCBuPTI1NSZlLHI9LTI1NiZlO3JldHVybiAzNz09PW4/MzkrcjozOT09PW4/MzcrcjplfW4uZCh0LHtmbGlwQXJyb3dzT25SdGw6KCk9PnJ9KX0sMjUwNTE4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFNlbGVjdG9yS2V5Ym9hcmROYXZpZ2F0aW9uOigpPT5pfSk7dmFyIHI9bigzODIyNDIpLG89big2ODIzODEpO2Z1bmN0aW9uIGkoZSx0KXtjb25zdCBuPXQ9PihuLGkpPT57Y29uc3QgYT1kb2N1bWVudC5hY3RpdmVFbGVtZW50fHxuLHM9KDAsci5nZXRTZWxlY3RvclRyZWVXYWxrZXIpKG4sZSk7cy5jdXJyZW50Tm9kZT1hO2NvbnN0IGw9dChzKTtyZXR1cm4gbCYmKDAsby5pc0hUTUxPclNWR0VsZW1lbnQpKGwpJiZsIT09YT8obC5mb2N1cyhpKSxsKTpudWxsfSxpPXQ/ZT0+ZS5wcmV2aW91c05vZGUoKTpyLmdldFByZXZpb3VzTm9uUGFyZW50LGE9ZT0+ZS5uZXh0Tm9kZSgpO3JldHVybntmb2N1c1ByZXY6bihpKSxmb2N1c05leHQ6bihhKSxmb2N1c0ZpcnN0Om4oci5nZXRGaXJzdERlc2NlbmRhbnQpLGZvY3VzTGFzdDpuKHIuZ2V0TGFzdERlc2NlbmRhbnQpLGZvY3VzUHJldkxvb3A6bigoZT0+e2NvbnN0IHQ9aShlKTtyZXR1cm4gdHx8KDAsci5nZXRMYXN0RGVzY2VuZGFudCkoZSl9KSksZm9jdXNOZXh0TG9vcDpuKChlPT57Y29uc3QgdD1hKGUpO3JldHVybiB0fHwoMCxyLmdldEZpcnN0RGVzY2VuZGFudCkoZSl9KSksZm9jdXNJbmRleDooZSx0LHIpPT5uKChlPT57ZS5jdXJyZW50Tm9kZT1lLnJvb3Q7Zm9yKGxldCBuPTA7bjx0O24rKyllLm5leHROb2RlKCk7cmV0dXJuIGUubmV4dE5vZGUoKX0pKShlLHIpfX19LDk2NDU5NChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIHQ9PntlLmZvckVhY2goKGU9PnsiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJihlLmN1cnJlbnQ9dCl9KSl9fWZ1bmN0aW9uIG8oZSl7cmV0dXJuIHIoW2VdKX1uLmQodCx7aXNvbW9ycGhpY1JlZjooKT0+byxtZXJnZVJlZnM6KCk9PnJ9KX0sODMzOTAzKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gciguLi5lKXtyZXR1cm4gdD0+e2Zvcihjb25zdCBuIG9mIGUpdm9pZCAwIT09biYmbih0KX19bi5kKHQse2NyZWF0ZVNhZmVNdWx0aWNhc3RFdmVudEhhbmRsZXI6KCk9PnJ9KX0sMzI5NjY4KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI7ZnVuY3Rpb24gbyhlKXtlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IikpfWZ1bmN0aW9uIGkoZSl7ZS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50IikpfW4uZCh0LHtiZWNvbWVNYWluRWxlbWVudDooKT0+byxiZWNvbWVTZWNvbmRhcnlFbGVtZW50OigpPT5pfSksZnVuY3Rpb24oZSl7ZS5NYWluRWxlbWVudD0icm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCIsZS5TZWNvbmRhcnlFbGVtZW50PSJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQifShyfHwocj17fSkpfSw5ODM2MTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bWFwS2V5Q29kZVRvRGlyZWN0aW9uOigpPT51LG5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3I6KCk9PmEscXVlcnlGb2N1c2FibGVFbGVtZW50czooKT0+bCxxdWVyeVRhYmJhYmxlRWxlbWVudHM6KCk9PnMsdXBkYXRlVGFiSW5kZXhlczooKT0+Y30pO3ZhciByLG89big5NjkxNjgpLGk9big2ODIzODEpO2Z1bmN0aW9uIGEoZSx0KXtyZXR1cm4gZT09PXQ/MDplLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HPy0xOjF9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gQXJyYXkuZnJvbShlLnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbjpub3QoOmRpc2FibGVkKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW3RhYmluZGV4PSItMSJdKSwgW3RhYmluZGV4XTpub3QoW2Rpc2FibGVkXSk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSk6bm90KFt0YWJpbmRleD0iLTEiXSknKSkuZmlsdGVyKCgwLGkuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKGUpKX1mdW5jdGlvbiBsKGUpewpyZXR1cm4gQXJyYXkuZnJvbShlLnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbjpub3QoOmRpc2FibGVkKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW2FyaWEtZGlzYWJsZWQ9IiJdKSwgW3RhYmluZGV4XTpub3QoW2Rpc2FibGVkXSk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSk6bm90KFthcmlhLWRpc2FibGVkPSIiXSknKSkuZmlsdGVyKCgwLGkuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKGUpKX1mdW5jdGlvbiBjKCl7d2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJrZXlib2FyZC1uYXZpZ2F0aW9uLWFjdGl2YXRpb24iLHtidWJibGVzOiEwfSkpfWZ1bmN0aW9uIHUoZSl7Y29uc3QgdD0oMCxvLmlzUnRsKSgpO3N3aXRjaChlKXtjYXNlIDM4OnJldHVybiJibG9ja1ByZXYiO2Nhc2UgNDA6cmV0dXJuImJsb2NrTmV4dCI7Y2FzZSAzNzpyZXR1cm4gdD8iaW5saW5lTmV4dCI6ImlubGluZVByZXYiO2Nhc2UgMzk6cmV0dXJuIHQ/ImlubGluZVByZXYiOiJpbmxpbmVOZXh0IjtkZWZhdWx0OnJldHVybiBudWxsfX0hZnVuY3Rpb24oZSl7ZS5CbG9ja1ByZXY9ImJsb2NrUHJldiIsZS5CbG9ja05leHQ9ImJsb2NrTmV4dCIsZS5JbmxpbmVQcmV2PSJpbmxpbmVQcmV2IixlLklubGluZU5leHQ9ImlubGluZU5leHQifShyfHwocj17fSkpfSw2MTYzMTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdDooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdCl7KCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93P3IudXNlRWZmZWN0OnIudXNlTGF5b3V0RWZmZWN0KShlLHQpfX0sMTA2OTAwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVdhdGNoZWRWYWx1ZVJlYWRvbmx5OigpPT5pfSk7dmFyIHI9big3Nzk0NzQpLG89big2MTYzMTEpO2NvbnN0IGk9KGUsdD0hMSxuPVtdKT0+e2NvbnN0IGk9IndhdGNoZWRWYWx1ZSJpbiBlP2Uud2F0Y2hlZFZhbHVlOnZvaWQgMCxhPSJkZWZhdWx0VmFsdWUiaW4gZT9lLmRlZmF1bHRWYWx1ZTplLndhdGNoZWRWYWx1ZS52YWx1ZSgpLFtzLGxdPSgwLHIudXNlU3RhdGUpKGk/aS52YWx1ZSgpOmEpO3JldHVybih0P28udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdDpyLnVzZUVmZmVjdCkoKCgpPT57aWYoaSl7bChpLnZhbHVlKCkpO2NvbnN0IGU9ZT0+bChlKTtyZXR1cm4gaS5zdWJzY3JpYmUoZSksKCk9PmkudW5zdWJzY3JpYmUoZSl9cmV0dXJuKCk9Pnt9fSksW2ksLi4ubl0pLHN9fSwxODIzMDgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlUm92aW5nVGFiaW5kZXhFbGVtZW50OigpPT5hfSk7dmFyIHI9big3Nzk0NzQpLG89big3ODc4OTUpLGk9big2MTYzMTEpO2Z1bmN0aW9uIGEoZSx0PVtdKXtjb25zdFtuLGFdPSgwLHIudXNlU3RhdGUpKCExKSxzPSgwLG8udXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoZSk7cmV0dXJuKDAsaS51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pntjb25zdCBlPXMuY3VycmVudDtpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgdD1lPT57c3dpdGNoKGUudHlwZSl7Y2FzZSJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IjphKCEwKTticmVhaztjYXNlInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCI6YSghMSl9fTtyZXR1cm4gZS5hZGRFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50Iix0KSxlLmFkZEV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIsdCksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiLHQpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigicm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50Iix0KX19KSx0KSxbcyxuPzA6LTFdfX0sNDYyNzA0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMiA0aDN2MWgtMS4wNGwtLjg4IDkuNjRhMS41IDEuNSAwIDAgMS0xLjUgMS4zNkg2LjQyYTEuNSAxLjUgMCAwIDEtMS41LTEuMzZMNC4wNSA1SDNWNGgzdi0uNUM2IDIuNjcgNi42NyAyIDcuNSAyaDNjLjgzIDAgMS41LjY3IDEuNSAxLjVWNFpNNy41IDNhLjUuNSAwIDAgMC0uNS41VjRoNHYtLjVhLjUuNSAwIDAgMC0uNS0uNWgtM1pNNS4wNSA1bC44NyA5LjU1YS41LjUgMCAwIDAgLjUuNDVoNS4xN2EuNS41IDAgMCAwIC41LS40NUwxMi45NCA1aC03LjlaIi8+PC9zdmc+J319XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/69861.87e20a8951ceecc461d8.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.799Z","timestamp":1785141584799,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/69861.87e20a8951ceecc461d8.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-f42\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 52537a34224da9b27f3394c57b595e43\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3906,"size_decoded":1536,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3906), with no line terminators","md5":"3fa9c4040463e2838455328de777e889","sha1":"26592cfad4d8f47a69b92e266591e38c8c733e5a","sha256":"ca5b5651ba39b94a8865341a1ecc9844d0fe73a74db6091a7e975a360bb01d3e","sha512":"73fda847130c90e9286ea7be82f7b271a1d1d328e24768e158b7c6dac2cd3f1d20b8d08ead70420c17212b275c24d2bc70a86bfa5c8924db2a8dcd9079178f33","ssdeep":"","tlshash":"46817ec9f2e9997a02077d2982d182649b0e9ce2da53669ebc7671c000ca7dd43bdc4e","first_seen":"2026-06-30T21:57:43.451848Z","last_seen":"2026-07-27T12:48:39.731054Z","times_seen":242,"resource_available":false,"data":"LmJ1dHRvbi1zWHNwWk5uWnthbGw6dW5zZXQ7YWxpZ24taXRlbXM6Y2VudGVyO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtmbGV4OjEgMCBhdXRvO2hlaWdodDoxMDAlOy0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1ib3JkZXItcmFkaXVzOjZweDtjb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQpKTtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLGNvbG9yIDYwbXMgZWFzZTt6LWluZGV4OjB9LmJ1dHRvbi1zWHNwWk5uWi5ob3Zlci1zWHNwWk5uWiwuYnV0dG9uLXNYc3BaTm5aOmFjdGl2ZXtjb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1zWHNwWk5uWjpob3Zlcntjb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIpKX19LmJ1dHRvbi1zWHNwWk5uWi5jbGlja2VkLXNYc3BaTm5aLC5idXR0b24tc1hzcFpOblo6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtY2xpY2tlZCx2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIpKSl9LmJ1dHRvbi1zWHNwWk5uWjpiZWZvcmV7Ym9yZGVyLXJhZGl1czp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLWJvcmRlci1yYWRpdXMsMnB4KTtib3R0b206dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4tYm90dG9tLHZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLDJweCkpO2Rpc3BsYXk6YmxvY2s7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbi1yaWdodCx2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbiwycHgpKTtpbnNldC1pbmxpbmUtc3RhcnQ6dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4tbGVmdCx2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbiwycHgpKTtvdXRsaW5lOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSBub25lIDJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4tdG9wLHZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLDJweCkpO3otaW5kZXg6LTF9LmJ1dHRvbi1zWHNwWk5uWi5ob3Zlci1zWHNwWk5uWjpiZWZvcmUsLmJ1dHRvbi1zWHNwWk5uWjphY3RpdmU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyKSk7Y29udGVudDoiIn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1zWHNwWk5uWjpob3ZlcjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpKTtjb250ZW50OiIifX0uYnV0dG9uLXNYc3BaTm5aLmNsaWNrZWQtc1hzcFpOblo6YmVmb3JlLC5idXR0b24tc1hzcFpOblo6YWN0aXZlOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtY2xpY2tlZCx2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpKSk7Y29udGVudDoiIn0uYnV0dG9uLXNYc3BaTm5aLmFjY2Vzc2libGUtc1hzcFpOblo6Zm9jdXMtdmlzaWJsZTpiZWZvcmV7Y29udGVudDoiIjtvdXRsaW5lLXN0eWxlOnNvbGlkfS5idXR0b24tc1hzcFpOblogc3Zne2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1zWHNwWk5uWiAuYXJyb3ctc1hzcFpOblp7YWxpZ24taXRlbXM6Y2VudGVyO2NvbnRhaW46Y29udGVudDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCV9LmJ1dHRvbi1zWHNwWk5uWiAuYXJyb3dXcmFwLXNYc3BaTm5ae21hcmdpbjowIDhweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMzVzIGVhc2V9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tc1hzcFpOblo6aG92ZXIgLmFycm93V3JhcC1zWHNwWk5uWnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgycHgpfX0uYnV0dG9uLXNYc3BaTm5aLmlzT3BlbmVkLXNYc3BaTm5aLmhvdmVyLXNYc3BaTm5aOmJlZm9yZSwuYnV0dG9uLXNYc3BaTm5aLmlzT3BlbmVkLXNYc3BaTm5aOmFjdGl2ZTpiZWZvcmUsLmJ1dHRvbi1zWHNwWk5uWi5pc09wZW5lZC1zWHNwWk5uWjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWV4cGFuZGVkLHZhcigtLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmcpKTtib3JkZXItcmFkaXVzOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItYm9yZGVyLXJhZGl1cywwKTtib3R0b206dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTt6LWluZGV4Oi0xfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLXNYc3BaTm5aLmlzT3BlbmVkLXNYc3BaTm5aOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtZXhwYW5kZWQsdmFyKC0tY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZykpO2JvcmRlci1yYWRpdXM6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1ib3JkZXItcmFkaXVzLDApO2JvdHRvbTp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtpbnNldC1pbmxpbmUtc3RhcnQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7cG9zaXRpb246YWJzb2x1dGU7dG9wOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3otaW5kZXg6LTF9fS5idXR0b24tc1hzcFpOblouaXNPcGVuZWQtc1hzcFpOblouY2xpY2tlZC1zWHNwWk5uWjpiZWZvcmUsLmJ1dHRvbi1zWHNwWk5uWi5pc09wZW5lZC1zWHNwWk5uWjphY3RpdmU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1jbGlja2VkLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtZXhwYW5kZWQsdmFyKC0tY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZykpKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2t9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tc1hzcFpOblouaXNPcGVuZWQtc1hzcFpOblo6aG92ZXIgLmFycm93V3JhcC1zWHNwWk5uWnt0cmFuc2Zvcm06bm9uZX19"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/70815.3ce6d6a2686e88907ab3.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.698Z","timestamp":1785141584698,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/70815.3ce6d6a2686e88907ab3.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-78f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4209a4c95ce6771572e6864d28ba62bb\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1935,"size_decoded":1268,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1935), with no line terminators","md5":"c06f909e993de4f09740c91db132c846","sha1":"7451e42a4f8461d1b6ba321d93498b99b70a1fdc","sha256":"d93d3dc2b737c86807e6818e5a272cdd6db4f56183cd5371ae6816d4c4b320b0","sha512":"e12d20c672228965c13d1e62347a20f5886a1f324f6ef1c2f1a3b62720353d6e994b575e6e601cd69ace6edbafdb9306f1387431a676befb6169f3311c498129","ssdeep":"","tlshash":"ab41111aa5e8e673b827427dc308a27946e04d16ad0e5f9b7fddc00341c84e710765bf","first_seen":"2026-07-17T03:30:51.190808Z","last_seen":"2026-07-27T14:50:15.417678Z","times_seen":129,"resource_available":false,"data":"LndyYXBwZXItc1c4N3BRekt7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDttaW4taGVpZ2h0OjE4cHg7bWluLXdpZHRoOjE4cHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0uaW5wdXQtc1c4N3BRekt7Y3Vyc29yOmluaGVyaXQ7aW5zZXQ6MDttYXJnaW46MDtvcGFjaXR5OjA7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlfS5pbnB1dC1zVzg3cFF6Szpmb2N1cy12aXNpYmxlKy5mb2N1c091dGxpbmUtc1c4N3BRekt7Ym9yZGVyLXJhZGl1czoycHg7aW5zZXQ6MDtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO291dGxpbmUtb2Zmc2V0OjJweDtwb3NpdGlvbjphYnNvbHV0ZX0ucHJpbWFyeS1zVzg3cFF6S3stLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94SW5wdXQtY29sb3ItYm94OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94SW5wdXQtY29sb3ItbWFyazp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2UpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsud3JhcHBlci1zVzg3cFF6Szpob3Zlcjpub3QoLmRpc2FibGVkLXNXODdwUXpLKSAucHJpbWFyeS1zVzg3cFF6S3stLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94SW5wdXQtY29sb3ItYm94OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKX19LndyYXBwZXItc1c4N3BReks6YWN0aXZlOm5vdCguZGlzYWJsZWQtc1c4N3BRekspIC5wcmltYXJ5LXNXODdwUXpLey0tdWktbGliLXByaXZhdGUtY2hlY2tib3hJbnB1dC1jb2xvci1ib3g6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW1lZGl1bSl9LmRhbmdlci1zVzg3cFF6S3stLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQpOy0tdWktbGliLXByaXZhdGUtY2hlY2tib3hJbnB1dC1jb2xvci1ib3g6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItcHJpdmF0ZS1jaGVja2JveElucHV0LWNvbG9yLW1hcms6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVhdGVybmFyeS1pbnZlcnNlKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LndyYXBwZXItc1c4N3BReks6aG92ZXI6bm90KC5kaXNhYmxlZC1zVzg3cFF6SykgLmRhbmdlci1zVzg3cFF6S3stLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94SW5wdXQtY29sb3ItYm94OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCl9fS53cmFwcGVyLXNXODdwUXpLOmFjdGl2ZTpub3QoLmRpc2FibGVkLXNXODdwUXpLKSAuZGFuZ2VyLXNXODdwUXpLey0tdWktbGliLXByaXZhdGUtY2hlY2tib3hJbnB1dC1jb2xvci1ib3g6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXIpfS52aWV3LXNXODdwUXpLe2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowOy0tdWktbGliLXByaXZhdGUtY2hlY2tib3hWaWV3SW1wbC1jb2xvci1ib3g6dmFyKC0tdWktbGliLWNoZWNrYm94LWNvbG9yLHZhcigtLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94SW5wdXQtY29sb3ItYm94KSk7LS11aS1saWItcHJpdmF0ZS1jaGVja2JveFZpZXdJbXBsLWNvbG9yLW1hcms6dmFyKC0tdWktbGliLWNoZWNrYm94LW1hcmstY29sb3IsdmFyKC0tdWktbGliLXByaXZhdGUtY2hlY2tib3hJbnB1dC1jb2xvci1tYXJrKSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/chart-widget-gui.13468e69e04a805f97cf.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.763Z","timestamp":1785141584763,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/chart-widget-gui.13468e69e04a805f97cf.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-38e88\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ee1ea5b170e041cb740a1648d91d2649\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":233096,"size_decoded":66241,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"4e35d66fb21ba281ba6dbf987ed9ad19","sha1":"73e3a494f412a84503c6bf08675879d8208fc592","sha256":"5653a56b0c05a5fd05b5142656859a2b962fa133463b10bef556248e9a874170","sha512":"b0ca5d7daa35d7d3028dceb3b720db89c3490e605c24bd22a4111fb473cc03df4111967e85c15c04ee5b3f778d6fb4827935324ad61a06e9280ae18ddff4cc7f","ssdeep":"3072:0LfPZKIwNAHqBrRysvaCGj4Re79+op3zathZRSEaigHKBRnE:kZKIIyOatj4Ip+oJza7Z3gH6E","tlshash":"f0344b677264783a61bb51ee08bb0503e71a6445b442407cf1bc9dde296dcc9b23af3e","first_seen":"2026-07-23T14:00:31.388594Z","last_seen":"2026-07-27T14:50:15.304048Z","times_seen":112,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2NTU4OCw3NDM0MV0sezg1MzMzNihlLHQpe3ZhciBpLHMsbztzPVt0XSxpPWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpe2Zvcih2YXIgdD0wLGk9QXJyYXkoZS5sZW5ndGgpO3Q8ZS5sZW5ndGg7dCsrKWlbdF09ZVt0XTtyZXR1cm4gaX1yZXR1cm4gQXJyYXkuZnJvbShlKX1PYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9ITE7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpe3ZhciBzPXtnZXQgcGFzc2l2ZSgpe2k9ITB9fTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdFBhc3NpdmUiLG51bGwscyksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3RQYXNzaXZlIixudWxsLHMpfXZhciBvPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtJiYvaVAoYWR8aG9uZXxvZCkvLnRlc3Qod2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybSksbj1bXSxhPSExLGw9LTEscj12b2lkIDAsZD12b2lkIDAsdT1mdW5jdGlvbihlKXtyZXR1cm4gbi5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4hKCF0Lm9wdGlvbnMuYWxsb3dUb3VjaE1vdmV8fCF0Lm9wdGlvbnMuYWxsb3dUb3VjaE1vdmUoZSkpfSkpfSxjPWZ1bmN0aW9uKGUpe3ZhciB0PWV8fHdpbmRvdy5ldmVudDtyZXR1cm4hIXUodC50YXJnZXQpfHwxPHQudG91Y2hlcy5sZW5ndGh8fCh0LnByZXZlbnREZWZhdWx0JiZ0LnByZXZlbnREZWZhdWx0KCksITEpfSxoPWZ1bmN0aW9uKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt2b2lkIDAhPT1kJiYoZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQ9ZCxkPXZvaWQgMCksdm9pZCAwIT09ciYmKGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c9cixyPXZvaWQgMCl9KSl9O2UuZGlzYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24oZSxzKXtpZihvKXtpZighZSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJkaXNhYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGRpc2FibGVCb2R5U2Nyb2xsIG9uIElPUyBkZXZpY2VzLiIpO2lmKGUmJiFuLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldEVsZW1lbnQ9PT1lfSkpKXt2YXIgaD17dGFyZ2V0RWxlbWVudDplLG9wdGlvbnM6c3x8e319O249W10uY29uY2F0KHQobiksW2hdKSxlLm9udG91Y2hzdGFydD1mdW5jdGlvbihlKXsxPT09ZS50YXJnZXRUb3VjaGVzLmxlbmd0aCYmKGw9ZS50YXJnZXRUb3VjaGVzWzBdLmNsaWVudFkpfSxlLm9udG91Y2htb3ZlPWZ1bmN0aW9uKHQpe3ZhciBpLHMsbyxuOzE9PT10LnRhcmdldFRvdWNoZXMubGVuZ3RoJiYocz1lLG49KGk9dCkudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZLWwsIXUoaS50YXJnZXQpJiYocyYmMD09PXMuc2Nyb2xsVG9wJiYwPG58fChvPXMpJiZvLnNjcm9sbEhlaWdodC1vLnNjcm9sbFRvcDw9by5jbGllbnRIZWlnaHQmJm48MD9jKGkpOmkuc3RvcFByb3BhZ2F0aW9uKCkpKX0sYXx8KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsYyxpP3twYXNzaXZlOiExfTp2b2lkIDApLGE9ITApfX1lbHNle189cyxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2lmKHZvaWQgMD09PWQpe3ZhciBlPSEhXyYmITA9PT1fLnJlc2VydmVTY3JvbGxCYXJHYXAsdD13aW5kb3cuaW5uZXJXaWR0aC1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7ZSYmMDx0JiYoZD1kb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCxkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD10KyJweCIpfXZvaWQgMD09PXImJihyPWRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3csZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIil9KSk7dmFyIHA9e3RhcmdldEVsZW1lbnQ6ZSxvcHRpb25zOnN8fHt9fTtuPVtdLmNvbmNhdCh0KG4pLFtwXSl9dmFyIF99LGUuY2xlYXJBbGxCb2R5U2Nyb2xsTG9ja3M9ZnVuY3Rpb24oKXtvPyhuLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UudGFyZ2V0RWxlbWVudC5vbnRvdWNoc3RhcnQ9bnVsbCxlLnRhcmdldEVsZW1lbnQub250b3VjaG1vdmU9bnVsbH0pKSxhJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixjLGk/e3Bhc3NpdmU6ITF9OnZvaWQgMCksYT0hMSksbj1bXSxsPS0xKTooaCgpLG49W10pfSxlLmVuYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24oZSl7aWYobyl7aWYoIWUpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiZW5hYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGVuYWJsZUJvZHlTY3JvbGwgb24gSU9TIGRldmljZXMuIik7ZS5vbnRvdWNoc3RhcnQ9bnVsbCxlLm9udG91Y2htb3ZlPW51bGwsbj1uLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHQudGFyZ2V0RWxlbWVudCE9PWV9KSksYSYmMD09PW4ubGVuZ3RoJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixjLGk/e3Bhc3NpdmU6ITF9OnZvaWQgMCksYT0hMSl9ZWxzZSAxPT09bi5sZW5ndGgmJm5bMF0udGFyZ2V0RWxlbWVudD09PWU/KGgoKSxuPVtdKTpuPW4uZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC50YXJnZXRFbGVtZW50IT09ZX0pKX19LHZvaWQgMD09PShvPSJmdW5jdGlvbiI9PXR5cGVvZiBpP2kuYXBwbHkodCxzKTppKXx8KGUuZXhwb3J0cz1vKX0sODAzMjg3KGUpe2UuZXhwb3J0cz17ImRlZmF1bHQtZHJhd2VyLW1pbi10b3AtZGlzdGFuY2UiOiIxMDBweCIsd3JhcDoid3JhcC1paWkxMThvTiIscG9zaXRpb25Cb3R0b206InBvc2l0aW9uQm90dG9tLWlpaTExOG9OIixiYWNrZHJvcDoiYmFja2Ryb3AtaWlpMTE4b04iLGRyYXdlcjoiZHJhd2VyLWlpaTExOG9OIiwKcG9zaXRpb25MZWZ0OiJwb3NpdGlvbkxlZnQtaWlpMTE4b04ifX0sODU0NDUoZSl7ZS5leHBvcnRzPXtwaWxsczoicGlsbHMtSWVRd1BqY1oiLHByaW1hcnk6InByaW1hcnktSWVRd1BqY1oiLGdyYXk6ImdyYXktSWVRd1BqY1oiLHNlbGVjdGVkOiJzZWxlY3RlZC1JZVF3UGpjWiIsZ3JvdXBlZDoiZ3JvdXBlZC1JZVF3UGpjWiIsYWN0aXZlOiJhY3RpdmUtSWVRd1BqY1oiLGRpc2FibGVBY3RpdmVPblRvdWNoOiJkaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWiIsZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOiJkaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1oiLHdpdGhHcm91cGVkOiJ3aXRoR3JvdXBlZC1JZVF3UGpjWiIsInF1aWV0LXByaW1hcnkiOiJxdWlldC1wcmltYXJ5LUllUXdQamNaIixncmVlbjoiZ3JlZW4tSWVRd1BqY1oiLHJlZDoicmVkLUllUXdQamNaIixibHVlOiJibHVlLUllUXdQamNaIixzZWNvbmRhcnk6InNlY29uZGFyeS1JZVF3UGpjWiIsZ2hvc3Q6Imdob3N0LUllUXdQamNaIn19LDM2NDgxNShlKXtlLmV4cG9ydHM9e2xpZ2h0QnV0dG9uOiJsaWdodEJ1dHRvbi1ralJmVGxmeCIsbGluazoibGluay1ralJmVGxmeCIsbHRyOiJsdHIta2pSZlRsZngiLHJ0bDoicnRsLWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1yZWd1bGFyMTZweCI6InR5cG9ncmFwaHktcmVndWxhcjE2cHgta2pSZlRsZngiLCJ0eXBvZ3JhcGh5LW1lZGl1bTE2cHgiOiJ0eXBvZ3JhcGh5LW1lZGl1bTE2cHgta2pSZlRsZngiLCJ0eXBvZ3JhcGh5LXJlZ3VsYXIxNHB4IjoidHlwb2dyYXBoeS1yZWd1bGFyMTRweC1ralJmVGxmeCIsInR5cG9ncmFwaHktc2VtaWJvbGQxNHB4IjoidHlwb2dyYXBoeS1zZW1pYm9sZDE0cHgta2pSZlRsZngiLCJ0eXBvZ3JhcGh5LXNlbWlib2xkMTZweCI6InR5cG9ncmFwaHktc2VtaWJvbGQxNnB4LWtqUmZUbGZ4Iixjb250ZW50OiJjb250ZW50LWtqUmZUbGZ4Iix2aXN1YWxseUhpZGRlbjoidmlzdWFsbHlIaWRkZW4ta2pSZlRsZngiLG5vd3JhcDoibm93cmFwLWtqUmZUbGZ4IixlbGxpcHNpc0NvbnRhaW5lcjoiZWxsaXBzaXNDb250YWluZXIta2pSZlRsZngiLHRleHRXcmFwQ29udGFpbmVyOiJ0ZXh0V3JhcENvbnRhaW5lci1ralJmVGxmeCIsdGV4dFdyYXBXaXRoRWxsaXBzaXM6InRleHRXcmFwV2l0aEVsbGlwc2lzLWtqUmZUbGZ4IixzbG90OiJzbG90LWtqUmZUbGZ4IixjYXJldDoiY2FyZXQta2pSZlRsZngiLGFjdGl2ZUNhcmV0OiJhY3RpdmVDYXJldC1ralJmVGxmeCIseHNtYWxsOiJ4c21hbGwta2pSZlRsZngiLHdpdGhTdGFydFNsb3Q6IndpdGhTdGFydFNsb3Qta2pSZlRsZngiLHdpdGhFbmRTbG90OiJ3aXRoRW5kU2xvdC1ralJmVGxmeCIsbm9Db250ZW50OiJub0NvbnRlbnQta2pSZlRsZngiLHdyYXA6IndyYXAta2pSZlRsZngiLHNtYWxsOiJzbWFsbC1ralJmVGxmeCIsbWVkaXVtOiJtZWRpdW0ta2pSZlRsZngifX0sNDAyMjUzKGUpe2UuZXhwb3J0cz17bmF2QnV0dG9uOiJuYXZCdXR0b24taGJTSlZ4a1EiLGxpbms6ImxpbmstaGJTSlZ4a1EiLGJhY2tncm91bmQ6ImJhY2tncm91bmQtaGJTSlZ4a1EiLGljb246Imljb24taGJTSlZ4a1EiLGZsaXBJY29uOiJmbGlwSWNvbi1oYlNKVnhrUSIsbGFyZ2U6ImxhcmdlLWhiU0pWeGtRIixwcmVzZXJ2ZVBhZGRpbmdzOiJwcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRIixtZWRpdW06Im1lZGl1bS1oYlNKVnhrUSIsc21hbGw6InNtYWxsLWhiU0pWeGtRIix4c21hbGw6InhzbWFsbC1oYlNKVnhrUSIseHhzbWFsbDoieHhzbWFsbC1oYlNKVnhrUSIsYmxlbmRNb2RlOiJibGVuZE1vZGUtaGJTSlZ4a1EiLHZpc3VhbGx5SGlkZGVuOiJ2aXN1YWxseUhpZGRlbi1oYlNKVnhrUSJ9fSw4NjAwMjUoZSl7ZS5leHBvcnRzPXtwYWlyOiJwYWlyLXh3R3NTWFIwIix4eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjM6Inh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMy14d0dzU1hSMCIseHh4eHNtYWxsOiJ4eHh4c21hbGwteHdHc1NYUjAiLHh4eHNtYWxsOiJ4eHhzbWFsbC14d0dzU1hSMCIseHhzbWFsbDoieHhzbWFsbC14d0dzU1hSMCIseHNtYWxsOiJ4c21hbGwteHdHc1NYUjAiLHNtYWxsOiJzbWFsbC14d0dzU1hSMCIsbWVkaXVtOiJtZWRpdW0teHdHc1NYUjAiLGxhcmdlOiJsYXJnZS14d0dzU1hSMCIseGxhcmdlOiJ4bGFyZ2UteHdHc1NYUjAiLHh4bGFyZ2U6Inh4bGFyZ2UteHdHc1NYUjAiLHh4eGxhcmdlOiJ4eHhsYXJnZS14d0dzU1hSMCIsbG9nbzoibG9nby14d0dzU1hSMCIsc2tlbGV0b246InNrZWxldG9uLXh3R3NTWFIwIixlbXB0eToiZW1wdHkteHdHc1NYUjAifX0sMTQwMDE3KGUpe2UuZXhwb3J0cz17bG9nbzoibG9nby1WQ05LdWJXcSIsaGlkZGVuOiJoaWRkZW4tVkNOS3ViV3EiLHh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMzoieHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLVZDTkt1YldxIix4eHhzbWFsbDoieHh4c21hbGwtVkNOS3ViV3EiLHh4c21hbGw6Inh4c21hbGwtVkNOS3ViV3EiLHhzbWFsbDoieHNtYWxsLVZDTkt1YldxIixzbWFsbDoic21hbGwtVkNOS3ViV3EiLG1lZGl1bToibWVkaXVtLVZDTkt1YldxIixsYXJnZToibGFyZ2UtVkNOS3ViV3EiLHhsYXJnZToieGxhcmdlLVZDTkt1YldxIix4eGxhcmdlOiJ4eGxhcmdlLVZDTkt1YldxIix4eHhsYXJnZToieHh4bGFyZ2UtVkNOS3ViV3EiLHNrZWxldG9uOiJza2VsZXRvbi1WQ05LdWJXcSIsbGV0dGVyOiJsZXR0ZXItVkNOS3ViV3EifX0sMjAzMjczKGUpe2UuZXhwb3J0cz17c2NhbGFibGVJY29uOiJzY2FsYWJsZUljb24tY2oxYkFTZjcifX0sOTc1Mjg1KGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1oY3QyeUp2SyIsYW5pbWF0ZWQ6ImFuaW1hdGVkLWhjdDJ5SnZLIixwdWxzYXRpb246InB1bHNhdGlvbi1oY3QyeUp2SyJ9fSw3MTAxNTYoZSl7ZS5leHBvcnRzPXt9fSw0MTc2ODYoZSl7ZS5leHBvcnRzPXtsZWdlbmRBY3Rpb25CdXR0b246ImxlZ2VuZEFjdGlvbkJ1dHRvbi1xM082enpJSCJ9fSw2NTc1NjAoZSl7ZS5leHBvcnRzPXttYXJnaW5sZWdlbmRob3JpejoiNHB4IiwKbGVnZW5kOiJsZWdlbmQtWVRGSUo2MmgiLGxlZ2VuZF93aXRoSGlkZGVuQWN0aW9uczoibGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLVlURklKNjJoIixpdGVtOiJpdGVtLVlURklKNjJoIixoaWRlSW52aXNpYmxlSG92ZXI6ImhpZGVJbnZpc2libGVIb3Zlci1ZVEZJSjYyaCIsYnV0dG9uOiJidXR0b24tWVRGSUo2MmgiLGJ1dHRvbnM6ImJ1dHRvbnMtWVRGSUo2MmgiLHdpdGhBY3Rpb246IndpdGhBY3Rpb24tWVRGSUo2MmgiLHNlbGVjdGVkOiJzZWxlY3RlZC1ZVEZJSjYyaCIsbGFzdDoibGFzdC1ZVEZJSjYyaCIsc3RhdHVzZXNXcmFwcGVyOiJzdGF0dXNlc1dyYXBwZXItWVRGSUo2MmgiLHN0YXR1c2VzV3JhcHBlcl9fc3RhdHVzZXM6InN0YXR1c2VzV3JhcHBlcl9fc3RhdHVzZXMtWVRGSUo2MmgiLHRleHQ6InRleHQtWVRGSUo2MmgiLG5vV3JhcFdyYXBwZXI6Im5vV3JhcFdyYXBwZXItWVRGSUo2MmgiLGNvbGxhcHNlZFNvdXJjZXNDb3VudGVyOiJjb2xsYXBzZWRTb3VyY2VzQ291bnRlci1ZVEZJSjYyaCIsbm9XcmFwOiJub1dyYXAtWVRGSUo2MmgiLHNlcmllczoic2VyaWVzLVlURklKNjJoIix2YWx1ZXNBZGRpdGlvbmFsV3JhcHBlcjoidmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2MmgiLHZhbHVlSXRlbToidmFsdWVJdGVtLVlURklKNjJoIixoaWRlVW5pcG9ydGFudFZhbHVlSXRlbXM6ImhpZGVVbmlwb3J0YW50VmFsdWVJdGVtcy1ZVEZJSjYyaCIsdW5pbXBvcnRhbnQ6InVuaW1wb3J0YW50LVlURklKNjJoIix2YWx1ZXNXcmFwcGVyOiJ2YWx1ZXNXcmFwcGVyLVlURklKNjJoIix3cmFwcGFibGU6IndyYXBwYWJsZS1ZVEZJSjYyaCIsZGlyZWN0aW9uQ29sdW1uOiJkaXJlY3Rpb25Db2x1bW4tWVRGSUo2MmgiLHRpdGxlc1dyYXBwZXI6InRpdGxlc1dyYXBwZXItWVRGSUo2MmgiLGxvZ29XcmFwcGVyOiJsb2dvV3JhcHBlci1ZVEZJSjYyaCIsYnV0dG9uc1dyYXBwZXI6ImJ1dHRvbnNXcmFwcGVyLVlURklKNjJoIixwYWlyQ29udGFpbmVyOiJwYWlyQ29udGFpbmVyLVlURklKNjJoIixsb2dvOiJsb2dvLVlURklKNjJoIixoaWRkZW46ImhpZGRlbi1ZVEZJSjYyaCIsbm9BY3Rpb25zOiJub0FjdGlvbnMtWVRGSUo2MmgiLHRpdGxlc0dyb3VwV3JhcHBlcjoidGl0bGVzR3JvdXBXcmFwcGVyLVlURklKNjJoIix0aXRsZVdyYXBwZXI6InRpdGxlV3JhcHBlci1ZVEZJSjYyaCIsdGl0bGU6InRpdGxlLVlURklKNjJoIix3aXRoRG90OiJ3aXRoRG90LVlURklKNjJoIix0aXRsZVdyYXBwZXJfX2FjdGl2ZToidGl0bGVXcmFwcGVyX19hY3RpdmUtWVRGSUo2MmgiLGFjY2Vzc2libGU6ImFjY2Vzc2libGUtWVRGSUo2MmgiLGRpc2FibGVkOiJkaXNhYmxlZC1ZVEZJSjYyaCIsZGlzYWJsZWRPbkludGVydmFsOiJkaXNhYmxlZE9uSW50ZXJ2YWwtWVRGSUo2MmgiLHdpdGhDdXN0b21UZXh0Q29sb3I6IndpdGhDdXN0b21UZXh0Q29sb3ItWVRGSUo2MmgiLHN0dWR5OiJzdHVkeS1ZVEZJSjYyaCIsbWFpblRpdGxlOiJtYWluVGl0bGUtWVRGSUo2MmgiLGlucHV0VGl0bGU6ImlucHV0VGl0bGUtWVRGSUo2MmgiLGhpZGVWYWx1ZXM6ImhpZGVWYWx1ZXMtWVRGSUo2MmgiLGhhczVCdXR0b25zOiJoYXM1QnV0dG9ucy1ZVEZJSjYyaCIsc3RheUluSG92ZXJlZE1vZGU6InN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoIix3aXRoVGFpbDoid2l0aFRhaWwtWVRGSUo2MmgiLGxvYWRlcjoibG9hZGVyLVlURklKNjJoIix2YWx1ZVZhbHVlOiJ2YWx1ZVZhbHVlLVlURklKNjJoIix2YWx1ZVRpdGxlOiJ2YWx1ZVRpdGxlLVlURklKNjJoIixkZXNjVGl0bGU6ImRlc2NUaXRsZS1ZVEZJSjYyaCIsaW50ZXJ2YWxUaXRsZToiaW50ZXJ2YWxUaXRsZS1ZVEZJSjYyaCIscHJvdmlkZXJUaXRsZToicHJvdmlkZXJUaXRsZS1ZVEZJSjYyaCIsZXhjaGFuZ2VUaXRsZToiZXhjaGFuZ2VUaXRsZS1ZVEZJSjYyaCIsc3R5bGVUaXRsZToic3R5bGVUaXRsZS1ZVEZJSjYyaCIscHJpY2VTb3VyY2VUaXRsZToicHJpY2VTb3VyY2VUaXRsZS1ZVEZJSjYyaCIsZmxhZ2dlZDoiZmxhZ2dlZC1ZVEZJSjYyaCIsbWVkaXVtOiJtZWRpdW0tWVRGSUo2MmgiLG1pbmltaXplZDoibWluaW1pemVkLVlURklKNjJoIixtaWNybzoibWljcm8tWVRGSUo2MmgiLGxpbmtlZDoibGlua2VkLVlURklKNjJoIixvbmx5T25lQnV0dG9uQ2FuQmVTdGljazoib25seU9uZUJ1dHRvbkNhbkJlU3RpY2stWVRGSUo2MmgiLHRvdWNoTW9kZToidG91Y2hNb2RlLVlURklKNjJoIixidXR0b25JY29uOiJidXR0b25JY29uLVlURklKNjJoIixidXR0b25fX2FjdGl2ZToiYnV0dG9uX19hY3RpdmUtWVRGSUo2MmgiLGZsYWc6ImZsYWctWVRGSUo2MmgiLGV5ZToiZXllLVlURklKNjJoIixleWVMb2FkaW5nOiJleWVMb2FkaW5nLVlURklKNjJoIiwiZXllLWFuaW1hdGlvbiI6ImV5ZS1hbmltYXRpb24tWVRGSUo2MmgiLGxpbmtpbmc6ImxpbmtpbmctWVRGSUo2MmgiLGludGVydmFsRXllOiJpbnRlcnZhbEV5ZS1ZVEZJSjYyaCIsbWFya2VyQ29udGFpbmVyOiJtYXJrZXJDb250YWluZXItWVRGSUo2MmgiLGZsYWdXcmFwcGVyOiJmbGFnV3JhcHBlci1ZVEZJSjYyaCIsc291cmNlc1dyYXBwZXI6InNvdXJjZXNXcmFwcGVyLVlURklKNjJoIixsZWdlbmRNYWluU291cmNlV3JhcHBlcjoibGVnZW5kTWFpblNvdXJjZVdyYXBwZXItWVRGSUo2MmgiLHNvdXJjZXM6InNvdXJjZXMtWVRGSUo2MmgiLHRvZ2dsZXJXcmFwcGVyOiJ0b2dnbGVyV3JhcHBlci1ZVEZJSjYyaCIsdG9nZ2xlcldyYXBwZXJfX2xvYWRlcjoidG9nZ2xlcldyYXBwZXJfX2xvYWRlci1ZVEZJSjYyaCIsdG9nZ2xlcjoidG9nZ2xlci1ZVEZJSjYyaCBwYW5lLWJ1dHRvbi1MY1lkbzJONiIsb25seU9uZVNvdXJjZVNob3duOiJvbmx5T25lU291cmNlU2hvd24tWVRGSUo2MmgiLGNvdW50ZXI6ImNvdW50ZXItWVRGSUo2MmgiLGljb25BcnJvdzoiaWNvbkFycm93LVlURklKNjJoIixvYmplY3RUcmVlOiJvYmplY3RUcmVlLVlURklKNjJoIixjbG9zZWQ6ImNsb3NlZC1ZVEZJSjYyaCIsc2F2ZUFycm93V2lkdGg6InNhdmVBcnJvd1dpZHRoLVlURklKNjJoIiwKb2JqZWN0c1RyZWVDYW5CZVNob3duOiJvYmplY3RzVHJlZUNhbkJlU2hvd24tWVRGSUo2MmgifX0sNDI2Mjc0KGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS1wYW5lLWNvbnRyb2xzLXBhZGRpbmciOiI0cHgiLGNzc192YWx1ZV9wYW5lX2NvbnRyb2xzX21hcmdpbl90b3A6IjQiLGNzc192YWx1ZV9wYW5lX2NvbnRyb2xzX2J1dHRvbl9zaXplOiIyMiIsY3NzX3ZhbHVlX3BhbmVfY29udHJvbHNfYnV0dG9uX3RvdWNoX3NpemU6IjIyIixwYW5lQ29udHJvbHM6InBhbmVDb250cm9scy1FeHp4OUlBWiIscGFuZUNvbnRyb2xzX2hpZGRlbjoicGFuZUNvbnRyb2xzX2hpZGRlbi1FeHp4OUlBWiIscGFuZUNvbnRyb2xzX2ZvcmNlSGlkZGVuOiJwYW5lQ29udHJvbHNfZm9yY2VIaWRkZW4tRXh6eDlJQVoiLHBhbmVDb250cm9sc19yZW1vdmU6InBhbmVDb250cm9sc19yZW1vdmUtRXh6eDlJQVoiLGJ1dHRvbnM6ImJ1dHRvbnMtRXh6eDlJQVoiLGJ1dHRvbjoiYnV0dG9uLUV4eng5SUFaIixidXR0b25fYWN0aXZhdGVkOiJidXR0b25fYWN0aXZhdGVkLUV4eng5SUFaIix0b3VjaE1vZGU6InRvdWNoTW9kZS1FeHp4OUlBWiIsbWF4aW1pemU6Im1heGltaXplLUV4eng5SUFaIixjb2xsYXBzZToiY29sbGFwc2UtRXh6eDlJQVoiLCJtYXhpbWl6ZS1hbmltYXRpb24tdXAtYnJhY2tldCI6Im1heGltaXplLWFuaW1hdGlvbi11cC1icmFja2V0LUV4eng5SUFaIiwibWF4aW1pemUtYW5pbWF0aW9uLWRvd24tYnJhY2tldCI6Im1heGltaXplLWFuaW1hdGlvbi1kb3duLWJyYWNrZXQtRXh6eDlJQVoiLG1pbmltaXplOiJtaW5pbWl6ZS1FeHp4OUlBWiIscmVzdG9yZToicmVzdG9yZS1FeHp4OUlBWiIsIm1pbmltaXplLWFuaW1hdGlvbi11cC1icmFja2V0IjoibWluaW1pemUtYW5pbWF0aW9uLXVwLWJyYWNrZXQtRXh6eDlJQVoiLCJtaW5pbWl6ZS1hbmltYXRpb24tZG93bi1icmFja2V0IjoibWluaW1pemUtYW5pbWF0aW9uLWRvd24tYnJhY2tldC1FeHp4OUlBWiIsdXA6InVwLUV4eng5SUFaIixidXR0b25JY29uOiJidXR0b25JY29uLUV4eng5SUFaIiwidXAtYW5pbWF0aW9uIjoidXAtYW5pbWF0aW9uLUV4eng5SUFaIixkb3duOiJkb3duLUV4eng5SUFaIiwiZG93bi1hbmltYXRpb24iOiJkb3duLWFuaW1hdGlvbi1FeHp4OUlBWiJ9fSw3NzIwMjgoZSl7ZS5leHBvcnRzPXtibG9ja0hpZGRlbjoiYmxvY2tIaWRkZW4tTGNZZG8yTjYiLCJwYW5lLWJ1dHRvbiI6InBhbmUtYnV0dG9uLUxjWWRvMk42In19LDc1MTg2MyhlKXtlLmV4cG9ydHM9e3dyYXA6IndyYXAtR2hEalh6QngiLGlucHV0OiJpbnB1dC1HaERqWHpCeCIsYm94OiJib3gtR2hEalh6QngiLGhvdmVyRG90OiJob3ZlckRvdC1HaERqWHpCeCIscmVkOiJyZWQtR2hEalh6QngiLGJsdWU6ImJsdWUtR2hEalh6QngiLGdyZWVuOiJncmVlbi1HaERqWHpCeCIsb3JhbmdlOiJvcmFuZ2UtR2hEalh6QngiLHB1cnBsZToicHVycGxlLUdoRGpYekJ4IixjeWFuOiJjeWFuLUdoRGpYekJ4IixwaW5rOiJwaW5rLUdoRGpYekJ4IixsYXJnZToibGFyZ2UtR2hEalh6QngiLHBpY2tlckRvdDoicGlja2VyRG90LUdoRGpYekJ4In19LDU1ODg3MyhlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXIteWZOYmd0Z04iLGJ1dHRvbnM6ImJ1dHRvbnMteWZOYmd0Z04iLGNvbG9yU2VsZWN0QnV0dG9uOiJjb2xvclNlbGVjdEJ1dHRvbi15Zk5iZ3RnTiJ9fSw1NTg5NzIoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLVZuZVFWb052IixzZWxlY3Rvcjoic2VsZWN0b3ItVm5lUVZvTnYiLGFycm93TGVmdDoiYXJyb3dMZWZ0LVZuZVFWb052Iixjb2xvclNlbGVjdEJ1dHRvbjoiY29sb3JTZWxlY3RCdXR0b24tVm5lUVZvTnYiLHBvcHVwOiJwb3B1cC1WbmVRVm9OdiJ9fSw5MTYyNihlKXtlLmV4cG9ydHM9e2l0ZW06Iml0ZW0tdlRtOE8wTE0iLGludGVyYWN0aXZlOiJpbnRlcmFjdGl2ZS12VG04TzBMTSIsaG92ZXJlZDoiaG92ZXJlZC12VG04TzBMTSIsZGlzYWJsZWQ6ImRpc2FibGVkLXZUbThPMExNIixhY3RpdmU6ImFjdGl2ZS12VG04TzBMTSIsc2hvcnRjdXQ6InNob3J0Y3V0LXZUbThPMExNIixub3JtYWw6Im5vcm1hbC12VG04TzBMTSIsYmlnOiJiaWctdlRtOE8wTE0iLGljb25DZWxsOiJpY29uQ2VsbC12VG04TzBMTSIsaWNvbjoiaWNvbi12VG04TzBMTSIsY29udGVudDoiY29udGVudC12VG04TzBMTSIsbGFiZWw6ImxhYmVsLXZUbThPMExNIixjaGVja2VkOiJjaGVja2VkLXZUbThPMExNIix0b29sYm94OiJ0b29sYm94LXZUbThPMExNIixzaG93VG9vbGJveE9uSG92ZXI6InNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTSIsYXJyb3dJY29uOiJhcnJvd0ljb24tdlRtOE8wTE0iLHN1Yk1lbnU6InN1Yk1lbnUtdlRtOE8wTE0iLGludmlzaWJsZUhvdGtleToiaW52aXNpYmxlSG90a2V5LXZUbThPMExNIn19LDEwNzk2NihlKXtlLmV4cG9ydHM9e2l0ZW06Iml0ZW0tZDlqTE9MclIiLGVtcHR5SWNvbnM6ImVtcHR5SWNvbnMtZDlqTE9MclIiLGxvYWRpbmc6ImxvYWRpbmctZDlqTE9MclIiLGRpc2FibGVkOiJkaXNhYmxlZC1kOWpMT0xyUiIsaW50ZXJhY3RpdmU6ImludGVyYWN0aXZlLWQ5akxPTHJSIixob3ZlcmVkOiJob3ZlcmVkLWQ5akxPTHJSIixub3JtYWw6Im5vcm1hbC1kOWpMT0xyUiIsYmlnOiJiaWctZDlqTE9MclIiLGljb246Imljb24tZDlqTE9MclIiLGxhYmVsOiJsYWJlbC1kOWpMT0xyUiIsdGl0bGU6InRpdGxlLWQ5akxPTHJSIixuZXN0ZWQ6Im5lc3RlZC1kOWpMT0xyUiIsc2hvcnRjdXQ6InNob3J0Y3V0LWQ5akxPTHJSIixyZW1vdmU6InJlbW92ZS1kOWpMT0xyUiJ9fSw5NTQ0NzgoZSl7ZS5leHBvcnRzPXtzZXBhcmF0b3I6InNlcGFyYXRvci1LSHR5TVRZRyJ9fSw4NjU1NjAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7VFZBcHBDb250ZXh0OigpPT5kLFRWQXBwQ29udGV4dFByb3ZpZGVyOigpPT5yfSk7dmFyIHM9aSg3Nzk0NzQpLG89aSgxMTUyOTMpLG49aSg5OTk1MSksYT1pKDExNzMxMyk7Y29uc3QgbD17aU9zOiJvbGQiLGFuZHJvaWQ6Im5ldyIsb2xkOiJvbGQiLG5ldzoibmV3Iixhbnk6ImFueSJ9O2Z1bmN0aW9uIHIoZSl7Y29uc3RbdF09KDAsCnMudXNlU3RhdGUpKHtpc09uTW9iaWxlQXBwUGFnZTplPT4oMCxhLmlzT25Nb2JpbGVBcHBQYWdlKShsW2VdKSxpc1J0bDooMCxvLmlzUnRsKSgpLGxvY2FsZTp3aW5kb3cubG9jYWxlLHJlbmRlck1vZGU6ZS5yZW5kZXJNb2RlPz8ibGVnYWN5In0pO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQobi5BcHBDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0fSxlLmNoaWxkcmVuKX1jb25zdCBkPW4uQXBwQ29udGV4dH0sNTcxMzAwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5yKHQpLGkuZCh0LHtjcmVhdGVSZWFjdFJvb3Q6KCk9Pmx9KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDEyOTM2NSksbj1pKDMzNjMzNCksYT1pKDg2NTU2MCk7ZnVuY3Rpb24gbChlLHQsaT0ibGVnYWN5Iil7Y29uc3QgbD1zLmNyZWF0ZUVsZW1lbnQoYS5UVkFwcENvbnRleHRQcm92aWRlcix7cmVuZGVyTW9kZTppfSxlKTtpZigibW9kZXJuIj09PWkpe2NvbnN0IGU9KDAsbi5jcmVhdGVSb290KSh0KTtyZXR1cm4gZS5yZW5kZXIobCkse3JlbmRlcih0KXtlLnJlbmRlcihzLmNyZWF0ZUVsZW1lbnQoYS5UVkFwcENvbnRleHRQcm92aWRlcix7cmVuZGVyTW9kZTppfSx0KSl9LHVubW91bnQoKXtlLnVubW91bnQoKX19fXJldHVybiBvLnJlbmRlcihsLHQpLHtyZW5kZXIoZSl7by5yZW5kZXIocy5jcmVhdGVFbGVtZW50KGEuVFZBcHBDb250ZXh0UHJvdmlkZXIse3JlbmRlck1vZGU6aX0sZSksdCl9LHVubW91bnQoKXtvLnVubW91bnRDb21wb25lbnRBdE5vZGUodCl9fX19LDMxMzc3MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtEcmF3ZXJDb250ZXh0OigpPT5hLERyYXdlck1hbmFnZXI6KCk9Pm59KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDk5NTY3OCk7Y2xhc3MgbiBleHRlbmRzIHMuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9pc0JvZHlGaXhlZD0hMSx0aGlzLl9hZGREcmF3ZXI9ZT0+e3RoaXMuc2V0U3RhdGUoKHQ9Pih7c3RhY2s6Wy4uLnQuc3RhY2ssZV19KSkpfSx0aGlzLl9yZW1vdmVEcmF3ZXI9ZT0+e3RoaXMuc2V0U3RhdGUoKHQ9Pih7c3RhY2s6dC5zdGFjay5maWx0ZXIoKHQ9PnQhPT1lKSl9KSkpfSx0aGlzLnN0YXRlPXtzdGFjazpbXX19Y29tcG9uZW50RGlkVXBkYXRlKGUsdCl7IXQuc3RhY2subGVuZ3RoJiZ0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aCYmKCgwLG8ucmVxdWVzdE1vZGFsU2Nyb2xsTG9jaykod2luZG93KSx0aGlzLl9pc0JvZHlGaXhlZD0hMCksdC5zdGFjay5sZW5ndGgmJiF0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aCYmdGhpcy5faXNCb2R5Rml4ZWQmJigoMCxvLnJlbGVhc2VNb2RhbFNjcm9sbExvY2spKHdpbmRvdyksdGhpcy5faXNCb2R5Rml4ZWQ9ITEpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5zdGF0ZS5zdGFjay5sZW5ndGgmJnRoaXMuX2lzQm9keUZpeGVkJiYoMCxvLnJlbGVhc2VNb2RhbFNjcm9sbExvY2spKHdpbmRvdyl9cmVuZGVyKCl7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChhLlByb3ZpZGVyLHt2YWx1ZTp7YWRkRHJhd2VyOnRoaXMuX2FkZERyYXdlcixyZW1vdmVEcmF3ZXI6dGhpcy5fcmVtb3ZlRHJhd2VyLGN1cnJlbnREcmF3ZXI6dGhpcy5zdGF0ZS5zdGFjay5sZW5ndGg/dGhpcy5zdGF0ZS5zdGFja1t0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aC0xXTpudWxsfX0sdGhpcy5wcm9wcy5jaGlsZHJlbil9fWNvbnN0IGE9cy5jcmVhdGVDb250ZXh0KG51bGwpfSw5NjQyMTQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7RHJhd2VyOigpPT5ffSk7dmFyIHM9aSg3Nzk0NzQpLG89aSg5MTQ0ODcpLG49aS5uKG8pLGE9aSgxMzg2MzgpLGw9aSg1ODU0OCkscj1pKDE1MDE1MCksZD1pKDMxMzc3MiksdT1pKDYzMjk5MiksYz1pKDU1ODAzMCksaD1pKDgwMzI4Nyk7dmFyIHA7ZnVuY3Rpb24gXyhlKXtjb25zdHtwb3NpdGlvbjp0PSJCb3R0b20iLG9uQ2xvc2U6aSxjaGlsZHJlbjpvLHJlZmVyZW5jZTpjLGNsYXNzTmFtZTpwLHRoZW1lOl89aH09ZSxtPSgwLGEuZW5zdXJlTm90TnVsbCkoKDAscy51c2VDb250ZXh0KShkLkRyYXdlckNvbnRleHQpKSxbYl09KDAscy51c2VTdGF0ZSkoKCgpPT4oMCxyLnJhbmRvbUhhc2gpKCkpKSx2PSgwLHMudXNlUmVmKShudWxsKSxmPSgwLHMudXNlQ29udGV4dCkodS5DbG9zZURlbGVnYXRlQ29udGV4dCk7cmV0dXJuKDAscy51c2VMYXlvdXRFZmZlY3QpKCgoKT0+KCgwLGEuZW5zdXJlTm90TnVsbCkodi5jdXJyZW50KS5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pLGYuc3Vic2NyaWJlKG0saSksbS5hZGREcmF3ZXIoYiksKCk9PnttLnJlbW92ZURyYXdlcihiKSxmLnVuc3Vic2NyaWJlKG0saSl9KSksW10pLHMuY3JlYXRlRWxlbWVudChsLlBvcnRhbCxudWxsLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOmMsY2xhc3NOYW1lOm4oKShoLndyYXAsaFtgcG9zaXRpb24ke3R9YF0pfSxiPT09bS5jdXJyZW50RHJhd2VyJiZzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpoLmJhY2tkcm9wLG9uQ2xpY2s6aX0pLHMuY3JlYXRlRWxlbWVudChnLHtjbGFzc05hbWU6bigpKF8uZHJhd2VyLGhbYHBvc2l0aW9uJHt0fWBdLHApLHJlZjp2LCJkYXRhLW5hbWUiOmVbImRhdGEtbmFtZSJdLCJkYXRhLXFhLWlkIjplWyJkYXRhLXFhLWlkIl19LG8pKSl9IWZ1bmN0aW9uKGUpe2UuTGVmdD0iTGVmdCIsZS5Cb3R0b209IkJvdHRvbSJ9KHB8fChwPXt9KSk7Y29uc3QgZz0oMCxzLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTppLC4uLm99PWU7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChjLlRvdWNoU2Nyb2xsQ29udGFpbmVyLHtjbGFzc05hbWU6bigpKGguZHJhd2VyLGkpLHRhYkluZGV4Oi0xLHJlZjp0LC4uLm99KX0pKX0sNjMyOTkyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0Nsb3NlRGVsZWdhdGVDb250ZXh0OigpPT5ufSk7dmFyIHM9aSg3Nzk0NzQpLG89aSgyNzYwMTkpO2NvbnN0IG49cy5jcmVhdGVDb250ZXh0KG8uZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSl9LDk5OTUxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0FwcENvbnRleHQ6KCk9PnN9KTtjb25zdCBzPSgwLGkoNzc5NDc0KS5jcmVhdGVDb250ZXh0KSh7CmlzT25Nb2JpbGVBcHBQYWdlOigpPT4hMSxpc1J0bDohMSxsb2NhbGU6ImVuIixyZW5kZXJNb2RlOiJsZWdhY3kifSl9LDEwNzU4NShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtyZXR1cm4gdHx8bnVsbD09ZXx8KCJzdHJpbmciPT10eXBlb2YgZXx8QXJyYXkuaXNBcnJheShlKSkmJjA9PT1lLmxlbmd0aH1pLmQodCx7aXNJY29uT25seTooKT0+c30pfSwyMjA3NjQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7QnV0dG9uR3JvdXBDb250ZXh0OigpPT5zfSk7Y29uc3Qgcz1pKDc3OTQ3NCkuY3JlYXRlQ29udGV4dCh7aXNJbkJ1dHRvbkdyb3VwOiExLGlzR3JvdXBQcmltYXJ5OiExfSl9LDMyODIxOShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHt1c2VMaWdodEJ1dHRvbkNsYXNzZXM6KCk9PnV9KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDkxNDQ4Nyksbj1pLm4obyksYT1pKDMwOTkyMCksbD1pKDEwNzU4NSkscj1pKDUzMjAxMSksZD1pKDIyMDc2NCk7Y29uc3QgdT0oZSx0LGkpPT57Y29uc3Qgbz0oMCxzLnVzZUNvbnRleHQpKGEuQ3VzdG9tQmVoYXZpb3VyQ29udGV4dCkse2NsYXNzTmFtZTp1LGlzU2VsZWN0ZWQ6YyxjaGlsZHJlbjpoLHNob3dDYXJldDpwLGZvcmNlRGlyZWN0aW9uOl8saWNvbk9ubHk6Zyxjb2xvcjptPSJncmF5Iix2YXJpYW50OmI9InByaW1hcnkiLHNpemU6dj0ibWVkaXVtIixlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczpmPW8uZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXMsdHlwb2dyYXBoeTpTLGlzTGluazp5PSExLHRleHRXcmFwOncsaXNQaWxsczpDLGlzQWN0aXZlOkUsc3RhcnRTbG90OngsZW5kU2xvdDpMfT10LE09ZVtgdHlwb2dyYXBoeS0keygoZSx0LGkpPT57aWYoaSl7Y29uc3QgZT1pLnJlcGxhY2UoL15cRCsvZywiIik7cmV0dXJuIHQ/YHNlbWlib2xkJHtlfWA6aX1zd2l0Y2goZSl7Y2FzZSJ4c21hbGwiOnJldHVybiB0PyJzZW1pYm9sZDE0cHgiOiJyZWd1bGFyMTRweCI7Y2FzZSJzbWFsbCI6Y2FzZSJtZWRpdW0iOnJldHVybiB0PyJzZW1pYm9sZDE2cHgiOiJyZWd1bGFyMTZweCI7ZGVmYXVsdDpyZXR1cm4iIn19KSh2LGN8fEMsU3x8dm9pZCAwKX1gXSxUPSgwLHMudXNlQ29udGV4dCkoci5Db250cm9sR3JvdXBDb250ZXh0KSx7aXNJbkJ1dHRvbkdyb3VwOlYsaXNHcm91cFByaW1hcnk6a309KDAscy51c2VDb250ZXh0KShkLkJ1dHRvbkdyb3VwQ29udGV4dCk7cmV0dXJuIG4oKSh1LGUubGlnaHRCdXR0b24seSYmZS5saW5rLEUmJmUuYWN0aXZlLGMmJmUuc2VsZWN0ZWQsKDAsbC5pc0ljb25Pbmx5KShoLGcpJiZlLm5vQ29udGVudCwhIXgmJmUud2l0aFN0YXJ0U2xvdCwocHx8ISFMKSYmZS53aXRoRW5kU2xvdCxpJiZlLndpdGhHcm91cGVkLF8mJmVbX10sZVtrPyJwcmltYXJ5IjpiXSxlW2s/ImdyYXkiOm1dLGVbdl0sTSwhZiYmZS5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMsVC5pc0dyb3VwZWQmJmUuZ3JvdXBlZCx3JiZlLndyYXAsViYmZS5kaXNhYmxlQWN0aXZlT25Ub3VjaCxDJiZlLnBpbGxzKX19LDgzMDEyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0xpZ2h0QnV0dG9uQ29udGVudDooKT0+cH0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoOTE0NDg3KSxuPWkubihvKSxhPWkoNzcwMTQzKSxsPWkoMTA3NTg1KSxyPWkoMjczMzEwKSxkPWkoOTM1MSksdT1pLm4oZCksYz1pKDM2NDgxNSksaD1pLm4oYyk7ZnVuY3Rpb24gcChlKXtjb25zdHtzaG93Q2FyZXQ6dCxpY29uT25seTppLGVsbGlwc2lzOm89ITAsdGV4dFdyYXA6ZCx0b29sdGlwVGV4dDpjLGNoaWxkcmVuOnAsZW5kU2xvdDpfLHN0YXJ0U2xvdDpnLGlzQWN0aXZlQ2FyZXQ6bX09ZTtbXyx0XS5maWx0ZXIoKGU9PiEhZSkpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQocy5GcmFnbWVudCxudWxsLGcmJnMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpuKCkoaCgpLnNsb3QsaCgpLnN0YXJ0U2xvdCl9LGcpLCEoMCxsLmlzSWNvbk9ubHkpKHAsaSkmJnMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpuKCkoaCgpLmNvbnRlbnQsIWQmJmgoKS5ub3dyYXAsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAiLCJhcHBseS1vdmVyZmxvdy10b29sdGlwLS1jaGVjay1jaGlsZHJlbi1yZWN1cnNpdmVseSIsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWFsbG93LXRleHQiKSwiZGF0YS1vdmVyZmxvdy10b29sdGlwLXRleHQiOmM/PygwLGEuZ2V0VGV4dEZvclRvb2x0aXApKHApfSxkfHxvP3MuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwscy5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm4oKSghZCYmbyYmaCgpLmVsbGlwc2lzQ29udGFpbmVyLGQmJmgoKS50ZXh0V3JhcENvbnRhaW5lcixkJiZvJiZoKCkudGV4dFdyYXBXaXRoRWxsaXBzaXMpfSxwKSxzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6aCgpLnZpc3VhbGx5SGlkZGVuLCJhcmlhLWhpZGRlbiI6ITB9LHApKTpzLmNyZWF0ZUVsZW1lbnQocy5GcmFnbWVudCxudWxsLHAscy5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmgoKS52aXN1YWxseUhpZGRlbiwiYXJpYS1oaWRkZW4iOiEwfSxwKSkpLF8mJnMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpuKCkoaCgpLnNsb3QsaCgpLmVuZFNsb3QpfSxfKSx0JiYoZT0+cy5jcmVhdGVFbGVtZW50KHIuSWNvbix7Y2xhc3NOYW1lOm4oKShoKCkuY2FyZXQsZSYmaCgpLmFjdGl2ZUNhcmV0KSxpY29uOnUoKX0pKShtKSl9fSw4NTQ4MjAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7TGlnaHRCdXR0b246KCk9Pmh9KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDUzMjAxMSksbj1pKDMyODIxOSksYT1pKDgzMDEyKSxsPWkoMzQ1MTE2KSxyPWkoMzY0ODE1KSxkPWkubihyKSx1PWkoODU0NDUpLGM9aS5uKHUpO2Z1bmN0aW9uIGgoZSl7CmNvbnN0e2lzR3JvdXBlZDp0fT1zLnVzZUNvbnRleHQoby5Db250cm9sR3JvdXBDb250ZXh0KSx7cmVmZXJlbmNlOmksY2xhc3NOYW1lOnIsaXNTZWxlY3RlZDp1LGNoaWxkcmVuOmgsaWNvbk9ubHk6cCxlbGxpcHNpczpfLHNob3dDYXJldDpnLGZvcmNlRGlyZWN0aW9uOm0sZW5kU2xvdDpiLHN0YXJ0U2xvdDp2LGNvbG9yOmYsdmFyaWFudDpTLHNpemU6eSxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczp3LHR5cG9ncmFwaHk6Qyx0ZXh0V3JhcDpFPSExLG1heExpbmVzOngsc3R5bGU6TD17fSxpc1BpbGxzOk0saXNBY3RpdmU6VCx0b29sdGlwVGV4dDpWLHJvbGU6ayxkYXRhUWFJZDpBLGFyaWFMYWJlbDpXLG5hbWU6SSxvbkZvY3VzOkIsb25CbHVyOkgsb25Nb3VzZUVudGVyOkQsb25Nb3VzZUxlYXZlOlAsb25Nb3VzZU92ZXI6Tixvbk1vdXNlT3V0OlIsb25DbGljazpPLG9uQW5pbWF0aW9uRW5kOkYsb25Qb2ludGVyT3Zlcjp6LG9uUG9pbnRlck91dDpqLG9uS2V5RG93bjpVLGF1dG9Gb2N1czpHLGlzQWN0aXZlQ2FyZXQ6WixpZDpKLGRpc2FibGVkOlksdGFiSW5kZXg6cSx2YWx1ZTokLHRpdGxlOlEsdHlwZTpLLC4uLlh9PWUsZWU9KDAsbC5maWx0ZXJEYXRhUHJvcHMpKFgpLHRlPSgwLGwuZmlsdGVyQXJpYVByb3BzKShYKSxpZT1FP3g/PzI6MSxzZT1pZT4wP3suLi5MLCItLXVpLWxpYi1saWdodC1idXR0b24tY29udGVudC1tYXgtbGluZXMiOmllfTpMO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse25hbWU6SSxvbkZvY3VzOkIsb25CbHVyOkgsb25Nb3VzZUVudGVyOkQsb25Nb3VzZUxlYXZlOlAsb25Nb3VzZU92ZXI6Tixvbk1vdXNlT3V0OlIsb25DbGljazpPLG9uQW5pbWF0aW9uRW5kOkYsb25Qb2ludGVyT3Zlcjp6LG9uUG9pbnRlck91dDpqLG9uS2V5RG93bjpVLGF1dG9Gb2N1czpHLGlkOkosZGlzYWJsZWQ6WSx0YWJJbmRleDpxLHZhbHVlOiQsdGl0bGU6USx0eXBlOkssImRhdGEtcWEtaWQiOkEsImFyaWEtbGFiZWwiOlcsLi4uZWUsLi4udGUsY2xhc3NOYW1lOigwLG4udXNlTGlnaHRCdXR0b25DbGFzc2VzKSh7Li4uYygpLC4uLmQoKX0se2NsYXNzTmFtZTpyLGlzU2VsZWN0ZWQ6dSxjaGlsZHJlbjpoLGljb25Pbmx5OnAsc2hvd0NhcmV0OmcsZm9yY2VEaXJlY3Rpb246bSxlbmRTbG90OmIsc3RhcnRTbG90OnYsY29sb3I6Zix2YXJpYW50OlMsc2l6ZTp5LGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOncsdHlwb2dyYXBoeTpDLHRleHRXcmFwOkUsaXNQaWxsczpNLGlzQWN0aXZlOlR9LHQpLHJlZjppLHN0eWxlOnNlLHJvbGU6a30scy5jcmVhdGVFbGVtZW50KGEuTGlnaHRCdXR0b25Db250ZW50LHtzaG93Q2FyZXQ6Zyxpc0FjdGl2ZUNhcmV0OmcmJihNfHxUfHx1fHxaKSxpY29uT25seTpwLGVsbGlwc2lzOl8sdGV4dFdyYXA6RSx0b29sdGlwVGV4dDpWLGVuZFNsb3Q6YixzdGFydFNsb3Q6dn0saCkpfX0sOTg2NjA5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse05hdkJ1dHRvbkNvbnRlbnQ6KCk9PmMsZ2V0TmF2QnV0dG9uQ2xhc3NlczooKT0+dX0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoOTE0NDg3KSxuPWkubihvKSxhPWkoNDgwOTcyKSxsPWkoNDAyMjUzKSxyPWkubihsKTtjb25zdCBkPXsiLS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tYmxlbmRNaXhMaWdodCI6ImNvbG9yLWJ1cm4iLCItLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ibGVuZE1peERhcmsiOiJjb2xvci1kb2RnZSJ9O2Z1bmN0aW9uIHUoZSl7Y29uc3R7c2l6ZTp0PSJsYXJnZSIscHJlc2VydmVQYWRkaW5nczppLGlzTGluazpzLGZsaXBJY29uT25SdGw6byxibGVuZE1vZGU6YSxjbGFzc05hbWU6bH09ZTtyZXR1cm4gbigpKHIoKS5uYXZCdXR0b24scigpW3RdLGkmJnIoKS5wcmVzZXJ2ZVBhZGRpbmdzLG8mJnIoKS5mbGlwSWNvbixhJiZyKCkuYmxlbmRNb2RlLHMmJnIoKS5saW5rLGwpfWZ1bmN0aW9uIGMoZSl7Y29uc3R7Y2hpbGRyZW46dCxpY29uOmksYmxlbmRNb2RlOm99PWU7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwscy5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnIoKS5iYWNrZ3JvdW5kLHN0eWxlOm8/ZDp2b2lkIDB9KSxzLmNyZWF0ZUVsZW1lbnQoYS5TY2FsYWJsZUljb24se2ljb246aSxjbGFzc05hbWU6cigpLmljb259KSx0JiZzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cigpLnZpc3VhbGx5SGlkZGVufSx0KSl9fSw4ODA4ODYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7TmF2QnV0dG9uOigpPT5ufSk7dmFyIHM9aSg3Nzk0NzQpLG89aSg5ODY2MDkpO2NvbnN0IG49KDAscy5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtpY29uOmksdHlwZTpuPSJidXR0b24iLHByZXNlcnZlUGFkZGluZ3M6YSxmbGlwSWNvbk9uUnRsOmwsc2l6ZTpyLGJsZW5kTW9kZTpkLGFyaWFMYWJlbDp1LC4uLmN9PWU7cmV0dXJuIHMuY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7Li4uYyxjbGFzc05hbWU6KDAsby5nZXROYXZCdXR0b25DbGFzc2VzKSh7Li4uZSxjaGlsZHJlbjp1fSkscmVmOnQsdHlwZTpufSxzLmNyZWF0ZUVsZW1lbnQoby5OYXZCdXR0b25Db250ZW50LHtpY29uOmksYmxlbmRNb2RlOmR9LHUpKX0pKTtuLmRpc3BsYXlOYW1lPSJOYXZCdXR0b24ifSw2Mjc4NDgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0QmxvY2tTdHlsZUNsYXNzZXM6KCk9PnIsZ2V0TG9nb1N0eWxlQ2xhc3NlczooKT0+ZH0pO3ZhciBzPWkoOTE0NDg3KSxvPWkubihzKSxuPWkoMTM2NCksYT1pKDg2MDAyNSksbD1pLm4oYSk7ZnVuY3Rpb24gcihlLHQpe3JldHVybiBvKCkobCgpLnBhaXIsbCgpW2VdLHQpfWZ1bmN0aW9uIGQoZSx0PTIsaT0hMCl7cmV0dXJuIG8oKShsKCkubG9nbyxsKClbZV0sbCgpLnNrZWxldG9uLG4uc2tlbGV0b25UaGVtZS53cmFwcGVyLCFpJiZsKCkuZW1wdHksMT09PXQmJm8oKShuLnNrZWxldG9uVGhlbWUuYW5pbWF0ZWQpKX19LDM4Nzc3NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDaXJjbGVMb2dvOigpPT5sLGhpZGRlbkNpcmNsZUxvZ29DbGFzczooKT0+YX0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoNzk0MTg3KSxuPWkoMTQwMDE3KQo7Y29uc3QgYT1pLm4obikoKS5oaWRkZW47ZnVuY3Rpb24gbChlKXtjb25zdCB0PSgwLG8uaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzKShlKSxbaSxuXT0oMCxzLnVzZVN0YXRlKSgwKSxhPSgwLHMudXNlUmVmKShudWxsKSxsPSgwLG8uZ2V0U3R5bGVDbGFzc2VzKShlLnNpemUsaSxlLmNsYXNzTmFtZSkscj1lLmFsdD8/ZS50aXRsZT8/IiIsZD10P3JbMF06ZS5wbGFjZWhvbGRlckxldHRlcjtyZXR1cm4oMCxzLnVzZUVmZmVjdCkoKCgpPT5uKGEuY3VycmVudD8uY29tcGxldGU/PyF0PzI6MSkpLFt0XSksdCYmMyE9PWk/cy5jcmVhdGVFbGVtZW50KCJpbWciLHtyZWY6YSxjbGFzc05hbWU6bCxjcm9zc09yaWdpbjoiIixzcmM6ZS5sb2dvVXJsLGFsdDpyLHRpdGxlOmUudGl0bGUsbG9hZGluZzplLmxvYWRpbmcsb25Mb2FkOigpPT5uKDIpLG9uRXJyb3I6KCk9Pm4oMyksImFyaWEtbGFiZWwiOmVbImFyaWEtbGFiZWwiXSwiYXJpYS1oaWRkZW4iOmVbImFyaWEtaGlkZGVuIl19KTpzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6bCx0aXRsZTplLnRpdGxlLCJhcmlhLWxhYmVsIjplWyJhcmlhLWxhYmVsIl0sImFyaWEtaGlkZGVuIjplWyJhcmlhLWhpZGRlbiJdfSxkKX19LDc5NDE4NyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRTdHlsZUNsYXNzZXM6KCk9PnIsaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzOigpPT5kfSk7dmFyIHM9aSg5MTQ0ODcpLG89aS5uKHMpLG49aSgxMzY0KSxhPWkoMTQwMDE3KSxsPWkubihhKTtmdW5jdGlvbiByKGUsdD0yLGkpe3JldHVybiBvKCkobCgpLmxvZ28sbCgpW2VdLGksMD09PXR8fDE9PT10P28oKShuLnNrZWxldG9uVGhlbWUud3JhcHBlcixsKCkuc2tlbGV0b24pOmwoKS5sZXR0ZXIsMT09PXQmJm4uc2tlbGV0b25UaGVtZS5hbmltYXRlZCl9ZnVuY3Rpb24gZChlKXtyZXR1cm4ibG9nb1VybCJpbiBlJiZudWxsIT09ZS5sb2dvVXJsJiZ2b2lkIDAhPT1lLmxvZ29VcmwmJjAhPT1lLmxvZ29VcmwubGVuZ3RofX0sNTMyMDExKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NvbnRyb2xHcm91cENvbnRleHQ6KCk9Pm4sZGVmYXVsdENlbGxTdGF0ZTooKT0+b30pO3ZhciBzPWkoNzc5NDc0KTtjb25zdCBvPXtpc1RvcDohMCxpc1JpZ2h0OiEwLGlzQm90dG9tOiEwLGlzTGVmdDohMH0sbj1zLmNyZWF0ZUNvbnRleHQoe2lzR3JvdXBlZDohMSxjZWxsU3RhdGU6b30pfSwzMDk5MjAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q3VzdG9tQmVoYXZpb3VyQ29udGV4dDooKT0+c30pO2NvbnN0IHM9KDAsaSg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQpKHtlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczohMH0pO3MuZGlzcGxheU5hbWU9IkN1c3RvbUJlaGF2aW91ckNvbnRleHQifSw3ODc4OTUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7dXNlRnVuY3Rpb25hbFJlZk9iamVjdDooKT0+bn0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoNjE2MzExKTtmdW5jdGlvbiBuKGUpe2NvbnN0IHQ9KDAscy51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2NvbnN0IHQ9aT0+e2UoaSksdC5jdXJyZW50PWl9O3JldHVybiB0LmN1cnJlbnQ9bnVsbCx0fSgoZT0+e2wuY3VycmVudChlKX0pKSksW10pLGk9KDAscy51c2VSZWYpKG51bGwpLG49dD0+e2lmKG51bGw9PT10KXJldHVybiBhKGkuY3VycmVudCx0KSx2b2lkKGkuY3VycmVudD1udWxsKTtpLmN1cnJlbnQhPT1lJiYoaS5jdXJyZW50PWUsYShpLmN1cnJlbnQsdCkpfSxsPSgwLHMudXNlUmVmKShuKTtyZXR1cm4gbC5jdXJyZW50PW4sKDAsby51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9PntpZihudWxsIT09dC5jdXJyZW50KXJldHVybiBsLmN1cnJlbnQodC5jdXJyZW50KSwoKT0+bC5jdXJyZW50KG51bGwpfSksW2VdKSx0fWZ1bmN0aW9uIGEoZSx0KXtudWxsIT09ZSYmKCJmdW5jdGlvbiI9PXR5cGVvZiBlP2UodCk6ZS5jdXJyZW50PXQpfX0sOTQ4NDUwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NvbW1vbkljb246KCk9Pm99KTt2YXIgcz1pKDc3OTQ3NCk7Y29uc3Qgbz1zLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOmksYXJpYUxhYmVsOm8sYXJpYUxhYmVsbGVkYnk6bix0aXRsZTphLGljb246bD0iIiwuLi5yfT1lLGQ9cix1PSEoIW8mJiFuKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJzcGFuIix7ImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6biwiYXJpYS1oaWRkZW4iOiF1LHJlZjp0LHJvbGU6ImltZyIsZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpsfSxjbGFzc05hbWU6aSx0aXRsZTphLC4uLmR9KX0pKX0sMjczMzEwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0ljb246KCk9Pm99KTt2YXIgcz1pKDc3OTQ3NCk7Y29uc3Qgbz1zLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjppPSIiLHRpdGxlOm8sYXJpYUxhYmVsOm4sYXJpYUxhYmVsbGVkYnk6YSxhcmlhSGlkZGVuOmwsLi4ucn09ZSxkPSEhKG98fG58fGEpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJpbWciLC4uLnIscmVmOnQsImFyaWEtbGFiZWwiOm4sImFyaWEtbGFiZWxsZWRieSI6YSwiYXJpYS1oaWRkZW4iOmx8fCFkLHRpdGxlOm8sZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDppfX0pfSkpfSw0ODA5NzIoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7U2NhbGFibGVJY29uOigpPT5kfSk7dmFyIHM9aSg5MTQ0ODcpLG89aS5uKHMpLG49aSg3Nzk0NzQpLGE9aSg5NDg0NTApLGw9aSgyMDMyNzMpLHI9aS5uKGwpO2NvbnN0IGQ9bi5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTppLC4uLnN9PWU7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChhLkNvbW1vbkljb24sey4uLnMsY2xhc3NOYW1lOm8oKShpLHIoKS5zY2FsYWJsZUljb24pLHJlZjp0fSl9KSl9LDEzNjQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7c2tlbGV0b25UaGVtZTooKT0+b30pO3ZhciBzPWkoOTc1Mjg1KTtjb25zdCBvPWkubihzKSgpfSwxNDkzNjQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7U3dpdGNoR3JvdXA6KCk9Pm59KQo7dmFyIHM9aSg3Nzk0NzQpLG89aSg4Njk4NDIpO2NsYXNzIG4gZXh0ZW5kcyBzLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fc3Vic2NyaXB0aW9ucz1uZXcgU2V0LHRoaXMuX2dldE5hbWU9KCk9PnRoaXMucHJvcHMubmFtZSx0aGlzLl9nZXRWYWx1ZXM9KCk9PnRoaXMucHJvcHMudmFsdWVzLHRoaXMuX2dldE9uQ2hhbmdlPSgpPT50aGlzLnByb3BzLm9uQ2hhbmdlLHRoaXMuX3N1YnNjcmliZT1lPT57dGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoZSl9LHRoaXMuX3Vuc3Vic2NyaWJlPWU9Pnt0aGlzLl9zdWJzY3JpcHRpb25zLmRlbGV0ZShlKX0sdGhpcy5zdGF0ZT17c3dpdGNoR3JvdXBDb250ZXh0OntnZXROYW1lOnRoaXMuX2dldE5hbWUsZ2V0VmFsdWVzOnRoaXMuX2dldFZhbHVlcyxnZXRPbkNoYW5nZTp0aGlzLl9nZXRPbkNoYW5nZSxzdWJzY3JpYmU6dGhpcy5fc3Vic2NyaWJlLHVuc3Vic2NyaWJlOnRoaXMuX3Vuc3Vic2NyaWJlfX19cmVuZGVyKCl7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChvLlN3aXRjaEdyb3VwQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6dGhpcy5zdGF0ZS5zd2l0Y2hHcm91cENvbnRleHR9LHRoaXMucHJvcHMuY2hpbGRyZW4pfWNvbXBvbmVudERpZFVwZGF0ZShlKXt0aGlzLl9ub3RpZnkodGhpcy5fZ2V0VXBkYXRlcyh0aGlzLnByb3BzLnZhbHVlcyxlLnZhbHVlcykpfV9ub3RpZnkoZSl7dGhpcy5fc3Vic2NyaXB0aW9ucy5mb3JFYWNoKCh0PT50KGUpKSl9X2dldFVwZGF0ZXMoZSx0KXtyZXR1cm5bLi4udCwuLi5lXS5maWx0ZXIoKGk9PnQuaW5jbHVkZXMoaSk/IWUuaW5jbHVkZXMoaSk6ZS5pbmNsdWRlcyhpKSkpfX19LDM0NTExNihlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIG4oZSxhKX1mdW5jdGlvbiBvKGUpe3JldHVybiBuKGUsbCl9ZnVuY3Rpb24gbihlLHQpe2NvbnN0IGk9T2JqZWN0LmVudHJpZXMoZSkuZmlsdGVyKHQpLHM9e307Zm9yKGNvbnN0W2UsdF1vZiBpKXNbZV09dDtyZXR1cm4gc31mdW5jdGlvbiBhKGUpe2NvbnN0W3QsaV09ZTtyZXR1cm4gMD09PXQuaW5kZXhPZigiZGF0YS0iKSYmInN0cmluZyI9PXR5cGVvZiBpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIDA9PT1lWzBdLmluZGV4T2YoImFyaWEtIil9ZnVuY3Rpb24gcihlLHQpe2NvbnN0IGk9cyhlKTtyZXR1cm4gdCYmKGlbImRhdGEtcWEtaWQiXT10KSxpfWkuZCh0LHtmaWx0ZXJBcmlhUHJvcHM6KCk9Pm8sZmlsdGVyQ2hlY2tlZERhdGFQcm9wczooKT0+cixmaWx0ZXJEYXRhUHJvcHM6KCk9PnMsZmlsdGVyUHJvcHM6KCk9Pm4saXNBcmlhQXR0cmlidXRlOigpPT5sLGlzRGF0YUF0dHJpYnV0ZTooKT0+YX0pfSw3NzAxNDMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0VGV4dEZvclRvb2x0aXA6KCk9PmF9KTt2YXIgcz1pKDc3OTQ3NCk7Y29uc3Qgbz1lPT4oMCxzLmlzVmFsaWRFbGVtZW50KShlKSYmQm9vbGVhbihlLnByb3BzLmNoaWxkcmVuKSxuPShlLHQ9ITApPT5udWxsPT1lfHwiYm9vbGVhbiI9PXR5cGVvZiBlfHwie30iPT09SlNPTi5zdHJpbmdpZnkoZSk/IiI6ZS50b1N0cmluZygpKyh0PyIgIjoiIiksYT1lPT5BcnJheS5pc0FycmF5KGUpfHwoMCxzLmlzVmFsaWRFbGVtZW50KShlKT9zLkNoaWxkcmVuLnRvQXJyYXkoZSkucmVkdWNlKCgoZSx0KT0+e2xldCBpPSIiO3JldHVybiBpPSgwLHMuaXNWYWxpZEVsZW1lbnQpKHQpJiZvKHQpP2EodC5wcm9wcy5jaGlsZHJlbik6KDAscy5pc1ZhbGlkRWxlbWVudCkodCkmJiFvKHQpPyIiOm4odCksZS5jb25jYXQoaSl9KSwiIikudHJpbSgpOm4oZSwhMSl9LDk2NDU5NChlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIHQ9PntlLmZvckVhY2goKGU9PnsiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJihlLmN1cnJlbnQ9dCl9KSl9fWZ1bmN0aW9uIG8oZSl7cmV0dXJuIHMoW2VdKX1pLmQodCx7aXNvbW9ycGhpY1JlZjooKT0+byxtZXJnZVJlZnM6KCk9PnN9KX0sOTczODA0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2dldEltYWdlOigpPT5ufSk7Y29uc3Qgcz1uZXcgTWFwO2Z1bmN0aW9uIG8oZSl7ZS5jcm9zc09yaWdpbj0iYW5vbnltb3VzIn1mdW5jdGlvbiBuKGUsdCxpPW8sbil7bGV0IGE9cy5nZXQoZSk7cmV0dXJuIHZvaWQgMD09PWEmJihhPW5ldyBQcm9taXNlKCgoZSxzKT0+e2NvbnN0IG89bmV3IEltYWdlO28ub25sb2FkPSgpPT57ZShvKSxvLm9ubG9hZD1udWxsLG8ub25lcnJvcj1udWxsfSxvLm9uZXJyb3I9KCk9PntzKCksby5vbmxvYWQ9bnVsbCxvLm9uZXJyb3I9bnVsbH0saShvKSxvLnNyYz10LG4mJihuLm9uYWJvcnQ9KCk9PntzKCksby5vbmxvYWQ9bnVsbCxvLm9uZXJyb3I9bnVsbH0pfSkpLHMuc2V0KGUsYSkpLGF9fSw3OTAwNDEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y2hhbmdlRGVzY3JpcHRpb246KCk9PmQsY29udmVydFRvQ3VzdG9tU3ltYm9sTGlzdDooKT0+bCxjb252ZXJ0VG9NYXJrZWRTeW1ib2xMaXN0OigpPT5yfSk7dmFyIHM9aSgxMzg2MzgpLG89aSgzODQwMTcpLG49aSg1ODA1MjYpLGE9KGkoNjIxMjApLGkoOTYyMDgxKSxpKDMwNDM5OSkpO2koMTU1OTAwKSxpKDU2OTM5OCksaSg3ODgwMSk7ZnVuY3Rpb24gbChlKXtjb25zdCB0PWUuaWQsaT1lLm5hbWUse3N5bWJvbHM6cyxjb2xsYXBzZWRTZXBhcmF0b3JzOm99PSgwLG4ubG9jYWxDb2xsYXBzZVN0YXRlRnJvbVJlbW90ZVN5bWJvbHMpKGUuc3ltYm9scz8/W10pO3JldHVybnt0eXBlOiJjdXN0b20iLGlkOnQsbmFtZTppLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sYWN0aXZlOmUuYWN0aXZlLHN5bWJvbHM6cyxzaGFyZWQ6ZS5zaGFyZWQsY29sbGFwc2VkU2VwYXJhdG9yczpvLHBlcnNpc3RlZFN0YXRlOmUsbWV0YTp7c2VydmVyX2lkOit0fX19ZnVuY3Rpb24gcihlKXtjb25zdCB0PSgwLHMuZW5zdXJlTm90TnVsbCkoZS5jb2xvcikse3N5bWJvbHM6aSxjb2xsYXBzZWRTZXBhcmF0b3JzOm99PSgwLG4ubG9jYWxDb2xsYXBzZVN0YXRlRnJvbVJlbW90ZVN5bWJvbHMpKGUuc3ltYm9scz8/W10pO3JldHVybnt0eXBlOiJjb2xvcmVkIixpZDp0LApjb2xvcjp0LG5hbWU6ZS5uYW1lPz9udWxsLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sYWN0aXZlOmUuYWN0aXZlLHN5bWJvbHM6aSxzaGFyZWQ6ZS5zaGFyZWQsY29sbGFwc2VkU2VwYXJhdG9yczpvLHBlcnNpc3RlZFN0YXRlOmUsbWV0YTp7c2VydmVyX2lkOitlLmlkfX19ZnVuY3Rpb24gZChlLHQpe3JldHVybigwLG8uZmV0Y2gpKCgwLGEud2F0Y2hsaXN0VXJsKShgL2FwaS92MS9zeW1ib2xzX2xpc3QvY3VzdG9tLyR7ZX0vdXBkYXRlX21ldGEvYCkse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeSh7ZGVzY3JpcHRpb246dH0pLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbihhLmhhbmRsZUpTT04pLnRoZW4obCl9fSw1ODA1MjYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0TG9jYWxMaXN0U3ltYm9sczooKT0+aCxsb2NhbENvbGxhcHNlU3RhdGVGcm9tUmVtb3RlU3ltYm9sczooKT0+cixyZW1vdGVSZW5hbWVTZXBhcmF0b3JzOigpPT51LHJlbW90ZVN5bWJvbHNGb3JtTG9jYWxTdGF0ZTooKT0+ZCxzZXBhcmF0b3JSZW1vdGVSZXByZXNlbnRhdGlvbjooKT0+Y30pO3ZhciBzPWkoMTM4NjM4KSxvPWkoOTAxMDIyKSxuPWkoNzA1MDEyKSxhPWkoOTIyMjQ4KTtjb25zdCBsPW5ldyBSZWdFeHAoYF4ke28uU0VQQVJBVE9SX1BSRUZJWH0o4oGkKT8oLispJGApO2Z1bmN0aW9uIHIoZSl7Y29uc3QgdD1bXSxpPVtdO3JldHVybiBlLmZvckVhY2goKGU9Pntjb25zdFsscyxuXT1lLm1hdGNoKGwpfHxbXTtpZihuKXtjb25zdCBlPWAke28uU0VQQVJBVE9SX1BSRUZJWH0ke259YDtzJiZpLnB1c2goZSksdC5wdXNoKGUpfWVsc2UgdC5wdXNoKGUpfSkpLHtzeW1ib2xzOnQsY29sbGFwc2VkU2VwYXJhdG9yczppfX1mdW5jdGlvbiBkKGUsdCl7Y29uc3QgaT1fKGUpO3JldHVybiB0Lm1hcCgoZT0+aT8uaGFzT3duUHJvcGVydHkoZSk/YyhlLGlbZV0pOmUpKX1mdW5jdGlvbiB1KGUsdCxpKXtjb25zdCBzPV8oZSk7aWYocz8uaGFzT3duUHJvcGVydHkoaSkpe2NvbnN0IGU9c1tpXTtyZXR1cm57b2xkU2VwYXJhdG9yOmModCxlKSxuZXdTZXBhcmF0b3I6YyhpLGUpfX1yZXR1cm57b2xkU2VwYXJhdG9yOnQsbmV3U2VwYXJhdG9yOml9fWZ1bmN0aW9uIGMoZSx0KXtjb25zdCBpPWUucmVwbGFjZShvLlNFUEFSQVRPUl9QUkVGSVgsIiIpLnJlcGxhY2UoIuKBpCIsIiIpO3JldHVybmAke28uU0VQQVJBVE9SX1BSRUZJWH0ke3Q/IuKBpCI6IiJ9JHtpfWB9ZnVuY3Rpb24gaChlKXtjb25zdCB0PXAoKTtyZXR1cm4oMCxzLmVuc3VyZURlZmluZWQpKHQubWFya2VkTGlzdHM/Lmxpc3RzLmJ5Q29sb3JbZV0/LnN5bWJvbHN8fHQuY3VzdG9tTGlzdHMubGlzdHMuYnlJZFtlXT8uc3ltYm9scyl9ZnVuY3Rpb24gcCgpe3JldHVybigwLG4uc2VydmljZSkoYS5TWU1CT0xfTElTVF9TRVJWSUNFKS5zdG9yZS5nZXRTdGF0ZSgpfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIHAoKS5jb2xsYXBzZWRTZXBhcmF0b3JzW2VdfX0sNjIxMjAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7cGVuZGluZ09wZW5TZXBhcmF0b3JzOigpPT5zfSk7Y29uc3Qgcz1uZXcgU2V0fSw4Nzc0NDIoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcyxvLG47aS5kKHQse1RpY2tlclR5cGU6KCk9PnN9KSxmdW5jdGlvbihlKXtlLlRpY2tlcj0idGlja2VyIixlLkRlc2NyaXB0aW9uPSJkZXNjcmlwdGlvbiJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5TeW1ib2xOYW1lPSJzaG9ydF9uYW1lIixlLkxhc3Q9Imxhc3RfcHJpY2UiLGUuQ2hhbmdlPSJjaGFuZ2UiLGUuQ2hhbmdlSW5QZXJjZW50cz0iY2hhbmdlX3BlcmNlbnQiLGUuVm9sdW1lPSJ2b2x1bWUiLGUuUHJlUG9zdE1hcmtldD0icmNocCIsZS5GbGFnPSJmbGFnIn0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtlW2UuREVTQz0tMV09IkRFU0MiLGVbZS5BU0M9MV09IkFTQyJ9KG58fChuPXt9KSl9LDQ0MDcxNShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDb250ZXh0TWVudUNvbnRleHQ6KCk9PnN9KTtjb25zdCBzPWkoNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSw1MjUxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0hpbnQ6KCk9Pmx9KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDkxNDQ4Nyksbj1pLm4obyksYT1pKDkxNjI2KTtmdW5jdGlvbiBsKGUpe2NvbnN0e3RleHQ6dD0iIixjbGFzc05hbWU6aX09ZTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm4oKShhLnNob3J0Y3V0LGkpfSx0KX19LDcyMTE2NyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDb250ZXh0TWVudUl0ZW06KCk9Pl99KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDkxNDQ4Nyksbj1pLm4obyksYT1pKDI3MzMxMCksbD1pKDY0OTE2Nikscj1pKDc3OTEwOCksZD1pKDUyNTEpLHU9aSgzODA1NiksYz1pKDU4MDU5NiksaD1pKDQ2MjcwNCkscD1pKDEwNzk2Nik7ZnVuY3Rpb24gXyhlKXtjb25zdHtjbGFzc05hbWU6dCxpc1RpdGxlOmksaXNMb2FkaW5nOm8saXNIb3ZlcmVkOl8sYWN0aXZlOmcsY2hlY2thYmxlOm0sZGlzYWJsZWQ6YixjaGVja2VkOnYsaWNvbjpmLGljb25DaGVja2VkOlMsaGludDp5LHN1Ykl0ZW1zOncsbGFiZWw6QyxzdHlsZWRMYWJlbDpFLG9uQ2xpY2s6eCxjaGlsZHJlbjpMLHRvb2xib3g6TSxqc3hMYWJlbDpULHNpemU6Vj0ibm9ybWFsIn09ZSxrPSgwLHMudXNlQ29udGV4dCkoci5FbXB0eUljb25zQ29udGV4dCksQT0hIXcubGVuZ3RoO3JldHVybiBvP3MuY3JlYXRlRWxlbWVudCgibGkiLHtjbGFzc05hbWU6bigpKHQscC5pdGVtLHAubG9hZGluZyxwW1ZdKX0scy5jcmVhdGVFbGVtZW50KGwuTG9hZGVyLG51bGwpKTpzLmNyZWF0ZUVsZW1lbnQoImxpIix7Y2xhc3NOYW1lOm4oKSh0LHAuaXRlbSxwLmludGVyYWN0aXZlLGkmJnAudGl0bGUsYiYmcC5kaXNhYmxlZCxfJiZwLmhvdmVyZWQsZyYmcC5hY3RpdmUsayYmcC5lbXB0eUljb25zLHBbVl0pLG9uQ2xpY2s6eH0scy5jcmVhdGVFbGVtZW50KGEuSWNvbix7Y2xhc3NOYW1lOm4oKShwLmljb24pLGljb246ZnVuY3Rpb24oKXsKaWYobSYmdilyZXR1cm4gU3x8Znx8dTtyZXR1cm4gZn0oKX0pLHMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpuKCkocC5sYWJlbCl9LCFUJiZFP0UubWFwKCgoe3RleHQ6ZSwuLi50fSxpKT0+cy5jcmVhdGVFbGVtZW50KCJzcGFuIix7a2V5Omksc3R5bGU6dH0sZSkpKTpUPz9DKSwhIU0mJnMuY3JlYXRlRWxlbWVudChhLkljb24se29uQ2xpY2s6ZnVuY3Rpb24oKXtNJiZNLmFjdGlvbigpfSxjbGFzc05hbWU6cC5yZW1vdmUsaWNvbjpofSksIUEmJnkmJnMuY3JlYXRlRWxlbWVudChkLkhpbnQse2NsYXNzTmFtZTpwLnNob3J0Y3V0LHRleHQ6eX0pLEEmJnMuY3JlYXRlRWxlbWVudChhLkljb24se2NsYXNzTmFtZTpwLm5lc3RlZCxpY29uOmN9KSxMKX19LDMyMzgzMChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDb250ZXh0TWVudUxpc3Q6KCk9Pl99KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDk1NDQ3OCk7ZnVuY3Rpb24gbihlKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJsaSIse2NsYXNzTmFtZTpvLnNlcGFyYXRvcn0pfXZhciBhPWkoNzIxMTY3KSxsPWkoNTY5Mzk4KSxyPWkoOTY0MjE0KSxkPWkoMjc2MDE5KTtjb25zdCB1PSgwLGwuaXNGZWF0dXJlRW5hYmxlZCkoImZvcmNlX2Rpc2FibGVfanN4X21lbnVfaXRlbXNfcmVuZGVyaW5nIik7ZnVuY3Rpb24gYyhlKXtjb25zdCB0PXU/ZS5hY3Rpb246ZS5hY3Rpb24uY3VzdG9tKCk/P2UuYWN0aW9uLFtpLG9dPSgwLHMudXNlU3RhdGUpKCgoKT0+dC5nZXRTdGF0ZSgpKSksW24sbF09KDAscy51c2VTdGF0ZSkoITEpLGM9ISFpLnN1Ykl0ZW1zLmxlbmd0aCxoPWMmJm47cmV0dXJuKDAscy51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9KCk9Pm8odC5nZXRTdGF0ZSgpKTtyZXR1cm4gdC5vblVwZGF0ZSgpLnN1YnNjcmliZShudWxsLGUpLCgpPT57dC5vblVwZGF0ZSgpLnVuc3Vic2NyaWJlKG51bGwsZSl9fSksW10pLHMuY3JlYXRlRWxlbWVudChhLkNvbnRleHRNZW51SXRlbSx7Li4uaSxvbkNsaWNrOmZ1bmN0aW9uKGUpe2lmKGkuZGlzYWJsZWR8fGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47aWYoYylyZXR1cm4gdm9pZCBsKCEwKTtpLmRvTm90Q2xvc2VPbkNsaWNrfHwoMCxkLmdsb2JhbENsb3NlTWVudSkoKTt0LmV4ZWN1dGUoKX0saXNMb2FkaW5nOmkubG9hZGluZyxpc0hvdmVyZWQ6aH0saCYmcy5jcmVhdGVFbGVtZW50KHIuRHJhd2VyLHtvbkNsb3NlOnB9LHMuY3JlYXRlRWxlbWVudChfLHtpdGVtczppLnN1Ykl0ZW1zLHBhcmVudEFjdGlvbjp0LGNsb3NlTmVzdGVkOnB9KSkpO2Z1bmN0aW9uIHAoZSl7ZSYmZS5wcmV2ZW50RGVmYXVsdCgpLGwoITEpfX12YXIgaD1pKDc3OTEwOCkscD1pKDMzNDU1MCk7ZnVuY3Rpb24gXyhlKXtjb25zdHtpdGVtczp0LHBhcmVudEFjdGlvbjppLGNsb3NlTmVzdGVkOm99PWUsbD0hQm9vbGVhbihpKSYmdC5ldmVyeSgoZT0+IUJvb2xlYW4oInNlcGFyYXRvciIhPT1lLnR5cGUmJihlLmdldFN0YXRlKCkuaWNvbnx8ZS5nZXRTdGF0ZSgpLmNoZWNrYWJsZSkpKSk7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChoLkVtcHR5SWNvbnNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpsfSxzLmNyZWF0ZUVsZW1lbnQoInVsIixudWxsLGkmJnMuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwscy5jcmVhdGVFbGVtZW50KGEuQ29udGV4dE1lbnVJdGVtLHtsYWJlbDppLmdldFN0YXRlKCkubGFiZWwsaXNUaXRsZTohMCxhY3RpdmU6ITEsZGlzYWJsZWQ6ITEsc3ViSXRlbXM6W10sY2hlY2thYmxlOiExLGNoZWNrZWQ6ITEsZG9Ob3RDbG9zZU9uQ2xpY2s6ITEsaWNvbjpwLG9uQ2xpY2s6b30pLHMuY3JlYXRlRWxlbWVudChuLG51bGwpKSx0Lm1hcCgoZT0+e3N3aXRjaChlLnR5cGUpe2Nhc2UiYWN0aW9uIjpyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGMse2tleTplLmlkLGFjdGlvbjplfSk7Y2FzZSJzZXBhcmF0b3IiOnJldHVybiBzLmNyZWF0ZUVsZW1lbnQobix7a2V5OmUuaWR9KX19KSkpKX19LDc3OTEwOChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtFbXB0eUljb25zQ29udGV4dDooKT0+c30pO2NvbnN0IHM9aSg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoITEpfSwzMjk2NjgoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztmdW5jdGlvbiBvKGUpe2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiKSl9ZnVuY3Rpb24gbihlKXtlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQiKSl9aS5kKHQse2JlY29tZU1haW5FbGVtZW50OigpPT5vLGJlY29tZVNlY29uZGFyeUVsZW1lbnQ6KCk9Pm59KSxmdW5jdGlvbihlKXtlLk1haW5FbGVtZW50PSJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IixlLlNlY29uZGFyeUVsZW1lbnQ9InJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCJ9KHN8fChzPXt9KSl9LDk4MzYxNihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHttYXBLZXlDb2RlVG9EaXJlY3Rpb246KCk9PnUsbmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvcjooKT0+YSxxdWVyeUZvY3VzYWJsZUVsZW1lbnRzOigpPT5yLHF1ZXJ5VGFiYmFibGVFbGVtZW50czooKT0+bCx1cGRhdGVUYWJJbmRleGVzOigpPT5kfSk7dmFyIHMsbz1pKDk2OTE2OCksbj1pKDY4MjM4MSk7ZnVuY3Rpb24gYShlLHQpe3JldHVybiBlPT09dD8wOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc/LTE6MX1mdW5jdGlvbiBsKGUpe3JldHVybiBBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pOm5vdChbdGFiaW5kZXg9Ii0xIl0pLCBbdGFiaW5kZXhdOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW3RhYmluZGV4PSItMSJdKScpKS5maWx0ZXIoKDAsbi5jcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcikoZSkpfWZ1bmN0aW9uIHIoZSl7CnJldHVybiBBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pOm5vdChbYXJpYS1kaXNhYmxlZD0iIl0pLCBbdGFiaW5kZXhdOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW2FyaWEtZGlzYWJsZWQ9IiJdKScpKS5maWx0ZXIoKDAsbi5jcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcikoZSkpfWZ1bmN0aW9uIGQoKXt3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImtleWJvYXJkLW5hdmlnYXRpb24tYWN0aXZhdGlvbiIse2J1YmJsZXM6ITB9KSl9ZnVuY3Rpb24gdShlKXtjb25zdCB0PSgwLG8uaXNSdGwpKCk7c3dpdGNoKGUpe2Nhc2UgMzg6cmV0dXJuImJsb2NrUHJldiI7Y2FzZSA0MDpyZXR1cm4iYmxvY2tOZXh0IjtjYXNlIDM3OnJldHVybiB0PyJpbmxpbmVOZXh0IjoiaW5saW5lUHJldiI7Y2FzZSAzOTpyZXR1cm4gdD8iaW5saW5lUHJldiI6ImlubGluZU5leHQiO2RlZmF1bHQ6cmV0dXJuIG51bGx9fSFmdW5jdGlvbihlKXtlLkJsb2NrUHJldj0iYmxvY2tQcmV2IixlLkJsb2NrTmV4dD0iYmxvY2tOZXh0IixlLklubGluZVByZXY9ImlubGluZVByZXYiLGUuSW5saW5lTmV4dD0iaW5saW5lTmV4dCJ9KHN8fChzPXt9KSl9LDg1ODAzNyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRBY3Rpb25zOigpPT5wfSk7dmFyIHM9aSg3Nzk0NzQpLG89aSgxODUyNzEpLG49aSg3MTIxMzQpLGE9aSg0MzE4MjMpLGw9aSg1MDkwNCkscj1pKDkxOTk4NSksZD1pKDY0MzkwMyksdT1pKDM4NjkzMSksYz1pKDYyMTkyNiksaD1pKDY3NDE5KTtmdW5jdGlvbiBwKGUsdCxwLF8pe2NvbnN0IGc9ZnVuY3Rpb24oZSx0LHIscCl7Y29uc3QgXz1vLnQobnVsbCx2b2lkIDAsaSgzMDgzOSkpLmZvcm1hdCh7c3ltYm9sOigwLGQuc2FmZVNob3J0TmFtZSkodCl9KSxnPWUuZ2V0U3ltYm9sQ29sb3IodCl8fHZvaWQgMCxtPXt9LGI9bi5MSVNUX0NPTE9SUy5tYXAoKGU9Pntjb25zdCB0PW5ldyBsLkFjdGlvbih7YWN0aW9uSWQ6IldhdGNobGlzdC5DaGFuZ2VGbGFnZ2VkR3JvdXBDb2xvciIsb3B0aW9uczp7bGFiZWw6KDAsaC5mbGFnZ2VkU3ltYm9sQ29sb3JOYW1lKShlKSxvbkV4ZWN1dGU6KCk9PnYoZSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ZT09PWd9fSk7cmV0dXJuIG1bZV09dCx0fSkpLHY9aT0+e3AoKSwoMCxjLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKCgoKT0+e3Iuc2V0Q29sb3IoaSksZS5zZXRTeW1ib2xzQ29sb3IoW3RdLHIuZ2V0Q29sb3IoKSksKDAsdS50cmFja0V2ZW50KSgiV2F0Y2hsaXN0IiwiQ29udGV4dCBtZW51IiwiRmxhZyIpLG4uTElTVF9DT0xPUlMuZm9yRWFjaCgoZT0+e21bZV0udXBkYXRlKHtjaGVja2VkOmU9PT1yLmdldENvbG9yKCl9KX0pKX0pLHtmZWF0dXJlOiJmbGFnZ2VkU3ltYm9sc0NvbG9ycyIsc291cmNlOiJTZXQgc3ltYm9sIGNvbG9yIn0pfSxmPXtkb05vdENsb3NlT25DbGljazohMH07cmV0dXJuW25ldyBsLkFjdGlvbih7YWN0aW9uSWQ6IldhdGNobGlzdC5GbGFnU3ltYm9sIixvcHRpb25zOntsYWJlbDpfLG9uRXhlY3V0ZTooKT0+dihyLmdldENvbG9yKCkpfX0pLG5ldyBsLkFjdGlvbih7YWN0aW9uSWQ6IldhdGNobGlzdC5DaGFuZ2VGbGFnZ2VkR3JvdXBDb2xvciIsb3B0aW9uczp7Li4uZixsYWJlbDpvLnQobnVsbCx2b2lkIDAsaSg5NjE2MTQpKSxzdWJJdGVtczpifSxjdXN0b21BY3Rpb25PcHRpb25zOnsuLi5mLGpzeExhYmVsOnMuY3JlYXRlRWxlbWVudChhLkxhYmVsQ29sb3JTZWxlY3Rvcix7dmFsdWU6ZyxvbkNoYW5nZTp2fSl9fSldfShlLHQscCxfKTtyZXR1cm4gbnVsbCE9PWUuZ2V0U3ltYm9sQ29sb3IodCkmJmcucHVzaChmdW5jdGlvbihlLHQpe3JldHVybiBuZXcgbC5BY3Rpb24oe2FjdGlvbklkOiJXYXRjaGxpc3QuVW5mbGFnU3ltYm9sIixvcHRpb25zOntsYWJlbDpvLnQobnVsbCx2b2lkIDAsaSg2OTIxKSkuZm9ybWF0KHtzeW1ib2w6KDAsZC5zYWZlU2hvcnROYW1lKSh0KX0pLG9uRXhlY3V0ZTooKT0+e2Uuc2V0U3ltYm9sc0NvbG9yKFt0XSxudWxsKSwoMCx1LnRyYWNrRXZlbnQpKCJXYXRjaGxpc3QiLCJDb250ZXh0IG1lbnUiLCJVbmZsYWciKX19fSl9KGUsdCkpLGcucHVzaChmdW5jdGlvbihlKXtyZXR1cm4gbmV3IGwuQWN0aW9uKHthY3Rpb25JZDoiV2F0Y2hsaXN0LlVuZmxhZ0FsbFN5bWJvbHMiLG9wdGlvbnM6e2xhYmVsOm8udChudWxsLHZvaWQgMCxpKDMzMjc1MykpLG9uRXhlY3V0ZTooKT0+eygwLHIuc2hvd1VuZmxhZ0FsbFN5bWJvbHNDb25maXJtKSgoKCk9PntlLmNsZWFyQWxsU3ltYm9sc0NvbG9yKCl9KSksKDAsdS50cmFja0V2ZW50KSgiV2F0Y2hsaXN0IiwiQ29udGV4dCBtZW51IiwiVW5mbGFnIGFsbCIpfX19KX0oZSkpLGd9fSwzMDY2MDEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q29sb3JTZWxlY3RvcjooKT0+eX0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoNzEyMTM0KSxuPWkoMjM1NzI0KSxhPWkoMTQ5MzY0KSxsPWkoOTgzNjE2KSxyPWkoMzI5NjY4KSxkPWkoOTE0NDg3KSx1PWkubihkKSxjPWkoNjU4NDYpLGg9aSgyNzMzMTApLHA9aSgxODUyNzEpLF89aSg0NDA3MTUpLGc9aSgxODIzMDgpLG09aSgyNzQ4NTEpLGI9aSgyMDMzMDkpLHY9aSg3NTE4NjMpO2NvbnN0IGY9KDAsYy5tYWtlU3dpdGNoR3JvdXBJdGVtKSgoZnVuY3Rpb24oZSl7Y29uc3R7Y2xhc3NOYW1lOnQsdmFsdWU6bj1vLkxpc3RDb2xvci5SZWQsbmFtZTphLGNoZWNrZWQ6bH09ZSxbcixkXT0oMCxnLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkobnVsbCksYz0oMCxzLnVzZUNvbnRleHQpKF8uQ29udGV4dE1lbnVDb250ZXh0KSxmPWM/LnR5cGU/PyJtZW51IixTPW47cmV0dXJuIHMuY3JlYXRlRWxlbWVudCgibGFiZWwiLHtyZWY6cix0YWJJbmRleDpkLGNsYXNzTmFtZTp1KCkodCx2LndyYXAsImRyYXdlciI9PT1mJiZ2LmxhcmdlKSwiZGF0YS1jb2xvciI6Uyxyb2xlOiJtZW51aXRlbSIsImFyaWEtbGFiZWwiOnAudChudWxsLHtyZXBsYWNlOntjb2xvcjpTfX0saSg1MDY5MTUpKSwKImFyaWEtY2hlY2tlZCI6bH0scy5jcmVhdGVFbGVtZW50KCJpbnB1dCIse2NsYXNzTmFtZTp2LmlucHV0LHR5cGU6InJhZGlvIixuYW1lOmEsdmFsdWU6bixjaGVja2VkOmwsb25DaGFuZ2U6ZS5vbkNoYW5nZSxvbkNsaWNrOmw/ZnVuY3Rpb24oKXtlLm9uQ2xpY2tJZkNoZWNrZWQmJmUub25DbGlja0lmQ2hlY2tlZChuKX06dm9pZCAwfSkscy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dSgpKHYuYm94LHZbU10sImRyYXdlciI9PT1mJiZ2LmxhcmdlKX0sbD9zLmNyZWF0ZUVsZW1lbnQoaC5JY29uLHtpY29uOm19KTpzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2LnBpY2tlckRvdH0scy5jcmVhdGVFbGVtZW50KGguSWNvbix7Y2xhc3NOYW1lOnYuaG92ZXJEb3QsaWNvbjpifSkpKSl9KSksUz1bMzksMzcsMTMsMzIsMjddO2Z1bmN0aW9uIHkoZSl7Y29uc3R7YnV0dG9uQ2xhc3NOYW1lOnQsdmFsdWU6aSxvblNlbGVjdGVkQ2xpY2s6ZCxmcm9tS2V5Ym9hcmQ6dX09ZSxjPSgwLHMudXNlUmVmKShudWxsKSxoPSgwLHMudXNlQ2FsbGJhY2spKChlPT57aWYoIWMuY3VycmVudHx8ZS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtjb25zdCB0PSgwLG4uaGFzaEZyb21FdmVudCkoZSk7aWYoIVMuaW5jbHVkZXModCkpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKTtjb25zdCBzPSgwLGwucXVlcnlGb2N1c2FibGVFbGVtZW50cykoYy5jdXJyZW50KS5zb3J0KGwubmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvciksYT1zLmZpbmRJbmRleCgoZT0+ZT09PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKTtpZigtMT09PWEpcmV0dXJuO2NvbnN0IGQ9c1thXTtsZXQgdTtzd2l0Y2godCl7Y2FzZSAxMzpjYXNlIDMyOl8oZC5kYXRhc2V0LmNvbG9yfHxvLkxpc3RDb2xvci5SZWQpO2JyZWFrO2Nhc2UgMjc6XyhpKX1zd2l0Y2goKDAsbC5tYXBLZXlDb2RlVG9EaXJlY3Rpb24pKHQpKXtjYXNlImlubGluZU5leHQiOnU9c1thKzFdfHxzWzBdO2JyZWFrO2Nhc2UiaW5saW5lUHJldiI6dT1zW2EtMV18fHNbcy5sZW5ndGgtMV19dSBpbnN0YW5jZW9mIEhUTUxMYWJlbEVsZW1lbnQmJigoMCxyLmJlY29tZVNlY29uZGFyeUVsZW1lbnQpKGQpLCgwLHIuYmVjb21lTWFpbkVsZW1lbnQpKHUpLHUuZm9jdXMoKSl9KSxbXSk7KDAscy51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2lmKCF1KXJldHVybjtjb25zdCBlPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsdD1jLmN1cnJlbnQ7aWYoIXQpcmV0dXJuO2NvbnN0W2ldPSgwLGwucXVlcnlGb2N1c2FibGVFbGVtZW50cykodCkuc29ydChsLm5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3IpO3JldHVybiBpPygoMCxyLmJlY29tZU1haW5FbGVtZW50KShpKSxpLmZvY3VzKCksKCk9PntlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJmUuZm9jdXMoKX0pOnZvaWQgMH0pLFtdKTtjb25zdCBwPW8uTElTVF9DT0xPUlMubWFwKCgoZSxpKT0+cy5jcmVhdGVFbGVtZW50KGYse2tleTppLGNsYXNzTmFtZTp0LG9uQ2xpY2tJZkNoZWNrZWQ6ZCx2YWx1ZTplfSkpKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJtZW51Iix7cmVmOmMsb25LZXlEb3duOmh9LHMuY3JlYXRlRWxlbWVudChhLlN3aXRjaEdyb3VwLHtuYW1lOiJjb2xvci1zZWxlY3RvciIsb25DaGFuZ2U6Xyx2YWx1ZXM6dm9pZCAwIT09aT9baV06W119LHApKTtmdW5jdGlvbiBfKHQpe2Uub25DaGFuZ2UmJnZvaWQgMCE9PXQmJmUub25DaGFuZ2UodCl9fX0sNjc0MTkoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7ZmxhZ2dlZFN5bWJvbENvbG9yTmFtZTooKT0+bn0pO3ZhciBzPWkoNzEyMTM0KSxvPWkoMTg1MjcxKTtmdW5jdGlvbiBuKGUpe3N3aXRjaChlKXtjYXNlIHMuTGlzdENvbG9yLlJlZDpyZXR1cm4gby50KG51bGwsdm9pZCAwLGkoNjU1MDQyKSk7Y2FzZSBzLkxpc3RDb2xvci5HcmVlbjpyZXR1cm4gby50KG51bGwsdm9pZCAwLGkoNjgyNjY5KSk7Y2FzZSBzLkxpc3RDb2xvci5CbHVlOnJldHVybiBvLnQobnVsbCx2b2lkIDAsaSg2MzgxKSk7Y2FzZSBzLkxpc3RDb2xvci5PcmFuZ2U6cmV0dXJuIG8udChudWxsLHZvaWQgMCxpKDk3MTI4MykpO2Nhc2Ugcy5MaXN0Q29sb3IuUHVycGxlOnJldHVybiBvLnQobnVsbCx2b2lkIDAsaSg2NzA5MjMpKTtjYXNlIHMuTGlzdENvbG9yLkN5YW46cmV0dXJuIG8udChudWxsLHZvaWQgMCxpKDE0Njg0KSk7Y2FzZSBzLkxpc3RDb2xvci5QaW5rOnJldHVybiBvLnQobnVsbCx2b2lkIDAsaSg2NzY3NjgpKX19fSw0MzE4MjMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7TGFiZWxDb2xvclNlbGVjdG9yOigpPT5sfSk7dmFyIHM9aSg3Nzk0NzQpLG89aSgzMDY2MDEpLG49aSg1MTg3NSksYT1pKDU1ODg3Myk7Y2xhc3MgbCBleHRlbmRzIHMuUHVyZUNvbXBvbmVudHtyZW5kZXIoKXtjb25zdHt2YWx1ZTplfT10aGlzLnByb3BzO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YS53cmFwcGVyfSxzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YS5idXR0b25zLG9uQ2xpY2s6bi5wcmV2ZW50RGVmYXVsdH0scy5jcmVhdGVFbGVtZW50KG8uQ29sb3JTZWxlY3Rvcix7YnV0dG9uQ2xhc3NOYW1lOmEuY29sb3JTZWxlY3RCdXR0b24sdmFsdWU6ZSxvbkNoYW5nZTp0aGlzLl9vbkNoYW5nZSxvblNlbGVjdGVkQ2xpY2s6dGhpcy5fb25DaGFuZ2V9KSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9vbkNoYW5nZT1lPT57dGhpcy5wcm9wcy5vbkNoYW5nZShlKX19fX0sODM0MTg4KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1BvcHVwQ29sb3JTZWxlY3RvcjooKT0+eX0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoNjA3ODMyKSxuPWkoNjA5NTI4KSxhPWkoNDA2MTEwKSxsPWkoMzEzNzcyKSxyPWkoOTY0MjE0KSxkPWkoMzIzODMwKSx1PWkoNDQwNzE1KSxjPWkoOTY5MTY4KSxoPWkoNTg1NDgpLHA9aSgzMDY2MDEpLF89aSgzNjMyNjkpLGc9aSg1NTg5NzIpO2NsYXNzIG0gZXh0ZW5kcyBzLlB1cmVDb21wb25lbnR7Y29tcG9uZW50RGlkTW91bnQoKXsKZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiYoXy5tb2JpbGV0b3VjaD9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5fb25Ub3VjaFN0YXJ0KToodGhpcy5wcm9wcy5lbGVtLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uVGFyZ2V0TW91c2VMZWF2ZSksZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMucHJvcHMuaGlkZSkpKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmKF8ubW9iaWxldG91Y2g/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hTdGFydCk6dGhpcy5wcm9wcy5lbGVtJiYodGhpcy5wcm9wcy5lbGVtLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uVGFyZ2V0TW91c2VMZWF2ZSksZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5wcm9wcy5oaWRlKSkpfXJlbmRlcigpe2NvbnN0IGU9e3RvcDowfTtpZih0aGlzLnByb3BzLmVsZW0pe2NvbnN0IHQ9dGhpcy5wcm9wcy5lbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2UudG9wPXQudG9wK3QuaGVpZ2h0LzIsKDAsYy5pc1J0bCkoKT9lLnJpZ2h0PXdpbmRvdy5pbm5lcldpZHRoLXQubGVmdDplLmxlZnQ9dC5sZWZ0K3Qud2lkdGh9ZWxzZSBlLmxlZnQ9MDtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGguUG9ydGFsLG51bGwscy5jcmVhdGVFbGVtZW50KCJkaXYiLHtzdHlsZTplLGNsYXNzTmFtZTpnLnBvcHVwLHJlZjp0aGlzLl9zZXRQb3BVcEVsZW0sb25Nb3VzZUxlYXZlOl8ubW9iaWxldG91Y2g/dm9pZCAwOnRoaXMuX29uUG9wVXBNb3VzZUxlYXZlfSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnLndyYXBwZXJ9LHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmcuc2VsZWN0b3J9LHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmcuYXJyb3dMZWZ0fSkscy5jcmVhdGVFbGVtZW50KHAuQ29sb3JTZWxlY3Rvcix7YnV0dG9uQ2xhc3NOYW1lOmcuY29sb3JTZWxlY3RCdXR0b24sdmFsdWU6dGhpcy5wcm9wcy5jdXJyZW50Q29sb3IsZnJvbUtleWJvYXJkOnRoaXMucHJvcHMuZnJvbUtleWJvYXJkLG9uQ2hhbmdlOnRoaXMuX29uQ2hhbmdlfSkpKSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9wb3BVcEVsZW09bnVsbCx0aGlzLl9vbkNoYW5nZT1lPT57dGhpcy5wcm9wcy5vblNlbGVjdENvbG9yKGUpLHRoaXMucHJvcHMuaGlkZSgpfSx0aGlzLl9vblRhcmdldE1vdXNlTGVhdmU9ZT0+e2NvbnN0IHQ9ISFlLnJlbGF0ZWRUYXJnZXQubm9kZU5hbWUsaT1lLnJlbGF0ZWRUYXJnZXQ9PT10aGlzLl9wb3BVcEVsZW0scz10aGlzLl9wb3BVcEVsZW0mJnQmJnRoaXMuX3BvcFVwRWxlbS5jb250YWlucyhlLnJlbGF0ZWRUYXJnZXQpO2l8fHN8fHRoaXMucHJvcHMuaGlkZSgpfSx0aGlzLl9vblBvcFVwTW91c2VMZWF2ZT1lPT57Y29uc3QgdD0hIWUubmF0aXZlRXZlbnQucmVsYXRlZFRhcmdldC5ub2RlTmFtZSxpPWUubmF0aXZlRXZlbnQucmVsYXRlZFRhcmdldD09PXRoaXMucHJvcHMuZWxlbSxzPXQmJnRoaXMucHJvcHMuZWxlbS5jb250YWlucyhlLm5hdGl2ZUV2ZW50LnJlbGF0ZWRUYXJnZXQpO2l8fHN8fHRoaXMucHJvcHMuaGlkZSgpfSx0aGlzLl9vblRvdWNoU3RhcnQ9ZT0+e2NvbnN0IHQ9ISFlLnRhcmdldC5ub2RlTmFtZSxpPWUudGFyZ2V0PT09dGhpcy5wcm9wcy5lbGVtLHM9ZS50YXJnZXQ9PT10aGlzLl9wb3BVcEVsZW0sbz10JiZ0aGlzLnByb3BzLmVsZW0uY29udGFpbnMoZS50YXJnZXQpLG49dGhpcy5fcG9wVXBFbGVtJiZ0JiZ0aGlzLl9wb3BVcEVsZW0uY29udGFpbnMoZS50YXJnZXQpO2l8fG98fHN8fG58fHRoaXMucHJvcHMuaGlkZSgpfSx0aGlzLl9zZXRQb3BVcEVsZW09ZT0+e3RoaXMuX3BvcFVwRWxlbT1lfX19ZnVuY3Rpb24gYihlKXtjb25zdHthY3Rpb25zOnQsLi4uaX09ZTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGEuTWF0Y2hNZWRpYSx7cnVsZTpuLkRpYWxvZ0JyZWFrcG9pbnRzLlRhYmxldFNtYWxsfSwoZT0+ZSYmdD9zLmNyZWF0ZUVsZW1lbnQobC5EcmF3ZXJNYW5hZ2VyLG51bGwscy5jcmVhdGVFbGVtZW50KHUuQ29udGV4dE1lbnVDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp7dHlwZToiZHJhd2VyIn19LHMuY3JlYXRlRWxlbWVudChyLkRyYXdlcix7b25DbG9zZTppLmhpZGUscG9zaXRpb246IkJvdHRvbSJ9LHMuY3JlYXRlRWxlbWVudChkLkNvbnRleHRNZW51TGlzdCx7aXRlbXM6dH0pKSkpOnMuY3JlYXRlRWxlbWVudChtLHsuLi5pfSkpKX12YXIgdj1pKDU3MTMwMCk7bGV0IGY9bnVsbCxTPW51bGw7dmFyIHk7IWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXtmJiZTPy51bm1vdW50KCl9ZS5zaG93PWZ1bmN0aW9uKGUpe2Z8fChmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKSx0KCksUz0oMCx2LmNyZWF0ZVJlYWN0Um9vdCkocy5jcmVhdGVFbGVtZW50KG8uU2xvdENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOmUubWFuYWdlcnx8bnVsbH0scy5jcmVhdGVFbGVtZW50KGIsey4uLmUsaGlkZTp0fSkpLGYpfSxlLmhpZGU9dH0oeXx8KHk9e30pKX0sMTI5MzMzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1N5bWJvbE1hcmtlcjooKT0+dSxjcmVhdGVTeW1ib2xNYXJrZXJTdGFuZGFsb25lOigpPT5ofSk7aSg4MjkxODApO3ZhciBzPWkoODI5NzYzKSxvPWkoODMxNTI3KSxuPWkoODM0MTg4KSxhPWkoMjQzNjMxKSxsPWkoNjA5NTI4KSxyPWkoODU4MDM3KSxkPWkoNjIxOTI2KTtjbGFzcyB1e3VwZGF0ZVN1YnNjcmlwdGlvbigpe3RoaXMuX3NldFN0YXRlKHRoaXMuX3NlcnZpY2UuZ2V0U3ltYm9sQ29sb3IodGhpcy5fc3ltYm9sKSl9YmluZFRvKGUsdCl7dGhpcy5fc2VydmljZS5vZmZTeW1ib2xDaGFuZ2UodGhpcy5fc3ltYm9sLHRoaXMuX29uQ2hhbmdlKSx0aGlzLl9zeW1ib2w9ZSx0aGlzLl91aW1hcmtlci5hcHBlbmRUbyh0KSwKdGhpcy5fc2V0U3RhdGUodGhpcy5fc2VydmljZS5nZXRTeW1ib2xDb2xvcihlKSksdGhpcy5fc2VydmljZS5vblN5bWJvbENoYW5nZShlLHRoaXMuX29uQ2hhbmdlKX11bmJpbmQoKXt0aGlzLl9zZXJ2aWNlLm9mZlN5bWJvbENoYW5nZSh0aGlzLl9zeW1ib2wsdGhpcy5fb25DaGFuZ2UpLHRoaXMuX3VpbWFya2VyLmRldGFjaCgpfWdldEVsZW0oKXtyZXR1cm4gdGhpcy5fdWltYXJrZXIuZ2V0RWxlbSgpfWlzTWFya2VkKCl7cmV0dXJuIG51bGwhPT10aGlzLl9jb2xvcn1zZXRDbGFzc05hbWUoZSl7dGhpcy5fdWltYXJrZXIuZ2V0RWxlbSgpLmNsYXNzTGlzdC5yZW1vdmUoLi4udGhpcy5fY2xhc3NlcyksdGhpcy5fY2xhc3Nlcz1lLnNwbGl0KCIgIikuZmlsdGVyKEJvb2xlYW4pLHRoaXMuX3VpbWFya2VyLmdldEVsZW0oKS5jbGFzc0xpc3QuYWRkKC4uLnRoaXMuX2NsYXNzZXMpfWRlc3Ryb3koKXt0aGlzLnVuYmluZCgpLGRlbGV0ZSB0aGlzLl91aW1hcmtlcixkZWxldGUgdGhpcy5fb3B0c310b2dnbGUoZSl7dGhpcy5fb25DbGljayhlKX1fc2V0U3RhdGUoZSl7Y29uc3QgdD10aGlzLmlzTWFya2VkKCk7dGhpcy5fY29sb3I9ZSxudWxsIT09dGhpcy5fY29sb3I/KHRoaXMuX3VpbWFya2VyLnNldENvbG9yKHRoaXMuX2NvbG9yKSx0aGlzLl9hZGRBY3RpdmVDbGFzc05hbWUoKSk6KHRoaXMuX3VpbWFya2VyLnJlbW92ZUNvbG9yKCksdGhpcy5fcmVtb3ZlQWN0aXZlQ2xhc3NOYW1lKCkpLHZvaWQgMCE9PXRoaXMuX29wdHMub25NYXJrZWRDaGFuZ2VkJiZ0IT09dGhpcy5pc01hcmtlZCgpJiZ0aGlzLl9vcHRzLm9uTWFya2VkQ2hhbmdlZCgpfV9hZGRBY3RpdmVDbGFzc05hbWUoKXt0aGlzLl9vcHRzLmFjdGl2ZUNsYXNzTmFtZSYmdGhpcy5fdWltYXJrZXIuYWRkQ2xhc3ModGhpcy5fb3B0cy5hY3RpdmVDbGFzc05hbWUpfV9yZW1vdmVBY3RpdmVDbGFzc05hbWUoKXt0aGlzLl9vcHRzLmFjdGl2ZUNsYXNzTmFtZSYmdGhpcy5fdWltYXJrZXIucmVtb3ZlQ2xhc3ModGhpcy5fb3B0cy5hY3RpdmVDbGFzc05hbWUpfWNvbnN0cnVjdG9yKGUpe3RoaXMuX3NlcnZpY2U9KDAsby5nZXRNYXJrZWRTeW1ib2xzTGlzdFNlcnZpY2VJbnN0YW5jZSkoKSx0aGlzLl9jb2xvck1hbmFnZXI9bmV3IGEuQ29sb3JNYW5hZ2VyKHtjb250ZXh0OmEuQ29sb3JDb250ZXh0LlN5bWJvbE1hcmtlcn0pLHRoaXMuX2NsYXNzZXM9W10sdGhpcy5fb25DbGljaz1lPT57ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IHQ9KCk9Pntjb25zdCB0PSgwLHIuZ2V0QWN0aW9ucykodGhpcy5fc2VydmljZSx0aGlzLl9zeW1ib2wsdGhpcy5fY29sb3JNYW5hZ2VyLG4uUG9wdXBDb2xvclNlbGVjdG9yLmhpZGUpLGk9dGhpcy5fY29sb3JNYW5hZ2VyLmdldENvbG9yKCkscz17ZWxlbTp0aGlzLl91aW1hcmtlci5nZXRFbGVtKCksY3VycmVudENvbG9yOmksb25TZWxlY3RDb2xvcjp0aGlzLl9vblNlbGVjdENvbG9yLGFjdGlvbnM6dCxtYW5hZ2VyOnRoaXMuX29wdHMubWFuYWdlcixmcm9tS2V5Ym9hcmQ6ZSBpbnN0YW5jZW9mIEtleWJvYXJkRXZlbnR9O3dpbmRvdy5tYXRjaE1lZGlhKGwuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGwpLm1hdGNoZXM/bi5Qb3B1cENvbG9yU2VsZWN0b3Iuc2hvdyhzKTpudWxsPT09dGhpcy5fY29sb3I/KG4uUG9wdXBDb2xvclNlbGVjdG9yLnNob3cocyksdGhpcy5fc2VydmljZS5zZXRTeW1ib2xzQ29sb3IoW3RoaXMuX3N5bWJvbF0saSkpOihuLlBvcHVwQ29sb3JTZWxlY3Rvci5oaWRlKCksdGhpcy5fc2VydmljZS5zZXRTeW1ib2xzQ29sb3IoW3RoaXMuX3N5bWJvbF0sbnVsbCkpfSxpPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkOygwLGQucnVuT3JTaWduaW5XaXRoRmVhdHVyZSkoKCgpPT57aSYmKHRoaXMuX29wdHMub25DbGljaz90aGlzLl9vcHRzLm9uQ2xpY2sodGhpcy5fc3ltYm9sLHQpOnQoKSl9KSx7ZmVhdHVyZToiZmxhZ2dlZFN5bWJvbHNDb2xvcnMiLHNvdXJjZToiU2V0IHN5bWJvbCBjb2xvciJ9KX0sdGhpcy5fb25TZWxlY3RDb2xvcj1lPT57dGhpcy5fY29sb3JNYW5hZ2VyLnNldENvbG9yKGUpLHRoaXMuX3NlcnZpY2Uuc2V0U3ltYm9sc0NvbG9yKFt0aGlzLl9zeW1ib2xdLHRoaXMuX2NvbG9yTWFuYWdlci5nZXRDb2xvcigpKX0sdGhpcy5fb25EYmxDbGljaz1lPT57ZS5wcmV2ZW50RGVmYXVsdCgpfSx0aGlzLl9vbkNoYW5nZT0oKT0+e3RoaXMuX3NldFN0YXRlKHRoaXMuX3NlcnZpY2UuZ2V0U3ltYm9sQ29sb3IodGhpcy5fc3ltYm9sKSl9LHRoaXMuX29wdHM9ZSx0aGlzLl9zeW1ib2w9ZS5zeW1ib2wsdGhpcy5fY29sb3I9ZS5jb2xvcnx8dGhpcy5fc2VydmljZS5nZXRTeW1ib2xDb2xvcih0aGlzLl9zeW1ib2wpLHRoaXMuX3VpbWFya2VyPW5ldyBzLlVpTWFya2VyKHtjb2xvcjp0aGlzLl9jb2xvcixjb250YWluZXI6ZS5jb250YWluZXIsb25DbGljazp0aGlzLl9vbkNsaWNrLG9uRGJsQ2xpY2s6dGhpcy5fb25EYmxDbGljayxzcGVjaWFsSW1hZ2U6ZS5zcGVjaWFsSW1hZ2V9KSxlLmNsYXNzTmFtZSYmdGhpcy5zZXRDbGFzc05hbWUoZS5jbGFzc05hbWUpLG51bGwhPT10aGlzLl9jb2xvciYmdGhpcy5fYWRkQWN0aXZlQ2xhc3NOYW1lKCksdGhpcy5fc2VydmljZS5vblN5bWJvbENoYW5nZSh0aGlzLl9zeW1ib2wsdGhpcy5fb25DaGFuZ2UpfX1jbGFzcyBjIGV4dGVuZHMgdXtkZXN0cm95KCl7dGhpcy5fc2VydmljZS5vZmZJbml0KHRoaXMuX29uSW5pdCksc3VwZXIuZGVzdHJveSgpfWNvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX29uSW5pdD0oKT0+e3RoaXMudXBkYXRlU3Vic2NyaXB0aW9uKCl9LHRoaXMuX3NlcnZpY2Uub25Jbml0KHRoaXMuX29uSW5pdCl9fWZ1bmN0aW9uIGgoZSl7cmV0dXJuIG5ldyBjKGUpfX0sNjE2MzExKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3VzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3Q6KCk9Pm99KTt2YXIgcz1pKDc3OTQ3NCk7ZnVuY3Rpb24gbyhlLHQpeygidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz9zLnVzZUVmZmVjdDpzLnVzZUxheW91dEVmZmVjdCkoZSx0KX19LDk0NzE2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQsewpNZXRhSW5mb0hlbHBlcjooKT0+dX0pO3ZhciBzPWkoMTM4NjM4KSxvPWkoMjIxMDYxKSxuPWkoNjAxODQxKSxhPWkoNjI4MDYpLGw9aSg3OTE0MjcpLHI9aSgyNTA0NjcpO2NvbnN0IGQ9KDAsby5nZXRMb2dnZXIpKCJNZXRhSW5mb0hlbHBlciIpO2NsYXNzIHV7Y29uc3RydWN0b3IoZSl7dGhpcy5fbWV0YUluZm89ZX1oYXNVc2VyRWRpdGFibGVJbnB1dHMoKXtyZXR1cm4gdGhpcy5fbWV0YUluZm8uaW5wdXRzLnNvbWUoYS51c2VyRWRpdGFibGVJbnB1dEZpbHRlcil9Z2V0VXNlckVkaXRhYmxlSW5wdXRzKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLmlucHV0cy5maWx0ZXIoYS51c2VyRWRpdGFibGVJbnB1dEZpbHRlcil9aGFzVXNlckVkaXRhYmxlUHJvcGVydGllcygpe3JldHVybiBsLlN0dWR5TWV0YUluZm8uaXNTY3JpcHRTdHJhdGVneSh0aGlzLl9tZXRhSW5mbyl9aGFzVXNlckVkaXRhYmxlU3R5bGVzKGUpe2NvbnN0IHQ9dGhpcy5fbWV0YUluZm87cmV0dXJuIHQucGxvdHMubGVuZ3RoPjB8fHZvaWQgMCE9PXQuYmFuZHN8fHZvaWQgMCE9PXQuZmlsbGVkQXJlYXN8fGUodC5zaG9ydElkKXx8bC5TdHVkeU1ldGFJbmZvLmlzU2NyaXB0U3RyYXRlZ3kodGhpcy5fbWV0YUluZm8pfHxPYmplY3QudmFsdWVzKHQuZ3JhcGhpY3MpLnNvbWUoKGU9PnZvaWQgMCE9PWUpKX1nZXRVc2VyRWRpdGFibGVQbG90cygpe2NvbnN0IGU9bmV3IFNldCx0PXRoaXMuX21ldGFJbmZvO3JldHVybiB0LnBsb3RzLmZpbHRlcigoaT0+e2lmKCgwLHIuaXNDb2xvcmVyUGxvdCkoaSl8fCgwLHIuaXNUZXh0Q29sb3JlclBsb3QpKGkpfHwoMCxyLmlzRGF0YU9mZnNldFBsb3QpKGkpfHwoMCxyLmlzT2hsY0NvbG9yZXJQbG90KShpKXx8KDAsci5pc0FsZXJ0Q29uZGl0aW9uUGxvdCkoaSl8fCgwLHIuaXNEYXRhUGxvdCkoaSkpcmV0dXJuITE7aWYoKDAsci5pc09obGNQbG90KShpKSl7Y29uc3Qgbz1pLnRhcmdldDtpZihlLmhhcyhvKSlyZXR1cm4hMTtlLmFkZChvKTtjb25zdCBuPSgwLHMuZW5zdXJlRGVmaW5lZCkodC5vaGxjUGxvdHMpO3JldHVybiEoMCxzLmVuc3VyZURlZmluZWQpKG5bb10pLmlzSGlkZGVufXtjb25zdCBlPXQuc3R5bGVzP3Quc3R5bGVzW2kuaWRdOnZvaWQgMDtyZXR1cm4gdm9pZCAwPT09ZXx8IWUuaXNIaWRkZW59fSkpfWhhc1VzZXJFZGl0YWJsZU9wdGlvbnMoZSl7cmV0dXJuIHRoaXMuaGFzVXNlckVkaXRhYmxlSW5wdXRzKCl8fHRoaXMuaGFzVXNlckVkaXRhYmxlUHJvcGVydGllcygpfHx0aGlzLmhhc1VzZXJFZGl0YWJsZVN0eWxlcyhlKX1nZXRTdHJhdGVneVByb3BlcnRpZXMoKXtjb25zdCBlPXRoaXMuX21ldGFJbmZvLHQ9ZS5pbnB1dHMuZmlsdGVyKGEuaXNTdHJhdGVneUlucHV0KSxpPXsuLi5jfTtmb3IoY29uc3QgcyBvZiB0KXtjb25zdCB0PXMuaW50ZXJuYWxJRDtpW3RdPXMsYy5oYXNPd25Qcm9wZXJ0eSh0KXx8ZC5sb2dXYXJuKGBVbmtub3duIHN0cmF0ZWd5IGlucHV0IGludGVybmFsIGlkICR7dH0gaW4gJHtlLmZ1bGxJZH1gKX1yZXR1cm4oMCxuLmNsb25lKShpKX19Y29uc3QgYz17W2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5DdXJyZW5jeV06dm9pZCAwLFthLlN0dWR5U3RyYXRlZ3lJbnB1dEludGVybmFsSUQuQmFja3Rlc3RGaWxsTGltaXRzQXNzdW10aW9uXTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5DYWxjT25FdmVyeVRpY2tdOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELkNhbGNPbk9yZGVyRmlsbHNdOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELkNhbGNPbkhpc3RvcnlCYXJdOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELkNvbWlzc2lvblZhbHVlXTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5Db21pc3Npb25UeXBlXTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5Jbml0aWFsQ2FwaXRhbF06dm9pZCAwLFthLlN0dWR5U3RyYXRlZ3lJbnB1dEludGVybmFsSUQuUHlyYW1pZGluZ106dm9pZCAwLFthLlN0dWR5U3RyYXRlZ3lJbnB1dEludGVybmFsSUQuU2xpcHBhZ2VdOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELkRlZmF1bHRRVFlUeXBlXTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5EZWZhdWx0UVRZVmFsdWVdOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELk1hcmdpbkxvbmddOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELk1hcmdpblNob3J0XTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5CYXJEZXRhbGl6YXRpb25dOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELlByb2Nlc3NPcmRlcnNPbkNsb3NlXTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5GaWxsT3JkZXJzT25TdGFuZGFyZE9ITENdOnZvaWQgMH19LDEyODgxNChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtRdW90ZVNlc3Npb25TbmFwc2hvdGVyOigpPT5jfSk7dmFyIHM9aSg5NDgzODApLG89aSgxNTAxNTApLG49aSgyMTQ5ODcpLGE9aSgxMzg2MzgpLGw9aSgzNjc5NDYpLHI9aSg5NzA3NzQpLGQ9aSgzMDkwNTIpO2NvbnN0IHU9bmV3IE1hcChbWyJjaGFuZ2UiLCJjaCJdLFsibGFzdF9wcmljZSIsImxwIl0sWyJjaGFuZ2VfcGVyY2VudCIsImNocCJdLFsidXBkYXRlX21vZGVfc2Vjb25kcyIsbnVsbF1dKTtuZXcgTWFwKFtbImNoIiwiY2hhbmdlIl0sWyJscCIsImxhc3RfcHJpY2UiXSxbImNocCIsImNoYW5nZV9wZXJjZW50Il1dKTtjbGFzcyBje2NvbnN0cnVjdG9yKGUpe2lmKHRoaXMuX29uU3ltYm9sRGF0YT1uZXcgcy5EZWxlZ2F0ZSx0aGlzLl9pbmNvbXBsZXRlPW5ldyBTZXQsdGhpcy5fdXBkYXRlZEZpZWxkcz1uZXcgTWFwLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLl9iYXRjaGVyPW51bGwsdGhpcy5faGFuZGxlcj1lPT57c3dpdGNoKGUubWV0aG9kKXtjYXNlImNvbm5lY3RlZCI6dGhpcy5fY29ubmVjdGVkfHwodGhpcy5fY29ubmVjdGVkPSEwLAp0aGlzLl9oYW5kbGVDb25uZWN0ZWQoKSk7YnJlYWs7Y2FzZSJxdW90ZV9zeW1ib2xfZGF0YSI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVTeW1ib2xEYXRhKGUucGFyYW1zWzBdKTticmVhaztjYXNlInF1b3RlX2NvbXBsZXRlZCI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVDb21wbGV0ZURhdGEoZS5wYXJhbXNbMF0pO2JyZWFrO2Nhc2UiZGlzY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWQmJih0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsKX19LDA9PT1lLmZpZWxkcy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCdTdXBwb3J0IGZvciBlbXB0eSAiZmllbGRzIiBhcnJheSBpcyBub3QgaW1wbGVtZW50ZWQnKTtjb25zdHtwcm92aWRlcjp0PXIuUXVvdGVTZXNzaW9ufT1lO3RoaXMuX2ZpZWxkcz1uZXcgU2V0KGUuZmllbGRzKSx0aGlzLl9zZXNzaW9uPW5ldyB0KGUuYXBpLFsic25hcHNob3RlciIsZS5uYW1lLCgwLG8ucmFuZG9tSGFzaCkoKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIl8iKSksdGhpcy5fc2Vzc2lvbi5jb25uZWN0KHRoaXMuX2hhbmRsZXIpfWdldFNuYXBzaG90U3luYyhlLHQpe2NvbnN0IGk9Yy5jYWNoZS5nZXQoZSk7cmV0dXJuIGkmJnRoaXMuX2lzU25hcHNob3RSZWFkeShpLHtmaWVsZHM6dCx0aW1lc3RhbXA6bnVsbH0pP2k6bnVsbH1nZXRTbmFwc2hvdHNGb3JBbGxTeW5jKGUsdCl7cmV0dXJuIGUubWFwKChlPT50aGlzLmdldFNuYXBzaG90U3luYyhlLHQpKSl9Z2V0U25hcHNob3QoZSx0LGkpe2NvbnN0IHM9aT8uc2lnbmFsPz9udWxsLG89aT8uZnJlc2huZXNzLGw9dm9pZCAwIT09bz9EYXRlLm5vdygpLW86bnVsbDtyZXR1cm4gbmV3IFByb21pc2UoKChpLG8pPT57aWYocyYmcy5hYm9ydGVkKXRocm93KDAsbi5jcmVhdGVBYm9ydEVycm9yKSgpO2NvbnN0IHI9KCk9Pnt0aGlzLl9vblN5bWJvbERhdGEudW5zdWJzY3JpYmUodGhpcyxkKSxvKCgwLG4uY3JlYXRlQWJvcnRFcnJvcikoKSl9LGQ9KG89ZSk9PntpZihvIT09ZSlyZXR1cm47Y29uc3Qgbj1jLmNhY2hlLmdldChlKTtuJiZ0aGlzLl9pc1NuYXBzaG90UmVhZHkobix7dGltZXN0YW1wOmwsc3ltYm9sOmUsZmllbGRzOnR9KSYmKHRoaXMuX29uU3ltYm9sRGF0YS51bnN1YnNjcmliZSh0aGlzLGQpLHM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixyKSxpKG4pKX07aWYoISgoKT0+e2NvbnN0IHM9Yy5jYWNoZS5nZXQoZSk7aWYoIXMpcmV0dXJuITE7Y29uc3Qgbz0oMCxhLmVuc3VyZU5vdE51bGwpKGMuY2FjaGUuZ2V0VGltZXMoZSkpO3JldHVybiEhdGhpcy5faXNTbmFwc2hvdFJlYWR5KHMse2ZpZWxkczp0LHN5bWJvbDplLHRpbWVzdGFtcDpsLHRpbWVzOm99KSYmKGkocyksITApfSkoKSYmKHM/LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixyLHtvbmNlOiEwfSksdGhpcy5fb25TeW1ib2xEYXRhLnN1YnNjcmliZSh0aGlzLGQpLCF0aGlzLl9pbmNvbXBsZXRlLmhhcyhlKSkpe2lmKHRoaXMuX3VwZGF0ZWRGaWVsZHMuc2V0KGUsbmV3IFNldCksdGhpcy5faW5jb21wbGV0ZS5hZGQoZSksIXRoaXMuX2Nvbm5lY3RlZClyZXR1cm47aWYobnVsbD09PXRoaXMuX2JhdGNoZXIpe2NvbnN0IHQ9dGhpcy5fYmF0Y2hlcj17c3ltYm9sczpuZXcgU2V0KFtlXSkscHJvbWlzZTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e3RoaXMuX2JhdGNoZXI9PT10JiYodGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnQuc3ltYm9sc10pLHRoaXMuX2JhdGNoZXI9bnVsbCl9KSl9fWVsc2UgdGhpcy5fYmF0Y2hlci5zeW1ib2xzLmFkZChlKX19KSl9Z2V0U25hcHNob3RzRm9yQWxsKGUsdCxpKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoKGU9PnRoaXMuZ2V0U25hcHNob3QoZSx0LGkpKSkpfXN0YXRpYyByZWxheChlKXtyZXR1cm4gZX1zdGF0aWMgaXNTdWNjZXNzKGUpe3JldHVybiJlcnJvciIhPT1lLnN0YXR1c31zdGF0aWMgaGFzQWxsRmllbGRzKGUsdCl7Zm9yKGNvbnN0IGkgb2YgQXJyYXkuZnJvbSh0KSlpZighZS5oYXNPd25Qcm9wZXJ0eShpKSlyZXR1cm4hMTtyZXR1cm4hMH1faXNTbmFwc2hvdFJlYWR5KGUsdCl7Y29uc3R7ZmllbGRzOmksdGltZXN0YW1wOnMsdGltZXM6byxzeW1ib2w6bn09dDtyZXR1cm4iZXJyb3IiPT09ZS5zdGF0dXN8fChudWxsIT09cyYmbz90aGlzLl9pc0FsbEZpZWxkc1VwVG9EYXRlKGUsbyxpLHMpOm51bGwhPT1zJiZuP3RoaXMuX2lzQWxsRmllbGRzVXBkYXRlZChlLG4saSk6dGhpcy5faGFzQWxsRmllbGRzKGUsaSkpfV9pc0FsbEZpZWxkc1VwZGF0ZWQoZSx0LGkpe2lmKCJlcnJvciI9PT1lLnN0YXR1cylyZXR1cm4hMDtjb25zdCBzPXRoaXMuX3VwZGF0ZWRGaWVsZHMuZ2V0KHQpO2lmKCFzfHwhcy5zaXplKXJldHVybiExO2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20oaSkpaWYoIXMuaGFzKGUpKXJldHVybiExO3JldHVybiEwfV9oYXNBbGxGaWVsZHMoZSx0KXtyZXR1cm4gYy5oYXNBbGxGaWVsZHMoZS52YWx1ZXMsQXJyYXkuZnJvbSh0KSl9X2lzQWxsRmllbGRzVXBUb0RhdGUoZSx0LGkscyl7aWYoImVycm9yIj09PWUuc3RhdHVzKXJldHVybiEwO2lmKCF0KXJldHVybiExO2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20oaSkpe2NvbnN0IGk9dC5nZXQoZSk7aWYoIXQuaGFzKGUpfHx2b2lkIDA9PT1pKXJldHVybiExO2lmKGk8cylyZXR1cm4hMX1yZXR1cm4hMH1faGFuZGxlQ29ubmVjdGVkKCl7aWYodGhpcy5fZmllbGRzLnNpemU+MCl7Y29uc3QgZT1bLi4udGhpcy5fZmllbGRzXS5mbGF0TWFwKChlPT57Y29uc3QgdD11LmdldChlKTtyZXR1cm4gbnVsbCE9PXQ/dD8/ZTpbXX0pKTt0aGlzLl9zZXNzaW9uLnF1b3RlU2V0RmllbGRzKGUpfXRoaXMuX2luY29tcGxldGUuc2l6ZT4wJiZ0aGlzLl9zZXNzaW9uLnF1b3RlQWRkU3ltYm9scyhbLi4udGhpcy5faW5jb21wbGV0ZV0pfV9oYW5kbGVDb21wbGV0ZURhdGEoZSl7Y29uc3QgdD1jLmNhY2hlLmdldChlKT8/e3N5bWJvbG5hbWU6ZSxzdGF0dXM6Im9rIix2YWx1ZXM6e319O2MuY2FjaGUudXBkYXRlKHQsdGhpcy5fZmllbGRzLCEwKSwKdGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQoZSx0aGlzLl9maWVsZHMpLHRoaXMuX3Nlc3Npb24ucXVvdGVSZW1vdmVTeW1ib2xzKFtlXSksdGhpcy5faW5jb21wbGV0ZS5kZWxldGUoZSksdGhpcy5fb25TeW1ib2xEYXRhLmZpcmUoZSl9X2hhbmRsZVN5bWJvbERhdGEoZSl7KDAsbC5ub3JtYWxpemVVcGRhdGVNb2RlKShlLnZhbHVlcyksYy5jYWNoZS51cGRhdGUoZSx0aGlzLl9maWVsZHMsITEpO2NvbnN0IHQ9ZS5zeW1ib2xuYW1lLGk9KDAsYS5lbnN1cmVEZWZpbmVkKSh0aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KSkscz1uZXcgU2V0KGkpO2Zvcihjb25zdCB0IG9mIHRoaXMuX2ZpZWxkcyllLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eSh0KSYmcy5hZGQodCk7dGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQodCxzKSwiZXJyb3IiPT09ZS5zdGF0dXM/dGhpcy5faGFuZGxlQ29tcGxldGVEYXRhKHQpOnRoaXMuX29uU3ltYm9sRGF0YS5maXJlKHQpfX1jLmNhY2hlPWQuUVVPVEVfRklFTERTX0NBQ0hFfSw2MjM1MTEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUpe2xldCB0PW51bGw7cmV0dXJuKCk9PihudWxsPT09dCYmKHQ9ZSgpKSx0KX1pLmQodCx7bGF6eVZhbHVlOigpPT5zfSl9LDc4ODAxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Nlc3Npb25UaGVuTG9jYWw6KCk9PnMsc2Vzc2lvblRoZW5UdlNldHRpbmdzOigpPT5vfSk7dmFyIHM9e307aS5yKHMpLGkuZChzLHtnZXQ6KCk9PmIsbG9nZ2VyOigpPT5nLHNldDooKT0+bX0pO3ZhciBvPXt9O2kucihvKSxpLmQobyx7Z2V0OigpPT55LGxvZ2dlcjooKT0+ZixzZXQ6KCk9PlN9KTt2YXIgbj1pKDIyMTA2MSksYT1pKDkzMjM2NSk7aWYoNzk3OTU9PWkuail2YXIgbD1pKDIzNzM2OSk7aWYoNzk3OTU9PWkuail2YXIgcj1pKDc3NjE3Myk7dmFyIGQ9aSg4Mzk0MjYpLHU9aSg1NjkzOTgpO2NvbnN0IGM9KDAsbi5nZXRMb2dnZXIpKCJMaWIuU2Vzc2lvblNjb3BlZFNldHRpbmdzIik7Y29uc3QgaD0oMCxkLmRlZmF1bHQpKCgoKT0+e3JldHVybiB2b2lkIDAhPT13aW5kb3cuVFZEP251bGwhPShlPXdpbmRvdy5UVkQuc2Vzc2lvblN0b3JhZ2UpJiYib2JqZWN0Ij09dHlwZW9mIGUmJiJnZXRJdGVtImluIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLmdldEl0ZW0mJiJzZXRJdGVtImluIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLnNldEl0ZW0mJigwLHUuaXNGZWF0dXJlRW5hYmxlZCkoInVzZV9kZXNrdG9wX3Nlc3Npb25fc3RvcmFnZSIpP3dpbmRvdy5UVkQuc2Vzc2lvblN0b3JhZ2U6bnVsbDooMCx1LmlzRmVhdHVyZUVuYWJsZWQpKCJ1c2VfYnJvd3Nlcl9zZXNzaW9uX3N0b3JhZ2UiKT93aW5kb3cuc2Vzc2lvblN0b3JhZ2U6bnVsbDt2YXIgZX0pKTtmdW5jdGlvbiBwKGUsdCl7Y29uc3QgaT1oKCk7aWYobnVsbCE9PWkpdHJ5e2kuc2V0SXRlbShlLHQpfWNhdGNoKGUpe2M/LmxvZ1dhcm4oYHNlc3Npb25TdG9yYWdlLnNldEl0ZW0gZmFpbGVkLCBiZWNhdXNlIG9mIGV4Y2VwdGlvbjogJHsoMCxsLmdldEVycm9yTWVzc2FnZSkoZSl9YCl9fWZ1bmN0aW9uIF8oZSl7Y29uc3QgdD1oKCk7cmV0dXJuIG51bGw9PT10P251bGw6dC5nZXRJdGVtKGUpfWNvbnN0IGc9KDAsbi5nZXRMb2dnZXIpKCJMaWIuU2Vzc2lvblNjb3BlZFNldHRpbmdzIik7ZnVuY3Rpb24gbShlLHQpe3RyeXtjb25zdCBpPSgwLHIuc2V0dGluZ1ZhbHVlVG9TdHJpbmcpKHQpO3AoZSxpKSxhLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0oZSxpKX1jYXRjaChlKXtnPy5sb2dXYXJuKGBzZXNzaW9uVGhlbkxvY2FsLnNldCBmYWlsZWQ6ICR7KDAsbC5nZXRFcnJvck1lc3NhZ2UpKGUpfWApfX1mdW5jdGlvbiBiKGUsdCxpKXt0cnl7cmV0dXJuKDAsci5wYXJzZVNldHRpbmdWYWx1ZSkoZnVuY3Rpb24oZSx0KXtsZXQgaT1fKGUpO251bGw9PT1pJiYoaT1hLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0oZSk/P3QscChlLGkpKTtyZXR1cm4gaX0oZSwoMCxyLnNldHRpbmdWYWx1ZVRvU3RyaW5nKSh0KSksaSl9Y2F0Y2goZSl7cmV0dXJuIGc/LmxvZ1dhcm4oYHNlc3Npb25UaGVuTG9jYWwuZ2V0IGlzIGFib3V0IHRvIHJldHVybiB0aGUgZGVmYXVsdCB2YWx1ZSBkdWUgdG8gZXJyb3I6ICR7KDAsbC5nZXRFcnJvck1lc3NhZ2UpKGUpfWApLHR9fXZhciB2PWkoOTMwNTY2KTtjb25zdCBmPSgwLG4uZ2V0TG9nZ2VyKSgiTGliLlNlc3Npb25TY29wZWRTZXR0aW5ncyIpO2Z1bmN0aW9uIFMoZSx0KXt0cnl7Y29uc3QgaT0oMCxyLnNldHRpbmdWYWx1ZVRvU3RyaW5nKSh0KTtwKGUsaSksdi5zZXRWYWx1ZShlLGkpfWNhdGNoKGUpe2Y/LmxvZ1dhcm4oYHNlc3Npb25UaGVuVHZTZXR0aW5ncy5zZXQgZmFpbGVkOiAkeygwLGwuZ2V0RXJyb3JNZXNzYWdlKShlKX1gKX19ZnVuY3Rpb24geShlLHQsaSl7dHJ5e3JldHVybigwLHIucGFyc2VTZXR0aW5nVmFsdWUpKGZ1bmN0aW9uKGUsdCl7bGV0IGk9XyhlKTtudWxsPT09aSYmKGk9di5nZXRWYWx1ZShlKT8/dCxwKGUsaSkpO3JldHVybiBpfShlLCgwLHIuc2V0dGluZ1ZhbHVlVG9TdHJpbmcpKHQpKSxpKX1jYXRjaChlKXtyZXR1cm4gZj8ubG9nV2Fybihgc2Vzc2lvblRoZW5UdlNldHRpbmdzLmdldCBpcyBhYm91dCB0byByZXR1cm4gdGhlIGRlZmF1bHQgdmFsdWUgZHVlIHRvIGVycm9yOiAkeygwLGwuZ2V0RXJyb3JNZXNzYWdlKShlKX1gKSx0fX19LDc3NjE3MyhlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtjb25zdCBpPUpTT04ucGFyc2UoZSk7aWYodm9pZCAwPT09dClyZXR1cm4gaTtpZih0KGkpKXJldHVybiBpO3Rocm93IG5ldyBUeXBlRXJyb3IoIlBhcnNlZCB2YWx1ZSBkb2VzIG5vdCBzYXRpc2Z5IHRoZSBwcm92aWRlZCB2YWxpZGF0aW9uIHByZWRpY2F0ZSIpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGUpfWkuZCh0LHtwYXJzZVNldHRpbmdWYWx1ZTooKT0+cyxzZXR0aW5nVmFsdWVUb1N0cmluZzooKT0+b30pfSwxODIzMDgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7dXNlUm92aW5nVGFiaW5kZXhFbGVtZW50OigpPT5hfSk7dmFyIHM9aSg3Nzk0NzQpLG89aSg3ODc4OTUpLG49aSg2MTYzMTEpCjtmdW5jdGlvbiBhKGUsdD1bXSl7Y29uc3RbaSxhXT0oMCxzLnVzZVN0YXRlKSghMSksbD0oMCxvLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKGUpO3JldHVybigwLG4udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57Y29uc3QgZT1sLmN1cnJlbnQ7aWYobnVsbD09PWUpcmV0dXJuO2NvbnN0IHQ9ZT0+e3N3aXRjaChlLnR5cGUpe2Nhc2Uicm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCI6YSghMCk7YnJlYWs7Y2FzZSJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQiOmEoITEpfX07cmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcigicm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCIsdCksZS5hZGRFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQiLHQpLCgpPT57ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50Iix0KSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIsdCl9fSksdCksW2wsaT8wOi0xXX19LDkyOTQ4OChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtpc1NlcGFyYXRvckl0ZW06KCk9Pm99KTt2YXIgcz1pKDkwMTAyMik7ZnVuY3Rpb24gbyhlKXtyZXR1cm4oMCxzLmlzU2VwYXJhdG9ySXRlbSkoZSl9fSwzMjA1NShlLHQsaSl7InVzZSBzdHJpY3QiO2kucih0KSxpLmQodCx7cmVzb2x2ZVN5bWJvbE5hbWU6KCk9PmQscmVzb2x2ZVN5bWJvbE5hbWVGb3JBbGw6KCk9PnUscmVzb2x2ZVN5bWJvbE5hbWVGb3JBbGxEaXN0aW5jdDooKT0+YyxzbmFwc2hvdGVyOigpPT5sfSk7dmFyIHM9aSgxMjg4MTQpLG89aSg2MjM1MTEpLG49aSg5Mjk0ODgpO2NvbnN0IGE9bmV3IFNldChbInByb19uYW1lIiwiYmFzZV9uYW1lIiwic2hvcnRfbmFtZSIsImRlc2NyaXB0aW9uIiwidHlwZSIsImV4Y2hhbmdlIiwidHlwZXNwZWNzIiwibGlzdGVkX2V4Y2hhbmdlIiwibGFzdF9wcmljZSIsImNvdW50cnlfY29kZSIsInByb3ZpZGVyX2lkIiwic3ltYm9sLXByaW1hcnluYW1lIiwibG9nb2lkIiwibG9nbyIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwiY3VycmVuY3ktbG9nb2lkIiwic291cmNlLWxvZ29pZCIsInVwZGF0ZV9tb2RlIiwidXBkYXRlX21vZGVfc2Vjb25kcyIsInByb19wZXJtIiwic291cmNlIiwic291cmNlMiIsInByaWNlc2NhbGUiLCJtaW5tb3YiLCJmcmFjdGlvbmFsIiwidmlzaWJsZS1wbG90cy1zZXQiLCJsb2NhbF9kZXNjcmlwdGlvbiIsImxhbmd1YWdlIiwidW5kZXJseWluZy1zeW1ib2wiXSksbD0oMCxvLmxhenlWYWx1ZSkoKCgpPT5uZXcgcy5RdW90ZVNlc3Npb25TbmFwc2hvdGVyKHtuYW1lOiJiYXNpYy1zeW1ib2wtcXVvdGVzIixmaWVsZHM6Wy4uLmFdLGFwaTp3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZX0pKSkscj1uZXcgU2V0KFsicHJvX25hbWUiXSk7YXN5bmMgZnVuY3Rpb24gZChlKXtyZXR1cm4oMCxuLmlzU2VwYXJhdG9ySXRlbSkoZSk/ZTpsKCkuZ2V0U25hcHNob3QoZSxyKS50aGVuKChlPT4iZXJyb3IiPT09ZS5zdGF0dXM/ZS5zeW1ib2xuYW1lOmUudmFsdWVzLnByb19uYW1lKSl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoZCkpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIHUoZSkudGhlbigoZT0+Wy4uLm5ldyBTZXQoZSldKSl9fSw5ODYyNzUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7cmVtb3ZlVXNkRnJvbUNyeXB0b1BhaXJMb2dvczooKT0+cixyZXNvbHZlTG9nb1VybHM6KCk9PmEscmVzb2x2ZUxvZ29VcmxzRnJvbUxvZ29EYXRhOigpPT5sfSk7dmFyIHM9aSg2MDE4NDEpLG89aSg4NjIyMTMpO2NvbnN0IG49KDAsby5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7ZnVuY3Rpb24gYShlLHQ9by5Mb2dvU2l6ZS5NZWRpdW0pe2NvbnN0IGk9ZS5sb2dvaWQscz1lWyJiYXNlLWN1cnJlbmN5LWxvZ29pZCJdLGE9ZVsiY3VycmVuY3ktbG9nb2lkIl0sbD1pJiZuLmdldFN5bWJvbExvZ29VcmwoaSx0KTtpZihsKXJldHVybltsXTtjb25zdCByPXMmJm4uZ2V0U3ltYm9sTG9nb1VybChzLHQpLGQ9YSYmbi5nZXRTeW1ib2xMb2dvVXJsKGEsdCk7cmV0dXJuIHImJmQ/W3IsZF06cj9bcl06ZD9bZF06W119ZnVuY3Rpb24gbChlLHQ9by5Mb2dvU2l6ZS5NZWRpdW0pe3JldHVybigicGFpciI9PT1lLnN0eWxlP1tlLmxvZ29pZCxlLmxvZ29pZDJdOltlLmxvZ29pZF0pLm1hcCgoZT0+bi5nZXRTeW1ib2xMb2dvVXJsKGUsdCkpKS5maWx0ZXIocy5ub3ROdWxsKX1mdW5jdGlvbiByKGUpe3JldHVybiAyIT09ZS5sZW5ndGg/ZTpmdW5jdGlvbihlKXtyZXR1cm4gZS5zb21lKChlPT5kKGUpKSl9KGUpJiYhZnVuY3Rpb24oZSl7cmV0dXJuIGUuc29tZSgoZT0+ZS5pbmNsdWRlcygiY291bnRyeSIpJiYhZChlKSkpfShlKT9lLmZpbHRlcigoZT0+IWQoZSkpKTplfWZ1bmN0aW9uIGQoZSl7cmV0dXJuIGUuaW5jbHVkZXMoImNvdW50cnkvVVMiKX19LDM2NDM1MChlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtyZXR1cm4gZT09PXR9aS5kKHQse2NyZWF0ZVNlbGVjdG9yOigpPT5vfSk7dmFyIG89ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsaT1BcnJheSh0PjE/dC0xOjApLHM9MTtzPHQ7cysrKWlbcy0xXT1hcmd1bWVudHNbc107cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgscz1BcnJheSh0KSxvPTA7bzx0O28rKylzW29dPWFyZ3VtZW50c1tvXTt2YXIgbj0wLGE9cy5wb3AoKSxsPWZ1bmN0aW9uKGUpe3ZhciB0PUFycmF5LmlzQXJyYXkoZVswXSk/ZVswXTplO2lmKCF0LmV2ZXJ5KChmdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZX0pKSl7dmFyIGk9dC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX0pKS5qb2luKCIsICIpO3Rocm93IG5ldyBFcnJvcigiU2VsZWN0b3IgY3JlYXRvcnMgZXhwZWN0IGFsbCBpbnB1dC1zZWxlY3RvcnMgdG8gYmUgZnVuY3Rpb25zLCBpbnN0ZWFkIHJlY2VpdmVkIHRoZSBmb2xsb3dpbmcgdHlwZXM6IFsiK2krIl0iKX1yZXR1cm4gdH0ocykscj1lLmFwcGx5KHZvaWQgMCxbZnVuY3Rpb24oKXsKcmV0dXJuIG4rKyxhLmFwcGx5KG51bGwsYXJndW1lbnRzKX1dLmNvbmNhdChpKSksZD1lKChmdW5jdGlvbigpe2Zvcih2YXIgZT1bXSx0PWwubGVuZ3RoLGk9MDtpPHQ7aSsrKWUucHVzaChsW2ldLmFwcGx5KG51bGwsYXJndW1lbnRzKSk7cmV0dXJuIHIuYXBwbHkobnVsbCxlKX0pKTtyZXR1cm4gZC5yZXN1bHRGdW5jPWEsZC5kZXBlbmRlbmNpZXM9bCxkLnJlY29tcHV0YXRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIG59LGQucmVzZXRSZWNvbXB1dGF0aW9ucz1mdW5jdGlvbigpe3JldHVybiBuPTB9LGR9fSgoZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnMsaT1udWxsLG89bnVsbDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSx0LGkpe2lmKG51bGw9PT10fHxudWxsPT09aXx8dC5sZW5ndGghPT1pLmxlbmd0aClyZXR1cm4hMTtmb3IodmFyIHM9dC5sZW5ndGgsbz0wO288cztvKyspaWYoIWUodFtvXSxpW29dKSlyZXR1cm4hMTtyZXR1cm4hMH0odCxpLGFyZ3VtZW50cyl8fChvPWUuYXBwbHkobnVsbCxhcmd1bWVudHMpKSxpPWFyZ3VtZW50cyxvfX0pKX0sNjY2MzMyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NvbnRyb2xCYXJOYXZpZ2F0aW9uOigpPT5lZX0pO3ZhciBzPWkoMTM4NjM4KSxvPWkoMTg1MjcxKSxuPWkoMzYzMjY5KSxhPWkoOTMwMjMxKSxsPWkoOTUyOTAwKSxyPWkoOTIzMTc2KSxkPWkoOTY5MTY4KSx1PWkoNDQzNTU3KSxjPWkoNTUyMTQ1KSxoPWkoMzQ1MTUxKSxwPWkoMzE4OTc0KSxfPWkoMjM1NzI0KSxnPWkoMTI4OTk4KSxtPWkoMzg2OTMxKSxiPWkoNDk3MDE4KSx2PWkoMTIxNDc0KSxmPWkoNzMyMDM5KSxTPWkoNTQ5NzcwKSx5PWkoOTk3ODM0KSx3PWkoMjQ3MDMwKSxDPWkoNTczNTgyKSxFPWkoMzY4OTU0KSx4PWkoMjkxMjA5KSxMPWkoODM1NTUwKSxNPWkoNDMxODUpO2koNzEwMTU2KTtjb25zdCBUPSgwLF8uaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoXy5Nb2RpZmllcnMuQWx0LCExKSxWPSgwLF8uaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoXy5Nb2RpZmllcnMuU2hpZnQsITEpLGs9KDAsXy5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShfLk1vZGlmaWVycy5Nb2QsITEpLEE9KDAsaC5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOltULCJSIl0sdGV4dDoiezB9ICsgezF9In0pLFc9KDAsaC5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOltULCJDbGljayIsVCwiRW50ZXIiXSx0ZXh0OiJ7MH0gKyB7MX0sIHsyfSArIHszfSJ9KSxJPSgwLGguaG90S2V5U2VyaWFsaXplKSh7a2V5czpbRV0sdGV4dDoiezB9In0pLEI9KDAsaC5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOlt4XSx0ZXh0OiJ7MH0ifSksSD0oMCxoLmhvdEtleVNlcmlhbGl6ZSkoe2tleXM6W2ssTF0sdGV4dDoiezB9ICsgezF9In0pLEQ9KDAsaC5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOltrLE1dLHRleHQ6InswfSArIHsxfSJ9KSxQPSgwLGguaG90S2V5U2VyaWFsaXplKSh7a2V5czpbVCxWLHhdLHRleHQ6InswfSArIHsxfSArIHsyfSJ9KSxOPW8udChudWxsLHZvaWQgMCxpKDMxNDUzNCkpLFI9by50KG51bGwsdm9pZCAwLGkoNDg3ODc0KSksTz1vLnQobnVsbCx2b2lkIDAsaSg1NTEzMzIpKSxGPW8udChudWxsLHZvaWQgMCxpKDY3MTgwOSkpLHo9by50KG51bGwsdm9pZCAwLGkoMjQxNzIyKSksaj1vLnQobnVsbCx2b2lkIDAsaSg3MDgyMzMpKSxVPW8udChudWxsLHZvaWQgMCxpKDIwNzg0NSkpLEc9by50KG51bGwsdm9pZCAwLGkoNjYwODEwKSk7dmFyIFosSjshZnVuY3Rpb24oZSl7ZVtlLkJhclZpc2libGVEaXN0YW5jZT0xMDBdPSJCYXJWaXNpYmxlRGlzdGFuY2UiLGVbZS5CYWNrQnV0dG9uUmlnaHRNYXJnaW49MTRdPSJCYWNrQnV0dG9uUmlnaHRNYXJnaW4iLGVbZS5TaW5nbGVCdXR0b25XaWR0aD0zNl09IlNpbmdsZUJ1dHRvbldpZHRoIixlW2UuR3JvdXBNYXJnaW5zPTE0XT0iR3JvdXBNYXJnaW5zIixlW2UuR29Ub1JlYWx0aW1lQnV0dG9uV2lkdGg9NTBdPSJHb1RvUmVhbHRpbWVCdXR0b25XaWR0aCIsZVtlLkxlZnRNYXJnaW49NTBdPSJMZWZ0TWFyZ2luIixlW2UuVGltZUF4aXNNYWluUGFuZU1hcmdpbj0yN109IlRpbWVBeGlzTWFpblBhbmVNYXJnaW4iLGVbZS5QYW5lQ29udHJvbHNIZWlnaHQ9MjhdPSJQYW5lQ29udHJvbHNIZWlnaHQifShafHwoWj17fSkpLGZ1bmN0aW9uKGUpe2UuU2Nyb2xsTGVmdFJpZ2h0PSJqcy1idG4tZ3JvdXAtc2Nyb2xsIixlLlpvb21Jblpvb21PdXQ9ImpzLWJ0bi1ncm91cC16b29tIixlLk1heGltaXplPSJqcy1idG4tZ3JvdXAtbWF4aW1pemUiLGUuUmVzZXRTY2FsZT0ianMtYnRuLWdyb3VwLXJlc2V0LXNjYWxlIn0oSnx8KEo9e30pKQo7Y29uc3QgWT1gPGRpdiBjbGFzcz0iY29udHJvbC1iYXItd3JhcHBlciI+XG5cdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyIGNvbnRyb2wtYmFyLS1oaWRkZW4iPlxuXHRcdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyX19ncm91cCBqcy1idG4tZ3JvdXAganMtYnRuLWdyb3VwLXpvb20iPlxuXHRcdFx0PGRpdiBjbGFzcz0iY29udHJvbC1iYXJfX2J0biBjb250cm9sLWJhcl9fYnRuLS16b29tLW91dCBhcHBseS1jb21tb24tdG9vbHRpcCIgdGl0bGU9IiR7Tn0iIGRhdGEtdG9vbHRpcC1ob3RrZXk9IiR7RH0iPlxuXHRcdFx0XHQke3Z9XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyX19idG4gY29udHJvbC1iYXJfX2J0bi0tem9vbS1pbiBhcHBseS1jb21tb24tdG9vbHRpcCIgdGl0bGU9IiR7Un0iIGRhdGEtdG9vbHRpcC1ob3RrZXk9IiR7SH0iPlxuXHRcdFx0XHQke1N9XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPSJjb250cm9sLWJhcl9fZ3JvdXAganMtYnRuLWdyb3VwIGpzLWJ0bi1ncm91cC1tYXhpbWl6ZSI+XG5cdFx0XHQ8ZGl2IGNsYXNzPSJjb250cm9sLWJhcl9fYnRuIGNvbnRyb2wtYmFyX19idG4tLW1heGltaXplIGFwcGx5LWNvbW1vbi10b29sdGlwIiBkYXRhLXRvb2x0aXAtaG90a2V5PSIke1d9Ij5cblx0XHRcdFx0JHt3fVxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz0iY29udHJvbC1iYXJfX2dyb3VwIGpzLWJ0bi1ncm91cCBqcy1idG4tZ3JvdXAtc2Nyb2xsIj5cblx0XHRcdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyX19idG4gY29udHJvbC1iYXJfX2J0bi0tbW92ZS1sZWZ0IGFwcGx5LWNvbW1vbi10b29sdGlwIiB0aXRsZT0iJHt6fSIgZGF0YS10b29sdGlwLWhvdGtleT0iJHtJfSI+XG5cdFx0XHRcdCR7Zn1cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdiBjbGFzcz0iY29udHJvbC1iYXJfX2J0biBjb250cm9sLWJhcl9fYnRuLS1tb3ZlLXJpZ2h0IGFwcGx5LWNvbW1vbi10b29sdGlwIiB0aXRsZT0iJHtqfSIgZGF0YS10b29sdGlwLWhvdGtleT0iJHtCfSI+XG5cdFx0XHRcdCR7Zn1cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyX19ncm91cCBqcy1idG4tZ3JvdXAganMtYnRuLWdyb3VwLXJlc2V0LXNjYWxlIj5cblx0XHRcdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyX19idG4gY29udHJvbC1iYXJfX2J0bi0tdHVybi1idXR0b24gY29udHJvbC1iYXJfX2J0bi0tYnRuLWhpZGRlbiBhcHBseS1jb21tb24tdG9vbHRpcCBqcy1idG4tcmVzZXQiIHRpdGxlPSIke1V9IiBkYXRhLXRvb2x0aXAtaG90a2V5PSIke0F9Ij5cblx0XHRcdFx0JHt5fVxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuPC9kaXY+YCxxPWA8ZGl2IGNsYXNzPSJjb250cm9sLWJhci13cmFwcGVyIGNvbnRyb2wtYmFyLXdyYXBwZXItLWJhY2stcHJlc2VudCI+XG5cdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyIGNvbnRyb2wtYmFyX19idG4gY29udHJvbC1iYXJfX2J0bi0tYnRuLWhpZGRlbiBhcHBseS1jb21tb24tdG9vbHRpcCIgdGl0bGU9IiR7R30iIGRhdGEtdG9vbHRpcC1ob3RrZXk9IiR7UH0iPlxuXHRcdCR7Q31cblx0PC9kaXY+XG48L2Rpdj5gLCQ9cC5DaGVja01vYmlsZS5hbnkoKSxRPSJjb250cm9sLWJhcl9fYnRuLS1idG4taGlkZGVuIixLPSJjb250cm9sLWJhcl9fYnRuLS1hY3RpdmF0ZWQiLFg9e3pvb21Jbk91dDohMCxtYXhpbWl6ZTohMCxzY3JvbGxMZWZ0UmlnaHQ6ITAscmVzZXRTY2FsZTohMCxnb1RvUmVhbHRpbWU6ITB9O2NsYXNzIGVle2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl93aWRnZXQ9KDAscy5lbnN1cmVOb3ROdWxsKSgoMCx1LnBhcnNlSHRtbCkoWSkucXVlcnlTZWxlY3RvcigiLmNvbnRyb2wtYmFyLXdyYXBwZXIiKSksdGhpcy5fY29udHJvbEJhcj0oMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX3dpZGdldC5xdWVyeVNlbGVjdG9yKCIuY29udHJvbC1iYXIiKSksdGhpcy5fYmFjaz0oMCxzLmVuc3VyZU5vdE51bGwpKCgwLHUucGFyc2VIdG1sKShxKS5xdWVyeVNlbGVjdG9yKCIuY29udHJvbC1iYXItd3JhcHBlciIpKSx0aGlzLl9idG5Hcm91cHM9QXJyYXkuZnJvbSh0aGlzLl9jb250cm9sQmFyLnF1ZXJ5U2VsZWN0b3JBbGwoIi5qcy1idG4tZ3JvdXAiKSksdGhpcy5fdGFyZ2V0UGFuZVdpZGdldD1udWxsLHRoaXMuX2JhY2tCdXR0b25WaXNpYmxlPSExLHRoaXMuX2JhY2tCdXR0b25DYW5CZVZpc2libGU9ITEsdGhpcy5fYm91bmRNb3VzZUhhbmRsZXI9bnVsbCx0aGlzLl9jaGFydE1vZGVsPW51bGwsdGhpcy5fY29udHJvbEJhclZpc2libGU9ITEsdGhpcy5fcHJpY2VBeGlzQ2hhbmdlZD1udWxsLHRoaXMuX3Jlc2V0U2NhbGVzQXZhaWxhYmxlPW51bGwsdGhpcy5fcHJpY2VBeGlzTmFtZT0icmlnaHQiLHRoaXMuX3JhZklkPW51bGwsdGhpcy5fdmlzaWJpbGl0eVR5cGVQcm9wZXJ0eT1udWxsLHRoaXMuX2JvdW5kVXBkYXRlTWF4aW1pemVCdXR0b25zVmlzaWJpbGl0eT10aGlzLl91cGRhdGVNYXhpbWl6ZUJ1dHRvbnNWaXNpYmlsaXR5LmJpbmQodGhpcyksdGhpcy5fYm91bmRUb2dnbGVGdWxsc2NyZWVuQnV0dG9ucz10aGlzLl90b2dnbGVGdWxsc2NyZWVuQnV0dG9ucy5iaW5kKHRoaXMpLHRoaXMuX3BhbmVXaWR0aD0wLHRoaXMuX2xlZnRQcmljZVNjYWxlV2lkdGg9MCx0aGlzLl9yaWdodFByaWNlU2NhbGVXaWR0aD0wLHRoaXMuX29uVmlzaWJpbGl0eVR5cGVDaGFuZ2U9ZT0+eyJhbHdheXNPbiI9PT1lfHwiYWx3YXlzT2ZmIj09PWU/KHRoaXMuX2NvbnRyb2xCYXJWaXNpYmxlPSJhbHdheXNPbiI9PT1lLHRoaXMuX3BhcmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX2NvbnRyb2xzQmFyVmlzaWJpbGl0eUhhbmRsZXIsITEpLHRoaXMuX3BhcmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9jb250cm9sc0JhclZpc2liaWxpdHlIYW5kbGVyLCExKSk6KHRoaXMuX2NvbnRyb2xCYXJWaXNpYmxlPSExLAp0aGlzLl9wYXJlbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLl9jb250cm9sc0JhclZpc2liaWxpdHlIYW5kbGVyKSx0aGlzLl9wYXJlbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5fY29udHJvbHNCYXJWaXNpYmlsaXR5SGFuZGxlcikpLHRoaXMuX2NvbmZpZ3VyZUJhY2tCdXR0b25WaXNpYmlsaXR5KGUpLHRoaXMuX3VwZGF0ZUNvbnRyb2xCYXJWaXNpYmlsaXR5KCl9LHRoaXMuX3Zpc2liaWxpdHlCYWNrQnV0dG9uSGFuZGxlcj1lPT57Y29uc3QgdD10aGlzLl9jaGVja0lzUG9pbnRlck5lYXJCb3goZSx0aGlzLl9iYWNrLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTt2b2lkIDAhPT10JiZ0aGlzLl9iYWNrQnV0dG9uQ2FuQmVWaXNpYmxlIT09dCYmKHRoaXMuX2JhY2tCdXR0b25DYW5CZVZpc2libGU9dCx0aGlzLl9zZXRSQUYoKSl9LHRoaXMuX2NvbnRyb2xzQmFyVmlzaWJpbGl0eUhhbmRsZXI9ZT0+e2NvbnN0IHQ9dGhpcy5fY2hlY2tJc1BvaW50ZXJOZWFyQm94KGUsdGhpcy5fY29udHJvbEJhci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSk7dm9pZCAwIT09dCYmdGhpcy5fY29udHJvbEJhclZpc2libGUhPT10JiYodGhpcy5fY29udHJvbEJhclZpc2libGU9dCx0aGlzLl9zZXRSQUYoKSl9LHRoaXMuX3VwZGF0ZUNvbnRyb2xCYXJWaXNpYmlsaXR5PSgpPT57dGhpcy5fY29udHJvbEJhci5jbGFzc0xpc3QudG9nZ2xlKCJjb250cm9sLWJhci0taGlkZGVuIiwhdGhpcy5fY29udHJvbEJhclZpc2libGUpfSx0aGlzLl9jaGFydD1lLHRoaXMuX3BhcmVudD10LHRoaXMuX29wdGlvbnM9T2JqZWN0LmFzc2lnbih7fSxYLGkpLHRoaXMuX3Zpc2liaWxpdHlQcmlvcml0aXplZEdyb3Vwcz10aGlzLl9pbml0R3JvdXBEZXNjcmlwdGlvbnMoKSx0aGlzLl9pbml0KCksdGhpcy5faW5pdEhhbmRsZXJzKCksdGhpcy51cGRhdGVQb3NpdGlvbigpfWRlc3Ryb3koKXtudWxsIT09dGhpcy5fdmlzaWJpbGl0eVR5cGVQcm9wZXJ0eSYmKHRoaXMuX3Zpc2liaWxpdHlUeXBlUHJvcGVydHkuZGVzdHJveSgpLHRoaXMuX3Zpc2liaWxpdHlUeXBlUHJvcGVydHk9bnVsbCksbnVsbCE9PXRoaXMuX2JvdW5kTW91c2VIYW5kbGVyJiYodGhpcy5fcGFyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fYm91bmRNb3VzZUhhbmRsZXIsITEpLHRoaXMuX3BhcmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9ib3VuZE1vdXNlSGFuZGxlciwhMSksdGhpcy5fYm91bmRNb3VzZUhhbmRsZXI9bnVsbCksbnVsbCE9PXRoaXMuX3ByaWNlQXhpc0NoYW5nZWQmJih0aGlzLl9wcmljZUF4aXNDaGFuZ2VkLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFja0J0blBvc2l0aW9uKSx0aGlzLl9wcmljZUF4aXNDaGFuZ2VkPW51bGwpLGNsZWFySW50ZXJ2YWwodGhpcy5fY2hlY2tJbnRlcnZhbElkKSx0aGlzLl9yZXNldFNjYWxlc0F2YWlsYWJsZT8uZGVzdHJveSgpO2NvbnN0IGU9dGhpcy5fY2hhcnQuZ2V0UmVzaXplckRldGFjaGVyKCk7ZS5mdWxsc2NyZWVuYWJsZS51bnN1YnNjcmliZSh0aGlzLl9ib3VuZFVwZGF0ZU1heGltaXplQnV0dG9uc1Zpc2liaWxpdHkpLGUuZnVsbHNjcmVlbi51bnN1YnNjcmliZSh0aGlzLl9ib3VuZFRvZ2dsZUZ1bGxzY3JlZW5CdXR0b25zKSx0aGlzLl9jaGFydD1udWxsfXVwZGF0ZVBvc2l0aW9uKCl7Y29uc3QgZT10aGlzLl90YXJnZXRQYW5lV2lkZ2V0PXRoaXMuX2dldFRhcmdldFBhbmVXaWRnZXQoKTtpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgdD1lLmdldEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCIuY2hhcnQtbWFya3VwLXRhYmxlIC5wYW5lIik7aWYobnVsbD09PXQpcmV0dXJuO3RoaXMuX3BhbmVXaWR0aD1lLndpZHRoKCksdGhpcy5fbGVmdFByaWNlU2NhbGVXaWR0aD10aGlzLl9jaGFydC5nZXRQcmljZUF4aXNNYXhXaWR0aEJ5TmFtZSgibGVmdCIpLHRoaXMuX3JpZ2h0UHJpY2VTY2FsZVdpZHRoPXRoaXMuX2NoYXJ0LmdldFByaWNlQXhpc01heFdpZHRoQnlOYW1lKCJyaWdodCIpO2NvbnN0IGk9dGhpcy5fcGFyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbS10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbSt0aGlzLl9ib3R0b21NYXJnaW4oZSk7dGhpcy5fd2lkZ2V0LnN0eWxlLmJvdHRvbT1gJHtpfXB4YCx0aGlzLl9iYWNrLnN0eWxlLmJvdHRvbT1gJHtpfXB4YCx0aGlzLl91cGRhdGVCdG5Hcm91cFZpc2liaWxpdHkoKX1fZ2V0VGFyZ2V0UGFuZVdpZGdldCgpe2NvbnN0IGU9dGhpcy5fY2hhcnQubWF4aW1pemVkUGFuZVdpZGdldCgpO2lmKGUpcmV0dXJuIGU7Y29uc3QgdD1bLi4udGhpcy5fY2hhcnQucGFuZVdpZGdldHMoKV0ucmV2ZXJzZSgpO2Zvcihjb25zdCBlIG9mIHQpaWYoZS5oZWlnaHQoKT49dGhpcy5fd2lkZ2V0LmNsaWVudEhlaWdodCsyOCt0aGlzLl9ib3R0b21NYXJnaW4oZSkpcmV0dXJuIGU7cmV0dXJuIG51bGx9X2JvdHRvbU1hcmdpbihlKXtyZXR1cm4gZS5jb250YWluc01haW5TZXJpZXMoKT8yNzowfV9pbml0KCl7aWYocC5DaGVja01vYmlsZS5hbnkoKSlmb3IoY29uc3QgZSBvZiB0aGlzLl9idG5Hcm91cHMpZS5jbGFzc0xpc3QuYWRkKCJqcy1oaWRkZW4iKTt0aGlzLl9idXR0b25zPXt6b29tSW46dGhpcy5fd2lkZ2V0LnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuLS16b29tLWluIiksem9vbU91dDp0aGlzLl93aWRnZXQucXVlcnlTZWxlY3RvcigiLmNvbnRyb2wtYmFyX19idG4tLXpvb20tb3V0IiksbW92ZUxlZnQ6dGhpcy5fd2lkZ2V0LnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuLS1tb3ZlLWxlZnQiKSxtb3ZlUmlnaHQ6dGhpcy5fd2lkZ2V0LnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuLS1tb3ZlLXJpZ2h0IiksdHVybjp0aGlzLl93aWRnZXQucXVlcnlTZWxlY3RvcigiLmNvbnRyb2wtYmFyX19idG4tLXR1cm4tYnV0dG9uIiksbWF4aW1pemU6dGhpcy5fd2lkZ2V0LnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuLS1tYXhpbWl6ZSIpfSx0aGlzLl9wYXJlbnQuYXBwZW5kQ2hpbGQodGhpcy5fd2lkZ2V0KSwKdGhpcy5fcGFyZW50LmFwcGVuZENoaWxkKHRoaXMuX2JhY2spLHRoaXMuX3ByaWNlQXhpc05hbWU9KDAsZC5pc1J0bCkoKT8ibGVmdCI6InJpZ2h0Iix0aGlzLl9jaGFydC53aXRoTW9kZWwodGhpcywoKCk9Pnt0aGlzLl9jaGFydE1vZGVsPXRoaXMuX2NoYXJ0Lm1vZGVsKCksdGhpcy5faW5pdFZpc2liaWxpdHkoKSx0aGlzLl9wcmljZUF4aXNDaGFuZ2VkPXRoaXMuX2NoYXJ0LmdldFByaWNlQXhpc1dpZHRoQ2hhbmdlZEJ5TmFtZSh0aGlzLl9wcmljZUF4aXNOYW1lKSx0aGlzLl9wcmljZUF4aXNDaGFuZ2VkLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUJhY2tCdG5Qb3NpdGlvbiksdGhpcy5fcmVzZXRTY2FsZXNBdmFpbGFibGU9dGhpcy5fY2hhcnRNb2RlbC5tb2RlbCgpLnJlc2V0U2NhbGVzQXZhaWxhYmxlKCkuc3Bhd24oKSx0aGlzLl9yZXNldFNjYWxlc0F2YWlsYWJsZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUmVzZXRTY2FsZXNCdXR0b25WaXNpYmlsaXR5LmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pO2NvbnN0IGU9dGhpcy5fY2hhcnQuZ2V0UmVzaXplckRldGFjaGVyKCk7ZS5mdWxsc2NyZWVuYWJsZS5zdWJzY3JpYmUodGhpcy5fYm91bmRVcGRhdGVNYXhpbWl6ZUJ1dHRvbnNWaXNpYmlsaXR5KSxlLmZ1bGxzY3JlZW4uc3Vic2NyaWJlKHRoaXMuX2JvdW5kVG9nZ2xlRnVsbHNjcmVlbkJ1dHRvbnMse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX3VwZGF0ZU1heGltaXplQnV0dG9uc1Zpc2liaWxpdHkoKSx0aGlzLl91cGRhdGVCYWNrQnRuUG9zaXRpb24oKSx0aGlzLl9iYWNrLnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuIik/LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKCk9Pnt0aGlzLl9jaGFydC5zY3JvbGxIZWxwZXIoKS5zY3JvbGxUb1JlYWx0aW1lKCEwLCgoKT0+dGhpcy5fY2hlY2tCYWNrQnV0dG9uVmlzaWJpbGl0eSgpKSl9KSl9KSl9X2luaXRIYW5kbGVycygpe2NvbnN0IGU9bi5tb2JpbGV0b3VjaD8idG91Y2hzdGFydCI6Im1vdXNlZG93biIsdD1uLm1vYmlsZXRvdWNoP1sidG91Y2hlbmQiXTpbIm1vdXNldXAiLCJtb3VzZW91dCJdO3RoaXMuX2J1dHRvbnMubW92ZUxlZnQuYWRkRXZlbnRMaXN0ZW5lcihlLChlPT57ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2NoYXJ0LnNjcm9sbEhlbHBlcigpLm1vdmVCeUJhcigxKSx0aGlzLl90cmFja0V2ZW50KCJNb3ZlIExlZnQiKX0pKSx0aGlzLl9idXR0b25zLm1vdmVSaWdodC5hZGRFdmVudExpc3RlbmVyKGUsKGU9PntlLnByZXZlbnREZWZhdWx0KCksdGhpcy5fY2hhcnQuc2Nyb2xsSGVscGVyKCkubW92ZUJ5QmFyKC0xKSx0aGlzLl90cmFja0V2ZW50KCJNb3ZlIFJpZ2h0Iil9KSk7Zm9yKGNvbnN0IGUgb2YgdCl0aGlzLl9idXR0b25zLm1vdmVMZWZ0LmFkZEV2ZW50TGlzdGVuZXIoZSwoKCk9PnRoaXMuX2NoYXJ0LnNjcm9sbEhlbHBlcigpLnN0b3BNb3ZlKCkpKSx0aGlzLl9idXR0b25zLm1vdmVSaWdodC5hZGRFdmVudExpc3RlbmVyKGUsKCgpPT50aGlzLl9jaGFydC5zY3JvbGxIZWxwZXIoKS5zdG9wTW92ZSgpKSk7dGhpcy5fYnV0dG9ucy50dXJuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZT0+e2UucHJldmVudERlZmF1bHQoKSx0aGlzLl9jaGFydC5HVUlSZXNldFNjYWxlcygpLHRoaXMuX3RyYWNrRXZlbnQoIlJlc2V0IHRvIERlZmF1bHQgU2V0dGluZ3MiKX0pKSx0aGlzLl9idXR0b25zLnpvb21PdXQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLChlPT57ZS5wcmV2ZW50RGVmYXVsdCgpLG51bGwhPT10aGlzLl9jaGFydE1vZGVsJiZ0aGlzLl9jaGFydE1vZGVsLnpvb21PdXQoKSx0aGlzLl90cmFja0V2ZW50KCJab29tIE91dCIpfSkpLHRoaXMuX2J1dHRvbnMuem9vbUluLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZT0+e2UucHJldmVudERlZmF1bHQoKSxudWxsIT09dGhpcy5fY2hhcnRNb2RlbCYmdGhpcy5fY2hhcnRNb2RlbC56b29tSW4oKSx0aGlzLl90cmFja0V2ZW50KCJab29tIEluIil9KSksdGhpcy5fYnV0dG9ucy5tYXhpbWl6ZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGU9PntlLnByZXZlbnREZWZhdWx0KCksdGhpcy5fY2hhcnQuc2V0QWN0aXZlKCEwKTt0aGlzLl9idXR0b25zLm1heGltaXplLmNsYXNzTGlzdC5jb250YWlucyhLKT8odGhpcy5fY2hhcnQuZ2V0UmVzaXplckRldGFjaGVyKCkuZXhpdEZ1bGxzY3JlZW4oKSx0aGlzLl90cmFja0V2ZW50KCIgUmVzdG9yZSBDaGFydCIpKToodGhpcy5fY2hhcnQuZ2V0UmVzaXplckRldGFjaGVyKCkucmVxdWVzdEZ1bGxzY3JlZW4oKSx0aGlzLl90cmFja0V2ZW50KCIgTWF4aW1pemUgQ2hhcnQiKSl9KSk7Y29uc3QgaT1lPT5lLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwoZT0+ZS5wcmV2ZW50RGVmYXVsdCgpKSk7aSh0aGlzLl9idXR0b25zLm1vdmVMZWZ0KSxpKHRoaXMuX2J1dHRvbnMubW92ZVJpZ2h0KSxpKHRoaXMuX2J1dHRvbnMudHVybiksaSh0aGlzLl9idXR0b25zLnpvb21PdXQpLGkodGhpcy5fYnV0dG9ucy56b29tSW4pLGkodGhpcy5fYnV0dG9ucy5tYXhpbWl6ZSl9X2luaXRHcm91cERlc2NyaXB0aW9ucygpe3JldHVyblt7c2hvdWxkQmVIaWRkZW5Pbk1vYmlsZTohMSxhdmFpbGFibGU6dGhpcy5faXNNYXhpbWl6ZUJ1dHRvbkF2YWlsYWJsZS5iaW5kKHRoaXMpLGNsYXNzTmFtZToianMtYnRuLWdyb3VwLW1heGltaXplIixlbGVtZW50OnRoaXMuX2dldEJ0bkdyb3VwKCJqcy1idG4tZ3JvdXAtbWF4aW1pemUiKSx0b3RhbFdpZHRoOjUwfSx7c2hvdWxkQmVIaWRkZW5Pbk1vYmlsZTohMSxhdmFpbGFibGU6KCk9PnRoaXMuX29wdGlvbnMucmVzZXRTY2FsZSxjbGFzc05hbWU6ImpzLWJ0bi1ncm91cC1yZXNldC1zY2FsZSIsZWxlbWVudDp0aGlzLl9nZXRCdG5Hcm91cCgianMtYnRuLWdyb3VwLXJlc2V0LXNjYWxlIiksdG90YWxXaWR0aDo1MH0se3Nob3VsZEJlSGlkZGVuT25Nb2JpbGU6ISgwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfem9vbV9hbmRfbW92ZV9idXR0b25zX29uX3RvdWNoIiksYXZhaWxhYmxlOigpPT50aGlzLl9vcHRpb25zLnpvb21Jbk91dCwKY2xhc3NOYW1lOiJqcy1idG4tZ3JvdXAtem9vbSIsZWxlbWVudDp0aGlzLl9nZXRCdG5Hcm91cCgianMtYnRuLWdyb3VwLXpvb20iKSx0b3RhbFdpZHRoOjg2fSx7c2hvdWxkQmVIaWRkZW5Pbk1vYmlsZTohKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd196b29tX2FuZF9tb3ZlX2J1dHRvbnNfb25fdG91Y2giKSxhdmFpbGFibGU6KCk9PnRoaXMuX29wdGlvbnMuc2Nyb2xsTGVmdFJpZ2h0LGNsYXNzTmFtZToianMtYnRuLWdyb3VwLXNjcm9sbCIsZWxlbWVudDp0aGlzLl9nZXRCdG5Hcm91cCgianMtYnRuLWdyb3VwLXNjcm9sbCIpLHRvdGFsV2lkdGg6ODZ9XX1fY2hlY2tCYWNrQnV0dG9uVmlzaWJpbGl0eSgpe2lmKG51bGw9PT10aGlzLl9jaGFydE1vZGVsfHwhdGhpcy5fb3B0aW9ucy5nb1RvUmVhbHRpbWUpcmV0dXJuO2NvbnN0IGU9dGhpcy5fYmFja0J1dHRvbkNhbkJlVmlzaWJsZSYmdGhpcy5fY2hhcnRNb2RlbC50aW1lU2NhbGUoKS5yaWdodE9mZnNldCgpPDA7ZSE9PXRoaXMuX2JhY2tCdXR0b25WaXNpYmxlJiYodGhpcy5fYmFja0J1dHRvblZpc2libGU9ZSx0aGlzLl9iYWNrLnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuIik/LmNsYXNzTGlzdC50b2dnbGUoUSwhdGhpcy5fYmFja0J1dHRvblZpc2libGUpKX1faW5pdFZpc2liaWxpdHkoKXt0aGlzLl92aXNpYmlsaXR5VHlwZVByb3BlcnR5PSgwLGwuY29tYmluZSkoKChlLHQpPT5udWxsIT09dD8iYWx3YXlzT2ZmIjplKSwoMCxjLmNvbnZlcnRQcm9wZXJ0eVRvV2F0Y2hlZFZhbHVlKSgoMCxyLmFjdHVhbEJlaGF2aW9yKSgpKS5vd25lcnNoaXAoKSwoMCxnLmdldFNlcmllc0Rpc3BsYXlFcnJvcldWKSgoMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwpLm1haW5TZXJpZXMoKSkub3duZXJzaGlwKCkpLHRoaXMuX3Zpc2liaWxpdHlUeXBlUHJvcGVydHkuc3Vic2NyaWJlKHRoaXMuX29uVmlzaWJpbGl0eVR5cGVDaGFuZ2Use2NhbGxXaXRoTGFzdDohMH0pfV9jb25maWd1cmVCYWNrQnV0dG9uVmlzaWJpbGl0eShlKXsiYWx3YXlzT2ZmIj09PWU/KGNsZWFySW50ZXJ2YWwodGhpcy5fY2hlY2tJbnRlcnZhbElkKSx0aGlzLl9jaGVja0ludGVydmFsSWQ9dm9pZCAwKTp0aGlzLl9jaGVja0ludGVydmFsSWQ9dGhpcy5fY2hlY2tJbnRlcnZhbElkPz9zZXRJbnRlcnZhbCgoKCk9PnRoaXMuX2NoZWNrQmFja0J1dHRvblZpc2liaWxpdHkoKSksMWUzKSxwLkNoZWNrTW9iaWxlLmFueSgpP3RoaXMuX2JhY2tCdXR0b25DYW5CZVZpc2libGU9ImFsd2F5c09mZiIhPT1lOiJhbHdheXNPbiI9PT1lfHwiYWx3YXlzT2ZmIj09PWU/KHRoaXMuX2JhY2tCdXR0b25DYW5CZVZpc2libGU9ImFsd2F5c09uIj09PWUsdGhpcy5fcGFyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fdmlzaWJpbGl0eUJhY2tCdXR0b25IYW5kbGVyLCExKSx0aGlzLl9wYXJlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5fdmlzaWJpbGl0eUJhY2tCdXR0b25IYW5kbGVyLCExKSk6KHRoaXMuX2JhY2tCdXR0b25DYW5CZVZpc2libGU9ITEsdGhpcy5fcGFyZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fdmlzaWJpbGl0eUJhY2tCdXR0b25IYW5kbGVyKSx0aGlzLl9wYXJlbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5fdmlzaWJpbGl0eUJhY2tCdXR0b25IYW5kbGVyKSksdGhpcy5fY2hlY2tCYWNrQnV0dG9uVmlzaWJpbGl0eSgpfV9jaGVja0lzUG9pbnRlck5lYXJCb3goZSx0KXtpZighKGUuYnV0dG9uc3x8bnVsbCE9PXRoaXMuX2NoYXJ0TW9kZWwmJnRoaXMuX2NoYXJ0TW9kZWwubGluZUJlaW5nQ3JlYXRlZCgpKSl7aWYoIm1vdXNlbW92ZSI9PT1lLnR5cGUpe2NvbnN0IGk9MTAwLSh0aGlzLl90YXJnZXRQYW5lV2lkZ2V0P3RoaXMuX2JvdHRvbU1hcmdpbih0aGlzLl90YXJnZXRQYW5lV2lkZ2V0KTowKTtyZXR1cm4gZS5jbGllbnRYPj10LmxlZnQtMTAwJiZlLmNsaWVudFg8PXQucmlnaHQrMTAwJiZlLmNsaWVudFk+PXQudG9wLWkmJmUuY2xpZW50WTw9dC5ib3R0b20rMTAwfXJldHVybiExfX1fc2V0UkFGKCl7bnVsbD09PXRoaXMuX3JhZklkJiYodGhpcy5fcmFmSWQ9dGhpcy5fd2lkZ2V0Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuX2NoZWNrQmFja0J1dHRvblZpc2liaWxpdHkoKSx0aGlzLl91cGRhdGVDb250cm9sQmFyVmlzaWJpbGl0eSgpLHRoaXMuX3JhZklkPW51bGx9KSkpfV91cGRhdGVCYWNrQnRuUG9zaXRpb24oKXtpZigibGVmdCI9PT10aGlzLl9wcmljZUF4aXNOYW1lfHwicmlnaHQiPT09dGhpcy5fcHJpY2VBeGlzTmFtZSl7Y29uc3QgZT10aGlzLl9jaGFydC5nZXRQcmljZUF4aXNNYXhXaWR0aEJ5TmFtZSh0aGlzLl9wcmljZUF4aXNOYW1lKSsxNDtlJiYodGhpcy5fYmFjay5zdHlsZS5tYXJnaW5SaWdodD1gJHtlfXB4YCl9fV91cGRhdGVCdG5Hcm91cFZpc2liaWxpdHkoKXtjb25zdCBlPXRoaXMuX2xlZnRQcmljZVNjYWxlV2lkdGgrdGhpcy5fcGFuZVdpZHRoLHQ9KGUrdGhpcy5fcmlnaHRQcmljZVNjYWxlV2lkdGgpLzI7bGV0IGk9MipNYXRoLm1pbihlLXQsdC10aGlzLl9sZWZ0UHJpY2VTY2FsZVdpZHRoKS01MC01MCxzPSExO2Zvcihjb25zdCBlIG9mIHRoaXMuX3Zpc2liaWxpdHlQcmlvcml0aXplZEdyb3Vwcyl7ZS5lbm91Z2hTcGFjZUZvckdyb3VwPSExO2UuYXZhaWxhYmxlKCkmJighJHx8IWUuc2hvdWxkQmVIaWRkZW5Pbk1vYmlsZSkmJihpLT1lLnRvdGFsV2lkdGgsZS5lbm91Z2hTcGFjZUZvckdyb3VwPWk+PTAmJiFzLHM9c3x8IWUuZW5vdWdoU3BhY2VGb3JHcm91cCksIWUuZW5vdWdoU3BhY2VGb3JHcm91cCE9PWUuZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoImpzLWhpZGRlbiIpJiZlLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgianMtaGlkZGVuIiwhZS5lbm91Z2hTcGFjZUZvckdyb3VwKX10aGlzLl91cGRhdGVDb250cm9sQmFyUG9zaXRpb24oKX1fZ2V0QnRuR3JvdXAoZSl7cmV0dXJuKDAsCnMuZW5zdXJlRGVmaW5lZCkodGhpcy5fYnRuR3JvdXBzLmZpbmQoKHQ9PnQuY2xhc3NMaXN0LmNvbnRhaW5zKGUpKSkpfV91cGRhdGVDb250cm9sQmFyUG9zaXRpb24oKXtjb25zdCBlPXRoaXMuX3Zpc2liaWxpdHlQcmlvcml0aXplZEdyb3Vwcy5yZWR1Y2UoKChlLHQpPT5lKyh0LmVub3VnaFNwYWNlRm9yR3JvdXA/dC50b3RhbFdpZHRoOjApKSwwKSx0PSh0aGlzLl9wYW5lV2lkdGgrdGhpcy5fbGVmdFByaWNlU2NhbGVXaWR0aCt0aGlzLl9yaWdodFByaWNlU2NhbGVXaWR0aCkvMi1NYXRoLmNlaWwoZS8yKTt0aGlzLl93aWRnZXQuc3R5bGUubGVmdD1gJHt0fXB4YH1fdXBkYXRlUmVzZXRTY2FsZXNCdXR0b25WaXNpYmlsaXR5KCl7aWYobnVsbD09PXRoaXMuX2NoYXJ0TW9kZWwpcmV0dXJuO2NvbnN0IGU9dGhpcy5fY2hhcnRNb2RlbC5tb2RlbCgpLnJlc2V0U2NhbGVzQXZhaWxhYmxlKCkudmFsdWUoKTt0aGlzLl9idXR0b25zLnR1cm4uY2xhc3NMaXN0LnRvZ2dsZShRLCFlKX1fdXBkYXRlTWF4aW1pemVCdXR0b25zVmlzaWJpbGl0eSgpe3RoaXMuX3VwZGF0ZUJ0bkdyb3VwVmlzaWJpbGl0eSgpfV90b2dnbGVGdWxsc2NyZWVuQnV0dG9ucygpe2NvbnN0IGU9dGhpcy5fY2hhcnQuaW5GdWxsc2NyZWVuKCk7dGhpcy5fYnV0dG9ucy5tYXhpbWl6ZS5jbGFzc0xpc3QudG9nZ2xlKEssZSksdGhpcy5fYnV0dG9ucy5tYXhpbWl6ZS50aXRsZT1lP0Y6T31faXNNYXhpbWl6ZUJ1dHRvbkF2YWlsYWJsZSgpe3JldHVybiEhdGhpcy5fb3B0aW9ucy5tYXhpbWl6ZSYmKCEhdGhpcy5fY2hhcnQuZ2V0UmVzaXplckRldGFjaGVyKCkuZnVsbHNjcmVlbmFibGUudmFsdWUoKSYmIWIubWVkaWFTdGF0ZS5pc1Bob25lU2l6ZURldmljZSgpKX1fdHJhY2tFdmVudChlKXt0aGlzLl9jaGFydC5vbldpZGdldCgpfHwoMCxtLnRyYWNrRXZlbnQpKCJOYXZpZ2F0aW9uIGJ1dHRvbiIsZSl9fX0sMzA1NjQwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2ljb25zOigpPT5vfSk7dmFyIHM9aSg3ODMyNTQpO2NvbnN0IG89W3tpY29uOiLwn5S2IixsYWJlbDpzLnQobnVsbCx2b2lkIDAsaSg0NzkwNzgpKX0se2ljb246IvCfjYAiLGxhYmVsOnMudChudWxsLHZvaWQgMCxpKDc2MDUpKX0se2ljb246IvCfkqciLGxhYmVsOnMudChudWxsLHZvaWQgMCxpKDU3MzM0NykpfSx7aWNvbjoi4p2k77iPIixsYWJlbDpzLnQobnVsbCx2b2lkIDAsaSg2MTUyMjEpKX0se2ljb246IvCfkqkiLGxhYmVsOnMudChudWxsLHZvaWQgMCxpKDkyMzkwOSkpfV19LDY3MTgxOChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtMZWdlbmRXaWRnZXQ6KCk9PmJzfSk7dmFyIHM9aSg5MTg3NzkpLG89aSg1ODcxNjgpLG49aSgxMzg2MzgpLGE9aSg2MDE4NDEpLGw9aSg5MzAyMzEpLHI9aSgyMzIzNjQpLGQ9aSg5NTI5MDApLHU9aSg5NDgzODApLGM9aSgxMzQ2NyksaD1pKDIzNTcyNCkscD1pKDkwMDg0MSksXz1pKDMxODk3NCk7ZnVuY3Rpb24gZyhlLHQpe251bGw9PT1lLmZpcnN0Q2hpbGQ/ZS50ZXh0Q29udGVudD10OmUuZmlyc3RDaGlsZC5ub2RlVmFsdWU9dH12YXIgbT1pKDMyOTY2OCksYj1pKDk4MzYxNiksdj1pKDgwMDIyNiksZj1pKDM0NDc4NSksUz1pKDc3OTQ3NCkseT1pKDEyOTM2NSksdz1pKDczNDgyKTtmdW5jdGlvbiBDKGUpe2NvbnN0e2NvbnRhaW5lcjp0LC4uLml9PWU7cmV0dXJuIHkucmVuZGVyKFMuY3JlYXRlRWxlbWVudCh3LlN0YXR1c2VzUGlsbCx7Li4uaX0pLHQpLCgpPT57eS51bm1vdW50Q29tcG9uZW50QXROb2RlKHQpLGUuc2hvd1Rvb2x0aXBPdmVycmlkZUNhbGxiYWNrPy4oITApfX12YXIgRT1pKDM4NzIzMSkseD1pKDY2MzQpO2NvbnN0IEw9di50cmFja2luZ01vZGVJc0F2YWlsYWJsZT80NDoyODt2YXIgTSxUOyFmdW5jdGlvbihlKXtlW2UuVGlueT0xXT0iVGlueSIsZVtlLlNtYWxsPTJdPSJTbWFsbCIsZVtlLk1lZGl1bT0zXT0iTWVkaXVtIixlW2UuTGFyZ2U9NF09IkxhcmdlIn0oTXx8KE09e30pKSxmdW5jdGlvbihlKXtlW2UuTm9JbnRlcnZhbEZvck11bHRpQ2hhcnQ9MV09Ik5vSW50ZXJ2YWxGb3JNdWx0aUNoYXJ0IixlW2UuTm9FeGNoYW5nZVByb3ZpZGVyQW5kSW50ZXJ2YWw9Ml09Ik5vRXhjaGFuZ2VQcm92aWRlckFuZEludGVydmFsIixlW2UuQWxsVmlzaWJsZT0zXT0iQWxsVmlzaWJsZSJ9KFR8fChUPXt9KSk7dmFyIFYsayxBPWkoNjQwMjkyKSxXPWkoOTU2MzY4KSxJPWkoNTgyNDc2KTshZnVuY3Rpb24oZSl7ZVtlLlNlcmllc1RpdGxlPTBdPSJTZXJpZXNUaXRsZSIsZVtlLlNlcmllc0Rlc2NyaXB0aW9uPTFdPSJTZXJpZXNEZXNjcmlwdGlvbiIsZVtlLlNlcmllc0ludGVydmFsPTJdPSJTZXJpZXNJbnRlcnZhbCIsZVtlLlNlcmllc1Byb3ZpZGVyPTNdPSJTZXJpZXNQcm92aWRlciIsZVtlLlNlcmllc0V4Y2hhbmdlPTRdPSJTZXJpZXNFeGNoYW5nZSIsZVtlLlNlcmllc1N0eWxlPTVdPSJTZXJpZXNTdHlsZSIsZVtlLlNlcmllc1ByaWNlU291cmNlPTZdPSJTZXJpZXNQcmljZVNvdXJjZSIsZVtlLkRhdGFTb3VyY2VUaXRsZT03XT0iRGF0YVNvdXJjZVRpdGxlIixlW2UuRGF0YVNvdXJjZVN5bWJvbFRpdGxlPThdPSJEYXRhU291cmNlU3ltYm9sVGl0bGUiLGVbZS5EYXRhU291cmNlRXh0cmFUaXRsZT05XT0iRGF0YVNvdXJjZUV4dHJhVGl0bGUiLGVbZS5EYXRhU291cmNlSW5wdXQ9MTBdPSJEYXRhU291cmNlSW5wdXQifShWfHwoVj17fSkpLGZ1bmN0aW9uKGUpe2UuU21hbGw9InNtYWxsIixlLkxhcmdlPSJsYXJnZSJ9KGt8fChrPXt9KSk7dmFyIEI9aSg0MDIwNDUpLEg9aSg4NDg5ODgpLEQ9aSg4NzM1NzMpLFA9aSgxODUyNzEpLE49aSg1NzA2MDMpLFI9aSgzODY5MzEpO2Z1bmN0aW9uIE8oZSl7KDAsUi50cmFja0V2ZW50KSgiR1VJIiwiTGVnZW5kIGFjdGlvbiIsZSl9dmFyIEY9aSg5NjkxNjgpLHo9aSg5NDM5NSk7ZnVuY3Rpb24gaihlKXtyZXR1cm4oMCxhLmlzT2JqZWN0KShlKSYmIml0ZW1zImluIGV9ZnVuY3Rpb24gVShlKXtyZXR1cm4gdm9pZCAwIT09ZT9ELnJlc2V0VHJhbnNwYXJlbmN5KGUpOmV9ZnVuY3Rpb24gRyhlKXtyZXR1cm4gZS5oYXNPd25Qcm9wZXJ0eSgidG91Y2hlcyIpfQpjb25zdCBaPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoInNob3cge3RpdGxlfSIsUC50KG51bGwsdm9pZCAwLGkoNzI1MDkpKSksSj1uZXcgTi5UcmFuc2xhdGVkU3RyaW5nKCJoaWRlIHt0aXRsZX0iLFAudChudWxsLHZvaWQgMCxpKDU4OTgxNSkpKSxZPVAudChudWxsLHZvaWQgMCxpKDg5NzMwOSkpLHE9UC50KG51bGwsdm9pZCAwLGkoNzY5MzkxKSk7Y2xhc3MgJHtjb25zdHJ1Y3RvcihlLHQsaSxzLG8pe3RoaXMuX3RpdGxlcz1uZXcgQi5XYXRjaGVkT2JqZWN0KFtdKSx0aGlzLl92YWx1ZXM9bmV3IHIuV2F0Y2hlZFZhbHVlKFtdKSx0aGlzLl9hY3Rpb25zPVtdLHRoaXMuX2xvYWRpbmc9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9zeW1ib2xMb2dvVmlld01vZGVsPW5ldyByLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fbW9yZUFjdGlvbkFib3J0Q29udHJvbGxlcj1udWxsLHRoaXMuX29uU2hvd1NldHRpbmdzQWJvcnRDb250cm9sbGVyPW51bGwsdGhpcy5fdXBkYXRlTG9hZGluZ1N0YXR1cz0oKT0+e3RoaXMuX2xvYWRpbmcuc2V0VmFsdWUodGhpcy5fc291cmNlLmlzTG9hZGluZygpKX0sdGhpcy5fbW9kZWw9ZSx0aGlzLl9zb3VyY2U9dCx0aGlzLl9vcHRpb25zPWksdGhpcy5fY2FsbGJhY2tzPXMsdGhpcy5fY29udGV4dE1lbnVPcHRpb25zPW8sdGhpcy5fZGlzYWJsZWQ9bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldERpc2FibGVkU3RhdGUoKSksdGhpcy5fZGlzYWJsZWRPbkludGVydmFsPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXREaXNhYmxlZE9uSW50ZXJ2YWxTdGF0ZSgpKSx0aGlzLl9zZWxlY3RlZD1uZXcgci5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2lzVGl0bGVIaWRkZW49bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldFRpdGxlSGlkZGVuVmFsdWUoKSksdGhpcy5faXNWYWx1ZXNIaWRkZW49bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldFZhbHVlc0hpZGRlblZhbHVlKCkpLHRoaXMuX2lzUm93SGlkZGVuPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRSb3dIaWRkZW5WYWx1ZSgpKSx0aGlzLl9pc0VkaXRhYmxlPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRJc0VkaXRhYmxlKCkpLCgwLGQuY29tYmluZSkoKChlLHQsaSk9Pih7fSkpLHRoaXMuX2lzVGl0bGVIaWRkZW4ud2Vha1JlZmVyZW5jZSgpLHRoaXMuX2lzVmFsdWVzSGlkZGVuLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9kaXNhYmxlZC53ZWFrUmVmZXJlbmNlKCkpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVSb3dWaXNpYmlsaXRpZXMuYmluZCh0aGlzKSksdGhpcy5fdmFsdWVzLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9pc1ZhbHVlc0hpZGRlbi5zZXRWYWx1ZSh0aGlzLl9nZXRWYWx1ZXNIaWRkZW5WYWx1ZSgpKX0pKX1kZXN0cm95KCl7dGhpcy5fc3ltYm9sTG9nb1ZpZXdNb2RlbC52YWx1ZSgpPy5kZXN0cm95KCksdGhpcy5fZGVzdHJveWVkPSEwfXRpdGxlcygpe3JldHVybiB0aGlzLl90aXRsZXMucmVhZG9ubHkoKX12YWx1ZXMoKXtyZXR1cm4gdGhpcy5fdmFsdWVzLnJlYWRvbmx5KCl9YWN0aW9ucygpe3JldHVybiB0aGlzLl9hY3Rpb25zfWRpc2FibGVkKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkLnJlYWRvbmx5KCl9ZGlzYWJsZWRPbkludGVydmFsKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkT25JbnRlcnZhbC5yZWFkb25seSgpfXNlbGVjdGVkKCl7cmV0dXJuIHRoaXMuX3NlbGVjdGVkLnJlYWRvbmx5KCl9bG9hZGluZygpe3JldHVybiB0aGlzLl9sb2FkaW5nLnJlYWRvbmx5KCl9aXNUaXRsZUhpZGRlbigpe3JldHVybiB0aGlzLl9pc1RpdGxlSGlkZGVuLnJlYWRvbmx5KCl9aXNSb3dIaWRkZW4oKXtyZXR1cm4gdGhpcy5faXNSb3dIaWRkZW4ucmVhZG9ubHkoKX1pc0VkaXRhYmxlKCl7cmV0dXJuIHRoaXMuX2lzRWRpdGFibGUucmVhZG9ubHkoKX1zeW1ib2xMb2dvVmlld01vZGVsKCl7cmV0dXJuIHRoaXMuX3N5bWJvbExvZ29WaWV3TW9kZWx9dXBkYXRlKCl7dGhpcy5fdXBkYXRlVGl0bGVzKCksdGhpcy5fdXBkYXRlVmFsdWVzKCksdGhpcy5fdXBkYXRlU3RhdGVzKCksdGhpcy5zeW1ib2xMb2dvVmlld01vZGVsKCk/LnZhbHVlKCk/LnVwZGF0ZSgpfW9uVG9nZ2xlRGlzYWJsZWQoKXtjb25zdCBlPXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudmlzaWJsZSx0PSFlLnZhbHVlKCk7dGhpcy5fbW9kZWwuc2V0UHJvcGVydHkoZSx0LCh0P1o6SikuZm9ybWF0KHt0aXRsZTpuZXcgTi5UcmFuc2xhdGVkU3RyaW5nKHRoaXMuX3NvdXJjZS5uYW1lKCksdGhpcy5fc291cmNlLnRpdGxlKHouVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpKX0pKSxPKCh0PyJTaG93IjoiSGlkZSIpKyIgc291cmNlIil9YXN5bmMgb25TaG93U2V0dGluZ3MoZSx0KXtpZighdGhpcy5fc291cmNlLnVzZXJFZGl0RW5hYmxlZCgpKXJldHVybjtjb25zdCBpPWV8fCJzZXR0aW5ncyI7dGhpcy5fb25TaG93U2V0dGluZ3NBYm9ydENvbnRyb2xsZXImJiF0aGlzLl9vblNob3dTZXR0aW5nc0Fib3J0Q29udHJvbGxlci5zaWduYWwuYWJvcnRlZCYmdGhpcy5fb25TaG93U2V0dGluZ3NBYm9ydENvbnRyb2xsZXIuYWJvcnQoaSk7Y29uc3Qgcz10aGlzLl9vblNob3dTZXR0aW5nc0Fib3J0Q29udHJvbGxlcj1uZXcgQWJvcnRDb250cm9sbGVyO3QmJnMuc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKCk9PntzLnNpZ25hbC5yZWFzb24hPT1pJiZ0KCl9KSx7b25jZTohMH0pO2NvbnN0IG89KCk9PnMuYWJvcnQoKTtPKCJTZXR0aW5ncyBmb3Igc291cmNlIiksdGhpcy5zZXRTb3VyY2VTZWxlY3RlZCgpO3RyeXtjb25zdCB0PWF3YWl0IHRoaXMuX2NhbGxiYWNrcy5zaG93Q2hhcnRQcm9wZXJ0aWVzRm9yU291cmNlKHRoaXMuX3NvdXJjZSxlKTt0JiYodC52aXNpYmxlKCkuc3Vic2NyaWJlKG8se29uY2U6ITB9KSxzLnNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCgpPT57dC52aXNpYmxlKCkudW5zdWJzY3JpYmUobyksdC5oaWRlKCl9KSx7b25jZTohMH0pKX1jYXRjaHtvKCl9fXNldFNvdXJjZVNlbGVjdGVkKCl7dGhpcy5fbW9kZWwuc2VsZWN0aW9uTWFjcm8oKGU9PnsKZS5jbGVhclNlbGVjdGlvbigpLGUuYWRkSXRlbVRvU2VsZWN0aW9uKHRoaXMuX3NvdXJjZSl9KSl9Y2hhcnRNb2RlbElkKCl7cmV0dXJuIHRoaXMuX21vZGVsLmlkKCl9YXN5bmMgX21vcmVBY3Rpb25IYW5kbGVyKGUsdCl7aWYoIXRoaXMuX29wdGlvbnMucmVhZE9ubHlNb2RlKWlmKGUucHJldmVudERlZmF1bHQoKSwhdGhpcy5fbW9yZUFjdGlvbkFib3J0Q29udHJvbGxlcnx8dGhpcy5fbW9yZUFjdGlvbkFib3J0Q29udHJvbGxlci5zaWduYWwuYWJvcnRlZCl7Y29uc3QgaT10aGlzLl9tb3JlQWN0aW9uQWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXI7aS5zaWduYWwuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHQse29uY2U6ITB9KTtjb25zdCBzPSgpPT5pLmFib3J0KCk7dGhpcy5zZXRTb3VyY2VTZWxlY3RlZCgpO3RyeXtjb25zdCB0PWF3YWl0IHRoaXMuX29uU2hvd01vcmVBY3Rpb25zKGUscyk7aS5zaWduYWwuYWJvcnRlZCYmdCYmdC5oaWRlKCl9Y2F0Y2h7cygpfX1lbHNlIHRoaXMuX21vcmVBY3Rpb25BYm9ydENvbnRyb2xsZXIuYWJvcnQoKX1fdXBkYXRlU3RhdGVzKCl7dGhpcy5fZGlzYWJsZWQuc2V0VmFsdWUodGhpcy5fZ2V0RGlzYWJsZWRTdGF0ZSgpKSx0aGlzLl9kaXNhYmxlZE9uSW50ZXJ2YWwuc2V0VmFsdWUodGhpcy5fZ2V0RGlzYWJsZWRPbkludGVydmFsU3RhdGUoKSksdGhpcy5fc2VsZWN0ZWQuc2V0VmFsdWUodGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zb3VyY2UpKSx0aGlzLl9pc0VkaXRhYmxlLnNldFZhbHVlKHRoaXMuX2dldElzRWRpdGFibGUoKSksdGhpcy5fdXBkYXRlTG9hZGluZ1N0YXR1cygpfV9oYXNWYWx1ZXMoKXtyZXR1cm4gdGhpcy5fdmFsdWVzLnZhbHVlKCkubGVuZ3RoPjB9X2dldEV5ZVRpdGxlKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkLnZhbHVlKCk/WTpxfV9nZXRJc0VkaXRhYmxlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS51c2VyRWRpdEVuYWJsZWQoKX1fZ2V0RGlzYWJsZWRTdGF0ZSgpe3JldHVybiF0aGlzLl9zb3VyY2UucHJvcGVydGllcygpLnZpc2libGUudmFsdWUoKX1fdXBkYXRlUm93VmlzaWJpbGl0aWVzKCl7dGhpcy5faXNSb3dIaWRkZW4uc2V0VmFsdWUodGhpcy5fZ2V0Um93SGlkZGVuVmFsdWUoKSl9X2dldFJvd0hpZGRlblZhbHVlKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMucmVhZE9ubHlNb2RlJiZ0aGlzLl9kaXNhYmxlZC52YWx1ZSgpfHx0aGlzLl9pc1RpdGxlSGlkZGVuLnZhbHVlKCkmJih0aGlzLl9pc1ZhbHVlc0hpZGRlbi52YWx1ZSgpfHx0aGlzLl9kaXNhYmxlZC52YWx1ZSgpKX1hc3luYyBfb25TaG93TW9yZUFjdGlvbnMoZSx0KXtyZXR1cm4gTygiU2hvdyBzb3VyY2UgY29udGV4dCBtZW51IiksdGhpcy5fY2FsbGJhY2tzLnNob3dDb250ZXh0TWVudUZvclNvdXJjZXMoW3RoaXMuX3NvdXJjZV0sdGhpcy5fY2FsY05ld1Bvc2l0aW9uKGUpLHsuLi50aGlzLl9jb250ZXh0TWVudU9wdGlvbnMsaXNLZXlib2FyZEV2ZW50OiFHKGUpJiYoMCxILmlzS2V5Ym9hcmRDbGljaykoZSl9LHtvcmlnaW46IkxlZ2VuZFByb3BlcnRpZXNDb250ZXh0TWVudSIsb25DbG9zZTp0fSl9X2NhbGNOZXdQb3NpdGlvbihlKXtsZXQgdD17fTtpZihHKGUpJiZlLnRvdWNoZXMubGVuZ3RoPjApdD17Y2xpZW50WDplLnRvdWNoZXNbMF0uY2xpZW50WCxjbGllbnRZOmUudG91Y2hlc1swXS5jbGllbnRZfTtlbHNlIGlmKG51bGwhPT1lLnRhcmdldCl7Y29uc3QgaT1lLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0PXtjbGllbnRYOigwLEYuaXNSdGwpKCk/aS5yaWdodDppLmxlZnQsY2xpZW50WTppLnRvcCtpLmhlaWdodCszfX1lbHNle2NvbnN0IGk9ZTt0PXtjbGllbnRYOmkuY2xpZW50WCxjbGllbnRZOmkuY2xpZW50WX19cmV0dXJuIHR9fXZhciBRPWkoNjQ5MTY2KSxLPWkoMzM2MzM0KSxYPWkoNzcyMDI4KTtjb25zdCBlZT0odGU9US5Mb2FkZXIsaWU9e3N0YXRpY1Bvc2l0aW9uOiEwLHNpemU6InNtYWxsIn0sKGUsdCk9PmZ1bmN0aW9uKGUsdCxpLHMpe2NvbnN0IG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLG49KDAsSy5jcmVhdGVSb290KShvKTtsKCExKTtjb25zdHtjbGFzc05hbWU6YX09cz8/e307cmV0dXJuIGEmJm8uY2xhc3NMaXN0LmFkZChhKSxuLnJlbmRlcigoMCxTLmNyZWF0ZUVsZW1lbnQpKHQsaSkpLGUmJnIoZSkse3RvZ2dsZVZpc2liaWxpdHk6bCxkZXN0cm95OmZ1bmN0aW9uKCl7bi51bm1vdW50KCl9LG1vdW50VG86cn07ZnVuY3Rpb24gbChlKXtvLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbiwhZSl9ZnVuY3Rpb24gcihlKXtlLmFwcGVuZENoaWxkKG8pfX0oZSx0ZSxpZSx0KSk7dmFyIHRlLGllLHNlPWkoMTY3NTAyKSxvZT1pKDkxNDQ4NyksbmU9aS5uKG9lKSxhZT1pKDYyNzg0OCksbGU9aSg3OTQxODcpLHJlPWkoNjQzOTAzKSxkZT1pKDk3MzgwNCksdWU9aSgzODc3NzQpLGNlPWkoNjU3NTYwKTtjbGFzcyBoZXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9sYXN0RHJhd25Mb2dvcz1bXSx0aGlzLl9sb2dvV3JhcHBlcj1udWxsLHRoaXMuX3BhaXJDb250YWluZXI9bnVsbCx0aGlzLl9wcmltYXJ5TG9nbz1udWxsLHRoaXMuX3NlY29uZGFyeUxvZ289bnVsbCx0aGlzLl9sb2dvQ29udGFpbmVyPW51bGwsdGhpcy5fc3ltYm9sTGV0dGVyQ29udGFpbmVyPW51bGwsdGhpcy5fYWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsdGhpcy5fdXBkYXRlTG9nb1Zpc2liaWxpdHk9ZT0+e3RoaXMuX2xvZ29XcmFwcGVyJiZ0aGlzLl9sb2dvV3JhcHBlci5jbGFzc0xpc3QudG9nZ2xlKGNlLmhpZGRlbiwhZSl9LHRoaXMuX3VwZGF0ZVN5bWJvbExvZ289YXN5bmMgZT0+e2lmKG51bGw9PT10aGlzLl9sb2dvV3JhcHBlciYmdGhpcy5fcmVuZGVyU3ltYm9sTG9nbygpLDAhPT10aGlzLl9sYXN0RHJhd25Mb2dvcy5sZW5ndGgmJjAhPT1lLmxlbmd0aCYmKDAsc2UuZGVmYXVsdCkodGhpcy5fbGFzdERyYXduTG9nb3MsZSkpcmV0dXJuO2NvbnN0IHQ9YXdhaXQoaT1lLHM9dGhpcy5fYWJvcnRDb250cm9sbGVyLnNpZ25hbCxQcm9taXNlLmFsbChpLm1hcCgoZT0+KDAsCmRlLmdldEltYWdlKShgc3ltYm9sX2xvZ29fJHtlfWAsZSxfZSxzKS50aGVuKChlPT5lLmNsb25lTm9kZSgpKSkpKSkpLmNhdGNoKCgoKT0+W10pKTt2YXIgaSxzO3N3aXRjaCh0Lmxlbmd0aCl7Y2FzZSAwOnRoaXMuX3BhaXJDb250YWluZXI/LmNsYXNzTGlzdC5hZGQoY2UuaGlkZGVuKSx0aGlzLl9sb2dvQ29udGFpbmVyPy5jbGFzc0xpc3QuYWRkKHVlLmhpZGRlbkNpcmNsZUxvZ29DbGFzcyksdGhpcy5fdXBkYXRlU3ltYm9sTGV0dGVyKCksdGhpcy5fc3ltYm9sTGV0dGVyQ29udGFpbmVyPy5jbGFzc0xpc3QucmVtb3ZlKHVlLmhpZGRlbkNpcmNsZUxvZ29DbGFzcyksdGhpcy5fbGFzdERyYXduTG9nb3M9ZTticmVhaztjYXNlIDE6cGUodGhpcy5fbG9nb0NvbnRhaW5lcix0WzBdKSx0aGlzLl9wYWlyQ29udGFpbmVyPy5jbGFzc0xpc3QuYWRkKGNlLmhpZGRlbiksdGhpcy5fbG9nb0NvbnRhaW5lcj8uY2xhc3NMaXN0LnJlbW92ZSh1ZS5oaWRkZW5DaXJjbGVMb2dvQ2xhc3MpLHRoaXMuX3N5bWJvbExldHRlckNvbnRhaW5lcj8uY2xhc3NMaXN0LmFkZCh1ZS5oaWRkZW5DaXJjbGVMb2dvQ2xhc3MpLHRoaXMuX2xhc3REcmF3bkxvZ29zPWU7YnJlYWs7Y2FzZSAyOnBlKHRoaXMuX3ByaW1hcnlMb2dvLHRbMF0pLHBlKHRoaXMuX3NlY29uZGFyeUxvZ28sdFsxXSksdGhpcy5fcGFpckNvbnRhaW5lcj8uY2xhc3NMaXN0LnJlbW92ZShjZS5oaWRkZW4pLHRoaXMuX2xvZ29Db250YWluZXI/LmNsYXNzTGlzdC5hZGQodWUuaGlkZGVuQ2lyY2xlTG9nb0NsYXNzKSx0aGlzLl9zeW1ib2xMZXR0ZXJDb250YWluZXI/LmNsYXNzTGlzdC5hZGQodWUuaGlkZGVuQ2lyY2xlTG9nb0NsYXNzKSx0aGlzLl9sYXN0RHJhd25Mb2dvcz1lfX0sdGhpcy5fbW9kZWw9ZSx0aGlzLl9yZW5kZXJTeW1ib2xMb2dvKCksdGhpcy5fbG9nb1VybHM9ZS5zeW1ib2xMb2dvVXJscygpLnNwYXduKCksdGhpcy5fbG9nb1VybHMuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN5bWJvbExvZ28se2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX2lzTG9nb1Zpc2libGU9ZS5pc1N5bWJvbExvZ29WaXNpYmxlKCkuc3Bhd24oKSx0aGlzLl9pc0xvZ29WaXNpYmxlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVMb2dvVmlzaWJpbGl0eSx7Y2FsbFdpdGhMYXN0OiEwfSl9ZGVzdHJveSgpe3RoaXMuX2xvZ29XcmFwcGVyPy5yZW1vdmUoKSx0aGlzLl9sb2dvV3JhcHBlcj1udWxsLHRoaXMuX3BhaXJDb250YWluZXI9bnVsbCx0aGlzLl9wcmltYXJ5TG9nbz1udWxsLHRoaXMuX3NlY29uZGFyeUxvZ289bnVsbCx0aGlzLl9sb2dvQ29udGFpbmVyPW51bGwsdGhpcy5fc3ltYm9sTGV0dGVyQ29udGFpbmVyPW51bGwsdGhpcy5fbG9nb1VybHMuZGVzdHJveSgpLHRoaXMuX2lzTG9nb1Zpc2libGUuZGVzdHJveSgpLHRoaXMuX2Fib3J0Q29udHJvbGxlci5hYm9ydCgpfWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fbG9nb1dyYXBwZXJ9X3JlbmRlclN5bWJvbExvZ28oKXtpZighdGhpcy5fbG9nb1dyYXBwZXIpe2NvbnN0IGU9dGhpcy5fbG9nb1dyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZS5jbGFzc0xpc3QuYWRkKGNlLmxvZ29XcmFwcGVyKSxlLmRhdGFzZXQucWFJZD0ibGVnZW5kLWxvZ28td3JhcHBlciI7Y29uc3QgdD10aGlzLl9wYWlyQ29udGFpbmVyPWUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpKTt0LmNsYXNzTGlzdC5hZGQoY2UucGFpckNvbnRhaW5lcixjZS5oaWRkZW4pO2NvbnN0IGk9dC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIikpO2kuY2xhc3NOYW1lPSgwLGFlLmdldEJsb2NrU3R5bGVDbGFzc2VzKSgieHh4c21hbGwiKTsodGhpcy5fc2Vjb25kYXJ5TG9nbz1pLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSkpLmNsYXNzTmFtZT1uZSgpKCgwLGFlLmdldExvZ29TdHlsZUNsYXNzZXMpKCJ4eHhzbWFsbCIpLGNlLmxvZ28pOyh0aGlzLl9wcmltYXJ5TG9nbz1pLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSkpLmNsYXNzTmFtZT1uZSgpKCgwLGFlLmdldExvZ29TdHlsZUNsYXNzZXMpKCJ4eHhzbWFsbCIpLGNlLmxvZ28pOyh0aGlzLl9sb2dvQ29udGFpbmVyPWUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpKSkuY2xhc3NOYW1lPW5lKCkoKDAsbGUuZ2V0U3R5bGVDbGFzc2VzKSgieHh4c21hbGwiKSxjZS5sb2dvLHVlLmhpZGRlbkNpcmNsZUxvZ29DbGFzcyk7KHRoaXMuX3N5bWJvbExldHRlckNvbnRhaW5lcj1lLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSkpLmNsYXNzTmFtZT1uZSgpKCgwLGxlLmdldFN0eWxlQ2xhc3NlcykoInh4eHNtYWxsIiksY2UubG9nbyksdGhpcy5fdXBkYXRlU3ltYm9sTGV0dGVyKCl9fV91cGRhdGVTeW1ib2xMZXR0ZXIoKXtpZih0aGlzLl9zeW1ib2xMZXR0ZXJDb250YWluZXIpe2NvbnN0IGU9KDAscmUuc2FmZVNob3J0TmFtZSkodGhpcy5fbW9kZWwuc3ltYm9sKCk/PyIiKVswXTtnKHRoaXMuX3N5bWJvbExldHRlckNvbnRhaW5lcixlKX19fWZ1bmN0aW9uIHBlKGUsdCl7ZSYmZS5yZXBsYWNlQ2hpbGRyZW4odCl9ZnVuY3Rpb24gX2UoZSl7ZS5jcm9zc09yaWdpbj0iIixlLmRlY29kaW5nPSJhc3luYyJ9Y29uc3QgZ2U9Xy5DaGVja01vYmlsZS5hbnkoKTtmdW5jdGlvbiBtZShlLHQpe2UuZGF0YXNldC5zdGF0dXM9dD8ibG9hZGluZyI6dm9pZCAwfWNvbnN0IGJlPSgwLEUubWVyZ2VUaGVtZXMpKHcuREVGQVVMVF9TVEFUVVNfUkVOREVSRVJfVEhFTUUse3N0YXR1c2VzV3JhcDpjZS5zdGF0dXNlc1dyYXBwZXJfX3N0YXR1c2VzfSk7Y2xhc3MgdmV7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX2VsPW51bGwsdGhpcy5fZmlyc3RCbG9ja1dyYXBwZXI9bnVsbCx0aGlzLl90aXRsZXNXcmFwcGVyRWw9bnVsbCx0aGlzLl90aXRsZUNvbnRhaW5lcnM9W10sdGhpcy5fdGl0bGVFbGVtZW50cz1bXSx0aGlzLl92YWx1ZXNFbGVtZW50cz1bXSx0aGlzLl9hY3Rpb25zUGFyZW50RWw9bnVsbCwKdGhpcy5fYWN0aW9uQWRkaXRpb25hbFdyYXBwZXJFbD1udWxsLHRoaXMuX2FjdGlvbkVsZW1lbnRzPVtdLHRoaXMuX2FjY2Vzc2libGVUaXRsZUJ1dHRvbnM9W10sdGhpcy5fYWNjZXNzaWJsZUFjdGlvbkJ1dHRvbnM9W10sdGhpcy5fcm93TW9kZT00LHRoaXMuX3RpdGxlc01vZGU9Myx0aGlzLl9zdGF0dXNlc1dyYXBwZXI9bnVsbCx0aGlzLl9zdGF0dXNlc1dpZGdldFN0YXRlPW51bGwsdGhpcy5fbG9hZGVyPW51bGwsdGhpcy5fdmFsdWVzUGFyZW50RWw9bnVsbCx0aGlzLl92YWx1ZXNBZGRpdGlvbmFsV3JhcHBlckVsPW51bGwsdGhpcy5fc3ltYm9sTG9nb1JlbmRlcmVyPW51bGwsdGhpcy5fcmVzaXplT2JzZXJ2ZXI9bnVsbCx0aGlzLl9oaWRlSW52aXNpYmxlSG92ZXI9bnVsbCx0aGlzLl9oaWRlVmFsdWVzPW51bGwsdGhpcy5fYWxsQnV0dG9uc1dpZHRoPW51bGwsdGhpcy5fbGFzdFN0YXR1c2VzV3JhcHBlcldpZHRoPW51bGwsdGhpcy5fbGFzdEFjdGlvbnNXcmFwcGVyV2lkdGg9bnVsbCx0aGlzLl9zaG93QWN0aW9uc0hhbmRsZXI9bnVsbCx0aGlzLl9oaWRlQWN0aW9uc0hhbmRsZXI9bnVsbCx0aGlzLl9zZWxlY3RlZFNvdXJjZUhhbmRsZXI9bnVsbCx0aGlzLl9tb3VzZUV2ZW50SGFuZGxlcnM9W10sdGhpcy5fZGlzYWJsZVRpbWVvdXQ9bnVsbCx0aGlzLl90b2dnbGVIaWRkZW5BY3Rpb25zPW51bGwsdGhpcy5fdXBkYXRlRGlzYWJsZWRTdGF0ZT0oZT10aGlzLl9kaXNhYmxlZC52YWx1ZSgpKT0+e251bGwhPT10aGlzLl9lbCYmKHRoaXMuX2VsLmNsYXNzTGlzdC50b2dnbGUoY2UuZGlzYWJsZWQsZSksdGhpcy5fdXBkYXRlTG9hZGluZ1N0YXRlKCksdGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0VmlzaWJpbGl0eShlKSx0aGlzLl91cGRhdGVUaXRsZU1heFdpZHRoKCkpfSx0aGlzLl91cGRhdGVMb2FkaW5nU3RhdGU9KGU9dGhpcy5fbG9hZGluZy52YWx1ZSgpKT0+e2lmKG51bGwhPT10aGlzLl9lbCl7dGhpcy5fZWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5leWVMb2FkaW5nLGUmJiF0aGlzLl9kaXNhYmxlZC52YWx1ZSgpKSxtZSh0aGlzLl9lbCxlKX1udWxsIT09dGhpcy5fbG9hZGVyJiZ0aGlzLl9sb2FkZXIudG9nZ2xlVmlzaWJpbGl0eShlKSx0aGlzLl91cGRhdGVTaG93VmFsdWVzKCl9LHRoaXMuX3VwZGF0ZVN5bWJvbExvZ29SZW5kZXJlcj1lPT57aWYodGhpcy5fc3ltYm9sTG9nb1JlbmRlcmVyPy5kZXN0cm95KCksZSl7dGhpcy5fc3ltYm9sTG9nb1JlbmRlcmVyPW5ldyBoZShlKTtjb25zdCB0PXRoaXMuX3RpdGxlc1N0YXRlc1NwYXduLnZhbHVlKCkuZmluZEluZGV4KChlPT50aGlzLl9pc1RpdGxlV2l0aFN5bWJvbExvZ28oZSkpKTtpZigtMSE9PXQpe2NvbnN0IGU9dGhpcy5fdGl0bGVDb250YWluZXJzW3RdO2lmKGUpe2NvbnN0IHQ9dGhpcy5fc3ltYm9sTG9nb1JlbmRlcmVyLmdldEVsZW1lbnQoKTt0JiZlLmluc2VydEJlZm9yZSh0LGUuZmlyc3RDaGlsZCl9fX1lbHNlIHRoaXMuX3N5bWJvbExvZ29SZW5kZXJlcj1udWxsfSx0aGlzLl9tb2RlbD1lLHRoaXMuX3BhcmVudEVsPXQsdGhpcy5fZGlzYWJsZWQ9dGhpcy5fbW9kZWwuZGlzYWJsZWQoKS5zcGF3bigpLHRoaXMuX2Rpc2FibGVkLnN1YnNjcmliZSh0aGlzLl91cGRhdGVEaXNhYmxlZFN0YXRlKSx0aGlzLl9kaXNhYmxlZE9uSW50ZXJ2YWw9dGhpcy5fbW9kZWwuZGlzYWJsZWRPbkludGVydmFsKCkuc3Bhd24oKSx0aGlzLl9kaXNhYmxlZE9uSW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZURpc2FibGVkT25JbnRlcnZhbFN0YXRlLmJpbmQodGhpcykpLHRoaXMuX3NlbGVjdGVkPXRoaXMuX21vZGVsLnNlbGVjdGVkKCkuc3Bhd24oKSx0aGlzLl9zZWxlY3RlZC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU2VsZWN0ZWRTdGF0ZS5iaW5kKHRoaXMpKSx0aGlzLl9sb2FkaW5nPXRoaXMuX21vZGVsLmxvYWRpbmcoKS5zcGF3bigpLHRoaXMuX2xvYWRpbmcuc3Vic2NyaWJlKGZ1bmN0aW9uKGUsdCl7bGV0IGk9MDtyZXR1cm4gcz0+e2NsZWFyVGltZW91dChpKSxzP2UoKTppPXNldFRpbWVvdXQoZSx0KX19KHRoaXMuX3VwZGF0ZUxvYWRpbmdTdGF0ZSw3MDApKSx0aGlzLl9pc1RpdGxlSGlkZGVuPXRoaXMuX21vZGVsLmlzVGl0bGVIaWRkZW4oKS5zcGF3bigpLHRoaXMuX2lzUm93SGlkZGVuPXRoaXMuX21vZGVsLmlzUm93SGlkZGVuKCkuc3Bhd24oKSx0aGlzLl9pc1RpdGxlSGlkZGVuLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTaG93VGl0bGVzLmJpbmQodGhpcykpLHRoaXMuX2lzUm93SGlkZGVuLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTaG93TGluZS5iaW5kKHRoaXMpKSx0aGlzLl90aXRsZXNTdGF0ZXNTcGF3bj10aGlzLl9tb2RlbC50aXRsZXMoKS5zcGF3bigpLHRoaXMuX3RpdGxlc1N0YXRlc1NwYXduLnN1YnNjcmliZSh0aGlzLl90aXRsZXNDb2xsZWN0aW9uQ2hhbmdlZC5iaW5kKHRoaXMpKSx0aGlzLl92YWx1ZXM9dGhpcy5fbW9kZWwudmFsdWVzKCkuc3Bhd24oKSx0aGlzLl92YWx1ZXMuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZhbHVlcy5iaW5kKHRoaXMpKSx0aGlzLl9jcmVhdGVWYWx1ZXNTcGF3bnMoKSx0aGlzLl9hZGRWYWx1ZXNTcGF3bnNTdWJzY3JpcHRpb25zKCksZS5zeW1ib2xMb2dvVmlld01vZGVsKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN5bWJvbExvZ29SZW5kZXJlciksdGhpcy5fdXBkYXRlU3ltYm9sTG9nb1JlbmRlcmVyKGUuc3ltYm9sTG9nb1ZpZXdNb2RlbCgpLnZhbHVlKCkpLHRoaXMuX2FjdGlvbnNTcGF3bkFycmF5PXRoaXMuX21vZGVsLmFjdGlvbnMoKS5tYXAoKGU9Pih7dmlzaWJsZTplLnZpc2libGUuc3Bhd24oKSxhY3RpdmU6ZS5hY3RpdmU/LnNwYXduKCksdGl0bGU6dm9pZCAwPT09ZS50aXRsZT9udWxsOmUudGl0bGUuc3Bhd24oKX0pKSk7Zm9yKGxldCBlPTA7ZTx0aGlzLl9hY3Rpb25zU3Bhd25BcnJheS5sZW5ndGg7ZSsrKXtjb25zdHt2aXNpYmxlOnQsdGl0bGU6aSxhY3RpdmU6c309dGhpcy5fYWN0aW9uc1NwYXduQXJyYXlbZV07dC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWN0aW9uVmlzaWJpbGl0aWVzLmJpbmQodGhpcyxlKSksCnM/LnN1YnNjcmliZSgoKCk9PnRoaXMuX3VwZGF0ZUFjdGlvbkFjdGl2ZVN0YXR1cyhlKSkpLGk/LnN1YnNjcmliZSh0aGlzLl91cGRhdGVBY3Rpb25UaXRsZS5iaW5kKHRoaXMsZSkpfXRoaXMuX3dpdGhBY3Rpb25zPWkud2l0aEFjdGlvbnMsdGhpcy5faXNNdWx0aXBsZUxheW91dD1pLmlzTXVsdGlwbGVMYXlvdXQuc3Bhd24oKSx0aGlzLl9jdXN0b21UZXh0Q29sb3I9aS5jdXN0b21UZXh0Q29sb3Iuc3Bhd24oKSx0aGlzLl9jdXN0b21UZXh0Q29sb3Iuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUN1c3RvbVRleHRDb2xvci5iaW5kKHRoaXMpKSx0aGlzLl9yZW5kZXIoKSx0aGlzLl91cGRhdGVTdGF0ZXMoKSx0aGlzLl91cGRhdGVTaG93VGl0bGVzKCksdGhpcy5fdXBkYXRlU2hvd1ZhbHVlcygpLHRoaXMuX3VwZGF0ZVNob3dMaW5lKCksdGhpcy5fbG9hZGVyPWVlKCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fdmFsdWVzUGFyZW50RWwpLHtjbGFzc05hbWU6Y2UubG9hZGVyfSksdGhpcy5fd2l0aEFjdGlvbnMmJih0aGlzLl90b2dnbGVIaWRkZW5BY3Rpb25zPWkudG9nZ2xlSGlkZGVuQWN0aW9ucyx0aGlzLl9zaG93QWN0aW9uc0hhbmRsZXI9KDAsSS53cmFwSGFuZGxlcldpdGhQcmV2ZW50RXZlbnQpKHRoaXMuX3Nob3dBY3Rpb25zLmJpbmQodGhpcykpLHRoaXMuX2hpZGVBY3Rpb25zSGFuZGxlcj0oMCxJLndyYXBIYW5kbGVyV2l0aFByZXZlbnRFdmVudCkodGhpcy5faGlkZUFjdGlvbnMuYmluZCh0aGlzKSksdGhpcy5fc2VsZWN0ZWRTb3VyY2VIYW5kbGVyPSgwLHguZGVmYXVsdFByZXZlbnRlZEhhbmRsZXIpKHRoaXMuX21vZGVsLnNldFNvdXJjZVNlbGVjdGVkLmJpbmQodGhpcy5fbW9kZWwpKSxudWxsIT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiYoZ2V8fCh0aGlzLl90aXRsZXNXcmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdGhpcy5fc2hvd0FjdGlvbnNIYW5kbGVyKSx0aGlzLl90aXRsZXNXcmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5faGlkZUFjdGlvbnNIYW5kbGVyKSksdGhpcy5fbW91c2VFdmVudEhhbmRsZXJzLnB1c2gobmV3IHguTW91c2VFdmVudEhhbmRsZXIodGhpcy5fdGl0bGVzV3JhcHBlckVsLHttb3VzZURvdWJsZUNsaWNrRXZlbnQ6dGhpcy5fbW9kZWwub25TaG93U2V0dGluZ3MuYmluZCh0aGlzLl9tb2RlbCksZG91YmxlVGFwRXZlbnQ6dGhpcy5fbW9kZWwub25TaG93U2V0dGluZ3MuYmluZCh0aGlzLl9tb2RlbCksbW91c2VDbGlja0V2ZW50OnRoaXMuX3NlbGVjdGVkU291cmNlSGFuZGxlcix0YXBFdmVudDp0aGlzLl9zZWxlY3RlZFNvdXJjZUhhbmRsZXJ9KSkpLG51bGw9PT10aGlzLl9hY3Rpb25BZGRpdGlvbmFsV3JhcHBlckVsfHxudWxsPT09dGhpcy5fYWN0aW9uc1BhcmVudEVsfHxnZXx8KHRoaXMuX2FjdGlvbkFkZGl0aW9uYWxXcmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdGhpcy5fc2hvd0FjdGlvbnNIYW5kbGVyKSx0aGlzLl9hY3Rpb25BZGRpdGlvbmFsV3JhcHBlckVsLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX2hpZGVBY3Rpb25zSGFuZGxlciksdGhpcy5fYWN0aW9uc1BhcmVudEVsLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwoZT0+e2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpfSkpKSl9ZGVzdHJveSgpe2lmKHRoaXMuX3RvZ2dsZUhpZGRlbkFjdGlvbnM9bnVsbCx0aGlzLl9kaXNhYmxlZC5kZXN0cm95KCksdGhpcy5fZGlzYWJsZWRPbkludGVydmFsLmRlc3Ryb3koKSx0aGlzLl9zZWxlY3RlZC5kZXN0cm95KCksdGhpcy5fbG9hZGluZy5kZXN0cm95KCksdGhpcy5faXNUaXRsZUhpZGRlbi5kZXN0cm95KCksdGhpcy5faXNSb3dIaWRkZW4uZGVzdHJveSgpLHRoaXMuX2N1c3RvbVRleHRDb2xvci5kZXN0cm95KCksdGhpcy5fbG9hZGVyPy5kZXN0cm95KCksdGhpcy5faXNNdWx0aXBsZUxheW91dC5kZXN0cm95KCksdGhpcy5fbW9kZWwuc3ltYm9sTG9nb1ZpZXdNb2RlbCgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN5bWJvbExvZ29SZW5kZXJlciksdGhpcy5fc3ltYm9sTG9nb1JlbmRlcmVyPy5kZXN0cm95KCksbnVsbCE9PXRoaXMuX2Rpc2FibGVUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fZGlzYWJsZVRpbWVvdXQpLHRoaXMuX2FjY2Vzc2libGVUaXRsZUJ1dHRvbnM9W10sdGhpcy5fYWNjZXNzaWJsZUFjdGlvbkJ1dHRvbnM9W10sdGhpcy5fc3RhdHVzZXNXaWRnZXREZXN0cm95Py4oKSx0aGlzLl90aXRsZXNTdGF0ZXNTcGF3bi5kZXN0cm95KCksbnVsbCE9PXRoaXMuX3RpdGxlc1dyYXBwZXJFbCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fbW91c2VFdmVudEhhbmRsZXJzKWUuZGVzdHJveSgpO3RoaXMuX3RpdGxlQ29udGFpbmVycz1bXSx0aGlzLl90aXRsZUVsZW1lbnRzPVtdLHRoaXMuX3dpdGhBY3Rpb25zJiZudWxsIT09dGhpcy5fc2VsZWN0ZWRTb3VyY2VIYW5kbGVyJiZudWxsIT09dGhpcy5fc2hvd0FjdGlvbnNIYW5kbGVyJiZudWxsIT09dGhpcy5faGlkZUFjdGlvbnNIYW5kbGVyJiYoZ2V8fCh0aGlzLl90aXRsZXNXcmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdGhpcy5fc2hvd0FjdGlvbnNIYW5kbGVyKSx0aGlzLl90aXRsZXNXcmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5faGlkZUFjdGlvbnNIYW5kbGVyKSkpLHRoaXMuX3RpdGxlc1dyYXBwZXJFbD1udWxsfWZvcihjb25zdCBlIG9mIHRoaXMuX2FjdGlvbnNTcGF3bkFycmF5KWUudmlzaWJsZS5kZXN0cm95KCksZS5hY3RpdmU/LmRlc3Ryb3koKSxlLnRpdGxlPy5kZXN0cm95KCk7aWYodGhpcy5fYWN0aW9uRWxlbWVudHM9W10sCm51bGwhPT10aGlzLl9hY3Rpb25BZGRpdGlvbmFsV3JhcHBlckVsJiYodGhpcy5fd2l0aEFjdGlvbnMmJm51bGwhPT10aGlzLl9zaG93QWN0aW9uc0hhbmRsZXImJm51bGwhPT10aGlzLl9oaWRlQWN0aW9uc0hhbmRsZXImJiFnZSYmKHRoaXMuX2FjdGlvbkFkZGl0aW9uYWxXcmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdGhpcy5fc2hvd0FjdGlvbnNIYW5kbGVyKSx0aGlzLl9hY3Rpb25BZGRpdGlvbmFsV3JhcHBlckVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX2hpZGVBY3Rpb25zSGFuZGxlcikpLHRoaXMuX2FjdGlvbkFkZGl0aW9uYWxXcmFwcGVyRWw9bnVsbCksdGhpcy5fYWN0aW9uc1BhcmVudEVsPW51bGwsdGhpcy5fcmVtb3ZlVmFsdWVzU3Bhd25zU3Vic2NyaXB0aW9ucygpLHRoaXMuX3ZhbHVlcy5kZXN0cm95KCksbnVsbCE9PXRoaXMuX3ZhbHVlc1BhcmVudEVsJiYodGhpcy5fdmFsdWVzRWxlbWVudHM9W10sdGhpcy5fdmFsdWVzUGFyZW50RWw9bnVsbCksdGhpcy5faGlkZUludmlzaWJsZUhvdmVyPy5kZXN0cm95KCksdGhpcy5faGlkZVZhbHVlcz8uZGVzdHJveSgpLG51bGwhPT10aGlzLl9yZXNpemVPYnNlcnZlciYmKHRoaXMuX3Jlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKSx0aGlzLl9yZXNpemVPYnNlcnZlcj1udWxsKSxudWxsIT09dGhpcy5fZWwpe2NvbnN0IGU9dGhpcy5fZWwucGFyZW50Tm9kZTtlPy5yZW1vdmVDaGlsZCh0aGlzLl9lbCksdGhpcy5fZWw9bnVsbH19Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9lbH1nZXRIZWlnaHQoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2VsP251bGw6MjR9dXBkYXRlTW9kZShlLHQpe3RoaXMuX3Jvd01vZGU9PT1lJiZ0aGlzLl90aXRsZXNNb2RlPT09dCYmbnVsbCE9PXRoaXMuX2FsbEJ1dHRvbnNXaWR0aHx8KHRoaXMuX3Jvd01vZGUhPT1lJiYodGhpcy5fcm93TW9kZT1lLHRoaXMuX3VwZGF0ZUFjdGlvbnNWaXNpYmlsaXRpZXNCeU1vZGUoKSksdGhpcy5fdGl0bGVzTW9kZSE9PXQmJih0aGlzLl90aXRsZXNNb2RlPXQsdGhpcy5fdXBkYXRlVGl0bGVzVmlzaWJpbGl0aWVzQnlNb2RlKCkpLHRoaXMuX3VwZGF0ZUFsbEJ1dHRvbnNXaWR0aCgpKX1hY2Nlc3NpYmxlQnV0dG9ucygpe3JldHVybiB0aGlzLl9pc1Jvd0hpZGRlbi52YWx1ZSgpP1tdOlsuLi50aGlzLl9hY2Nlc3NpYmxlVGl0bGVCdXR0b25zLC4uLnRoaXMuX2FjY2Vzc2libGVBY3Rpb25CdXR0b25zXS5maWx0ZXIoKGU9PiFlLmNsYXNzTGlzdC5jb250YWlucyhYLmJsb2NrSGlkZGVuKSkpfXNob3dBY3Rpb25zKCl7bnVsbD09PXRoaXMuX2VsfHx0aGlzLl9lbC5jbGFzc0xpc3QuY29udGFpbnMoY2Uud2l0aEFjdGlvbil8fHRoaXMuX3Nob3dBY3Rpb25zKCl9aGlkZUFjdGlvbnMoKXtudWxsIT09dGhpcy5fZWwmJnRoaXMuX2VsLmNsYXNzTGlzdC5jb250YWlucyhjZS53aXRoQWN0aW9uKSYmdGhpcy5faGlkZUFjdGlvbnMoKX1fdXBkYXRlQWN0aW9uc1Zpc2liaWxpdGllc0J5TW9kZSgpe31fdXBkYXRlVGl0bGVzVmlzaWJpbGl0aWVzQnlNb2RlKCl7fV9yZW5kZXIoKXt0aGlzLl9yZW5kZXJUaXRsZXMoKSx0aGlzLl9yZW5kZXJBY3Rpb25zKCksdGhpcy5fcmVuZGVyVmFsdWVzKCk7Y29uc3QgZT10aGlzLl9jdXN0b21UZXh0Q29sb3IudmFsdWUoKXx8IiI7dGhpcy5fZWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fZWwuY2xhc3NMaXN0LnRvZ2dsZShjZS53aXRoQ3VzdG9tVGV4dENvbG9yLEJvb2xlYW4oZSkpLG1lKHRoaXMuX2VsLHRoaXMuX2xvYWRpbmcudmFsdWUoKSksdGhpcy5fZmlyc3RCbG9ja1dyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fZmlyc3RCbG9ja1dyYXBwZXIuY2xhc3NMaXN0LmFkZChjZS5ub1dyYXBXcmFwcGVyKSx0aGlzLl9maXJzdEJsb2NrV3JhcHBlci5hcHBlbmRDaGlsZCgoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3RpdGxlc1dyYXBwZXJFbCkpLG51bGwhPT10aGlzLl9hY3Rpb25zUGFyZW50RWwmJnRoaXMuX2ZpcnN0QmxvY2tXcmFwcGVyLmFwcGVuZENoaWxkKHRoaXMuX2FjdGlvbnNQYXJlbnRFbCksdGhpcy5fZWwuYXBwZW5kQ2hpbGQodGhpcy5fZmlyc3RCbG9ja1dyYXBwZXIpLHRoaXMuX2VsLmFwcGVuZENoaWxkKCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fdmFsdWVzUGFyZW50RWwpKSx0aGlzLl9wYXJlbnRFbC5hcHBlbmQodGhpcy5fZWwpfV9yZW5kZXJUaXRsZXMoKXtudWxsPT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiYodGhpcy5fdGl0bGVzV3JhcHBlckVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX3RpdGxlc1dyYXBwZXJFbC5jbGFzc0xpc3QuYWRkKGNlLnRpdGxlc1dyYXBwZXIpLHRoaXMuX3RpdGxlc1dyYXBwZXJFbC5kYXRhc2V0LnFhSWQ9ImxlZ2VuZC10aXRsZXMiKTtmb3IoY29uc3QgZSBvZiB0aGlzLl90aXRsZXNTdGF0ZXNTcGF3bi52YWx1ZSgpKWooZSk/dGhpcy5fcmVuZGVyVGl0bGVzR3JvdXAoZSk6dGhpcy5fcmVuZGVyU2ltcGxlVGl0bGUoZSl9X3JlbmRlclRpdGxlc0dyb3VwKGUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5jbGFzc0xpc3QuYWRkKGNlLnRpdGxlc0dyb3VwV3JhcHBlciksZS5pdGVtcy5mb3JFYWNoKChlPT50aGlzLl9yZW5kZXJTaW1wbGVUaXRsZShlLHQpKSksKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl90aXRsZXNXcmFwcGVyRWwpLmFwcGVuZENoaWxkKHQpfV9yZW5kZXJTaW1wbGVUaXRsZShlLHQpe2NvbnN0e3RpdGxlOmksdG9vbHRpcDpzLGFjdGlvbjpvfT1lLGE9ISFvJiYoIV8uQ2hlY2tNb2JpbGUuYW55KCl8fG8uYWN0aW9uQWxsb3dlZE9uVG91Y2gpLGw9dGhpcy5fZ2V0QXR0cmlidXRlc0ZvclRpdGxlU3RhdGUoZSkscj1pPz8iIixkPXRoaXMuX2N1c3RvbVRleHRDb2xvci52YWx1ZSgpfHwiIix1PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3UuY2xhc3NMaXN0LmFkZChjZS50aXRsZVdyYXBwZXIsY2Uud2l0aERvdCksdS5zdHlsZS5jb2xvcj1kLGw/LmNsYXNzTmFtZSYmdS5jbGFzc0xpc3QuYWRkKGwuY2xhc3NOYW1lKSwKdS5kYXRhc2V0LnFhSWQ9WyJ0aXRsZS13cmFwcGVyIixsPy5kYXRhUWFJZF0uam9pbigiICIpLnRyaW0oKSx2b2lkIDAhPT1zJiYodS5jbGFzc0xpc3QuYWRkKCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHUuc2V0QXR0cmlidXRlKCJ0aXRsZSIscykpO2NvbnN0IGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChhPyJidXR0b24iOiJkaXYiKTtpZihjLmNsYXNzTGlzdC5hZGQoY2UudGl0bGUpLHZvaWQgMCE9PW8pe3UuY2xhc3NMaXN0LmFkZChjZS53aXRoQWN0aW9uKTtjb25zdCBlPV8uQ2hlY2tNb2JpbGUuYW55KCkmJm8uYWN0aW9uQWxsb3dlZE9uVG91Y2gsdD10PT57IXRoaXMuX3NlbGVjdGVkLnZhbHVlKCkmJih0aGlzLl9zZWxlY3RlZFNvdXJjZUhhbmRsZXI/Lih0KSxlKXx8KHUuY2xhc3NMaXN0LmFkZChjZS50aXRsZVdyYXBwZXJfX2FjdGl2ZSksby5mbigoKCk9PnUuY2xhc3NMaXN0LnJlbW92ZShjZS50aXRsZVdyYXBwZXJfX2FjdGl2ZSkpKSxhJiZjLmJsdXIoKSl9O2lmKHRoaXMuX21vdXNlRXZlbnRIYW5kbGVycy5wdXNoKG5ldyB4Lk1vdXNlRXZlbnRIYW5kbGVyKHUse21vdXNlQ2xpY2tFdmVudDp0LHRhcEV2ZW50OmU/dDp2b2lkIDB9LHtpZ25vcmVDbGlja0FuZFRhcE9uRGJsQ2xpY2tPckRibFRhcDohMH0pKSxhKXtjb25zdCBlPWM7dGhpcy5fbWFrZUl0ZW1BY2Nlc3NpYmxlKGUsKCgpPT5vLmZuKCkpLHM/PyIiKSx0aGlzLl9hY2Nlc3NpYmxlVGl0bGVCdXR0b25zLnB1c2goZSl9fWlmKHIubGVuZ3RoPjA/Yy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShyKSk6KHUuY2xhc3NMaXN0LmFkZChYLmJsb2NrSGlkZGVuKSxjLmNsYXNzTGlzdC5hZGQoWC5ibG9ja0hpZGRlbikpLHUuYXBwZW5kQ2hpbGQoYyksdGhpcy5faXNUaXRsZVdpdGhTeW1ib2xMb2dvKGUpKXtjb25zdCBlPXRoaXMuX3N5bWJvbExvZ29SZW5kZXJlcj8uZ2V0RWxlbWVudCgpO2UmJnUuaW5zZXJ0QmVmb3JlKGUsdS5maXJzdENoaWxkKX0odD8/KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl90aXRsZXNXcmFwcGVyRWwpKS5hcHBlbmRDaGlsZCh1KSx0aGlzLl90aXRsZUNvbnRhaW5lcnMucHVzaCh1KSx0aGlzLl90aXRsZUVsZW1lbnRzLnB1c2goYyl9X21ha2VJdGVtQWNjZXNzaWJsZShlLHQsaSl7IiIhPT1pJiZlLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsaSksZS50eXBlPSJidXR0b24iLGUuY2xhc3NMaXN0LmFkZChjZS5hY2Nlc3NpYmxlKSxlLnRhYkluZGV4PS0xO2NvbnN0IHM9dD0+e3N3aXRjaCh0LnR5cGUpe2Nhc2Uicm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCI6ZS50YWJJbmRleD0wO2JyZWFrO2Nhc2Uicm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50IjplLnRhYkluZGV4PS0xfX07ZS5hZGRFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IixzKSxlLmFkZEV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIscyksZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwoZT0+e2NvbnN0IGk9KDAsaC5oYXNoRnJvbUV2ZW50KShlKTsxMyE9PWkmJjMyIT09aXx8KGUucHJldmVudERlZmF1bHQoKSx0KGUpKX0pKX1fcmVuZGVyQWN0aW9ucygpe2lmKCF0aGlzLl93aXRoQWN0aW9ucylyZXR1cm47bnVsbD09PXRoaXMuX2FjdGlvbnNQYXJlbnRFbCYmKHRoaXMuX2FjdGlvbnNQYXJlbnRFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9hY3Rpb25zUGFyZW50RWwuY2xhc3NMaXN0LmFkZChjZS5idXR0b25zV3JhcHBlciksdGhpcy5fYWN0aW9uc1BhcmVudEVsLmRhdGFzZXQubmFtZT0iYWN0aW9ucyIsdGhpcy5fcGFyZW50RWwuYXBwZW5kKHRoaXMuX2FjdGlvbnNQYXJlbnRFbCksdGhpcy5fYWN0aW9uQWRkaXRpb25hbFdyYXBwZXJFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9hY3Rpb25BZGRpdGlvbmFsV3JhcHBlckVsLmNsYXNzTGlzdC5hZGQoY2UuYnV0dG9ucyksdGhpcy5fYWN0aW9uc1BhcmVudEVsLmFwcGVuZENoaWxkKHRoaXMuX2FjdGlvbkFkZGl0aW9uYWxXcmFwcGVyRWwpKTtjb25zdCBlPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aW9uQWRkaXRpb25hbFdyYXBwZXJFbCk7dGhpcy5fbW9kZWwuYWN0aW9ucygpLmZvckVhY2goKHQ9Pntjb25zdCBpPXZvaWQgMD09PXQuZGlzYWJsZUFjY2Vzc2liaWxpdHkscz17aWNvblNpemU6di50cmFja2luZ01vZGVJc0F2YWlsYWJsZT8ibGFyZ2UiOiJzbWFsbCIsdGFnOmk/ImJ1dHRvbiI6ImRpdiIsYnV0dG9uQ2xhc3NOYW1lOmNlLmJ1dHRvbix3cmFwSWNvbkNsYXNzTmFtZTpjZS5idXR0b25JY29uLGhpZGRlbkNsYXNzTmFtZTpYLmJsb2NrSGlkZGVuLGJsdXJPbkNsaWNrOiEhaXx8dm9pZCAwfSxvPSgwLFcuY3JlYXRlQWN0aW9uRWxlbWVudCkodCxzKTtpZihpKXtjb25zdCBlPW87dGhpcy5fbWFrZUl0ZW1BY2Nlc3NpYmxlKGUsKGU9PnQuYWN0aW9uKGUpKSx0LnRpdGxlPy52YWx1ZSgpPz8iIiksdGhpcy5fYWNjZXNzaWJsZUFjdGlvbkJ1dHRvbnMucHVzaChlKX10aGlzLl9hY3Rpb25FbGVtZW50cy5wdXNoKG8pLGUuYXBwZW5kQ2hpbGQobyl9KSl9X2luaXRXcmFwcGVyc0lmTm90SW5pdGlhbGl6ZWQoKXtyZXR1cm4gbnVsbD09PXRoaXMuX3ZhbHVlc1BhcmVudEVsJiYodGhpcy5fdmFsdWVzUGFyZW50RWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fdmFsdWVzUGFyZW50RWwuY2xhc3NMaXN0LmFkZChjZS52YWx1ZXNXcmFwcGVyKSx0aGlzLl92YWx1ZXNQYXJlbnRFbC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1ub3QtYXZhaWxhYmxlLWNvbnRlbnQiLGAnJHtBLm5vdEF2YWlsYWJsZX0nYCksdGhpcy5fdmFsdWVzQWRkaXRpb25hbFdyYXBwZXJFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl92YWx1ZXNBZGRpdGlvbmFsV3JhcHBlckVsLmNsYXNzTGlzdC5hZGQoY2UudmFsdWVzQWRkaXRpb25hbFdyYXBwZXIpLHRoaXMuX3ZhbHVlc1BhcmVudEVsLmFwcGVuZENoaWxkKHRoaXMuX3ZhbHVlc0FkZGl0aW9uYWxXcmFwcGVyRWwpKSwoMCwKbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl92YWx1ZXNBZGRpdGlvbmFsV3JhcHBlckVsKX1faXNXaWR0aEJ1dHRvbnNNb2RlKCl7cmV0dXJuIG51bGwhPT10aGlzLl9lbCYmKHRoaXMuX2VsLmNsYXNzTGlzdC5jb250YWlucyhjZS53aXRoQWN0aW9uKXx8dGhpcy5fZGlzYWJsZWQudmFsdWUoKXx8dGhpcy5fc2VsZWN0ZWQudmFsdWUoKSl9X2lzVGl0bGVIaWRkZW5CeU1vZGUoZSl7cmV0dXJuITF9X3VwZGF0ZVN0YXRlcyhlKXt0aGlzLl91cGRhdGVEaXNhYmxlZFN0YXRlKCksdGhpcy5fdXBkYXRlRGlzYWJsZWRPbkludGVydmFsU3RhdGUoKSx0aGlzLl91cGRhdGVTZWxlY3RlZFN0YXRlKCksdGhpcy5fdXBkYXRlTG9hZGluZ1N0YXRlKCksZSYmdGhpcy5fY2xlYXJEaXNhYmxlU3RhdGUoKX1fdXBkYXRlVmFsdWVzSFRNTEVsSGFuZGxlcihlLHQpe2coKDAsbi5lbnN1cmUpKHRoaXMuX3ZhbHVlc0VsZW1lbnRzW2VdLnZhbHVlKSx0KSx0aGlzLl91cGRhdGVTaG93VmFsdWVzKCl9X3VwZGF0ZVZhbHVlQ29sb3JIYW5kbGVyKGUsdD0iIil7KDAsbi5lbnN1cmUpKHRoaXMuX3ZhbHVlc0VsZW1lbnRzW2VdLnZhbHVlKS5zdHlsZS5jb2xvcj10fV91cGRhdGVWYWx1ZVZpc2libGVIYW5kbGVyKGUsdCl7Y29uc3QgaT0oMCxuLmVuc3VyZSkodGhpcy5fdmFsdWVzRWxlbWVudHNbZV0udmFsdWUpLmNsb3Nlc3QoYC4ke2NlLnZhbHVlSXRlbX1gKTtudWxsIT09aSYmaS5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sIXQpLHRoaXMuX3VwZGF0ZVNob3dWYWx1ZXMoKX1fdXBkYXRlU2hvd0xpbmUoKXtudWxsIT09dGhpcy5fZWwmJnRoaXMuX2VsLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbix0aGlzLl9pc1Jvd0hpZGRlbi52YWx1ZSgpKX1fdGl0bGVzQ29sbGVjdGlvbkNoYW5nZWQoKXtudWxsIT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiYodGhpcy5fdGl0bGVzV3JhcHBlckVsLmlubmVySFRNTD0iIiksdGhpcy5fYWNjZXNzaWJsZVRpdGxlQnV0dG9ucz1bXSx0aGlzLl90aXRsZUNvbnRhaW5lcnM9W10sdGhpcy5fdGl0bGVFbGVtZW50cz1bXSx0aGlzLl9yZW5kZXJUaXRsZXMoKSx0aGlzLl91cGRhdGVUaXRsZXNWaXNpYmlsaXRpZXNCeU1vZGUoKX1fY3JlYXRlVmFsdWVzU3Bhd25zKCl7dGhpcy5fdmFsdWVzU3Bhd25BcnJheT10aGlzLl92YWx1ZXMudmFsdWUoKS5tYXAoKGU9Pih7dmFsdWU6ZS52YWx1ZS5zcGF3bigpLGNvbG9yOmUuY29sb3Iuc3Bhd24oKSx2aXNpYmxlOmUudmlzaWJsZS5zcGF3bigpLHRpdGxlOmUudGl0bGUuc3Bhd24oKX0pKSl9X3JlbW92ZVZhbHVlc1NwYXduc1N1YnNjcmlwdGlvbnMoKXtmb3IoY29uc3QgZSBvZiB0aGlzLl92YWx1ZXNTcGF3bkFycmF5KWUudmFsdWUuZGVzdHJveSgpLGUuY29sb3IuZGVzdHJveSgpLGUudmlzaWJsZS5kZXN0cm95KCksZS50aXRsZS5kZXN0cm95KCk7dGhpcy5fdmFsdWVzU3Bhd25BcnJheT1bXX1fYWRkVmFsdWVzU3Bhd25zU3Vic2NyaXB0aW9ucygpe2ZvcihsZXQgZT0wO2U8dGhpcy5fdmFsdWVzU3Bhd25BcnJheS5sZW5ndGg7ZSsrKXtjb25zdCB0PXRoaXMuX3ZhbHVlc1NwYXduQXJyYXlbZV07dC52YWx1ZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVmFsdWVzSFRNTEVsSGFuZGxlci5iaW5kKHRoaXMsZSkpLHQuY29sb3Iuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZhbHVlQ29sb3JIYW5kbGVyLmJpbmQodGhpcyxlKSksdC52aXNpYmxlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVWYWx1ZVZpc2libGVIYW5kbGVyLmJpbmQodGhpcyxlKSksdC50aXRsZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVmFsdWVzVGl0bGVIVE1MRWxIYW5kbGVyLmJpbmQodGhpcyxlKSl9fV91cGRhdGVTaG93VmFsdWVzKCl7ZnVuY3Rpb24gZShlKXtpZighZSlyZXR1cm47Y29uc3QgdD1BcnJheS5mcm9tKGUuY2hpbGRyZW4pLmV2ZXJ5KChlPT5lLmNsYXNzTGlzdC5jb250YWlucyhYLmJsb2NrSGlkZGVuKSkpO2UuY2xhc3NMaXN0LnRvZ2dsZShYLmJsb2NrSGlkZGVuLHQpfWUodGhpcy5fdmFsdWVzQWRkaXRpb25hbFdyYXBwZXJFbCksZSh0aGlzLl92YWx1ZXNQYXJlbnRFbCl9X2FkZFN0YXR1c2VzV2lkZ2V0KGUpe3RoaXMuX2hpZGVJbnZpc2libGVIb3Zlcj1lLnZpc2liaWxpdHkoKS5zcGF3bigpLHRoaXMuX2hpZGVJbnZpc2libGVIb3Zlci5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSGlkZUludmlzaWJsZUhvdmVyTW9kZS5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9oaWRlVmFsdWVzPSgwLGQuY29tYmluZSkoKChlLHQpPT5lfHx0KSxlLmRhdGFTb3VyY2VFcnJvclN0YXR1c1Nob3duLndlYWtSZWZlcmVuY2UoKSxlLmlzU3ltYm9sSW52YWxpZFN0YXR1c1Nob3duLndlYWtSZWZlcmVuY2UoKSksdGhpcy5faGlkZVZhbHVlcy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSGlkZVZhbHVlc01vZGUuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fc3RhdHVzZXNXcmFwcGVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX3N0YXR1c2VzV3JhcHBlci5jbGFzc0xpc3QuYWRkKGNlLnN0YXR1c2VzV3JhcHBlciksdGhpcy5fc3RhdHVzZXNXcmFwcGVyLmRhdGFzZXQucWFJZD0ibGVnZW5kLXN0YXR1c2VzLXdyYXBwZXIiLHRoaXMuX3N0YXR1c2VzV2lkZ2V0U3RhdGU9ZSx0aGlzLl9kaXNhYmxlZC52YWx1ZSgpP3RoaXMuX3N0YXR1c2VzV2lkZ2V0RGVzdHJveT1DKHtjb250YWluZXI6dGhpcy5fc3RhdHVzZXNXcmFwcGVyLHN0YXR1c2VzOmUudmlzaWJsZU1vZGVscygpLHRvb2x0aXA6ZS50b29sdGlwKCksdGhlbWU6YmUsc2hvd1Rvb2x0aXBPdmVycmlkZUNhbGxiYWNrOnRoaXMuX3Nob3dUb29sdGlwT3ZlcnJpZGVDYWxsYmFjaygpfSk6KHRoaXMuX3N0YXR1c2VzV2lkZ2V0RGVzdHJveT8uKCksdGhpcy5fc3RhdHVzZXNXaWRnZXREZXN0cm95PXZvaWQgMCksKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9maXJzdEJsb2NrV3JhcHBlcikuYXBwZW5kQ2hpbGQodGhpcy5fc3RhdHVzZXNXcmFwcGVyKSx0aGlzLl91cGRhdGVTdGF0dXNXaWRnZXRWaXNpYmlsaXR5KHRoaXMuX2Rpc2FibGVkLnZhbHVlKCkpLAp0aGlzLl9yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5faGFuZGxlclJlc3RyaWN0VGl0bGVXaWR0aC5iaW5kKHRoaXMpKSxudWxsIT09dGhpcy5fYWN0aW9uc1BhcmVudEVsJiZ0aGlzLl9yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX2FjdGlvbnNQYXJlbnRFbCksdGhpcy5fZWwmJnRoaXMuX3Jlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fZWwpfV91cGRhdGVUaXRsZU1heFdpZHRoKCl7aWYobnVsbD09PXRoaXMuX2VsfHxudWxsPT09dGhpcy5fdGl0bGVzV3JhcHBlckVsKXJldHVybjtjb25zdCBlPXRoaXMuX2FsbEJ1dHRvbnNXaWR0aHx8MCx0PSh0aGlzLl9sYXN0QWN0aW9uc1dyYXBwZXJXaWR0aHx8MCkrKHRoaXMuX2xhc3RTdGF0dXNlc1dyYXBwZXJXaWR0aHx8MCksaT10aGlzLl9pc1dpZHRoQnV0dG9uc01vZGUoKT9NYXRoLm1heChlLHQpOnQ7dGhpcy5fdGl0bGVzV3JhcHBlckVsLnN0eWxlLm1heFdpZHRoPWk+MD9gJHtNYXRoLmFicyh0aGlzLl9lbC5jbGllbnRXaWR0aC1pKX1weGA6IiJ9X3VwZGF0ZUFsbEJ1dHRvbnNXaWR0aCgpe3RoaXMuX2FsbEJ1dHRvbnNXaWR0aD10aGlzLl9nZXRCdXR0b25zQ291bnQoKSpMKzEsdGhpcy5fdXBkYXRlVGl0bGVNYXhXaWR0aCgpfV9zaG93VG9vbHRpcE92ZXJyaWRlQ2FsbGJhY2soKXt9X3VwZGF0ZUhpZGVJbnZpc2libGVIb3Zlck1vZGUoZSl7bnVsbCE9PXRoaXMuX2VsJiZ0aGlzLl9lbC5jbGFzc0xpc3QudG9nZ2xlKGNlLmhpZGVJbnZpc2libGVIb3ZlcixlKX1fdXBkYXRlSGlkZVZhbHVlc01vZGUoZSl7bnVsbCE9PXRoaXMuX2VsJiZ0aGlzLl9lbC5jbGFzc0xpc3QudG9nZ2xlKGNlLmhpZGVWYWx1ZXMsZSl9X3Nob3dBY3Rpb25zKCl7aWYobnVsbD09PXRoaXMuX2VsfHwhdGhpcy5fd2l0aEFjdGlvbnMpcmV0dXJuO3RoaXMuX2VsLmNsYXNzTGlzdC5hZGQoY2Uud2l0aEFjdGlvbiksdGhpcy5fdG9nZ2xlSGlkZGVuQWN0aW9ucz8uKCEwKTtjb25zdCBlPXRoaXMuX3ZhbHVlc1BhcmVudEVsPy5vZmZzZXRUb3A9PT10aGlzLl90aXRsZXNXcmFwcGVyRWw/Lm9mZnNldFRvcDt0aGlzLl9lbC5jbGFzc0xpc3QudG9nZ2xlKGNlLndpdGhUYWlsLGUpLHRoaXMuX3VwZGF0ZVRpdGxlTWF4V2lkdGgoKX1faGlkZUFjdGlvbnMoKXtudWxsIT09dGhpcy5fZWwmJnRoaXMuX3dpdGhBY3Rpb25zJiYodGhpcy5fZWwuY2xhc3NMaXN0LnJlbW92ZShjZS53aXRoQWN0aW9uKSx0aGlzLl90b2dnbGVIaWRkZW5BY3Rpb25zPy4oITEpLG51bGwhPT10aGlzLl92YWx1ZXNQYXJlbnRFbCYmdGhpcy5fdmFsdWVzUGFyZW50RWwuY2xhc3NMaXN0LnJlbW92ZShjZS53aXRoVGFpbCksdGhpcy5fdXBkYXRlVGl0bGVNYXhXaWR0aCgpKX1faGFuZGxlclJlc3RyaWN0VGl0bGVXaWR0aChlKXtpZihudWxsPT09dGhpcy5fYWN0aW9uc1BhcmVudEVsfHxudWxsPT09dGhpcy5fZmlyc3RCbG9ja1dyYXBwZXIpcmV0dXJuO2xldCB0PW51bGwsaT0hMTtmb3IoY29uc3QgcyBvZiBlKXMudGFyZ2V0PT09dGhpcy5fYWN0aW9uc1BhcmVudEVsJiYodD1zLmNvbnRlbnRSZWN0LndpZHRoKSxzLnRhcmdldD09PXRoaXMuX2VsJiYoaT0hMCk7KHQhPT10aGlzLl9sYXN0QWN0aW9uc1dyYXBwZXJXaWR0aHx8aSkmJihudWxsIT09dCYmKHRoaXMuX2xhc3RBY3Rpb25zV3JhcHBlcldpZHRoPXQpLHRoaXMuX3VwZGF0ZVRpdGxlTWF4V2lkdGgoKSl9X2NsZWFyRGlzYWJsZVN0YXRlKCl7bnVsbCE9PXRoaXMuX2VsJiYodGhpcy5fZWwuY2xhc3NMaXN0LnJlbW92ZShjZS5leWVMb2FkaW5nKSx0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKGNlLmRpc2FibGVkKSx0aGlzLl91cGRhdGVTdGF0dXNXaWRnZXRWaXNpYmlsaXR5KHRoaXMuX2Rpc2FibGVkLnZhbHVlKCkpLHRoaXMuX3VwZGF0ZVRpdGxlTWF4V2lkdGgoKSl9X3VwZGF0ZURpc2FibGVkT25JbnRlcnZhbFN0YXRlKCl7dGhpcy5fZWw/LmNsYXNzTGlzdC50b2dnbGUoY2UuZGlzYWJsZWRPbkludGVydmFsLHRoaXMuX2Rpc2FibGVkT25JbnRlcnZhbC52YWx1ZSgpKX1fdXBkYXRlU2VsZWN0ZWRTdGF0ZSgpe251bGwhPT10aGlzLl9lbCYmdGhpcy5fd2l0aEFjdGlvbnMmJnRoaXMuX2VsLmNsYXNzTGlzdC50b2dnbGUoY2Uuc2VsZWN0ZWQsdGhpcy5fc2VsZWN0ZWQudmFsdWUoKSl9X3VwZGF0ZVNob3dUaXRsZXMoKXtudWxsIT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiYodGhpcy5fdGl0bGVzV3JhcHBlckVsLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbix0aGlzLl9pc1RpdGxlSGlkZGVuLnZhbHVlKCkpLG51bGwhPT10aGlzLl9hY3Rpb25zUGFyZW50RWwmJnRoaXMuX2FjdGlvbnNQYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sdGhpcy5faXNUaXRsZUhpZGRlbi52YWx1ZSgpKSl9X3VwZGF0ZVZhbHVlcygpe3RoaXMuX3JlbW92ZVZhbHVlc1NwYXduc1N1YnNjcmlwdGlvbnMoKSx0aGlzLl9jcmVhdGVWYWx1ZXNTcGF3bnMoKSxudWxsIT09dGhpcy5fdmFsdWVzUGFyZW50RWwmJm51bGwhPT10aGlzLl92YWx1ZXNBZGRpdGlvbmFsV3JhcHBlckVsJiYodGhpcy5fdmFsdWVzRWxlbWVudHM9W10sdGhpcy5fdmFsdWVzQWRkaXRpb25hbFdyYXBwZXJFbC5pbm5lckhUTUw9IiIpLHRoaXMuX3JlbmRlclZhbHVlcygpLHRoaXMuX2FkZFZhbHVlc1NwYXduc1N1YnNjcmlwdGlvbnMoKSx0aGlzLl91cGRhdGVTaG93VmFsdWVzKCl9X3VwZGF0ZUFjdGlvblZpc2liaWxpdGllcyhlKXtudWxsIT09dGhpcy5fYWN0aW9uc1BhcmVudEVsJiZ0aGlzLl9hY3Rpb25zUGFyZW50RWwucXVlcnlTZWxlY3RvckFsbChgLiR7Y2UuYnV0dG9ufWApW2VdLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbiwhdGhpcy5fYWN0aW9uc1NwYXduQXJyYXlbZV0udmlzaWJsZS52YWx1ZSgpKX1fdXBkYXRlQWN0aW9uVGl0bGUoZSl7Y29uc3QgdD10aGlzLl9hY3Rpb25zU3Bhd25BcnJheVtlXS50aXRsZTtpZihudWxsPT09dGhpcy5fYWN0aW9uc1BhcmVudEVsfHxudWxsPT09dClyZXR1cm47Y29uc3QgaT10aGlzLl9hY3Rpb25zUGFyZW50RWwucXVlcnlTZWxlY3RvckFsbChgLiR7Y2UuYnV0dG9ufWApW2VdCjtpLnNldEF0dHJpYnV0ZSgidGl0bGUiLHQudmFsdWUoKSksaS5oYXNBdHRyaWJ1dGUoImFyaWEtbGFiZWwiKSYmaS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHQudmFsdWUoKSksaS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY29tbW9uLXRvb2x0aXAtdXBkYXRlIikpfV91cGRhdGVBY3Rpb25BY3RpdmVTdGF0dXMoZSl7Y29uc3R7YWN0aXZlOnR9PXRoaXMuX2FjdGlvbnNTcGF3bkFycmF5W2VdO251bGwhPT10aGlzLl9hY3Rpb25zUGFyZW50RWwmJnQmJnRoaXMuX2FjdGlvbnNQYXJlbnRFbC5xdWVyeVNlbGVjdG9yQWxsKGAuJHtjZS5idXR0b259YCkuZm9yRWFjaCgoKGkscyk9PntlPT09cyYmaS5jbGFzc0xpc3QudG9nZ2xlKGNlLmJ1dHRvbl9fYWN0aXZlLHQudmFsdWUoKSl9KSl9X3VwZGF0ZUN1c3RvbVRleHRDb2xvcigpe2NvbnN0IGU9dGhpcy5fY3VzdG9tVGV4dENvbG9yLnZhbHVlKCl8fCIiO2Zvcihjb25zdCB0IG9mIHRoaXMuX3RpdGxlQ29udGFpbmVycyludWxsIT09dCYmKHQuc3R5bGUuY29sb3I9ZSk7Y29uc3QgdD0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3ZhbHVlc1BhcmVudEVsKS5xdWVyeVNlbGVjdG9yQWxsKGAuJHtjZS52YWx1ZVRpdGxlfWApO2ZvcihsZXQgaT0wO2k8dC5sZW5ndGg7aSsrKXRbaV0uc3R5bGUuY29sb3I9ZTsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VsKS5jbGFzc0xpc3QudG9nZ2xlKGNlLndpdGhDdXN0b21UZXh0Q29sb3IsQm9vbGVhbihlKSl9X3VwZGF0ZVN0YXR1c1dpZGdldFZpc2liaWxpdHkoZSl7bnVsbCE9PXRoaXMuX3N0YXR1c2VzV3JhcHBlciYmKGU/KHRoaXMuX3N0YXR1c2VzV2lkZ2V0RGVzdHJveT8uKCksdGhpcy5fc3RhdHVzZXNXaWRnZXREZXN0cm95PXZvaWQgMCk6dGhpcy5fc3RhdHVzZXNXaWRnZXREZXN0cm95PUMoe2NvbnRhaW5lcjp0aGlzLl9zdGF0dXNlc1dyYXBwZXIsc3RhdHVzZXM6dGhpcy5fc3RhdHVzZXNXaWRnZXRTdGF0ZT8udmlzaWJsZU1vZGVscygpPz9uZXcgci5XYXRjaGVkVmFsdWUoW10pLnJlYWRvbmx5KCksdG9vbHRpcDp0aGlzLl9zdGF0dXNlc1dpZGdldFN0YXRlPy50b29sdGlwKCk/P25ldyByLldhdGNoZWRWYWx1ZSgiIikucmVhZG9ubHkoKSx0aGVtZTpiZSxzaG93VG9vbHRpcE92ZXJyaWRlQ2FsbGJhY2s6dGhpcy5fc2hvd1Rvb2x0aXBPdmVycmlkZUNhbGxiYWNrKCl9KSl9X2lzVGl0bGVXaXRoU3ltYm9sTG9nbyhlKXtyZXR1cm4gOD09PWUuaWR8fDA9PT1lLmlkfX1jb25zdCBmZT1fLmlzU2FmYXJpPyJjbGljayI6ImF1eGNsaWNrIjtjbGFzcyBTZSBleHRlbmRzIHZle2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSksdGhpcy5fd2hlZWxDbGlja0hhbmRsZXI9bnVsbCx0aGlzLl9jYW5VcGRhdGVSb3dWaXNpYmlsaXR5PSEwLHRoaXMuX2dsb2JhbFJvd1Zpc2liaWxpdHk9dGhpcy5fbW9kZWwuZ2xvYmFsVmlzaWJpbGl0eSgpLnNwYXduKCksdGhpcy5fZ2xvYmFsUm93VmlzaWJpbGl0eS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU2hvd0xpbmUuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5faGFzNUJ1dHRvbnM9dGhpcy5fbW9kZWwuaXNBYmxlU2hvd1NvdXJjZUNvZGUoKS5zcGF3bigpLHRoaXMuX2hhczVCdXR0b25zLnN1YnNjcmliZSh0aGlzLl91cGRhdGU1QnV0dG9uc1N0eWxlcy5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl91cGRhdGVTdGF0ZXMoIXRoaXMuX2Rpc2FibGVkLnZhbHVlKCkpLGkuc3RhdHVzZXNXaWRnZXRTdGF0ZSYmdGhpcy5fYWRkU3RhdHVzZXNXaWRnZXQoaS5zdGF0dXNlc1dpZGdldFN0YXRlKSx0aGlzLl9zZWxlY3RlZC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVGl0bGVNYXhXaWR0aC5iaW5kKHRoaXMpKSxpLndpdGhBY3Rpb25zJiYodGhpcy5fd2hlZWxDbGlja0hhbmRsZXI9dGhpcy5fb25XaGVlbENsaWNrZWQuYmluZCh0aGlzKSxudWxsIT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiZ0aGlzLl90aXRsZXNXcmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcihmZSx0aGlzLl93aGVlbENsaWNrSGFuZGxlcikpfWRlc3Ryb3koKXt0aGlzLl9oYXM1QnV0dG9ucy5kZXN0cm95KCksdGhpcy5fZ2xvYmFsUm93VmlzaWJpbGl0eSYmdGhpcy5fZ2xvYmFsUm93VmlzaWJpbGl0eS5kZXN0cm95KCksbnVsbCE9PXRoaXMuX3doZWVsQ2xpY2tIYW5kbGVyJiZudWxsIT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiZ0aGlzLl90aXRsZXNXcmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihmZSx0aGlzLl93aGVlbENsaWNrSGFuZGxlciksc3VwZXIuZGVzdHJveSgpfWFjY2Vzc2libGVCdXR0b25zKCl7cmV0dXJuIHRoaXMuX2dsb2JhbFJvd1Zpc2liaWxpdHkudmFsdWUoKT9zdXBlci5hY2Nlc3NpYmxlQnV0dG9ucygpOltdfV91cGRhdGVBY3Rpb25zVmlzaWJpbGl0aWVzQnlNb2RlKCl7aWYoIXRoaXMuX3dpdGhBY3Rpb25zKXJldHVybjtjb25zdCBlPXRoaXMuX21vZGVsLmFjdGlvbnMoKSx0PVtdO2xldCBpPVtdO2lmKDI9PT10aGlzLl9yb3dNb2RlfHwxPT09dGhpcy5fcm93TW9kZSllWzBdLnZpc2libGUudmFsdWUoKSYmdC5wdXNoKHRoaXMuX2FjdGlvbkVsZW1lbnRzWzBdKSxlW3RoaXMuX2FjdGlvbkVsZW1lbnRzLmxlbmd0aC0xXS52aXNpYmxlLnZhbHVlKCkmJnQucHVzaCh0aGlzLl9hY3Rpb25FbGVtZW50c1t0aGlzLl9hY3Rpb25FbGVtZW50cy5sZW5ndGgtMV0pLGk9dGhpcy5fYWN0aW9uRWxlbWVudHMuc2xpY2UoMSx0aGlzLl9hY3Rpb25FbGVtZW50cy5sZW5ndGgtMSk7ZWxzZSBmb3IobGV0IGk9MDtpPHRoaXMuX2FjdGlvbkVsZW1lbnRzLmxlbmd0aC0xO2krKyllW2ldLnZpc2libGUudmFsdWUoKSYmdC5wdXNoKHRoaXMuX2FjdGlvbkVsZW1lbnRzW2ldKTtpLmZvckVhY2goKGU9PmUuY2xhc3NMaXN0LnRvZ2dsZShYLmJsb2NrSGlkZGVuLCEwKSkpLHQuZm9yRWFjaCgoZT0+ZS5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sITEpKSl9X3VwZGF0ZVRpdGxlc1Zpc2liaWxpdGllc0J5TW9kZSgpe3RoaXMuX3RpdGxlc1N0YXRlc1NwYXduLnZhbHVlKCkuZm9yRWFjaCgoKGUsdCk9PntpZig5IT09ZS5pZClyZXR1cm4KO2NvbnN0IGk9dGhpcy5faXNUaXRsZUhpZGRlbkJ5TW9kZShlKTt0aGlzLl90aXRsZUNvbnRhaW5lcnNbdF0/LmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbixpKSx0aGlzLl90aXRsZUVsZW1lbnRzW3RdPy5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4saSl9KSl9X2lzVGl0bGVIaWRkZW5CeU1vZGUoZSl7cmV0dXJuIDk9PT1lLmlkPzMhPT10aGlzLl90aXRsZXNNb2RlOnN1cGVyLl9pc1RpdGxlSGlkZGVuQnlNb2RlKGUpfV91cGRhdGVTaG93TGluZSgpe2lmKG51bGw9PT10aGlzLl9lbHx8IXRoaXMuX2NhblVwZGF0ZVJvd1Zpc2liaWxpdHkpcmV0dXJuO2NvbnN0IGU9IXRoaXMuX2dsb2JhbFJvd1Zpc2liaWxpdHkudmFsdWUoKTtlP3RoaXMuX2VsLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbixlKTpzdXBlci5fdXBkYXRlU2hvd0xpbmUoKX1fZ2V0QnV0dG9uc0NvdW50KCl7cmV0dXJuIHRoaXMuX2FjdGlvbkVsZW1lbnRzLmZpbHRlcigoZT0+IWUuY2xhc3NMaXN0LmNvbnRhaW5zKFguYmxvY2tIaWRkZW4pKSkubGVuZ3RofV9yZW5kZXIoKXtzdXBlci5fcmVuZGVyKCk7Y29uc3QgZT0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VsKTtlLmNsYXNzTGlzdC5hZGQoY2UuaXRlbSxjZS5zdHVkeSksZS5kYXRhc2V0LnFhSWQ9ImxlZ2VuZC1zb3VyY2UtaXRlbSIsZS5kYXRhc2V0LmVudGl0eUlkPXRoaXMuX21vZGVsLmdldFNvdXJjZSgpLmlkKCksZS5zZXRBdHRyaWJ1dGUoInJvbGUiLCJ0b29sYmFyIil9X2dldEF0dHJpYnV0ZXNGb3JUaXRsZVN0YXRlKGUpe3JldHVybiA3PT09ZS5pZHx8OD09PWUuaWR8fDk9PT1lLmlkP3tkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS10aXRsZSIsY2xhc3NOYW1lOmNlLm1haW5UaXRsZX06MTA9PT1lLmlkP3tkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS1kZXNjcmlwdGlvbiIsY2xhc3NOYW1lOmNlLmlucHV0VGl0bGV9Om51bGx9X3JlbmRlclZhbHVlcygpe2NvbnN0IGU9dGhpcy5faW5pdFdyYXBwZXJzSWZOb3RJbml0aWFsaXplZCgpLHQ9dGhpcy5fdmFsdWVzLnZhbHVlKCk7Zm9yKGNvbnN0IGkgb2YgdCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmRhdGFzZXQudGVzdElkVmFsdWVUaXRsZT1pLnRpdGxlLnZhbHVlKCksdC5jbGFzc0xpc3QuYWRkKGNlLnZhbHVlSXRlbSksdC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sIWkudmlzaWJsZS52YWx1ZSgpKTtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3MuY2xhc3NMaXN0LmFkZChjZS52YWx1ZVZhbHVlKSxzLnN0eWxlLmNvbG9yPWkuY29sb3IudmFsdWUoKXx8IiIscy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShpLnZhbHVlLnZhbHVlKCkpKTtjb25zdCBvPWkudGl0bGUudmFsdWUoKTt2b2lkIDAhPT1vJiYocy5jbGFzc0xpc3QuYWRkKCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHMudGl0bGU9byksdC5hcHBlbmRDaGlsZChzKSx0aGlzLl92YWx1ZXNFbGVtZW50cy5wdXNoKHt2YWx1ZTpzfSksZS5hcHBlbmRDaGlsZCh0KX19X3VwZGF0ZVZhbHVlc1RpdGxlSFRNTEVsSGFuZGxlcihlLHQ9IiIpe2NvbnN0IGk9KDAsbi5lbnN1cmUpKHRoaXMuX3ZhbHVlc0VsZW1lbnRzW2VdLnZhbHVlKTtpLmNsYXNzTGlzdC50b2dnbGUoImFwcGx5LWNvbW1vbi10b29sdGlwIiwwIT09dC5sZW5ndGgpLGkudGl0bGU9dH1fdXBkYXRlNUJ1dHRvbnNTdHlsZXMoZSl7bnVsbCE9PXRoaXMuX2VsJiYodGhpcy5fZWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5oYXM1QnV0dG9ucyxlKSx0aGlzLl91cGRhdGVBbGxCdXR0b25zV2lkdGgoKSl9X29uV2hlZWxDbGlja2VkKGUpezE9PT1lLmJ1dHRvbiYmdGhpcy5fbW9kZWwub25SZW1vdmVTb3VyY2UoKX19dmFyIHllPWkoMTc5NzcxKTtjbGFzcyB3ZSBleHRlbmRzIHZle2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSksdGhpcy5fY2xpZW50SGVpZ2h0PW51bGwsdGhpcy5fdXBkYXRlTGlua2VkU3RhdGU9KCk9PnsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VsKS5jbGFzc0xpc3QudG9nZ2xlKGNlLmxpbmtlZCxCb29sZWFuKHRoaXMuX2xpbmtlZD8udmFsdWUoKSkpLHRoaXMuX3VwZGF0ZVRpdGxlTWF4V2lkdGgoKX0sdGhpcy5fZmxhZ2dlZD10aGlzLl9tb2RlbC5mbGFnZ2VkKCkuc3Bhd24oKSx0aGlzLl9mbGFnZ2VkLnN1YnNjcmliZSh0aGlzLl91cGRhdGVGbGFnZ2VkU3RhdGUuYmluZCh0aGlzKSksdGhpcy5fbGlua2VkPXRoaXMuX21vZGVsLmxpbmtlZCgpLnNwYXduKCksdGhpcy5fdXBkYXRlTGlua2VkU3RhdGUmJnRoaXMuX2xpbmtlZC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTGlua2VkU3RhdGUuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fdXBkYXRlU3RhdGVzKCksaS5zdGF0dXNlc1dpZGdldFN0YXRlJiZ0aGlzLl9hZGRTdGF0dXNlc1dpZGdldChpLnN0YXR1c2VzV2lkZ2V0U3RhdGUpLHRoaXMuX3NlbGVjdGVkLnN1YnNjcmliZSh0aGlzLl91cGRhdGVUaXRsZU1heFdpZHRoLmJpbmQodGhpcykpfWRlc3Ryb3koKXtzdXBlci5kZXN0cm95KCksdGhpcy5fZmxhZ2dlZD8uZGVzdHJveSgpLHRoaXMuX2xpbmtlZD8uZGVzdHJveSgpfWdldEhlaWdodCgpe3JldHVybiBudWxsPT09dGhpcy5fZWw/bnVsbDoobnVsbD09PXRoaXMuX2NsaWVudEhlaWdodCYmKHRoaXMuX2NsaWVudEhlaWdodD10aGlzLl9lbC5jbGllbnRIZWlnaHQsMD09PXRoaXMuX2NsaWVudEhlaWdodCYmKHRoaXMuX2NsaWVudEhlaWdodD1udWxsKSksdGhpcy5fY2xpZW50SGVpZ2h0KX1fdXBkYXRlQWN0aW9uc1Zpc2liaWxpdGllc0J5TW9kZSgpe2lmKCF0aGlzLl93aXRoQWN0aW9ucylyZXR1cm47Y29uc3QgZT1bXTtsZXQgdD1bXTtjb25zdCBpPXRoaXMuX21vZGVsLmFjdGlvbnMoKTtpZigxPT09dGhpcy5fcm93TW9kZSlpW3RoaXMuX2FjdGlvbkVsZW1lbnRzLmxlbmd0aC0xXS52aXNpYmxlLnZhbHVlKCkmJmUucHVzaCh0aGlzLl9hY3Rpb25FbGVtZW50c1t0aGlzLl9hY3Rpb25FbGVtZW50cy5sZW5ndGgtMV0pLAp0PXRoaXMuX2FjdGlvbkVsZW1lbnRzLnNsaWNlKDAsdGhpcy5fYWN0aW9uRWxlbWVudHMubGVuZ3RoLTEpO2Vsc2UgZm9yKGxldCB0PTA7dDx0aGlzLl9hY3Rpb25FbGVtZW50cy5sZW5ndGg7dCsrKWlbdF0udmlzaWJsZS52YWx1ZSgpJiZlLnB1c2godGhpcy5fYWN0aW9uRWxlbWVudHNbdF0pO3QuZm9yRWFjaCgoZT0+ZS5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sITApKSksZS5mb3JFYWNoKChlPT5lLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbiwhMSkpKX1fdXBkYXRlVGl0bGVzVmlzaWJpbGl0aWVzQnlNb2RlKCl7dGhpcy5faGlkZVRpdGxlQW5kSXRzQ29udGFpbmVySWZSZXF1aXJlZCgzKSx0aGlzLl9oaWRlVGl0bGVBbmRJdHNDb250YWluZXJJZlJlcXVpcmVkKDQpLHRoaXMuX2hpZGVUaXRsZUFuZEl0c0NvbnRhaW5lcklmUmVxdWlyZWQoMil9X2lzVGl0bGVIaWRkZW5CeU1vZGUoZSl7Y29uc3QgdD1lLmlkO3JldHVybiAyIT09dCYmMyE9PXQmJjQhPT10P3N1cGVyLl9pc1RpdGxlSGlkZGVuQnlNb2RlKGUpOjI9PT10JiZ0aGlzLl9pc011bHRpcGxlTGF5b3V0LnZhbHVlKCk/MT09PXRoaXMuX3RpdGxlc01vZGU6MyE9PXRoaXMuX3RpdGxlc01vZGV9X2hpZGVUaXRsZUFuZEl0c0NvbnRhaW5lcklmUmVxdWlyZWQoZSl7Y29uc3QgdD10aGlzLl9nZXRUaXRsZUluZGV4QnlEYXRhTmFtZShlKTtpZigtMT09PXQpcmV0dXJuO2NvbnN0IGk9dGhpcy5fdGl0bGVzU3RhdGVzU3Bhd24udmFsdWUoKVt0XSxzPXRoaXMuX3RpdGxlQ29udGFpbmVyc1t0XSxvPXRoaXMuX3RpdGxlRWxlbWVudHNbdF0sbj10aGlzLl9pc1RpdGxlSGlkZGVuQnlNb2RlKGkpO3M/LmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbixuKSxvPy5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sbil9X2dldEJ1dHRvbnNDb3VudCgpe3JldHVybiAxPT09dGhpcy5fcm93TW9kZT8xOnRoaXMuX2FjdGlvbkVsZW1lbnRzLmZpbHRlcigoZT0+IWUuY2xhc3NMaXN0LmNvbnRhaW5zKFguYmxvY2tIaWRkZW4pKSkubGVuZ3RofV9yZW5kZXIoKXtzdXBlci5fcmVuZGVyKCk7Y29uc3QgZT0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VsKTtlLmNsYXNzTGlzdC5hZGQoY2UuaXRlbSxjZS5zZXJpZXMpLGUuY2xhc3NMaXN0LnRvZ2dsZShjZS5vbmx5T25lQnV0dG9uQ2FuQmVTdGljayx0aGlzLl9tb2RlbC5pc09uZUJ1dHRvbkNhbkJlU3RpY2soKSksZS5kYXRhc2V0LnFhSWQ9ImxlZ2VuZC1zZXJpZXMtaXRlbSIsZS5zZXRBdHRyaWJ1dGUoInJvbGUiLCJ0b29sYmFyIil9X3VwZGF0ZVN0YXRlcygpe3N1cGVyLl91cGRhdGVTdGF0ZXMoKSx0aGlzLl91cGRhdGVGbGFnZ2VkU3RhdGUoKSx0aGlzLl91cGRhdGVMaW5rZWRTdGF0ZT8uKCl9X3JlbmRlclZhbHVlcygpe2NvbnN0IGU9dGhpcy5faW5pdFdyYXBwZXJzSWZOb3RJbml0aWFsaXplZCgpLHQ9dGhpcy5fdmFsdWVzLnZhbHVlKCk7Zm9yKGNvbnN0IGkgb2YgdCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmRhdGFzZXQudGVzdElkVmFsdWVUaXRsZT1pLnRpdGxlLnZhbHVlKCksdC5jbGFzc0xpc3QuYWRkKGNlLnZhbHVlSXRlbSksdC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sIWkudmlzaWJsZS52YWx1ZSgpKSx0LmNsYXNzTGlzdC50b2dnbGUoY2UudW5pbXBvcnRhbnQsaS51bmltcG9ydGFudC52YWx1ZSgpKTtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG89aS50aXRsZS52YWx1ZSgpfHwiIixuPXRoaXMuX2N1c3RvbVRleHRDb2xvci52YWx1ZSgpfHwiIjtzLmNsYXNzTGlzdC5hZGQoY2UudmFsdWVUaXRsZSkscy5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sMD09PW8ubGVuZ3RoKSxzLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG8pKSxzLnN0eWxlLmNvbG9yPW4sdC5hcHBlbmRDaGlsZChzKTtjb25zdCBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuY2xhc3NMaXN0LmFkZChjZS52YWx1ZVZhbHVlKSxhLnN0eWxlLmNvbG9yPWkuY29sb3IudmFsdWUoKXx8IiIsYS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShpLnZhbHVlLnZhbHVlKCkpKSx0LmFwcGVuZENoaWxkKGEpLHRoaXMuX3ZhbHVlc0VsZW1lbnRzLnB1c2goe3RpdGxlOnMsdmFsdWU6YX0pLGUuYXBwZW5kQ2hpbGQodCl9fV9nZXRBdHRyaWJ1dGVzRm9yVGl0bGVTdGF0ZShlKXtzd2l0Y2goZS5pZCl7Y2FzZSAwOnJldHVybntkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS10aXRsZSIsY2xhc3NOYW1lOmNlLm1haW5UaXRsZX07Y2FzZSAxOnJldHVybntkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS1kZXNjcmlwdGlvbiIsY2xhc3NOYW1lOmNlLmRlc2NUaXRsZX07Y2FzZSAyOnJldHVybntkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS1pbnRlcnZhbCIsY2xhc3NOYW1lOmNlLmludGVydmFsVGl0bGV9O2Nhc2UgMzpyZXR1cm57ZGF0YVFhSWQ6ImxlZ2VuZC1zb3VyY2UtcHJvdmlkZXIiLGNsYXNzTmFtZTpjZS5wcm92aWRlclRpdGxlfTtjYXNlIDQ6cmV0dXJue2RhdGFRYUlkOiJsZWdlbmQtc291cmNlLWV4Y2hhbmdlIixjbGFzc05hbWU6Y2UuZXhjaGFuZ2VUaXRsZX07Y2FzZSA1OnJldHVybntkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS1zdHlsZSIsY2xhc3NOYW1lOmNlLnN0eWxlVGl0bGV9O2Nhc2UgNjpyZXR1cm57ZGF0YVFhSWQ6ImxlZ2VuZC1zb3VyY2UtcHJpY2Utc291cmNlIixjbGFzc05hbWU6Y2UucHJpY2VTb3VyY2VUaXRsZX19cmV0dXJuIG51bGx9X3VwZGF0ZVZhbHVlc1RpdGxlSFRNTEVsSGFuZGxlcihlLHQ9IiIpe2NvbnN0IGk9KDAsbi5lbnN1cmUpKHRoaXMuX3ZhbHVlc0VsZW1lbnRzW2VdLnRpdGxlKTtnKGksdCksaS5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sMD09PXQubGVuZ3RoKSx0aGlzLl91cGRhdGVTaG93VmFsdWVzKCl9X2lzV2lkdGhCdXR0b25zTW9kZSgpewpyZXR1cm4gbnVsbCE9PXRoaXMuX2VsJiYodm9pZCAwIT09dGhpcy5fZmxhZ2dlZCYmQm9vbGVhbih0aGlzLl9mbGFnZ2VkLnZhbHVlKCkpfHx0aGlzLl9saW5rZWQ/LnZhbHVlKCl8fHN1cGVyLl9pc1dpZHRoQnV0dG9uc01vZGUoKSl9X3Nob3dUb29sdGlwT3ZlcnJpZGVDYWxsYmFjaygpe2lmKCgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImRpc2FibGVfc2hvd19zZXJpZXNfc3RhdHVzZXNfdG9vbHRpcCIpKXJldHVybiBlPT57eWUuZW1pdCgidG9nZ2xlX3Nlcmllc19zdGF0dXNfdG9vbHRpcF9pbm5lciIsZSx0aGlzLl9tb2RlbC5jaGFydE1vZGVsSWQoKSl9fV91cGRhdGVGbGFnZ2VkU3RhdGUoKXtpZih2b2lkIDA9PT10aGlzLl9mbGFnZ2VkKXJldHVybjsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VsKS5jbGFzc0xpc3QudG9nZ2xlKGNlLmZsYWdnZWQsQm9vbGVhbih0aGlzLl9mbGFnZ2VkLnZhbHVlKCkpKSx0aGlzLl91cGRhdGVUaXRsZU1heFdpZHRoKCl9X2dldFRpdGxlSW5kZXhCeURhdGFOYW1lKGUpe3JldHVybiB0aGlzLl90aXRsZXNTdGF0ZXNTcGF3bi52YWx1ZSgpLmZpbmRJbmRleCgodD0+dC5pZD09PWUpKX19dmFyIENlLEVlPWkoNDcxNTE4KSx4ZT1pKDgyNDI0MiksTGU9aSg5NTI1NCksTWU9aSg0Njc1NDgpOyFmdW5jdGlvbihlKXtlW2UuRGVmYXVsdD0wXT0iRGVmYXVsdCIsZVtlLk1pY3JvPTFdPSJNaWNybyJ9KENlfHwoQ2U9e30pKTtjb25zdCBUZT0oMCxFLm1lcmdlVGhlbWVzKSh3LkRFRkFVTFRfU1RBVFVTX1JFTkRFUkVSX1RIRU1FLHtzdGF0dXNlc1dyYXA6Y2Uuc3RhdHVzZXNXcmFwcGVyX19zdGF0dXNlc30pO2NsYXNzIFZle2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl93cmFwcGVyVG9nZ2VyPW51bGwsdGhpcy5fZWw9bnVsbCx0aGlzLl9jb3VudGVyRWw9bnVsbCx0aGlzLl9hcnJvd0ljb25FTD1udWxsLHRoaXMuX29iamVjdFRyZWVFbD1udWxsLHRoaXMuX2xvYWRlcj1lZShudWxsLHtjbGFzc05hbWU6Y2UudG9nZ2xlcldyYXBwZXJfX2xvYWRlcn0pLHRoaXMuX21vZGU9MCx0aGlzLl9hY2Nlc3NpYmxlQnV0dG9ucz1bXSx0aGlzLl9wYXJlbnRFbD1lLHRoaXMuX3RoZW1lZENvbG9yPXQuc3Bhd24oKSx0aGlzLl90aGVtZWRDb2xvci5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVGhlbWVkQ29sb3IuYmluZCh0aGlzKSksdGhpcy5fc2hvd0NvbGxhcHNlcldpdGhPbmVJbmRpY2F0b3I9aS5zaG93Q29sbGFwc2VyV2l0aE9uZUluZGljYXRvci5zcGF3bigpLHRoaXMuX3Nob3dDb2xsYXBzZXJXaXRoT25lSW5kaWNhdG9yLnN1YnNjcmliZSh0aGlzLl91cGRhdGVWaXNpYmlsaXR5LmJpbmQodGhpcykpLHRoaXMuX3NvdXJjZUNvdW50PWkudmlzaWJsZURhdGFTb3VyY2VDb3VudC5zcGF3bigpLHRoaXMuX3NvdXJjZUNvdW50LnN1YnNjcmliZSgoKCk9Pnt0aGlzLl91cGRhdGVTb3VyY2VDb3VudCgpLHRoaXMuX3VwZGF0ZVZpc2liaWxpdHkoKX0pKSx0aGlzLl9pc1N0YXRlT3Blbj1pLmlzRGF0YVNvdXJjZXNDb2xsYXBzZWQuc3Bhd24oKSx0aGlzLl9pc1N0YXRlT3Blbi5zdWJzY3JpYmUoKCgpPT57dGhpcy5fdXBkYXRlU3RhdGUoKSx0aGlzLl91cGRhdGVWaXNpYmlsaXR5KCl9KSksdGhpcy5faXNNYWluUGFuZT1pLmlzTWFpblBhbmUuc3Bhd24oKSx0aGlzLl9pc01haW5QYW5lLnN1YnNjcmliZSh0aGlzLl91cGRhdGVPYmplY3RUcmVlVmlzaWJpbGl0eS5iaW5kKHRoaXMpKSx0aGlzLl9pc1BhbmVDb2xsYXBzZWQ9aS5pc1BhbmVDb2xsYXBzZWQuc3Bhd24oKSx0aGlzLl9pc1BhbmVDb2xsYXBzZWQuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZpc2liaWxpdHkuYmluZCh0aGlzKSksdGhpcy5fY29tYmluZWRTdGF0dXNXaWRnZXRFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jb21iaW5lZFN0YXR1c2VzV2lkZ2V0U3RhdGU9aS5jb21iaW5lZFN0YXR1c2VzV2lkZ2V0U3RhdGUsdGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldFZpc2liaWxpdHk9dGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldFN0YXRlLnZpc2liaWxpdHkoKS5zcGF3bigpLHRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXRWaXNpYmlsaXR5LnN1YnNjcmliZSh0aGlzLl91cGRhdGVWaXNpYmlsaXR5LmJpbmQodGhpcykpLHRoaXMuX3JlbmRlcigpLHRoaXMuX3VwZGF0ZVN0YXRlKCksdGhpcy5fdXBkYXRlVmlzaWJpbGl0eSgpLHRoaXMuX3VwZGF0ZVRoZW1lZENvbG9yKHRoaXMuX3RoZW1lZENvbG9yLnZhbHVlKCkpLHRoaXMuX3VwZGF0ZU9iamVjdFRyZWVWaXNpYmlsaXR5KHRoaXMuX2lzTWFpblBhbmUudmFsdWUoKSksdGhpcy5faXNMb2FkZXJWaXNpYmxlPSgwLGQuY29tYmluZSkoKChlLHQpPT4hZSYmdFswXSksdGhpcy5faXNTdGF0ZU9wZW4ud2Vha1JlZmVyZW5jZSgpLGkuaGFzTG9hZGluZ0RhdGFTb3VyY2VzLndlYWtSZWZlcmVuY2UoKSksdGhpcy5faXNMb2FkZXJWaXNpYmxlLnN1YnNjcmliZSh0aGlzLl9sb2FkZXIudG9nZ2xlVmlzaWJpbGl0eSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fdG9nZ2xlU3RhdGVIYW5kbGVyPWU9PntudWxsIT09dGhpcy5fZWwmJihlLmNhbmNlbGFibGUmJmUucHJldmVudERlZmF1bHQoKSxlIGluc3RhbmNlb2YgS2V5Ym9hcmRFdmVudHx8dGhpcy5fZWw/LmJsdXIoKSwxIT09dGhpcy5fbW9kZT9pLm9uQ29sbGFwc2VEYXRhU291cmNlcygpOmkub25TaG93T2JqZWN0c1RyZWVEaWFsb2coKSl9LG51bGwhPT10aGlzLl9lbCYmKHRoaXMuX2VsLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLl90b2dnbGVTdGF0ZUhhbmRsZXIpLHRoaXMuX2VsLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLl90b2dnbGVTdGF0ZUhhbmRsZXIpLHRoaXMuX2VsLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwoZT0+e2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpfSkpKSx0aGlzLl91cGRhdGVTb3VyY2VDb3VudCgpfWRlc3Ryb3koKXt0aGlzLl9pc0xvYWRlclZpc2libGUuZGVzdHJveSgpLHRoaXMuX2xvYWRlci5kZXN0cm95KCksdGhpcy5faXNQYW5lQ29sbGFwc2VkLmRlc3Ryb3koKSwKdGhpcy5fc291cmNlQ291bnQuZGVzdHJveSgpLHRoaXMuX2lzU3RhdGVPcGVuLmRlc3Ryb3koKSx0aGlzLl9zaG93Q29sbGFwc2VyV2l0aE9uZUluZGljYXRvci5kZXN0cm95KCksdGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldFZpc2liaWxpdHkuZGVzdHJveSgpLHRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXREZXN0cm95Py4oKSxudWxsIT09dGhpcy5fb2JqZWN0VHJlZUVsJiYodGhpcy5fb2JqZWN0VHJlZUVsPW51bGwpLHRoaXMuX2Fycm93SWNvbkVMPW51bGwsdGhpcy5fY291bnRlckVsPW51bGwsbnVsbCE9PXRoaXMuX2VsJiYodGhpcy5fZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMuX3RvZ2dsZVN0YXRlSGFuZGxlciksdGhpcy5fZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuX3RvZ2dsZVN0YXRlSGFuZGxlciksdGhpcy5fZWwuaW5uZXJIVE1MPSIiLHRoaXMuX2VsPW51bGwpfWFjY2Vzc2libGVCdXR0b25zKCl7cmV0dXJuIG51bGw9PT10aGlzLl9lbHx8dGhpcy5fZWwuY2xhc3NMaXN0LmNvbnRhaW5zKGNlLm9ubHlPbmVTb3VyY2VTaG93bikmJjEhPT10aGlzLl9tb2RlP1tdOnRoaXMuX2FjY2Vzc2libGVCdXR0b25zfXNldE1vZGUoZSl7dGhpcy5fbW9kZT1lPzE6MCx0aGlzLl91cGRhdGVUb29sdGlwKCl9X3JlbmRlcigpe3RoaXMuX3dyYXBwZXJUb2dnZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fd3JhcHBlclRvZ2dlci5jbGFzc0xpc3QuYWRkKGNlLnRvZ2dsZXJXcmFwcGVyKSx0aGlzLl93cmFwcGVyVG9nZ2VyLmRhdGFzZXQucWFJZD0ibGVnZW5kLXRvZ2dsZXItd3JhcHBlciIsdGhpcy5fZWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIiksdGhpcy5fZWwuY2xhc3NOYW1lPWAke2NlLnRvZ2dsZXJ9IGFwcGx5LWNvbW1vbi10b29sdGlwYCx0aGlzLl9lbC5kYXRhc2V0LnFhSWQ9ImxlZ2VuZC10b2dnbGVyIjtjb25zdCBlPXRoaXMuX2VsO2UudHlwZT0iYnV0dG9uIixlLmNsYXNzTGlzdC5hZGQoY2UuYWNjZXNzaWJsZSksZS50YWJJbmRleD0tMTtjb25zdCB0PXQ9PntpZihudWxsIT09ZSlzd2l0Y2godC50eXBlKXtjYXNlInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiOmUudGFiSW5kZXg9MDticmVhaztjYXNlInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCI6ZS50YWJJbmRleD0tMX19O2UuYWRkRXZlbnRMaXN0ZW5lcigicm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCIsdCksZS5hZGRFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQiLHQpLGUuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsKGU9Pntjb25zdCB0PSgwLGguaGFzaEZyb21FdmVudCkoZSk7MTMhPT10JiYzMiE9PXR8fChlLnByZXZlbnREZWZhdWx0KCksdGhpcy5fdG9nZ2xlU3RhdGVIYW5kbGVyKGUpKX0pKSx0aGlzLl9hY2Nlc3NpYmxlQnV0dG9ucy5wdXNoKGUpLHRoaXMuX2Fycm93SWNvbkVMPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2Fycm93SWNvbkVMLmNsYXNzTGlzdC5hZGQoY2UuaWNvbkFycm93KSx0aGlzLl9hcnJvd0ljb25FTC5pbm5lckhUTUw9di50cmFja2luZ01vZGVJc0F2YWlsYWJsZT94ZTpFZSx0aGlzLl9lbC5hcHBlbmRDaGlsZCh0aGlzLl9hcnJvd0ljb25FTCksdGhpcy5fb2JqZWN0VHJlZUVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX29iamVjdFRyZWVFbC5jbGFzc0xpc3QuYWRkKGNlLm9iamVjdFRyZWUpLHRoaXMuX29iamVjdFRyZWVFbC5pbm5lckhUTUw9di50cmFja2luZ01vZGVJc0F2YWlsYWJsZT9NZTpMZSx0aGlzLl9lbC5hcHBlbmRDaGlsZCh0aGlzLl9vYmplY3RUcmVlRWwpLHRoaXMuX2NvdW50ZXJFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jb3VudGVyRWwuY2xhc3NMaXN0LmFkZChjZS5jb3VudGVyKSx0aGlzLl9jb3VudGVyRWwuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKHRoaXMuX3NvdXJjZUNvdW50LnZhbHVlKCkpKSksdGhpcy5fZWwuYXBwZW5kQ2hpbGQodGhpcy5fY291bnRlckVsKSx0aGlzLl93cmFwcGVyVG9nZ2VyLmFwcGVuZENoaWxkKHRoaXMuX2VsKSx0aGlzLl9jb21iaW5lZFN0YXR1c1dpZGdldEVsLmNsYXNzTGlzdC5hZGQoY2Uuc3RhdHVzZXNXcmFwcGVyKSx0aGlzLl9jb21iaW5lZFN0YXR1c1dpZGdldEVsLmRhdGFzZXQucWFJZD0ibGVnZW5kLXN0YXR1c2VzLXdyYXBwZXIiLHRoaXMuX3dyYXBwZXJUb2dnZXIuYXBwZW5kQ2hpbGQodGhpcy5fY29tYmluZWRTdGF0dXNXaWRnZXRFbCksIXRoaXMuX2lzU3RhdGVPcGVuLnZhbHVlKCkmJnRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXRWaXNpYmlsaXR5LnZhbHVlKCk/dGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldERlc3Ryb3k9Qyh7Y29udGFpbmVyOnRoaXMuX2NvbWJpbmVkU3RhdHVzV2lkZ2V0RWwsc3RhdHVzZXM6dGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldFN0YXRlLnZpc2libGVNb2RlbHMoKSx0b29sdGlwOnRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXRTdGF0ZS50b29sdGlwKCksdGhlbWU6VGV9KToodGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldERlc3Ryb3k/LigpLHRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXREZXN0cm95PXZvaWQgMCksdGhpcy5fcGFyZW50RWwuYXBwZW5kQ2hpbGQodGhpcy5fd3JhcHBlclRvZ2dlciksdGhpcy5fbG9hZGVyLm1vdW50VG8odGhpcy5fd3JhcHBlclRvZ2dlcil9X3VwZGF0ZVRoZW1lZENvbG9yKGUpe2lmKG51bGwhPT10aGlzLl9lbClpZihlLmxlbmd0aD4wKXtjb25zdFt0LGksc109KDAsYy5wYXJzZVJnYikoZSk7dGhpcy5fZWwuc3R5bGUuYmFja2dyb3VuZENvbG9yPSgwLGMucmdiYVRvU3RyaW5nKShbdCxpLHMsKDAsYy5ub3JtYWxpemVBbHBoYUNvbXBvbmVudCkoLjgpXSl9ZWxzZSB0aGlzLl9lbC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiYmFja2dyb3VuZC1jb2xvciIpfV91cGRhdGVTb3VyY2VDb3VudCgpe2NvbnN0IGU9dGhpcy5fc291cmNlQ291bnQudmFsdWUoKSx0PSgwLApuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NvdW50ZXJFbCk7Zyh0LFN0cmluZyhlKSksdC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sZTw9MSksdGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5zYXZlQXJyb3dXaWR0aCxlPD0xKX1fdXBkYXRlVmlzaWJpbGl0eSgpe2NvbnN0IGU9dGhpcy5fc291cmNlQ291bnQudmFsdWUoKSx0PSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fZWwpLGk9MT09PWUmJiF0aGlzLl9zaG93Q29sbGFwc2VyV2l0aE9uZUluZGljYXRvci52YWx1ZSgpJiYodGhpcy5faXNTdGF0ZU9wZW4udmFsdWUoKXx8IXRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXRWaXNpYmlsaXR5LnZhbHVlKCkpLHM9ZTwxfHx0aGlzLl9pc1BhbmVDb2xsYXBzZWQudmFsdWUoKSYmKHRoaXMuX2lzTWFpblBhbmUudmFsdWUoKXx8dGhpcy5faXNTdGF0ZU9wZW4udmFsdWUoKSk7dC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sISFzKSx0LmNsYXNzTGlzdC50b2dnbGUoY2Uub25seU9uZVNvdXJjZVNob3duLGkpLHQuZGF0YXNldC5xYUlkPWBsZWdlbmQtdG9nZ2xlciR7cz8iIGhpZGRlbiI6IiJ9JHtpPyIgb25seS1vbmUtc291cmNlLXNob3duIjoiIn1gLCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fd3JhcHBlclRvZ2dlcikuY2xhc3NMaXN0LnRvZ2dsZShYLmJsb2NrSGlkZGVuLGkpLCF0aGlzLl9pc1N0YXRlT3Blbi52YWx1ZSgpJiZ0aGlzLl9jb21iaW5lZFN0YXR1c2VzV2lkZ2V0VmlzaWJpbGl0eS52YWx1ZSgpP3RoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXREZXN0cm95PUMoe2NvbnRhaW5lcjp0aGlzLl9jb21iaW5lZFN0YXR1c1dpZGdldEVsLHN0YXR1c2VzOnRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXRTdGF0ZS52aXNpYmxlTW9kZWxzKCksdG9vbHRpcDp0aGlzLl9jb21iaW5lZFN0YXR1c2VzV2lkZ2V0U3RhdGUudG9vbHRpcCgpLHRoZW1lOlRlfSk6KHRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXREZXN0cm95Py4oKSx0aGlzLl9jb21iaW5lZFN0YXR1c2VzV2lkZ2V0RGVzdHJveT12b2lkIDApfV91cGRhdGVTdGF0ZSgpe2NvbnN0IGU9IXRoaXMuX2lzU3RhdGVPcGVuLnZhbHVlKCk7dGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5jbG9zZWQsZSksdGhpcy5fdXBkYXRlVG9vbHRpcCgpLE8oKGU/IkhpZGUiOiJTaG93IikrIiBub3QgbWFpbiBzb3VyY2VzIil9X3Rvb2x0aXAoKXtpZigxPT09dGhpcy5fbW9kZSlyZXR1cm4gUC50KG51bGwse2NvbnRleHQ6IkxlZ2VuZCB0b2dnbGVyIGJ1dHRvbiB0b29sdGlwIn0saSgzMDUwNTUpKTtjb25zdCBlPXRoaXMuX3NvdXJjZUNvdW50LnZhbHVlKCksdD1QLnQobnVsbCx7cGx1cmFsOiJIaWRlIGluZGljYXRvcnMgbGVnZW5kIixjb3VudDplfSxpKDMzMjgyOCkpLHM9UC50KG51bGwse3BsdXJhbDoiU2hvdyBpbmRpY2F0b3JzIGxlZ2VuZCIsY291bnQ6ZX0saSg2OTI3MTIpKTtyZXR1cm4gdGhpcy5faXNTdGF0ZU9wZW4udmFsdWUoKT90OnN9X3VwZGF0ZVRvb2x0aXAoKXtpZihudWxsIT09dGhpcy5fZWwpe2NvbnN0IGU9dGhpcy5fdG9vbHRpcCgpO3RoaXMuX2VsLnNldEF0dHJpYnV0ZSgidGl0bGUiLGUpLHRoaXMuX2VsLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsZSksdGhpcy5fZWwuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNvbW1vbi10b29sdGlwLXVwZGF0ZSIpKX19X3VwZGF0ZU9iamVjdFRyZWVWaXNpYmlsaXR5KGUpeygwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fZWwpLmNsYXNzTGlzdC50b2dnbGUoY2Uub2JqZWN0c1RyZWVDYW5CZVNob3duLGUpfX12YXIga2U7IWZ1bmN0aW9uKGUpe2VbZS5NZWRpdW09MjIyXT0iTWVkaXVtIixlW2UuU21hbGw9MjA1XT0iU21hbGwiLGVbZS5UaW55PTEzM109IlRpbnkiLGVbZS5IaWRlVW5pbXBvcnRhbnRWYWx1ZXM9MjcyXT0iSGlkZVVuaW1wb3J0YW50VmFsdWVzIixlW2UuU2VyaWVzRGlyZWN0aW9uQ29sdW1uPTU0Ml09IlNlcmllc0RpcmVjdGlvbkNvbHVtbiIsZVtlLkhpZGVFeGNoYW5nZUludGV2YWxQcm92aWRlcj00NDJdPSJIaWRlRXhjaGFuZ2VJbnRldmFsUHJvdmlkZXIiLGVbZS5IaWRlSW50ZXJ2YWxNdWx0aUNoYXJ0PTE5Ml09IkhpZGVJbnRlcnZhbE11bHRpQ2hhcnQifShrZXx8KGtlPXt9KSk7Y29uc3QgQWU9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgib2JqZWN0X3RyZWVfbGVnZW5kX21vZGUiKSxXZT1bMjcsOSwzNywzOSwzOCw0MF0sSWU9KDAsRS5tZXJnZVRoZW1lcykody5ERUZBVUxUX1NUQVRVU19SRU5ERVJFUl9USEVNRSx7c3RhdHVzZXNXcmFwOmNlLnN0YXR1c2VzV3JhcHBlcl9fc3RhdHVzZXN9KTtjbGFzcyBCZXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX21vZGU9NCx0aGlzLl9yZW5kZXJUb2dnbGVyPW51bGwsdGhpcy5fbWFpbkRhdGFTb3VyY2VSZW5kZXJlcj1udWxsLHRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnM9W10sdGhpcy5fcGFyZW50RWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fbWFpbkRhdGFTb3VyY2VFbD1udWxsLHRoaXMuX2RhdGFTb3VyY2VzRWw9bnVsbCx0aGlzLl9kYXRhU291cmNlc0FkZGl0aW9uYWxXcmFwcGVyRWw9bnVsbCx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1dyYXBwZXJFbD1udWxsLHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzRWw9bnVsbCx0aGlzLl9vdXRzaWRlRXZlbnRGb3JDb2xsYXBzZWRUb29sdGlwPW51bGwsdGhpcy5fb25LZXlib2FyZE5hdmlnYXRpb25BY3RpdmF0aW9uQm91bmQ9dGhpcy5fb25LZXlib2FyZE5hdmlnYXRpb25BY3RpdmF0aW9uLmJpbmQodGhpcyksdGhpcy5fb25Jc0RhdGFTb3VyY2VzQ29sbGFwc2VkQm91bmQ9dGhpcy5fb25Jc0RhdGFTb3VyY2VzQ29sbGFwc2VkLmJpbmQodGhpcyksdGhpcy5fZm9jdXNFdmVudEFib3J0Q29udHJvbGxlcj1udWxsLHRoaXMuX3RvZ2dsZUhpZGRlbkFjdGlvbnNUaW1lb3V0SUQ9bnVsbCx0aGlzLl9sb2FkZXI9ZWUobnVsbCx7Y2xhc3NOYW1lOmNlLmNvbGxhcHNlZFNvdXJjZXNDb3VudGVyfSksdGhpcy5fdG9nZ2xlSGlkZGVuQWN0aW9ucz1lPT57CnRoaXMuX3RvZ2dsZUhpZGRlbkFjdGlvbnNUaW1lb3V0SUQmJihjbGVhclRpbWVvdXQodGhpcy5fdG9nZ2xlSGlkZGVuQWN0aW9uc1RpbWVvdXRJRCksdGhpcy5fdG9nZ2xlSGlkZGVuQWN0aW9uc1RpbWVvdXRJRD1udWxsKSxlP3RoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC50b2dnbGUoY2UubGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLGUpOnRoaXMuX3RvZ2dsZUhpZGRlbkFjdGlvbnNUaW1lb3V0SUQ9c2V0VGltZW91dCgoKCk9PnRoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC50b2dnbGUoY2UubGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLGUpKSwxMDApfSx0aGlzLl9vcHRpb25zPWUsdGhpcy5fdG9nZ2xlck9wdGlvbnM9dCx0aGlzLl9pc1N0dWRpZXNMZWdlbmRIaWRkZW49ZS5pc1N0dWRpZXNMZWdlbmRIaWRkZW4uc3Bhd24oKSx0aGlzLl9pc1N0dWRpZXNMZWdlbmRIaWRkZW4uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdHkuYmluZCh0aGlzKSksdGhpcy5faXNBbGxMZWdlbmRIaWRkZW49ZS5pc0FsbExlZ2VuZEhpZGRlbi5zcGF3bigpLHRoaXMuX2lzQWxsTGVnZW5kSGlkZGVuLnN1YnNjcmliZSh0aGlzLl91cGRhdGVMZWdlbmRWaXNpYmlsaXR5LmJpbmQodGhpcykpLHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdHkoKSx0aGlzLl9oaWRlQWxsRXhjZXB0Rmlyc3RMaW5lPWUuaGlkZUFsbEV4Y2VwdEZpcnN0TGluZS5zcGF3bigpLHRoaXMuX2hpZGVBbGxFeGNlcHRGaXJzdExpbmUuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUFsbEhpZGRlbkV4ZXB0Rmlyc3RMaW5lLmJpbmQodGhpcykpLHRoaXMuX3RoZW1lZENvbG9yPWUudGhlbWVkQ29sb3Iuc3Bhd24oKSx0aGlzLl90aGVtZWRDb2xvci5zdWJzY3JpYmUodGhpcy5fc2V0Q3VzdG9tQmcuYmluZCh0aGlzKSksdGhpcy5fc2hvd0JhY2tncm91bmQ9ZS5zaG93QmFja2dyb3VuZC5zcGF3bigpLHRoaXMuX3Nob3dCYWNrZ3JvdW5kLnN1YnNjcmliZSh0aGlzLl9zZXRDdXN0b21CZy5iaW5kKHRoaXMpKSx0aGlzLl9iYWNrZ3JvdW5kVHJhbnNwYXJlbmN5PWUuYmFja2dyb3VuZFRyYW5zcGFyZW5jeS5zcGF3bigpLHRoaXMuX2JhY2tncm91bmRUcmFuc3BhcmVuY3kuc3Vic2NyaWJlKHRoaXMuX3NldEN1c3RvbUJnLmJpbmQodGhpcykpLHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzQ291bnRTcGF3bj1lLmNvbGxhcHNlZERhdGFTb3VyY2VzQ291bnQuc3Bhd24oKSx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc0NvdW50U3Bhd24uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUNvbGxhcHNlZFNvdXJjZXNDb3VudC5iaW5kKHRoaXMpKSx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1N0YXR1c1dpZGdldEVsZW1lbnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZT1lLmNvbWJpbmVkU3RhdHVzZXNXaWRnZXRTdGF0ZSx0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFZpc2liaWxpdHk9dGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZS52aXNpYmlsaXR5KCkuc3Bhd24oKSx0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFZpc2liaWxpdHkuc3Vic2NyaWJlKCgoKT0+dGhpcy5fdXBkYXRlQ29sbGFwc2VkU291cmNlc0NvdW50KHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzQ291bnRTcGF3bi52YWx1ZSgpKSkpLHRoaXMuX3Nob3dDb2xsYXBzZWREYXRhU291cmNlc1Rvb2x0aXBIYW5kbGVyPXRoaXMuX3Nob3dDb2xsYXBzZWREYXRhU291cmNlc1Rvb2x0aXAuYmluZCh0aGlzKSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QuYWRkKGNlLmxlZ2VuZCksdGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5ub1dyYXAsIXYudHJhY2tpbmdNb2RlSXNBdmFpbGFibGUpLHRoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC50b2dnbGUoY2Uubm9BY3Rpb25zLCF0aGlzLl9vcHRpb25zLndpdGhBY3Rpb25zKSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKGNlLnRvdWNoTW9kZSx2LnRyYWNraW5nTW9kZUlzQXZhaWxhYmxlKSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKGNlLndyYXBwYWJsZSwhdGhpcy5faGlkZUFsbEV4Y2VwdEZpcnN0TGluZS52YWx1ZSgpKSx0aGlzLl9wYXJlbnRFbC5kYXRhc2V0LnFhSWQ9ImxlZ2VuZCIsdGhpcy5fcGFyZW50RWwuc2V0QXR0cmlidXRlKCJkYXRhLXRvb2x0aXAtc2hvdy1vbi1mb2N1cyIsInRydWUiKSx0aGlzLl9wYXJlbnRFbC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoIixgJHtMfXB4YCk7Y29uc3QgaT10PT57dC5wcmV2ZW50RGVmYXVsdCgpLGUuc2hvd0xlZ2VuZFdpZGdldENvbnRleHRNZW51KHQpfTt0aGlzLl9tb3VzZUV2ZW50SGFuZGxlcj1uZXcgeC5Nb3VzZUV2ZW50SGFuZGxlcih0aGlzLl9wYXJlbnRFbCx7Y29udGV4dE1lbnVFdmVudDppLHRvdWNoQ29udGV4dE1lbnVFdmVudDppfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWJvYXJkLW5hdmlnYXRpb24tYWN0aXZhdGlvbiIsdGhpcy5fb25LZXlib2FyZE5hdmlnYXRpb25BY3RpdmF0aW9uQm91bmQpLHRoaXMuX3BhcmVudEVsLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX2hhbmRsZUtleURvd24uYmluZCh0aGlzKSksdGhpcy5fb3B0aW9ucy5vbkxheW91dENoYW5nZWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25MYXlvdXRDaGFuZ2VkKSx0aGlzLl9pc0xvYWRlclZpc2libGU9KDAsZC5jb21iaW5lKSgoZT0+ZVsxXSksZS5oYXNMb2FkaW5nRGF0YVNvdXJjZXMud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9pc0xvYWRlclZpc2libGUuc3Vic2NyaWJlKHRoaXMuX2xvYWRlci50b2dnbGVWaXNpYmlsaXR5LHtjYWxsV2l0aExhc3Q6ITB9KX1kZXN0cm95KCl7dGhpcy5faXNMb2FkZXJWaXNpYmxlLmRlc3Ryb3koKSx0aGlzLl9sb2FkZXIuZGVzdHJveSgpLHRoaXMuX2ZvY3VzRXZlbnRBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7Y29uc3QgZT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2xldCB0PS0xCjtpZihCZS5fd2FzS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGVkJiZlIGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpe251bGwhPT10aGlzLl9nZXRSb3dSZW5kZXJlckJ5Q2hpbGQoZSkmJih0PSgwLGIucXVlcnlUYWJiYWJsZUVsZW1lbnRzKShkb2N1bWVudC5ib2R5KS5pbmRleE9mKGUpKX1pZih0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldERlc3Ryb3k/LigpLHRoaXMuX2lzU3R1ZGllc0xlZ2VuZEhpZGRlbi5kZXN0cm95KCksdGhpcy5faXNBbGxMZWdlbmRIaWRkZW4uZGVzdHJveSgpLHRoaXMuX2hpZGVBbGxFeGNlcHRGaXJzdExpbmUuZGVzdHJveSgpLHRoaXMuX3RoZW1lZENvbG9yLmRlc3Ryb3koKSx0aGlzLl9zaG93QmFja2dyb3VuZC5kZXN0cm95KCksdGhpcy5fYmFja2dyb3VuZFRyYW5zcGFyZW5jeS5kZXN0cm95KCksdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNDb3VudFNwYXduLmRlc3Ryb3koKSx0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFZpc2liaWxpdHkuZGVzdHJveSgpLHYudHJhY2tpbmdNb2RlSXNBdmFpbGFibGUmJm51bGwhPT10aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1dyYXBwZXJFbCYmdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMuX3Nob3dDb2xsYXBzZWREYXRhU291cmNlc1Rvb2x0aXBIYW5kbGVyKSx0aGlzLl9vdXRzaWRlRXZlbnRGb3JDb2xsYXBzZWRUb29sdGlwJiZ0aGlzLl9vdXRzaWRlRXZlbnRGb3JDb2xsYXBzZWRUb29sdGlwKCksbnVsbCE9PXRoaXMuX2RhdGFTb3VyY2VzQWRkaXRpb25hbFdyYXBwZXJFbCYmKHRoaXMuX2RhdGFTb3VyY2VzQWRkaXRpb25hbFdyYXBwZXJFbC5pbm5lckhUTUw9IiIsdGhpcy5fZGF0YVNvdXJjZXNBZGRpdGlvbmFsV3JhcHBlckVsPW51bGwpLG51bGwhPT10aGlzLl9kYXRhU291cmNlc0VsJiYodGhpcy5fZGF0YVNvdXJjZXNFbC5pbm5lckhUTUw9IiIsdGhpcy5fZGF0YVNvdXJjZXNFbD1udWxsKSx0aGlzLl90b2dnbGVyT3B0aW9ucy5pc0RhdGFTb3VyY2VzQ29sbGFwc2VkLnVuc3Vic2NyaWJlKHRoaXMuX29uSXNEYXRhU291cmNlc0NvbGxhcHNlZEJvdW5kKSxudWxsIT09dGhpcy5fcmVuZGVyVG9nZ2xlciYmKHRoaXMuX3JlbmRlclRvZ2dsZXIuZGVzdHJveSgpLHRoaXMuX3JlbmRlclRvZ2dsZXI9bnVsbCksbnVsbCE9PXRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXImJih0aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyLmRlc3Ryb3koKSx0aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyPW51bGwpLDAhPT10aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzLmxlbmd0aCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVycyllLmRlc3Ryb3koKTt0aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzPVtdfWlmKHRoaXMuX21vdXNlRXZlbnRIYW5kbGVyLmRlc3Ryb3koKSx0aGlzLl9wYXJlbnRFbC5pbm5lckhUTUw9IiIsZGVsZXRlIHRoaXMuX3BhcmVudEVsLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlib2FyZC1uYXZpZ2F0aW9uLWFjdGl2YXRpb24iLHRoaXMuX29uS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGlvbkJvdW5kKSwtMSE9PXQpe2xldCBlO3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgia2V5Ym9hcmQtbmF2aWdhdGlvbi1hY3RpdmF0aW9uIix7YnViYmxlczohMH0pKTtjb25zdCBpPSgwLGIucXVlcnlUYWJiYWJsZUVsZW1lbnRzKShkb2N1bWVudC5ib2R5KTtlPXQ9PT1pLmxlbmd0aD9pWzBdOmlbdF0sZSYmZS5mb2N1cygpfX1hZGRDdXN0b21XaWRnZXQoZSx0KXtpZigwPT09dC5ibG9jayl7dGhpcy5fcmVuZGVyTWFpbkRhdGFTb3VyY2VFbCgpO2NvbnN0IGk9KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tYWluRGF0YVNvdXJjZUVsKTsxPT09dC5wb3NpdGlvbiYmZS5yZW5kZXJUbyhpLGkuZmlyc3RDaGlsZCksMD09PXQucG9zaXRpb24mJmUucmVuZGVyVG8oaSl9aWYoMT09PXQuYmxvY2spe3RoaXMuX3JlbmRlckRhdGFTb3VyY2VzRWwoKTtjb25zdCBpPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fZGF0YVNvdXJjZXNBZGRpdGlvbmFsV3JhcHBlckVsKTsxPT09dC5wb3NpdGlvbiYmZS5yZW5kZXJUbyhpLGkuZmlyc3RDaGlsZCksMD09PXQucG9zaXRpb24mJmUucmVuZGVyVG8oaSl9fWZpcnN0VGl0bGUoKXtyZXR1cm4gdGhpcy5fcGFyZW50RWwuZmlyc3RFbGVtZW50Q2hpbGR9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9wYXJlbnRFbH11cGRhdGVNb2RlKGUpe2NvbnN0IHQ9QWUmJmU8MTMzPzE6ZTwyMDU/MjplPDIyMj8zOjQsaT1lPDE5Mj8xOmU8NDQyPzI6Mzt0aGlzLl9tb2RlPXQsbnVsbCE9PXRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXImJnRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXIudXBkYXRlTW9kZSh0LGkpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMpZS51cGRhdGVNb2RlKHQsaSk7dGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5tZWRpdW0sMz09PXQpLHRoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC50b2dnbGUoY2UubWluaW1pemVkLDI9PT10KSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKGNlLm1pY3JvLDE9PT10KSxudWxsIT09dGhpcy5fcmVuZGVyVG9nZ2xlciYmdGhpcy5fcmVuZGVyVG9nZ2xlci5zZXRNb2RlKDE9PT10KTtjb25zdCBzPSF0aGlzLl9oaWRlQWxsRXhjZXB0Rmlyc3RMaW5lLnZhbHVlKCkmJih2LnRyYWNraW5nTW9kZUlzQXZhaWxhYmxlfHxlPDU0Mik7dGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5kaXJlY3Rpb25Db2x1bW4scyksdGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5oaWRlVW5pcG9ydGFudFZhbHVlSXRlbXMsIV8uQ2hlY2tNb2JpbGUuYW55KCkmJmU8PTI3Mil9Z2V0TWFpblNvdXJjZUhlaWdodCgpe3JldHVybiBudWxsPT09dGhpcy5fbWFpbkRhdGFTb3VyY2VSZW5kZXJlcj8wOnRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXIuZ2V0SGVpZ2h0KCl9Z2V0RGF0YVNvdXJjZUhlaWdodCgpewpyZXR1cm4gMD09PXRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMubGVuZ3RoPzA6dGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVyc1swXS5nZXRIZWlnaHQoKX1fcmVuZGVyTWFpbkRhdGFTb3VyY2VFbCgpe251bGw9PT10aGlzLl9tYWluRGF0YVNvdXJjZUVsJiYodGhpcy5fbWFpbkRhdGFTb3VyY2VFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9tYWluRGF0YVNvdXJjZUVsLmNsYXNzTGlzdC5hZGQoY2UubGVnZW5kTWFpblNvdXJjZVdyYXBwZXIpLHRoaXMuX3BhcmVudEVsLmluc2VydEJlZm9yZSh0aGlzLl9tYWluRGF0YVNvdXJjZUVsLHRoaXMuX2RhdGFTb3VyY2VzRWwpKX1fcmVuZGVyRGF0YVNvdXJjZXNFbCgpe251bGw9PT10aGlzLl9kYXRhU291cmNlc0VsJiYodGhpcy5fZGF0YVNvdXJjZXNFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9kYXRhU291cmNlc0VsLmNsYXNzTGlzdC5hZGQoY2Uuc291cmNlc1dyYXBwZXIpLHRoaXMuX2RhdGFTb3VyY2VzRWwuZGF0YXNldC5xYUlkPSJsZWdlbmQtc291cmNlcy13cmFwcGVyIix0aGlzLl9yZW5kZXJUb2dnbGUodGhpcy5fZGF0YVNvdXJjZXNFbCksdGhpcy5fZGF0YVNvdXJjZXNBZGRpdGlvbmFsV3JhcHBlckVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2RhdGFTb3VyY2VzQWRkaXRpb25hbFdyYXBwZXJFbC5jbGFzc0xpc3QuYWRkKGNlLnNvdXJjZXMpLHRoaXMuX2RhdGFTb3VyY2VzRWwuYXBwZW5kQ2hpbGQodGhpcy5fZGF0YVNvdXJjZXNBZGRpdGlvbmFsV3JhcHBlckVsKSx0aGlzLl9yZW5kZXJDb2xsYXBzZWRDb3VudGVyKHRoaXMuX2RhdGFTb3VyY2VzQWRkaXRpb25hbFdyYXBwZXJFbCksdGhpcy5fcGFyZW50RWwuYXBwZW5kQ2hpbGQodGhpcy5fZGF0YVNvdXJjZXNFbCkpfV9yZW5kZXJUb2dnbGUoZSl7dGhpcy5fb3B0aW9ucy5zaG93VG9nZ2xlQnV0dG9uJiYodGhpcy5fcmVuZGVyVG9nZ2xlcj1uZXcgVmUoZSx0aGlzLl9vcHRpb25zLnRoZW1lZENvbG9yLHRoaXMuX3RvZ2dsZXJPcHRpb25zKSl9X29uSXNEYXRhU291cmNlc0NvbGxhcHNlZChlKXtpZihlKXtjb25zdCBlPXRoaXMuX2dldEFsbEFjY2Vzc2libGVCdXR0b25zKCk7aWYoMD09PWUuZmlsdGVyKChlPT5lLnRhYkluZGV4Pj0wKSkubGVuZ3RoKXtjb25zdCB0PXRoaXMuX2dldFJvd1JlbmRlcmVyQnlDaGlsZChlWzBdKTt0JiZ0aGlzLl9tYWtlUm93RWxlbWVudFRoZU1haW5PbmUoZVswXSx0KX1yZXR1cm59aWYoMCE9PSh0aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyPy5hY2Nlc3NpYmxlQnV0dG9ucygpfHxbXSkuZmlsdGVyKChlPT5lLnRhYkluZGV4Pj0wKSkubGVuZ3RoKXJldHVybjtjb25zdCB0PVtdO3RoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMuZm9yRWFjaCgoZT0+dC5wdXNoKC4uLmUuYWNjZXNzaWJsZUJ1dHRvbnMoKSkpKTtjb25zdCBpPXQuZmlsdGVyKChlPT5lLnRhYkluZGV4Pj0wKSk7aWYoMCE9PWkubGVuZ3RoKXt0aGlzLl9mb2N1c0V2ZW50QWJvcnRDb250cm9sbGVyJiZ0aGlzLl9mb2N1c0V2ZW50QWJvcnRDb250cm9sbGVyLmFib3J0KCksaS5mb3JFYWNoKChlPT4oMCxtLmJlY29tZVNlY29uZGFyeUVsZW1lbnQpKGUpKSk7bGV0IGU9bnVsbCx0PW51bGw7aWYodGhpcy5fbWFpbkRhdGFTb3VyY2VSZW5kZXJlcil7Y29uc3QgaT10aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyLmFjY2Vzc2libGVCdXR0b25zKCk7aS5sZW5ndGg+MCYmKGU9aVswXSx0PXRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXIpfW51bGw9PT1lJiZ0aGlzLl9yZW5kZXJUb2dnbGVyJiYoZT10aGlzLl9yZW5kZXJUb2dnbGVyLmFjY2Vzc2libGVCdXR0b25zKClbMF0sdD10aGlzLl9yZW5kZXJUb2dnbGVyKSxlJiZ0JiZ0aGlzLl9tYWtlUm93RWxlbWVudFRoZU1haW5PbmUoZSx0KX19X3JlbmRlckNvbGxhcHNlZENvdW50ZXIoZSl7dGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwuZGF0YXNldC5xYUlkPSJsZWdlbmQtY29sbGFwc2VkLXNvdXJjZXMtY291bnRlciIsdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwuY2xhc3NOYW1lPWAke2NlLml0ZW19ICR7Y2UubGFzdH1gLHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzRWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzRWwuY2xhc3NOYW1lPWAke2NlLnRleHR9IGFwcGx5LWNvbW1vbi10b29sdGlwYCx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1dyYXBwZXJFbC5hcHBlbmQodGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNFbCksdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNTdGF0dXNXaWRnZXRFbGVtZW50LmNsYXNzTGlzdC5hZGQoY2Uuc3RhdHVzZXNXcmFwcGVyKSx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1N0YXR1c1dpZGdldEVsZW1lbnQuZGF0YXNldC5xYUlkPSJsZWdlbmQtc3RhdHVzZXMtd3JhcHBlciIsdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwuYXBwZW5kQ2hpbGQodGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNTdGF0dXNXaWRnZXRFbGVtZW50KSxlLmFwcGVuZCh0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1dyYXBwZXJFbCksdi50cmFja2luZ01vZGVJc0F2YWlsYWJsZSYmdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMuX3Nob3dDb2xsYXBzZWREYXRhU291cmNlc1Rvb2x0aXBIYW5kbGVyKTtjb25zdCB0PXRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzQ291bnRTcGF3bi52YWx1ZSgpO3RoaXMuX3VwZGF0ZUNvbGxhcHNlZFNvdXJjZXNDb3VudCh0KSx0aGlzLl9sb2FkZXIubW91bnRUbyh0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1dyYXBwZXJFbCl9X3Nob3dDb2xsYXBzZWREYXRhU291cmNlc1Rvb2x0aXAoKXsoMCxmLnNob3dPbkVsZW1lbnQpKHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzRWwsewp0ZXh0OnRoaXMuX29wdGlvbnMuY29sbGFwc2VkRGF0YVNvdXJjZXNUaXRsZS52YWx1ZSgpfSksdGhpcy5fYWRkT3V0c2lkZUV2ZW50Rm9ySGlkZVRvb2x0aXAoKX1fYWRkT3V0c2lkZUV2ZW50Rm9ySGlkZVRvb2x0aXAoKXtudWxsIT09dGhpcy5fb3V0c2lkZUV2ZW50Rm9yQ29sbGFwc2VkVG9vbHRpcCYmdGhpcy5fb3V0c2lkZUV2ZW50Rm9yQ29sbGFwc2VkVG9vbHRpcCgpLHRoaXMuX291dHNpZGVFdmVudEZvckNvbGxhcHNlZFRvb2x0aXA9KDAscC5hZGRPdXRzaWRlRXZlbnRMaXN0ZW5lcikobmV3IEN1c3RvbUV2ZW50KCJ0aW1lc3RhbXAiKS50aW1lU3RhbXAsdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwsKCgpPT57bnVsbCE9PXRoaXMuX291dHNpZGVFdmVudEZvckNvbGxhcHNlZFRvb2x0aXAmJnRoaXMuX291dHNpZGVFdmVudEZvckNvbGxhcHNlZFRvb2x0aXAoKSwoMCxmLmhpZGUpKCl9KSx3aW5kb3cuZG9jdW1lbnQse3RvdWNoRW5kOiEwfSl9X3VwZGF0ZUNvbGxhcHNlZFNvdXJjZXNDb3VudChlKXtpZihudWxsPT09dGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWx8fG51bGw9PT10aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc0VsKXJldHVybjtjb25zdCB0PTA9PT1lO3RoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzV3JhcHBlckVsLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbix0KSwhdCYmdGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRWaXNpYmlsaXR5LnZhbHVlKCk/dGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXREZXN0cm95PUMoe2NvbnRhaW5lcjp0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1N0YXR1c1dpZGdldEVsZW1lbnQsc3RhdHVzZXM6dGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZS52aXNpYmxlTW9kZWxzKCksdG9vbHRpcDp0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFN0YXRlLnRvb2x0aXAoKSx0aGVtZTpJZX0pOih0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldERlc3Ryb3k/LigpLHRoaXMuX2NvbGxhcHNlZFN0YXR1c2VzV2lkZ2V0RGVzdHJveT12b2lkIDApLHR8fChnKHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzRWwsYCske2V9YCksdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNFbC5zZXRBdHRyaWJ1dGUoInRpdGxlIix0aGlzLl9vcHRpb25zLmNvbGxhcHNlZERhdGFTb3VyY2VzVGl0bGUudmFsdWUoKSkpfV91cGRhdGVMZWdlbmRWaXNpYmlsaXR5KCl7bGV0IGU7Y29uc3QgdD1CZS5fd2FzS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGVkJiYodGhpcy5faXNBbGxMZWdlbmRIaWRkZW4udmFsdWUoKXx8dGhpcy5faXNTdHVkaWVzTGVnZW5kSGlkZGVuLnZhbHVlKCkpO2lmKHQpe2U9dGhpcy5fZ2V0QWxsQWNjZXNzaWJsZUJ1dHRvbnMoKS5maWx0ZXIoKGU9PmUudGFiSW5kZXg+PTApKVswXX1pZih0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sdGhpcy5faXNBbGxMZWdlbmRIaWRkZW4udmFsdWUoKSksbnVsbCE9PXRoaXMuX2RhdGFTb3VyY2VzRWwmJnRoaXMuX2RhdGFTb3VyY2VzRWwuY2xhc3NMaXN0LnRvZ2dsZShYLmJsb2NrSGlkZGVuLHRoaXMuX2lzU3R1ZGllc0xlZ2VuZEhpZGRlbi52YWx1ZSgpKSx0KXtjb25zdCB0PXRoaXMuX2dldEFsbEFjY2Vzc2libGVCdXR0b25zKCk7aWYoZSYmdC5pbmNsdWRlcyhlKSlyZXR1cm47aWYoZSYmKDAsbS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShlKSwwIT09dC5sZW5ndGgpe2NvbnN0IGU9dGhpcy5fZ2V0Um93UmVuZGVyZXJCeUNoaWxkKHRbMF0pO2UmJnRoaXMuX21ha2VSb3dFbGVtZW50VGhlTWFpbk9uZSh0WzBdLGUpfX19X3VwZGF0ZUFsbEhpZGRlbkV4ZXB0Rmlyc3RMaW5lKCl7dGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS53cmFwcGFibGUsIXRoaXMuX2hpZGVBbGxFeGNlcHRGaXJzdExpbmUudmFsdWUoKSl9X3NldEN1c3RvbUJnKCl7Y29uc3QgZT10aGlzLl9zaG93QmFja2dyb3VuZC52YWx1ZSgpLHQ9dGhpcy5fdGhlbWVkQ29sb3IudmFsdWUoKSxpPXRoaXMuX2JhY2tncm91bmRUcmFuc3BhcmVuY3kudmFsdWUoKTtsZXQgcz0iIjtpZihlKXtjb25zdFtlLG8sbl09KDAsYy5wYXJzZVJnYikodCk7cz0oMCxjLnJnYmFUb1N0cmluZykoW2UsbyxuLCgwLGMubm9ybWFsaXplQWxwaGFDb21wb25lbnQpKDEtaS8xMDApXSl9dGhpcy5fcGFyZW50RWwuc3R5bGUuY29sb3I9c31fb25MYXlvdXRDaGFuZ2VkKGUpe2NvbnN0e25ld01haW5Tb3VyY2U6dCxyZW1vdmVkRGF0YVNvdXJjZXM6aSxhZGRlZERhdGFTb3VyY2VzOnMsbW92ZWREYXRhU291cmNlczpvfT1lLG49ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtsZXQgYT0tMSxsPS0xO2NvbnN0IHI9bnVsbD09PXRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXImJjA9PT10aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzLmxlbmd0aDtpZihCZS5fd2FzS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGVkJiZuIGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpe2NvbnN0IGU9dGhpcy5fZ2V0Um93UmVuZGVyZXJzKCksbz1lLmZpbmQoKGU9PmUuYWNjZXNzaWJsZUJ1dHRvbnMoKS5pbmNsdWRlcyhuKSkpO2lmKHZvaWQgMCE9PW8pe2NvbnN0IHI9bz09PXRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXImJm51bGw9PT10LGQ9byBpbnN0YW5jZW9mIFNlJiZpLmluY2x1ZGVzKHRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMuaW5kZXhPZihvKSk7aWYocnx8ZCl7YT1lLmluZGV4T2Yobyk7Y29uc3Qgcj0oMCxiLnF1ZXJ5VGFiYmFibGVFbGVtZW50cykoZG9jdW1lbnQuYm9keSkuaW5kZXhPZihuKTtsPTAhPT1zLmxlbmd0aHx8KHZvaWQgMCE9PXR8fG51bGwhPT10aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyKSYmbnVsbCE9PXR8fGkubGVuZ3RoIT09dGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVycy5sZW5ndGgmJjAhPT10aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzLmxlbmd0aD9yKzE6cn19fQp2b2lkIDAhPT10JiYobnVsbCE9PXQ/dGhpcy5fYWRkTWFpbkRhdGFTb3VyY2UodC5tb2RlbCx0LnN0YXR1c2VzV2lkZ2V0U3RhdGUpOih0aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyPy5kZXN0cm95KCksdGhpcy5fbWFpbkRhdGFTb3VyY2VSZW5kZXJlcj1udWxsKSk7Y29uc3QgZD1bXTtpZihvLmZvckVhY2goKGU9PntkLnB1c2goe3JlbmRlcmVyOnRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnNbZS5vbGRJbmRleF0sbmV3SW5kZXg6ZS5uZXdJbmRleH0pfSkpLGQuc29ydCgoKGUsdCk9PmUubmV3SW5kZXgtdC5uZXdJbmRleCkpLGkuZm9yRWFjaCgoZT0+e3RoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMuc3BsaWNlKGUsMSlbMF0uZGVzdHJveSgpfSkpLDAhPT1zLmxlbmd0aCYmKHRoaXMuX3JlbmRlckRhdGFTb3VyY2VzRWwoKSxzLmZvckVhY2goKGU9Pnt0aGlzLl9hZGREYXRhU291cmNlKGUubW9kZWwsZS5zdGF0dXNlc1dpZGdldFN0YXRlLGUuaW5kZXgpfSkpKSwwIT09ZC5sZW5ndGgmJih0aGlzLl9yZW5kZXJEYXRhU291cmNlc0VsKCksZC5mb3JFYWNoKChlPT57dGhpcy5fbW92ZURhdGFTb3VyY2UoZS5yZW5kZXJlcixlLm5ld0luZGV4KX0pKSksQmUuX3dhc0tleWJvYXJkTmF2aWdhdGlvbkFjdGl2YXRlZCYmciYmKG51bGwhPT10aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyfHx0aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzLmxlbmd0aCkmJndpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgia2V5Ym9hcmQtbmF2aWdhdGlvbi1hY3RpdmF0aW9uIix7YnViYmxlczohMH0pKSwtMSE9PWEpe2xldCBlLHQ7Y29uc3QgaT10aGlzLl9nZXRSb3dSZW5kZXJlcnMoKTtmb3IoO2E8aS5sZW5ndGg7KXtjb25zdCBzPWlbYV0sbz1zLmFjY2Vzc2libGVCdXR0b25zKCk7aWYoby5sZW5ndGg+MCl7ZT1vWzBdLHQ9czticmVha31hKyt9aWYoZSYmdCl0aGlzLl9jaGFuZ2VGb2N1c0VsZW1lbnQoZSx0KTtlbHNlIGlmKC0xIT09bCl7d2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJrZXlib2FyZC1uYXZpZ2F0aW9uLWFjdGl2YXRpb24iLHtidWJibGVzOiEwfSkpO2NvbnN0IHQ9KDAsYi5xdWVyeVRhYmJhYmxlRWxlbWVudHMpKGRvY3VtZW50LmJvZHkpO2U9bD09PXQubGVuZ3RoP3RbMF06dFtsXSxlJiYobiYmKDAsbS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShuKSxlLmZvY3VzKCkpfX19X2FkZE1haW5EYXRhU291cmNlKGUsdCl7dGhpcy5fcmVuZGVyTWFpbkRhdGFTb3VyY2VFbCgpLHRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXI9bmV3IHdlKGUsKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tYWluRGF0YVNvdXJjZUVsKSx7d2l0aEFjdGlvbnM6dGhpcy5fb3B0aW9ucy53aXRoQWN0aW9ucyxjdXN0b21UZXh0Q29sb3I6dGhpcy5fb3B0aW9ucy5jdXN0b21UZXh0Q29sb3Isc3RhdHVzZXNXaWRnZXRTdGF0ZTp0LGlzTXVsdGlwbGVMYXlvdXQ6dGhpcy5fb3B0aW9ucy5pc011bHRpcGxlTGF5b3V0LHRvZ2dsZUhpZGRlbkFjdGlvbnM6dGhpcy5fdG9nZ2xlSGlkZGVuQWN0aW9uc30pLHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdHkoKX1fYWRkRGF0YVNvdXJjZShlLHQsaSl7Y29uc3Qgcz0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2RhdGFTb3VyY2VzQWRkaXRpb25hbFdyYXBwZXJFbCksbz1uZXcgU2UoZSxzLHt3aXRoQWN0aW9uczp0aGlzLl9vcHRpb25zLndpdGhBY3Rpb25zLGN1c3RvbVRleHRDb2xvcjp0aGlzLl9vcHRpb25zLmN1c3RvbVRleHRDb2xvcixzdGF0dXNlc1dpZGdldFN0YXRlOnQsaXNNdWx0aXBsZUxheW91dDp0aGlzLl9vcHRpb25zLmlzTXVsdGlwbGVMYXlvdXQsdG9nZ2xlSGlkZGVuQWN0aW9uczp0aGlzLl90b2dnbGVIaWRkZW5BY3Rpb25zfSksYT0oMCxuLmVuc3VyZU5vdE51bGwpKG8uZ2V0RWxlbWVudCgpKTtpZihudWxsIT09YSl7bGV0IGU9dGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVyc1tpXTt2b2lkIDAhPT1lP3MuaW5zZXJ0QmVmb3JlKGEsZS5nZXRFbGVtZW50KCkpOihlPXRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnNbaS0xXSx2b2lkIDAhPT1lJiZzLmluc2VydEJlZm9yZShhLCgwLG4uZW5zdXJlTm90TnVsbCkoZS5nZXRFbGVtZW50KCkpLm5leHRTaWJsaW5nKSl9dGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVycy5zcGxpY2UoaSwwLG8pLHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdHkoKX1fbW92ZURhdGFTb3VyY2UoZSx0KXtjb25zdCBpPXRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMuaW5kZXhPZihlKTtpZigtMT09PWl8fHQ9PT1pKXJldHVybjtjb25zdCBzPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fZGF0YVNvdXJjZXNBZGRpdGlvbmFsV3JhcHBlckVsKSxvPSgwLG4uZW5zdXJlTm90TnVsbCkoZS5nZXRFbGVtZW50KCkpO2xldCBhPXRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnNbdF07dm9pZCAwIT09YT9zLmluc2VydEJlZm9yZShvLGEuZ2V0RWxlbWVudCgpKTooYT10aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzW3QtMV0sdm9pZCAwIT09YSYmcy5pbnNlcnRCZWZvcmUobywoMCxuLmVuc3VyZU5vdE51bGwpKGEuZ2V0RWxlbWVudCgpKS5uZXh0U2libGluZykpLHRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMuc3BsaWNlKGksMSksdGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVycy5zcGxpY2UodCwwLGUpfV9vbktleWJvYXJkTmF2aWdhdGlvbkFjdGl2YXRpb24oKXtCZS5fd2FzS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGVkPSEwLHRoaXMuX3RvZ2dsZXJPcHRpb25zLmlzRGF0YVNvdXJjZXNDb2xsYXBzZWQudW5zdWJzY3JpYmUodGhpcy5fb25Jc0RhdGFTb3VyY2VzQ29sbGFwc2VkQm91bmQpLHRoaXMuX3RvZ2dsZXJPcHRpb25zLmlzRGF0YVNvdXJjZXNDb2xsYXBzZWQuc3Vic2NyaWJlKHRoaXMuX29uSXNEYXRhU291cmNlc0NvbGxhcHNlZEJvdW5kKTtjb25zdCBlPXRoaXMuX2dldEFsbEFjY2Vzc2libGVCdXR0b25zKCksdD1lLmZpbHRlcigoZT0+ZS50YWJJbmRleD49MCkpO2lmKDA9PT10Lmxlbmd0aCl7Y29uc3RbdF09ZS5maWx0ZXIoKGU9PmUuaGFzQXR0cmlidXRlKCJ0YWJJbmRleCIpKSk7aWYodm9pZCAwPT09dClyZXR1cm4KO2NvbnN0IGk9dGhpcy5fZ2V0Um93UmVuZGVyZXJCeUNoaWxkKHQpO2lmKG51bGw9PT1pKXJldHVybjt0aGlzLl9tYWtlUm93RWxlbWVudFRoZU1haW5PbmUodCxpKX1pZih0Lmxlbmd0aD4xKXtjb25zdFssLi4uZV09dDtmb3IoY29uc3QgdCBvZiBlKSgwLG0uYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkodCl9fV9oYW5kbGVLZXlEb3duKGUpe2lmKGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47Y29uc3QgdD0oMCxoLmhhc2hGcm9tRXZlbnQpKGUpO2lmKCFXZS5pbmNsdWRlcyh0KSlyZXR1cm47Y29uc3QgaT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2lmKCEoaSBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50KSlyZXR1cm47Y29uc3Qgcz10aGlzLl9nZXRSb3dSZW5kZXJlckJ5Q2hpbGQoaSk7aWYobnVsbD09PXMpcmV0dXJuO2lmKDI3PT09dClyZXR1cm4gdm9pZCBpLmJsdXIoKTtjb25zdCBvPXMuYWNjZXNzaWJsZUJ1dHRvbnMoKSxuPW8uaW5kZXhPZihpKTtpZigwPT09by5sZW5ndGh8fC0xPT09bilyZXR1cm47Y29uc3QgYT10PT57ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGk9dGhpcy5fZ2V0Um93UmVuZGVyZXJzKCksbz1pLmluZGV4T2Yocyk7bGV0IG4sYSxsPSJibG9ja05leHQiPT09dD9vKzE6by0xO2Zvcig7bD49MCYmbDxpLmxlbmd0aDspe2NvbnN0IGU9aVtsXSxzPWUuYWNjZXNzaWJsZUJ1dHRvbnMoKTtpZigwIT09cy5sZW5ndGgpe249ZSxhPXM7YnJlYWt9bD0iYmxvY2tOZXh0Ij09PXQ/bCsxOmwtMX1uJiZhJiZ0aGlzLl9jaGFuZ2VGb2N1c0VsZW1lbnQoYVswXSxuKX0sbD0oMCxiLm1hcEtleUNvZGVUb0RpcmVjdGlvbikodCk7c3dpdGNoKGwpe2Nhc2UiaW5saW5lUHJldiI6ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2NoYW5nZUZvY3VzRWxlbWVudCgwIT09bj9vW24tMV06b1tvLmxlbmd0aC0xXSxzKTticmVhaztjYXNlImlubGluZU5leHQiOmUucHJldmVudERlZmF1bHQoKSx0aGlzLl9jaGFuZ2VGb2N1c0VsZW1lbnQobiE9PW8ubGVuZ3RoLTE/b1tuKzFdOm9bMF0scyk7YnJlYWs7Y2FzZSJibG9ja1ByZXYiOmNhc2UiYmxvY2tOZXh0IjphKGwpfX1fc3Vic2NyaWJlRWxlbWVudFRvRm9jdXNFdmVudHMoZSx0KXt0aGlzLl9mb2N1c0V2ZW50QWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1c2luIiwoKCk9Pnt0aGlzLl9mb2N1c0V2ZW50QWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIsKGk9Pntjb25zdCBzPWkucmVsYXRlZFRhcmdldDtudWxsIT09cyYmcyBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50JiZ0LmFjY2Vzc2libGVCdXR0b25zKCkuaW5jbHVkZXMocyl8fCh0aGlzLl9zdWJzY3JpYmVFbGVtZW50VG9Gb2N1c0V2ZW50cyhlLHQpLHQgaW5zdGFuY2VvZiBWZXx8dC5oaWRlQWN0aW9ucygpKX0pLHtvbmNlOiEwLHNpZ25hbDp0aGlzLl9mb2N1c0V2ZW50QWJvcnRDb250cm9sbGVyLnNpZ25hbH0pLHRoaXMuX29wdGlvbnMub25MZWdlbmRSb3dGb2N1c2VkKCksdCBpbnN0YW5jZW9mIFZlfHx0LnNob3dBY3Rpb25zKCl9KSx7b25jZTohMCxzaWduYWw6dGhpcy5fZm9jdXNFdmVudEFib3J0Q29udHJvbGxlci5zaWduYWx9KX1fbWFrZVJvd0VsZW1lbnRUaGVNYWluT25lKGUsdCl7dGhpcy5fc3Vic2NyaWJlRWxlbWVudFRvRm9jdXNFdmVudHMoZSx0KSwoMCxtLmJlY29tZU1haW5FbGVtZW50KShlKX1fY2hhbmdlRm9jdXNFbGVtZW50KGUsdCl7ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCYmKDAsbS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShkb2N1bWVudC5hY3RpdmVFbGVtZW50KSx0aGlzLl9tYWtlUm93RWxlbWVudFRoZU1haW5PbmUoZSx0KSxlLmZvY3VzKCl9X2dldFJvd1JlbmRlcmVycygpe2xldCBlPVtdO3JldHVybiB0aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyJiZlLnB1c2godGhpcy5fbWFpbkRhdGFTb3VyY2VSZW5kZXJlciksdGhpcy5fZGF0YVNvdXJjZXNFbCYmIXRoaXMuX2RhdGFTb3VyY2VzRWwuY2xhc3NMaXN0LmNvbnRhaW5zKFguYmxvY2tIaWRkZW4pJiYodGhpcy5fdG9nZ2xlck9wdGlvbnMuaXNEYXRhU291cmNlc0NvbGxhcHNlZC52YWx1ZSgpJiYxIT09dGhpcy5fbW9kZSYmKGU9ZS5jb25jYXQodGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVycykpLHRoaXMuX3JlbmRlclRvZ2dsZXImJjAhPT10aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzLmxlbmd0aCYmZS5wdXNoKHRoaXMuX3JlbmRlclRvZ2dsZXIpKSxlfV9nZXRBbGxBY2Nlc3NpYmxlQnV0dG9ucygpe2NvbnN0IGU9W107cmV0dXJuIHRoaXMuX2dldFJvd1JlbmRlcmVycygpLmZvckVhY2goKHQ9PntlLnB1c2goLi4udC5hY2Nlc3NpYmxlQnV0dG9ucygpKX0pKSxlfV9nZXRSb3dSZW5kZXJlckJ5Q2hpbGQoZSl7cmV0dXJuIHRoaXMuX2dldFJvd1JlbmRlcmVycygpLmZpbmQoKHQ9PnQuYWNjZXNzaWJsZUJ1dHRvbnMoKS5pbmNsdWRlcyhlKSkpPz9udWxsfX1CZS5fd2FzS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGVkPSExO3ZhciBIZT1pKDc0MTY5MCksRGU9aSgyNDE5NTYpLFBlPWkoNTUyMTQ1KSxOZT1pKDg2MjU3MiksUmU9aSg5OTQ1NDApLE9lPWkoMjg0ODMxKTtmdW5jdGlvbiBGZShlLHQpe2NvbnN0IGk9W107Zm9yKGNvbnN0IHMgb2YgdCl7aWYocy5oaWRkZW4pY29udGludWU7Y29uc3QgdD0oMCxPZS5jbGVhbikoU3RyaW5nKGVbcy5maWVsZF0/PyIiKSwhMCk7IiIhPT10JiZpLnB1c2goe3RpdGxlOnQsaWQ6cy5pZCx0b29sdGlwOnMudG9vbHRpcCxhY3Rpb246cy5hY3Rpb259KX1yZXR1cm4gaX12YXIgemU9aSgxMTczMTMpLGplPWkoMTI5MzMzKSxVZT1pKDMzMzQ1KSxHZT1pKDY3NzAxMCksWmU9aSgzMzMzMTIpLEplPWkoNTA5MDQpLFllPWkoMjUwNDM5KSxxZT1pKDMwNTY0MCksJGU9aSg0MTc2ODYpO2NsYXNzIFFle2NvbnN0cnVjdG9yKHtsaW5raW5nR3JvdXBJbmRleDplLGlzTGlua2luZ0F2YWlsYWJsZTp0LG9uQ2xpY2tIYW5kbGVyOnMsc2V0TGlua2luZ0dyb3VwSW5kZXg6b30pe3RoaXMuX2FjdGlvblZpc2libGU9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSwKdGhpcy5fYWN0aXZlPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5faXNEZXN0cm95ZWQ9ITEsdGhpcy5fbGlua2luZ01vZGVTdWJzY3JpcHRpb249ZT0+e2lmKG51bGw9PT1lKXJldHVybiB2b2lkKHRoaXMuX2xlZ2VuZEFjdGlvbkJ1dHRvbkVsZW0uaW5uZXJIVE1MPVVlKTtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpO3Quc3JjPSgwLFplLmdldFR3ZW1vamlVcmwpKHFlLmljb25zW2VdLmljb24sInN2ZyIpLHQud2lkdGg9dC5oZWlnaHQ9MTgsdGhpcy5fbGVnZW5kQWN0aW9uQnV0dG9uRWxlbS5yZXBsYWNlQ2hpbGRyZW4odCl9LHRoaXMuX3NldExpbmtpbmdHcm91cEluZGV4SW1wbD1hc3luYyBlPT57dGhpcy5fc2V0TGlua2luZ0dyb3VwSW5kZXgoZT09PXRoaXMuX2xpbmtpbmdHcm91cEluZGV4LnZhbHVlKCk/bnVsbDplKSx0aGlzLl9hY3RpdmUudmFsdWUoKSYmWWUuQ29udGV4dE1lbnVNYW5hZ2VyLmhpZGVBbGwoKX0sdGhpcy5fc2hvd0NvbnRleHRNZW51PWFzeW5jIGU9PntlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgdD1lLmN1cnJlbnRUYXJnZXQ7aWYoISh0JiZ0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKXJldHVybjtpZih0aGlzLl9vbkNsaWNrSGFuZGxlcj8uKCksdGhpcy5fYWN0aXZlLnZhbHVlKCkpcmV0dXJuIHZvaWQgWWUuQ29udGV4dE1lbnVNYW5hZ2VyLmhpZGVBbGwoKTtjb25zdCBpPWF3YWl0IHRoaXMuX2dldEFjdGlvbnMoKTtpZigwPT09aS5sZW5ndGgpcmV0dXJuO2NvbnN0e2xlZnQ6cyxib3R0b206b309dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTthd2FpdCBZZS5Db250ZXh0TWVudU1hbmFnZXIuc2hvd01lbnUoaSx7Y2xpZW50WDpzLGNsaWVudFk6b30se3JldHVybkZvY3VzOiEwLHRha2VGb2N1czohMCxpc0tleWJvYXJkRXZlbnQ6ISgidG91Y2hlcyJpbiBlKSYmKDAsSC5pc0tleWJvYXJkQ2xpY2spKGUpfSx7bWVudU5hbWU6IlN5bWJvbEludGVydmFsQ2hhcnRTeW5jaW5nTWVudSJ9LCgoKT0+dGhpcy5fYWN0aXZlLnNldFZhbHVlKCExKSkpLHRoaXMuX2FjdGl2ZS5zZXRWYWx1ZSghMCl9LHRoaXMuX2xpbmtpbmdHcm91cEluZGV4PWUuc3Bhd24oKSx0aGlzLl9pc0xpbmtpbmdBdmFpbGFibGU9dC5zcGF3bigpLHRoaXMuX29uQ2xpY2tIYW5kbGVyPXMsdGhpcy5fc2V0TGlua2luZ0dyb3VwSW5kZXg9bztjb25zdCBuPXRoaXMuX2xlZ2VuZEFjdGlvbkJ1dHRvbkVsZW09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO24uY2xhc3NOYW1lPSRlLmxlZ2VuZEFjdGlvbkJ1dHRvbix0aGlzLl9hY3Rpb249e2ljb246bix0aXRsZTpuZXcgci5XYXRjaGVkVmFsdWUoUC50KG51bGwsdm9pZCAwLGkoNTQ2MzY5KSkpLGFjdGlvbjp0aGlzLl9zaG93Q29udGV4dE1lbnUsdmlzaWJsZTp0aGlzLl9hY3Rpb25WaXNpYmxlLnJlYWRvbmx5KCksYWN0aXZlOnRoaXMuX2FjdGl2ZS5yZWFkb25seSgpLGNsYXNzTmFtZTpjZS5saW5raW5nLGRhdGFRYUlkOiJsZWdlbmQtbGF5b3V0LWNoYXJ0LXN5bmMtYWN0aW9uIn0sdGhpcy5fbGlua2luZ0dyb3VwSW5kZXguc3Vic2NyaWJlKHRoaXMuX2xpbmtpbmdNb2RlU3Vic2NyaXB0aW9uLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9pc0xpbmtpbmdBdmFpbGFibGUuc3Vic2NyaWJlKChlPT50aGlzLl9hY3Rpb25WaXNpYmxlLnNldFZhbHVlKGUpKSx7Y2FsbFdpdGhMYXN0OiEwfSl9ZGVzdHJveSgpe3RoaXMuX2lzRGVzdHJveWVkPSEwLHRoaXMuX2xpbmtpbmdHcm91cEluZGV4LmRlc3Ryb3koKSx0aGlzLl9pc0xpbmtpbmdBdmFpbGFibGUuZGVzdHJveSgpLHRoaXMuX2FjdGl2ZS52YWx1ZSgpJiZZZS5Db250ZXh0TWVudU1hbmFnZXIuaGlkZUFsbCgpfWdldEFjdGlvbigpe3JldHVybiB0aGlzLl9hY3Rpb259YXN5bmMgX2dldEFjdGlvbnMoKXtjb25zdFtlLHtMYXlvdXRDaGFydHNTeW5jQ29udGV4dE1lbnVUaXRsZTp0fSx7TGF5b3V0Q2hhcnRzU3luY0NvbnRleHRNZW51SXRlbTpzfV09YXdhaXQgUHJvbWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oaS50LmJpbmQoaSw3Nzk0NzQsMTkpKSxQcm9taXNlLmFsbChbaS5lKDQ5Mzk0KSxpLmUoMjk1MzYpLGkuZSg1NjI1MiksaS5lKDg5NTU4KSxpLmUoNDQ0NjApLGkuZSg5NDU2MCksaS5lKDM0NjU0KV0pLnRoZW4oaS5iaW5kKGksNjA5OTUxKSksUHJvbWlzZS5hbGwoW2kuZSg0OTM5NCksaS5lKDI5NTM2KSxpLmUoNTYyNTIpLGkuZSg4OTU1OCksaS5lKDQ0NDYwKSxpLmUoOTQ1NjApLGkuZSgzNDY1NCldKS50aGVuKGkuYmluZChpLDg3MDI0NikpXSk7aWYodGhpcy5faXNEZXN0cm95ZWQpcmV0dXJuW107Y29uc3Qgbz1xZS5pY29ucy5tYXAoKCh7aWNvbjplfSx0KT0+bmV3IEplLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkxpbmtpbmdHcm91cFN5bmMuQ2hhbmdlR3JvdXAiLG9wdGlvbnM6e2xhYmVsOmUsY2hlY2thYmxlOiEwLGNoZWNrZWQ6dGhpcy5fbGlua2luZ0dyb3VwSW5kZXgudmFsdWUoKT09PXQsb25FeGVjdXRlOigpPT50aGlzLl9zZXRMaW5raW5nR3JvdXBJbmRleEltcGwodCl9fSkpKTt0aGlzLl9saW5raW5nR3JvdXBJbmRleC5zdWJzY3JpYmUoKGU9PntvLmZvckVhY2goKCh0LGkpPT57dC51cGRhdGUoe2NoZWNrZWQ6aT09PWV9KX0pKX0pKTtyZXR1cm5bbmV3IEplLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkxpbmtpbmdHcm91cFN5bmMiLG9wdGlvbnM6e2ljb246R2UsbGFiZWw6UC50KG51bGwsdm9pZCAwLGkoNDIxMjEpKSxzdWJJdGVtczpvfSxjdXN0b21BY3Rpb25PcHRpb25zOntqc3hMYWJlbDplLmNyZWF0ZUVsZW1lbnQoZS5GcmFnbWVudCxudWxsLGUuY3JlYXRlRWxlbWVudCh0LG51bGwpLGUuY3JlYXRlRWxlbWVudChzLHthY3RpdmU6dGhpcy5fbGlua2luZ0dyb3VwSW5kZXgsaWNvbnM6cWUuaWNvbnMsb25DbGljazp0aGlzLl9zZXRMaW5raW5nR3JvdXBJbmRleEltcGx9KSksZG9Ob3RDbG9zZU9uQ2xpY2s6ITAsbm9JbnRlcmFjdGl2ZTohMH19KV19fXZhciBLZT1pKDQ5MDIwNCksWGU9aSg5MzMxMTYpLGV0PWkoOTg2Mjc1KSx0dD1pKDYyMDM1NCksaXQ9aSg1MTcyOTMpCjtjb25zdCBzdD1uZXcgaXQuQ2lyY3VsYXJDYWNoZUJ1ZmZlcigxMDApO2NsYXNzIG90e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fc3ltYm9sTG9nb1VybHM9bmV3IHIuV2F0Y2hlZFZhbHVlKFtdKSx0aGlzLl9sb2dvRGF0YVVwZGF0ZWQ9KCk9Pntjb25zdCBlPXRoaXMuc3ltYm9sKCksdD10aGlzLl9sb2dvRGF0YS52YWx1ZSgpO3QmJmUmJnN0LnNldChlLHQpO2NvbnN0IGk9c3QuZ2V0KGUpO2k/dGhpcy5fc3ltYm9sTG9nb1VybHMuc2V0VmFsdWUoKDAsZXQucmVtb3ZlVXNkRnJvbUNyeXB0b1BhaXJMb2dvcykoKDAsZXQucmVzb2x2ZUxvZ29VcmxzRnJvbUxvZ29EYXRhKShpLHR0LkxvZ29TaXplLk1lZGl1bSkpKTp0aGlzLl9zeW1ib2xMb2dvVXJscy5zZXRWYWx1ZShbXSl9LHRoaXMuX2xvZ29Nb2RlbD1lLHRoaXMuX2lzTG9nb1Zpc2libGU9KDAsRGUuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoKCk9PnQuc2hvd0xvZ28udmFsdWUoKSksdC5zaG93TG9nbyksdGhpcy5fbG9nb0RhdGE9dGhpcy5fbG9nb01vZGVsLmxvZ29EYXRhKCkuc3Bhd24oKSx0aGlzLl9sb2dvRGF0YS5zdWJzY3JpYmUodGhpcy5fbG9nb0RhdGFVcGRhdGVkLHtjYWxsV2l0aExhc3Q6ITB9KX1kZXN0cm95KCl7dGhpcy5faXNMb2dvVmlzaWJsZS5kZXN0cm95KCksdGhpcy5fbG9nb01vZGVsLmRlc3Ryb3koKX1pc1N5bWJvbExvZ29WaXNpYmxlKCl7cmV0dXJuIHRoaXMuX2lzTG9nb1Zpc2libGV9c3ltYm9sTG9nb1VybHMoKXtyZXR1cm4gdGhpcy5fc3ltYm9sTG9nb1VybHN9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX2xvZ29Nb2RlbC5zeW1ib2woKX11cGRhdGUoKXt0aGlzLl9sb2dvTW9kZWwudXBkYXRlKCl9fWZ1bmN0aW9uIG50KGUsdCl7cmV0dXJuIG5ldyBvdChlLHQpfXZhciBhdD1pKDE4NzA2MiksbHQ9aSgyMjEwNjEpO2NvbnN0IHJ0PSgwLGx0LmdldExvZ2dlcikoIkNoYXJ0LkxlZ2VuZFdpZGdldCIpO2NsYXNzIGR0e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2xvZ29EYXRhPW5ldyByLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9wcmV2U3ltYm9sPSIiLHRoaXMuX3NvdXJjZT1lLHRoaXMuX3NvdXJjZS5xdW90ZXNQcm92aWRlcigpLnF1b3Rlc1VwZGF0ZSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uUXVvdGVTeW1ib2xEYXRhVXBkYXRlZCksdGhpcy51cGRhdGUoKX1kZXN0cm95KCl7dGhpcy5fc291cmNlLnF1b3Rlc1Byb3ZpZGVyKCkucXVvdGVzVXBkYXRlKCkudW5zdWJzY3JpYmVBbGwodGhpcyl9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5zeW1ib2woKX1sb2dvRGF0YSgpe3JldHVybiB0aGlzLl9sb2dvRGF0YX11cGRhdGUoKXtjb25zdCBlPXRoaXMuc3ltYm9sKCk7dGhpcy5fcHJldlN5bWJvbCE9PWUmJih0aGlzLl9wcmV2U3ltYm9sPWUsdGhpcy5fb25Tb3VyY2VTeW1ib2xDaGFuZ2UoKSl9X29uUXVvdGVTeW1ib2xEYXRhVXBkYXRlZChlLHQpe2NvbnN0IGk9dC52YWx1ZXM7dGhpcy5fc291cmNlLnN5bWJvbFNhbWVBc0N1cnJlbnQoZS52YWx1ZXMucHJvX25hbWUpJiZ2b2lkIDAhPT1pLmxvZ28mJnRoaXMuX2xvZ29EYXRhLnNldFZhbHVlKGkubG9nbyl9YXN5bmMgX29uU291cmNlU3ltYm9sQ2hhbmdlKCl7Y29uc3QgZT10aGlzLnN5bWJvbCgpO2xldCB0PW51bGw7dHJ5e3RoaXMuX2xvZ29EYXRhLnNldFZhbHVlKG51bGwpLHQ9YXdhaXQgdGhpcy5fc291cmNlLnF1b3Rlc1Byb3ZpZGVyKCkucXVvdGVzU25hcHNob3QoZSl9Y2F0Y2goZSl7cnQubG9nV2FybihgUXVvdGUgc25hcHNob3QgZXJyb3I6ICR7ZX1gKX1maW5hbGx5e3RoaXMuc3ltYm9sKCk9PT1lJiYobnVsbD09PXQ/dGhpcy5fbG9nb0RhdGEuc2V0VmFsdWUobnVsbCwhMCk6dGhpcy5fbG9nb0RhdGEuc2V0VmFsdWUodC5sb2dvfHxudWxsKSl9fV9vblNvdXJjZVN5bWJvbFJlc29sdmVkKCl7MH19dmFyIHV0PWkoOTAzMDMxKSxjdD1pKDU1NjY0NiksaHQ9aSg4OTY5NDcpLHB0PWkoMTEzODEwKTtjb25zdCBfdD1QLnQobnVsbCx2b2lkIDAsaSgzOTQ5NDcpKSxndD1QLnQobnVsbCx2b2lkIDAsaSg3MDY0ODYpKSxtdD1QLnQobnVsbCx2b2lkIDAsaSgzNzUxNjUpKSxidD1QLnQobnVsbCx2b2lkIDAsaSgyNjY1KSksdnQ9UC50KG51bGwsdm9pZCAwLGkoNTk3NzcwKSksZnQ9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibGVnZW5kX2lucGxhY2VfZWRpdCIpLFN0PSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfaGlkZV9idXR0b25faW5fbGVnZW5kIikseXQ9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9yZXNvbHV0aW9uX2luX2xlZ2VuZCIpLHd0PSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIm1hcmtlZF9zeW1ib2xzIiksQ3Q9IV8uQ2hlY2tNb2JpbGUuYW55KCksRXQ9ISgwLHplLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iil8fCgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fdGFwX2luX2xlZ2VuZCIpO2NsYXNzIHh0IGV4dGVuZHMgJHtjb25zdHJ1Y3RvcihlLHQsaSxzLG8pe3N1cGVyKGUsdCxpLHMsbyksdGhpcy5fc3ltYm9sTWFya2VyPW51bGwsdGhpcy5fc3ltYm9sTWFya2VySWNvbj1udWxsLHRoaXMuX2ZsYWdnZWQ9bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX3N5bWJvbEFjdGlvbj1udWxsLHRoaXMuX3N5bWJvbEZvck1hcmtlcj1udWxsLHRoaXMuX2lzT25lQnV0dG9uQ2FuQmVTdGljaz0hMSx0aGlzLl9sYXlvdXRDaGFydFN5bmNMZWdlbmRSZW5kZXJlcj1udWxsLHRoaXMuX2lzQ2hhcnRMaW5rZWQ9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpLnNwYXduKCksQ3QmJih0aGlzLl9pc0xheW91dENoYXJ0U3luY1Zpc2libGU9KDAsZC5jb21iaW5lKSgoKGUsdCxpKT0+ZSYmKHR8fGkpKSx0aGlzLl9tb2RlbC5pc011bHRpcGxlTGF5b3V0KCkud2Vha1JlZmVyZW5jZSgpLHRoaXMuX21vZGVsLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbkxvY2soKS5zeW1ib2wud2Vha1JlZmVyZW5jZSgpLHRoaXMuX21vZGVsLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbkxvY2soKS5pbnRlcnZhbC53ZWFrUmVmZXJlbmNlKCkpLAp0aGlzLl9pc0NoYXJ0TGlua2VkPSgwLGQuY29tYmluZSkoKChlLHQpPT50JiZudWxsIT09ZSksdGhpcy5fbW9kZWwubW9kZWwoKS5saW5raW5nR3JvdXBJbmRleCgpLndlYWtSZWZlcmVuY2UoKSwodGhpcy5faXNMYXlvdXRDaGFydFN5bmNWaXNpYmxlfHxuZXcgci5XYXRjaGVkVmFsdWUoITEpKS53ZWFrUmVmZXJlbmNlKCkpKSx0aGlzLl9jcmVhdGVBY3Rpb25zKCksdGhpcy5fdXBkYXRlU3ltYm9sTWFya2VyKCk7Y29uc3Qgbj10aGlzLl9tb2RlbC5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpO3RoaXMuX3N5bWJvbExvZ29WaWV3TW9kZWwuc2V0VmFsdWUobnQobmV3IGR0KHQpLG4pKSxuLnNob3dTZXJpZXNUaXRsZS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLl9pc1RpdGxlSGlkZGVuLnNldFZhbHVlKHRoaXMuX2dldFRpdGxlSGlkZGVuVmFsdWUoKSl9KSksdGhpcy5faXNQcmljZVNvdXJjZUhpZGRlbj0oMCxEZS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+IW4uc2hvd1ByaWNlU291cmNlLnZhbHVlKCkpLG4uc2hvd1ByaWNlU291cmNlKSx0aGlzLl92YWx1ZXNWaXNpYmxlUHJvcGVydHk9KDAsSGUuY29tYmluZVByb3BlcnR5KSgoKGUsdCxpLHMpPT5gJHtlfToke3R9OiR7aX06JHtzfWApLG4uc2hvd1Nlcmllc09ITEMud2Vha1JlZmVyZW5jZSgpLG4uc2hvd0JhckNoYW5nZS53ZWFrUmVmZXJlbmNlKCksbi5zaG93Vm9sdW1lLndlYWtSZWZlcmVuY2UoKSxuLnNob3dMYXN0RGF5Q2hhbmdlLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fdmFsdWVzVmlzaWJsZVByb3BlcnR5LnN1YnNjcmliZShudWxsLCgoKT0+e3RoaXMudXBkYXRlKCksdGhpcy5faXNWYWx1ZXNIaWRkZW4uc2V0VmFsdWUodGhpcy5fZ2V0VmFsdWVzSGlkZGVuVmFsdWUoKSl9KSksdGhpcy51cGRhdGUoKSx0aGlzLl9zb3VyY2Uuc3RhdHVzV1YoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTG9hZGluZ1N0YXR1cyl9ZGVzdHJveSgpe0N0JiYodGhpcy5fbGF5b3V0Q2hhcnRTeW5jTGVnZW5kUmVuZGVyZXI/LmRlc3Ryb3koKSx0aGlzLl9pc0NoYXJ0TGlua2VkLmRlc3Ryb3koKSx0aGlzLl9pc0xheW91dENoYXJ0U3luY1Zpc2libGU/LmRlc3Ryb3koKSksc3VwZXIuZGVzdHJveSgpLHRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1Nlcmllc1RpdGxlLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3NvdXJjZS5zdGF0dXNXVigpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUxvYWRpbmdTdGF0dXMpLHRoaXMuX3ZhbHVlc1Zpc2libGVQcm9wZXJ0eS5kZXN0cm95KCksdGhpcy5faXNQcmljZVNvdXJjZUhpZGRlbi5kZXN0cm95KCksdGhpcy5fc3ltYm9sTWFya2VyPy5kZXN0cm95KCl9ZmxhZ2dlZCgpe3JldHVybiB0aGlzLl9mbGFnZ2VkfWxpbmtlZCgpe3JldHVybiB0aGlzLl9pc0NoYXJ0TGlua2VkfWFzeW5jIG9uU2hvd1NldHRpbmdzKGUsdCl7dGhpcy5fc291cmNlLnVzZXJFZGl0RW5hYmxlZCgpJiZhd2FpdCB0aGlzLl9jYWxsYmFja3Muc2hvd0dlbmVyYWxDaGFydFByb3BlcnRpZXMoYXQuVGFiTmFtZXMuc3ltYm9sKX1pc09uZUJ1dHRvbkNhbkJlU3RpY2soKXtyZXR1cm4gdGhpcy5faXNPbmVCdXR0b25DYW5CZVN0aWNrfV91cGRhdGVUaXRsZXMoKXtjb25zdCBlPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fc291cmNlLnN0YXR1c1ZpZXcoKSkuZ2V0U3BsaXRUaXRsZSgpLHQ9dGhpcy5fZ2V0Q2hhbmdlU3ltYm9sQ2FsbGJhY2soKSxpPXRoaXMuX2dldENoYW5nZVJlc29sdXRpb25DYWxsYmFjaygpLHM9dD97Zm46dCxhY3Rpb25BbGxvd2VkT25Ub3VjaDpFdH06dm9pZCAwLG89W3tmaWVsZDoidGl0bGUiLGlkOjAsdG9vbHRpcDp0P2J0OnZvaWQgMCxhY3Rpb246c30se2ZpZWxkOiJkZXNjcmlwdGlvbiIsaWQ6MSx0b29sdGlwOnQ/YnQ6dm9pZCAwLGFjdGlvbjpzfSx7ZmllbGQ6ImludGVydmFsIixpZDoyLHRvb2x0aXA6aT92dDp2b2lkIDAsYWN0aW9uOmk/e2ZuOmksYWN0aW9uQWxsb3dlZE9uVG91Y2g6ITF9OnZvaWQgMCxoaWRkZW46eXR9LHtmaWVsZDoicHJvdmlkZXIiLGlkOjN9LHtmaWVsZDoibGlzdGVkRXhjaGFuZ2UiLGlkOjR9LHtmaWVsZDoiY2hhcnRTdHlsZSIsaWQ6NX0se2ZpZWxkOiJwcmljZVNvdXJjZSIsaWQ6NixoaWRkZW46dGhpcy5faXNQcmljZVNvdXJjZUhpZGRlbi52YWx1ZSgpfV07dGhpcy5fdGl0bGVzLnNldFZhbHVlKEZlKGUsbykpfV91cGRhdGVWYWx1ZXMoKXtjb25zdCBlPXRoaXMuX3NvdXJjZS5sZWdlbmRWaWV3KCksdD10aGlzLl92YWx1ZXMudmFsdWUoKSxpPWUubWFya2V0VGl0bGUoKSxzPWUubWFya2V0VGl0bGUoKS5sZW5ndGg+MCxvPWUuaXRlbXMoKTtpZigwPT09dC5sZW5ndGh8fHQubGVuZ3RoIT09by5sZW5ndGgrMSl7Y29uc3QgZT17dmFsdWU6bmV3IHIuV2F0Y2hlZFZhbHVlKCIiKSxjb2xvcjpuZXcgci5XYXRjaGVkVmFsdWUoIiIpLHZpc2libGU6bmV3IHIuV2F0Y2hlZFZhbHVlKHMpLHRpdGxlOm5ldyByLldhdGNoZWRWYWx1ZShpKSx1bmltcG9ydGFudDpuZXcgci5XYXRjaGVkVmFsdWUoITEpfSx0PW8ubWFwKChlPT4oe3ZhbHVlOm5ldyByLldhdGNoZWRWYWx1ZShlLnZhbHVlKCkpLGNvbG9yOm5ldyByLldhdGNoZWRWYWx1ZShVKGUuY29sb3IoKSkpLHZpc2libGU6bmV3IHIuV2F0Y2hlZFZhbHVlKGUudmlzaWJsZSgpKSx0aXRsZTpuZXcgci5XYXRjaGVkVmFsdWUoZS50aXRsZSgpKSx1bmltcG9ydGFudDpuZXcgci5XYXRjaGVkVmFsdWUoZS51bmltcG9ydGFudCgpKX0pKSk7dGhpcy5fdmFsdWVzLnNldFZhbHVlKFtlXS5jb25jYXQodCkpfWVsc2V7dFswXS50aXRsZS5zZXRWYWx1ZShpKSx0WzBdLnZpc2libGUuc2V0VmFsdWUocyk7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2NvbnN0IGk9b1tlXTt0W2UrMV0udmFsdWUuc2V0VmFsdWUoaS52YWx1ZSgpKSx0W2UrMV0uY29sb3Iuc2V0VmFsdWUoVShpLmNvbG9yKCkpKSwKdFtlKzFdLnZpc2libGUuc2V0VmFsdWUoaS52aXNpYmxlKCkpLHRbZSsxXS50aXRsZS5zZXRWYWx1ZShpLnRpdGxlKCkpfX19X3VwZGF0ZVN0YXRlcygpe3N1cGVyLl91cGRhdGVTdGF0ZXMoKSx0aGlzLl91cGRhdGVTeW1ib2xNYXJrZXIoKX1fZ2V0RGlzYWJsZWRPbkludGVydmFsU3RhdGUoKXtyZXR1cm4hMX1fZ2V0VGl0bGVIaWRkZW5WYWx1ZSgpe3JldHVybiF0aGlzLl9tb2RlbC5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTZXJpZXNUaXRsZS52YWx1ZSgpfV9nZXRWYWx1ZXNIaWRkZW5WYWx1ZSgpe3JldHVybiF0aGlzLl9oYXNWYWx1ZXMoKXx8IXRoaXMuX3ZhbHVlc1Zpc2libGVQcm9wZXJ0eS52YWx1ZSgpLnNwbGl0KCI6Iikuc29tZSgoZT0+InRydWUiPT09ZSkpfV9nZXRDaGFuZ2VTeW1ib2xDYWxsYmFjaygpe2lmKGZ0JiYhKDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZGlzYWJsZV9sZWdlbmRfaW5wbGFjZV9zeW1ib2xfY2hhbmdlIikpcmV0dXJuIHRoaXMuX2NoYW5nZVN5bWJvbENhbGxiYWNrfHw9YXN5bmMgZT0+e2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLGk9dC5zeW1ib2woKSxzPXQucHJvcGVydGllcygpLmNoaWxkcygpLnNob3J0TmFtZS52YWx1ZSgpLG89Im9wdGlvbiI9PT10LnN5bWJvbEluZm8oKT8udHlwZSxuPXQuc3ltYm9sSW5mbygpPy5wcm9fbmFtZTtsZXQgYT10LmlzU3ByZWFkKCk/aTpzfHxpfHwiIjtpZigoMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpJiZvJiZuKXtjb25zdCBlPWF3YWl0KDAsS2UucmVzb2x2ZVVuZGVybHlpbmdTeW1ib2wpKG4pO2UmJihhPXt0eXBlOiJvcHRpb24iLHZhbHVlOm4sdW5kZXJseWluZzplfSl9KDAsUmUuc2hvd0RpYWxvZykoe2RlZmF1bHRWYWx1ZTphLGVuYWJsZU9wdGlvbnNDaGFpbjooMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpLG9uQ2xvc2U6ZSxzZWFyY2hUeXBlOiJjaGFydF9zdGF0dXNfbGluZSIsdHJhY2tSZXN1bHRzT3B0aW9uczp7dHJhY2tSZXN1bHRzOiEoMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSxlbXB0eVNlYXJjaFR5cGU6ImVtcHR5X3Jlc3VsdF9fc3VwZXJjaGFydHMifX0pfX1fZ2V0Q2hhbmdlUmVzb2x1dGlvbkNhbGxiYWNrKCl7aWYoZnQmJiEoMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJkaXNhYmxlX2xlZ2VuZF9pbnBsYWNlX3Jlc29sdXRpb25fY2hhbmdlIikpcmV0dXJuIHRoaXMuX2NoYW5nZVJlc29sdXRpb25DYWxsYmFja3x8PWU9PnsoMCxOZS5zaG93Q2hhbmdlSW50ZXJ2YWxEaWFsb2dBc3luYykoe2luaXRWYWw6dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmludGVydmFsKCksc2VsZWN0T25Jbml0OiEwLG9uQ2xvc2U6ZX0pfX1fY3JlYXRlQWN0aW9ucygpe2lmKHd0JiZ0aGlzLl9vcHRpb25zLnN5bWJvbE1hcmtlckVuYWJsZWQpe2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZS5jbGFzc0xpc3QuYWRkKGNlLm1hcmtlckNvbnRhaW5lciksdGhpcy5fc3ltYm9sTWFya2VySWNvbj1lLHRoaXMuX3N5bWJvbEFjdGlvbj17aWNvbjplLGFjdGlvbjp0aGlzLl9zeW1ib2xBY3Rpb25IYW5kbGVyLmJpbmQodGhpcyksdmlzaWJsZTpuZXcgci5XYXRjaGVkVmFsdWUoITApLGNsYXNzTmFtZTpjZS5mbGFnLHRpdGxlOm5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRNYXJrZXJUaXRsZSgpKSxkYXRhUWFJZDoibGVnZW5kLWZsYWctYWN0aW9uIn0sdGhpcy5fYWN0aW9ucy5wdXNoKHRoaXMuX3N5bWJvbEFjdGlvbil9aWYoQ3QmJnRoaXMuX2lzTGF5b3V0Q2hhcnRTeW5jVmlzaWJsZSYmKHRoaXMuX2xheW91dENoYXJ0U3luY0xlZ2VuZFJlbmRlcmVyPW5ldyBRZSh7bGlua2luZ0dyb3VwSW5kZXg6dGhpcy5fbW9kZWwubW9kZWwoKS5saW5raW5nR3JvdXBJbmRleCgpLnJlYWRvbmx5KCksc2V0TGlua2luZ0dyb3VwSW5kZXg6ZT0+dGhpcy5fbW9kZWwuc2V0TGlua2luZ0dyb3VwSW5kZXgoZSksaXNMaW5raW5nQXZhaWxhYmxlOnRoaXMuX2lzTGF5b3V0Q2hhcnRTeW5jVmlzaWJsZSxvbkNsaWNrSGFuZGxlcjooKT0+dGhpcy5zZXRTb3VyY2VTZWxlY3RlZCgpfSksdGhpcy5fYWN0aW9ucy5wdXNoKHRoaXMuX2xheW91dENoYXJ0U3luY0xlZ2VuZFJlbmRlcmVyLmdldEFjdGlvbigpKSksU3Qpe2NvbnN0IGU9KDAsUGUuY29udmVydFByb3BlcnR5VG9XYXRjaGVkVmFsdWUpKCgwLEhlLmNvbWJpbmVQcm9wZXJ0eSkoKGU9PiFlKSx0aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpLnZpc2libGUud2Vha1JlZmVyZW5jZSgpKSksdD17aWNvbjpuZXcgTWFwKFtbImxhcmdlIixjdF0sWyJzbWFsbCIsdXRdXSksYWN0aW9uOigwLEkud3JhcEhhbmRsZXJXaXRoUHJldmVudEV2ZW50KSh0aGlzLm9uVG9nZ2xlRGlzYWJsZWQuYmluZCh0aGlzKSksdmlzaWJsZTplLGNsYXNzTmFtZTpjZS5leWUsdGl0bGU6bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldEV5ZVRpdGxlKCkpLGRhdGFRYUlkOiJsZWdlbmQtc2hvdy1oaWRlLWFjdGlvbiJ9O3RoaXMuX2FjdGlvbnMucHVzaCh0KSx0aGlzLl9kaXNhYmxlZC5zdWJzY3JpYmUoKCgpPT57dC50aXRsZT8uc2V0VmFsdWUodGhpcy5fZ2V0RXllVGl0bGUoKSl9KSl9e2NvbnN0IGU9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKTt0aGlzLl9hY3Rpb25zLnB1c2goe2ljb246bmV3IE1hcChbWyJsYXJnZSIscHRdLFsic21hbGwiLGh0XV0pLGFjdGlvbjp0PT57ZS5zZXRWYWx1ZSghMCksdGhpcy5fbW9yZUFjdGlvbkhhbmRsZXIodCwoKCk9PmUuc2V0VmFsdWUoITEpKSl9LHZpc2libGU6bmV3IHIuV2F0Y2hlZFZhbHVlKCEwKSxhY3RpdmU6ZS5yZWFkb25seSgpLHRpdGxlOm5ldyByLldhdGNoZWRWYWx1ZShfdCksZGF0YVFhSWQ6ImxlZ2VuZC1tb3JlLWFjdGlvbiJ9KX19X2dldE1hcmtlclRpdGxlKCl7CnJldHVybiBudWxsIT09dGhpcy5fc3ltYm9sTWFya2VyP3RoaXMuX3N5bWJvbE1hcmtlci5pc01hcmtlZCgpP210Omd0OiIifV9zeW1ib2xBY3Rpb25IYW5kbGVyKGUpeygwLEkucHJldmVudERlZmF1bHQpKGUpLG51bGwhPT10aGlzLl9zeW1ib2xNYXJrZXImJih0aGlzLl91cGRhdGVTeW1ib2xNYXJrZXIoKSxlIGluc3RhbmNlb2YgS2V5Ym9hcmRFdmVudCYmdGhpcy5fc3ltYm9sTWFya2VyLnRvZ2dsZShlKSxPKCJDaGFuZ2UgZmxhZyBzdGF0ZSIpKX1fdXBkYXRlU3ltYm9sTWFya2VyKCl7aWYod3QmJnRoaXMuX29wdGlvbnMuc3ltYm9sTWFya2VyRW5hYmxlZCl7Y29uc3QgZT0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N5bWJvbEFjdGlvbiksdD0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N5bWJvbE1hcmtlckljb24pLGk9dGhpcy5fbW9kZWwubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpPy5wcm9fbmFtZT8/dGhpcy5fbW9kZWwubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sKCk7dGhpcy5fc3ltYm9sTWFya2VyP3RoaXMuX3N5bWJvbEZvck1hcmtlciE9PWkmJih0aGlzLl9zeW1ib2xNYXJrZXIuYmluZFRvKGksdCksdGhpcy5fc3ltYm9sRm9yTWFya2VyPWkpOih0aGlzLl9zeW1ib2xNYXJrZXI9KDAsamUuY3JlYXRlU3ltYm9sTWFya2VyU3RhbmRhbG9uZSkoe3N5bWJvbDppLGNvbnRhaW5lcjp0LHNwZWNpYWxJbWFnZTpYZSxjbGFzc05hbWU6Y2UuZmxhZ1dyYXBwZXIsb25NYXJrZWRDaGFuZ2VkOigpPT50aGlzLl91cGRhdGVTeW1ib2xNYXJrZXIoKX0pLHRoaXMuX3N5bWJvbEZvck1hcmtlcj1pKSx0aGlzLl9mbGFnZ2VkLnNldFZhbHVlKHRoaXMuX3N5bWJvbE1hcmtlci5pc01hcmtlZCgpKTsoMCxuLmVuc3VyZURlZmluZWQpKGUudGl0bGUpLnNldFZhbHVlKHRoaXMuX2dldE1hcmtlclRpdGxlKCkpfWVsc2UgdGhpcy5faXNPbmVCdXR0b25DYW5CZVN0aWNrPSEwfX12YXIgTHQ9aSg5NTY0MzcpLE10PWkoMjkxMTI5KSxUdD1pKDk0NzE2KSxWdD1pKDQ2MDU0NCksa3Q9aSg1NDA1ODgpO3ZhciBBdD1pKDYxNDM4MCksV3Q9aSgyMzczNjkpLEl0PWkoNTc3OTk2KSxCdD1pKDIzNDk2NCksSHQ9aSg3NDI0MTUpLER0PWkoNjk4NTkwKSxQdD1pKDE0NTA5MCksTnQ9aSg4NTI2NzMpLFJ0PWkoNTYzODg2KSxPdD1pKDcyMDUyNSk7Y29uc3QgRnQ9KDAsbHQuZ2V0TG9nZ2VyKSgiQ2hhcnQuTGVnZW5kV2lkZ2V0IiksenQ9UC50KG51bGwsdm9pZCAwLGkoNzMwNTg2KSksanQ9UC50KG51bGwsdm9pZCAwLGkoNzkzNDAyKSksVXQ9UC50KG51bGwsdm9pZCAwLGkoOTExMjYpKSxHdD1QLnQobnVsbCx2b2lkIDAsaSgzOTQ5NDcpKSxadD1QLnQobnVsbCx2b2lkIDAsaSgyODgyNDQpKSxKdD1QLnQobnVsbCx2b2lkIDAsaSgyNjY1KSksWXQ9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic3R1ZHlfYnV0dG9uc19pbl9sZWdlbmQiKSxxdD0oMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X2hpZGVfYnV0dG9uX2luX2xlZ2VuZCIpLCR0PSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInByb3BlcnR5X3BhZ2VzIiksUXQ9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZm9ybWF0X2J1dHRvbl9pbl9sZWdlbmQiKSxLdD0oMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJkZWxldGVfYnV0dG9uX2luX2xlZ2VuZCIpLFh0PSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImxlZ2VuZF9pbnBsYWNlX2VkaXQiKSxlaT0hKDAsemUuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKXx8KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uYXRpdmVfc3ltYm9sX3NlYXJjaF9vbl90YXBfaW5fbGVnZW5kIik7Y2xhc3MgdGkgZXh0ZW5kcyAke2NvbnN0cnVjdG9yKGUsdCxpLHMsbyl7c3VwZXIoZSx0LGkscyxvKSx0aGlzLl9lcnJvcj1uZXcgci5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5faXNBYmxlU2hvd1NvdXJjZUNvZGVJbm5lcj1uZXcgci5XYXRjaGVkVmFsdWUoITEpLnNwYXduKCksdGhpcy5fcGluZUFjdGlvbj1udWxsLHRoaXMuX3BpbmVBY3Rpb25WaXNpYmxlPW51bGwsdGhpcy5fZ2xvYmFsVmlzaWJpbGl0eT1uZXcgci5XYXRjaGVkVmFsdWUoITApLHRoaXMuX3VwZGF0ZVN5bWJvbExvZ29Nb2RlbCgpLHRoaXMuX2NyZWF0ZUFjdGlvbnMoKTtjb25zdCBuPXRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCksYT1bbi5zaG93U2VyaWVzVGl0bGUsbi5zaG93U3R1ZHlUaXRsZXNdO2Zvcihjb25zdCBlIG9mIGEpZS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLl9pc1RpdGxlSGlkZGVuLnNldFZhbHVlKHRoaXMuX2dldFRpdGxlSGlkZGVuVmFsdWUoKSl9KSk7Y29uc3QgbD1bbi5zaG93U2VyaWVzT0hMQyxuLnNob3dCYXJDaGFuZ2Usbi5zaG93U3R1ZHlWYWx1ZXMsbi5zaG93TGFzdERheUNoYW5nZSxuLnNob3dTZXJpZXNMZWdlbmRDbG9zZU9uTW9iaWxlXTtmb3IoY29uc3QgZSBvZiBsKWUuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5faXNWYWx1ZXNIaWRkZW4uc2V0VmFsdWUodGhpcy5fZ2V0VmFsdWVzSGlkZGVuVmFsdWUoKSl9KSk7dGhpcy51cGRhdGUoKSx5ZS5zdWJzY3JpYmUoSXQuVFZfU0NSSVBUX0RFTEVURUQsdGhpcy51cGRhdGUsdGhpcyksdGhpcy5fdXBkYXRlQWJsZVNob3dTb3VyY2VDb2RlKCl9ZGVzdHJveSgpe3N1cGVyLmRlc3Ryb3koKTtjb25zdCBlPXRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCk7ZS5zaG93U2VyaWVzVGl0bGUudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zaG93U3R1ZHlUaXRsZXMudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zaG93U2VyaWVzT0hMQy51bnN1YnNjcmliZUFsbCh0aGlzKSxlLnNob3dCYXJDaGFuZ2UudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zaG93U3R1ZHlWYWx1ZXMudW5zdWJzY3JpYmVBbGwodGhpcyksCmUuc2hvd0xhc3REYXlDaGFuZ2UudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zaG93U2VyaWVzTGVnZW5kQ2xvc2VPbk1vYmlsZS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9pc0FibGVTaG93U291cmNlQ29kZUlubmVyLmRlc3Ryb3koKSx5ZS51bnN1YnNjcmliZShJdC5UVl9TQ1JJUFRfREVMRVRFRCx0aGlzLnVwZGF0ZSx0aGlzKX1lcnJvcigpe3JldHVybiB0aGlzLl9lcnJvci5yZWFkb25seSgpfWlzQWJsZVNob3dTb3VyY2VDb2RlKCl7cmV0dXJuIHRoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlfW9uUmVtb3ZlU291cmNlKCl7aWYodGhpcy5fc291cmNlLmlzVXNlckRlbGV0YWJsZSgpKXtpZigoMCxMdC5pc1N0dWR5KSh0aGlzLl9zb3VyY2UpJiZ0aGlzLl9zb3VyY2UuaGFzQ2hpbGRyZW4oKSl7Y29uc3QgZT10aGlzLl9zb3VyY2UuZ2V0QWxsQ2hpbGRyZW4oKS5tYXAoKGU9PmUubmFtZSghMCkpKTsoMCxNdC5zaG93RGVsZXRlU3R1ZHlUcmVlQ29uZmlybSkoZSx0aGlzLl9tb2RlbC5yZW1vdmVTb3VyY2UuYmluZCh0aGlzLl9tb2RlbCx0aGlzLl9zb3VyY2UsITEpKX1lbHNlIHRoaXMuX21vZGVsLnJlbW92ZVNvdXJjZSh0aGlzLl9zb3VyY2UsITEpO08oIlJlbW92ZSBzb3VyY2VzIil9fWFzeW5jIG9uU2hvd1NvdXJjZUNvZGUoKXt7Y29uc3QgZT10aGlzLl9zb3VyY2UucGluZVNvdXJjZUNvZGVNb2RlbD8uKCk/P1Byb21pc2UucmVzb2x2ZShudWxsKTtpZihlKXRyeXtjb25zdCB0PWF3YWl0IGU7aWYodGhpcy5fZGVzdHJveWVkKXJldHVybjt0Py5pc0FibGVTaG93U291cmNlQ29kZSgpLnZhbHVlKCkmJih0LnNob3dQaW5lU291cmNlQ29kZSgpLE8oIk9wZW4gc291cmNlIGNvZGUgZm9yIHBpbmUgc2NyaXB0cyIpKX1jYXRjaChlKXtGdC5sb2dFcnJvcihgJHtlfWApLCgwLEJ0LnNob3dXYXJuaW5nKSh7dGl0bGU6UC50KG51bGwsdm9pZCAwLGkoNDg3MjAwKSksdGV4dDpQLnQobnVsbCx2b2lkIDAsaSg2NDUyNjMpKSxidXR0b25UZXh0OlAudChudWxsLHZvaWQgMCxpKDExMTg5OCkpfSl9fX1zZXRHbG9iYWxWaXNpYmlsaXR5KGUpe3RoaXMuX2dsb2JhbFZpc2liaWxpdHkuc2V0VmFsdWUoZSl9Z2xvYmFsVmlzaWJpbGl0eSgpe3JldHVybiB0aGlzLl9nbG9iYWxWaXNpYmlsaXR5LnJlYWRvbmx5KCl9Z2V0RnVsbFRpdGxlKCl7cmV0dXJuIHRoaXMuX3RpdGxlcy52YWx1ZSgpLm1hcCgoZT0+aihlKT9lLml0ZW1zLm1hcCgoZT0+ZS50aXRsZSkpLmpvaW4oIiAiKTplLnRpdGxlKSkuam9pbigiICIpfWdldFNvdXJjZSgpe3JldHVybiB0aGlzLl9zb3VyY2V9X3VwZGF0ZVRpdGxlcygpe2NvbnN0IGU9KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zb3VyY2Uuc3RhdHVzVmlldygpKSx0PWUuZ2V0U3BsaXRUaXRsZSgpLGk9W10scz10aGlzLl9nZXRDaGFuZ2VTeW1ib2xDYWxsYmFjaygpO2lmKEFycmF5LmlzQXJyYXkodCkpe2NvbnN0IHM9KDAsT2UuY2xlYW4pKHRbMF0sITApOyIiIT09cyYmaS5wdXNoKHt0aXRsZTpzLGlkOjcsdG9vbHRpcDplLnRpdGxlVG9vbHRpcCgpfSl9ZWxzZSBpLnB1c2goLi4uZnVuY3Rpb24oZSx0KXtjb25zdHtjaGFuZ2VTeW1ib2xDYWxsYmFjazppLGNoYW5nZVN5bWJvbFRvb2x0aXA6cyx0aXRsZVRvb2x0aXA6byxpc05hdGl2ZVN5bWJvbFNlYXJjaE9uTW9iaWxlRW5hYmxlZDpufT10O3JldHVybiBGZShlLFt7ZmllbGQ6InRpdGxlIixpZDppPzg6Nyx0b29sdGlwOmk/czpvLGFjdGlvbjppP3tmbjppLGFjdGlvbkFsbG93ZWRPblRvdWNoOm59OnZvaWQgMH0se2ZpZWxkOiJsaXN0ZWRFeGNoYW5nZSIsaWQ6OX0se2ZpZWxkOiJwcmljZVNvdXJjZSIsaWQ6OX1dKX0odCx7Y2hhbmdlU3ltYm9sQ2FsbGJhY2s6cyxjaGFuZ2VTeW1ib2xUb29sdGlwOkp0LHRpdGxlVG9vbHRpcDplLnRpdGxlVG9vbHRpcCgpLGlzTmF0aXZlU3ltYm9sU2VhcmNoT25Nb2JpbGVFbmFibGVkOmVpfSkpO2NvbnN0IG89W107KGUuZ2V0SW5wdXRzVGl0bGVzKCk/P1tdKS5mb3JFYWNoKChlPT57Y29uc3QgdD0oMCxPZS5jbGVhbikoZS52YWx1ZSwhMCk7IiIhPT10JiZvLnB1c2goe3RpdGxlOnQsdG9vbHRpcDplLnRpdGxlLGlkOjEwfSl9KSksMCE9PW8ubGVuZ3RoJiZpLnB1c2goe2lkOjEwLGl0ZW1zOm99KSx0aGlzLl90aXRsZXMuc2V0VmFsdWUoaSl9X3VwZGF0ZVZhbHVlcygpe2NvbnN0IGU9dGhpcy5fc291cmNlLmxlZ2VuZFZpZXcoKTtpZihudWxsPT09ZSlyZXR1cm47aWYoMD09PWUuaXRlbXMoKS5sZW5ndGgpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fdmFsdWVzLnZhbHVlKCk7aWYoMD09PXQubGVuZ3RoKXtjb25zdCB0PWUuaXRlbXMoKS5tYXAoKGU9Pih7dmFsdWU6bmV3IHIuV2F0Y2hlZFZhbHVlKGUudmFsdWUoKSksY29sb3I6bmV3IHIuV2F0Y2hlZFZhbHVlKFUoZS5jb2xvcigpKSksdmlzaWJsZTpuZXcgci5XYXRjaGVkVmFsdWUoZS52aXNpYmxlKCkpLHVuaW1wb3J0YW50Om5ldyByLldhdGNoZWRWYWx1ZShlLnVuaW1wb3J0YW50KCkpLHRpdGxlOm5ldyByLldhdGNoZWRWYWx1ZShlLnRpdGxlKCkpfSkpKTt0aGlzLl92YWx1ZXMuc2V0VmFsdWUodCl9ZWxzZXtjb25zdCBpPWUuaXRlbXMoKTtmb3IobGV0IGU9MDtlPGkubGVuZ3RoO2UrKyl7Y29uc3Qgcz10W2VdLG89aVtlXTtzLnZhbHVlLnNldFZhbHVlKG8udmFsdWUoKSkscy5jb2xvci5zZXRWYWx1ZShVKG8uY29sb3IoKSkpLHMudmlzaWJsZS5zZXRWYWx1ZShvLnZpc2libGUoKSkscy50aXRsZS5zZXRWYWx1ZShvLnRpdGxlKCkpfX19X3VwZGF0ZVN0YXRlcygpe3N1cGVyLl91cGRhdGVTdGF0ZXMoKSx2b2lkIDAhPT10aGlzLl9lcnJvciYmdGhpcy5fZXJyb3Iuc2V0VmFsdWUoQm9vbGVhbih0aGlzLl9zb3VyY2UuaXNGYWlsZWQoKSkpfV9nZXRUaXRsZUhpZGRlblZhbHVlKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpO3JldHVybiB0aGlzLl9pc1N5bWJvbExpa2VTdHVkeSgpPyFlLnNob3dTZXJpZXNUaXRsZS52YWx1ZSgpOiFlLnNob3dTdHVkeVRpdGxlcy52YWx1ZSgpfQpfZ2V0RGlzYWJsZWRPbkludGVydmFsU3RhdGUoKXtyZXR1cm4hKCEoMCxMdC5pc1N0dWR5KSh0aGlzLl9zb3VyY2UpJiYhKDAsTHQuaXNTdHVkeVN0dWIpKHRoaXMuX3NvdXJjZSkpJiYhdGhpcy5fc291cmNlLmlzQWN0dWFsSW50ZXJ2YWwoKX1fZ2V0VmFsdWVzSGlkZGVuVmFsdWUoKXtpZighdGhpcy5faGFzVmFsdWVzKCkpcmV0dXJuITA7Y29uc3QgZT10aGlzLl9tb2RlbC5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpO3JldHVybiB0aGlzLl9pc1N5bWJvbExpa2VTdHVkeSgpPyFlLnNob3dTZXJpZXNPSExDLnZhbHVlKCkmJiFlLnNob3dCYXJDaGFuZ2UudmFsdWUoKSYmIWUuc2hvd0xhc3REYXlDaGFuZ2UudmFsdWUoKTohZS5zaG93U3R1ZHlWYWx1ZXMudmFsdWUoKX1faXNTeW1ib2xMaWtlU3R1ZHkoKXtyZXR1cm4oMCxMdC5pc0NvbXBhcmVPck92ZXJsYXlTdHVkeSkodGhpcy5fc291cmNlKX1fZ2V0Q2hhbmdlU3ltYm9sQ2FsbGJhY2soKXtjb25zdCBlPXRoaXMuX3NvdXJjZTtpZihYdCYmKDAsa3QuaXNTeW1ib2xTb3VyY2VXaXRoUXVvdGVzUHJvdmlkZXIpKGUpKXJldHVybiB0aGlzLl9jaGFuZ2VTeW1ib2xDYWxsYmFja3x8PWFzeW5jIHQ9Pntjb25zdCBpPWUuc3ltYm9sKCkscz1lLnN5bWJvbEluZm8oKSxvPSgwLHJlLnNhZmVTaG9ydE5hbWUpKGkpLG49InNwcmVhZCI9PT1zPy50eXBlLGE9Im9wdGlvbiI9PT1zPy50eXBlLHI9cz8ucHJvX25hbWU7bGV0IGQ9bj9pOm98fGl8fCIiO2lmKCgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfb3B0aW9uX2NoYWluX3NlbGVjdG9yIikmJmEmJnIpe2NvbnN0IGU9YXdhaXQoMCxLZS5yZXNvbHZlVW5kZXJseWluZ1N5bWJvbCkocik7ZSYmKGQ9e3R5cGU6Im9wdGlvbiIsdmFsdWU6cix1bmRlcmx5aW5nOmV9KX10cnl7YXdhaXQobmV3IEF0LlN5bWJvbFNlYXJjaFVJKS5zaG93KHtzZXRTeW1ib2w6dD0+e3RoaXMuX21vZGVsLnNldFN5bWJvbChlLHQuc3ltYm9sKX0sZGlhbG9nVGl0bGU6SnQsZGVmYXVsdFZhbHVlOmQsZW5hYmxlT3B0aW9uc0NoYWluOigwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfb3B0aW9uX2NoYWluX3NlbGVjdG9yIiksc2hvd1NwcmVhZEFjdGlvbnM6KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19zcHJlYWRfb3BlcmF0b3JzIikmJigwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN0dWRpZXNfc3ltYm9sX3NlYXJjaF9zcHJlYWRfb3BlcmF0b3JzIiksb25DbG9zZTp0LHNlYXJjaFR5cGU6ImNoYXJ0X3N0YXR1c19saW5lIix0cmFja1Jlc3VsdHNPcHRpb25zOnt0cmFja1Jlc3VsdHM6ISgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpLGVtcHR5U2VhcmNoVHlwZToiZW1wdHlfcmVzdWx0X19zdXBlcmNoYXJ0cyJ9fSl9Y2F0Y2goZSl7RnQubG9nRXJyb3IoYEFub3RoZXIgU3ltYm9sU2VhcmNoVUkgaXMgYWxyZWFkeSBvcGVuZWQgb3IgQ3VzdG9tVUkgcmVqZWN0ZWQgc3ltYm9sIHNlbGVjdGlvbiAkeygwLFd0LmdldEVycm9yTWVzc2FnZSkoZSl9YCl9fX1hc3luYyBfdXBkYXRlQWJsZVNob3dTb3VyY2VDb2RlKCl7aWYoWXQmJnRoaXMuX29wdGlvbnMuY2FuU2hvd1NvdXJjZUNvZGUmJiF0aGlzLl9vcHRpb25zLnJlYWRPbmx5TW9kZSl7Y29uc3QgZT10aGlzLl9zb3VyY2UucGluZVNvdXJjZUNvZGVNb2RlbD8uKCk/P1Byb21pc2UucmVzb2x2ZShudWxsKTtpZihlKXtjb25zdCB0PWF3YWl0IGU7aWYodGhpcy5fZGVzdHJveWVkKXJldHVybjt0aGlzLl9pc0FibGVTaG93U291cmNlQ29kZUlubmVyLmRlc3Ryb3koKSx0aGlzLl9pc0FibGVTaG93U291cmNlQ29kZUlubmVyPXQ/LmlzQWJsZVNob3dTb3VyY2VDb2RlKCkuc3Bhd24oKT8/bmV3IHIuV2F0Y2hlZFZhbHVlKCExKS5zcGF3bigpLHRoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlSW5uZXIuc3Vic2NyaWJlKChlPT57dGhpcy5fdXBkYXRlVmlzaWJpbGl0eVBpbmVBY3Rpb24oZSl9KSx7Y2FsbFdpdGhMYXN0OiEwfSl9fX1fdXBkYXRlVmlzaWJpbGl0eVBpbmVBY3Rpb24oZSl7bnVsbCE9PXRoaXMuX3BpbmVBY3Rpb25WaXNpYmxlJiYodGhpcy5fcGluZUFjdGlvblZpc2libGUuc2V0VmFsdWUoZSksdGhpcy5faXNBYmxlU2hvd1NvdXJjZUNvZGUuc2V0VmFsdWUoZSkpfV9jcmVhdGVBY3Rpb25zKCl7aWYoIXRoaXMuX29wdGlvbnMucmVhZE9ubHlNb2RlKXtpZih0aGlzLl9waW5lQWN0aW9uVmlzaWJsZT1uZXcgci5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3BpbmVBY3Rpb249e2ljb246bmV3IE1hcChbWyJsYXJnZSIsTnRdLFsic21hbGwiLFB0XV0pLGFjdGlvbjooMCxJLndyYXBIYW5kbGVyV2l0aFByZXZlbnRFdmVudCkodGhpcy5vblNob3dTb3VyY2VDb2RlLmJpbmQodGhpcykpLGRpc2FibGVBY2Nlc3NpYmlsaXR5OiEwLHZpc2libGU6dGhpcy5fcGluZUFjdGlvblZpc2libGUucmVhZG9ubHkoKSx0aXRsZTpuZXcgci5XYXRjaGVkVmFsdWUoanQpLGRhdGFRYUlkOiJsZWdlbmQtcGluZS1hY3Rpb24ifSxxdCl7Y29uc3QgZT1uZXcgci5XYXRjaGVkVmFsdWUoIXRoaXMuX2dldERpc2FibGVkT25JbnRlcnZhbFN0YXRlKCkpLHQ9e2ljb246bmV3IE1hcChbWyJsYXJnZSIsY3RdLFsic21hbGwiLHV0XV0pLGFjdGlvbjooMCxJLndyYXBIYW5kbGVyV2l0aFByZXZlbnRFdmVudCkodGhpcy5vblRvZ2dsZURpc2FibGVkLmJpbmQodGhpcykpLHZpc2libGU6ZS5yZWFkb25seSgpLGNsYXNzTmFtZTpjZS5leWUsdGl0bGU6bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldEV5ZVRpdGxlKCkpLGRhdGFRYUlkOiJsZWdlbmQtc2hvdy1oaWRlLWFjdGlvbiJ9O3RoaXMuX2FjdGlvbnMucHVzaCh0KSx0aGlzLl9kaXNhYmxlZC5zdWJzY3JpYmUoKCgpPT57dC50aXRsZT8uc2V0VmFsdWUodGhpcy5fZ2V0RXllVGl0bGUoKSl9KSk7e2NvbnN0IHQ9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSxpPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXREaXNhYmxlZE9uSW50ZXJ2YWxTdGF0ZSgpKSxzPXsKaWNvbjpuZXcgTWFwKFtbImxhcmdlIixjdF0sWyJzbWFsbCIsdXRdXSksYWN0aW9uOigwLEkud3JhcEhhbmRsZXJXaXRoUHJldmVudEV2ZW50KSgoKCk9Pnt0LnNldFZhbHVlKCEwKSx0aGlzLm9uU2hvd1NldHRpbmdzKGF0LlRhYk5hbWVzLnZpc2liaWxpdHksKCgpPT50LnNldFZhbHVlKCExKSkpfSkpLGFjdGl2ZTp0LnJlYWRvbmx5KCksdmlzaWJsZTppLnJlYWRvbmx5KCksY2xhc3NOYW1lOmNlLmludGVydmFsRXllLHRpdGxlOm5ldyByLldhdGNoZWRWYWx1ZShadCksZGF0YVFhSWQ6ImxlZ2VuZC1pbnRlcnZhbC1zaG93LWhpZGUtYWN0aW9uIn07dGhpcy5fYWN0aW9ucy5wdXNoKHMpLHRoaXMuX2Rpc2FibGVkT25JbnRlcnZhbC5zdWJzY3JpYmUoKHQ9PntpLnNldFZhbHVlKHQpLGUuc2V0VmFsdWUoIXQpfSkpfX1pZigkdCYmUXQmJighKDAsTHQuaXNTdHVkeSkodGhpcy5fc291cmNlKXx8bmV3IFR0Lk1ldGFJbmZvSGVscGVyKHRoaXMuX3NvdXJjZS5tZXRhSW5mbygpKS5oYXNVc2VyRWRpdGFibGVPcHRpb25zKFZ0LmlzQ3VzdG9tU3R1ZHkpKSl7Y29uc3QgZT1uZXcgci5XYXRjaGVkVmFsdWUodGhpcy5fZ2V0SXNFZGl0YWJsZSgpKSx0PW5ldyByLldhdGNoZWRWYWx1ZSghMSksaT17aWNvbjpuZXcgTWFwKFtbImxhcmdlIixEdF0sWyJzbWFsbCIsSHRdXSksYWN0aW9uOigwLEkud3JhcEhhbmRsZXJXaXRoUHJldmVudEV2ZW50KSgoKCk9Pnt0LnNldFZhbHVlKCEwKSx0aGlzLm9uU2hvd1NldHRpbmdzKHZvaWQgMCwoKCk9PnQuc2V0VmFsdWUoITEpKSl9KSksdmlzaWJsZTplLnJlYWRvbmx5KCksYWN0aXZlOnQucmVhZG9ubHkoKSx0aXRsZTpuZXcgci5XYXRjaGVkVmFsdWUoenQpLGRhdGFRYUlkOiJsZWdlbmQtc2V0dGluZ3MtYWN0aW9uIn07dGhpcy5fYWN0aW9ucy5wdXNoKGkpLHRoaXMuX2lzRWRpdGFibGUuc3Vic2NyaWJlKCh0PT57ZS5zZXRWYWx1ZSh0KX0pKX1pZigoKDAsTHQuaXNTdHVkeSkodGhpcy5fc291cmNlKXx8KDAsTHQuaXNTdHVkeVN0dWIpKHRoaXMuX3NvdXJjZSkpJiZZdCYmdGhpcy5fb3B0aW9ucy5jYW5TaG93U291cmNlQ29kZSYmdGhpcy5fYWN0aW9ucy5wdXNoKHRoaXMuX3BpbmVBY3Rpb24pLEt0KXtjb25zdCBlPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRJc0VkaXRhYmxlKCkpLHQ9e2ljb246bmV3IE1hcChbWyJsYXJnZSIsT3RdLFsic21hbGwiLFJ0XV0pLGFjdGlvbjooMCxJLndyYXBIYW5kbGVyV2l0aFByZXZlbnRFdmVudCkodGhpcy5vblJlbW92ZVNvdXJjZS5iaW5kKHRoaXMpKSx2aXNpYmxlOmUucmVhZG9ubHkoKSx0aXRsZTpuZXcgci5XYXRjaGVkVmFsdWUoVXQpLGRhdGFRYUlkOiJsZWdlbmQtZGVsZXRlLWFjdGlvbiJ9O3RoaXMuX2FjdGlvbnMucHVzaCh0KSx0aGlzLl9pc0VkaXRhYmxlLnN1YnNjcmliZSgodD0+e2Uuc2V0VmFsdWUodCl9KSl9e2NvbnN0IGU9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKTt0aGlzLl9hY3Rpb25zLnB1c2goe2ljb246bmV3IE1hcChbWyJsYXJnZSIscHRdLFsic21hbGwiLGh0XV0pLGFjdGlvbjp0PT57ZS5zZXRWYWx1ZSghMCksdGhpcy5fbW9yZUFjdGlvbkhhbmRsZXIodCwoKCk9PmUuc2V0VmFsdWUoITEpKSl9LHZpc2libGU6dGhpcy5faXNFZGl0YWJsZS5zcGF3bigpLGFjdGl2ZTplLnJlYWRvbmx5KCksdGl0bGU6bmV3IHIuV2F0Y2hlZFZhbHVlKEd0KSxkYXRhUWFJZDoibGVnZW5kLW1vcmUtYWN0aW9uIn0pfX19X3VwZGF0ZVN5bWJvbExvZ29Nb2RlbCgpe2lmKHRoaXMuX3N5bWJvbExvZ29WaWV3TW9kZWwudmFsdWUoKT8uZGVzdHJveSgpLCgwLGt0LmlzU3ltYm9sU291cmNlV2l0aFF1b3Rlc1Byb3ZpZGVyKSh0aGlzLl9zb3VyY2UpKXtjb25zdCBlPXRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCksdD1udChuZXcgZHQodGhpcy5fc291cmNlKSxlKTt0aGlzLl9zeW1ib2xMb2dvVmlld01vZGVsLnNldFZhbHVlKHQpfWVsc2UgdGhpcy5fc3ltYm9sTG9nb1ZpZXdNb2RlbC5zZXRWYWx1ZShudWxsKX19dmFyIGlpPWkoMTI4OTk4KSxzaT1pKDIxNDc3MSksb2k9aSg3NjI4NTEpLG5pPWkoMTY4NzcxKSxhaT1pKDQ3NzE1NSk7ZnVuY3Rpb24gbGkoZSx0LGkpe2Uuc2V0UHJvcGVydHkodCwhdC52YWx1ZSgpLGkpfWNvbnN0IHJpPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBzeW1ib2wgZGVzY3JpcHRpb24gdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoNTU1NjY2KSkpLGRpPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBvcGVuIG1hcmtldCBzdGF0dXMgdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoMTc2MjQ5KSkpLHVpPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBjaGFydCB2YWx1ZXMgdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoNTY4NzMwKSkpLGNpPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBsYXN0IGRheSBjaGFuZ2UgdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoMzM1NjgyKSkpLGhpPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBiYXIgY2hhbmdlIHZpc2liaWxpdHkiLFAudChudWxsLHZvaWQgMCxpKDM2Nzg2MCkpKSxwaT1uZXcgTi5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgaW5kaWNhdG9yIHRpdGxlcyB2aXNpYmlsaXR5IixQLnQobnVsbCx2b2lkIDAsaSgzMjA0MjYpKSksX2k9bmV3IE4uVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGluZGljYXRvciBpbnB1dHMgdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoMzM1MzMpKSksZ2k9bmV3IE4uVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGluZGljYXRvciB2YWx1ZXMgdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoMjE1MDI3KSkpLG1pPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSB2b2x1bWUgdmFsdWVzIHZpc2liaWxpdHkiLFAudChudWxsLHZvaWQgMCxpKDUyMTY0KSkpLGJpPShuZXcgTi5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2Ugc3ltYm9sIGZpZWxkIHZpc2liaWxpdHkiLFAudChudWxsLHZvaWQgMCxpKDY2ODE5MikpKSwKUC50KG51bGwsdm9pZCAwLGkoNjg3NjEpKSksdmk9UC50KG51bGwsdm9pZCAwLGkoMTY1MzQwKSksZmk9UC50KG51bGwsdm9pZCAwLGkoMjg4NTgwKSksU2k9UC50KG51bGwsdm9pZCAwLGkoNTI3MDIwKSkseWk9UC50KG51bGwsdm9pZCAwLGkoODk5NzkpKSx3aT1QLnQobnVsbCx2b2lkIDAsaSgyNDcwNjIpKSxDaT1QLnQobnVsbCx2b2lkIDAsaSg0NDMxOTIpKSxFaT1QLnQobnVsbCx2b2lkIDAsaSgyMDQ0ODgpKSx4aT1QLnQobnVsbCx2b2lkIDAsaSg5NzM5NzEpKSxMaT0oUC50KG51bGwsdm9pZCAwLGkoMjg4NzI1KSksKDAsb2kuYXBwZW5kRWxsaXBzaXMpKFAudChudWxsLHZvaWQgMCxpKDczMDU4NikpKSksTWk9KGUsdCk9PmU/ZS5kYXRhc2V0W3RdP2UuZGF0YXNldFt0XTplLnBhcmVudEVsZW1lbnQ/TWkoZS5wYXJlbnRFbGVtZW50LHQpOm51bGw6bnVsbDt2YXIgVGksVmk9aSg3OTQ5NSksa2k9aSg0NDE0NDApLEFpPWkoNjA0Mzg0KTshZnVuY3Rpb24oZSl7ZVtlLkxlZ2VuZD0wXT0iTGVnZW5kIixlW2UuSXRlbXM9MV09Ikl0ZW1zIn0oVGl8fChUaT17fSkpO3ZhciBXaT1pKDk3MDYzNSksSWk9aSg3ODM5NzgpLEJpPWkoNjQyNzgzKSxIaT1pKDM1MTE4MiksRGk9aSg4NjA1NDgpO2NvbnN0IFBpPVAudChudWxsLHZvaWQgMCxpKDkxOTEyMSkpLE5pPVAudChudWxsLHZvaWQgMCxpKDM2Mjk2KSksUmk9UC50KG51bGwsdm9pZCAwLGkoODc5NjYxKSksT2k9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLEJpXSxbIm1lZGl1bSIsSGldLFsibGFyZ2UiLEhpXV0pXSxbITEsbmV3IE1hcChbWyJzbWFsbCIsIiJdLFsibWVkaXVtIiwiIl0sWyJsYXJnZSIsIiJdXSldXSksRmk9bmV3IE1hcChbWyEwLERpLmhhc0Vycm9yXSxbITEsbnVsbF1dKSx6aT1uZXcgTWFwKFtbITAsUGldLFshMSxudWxsXV0pLGppPW5ldyBNYXAoW1shMCxQaV0sWyExLG51bGxdXSksVWk9bmV3IE1hcChbWyEwLCJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKSJdLFshMSxudWxsXV0pLEdpPW5ldyBNYXAoW1shMCxbTmldXSxbITEsbnVsbF1dKSxaaT1uZXcgTWFwKFtbITAsW1JpXV0sWyExLG51bGxdXSk7ZnVuY3Rpb24gSmkoZSl7c3dpdGNoKGUpe2Nhc2UgMDpyZXR1cm4gR2k7Y2FzZSAxOnJldHVybiBaaTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5rbm93biBDb21iaW5lZFN0YXR1c1dpZGdldFR5cGUiKX19dmFyIFlpPWkoOTg5ODcyKSxxaT1pKDkxMzg0Myk7Y29uc3QgJGk9UC50KG51bGwsdm9pZCAwLGkoMjQzNTQxKSksUWk9UC50KG51bGwsdm9pZCAwLGkoNzk1MzMwKSksS2k9UC50KG51bGwsdm9pZCAwLGkoMzYxMDUpKSxYaT1uZXcgTWFwKFtbITAsbmV3IE1hcChbWyJzbWFsbCIsWWldLFsibWVkaXVtIixxaV0sWyJsYXJnZSIscWldXSldLFshMSxuZXcgTWFwKFtbInNtYWxsIiwiIl0sWyJtZWRpdW0iLCIiXSxbImxhcmdlIiwiIl1dKV1dKSxlcz1uZXcgTWFwKFtbITAsRGkudXBkYXRlQXZhaWxhYmxlXSxbITEsbnVsbF1dKSx0cz1uZXcgTWFwKFtbITAsJGldLFshMSxudWxsXV0pLGlzPW5ldyBNYXAoW1shMCwkaV0sWyExLG51bGxdXSksc3M9bmV3IE1hcChbWyEwLCJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbCkiXSxbITEsbnVsbF1dKSxvcz1uZXcgTWFwKFtbITAsW1FpXV0sWyExLG51bGxdXSksbnM9bmV3IE1hcChbWyEwLFtLaV1dLFshMSxudWxsXV0pO2Z1bmN0aW9uIGFzKGUpe3N3aXRjaChlKXtjYXNlIDA6cmV0dXJuIG9zO2Nhc2UgMTpyZXR1cm4gbnM7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gQ29tYmluZWRTdGF0dXNXaWRnZXRUeXBlIil9fWNsYXNzIGxzIGV4dGVuZHMgSWkuU3RhdHVzZXNXaWRnZXRTdGF0ZUJhc2V7Y29uc3RydWN0b3IoZSx0KXtzdXBlcih0KSx0aGlzLl9kYXRhU291cmNlU3RhdHVzV2lkZ2V0cz1bXSx0aGlzLl9oYXNFcnJvclN0YXR1cz1udWxsLHRoaXMuX2hhc1VwZGF0ZVN0YXR1cz1udWxsLHRoaXMuX2hhc0Vycm9yVmlld01vZGVsPW51bGwsdGhpcy5faGFzVXBkYXRlVmlld01vZGVsPW51bGwsdGhpcy5fdXBkYXRlVmlzaWJpbGl0eT0oKT0+e2NvbnN0IGU9MD09PXRoaXMudmlzaWJsZU1vZGVscygpLnZhbHVlKCkubGVuZ3RoO3RoaXMuX3Zpc2liaWxpdHkuc2V0VmFsdWUoIWUpfSx0aGlzLl90eXBlPWV9ZGVzdHJveSgpe3RoaXMuX2hhc0Vycm9yVmlld01vZGVsPy5kZXN0cm95KCksdGhpcy5faGFzVXBkYXRlVmlld01vZGVsPy5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfWFkZFN0YXR1c1dpZGdldChlKXt0aGlzLl9kYXRhU291cmNlU3RhdHVzV2lkZ2V0cy5wdXNoKGUpLHRoaXMuX3JlY3JlYXRlSGFzRXJyb3JTdGF0dXMoKSx0aGlzLl9yZWNyZWF0ZUhhc1VwZGF0ZVN0YXR1cygpLHRoaXMuX2NyZWF0ZVN0YXR1c2VzV2lkZ2V0U3RhdGVzKCl9Y2xlYXIoKXt0aGlzLl9kYXRhU291cmNlU3RhdHVzV2lkZ2V0cz1bXSx0aGlzLl9oYXNFcnJvclN0YXR1cz8uZGVzdHJveSgpLHRoaXMuX2hhc0Vycm9yU3RhdHVzPW51bGwsdGhpcy5faGFzVXBkYXRlU3RhdHVzPy5kZXN0cm95KCksdGhpcy5faGFzVXBkYXRlU3RhdHVzPW51bGwsdGhpcy5fY2xlYXJTdGF0dXNWaWV3TW9kZWxzKCksdGhpcy5faGFzRXJyb3JWaWV3TW9kZWw/LmRlc3Ryb3koKSx0aGlzLl9oYXNFcnJvclZpZXdNb2RlbD1udWxsLHRoaXMuX2hhc1VwZGF0ZVZpZXdNb2RlbD8uZGVzdHJveSgpLHRoaXMuX2hhc1VwZGF0ZVZpZXdNb2RlbD1udWxsLHRoaXMuX3N0YXR1c1ZpZXdNb2RlbHNJbmZvc1dWLnNldFZhbHVlKFtdKX1hc3luYyBfY3JlYXRlU3RhdHVzZXNXaWRnZXRTdGF0ZXMoKXtjb25zdCBlPXRoaXMuX2hhc0Vycm9yU3RhdHVzO251bGwhPT1lJiYobnVsbD09PXRoaXMuX2hhc0Vycm9yVmlld01vZGVsPyh0aGlzLl9oYXNFcnJvclZpZXdNb2RlbD1uZXcgV2kuQm9vbGVhblN0YXR1c1ZpZXdNb2RlbChlLHtjbGFzc05hbWVNYXA6RmksaHRtbE1hcDpKaSh0aGlzLl90eXBlKSxpY29uTWFwOk9pLHNpemU6dGhpcy5fc2l6ZSx0aXRsZUNvbG9yTWFwOlVpLHRpdGxlTWFwOmppLHRvb2x0aXBNYXA6eml9KSwKdGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHt2aXNpYmxlOnRoaXMuX2hhc0Vycm9yVmlld01vZGVsLnZpc2libGUoKS5zcGF3bigpLG1vZGVsOnRoaXMuX2hhc0Vycm9yVmlld01vZGVsfSkpOnRoaXMuX2hhc0Vycm9yVmlld01vZGVsLnVwZGF0ZVN0YXR1cyhlKSk7Y29uc3QgdD10aGlzLl9oYXNVcGRhdGVTdGF0dXM7bnVsbCE9PXQmJihudWxsPT09dGhpcy5faGFzVXBkYXRlVmlld01vZGVsPyh0aGlzLl9oYXNVcGRhdGVWaWV3TW9kZWw9bmV3IFdpLkJvb2xlYW5TdGF0dXNWaWV3TW9kZWwodCx7Y2xhc3NOYW1lTWFwOmVzLGh0bWxNYXA6YXModGhpcy5fdHlwZSksaWNvbk1hcDpYaSxzaXplOnRoaXMuX3NpemUsdGl0bGVDb2xvck1hcDpzcyx0aXRsZU1hcDppcyx0b29sdGlwTWFwOnRzfSksdGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHt2aXNpYmxlOnRoaXMuX2hhc1VwZGF0ZVZpZXdNb2RlbC52aXNpYmxlKCkuc3Bhd24oKSxtb2RlbDp0aGlzLl9oYXNVcGRhdGVWaWV3TW9kZWx9KSk6dGhpcy5faGFzVXBkYXRlVmlld01vZGVsLnVwZGF0ZVN0YXR1cyh0KSl9X3JlY3JlYXRlSGFzRXJyb3JTdGF0dXMoKXt0aGlzLl9oYXNFcnJvclN0YXR1cz8uZGVzdHJveSgpO2NvbnN0IGU9KDAsZC5jb21iaW5lKSgoZT0+dGhpcy5fZGF0YVNvdXJjZVN0YXR1c1dpZGdldHMubWFwKChlPT5lLmRhdGFTb3VyY2VFcnJvclN0YXR1c1Nob3duLndlYWtSZWZlcmVuY2UoKSkpKSxuZXcgci5XYXRjaGVkVmFsdWUodGhpcy5fZGF0YVNvdXJjZVN0YXR1c1dpZGdldHMpLndlYWtSZWZlcmVuY2UoKSk7dGhpcy5faGFzRXJyb3JTdGF0dXM9KDAsZC5hY2N1bXVsYXRlKSgoZT0+ZS5zb21lKChlPT5lKSkpLGUub3duZXJzaGlwKCkpfV9yZWNyZWF0ZUhhc1VwZGF0ZVN0YXR1cygpe3RoaXMuX2hhc1VwZGF0ZVN0YXR1cz8uZGVzdHJveSgpO2NvbnN0IGU9KDAsZC5jb21iaW5lKSgoZT0+dGhpcy5fZGF0YVNvdXJjZVN0YXR1c1dpZGdldHMubWFwKChlPT5lLmRhdGFVcGRhdGVkTW9kZVNob3duLndlYWtSZWZlcmVuY2UoKSkpKSxuZXcgci5XYXRjaGVkVmFsdWUodGhpcy5fZGF0YVNvdXJjZVN0YXR1c1dpZGdldHMpLndlYWtSZWZlcmVuY2UoKSk7dGhpcy5faGFzVXBkYXRlU3RhdHVzPSgwLGQuYWNjdW11bGF0ZSkoKGU9PmUuc29tZSgoZT0+ZSkpKSxlLm93bmVyc2hpcCgpKX19dmFyIHJzPWkoOTMwNTY2KSxkcz1pKDY2NTE4NyksdXM9aSgyODI3MTApO2NvbnN0IGNzPXtyZWFkT25seU1vZGU6ITEsY29udGV4dE1lbnU6e3NldHRpbmdzOiEwLG1haW5TZXJpZXM6ITAsc3R1ZGllczohMCxzaG93T3Blbk1hcmtldFN0YXR1czohMX0sc3ltYm9sTWFya2VyRW5hYmxlZDohMSxzaG93VG9nZ2xlQnV0dG9uOiEwLGNhblNob3dTb3VyY2VDb2RlOiExLHN0YXR1c2VzV2lkZ2V0czp7c291cmNlU3RhdHVzZXNFbmFibGVkOiExLHNvdXJjZVN0YXR1c2VzOntlcnJvclNvbHV0aW9uOiEwfSxtYXJrZXRTdGF0dXNFbmFibGVkOiExLG1hcmtldFN0YXR1czp7cHJlTWFya2V0U29sdXRpb246ITAscG9zdE1hcmtldFNvbHV0aW9uOiEwfSxkYXRhVXBkYXRlTW9kZUVuYWJsZWQ6ITEsZGF0YVVwZGF0ZU1vZGU6e3N1YnNjcmlwdGlvbkZ1bGxJbmZvOiEwfSxkYXRhUHJvYmxlbUVuYWJsZWQ6ITF9fTt2YXIgaHM7IWZ1bmN0aW9uKGUpe2UuVG9nZ2xlclN0YXRlU2V0dGluZ3NLZXk9ImxlZ2VuZC5pc1Zpc2liaWxpdHlUb2dnbGVkIixlW2UuVGV4dFNvdXJjZUlzQWx3YXlzVGlja2VyTWF4U2l6ZT0xMzJdPSJUZXh0U291cmNlSXNBbHdheXNUaWNrZXJNYXhTaXplIn0oaHN8fChocz17fSkpO2NvbnN0IHBzPSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfbGVnZW5kX2J5X2RlZmF1bHQiKSxfcz0oMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJmdW5kYW1lbnRhbF93aWRnZXQiKSxncz0oMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJsZWdlbmRfY29udGV4dF9tZW51IiksbXM9cGFyc2VJbnQodXMuY3NzX3ZhbHVlX2NoYXJ0X2d1aV93cmFwcGVyX2NvbHVtbl9nYXApO2NsYXNzIGJze2NvbnN0cnVjdG9yKGUsdCxpLHMsbixsLGMsaCl7dGhpcy5fbWFpblNlcmllc1ZpZXdNb2RlbD1udWxsLHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzPVtdLHRoaXMuX3NvdXJjZXNJZHM9W10sdGhpcy5fdmlzaWJsZURhdGFTb3VyY2VDb3VudD1uZXcgci5XYXRjaGVkVmFsdWUoMCksdGhpcy5fdGhlbWVkQ29sb3I9bmV3IHIuV2F0Y2hlZFZhbHVlKCIiKSx0aGlzLl9tYWluU2VyaWVzUm93SGlkZGVuPW51bGwsdGhpcy5fZGF0YVNvdXJjZVJvd3NIaWRkZW49W10sdGhpcy5fY3VzdG9tV2lkZ2V0c1Zpc2liaWxpdGllcz1bXSx0aGlzLl9hbGxMZWdlbmRIaWRkZW49bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9zdHVkaWVzTGVnZW5kSGlkZGVuPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc2hvd0NvbGxhcHNlcldpdGhPbmVJbmRpY2F0b3I9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9kYXRhU291cmNlc0xvYWRpbmdTdGF0dXNlcz1uZXcgci5XYXRjaGVkVmFsdWUoW10pLHRoaXMuX2N1c3RvbVdpZGdldHNIZWlnaHRzPVtdLHRoaXMuX29uTGVnZW5kVmlzaWJpbGl0eVRvZ2dsZWQ9bnVsbCx0aGlzLl9hdmFpbGFibGVIZWlnaHQ9MCx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc0NvdW50PW5ldyByLldhdGNoZWRWYWx1ZSgwKSx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1RpdGxlPW5ldyByLldhdGNoZWRWYWx1ZSgiIiksdGhpcy5fbWFpblNlcmllc1N0YXR1c2VzV2lkZ2V0U3RhdGU9bnVsbCx0aGlzLl9kYXRhU291cmNlU3RhdHVzZXNXaWRnZXRTdGF0ZXM9W10sdGhpcy5fc3RhdHVzUHJvdmlkZXJzPW5ldyBNYXAsdGhpcy5fc2l6ZT1udWxsLHRoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNGYWN0b3JpZXNNYXA9bmV3IE1hcCx0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwPW5ldyBNYXAsdGhpcy5fbWFyZ2luPTAsdGhpcy5fbGF5b3V0Q2hhbmdlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9tb2RlbD1lLHRoaXMuX3BhbmVXaWRnZXQ9dCx0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKGNzKSxjKSwKdGhpcy5fY2FsbGJhY2tzPWgsdGhpcy5fbWFpblNlcmllc1ZpZXdNb2RlbHNPcHRpb25zPXtyZWFkT25seU1vZGU6dGhpcy5fb3B0aW9ucy5yZWFkT25seU1vZGUsc3ltYm9sTWFya2VyRW5hYmxlZDp0aGlzLl9vcHRpb25zLnN5bWJvbE1hcmtlckVuYWJsZWR9LHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzT3B0aW9ucz17Li4udGhpcy5fbWFpblNlcmllc1ZpZXdNb2RlbHNPcHRpb25zLGNhblNob3dTb3VyY2VDb2RlOnRoaXMuX29wdGlvbnMuY2FuU2hvd1NvdXJjZUNvZGV9LHRoaXMuX2JhY2tncm91bmRUaGVtZU5hbWU9aTtjb25zdCBwPXRoaXMuX3Nob3dMZWdlbmRDYWxjdWxhdGVkUHJvcGVydHkoKTtpZih0aGlzLl9pc0RhdGFTb3VyY2VzQ29sbGFwc2VkPW5ldyByLldhdGNoZWRWYWx1ZShwLnZhbHVlKCkpLHAuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5faXNEYXRhU291cmNlc0NvbGxhcHNlZC5zZXRWYWx1ZShwLnZhbHVlKCkpfSkpLHBzJiYhcnMuZ2V0Qm9vbCgibGVnZW5kLmlzVmlzaWJpbGl0eVRvZ2dsZWQiKSl7Y29uc3QgZT10aGlzLl9zaG93TGVnZW5kT3JpZ2luYWxQcm9wZXJ0eSgpO3RoaXMuX29uTGVnZW5kVmlzaWJpbGl0eVRvZ2dsZWQ9dGhpcy5fc2V0TGVnZW5kVmlzaWJpbGl0eVRvZ2dsZWQuYmluZCh0aGlzKSxlLnNldFZhbHVlKCExKSxlLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTGVnZW5kVmlzaWJpbGl0eVRvZ2dsZWQpfWNvbnN0IF89bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldEN1c3RvbVRleHRDb2xvclZhbHVlKCkpLGc9dGhpcy5fbW9kZWwubW9kZWwoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7Zy5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnRleHRDb2xvci5zdWJzY3JpYmUodGhpcywoKCk9PntfLnNldFZhbHVlKHRoaXMuX2dldEN1c3RvbVRleHRDb2xvclZhbHVlKCkpfSkpO2NvbnN0IG09Zy5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dCYWNrZ3JvdW5kLGI9bmV3IHIuV2F0Y2hlZFZhbHVlKG0udmFsdWUoKSk7bS5zdWJzY3JpYmUodGhpcywoKCk9PntiLnNldFZhbHVlKG0udmFsdWUoKSl9KSk7Y29uc3Qgdj1nLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZFRyYW5zcGFyZW5jeSxmPW5ldyByLldhdGNoZWRWYWx1ZSh2LnZhbHVlKCkpO3Yuc3Vic2NyaWJlKHRoaXMsKCgpPT57Zi5zZXRWYWx1ZSh2LnZhbHVlKCkpfSkpLHRoaXMuX2hpZGVOb3RNYWluU291cmNlcz1zLHRoaXMuX2hpZGVOb3RNYWluU291cmNlcy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTGVnZW5kVmlzaWJpbGl0aWVzLmJpbmQodGhpcykpLHRoaXMuX2hpZGVBbGxFeGNlcHRGaXJzdExpbmU9bix0aGlzLl9oaWRlQWxsRXhjZXB0Rmlyc3RMaW5lLnN1YnNjcmliZSh0aGlzLl91cGRhdGVDb2xsYXBzZWRTb3VyY2VzTW9kZS5iaW5kKHRoaXMpKSx0aGlzLl9oaWRlV2hvbGVMZWdlbmQ9bCx0aGlzLl9oaWRlV2hvbGVMZWdlbmQuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdGllcy5iaW5kKHRoaXMpKSx0aGlzLl9pc1BhbmVNYWluPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRJc1BhbmVNYWluVmFsdWUoKSksdGhpcy5fdXBkYXRlQ29sbGFwc2VkU291cmNlc01vZGVUaHJvdHRsZT0oMCxvLmRlZmF1bHQpKHRoaXMuX3VwZGF0ZUNvbGxhcHNlZFNvdXJjZXNNb2RlLmJpbmQodGhpcyksMTAwKSx0aGlzLl9pc1BhbmVNYWluLnN1YnNjcmliZSgoZT0+dGhpcy5fc2hvd0NvbGxhcHNlcldpdGhPbmVJbmRpY2F0b3Iuc2V0VmFsdWUoZSkpLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFN0YXRlPW5ldyBscygxLHRoaXMuX29wdGlvbnMuc3RhdHVzZXNXaWRnZXRzKSx0aGlzLl90b2dnbGVkU3RhdHVzZXNXaWRnZXRTdGF0ZT1uZXcgbHMoMCx0aGlzLl9vcHRpb25zLnN0YXR1c2VzV2lkZ2V0cyksdGhpcy5faGFzTG9hZGluZ0RhdGFTb3VyY2VzPSgwLGQuYWNjdW11bGF0ZSkoKChlLHQpPT57Y29uc3QgaT1lLnNvbWUoQm9vbGVhbik7cmV0dXJuW2ksISFpJiZlLmluY2x1ZGVzKCEwLC10KV19KSx0aGlzLl9kYXRhU291cmNlc0xvYWRpbmdTdGF0dXNlcy53ZWFrUmVmZXJlbmNlKCksdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNDb3VudC53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX3JlbmRlcmVyPW5ldyBCZSh7aXNNdWx0aXBsZUxheW91dDp0aGlzLl9tb2RlbC5pc011bHRpcGxlTGF5b3V0KCksd2l0aEFjdGlvbnM6IXRoaXMuX29wdGlvbnMucmVhZE9ubHlNb2RlLHNob3dUb2dnbGVCdXR0b246dGhpcy5fb3B0aW9ucy5zaG93VG9nZ2xlQnV0dG9uLGlzU3R1ZGllc0xlZ2VuZEhpZGRlbjp0aGlzLl9zdHVkaWVzTGVnZW5kSGlkZGVuLnJlYWRvbmx5KCksaXNBbGxMZWdlbmRIaWRkZW46dGhpcy5fYWxsTGVnZW5kSGlkZGVuLnJlYWRvbmx5KCksY3VzdG9tVGV4dENvbG9yOl8ucmVhZG9ubHkoKSx0aGVtZWRDb2xvcjp0aGlzLl90aGVtZWRDb2xvci5yZWFkb25seSgpLHNob3dCYWNrZ3JvdW5kOmIucmVhZG9ubHkoKSxiYWNrZ3JvdW5kVHJhbnNwYXJlbmN5OmYucmVhZG9ubHkoKSxjb2xsYXBzZWREYXRhU291cmNlc0NvdW50OnRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzQ291bnQucmVhZG9ubHkoKSxjb2xsYXBzZWREYXRhU291cmNlc1RpdGxlOnRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzVGl0bGUucmVhZG9ubHkoKSxjb21iaW5lZFN0YXR1c2VzV2lkZ2V0U3RhdGU6dGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZSxzaG93TGVnZW5kV2lkZ2V0Q29udGV4dE1lbnU6dGhpcy5vblNob3dMZWdlbmRXaWRnZXRDb250ZXh0TWVudS5iaW5kKHRoaXMpLGhpZGVBbGxFeGNlcHRGaXJzdExpbmU6dGhpcy5faGlkZUFsbEV4Y2VwdEZpcnN0TGluZSxvbkxlZ2VuZFJvd0ZvY3VzZWQ6dGhpcy5fY2FsbGJhY2tzLm9uTGVnZW5kUm93Rm9jdXNlZCxvbkxheW91dENoYW5nZWQ6dGhpcy5fbGF5b3V0Q2hhbmdlZCxoYXNMb2FkaW5nRGF0YVNvdXJjZXM6dGhpcy5faGFzTG9hZGluZ0RhdGFTb3VyY2VzfSx7CnNob3dDb2xsYXBzZXJXaXRoT25lSW5kaWNhdG9yOnRoaXMuX3Nob3dDb2xsYXBzZXJXaXRoT25lSW5kaWNhdG9yLnJlYWRvbmx5KCksdmlzaWJsZURhdGFTb3VyY2VDb3VudDp0aGlzLl92aXNpYmxlRGF0YVNvdXJjZUNvdW50LnJlYWRvbmx5KCksaXNEYXRhU291cmNlc0NvbGxhcHNlZDp0aGlzLl9pc0RhdGFTb3VyY2VzQ29sbGFwc2VkLnJlYWRvbmx5KCksaGFzTG9hZGluZ0RhdGFTb3VyY2VzOnRoaXMuX2hhc0xvYWRpbmdEYXRhU291cmNlcyxpc01haW5QYW5lOnRoaXMuX2lzUGFuZU1haW4ucmVhZG9ubHkoKSxvbkNvbGxhcHNlRGF0YVNvdXJjZXM6dGhpcy5vbkNvbGxhcHNlRGF0YVNvdXJjZXMuYmluZCh0aGlzKSxvblNob3dPYmplY3RzVHJlZURpYWxvZzp0aGlzLl9jYWxsYmFja3Muc2hvd09iamVjdHNUcmVlRGlhbG9nLGlzUGFuZUNvbGxhcHNlZDp0aGlzLl9wYW5lV2lkZ2V0LnZpc3VhbGx5Q29sbGFwc2VkKCksY29tYmluZWRTdGF0dXNlc1dpZGdldFN0YXRlOnRoaXMuX3RvZ2dsZWRTdGF0dXNlc1dpZGdldFN0YXRlfSl9ZGVzdHJveSgpe3RoaXMuX2hhc0xvYWRpbmdEYXRhU291cmNlcy5kZXN0cm95KCksdGhpcy5fYmFja2dyb3VuZFRoZW1lTmFtZS5yZWxlYXNlKCksdGhpcy5faGlkZU5vdE1haW5Tb3VyY2VzLnJlbGVhc2UoKSx0aGlzLl9oaWRlQWxsRXhjZXB0Rmlyc3RMaW5lLnJlbGVhc2UoKSx0aGlzLl9oaWRlV2hvbGVMZWdlbmQucmVsZWFzZSgpLHRoaXMuX3NvdXJjZXNJZHM9W10sbnVsbCE9PXRoaXMuX21haW5TZXJpZXNWaWV3TW9kZWwmJnRoaXMuX2Rlc3Ryb3lNYWluRGF0YVNvdXJjZSgpO2Zvcihjb25zdFssZV1vZiB0aGlzLl9zdGF0dXNQcm92aWRlcnMpZS5kZXN0cm95KCk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHMpZS5kZXN0cm95KCk7dGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHM9W10sdGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZS5kZXN0cm95KCksdGhpcy5fdG9nZ2xlZFN0YXR1c2VzV2lkZ2V0U3RhdGUuZGVzdHJveSgpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlcyllLmRlc3Ryb3koKTt0aGlzLl9kYXRhU291cmNlU3RhdHVzZXNXaWRnZXRTdGF0ZXM9W10sdGhpcy5fY2xlYXJTdWJzY3JpcHRpb25zKCk7Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbSh0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLmtleXMoKSkpdGhpcy5fZGVzdHJveUN1c3RvbVdpZGdldEZyb21MYXllckJsb2NrKGUpO3RoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNNYXAuY2xlYXIoKSx0aGlzLl9yZW5kZXJlci5kZXN0cm95KCksZGVsZXRlIHRoaXMuX3JlbmRlcmVyLHRoaXMuX3Nob3dMZWdlbmRDYWxjdWxhdGVkUHJvcGVydHkoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9zaG93TGVnZW5kT3JpZ2luYWxQcm9wZXJ0eSgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpO2NvbnN0IGU9dGhpcy5fbW9kZWwubW9kZWwoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7ZS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnRleHRDb2xvci51bnN1YnNjcmliZUFsbCh0aGlzKSxlLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0JhY2tncm91bmQudW5zdWJzY3JpYmVBbGwodGhpcyksZS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpLmJhY2tncm91bmRUcmFuc3BhcmVuY3kudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fZGF0YVNvdXJjZXNMb2FkaW5nU3RhdHVzZXMuc2V0VmFsdWUoW10pfWFkZEN1c3RvbVdpZGdldFRvTGVnZW5kKGUsdCl7Y29uc3QgaT10aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yaWVzTWFwLmdldCh0LmJsb2NrKXx8bmV3IE1hcCxzPWkuZ2V0KHQucG9zaXRpb24pfHxbXTtzLnB1c2goZSksaS5zZXQodC5wb3NpdGlvbixzKSx0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yaWVzTWFwLnNldCh0LmJsb2NrLGkpLHRoaXMudXBkYXRlTGF5b3V0KCksdGhpcy5fdXBkYXRlQ3VzdG9tV2lkZ2V0TW9kZUJ5U2l6ZSgpfW9uU2hvd0xlZ2VuZFdpZGdldENvbnRleHRNZW51KGUsdCl7aWYodGhpcy5fb3B0aW9ucy5yZWFkT25seU1vZGV8fCFncylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7TygiU2hvdyBsZWdlbmQgY29udGV4dCBtZW51Iik7Y29uc3QgaT1uZXcgTWFwO2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20odGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c01hcC5rZXlzKCkpKXtjb25zdCB0PSgwLG4uZW5zdXJlRGVmaW5lZCkodGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c01hcC5nZXQoZSkpLHM9bmV3IE1hcDtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHQua2V5cygpKSl7Y29uc3QgaT0oMCxuLmVuc3VyZURlZmluZWQpKHQuZ2V0KGUpKSxvPXMuZ2V0KGUpfHxbXTtmb3IoY29uc3QgZSBvZiBpKW8ucHVzaCguLi5lLmNvbnRleHRNZW51QWN0aW9ucygpKTtzLnNldChlLG8pfWkuc2V0KGUscyl9cmV0dXJuIGZ1bmN0aW9uKGUsdCxpLHMsbyxuKXtjb25zdCBhPVtdLGw9cy5nZXQoMCk7aWYodm9pZCAwIT09bCl7Y29uc3QgZT1sLmdldCgxKTt2b2lkIDAhPT1lJiZlLmxlbmd0aD4wJiYoYS5wdXNoKC4uLmUpLGEucHVzaChuZXcgSmUuU2VwYXJhdG9yKSl9Y29uc3Qgcj1lLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCk7YS5wdXNoKG5ldyBKZS5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5MZWdlbmQuVG9nZ2xlU3ltYm9sVmlzaWJpbGl0eSIsb3B0aW9uczp7Y2hlY2thYmxlOiEwLGNoZWNrZWQ6ci5zaG93U2VyaWVzVGl0bGUudmFsdWUoKSxsYWJlbDpiaSxzdGF0TmFtZToiU2hvdy9IaWRlIFN5bWJvbCIsb25FeGVjdXRlOigpPT5saShlLHIuc2hvd1Nlcmllc1RpdGxlLHJpKX19KSksdC5zaG93T3Blbk1hcmtldFN0YXR1cyYmIm1hcmtldCI9PT1lLm1haW5TZXJpZXMoKS5tYXJrZXRTdGF0dXNNb2RlbCgpLnN0YXR1cygpLnZhbHVlKCkmJiEoMCwKaWkuaXNFY29ub21pY1N5bWJvbCkoZS5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpKSYmYS5wdXNoKG5ldyBKZS5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5MZWdlbmQuVG9nZ2xlT3Blbk1hcmtldFN0YXR1c1Zpc2liaWxpdHkiLG9wdGlvbnM6e2NoZWNrYWJsZTohMCxjaGVja2VkOnNpLnNob3dNYXJrZXRPcGVuU3RhdHVzUHJvcGVydHkudmFsdWUoKSxsYWJlbDp2aSxzdGF0TmFtZToiU2hvdy9IaWRlIE9wZW4gbWFya2V0IHN0YXR1cyIsb25FeGVjdXRlOigpPT5saShlLHNpLnNob3dNYXJrZXRPcGVuU3RhdHVzUHJvcGVydHksZGkpfX0pKSxhLnB1c2gobmV3IEplLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkxlZ2VuZC5Ub2dnbGVPaGxjVmFsdWVzVmlzaWJpbGl0eSIsb3B0aW9uczp7Y2hlY2thYmxlOiEwLGNoZWNrZWQ6ci5zaG93U2VyaWVzT0hMQy52YWx1ZSgpLGxhYmVsOmZpLHN0YXROYW1lOiJTaG93L0hpZGUgY2hhcnQgdmFsdWVzIixvbkV4ZWN1dGU6KCk9PmxpKGUsci5zaG93U2VyaWVzT0hMQyx1aSl9fSkpO2NvbnN0IGQ9ZS5tYWluU2VyaWVzKCkuc3R5bGUoKSx1PTEyIT09ZCYmMjAhPT1kO2lmKHUmJiFuaS5hbHdheXNTaG93TGFzdFByaWNlQW5kTGFzdERheUNoYW5nZSYmYS5wdXNoKG5ldyBKZS5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5MZWdlbmQuVG9nZ2xlQmFyQ2hhbmdlVmFsdWVzVmlzaWJpbGl0eSIsb3B0aW9uczp7Y2hlY2thYmxlOiEwLGNoZWNrZWQ6ci5zaG93QmFyQ2hhbmdlLnZhbHVlKCksbGFiZWw6eWksc3RhdE5hbWU6IlNob3cvSGlkZSBCYXIgQ2hhbmdlIFZhbHVlcyIsb25FeGVjdXRlOigpPT5saShlLHIuc2hvd0JhckNoYW5nZSxoaSl9fSkpLGEucHVzaChuZXcgSmUuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuTGVnZW5kLlRvZ2dsZVZvbHVtZVZpc2liaWxpdHkiLG9wdGlvbnM6e2NoZWNrYWJsZTohMCxjaGVja2VkOnIuc2hvd1ZvbHVtZS52YWx1ZSgpLGxhYmVsOndpLHN0YXROYW1lOiJTaG93L0hpZGUgVm9sdW1lIixvbkV4ZWN1dGU6KCk9PmxpKGUsci5zaG93Vm9sdW1lLG1pKX19KSksdSYmKG5pLmxhc3REYXlDaGFuZ2VBdmFpbGFibGV8fG5pLmFsd2F5c1Nob3dMYXN0UHJpY2VBbmRMYXN0RGF5Q2hhbmdlKSl7Y29uc3QgdD1uaS5hbHdheXNTaG93TGFzdFByaWNlQW5kTGFzdERheUNoYW5nZT9yLnNob3dCYXJDaGFuZ2U6ci5zaG93TGFzdERheUNoYW5nZTthLnB1c2gobmV3IEplLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkxlZ2VuZC5Ub2dnbGVMYXN0RGF5Q2hhbmdlVmFsdWVzVmlzaWJpbGl0eSIsb3B0aW9uczp7Y2hlY2thYmxlOiEwLGNoZWNrZWQ6dC52YWx1ZSgpLGxhYmVsOlNpLHN0YXROYW1lOiJTaG93L0hpZGUgTGFzdCBkYXkgY2hhbmdlIHZhbHVlcyIsb25FeGVjdXRlOigpPT5saShlLHQsY2kpfX0pKX1pZihhLnB1c2gobmV3IEplLlNlcGFyYXRvciksdm9pZCAwIT09bCl7Y29uc3QgZT1sLmdldCgwKTt2b2lkIDAhPT1lJiZlLmxlbmd0aD4wJiYoYS5wdXNoKC4uLmUpLGEucHVzaChuZXcgSmUuU2VwYXJhdG9yKSl9Y29uc3QgYz1zLmdldCgxKTtpZih2b2lkIDAhPT1jKXtjb25zdCBlPWMuZ2V0KDEpO3ZvaWQgMCE9PWUmJmUubGVuZ3RoPjAmJihhLnB1c2goLi4uZSksYS5wdXNoKG5ldyBKZS5TZXBhcmF0b3IpKX1pZihlLm1vZGVsKCkucHJpY2VEYXRhU291cmNlcygpLnNvbWUoKGU9PiEoMCxrdC5pc1N5bWJvbFNvdXJjZSkoZSkmJmUuc2hvd0luT2JqZWN0VHJlZSgpKSkmJihhLnB1c2gobmV3IEplLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkxlZ2VuZC5Ub2dnbGVJbmRpY2F0b3JUaXRsZXNWaXNpYmlsaXR5IixvcHRpb25zOntjaGVja2FibGU6ITAsY2hlY2tlZDpyLnNob3dTdHVkeVRpdGxlcy52YWx1ZSgpLGxhYmVsOkNpLHN0YXROYW1lOiJTaG93L0hpZGUgSW5kaWNhdG9yIFRpdGxlcyIsb25FeGVjdXRlOigpPT5saShlLHIuc2hvd1N0dWR5VGl0bGVzLHBpKX19KSksYS5wdXNoKG5ldyBKZS5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5MZWdlbmQuVG9nZ2xlSW5kaWNhdG9yQXJndW1lbnRzVmlzaWJpbGl0eSIsb3B0aW9uczp7Y2hlY2thYmxlOiEwLGNoZWNrZWQ6ci5zaG93U3R1ZHlBcmd1bWVudHMudmFsdWUoKSxsYWJlbDpFaSxzdGF0TmFtZToiU2hvdy9IaWRlIEluZGljYXRvciBBcmd1bWVudHMiLG9uRXhlY3V0ZTooKT0+bGkoZSxyLnNob3dTdHVkeUFyZ3VtZW50cyxfaSl9fSkpLGEucHVzaChuZXcgSmUuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuTGVnZW5kLlRvZ2dsZUluZGljYXRvclZhbHVlc1Zpc2liaWxpdHkiLG9wdGlvbnM6e2NoZWNrYWJsZTohMCxjaGVja2VkOnIuc2hvd1N0dWR5VmFsdWVzLnZhbHVlKCksbGFiZWw6eGksc3RhdE5hbWU6IlNob3cvSGlkZSBJbmRpY2F0b3IgVmFsdWVzIixvbkV4ZWN1dGU6KCk9PmxpKGUsci5zaG93U3R1ZHlWYWx1ZXMsZ2kpfX0pKSksdm9pZCAwIT09Yyl7Y29uc3QgZT1jLmdldCgwKTt2b2lkIDAhPT1lJiZlLmxlbmd0aD4wJiYoYS5wdXNoKC4uLmUpLGEucHVzaChuZXcgSmUuU2VwYXJhdG9yKSl9dC5zZXR0aW5ncyYmKGFbYS5sZW5ndGgtMV1pbnN0YW5jZW9mIEplLlNlcGFyYXRvcnx8YS5wdXNoKG5ldyBKZS5TZXBhcmF0b3IpLGEucHVzaChuZXcgYWkuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LkRpYWxvZ3MuU2hvd0dlbmVyYWxTZXR0aW5ncy5MZWdlbmRUYWIiLG9wdGlvbnM6e2xhYmVsOkxpLGljb25JZDoiU2V0dGluZ3MiLHN0YXROYW1lOiJTZXR0aW5ncy4uLiIsb25FeGVjdXRlOigpPT5pKGF0LlRhYk5hbWVzLmxlZ2VuZCl9fSkpKTtjb25zdCBoPU1pKG8udGFyZ2V0LCJlbnRpdHlJZCIpLHA9e21lbnVOYW1lOiJMZWdlbmRQcm9wZXJ0aWVzQ29udGV4dE1lbnUiLGRldGFpbDp7dHlwZTpoPyJzdHVkeSI6InNlcmllcyIsaWQ6aD8/Il9zZXJpZXNJZCJ9fTtyZXR1cm4gWWUuQ29udGV4dE1lbnVNYW5hZ2VyLnNob3dNZW51KGEsbyx7c3RhdE5hbWU6IkxlZ2VuZENvbnRleHRNZW51In0scCxuKX0odGhpcy5fbW9kZWwsdGhpcy5fb3B0aW9ucy5jb250ZXh0TWVudSx0aGlzLl9jYWxsYmFja3Muc2hvd0dlbmVyYWxDaGFydFByb3BlcnRpZXMsaSxlLHQpfQpvbkNvbGxhcHNlRGF0YVNvdXJjZXMoKXtjb25zdCBlPXRoaXMuX3Nob3dMZWdlbmRPcmlnaW5hbFByb3BlcnR5KCk7ZS5zZXRWYWx1ZSghZS52YWx1ZSgpKX11cGRhdGVMYXlvdXQoKXtpZighdGhpcy5fcGFuZVdpZGdldC5oYXNTdGF0ZSgpKXJldHVybjtjb25zdCBlPXRoaXMuX3BhbmVXaWRnZXQuc3RhdGUoKS5zb3VyY2VzQnlHcm91cCgpLmxlZ2VuZFZpZXdTb3VyY2VzKCkuZmlsdGVyKChlPT5udWxsIT09ZS5zdGF0dXNWaWV3KCkmJmUuaXNEaXNwbGF5ZWRJbkxlZ2VuZCgpKSkucmV2ZXJzZSgpLHQ9dGhpcy5fc291cmNlc0lkcyxpPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSxzPWUuaW5kZXhPZihpKTtsZXQgbztpZigtMSE9PXMpe2lmKGUuc3BsaWNlKHMsMSksIV9zJiZudWxsPT09dGhpcy5fbWFpblNlcmllc1ZpZXdNb2RlbCl7Y29uc3QgZT1uZXcgeHQodGhpcy5fbW9kZWwsaSx0aGlzLl9tYWluU2VyaWVzVmlld01vZGVsc09wdGlvbnMsdGhpcy5fY2FsbGJhY2tzLHRoaXMuX29wdGlvbnMuY29udGV4dE1lbnUpO3RoaXMuX21haW5TZXJpZXNWaWV3TW9kZWw9ZTtjb25zdCB0PW5ldyBWaS5NYWluRGF0YVNvdXJjZVN0YXR1c2VzV2lkZ2V0U3RhdGUodGhpcy5fc3RhdHVzU291cmNlQWRhcHRlcihpKSx0aGlzLl9tb2RlbCx0aGlzLl9vcHRpb25zLnN0YXR1c2VzV2lkZ2V0cyk7dGhpcy5fbWFpblNlcmllc1N0YXR1c2VzV2lkZ2V0U3RhdGU9dCxvPXttb2RlbDplLHN0YXR1c2VzV2lkZ2V0U3RhdGU6dH19fWVsc2UgbnVsbCE9PXRoaXMuX21haW5TZXJpZXNWaWV3TW9kZWwmJihvPW51bGwsdGhpcy5fZGVzdHJveU1haW5EYXRhU291cmNlKCksdGhpcy5fZGVzdHJveUN1c3RvbVdpZGdldEZyb21MYXllckJsb2NrKDApKTtjb25zdCBhPWUubWFwKChlPT5lLmluc3RhbmNlSWQoKSkpO3RoaXMuX3NvdXJjZXNJZHM9YTtjb25zdCBsPVtdLHI9bmV3IE1hcCxkPVtdLHU9W10sYz10aGlzLl9kYXRhU291cmNlVmlld01vZGVscyxoPXRoaXMuX2RhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlcztsZXQgcD10Lmxlbmd0aC0xO2Zvcig7cD49MDspe2NvbnN0IGU9dFtwXSxpPWEuaW5kZXhPZihlKTtpZigtMT09PWkpe2wucHVzaChwKSxjW3BdLmRlc3Ryb3koKSxoW3BdLmRlc3Ryb3koKTtjb25zdCB0PXRoaXMuX3N0YXR1c1Byb3ZpZGVycy5nZXQoZSk7dCYmKHQuZGVzdHJveSgpLHRoaXMuX3N0YXR1c1Byb3ZpZGVycy5kZWxldGUoZSkpfWVsc2UgcCE9PWkmJihyLnNldChlLHttb2RlbDpjW3BdLHN0YXR1c2VzV2lkZ2V0U3RhdGU6aFtwXX0pLGQucHVzaCh7b2xkSW5kZXg6cCxuZXdJbmRleDppfSkpO3AtLX1jb25zdCBfPVtdLGc9W107Zm9yKGxldCBpPTA7aTxhLmxlbmd0aDtpKyspe2NvbnN0IHM9YVtpXTtsZXQgbyxsO2lmKHIuaGFzKHMpKXtjb25zdCBlPSgwLG4uZW5zdXJlRGVmaW5lZCkoci5nZXQocykpO289ZS5tb2RlbCxsPWUuc3RhdHVzZXNXaWRnZXRTdGF0ZX1lbHNlIGlmKHRbaV09PT1zKW89Y1tpXSxsPWhbaV07ZWxzZXtjb25zdCB0PWVbaV07bz1uZXcgdGkodGhpcy5fbW9kZWwsdCx0aGlzLl9kYXRhU291cmNlVmlld01vZGVsc09wdGlvbnMsdGhpcy5fY2FsbGJhY2tzLHRoaXMuX29wdGlvbnMuY29udGV4dE1lbnUpLGw9bmV3IGtpLkRhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlKHRoaXMuX3N0YXR1c1NvdXJjZUFkYXB0ZXIodCksdGhpcy5fbW9kZWwsdGhpcy5fb3B0aW9ucy5zdGF0dXNlc1dpZGdldHMpLHUucHVzaCh7bW9kZWw6byxzdGF0dXNlc1dpZGdldFN0YXRlOmwsaW5kZXg6aX0pfV8ucHVzaChvKSxnLnB1c2gobCl9dGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHM9Xyx0aGlzLl9kYXRhU291cmNlU3RhdHVzZXNXaWRnZXRTdGF0ZXM9ZywwPT09dGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHMubGVuZ3RoJiZ0aGlzLl9kZXN0cm95Q3VzdG9tV2lkZ2V0RnJvbUxheWVyQmxvY2soMSksdGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHMubGVuZ3RoJiZ0aGlzLl9yZWNhbGN1bGF0ZUxvYWRpbmdEYXRhU291cmNlcygpLHRoaXMuX3JlY3JlYXRlU3Vic2NyaXB0aW9ucygpLHRoaXMuX2lzUGFuZU1haW4uc2V0VmFsdWUodGhpcy5fZ2V0SXNQYW5lTWFpblZhbHVlKCkpLHRoaXMudXBkYXRlKCk7Y29uc3QgbT1sLmxlbmd0aHx8dS5sZW5ndGh8fGQubGVuZ3RoO2lmKCh2b2lkIDAhPT1vfHxtKSYmdGhpcy5fbGF5b3V0Q2hhbmdlZC5maXJlKHtuZXdNYWluU291cmNlOm8scmVtb3ZlZERhdGFTb3VyY2VzOmwsYWRkZWREYXRhU291cmNlczp1LG1vdmVkRGF0YVNvdXJjZXM6ZH0pLC0xIT09cyYmdGhpcy5fYWRkQ3VzdG9tV2lkZ2V0Rm9yTGF5ZXJCbG9jaygwKSx0aGlzLl9kYXRhU291cmNlVmlld01vZGVscy5sZW5ndGg+MCYmdGhpcy5fYWRkQ3VzdG9tV2lkZ2V0Rm9yTGF5ZXJCbG9jaygxKSx0aGlzLl91cGRhdGVXaWRnZXRNb2RlQnlTaXplKCksbSl7dGhpcy5fdXBkYXRlQ29sbGFwc2VkU291cmNlc01vZGUoKSx0aGlzLl90b2dnbGVkU3RhdHVzZXNXaWRnZXRTdGF0ZS5jbGVhcigpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlcyl0aGlzLl90b2dnbGVkU3RhdHVzZXNXaWRnZXRTdGF0ZS5hZGRTdGF0dXNXaWRnZXQoZSl9fXVwZGF0ZSgpe251bGwhPT10aGlzLl9tYWluU2VyaWVzVmlld01vZGVsJiZ0aGlzLl9tYWluU2VyaWVzVmlld01vZGVsLnVwZGF0ZSgpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzKWUudXBkYXRlKCl9dXBkYXRlVGhlbWVkQ29sb3JzKGUpe251bGw9PT1lJiYoZT0oMCxkcy5nZXRTdGRUaGVtZWRWYWx1ZSkoImNoYXJ0UHJvcGVydGllcy5wYW5lUHJvcGVydGllcy5iYWNrZ3JvdW5kIix0aGlzLl9iYWNrZ3JvdW5kVGhlbWVOYW1lLnZhbHVlKCkpKSx0aGlzLl90aGVtZWRDb2xvci5zZXRWYWx1ZShlfHwiIil9Zmlyc3RUaXRsZSgpe3JldHVybiB0aGlzLl9yZW5kZXJlci5maXJzdFRpdGxlKCl9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9yZW5kZXJlci5nZXRFbGVtZW50KCl9YWRkTWFyZ2luKGUpe2lmKHRoaXMuX21hcmdpbj09PWUpcmV0dXJuO3RoaXMuX21hcmdpbj1lCjt0aGlzLl9yZW5kZXJlci5nZXRFbGVtZW50KCkuc3R5bGUubWF4V2lkdGg9MD09PXRoaXMuX21hcmdpbj8iIjpgY2FsYygxMDAlIC0gJHt0aGlzLl9tYXJnaW4rbXN9cHgpYCx0aGlzLl91cGRhdGVXaWRnZXRNb2RlQnlTaXplKCl9dXBkYXRlV2lkZ2V0TW9kZUJ5U2l6ZShlKXt0aGlzLl9zaXplPWUsdGhpcy5fdXBkYXRlV2lkZ2V0TW9kZUJ5U2l6ZSgpfV9zdGF0dXNTb3VyY2VBZGFwdGVyKGUpe2NvbnN0IHQ9ZS5pbnN0YW5jZUlkKCk7bGV0IGk9dGhpcy5fc3RhdHVzUHJvdmlkZXJzLmdldCh0KTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9ZSE9PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKT9uZXcgQWkuQ2hhcnRNb2RlbFN0YXR1c1NvdXJjZUFkYXB0ZXIoZSx0aGlzLl9tb2RlbC5tb2RlbCgpKTpuZXcgQWkuQ2hhcnRNb2RlbE1haW5TZXJpZXNTdGF0dXNTb3VyY2VBZGFwdGVyKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSx0aGlzLl9tb2RlbC5tb2RlbCgpKSx0aGlzLl9zdGF0dXNQcm92aWRlcnMuc2V0KHQsaSkpLGl9X3VwZGF0ZVdpZGdldE1vZGVCeVNpemUoKXt0aGlzLl91cGRhdGVXaWRnZXRNb2RlQnlXaWR0aCgpLHRoaXMuX3VwZGF0ZVdpZGdldE1vZGVCeUhlaWdodCgpLHRoaXMuX3VwZGF0ZUN1c3RvbVdpZGdldE1vZGVCeVNpemUoKX1fdXBkYXRlV2lkZ2V0TW9kZUJ5V2lkdGgoKXtpZihudWxsPT09dGhpcy5fc2l6ZSlyZXR1cm47Y29uc3QgZT10aGlzLl9hdmFpbGFibGVXaWR0aCgpO3RoaXMuX3JlbmRlcmVyLnVwZGF0ZU1vZGUoZSksdGhpcy5fcGFuZVdpZGdldC5oYXNTdGF0ZSgpJiZ0aGlzLl9wYW5lV2lkZ2V0LnN0YXRlKCkuY29udGFpbnNNYWluU2VyaWVzKCkmJnRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zZXRUZXh0U291cmNlSXNBbHdheXNUaWNrZXJSZXN0cmljdGlvbkVuYWJsZWQoZTw9MTMyKX1fdXBkYXRlV2lkZ2V0TW9kZUJ5SGVpZ2h0KCl7bnVsbCE9PXRoaXMuX3NpemUmJih0aGlzLl9hdmFpbGFibGVIZWlnaHQ9LjgqdGhpcy5fc2l6ZS5oZWlnaHQsdGhpcy5fdXBkYXRlQ29sbGFwc2VkU291cmNlc01vZGVUaHJvdHRsZSgpKX1fdXBkYXRlQ3VzdG9tV2lkZ2V0TW9kZUJ5U2l6ZSgpe2lmKG51bGw9PT10aGlzLl9zaXplKXJldHVybjtjb25zdCBlPSgwLHMuc2l6ZSkoe3dpZHRoOnRoaXMuX2F2YWlsYWJsZVdpZHRoKCksaGVpZ2h0OnRoaXMuX3NpemUuaGVpZ2h0fSk7Zm9yKGNvbnN0IHQgb2YgQXJyYXkuZnJvbSh0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLnZhbHVlcygpKSlmb3IoY29uc3QgaSBvZiBBcnJheS5mcm9tKHQudmFsdWVzKCkpKWZvcihjb25zdCB0IG9mIGkpdC51cGRhdGVXaWRnZXRNb2RlQnlTaXplKGUpfV9kZXN0cm95TWFpbkRhdGFTb3VyY2UoKXsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX21haW5TZXJpZXNTdGF0dXNlc1dpZGdldFN0YXRlKS5kZXN0cm95KCksdGhpcy5fbWFpblNlcmllc1N0YXR1c2VzV2lkZ2V0U3RhdGU9bnVsbDsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX21haW5TZXJpZXNWaWV3TW9kZWwpLmRlc3Ryb3koKSx0aGlzLl9tYWluU2VyaWVzVmlld01vZGVsPW51bGx9X3VwZGF0ZUNvbGxhcHNlZFNvdXJjZXNNb2RlKCl7Y29uc3QgZT10aGlzLl9kYXRhU291cmNlVmlld01vZGVscy5sZW5ndGgsdD10aGlzLl9oaWRlQWxsRXhjZXB0Rmlyc3RMaW5lLnZhbHVlKCksaT1udWxsIT09dGhpcy5fbWFpblNlcmllc1ZpZXdNb2RlbDtpZih0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFN0YXRlLmNsZWFyKCksdGhpcy5fYXZhaWxhYmxlSGVpZ2h0PjAmJmU+Mil7Y29uc3Qgcz1OdW1iZXIodGhpcy5fcmVuZGVyZXIuZ2V0TWFpblNvdXJjZUhlaWdodCgpKSxvPXRoaXMuX3JlbmRlcmVyLmdldERhdGFTb3VyY2VIZWlnaHQoKSxuPXRoaXMuX2dldEN1c3RvbVdpZGdldHNIZWlnaHQoKTtpZihudWxsIT09byl7Y29uc3QgYT1NYXRoLmZsb29yKCh0aGlzLl9hdmFpbGFibGVIZWlnaHQtcy1uKS9vKSxsPU1hdGgubWF4KGEsMiktMTtpZihlPmwrMSl7bGV0IHM9IiI7Zm9yKGxldCBvPTA7bzxlO28rKyl7Y29uc3QgZT1vPGw7dGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHNbb10uc2V0R2xvYmFsVmlzaWJpbGl0eShlJiYoIXR8fDA9PT1vJiYhaSkpLGV8fChzKz1gJHswPT09cy5sZW5ndGg/IiI6IiwgIn0ke3RoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzW29dLmdldEZ1bGxUaXRsZSgpfWAsdGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZS5hZGRTdGF0dXNXaWRnZXQodGhpcy5fZGF0YVNvdXJjZVN0YXR1c2VzV2lkZ2V0U3RhdGVzW29dKSl9cmV0dXJuIHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzVGl0bGUuc2V0VmFsdWUocyksdm9pZCB0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc0NvdW50LnNldFZhbHVlKGUtbCl9fX1mb3IobGV0IGU9MDtlPHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzLmxlbmd0aDsrK2UpdGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHNbZV0uc2V0R2xvYmFsVmlzaWJpbGl0eSghdHx8MD09PWUmJiFpKTt0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc0NvdW50LnNldFZhbHVlKDApLHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzVGl0bGUuc2V0VmFsdWUoIiIpfV9nZXRDdXN0b21XaWRnZXRzSGVpZ2h0KCl7bGV0IGU9MDtmb3IoY29uc3QgdCBvZiBBcnJheS5mcm9tKHRoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNNYXAudmFsdWVzKCkpKWZvcihjb25zdCBpIG9mIEFycmF5LmZyb20odC52YWx1ZXMoKSkpZm9yKGNvbnN0IHQgb2YgaSllKz10LmhlaWdodCgpLnZhbHVlKCk7cmV0dXJuIGV9X2dldEN1c3RvbVRleHRDb2xvclZhbHVlKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnRleHRDb2xvci52YWx1ZSgpO2Zvcihjb25zdCB0IG9mKDAsZHMuZ2V0U3RkVGhlbWVOYW1lcykoKSlpZigoMCxkcy5pc1N0ZFRoZW1lZERlZmF1bHRWYWx1ZSkoImNoYXJ0UHJvcGVydGllcy5zY2FsZXNQcm9wZXJ0aWVzLnRleHRDb2xvciIsZSx0KSlyZXR1cm4gbnVsbDtyZXR1cm4gZX1fY2xlYXJTdWJzY3JpcHRpb25zKCl7Cm51bGwhPT10aGlzLl9tYWluU2VyaWVzUm93SGlkZGVuJiYodGhpcy5fbWFpblNlcmllc1Jvd0hpZGRlbi5kZXN0cm95KCksdGhpcy5fbWFpblNlcmllc1Jvd0hpZGRlbj1udWxsKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9kYXRhU291cmNlUm93c0hpZGRlbillLmRlc3Ryb3koKTt0aGlzLl9kYXRhU291cmNlUm93c0hpZGRlbj1bXTtmb3IoY29uc3QgZSBvZiB0aGlzLl9jdXN0b21XaWRnZXRzVmlzaWJpbGl0aWVzKWUuZGVzdHJveSgpO3RoaXMuX2N1c3RvbVdpZGdldHNWaXNpYmlsaXRpZXM9W107Zm9yKGNvbnN0IGUgb2YgdGhpcy5fY3VzdG9tV2lkZ2V0c0hlaWdodHMpZS5kZXN0cm95KCk7dGhpcy5fY3VzdG9tV2lkZ2V0c0hlaWdodHM9W119X3JlY3JlYXRlU3Vic2NyaXB0aW9ucygpe3RoaXMuX2NsZWFyU3Vic2NyaXB0aW9ucygpLG51bGwhPT10aGlzLl9tYWluU2VyaWVzVmlld01vZGVsJiYodGhpcy5fbWFpblNlcmllc1Jvd0hpZGRlbj10aGlzLl9tYWluU2VyaWVzVmlld01vZGVsLmlzUm93SGlkZGVuKCkuc3Bhd24oKSx0aGlzLl9tYWluU2VyaWVzUm93SGlkZGVuLnN1YnNjcmliZSh0aGlzLl91cGRhdGVMZWdlbmRWaXNpYmlsaXRpZXMuYmluZCh0aGlzKSkpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzKXtjb25zdCB0PWUuaXNSb3dIaWRkZW4oKS5zcGF3bigpO3RoaXMuX2RhdGFTb3VyY2VSb3dzSGlkZGVuLnB1c2godCksdC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVmlzaWJsZURhdGFTb3VyY2VDb3VudC5iaW5kKHRoaXMpKSx0LnN1YnNjcmliZSh0aGlzLl91cGRhdGVMZWdlbmRWaXNpYmlsaXRpZXMuYmluZCh0aGlzKSl9Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbSh0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLnZhbHVlcygpKSlmb3IoY29uc3QgdCBvZiBBcnJheS5mcm9tKGUudmFsdWVzKCkpKWZvcihjb25zdCBlIG9mIHQpe2NvbnN0IHQ9ZS52aXNpYmlsaXR5KCkuc3Bhd24oKTt0aGlzLl9jdXN0b21XaWRnZXRzVmlzaWJpbGl0aWVzLnB1c2godCksdC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTGVnZW5kVmlzaWJpbGl0aWVzLmJpbmQodGhpcykpO2NvbnN0IGk9ZS5oZWlnaHQoKS5zcGF3bigpO3RoaXMuX2N1c3RvbVdpZGdldHNIZWlnaHRzLnB1c2goaSksaS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQ29sbGFwc2VkU291cmNlc01vZGUuYmluZCh0aGlzKSl9dGhpcy5fdXBkYXRlVmlzaWJsZURhdGFTb3VyY2VDb3VudCgpLHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdGllcygpfV9yZWNhbGN1bGF0ZUxvYWRpbmdEYXRhU291cmNlcygpe3RoaXMuX2RhdGFTb3VyY2VzTG9hZGluZ1N0YXR1c2VzLnNldFZhbHVlKHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzLm1hcCgoZT0+ZS5sb2FkaW5nKCkud2Vha1JlZmVyZW5jZSgpKSkpfV91cGRhdGVMZWdlbmRWaXNpYmlsaXRpZXMoKXtpZih0aGlzLl9oaWRlV2hvbGVMZWdlbmQudmFsdWUoKSlyZXR1cm4gdm9pZCB0aGlzLl9hbGxMZWdlbmRIaWRkZW4uc2V0VmFsdWUoITApO2NvbnN0IGU9MCE9PXRoaXMuX2RhdGFTb3VyY2VSb3dzSGlkZGVuLmxlbmd0aCYmdGhpcy5fZGF0YVNvdXJjZVJvd3NIaWRkZW4uZXZlcnkoKGU9PmUudmFsdWUoKSkpLHQ9dGhpcy5faGlkZU5vdE1haW5Tb3VyY2VzLnZhbHVlKCl8fGU7dGhpcy5fc3R1ZGllc0xlZ2VuZEhpZGRlbi5zZXRWYWx1ZSh0KTtjb25zdCBpPW51bGw9PT10aGlzLl9tYWluU2VyaWVzUm93SGlkZGVufHx0aGlzLl9tYWluU2VyaWVzUm93SGlkZGVuLnZhbHVlKCkscz10aGlzLl9jdXN0b21XaWRnZXRzVmlzaWJpbGl0aWVzLnNvbWUoKGU9PmUudmFsdWUoKSkpO3RoaXMuX2FsbExlZ2VuZEhpZGRlbi5zZXRWYWx1ZShlJiZpJiYhcyl9X3VwZGF0ZVZpc2libGVEYXRhU291cmNlQ291bnQoKXtjb25zdCBlPXRoaXMuX2RhdGFTb3VyY2VSb3dzSGlkZGVuLmZpbHRlcigoZT0+IWUudmFsdWUoKSkpLmxlbmd0aDt0aGlzLl92aXNpYmxlRGF0YVNvdXJjZUNvdW50LnNldFZhbHVlKGUpfV9zZXRMZWdlbmRWaXNpYmlsaXR5VG9nZ2xlZCgpe3JzLnNldFZhbHVlKCJsZWdlbmQuaXNWaXNpYmlsaXR5VG9nZ2xlZCIsITApO3RoaXMuX3Nob3dMZWdlbmRPcmlnaW5hbFByb3BlcnR5KCkudW5zdWJzY3JpYmUodGhpcywoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX29uTGVnZW5kVmlzaWJpbGl0eVRvZ2dsZWQpKX1fZ2V0SXNQYW5lTWFpblZhbHVlKCl7cmV0dXJuIHRoaXMuX3BhbmVXaWRnZXQuY29udGFpbnNNYWluU2VyaWVzKCl9X3Nob3dMZWdlbmRDYWxjdWxhdGVkUHJvcGVydHkoKXtyZXR1cm4gdGhpcy5fbW9kZWwubW9kZWwoKS5zaG93TGVnZW5kKCl9X3Nob3dMZWdlbmRPcmlnaW5hbFByb3BlcnR5KCl7cmV0dXJuIHRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0xlZ2VuZH1fYWRkQ3VzdG9tV2lkZ2V0Rm9yTGF5ZXJCbG9jayhlKXtjb25zdCB0PXRoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNGYWN0b3JpZXNNYXAuZ2V0KGUpO2lmKHZvaWQgMD09PXQpcmV0dXJuO2NvbnN0IGk9dGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c01hcC5nZXQoZSl8fG5ldyBNYXA7bGV0IHM9ITE7Zm9yKGNvbnN0IG8gb2YgQXJyYXkuZnJvbSh0LmtleXMoKSkpe2NvbnN0IG49aS5nZXQobyl8fFtdLGE9dC5nZXQobyl8fFtdO2ZvcihsZXQgdD1uLmxlbmd0aDt0PGEubGVuZ3RoO3QrKyl7Y29uc3QgaT1hW3RdKHRoaXMuX21vZGVsLm1vZGVsKCksdGhpcy5fYmFja2dyb3VuZFRoZW1lTmFtZS5zcGF3bk93bmVyc2hpcCgpLHRoaXMuX2hpZGVBbGxFeGNlcHRGaXJzdExpbmUud2Vha1JlZmVyZW5jZSgpKTtuLnB1c2goaSksdGhpcy5fcmVuZGVyZXIuYWRkQ3VzdG9tV2lkZ2V0KGkse2Jsb2NrOmUscG9zaXRpb246b30pLHM9ITB9cyYmaS5zZXQobyxuKX1zJiZ0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLnNldChlLGkpfV9kZXN0cm95Q3VzdG9tV2lkZ2V0RnJvbUxheWVyQmxvY2soZSl7Y29uc3QgdD10aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLmdldChlKQo7aWYodm9pZCAwIT09dCl7Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbSh0LnZhbHVlcygpKSlmb3IoY29uc3QgdCBvZiBlKXQuZGVzdHJveSgpO3QuY2xlYXIoKSx0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLmRlbGV0ZShlKX19X2F2YWlsYWJsZVdpZHRoKCl7cmV0dXJuIG51bGw9PT10aGlzLl9zaXplPzA6TWF0aC5tYXgoMCx0aGlzLl9zaXplLndpZHRoLXRoaXMuX21hcmdpbi1tcyl9fX0sMjk3NzA3KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1BhbmVDb250cm9sc1dpZGdldDooKT0+JH0pO3ZhciBzLG89aSgzODY5MzEpLG49aSgxODUyNzEpLGE9aSgyMzU3MjQpLGw9aSgyMzIzNjQpLHI9aSg5NTI5MDApLGQ9aSgyNTUwMzYpLHU9aSg5NTY0MzcpLGM9aSgxMzg2MzgpLGg9aSgxMzQ2NykscD1pKDk1NjM2OCksXz1pKDM2MzI2OSksZz1pKDgwMDIyNiksbT1pKDQyNjI3NCksYj1pKDc3MjAyOCk7IWZ1bmN0aW9uKGUpe2VbZS5Db250ZXh0TWVudU1vZGVXaWR0aFB0PTY2Ni42NV09IkNvbnRleHRNZW51TW9kZVdpZHRoUHQiLGVbZS5WaXNpYmxlTW9kZU1pbldpZHRoPTM1Nl09IlZpc2libGVNb2RlTWluV2lkdGgifShzfHwocz17fSkpO2NsYXNzIHZ7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX3BhcmVudEVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2xpc3RBY3Rpb25zV3JhcHBlckVsPW51bGwsdGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cz17fSx0aGlzLl9hY3Rpb25zU3Bhd25zPXt9LHRoaXMuX29uTW91c2VFbnRlckxlYXZlRXZlbnRIYW5kbGVyPW51bGwsdGhpcy5fbW91c2VPdmVyV2lkZ2V0PSExLHRoaXMuX3dyYXBFbD1lLHRoaXMuX29uTW91c2VFbnRlckxlYXZlRXZlbnRIYW5kbGVyPXRoaXMuX29uTW91c2VFbnRlckxlYXZlRXZlbnQuYmluZCh0aGlzKSx0aGlzLl93cmFwRWwuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdGhpcy5fb25Nb3VzZUVudGVyTGVhdmVFdmVudEhhbmRsZXIpLHRoaXMuX3dyYXBFbC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9vbk1vdXNlRW50ZXJMZWF2ZUV2ZW50SGFuZGxlciksdGhpcy5fYWN0aW9ucz10LHRoaXMuX2dsb2JhbFZpc2liaWxpdHk9aS5nbG9iYWxWaXNpYmlsaXR5LnNwYXduKCksdGhpcy5fZ2xvYmFsVmlzaWJpbGl0eS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUGFuZUNvbnRyb2xzV2lkZ2V0VmlzaWJpbGl0eS5iaW5kKHRoaXMpKSx0aGlzLl92aXNpYmlsaXR5VHlwZT1pLnZpc2liaWxpdHlUeXBlLnNwYXduKCksdGhpcy5fdmlzaWJpbGl0eVR5cGUuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVBhbmVDb250cm9sc1dpZGdldFZpc2liaWxpdHkuYmluZCh0aGlzKSksdGhpcy5fc2VwYXJhdG9yU2VsZWN0ZWQ9aS5zZXBhcmF0b3JTZWxlY3RlZC5zcGF3bigpLHRoaXMuX3NlcGFyYXRvclNlbGVjdGVkLnN1YnNjcmliZSh0aGlzLl91cGRhdGVQYW5lQ29udHJvbHNXaWRnZXRWaXNpYmlsaXR5LmJpbmQodGhpcykpLHRoaXMuX21heGltaXplZD1pLm1heGltaXplZC5zcGF3bigpLHRoaXMuX21heGltaXplZC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUGFuZUNvbnRyb2xzV2lkZ2V0VmlzaWJpbGl0eS5iaW5kKHRoaXMpKSx0aGlzLl9kb05vdFN3aXRjaFRvQ29udGV4dE1lbnVNb2RlPWkuZG9Ob3RTd2l0Y2hUb0NvbnRleHRNZW51TW9kZSx0aGlzLl90aGVtZWRDb2xvcj1pLnRoZW1lZENvbG9yLnNwYXduKCksdGhpcy5fdGhlbWVkQ29sb3Iuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVRoZW1lZENvbG9yLmJpbmQodGhpcykpO2Zvcihjb25zdFtlLHRdb2YgT2JqZWN0LmVudHJpZXModGhpcy5fYWN0aW9ucykpe2NvbnN0IGk9ZTt0aGlzLl9hY3Rpb25zU3Bhd25zW2ldPXt2aXNpYmxlOnQudmlzaWJsZS5zcGF3bigpLHRpdGxlOnZvaWQgMD09PXQudGl0bGU/bnVsbDp0LnRpdGxlLnNwYXduKCl9LHRoaXMuX2FjdGlvbnNTcGF3bnNbaV0udmlzaWJsZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWN0aW9uVmlzaWJpbGl0aWVzLmJpbmQodGhpcyxpKSk7Y29uc3Qgcz10aGlzLl9hY3Rpb25zU3Bhd25zW2ldLnRpdGxlO251bGwhPT1zJiZzLnN1YnNjcmliZSh0aGlzLl91cGRhdGVBY3Rpb25UaXRsZS5iaW5kKHRoaXMsaSkpfXRoaXMuX3JlbmRlcigpLHRoaXMuX3VwZGF0ZVBhbmVDb250cm9sc1dpZGdldFZpc2liaWxpdHkoKSx0aGlzLl91cGRhdGVUaGVtZWRDb2xvcih0aGlzLl90aGVtZWRDb2xvci52YWx1ZSgpKSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKG0udG91Y2hNb2RlLGcudHJhY2tpbmdNb2RlSXNBdmFpbGFibGUpLHRoaXMuX3BhcmVudEVsLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwoZT0+ZS5wcmV2ZW50RGVmYXVsdCgpKSksdGhpcy5fcGFyZW50RWwuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSx0aGlzLl93cmFwRWwubWF0Y2hlcygiOmhvdmVyIikmJnRoaXMuX29uTW91c2VFbnRlckxlYXZlRXZlbnQoe3R5cGU6Im1vdXNlZW50ZXIifSl9ZGVzdHJveSgpe3RoaXMuX3Zpc2liaWxpdHlUeXBlLmRlc3Ryb3koKSx0aGlzLl90aGVtZWRDb2xvci5kZXN0cm95KCksdGhpcy5fc2VwYXJhdG9yU2VsZWN0ZWQuZGVzdHJveSgpO2Zvcihjb25zdCBlIG9mIE9iamVjdC5rZXlzKHRoaXMuX2FjdGlvbnNTcGF3bnMpKXtjb25zdCB0PWU7dGhpcy5fYWN0aW9uc1NwYXduc1t0XS52aXNpYmxlLmRlc3Ryb3koKTtjb25zdCBpPXRoaXMuX2FjdGlvbnNTcGF3bnNbdF0udGl0bGU7bnVsbCE9PWkmJmkuZGVzdHJveSgpfW51bGwhPT10aGlzLl9vbk1vdXNlRW50ZXJMZWF2ZUV2ZW50SGFuZGxlciYmKHRoaXMuX3dyYXBFbC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIix0aGlzLl9vbk1vdXNlRW50ZXJMZWF2ZUV2ZW50SGFuZGxlciksdGhpcy5fd3JhcEVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uTW91c2VFbnRlckxlYXZlRXZlbnRIYW5kbGVyKSx0aGlzLl9vbk1vdXNlRW50ZXJMZWF2ZUV2ZW50SGFuZGxlcj1udWxsKSx0aGlzLl9wYXJlbnRFbC5yZW1vdmUoKSx0aGlzLl9wYXJlbnRFbC5pbm5lckhUTUw9IiIsCmRlbGV0ZSB0aGlzLl9wYXJlbnRFbH1nZXRFbGVtZW50KCl7cmV0dXJuIHRoaXMuX3BhcmVudEVsfWJvdHRvbVdpdGhNYXJnaW4oKXtjb25zdCBlPXRoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC5jb250YWlucyhtLnRvdWNoTW9kZSk/TnVtYmVyKG0uY3NzX3ZhbHVlX3BhbmVfY29udHJvbHNfYnV0dG9uX3RvdWNoX3NpemUpOk51bWJlcihtLmNzc192YWx1ZV9wYW5lX2NvbnRyb2xzX2J1dHRvbl9zaXplKTtyZXR1cm4gMipOdW1iZXIobS5jc3NfdmFsdWVfcGFuZV9jb250cm9sc19tYXJnaW5fdG9wKStlfXVwZGF0ZVdpZGdldE1vZGVCeVdpZHRoKGUpe2NvbnN0IHQ9IXRoaXMuX2RvTm90U3dpdGNoVG9Db250ZXh0TWVudU1vZGUudmFsdWUoKSYmZTwzNTYsaT0hdGhpcy5fZG9Ob3RTd2l0Y2hUb0NvbnRleHRNZW51TW9kZS52YWx1ZSgpJiZlPDY2Ni42NSxzPSgwLGMuZW5zdXJlTm90TnVsbCkodGhpcy5fbGlzdEFjdGlvbnNXcmFwcGVyRWwpLG89KDAsYy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLm1vcmUpOygwLGMuZW5zdXJlTm90TnVsbCkodGhpcy5fcGFyZW50RWwpLmNsYXNzTGlzdC50b2dnbGUobS5wYW5lQ29udHJvbHNfcmVtb3ZlLHQpLHMuY2xhc3NMaXN0LnRvZ2dsZShiLmJsb2NrSGlkZGVuLGkpLG8uY2xhc3NMaXN0LnRvZ2dsZShiLmJsb2NrSGlkZGVuLCFpfHwhdGhpcy5fYWN0aW9ucy5tb3JlLnZpc2libGUudmFsdWUoKSl9X3JlbmRlcigpe3RoaXMuX3JlbmRlckFjdGlvbnMoKSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QuYWRkKG0ucGFuZUNvbnRyb2xzKSx0aGlzLl93cmFwRWwuYXBwZW5kKHRoaXMuX3BhcmVudEVsKX1fcmVuZGVyQWN0aW9ucygpe251bGw9PT10aGlzLl9saXN0QWN0aW9uc1dyYXBwZXJFbCYmKHRoaXMuX2xpc3RBY3Rpb25zV3JhcHBlckVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2xpc3RBY3Rpb25zV3JhcHBlckVsLmNsYXNzTGlzdC5hZGQobS5idXR0b25zKSx0aGlzLl9wYXJlbnRFbC5hcHBlbmQodGhpcy5fbGlzdEFjdGlvbnNXcmFwcGVyRWwpKTtjb25zdCBlPXt0YWc6ImRpdiIsYnV0dG9uQ2xhc3NOYW1lOm0uYnV0dG9uLHdyYXBJY29uQ2xhc3NOYW1lOm0uYnV0dG9uSWNvbixoaWRkZW5DbGFzc05hbWU6Yi5ibG9ja0hpZGRlbn07dGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cy51cD0oMCxwLmNyZWF0ZUFjdGlvbkVsZW1lbnQpKHRoaXMuX2FjdGlvbnMudXAsZSksdGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cy5kb3duPSgwLHAuY3JlYXRlQWN0aW9uRWxlbWVudCkodGhpcy5fYWN0aW9ucy5kb3duLGUpLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMuY29sbGFwc2U9KDAscC5jcmVhdGVBY3Rpb25FbGVtZW50KSh0aGlzLl9hY3Rpb25zLmNvbGxhcHNlLGUpLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMucmVzdG9yZT0oMCxwLmNyZWF0ZUFjdGlvbkVsZW1lbnQpKHRoaXMuX2FjdGlvbnMucmVzdG9yZSxlKSx0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLmNsb3NlPSgwLHAuY3JlYXRlQWN0aW9uRWxlbWVudCkodGhpcy5fYWN0aW9ucy5jbG9zZSxlKSx0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLm1heGltaXplPSgwLHAuY3JlYXRlQWN0aW9uRWxlbWVudCkodGhpcy5fYWN0aW9ucy5tYXhpbWl6ZSxlKSx0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLm1pbmltaXplPSgwLHAuY3JlYXRlQWN0aW9uRWxlbWVudCkodGhpcy5fYWN0aW9ucy5taW5pbWl6ZSxlKSx0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLnJlc3RvcmUuY2xhc3NMaXN0LmFkZChtLmJ1dHRvbl9hY3RpdmF0ZWQpLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMubWluaW1pemUuY2xhc3NMaXN0LmFkZChtLmJ1dHRvbl9hY3RpdmF0ZWQpLHRoaXMuX2xpc3RBY3Rpb25zV3JhcHBlckVsLmFwcGVuZCh0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLnVwLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMuZG93bix0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLmNsb3NlLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMuY29sbGFwc2UsdGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cy5yZXN0b3JlLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMubWF4aW1pemUsdGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cy5taW5pbWl6ZSksdGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cy5tb3JlPSgwLHAuY3JlYXRlQWN0aW9uRWxlbWVudCkodGhpcy5fYWN0aW9ucy5tb3JlLGUpLHRoaXMuX3BhcmVudEVsLmFwcGVuZCh0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLm1vcmUpfV91cGRhdGVBY3Rpb25WaXNpYmlsaXRpZXMoZSx0KXsoMCxjLmVuc3VyZU5vdE51bGwpKHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHNbZV0pLmNsYXNzTGlzdC50b2dnbGUoYi5ibG9ja0hpZGRlbiwhdCl9X3VwZGF0ZUFjdGlvblRpdGxlKGUsdCl7KDAsYy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzW2VdKS5zZXRBdHRyaWJ1dGUoInRpdGxlIix0KX1fb25Nb3VzZUVudGVyTGVhdmVFdmVudChlKXt0aGlzLl9tb3VzZU92ZXJXaWRnZXQ9Im1vdXNlZW50ZXIiPT09ZS50eXBlLCJ2aXNpYmxlT25Nb3VzZU92ZXIiPT09dGhpcy5fdmlzaWJpbGl0eVR5cGUudmFsdWUoKSYmdGhpcy5fdXBkYXRlUGFuZUNvbnRyb2xzV2lkZ2V0VmlzaWJpbGl0eSgpfV91cGRhdGVQYW5lQ29udHJvbHNXaWRnZXRWaXNpYmlsaXR5KCl7bGV0IGUsdD0hMTtzd2l0Y2godGhpcy5fdmlzaWJpbGl0eVR5cGUudmFsdWUoKSl7Y2FzZSJhbHdheXNPZmYiOmU9ITEsdD0hMDticmVhaztjYXNlImFsd2F5c09uIjplPXRoaXMuX2dsb2JhbFZpc2liaWxpdHkudmFsdWUoKTticmVhaztjYXNlInZpc2libGVPbk1vdXNlT3ZlciI6Y2FzZSJ2aXNpYmxlT25UYXBTZWxlY3Rpb24iOmU9dGhpcy5fZ2xvYmFsVmlzaWJpbGl0eS52YWx1ZSgpJiZ0aGlzLl9tb3VzZU92ZXJXaWRnZXR9dGhpcy5fc2VwYXJhdG9yU2VsZWN0ZWQudmFsdWUoKSYmInZpc2libGVPblRhcFNlbGVjdGlvbiI9PT10aGlzLl92aXNpYmlsaXR5VHlwZS52YWx1ZSgpJiYoZT0hMCksCnRoaXMuX21heGltaXplZC52YWx1ZSgpJiZfLm1vYmlsZXRvdWNoJiYoZT0hMCksdGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShtLnBhbmVDb250cm9sc19oaWRkZW4sIWUpLHRoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC50b2dnbGUobS5wYW5lQ29udHJvbHNfZm9yY2VIaWRkZW4sIXRoaXMuX2dsb2JhbFZpc2liaWxpdHkudmFsdWUoKXx8dCl9X3VwZGF0ZVRoZW1lZENvbG9yKGUpe2lmKGUubGVuZ3RoPjApe2NvbnN0W3QsaSxzXT0oMCxoLnBhcnNlUmdiKShlKTt0aGlzLl9wYXJlbnRFbC5zdHlsZS5jb2xvcj0oMCxoLnJnYmFUb1N0cmluZykoW3QsaSxzLCgwLGgubm9ybWFsaXplQWxwaGFDb21wb25lbnQpKC44KV0pfWVsc2UgdGhpcy5fcGFyZW50RWwuc3R5bGUucmVtb3ZlUHJvcGVydHkoImNvbG9yIil9fXZhciBmPWkoNTA5MDQpLFM9aSgyNTA0MzkpLHk9aSg2MTczMDMpLHc9aSg5NjIwNzIpLEM9aSgxNzcyNTUpLEU9aSg1MzY1MzMpLHg9aSgzNzU3MCksTD1pKDI5NjE2Myk7Y29uc3QgTT1uLnQobnVsbCx2b2lkIDAsaSgxNDg4NjUpKSxUPU0sVj0oMCxhLmh1bWFuUmVhZGFibGVNb2RpZmllcnMpKGEuTW9kaWZpZXJzLk1vZCkrTTt2YXIgaz1pKDY2NTE4NyksQT1pKDM0NTE1MSksVz1pKDI4NDA3NSksST1pKDgxMjk0OCksQj1pKDQyMzY0MyksSD1pKDUzODA5KSxEPWkoNzUxNTExKSxQPWkoODcyODM4KSxOPWkoNjQ4OTUpO2NvbnN0IFI9bi50KG51bGwsdm9pZCAwLGkoODMxOTg4KSksTz1uLnQobnVsbCx2b2lkIDAsaSgzMDU4ODIpKSxGPW4udChudWxsLHZvaWQgMCxpKDgxNDA1OCkpLHo9bi50KG51bGwsdm9pZCAwLGkoNTUwNTU5KSksaj1uLnQobnVsbCx2b2lkIDAsaSgyNjA1NDkpKSxVPW4udChudWxsLHZvaWQgMCxpKDg5MDA5KSksRz1uLnQobnVsbCx2b2lkIDAsaSgxNTk0NDMpKSxaPW4udChudWxsLHZvaWQgMCxpKDE0ODg2NSkpO3ZhciBKOyFmdW5jdGlvbihlKXtlLlBhbmVDbG9zZUJ1dHRvbj0icGFuZS1idXR0b24tY2xvc2UiLGUuUGFuZVVwQnV0dG9uPSJwYW5lLWJ1dHRvbi11cCIsZS5QYW5lRG93bkJ1dHRvbj0icGFuZS1idXR0b24tZG93biIsZS5QYW5lTWF4aW1pemVCdXR0b249InBhbmUtYnV0dG9uLW1heGltaXplIixlLlBhbmVNaW5pbWl6ZUJ1dHRvbj0icGFuZS1idXR0b24tbWluaW1pemUiLGUuUGFuZUNvbGxhcHNlQnV0dG9uPSJwYW5lLWJ1dHRvbi1jb2xsYXBzZSIsZS5QYW5lUmVzdG9yZUJ1dHRvbj0icGFuZS1idXR0b24tcmVzdG9yZSIsZS5QYW5lTW9yZUJ1dHRvbj0icGFuZS1idXR0b24tbW9yZSJ9KEp8fChKPXt9KSk7Y29uc3QgWT0oMCxBLmhvdEtleVNlcmlhbGl6ZSkoe2tleXM6WyIiXSx0ZXh0Olp9KSxxPSgwLEEuaG90S2V5U2VyaWFsaXplKSh7a2V5czpbKDAsYS5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShhLk1vZGlmaWVycy5Nb2QsITEpXSx0ZXh0OmB7MH0gKyAke1p9YH0pO2NsYXNzICR7Y29uc3RydWN0b3IoZSx0LGkscyl7dGhpcy5fYWN0aW9ucz17fSx0aGlzLl9tb3JlQ01TaG93bj0hMSx0aGlzLl90aGVtZWRDb2xvcj1uZXcgbC5XYXRjaGVkVmFsdWUoIiIpLHRoaXMuX21vZGVsPWUsdGhpcy5fcGFuZT10LHRoaXMuX2Nsb3NlQnV0dG9uVmlzaWJpbGl0eT1uZXcgbC5XYXRjaGVkVmFsdWUodGhpcy5fZ2V0Q2xvc2VCdXR0b25WaXNpYmlsaXR5KCkpLHRoaXMuX3VwQnV0dG9uVmlzaWJpbGl0eT1uZXcgbC5XYXRjaGVkVmFsdWUodGhpcy5fZ2V0VXBCdXR0b25WaXNpYmlsaXR5KCkpLHRoaXMuX2Rvd25CdXR0b25WaXNpYmlsaXR5PW5ldyBsLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXREb3duQnV0dG9uVmlzaWJpbGl0eSgpKSx0aGlzLl9tYXhpbWl6ZUJ1dHRvblZpc2liaWxpdHk9bmV3IGwuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldE1heGltaXplQnV0dG9uVmlzaWJpbGl0eSgpKSx0aGlzLl9taW5pbWl6ZUJ1dHRvblZpc2liaWxpdHk9bmV3IGwuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldE1pbmltaXplQnV0dG9uVmlzaWJpbGl0eSgpKSx0aGlzLl9jb2xsYXBzZUJ1dHRvblZpc2liaWxpdHk9KDAsci5jb21iaW5lKSgoKGUsdCxpKT0+IWUmJiF0JiZpKSx0Lm1heGltaXplZCgpLndlYWtSZWZlcmVuY2UoKSx0LmNvbGxhcHNlZCgpLndlYWtSZWZlcmVuY2UoKSx0LmNvbGxhcHNpbmdBdmFpbGFibGUoKS53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX3Jlc3RvcmVCdXR0b25WaXNpYmlsaXR5PSgwLHIuY29tYmluZSkoKChlLHQpPT4hZSYmdCksdC5tYXhpbWl6ZWQoKS53ZWFrUmVmZXJlbmNlKCksdC5jb2xsYXBzZWQoKS53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2NyZWF0ZUFjdGlvbnMoKSx0aGlzLl92aXNpYmlsaXR5VHlwZVByb3BlcnR5PSgwLGQuYWN0dWFsQmVoYXZpb3IpKCksdGhpcy5fdmlzaWJpbGl0eVR5cGVQcm9wZXJ0eS5zdWJzY3JpYmUodGhpcywoZT0+e3RoaXMuX3Zpc2liaWxpdHlUeXBlLnNldFZhbHVlKGUudmFsdWUoKSl9KSksdGhpcy5fdmlzaWJpbGl0eVR5cGU9bmV3IGwuV2F0Y2hlZFZhbHVlKHRoaXMuX3Zpc2liaWxpdHlUeXBlUHJvcGVydHkudmFsdWUoKSksdGhpcy5faXNQYW5lTWF4aW1pemU9bmV3IGwuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldElzUGFuZU1heGltaXplVmFsdWUoKSksdGhpcy5faXNXaWRnZXRTaG93PW5ldyBsLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRJc1dpZGdldFNob3coKSksdGhpcy5fYmFja2dyb3VuZFRoZW1lTmFtZT1pLmJhY2tncm91bmRUaGVtZU5hbWUsdGhpcy5fcmVuZGVyZXI9bmV3IHYocyx0aGlzLl9hY3Rpb25zLHt2aXNpYmlsaXR5VHlwZTp0aGlzLl92aXNpYmlsaXR5VHlwZS5yZWFkb25seSgpLGdsb2JhbFZpc2liaWxpdHk6dGhpcy5faXNXaWRnZXRTaG93LnJlYWRvbmx5KCksZG9Ob3RTd2l0Y2hUb0NvbnRleHRNZW51TW9kZTp0aGlzLl9pc1BhbmVNYXhpbWl6ZS5yZWFkb25seSgpLHRoZW1lZENvbG9yOnRoaXMuX3RoZW1lZENvbG9yLnJlYWRvbmx5KCksc2VwYXJhdG9yU2VsZWN0ZWQ6aS5hbnlTZXBhcmF0b3JTZWxlY3RlZCxtYXhpbWl6ZWQ6dGhpcy5faXNQYW5lTWF4aW1pemUucmVhZG9ubHkoKX0pfWRlc3Ryb3koKXsKdGhpcy5fdmlzaWJpbGl0eVR5cGVQcm9wZXJ0eS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9jb2xsYXBzZUJ1dHRvblZpc2liaWxpdHkuZGVzdHJveSgpLHRoaXMuX3Jlc3RvcmVCdXR0b25WaXNpYmlsaXR5LmRlc3Ryb3koKSx0aGlzLl9yZW5kZXJlci5kZXN0cm95KCl9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9yZW5kZXJlci5nZXRFbGVtZW50KCl9Ym90dG9tV2l0aE1hcmdpbigpe3JldHVybiB0aGlzLl9yZW5kZXJlci5ib3R0b21XaXRoTWFyZ2luKCl9YWN0aW9uKCl7cmV0dXJuIHRoaXMuX2FjdGlvbnN9dXBkYXRlKCl7dGhpcy5fdXBkYXRlQnV0dG9uc1Zpc2liaWxpdHkoKSx0aGlzLl9pc1BhbmVNYXhpbWl6ZS5zZXRWYWx1ZSh0aGlzLl9nZXRJc1BhbmVNYXhpbWl6ZVZhbHVlKCkpLHRoaXMuX2lzV2lkZ2V0U2hvdy5zZXRWYWx1ZSh0aGlzLl9nZXRJc1dpZGdldFNob3coKSl9dXBkYXRlV2lkZ2V0TW9kZUJ5V2lkdGgoZSl7dGhpcy5fcmVuZGVyZXIudXBkYXRlV2lkZ2V0TW9kZUJ5V2lkdGgoZSl9dXBkYXRlVGhlbWVkQ29sb3JzKGUpe251bGw9PT1lJiYoZT0oMCxrLmdldFN0ZFRoZW1lZFZhbHVlKSgiY2hhcnRQcm9wZXJ0aWVzLnBhbmVQcm9wZXJ0aWVzLmJhY2tncm91bmQiLHRoaXMuX2JhY2tncm91bmRUaGVtZU5hbWUudmFsdWUoKSkpLHRoaXMuX3RoZW1lZENvbG9yLnNldFZhbHVlKGV8fCIiKX1fdXBkYXRlQnV0dG9uc1Zpc2liaWxpdHkoKXt0aGlzLl9jbG9zZUJ1dHRvblZpc2liaWxpdHkuc2V0VmFsdWUodGhpcy5fZ2V0Q2xvc2VCdXR0b25WaXNpYmlsaXR5KCkpLHRoaXMuX3VwQnV0dG9uVmlzaWJpbGl0eS5zZXRWYWx1ZSh0aGlzLl9nZXRVcEJ1dHRvblZpc2liaWxpdHkoKSksdGhpcy5fZG93bkJ1dHRvblZpc2liaWxpdHkuc2V0VmFsdWUodGhpcy5fZ2V0RG93bkJ1dHRvblZpc2liaWxpdHkoKSksdGhpcy5fbWF4aW1pemVCdXR0b25WaXNpYmlsaXR5LnNldFZhbHVlKHRoaXMuX2dldE1heGltaXplQnV0dG9uVmlzaWJpbGl0eSgpKSx0aGlzLl9taW5pbWl6ZUJ1dHRvblZpc2liaWxpdHkuc2V0VmFsdWUodGhpcy5fZ2V0TWluaW1pemVCdXR0b25WaXNpYmlsaXR5KCkpfV9jcmVhdGVBY3Rpb25zKCl7dGhpcy5fYWN0aW9ucy51cD17aWNvbjpJLGFjdGlvbjp0aGlzLl9vblVwRG93bkJ1dHRvbi5iaW5kKHRoaXMsInVwIiksdmlzaWJsZTp0aGlzLl91cEJ1dHRvblZpc2liaWxpdHksdGl0bGU6bmV3IGwuV2F0Y2hlZFZhbHVlKE8pLGNsYXNzTmFtZTptLnVwLGRhdGFRYUlkOiJwYW5lLWJ1dHRvbi11cCJ9LHRoaXMuX2FjdGlvbnMuZG93bj17aWNvbjpCLGFjdGlvbjp0aGlzLl9vblVwRG93bkJ1dHRvbi5iaW5kKHRoaXMsImRvd24iKSx2aXNpYmxlOnRoaXMuX2Rvd25CdXR0b25WaXNpYmlsaXR5LHRpdGxlOm5ldyBsLldhdGNoZWRWYWx1ZShGKSxjbGFzc05hbWU6bS5kb3duLGRhdGFRYUlkOiJwYW5lLWJ1dHRvbi1kb3duIn0sdGhpcy5fYWN0aW9ucy5jbG9zZT17aWNvbjpXLGFjdGlvbjp0aGlzLl9vbkNsb3NlQnV0dG9uLmJpbmQodGhpcyksdmlzaWJsZTp0aGlzLl9jbG9zZUJ1dHRvblZpc2liaWxpdHksdGl0bGU6bmV3IGwuV2F0Y2hlZFZhbHVlKFIpLGRhdGFRYUlkOiJwYW5lLWJ1dHRvbi1jbG9zZSJ9LHRoaXMuX2FjdGlvbnMubWF4aW1pemU9e2ljb246SCxhY3Rpb246dGhpcy5fb25Ub2dnbGVNYXhpbWl6ZUJ1dHRvbi5iaW5kKHRoaXMsIk1heGltaXplIHBhbmUiKSx2aXNpYmxlOnRoaXMuX21heGltaXplQnV0dG9uVmlzaWJpbGl0eSx0aXRsZTpuZXcgbC5XYXRjaGVkVmFsdWUoeiksaG90S2V5VGl0bGU6WSxjbGFzc05hbWU6bS5tYXhpbWl6ZSxkYXRhUWFJZDoicGFuZS1idXR0b24tbWF4aW1pemUifSx0aGlzLl9hY3Rpb25zLm1pbmltaXplPXtpY29uOkgsYWN0aW9uOnRoaXMuX29uVG9nZ2xlTWF4aW1pemVCdXR0b24uYmluZCh0aGlzLCJNaW5pbWl6ZSBwYW5lIiksdmlzaWJsZTp0aGlzLl9taW5pbWl6ZUJ1dHRvblZpc2liaWxpdHksdGl0bGU6bmV3IGwuV2F0Y2hlZFZhbHVlKGopLGhvdEtleVRpdGxlOlksY2xhc3NOYW1lOm0ubWluaW1pemUsZGF0YVFhSWQ6InBhbmUtYnV0dG9uLW1pbmltaXplIn0sdGhpcy5fYWN0aW9ucy5jb2xsYXBzZT17aWNvbjpQLGFjdGlvbjp0aGlzLl9vblRvZ2dsZUNvbGxhcHNlQnV0dG9uLmJpbmQodGhpcywiQ29sbGFwc2UgcGFuZSIpLHZpc2libGU6dGhpcy5fY29sbGFwc2VCdXR0b25WaXNpYmlsaXR5LHRpdGxlOm5ldyBsLldhdGNoZWRWYWx1ZShVKSxob3RLZXlUaXRsZTpxLGNsYXNzTmFtZTptLmNvbGxhcHNlLGRhdGFRYUlkOiJwYW5lLWJ1dHRvbi1jb2xsYXBzZSJ9LHRoaXMuX2FjdGlvbnMucmVzdG9yZT17aWNvbjpOLGFjdGlvbjp0aGlzLl9vblRvZ2dsZUNvbGxhcHNlQnV0dG9uLmJpbmQodGhpcywiUmVzdG9yZSBwYW5lIiksdmlzaWJsZTp0aGlzLl9yZXN0b3JlQnV0dG9uVmlzaWJpbGl0eSx0aXRsZTpuZXcgbC5XYXRjaGVkVmFsdWUoaiksaG90S2V5VGl0bGU6cSxjbGFzc05hbWU6bS5yZXN0b3JlLGRhdGFRYUlkOiJwYW5lLWJ1dHRvbi1yZXN0b3JlIn0sdGhpcy5fYWN0aW9ucy5tb3JlPXtpY29uOkQsYWN0aW9uOnRoaXMuX3Nob3dCdXR0b25zSW5Db250ZXh0TWVudS5iaW5kKHRoaXMpLHZpc2libGU6bmV3IGwuV2F0Y2hlZFZhbHVlKCEwKSx0aXRsZTpuZXcgbC5XYXRjaGVkVmFsdWUoRyksZGF0YVFhSWQ6InBhbmUtYnV0dG9uLW1vcmUifX1fZ2V0Q2xvc2VCdXR0b25WaXNpYmlsaXR5KCl7bGV0IGU9ITE7cmV0dXJuIHRoaXMuX3BhbmUuY29udGFpbnNNYWluU2VyaWVzKCl8fHRoaXMuX3BhbmUubWF4aW1pemVkKCkudmFsdWUoKXx8KGU9dGhpcy5fcGFuZS5kYXRhU291cmNlcygpLnNvbWUoKGU9PigwLHUuaXNTdHVkeSkoZSkpKSksZX1fb25DbG9zZUJ1dHRvbigpe3RoaXMuX3RyYWNrRXZlbnQoIkRlbGV0ZSBwYW5lIik7Y29uc3QgZT10aGlzLl9tb2RlbC5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZih0aGlzLl9wYW5lKTt0aGlzLl9tb2RlbC5yZW1vdmVQYW5lKGUpfV9nZXRVcEJ1dHRvblZpc2liaWxpdHkoKXtjb25zdCBlPXRoaXMuX3BhbmUsdD10aGlzLl9tb2RlbC5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZihlKQo7cmV0dXJuIHRoaXMuX21vZGVsLm1vZGVsKCkuY2FuTW92ZVBhbmVVcCh0KX1fZ2V0RG93bkJ1dHRvblZpc2liaWxpdHkoKXtjb25zdCBlPXRoaXMuX21vZGVsLm1vZGVsKCkucGFuZXMoKS5pbmRleE9mKHRoaXMuX3BhbmUpO3JldHVybiB0aGlzLl9tb2RlbC5tb2RlbCgpLmNhbk1vdmVQYW5lRG93bihlKX1fb25VcERvd25CdXR0b24oZSl7dGhpcy5fdHJhY2tFdmVudChgTW92ZSBwYW5lICR7ZX1gKTtjb25zdCB0PXRoaXMuX21vZGVsLm1vZGVsKCkucGFuZXMoKS5pbmRleE9mKHRoaXMuX3BhbmUpO3RoaXMuX21vZGVsLnJlYXJyYW5nZVBhbmVzKHQsZSl9X2dldE1heGltaXplQnV0dG9uVmlzaWJpbGl0eSgpe3JldHVybiB0aGlzLl9tb2RlbC5tb2RlbCgpLnBhbmVzKCkubGVuZ3RoPjEmJiF0aGlzLl9wYW5lLm1heGltaXplZCgpLnZhbHVlKCl9X2dldE1pbmltaXplQnV0dG9uVmlzaWJpbGl0eSgpe3JldHVybiB0aGlzLl9tb2RlbC5tb2RlbCgpLnBhbmVzKCkubGVuZ3RoPjEmJnRoaXMuX3BhbmUubWF4aW1pemVkKCkudmFsdWUoKX1fb25Ub2dnbGVNYXhpbWl6ZUJ1dHRvbihlKXt0aGlzLl90cmFja0V2ZW50KGUpLHRoaXMuX21vZGVsLnRvZ2dsZU1heGltaXplZFBhbmUodGhpcy5fcGFuZSl9X29uVG9nZ2xlQ29sbGFwc2VCdXR0b24oZSl7dGhpcy5fdHJhY2tFdmVudChlKSx0aGlzLl9tb2RlbC50b2dnbGVDb2xsYXBzZWRQYW5lKHRoaXMuX3BhbmUpfV9zaG93QnV0dG9uc0luQ29udGV4dE1lbnUoZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX21vcmVDTVNob3dufHxmdW5jdGlvbihlLHQsaSl7Y29uc3Qgcz1bXTtpZihlLm1heGltaXplLnZpc2libGUudmFsdWUoKSl7Y29uc3QgdD0oMCxjLmVuc3VyZSkoZS5tYXhpbWl6ZS50aXRsZSksaT0oMCxjLmVuc3VyZU5vdE51bGwpKGUubWF4aW1pemUuYWN0aW9uKTtzLnB1c2gobmV3IGYuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUGFuZUNvbnRyb2xzLk1heGltaXplUGFuZSIsb3B0aW9uczp7aWNvbjpFLGxhYmVsOnQudmFsdWUoKSxzdGF0TmFtZToiTWF4aW1pemUgUGFuZSIsc2hvcnRjdXRIaW50OlQsb25FeGVjdXRlOigpPT5pKCl9fSkpfWVsc2UgaWYoZS5taW5pbWl6ZS52aXNpYmxlLnZhbHVlKCkpe2NvbnN0IHQ9KDAsYy5lbnN1cmUpKGUubWluaW1pemUudGl0bGUpLGk9KDAsYy5lbnN1cmVOb3ROdWxsKShlLm1pbmltaXplLmFjdGlvbik7cy5wdXNoKG5ldyBmLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlBhbmVDb250cm9scy5NaW5pbWl6ZVBhbmUiLG9wdGlvbnM6e2ljb246RSxsYWJlbDp0LnZhbHVlKCksc3RhdE5hbWU6Ik1pbmltaXplIFBhbmUiLHNob3J0Y3V0SGludDpULG9uRXhlY3V0ZTooKT0+aSgpfX0pKX1pZihlLmNvbGxhcHNlLnZpc2libGUudmFsdWUoKSl7Y29uc3QgdD0oMCxjLmVuc3VyZSkoZS5jb2xsYXBzZS50aXRsZSksaT0oMCxjLmVuc3VyZU5vdE51bGwpKGUuY29sbGFwc2UuYWN0aW9uKTtzLnB1c2gobmV3IGYuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUGFuZUNvbnRyb2xzLkNvbGxhcHNlUGFuZSIsb3B0aW9uczp7aWNvbjp4LGxhYmVsOnQudmFsdWUoKSxzdGF0TmFtZToiQ29sbGFwc2UgcGFuZSIsc2hvcnRjdXRIaW50OlYsb25FeGVjdXRlOigpPT5pKCl9fSkpfWlmKGUucmVzdG9yZS52aXNpYmxlLnZhbHVlKCkpe2NvbnN0IHQ9KDAsYy5lbnN1cmUpKGUucmVzdG9yZS50aXRsZSksaT0oMCxjLmVuc3VyZU5vdE51bGwpKGUucmVzdG9yZS5hY3Rpb24pO3MucHVzaChuZXcgZi5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5QYW5lQ29udHJvbHMuUmVzdG9yZVBhbmUiLG9wdGlvbnM6e2ljb246TCxsYWJlbDp0LnZhbHVlKCksc3RhdE5hbWU6IlJlc3RvcmUgcGFuZSIsc2hvcnRjdXRIaW50OlYsb25FeGVjdXRlOigpPT5pKCl9fSkpfWlmKGUudXAudmlzaWJsZS52YWx1ZSgpKXtjb25zdCB0PSgwLGMuZW5zdXJlKShlLnVwLnRpdGxlKSxpPSgwLGMuZW5zdXJlTm90TnVsbCkoZS51cC5hY3Rpb24pO3MucHVzaChuZXcgZi5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5QYW5lQ29udHJvbHMuTW92ZVBhbmVVcCIsb3B0aW9uczp7aWNvbjp3LGxhYmVsOnQudmFsdWUoKSxzdGF0TmFtZToiTW92ZSBwYW5lIHVwIixvbkV4ZWN1dGU6KCk9PmkoKX19KSl9aWYoZS5kb3duLnZpc2libGUudmFsdWUoKSl7Y29uc3QgdD0oMCxjLmVuc3VyZSkoZS5kb3duLnRpdGxlKSxpPSgwLGMuZW5zdXJlTm90TnVsbCkoZS5kb3duLmFjdGlvbik7cy5wdXNoKG5ldyBmLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlBhbmVDb250cm9scy5Nb3ZlUGFuZURvd24iLG9wdGlvbnM6e2ljb246QyxsYWJlbDp0LnZhbHVlKCksc3RhdE5hbWU6Ik1vdmUgcGFuZSBkb3duIixvbkV4ZWN1dGU6KCk9PmkoKX19KSl9aWYoZS5jbG9zZS52aXNpYmxlLnZhbHVlKCkpe2NvbnN0IHQ9KDAsYy5lbnN1cmUpKGUuY2xvc2UudGl0bGUpLGk9KDAsYy5lbnN1cmVOb3ROdWxsKShlLmNsb3NlLmFjdGlvbik7cy5wdXNoKG5ldyBmLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlBhbmVDb250cm9scy5EZWxldGVQYW5lIixvcHRpb25zOntpY29uOnksbGFiZWw6dC52YWx1ZSgpLHN0YXROYW1lOiJEZWxldGUgcGFuZSIsb25FeGVjdXRlOigpPT5pKCl9fSkpfWNvbnN0IG89KDAsYy5lbnN1cmVOb3ROdWxsKSh0LmN1cnJlbnRUYXJnZXQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBTLkNvbnRleHRNZW51TWFuYWdlci5zaG93TWVudShzLHtjbGllbnRYOm8ucmlnaHQsY2xpZW50WTpvLnRvcCtvLmhlaWdodCszLGF0dGFjaFRvWEJ5OiJyaWdodCJ9LHZvaWQgMCx2b2lkIDAsaSl9KHRoaXMuX2FjdGlvbnMsZSwoKCk9Pnt0aGlzLl9tb3JlQ01TaG93bj0hMX0pKS50aGVuKCgoKT0+e3RoaXMuX21vcmVDTVNob3duPSEwfSkpfV9nZXRJc1BhbmVNYXhpbWl6ZVZhbHVlKCl7cmV0dXJuIHRoaXMuX3BhbmUubWF4aW1pemVkKCkudmFsdWUoKX1fZ2V0SXNXaWRnZXRTaG93KCl7cmV0dXJuIHRoaXMuX21vZGVsLm1vZGVsKCkucGFuZXMoKS5sZW5ndGg+MX1fdHJhY2tFdmVudChlKXsoMCxvLnRyYWNrRXZlbnQpKCJHVUkiLCJQYW5lIGFjdGlvbiIsZSl9fX0sOTU2MzY4KGUsdCxpKXsKInVzZSBzdHJpY3QiO2kuZCh0LHtjcmVhdGVBY3Rpb25FbGVtZW50OigpPT5sfSk7dmFyIHM9aSg2NzI1MTEpLG89aSgxMzg2MzgpLG49aSg2MDE4NDEpLGE9aSg1ODI0NzYpO2Z1bmN0aW9uIGwoZSx0KXtjb25zdHtidXR0b25DbGFzc05hbWU6aSx3cmFwSWNvbkNsYXNzTmFtZTpsLGhpZGRlbkNsYXNzTmFtZTpyLGljb25TaXplOmQsYmx1ck9uQ2xpY2s6dX09dCxjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodC50YWcpO2MuY2xhc3NOYW1lPWksYy5jbGFzc0xpc3QudG9nZ2xlKHIsIWUudmlzaWJsZS52YWx1ZSgpKSxjLmRhdGFzZXQucWFJZD1lLmRhdGFRYUlkLHZvaWQgMCE9PWUuY2xhc3NOYW1lJiZjLmNsYXNzTGlzdC5hZGQoZS5jbGFzc05hbWUpLHZvaWQgMCE9PWUudGl0bGUmJihjLmNsYXNzTGlzdC5hZGQoImFwcGx5LWNvbW1vbi10b29sdGlwIiksYy5zZXRBdHRyaWJ1dGUoInRpdGxlIixlLnRpdGxlLnZhbHVlKCkpLHZvaWQgMCE9PWUuaG90S2V5VGl0bGUmJihjLmRhdGFzZXQudG9vbHRpcEhvdGtleT1lLmhvdEtleVRpdGxlKSksYy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsKDAsYS53cmFwSGFuZGxlcldpdGhQcmV2ZW50RXZlbnQpKGUuYWN0aW9uKSksYy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCh0PT57MD09PXQuYnV0dG9uJiYoZS5hY3Rpb24odCksdSYmYy5ibHVyKCkpfSkpO2NvbnN0IGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bGV0IHA7cmV0dXJuIGguY2xhc3NMaXN0LmFkZChsKSxwPSgwLHMuZGVmYXVsdCkoZS5pY29uKT9lLmljb24uZ2V0KCgwLG8uZW5zdXJlRGVmaW5lZCkoZCkpfHwiIjplLmljb24sKDAsbi5pc1N0cmluZykocCk/aC5pbm5lckhUTUw9cDpoLmFwcGVuZENoaWxkKHApLGMuYXBwZW5kQ2hpbGQoaCksY319LDQ2MDU0NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtpc0N1c3RvbVN0dWR5OigpPT5vfSk7Y29uc3Qgcz17TGluZWFyUmVncmVzc2lvbjohMCxQaXZvdFBvaW50c0hpZ2hMb3c6ITAsVmJQU2Vzc2lvbnM6ITAsVmJQU2Vzc2lvbnNSb3VnaERldGFpbGVkOiEwLFZiUFBlcmlvZGljOiEwLFZiUEF1dG9BbmNob3JlZDohMCxaaWdaYWc6ITAsVFBPUGVyaW9kaWM6ITAsVFBPU2Vzc2lvbnM6ITAsVmJQRml4ZWQ6ITAsUGl2b3RQb2ludHNTdGFuZGFyZDohMCxWYlBWaXNpYmxlOiEwLFZiUEFuY2hvcmVkOiEwfTtmdW5jdGlvbiBvKGUpe3JldHVybiBlIGluIHN9fSwzMzMzMTIoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0VHdlbW9qaVVybDooKT0+b30pO3ZhciBzPWkoMjYwNjAzKTtmdW5jdGlvbiBvKGUsdCl7bGV0IGk9IiI7cmV0dXJuIHMuZGVmYXVsdC5wYXJzZShlLChlPT4oaT1zLmRlZmF1bHQuYmFzZSsoInN2ZyI9PT10P2BzdmcvJHtlfS5zdmdgOmA3Mng3Mi8ke2V9LnBuZ2ApLCExKSkpLGl9cy5kZWZhdWx0LmJhc2U9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3R3ZW1vamkvMTMuMC4xLyJ9LDMwOTgzNihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHthZGRVdG1Ub1VybDooKT0+b30pO3ZhciBzPWkoNjAxNTg3KTtmdW5jdGlvbiBvKGUsdCl7aWYoIS8oW2EtekEtWjAtOS4tXSp0cmFkaW5ndmlldy5jb20pfGxvY2FsaG9zdC8udGVzdChlKSlyZXR1cm4gZTtjb25zdCBpPSgwLHMuYnVpbGRVdG1RdWVyeVN0cmluZykodCk7aWYoIiI9PT1pKXJldHVybiBlO2NvbnN0IG89ZS5pbmRleE9mKCI/Iiksbj1lLmluZGV4T2YoIiMiKSxhPS0xIT09bjtpZigtMSE9PW8mJighYXx8bzxuKSl7cmV0dXJuYCR7ZS5zbGljZSgwLG8pfT8ke2E/ZS5zbGljZShvKzEsbik6ZS5zbGljZShvKzEpfSYke2l9JHthP2Uuc2xpY2Uobik6IiJ9YH1pZihhKXtyZXR1cm5gJHtlLnNsaWNlKDAsbil9PyR7aX0ke2Uuc2xpY2Uobil9YH1yZXR1cm5gJHtlfT8ke2l9YH19LDYwMTU4NyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtidWlsZFV0bVF1ZXJ5U3RyaW5nOigpPT5sLGJ1aWxkVXRtUXVlcnlTdHJpbmdGcm9tVXJsUGFyYW1zOigpPT5yLGZpbHRlclV0bUluZm86KCk9PmF9KTt2YXIgcz1pKDQ5MjY3Nyksbz1pKDY0MTU5Myk7Y29uc3Qgbj1bInV0bV9zb3VyY2UiLCJ1dG1fbWVkaXVtIiwidXRtX2NhbXBhaWduIl07ZnVuY3Rpb24gYShlKXtjb25zdCB0PXt9O3JldHVybiBuLmZvckVhY2goKGk9Pntjb25zdCBzPWVbaV07InN0cmluZyI9PXR5cGVvZiBzJiYiIiE9PXMmJih0W2ldPSgwLG8uaHRtbEVzY2FwZSkocykpfSkpLHR9ZnVuY3Rpb24gbChlLHQ9ITEpe2NvbnN0IGk9KDAscy5jcmVhdGVVcmxQYXJhbXMpKGUpO3JldHVybiBpJiZ0PyI/IitpOml9ZnVuY3Rpb24gcihlKXtyZXR1cm4gbChhKCgwLHMuZ2V0VXJsUGFyYW1zKSgpKSxlKX19LDkzNTEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTMuOTIgNy44MyA5IDEyLjI5bDUuMDgtNC40Ni0xLTEuMTNMOSAxMC4yOWwtNC4wOS0zLjYtLjk5IDEuMTRaIi8+PC9zdmc+J30sNzMyMDM5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03LjgzIDMuOTIgMTIuMjggOWwtNC40NSA1LjA4LTEuMTMtMUwxMC4yOSA5bC0zLjYtNC4wOSAxLjE0LS45OVoiLz48L3N2Zz4nfSwxMjE0NzQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE0IDEwSDRWOC41aDEwVjEwWiIvPjwvc3ZnPid9LDU0OTc3MChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTguMjUgMTMuNzV2LTkuNWgxLjV2OS41aC0xLjVaIi8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTMuNzUgOS43NWgtOS41di0xLjVoOS41djEuNVoiLz48L3N2Zz4nfSwyNDcwMzAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE0LjUgOFYzLjVIMTBWMmg2djZoLTEuNVptLTExIDJ2NC41SDhWMTZIMnYtNmgxLjVaIi8+PC9zdmc+J30sNTczNTgyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03LjQ1IDMuNSAxMi40OCA5bC01LjAzIDUuNDkgMS4xIDEuMDFMMTQuNTIgOSA4LjU1IDIuNDkgNy40NSAzLjVaIi8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJtMy45MyA1Ljk5IDIuNTggMy0yLjU4IDMuMDIgMS4xNC45OCAzLjQyLTQtMy40Mi0zLjk4TDMuOTMgNloiLz48L3N2Zz4nfSw5OTc4MzQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEwIDYuMzhWOEw2IDUuNSAxMCAzdjEuODVBNS4yNSA1LjI1IDAgMSAxIDMuNzUgMTBhLjc1Ljc1IDAgMCAxIDEuNSAwQTMuNzUgMy43NSAwIDEgMCAxMCA2LjM4WiIvPjwvc3ZnPid9LDQ2MjcwNChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTIgNGgzdjFoLTEuMDRsLS44OCA5LjY0YTEuNSAxLjUgMCAwIDEtMS41IDEuMzZINi40MmExLjUgMS41IDAgMCAxLTEuNS0xLjM2TDQuMDUgNUgzVjRoM3YtLjVDNiAyLjY3IDYuNjcgMiA3LjUgMmgzYy44MyAwIDEuNS42NyAxLjUgMS41VjRaTTcuNSAzYS41LjUgMCAwIDAtLjUuNVY0aDR2LS41YS41LjUgMCAwIDAtLjUtLjVoLTNaTTUuMDUgNWwuODcgOS41NWEuNS41IDAgMCAwIC41LjQ1aDUuMTdhLjUuNSAwIDAgMCAuNS0uNDVMMTIuOTQgNWgtNy45WiIvPjwvc3ZnPid9LDMzMzQ1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMC4zMSA0LjEzIDguMyA2LjE0YS41LjUgMCAxIDEtLjctLjdsMi4xMy0yLjEyYTMuNSAzLjUgMCAxIDEgNC45NSA0Ljk1bC0yLjExIDIuMTFhLjUxLjUxIDAgMSAxLS43My0uNzJsMi0yYTIuNSAyLjUgMCAwIDAtMy41My0zLjUzWm0tMi4xNCA5LjMgMi4wMS0yYS41LjUgMCAwIDEgLjcuNjlsLTIuMTMgMi4xMkEzLjUgMy41IDAgMCAxIDMuOCA5LjI5bDIuMTEtMi4xMWEuNTEuNTEgMCAwIDEgLjcyLjcybC0yIDJhMi41IDIuNSAwIDAgMCAzLjU0IDMuNTRaTTExIDcuMDJhLjQ5LjQ5IDAgMCAwLS42OSAwTDcuNDcgOS44N2EuNDkuNDkgMCAwIDAgLjY4LjY5bDIuODYtMi44NmEuNDkuNDkgMCAwIDAgMC0uN1oiLz48L3N2Zz4nfSw2NzcwMTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1LjA4IDUuNzVhNS4wNyA1LjA3IDAgMCAxIDcuMTcgNy4xN2wtMy4yMyAzLjIzLS43LS43IDMuMjItMy4yNGE0LjA3IDQuMDcgMCAxIDAtNS43NS01Ljc1bC0zLjIzIDMuMjMtLjctLjcxIDMuMjItMy4yM1ptLTkuMzMgOS4zM2E1LjA3IDUuMDcgMCAxIDAgNy4xNyA3LjE3bDMuMjMtMy4yMy0uNy0uNy0zLjI0IDMuMjJhNC4wNyA0LjA3IDAgMSAxLTUuNzUtNS43NWwzLjIzLTMuMjMtLjcxLS43LTMuMjMgMy4yMlptMTAuNzctNC4zLTUuNzQgNS43NC43LjcgNS43NS01Ljc0LS43MS0uN1oiLz48L3N2Zz4nfSwyMDMzMDkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik00IDhhNCA0IDAgMSAwIDggMCA0IDQgMCAxIDAtOCAwIi8+PC9zdmc+J30sMjc0ODUxKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wIDhhOCA4IDAgMSAwIDE2IDBBOCA4IDAgMSAwIDAgOHptMiAwYTYgNiAwIDEgMCAxMiAwQTYgNiAwIDEgMCAyIDh6bTIgMGE0IDQgMCAxIDAgOCAwIDQgNCAwIDEgMC04IDAiLz48L3N2Zz4nfSwzMzQ1NTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTE2LjUgMjBMMTEgMTQuNSAxNi41IDkiLz48L3N2Zz4nfSw1ODA1OTYoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTggNWwzLjUgMy41TDggMTIiLz48L3N2Zz4nfSw1NTY2NDYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxnIGNsYXNzPSJub3JtYWwtZXllIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDE4Yy0zLjA3IDAtNi4yMS0xLjk1LTcuOTItNkM1Ljc4IDcuOTUgOC45MyA2IDEyIDZjMy4wOCAwIDYuMjIgMS45NSA3LjkyIDYtMS43IDQuMDUtNC44NCA2LTcuOTIgNlptOC45My02LjE5QzE5LjEgNy4zMSAxNS41OSA1IDEyIDVTNC45IDcuMzIgMy4wOCAxMS44TDMgMTJsLjA4LjE5QzQuODkgMTYuNjggOC40IDE5IDEyIDE5YzMuNiAwIDcuMTEtMi4zMiA4LjkzLTYuODFsLjA3LS4yLS4wNy0uMThaTTE0IDEyYTIgMiAwIDEgMS00IDAgMiAyIDAgMCAxIDQgMFptMSAwYTMgMyAwIDEgMS02IDAgMyAzIDAgMCAxIDYgMFoiLz48L2c+PGcgY2xhc3M9ImNyb3NzZWQtZXllIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMiAxOWE4LjQ3IDguNDcgMCAwIDEtMy44Ny0uOTVsLjc1LS43NWMxIC40NyAyLjA3LjcgMy4xMi43IDMuMDggMCA2LjIyLTEuOTUgNy45Mi02YTExLjE4IDExLjE4IDAgMCAwLTIuMjUtMy40OWwuNy0uN2ExMi4yOCAxMi4yOCAwIDAgMSAyLjU2IDRMMjEgMTJsLS4wNy4xOUMxOS4xIDE2LjY4IDE1LjU5IDE5IDEyIDE5Wm0tNy45Mi03Yy42IDEuNDIgMS4zNyAyLjU4IDIuMjYgMy40OWwtLjcuN2ExMi4yOCAxMi4yOCAwIDAgMS0yLjU2LTRsLS4wOC0uMi4wOC0uMThDNC44OSA3LjMxIDguNCA1IDEyIDVjMS4zMyAwIDIuNjUuMzIgMy44OC45NGwtLjc1Ljc1QTcuNDUgNy40NSAwIDAgMCAxMiA2QzguOTMgNiA1LjggNy45NiA0LjA4IDEyWk0xMiAxNWEzIDMgMCAwIDEtLjczLS4wOWwuOTItLjkyYTIgMiAwIDAgMCAxLjgtMS44bC45Mi0uOTJBMyAzIDAgMCAxIDEyIDE1Wm0tMi45MS0yLjI3LjkyLS45MUEyIDIgMCAwIDEgMTEuOCAxMGwuOTItLjkyYTMgMyAwIDAgMC0zLjY0IDMuNjRabTkuMDgtNy42Ni0xMy4xIDEzLjEuNzcuNzYgMTMuMDktMTMuMS0uNzYtLjc2WiIvPjwvZz48ZyBmaWxsPSJub25lIiBjbGFzcz0ibG9hZGluZy1leWUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMjAuNDYgMTJjLTMuNSA4LjY3LTEzLjQyIDguNjctMTYuOTIgMCAzLjUtOC42NyAxMy40Mi04LjY3IDE2LjkyIDBaIi8+PC9nPjxnIGZpbGw9Im5vbmUiIGNsYXNzPSJhbmltYXRlZC1sb2FkaW5nLWV5ZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNC41IDEyYTIuNSAyLjUgMCAxIDAtMi41IDIuNSIvPjwvZz48L3N2Zz4nfSw5MDMwMzEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxnIGNsYXNzPSJub3JtYWwtZXllIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDlhMyAzIDAgMSAxLTYgMCAzIDMgMCAwIDEgNiAwWm0tMSAwYTIgMiAwIDEgMS00IDAgMiAyIDAgMCAxIDQgMFoiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNi45MSA4LjhDMTUuMzEgNC45OSAxMi4xOCAzIDkgMyA1LjgyIDMgMi43IDQuOTggMS4wOCA4LjhMMSA5bC4wOC4yQzIuNyAxMy4wMiA1LjgyIDE1IDkgMTVjMy4xOCAwIDYuMy0xLjk3IDcuOTEtNS44TDE3IDlsLS4wOS0uMlpNOSAxNGMtMi42OSAwLTUuNDItMS42My02LjkxLTUgMS40OS0zLjM3IDQuMjItNSA2LjktNSAyLjcgMCA1LjQzIDEuNjMgNi45MiA1LTEuNSAzLjM3LTQuMjMgNS02LjkxIDVaIi8+PC9nPjxnIGNsYXNzPSJjcm9zc2VkLWV5ZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMy43IDE1IDE1IDMuN2wtLjctLjdMMyAxNC4zbC43LjdaTTkgM2MxLjA5IDAgMi4xNy4yMyAzLjE5LjdsLS43Ny43NkMxMC42NCA0LjE2IDkuODIgNCA5IDQgNi4zMSA0IDMuNTggNS42MyAyLjA4IDlhOS4zNSA5LjM1IDAgMCAwIDEuOTMgMi44N2wtLjcuN0ExMC40NCAxMC40NCAwIDAgMSAxLjA4IDkuMkwxIDlsLjA4LS4yQzIuNjkgNC45OSA1LjgyIDMgOSAzWiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgNmEzIDMgMCAwIDEgLjc4LjFsLS45LjlBMiAyIDAgMCAwIDcgOC44N2wtLjkuOUEzIDMgMCAwIDEgOSA2Wk0xMS45IDguMjJsLS45LjlBMiAyIDAgMCAxIDkuMTMgMTFsLS45LjlhMyAzIDAgMCAwIDMuNjctMy42OFoiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDE0Yy0uODIgMC0xLjY0LS4xNS0yLjQzLS40NWwtLjc2Ljc2YzEuMDIuNDYgMi4xLjcgMy4xOS43IDMuMTggMCA2LjMxLTEuOTggNy45Mi01LjgxTDE3IDlsLS4wOC0uMmExMC40NCAxMC40NCAwIDAgMC0yLjIzLTMuMzdsLS43LjdjLjc1Ljc2IDEuNDEgMS43MSAxLjkzIDIuODctMS41IDMuMzctNC4yMyA1LTYuOTIgNVoiLz48L2c+PGcgZmlsbD0ibm9uZSIgY2xhc3M9ImxvYWRpbmctZXllIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTE2LjQ1IDljLTMuMDggNy4zMy0xMS44MiA3LjMzLTE0LjkgMCAzLjA4LTcuMzMgMTEuODItNy4zMyAxNC45IDBaIi8+PC9nPjxnIGZpbGw9Im5vbmUiIGNsYXNzPSJhbmltYXRlZC1sb2FkaW5nLWV5ZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMS41IDlBMi41IDIuNSAwIDEgMCA5IDExLjUiLz48L2c+PC9zdmc+J30sMTEzODEwKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNS41IDExYTEuNSAxLjUgMCAxIDAgMCAzIDEuNSAxLjUgMCAwIDAgMC0zWk0zIDEyLjVhMi41IDIuNSAwIDEgMSA1IDAgMi41IDIuNSAwIDAgMS01IDBabTkuNS0xLjVhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTNaTTEwIDEyLjVhMi41IDIuNSAwIDEgMSA1IDAgMi41IDIuNSAwIDAgMS01IDBabTkuNS0xLjVhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTNaTTE3IDEyLjVhMi41IDIuNSAwIDEgMSA1IDAgMi41IDIuNSAwIDAgMS01IDBaIi8+PC9zdmc+J30sODk2OTQ3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMgMTBhMSAxIDAgMSAwIDAtMiAxIDEgMCAwIDAgMCAyWm0wIDFhMiAyIDAgMSAwIDAtNCAyIDIgMCAwIDAgMCA0Wm02LTFhMSAxIDAgMSAwIDAtMiAxIDEgMCAwIDAgMCAyWm0wIDFhMiAyIDAgMSAwIDAtNCAyIDIgMCAwIDAgMCA0Wm03LTJhMSAxIDAgMSAxLTIgMCAxIDEgMCAwIDEgMiAwWm0xIDBhMiAyIDAgMSAxLTQgMCAyIDIgMCAwIDEgNCAwWiIvPjwvc3ZnPid9LDQ2NzU0OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOC41NC44NGEuOC44IDAgMCAxIC45MiAwbDcuNSA1LjI1YS44LjggMCAwIDEgMCAxLjMybC03LjUgNS4yNWEuOC44IDAgMCAxLS45MiAwTDEuMDQgNy40YS44LjggMCAwIDEgMC0xLjMyTDguNTQuODR6TTIuOSA2Ljc1TDkgMTEuMDJsNi4xLTQuMjdMOSAyLjQ4IDIuOSA2Ljc1eiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTS44NCAxMC44YS44LjggMCAwIDEgMS4xMi0uMkw5IDE1LjUxbDcuMDQtNC45M2EuOC44IDAgMCAxIC45MiAxLjMybC03LjUgNS4yNWEuOC44IDAgMCAxLS45MiAwbC03LjUtNS4yNWEuOC44IDAgMCAxLS4yLTEuMTJ6Ii8+PC9zdmc+J30sOTUyNTQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1IDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTcuMjMgMi41OGEuNS41IDAgMCAxIC41NCAwbDUuNSAzLjVhLjUuNSAwIDAgMSAwIC44NGwtNS41IDMuNWEuNS41IDAgMCAxLS41NCAwbC01LjUtMy41YS41LjUgMCAwIDEgMC0uODRsNS41LTMuNXpNMi45MyA2LjVMNy41IDkuNGw0LjU3LTIuOUw3LjUgMy42IDIuOTMgNi41eiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEuNTggOS4yM2EuNS41IDAgMCAxIC42OS0uMTVMNy41IDEyLjRsNS4yMy0zLjMzYS41LjUgMCAwIDEgLjU0Ljg0bC01LjUgMy41YS41LjUgMCAwIDEtLjU0IDBsLTUuNS0zLjVhLjUuNSAwIDAgMS0uMTUtLjY5eiIvPjwvc3ZnPid9LDg1MjY3MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNiA3LjVBMi41IDIuNSAwIDAgMSA4LjUgNUgxMHYxSDguNUM3LjY3IDYgNyA2LjY3IDcgNy41djEuMTVhMy41IDMuNSAwIDAgMS0xLjkzIDMuMTNsLS40NS4yMi40NS4yMkEzLjUgMy41IDAgMCAxIDcgMTUuMzV2MS4xNWMwIC44My42NyAxLjUgMS41IDEuNUgxMHYxSDguNUEyLjUgMi41IDAgMCAxIDYgMTYuNXYtMS4xNWEyLjUgMi41IDAgMCAwLTEuMzgtMi4yM2wtMS4zNC0uNjdhLjUuNSAwIDAgMSAwLS45bDEuMzQtLjY3QTIuNSAyLjUgMCAwIDAgNiA4LjY1VjcuNVpNMTUuNSA2SDE0VjVoMS41QTIuNSAyLjUgMCAwIDEgMTggNy41djEuMTVjMCAuOTQuNTQgMS44IDEuMzggMi4yM2wxLjM0LjY3YS41LjUgMCAwIDEgMCAuOWwtMS4zNC42N0EyLjUgMi41IDAgMCAwIDE4IDE1LjM1djEuMTVhMi41IDIuNSAwIDAgMS0yLjUgMi41SDE0di0xaDEuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEuMTVhMy41IDMuNSAwIDAgMSAxLjkzLTMuMTNsLjQ1LS4yMi0uNDUtLjIyQTMuNSAzLjUgMCAwIDEgMTcgOC42NVY3LjVjMC0uODMtLjY3LTEuNS0xLjUtMS41WiIvPjwvc3ZnPid9LDE0NTA5MChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTcgMTRINS41QTEuNSAxLjUgMCAwIDEgNCAxMi41di0xQTIuOSAyLjkgMCAwIDAgMi42NiA5bC4xOC0uMTNBMi45IDIuOSAwIDAgMCA0IDYuNVY1LjVDNCA0LjY3IDQuNjcgNCA1LjUgNEg3VjNINS41QTIuNSAyLjUgMCAwIDAgMyA1LjVWNi41YTEuOSAxLjkgMCAwIDEtLjc3IDEuNThjLS40Mi4zMi0uODQuNDMtLjg1LjQ0QzEuMyA4LjU0IDEgOC42NSAxIDlzLjMuNDYuMzguNDhjMCAwIC40My4xMi44NS40NC40LjMuNzcuOC43NyAxLjU4djFBMi41IDIuNSAwIDAgMCA1LjUgMTVIN3YtMVptNC0xMGgxLjVjLjgzIDAgMS41LjY3IDEuNSAxLjV2MUEyLjkgMi45IDAgMCAwIDE1LjM0IDlsLS4xOC4xM0EyLjkgMi45IDAgMCAwIDE0IDExLjVWMTIuNWMwIC44My0uNjcgMS41LTEuNSAxLjVIMTF2MWgxLjVhMi41IDIuNSAwIDAgMCAyLjUtMi41VjExLjVjMC0uNzkuMzgtMS4yNy43Ny0xLjU4LjQyLS4zMi44NC0uNDMuODUtLjQ0LjA4LS4wMi4zOC0uMTMuMzgtLjQ4cy0uMy0uNDYtLjM4LS40OGMwIDAtLjQzLS4xMi0uODUtLjQ0LS40LS4zLS43Ny0uOC0uNzctMS41OHYtMUEyLjUgMi41IDAgMCAwIDEyLjUgM0gxMXYxWiIvPjwvc3ZnPid9LDY5ODU5MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Im01LjEyIDEyIDMtNmg3Ljc2bDMgNi0zIDZIOC4xMmwtMy02Wk03LjUgNWg5bDMuNSA3LTMuNSA3aC05TDQgMTJsMy41LTdabTYuNSA3YTIgMiAwIDEgMS00IDAgMiAyIDAgMCAxIDQgMFptMSAwYTMgMyAwIDEgMS02IDAgMyAzIDAgMCAxIDYgMFoiLz48L3N2Zz4nfSw3NDI0MTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJtMy4xIDkgMi4yOC01aDcuMjRsMi4yOCA1LTIuMjggNUg1LjM4TDMuMSA5Wm0xLjYzLTZoOC41NEwxNiA5bC0yLjczIDZINC43M0wyIDlsMi43My02Wm01Ljc3IDZhMS41IDEuNSAwIDEgMS0zIDAgMS41IDEuNSAwIDAgMSAzIDBabTEgMGEyLjUgMi41IDAgMSAxLTUgMCAyLjUgMi41IDAgMCAxIDUgMFoiLz48L3N2Zz4nfSw3MjA1MjUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEwLjUgNmEuNS41IDAgMCAwLS41LjVWN2g0di0uNWEuNS41IDAgMCAwLS41LS41aC0zWk0xNSA3aDN2MWgtMS4wNGwtLjg4IDkuNjRhMS41IDEuNSAwIDAgMS0xLjUgMS4zNkg5LjQyYTEuNSAxLjUgMCAwIDEtMS41LTEuMzZMNy4wNSA4SDZWN2gzdi0uNWMwLS44My42Ny0xLjUgMS41LTEuNWgzYy44MyAwIDEuNS42NyAxLjUgMS41VjdaTTguMDUgOGwuODcgOS41NWEuNS41IDAgMCAwIC41LjQ1aDUuMTdhLjUuNSAwIDAgMCAuNS0uNDVMMTUuOTQgOGgtNy45WiIvPjwvc3ZnPid9LDg3MjgzOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTUgMTUiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMSAyIDcuNSA1IDQgMiIgY2xhc3M9ImJyYWNrZXQtdXAiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTQgMTNsMy41LTMgMy41IDMiIGNsYXNzPSJicmFja2V0LWRvd24iLz48L3N2Zz4nfSwzNzU3MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMC41MyAzLjczIDE0IDkuMzMgNy40NyAzLjczTTcuNDcgMjQuMjdsNi41MyAtNS42MCA2LjUzIDUuNjAiLz48L3N2Zz4nfSwxNzcyNTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE0IDd2MTIuOTNsNS4xOC00LjMxLjY0Ljc2LTYuMzIgNS4yNy02LjMyLTUuMjcuNjQtLjc2TDEzIDE5LjkzVjdoMXoiLz48L3N2Zz4nfSw1MzY1MzMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE5LjMyIDZIOC42OEEyLjY4IDIuNjggMCAwIDAgNiA4LjY4VjExaDFWOC42OEM3IDcuNzUgNy43NSA3IDguNjggN2gxMC42NGMuOTMgMCAxLjY4Ljc1IDEuNjggMS42OFYxMWgxVjguNjhDMjIgNy4yIDIwLjggNiAxOS4zMiA2ek03IDE5LjMyYzAgLjkzLjc1IDEuNjggMS42OCAxLjY4aDEwLjY0Yy45MyAwIDEuNjgtLjc1IDEuNjgtMS42OFYxN2gxdjIuMzJDMjIgMjAuOCAyMC44IDIyIDE5LjMyIDIySDguNjhBMi42OCAyLjY4IDAgMCAxIDYgMTkuMzJWMTdoMXYyLjMyeiIvPjwvc3ZnPid9LDI5NjE2MyhlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJtNy40NyA5LjMzIDYuNTMgLTUuNjBMMjAuNTMgOS4zM00yMC41MyAxOC42N2wtNi41MyA1LjYwTDcuNDcgMTguNjciLz48L3N2Zz4nfSw2MTczMDMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE4IDdoNXYxaC0yLjAxbC0xLjMzIDE0LjY0YTEuNSAxLjUgMCAwIDEtMS41IDEuMzZIOS44NGExLjUgMS41IDAgMCAxLTEuNDktMS4zNkw3LjAxIDhINVY3aDVWNmMwLTEuMS45LTIgMi0yaDRhMiAyIDAgMCAxIDIgMnYxWm0tNi0yYTEgMSAwIDAgMC0xIDF2MWg2VjZhMSAxIDAgMCAwLTEtMWgtNFpNOC4wMiA4bDEuMzIgMTQuNTRhLjUuNSAwIDAgMCAuNS40Nmg4LjMzYS41LjUgMCAwIDAgLjUtLjQ2TDE5Ljk5IDhIOC4wMloiLz48L3N2Zz4nfSw5NjIwNzIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEzLjUgNi4zNWw2LjMyIDUuMjctLjY0Ljc2TDE0IDguMDdWMjFoLTFWOC4wN2wtNS4xOCA0LjMxLS42NC0uNzYgNi4zMi01LjI3eiIvPjwvc3ZnPid9LDc1MTUxMShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTUgMTUiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSI+PGNpcmNsZSBmaWxsPSJjdXJyZW50Q29sb3IiIGN4PSIxMi43NSIgY3k9IjcuNSIgcj0iMS4yNSIvPjxjaXJjbGUgZmlsbD0iY3VycmVudENvbG9yIiBjeD0iNy41IiBjeT0iNy41IiByPSIxLjI1Ii8+PGNpcmNsZSBmaWxsPSJjdXJyZW50Q29sb3IiIGN4PSIyLjI1IiBjeT0iNy41IiByPSIxLjI1Ii8+PC9zdmc+J30sNDIzNjQzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNSAxNSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMS44MyA4Ljg4bC0uNjYtLjc2TDggMTAuOVYzSDd2Ny45TDMuODMgOC4xMmwtLjY2Ljc2IDQuMzMgMy43OCA0LjMzLTMuNzh6Ii8+PC9zdmc+J30sNTM4MDkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1IDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQuNSAxMkExLjUgMS41IDAgMCAxIDMgMTAuNVY5SDJ2MS41QTIuNSAyLjUgMCAwIDAgNC41IDEzaDZhMi41IDIuNSAwIDAgMCAyLjUtMi41VjloLTF2MS41YzAgLjgzLS42NyAxLjUtMS41IDEuNWgtNnoiIGNsYXNzPSJicmFja2V0LXVwIi8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNC41IDNDMy42NyAzIDMgMy42NyAzIDQuNVY2SDJWNC41QTIuNSAyLjUgMCAwIDEgNC41IDJoNkEyLjUgMi41IDAgMCAxIDEzIDQuNVY2aC0xVjQuNWMwLS44My0uNjctMS41LTEuNS0xLjVoLTZ6IiBjbGFzcz0iYnJhY2tldC1kb3duIi8+PC9zdmc+J30sNjQ4OTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1IDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJtNCA1IDMuNS0zTDExIDUiIGNsYXNzPSJicmFja2V0LXVwIi8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMSAxMGwtMy41IDNMNCAxMCIgY2xhc3M9ImJyYWNrZXQtZG93biIvPjwvc3ZnPid9LDI4NDA3NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTUgMTUiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNi41IDJhLjUuNSAwIDAgMC0uNS41VjNoM3YtLjVhLjUuNSAwIDAgMC0uNS0uNWgtMlpNMTAgM2gzdjFoLTEuMDVsLS44NiA4LjY1QTEuNSAxLjUgMCAwIDEgOS41OSAxNEg1LjRhMS41IDEuNSAwIDAgMS0xLjQ5LTEuMzVMMy4wNSA0SDJWM2gzdi0uNUM1IDEuNjcgNS42NyAxIDYuNSAxaDJjLjgzIDAgMS41LjY3IDEuNSAxLjVWM1pNNC4wNSA0bC44NiA4LjU1YS41LjUgMCAwIDAgLjUuNDVIOS42YS41LjUgMCAwIDAgLjUtLjQ1TDEwLjk0IDRoLTYuOVoiLz48L3N2Zz4nfSw4MTI5NDgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1IDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTExLjgzIDYuMTJsLS42Ni43Nkw4IDQuMVYxMkg3VjQuMUwzLjgzIDYuODhsLS42Ni0uNzZMNy41IDIuMzRsNC4zMyAzLjc4eiIvPjwvc3ZnPid9LDM4MDU2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjEuNSIgZD0iTTcgMTVsNSA1TDIzIDkiLz48L3N2Zz4nfSw4MjQyNDIoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yLjQgNS40NmEuOC44IDAgMCAxIDEuMTQtLjA1TDggOS40Mmw0LjQ2LTQuMDFhLjguOCAwIDAgMSAxLjA4IDEuMThMOCAxMS41OCAyLjQ3IDYuNTlhLjguOCAwIDAgMS0uMDYtMS4xM3oiLz48L3N2Zz4nfSw0NzE1MTgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1IDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTMuNSA1LjU4Yy4yNC0uMjguNjUtLjMuOTItLjA3TDcuNSA4LjE0bDMuMDgtMi42M2EuNjUuNjUgMCAxIDEgLjg0Ljk4TDcuNSA5Ljg2IDMuNTggNi40OWEuNjUuNjUgMCAwIDEtLjA3LS45MXoiLz48L3N2Zz4nfSw0MzE4NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNyA3IiB3aWR0aD0iNyIgaGVpZ2h0PSI3Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zLjUgN0w3IDRINFYwSDNWNEgwTDMuNSA3WiIvPjwvc3ZnPid9LDM2ODk1NChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOSA3IiB3aWR0aD0iOSIgaGVpZ2h0PSI3Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0uNSAzLjVMNCAwdjNoNXYxSDR2M3oiLz48L3N2Zz4nfSw5MzMxMTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEyIDEyIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTExLjU3IDBIMWExIDEgMCAwIDAtMSAxdjEwYTEgMSAwIDAgMCAxIDFoMTAuNTdhLjUuNSAwIDAgMCAuNDEtLjc4bC0zLjMtNC45NGEuNS41IDAgMCAxIDAtLjU2bDMuMy00Ljk0YS41LjUgMCAwIDAtLjQxLS43OHoiLz48L3N2Zz4nfSwyOTEyMDkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDkgNyIgd2lkdGg9IjkiIGhlaWdodD0iNyI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOC41IDMuNUw1IDB2M0gwdjFoNXYzeiIvPjwvc3ZnPid9LDgzNTU1MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNyA3IiB3aWR0aD0iNyIgaGVpZ2h0PSI3Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zLjUgMEwwIDNoM3Y0aDFWM2gzTDMuNSAweiIvPjwvc3ZnPid9LDI2MDYwMyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtkZWZhdWx0OigpPT5zfSk7Y29uc3Qgcz1mdW5jdGlvbigpe3ZhciBlPXtiYXNlOiJodHRwczovL3R3ZW1vamkubWF4Y2RuLmNvbS92LzEzLjAuMS8iLGV4dDoiLnBuZyIsc2l6ZToiNzJ4NzIiLGNsYXNzTmFtZToiZW1vamkiLGNvbnZlcnQ6e2Zyb21Db2RlUG9pbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9InN0cmluZyI9PXR5cGVvZiBlP3BhcnNlSW50KGUsMTYpOmU7aWYodDw2NTUzNilyZXR1cm4gbCh0KTtyZXR1cm4gbCg1NTI5NisoKHQtPTY1NTM2KT4+MTApLDU2MzIwKygxMDIzJnQpKX0sdG9Db2RlUG9pbnQ6Yn0sb25lcnJvcjpmdW5jdGlvbigpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChyKHRoaXMuYWx0LCExKSx0aGlzKX0scGFyc2U6ZnVuY3Rpb24odCxpKXtpJiYiZnVuY3Rpb24iIT10eXBlb2YgaXx8KGk9e2NhbGxiYWNrOml9KTtyZXR1cm4oInN0cmluZyI9PXR5cGVvZiB0P3A6aCkodCx7Y2FsbGJhY2s6aS5jYWxsYmFja3x8ZCxhdHRyaWJ1dGVzOiJmdW5jdGlvbiI9PXR5cGVvZiBpLmF0dHJpYnV0ZXM/aS5hdHRyaWJ1dGVzOmcsYmFzZToic3RyaW5nIj09dHlwZW9mIGkuYmFzZT9pLmJhc2U6ZS5iYXNlLGV4dDppLmV4dHx8ZS5leHQsc2l6ZTppLmZvbGRlcnx8KHM9aS5zaXplfHxlLnNpemUsIm51bWJlciI9PXR5cGVvZiBzP3MrIngiK3M6cyksY2xhc3NOYW1lOmkuY2xhc3NOYW1lfHxlLmNsYXNzTmFtZSxvbmVycm9yOmkub25lcnJvcnx8ZS5vbmVycm9yfSk7dmFyIHN9LHJlcGxhY2U6bSx0ZXN0OmZ1bmN0aW9uKGUpe2kubGFzdEluZGV4PTA7dmFyIHQ9aS50ZXN0KGUpO3JldHVybiBpLmxhc3RJbmRleD0wLHR9fSx0PXsiJiI6IiZhbXA7IiwiPCI6IiZsdDsiLCI+IjoiJmd0OyIsIiciOiImIzM5OyIsJyInOiImcXVvdDsiCn0saT0vKD86XHVkODNkXHVkYzY4XHVkODNjXHVkZmZiXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYy1cdWRmZmZdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmY1x1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmJcdWRmZmQtXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmRcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiXHVkZmZjXHVkZmZlXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmVcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZFx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZmXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmVdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmYlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmMtXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmJcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZjLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZjXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYlx1ZGZmZC1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmY1x1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmJcdWRmZmQtXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmRcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiXHVkZmZjXHVkZmZlXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmRcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiXHVkZmZjXHVkZmZlXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmVcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZFx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZlXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYi1cdWRmZmRcdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZlXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmZcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiLVx1ZGZmZV18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZiXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmY1x1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmRcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZlXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmZlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDF8XHVkODNkXHVkYzZiXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFx1ZGM2Y1x1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RcdWRjNmRcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkW1x1ZGM2Yi1cdWRjNmRdKXwoPzpcdWQ4M2RbXHVkYzY4XHVkYzY5XXxcdWQ4M2VcdWRkZDEpKD86XHVkODNjW1x1ZGZmYi1cdWRmZmZdKT9cdTIwMGQoPzpcdTI2OTVcdWZlMGZ8XHUyNjk2XHVmZTBmfFx1MjcwOFx1ZmUwZnxcdWQ4M2NbXHVkZjNlXHVkZjczXHVkZjdjXHVkZjg0XHVkZjkzXHVkZmE0XHVkZmE4XHVkZmViXHVkZmVkXXxcdWQ4M2RbXHVkY2JiXHVkY2JjXHVkZDI3XHVkZDJjXHVkZTgwXHVkZTkyXXxcdWQ4M2VbXHVkZGFmLVx1ZGRiM1x1ZGRiY1x1ZGRiZF0pfCg/Olx1ZDgzY1tcdWRmY2JcdWRmY2NdfFx1ZDgzZFtcdWRkNzRcdWRkNzVdfFx1MjZmOSkoKD86XHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZmUwZilcdTIwMGRbXHUyNjQwXHUyNjQyXVx1ZmUwZil8KD86XHVkODNjW1x1ZGZjM1x1ZGZjNFx1ZGZjYV18XHVkODNkW1x1ZGM2ZVx1ZGM3MFx1ZGM3MVx1ZGM3M1x1ZGM3N1x1ZGM4MVx1ZGM4Mlx1ZGM4Nlx1ZGM4N1x1ZGU0NS1cdWRlNDdcdWRlNGJcdWRlNGRcdWRlNGVcdWRlYTNcdWRlYjQtXHVkZWI2XXxcdWQ4M2VbXHVkZDI2XHVkZDM1XHVkZDM3LVx1ZGQzOVx1ZGQzZFx1ZGQzZVx1ZGRiOFx1ZGRiOVx1ZGRjZC1cdWRkY2ZcdWRkZDYtXHVkZGRkXSkoPzpcdWQ4M2NbXHVkZmZiLVx1ZGZmZl0pP1x1MjAwZFtcdTI2NDBcdTI2NDJdXHVmZTBmfCg/Olx1ZDgzZFx1ZGM2OFx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM4Ylx1MjAwZFx1ZDgzZFx1ZGM2OHxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjZ8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM4Ylx1MjAwZFx1ZDgzZFtcdWRjNjhcdWRjNjldfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NnxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjhcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjNjh8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFtcdWRjNjhcdWRjNjldfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NnxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2NcdWRmZjNcdWZlMGZcdTIwMGRcdTI2YTdcdWZlMGZ8XHVkODNjXHVkZmYzXHVmZTBmXHUyMDBkXHVkODNjXHVkZjA4fFx1ZDgzY1x1ZGZmNFx1MjAwZFx1MjYyMFx1ZmUwZnxcdWQ4M2RcdWRjMTVcdTIwMGRcdWQ4M2VcdWRkYmF8XHVkODNkXHVkYzNiXHUyMDBkXHUyNzQ0XHVmZTBmfFx1ZDgzZFx1ZGM0MVx1MjAwZFx1ZDgzZFx1ZGRlOHxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNmZcdTIwMGRcdTI2NDBcdWZlMGZ8XHVkODNkXHVkYzZmXHUyMDBkXHUyNjQyXHVmZTBmfFx1ZDgzZVx1ZGQzY1x1MjAwZFx1MjY0MFx1ZmUwZnxcdWQ4M2VcdWRkM2NcdTIwMGRcdTI2NDJcdWZlMGZ8XHVkODNlXHVkZGRlXHUyMDBkXHUyNjQwXHVmZTBmfFx1ZDgzZVx1ZGRkZVx1MjAwZFx1MjY0Mlx1ZmUwZnxcdWQ4M2VcdWRkZGZcdTIwMGRcdTI2NDBcdWZlMGZ8XHVkODNlXHVkZGRmXHUyMDBkXHUyNjQyXHVmZTBmfFx1ZDgzZFx1ZGMwOFx1MjAwZFx1MmIxYil8WyMqMC05XVx1ZmUwZj9cdTIwZTN8KD86W8Kpwq5cdTIxMjJcdTI2NWZdXHVmZTBmKXwoPzpcdWQ4M2NbXHVkYzA0XHVkZDcwXHVkZDcxXHVkZDdlXHVkZDdmXHVkZTAyXHVkZTFhXHVkZTJmXHVkZTM3XHVkZjIxXHVkZjI0LVx1ZGYyY1x1ZGYzNlx1ZGY3ZFx1ZGY5Nlx1ZGY5N1x1ZGY5OS1cdWRmOWJcdWRmOWVcdWRmOWZcdWRmY2RcdWRmY2VcdWRmZDQtXHVkZmRmXHVkZmYzXHVkZmY1XHVkZmY3XXxcdWQ4M2RbXHVkYzNmXHVkYzQxXHVkY2ZkXHVkZDQ5XHVkZDRhXHVkZDZmXHVkZDcwXHVkZDczXHVkZDc2LVx1ZGQ3OVx1ZGQ4N1x1ZGQ4YS1cdWRkOGRcdWRkYTVcdWRkYThcdWRkYjFcdWRkYjJcdWRkYmNcdWRkYzItXHVkZGM0XHVkZGQxLVx1ZGRkM1x1ZGRkYy1cdWRkZGVcdWRkZTFcdWRkZTNcdWRkZThcdWRkZWZcdWRkZjNcdWRkZmFcdWRlY2JcdWRlY2QtXHVkZWNmXHVkZWUwLVx1ZGVlNVx1ZGVlOVx1ZGVmMFx1ZGVmM118W1x1MjAzY1x1MjA0OVx1MjEzOVx1MjE5NC1cdTIxOTlcdTIxYTlcdTIxYWFcdTIzMWFcdTIzMWJcdTIzMjhcdTIzY2ZcdTIzZWQtXHUyM2VmXHUyM2YxXHUyM2YyXHUyM2Y4LVx1MjNmYVx1MjRjMlx1MjVhYVx1MjVhYlx1MjViNlx1MjVjMFx1MjVmYi1cdTI1ZmVcdTI2MDAtXHUyNjA0XHUyNjBlXHUyNjExXHUyNjE0XHUyNjE1XHUyNjE4XHUyNjIwXHUyNjIyXHUyNjIzXHUyNjI2XHUyNjJhXHUyNjJlXHUyNjJmXHUyNjM4LVx1MjYzYVx1MjY0MFx1MjY0Mlx1MjY0OC1cdTI2NTNcdTI2NjBcdTI2NjNcdTI2NjVcdTI2NjZcdTI2NjhcdTI2N2JcdTI2N2ZcdTI2OTItXHUyNjk3XHUyNjk5XHUyNjliXHUyNjljXHUyNmEwXHUyNmExXHUyNmE3XHUyNmFhXHUyNmFiXHUyNmIwXHUyNmIxXHUyNmJkXHUyNmJlXHUyNmM0XHUyNmM1XHUyNmM4XHUyNmNmXHUyNmQxXHUyNmQzXHUyNmQ0XHUyNmU5XHUyNmVhXHUyNmYwLVx1MjZmNVx1MjZmOFx1MjZmYVx1MjZmZFx1MjcwMlx1MjcwOFx1MjcwOVx1MjcwZlx1MjcxMlx1MjcxNFx1MjcxNlx1MjcxZFx1MjcyMVx1MjczM1x1MjczNFx1Mjc0NFx1Mjc0N1x1Mjc1N1x1Mjc2M1x1Mjc2NFx1MjdhMVx1MjkzNFx1MjkzNVx1MmIwNS1cdTJiMDdcdTJiMWJcdTJiMWNcdTJiNTBcdTJiNTVcdTMwMzBcdTMwM2RcdTMyOTdcdTMyOTldKSg/Olx1ZmUwZnwoPyFcdWZlMGUpKXwoPzooPzpcdWQ4M2NbXHVkZmNiXHVkZmNjXXxcdWQ4M2RbXHVkZDc0XHVkZDc1XHVkZDkwXXxbXHUyNjFkXHUyNmY3XHUyNmY5XHUyNzBjXHUyNzBkXSkoPzpcdWZlMGZ8KD8hXHVmZTBlKSl8KD86XHVkODNjW1x1ZGY4NVx1ZGZjMi1cdWRmYzRcdWRmYzdcdWRmY2FdfFx1ZDgzZFtcdWRjNDJcdWRjNDNcdWRjNDYtXHVkYzUwXHVkYzY2LVx1ZGM2OVx1ZGM2ZVx1ZGM3MC1cdWRjNzhcdWRjN2NcdWRjODEtXHVkYzgzXHVkYzg1LVx1ZGM4N1x1ZGNhYVx1ZGQ3YVx1ZGQ5NVx1ZGQ5Nlx1ZGU0NS1cdWRlNDdcdWRlNGItXHVkZTRmXHVkZWEzXHVkZWI0LVx1ZGViNlx1ZGVjMFx1ZGVjY118XHVkODNlW1x1ZGQwY1x1ZGQwZlx1ZGQxOC1cdWRkMWNcdWRkMWVcdWRkMWZcdWRkMjZcdWRkMzAtXHVkZDM5XHVkZDNkXHVkZDNlXHVkZDc3XHVkZGI1XHVkZGI2XHVkZGI4XHVkZGI5XHVkZGJiXHVkZGNkLVx1ZGRjZlx1ZGRkMS1cdWRkZGRdfFtcdTI3MGFcdTI3MGJdKSkoPzpcdWQ4M2NbXHVkZmZiLVx1ZGZmZl0pP3woPzpcdWQ4M2NcdWRmZjRcdWRiNDBcdWRjNjdcdWRiNDBcdWRjNjJcdWRiNDBcdWRjNjVcdWRiNDBcdWRjNmVcdWRiNDBcdWRjNjdcdWRiNDBcdWRjN2Z8XHVkODNjXHVkZmY0XHVkYjQwXHVkYzY3XHVkYjQwXHVkYzYyXHVkYjQwXHVkYzczXHVkYjQwXHVkYzYzXHVkYjQwXHVkYzc0XHVkYjQwXHVkYzdmfFx1ZDgzY1x1ZGZmNFx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM2Mlx1ZGI0MFx1ZGM3N1x1ZGI0MFx1ZGM2Y1x1ZGI0MFx1ZGM3M1x1ZGI0MFx1ZGM3ZnxcdWQ4M2NcdWRkZTZcdWQ4M2NbXHVkZGU4LVx1ZGRlY1x1ZGRlZVx1ZGRmMVx1ZGRmMlx1ZGRmNFx1ZGRmNi1cdWRkZmFcdWRkZmNcdWRkZmRcdWRkZmZdfFx1ZDgzY1x1ZGRlN1x1ZDgzY1tcdWRkZTZcdWRkZTdcdWRkZTktXHVkZGVmXHVkZGYxLVx1ZGRmNFx1ZGRmNi1cdWRkZjlcdWRkZmJcdWRkZmNcdWRkZmVcdWRkZmZdfFx1ZDgzY1x1ZGRlOFx1ZDgzY1tcdWRkZTZcdWRkZThcdWRkZTlcdWRkZWItXHVkZGVlXHVkZGYwLVx1ZGRmNVx1ZGRmN1x1ZGRmYS1cdWRkZmZdfFx1ZDgzY1x1ZGRlOVx1ZDgzY1tcdWRkZWFcdWRkZWNcdWRkZWZcdWRkZjBcdWRkZjJcdWRkZjRcdWRkZmZdfFx1ZDgzY1x1ZGRlYVx1ZDgzY1tcdWRkZTZcdWRkZThcdWRkZWFcdWRkZWNcdWRkZWRcdWRkZjctXHVkZGZhXXxcdWQ4M2NcdWRkZWJcdWQ4M2NbXHVkZGVlLVx1ZGRmMFx1ZGRmMlx1ZGRmNFx1ZGRmN118XHVkODNjXHVkZGVjXHVkODNjW1x1ZGRlNlx1ZGRlN1x1ZGRlOS1cdWRkZWVcdWRkZjEtXHVkZGYzXHVkZGY1LVx1ZGRmYVx1ZGRmY1x1ZGRmZV18XHVkODNjXHVkZGVkXHVkODNjW1x1ZGRmMFx1ZGRmMlx1ZGRmM1x1ZGRmN1x1ZGRmOVx1ZGRmYV18XHVkODNjXHVkZGVlXHVkODNjW1x1ZGRlOC1cdWRkZWFcdWRkZjEtXHVkZGY0XHVkZGY2LVx1ZGRmOV18XHVkODNjXHVkZGVmXHVkODNjW1x1ZGRlYVx1ZGRmMlx1ZGRmNFx1ZGRmNV18XHVkODNjXHVkZGYwXHVkODNjW1x1ZGRlYVx1ZGRlYy1cdWRkZWVcdWRkZjJcdWRkZjNcdWRkZjVcdWRkZjdcdWRkZmNcdWRkZmVcdWRkZmZdfFx1ZDgzY1x1ZGRmMVx1ZDgzY1tcdWRkZTYtXHVkZGU4XHVkZGVlXHVkZGYwXHVkZGY3LVx1ZGRmYlx1ZGRmZV18XHVkODNjXHVkZGYyXHVkODNjW1x1ZGRlNlx1ZGRlOC1cdWRkZWRcdWRkZjAtXHVkZGZmXXxcdWQ4M2NcdWRkZjNcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGVhLVx1ZGRlY1x1ZGRlZVx1ZGRmMVx1ZGRmNFx1ZGRmNVx1ZGRmN1x1ZGRmYVx1ZGRmZl18XHVkODNjXHVkZGY0XHVkODNjXHVkZGYyfFx1ZDgzY1x1ZGRmNVx1ZDgzY1tcdWRkZTZcdWRkZWEtXHVkZGVkXHVkZGYwLVx1ZGRmM1x1ZGRmNy1cdWRkZjlcdWRkZmNcdWRkZmVdfFx1ZDgzY1x1ZGRmNlx1ZDgzY1x1ZGRlNnxcdWQ4M2NcdWRkZjdcdWQ4M2NbXHVkZGVhXHVkZGY0XHVkZGY4XHVkZGZhXHVkZGZjXXxcdWQ4M2NcdWRkZjhcdWQ4M2NbXHVkZGU2LVx1ZGRlYVx1ZGRlYy1cdWRkZjRcdWRkZjctXHVkZGY5XHVkZGZiXHVkZGZkLVx1ZGRmZl18XHVkODNjXHVkZGY5XHVkODNjW1x1ZGRlNlx1ZGRlOFx1ZGRlOVx1ZGRlYi1cdWRkZWRcdWRkZWYtXHVkZGY0XHVkZGY3XHVkZGY5XHVkZGZiXHVkZGZjXHVkZGZmXXxcdWQ4M2NcdWRkZmFcdWQ4M2NbXHVkZGU2XHVkZGVjXHVkZGYyXHVkZGYzXHVkZGY4XHVkZGZlXHVkZGZmXXxcdWQ4M2NcdWRkZmJcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGVhXHVkZGVjXHVkZGVlXHVkZGYzXHVkZGZhXXxcdWQ4M2NcdWRkZmNcdWQ4M2NbXHVkZGViXHVkZGY4XXxcdWQ4M2NcdWRkZmRcdWQ4M2NcdWRkZjB8XHVkODNjXHVkZGZlXHVkODNjW1x1ZGRlYVx1ZGRmOV18XHVkODNjXHVkZGZmXHVkODNjW1x1ZGRlNlx1ZGRmMlx1ZGRmY118XHVkODNjW1x1ZGNjZlx1ZGQ4ZVx1ZGQ5MS1cdWRkOWFcdWRkZTYtXHVkZGZmXHVkZTAxXHVkZTMyLVx1ZGUzNlx1ZGUzOC1cdWRlM2FcdWRlNTBcdWRlNTFcdWRmMDAtXHVkZjIwXHVkZjJkLVx1ZGYzNVx1ZGYzNy1cdWRmN2NcdWRmN2UtXHVkZjg0XHVkZjg2LVx1ZGY5M1x1ZGZhMC1cdWRmYzFcdWRmYzVcdWRmYzZcdWRmYzhcdWRmYzlcdWRmY2YtXHVkZmQzXHVkZmUwLVx1ZGZmMFx1ZGZmNFx1ZGZmOC1cdWRmZmZdfFx1ZDgzZFtcdWRjMDAtXHVkYzNlXHVkYzQwXHVkYzQ0XHVkYzQ1XHVkYzUxLVx1ZGM2NVx1ZGM2YVx1ZGM2Zlx1ZGM3OS1cdWRjN2JcdWRjN2QtXHVkYzgwXHVkYzg0XHVkYzg4LVx1ZGNhOVx1ZGNhYi1cdWRjZmNcdWRjZmYtXHVkZDNkXHVkZDRiLVx1ZGQ0ZVx1ZGQ1MC1cdWRkNjdcdWRkYTRcdWRkZmItXHVkZTQ0XHVkZTQ4LVx1ZGU0YVx1ZGU4MC1cdWRlYTJcdWRlYTQtXHVkZWIzXHVkZWI3LVx1ZGViZlx1ZGVjMS1cdWRlYzVcdWRlZDAtXHVkZWQyXHVkZWQ1LVx1ZGVkN1x1ZGVlYlx1ZGVlY1x1ZGVmNC1cdWRlZmNcdWRmZTAtXHVkZmViXXxcdWQ4M2VbXHVkZDBkXHVkZDBlXHVkZDEwLVx1ZGQxN1x1ZGQxZFx1ZGQyMC1cdWRkMjVcdWRkMjctXHVkZDJmXHVkZDNhXHVkZDNjXHVkZDNmLVx1ZGQ0NVx1ZGQ0Ny1cdWRkNzZcdWRkNzhcdWRkN2EtXHVkZGI0XHVkZGI3XHVkZGJhXHVkZGJjLVx1ZGRjYlx1ZGRkMFx1ZGRkZS1cdWRkZmZcdWRlNzAtXHVkZTc0XHVkZTc4LVx1ZGU3YVx1ZGU4MC1cdWRlODZcdWRlOTAtXHVkZWE4XHVkZWIwLVx1ZGViNlx1ZGVjMC1cdWRlYzJcdWRlZDAtXHVkZWQ2XXxbXHUyM2U5LVx1MjNlY1x1MjNmMFx1MjNmM1x1MjY3ZVx1MjZjZVx1MjcwNVx1MjcyOFx1Mjc0Y1x1Mjc0ZVx1Mjc1My1cdTI3NTVcdTI3OTUtXHUyNzk3XHUyN2IwXHUyN2JmXHVlNTBhXSl8XHVmZTBmL2cscz0vXHVGRTBGL2csbz1TdHJpbmcuZnJvbUNoYXJDb2RlKDgyMDUpLG49L1smPD4nIl0vZyxhPS9eKD86aWZyYW1lfG5vZnJhbWVzfG5vc2NyaXB0fHNjcmlwdHxzZWxlY3R8c3R5bGV8dGV4dGFyZWEpJC8sbD1TdHJpbmcuZnJvbUNoYXJDb2RlCjtyZXR1cm4gZTtmdW5jdGlvbiByKGUsdCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHQ/ZS5yZXBsYWNlKHMsIiIpOmUpfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4iIi5jb25jYXQodC5iYXNlLHQuc2l6ZSwiLyIsZSx0LmV4dCl9ZnVuY3Rpb24gdShlLHQpe2Zvcih2YXIgaSxzLG89ZS5jaGlsZE5vZGVzLG49by5sZW5ndGg7bi0tOykzPT09KHM9KGk9b1tuXSkubm9kZVR5cGUpP3QucHVzaChpKToxIT09c3x8Im93bmVyU1ZHRWxlbWVudCJpbiBpfHxhLnRlc3QoaS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXx8dShpLHQpO3JldHVybiB0fWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGIoZS5pbmRleE9mKG8pPDA/ZS5yZXBsYWNlKHMsIiIpOmUpfWZ1bmN0aW9uIGgoZSx0KXtmb3IodmFyIHMsbyxuLGEsbCxkLGgscCxfLGcsbSxiLHYsZj11KGUsW10pLFM9Zi5sZW5ndGg7Uy0tOyl7Zm9yKG49ITEsYT1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksZD0obD1mW1NdKS5ub2RlVmFsdWUscD0wO2g9aS5leGVjKGQpOyl7aWYoKF89aC5pbmRleCkhPT1wJiZhLmFwcGVuZENoaWxkKHIoZC5zbGljZShwLF8pLCEwKSksYj1jKG09aFswXSkscD1fK20ubGVuZ3RoLHY9dC5jYWxsYmFjayhiLHQpLGImJnYpe2ZvcihvIGluKGc9bmV3IEltYWdlKS5vbmVycm9yPXQub25lcnJvcixnLnNldEF0dHJpYnV0ZSgiZHJhZ2dhYmxlIiwiZmFsc2UiKSxzPXQuYXR0cmlidXRlcyhtLGIpKXMuaGFzT3duUHJvcGVydHkobykmJjAhPT1vLmluZGV4T2YoIm9uIikmJiFnLmhhc0F0dHJpYnV0ZShvKSYmZy5zZXRBdHRyaWJ1dGUobyxzW29dKTtnLmNsYXNzTmFtZT10LmNsYXNzTmFtZSxnLmFsdD1tLGcuc3JjPXYsbj0hMCxhLmFwcGVuZENoaWxkKGcpfWd8fGEuYXBwZW5kQ2hpbGQocihtLCExKSksZz1udWxsfW4mJihwPGQubGVuZ3RoJiZhLmFwcGVuZENoaWxkKHIoZC5zbGljZShwKSwhMCkpLGwucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQoYSxsKSl9cmV0dXJuIGV9ZnVuY3Rpb24gcChlLHQpe3JldHVybiBtKGUsKGZ1bmN0aW9uKGUpe3ZhciBpLHMsbz1lLGE9YyhlKSxsPXQuY2FsbGJhY2soYSx0KTtpZihhJiZsKXtmb3IocyBpbiBvPSI8aW1nICIuY29uY2F0KCdjbGFzcz0iJyx0LmNsYXNzTmFtZSwnIiAnLCdkcmFnZ2FibGU9ImZhbHNlIiAnLCdhbHQ9IicsZSwnIicsJyBzcmM9IicsbCwnIicpLGk9dC5hdHRyaWJ1dGVzKGUsYSkpaS5oYXNPd25Qcm9wZXJ0eShzKSYmMCE9PXMuaW5kZXhPZigib24iKSYmLTE9PT1vLmluZGV4T2YoIiAiK3MrIj0iKSYmKG89by5jb25jYXQoIiAiLHMsJz0iJyxpW3NdLnJlcGxhY2UobixfKSwnIicpKTtvPW8uY29uY2F0KCIvPiIpfXJldHVybiBvfSkpfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIHRbZV19ZnVuY3Rpb24gZygpe3JldHVybiBudWxsfWZ1bmN0aW9uIG0oZSx0KXtyZXR1cm4gU3RyaW5nKGUpLnJlcGxhY2UoaSx0KX1mdW5jdGlvbiBiKGUsdCl7Zm9yKHZhciBpPVtdLHM9MCxvPTAsbj0wO248ZS5sZW5ndGg7KXM9ZS5jaGFyQ29kZUF0KG4rKyksbz8oaS5wdXNoKCg2NTUzNisoby01NTI5Njw8MTApKyhzLTU2MzIwKSkudG9TdHJpbmcoMTYpKSxvPTApOjU1Mjk2PD1zJiZzPD01NjMxOT9vPXM6aS5wdXNoKHMudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKHR8fCItIil9fSgpfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/18512.a3bcdc71c68601b7dbfc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.158Z","timestamp":1785141585158,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/18512.a3bcdc71c68601b7dbfc.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-480d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3c98de9071bf94112a849d1dc35d5ce7\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":18445,"size_decoded":8139,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"038623c38228a4865caf89b1ceed9af4","sha1":"fd2acb21c02b96c3c9c1f1081dab960c7031d783","sha256":"b8d3050d5622dc00f843f06bba75b96d7e07f17b7a71a3e5b77c9d30e3c91720","sha512":"dccd582f4658fc2f09410a5304dd63fe7d4e6420b4a961d737904968f4ca733ac1a0ece06f7a4e90ebf80305f0edcfd2a5fb95ea52ea369659b342075df8d55b","ssdeep":"384:he30HE+F6f00MWmgOsLEWioQLsiJrTNk20ptZTEjifF:hJEU6f00yzsYWxQLsiJrTT0ptPF","tlshash":"6282a5cdf5c0b0a75a93b8b040bf128bb23a6940bc5d9130d116f9d57d7a81ea163fad","first_seen":"2026-07-23T14:00:31.677621Z","last_seen":"2026-07-27T12:48:39.717188Z","times_seen":57,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTg1MTJdLHs0ODkwNTcobix0LGUpe2UuZCh0LHskOigpPT5aLEE6KCk9PlIsQjooKT0+TCxDOigpPT5QLEQ6KCk9PnksRTooKT0+QyxGOigpPT5ILEc6KCk9PlEsSDooKT0+ZixJOigpPT5qLEo6KCk9PkQsTDooKT0+VyxNOigpPT5lbixOOigpPT5hbixPOigpPT50bixQOigpPT5xLFE6KCk9PnVuLFI6KCk9PlUsUzooKT0+RyxUOigpPT5fLFU6KCk9PmNuLFY6KCk9PkksVzooKT0+JCxaOigpPT5YLGE6KCk9PkssYTM6KCk9PnJuLGE0OigpPT5vbixiOigpPT5GLGQ6KCk9PnosZTooKT0+TSxmOigpPT5CLGc6KCk9PkosaDooKT0+WSxpOigpPT5BLGo6KCk9PmssazooKT0+dSxsOigpPT5OLG06KCk9PkUsbjooKT0+eCxvOigpPT5kLHA6KCk9PmwscTooKT0+ZyxyOigpPT52LHM6KCk9Pm0sdDooKT0+aSx1OigpPT5zLHY6KCk9PmIseTooKT0+Uyx6OigpPT5UfSk7dmFyIHI9ZSg1NjQ1MjEpLGE9ZSg2NDQzMjApLG89ZSg0NzQxMzYpO2lmKDIxMTghPWUuail2YXIgYz1lKDgyMzcwOSk7dmFyIHU9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG59fSghMCksaT1mdW5jdGlvbigpe307dmFyIGY9ZnVuY3Rpb24obil7cmV0dXJuIG59OyJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5hc3luY0l0ZXJhdG9yJiZTeW1ib2wuYXN5bmNJdGVyYXRvcjt2YXIgbD1mdW5jdGlvbihuLHQpeygwLGEuZGVmYXVsdCkobix0KSxPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzJiZPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpLmZvckVhY2goKGZ1bmN0aW9uKGUpe25bZV09dFtlXX0pKX0scz1mdW5jdGlvbihuLHQpe3ZhciBlO3JldHVybihlPVtdKS5jb25jYXQuYXBwbHkoZSx0Lm1hcChuKSl9O2Z1bmN0aW9uIHYobix0KXt2YXIgZT1uLmluZGV4T2YodCk7ZT49MCYmbi5zcGxpY2UoZSwxKX1mdW5jdGlvbiBkKG4pe3ZhciB0PSExO3JldHVybiBmdW5jdGlvbigpe3R8fCh0PSEwLG4oKSl9fXZhciBwPWZ1bmN0aW9uKG4pe3Rocm93IG59LGg9ZnVuY3Rpb24obil7cmV0dXJue3ZhbHVlOm4sZG9uZTohMH19O2Z1bmN0aW9uIGcobix0LGUpe3ZvaWQgMD09PXQmJih0PXApLHZvaWQgMD09PWUmJihlPSJpdGVyYXRvciIpO3ZhciByPXttZXRhOntuYW1lOmV9LG5leHQ6bix0aHJvdzp0LHJldHVybjpoLGlzU2FnYUl0ZXJhdG9yOiEwfTtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmKHJbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiByfSkscn1mdW5jdGlvbiB5KG4sdCl7dmFyIGU9dC5zYWdhU3RhY2s7Y29uc29sZS5lcnJvcihuKSxjb25zb2xlLmVycm9yKGUpfXZhciBBPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgRXJyb3IoIlxuICByZWR1eC1zYWdhOiBFcnJvciBjaGVja2luZyBob29rcyBkZXRlY3RlZCBhbiBpbmNvbnNpc3RlbnQgc3RhdGUuIFRoaXMgaXMgbGlrZWx5IGEgYnVnXG4gIGluIHJlZHV4LXNhZ2EgY29kZSBhbmQgbm90IHlvdXJzLiBUaGFua3MgZm9yIHJlcG9ydGluZyB0aGlzIGluIHRoZSBwcm9qZWN0J3MgZ2l0aHViIHJlcG8uXG4gIEVycm9yOiAiK24rIlxuIil9LEU9ZnVuY3Rpb24obil7cmV0dXJuIEFycmF5LmFwcGx5KG51bGwsbmV3IEFycmF5KG4pKX0sQz1mdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG4oT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsci5TQUdBX0FDVElPTix7dmFsdWU6ITB9KSl9fSxUPWZ1bmN0aW9uKG4pe3JldHVybiBuPT09ci5URVJNSU5BVEV9LFM9ZnVuY3Rpb24obil7cmV0dXJuIG49PT1yLlRBU0tfQ0FOQ0VMfSxtPWZ1bmN0aW9uKG4pe3JldHVybiBUKG4pfHxTKG4pfTtmdW5jdGlvbiBOKG4sdCl7dmFyIGU9T2JqZWN0LmtleXMobikscj1lLmxlbmd0aDt2YXIgYSxjPTAsdT0oMCxvLmFycmF5KShuKT9FKHIpOnt9LGY9e307cmV0dXJuIGUuZm9yRWFjaCgoZnVuY3Rpb24obil7dmFyIGU9ZnVuY3Rpb24oZSxvKXthfHwob3x8bShlKT8odC5jYW5jZWwoKSx0KGUsbykpOih1W25dPWUsKytjPT09ciYmKGE9ITAsdCh1KSkpKX07ZS5jYW5jZWw9aSxmW25dPWV9KSksdC5jYW5jZWw9ZnVuY3Rpb24oKXthfHwoYT0hMCxlLmZvckVhY2goKGZ1bmN0aW9uKG4pe3JldHVybiBmW25dLmNhbmNlbCgpfSkpKX0sZn1mdW5jdGlvbiBrKG4pe3JldHVybntuYW1lOm4ubmFtZXx8ImFub255bW91cyIsbG9jYXRpb246YihuKX19ZnVuY3Rpb24gYihuKXtyZXR1cm4gbltyLlNBR0FfTE9DQVRJT05dfWZ1bmN0aW9uIEwoKXtmb3IodmFyIG49YXJndW1lbnRzLmxlbmd0aCx0PW5ldyBBcnJheShuKSxlPTA7ZTxuO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4gMD09PXQubGVuZ3RoP2Z1bmN0aW9uKG4pe3JldHVybiBufToxPT09dC5sZW5ndGg/dFswXTp0LnJlZHVjZSgoZnVuY3Rpb24obix0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbih0LmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpKX19KSl9dmFyIHc9e2lzRW1wdHk6dSxwdXQ6aSx0YWtlOml9O2Z1bmN0aW9uIE8obix0KXt2b2lkIDA9PT1uJiYobj0xMCk7dmFyIGU9bmV3IEFycmF5KG4pLHI9MCxhPTAsbz0wLGM9ZnVuY3Rpb24odCl7ZVthXT10LGE9KGErMSklbixyKyt9LHU9ZnVuY3Rpb24oKXtpZigwIT1yKXt2YXIgdD1lW29dO3JldHVybiBlW29dPW51bGwsci0tLG89KG8rMSklbix0fX0saT1mdW5jdGlvbigpe2Zvcih2YXIgbj1bXTtyOyluLnB1c2godSgpKTtyZXR1cm4gbn07cmV0dXJue2lzRW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gMD09cn0scHV0OmZ1bmN0aW9uKHUpe3ZhciBmO2lmKHI8biljKHUpO2Vsc2Ugc3dpdGNoKHQpe2Nhc2UgMTp0aHJvdyBuZXcgRXJyb3IoIkNoYW5uZWwncyBCdWZmZXIgb3ZlcmZsb3chIik7Y2FzZSAzOmVbYV09dSxvPWE9KGErMSklbjticmVhaztjYXNlIDQ6Zj0yKm4sZT1pKCkscj1lLmxlbmd0aCxhPWUubGVuZ3RoLG89MCxlLmxlbmd0aD1mLG49ZixjKHUpfX0sdGFrZTp1LGZsdXNoOml9fXZhciB4PWZ1bmN0aW9uKCl7cmV0dXJuIHcKfSxJPWZ1bmN0aW9uKG4pe3JldHVybiBPKG4sMyl9LE09ZnVuY3Rpb24obil7cmV0dXJuIE8obiw0KX0saj1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxub25lOngsZml4ZWQ6ZnVuY3Rpb24obil7cmV0dXJuIE8obiwxKX0sZHJvcHBpbmc6ZnVuY3Rpb24obil7cmV0dXJuIE8obiwyKX0sc2xpZGluZzpJLGV4cGFuZGluZzpNfSksXz0iVEFLRSIscT0iUFVUIixSPSJBTEwiLFU9IlJBQ0UiLFA9IkNBTEwiLEs9IkNQUyIsSD0iRk9SSyIsRD0iSk9JTiIsRj0iQ0FOQ0VMIixHPSJTRUxFQ1QiLHo9IkFDVElPTl9DSEFOTkVMIixCPSJDQU5DRUxMRUQiLEo9IkZMVVNIIixRPSJHRVRfQ09OVEVYVCIsWT0iU0VUX0NPTlRFWFQiLFY9ZnVuY3Rpb24obix0KXt2YXIgZTtyZXR1cm4oZT17fSlbci5JT109ITAsZS5jb21iaW5hdG9yPSExLGUudHlwZT1uLGUucGF5bG9hZD10LGV9O2Z1bmN0aW9uIFcobix0KXtyZXR1cm4gdm9pZCAwPT09biYmKG49IioiKSwoMCxvLnBhdHRlcm4pKG4pPygoMCxvLm5vdFVuZGVmKSh0KSYmY29uc29sZS53YXJuKCJ0YWtlKHBhdHRlcm4pIHRha2VzIG9uZSBhcmd1bWVudCBidXQgdHdvIHdlcmUgcHJvdmlkZWQuIENvbnNpZGVyIHBhc3NpbmcgYW4gYXJyYXkgZm9yIGxpc3RlbmluZyB0byBzZXZlcmFsIGFjdGlvbiB0eXBlcyIpLFYoXyx7cGF0dGVybjpufSkpOigwLG8ubXVsdGljYXN0KShuKSYmKDAsby5ub3RVbmRlZikodCkmJigwLG8ucGF0dGVybikodCk/VihfLHtjaGFubmVsOm4scGF0dGVybjp0fSk6KDAsby5jaGFubmVsKShuKT8oKDAsby5ub3RVbmRlZikodCkmJmNvbnNvbGUud2FybigidGFrZShjaGFubmVsKSB0YWtlcyBvbmUgYXJndW1lbnQgYnV0IHR3byB3ZXJlIHByb3ZpZGVkLiBTZWNvbmQgYXJndW1lbnQgaXMgaWdub3JlZC4iKSxWKF8se2NoYW5uZWw6bn0pKTp2b2lkIDB9ZnVuY3Rpb24gWChuLHQpe3JldHVybigwLG8udW5kZWYpKHQpJiYodD1uLG49dm9pZCAwKSxWKHEse2NoYW5uZWw6bixhY3Rpb246dH0pfWZ1bmN0aW9uIFoobil7dmFyIHQ9VihSLG4pO3JldHVybiB0LmNvbWJpbmF0b3I9ITAsdH1mdW5jdGlvbiAkKG4pe3ZhciB0PVYoVSxuKTtyZXR1cm4gdC5jb21iaW5hdG9yPSEwLHR9ZnVuY3Rpb24gbm4obix0KXt2YXIgZSxyPW51bGw7cmV0dXJuKDAsby5mdW5jKShuKT9lPW46KCgwLG8uYXJyYXkpKG4pPyhyPW5bMF0sZT1uWzFdKToocj1uLmNvbnRleHQsZT1uLmZuKSxyJiYoMCxvLnN0cmluZykoZSkmJigwLG8uZnVuYykocltlXSkmJihlPXJbZV0pKSx7Y29udGV4dDpyLGZuOmUsYXJnczp0fX1mdW5jdGlvbiB0bihuKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0PjE/dC0xOjApLHI9MTtyPHQ7cisrKWVbci0xXT1hcmd1bWVudHNbcl07cmV0dXJuIFYoUCxubihuLGUpKX1mdW5jdGlvbiBlbihuKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0PjE/dC0xOjApLHI9MTtyPHQ7cisrKWVbci0xXT1hcmd1bWVudHNbcl07cmV0dXJuIFYoSCxubihuLGUpKX1mdW5jdGlvbiBybihuKXtyZXR1cm4gVihELG4pfWZ1bmN0aW9uIGFuKG4pe3JldHVybiB2b2lkIDA9PT1uJiYobj1yLlNFTEZfQ0FOQ0VMTEFUSU9OKSxWKEYsbil9ZnVuY3Rpb24gb24obil7dm9pZCAwPT09biYmKG49Zik7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1uZXcgQXJyYXkodD4xP3QtMTowKSxyPTE7cjx0O3IrKyllW3ItMV09YXJndW1lbnRzW3JdO3JldHVybiBWKEcse3NlbGVjdG9yOm4sYXJnczplfSl9ZnVuY3Rpb24gY24obix0KXtyZXR1cm4gVih6LHtwYXR0ZXJuOm4sYnVmZmVyOnR9KX12YXIgdW49MjExOCE9ZS5qP3RuLmJpbmQobnVsbCxjLmRlZmF1bHQpOm51bGx9LDgyMzcwOShuLHQsZSl7aWYoZS5kKHQse2RlZmF1bHQ6KCk9PmF9KSwyMTE4IT1lLmopdmFyIHI9ZSg1NjQ1MjEpO2NvbnN0IGE9MjExOCE9ZS5qP2Z1bmN0aW9uKG4sdCl7dmFyIGU7dm9pZCAwPT09dCYmKHQ9ITApO3ZhciBhPW5ldyBQcm9taXNlKChmdW5jdGlvbihyKXtlPXNldFRpbWVvdXQocixNYXRoLm1pbigyMTQ3NDgzNjQ3LG4pLHQpfSkpO3JldHVybiBhW3IuQ0FOQ0VMXT1mdW5jdGlvbigpe2NsZWFyVGltZW91dChlKX0sYX06bnVsbH0sNTY0NTIxKG4sdCxlKXtlLmQodCx7Q0FOQ0VMOigpPT5hLENIQU5ORUxfRU5EX1RZUEU6KCk9Pm8sSU86KCk9PmMsTUFUQ0g6KCk9PnUsTVVMVElDQVNUOigpPT5pLFNBR0FfQUNUSU9OOigpPT5mLFNBR0FfTE9DQVRJT046KCk9PnAsU0VMRl9DQU5DRUxMQVRJT046KCk9PmwsVEFTSzooKT0+cyxUQVNLX0NBTkNFTDooKT0+dixURVJNSU5BVEU6KCk9PmR9KTt2YXIgcj1mdW5jdGlvbihuKXtyZXR1cm4iQEByZWR1eC1zYWdhLyIrbn0sYT1yKCJDQU5DRUxfUFJPTUlTRSIpLG89cigiQ0hBTk5FTF9FTkQiKSxjPXIoIklPIiksdT1yKCJNQVRDSCIpLGk9cigiTVVMVElDQVNUIiksZj1yKCJTQUdBX0FDVElPTiIpLGw9cigiU0VMRl9DQU5DRUxMQVRJT04iKSxzPXIoIlRBU0siKSx2PXIoIlRBU0tfQ0FOQ0VMIiksZD1yKCJURVJNSU5BVEUiKSxwPXIoIkxPQ0FUSU9OIil9LDg5NDQ4KG4sdCxlKXtlLmQodCx7YnVmZmVyczooKT0+dS5JLGRlZmF1bHQ6KCk9PlEsZXZlbnRDaGFubmVsOigpPT5MfSk7dmFyIHI9ZSg1NjQ1MjEpLGE9ZSg2NDQzMjApLG89ZSg3ODg5MTUpLGM9ZSg0NzQxMzYpLHU9ZSg0ODkwNTcpO2Z1bmN0aW9uIGkoKXt2YXIgbj17fTtyZXR1cm4gbi5wcm9taXNlPW5ldyBQcm9taXNlKChmdW5jdGlvbih0LGUpe24ucmVzb2x2ZT10LG4ucmVqZWN0PWV9KSksbn1jb25zdCBmPWk7dmFyIGw9W10scz0wO2Z1bmN0aW9uIHYobil7dHJ5e2goKSxuKCl9ZmluYWxseXtnKCl9fWZ1bmN0aW9uIGQobil7bC5wdXNoKG4pLHN8fChoKCkseSgpKX1mdW5jdGlvbiBwKG4pe3RyeXtyZXR1cm4gaCgpLG4oKX1maW5hbGx5e3koKX19ZnVuY3Rpb24gaCgpe3MrK31mdW5jdGlvbiBnKCl7cy0tfWZ1bmN0aW9uIHkoKXt2YXIgbjtmb3IoZygpOyFzJiZ2b2lkIDAhPT0obj1sLnNoaWZ0KCkpOyl2KG4pfXZhciBBPWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbih0KXsKcmV0dXJuIG4uc29tZSgoZnVuY3Rpb24obil7cmV0dXJuIG0obikodCl9KSl9fSxFPWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gbih0KX19LEM9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0LnR5cGU9PT1TdHJpbmcobil9fSxUPWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gdC50eXBlPT09bn19LFM9ZnVuY3Rpb24oKXtyZXR1cm4gdS5rfTtmdW5jdGlvbiBtKG4pe3ZhciB0PSIqIj09PW4/UzooMCxjLnN0cmluZykobik/QzooMCxjLmFycmF5KShuKT9BOigwLGMuc3RyaW5nYWJsZUZ1bmMpKG4pP0M6KDAsYy5mdW5jKShuKT9FOigwLGMuc3ltYm9sKShuKT9UOm51bGw7aWYobnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHBhdHRlcm46ICIrbik7cmV0dXJuIHQobil9dmFyIE49e3R5cGU6ci5DSEFOTkVMX0VORF9UWVBFfSxrPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZuLnR5cGU9PT1yLkNIQU5ORUxfRU5EX1RZUEV9O2Z1bmN0aW9uIGIobil7dm9pZCAwPT09biYmKG49KDAsdS5lKSgpKTt2YXIgdD0hMSxlPVtdO3JldHVybnt0YWtlOmZ1bmN0aW9uKHIpe3QmJm4uaXNFbXB0eSgpP3IoTik6bi5pc0VtcHR5KCk/KGUucHVzaChyKSxyLmNhbmNlbD1mdW5jdGlvbigpeygwLHUucikoZSxyKX0pOnIobi50YWtlKCkpfSxwdXQ6ZnVuY3Rpb24ocil7aWYoIXQpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gbi5wdXQocik7ZS5zaGlmdCgpKHIpfX0sZmx1c2g6ZnVuY3Rpb24oZSl7dCYmbi5pc0VtcHR5KCk/ZShOKTplKG4uZmx1c2goKSl9LGNsb3NlOmZ1bmN0aW9uKCl7aWYoIXQpe3Q9ITA7dmFyIG49ZTtlPVtdO2Zvcih2YXIgcj0wLGE9bi5sZW5ndGg7cjxhO3IrKyl7KDAsbltyXSkoTil9fX19fWZ1bmN0aW9uIEwobix0KXt2b2lkIDA9PT10JiYodD0oMCx1Lm4pKCkpO3ZhciBlLHI9ITEsYT1iKHQpLG89ZnVuY3Rpb24oKXtyfHwocj0hMCwoMCxjLmZ1bmMpKGUpJiZlKCksYS5jbG9zZSgpKX07cmV0dXJuIGU9bigoZnVuY3Rpb24obil7ayhuKT9vKCk6YS5wdXQobil9KSksZT0oMCx1Lm8pKGUpLHImJmUoKSx7dGFrZTphLnRha2UsZmx1c2g6YS5mbHVzaCxjbG9zZTpvfX1mdW5jdGlvbiB3KCl7dmFyIG4sdCxlLGEsbyxjLGk9KHQ9ITEsYT1lPVtdLG89ZnVuY3Rpb24oKXthPT09ZSYmKGE9ZS5zbGljZSgpKX0sYz1mdW5jdGlvbigpe3Q9ITA7dmFyIG49ZT1hO2E9W10sbi5mb3JFYWNoKChmdW5jdGlvbihuKXtuKE4pfSkpfSwobj17fSlbci5NVUxUSUNBU1RdPSEwLG4ucHV0PWZ1bmN0aW9uKG4pe2lmKCF0KWlmKGsobikpYygpO2Vsc2UgZm9yKHZhciBvPWU9YSx1PTAsaT1vLmxlbmd0aDt1PGk7dSsrKXt2YXIgZj1vW3VdO2Zbci5NQVRDSF0obikmJihmLmNhbmNlbCgpLGYobikpfX0sbi50YWtlPWZ1bmN0aW9uKG4sZSl7dm9pZCAwPT09ZSYmKGU9UyksdD9uKE4pOihuW3IuTUFUQ0hdPWUsbygpLGEucHVzaChuKSxuLmNhbmNlbD0oMCx1Lm8pKChmdW5jdGlvbigpe28oKSwoMCx1LnIpKGEsbil9KSkpfSxuLmNsb3NlPWMsbiksZj1pLnB1dDtyZXR1cm4gaS5wdXQ9ZnVuY3Rpb24obil7bltyLlNBR0FfQUNUSU9OXT9mKG4pOmQoKGZ1bmN0aW9uKCl7ZihuKX0pKX0saX1mdW5jdGlvbiBPKG4sdCl7dmFyIGU9bltyLkNBTkNFTF07KDAsYy5mdW5jKShlKSYmKHQuY2FuY2VsPWUpLG4udGhlbih0LChmdW5jdGlvbihuKXt0KG4sITApfSkpfXZhciB4LEk9MCxNPWZ1bmN0aW9uKCl7cmV0dXJuKytJfTtmdW5jdGlvbiBqKG4pe24uaXNSdW5uaW5nKCkmJm4uY2FuY2VsKCl9dmFyIF89KCh4PXt9KVt1LlRdPWZ1bmN0aW9uKG4sdCxlKXt2YXIgYT10LmNoYW5uZWwsbz12b2lkIDA9PT1hP24uY2hhbm5lbDphLHU9dC5wYXR0ZXJuLGk9dC5tYXliZSxmPWZ1bmN0aW9uKG4pe24gaW5zdGFuY2VvZiBFcnJvcj9lKG4sITApOiFrKG4pfHxpP2Uobik6ZShyLlRFUk1JTkFURSl9O3RyeXtvLnRha2UoZiwoMCxjLm5vdFVuZGVmKSh1KT9tKHUpOm51bGwpfWNhdGNoKG4pe3JldHVybiB2b2lkIGUobiwhMCl9ZS5jYW5jZWw9Zi5jYW5jZWx9LHhbdS5QXT1mdW5jdGlvbihuLHQsZSl7dmFyIHI9dC5jaGFubmVsLGE9dC5hY3Rpb24sbz10LnJlc29sdmU7ZCgoZnVuY3Rpb24oKXt2YXIgdDt0cnl7dD0ocj9yLnB1dDpuLmRpc3BhdGNoKShhKX1jYXRjaChuKXtyZXR1cm4gdm9pZCBlKG4sITApfW8mJigwLGMucHJvbWlzZSkodCk/Tyh0LGUpOmUodCl9KSl9LHhbdS5BXT1mdW5jdGlvbihuLHQsZSxyKXt2YXIgYT1yLmRpZ2VzdEVmZmVjdCxvPUksaT1PYmplY3Qua2V5cyh0KTtpZigwIT09aS5sZW5ndGgpe3ZhciBmPSgwLHUubCkodCxlKTtpLmZvckVhY2goKGZ1bmN0aW9uKG4pe2EodFtuXSxvLGZbbl0sbil9KSl9ZWxzZSBlKCgwLGMuYXJyYXkpKHQpP1tdOnt9KX0seFt1LlJdPWZ1bmN0aW9uKG4sdCxlLHIpe3ZhciBhPXIuZGlnZXN0RWZmZWN0LG89SSxpPU9iamVjdC5rZXlzKHQpLGY9KDAsYy5hcnJheSkodCk/KDAsdS5tKShpLmxlbmd0aCk6e30sbD17fSxzPSExO2kuZm9yRWFjaCgoZnVuY3Rpb24obil7dmFyIHQ9ZnVuY3Rpb24odCxyKXtzfHwocnx8KDAsdS5zKSh0KT8oZS5jYW5jZWwoKSxlKHQscikpOihlLmNhbmNlbCgpLHM9ITAsZltuXT10LGUoZikpKX07dC5jYW5jZWw9dS50LGxbbl09dH0pKSxlLmNhbmNlbD1mdW5jdGlvbigpe3N8fChzPSEwLGkuZm9yRWFjaCgoZnVuY3Rpb24obil7cmV0dXJuIGxbbl0uY2FuY2VsKCl9KSkpfSxpLmZvckVhY2goKGZ1bmN0aW9uKG4pe3N8fGEodFtuXSxvLGxbbl0sbil9KSl9LHhbdS5DXT1mdW5jdGlvbihuLHQsZSxyKXt2YXIgYT10LmNvbnRleHQsbz10LmZuLGk9dC5hcmdzLGY9ci50YXNrO3RyeXt2YXIgbD1vLmFwcGx5KGEsaSk7aWYoKDAsYy5wcm9taXNlKShsKSlyZXR1cm4gdm9pZCBPKGwsZSk7aWYoKDAsYy5pdGVyYXRvcikobCkpcmV0dXJuIHZvaWQgeihuLGwsZi5jb250ZXh0LEksKDAsdS5qKShvKSwhMSxlKTtlKGwpfWNhdGNoKG4pe2UobiwhMCl9fSx4W3UuYV09ZnVuY3Rpb24obix0LGUpe3ZhciByPXQuY29udGV4dCxhPXQuZm4sbz10LmFyZ3M7dHJ5e3ZhciB1PWZ1bmN0aW9uKG4sdCl7CigwLGMudW5kZWYpKG4pP2UodCk6ZShuLCEwKX07YS5hcHBseShyLG8uY29uY2F0KHUpKSx1LmNhbmNlbCYmKGUuY2FuY2VsPXUuY2FuY2VsKX1jYXRjaChuKXtlKG4sITApfX0seFt1LkZdPWZ1bmN0aW9uKG4sdCxlLHIpe3ZhciBhPXQuY29udGV4dCxvPXQuZm4saT10LmFyZ3MsZj10LmRldGFjaGVkLGw9ci50YXNrLHM9ZnVuY3Rpb24obil7dmFyIHQ9bi5jb250ZXh0LGU9bi5mbixyPW4uYXJnczt0cnl7dmFyIGE9ZS5hcHBseSh0LHIpO2lmKCgwLGMuaXRlcmF0b3IpKGEpKXJldHVybiBhO3ZhciBvPSExO3JldHVybigwLHUucSkoKGZ1bmN0aW9uKG4pe3JldHVybiBvP3t2YWx1ZTpuLGRvbmU6ITB9OihvPSEwLHt2YWx1ZTphLGRvbmU6ISgwLGMucHJvbWlzZSkoYSl9KX0pKX1jYXRjaChuKXtyZXR1cm4oMCx1LnEpKChmdW5jdGlvbigpe3Rocm93IG59KSl9fSh7Y29udGV4dDphLGZuOm8sYXJnczppfSksdj1mdW5jdGlvbihuLHQpe3JldHVybiBuLmlzU2FnYUl0ZXJhdG9yP3tuYW1lOm4ubWV0YS5uYW1lfTooMCx1LmopKHQpfShzLG8pO3AoKGZ1bmN0aW9uKCl7dmFyIHQ9eihuLHMsbC5jb250ZXh0LEksdixmLHZvaWQgMCk7Zj9lKHQpOnQuaXNSdW5uaW5nKCk/KGwucXVldWUuYWRkVGFzayh0KSxlKHQpKTp0LmlzQWJvcnRlZCgpP2wucXVldWUuYWJvcnQodC5lcnJvcigpKTplKHQpfSkpfSx4W3UuSl09ZnVuY3Rpb24obix0LGUscil7dmFyIGE9ci50YXNrLG89ZnVuY3Rpb24obix0KXtpZihuLmlzUnVubmluZygpKXt2YXIgZT17dGFzazphLGNiOnR9O3QuY2FuY2VsPWZ1bmN0aW9uKCl7bi5pc1J1bm5pbmcoKSYmKDAsdS5yKShuLmpvaW5lcnMsZSl9LG4uam9pbmVycy5wdXNoKGUpfWVsc2Ugbi5pc0Fib3J0ZWQoKT90KG4uZXJyb3IoKSwhMCk6dChuLnJlc3VsdCgpKX07aWYoKDAsYy5hcnJheSkodCkpe2lmKDA9PT10Lmxlbmd0aClyZXR1cm4gdm9pZCBlKFtdKTt2YXIgaT0oMCx1LmwpKHQsZSk7dC5mb3JFYWNoKChmdW5jdGlvbihuLHQpe28obixpW3RdKX0pKX1lbHNlIG8odCxlKX0seFt1LmJdPWZ1bmN0aW9uKG4sdCxlLGEpe3ZhciBvPWEudGFzazt0PT09ci5TRUxGX0NBTkNFTExBVElPTj9qKG8pOigwLGMuYXJyYXkpKHQpP3QuZm9yRWFjaChqKTpqKHQpLGUoKX0seFt1LlNdPWZ1bmN0aW9uKG4sdCxlKXt2YXIgcj10LnNlbGVjdG9yLGE9dC5hcmdzO3RyeXtlKHIuYXBwbHkodm9pZCAwLFtuLmdldFN0YXRlKCldLmNvbmNhdChhKSkpfWNhdGNoKG4pe2UobiwhMCl9fSx4W3UuZF09ZnVuY3Rpb24obix0LGUpe3ZhciByPXQucGF0dGVybixhPWIodC5idWZmZXIpLG89bShyKSxjPWZ1bmN0aW9uIHQoZSl7ayhlKXx8bi5jaGFubmVsLnRha2UodCxvKSxhLnB1dChlKX0sdT1hLmNsb3NlO2EuY2xvc2U9ZnVuY3Rpb24oKXtjLmNhbmNlbCgpLHUoKX0sbi5jaGFubmVsLnRha2UoYyxvKSxlKGEpfSx4W3UuZl09ZnVuY3Rpb24obix0LGUscil7ZShyLnRhc2suaXNDYW5jZWxsZWQoKSl9LHhbdS5nXT1mdW5jdGlvbihuLHQsZSl7dC5mbHVzaChlKX0seFt1LkddPWZ1bmN0aW9uKG4sdCxlLHIpe2Uoci50YXNrLmNvbnRleHRbdF0pfSx4W3UuaF09ZnVuY3Rpb24obix0LGUscil7dmFyIGE9ci50YXNrOygwLHUucCkoYS5jb250ZXh0LHQpLGUoKX0seCk7ZnVuY3Rpb24gcShuLHQpe3JldHVybiBuKyI/Iit0fWZ1bmN0aW9uIFIobil7dmFyIHQ9bi5uYW1lLGU9bi5sb2NhdGlvbjtyZXR1cm4gZT90KyIgICIrcShlLmZpbGVOYW1lLGUubGluZU51bWJlcik6dH1mdW5jdGlvbiBVKG4pe3ZhciB0PSgwLHUudSkoKGZ1bmN0aW9uKG4pe3JldHVybiBuLmNhbmNlbGxlZFRhc2tzfSksbik7cmV0dXJuIHQubGVuZ3RoP1siVGFza3MgY2FuY2VsbGVkIGR1ZSB0byBlcnJvcjoiXS5jb25jYXQodCkuam9pbigiXG4iKToiIn12YXIgUD1udWxsLEs9W10sSD1mdW5jdGlvbihuKXtuLmNyYXNoZWRFZmZlY3Q9UCxLLnB1c2gobil9LEQ9ZnVuY3Rpb24oKXtQPW51bGwsSy5sZW5ndGg9MH0sRj1mdW5jdGlvbigpe3ZhciBuLHQsZT1LWzBdLHI9Sy5zbGljZSgxKSxhPWUuY3Jhc2hlZEVmZmVjdD8obj1lLmNyYXNoZWRFZmZlY3QsKHQ9KDAsdS52KShuKSk/dC5jb2RlKyIgICIrcSh0LmZpbGVOYW1lLHQubGluZU51bWJlcik6IiIpOm51bGw7cmV0dXJuWyJUaGUgYWJvdmUgZXJyb3Igb2NjdXJyZWQgaW4gdGFzayAiK1IoZS5tZXRhKSsoYT8iIFxuIHdoZW4gZXhlY3V0aW5nIGVmZmVjdCAiK2E6IiIpXS5jb25jYXQoci5tYXAoKGZ1bmN0aW9uKG4pe3JldHVybiIgICAgY3JlYXRlZCBieSAiK1Iobi5tZXRhKX0pKSxbVShLKV0pLmpvaW4oIlxuIil9O2Z1bmN0aW9uIEcobix0LGUsYSxvLGMsaSl7dmFyIGw7dm9pZCAwPT09aSYmKGk9dS50KTt2YXIgcyx2LGQ9MCxwPW51bGwsaD1bXSxnPU9iamVjdC5jcmVhdGUoZSkseT1mdW5jdGlvbihuLHQsZSl7dmFyIHIsYT1bXSxvPSExO2Z1bmN0aW9uIGMobil7dCgpLGYoKSxlKG4sITApfWZ1bmN0aW9uIGkodCl7YS5wdXNoKHQpLHQuY29udD1mdW5jdGlvbihpLGYpe298fCgoMCx1LnIpKGEsdCksdC5jb250PXUudCxmP2MoaSk6KHQ9PT1uJiYocj1pKSxhLmxlbmd0aHx8KG89ITAsZShyKSkpKX19ZnVuY3Rpb24gZigpe298fChvPSEwLGEuZm9yRWFjaCgoZnVuY3Rpb24obil7bi5jb250PXUudCxuLmNhbmNlbCgpfSkpLGE9W10pfXJldHVybiBpKG4pLHthZGRUYXNrOmksY2FuY2VsQWxsOmYsYWJvcnQ6YyxnZXRUYXNrczpmdW5jdGlvbigpe3JldHVybiBhfX19KHQsKGZ1bmN0aW9uKCl7aC5wdXNoLmFwcGx5KGgseS5nZXRUYXNrcygpLm1hcCgoZnVuY3Rpb24obil7cmV0dXJuIG4ubWV0YS5uYW1lfSkpKX0pLEEpO2Z1bmN0aW9uIEEodCxlKXtpZihlKXtpZihkPTIsSCh7bWV0YTpvLGNhbmNlbGxlZFRhc2tzOmh9KSxFLmlzUm9vdCl7dmFyIGE9RigpO0QoKSxuLm9uRXJyb3IodCx7c2FnYVN0YWNrOmF9KX12PXQscCYmcC5yZWplY3QodCl9ZWxzZSB0PT09ci5UQVNLX0NBTkNFTD9kPTE6MSE9PWQmJihkPTMpLHM9dCxwJiZwLnJlc29sdmUodCk7RS5jb250KHQsZSksRS5qb2luZXJzLmZvckVhY2goKGZ1bmN0aW9uKG4pe24uY2IodCxlKX0pKSxFLmpvaW5lcnM9bnVsbH0KdmFyIEU9KChsPXt9KVtyLlRBU0tdPSEwLGwuaWQ9YSxsLm1ldGE9byxsLmlzUm9vdD1jLGwuY29udGV4dD1nLGwuam9pbmVycz1bXSxsLnF1ZXVlPXksbC5jYW5jZWw9ZnVuY3Rpb24oKXswPT09ZCYmKGQ9MSx5LmNhbmNlbEFsbCgpLEEoci5UQVNLX0NBTkNFTCwhMSkpfSxsLmNvbnQ9aSxsLmVuZD1BLGwuc2V0Q29udGV4dD1mdW5jdGlvbihuKXsoMCx1LnApKGcsbil9LGwudG9Qcm9taXNlPWZ1bmN0aW9uKCl7cmV0dXJuIHB8fChwPWYoKSwyPT09ZD9wLnJlamVjdCh2KTowIT09ZCYmcC5yZXNvbHZlKHMpKSxwLnByb21pc2V9LGwuaXNSdW5uaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT1kfSxsLmlzQ2FuY2VsbGVkPWZ1bmN0aW9uKCl7cmV0dXJuIDE9PT1kfHwwPT09ZCYmMT09PXQuc3RhdHVzfSxsLmlzQWJvcnRlZD1mdW5jdGlvbigpe3JldHVybiAyPT09ZH0sbC5yZXN1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gc30sbC5lcnJvcj1mdW5jdGlvbigpe3JldHVybiB2fSxsKTtyZXR1cm4gRX1mdW5jdGlvbiB6KG4sdCxlLGEsbyxpLGYpe3ZhciBsPW4uZmluYWxpemVSdW5FZmZlY3QoKGZ1bmN0aW9uKHQsZSxhKXtpZigoMCxjLnByb21pc2UpKHQpKU8odCxhKTtlbHNlIGlmKCgwLGMuaXRlcmF0b3IpKHQpKXoobix0LHYuY29udGV4dCxlLG8sITEsYSk7ZWxzZSBpZih0JiZ0W3IuSU9dKXsoMCxfW3QudHlwZV0pKG4sdC5wYXlsb2FkLGEsZCl9ZWxzZSBhKHQpfSkpO3AuY2FuY2VsPXUudDt2YXIgcz17bWV0YTpvLGNhbmNlbDpmdW5jdGlvbigpezA9PT1zLnN0YXR1cyYmKHMuc3RhdHVzPTEscChyLlRBU0tfQ0FOQ0VMKSl9LHN0YXR1czowfSx2PUcobixzLGUsYSxvLGksZiksZD17dGFzazp2LGRpZ2VzdEVmZmVjdDpofTtyZXR1cm4gZiYmKGYuY2FuY2VsPXYuY2FuY2VsKSxwKCksdjtmdW5jdGlvbiBwKG4sZSl7dHJ5e3ZhciBvO2U/KG89dC50aHJvdyhuKSxEKCkpOigwLHUueSkobik/KHMuc3RhdHVzPTEscC5jYW5jZWwoKSxvPSgwLGMuZnVuYykodC5yZXR1cm4pP3QucmV0dXJuKHIuVEFTS19DQU5DRUwpOntkb25lOiEwLHZhbHVlOnIuVEFTS19DQU5DRUx9KTpvPSgwLHUueikobik/KDAsYy5mdW5jKSh0LnJldHVybik/dC5yZXR1cm4oKTp7ZG9uZTohMH06dC5uZXh0KG4pLG8uZG9uZT8oMSE9PXMuc3RhdHVzJiYocy5zdGF0dXM9Mykscy5jb250KG8udmFsdWUpKTpoKG8udmFsdWUsYSxwKX1jYXRjaChuKXtpZigxPT09cy5zdGF0dXMpdGhyb3cgbjtzLnN0YXR1cz0yLHMuY29udChuLCEwKX19ZnVuY3Rpb24gaCh0LGUscixhKXt2b2lkIDA9PT1hJiYoYT0iIik7dmFyIG8sYz1NKCk7ZnVuY3Rpb24gaShlLGEpe298fChvPSEwLHIuY2FuY2VsPXUudCxuLnNhZ2FNb25pdG9yJiYoYT9uLnNhZ2FNb25pdG9yLmVmZmVjdFJlamVjdGVkKGMsZSk6bi5zYWdhTW9uaXRvci5lZmZlY3RSZXNvbHZlZChjLGUpKSxhJiZmdW5jdGlvbihuKXtQPW59KHQpLHIoZSxhKSl9bi5zYWdhTW9uaXRvciYmbi5zYWdhTW9uaXRvci5lZmZlY3RUcmlnZ2VyZWQoe2VmZmVjdElkOmMscGFyZW50RWZmZWN0SWQ6ZSxsYWJlbDphLGVmZmVjdDp0fSksaS5jYW5jZWw9dS50LHIuY2FuY2VsPWZ1bmN0aW9uKCl7b3x8KG89ITAsaS5jYW5jZWwoKSxpLmNhbmNlbD11LnQsbi5zYWdhTW9uaXRvciYmbi5zYWdhTW9uaXRvci5lZmZlY3RDYW5jZWxsZWQoYykpfSxsKHQsYyxpKX19ZnVuY3Rpb24gQihuLHQpe3ZhciBlPW4uY2hhbm5lbCxyPXZvaWQgMD09PWU/dygpOmUsYT1uLmRpc3BhdGNoLG89bi5nZXRTdGF0ZSxjPW4uY29udGV4dCxpPXZvaWQgMD09PWM/e306YyxmPW4uc2FnYU1vbml0b3IsbD1uLmVmZmVjdE1pZGRsZXdhcmVzLHM9bi5vbkVycm9yLHY9dm9pZCAwPT09cz91LkQ6cztmb3IodmFyIGQ9YXJndW1lbnRzLmxlbmd0aCxoPW5ldyBBcnJheShkPjI/ZC0yOjApLGc9MjtnPGQ7ZysrKWhbZy0yXT1hcmd1bWVudHNbZ107dmFyIHk9dC5hcHBseSh2b2lkIDAsaCk7dmFyIEEsRT1NKCk7aWYoZiYmKGYucm9vdFNhZ2FTdGFydGVkPWYucm9vdFNhZ2FTdGFydGVkfHx1LnQsZi5lZmZlY3RUcmlnZ2VyZWQ9Zi5lZmZlY3RUcmlnZ2VyZWR8fHUudCxmLmVmZmVjdFJlc29sdmVkPWYuZWZmZWN0UmVzb2x2ZWR8fHUudCxmLmVmZmVjdFJlamVjdGVkPWYuZWZmZWN0UmVqZWN0ZWR8fHUudCxmLmVmZmVjdENhbmNlbGxlZD1mLmVmZmVjdENhbmNlbGxlZHx8dS50LGYuYWN0aW9uRGlzcGF0Y2hlZD1mLmFjdGlvbkRpc3BhdGNoZWR8fHUudCxmLnJvb3RTYWdhU3RhcnRlZCh7ZWZmZWN0SWQ6RSxzYWdhOnQsYXJnczpofSkpLGwpe3ZhciBDPXUuQi5hcHBseSh2b2lkIDAsbCk7QT1mdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24odCxlLHIpe3JldHVybiBDKChmdW5jdGlvbih0KXtyZXR1cm4gbih0LGUscil9KSkodCl9fX1lbHNlIEE9dS5IO3ZhciBUPXtjaGFubmVsOnIsZGlzcGF0Y2g6KDAsdS5FKShhKSxnZXRTdGF0ZTpvLHNhZ2FNb25pdG9yOmYsb25FcnJvcjp2LGZpbmFsaXplUnVuRWZmZWN0OkF9O3JldHVybiBwKChmdW5jdGlvbigpe3ZhciBuPXooVCx5LGksRSwoMCx1LmopKHQpLCEwLHZvaWQgMCk7cmV0dXJuIGYmJmYuZWZmZWN0UmVzb2x2ZWQoRSxuKSxufSkpfWNvbnN0IEo9ZnVuY3Rpb24obil7dmFyIHQsZT12b2lkIDA9PT1uP3t9Om4scj1lLmNvbnRleHQsYz12b2lkIDA9PT1yP3t9OnIsaT1lLmNoYW5uZWwsZj12b2lkIDA9PT1pP3coKTppLGw9ZS5zYWdhTW9uaXRvcixzPSgwLG8uZGVmYXVsdCkoZSxbImNvbnRleHQiLCJjaGFubmVsIiwic2FnYU1vbml0b3IiXSk7ZnVuY3Rpb24gdihuKXt2YXIgZT1uLmdldFN0YXRlLHI9bi5kaXNwYXRjaDtyZXR1cm4gdD1CLmJpbmQobnVsbCwoMCxhLmRlZmF1bHQpKHt9LHMse2NvbnRleHQ6YyxjaGFubmVsOmYsZGlzcGF0Y2g6cixnZXRTdGF0ZTplLHNhZ2FNb25pdG9yOmx9KSksZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKHQpe2wmJmwuYWN0aW9uRGlzcGF0Y2hlZCYmbC5hY3Rpb25EaXNwYXRjaGVkKHQpO3ZhciBlPW4odCk7cmV0dXJuIGYucHV0KHQpLGV9fX1yZXR1cm4gdi5ydW49ZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX0sCnYuc2V0Q29udGV4dD1mdW5jdGlvbihuKXsoMCx1LnApKGMsbil9LHZ9LFE9Sn0sNjE0ODI1KG4sdCxlKXtlLmQodCx7YWxsOigpPT5hLiQsY2FsbDooKT0+YS5PLGNhbmNlbDooKT0+YS5OLGRlbGF5OigpPT5hLlEsZm9yazooKT0+YS5NLGpvaW46KCk9PmEuYTMscHV0OigpPT5hLloscmFjZTooKT0+YS5XLHNlbGVjdDooKT0+YS5hNCx0YWtlOigpPT5hLkwsdGFrZUV2ZXJ5OigpPT52LHRha2VMYXRlc3Q6KCk9PmQsdGhyb3R0bGU6KCk9PnB9KTt2YXIgcj1lKDQ3NDEzNiksYT1lKDQ4OTA1Nyksbz1mdW5jdGlvbihuKXtyZXR1cm57ZG9uZTohMCx2YWx1ZTpufX0sYz17fTtmdW5jdGlvbiB1KG4pe3JldHVybigwLHIuY2hhbm5lbCkobik/ImNoYW5uZWwiOigwLHIuc3RyaW5nYWJsZUZ1bmMpKG4pP1N0cmluZyhuKTooMCxyLmZ1bmMpKG4pP24ubmFtZTpTdHJpbmcobil9ZnVuY3Rpb24gaShuLHQsZSl7dmFyIHIsdSxpLGY9dDtmdW5jdGlvbiBsKHQsZSl7aWYoZj09PWMpcmV0dXJuIG8odCk7aWYoZSYmIXUpdGhyb3cgZj1jLGU7ciYmcih0KTt2YXIgYT1lP25bdV0oZSk6bltmXSgpO3JldHVybiBmPWEubmV4dFN0YXRlLGk9YS5lZmZlY3Qscj1hLnN0YXRlVXBkYXRlcix1PWEuZXJyb3JTdGF0ZSxmPT09Yz9vKHQpOml9cmV0dXJuKDAsYS5xKShsLChmdW5jdGlvbihuKXtyZXR1cm4gbChudWxsLG4pfSksZSl9ZnVuY3Rpb24gZihuLHQpe2Zvcih2YXIgZT1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KGU+Mj9lLTI6MCksbz0yO288ZTtvKyspcltvLTJdPWFyZ3VtZW50c1tvXTt2YXIgYyxmPXtkb25lOiExLHZhbHVlOigwLGEuTCkobil9LGw9ZnVuY3Rpb24obil7cmV0dXJuIGM9bn07cmV0dXJuIGkoe3ExOmZ1bmN0aW9uKCl7cmV0dXJue25leHRTdGF0ZToicTIiLGVmZmVjdDpmLHN0YXRlVXBkYXRlcjpsfX0scTI6ZnVuY3Rpb24oKXtyZXR1cm57bmV4dFN0YXRlOiJxMSIsZWZmZWN0OihuPWMse2RvbmU6ITEsdmFsdWU6YS5NLmFwcGx5KHZvaWQgMCxbdF0uY29uY2F0KHIsW25dKSl9KX07dmFyIG59fSwicTEiLCJ0YWtlRXZlcnkoIit1KG4pKyIsICIrdC5uYW1lKyIpIil9ZnVuY3Rpb24gbChuLHQpe2Zvcih2YXIgZT1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KGU+Mj9lLTI6MCksbz0yO288ZTtvKyspcltvLTJdPWFyZ3VtZW50c1tvXTt2YXIgYyxmLGw9e2RvbmU6ITEsdmFsdWU6KDAsYS5MKShuKX0scz1mdW5jdGlvbihuKXtyZXR1cm57ZG9uZTohMSx2YWx1ZTphLk0uYXBwbHkodm9pZCAwLFt0XS5jb25jYXQocixbbl0pKX19LHY9ZnVuY3Rpb24obil7cmV0dXJue2RvbmU6ITEsdmFsdWU6KDAsYS5OKShuKX19LGQ9ZnVuY3Rpb24obil7cmV0dXJuIGM9bn0scD1mdW5jdGlvbihuKXtyZXR1cm4gZj1ufTtyZXR1cm4gaSh7cTE6ZnVuY3Rpb24oKXtyZXR1cm57bmV4dFN0YXRlOiJxMiIsZWZmZWN0Omwsc3RhdGVVcGRhdGVyOnB9fSxxMjpmdW5jdGlvbigpe3JldHVybiBjP3tuZXh0U3RhdGU6InEzIixlZmZlY3Q6dihjKX06e25leHRTdGF0ZToicTEiLGVmZmVjdDpzKGYpLHN0YXRlVXBkYXRlcjpkfX0scTM6ZnVuY3Rpb24oKXtyZXR1cm57bmV4dFN0YXRlOiJxMSIsZWZmZWN0OnMoZiksc3RhdGVVcGRhdGVyOmR9fX0sInExIiwidGFrZUxhdGVzdCgiK3UobikrIiwgIit0Lm5hbWUrIikiKX1mdW5jdGlvbiBzKG4sdCxlKXtmb3IodmFyIG89YXJndW1lbnRzLmxlbmd0aCxjPW5ldyBBcnJheShvPjM/by0zOjApLGY9MztmPG87ZisrKWNbZi0zXT1hcmd1bWVudHNbZl07dmFyIGwscyx2PXtkb25lOiExLHZhbHVlOigwLGEuUSkobil9LGQ9ZnVuY3Rpb24obil7cmV0dXJuIGw9bn0scD1mdW5jdGlvbihuKXtyZXR1cm4gcz1ufSxoPSEoMCxyLmNoYW5uZWwpKHQpO3JldHVybiBofHxwKHQpLGkoe3ExOmZ1bmN0aW9uKCl7cmV0dXJue25leHRTdGF0ZToicTIiLGVmZmVjdDp7ZG9uZTohMSx2YWx1ZTooMCxhLlUpKHQsKDAsYS5WKSgxKSl9LHN0YXRlVXBkYXRlcjpwfX0scTI6ZnVuY3Rpb24oKXtyZXR1cm57bmV4dFN0YXRlOiJxMyIsZWZmZWN0Ontkb25lOiExLHZhbHVlOigwLGEuTCkocyl9LHN0YXRlVXBkYXRlcjpkfX0scTM6ZnVuY3Rpb24oKXtyZXR1cm57bmV4dFN0YXRlOiJxNCIsZWZmZWN0OihuPWwse2RvbmU6ITEsdmFsdWU6YS5NLmFwcGx5KHZvaWQgMCxbZV0uY29uY2F0KGMsW25dKSl9KX07dmFyIG59LHE0OmZ1bmN0aW9uKCl7cmV0dXJue25leHRTdGF0ZToicTIiLGVmZmVjdDp2fX19LGg/InExIjoicTIiLCJ0aHJvdHRsZSgiK3UodCkrIiwgIitlLm5hbWUrIikiKX1mdW5jdGlvbiB2KG4sdCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkoZT4yP2UtMjowKSxvPTI7bzxlO28rKylyW28tMl09YXJndW1lbnRzW29dO3JldHVybiBhLk0uYXBwbHkodm9pZCAwLFtmLG4sdF0uY29uY2F0KHIpKX1mdW5jdGlvbiBkKG4sdCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkoZT4yP2UtMjowKSxvPTI7bzxlO28rKylyW28tMl09YXJndW1lbnRzW29dO3JldHVybiBhLk0uYXBwbHkodm9pZCAwLFtsLG4sdF0uY29uY2F0KHIpKX1mdW5jdGlvbiBwKG4sdCxlKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aCxvPW5ldyBBcnJheShyPjM/ci0zOjApLGM9MztjPHI7YysrKW9bYy0zXT1hcmd1bWVudHNbY107cmV0dXJuIGEuTS5hcHBseSh2b2lkIDAsW3Msbix0LGVdLmNvbmNhdChvKSl9fSw2NDQzMjAobix0LGUpe2Z1bmN0aW9uIHIoKXtyZXR1cm4gcj1PYmplY3QuYXNzaWduP09iamVjdC5hc3NpZ24uYmluZCgpOmZ1bmN0aW9uKG4pe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBlPWFyZ3VtZW50c1t0XTtmb3IodmFyIHIgaW4gZSkoe30pLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmKG5bcl09ZVtyXSl9cmV0dXJuIG59LHIuYXBwbHkobnVsbCxhcmd1bWVudHMpfWUuZCh0LHtkZWZhdWx0OigpPT5yfSl9LDc4ODkxNShuLHQsZSl7ZnVuY3Rpb24gcihuLHQpe2lmKG51bGw9PW4pcmV0dXJue307dmFyIGU9e307Zm9yKHZhciByIGluIG4paWYoe30uaGFzT3duUHJvcGVydHkuY2FsbChuLHIpKXsKaWYoLTEhPT10LmluZGV4T2YocikpY29udGludWU7ZVtyXT1uW3JdfXJldHVybiBlfWUuZCh0LHtkZWZhdWx0OigpPT5yfSl9fV0pOw=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/uploads/2023/10/favicon-32x32-1.png","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.928Z","timestamp":1785141582928,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/uploads/2023/10/favicon-32x32-1.png HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,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://oxlofttrd.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 11:34:15 GMT\r\nAccept-Ranges: bytes\r\nContent-Length: 1891\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nKeep-Alive: timeout=5, max=95\r\nConnection: Keep-Alive\r\nContent-Type: image/png\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":1891,"size_decoded":2196,"mime_type":"image/png","magic":"PNG image data, 32 x 32, 8-bit/color RGBA, non-interlaced","md5":"40cc3dcd2430819707ac0854ef8a120a","sha1":"27c6deb69470685db3e3c502734890888ac6a5cb","sha256":"6814015b4b966ba378ae97886ee66f0971864e40a9ebb8cbd9a109ec7380dd07","sha512":"46d5f8aee4ebf1cf31558054cfed2732f6f73887971cdb5ce84eec915902c2b28ae50879ffa90156cea26f972050b90327b58bf75e3dbb65e67e25b38573dd1d","ssdeep":"","tlshash":"d541190d28cb64096a37617e7422155c8cd3f63def3ec9950e0320b642888730afe5de","first_seen":"2026-07-27T06:14:34.31338Z","last_seen":"2026-07-27T12:12:28.918794Z","times_seen":5,"resource_available":false,"data":"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"}},"time_used":758,"timings":{"blocked":666,"dns":0,"connect":0,"send":0,"wait":92,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/24581.45df02181c4509732d20.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.694Z","timestamp":1785141584694,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/24581.45df02181c4509732d20.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-399\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2d95b9440817e1651c5ed861f8a72da8\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":921,"size_decoded":1137,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (921), with no line terminators","md5":"7508df616380d228cd815ae2f451930e","sha1":"85644755c1e5d7bcc3ab17ab37a76bd5f60ceffa","sha256":"98ef25505ae9dff3c961255429596f2ffdc5cf7a6eb679c08e5b2844c68e3332","sha512":"272814590c3e8b26149c112ef510d070c1cd5521cca4ef7e3bf4f28f663c19a2ff2b44912cd075b967d3ee6646cf5b2edb29bf7ade0ed8652f4b37a259b34a89","ssdeep":"","tlshash":"1711bd3c919dcb6ab4974b145240cfcf01bd2d10ab169fa7b2cc70328cc88ac1833823","first_seen":"2026-07-17T03:30:51.220732Z","last_seen":"2026-07-27T14:50:15.277275Z","times_seen":168,"resource_available":false,"data":"LmJveC1YZkdrQkJxZntib3JkZXItcmFkaXVzOjNweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjE4cHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMzVzIGVhc2UsYm9yZGVyLWNvbG9yIC4zNXMgZWFzZTt3aWR0aDoxOHB4fS5ib3gtWGZHa0JCcWYudW5jaGVja2VkLVhmR2tCQnFme2JhY2tncm91bmQtY29sb3I6aW5pdGlhbH0uYm94LVhmR2tCQnFmLmNoZWNrZWQtWGZHa0JCcWYsLmJveC1YZkdrQkJxZi5taXhlZC1YZkdrQkJxZntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm94KTtjb2xvcjp2YXIoLS11aS1saWItcHJpdmF0ZS1jaGVja2JveFZpZXdJbXBsLWNvbG9yLW1hcmspfS51bmNoZWNrZWQtWGZHa0JCcWZ7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm9yZGVyKX0uY2hlY2tlZC1YZkdrQkJxZiwubWl4ZWQtWGZHa0JCcWZ7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm94KX0uZGlzYWJsZWQtWGZHa0JCcWZ7b3BhY2l0eTouNX0uY2hlY2tlZE1hcmstWGZHa0JCcWZ7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gNS41cHgpO3Bvc2l0aW9uOmFic29sdXRlO3RvcDpjYWxjKDUwJSAtIDQuNXB4KX0ubWl4ZWRNYXJrLVhmR2tCQnFme2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO2JvcmRlci1yYWRpdXM6MTAwJTtoZWlnaHQ6NnB4O2luc2V0LWlubGluZS1zdGFydDpjYWxjKDUwJSAtIDNweCk7cG9zaXRpb246YWJzb2x1dGU7dG9wOmNhbGMoNTAlIC0gM3B4KTt3aWR0aDo2cHh9"}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/65675.b22e86384da95a427485.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.739Z","timestamp":1785141584739,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/65675.b22e86384da95a427485.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-cb7\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f0fee3a8fa85278ea20565f9f8bc2744\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3255,"size_decoded":1611,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3255), with no line terminators","md5":"f53f02dd7b4726c0d3cb6dbbcfda7b87","sha1":"6862ca4abf23f4e0d6d8c01dd12160efe41a999d","sha256":"1007096185878202bece4ab281245577c9113dc3cc5d4071a5f58d2fd93407d5","sha512":"c72632fd3de5ba7a36701249d3475f260bafa4a1aa0fa9dbcf41a258300ec01af5288523af2efcd28a2301aa3a06827eacd95a80482ecbfe68fb7f636f7ac066","ssdeep":"","tlshash":"b861e3ae075e9cd934dc1f915763fc08377ad18e33222dbc618525f20bd2d3ae5a906a","first_seen":"2025-07-09T18:19:43.538072Z","last_seen":"2026-07-27T14:50:15.275476Z","times_seen":1260,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtazh4MDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWs4eDA6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnR2LWNpcmNsZS1sb2dvLXBhaXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LnR2LWNpcmNsZS1sb2dvLXBhaXItLXh4eHNtYWxse2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9LnR2LWNpcmNsZS1sb2dvLXBhaXItLXh4c21hbGx7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweH0udHYtY2lyY2xlLWxvZ28tcGFpci0teHNtYWxse2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9LnR2LWNpcmNsZS1sb2dvLXBhaXItLXNtYWxse2hlaWdodDoyOHB4O3dpZHRoOjI4cHh9LnR2LWNpcmNsZS1sb2dvLXBhaXItLW1lZGl1bXtoZWlnaHQ6MzZweDt3aWR0aDozNnB4fS50di1jaXJjbGUtbG9nby1wYWlyLS1sYXJnZXtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS50di1jaXJjbGUtbG9nby1wYWlyLS14bGFyZ2V7aGVpZ2h0OjU2cHg7d2lkdGg6NTZweH0udHYtY2lyY2xlLWxvZ28tcGFpci0teHhsYXJnZXtoZWlnaHQ6MTEycHg7d2lkdGg6MTEycHh9LnR2LWNpcmNsZS1sb2dvLXBhaXItLXh4eGxhcmdle2hlaWdodDoxNjhweDt3aWR0aDoxNjhweH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nb3tib3JkZXItcmFkaXVzOjUwJX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nbzpub3QoaW1nKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLWs4eDApfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvOmZpcnN0LWNoaWxkLC50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvOmxhc3QtY2hpbGR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHh4c21hbGx7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHh4c21hbGw6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0xMiAwSDB2NGE4IDggMCAwIDEgOCA4aDRWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHh4c21hbGw6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC02cHgsNnB4KX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHhzbWFsbHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS14eHNtYWxsOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTIgMEgwdjYuMjU0QTggOCAwIDAgMSA1Ljc0NiAxMkgxMloiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHhzbWFsbDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLThweCw4cHgpfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS14c21hbGx7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHNtYWxsOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTggMEgwdjQuNDFBMTEgMTEgMCAwIDEgMTMuNTkgMThIMThWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHNtYWxsOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNnB4LDZweCl9LnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tLXNtYWxse2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9LnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tLXNtYWxsOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTggMEgwdjguMDRBMTEgMTEgMCAwIDEgOS45NiAxOEgxOFYwWiIpfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS1zbWFsbDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTEwcHgsMTBweCl9LnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tLW1lZGl1bXtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS1tZWRpdW06Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0yNCAwSDB2MTBjOCAwIDE0IDYgMTQgMTRoMTBWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0tbWVkaXVtOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTJweCwxMnB4KX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0tbGFyZ2V7aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0tbGFyZ2U6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0zMiAwSDB2MTRhMTggMTggMCAwIDEgMTggMThoMTRWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0tbGFyZ2U6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xNnB4LDE2cHgpfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS14bGFyZ2V7aGVpZ2h0OjM4cHg7d2lkdGg6MzhweH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teGxhcmdlOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMzggMEgwdjE2LjAyTDEgMTZhMjEgMjEgMCAwIDEgMjAuOTggMjJIMzhWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teGxhcmdlOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMThweCwxOHB4KX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHhsYXJnZXtoZWlnaHQ6NzZweDt3aWR0aDo3NnB4fS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS14eGxhcmdlOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNNzYgMEgwdjMyLjA1QTQyIDQyIDAgMCAxIDQzLjk1IDc2SDc2VjBaIil9LnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tLXh4bGFyZ2U6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0zNnB4LDM2cHgpfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS14eHhsYXJnZXtoZWlnaHQ6MTE0cHg7d2lkdGg6MTE0cHh9LnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tLXh4eGxhcmdlOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTEzIDBIMFY0OGMzNS0xIDY2IDI2IDY2IDY2djBoNDhWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHh4bGFyZ2U6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC01NHB4LDU0cHgpfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLWVtcHR5e2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tbGlnaHQuNmQwYjczMWFjNmY0ODlmMDZlNjUuc3ZnKTtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbn1odG1sLnRoZW1lLWRhcmsgLnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tZW1wdHl7YmFja2dyb3VuZC1pbWFnZTp1cmwoZW1wdHktY29pbi1kYXJrLmQ2ZDA3YmZmOTJkN2U0ZGZmNWFkLnN2Zyl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/55011.f9c0a3c09f7b8779aa37.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.804Z","timestamp":1785141584804,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/55011.f9c0a3c09f7b8779aa37.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-1f54\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3cd9de5ad0c1a141100e0ac113904a4b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":8020,"size_decoded":1910,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (8020), with no line terminators","md5":"f0f2a6df78408bf96f6481a8d4c0f601","sha1":"c631397e79937484494158e38839d6e7e61fc647","sha256":"16ea95403cf2493fe63636ef9bccca8bc96aad6127f3d089ae7374caad43768f","sha512":"a5b165d61175f74d80f88c391c3c65e8bd9a1c6ea9d95bc184c93b61cda87117860c156c65aefd877fdb93c465bb755928d2f7872aa5ba05a1f9af74abcfe58d","ssdeep":"96:14pXCl+y3XsOna+yTRehcZOdBXysBKeYyeY+xRkkxRkfyVa+yTRehcv99BDB1PAq:K6aZV5OdB1BMTkkTkfsaZVP99BDB1PAq","tlshash":"8ef14c8df1e2957a170b312d4281c254572ba8c0ea56e7e97c7e72c840cebd502be92f","first_seen":"2026-06-30T21:57:43.329237Z","last_seen":"2026-07-27T12:48:39.615526Z","times_seen":257,"resource_available":false,"data":"LmJ1dHRvbi1IZEtoY1R5ZXthbGw6dW5zZXQ7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDYwbXMgZWFzZSxvcGFjaXR5IDYwbXMgZWFzZSxjb2xvciA2MG1zIGVhc2U7LS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLWJvcmRlci1yYWRpdXM6NnB4Oy0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSk7LS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1ob3Zlci1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dCx2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0KSl9LmJ1dHRvbi1IZEtoY1R5ZS5wcmVzc2VkLUhkS2hjVHlley0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yOnZhcigtLXR2LWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQsdmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSkpOy0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKSk7LS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1ob3Zlci1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpKX0uYnV0dG9uLUhkS2hjVHllLmhvdmVyLUhkS2hjVHllLC5idXR0b24tSGRLaGNUeWU6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLUhkS2hjVHllOmhvdmVye2NvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlcikpfX0uYnV0dG9uLUhkS2hjVHllLmNsaWNrZWQtSGRLaGNUeWUsLmJ1dHRvbi1IZEtoY1R5ZTphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1jbGlja2VkLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlcikpKX0uYnV0dG9uLUhkS2hjVHllIHN2Z3tkaXNwbGF5OmJsb2NrOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9LmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHlle3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MH0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWU6YmVmb3Jle2JvcmRlci1yYWRpdXM6dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1ib3JkZXItcmFkaXVzLDJweCk7Ym90dG9tOnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLWJvdHRvbSx2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbiwycHgpKTtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4tcmlnaHQsdmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4sMnB4KSk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLWxlZnQsdmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4sMnB4KSk7b3V0bGluZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCkgbm9uZSAycHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLXRvcCx2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbiwycHgpKTt6LWluZGV4Oi0xfS5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5ob3Zlci1IZEtoY1R5ZTpiZWZvcmUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpKTtjb250ZW50OiIifUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWU6aG92ZXI6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyKSk7Y29udGVudDoiIn19LmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmNsaWNrZWQtSGRLaGNUeWU6YmVmb3JlLC5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZTphY3RpdmU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1jbGlja2VkLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3ZlcikpKTtjb250ZW50OiIifS5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5hY2Nlc3NpYmxlLUhkS2hjVHllOmZvY3VzLXZpc2libGU6YmVmb3Jle2NvbnRlbnQ6IiI7b3V0bGluZS1zdHlsZTpzb2xpZH0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWV7Y29sb3I6dmFyKC0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlKSk7LS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLXR2LXRvb2wtd2lkZ2V0LWJ1dHRvbi1pbnRlcmFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yKX0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcik7Y29udGVudDoiIn0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWUuaG92ZXItSGRLaGNUeWUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmlzQWN0aXZlLUhkS2hjVHllOmFjdGl2ZXtjb2xvcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtaG92ZXItY29sb3IsdmFyKC0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyKSkpOy0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1ob3Zlci1jb2xvcil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5pc0FjdGl2ZS1IZEtoY1R5ZTpob3Zlcntjb2xvcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtaG92ZXItY29sb3IsdmFyKC0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyKSkpOy0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1ob3Zlci1jb2xvcil9fS5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5pc09wZW5lZC1IZEtoY1R5ZS5ob3Zlci1IZEtoY1R5ZTpiZWZvcmUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmlzT3BlbmVkLUhkS2hjVHllOmFjdGl2ZTpiZWZvcmUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmlzT3BlbmVkLUhkS2hjVHllOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtZXhwYW5kZWQsdmFyKC0tY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZykpO2JvcmRlci1yYWRpdXM6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1ib3JkZXItcmFkaXVzLDApO2JvdHRvbTp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtpbnNldC1pbmxpbmUtc3RhcnQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7cG9zaXRpb246YWJzb2x1dGU7dG9wOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3otaW5kZXg6LTF9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5pc09wZW5lZC1IZEtoY1R5ZTpob3ZlcjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWV4cGFuZGVkLHZhcigtLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmcpKTtib3JkZXItcmFkaXVzOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItYm9yZGVyLXJhZGl1cywwKTtib3R0b206dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTt6LWluZGV4Oi0xfX0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWUuaXNPcGVuZWQtSGRLaGNUeWUuY2xpY2tlZC1IZEtoY1R5ZTpiZWZvcmUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmlzT3BlbmVkLUhkS2hjVHllOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNsaWNrZWQsdmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1leHBhbmRlZCx2YXIoLS1jb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnKSkpO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9ja30uYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWV7b3BhY2l0eTouNX0uYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWV7Y29sb3I6dmFyKC0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlKSk7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDowOy0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1jb2xvcil9LmJ1dHRvbi1IZEtoY1R5ZS5pc0Rpc2FibGVkLUhkS2hjVHllLmlzQWN0aXZlLUhkS2hjVHllOmJlZm9yZXtib3JkZXItcmFkaXVzOnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItYm9yZGVyLXJhZGl1cywycHgpO2JvdHRvbTp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbi1ib3R0b20sdmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4sMnB4KSk7ZGlzcGxheTpibG9jaztpbnNldC1pbmxpbmUtZW5kOnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLXJpZ2h0LHZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLDJweCkpO2luc2V0LWlubGluZS1zdGFydDp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbi1sZWZ0LHZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLDJweCkpO291dGxpbmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApIG5vbmUgMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbi10b3AsdmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4sMnB4KSk7ei1pbmRleDotMX0uYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWUuaG92ZXItSGRLaGNUeWU6YmVmb3JlLC5idXR0b24tSGRLaGNUeWUuaXNEaXNhYmxlZC1IZEtoY1R5ZS5pc0FjdGl2ZS1IZEtoY1R5ZTphY3RpdmU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyKSk7Y29udGVudDoiIn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1IZEtoY1R5ZS5pc0Rpc2FibGVkLUhkS2hjVHllLmlzQWN0aXZlLUhkS2hjVHllOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3ZlcikpO2NvbnRlbnQ6IiJ9fS5idXR0b24tSGRLaGNUeWUuaXNEaXNhYmxlZC1IZEtoY1R5ZS5pc0FjdGl2ZS1IZEtoY1R5ZS5jbGlja2VkLUhkS2hjVHllOmJlZm9yZSwuYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWU6YWN0aXZlOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtY2xpY2tlZCx2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpKSk7Y29udGVudDoiIn0uYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWUuYWNjZXNzaWJsZS1IZEtoY1R5ZTpmb2N1cy12aXNpYmxlOmJlZm9yZXtjb250ZW50OiIiO291dGxpbmUtc3R5bGU6c29saWR9LmJ1dHRvbi1IZEtoY1R5ZS5pc0Rpc2FibGVkLUhkS2hjVHllLmlzQWN0aXZlLUhkS2hjVHllOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpO2NvbnRlbnQ6IiJ9LmVuZEljb24tSGRLaGNUeWUsLmljb24tSGRLaGNUeWUrLnRleHQtSGRLaGNUeWUsLnRleHQtSGRLaGNUeWUrLmljb24tSGRLaGNUeWV7bWFyZ2luLWlubGluZS1zdGFydDo0cHh9LmVuZEljb24tSGRLaGNUeWV7ZGlzcGxheTpmbGV4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/91944.cd51b48fa4d742a11726.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.882Z","timestamp":1785141584882,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/91944.cd51b48fa4d742a11726.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-4db1\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9dac332f0aee7cacb46275888d3611a4\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":19889,"size_decoded":7413,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"21603b1ea6d66be9e85aa0d9d193067c","sha1":"5dfac46409e281f3078e3af99e4bff3c1a5f0872","sha256":"9b43f56adbbeaa987486fbb6cacb11cabfc1b3f3a2dd72779653f53c856e5019","sha512":"cab7c1b47820cec2b3b2a91830c3ab740452d292f8365c4ddcbb24c933e951935088f8e65d6b05cf26971d02ca63b8ed69349566da982272c09dc14fad9cb99c","ssdeep":"384:lciP7w+YSd7NNsFs9s5QFdP4k3I+0rZnPb5X9D8Tq7dQYQBcOu7+sP5MgVzZtcip:lciPU+YSdHs0sJjFnPb5X9w+7dQ/SOub","tlshash":"b792a5913161697a53a622ed6cb11a03a749680af80e4d8cf1fd49ff685cc0e327db7c","first_seen":"2026-07-22T16:00:00.510452Z","last_seen":"2026-07-27T14:50:15.387097Z","times_seen":85,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTE5NDRdLHszODgzNjcoZSx0LGkpe2Z1bmN0aW9uIHMoZSx0KXtyZXR1cm4gZT8uc3R1ZHlJZHMuaGFzKHQpPz8hMX1pLmQodCx7aGlnaGxpZ2h0Q29udGFpbnNTb3VyY2U6KCk9PnN9KX0sNzMyMDgwKGUsdCxpKXtmdW5jdGlvbiBzKGUsdCl7cmV0dXJuKGUmdCk9PT10fWkuZCh0LHtpc1Bsb3RWaXNpYmxlOigpPT5zfSl9LDUyMTk4MyhlLHQsaSl7ZnVuY3Rpb24gcyhlLHQpe2lmKG51bGw9PT1lKXJldHVybiB0O2NvbnN0IGk9ZS5maXJzdEluZGV4LHM9dC5maXJzdEluZGV4LG49ZS5jbGVhckRhdGF8fHQuY2xlYXJEYXRhO3JldHVybntmaXJzdEluZGV4Om58fHZvaWQgMD09PWl8fHZvaWQgMD09PXM/dm9pZCAwOk1hdGgubWluKGkscyksY2xlYXJEYXRhOm59fWkuZCh0LHttZXJnZURhdGFJbnZhbGlkYXRpb246KCk9PnN9KX0sMzE1NjU0KGUsdCxpKXtpLmQodCx7U3R1ZHlQbG90UGFuZVZpZXc6KCk9PkZ9KTt2YXIgcyxuPWkoMTM4NjM4KSxvPWkoMTM0NjcpLGw9aSg2MDE4NDEpLGE9aSg5MzAyMzEpLHI9aSg2NDA3NDQpLGQ9aSg4NzM1NzMpLGg9aSg1NTY5MTEpLGM9aSg2Mzg1NzEpLHU9aSg0MTk5MjQpLF89aSg3ODkxOTApLHA9aSg0NTM2NzcpLG09aSg0NzAyMTApLHk9aSg1OTA0MjMpLEk9aSg5NzA0MzQpLFM9aSgxNDM4MDgpLGc9aSg3MzY1MzEpLGY9aSg2MDQyMTQpLHY9aSg3NjMpLFA9aSg5MzQzMDUpLHg9aSgzMTg5NzQpOyFmdW5jdGlvbihlKXtlW2UuTWluQ2lyY2xlUmFkaXVzPTEuNV09Ik1pbkNpcmNsZVJhZGl1cyIsZVtlLlNpbXBsaWZpZWRQYWludGluZ01vZGVNYXhCYXJTcGFjaW5nPTJdPSJTaW1wbGlmaWVkUGFpbnRpbmdNb2RlTWF4QmFyU3BhY2luZyJ9KHN8fChzPXt9KSk7Y2xhc3MgYiBleHRlbmRzIFAuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9kYXRhPWV9aGl0VGVzdChlKXtjb25zdCB0PXRoaXMuX2RhdGEsaT10LmxpbmVXaWR0aCxzPXQudmVydE9mZnNldHx8MCxuPSgwLGYuaW50ZXJhY3Rpb25Ub2xlcmFuY2UpKCkuc2VyaWVzK2ksbz10LnZpc2libGVJdGVtc1JhbmdlPy5zdGFydEl0ZW1JbmRleD8/MCxsPXQudmlzaWJsZUl0ZW1zUmFuZ2U/LmVuZEl0ZW1JbmRleD8/dC5pdGVtcy5sZW5ndGg7Zm9yKGxldCBhPW87YTxsO2ErKyl7Y29uc3Qgbz10Lml0ZW1zW2FdO2lmKG5ldyBnLlBvaW50KG8uY2VudGVyLG8ueStzKS5zdWJ0cmFjdChlKS5sZW5ndGgoKStpPD1uKXJldHVybiBuZXcgdi5IaXRUZXN0UmVzdWx0KHYuSGl0VGFyZ2V0LlJlZ3VsYXIpfXJldHVybiBudWxsfV9kcmF3SW1wbChlKXtjb25zdCB0PXRoaXMuX2RhdGEse2hvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnMsY29udGV4dDpufT1lLG89TWF0aC5tYXgoMSxNYXRoLmZsb29yKGkpKSxhPW8lMj8uNTowLHt2ZXJ0T2Zmc2V0OnI9MCxsaW5lQ29sb3I6ZCxsaW5lV2lkdGg6aCxiYXJTcGFjaW5nOmN9PXQ7bGV0IHU9IiIsXz0hMTtjb25zdCBwPXQudmlzaWJsZUl0ZW1zUmFuZ2U/LnN0YXJ0SXRlbUluZGV4Pz8wLG09dC52aXNpYmxlSXRlbXNSYW5nZT8uZW5kSXRlbUluZGV4Pz90Lml0ZW1zLmxlbmd0aDtmb3IobGV0IGU9cDtlPG07ZSsrKXtjb25zdCBwPXQuaXRlbXNbZV0sbT1wLmNlbnRlcix5PXAueStyO2lmKCgwLGwuaXNOYU4pKG0pfHwoMCxsLmlzTmFOKSh5KSljb250aW51ZTtsZXQgSSxTO251bGwhPXAuc3R5bGU/KEk9cC5zdHlsZS5jb2xvcixTPXAuc3R5bGUud2lkdGgpOihJPWQsUz1oKSwoSSE9PXV8fHguaXNTYWZhcmkpJiYodT1JLF8mJm4uZmlsbCgpLG4uYmVnaW5QYXRoKCksbi5maWxsU3R5bGU9SSk7Y29uc3QgZz1NYXRoLnJvdW5kKG0qaSkrYSxmPU1hdGgucm91bmQoeSpzKSthO2xldCB2PU1hdGgucm91bmQoMipNYXRoLm1heCgxLjUsUykqaSk7byUyIT12JTImJih2Kz0xKSxjPjJ8fFM+MS41PyhuLm1vdmVUbyhnK3YvMixmKSxuLmFyYyhnLGYsdi8yLDAsMipNYXRoLlBJLCExKSk6bi5yZWN0KGctdi8yLGYtdi8yLHYsdiksXz0hMH1fJiZuLmZpbGwoKX19dmFyIE49aSg3MjEzOTYpLEM9aSg3MDA3NCk7Y2xhc3MgdyBleHRlbmRzIFAuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9kYXRhPWV9aGl0VGVzdChlKXtjb25zdCB0PSgwLGYuaW50ZXJhY3Rpb25Ub2xlcmFuY2UpKCkuc2VyaWVzK3RoaXMuX2RhdGEubGluZVdpZHRoLzI7bGV0IGkscyxuLG87Zm9yKGxldCBsPTE7bDx0aGlzLl9kYXRhLml0ZW1zLmxlbmd0aDsrK2wpe2k9dGhpcy5fZGF0YS5pdGVtc1tsLTFdLHM9dGhpcy5fZGF0YS5pdGVtc1tsXSxuPWkuY2VudGVyLG89cy5jZW50ZXI7aWYoKDAsQy5kaXN0YW5jZVRvU2VnbWVudCkobmV3IGcuUG9pbnQobixpLnkpLG5ldyBnLlBvaW50KG8scy55KSxuZXcgZy5Qb2ludChlLngsZS55KSkuZGlzdGFuY2U8PXQpcmV0dXJuIG5ldyB2LkhpdFRlc3RSZXN1bHQodi5IaXRUYXJnZXQuUmVndWxhcil9cmV0dXJuIG51bGx9X2RyYXdJbXBsKGUpe2NvbnN0e2NvbnRleHQ6dCxob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpzfT1lO2xldCBuPSIiLG89ITE7Y29uc3QgYT10aGlzLl9kYXRhLnZpc2libGVJdGVtc1JhbmdlPy5zdGFydEl0ZW1JbmRleD8/MCxyPSh0aGlzLl9kYXRhLnZpc2libGVJdGVtc1JhbmdlPy5lbmRJdGVtSW5kZXg/P3RoaXMuX2RhdGEuaXRlbXMubGVuZ3RoKS0xO2ZvcihsZXQgZT1hO2U8PXI7ZSsrKXtjb25zdCBhPXRoaXMuX2RhdGEuaXRlbXNbZV07aWYoKDAsbC5pc05hTikoYS5jZW50ZXIpfHwoMCxsLmlzTmFOKShhLnkpKWNvbnRpbnVlO2NvbnN0IHI9YS5zdHlsZT8uY29sb3I/P3RoaXMuX2RhdGEubGluZUNvbG9yLGQ9YS5zdHlsZT8ud2lkdGg/P3RoaXMuX2RhdGEubGluZVdpZHRoLGg9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGQqaSkpLGM9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGQqcykpOyhyIT09bnx8eC5pc1NhZmFyaSkmJihuPXIsCm8mJnQuZmlsbCgpLHQuYmVnaW5QYXRoKCksdC5maWxsU3R5bGU9cik7bGV0IHU9MypoO3UlMiE9aCUyJiYodSs9MSk7bGV0IF89MypjO18lMiE9YyUyJiYoXys9MSk7Y29uc3QgcD1NYXRoLnJvdW5kKE1hdGgucm91bmQoYS5jZW50ZXIqaSktdS8yKSxtPU1hdGgucm91bmQoTWF0aC5yb3VuZChhLnkqcyktXy8yKSx5PXArTWF0aC5mbG9vcih1LzItaC8yKSxJPW0rTWF0aC5mbG9vcihfLzItYy8yKTt0LnJlY3QocCxJLHUsYyksdC5yZWN0KHksbSxoLF8pLG89ITB9byYmdC5maWxsKCl9fWNsYXNzIFIgZXh0ZW5kcyBQLkJpdG1hcENvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fZGF0YT1lfWhpdFRlc3QoZSl7Y29uc3QgdD0oMCxmLmludGVyYWN0aW9uVG9sZXJhbmNlKSgpLnNlcmllcyt0aGlzLl9kYXRhLmxpbmVXaWR0aC8yLGk9bmV3IE1hcDtmb3IoY29uc3QgcyBvZiB0aGlzLl9kYXRhLml0ZW1zKXtjb25zdCBvPXMuY2VudGVyLGw9cy55O2xldCBhPXQ7cy5zdHlsZSYmKGkuaGFzKHMuc3R5bGUud2lkdGgpP2E9KDAsbi5lbnN1cmVEZWZpbmVkKShpLmdldChzLnN0eWxlLndpZHRoKSk6aS5zZXQodGhpcy5fZGF0YS5saW5lV2lkdGgsYSkpO2lmKCgwLEMuZGlzdGFuY2VUb1NlZ21lbnQpKG5ldyBnLlBvaW50KG8sbCksbmV3IGcuUG9pbnQobyx0aGlzLl9kYXRhLmhpc3RvZ3JhbUJhc2UpLG5ldyBnLlBvaW50KGUueCxlLnkpKS5kaXN0YW5jZTw9YSlyZXR1cm4gbmV3IHYuSGl0VGVzdFJlc3VsdCh2LkhpdFRhcmdldC5SZWd1bGFyKX1yZXR1cm4gbnVsbH1fZHJhd0ltcGwoZSl7aWYoMD09PXRoaXMuX2RhdGEuaXRlbXMubGVuZ3RoKXJldHVybjtjb25zdHtjb250ZXh0OnQsaG9yaXpvbnRhbFBpeGVsUmF0aW86aSx2ZXJ0aWNhbFBpeGVsUmF0aW86c309ZTt0LmZpbGxTdHlsZT10aGlzLl9kYXRhLmxpbmVDb2xvcjtjb25zdCBuPU1hdGgubWF4KDEsTWF0aC5mbG9vcih0aGlzLl9kYXRhLmxpbmVXaWR0aCppKSksbz1uLzIsbD1NYXRoLm1heCgxLE1hdGguZmxvb3IoaSkpLGE9TWF0aC5yb3VuZCh0aGlzLl9kYXRhLmhpc3RvZ3JhbUJhc2UqcyktTWF0aC5mbG9vcihsLzIpLHI9YStsLGQ9dGhpcy5fZGF0YS52aXNpYmxlSXRlbXNSYW5nZT8uc3RhcnRJdGVtSW5kZXg/PzAsaD0odGhpcy5fZGF0YS52aXNpYmxlSXRlbXNSYW5nZT8uZW5kSXRlbUluZGV4Pz90aGlzLl9kYXRhLml0ZW1zLmxlbmd0aCktMTtmb3IobGV0IGU9ZDtlPD1oO2UrKyl7Y29uc3QgZD10aGlzLl9kYXRhLml0ZW1zW2VdO2xldCBoPW4sYz1vO2Quc3R5bGU/KHQuZmlsbFN0eWxlPWQuc3R5bGUuY29sb3IsaD1NYXRoLm1heCgxLE1hdGguZmxvb3IoZC5zdHlsZS53aWR0aCppKSksYz1oLzIpOnQuZmlsbFN0eWxlPXRoaXMuX2RhdGEubGluZUNvbG9yO2NvbnN0IHU9aCUyPy41OjAsXz1NYXRoLnJvdW5kKGQuY2VudGVyKmkpK3UscD1NYXRoLnJvdW5kKGQueSpzKTtsZXQgbSx5O3A8PWE/KG09cCx5PXIpOihtPWEseT1wLU1hdGguZmxvb3IobC8yKStsKSx0LmZpbGxSZWN0KE1hdGguZmxvb3IoXy1jKSxtLGgseS1tKX19fXZhciBNPWkoMTY4MjU4KSxMPWkoNjU1NTY5KSxUPWkoMTk4OTAxKSxCPWkoMzAzMjcwKSxEPWkoMjI3ODI1KTtjb25zdCBWPWU9Pntjb25zdCB0PSgwLG8ucmdiVG9Ic2wpKCgwLG8ucGFyc2VSZ2IpKGUpKSxpPXRbMF0rLjA1O3JldHVybiB0WzBdPWktTWF0aC5mbG9vcihpKSwoMCxvLnJnYlRvSGV4U3RyaW5nKSgoMCxvLmhzbFRvUmdiKSh0KSl9LGs9KDAsYy5tZW1vaXplKShWKTtjbGFzcyBGIGV4dGVuZHMgQi5TdHVkeVBhbmVWaWV3SW5wbGFjZVVwZGF0YWJsZXtjb25zdHJ1Y3RvcihlLHQsaSxzLG49ITEpe3N1cGVyKHQsaSxzKSx0aGlzLl9oaXN0b2dyYW1CYXNlPW51bGwsdGhpcy5fbGluZUNvbG9yPSIiLHRoaXMuX2xpbmVXaWR0aD0xLHRoaXMuX2NvbG9yMT0iIix0aGlzLl9jb2xvcjI9IiIsdGhpcy5fcmVuZGVyZXI9bmV3IF8uQ29tcG9zaXRlUmVuZGVyZXIsdGhpcy5faXNNYXJrZXJzRW5hYmxlZD0oMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiKSx0aGlzLl9zdHVkeT1lLHRoaXMuX3Bsb3RJbmRleD1lLm1ldGFJbmZvKCkucGxvdHMuZmluZEluZGV4KChlPT5lLmlkPT09cykpLHRoaXMuX2NvbG9yUHJvdmlkZXI9KDAsTC5jcmVhdGVTdHVkeVBsb3RDb2xvclByb3ZpZGVyKShlLm1ldGFJbmZvKCksZS5wcm9wZXJ0aWVzKCkscyksdGhpcy5fZXh0ZW5kU3RlcExpbmVUb0JhcnNFbmRpbmdzPW4sdGhpcy5faXNGdW5kYW1lbnRhbD0oMCxTLmlzRnVuZGFtZW50YWxTdHVkeU1ldGFJbmZvKShlLm1ldGFJbmZvKCkpO2NvbnN0IG89dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLnN0eWxlc1t0aGlzLl9wbG90TmFtZV0ucGxvdHR5cGUudmFsdWUoKTt0aGlzLl9pc1N0ZXBMaW5lUGxvdD1vPT09TS5MaW5lU3R1ZHlQbG90U3R5bGUuU3RlcExpbmV8fG89PT1NLkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZVdpdGhCcmVha3N8fG89PT1NLkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZVdpdGhEaWFtb25kc31pdGVtcygpe3JldHVybiB0aGlzLl9pdGVtc31yZW5kZXJlcigpe3JldHVybiB0aGlzLl9tYWtlU3VyZVJlbmRlcmVySXNWYWxpZCgpLHRoaXMuX3JlbmRlcmVyfV9nZXRUcmFuc3BWYWx1ZSgpe2NvbnN0IGU9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLHQ9ZS5zdHlsZXNbdGhpcy5fcGxvdE5hbWVdO2xldCBpPTA7Y29uc3Qgcz10aGlzLl9zdHVkeS5tZXRhSW5mbygpO3JldHVybiJWb2x1bWVAdHYtYmFzaWNzdHVkaWVzIj09PXMuaWQmJnMudmVyc2lvbjw9NDYmJiJ0cmFuc3BhcmVuY3kiaW4gZT8oaT1lLnRyYW5zcGFyZW5jeS52YWx1ZSgpLGk9KDAsbC5pc051bWJlcikoaSk/aTowLGkpOih0LnRyYW5zcGFyZW5jeSYmKGk9dC50cmFuc3BhcmVuY3kudmFsdWUoKSxpPSgwLGwuaXNOdW1iZXIpKGkpP2k6MCksaSl9X3VwZGF0ZUltcGxGdWxsKGUpe2lmKHRoaXMuX3JlbmRlcmVyLmNsZWFyKCksdGhpcy5fZGF0YUludmFsaWRhdGVkPy5jbGVhckRhdGEmJih0aGlzLl9pdGVtcz1bXSksCiF0aGlzLl9zdHVkeS5pc1Bsb3RWaXNpYmxlQXQodGhpcy5fcGxvdE5hbWUsTS5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LlBhbmUpKXJldHVybiExO2NvbnN0IHQ9dGhpcy5fcHJpY2VTY2FsZSgpO2lmKCF0fHx0LmlzRW1wdHkoKSlyZXR1cm4hMTtpZihudWxsPT09dGhpcy5fc3R1ZHkuZmlyc3RWYWx1ZSh2b2lkIDAsdGhpcy5pc0ZvcmNlT3ZlcmxheSgpKSlyZXR1cm4hMTt0aGlzLl9oaXN0b2dyYW1CYXNlPW51bGw7Y29uc3QgaT10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuc3R5bGVzW3RoaXMuX3Bsb3ROYW1lXSxzPWkucGxvdHR5cGUudmFsdWUoKSxvPXRoaXMuX2lzRnVuZGFtZW50YWwmJnRoaXMuX2lzU3RlcExpbmVQbG90LGw9dGhpcy5fc3R1ZHkucGxvdHMoKS5wbG90dGFibGVSYW5nZShvKTtpZigwPT09bC5zaXplKCkpcmV0dXJuITE7Y29uc3QgYT10aGlzLl9zdHVkeS5vZmZzZXQodGhpcy5fcGxvdE5hbWUpLGM9KDAsTS5kb2VzTGluZVBsb3RTdHlsZVN1cHBvcnRGaWxsQnJlYWtzKShzKSx1PXRoaXMuX3ByZWFsbG9jYXRlSXRlbXMobCwoKGUsdCk9Pih7eTpOYU4sbGVmdDpOYU4sY2VudGVyOk5hTixyaWdodDpOYU4scHJpY2U6dD8/TmFOLHRpbWVQb2ludEluZGV4OmUrYX0pKSk7bGV0IF89TmFOLHA9TmFOO2NvbnN0IG09bmV3IE1hcCx5PShlLHQpPT57bGV0IGk9bS5nZXQoZSk7dm9pZCAwPT09aSYmKGk9bmV3IE1hcCxtLnNldChlLGkpKTtsZXQgcz1pLmdldCh0KTtpZih2b2lkIDA9PT1zKXtjb25zdCBuPSF0aGlzLl9wbG90TmFtZXx8InZvbCIhPT10aGlzLl9wbG90TmFtZTtzPSgwLGQuZ2VuZXJhdGVDb2xvcikoZSx0LG4pLGkuc2V0KHQscyl9cmV0dXJuIHN9LFM9KDAsSS5jcmVhdGVFbXB0eVN0eWxlKSgpLGc9KDAsci5jbGFtcCkodGhpcy5fZ2V0VHJhbnNwVmFsdWUoKSwwLDEwMCksZj10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PWYpcmV0dXJuITE7Y29uc3R7c3RhcnRCYXI6dixlbmRCYXI6UH09dGhpcy5fY2FsY3VsYXRlU3RhcnRFbmQoZik7aWYobnVsbD09PXZ8fG51bGw9PT1QfHwwPT09dGhpcy5faXRlbXMubGVuZ3RoKXJldHVybiExO2NvbnN0IHg9dT8/KDAsbi5lbnN1cmVOb3ROdWxsKShsLmZpcnN0SW5kZXgoKSksYj0oMCxuLmVuc3VyZU5vdE51bGwpKGwubGFzdEluZGV4KCkpKzEsTj1sLnJhbmdlSXRlcmF0b3IoeCxiKTtsZXQgQyx3PSgwLFQubG93ZXJib3VuZCkodGhpcy5faXRlbXMseCthLCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSk7Zm9yKGNvbnN0IGUgb2YgTil7bGV0IHQ9ZS5pbmRleDtjb25zdCBzPWUudmFsdWU7dCs9YSx0PU1hdGguZmxvb3IodCk7bGV0IG49c1t0aGlzLl9wbG90SW5kZXgrMV07Y29uc3Qgbz1udWxsPT1uO2lmKG49bz9OYU46bixjJiZvKXtwPW4sXz10LHcrKztjb250aW51ZX1jb25zdCBsPXRoaXMuX2l0ZW1zW3ddO2wudmFsSXNOb3RTYW1lQXNQcmV2PW4hPT1wfHx0LTEhPT1fO2lmKHRoaXMuX2NvbG9yUHJvdmlkZXIuaXNDb2xvckRlZmluZWQoKSYmKGwuc3R5bGU9e2NvbG9yOnkoaS5jb2xvci52YWx1ZSgpLDEwMCksd2lkdGg6aS5saW5ld2lkdGgudmFsdWUoKSxzdHlsZTppLmxpbmVzdHlsZS52YWx1ZSgpfSxudWxsIT1uKSl7Y29uc3QgZT10aGlzLl9jb2xvclByb3ZpZGVyLmdldFBsb3RQb2ludFN0eWxlKHMsUyksdD1lLmNvbG9yc1swXTt2b2lkIDAhPT10JiYobC5zdHlsZS5jb2xvcj0oMCxkLmlzSGV4Q29sb3IpKHQpP3kodCxnKTp0KSxsLnN0eWxlLndpZHRoPWUubGluZVdpZHRoPz9sLnN0eWxlLndpZHRoLGwuc3R5bGUuc3R5bGU9ZS5saW5lU3R5bGU/P2wuc3R5bGUuc3R5bGV9IWMmJiFpc05hTihfKSYmXyE9PXQtMSYmdz4wJiYodGhpcy5faXRlbXNbd10uYnJlYWtCZWZvcmU9ITApLHA9bixfPXQsdysrLEM9bH1pZihDJiZ0aGlzLl9pc0Z1bmRhbWVudGFsJiZ0aGlzLl9pc1N0ZXBMaW5lUGxvdCl7Y29uc3QgZT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZGF0YSgpLmJhcnMoKS5sYXN0SW5kZXgoKSx0PUM7aWYobnVsbCE9PWUmJmU+dC50aW1lUG9pbnRJbmRleCl7Y29uc3QgaT0oMCxoLmRlZXBDb3B5KSh0KTtpLnRpbWVQb2ludEluZGV4PWUsaS52YWxJc05vdFNhbWVBc1ByZXY9ITEsdGhpcy5faXRlbXMubGVuZ3RoPnc/dGhpcy5faXRlbXNbd109aTp0aGlzLl9pdGVtcy5wdXNoKGkpfX1yZXR1cm4gdGhpcy5fdXBkYXRlSW1wbExpZ2h0KCksITB9X2NvcnJlY3RWaXNpYmxlSXRlbUluZGV4ZXMoZSx0KXtjb25zdCBpPXN1cGVyLl9jb3JyZWN0VmlzaWJsZUl0ZW1JbmRleGVzKGUsdCk7cmV0dXJuIHRoaXMuX2lzRnVuZGFtZW50YWwmJnRoaXMuX2lzU3RlcExpbmVQbG90JiZpLmVuZEl0ZW1JbmRleD09PXRoaXMuX2l0ZW1zLmxlbmd0aC0xJiYoaS5lbmRJdGVtSW5kZXgrPTEpLGl9X3VwZGF0ZVJlbmRlcmVyKGUsdCl7dGhpcy5fcmVuZGVyZXIuY2xlYXIoKTtjb25zdCBpPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLHM9dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5zdHlsZXM/Llt0aGlzLl9wbG90TmFtZV0sbz0oMCxyLmNsYW1wKSh0aGlzLl9nZXRUcmFuc3BWYWx1ZSgpLDAsMTAwKTt0aGlzLl9saW5lQ29sb3I9KDAsZC5nZW5lcmF0ZUNvbG9yKShpLmNvbG9yLnZhbHVlKCksbyksdGhpcy5fbGluZVdpZHRoPWkubGluZXdpZHRoLnZhbHVlKCk7bGV0IGE9aS5jb2xvci52YWx1ZSgpO2NvbnN0IGM9dGhpcy5fY29sb3JQcm92aWRlci5nZXREZWZhdWx0UGxvdFBvaW50U3R5bGUoKTtjJiYoYT1jLmNvbG9yc1swXXx8YSx0aGlzLl9saW5lV2lkdGg9Yy5saW5lV2lkdGg/P3RoaXMuX2xpbmVXaWR0aCx0aGlzLl9saW5lQ29sb3I9YT8oMCxkLmdlbmVyYXRlQ29sb3IpKGEsbyk6dGhpcy5fbGluZUNvbG9yKSx0aGlzLl9jb2xvcjI9KDAsZC5nZW5lcmF0ZUNvbG9yKShhLG8pO2NvbnN0IF89dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5pc1JHQj9WKGEpOmsoYSk7dGhpcy5fY29sb3IxPSgwLGQuZ2VuZXJhdGVDb2xvcikoXyxvKQo7Y29uc3QgST10aGlzLl9oaXN0b2dyYW1CYXNlP3RoaXMuX2hpc3RvZ3JhbUJhc2U6KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcmljZVNjYWxlKCkpLmhlaWdodCgpLFM9aS5wbG90dHlwZS52YWx1ZSgpLGc9e2JhclNwYWNpbmc6dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpLGl0ZW1zOnRoaXMuX2l0ZW1zLGhpc3RvZ3JhbUJhc2U6SSxsaW5lSW5kZXg6MCxsaW5lU3R5bGU6aS5saW5lc3R5bGUudmFsdWUoKSxsaW5lQ29sb3I6dGhpcy5fbGluZUNvbG9yLGxpbmVXaWR0aDooMCxsLmlzTnVtYmVyKSh0aGlzLl9saW5lV2lkdGgpP3RoaXMuX2xpbmVXaWR0aDoxLGNvbG9yMTp0aGlzLl9jb2xvcjEsY29sb3IyOnRoaXMuX2NvbG9yMixib3R0b206SSx2aXNpYmxlSXRlbXNSYW5nZTp7c3RhcnRJdGVtSW5kZXg6ZSxlbmRJdGVtSW5kZXg6dH0sc2ltcGxlTW9kZTp0aGlzLl9jb2xvclByb3ZpZGVyLnNpbmdsZUNvbG9yKCksc2tpcEhvbGVzOigwLE0uZG9lc0xpbmVQbG90U3R5bGVTdXBwb3J0RmlsbEJyZWFrcykoUyl9LGY9dGhpcy5fcmVuZGVyZXIsdj1Cb29sZWFuKHM/LmpvaW5Qb2ludHMpO3N3aXRjaChTKXtjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLkxpbmU6Y2FzZSBNLkxpbmVTdHVkeVBsb3RTdHlsZS5MaW5lV2l0aEJyZWFrczpmLmFwcGVuZChuZXcgcC5QYW5lUmVuZGVyZXJMaW5lKHsuLi5nLGxpbmVDb2xvcjp7dHlwZTpELkNvbG9yVHlwZS5Tb2xpZCxjb2xvcjp0aGlzLl9saW5lQ29sb3J9fSkpO2JyZWFrO2Nhc2UgTS5MaW5lU3R1ZHlQbG90U3R5bGUuQXJlYTpjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLkFyZWFXaXRoQnJlYWtzOmYuYXBwZW5kKG5ldyB1LlBhbmVSZW5kZXJlckFyZWEoey4uLmcsbGluZUNvbG9yOnt0eXBlOkQuQ29sb3JUeXBlLlNvbGlkLGNvbG9yOnRoaXMuX2xpbmVDb2xvcn19KSk7YnJlYWs7Y2FzZSBNLkxpbmVTdHVkeVBsb3RTdHlsZS5IaXN0b2dyYW06Zi5hcHBlbmQobmV3IFIoZykpO2JyZWFrO2Nhc2UgTS5MaW5lU3R1ZHlQbG90U3R5bGUuQ29sdW1uczpmLmFwcGVuZChuZXcgTi5QYW5lUmVuZGVyZXJDb2x1bW5zKGcpKTticmVhaztjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLkNyb3NzOmYuYXBwZW5kKG5ldyB3KGcpKSx2JiZmLmFwcGVuZChuZXcgcC5QYW5lUmVuZGVyZXJMaW5lKHsuLi4oMCxoLmRlZXBDb3B5KShnKSxsaW5lV2lkdGg6MSxsaW5lQ29sb3I6e3R5cGU6RC5Db2xvclR5cGUuU29saWQsY29sb3I6dGhpcy5fbGluZUNvbG9yfSxmb3JjZUxpbmVXaWR0aDohMH0pKTticmVhaztjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLkNpcmNsZXM6Zi5hcHBlbmQobmV3IGIoZykpLHYmJmYuYXBwZW5kKG5ldyBwLlBhbmVSZW5kZXJlckxpbmUoey4uLigwLGguZGVlcENvcHkpKGcpLGxpbmVXaWR0aDoxLGxpbmVDb2xvcjp7dHlwZTpELkNvbG9yVHlwZS5Tb2xpZCxjb2xvcjp0aGlzLl9saW5lQ29sb3J9LGlnbm9yZVBhbGV0dGVMaW5lV2lkdGg6ITB9KSk7YnJlYWs7Y2FzZSBNLkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZTpjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLlN0ZXBMaW5lV2l0aEJyZWFrczpjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLlN0ZXBMaW5lV2l0aERpYW1vbmRzOntjb25zdCBlPW5ldyBtLlBhbmVSZW5kZXJlclN0ZXBMaW5lO2Uuc2V0RGF0YSh7Li4uZyxsaW5lQ29sb3I6e3R5cGU6RC5Db2xvclR5cGUuU29saWQsY29sb3I6dGhpcy5fbGluZUNvbG9yfSxkZWNvcmF0aW9uOmkucGxvdHR5cGUudmFsdWUoKT09PU0uTGluZVN0dWR5UGxvdFN0eWxlLlN0ZXBMaW5lV2l0aERpYW1vbmRzP20uU3RlcExpbmVEZWNvcmF0aW9uLkRpYW1vbmRzOm0uU3RlcExpbmVEZWNvcmF0aW9uLk5vbmUsZXh0ZW5kVG9CYXJzRW5kaW5nczp0aGlzLl9leHRlbmRTdGVwTGluZVRvQmFyc0VuZGluZ3N9KSxmLmFwcGVuZChlKTticmVha31kZWZhdWx0OmYuYXBwZW5kKG5ldyBwLlBhbmVSZW5kZXJlckxpbmUoey4uLmcsbGluZUNvbG9yOnt0eXBlOkQuQ29sb3JUeXBlLlNvbGlkLGNvbG9yOnRoaXMuX2xpbmVDb2xvcn19KSl9dGhpcy5faXNNYXJrZXJzRW5hYmxlZCYmdGhpcy5fc2VsZWN0aW9uRGF0YSYmZi5hcHBlbmQobmV3IHkuU2VsZWN0aW9uUmVuZGVyZXIodGhpcy5fc2VsZWN0aW9uRGF0YSkpfV91cGRhdGVBZGRpdGlvbmFsUHJpY2VzKGUsdCl7Y29uc3QgaT10aGlzLl9zdHVkeS5tZXRhSW5mbygpLnN0eWxlcz8uW3RoaXMuX3Bsb3ROYW1lXTt2b2lkIDAhPT1pPy5oaXN0b2dyYW1CYXNlJiYodGhpcy5faGlzdG9ncmFtQmFzZT1lLnByaWNlVG9Db29yZGluYXRlKGkuaGlzdG9ncmFtQmFzZSx0KSl9fX0sODQwNzcxKGUsdCxpKXtpLmQodCx7U3R1ZHlGb3JjZU92ZXJsYXlQbG90VmlldzooKT0+b30pO3ZhciBzPWkoMTM4NjM4KTtjbGFzcyBue2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl9zZXJpZXM9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX3Bsb3ROYW1lPWl9aXNQbG90SGlnaGxpZ2h0ZWQoKXtyZXR1cm4hIXRoaXMuX3N0dWR5Lmhhc0hpZ2hsaWdodGVkUGxvdHMoKSYmKDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5oaWdobGlnaHRlZFBsb3RJbmZvKCkpLnBsb3RJZD09PXRoaXMuX3Bsb3ROYW1lfX1jbGFzcyBvIGV4dGVuZHMgbntpc0ZvcmNlT3ZlcmxheSgpe3JldHVybiEhdGhpcy5fc3R1ZHkubWV0YUluZm8oKS5pc1Bsb3RGb3JjZU92ZXJsYXkodGhpcy5fcGxvdE5hbWUpfV9wcmljZVNjYWxlKCl7cmV0dXJuIHRoaXMuaXNGb3JjZU92ZXJsYXkoKT90aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpOnRoaXMuX3N0dWR5LnByaWNlU2NhbGUoKX19fSwzMDMyNzAoZSx0LGkpe2kuZCh0LHtTdHVkeVBhbmVWaWV3SW5wbGFjZVVwZGF0YWJsZTooKT0+dX0pO3ZhciBzPWkoMTM4NjM4KSxuPWkoNzM2NTMxKSxvPWkoNjAxODQxKSxsPWkoNTIxOTgzKSxhPWkoOTM2MzI2KSxyPWkoMTk4OTAxKSxkPWkoMTQzOTMyKSxoPWkoNTQ0ODY0KSxjPWkoODQwNzcxKTtjbGFzcyB1IGV4dGVuZHMgYy5TdHVkeUZvcmNlT3ZlcmxheVBsb3RWaWV3e2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSksCnRoaXMuX3NlbGVjdGlvbkRhdGE9bnVsbCx0aGlzLl9kYXRhSW52YWxpZGF0ZWQ9bnVsbCx0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkPSExLHRoaXMuX2l0ZW1zPVtdLHRoaXMuX3NlbGVjdGlvbkluZGV4ZXI9bmV3IGQuU2VsZWN0aW9uSW5kZXhlcyh0LnRpbWVTY2FsZSgpKX11cGRhdGUoZSl7aWYoImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUpe2lmKCJnbG9iYWwtY2hhbmdlIj09PWUudHlwZSlyZXR1cm4gdGhpcy5fZGF0YUludmFsaWRhdGVkPSgwLGwubWVyZ2VEYXRhSW52YWxpZGF0aW9uKSh0aGlzLl9kYXRhSW52YWxpZGF0ZWQse30pLHZvaWQodGhpcy5fdmlld3BvcnRJbnZhbGlkYXRlZD0hMCk7aWYoImRhdGEtc291cmNlLWNoYW5nZSIhPT1lLnR5cGUpdGhpcy5fdmlld3BvcnRJbnZhbGlkYXRlZD0hMDtlbHNle2lmKChlLnNvdXJjZUlkPT09dGhpcy5fc3R1ZHkuaWQoKXx8dGhpcy5fZGVwZW5kc09uU2VyaWVzRGF0YSgpJiZlLnNvdXJjZUlkPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmlkKCkpJiYhZS5ub25TZXJpZXNPbmx5KXtjb25zdCB0PSgwLGwubWVyZ2VEYXRhSW52YWxpZGF0aW9uKSh0aGlzLl9kYXRhSW52YWxpZGF0ZWQse2ZpcnN0SW5kZXg6ZS5maXJzdFVwZGF0ZWRUaW1lUG9pbnRJbmRleCxjbGVhckRhdGE6ZS5jbGVhckRhdGF9KTt0aGlzLl9kYXRhSW52YWxpZGF0ZWQ9dH19fX1fZGVwZW5kc09uU2VyaWVzRGF0YSgpe3JldHVybiExfV9tYWtlU3VyZVJlbmRlcmVySXNWYWxpZCgpe3RoaXMuX2RhdGFJbnZhbGlkYXRlZD90aGlzLl91cGRhdGVJbXBsRnVsbCh0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkKSYmKHRoaXMuX2RhdGFJbnZhbGlkYXRlZD1udWxsKTp0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkJiZ0aGlzLl91cGRhdGVJbXBsTGlnaHQoKSx0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkPSExfV9wcmVhbGxvY2F0ZUl0ZW1zKGUsdCl7Y29uc3QgaT1lLnNpemUoKTtsZXQgbj10aGlzLl9kYXRhSW52YWxpZGF0ZWQ/LmZpcnN0SW5kZXg7aWYoMD09PWkpcmV0dXJuIG47Y29uc3Qgbz10aGlzLl9zdHVkeS5vZmZzZXQodGhpcy5fcGxvdE5hbWUpO2lmKGkhPT10aGlzLl9pdGVtcy5sZW5ndGgpe2NvbnN0IGk9dm9pZCAwIT09bj9uK286dm9pZCAwO2lmKHZvaWQgMD09PWl8fDA9PT10aGlzLl9pdGVtcy5sZW5ndGh8fGk8KDAscy5lbnN1cmVEZWZpbmVkKSh0aGlzLl9pdGVtc1swXS50aW1lUG9pbnRJbmRleCkpcmV0dXJuIHRoaXMuX2l0ZW1zPVtdLGUuZWFjaCgoKGUsaSk9Pntjb25zdCBzPWlbdGhpcy5fcGxvdEluZGV4KzFdO3JldHVybiB0aGlzLl9pdGVtcy5wdXNoKHQoZSxzKSksITF9KSksdGhpcy5faXRlbXMubGVuZ3RoPygwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5faXRlbXNbMF0udGltZVBvaW50SW5kZXgpLW86dm9pZCAwO3tjb25zdCBpPSgwLHMuZW5zdXJlRGVmaW5lZCkobiksbD1vPj0wPzA6byxhPW8+PTA/bzowO2xldCBkPSgwLHIubG93ZXJib3VuZCkodGhpcy5faXRlbXMsaStsLCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSk7Y29uc3QgaD0oMCxzLmVuc3VyZU5vdE51bGwpKGUubGFzdEluZGV4KCkpLGM9ZS5yYW5nZUl0ZXJhdG9yKGktYSxoKTtmb3IoY29uc3QgZSBvZiBjKWlmKHZvaWQgMCE9PWQmJnRoaXMuX2l0ZW1zW2RdPy50aW1lUG9pbnRJbmRleD09PWUuaW5kZXgrbylkPXRoaXMuX3VwZGF0ZUl0ZW0oZSxkKTtlbHNle2NvbnN0IGk9ZS52YWx1ZVt0aGlzLl9wbG90SW5kZXgrMV07dGhpcy5faXRlbXMucHVzaCh0KGUuaW5kZXgsaSkpfX19ZWxzZSBpZihuPW4/P2UuZmlyc3RJbmRleCgpPz92b2lkIDAsdm9pZCAwIT09bil7Y29uc3QgdD1vPj0wPzA6byxpPW8+PTA/bzowO2xldCBsPSgwLHIubG93ZXJib3VuZCkodGhpcy5faXRlbXMsbit0LCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSk7Y29uc3QgYT0oMCxzLmVuc3VyZU5vdE51bGwpKGUubGFzdEluZGV4KCkpKzEsZD1lLnJhbmdlSXRlcmF0b3Iobi1pLGEpO2Zvcihjb25zdCBlIG9mIGQpbD10aGlzLl91cGRhdGVJdGVtKGUsbCl9cmV0dXJuIG59X3VwZGF0ZUl0ZW0oZSx0KXtjb25zdCBpPXRoaXMuX2dldFZhbHVlRm9yVXBkYXRpbmcoZSk7cmV0dXJuIHRoaXMuX2l0ZW1zW3RdLnByaWNlPWk/P05hTix0KzF9X2dldFZhbHVlRm9yVXBkYXRpbmcoZSl7cmV0dXJuIGUudmFsdWVbdGhpcy5fcGxvdEluZGV4KzFdfV9jYWxjdWxhdGVTdGFydEVuZChlKXtjb25zdCB0PXRoaXMuX3N0dWR5Lm9mZnNldCh0aGlzLl9wbG90TmFtZSk7bGV0IGk9ZS5maXJzdEJhcigpLU1hdGguYWJzKHQpLTEsbj1lLmxhc3RCYXIoKStNYXRoLmFicyh0KSsxO2NvbnN0IG89dGhpcy5fc3R1ZHkuZ2V0TWluRmlyc3RCYXJJbmRleEZvclBsb3QodGhpcy5fcGxvdE5hbWUpK3Q7aWYobz5uKzEpcmV0dXJue3N0YXJ0QmFyOm51bGwsZW5kQmFyOm51bGx9O2NvbnN0IGw9dGhpcy5fc3R1ZHkucGxvdHMoKTtpZihsLmlzRW1wdHkoKSlyZXR1cm57c3RhcnRCYXI6bnVsbCxlbmRCYXI6bnVsbH07Y29uc3Qgcj1sLnJhbmdlKG8sKDAscy5lbnN1cmVOb3ROdWxsKShsLmxhc3RJbmRleCgpKSk7aT1NYXRoLm1heChpLG8pLG49TWF0aC5tYXgobixvKTtjb25zdCBkPXIuc2VhcmNoKGksYS5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCx0aGlzLl9wbG90SW5kZXgrMSksaD1yLnNlYXJjaChuLGEuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0LHRoaXMuX3Bsb3RJbmRleCsxKTtyZXR1cm4gbnVsbCE9PWQmJihpPWQuaW5kZXgpLG51bGwhPT1oJiYobj1oLmluZGV4KSxpPU1hdGgubWF4KG8saSkse3N0YXJ0QmFyOmksZW5kQmFyOm59fV91cGRhdGVJbXBsTGlnaHQoKXtjb25zdCBlPXRoaXMuX3N0dWR5LmZpcnN0VmFsdWUodm9pZCAwLHRoaXMuaXNGb3JjZU92ZXJsYXkoKSk7aWYobnVsbD09PWUpcmV0dXJuIHRoaXMuX3NlbGVjdGlvbkRhdGE9bnVsbCx2b2lkIHRoaXMuX3VwZGF0ZVJlbmRlcmVyKDAsLTEpO2NvbnN0IHQ9dGhpcy5fcHJpY2VTY2FsZSgpO2lmKG51bGw9PT10fHx0LmlzRW1wdHkoKSlyZXR1cm4gdGhpcy5fc2VsZWN0aW9uRGF0YT1udWxsLHZvaWQgdGhpcy5fdXBkYXRlUmVuZGVyZXIoMCwtMSkKO2NvbnN0IGk9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1pKXJldHVybiB0aGlzLl9zZWxlY3Rpb25EYXRhPW51bGwsdm9pZCB0aGlzLl91cGRhdGVSZW5kZXJlcigwLC0xKTtjb25zdHtzdGFydEJhcjpzLGVuZEJhcjpufT10aGlzLl9jYWxjdWxhdGVTdGFydEVuZChpKTtpZihudWxsPT09c3x8bnVsbD09PW58fDA9PT10aGlzLl9pdGVtcy5sZW5ndGgpcmV0dXJuIHRoaXMuX3NlbGVjdGlvbkRhdGE9bnVsbCx2b2lkIHRoaXMuX3VwZGF0ZVJlbmRlcmVyKDAsLTEpO2NvbnN0e3N0YXJ0SXRlbUluZGV4Om8sZW5kSXRlbUluZGV4Omx9PXRoaXMuX2NvcnJlY3RWaXNpYmxlSXRlbUluZGV4ZXMoTWF0aC5tYXgoMCwoMCxyLmxvd2VyYm91bmQpKHRoaXMuX2l0ZW1zLHMsKChlLHQpPT5lLnRpbWVQb2ludEluZGV4PHQpKSksTWF0aC5taW4odGhpcy5faXRlbXMubGVuZ3RoLCgwLHIudXBwZXJib3VuZCkodGhpcy5faXRlbXMsbiwoKGUsdCk9PmU8dC50aW1lUG9pbnRJbmRleCkpKSk7aWYobz49bClyZXR1cm4gdGhpcy5fc2VsZWN0aW9uRGF0YT1udWxsLHZvaWQgdGhpcy5fdXBkYXRlUmVuZGVyZXIoMCwtMSk7dGhpcy5fY29udmVydEl0ZW1zVG9Db29yZGluYXRlcyh0LGUsbyxsKSx0aGlzLl9jcmVhdGVTZWxlY3Rpb24oZSksdGhpcy5fdXBkYXRlUmVuZGVyZXIobyxsKX1fY29ycmVjdFZpc2libGVJdGVtSW5kZXhlcyhlLHQpe3JldHVybntzdGFydEl0ZW1JbmRleDplLGVuZEl0ZW1JbmRleDp0fX1fY29udmVydEl0ZW1zVG9Db29yZGluYXRlcyhlLHQsaSxzKXt0aGlzLl9jb252ZXJ0SXRlbXNUb0Nvb3JkaW5hdGVzSW1wbChlLHQsaSxzKX1fY29udmVydEl0ZW1zVG9Db29yZGluYXRlc0ltcGwoZSx0LGkscyl7ZS5maWxsWUNvb3JkaW5hdGVzKHRoaXMuX2l0ZW1zLHQse3N0YXJ0SXRlbUluZGV4OmksZW5kSXRlbUluZGV4OnN9KSx0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5maWxsQmFyQm9yZGVycyh0aGlzLl9pdGVtcyx7c3RhcnRJdGVtSW5kZXg6aSxlbmRJdGVtSW5kZXg6c30sITApLHRoaXMuX3VwZGF0ZUFkZGl0aW9uYWxQcmljZXMoZSx0KX1fdXBkYXRlQWRkaXRpb25hbFByaWNlcyhlLHQpe31fY3JlYXRlU2VsZWN0aW9uKGUpe2NvbnN0IHQ9dGhpcy5fcHJpY2VTY2FsZSgpO2lmKG51bGw9PT10KXJldHVybjtpZih0aGlzLl9zZWxlY3Rpb25EYXRhPXtwb2ludHM6W10sYmdDb2xvcnM6W10sdmlzaWJsZTohMCxoaXR0ZXN0UmVzdWx0OmguSGl0VGFyZ2V0LlJlZ3VsYXIsYmFyU3BhY2luZzp0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCl9LCF0aGlzLmlzUGxvdEhpZ2hsaWdodGVkKCkmJighdGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zdHVkeSl8fHRoaXMuX3N0dWR5Lmhhc0hpZ2hsaWdodGVkUGxvdHMoKSkpcmV0dXJuIHZvaWQgdGhpcy5fc2VsZWN0aW9uSW5kZXhlci5jbGVhcigpO2NvbnN0IGk9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX3N0dWR5KSkuaGVpZ2h0KCksbj10aGlzLl9zdHVkeS5vZmZzZXQodGhpcy5fcGxvdE5hbWUpO2Zvcihjb25zdCBzIG9mIHRoaXMuX3NlbGVjdGlvbkluZGV4ZXIuaW5kZXhlcygpKXtjb25zdCBsPXRoaXMuX3N0dWR5LnBsb3RzKCkudmFsdWVBdChzKTtpZigoMCxvLmlzQWJzZW50KShsKSljb250aW51ZTtjb25zdCBhPWxbdGhpcy5fcGxvdEluZGV4KzFdO2lmKCgwLG8uaXNBYnNlbnQpKGEpKWNvbnRpbnVlO2NvbnN0IHI9dGhpcy5fY3JlYXRlU2VsZWN0aW9uRGF0YVBvaW50KHQsTWF0aC5mbG9vcihzK24pLGEsZSk7dGhpcy5fc2VsZWN0aW9uRGF0YS5wb2ludHMucHVzaChyKSx0aGlzLl9zZWxlY3Rpb25EYXRhLmJnQ29sb3JzLnB1c2godGhpcy5fbW9kZWwuYmFja2dyb3VuZENvbG9yQXRZUGVyY2VudEZyb21Ub3Aoci5wb2ludC55L2kpKX19X2NyZWF0ZVNlbGVjdGlvbkRhdGFQb2ludChlLHQsaSxzKXtjb25zdCBvPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmluZGV4VG9Db29yZGluYXRlKHQpLGw9ZS5wcmljZVRvQ29vcmRpbmF0ZShpLHMpO3JldHVybntwb2ludDooMCxuLnBvaW50KShvLGwpfX19fSw2ODAxMjYoZSx0LGkpe2kuZCh0LHtTdHVkeVByaWNlQXhpc1ZpZXc6KCk9PmF9KTt2YXIgcz1pKDEzODYzOCksbj1pKDcxNjc4KSxvPWkoMTY4MjU4KSxsPWkoODczNTczKTtjbGFzcyBhIGV4dGVuZHMgbi5QcmljZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9tb2RlbD1lLm1vZGVsKCksdGhpcy5fc291cmNlPWUsdGhpcy5fZGF0YT10LHRoaXMuX2lzRm9yY2VPdmVybGF5PSEhdGhpcy5fc291cmNlLm1ldGFJbmZvKCkuaXNQbG90Rm9yY2VPdmVybGF5KHRoaXMuX2RhdGEucGxvdE5hbWUpfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmc3VwZXIudXBkYXRlKGUpfWlzUGxvdEhpZ2hsaWdodGVkKCl7cmV0dXJuISF0aGlzLl9zb3VyY2UuaGFzSGlnaGxpZ2h0ZWRQbG90cygpJiYoMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmhpZ2hsaWdodGVkUGxvdEluZm8oKSkucGxvdElkPT09dGhpcy5fZGF0YT8ucGxvdE5hbWV9X3VwZGF0ZVJlbmRlcmVyRGF0YShlLHQsaSl7ZS52aXNpYmxlPSExLHQudmlzaWJsZT0hMTtjb25zdCBuPXRoaXMuX3NvdXJjZS5tb2RlbCgpLG89dGhpcy5faXNGb3JjZU92ZXJsYXk/bi5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpOnRoaXMuX3NvdXJjZS5wcmljZVNjYWxlKCk7aWYobnVsbD09PW8pcmV0dXJuO2lmKCFuLmlzUHJpY2VTY2FsZVZpc2libGUobykpcmV0dXJuO2NvbnN0IGE9dGhpcy5fc291cmNlLmxhc3RWYWx1ZURhdGEodGhpcy5fZGF0YS5wbG90TmFtZSwhMSk7aWYoYS5ub0RhdGEpcmV0dXJuO2NvbnN0IHI9bi50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksZD1uLm1haW5TZXJpZXMoKS5iYXJzKCkubGFzdEluZGV4KCk7aWYobnVsbD09PXJ8fG51bGw9PT1kKXJldHVybjtsZXQgaDtpZihkPD1yLmxhc3RCYXIoKSl7aS5iYWNrZ3JvdW5kPSgwLGwucmVzZXRUcmFuc3BhcmVuY3kpKGEuY29sb3IpLApoPWkuYmFja2dyb3VuZDtsZXQgcz1hLmNvbG9yOyJ0cmFuc3BhcmVudCI9PT1zJiYocz10aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5iYWNrZ3JvdW5kQ29sb3IudmFsdWUoKSksaS50ZXh0Q29sb3I9dGhpcy5nZW5lcmF0ZVRleHRDb2xvcihzKSxpLmJvcmRlckNvbG9yPXZvaWQgMCxlLmJvcmRlclZpc2libGU9ITEsdC5ib3JkZXJWaXNpYmxlPSExfWVsc2V7Y29uc3Qgbz1uLmJhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wKGEuY29vcmRpbmF0ZS8oMCxzLmVuc3VyZU5vdE51bGwpKG4ucGFuZUZvclNvdXJjZSh0aGlzLl9zb3VyY2UpKS5oZWlnaHQoKSk7aS5iYWNrZ3JvdW5kPW8saS50ZXh0Q29sb3I9KDAsbC5yZXNldFRyYW5zcGFyZW5jeSkoYS5jb2xvciksaS5ib3JkZXJDb2xvcj0oMCxsLnJlc2V0VHJhbnNwYXJlbmN5KShpLnRleHRDb2xvciksaD1pLmJvcmRlckNvbG9yLGUuYm9yZGVyVmlzaWJsZT0hMCx0LmJvcmRlclZpc2libGU9ITB9aS5jb29yZGluYXRlPWEuY29vcmRpbmF0ZSx0aGlzLl9zaG93QXhpc0xhYmVsKCkmJihlLnRleHQ9YS50ZXh0LGUudmlzaWJsZT0hMCksZS5zZWxlY3RlZE1hcmtDb2xvcj10aGlzLl9tb2RlbC5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHRoaXMuX3NvdXJjZSkmJiF0aGlzLl9zb3VyY2UuaGFzSGlnaGxpZ2h0ZWRQbG90cygpfHx0aGlzLmlzUGxvdEhpZ2hsaWdodGVkKCk/aDp2b2lkIDAsdGhpcy5fdXBkYXRlUGFuZVJlbmRlcmVyRGF0YSh0KX1fc2hvd1BhbmVMYWJlbCgpe2NvbnN0IGU9dGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCk7cmV0dXJuKGUuc2hvd1N0dWR5UGxvdExhYmVscy52YWx1ZSgpfHxlLnNob3dGdW5kYW1lbnRhbE5hbWVMYWJlbC52YWx1ZSgpKSYmdGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zaG93TGFiZWxzT25QcmljZVNjYWxlLnZhbHVlKCkmJnRoaXMuX3NvdXJjZS5pc1Bsb3RWaXNpYmxlQXQodGhpcy5fZGF0YS5wbG90TmFtZSxvLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUHJpY2VTY2FsZSl9X3Nob3dBeGlzTGFiZWwoKXtjb25zdCBlPXRoaXMuX21vZGVsLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpO3JldHVybihlLnNob3dTdHVkeUxhc3RWYWx1ZS52YWx1ZSgpfHxlLnNob3dGdW5kYW1lbnRhbExhc3RWYWx1ZS52YWx1ZSgpKSYmdGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zaG93TGFiZWxzT25QcmljZVNjYWxlLnZhbHVlKCkmJnRoaXMuX3NvdXJjZS5pc1Bsb3RWaXNpYmxlQXQodGhpcy5fZGF0YS5wbG90TmFtZSxvLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUHJpY2VTY2FsZSl9X3VwZGF0ZVBhbmVSZW5kZXJlckRhdGEoZSl7ZS50ZXh0PSIiLHRoaXMuX3Nob3dQYW5lTGFiZWwoKSYmKGUudGV4dD10aGlzLl9zb3VyY2UucHJpY2VMYWJlbFRleHQodGhpcy5fZGF0YS5wbG90TmFtZSksZS52aXNpYmxlPSEwKX19fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/6647.ad458058dd5c882833b6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.149Z","timestamp":1785141585149,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/6647.ad458058dd5c882833b6.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-51c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 53ba5620d096ff288574883c2fcdcce0\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1308,"size_decoded":1279,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1308), with no line terminators","md5":"be8b98c40e9ede92e385a54517be043e","sha1":"9e3083b2509f546980d31913c01ffa889404ba0f","sha256":"6be44896f44575a2b9af3ccc5d758e4ad7103345fdc2c4c263d1474601c04d51","sha512":"fcd367b79e0fa94f4c8a8cadac7e6adfd831dc2f527cea1c8ad76447347d772667190dc2522fe7d116c22fdc28f2ff4eb0ddaaf936573c5b57189bb3129d2b12","ssdeep":"","tlshash":"3e2136a6f052453a3fa3173f0315f218b3c4fc62fc172b42f960d84004c62f3259aa46","first_seen":"2026-04-01T05:38:53.862017Z","last_seen":"2026-07-27T12:48:39.744955Z","times_seen":218,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtUGdaUTp2YXIoLS1jb2xvci13aGl0ZSl9LndyYXBwZXItSzR1NE5nM1p7d2lkdGg6dmFyKC0taGludC13aXphcmQtd2lkdGgsMjIwcHgpfS50aXRsZS1LNHU0TmczWntjb2xvcjp2YXIoLS1fMC1QZ1pRKTtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MjRweH0uYWRkaXRpb25hbEJ1dHRvbi1LNHU0TmczWnstLXVpLWxpYi1saWdodC1idXR0b24tY29sb3ItY29udGVudDp2YXIoLS1jb2xvci13aGl0ZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5hZGRpdGlvbmFsQnV0dG9uLUs0dTROZzNaOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLXVpLWxpYi1saWdodC1idXR0b24tY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfX0uYnV0dG9ucy1LNHU0TmczWntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS50ZXh0LUs0dTROZzNae2NvbG9yOnZhcigtLV8wLVBnWlEpO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIxcHh9LmJ1dHRvbi1LNHU0TmczWntib3gtc2hhZG93Om5vbmU7Y3Vyc29yOmRlZmF1bHQ7ZmxvYXQ6aW5saW5lLWVuZDttYXJnaW4tdG9wOjE1cHg7LS11aS1saWItbGlnaHQtYnV0dG9uLWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tSzR1NE5nM1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCl9fS5idXR0b24tSzR1NE5nM1o6Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93OjAgMCAwIDZweCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLWNvbG9yLWJnKX0ucGxhY2VIb2xkZXIteWx3YWVfR3R7aGVpZ2h0OjEwMCU7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MH0uaGlkZGVuLXlsd2FlX0d0e3BvaW50ZXItZXZlbnRzOm5vbmU7dmlzaWJpbGl0eTpoaWRkZW59"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/77578.f6db460ed1e8ce31ea86.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.161Z","timestamp":1785141585161,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/77578.f6db460ed1e8ce31ea86.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-69be\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:30\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b05f008023be1fc38651a8de1f0c6eb4\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":27070,"size_decoded":10712,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"2b6fab5d43180a44762a23007cc74818","sha1":"57a42431bd8f0021426278639e1480f60600ddbc","sha256":"4daa7f339a6ee290609f5a83e28d23ee34feaa429a33d7403cf4890502acabfd","sha512":"482fc0dcff39aea620d385e9ecbe90053b7ed726e6c51f9e14dddd7f150263071d648a4c7ba8c7eb4637bee7761d193c72638a4019a4214ae774a41f8a4d53b8","ssdeep":"768:8LZLvioqCZ0JL2sWfliPTkeX0dnor9s+htUQJXRl7m:8BwL2dIAYrC+DT53K","tlshash":"4ec23a913111a49d96fbe2eed02b428ef3323659790a0e75f02c9cec11cdb693175b7a","first_seen":"2026-07-23T14:00:31.442829Z","last_seen":"2026-07-27T12:48:39.796312Z","times_seen":58,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNTk2NCw2MzU5NSw3NzU3OF0sezk1ODYzOShlKXtlLmV4cG9ydHM9e21lbnVXcmFwOiJtZW51V3JhcC1sQkl4SXd0eiIsaXNNZWFzdXJpbmc6ImlzTWVhc3VyaW5nLWxCSXhJd3R6IixzY3JvbGxXcmFwOiJzY3JvbGxXcmFwLWxCSXhJd3R6Iixtb21lbnR1bUJhc2VkOiJtb21lbnR1bUJhc2VkLWxCSXhJd3R6IixtZW51Qm94OiJtZW51Qm94LWxCSXhJd3R6Iixpc0hpZGRlbjoiaXNIaWRkZW4tbEJJeEl3dHoifX0sNDcwMjk1KGUpe2UuZXhwb3J0cz17InRhYmxldC1zbWFsbC1icmVha3BvaW50IjoiKG1heC13aWR0aDogNDQwcHgpIixpdGVtOiJpdGVtLU1pMF90NXVOIixob3ZlcmVkOiJob3ZlcmVkLU1pMF90NXVOIixpc0Rpc2FibGVkOiJpc0Rpc2FibGVkLU1pMF90NXVOIixpc0FjdGl2ZToiaXNBY3RpdmUtTWkwX3Q1dU4iLHNob3J0Y3V0OiJzaG9ydGN1dC1NaTBfdDV1TiIsdG9vbGJveDoidG9vbGJveC1NaTBfdDV1TiIsd2l0aEljb246IndpdGhJY29uLU1pMF90NXVOIiwicm91bmQtaWNvbiI6InJvdW5kLWljb24tTWkwX3Q1dU4iLGljb246Imljb24tTWkwX3Q1dU4iLHN0YXJ0U2xvdDoic3RhcnRTbG90LU1pMF90NXVOIixsYWJlbFJvdzoibGFiZWxSb3ctTWkwX3Q1dU4iLGxhYmVsOiJsYWJlbC1NaTBfdDV1TiIsc2hvd09uSG92ZXI6InNob3dPbkhvdmVyLU1pMF90NXVOIiwiZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvIjoiZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvLU1pMF90NXVOIixzaG93T25Gb2N1czoic2hvd09uRm9jdXMtTWkwX3Q1dU4ifX0sMzE2NTQ5KGUpe2UuZXhwb3J0cz17bGlua0l0ZW06ImxpbmtJdGVtLVNSa0ZIQWdnIn19LDIxNjQwOShlKXtlLmV4cG9ydHM9e3JvdW5kVGFiQnV0dG9uOiJyb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMyIsZGlzYWJsZUZvY3VzT3V0bGluZToiZGlzYWJsZUZvY3VzT3V0bGluZS1XYTZUbUdOMyIsZW5hYmxlQ3Vyc29yUG9pbnRlcjoiZW5hYmxlQ3Vyc29yUG9pbnRlci1XYTZUbUdOMyIsbGFyZ2U6ImxhcmdlLVdhNlRtR04zIix3aXRoU3RhcnRJY29uOiJ3aXRoU3RhcnRJY29uLVdhNlRtR04zIixpY29uT25seToiaWNvbk9ubHktV2E2VG1HTjMiLHdpdGhFbmRJY29uOiJ3aXRoRW5kSWNvbi1XYTZUbUdOMyIsc3RhcnRJY29uV3JhcDoic3RhcnRJY29uV3JhcC1XYTZUbUdOMyIsZW5kSWNvbldyYXA6ImVuZEljb25XcmFwLVdhNlRtR04zIixzbWFsbDoic21hbGwtV2E2VG1HTjMiLHhzbWFsbDoieHNtYWxsLVdhNlRtR04zIixwcmltYXJ5OiJwcmltYXJ5LVdhNlRtR04zIixkaXNhYmxlZDoiZGlzYWJsZWQtV2E2VG1HTjMiLHNlbGVjdGVkOiJzZWxlY3RlZC1XYTZUbUdOMyIsZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOiJkaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtV2E2VG1HTjMiLGdob3N0OiJnaG9zdC1XYTZUbUdOMyIsZmFrZToiZmFrZS1XYTZUbUdOMyIsY2FyZXQ6ImNhcmV0LVdhNlRtR04zIix2aXN1YWxseUhpZGRlbjoidmlzdWFsbHlIaWRkZW4tV2E2VG1HTjMiLGNvbnRlbnQ6ImNvbnRlbnQtV2E2VG1HTjMifX0sNDc4MzkoZSl7ZS5leHBvcnRzPXtzY3JvbGxXcmFwOiJzY3JvbGxXcmFwLWhyUVZfQlpzIixvdmVyZmxvd1Njcm9sbDoib3ZlcmZsb3dTY3JvbGwtaHJRVl9CWnMiLHJvdW5kVGFiczoicm91bmRUYWJzLWhyUVZfQlpzIixjZW50ZXI6ImNlbnRlci1oclFWX0JacyIsb3ZlcmZsb3dXcmFwOiJvdmVyZmxvd1dyYXAtaHJRVl9CWnMiLHN0YXJ0OiJzdGFydC1oclFWX0JacyJ9fSw3NjEwOTMoZSl7ZS5leHBvcnRzPXt0aXRsZToidGl0bGUtbmZrR203TkcifX0sMzYyNzkzKGUpe2UuZXhwb3J0cz17eHh4c21hbGw6Inh4eHNtYWxsLUFmZDZ0NFpqIix4eHNtYWxsOiJ4eHNtYWxsLUFmZDZ0NFpqIix4c21hbGw6InhzbWFsbC1BZmQ2dDRaaiIsc21hbGw6InNtYWxsLUFmZDZ0NFpqIixtZWRpdW06Im1lZGl1bS1BZmQ2dDRaaiIsbGFyZ2U6ImxhcmdlLUFmZDZ0NFpqIix4bGFyZ2U6InhsYXJnZS1BZmQ2dDRaaiIsY291bnRlcjoiY291bnRlci1BZmQ2dDRaaiIsImNvbG9yLWRhbmdlciI6ImNvbG9yLWRhbmdlci1BZmQ2dDRaaiIsImNvbG9yLWFjY2VudCI6ImNvbG9yLWFjY2VudC1BZmQ2dDRaaiIsImNvbG9yLWFjY2VudC1saWdodCI6ImNvbG9yLWFjY2VudC1saWdodC1BZmQ2dDRaaiIsImNvbG9yLW5ldXRyYWwtYm9sZCI6ImNvbG9yLW5ldXRyYWwtYm9sZC1BZmQ2dDRaaiIsImNvbG9yLW5ldXRyYWwiOiJjb2xvci1uZXV0cmFsLUFmZDZ0NFpqIiwiYm9yZGVyQ29sb3ItcHJpbWFyeSI6ImJvcmRlckNvbG9yLXByaW1hcnktQWZkNnQ0WmoiLCJib3JkZXJDb2xvci1zZWNvbmRhcnkiOiJib3JkZXJDb2xvci1zZWNvbmRhcnktQWZkNnQ0WmoiLCJib3JkZXJDb2xvci10ZXJ0aWFyeSI6ImJvcmRlckNvbG9yLXRlcnRpYXJ5LUFmZDZ0NFpqIixkaXNhYmxlZDoiZGlzYWJsZWQtQWZkNnQ0WmoifX0sMTkzODQ3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BvcHVwTWVudURpc2Nsb3N1cmVWaWV3OigpPT51fSk7dmFyIG89big3Nzk0NzQpLHI9big4MDk0MzYpLGE9big4MzU5NjQpLGw9bigxMzg2MzgpO2NvbnN0IHM9e3g6MCx5OjB9O2Z1bmN0aW9uIGkoZSx0LG4pe3JldHVybigwLG8udXNlQ2FsbGJhY2spKCgoKT0+ZnVuY3Rpb24oZSx0LHt4Om49cy54LHk6bz1zLnl9PXMpe2NvbnN0IHI9KDAsbC5lbnN1cmVOb3ROdWxsKShlKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxhPXt4OnIubGVmdCtuLHk6ci50b3Arci5oZWlnaHQrbyxpbmRlbnRGcm9tV2luZG93Ont0b3A6NCxib3R0b206NCxsZWZ0OjQscmlnaHQ6NH19O3JldHVybiB0JiYoYS5vdmVycmlkZVdpZHRoPXIud2lkdGgpLGF9KGUuY3VycmVudCx0LG4pKSxbZSx0XSl9Y29uc3QgYz1wYXJzZUludChyWyJzaXplLWhlYWRlci1oZWlnaHQiXSk7ZnVuY3Rpb24gdShlKXsKY29uc3R7YnV0dG9uOnQscG9wdXBDaGlsZHJlbjpuLGJ1dHRvblJlZjpyLGxpc3Rib3hJZDpsLGxpc3Rib3hDbGFzc05hbWU6cyxsaXN0Ym94VGFiSW5kZXg6dSxtYXRjaEJ1dHRvbkFuZExpc3Rib3hXaWR0aHM6ZCxpc09wZW5lZDpoLHNjcm9sbFdyYXBSZWZlcmVuY2U6bSxsaXN0Ym94UmVmZXJlbmNlOnAsb25DbG9zZTpmLG9uT3BlbjpiLG9uTGlzdGJveEZvY3VzOnYsb25MaXN0Ym94Qmx1cjpnLG9uTGlzdGJveEtleURvd246QyxsaXN0Ym94QXJpYTp4LHJlcG9zaXRpb25PblNjcm9sbDp3PSEwLGNsb3NlT25IZWFkZXJPdmVybGFwOnk9ITEscG9wdXBQb3NpdGlvbkNvcnJlY3Rpb246Xz17eDowLHk6MH0scG9wdXBQb3NpdGlvbjpOLGRhdGFRYUlkOlN9PWUsTT1pKHIsZCxfKSxSPXk/YzowO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLHQsby5jcmVhdGVFbGVtZW50KGEuUG9wdXBNZW51LHsuLi54LGRhdGFRYUlkOlMsaWQ6bCxjbGFzc05hbWU6cyx0YWJJbmRleDp1LGlzT3BlbmVkOmgscG9zaXRpb246Tnx8TSxyZXBvc2l0aW9uT25TY3JvbGw6dyxvbkNsb3NlOmYsb25PcGVuOmIsZG9Ob3RDbG9zZU9uOnIuY3VycmVudCxyZWZlcmVuY2U6cCxzY3JvbGxXcmFwUmVmZXJlbmNlOm0sb25Gb2N1czp2LG9uQmx1cjpnLG9uS2V5RG93bjpDLGNsb3NlT25TY3JvbGxPdXRzaWRlT2Zmc2V0OlJ9LG4pKX19LDY4MTIyNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNZW51Q29udGV4dDooKT0+b30pO2NvbnN0IG89big3Nzk0NzQpLmNyZWF0ZUNvbnRleHQobnVsbCl9LDE0NTE1MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtERUZBVUxUX01FTlVfVEhFTUU6KCk9PmIsTWVudTooKT0+Z30pO3ZhciBvPW4oNzc5NDc0KSxyPW4oOTE0NDg3KSxhPW4ubihyKSxsPW4oMTM4NjM4KSxzPW4oNjA3ODMyKSxpPW4oOTAzNDIpLGM9big4OTEyMDkpLHU9big2NDA3NDQpLGQ9big1MTg3NSksaD1uKDcyNzA5KSxtPW4oMjc2MDE5KSxwPW4oNjgxMjI0KSxmPW4oOTU4NjM5KTtjb25zdCBiPWY7dmFyIHY7IWZ1bmN0aW9uKGUpe2VbZS5JbmRlbnRGcm9tV2luZG93PTBdPSJJbmRlbnRGcm9tV2luZG93In0odnx8KHY9e30pKTtjbGFzcyBnIGV4dGVuZHMgby5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX2NvbnRhaW5lclJlZj1udWxsLHRoaXMuX3Njcm9sbFdyYXBSZWY9bnVsbCx0aGlzLl9yYWY9bnVsbCx0aGlzLl9zY3JvbGxSYWY9bnVsbCx0aGlzLl9zY3JvbGxUaW1lb3V0PXZvaWQgMCx0aGlzLl9tYW5hZ2VyPW5ldyBpLk92ZXJsYXBNYW5hZ2VyLHRoaXMuX2hvdGtleXM9bnVsbCx0aGlzLl9zY3JvbGw9MCx0aGlzLl9oYW5kbGVDb250YWluZXJSZWY9ZT0+e3RoaXMuX2NvbnRhaW5lclJlZj1lLHRoaXMucHJvcHMucmVmZXJlbmNlJiYoImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMucHJvcHMucmVmZXJlbmNlJiZ0aGlzLnByb3BzLnJlZmVyZW5jZShlKSwib2JqZWN0Ij09dHlwZW9mIHRoaXMucHJvcHMucmVmZXJlbmNlJiYodGhpcy5wcm9wcy5yZWZlcmVuY2UuY3VycmVudD1lKSl9LHRoaXMuX2hhbmRsZVNjcm9sbFdyYXBSZWY9ZT0+e3RoaXMuX3Njcm9sbFdyYXBSZWY9ZSwiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5wcm9wcy5zY3JvbGxXcmFwUmVmZXJlbmNlJiZ0aGlzLnByb3BzLnNjcm9sbFdyYXBSZWZlcmVuY2UoZSksIm9iamVjdCI9PXR5cGVvZiB0aGlzLnByb3BzLnNjcm9sbFdyYXBSZWZlcmVuY2UmJih0aGlzLnByb3BzLnNjcm9sbFdyYXBSZWZlcmVuY2UuY3VycmVudD1lKX0sdGhpcy5faGFuZGxlQ3VzdG9tUmVtZWFzdXJlRGVsZWdhdGU9KCk9Pnt0aGlzLl9yZXNpemVGb3JjZWQoKSx0aGlzLl9oYW5kbGVNZWFzdXJlKCl9LHRoaXMuX2hhbmRsZU1lYXN1cmU9KHtjYWxsYmFjazplLGZvcmNlUmVjYWxjUG9zaXRpb246dH09e30pPT57aWYodGhpcy5zdGF0ZS5pc01lYXN1cmVWYWxpZCYmIXQpcmV0dXJuO2NvbnN0e3Bvc2l0aW9uOm59PXRoaXMucHJvcHMsbz0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NvbnRhaW5lclJlZik7bGV0IHI9by5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtjb25zdCBhPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQscz1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsaT10aGlzLnByb3BzLmNsb3NlT25TY3JvbGxPdXRzaWRlT2Zmc2V0Pz8wO2xldCBjPWEtMC1pO2NvbnN0IGQ9ci5oZWlnaHQ+YztpZihkKXsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Njcm9sbFdyYXBSZWYpLnN0eWxlLm92ZXJmbG93WT0ic2Nyb2xsIixyPW8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y29uc3R7d2lkdGg6aCxoZWlnaHQ6bX09cixwPSJmdW5jdGlvbiI9PXR5cGVvZiBuP24oe2NvbnRlbnRXaWR0aDpoLGNvbnRlbnRIZWlnaHQ6bSxhdmFpbGFibGVXaWR0aDpzLGF2YWlsYWJsZUhlaWdodDphfSk6bixmPXA/LmluZGVudEZyb21XaW5kb3c/LmxlZnQ/PzAsYj1zLShwLm92ZXJyaWRlV2lkdGg/P2gpLShwPy5pbmRlbnRGcm9tV2luZG93Py5yaWdodD8/MCksdj0oMCx1LmNsYW1wKShwLngsZixNYXRoLm1heChmLGIpKSxnPShwPy5pbmRlbnRGcm9tV2luZG93Py50b3A/PzApK2ksQz1hLShwLm92ZXJyaWRlSGVpZ2h0Pz9tKS0ocD8uaW5kZW50RnJvbVdpbmRvdz8uYm90dG9tPz8wKTtsZXQgeD0oMCx1LmNsYW1wKShwLnksZyxNYXRoLm1heChnLEMpKTtpZihwLmZvcmJpZENvcnJlY3RZQ29vcmQmJng8cC55JiYoYy09cC55LXgseD1wLnkpLHQmJnZvaWQgMCE9PXRoaXMucHJvcHMuY2xvc2VPblNjcm9sbE91dHNpZGVPZmZzZXQmJnAueTw9dGhpcy5wcm9wcy5jbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldClyZXR1cm4gdm9pZCB0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZSghMCk7Y29uc3Qgdz1wLm92ZXJyaWRlSGVpZ2h0Pz8oZD9jOnZvaWQgMCk7dGhpcy5zZXRTdGF0ZSh7YXBwZWFyaW5nTWVudUhlaWdodDp0P3RoaXMuc3RhdGUuYXBwZWFyaW5nTWVudUhlaWdodDp3LGFwcGVhcmluZ01lbnVXaWR0aDp0P3RoaXMuc3RhdGUuYXBwZWFyaW5nTWVudVdpZHRoOnAub3ZlcnJpZGVXaWR0aCwKYXBwZWFyaW5nUG9zaXRpb246e3g6dix5Onh9LGlzTWVhc3VyZVZhbGlkOiEwfSwoKCk9Pnt0aGlzLnByb3BzLmRvTm90UmVzdG9yZVBvc2l0aW9ufHx0aGlzLl9yZXN0b3JlU2Nyb2xsUG9zaXRpb24oKSxlJiZlKCl9KSl9LHRoaXMuX3Jlc3RvcmVTY3JvbGxQb3NpdGlvbj0oKT0+e2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zY3JvbGxXcmFwUmVmKTtlLnNjcm9sbFRvcD10aGlzLl9zY3JvbGw7Y29uc3QgdD1kb2N1bWVudC5hY3RpdmVFbGVtZW50LG49KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jb250YWluZXJSZWYpO2lmKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmbi5jb250YWlucyh0KSYmIXRoaXMuX2lzRWxlbWVudEZ1bGx5VmlzaWJsZSh0LGUpKXRyeXt0LnNjcm9sbEludG9WaWV3KCl9Y2F0Y2goZSl7fX0sdGhpcy5faXNFbGVtZW50RnVsbHlWaXNpYmxlPShlLHQpPT57Y29uc3Qgbj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gbi50b3A+PW8udG9wJiZuLmJvdHRvbTw9by5ib3R0b219LHRoaXMuX3Jlc2l6ZUZvcmNlZD0oKT0+e3RoaXMuc2V0U3RhdGUoe2FwcGVhcmluZ01lbnVIZWlnaHQ6dm9pZCAwLGFwcGVhcmluZ01lbnVXaWR0aDp2b2lkIDAsYXBwZWFyaW5nUG9zaXRpb246dm9pZCAwLGlzTWVhc3VyZVZhbGlkOnZvaWQgMH0pfSx0aGlzLl9yZXNpemU9KCk9PntudWxsPT09dGhpcy5fcmFmJiYodGhpcy5fcmFmPXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9Pnt0aGlzLnNldFN0YXRlKHthcHBlYXJpbmdNZW51SGVpZ2h0OnZvaWQgMCxhcHBlYXJpbmdNZW51V2lkdGg6dm9pZCAwLGFwcGVhcmluZ1Bvc2l0aW9uOnZvaWQgMCxpc01lYXN1cmVWYWxpZDp2b2lkIDB9KSx0aGlzLl9yYWY9bnVsbH0pKSl9LHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlPWU9Pnt0aGlzLnByb3BzLm9uQ2xvc2UoZSl9LHRoaXMuX2hhbmRsZVNsb3Q9ZT0+e3RoaXMuX21hbmFnZXIuc2V0Q29udGFpbmVyKGUpfSx0aGlzLl9oYW5kbGVTY3JvbGw9KCk9Pnt0aGlzLl9zY3JvbGw9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zY3JvbGxXcmFwUmVmKS5zY3JvbGxUb3B9LHRoaXMuX2hhbmRsZVNjcm9sbE91dHNpZGVFbmQ9KCk9PntjbGVhclRpbWVvdXQodGhpcy5fc2Nyb2xsVGltZW91dCksdGhpcy5fc2Nyb2xsVGltZW91dD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuX2hhbmRsZU1lYXN1cmUoe2ZvcmNlUmVjYWxjUG9zaXRpb246ITB9KX0pLDgwKX0sdGhpcy5faGFuZGxlU2Nyb2xsT3V0c2lkZT1lPT57ZS50YXJnZXQhPT10aGlzLl9zY3JvbGxXcmFwUmVmJiYodGhpcy5faGFuZGxlU2Nyb2xsT3V0c2lkZUVuZCgpLG51bGw9PT10aGlzLl9zY3JvbGxSYWYmJih0aGlzLl9zY3JvbGxSYWY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuX2hhbmRsZU1lYXN1cmUoe2ZvcmNlUmVjYWxjUG9zaXRpb246ITB9KSx0aGlzLl9zY3JvbGxSYWY9bnVsbH0pKSkpfSx0aGlzLnN0YXRlPXt9fWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5faGFuZGxlTWVhc3VyZSh7Y2FsbGJhY2s6dGhpcy5wcm9wcy5vbk9wZW59KTtjb25zdHtjdXN0b21DbG9zZURlbGVnYXRlOmU9bS5nbG9iYWxDbG9zZURlbGVnYXRlLGN1c3RvbVJlbWVhc3VyZURlbGVnYXRlOnR9PXRoaXMucHJvcHM7ZS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZSksdD8uc3Vic2NyaWJlKG51bGwsdGhpcy5faGFuZGxlQ3VzdG9tUmVtZWFzdXJlRGVsZWdhdGUpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX3Jlc2l6ZSk7Y29uc3Qgbj1udWxsIT09dGhpcy5jb250ZXh0O3RoaXMuX2hvdGtleXN8fG58fCh0aGlzLl9ob3RrZXlzPWguY3JlYXRlR3JvdXAoe2Rlc2M6IlBvcHVwIG1lbnUifSksdGhpcy5faG90a2V5cy5hZGQoe2Rlc2M6IkNsb3NlIixob3RrZXk6MjcsaGFuZGxlcjooKT0+e3RoaXMucHJvcHMub25LZXlib2FyZENsb3NlJiZ0aGlzLnByb3BzLm9uS2V5Ym9hcmRDbG9zZSgpLHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKCl9fSkpLHRoaXMucHJvcHMucmVwb3NpdGlvbk9uU2Nyb2xsJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlLHtjYXB0dXJlOiEwfSl9Y29tcG9uZW50RGlkVXBkYXRlKCl7dGhpcy5faGFuZGxlTWVhc3VyZSgpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7Y3VzdG9tQ2xvc2VEZWxlZ2F0ZTplPW0uZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSxjdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZTp0fT10aGlzLnByb3BzO2UudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZSksdD8udW5zdWJzY3JpYmUobnVsbCx0aGlzLl9oYW5kbGVDdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fcmVzaXplKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlLHtjYXB0dXJlOiEwfSksdGhpcy5faG90a2V5cyYmKHRoaXMuX2hvdGtleXMuZGVzdHJveSgpLHRoaXMuX2hvdGtleXM9bnVsbCksbnVsbCE9PXRoaXMuX3JhZiYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3JhZiksdGhpcy5fcmFmPW51bGwpLG51bGwhPT10aGlzLl9zY3JvbGxSYWYmJihjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9zY3JvbGxSYWYpLHRoaXMuX3Njcm9sbFJhZj1udWxsKSx0aGlzLl9zY3JvbGxUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fc2Nyb2xsVGltZW91dCl9cmVuZGVyKCl7CmNvbnN0e2lkOmUscm9sZTp0LCJhcmlhLWxhYmVsIjpuLCJhcmlhLWxhYmVsbGVkYnkiOnIsImFyaWEtYWN0aXZlZGVzY2VuZGFudCI6bCwiYXJpYS1oaWRkZW4iOmksImFyaWEtZGVzY3JpYmVkYnkiOnUsImFyaWEtaW52YWxpZCI6aCxjaGlsZHJlbjptLG1pbldpZHRoOmIsdGhlbWU6dj1mLGNsYXNzTmFtZTpnLG1heEhlaWdodDp4LG9uTW91c2VPdmVyOncsb25Nb3VzZU91dDp5LG9uS2V5RG93bjpfLG9uRm9jdXM6TixvbkJsdXI6U309dGhpcy5wcm9wcyx7YXBwZWFyaW5nTWVudUhlaWdodDpNLGFwcGVhcmluZ01lbnVXaWR0aDpSLGFwcGVhcmluZ1Bvc2l0aW9uOkUsaXNNZWFzdXJlVmFsaWQ6VH09dGhpcy5zdGF0ZSxJPXsiLS11aS1raXQtbWVudS1tYXgtd2lkdGgiOmAke0UmJkUueH1weGAsbWF4V2lkdGg6ImNhbGMoMTAwdncgLSB2YXIoLS11aS1raXQtbWVudS1tYXgtd2lkdGgpIC0gNnB4KSJ9O3JldHVybiBvLmNyZWF0ZUVsZW1lbnQocC5NZW51Q29udGV4dC5Qcm92aWRlcix7dmFsdWU6dGhpc30sby5jcmVhdGVFbGVtZW50KGMuU3VibWVudUhhbmRsZXIsbnVsbCxvLmNyZWF0ZUVsZW1lbnQocy5TbG90Q29udGV4dC5Qcm92aWRlcix7dmFsdWU6dGhpcy5fbWFuYWdlcn0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtpZDplLHJvbGU6dCwiYXJpYS1sYWJlbCI6biwiYXJpYS1sYWJlbGxlZGJ5IjpyLCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiOmwsImFyaWEtaGlkZGVuIjppLCJhcmlhLWRlc2NyaWJlZGJ5Ijp1LCJhcmlhLWludmFsaWQiOmgsY2xhc3NOYW1lOmEoKShnLHYubWVudVdyYXAsIVQmJnYuaXNNZWFzdXJpbmcpLHN0eWxlOntoZWlnaHQ6TSxsZWZ0OkUmJkUueCxtaW5XaWR0aDpiLHBvc2l0aW9uOiJmaXhlZCIsdG9wOkUmJkUueSx3aWR0aDpSLC4uLnRoaXMucHJvcHMubGltaXRNYXhXaWR0aCYmSX0sImRhdGEtbmFtZSI6dGhpcy5wcm9wc1siZGF0YS1uYW1lIl0sImRhdGEtcWEtaWQiOnRoaXMucHJvcHMuZGF0YVFhSWQsImRhdGEtdG9vbHRpcC1zaG93LW9uLWZvY3VzIjp0aGlzLnByb3BzWyJkYXRhLXRvb2x0aXAtc2hvdy1vbi1mb2N1cyJdLHJlZjp0aGlzLl9oYW5kbGVDb250YWluZXJSZWYsb25TY3JvbGxDYXB0dXJlOnRoaXMucHJvcHMub25TY3JvbGwsb25Db250ZXh0TWVudTpkLnByZXZlbnREZWZhdWx0Rm9yQ29udGV4dE1lbnUsdGFiSW5kZXg6dGhpcy5wcm9wcy50YWJJbmRleCxvbk1vdXNlT3Zlcjp3LG9uTW91c2VPdXQ6eSxvbktleURvd246XyxvbkZvY3VzOk4sb25CbHVyOlN9LG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEoKSh2LnNjcm9sbFdyYXAsIXRoaXMucHJvcHMubm9Nb21lbnR1bUJhc2VkU2Nyb2xsJiZ2Lm1vbWVudHVtQmFzZWQpLHN0eWxlOntvdmVyZmxvd1k6dm9pZCAwIT09TT8ic2Nyb2xsIjoiYXV0byIsbWF4SGVpZ2h0Onh9LG9uU2Nyb2xsQ2FwdHVyZTp0aGlzLl9oYW5kbGVTY3JvbGwscmVmOnRoaXMuX2hhbmRsZVNjcm9sbFdyYXBSZWZ9LG8uY3JlYXRlRWxlbWVudChDLHtjbGFzc05hbWU6di5tZW51Qm94fSxtKSkpKSxvLmNyZWF0ZUVsZW1lbnQocy5TbG90LHtyZWZlcmVuY2U6dGhpcy5faGFuZGxlU2xvdH0pKSl9dXBkYXRlKGUpe2U/dGhpcy5fcmVzaXplRm9yY2VkKCk6dGhpcy5fcmVzaXplKCl9Zm9jdXMoZSl7dGhpcy5fY29udGFpbmVyUmVmPy5mb2N1cyhlKX1ibHVyKCl7dGhpcy5fY29udGFpbmVyUmVmPy5ibHVyKCl9fWZ1bmN0aW9uIEMoZSl7Y29uc3QgdD0oMCxsLmVuc3VyZU5vdE51bGwpKCgwLG8udXNlQ29udGV4dCkoYy5TdWJtZW51Q29udGV4dCkpLG49by51c2VSZWYobnVsbCk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOm4sY2xhc3NOYW1lOmUuY2xhc3NOYW1lLG9uTW91c2VPdmVyOmZ1bmN0aW9uKGUpe2lmKCEobnVsbCE9PXQuY3VycmVudCYmZS50YXJnZXQgaW5zdGFuY2VvZiBOb2RlJiYobz1lLnRhcmdldCxuLmN1cnJlbnQ/LmNvbnRhaW5zKG8pKSkpcmV0dXJuO3ZhciBvO3QuaXNTdWJtZW51Tm9kZShlLnRhcmdldCl8fHQuc2V0Q3VycmVudChudWxsKX0sImRhdGEtcWEtaWQiOiJtZW51LWlubmVyIn0sZS5jaGlsZHJlbil9Zy5jb250ZXh0VHlwZT1jLlN1Ym1lbnVDb250ZXh0fSwxNTM3MzQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7REVGQVVMVF9QT1BVUF9NRU5VX0lURU1fVEhFTUU6KCk9PnUsUG9wdXBNZW51SXRlbTooKT0+aH0pO3ZhciBvPW4oNzc5NDc0KSxyPW4oOTE0NDg3KSxhPW4ubihyKSxsPW4oMzg3Nzc0KSxzPW4oODQ4OTg4KSxpPW4oMjc2MDE5KSxjPW4oNDcwMjk1KTtjb25zdCB1PS9eKDc5Nzk1fDk0Mzg5KSQvLnRlc3Qobi5qKT9jOm51bGw7ZnVuY3Rpb24gZChlKXtlLnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGgoZSl7Y29uc3R7aWQ6dCxyb2xlOm4sY2xhc3NOYW1lOnIsdGl0bGU6dSxsYWJlbFJvd0NsYXNzTmFtZTpoLGxhYmVsQ2xhc3NOYW1lOm0sdG9vbGJveENsYXNzTmFtZTpwLHNob3J0Y3V0OmYsZm9yY2VTaG93U2hvcnRjdXRzOmIsaWNvbjp2LGljb25DbGFzc25hbWU6Zyxpc0FjdGl2ZTpDLGlzRGlzYWJsZWQ6eCxpc0hvdmVyZWQ6dyxhcHBlYXJBc0Rpc2FibGVkOnksbGFiZWw6XyxsaW5rOk4sc2hvd1Rvb2xib3hPbkhvdmVyOlMsc2hvd1Rvb2xib3hPbkZvY3VzOk0sdGFyZ2V0OlIscmVsOkUsdG9vbGJveDpULHRvb2xib3hSb2xlOkkscmVmZXJlbmNlOlcsb25Nb3VzZU91dDpPLG9uTW91c2VPdmVyOmssb25LZXlEb3duOkIsc3VwcHJlc3NUb29sYm94Q2xpY2s6QT0hMCx0aGVtZTpEPWMsdGFiSW5kZXg6eix0YWdOYW1lOkYscmVuZGVyQ29tcG9uZW50Okgscm91bmRlZEljb246UCxpY29uQXJpYVByb3BzOkcsY2lyY2xlTG9nbzpMLGRvbnRDbG9zZVBvcHVwOmosb25DbGljazpaLG9uQ2xpY2tBcmc6VixvbkNvbnRleHRNZW51Okssb25Nb3VzZVVwOlEsc3RhcnRTbG90OlUsZGF0YVFhSWQ6WCwuLi4kfT1lLHE9KDAsby51c2VSZWYpKG51bGwpLFk9KDAsby51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQodCl7CmNvbnN0e3JlZmVyZW5jZTpuLC4uLnJ9PXQsYT1lPz8oci5ocmVmPyJhIjoiZGl2IiksbD0iYSI9PT1hP3I6ZnVuY3Rpb24oZSl7Y29uc3R7ZG93bmxvYWQ6dCxocmVmOm4saHJlZkxhbmc6byxtZWRpYTpyLHBpbmc6YSxyZWw6bCx0YXJnZXQ6cyx0eXBlOmkscmVmZXJyZXJQb2xpY3k6YywuLi51fT1lO3JldHVybiB1fShyKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGEsey4uLmwscmVmOm59KX1yZXR1cm4gdC5kaXNwbGF5TmFtZT1gRGVmYXVsdENvbXBvbmVudCgke2V9KWAsdH0oRikpLFtGXSksSj1IPz9ZO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoSix7Li4uJCxpZDp0LHJvbGU6bixjbGFzc05hbWU6YSgpKHIsRC5pdGVtLHYmJkQud2l0aEljb24se1tELmlzQWN0aXZlXTpDLFtELmlzRGlzYWJsZWRdOnh8fHksW0QuaG92ZXJlZF06d30pLHRpdGxlOnUsaHJlZjpOLHRhcmdldDpSLHJlbDpFLHJlZmVyZW5jZTpmdW5jdGlvbihlKXtxLmN1cnJlbnQ9ZSwiZnVuY3Rpb24iPT10eXBlb2YgVyYmVyhlKTsib2JqZWN0Ij09dHlwZW9mIFcmJihXLmN1cnJlbnQ9ZSl9LG9uQ2xpY2s6ZnVuY3Rpb24oZSl7aWYoeClyZXR1cm47WiYmWihWLGUpO2p8fChlLmN1cnJlbnRUYXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInBvcHVwLW1lbnUtY2xvc2UtZXZlbnQiLHtidWJibGVzOiEwLGRldGFpbDp7Y2xpY2tUeXBlOigwLHMuaXNLZXlib2FyZENsaWNrKShlKT8ia2V5Ym9hcmQiOiJtb3VzZSJ9fSkpLCgwLGkuZ2xvYmFsQ2xvc2VNZW51KSgpKX0sb25Db250ZXh0TWVudTpLLG9uTW91c2VVcDpRLG9uTW91c2VPdmVyOmssb25Nb3VzZU91dDpPLG9uS2V5RG93bjpCLHRhYkluZGV4OnosImRhdGEtcWEtaWQiOlh9LEwmJm8uY3JlYXRlRWxlbWVudChsLkNpcmNsZUxvZ28sey4uLkcsY2xhc3NOYW1lOmNbImRpc2Nsb3N1cmUtaXRlbS1jaXJjbGUtbG9nbyJdLHNpemU6Inh4eHNtYWxsIixsb2dvVXJsOkwubG9nb1VybCxwbGFjZWhvbGRlckxldHRlcjoicGxhY2Vob2xkZXJMZXR0ZXIiaW4gTD9MLnBsYWNlaG9sZGVyTGV0dGVyOnZvaWQgMH0pLFUmJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpELnN0YXJ0U2xvdH0sVSksdiYmby5jcmVhdGVFbGVtZW50KCJzcGFuIix7ImFyaWEtbGFiZWwiOkcmJkdbImFyaWEtbGFiZWwiXSwiYXJpYS1oaWRkZW4iOkcmJkJvb2xlYW4oR1siYXJpYS1oaWRkZW4iXSksY2xhc3NOYW1lOmEoKShELmljb24sUCYmY1sicm91bmQtaWNvbiJdLGcpLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6dn19KSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YSgpKEQubGFiZWxSb3csaCl9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTphKCkoRC5sYWJlbCxtKX0sXykpLCh2b2lkIDAhPT1mfHxiKSYmby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOkQuc2hvcnRjdXR9LChlZT1mKSYmZWUuc3BsaXQoIisiKS5qb2luKCIgKyAiKSksdm9pZCAwIT09VCYmby5jcmVhdGVFbGVtZW50KCJzcGFuIix7cm9sZTpJLG9uQ2xpY2s6QT9kOnZvaWQgMCxjbGFzc05hbWU6YSgpKHAsRC50b29sYm94LHtbRC5zaG93T25Ib3Zlcl06UyxbRC5zaG93T25Gb2N1c106TX0pfSxUKSk7dmFyIGVlfX0sNjMyOTkyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0Nsb3NlRGVsZWdhdGVDb250ZXh0OigpPT5hfSk7dmFyIG89big3Nzk0NzQpLHI9bigyNzYwMTkpO2NvbnN0IGE9by5jcmVhdGVDb250ZXh0KHIuZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSl9LDgzNTk2NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQb3B1cE1lbnU6KCk9Pmh9KTt2YXIgbz1uKDc3OTQ3NCkscj1uKDEyOTM2NSksYT1uKDkyODEzMiksbD1uKDU4NTQ4KSxzPW4oMjM2NzY1KSxpPW4oMjI3OTQ5KSxjPW4oMTQ1MTUwKSx1PW4oNjMyOTkyKSxkPW4oMzAxOTM3KTtmdW5jdGlvbiBoKGUpe2NvbnN0e2NvbnRyb2xsZXI6dCxjaGlsZHJlbjpuLGlzT3BlbmVkOmgsY2xvc2VPbkNsaWNrT3V0c2lkZTptPSEwLGRvTm90Q2xvc2VPbjpwLG9uQ2xpY2tPdXRzaWRlOmYsb25DbG9zZTpiLG9uS2V5Ym9hcmRDbG9zZTp2LGRhdGFRYUlkOmc9InBvcHVwLW1lbnUtY29udGFpbmVyIixjbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldDpDLC4uLnh9PWUsdz0oMCxvLnVzZUNvbnRleHQpKHUuQ2xvc2VEZWxlZ2F0ZUNvbnRleHQpLHk9by51c2VDb250ZXh0KGkuTWVudVdpZHRoQ29udGV4dCksXz0oMCxvLnVzZUNvbnRleHQpKGQuUmVtZWFzdXJlRGVsZWdhdGVDb250ZXh0KSxOPSgwLHMudXNlT3V0c2lkZUV2ZW50KSh7aGFuZGxlcjpmdW5jdGlvbihlKXtmJiZmKGUpO2lmKCFtKXJldHVybjtjb25zdCB0PSgwLGEuZGVmYXVsdCkocCk/cCgpOm51bGw9PXA/W106W3BdO2lmKHQubGVuZ3RoPjAmJmUudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSlmb3IoY29uc3QgbiBvZiB0KXtjb25zdCB0PXIuZmluZERPTU5vZGUobik7aWYodCBpbnN0YW5jZW9mIE5vZGUmJnQuY29udGFpbnMoZS50YXJnZXQpKXJldHVybn1iKCl9LG1vdXNlRG93bjohMCx0b3VjaFN0YXJ0OiEwfSk7cmV0dXJuIGg/by5jcmVhdGVFbGVtZW50KGwuUG9ydGFsLHt0b3A6IjAiLGxlZnQ6IjAiLHJpZ2h0OiIwIixib3R0b206IjAiLHBvaW50ZXJFdmVudHM6Im5vbmUifSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyZWY6TixzdHlsZTp7cG9pbnRlckV2ZW50czoiYXV0byJ9fSxvLmNyZWF0ZUVsZW1lbnQoYy5NZW51LHsuLi54LG9uQ2xvc2U6YixvbktleWJvYXJkQ2xvc2U6dixvblNjcm9sbDpmdW5jdGlvbih0KXtjb25zdHtvblNjcm9sbDpufT1lO24mJm4odCl9LGN1c3RvbUNsb3NlRGVsZWdhdGU6dyxjdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZTpfLHJlZjp0LGRhdGFRYUlkOmcsbGltaXRNYXhXaWR0aDp5LnNldE1lbnVNYXhXaWR0aCwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOiJ0cnVlIixjbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldDpDfSxuKSkpOm51bGx9fSwzMDE5MzcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UmVtZWFzdXJlRGVsZWdhdGVDb250ZXh0OigpPT5vfSkKO2NvbnN0IG89big3Nzk0NzQpLmNyZWF0ZUNvbnRleHQodm9pZCAwKX0sMjg3Nzg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvbGxhcHNlZFJvdW5kVGFic0Rpc2Nsb3N1cmU6KCk9PmZ9KTt2YXIgbz1uKDc3OTQ3NCkscj1uKDMxOTY5KSxhPW4oMjczMzEwKSxsPW4oMTUzNzM0KSxzPW4oMTkzODQ3KSxpPW4oMTk5MTcyKSxjPW4oNzM0ODUyKSx1PW4oNDkyNTA1KSxkPW4oMjM4NTM2KSxoPW4oODg2MCksbT1uKDYzMTU0MSkscD1uKDMxNjU0OSk7ZnVuY3Rpb24gZihlKXtjb25zdHtkaXNhYmxlZDp0LGlzT3BlbmVkOm4sZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6dSxkaXNhYmxlRm9jdXNPdXRsaW5lOmQsZmFrZTpmLGl0ZW1zOnYsYnV0dG9uVGV4dDpnLGJ1dHRvblByZXNldDpDPSJ0ZXh0IixidXR0b25SZWY6eCxzaXplOncsdmFyaWFudDp5LGlzQW5jaG9yVGFiczpfLGlzSGlnaGxpZ2h0ZWQ6TixvbkJ1dHRvbkNsaWNrOlMsb25JdGVtQ2xpY2s6TSxvbkNsb3NlOlJ9PWUsRT0oMCxvLnVzZVJlZikobnVsbCksVD0oMCxyLnVzZU1lcmdlZFJlZnMpKFt4LEVdKSxJPSJ0ZXh0Ij09PUM/dm9pZCAwOiJ4c21hbGwiPT09dz9oOm07cmV0dXJuIG8uY3JlYXRlRWxlbWVudChzLlBvcHVwTWVudURpc2Nsb3N1cmVWaWV3LHtidXR0b25SZWY6RSxsaXN0Ym94VGFiSW5kZXg6LTEsaXNPcGVuZWQ6bixvbkNsb3NlOlIsbGlzdGJveEFyaWE6eyJhcmlhLWhpZGRlbiI6ITB9LGJ1dHRvbjpvLmNyZWF0ZUVsZW1lbnQoYy5Sb3VuZFRhYnNCYXNlQnV0dG9uLHsiYXJpYS1oaWRkZW4iOiEwLGRpc2FibGVkOnQsYWN0aXZlOm4sb25DbGljazpTLHJlZjpULHRhYkluZGV4Oi0xLHNpemU6dyx2YXJpYW50Onksc3RhcnRJY29uOkksc2hvd0NhcmV0OiJ0ZXh0Ij09PUMsaWNvbk9ubHk6Im1lYXRiYWxscyI9PT1DLGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOnUsZGlzYWJsZUZvY3VzT3V0bGluZTpkLGZha2U6Zn0sZykscG9wdXBDaGlsZHJlbjpvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLCJtZWF0YmFsbHMiPT09QyYmby5jcmVhdGVFbGVtZW50KGkuVG9vbFdpZGdldE1lbnVTdW1tYXJ5LG51bGwsZyksdi5tYXAoKGU9Pm8uY3JlYXRlRWxlbWVudChsLlBvcHVwTWVudUl0ZW0se2tleTplLmlkLGNsYXNzTmFtZTpfP3AubGlua0l0ZW06dm9pZCAwLG9uQ2xpY2s6TSxvbkNsaWNrQXJnOmUsaXNBY3RpdmU6TihlKSxsYWJlbDpvLmNyZWF0ZUVsZW1lbnQoYix7aXNIaWdobGlnaHRlZDpOKGUpLHNpemU6dyx2YXJpYW50OnksZGlzYWJsZWQ6ZS5kaXNhYmxlZH0sZS5jaGlsZHJlbiksaXNEaXNhYmxlZDplLmRpc2FibGVkLGxpbms6ImhyZWYiaW4gZT9lLmhyZWY6dm9pZCAwLHJlbDoicmVsImluIGU/ZS5yZWw6dm9pZCAwLHRhcmdldDoidGFyZ2V0ImluIGU/ZS50YXJnZXQ6dm9pZCAwLGljb246ZS5zdGFydEljb24sdG9vbGJveDplLmVuZEljb24mJm8uY3JlYXRlRWxlbWVudChhLkljb24se2ljb246ZS5lbmRJY29ufSkscmVuZGVyQ29tcG9uZW50OiJyZW5kZXJDb21wb25lbnQiaW4gZT9lLnJlbmRlckNvbXBvbmVudDp2b2lkIDAsZG9udENsb3NlUG9wdXA6ITB9KSkpKX0pfWZ1bmN0aW9uIGIoZSl7Y29uc3R7aXNIaWdobGlnaHRlZDp0LHNpemU6bix2YXJpYW50OnIsY2hpbGRyZW46YSxkaXNhYmxlZDpsfT1lLHM9e3NpemU6bj8/dS5kZWZhdWx0U2l6ZSx2YXJpYW50OnI/P3UuZGVmYXVsdFZhcmlhbnQsaXNIaWdobGlnaHRlZDp0LGlzQ29sbGFwc2VkOiEwLGRpc2FibGVkOmw/PyExfTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGQuUm91bmRUYWJDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpzfSxhKX19LDQwMDIxMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtSb3VuZFRhYkJ1dHRvbjooKT0+aX0pO3ZhciBvPW4oNzc5NDc0KSxyPW4oOTY0NTk0KSxhPW4oNDkyNTA1KSxsPW4oNzM0ODUyKSxzPW4oMjM4NTM2KTtmdW5jdGlvbiBpKGUpe2NvbnN0e2l0ZW06dCxoaWdobGlnaHRlZDpuLGhhbmRsZUl0ZW1SZWY6aSxyZWZlcmVuY2U6YyxvbkNsaWNrOnUsLi4uZH09ZSxoPSgwLG8udXNlQ2FsbGJhY2spKChlPT57ZC5kaXNhYmxlZCYmZS5wcmV2ZW50RGVmYXVsdCgpLHUmJnUodCl9KSxbdSx0LGQuZGlzYWJsZWRdKSxtPSgwLG8udXNlQ2FsbGJhY2spKChlPT57aSYmaSh0LGUpLCgwLHIuaXNvbW9ycGhpY1JlZikoYykoZSl9KSxbdCxpXSkscD17c2l6ZTpkLnNpemU/P2EuZGVmYXVsdFNpemUsdmFyaWFudDpkLnZhcmlhbnQ/P2EuZGVmYXVsdFZhcmlhbnQsaXNIaWdobGlnaHRlZDpCb29sZWFuKGQuYWN0aXZlKSxpc0NvbGxhcHNlZDohMSxkaXNhYmxlZDpkLmRpc2FibGVkPz8hMX07cmV0dXJuIG8uY3JlYXRlRWxlbWVudChsLlJvdW5kVGFic0Jhc2VCdXR0b24sey4uLmQsaWQ6dC5pZCxvbkNsaWNrOmgscmVmOm0sc3RhcnRJY29uOnQuc3RhcnRJY29uLGVuZEljb246dC5lbmRJY29uLHRvb2x0aXA6dC50b29sdGlwLCJhcmlhLWxhYmVsIjoicmFkaW8iPT09ZC5yb2xlP3QuY2hpbGRyZW46dm9pZCAwfSxvLmNyZWF0ZUVsZW1lbnQocy5Sb3VuZFRhYkNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnB9LHQuY2hpbGRyZW4pKX19LDQ5MjUwNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtSb3VuZFRhYkNvbnRlbnQ6KCk9Pm0sZGVmYXVsdFNpemU6KCk9PnUsZGVmYXVsdFZhcmlhbnQ6KCk9PmQsdXNlUm91bmRUYWJDbGFzc05hbWVzOigpPT5ofSk7dmFyIG89big3Nzk0NzQpLHI9big5MTQ0ODcpLGE9bi5uKHIpLGw9bigzMDk5MjApLHM9bigyNzMzMTApLGk9big5MzUxKSxjPW4oMjE2NDA5KTtjb25zdCB1PSJ4c21hbGwiLGQ9InByaW1hcnkiO2Z1bmN0aW9uIGgoZSl7Y29uc3QgdD0oMCxvLnVzZUNvbnRleHQpKGwuQ3VzdG9tQmVoYXZpb3VyQ29udGV4dCkse3NpemU6bj0ieHNtYWxsIix2YXJpYW50OnI9InByaW1hcnkiLGFjdGl2ZTpzLGZha2U6aSxzdGFydEljb246dSxlbmRJY29uOmQsc2hvd0NhcmV0OmgsaWNvbk9ubHk6bSxhbmNob3I6cCxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczpmPXQuZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXMsZGlzYWJsZUZvY3VzT3V0bGluZTpiPSExLHRvb2x0aXA6dixkaXNhYmxlZDpnfT1lCjtyZXR1cm4gYSgpKGMucm91bmRUYWJCdXR0b24sY1tuXSxjW3JdLHUmJmMud2l0aFN0YXJ0SWNvbiwoZHx8aCkmJmMud2l0aEVuZEljb24sbSYmYy5pY29uT25seSxzJiZjLnNlbGVjdGVkLGkmJmMuZmFrZSxwJiZjLmVuYWJsZUN1cnNvclBvaW50ZXIsIWYmJmMuZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLGImJmMuZGlzYWJsZUZvY3VzT3V0bGluZSx2JiYiYXBwbHktY29tbW9uLXRvb2x0aXAiLGcmJmMuZGlzYWJsZWQsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAgYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tY2hlY2stY2hpbGRyZW4tcmVjdXJzaXZlbHkgYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tYWxsb3ctdGV4dCIpfWZ1bmN0aW9uIG0oZSl7Y29uc3R7c3RhcnRJY29uOnQsZW5kSWNvbjpuLHNob3dDYXJldDpyLGljb25Pbmx5OmwsY2hpbGRyZW46aX09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCx0JiZvLmNyZWF0ZUVsZW1lbnQocy5JY29uLHtpY29uOnQsY2xhc3NOYW1lOmMuc3RhcnRJY29uV3JhcCwiYXJpYS1oaWRkZW4iOiEwfSksaSYmby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEoKShjLmNvbnRlbnQsbCYmYy52aXN1YWxseUhpZGRlbil9LGkpLCghbCYmbnx8cikmJm8uY3JlYXRlRWxlbWVudChwLHtpY29uOm4sc2hvd0NhcmV0OnJ9KSl9ZnVuY3Rpb24gcChlKXtjb25zdHtpY29uOnQsc2hvd0NhcmV0Om59PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChzLkljb24se2NsYXNzTmFtZTphKCkoYy5lbmRJY29uV3JhcCxuJiZjLmNhcmV0KSxpY29uOm4/aTp0LCJhcmlhLWhpZGRlbiI6ITB9KX19LDIzODUzNihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtSb3VuZFRhYkNvbnRleHQ6KCk9Pm99KTtjb25zdCBvPSgwLG4oNzc5NDc0KS5jcmVhdGVDb250ZXh0KSh7c2l6ZToic21hbGwiLHZhcmlhbnQ6InByaW1hcnkiLGlzSGlnaGxpZ2h0ZWQ6ITEsaXNDb2xsYXBzZWQ6ITEsZGlzYWJsZWQ6ITF9KX0sNzM0ODUyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1JvdW5kVGFic0Jhc2VCdXR0b246KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCkscj1uKDc3MDE0MyksYT1uKDQ5MjUwNSk7Y29uc3QgbD0oMCxvLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2lkOm4sc2l6ZTpsLHZhcmlhbnQ6cyxhY3RpdmU6aSxmYWtlOmMsc3RhcnRJY29uOnUsZW5kSWNvbjpkLHNob3dDYXJldDpoLGljb25Pbmx5Om0sY2hpbGRyZW46cCxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczpmLGRpc2FibGVGb2N1c091dGxpbmU6Yix0b29sdGlwOnYsZGlzYWJsZWQ6ZywuLi5DfT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIsey4uLkMsaWQ6bixyZWY6dCwiZGF0YS10b29sdGlwIjp2LCJkYXRhLW92ZXJmbG93LXRvb2x0aXAtdGV4dCI6dj8/KDAsci5nZXRUZXh0Rm9yVG9vbHRpcCkocCksY2xhc3NOYW1lOigwLGEudXNlUm91bmRUYWJDbGFzc05hbWVzKSh7c2l6ZTpsLHZhcmlhbnQ6cyxhY3RpdmU6aSxmYWtlOmMsc3RhcnRJY29uOnUsZW5kSWNvbjpkLHNob3dDYXJldDpoLGljb25Pbmx5Om0sZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6ZixkaXNhYmxlRm9jdXNPdXRsaW5lOmIsdG9vbHRpcDp2LGRpc2FibGVkOmd9KX0sby5jcmVhdGVFbGVtZW50KGEuUm91bmRUYWJDb250ZW50LHtzdGFydEljb246dSxlbmRJY29uOmQsc2hvd0NhcmV0OmgsaWNvbk9ubHk6bX0scCkpfSkpO2wuZGlzcGxheU5hbWU9IlJvdW5kVGFic0Jhc2VCdXR0b24ifSw1MDk0ODkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Um91bmRCdXR0b25UYWJzSW1wbDooKT0+bX0pO3ZhciBvPW4oNzc5NDc0KSxyPW4oOTE0NDg3KSxhPW4ubihyKSxsPW4oNzgzMjU0KSxzPW4oMTE1MjkzKSxpPW4oODQ2ODU4KSxjPW4oMjEyMTI1KSx1PW4oNDAwMjExKSxkPW4oMjg3Nzg2KSxoPW4oMTAzNTkzKTtmdW5jdGlvbiBtKGUpe2NvbnN0e2NoaWxkcmVuOnQsZGlzYWJsZWQ6cixtb3JlQnV0dG9uVGV4dDptPWwudChudWxsLHZvaWQgMCxuKDM5NDk0NykpLG1vcmVCdXR0b25QcmVzZXQ6cCxjbGFzc05hbWU6ZixzaXplOmIsdmFyaWFudDp2LGFsaWduOmcsc3R5bGU6Qz17fSwiZGF0YS1uYW1lIjp4LGlzUmFkaW9Hcm91cDp3LCJhcmlhLWNvbnRyb2xzIjp5fT1lLF89KDAsaC5nZXRSb3VuZFRhYnNHYXApKGIpLHtlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczpOLG1vcmVCdXR0b25SZWY6UyxzZXRJdGVtUmVmOk0sZ2V0QmluZGluZ3M6UixoYW5kbGVNb3JlQnV0dG9uQ2xpY2s6RSxoYW5kbGVDb2xsYXBzZWRJdGVtQ2xpY2s6VCxzY3JvbGxXcmFwQmluZGluZzpJLG92ZXJmbG93QmVoYXZpb3VyOlcsdGFibGlzdEJpbmRpbmc6Tyx2aXNpYmxlVGFiczprLGhpZGRlblRhYnM6QixoYW5kbGVBY3RpdmF0ZTpBLGlzTW9iaWxlVG91Y2g6RCxnZXRJdGVtSWQ6eixpc0Rpc2Nsb3N1cmVPcGVuZWQ6Rixpc0hpZ2hsaWdodGVkOkgsY2xvc2VEaXNjbG9zdXJlOlB9PSgwLGkudXNlVGFic01haW5IYW5kbGVycykoYy5UYWJOYW1lcy5Sb3VuZEJ1dHRvblRhYnMsZSx7aXNSdGw6cy5pc1J0bCxzY3JvbGxJbnRvVmlld09wdGlvbnM6e2FkZGl0aW9uYWxTY3JvbGw6X30saXNSYWRpb0dyb3VwOncsZ2FwOl99KTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5JLGNsYXNzTmFtZTphKCkoKDAsaC5nZXRSb3VuZFRhYnNTY3JvbGxXcmFwQ2xhc3NOYW1lcykoe292ZXJmbG93QmVoYXZpb3VyOld9KSxmKSxzdHlsZTp7Li4uQywiLS11aS1saWItcm91bmRUYWJzLWdhcCI6YCR7X31weGB9LCJkYXRhLW5hbWUiOnh9LG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Li4uTyxjbGFzc05hbWU6KDAsaC5nZXRSb3VuZFRhYnNJbm5lcldyYXBDbGFzc05hbWVzKSh7YWxpZ246ZyxvdmVyZmxvd0JlaGF2aW91cjpXfSl9LGsubWFwKChlPT5vLmNyZWF0ZUVsZW1lbnQodS5Sb3VuZFRhYkJ1dHRvbix7Li4uUihlKSxrZXk6ZS5pZCxpdGVtOmUsb25DbGljazooKT0+QShlKSx2YXJpYW50OnYsc2l6ZTpiLGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOk4sZGlzYWJsZUZvY3VzT3V0bGluZTpELHJlZmVyZW5jZTpNKHooZSkpLC4uLmUuZGF0YUlkJiZ7CiJkYXRhLWlkIjplLmRhdGFJZH0sImFyaWEtY29udHJvbHMiOnl9KSkpLEIubWFwKChlPT5vLmNyZWF0ZUVsZW1lbnQodS5Sb3VuZFRhYkJ1dHRvbix7Li4uUihlKSxrZXk6ZS5pZCxpdGVtOmUsdmFyaWFudDp2LHNpemU6YixyZWZlcmVuY2U6TSh6KGUpKSwiYXJpYS1jb250cm9scyI6eSxmYWtlOiEwfSkpKSxvLmNyZWF0ZUVsZW1lbnQoZC5Db2xsYXBzZWRSb3VuZFRhYnNEaXNjbG9zdXJlLHtkaXNhYmxlZDpyLGlzT3BlbmVkOkYsaXRlbXM6QixidXR0b25UZXh0Om0sYnV0dG9uUHJlc2V0OnAsYnV0dG9uUmVmOlMsaXNIaWdobGlnaHRlZDpILG9uQnV0dG9uQ2xpY2s6RSxvbkl0ZW1DbGljazpULG9uQ2xvc2U6UCx2YXJpYW50OnYsc2l6ZTpiLGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOk4sZGlzYWJsZUZvY3VzT3V0bGluZTpELGZha2U6MD09PUIubGVuZ3RofSksdCkpfX0sMTAzNTkzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFJvdW5kVGFic0dhcDooKT0+aSxnZXRSb3VuZFRhYnNJbm5lcldyYXBDbGFzc05hbWVzOigpPT5zLGdldFJvdW5kVGFic1Njcm9sbFdyYXBDbGFzc05hbWVzOigpPT5sfSk7dmFyIG89big5MTQ0ODcpLHI9bi5uKG8pLGE9big0NzgzOSk7ZnVuY3Rpb24gbChlKXtjb25zdHtvdmVyZmxvd0JlaGF2aW91cjp0fT1lO3JldHVybiByKCkoYS5zY3JvbGxXcmFwLCJzY3JvbGwiPT09dCYmYS5vdmVyZmxvd1Njcm9sbCwid3JhcCI9PT10JiZhLm92ZXJmbG93V3JhcCl9ZnVuY3Rpb24gcyhlKXtjb25zdHthbGlnbjp0PSJzdGFydCJ9PWU7cmV0dXJuIHIoKShhLnJvdW5kVGFicyxhW3RdKX1mdW5jdGlvbiBpKGU9InhzbWFsbCIpe3N3aXRjaChlKXtjYXNlInNtYWxsIjpyZXR1cm4gODtjYXNlInhzbWFsbCI6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMTZ9fX0sMTk5MTcyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Rvb2xXaWRnZXRNZW51U3VtbWFyeTooKT0+c30pO3ZhciBvPW4oNzc5NDc0KSxyPW4oOTE0NDg3KSxhPW4ubihyKSxsPW4oNzYxMDkzKTtmdW5jdGlvbiBzKGUpe3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkoZS5jbGFzc05hbWUsbC50aXRsZSl9LGUuY2hpbGRyZW4pfX0sNzIxOTEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvdW50ZXI6KCk9PmR9KTt2YXIgbyxyLGEsbD1uKDkxNDQ4Nykscz1uLm4obCksaT1uKDc3OTQ3NCksYz1uKDM2Mjc5MyksdT1uLm4oYyk7ZnVuY3Rpb24gZChlKXtjb25zdHtjbGFzc05hbWU6dCxjb3VudDpuLGNvbXBhY3Q6bz0hMCxzaXplOnI9InhsYXJnZSIsY29sb3I6YT0iZGFuZ2VyIixzaWduOmwsYm9yZGVyQ29sb3I6Yz0ibm9uZSIsImFyaWEtbGFiZWwiOmQsImFyaWEtaGlkZGVuIjpoLGRpc2FibGVkOm0sLi4ucH09ZSxmPXA7bGV0IGI7Yj0hKCJ4eHNtYWxsIj09PXJ8fCJ4eHhzbWFsbCI9PT1yKSYmbj9vJiZuPj0xMDA/Ijk5KyI6bCYmbj4wP2ArJHtufWA6bjoiIjtjb25zdCB2PXMoKSh0LHUoKS5jb3VudGVyLHUoKVtyXSx1KClbYGNvbG9yLSR7YX1gXSwibm9uZSIhPT1jJiZ1KClbYGJvcmRlckNvbG9yLSR7Y31gXSxtJiZ1KCkuZGlzYWJsZWQpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsuLi5mLGNsYXNzTmFtZTp2LHJvbGU6dm9pZCAwIT09ZD8iaW1nIjp2b2lkIDAsImFyaWEtbGFiZWwiOmQsImFyaWEtaGlkZGVuIjpofSxiKX0hZnVuY3Rpb24oZSl7ZS5YWFhTbWFsbD0ieHh4c21hbGwiLGUuWFhTbWFsbD0ieHhzbWFsbCIsZS5YU21hbGw9InhzbWFsbCIsZS5TbWFsbD0ic21hbGwiLGUuTWVkaXVtPSJtZWRpdW0iLGUuTGFyZ2U9ImxhcmdlIixlLlhMYXJnZT0ieGxhcmdlIn0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtlLkRhbmdlcj0iZGFuZ2VyIixlLkFjY2VudD0iYWNjZW50IixlLkFjY2VudExpZ2h0PSJhY2NlbnQtbGlnaHQiLGUuTmV1dHJhbEJvbGQ9Im5ldXRyYWwtYm9sZCIsZS5OZXV0cmFsPSJuZXV0cmFsIn0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlLlByaW1hcnk9InByaW1hcnkiLGUuU2Vjb25kYXJ5PSJzZWNvbmRhcnkiLGUuVGVydGlhcnk9InRlcnRpYXJ5IixlLk5vbmU9Im5vbmUifShhfHwoYT17fSkpfSw3NjM1NDkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29tcG9zZWRLZXlib2FyZEFjdGlvbkhhbmRsZXJzOigpPT5zLHVzZUtleWJvYXJkQWN0aW9uSGFuZGxlcjooKT0+bCx1c2VLZXlib2FyZENsb3NlOigpPT51LHVzZUtleWJvYXJkRXZlbnRIYW5kbGVyOigpPT5pLHVzZUtleWJvYXJkT3BlbjooKT0+ZCx1c2VLZXlib2FyZFRvZ2dsZTooKT0+Y30pO3ZhciBvPW4oNzc5NDc0KSxyPW4oMjM1NzI0KTtjb25zdCBhPSgpPT4hMDtmdW5jdGlvbiBsKGUsdCxuPWEscil7cmV0dXJuKDAsby51c2VDYWxsYmFjaykoKG89PntpZihyKXtpZigiaG9yaXpvbnRhbCI9PT1yJiYoNDA9PT1vfHwzOD09PW8pKXJldHVybjtpZigidmVydGljYWwiPT09ciYmKDM3PT09b3x8Mzk9PT1vKSlyZXR1cm59Y29uc3QgYT1lLm1hcCgoZT0+ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZSgpOmUpKTtyZXR1cm4hKCFuKG8pfHwhYS5pbmNsdWRlcyhvKSkmJih0KG8pLCEwKX0pLFsuLi5lLHQsbl0pfWZ1bmN0aW9uIHMoLi4uZSl7cmV0dXJuKDAsby51c2VDYWxsYmFjaykoKHQ9Pntmb3IoY29uc3QgbiBvZiBlKWlmKG4odCkpcmV0dXJuITA7cmV0dXJuITF9KSxbLi4uZV0pfWZ1bmN0aW9uIGkoZSx0PSEwLG49ITEpe2NvbnN0IGE9cyguLi5lKTtyZXR1cm4oMCxvLnVzZUNhbGxiYWNrKSgoZT0+e2NvbnN0IG89YSgoMCxyLmhhc2hGcm9tRXZlbnQpKGUpKTtvJiZ0JiZlLnByZXZlbnREZWZhdWx0KCksbyYmbiYmZS5zdG9wUHJvcGFnYXRpb24oKX0pLFthXSl9ZnVuY3Rpb24gYyhlLHQ9ITApe3JldHVybiBsKFsxMywzMl0sZSwoZnVuY3Rpb24oZSl7aWYoMTM9PT1lKXJldHVybiB0O3JldHVybiEwfSkpfWZ1bmN0aW9uIHUoZSx0KXtyZXR1cm4gbChbOSwoMCxvLnVzZUNhbGxiYWNrKSgoKCk9PnIuTW9kaWZpZXJzLlNoaWZ0KzkpLFtdKSwyN10sdCwoMCxvLnVzZUNhbGxiYWNrKSgoKCk9PmUpLFtlXSkpfWZ1bmN0aW9uIGQoZSx0KXsKcmV0dXJuIGwoWzQwLDM4XSx0LCgwLG8udXNlQ2FsbGJhY2spKCgoKT0+IWUpLFtlXSkpfX0sOTAwODQxKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlLHQsbixvLHIpe2Z1bmN0aW9uIGEocil7aWYoZT5yLnRpbWVTdGFtcClyZXR1cm47Y29uc3QgYT1yLnRhcmdldDt2b2lkIDAhPT1uJiZudWxsIT09dCYmbnVsbCE9PWEmJmEub3duZXJEb2N1bWVudD09PW8mJih0LmNvbnRhaW5zKGEpfHxuKHIpKX1yZXR1cm4gci5jbGljayYmby5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYSwhMSksci5tb3VzZURvd24mJm8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixhLCExKSxyLnRvdWNoRW5kJiZvLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixhLCExKSxyLnRvdWNoU3RhcnQmJm8uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsYSwhMSksKCk9PntvLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIixhLCExKSxvLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsYSwhMSksby5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsYSwhMSksby5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixhLCExKX19bi5kKHQse2FkZE91dHNpZGVFdmVudExpc3RlbmVyOigpPT5vfSl9LDIzNjc2NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VPdXRzaWRlRXZlbnQ6KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCkscj1uKDYxNjMxMSksYT1uKDkwMDg0MSk7ZnVuY3Rpb24gbChlKXtjb25zdHtjbGljazp0LG1vdXNlRG93bjpuLHRvdWNoRW5kOmwsdG91Y2hTdGFydDpzLGhhbmRsZXI6aSxyZWZlcmVuY2U6Y309ZSx1PSgwLG8udXNlUmVmKShudWxsKSxkPSgwLG8udXNlUmVmKSgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz8wOm5ldyB3aW5kb3cuQ3VzdG9tRXZlbnQoInRpbWVzdGFtcCIpLnRpbWVTdGFtcCk7cmV0dXJuKDAsci51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pntjb25zdCBlPXtjbGljazp0LG1vdXNlRG93bjpuLHRvdWNoRW5kOmwsdG91Y2hTdGFydDpzfSxvPWM/Yy5jdXJyZW50OnUuY3VycmVudDtyZXR1cm4oMCxhLmFkZE91dHNpZGVFdmVudExpc3RlbmVyKShkLmN1cnJlbnQsbyxpLGRvY3VtZW50LGUpfSksW3QsbixsLHMsaV0pLGN8fHV9fSwyMjc5NDkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TWVudVdpZHRoQ29udGV4dDooKT0+b30pO2NvbnN0IG89big3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoe3NldE1lbnVNYXhXaWR0aDohMX0pfSw4OTEyMDkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3VibWVudUNvbnRleHQ6KCk9PnIsU3VibWVudUhhbmRsZXI6KCk9PmF9KTt2YXIgbz1uKDc3OTQ3NCk7Y29uc3Qgcj1vLmNyZWF0ZUNvbnRleHQobnVsbCk7ZnVuY3Rpb24gYShlKXtjb25zdFt0LG5dPSgwLG8udXNlU3RhdGUpKG51bGwpLGE9KDAsby51c2VSZWYpKG51bGwpLGw9KDAsby51c2VSZWYpKG5ldyBNYXApO3JldHVybigwLG8udXNlRWZmZWN0KSgoKCk9PigpPT57bnVsbCE9PWEuY3VycmVudCYmY2xlYXJUaW1lb3V0KGEuY3VycmVudCl9KSxbXSksby5jcmVhdGVFbGVtZW50KHIuUHJvdmlkZXIse3ZhbHVlOntjdXJyZW50OnQsc2V0Q3VycmVudDpmdW5jdGlvbihlKXtudWxsIT09YS5jdXJyZW50JiYoY2xlYXJUaW1lb3V0KGEuY3VycmVudCksYS5jdXJyZW50PW51bGwpO251bGw9PT10P24oZSk6YS5jdXJyZW50PXNldFRpbWVvdXQoKCgpPT57YS5jdXJyZW50PW51bGwsbihlKX0pLDEwMCl9LHJlZ2lzdGVyU3VibWVudTpmdW5jdGlvbihlLHQpe3JldHVybiBsLmN1cnJlbnQuc2V0KGUsdCksKCk9PntsLmN1cnJlbnQuZGVsZXRlKGUpfX0saXNTdWJtZW51Tm9kZTpmdW5jdGlvbihlKXtyZXR1cm4gQXJyYXkuZnJvbShsLmN1cnJlbnQudmFsdWVzKCkpLnNvbWUoKHQ9PnQoZSkpKX19fSxlLmNoaWxkcmVuKX19LDQxOTE4MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjcmVhdGVEb21JZDooKT0+aSxqb2luRG9tSWRzOigpPT5jfSk7Y29uc3Qgbz0vXHMvZztmdW5jdGlvbiByKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZX1mdW5jdGlvbiBhKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJzdHJpbmciOnJldHVybiBlO2Nhc2UibnVtYmVyIjpjYXNlImJpZ2ludCI6cmV0dXJuIGUudG9TdHJpbmcoMTApO2Nhc2UiYm9vbGVhbiI6Y2FzZSJzeW1ib2wiOnJldHVybiBlLnRvU3RyaW5nKCk7ZGVmYXVsdDpyZXR1cm4gbnVsbH19ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS50cmltKCkubGVuZ3RoPjB9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZS5yZXBsYWNlKG8sIi0iKX1mdW5jdGlvbiBpKC4uLmUpe2NvbnN0IHQ9ZS5tYXAoYSkuZmlsdGVyKHIpLmZpbHRlcihsKS5tYXAocyk7cmV0dXJuKHQubGVuZ3RoPjAmJnRbMF0uc3RhcnRzV2l0aCgiaWRfIik/dDpbImlkIiwuLi50XSkuam9pbigiXyIpfWZ1bmN0aW9uIGMoLi4uZSl7cmV0dXJuIGUubWFwKGEpLmZpbHRlcihyKS5maWx0ZXIobCkuam9pbigiICIpfX0sODg2MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNSA5YTIgMiAwIDEgMS00IDAgMiAyIDAgMCAxIDQgMHptNiAwYTIgMiAwIDEgMS00IDAgMiAyIDAgMCAxIDQgMHptNCAyYTIgMiAwIDEgMCAwLTQgMiAyIDAgMCAwIDAgNHoiLz48L3N2Zz4nfSw2MzE1NDEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgMTRhMyAzIDAgMSAxLTYgMCAzIDMgMCAwIDEgNiAwem04IDBhMyAzIDAgMSAxLTYgMCAzIDMgMCAwIDEgNiAwem01IDNhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2eiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":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/52509.40659470e51b065d5139.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.163Z","timestamp":1785141585163,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52509.40659470e51b065d5139.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-c6e6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:30\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 85269eb8d9f53699969714f745e58b57\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":50918,"size_decoded":15407,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (13726)","md5":"b7af9caf2d203689250c618a39d39029","sha1":"54e22965aaf8dd894b275b582cc30705d69821ad","sha256":"2600de068f623019889e62254b9834e05e70d376b307a4ad6b859f23cdcc8f8a","sha512":"3ef3adc84c046249eb8338da914e3af339fc2a92d8f0ae731d3b82dfc79a838b32bb4601581fb9d42f1ad5dece74230ddca8b9193f7acb1a023a1892cc8633eb","ssdeep":"1536:p5+ejeWbrN0Y4NT7JDMclwUYGZTw7yhLrLl1wrFMl:p5+ejDbrSY497JDMclwUYGZTw7yhLrL5","tlshash":"4833a36890d52d392df542f540ab2010e8ade8974d9610a6efef4dbf4940ac9b13ed3f","first_seen":"2026-07-23T14:00:31.718819Z","last_seen":"2026-07-27T12:48:39.669745Z","times_seen":57,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTI1MDldLHs5NzMwNDEoZSx0LGEpe2EuZCh0LHt0cmllc1RyYW5zbGF0ZUNvdW50cmllTmFtZTooKT0+aX0pO3ZhciBvPWEoMTg1MjcxKTtmdW5jdGlvbiBpKGUpe2NvbnN0IHQ9bi5nZXQoZSk7cmV0dXJuIHZvaWQgMCE9PXQ/dCgpOmV9CmNvbnN0IG49bmV3IE1hcChbWyJBZnJpY2EiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2NTAzNDQpKV0sWyJBbWVyaWNhcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDk5MTQ2NCkpXSxbIkFzaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2ODkxODIpKV0sWyJFdXJvcGUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NTIzNjcpKV0sWyJQYWNpZmljIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTkwNTc1KSldLFsiTWlkZGxlIEVhc3QiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2ODU3NTEpKV0sWyJBZmdoYW5pc3RhbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDk5MzEwMSkpXSxbIsOFbGFuZCBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTA2NTU0KSldLFsiQWxhbmQgSXNsYW5kcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDkwNjU1NCkpXSxbIkFsYmFuaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyODAwMjUpKV0sWyJBbGdlcmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjk2MTgxKSldLFsiQW1lcmljYW4gU2Ftb2EiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxMDQ1NTMpKV0sWyJBbmRvcnJhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTY1MjEzKSldLFsiQW5nb2xhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzc3MjApKV0sWyJBbmd1aWxsYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg1NDkwMikpXSxbIkFudGFyY3RpY2EiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyOTc1NzApKV0sWyJBbnRpZ3VhIGFuZCBCYXJidWRhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzQ1ODkpXSxbIkFyZ2VudGluYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg1NzU4NykpXSxbIkFybWVuaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3Nzk5NTIpKV0sWyJBcnViYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDExNDc1NikpXSxbIkF1c3RyYWxpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI3OTIzMykpXSxbIkF1c3RyaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyMzgyNzgpKV0sWyJBemVyYmFpamFuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDY4MTcpKV0sWyJCYWhhbWFzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzM1MjU5KSldLFsiQmFocmFpbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDU3ODY2NSkpXSxbIkJhbmdsYWRlc2giLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0NTIwMTUpKV0sWyJCYXJiYWRvcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDgyOTM4NykpXSxbIkJlbGFydXMiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1MjM1NTIpKV0sWyJCZWxnaXVtIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODMzMjQpKV0sWyJCZWxpemUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3ODc3MDEpKV0sWyJCZW5pbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDU4ODg0OCkpXSxbIkJlcm11ZGEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzMTQ3MzcpKV0sWyJCaHV0YW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyODQ0NDIpKV0sWyJCb2xpdmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTMxMzA0KSldLFsiQm9uYWlyZSwgU2ludCBFdXN0YXRpdXMgYW5kIFNhYmEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1NTcyMzUpKV0sWyJCb3NuaWEgYW5kIEhlcnplZ292aW5hIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTcwNjkxKSldLFsiQm90c3dhbmEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0MjUzNzgpKV0sWyJCb3V2ZXQgSXNsYW5kIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzMwNzYzKSldLFsiQnJhemlsIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjEyOTY3KSldLFsiQnJpdGlzaCBJbmRpYW4gT2NlYW4gVGVycml0b3J5IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzQ0MjQ2KSldLFsiQnJpdGlzaCBWaXJnaW4gSXNsYW5kcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY1MzM0MCkpXSxbIkJydW5laSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDM5MTkwNikpXSxbIkJ1bGdhcmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzE0MDMxKSldLFsiQnVya2luYSBGYXNvIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMTk4Mjk3KSldLFsiQnVydW5kaSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc1ODIyKSldLFsiQ2FibyBWZXJkZSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDYwMTA5NykpXSxbIkNhbWJvZGlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNTU1NDg5KSldLFsiQ2FtZXJvb24iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NzcwMjgpKV0sWyJDYW5hZGEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxNTE4OSkpXSxbIkNheW1hbiBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjQxMDI2KSldLFsiQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzc0NzgpKV0sWyJDaGFkIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDgzNTUpKV0sWyJDaGlsZSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDkwNDMzOCkpXSxbIkNoaW5hIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjAyNTE5KSldLFsiQ2hyaXN0bWFzIElzbGFuZCIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDk1NjQ2NCkpXSxbIkNvY29zIChLZWVsaW5nKSBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzI1NzMyKSldLFsiQ29sb21iaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxMzU4NjcpKV0sWyJDb21vcm9zIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDg0MTM2KSldLFsiQ29uZ28iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NjQ4NTgpKV0sWyJDb25nbyAodGhlIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlKSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI3MTU1OCkpXSxbIkNvb2sgSXNsYW5kcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDcwODg1OSkpXSxbIkN1cmFjYW8iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1ODk0MTcpKV0sWyJDb3N0YSBSaWNhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjY4ODQ0KSldLFsiQ8O0dGUgZCdJdm9pcmUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0OTg3NjIpKV0sWyJDcm9hdGlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDA3NCkpXSxbIkN1YmEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3NjkxNDApKV0sWyJDdXJhw6dhbyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDk0NTE3MSkpXSxbIkN5cHJ1cyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDYzNDczNykpXSxbIkN6ZWNoaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyNjE5OTApKV0sWyJDemVjaCBSZXB1YmxpYyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDEyOTgwOCkpXSxbIkRlbm1hcmsiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4NTI1MDEpKV0sWyJEamlib3V0aSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDUwNzc5OCkpXSxbIkRvbWluaWNhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMTk0MzI2KSldLFsiRG9taW5pY2FuIFJlcHVibGljIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODE4NjA0KSldLFsiRWN1YWRvciIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQxMzM5NykpXSxbIkVneXB0IiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzM3NDM3KSldLFsiRWwgU2FsdmFkb3IiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4ODA4NzIpKV0sWyJFcXVhdG9yaWFsIEd1aW5lYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc0NjUyNCkpXSxbIkVyaXRyZWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3MzA4NzMpKV0sWyJFc3RvbmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTQxMjApKV0sWyJGYWxrbGFuZCBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTkzNDc1KSldLFsiRXN3YXRpbmkiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4OTgzMDMpKV0sWyJFdGhpb3BpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMzMTkxKSldLFsiRXVyb3BlYW4gVW5pb24iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1MzUxNDYpKV0sWyJGYWxrbGFuZCBJc2xhbmRzIChNYWx2aW5hcykiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2MDc3MjMpKV0sWyJGYXJvZSBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDUyNDg3KSldLFsiRmlqaSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDE1MjQwOSkpXSxbIkZpbmxhbmQiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NzY0NTQpKV0sWyJGcmFuY2UiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxMzYyMzgpKV0sWyJGcmVuY2ggR3VpYW5hIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTc2MDc5KSldLFsiRnJlbmNoIFBvbHluZXNpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg2MzgyNSkpXSxbIkZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMyODYwNykpXSxbIkdhYm9uIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzY3NjkwKSldLFsiR2FtYmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzA4Nzg1KSldLFsiR2VvcmdpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc5NTk1MSkpXSxbIkdlcm1hbnkiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0NjY2OTgpKV0sWyJHaGFuYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQ5ODY3OSkpXSxbIkdpYnJhbHRhciIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc3MTAxNykpXSxbIkdyZWVjZSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc5MzI4OSkpXSxbIkdyZWVubGFuZCIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMxODM5OSkpXSxbIkdyZW5hZGEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5MzIwODYpKV0sWyJHdWFkZWxvdXBlIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMTY0ODc3KSldLFsiR3VhbSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDU0NDMyNSkpXSxbIkd1YXRlbWFsYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg3NzQ4NykpXSxbIkd1ZXJuc2V5IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDA4OTE2KSldLFsiR3VpbmVhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDM2NDU1KSldLFsiR3VpbmVhLUJpc3NhdSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMwODIyOSkpXSxbIkd1eWFuYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI0MjExNikpXSxbIkhhaXRpIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODk0NzA5KSldLFsiSGVhcmQgSXNsYW5kIGFuZCBNY0RvbmFsZCBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjM2MTIzKSldLFsiSG9seSBTZWUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxMjc0OSkpXSxbIkhvbmR1cmFzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjAyODE2KSldLFsiSG9uZyBLb25nIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDYzNzc5KSldLFsiSHVuZ2FyeSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY2MTM2NikpXSxbIkljZWxhbmQiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0NDAxODgpKV0sWyJJbmRpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDM3MjUyMCkpXSxbIkluZG9uZXNpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDgwMjk3NSkpXSxbIklyYXEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzNzE3NDYpKV0sWyJJcmVsYW5kIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzExNTI3KSldLFsiSXNsZSBvZiBNYW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyMDc4MjUpKV0sWyJJc3JhZWwiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4MDMzNTQpKV0sWyJJdGFseSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg5ODE2MykpXSxbIkphbWFpY2EiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxNjM1KSldLFsiSmFwYW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyMDAwNjgpKV0sWyJKZXJzZXkiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxMTg1OTgpKV0sWyJKb3JkYW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1ODMwMDkpKV0sWyJLYXpha2hzdGFuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjc3NTYwKSldLFsiS2VueWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4MTQ5NjYpKV0sWyJLaXJpYmF0aSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQ0NjI5MykpXSxbIktvc292byIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY3Njg2KSldLFsiS3V3YWl0IiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzk1MTMwKSldLFsiS3lyZ3l6c3RhbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQ1ODY2MCkpXSxbIkxhb3MiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1OTExODApKV0sWyJMYXR2aWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyODI3NzMpKV0sWyJMZWJhbm9uIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTQ1NjEzKSldLFsiTGVzb3RobyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY1MzM5NSkpXSxbIkxpYmVyaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2NjIxKSldLFsiTGlieWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1NTUzNTIpKV0sWyJMaWVjaHRlbnN0ZWluIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzg2NjY3KSldLFsiTGl0aHVhbmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODkyMTAwKSldLFsiTHV4ZW1ib3VyZyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDk3NTQ0NykpXSxbIk1hY2F1IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNTMyMjY5KSldLFsiTWFjYW8iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzMDcwNjIpKV0sWyJNYWNlZG9uaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0NTkxMDgpKV0sWyJNYWRhZ2FzY2FyIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjYwMTg4KSldLFsiTWFsYXdpIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjQ1OTQ4KSldLFsiTWFsYXlzaWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2Mjc5NjcpKV0sWyJNYWxkaXZlcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMzMTYxNSkpXSxbIk1hbGkiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2MjM0NjUpKV0sWyJNYWx0YSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDU2MzIzNykpXSxbIk1hcnNoYWxsIElzbGFuZHMiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0Nzc4NDMpKV0sWyJNYXJ0aW5pcXVlIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMTM1MTUyKSldLFsiTWF1cml0YW5pYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY2Nzk5NikpXSxbIk1hdXJpdGl1cyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDE1MDA1NCkpXSxbIk1heW90dGUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0ODMxNDkpKV0sWyJNZXhpY28iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4NjU3MDApKV0sWyJNaWNyb25lc2lhIChGZWRlcmF0ZWQgU3RhdGVzIG9mKSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI5MTA5OCkpXSxbIk1vbGRvdmEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzMjEzMzYpKV0sWyJNb25hY28iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyMDg5MDQpKV0sWyJNb25nb2xpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDkxMzcwOSkpXSxbIk1vbnRlbmVncm8iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3MzkzNjUpKV0sWyJNb250c2VycmF0IiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzMzMjYyKSldLFsiTW9yb2NjbyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDcyMTQzMykpXSxbIk1vemFtYmlxdWUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxMDAwMjYpKV0sWyJNeWFubWFyIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjM5NDMpKV0sWyJOYW1pYmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNTcwNjE4KSldLFsiTmF1cnUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0NzM0MzcpKV0sWyJOZXBhbCIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQ3MTI4OCkpXSxbIk5ldGhlcmxhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjE2ODYyKSldLFsiTmV3IENhbGVkb25pYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI0OTU4OCkpXSxbIk5ldyBaZWFsYW5kIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDIxNikpXSxbIk5pY2FyYWd1YSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDYyMzQ0MCkpXSxbIk5pZ2VyIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNTkyMTg5KSldLFsiTmlnZXJpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg0OTg2OCkpXSxbIk5pdWUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5MDc0NzApKV0sWyJOb3Jmb2xrIElzbGFuZCIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDk2NzQxMikpXSxbIk5vcnRoIE1hY2Vkb25pYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDcyOTc4MikpXSxbIk5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDYxMjU1NykpXSxbIk5vcndheSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg0NTUyMykpXSxbIk9tYW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgyODUyOTMpKV0sWyJQYWtpc3RhbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg0NDQzNikpXSxbIlBhbGF1IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzk4NDc2KSldLFsiUGFsZXN0aW5lLCBTdGF0ZSBvZiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY5ODA4MykpXSxbIlBhbmFtYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDEwMDcyOSkpXSxbIlBhcHVhIE5ldyBHdWluZWEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3MjU2OTcpKV0sWyJQYXJhZ3VheSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQyMDEzNSkpXSxbIlBlcnUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4NTExMTEpKV0sWyJQaGlsaXBwaW5lcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDYxMzY0NykpXSxbIlBpdGNhaXJuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzg0MzgyKSldLFsiUG9sYW5kIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTY4NjA5KSldLFsiUG9ydHVnYWwiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzOTg5NCkpXSxbIlB1ZXJ0byBSaWNvIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODQzMzI3KSldLFsiUWF0YXIiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5MzM3NTMpKV0sWyJSw6l1bmlvbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg3MjY4MCkpXSxbIkxhIFJldW5pb24iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4NzI2ODApKV0sWyJSb21hbmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTA1OTQ1KSldLFsiUnVzc2lhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTM0ODgzKSldLFsiUnVzc2lhbiBGZWRlcmF0aW9uIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzkwNTk4KSldLFsiU0lOVCBNQUFSVEVOIChEVVRDSCBQQVJUKSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc5NTAyMSkpXSxbIlJ3YW5kYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc1ODI5NykpXSxbIlNhaW50IEJhcnRow6lsZW15IiwoKT0+by50KG51bGwsdm9pZCAwLGEoMTk5NDgzKSldLFsiU2FpbnQgSGVsZW5hLCBBc2NlbnNpb24gYW5kIFRyaXN0YW4gZGEgQ3VuaGEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NTU4MzUpKV0sWyJTYWludCBLaXR0cyBhbmQgTmV2aXMiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1NzY5NzUpKV0sWyJTYWludCBMdWNpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI1ODMxMSkpXSxbIlNhaW50IE1hcnRpbiAoRnJlbmNoIHBhcnQpIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDI1MDY0KSldLFsiU2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc5NzAzNSkpXSxbIlNhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjIyNjEzKSldLFsiU2Ftb2EiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1OTg5NjMpKV0sWyJTYW4gTWFyaW5vIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTk5NzYyKSldLFsiU2FvIFRvbWUgYW5kIFByaW5jaXBlIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjc5MzgyKSldLFsiU2F1ZGkgQXJhYmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzYxNTIzKSldLFsiU2VuZWdhbCIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDIyNDI4OSkpXSxbIlNlcmJpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDcxODUyOSkpXSxbIlNleWNoZWxsZXMiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0MjA4MjEpKV0sWyJTaWVycmEgTGVvbmUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgxNjQ5OTIpKV0sWyJTaW5nYXBvcmUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg2NDM3OTUpKV0sWyJTaW50IE1hYXJ0ZW4gKER1dGNoIHBhcnQpIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzM2NDApKV0sWyJTbG92YWtpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI2MzQzMikpXSxbIlNsb3ZlbmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzIxODIxKSldLFsiU29sb21vbiBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMTgxNzgpKV0sWyJTb21hbGlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjAwNTcpKV0sWyJTb3V0aCBBZnJpY2EiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzMTAwODIpKV0sWyJTb3V0aCBHZW9yZ2lhIGFuZCB0aGUgU291dGggU2FuZHdpY2ggSXNsYW5kcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQ0Nzg1NCkpXSxbIlNvdXRoIEtvcmVhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNTg3NzUyKSldLFsiU291dGggU3VkYW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg0NTcxODYpKV0sWyJTcGFpbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDc4ODMyMSkpXSxbIlNyaSBMYW5rYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDgwNDc2NikpXSxbIlN1ZGFuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTc0NDA0KSldLFsiU3VyaW5hbWUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4MTg4MzcpKV0sWyJTdmFsYmFyZCBhbmQgSmFuIE1heWVuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTczOTE1KSldLFsiU3dlZGVuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzY5OTYzKSldLFsiU3dpdHplcmxhbmQiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3MzM5NzEpKV0sWyJTeXJpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI3NDQ4NSkpXSxbIlRhaXdhbiIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI3MzE1NykpXSxbIlRhamlraXN0YW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5Njg0NTgpKV0sWyJUYW56YW5pYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQ5ODE4MykpXSxbIlRoYWlsYW5kIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNTUzMDQ0KSldLFsiVGltb3ItTGVzdGUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg4MDMwNTEpKV0sWyJUb2dvIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODMyNDQ4KSldLFsiVG9rZWxhdSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDEwNDE3NykpXSxbIlRvbmdhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjUwNTU1KSldLFsiVHJpbmlkYWQgYW5kIFRvYmFnbyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMxNDg3KSldLFsiVHVuaXNpYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDY3NzU5KSldLFsiVHVya2V5IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjMxODEwKSldLFsiVHVya21lbmlzdGFuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzM1NjgzKSldLFsiVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTcwNjI0KSldLFsiVHV2YWx1IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDMwMTM0KSldLFsiVS5TLiBWaXJnaW4gSXNsYW5kcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDQzMTM3NykpXSxbIlVBRSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDE2MzExMCkpXSxbIlVTQSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMwMTExNykpXSxbIlVnYW5kYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDU4ODY5MykpXSxbIlVrcmFpbmUiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSgzMTc0NzUpKV0sWyJVbml0ZWQgQXJhYiBFbWlyYXRlcyIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDI0OTA5MSkpXSxbIlVuaXRlZCBLaW5nZG9tIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMjgyNzMpKV0sWyJVbml0ZWQgU3RhdGVzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoOTY3OTQxKSldLFsiVW5pdGVkIFN0YXRlcyBNaW5vciBPdXRseWluZyBJc2xhbmRzIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNzM2Nzk5KSldLFsiVXJ1Z3VheSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDkyODU1MykpXSxbIlVTQSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDMwMTExNykpXSxbIlV6YmVraXN0YW4iLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg3ODM5NzApKV0sWyJWYW51YXR1IiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDE2MjU3KSldLFsiVmVuZXp1ZWxhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNjQzNTAzKSldLFsiVmlldG5hbSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg1MjIxKSldLFsiVmlyZ2luIElzbGFuZHMgKEJyaXRpc2gpIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDIzMjA2KSldLFsiVmlyZ2luIElzbGFuZHMgKFUuUy4pIiwoKT0+by50KG51bGwsdm9pZCAwLGEoMzAxMjI5KSldLFsiV2FsbGlzIGFuZCBGdXR1bmEiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg1OTA1MDUpKV0sWyJXZXN0ZXJuIFNhaGFyYSIsKCk9Pm8udChudWxsLHZvaWQgMCxhKDg4MTI3NykpXSxbIlllbWVuIiwoKT0+by50KG51bGwsdm9pZCAwLGEoNDA5Mzg0KSldLFsiWmFtYmlhIiwoKT0+by50KG51bGwsdm9pZCAwLGEoODY3MzkzKSldLFsiWmltYmFid2UiLCgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NTkxNTUpKV1dKQp9LDEyMjMwNyhlLHQsYSl7YS5yKHQpLGEuZCh0LHthZGRPclVwZGF0ZVN5bWJvbExpc3Q6KCk9PnUsaW5pdFdpZGdldDooKT0+cyxyZW1vdmVTeW1ib2xMaXN0OigpPT5kLHNlbGVjdEFsbFN5bWJvbHM6KCk9PmMsc2VsZWN0SG90bGlzdDooKT0+cCxzZWxlY3ROZXh0QXZhaWxhYmxlU3ltYm9sOigpPT5pLHNldFN5bWJvbExpc3RzOigpPT5tLHNob3dDb250ZXh0TWVudTooKT0+bix1cGRhdGVBY3RpdmVMaXN0OigpPT5oLHVwZGF0ZUJ1bGtQb3NpdGlvbnM6KCk9PmcsdXBkYXRlUG9zaXRpb246KCk9PlMsdXBkYXRlV2lkZ2V0OigpPT5yLHVwZGF0ZVdpZGdldE9wdGlvbnM6KCk9Pmx9KTt2YXIgbz1hKDQxMTM1Nyk7Y29uc3QgaT0oZSx0LGEsaSk9Pih7dHlwZTpvLlNFTEVDVF9ORVhUX0FWQUlMQUJMRV9TWU1CT0wsd2lkZ2V0SWQ6ZSxjdXJyZW50U3ltYm9sOnQsa2V5Ym9hcmRBY3Rpb246YSxjYW5jZWxTZXRPbkNoYXJ0Oml9KSxuPShlLHQsYSxpKT0+KHt0eXBlOm8uU0hPV19DT05URVhUX01FTlUsc3ltYm9sOnQscG9zaXRpb246dihhKSx3aWRnZXRJZDplLHNpemU6aX0pLHM9KGUsdCxhLGkpPT4oe3R5cGU6by5JTklUX1dJREdFVCxvcHRpb25zOmksaWQ6ZSxjb2x1bW5zOmEsdGlja2VyVHlwZTp0fSkscj0oZSx0KT0+KHt0eXBlOm8uVVBEQVRFX1dJREdFVCx3aWRnZXRJZDplLHdpZGdldDp0fSksbD0oZSx0KT0+KHt0eXBlOm8uVVBEQVRFX1dJREdFVF9PUFRJT05TLHdpZGdldElkOmUsb3B0aW9uczp0fSksYz1lPT4oe3R5cGU6by5TRUxFQ1RfQUxMX1NZTUJPTFMsd2lkZ2V0SWQ6ZX0pLHU9ZT0+KHt0eXBlOm8uQUREX09SX1VQREFURV9TWU1CT0xfTElTVCxzeW1ib2xMaXN0OmV9KSxkPWU9Pih7dHlwZTpvLlJFTU9WRV9TWU1CT0xfTElTVCxpZDplfSksbT1lPT4oe3R5cGU6by5TRVRfU1lNQk9MX0xJU1RTLHN5bWJvbExpc3RzOmV9KSxwPShlLHQsYSxpPSExLG49ITEpPT4oe3R5cGU6by5TRUxFQ1RfSE9UTElTVCx3aWRnZXRJZDplLGV4Y2hhbmdlOnQsZ3JvdXA6YSxza2lwVXBkYXRlV2lkZ2V0Omksc2tpcEFkZE9yVXBkYXRlTGlzdDpufSksUz0oZSx0KT0+KHt0eXBlOm8uVVBEQVRFX1BPU0lUSU9OUyxzeW1ib2w6ZSxwb3NpdGlvbjp0fSksZz1lPT4oe3R5cGU6by5VUERBVEVfQlVMS19QT1NJVElPTlMsbWFwOmV9KSxoPWU9Pih7dHlwZTpvLlVQREFURV9BQ1RJVkVfTElTVCx0b2tlbjplfSk7ZnVuY3Rpb24gdihlKXtjb25zdCB0PWUudG91Y2hlcz8ubWFwKChlPT4oe2NsaWVudFg6ZS5jbGllbnRYLGNsaWVudFk6ZS5jbGllbnRZfSkpKTtyZXR1cm57Y2xpZW50WDplLmNsaWVudFgsY2xpZW50WTplLmNsaWVudFksdG91Y2hlczp0LGF0dGFjaFRvWEJ5OmUuYXR0YWNoVG9YQnksYXR0YWNoVG9ZQnk6ZS5hdHRhY2hUb1lCeSxib3g6ZS5ib3h9fX0sNzQxOTI0KGUsdCxhKXthLmQodCx7U0VUX0lTX0FVVEhFTlRJQ0FURUQ6KCk9PnMsYXV0aFJlZHVjZXI6KCk9Pmwsd2F0Y2hBdXRoOigpPT5jfSk7dmFyIG89YSg4OTQ0OCksaT1hKDYxNDgyNSksbj1hKDIzMDIxMSk7Y29uc3Qgcz0iQVVUSF9fU0VUX0lTX0FVVEhFTlRJQ0FURUQiO2Z1bmN0aW9uIHIoZSl7cmV0dXJue3R5cGU6cyxpc0F1dGhlbnRpY2F0ZWQ6ZX19ZnVuY3Rpb24gbChlPUJvb2xlYW4od2luZG93LmlzX2F1dGhlbnRpY2F0ZWQpLHQpe3JldHVybiB0LnR5cGU9PT1zP3QuaXNBdXRoZW50aWNhdGVkOmV9ZnVuY3Rpb24qYygpe2NvbnN0IGU9KDAsby5ldmVudENoYW5uZWwpKChlPT57Y29uc3QgdD17fTtyZXR1cm4gd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHQsKCgpPT5lKHdpbmRvdy5pc19hdXRoZW50aWNhdGVkKSkpLCgpPT53aW5kb3cubG9naW5TdGF0ZUNoYW5nZS51bnN1YnNjcmliZUFsbCh0KX0pKTt0cnl7Zm9yKDs7KXtjb25zdCB0PXlpZWxkKDAsaS50YWtlKShlKTt5aWVsZCgwLGkucHV0KSgoMCxuLnNldHVwKSh7bGlzdHM6W10sdGltZXN0YW1wOkRhdGUubm93KCksc2lsZW50OiEwfSkpLHlpZWxkKDAsaS5wdXQpKHIodCkpfX1maW5hbGx5e2UuY2xvc2UoKX19fSw3MzAzNTUoZSx0LGEpe2EuZCh0LHtjb2xsYXBzZWRTZXBhcmF0b3JzU2VsZWN0b3I6KCk9PmwsZGlzcGxheVN5bWJvbHNTZWxlY3RvcjooKT0+bSxkaXNwbGF5U3ltYm9sc1RvQWN0dWFsU2VsZWN0b3I6KCk9PnAsZ2V0Q3VycmVudFZpZXdhYmxlQ29sbGFwc2VkU2VwYXJhdG9yc1NlbGVjdG9yOigpPT5jLHNlcGFyYXRvcklzQ29sbGFwc2VkQnlMaXN0SWRTZWxlY3RvcjooKT0+ZCxzZXBhcmF0b3JJc0NvbGxhcHNlZFNlbGVjdG9yOigpPT51LHN5bWJvbHNUb1NlcGFyYXRvckNoaWxkcmVuTWFwOigpPT5nfSk7dmFyIG89YSgzNjQzNTApLGk9YSgxMzg2MzgpLG49YSgzNjYyNjIpLHM9YSg5MTk5ODUpO2NvbnN0IHI9KGUsdCxhKT0+YTtmdW5jdGlvbiBsKGUpe3JldHVybiBlLmNvbGxhcHNlZFNlcGFyYXRvcnN9Y29uc3QgYz0oMCxvLmNyZWF0ZVNlbGVjdG9yKShbbCxuLmdldEN1cnJlbnRWaWV3YWJsZUxpc3RCeVdpZGdldElkXSwoKGUsdCk9PnQmJiJob3QiIT09dC50eXBlP3suLi5lW3QuaWRdfTp7fSkpLHU9KDAsby5jcmVhdGVTZWxlY3RvcikoW2Mscl0sKChlLHQpPT5oKGUsdCkpKSxkPSgwLG8uY3JlYXRlU2VsZWN0b3IpKFtsLChlLHQpPT50LHJdLCgoZSx0LGEpPT5oKHsuLi5lW3RdfSxhKSkpLG09KCgwLG8uY3JlYXRlU2VsZWN0b3IpKFtsLG4uZ2V0R2xvYmFsQWN0aXZlU3ltYm9sTGlzdF0sKChlLHQpPT50P1ModCx7Li4uZVt0LmlkXX0pOltdKSksKDAsby5jcmVhdGVTZWxlY3RvcikoW24uZ2V0Q3VycmVudFZpZXdhYmxlTGlzdEJ5V2lkZ2V0SWQsY10sUykpLHA9KDAsby5jcmVhdGVTZWxlY3RvcikoW24uZ2V0Q3VycmVudFZpZXdhYmxlTGlzdEJ5V2lkZ2V0SWQsYyxyXSwoKGUsdCxhKT0+e2lmKCFlfHwiaG90Ij09PWUudHlwZSlyZXR1cm5bXTtjb25zdHtzeW1ib2xzOm99PWUsaT1nKG8pLG49W107cmV0dXJuIGEuZm9yRWFjaCgoZT0+e24ucHVzaChlKTtjb25zdCBhPWkuZ2V0KGUpLG89aCh0LGUpO2EmJm8mJm4ucHVzaCguLi5hKX0pKSxufSkpO2Z1bmN0aW9uIFMoZSx0KXtpZighZSlyZXR1cm5bXQo7Y29uc3R7c3ltYm9sczphfT1lLG89W107bGV0IGk9ITA7cmV0dXJuIGEuZm9yRWFjaCgoZT0+e2NvbnN0IGE9KDAscy5pc1ZhbGlkU2VwYXJhdG9ySXRlbSkoZSk7KGl8fGEpJiZvLnB1c2goZSksYSYmKGk9IWgodCxlKSl9KSksb31mdW5jdGlvbiBnKGUpe2NvbnN0IHQ9bmV3IE1hcDtsZXQgYT0iIjtyZXR1cm4gZS5mb3JFYWNoKChlPT57KDAscy5pc1ZhbGlkU2VwYXJhdG9ySXRlbSkoZSk/KGE9ZSx0LnNldChhLFtdKSk6YSYmKDAsaS5lbnN1cmVEZWZpbmVkKSh0LmdldChhKSkucHVzaChlKX0pKSx0fWZ1bmN0aW9uIGgoZSx0KXtyZXR1cm4hIWUuaGFzT3duUHJvcGVydHkodCkmJmVbdF19fSwxNjIzMzUoZSx0LGEpe2EuZCh0LHtjcmVhdGVDcm9zc1RhYlN5bmNNaWRkbGV3YXJlOigpPT5tLHJlZHVjZXI6KCk9PmQsc2V0U2VwYXJhdG9yc0NvbGxhcHNlOigpPT51fSk7dmFyIG89YSgxMzA2OTkpLGk9YSg0MzMyMCksbj1hKDIzMDIxMSkscz1hKDcxMjEzNCk7Y29uc3Qgcj0iY29sbGFwc2VkLXNlcGFyYXRvcnMtc3RhdGUtZXh0ZW5zaW9uIixsPXtbcl06e319LGM9KDAsby5jcmVhdGVTbGljZSkoe25hbWU6ImNvbGxhcHNlZC1zZXBhcmF0b3JzIixpbml0aWFsU3RhdGU6bCxyZWR1Y2Vyczp7c2V0U2VwYXJhdG9yc0NvbGxhcHNlOihlLHQpPT57Y29uc3R7bGlzdElkOmEsdmFsdWVzOm8sYWN0aW9uVGltZXN0YW1wOml9PXQucGF5bG9hZDtUKGUsYSksdm9pZCAwIT09aSYmZVtyXVthXS5sYXN0Q2hhbmdlVGltZXN0YW1wPj1pfHwoT2JqZWN0LmVudHJpZXMobykuZm9yRWFjaCgoKFt0LG9dKT0+cChlLGEsdCxvKSkpLHZvaWQgMCE9PWkmJihlW3JdW2FdLmxhc3RDaGFuZ2VUaW1lc3RhbXA9aSkpfX0sZXh0cmFSZWR1Y2VyczplPT57ZS5hZGRDYXNlKG4uc2V0dXAsUyksZS5hZGRDYXNlKHMuc2V0dXAsZyksZS5hZGRDYXNlKG4ucHV0LCgoZSx0KT0+e2NvbnN0e2FjdGlvblRpbWVzdGFtcDphLGNvbGxhcHNlZFNlcGFyYXRvcnM6byxpZDppfT10LnBheWxvYWQ7aChlLHtpZDppLGNvbGxhcHNlZFNlcGFyYXRvcnM6byxsYXN0Q2hhbmdlVGltZXN0YW1wOmF9LGEpfSkpLGUuYWRkQ2FzZShzLnJlbmFtZVNlcGFyYXRvciwoKGUsdCk9Pntjb25zdHtjb2xvcjphLHNlcGFyYXRvcjpvLG5hbWU6aX09dC5wYXlsb2FkO0Jvb2xlYW4oZVthXT8uW29dKSYmcChlLGEsaSwhMCl9KSl9fSkse3NldFNlcGFyYXRvcnNDb2xsYXBzZTp1fT1jLmFjdGlvbnMse3JlZHVjZXI6ZH09YztmdW5jdGlvbiBtKGUsdCxhPWMpe3JldHVybigwLGkuY3JlYXRlQ3Jvc3NUYWJTeW5jTWlkZGxld2FyZSkoe2lkOmUsY2hhbm5lbDp0LGV2ZW50OiJjb2xsYXBzZWQtc2VwYXJhdG9ycy1jcm9zcy10YWItc3luYyIsZmlsdGVyOmU9PmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQuYWN0aW9ucy5zZXRTZXBhcmF0b3JzQ29sbGFwc2UubWF0Y2goZSl9KGUsYSl9KX1mdW5jdGlvbiBwKGUsdCxhLG8peyFmdW5jdGlvbihlLHQpe2UuaGFzT3duUHJvcGVydHkodCl8fChlW3RdPXt9KX0oZSx0KSxvP2VbdF1bYV09bzpkZWxldGUgZVt0XVthXX1mdW5jdGlvbiBTKGUsdCl7Y29uc3R7bGlzdHM6YX09dC5wYXlsb2FkO2EuZm9yRWFjaCgodD0+aChlLHQsdC5sYXN0Q2hhbmdlVGltZXN0YW1wKSkpfWZ1bmN0aW9uIGcoZSx0KXtjb25zdHtsaXN0czphfT10LnBheWxvYWQ7YS5mb3JFYWNoKCh0PT52KGUsdCkpKX1mdW5jdGlvbiBoKGUsdCxhKXt2KGUsdCxhKX1mdW5jdGlvbiB2KGUsdCxhKXtjb25zdCBvPWZ1bmN0aW9uKGUpe3JldHVybiBlLmhhc093blByb3BlcnR5KCJjb2xvciIpfSh0KT90LmNvbG9yOnQuaWQse2NvbGxhcHNlZFNlcGFyYXRvcnM6aX09dDtUKGUsbyksdm9pZCAwIT09YSYmZVtyXVtvXS5sYXN0Q2hhbmdlVGltZXN0YW1wPj1hfHwoZVtvXT17fSxpPy5mb3JFYWNoKCh0PT57ZVtvXVt0XT0hMH0pKSx2b2lkIDAhPT1hJiYoZVtyXVtvXS5sYXN0Q2hhbmdlVGltZXN0YW1wPWEpKX1mdW5jdGlvbiBUKGUsdCl7ZVtyXS5oYXNPd25Qcm9wZXJ0eSh0KXx8KGVbcl1bdF09e2xhc3RDaGFuZ2VUaW1lc3RhbXA6MH0pfX0sNDExMzU3KGUsdCxhKXthLmQodCx7QUREX09SX1VQREFURV9TWU1CT0xfTElTVDooKT0+bSxJTklUX1dJREdFVDooKT0+cixSRU1PVkVfU1lNQk9MX0xJU1Q6KCk9PlMsU0VMRUNUX0FMTF9TWU1CT0xTOigpPT5kLFNFTEVDVF9IT1RMSVNUOigpPT5nLFNFTEVDVF9ORVhUX0FWQUlMQUJMRV9TWU1CT0w6KCk9PmksU0VUX1NZTUJPTF9MSVNUUzooKT0+cCxTSE9XX0NPTlRFWFRfTUVOVTooKT0+bCxVUERBVEVfQUNUSVZFX0xJU1Q6KCk9PmgsVVBEQVRFX0JVTEtfUE9TSVRJT05TOigpPT5zLFVQREFURV9QT1NJVElPTlM6KCk9Pm4sVVBEQVRFX1dJREdFVDooKT0+YyxVUERBVEVfV0lER0VUX09QVElPTlM6KCk9PnV9KTtjb25zdCBvPSgwLGEoMzYzNTI2KS5jcmVhdGVBY3Rpb25UeXBlRmFjdG9yeSkoIldBVENITElTVFMiKSxpPW8oIlNFTEVDVF9ORVhUX0FWQUlMQUJMRV9TWU1CT0wiKSxuPW8oIlVQREFURV9QT1NJVElPTlMiKSxzPW8oIlVQREFURV9CVUxLX1BPU0lUSU9OUyIpLHI9bygiSU5JVF9XSURHRVQiKSxsPW8oIlNIT1dfQ09OVEVYVF9NRU5VIiksYz1vKCJVUERBVEVfV0lER0VUIiksdT1vKCJVUERBVEVfV0lER0VUX09QVElPTlMiKSxkPW8oIlNFTEVDVF9BTExfU1lNQk9MUyIpLG09bygiQUREX09SX1VQREFURV9TWU1CT0xfTElTVCIpLHA9bygiU0VUX1NZTUJPTF9MSVNUUyIpLFM9bygiUkVNT1ZFX1NZTUJPTF9MSVNUIiksZz1vKCJTRUxFQ1RfSE9UTElTVCIpLGg9bygiVVBEQVRFX0FDVElWRV9MSVNUIil9LDU0ODEwMyhlLHQsYSl7YS5kKHQse2Nyb3NzdGFiTW9ub3RvbmljVGltZXN0YW1wOigpPT5yfSk7dmFyIG89YSgyMjEwNjEpLGk9YSg5MzIzNjUpO2NvbnN0IG49KDAsby5nZXRMb2dnZXIpKCJDcm9zc3RhYk1vbm90b25pY0Nsb2NrIik7bGV0IHM9ITE7ZnVuY3Rpb24gcigpe2NvbnN0IGU9TnVtYmVyKGkuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbSgibGFzdC1jcm9zc3RhYi1tb25vdG9uaWMtdGltZXN0YW1wIikpfHwwLHQ9RGF0ZS5ub3coKSxhPWU8dD90OmUrMQo7cmV0dXJuIXMmJmUtdD44NjRlNSYmKG4ubG9nRXJyb3IoYFRoZSBsYXN0IHJlY29yZGVkIHRpbWVzdGFtcCAke2V9IG9jY3VycmVkIG1vcmUgdGhhbiBvbmUgZGF5IGluIHRoZSBmdXR1cmUuYCkscz0hMCksaS5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKCJsYXN0LWNyb3NzdGFiLW1vbm90b25pYy10aW1lc3RhbXAiLFN0cmluZyhhKSksYX19LDY0NTkzMyhlLHQsYSl7ZnVuY3Rpb24gbyhlKXtyZXR1cm57dHlwZToiY3VzdG9tIixpZDplLmlkLG5hbWU6ZS5uYW1lLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sc3ltYm9sczplLnN5bWJvbHMsc2hhcmVkOmUuc2hhcmVkLHBlcnNpc3RlZFN0YXRlOmUucGVyc2lzdGVkU3RhdGV9fWZ1bmN0aW9uIGkoZSl7cmV0dXJuImN1c3RvbSI9PT1lLnR5cGV9YS5kKHQse2lzQ3VzdG9tTGlzdDooKT0+aSxtYWtlQ3VzdG9tTGlzdEZyb21SZWNvcmQ6KCk9Pm99KX0sOTc5NTc5KGUsdCxhKXthLmQodCx7Y3JlYXRlU3ltYm9sTGlzdElkOigpPT5uLGlzSG90TGlzdElkOigpPT5pfSk7Y29uc3Qgbz0iIyMjSE9UIyMjIjtmdW5jdGlvbiBpKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmMD09PWUuaW5kZXhPZihvKX1mdW5jdGlvbiBuKGUsdCl7cmV0dXJuIG8rYCR7ZX0uJHt0fWB9fSw4NzEwMjEoZSx0LGEpe2EuZCh0LHtnZXRIb3RsaXN0QnlJZDooKT0+bixob3RMaXN0c1NlbGVjdG9yOigpPT5pfSk7dmFyIG89YSgzNjQzNTApO2NvbnN0IGk9ZT0+ZS5ob3RMaXN0cz8ubGlzdHM/P251bGwsbj0oMCxvLmNyZWF0ZVNlbGVjdG9yKShbaSwoZSx0KT0+dF0sKChlLHQpPT5lP2VbdF06bnVsbCkpfSw3Nzk5MzkoZSx0LGEpe2Eucih0KSxhLmQodCx7YWRkV2F0Y2hsaXN0U3ltYm9sc1RodW5rOigpPT5GLGNyZWF0ZVdhdGNobGlzdFRodW5rOigpPT53LGdldEFjdGl2ZVdhdGNobGlzdFRodW5rOigpPT5KLGdldEN1c3RvbVdhdGNobGlzdHNUaHVuazooKT0+UCxwZXJzaXN0U2VwYXJhdG9yc0NvbGxhcHNlVGh1bms6KCk9PlgscHV0Q3VzdG9tV2F0Y2hsaXN0c1RodW5rOigpPT56LHJlbW92ZVdhdGNobGlzdFN5bWJvbHNUaHVuazooKT0+VixyZW1vdmVXYXRjaGxpc3RUaHVuazooKT0+VyxyZW5hbWVTZXBhcmF0b3JUaHVuazooKT0+SyxyZW5hbWVXYXRjaGxpc3RUaHVuazooKT0+RCxyZXBsYWNlV2F0Y2hsaXN0U3ltYm9sc1RodW5rOigpPT5VLHNhdmVDb2xsYXBzZWRTZXBhcmF0b3JzVGh1bms6KCk9Pkgsc2V0QWN0aXZlV2F0Y2hsaXN0VGh1bms6KCk9Plksc3ltYm9sTGlzdFJlcG9zaXRvcnlTYWdhOigpPT54LHZhbGlkYXRlV2F0Y2hMaXN0U3ltYm9sczooKT0+Qn0pO3ZhciBvPWEoNjE0ODI1KSxpPWEoMjMwMjExKSxuPWEoOTMwMjMxKSxzPWEoNzgzMjU0KSxyPWEoNzA1MDEyKSxsPWEoNTA4NzQ3KSxjPWEoMTIyMzA3KSx1PWEoMjIxMDYxKSxkPWEoMjM0OTY0KSxtPWEoMjE0OTg3KSxwPWEoMzY2MjYyKSxTPWEoNTE5NTE1KSxnPWEoNDc3NTg3KTtmdW5jdGlvbipoKCl7Zm9yKHlpZWxkKDAsby5wdXQpKCgwLGcuYXNBY3Rpb24pKEoobnVsbCkpKTs7KXt5aWVsZCgwLG8udGFrZSkoW2kucmVtb3ZlLGkuc2V0dXBdKTtjb25zdCBlPXlpZWxkKDAsby5zZWxlY3QpKCk7bnVsbD09PSgwLHAuZ2V0Q3VycmVudFZpZXdhYmxlTGlzdEJ5V2lkZ2V0SWQpKGUsUy5XQVRDSExJU1RfV0lER0VUX0lEKSYmKHlpZWxkKDAsby5wdXQpKCgwLGcuYXNBY3Rpb24pKEoobnVsbCkpKSl9fXZhciB2PWEoNjQ1OTMzKSxUPWEoNTQ4MTAzKSxFPWEoNzQxOTI0KSx5PWEoODMxNTI3KSxBPWEoMzIwNTUpLGs9YSgzODQwMTcpLGI9YSg5NjIwODEpLEw9YSgzMDQzOTkpLEk9YSg1ODA1MjYpO3ZhciBDPWEoNzcwNzU1KSxmPWEoNzYwMzkwKSxSPWEoMzEzMzAwKSxOPWEoNzMwMzU1KSxNPWEoMTYyMzM1KTtjb25zdCBfPSgwLHUuZ2V0TG9nZ2VyKSgiUGxhdGZvcm0uTW9kZWwuU3ltYm9sTGlzdHMiKTtmdW5jdGlvbip4KCl7eWllbGQoMCxvLmZvcmspKEUud2F0Y2hBdXRoKSwoMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKXx8KHlpZWxkKDAsby5mb3JrKShoKSl9ZnVuY3Rpb24gQihlKXtyZXR1cm4gbmV3IFByb21pc2UoKHQ9PnsoMCxBLnJlc29sdmVTeW1ib2xOYW1lRm9yQWxsRGlzdGluY3QpKGUpLnRoZW4oKGU9Pnt0KGUpfSkpfSkpfWZ1bmN0aW9uIE8oZSx0LG8peygwLGQuc2hvd1dhcm5pbmcpKHt0aXRsZTp0fHxzLnQobnVsbCx2b2lkIDAsYSgzODIwMjUpKSx0ZXh0OmV9LG8pfWZ1bmN0aW9uIHcoZSl7Y29uc3QgdD0oMCxyLnNlcnZpY2UpKGwuU1lNQk9MX0xJU1RfUkVQT1NJVE9SWV9CQUNLRU5EX1NFUlZJQ0UpO3JldHVybiBhc3luYyhhLG8pPT57dHJ5e2NvbnN0IG89KDAsVC5jcm9zc3RhYk1vbm90b25pY1RpbWVzdGFtcCkoKSxuPWF3YWl0IHQuY3JlYXRlV2F0Y2hMaXN0KGUpO3JldHVybiBudWxsPT09bj9udWxsOihhKCgwLGkuY3JlYXRlKSh7aWQ6bi5pZCxuYW1lOm4ubmFtZSxzeW1ib2xzOm4uc3ltYm9scyxwZXJzaXN0ZWRTdGF0ZTpuLnBlcnNpc3RlZFN0YXRlLGFjdGlvblRpbWVzdGFtcDpvfSkpLG4uaWQpfWNhdGNoKGUpe3JldHVybiJBcGlFcnJvcjpwbGFuX3N5bWJvbHNfbGltaXRfcmVhY2hlZCI9PT1lLm5hbWU/KCgwLEMub3BlblBheXdhbGwpKHtmZWF0dXJlOiJ3YXRjaGxpc3RTeW1ib2xzIn0pLG51bGwpOihPKGUubWVzc2FnZSksbnVsbCl9fX1jb25zdCBQPSgwLG0ucmVzcGVjdExhdGVzdCkoKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMoYSxvKT0+e3RyeXtjb25zdCBvPSgwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCksbj1hd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLHQuZ2V0Q3VzdG9tV2F0Y2hMaXN0cygpKSxzPURhdGUubm93KCk7YSgoMCxpLnNldHVwKSh7bGlzdHM6bi5tYXAoKGU9Pih7aWQ6ZS5pZCxuYW1lOmUubmFtZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLHN5bWJvbHM6ZS5zeW1ib2xzLHNoYXJlZDplLnNoYXJlZCxjb2xsYXBzZWRTZXBhcmF0b3JzOmUuY29sbGFwc2VkU2VwYXJhdG9ycyx0aW1lc3RhbXA6cywKcGVyc2lzdGVkU3RhdGU6ZS5wZXJzaXN0ZWRTdGF0ZSxsYXN0Q2hhbmdlVGltZXN0YW1wOm99KSkpLHRpbWVzdGFtcDpzfSkpfWNhdGNoKGUpeygwLG0uc2tpcEFib3J0RXJyb3IpKGUpfX19KSk7ZnVuY3Rpb24geihlLHQpe2NvbnN0IGE9KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMobyxuKT0+e3RyeXtjb25zdCBuPSgwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCkscz1hd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLGEucHV0V2F0Y2hMaXN0KHQpKTtvKCgwLGkucHV0KSh7aWQ6cy5pZCxuYW1lOnMubmFtZSxkZXNjcmlwdGlvbjpzLmRlc2NyaXB0aW9uLHN5bWJvbHM6cy5zeW1ib2xzLHNoYXJlZDpzLnNoYXJlZCxjb2xsYXBzZWRTZXBhcmF0b3JzOnMuY29sbGFwc2VkU2VwYXJhdG9ycyxwZXJzaXN0ZWRTdGF0ZTpzLnBlcnNpc3RlZFN0YXRlLGFjdGlvblRpbWVzdGFtcDpufSkpfWNhdGNoKGUpeygwLG0ucmV0aHJvd0Fib3J0RXJyb3IpKGUpLE8oZS5tZXNzYWdlKX19fWZ1bmN0aW9uIEQoZSx0LGEpe2NvbnN0IG89KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMobixzKT0+e24oKDAsaS5yZW5hbWUpKHtpZDp0LmlkLG5hbWU6YSxhY3Rpb25UaW1lc3RhbXA6KDAsVC5jcm9zc3RhYk1vbm90b25pY1RpbWVzdGFtcCkoKX0pKTtjb25zdCByPWF3YWl0KDAsbS5yZXNwZWN0QWJvcnQpKGUsby5yZW5hbWVXYXRjaExpc3QodCxhKSk7ciYmci5wZXJzaXN0ZWRTdGF0ZSYmbigoMCxpLnVwZGF0ZVBlcnNpc3RlZFN0YXRlKSh7W3QuaWRdOnIucGVyc2lzdGVkU3RhdGV9KSl9fWZ1bmN0aW9uIFUoZSx0LGEsbyl7Y29uc3Qgbj0oMCxyLnNlcnZpY2UpKGwuU1lNQk9MX0xJU1RfUkVQT1NJVE9SWV9CQUNLRU5EX1NFUlZJQ0UpO3JldHVybiBhc3luYyhzLHIpPT57aWYoImN1c3RvbSIhPT10LnR5cGUpcmV0dXJuIHZvaWQgXy5sb2dXYXJuKCJUcnlpbmcgdG8gbW9kaWZ5IG5vdCBhIGN1c3RvbSB3YXRjaGxpc3QiKTtpZihhLmxlbmd0aD5SLk1BWF9XQVRDSExJU1RfTEVOR1RIKXJldHVybiB2b2lkKDAsUi5zaG93TWF4TGltaXRFcnJvcikobyk7e2NvbnN0IGU9KDAscC5nZXRDdXN0b21MaXN0QnlJZCkocigpLHQuaWQpO2lmKGU/LnN5bWJvbHMubGVuZ3RoIT09YS5sZW5ndGgmJiFaKGEubGVuZ3RoKSlyZXR1cm59cygoMCxpLmV4YWN0KSh7aWQ6dC5pZCxzeW1ib2xzOmEsYWN0aW9uVGltZXN0YW1wOigwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCl9KSk7Y29uc3QgbD1hd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLG4ucmVwbGFjZVN5bWJvbHModCxhKSk7bCYmcygoMCxpLnVwZGF0ZVBlcnNpc3RlZFN0YXRlKSh7W3QuaWRdOntzeW1ib2xzOmx9fSkpfX1mdW5jdGlvbiBIKGUpe2NvbnN0IHQ9KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMoKT0+e2F3YWl0IHQucmVwbGFjZVN5bWJvbHMoZSxlLnN5bWJvbHMpfX1mdW5jdGlvbiBYKGUsdCxvKXtyZXR1cm4gYXN5bmMgaT0+e3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZhd2FpdCBhc3luYyBmdW5jdGlvbihlKXtjb25zdHtsaXN0OntpZDp0LHR5cGU6YSxzeW1ib2xzOm99LHNlcGFyYXRvcnM6aSx2YWx1ZTpuLHNpZ25hbDpzfT1lO2lmKDE9PT1pLmxlbmd0aCl7Y29uc3RbZV09aSxvPSgwLEkuc2VwYXJhdG9yUmVtb3RlUmVwcmVzZW50YXRpb24pKGUsIW4pLHM9KDAsSS5zZXBhcmF0b3JSZW1vdGVSZXByZXNlbnRhdGlvbikoZSxuKTtyZXR1cm4oMCxiLmNvbW1vblJlbmFtZVNlcGFyYXRvcikodCxhLG8scyl9Y29uc3Qgcj1uZXcgU2V0KGkpLGw9KDAsSS5yZW1vdGVTeW1ib2xzRm9ybUxvY2FsU3RhdGUpKHQsbykubWFwKCgoZSx0KT0+e2NvbnN0IGE9b1t0XTtyZXR1cm4gci5oYXMoYSk/KDAsSS5zZXBhcmF0b3JSZW1vdGVSZXByZXNlbnRhdGlvbikoYSxuKTplfSkpLGM9YXdhaXQoMCxrLmZldGNoKSgoMCxMLndhdGNobGlzdFVybCkoYC9hcGkvdjEvc3ltYm9sc19saXN0LyR7YX0vJHt0fS9yZXBsYWNlLz91bnNhZmU9dHJ1ZWApLHttZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkobCksY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sc2lnbmFsOnN9KTtpZighYy5vayl7Y29uc3R7ZGV0YWlsOmV9PWF3YWl0IGMuanNvbigpO3Rocm93IEVycm9yKGUpfX0oe2xpc3Q6ZSxzZXBhcmF0b3JzOnQsdmFsdWU6b30pLmNhdGNoKG0uc2tpcEFib3J0RXJyb3IpLmNhdGNoKChuPT57KDAsZC5zaG93V2FybmluZykoe3RpdGxlOnMudChudWxsLHZvaWQgMCxhKDg3MjM4KSksdGV4dDpuLm1lc3NhZ2V9KTtjb25zdCByPXt9O3QuZm9yRWFjaCgoZT0+e3JbZV09IW99KSksaSgoMCxNLnNldFNlcGFyYXRvcnNDb2xsYXBzZSkoe2xpc3RJZDplLmlkLHZhbHVlczpyLGFjdGlvblRpbWVzdGFtcDooMCxULmNyb3NzdGFiTW9ub3RvbmljVGltZXN0YW1wKSgpfSkpfSkpfX1mdW5jdGlvbiBGKGUsdCxhLG8pe2NvbnN0IG49KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMocyxyKT0+e2lmKCJjdXN0b20iPT09dC50eXBlKWlmKHQuc3ltYm9scy5sZW5ndGg+Ui5NQVhfV0FUQ0hMSVNUX0xFTkdUSCkoMCxSLnNob3dNYXhMaW1pdEVycm9yKShvKTtlbHNle3tjb25zdCBlPSgwLHAuZ2V0Q3VzdG9tTGlzdEJ5SWQpKHIoKSx0LmlkKTtpZighKDAsZi5pc0RlbGV0ZWRTeW1ib2xzTGlzdCkodC5pZCkmJmU/LnN5bWJvbHMubGVuZ3RoIT09dC5zeW1ib2xzLmxlbmd0aCYmIVoodC5zeW1ib2xzLmxlbmd0aCkpcmV0dXJufXMoKDAsaS5pbnNlcnQpKHtpZDp0LmlkLHN5bWJvbHM6YSxhY3Rpb25UaW1lc3RhbXA6KDAsVC5jcm9zc3RhYk1vbm90b25pY1RpbWVzdGFtcCkoKX0pKTt0cnl7Y29uc3Qgbz1hd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLG4uYWRkU3ltYm9scyh0LGEpKTtzKCgwLAppLnVwZGF0ZVBlcnNpc3RlZFN0YXRlKSh7W3QuaWRdOntzeW1ib2xzOm99fSkpfWNhdGNoKGUpe2lmKCgwLG0uaXNBYm9ydEVycm9yKShlKSl0aHJvdyBlO2NvbnN0IG49dC5zeW1ib2xzLmZpbHRlcigoZT0+IWEuaW5jbHVkZXMoZSkpKTtpZihzKCgwLGkuZXhhY3QpKHtpZDp0LmlkLHN5bWJvbHM6bixhY3Rpb25UaW1lc3RhbXA6KDAsVC5jcm9zc3RhYk1vbm90b25pY1RpbWVzdGFtcCkoKX0pKSwiQXBpRXJyb3I6cGxhbl9zeW1ib2xzX2xpbWl0X3JlYWNoZWQiPT09ZS5uYW1lKXJldHVybiB2b2lkKDAsQy5vcGVuUGF5d2FsbCkoe2ZlYXR1cmU6IndhdGNobGlzdFN5bWJvbHMifSk7TyhlLm1lc3NhZ2Usdm9pZCAwLG8pfX1lbHNlIF8ubG9nV2FybigiVHJ5aW5nIHRvIG1vZGlmeSBub3QgYSBjdXN0b20gd2F0Y2hsaXN0Iil9fWZ1bmN0aW9uIFYoZSx0LGEpe2NvbnN0IG89KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMobixzKT0+e24oKDAsaS5leGNsdWRlKSh7aWQ6dC5pZCxzeW1ib2xzOmEsYWN0aW9uVGltZXN0YW1wOigwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCl9KSk7Y29uc3Qgcj1hd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLG8ucmVtb3ZlU3ltYm9scyh0LGEpKTtuKCgwLGkudXBkYXRlUGVyc2lzdGVkU3RhdGUpKHtbdC5pZF06e3N5bWJvbHM6cn19KSl9fWZ1bmN0aW9uIFcoZSx0KXtjb25zdCBhPSgwLHIuc2VydmljZSkobC5TWU1CT0xfTElTVF9SRVBPU0lUT1JZX0JBQ0tFTkRfU0VSVklDRSk7cmV0dXJuIGFzeW5jKG8sbik9Pnthd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLGEucmVtb3ZlV2F0Y2hMaXN0KHQpKSxvKCgwLGkucmVtb3ZlKSh7aWQ6dC5pZH0pKX19ZnVuY3Rpb24gWShlLHQpe2NvbnN0IGE9KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMobyxuKT0+e2NvbnN0e2lkOnN9PXQ7bygoMCxjLnVwZGF0ZUFjdGl2ZUxpc3QpKHQpKTtjb25zdCByPWF3YWl0KDAsbS5yZXNwZWN0QWJvcnQpKGUsYS5zZXRBY3RpdmUodCkpO3ImJigwLHYuaXNDdXN0b21MaXN0KShyKSYmci5wZXJzaXN0ZWRTdGF0ZSYmbygoMCxpLnVwZGF0ZVBlcnNpc3RlZFN0YXRlKSh7W3NdOnIucGVyc2lzdGVkU3RhdGV9KSl9fWZ1bmN0aW9uIEcoZSx0LGEpe3JldHVybiBhc3luYyhvLG4pPT57Y29uc3Qgcz0oMCxOLnNlcGFyYXRvcklzQ29sbGFwc2VkQnlMaXN0SWRTZWxlY3RvcikobigpLGUsdCk7bygoMCxpLnJlcGxhY2UpKHtpZDplLGN1cnJlbnQ6dCxuZXh0OmEsYWN0aW9uVGltZXN0YW1wOigwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCl9KSkscyYmbygoMCxNLnNldFNlcGFyYXRvcnNDb2xsYXBzZSkoe2xpc3RJZDplLHZhbHVlczp7W2FdOiEwLFt0XTohMX0sYWN0aW9uVGltZXN0YW1wOigwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCl9KSl9fWZ1bmN0aW9uIEsoZSx0LGEsbyl7Y29uc3Qgbj0oMCxyLnNlcnZpY2UpKGwuU1lNQk9MX0xJU1RfUkVQT1NJVE9SWV9CQUNLRU5EX1NFUlZJQ0UpO3JldHVybiBhc3luYyhzLHIpPT57ImN1c3RvbSI9PT10LnR5cGU/KHMoRyh0LmlkLGEsbykpLGF3YWl0KDAsbS5yZXNwZWN0QWJvcnQpKGUsbi5yZW5hbWVTZXBhcmF0b3IodC5pZCxhLG8pLnRoZW4oKGU9PntlJiZzKCgwLGkudXBkYXRlUGVyc2lzdGVkU3RhdGUpKHtbdC5pZF06e3N5bWJvbHM6ZX19KSl9KSkuY2F0Y2gobS5za2lwQWJvcnRFcnJvcikuY2F0Y2goKGU9PntPKGUubWVzc2FnZSkscyhHKHQuaWQsbyxhKSl9KSkpKTpfLmxvZ1dhcm4oIlRyeWluZyB0byBtb2RpZnkgbm90IGEgY3VzdG9tIHdhdGNobGlzdCIpfX1jb25zdCBKPSgwLG0ucmVzcGVjdExhdGVzdCkoKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsci5zZXJ2aWNlKShsLlNZTUJPTF9MSVNUX1JFUE9TSVRPUllfQkFDS0VORF9TRVJWSUNFKTtyZXR1cm4gYXN5bmMoYSxvKT0+e3RyeXtjb25zdCBvPSgwLFQuY3Jvc3N0YWJNb25vdG9uaWNUaW1lc3RhbXApKCksbj1hd2FpdCgwLG0ucmVzcGVjdEFib3J0KShlLHQuZ2V0QWN0aXZlKCkpO2lmKCJjb2xvcmVkIj09PW4udHlwZSl7Y29uc3QgdD0oMCx5LmdldE1hcmtlZFN5bWJvbHNMaXN0U2VydmljZUluc3RhbmNlKSgpO3QuaXNJbml0ZWQoKXx8YXdhaXQoMCxtLnJlc3BlY3RBYm9ydCkoZSxuZXcgUHJvbWlzZSgoZT0+e3Qub25Jbml0KGUpfSkpKSxhKCgwLGMudXBkYXRlQWN0aXZlTGlzdCkoe3R5cGU6ImNvbG9yIixpZDpuLmNvbG9yfSkpfWVsc2UiY3VzdG9tIj09PW4udHlwZT8oImN1c3RvbSI9PT1uLnR5cGUmJihuLnN5bWJvbHM9YXdhaXQoMCxtLnJlc3BlY3RBYm9ydCkoZSxCKG4uc3ltYm9scykpKSxhKCgwLGkucHV0KSh7aWQ6bi5pZCxuYW1lOm4ubmFtZSxkZXNjcmlwdGlvbjpuLmRlc2NyaXB0aW9uLHN5bWJvbHM6bi5zeW1ib2xzLHNoYXJlZDpuLnNoYXJlZCxjb2xsYXBzZWRTZXBhcmF0b3JzOm4uY29sbGFwc2VkU2VwYXJhdG9ycyxwZXJzaXN0ZWRTdGF0ZTpuLnBlcnNpc3RlZFN0YXRlLGFjdGlvblRpbWVzdGFtcDpvfSkpLGEoKDAsYy51cGRhdGVBY3RpdmVMaXN0KSh7dHlwZToiY3VzdG9tIixpZDpuLmlkfSkpKToiaG90Ij09PW4udHlwZSYmKGEoKDAsYy5hZGRPclVwZGF0ZVN5bWJvbExpc3QpKG4pKSxuLmV4Y2hhbmdlJiZuLmdyb3VwJiZhKCgwLGMudXBkYXRlQWN0aXZlTGlzdCkoe3R5cGU6ImhvdCIsZXhjaGFuZ2U6bi5leGNoYW5nZSxncm91cDpuLmdyb3VwLGlkOm4uaWR9KSkpfWNhdGNoKGUpeygwLG0uc2tpcEFib3J0RXJyb3IpKGUpfX19KSk7ZnVuY3Rpb24gWihlKXtjb25zdCB0PSgwLFIuZ2V0V2F0Y2hsaXN0U3ltYm9sc0xpbWl0KSgpO3JldHVybiEodCYmZT50KXx8KCgwLEMub3BlblBheXdhbGwpKHtmZWF0dXJlOiJ3YXRjaGxpc3RTeW1ib2xzIn0pLCExKX19LDQ3NzU4NyhlLHQsYSl7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZX1hLmQodCx7YXNBY3Rpb246KCk9Pm99KX0sMzY2MjYyKGUsdCxhKXthLnIodCksYS5kKHQse2NvbHVtbnNTZWxlY3RvcjooKT0+aywKY3VycmVudEhvdExpc3RTZWxlY3RvcjooKT0+QixnZXRDdXJyZW50Vmlld2FibGVMaXN0QnlXaWRnZXRJZDooKT0+eCxnZXRDdXN0b21MaXN0QnlJZDooKT0+TixnZXRDdXN0b21MaXN0czooKT0+QyxnZXRDdXN0b21MaXN0c01hcDooKT0+UixnZXRDdXN0b21MaXN0c1N0YXRlOigpPT5tLGdldEdsb2JhbEFjdGl2ZUlEOigpPT5oLGdldEdsb2JhbEFjdGl2ZVN5bWJvbExpc3Q6KCk9Pl8sZ2V0SXNSZWFkeUN1c3RvbUxpc3RzOigpPT5mLGdldE1hcmtlZExpc3RzTWFwOigpPT5NLGhpZ2hsaWdodGVkU3ltYm9sc1NlbGVjdG9yOigpPT5BLGlzQXV0aGVudGljYXRlZFNlbGVjdG9yOigpPT5wLGlzTG9hZGluZ1NlbGVjdG9yOigpPT5PLG1ha2VHZXRJc0NvbnRhaW5lZEJ5TXVsdGlTZWxlY3Rpb246KCk9PlAscG9zaXRpb25TZWxlY3RvcjooKT0+dyxzY3JvbGxUb0lkU2VsZWN0b3I6KCk9PkUsc2VsZWN0ZWRTeW1ib2xzU2VsZWN0b3I6KCk9PlQsc2hvdWxkRGlzcGxheVBvc2l0aW9uc1NlbGVjdG9yOigpPT5JLHNvcnRpbmdTZWxlY3RvcjooKT0+eSx0aWNrZXJUeXBlU2VsZWN0b3I6KCk9PmIsd2lkZ2V0T3B0aW9uc1NlbGVjdG9yOigpPT5MLHdpZGdldFNlbGVjdG9yOigpPT52fSk7dmFyIG89YSgzNjQzNTApLGk9YSgxMzg2MzgpLG49YSgyMzAyMTEpLHM9YSg3MTIxMzQpLHI9YSg1MDA1MTQpLGw9YSg0NDM4MjcpLGM9YSg5Nzk1NzkpLHU9YSg4NzEwMjEpLGQ9YSg2NDU5MzMpO2Z1bmN0aW9uIG0oZSl7cmV0dXJuIGUuY3VzdG9tTGlzdHN9Y29uc3QgcD1lPT5lLmlzQXV0aGVudGljYXRlZCxTPWU9PmUud2lkZ2V0cyxnPShlLHQpPT50LGg9ZT0+ZS5hY3RpdmVTeW1ib2xMaXN0Py5pZD8/bnVsbCx2PSgwLG8uY3JlYXRlU2VsZWN0b3IpKFtTLGddLCgoZSx0KT0+ZVt0XXx8e30pKSxUPSgwLG8uY3JlYXRlU2VsZWN0b3IpKHYsKGU9PmUuc2VsZWN0ZWRTeW1ib2xzfHxbXSkpLEU9KDAsby5jcmVhdGVTZWxlY3RvcikodiwoZT0+ZS5zY3JvbGxUb0lkKSkseT0oMCxvLmNyZWF0ZVNlbGVjdG9yKSh2LChlPT5lLnNvcnRpbmd8fG51bGwpKSxBPSgwLG8uY3JlYXRlU2VsZWN0b3IpKHYsKGU9PmUuaGlnaGxpZ2h0ZWRTeW1ib2xzfHxudWxsKSksaz0oMCxvLmNyZWF0ZVNlbGVjdG9yKSh2LChlPT5lLmNvbHVtbnMpKSxiPSgwLG8uY3JlYXRlU2VsZWN0b3IpKHYsKGU9PmUudGlja2VyVHlwZSkpLEw9KDAsby5jcmVhdGVTZWxlY3RvcikodiwoZT0+ZS5vcHRpb25zfHx7fSkpLEk9KDAsby5jcmVhdGVTZWxlY3RvcikoW0wscF0sKChlLHQpPT5lLnNob3VsZERpc3BsYXlQb3NpdGlvbnMmJnQpKSxDPSgwLG8uY3JlYXRlU2VsZWN0b3IpKG0sKGU9PigwLG4uZ2V0TGlzdElkcykoZSkubWFwKCh0PT4oMCxkLm1ha2VDdXN0b21MaXN0RnJvbVJlY29yZCkoKDAsaS5lbnN1cmVOb3ROdWxsKSgoMCxuLmdldExpc3RCeUlkKShlLHQpKSkpKSkpLGY9KDAsby5jcmVhdGVTZWxlY3RvcikoW21dLChlPT5udWxsIT09ZS50aW1lc3RhbXApKSxSPSgwLG8uY3JlYXRlU2VsZWN0b3IpKFttXSxuLmdldExpc3RzTWFwKSxOPSgwLG8uY3JlYXRlU2VsZWN0b3IpKFttLChlLHQpPT50XSwoKGUsdCk9Pntjb25zdCBhPSgwLG4uZ2V0TGlzdEJ5SWQpKGUsdCk7cmV0dXJuIG51bGw9PT1hP251bGw6KDAsZC5tYWtlQ3VzdG9tTGlzdEZyb21SZWNvcmQpKGEpfSkpLE09KDAsby5jcmVhdGVTZWxlY3RvcikoW3IuZ2V0TWFya2VkTGlzdHNTdGF0ZV0sKGU9PmU/ZS5saXN0cy5ieUNvbG9yOm51bGwpKSxfPSgwLG8uY3JlYXRlU2VsZWN0b3IpKFt1LmhvdExpc3RzU2VsZWN0b3IsbSxyLmdldE1hcmtlZExpc3RzU3RhdGUsaF0sKChlLHQsYSxvKT0+e2lmKG51bGw9PT1vKXJldHVybiBudWxsO2lmKG51bGwhPT1hJiYoMCxzLmlzTGlzdENvbG9yKShvKSl7Y29uc3QgZT0oMCxzLmdldExpc3RCeUNvbG9yKShhLG8pO3JldHVybiBudWxsPT09ZT9udWxsOigwLGwubWFrZU1hcmtlZExpc3RGcm9tUmVjb3JkKShlKX1pZigoMCxjLmlzSG90TGlzdElkKShvKSl7Y29uc3QgdD1lPy5bb107cmV0dXJuIHQ/e2lkOnQuaWQsbmFtZTp0Lm5hbWUsdHlwZTp0LnR5cGUsZ3JvdXA6dC5ncm91cCxleGNoYW5nZTp0LmV4Y2hhbmdlLHN5bWJvbHM6dC5zeW1ib2xzfTpudWxsfWNvbnN0IGk9KDAsbi5nZXRMaXN0QnlJZCkodCxvKTtyZXR1cm4gbnVsbCE9PWk/KDAsZC5tYWtlQ3VzdG9tTGlzdEZyb21SZWNvcmQpKGkpOm51bGx9KSkseD0oMCxvLmNyZWF0ZVNlbGVjdG9yKShbdS5ob3RMaXN0c1NlbGVjdG9yLG0sci5nZXRNYXJrZWRMaXN0c1N0YXRlLFMsZ10sKChlLHQsYSxvLGkpPT57Y29uc3Qgcj1vW2ldO2lmKHZvaWQgMD09PXIpcmV0dXJuIG51bGw7Y29uc3QgdT1yLmxpc3RJZDtpZihudWxsPT09dSlyZXR1cm4gbnVsbDtpZihudWxsIT09YSYmKDAscy5pc0xpc3RDb2xvcikodSkpe2NvbnN0IGU9KDAscy5nZXRMaXN0QnlDb2xvcikoYSx1KTtyZXR1cm4gbnVsbD09PWU/bnVsbDooMCxsLm1ha2VNYXJrZWRMaXN0RnJvbVJlY29yZCkoZSl9aWYoKDAsYy5pc0hvdExpc3RJZCkodSkpe2NvbnN0IHQ9ZT8uW3VdO3JldHVybiB0P3tpZDp0LmlkLG5hbWU6dC5uYW1lLHR5cGU6dC50eXBlLGdyb3VwOnQuZ3JvdXAsZXhjaGFuZ2U6dC5leGNoYW5nZSxzeW1ib2xzOnQuc3ltYm9sc306bnVsbH1jb25zdCBtPSgwLG4uZ2V0TGlzdEJ5SWQpKHQsdSk7cmV0dXJuIG51bGwhPT1tPygwLGQubWFrZUN1c3RvbUxpc3RGcm9tUmVjb3JkKShtKTpudWxsfSkpO2Z1bmN0aW9uIEIoZSx0KXtjb25zdCBhPXgoZSx0KTtyZXR1cm4iaG90IiE9PWE/LnR5cGU/bnVsbDphfWNvbnN0IE89KDAsby5jcmVhdGVTZWxlY3RvcikoW3YseF0sKChlLHQpPT5udWxsPT09dHx8ZS5pc0xvYWRpbmd8fCExKSksdz0oMCxvLmNyZWF0ZVNlbGVjdG9yKShbZT0+ZS5wb3NpdGlvbnMsKGUsdCk9PnRdLCgoZSx0KT0+ZVt0XSkpO2Z1bmN0aW9uIFAoKXtjb25zdCBlPSgwLG8uY3JlYXRlU2VsZWN0b3IpKFsoZSx0KT0+dC53aWRnZXRJZCxlPT5lLndpZGdldHNdLCgoZSx0KT0+dFtlXSkpLHQ9KDAsby5jcmVhdGVTZWxlY3RvcikoZSwoZT0+ZS5zZWxlY3RlZFN5bWJvbHN8fFtdKSksYT0oMCwKby5jcmVhdGVTZWxlY3RvcikodCwoZT0+bmV3IFNldChlKSkpO3JldHVybigwLG8uY3JlYXRlU2VsZWN0b3IpKFthLChlLHQpPT50LnN5bWJvbF0sKChlLHQpPT5lLnNpemU+MSYmZS5oYXModCkpKX19LDQyOTk5MihlLHQsYSl7YS5yKHQpLGEuZCh0LHtnZXRMaXN0U3ltYm9sc0J5Q29sb3I6KCk9PmMsZ2V0TWFya2VkTGlzdEJ5Q29sb3I6KCk9PmwsZ2V0TWFya2VkTGlzdHM6KCk9PnJ9KTt2YXIgbz1hKDM2NDM1MCksaT1hKDcxMjEzNCksbj1hKDUwMDUxNCkscz1hKDQ0MzgyNyk7Y29uc3Qgcj0oMCxvLmNyZWF0ZVNlbGVjdG9yKShbbi5nZXRNYXJrZWRMaXN0c1N0YXRlXSwoZT0+e2NvbnN0IHQ9W107aWYobnVsbCE9PWUpZm9yKGNvbnN0IGEgb2YgaS5MSVNUX0NPTE9SUyl7Y29uc3Qgbz0oMCxpLmdldExpc3RCeUNvbG9yKShlLGEpO251bGwhPT1vJiZ0LnB1c2goKDAscy5tYWtlTWFya2VkTGlzdEZyb21SZWNvcmQpKG8pKX1yZXR1cm4gdH0pKSxsPSgwLG8uY3JlYXRlU2VsZWN0b3IpKFtuLmdldE1hcmtlZExpc3RzU3RhdGUsKGUsdCk9PnRdLCgoZSx0KT0+e2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IGE9KDAsaS5nZXRMaXN0QnlDb2xvcikoZSx0KTtyZXR1cm4gbnVsbD09PWE/bnVsbDooMCxzLm1ha2VNYXJrZWRMaXN0RnJvbVJlY29yZCkoYSl9KSksYz0oMCxvLmNyZWF0ZVNlbGVjdG9yKShbbF0sKGU9PmU/LnN5bWJvbHM/P251bGwpKX0sMjMwMjExKGUsdCxhKXthLmQodCx7Y2hhbmdlRGVzY3JpcHRpb246KCk9PkUsY3JlYXRlOigpPT5oLGNyZWF0ZUNyb3NzVGFiU3luY01pZGRsZXdhcmU6KCk9PmIsZXhhY3Q6KCk9PnAsZXhjbHVkZTooKT0+UyxnZXRMaXN0QnlJZDooKT0+SSxnZXRMaXN0SWRzOigpPT5DLGdldExpc3RzTWFwOigpPT5MLGluc2VydDooKT0+ZCxwdXQ6KCk9PnYscmVkdWNlcjooKT0+ayxyZW1vdmU6KCk9PmcscmVuYW1lOigpPT5ULHJlcGxhY2U6KCk9Pm0sc2V0dXA6KCk9PnUsc2hhcmU6KCk9PnksdXBkYXRlUGVyc2lzdGVkU3RhdGU6KCk9PkF9KTt2YXIgbz1hKDEzMDY5OSksaT1hKDQzMzIwKSxuPWEoNjEyNDQ2KSxzPWEoOTczNTI0KTtjb25zdCByPXtsaXN0czp7aWRzOltdLGJ5SWQ6e319LHRpbWVzdGFtcDpudWxsfTtmdW5jdGlvbiBsKGUsdCl7ZS5saXN0cy5pZHMucHVzaCh0LmlkKSxlLmxpc3RzLmJ5SWRbdC5pZF09e2lkOnQuaWQsbmFtZTp0Lm5hbWUsZGVzY3JpcHRpb246dC5kZXNjcmlwdGlvbixzeW1ib2xzOlsuLi50LnN5bWJvbHNdLHNoYXJlZDp0LnNoYXJlZCx0aW1lc3RhbXA6dC50aW1lc3RhbXAsY29sbGFwc2VkU2VwYXJhdG9yczp0LmNvbGxhcHNlZFNlcGFyYXRvcnMscGVyc2lzdGVkU3RhdGU6dC5wZXJzaXN0ZWRTdGF0ZSxsYXN0Q2hhbmdlVGltZXN0YW1wOnQubGFzdENoYW5nZVRpbWVzdGFtcH19Y29uc3QgYz0oMCxvLmNyZWF0ZVNsaWNlKSh7bmFtZToiY3VzdG9tLWxpc3RzIixpbml0aWFsU3RhdGU6cixyZWR1Y2Vyczp7c2V0dXA6KGUsdCk9Pntjb25zdHtsaXN0czphLHRpbWVzdGFtcDpvfT10LnBheWxvYWQsaT1uZXcgU2V0KGEubWFwKChlPT5lLmlkKSkpLG49bmV3IFNldChlLmxpc3RzLmlkcy5maWx0ZXIoKGU9PiFpLmhhcyhlKSkpKTtmb3IoY29uc3QgdCBvZiBuKWRlbGV0ZSBlLmxpc3RzLmJ5SWRbdF07ZS5saXN0cy5pZHM9Wy4uLmldO2Zvcihjb25zdCB0IG9mIGEpe2NvbnN0IGE9SShlLHQuaWQpO2lmKGEpe2lmKGEubGFzdENoYW5nZVRpbWVzdGFtcD49dC5sYXN0Q2hhbmdlVGltZXN0YW1wKWNvbnRpbnVlO2EubmFtZT10Lm5hbWUsYS5kZXNjcmlwdGlvbj10LmRlc2NyaXB0aW9uLGEuc3ltYm9scz1bLi4udC5zeW1ib2xzXSxhLnNoYXJlZD10LnNoYXJlZCxhLnRpbWVzdGFtcD10LnRpbWVzdGFtcCxhLmNvbGxhcHNlZFNlcGFyYXRvcnM9dC5jb2xsYXBzZWRTZXBhcmF0b3JzLGEucGVyc2lzdGVkU3RhdGU9dC5wZXJzaXN0ZWRTdGF0ZSx2b2lkIDAhPT10Lmxhc3RDaGFuZ2VUaW1lc3RhbXAmJihhLmxhc3RDaGFuZ2VUaW1lc3RhbXA9dC5sYXN0Q2hhbmdlVGltZXN0YW1wKX1lbHNlIGUubGlzdHMuYnlJZFt0LmlkXT17aWQ6dC5pZCxuYW1lOnQubmFtZSxkZXNjcmlwdGlvbjp0LmRlc2NyaXB0aW9uLHN5bWJvbHM6Wy4uLnQuc3ltYm9sc10sc2hhcmVkOnQuc2hhcmVkLHRpbWVzdGFtcDp0LnRpbWVzdGFtcCxjb2xsYXBzZWRTZXBhcmF0b3JzOnQuY29sbGFwc2VkU2VwYXJhdG9ycyxwZXJzaXN0ZWRTdGF0ZTp0LnBlcnNpc3RlZFN0YXRlLGxhc3RDaGFuZ2VUaW1lc3RhbXA6dC5sYXN0Q2hhbmdlVGltZXN0YW1wfX1lLnRpbWVzdGFtcD1vfSxpbnNlcnQ6KGUsdCk9Pntjb25zdHtpZDphLHN5bWJvbHM6byxiZWZvcmU6aSxhY3Rpb25UaW1lc3RhbXA6cn09dC5wYXlsb2FkLHtsaXN0czpsfT1lLGM9bC5ieUlkW2FdO2lmKHZvaWQgMD09PWMpcmV0dXJuO2lmKGMubGFzdENoYW5nZVRpbWVzdGFtcD49cilyZXR1cm47Y29uc3QgdT1uZXcgU2V0KG8pO2xldCBkO2lmKHZvaWQgMCE9PWkmJnUuaGFzKGkpKXtkPXMuTElTVF9TVEFSVDtmb3IobGV0IGU9Yy5zeW1ib2xzLmluZGV4T2YoaSk7ZT49MDstLWUpaWYoIXUuaGFzKGMuc3ltYm9sc1tlXSkpe2Q9Yy5zeW1ib2xzW2VdO2JyZWFrfX1jb25zdCBtPWMuc3ltYm9scy5maWx0ZXIoKGU9PiF1LmhhcyhlKSkpLHA9KDAscy5nZXRUYXJnZXRJbmRleCkobSxpLGQpO3ZvaWQgMD09PXA/bS5wdXNoKC4uLnUpOm0uc3BsaWNlKHAsMCwuLi51KSwoMCxuLmVxdWFsQXJyYXlzKShtLGMuc3ltYm9scyl8fChjLnN5bWJvbHM9bSx2b2lkIDAhPT1yJiYoYy5sYXN0Q2hhbmdlVGltZXN0YW1wPXIpKX0scmVwbGFjZTooZSx0KT0+e2NvbnN0e2lkOmEsY3VycmVudDpvLG5leHQ6aSxhY3Rpb25UaW1lc3RhbXA6bn09dC5wYXlsb2FkLHtsaXN0czpzfT1lLHI9cy5ieUlkW2FdO2lmKHZvaWQgMD09PXIpcmV0dXJuO2lmKHIubGFzdENoYW5nZVRpbWVzdGFtcD49bilyZXR1cm47aWYobz09PWkpcmV0dXJuO2xldCBsPSExLGM9ITE7Y29uc3QgdT1bXTtmb3IoY29uc3QgZSBvZiByLnN5bWJvbHMpe2lmKGU9PT1pKXtjPSEwO2JyZWFrfWU9PT1vPyh1LnB1c2goaSksbD0hMCk6dS5wdXNoKGUpfQpsJiYhYyYmKHIuc3ltYm9scz11LHZvaWQgMCE9PW4mJihyLmxhc3RDaGFuZ2VUaW1lc3RhbXA9bikpfSxleGFjdDooZSx0KT0+e2NvbnN0e2lkOmEsc3ltYm9sczpvLGFjdGlvblRpbWVzdGFtcDppfT10LnBheWxvYWQse2xpc3RzOnN9PWUscj1zLmJ5SWRbYV07aWYodm9pZCAwPT09cilyZXR1cm47aWYoci5sYXN0Q2hhbmdlVGltZXN0YW1wPj1pKXJldHVybjtjb25zdCBsPVsuLi5uZXcgU2V0KG8pXTsoMCxuLmVxdWFsQXJyYXlzKShsLHIuc3ltYm9scyl8fChyLnN5bWJvbHM9bCx2b2lkIDAhPT1pJiYoci5sYXN0Q2hhbmdlVGltZXN0YW1wPWkpKX0sZXhjbHVkZTooZSx0KT0+e2NvbnN0e2lkOmEsc3ltYm9sczpvLGFjdGlvblRpbWVzdGFtcDppfT10LnBheWxvYWQse2xpc3RzOnN9PWUscj1zLmJ5SWRbYV07aWYodm9pZCAwPT09cilyZXR1cm47aWYoci5sYXN0Q2hhbmdlVGltZXN0YW1wPj1pKXJldHVybjtjb25zdCBsPW5ldyBTZXQobyksYz1yLnN5bWJvbHMuZmlsdGVyKChlPT4hbC5oYXMoZSkpKTsoMCxuLmVxdWFsQXJyYXlzKShjLHIuc3ltYm9scyl8fChyLnN5bWJvbHM9Yyx2b2lkIDAhPT1pJiYoci5sYXN0Q2hhbmdlVGltZXN0YW1wPWkpKX0scmVtb3ZlOihlLHQpPT57Y29uc3R7aWQ6YX09dC5wYXlsb2FkLHtsaXN0czpvfT1lO2lmKHZvaWQgMD09PW8uYnlJZFthXSlyZXR1cm47Y29uc3QgaT1vLmlkcy5maWx0ZXIoKGU9PmUhPT1hKSk7by5pZHM9aSxkZWxldGUgby5ieUlkW2FdfSxjcmVhdGU6KGUsdCk9Pntjb25zdHtpZDphLG5hbWU6byxzeW1ib2xzOmkscGVyc2lzdGVkU3RhdGU6bixhY3Rpb25UaW1lc3RhbXA6c309dC5wYXlsb2FkLHtsaXN0czpyfT1lO3ZvaWQgMD09PXIuYnlJZFthXSYmbChlLHtpZDphLG5hbWU6byxzeW1ib2xzOmksc2hhcmVkOiExLGRlc2NyaXB0aW9uOm51bGwsdGltZXN0YW1wOm51bGwscGVyc2lzdGVkU3RhdGU6bixsYXN0Q2hhbmdlVGltZXN0YW1wOnN9KX0scHV0OihlLHQpPT57Y29uc3R7aWQ6YSxuYW1lOm8sZGVzY3JpcHRpb246aSxzeW1ib2xzOm4sc2hhcmVkOnMsdGltZXN0YW1wOnIsY29sbGFwc2VkU2VwYXJhdG9yczpjLHBlcnNpc3RlZFN0YXRlOnUsYWN0aW9uVGltZXN0YW1wOmR9PXQucGF5bG9hZCx7bGlzdHM6bX09ZSxwPW0uYnlJZFthXTtpZih2b2lkIDA9PT1wKWwoZSx7aWQ6YSxuYW1lOm8sZGVzY3JpcHRpb246aSxzeW1ib2xzOm4sc2hhcmVkOnMsdGltZXN0YW1wOnI/P251bGwscGVyc2lzdGVkU3RhdGU6dSxsYXN0Q2hhbmdlVGltZXN0YW1wOmR9KTtlbHNle2lmKHAubGFzdENoYW5nZVRpbWVzdGFtcD49ZClyZXR1cm47bS5ieUlkW2FdPXtpZDphLG5hbWU6byxkZXNjcmlwdGlvbjppLHNoYXJlZDpzLHRpbWVzdGFtcDpyPz9udWxsLHN5bWJvbHM6Wy4uLm5dLGNvbGxhcHNlZFNlcGFyYXRvcnM6YyxwZXJzaXN0ZWRTdGF0ZTp1LGxhc3RDaGFuZ2VUaW1lc3RhbXA6ZD8/cC5sYXN0Q2hhbmdlVGltZXN0YW1wfX19LHJlbmFtZTooZSx0KT0+e2NvbnN0e2lkOmEsbmFtZTpvLGFjdGlvblRpbWVzdGFtcDppfT10LnBheWxvYWQse2xpc3RzOm59PWUscz1uLmJ5SWRbYV07dm9pZCAwIT09cyYmKHMubGFzdENoYW5nZVRpbWVzdGFtcD49aXx8cy5uYW1lIT09byYmKHMubmFtZT1vLHZvaWQgMCE9PWkmJihzLmxhc3RDaGFuZ2VUaW1lc3RhbXA9aSkpKX0sY2hhbmdlRGVzY3JpcHRpb246KGUsdCk9Pntjb25zdHtpZDphLGRlc2NyaXB0aW9uOm8sYWN0aW9uVGltZXN0YW1wOml9PXQucGF5bG9hZCx7bGlzdHM6bn09ZSxzPW4uYnlJZFthXTt2b2lkIDAhPT1zJiYocy5sYXN0Q2hhbmdlVGltZXN0YW1wPj1pfHxzLmRlc2NyaXB0aW9uIT09byYmKHMuZGVzY3JpcHRpb249byx2b2lkIDAhPT1pJiYocy5sYXN0Q2hhbmdlVGltZXN0YW1wPWkpKSl9LHNoYXJlOihlLHQpPT57Y29uc3R7aWQ6YSxzaGFyZWQ6byxhY3Rpb25UaW1lc3RhbXA6aX09dC5wYXlsb2FkLHtsaXN0czpufT1lLHM9bi5ieUlkW2FdO3ZvaWQgMCE9PXMmJihzLmxhc3RDaGFuZ2VUaW1lc3RhbXA+PWl8fHMuc2hhcmVkIT09byYmKHMuc2hhcmVkPW8sdm9pZCAwIT09aSYmKHMubGFzdENoYW5nZVRpbWVzdGFtcD1pKSkpfSx1cGRhdGVQZXJzaXN0ZWRTdGF0ZTooZSx0KT0+e2NvbnN0e2xpc3RzOmF9PWU7YS5pZHMuZm9yRWFjaCgoZT0+e2NvbnN0IG89YS5ieUlkW2VdLGk9dC5wYXlsb2FkW2VdO3ZvaWQgMCE9PW8mJm8ucGVyc2lzdGVkU3RhdGUmJmkmJihvLnBlcnNpc3RlZFN0YXRlPXsuLi5vLnBlcnNpc3RlZFN0YXRlLC4uLml9KX0pKX19fSkse3NldHVwOnUsaW5zZXJ0OmQscmVwbGFjZTptLGV4YWN0OnAsZXhjbHVkZTpTLHJlbW92ZTpnLGNyZWF0ZTpoLHB1dDp2LHJlbmFtZTpULGNoYW5nZURlc2NyaXB0aW9uOkUsc2hhcmU6eSx1cGRhdGVQZXJzaXN0ZWRTdGF0ZTpBfT1jLmFjdGlvbnMse3JlZHVjZXI6a309YztmdW5jdGlvbiBiKGUsdCxhPWMpe3JldHVybigwLGkuY3JlYXRlQ3Jvc3NUYWJTeW5jTWlkZGxld2FyZSkoe2lkOmUsY2hhbm5lbDp0LGV2ZW50OiJjdXN0b20tbGlzdC1jcm9zcy10YWItc3luYyIsZmlsdGVyOmU9PmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQuYWN0aW9ucy5zZXR1cC5tYXRjaChlKXx8dC5hY3Rpb25zLmluc2VydC5tYXRjaChlKXx8dC5hY3Rpb25zLmV4Y2x1ZGUubWF0Y2goZSl8fHQuYWN0aW9ucy5leGFjdC5tYXRjaChlKXx8dC5hY3Rpb25zLnJlcGxhY2UubWF0Y2goZSl8fHQuYWN0aW9ucy5yZW1vdmUubWF0Y2goZSl8fHQuYWN0aW9ucy5jcmVhdGUubWF0Y2goZSl8fHQuYWN0aW9ucy5wdXQubWF0Y2goZSl8fHQuYWN0aW9ucy5yZW5hbWUubWF0Y2goZSl8fHQuYWN0aW9ucy5jaGFuZ2VEZXNjcmlwdGlvbi5tYXRjaChlKXx8dC5hY3Rpb25zLnNoYXJlLm1hdGNoKGUpfHx0LmFjdGlvbnMudXBkYXRlUGVyc2lzdGVkU3RhdGUubWF0Y2goZSl9KGUsYSl9KX1mdW5jdGlvbiBMKGUpe3JldHVybiBlLmxpc3RzLmJ5SWR9ZnVuY3Rpb24gSShlLHQpe3JldHVybiBMKGUpW3RdPz9udWxsfWZ1bmN0aW9uIEMoZSl7cmV0dXJuIGUubGlzdHMuaWRzfX0sMzYzNTI2KGUsdCxhKXtmdW5jdGlvbiBvKGUpe3JldHVybiB0PT5lKyJfXyIrdH1hLmQodCx7CmNyZWF0ZUFjdGlvblR5cGVGYWN0b3J5OigpPT5vfSl9LDI1NTUxNihlKXsKZS5leHBvcnRzPUpTT04ucGFyc2UoJ3sidXMiOnsidGl0bGUiOiJVU0EiLCJzY3JlZW5lck5hbWUiOiJhbWVyaWNhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvTmV3X1lvcmsiLCJkZWZhdWx0RXhjaGFuZ2UiOiJVUyIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiQU1FWCIsIk5BU0RBUSIsIk5ZU0UiLCJPVEMiLCJVUyJdLCJleGNoYW5nZXNTdG9ja3MiOlsiTkFTREFRIiwiTllTRSIsIk5ZU0UgQVJDQSIsIk9UQyJdLCJncm91cCI6Ik5vcnRoIEFtZXJpY2EiLCJtYXJrZXRSb3V0ZSI6InVzYS8ifSwiYWUiOnsidGl0bGUiOiJVbml0ZWQgQXJhYiBFbWlyYXRlcyIsInNjcmVlbmVyTmFtZSI6InVhZSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0R1YmFpIiwiZGVmYXVsdEV4Y2hhbmdlIjoiQURYIiwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJERk0iLCJBRFgiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIkRGTSIsIkFEWCIsIk5BU0RBUURVQkFJIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6InVhZS8ifSwiYXIiOnsidGl0bGUiOiJBcmdlbnRpbmEiLCJzY3JlZW5lck5hbWUiOiJhcmdlbnRpbmEiLCJzY3JlZW5lclRpbWV6b25lIjoiQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIiwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJCQ0JBIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJCWU1BIiwiQkNCQSJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJCQ0JBIiwiZ3JvdXAiOiJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLCJtYXJrZXRSb3V0ZSI6ImFyZ2VudGluYS8ifSwiYXQiOnsidGl0bGUiOiJBdXN0cmlhIiwic2NyZWVuZXJOYW1lIjoiYXVzdHJpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvVmllbm5hIiwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJWSUUiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIlZJRSJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJWSUUiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiYXVzdHJpYS8ifSwiYXUiOnsidGl0bGUiOiJBdXN0cmFsaWEiLCJzY3JlZW5lck5hbWUiOiJhdXN0cmFsaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiQXVzdHJhbGlhL1N5ZG5leSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJBU1giXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiYXVzdHJhbGlhLyJ9LCJiZCI6eyJ0aXRsZSI6IkJhbmdsYWRlc2giLCJzY3JlZW5lck5hbWUiOiJiYW5nbGFkZXNoIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvRGhha2EiLCJleGNoYW5nZXNTdG9ja3MiOlsiRFNFQkQiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJEU0VCRCJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJiYW5nbGFkZXNoLyJ9LCJiZSI6eyJ0aXRsZSI6IkJlbGdpdW0iLCJzY3JlZW5lck5hbWUiOiJiZWxnaXVtIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9CcnVzc2VscyIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiRVVST05FWFRfQlJVIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJFVVJPTkVYVEJSVSJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJFVVJPTkVYVF9CUlUiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiYmVsZ2l1bS8ifSwiYmgiOnsidGl0bGUiOiJCYWhyYWluIiwic2NyZWVuZXJOYW1lIjoiYmFocmFpbiIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0JhaHJhaW4iLCJleGNoYW5nZXNTdG9ja3MiOlsiQkFIUkFJTiJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJiYWhyYWluLyJ9LCJiciI6eyJ0aXRsZSI6IkJyYXppbCIsInNjcmVlbmVyTmFtZSI6ImJyYXppbCIsInNjcmVlbmVyVGltZXpvbmUiOiJBbWVyaWNhL1Nhb19QYXVsbyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCTUZCT1ZFU1BBIl0sImdyb3VwIjoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJicmF6aWwvIn0sImJnIjp7InRpdGxlIjoiQnVsZ2FyaWEiLCJzY3JlZW5lck5hbWUiOiJidWxnYXJpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvU29maWEiLCJleGNoYW5nZXNTdG9ja3MiOlsiQlNFU09GIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJidWxnYXJpYS8ifSwiY2EiOnsidGl0bGUiOiJDYW5hZGEiLCJzY3JlZW5lck5hbWUiOiJjYW5hZGEiLCJzY3JlZW5lclRpbWV6b25lIjoiQW1lcmljYS9Ub3JvbnRvIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlRTWCIsIlRTWFYiLCJDU0UiLCJORU8iXSwiZ3JvdXAiOiJOb3J0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJjYW5hZGEvIn0sImNoIjp7InRpdGxlIjoiU3dpdHplcmxhbmQiLCJzY3JlZW5lck5hbWUiOiJzd2l0emVybGFuZCIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvWnVyaWNoIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlNJWCIsIkJYIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJzd2l0emVybGFuZC8ifSwiY2wiOnsidGl0bGUiOiJDaGlsZSIsInNjcmVlbmVyTmFtZSI6ImNoaWxlIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvU2FudGlhZ28iLCJleGNoYW5nZXNTdG9ja3MiOlsiQkNTIl0sImdyb3VwIjoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJjaGlsZS8ifSwiY24iOnsidGl0bGUiOiJNYWlubGFuZCBDaGluYSIsInR2TG9jYWxlIjoiemhfQ04iLCJzY3JlZW5lck5hbWUiOiJjaGluYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0hvbmdfS29uZyIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiU1NFIiwiU1pTRSJdLCJleGNoYW5nZXNTdG9ja3MiOlsiU1NFIiwiU1pTRSIsIlNIRkUiLCJaQ0UiLCJDRkZFWCJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJjaGluYS8ifSwiY28iOnsidGl0bGUiOiJDb2xvbWJpYSIsInNjcmVlbmVyTmFtZSI6ImNvbG9tYmlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvQm9nb3RhIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJWQyJdLCJncm91cCI6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoiY29sb21iaWEvIn0sImhyIjp7InRpdGxlIjoiQ3JvYXRpYSIsInNjcmVlbmVyTmFtZSI6ImNyb2F0aWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1phZ3JlYiIsImV4Y2hhbmdlc1N0b2NrcyI6WyJaU0UiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJaU0UiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiWlNFIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImNyb2F0aWEvIn0sImN5Ijp7InRpdGxlIjoiQ3lwcnVzIiwic2NyZWVuZXJOYW1lIjoiY3lwcnVzIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9DeXBydXMiLCJleGNoYW5nZXNTdG9ja3MiOlsiQ1NFQ1kiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJDU0VDWSJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiY3lwcnVzLyJ9LCJjeiI6eyJ0aXRsZSI6IkN6ZWNoIFJlcHVibGljIiwic2NyZWVuZXJOYW1lIjoiY3plY2giLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0N6ZWNoIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlBTRUNaIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiUFNFQ1oiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImN6ZWNoLyJ9LCJkZSI6eyJ0aXRsZSI6Ikdlcm1hbnkiLCJ0dkxvY2FsZSI6ImRlX0RFIiwic2NyZWVuZXJOYW1lIjoiZ2VybWFueSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQmVybGluIiwiZGVmYXVsdEV4Y2hhbmdlIjoiWEVUUiIsImV4Y2hhbmdlc1N0b2NrcyI6WyJGV0IiLCJTV0IiLCJYRVRSIiwiRFVTIiwiSEFNIiwiSEFOIiwiTVVOIiwiVFJBREVHQVRFIiwiTFMiLCJMU1giLCJHRVRURVgiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJGV0IiLCJTV0IiLCJYRVRSIiwiRFVTIiwiSEFNIiwiSEFOIiwiTVVOIiwiVFJBREVHQVRFIiwiTFMiLCJMU1giXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6Imdlcm1hbnkvIn0sImRrIjp7InRpdGxlIjoiRGVubWFyayIsInNjcmVlbmVyTmFtZSI6ImRlbm1hcmsiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0NvcGVuaGFnZW4iLCJleGNoYW5nZXNTdG9ja3MiOlsiT01YQ09QIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJkZW5tYXJrLyJ9LCJlZSI6eyJ0aXRsZSI6IkVzdG9uaWEiLCJzY3JlZW5lck5hbWUiOiJlc3RvbmlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9UYWxsaW5uIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk9NWFRTRSJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiZXN0b25pYS8ifSwiZWciOnsidGl0bGUiOiJFZ3lwdCIsInNjcmVlbmVyTmFtZSI6ImVneXB0Iiwic2NyZWVuZXJUaW1lem9uZSI6IkFmcmljYS9DYWlybyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJFR1giXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoiZWd5cHQvIn0sImVzIjp7InRpdGxlIjoiU3BhaW4iLCJzY3JlZW5lck5hbWUiOiJzcGFpbiIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvTWFkcmlkIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJNRSJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoic3BhaW4vIn0sImV1Ijp7InRpdGxlIjoiRXVyb3BlYW4gVW5pb24iLCJzY3JlZW5lck5hbWUiOiJldXJvbmV4dCIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvUGFyaXMiLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIkVVUk9ORVhUIiwiRVVST05FWFRDT01NIl0sImdyb3VwIjoiRXVyb3BlIn0sImZpIjp7InRpdGxlIjoiRmlubGFuZCIsInNjcmVlbmVyTmFtZSI6ImZpbmxhbmQiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0hlbHNpbmtpIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk9NWEhFWCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiZmlubGFuZC8ifSwiZnIiOnsidGl0bGUiOiJGcmFuY2UiLCJzY3JlZW5lck5hbWUiOiJmcmFuY2UiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1BhcmlzIiwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJFVVJPTkVYVF9QQVIiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIkVVUk9ORVhUUEFSIl0sImRlZmF1bHRFeGNoYW5nZSI6IkVVUk9ORVhUX1BBUiIsImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJmcmFuY2UvIn0sImdlIjp7InRpdGxlIjoiR2VvcmdpYSJ9LCJnciI6eyJ0aXRsZSI6IkdyZWVjZSIsInNjcmVlbmVyTmFtZSI6ImdyZWVjZSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQXRoZW5zIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkFUSEVYIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJncmVlY2UvIn0sImhrIjp7InRpdGxlIjoiSG9uZyBLb25nLCBDaGluYSIsInNjcmVlbmVyTmFtZSI6Imhvbmdrb25nIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvSG9uZ19Lb25nIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkhLRVgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiaG9uZy1rb25nLyJ9LCJodSI6eyJ0aXRsZSI6Ikh1bmdhcnkiLCJzY3JlZW5lck5hbWUiOiJodW5nYXJ5Iiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9CdWRhcGVzdCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCRVQiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJCRVQiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiQkVUIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6Imh1bmdhcnkvIn0sImlkIjp7InRpdGxlIjoiSW5kb25lc2lhIiwic2NyZWVuZXJOYW1lIjoiaW5kb25lc2lhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvSmFrYXJ0YSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJJRFgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiaW5kb25lc2lhLyJ9LCJpZSI6eyJ0aXRsZSI6IklyZWxhbmQiLCJzY3JlZW5lck5hbWUiOiJpcmVsYW5kIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9EdWJsaW4iLCJleGNoYW5nZXNTdG9ja3MiOlsiRVVST05FWFREVUIiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImlyZWxhbmQvIn0sImlsIjp7InRpdGxlIjoiSXNyYWVsIiwidHZMb2NhbGUiOiJoZV9JTCIsInNjcmVlbmVyTmFtZSI6ImlzcmFlbCIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0plcnVzYWxlbSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJUQVNFIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6ImlzcmFlbC8ifSwiaW4iOnsidGl0bGUiOiJJbmRpYSIsInNjcmVlbmVyTmFtZSI6ImluZGlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvS29sa2F0YSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCU0UiLCJOU0UiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiaW5kaWEvIn0sImlyIjp7InRpdGxlIjoiSXJhbiJ9LCJpcyI6eyJ0aXRsZSI6IkljZWxhbmQiLCJzY3JlZW5lck5hbWUiOiJpY2VsYW5kIiwic2NyZWVuZXJUaW1lem9uZSI6IkF0bGFudGljL1JleWtqYXZpayIsImV4Y2hhbmdlc1N0b2NrcyI6WyJPTVhJQ0UiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImljZWxhbmQvIn0sIml0Ijp7InRpdGxlIjoiSXRhbHkiLCJzY3JlZW5lck5hbWUiOiJpdGFseSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvUm9tZSIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiTUlMIiwiRVVST1RMWCJdLCJleGNoYW5nZXNTdG9ja3MiOlsiTUlMIiwiRVVST1RMWCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiaXRhbHkvIn0sImpwIjp7InRpdGxlIjoiSmFwYW4iLCJ0dkxvY2FsZSI6ImphIiwic2NyZWVuZXJOYW1lIjoiamFwYW4iLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9Ub2t5byIsImRlZmF1bHRFeGNoYW5nZSI6IlRTRSIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiTkFHIiwiVFNFIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJUU0UiLCJOQUciLCJGU0UiLCJTQVBTRSJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJqYXBhbi8ifSwia2UiOnsidGl0bGUiOiJLZW55YSIsInNjcmVlbmVyTmFtZSI6ImtlbnlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFmcmljYS9OYWlyb2JpIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk5TRUtFIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6ImtlbnlhLyJ9LCJrcCI6eyJ0aXRsZSI6Ik5vcnRoIEtvcmVhIn0sImtyIjp7InRpdGxlIjoiU291dGggS29yZWEiLCJ0dkxvY2FsZSI6ImtyIiwic2NyZWVuZXJOYW1lIjoia29yZWEiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9TZW91bCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJLUlgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoia29yZWEvIn0sImt3Ijp7InRpdGxlIjoiS3V3YWl0Iiwic2NyZWVuZXJOYW1lIjoia3V3YWl0Iiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvS3V3YWl0IiwiZXhjaGFuZ2VzU3RvY2tzIjpbIktTRSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJrdXdhaXQvIn0sImxrIjp7InRpdGxlIjoiU3JpIExhbmthIiwic2NyZWVuZXJOYW1lIjoic3JpbGFua2EiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9Db2xvbWJvIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkNTRUxLIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6InNyaS1sYW5rYS8ifSwibHQiOnsidGl0bGUiOiJMaXRodWFuaWEiLCJzY3JlZW5lck5hbWUiOiJsaXRodWFuaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1ZpbG5pdXMiLCJleGNoYW5nZXNTdG9ja3MiOlsiT01YVlNFIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJsaXRodWFuaWEvIn0sImx2Ijp7InRpdGxlIjoiTGF0dmlhIiwic2NyZWVuZXJOYW1lIjoibGF0dmlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9SaWdhIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk9NWFJTRSJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoibGF0dmlhLyJ9LCJsdSI6eyJ0aXRsZSI6Ikx1eGVtYm91cmciLCJzY3JlZW5lck5hbWUiOiJsdXhlbWJvdXJnIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9MdXhlbWJvdXJnIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkxVWFNFIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiTFVYU0UiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiTFVYU0UiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoibHV4ZW1ib3VyZy8ifSwibXgiOnsidGl0bGUiOiJNZXhpY28iLCJzY3JlZW5lck5hbWUiOiJtZXhpY28iLCJzY3JlZW5lclRpbWV6b25lIjoiQW1lcmljYS9NZXhpY29fQ2l0eSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCTVYiLCJCSVZBIl0sImdyb3VwIjoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJtZXhpY28vIn0sIm1hIjp7InRpdGxlIjoiTW9yb2NjbyIsInNjcmVlbmVyTmFtZSI6Im1vcm9jY28iLCJzY3JlZW5lclRpbWV6b25lIjoiQWZyaWNhL01vcm9jY28iLCJleGNoYW5nZXNTdG9ja3MiOlsiQ1NFTUEiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJDU0VNQSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJtb3JvY2NvLyJ9LCJteSI6eyJ0aXRsZSI6Ik1hbGF5c2lhIiwidHZMb2NhbGUiOiJtc19NWSIsInNjcmVlbmVyTmFtZSI6Im1hbGF5c2lhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvU2luZ2Fwb3JlIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk1ZWCJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJtYWxheXNpYS8ifSwibmciOnsidGl0bGUiOiJOaWdlcmlhIiwic2NyZWVuZXJOYW1lIjoibmlnZXJpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBZnJpY2EvTGFnb3MiLCJleGNoYW5nZXNTdG9ja3MiOlsiTlNFTkciXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoibmlnZXJpYS8ifSwibmwiOnsidGl0bGUiOiJOZXRoZXJsYW5kcyIsInNjcmVlbmVyTmFtZSI6Im5ldGhlcmxhbmRzIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9BbXN0ZXJkYW0iLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkVVUk9ORVhUX0FNUyJdLCJleGNoYW5nZXNTdG9ja3MiOlsiRVVST05FWFRBTVMiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiRVVST05FWFRfQU1TIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6Im5ldGhlcmxhbmRzLyJ9LCJubyI6eyJ0aXRsZSI6Ik5vcndheSIsInNjcmVlbmVyTmFtZSI6Im5vcndheSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvT3NsbyIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiT1NMIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJFVVJPTkVYVE9TRSJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJPU0wiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoibm9yd2F5LyJ9LCJueiI6eyJ0aXRsZSI6Ik5ldyBaZWFsYW5kIiwic2NyZWVuZXJOYW1lIjoibmV3emVhbGFuZCIsInNjcmVlbmVyVGltZXpvbmUiOiJQYWNpZmljL0F1Y2tsYW5kIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk5aWCJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJuZXctemVhbGFuZC8ifSwicGUiOnsidGl0bGUiOiJQZXJ1Iiwic2NyZWVuZXJOYW1lIjoicGVydSIsInNjcmVlbmVyVGltZXpvbmUiOiJBbWVyaWNhL0xpbWEiLCJleGNoYW5nZXNTdG9ja3MiOlsiQlZMIl0sImdyb3VwIjoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJwZXJ1LyJ9LCJwaCI6eyJ0aXRsZSI6IlBoaWxpcHBpbmVzIiwic2NyZWVuZXJOYW1lIjoicGhpbGlwcGluZXMiLCJzY3JlZW5lclRpbWV6b25lIjoiUGhpbGlwcGluZXMvTWFuaWxhIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlBTRSJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJwaGlsaXBwaW5lcy8ifSwicGsiOnsidGl0bGUiOiJQYWtpc3RhbiIsInNjcmVlbmVyTmFtZSI6InBha2lzdGFuIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvS2FyYWNoaSIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiUFNYIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJQU1giXSwiZGVmYXVsdEV4Y2hhbmdlIjoiUFNYIiwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoicGFraXN0YW4vIn0sInBsIjp7InRpdGxlIjoiUG9sYW5kIiwic2NyZWVuZXJOYW1lIjoicG9sYW5kIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9XYXJzYXciLCJleGNoYW5nZXNTdG9ja3MiOlsiR1BXIiwiTkVXQ09OTkVDVCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoicG9sYW5kLyJ9LCJwdCI6eyJ0aXRsZSI6IlBvcnR1Z2FsIiwic2NyZWVuZXJOYW1lIjoicG9ydHVnYWwiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0xpc2JvbiIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiRVVST05FWFRfTElTIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJFVVJPTkVYVExJUyJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJFVVJPTkVYVF9MSVMiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoicG9ydHVnYWwvIn0sInFhIjp7InRpdGxlIjoiUWF0YXIiLCJzY3JlZW5lck5hbWUiOiJxYXRhciIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL1FhdGFyIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlFTRSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJxYXRhci8ifSwicm8iOnsidGl0bGUiOiJSb21hbmlhIiwic2NyZWVuZXJOYW1lIjoicm9tYW5pYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQnVjaGFyZXN0IiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJWQiJdLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkJWQiJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJCVkIiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoicm9tYW5pYS8ifSwicnMiOnsidGl0bGUiOiJTZXJiaWEiLCJzY3JlZW5lck5hbWUiOiJzZXJiaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0JlbGdyYWRlIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJFTEVYIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJzZXJiaWEvIn0sInJ1Ijp7InRpdGxlIjoiUnVzc2lhIiwic2NyZWVuZXJOYW1lIjoicnVzc2lhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9Nb3Njb3ciLCJleGNoYW5nZXNTdG9ja3MiOlsiUlVTIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJydXNzaWEvIn0sInNhIjp7InRpdGxlIjoiU2F1ZGkgQXJhYmlhIiwidHZMb2NhbGUiOiJhcl9BRSIsInNjcmVlbmVyTmFtZSI6ImtzYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL1JpeWFkaCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJUQURBV1VMIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6ImtzYS8ifSwic2UiOnsidGl0bGUiOiJTd2VkZW4iLCJzY3JlZW5lck5hbWUiOiJzd2VkZW4iLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1N0b2NraG9sbSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJOR00iLCJPTVhTVE8iXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJOR00iLCJPTVhTVE8iXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InN3ZWRlbi8ifSwic2ciOnsidGl0bGUiOiJTaW5nYXBvcmUiLCJzY3JlZW5lck5hbWUiOiJzaW5nYXBvcmUiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9TaW5nYXBvcmUiLCJleGNoYW5nZXNTdG9ja3MiOlsiU0dYIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6InNpbmdhcG9yZS8ifSwic2siOnsidGl0bGUiOiJTbG92YWtpYSIsInNjcmVlbmVyTmFtZSI6InNsb3Zha2lhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9CcmF0aXNsYXZhIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJTU0UiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InNsb3Zha2lhLyJ9LCJzaSI6eyJ0aXRsZSI6IlNsb3ZlbmlhIiwic2NyZWVuZXJOYW1lIjoic2xvdmVuaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0xqdWJsamFuYSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJMSlNFIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiTEpTRSJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJMSlNFIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InNsb3ZlbmlhLyJ9LCJ0aCI6eyJ0aXRsZSI6IlRoYWlsYW5kIiwidHZMb2NhbGUiOiJ0aF9USCIsInNjcmVlbmVyTmFtZSI6InRoYWlsYW5kIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvQmFuZ2tvayIsImV4Y2hhbmdlc1N0b2NrcyI6WyJTRVQiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoidGhhaWxhbmQvIn0sInRuIjp7InRpdGxlIjoiVHVuaXNpYSIsInNjcmVlbmVyTmFtZSI6InR1bmlzaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiQWZyaWNhL1R1bmlzIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJWTVQiXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoidHVuaXNpYS8ifSwidHIiOnsidGl0bGUiOiJUdXJrZXkiLCJzY3JlZW5lck5hbWUiOiJ0dXJrZXkiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0lzdGFuYnVsIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJJU1QiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InR1cmtleS8ifSwidHciOnsidGl0bGUiOiJUYWl3YW4sIENoaW5hIiwidHZMb2NhbGUiOiJ6aF9UVyIsInNjcmVlbmVyTmFtZSI6InRhaXdhbiIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL1RhaXBlaSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJUV1NFIiwiVFBFWCJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJ0YWl3YW4vIn0sImdiIjp7InRpdGxlIjoiVW5pdGVkIEtpbmdkb20iLCJzY3JlZW5lck5hbWUiOiJ1ayIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvTG9uZG9uIiwiZGVmYXVsdEV4Y2hhbmdlIjoiTFNFIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkxTRSIsIkxTSU4iLCJBUVVJUyJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoidW5pdGVkLWtpbmdkb20vIn0sInZlIjp7InRpdGxlIjoiVmVuZXp1ZWxhIiwic2NyZWVuZXJOYW1lIjoidmVuZXp1ZWxhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvQ2FyYWNhcyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCVkNWIl0sImdyb3VwIjoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJ2ZW5lenVlbGEvIn0sInZuIjp7InRpdGxlIjoiVmlldG5hbSIsInR2TG9jYWxlIjoidmlfVk4iLCJzY3JlZW5lck5hbWUiOiJ2aWV0bmFtIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvSG9fQ2hpX01pbmgiLCJleGNoYW5nZXNTdG9ja3MiOlsiSE9TRSIsIkhOWCIsIlVQQ09NIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6InZpZXRuYW0vIn0sInphIjp7InRpdGxlIjoiU291dGggQWZyaWNhIiwic2NyZWVuZXJOYW1lIjoicnNhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFmcmljYS9Kb2hhbm5lc2J1cmciLCJleGNoYW5nZXNTdG9ja3MiOlsiSlNFIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6InNvdXRoLWFmcmljYS8ifSwid3ciOnsidGl0bGUiOiJXb3JsZHdpZGUiLCJzY3JlZW5lck5hbWUiOiJnbG9iYWwiLCJleGNoYW5nZXNTdG9ja3MiOltdfX0nKQp9fV0pOw=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52396.ed76caf2ffe014460ba6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.654Z","timestamp":1785141584654,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52396.ed76caf2ffe014460ba6.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-37a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9d334de678cc85dc7be3c6d702c1255e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":890,"size_decoded":1183,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (890), with no line terminators","md5":"4ea5d0b6056033b75774e42fe5d68067","sha1":"748282414e5e498bf7540bb4c9a4871cb5ace801","sha256":"650d170333b85bddb948d847ac00379ef6939e1848f4e0a777b76a0413292927","sha512":"ff316d259a766190a4f00a012288d5790d1e7f304f11afb9f4d5c3e82f90cac799c49c72f2c77633bf15cf4a3b3f2573ec1b42426e65a0c959dbbdf448902c91","ssdeep":"","tlshash":"5b117aa5f54996a7f83b693b0bd89b4f1128e0055e075f69ea26b130458b3fa30b13d4","first_seen":"2026-07-17T03:30:51.146413Z","last_seen":"2026-07-27T14:50:15.423207Z","times_seen":176,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTEtQODp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1MS1A4OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtTEtQODp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xLUxLUDg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCl9LmRpYWxvZy1HSFVINl8xWHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoyODBweDt0ZXh0LWFsaWduOnN0YXJ0fS5kaWFsb2ctR0hVSDZfMVgucm91bmRlZC1HSFVINl8xWHtib3JkZXItcmFkaXVzOjZweH0uZGlhbG9nLUdIVUg2XzFYLnNoYWRvd2VkLUdIVUg2XzFYe2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpfS5kaWFsb2ctR0hVSDZfMVguZnVsbHNjcmVlbi1HSFVINl8xWHtib3R0b206MDtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlO21pbi1oZWlnaHQ6MTAwJTtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlfS5kaWFsb2ctR0hVSDZfMVguZGFya2VyLUdIVUg2XzFYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtTEtQOCl9LmJhY2tkcm9wLUdIVUg2XzFYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzEtTEtQOCk7Ym90dG9tOjA7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6LjU7cG9zaXRpb246Zml4ZWQ7dG9wOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7ei1pbmRleDotMX0="}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/93416.90818d73e0e3a9a9fe2a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.700Z","timestamp":1785141584700,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/93416.90818d73e0e3a9a9fe2a.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-244\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 894f5c85171b96546fb10a812cf8c88e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":580,"size_decoded":1088,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (580), with no line terminators","md5":"34f5e63cca1a0c5f41a95164111b3b4c","sha1":"c652860824e5dfe8605dfd2c449ab1999dbb7320","sha256":"d836659d40ccee20b3bda744c4d2935c90d75eb285a16b35fea1a995e18a1d80","sha512":"4e47b6897f850a154d8b07315c97ee8b4d0b2f5d4909f78c8ccc1de89e165e871ba201c85af37eb3c384ef96de09c261da19a74b11a2290fa42b7872527a8638","ssdeep":"","tlshash":"02f04c1aa2b98f9f9063c899053cb21b5451dd93de221f27b6d8c52c81cbed71307a0c","first_seen":"2026-07-17T03:30:51.191624Z","last_seen":"2026-07-27T14:50:15.517314Z","times_seen":129,"resource_available":false,"data":"LmNoZWNrYm94LWhVc25uMlpfe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2dhcDo4cHg7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2xpbmUtaGVpZ2h0Om5vcm1hbH0uY2hlY2tib3gtaFVzbm4yWl8ucmV2ZXJzZS1oVXNubjJaX3tmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZTtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmNoZWNrYm94LWhVc25uMlpfLmJhc2VsaW5lLWhVc25uMlpfe2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9LmxhYmVsLWhVc25uMlpfe21pbi13aWR0aDowfS5kaXNhYmxlZC1oVXNubjJaX3tvcGFjaXR5Oi41fS5wcmltYXJ5LWhVc25uMlpfe2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSl9LmRhbmdlci1oVXNubjJaX3tjb2xvcjp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC1kYW5nZXIpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/86423.79783aa72b6e29252d0c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.784Z","timestamp":1785141584784,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/86423.79783aa72b6e29252d0c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-106\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: cf861c08591081fd304956ef3a4c10ad\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":262,"size_decoded":938,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"b2d8da58ed7bd3636b389eac6ba9d38f","sha1":"5bcc1477edc39bcb360e79e0aa7ddabb5a3deb56","sha256":"1d71d0b986d1200ce5725b69e4e0e27ffda213045c040697e34b3502ec819deb","sha512":"75584fc30003c79c57e5f9ed6cfbc9c56a9bdcef58189661f2a31feb1e7ca0e8d5ed7f474386b82d61c4412d71173f50d58e54d1d97f4ce2abc5bf81015b9a08","ssdeep":"","tlshash":"70d0c2b19405d16c3a244958bf22bcadf384410a2a260fd7d2362e2185496b62e6249c","first_seen":"2026-07-17T14:15:58.491012Z","last_seen":"2026-07-27T14:27:22.638264Z","times_seen":158,"resource_available":false,"data":"LmRpdmlkZXItWmRfdHF1Y0R7cGFkZGluZzo2cHggMDt3aWR0aDoxMDAlfS5kaXZpZGVyLVpkX3RxdWNEOmZpcnN0LWNoaWxke3BhZGRpbmctdG9wOjB9LmRpdmlkZXItWmRfdHF1Y0Q6bGFzdC1jaGlsZHtwYWRkaW5nLWJvdHRvbTowfS5saW5lLVpkX3RxdWNEe2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWluLWxpc3RJdGVtLWRpdmlkZXJDb2xvcix2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSk7aGVpZ2h0OjFweDt3aWR0aDoxMDAlfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/83488.2a35377fd54f0af40874.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.111Z","timestamp":1785141585111,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/83488.2a35377fd54f0af40874.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-4c6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:41\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a1be3743fee57bba0518996046cfe450\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1222,"size_decoded":1161,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1222), with no line terminators","md5":"51c1349c8439d6a672d6d84a4856594d","sha1":"4eee67924b46bf903b0e51c77931d6ae759a7802","sha256":"93fc2457233c811063c8be9ad30dcb6250b02857cbf8dad77d4226067fcd4ca6","sha512":"e2ea45b32638ed390e55a1b75bd589d1d8566bc3463ae462003a2566fef6b7b94bc1cad80cac4e151794623d40d2291d3bec4fe3e2e89ec5745015b0e3564516","ssdeep":"","tlshash":"be214575f1f6c228390beb56970d7d4eb29c6b48bf0a9413f083c508c48be987c69a81","first_seen":"2026-07-22T17:32:47.98134Z","last_seen":"2026-07-27T14:27:22.30735Z","times_seen":90,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtbVpBSDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV8xLW1aQUg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1tWkFIOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzEtbVpBSDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKX0uZGl2aWRlci1Db0EyZDVDN3tib3JkZXI6bm9uZTtib3JkZXItY29sb3I6dmFyKC0tdWktbGliLWRpdmlkZXItY29sb3IsdmFyKC0tdWktbGliLWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcikpO21hcmdpbjowfS5kaXZpZGVyLUNvQTJkNUM3Lm9yaWVudGF0aW9uLWhvcml6b250YWwtQ29BMmQ1Qzd7Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDt3aWR0aDoxMDAlfS5kaXZpZGVyLUNvQTJkNUM3Lm9yaWVudGF0aW9uLXZlcnRpY2FsLUNvQTJkNUM3e2JvcmRlci1pbmxpbmUtc3RhcnQtc3R5bGU6c29saWQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDoyY2g7dmVydGljYWwtYWxpZ246c3VifS5kaXZpZGVyLUNvQTJkNUM3LmZpdC1jb250ZW50LUNvQTJkNUM3Lm9yaWVudGF0aW9uLWhvcml6b250YWwtQ29BMmQ1Qzd7d2lkdGg6YXV0b30uZGl2aWRlci1Db0EyZDVDNy5maXQtY29udGVudC1Db0EyZDVDNy5vcmllbnRhdGlvbi12ZXJ0aWNhbC1Db0EyZDVDN3toZWlnaHQ6YXV0b30uZGl2aWRlci1Db0EyZDVDNy5zaXplLXhzbWFsbC1Db0EyZDVDN3tib3JkZXItd2lkdGg6MXB4fS5kaXZpZGVyLUNvQTJkNUM3LnNpemUtc21hbGwtQ29BMmQ1Qzd7Ym9yZGVyLXdpZHRoOjJweH0uZGl2aWRlci1Db0EyZDVDNy5zaXplLW1lZGl1bS1Db0EyZDVDN3tib3JkZXItd2lkdGg6M3B4fS5kaXZpZGVyLUNvQTJkNUM3LnNpemUtbGFyZ2UtQ29BMmQ1Qzd7Ym9yZGVyLXdpZHRoOjRweH0uZGl2aWRlci1Db0EyZDVDNy5zaXplLXhsYXJnZS1Db0EyZDVDN3tib3JkZXItd2lkdGg6NXB4fS5kaXZpZGVyLUNvQTJkNUM3LnNpemUteHhsYXJnZS1Db0EyZDVDN3tib3JkZXItd2lkdGg6NnB4fS5kaXZpZGVyLUNvQTJkNUM3LnR5cGUtcHJpbWFyeS1Db0EyZDVDN3stLXVpLWxpYi1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tXzEtbVpBSCl9LmRpdmlkZXItQ29BMmQ1QzcudHlwZS1zZWNvbmRhcnktQ29BMmQ1Qzd7LS11aS1saWItYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLV8wLW1aQUgpfQ=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/43808.5ad3651a38630f775442.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.155Z","timestamp":1785141585155,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/43808.5ad3651a38630f775442.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a267ddd-734c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 08 Jun 2026 08:31:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.55\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/08/2026 10:13:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2fcd4a356f1a5a7b7264f0c4ec3e34f4\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":29516,"size_decoded":7156,"mime_type":"text/css; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (29514), with no line terminators","md5":"89d54002d9dff292d378d97abe4e3410","sha1":"6ad49e20962e85a41c0ed2955a7d9b8bf56fcb47","sha256":"c2f76e73327dad5c04fe2f8617bc8b3aab016114e3cc57f1a9757f1b8ff7530a","sha512":"bf553ad2781e9c3bf61da104cf8e0b85b64f3eb4a469d7ea50a1131c1c45ca98ce6f3fe2673c2a6f86857e8b0005fa4baa2df74ef8e80fbbfb9684cb81792860","ssdeep":"384:QTsoqYs5cN4nzyHDmcWE5N9cVOS8RSACPZhnT7HumHZKefLpKY7:QRgcN4zyHDm/E5N9cVOS8/CPZhT7hnLB","tlshash":"e6d297c5f701a0367bb7572d5770a24daa1cec83d50a4be9fd81be1988c5bfb3069608","first_seen":"2026-06-08T18:14:42.108897Z","last_seen":"2026-07-27T12:48:39.667046Z","times_seen":133,"resource_available":false,"data":"LmNvbnRhaW5lci1UYUZfYVlFRnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjAgY2FsYyh2YXIoLS1vcHRpb25zLXRhYmxlLWNlbGwtaG9yei1wYWRkaW5nKSotMSk7cG9zaXRpb246cmVsYXRpdmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250YWluZXItVGFGX2FZRUY6aG92ZXIgLmZsYWctVGFGX2FZRUZ7ZGlzcGxheTpmbGV4fX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZmxhZy1UYUZfYVlFRntkaXNwbGF5Om5vbmV9fS5jb250ZW50LVRhRl9hWUVGe3RleHQtdHJhbnNmb3JtOmxvd2VyY2FzZX0uY29udGVudC1UYUZfYVlFRjpmaXJzdC1sZXR0ZXJ7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZX0udW5kZXJseWluZ0NlbGwtVWNjZEhsaGcudW5kZXJseWluZ0NlbGwtVWNjZEhsaGd7Ym90dG9tOnZhcigtLW9wdGlvbnMtdGFibGUtYm9keS1ib3R0b20pO2hlaWdodDowO3Bvc2l0aW9uOnN0aWNreTt0b3A6Y2FsYyh2YXIoLS1vcHRpb25zLXRhYmxlLXJvdy1oZWlnaHQpKjIpO3dpZHRoOjEwMCU7ei1pbmRleDoxMH0udW5kZXJseWluZ0NlbGwtVWNjZEhsaGc6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1zZW1pLWJvbGQpO2NvbnRlbnQ6IiI7aGVpZ2h0OjFweDtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0xcHh9LnVuZGVybHlpbmdCYWRnZS1VY2NkSGxoZ3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1oZWF2eSk7Ym9yZGVyLXJhZGl1czozcHg7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSk7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NjAwO2luc2V0LWlubGluZS1zdGFydDo1MCU7bGluZS1oZWlnaHQ6dmFyKC0tb3B0aW9ucy10YWJsZS11bmRlcmx5aW5nLXJvdy1saW5lLWhlaWdodCk7cGFkZGluZzowIDZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6Y2FsYyh2YXIoLS1vcHRpb25zLXRhYmxlLXVuZGVybHlpbmctcm93LWxpbmUtaGVpZ2h0KSotMS8yIC0gMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpfS51bmRlcmx5aW5nQmFkZ2UtVWNjZEhsaGc6ZGlyKHJ0bCl7dHJhbnNmb3JtOnRyYW5zbGF0ZSg1MCUpfS5yb290LU53RlVaY25Se2hlaWdodDoxMDAlfS5jaGFpbi1Od0ZVWmNuUnstLW9wdGlvbnMtY2hhaW4tYmctY29sb3I6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1kYXJrLXNlY29uZGFyeSk7LS1vcHRpb24tY2hhaW4tY2VudHJhbC1jZWxsLWJnLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW4pOy0tb3B0aW9ucy10YWJsZS11bmRlcmx5aW5nLXJvdy1saW5lLWhlaWdodDoxNXB4Oy0tb3B0aW9ucy10YWJsZS1ib2R5LWJvdHRvbTpjYWxjKHZhcigtLW9wdGlvbnMtdGFibGUtdW5kZXJseWluZy1yb3ctbGluZS1oZWlnaHQpLzIpO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MH0uc2VsZWN0b3ItTndGVVpjblJ7LS1vcHRpb25zLXBpY2tlci1ibHVyLWNvbG9yOnZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnkpO21hcmdpbjowIDIwcHh9LmVtcHR5U3RhdGVJY29uLU53RlVaY25Se2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWdob3N0LmM1YWI4ODEzYzU2OGM5MzkxMDYwLnN2Zyk7aGVpZ2h0OjEyMHB4O3dpZHRoOjEyMHB4fWh0bWwudGhlbWUtZGFyayAuZW1wdHlTdGF0ZUljb24tTndGVVpjblJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZW1wdHktZ2hvc3QtZGFyay5hM2YxYTg5NjhiMGY2OTZiMWM4OS5zdmcpfS5lbXB0eS1Od0ZVWmNuUnthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uZW1wdHktTndGVVpjblIsLnJvb3QtWHdKb19pUDZ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ucm9vdC1Yd0pvX2lQNntnYXA6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UpO21pbi1oZWlnaHQ6MH0uc2VsZWN0b3ItWHdKb19pUDZ7LS1vcHRpb25zLXBpY2tlci1ibHVyLWNvbG9yOnZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnkpO21hcmdpbjowIDIwcHh9LmNoYWluLVh3Sm9faVA2ey0tb3B0aW9ucy1jaGFpbi1iZy1jb2xvcjp2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstc2Vjb25kYXJ5KTtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjB9LmVtcHR5LVh3Sm9faVA2e2hlaWdodDoxMDAlfS50aXRsZS1jMTJsYTVpTXthbGlnbi1pdGVtczpjZW50ZXI7Y29sdW1uLWdhcDo0cHg7ZGlzcGxheTpmbGV4O21pbi13aWR0aDowfS5pY29uLWMxMmxhNWlNe2ZsZXg6MCAwIDE4cHh9LmNoaWxkcmVuV3JhcHBlci1NZ3BEOXVUT3thbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MSAwIGF1dG87ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXJ9QG1lZGlhIChtYXgtaGVpZ2h0OjQ0MHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LmNoaWxkcmVuV3JhcHBlci1NZ3BEOXVUT3tqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH19LmNvbnRhaW5lci1NZ3BEOXVUT3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmctdG9wOjhweH1bZGF0YS10aGVtZT1saWdodF17LS1fMC1OMVB4OnZhcigtLWNvbG9yLXdoaXRlKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLU4xUHg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCl9LnRpdGxlLU5kM3dza2xLe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtTjFQeCk7Y29sb3I6dmFyKC0tY29sb3ItZGVmYXVsdC1ncmF5KTtjdXJzb3I6ZGVmYXVsdDtmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouNHB4O2xpbmUtaGVpZ2h0OjE2cHg7cGFkZGluZy1ib3R0b206OHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjQycHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLUlOYTc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1fMS1JTmE3OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzItSU5hNzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV8zLUlOYTc6dmFyKC0tY29sb3Itd2hpdGUpOy0tXzQtSU5hNzp2YXIoLS1jb2xvci10di1ibHVlLTIwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1JTmE3OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzEtSU5hNzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8yLUlOYTc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fMy1JTmE3OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tXzQtSU5hNzp2YXIoLS1jb2xvci10di1ibHVlLTIwMCl9LndyYXAtSEVpSVFlYkJ7YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YnJlYWstaW5zaWRlOmF2b2lkO2N1cnNvcjpkZWZhdWx0O292ZXJmbG93OmhpZGRlbn0ud3JhcC1IRWlJUWViQi5saWJBbGxTZWxlY3RlZC1IRWlJUWViQntjb2x1bW4tc3BhbjphbGx9LmNvbnRhaW5lci1IRWlJUWViQnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy1JTmE3KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4fS5jb250YWluZXItSEVpSVFlYkIgLmljb25XcmFwLUhFaUlRZWJCe2ZsZXgtc2hyaW5rOjB9LmNvbnRhaW5lci1IRWlJUWViQiAuaWNvbi1IRWlJUWViQiwuY29udGFpbmVyLUhFaUlRZWJCIC5pY29uV3JhcC1IRWlJUWViQnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmNvbnRhaW5lci1IRWlJUWViQiAudGl0bGUtSEVpSVFlYkJ7Y29sb3I6dmFyKC0tXzAtSU5hNyk7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5jb250YWluZXItSEVpSVFlYkIgLnRpdGxlLUhFaUlRZWJCIC5oaWdobGlnaHRlZC1IRWlJUWViQntjb2xvcjp2YXIoLS1fNC1JTmE3KX0uY29udGFpbmVyLUhFaUlRZWJCIC5kZXNjcmlwdGlvbi1IRWlJUWViQntjb2xvcjp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpO2xpbmUtaGVpZ2h0OjE3cHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5jb250YWluZXItSEVpSVFlYkIubGliQWxsU2VsZWN0ZWQtSEVpSVFlYkJ7d2lkdGg6Y2FsYyg1MCUgLSAycHgpfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsuY29udGFpbmVyLUhFaUlRZWJCLmxpYkFsbFNlbGVjdGVkLUhFaUlRZWJCe3dpZHRoOmF1dG99fS5jb250YWluZXItSEVpSVFlYkIubW9iaWxlLUhFaUlRZWJCe2hlaWdodDo1MnB4fS5jb250YWluZXItSEVpSVFlYkIubW9iaWxlLUhFaUlRZWJCLmFsbFNlbGVjdGVkLUhFaUlRZWJCe2hlaWdodDo0MHB4fS5jb250YWluZXItSEVpSVFlYkIubW9iaWxlLUhFaUlRZWJCIC5pY29uV3JhcC1IRWlJUWViQnttYXJnaW4taW5saW5lLXN0YXJ0OjJweDt3aWR0aDo0MHB4fS5jb250YWluZXItSEVpSVFlYkIubW9iaWxlLUhFaUlRZWJCIC5pY29uLUhFaUlRZWJCe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LmNvbnRhaW5lci1IRWlJUWViQi5tb2JpbGUtSEVpSVFlYkIgLnRpdGxlLUhFaUlRZWJCe2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI0cHh9LmNvbnRhaW5lci1IRWlJUWViQi5tb2JpbGUtSEVpSVFlYkIgLmRlc2NyaXB0aW9uLUhFaUlRZWJCe2ZvbnQtc2l6ZToxMnB4fS5jb250YWluZXItSEVpSVFlYkIuZGVza3RvcC1IRWlJUWViQntib3JkZXItYm90dG9tOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7aGVpZ2h0OjQ2cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6OHB4fS5jb250YWluZXItSEVpSVFlYkIuZGVza3RvcC1IRWlJUWViQiAuaWNvbldyYXAtSEVpSVFlYkJ7bWFyZ2luLWlubGluZS1lbmQ6OHB4fS5jb250YWluZXItSEVpSVFlYkIuZGVza3RvcC1IRWlJUWViQiAuaWNvbi1IRWlJUWViQntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS5jb250YWluZXItSEVpSVFlYkIuZGVza3RvcC1IRWlJUWViQiAuYWxsU2VsZWN0ZWRJY29uLUhFaUlRZWJCIHN2Z3toZWlnaHQ6MjBweDt3aWR0aDoyMHB4fS5jb250YWluZXItSEVpSVFlYkIuZGVza3RvcC1IRWlJUWViQiAudGl0bGUtSEVpSVFlYkJ7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjJweH0uY29udGFpbmVyLUhFaUlRZWJCLmRlc2t0b3AtSEVpSVFlYkIgLmRlc2NyaXB0aW9uLUhFaUlRZWJCe2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE2cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250YWluZXItSEVpSVFlYkIuZGVza3RvcC1IRWlJUWViQjpob3Zlcjpub3QoLnNlbGVjdGVkLUhFaUlRZWJCKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yLUlOYTcpfX0uY29udGFpbmVyLUhFaUlRZWJCe291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5jb250YWluZXItSEVpSVFlYkI6Zm9jdXN7b3V0bGluZTpub25lfS5jb250YWluZXItSEVpSVFlYkI6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmNvbnRhaW5lci1IRWlJUWViQjphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKTtib3JkZXItcmFkaXVzOjRweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6MX0uY29udGFpbmVyLUhFaUlRZWJCLmZvY3VzZWQtSEVpSVFlYkI6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uY29udGFpbmVyLUhFaUlRZWJCLnNlbGVjdGVkLUhFaUlRZWJCe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpfS5jb250YWluZXItSEVpSVFlYkIuc2VsZWN0ZWQtSEVpSVFlYkIgLmRlc2NyaXB0aW9uLUhFaUlRZWJCLC5jb250YWluZXItSEVpSVFlYkIuc2VsZWN0ZWQtSEVpSVFlYkIgLmljb24tSEVpSVFlYkIsLmNvbnRhaW5lci1IRWlJUWViQi5zZWxlY3RlZC1IRWlJUWViQiAudGl0bGUtSEVpSVFlYkJ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWludmVyc2UpfS5jb250YWluZXItSEVpSVFlYkIuc2VsZWN0ZWQtSEVpSVFlYkIgLmRlc2NyaXB0aW9uLUhFaUlRZWJCIC5oaWdobGlnaHRlZC1IRWlJUWViQntjb2xvcjp2YXIoLS1fNC1JTmE3KX0uY29udGFpbmVyLUhFaUlRZWJCLnNlbGVjdGVkLUhFaUlRZWJCe291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5jb250YWluZXItSEVpSVFlYkIuc2VsZWN0ZWQtSEVpSVFlYkI6Zm9jdXN7b3V0bGluZTpub25lfS5jb250YWluZXItSEVpSVFlYkIuc2VsZWN0ZWQtSEVpSVFlYkI6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmNvbnRhaW5lci1IRWlJUWViQi5zZWxlY3RlZC1IRWlJUWViQjphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZSk7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgLSAycHgpO2luc2V0LWlubGluZS1zdGFydDoxcHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MXB4O3dpZHRoOmNhbGMoMTAwJSAtIDJweCk7ei1pbmRleDoxfS5jb250YWluZXItSEVpSVFlYkIuc2VsZWN0ZWQtSEVpSVFlYkIuZm9jdXNlZC1IRWlJUWViQjphZnRlcntkaXNwbGF5OmJsb2NrfS50aXRsZVdpdGhvdXREZXNjLUhFaUlRZWJCe3BhZGRpbmctYm90dG9tOjhweDtwYWRkaW5nLXRvcDo4cHh9LnRleHRCbG9jay1IRWlJUWViQntkaXNwbGF5OmZsZXg7ZmxleDowIDEgYXV0bztmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjB9LmJvcmRlcmVkLUhFaUlRZWJCe2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLV8xLUlOYTcpfVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXdkdk46dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC13ZHZOOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApfS5jb250YWluZXItdHNqbVF0WFF7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVufS5jb250ZW50TGlzdC10c2ptUXRYUXtvdmVyZmxvdy15OmF1dG87cGFkZGluZzo2cHggMH1AbWVkaWEgKHBvaW50ZXI6ZmluZSl7QHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6bm9uZSl7LmNvbnRlbnRMaXN0LXRzam1RdFhRe3Njcm9sbGJhci1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKSAjMDAwMDtzY3JvbGxiYXItd2lkdGg6dGhpbn19LmNvbnRlbnRMaXN0LXRzam1RdFhROjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NXB4O3dpZHRoOjVweH0uY29udGVudExpc3QtdHNqbVF0WFE6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXNjcm9sbGJhci10aHVtYi1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXNjcm9sbC1iZykpO2JvcmRlcjoxcHggc29saWQgIzAwMDA7Ym9yZGVyLXJhZGl1czozcHh9LmNvbnRlbnRMaXN0LXRzam1RdFhROjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LmNvbnRlbnRMaXN0LXRzam1RdFhROjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfX0uY29udGVudExpc3REZXNrdG9wLXRzam1RdFhRe3BhZGRpbmc6MTZweCAwfS5zZWFyY2hTb3VyY2VJdGVtc0NvbnRhaW5lci10c2ptUXRYUXttYXJnaW4tYm90dG9tOjE2cHh9LnNlYXJjaFNvdXJjZUl0ZW1zQ29udGFpbmVyLXRzam1RdFhROmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS5zZWFyY2hTb3VyY2VJdGVtc0NvbnRhaW5lci10c2ptUXRYUS5vbmVDb2x1bW4tdHNqbVF0WFF7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0uc2VhcmNoU291cmNlSXRlbXNDb250YWluZXJEZXNrdG9wLXRzam1RdFhRe2NvbHVtbi1nYXA6NHB4O2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtqdXN0aWZ5LWNvbnRlbnQ6c3RyZXRjaDttYXJnaW4tYm90dG9tOjI0cHg7cGFkZGluZzowIDEycHh9LnNlYXJjaFNvdXJjZUl0ZW1zQ29udGFpbmVyRGVza3RvcC10c2ptUXRYUTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uZ3JvdXBUaXRsZURlc2t0b3AtdHNqbVF0WFF7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MjBweH0uY29sdW1uLXRzam1RdFhRe292ZXJmbG93OmhpZGRlbn0uZW1wdHlUZXh0LXRzam1RdFhRe2NvbG9yOnZhcigtLV8wLXdkdk4pO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI0cHg7bWFyZ2luOjEycHggMjBweDt0ZXh0LWFsaWduOmNlbnRlcn1AbWVkaWEgKG1heC1oZWlnaHQ6NDQwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsuZW1wdHlJY29uLXRzam1RdFhRe2Rpc3BsYXk6bm9uZX19Lm5vUmVzdWx0c0Rlc2t0b3AtdHNqbVF0WFF7ZmxleDoxIDA7b3ZlcmZsb3c6YXV0bztwYWRkaW5nLWJvdHRvbTo1NHB4O3BhZGRpbmctdG9wOjI0cHh9QHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6bm9uZSl7Lm5vUmVzdWx0c0Rlc2t0b3AtdHNqbVF0WFF7c2Nyb2xsYmFyLWNvbG9yOnZhcigtLXR2LWNvbG9yLXNjcm9sbGJhci10aHVtYi1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXNjcm9sbC1iZykpICMwMDAwO3Njcm9sbGJhci13aWR0aDp0aGlufX0ubm9SZXN1bHRzRGVza3RvcC10c2ptUXRYUTo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9Lm5vUmVzdWx0c0Rlc2t0b3AtdHNqbVF0WFE6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXNjcm9sbGJhci10aHVtYi1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXNjcm9sbC1iZykpO2JvcmRlcjoxcHggc29saWQgIzAwMDA7Ym9yZGVyLXJhZGl1czozcHh9Lm5vUmVzdWx0c0Rlc2t0b3AtdHNqbVF0WFE6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXItcmFkaXVzOjNweH0ubm9SZXN1bHRzRGVza3RvcC10c2ptUXRYUTo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uYWN0aW9ucy1vQXRvWGxSNHtkaXNwbGF5OmZsZXg7bWFyZ2luLWlubGluZS1lbmQ6OHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5hY3Rpb24tb0F0b1hsUjQuZGlzYWJsZWQtb0F0b1hsUjR7LS11aS1saWItaWNvbkJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyOiMwMDAwOy0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1ob3Zlcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCl9LmFjdGlvbi1vQXRvWGxSNCsuYWN0aW9uLW9BdG9YbFI0e21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS5mbGFnLU5tMTc0enFTe2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXRlcnRpYXJ5LWludmVyc2UpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS5mbGFncy1ObTE3NHpxU3tkaXNwbGF5OmZsZXh9LmZsYWdDb250YWluZXItTm0xNzR6cVN7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweH0uZmxhZ0NvbnRhaW5lci1ObTE3NHpxUzpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4taW5saW5lLXN0YXJ0Oi0xMHB4fS5jb3VudGVyLU5tMTc0enFTe2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxNnB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCk7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbi1pbmxpbmUtc3RhcnQ6MXB4fS5jb250YWluZXItTm0xNzR6cVN7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtpc29sYXRpb246aXNvbGF0ZX0uZmxhZ1dyYXAtRUJOWmRDSDF7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NHB4O2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKTtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjNweH0uZmxhZ1dyYXAtRUJOWmRDSDEgLmljb24tRUJOWmRDSDF7ZGlzcGxheTpmbGV4O2hlaWdodDoyMHB4O21hcmdpbi1pbmxpbmUtZW5kOjRweDtwYWRkaW5nOjRweDt3aWR0aDoyMHB4fS5mbGFnV3JhcC1FQk5aZENIMSAuaWNvbi1FQk5aZENIMSBzdmd7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmZsYWdXcmFwLUVCTlpkQ0gxOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeS1ob3Zlcik7Y29sb3I6dmFyKC0tY29sb3ItYnJhbmQtaG92ZXIpfS5mbGFnV3JhcC1FQk5aZENIMTpob3ZlciAuY2FyZXQtRUJOWmRDSDF7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMnB4KX19LnRpdGxlLUVCTlpkQ0gxe3doaXRlLXNwYWNlOm5vd3JhcH0uY2FyZXQtRUJOWmRDSDF7ZGlzcGxheTpmbGV4O2hlaWdodDoxOHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MThweH0uYnV0dG9uQ29sb3JzLXBlTWpRYnV6ey0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1ob3Zlcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKX0uYnV0dG9uQ29sb3JzLXBlTWpRYnV6OmFjdGl2ZXstLXVpLWxpYi1pY29uQnV0dG9uLWJhY2tncm91bmQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsKX0ud3JhcC1CZDA1QmpVYXtkaXNwbGF5OmNvbnRlbnRzfS5pdGVtLUJkMDVCalVhe2hlaWdodDo0MHB4O3BhZGRpbmctaW5saW5lLWVuZDoyNHB4fS5pdGVtLUJkMDVCalVhOmZpcnN0LWNoaWxke2dyaWQtY29sdW1uLWVuZDozO21pbi13aWR0aDowO3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9Lml0ZW0tQmQwNUJqVWE6bGFzdC1jaGlsZHtncmlkLWNvbHVtbi1zdGFydDpzcGFuIDM7cGFkZGluZy1pbmxpbmUtZW5kOjE3cHh9Lml0ZW0tQmQwNUJqVWEsLndyYXAtQmQwNUJqVWEuc21hbGwtQmQwNUJqVWF7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSk7ZGlzcGxheTpmbGV4O2dhcDo4cHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cG9zaXRpb246c3RpY2t5O3RvcDotMXB4O3otaW5kZXg6MX0ud3JhcC1CZDA1QmpVYS5uZXdTdHlsZXMtQmQwNUJqVWF7ZmxleDowIDAgYXV0bztmbGV4LWZsb3c6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtvdmVyZmxvdy14OmF1dG87cGFkZGluZzo4cHggMjBweH1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsud3JhcC1CZDA1QmpVYS5uZXdTdHlsZXMtQmQwNUJqVWF7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9fS53cmFwLUJkMDVCalVhLm5ld1N0eWxlcy1CZDA1QmpVYS5zYi1zY3JvbGxiYXItd3JhcHtkaXNwbGF5Om5vbmV9LndyYXAtQmQwNUJqVWEubmV3U3R5bGVzLUJkMDVCalVhOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0ud3JhcC1CZDA1QmpVYS5uZXdTdHlsZXMtQmQwNUJqVWE6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLC53cmFwLUJkMDVCalVhLm5ld1N0eWxlcy1CZDA1QmpVYTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7ZGlzcGxheTpub25lfS53cmFwLUJkMDVCalVhLm5ld1N0eWxlcy1CZDA1QmpVYTo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0ud3JhcC1CZDA1QmpVYS5uZXdTdHlsZXMtQmQwNUJqVWEubW9iaWxlLUJkMDVCalVhe2ZsZXgtZmxvdzp1bnNldH0udGV4dC1CZDA1QmpVYXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxNnB4Oy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6LjRweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2hpdGUtc3BhY2U6bm93cmFwfS5leGNoYW5nZS1CZDA1QmpVYSwudGV4dC1CZDA1QmpVYXtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LmV4Y2hhbmdlLUJkMDVCalVhey0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4fS5maWx0ZXJJdGVtLUJkMDVCalVhe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9LnRyYWRpbmdGaWx0ZXJCdXR0b25XcmFwLUJkMDVCalVhe21hcmdpbi1pbmxpbmUtZW5kOjhweH0uZW1wdHlTcGFjZS1CZDA1QmpVYXtmbGV4LXNocmluazowO2hlaWdodDo4cHh9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtazUxTjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tXzEtazUxTjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV8yLWs1MU46dmFyKC0tY29sb3Itd2hpdGUpOy0tXzMtazUxTjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tXzQtazUxTjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWs1MU46dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLV8xLWs1MU46dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fMi1rNTFOOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tXzMtazUxTjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tXzQtazUxTjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX1Aa2V5ZnJhbWVzIGhpZ2hsaWdodC1hbmltYXRpb24tdGhlbWUtbGlnaHQtcl9mNVFhbld7NTAle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCl9fUBrZXlmcmFtZXMgaGlnaGxpZ2h0LWFuaW1hdGlvbi10aGVtZS1kYXJrLXJfZjVRYW5XezUwJXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCl9fS5pdGVtUm93LXJfZjVRYW5Xe2Rpc3BsYXk6Y29udGVudHN9Lml0ZW1Sb3ctcl9mNVFhblcubXVsdGlMaW5lLXJfZjVRYW5Xe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjUycHh9QG1lZGlhIChtYXgtd2lkdGg6NDQwcHgpey5pdGVtUm93LXJfZjVRYW5XLm11bHRpTGluZS1yX2Y1UWFuVzpoYXMoLmNvbXBvc2l0ZURlc2NyaXB0aW9uLXJfZjVRYW5XKXtoZWlnaHQ6NzBweH19Lml0ZW1Sb3ctcl9mNVFhblcubXVsdGlMaW5lLXJfZjVRYW5XIC5jZWxsLXJfZjVRYW5Xe2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MTAwJX0uaXRlbVJvdy1yX2Y1UWFuVy5tdWx0aUxpbmUtcl9mNVFhblcgLml0ZW1JbmZvQ2VsbC1yX2Y1UWFuV3tmbGV4OjEgMSBhdXRvO21heC13aWR0aDpub25lO3BhZGRpbmctaW5saW5lLWVuZDoxNnB4fS5pdGVtUm93LXJfZjVRYW5XLm11bHRpTGluZS1yX2Y1UWFuVyAuZGVzY3JpcHRpb24tcl9mNVFhbld7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lml0ZW1Sb3ctcl9mNVFhblcubXVsdGlMaW5lLXJfZjVRYW5XIC5zeW1ib2xEZXNjcmlwdGlvbi1yX2Y1UWFuV3tjb2xvcjp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpO2ZvbnQtc2l6ZToxMnB4O2hlaWdodDoxN3B4O2xpbmUtaGVpZ2h0OjE3cHg7cGFkZGluZy1pbmxpbmUtZW5kOjB9QG1lZGlhIChtYXgtd2lkdGg6NDQwcHgpey5pdGVtUm93LXJfZjVRYW5XLm11bHRpTGluZS1yX2Y1UWFuVyAuY29tcG9zaXRlRGVzY3JpcHRpb24tcl9mNVFhbld7aGVpZ2h0OmF1dG99fS5pdGVtUm93LXJfZjVRYW5XLm11bHRpTGluZS1yX2Y1UWFuVyAuZmxhZy1yX2Y1UWFuV3ttYXJnaW4taW5saW5lLXN0YXJ0OjhweH0uaXRlbVJvdy1yX2Y1UWFuVy5tdWx0aUxpbmUtcl9mNVFhblcgLmV4Y2hhbmdlRGVzY3JpcHRpb24tcl9mNVFhbld7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2V9Lml0ZW1Sb3ctcl9mNVFhblcubXVsdGlMaW5lLXJfZjVRYW5XIC5leGNoYW5nZU5hbWUtcl9mNVFhblcsLml0ZW1Sb3ctcl9mNVFhblcubXVsdGlMaW5lLXJfZjVRYW5XIC5tYXJrZXRUeXBlLXJfZjVRYW5Xe3RleHQtYWxpZ246ZW5kfS5pdGVtUm93LXJfZjVRYW5XLm11bHRpTGluZS1yX2Y1UWFuVyAuZXhjaGFuZ2VOYW1lLXJfZjVRYW5Xe21hcmdpbi1pbmxpbmUtZW5kOjB9Lml0ZW1Sb3ctcl9mNVFhblcubXVsdGlMaW5lLXJfZjVRYW5XIC5tYXJrZXRUeXBlLXJfZjVRYW5Xe2xpbmUtaGVpZ2h0OjE3cHg7bWFyZ2luLWlubGluZS1lbmQ6MH0uaXRlbVJvdy1yX2Y1UWFuVy5tdWx0aUxpbmUtcl9mNVFhblcgLmFjdGlvbkhhbmRsZVdyYXAtcl9mNVFhbld7YWxpZ24taXRlbXM6Y2VudGVyfS5pdGVtUm93LXJfZjVRYW5XLm11bHRpTGluZS1yX2Y1UWFuVyAuc291cmNlLXJfZjVRYW5Xe2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW4tdG9wOjRweH0uaXRlbVJvdy1yX2Y1UWFuVy5hY3RpdmUtcl9mNVFhblcgLmNlbGwtcl9mNVFhblc6YWZ0ZXIsLml0ZW1Sb3ctcl9mNVFhblcuc2VsZWN0ZWQtcl9mNVFhblcgLmNlbGwtcl9mNVFhblc6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbS13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci10b3Atd2lkdGg6MnB4O2JvdHRvbTowO2NvbnRlbnQ6IiI7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7ei1pbmRleDoxfS5pdGVtUm93LXJfZjVRYW5XLmFjdGl2ZS1yX2Y1UWFuVyAubmVzdGVkQm9yZGVyT3ZlcmxhcC1yX2Y1UWFuVysuY2VsbC1yX2Y1UWFuVzphZnRlciwuaXRlbVJvdy1yX2Y1UWFuVy5zZWxlY3RlZC1yX2Y1UWFuVyAubmVzdGVkQm9yZGVyT3ZlcmxhcC1yX2Y1UWFuVysuY2VsbC1yX2Y1UWFuVzphZnRlcntib3JkZXItZW5kLXN0YXJ0LXJhZGl1czo0cHg7Ym9yZGVyLWlubGluZS1zdGFydC13aWR0aDoycHg7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czo0cHh9Lml0ZW1Sb3ctcl9mNVFhblcuYWN0aXZlLXJfZjVRYW5XIC5jZWxsLXJfZjVRYW5XOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCl9Lml0ZW1Sb3ctcl9mNVFhblcuc2VsZWN0ZWQtcl9mNVFhblcgLmNlbGwtcl9mNVFhblc6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50KX0uaXRlbVJvdy1yX2Y1UWFuVzphY3RpdmU6bm90KDpmb2N1cy13aXRoaW4pIC5jZWxsLXJfZjVRYW5Xe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KX0uaXRlbVJvdy1yX2Y1UWFuVy5leHBhbmRlZC1yX2Y1UWFuVyAuY2VsbC1yX2Y1UWFuVywuaXRlbVJvdy1yX2Y1UWFuVy5uZXN0ZWQtcl9mNVFhblcgLmNlbGwtcl9mNVFhbld7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC10aGluKTstLXR2LWNvbG9yLWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC10aGluKX0uaXRlbVJvdy1yX2Y1UWFuVy5uZXN0ZWQtcl9mNVFhblcgLm5lc3RlZEJvcmRlck92ZXJsYXAtcl9mNVFhblc6YmVmb3Jle2NvbnRlbnQ6IiJ9Lml0ZW1Sb3ctcl9mNVFhblcuaG92ZXItcl9mNVFhblcgLmNlbGwtcl9mNVFhbld7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbVJvdy1yX2Y1UWFuVzpob3ZlciAuY2VsbC1yX2Y1UWFuV3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCl9fS5pdGVtUm93LXJfZjVRYW5XLmhvdmVyLXJfZjVRYW5XIC5uZXN0ZWRCb3JkZXJPdmVybGFwLXJfZjVRYW5XOmJlZm9yZSwuaXRlbVJvdy1yX2Y1UWFuVy5ob3Zlci1yX2Y1UWFuVysubmVzdGVkLXJfZjVRYW5XIC5uZXN0ZWRCb3JkZXJPdmVybGFwLXJfZjVRYW5XOmJlZm9yZXtjb250ZW50Om5vbmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtUm93LXJfZjVRYW5XOmhvdmVyIC5uZXN0ZWRCb3JkZXJPdmVybGFwLXJfZjVRYW5XOmJlZm9yZSwuaXRlbVJvdy1yX2Y1UWFuVzpob3ZlcisubmVzdGVkLXJfZjVRYW5XIC5uZXN0ZWRCb3JkZXJPdmVybGFwLXJfZjVRYW5XOmJlZm9yZXtjb250ZW50Om5vbmV9fS5pdGVtUm93LXJfZjVRYW5XLmhpZ2hsaWdodGVkLXJfZjVRYW5XIC5jZWxsLXJfZjVRYW5Xe2FuaW1hdGlvbi1kdXJhdGlvbjoxczthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlfS5pdGVtUm93LXJfZjVRYW5XLmhpZ2hsaWdodGVkLXJfZjVRYW5XLmxpZ2h0LXJfZjVRYW5XIC5jZWxsLXJfZjVRYW5Xe2FuaW1hdGlvbi1uYW1lOmhpZ2hsaWdodC1hbmltYXRpb24tdGhlbWUtbGlnaHQtcl9mNVFhbld9Lml0ZW1Sb3ctcl9mNVFhblcuaGlnaGxpZ2h0ZWQtcl9mNVFhblcuZGFyay1yX2Y1UWFuVyAuY2VsbC1yX2Y1UWFuV3thbmltYXRpb24tbmFtZTpoaWdobGlnaHQtYW5pbWF0aW9uLXRoZW1lLWRhcmstcl9mNVFhbld9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtUm93LXJfZjVRYW5XOmhvdmVyIC5tYXJrZWRGbGFnLXJfZjVRYW5Xe2Rpc3BsYXk6ZmxleH19Lml0ZW1Sb3ctcl9mNVFhblcgLml0ZW1JbmZvQ2VsbC1yX2Y1UWFuV3tkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjI0MHB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWlubGluZS1lbmQ6MjRweH0uaXRlbVJvdy1yX2Y1UWFuVyAuaXRlbUluZm9DZWxsLXJfZjVRYW5XLm9mZnNldC1yX2Y1UWFuV3twYWRkaW5nLWlubGluZS1zdGFydDo4cHh9Lml0ZW1Sb3ctcl9mNVFhblcgLml0ZW1JbmZvQ2VsbC1yX2Y1UWFuVyAuZGVzY3JpcHRpb24tcl9mNVFhbld7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO292ZXJmbG93OmhpZGRlbn0uaXRlbVJvdy1yX2Y1UWFuVyAuaXRlbUluZm9DZWxsLXJfZjVRYW5XIC5kZXNjcmlwdGlvbi1yX2Y1UWFuVy5vZmZzZXQtcl9mNVFhbld7bWFyZ2luLWlubGluZS1zdGFydDo0NHB4fS5pdGVtUm93LXJfZjVRYW5XIC5kZXNjcmlwdGlvbkNlbGwtcl9mNVFhbld7ZGlzcGxheTpmbGV4O21pbi13aWR0aDowfS5pdGVtUm93LXJfZjVRYW5XIC5kZXNjcmlwdGlvbkNlbGwtcl9mNVFhblcuYWRkaXRpb24tcl9mNVFhbld7Z3JpZC1jb2x1bW46My81fS5pdGVtUm93LXJfZjVRYW5XIC5leGNoYW5nZUNlbGwtcl9mNVFhbld7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LXNocmluazowO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1pbmxpbmUtZW5kOjIwcHh9QG1lZGlhIChtYXgtd2lkdGg6NDQwcHgpey5pdGVtUm93LXJfZjVRYW5XIC5leGNoYW5nZUNlbGwtcl9mNVFhbld7bWF4LXdpZHRoOjEyNHB4fS5pdGVtUm93LXJfZjVRYW5XIC5leGNoYW5nZUNlbGwtcl9mNVFhblc6aGFzKC5tdWx0aXBsZUZsYWdzLXJfZjVRYW5XKXttYXgtd2lkdGg6MTgwcHh9fS5pdGVtUm93LXJfZjVRYW5XIC5leGNoYW5nZUNlbGwtcl9mNVFhblcuaGlkZGVuLXJfZjVRYW5Xe2Rpc3BsYXk6bm9uZX0uaXRlbVJvdy1yX2Y1UWFuVy5uZXN0ZWQtcl9mNVFhblcgLmV4Y2hhbmdlQ2VsbC1yX2Y1UWFuV3twYWRkaW5nLWlubGluZS1lbmQ6NDZweH0uaXRlbVJvdy1yX2Y1UWFuVyAuaG92ZXJDZWxsLXJfZjVRYW5Xe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7cGFkZGluZy1pbmxpbmUtZW5kOjIwcHh9Lml0ZW1Sb3ctcl9mNVFhblcgLmNlbGwtcl9mNVFhblcgLmhvdmVyQ2VsbC1yX2Y1UWFuVzphZnRlcntjb250ZW50Om5vbmV9Lm5lc3RlZEJvcmRlck92ZXJsYXAtcl9mNVFhbld7aGVpZ2h0OjEwMCU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MH0ubmVzdGVkQm9yZGVyT3ZlcmxhcC1yX2Y1UWFuVzpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC10aGluKTtoZWlnaHQ6NHB4O2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMXB4O3dpZHRoOjEycHh9LmFjdGlvbkhhbmRsZVdyYXAtcl9mNVFhbld7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LXNocmluazowfS5hY3Rpb25IYW5kbGVXcmFwLXJfZjVRYW5XLmZpeGVkV2lkdGgtcl9mNVFhbld7d2lkdGg6MjBweH0uZXhwYW5kVG9nZ2xlLXJfZjVRYW5Xe21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZTo2cHggLTJweH0uc3ltYm9sRGVzY3JpcHRpb24tcl9mNVFhblcsLnN5bWJvbFRpdGxlLXJfZjVRYW5Xe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpfS5zeW1ib2xEZXNjcmlwdGlvbi1yX2Y1UWFuVy5pbnZhbGlkLXJfZjVRYW5XLC5zeW1ib2xUaXRsZS1yX2Y1UWFuVy5pbnZhbGlkLXJfZjVRYW5Xe2NvbG9yOnZhcigtLV8wLWs1MU4pfS5zeW1ib2xEZXNjcmlwdGlvbi1yX2Y1UWFuVyBlbSwuc3ltYm9sVGl0bGUtcl9mNVFhblcgZW17Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApO2ZvbnQtc3R5bGU6bm9ybWFsfS5zeW1ib2xEZXNjcmlwdGlvbi1yX2Y1UWFuVy5ub0Rlc2NyaXB0aW9uLXJfZjVRYW5XLC5zeW1ib2xUaXRsZS1yX2Y1UWFuVy5ub0Rlc2NyaXB0aW9uLXJfZjVRYW5Xe3BhZGRpbmctdG9wOjFweH0uaGlnaGxpZ2h0ZWRUZXh0LXJfZjVRYW5Xe2ZvbnQtd2VpZ2h0OjcwMH0uc3ltYm9sVGl0bGUtcl9mNVFhbld7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjRweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnN5bWJvbERlc2NyaXB0aW9uLXJfZjVRYW5Xe2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjM5cHg7bWFyZ2luLWlubGluZS1lbmQ6YXV0bztwYWRkaW5nLWlubGluZS1lbmQ6MjRweH0uY29tcG9zaXRlRGVzY3JpcHRpb24tcl9mNVFhbld7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7bWF4LXdpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6NDQwcHgpey5jb21wb3NpdGVEZXNjcmlwdGlvbi1yX2Y1UWFuV3thbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn19LnN5bWJvbERlc2NyaXB0aW9uTWFpbi1yX2Y1UWFuV3tmbGV4LXNocmluazoxO21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uc3ltYm9sRGVzY3JpcHRpb25EZXRhaWxzLXJfZjVRYW5Xe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKTtmbGV4LXNocmluazowfS5zeW1ib2xEZXNjcmlwdGlvbkRldGFpbHMtcl9mNVFhblc6YmVmb3Jle2NvbnRlbnQ6IuKAoiI7bWFyZ2luOjAgNHB4fUBtZWRpYSAobWF4LXdpZHRoOjQ0MHB4KXsuc3ltYm9sRGVzY3JpcHRpb25EZXRhaWxzLXJfZjVRYW5XOmJlZm9yZXtjb250ZW50Om5vbmV9fS5leGNoYW5nZURlc2NyaXB0aW9uLXJfZjVRYW5Xe2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW59LmZsYWctcl9mNVFhbld7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LXNocmluazowfS5leGNoYW5nZU5hbWUtcl9mNVFhbld7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjFweDttYXJnaW4taW5saW5lLWVuZDo4cHh9Lm5hcnJvdy1yX2Y1UWFuV3ttYXgtd2lkdGg6MTAwcHh9LndpZGUtcl9mNVFhbld7bWF4LXdpZHRoOjE4MHB4fS5tYXJrZXRUeXBlLXJfZjVRYW5Xe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MjFweDttYXJnaW4taW5saW5lLWVuZDo4cHh9LmV4Y2hhbmdlTmFtZS1yX2Y1UWFuVywubWFya2V0VHlwZS1yX2Y1UWFuV3t0ZXh0LWFsaWduOnN0YXJ0fS5leGNoYW5nZU5hbWUtcl9mNVFhblcsLm1hcmtldFR5cGUtcl9mNVFhblcsLnN5bWJvbERlc2NyaXB0aW9uLXJfZjVRYW5XLC5zeW1ib2xUaXRsZS1yX2Y1UWFuV3tvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LmRhdGFNb2RlLXJfZjVRYW5Xe2NvbG9yOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNDAwKTtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MTJweDttYXJnaW4taW5saW5lLXN0YXJ0OjJweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dmVydGljYWwtYWxpZ246dG9wfS5jZWxsLXJfZjVRYW5Xe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTtjdXJzb3I6ZGVmYXVsdDtoZWlnaHQ6MzlweDtpc29sYXRpb246aXNvbGF0ZTtwb3NpdGlvbjpyZWxhdGl2ZX0uY2VsbC1yX2Y1UWFuVzphZnRlcntib3JkZXItd2lkdGg6MH0uYWN0aW9uc0NlbGwtcl9mNVFhbld7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtwYWRkaW5nLWlubGluZS1lbmQ6MTJweH0uYWN0aW9uc0NlbGwtcl9mNVFhblcgLmFjdGlvbi1yX2Y1UWFuV3toZWlnaHQ6MjhweDttYXJnaW4taW5saW5lLWVuZDo4cHg7d2lkdGg6MjhweDstLXR2LWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi1rNTFOKX0uYWN0aW9uc0NlbGwtcl9mNVFhblcgLmFjdGlvbi1yX2Y1UWFuVy5zZWxlY3RlZC1yX2Y1UWFuV3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZC1ob3Zlcil9LmFjdGlvbnNDZWxsLXJfZjVRYW5XIC50YXJnZXRBY3Rpb24tcl9mNVFhblcuc2VsZWN0ZWQtcl9mNVFhbld7Y29sb3I6dmFyKC0tXzQtazUxTil9LmFjdGlvbnNDZWxsLXJfZjVRYW5XIC5yZW1vdmVBY3Rpb24tcl9mNVFhblcuc2VsZWN0ZWQtcl9mNVFhbld7Y29sb3I6dmFyKC0tXzMtazUxTil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5hY3Rpb25zQ2VsbC1yX2Y1UWFuVyAucmVtb3ZlQWN0aW9uLXJfZjVRYW5XOmhvdmVye2NvbG9yOnZhcigtLV8zLWs1MU4pfX0uYWN0aW9uc0NlbGwtcl9mNVFhblcgLmFkZEFjdGlvbi1yX2Y1UWFuV3tjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmFjdGlvbnNDZWxsLXJfZjVRYW5XIC5hZGRBY3Rpb24tcl9mNVFhblc6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCl9fS5hY3Rpb25zQ2VsbC1yX2Y1UWFuVzphZnRlciwuY2VsbC1yX2Y1UWFuVzpoYXMoKy5lbXB0eUFjdGlvbnMtcl9mNVFhblcpOmFmdGVyLC5jZWxsLXJfZjVRYW5XOmhhcygrLmV4Y2hhbmdlQ2VsbC1yX2Y1UWFuVy5oaWRkZW4tcl9mNVFhblcrLmVtcHR5QWN0aW9ucy1yX2Y1UWFuVyk6YWZ0ZXJ7Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjRweDtib3JkZXItaW5saW5lLWVuZC13aWR0aDoycHg7Ym9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6NHB4fS5tYXJrZWRGbGFnV3JhcC1yX2Y1UWFuV3thbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXJrZWRGbGFnV3JhcC1yX2Y1UWFuVy5vZmZzZXQtcl9mNVFhbld7bWFyZ2luLWlubGluZS1zdGFydDotOHB4fS5tYXJrZWRGbGFnLXJfZjVRYW5Xe2Rpc3BsYXk6bm9uZX0ubWFya2VkRmxhZ01vYmlsZS1yX2Y1UWFuV3tkaXNwbGF5OmZsZXh9LmxvZ28tcl9mNVFhbld7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MjBweH0uc291cmNlLXJfZjVRYW5Xe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS5wcmltYXJ5SWNvbi1yX2Y1UWFuV3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbGlnaHQpO2JvcmRlci1yYWRpdXM6NnB4O2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtaGVhdnkpO2hlaWdodDoxOHB4O21hcmdpbi1pbmxpbmUtZW5kOjRweH0ucHJvbW9CYWRnZS1yX2Y1UWFuV3thbGlnbi1zZWxmOmNlbnRlcjttYXJnaW4taW5saW5lLWVuZDo4cHg7LS11aS1saWItYmFkZ2UtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpOy0tdWktbGliLWJhZGdlLWJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjYjEzMWI4LCMyYzIzOTEgMjAlLCMwYjA5MjMgNDAlLCMwYjA5MjMgNjAlLCMyYzIzOTEgODAlLCNiMTMxYjgpfS5wcm9tb0ljb24tcl9mNVFhbld7bWFyZ2luLWlubGluZS1lbmQ6NHB4Oy0tdWktbGliLWJhZGdlLXBhZGRpbmctbGVmdDoxcHg7LS11aS1saWItYmFkZ2UtcGFkZGluZy1yaWdodDoxcHh9LndyYXAtRlNYNkFhdFh7Y29udGFpbjpzdHJpY3Q7Y3Vyc29yOmRlZmF1bHQ7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MH0ud3JhcC1GU1g2QWF0WC53YXRjaGxpc3QtRlNYNkFhdFh7cGFkZGluZy10b3A6MH0ud3JhcC1GU1g2QWF0WC5ub0ZlZWQtRlNYNkFhdFh7bWF4LWhlaWdodDo0MHB4fS53cmFwLUZTWDZBYXRYLm5ld1N0eWxlcy1GU1g2QWF0WHttYXgtaGVpZ2h0OjB9LnNjcm9sbENvbnRhaW5lci1GU1g2QWF0WHtoZWlnaHQ6MTAwJTttYXJnaW4tdG9wOjFweDtvdmVyZmxvdzphdXRvO3Njcm9sbC1wYWRkaW5nLXRvcDo0MHB4fUBtZWRpYSAocG9pbnRlcjpmaW5lKXtAc3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuc2Nyb2xsQ29udGFpbmVyLUZTWDZBYXRYe3Njcm9sbGJhci1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKSAjMDAwMDtzY3JvbGxiYXItd2lkdGg6dGhpbn19LnNjcm9sbENvbnRhaW5lci1GU1g2QWF0WDo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9LnNjcm9sbENvbnRhaW5lci1GU1g2QWF0WDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0uc2Nyb2xsQ29udGFpbmVyLUZTWDZBYXRYOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LnNjcm9sbENvbnRhaW5lci1GU1g2QWF0WDo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX19LnNjcm9sbENvbnRhaW5lci1GU1g2QWF0WC5ub0ZlZWQtRlNYNkFhdFh7b3ZlcmZsb3c6aGlkZGVufS5saXN0Q29udGFpbmVyLUZTWDZBYXRYLC53YXRjaGxpc3RDb250YWluZXItRlNYNkFhdFh7Ym94LXNpemluZzpib3JkZXItYm94O21heC13aWR0aDoxMDAlO3BhZGRpbmctYm90dG9tOjZweH0ubGlzdENvbnRhaW5lci1GU1g2QWF0WHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczowZnIgbWluLWNvbnRlbnQgMWZyIG1pbi1jb250ZW50IG1pbi1jb250ZW50O21hcmdpbi10b3A6LTFweDtwYWRkaW5nLXRvcDoxcHh9Lmxpc3RDb250YWluZXItRlNYNkFhdFgubXVsdGlMaW5lSXRlbXNDb250YWluZXItRlNYNkFhdFh7ZGlzcGxheTpibG9ja30ubGlzdENvbnRhaW5lci1GU1g2QWF0WC53aXRoU3Bpbm5lci1GU1g2QWF0WHtwYWRkaW5nLWJvdHRvbTowfS5zcGlubmVyQ29udGFpbmVyLUZTWDZBYXRYe2FsaWduLWl0ZW1zOmNlbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2dyaWQtY29sdW1uOjEvLTE7aGVpZ2h0OjQwcHg7bWFyZ2luLWJvdHRvbTo2cHg7cG9zaXRpb246cmVsYXRpdmV9LnNwaW5uZXJDb250YWluZXItRlNYNkFhdFgubGFyZ2VTcGlubmVyLUZTWDZBYXRYe2hlaWdodDo1MnB4fVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLTlhMkg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC05YTJIOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApfS5vdGhlclN5bWJvbHMtUjFvV21vcE17Y29sb3I6dmFyKC0tXzAtOWEySCk7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2ZvbnQtc2l6ZToxNnB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bGluZS1oZWlnaHQ6MjRweDttYXJnaW46MCAyMHB4O3RleHQtYWxpZ246Y2VudGVyfS5vdGhlclN5bWJvbHMtUjFvV21vcE0ubmV3U3R5bGVzLVIxb1dtb3BNe2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE4cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NjAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MjRweDttYXJnaW4tYm90dG9tOjEycHh9Lm90aGVyU3ltYm9scy1SMW9XbW9wTS5uZXdTdHlsZXMtUjFvV21vcE0sLm90aGVyU3ltYm9scy1SMW9XbW9wTS5zbWFsbEZvbnQtUjFvV21vcE17Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9Lm90aGVyU3ltYm9scy1SMW9XbW9wTS5zbWFsbEZvbnQtUjFvV21vcE17Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4fS5yZXNldEZpbHRlcnMtUjFvV21vcE17YWxpZ24taXRlbXM6Y2VudGVyO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6OHB4O2hlaWdodDozNHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLXRvcDoxNnB4fS5ib2xkLVIxb1dtb3BNe2ZvbnQtd2VpZ2h0OjcwMH0uZXhjaGFuZ2VXcmFwLVIxb1dtb3BNe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9Lmljb24tUjFvV21vcE17aGVpZ2h0OjE4cHg7bWFyZ2luLWJsb2NrOjAgMnB4O21hcmdpbi1pbmxpbmU6MTBweCA2cHg7d2lkdGg6MThweH0ubm9SZXN1bHRzRGVza3RvcC1SMW9XbW9wTXtmbGV4OjEgMDtvdmVyZmxvdzphdXRvO3BhZGRpbmctYm90dG9tOjU0cHg7cGFkZGluZy10b3A6MjRweH1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsubm9SZXN1bHRzRGVza3RvcC1SMW9XbW9wTXtzY3JvbGxiYXItY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSkgIzAwMDA7c2Nyb2xsYmFyLXdpZHRoOnRoaW59fS5ub1Jlc3VsdHNEZXNrdG9wLVIxb1dtb3BNOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NXB4O3dpZHRoOjVweH0ubm9SZXN1bHRzRGVza3RvcC1SMW9XbW9wTTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0ubm9SZXN1bHRzRGVza3RvcC1SMW9XbW9wTTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlci1yYWRpdXM6M3B4fS5ub1Jlc3VsdHNEZXNrdG9wLVIxb1dtb3BNOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS50b2tlbi1SMW9XbW9wTXtjb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9LnNob3dNZS1SMW9XbW9wTXtib3JkZXItcmFkaXVzOjZweH1bZGF0YS10aGVtZT1saWdodF17LS1fMC0tZDdPOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtLWQ3Tzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX0uc2VhcmNoLWsyUkJ2TFZNOjpwbGFjZWhvbGRlcnt0ZXh0LXRyYW5zZm9ybTpub25lfS5zZWFyY2gtazJSQnZMVk0udXBwZXJDYXNlLWsyUkJ2TFZNe3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uaW5wdXRDb250YWluZXItazJSQnZMVk17cGFkZGluZzowIDIwcHggOHB4fS5zcHJlYWRzLWsyUkJ2TFZNe2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4taW5saW5lLWVuZDo5cHg7cGFkZGluZzowIDVweH0uc3ByZWFkcy1rMlJCdkxWTTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wbGF0Zm9ybS1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLWNoYXJ0LXBhZ2UtYmcpKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4fS5idWJibGVzQ29udGFpbmVyLWsyUkJ2TFZNey0tdWktbGliLXJvdW5kLXRhYnMtaG9yLXBhZGRpbmc6MH0uYnViYmxlc0NvbnRhaW5lci1rMlJCdkxWTSAuYnViYmxlcy1rMlJCdkxWTXttYXJnaW4tYm90dG9tOjA7bWFyZ2luLXRvcDowO21pbi1oZWlnaHQ6Zml0LWNvbnRlbnQ7cGFkZGluZzo4cHggMjBweDt3aWR0aDp1bnNldH0uc3Bpbm5lcldyYXAtazJSQnZMVk17aGVpZ2h0OjEwMCU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJX0uZW1wdHlUZXh0LWsyUkJ2TFZNe2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MThweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyOHB4O2NvbG9yOnZhcigtLV8wLS1kN08pO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTttYXJnaW46MCAyMHB4O3RleHQtYWxpZ246Y2VudGVyfUBtZWRpYSAobWF4LWhlaWdodDo0NDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5lbXB0eUljb24tazJSQnZMVk17ZGlzcGxheTpub25lfX0ubm9SZXN1bHRzRGVza3RvcC1rMlJCdkxWTXtmbGV4OjEgMDtvdmVyZmxvdzphdXRvO3BhZGRpbmctYm90dG9tOjU0cHg7cGFkZGluZy10b3A6MjRweH1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsubm9SZXN1bHRzRGVza3RvcC1rMlJCdkxWTXtzY3JvbGxiYXItY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSkgIzAwMDA7c2Nyb2xsYmFyLXdpZHRoOnRoaW59fS5ub1Jlc3VsdHNEZXNrdG9wLWsyUkJ2TFZNOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NXB4O3dpZHRoOjVweH0ubm9SZXN1bHRzRGVza3RvcC1rMlJCdkxWTTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0ubm9SZXN1bHRzRGVza3RvcC1rMlJCdkxWTTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlci1yYWRpdXM6M3B4fS5ub1Jlc3VsdHNEZXNrdG9wLWsyUkJ2TFZNOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS50cmFkaW5nRmlsdGVyQnV0dG9uV3JhcC1rMlJCdkxWTXtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWFyZ2luLWlubGluZS1lbmQ6YXV0bzttYXgtd2lkdGg6MTAwJTtwYWRkaW5nLXRvcDoxMnB4fS5kaWFsb2ctc2FiaDFmaDR7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjEwMCV9LnRhYmxldERpYWxvZy1zYWJoMWZoNHtoZWlnaHQ6NTYycHg7bWF4LXdpZHRoOjU2MHB4fS5kZXNrdG9wRGlhbG9nLXNhYmgxZmg0e2hlaWdodDo2ODBweDttYXgtd2lkdGg6ODQwcHg7bWluLXdpZHRoOjcxOXB4O3dpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6NzY4cHgpey5kZXNrdG9wRGlhbG9nLXNhYmgxZmg0e21heC13aWR0aDo2NDBweDttaW4td2lkdGg6NDgwcHh9fUBtZWRpYSAobWF4LXdpZHRoOjUxOXB4KXsuZGVza3RvcERpYWxvZy1zYWJoMWZoNHttYXgtd2lkdGg6NDc5cHg7bWluLXdpZHRoOjM4MHB4fX0uYmFja0J1dHRvbi1zYWJoMWZoNHttYXJnaW4taW5saW5lLWVuZDoxN3B4O21hcmdpbi1pbmxpbmUtc3RhcnQ6LTNweH0="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/manifest.json","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.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":"xhr","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:47.430Z","timestamp":1785141587430,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /manifest.json HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nContent-Type: text/plain\r\nOrigin: https://oxlofttrd.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://oxlofttrd.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 08:39:47 GMT\r\ncontent-type: application/json\r\naccess-control-allow-origin: *\r\ncache-control: max-age=300, public, s-maxage=60\r\netag: W/\"6a670743-891\"\r\nexpires: Mon, 27 Jul 2026 07:32:27 GMT\r\nlast-modified: Mon, 27 Jul 2026 07:22:43 GMT\r\nx-77-nzt: k+BKgzaHa84kGwouRXgSbsy9mnv7nPdbmihBZ4dI/UW2bptKPIpLcHjkSre0lvnrIP2eEPU\r\nx-77-nzt-ray: e2f75420e61480335319676a4890851d\r\nx-77-cache: HIT\r\nx-77-age: 9\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":2193,"size_decoded":1028,"mime_type":"application/json","magic":"JSON text data","md5":"ac973fd16446a8bd414c2cfdbfbdd6ba","sha1":"6d802991373d8180ad7c4197d08c2e8d8e21d581","sha256":"8c973dd5712d4b0125d2be8cc65e3590298e054fb63560738ecf0f64b8e43277","sha512":"9748bc4696f6ec983d5dbd492e36472b1e083d2e61c3a60133b102a8370f7603b54bfe88360c24035fe882d5c30f0a52eb253ae2d0d460d384d72f9f3b188d79","ssdeep":"","tlshash":"c3417893c0f80d531b9c6627b8855a415d50c3c3a8993e0e72ad8a7f2f4ceb910e67bc","first_seen":"2026-07-27T07:28:16.144753Z","last_seen":"2026-07-27T15:05:49.460431Z","times_seen":878,"resource_available":false,"data":"ewogICJfV2lkZ2V0TWVzc2VuZ2VySW5wdXQtREhyNXVId2QuanMiOiB7CiAgICAiZmlsZSI6ICJhc3NldHMvV2lkZ2V0TWVzc2VuZ2VySW5wdXQtREhyNXVId2QuanMiLAogICAgIm5hbWUiOiAiV2lkZ2V0TWVzc2VuZ2VySW5wdXQiLAogICAgImltcG9ydHMiOiBbCiAgICAgICJfc2hhcmVkLWtiMXlxSGFBLmpzIgogICAgXSwKICAgICJkeW5hbWljSW1wb3J0cyI6IFsKICAgICAgIm5vZGVfbW9kdWxlcy8ucG5wbS9lbW9qaS1tYXJ0QDUuNi4wL25vZGVfbW9kdWxlcy9lbW9qaS1tYXJ0L2Rpc3QvbW9kdWxlLmpzIgogICAgXQogIH0sCiAgIl9zaGFyZWQta2IxeXFIYUEuanMiOiB7CiAgICAiZmlsZSI6ICJhc3NldHMvc2hhcmVkLWtiMXlxSGFBLmpzIiwKICAgICJuYW1lIjogIkljb25CdXR0b24iLAogICAgImR5bmFtaWNJbXBvcnRzIjogWwogICAgICAibm9kZV9tb2R1bGVzLy5wbnBtL0B0aHVtYm1hcmtqcyt0aHVtYm1hcmtqc0AxLjkuMC9ub2RlX21vZHVsZXMvQHRodW1ibWFya2pzL3RodW1ibWFya2pzL2Rpc3QvdGh1bWJtYXJrLmVzbS5qcyIKICAgIF0KICB9LAogICJub2RlX21vZHVsZXMvLnBucG0vQHRodW1ibWFya2pzK3RodW1ibWFya2pzQDEuOS4wL25vZGVfbW9kdWxlcy9AdGh1bWJtYXJranMvdGh1bWJtYXJranMvZGlzdC90aHVtYm1hcmsuZXNtLmpzIjogewogICAgImZpbGUiOiAiYXNzZXRzL3RodW1ibWFyay5lc20tQ1A0Q1UweUwuanMiLAogICAgIm5hbWUiOiAidGh1bWJtYXJrLmVzbSIsCiAgICAic3JjIjogIm5vZGVfbW9kdWxlcy8ucG5wbS9AdGh1bWJtYXJranMrdGh1bWJtYXJranNAMS45LjAvbm9kZV9tb2R1bGVzL0B0aHVtYm1hcmtqcy90aHVtYm1hcmtqcy9kaXN0L3RodW1ibWFyay5lc20uanMiLAogICAgImlzRHluYW1pY0VudHJ5IjogdHJ1ZQogIH0sCiAgIm5vZGVfbW9kdWxlcy8ucG5wbS9lbW9qaS1tYXJ0QDUuNi4wL25vZGVfbW9kdWxlcy9lbW9qaS1tYXJ0L2Rpc3QvbW9kdWxlLmpzIjogewogICAgImZpbGUiOiAiYXNzZXRzL21vZHVsZS1ERDVudlZEMy5qcyIsCiAgICAibmFtZSI6ICJtb2R1bGUiLAogICAgInNyYyI6ICJub2RlX21vZHVsZXMvLnBucG0vZW1vamktbWFydEA1LjYuMC9ub2RlX21vZHVsZXMvZW1vamktbWFydC9kaXN0L21vZHVsZS5qcyIsCiAgICAiaXNEeW5hbWljRW50cnkiOiB0cnVlCiAgfSwKICAic3JjL2ZyYW1lcy9tZXNzZW5nZXIvV2lkZ2V0TWVzc2VuZ2VyLnN2ZWx0ZSI6IHsKICAgICJmaWxlIjogImFzc2V0cy9XaWRnZXRNZXNzZW5nZXItRDFpVlkzTGouanMiLAogICAgIm5hbWUiOiAiV2lkZ2V0TWVzc2VuZ2VyIiwKICAgICJzcmMiOiAic3JjL2ZyYW1lcy9tZXNzZW5nZXIvV2lkZ2V0TWVzc2VuZ2VyLnN2ZWx0ZSIsCiAgICAiaXNEeW5hbWljRW50cnkiOiB0cnVlLAogICAgImltcG9ydHMiOiBbCiAgICAgICJfc2hhcmVkLWtiMXlxSGFBLmpzIiwKICAgICAgIl9XaWRnZXRNZXNzZW5nZXJJbnB1dC1ESHI1dUh3ZC5qcyIsCiAgICAgICJzcmMvbWFpbi50cyIKICAgIF0KICB9LAogICJzcmMvZnJhbWVzL3BvcHVwL1dpZGdldFBvcHVwLnN2ZWx0ZSI6IHsKICAgICJmaWxlIjogImFzc2V0cy9XaWRnZXRQb3B1cC1CQTFqY0hudS5qcyIsCiAgICAibmFtZSI6ICJXaWRnZXRQb3B1cCIsCiAgICAic3JjIjogInNyYy9mcmFtZXMvcG9wdXAvV2lkZ2V0UG9wdXAuc3ZlbHRlIiwKICAgICJpc0R5bmFtaWNFbnRyeSI6IHRydWUsCiAgICAiaW1wb3J0cyI6IFsKICAgICAgIl9zaGFyZWQta2IxeXFIYUEuanMiLAogICAgICAiX1dpZGdldE1lc3NlbmdlcklucHV0LURIcjV1SHdkLmpzIgogICAgXQogIH0sCiAgInNyYy9tYWluLnRzIjogewogICAgImZpbGUiOiAiYXNzZXRzL21haW4tQi1WSGMxSzQuanMiLAogICAgIm5hbWUiOiAibWFpbiIsCiAgICAic3JjIjogInNyYy9tYWluLnRzIiwKICAgICJpc0VudHJ5IjogdHJ1ZSwKICAgICJpbXBvcnRzIjogWwogICAgICAiX3NoYXJlZC1rYjF5cUhhQS5qcyIKICAgIF0sCiAgICAiZHluYW1pY0ltcG9ydHMiOiBbCiAgICAgICJzcmMvZnJhbWVzL21lc3Nlbmdlci9XaWRnZXRNZXNzZW5nZXIuc3ZlbHRlIiwKICAgICAgInNyYy9mcmFtZXMvcG9wdXAvV2lkZ2V0UG9wdXAuc3ZlbHRlIgogICAgXQogIH0sCiAgInN0eWxlLmNzcyI6IHsKICAgICJmaWxlIjogImFzc2V0cy9zdHlsZS1DbGlKd1VUUi5jc3MiLAogICAgInNyYyI6ICJzdHlsZS5jc3MiCiAgfQp9"}},"time_used":70,"timings":{"blocked":-1,"dns":36,"connect":8,"send":0,"wait":8,"receive":0,"ssl":18},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/6934.90edfef6ce98369ae04a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.157Z","timestamp":1785141584157,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/6934.90edfef6ce98369ae04a.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-138a8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5584ac171da3c93a133b78a2cc8ce412\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":80040,"size_decoded":25281,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (8855)","md5":"e360111388c7ca7cc416b65a333c1c13","sha1":"e46ada551fc22f5bd35034c2bca095f54b635503","sha256":"fcaf403c75b1a585c7a07556cb65bc683ba6feecbe0399257d62a34f85d430bd","sha512":"60b615d8b0f61e9026e63070379bd94624842f181c1c1fc3ebd02da9ec8b0937f58c344459767399d75cd658ba805c0033a4d1e60d237c8bf2cfd20377f72aa6","ssdeep":"1536:Rw7HUzRyKUuj/NJd07iwH2Hwzp0q2f70lq4Gf7TtJiO:RJzRyluj/NJ6kMpc7N4Gf7Tz3","tlshash":"0273b638f9d0a4b7b2e784fe6741e6919a26b88276265fe17235c6c47804ccf3135e1e","first_seen":"2026-07-23T13:54:09.170539Z","last_seen":"2026-07-27T14:50:15.363154Z","times_seen":295,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2OTM0XSx7ODQ1NTc3KG8pe28uZXhwb3J0cz17InR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUiOiJ0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLWo0SmxyWVZIIiwidHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1ydGwiOiJ0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSCJ9fSw3MzIwNDAobyxyLGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgbDtmdW5jdGlvbiB0KG8scj13aW5kb3cpe2NvbnN0IGU9InRoZW1lLSIrbyxsPXIuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdDtmb3IoY29uc3QgbyBvZiBBcnJheS5mcm9tKGwpKW8uc3RhcnRzV2l0aCgidGhlbWUtIikmJm8hPT1lJiZsLnJlbW92ZShvKTtsLmFkZChlKSxyLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0LnRoZW1lPW99ZS5kKHIse2FwcGx5VGhlbWU6KCk9PnR9KSxmdW5jdGlvbihvKXtvLlRoZW1lQ2xhc3NQcmVmaXg9InRoZW1lLSJ9KGx8fChsPXt9KSl9LDIwMDY2NihvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtzZXRUaGVtZTooKT0+YSx3YXRjaGVkVGhlbWU6KCk9PmN9KTt2YXIgbD1lKDIzMjM2NCksdD1lKDczMjA0MCk7Y29uc3QgYz1uZXcgbC5XYXRjaGVkVmFsdWU7ZnVuY3Rpb24gYShvKXtjLnNldFZhbHVlKG8pfWMuc3Vic2NyaWJlKChvPT57KDAsdC5hcHBseVRoZW1lKShvLHdpbmRvdyl9KSl9LDgzMDc4MyhvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHt0cnlQYXJzZU5hbWVkUmdiYTooKT0+dH0pCjtjb25zdCBsPW5ldyBNYXAoW1siYWxpY2VibHVlIiwiI2YwZjhmZiJdLFsiYW50aXF1ZXdoaXRlIiwiI2ZhZWJkNyJdLFsiYXF1YSIsIiMwMGZmZmYiXSxbImFxdWFtYXJpbmUiLCIjN2ZmZmQ0Il0sWyJhenVyZSIsIiNmMGZmZmYiXSxbImJlaWdlIiwiI2Y1ZjVkYyJdLFsiYmlzcXVlIiwiI2ZmZTRjNCJdLFsiYmxhY2siLCIjMDAwMDAwIl0sWyJibGFuY2hlZGFsbW9uZCIsIiNmZmViY2QiXSxbImJsdWUiLCIjMDAwMGZmIl0sWyJibHVldmlvbGV0IiwiIzhhMmJlMiJdLFsiYnJvd24iLCIjYTUyYTJhIl0sWyJidXJseXdvb2QiLCIjZGViODg3Il0sWyJjYWRldGJsdWUiLCIjNWY5ZWEwIl0sWyJjaGFydHJldXNlIiwiIzdmZmYwMCJdLFsiY2hvY29sYXRlIiwiI2QyNjkxZSJdLFsiY29yYWwiLCIjZmY3ZjUwIl0sWyJjb3JuZmxvd2VyYmx1ZSIsIiM2NDk1ZWQiXSxbImNvcm5zaWxrIiwiI2ZmZjhkYyJdLFsiY3JpbXNvbiIsIiNkYzE0M2MiXSxbImN5YW4iLCIjMDBmZmZmIl0sWyJkYXJrYmx1ZSIsIiMwMDAwOGIiXSxbImRhcmtjeWFuIiwiIzAwOGI4YiJdLFsiZGFya2dvbGRlbnJvZCIsIiNiODg2MGIiXSxbImRhcmtncmF5IiwiI2E5YTlhOSJdLFsiZGFya2dyZWVuIiwiIzAwNjQwMCJdLFsiZGFya2toYWtpIiwiI2JkYjc2YiJdLFsiZGFya21hZ2VudGEiLCIjOGIwMDhiIl0sWyJkYXJrb2xpdmVncmVlbiIsIiM1NTZiMmYiXSxbImRhcmtvcmFuZ2UiLCIjZmY4YzAwIl0sWyJkYXJrb3JjaGlkIiwiIzk5MzJjYyJdLFsiZGFya3JlZCIsIiM4YjAwMDAiXSxbImRhcmtzYWxtb24iLCIjZTk5NjdhIl0sWyJkYXJrc2VhZ3JlZW4iLCIjOGZiYzhmIl0sWyJkYXJrc2xhdGVibHVlIiwiIzQ4M2Q4YiJdLFsiZGFya3NsYXRlZ3JheSIsIiMyZjRmNGYiXSxbImRhcmt0dXJxdW9pc2UiLCIjMDBjZWQxIl0sWyJkYXJrdmlvbGV0IiwiIzk0MDBkMyJdLFsiZGVlcHBpbmsiLCIjZmYxNDkzIl0sWyJkZWVwc2t5Ymx1ZSIsIiMwMGJmZmYiXSxbImRpbWdyYXkiLCIjNjk2OTY5Il0sWyJkb2RnZXJibHVlIiwiIzFlOTBmZiJdLFsiZmVsZHNwYXIiLCIjZDE5Mjc1Il0sWyJmaXJlYnJpY2siLCIjYjIyMjIyIl0sWyJmbG9yYWx3aGl0ZSIsIiNmZmZhZjAiXSxbImZvcmVzdGdyZWVuIiwiIzIyOGIyMiJdLFsiZnVjaHNpYSIsIiNmZjAwZmYiXSxbImdhaW5zYm9ybyIsIiNkY2RjZGMiXSxbImdob3N0d2hpdGUiLCIjZjhmOGZmIl0sWyJnb2xkIiwiI2ZmZDcwMCJdLFsiZ29sZGVucm9kIiwiI2RhYTUyMCJdLFsiZ3JheSIsIiM4MDgwODAiXSxbImdyZWVuIiwiIzAwODAwMCJdLFsiZ3JlZW55ZWxsb3ciLCIjYWRmZjJmIl0sWyJob25leWRldyIsIiNmMGZmZjAiXSxbImhvdHBpbmsiLCIjZmY2OWI0Il0sWyJpbmRpYW5yZWQiLCIjY2Q1YzVjIl0sWyJpbmRpZ28iLCIjNGIwMDgyIl0sWyJpdm9yeSIsIiNmZmZmZjAiXSxbImtoYWtpIiwiI2YwZTY4YyJdLFsibGF2ZW5kZXIiLCIjZTZlNmZhIl0sWyJsYXZlbmRlcmJsdXNoIiwiI2ZmZjBmNSJdLFsibGF3bmdyZWVuIiwiIzdjZmMwMCJdLFsibGVtb25jaGlmZm9uIiwiI2ZmZmFjZCJdLFsibGlnaHRibHVlIiwiI2FkZDhlNiJdLFsibGlnaHRjb3JhbCIsIiNmMDgwODAiXSxbImxpZ2h0Y3lhbiIsIiNlMGZmZmYiXSxbImxpZ2h0Z29sZGVucm9keWVsbG93IiwiI2ZhZmFkMiJdLFsibGlnaHRncmVlbiIsIiM5MGVlOTAiXSxbImxpZ2h0Z3JleSIsIiNkM2QzZDMiXSxbImxpZ2h0cGluayIsIiNmZmI2YzEiXSxbImxpZ2h0c2FsbW9uIiwiI2ZmYTA3YSJdLFsibGlnaHRzZWFncmVlbiIsIiMyMGIyYWEiXSxbImxpZ2h0c2t5Ymx1ZSIsIiM4N2NlZmEiXSxbImxpZ2h0c2xhdGVibHVlIiwiIzg0NzBmZiJdLFsibGlnaHRzbGF0ZWdyYXkiLCIjNzc4ODk5Il0sWyJsaWdodHN0ZWVsYmx1ZSIsIiNiMGM0ZGUiXSxbImxpZ2h0eWVsbG93IiwiI2ZmZmZlMCJdLFsibGltZSIsIiMwMGZmMDAiXSxbImxpbWVncmVlbiIsIiMzMmNkMzIiXSxbImxpbmVuIiwiI2ZhZjBlNiJdLFsibWFnZW50YSIsIiNmZjAwZmYiXSxbIm1hcm9vbiIsIiM4MDAwMDAiXSxbIm1lZGl1bWFxdWFtYXJpbmUiLCIjNjZjZGFhIl0sWyJtZWRpdW1ibHVlIiwiIzAwMDBjZCJdLFsibWVkaXVtb3JjaGlkIiwiI2JhNTVkMyJdLFsibWVkaXVtcHVycGxlIiwiIzkzNzBkOCJdLFsibWVkaXVtc2VhZ3JlZW4iLCIjM2NiMzcxIl0sWyJtZWRpdW1zbGF0ZWJsdWUiLCIjN2I2OGVlIl0sWyJtZWRpdW1zcHJpbmdncmVlbiIsIiMwMGZhOWEiXSxbIm1lZGl1bXR1cnF1b2lzZSIsIiM0OGQxY2MiXSxbIm1lZGl1bXZpb2xldHJlZCIsIiNjNzE1ODUiXSxbIm1pZG5pZ2h0Ymx1ZSIsIiMxOTE5NzAiXSxbIm1pbnRjcmVhbSIsIiNmNWZmZmEiXSxbIm1pc3R5cm9zZSIsIiNmZmU0ZTEiXSxbIm1vY2Nhc2luIiwiI2ZmZTRiNSJdLFsibmF2YWpvd2hpdGUiLCIjZmZkZWFkIl0sWyJuYXZ5IiwiIzAwMDA4MCJdLFsib2xkbGFjZSIsIiNmZGY1ZTYiXSxbIm9saXZlIiwiIzgwODAwMCJdLFsib2xpdmVkcmFiIiwiIzZiOGUyMyJdLFsib3JhbmdlIiwiI2ZmYTUwMCJdLFsib3JhbmdlcmVkIiwiI2ZmNDUwMCJdLFsib3JjaGlkIiwiI2RhNzBkNiJdLFsicGFsZWdvbGRlbnJvZCIsIiNlZWU4YWEiXSxbInBhbGVncmVlbiIsIiM5OGZiOTgiXSxbInBhbGV0dXJxdW9pc2UiLCIjYWZlZWVlIl0sWyJwYWxldmlvbGV0cmVkIiwiI2Q4NzA5MyJdLFsicGFwYXlhd2hpcCIsIiNmZmVmZDUiXSxbInBlYWNocHVmZiIsIiNmZmRhYjkiXSxbInBlcnUiLCIjY2Q4NTNmIl0sWyJwaW5rIiwiI2ZmYzBjYiJdLFsicGx1bSIsIiNkZGEwZGQiXSxbInBvd2RlcmJsdWUiLCIjYjBlMGU2Il0sWyJwdXJwbGUiLCIjODAwMDgwIl0sWyJyZWQiLCIjZmYwMDAwIl0sWyJyb3N5YnJvd24iLCIjYmM4ZjhmIl0sWyJyb3lhbGJsdWUiLCIjNDE2OWUxIl0sWyJzYWRkbGVicm93biIsIiM4YjQ1MTMiXSxbInNhbG1vbiIsIiNmYTgwNzIiXSxbInNhbmR5YnJvd24iLCIjZjRhNDYwIl0sWyJzZWFncmVlbiIsIiMyZThiNTciXSxbInNlYXNoZWxsIiwiI2ZmZjVlZSJdLFsic2llbm5hIiwiI2EwNTIyZCJdLFsic2lsdmVyIiwiI2MwYzBjMCJdLFsic2t5Ymx1ZSIsIiM4N2NlZWIiXSxbInNsYXRlYmx1ZSIsIiM2YTVhY2QiXSxbInNsYXRlZ3JheSIsIiM3MDgwOTAiXSxbInNub3ciLCIjZmZmYWZhIl0sWyJzcHJpbmdncmVlbiIsIiMwMGZmN2YiXSxbInN0ZWVsYmx1ZSIsIiM0NjgyYjQiXSxbInRhbiIsIiNkMmI0OGMiXSxbInRlYWwiLCIjMDA4MDgwIl0sWyJ0aGlzdGxlIiwiI2Q4YmZkOCJdLFsidG9tYXRvIiwiI2ZmNjM0NyJdLFsidHVycXVvaXNlIiwiIzQwZTBkMCJdLFsidmlvbGV0IiwiI2VlODJlZSJdLFsidmlvbGV0cmVkIiwiI2QwMjA5MCJdLFsid2hlYXQiLCIjZjVkZWIzIl0sWyJ3aGl0ZSIsIiNmZmZmZmYiXSxbIndoaXRlc21va2UiLCIjZjVmNWY1Il0sWyJ5ZWxsb3ciLCIjZmZmZjAwIl0sWyJ5ZWxsb3dncmVlbiIsIiM5YWNkMzIiXV0pCjtmdW5jdGlvbiB0KG8pe2NvbnN0IHI9bC5nZXQobyk7aWYodm9pZCAwPT09cilyZXR1cm4gbnVsbDtyZXR1cm5bcGFyc2VJbnQoci5zbGljZSgxLDMpLDE2KSxwYXJzZUludChyLnNsaWNlKDMsNSksMTYpLHBhcnNlSW50KHIuc2xpY2UoNSw3KSwxNiksMV19fSw3Nzg0NTgobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7YnJlYWtwb2ludHM6KCk9PmwsbW9iaWxlRmlyc3RCcmVha3BvaW50czooKT0+dCxtb2JpbGVGaXJzdExlZ2FjeUJyZWFrcG9pbnRzOigpPT5jfSk7Y29uc3QgbD17ZGVza3RvcDoxLzAsZGVza3RvcEhkOjE5MTkscGhvbmU6NzY3LCJwaG9uZS12ZXJ0aWNhbCI6NDc5LHRhYmxldDoxMDE5fSx0PXtiYXNlOjAsIm1lZGlhLW1mLXBob25lLXZlcnRpY2FsIjozMjAsIm1lZGlhLW1mLXBob25lLWxhbmRzY2FwZSI6NTY4LCJtZWRpYS1tZi10YWJsZXQtdmVydGljYWwiOjc2OCwibWVkaWEtbWYtdGFibGV0LWxhbmRzY2FwZSI6MTAyNCwibWVkaWEtbWYtbGFwdG9wIjoxMjgwLCJtZWRpYS1tZi1kZXNrdG9wLW1lZGl1bSI6MTQ0MCwibWVkaWEtbWYtZGVza3RvcC1sYXJnZSI6MTkyMCwibWVkaWEtbWYtZGVza3RvcC1leHRyYS1sYXJnZSI6MjU2MH0sYz17Im1lZGlhLW1mLWxlZ2FjeS1waG9uZS12ZXJ0aWNhbCI6MzMwLCJtZWRpYS1tZi1sZWdhY3ktcGhvbmUiOjQ4MCwibWVkaWEtbWYtbGVnYWN5LW5vdGVib29rIjoxMDIwLCJtZWRpYS1tZi1sZWdhY3ktZGVza3RvcC1tZWRpdW0iOjE0ODAsIm1lZGlhLW1mLWxlZ2FjeS1kZXNrdG9wIjoxNTMxfX0sMjc2MDE5KG8scixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2dsb2JhbENsb3NlRGVsZWdhdGU6KCk9PmwsZ2xvYmFsQ2xvc2VNZW51OigpPT50fSk7Y29uc3QgbD1uZXcoZSg5NDgzODApLkRlbGVnYXRlKTtmdW5jdGlvbiB0KCl7bC5maXJlKCl9fSw1MDU1NihvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtjb2xvcnNQYWxldHRlOigpPT5nLGdldEhleENvbG9yQnlOYW1lOigpPT51fSk7dmFyIGw9ZSgzMTc2NjMpLHQ9ZSg4Njc1MjIpLGM9ZSgxMzg2MzgpO2NvbnN0IGE9ey4uLmwsLi4udH0sbj17fSxpPU9iamVjdC5rZXlzKGEpLmxlbmd0aCxkPS9eIygoW2EtZjAtOV17Mn0pezIsNH18W2EtZjAtOV17M30pJC9pO2Z1bmN0aW9uIHMobyxyPVtdLGU9YSl7Y29uc3QgbD1lW29dO2lmKCFsKXJldHVybiBudWxsO2lmKGQudGVzdChsKSlyZXR1cm4gbDtjb25zdCB0PWw7cmV0dXJuIHIucHVzaChvKSwtMSE9PXIuaW5kZXhPZih0KT8oY29uc29sZS53YXJuKCJDb2xvcnMgZGVmaW5pdGlvbnMgY3ljbGVkIiksbCk6ci5sZW5ndGg+aT8oY29uc29sZS53YXJuKCJUb28gbWFueSB2YXJpYWJsZXMtbGluayBpbiBIRVgtY29sb3Igc2VhcmNoOiAiK3JbMF0pLG51bGwpOnModCxyLGUpfU9iamVjdC5rZXlzKGEpLmZvckVhY2goKG89Pntjb25zdCByPXMobyk7bltvXT0oMCxjLmVuc3VyZU5vdE51bGwpKHIpfSkpO2NvbnN0IGc9bjtmdW5jdGlvbiB1KG8scj1nKXtjb25zdCBlPXJbb107aWYoIWUpe2lmKGQudGVzdChvKSlyZXR1cm4gbzt0aHJvdyBuZXcgRXJyb3IoIk5vIHN1Y2ggY29sb3IgIitvKX1yZXR1cm4gZX19LDIxODgxNChvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtDdWJpY0JlemllcjooKT0+Yyxjb2xvcjooKT0+YSxkdXI6KCk9PmwsZWFzaW5nRnVuYzooKT0+dH0pO2NvbnN0IGw9MzUwLHQ9e2xpbmVhcjpvPT5vLGVhc2VJblF1YWQ6bz0+bypvLGVhc2VPdXRRdWFkOm89Pm8qKDItbyksZWFzZUluT3V0UXVhZDpvPT5vPC41PzIqbypvOig0LTIqbykqby0xLGVhc2VJbkN1YmljOm89Pm8qbypvLGVhc2VPdXRDdWJpYzpvPT4tLW8qbypvKzEsZWFzZUluT3V0Q3ViaWM6bz0+bzwuNT80Km8qbypvOihvLTEpKigyKm8tMikqKDIqby0yKSsxLGVhc2VJblF1YXJ0Om89Pm8qbypvKm8sZWFzZU91dFF1YXJ0Om89PjEtIC0tbypvKm8qbyxlYXNlSW5PdXRRdWFydDpvPT5vPC41PzgqbypvKm8qbzoxLTgqLS1vKm8qbypvLGVhc2VJblF1aW50Om89Pm8qbypvKm8qbyxlYXNlT3V0UXVpbnQ6bz0+MSstLW8qbypvKm8qbyxlYXNlSW5PdXRRdWludDpvPT5vPC41PzE2Km8qbypvKm8qbzoxKzE2Ki0tbypvKm8qbypvfTtjbGFzcyBje2NvbnN0cnVjdG9yKG8scixlLGwpe3RoaXMuX21YMT1vLHRoaXMuX21ZMT1yLHRoaXMuX21YMj1lLHRoaXMuX21ZMj1sfWVhc2luZ0Z1bmMobyl7cmV0dXJuIHRoaXMuX21YMT09PXRoaXMuX21ZMSYmdGhpcy5fbVgyPT09dGhpcy5fbVkyP286dGhpcy5fY2FsY0Jlemllcih0aGlzLl9nZXRURm9yWChvKSl9X2EobyxyKXtyZXR1cm4gMS0zKnIrMypvfV9iKG8scil7cmV0dXJuIDMqci02Km99X2Mobyl7cmV0dXJuIDMqb31fY2FsY0JlemllcihvKXtyZXR1cm4oKHRoaXMuX2EodGhpcy5fbVkxLHRoaXMuX21ZMikqbyt0aGlzLl9iKHRoaXMuX21ZMSx0aGlzLl9tWTIpKSpvK3RoaXMuX2ModGhpcy5fbVkxKSkqb31fZ2V0U2xvcGUobyl7cmV0dXJuIDMqdGhpcy5fYSh0aGlzLl9tWDEsdGhpcy5fbVgyKSpvKm8rMip0aGlzLl9iKHRoaXMuX21YMSx0aGlzLl9tWDIpKm8rdGhpcy5fYyh0aGlzLl9tWDEpfV9nZXRURm9yWChvKXtsZXQgcj1vO2ZvcihsZXQgZT0wO2U8NDsrK2Upe2NvbnN0IGU9dGhpcy5fZ2V0U2xvcGUocik7aWYoMD09PWUpcmV0dXJuIHI7ci09KHRoaXMuX2NhbGNCZXppZXIociktbykvZX1yZXR1cm4gcn19Y29uc3QgYT17YmxhY2s3MDoiIzRBNEE0QSIsYmxhY2s4MDoiIzUzNTM1MyJ9fSw1Njc0NzkobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7REVGQVVMVF9TSVpFOigpPT5sLHNwaW5uZXJTaXplTWFwOigpPT50fSk7Y29uc3QgbD0ibGFyZ2UiLHQ9e21pbmk6InhzbWFsbCIseHhzbWFsbDoieHhzbWFsbCIseHNtYWxsOiJ4c21hbGwiLHNtYWxsOiJzbWFsbCIsbWVkaXVtOiJtZWRpdW0iLGxhcmdlOiJsYXJnZSJ9fSwxMjEzMShvLHIsZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGwobyxyKXtsZXQgZTtjb25zdCBsPSgpPT57Y2xlYXJUaW1lb3V0KGUpLGU9dm9pZCAwfTtyZXR1cm57c3RhcnQ6KCk9PntsKCksZT1zZXRUaW1lb3V0KG8scil9LHJlc2V0Omx9fWUuZChyLHtjcmVhdGVUaW1lcjooKT0+bH0pfSwKODQ4OTg4KG8scixlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbChvKXtyZXR1cm4gMD09PW8uZGV0YWlsfWUuZChyLHtpc0tleWJvYXJkQ2xpY2s6KCk9Pmx9KX0sMzgyMjQyKG8scixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2dldEZpcnN0RGVzY2VuZGFudDooKT0+YyxnZXRMYXN0RGVzY2VuZGFudDooKT0+YSxnZXRQcmV2aW91c05vblBhcmVudDooKT0+bixnZXRTZWxlY3RvclRyZWVXYWxrZXI6KCk9PnR9KTt2YXIgbD1lKDY4MjM4MSk7Y29uc3QgdD0obz1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQscik9PmRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIobyxOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCwobz0+cj0+e2lmKDEhPT1yLm5vZGVUeXBlKXJldHVybiBOb2RlRmlsdGVyLkZJTFRFUl9TS0lQO2NvbnN0IGU9cjtyZXR1cm4oMCxsLmlzSW5lcnRSb290KShlKT9Ob2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1Q6KDAsbC5pc1Zpc2liaWxpdHlWaXNpYmxlKShlKSYmZS5tYXRjaGVzKG8pP05vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVDpOb2RlRmlsdGVyLkZJTFRFUl9TS0lQfSkocikpO2Z1bmN0aW9uIGMobyl7cmV0dXJuIG8uY3VycmVudE5vZGU9by5yb290LG8ubmV4dE5vZGUoKX1mdW5jdGlvbiBhKG8pe2ZvcihvLmN1cnJlbnROb2RlPW8ucm9vdDtudWxsIT09by5sYXN0Q2hpbGQoKTspO3JldHVybiBvLmN1cnJlbnROb2RlPT09by5yb290P251bGw6by5jdXJyZW50Tm9kZX1mdW5jdGlvbiBuKG8pe2NvbnN0IHI9by5jdXJyZW50Tm9kZTtsZXQgZT1vLnByZXZpb3VzTm9kZSgpO2Zvcig7ZSYmZS5jb250YWlucyhyKTspZT1vLnByZXZpb3VzTm9kZSgpO3JldHVybiBlfX0sNzEwMTEyKG8scixlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbCgpe2NvbnN0IG89bmV3IFNldCxyPW5ldyBTZXQ7Y29uc3QgZT17dXBkYXRlOmZ1bmN0aW9uKGwsdCl7bD9yLmFkZCh0KTpyLmRlbGV0ZSh0KTtjb25zdCBjPXIuc2l6ZT4wO2UudmFsdWUhPT1jJiYoZS52YWx1ZT1jLG8uZm9yRWFjaCgobz0+e28obCl9KSkpfSx2YWx1ZTohMSxzdWJzY3JpYmU6ZnVuY3Rpb24ocil7cmV0dXJuIG8uYWRkKHIpLCgpPT57by5kZWxldGUocil9fX07cmV0dXJuIGV9ZS5kKHIse2NyZWF0ZVVzZXJJbnRlcmFjdGlvblN0YXR1czooKT0+bH0pfSwyMjI0MjMobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7QWdncmVnYXRlRXJyb3I6KCk9Pl8sQXBpRXJyb3I6KCk9Pm0sU01TX0JBTk5FRF9TVEFUVVM6KCk9PmMsYWNjdW11bGF0ZUVycm9yczooKT0+bixjaGVja1Bob25lQ29kZTooKT0+dSxjb250aW51ZVBhcnRpYWxBdXRoOigpPT53LGZpcnN0TG9naW5EYXRhOigpPT5zLGZpcnN0TG9naW5EYXRhVXJsOigpPT5hLGdlbmVyYXRlU2lnbmluQ2hhbGxlbmdlOigpPT5SLGdldEFwaUVycm9yTWVzc2FnZTooKT0+QSxyZWNvdmVyUGFzc3dvcmQ6KCk9PmYscmVjb3ZlclBhc3N3b3JkVXJsOigpPT5ULHJlY292ZXJ5UGFzc3dvcmQ6KCk9PnAscmVzZW5kTGluazooKT0+ZyxzZWNvbmRGYWN0b3JTaWduaW46KCk9Pk4sc2lnbmluOigpPT5iLHNpZ25pblVybDooKT0+QyxzaWdudXA6KCk9PkUsc2lnbnVwVXJsOigpPT5oLHNvY2lhbEF1dGg6KCk9PnZ9KTt2YXIgbD1lKDM4NDAxNyksdD1lKDE4NTI3MSk7Y29uc3QgYz00MDMsYT0iL2FjY291bnRzL2ZpcnN0X2xvZ2luX2RhdGEvIjtmdW5jdGlvbiBuKG8scil7cmV0dXJuIE9iamVjdC5lbnRyaWVzKG8pLm1hcCgobz0+bmV3IG0ob1sxXS5qb2luKCJcbiIpLHIsb1swXSkpKX1mdW5jdGlvbiBpKG8scil7cmV0dXJuKDAsbC5mZXRjaCkobyx7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoiaW5jbHVkZSIsbW9kZToic2FtZS1vcmlnaW4iLGJvZHk6cn0pfWFzeW5jIGZ1bmN0aW9uIGQobyl7dHJ5e3JldHVybiBhd2FpdCBvLmpzb24oKX1jYXRjaHt0aHJvdyBuZXcgbSh0LnQobnVsbCx7Y29udGV4dDoiYXBpIGVycm9yIn0sZSg2ODM2MjcpKSxvLnN0YXR1cywic2VydmVyX2Vycm9yIil9fWZ1bmN0aW9uIHMobyl7cmV0dXJuIGkoYSxvKS50aGVuKChvPT5vLm9rP2Qobyk6ZChvKS50aGVuKChyPT57dGhyb3cgbmV3IF8obihyLmVycm9ycyxvLnN0YXR1cykpfSkpKSl9ZnVuY3Rpb24gZygpe3JldHVybiBpKCIvYXBpL3YxL3VzZXJzL2Fub24vY2hhbmdlLWVtYWlsL3Jlc2VuZC8iKS50aGVuKChvPT5vLm9rP2Qobyk6ZChvKS50aGVuKChvPT57dGhyb3cgRXJyb3Ioby5lcnJvcil9KSkpKX1mdW5jdGlvbiB1KG8pe3JldHVybiBpKCIvYXBpL3YxL3JlY292ZXJfcGFzc3dvcmQvY2hlY2tfcGhvbmVfY29kZS8iLG8pLnRoZW4oKG89Pm8ub2s/ZChvKTpkKG8pLnRoZW4oKG89Pnt0aHJvdyBFcnJvcihvLmVycm9yKX0pKSkpfWZ1bmN0aW9uIHAobyl7cmV0dXJuIGkoIi9hcGkvdjEvcmVjb3Zlcl9wYXNzd29yZC8iLG8pLnRoZW4oKG89Pm8pKX1jb25zdCBDPSIvYWNjb3VudHMvc2lnbmluLyI7ZnVuY3Rpb24geShvKXtyZXR1cm4gZChvKS50aGVuKChyPT57aWYoImVycm9ycyJpbiByJiZPYmplY3Qua2V5cyhyLmVycm9ycykubGVuZ3RoKXRocm93IG5ldyBfKG4oci5lcnJvcnMsby5zdGF0dXMpKTtpZigiZXJyb3IiaW4gciYmIiIhPT1yLmVycm9yfHwiY29kZSJpbiByfHwhby5vayl0aHJvdyBuZXcgbShyLmVycm9yfHxyLmRldGFpbCxvLnN0YXR1cyxyLmNvZGUsci5jb25maXJtX2F1dGhfZGF0YSxyLnR3b19mYWN0b3JfdHlwZXMsZnVuY3Rpb24obyl7aWYoby5zaWduYXR1cmUpcmV0dXJue3NpZ25hdHVyZTpvLnNpZ25hdHVyZSxlbWFpbDpvLmVtYWlsfHwiIixwaG9uZTpvLnBob25lfHwiIixzb2NpYWxzOltdfTtyZXR1cm59KHIpKTtyZXR1cm4gcn0pKX1mdW5jdGlvbiBiKG8pe3JldHVybiBpKEMsbykudGhlbih5KX1jb25zdCBoPSIvYWNjb3VudHMvc2lnbnVwLyI7ZnVuY3Rpb24gRShvKXtyZXR1cm4gaShoLG8pLnRoZW4oKG89PmQobykudGhlbigocj0+e2lmKCJlcnJvcnMiaW4gciYmIiIhPT1yLmVycm9ycyl0aHJvdyBuZXcgXyhuKHIuZXJyb3JzLG8uc3RhdHVzKSl9KSkpKX1jbGFzcyBtIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IobyxyLGUsbCx0LGMpe3N1cGVyKG8pLHRoaXMudHlwZT1lLAp0aGlzLnN0YXR1cz1yLHRoaXMuc2Vjb25kRmFjdG9yVHlwZXM9dCx0aGlzLnNvY2lhbENvbmZpcm1EYXRhPWwsdGhpcy5yZXNldFBhc3N3b3JkRGF0YT1jfX1mdW5jdGlvbiBBKG8scil7cmV0dXJuIG8gaW5zdGFuY2VvZiBtJiZ2b2lkIDAhPT1vLnN0YXR1cz9gJHtvLm1lc3NhZ2V8fHJ8fHQudChudWxsLHtjb250ZXh0OiJhcGkgZXJyb3IifSxlKDY4MzYyNykpfSAoJHtvLnN0YXR1c30pYDpvIGluc3RhbmNlb2YgRXJyb3ImJm8ubWVzc2FnZT9vLm1lc3NhZ2U6cnx8dC50KG51bGwse2NvbnRleHQ6ImFwaSBlcnJvciJ9LGUoNjgzNjI3KSl9Y2xhc3MgXyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG8pe3N1cGVyKG8ubWFwKChvPT5vLm1lc3NhZ2UpKS5qb2luKCJcbiIpKSx0aGlzLmVycm9ycz1bXSx0aGlzLmVycm9ycz1vfX1jb25zdCBUPSIvYXBpL3YxL3JlY292ZXJfcGFzc3dvcmQvc2VhcmNoLyI7ZnVuY3Rpb24gZihvKXtyZXR1cm4gaShULG8pLnRoZW4oeSl9Y29uc3QgUz17QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn07ZnVuY3Rpb24gdihvLHIpe2NvbnN0IGU9bmV3IFVSTCh3aW5kb3cub3JpZ2luKyIvYWNjb3VudHMvY29tcGxldGUvYW5kcm9pZC1qd3QvIik7cmV0dXJuIE9iamVjdC5lbnRyaWVzKHIpLmZvckVhY2goKChbbyxyXSk9PnImJmUuc2VhcmNoUGFyYW1zLmFwcGVuZChvLHIpKSksKDAsbC5mZXRjaCkoZS5ocmVmLHttZXRob2Q6IlBPU1QiLGJvZHk6byxoZWFkZXJzOlN9KS50aGVuKHkpfWZ1bmN0aW9uIHcobyxyKXtjb25zdCBlPW5ldyBVUkwod2luZG93Lm9yaWdpbitgL2FjY291bnRzL2NvbXBsZXRlLyR7b30vYCksdD1uZXcgRm9ybURhdGE7cmV0dXJuIHQuYXBwZW5kKCJwYXJ0aWFsX3Rva2VuIixyKSwoMCxsLmZldGNoKShlLmhyZWYse21ldGhvZDoiUE9TVCIsYm9keTp0LGhlYWRlcnM6U30pLnRoZW4oeSl9ZnVuY3Rpb24gUihvKXtyZXR1cm4gaShgL2FjY291bnRzL3R3by1mYWN0b3Ivc2lnbmluLyR7b30vZ2VuZXJhdGUtY2hhbGxlbmdlL2ApLnRoZW4oKG89Pm8ub2s/ZChvKTpkKG8pLnRoZW4oKCh7ZGV0YWlsOm99KT0+e3Rocm93IEVycm9yKG8pfSkpKSl9ZnVuY3Rpb24gTihvLHIpe3JldHVybiBpKGAvYWNjb3VudHMvdHdvLWZhY3Rvci9zaWduaW4vJHtvfS9gLHIpLnRoZW4oKG89Pm8ub2s/ZChvKTpkKG8pLnRoZW4oKHI9PntpZigicmVxdWlyZV9wYXJhbWV0ZXJzIj09PXIuY29kZSl0aHJvdyBuZXcgXyhuKHIuZXJyb3JzLG8uc3RhdHVzKSk7dGhyb3cgbmV3IG0oci5kZXRhaWwsby5zdGF0dXMsci5jb2RlKX0pKSkpfX0sODI3MDY3KG8scixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2lzU2lnbmVkRXhjaGFuZ2VBZ3JlZW1lbnQ6KCk9Pm4sc2F2ZUV4Y2hhbmdlQWdyZWVtZW50OigpPT5jfSk7dmFyIGw9ZSgzODQwMTcpLHQ9ZSgyMjI0MjMpO2Z1bmN0aW9uIGMobyl7cmV0dXJuKDAsbC5mZXRjaCkoIi9leGNoYW5nZS1hZ3JlZW1lbnQvIix7aGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxtZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkobyl9KS50aGVuKChvPT5vLm9rP28uanNvbigpOm8uanNvbigpLnRoZW4oKHI9Pnt0aHJvdyBuZXcgdC5BZ2dyZWdhdGVFcnJvcigoMCx0LmFjY3VtdWxhdGVFcnJvcnMpKHIuZXJyb3JzLG8uc3RhdHVzKSl9KSkpKX1jb25zdCBhPXt9O2FzeW5jIGZ1bmN0aW9uIG4obyl7bGV0IHI9Ii9pcy1zaWduZWQtZXhjaGFuZ2UtYWdyZWVtZW50LyI7aWYoby5leGNoYW5nZSYmKHIrPWA/ZXhjaGFuZ2U9JHtvLmV4Y2hhbmdlfWAsYVtvLmV4Y2hhbmdlXSkpcmV0dXJuIGFbby5leGNoYW5nZV07Y29uc3QgZT1hd2FpdCgwLGwuZmV0Y2gpKHIpO2lmKCFlLm9rKXtjb25zdCBvPWF3YWl0IGUuanNvbigpO3Rocm93IEVycm9yKG8uZGV0YWlsKX1jb25zdCB0PWF3YWl0IGUuanNvbigpO3JldHVybiBvLmV4Y2hhbmdlJiYoYVtvLmV4Y2hhbmdlXT10KSx0fX0sNTU0NjU0KG8scixlKXsidXNlIHN0cmljdCI7ZS5kKHIse3NvbHV0aW9uSWRzOigpPT5sfSkKO2NvbnN0IGw9SlNPTi5wYXJzZSgneyJFWFRFTkRFRF9IT1VSUyI6NDMwMDA1MDIwMjMsIlBSRV9NQVJLRVQiOjQzMDAwNTAyMDIzLCJQT1NUX01BUktFVCI6NDMwMDA1MDIwMjMsIlNQUkVBRF9DSEFSVFMiOjQzMDAwNTAyMjk4LCJBTEVSVFMiOjQzMDAwNTIwMTQ5LCJBTEVSVF9PTl9TVFJBVEVHWSI6NDMwMDA0ODEzNjgsIkFMRVJUU19PTl9GVU5EQU1FTlRBTFMiOjQzMDAwNzg2ODMxLCJBTEVSVF9XRUJIT09LIjo0MzAwMDUyOTM0OCwiQUxFUlRfV0VCSE9PS19FUlJPUlMiOjQzMDAwNzc2ODk0LCJBTEVSVF9ERVNDUklQVElPTl9QTEFDRUhPTERFUiI6NDMwMDA1MzEwMjEsIkFMRVJUX1JFQ0VJVkVfTk9USUZJQ0FUSU9OU19PSF9QSE9ORSI6NDMwMDA0NzQzODksIkFMRVJUX1VTRV9BTFRFUk5BVElWRV9FTUFJTCI6NDMwMDA0NzQzOTQsIkFMRVJUX1dFQkhPT0tfQ1JFREVOVElBTFMiOjQzMDAwNzIyMDE1LCJBTEVSVF9LRUVQX1RPQVNUU19WSVNJQkxFIjo0MzAwMDczNzk4MiwiVk9MVU1FX1BST0ZJTEUiOjQzMDAwNTAyMDQwLCJWT0xVTUVfUFJPRklMRV9JTkRJQ0FUT1IiOjQzMDAwNTU3NDUwLCJSRU5LTyI6NDMwMDA1MDIyODQsIktBR0kiOjQzMDAwNTAyMjcyLCJMSU5FX0JSRUFLIjo0MzAwMDUwMjI3MywiUE5GIjo0MzAwMDUwMjI3NiwiRklOQU5DSUFMX0RBVEEiOjQzMDAwNTQzNTA2LCJCUk9LRVJfUkFUSU5HIjo0MzAwMDU0MjQ5MCwiQ1JZUFRPX01BUktFVF9DQVAiOjQzMDAwNTQwOTQxLCJDUllQVE9fUEFZTUVOVCI6NDMwMDA0ODU1MzYsIkFMRVJUX09OX1NQUkVBRCI6NDMwMDA0Nzg0MDYsIkFMRVJUX0RFR1JBREVEX1NUQVRFIjo0MzAwMDczOTUyMSwiQUxFUlRfT05fTE9HX1NDQUxFIjo0MzAwMDY5MDk0MiwiQUxFUlRfT05fQ1VTVE9NX1NDUklQVCI6NDMwMDA0Nzg0MTUsIkFMRVJUX09OX1BPU0lUSU9OIjo0MzAwMDUxNjk5MiwiQUxFUlRfRlVOQ1RJT04iOjQzMDAwNTk3NDk0LCJBTEVSVF9NVUxUSUNPTkRJVElPTlMiOjQzMDAwNzYxNDkyLCJBTEVSVF9OT1RJRklDQVRJT05fU0NIRURVTEUiOjQzMDAwNzg3MTk2LCJTTVNfVkVSSUZJQ0FUSU9OIjo0MzAwMDU1MzQyOSwiTUFHTkVUX01PREUiOjQzMDAwNTM3MjcwLCJQUklWQUNZX1NFVFRJTkdTIjo0MzAwMDU0ODMzNSwiUFVCTElDQVRJT05fVFlQRSI6NDMwMDA2MDk0OTcsIlNDUklQVF9BQ0NFU1MiOjQzMDAwNDgyNTczLCJGUkVFX1VTRVJfRkFRUyI6NDMwMDA1OTA5NDcsIlNUUkFURUdZX1VOUkVBTElTVElDX1JFU1VMVFMiOjQzMDAwNDgxMDI5LCJTVFJBVEVHWV9GVVRVUkVfREFUQSI6NDMwMDA2MTQ3MDUsIkhPV19UT19VU0VfUEFQRVIiOjQzMDAwNTE2NDY2LCJIT1dfVE9fVVNFX0NRRyI6NDMwMDA1MTYzNzIsIkhPV19UT19VU0VfT0FOREEiOjQzMDAwNTE2Mzc1LCJIT1dfVE9fVVNFX0ZPUkVYQ09NIjo0MzAwMDUxNjM3NCwiRkFWT1JJVEVfSURFQSI6NDMwMDA1NTUyMTYsIkFVVEhPUlNfSU5TVFJVQ1RJT05TX1BVQkNMSUNBVElPTiI6NDMwMDA1NDk5NTEsIkFVVEhPUlNfSU5TVFJVQ1RJT05TX0VESVQiOjQzMDAwNjE0NjE4LCJTQ1JJUFRfSU5TVFJVQ1RJT05TIjo0MzAwMDQ4MjU3MywiQkFSX1JFUExBWV9VTkFWQUlMQUJJTElUWSI6NDMwMDA0NzU0NzAsIldIQVRfSVNfQ0JPRV9CWlhfRVhDSEFOR0UiOjQzMDAwNDczOTI0LCJHT1BST19VUEdSQURFX0RFU0NSSVBUSU9OIjo0MzAwMDQ3MzMyNCwiR09QUk9fRE9XTkdSQURFX0RFU0NSSVBUSU9OIjo0MzAwMDQ4NTQzNywiR09QUk9fUkVORVdfQU5OVUFMX01PTlRITFlfREVTQ1JJUFRJT04iOjQzMDAwNjQ0NDkxLCJGSU5BTkNJQUxTX09XTkVSU0hJUCI6NDMwMDA2OTk0NzksIkZJTkFOQ0lBTFNfVkFMVUFUSU9OX1NVTU1BUlkiOjQzMDAwNjk5NDg0LCJGSU5BTkNJQUxTX1ZBTFVBVElPTl9SQVRJT1MiOjQzMDAwNjk5NDk1LCJGSU5BTkNJQUxTX0dST1dUSF9BTkRfUFJPRklUQUJJTElUWSI6NDMwMDA2OTk0ODUsIkZJTkFOQ0lBTFNfUkVWRU5VRV9UT19QUk9GSVRfQ09OVkVSU0lPTiI6NDMwMDA2OTk0OTYsIkZJTkFOQ0lBTFNfUkVWRU5VRV9CUkVBS0RPV05fQllfU09VUkNFIjo0MzAwMDY5OTQ4NywiRklOQU5DSUFMU19SRVZFTlVFX0JSRUFLRE9XTl9CWV9DT1VOVFJZIjo0MzAwMDY5OTQ5NywiRklOQU5DSUFMU19SRVZFTlVFX0VTVElNQVRFUyI6NDMwMDA2OTk0ODksIkZJTkFOQ0lBTFNfRUFSTklOR1NfRVNUSU1BVEVTIjo0MzAwMDY5OTQ5OCwiRklOQU5DSUFMU19ESVZJREVORF9TVU1NQVJZIjo0MzAwMDY5OTUwMCwiRklOQU5DSUFMU19ESVZJREVORF9ISVNUT1JZIjo0MzAwMDY5OTUwMSwiRklOQU5DSUFMU19ERUJUX0xFVkVMIjo0MzAwMDY5OTUwMiwiRklOQU5DSUFMU19QT1NJVElPTiI6NDMwMDA2OTk1MDMsIkZJUkVfQ09OVFJPTF9TT0xVVElPTiI6NDMwMDA2OTA5MzksIkJST0tFUkFHRV9SRVZJRVdTIjo0MzAwMDU5MTM1MSwiTElOS1NfVE9fU09DSUFMX01FRElBIjo0MzAwMDYzNTgwNiwiUElORV9MSUJSQVJZX0lORk8iOjQzMDAwNjM4MzcxLCJURUNITklDQUxfUkFUSU5HUyI6NDMwMDA2MTQzMzEsIkJBQ0tURVNUSU5HX1dJREdFVCI6NDMwMDA1NjIzNjIsIkJBQ0tURVNUSU5HX05PX0RBVEEiOjQzMDAwNDc4NDUwLCJCQUNLRU5EX0NPTk5FQ1RJT05TIjo0MzAwMDY5NDQ3NCwiREVFUF9CQUNLVEVTVElOR19XSURHRVQiOjQzMDAwNjcwNTY2LCJERUVQX0JBQ0tURVNUSU5HIjo0MzAwMDY2NjE5OSwiREVFUF9CQUNLVEVTVElOR19BVkFJTEFCTEVfREFUQSI6NDMwMDA2NjgyMTAsIkJFVEFfQlJPS0VSUyI6NDMwMDA2NzM0MzQsIlZJREVPX1VQTE9BRF9GQUlMRUQiOjQzMDAwNjY2NjA3LCJWSURFT19ERVZJQ0VfQUNDRVNTIjo0MzAwMDY3NzIwOSwiSU5WSVRFX09OTFlfU0NSSVBUUyI6NDMwMDA2MTQ2MTcsIkhPV19ET0VTX0JSQUNLRVRTX01BTkFHRU1FTlRfV09SSyI6NDMwMDA2MzE5ODcsIkhPV19UT19TRUVfVEhFX0RFRVBFU1RfSElTVF9EQVRBIjo0MzAwMDY4NzA1MywiSV9DQU5UX1NFRV9BTExfSElTVF9EQVRBX09OX1JFU19MT1dFUl9USEFOX0RBWSI6NDMwMDA0ODA2NzksIklERUFTX09OX0NIQVJUIjo0MzAwMDY5NDI4NSwiR0VUX0FfUkVGVU5EIjo0MzAwMDQ4NTQzMCwiVVNFX1NFVFRMRU1FTlRfQVNfQ0xPU0VfT05fREFJTFlfSU5UUkVWQUwiOjQzMDAwNjg1MjY4LCJBREpVU1RfRk9SX0NPTlRSQUNUX0NIQU5HRVMiOjQzMDAwNjg1MjY2LCJTV0lUQ0hJTkdfQ09OVElOVU9VU19GVVRVUkVTX0NPTlRSQUNUUyI6NDMwMDA2ODkzMTMsIkFESlVTVF9EQVRBX0ZPUl9ESVZJREVORFMiOjQzMDAwNTkwNTk3LCJXSFlfSVNfTVlfQUNDT1VOVF9CQU5ORUQiOjQzMDAwNjc0NzI2LCJURUxMX01FX01PUkVfQUJPVVRfVEhFX0NPTU1VTklUWV9TQ1JJUFRTIjo0MzAwMDU1ODUyMiwiSE9XX1RPX1BPU1RfQVdFU09NRV9JREVBU19BTkRfR0VUX0xPVFNfT0ZfTElLRVMiOjQzMDAwNjAzNzQ4LCJBQk9VVF9FWFBFUlRfUExBTiI6NDMwMDA2NzczODIsIkNPTk5FQ1RJT05TX0xJTUlUX0VYQ0VFREVEIjo0MzAwMDY5Mzg3NywiQUNDT1VOVF9SRUNPVkVSWSI6NDMwMDA2MTk1OTcsIkhPV19UT19TWU5DX0NIQVJUU19PTl9MQVlPVVQiOjQzMDAwNjI5OTkyLCJIT1dfVE9fU0VFX0JVSUxUSU5fSU5ESUNBVE9SX1NPVVJDRSI6NDMwMDA0ODE2NTksIk1VTFRJX0NIQVJUX01PREUiOjQzMDAwNjI5OTkwLCJRVUlDS19TRUFSQ0giOjQzMDAwNjU5NjcxLCJXSEFUU19BTl9JTkRJQ0FUT1IiOjQzMDAwNTQzNjI2LCJDSEFSVF9UWVBFUyI6NDMwMDA3MDM0MDcsIkRSQVdJTkdfVE9PTFMiOjQzMDAwNzAzMzk2LCJDVVNUT01fSU5URVJWQUxTIjo0MzAwMDU0Mzg4MywiQ1VTVE9NX1JBTkdFX0JBUlMiOjQzMDAwNDc0MDA3LCJDQU5ETEVTVElDS19QQVRURVJOUyI6NDMwMDA1ODQ0NjIsIk1VTFRJX1RJTUVGUkFNRV9DSEFSVFMiOjQzMDAwNTAyNTkxLCJCQVJfUkVQTEFZIjo0MzAwMDcxMjc0NywiUElORV9TQ1JJUFQiOjQzMDAwNTYxODM2LCJTQ1JFRU5FUl9PVkVSVklFVyI6NDMwMDA2MzU3OTYsIkFVVE9fQ0hBUlRfUEFUVEVSTlMiOjQzMDAwNjkwNDY0LCJIT1dfVE9fUFJPVEVDVF9ZT1VSX0FDQ09VTlQiOjQzMDAwNTgyMjc3LCJQTFVTX0JVVFRPTiI6NDMwMDA2NDUyNTYsIlBVUkNIQVNFX01BUktFVF9EQVRBIjo0MzAwMDQ3MTcwNSwiV0hZX1RBWF9IQVNfQkVFTl9BRERFRF9UT19NWV9CSUxMIjo0MzAwMDY4NDc0MSwiQ09NUEFSRV9TWU1CT0xTX1RPT0wiOjQzMDAwNTQzMDUzLCJTQVZFRF9DSEFSVCI6NDMwMDA2OTI0MDQsIkNVU1RPTV9JTkRJQ0FUT1IiOjQzMDAwNTQzMDQ4LCJCSVNUX01JWEVEX1NVQlNDUklQVElPTiI6NDMwMDA2MDkxMzcsIldIWV9SRU5LT19OT1RfV09SSyI6NDMwMDA3MTE1MDIsIkFMRVJUU19TRVBBUkFUSU9OX0JZX1RZUEUiOjQzMDAwNjk2NDAzLCJXQVRDSExJU1RfQUxFUlRTIjo0MzAwMDczOTcwOCwiSE9XX1RPX1NFVF9VUF9BTEVSVFMiOjQzMDAwNTk1MzE1LCJQSU5FX1NDUkVFTkVSIjo0MzAwMDc0MjQzNiwiRUNPTk9NSUNfQ0FMRU5EQVIiOjQzMDAwNzA3MzkxLCJTQ1JJUFRfUFVCTElTSElOR19SVUxFUyI6NDMwMDA1OTA1OTksIkhPV19UT19VU0VfTUlORFMiOjQzMDAwNjkwMjI2LCJIT1dfVE9fVVNFX1RSQURJTkdWSUVXX0NIQVQiOjQzMDAwNjA0NDQ4LCJQQVBFUl9DT01QRVRJVElPTiI6NDMwMDA1OTM1NzksIlBBUEVSX0NPTVBFVElUSU9OX0FDQ09VTlQiOjQzMDAwNzIxMzE1LCJQQVBFUl9DT01QRVRJVElPTl9QUklaRSI6NDMwMDA3MjEzMTcsIlBBUEVSX0NPTVBFVElUSU9OX0ZSRUVfQUNDT1VOVCI6NDMwMDA3MjEzMTAsIlBVQkxJU0hJTkdfQU5EX1VQREFUSU5HX0lERUFTIjo0MzAwMDU5MTMzOCwiVVNJTkdfTUlORFMiOjQzMDAwNjk2MzAxLCJQVUJMSVNIX1ZJREVPX0lERUEiOjQzMDAwNDc2NzUyLCJUQVJPVF9ERUNLIjo0MzAwMDcyNDAyMCwiVkFUX05VTUJFUl9HVUlERSI6NDMwMDA3MjE5MTAsIlBJTkVfUEVSRk9STUFOQ0VfUFJPRklMRVIiOjQzMDAwNzI1MjE2LCJQSU5FX0xPR1NfSU5GTyI6NDMwMDA3MTA4NzYsIklORElDQVRPUlMiOjQzMDAwNDc0MDQ4LCJDSEFSVF9EQVRBX0VYUE9SVCI6NDMwMDA1MzcyNTUsIlRJTUVfUFJJQ0VfT1BQT1JUVU5JVElFUyI6NDMwMDA3MTMzMDYsIlRJQ0tfSU5URVJWQUxTIjo0MzAwMDcwOTIyNSwiVk9MVU1FX0ZPT1RQUklOVCI6NDMwMDA3MjYxNjQsIlZPTFVNRV9DQU5ETEVTIjo0MzAwMDcyNDk5NSwiSEVJS0lOX0FTSEkiOjQzMDAwNjE5NDM2LCJITENfQVJFQSI6NDMwMDA3MDkwNjIsIkJBU0VMSU5FIjo0MzAwMDY5MDIzMiwiSElHSF9MT1ciOjQzMDAwNjc3MTk2LCJDT0xVTU5TIjo0MzAwMDY3MzkxMiwiR0lGVFMiOjQzMDAwNzM5NDAxLCJIT1dfVE9fQkVDT01FX01PREVSQVRPUiI6NDMwMDA1OTEzNTYsIkhPV19UT19GSU5EX1BJTkVfUFJPR1JBTU1FUiI6NDMwMDA2MDE2NzcsIkhPV19UT19DSEFOR0VfUkVQTEFZX0lOVEVSVkFMIjo0MzAwMDczOTE1OCwiU0VBU09OQUxTIjo0MzAwMDc0NTIwMSwiQkFSX0NIQVJUUyI6NDMwMDA2NzI0MDMsIkNBTkRMRVNfQ0hBUlRTIjo0MzAwMDc0NTI2OSwiSE9MTE9XX0NBTkRMRVNfQ0hBUlRTIjo0MzAwMDc0NTI3MCwiTElORV9DSEFSVFMiOjQzMDAwNzQ1MjcxLCJTVEVQX0xJTkVfQ0hBUlRTIjo0MzAwMDc0NTI3MiwiTElORV9XSVRIX01BUktFUlNfQ0hBUlRTIjo0MzAwMDc0NTI3MywiQVJFQV9DSEFSVFMiOjQzMDAwNzQ1Mjc0LCJTRVNTSU9OX1ZPTFVNRV9QUk9GSUxFX0NIQVJUUyI6NDMwMDA3NDUyNzUsIlRJTUVfUFJJQ0VfT1BQT1JUVU5JVElFU19DSEFSVFMiOjQzMDAwNzI1NTkwLCJCQUNLVEVTVElOR19CQVJfTUFHTklGSUVSIjo0MzAwMDY2OTI4NSwiQkFDS1RFU1RJTkdfQkFSX0RFVEFMSVpBVElPTiI6NDMwMDA3ODYxODAsIkJBQ0tURVNUSU5HX1NDUklQVF9FWEVDVVRJT04iOjQzMDAwNzg2MTc4LCJCUk9LRVJfRU1VTEFUT1IiOjQzMDAwNzg2MTgxLCJTT0NJQUxfTkVUV09SS19IT1VTRV9SVUxFUyI6NDMwMDA1OTE2MzgsIlFVSUNLX0FORF9FQVNZX0dVSURFIjo0MzAwMDcxODg4NSwiSE9XX1RPX1VTRV9GSUxURVJTIjo0MzAwMDcxODc0NSwiQ0hBUlRfVklFV19NT0RFIjo0MzAwMDcyNDIzMywiV0FUQ0hMSVNUX0FMRVJUU19IT1ciOjQzMDAwNjUzMzY5LCJXQVRDSExJU1RfQUxFUlRTX0NVU1RPTUlaRSI6NDMwMDA2NjI1MDYsIlBVQkxJU0hfQU5fSURFQSI6NDMwMDA1ODkwODMsIlNVUEVSQ0hBUlRTIjo0MzAwMDc0NjQ2NCwiQkFTSUNTIjo0MzAwMDc0NjY4MiwiVElNRV9JTlRFUlZBTFMiOjQzMDAwNzQ3OTM0LCJMQVlPVVRTIjo0MzAwMDc0Njk3NSwiQ09ORklHVVJFIjo0MzAwMDc0ODE2NiwiTUFTVEVSSU5HIjo0MzAwMDc0NTgyNSwiTVVMVElfVElNRUZSQU1FX0FOQUxZU0lTIjo0MzAwMDU5MTU1NSwiU0VUX1VQX0FMVEVSTkFUSVZFX0VNQUlMX0FERFJFU1MiOjQzMDAwNDc0Mzk4LCJERUxFVEVfQUNDT1VOVCI6NDMwMDA1NTA1MzQsIlNJR05BVFVSRV9PTl9QT1NUUyI6NDMwMDA0NzI3NzAsIlNDUkVFTkVSX0RFWCI6NDMwMDA3NDQ0NjUsIlNDUkVFTkVSX0NFWCI6NDMwMDA3NDYxMTAsIlNDUkVFTkVSX0NSWVBUTyI6NDMwMDA3MTg3NDIsIlNDUkVFTkVSX0JPTkQiOjQzMDAwNzQzOTUxLCJTQ1JFRU5FUl9FVEYiOjQzMDAwNzE4NzQzLCJTQ1JFRU5FUl9TVE9DSyI6NDMwMDA3MTg4NjYsIk9QVElPTlNfQlVJTERFUiI6NDMwMDA3MDcyMTQsIk5FV1NfRkxPVyI6NDMwMDA3Mjg4MjgsIkhPV19UT19DT05GSUdVUkVfMkZBIjo0MzAwMDU3MjQ2MCwiSU5UUkFEQVlfUkVOS09fS0FHSSI6NDMwMDA3NTg2MTcsIkRBVEFfRUNPTk9NSUNfQ0FMRU5EQVIiOjQzMDAwNzU5OTExLCJFQVJOSU5HU19DQUxFTkRBUiI6NDMwMDA3NTk5MTIsIkRJVklERU5EX0NBTEVOREFSIjo0MzAwMDc1OTkxMywiVEVDSE5JQ0FMX0FOQUxZU0lTIjo0MzAwMDc1OTU3NywiRlVOREFNRU5UQUxfQU5BTFlTSVMiOjQzMDAwNzU5NTc0LCJGSU5BTkNJQUxfU1RBVEVNRU5UU19IT1dUTyI6NDMwMDA3NjAwNTksIk9ORV9DTElDS19UUkFESU5HIjo0MzAwMDQ4MDkyMCwiT05FX1RBUF9UUkFESU5HIjo0MzAwMDc3NjI2NCwiUFJPRklUX0xPU1NfVFlQRV9TRUxFQ1RJT04iOjQzMDAwNzYxMTgxLCJUSVBTX0ZPUl9TQ1JJUFRfQVVUSE9SUyI6NDMwMDA1NDk5MzUsIlVQREFURV9QSU5FX1NDUklQVFMiOjQzMDAwNTMwNzIwLCJFWFBPUlRfU1RSQVRFR1lfREFUQSI6NDMwMDA2MTM2ODAsIllJRUxEX0NVUlZFUyI6NDMwMDA3NTgxMjMsIk5FV1NfQUxFUlRTIjo0MzAwMDc2MjgzOCwiUE9TSVRJT05TX0FORF9PUkRFUlNfT05fQ0hBUlQiOjQzMDAwNzYzMzYyLCJFWEVDVVRJT05TX01BUktTX09OX0NIQVJUIjo0MzAwMDc2MzM3MSwiUFJJQ0VfQUxFUlRTIjo0MzAwMDc2MzMxMywiVEVDSE5JQ0FMX0FMRVJUUyI6NDMwMDA3NjMzMTUsIkhJU1RPUklDQUxfREFUQSI6NDMwMDA2OTE4ODksIlBJTkVfRURJVE9SIjo0MzAwMDc2MzMyMCwiU1RSQVRFR1lfUFVCTElTSElOR19SVUxFUyI6NDMwMDA3NjQ2ODEsIkFTU0VUU19ZT1VfQ0FOX0FOQUxZWkUiOjQzMDAwNzY0ODg5LCJDSEFOR0VfQUNDT1VOVF9DVVJSRU5DWSI6NDMwMDA0ODA5MDMsIlNFVF9MRVZFUkFHRSI6NDMwMDA3NDI2OTksIlNDQU5fU1RPQ0tTIjo0MzAwMDY2OTg3NywiTUFDUk9fTUFQUyI6NDMwMDA3NjQ5MjUsIk9QVElPTlNfQ0hBSU4iOjQzMDAwNzYwODM3LCJHUkVFS1MiOjQzMDAwNzA4MTM3LCJTRUNPTkRfQkFTRURfSU5URVJWQUxTIjo0MzAwMDc2MjA2OCwiUEFJRF9TUEFDRSI6NDMwMDA3NjU4NzcsIlBBSURfU1BBQ0VfQVVUSE9SX1JVTEVTIjo0MzAwMDc2NTg3OCwiQ1JFQVRPUl9QUk9HUkFNX1BBSURfU1BBQ0VTX1RFUk1TIjo0MzAwMDc3MjE3NywiRUFSTklOR19MT0xMSVBPUF9GSUVMRFMiOjQzMDAwNjI5NzkwLCJFVkVSWVRISU5HX1lPVV9XQU5UX1RPX0tOT1ciOjQzMDAwNTgxODE3LCJNVUxUSVBMRV9MRVZFTFMiOjQzMDAwNzcyMzM0LCJIRUFUTUFQUyI6NDMwMDA3NjY0NDYsIldIQVRfSUZfU0NFTkFSSU9TIjo0MzAwMDc2Mjk1MywiT1BUSU9OU19TVFJBVEVHWSI6NDMwMDA3MDgxMDMsIk9QVElPTlNfRVhQSVJBVElPTiI6NDMwMDA3MzU2MTMsIk5FV1NfQllfTUFSS0VUIjo0MzAwMDczMjU2MiwiTkVXU19CWV9QUk9WSURFUiI6NDMwMDA3MzI1NjUsIk5FV1NfQllfQ09SUE9SQVRJT04iOjQzMDAwNzMyNTYzLCJDSEFSVFNfT1JERVJfVFJBQ0tJTkciOjQzMDAwNzY2MzM0LCJGVU5EQU1FTlRBTF9HUkFQSFMiOjQzMDAwNzYzMzc2LCJDT05URVhUX0hJTlRTIjo0MzAwMDU0Mjk2MywiSU5ESUNBVE9SU19WRVJTSU9OUyI6NDMwMDA3NDY3NTIsIlNUUkFURUdZX1RFU1RFUiI6NDMwMDA3NjQxMzgsIlRIRV9MRUFQIjo0MzAwMDc3MTU5NCwiUE9SVEZPTElPUyI6NDMwMDA3NjA5MzcsIldBVENITElTVF9TQ1JFRU5FUl9TRUFSQ0giOjQzMDAwNDczOTMwLCJIT1RMSVNUUyI6NDMwMDA3NjIwMjksIkRFUFRIX09GX01BUktFVCI6NDMwMDA1MTY0NTksIkxBU1RfT1BFTl9DSEFSVF9NT0JJTEUiOjQzMDAwNzU1NDc5LCJJT1NfUFVTSEVTIjo0MzAwMDQ3NDU5MCwiSU9TX0VESVRfV0lER0VUUyI6NDMwMDA3NTQ1MzYsIk1VTFRJQVBQX1dJTkRPV1MiOjQzMDAwNjExNTQzLCJTWU1CT0xfU1lOQ0lORyI6NDMwMDA2NzM4OTMsIkRFU0tUT1BfQVBQIjo0MzAwMDY3MTYxOCwiQ1VTVE9NRVJfU1VQUE9SVCI6NDMwMDA2NDgyNDgsIlJFTktPX0NIQVJUX0RJU1BMQVlfSVNTVUVTIjo0MzAwMDQ3NDMwNSwiQUNDRVNTX0FDUk9TU19ERVZJQ0VTIjo0MzAwMDc3NzcxOCwiV0FUQ0hMSVNUX0FTX0ZJTFRFUiI6NDMwMDA3MjQ1NDksIkRBVEFfRVhQT1JUIjo0MzAwMDQ3NDQzMiwiU0NSRUVORVJfVElNRUZSQU1FUyI6NDMwMDA3MjM2MTYsIlNIQVJFX1BPUlRGT0xJTyI6NDMwMDA3ODc1ODd9JykKfSwzODk4NDQobyxyLGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBsKG8pe3JldHVybiB0KCk/MDpjKCk/NDU6TWF0aC5taW4oTWF0aC5tYXgobyw0NSksNDUwKX1lLmQocix7Z2V0V2lkZ2V0QmFyUGFkZGluZzooKT0+bH0pO2NvbnN0IHQ9KCk9PiF3aW5kb3cubWF0Y2hNZWRpYSgiKG1pbi13aWR0aDogNzY4cHgpIikubWF0Y2hlcyxjPSgpPT4hd2luZG93Lm1hdGNoTWVkaWEoIihtaW4td2lkdGg6IDEyODBweCkiKS5tYXRjaGVzfSw1NTcwNjUobyxyLGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBsKCl7cmV0dXJuIG5hdmlnYXRvci5hbmRyb2lkQ2xpcGJvYXJkPz9uYXZpZ2F0b3IuY2xpcGJvYXJkfWZ1bmN0aW9uIHQobyl7cmV0dXJuIGMobyxudWxsKX1mdW5jdGlvbiBjKG8scil7Y29uc3QgZT1vLmZpbGVzJiZvLmZpbGVzLmxlbmd0aD4wO2lmKCFlJiZyJiZyLmV2ZW50UGhhc2U+MClyZXR1cm4gYShyLG8pLFByb21pc2UucmVzb2x2ZSgpO2lmKCFlKXtsZXQgcj0hMTtjb25zdCBlPWU9PntlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLGEoZSxvKSxyPSEwfTt0cnl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY29weSIsZSwhMCksZG9jdW1lbnQuZXhlY0NvbW1hbmQoImNvcHkiKX1maW5hbGx5e2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNvcHkiLGUsITApfWlmKHIpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpfXJldHVybiBhc3luYyBmdW5jdGlvbihvKXtjb25zdCByPWwoKTtpZighcnx8IXIud3JpdGV8fCF3aW5kb3cuQ2xpcGJvYXJkSXRlbSl0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKCJDbGlwYm9hcmRBcGkgaXMgbm90IHN1cHBvcnRlZCIsIk5vdFN1cHBvcnRlZEVycm9yIik7Y29uc3QgZT17fTtmb3IoY29uc3QgciBvZiBvLmZpbGVzfHxbXSllW3IudHlwZV09cjtvLnRleHQmJihlWyJ0ZXh0L3BsYWluIl09by50ZXh0KTtvLmh0bWwmJihlWyJ0ZXh0L2h0bWwiXT1vLmh0bWwpO3JldHVybiByLndyaXRlKFtuZXcgd2luZG93LkNsaXBib2FyZEl0ZW0oZSldKX0obyl9ZnVuY3Rpb24gYShvLHIpe28ucHJldmVudERlZmF1bHQoKTtjb25zdCBlPW8uY2xpcGJvYXJkRGF0YTtyLnRleHQmJmUuc2V0RGF0YSgidGV4dC9wbGFpbiIsci50ZXh0KSxyLmh0bWwmJmUuc2V0RGF0YSgidGV4dC9odG1sIixyLmh0bWwpfWFzeW5jIGZ1bmN0aW9uIG4obyxyKXtjb25zdCBlPWwoKTtpZigidGV4dC9wbGFpbiI9PT1yJiYhZS53cml0ZSl7Y29uc3Qgcj1hd2FpdCBvO3JldHVybiBlLndyaXRlVGV4dChhd2FpdCByLnRleHQoKSl9aWYoIWV8fCFlLndyaXRlfHwhd2luZG93LkNsaXBib2FyZEl0ZW0pdGhyb3cgbmV3IERPTUV4Y2VwdGlvbigiQ2xpcGJvYXJkQXBpIGlzIG5vdCBzdXBwb3J0ZWQiLCJOb3RTdXBwb3J0ZWRFcnJvciIpO2xldCB0PW51bGw7dHJ5e3Q9bmV3IHdpbmRvdy5DbGlwYm9hcmRJdGVtKHtbcl06b30pfWNhdGNoKGUpe3Q9bmV3IHdpbmRvdy5DbGlwYm9hcmRJdGVtKHtbcl06YXdhaXQgb30pfWlmKHQpcmV0dXJuIGUud3JpdGUoW3RdKTt0aHJvdyBuZXcgRXJyb3IoIkNsaXBib2FyZEFwaSBpcyBub3Qgc3VwcG9ydGVkIil9ZS5kKHIse2NvcHlUb0NsaXBib2FyZDooKT0+dCxnZXRDbGlwYm9hcmQ6KCk9Pmwsd3JpdGVJbXBsOigpPT5jLHdyaXRlUHJvbWlzZVVzaW5nQXBpOigpPT5ufSl9LDcyNzA2NihvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHthZHdvcmRzQW5hbHl0aWNzRW5hYmxlZDooKT0+YSxjcmVhdGVJbWFnZTooKT0+dCxtYXJrZXRpbmdBbmFseXRpY3NFbmFibGVkOigpPT5jfSk7dmFyIGw9ZSg1NjkzOTgpO2Z1bmN0aW9uIHQobyl7Y29uc3Qgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTtyZXR1cm4gci5zcmM9byxyfWZ1bmN0aW9uIGMoKXtyZXR1cm4oMCxsLmlzRmVhdHVyZUVuYWJsZWQpKCJtYXJrZXRpbmctYW5hbHl0aWNzIil9ZnVuY3Rpb24gYSgpe3JldHVybigwLGwuaXNGZWF0dXJlRW5hYmxlZCkoImFkd29yZHMtYW5hbHl0aWNzIil9fSwxNTc5MTcobyxyLGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgbDtlLmQocix7Q21FdmVudDooKT0+bCx0cmFja0NtRXZlbnQ6KCk9Pml9KSxmdW5jdGlvbihvKXtvLlBhZ2VWaWV3PSJwYWdlVmlldyIsby5BYm91dFZpc2l0PSJhYm91dFZpc2l0IixvLlJlZ2lzdHJhdGlvbkNvbXBsZXRlZD0icmVnaXN0cmF0aW9uQ29tcGxldGVkIixvLlRyaWFsU2lnblVwPSJ0cmlhbFNpZ25VcCIsby5QYWlkUGxhbkFjcXVpcmVkPSJwYWlkUGxhbkFjcXVpcmVkIn0obHx8KGw9e30pKTt2YXIgdD1lKDcyNzA2Nik7Y29uc3QgYz17W2wuUGFnZVZpZXddOnt0eXBlOiJ3Y291bnQiLGNhdDoidmlzaXQifSxbbC5BYm91dFZpc2l0XTp7dHlwZToid2NvdW50IixjYXQ6InRyYWRpMDAifSxbbC5SZWdpc3RyYXRpb25Db21wbGV0ZWRdOnt0eXBlOiJ3Y291bnQiLGNhdDoidHJhZGkwMDAifSxbbC5UcmlhbFNpZ25VcF06e3R5cGU6Indjb3VudCIsY2F0OiJ0cmFkaTAwMSJ9LFtsLlBhaWRQbGFuQWNxdWlyZWRdOnt0eXBlOiJ3c2FsZXMiLGNhdDoidHJhZGkwIn19O2Z1bmN0aW9uIGEoKXtyZXR1cm4gZnVuY3Rpb24obz0iX3NwXyIpe2NvbnN0IHI9bmV3IFJlZ0V4cChvKyJpZFxcLlthLWYwLTldKz0oW147XSspOz8iKSxlPWRvY3VtZW50LmNvb2tpZS5tYXRjaChyKTtyZXR1cm4gZSYmZVsxXT9lWzFdLnNwbGl0KCIuIilbMF06IiJ9KCl9ZnVuY3Rpb24gbihvLHIpe3JldHVybiBvJiZudWxsIT1yLnRyYW5zYWN0aW9uSWQ/ci50cmFuc2FjdGlvbklkOmAke0RhdGUubm93KCl9JHtNYXRoLmZsb29yKDFlOSpNYXRoLnJhbmRvbSgpKX1gfWZ1bmN0aW9uIGkobyxyPXt9KXsoMCx0LmNyZWF0ZUltYWdlKShmdW5jdGlvbihvLHI9e30pe2NvbnN0e3R5cGU6ZSxjYXQ6bH09Y1tvXSx0PSJ3c2FsZXMiPT09ZSxpPXQ/ZnVuY3Rpb24obyl7bGV0IHI9InF0eT0xOyI7cmV0dXJuIG51bGwhPW8udmFsdWUmJihyKz1gY29zdD0ke28udmFsdWV9O2ApLHJ9KHIpOiIiCjtyZXR1cm5gaHR0cHM6Ly9hZC5kb3VibGVjbGljay5uZXQvZGRtL2FjdGl2aXR5L3NyYz0xMzkxOTM5OTt0eXBlPSR7ZX07Y2F0PSR7bH07JHtpfSR7W2B1Mjc9JHthKCl9YCxgdTI4PSR7d2luZG93LnVzZXIuaWR9YCwiZGNfbGF0PSIsImRjX3JkaWQ9IiwidGFnX2Zvcl9jaGlsZF9kaXJlY3RlZF90cmVhdG1lbnQ9IiwidGZ1YT0iLCJucGE9Il0uam9pbigiOyIpfTtvcmQ9JHtuKHQscil9P2B9KG8scikpfX0sMTQxMzEobyxyLGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgbDtlLmQocix7R1RhZ0V2ZW50OigpPT5sLHRyYWNrR1RhZ0Fkc0V2ZW50OigpPT55fSksZnVuY3Rpb24obyl7by5QYWdlVmlldz0ia3duUkNQNkF3cXNCRU9UdnZ1RUQiLG8uVHJpYWxTaWduVXA9IjZfZ0NDT3llanNBQ0VLM3NxNmdCIixvLlJlZ2lzdHJhdGlvbkNvbXBsZXRlZD0iSnpZaENJT3I1NzhDRUszc3E2Z0IiLG8uUGFpZFBsYW5BY3F1aXJlZD0iY2E4aUNOckc1NzhDRUszc3E2Z0IifShsfHwobD17fSkpO3ZhciB0PWUoMTc5NzcxKSxjPWUoNjgwODQyKSxhPWUoMTE3MzEzKSxuPWUoMzE4OTc0KSxpPWUoNjMxNjM0KSxkPWUoNzI3MDY2KSxzPWUoNDQ5NTA4KTtsZXQgZz0hMSx1PSExO2Z1bmN0aW9uIHAoKXtyZXR1cm4oMCxhLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iil8fG4uQ2hlY2tNb2JpbGUuaU9TKCl8fCgwLG4uaXNTeW1waG9ueUVtYmVkKSgpfHwoMCxuLmlzRGVza3RvcEFwcCkoKX1mdW5jdGlvbiBDKG8pe3JldHVybiEoIW98fHAoKSkmJigoMCxzLmVuc3VyZUd0YWdCb290c3RyYXApKG8pLHV8fCh3aW5kb3cuZ3RhZygiY29uc2VudCIsImRlZmF1bHQiLHthZF9zdG9yYWdlOigwLGMuZ2V0Q29va2llU2V0dGluZykoYy5Db29raWVTZXR0aW5ncy5BZHZlcnRpc2luZyk/ImdyYW50ZWQiOiJkZW5pZWQifSksdC5zdWJzY3JpYmUoYy5jb29raWVTZXR0aW5nc0NoYW5nZUV2ZW50LCgobyxyKT0+e289PT1jLkNvb2tpZVNldHRpbmdzLkFkdmVydGlzaW5nJiZ3aW5kb3cuZ3RhZygiY29uc2VudCIsInVwZGF0ZSIse2FkX3N0b3JhZ2U6cj8iZ3JhbnRlZCI6ImRlbmllZCJ9KX0pLG51bGwpLHU9ITApLCEwKX1mdW5jdGlvbiB5KG8scj17fSl7aWYoZnVuY3Rpb24oKXtpZihnfHwhKDAsZC5hZHdvcmRzQW5hbHl0aWNzRW5hYmxlZCkoKXx8cCgpKXJldHVybjsoMCxpLnVwZGF0ZUluaXREYXRhKSgpO2NvbnN0IG89KDAsaS5nZXRJbml0RGF0YSkoKTtvLmdhZHdJZCYmQyhvLmdhZHdJZCkmJihnPSEwLHdpbmRvdy5ndGFnKCJjb25maWciLG8uZ2Fkd0lkKSl9KCksIWcpcmV0dXJuO2NvbnN0IGU9KDAsaS5nZXRJbml0RGF0YSkoKS5nYWR3SWQ7d2luZG93Lmd0YWcoImV2ZW50IiwiY29udmVyc2lvbiIse3NlbmRfdG86YCR7ZX0vJHtvfWAsdXNlcl9pZDp3aW5kb3cudXNlci5pZCwuLi5yfSl9fSw0NDk1MDgobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7ZW5zdXJlR3RhZ0Jvb3RzdHJhcDooKT0+YX0pO3ZhciBsPWUoMTk4NTgxKTtsZXQgdD0hMSxjPSExO2Z1bmN0aW9uIGEobyl7byYmKHR8fCgoMCxsLmFwcGVuZFNjcmlwdCkoKG89PmBodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzP2lkPSR7b31gKShvKSksdD0hMCksQXJyYXkuaXNBcnJheSh3aW5kb3cuZGF0YUxheWVyKXx8KHdpbmRvdy5kYXRhTGF5ZXI9W10pLGN8fCh3aW5kb3cuZ3RhZz1mdW5jdGlvbigpe3dpbmRvdy5kYXRhTGF5ZXIucHVzaChhcmd1bWVudHMpfSx3aW5kb3cuZ3RhZygianMiLG5ldyBEYXRlKSxjPSEwKSl9fSw1NDkxOTkobyxyLGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgbDtlLmQocix7VHdpdHRlckV2ZW50OigpPT5sLHRyYWNrVHdpdHRlckV2ZW50OigpPT5hfSksZnVuY3Rpb24obyl7by5TaXRlVmlzaXQ9Im8yZWcyIixvLlRyaWFsU2lnblVwPSJvMXdqbyIsby5SZWdpc3RyYXRpb25Db21wbGV0ZWQ9Im8xd2pxIixvLlBhaWRQbGFuQWNxdWlyZWQ9Im8xd2pyIn0obHx8KGw9e30pKTt2YXIgdD1lKDcyNzA2NiksYz1lKDY4MDg0Mik7ZnVuY3Rpb24gYShvKXsoMCx0Lm1hcmtldGluZ0FuYWx5dGljc0VuYWJsZWQpKCkmJigwLGMuZ2V0Q29va2llU2V0dGluZykoYy5Db29raWVTZXR0aW5ncy5BbmFseXRpY3MpJiYobz0+W2BodHRwczovL2FuYWx5dGljcy50d2l0dGVyLmNvbS9pL2Fkc2N0P3R4bl9pZD0ke299JnBfaWQ9VHdpdHRlciZ0d19zYWxlX2Ftb3VudD0wJnR3X29yZGVyX3F1YW50aXR5PTBgLGBodHRwczovL3QuY28vaS9hZHNjdD90eG5faWQ9JHtvfSZwX2lkPVR3aXR0ZXImdHdfc2FsZV9hbW91bnQ9MCZ0d19vcmRlcl9xdWFudGl0eT0wImBdKShvKS5tYXAodC5jcmVhdGVJbWFnZSl9fSwxOTg1ODEobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7YXBwZW5kU2NyaXB0OigpPT50fSk7dmFyIGw9ZSg1ODQ2NzcpO2Z1bmN0aW9uIHQobyl7Y29uc3Qgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLmFzeW5jPSEwLHIuc3JjPW87Y29uc3QgZT0oMCxsLmdldENzcE5vbmNlKSgpO3JldHVybiBlJiZyLnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocikscn19LDY4MDg0MihvLHIsZSl7InVzZSBzdHJpY3QiO3ZhciBsO2UuZChyLHtDb29raWVTZXR0aW5nczooKT0+bCxiYW5uZXJQcml2YWN5UHJlZmVyZW5jZUtleTooKT0+cCxjaGVja0Jhbm5lclByaXZhY3lQcmVmZXJlbmNlS2V5OigpPT5mLGNvb2tpZVNldHRpbmdzQ2hhbmdlRXZlbnQ6KCk9PmQsZ2V0Q29va2llU2V0dGluZzooKT0+TixoaWRlQmFubmVyOigpPT5TLHJlamVjdEJhbm5lcjooKT0+dixzZXRDb29raWVTZXR0aW5nOigpPT5SfSksZnVuY3Rpb24obyl7by5BbmFseXRpY3M9ImFuYWx5dGljcyIsby5BZHZlcnRpc2luZz0iYWR2ZXJ0aXNpbmcifShsfHwobD17fSkpO3ZhciB0PWUoMTc5NzcxKSxjPWUoNzY4NzYwKSxhPWUoOTMyMzY1KSxuPWUoMTYwMjk2KSxpPWUoNTg3NDM2KTtjb25zdCBkPSJjb29raWVfc2V0dGluZ3NfY2hhbmdlZCIscz0oKDAsYy5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCIuIikpLGc9KDAsCm4uaXNMb2NhbCkoKT8iIjoiLiIrcy5zbGljZSgxLHMubGVuZ3RoKS5qb2luKCIuIiksdT0iY29va2llQmFubmVyIixwPSgwLG4uaXNQcm9kKSgpPyJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lclByb2R1Y3Rpb24iOiJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lckxvY2FsIixDPSJhY2NlcHRlZCIseT0ibm90QXBwbGljYWJsZSIsYj0icmVqZWN0IixoPSJjb29raWVzU2V0dGluZ3MiLEU9ImxvY2FsQ29va2llc1NldHRpbmdzIixtPSJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lciIsQT17W2wuQW5hbHl0aWNzXTohMSxbbC5BZHZlcnRpc2luZ106ITF9O2Z1bmN0aW9uIF8oKXtyZXR1cm4gYS5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHUpfWZ1bmN0aW9uIFQobyl7cmV0dXJuW0MseSxiXS5pbmNsdWRlcyhhLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0obyk/PyIiKX1mdW5jdGlvbiBmKCl7cmV0dXJuIG89cCxbQyx5LGJdLmluY2x1ZGVzKGkuZ2V0KG8pPz8iIik7dmFyIG99ZnVuY3Rpb24gUygpe3coQyl9ZnVuY3Rpb24gdigpe3coYil9ZnVuY3Rpb24gdyhvKXtpLnNldChwLG8sMzY1MywiLyIsZyl9ZnVuY3Rpb24gUihvLHIpe0Fbb109cixpLnNldCgoMCxuLmlzUHJvZCkoKT9oOkUsSlNPTi5zdHJpbmdpZnkoQSksMzY1MywiLyIsZyksdC5lbWl0KGQsbyxyKX1mdW5jdGlvbiBOKG8pe3JldHVybiBBW29dfWZ1bmN0aW9uIEkoKXtyZXR1cm4gYS5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKG0pfSFmdW5jdGlvbigpe2NvbnN0IG89aS5nZXQoKDAsbi5pc1Byb2QpKCk/aDpFKSxyPWEuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShtKSxlPWEuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShoKTtpZihvKXtyJiZlJiYoSSgpLGEuVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShoKSksVCh1KSYmXygpO3RyeXtjb25zdCByPUpTT04ucGFyc2Uobyk7QVtsLkFuYWx5dGljc109cj8uW2wuQW5hbHl0aWNzXXx8ITEsQVtsLkFkdmVydGlzaW5nXT1yPy5bbC5BZHZlcnRpc2luZ118fCExfWNhdGNoe319ZWxzZSBpZihUKHUpJiYoUihsLkFuYWx5dGljcywhMCksUihsLkFkdmVydGlzaW5nLCEwKSxTKCksXygpKSxyJiZlKXtjb25zdCBvPUpTT04ucGFyc2UoZSk7dyhyKSxSKGwuQW5hbHl0aWNzLG8/LltsLkFuYWx5dGljc10pLFIobC5BZHZlcnRpc2luZyxvPy5bbC5BZHZlcnRpc2luZ10pLEkoKSxhLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oaCl9fSgpfSw1ODQ2NzcobyxyLGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBsKCl7cmV0dXJuIGZ1bmN0aW9uKG8pe2lmKG51bGwhPT1vKXJldHVybiBvLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8by5ub25jZX0oZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigic2NyaXB0W25vbmNlXSIpKX1lLmQocix7Z2V0Q3NwTm9uY2U6KCk9Pmx9KX0sMTEyNTQyKG8scixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2dldENTU1Byb3BlcnR5OigpPT5uLGdldENTU1Byb3BlcnR5TnVtZXJpY1ZhbHVlOigpPT5pLGdldENvbnRlbnRXaWR0aDooKT0+YyxnZXRTY3JvbGxiYXJXaWR0aDooKT0+bCxtYXRjaE1lZGlhTWluTWF4OigpPT50LHNldFN0eWxlOigpPT5hfSk7Y29uc3QgbD0oKCk9PntsZXQgbztyZXR1cm4oKT0+e2lmKHZvaWQgMD09PW8pe2NvbnN0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksZT1yLnN0eWxlO2UudmlzaWJpbGl0eT0iaGlkZGVuIixlLndpZHRoPSIxMDBweCIsZS5tc092ZXJmbG93U3R5bGU9InNjcm9sbGJhciIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyKTtjb25zdCBsPXIub2Zmc2V0V2lkdGg7ci5zdHlsZS5vdmVyZmxvdz0ic2Nyb2xsIjtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3Quc3R5bGUud2lkdGg9IjEwMCUiLHIuYXBwZW5kQ2hpbGQodCk7Y29uc3QgYz10Lm9mZnNldFdpZHRoO3IucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQociksbz1sLWN9cmV0dXJuIG99fSkoKTtmdW5jdGlvbiB0KG8scil7cmV0dXJuIHI9PT0xLzA/d2luZG93Lm1hdGNoTWVkaWEoYChtaW4td2lkdGg6ICR7b31weClgKTp3aW5kb3cubWF0Y2hNZWRpYShgKG1pbi13aWR0aDogJHtvfXB4KSBhbmQgKG1heC13aWR0aDogJHtyfXB4KWApfWZ1bmN0aW9uIGMobyl7cmV0dXJuIGkobywid2lkdGgiKS1pKG8sInBhZGRpbmctbGVmdCIpLWkobywicGFkZGluZy1yaWdodCIpfWZ1bmN0aW9uIGEobyxyLGUpe251bGwhPT1vJiZvLnN0eWxlLnNldFByb3BlcnR5KHIsZSl9ZnVuY3Rpb24gbihvLHIpe3JldHVybiBnZXRDb21wdXRlZFN0eWxlKG8sbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShyKX1mdW5jdGlvbiBpKG8scil7cmV0dXJuIHBhcnNlSW50KG4obyxyKSl9fSw4NzI1MTgobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7c2V0Rml4ZWRCb2R5U3RhdGU6KCk9Pm59KTt2YXIgbD1lKDExMjU0MiksdD1lKDM4OTg0NCk7bGV0IGM9MCxhPSExO2Z1bmN0aW9uIG4obyl7Y29uc3R7Ym9keTpyfT1kb2N1bWVudCxlPXIucXVlcnlTZWxlY3RvcigiLndpZGdldGJhci13cmFwIik7aWYobyYmMT09KytjKXtjb25zdCBvPSgwLGwuZ2V0Q1NTUHJvcGVydHkpKHIsIm92ZXJmbG93IiksdD0oMCxsLmdldENTU1Byb3BlcnR5TnVtZXJpY1ZhbHVlKShyLCJwYWRkaW5nLXJpZ2h0Iik7ImhpZGRlbiIhPT1vLnRvTG93ZXJDYXNlKCkmJnIuc2Nyb2xsSGVpZ2h0PnIub2Zmc2V0SGVpZ2h0JiYoKDAsbC5zZXRTdHlsZSkoZSwicmlnaHQiLGAkeygwLGwuZ2V0U2Nyb2xsYmFyV2lkdGgpKCl9cHhgKSxyLnN0eWxlLnBhZGRpbmdSaWdodD1gJHt0KygwLGwuZ2V0U2Nyb2xsYmFyV2lkdGgpKCl9cHhgLGE9ITApLHIuY2xhc3NMaXN0LmFkZCgiaS1uby1zY3JvbGwiKX1lbHNlIGlmKCFvJiZjPjAmJjA9PS0tYyYmKHIuY2xhc3NMaXN0LnJlbW92ZSgiaS1uby1zY3JvbGwiKSxhKSl7KDAsbC5zZXRTdHlsZSkoZSwicmlnaHQiLCIwcHgiKTtsZXQgbz0wO289ZT8oMCx0LmdldFdpZGdldEJhclBhZGRpbmcpKCgwLGwuZ2V0Q29udGVudFdpZHRoKShlKSk6MCxyLnNjcm9sbEhlaWdodDw9ci5jbGllbnRIZWlnaHQmJihvLT0oMCxsLmdldFNjcm9sbGJhcldpZHRoKSgpKSwKci5zdHlsZS5wYWRkaW5nUmlnaHQ9KG88MD8wOm8pKyJweCIsYT0hMX19fSwxNTI3MTcobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7c3luY1VzZXJDb252ZXJzaW9uRGF0YTooKT0+dSxzeW5jVXNlckRhdGE6KCk9Pmd9KTt2YXIgbD1lKDIyMTA2MSksdD1lKDM4NjkzMSksYz1lKDgyNzAxKSxhPWUoMzg0MDE3KSxuPWUoNTI0MDY5KTtjb25zdCBpPSgwLGwuZ2V0TG9nZ2VyKSgiVXNlci5TeW5jIik7ZnVuY3Rpb24gZChvKXtyZXR1cm5gJHtvfV8ke3dpbmRvdy51c2VyJiZ3aW5kb3cudXNlci51c2VybmFtZXx8IiJ9YH1mdW5jdGlvbiBzKG8pe2NvbnN0e3NvdXJjZTpyLGlzQXV0aGVudGljYXRlZDplLHByb1BsYW46bCxvZmZlcnM6YSxmaXJlTG9naW5DaGFuZ2U6bj0hMH09bztsIT09d2luZG93LnVzZXIucHJvX3BsYW4mJih3aW5kb3cudXNlci5wcm9fcGxhbj1sLHdpbmRvdy51c2VyLmlzX3Bybz1Cb29sZWFuKGwpLCgwLHQudHJhY2tFdmVudCkoIlN5bmMgVXNlciBEYXRhIiwiRGlmZmVyZW50IFBybyBQbGFuIixkKHIpKSksZSE9PXdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYod2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ9ZSxuJiZ3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS5maXJlKCksKDAsdC50cmFja0V2ZW50KSgiU3luYyBVc2VyIERhdGEiLCJEaWZmZXJlbnQgQXV0aCIsZChyKSkpLGEmJmMuYXZhaWxhYmxlT2ZmZXJzLnNldEluaXRpYWwoYSl9YXN5bmMgZnVuY3Rpb24gZyhvKXt0cnl7cyh7c291cmNlOm8saXNBdXRoZW50aWNhdGVkOiEwLHByb1BsYW46KGF3YWl0KDAsbi5nZXRQcm9QbGFuRGV0YWlsc0ZvclVzZXIpKCkpLnByb19wbGFufSl9Y2F0Y2gocil7IWZ1bmN0aW9uKG8scil7NDAzPT09ci5zdGF0dXMmJlsibm90X2F1dGhlbnRpY2F0ZWQiLCJsb2dpbl9yZXF1aXJlZCJdLmluY2x1ZGVzKHIudHlwZXx8IiIpP3Moe3NvdXJjZTpvLGlzQXV0aGVudGljYXRlZDohMSxwcm9QbGFuOnZvaWQgMH0pOmkubG9nRXJyb3Ioci5tZXNzYWdlKX0obyxyKX19YXN5bmMgZnVuY3Rpb24gdShvLHI9ITApe2NvbnN0IGU9bmV3IFVSTCgiL3ByaWNpbmcvIix3aW5kb3cubG9jYXRpb24ub3JpZ2luKSxsPW5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7bC5oYXMoIl90ZXN0X2NvdW50cnkiKSYmZS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJfdGVzdF9jb3VudHJ5IixsLmdldCgiX3Rlc3RfY291bnRyeSIpPz8iIiksZS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJjb21wb25lbnQtZGF0YS1vbmx5IiwiMSIpO2NvbnN0IHQ9YXdhaXQoMCxhLmZldGNoKShlLmhyZWYpLGM9YXdhaXQgdC5qc29uKCk7cmV0dXJuIHMoe3NvdXJjZTpvLGlzQXV0aGVudGljYXRlZDpjLmlzX2F1dGhlbnRpY2F0ZWQscHJvUGxhbjpjLnVzZXIucHJvX3BsYW4sZmlyZUxvZ2luQ2hhbmdlOnIsb2ZmZXJzOmMudXNlci5hdmFpbGFibGVfb2ZmZXJzfSksY319LDQzMjc4MyhvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtERUZBVUxUX1RIRU1FOigpPT5sfSk7Y29uc3QgbD0ibGlnaHQifSwyNDQ2NjQobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7dGhlbWVzOigpPT5ufSk7dmFyIGw9ZSg4MTA0MSksdD1lKDE4NTI3MSkKO2NvbnN0IGM9SlNPTi5wYXJzZSgneyJjb2xvci1oZWFkZXItYmciOiJjb2xvci1ibGFjayIsImNvbG9yLWJvZHktYmciOiJjb2xvci1ibGFjayIsImNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJnLXByaW1hcnkiOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3ItYmctcHJpbWFyeS1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1iZy1zZWNvbmRhcnkiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItYmctaGlnaGxpZ2h0IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJnLXNjcm9sbC1idXR0b25zIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9ucyI6ImNvbG9yLWNvbGQtZ3JheS01NTAiLCJjb2xvci1sZWdhY3ktYmctd2lkZ2V0IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXRleHQtcHJpbWFyeSI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci10ZXh0LXNlY29uZGFyeSI6ImNvbG9yLWNvbGQtZ3JheS00NTAiLCJjb2xvci10ZXh0LXRlcnRpYXJ5IjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXRleHQtZGlzYWJsZWQiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItYWNjZW50LWNvbnRlbnQiOiJjb2xvci13aGl0ZSIsImNvbG9yLWRpdmlkZXIiOiJjb2xvci1jb2xkLWdyYXktNzAwIiwiY29sb3ItZGl2aWRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1kaXZpZGVyLXNlY29uZGFyeSI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1ib3gtc2hhZG93IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWFjdGl2ZS1ob3Zlci10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLWFsZXJ0LXRleHQiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTc1MCIsImNvbG9yLWJvcmRlci1jaGF0LWZpZWxkcyI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci1ib3JkZXItaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItYm9yZGVyLXRhYmxlIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWJyYW5kIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1icmFuZC1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItYnJhbmQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS03MDAiLCJjb2xvci1idXR0b24taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3ItY2hhcnQtcGFnZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1jb21tb24tdG9vbHRpcC1iZyI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci1kYW5nZXIiOiJjb2xvci1yaXBlLXJlZC02MDAiLCJjb2xvci1kYW5nZXItaG92ZXIiOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1kYW5nZXItYWN0aXZlIjoiY29sb3ItcmlwZS1yZWQtNDAwIiwiY29sb3ItZGVwdGhyZW5kZXJlci1maWxsLXN0eWxlIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlIjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IiOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItZGlzYWJsZWQtaW5wdXQiOiJjb2xvci1jb2xkLWdyYXktNzUwIiwiY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2UiOiJjb2xvci1jb2xkLWdyYXktNDUwIiwiY29sb3ItaGlnaGxpZ2h0LW5ldyI6ImNvbG9yLXR2LWJsdWUtYTgwMCIsImNvbG9yLWljb25zIjoiY29sb3ItY29sZC1ncmF5LTQ1MCIsImNvbG9yLWlucHV0LWJnIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWlucHV0LXRleHRhcmVhLXJlYWRvbmx5IjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLWlucHV0LXBsYWNlaG9sZGVyLXRleHQiOiJjb2xvci1jb2xkLWdyYXktNzAwIiwiY29sb3ItaW5wdXQtcHVibGlzaC1iZyI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1pdGVtLWFjdGl2ZS1ibHVlIjoiY29sb3ItdHYtYmx1ZS1hOTAwIiwiY29sb3ItaXRlbS1ob3Zlci1hY3RpdmUtYmciOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItaXRlbS1ob3Zlci1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1pdGVtLWhvdmVyLWJsdWUiOiJjb2xvci10di1ibHVlLWE4MDAiLCJjb2xvci1pdGVtLXNlbGVjdGVkLWJsdWUiOiJjb2xvci10di1ibHVlLWE4MDAiLCJjb2xvci1pdGVtLWFjdGl2ZS10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLWl0ZW0tYWN0aXZlLWJnIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1saW5rIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1saW5rLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci1saW5rLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNzAwIiwiY29sb3ItbGlzdC1pdGVtIjoiY29sb3ItY29sZC1ncmF5LTQ1MCIsImNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnIjoiY29sb3ItY29sZC1ncmF5LTg1MCIsImNvbG9yLW5ld3MtaGlnaGxpZ2h0IjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXBhbmUtYmciOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItcGFuZS1zZWNvbmRhcnktYmciOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3ItcGxhY2Vob2xkZXIiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItcG9wdXAtbWVudS1pdGVtLWhvdmVyLWJnIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yIjoiY29sb3ItY29sZC1ncmF5LTcwMCIsImNvbG9yLXByaW1hcnktc3ltYm9sIjoiY29sb3Itc2t5LWJsdWUtNTAwIiwiY29sb3Itcm93LWhvdmVyLWFjdGl2ZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1zYi1zY3JvbGxiYXItYm9keS1iZyI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci1zY3JlZW5lci1kZXNjcmlwdGlvbiI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktNzUwIiwiY29sb3Itc2VhcmNoLWJ1dHRvbi1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS03MDAiLCJjb2xvci1zZXBhcmF0b3ItdGFibGUtY2hhdCI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci1zdWNjZXNzIjoiY29sb3ItbWludHktZ3JlZW4tNzAwIiwiY29sb3Itc3VjY2Vzcy1ob3ZlciI6ImNvbG9yLW1pbnR5LWdyZWVuLTYwMCIsImNvbG9yLXN1Y2Nlc3MtYWN0aXZlIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItdGFnLWFjdGl2ZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci10YWctaG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItdGV4dC1yZWd1bGFyIjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1zZWNvbmRhcnktaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktNzUwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUiOiJjb2xvci10di1ibHVlLWE5MDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtYTgwMCIsImNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbiI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWwiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci10b29sYmFyLWRpdmlkZXItYmFja2dyb3VuZCI6ImNvbG9yLWNvbGQtZ3JheS03MDAiLCJjb2xvci1wb3B1cC1iYWNrZ3JvdW5kIjoiY29sb3ItY29sZC1ncmF5LTg1MCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMjUwIiwiY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQiOiJjb2xvci1jb2xkLWdyYXktNTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQiOiJjb2xvci1jb2xkLWdyYXktNjAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWFjdGl2ZSI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS01MDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTIwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTc1MCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNzAwIiwiY29sb3ItdG9vbHRpcC1iZyI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci10di1idXR0b24tY2hlY2tlZCI6ImNvbG9yLWNvbGQtZ3JheS00NTAiLCJjb2xvci10di1kaWFsb2ctY2FwdGlvbiI6ImNvbG9yLWNvbGQtZ3JheS01MCIsImNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItdW5kZXJsaW5lZC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTQ1MCIsImNvbG9yLXdpZGdldC1wYWdlcy1iZyI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci13YXJuaW5nIjoiY29sb3ItdGFuLW9yYW5nZS03MDAiLCJjb2xvci1mb3JleC1pY29uIjoiY29sb3Itd2hpdGUiLCJjb2xvci1saXN0LWl0ZW0tYWN0aXZlLWJnIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1saXN0LWl0ZW0taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItbGlzdC1pdGVtLXRleHQiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItcHJpY2UtYXhpcy1sYWJlbC1iYWNrIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXByaWNlLWF4aXMtbGFiZWwtdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS01MDAiLCJjb2xvci1wcmljZS1heGlzLWdlYXIiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItcHJpY2UtYXhpcy1nZWFyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXByaWNlLWF4aXMtaGlnaGxpZ2h0IjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWJpZCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3Itc2Nyb2xsLWJnIjoiY29sb3ItY29sZC1ncmF5LTc1MCIsImNvbG9yLXNjcm9sbC1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3Itd2lkZ2V0LWJvcmRlciI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1zY3JvbGwtYnV0dG9ucy1hcnJvdyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci1jb250cm9sLWludGVudC1zdWNjZXNzIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtcHJpbWFyeSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZyI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyIjoiY29sb3ItcmlwZS1yZWQtNTAwIiwiY29sb3ItZ3Jvd2luZyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLWZhbGxpbmciOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1nb3RvLWxhYmVsLWJhY2tncm91bmQiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItcHJlLW1hcmtldCI6ImNvbG9yLXRhbi1vcmFuZ2UtNjAwIiwiY29sb3ItcG9zdC1tYXJrZXQiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLW5vdGFjY3VyYXRlLW1vZGUiOiJjb2xvci1iZXJyeS1waW5rLWEyMDAiLCJjb2xvci1kZWxheS1tb2RlIjoiY29sb3ItdGFuLW9yYW5nZS03MDAiLCJjb2xvci1kZWxheS1tb2RlLWJnIjoiY29sb3ItdGFuLW9yYW5nZS00MDAiLCJjb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQiOiJjb2xvci10di1ibHVlLWE5MDAiLCJjb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQiOiJjb2xvci10di1ibHVlLWE4MDAiLCJjb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQtaG92ZXIiOiJjb2xvci10di1ibHVlLWE4MDAiLCJjb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXIiOiJjb2xvci10di1ibHVlLWE3MDAiLCJjb2xvci1zY3JlZW5lci1oZWFkZXItYmciOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLW92ZXJsYXkiOiJjb2xvci1jb2xkLWdyYXktOTUwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtc2VsZWN0ZWQiOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1jb250ZW50LWhvdmVyIjoiY29sb3Itd2hpdGUiLCJjb2xvci1ib29zdC1idXR0b24tYmctaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktNzUwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWRlZmF1bHQiOiJjb2xvci1jb2xkLWdyYXktNzAwIiwiY29sb3IteC10d2l0dGVyLWNvbnRlbnQiOiJjb2xvci13aGl0ZSIsImNvbG9yLWNhcmQtYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTcwMCIsImNvbG9yLWNhcmQtYm9yZGVyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTYwMCIsImNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1wcmltYXJ5IjoiY29sb3ItYmxhY2siLCJjb2xvci1zdHJva2Utc3BlY2lhbC1wcmltYXJ5IjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXNlbGVjdGlvbi1iZyI6ImNvbG9yLXR2LWJsdWUtYTcwMCIsImNvbG9yLWRlZmF1bHQtZ3JheSI6ImNvbG9yLWNvbGQtZ3JheS00NTAiLCJjb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmciOiJjb2xvci13aGl0ZSIsImNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS1iZy1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS05MDAifScpCjt2YXIgYT1lKDUwNTU2KTtjb25zdCBuPXtbbC5TdGRUaGVtZS5MaWdodF06e25hbWU6bC5TdGRUaGVtZS5MaWdodCxsYWJlbDooKT0+dC50KG51bGwse2NvbnRleHQ6ImNvbG9yVGhlbWVOYW1lIn0sZSgyNDcxNjcpKSxvcmRlcjoyLGdldFRoZW1lZENvbG9yOm89PigwLGEuZ2V0SGV4Q29sb3JCeU5hbWUpKG8pfSxbbC5TdGRUaGVtZS5EYXJrXTp7bmFtZTpsLlN0ZFRoZW1lLkRhcmssbGFiZWw6KCk9PnQudChudWxsLHtjb250ZXh0OiJjb2xvclRoZW1lTmFtZSJ9LGUoOTQ1MzYyKSksb3JkZXI6MSxnZXRUaGVtZWRDb2xvcjpvPT57Y29uc3Qgcj1jW29dfHxvO3JldHVybigwLGEuZ2V0SGV4Q29sb3JCeU5hbWUpKHIpfX19fSw0NTM5NjgobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7aXNTdGRUaGVtZU5hbWU6KCk9PnR9KTt2YXIgbD1lKDgxMDQxKTtmdW5jdGlvbiB0KG8pe3JldHVybiBvPT09bC5TdGRUaGVtZS5MaWdodHx8bz09PWwuU3RkVGhlbWUuRGFya319LDUwNzYwNChvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtjb2xvcnM6KCk9Pm59KTt2YXIgbD1lKDUwNTU2KSx0PWUoODczNTczKTtjb25zdCBjPXtjb2xvckJsYWNrOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1ibGFjayIpLGNvbG9yV2hpdGU6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXdoaXRlIiksY29sb3JUdkJsdWU1MDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS01MCIpLGNvbG9yVHZCbHVlMjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTIwMCIpLGNvbG9yVHZCbHVlNDAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTQwMCIpLGNvbG9yVHZCbHVlNTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTUwMCIpLGNvbG9yVHZCbHVlNjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTYwMCIpLGNvbG9yVHZCbHVlODAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTgwMCIpLGNvbG9yVHZCbHVlQTgwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS1hODAwIiksY29sb3JEZWVwQmx1ZTIwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItZGVlcC1ibHVlLTIwMCIpLGNvbG9yRGVlcEJsdWUzMDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWRlZXAtYmx1ZS0zMDAiKSxjb2xvckRlZXBCbHVlNTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1kZWVwLWJsdWUtNTAwIiksY29sb3JEZWVwQmx1ZUEyMDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWRlZXAtYmx1ZS1hMjAwIiksY29sb3JEZWVwQmx1ZUE0MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWRlZXAtYmx1ZS1hNDAwIiksY29sb3JEZWVwQmx1ZUE3MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWRlZXAtYmx1ZS1hNzAwIiksY29sb3JTa3lCbHVlNDAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1za3ktYmx1ZS00MDAiKSxjb2xvclNreUJsdWU1MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXNreS1ibHVlLTUwMCIpLGNvbG9yU2t5Qmx1ZTcwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3Itc2t5LWJsdWUtNzAwIiksY29sb3JTa3lCbHVlQTQwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3Itc2t5LWJsdWUtYTQwMCIpLGNvbG9yRGVmYXVsdFJlZDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3IteW91dHViZSIpLGNvbG9yUmlwZVJlZDIwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtMjAwIiksY29sb3JSaXBlUmVkMzAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC0zMDAiKSxjb2xvclJpcGVSZWQ0MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTQwMCIpLGNvbG9yUmlwZVJlZDUwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIiksY29sb3JSaXBlUmVkNjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC02MDAiKSxjb2xvclJpcGVSZWQ4MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTgwMCIpLGNvbG9yUmlwZVJlZEE5MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLWE5MDAiKSxjb2xvclJpcGVSZWRBNzAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC1hNzAwIiksY29sb3JHcmFwZXNQdXJwbGVBMjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1ncmFwZXMtcHVycGxlLWEyMDAiKSxjb2xvckdyYXBlc1B1cnBsZUE0MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWdyYXBlcy1wdXJwbGUtYTQwMCIpLGNvbG9yR3JhcGVzUHVycGxlNTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1ncmFwZXMtcHVycGxlLTUwMCIpLGNvbG9yR3JhcGVzUHVycGxlNjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1ncmFwZXMtcHVycGxlLTYwMCIpLGNvbG9yQmVycnlQaW5rNDAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1iZXJyeS1waW5rLTQwMCIpLGNvbG9yQmVycnlQaW5rNTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1iZXJyeS1waW5rLTUwMCIpLGNvbG9yTWludHlHcmVlbjEwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItbWludHktZ3JlZW4tMTAwIiksY29sb3JNaW50eUdyZWVuMjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi0yMDAiKSxjb2xvck1pbnR5R3JlZW40MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTQwMCIpLGNvbG9yTWludHlHcmVlbjUwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItbWludHktZ3JlZW4tNTAwIiksY29sb3JNaW50eUdyZWVuNjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi02MDAiKSwKY29sb3JNaW50eUdyZWVuODAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi04MDAiKSxjb2xvck1pbnR5R3JlZW5BOTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi1hOTAwIiksY29sb3JJZ3VhbmFHcmVlbjMwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItaWd1YW5hLWdyZWVuLTMwMCIpLGNvbG9ySWd1YW5hR3JlZW41MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWlndWFuYS1ncmVlbi01MDAiKSxjb2xvcklndWFuYUdyZWVuQTcwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItaWd1YW5hLWdyZWVuLWE3MDAiKSxjb2xvclRhbk9yYW5nZTMwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdGFuLW9yYW5nZS0zMDAiKSxjb2xvclRhbk9yYW5nZTUwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdGFuLW9yYW5nZS01MDAiKSxjb2xvclRhbk9yYW5nZTYwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdGFuLW9yYW5nZS02MDAiKSxjb2xvclRhbk9yYW5nZTcwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdGFuLW9yYW5nZS03MDAiKSxjb2xvckNvbGRHcmF5MTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMTAwIiksY29sb3JDb2xkR3JheTE1MDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTE1MCIpLGNvbG9yQ29sZEdyYXkyMDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS0yMDAiKSxjb2xvckNvbGRHcmF5MzAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMzAwIiksY29sb3JDb2xkR3JheTQwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTQwMCIpLGNvbG9yQ29sZEdyYXk0NTA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS00NTAiKSxjb2xvckNvbGRHcmF5NTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktNTAwIiksY29sb3JDb2xkR3JheTU1MDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTU1MCIpLGNvbG9yQ29sZEdyYXk2MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS02MDAiKSxjb2xvckNvbGRHcmF5NjUwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktNjUwIiksY29sb3JDb2xkR3JheTcwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTcwMCIpLGNvbG9yQ29sZEdyYXk3NTA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS03NTAiKSxjb2xvckNvbGRHcmF5ODAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktODAwIiksY29sb3JDb2xkR3JheTg1MDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTg1MCIpLGNvbG9yQ29sZEdyYXk5MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS05MDAiKSxjb2xvckZvcmVzdEdyZWVuMzAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1mb3Jlc3QtZ3JlZW4tMzAwIil9LGE9e2NvbG9yV2hpdGVBbHBoYTI1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvcldoaXRlLDc1KSxjb2xvclR2Qmx1ZTUwMEFscGhhNDA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVHZCbHVlNTAwLDYwKSxjb2xvclR2Qmx1ZTUwMEFscGhhMzA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVHZCbHVlNTAwLDcwKSxjb2xvclR2Qmx1ZTUwMEFscGhhMjg6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVHZCbHVlNTAwLDcyKSxjb2xvclR2Qmx1ZTUwMEFscGhhMjU6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVHZCbHVlNTAwLDc1KSxjb2xvclR2Qmx1ZTUwMEFscGhhMjA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVHZCbHVlNTAwLDgwKSxjb2xvckRlZXBCbHVlNTAwQWxwaGEyMDooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JEZWVwQmx1ZTUwMCw4MCksY29sb3JTa3lCbHVlNDAwQWxwaGE1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvclNreUJsdWU0MDAsOTUpLGNvbG9yU2t5Qmx1ZTQwMEFscGhhNTA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yU2t5Qmx1ZTQwMCw1MCksY29sb3JTa3lCbHVlNDAwQWxwaGE3NTooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JTa3lCbHVlNDAwLDI1KSxjb2xvclNreUJsdWU1MDBBbHBoYTIwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvclNreUJsdWU1MDAsODApLGNvbG9yU2t5Qmx1ZTUwMEFscGhhMjU6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yU2t5Qmx1ZTUwMCw3NSksY29sb3JTa3lCbHVlNzAwQWxwaGE3MDooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JTa3lCbHVlNzAwLDMwKSxjb2xvclJpcGVSZWQ0MDBBbHBoYTU6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yUmlwZVJlZDQwMCw5NSksY29sb3JSaXBlUmVkNTAwQWxwaGE1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvclJpcGVSZWQ1MDAsOTUpLGNvbG9yUmlwZVJlZDUwMEFscGhhMjA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yUmlwZVJlZDUwMCw4MCksY29sb3JSaXBlUmVkNTAwQWxwaGEyODooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JSaXBlUmVkNTAwLDcyKSxjb2xvclJpcGVSZWQ1MDBBbHBoYTMwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvclJpcGVSZWQ1MDAsNzApLGNvbG9yUmlwZVJlZDUwMEFscGhhNTA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yUmlwZVJlZDUwMCw1MCksY29sb3JHcmFwZXNQdXJwbGVBMjAwQWxwaGExNTooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JHcmFwZXNQdXJwbGVBMjAwLDg1KSxjb2xvckdyYXBlc1B1cnBsZTUwMEFscGhhMDooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JHcmFwZXNQdXJwbGU1MDAsMTAwKSxjb2xvckdyYXBlc1B1cnBsZTUwMEFscGhhMjA6KDAsCnQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckdyYXBlc1B1cnBsZTUwMCw4MCksY29sb3JHcmFwZXNQdXJwbGU1MDBBbHBoYTcwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckdyYXBlc1B1cnBsZTUwMCwzMCksY29sb3JCZXJyeVBpbms0MDBBbHBoYTUwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckJlcnJ5UGluazQwMCw1MCksY29sb3JCZXJyeVBpbms0MDBBbHBoYTc1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckJlcnJ5UGluazQwMCwyNSksY29sb3JCZXJyeVBpbms1MDBBbHBoYTIwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckJlcnJ5UGluazUwMCw4MCksY29sb3JCZXJyeVBpbms1MDBBbHBoYTI1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckJlcnJ5UGluazUwMCw3NSksY29sb3JNaW50eUdyZWVuNTAwQWxwaGEyMDooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JNaW50eUdyZWVuNTAwLDgwKSxjb2xvck1pbnR5R3JlZW41MDBBbHBoYTI4OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvck1pbnR5R3JlZW41MDAsNzIpLGNvbG9yTWludHlHcmVlbjUwMEFscGhhNTA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yTWludHlHcmVlbjUwMCw1MCksY29sb3JNaW50eUdyZWVuNTAwQWxwaGE1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvck1pbnR5R3JlZW41MDAsOTUpLGNvbG9ySWd1YW5hR3JlZW41MDBBbHBoYTIwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvcklndWFuYUdyZWVuNTAwLDgwKSxjb2xvclRhbk9yYW5nZTUwMEFscGhhMjA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVGFuT3JhbmdlNTAwLDgwKSxjb2xvckZvcmVzdEdyZWVuMzAwQWxwaGE1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckZvcmVzdEdyZWVuMzAwLDk1KSxjb2xvckNvbGRHcmF5MTAwQWxwaGEwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckNvbGRHcmF5MTAwLDEwMCksY29sb3JDb2xkR3JheTEwMEFscGhhNjooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JDb2xkR3JheTEwMCw5NCksY29sb3JDb2xkR3JheTEwMEFscGhhMjA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yQ29sZEdyYXkxMDAsODApLGNvbG9yQ29sZEdyYXk4MDBBbHBoYTA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yQ29sZEdyYXk4MDAsMTAwKSxjb2xvckNvbGRHcmF5ODAwQWxwaGE2OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckNvbGRHcmF5ODAwLDk0KSxjb2xvckNvbGRHcmF5ODAwQWxwaGEyMDooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JDb2xkR3JheTgwMCw4MCl9LG49ey4uLmMsLi4uYX19LDk4NDQyNihvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtkYXJrOigpPT5jb30pO3ZhciBsPWUoMjI3ODI1KSx0PWUoNTA3NjA0KTtjb25zdHtjb2xvcldoaXRlOmMsY29sb3JDb2xkR3JheTEwMEFscGhhMDphLGNvbG9yQ29sZEdyYXkxMDBBbHBoYTIwOm4sY29sb3JDb2xkR3JheTIwMDppLGNvbG9yQ29sZEdyYXkzMDA6ZCxjb2xvckNvbGRHcmF5NDAwOnMsY29sb3JDb2xkR3JheTQ1MDpnLGNvbG9yQ29sZEdyYXk2MDA6dSxjb2xvckNvbGRHcmF5ODAwOnAsY29sb3JDb2xkR3JheTg1MDpDLGNvbG9yQ29sZEdyYXk5MDA6eSxjb2xvckRlZXBCbHVlQTIwMDpiLGNvbG9yR3JhcGVzUHVycGxlQTQwMDpoLGNvbG9yR3JhcGVzUHVycGxlQTIwMEFscGhhMTU6RSxjb2xvckdyYXBlc1B1cnBsZTYwMDptLGNvbG9yTWludHlHcmVlbjQwMDpBLGNvbG9yTWludHlHcmVlbjUwMDpfLGNvbG9yTWludHlHcmVlbjYwMDpULGNvbG9yTWludHlHcmVlbjgwMDpmLGNvbG9yTWludHlHcmVlbjUwMEFscGhhNTpTLGNvbG9yTWludHlHcmVlbjUwMEFscGhhMjg6dixjb2xvck1pbnR5R3JlZW41MDBBbHBoYTUwOncsY29sb3JNaW50eUdyZWVuQTkwMDpSLGNvbG9yUmlwZVJlZDQwMDpOLGNvbG9yUmlwZVJlZDUwMDpJLGNvbG9yUmlwZVJlZDYwMDpPLGNvbG9yUmlwZVJlZDgwMDprLGNvbG9yUmlwZVJlZDUwMEFscGhhNTpCLGNvbG9yUmlwZVJlZDUwMEFscGhhMjg6UCxjb2xvclJpcGVSZWQ1MDBBbHBoYTUwOkQsY29sb3JSaXBlUmVkQTkwMDpMLGNvbG9yQmVycnlQaW5rNTAwQWxwaGEyNTpGLGNvbG9yQmVycnlQaW5rNDAwQWxwaGE1MDp4LGNvbG9yQmVycnlQaW5rNDAwQWxwaGE3NTpILGNvbG9yQmVycnlQaW5rNTAwOlUsY29sb3JJZ3VhbmFHcmVlbkE3MDA6Ryxjb2xvclNreUJsdWVBNDAwOk0sY29sb3JTa3lCbHVlNDAwQWxwaGE1OlcsY29sb3JTa3lCbHVlNDAwQWxwaGE1MDpWLGNvbG9yU2t5Qmx1ZTQwMEFscGhhNzU6WSxjb2xvclNreUJsdWU1MDA6aixjb2xvclNreUJsdWU1MDBBbHBoYTI1OkssY29sb3JEZWVwQmx1ZUE0MDA6JCxjb2xvclR2Qmx1ZTQwMDpYLGNvbG9yVHZCbHVlNTAwOnEsY29sb3JUdkJsdWU1MDBBbHBoYTI4OkosY29sb3JUdkJsdWU2MDA6eixjb2xvclR2Qmx1ZTgwMDpRLGNvbG9yVHZCbHVlQTgwMDpaLGNvbG9yVGFuT3JhbmdlNTAwOm9vLGNvbG9yVGFuT3JhbmdlNjAwOnJvfT10LmNvbG9ycyxlbz17Y29sb3I6cSx0cG86e2NvbG9yczp7Z3JhZGllbnRDb2xvcnM6W1UsRyxqLCRdfX0sdm9sdW1lUHJvZmlsZTp7dmFsdWVzQ29sb3I6aSx2YWg6e2NvbG9yOml9LHZhbDp7Y29sb3I6aX0scG9jOntjb2xvcjppfSx2b2x1bWVDb2xvcjpWLHZhbHVlQXJlYUNvbG9yOll9LGxldmVsczp7cG9jQ29sb3I6aSxwb29ySGlnaENvbG9yOmIscG9vckxvd0NvbG9yOmIsc2luZ2xlcHJpbnRzQ29sb3I6RSx2YWhDb2xvcjppLHZhbENvbG9yOml9fSxsbz17dXBDb2xvcjpfLGRvd25Db2xvcjpJLGJvcmRlckNvbG9yOiIjMzc4NjU4Iixib3JkZXJVcENvbG9yOl8sYm9yZGVyRG93bkNvbG9yOkksd2lja0NvbG9yOiIjNzM3Mzc1Iix3aWNrVXBDb2xvcjpfLHdpY2tEb3duQ29sb3I6SSxpbWJhbGFuY2VIaWdobGlnaHQ6e2J1eUNvbG9yOl8sc2VsbENvbG9yOkl9LHVuZmluaXNoZWRBdWN0aW9uOntoaWdoQ29sb3I6aCxsb3dDb2xvcjpNfSxiZ0NvbG9yczp7YWRqQnV5QmdDb2xvcnM6W1IsZixULEFdLGFkalNlbGxCZ0NvbG9yczpbTCxrLE8sTl0sYWRqVG90YWxCZ0NvbG9yczpbWixRLHosWF0sYnV5QmdDb2xvcjpmLApzZWxsQmdDb2xvcjprLHRvdGFsQmdDb2xvcjpRLHBvY0NvbG9yOml9fSx0bz17dm9sdW1lUHJvZmlsZTp7dmFsdWVzQ29sb3I6aSx2b2x1bWVDb2xvclVwOlYsdm9sdW1lQ29sb3JEb3duOngsdmFsdWVBcmVhQ29sb3JVcDpZLHZhbHVlQXJlYUNvbG9yRG93bjpILGhpc3RvZ3JhbUJveENvbG9yOld9LHZhaDp7Y29sb3I6aX0sdmFsOntjb2xvcjppfSxwb2M6e2NvbG9yOml9LGRldmVsb3BpbmdQb2M6e2NvbG9yOml9LGRldmVsb3BpbmdWQTp7Y29sb3I6an19LGNvPXtjb250ZW50OntjaGFydFByb3BlcnRpZXM6e3NjYWxlc1Byb3BlcnRpZXM6e3RleHRDb2xvcjpkLGxpbmVDb2xvcjphLGJhY2tncm91bmRDb2xvcjpjfSxwYW5lUHJvcGVydGllczp7dmVydEdyaWRQcm9wZXJ0aWVzOntjb2xvcjpufSxob3J6R3JpZFByb3BlcnRpZXM6e2NvbG9yOm59LGNyb3NzSGFpclByb3BlcnRpZXM6e2NvbG9yOnN9LGJhY2tncm91bmQ6eSxiYWNrZ3JvdW5kR3JhZGllbnRTdGFydENvbG9yOkMsYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3I6eSxiYWNrZ3JvdW5kVHlwZToic29saWQiLHNlcGFyYXRvckNvbG9yOnB9fSxzZXNzaW9uczp7c2Vzc2lvbkhpZ2hsaWdodDp7YmFja2dyb3VuZHM6e291dE9mU2Vzc2lvbjp7Y29sb3I6cSx0cmFuc3BhcmVuY3k6OTJ9LHByZU1hcmtldDp7Y29sb3I6b28sdHJhbnNwYXJlbmN5OjkyfSxwb3N0TWFya2V0Ontjb2xvcjpxLHRyYW5zcGFyZW5jeTo5Mn0sbmlnaHRNYXJrZXQ6e2NvbG9yOmgsdHJhbnNwYXJlbmN5OjkyfSxlbGVjdHJvbmljOntjb2xvcjpxLHRyYW5zcGFyZW5jeTo5Mn19LHZlcnRsaW5lczp7c2Vzc0JyZWFrczp7Y29sb3I6IiM0OTg1ZTcifX19fSxtYWluU291cmNlUHJvcGVydGllczp7YmFzZUxpbmVDb2xvcjp1LHByZXZDbG9zZVByaWNlTGluZUNvbG9yOiIjNTU1NTU1IixwcmljZUxpbmVDb2xvcjoiIixoaWdoTG93QXZnUHJpY2U6e2hpZ2hMb3dQcmljZUxpbmVzQ29sb3I6IiIsYXZlcmFnZVByaWNlTGluZUNvbG9yOiIifSxiaWRBc2s6e2JpZExpbmVDb2xvcjpxLGFza0xpbmVDb2xvcjpOfSxwcmVQb3N0TWFya2V0OntwcmVNYXJrZXRDb2xvcjpybyxwb3N0TWFya2V0Q29sb3I6cSxvdmVybmlnaHRNYXJrZXRDb2xvcjptfSxjYW5kbGVTdHlsZTp7Ym9yZGVyQ29sb3I6IiMzNzg2NTgiLHVwQ29sb3I6Xyx3aWNrQ29sb3I6IiM3MzczNzUiLHdpY2tVcENvbG9yOl8sd2lja0Rvd25Db2xvcjpJLGRvd25Db2xvcjpJLGJvcmRlclVwQ29sb3I6Xyxib3JkZXJEb3duQ29sb3I6SX0sdm9sQ2FuZGxlc1N0eWxlOntib3JkZXJDb2xvcjoiIzM3ODY1OCIsdXBDb2xvcjpfLHdpY2tDb2xvcjoiIzczNzM3NSIsd2lja1VwQ29sb3I6Xyx3aWNrRG93bkNvbG9yOkksZG93bkNvbG9yOkksYm9yZGVyVXBDb2xvcjpfLGJvcmRlckRvd25Db2xvcjpJfSxoYVN0eWxlOntib3JkZXJDb2xvcjoiIzM3ODY1OCIsdXBDb2xvcjpfLHdpY2tDb2xvcjoiIzczNzM3NSIsd2lja1VwQ29sb3I6Xyx3aWNrRG93bkNvbG9yOkksZG93bkNvbG9yOkksYm9yZGVyVXBDb2xvcjpfLGJvcmRlckRvd25Db2xvcjpJfSxobGNBcmVhU3R5bGU6e2hpZ2hMaW5lQ29sb3I6aixsb3dMaW5lQ29sb3I6VSxjbG9zZUxpbmVDb2xvcjpxLGhpZ2hDbG9zZUZpbGxDb2xvcjpLLGNsb3NlTG93RmlsbENvbG9yOkZ9LGhvbGxvd0NhbmRsZVN0eWxlOnt1cENvbG9yOl8sZG93bkNvbG9yOkksYm9yZGVyQ29sb3I6IiMzNzg2NTgiLGJvcmRlclVwQ29sb3I6Xyxib3JkZXJEb3duQ29sb3I6SSx3aWNrQ29sb3I6IiM3MzczNzUiLHdpY2tVcENvbG9yOl8sd2lja0Rvd25Db2xvcjpJfSxiYXJTdHlsZTp7ZG93bkNvbG9yOkksdXBDb2xvcjpffSxwbmZTdHlsZTp7ZG93bkNvbG9yOkksdXBDb2xvcjpfLHVwQ29sb3JQcm9qZWN0aW9uOiIjMzM2ODU0Iixkb3duQ29sb3JQcm9qZWN0aW9uOiIjN2YzMjNmIn0sYmFzZWxpbmVTdHlsZTp7YmFzZWxpbmVDb2xvcjpnLHRvcEZpbGxDb2xvcjE6dix0b3BGaWxsQ29sb3IyOlMsYm90dG9tRmlsbENvbG9yMTpCLGJvdHRvbUZpbGxDb2xvcjI6UCx0b3BMaW5lQ29sb3I6Xyxib3R0b21MaW5lQ29sb3I6SX0sYXJlYVN0eWxlOnt0cmFuc3BhcmVuY3k6MTAwLGNvbG9yMTpKLGNvbG9yMjpxLGxpbmVjb2xvcjpxfSxoaWxvU3R5bGU6e2NvbG9yOnEsYm9yZGVyQ29sb3I6cSxsYWJlbENvbG9yOnF9LGNvbHVtblN0eWxlOnt1cENvbG9yOncsZG93bkNvbG9yOkR9LHJlbmtvU3R5bGU6e3VwQ29sb3I6Xyxkb3duQ29sb3I6SSxib3JkZXJVcENvbG9yOl8sYm9yZGVyRG93bkNvbG9yOkksdXBDb2xvclByb2plY3Rpb246IiMzMzY4NTQiLGRvd25Db2xvclByb2plY3Rpb246IiM3ZjMyM2YiLGJvcmRlclVwQ29sb3JQcm9qZWN0aW9uOiIjMzM2ODU0Iixib3JkZXJEb3duQ29sb3JQcm9qZWN0aW9uOiIjN2YzMjNmIix3aWNrVXBDb2xvcjpfLHdpY2tEb3duQ29sb3I6SX0sbGluZVN0eWxlOntjb2xvclR5cGU6bC5Db2xvclR5cGUuR3JhZGllbnQsY29sb3I6cSxncmFkaWVudFN0YXJ0Q29sb3I6aCxncmFkaWVudEVuZENvbG9yOiIjMDBCQ0U1In0sbGluZVdpdGhNYXJrZXJzU3R5bGU6e2NvbG9yVHlwZTpsLkNvbG9yVHlwZS5HcmFkaWVudCxjb2xvcjpxLGdyYWRpZW50U3RhcnRDb2xvcjpoLGdyYWRpZW50RW5kQ29sb3I6IiMwMEJDRTUifSxzdGVwbGluZVN0eWxlOntjb2xvclR5cGU6bC5Db2xvclR5cGUuR3JhZGllbnQsY29sb3I6cSxncmFkaWVudFN0YXJ0Q29sb3I6aCxncmFkaWVudEVuZENvbG9yOiIjMDBCQ0U1In0sa2FnaVN0eWxlOntkb3duQ29sb3I6SSx1cENvbG9yOl8sdXBDb2xvclByb2plY3Rpb246IiMzMzY4NTQiLGRvd25Db2xvclByb2plY3Rpb246IiM3ZjMyM2YifSxwYlN0eWxlOnt1cENvbG9yOl8sZG93bkNvbG9yOkksYm9yZGVyVXBDb2xvcjpfLGJvcmRlckRvd25Db2xvcjpJLHVwQ29sb3JQcm9qZWN0aW9uOiIjMzM2ODU0Iixkb3duQ29sb3JQcm9qZWN0aW9uOiIjN2YzMjNmIixib3JkZXJVcENvbG9yUHJvamVjdGlvbjoiIzMzNjg1NCIsYm9yZGVyRG93bkNvbG9yUHJvamVjdGlvbjoiIzdmMzIzZiJ9LHJhbmdlU3R5bGU6e3VwQ29sb3I6Xyxkb3duQ29sb3I6SSwKdXBDb2xvclByb2plY3Rpb246IiMzMzY4NTQiLGRvd25Db2xvclByb2plY3Rpb246IiM3ZjMyM2YiLGNhbmRsZXNVcENvbG9yOl8sY2FuZGxlc0Rvd25Db2xvcjpJLGNhbmRsZXNCb3JkZXJVcENvbG9yOl8sY2FuZGxlc0JvcmRlckRvd25Db2xvcjpJLGNhbmRsZXNXaWNrVXBDb2xvcjpfLGNhbmRsZXNXaWNrRG93bkNvbG9yOkl9LHRwb1N0eWxlOmVvLHZvbEZvb3RwcmludFN0eWxlOmxvLHN2cFN0eWxlOnRvLGhsY0JhcnNTdHlsZTp7Y29sb3I6cX19fX19LDcxNjc2OChvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtsaWdodDooKT0+bG99KTt2YXIgbD1lKDUwNzYwNCksdD1lKDIyNzgyNSk7Y29uc3R7Y29sb3JXaGl0ZTpjLGNvbG9yQmxhY2s6YSxjb2xvckNvbGRHcmF5MTUwOm4sY29sb3JDb2xkR3JheTMwMDppLGNvbG9yQ29sZEdyYXk0MDA6ZCxjb2xvckNvbGRHcmF5NDUwOnMsY29sb3JDb2xkR3JheTgwMEFscGhhMDpnLGNvbG9yQ29sZEdyYXk4MDBBbHBoYTIwOnUsY29sb3JDb2xkR3JheTkwMDpwLGNvbG9yR3JhcGVzUHVycGxlQTQwMDpDLGNvbG9yR3JhcGVzUHVycGxlQTIwMEFscGhhMTU6eSxjb2xvckdyYXBlc1B1cnBsZTYwMDpiLGNvbG9yTWludHlHcmVlbjIwMDpoLGNvbG9yTWludHlHcmVlbjQwMDpFLGNvbG9yTWludHlHcmVlbjUwMDptLGNvbG9yTWludHlHcmVlbjYwMDpBLGNvbG9yTWludHlHcmVlbjgwMDpfLGNvbG9yTWludHlHcmVlbjUwMEFscGhhNTpULGNvbG9yTWludHlHcmVlbjUwMEFscGhhMjg6Zixjb2xvck1pbnR5R3JlZW41MDBBbHBoYTUwOlMsY29sb3JSaXBlUmVkMjAwOnYsY29sb3JSaXBlUmVkNDAwOncsY29sb3JSaXBlUmVkNTAwOlIsY29sb3JSaXBlUmVkNjAwOk4sY29sb3JSaXBlUmVkQTcwMDpJLGNvbG9yUmlwZVJlZDUwMEFscGhhNTpPLGNvbG9yUmlwZVJlZDUwMEFscGhhMjg6ayxjb2xvclJpcGVSZWQ1MDBBbHBoYTUwOkIsY29sb3JEZWVwQmx1ZUE3MDA6UCxjb2xvckJlcnJ5UGluazUwMDpELGNvbG9yQmVycnlQaW5rNTAwQWxwaGEyNTpMLGNvbG9yQmVycnlQaW5rNDAwQWxwaGE1MDpGLGNvbG9yQmVycnlQaW5rNDAwQWxwaGE3NTp4LGNvbG9ySWd1YW5hR3JlZW5BNzAwOkgsY29sb3JTa3lCbHVlNDAwQWxwaGE1OlUsY29sb3JTa3lCbHVlNDAwQWxwaGE1MDpHLGNvbG9yU2t5Qmx1ZTQwMEFscGhhNzU6TSxjb2xvclNreUJsdWU1MDA6Vyxjb2xvclNreUJsdWU1MDBBbHBoYTI1OlYsY29sb3JTa3lCbHVlQTQwMDpZLGNvbG9yRGVlcEJsdWVBNDAwOmosY29sb3JUdkJsdWUyMDA6Syxjb2xvclR2Qmx1ZTQwMDokLGNvbG9yVHZCbHVlNTAwOlgsY29sb3JUdkJsdWU1MDBBbHBoYTI4OnEsY29sb3JUdkJsdWU2MDA6Sixjb2xvclR2Qmx1ZTgwMDp6LGNvbG9yVGFuT3JhbmdlNTAwOlEsY29sb3JUYW5PcmFuZ2U2MDA6Wn09bC5jb2xvcnMsb289e2NvbG9yOlgsdHBvOntjb2xvcnM6e2dyYWRpZW50Q29sb3JzOltELEgsVyxqXX19LHZvbHVtZVByb2ZpbGU6e3ZhbHVlc0NvbG9yOnAsdmFoOntjb2xvcjpwfSx2YWw6e2NvbG9yOnB9LHBvYzp7Y29sb3I6cH0sdm9sdW1lQ29sb3I6Ryx2YWx1ZUFyZWFDb2xvcjpNfSxsZXZlbHM6e3BvY0NvbG9yOnAscG9vckhpZ2hDb2xvcjpQLHBvb3JMb3dDb2xvcjpQLHNpbmdsZXByaW50c0NvbG9yOnksdmFoQ29sb3I6cCx2YWxDb2xvcjpwfX0scm89e3VwQ29sb3I6bSxkb3duQ29sb3I6Uixib3JkZXJDb2xvcjoiIzM3ODY1OCIsYm9yZGVyVXBDb2xvcjptLGJvcmRlckRvd25Db2xvcjpSLHdpY2tDb2xvcjoiIzczNzM3NSIsd2lja1VwQ29sb3I6bSx3aWNrRG93bkNvbG9yOlIsaW1iYWxhbmNlSGlnaGxpZ2h0OntidXlDb2xvcjptLHNlbGxDb2xvcjpSfSx1bmZpbmlzaGVkQXVjdGlvbjp7aGlnaENvbG9yOkMsbG93Q29sb3I6WX0sYmdDb2xvcnM6e2FkakJ1eUJnQ29sb3JzOltoLEUsQSxfXSxhZGpTZWxsQmdDb2xvcnM6W3YsdyxOLEldLGFkalRvdGFsQmdDb2xvcnM6W0ssJCxKLHpdLGJ1eUJnQ29sb3I6RSxzZWxsQmdDb2xvcjp3LHRvdGFsQmdDb2xvcjokLHBvY0NvbG9yOmF9fSxlbz17dm9sdW1lUHJvZmlsZTp7dmFsdWVzQ29sb3I6cCx2b2x1bWVDb2xvclVwOkcsdm9sdW1lQ29sb3JEb3duOkYsdmFsdWVBcmVhQ29sb3JVcDpNLHZhbHVlQXJlYUNvbG9yRG93bjp4LGhpc3RvZ3JhbUJveENvbG9yOlV9LHZhaDp7Y29sb3I6cH0sdmFsOntjb2xvcjpwfSxwb2M6e2NvbG9yOnB9LGRldmVsb3BpbmdQb2M6e2NvbG9yOnB9LGRldmVsb3BpbmdWQTp7Y29sb3I6V319LGxvPXtjb250ZW50OntjaGFydFByb3BlcnRpZXM6e3NjYWxlc1Byb3BlcnRpZXM6e3RleHRDb2xvcjpwLGxpbmVDb2xvcjpnLGJhY2tncm91bmRDb2xvcjpjfSxwYW5lUHJvcGVydGllczp7dmVydEdyaWRQcm9wZXJ0aWVzOntjb2xvcjp1fSxob3J6R3JpZFByb3BlcnRpZXM6e2NvbG9yOnV9LGNyb3NzSGFpclByb3BlcnRpZXM6e2NvbG9yOmR9LGJhY2tncm91bmRUeXBlOnQuQ29sb3JUeXBlLlNvbGlkLGJhY2tncm91bmQ6YyxiYWNrZ3JvdW5kR3JhZGllbnRTdGFydENvbG9yOmMsYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3I6YyxzZXBhcmF0b3JDb2xvcjpufX0sc2Vzc2lvbnM6e3Nlc3Npb25IaWdobGlnaHQ6e2JhY2tncm91bmRzOntvdXRPZlNlc3Npb246e2NvbG9yOlgsdHJhbnNwYXJlbmN5OjkyfSxwcmVNYXJrZXQ6e2NvbG9yOlEsdHJhbnNwYXJlbmN5OjkyfSxwb3N0TWFya2V0Ontjb2xvcjpYLHRyYW5zcGFyZW5jeTo5Mn0sbmlnaHRNYXJrZXQ6e2NvbG9yOkMsdHJhbnNwYXJlbmN5OjkyfSxlbGVjdHJvbmljOntjb2xvcjpYLHRyYW5zcGFyZW5jeTo5Mn19LHZlcnRsaW5lczp7c2Vzc0JyZWFrczp7Y29sb3I6IiM0OTg1ZTcifX19fSxtYWluU291cmNlUHJvcGVydGllczp7YmFzZUxpbmVDb2xvcjppLHByZXZDbG9zZVByaWNlTGluZUNvbG9yOiIjNTU1NTU1IixwcmljZUxpbmVDb2xvcjoiIixoaWdoTG93QXZnUHJpY2U6e2hpZ2hMb3dQcmljZUxpbmVzQ29sb3I6IiIsYXZlcmFnZVByaWNlTGluZUNvbG9yOiIifSxiaWRBc2s6e2JpZExpbmVDb2xvcjpYLGFza0xpbmVDb2xvcjp3fSxwcmVQb3N0TWFya2V0OntwcmVNYXJrZXRDb2xvcjpaLApwb3N0TWFya2V0Q29sb3I6WCxvdmVybmlnaHRNYXJrZXRDb2xvcjpifSxjYW5kbGVTdHlsZTp7Ym9yZGVyQ29sb3I6IiMzNzg2NTgiLHVwQ29sb3I6bSx3aWNrQ29sb3I6IiM3MzczNzUiLHdpY2tVcENvbG9yOm0sd2lja0Rvd25Db2xvcjpSLGRvd25Db2xvcjpSLGJvcmRlclVwQ29sb3I6bSxib3JkZXJEb3duQ29sb3I6Un0sdm9sQ2FuZGxlc1N0eWxlOntib3JkZXJDb2xvcjoiIzM3ODY1OCIsdXBDb2xvcjptLHdpY2tDb2xvcjoiIzczNzM3NSIsd2lja1VwQ29sb3I6bSx3aWNrRG93bkNvbG9yOlIsZG93bkNvbG9yOlIsYm9yZGVyVXBDb2xvcjptLGJvcmRlckRvd25Db2xvcjpSfSxoYVN0eWxlOntib3JkZXJDb2xvcjoiIzM3ODY1OCIsdXBDb2xvcjptLHdpY2tDb2xvcjoiIzczNzM3NSIsd2lja1VwQ29sb3I6bSx3aWNrRG93bkNvbG9yOlIsZG93bkNvbG9yOlIsYm9yZGVyVXBDb2xvcjptLGJvcmRlckRvd25Db2xvcjpSfSxobGNBcmVhU3R5bGU6e2hpZ2hMaW5lQ29sb3I6Vyxsb3dMaW5lQ29sb3I6RCxjbG9zZUxpbmVDb2xvcjpYLGhpZ2hDbG9zZUZpbGxDb2xvcjpWLGNsb3NlTG93RmlsbENvbG9yOkx9LGhvbGxvd0NhbmRsZVN0eWxlOnt1cENvbG9yOm0sZG93bkNvbG9yOlIsYm9yZGVyQ29sb3I6IiMzNzg2NTgiLGJvcmRlclVwQ29sb3I6bSxib3JkZXJEb3duQ29sb3I6Uix3aWNrQ29sb3I6IiM3MzczNzUiLHdpY2tVcENvbG9yOm0sd2lja0Rvd25Db2xvcjpSfSxiYXJTdHlsZTp7ZG93bkNvbG9yOlIsdXBDb2xvcjptfSxwbmZTdHlsZTp7ZG93bkNvbG9yOlIsdXBDb2xvcjptLHVwQ29sb3JQcm9qZWN0aW9uOiIjYTlkY2MzIixkb3duQ29sb3JQcm9qZWN0aW9uOiIjZjVhNmFlIn0sYmFzZWxpbmVTdHlsZTp7YmFzZWxpbmVDb2xvcjpzLHRvcEZpbGxDb2xvcjE6Zix0b3BGaWxsQ29sb3IyOlQsYm90dG9tRmlsbENvbG9yMTpPLGJvdHRvbUZpbGxDb2xvcjI6ayx0b3BMaW5lQ29sb3I6bSxib3R0b21MaW5lQ29sb3I6Un0sYXJlYVN0eWxlOnt0cmFuc3BhcmVuY3k6MTAwLGNvbG9yMTpxLGNvbG9yMjpYLGxpbmVjb2xvcjpYfSxoaWxvU3R5bGU6e2NvbG9yOlgsYm9yZGVyQ29sb3I6WCxsYWJlbENvbG9yOlh9LGNvbHVtblN0eWxlOnt1cENvbG9yOlMsZG93bkNvbG9yOkJ9LHJlbmtvU3R5bGU6e3VwQ29sb3I6bSxkb3duQ29sb3I6Uixib3JkZXJVcENvbG9yOm0sYm9yZGVyRG93bkNvbG9yOlIsdXBDb2xvclByb2plY3Rpb246IiNhOWRjYzMiLGRvd25Db2xvclByb2plY3Rpb246IiNmNWE2YWUiLGJvcmRlclVwQ29sb3JQcm9qZWN0aW9uOiIjYTlkY2MzIixib3JkZXJEb3duQ29sb3JQcm9qZWN0aW9uOiIjZjVhNmFlIix3aWNrVXBDb2xvcjptLHdpY2tEb3duQ29sb3I6Un0sbGluZVN0eWxlOntjb2xvclR5cGU6dC5Db2xvclR5cGUuR3JhZGllbnQsY29sb3I6WCxncmFkaWVudFN0YXJ0Q29sb3I6QyxncmFkaWVudEVuZENvbG9yOiIjMDBCQ0U1In0sbGluZVdpdGhNYXJrZXJzU3R5bGU6e2NvbG9yVHlwZTp0LkNvbG9yVHlwZS5HcmFkaWVudCxjb2xvcjpYLGdyYWRpZW50U3RhcnRDb2xvcjpDLGdyYWRpZW50RW5kQ29sb3I6IiMwMEJDRTUifSxzdGVwbGluZVN0eWxlOntjb2xvclR5cGU6dC5Db2xvclR5cGUuR3JhZGllbnQsY29sb3I6WCxncmFkaWVudFN0YXJ0Q29sb3I6QyxncmFkaWVudEVuZENvbG9yOiIjMDBCQ0U1In0sa2FnaVN0eWxlOntkb3duQ29sb3I6Uix1cENvbG9yOm0sdXBDb2xvclByb2plY3Rpb246IiNhOWRjYzMiLGRvd25Db2xvclByb2plY3Rpb246IiNmNWE2YWUifSxwYlN0eWxlOnt1cENvbG9yOm0sZG93bkNvbG9yOlIsYm9yZGVyVXBDb2xvcjptLGJvcmRlckRvd25Db2xvcjpSLHVwQ29sb3JQcm9qZWN0aW9uOiIjYTlkY2MzIixkb3duQ29sb3JQcm9qZWN0aW9uOiIjZjVhNmFlIixib3JkZXJVcENvbG9yUHJvamVjdGlvbjoiI2E5ZGNjMyIsYm9yZGVyRG93bkNvbG9yUHJvamVjdGlvbjoiI2Y1YTZhZSJ9LHJhbmdlU3R5bGU6e3VwQ29sb3I6bSxkb3duQ29sb3I6Uix1cENvbG9yUHJvamVjdGlvbjoiI2E5ZGNjMyIsZG93bkNvbG9yUHJvamVjdGlvbjoiI2Y1YTZhZSIsY2FuZGxlc1VwQ29sb3I6bSxjYW5kbGVzRG93bkNvbG9yOlIsY2FuZGxlc0JvcmRlclVwQ29sb3I6bSxjYW5kbGVzQm9yZGVyRG93bkNvbG9yOlIsY2FuZGxlc1dpY2tVcENvbG9yOm0sY2FuZGxlc1dpY2tEb3duQ29sb3I6Un0sdHBvU3R5bGU6b28sdm9sRm9vdHByaW50U3R5bGU6cm8sc3ZwU3R5bGU6ZW8saGxjQmFyc1N0eWxlOntjb2xvcjpYfX19fX0sMTEzNjU2KG8scixlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbCgpe3JldHVybi8oPzpefDspXHMqdGhlbWU9KGRhcmt8bGlnaHQpKD86O3wkKXwkLy5leGVjKGRvY3VtZW50LmNvb2tpZSlbMV19ZnVuY3Rpb24gdChvKXtjb25zdCByPWZ1bmN0aW9uKCl7Y29uc3Qgbz1sb2NhdGlvbi5ob3N0bmFtZS5zcGxpdCgiLiIpLmZpbHRlcihCb29sZWFuKTtyZXR1cm4gby5ldmVyeShpc0Zpbml0ZSk/bG9jYXRpb24uaG9zdDpvLnNsaWNlKC0yKS5qb2luKCIuIil9KCksZT12b2lkIDA9PT1vPy0xOjNlODtkb2N1bWVudC5jb29raWU9YHRoZW1lPSR7b307cGF0aD0vO2RvbWFpbj0ke3J9O21heC1hZ2U9JHtlfWB9ZS5kKHIse2dldFRoZW1lRnJvbUNvb2tpZTooKT0+bCxzZXRUaGVtZVRvQ29va2llOigpPT50fSl9LDQ4NTY1MShvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtnZXRUaGVtZUZyb21Vc2VyU2V0dGluZ3M6KCk9PmMsc2F2ZVRoZW1lSW5Vc2VyU2V0dGluZ3M6KCk9PmF9KTt2YXIgbD1lKDkzMDU2NiksdD1lKDExMzY1Nik7ZnVuY3Rpb24gYygpe3JldHVybigwLHQuZ2V0VGhlbWVGcm9tQ29va2llKSgpfHwoMCxsLmdldFZhbHVlKSgiY3VycmVudF90aGVtZS5uYW1lIil8fG51bGx9ZnVuY3Rpb24gYShvKXsoMCx0LnNldFRoZW1lVG9Db29raWUpKG8pLCgwLGwuc2V0VmFsdWUpKCJjdXJyZW50X3RoZW1lLm5hbWUiLG8se2ZvcmNlRmx1c2g6ITB9KX19LDY2NTE4NyhvLHIsZSl7InVzZSBzdHJpY3QiO2UucihyKSxlLmQocix7REVGQVVMVF9USEVNRTooKT0+RS5ERUZBVUxUX1RIRU1FLGdldEN1cnJlbnRUaGVtZTooKT0+XyxnZXRTdGRUaGVtZTooKT0+SSwKZ2V0U3RkVGhlbWVOYW1lczooKT0+TixnZXRTdGRUaGVtZWRWYWx1ZTooKT0+TyxnZXRUaGVtZTooKT0+dyxnZXRUaGVtZU5hbWVzOigpPT5SLGdldFRoZW1lZENvbG9yOigpPT5ULGlzU3RkVGhlbWVOYW1lOigpPT5BLmlzU3RkVGhlbWVOYW1lLGlzU3RkVGhlbWVkRGVmYXVsdFZhbHVlOigpPT5rLGlzVGhlbWVFeGlzdDooKT0+RCxyZW1vdmVUaGVtZTooKT0+UCxyZXN0b3JlVGhlbWU6KCk9PmYsc2F2ZVRoZW1lOigpPT5CLHNhdmVkVGhlbWVOYW1lOigpPT5TLHN5bmNUaGVtZTooKT0+dix0aGVtZUxpc3RDaGFuZ2VkOigpPT5GLHRoZW1lczooKT0+bS50aGVtZXMsdHJhbnNsYXRlU3RkVGhlbWVOYW1lOigpPT5MfSk7dmFyIGw9e307aWYoZS5yKGwpLGUuZChsLHtpc1RoZW1lRXhpc3Q6KCk9PkMsbG9hZFRoZW1lOigpPT5zLGxvYWRUaGVtZXM6KCk9PmcscmVtb3ZlVGhlbWU6KCk9PnAsc2F2ZVRoZW1lOigpPT51fSksL14oNzk3OTV8OTQzODkpJC8udGVzdChlLmopKXZhciB0PWUoMTM0NjcpO3ZhciBjPWUoOTQ4MzgwKSxhPWUoNDg1NjUxKSxuPWUoMzg0MDE3KTtjb25zdCBpPSgwLGUoMjIxMDYxKS5nZXRMb2dnZXIpKCJUaGVtZXMuUHJvdmlkZXIiKTtsZXQgZD1udWxsO2Z1bmN0aW9uIHMobyl7cmV0dXJuKDAsbi5mZXRjaCkoIi90aGVtZS8/dGhlbWVOYW1lPSIrZW5jb2RlVVJJQ29tcG9uZW50KG8pLHtjcmVkZW50aWFsczoiaW5jbHVkZSIsbWV0aG9kOiJHRVQifSkudGhlbigobz0+by5qc29uKCkpKS50aGVuKChvPT57Y29uc3Qgcj17fTtyZXR1cm4gby5jb250ZW50JiYoci5jb250ZW50PUpTT04ucGFyc2Uoby5jb250ZW50KSkscn0pKX1mdW5jdGlvbiBnKCl7cmV0dXJuIGR8fCgwLG4uZmV0Y2gpKCIvdGhlbWVzLyIse2NyZWRlbnRpYWxzOiJpbmNsdWRlIixtZXRob2Q6IkdFVCJ9KS50aGVuKChvPT4oZD1vLmpzb24oKSxkKSkpfWZ1bmN0aW9uIHUobyxyKXtjb25zdCBlPW5ldyBGb3JtRGF0YTtyZXR1cm4gZS5hcHBlbmQoImNvbnRlbnQiLEpTT04uc3RyaW5naWZ5KHIpKSxlLmFwcGVuZCgibmFtZSIsbyksZD1udWxsLCgwLG4uZmV0Y2gpKCIvc2F2ZS10aGVtZS8iLHtjcmVkZW50aWFsczoiaW5jbHVkZSIsbWV0aG9kOiJQT1NUIixib2R5OmV9KS50aGVuKChvPT5vLmpzb24oKSksKG89PmkubG9nRXJyb3IobykpKX1mdW5jdGlvbiBwKG8pe2NvbnN0IHI9bmV3IEZvcm1EYXRhO3JldHVybiByLmFwcGVuZCgibmFtZSIsbyksZD1udWxsLCgwLG4uZmV0Y2gpKCIvcmVtb3ZlLXRoZW1lLyIse2NyZWRlbnRpYWxzOiJpbmNsdWRlIixtZXRob2Q6IlBPU1QiLGJvZHk6cn0pLnRoZW4oKG89Pm8uanNvbigpKSwobz0+aS5sb2dFcnJvcihvKSkpfWZ1bmN0aW9uIEMobyl7cmV0dXJuIHMobykudGhlbigobz0+Qm9vbGVhbihvLmNvbnRlbnQpKSl9Y29uc3QgeT0vXig3OTc5NXw5NDM4OSkkLy50ZXN0KGUuaik/bDpudWxsO3ZhciBiPWUoNzI4NTQpLGg9ZSgyMDA2NjYpLEU9ZSg0MzI3ODMpLG09ZSgyNDQ2NjQpLEE9ZSg0NTM5NjgpO2Z1bmN0aW9uIF8oKXtyZXR1cm4gbS50aGVtZXNbaC53YXRjaGVkVGhlbWUudmFsdWUoKV18fG0udGhlbWVzW0UuREVGQVVMVF9USEVNRV19ZnVuY3Rpb24gVChvKXtyZXR1cm4gXygpLmdldFRoZW1lZENvbG9yKG8pfWZ1bmN0aW9uIGYoKXsoMCxoLnNldFRoZW1lKSgoMCxhLmdldFRoZW1lRnJvbVVzZXJTZXR0aW5ncykoKXx8RS5ERUZBVUxUX1RIRU1FKX1mdW5jdGlvbiBTKCl7cmV0dXJuKDAsYS5nZXRUaGVtZUZyb21Vc2VyU2V0dGluZ3MpKCl9ZnVuY3Rpb24gdigpeygwLGEuc2F2ZVRoZW1lSW5Vc2VyU2V0dGluZ3MpKF8oKS5uYW1lKX1mdW5jdGlvbiB3KG8pe3JldHVybiB5LmxvYWRUaGVtZShvKX1mdW5jdGlvbiBSKCl7cmV0dXJuIHkubG9hZFRoZW1lcygpfWZ1bmN0aW9uIE4oKXtyZXR1cm4gYi5nZXRTdGRUaGVtZU5hbWVzKCl9ZnVuY3Rpb24gSShvKXtyZXR1cm4gYi5nZXRTdGRDaGFydFRoZW1lKG8pfHx7Y29udGVudDp2b2lkIDB9fWZ1bmN0aW9uIE8obyxyKXtjb25zdCBlPXJ8fF8oKS5uYW1lLGw9Yi5nZXRTdGRDaGFydFRoZW1lKGUpLHQ9MCE9PW8ubGVuZ3RoJiZvLnNwbGl0KCIuIik7cmV0dXJuIGwmJmwuY29udGVudCYmdD90LnJlZHVjZSgoKG8scik9Pm9bcl0pLGwuY29udGVudCk6bnVsbH1mdW5jdGlvbiBrKG8scixlKXtjb25zdCBsPU8obyxlKTtyZXR1cm4gbnVsbCE9PWwmJigwLHQuYXJlRXF1YWxSZ2JhKSgoMCx0LnBhcnNlUmdiYSkobCksKDAsdC5wYXJzZVJnYmEpKFN0cmluZyhyKSkpfWFzeW5jIGZ1bmN0aW9uIEIobyxyKXt0cnl7cmV0dXJuIGF3YWl0IHkuc2F2ZVRoZW1lKG8scil9ZmluYWxseXtGLmZpcmUoKX19YXN5bmMgZnVuY3Rpb24gUChvKXt0cnl7cmV0dXJuIGF3YWl0IHkucmVtb3ZlVGhlbWUobyl9ZmluYWxseXtGLmZpcmUoKX19ZnVuY3Rpb24gRChvKXtyZXR1cm4geS5pc1RoZW1lRXhpc3Qobyl9ZnVuY3Rpb24gTChvKXtyZXR1cm4gYi50cmFuc2xhdGVUaGVtZU5hbWUobyl9Y29uc3QgRj1uZXcgYy5EZWxlZ2F0ZX0sMjI3ODI1KG8scixlKXsidXNlIHN0cmljdCI7dmFyIGw7ZS5kKHIse0NvbG9yVHlwZTooKT0+bH0pLGZ1bmN0aW9uKG8pe28uU29saWQ9InNvbGlkIixvLkdyYWRpZW50PSJncmFkaWVudCJ9KGx8fChsPXt9KSl9LDg3MzU3MyhvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHthbHBoYVRvVHJhbnNwYXJlbmN5OigpPT5hLGFwcGx5QWxwaGE6KCk9PmMsYXBwbHlUcmFuc3BhcmVuY3k6KCk9PmksY29sb3JGcm9tQmFja2dyb3VuZDooKT0+Zyxjb2xvclRvSW50ZWdlcjooKT0+QyxnZW5lcmF0ZUNvbG9yOigpPT50LGdyYWRpZW50Q29sb3JBdFBlcmNlbnQ6KCk9PnUsaXNIZXhDb2xvcjooKT0+cyxyZXNldFRyYW5zcGFyZW5jeTooKT0+ZCxyZ2JhRnJvbUludGVnZXI6KCk9PnAsdHJhbnNwYXJlbmN5VG9BbHBoYTooKT0+bn0pO3ZhciBsPWUoMTM0NjcpO2Z1bmN0aW9uIHQobyxyLGUpe2lmKHI9cnx8MCwhcyhvKSlyZXR1cm4gZT8oMCxsLnJnYmFUb1N0cmluZykoKDAsbC5yZ2JhKSgoMCxsLnBhcnNlUmdiKShvKSwoMCxsLm5vcm1hbGl6ZUFscGhhQ29tcG9uZW50KShuKHIpKSkpOm87Y29uc3RbdCxjLGFdPSgwLApsLnBhcnNlUmdiKShvKSxpPSgwLGwubm9ybWFsaXplQWxwaGFDb21wb25lbnQpKG4ocikpO3JldHVybigwLGwucmdiYVRvU3RyaW5nKShbdCxjLGEsaV0pfWZ1bmN0aW9uIGMobyxyLGUpe2NvbnN0IHQ9KDAsbC50cnlQYXJzZVJnYmEpKG8pO2lmKG51bGw9PT10KXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb2xvcjogJHtvfWApO2NvbnN0W2MsYSxuLGldPXQsZD0oMCxsLm5vcm1hbGl6ZUFscGhhQ29tcG9uZW50KShyKihlP2k6MSkpO3JldHVybigwLGwucmdiYVRvU3RyaW5nKSgoMCxsLnJnYmEpKFtjLGEsbl0sZCkpfWZ1bmN0aW9uIGEobyl7cmV0dXJuIDEwMCooMS1vKX1mdW5jdGlvbiBuKG8pe2lmKG88MHx8bz4xMDApdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHRyYW5zcGFyZW5jeSIpO3JldHVybiAxLW8vMTAwfWZ1bmN0aW9uIGkobyxyKXtpZigidHJhbnNwYXJlbnQiPT09bylyZXR1cm4gbztjb25zdCBlPSgwLGwucGFyc2VSZ2JhKShvKSx0PWVbM107cmV0dXJuKDAsbC5yZ2JhVG9TdHJpbmcpKCgwLGwucmdiYSkoZVswXSxlWzFdLGVbMl0sbihyKSp0KSl9ZnVuY3Rpb24gZChvKXtyZXR1cm4idHJhbnNwYXJlbnQiPT09bz9vOnMobyk/by5zbGljZSgwLDcpOigwLGwucmdiYVRvU3RyaW5nKSgoMCxsLnJnYmEpKCgwLGwucGFyc2VSZ2IpKG8pLCgwLGwubm9ybWFsaXplQWxwaGFDb21wb25lbnQpKDEpKSl9ZnVuY3Rpb24gcyhvKXtyZXR1cm4gMD09PW8uaW5kZXhPZigiIyIpfWZ1bmN0aW9uIGcobyl7cmV0dXJuImJsYWNrIj09PSgwLGwucmdiVG9CbGFja1doaXRlU3RyaW5nKSgoMCxsLnBhcnNlUmdiKShvKSwxNTApPyIjZmZmZmZmIjoiIzAwMDAwMCJ9ZnVuY3Rpb24gdShvLHIsZSl7Y29uc3RbdCxjLGEsbl09KDAsbC5wYXJzZVJnYmEpKG8pLFtpLGQscyxnXT0oMCxsLnBhcnNlUmdiYSkociksdT0oMCxsLnJnYmEpKE1hdGgucm91bmQodCtlKihpLXQpKSxNYXRoLnJvdW5kKGMrZSooZC1jKSksTWF0aC5yb3VuZChhK2UqKHMtYSkpLG4rZSooZy1uKSk7cmV0dXJuKDAsbC5yZ2JhVG9TdHJpbmcpKHUpfWZ1bmN0aW9uIHAobyl7Y29uc3Qgcj0obz1NYXRoLnJvdW5kKG8pKSUyNTY7by09cjtjb25zdCBlPShvLz0yNTYpJTI1NjtvLT1lO2NvbnN0IGw9KG8vPTI1NiklMjU2O28tPWw7cmV0dXJuYHJnYmEoJHtyfSwke2V9LCR7bH0sJHsoby89MjU2KS8yNTV9KWB9ZnVuY3Rpb24gQyhvKXtjb25zdCByPSgwLGwudHJ5UGFyc2VSZ2JhKShvKTtyZXR1cm4gbnVsbD09PXI/MDpmdW5jdGlvbihvKXtjb25zdCByPU1hdGgucm91bmQoMjU1Km9bM10pO3JldHVybiBvWzBdKzI1NipvWzFdKzY1NTM2Km9bMl0rMTY3NzcyMTYqcn0ocil9fSw5OTk2NDAobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7cGF5d2FsbE1vYmlsZUludGVyY2VwdG9yOigpPT5sfSk7Y29uc3QgbD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLl9oaWRkZW5GZWF0dXJlcz1uZXcgU2V0LHRoaXMuX2xpc3RlbmVycz1bXSx0aGlzLmhpZGU9bz0+e3RoaXMuX2hpZGRlbkZlYXR1cmVzLmFkZChvKX0sdGhpcy5pc0hpZGRlbkZlYXR1cmU9bz0+dGhpcy5faGlkZGVuRmVhdHVyZXMuaGFzKG8pLHRoaXMuc3Vic2NyaWJlPW89Pnt0aGlzLl9saXN0ZW5lcnMucHVzaChvKX0sdGhpcy5pbnZva2U9bz0+e3RoaXMuX2xpc3RlbmVycy5mb3JFYWNoKChyPT5yKG8pKSl9fX19LDUwNzQyNihvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtwYWlkQWNjb3VudENoZWNrOigpPT5hfSk7dmFyIGw9ZSg5MzIzNjUpLHQ9ZSgzMTg5NzQpO2NvbnN0IGM9KDAsZSgyMjEwNjEpLmdldExvZ2dlcikoIlBhaWRBY2NvdW50Q2hlY2siKTthc3luYyBmdW5jdGlvbiBhKG8pe2NvbnN0e29ubHlDaGVjazpyLHN1Y2Nlc3NCdXR0b25UZXh0OmEsaXNOZWVkQ2FuY2VsQnV0dG9uOm59PW8saT13aW5kb3cudXNlcixkPWwuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbSgicHJldmlvdXNfdXNlcm5hbWUiKTtpZihpJiZ3aW5kb3cuaXNfYXV0aGVudGljYXRlZCYmIWkuaXNfcHJvJiZkJiYhKDAsdC5pc1N5bXBob255RW1iZWQpKCkpe2NvbnN0e2dldFByb2ZpbGU6b309YXdhaXQgZS5lKDM5NjEpLnRoZW4oZS5iaW5kKGUsNTY5MDE1KSk7dHJ5e2NvbnN0IGw9YXdhaXQgbyhkKTtpZihCb29sZWFuKGwucHJvX3BsYW4pKXtpZihyKXJldHVybiBkO3tjb25zdHtzaG93V3JvbmdBY2NvdW50RGlhbG9nOm99PWF3YWl0IFByb21pc2UuYWxsKFtlLmUoNjM1NTMpLGUuZSgxNjc4KSxlLmUoNjk4ODEpXSkudGhlbihlLmJpbmQoZSw2ODY5MDEpKTtyZXR1cm4gbyh7dXNlck5hbWU6ZCxpc05lZWRDYW5jZWxCdXR0b246bixzdWNjZXNzQnV0dG9uVGV4dDphfSl9fX1jYXRjaChvKXtjLmxvZ0Vycm9yKG8ubWVzc2FnZSl9fXJldHVybiExfX0sNDgyNTA0KG8scixlKXtjb25zdCBsPWUoMTk5ODI3KTtvLmV4cG9ydHM9bCxsKGRvY3VtZW50KS5hamF4U2VuZCgoKG8scixlKT0+e2UuY3Jvc3NEb21haW4mJiFlLmZvcmNlTGFuZ3VhZ2VIZWFkZXJ8fCh3aW5kb3cubG9jYWxlP3Iuc2V0UmVxdWVzdEhlYWRlcigiWC1MYW5ndWFnZSIsd2luZG93LmxvY2FsZSk6Y29uc29sZS53YXJuKCJ3aW5kb3cubG9jYWxlIGlzIG5vdCBkZWZpbmVkIikpfSkpfSw1MjQwNjkobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7Z2V0UHJvUGxhbkRldGFpbHNGb3JVc2VyOigpPT5uLGdldFByb1BsYW5XZWlnaHQ6KCk9PmF9KTtlKDQ3OTM0KTt2YXIgbD1lKDIxMjIyOSksdD1lKDM4NDAxNyksYz1lKDIyMjQyMyk7ZnVuY3Rpb24gYShvKXtyZXR1cm4gd2luZG93LnBybz8iZnJlZSI9PT1vPy0xOndpbmRvdy5wcm8uZ2V0UHJvZHVjdCgoMCxsLmdldFByb2R1Y3RGb3JUcmlhbCkobykpLnVwZ3JhZGVfd2VpZ2h0OjB9YXN5bmMgZnVuY3Rpb24gbigpe2NvbnN0IG89YXdhaXQoMCx0LmZldGNoKSgiL3Byby1wbGFucy9wcm9maWxlLyIpLHI9YXdhaXQgby5qc29uKCk7aWYoby5vaylyZXR1cm4gcjtpZig0MDM9PT1vLnN0YXR1cyl7Y29uc3QgZT1yO3Rocm93IG5ldyBjLkFwaUVycm9yKGUuZGV0YWlsLG8uc3RhdHVzLGUuY29kZSl9CnRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGhhbmRsZSB1bmV4cGVjdGVkIHJlc3BvbnNlOiAke1N0cmluZyhvLnRleHQoKSl9YCl9fSwyMjE3MDAobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7ZGlzYWJsZTooKT0+ZCxlbmFibGU6KCk9PnMscHVzaEJhY2tMaXN0ZW5lcjooKT0+aX0pO3ZhciBsPWUoMTUwMTUwKTtjb25zdCB0PVtdO2xldCBjPW51bGw7ZnVuY3Rpb24gYShvKXtmb3IobGV0IHI9MDtyPHQubGVuZ3RoO3IrKylpZih0W3JdLm5hbWU9PT1vKXJldHVybiByO3JldHVybi0xfWZ1bmN0aW9uIG4obyl7aWYoIWMpZm9yKGxldCByPXQubGVuZ3RoLTE7cj49MCYmITAhPT10W3JdLmZ1bmMobyk7ci0tKTt9ZnVuY3Rpb24gaShvLHIpe2NvbnN0IGU9e25hbWU6byxmdW5jOnJ9LGw9YShlLm5hbWUpO2w+LTEmJnQuc3BsaWNlKGwsMSksdC51bnNoaWZ0KGUpfWZ1bmN0aW9uIGQoKXtyZXR1cm4gYz9udWxsOihjPSgwLGwucmFuZG9tSGFzaE4pKDQpLGMpfWZ1bmN0aW9uIHMobyl7aWYobyE9PWMpdGhyb3cgRXJyb3IoIkxvY2sgaWQgaXMgb3V0ZGF0ZWQiKTtjPW51bGx9d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleXByZXNzIixuLCExKX0sMzE3NjYzKG8peyJ1c2Ugc3RyaWN0Igo7by5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29sb3Itd2hpdGUiOiIjZmZmZmZmIiwiY29sb3ItYmxhY2siOiIjMDAwMDAwIiwiY29sb3ItdHJhbnNwYXJlbnQiOiIjMDAwMDAwMDAiLCJjb2xvci1jb2xkLWdyYXktNTAiOiIjRjlGOUY5IiwiY29sb3ItY29sZC1ncmF5LTEwMCI6IiNGMkYyRjIiLCJjb2xvci1jb2xkLWdyYXktMTUwIjoiI0VCRUJFQiIsImNvbG9yLWNvbGQtZ3JheS0yMDAiOiIjREJEQkRCIiwiY29sb3ItY29sZC1ncmF5LTI1MCI6IiNDOUM5QzkiLCJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0I4QjhCOCIsImNvbG9yLWNvbGQtZ3JheS0zNTAiOiIjQThBOEE4IiwiY29sb3ItY29sZC1ncmF5LTQwMCI6IiM5QzlDOUMiLCJjb2xvci1jb2xkLWdyYXktNDUwIjoiIzhDOEM4QyIsImNvbG9yLWNvbGQtZ3JheS01MDAiOiIjODA4MDgwIiwiY29sb3ItY29sZC1ncmF5LTU1MCI6IiM3MDcwNzAiLCJjb2xvci1jb2xkLWdyYXktNjAwIjoiIzYzNjM2MyIsImNvbG9yLWNvbGQtZ3JheS02NTAiOiIjNTc1NzU3IiwiY29sb3ItY29sZC1ncmF5LTcwMCI6IiM0QTRBNEEiLCJjb2xvci1jb2xkLWdyYXktNzUwIjoiIzNEM0QzRCIsImNvbG9yLWNvbGQtZ3JheS04MDAiOiIjMkUyRTJFIiwiY29sb3ItY29sZC1ncmF5LTg1MCI6IiMxRjFGMUYiLCJjb2xvci1jb2xkLWdyYXktOTAwIjoiIzBGMEYwRiIsImNvbG9yLWNvbGQtZ3JheS05NTAiOiIjMDAwMDAwIiwiY29sb3ItcmlwZS1yZWQtNTAiOiIjRkZFQkVDIiwiY29sb3ItcmlwZS1yZWQtMTAwIjoiI0ZDQ0JDRCIsImNvbG9yLXJpcGUtcmVkLTIwMCI6IiNGQUExQTQiLCJjb2xvci1yaXBlLXJlZC0zMDAiOiIjRjc3QzgwIiwiY29sb3ItcmlwZS1yZWQtNDAwIjoiI0Y3NTI1RiIsImNvbG9yLXJpcGUtcmVkLTUwMCI6IiNGMjM2NDUiLCJjb2xvci1yaXBlLXJlZC02MDAiOiIjQ0MyRjNDIiwiY29sb3ItcmlwZS1yZWQtNzAwIjoiI0IyMjgzMyIsImNvbG9yLXJpcGUtcmVkLTgwMCI6IiM5OTFGMjkiLCJjb2xvci1yaXBlLXJlZC05MDAiOiIjODAxOTIyIiwiY29sb3ItcmlwZS1yZWQtYTEwMCI6IiNGRjgwODAiLCJjb2xvci1yaXBlLXJlZC1hMjAwIjoiI0ZGNTI1MiIsImNvbG9yLXJpcGUtcmVkLWE0MDAiOiIjRkYzMzMzIiwiY29sb3ItcmlwZS1yZWQtYTYwMCI6IiNDQzI5MjkiLCJjb2xvci1yaXBlLXJlZC1hNzAwIjoiIzgwMjAyOCIsImNvbG9yLXJpcGUtcmVkLWE4MDAiOiIjNEQxOTFEIiwiY29sb3ItcmlwZS1yZWQtYTkwMCI6IiMzMzFGMjAiLCJjb2xvci10YW4tb3JhbmdlLTUwIjoiI0ZGRjNFMCIsImNvbG9yLXRhbi1vcmFuZ2UtMTAwIjoiI0ZGRTBCMiIsImNvbG9yLXRhbi1vcmFuZ2UtMjAwIjoiI0ZGQ0M4MCIsImNvbG9yLXRhbi1vcmFuZ2UtMzAwIjoiI2ZmYjc0ZCIsImNvbG9yLXRhbi1vcmFuZ2UtNDAwIjoiI0ZGQTcyNiIsImNvbG9yLXRhbi1vcmFuZ2UtNTAwIjoiI0ZGOTgwMCIsImNvbG9yLXRhbi1vcmFuZ2UtNjAwIjoiI0ZCOEMwMCIsImNvbG9yLXRhbi1vcmFuZ2UtNzAwIjoiI0Y1N0MwMCIsImNvbG9yLXRhbi1vcmFuZ2UtODAwIjoiI0VGNkMwMCIsImNvbG9yLXRhbi1vcmFuZ2UtOTAwIjoiI2U2NTEwMCIsImNvbG9yLXRhbi1vcmFuZ2UtYTEwMCI6IiNGRkQxODAiLCJjb2xvci10YW4tb3JhbmdlLWEyMDAiOiIjZmZhYjQwIiwiY29sb3ItdGFuLW9yYW5nZS1hNDAwIjoiI0ZGOTEwMCIsImNvbG9yLXRhbi1vcmFuZ2UtYTUwMCI6IiNFNTdFMTciLCJjb2xvci10YW4tb3JhbmdlLWE2MDAiOiIjQ0M3MDE0IiwiY29sb3ItdGFuLW9yYW5nZS1hNzAwIjoiIzhDNTQxQyIsImNvbG9yLXRhbi1vcmFuZ2UtYTgwMCI6IiM1OTNBMUIiLCJjb2xvci10YW4tb3JhbmdlLWE5MDAiOiIjMzMyNjFBIiwiY29sb3ItaWd1YW5hLWdyZWVuLTUwIjoiI0U4RjVFOSIsImNvbG9yLWlndWFuYS1ncmVlbi0xMDAiOiIjQzhFNkM5IiwiY29sb3ItaWd1YW5hLWdyZWVuLTIwMCI6IiNBNUQ2QTciLCJjb2xvci1pZ3VhbmEtZ3JlZW4tMzAwIjoiIzgxYzc4NCIsImNvbG9yLWlndWFuYS1ncmVlbi00MDAiOiIjNjZCQjZBIiwiY29sb3ItaWd1YW5hLWdyZWVuLTUwMCI6IiM0Y2FmNTAiLCJjb2xvci1pZ3VhbmEtZ3JlZW4tNjAwIjoiIzQzYTA0NyIsImNvbG9yLWlndWFuYS1ncmVlbi03MDAiOiIjMzg4ZTNjIiwiY29sb3ItaWd1YW5hLWdyZWVuLTgwMCI6IiMyRTdEMzIiLCJjb2xvci1pZ3VhbmEtZ3JlZW4tOTAwIjoiIzFCNUUyMCIsImNvbG9yLWlndWFuYS1ncmVlbi1hMTAwIjoiI0I5RjZDQSIsImNvbG9yLWlndWFuYS1ncmVlbi1hMjAwIjoiIzY5RjBBRSIsImNvbG9yLWlndWFuYS1ncmVlbi1hNDAwIjoiIzAwRTY3NiIsImNvbG9yLWlndWFuYS1ncmVlbi1hNzAwIjoiIzAwYzg1MyIsImNvbG9yLWJhbmFuYS15ZWxsb3ctNTAiOiIjRkZGREU3IiwiY29sb3ItYmFuYW5hLXllbGxvdy0xMDAiOiIjRkZGOUM0IiwiY29sb3ItYmFuYW5hLXllbGxvdy0yMDAiOiIjRkZGNTlEIiwiY29sb3ItYmFuYW5hLXllbGxvdy0zMDAiOiIjRkZGMTc2IiwiY29sb3ItYmFuYW5hLXllbGxvdy00MDAiOiIjZmZlZTU4IiwiY29sb3ItYmFuYW5hLXllbGxvdy01MDAiOiIjZmZlYjNiIiwiY29sb3ItYmFuYW5hLXllbGxvdy02MDAiOiIjZmRkODM1IiwiY29sb3ItYmFuYW5hLXllbGxvdy03MDAiOiIjZmJjMDJkIiwiY29sb3ItYmFuYW5hLXllbGxvdy04MDAiOiIjZjlhODI1IiwiY29sb3ItYmFuYW5hLXllbGxvdy05MDAiOiIjRjU3RjE3IiwiY29sb3ItYmFuYW5hLXllbGxvdy1hMTAwIjoiI0ZGRkY4RCIsImNvbG9yLWJhbmFuYS15ZWxsb3ctYTIwMCI6IiNGRkZGMDAiLCJjb2xvci1iYW5hbmEteWVsbG93LWE0MDAiOiIjZmZlYTAwIiwiY29sb3ItYmFuYW5hLXllbGxvdy1hNzAwIjoiI0VFREEwMSIsImNvbG9yLXR2LWJsdWUtNTAiOiIjRTNFRkZEIiwiY29sb3ItdHYtYmx1ZS0xMDAiOiIjQkJEOUZCIiwiY29sb3ItdHYtYmx1ZS0yMDAiOiIjOTBCRkY5IiwiY29sb3ItdHYtYmx1ZS0zMDAiOiIjNUI5Q0Y2IiwiY29sb3ItdHYtYmx1ZS00MDAiOiIjMzE3OUY1IiwiY29sb3ItdHYtYmx1ZS01MDAiOiIjMjk2MkZGIiwiY29sb3ItdHYtYmx1ZS02MDAiOiIjMUU1M0U1IiwiY29sb3ItdHYtYmx1ZS03MDAiOiIjMTg0OENDIiwiY29sb3ItdHYtYmx1ZS04MDAiOiIjMTQzRUIyIiwiY29sb3ItdHYtYmx1ZS05MDAiOiIjMEMzMjk5IiwiY29sb3ItdHYtYmx1ZS1hMTAwIjoiIzgyYjFmZiIsImNvbG9yLXR2LWJsdWUtYTIwMCI6IiM0NDhhZmYiLCJjb2xvci10di1ibHVlLWE0MDAiOiIjMjk3OWZmIiwiY29sb3ItdHYtYmx1ZS1hNjAwIjoiIzI5NjJGRiIsImNvbG9yLXR2LWJsdWUtYTcwMCI6IiMxNDNBODciLCJjb2xvci10di1ibHVlLWE4MDAiOiIjMTQyRTYxIiwiY29sb3ItdHYtYmx1ZS1hOTAwIjoiIzEzMjA0MiIsImNvbG9yLWRlZXAtYmx1ZS01MCI6IiNFREU3RjYiLCJjb2xvci1kZWVwLWJsdWUtMTAwIjoiI0QxQzRFOSIsImNvbG9yLWRlZXAtYmx1ZS0yMDAiOiIjQjM5RERCIiwiY29sb3ItZGVlcC1ibHVlLTMwMCI6IiM5NTc1Y2QiLCJjb2xvci1kZWVwLWJsdWUtNDAwIjoiIzdlNTdjMiIsImNvbG9yLWRlZXAtYmx1ZS01MDAiOiIjNjczYWI3IiwiY29sb3ItZGVlcC1ibHVlLTYwMCI6IiM1RTM1QjEiLCJjb2xvci1kZWVwLWJsdWUtNzAwIjoiIzUxMmRhOCIsImNvbG9yLWRlZXAtYmx1ZS04MDAiOiIjNDUyN0EwIiwiY29sb3ItZGVlcC1ibHVlLTkwMCI6IiMzMTFCOTIiLCJjb2xvci1kZWVwLWJsdWUtYTEwMCI6IiNiMzg4ZmYiLCJjb2xvci1kZWVwLWJsdWUtYTIwMCI6IiM3QzRERkYiLCJjb2xvci1kZWVwLWJsdWUtYTQwMCI6IiM2NTFGRkYiLCJjb2xvci1kZWVwLWJsdWUtYTcwMCI6IiM2MjAwRUEiLCJjb2xvci1taW50eS1ncmVlbi01MCI6IiNEQUYyRUUiLCJjb2xvci1taW50eS1ncmVlbi0xMDAiOiIjQUNFNURDIiwiY29sb3ItbWludHktZ3JlZW4tMjAwIjoiIzcwQ0NCRCIsImNvbG9yLW1pbnR5LWdyZWVuLTMwMCI6IiM0MkJEQTgiLCJjb2xvci1taW50eS1ncmVlbi00MDAiOiIjMjJBQjk0IiwiY29sb3ItbWludHktZ3JlZW4tNTAwIjoiIzA4OTk4MSIsImNvbG9yLW1pbnR5LWdyZWVuLTYwMCI6IiMwNjgwNkIiLCJjb2xvci1taW50eS1ncmVlbi03MDAiOiIjMDU2NjU2IiwiY29sb3ItbWludHktZ3JlZW4tODAwIjoiIzAwNEQ0MCIsImNvbG9yLW1pbnR5LWdyZWVuLTkwMCI6IiMwMDMzMkEiLCJjb2xvci1taW50eS1ncmVlbi1hMTAwIjoiI0E3RkZGMCIsImNvbG9yLW1pbnR5LWdyZWVuLWEyMDAiOiIjNDVFNUNCIiwiY29sb3ItbWludHktZ3JlZW4tYTQwMCI6IiMyQkQ5QkMiLCJjb2xvci1taW50eS1ncmVlbi1hNjAwIjoiIzI0QjI5QiIsImNvbG9yLW1pbnR5LWdyZWVuLWE3MDAiOiIjMUI3NjY3IiwiY29sb3ItbWludHktZ3JlZW4tYTgwMCI6IiMxMDQ0M0IiLCJjb2xvci1taW50eS1ncmVlbi1hOTAwIjoiIzA4MjYyMSIsImNvbG9yLWdyYXBlcy1wdXJwbGUtNTAiOiIjRjNFNUY1IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0xMDAiOiIjRTFCRUU3IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0yMDAiOiIjQ0U5M0Q4IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDAiOiIjYmE2OGM4IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS00MDAiOiIjYWI0N2JjIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS01MDAiOiIjOWMyN2IwIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS02MDAiOiIjOGUyNGFhIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS03MDAiOiIjN2IxZmEyIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS04MDAiOiIjNkExQjlBIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS05MDAiOiIjNEExNDhDIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS1hMTAwIjoiI0VBODBGQyIsImNvbG9yLWdyYXBlcy1wdXJwbGUtYTIwMCI6IiNFMDQwRkIiLCJjb2xvci1ncmFwZXMtcHVycGxlLWE0MDAiOiIjRDUwMEY5IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS1hNzAwIjoiI2FhMDBmZiIsImNvbG9yLWJlcnJ5LXBpbmstNTAiOiIjRkNFNEVDIiwiY29sb3ItYmVycnktcGluay0xMDAiOiIjRjhCQkQwIiwiY29sb3ItYmVycnktcGluay0yMDAiOiIjZjQ4ZmIxIiwiY29sb3ItYmVycnktcGluay0zMDAiOiIjZjA2MjkyIiwiY29sb3ItYmVycnktcGluay00MDAiOiIjZWM0MDdhIiwiY29sb3ItYmVycnktcGluay01MDAiOiIjZTkxZTYzIiwiY29sb3ItYmVycnktcGluay02MDAiOiIjRDgxQjYwIiwiY29sb3ItYmVycnktcGluay03MDAiOiIjQzIxODVCIiwiY29sb3ItYmVycnktcGluay04MDAiOiIjQUQxNDU3IiwiY29sb3ItYmVycnktcGluay05MDAiOiIjODgwRTRGIiwiY29sb3ItYmVycnktcGluay1hMTAwIjoiI2ZmODBhYiIsImNvbG9yLWJlcnJ5LXBpbmstYTIwMCI6IiNmZjQwODEiLCJjb2xvci1iZXJyeS1waW5rLWE0MDAiOiIjZjUwMDU3IiwiY29sb3ItYmVycnktcGluay1hNzAwIjoiI2M1MTE2MiIsImNvbG9yLXNreS1ibHVlLTUwIjoiI0UwRjdGQSIsImNvbG9yLXNreS1ibHVlLTEwMCI6IiNCMkVCRjIiLCJjb2xvci1za3ktYmx1ZS0yMDAiOiIjODBERUVBIiwiY29sb3Itc2t5LWJsdWUtMzAwIjoiIzRkZDBlMSIsImNvbG9yLXNreS1ibHVlLTQwMCI6IiMyNmM2ZGEiLCJjb2xvci1za3ktYmx1ZS01MDAiOiIjMDBiY2Q0IiwiY29sb3Itc2t5LWJsdWUtNjAwIjoiIzAwYWNjMSIsImNvbG9yLXNreS1ibHVlLTcwMCI6IiMwMDk3QTciLCJjb2xvci1za3ktYmx1ZS04MDAiOiIjMDA4MzhGIiwiY29sb3Itc2t5LWJsdWUtOTAwIjoiIzAwNjA2NCIsImNvbG9yLXNreS1ibHVlLWExMDAiOiIjODRGRkZGIiwiY29sb3Itc2t5LWJsdWUtYTIwMCI6IiMxOEZGRkYiLCJjb2xvci1za3ktYmx1ZS1hNDAwIjoiIzAwZTVmZiIsImNvbG9yLXNreS1ibHVlLWE3MDAiOiIjMDBCOEQ0IiwiY29sb3ItZm9yZXN0LWdyZWVuLTUwIjoiI0RBRjJFNiIsImNvbG9yLWZvcmVzdC1ncmVlbi0xMDAiOiIjQUNFNUM5IiwiY29sb3ItZm9yZXN0LWdyZWVuLTIwMCI6IiM3MENDOUUiLCJjb2xvci1mb3Jlc3QtZ3JlZW4tMzAwIjoiIzQyQkQ3RiIsImNvbG9yLWZvcmVzdC1ncmVlbi00MDAiOiIjMjJBQjY3IiwiY29sb3ItZm9yZXN0LWdyZWVuLTUwMCI6IiMwODk5NTAiLCJjb2xvci1mb3Jlc3QtZ3JlZW4tNjAwIjoiIzA2ODA0MyIsImNvbG9yLWZvcmVzdC1ncmVlbi03MDAiOiIjMDU2NjM2IiwiY29sb3ItZm9yZXN0LWdyZWVuLTgwMCI6IiMwMDREMjciLCJjb2xvci1mb3Jlc3QtZ3JlZW4tOTAwIjoiIzFBMzMyNiIsImNvbG9yLWZhY2Vib29rIjoiIzE4NzdGMiIsImNvbG9yLWRlZXAtZmFjZWJvb2siOiIjMTU2NENBIiwiY29sb3ItdHdpdHRlciI6IiMxREExRjIiLCJjb2xvci1kZWVwLXR3aXR0ZXIiOiIjMTg4Q0QzIiwiY29sb3IteW91dHViZSI6IiNGRjAwMDAiLCJjb2xvci1saW5rZWRpbiI6IiMwMDdCQjUiLCJjb2xvci1zZWVraW5nLWFscGhhLWJyYW5kIjoiI2ZmNzIwMCJ9JykKfSw4Njc1MjIobyl7InVzZSBzdHJpY3QiCjtvLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJjb2xvci1oZWFkZXItYmciOiJjb2xvci13aGl0ZSIsImNvbG9yLWJvZHktYmciOiJjb2xvci13aGl0ZSIsImNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWJnLXByaW1hcnkiOiJjb2xvci13aGl0ZSIsImNvbG9yLWJnLXByaW1hcnktaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItYmctc2Vjb25kYXJ5IjoiY29sb3Itd2hpdGUiLCJjb2xvci1iZy1oaWdobGlnaHQiOiJjb2xvci1jb2xkLWdyYXktNTAiLCJjb2xvci1iZy1zY3JvbGwtYnV0dG9ucyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1sZWdhY3ktYmctc2Nyb2xsLWJ1dHRvbnMiOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3ItbGVnYWN5LWJnLXdpZGdldCI6ImNvbG9yLXdoaXRlIiwiY29sb3ItdGV4dC1wcmltYXJ5IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXRleHQtc2Vjb25kYXJ5IjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXRleHQtdGVydGlhcnkiOiJjb2xvci1jb2xkLWdyYXktNDAwIiwiY29sb3ItdGV4dC1kaXNhYmxlZCI6ImNvbG9yLWNvbGQtZ3JheS0zMDAiLCJjb2xvci1hY2NlbnQtY29udGVudCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1ib3gtc2hhZG93IjoiY29sb3ItY29sZC1ncmF5LTMwMCIsImNvbG9yLWRpdmlkZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItZGl2aWRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1kaXZpZGVyLXNlY29uZGFyeSI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1hY3RpdmUtaG92ZXItdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1hbGVydC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJvcmRlci10YWJsZSI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1icmFuZCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItYnJhbmQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS03MDAiLCJjb2xvci1icmFuZC1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItY2hhcnQtcGFnZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1jb21tb24tdG9vbHRpcC1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1kYW5nZXIiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1kYW5nZXItaG92ZXIiOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1kYW5nZXItYWN0aXZlIjoiY29sb3ItcmlwZS1yZWQtNjAwIiwiY29sb3ItZGVwdGhyZW5kZXJlci1zdHJva2Utc3R5bGUiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItaGlnaGxpZ2h0LW5ldyI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAiLCJjb2xvci1pbnB1dC1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItaW5wdXQtcHVibGlzaC1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItbGluayI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItbGluay1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItbGluay1hY3RpdmUiOiJjb2xvci10di1ibHVlLTcwMCIsImNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnIjoiY29sb3ItY29sZC1ncmF5LTUwIiwiY29sb3ItcGFuZS1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItcGFuZS1zZWNvbmRhcnktYmciOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItcG9wdXAtbWVudS1pdGVtLWhvdmVyLWJnIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLXByaW1hcnktc3ltYm9sIjoiY29sb3Itc2t5LWJsdWUtNTAwIiwiY29sb3Itc2NyZWVuZXItZGVzY3JpcHRpb24iOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3Itc3VjY2VzcyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLXN1Y2Nlc3MtaG92ZXIiOiJjb2xvci1taW50eS1ncmVlbi02MDAiLCJjb2xvci1zdWNjZXNzLWFjdGl2ZSI6ImNvbG9yLW1pbnR5LWdyZWVuLTcwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1zZWNvbmRhcnktaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUiOiJjb2xvci10di1ibHVlLTUwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbiI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWwiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci10b29sYmFyLWRpdmlkZXItYmFja2dyb3VuZCI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1wb3B1cC1iYWNrZ3JvdW5kIjoiY29sb3Itd2hpdGUiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRleHQiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTUwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtaGludC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1hY3RpdmUiOiJjb2xvci13aGl0ZSIsImNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTUwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtMjAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS03MDAiLCJjb2xvci10b29sdGlwLWJnIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXR2LWRpYWxvZy1jYXB0aW9uIjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItdW5kZXJsaW5lZC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXdpZGdldC1wYWdlcy1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3Itd2FybmluZyI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAwIiwiY29sb3ItZ3Jvd2luZyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLWZhbGxpbmciOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1mb3JleC1pY29uIjoiY29sb3ItY29sZC1ncmF5LTc1MCIsImNvbG9yLWxpc3QtaXRlbS1hY3RpdmUtYmciOiJjb2xvci10di1ibHVlLTQwMCIsImNvbG9yLWxpc3QtaXRlbS1ob3Zlci1iZyI6ImNvbG9yLXR2LWJsdWUtNTAiLCJjb2xvci1saXN0LWl0ZW0tdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1wcmljZS1heGlzLWxhYmVsLWJhY2siOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItcHJpY2UtYXhpcy1sYWJlbC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLXByaWNlLWF4aXMtZ2VhciI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1wcmljZS1heGlzLWdlYXItaG92ZXIiOiJjb2xvci1ibGFjayIsImNvbG9yLXByaWNlLWF4aXMtaGlnaGxpZ2h0IjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJpZCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJvcmRlci1jaGF0LWZpZWxkcyI6ImNvbG9yLWNvbGQtZ3JheS0yNTAiLCJjb2xvci1ib3JkZXItaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMjUwIiwiY29sb3ItYnV0dG9uLWhvdmVyLWJnIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWRlcHRocmVuZGVyZXItZmlsbC1zdHlsZSI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWRpc2FibGVkLWlucHV0IjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWVtcHR5LWNvbnRhaW5lci1tZXNzYWdlIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLWljb25zIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLWlucHV0LXRleHRhcmVhLXJlYWRvbmx5IjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLWlucHV0LXBsYWNlaG9sZGVyLXRleHQiOiJjb2xvci1jb2xkLWdyYXktMzUwIiwiY29sb3ItaXRlbS1hY3RpdmUtYmx1ZSI6ImNvbG9yLXR2LWJsdWUtNTAiLCJjb2xvci1pdGVtLWhvdmVyLWFjdGl2ZS1iZyI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItaXRlbS1ob3Zlci1iZyI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItaXRlbS1ob3Zlci1ibHVlIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1pdGVtLXNlbGVjdGVkLWJsdWUiOiJjb2xvci10di1ibHVlLTUwIiwiY29sb3ItaXRlbS1hY3RpdmUtdGV4dCI6ImNvbG9yLXdoaXRlIiwiY29sb3ItaXRlbS1hY3RpdmUtYmciOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLWxpc3QtaXRlbSI6ImNvbG9yLWNvbGQtZ3JheS01NTAiLCJjb2xvci1uZXdzLWhpZ2hsaWdodCI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItcGxhY2Vob2xkZXIiOiJjb2xvci1jb2xkLWdyYXktMzUwIiwiY29sb3Itcm93LWhvdmVyLWFjdGl2ZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1zYi1zY3JvbGxiYXItYm9keS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMzAwIiwiY29sb3Itc2VwYXJhdG9yLXRhYmxlLWNoYXQiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItdGFnLWFjdGl2ZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci10YWctaG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItdGV4dC1yZWd1bGFyIjoiY29sb3ItY29sZC1ncmF5LTcwMCIsImNvbG9yLXR2LWJ1dHRvbi1jaGVja2VkIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXNjcm9sbC1iZyI6ImNvbG9yLWNvbGQtZ3JheS00MDAiLCJjb2xvci1zY3JvbGwtYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXdpZGdldC1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3Itc2Nyb2xsLWJ1dHRvbnMtYXJyb3ciOiJjb2xvci13aGl0ZSIsImNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtc3VjY2VzcyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLWNvbnRyb2wtaW50ZW50LXByaW1hcnkiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLWNvbnRyb2wtaW50ZW50LXdhcm5pbmciOiJjb2xvci10YW4tb3JhbmdlLTUwMCIsImNvbG9yLWNvbnRyb2wtaW50ZW50LWRhbmdlciI6ImNvbG9yLXJpcGUtcmVkLTUwMCIsImNvbG9yLWdvdG8tbGFiZWwtYmFja2dyb3VuZCI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1wcmUtbWFya2V0IjoiY29sb3ItdGFuLW9yYW5nZS02MDAiLCJjb2xvci1wb3N0LW1hcmtldCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3Itbm90YWNjdXJhdGUtbW9kZSI6ImNvbG9yLWJlcnJ5LXBpbmstNjAwIiwiY29sb3ItZGVsYXktbW9kZSI6ImNvbG9yLXRhbi1vcmFuZ2UtNzAwIiwiY29sb3ItZGVsYXktbW9kZS1iZyI6ImNvbG9yLXRhbi1vcmFuZ2UtNDAwIiwiY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkIjoiY29sb3ItdHYtYmx1ZS01MCIsImNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZCI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXIiOiJjb2xvci10di1ibHVlLTIwMCIsImNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLW1hcmtlci1mbGFnZ2VkIjoiY29sb3ItcmlwZS1yZWQtNDAwIiwiY29sb3ItbWFya2VyLWZsYWdnZWQtaG92ZXJlZCI6ImNvbG9yLXJpcGUtcmVkLTYwMCIsImNvbG9yLWFzayI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLXNlbGwiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1idXkiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLW5ldXRyYWwiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItcHJvIjoiY29sb3ItbWludHktZ3JlZW4tNDAwIiwiY29sb3ItcHJvLWhvdmVyIjoiY29sb3ItbWludHktZ3JlZW4tNjAwIiwiY29sb3ItcHJvLXBsdXMiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLXByby1wbHVzLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci1wcm8tcHJlbWl1bSI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAwIiwiY29sb3ItcHJvLXByZW1pdW0taG92ZXIiOiJjb2xvci10YW4tb3JhbmdlLTcwMCIsImNvbG9yLXRyaWFsIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXRyaWFsLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLW1vZCI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLW1vZC1ob3ZlciI6ImNvbG9yLXJpcGUtcmVkLTYwMCIsImNvbG9yLWFkIjoiY29sb3ItdGFuLW9yYW5nZS01MDAiLCJjb2xvci1icm9rZXItZmVhdHVyZWQiOiJjb2xvci1taW50eS1ncmVlbi00MDAiLCJjb2xvci1icm9rZXItZmVhdHVyZWQtaG92ZXIiOiJjb2xvci1taW50eS1ncmVlbi02MDAiLCJjb2xvci1hbGVydC1zdGF0dXMtYWN0aXZlIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItYWxlcnQtc3RhdHVzLXN0b3BwZWQiOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1hbGVydC1zdGF0dXMtdHJpZ2dlcmVkIjoiY29sb3ItdGFuLW9yYW5nZS01MDAiLCJjb2xvci1vdmVybGF5IjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXNlYXJjaC1idXR0b24taG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtc2VsZWN0ZWQiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1jb250ZW50LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1iZy1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1ib3JkZXItZGVmYXVsdCI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1jb21tb24tdG9vbHRpcC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXJlcGxheS1kYXRhLW1vZGUiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1sZWdhY3ktc3VjY2VzcyI6ImNvbG9yLW1pbnR5LWdyZWVuLTMwMCIsImNvbG9yLWNvbGxhcHNlLXRhYnMtYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTUwIiwiY29sb3ItYXR0ZW50aW9uIjoiY29sb3ItYmFuYW5hLXllbGxvdy03MDAiLCJjb2xvci14LXR3aXR0ZXItY29udGVudCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1jYXJkLWJvcmRlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1jYXJkLWJvcmRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0zMDAiLCJjb2xvci1iYWNrZ3JvdW5kLXNwZWNpYWwtcHJpbWFyeSI6ImNvbG9yLXdoaXRlIiwiY29sb3Itc3Ryb2tlLXNwZWNpYWwtcHJpbWFyeSI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1zZWxlY3Rpb24tYmciOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLWRlZmF1bHQtZ3JheSI6ImNvbG9yLWNvbGQtZ3JheS01NTAiLCJjb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmciOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItZmVhdHVyZWQtYnJva2VyLWJhZGdlLWJnLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS10ZXh0IjoiY29sb3Itd2hpdGUifScpCn19XSk7"}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/66988.8458b6a0b6b6dab54ea4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.892Z","timestamp":1785141584892,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/66988.8458b6a0b6b6dab54ea4.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd31-1fd7\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:16:17 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1f3f1503f9ed72db2caf47791a9ba249\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":8151,"size_decoded":3735,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3064)","md5":"e8573dd152b6351a68d9431ffb61d357","sha1":"928cec3f4c876d4d701f3b8ae035b67e5e5bc22e","sha256":"02111defc5b8b61ff158655750e36cf18a318ecba45bd6410bd9397a5e380f2c","sha512":"21379f317449ebd372b6e4aed63443ec02937076567807d8da941855c0ae9b8b23c7fa923b3ac87cf6050146b69b4248aba05f8520df72587eb193f1b3010702","ssdeep":"192:Cm/zVycbWsCCMrRomnPpUeM+MYklUXFJmlp/aCiB86aECfSiRuve4w3qG9ytqv:Cew9CM1M+HZylQCiBTalfnuvBuqntqv","tlshash":"2df184a2b1a2a853677350fc5d75d823a5493809fc0846dcf1aeaadf284dd9c217ce7c","first_seen":"2026-07-20T16:56:18.385469Z","last_seen":"2026-07-27T14:50:15.282472Z","times_seen":92,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjY5ODhdLHs4NzcyMTcoZSx0LG8pe28uZCh0LHtBYnN0cmFjdEZpbGxlZEFyZWFQYW5lVmlldzooKT0+cH0pO3ZhciBpPW8oMTM4NjM4KSxsPW8oMTk4OTAxKSxyPW8oOTgzMzc4KSxuPW8oOTk1MjQwKSxhPW8oMTY4MjU4KSxzPW8oNTIxOTgzKTtmdW5jdGlvbiBkKGUsdCl7cmV0dXJuIEFycmF5LmZyb20oe2xlbmd0aDplfSwoKGUsbyk9Pih7dGltZVBvaW50SW5kZXg6byt0fSkpKX1mdW5jdGlvbiBjKGUsdCxvKXtsZXQgaSxsO2NvbnN0IHI9ZS5sZW5ndGg7Zm9yKGxldCBuPXQ7bj49MCYmbjxyO24rPW8pe2NvbnN0IHQ9ZVtuXTtpZih2b2lkIDA9PT1pJiZ2b2lkIDAhPT10LnBsb3QxVmFsdWUmJihpPW4pLHZvaWQgMD09PWwmJnZvaWQgMCE9PXQucGxvdDJWYWx1ZSYmKGw9biksdm9pZCAwIT09aSYmdm9pZCAwIT09bClyZXR1cm4gbn1yZXR1cm4gbnVsbH1mdW5jdGlvbiB1KGUpe3JldHVybiAwPT09ZS50eXBlP2Ake2UuY29sb3J9YDpgJHtlLmNvbG9yMX06JHtlLmNvbG9yMn06JHtlLmNvb3JkaW5hdGUxfToke2UuY29vcmRpbmF0ZTJ9YH1jb25zdCBoPXt0eXBlOjAsY29sb3I6IiJ9O2Z1bmN0aW9uIF8oZSl7cmV0dXJuW2EuTGluZVN0dWR5UGxvdFN0eWxlLlN0ZXBMaW5lLGEuTGluZVN0dWR5UGxvdFN0eWxlLlN0ZXBMaW5lV2l0aEJyZWFrcyxhLkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZVdpdGhEaWFtb25kc10uaW5jbHVkZXMoZSl9Y2xhc3MgcHtjb25zdHJ1Y3RvcihlLHQsbyl7dGhpcy5faXNIbGluZUZpbGw9ITEsdGhpcy5fYmFuZEFLZXk9bnVsbCx0aGlzLl9iYW5kQktleT1udWxsLHRoaXMuX2NvbG9yUGxvdEluZGV4PW51bGwsdGhpcy5fYXJlYVJlbmRlcmVyPW5ldyBuLkFyZWFCYWNrZ3JvdW5kUmVuZGVyZXIsdGhpcy5fZGF0YUludmFsaWRhdGVkPW51bGwsdGhpcy5fdmlld3BvcnRJbnZhbGlkYXRlZD0hMSx0aGlzLl9wbEluZGV4MT1udWxsLHRoaXMuX3BsSW5kZXgyPW51bGwsdGhpcy5faXRlbXM9W10sdGhpcy5fY29sb3JBcmVhcz1uZXcgbi5DYWNoZWRNYXAsdGhpcy5fZ2VuZXJhdGVDb2xvcj0oMCxyLmdlbmVyYXRlQ29sb3JDYWNoZWQpKCksdGhpcy5fcGxvdEdlb21ldHJ5Q2FjaGU9bnVsbCx0aGlzLl9zb3VyY2U9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX2ZpbGxHYXBzPSEhbz8uZmlsbGdhcHMsdGhpcy5fZmlsbFRvSW50ZXJzZWN0aW9uPSEhbz8uZmlsbFRvSW50ZXJzZWN0aW9ufXVwZGF0ZShlKXtpZigiZ2xvYmFsLWNoYW5nZSI9PT1lLnR5cGUpcmV0dXJuIHRoaXMuX2RhdGFJbnZhbGlkYXRlZD0oMCxzLm1lcmdlRGF0YUludmFsaWRhdGlvbikodGhpcy5fZGF0YUludmFsaWRhdGVkLHt9KSx2b2lkKHRoaXMuX3ZpZXdwb3J0SW52YWxpZGF0ZWQ9ITApO2lmKCJkYXRhLXNvdXJjZS1jaGFuZ2UiIT09ZS50eXBlKXRoaXMuX3ZpZXdwb3J0SW52YWxpZGF0ZWQ9ITA7ZWxzZXtlLnNvdXJjZUlkPT09dGhpcy5fc291cmNlLmlkKCkmJih0aGlzLl9kYXRhSW52YWxpZGF0ZWQ9KDAscy5tZXJnZURhdGFJbnZhbGlkYXRpb24pKHRoaXMuX2RhdGFJbnZhbGlkYXRlZCx7Zmlyc3RJbmRleDplLmZpcnN0VXBkYXRlZFRpbWVQb2ludEluZGV4LGNsZWFyRGF0YTplLmNsZWFyRGF0YX0pKX19cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5fZGF0YUludmFsaWRhdGVkP3RoaXMuX3VwZGF0ZUltcGxGdWxsKHRoaXMuX2RhdGFJbnZhbGlkYXRlZCkmJih0aGlzLl9kYXRhSW52YWxpZGF0ZWQ9bnVsbCx0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkPSExKTp0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbExpZ2h0KCksdGhpcy5fdmlld3BvcnRJbnZhbGlkYXRlZD0hMSksdGhpcy5fYXJlYVJlbmRlcmVyfV9taW5GaXJzdEJhckluZGV4KCl7cmV0dXJuLTEvMH1fcHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLl9zb3VyY2UucHJpY2VTY2FsZSgpfV9maXJzdFZhbHVlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5maXJzdFZhbHVlKCl9X2NyZWF0ZUFyZWFCYWNrZ3JvdW5kSXRlbSgpe2lmKCF0aGlzLl9wbG90R2VvbWV0cnlDYWNoZSl7Y29uc3QgZT10aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcyx0PV8oZVt0aGlzLl9wbG90QUlkKCldLnBsb3R0eXBlLnZhbHVlKCkpLG89XyhlW3RoaXMuX3Bsb3RCSWQoKV0ucGxvdHR5cGUudmFsdWUoKSk7dGhpcy5fcGxvdEdlb21ldHJ5Q2FjaGU9e3Bsb3QxSGFzU3RlcGxpbmVHZW9tZXRyeTp0LHBsb3QySGFzU3RlcGxpbmVHZW9tZXRyeTpvfX1yZXR1cm4gbmV3IG4uQXJlYUJhY2tncm91bmRJdGVtKHRoaXMuX3Bsb3RHZW9tZXRyeUNhY2hlLnBsb3QxSGFzU3RlcGxpbmVHZW9tZXRyeSx0aGlzLl9wbG90R2VvbWV0cnlDYWNoZS5wbG90Mkhhc1N0ZXBsaW5lR2VvbWV0cnkpfV9wbG90TmFtZXMoKXtyZXR1cm4gdGhpcy5fc291cmNlLm1ldGFJbmZvKCkucGxvdHMubWFwKChlPT5lLmlkKSl9X3Bsb3RJbmRleDEoKXtyZXR1cm4gbnVsbD09PXRoaXMuX3BsSW5kZXgxJiYodGhpcy5fcGxJbmRleDE9dGhpcy5fcGxvdE5hbWVzKCkuaW5kZXhPZih0aGlzLl9wbG90QUlkKCkpKzEpLHRoaXMuX3BsSW5kZXgxfV9wbG90SW5kZXgyKCl7cmV0dXJuIG51bGw9PT10aGlzLl9wbEluZGV4MiYmKHRoaXMuX3BsSW5kZXgyPXRoaXMuX3Bsb3ROYW1lcygpLmluZGV4T2YodGhpcy5fcGxvdEJJZCgpKSsxKSx0aGlzLl9wbEluZGV4Mn1fdXBkYXRlSW1wbEZ1bGwoZSl7aWYodGhpcy5fYXJlYVJlbmRlcmVyLnNldERhdGEobnVsbCksdGhpcy5fcGxvdEdlb21ldHJ5Q2FjaGU9bnVsbCx0aGlzLl9kYXRhSW52YWxpZGF0ZWQ/LmNsZWFyRGF0YSYmKHRoaXMuX2l0ZW1zPVtdKSwhdGhpcy5fdmlzaWJsZSgpKXJldHVybiExO2lmKG51bGw9PT10aGlzLl9wcmljZVNjYWxlKCkpcmV0dXJuITE7aWYobnVsbD09PXRoaXMuX2ZpcnN0VmFsdWUoKSlyZXR1cm4hMTtjb25zdCB0PXRoaXMuX3NvdXJjZS5wbG90cygpLnBsb3R0YWJsZVJhbmdlKCksbz10LnNpemUoKTtpZigwPT09bylyZXR1cm4hMQo7Y29uc3Qgcj10aGlzLl9zb3VyY2Uub2Zmc2V0KHRoaXMuX3Bsb3RBSWQoKSksbj10aGlzLl9zb3VyY2Uub2Zmc2V0KHRoaXMuX3Bsb3RCSWQoKSksYT1NYXRoLm1pbihyLG4pLHM9TWF0aC5tYXgocixuKTtsZXQgYz1lLmZpcnN0SW5kZXg7Y29uc3QgdT1vKyhzLWEpKzEsaD10aGlzLl9wbG90SW5kZXgxKCksXz10aGlzLl9wbG90SW5kZXgyKCk7dSE9PXRoaXMuX2l0ZW1zLmxlbmd0aCYmKHZvaWQgMD09PWN8fDA9PT10aGlzLl9pdGVtcy5sZW5ndGh8fGM8dGhpcy5faXRlbXNbMF0udGltZVBvaW50SW5kZXgrYT8oYz12b2lkIDAsdGhpcy5faXRlbXM9ZCh1LDFlMTApKTp0aGlzLl9pdGVtcz10aGlzLl9pdGVtcy5jb25jYXQoZCh1LXRoaXMuX2l0ZW1zLmxlbmd0aCwxZTEwK3RoaXMuX2l0ZW1zLmxlbmd0aCkpKTtjb25zdCBwPXRoaXMuX2NvbG9yUGxvdEluZGV4LHY9dGhpcy5fdHJhbnNwYXJlbmN5KCksbT12b2lkIDA9PT1jP3QuZnVsbFJhbmdlSXRlcmF0b3IoKTp0LnJhbmdlSXRlcmF0b3IoYywoMCxpLmVuc3VyZU5vdE51bGwpKHQubGFzdEluZGV4KCkpKTtsZXQgST12b2lkIDAhPT1jPygwLGwubG93ZXJib3VuZCkodGhpcy5faXRlbXMsYythLCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSktYTotYTtmb3IoY29uc3QgZSBvZiBtKXtjb25zdCB0PWUuaW5kZXgrcixvPWUuaW5kZXgrbixpPXRoaXMuX2l0ZW1zW0krcl0sbD10aGlzLl9pdGVtc1tJK25dO2lmKGkudGltZVBvaW50SW5kZXg9dCxsLnRpbWVQb2ludEluZGV4PW8sdGhpcy5faXNIbGluZUZpbGx8fChpLnBsb3QxVmFsdWU9ZS52YWx1ZVtoXT8/dm9pZCAwLGwucGxvdDJWYWx1ZT1lLnZhbHVlW19dPz92b2lkIDApLG51bGwhPT1wKXtjb25zdCB0PUkrYS0xO2lmKHQ+PTAmJnQ8dGhpcy5faXRlbXMubGVuZ3RoKXtjb25zdCBvPXRoaXMuX2l0ZW1zW3RdO2xldCBpO2k9MD09PXAudHlwZT97dHlwZTowLGNvbG9ySW5kZXhPclJnYmE6ZS52YWx1ZVtwLmNvbG9ySW5kZXhPclJnYmErMV19Ont0eXBlOjEsY29sb3JJbmRleE9yUmdiYTE6dm9pZCAwPT09cC5jb2xvckluZGV4T3JSZ2JhMT92b2lkIDA6ZS52YWx1ZVtwLmNvbG9ySW5kZXhPclJnYmExKzFdLGNvbG9ySW5kZXhPclJnYmEyOnZvaWQgMD09PXAuY29sb3JJbmRleE9yUmdiYTI/dm9pZCAwOmUudmFsdWVbcC5jb2xvckluZGV4T3JSZ2JhMisxXSx2YWx1ZTE6dm9pZCAwPT09cC52YWx1ZUluZGV4MT92b2lkIDA6ZS52YWx1ZVtwLnZhbHVlSW5kZXgxKzFdLHZhbHVlMjp2b2lkIDA9PT1wLnZhbHVlSW5kZXgyP3ZvaWQgMDplLnZhbHVlW3AudmFsdWVJbmRleDIrMV19O2NvbnN0IGw9by5jb2xvcj10aGlzLl9nZXRDb2xvckJ5UGxvdFZhbHVlKGkpPz92b2lkIDA7dm9pZCAwIT09bCYmKDE9PT1sLnR5cGU/KGwuY29sb3IxPWwuY29sb3IxJiZ0aGlzLl9nZW5lcmF0ZUNvbG9yKGwuY29sb3IxLHYpLGwuY29sb3IyPWwuY29sb3IyJiZ0aGlzLl9nZW5lcmF0ZUNvbG9yKGwuY29sb3IyLHYpKTpsLmNvbG9yPXRoaXMuX2dlbmVyYXRlQ29sb3IobC5jb2xvcix2KSl9fUkrPTF9cmV0dXJuIHRoaXMuX3VwZGF0ZUltcGxMaWdodCgpLCEwfV91cGRhdGVJbXBsTGlnaHQoKXtpZighdGhpcy5fdmlzaWJsZSgpKXJldHVybjtjb25zdCBlPXRoaXMuX3ByaWNlU2NhbGUoKTtpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgdD10aGlzLl9maXJzdFZhbHVlKCk7aWYobnVsbD09PXQpcmV0dXJuO2lmKDA9PT10aGlzLl9pdGVtcy5sZW5ndGgpcmV0dXJuO2xldCBvO2lmKHRoaXMuX2lzSGxpbmVGaWxsKXtjb25zdCBsPXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuYmFuZHNbKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9iYW5kQUtleSldLHI9dGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5iYW5kc1soMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX2JhbmRCS2V5KV07bz17bGV2ZWwxOmUucHJpY2VUb0Nvb3JkaW5hdGUobC52YWx1ZS52YWx1ZSgpLHQpLGxldmVsMjplLnByaWNlVG9Db29yZGluYXRlKHIudmFsdWUudmFsdWUoKSx0KX19Y29uc3Qgcj10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxhPXIudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1hKXJldHVybjtjb25zdCBzPWUucHJpY2VUb0Nvb3JkaW5hdGVGbih0KSxkPXRoaXMuX3RyYW5zcGFyZW5jeSgpLF89dGhpcy5fbWluRmlyc3RCYXJJbmRleCgpLHA9TWF0aC5tYXgoXyxhLmZpcnN0QmFyKCkpLHY9KDAsbC5sb3dlcmJvdW5kKSh0aGlzLl9pdGVtcyxwLCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSk7aWYodj49dGhpcy5faXRlbXMubGVuZ3RoKXJldHVybjtjb25zdCBtPU1hdGgubWluKHRoaXMuX2l0ZW1zLmxlbmd0aC0xLCgwLGwubG93ZXJib3VuZCkodGhpcy5faXRlbXMsYS5sYXN0QmFyKCksKChlLHQpPT5lLnRpbWVQb2ludEluZGV4PHQpKSk7bGV0IEksZjt0aGlzLl9pc0hsaW5lRmlsbD8oST1fPT09cD92Ok1hdGgubWF4KDAsdi0xKSxmPU1hdGgubWluKHRoaXMuX2l0ZW1zLmxlbmd0aC0xLG0rMSkpOihJPV89PT1wP3Y6Yyh0aGlzLl9pdGVtcyx2LTEsLTEpPz92LGY9Yyh0aGlzLl9pdGVtcyxtKzEsMSk/P20pO2NvbnN0IGc9dGhpcy5fY29sb3JBcmVhcztnLmludmFsaWRhdGVDYWNoZSgpO2xldCB4LHk9bnVsbCxDPW51bGwsYj1udWxsO2NvbnN0IFA9dGhpcy5fY29tbW9uQ29sb3IoKTtsZXQgQjsxPT09UC50eXBlPyhQLmNvb3JkaW5hdGUxPXMoUC52YWx1ZTEpLFAuY29vcmRpbmF0ZTI9cyhQLnZhbHVlMiksUC5jb2xvcjE9UC5jb2xvcjEmJnRoaXMuX2dlbmVyYXRlQ29sb3IoUC5jb2xvcjEsZCksUC5jb2xvcjI9UC5jb2xvcjImJnRoaXMuX2dlbmVyYXRlQ29sb3IoUC5jb2xvcjIsZCkpOlAuY29sb3I9dGhpcy5fZ2VuZXJhdGVDb2xvcihQLmNvbG9yLGQpO2xldCBTPTA9PT1JO2ZvcihsZXQgZT1JO2U8PWY7ZSs9MSl7Y29uc3QgdD10aGlzLl9pdGVtc1tlXSxpPXQudGltZVBvaW50SW5kZXg7bGV0IGwsYTshdGhpcy5fZmlsbEdhcHMmJnZvaWQgMCE9PUImJmktQj4xJiYoeT1udWxsKSx2b2lkIDAhPT1vPyhsPW8ubGV2ZWwxLAphPW8ubGV2ZWwyKToobD10LnBsb3QxQ29vcmRpbmF0ZT12b2lkIDA9PT10LnBsb3QxVmFsdWU/dm9pZCAwOnModC5wbG90MVZhbHVlKSxhPXQucGxvdDJDb29yZGluYXRlPXZvaWQgMD09PXQucGxvdDJWYWx1ZT92b2lkIDA6cyh0LnBsb3QyVmFsdWUpKTtjb25zdCBkPXQueENvb3JkaW5hdGU9ci5pbmRleFRvQ29vcmRpbmF0ZSh0LnRpbWVQb2ludEluZGV4KTtpZih0LmNvbG9yJiYxPT09dC5jb2xvci50eXBlJiYodC5jb2xvci5jb29yZGluYXRlMT1zKHQuY29sb3IudmFsdWUxKSx0LmNvbG9yLmNvb3JkaW5hdGUyPXModC5jb2xvci52YWx1ZTIpKSx0aGlzLl9maWxsR2Fwcz92b2lkIDAhPT1sfHx2b2lkIDAhPT1hOnZvaWQgMCE9PWwmJnZvaWQgMCE9PWEpe2NvbnN0IG89bnVsbCE9PXRoaXMuX2NvbG9yUGxvdEluZGV4P3QuY29sb3J8fGg6UDtpZihBPW8sIShudWxsPT09KHc9Yil8fG51bGw9PT1BP3c9PT1BOjA9PT13LnR5cGUmJjA9PT1BLnR5cGU/dy5jb2xvcj09PUEuY29sb3I6MT09PXcudHlwZSYmMT09PUEudHlwZSYmdy5jb2xvcjE9PT1BLmNvbG9yMSYmdy5jb2xvcjI9PT1BLmNvbG9yMiYmdy5jb29yZGluYXRlMT09PUEuY29vcmRpbmF0ZTEmJncuY29vcmRpbmF0ZTI9PT1BLmNvb3JkaW5hdGUyKXx8bnVsbD09PXkpe2lmKG51bGwhPT15JiYodm9pZCAwIT09bCYmKHkuYWRkUG9pbnRzMVBvaW50KGQsbCxTKSxTPSExKSx2b2lkIDAhPT1hJiZ5LmFkZFBvaW50czJQb2ludChkLGEpKSxlPT09Ziljb250aW51ZTtiPW87Y29uc3QgdD11KG8pLGk9Zy5nZXQodCk/P25ldyBuLkFyZWFCYWNrZ3JvdW5kSXRlbXNHcm91cChvKTtDPXkseT1pLm5ld0l0ZW0oKT8/dGhpcy5fY3JlYXRlQXJlYUJhY2tncm91bmRJdGVtKCksaS5wdXNoKHkpLGcuc2V0KHQsaSl9dm9pZCAwIT09bCYmKHkuYWRkUG9pbnRzMVBvaW50KGQsbCxTKSxTPSExKSx2b2lkIDAhPT1hJiZ5LmFkZFBvaW50czJQb2ludChkLGEpfWVsc2UgdGhpcy5fZmlsbEdhcHN8fChiPW51bGwseT1udWxsLEM9bnVsbCk7Qj1pLHg9dH12YXIgdyxBO2cuZGVsZXRlKHUoaCkpO2NvbnN0IFY9e2JhclNwYWNpbmc6dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpLGNvbG9yQXJlYXM6Z307dGhpcy5fYXJlYVJlbmRlcmVyLnNldERhdGEoVil9fX0sMTY2OTg4KGUsdCxvKXtvLmQodCx7QXJlYUJhY2tncm91bmRQYW5lVmlldzooKT0+cn0pO3ZhciBpPW8oMTM4NjM4KSxsPW8oODc3MjE3KTtjbGFzcyByIGV4dGVuZHMgbC5BYnN0cmFjdEZpbGxlZEFyZWFQYW5lVmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCl9X3Bsb3RBSWQoKXtyZXR1cm4oMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuX3NvdXJjZS5tZXRhSW5mbygpLmFyZWEpWzBdLm5hbWV9X3Bsb3RCSWQoKXtyZXR1cm4oMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuX3NvdXJjZS5tZXRhSW5mbygpLmFyZWEpWzFdLm5hbWV9X2NvbW1vbkNvbG9yKCl7cmV0dXJue3R5cGU6MCxjb2xvcjp0aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmFyZWFCYWNrZ3JvdW5kLmJhY2tncm91bmRDb2xvci52YWx1ZSgpfX1fdHJhbnNwYXJlbmN5KCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuYXJlYUJhY2tncm91bmQudHJhbnNwYXJlbmN5Py52YWx1ZSgpPz8wfV92aXNpYmxlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuYXJlYUJhY2tncm91bmQuZmlsbEJhY2tncm91bmQudmFsdWUoKX1fZ2V0Q29sb3JCeVBsb3RWYWx1ZShlKXtyZXR1cm4gdGhpcy5fY29tbW9uQ29sb3IoKX19fSw5ODMzNzgoZSx0LG8pe28uZCh0LHtnZW5lcmF0ZUNvbG9yQ2FjaGVkOigpPT5ufSk7dmFyIGk9byg2NjMwNDYpLGw9byg4NzM1NzMpLHI9byg1MTcyOTMpO2Z1bmN0aW9uIG4oZT0xZTMpe2NvbnN0IHQ9aS5kZWZhdWx0LkNhY2hlO2kuZGVmYXVsdC5DYWNoZT1yLkNpcmN1bGFyQ2FjaGVCdWZmZXIuYmluZChyLkNpcmN1bGFyQ2FjaGVCdWZmZXIsZSk7Y29uc3Qgbz0oMCxpLmRlZmF1bHQpKGwuZ2VuZXJhdGVDb2xvciwoKGUsdCxvKT0+YCR7ZX1fJHt0fV8ke299YCkpO3JldHVybiBpLmRlZmF1bHQuQ2FjaGU9dCxvfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/15526.c829c52fed259855bb96.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.129Z","timestamp":1785141585129,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/15526.c829c52fed259855bb96.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-316\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 237110074eff1c949e06b08974222750\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":790,"size_decoded":1140,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (790), with no line terminators","md5":"d33cb76c4c4987a6e783fa779dffe4b2","sha1":"df35b6ae057220bf5ebd9bcff03be83d1f72420c","sha256":"6b3f21a89374d2e2deedce7defed807004e9519f2c8305cb071637eba3c64f6b","sha512":"ac2818012ca1b265c13981bf4dcf851de61298ab5db3e0dd96d5abff8d384444b94ad6dc7386fe0a889fc9d8bfd3a7f248e7e964e970478b90987b70168dbf62","ssdeep":"","tlshash":"0601ab3cd558e276f653e23c33eab2ed05205f5488533feaf686e02080d59971c52218","first_seen":"2026-07-19T21:33:33.695675Z","last_seen":"2026-07-27T12:48:39.612087Z","times_seen":56,"resource_available":false,"data":"LnJhZGlvQnV0dG9uVmlldy1PTFhaUXh1Yntib3JkZXItcmFkaXVzOjUwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLGJvcmRlci1jb2xvciAuMzVzIGVhc2U7d2lkdGg6MThweDstLWRlZmF1bHQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tcmFkaW8tY29sb3I6dmFyKC0tdWktbGliLXJhZGlvQnV0dG9uVmlldy1jb2xvcix2YXIoLS1kZWZhdWx0LWNvbG9yKSk7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjoxcHggc29saWQgdmFyKC0tcmFkaW8tY29sb3IpfS5yYWRpb0J1dHRvblZpZXctT0xYWlF4dWI6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVpbmFyeS1pbnZlcnNlKTtib3JkZXItcmFkaXVzOjUwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjZweDtpbnNldDowO21hcmdpbjphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjZweH0uY2hlY2tlZC1PTFhaUXh1YnstLWRlZmF1bHQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tcmFkaW8tY29sb3IpfS5jaGVja2VkLU9MWFpReHViOmJlZm9yZXtkaXNwbGF5OmJsb2NrfS5kaXNhYmxlZC1PTFhaUXh1YntvcGFjaXR5Oi4zfQ=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/3916.5481261b9512717460fe.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.146Z","timestamp":1785141585146,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/3916.5481261b9512717460fe.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b75-527\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e465f2ae7955b06bd193597ce37c3c46\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1319,"size_decoded":1174,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1319), with no line terminators","md5":"a1bb7ef590664b0f02c8827b83a39965","sha1":"1306777feaf4283c77ea4e48d3bf3c8dce143921","sha256":"8d0a307ce60e964474b8dd762dcbcc08a2749f583077a313115f4ec6a855b27b","sha512":"5c4a70de5fe18f9129572854704902530773d6712fac4db28ebd310e85f6322e6653bd2677be19aeba2211530d67b018c8e12b15ade2952c268d8f2f76fcdca9","ssdeep":"","tlshash":"7521f7cde5d2a22f3a0f313e432dc15c621a7881df932b75b826d2e402c57e565b7564","first_seen":"2025-07-09T18:19:43.559202Z","last_seen":"2026-07-27T12:48:39.616999Z","times_seen":319,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTTRVUzojMDAwMH0uYnV0dG9uLXc2bFZlX29Je2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZC1jb2xvcik7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQpKTtkaXNwbGF5OmlubGluZS1mbGV4O2ZvbnQtc2l6ZTowO2hlaWdodDoyMnB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWluLXdpZHRoOjIycHg7d2lkdGg6MjJweH0uYnV0dG9uLXc2bFZlX29JLmhvdmVyZWQtdzZsVmVfb0ksLmJ1dHRvbi13NmxWZV9vSTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS10di1saXN0LWl0ZW0tYnV0dG9uLWJhY2tncm91bmQtaG92ZXItY29sb3IsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCkpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLXc2bFZlX29JOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tdHYtbGlzdC1pdGVtLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWNvbG9yLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtaG92ZXIpKX19LmJ1dHRvbi13NmxWZV9vSS5kaXNhYmxlZC13NmxWZV9vSSwuYnV0dG9uLXc2bFZlX29JLmRpc2FibGVkLXc2bFZlX29JOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcix2YXIoLS1fMC1NNFVTKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tdzZsVmVfb0kuZGlzYWJsZWQtdzZsVmVfb0k6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1saXN0LWl0ZW0tYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQtY29sb3IsdmFyKC0tXzAtTTRVUykpfX0="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://widgetdata.tradingview.com/socket.io/websocket?from=embed-widget%2Fadvanced-chart%2F\u0026date=2026-07-24T11%3A40%3A08\u0026page-uri=oxlofttrd.com%2F\u0026ancestor-origin=oxlofttrd.com\u0026api_key=tradingview","fqdn":"widgetdata.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"93.123.102.180","port":443,"asn":199524,"as":"G-Core Labs S.A.","country":"United Kingdom","country_code":"GB"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.274Z","timestamp":1785141584274,"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%2Fadvanced-chart%2F\u0026date=2026-07-24T11%3A40%3A08\u0026page-uri=oxlofttrd.com%2F\u0026ancestor-origin=oxlofttrd.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: ZOgpfN66Ktzxq8gHv9S5GA==\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 08:39:44 GMT\r\nConnection: upgrade\r\nsec-websocket-accept: QlcfPbPgtWgTX4W0Rc//0wOUGh8=\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-07-27T15:05:58.256156Z","times_seen":17565140,"resource_available":true,"data":""}},"time_used":90,"timings":{"blocked":-1,"dns":3,"connect":20,"send":0,"wait":20,"receive":0,"ssl":47},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/60062.495444a7fac173fb28cd.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.656Z","timestamp":1785141584656,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/60062.495444a7fac173fb28cd.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 87\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-57\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:29\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f7f31d45e9351ccaaef448ef733164de\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":87,"size_decoded":871,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"274893b786bd12b8da5e090fb307e32b","sha1":"21255ee94ceb3d1a0ee22982cf407e6e567093b4","sha256":"b86cb37cc4b27818ca22cc6d1618b286d3a8e8b04fbfea6a2f2d42101e5db23e","sha512":"b1c9690086309a24a4d9044af4b2936d25346e6cd8a6a8d3bc6831f844f1a44b08405dbeef9999998f66be34b01476894d9b38aa7933d3f6da6f3d8b207d266a","ssdeep":"","tlshash":"4eb012e13c1063344322806a444043ede1a4014825000e524431fc22cc1d80e363d518","first_seen":"2026-07-17T03:30:51.160472Z","last_seen":"2026-07-27T14:50:15.48053Z","times_seen":135,"resource_available":false,"data":"LnNjYWxhYmxlSWNvbi1jajFiQVNmNywuc2NhbGFibGVJY29uLWNqMWJBU2Y3IHN2Z3tkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/20354.2ddf934f8edc2802d90a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.658Z","timestamp":1785141584658,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/20354.2ddf934f8edc2802d90a.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-4c0f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e6f693d639dc74847664ab93702e03f9\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":19471,"size_decoded":3320,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (19471), with no line terminators","md5":"862a961c39b7410a362cc06ade612375","sha1":"0c7a395968e24e835ade4687d6738865085e0e3a","sha256":"bab109cd7e0f582023950c24ed2f621684d739836c3dd4a8ec06defa4fe2c79a","sha512":"4349960f67b7538f48f9093de4c5f5d571167e0bfa535df0fa4bece73a757b23be6f06dc372fbd20958defade650741ef4ea329a326b707bf80a291c3f7c8fe0","ssdeep":"96:oeExfo1CyDi6qKiVncAB009Fb0g7i3J/KjA+f7GRX6fXGq/J5FzalqIsoNIhYnwa:o/ty+6IcpcA+f7GRX6fXGq1JIsqGsM0V","tlshash":"ab9259dbb1d4a8307dd161e9d35a316ca7d1ec38f9132cc3faa9e45248c1bf224b8566","first_seen":"2026-07-16T13:40:49.886491Z","last_seen":"2026-07-27T15:00:09.747066Z","times_seen":354,"resource_available":false,"data":"LmJ1dHRvbi1tTEVoQ3JWd3thbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDp2YXIoLS11aS1saWItc3F1YXJlQnV0dG9uLWJhY2tncm91bmQsdmFyKC0tdWktbGliLWJ1dHRvbi1jb2xvci1iZyx2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmcpKSk7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1zcXVhcmVCdXR0b24tYm9yZGVyLWNvbG9yLHZhcigtLXVpLWxpYi1idXR0b24tY29sb3ItYm9yZGVyLHZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXIpKSk7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLXVpLWxpYi1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcix2YXIoLS11aS1saWItYnV0dG9uLWNvbG9yLWNvbnRlbnQsdmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3IpKSk7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21heC13aWR0aDoxMDAlO3BhZGRpbmctYm90dG9tOjA7cGFkZGluZy1pbmxpbmUtZW5kOnZhcigtLXVpLWxpYi1zcXVhcmVCdXR0b24tcGFkZGluZy1yaWdodCx2YXIoLS11aS1saWItYnV0dG9uLXBhZGRpbmctcmlnaHQsdmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXBhZGRpbmctcmlnaHQpKSk7cGFkZGluZy10b3A6MDtwYWRkaW5nLWlubGluZS1zdGFydDp2YXIoLS11aS1saWItc3F1YXJlQnV0dG9uLXBhZGRpbmctbGVmdCx2YXIoLS11aS1saWItYnV0dG9uLXBhZGRpbmctbGVmdCx2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcGFkZGluZy1sZWZ0KSkpOy0tdWktbGliLXNpemUtZGVmOnZhcigtLXVpLWxpYi1pbi1zcXVhcmVCdXR0b24tc2l6ZSx2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tc2l6ZSw0KSk7LS11aS1saWItc2l6ZS1kZWYteHNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDIpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAyKSkpOy0tdWktbGliLXNpemUtZGVmLXNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDMpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSkpOy0tdWktbGliLXNpemUtZGVmLW1lZGl1bTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA0KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkpKTstLXVpLWxpYi1zaXplLWRlZi1sYXJnZTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA1KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkpKTstLXVpLWxpYi1zaXplLWRlZi14bGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNikgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDYpKSk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24taGVpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMjhweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMzRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjQwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjQ4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo1NnB4KTtoZWlnaHQ6dmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWhlaWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcGFkZGluZy1ob3I6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSo3cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjExcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoxNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoyM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMzFweCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcGFkZGluZy1sZWZ0OnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1wYWRkaW5nLWhvcik7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcGFkZGluZy1yaWdodDp2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcGFkZGluZy1ob3IpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxMnB4KTtib3JkZXItcmFkaXVzOnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1yYWRpdXMpO3RyYW5zaXRpb246dmFyKC0tdWktbGliLXNxdWFyZUJ1dHRvbi10cmFuc2l0aW9uKX0uYnV0dG9uLW1MRWhDclZ3OmFmdGVye2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcmFkaXVzKSArIDRweCl9LmJ1dHRvbi1tTEVoQ3JWd3tvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uYnV0dG9uLW1MRWhDclZ3OmZvY3Vze291dGxpbmU6bm9uZX0uYnV0dG9uLW1MRWhDclZ3OmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5idXR0b24tbUxFaENyVnc6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyAxMHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTVweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNXB4O3dpZHRoOmNhbGMoMTAwJSArIDEwcHgpO3otaW5kZXg6MX0uYnV0dG9uLW1MRWhDclZ3OmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1tTEVoQ3JWdzpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1tTEVoQ3JWdzpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnV0dG9uLW1MRWhDclZ3OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpfS5idXR0b24tbUxFaENyVncuaWNvbk9ubHktbUxFaENyVnd7aGVpZ2h0OnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1oZWlnaHQpO3dpZHRoOnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1oZWlnaHQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXBhZGRpbmctbGVmdDowOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXBhZGRpbmctcmlnaHQ6MH0uYnV0dG9uLW1MRWhDclZ3Om5vdCguaWNvbk9ubHktbUxFaENyVncpey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXBhZGRpbmctaG9yLXdpdGgtaWNvbjpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjdweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTFweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE1cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjIzcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSozMXB4KTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1tYXJnaW4tYmV0d2Vlbi1pY29uczpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo4cHgpfS5idXR0b24tbUxFaENyVnc6bm90KC5pY29uT25seS1tTEVoQ3JWdykud2l0aFN0YXJ0U2xvdC1tTEVoQ3JWd3stLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1wYWRkaW5nLWxlZnQ6dmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXBhZGRpbmctaG9yLXdpdGgtaWNvbil9LmJ1dHRvbi1tTEVoQ3JWdzpub3QoLmljb25Pbmx5LW1MRWhDclZ3KS53aXRoRW5kU2xvdC1tTEVoQ3JWd3stLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1wYWRkaW5nLXJpZ2h0OnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1wYWRkaW5nLWhvci13aXRoLWljb24pfS5idXR0b24tbUxFaENyVnc6bm90KC5pY29uT25seS1tTEVoQ3JWdykgLnN0YXJ0U2xvdFdyYXAtbUxFaENyVnd7bWFyZ2luLWlubGluZS1lbmQ6dmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLW1hcmdpbi1iZXR3ZWVuLWljb25zKX0uYnV0dG9uLW1MRWhDclZ3Om5vdCguaWNvbk9ubHktbUxFaENyVncpIC5lbmRTbG90V3JhcC1tTEVoQ3JWd3ttYXJnaW4taW5saW5lLXN0YXJ0OnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1tYXJnaW4tYmV0d2Vlbi1pY29ucyl9LnhzbWFsbC1tTEVoQ3JWd3stLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1zaXplOjJ9LnNtYWxsLW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXNpemU6M30ubWVkaXVtLW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXNpemU6NH0ubGFyZ2UtbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tc2l6ZTo1fS54bGFyZ2UtbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tc2l6ZTo2fS5jb250ZW50LW1MRWhDclZ3e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxOHB4KTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjQwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNDAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNTAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo1MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo2MDApO2xpbmUtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjI0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjI0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoyNHB4KTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lmljb25Pbmx5LW1MRWhDclZ3IC5jb250ZW50LW1MRWhDclZ3e2JvcmRlcjowO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtjbGlwOnJlY3QoMCAwIDAgMCk7b3ZlcmZsb3c6aGlkZGVufS5saW5rLW1MRWhDclZ3e2N1cnNvcjpwb2ludGVyOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5ibHVlLW1MRWhDclZ3LnByaW1hcnktbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJsdWUtbUxFaENyVncucHJpbWFyeS1tTEVoQ3JWdzpob3ZlcnstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX19fS5ibHVlLW1MRWhDclZ3LnByaW1hcnktbUxFaENyVnc6YWN0aXZley0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LmJsdWUtbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50KTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ibHVlLW1MRWhDclZ3LnNlY29uZGFyeS1tTEVoQ3JWdzpob3ZlcnstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX19fS5ibHVlLW1MRWhDclZ3LnNlY29uZGFyeS1tTEVoQ3JWdzphY3RpdmV7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX0uZ3JheS1tTEVoQ3JWdy5wcmltYXJ5LW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmdyYXktbUxFaENyVncucHJpbWFyeS1tTEVoQ3JWdzpob3ZlcnstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkKX19fS5ncmF5LW1MRWhDclZ3LnByaW1hcnktbUxFaENyVnc6YWN0aXZley0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZCl9LmdyYXktbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50KTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmdyYXktbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3OmhvdmVyey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQpfX19LmdyYXktbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3OmFjdGl2ZXstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkKX0uZ3JlZW4tbUxFaENyVncucHJpbWFyeS1tTEVoQ3JWd3stLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ncmVlbi1tTEVoQ3JWdy5wcmltYXJ5LW1MRWhDclZ3OmhvdmVyey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9fX0uZ3JlZW4tbUxFaENyVncucHJpbWFyeS1tTEVoQ3JWdzphY3RpdmV7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfS5ncmVlbi1tTEVoQ3JWdy5zZWNvbmRhcnktbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1zdWNjZXNzKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzKX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ncmVlbi1tTEVoQ3JWdy5zZWNvbmRhcnktbUxFaENyVnc6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX19fS5ncmVlbi1tTEVoQ3JWdy5zZWNvbmRhcnktbUxFaENyVnc6YWN0aXZley0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX0ucmVkLW1MRWhDclZ3LnByaW1hcnktbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXIpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlcik7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnJlZC1tTEVoQ3JWdy5wcmltYXJ5LW1MRWhDclZ3OmhvdmVyey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfX19LnJlZC1tTEVoQ3JWdy5wcmltYXJ5LW1MRWhDclZ3OmFjdGl2ZXstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfS5yZWQtbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50KTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlcik7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWRlZmF1bHQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnJlZC1tTEVoQ3JWdy5zZWNvbmRhcnktbUxFaENyVnc6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9fX0ucmVkLW1MRWhDclZ3LnNlY29uZGFyeS1tTEVoQ3JWdzphY3RpdmV7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX0uYmxhY2stbUxFaENyVncucHJpbWFyeS1tTEVoQ3JWd3stLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJsYWNrLW1MRWhDclZ3LnByaW1hcnktbUxFaENyVnc6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlKX19fS5ibGFjay1tTEVoQ3JWdy5wcmltYXJ5LW1MRWhDclZ3OmFjdGl2ZXstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfS5ibGFjay1tTEVoQ3JWdy5zZWNvbmRhcnktbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZCl9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upe0BtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYmxhY2stbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3OmhvdmVyey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fX0uYmxhY2stbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3OmFjdGl2ZXstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfS5wcmltYXJ5LW1MRWhDclZ3W2FyaWEtZGlzYWJsZWQ9dHJ1ZV17YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfS5wcmltYXJ5LW1MRWhDclZ3W2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sLnNlY29uZGFyeS1tTEVoQ3JWd1thcmlhLWRpc2FibGVkPXRydWVde2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpO2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KX0uc2Vjb25kYXJ5LW1MRWhDclZ3W2FyaWEtZGlzYWJsZWQ9dHJ1ZV17YmFja2dyb3VuZDp2YXIoLS1jb2xvci1vdGhlci10cmFuc3BhcmVudCl9LnNsb3QtbUxFaENyVnd7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5zdHJldGNoLW1MRWhDclZ3e3dpZHRoOjEwMCV9LmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3LmFkanVzdFBvc2l0aW9uLW1MRWhDclZ3Om5vdCguZmlyc3RSb3ctbUxFaENyVncpe21hcmdpbi10b3A6LTFweH0uYnV0dG9uLW1MRWhDclZ3Lmdyb3VwZWQtbUxFaENyVncuYWRqdXN0UG9zaXRpb24tbUxFaENyVnc6bm90KC5maXJzdENvbC1tTEVoQ3JWdyl7bWFyZ2luLWlubGluZS1zdGFydDotMXB4O21heC13aWR0aDpjYWxjKDEwMCUgKyAxcHgpO3dpZHRoOmNhbGMoMTAwJSArIDFweCl9LmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3OmZvY3Vze3otaW5kZXg6MX0uYnV0dG9uLW1MRWhDclZ3Lmdyb3VwZWQtbUxFaENyVnc6Zm9jdXMtdmlzaWJsZXt6LWluZGV4OjF9LmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7ei1pbmRleDphdXRvfS5idXR0b24tbUxFaENyVncuZ3JvdXBlZC1tTEVoQ3JWdy5uby1jb3JuZXItdG9wLWxlZnQtbUxFaENyVncsLmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3Lm5vLWNvcm5lci10b3AtbGVmdC1tTEVoQ3JWdzphZnRlcntib3JkZXItdG9wLWxlZnQtcmFkaXVzOjB9LmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3Lm5vLWNvcm5lci10b3AtcmlnaHQtbUxFaENyVncsLmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3Lm5vLWNvcm5lci10b3AtcmlnaHQtbUxFaENyVnc6YWZ0ZXJ7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0uYnV0dG9uLW1MRWhDclZ3Lmdyb3VwZWQtbUxFaENyVncubm8tY29ybmVyLWJvdHRvbS1yaWdodC1tTEVoQ3JWdywuYnV0dG9uLW1MRWhDclZ3Lmdyb3VwZWQtbUxFaENyVncubm8tY29ybmVyLWJvdHRvbS1yaWdodC1tTEVoQ3JWdzphZnRlcntib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5idXR0b24tbUxFaENyVncuZ3JvdXBlZC1tTEVoQ3JWdy5uby1jb3JuZXItYm90dG9tLWxlZnQtbUxFaENyVncsLmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3Lm5vLWNvcm5lci1ib3R0b20tbGVmdC1tTEVoQ3JWdzphZnRlcntib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LnRleHRXcmFwLW1MRWhDclZ3e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5tdWx0aWxpbmVDb250ZW50LW1MRWhDclZ3e2hlaWdodDptaW4tY29udGVudDtwYWRkaW5nOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqOXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSo5cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoxNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoyM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMjNweCk7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSozcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjJweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqNnB4KTtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjFweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo1cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo2cHgpfS5wcmltYXJ5VGV4dC1tTEVoQ3JWd3tmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxMnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxMnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjE2cHgpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqNjAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSo2MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSo2MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjYwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjYwMCk7bGluZS1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjI0cHgpO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5wcmltYXJ5VGV4dC1tTEVoQ3JWdywuc2Vjb25kYXJ5VGV4dC1tTEVoQ3JWd3tmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO292ZXJmbG93OmhpZGRlbn0uc2Vjb25kYXJ5VGV4dC1tTEVoQ3JWd3tmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxMXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxMXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMTJweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMTNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjEzcHgpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqNDAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSo0MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSo0MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjQwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjQwMCk7bGluZS1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMTZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjE4cHgpO3RleHQtdHJhbnNmb3JtOnZhcigtLXVpLWxpYi1zcXVhcmVCdXR0b24tc2Vjb25kYXJ5LXRleHQtdHJhbnNmb3JtKTt3aGl0ZS1zcGFjZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjEycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoxOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMThweCk7ZGlzcGxheTotd2Via2l0LWJveDtsZXR0ZXItc3BhY2luZzpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKi40cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKi40cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSowICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSowICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMCk7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTttYXgtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpKjIpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/34678.4a992aa150d8eda5f29c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.147Z","timestamp":1785141584147,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/34678.4a992aa150d8eda5f29c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-2773\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8c713608a73d2b1b6df725761b8aff09\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":10099,"size_decoded":5459,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"64083c0234bda2342afde952ad595ff1","sha1":"9de336bb851649fef34561583d096a3859314ba7","sha256":"c466ce31a3b07b166d26cf6a472c415df8a148dce9df6e232151349a72e1d8fc","sha512":"a269c9660021311bb08ba6849fe621cd4162f40400e6946e2623373ecbc7e741a5ef06b7b05041d0f49c0350603fbe5e6fa62ea47a82a5fcaef9a6270014c765","ssdeep":"192:AJfFriQ107DuXc1MatsfICpyxjb9yQaAKM2pRZPu+uFRMVIMLC:AJfFrF46cTmxygQaM2pRZP6FuqMLC","tlshash":"5622b68832f1f0e643e368e440ab0406f139690a544eb5a4e396e2d36d75fc5c1bbfe6","first_seen":"2026-07-23T13:54:09.149892Z","last_seen":"2026-07-27T14:50:15.456729Z","times_seen":295,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNDY3OF0sezcxMjc0NShyLGUsdCl7dmFyIG47IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBvLGk9MWU2LGM9MWU2LHM9IltiaWcuanNdICIsZj1zKyJJbnZhbGlkICIsdT1mKyJkZWNpbWFsIHBsYWNlcyIsYT1mKyJyb3VuZGluZyBtb2RlIixsPXMrIkRpdmlzaW9uIGJ5IHplcm8iLGg9e30sdj12b2lkIDAsZD0vXi0/KFxkKyhcLlxkKik/fFwuXGQrKShlWystXT9cZCspPyQvaTtmdW5jdGlvbiBwKHIsZSx0LG4pe3ZhciBvPXIuYztpZih0PT09diYmKHQ9ci5jb25zdHJ1Y3Rvci5STSksMCE9PXQmJjEhPT10JiYyIT09dCYmMyE9PXQpdGhyb3cgRXJyb3IoYSk7aWYoZTwxKW49Mz09PXQmJihufHwhIW9bMF0pfHwwPT09ZSYmKDE9PT10JiZvWzBdPj01fHwyPT09dCYmKG9bMF0+NXx8NT09PW9bMF0mJihufHxvWzFdIT09dikpKSxvLmxlbmd0aD0xLG4/KHIuZT1yLmUtZSsxLG9bMF09MSk6b1swXT1yLmU9MDtlbHNlIGlmKGU8by5sZW5ndGgpe2lmKG49MT09PXQmJm9bZV0+PTV8fDI9PT10JiYob1tlXT41fHw1PT09b1tlXSYmKG58fG9bZSsxXSE9PXZ8fDEmb1tlLTFdKSl8fDM9PT10JiYobnx8ISFvWzBdKSxvLmxlbmd0aD1lLS0sbilmb3IoOysrb1tlXT45OylvW2VdPTAsZS0tfHwoKytyLmUsby51bnNoaWZ0KDEpKTtmb3IoZT1vLmxlbmd0aDshb1stLWVdOylvLnBvcCgpfXJldHVybiByfWZ1bmN0aW9uIGcocixlLHQpe3ZhciBuPXIuZSxvPXIuYy5qb2luKCIiKSxpPW8ubGVuZ3RoO2lmKGUpbz1vLmNoYXJBdCgwKSsoaT4xPyIuIitvLnNsaWNlKDEpOiIiKSsobjwwPyJlIjoiZSsiKStuO2Vsc2UgaWYobjwwKXtmb3IoOysrbjspbz0iMCIrbztvPSIwLiIrb31lbHNlIGlmKG4+MClpZigrK24+aSlmb3Iobi09aTtuLS07KW8rPSIwIjtlbHNlIG48aSYmKG89by5zbGljZSgwLG4pKyIuIitvLnNsaWNlKG4pKTtlbHNlIGk+MSYmKG89by5jaGFyQXQoMCkrIi4iK28uc2xpY2UoMSkpO3JldHVybiByLnM8MCYmdD8iLSIrbzpvfWguYWJzPWZ1bmN0aW9uKCl7dmFyIHI9bmV3IHRoaXMuY29uc3RydWN0b3IodGhpcyk7cmV0dXJuIHIucz0xLHJ9LGguY21wPWZ1bmN0aW9uKHIpe3ZhciBlLHQ9dGhpcyxuPXQuYyxvPShyPW5ldyB0LmNvbnN0cnVjdG9yKHIpKS5jLGk9dC5zLGM9ci5zLHM9dC5lLGY9ci5lO2lmKCFuWzBdfHwhb1swXSlyZXR1cm4gblswXT9pOm9bMF0/LWM6MDtpZihpIT1jKXJldHVybiBpO2lmKGU9aTwwLHMhPWYpcmV0dXJuIHM+Zl5lPzE6LTE7Zm9yKGM9KHM9bi5sZW5ndGgpPChmPW8ubGVuZ3RoKT9zOmYsaT0tMTsrK2k8YzspaWYobltpXSE9b1tpXSlyZXR1cm4gbltpXT5vW2ldXmU/MTotMTtyZXR1cm4gcz09Zj8wOnM+Zl5lPzE6LTF9LGguZGl2PWZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMsdD1lLmNvbnN0cnVjdG9yLG49ZS5jLG89KHI9bmV3IHQocikpLmMsYz1lLnM9PXIucz8xOi0xLHM9dC5EUDtpZihzIT09fn5zfHxzPDB8fHM+aSl0aHJvdyBFcnJvcih1KTtpZighb1swXSl0aHJvdyBFcnJvcihsKTtpZighblswXSlyZXR1cm4gci5zPWMsci5jPVtyLmU9MF0scjt2YXIgZixhLGgsZCxnLHc9by5zbGljZSgpLGI9Zj1vLmxlbmd0aCxtPW4ubGVuZ3RoLEU9bi5zbGljZSgwLGYpLGo9RS5sZW5ndGgseT1yLFA9eS5jPVtdLE89MCxrPXMrKHkuZT1lLmUtci5lKSsxO2Zvcih5LnM9YyxjPWs8MD8wOmssdy51bnNoaWZ0KDApO2orKzxmOylFLnB1c2goMCk7ZG97Zm9yKGg9MDtoPDEwO2grKyl7aWYoZiE9KGo9RS5sZW5ndGgpKWQ9Zj5qPzE6LTE7ZWxzZSBmb3IoZz0tMSxkPTA7KytnPGY7KWlmKG9bZ10hPUVbZ10pe2Q9b1tnXT5FW2ddPzE6LTE7YnJlYWt9aWYoIShkPDApKWJyZWFrO2ZvcihhPWo9PWY/bzp3O2o7KXtpZihFWy0tal08YVtqXSl7Zm9yKGc9ajtnJiYhRVstLWddOylFW2ddPTk7LS1FW2ddLEVbal0rPTEwfUVbal0tPWFbal19Zm9yKDshRVswXTspRS5zaGlmdCgpfVBbTysrXT1kP2g6KytoLEVbMF0mJmQ/RVtqXT1uW2JdfHwwOkU9W25bYl1dfXdoaWxlKChiKys8bXx8RVswXSE9PXYpJiZjLS0pO3JldHVybiBQWzBdfHwxPT1PfHwoUC5zaGlmdCgpLHkuZS0tLGstLSksTz5rJiZwKHksayx0LlJNLEVbMF0hPT12KSx5fSxoLmVxPWZ1bmN0aW9uKHIpe3JldHVybiAwPT09dGhpcy5jbXAocil9LGguZ3Q9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuY21wKHIpPjB9LGguZ3RlPWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLmNtcChyKT4tMX0saC5sdD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5jbXAocik8MH0saC5sdGU9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuY21wKHIpPDF9LGgubWludXM9aC5zdWI9ZnVuY3Rpb24ocil7dmFyIGUsdCxuLG8saT10aGlzLGM9aS5jb25zdHJ1Y3RvcixzPWkucyxmPShyPW5ldyBjKHIpKS5zO2lmKHMhPWYpcmV0dXJuIHIucz0tZixpLnBsdXMocik7dmFyIHU9aS5jLnNsaWNlKCksYT1pLmUsbD1yLmMsaD1yLmU7aWYoIXVbMF18fCFsWzBdKXJldHVybiBsWzBdP3Iucz0tZjp1WzBdP3I9bmV3IGMoaSk6ci5zPTEscjtpZihzPWEtaCl7Zm9yKChvPXM8MCk/KHM9LXMsbj11KTooaD1hLG49bCksbi5yZXZlcnNlKCksZj1zO2YtLTspbi5wdXNoKDApO24ucmV2ZXJzZSgpfWVsc2UgZm9yKHQ9KChvPXUubGVuZ3RoPGwubGVuZ3RoKT91OmwpLmxlbmd0aCxzPWY9MDtmPHQ7ZisrKWlmKHVbZl0hPWxbZl0pe289dVtmXTxsW2ZdO2JyZWFrfWlmKG8mJihuPXUsdT1sLGw9bixyLnM9LXIucyksKGY9KHQ9bC5sZW5ndGgpLShlPXUubGVuZ3RoKSk+MClmb3IoO2YtLTspdVtlKytdPTA7Zm9yKGY9ZTt0PnM7KXtpZih1Wy0tdF08bFt0XSl7Zm9yKGU9dDtlJiYhdVstLWVdOyl1W2VdPTk7LS11W2VdLHVbdF0rPTEwfXVbdF0tPWxbdF19Zm9yKDswPT09dVstLWZdOyl1LnBvcCgpO2Zvcig7MD09PXVbMF07KXUuc2hpZnQoKSwtLWg7cmV0dXJuIHVbMF18fChyLnM9MSx1PVtoPTBdKSxyLmM9dSxyLmU9aCxyfSxoLm1vZD1mdW5jdGlvbihyKXt2YXIgZSx0PXRoaXMsbj10LmNvbnN0cnVjdG9yLG89dC5zLGk9KHI9bmV3IG4ocikpLnMKO2lmKCFyLmNbMF0pdGhyb3cgRXJyb3IobCk7cmV0dXJuIHQucz1yLnM9MSxlPTE9PXIuY21wKHQpLHQucz1vLHIucz1pLGU/bmV3IG4odCk6KG89bi5EUCxpPW4uUk0sbi5EUD1uLlJNPTAsdD10LmRpdihyKSxuLkRQPW8sbi5STT1pLHRoaXMubWludXModC50aW1lcyhyKSkpfSxoLnBsdXM9aC5hZGQ9ZnVuY3Rpb24ocil7dmFyIGUsdCxuLG89dGhpcyxpPW8uY29uc3RydWN0b3I7aWYocj1uZXcgaShyKSxvLnMhPXIucylyZXR1cm4gci5zPS1yLnMsby5taW51cyhyKTt2YXIgYz1vLmUscz1vLmMsZj1yLmUsdT1yLmM7aWYoIXNbMF18fCF1WzBdKXJldHVybiB1WzBdfHwoc1swXT9yPW5ldyBpKG8pOnIucz1vLnMpLHI7aWYocz1zLnNsaWNlKCksZT1jLWYpe2ZvcihlPjA/KGY9YyxuPXUpOihlPS1lLG49cyksbi5yZXZlcnNlKCk7ZS0tOyluLnB1c2goMCk7bi5yZXZlcnNlKCl9Zm9yKHMubGVuZ3RoLXUubGVuZ3RoPDAmJihuPXUsdT1zLHM9biksZT11Lmxlbmd0aCx0PTA7ZTtzW2VdJT0xMCl0PShzWy0tZV09c1tlXSt1W2VdK3QpLzEwfDA7Zm9yKHQmJihzLnVuc2hpZnQodCksKytmKSxlPXMubGVuZ3RoOzA9PT1zWy0tZV07KXMucG9wKCk7cmV0dXJuIHIuYz1zLHIuZT1mLHJ9LGgucG93PWZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMsdD1uZXcgZS5jb25zdHJ1Y3RvcigiMSIpLG49dCxvPXI8MDtpZihyIT09fn5yfHxyPC0xZTZ8fHI+Yyl0aHJvdyBFcnJvcihmKyJleHBvbmVudCIpO2ZvcihvJiYocj0tcik7MSZyJiYobj1uLnRpbWVzKGUpKSxyPj49MTspZT1lLnRpbWVzKGUpO3JldHVybiBvP3QuZGl2KG4pOm59LGgucHJlYz1mdW5jdGlvbihyLGUpe2lmKHIhPT1+fnJ8fHI8MXx8cj5pKXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO3JldHVybiBwKG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMpLHIsZSl9LGgucm91bmQ9ZnVuY3Rpb24ocixlKXtpZihyPT09dilyPTA7ZWxzZSBpZihyIT09fn5yfHxyPC1pfHxyPmkpdGhyb3cgRXJyb3IodSk7cmV0dXJuIHAobmV3IHRoaXMuY29uc3RydWN0b3IodGhpcykscit0aGlzLmUrMSxlKX0saC5zcXJ0PWZ1bmN0aW9uKCl7dmFyIHIsZSx0LG49dGhpcyxvPW4uY29uc3RydWN0b3IsaT1uLnMsYz1uLmUsZj1uZXcgbygiMC41Iik7aWYoIW4uY1swXSlyZXR1cm4gbmV3IG8obik7aWYoaTwwKXRocm93IEVycm9yKHMrIk5vIHNxdWFyZSByb290Iik7MD09PShpPU1hdGguc3FydChuKyIiKSl8fGk9PT0xLzA/KChlPW4uYy5qb2luKCIiKSkubGVuZ3RoK2MmMXx8KGUrPSIwIiksYz0oKGMrMSkvMnwwKS0oYzwwfHwxJmMpLHI9bmV3IG8oKChpPU1hdGguc3FydChlKSk9PTEvMD8iNWUiOihpPWkudG9FeHBvbmVudGlhbCgpKS5zbGljZSgwLGkuaW5kZXhPZigiZSIpKzEpKStjKSk6cj1uZXcgbyhpKyIiKSxjPXIuZSsoby5EUCs9NCk7ZG97dD1yLHI9Zi50aW1lcyh0LnBsdXMobi5kaXYodCkpKX13aGlsZSh0LmMuc2xpY2UoMCxjKS5qb2luKCIiKSE9PXIuYy5zbGljZSgwLGMpLmpvaW4oIiIpKTtyZXR1cm4gcChyLChvLkRQLT00KStyLmUrMSxvLlJNKX0saC50aW1lcz1oLm11bD1mdW5jdGlvbihyKXt2YXIgZSx0PXRoaXMsbj10LmNvbnN0cnVjdG9yLG89dC5jLGk9KHI9bmV3IG4ocikpLmMsYz1vLmxlbmd0aCxzPWkubGVuZ3RoLGY9dC5lLHU9ci5lO2lmKHIucz10LnM9PXIucz8xOi0xLCFvWzBdfHwhaVswXSlyZXR1cm4gci5jPVtyLmU9MF0scjtmb3Ioci5lPWYrdSxjPHMmJihlPW8sbz1pLGk9ZSx1PWMsYz1zLHM9dSksZT1uZXcgQXJyYXkodT1jK3MpO3UtLTspZVt1XT0wO2ZvcihmPXM7Zi0tOyl7Zm9yKHM9MCx1PWMrZjt1PmY7KXM9ZVt1XStpW2ZdKm9bdS1mLTFdK3MsZVt1LS1dPXMlMTAscz1zLzEwfDA7ZVt1XT1zfWZvcihzPysrci5lOmUuc2hpZnQoKSxmPWUubGVuZ3RoOyFlWy0tZl07KWUucG9wKCk7cmV0dXJuIHIuYz1lLHJ9LGgudG9FeHBvbmVudGlhbD1mdW5jdGlvbihyLGUpe3ZhciB0PXRoaXMsbj10LmNbMF07aWYociE9PXYpe2lmKHIhPT1+fnJ8fHI8MHx8cj5pKXRocm93IEVycm9yKHUpO2Zvcih0PXAobmV3IHQuY29uc3RydWN0b3IodCksKytyLGUpO3QuYy5sZW5ndGg8cjspdC5jLnB1c2goMCl9cmV0dXJuIGcodCwhMCwhIW4pfSxoLnRvRml4ZWQ9ZnVuY3Rpb24ocixlKXt2YXIgdD10aGlzLG49dC5jWzBdO2lmKHIhPT12KXtpZihyIT09fn5yfHxyPDB8fHI+aSl0aHJvdyBFcnJvcih1KTtmb3Iocj1yKyh0PXAobmV3IHQuY29uc3RydWN0b3IodCkscit0LmUrMSxlKSkuZSsxO3QuYy5sZW5ndGg8cjspdC5jLnB1c2goMCl9cmV0dXJuIGcodCwhMSwhIW4pfSxoLnRvSlNPTj1oLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIHI9dGhpcyxlPXIuY29uc3RydWN0b3I7cmV0dXJuIGcocixyLmU8PWUuTkV8fHIuZT49ZS5QRSwhIXIuY1swXSl9LGgudG9OdW1iZXI9ZnVuY3Rpb24oKXt2YXIgcj1OdW1iZXIoZyh0aGlzLCEwLCEwKSk7aWYoITA9PT10aGlzLmNvbnN0cnVjdG9yLnN0cmljdCYmIXRoaXMuZXEoci50b1N0cmluZygpKSl0aHJvdyBFcnJvcihzKyJJbXByZWNpc2UgY29udmVyc2lvbiIpO3JldHVybiByfSxoLnRvUHJlY2lzaW9uPWZ1bmN0aW9uKHIsZSl7dmFyIHQ9dGhpcyxuPXQuY29uc3RydWN0b3Isbz10LmNbMF07aWYociE9PXYpe2lmKHIhPT1+fnJ8fHI8MXx8cj5pKXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO2Zvcih0PXAobmV3IG4odCkscixlKTt0LmMubGVuZ3RoPHI7KXQuYy5wdXNoKDApfXJldHVybiBnKHQscjw9dC5lfHx0LmU8PW4uTkV8fHQuZT49bi5QRSwhIW8pfSxoLnZhbHVlT2Y9ZnVuY3Rpb24oKXt2YXIgcj10aGlzLGU9ci5jb25zdHJ1Y3RvcjtpZighMD09PWUuc3RyaWN0KXRocm93IEVycm9yKHMrInZhbHVlT2YgZGlzYWxsb3dlZCIpO3JldHVybiBnKHIsci5lPD1lLk5FfHxyLmU+PWUuUEUsITApfSxvPWZ1bmN0aW9uIHIoKXtmdW5jdGlvbiBlKHQpe3ZhciBuPXRoaXM7aWYoIShuIGluc3RhbmNlb2YgZSkpcmV0dXJuIHQ9PT12P3IoKTpuZXcgZSh0KTtpZih0IGluc3RhbmNlb2YgZSluLnM9dC5zLG4uZT10LmUsbi5jPXQuYy5zbGljZSgpO2Vsc2V7aWYoInN0cmluZyIhPXR5cGVvZiB0KXsKaWYoITA9PT1lLnN0cmljdCl0aHJvdyBUeXBlRXJyb3IoZisibnVtYmVyIik7dD0wPT09dCYmMS90PDA/Ii0wIjpTdHJpbmcodCl9IWZ1bmN0aW9uKHIsZSl7dmFyIHQsbixvO2lmKCFkLnRlc3QoZSkpdGhyb3cgRXJyb3IoZisibnVtYmVyIik7ci5zPSItIj09ZS5jaGFyQXQoMCk/KGU9ZS5zbGljZSgxKSwtMSk6MSwodD1lLmluZGV4T2YoIi4iKSk+LTEmJihlPWUucmVwbGFjZSgiLiIsIiIpKTsobj1lLnNlYXJjaCgvZS9pKSk+MD8odDwwJiYodD1uKSx0Kz0rZS5zbGljZShuKzEpLGU9ZS5zdWJzdHJpbmcoMCxuKSk6dDwwJiYodD1lLmxlbmd0aCk7Zm9yKG89ZS5sZW5ndGgsbj0wO248byYmIjAiPT1lLmNoYXJBdChuKTspKytuO2lmKG49PW8pci5jPVtyLmU9MF07ZWxzZXtmb3IoO28+MCYmIjAiPT1lLmNoYXJBdCgtLW8pOyk7Zm9yKHIuZT10LW4tMSxyLmM9W10sdD0wO248PW87KXIuY1t0KytdPStlLmNoYXJBdChuKyspfX0obix0KX1uLmNvbnN0cnVjdG9yPWV9cmV0dXJuIGUucHJvdG90eXBlPWgsZS5EUD0yMCxlLlJNPTEsZS5ORT0tNyxlLlBFPTIxLGUuc3RyaWN0PWZhbHNlLGUucm91bmREb3duPTAsZS5yb3VuZEhhbGZVcD0xLGUucm91bmRIYWxmRXZlbj0yLGUucm91bmRVcD0zLGV9KCksby5kZWZhdWx0PW8uQmlnPW8sdm9pZCAwPT09KG49ZnVuY3Rpb24oKXtyZXR1cm4gb30uY2FsbChlLHQsZSxyKSl8fChyLmV4cG9ydHM9bil9KCl9LDg3Mjg4MShyLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtkZWZhdWx0OigpPT5OfSk7dmFyIG49dCg4ODY1MTQpLG89dCgyNjkzNjYpO2NvbnN0IGk9ZnVuY3Rpb24ocixlKXtmb3IodmFyIHQ9LTEsbj1udWxsPT1yPzA6ci5sZW5ndGg7Kyt0PG47KWlmKGUoclt0XSx0LHIpKXJldHVybiEwO3JldHVybiExfTt2YXIgYz10KDcxMjgwMSk7Y29uc3Qgcz1mdW5jdGlvbihyLGUsdCxuLHMsZil7dmFyIHU9MSZ0LGE9ci5sZW5ndGgsbD1lLmxlbmd0aDtpZihhIT1sJiYhKHUmJmw+YSkpcmV0dXJuITE7dmFyIGg9Zi5nZXQociksdj1mLmdldChlKTtpZihoJiZ2KXJldHVybiBoPT1lJiZ2PT1yO3ZhciBkPS0xLHA9ITAsZz0yJnQ/bmV3IG8uZGVmYXVsdDp2b2lkIDA7Zm9yKGYuc2V0KHIsZSksZi5zZXQoZSxyKTsrK2Q8YTspe3ZhciB3PXJbZF0sYj1lW2RdO2lmKG4pdmFyIG09dT9uKGIsdyxkLGUscixmKTpuKHcsYixkLHIsZSxmKTtpZih2b2lkIDAhPT1tKXtpZihtKWNvbnRpbnVlO3A9ITE7YnJlYWt9aWYoZyl7aWYoIWkoZSwoZnVuY3Rpb24ocixlKXtpZighKDAsYy5kZWZhdWx0KShnLGUpJiYodz09PXJ8fHModyxyLHQsbixmKSkpcmV0dXJuIGcucHVzaChlKX0pKSl7cD0hMTticmVha319ZWxzZSBpZih3IT09YiYmIXModyxiLHQsbixmKSl7cD0hMTticmVha319cmV0dXJuIGYuZGVsZXRlKHIpLGYuZGVsZXRlKGUpLHB9O3ZhciBmPXQoODcyOTk5KSx1PXQoODY1MzMwKSxhPXQoOTEwNzc4KTtjb25zdCBsPWZ1bmN0aW9uKHIpe3ZhciBlPS0xLHQ9QXJyYXkoci5zaXplKTtyZXR1cm4gci5mb3JFYWNoKChmdW5jdGlvbihyLG4pe3RbKytlXT1bbixyXX0pKSx0fTt2YXIgaD10KDk3MjAxNyksdj1mLmRlZmF1bHQ/Zi5kZWZhdWx0LnByb3RvdHlwZTp2b2lkIDAsZD12P3YudmFsdWVPZjp2b2lkIDA7Y29uc3QgcD1mdW5jdGlvbihyLGUsdCxuLG8saSxjKXtzd2l0Y2godCl7Y2FzZSJbb2JqZWN0IERhdGFWaWV3XSI6aWYoci5ieXRlTGVuZ3RoIT1lLmJ5dGVMZW5ndGh8fHIuYnl0ZU9mZnNldCE9ZS5ieXRlT2Zmc2V0KXJldHVybiExO3I9ci5idWZmZXIsZT1lLmJ1ZmZlcjtjYXNlIltvYmplY3QgQXJyYXlCdWZmZXJdIjpyZXR1cm4hKHIuYnl0ZUxlbmd0aCE9ZS5ieXRlTGVuZ3RofHwhaShuZXcgdS5kZWZhdWx0KHIpLG5ldyB1LmRlZmF1bHQoZSkpKTtjYXNlIltvYmplY3QgQm9vbGVhbl0iOmNhc2UiW29iamVjdCBEYXRlXSI6Y2FzZSJbb2JqZWN0IE51bWJlcl0iOnJldHVybigwLGEuZGVmYXVsdCkoK3IsK2UpO2Nhc2UiW29iamVjdCBFcnJvcl0iOnJldHVybiByLm5hbWU9PWUubmFtZSYmci5tZXNzYWdlPT1lLm1lc3NhZ2U7Y2FzZSJbb2JqZWN0IFJlZ0V4cF0iOmNhc2UiW29iamVjdCBTdHJpbmddIjpyZXR1cm4gcj09ZSsiIjtjYXNlIltvYmplY3QgTWFwXSI6dmFyIGY9bDtjYXNlIltvYmplY3QgU2V0XSI6dmFyIHY9MSZuO2lmKGZ8fChmPWguZGVmYXVsdCksci5zaXplIT1lLnNpemUmJiF2KXJldHVybiExO3ZhciBwPWMuZ2V0KHIpO2lmKHApcmV0dXJuIHA9PWU7bnw9MixjLnNldChyLGUpO3ZhciBnPXMoZihyKSxmKGUpLG4sbyxpLGMpO3JldHVybiBjLmRlbGV0ZShyKSxnO2Nhc2UiW29iamVjdCBTeW1ib2xdIjppZihkKXJldHVybiBkLmNhbGwocik9PWQuY2FsbChlKX1yZXR1cm4hMX07dmFyIGc9dCg4MDYyNDApLHc9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBiPWZ1bmN0aW9uKHIsZSx0LG4sbyxpKXt2YXIgYz0xJnQscz0oMCxnLmRlZmF1bHQpKHIpLGY9cy5sZW5ndGg7aWYoZiE9KDAsZy5kZWZhdWx0KShlKS5sZW5ndGgmJiFjKXJldHVybiExO2Zvcih2YXIgdT1mO3UtLTspe3ZhciBhPXNbdV07aWYoIShjP2EgaW4gZTp3LmNhbGwoZSxhKSkpcmV0dXJuITF9dmFyIGw9aS5nZXQociksaD1pLmdldChlKTtpZihsJiZoKXJldHVybiBsPT1lJiZoPT1yO3ZhciB2PSEwO2kuc2V0KHIsZSksaS5zZXQoZSxyKTtmb3IodmFyIGQ9YzsrK3U8Zjspe3ZhciBwPXJbYT1zW3VdXSxiPWVbYV07aWYobil2YXIgbT1jP24oYixwLGEsZSxyLGkpOm4ocCxiLGEscixlLGkpO2lmKCEodm9pZCAwPT09bT9wPT09Ynx8byhwLGIsdCxuLGkpOm0pKXt2PSExO2JyZWFrfWR8fChkPSJjb25zdHJ1Y3RvciI9PWEpfWlmKHYmJiFkKXt2YXIgRT1yLmNvbnN0cnVjdG9yLGo9ZS5jb25zdHJ1Y3RvcjtFPT1qfHwhKCJjb25zdHJ1Y3RvciJpbiByKXx8ISgiY29uc3RydWN0b3IiaW4gZSl8fCJmdW5jdGlvbiI9PXR5cGVvZiBFJiZFIGluc3RhbmNlb2YgRSYmImZ1bmN0aW9uIj09dHlwZW9mIGomJmogaW5zdGFuY2VvZiBqfHwodj0hMSl9cmV0dXJuIGkuZGVsZXRlKHIpLGkuZGVsZXRlKGUpLHZ9Cjt2YXIgbT10KDk2OTc4NSksRT10KDI5NTYzNSksaj10KDY1OTAxOCkseT10KDE2NTI2NyksUD0iW29iamVjdCBBcmd1bWVudHNdIixPPSJbb2JqZWN0IEFycmF5XSIsaz0iW29iamVjdCBPYmplY3RdIixBPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Y29uc3QgRD1mdW5jdGlvbihyLGUsdCxvLGksYyl7dmFyIGY9KDAsRS5kZWZhdWx0KShyKSx1PSgwLEUuZGVmYXVsdCkoZSksYT1mP086KDAsbS5kZWZhdWx0KShyKSxsPXU/TzooMCxtLmRlZmF1bHQpKGUpLGg9KGE9YT09UD9rOmEpPT1rLHY9KGw9bD09UD9rOmwpPT1rLGQ9YT09bDtpZihkJiYoMCxqLmRlZmF1bHQpKHIpKXtpZighKDAsai5kZWZhdWx0KShlKSlyZXR1cm4hMTtmPSEwLGg9ITF9aWYoZCYmIWgpcmV0dXJuIGN8fChjPW5ldyBuLmRlZmF1bHQpLGZ8fCgwLHkuZGVmYXVsdCkocik/cyhyLGUsdCxvLGksYyk6cChyLGUsYSx0LG8saSxjKTtpZighKDEmdCkpe3ZhciBnPWgmJkEuY2FsbChyLCJfX3dyYXBwZWRfXyIpLHc9diYmQS5jYWxsKGUsIl9fd3JhcHBlZF9fIik7aWYoZ3x8dyl7dmFyIEQ9Zz9yLnZhbHVlKCk6cixNPXc/ZS52YWx1ZSgpOmU7cmV0dXJuIGN8fChjPW5ldyBuLmRlZmF1bHQpLGkoRCxNLHQsbyxjKX19cmV0dXJuISFkJiYoY3x8KGM9bmV3IG4uZGVmYXVsdCksYihyLGUsdCxvLGksYykpfTt2YXIgTT10KDM2MDYyMCk7Y29uc3QgTj1mdW5jdGlvbiByKGUsdCxuLG8saSl7cmV0dXJuIGU9PT10fHwobnVsbD09ZXx8bnVsbD09dHx8ISgwLE0uZGVmYXVsdCkoZSkmJiEoMCxNLmRlZmF1bHQpKHQpP2UhPWUmJnQhPXQ6RChlLHQsbixvLHIsaSkpfX0sMTY3NTAyKHIsZSx0KXsidXNlIHN0cmljdCI7dC5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj10KDg3Mjg4MSk7Y29uc3Qgbz1mdW5jdGlvbihyLGUpe3JldHVybigwLG4uZGVmYXVsdCkocixlKX19fV0pOw=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/63160.2a3a21185fbcc7079dae.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.163Z","timestamp":1785141584163,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/63160.2a3a21185fbcc7079dae.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-6c55\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:25\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2124464e046e06d75ac8c8a8bda7d6f6\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":27733,"size_decoded":8684,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"cfb4ec7bf74cebe56275390e404eea0f","sha1":"4252ecbde693198d544ad5f483339e8527626b7d","sha256":"6c3a092a58a55249537be71395c07358a4ff94120d96468eb32669c2405dbe89","sha512":"502ad261df8d3d31d8decf44c403084f175783156886850f601a8404bfedddb9baeedf09aae6727cc4d18f8b3d1d59e554cc357a494b93754a34a68a9f7eafda","ssdeep":"768:OdGn8wXtPTrG8Pz8ZQXllEu7x1zR2tDZTrQGikOjULp/BS53dCo15V1:OrtI","tlshash":"3cc2945631977136aba2c64644350703e33635683a4b699cf73cface6b1ec42913ea3d","first_seen":"2026-07-23T13:54:09.047216Z","last_seen":"2026-07-27T14:50:15.322091Z","times_seen":354,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjMxNjBdLHs2NDI3MTkodCxlLHMpe3MuZChlLHtCYXJCdWlsZGVyQmFzZTooKT0+byxTZXNzaW9uSW5mbzooKT0+YX0pO3ZhciByPXMoNzAwODA5KSxuPXMoMjk1MTQpLGk9cyg1NTk2OSk7Y2xhc3MgYXtjb25zdHJ1Y3Rvcih0LGUscyxyKXt0aGlzLmluaXQodCxlLHMsciksdGhpcy5fc3RhdGU9e3RpbWV6b25lOnQsc3BlYzplLGhvbGlkYXlzOnMsY29ycmVjdGlvbnM6cn19aW5pdCh0LGUscyxuKXt0aGlzLnRpbWV6b25lPSgwLHIuZ2V0X3RpbWV6b25lKSh0KSx0aGlzLnNwZWM9bmV3IGkuU2Vzc2lvbnNTcGVjKHQsZSxzLG4pfXN0YXRlKCl7cmV0dXJuIHRoaXMuX3N0YXRlfXN0YXRpYyBmcm9tU3RhdGUodCl7cmV0dXJuIG5ldyBhKHQudGltZXpvbmUsdC5zcGVjLHQuaG9saWRheXMsdC5jb3JyZWN0aW9ucyl9c3RhdGljIHdyYXAodCl7Y29uc3QgZT1uZXcgYSgiRXRjL1VUQyIsIjI0eDciKTtyZXR1cm4gZS5zcGVjPXQsZX1zdGF0aWMgY3JlYXRlKHQsZSxzLHIpe3JldHVybiBuZXcgYSh0LGUscyxyKX19Y2xhc3Mgb3thbGlnblRpbWUodCl7aWYoaXNOYU4odCkpcmV0dXJuIE5hTjtsZXQgZT10aGlzLmluZGV4T2ZCYXIodCk7cmV0dXJuIGU9PT1uLlNlc3Npb25TdGFnZS5QT1NUX1NFU1NJT04mJih0aGlzLm1vdmVUbyh0KSxlPXRoaXMuaW5kZXhPZkJhcih0KSksZTwwP05hTjp0aGlzLnN0YXJ0T2ZCYXIoZSl9fX0sNzcxNzk1KHQsZSxzKXtpZihzLmQoZSx7Z2V0UGVyaW9kc0JldHdlZW5EYXRlczooKT0+dixuZXdCYXJCdWlsZGVyOigpPT53fSksL14oNzk3OTV8OTQzODkpJC8udGVzdChzLmopKXZhciByPXMoNzAwODA5KTt2YXIgbj1zKDI1NDY3Myk7aWYoIS9eKDc5Nzk1fDk0Mzg5KSQvLnRlc3Qocy5qKSlyPXMoNzAwODA5KTt2YXIgaT1zKDY0MDc0NCksYT1zKDY0MjcxOSksbz1zKDI5NTE0KSxkPXMoMzQxMDM2KTtjbGFzcyBfe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fZXh0ZW5kZWRTdGFydE1zPXQsdGhpcy5fZXh0ZW5kZWRFbmRNcz1lfWluZGV4T2ZCYXIodCxlKXtyZXR1cm4gdGhpcy5fZXh0ZW5kZWRTdGFydE1zPnQ/by5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT046ZS5zZXNzaW9uU3RhcnRNcz50PzA6ZS5zZXNzaW9uRW5kTXM8PXQ/dGhpcy5fZXh0ZW5kZWRFbmRNczw9dD9vLlNlc3Npb25TdGFnZS5QT1NUX1NFU1NJT046ZS5pbmRleE9mTGFzdEJhckluU2Vzc2lvbigpOmUuZ2V0SW5kZXhPZkJhcihlLmJhcnNTdGFydE1zLHQpfWVuZE9mQmFyKHQsZSl7aWYodD09PW8uU2Vzc2lvblN0YWdlLkxBU1RfU0VTU0lPTl9FTkQpcmV0dXJuIHRoaXMuX2V4dGVuZGVkRW5kTXM7Y29uc3Qgcz1lLmdldEVuZE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCk7cmV0dXJuIGUuc2Vzc2lvbkVuZE1zPD1zP3RoaXMuX2V4dGVuZGVkRW5kTXM6c31wb3N0U2Vzc2lvblN0YXJ0T2ZCYXIodCl7cmV0dXJuIHRoaXMuX2V4dGVuZGVkRW5kTXN9c3RhcnRPZkJhcih0LGUpe3JldHVybiBlLmdldFN0YXJ0T2ZCYXIoZS5iYXJzU3RhcnRNcyx0KX19Y2xhc3MgZntjb25zdHJ1Y3Rvcih0KXt0aGlzLl9pbnRlcnZhbHM9dH1pbmRleE9mQmFyKHQsZSl7aWYodGhpcy5fZmlyc3RJbnRlcnZhbCgpLmV4dGVuZGVkU3RhcnRNcz50KXJldHVybiBvLlNlc3Npb25TdGFnZS5QUkVfU0VTU0lPTjtjb25zdCBzPXRoaXMuX25lYXJlc3RJbnRlcnZhbCh0KTtyZXR1cm4gbnVsbD09PXM/by5TZXNzaW9uU3RhZ2UuUE9TVF9TRVNTSU9OOnMuZXh0ZW5kZWRTdGFydE1zPnQ/ZS5nZXRJbmRleE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCk6cy5zdGFydE1zPnQ/ZS5nZXRJbmRleE9mQmFyKGUuYmFyc1N0YXJ0TXMscy5zdGFydE1zKTpzLmVuZE1zPnQ/ZS5nZXRJbmRleE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCk6ZS5nZXRJbmRleE9mQmFyKGUuYmFyc1N0YXJ0TXMscy5lbmRNcy0xKX1lbmRPZkJhcih0LGUpe2lmKHQ9PT1vLlNlc3Npb25TdGFnZS5MQVNUX1NFU1NJT05fRU5EKXJldHVybiB0aGlzLl9sYXN0SW50ZXJ2YWwoKS5leHRlbmRlZEVuZE1zO2NvbnN0IHM9ZS5nZXRFbmRPZkJhcihlLmJhcnNTdGFydE1zLHQpLHI9dGhpcy5fbmVhcmVzdEludGVydmFsKHMpO3JldHVybiBudWxsPT09cj90aGlzLl9sYXN0SW50ZXJ2YWwoKS5leHRlbmRlZEVuZE1zOnIuZW5kTXM8PXM/ci5leHRlbmRlZEVuZE1zOnN9cG9zdFNlc3Npb25TdGFydE9mQmFyKHQpe3JldHVybiB0aGlzLl9sYXN0SW50ZXJ2YWwoKS5leHRlbmRlZEVuZE1zfXN0YXJ0T2ZCYXIodCxlKXtyZXR1cm4gZS5nZXRTdGFydE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCl9X25lYXJlc3RJbnRlcnZhbCh0KXtmb3IoY29uc3QgZSBvZiB0aGlzLl9pbnRlcnZhbHMpaWYoZS5leHRlbmRlZEVuZE1zPnQpcmV0dXJuIGU7cmV0dXJuIG51bGx9X2ZpcnN0SW50ZXJ2YWwoKXtyZXR1cm4gdGhpcy5faW50ZXJ2YWxzWzBdfV9sYXN0SW50ZXJ2YWwoKXtyZXR1cm4gdGhpcy5faW50ZXJ2YWxzW3RoaXMuX2ludGVydmFscy5sZW5ndGgtMV19fWNsYXNzIFN7Y29uc3RydWN0b3IodCl7dGhpcy5faW50ZXJ2YWxzPXR9aW5kZXhPZkJhcih0LGUpe2lmKGUuc2Vzc2lvblN0YXJ0TXM+dClyZXR1cm4gby5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT047Y29uc3Qgcz10aGlzLl9uZWFyZXN0SW50ZXJ2YWxCeVRpbWUodCk7cmV0dXJuIG51bGw9PT1zP28uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTjpzLnN0YXJ0TXM+dD9zLmluZGV4T2Zmc2V0OmUuZ2V0SW5kZXhPZkJhcihzLmJhcnNTdGFydE1zLHQpK3MuaW5kZXhPZmZzZXR9ZW5kT2ZCYXIodCxlKXtpZih0PT09by5TZXNzaW9uU3RhZ2UuTEFTVF9TRVNTSU9OX0VORClyZXR1cm4gZS5zZXNzaW9uRW5kTXM7Y29uc3Qgcz10aGlzLl9uZWFyZXN0SW50ZXJ2YWxCeUluZGV4KHQpO2lmKG51bGw9PT1zKXJldHVybiBlLmdldEVuZE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCk7Y29uc3Qgcj1lLmdldEVuZE9mQmFyKHMuYmFyc1N0YXJ0TXMsdC1zLmluZGV4T2Zmc2V0KQo7cmV0dXJuIHI+cy5lbmRNcz9yPmUuc2Vzc2lvbkVuZE1zP2Uuc2Vzc2lvbkVuZE1zOnMubGFzdEJhckVuZE1zOnJ9cG9zdFNlc3Npb25TdGFydE9mQmFyKHQpe3JldHVybiB0LnNlc3Npb25FbmRNc31zdGFydE9mQmFyKHQsZSl7Y29uc3Qgcz10aGlzLl9uZWFyZXN0SW50ZXJ2YWxCeUluZGV4KHQpO2lmKG51bGw9PT1zKXJldHVybiBlLmdldFN0YXJ0T2ZCYXIoZS5iYXJzU3RhcnRNcyx0KTtjb25zdCByPXQtcy5pbmRleE9mZnNldDtyZXR1cm4gMD09PXI/cy5maXJzdEJhclN0YXJ0TXM6ZS5nZXRTdGFydE9mQmFyKHMuYmFyc1N0YXJ0TXMscil9X25lYXJlc3RJbnRlcnZhbEJ5VGltZSh0KXtmb3IoY29uc3QgZSBvZiB0aGlzLl9pbnRlcnZhbHMpaWYoZS5lbmRNcz50KXJldHVybiBlO3JldHVybiBudWxsfV9uZWFyZXN0SW50ZXJ2YWxCeUluZGV4KHQpe2ZvcihsZXQgZT10aGlzLl9pbnRlcnZhbHMubGVuZ3RoLTE7ZT49MDtlLS0pe2NvbnN0IHM9dGhpcy5faW50ZXJ2YWxzW2VdO2lmKHMuaW5kZXhPZmZzZXQ8PXQpcmV0dXJuIHN9cmV0dXJuIG51bGx9fWNsYXNzIGx7Y29uc3RydWN0b3IodCl7dGhpcy5faW50ZXJ2YWxzPXR9aW5kZXhPZkJhcih0LGUpe2lmKHRoaXMuX2ZpcnN0SW50ZXJ2YWwoKS5leHRlbmRlZFN0YXJ0TXM+dClyZXR1cm4gby5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT047Y29uc3Qgcz10aGlzLl9uZWFyZXN0SW50ZXJ2YWxCeVRpbWUodCk7cmV0dXJuIG51bGw9PT1zP28uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTjpzLmV4dGVuZGVkU3RhcnRNcz50fHxzLnN0YXJ0TXM+dD9zLmluZGV4T2Zmc2V0OnMuZW5kTXM+dD9lLmdldEluZGV4T2ZCYXIocy5iYXJzU3RhcnRNcyx0KStzLmluZGV4T2Zmc2V0OmUuZ2V0SW5kZXhPZkJhcihzLmJhcnNTdGFydE1zLHMuZW5kTXMtMSkrcy5pbmRleE9mZnNldH1lbmRPZkJhcih0LGUpe2lmKHQ9PT1vLlNlc3Npb25TdGFnZS5MQVNUX1NFU1NJT05fRU5EKXJldHVybiB0aGlzLl9sYXN0SW50ZXJ2YWwoKS5leHRlbmRlZEVuZE1zO2NvbnN0IHM9dGhpcy5fbmVhcmVzdEludGVydmFsQnlJbmRleCh0KTtpZihudWxsPT09cylyZXR1cm4gZS5nZXRFbmRPZkJhcihlLmJhcnNTdGFydE1zLHQpO2NvbnN0IHI9ZS5nZXRFbmRPZkJhcihzLmJhcnNTdGFydE1zLHQtcy5pbmRleE9mZnNldCk7cmV0dXJuIHI9PT1zLmVuZE1zfHxyPmUuc2Vzc2lvbkVuZE1zP3MuZXh0ZW5kZWRFbmRNczpyPnMuZW5kTXM/cy5sYXN0QmFyRW5kTXM6cn1wb3N0U2Vzc2lvblN0YXJ0T2ZCYXIodCl7cmV0dXJuIHRoaXMuX2xhc3RJbnRlcnZhbCgpLmV4dGVuZGVkRW5kTXN9c3RhcnRPZkJhcih0LGUpe2NvbnN0IHM9dGhpcy5fbmVhcmVzdEludGVydmFsQnlJbmRleCh0KTtpZihudWxsPT09cylyZXR1cm4gZS5nZXRTdGFydE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCk7Y29uc3Qgcj10LXMuaW5kZXhPZmZzZXQ7cmV0dXJuIDA9PT1yP3MuZmlyc3RCYXJTdGFydE1zOmUuZ2V0U3RhcnRPZkJhcihzLmJhcnNTdGFydE1zLHIpfV9uZWFyZXN0SW50ZXJ2YWxCeVRpbWUodCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5faW50ZXJ2YWxzKWlmKGUuZXh0ZW5kZWRFbmRNcz50KXJldHVybiBlO3JldHVybiBudWxsfV9uZWFyZXN0SW50ZXJ2YWxCeUluZGV4KHQpe2ZvcihsZXQgZT10aGlzLl9pbnRlcnZhbHMubGVuZ3RoLTE7ZT49MDtlLS0pe2NvbnN0IHM9dGhpcy5faW50ZXJ2YWxzW2VdO2lmKHMuaW5kZXhPZmZzZXQ8PXQpcmV0dXJuIHN9cmV0dXJuIG51bGx9X2xhc3RJbnRlcnZhbCgpe3JldHVybiB0aGlzLl9pbnRlcnZhbHNbdGhpcy5faW50ZXJ2YWxzLmxlbmd0aC0xXX1fZmlyc3RJbnRlcnZhbCgpe3JldHVybiB0aGlzLl9pbnRlcnZhbHNbMF19fWNsYXNzIGggZXh0ZW5kcyBhLkJhckJ1aWxkZXJCYXNle2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoKSx0aGlzLl9zZXNzaW9uU3RhcnRNcz0tTnVtYmVyLk1BWF9WQUxVRSx0aGlzLl9zZXNzaW9uRW5kTXM9LU51bWJlci5NQVhfVkFMVUUsdGhpcy5fYmFyc1N0YXJ0TXM9LU51bWJlci5NQVhfVkFMVUUsdGhpcy5fdHJhZGluZ0RheU1pZG5pZ2h0TXM9LU51bWJlci5NQVhfVkFMVUUsdGhpcy5fYmFyQ2FsY3VsYXRvcj1udWxsLHRoaXMuX3Nlc3Npb25CcmVha3M9W10sdGhpcy5fcGVyaW9kU2VjPXQsdGhpcy5fc2Vzc2lvbj1lfWdldCBzZXNzaW9uU3RhcnRNcygpe3JldHVybiB0aGlzLl9zZXNzaW9uU3RhcnRNc31nZXQgc2Vzc2lvbkVuZE1zKCl7cmV0dXJuIHRoaXMuX3Nlc3Npb25FbmRNc31nZXQgYmFyc1N0YXJ0TXMoKXtyZXR1cm4gdGhpcy5fYmFyc1N0YXJ0TXN9aXNJblNlc3Npb25CcmVhayh0KXtmb3IoY29uc3QgZSBvZiB0aGlzLl9zZXNzaW9uQnJlYWtzKXtpZih0PGUuYnJlYWtTdGFydE1zKXJldHVybiExO2lmKHQ8ZS5icmVha0VuZE1zKXJldHVybiEwfXJldHVybiExfWFsaWduVGltZUlmUG9zc2libGUodCl7Y29uc3QgZT10aGlzLmFsaWduVGltZSh0KTtyZXR1cm4gaXNOYU4oZSk/dDplfWluZGV4T2ZCYXIodCl7cmV0dXJuIG51bGwhPT10aGlzLl9iYXJDYWxjdWxhdG9yP3RoaXMuX2JhckNhbGN1bGF0b3IuaW5kZXhPZkJhcih0LHRoaXMpOnQ8dGhpcy5fc2Vzc2lvblN0YXJ0TXM/by5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT046dD49dGhpcy5fc2Vzc2lvbkVuZE1zP28uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTjp0aGlzLmdldEluZGV4T2ZCYXIodGhpcy5fYmFyc1N0YXJ0TXMsdCl9c3RhcnRPZkJhcih0KXtzd2l0Y2godCl7Y2FzZSBvLlNlc3Npb25TdGFnZS5QUkVfU0VTU0lPTjpyZXR1cm4gdGhpcy5fZ2V0UHJldlNlc3Npb24oKTtjYXNlIG8uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTjpyZXR1cm4gbnVsbCE9PXRoaXMuX2JhckNhbGN1bGF0b3I/dGhpcy5fYmFyQ2FsY3VsYXRvci5wb3N0U2Vzc2lvblN0YXJ0T2ZCYXIodGhpcyk6dGhpcy5fc2Vzc2lvbkVuZE1zO2Nhc2Ugby5TZXNzaW9uU3RhZ2UuTEFTVEJBUl9TRVNTSU9OOnQ9dGhpcy5pbmRleE9mTGFzdEJhckluU2Vzc2lvbigpO2JyZWFrO2Nhc2Ugby5TZXNzaW9uU3RhZ2UuRklSU1RfU0VTU0lPTl9TVEFSVDpjYXNlIDA6cmV0dXJuIHRoaXMuX3Nlc3Npb25TdGFydE1zfQpyZXR1cm4gbnVsbCE9PXRoaXMuX2JhckNhbGN1bGF0b3I/dGhpcy5fYmFyQ2FsY3VsYXRvci5zdGFydE9mQmFyKHQsdGhpcyk6dGhpcy5nZXRTdGFydE9mQmFyKHRoaXMuX2JhcnNTdGFydE1zLHQpfWVuZE9mQmFyKHQpe2lmKG51bGwhPT10aGlzLl9iYXJDYWxjdWxhdG9yKXJldHVybiB0aGlzLl9iYXJDYWxjdWxhdG9yLmVuZE9mQmFyKHQsdGhpcyk7aWYodD09PW8uU2Vzc2lvblN0YWdlLkxBU1RfU0VTU0lPTl9FTkQpcmV0dXJuIHRoaXMuX3Nlc3Npb25FbmRNcztpZih0PDApdGhyb3cgbmV3IEVycm9yKCJJbmRleCBjYW5ub3QgYmUgbmVnYXRpdmUiKTtjb25zdCBlPXRoaXMuZ2V0RW5kT2ZCYXIodGhpcy5fYmFyc1N0YXJ0TXMsdCk7cmV0dXJuIE1hdGgubWluKGUsdGhpcy5fc2Vzc2lvbkVuZE1zKX1pc0xhc3RCYXIodCxlKXtjb25zdCBzPXRoaXMuZW5kT2ZCYXIodCk7cmV0dXJuIGU+PSh0aGlzLl9wZXJpb2RTZWM+PTYwP3MtNmU0OnMtMWUzKX1tb3ZlVG8odCl7Y29uc3QgZT10aGlzLl9zZXNzaW9uLnRpbWV6b25lLHM9KDAsci51dGNfdG9fY2FsKShlLHQpLG49dGhpcy5fc2Vzc2lvbi5zcGVjLmFsaWduVG9FbnRyeVN0YXJ0RXh0ZW5kZWQocykuZW50cnk7aWYodGhpcy5fYmFyQ2FsY3VsYXRvcj1udWxsLHRoaXMuX3Nlc3Npb25CcmVha3M9W10sKDAsZC5pc1VuaWZpZWRFbnRyeSkobikpe2NvbnN0IHQ9bi5zdGFydE9mZnNldCgpLHI9bi5nZXRVbmlmaWVkRW50cmllcygpWzBdLmdldEVudHJ5KCk7dGhpcy5fc2V0VXBCYXNlRnJvbUVudHJ5V2l0aE1pZG5pZ2h0KHIscyx0LGUpLHRoaXMuX3NldFVwRnJvbVVuaWZpZWQobixzLGUpfWVsc2UgaWYoKDAsZC5pc1VuaWZpZWRTaGlmdGVkRW50cnkpKG4pKXtjb25zdCB0PW4uc3RhcnRPZmZzZXQoKSxyPW4uZ2V0VW5pZmllZEVudHJpZXMoKVswXS5nZXRFbnRyeSgpO3RoaXMuX3NldFVwQmFzZUZyb21FbnRyeVdpdGhNaWRuaWdodChyLHMsdCxlKSx0aGlzLl9zZXRVcEZyb21VbmlmaWVkU2hpZnRlZChuLHMsZSl9ZWxzZSB0aGlzLl9zZXRVcEJhc2VGcm9tRW50cnkobixzLGUpLCgwLGQuaXNFeHRlbmRlZEVudHJ5KShuKSYmdGhpcy5fc2V0VXBGcm9tRXh0ZW5kZWQobil9aW5kZXhPZkxhc3RCYXJJblNlc3Npb24oKXtyZXR1cm4gdGhpcy5pbmRleE9mQmFyKHRoaXMuX3Nlc3Npb25FbmRNcy0xKX1pbmRleE9mRmlyc3RCYXJJblNlc3Npb24oKXtyZXR1cm4gdGhpcy5pbmRleE9mQmFyKHRoaXMuX3Nlc3Npb25TdGFydE1zKX1tb3ZlTmV4dCgpe3RoaXMubW92ZVRvKHRoaXMuX3Nlc3Npb25FbmRNcyl9Z2V0SW5kZXhPZkJhcih0LGUpe3JldHVybigwLGkudG9JbnQpKCgwLHIudGltZV9zZWNvbmRzX2RpZmYpKGUsdCkvdGhpcy5fcGVyaW9kU2VjKX1nZXRTdGFydE9mQmFyKHQsZSl7cmV0dXJuIHQrKDAsci50aW1lX3NlY29uZHMpKHRoaXMuX3BlcmlvZFNlYyplKX1nZXRFbmRPZkJhcih0LGUpe3JldHVybiB0KygwLHIudGltZV9zZWNvbmRzKSh0aGlzLl9wZXJpb2RTZWMqKGUrMSkpfXN0YXRpYyBtaW51dGVzKHQsZSl7cmV0dXJuIG5ldyBoKDYwKnQsZSl9c3RhdGljIHNlY29uZHModCxlKXtyZXR1cm4gbmV3IGgodCxlKX1fZ2V0UHJldlNlc3Npb24oKXtjb25zdCB0PSgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKSh0aGlzLl9zZXNzaW9uLnRpbWV6b25lLHRoaXMuX3Nlc3Npb25TdGFydE1zLTEpLGU9dGhpcy5fc2Vzc2lvbi5zcGVjLmFsaWduVG9OZWFyZXN0U2Vzc2lvbkVuZCh0LC0xKTtyZXR1cm4oMCxyLmNhbF90b191dGMpKHRoaXMuX3Nlc3Npb24udGltZXpvbmUsZSl9X3NldFVwQmFzZUZyb21FbnRyeVdpdGhNaWRuaWdodCh0LGUscyxuKXtsZXQgaT1udWxsLGE9dDtmb3IoOzspaWYoKDAsZC5pc09mZnNldEVudHJ5KShhKSlpPWEsYT1hLmdldEVudHJ5KCk7ZWxzZXtpZighKDAsZC5pc0V4dGVuZGVkRW50cnkpKGEpKWJyZWFrO2E9YS5nZXRFbnRyeSgpfWNvbnN0IG89YSxfPSgwLHIuY2FsX3RvX3V0YykobixlKTt0aGlzLl90cmFkaW5nRGF5TWlkbmlnaHRNcz1fLTYwKnMqMWUzLHRoaXMuX3Nlc3Npb25TdGFydE1zPXRoaXMuX29mZnNldFRvTXMoby5zdGFydE9mZnNldCgpKTtjb25zdCBmPSgwLHIudXRjX3RvX2NhbCkobix0aGlzLl9zZXNzaW9uU3RhcnRNcyk7KDAsci5hZGRfbWludXRlcykoZixvLmxlbmd0aCgpKSx0aGlzLl9zZXNzaW9uRW5kTXM9KDAsci5jYWxfdG9fdXRjKShuLGYpLHRoaXMuX2JhcnNTdGFydE1zPXRoaXMuX3Nlc3Npb25TdGFydE1zLG51bGwhPT1pJiZ0aGlzLl9zZXRVcEZyb21PZmZzZXQoaSl9X3NldFVwQmFzZUZyb21FbnRyeSh0LGUscyl7bGV0IG49bnVsbCxpPXQ7Zm9yKDs7KWlmKCgwLGQuaXNPZmZzZXRFbnRyeSkoaSkpbj1pLGk9aS5nZXRFbnRyeSgpO2Vsc2V7aWYoISgwLGQuaXNFeHRlbmRlZEVudHJ5KShpKSlicmVhaztpPWkuZ2V0RW50cnkoKX1jb25zdCBhPWk7dGhpcy5fc2Vzc2lvblN0YXJ0TXM9KDAsci5jYWxfdG9fdXRjKShzLGUpLHRoaXMuX3RyYWRpbmdEYXlNaWRuaWdodE1zPXRoaXMuX3Nlc3Npb25TdGFydE1zLTYwKmEuc3RhcnRPZmZzZXQoKSoxZTM7Y29uc3Qgbz0oMCxyLnV0Y190b19jYWwpKHMsdGhpcy5fc2Vzc2lvblN0YXJ0TXMpOygwLHIuYWRkX21pbnV0ZXMpKG8sYS5sZW5ndGgoKSksdGhpcy5fc2Vzc2lvbkVuZE1zPSgwLHIuY2FsX3RvX3V0YykocyxvKSx0aGlzLl9iYXJzU3RhcnRNcz10aGlzLl9zZXNzaW9uU3RhcnRNcyxudWxsIT09biYmdGhpcy5fc2V0VXBGcm9tT2Zmc2V0KG4pfV9vZmZzZXRUb01zKHQpe3JldHVybiB0aGlzLl90cmFkaW5nRGF5TWlkbmlnaHRNcys2MCp0KjFlM31fc2V0VXBGcm9tT2Zmc2V0KHQpe2NvbnN0IGU9NjAqdC5zdGFydE9mZnNldCgpLHM9NjAqdC5iYXJzT2Zmc2V0KCk7dGhpcy5fYmFyc1N0YXJ0TXM9dGhpcy5fc2Vzc2lvblN0YXJ0TXMtMWUzKihlLXMpfV9zZXRVcEZyb21FeHRlbmRlZCh0KXt0aGlzLl9iYXJDYWxjdWxhdG9yPW5ldyBfKHRoaXMuX29mZnNldFRvTXModC5leHRlbmRlZFN0YXJ0T2Zmc2V0KCkpLHRoaXMuX29mZnNldFRvTXModC5leHRlbmRlZEVuZE9mZnNldCgpKSl9X3NldFVwRnJvbVVuaWZpZWQodCxlLHMpewpjb25zdCByPXQuZ2V0VW5pZmllZEVudHJpZXMoKSxuPXJbci5sZW5ndGgtMV07dGhpcy5fc2Vzc2lvbkVuZE1zPXRoaXMuX29mZnNldFRvTXMobi5lbmRPZmZzZXQoKSksdC5oYXNFeHRlbmRlZEVudHJ5KCk/KHRoaXMuX2JhckNhbGN1bGF0b3I9bmV3IGYodGhpcy5fdG9FeHRlbmRlZEludGVydmFscyhyKSksdGhpcy5fc2Vzc2lvbkJyZWFrcz10aGlzLl90b0V4dGVuZGVkU2Vzc2lvbkJyZWFrcyhyKSk6dGhpcy5fc2Vzc2lvbkJyZWFrcz10aGlzLl90b1Nlc3Npb25CcmVha3Mocil9X3NldFVwRnJvbVVuaWZpZWRTaGlmdGVkKHQsZSxzKXtjb25zdCByPXQuZ2V0VW5pZmllZEVudHJpZXMoKSxuPXJbci5sZW5ndGgtMV07dGhpcy5fc2Vzc2lvbkVuZE1zPXRoaXMuX29mZnNldFRvTXMobi5lbmRPZmZzZXQoKSksdC5oYXNFeHRlbmRlZEVudHJ5KCk/KHRoaXMuX2JhckNhbGN1bGF0b3I9bmV3IGwodGhpcy5fdG9TaGlmdGVkRXh0ZW5kZWRJbnRlcnZhbHMocikpLHRoaXMuX3Nlc3Npb25CcmVha3M9dGhpcy5fdG9FeHRlbmRlZFNlc3Npb25CcmVha3MocikpOih0aGlzLl9iYXJDYWxjdWxhdG9yPW5ldyBTKHRoaXMuX3RvU2hpZnRlZEludGVydmFscyhyKSksdGhpcy5fc2Vzc2lvbkJyZWFrcz10aGlzLl90b1Nlc3Npb25CcmVha3MocikpfV90b1Nlc3Npb25CcmVha3ModCl7Y29uc3QgZT1bXTtmb3IobGV0IHM9MTtzPHQubGVuZ3RoO3MrKyl7Y29uc3Qgcj10W3MtMV0sbj10W3NdO2UucHVzaCh7YnJlYWtTdGFydE1zOnRoaXMuX29mZnNldFRvTXMoci5lbmRPZmZzZXQoKSksYnJlYWtFbmRNczp0aGlzLl9vZmZzZXRUb01zKG4uc3RhcnRPZmZzZXQoKSl9KX1yZXR1cm4gZX1fdG9FeHRlbmRlZFNlc3Npb25CcmVha3ModCl7Y29uc3QgZT1bXTtmb3IobGV0IHM9MTtzPHQubGVuZ3RoO3MrKyl7Y29uc3Qgcj10W3MtMV0sbj10W3NdO2UucHVzaCh7YnJlYWtTdGFydE1zOnRoaXMuX29mZnNldFRvTXMoci5leHRlbmRlZEVuZE9mZnNldCgpKSxicmVha0VuZE1zOnRoaXMuX29mZnNldFRvTXMobi5leHRlbmRlZFN0YXJ0T2Zmc2V0KCkpfSl9cmV0dXJuIGV9X3RvRXh0ZW5kZWRJbnRlcnZhbHModCl7Y29uc3QgZT1bXTtmb3IoY29uc3QgcyBvZiB0KWUucHVzaCh7c3RhcnRNczp0aGlzLl9vZmZzZXRUb01zKHMuc3RhcnRPZmZzZXQoKSksZW5kTXM6dGhpcy5fb2Zmc2V0VG9NcyhzLmVuZE9mZnNldCgpKSxleHRlbmRlZFN0YXJ0TXM6dGhpcy5fb2Zmc2V0VG9NcyhzLmV4dGVuZGVkU3RhcnRPZmZzZXQoKSksZXh0ZW5kZWRFbmRNczp0aGlzLl9vZmZzZXRUb01zKHMuZXh0ZW5kZWRFbmRPZmZzZXQoKSl9KTtyZXR1cm4gZX1fdG9TaGlmdGVkRXh0ZW5kZWRJbnRlcnZhbHModCl7Y29uc3QgZT1bXSxzPXRoaXMuX3RvU2hpZnRlZEludGVydmFscyh0KTtmb3IobGV0IHI9MDtyPHMubGVuZ3RoO3IrKyl7Y29uc3Qgbj1zW3JdLGk9dFtyXTtlLnB1c2goey4uLm4sZXh0ZW5kZWRTdGFydE1zOnRoaXMuX29mZnNldFRvTXMoaS5leHRlbmRlZFN0YXJ0T2Zmc2V0KCkpLGV4dGVuZGVkRW5kTXM6dGhpcy5fb2Zmc2V0VG9NcyhpLmV4dGVuZGVkRW5kT2Zmc2V0KCkpfSl9cmV0dXJuIGV9X3RvU2hpZnRlZEludGVydmFscyh0KXtsZXQgZSxzLG4sYSxvPXRoaXMuX2JhcnNTdGFydE1zLGQ9MCxfPTAsZj0wO2NvbnN0IFM9KDAsci50aW1lX3NlY29uZHMpKHRoaXMuX3BlcmlvZFNlYyk7bGV0IGw9ITEsaD0wLHU9MDtjb25zdCBjPVtdO2ZvcihsZXQgcj0wO3I8dC5sZW5ndGg7cisrKXtjb25zdCBnPXRbcl07ZT10aGlzLl9vZmZzZXRUb01zKGcuc3RhcnRPZmZzZXQoKSkscz10aGlzLl9vZmZzZXRUb01zKGcuZW5kT2Zmc2V0KCkpLHI+MCYmKG89ZS1mLGQrPV8pO2NvbnN0IE89cy1vO189KDAsaS50b0ludCkoTy9TKSxmPU8lUyxuPWw/aDplLGw9Zj4wLGw/KHU8cyYmKGg9cy1mLHU9dGhpcy5fY2FsY3VsYXRlVGhyb3VnaEJhckVuZChTLWYscisxLHQpKSxhPXUpOmE9cyxjLnB1c2goe3N0YXJ0TXM6ZSxlbmRNczpzLGJhcnNTdGFydE1zOm8sZmlyc3RCYXJTdGFydE1zOm4sbGFzdEJhckVuZE1zOmEsaW5kZXhPZmZzZXQ6ZH0pfXJldHVybiBjfV9jYWxjdWxhdGVUaHJvdWdoQmFyRW5kKHQsZSxzKXtmb3IobGV0IHI9ZTtyPHMubGVuZ3RoO3IrKyl7Y29uc3QgZT1zW3JdLG49NjAqZS5sZW5ndGgoKSoxZTM7aWYoISh0Pm4pKXJldHVybiB0aGlzLl9vZmZzZXRUb01zKGUuc3RhcnRPZmZzZXQoKSkrdDt0LT1ufXJldHVybiB0aGlzLl9zZXNzaW9uRW5kTXN9fXZhciB1PXMoMTM4NjM4KSxjPXMoMzA4MjEpO2NvbnN0IGc9KDAsci5nZXRfdGltZXpvbmUpKCJFdGMvVVRDIik7ZnVuY3Rpb24gTyh0LGUscyl7Y29uc3Qgbj0oMCxyLmNsb25lKShlKSxpPXQuYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMobiwxKTtpPjEmJigwLHIuYWRkX2RhdGUpKG4saS0xKTtjb25zdCBhPXQubGVmdEJvcmRlck9mRGFpbHlCYXIobik7aWYobnVsbD09PWEpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgY2FsY3VsYXRlIGxlZnQgYm9yZGVyIG9mIGRhaWx5IGJhciIpO3JldHVybigwLHIuY2FsX3RvX3V0YykocyxhLCEwKX1jbGFzcyBFe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5mcm9tPXQsdGhpcy50bz1lfXRvU3RyaW5nKCl7cmV0dXJuYCR7dGhpcy5mcm9tLnRvU3RyaW5nKCl9IC0gJHt0aGlzLnRvLnRvU3RyaW5nKCl9YH19Y2xhc3MgQiBleHRlbmRzIGEuQmFyQnVpbGRlckJhc2V7Y29uc3RydWN0b3IodCxlLHMscixuPSExKXtzdXBlcigpLHRoaXMuX3BlcmlvZFN0YXJ0PS1OdW1iZXIuTUFYX1ZBTFVFLHRoaXMuX3BlcmlvZEVuZD0tTnVtYmVyLk1BWF9WQUxVRSx0aGlzLl9wZXJpb2RMYXN0QmFyU3RhcnQ9LU51bWJlci5NQVhfVkFMVUUsdGhpcy5fcGVyaW9kU3RhcnREYXk9bmV3IGMuQnVzaW5lc3NEYXkoMCwwLDApLHRoaXMuX3BlcmlvZEVuZERheT1uZXcgYy5CdXNpbmVzc0RheSgwLDAsMCksdGhpcy5fcGVyaW9kPXMsdGhpcy5fc2Vzc2lvblRndD10LHRoaXMuX2J1aWxkZXI9cix0aGlzLl91c2VCdXNpbmVzc0RheXM9bixuPygoMCwKdS5hc3NlcnQpKG51bGw9PT1lLCJ1c2VCdXNpbmVzc0RheXMgYW5kIHNlc3Npb25TcmMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSBhcmd1bWVudHMiKSx0aGlzLl9zZXNzaW9uU3JjPW5ldyBhLlNlc3Npb25JbmZvKCJFdGMvVVRDIiwiMjR4NyIpKTp0aGlzLl9zZXNzaW9uU3JjPWV8fHR9YnVpbGRlcigpe3JldHVybiB0aGlzLl9idWlsZGVyfWFsaWduVGltZUlmUG9zc2libGUodCl7cmV0dXJuIHRoaXMudHJhZGluZ0RheVRvU2Vzc2lvblN0YXJ0KHQpfXRyYWRpbmdEYXlUb1Nlc3Npb25TdGFydCh0KXtyZXR1cm4gdGhpcy5tb3ZlVG8odCksdGhpcy5zdGFydE9mQmFyKDApfWluZGV4T2ZCYXIodCl7aWYodGhpcy5fdXNlQnVzaW5lc3NEYXlzKXtjb25zdCBlPWMuQnVzaW5lc3NEYXkuZnJvbUNhbGVuZGFyKCgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKSh0aGlzLl9zZXNzaW9uU3JjLnRpbWV6b25lLHQpKTtyZXR1cm4gZS5iZWZvcmUodGhpcy5fcGVyaW9kU3RhcnREYXkpP28uU2Vzc2lvblN0YWdlLlBSRV9TRVNTSU9OOnRoaXMuX3BlcmlvZEVuZERheS5iZWZvcmUoZSk/by5TZXNzaW9uU3RhZ2UuUE9TVF9TRVNTSU9OOjB9cmV0dXJuIHQ8dGhpcy5fcGVyaW9kU3RhcnQ/by5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT046dD49dGhpcy5fcGVyaW9kRW5kP28uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTjowfXN0YXJ0T2ZCYXIodCl7aWYodD09PW8uU2Vzc2lvblN0YWdlLlBSRV9TRVNTSU9OKXtjb25zdCB0PSgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKSh0aGlzLl9zZXNzaW9uVGd0LnRpbWV6b25lLHRoaXMuX3BlcmlvZFN0YXJ0LTEpLGU9dGhpcy5fc2Vzc2lvblRndC5zcGVjLmFsaWduVG9OZWFyZXN0U2Vzc2lvbkVuZCh0LC0xKTtyZXR1cm4oMCxyLmNhbF90b191dGMpKHRoaXMuX3Nlc3Npb25UZ3QudGltZXpvbmUsZSktMX1yZXR1cm4gdD09PW8uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTnx8dD4wP3RoaXMuX3BlcmlvZEVuZDp0PT09by5TZXNzaW9uU3RhZ2UuTEFTVEJBUl9TRVNTSU9OP3RoaXMuX3BlcmlvZExhc3RCYXJTdGFydDp0aGlzLl9wZXJpb2RTdGFydH1tb3ZlVG8odCl7bGV0IGU9KDAsci5nZXRfY2FsX2Zyb21fdW5peF90aW1lc3RhbXBfbXMpKHRoaXMuX3Nlc3Npb25TcmMudGltZXpvbmUsdCk7ZT10aGlzLl9zZXNzaW9uU3JjLnNwZWMuY29ycmVjdFRyYWRpbmdEYXkoZSk7Y29uc3Qgcz0oMCxyLmdldF95ZWFyKShlKSxuPXRoaXMuX2luZGV4T2ZQZXJpb2RJblllYXIoZSksaT1uK3RoaXMuX3BlcmlvZCxhPXRoaXMuX3Nlc3Npb25UZ3Quc3BlYyxvPXRoaXMuX3Nlc3Npb25UZ3QudGltZXpvbmUsZD10aGlzLl9idWlsZGVyLnN0YXJ0T2ZQZXJpb2QobixzKTt0aGlzLl9wZXJpb2RTdGFydD1PKGEsZCxvKTtjb25zdCBfPWEuYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMoZCwxKTtfPjEmJigwLHIuYWRkX2RhdGUpKGQsXy0xKSx0aGlzLl9wZXJpb2RTdGFydERheT1jLkJ1c2luZXNzRGF5LmZyb21DYWxlbmRhcihkKTtsZXQgZj10aGlzLl9idWlsZGVyLnN0YXJ0T2ZQZXJpb2QoaSxzKTt0aGlzLl9wZXJpb2RFbmQ9TyhhLGYsbyk7Y29uc3QgUz0oMCxyLmNsb25lKShmKTtmb3IoKDAsci5hZGRfZGF0ZSkoUywtMSk7YS5pc0NhbFdlZWtFbmQoUyk7KSgwLHIuYWRkX2RhdGUpKFMsLTEpO3RoaXMuX3BlcmlvZEVuZERheT1jLkJ1c2luZXNzRGF5LmZyb21DYWxlbmRhcihTKSwoMCxyLmFkZF9kYXRlKShmLC0xKSxmPWZ1bmN0aW9uKHQsZSl7Y29uc3Qgcz0oMCxyLmNsb25lKShlKTtmb3IoO3QuaXNDYWxXZWVrRW5kKHMpOykoMCxyLmFkZF9kYXRlKShzLC0xKTtyZXR1cm4gc30odGhpcy5fc2Vzc2lvblRndC5zcGVjLGYpLHRoaXMuX3BlcmlvZExhc3RCYXJTdGFydD1PKGEsZixvKSwodGhpcy5fcGVyaW9kTGFzdEJhclN0YXJ0PHRoaXMuX3BlcmlvZFN0YXJ0fHx0aGlzLl9wZXJpb2RMYXN0QmFyU3RhcnQ9PT10aGlzLl9wZXJpb2RFbmQpJiYodGhpcy5fcGVyaW9kTGFzdEJhclN0YXJ0PXRoaXMuX3BlcmlvZFN0YXJ0KX1lbmRPZkJhcih0KXtyZXR1cm4gdD09PW8uU2Vzc2lvblN0YWdlLkxBU1RfU0VTU0lPTl9FTkQ/dGhpcy5fZ2V0Wm9uZWREYXRlVGltZU9mQm9yZGVyKG8uU2Vzc2lvblN0YWdlLkxBU1RfU0VTU0lPTl9FTkQpLmdldFRpbWUoKSsxZTM6KCgwLHUuYXNzZXJ0KSgwPT09dCksdGhpcy5fcGVyaW9kRW5kKX1pc0xhc3RCYXIodCxlKXtpZigwIT09dCl0aHJvdyBuZXcgRXJyb3IoImluZGV4IHNob3VsZCBiZSAwIik7cmV0dXJuIGU+PXRoaXMuX3BlcmlvZExhc3RCYXJTdGFydH1tb3ZlQmFyc0ZvcndhcmQodCxlKXsoMCx1LmFzc2VydCkoZT4wKTtjb25zdCBzPSgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKSh0aGlzLl9zZXNzaW9uVGd0LnRpbWV6b25lLHQpO2xldCBuPXRoaXMuX3Nlc3Npb25UZ3Quc3BlYy5jb3JyZWN0VHJhZGluZ0RheShzKTtmb3IobGV0IHQ9MDt0PGU7dCsrKXtjb25zdCB0PXRoaXMuX3BlcmlvZCt0aGlzLl9idWlsZGVyLmluZGV4T2ZQZXJpb2Qobik7bj10aGlzLl9idWlsZGVyLnN0YXJ0T2ZQZXJpb2QodCwoMCxyLmdldF95ZWFyKShuKSksbj10aGlzLl9zZXNzaW9uVGd0LnNwZWMuY29ycmVjdFRyYWRpbmdEYXkobil9cmV0dXJuIHRoaXMubW92ZVRvKCgwLHIuY2FsX3RvX3V0YykodGhpcy5fc2Vzc2lvblRndC50aW1lem9uZSxuKSksdGhpcy5zdGFydE9mQmFyKDApfWN1cnJlbnRSYW5nZSgpe3JldHVybiBuZXcgRSh0aGlzLl9wZXJpb2RTdGFydERheSx0aGlzLl9wZXJpb2RFbmREYXkpfWluZGV4T2ZCYXJJblllYXIodCl7Y29uc3QgZT0oMCxyLmdldF9jYWxfZnJvbV91bml4X3RpbWVzdGFtcF9tcykodGhpcy5fc2Vzc2lvblNyYy50aW1lem9uZSx0KSxzPSgwLHIuZ2V0X3llYXIpKGUpLG49dGhpcy5fYnVpbGRlci5pbmRleE9mUGVyaW9kKGUpLGE9dGhpcy5fc2Vzc2lvblRndC50aW1lem9uZTtsZXQgbz10aGlzLl9idWlsZGVyLnN0YXJ0T2ZQZXJpb2QobixzKSxkPU8odGhpcy5fc2Vzc2lvblRndC5zcGVjLG8sYSk7cmV0dXJuIG89KDAsCnIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKShnLGQpLHM8KDAsci5nZXRfeWVhcikobyk/KG89dGhpcy5fYnVpbGRlci5zdGFydE9mUGVyaW9kKG4tMSxzKSxkPU8odGhpcy5fc2Vzc2lvblRndC5zcGVjLG8sYSkse2luZGV4OihuLTEpL3RoaXMuX3BlcmlvZCx0aW1lOmR9KTp7aW5kZXg6KDAsaS50b0ludCkobi90aGlzLl9wZXJpb2QpLHRpbWU6ZH19c2Vzc2lvblNyYygpe3JldHVybiB0aGlzLl9zZXNzaW9uU3JjfXNlc3Npb25UZ3QoKXtyZXR1cm4gdGhpcy5fc2Vzc2lvblRndH1zdGF0aWMgZGF5cyh0LGUscyl7cmV0dXJuIG5ldyBCKGUscyx0LG5ldyBwKGUpLCExKX1zdGF0aWMgd2Vla3ModCxlLHMpe3JldHVybiBuZXcgQihlLHMsdCxuZXcgTihlKSwhMSl9c3RhdGljIG1vbnRocyh0LGUscyl7cmV0dXJuIG5ldyBCKGUscyx0LG5ldyBiKGUpLCExKX1zdGF0aWMgZGF5c0Zyb21CdXNpbmVzc0RheXModCxlKXtyZXR1cm4gbmV3IEIoZSxudWxsLHQsbmV3IHAoZSksITApfXN0YXRpYyB3ZWVrc0Zyb21CdXNpbmVzc0RheXModCxlKXtyZXR1cm4gbmV3IEIoZSxudWxsLHQsbmV3IE4oZSksITApfXN0YXRpYyBtb250aHNGcm9tQnVzaW5lc3NEYXlzKHQsZSl7cmV0dXJuIG5ldyBCKGUsbnVsbCx0LG5ldyBiKGUpLCEwKX1fZ2V0Wm9uZWREYXRlVGltZU9mQm9yZGVyKHQpeygwLHUuYXNzZXJ0KSh0PT09by5TZXNzaW9uU3RhZ2UuRklSU1RfU0VTU0lPTl9TVEFSVHx8dD09PW8uU2Vzc2lvblN0YWdlLkxBU1RfU0VTU0lPTl9FTkQpO2NvbnN0IGU9dGhpcy5fc2Vzc2lvblRndC5zcGVjLnRpbWV6b25lT2JqKCk7aWYodD09PW8uU2Vzc2lvblN0YWdlLkZJUlNUX1NFU1NJT05fU1RBUlQpe2NvbnN0IHQ9dGhpcy5jdXJyZW50UmFuZ2UoKS5mcm9tLnRvQ2FsZW5kYXIoZSk7cmV0dXJuKDAsdS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXNzaW9uVGd0LnNwZWMuYm9yZGVyc09mRGFpbHlCYXIodCkpLmZyb219e2NvbnN0IHQ9dGhpcy5jdXJyZW50UmFuZ2UoKS50by50b0NhbGVuZGFyKGUpO3JldHVybigwLHUuZW5zdXJlTm90TnVsbCkodGhpcy5fc2Vzc2lvblRndC5zcGVjLmJvcmRlcnNPZkRhaWx5QmFyKHQpKS50b319X2luZGV4T2ZQZXJpb2RJblllYXIodCl7Y29uc3QgZT10aGlzLl9idWlsZGVyLmluZGV4T2ZQZXJpb2QodCk7bGV0IHM9KDAsaS50b0ludCkoZS90aGlzLl9wZXJpb2QpKnRoaXMuX3BlcmlvZDtyZXR1cm4tMT09PWUmJihzPS10aGlzLl9wZXJpb2QpLHN9fWZ1bmN0aW9uIEkodCxlKXtjb25zdCBzPXQuZ2V0V2Vla0luZGV4KGUpLG49KDAsci5nZXRfZGF5X29mX3dlZWspKGUpLXQuZ2V0RW50cmllc0ZvcldlZWsocykuZmlyc3REYXlPZldlZWsoKTtyZXR1cm4gbjwwP24rNzpufWZ1bmN0aW9uIHgodCxlKXtjb25zdCBzPSgwLHIuZ2V0X2RheV9vZl95ZWFyKShlKS0xO2xldCBuPUkodCxlKS1zJTc7cmV0dXJuIDA9PT1uPygwLGkudG9JbnQpKHMvNyk6KG4+PTAmJihuLT03KSwoMCxpLnRvSW50KSgobitzKS83KSl9Y2xhc3MgeXtpbmRleE9mUGVyaW9kKHQpe3JldHVybigwLHIuZ2V0X2RheV9vZl95ZWFyKSh0KS0xfXN0YXJ0T2ZQZXJpb2QodCxlKXtjb25zdCBzPSgwLHIuZGF5c19wZXJfeWVhcikoZSk7cmV0dXJuKDAsci5nZXRfY2FsKShnLGUsci5KQU5VQVJZLDErTWF0aC5taW4odCxzKSl9fWNsYXNzIE0gZXh0ZW5kcyB5e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5fc2Vzc2lvbnNTcGVjPXR9aW5kZXhPZlBlcmlvZCh0KXtyZXR1cm4gc3VwZXIuaW5kZXhPZlBlcmlvZCh0KS1mdW5jdGlvbih0LGUpe2NvbnN0IHM9eCh0LGUpLG49KDAsci5nZXRfY2FsKShnLCgwLHIuZ2V0X3llYXIpKGUpLHIuSkFOVUFSWSwxKTsoMCxyLmFkZF9kYXRlKShuLDcqcyk7Y29uc3QgaT1zKnQud2Vla0VuZHNDb3VudEZvclNpbmdsZVNlc3Npb24oKSt0LmhvbGlkYXlzRnJvbVllYXJTdGFydChuKSxhPSgwLHIuZ2V0X2RheV9vZl95ZWFyKShlKS0oMCxyLmdldF9kYXlfb2ZfeWVhcikobik7cmV0dXJuIGkrYS10LmNhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKG4sYSl9KHRoaXMuX3Nlc3Npb25zU3BlYyx0KX1zdGFydE9mUGVyaW9kKHQsZSl7Y29uc3Qgcz03LXRoaXMuX3Nlc3Npb25zU3BlYy53ZWVrRW5kc0NvdW50Rm9yU2luZ2xlU2Vzc2lvbigpLG49TWF0aC5tYXgoMCxNYXRoLnRydW5jKHQvcyktMSksaT0oMCxyLmdldF9jYWwpKGcsZSxyLkpBTlVBUlksMSksYT0oMCxyLmRheXNfcGVyX3llYXIpKGUpO2lmKCgwLHIuYWRkX2RhdGUpKGksNypuKSwodC09cypuLXRoaXMuX3Nlc3Npb25zU3BlYy5ob2xpZGF5c0Zyb21ZZWFyU3RhcnQoaSkpPjApe2NvbnN0IGU9dGhpcy5fc2Vzc2lvbnNTcGVjLmJ1c2luZXNzRGF5c1RvQ2FsZW5kYXJEYXlzKGksdCk7KDAsci5hZGRfZGF0ZSkoaSxlKX1sZXQgbz0oMCxyLmdldF9kYXlfb2ZfeWVhcikoaSktMTtyZXR1cm4gZTwoMCxyLmdldF95ZWFyKShpKSYmKG8rPWEpLHN1cGVyLnN0YXJ0T2ZQZXJpb2QobyxlKX19Y2xhc3MgbSBleHRlbmRzIHl7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLl9zZXNzaW9uc1NwZWM9dH1pbmRleE9mUGVyaW9kKHQpe3JldHVybiBzdXBlci5pbmRleE9mUGVyaW9kKHQpLXRoaXMuX3Nlc3Npb25zU3BlYy5kYXlzT2ZmRnJvbVllYXJTdGFydCh0KX1zdGFydE9mUGVyaW9kKHQsZSl7Y29uc3Qgcz0oMCxyLmdldF9jYWwpKGcsZSxyLkpBTlVBUlksMSk7KDAsci5hZGRfZGF0ZSkocyx0KTtjb25zdCBuPXRoaXMuX3Nlc3Npb25zU3BlYy5kYXlzT2ZmRnJvbVllYXJTdGFydChzKTsoMCxyLmFkZF9kYXRlKShzLG4pO2NvbnN0IGk9dGhpcy5fc2Vzc2lvbnNTcGVjLmRheXNPZmZGcm9tWWVhclN0YXJ0KHMpLW47aWYoaT4wKXtjb25zdCB0PXRoaXMuX3Nlc3Npb25zU3BlYy5idXNpbmVzc0RheXNUb0NhbGVuZGFyRGF5cyhzLGkpOygwLHIuYWRkX2RhdGUpKHMsdCl9bGV0IGE9KDAsci5nZXRfZGF5X29mX3llYXIpKHMpLTE7aWYoZTwoMCxyLmdldF95ZWFyKShzKSl7YSs9KDAsci5kYXlzX3Blcl95ZWFyKShlKX1yZXR1cm4gc3VwZXIuc3RhcnRPZlBlcmlvZChhLGUpfX1jbGFzcyBwe2NvbnN0cnVjdG9yKHQpewp0aGlzLl9idWlsZGVyPW51bGwsdGhpcy5faW5pdGlhbGl6ZWQ9ITEsdGhpcy5fc2Vzc2lvbj10fWluZGV4T2ZQZXJpb2QodCl7cmV0dXJuIHRoaXMuX2dldEJ1aWxkZXIoKS5pbmRleE9mUGVyaW9kKHQpfXN0YXJ0T2ZQZXJpb2QodCxlKXtyZXR1cm4gdGhpcy5fZ2V0QnVpbGRlcigpLnN0YXJ0T2ZQZXJpb2QodCxlKX1fZ2V0QnVpbGRlcigpe3JldHVybiBudWxsIT09dGhpcy5fYnVpbGRlciYmdGhpcy5faW5pdGlhbGl6ZWR8fCh0aGlzLl9zZXNzaW9uLnNwZWMuaGFzV2Vla0VuZHMoKT90aGlzLl9idWlsZGVyPXRoaXMuX3Nlc3Npb24uc3BlYy5oYXNIaXN0b3J5Q29ycmVjdGlvbnMoKT9uZXcgbSh0aGlzLl9zZXNzaW9uLnNwZWMpOm5ldyBNKHRoaXMuX3Nlc3Npb24uc3BlYyk6dGhpcy5fYnVpbGRlcj10aGlzLl9zZXNzaW9uLnNwZWMuaGFzSGlzdG9yeUNvcnJlY3Rpb25zKCk/bmV3IG0odGhpcy5fc2Vzc2lvbi5zcGVjKTpuZXcgeSx0aGlzLl9pbml0aWFsaXplZD0hMCksdGhpcy5fYnVpbGRlcn19Y2xhc3MgVHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9zcGVjPXR9aW5kZXhPZlBlcmlvZCh0KXtsZXQgZT14KHRoaXMuX3NwZWMsdCk7cmV0dXJuIDA9PT1lJiZ0LmdldFRpbWUoKTx0aGlzLnN0YXJ0T2ZQZXJpb2QoMCwoMCxyLmdldF95ZWFyKSh0KSkuZ2V0VGltZSgpJiYoZT0tMSksZX1zdGFydE9mUGVyaW9kKHQsZSl7aWYodDwwKXtlLS07Y29uc3Qgcz0oMCxyLmdldF9jYWwpKGcsZSxyLkRFQ0VNQkVSLDMxLDIzLDU5LDU5KSxuPXRoaXMuaW5kZXhPZlBlcmlvZChzKSxpPS0xKnQsYT1NYXRoLnRydW5jKG4vaSkqaTtyZXR1cm4gdGhpcy5zdGFydE9mUGVyaW9kKGEsZSl9Y29uc3Qgcz0oMCxyLmdldF9jYWwpKGcsZSxyLkpBTlVBUlksMSksbj1JKHRoaXMuX3NwZWMscyksaT0wPT09bj83KnQ6NyoodCsxKS1uO3JldHVybiBpPigwLHIuZGF5c19wZXJfeWVhcikoKDAsci5nZXRfeWVhcikocykpP3RoaXMuc3RhcnRPZlBlcmlvZCgwLGUrMSk6KCgwLHIuYWRkX2RhdGUpKHMsaSkscyl9fWNsYXNzIGt7Y29uc3RydWN0b3IodCl7dGhpcy5feWVhclN0YXJ0RGF0YUhhc2g9bmV3IE1hcCx0aGlzLl9zcGVjPXR9c3RhcnRPZlBlcmlvZCh0LGUpe2lmKHQ8MCl7ZS0tO2NvbnN0IHM9KDAsci5nZXRfY2FsKShnLGUsci5ERUNFTUJFUiwzMSwyMyw1OSw1OSksbj10aGlzLmluZGV4T2ZQZXJpb2QocyksaT0tMSp0LGE9TWF0aC50cnVuYyhuL2kpKmk7cmV0dXJuIHRoaXMuc3RhcnRPZlBlcmlvZChhLGUpfWNvbnN0IHM9dGhpcy5fc3BlYy5nZXRXZWVrSW5kaWNlc1dpdGhBZGRpdGlvbmFsV2Vla0JhcnMoZSksbj10aGlzLl9nZXRTdGFydE9mWWVhckRhdGEoZSxzKSxpPXRoaXMuX21vdmVUb1dlZWtJbmRleEFjY291bnRpbmdBZGRpdGlvbmFsKG4uZmlyc3RXZWVrSW5kZXgscyx0KSxhPTcqKGktbi5maXJzdFdlZWtJbmRleCk7bGV0IG89KDAsci5jbG9uZSkoKDAsdS5lbnN1cmVOb3ROdWxsKShuLnN0YXJ0T2ZGaXJzdEJhckluWWVhcikpO2lmKCgwLHIuYWRkX2RhdGUpKG8sYSksKDAsci5nZXRfeWVhcikobyk+ZSl7Y29uc3QgdD1lKzEscz10aGlzLl9zcGVjLmdldFdlZWtJbmRpY2VzV2l0aEFkZGl0aW9uYWxXZWVrQmFycyh0KSxyPXRoaXMuX2dldFN0YXJ0T2ZZZWFyRGF0YSh0LHMpO2lmKG8uZ2V0VGltZSgpPj0oMCx1LmVuc3VyZU5vdE51bGwpKHIuc3RhcnRPZkZpcnN0QmFySW5ZZWFyKS5nZXRUaW1lKCkpcmV0dXJuIHRoaXMuc3RhcnRPZlBlcmlvZCgwLHQpfXJldHVybiBvPXRoaXMuX2NhbGN1bGF0ZUJhcldlZWtTdGFydChvLHMsaSx0KSxvfWluZGV4T2ZQZXJpb2QodCl7Y29uc3QgZT10aGlzLl9zcGVjLmdldFdlZWtJbmRleCh0KSxzPXRoaXMuX3NwZWMuZ2V0V2Vla0luZGljZXNXaXRoQWRkaXRpb25hbFdlZWtCYXJzKCgwLHIuZ2V0X3llYXIpKHQpKSxuPXRoaXMuX2dldFN0YXJ0T2ZZZWFyRGF0YSgoMCxyLmdldF95ZWFyKSh0KSxzKTtpZih0LmdldFRpbWUoKTwoMCx1LmVuc3VyZU5vdE51bGwpKG4uc3RhcnRPZkZpcnN0QmFySW5ZZWFyKS5nZXRUaW1lKCkpcmV0dXJuLTE7aWYoMD09PWUmJmsuaXNPbkZpcnN0Q2FsZW5kYXJXZWVrT2ZZZWFyKHQpfHwwIT09ZSYmZT09PW4uZmlyc3RXZWVrSW5kZXgpcmV0dXJuIHRoaXMuX2NhbGN1bGF0ZUxhc3RXZWVrKHQsZSxzLG4uZmlyc3RXZWVrYmFyc0NvdW50KS0xO2xldCBpPXRoaXMuX251bWJlck9mQ2FsZW5kYXJXZWVrcyh0KTtyZXR1cm4gaSs9bi5maXJzdFdlZWtiYXJzQ291bnQtbi5mdWxsV2Vla3NBZGp1c3RtZW50LGkrPXRoaXMuX2NhbGN1bGF0ZVdlZWtzV2l0aEV4dHJhQmFyKGUscyxuLmZpcnN0V2Vla0luZGV4KSxpKz10aGlzLl9jYWxjdWxhdGVMYXN0V2Vlayh0LGUscyxrLmZ1bGxXZWVrT2ZBZGRpdGlvbmFsQmFyc0NvdW50KS0xLGl9c3RhdGljIGlzT25GaXJzdENhbGVuZGFyV2Vla09mWWVhcih0KXtpZigoMCxyLmdldF9kYXlfb2ZfeWVhcikodCk+ci5MQVNUX0RBWV9PRl9XRUVLKXJldHVybiExO2NvbnN0IGU9KDAsci5nZXRfY2FsKShnLCgwLHIuZ2V0X3llYXIpKHQpLHIuSkFOVUFSWSwxLDAsMCkscz0oMCxyLmNsb25lKShlKTtyZXR1cm4oMCxyLmFkZF9kYXRlKShzLHIuTEFTVF9EQVlfT0ZfV0VFSy0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSkpLHQuZ2V0VGltZSgpPHMuZ2V0VGltZSgpfV9tb3ZlVG9XZWVrSW5kZXhBY2NvdW50aW5nQWRkaXRpb25hbCh0LGUscyl7bGV0IHI9dCtzO2Zvcihjb25zdCBzIG9mIGUpaWYoIShzLndlZWtJbmRleDx0KSl7aWYocy53ZWVrSW5kZXg+PXIpYnJlYWs7ci0tfXJldHVybiByfV9jYWxjdWxhdGVCYXJXZWVrU3RhcnQodCxlLHMsbil7Y29uc3QgaT10aGlzLl9nZXRJbmRleE9mV2Vla1dpdGhFeHRyYUJhcklmRXhpc3RzKGUscyk7aWYobnVsbD09PWkpe2NvbnN0IGU9dGhpcy5fc3BlYy5nZXRFbnRyaWVzRm9yV2VlayhzKS5maXJzdERheU9mV2VlaygpLSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KSxuPSgwLHIuY2xvbmUpKHQpO3JldHVybigwLHIuYWRkX2RhdGUpKG4sZSksbn1jb25zdCBhPXRoaXMuX3NwZWMuZ2V0SGlzdG9yeUJ5SW5kZXgoaS5lbnRyeUluZGV4KQo7aWYodGhpcy5pbmRleE9mUGVyaW9kKCgwLHUuZW5zdXJlTm90TnVsbCkoYS5nZXRTdGFydERheSgpKSk9PT1uKXJldHVybigwLHIuY2xvbmUpKCgwLHUuZW5zdXJlTm90TnVsbCkoYS5nZXRTdGFydERheSgpKSk7Y29uc3Qgbz10aGlzLl9zcGVjLmdldEhpc3RvcnlCeUluZGV4KGkuZW50cnlJbmRleC0xKS5nZXRFbnRyaWVzKCkuZmlyc3REYXlPZldlZWsoKS0oMCxyLmdldF9kYXlfb2Zfd2VlaykodCksZD0oMCxyLmNsb25lKSh0KTtyZXR1cm4oMCxyLmFkZF9kYXRlKShkLG8pLGR9X251bWJlck9mQ2FsZW5kYXJXZWVrcyh0KXtjb25zdCBlPSgwLHIuZ2V0X2RheV9vZl95ZWFyKSh0KSxzPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KTtyZXR1cm4gTWF0aC50cnVuYygoZS1zKS83KX1fZ2V0U3RhcnRPZlllYXJEYXRhKHQsZSl7bGV0IHM9dGhpcy5feWVhclN0YXJ0RGF0YUhhc2guZ2V0KHQpO2lmKHZvaWQgMCE9PXMpcmV0dXJuIHM7bGV0IG49KDAsci5nZXRfY2FsKShnLHQsci5KQU5VQVJZLDEsMCwwKSxpPXRoaXMuX3NwZWMuZ2V0V2Vla0luZGV4KG4pLGE9MDtmb3IoKDAsci5nZXRfZGF5X29mX3dlZWspKG4pPT09ci5GSVJTVF9EQVlfT0ZfV0VFSyYmKGE9MSkscz10aGlzLl9nZXRZZWFyU3RhcnREYXRhRnJvbVdlZWsoZSxpLG4pO251bGw9PT1zLnN0YXJ0T2ZGaXJzdEJhckluWWVhcjspaSsrLGErKyxuPXRoaXMuX21vdmVUb05leHRDYWxlbmRhcldlZWtTdGFydChuKSxzPXRoaXMuX2dldFllYXJTdGFydERhdGFGcm9tV2VlayhlLGksbik7cmV0dXJuIHMuZnVsbFdlZWtzQWRqdXN0bWVudD1hLHRoaXMuX3llYXJTdGFydERhdGFIYXNoLnNldCh0LHMpLHN9X21vdmVUb05leHRDYWxlbmRhcldlZWtTdGFydCh0KXtjb25zdCBlPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KSxzPSgwLHIuY2xvbmUpKHQpO3JldHVybigwLHIuYWRkX2RhdGUpKHMsci5MQVNUX0RBWV9PRl9XRUVLLWUrMSksc31fZ2V0WWVhclN0YXJ0RGF0YUZyb21XZWVrKHQsZSxzKXtjb25zdCBuPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShzKTtsZXQgaT1udWxsLGE9MDtjb25zdCBvPXRoaXMuX2dldEluZGV4T2ZXZWVrV2l0aEV4dHJhQmFySWZFeGlzdHModCxlKTtpZihudWxsIT09byl7bGV0IHQ9dGhpcy5fc3BlYy5nZXRIaXN0b3J5QnlJbmRleChvLmVudHJ5SW5kZXgtMSkuZ2V0RW50cmllcygpLmZpcnN0RGF5T2ZXZWVrKCktbjtpZih0Pj0wKWk9KDAsci5jbG9uZSkocyksKDAsci5hZGRfZGF0ZSkoaSx0KSxhPTI7ZWxzZXtjb25zdCBlPXRoaXMuX3NwZWMuZ2V0SGlzdG9yeUJ5SW5kZXgoby5lbnRyeUluZGV4KTt0PWUuZ2V0RW50cmllcygpLmZpcnN0RGF5T2ZXZWVrKCktbix0Pj0wJiYoaT1lLmdldFN0YXJ0RGF5KCksaSYmKGk9KDAsci5jbG9uZSkoaSkpLGE9MSl9fWVsc2V7Y29uc3QgdD10aGlzLl9zcGVjLmdldEVudHJpZXNGb3JXZWVrKGUpLG89dC5maXJzdERheU9mV2VlaygpLW47bz49MCYmKHRoaXMuX2hhc1dvcmtpbmdEYXlzKHQpfHx0aGlzLl9oYXNXb3JraW5nRGF5c05leHRXZWVrKGUrMSkpJiYoaT0oMCxyLmNsb25lKShzKSwoMCxyLmFkZF9kYXRlKShpLG8pLGE9MSl9cmV0dXJue3N0YXJ0T2ZGaXJzdEJhckluWWVhcjppLGZpcnN0V2Vla0luZGV4OmUsZmlyc3RXZWVrYmFyc0NvdW50OmEsZnVsbFdlZWtzQWRqdXN0bWVudDowfX1faGFzV29ya2luZ0RheXModCl7aWYoMD09PXQuZW50cmllc0J5RGF5KCkuc2l6ZSlyZXR1cm4hMTtmb3IobGV0IGU9dC5maXJzdERheU9mV2VlaygpO2U8PXIuTEFTVF9EQVlfT0ZfV0VFSztlKyspaWYodm9pZCAwIT09dC5lbnRyaWVzQnlEYXkoKS5nZXQoZSkpcmV0dXJuITA7cmV0dXJuITF9X2hhc1dvcmtpbmdEYXlzTmV4dFdlZWsodCl7Y29uc3QgZT10aGlzLl9zcGVjLmdldEVudHJpZXNGb3JXZWVrKHQpO2ZvcihsZXQgdD0xO3Q8ZS5maXJzdERheU9mV2VlaygpO3QrKylpZih2b2lkIDAhPT1lLmVudHJpZXNCeURheSgpLmdldCh0KSlyZXR1cm4hMDtyZXR1cm4hMX1fY2FsY3VsYXRlV2Vla3NXaXRoRXh0cmFCYXIodCxlLHMpe2xldCByPTA7Zm9yKGNvbnN0IG4gb2YgZSl7aWYobi53ZWVrSW5kZXg+PXQpYnJlYWs7bi53ZWVrSW5kZXg+cyYmcisrfXJldHVybiByfV9jYWxjdWxhdGVMYXN0V2Vlayh0LGUscyxuKXtjb25zdCBpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KSxhPXRoaXMuX2dldEluZGV4T2ZXZWVrV2l0aEV4dHJhQmFySWZFeGlzdHMocyxlKTtpZihudWxsPT09YSl7cmV0dXJuIGktdGhpcy5fc3BlYy5nZXRFbnRyaWVzRm9yV2VlayhlKS5maXJzdERheU9mV2VlaygpPj0wPzE6MH1jb25zdCBvPXRoaXMuX3Bvc2l0aW9uSW5zaWRlV2Vla1dpdGhTZXZlcmFsQmFycyhhLGkpO3JldHVybiBvPT09ay5Jc0luTmV3U2Vzc2lvbj9uOm89PT1rLklzSW5NaWRTZXNzaW9uP24tMTowfV9nZXRJbmRleE9mV2Vla1dpdGhFeHRyYUJhcklmRXhpc3RzKHQsZSl7Zm9yKGNvbnN0IHMgb2YgdCl7aWYocy53ZWVrSW5kZXg9PT1lKXJldHVybiBzO2lmKHMud2Vla0luZGV4PmUpYnJlYWt9cmV0dXJuIG51bGx9X3Bvc2l0aW9uSW5zaWRlV2Vla1dpdGhTZXZlcmFsQmFycyh0LGUpe2xldCBzPXRoaXMuX3NwZWMuZ2V0SGlzdG9yeUJ5SW5kZXgodC5lbnRyeUluZGV4KS5nZXRFbnRyaWVzKCkuZmlyc3REYXlPZldlZWsoKS1lO2lmKHM8PTApcmV0dXJuIGsuSXNJbk5ld1Nlc3Npb247cmV0dXJuIHM9dGhpcy5fc3BlYy5nZXRIaXN0b3J5QnlJbmRleCh0LmVudHJ5SW5kZXgtMSkuZ2V0RW50cmllcygpLmZpcnN0RGF5T2ZXZWVrKCktZSxzPD0wP2suSXNJbk1pZFNlc3Npb246ay5Jc0JlZm9yZUFueVNlc3Npb259fWsuSXNCZWZvcmVBbnlTZXNzaW9uPS0xLGsuSXNJbk1pZFNlc3Npb249MCxrLklzSW5OZXdTZXNzaW9uPTEsay5mdWxsV2Vla09mQWRkaXRpb25hbEJhcnNDb3VudD0yO2NsYXNzIE57Y29uc3RydWN0b3IodCl7dGhpcy5fYnVpbGRlcj1udWxsLHRoaXMuX3Nlc3Npb249dH1pbmRleE9mUGVyaW9kKHQpe3JldHVybiB0aGlzLl9nZXRCdWlsZGVyKCkuaW5kZXhPZlBlcmlvZCh0KX1zdGFydE9mUGVyaW9kKHQsZSl7cmV0dXJuIHRoaXMuX2dldEJ1aWxkZXIoKS5zdGFydE9mUGVyaW9kKHQsZSkKfV9nZXRCdWlsZGVyKCl7cmV0dXJuIG51bGw9PXRoaXMuX2J1aWxkZXImJih0aGlzLl9idWlsZGVyPXRoaXMuX3Nlc3Npb24uc3BlYy5oYXNIaXN0b3J5Q29ycmVjdGlvbnMoKT9uZXcgayh0aGlzLl9zZXNzaW9uLnNwZWMpOm5ldyBUKHRoaXMuX3Nlc3Npb24uc3BlYykpLHRoaXMuX2J1aWxkZXJ9fWNsYXNzIGJ7Y29uc3RydWN0b3IodCl7dGhpcy5fc2Vzc2lvbj10fWluZGV4T2ZQZXJpb2QodCl7cmV0dXJuKDAsci5nZXRfbW9udGgpKHQpfXN0YXJ0T2ZQZXJpb2QodCxlKXtpZih0PDApe2NvbnN0IHM9KDAsaS50b0ludCkoKDExLXQpLzEyKTtlLT1zLHQrPTEyKnN9ZWxzZSB0PnIuREVDRU1CRVImJihlKyssdD1yLkpBTlVBUlkpO3JldHVybigwLHIuZ2V0X2NhbCkoZyxlLHQsMSl9fXZhciBELFc7ZnVuY3Rpb24gdyh0LGUscyxyPSExKXtjb25zdCBpPW4uSW50ZXJ2YWwucGFyc2UodCksYT1pLm11bHRpcGxpZXIoKTtyZXR1cm4gaS5pc01pbnV0ZXMoKT9oLm1pbnV0ZXMoYSxlKTppLmlzU2Vjb25kcygpP2guc2Vjb25kcyhhLGUpOmkuaXNUaWNrcygpP25ldyBoKDEsZSk6aS5pc1JhbmdlKCk/bmV3IGgoNjAqYSxlKTpuZXcgQihlLHM/P251bGwsYSxmdW5jdGlvbih0LGUpe3N3aXRjaCh0KXtjYXNlIG4uUmVzb2x1dGlvbktpbmQuRGF5czpyZXR1cm4gbmV3IHAoZSk7Y2FzZSBuLlJlc29sdXRpb25LaW5kLldlZWtzOnJldHVybiBuZXcgTihlKTtjYXNlIG4uUmVzb2x1dGlvbktpbmQuTW9udGhzOnJldHVybiBuZXcgYihlKX10aHJvdyBuZXcgRXJyb3IoYFVua25vd24gZHdtIHJlc29sdXRpb246ICR7dH1gKX0oaS5raW5kKCksZSkscil9ZnVuY3Rpb24gdih0LGUscyxpLG8sZCxfKXtjb25zdCBmPW4uSW50ZXJ2YWwucGFyc2UobytpKTtpZihmLmlzTW9udGhzKCkpe2NvbnN0IHQ9bmV3IERhdGUoZCksZT1uZXcgRGF0ZShfKTtsZXQgcz0xMiooZS5nZXRVVENGdWxsWWVhcigpLXQuZ2V0VVRDRnVsbFllYXIoKSk7cmV0dXJuIHMrPWUuZ2V0VVRDTW9udGgoKS10LmdldFVUQ01vbnRoKCksTWF0aC5jZWlsKHMvZi5tdWx0aXBsaWVyKCkpfWNvbnN0IFM9bmV3IGEuU2Vzc2lvbkluZm8oIkV0Yy9VVEMiLHQsZSxzKSxsPWYuaW5NaWxsaXNlY29uZHMoKTtsZXQgaDtpZihmLmlzRFdNKCkpaD04NjRlNTtlbHNle2NvbnN0IHQ9Uy5zcGVjLmdldFdlZWtJbmRleCgoMCxyLmdldF9jYWxfZnJvbV91bml4X3RpbWVzdGFtcF9tcykoUy50aW1lem9uZSxfKSk7aD02MCpTLnNwZWMuZ2V0RW50cmllc0ZvcldlZWsodCkubWF4VHJhZGluZ0RheUxlbmd0aCgpKjFlM31sZXQgdT0wO2lmKGYuaXNXZWVrcygpKXU9NztlbHNle2NvbnN0IHQ9Uy5zcGVjLmdldFdlZWtJbmRleCgoMCxyLmdldF9jYWxfZnJvbV91bml4X3RpbWVzdGFtcF9tcykoUy50aW1lem9uZSxfKSk7dT03LVMuc3BlYy5nZXRFbnRyaWVzRm9yV2Vlayh0KS53ZWVrRW5kc0NvdW50KCl9Y29uc3QgYz1fLWQsZz1oL2wsTz11Kmc7bGV0IEU9Yy84NjRlNSpnO0U+PU8mJihFPWMvNjA0OGU1Kk8pO3JldHVybiBFJTE8PU51bWJlci5FUFNJTE9OKk1hdGguY2VpbChFKT9NYXRoLnJvdW5kKEUpOk1hdGguY2VpbChFKX0hZnVuY3Rpb24odCl7dFt0LkFsaWduVG9GaXJzdERheT0wXT0iQWxpZ25Ub0ZpcnN0RGF5Iix0W3QuQWxpZ25Ub0Nsb3Nlc3REYXk9MV09IkFsaWduVG9DbG9zZXN0RGF5In0oRHx8KEQ9e30pKSxmdW5jdGlvbih0KXt0W3QuRD04NjRlNV09IkQiLHRbdC5XPTYwNDhlNV09IlcifShXfHwoVz17fSkpfSwyOTUxNCh0LGUscyl7dmFyIHI7cy5kKGUse1Nlc3Npb25TdGFnZTooKT0+cn0pLGZ1bmN0aW9uKHQpe3RbdC5QUkVfU0VTU0lPTj0tMV09IlBSRV9TRVNTSU9OIix0W3QuUE9TVF9TRVNTSU9OPS0yXT0iUE9TVF9TRVNTSU9OIix0W3QuTEFTVEJBUl9TRVNTSU9OPS0zXT0iTEFTVEJBUl9TRVNTSU9OIix0W3QuTEFTVF9TRVNTSU9OX0VORD0tNF09IkxBU1RfU0VTU0lPTl9FTkQiLHRbdC5GSVJTVF9TRVNTSU9OX1NUQVJUPS01XT0iRklSU1RfU0VTU0lPTl9TVEFSVCJ9KHJ8fChyPXt9KSl9LDc1OTI5OCh0LGUscyl7cy5kKGUse2V4dHJhcG9sYXRlQmFyc0Zyb250QnlDb3VudDooKT0+aSxleHRyYXBvbGF0ZUJhcnNGcm9udFRvVGltZTooKT0+bn0pO3ZhciByPXMoMjk1MTQpO2Z1bmN0aW9uIG4odCxlLHMscixpPSExKXtpZihlPnMpe2NvbnN0IGE9bih0LHMsZSxyLGkpO3JldHVybiBhLmNvdW50PS1hLmNvdW50LGF9cmV0dXJuIGEodCxlLDEsKCh0LGUpPT5lPnN8fDAhPT1yJiZ0PnIpLGkpfWZ1bmN0aW9uIGkodCxlLHMscj0hMSl7Y29uc3Qgbj1zPDA/LTE6MTtyZXR1cm4gYSh0LGUsbiwoKHQsZSk9PnQ+PXMqbikscil9ZnVuY3Rpb24gYSh0LGUscyxuLGkpe2xldCBhPTAsbz1lO3QubW92ZVRvKG8pO2xldCBkPTAsXz1OdW1iZXIuTUFYX1ZBTFVFLGY9ITEsUz1lO2NvbnN0IGw9W107bGV0IGg9ITE7Zm9yKDshbihhLG8pOyl7aWYoZD4xNSl0aHJvdyBuZXcgRXJyb3IoIkludGVybmFsIGVycm9yIDB4MTAgd2hpbGUgZXh0cmFwb2xhdGluZy4iKTtjb25zdCBuPXQuaW5kZXhPZkJhcihvKTtpZihuPT09ci5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT04mJjE9PT1zKW89dC5zdGFydE9mQmFyKDApLHQubW92ZVRvKG8pLGg9ITA7ZWxzZSBpZihuPT09ci5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT04mJi0xPT09cylvPXQuc3RhcnRPZkJhcihyLlNlc3Npb25TdGFnZS5QUkVfU0VTU0lPTiksdC5tb3ZlVG8obyksaD0hMDtlbHNlIGlmKG49PT1yLlNlc3Npb25TdGFnZS5QT1NUX1NFU1NJT04mJjE9PT1zKW89dC5zdGFydE9mQmFyKHIuU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTiksdC5tb3ZlVG8obyksaD0hMDtlbHNle2lmKG49PT1yLlNlc3Npb25TdGFnZS5QT1NUX1NFU1NJT04mJi0xPT09cyl0aHJvdyBuZXcgRXJyb3IoIkludGVybmFsIGVycm9yIDB4MTIgd2hpbGUgZXh0cmFwb2xhdGluZy4iKTt7Y29uc3QgdT10LnN0YXJ0T2ZCYXIobik7aWYodT5lJiZzPjAmJihofHwwIT09bil8fGU+dSYmczwwKXtpZihmJiZfPT09dSl0aHJvdyBuZXcgRXJyb3IoIkludGVybmFsIGVycm9yIDB4MTEgd2hpbGUgZXh0cmFwb2xhdGluZy4iKTtmPSEwLF89dSxkPTAsCmErKyxTPXUsaSYmbC5wdXNoKFMpfWlmKDE9PT1zKXtvPXQuZW5kT2ZCYXIobik7Y29uc3QgZT10LnN0YXJ0T2ZCYXIoci5TZXNzaW9uU3RhZ2UuUE9TVF9TRVNTSU9OKTtvPT09ZSYmKHQubW92ZVRvKGUpLG89dC5zdGFydE9mQmFyKDApLGg9ITApfWVsc2UgMD09PW4/KG89dC5zdGFydE9mQmFyKHIuU2Vzc2lvblN0YWdlLlBSRV9TRVNTSU9OKSx0Lm1vdmVUbyhvKSk6bz10LnN0YXJ0T2ZCYXIobi0xKX19ZCsrfXJldHVybnt0aW1lOlMsdGltZXM6bCxjb3VudDphfX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/59465.8e9c06b76c9d50bc242b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.166Z","timestamp":1785141584166,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/59465.8e9c06b76c9d50bc242b.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-1d791d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 99815fcae808df12a33835bf22b30675\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1931549,"size_decoded":548405,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"f8f27d4db01cfe50f3ffd3e990484148","sha1":"3c973ba80b7fd6d45633690af7aa0e4a3fba0645","sha256":"69c8983025d395ad464d6230d65cd7d0ff85eb063c00d6e250e809031f6e7aa0","sha512":"84aea9bbd1ac9e512fd30e2455d1ff25a9bdc2481f66a344af5bbe5e63d47fc51227ca65a24c8a36729c47e027201f6ebe950514126974b22312c1586671f9ed","ssdeep":"24576:fzalYAraWBQ4zQtuj0doGOpRYjjpQ78tGAzOJR/n43dFXOBmrmVUBsYdxS:fzalHraWqtuj0CpRYjjpQ7EGAzOJV43O","tlshash":"f1254ba3b36024ab97e911e548b51503e35818867807c66cf17c6cef25adc4932fafbd","first_seen":"2026-07-24T11:36:47.876406Z","last_seen":"2026-07-27T14:50:15.432941Z","times_seen":190,"resource_available":false,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s3Mjg1LDU5NDY1XSx7NTA2NDQ2KGUpe2UuZXhwb3J0cz17c2NyZWVuOiJzY3JlZW4taXdyOU90cHMiLGZhZGU6ImZhZGUtaXdyOU90cHMiLHNjcmVlbmZhZGU6InNjcmVlbmZhZGUtaXdyOU90cHMifX0sMjU5MTMyKGUpe2UuZXhwb3J0cz17fX0sODU2MTYoZSl7ZS5leHBvcnRzPXtjc3NfdmFsdWVfY3VycmVuY3lfbGFiZWxfcmFkaXVzOiI0Iixjc3Nfd3JhcHBlcl9tYXJnaW46IjQiLGNzc19yb3dfbGVmdF9yaWdodF9wYWRkaW5nOiIzIixjc3NfZmFkZV9oZWlnaHQ6IjEwIiwicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyIjoicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIixoaWRkZW46ImhpZGRlbi1iVENUUkNUaiIsInByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwiOiJwcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIixyb3c6InJvdy1iVENUUkNUaiIsZXhwYW5kZWQ6ImV4cGFuZGVkLWJUQ1RSQ1RqIiwicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1hcnJvdy1kb3duIjoicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1hcnJvdy1kb3duLWJUQ1RSQ1RqIiwicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC10ZXh0IjoicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC10ZXh0LWJUQ1RSQ1RqIn19LDE0NDExMihlKXtlLmV4cG9ydHM9e319LDYxNTUyNihlKXtlLmV4cG9ydHM9e319LDI3OTg0KGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS1jaGFydC1jb250cm9scy1iYXItaGVpZ2h0LXdpdGgtYm9yZGVyIjoiMzlweCIsImNzcy12YWx1ZS1jaGFydC1jb250cm9scy1iYXItYm9yZGVyIjoiMXB4In19LDI4MjcxMChlKXtlLmV4cG9ydHM9e2Nzc192YWx1ZV9jaGFydF9ndWlfd3JhcHBlcl9jb2x1bW5fZ2FwOiI0In19LDQwMjQzKGUpe2UuZXhwb3J0cz17Y2hhcnRzU3BsaXR0ZXI6ImNoYXJ0c1NwbGl0dGVyLXhxc2FPeDlDIixob3ZlcmVkOiJob3ZlcmVkLXhxc2FPeDlDIn19LDI5MDMyNChlKXtlLmV4cG9ydHM9e2ljb246Imljb24taXJBMG9hSDgifX0sMTI0MzM2KGUpe2UuZXhwb3J0cz17cGFuZVNlcGFyYXRvcjoicGFuZVNlcGFyYXRvci1haTlNWEo5ayIsaGFuZGxlOiJoYW5kbGUtYWk5TVhKOWsiLG1vYmlsZToibW9iaWxlLWFpOU1YSjlrIixob3ZlcmVkOiJob3ZlcmVkLWFpOU1YSjlrIixzZWxlY3RlZDoic2VsZWN0ZWQtYWk5TVhKOWsiLGFjdGl2ZToiYWN0aXZlLWFpOU1YSjlrIn19LDY5MjY0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0ZlYXR1cmVUb2dnbGVXYXRjaGVkVmFsdWU6KCk9PnJ9KTt2YXIgcz1pKDIzMjM2NCksbj1pKDU2OTM5OCk7Y2xhc3MgciBleHRlbmRzIHMuV2F0Y2hlZFZhbHVle2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZnVuY3Rpb24oZSl7cmV0dXJuKDAsbi5pc0ZlYXR1cmVFbmFibGVkKShlKX0oZSkpLCgwLG4ub25GZWF0dXJlc1N0YXRlQ2hhbmdlZCkoKS5zdWJzY3JpYmUodGhpcywodD0+e2U9PT10JiZ0aGlzLnNldFZhbHVlKCgwLG4uaXNGZWF0dXJlRW5hYmxlZCkoZSkpfSkpfWRlc3Ryb3koKXsoMCxuLm9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQpKCkudW5zdWJzY3JpYmVBbGwodGhpcyksc3VwZXIuZGVzdHJveSgpfX19LDE3OTc3MShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtlbWl0OigpPT5oLGVtaXRPbmNlOigpPT5kLG9uOigpPT5sLHN1YnNjcmliZTooKT0+Yyx1bnN1YnNjcmliZTooKT0+YX0pO3ZhciBzPWkoOTQ4MzgwKTtjb25zdCBuPXt9LHI9W10sbz17fTtmdW5jdGlvbiBhKGUsdCxpKXtuW2VdLnVuc3Vic2NyaWJlKGksdCl9ZnVuY3Rpb24gbChlLHQsaSl7YyhlLHQsaSl9ZnVuY3Rpb24gYyhlLHQsaSxyKXtuLmhhc093blByb3BlcnR5KGUpfHwobltlXT1uZXcgcy5EZWxlZ2F0ZSksb1tlXT90LmNhbGwoaSk6bltlXS5zdWJzY3JpYmUoaSx0LHIpfWZ1bmN0aW9uIGgoZSwuLi50KXtjb25zdCBpPVtlXS5jb25jYXQodCk7ci5mb3JFYWNoKChlPT57ZS5hcHBseShudWxsLGkpfSkpLG4uaGFzT3duUHJvcGVydHkoZSkmJm5bZV0uZmlyZS5hcHBseShuW2VdLHQpfWZ1bmN0aW9uIGQoZSl7b1tlXSYmY29uc29sZS53YXJuKGBTb21ldGhpbmcgd2VudCB3cm9uZzogZW1pdE9uY2UgY2FsbGVkIG11bHRpcGxlIHRpbWVzIHdpdGggc2FtZSBldmVudCAoJHtlfSlgKSxvW2VdPSEwLGguYXBwbHkobnVsbCxhcmd1bWVudHMpfX0sNTA3Mjg1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3B1c2hTdHJlYW1NdWx0aXBsZXhlcjooKT0+Yn0pO3ZhciBzPWkoMjIxMDYxKSxuPWkoNjMyNjg2KSxyPWkoNzY4NzYwKSxvPWkoMTUwMTUwKSxhPWkoMzg2OTMxKSxsPWkoNTY5Mzk4KSxjPWkoMTUyNjk5KSxoPWkoOTMyMzY1KSxkPWkoMTU2ODUwKSx1PShpKDMwMDI4NiksaSgxMTczMTMpKSxwPWkoMjI0NDAwKSxfPWkoMjY5NTMxKSxtPWkoNjE1NzY5KSxnPWkoODQ4ODU1KTtjb25zdCBmPSgwLHMuZ2V0TG9nZ2VyKShwLmxvZ2dlclN1YnN5c3RlbUlkKSxTPXt1cmw6d2luZG93LlBVU0hTVFJFQU1fVVJMLHVybFBhdGg6Im1lc3NhZ2UtcGlwZS13cyIsdHJhbnNwb3J0VHlwZTpwLlRyYW5zcG9ydFR5cGUuV2ViU29ja2V0fSx2PXt1cmw6d2luZG93LlBVU0hTVFJFQU1fVVJMLnJlcGxhY2UoIndzczovLyIsImh0dHBzOi8vIiksdXJsUGF0aDoibWVzc2FnZS1waXBlLWVzIix0cmFuc3BvcnRUeXBlOnAuVHJhbnNwb3J0VHlwZS5FdmVudFNvdXJjZX07Y2xhc3MgeXtjb25zdHJ1Y3Rvcigpe3ZhciBlO3RoaXMuZ3VpZD0oMCxvLmd1aWQpKCksdGhpcy5fcHVzaFN0cmVhbVB1YmxpYz1udWxsLHRoaXMuX3B1c2hTdHJlYW1Qcml2YXRlPW51bGwsdGhpcy5fc3RhdHVzSGFuZGxlcnM9W10sdGhpcy5fcmVjb25uZWN0SGFuZGxlcnM9W10sdGhpcy5fdXNlclByaXZhdGVDaGFubmVsPW51bGwsdGhpcy5fY2hhbm5lbE11bHRpcGxleGVyPW5ldyBfLkNoYW5uZWxNdWx0aXBsZXhlcix0aGlzLl94RXZlbnRQcmVmaXg9Im11bHRpcGxleGVyLWJjLSIsCnRoaXMuX3N0b3JhZ2VQcmVmaXg9InB1c2hTdHJlYW1NdWx0aXBsZXhlclN0YXRlLiIsdGhpcy5fdXNlckNoYW5uZWxQcmVmaXg9InByaXZhdGVfIix0aGlzLl9zdGF0dXNQdWJsaWM9bi5Db25uZWN0aW9uU3RhdHVzLkNsb3NlZCx0aGlzLl9zdGF0dXNQcml2YXRlPW4uQ29ubmVjdGlvblN0YXR1cy5DbG9zZWQsdGhpcy5feEV2ZW50U2VuZD10aGlzLl94RXZlbnRQcmVmaXgrInNlbmQiLHRoaXMuX3hFdmVudENvbm5lY3Rpb25TdGF0dXM9dGhpcy5feEV2ZW50UHJlZml4KyJjb25uZWN0aW9uU3RhdHVzIix0aGlzLl94RXZlbnRSZWNvbm5lY3RDb21tYW5kPXRoaXMuX3hFdmVudFByZWZpeCsicmVjb25uZWN0Q29tbWFuZCIsdGhpcy5feEV2ZW50UmVjb25uZWN0U3VjY2Vzcz10aGlzLl94RXZlbnRQcmVmaXgrInJlY29ubmVjdFN1Y2Nlc3MiLHRoaXMuX3hFdmVudFJlcXVlc3RMb2dzPXRoaXMuX3hFdmVudFByZWZpeCsicmVxdWVzdExvZ3MiLHRoaXMuX3hFdmVudFNoYXJlTG9ncz10aGlzLl94RXZlbnRQcmVmaXgrInNoYXJlTG9ncyIsdGhpcy5fc3RhdGU9bmV3IG0uTXVsdGlwbGV4ZXJTdGF0ZSx0aGlzLl9zaGFyZUxvZ3NLZXk9dGhpcy5fc3RvcmFnZVByZWZpeCsic2hhcmVMb2dzIix0aGlzLl9sb2NrTmFtZT0icHVzaHN0cmVhbSIsdGhpcy5fbG9ja1Byb21pc2U9KDAsci5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksdGhpcy5fZGlzcGF0Y2hSZWNvbm5lY3RTdWNjZXNzQ29tbWFuZEZyb21PdGhlcj1lPT57aWYodGhpcy5vd25QdXNoU3RyZWFtKCkpcmV0dXJuO2NvbnN0W3RdPXRoaXMuX2RlY29kZVBhcmFtcyhlKTt0aGlzLl9jYWxsUmVjb25uZWN0SGFuZGxlcnModCl9LHRoaXMuX2Rpc3BhdGNoTWVzc2FnZT0oZSx0LGkpPT57dGhpcy5fZGlzcGF0Y2hNZXNzYWdlVG9PdGhlcnMoZSx0LGkpLHRoaXMuX2Rpc3BhdGNoTWVzc2FnZVRvU2VsZihlLHQsaSwhMSl9LHRoaXMuX2Rpc3BhdGNoTWVzc2FnZUZyb21PdGhlcj1lPT57aWYodGhpcy5vd25QdXNoU3RyZWFtKCkpcmV0dXJuO2NvbnN0W3QsaSxzXT10aGlzLl9kZWNvZGVQYXJhbXMoZSk7dGhpcy5fZGlzcGF0Y2hNZXNzYWdlVG9TZWxmKHQsaSxzLCEwKX0sdGhpcy5fZGlzcGF0Y2hTdGF0dXNDaGFuZ2VGcm9tT3RoZXI9ZT0+e2NvbnN0IHQ9dGhpcy5fZGVjb2RlQ29ubmVjdGlvblN0YXR1cyhlKSxpPXRbMF0scz10WzFdO3RoaXMub3duUHVzaFN0cmVhbSgpfHx0aGlzLl9kaXNwYXRjaFN0YXR1c0NoYW5nZVRvU2VsZihpLHMpfSx0aGlzLl9kaXNwYXRjaFJlY29ubmVjdENvbW1hbmRGcm9tT3RoZXI9KCk9Pnt0aGlzLm93blB1c2hTdHJlYW0oKSYmdGhpcy5mb3JjZUNvbm5lY3QoKX0sdGhpcy5fb25SZXF1ZXN0TG9ncz0oKT0+e2lmKHRoaXMub3duUHVzaFN0cmVhbSgpKXtjb25zdCBlPXRoaXMuX2dldE93bkxvZ3MoKTtsZXQgdD0iIjt0cnl7dD1KU09OLnN0cmluZ2lmeShlKX1jYXRjaChlKXtmLmxvZ0Vycm9yKCJGYWlsZWQgdG8gc3RyaW5naWZ5IG93biBwdXNoc3RyZWFtIGxvZ3MiKX1oLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5fc2hhcmVMb2dzS2V5LHQpLGMuVFZYV2luZG93RXZlbnRzLmVtaXQodGhpcy5feEV2ZW50U2hhcmVMb2dzLHQpfX0sdGhpcy5fb25TdGF0ZUNoYW5nZT0oZSx0LGkpPT57Y29uc3Qgcz0icHJpdmF0ZSI9PT10P3RoaXMuX3B1c2hTdHJlYW1Qcml2YXRlOnRoaXMuX3B1c2hTdHJlYW1QdWJsaWM7ImFkZCI9PT1lP3M/LmFkZENoYW5uZWwoaSk6cz8ucmVtb3ZlQ2hhbm5lbChpKX0sdGhpcy5fb25OZXdUYWJDcmVhdGU9KCk9Pnt0aGlzLl9kaXNwYXRjaFN0YXR1c0NoYW5nZVRvT3RoZXJzKHRoaXMuX3N0YXR1c1B1YmxpYyx0aGlzLl9zdGF0dXNQcml2YXRlKX0sKDAsZy53ZWJMb2NrRW5hYmxlZCkoKT9uYXZpZ2F0b3IubG9ja3MucmVxdWVzdCh0aGlzLl9sb2NrTmFtZSwoYXN5bmMoKT0+KHRoaXMuX3N0YXRlLm9uU3RhdGVDaGFuZ2UodGhpcy5fb25TdGF0ZUNoYW5nZSksdGhpcy5fc3RhdGUub25UYWJDcmVhdGUodGhpcy5fb25OZXdUYWJDcmVhdGUpLHRoaXMuX2luc3RhbnRpYXRlUHVzaFN0cmVhbSgpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgoKT0+dGhpcy5fbG9ja1Byb21pc2UucmVzb2x2ZSgpKSksdGhpcy5fbG9ja1Byb21pc2UucHJvbWlzZSkpKToodGhpcy5fc3RhdGUub25TdGF0ZUNoYW5nZSh0aGlzLl9vblN0YXRlQ2hhbmdlKSx0aGlzLl9pbnN0YW50aWF0ZVB1c2hTdHJlYW0oKSksYy5UVlhXaW5kb3dFdmVudHMub24odGhpcy5feEV2ZW50U2VuZCx0aGlzLl9kaXNwYXRjaE1lc3NhZ2VGcm9tT3RoZXIpLGMuVFZYV2luZG93RXZlbnRzLm9uKHRoaXMuX3hFdmVudENvbm5lY3Rpb25TdGF0dXMsdGhpcy5fZGlzcGF0Y2hTdGF0dXNDaGFuZ2VGcm9tT3RoZXIpLGMuVFZYV2luZG93RXZlbnRzLm9uKHRoaXMuX3hFdmVudFJlY29ubmVjdENvbW1hbmQsdGhpcy5fZGlzcGF0Y2hSZWNvbm5lY3RDb21tYW5kRnJvbU90aGVyKSxjLlRWWFdpbmRvd0V2ZW50cy5vbih0aGlzLl94RXZlbnRSZWNvbm5lY3RTdWNjZXNzLHRoaXMuX2Rpc3BhdGNoUmVjb25uZWN0U3VjY2Vzc0NvbW1hbmRGcm9tT3RoZXIpLGMuVFZYV2luZG93RXZlbnRzLm9uKHRoaXMuX3hFdmVudFJlcXVlc3RMb2dzLHRoaXMuX29uUmVxdWVzdExvZ3MpLGU9KCk9Pnt3aW5kb3cubG9naW5TdGF0ZUNoYW5nZSYmd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY2hhbmdlTG9naW5TdGF0ZSl9LCJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/ZSgpOmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGUpfW9uKGUsdCl7dGhpcy5fY2hhbm5lbE11bHRpcGxleGVyLm9uKGUsdCl9b2ZmKGUsdCl7dGhpcy5fY2hhbm5lbE11bHRpcGxleGVyLm9mZihlLHQpfW9uU3RhdHVzKGUpe3RoaXMuX3N0YXR1c0hhbmRsZXJzLnB1c2goe2hhbmRsZXI6ZSxpc1ByaXZhdGU6ITF9KSxzZXRUaW1lb3V0KCgoKT0+ZSh0aGlzLl9zdGF0dXNQdWJsaWMpKSwwKX1vblByaXZhdGVTdGF0dXMoZSl7dGhpcy5fc3RhdHVzSGFuZGxlcnMucHVzaCh7aGFuZGxlcjplLAppc1ByaXZhdGU6ITB9KSxzZXRUaW1lb3V0KCgoKT0+ZSh0aGlzLl9zdGF0dXNQcml2YXRlKSksMCl9b25SZWNvbm5lY3QoZSx0PSExKXt0aGlzLl9yZWNvbm5lY3RIYW5kbGVycy5wdXNoKHtoYW5kbGVyOmUsaXNQcml2YXRlOnR9KX1vZmZSZWNvbm5lY3QoZSl7dGhpcy5fcmVjb25uZWN0SGFuZGxlcnM9dGhpcy5fcmVjb25uZWN0SGFuZGxlcnMuZmlsdGVyKCh0PT50LmhhbmRsZXIhPT1lKSl9b2ZmU3RhdHVzKGUpe3RoaXMuX3N0YXR1c0hhbmRsZXJzPXRoaXMuX3N0YXR1c0hhbmRsZXJzLmZpbHRlcigodD0+dC5oYW5kbGVyIT09ZSkpfWZvcmNlQ29ubmVjdCgpe2YubG9nTm9ybWFsKGBDcmVhdGluZyBwdXNoc3RyZWFtIGNvbm5lY3Rpb24gYWZ0ZXIgZm9yY2UgY29ubmVjdC4gTWFpbiB0YWI6ICR7dGhpcy5vd25QdXNoU3RyZWFtKCl9YCksdGhpcy5vd25QdXNoU3RyZWFtKCk/KHRoaXMuX3B1c2hTdHJlYW1QdWJsaWM/LmRpc2Nvbm5lY3QoKSx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT8uZGlzY29ubmVjdCgpLHRoaXMuX2luc3RhbnRpYXRlUHVzaFN0cmVhbSgpKTpjLlRWWFdpbmRvd0V2ZW50cy5lbWl0KHRoaXMuX3hFdmVudFJlY29ubmVjdENvbW1hbmQpfWRpc2Nvbm5lY3QoKXt0aGlzLm93blB1c2hTdHJlYW0oKSYmdGhpcy5fZGVzdHJ1Y3RQdXNoU3RyZWFtKCl9Z2V0TG9ncyhlKXtyZXR1cm4gbmV3IFByb21pc2UoKHQ9Pntjb25zdCBpPXNldFRpbWVvdXQoKCgpPT57Y29uc3QgZT1oLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5fc2hhcmVMb2dzS2V5KTt0KG51bGwhPT1lP0pTT04ucGFyc2UoZSk6W10pfSksMWUzKSxzPWU9PntsZXQgbjtjLlRWWFdpbmRvd0V2ZW50cy5vZmYodGhpcy5feEV2ZW50U2hhcmVMb2dzLHMpLGMuVFZYV2luZG93RXZlbnRzLmVtaXQodGhpcy5feEV2ZW50U2hhcmVMb2dzLCIiKSxjbGVhclRpbWVvdXQoaSk7dHJ5e249SlNPTi5wYXJzZShlKX1jYXRjaChlKXtuPVtdLGYubG9nRXJyb3IoIkZhaWxlZCB0byBwYXJzZSBsb2dzIHJlY2VpdmVkIGZyb20gbWFzdGVyIHRhYiIpfXQobil9O3RoaXMub3duUHVzaFN0cmVhbSgpP3QodGhpcy5fZ2V0T3duTG9ncyhlKSk6KGMuVFZYV2luZG93RXZlbnRzLm9uKHRoaXMuX3hFdmVudFNoYXJlTG9ncyxzKSxjLlRWWFdpbmRvd0V2ZW50cy5lbWl0KHRoaXMuX3hFdmVudFJlcXVlc3RMb2dzKSl9KSl9b3duUHVzaFN0cmVhbSgpe3JldHVybiEhdGhpcy5fcHVzaFN0cmVhbVB1YmxpY3x8ISF0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZX1wdXNoU3RyZWFtKCl7aWYoIXRoaXMub3duUHVzaFN0cmVhbSgpKXRocm93IG5ldyBFcnJvcigiTm90IG93biBQdXNoU3RyZWFtIik7cmV0dXJuIHRoaXMuX3B1c2hTdHJlYW1QdWJsaWN9aXNDb25uZWN0ZWQoKXtyZXR1cm4gdGhpcy5fc3RhdHVzUHVibGljPjB9c3RhdHVzKCl7cmV0dXJuIHRoaXMuX3N0YXR1c1B1YmxpYz8/bi5Db25uZWN0aW9uU3RhdHVzLkNsb3NlZH1zdGF0dXNQcml2YXRlKCl7cmV0dXJuIHRoaXMuX3N0YXR1c1ByaXZhdGU/P24uQ29ubmVjdGlvblN0YXR1cy5DbG9zZWR9dXNlckNoYW5uZWwoKXtpZighdGhpcy5fdXNlclByaXZhdGVDaGFubmVsKXRocm93IG5ldyBFcnJvcigiTm8gdXNlciBjaGFubmVsIik7cmV0dXJuIHRoaXMuX3VzZXJDaGFubmVsKHRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbCl9YWRkQ2hhbm5lbChlKXt0aGlzLl9zdGF0ZS5hZGRDaGFubmVsKGUuc3RhcnRzV2l0aCh0aGlzLl91c2VyQ2hhbm5lbFByZWZpeCk/InByaXZhdGUiOiJwdWJsaWMiLGUpfXJlbW92ZUNoYW5uZWwoZSl7dGhpcy5fc3RhdGUucmVtb3ZlQ2hhbm5lbChlLnN0YXJ0c1dpdGgodGhpcy5fdXNlckNoYW5uZWxQcmVmaXgpPyJwcml2YXRlIjoicHVibGljIixlKX1zdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2luc3RhbmNlJiYodGhpcy5faW5zdGFuY2U9bmV3IHkpLHRoaXMuX2luc3RhbmNlfV91c2VyQ2hhbm5lbChlKXtyZXR1cm4gdGhpcy5fdXNlckNoYW5uZWxQcmVmaXgrZX1fY29kZVBhcmFtcyhlKXtjb25zdCB0PVsuLi5lXTtyZXR1cm4gdC5wdXNoKChuZXcgRGF0ZSkuZ2V0VGltZSgpKSxKU09OLnN0cmluZ2lmeSh0KX1fZGVjb2RlUGFyYW1zKGUpe2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4gdC5wb3AoKSx0fV9pbnN0YW50aWF0ZVB1c2hTdHJlYW0oKXt0aGlzLl9wdXNoU3RyZWFtUHVibGljJiYoKDAsYS50cmFja0V2ZW50KSgiUHVzaHN0cmVhbURvdWJsZVB1YmxpYyIsd2luZG93LnVzZXImJndpbmRvdy51c2VyLnVzZXJuYW1lfHwiR3Vlc3QiLG5hdmlnYXRvci51c2VyQWdlbnQpLHRoaXMuX3B1c2hTdHJlYW1QdWJsaWMuZGlzY29ubmVjdCgpKTtjb25zdCBlPXsuLi50aGlzLl9nZXRQdXNoU3RyZWFtU2V0dGluZ3MoKSx0ZWxlbWV0cnlFbmFibGVkOigpPT4oMCxsLmlzRmVhdHVyZUVuYWJsZWQpKCJwdXNoc3RyZWFtX2Jhc2ljX3RlbGVtZXRyeSIpfTt0aGlzLl9wdXNoU3RyZWFtUHVibGljPW5ldyBwLlB1c2hTdHJlYW0odGhpcy5fZGlzcGF0Y2hNZXNzYWdlLGUpLHRoaXMuX3B1c2hTdHJlYW1QdWJsaWMuY29ubmVjdGlvblN0YXR1cygpLnN1YnNjcmliZSgoZT0+e3RoaXMuX2Rpc3BhdGNoU3RhdHVzQ2hhbmdlKGUsdGhpcy5fc3RhdHVzUHJpdmF0ZSl9KSksdGhpcy5fcHVzaFN0cmVhbVB1YmxpYy5yZWNvbm5lY3RFdmVudCgpLnN1YnNjcmliZShudWxsLCgoKT0+e3RoaXMuX2Rpc3BhdGNoUmVjb25uZWN0U3VjY2Vzc0NvbW1hbmQoKX0pKSx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZSYmKCgwLGEudHJhY2tFdmVudCkoIlB1c2hzdHJlYW1Eb3VibGVQcml2YXRlIix3aW5kb3cudXNlciYmd2luZG93LnVzZXIudXNlcm5hbWV8fCJHdWVzdCIsbmF2aWdhdG9yLnVzZXJBZ2VudCksdGhpcy5fcHVzaFN0cmVhbVByaXZhdGUuZGlzY29ubmVjdCgpKSx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT1uZXcgcC5QdXNoU3RyZWFtKHRoaXMuX2Rpc3BhdGNoTWVzc2FnZSx7Li4uZSxtYXhTaXplOjF9KSx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZS5jb25uZWN0aW9uU3RhdHVzKCkuc3Vic2NyaWJlKChlPT57CnRoaXMuX2Rpc3BhdGNoU3RhdHVzQ2hhbmdlKHRoaXMuX3N0YXR1c1B1YmxpYyxlKX0pKSx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZS5yZWNvbm5lY3RFdmVudCgpLnN1YnNjcmliZShudWxsLCgoKT0+e3RoaXMuX2Rpc3BhdGNoUmVjb25uZWN0U3VjY2Vzc0NvbW1hbmQoITApfSkpLHRoaXMub24oInB1c2hzdHJlYW1fc2V0X3VzZXJfY2hhbm5lbCIsKGU9Pnt0aGlzLl9zZXRVc2VyQ2hhbm5lbChlKX0pKSx0aGlzLl9jb25uZWN0Q2hhbm5lbHMoKX1fZGVzdHJ1Y3RQdXNoU3RyZWFtKCl7Y29uc3QgZT10aGlzLl9wdXNoU3RyZWFtUHVibGljO3RoaXMuX3B1c2hTdHJlYW1QdWJsaWM9bnVsbCxlPy5kaXNjb25uZWN0KCk7Y29uc3QgdD10aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZTt0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT1udWxsLHQ/LmRpc2Nvbm5lY3QoKSx0aGlzLl9kaXNwYXRjaFN0YXR1c0NoYW5nZUZyb21PdGhlcih0aGlzLl9jb2RlUGFyYW1zKFtuLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkLG4uQ29ubmVjdGlvblN0YXR1cy5DbG9zZWRdKSl9X2Nvbm5lY3RDaGFubmVscygpe3RoaXMuX3B1c2hTdHJlYW1QdWJsaWM/LmFkZENoYW5uZWwoInB1YmxpYyIpO2NvbnN0IGU9dGhpcy5fc3RhdGUuY29sbGVjdFB1c2hTdHJlYW1DaGFubmVscygicHVibGljIik7dm9pZCAwIT09ZSYmZS5sZW5ndGg+MCYmZS5tYXAoKGU9PnRoaXMuX3B1c2hTdHJlYW1QdWJsaWM/LmFkZENoYW5uZWwoZSkpKSwiaXNfYXV0aGVudGljYXRlZCJpbiB3aW5kb3c/dGhpcy5fY29ubmVjdFVzZXJDaGFubmVsSW5pdGlhbCghMCk6d2luZG93LmxvZ2luU3RhdGVDaGFuZ2UmJndpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZSh0aGlzLHRoaXMuX2Nvbm5lY3RVc2VyQ2hhbm5lbEluaXRpYWwpLHRoaXMuX2lzUHVibGljUHVzaHN0cmVhbUVuYWJsZWQoKSYmdGhpcy5fcHVzaFN0cmVhbVB1YmxpYz8uY29ubmVjdCgpfV9nZXRQdXNoU3RyZWFtU2V0dGluZ3MoKXtyZXR1cm4oMCx1LmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iik/KDAsbC5pc0ZlYXR1cmVFbmFibGVkKSgiZW5hYmxlX2V2ZW50c291cmNlX3B1c2hzdHJlYW1fbW9iaWxlIik/djpTOigwLGwuaXNGZWF0dXJlRW5hYmxlZCkoImVuYWJsZV9ldmVudHNvdXJjZV9wdXNoc3RyZWFtX3RyYW5zcG9ydCIpP3Y6U31faXNQdWJsaWNQdXNoc3RyZWFtRW5hYmxlZCgpe3JldHVybigwLHUuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKXx8ISgwLGwuaXNGZWF0dXJlRW5hYmxlZCkoImRpc2FibGVfcHVzaHN0cmVhbV9jb25uZWN0aW9uc19mb3JfYW5vbnltb3VzX3VzZXJzIil8fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkfHx3aW5kb3cuVHJhZGluZ1ZpZXc/Lm9uQ2hhcnRQYWdlfV9jb25uZWN0VXNlckNoYW5uZWxJbml0aWFsKGUpe2UmJih3aW5kb3cuaXNfYXV0aGVudGljYXRlZD8odGhpcy5fdXNlclByaXZhdGVDaGFubmVsPXdpbmRvdy51c2VyLnByaXZhdGVfY2hhbm5lbD8/bnVsbCx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT8uYWRkQ2hhbm5lbCh0aGlzLnVzZXJDaGFubmVsKCkpLHRoaXMuX3B1c2hTdHJlYW1Qcml2YXRlPy5jb25uZWN0KCkpOnRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbD1udWxsKX1fY2hhbmdlTG9naW5TdGF0ZShlKXtlfHwodGhpcy5faXNQdWJsaWNQdXNoc3RyZWFtRW5hYmxlZCgpJiZ0aGlzLl9wdXNoU3RyZWFtUHVibGljPy5jb25uZWN0KCksd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/KHRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbD13aW5kb3cudXNlci5wcml2YXRlX2NoYW5uZWw/P251bGwsdGhpcy5vd25QdXNoU3RyZWFtKCkmJih0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT8uYWRkQ2hhbm5lbCh0aGlzLnVzZXJDaGFubmVsKCkpLHRoaXMuX3B1c2hTdHJlYW1Qcml2YXRlPy5jb25uZWN0KCkpKToodGhpcy5vd25QdXNoU3RyZWFtKCkmJih0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT8ucmVtb3ZlQ2hhbm5lbCh0aGlzLnVzZXJDaGFubmVsKCkpLHRoaXMuX3B1c2hTdHJlYW1Qcml2YXRlPy5kaXNjb25uZWN0KCkpLHRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbD1udWxsKSl9X3NldFVzZXJDaGFubmVsKGUpe2YubG9nTm9ybWFsKCJTZXQgdXNlciBjaGFubmVsICIrZSksZSE9PXRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbCYmKHRoaXMub3duUHVzaFN0cmVhbSgpJiZ0aGlzLl91c2VyUHJpdmF0ZUNoYW5uZWwmJnRoaXMuX3B1c2hTdHJlYW1Qcml2YXRlPy5yZW1vdmVDaGFubmVsKHRoaXMudXNlckNoYW5uZWwoKSksdGhpcy5fdXNlclByaXZhdGVDaGFubmVsPWUsdGhpcy5vd25QdXNoU3RyZWFtKCkmJnRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbCYmdGhpcy5fcHVzaFN0cmVhbVByaXZhdGU/LmFkZENoYW5uZWwodGhpcy51c2VyQ2hhbm5lbCgpKSl9X2Rpc3BhdGNoU3RhdHVzQ2hhbmdlKGUsdCl7dGhpcy5fZGlzcGF0Y2hTdGF0dXNDaGFuZ2VUb090aGVycyhlLHQpLHRoaXMuX2Rpc3BhdGNoU3RhdHVzQ2hhbmdlVG9TZWxmKGUsdCl9X2Rpc3BhdGNoU3RhdHVzQ2hhbmdlVG9TZWxmKGUsdCl7ZSE9PXRoaXMuX3N0YXR1c1B1YmxpYyYmKHRoaXMuX3N0YXR1c1B1YmxpYz1lLHRoaXMuX2NhbGxTdGF0dXNIYW5kbGVycyhlLCExKSksdCE9PXRoaXMuX3N0YXR1c1ByaXZhdGUmJih0aGlzLl9zdGF0dXNQcml2YXRlPXQsdGhpcy5fY2FsbFN0YXR1c0hhbmRsZXJzKHQsITApKX1fY2FsbFN0YXR1c0hhbmRsZXJzKGUsdCl7Zi5sb2dOb3JtYWwoIkNvbm5lY3Rpb24gc3RhdHVzIGNoYW5nZTogIitlKyIsIHByaXZhdGUgIit0KyIsIGlzIG1haW4gdGFiICIrdGhpcy5vd25QdXNoU3RyZWFtKCkpLGQudGVsZW1ldHJ5LnNlbmRSZXBvcnQoInNpdGUiLCJwdXNoc3RyZWFtX3N0YXR1c19jaGFuZ2UiKSx0aGlzLl9zdGF0dXNIYW5kbGVycy5mb3JFYWNoKChpPT57aS5pc1ByaXZhdGU9PT10JiZpLmhhbmRsZXIoZSl9KSl9X2NhbGxSZWNvbm5lY3RIYW5kbGVycyhlKXtmLmxvZ05vcm1hbCgiUmVjb25uZWN0aW9uIGhhcyBiZWVuIG1hZGUiKSx0aGlzLl9yZWNvbm5lY3RIYW5kbGVycy5mb3JFYWNoKCh0PT57dC5pc1ByaXZhdGU9PT1lJiZ0LmhhbmRsZXIoKX0pKX0KX2Rpc3BhdGNoUmVjb25uZWN0U3VjY2Vzc0NvbW1hbmQoZT0hMSl7aWYodGhpcy5vd25QdXNoU3RyZWFtKCkpe3RoaXMuX2NhbGxSZWNvbm5lY3RIYW5kbGVycyhlKTtjb25zdCB0PXRoaXMuX2NvZGVQYXJhbXMoW2VdKTtjLlRWWFdpbmRvd0V2ZW50cy5lbWl0KHRoaXMuX3hFdmVudFJlY29ubmVjdFN1Y2Nlc3MsdCl9fV9kZWNvZGVDb25uZWN0aW9uU3RhdHVzKGUpe2NvbnN0IHQ9cGFyc2VJbnQoZSwxMCk7cmV0dXJuIGlzTmFOKHQpP3RoaXMuX2RlY29kZVBhcmFtcyhlKTpbdCx0XX1fZGlzcGF0Y2hTdGF0dXNDaGFuZ2VUb090aGVycyhlLHQpe2lmKHRoaXMub3duUHVzaFN0cmVhbSgpKXtjb25zdCBpPXRoaXMuX2NvZGVQYXJhbXMoW2UsdF0pO2MuVFZYV2luZG93RXZlbnRzLmVtaXQodGhpcy5feEV2ZW50Q29ubmVjdGlvblN0YXR1cyxpKX19X2Rpc3BhdGNoTWVzc2FnZVRvU2VsZihlLHQsaSxzKXtjb25zdCBuPWUuY2hhbm5lbCxyPWUuY29udGVudDt0aGlzLl9lbWl0KHIsdCxuLHMpfV9kaXNwYXRjaE1lc3NhZ2VUb090aGVycyhlLHQsaSl7Y29uc3Qgcz1bZSx0LGldO2MuVFZYV2luZG93RXZlbnRzLmVtaXQodGhpcy5feEV2ZW50U2VuZCx0aGlzLl9jb2RlUGFyYW1zKHMpKX1fZW1pdChlLHQsaSxzKXt0aGlzLl9jaGFubmVsTXVsdGlwbGV4ZXIuZW1pdChlLHQsaSxzKX1fZ2V0T3duTG9ncyhlKXtpZih0aGlzLm93blB1c2hTdHJlYW0oKSl7Y29uc3QgdD0oMCxzLmdldFJhd0xvZ0hpc3RvcnkpKGUscC5sb2dnZXJTdWJzeXN0ZW1JZCksaT10aGlzLnB1c2hTdHJlYW0oKT8uZ2V0TG9ncygpO3JldHVybltdLmNvbmNhdCh0LGk/P1tdKX1yZXR1cm5bXX19eS5faW5zdGFuY2U9bnVsbDtjb25zdCBiPXkuZ2V0SW5zdGFuY2UoKX0sODU2MTk2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Nob3VsZEFmZmVjdFVzZXI6KCk9Pmx9KTt2YXIgcz1pKDEwMDU5NSksbj1pLm4ocykscj1pKDkzMjM2NSk7Y29uc3Qgbz0iZmVhdHVyZXRvZ2dsZV9zZWVkIjtmdW5jdGlvbiBhKGUpe3RyeXtjb25zdCB0PW4oKShlK2Z1bmN0aW9uKCl7aWYod2luZG93LnVzZXImJndpbmRvdy51c2VyLmlkKXJldHVybiB3aW5kb3cudXNlci5pZDtjb25zdCBlPXIuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShvKTtpZihudWxsIT09ZSlyZXR1cm4gZTtjb25zdCB0PU1hdGguZmxvb3IoMWU2Kk1hdGgucmFuZG9tKCkpO3JldHVybiByLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0obyxgJHt0fWApLHR9KCkpLGk9bmV3IERhdGFWaWV3KHQpO3JldHVybiBpLmdldFVpbnQzMigwLCEwKS80Mjk0OTY3Mjk2fWNhdGNoKGUpe3JldHVybi41fX1mdW5jdGlvbiBsKGUsdCl7cmV0dXJuIGEoZSk8PXR9fSwxNTI2OTkoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7VFZYV2luZG93RXZlbnRzOigpPT5vLGdldFNjb3BlZFRWWFdpbmRvd0V2ZW50czooKT0+YX0pO3ZhciBzPWkoMjIxMDYxKSxuPWkoOTMyMzY1KTtjb25zdCByPSgwLHMuZ2V0TG9nZ2VyKSgiWFdpbmRvd0V2ZW50cyIpO3ZhciBvO2Z1bmN0aW9uIGEoZSl7cmV0dXJue29uOih0LGkpPT5vLm9uKGAke2V9LiR7dH1gLGkpLG9mZjoodCxpKT0+by5vZmYoYCR7ZX0uJHt0fWAsaSksZW1pdDoodCxpKT0+by5lbWl0KGAke2V9LiR7dH1gLGkpfX0hZnVuY3Rpb24oZSl7Y29uc3QgdD0idHZ4d2V2ZW50cy4iLGk9e307bGV0IHM7d2luZG93LkJyb2FkY2FzdENoYW5uZWw/KHM9bmV3IEJyb2FkY2FzdENoYW5uZWwoInR2eHdldmVudHMiKSxzLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLChmdW5jdGlvbihlKXtjb25zdHtkYXRhOntldmVudDp0LHZhbHVlOnN9fT1lO2lbdF0mJmlbdF0uZm9yRWFjaCgoZT0+e2Uocyl9KSl9KSksZnVuY3Rpb24oKXtjb25zdCBlPVtdLGk9cGVyZm9ybWFuY2Uubm93KCk7Zm9yKGxldCBpPTA7aTxuLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDtpKyspe2NvbnN0IHM9bi5UVkxvY2FsU3RvcmFnZS5rZXkoaSk7cy5zdGFydHNXaXRoKHQpJiZlLnB1c2gocyl9Y29uc3Qgcz1uLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDtmb3IoY29uc3QgdCBvZiBlKW4uVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0KTtjb25zdCBvPXBlcmZvcm1hbmNlLm5vdygpLWk7ci5sb2dOb3JtYWwoYFRvdGFsIGtleXMgYW1vdW50IGluIGxvY2FsIHN0b3JhZ2Ugb24gb3BlcmF0aW9uIHN0YXJ0OiAke3N9YCksci5sb2dOb3JtYWwoYEtleXMgYW1vdW50IGluIGxvY2FsIHN0b3JhZ2UgdG8gYmUgZGVsZXRlZDogJHtlLmxlbmd0aH1gKSxyLmxvZ05vcm1hbChgS2V5cyB0byBiZSBkZWxldGVkIGZyb20gbG9jYWwgc3RvcmFnZTogJHtKU09OLnN0cmluZ2lmeShlKX1gKSxyLmxvZ05vcm1hbChgUmVtb3Zpbmcga2V5cyBmcm9tIGxvY2FsIHN0b3JhZ2UgdG9vayAke299IG1zYCl9KCkpOndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdG9yYWdlIiwoZnVuY3Rpb24oZSl7Y29uc3R7bmV3VmFsdWU6cyxrZXk6cn09ZTtpZihudWxsPT09c3x8IXJ8fCFyLnN0YXJ0c1dpdGgodCkpcmV0dXJuO2NvbnN0IG89ci5zdWJzdHJpbmcoMTEpO2lbb10mJmlbb10uZm9yRWFjaCgodD0+e3QoZS5uZXdWYWx1ZSl9KSk7bi5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHIpfSkpLGUub249ZnVuY3Rpb24oZSx0KXtpW2VdfHwoaVtlXT1bXSksaVtlXS5wdXNoKHQpfSxlLm9mZj1mdW5jdGlvbihlLHQpe2lmKCFpW2VdKXJldHVybjtjb25zdCBzPWlbZV0uaW5kZXhPZih0KTstMSE9PXMmJigxPT09aVtlXS5sZW5ndGg/ZGVsZXRlIGlbZV06aVtlXS5zcGxpY2UocywxKSl9LGUuZW1pdD1mdW5jdGlvbihlLGk9RGF0ZS5ub3coKSl7dHJ5e3M/cy5wb3N0TWVzc2FnZSh7ZXZlbnQ6ZSx2YWx1ZTppfSk6bi5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHQrZSxpLnRvU3RyaW5nKCkpfWNhdGNoKGUpe3IubG9nRXJyb3IoZS5tZXNzYWdlKX19fShvfHwobz17fSkpfSw3NjgzMDUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7cG9pbnRJbkJveDooKT0+cixwb2ludEluQ2lyY2xlOigpPT5hLHBvaW50SW5Qb2x5Z29uOigpPT5vLHBvaW50SW5UcmlhbmdsZTooKT0+bn0pO3ZhciBzPWkoMzUxOTAwKTtmdW5jdGlvbiBuKGUsdCxpLG4pewpjb25zdCByPXQuYWRkKGkpLnNjYWxlZCguNSkuYWRkKG4pLnNjYWxlZCguNSk7bGV0IG89KDAscy5pbnRlcnNlY3RMaW5lU2VnbWVudHMpKHQsaSxyLGUpO3JldHVybiBudWxsPT09byYmKG89KDAscy5pbnRlcnNlY3RMaW5lU2VnbWVudHMpKGksbixyLGUpLG51bGw9PT1vJiYobz0oMCxzLmludGVyc2VjdExpbmVTZWdtZW50cykobix0LHIsZSksbnVsbD09PW8pKX1mdW5jdGlvbiByKGUsdCl7cmV0dXJuIGUueD49dC5taW4ueCYmZS54PD10Lm1heC54JiZlLnk+PXQubWluLnkmJmUueTw9dC5tYXgueX1mdW5jdGlvbiBvKGUsdCl7bGV0IGk9dC5sZW5ndGgtMSxzPSExO2NvbnN0IG49ZS54LHI9ZS55O2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXtjb25zdCBvPXRbZV0sYT10W2ldOyhvLnk8ciYmYS55Pj1yfHxhLnk8ciYmby55Pj1yKSYmby54KyhyLW8ueSkvKGEueS1vLnkpKihhLngtby54KTxuJiYocz0hcyksaT1lfXJldHVybiBzfWZ1bmN0aW9uIGEoZSx0LGkpe3JldHVybihlLngtdC54KSooZS54LXQueCkrKGUueS10LnkpKihlLnktdC55KTw9aSppfX0sNzAwNzQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUsdCxpKXtjb25zdCBzPXQuc3VidHJhY3QoZSksbj1pLnN1YnRyYWN0KGUpLmRvdFByb2R1Y3Qocykvcy5kb3RQcm9kdWN0KHMpO3JldHVybntjb2VmZjpuLGRpc3RhbmNlOmUuYWRkU2NhbGVkKHMsbikuc3VidHJhY3QoaSkubGVuZ3RoKCl9fWZ1bmN0aW9uIG4oZSx0LGkpe2NvbnN0IG49cyhlLHQsaSk7aWYoMDw9bi5jb2VmZiYmbi5jb2VmZjw9MSlyZXR1cm4gbjt7Y29uc3Qgcz1lLnN1YnRyYWN0KGkpLmxlbmd0aCgpLG49dC5zdWJ0cmFjdChpKS5sZW5ndGgoKTtyZXR1cm4gczxuP3tjb2VmZjowLGRpc3RhbmNlOnN9Ontjb2VmZjoxLGRpc3RhbmNlOm59fX1pLmQodCx7ZGlzdGFuY2VUb0xpbmU6KCk9PnMsZGlzdGFuY2VUb1NlZ21lbnQ6KCk9Pm59KX0sMzUxOTAwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2ludGVyc2VjdExpbmVBbmRCb3g6KCk9PmgsaW50ZXJzZWN0TGluZVNlZ21lbnRBbmRCb3g6KCk9Pm8saW50ZXJzZWN0TGluZVNlZ21lbnRzOigpPT5sLGludGVyc2VjdExpbmVzOigpPT5hLGludGVyc2VjdFBvbHlnb25BbmRIYWxmcGxhbmU6KCk9PnAsaW50ZXJzZWN0UmF5QW5kQm94OigpPT5kfSk7dmFyIHM9aSgxMzg2MzgpLG49aSg3MzY1MzEpLHI9aSg3MDA3NCk7ZnVuY3Rpb24gbyhlLHQpe2xldCBpPWVbMF0ueCxzPWVbMF0ueSxyPWVbMV0ueCxvPWVbMV0ueTtjb25zdCBhPXQubWluLngsbD10Lm1pbi55LGM9dC5tYXgueCxoPXQubWF4Lnk7bGV0IGQ7ZnVuY3Rpb24gdShlLHQsaSxzLG4scil7bGV0IG89ZC5JbnNpZGU7cmV0dXJuIGU8aT9vfD1kLkxlZnQ6ZT5uJiYob3w9ZC5SaWdodCksdDxzP298PWQuQm90dG9tOnQ+ciYmKG98PWQuVG9wKSxvfSFmdW5jdGlvbihlKXtlW2UuSW5zaWRlPTBdPSJJbnNpZGUiLGVbZS5MZWZ0PTFdPSJMZWZ0IixlW2UuUmlnaHQ9Ml09IlJpZ2h0IixlW2UuQm90dG9tPTRdPSJCb3R0b20iLGVbZS5Ub3A9OF09IlRvcCJ9KGR8fChkPXt9KSk7bGV0IHA9dShpLHMsYSxsLGMsaCksXz11KHIsbyxhLGwsYyxoKSxtPSExLGc9MDtmb3IoOzspe2lmKGc+MWUzKXRocm93IG5ldyBFcnJvcigiQ29oZW4gLSBTdXRoZXJsYW5kIGFsZ29yaXRobTogaW5maW5pdHkgbG9vcCIpO2lmKGcrKywhKHB8Xykpe209ITA7YnJlYWt9aWYocCZfKWJyZWFrO3tjb25zdCBlPXB8fF87bGV0IHQsbjtlJmQuVG9wPyh0PWkrKHItaSkqKGgtcykvKG8tcyksbj1oKTplJmQuQm90dG9tPyh0PWkrKHItaSkqKGwtcykvKG8tcyksbj1sKTplJmQuUmlnaHQ/KG49cysoby1zKSooYy1pKS8oci1pKSx0PWMpOihuPXMrKG8tcykqKGEtaSkvKHItaSksdD1hKSxlPT09cD8oaT10LHM9bixwPXUoaSxzLGEsbCxjLGgpKToocj10LG89bixfPXUocixvLGEsbCxjLGgpKX19cmV0dXJuIG0/KDAsbi5lcXVhbFBvaW50cykoKDAsbi5wb2ludCkoaSxzKSwoMCxuLnBvaW50KShyLG8pKT8oMCxuLnBvaW50KShpLHMpOigwLG4ubGluZVNlZ21lbnQpKCgwLG4ucG9pbnQpKGkscyksKDAsbi5wb2ludCkocixvKSk6bnVsbH1mdW5jdGlvbiBhKGUsdCl7Y29uc3QgaT1lLkEscz10LkEscj1lLkIsbz10LkIsYT1lLkMsbD10LkMsYz1pKm8tcypyO2lmKE1hdGguYWJzKGMpPDFlLTYpcmV0dXJuIG51bGw7Y29uc3QgaD0ocipsLW8qYSkvYyxkPShzKmEtaSpsKS9jO3JldHVybiBuZXcgbi5Qb2ludChoLGQpfWZ1bmN0aW9uIGwoZSx0LGkscyl7Y29uc3Qgbj1mdW5jdGlvbihlLHQsaSxzKXtjb25zdCBuPXQuc3VidHJhY3QoZSkscj1zLnN1YnRyYWN0KGkpLG89bi54KnIueS1uLnkqci54O2lmKE1hdGguYWJzKG8pPDFlLTYpcmV0dXJuIG51bGw7Y29uc3QgYT1lLnN1YnRyYWN0KGkpO3JldHVybihhLnkqci54LWEueCpyLnkpL299KGUsdCxpLHMpO2lmKG51bGw9PT1uKXJldHVybiBudWxsO2NvbnN0IG89dC5zdWJ0cmFjdChlKS5zY2FsZWQobikuYWRkKGUpLGE9KDAsci5kaXN0YW5jZVRvU2VnbWVudCkoaSxzLG8pO3JldHVybiBNYXRoLmFicyhhLmRpc3RhbmNlKTwxZS02P246bnVsbH1mdW5jdGlvbiBjKGUsdCl7Zm9yKGNvbnN0IGkgb2YgZSlpZigoMCxuLmVxdWFsUG9pbnRzKShpLHQpKXJldHVybiExO3JldHVybiBlLnB1c2godCksITB9ZnVuY3Rpb24gaChlLHQpe2NvbnN0IGk9dC5taW4ueCxyPXQubWluLnksbz10Lm1heC54LGE9dC5tYXgueTtpZigwPT09ZS5BKXtjb25zdCB0PS1lLkMvZS5CO3JldHVybiByPD10JiZ0PD1hPygwLG4ubGluZVNlZ21lbnQpKCgwLG4ucG9pbnQpKGksdCksKDAsbi5wb2ludCkobyx0KSk6bnVsbH1pZigwPT09ZS5CKXtjb25zdCB0PS1lLkMvZS5BO3JldHVybiBpPD10JiZ0PD1vPygwLG4ubGluZVNlZ21lbnQpKCgwLG4ucG9pbnQpKHQsciksKDAsbi5wb2ludCkodCxhKSk6bnVsbH17Y29uc3QgdD1bXSxsPWk9Pntjb25zdCBzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuLShlLkMrZS5BKnQpL2UuQn0oZSxpKTtyPD1zJiZzPD1hJiZjKHQsbmV3IG4uUG9pbnQoaSxzKSl9LGg9cz0+e2NvbnN0IHI9ZnVuY3Rpb24oZSx0KXsKcmV0dXJuLShlLkMrZS5CKnQpL2UuQX0oZSxzKTtpPD1yJiZyPD1vJiZjKHQsbmV3IG4uUG9pbnQocixzKSl9O3N3aXRjaChsKGkpLGgociksbChvKSxoKGEpLHQubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIG51bGw7Y2FzZSAxOnJldHVybiB0WzBdO2Nhc2UgMjpyZXR1cm4oMCxuLmVxdWFsUG9pbnRzKSh0WzBdLHRbMV0pP3RbMF06KDAsbi5saW5lU2VnbWVudCkodFswXSx0WzFdKX1yZXR1cm4oMCxzLmFzc2VydCkoITEsIldlIHNob3VsZCBoYXZlIGF0IG1vc3QgdHdvIGludGVyc2VjdGlvbiBwb2ludHMiKSxudWxsfX1mdW5jdGlvbiBkKGUsdCxpKXtjb25zdCBzPWwoZSx0LGkubWluLG5ldyBuLlBvaW50KGkubWF4LngsaS5taW4ueSkpLHI9bChlLHQsbmV3IG4uUG9pbnQoaS5tYXgueCxpLm1pbi55KSxpLm1heCksbz1sKGUsdCxpLm1heCxuZXcgbi5Qb2ludChpLm1pbi54LGkubWF4LnkpKSxhPWwoZSx0LG5ldyBuLlBvaW50KGkubWluLngsaS5tYXgueSksaS5taW4pLGM9W107aWYobnVsbCE9PXMmJnM+PTAmJmMucHVzaChzKSxudWxsIT09ciYmcj49MCYmYy5wdXNoKHIpLG51bGwhPT1vJiZvPj0wJiZjLnB1c2gobyksbnVsbCE9PWEmJmE+PTAmJmMucHVzaChhKSwwPT09Yy5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3QgaD1NYXRoLm1heCguLi5jKTtyZXR1cm4gZS5hZGRTY2FsZWQodC5zdWJ0cmFjdChlKSxoKX1mdW5jdGlvbiB1KGUsdCl7cmV0dXJuIShlLmxlbmd0aD4wJiYoKDAsbi5lcXVhbFBvaW50cykoZVtlLmxlbmd0aC0xXSx0KXx8KDAsbi5lcXVhbFBvaW50cykoZVswXSx0KSkpJiYoZS5wdXNoKHQpLCEwKX1mdW5jdGlvbiBwKGUsdCl7Y29uc3QgaT1bXTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoOysrcyl7Y29uc3Qgcj1lW3NdLG89ZVsocysxKSVlLmxlbmd0aF0sbD0oMCxuLmxpbmVUaHJvdWdoUG9pbnRzKShyLG8pO2lmKCgwLG4ucG9pbnRJbkhhbGZwbGFuZSkocix0KSl7aWYodShpLHIpLCEoMCxuLnBvaW50SW5IYWxmcGxhbmUpKG8sdCkpe2NvbnN0IGU9YShsLHQuZWRnZSk7bnVsbCE9PWUmJnUoaSxlKX19ZWxzZSBpZigoMCxuLnBvaW50SW5IYWxmcGxhbmUpKG8sdCkpe2NvbnN0IGU9YShsLHQuZWRnZSk7bnVsbCE9PWUmJnUoaSxlKX19cmV0dXJuIGkubGVuZ3RoPj0zP2k6bnVsbH19LDczNjUzMShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtQb2ludDooKT0+cyxib3g6KCk9PmQsZXF1YWxQb2ludHM6KCk9PnIsaGFsZnBsYW5lVGhyb3VnaFBvaW50OigpPT5jLGxpbmU6KCk9Pm8sbGluZVNlZ21lbnQ6KCk9PmwsbGluZVRocm91Z2hQb2ludHM6KCk9PmEscG9pbnQ6KCk9Pm4scG9pbnRJbkhhbGZwbGFuZTooKT0+aH0pO2NsYXNzIHN7Y29uc3RydWN0b3IoZSx0KXt0aGlzLng9ZSx0aGlzLnk9dH1hZGQoZSl7cmV0dXJuIG5ldyBzKHRoaXMueCtlLngsdGhpcy55K2UueSl9YWRkU2NhbGVkKGUsdCl7cmV0dXJuIG5ldyBzKHRoaXMueCt0KmUueCx0aGlzLnkrdCplLnkpfXN1YnRyYWN0KGUpe3JldHVybiBuZXcgcyh0aGlzLngtZS54LHRoaXMueS1lLnkpfWRvdFByb2R1Y3QoZSl7cmV0dXJuIHRoaXMueCplLngrdGhpcy55KmUueX1jcm9zc1Byb2R1Y3QoZSl7cmV0dXJuIHRoaXMueCplLnktdGhpcy55KmUueH1zaWduZWRBbmdsZShlKXtyZXR1cm4gTWF0aC5hdGFuMih0aGlzLmNyb3NzUHJvZHVjdChlKSx0aGlzLmRvdFByb2R1Y3QoZSkpfWFuZ2xlKGUpe3JldHVybiBNYXRoLmFjb3ModGhpcy5kb3RQcm9kdWN0KGUpLyh0aGlzLmxlbmd0aCgpKmUubGVuZ3RoKCkpKX1sZW5ndGgoKXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMueCp0aGlzLngrdGhpcy55KnRoaXMueSl9c2NhbGVkKGUpe3JldHVybiBuZXcgcyh0aGlzLngqZSx0aGlzLnkqZSl9bm9ybWFsaXplZCgpe3JldHVybiB0aGlzLnNjYWxlZCgxL3RoaXMubGVuZ3RoKCkpfXRyYW5zcG9zZWQoKXtyZXR1cm4gbmV3IHMoLXRoaXMueSx0aGlzLngpfWNsb25lKCl7cmV0dXJuIG5ldyBzKHRoaXMueCx0aGlzLnkpfX1mdW5jdGlvbiBuKGUsdCl7cmV0dXJuIG5ldyBzKGUsdCl9ZnVuY3Rpb24gcihlLHQpe3JldHVybiBlLng9PT10LngmJmUueT09PXQueX1mdW5jdGlvbiBvKGUsdCxpKXtpZigwPT09ZSYmMD09PXQpdGhyb3cgbmV3IEVycm9yKCJBIGFuZCBCIGNhbiBub3QgYmUgYm90aCBlcXVhbCB0byB6ZXJvLiIpO3JldHVybntBOmUsQjp0LEM6aX19ZnVuY3Rpb24gYShlLHQpe2lmKHIoZSx0KSl0aHJvdyBuZXcgRXJyb3IoIlBvaW50cyBzaG91bGQgYmUgZGlzdGluY3QiKTtyZXR1cm4gbyhlLnktdC55LHQueC1lLngsZS54KnQueS10LngqZS55KX1mdW5jdGlvbiBsKGUsdCl7aWYocihlLHQpKXRocm93IG5ldyBFcnJvcigiUG9pbnRzIG9mIGEgc2VnbWVudCBzaG91bGQgYmUgZGlzdGluY3QiKTtyZXR1cm5bZSx0XX1mdW5jdGlvbiBjKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7cmV0dXJue2VkZ2U6ZSxpc1Bvc2l0aXZlOnR9fShlLGUuQSp0LngrZS5CKnQueStlLkM+MCl9ZnVuY3Rpb24gaChlLHQpe2NvbnN0IGk9dC5lZGdlO3JldHVybiBpLkEqZS54K2kuQiplLnkraS5DPjA9PT10LmlzUG9zaXRpdmV9ZnVuY3Rpb24gZChlLHQpe3JldHVybnttaW46bihNYXRoLm1pbihlLngsdC54KSxNYXRoLm1pbihlLnksdC55KSksbWF4Om4oTWF0aC5tYXgoZS54LHQueCksTWF0aC5tYXgoZS55LHQueSkpfX19LDEzNDY3KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2FyZUVxdWFsUmdiOigpPT51LGFyZUVxdWFsUmdiYTooKT0+XyxibGVuZFJnYmE6KCk9PncsZGlzdGFuY2VSZ2I6KCk9PnksaHNsVG9SZ2I6KCk9PlMsaW52ZXJ0UmdiOigpPT5iLG5vcm1hbGl6ZUFscGhhQ29tcG9uZW50OigpPT5oLHBhcnNlUmdiOigpPT5PLHBhcnNlUmdiYTooKT0+RixyZ2I6KCk9PmQscmdiVG9CbGFja1doaXRlU3RyaW5nOigpPT5CLHJnYlRvSGV4U3RyaW5nOigpPT5ELHJnYlRvSHNsOigpPT5nLHJnYmE6KCk9PnAscmdiYVRvU3RyaW5nOigpPT5WLHNoaWZ0Q29sb3I6KCk9PlQsc2hpZnRSZ2I6KCk9PkMsc2hpZnRSZ2JhOigpPT5QLHRyeVBhcnNlUmdiOigpPT5OLHRyeVBhcnNlUmdiYTooKT0+V30pO3ZhciBzPWkoNjAxODQxKSxuPWkoODMwNzgzKQo7ZnVuY3Rpb24gcihlLHQsaSl7cmV0dXJuKDAscy5pc05hTikodCl8fHQ8ZT9lOnQ+aT9pOk1hdGgucm91bmQodCl9ZnVuY3Rpb24gbyhlLHQsaSl7cmV0dXJuKDAscy5pc05hTikodCl8fHQ8ZT9lOnQ+aT9pOk1hdGgucm91bmQoMWU0KnQpLzFlNH1mdW5jdGlvbiBhKGUpe3JldHVybiByKDAsZSwyNTUpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIHIoMCxlLDI1NSl9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gcigwLGUsMjU1KX1mdW5jdGlvbiBoKGUpe3JldHVybiBvKDAsZSwxKX1mdW5jdGlvbiBkKGUsdCxpKXtyZXR1cm5bYShlKSxsKHQpLGMoaSldfWZ1bmN0aW9uIHUoZSx0KXtyZXR1cm4gZVswXT09PXRbMF0mJmVbMV09PT10WzFdJiZlWzJdPT09dFsyXX1mdW5jdGlvbiBwKGUsdCxpLHMpe2lmKEFycmF5LmlzQXJyYXkoZSkpe2NvbnN0IGk9ZTtyZXR1cm4gcz10LFtpWzBdLGlbMV0saVsyXSxoKHMpXX17Y29uc3Qgbj10O3JldHVybiBpPWl8fDAscz1zfHwwLFthKGUpLGwobiksYyhpKSxoKHMpXX19ZnVuY3Rpb24gXyhlLHQpe3JldHVybiBlWzBdPT09dFswXSYmZVsxXT09PXRbMV0mJmVbMl09PT10WzJdJiZlWzNdPT09dFszXX1mdW5jdGlvbiBtKGUpe3JldHVybiBvKDAsZSwxKX1mdW5jdGlvbiBnKGUpe2NvbnN0W3QsaSxzXT1lLG49dC8yNTUscj1pLzI1NSxvPXMvMjU1LGE9TWF0aC5taW4obixyLG8pLGw9TWF0aC5tYXgobixyLG8pO2xldCBjPTAsaD0wO2NvbnN0IGQ9KGErbCkvMjtpZihhPT09bCljPTAsaD0wO2Vsc2V7Y29uc3QgZT1sLWE7c3dpdGNoKGg9ZD4uNT9lLygyLWwtYSk6ZS8obCthKSxsKXtjYXNlIG46Yz0oKHItbykvZSsocjxvPzY6MCkpLzY7YnJlYWs7Y2FzZSByOmM9KChvLW4pL2UrMikvNjticmVhaztjYXNlIG86Yz0oKG4tcikvZSs0KS82fX1yZXR1cm5bYyxoLGRdfWZ1bmN0aW9uIGYoZSx0LGkpe3JldHVybiBpPDAmJihpKz0xKSxpPjEmJihpLT0xKSxpPDEvNj9lKzYqKHQtZSkqaTppPC41P3Q6aTwyLzM/ZSsodC1lKSooMi8zLWkpKjY6ZX1mdW5jdGlvbiBTKGUpe2NvbnN0W3QsaSxzXT1lO2xldCBuLHIsbztpZigwPT09aSluPXI9bz1zO2Vsc2V7Y29uc3QgZT1zPC41P3MqKDEraSk6cytpLXMqaSxhPTIqcy1lO249ZihhLGUsdCsxLzMpLHI9ZihhLGUsdCksbz1mKGEsZSx0LTEvMyl9cmV0dXJuW2EoMjU1Km4pLGwoMjU1KnIpLGMoMjU1Km8pXX1jb25zdCB2PVsuMTk5LC42ODcsLjExNF07ZnVuY3Rpb24geShlLHQpe2NvbnN0W2kscyxuXT1lLFtyLG8sYV09dCxsPXItaSxjPW8tcyxoPWEtbjtyZXR1cm4gTWF0aC5zcXJ0KGwqbCtjKmMraCpoKX1mdW5jdGlvbiBiKGUpe2NvbnN0W3QsaSxzXT1lO3JldHVyblsyNTUtdCwyNTUtaSwyNTUtc119ZnVuY3Rpb24gdyhlLHQpe2NvbnN0W2kscyxuLHJdPWUsW28sZCx1LHBdPXQsXz1oKDEtKDEtcCkqKDEtcikpO3JldHVyblthKG8qcC9fK2kqciooMS1wKS9fKSxsKGQqcC9fK3MqciooMS1wKS9fKSxjKHUqcC9fK24qciooMS1wKS9fKSxfXX1mdW5jdGlvbiBDKGUsdCxpPS4wNSl7Y29uc3Qgcz1nKGUpLG49c1swXSt0Kmk7cmV0dXJuIHNbMF09bShuLU1hdGguZmxvb3IobikpLFMocyl9ZnVuY3Rpb24gUChlLHQsaT0uMDUpe2NvbnN0W3MsbixyLG9dPWUsW2EsbCxjXT1DKFtzLG4scl0sdCxpKTtyZXR1cm5bYSxsLGMsb119ZnVuY3Rpb24gVChlLHQsaT0uMDUpe3JldHVybiBWKFAoRihlKSx0LGkpKX12YXIgeCxNLEksTDtmdW5jdGlvbiBBKGUpe2NvbnN0IHQ9eC5yZS5leGVjKGUpO3JldHVybiBudWxsIT09dD94LnBhcnNlKHQpOm51bGx9ZnVuY3Rpb24gayhlKXtjb25zdCB0PU0ucmUuZXhlYyhlKTtyZXR1cm4gbnVsbCE9PXQ/TS5wYXJzZSh0KTpudWxsfWZ1bmN0aW9uIEQoZSl7Y29uc3RbdCxpLHNdPWUsbj10LnRvU3RyaW5nKDE2KSxyPWkudG9TdHJpbmcoMTYpLG89cy50b1N0cmluZygxNik7cmV0dXJuIiMiKygxPT09bi5sZW5ndGg/IjAiOiIiKStuKygxPT09ci5sZW5ndGg/IjAiOiIiKStyKygxPT09by5sZW5ndGg/IjAiOiIiKStvfWZ1bmN0aW9uIEUoZSl7Y29uc3QgdD1JLnJlLmV4ZWMoZSk7cmV0dXJuIG51bGwhPT10P0kucGFyc2UodCk6bnVsbH1mdW5jdGlvbiBSKGUpe2NvbnN0IHQ9TC5yZS5leGVjKGUpO3JldHVybiBudWxsIT09dD9MLnBhcnNlKHQpOm51bGx9ZnVuY3Rpb24gVihlKXtjb25zdFt0LGkscyxuXT1lO3JldHVybmByZ2JhKCR7dH0sICR7aX0sICR7c30sICR7bn0pYH1mdW5jdGlvbiBCKGUsdCl7aWYodDwwfHx0PjI1NSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgdGhyZXNob2xkIHZhbHVlLCB2YWxpZCB2YWx1ZXMgYXJlIFswLCAyNTVdIik7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB2WzBdKmVbMF0rdlsxXSplWzFdK3ZbMl0qZVsyXX0oZSk+PXQ/IndoaXRlIjoiYmxhY2sifWZ1bmN0aW9uIE4oZSl7ZT1lLnRvTG93ZXJDYXNlKCk7Y29uc3QgdD0oMCxuLnRyeVBhcnNlTmFtZWRSZ2JhKShlKTtpZihudWxsIT09dCl7Y29uc3RbZSxpLHNdPXQ7cmV0dXJuW2UsaSxzXX1jb25zdCBpPUEoZSk7aWYobnVsbCE9PWkpcmV0dXJuIGk7Y29uc3Qgcz1rKGUpO2lmKG51bGwhPT1zKXJldHVybiBzO2NvbnN0IHI9RShlKTtpZihudWxsIT09cilyZXR1cm4gcjtjb25zdCBvPVIoZSk7aWYobnVsbCE9PW8pe2NvbnN0W2UsdCxpXT1vO3JldHVybltlLHQsaV19cmV0dXJuIG51bGx9ZnVuY3Rpb24gTyhlKXtjb25zdCB0PU4oZSk7aWYobnVsbCE9PXQpcmV0dXJuIHQ7dGhyb3cgbmV3IEVycm9yKCJQYXNzZWQgY29sb3Igc3RyaW5nIGRvZXMgbm90IG1hdGNoIGFueSBvZiB0aGUga25vd24gY29sb3IgcmVwcmVzZW50YXRpb25zIil9ZnVuY3Rpb24gVyhlKXtlPWUudG9Mb3dlckNhc2UoKTtjb25zdCB0PSgwLG4udHJ5UGFyc2VOYW1lZFJnYmEpKGUpO2lmKG51bGwhPT10KXJldHVybiB0O2NvbnN0IGk9QShlKTtpZihudWxsIT09aSl7Y29uc3RbZSx0LHNdPWk7cmV0dXJuW2UsdCxzLDFdfWNvbnN0IHM9ayhlKTtpZihudWxsIT09cyl7Y29uc3RbZSx0LGldPXM7cmV0dXJuW2UsdCxpLDFdfWNvbnN0IHI9RShlKTtpZihudWxsIT09cil7Y29uc3RbZSx0LGldPXI7cmV0dXJuW2UsdCxpLDFdfWNvbnN0IG89UihlKQo7cmV0dXJuIG51bGwhPT1vP286bnVsbH1mdW5jdGlvbiBGKGUpe2NvbnN0IHQ9VyhlKTtpZihudWxsIT09dClyZXR1cm4gdDt0aHJvdyBuZXcgRXJyb3IoIlBhc3NlZCBjb2xvciBzdHJpbmcgZG9lcyBub3QgbWF0Y2ggYW55IG9mIHRoZSBrbm93biBjb2xvciByZXByZXNlbnRhdGlvbnMiKX0hZnVuY3Rpb24oZSl7ZS5yZT0vXnJnYlwoXHMqKC0/XGR7MSwxMH0pXHMqLFxzKigtP1xkezEsMTB9KVxzKixccyooLT9cZHsxLDEwfSlccypcKSQvLGUucGFyc2U9ZnVuY3Rpb24oZSl7cmV0dXJuW2EocGFyc2VJbnQoZVsxXSwxMCkpLGwocGFyc2VJbnQoZVsyXSwxMCkpLGMocGFyc2VJbnQoZVszXSwxMCkpXX19KHh8fCh4PXt9KSksZnVuY3Rpb24oZSl7ZS5yZT0vXiMoWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkkLyxlLnBhcnNlPWZ1bmN0aW9uKGUpe3JldHVyblthKHBhcnNlSW50KGVbMV0sMTYpKSxsKHBhcnNlSW50KGVbMl0sMTYpKSxjKHBhcnNlSW50KGVbM10sMTYpKV19fShNfHwoTT17fSkpLGZ1bmN0aW9uKGUpe2UucmU9L14jKFswLTlhLWZBLUZdKShbMC05YS1mQS1GXSkoWzAtOWEtZkEtRl0pJC8sZS5wYXJzZT1mdW5jdGlvbihlKXtyZXR1cm5bYShwYXJzZUludChlWzFdK2VbMV0sMTYpKSxsKHBhcnNlSW50KGVbMl0rZVsyXSwxNikpLGMocGFyc2VJbnQoZVszXStlWzNdLDE2KSldfX0oSXx8KEk9e30pKSxmdW5jdGlvbihlKXtlLnJlPS9ecmdiYVwoXHMqKC0/XGR7MSwxMH0pXHMqLFxzKigtP1xkezEsMTB9KVxzKixccyooLT9cZHsxLDEwfSlccyosXHMqKC0/W1xkXXswLDEwfSg/OlwuXGQrKT8pXHMqXCkkLyxlLnBhcnNlPWZ1bmN0aW9uKGUpe3JldHVyblthKHBhcnNlSW50KGVbMV0sMTApKSxsKHBhcnNlSW50KGVbMl0sMTApKSxjKHBhcnNlSW50KGVbM10sMTApKSxoKHBhcnNlRmxvYXQoZVs0XSkpXX19KEx8fChMPXt9KSl9LDcyNzA5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NyZWF0ZUdyb3VwOigpPT5sLGtleWJvYXJkUHJlc3NlZEtleXNTdGF0ZTooKT0+YSxwcmVzc2VkS2V5czooKT0+byxyZWdpc3RlcldpbmRvdzooKT0+Y30pO3ZhciBzPWkoMjkxMzQxKSxuPWkoNzc5Mzg5KTtjb25zdCByPW5ldyBzLkFjdGlvbk1hbmFnZXIsbz1yLnByZXNzZWRLZXlzKCksYT1yLmtleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgpO2Z1bmN0aW9uIGwoZSl7cmV0dXJuIG5ldyBuLkFjdGlvbkdyb3VwKHIsZSl9ZnVuY3Rpb24gYyhlKXtyLmxpc3RlbihlKX19LDM0Mjc4KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlLHQsaSl7cmV0dXJuIGUqKDEtaSkrdCppfWkuZCh0LHtkb0FuaW1hdGU6KCk9Pm8sbGVycDooKT0+c30pO2NvbnN0IG49e2Zyb206MCxkdXJhdGlvbjoyNTAsZWFzaW5nOmkoMjE4ODE0KS5lYXNpbmdGdW5jLmVhc2VPdXRDdWJpY307Y2xhc3Mgcntjb25zdHJ1Y3RvcihlKXt0aGlzLl9kb2luZz0hMCx0aGlzLl9jb21wbGV0ZWQ9ITEsdGhpcy5fb3B0aW9ucz17Li4ubiwuLi5lfTtjb25zdCB0PXBlcmZvcm1hbmNlLm5vdygpO3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGU9Pnt0aGlzLl9hbmltYXRpb24odCx0aGlzLl9vcHRpb25zLmZyb20sZSl9KSl9c3RvcCgpe3RoaXMuX2RvaW5nPSExfWNvbXBsZXRlZCgpe3JldHVybiB0aGlzLl9jb21wbGV0ZWR9X2FuaW1hdGlvbihlLHQsaSl7aWYoIXRoaXMuX2RvaW5nKXJldHVybiB2b2lkIHRoaXMuX2ZpbmlzaEFuaW1hdGlvbigpO2NvbnN0IG49KGk9IWl8fGk8MWUxMj9wZXJmb3JtYW5jZS5ub3coKTppKS1lLHI9bj49dGhpcy5fb3B0aW9ucy5kdXJhdGlvbnx8dD09PXRoaXMuX29wdGlvbnMudG8sbz1zKHRoaXMuX29wdGlvbnMuZnJvbSx0aGlzLl9vcHRpb25zLnRvLHRoaXMuX29wdGlvbnMuZWFzaW5nKG4vdGhpcy5fb3B0aW9ucy5kdXJhdGlvbikpLGE9cj90aGlzLl9vcHRpb25zLnRvOm8sbD1hLXQ7dGhpcy5fb3B0aW9ucy5vblN0ZXAobCxhKSxyP3RoaXMuX2ZpbmlzaEFuaW1hdGlvbigpOndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKHQ9Pnt0aGlzLl9hbmltYXRpb24oZSxhLHQpfSkpfV9maW5pc2hBbmltYXRpb24oKXt0aGlzLl9vcHRpb25zLm9uQ29tcGxldGUmJnRoaXMuX29wdGlvbnMub25Db21wbGV0ZSgpLHRoaXMuX2NvbXBsZXRlZD0hMH19ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbmV3IHIoZSl9fSwxMTU2NDQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7VE9BU1RfQU5JTUFUSU9OX0RVUkFUSU9OOigpPT5zfSk7Y29uc3Qgcz01MDB9LDc4MzU5MyhlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtjb25zdCBzPW5ldyBVUkwoZSksbj0iYmxvYjoiPT09bG9jYXRpb24ucHJvdG9jb2w/bmV3IFVSTChsb2NhdGlvbi5ocmVmLnNsaWNlKDUpKS5vcmlnaW4rIi8iOmxvY2F0aW9uLmhyZWYscj1uZXcgQmxvYihbInNlbGYuV0VCUEFDS19QVUJMSUNfUEFUSD0iLEpTT04uc3RyaW5naWZ5KG5ldyBVUkwoaS5wLG4pLmhyZWYpLCI7XG4iLCJzZWxmLmxvY2FsZT0iLEpTT04uc3RyaW5naWZ5KGkuZy5sb2NhbGUpLCI7XG4iLHQ/YHNlbGYubGFuZ3VhZ2U9JHtKU09OLnN0cmluZ2lmeSh0KX07XG5gOiIiLCJpbXBvcnRTY3JpcHRzKCIsSlNPTi5zdHJpbmdpZnkocy5ocmVmKSwiKTsiXSx7dHlwZToiYXBwbGljYXRpb24vamF2YXNjcmlwdCJ9KTtyZXR1cm4gVVJMLmNyZWF0ZU9iamVjdFVSTChyKX1pLmQodCx7V29ya2VyOigpPT5ufSk7Y2xhc3MgbiBleHRlbmRzIFdvcmtlcntjb25zdHJ1Y3RvcihlLHQpe2NvbnN0e2xhbmd1YWdlOmksLi4ubn09dD8/e307c3VwZXIocyhlLGkpLG4pfX19LDQxODI4MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRBbGVydFByZXNlbnRhdGlvbjooKT0+cn0pO3ZhciBzPWkoMTM4NjM4KSxuPWkoODQ0MzAxKTtmdW5jdGlvbiByKGUpe3JldHVybiBlLm5hbWV8fGUubWVzc2FnZXx8ZnVuY3Rpb24oZSl7Y29uc3R7cmVzb2x1dGlvbjp0LGNyb3NzSW50ZXJ2YWw6aX09ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLmZpbmQoKGU9PiFlLmNyb3NzSW50ZXJ2YWwpKTtyZXR1cm4gdD97cmVzb2x1dGlvbjp0LnJlc29sdXRpb24sCmNyb3NzSW50ZXJ2YWw6ITF9OntyZXNvbHV0aW9uOm51bGwsY3Jvc3NJbnRlcnZhbDohMH19KGUuY29uZGl0aW9ucyk7cmV0dXJuIGZ1bmN0aW9uKHtzeW1ib2w6ZSx3YXRjaGxpc3ROYW1lOnQscmVzb2x1dGlvbjppLGNyb3NzSW50ZXJ2YWw6cixpbmNsdWRlRXhjaGFuZ2U6b30pe3JldHVybiB0PygwLG4uZm9ybWF0V2F0Y2hsaXN0VGl0bGUpKHt3YXRjaGxpc3ROYW1lOnQscmVzb2x1dGlvbjppLGNyb3NzSW50ZXJ2YWw6cn0pOigwLG4uZm9ybWF0U3ltYm9sQW5kUmVzb2x1dGlvbikoe3N5bWJvbDooMCxzLmVuc3VyZU5vdE51bGwpKGUpLHJlc29sdXRpb246aSxjcm9zc0ludGVydmFsOnJ9LG8pfSh7c3ltYm9sOigwLHMuZW5zdXJlTm90TnVsbCkoZS5zeW1ib2wpLHdhdGNobGlzdE5hbWU6ZS5pc1dhdGNobGlzdEFsZXJ0P2Uud2F0Y2hsaXN0TmFtZTpudWxsLHJlc29sdXRpb246dCxjcm9zc0ludGVydmFsOml9KX0oZSl9fSwxMTM3MTgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7dHJhY2tBbGVydENyZWF0aW9uQXR0ZW1wdDooKT0+b30pO3ZhciBzPWkoMzYyMjM5KSxuPWkoODM2MDgxKSxyPWkoNzc4OTQ2KTthc3luYyBmdW5jdGlvbiBvKGUsdCxpKXtjb25zdCBvPWF3YWl0KDAscy5nZXRUcmFja2VyKSgpO28/LnRyYWNrU2VsZkRlc2MoImlnbHU6Y29tLnRyYWRpbmd2aWV3L2FsZXJ0c19jcmVhdGlvbi9qc29uc2NoZW1hLzEtMC01Iix7YWN0aW9uOiJjcmVhdGlvbl9hdHRlbXB0IixzeW1ib2w6ZSxtZXRob2Q6dCxzb3VyY2U6aSxwbGF0Zm9ybTooMCxyLmdldFBsYXRmb3JtKSgpLHVzZXJfaWQ6KDAsbi5nZXRVc2VySWQpKCksdXNlcl9wbGFuOigwLG4uZ2V0VXNlclBsYW4pKCksbG9jYWxlOigwLG4uZ2V0VXNlckxvY2FsZSkoKX0pfX0sNzM2MjgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0QWxlcnRzQ2hhcnRBY3Rpb25DcmVhdG9yczooKT0+c30pO2NvbnN0IHM9KDAsaSg4Mzk0MjYpLmRlZmF1bHQpKChhc3luYygpPT57Y29uc3R7Z2V0Q3JlYXRlQWxlcnRBY3Rpb246ZX09YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSgyNDQxKSxpLmUoNTc2NzQpXSkudGhlbihpLmJpbmQoaSwyNzQ1MzYpKSx7Z2V0RWRpdEFsZXJ0T25MaW5lRGF0YVNvdXJjZUFjdGlvbjp0fT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDI0NDEpLGkuZSg1NzY3NCldKS50aGVuKGkuYmluZChpLDg2MDkyNCkpO3JldHVybntjcmVhdGVBbGVydDplLGVkaXRBbGVydE9uTGluZURhdGFTb3VyY2U6dH19KSl9LDU1ODQ1NShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtjb25zdCBpPWUuZm9ybWF0dGVyKCk7aWYoaS5wYXJzZSl7Y29uc3QgZT1pLnBhcnNlKGkuZm9ybWF0KHQpKTtpZihlLnJlcylyZXR1cm4gZS52YWx1ZX1yZXR1cm4gdH1pLmQodCx7cm91bmRBbGVydFZhbHVlVXNpbmdQcmVjaXNpb246KCk9PnN9KX0sNDg3ODIwKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHMsbjtpLmQodCx7QWxlcnRDaGFydERpc3BsYXlUYXJnZXQ6KCk9Pm4sQWxlcnRTdG9wUmVhc29uOigpPT5zfSksZnVuY3Rpb24oZSl7ZVtlLkF1dG89MF09IkF1dG8iLGVbZS5NYW51YWw9MV09Ik1hbnVhbCIsZVtlLkV4cGlyZWQ9Ml09IkV4cGlyZWQiLGVbZS5DcmVhdGVkPTNdPSJDcmVhdGVkIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlW2UuTGFiZWw9MF09IkxhYmVsIixlW2UuU3RhdHVzVmlldz0xXT0iU3RhdHVzVmlldyJ9KG58fChuPXt9KSl9LDE0NDUzNChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRDaGFydEFsZXJ0c0ZhY2FkZTooKT0+byxnZXRDaGFydEFsZXJ0c0ZhY2FkZUlmQ3JlYXRlZEJlZm9yZTooKT0+YX0pO3ZhciBzPWkoNTk2ODA0KTtsZXQgbixyO2FzeW5jIGZ1bmN0aW9uIG8oKXtyZXR1cm4gbnx8KG49YXN5bmMgZnVuY3Rpb24oKXtjb25zdFtlLHtnZXRBbGVydHNDb2xsZWN0aW9uOnR9LG5dPWF3YWl0IFByb21pc2UuYWxsKFtQcm9taXNlLmFsbChbaS5lKDkyNDE5KSxpLmUoMzA2OTkpLGkuZSg0NjIxNyksaS5lKDY2OTMzKSxpLmUoNDM4MjcpLGkuZSg2MzI5MCksaS5lKDM4NDQyKV0pLnRoZW4oaS5iaW5kKGksNDc3MzE4KSksUHJvbWlzZS5hbGwoW2kuZSg4NDY5MyksaS5lKDg4OTk3KSxpLmUoMzA2OTkpLGkuZSg0NjIxNyksaS5lKDY2OTMzKSxpLmUoNzEzMTkpXSkudGhlbihpLmJpbmQoaSwxNDMyNjYpKSwoMCxzLmdldENoYXJ0U291cmNlSWRzR2V0dGVyKSgpXSk7cmV0dXJuIG5ldyBlLkNoYXJ0QWxlcnRzRmFjYWRlKHQoKSxuKX0oKSkscnx8KHI9YXdhaXQgbikscn1mdW5jdGlvbiBhKCl7cmV0dXJuIHI/P251bGx9fSwxNzU4MTUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0Q2hhcnRBbGVydHNGYWNhZGU6KCk9PnMuZ2V0Q2hhcnRBbGVydHNGYWNhZGV9KTt2YXIgcz1pKDE0NDUzNCl9LDk3NjQ5OShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtjb25maXJtRGF0YXNvdXJjZVJlbW92aW5nOigpPT5vfSk7dmFyIHM9aSgxODUyNzEpLG49aSgyMzQ5NjQpO2NvbnN0IHI9cy50KG51bGwsdm9pZCAwLGkoMTE2NzY4KSk7ZnVuY3Rpb24gbyhlLHQpe2NvbnN0e2hhc0xvY2tlZFNvdXJjZXM6byx0ZXh0OmE9cixvbkNvbmZpcm06bCxvbkNsb3NlOmN9PWUsaD1vP3MudChudWxsLHZvaWQgMCxpKDQwOTIxKSk6cy50KG51bGwsdm9pZCAwLGkoMTQwNDA3KSk7cmV0dXJuIG5ldyBQcm9taXNlKChyPT4oMCxuLnNob3dDb25maXJtKSh7Li4uZSx0aXRsZTpoLHRleHQ6YSxtYWluQnV0dG9uVGV4dDpzLnQobnVsbCx7Y29udGV4dDoiQnV0dG9uIGluIGEgY29uZmlybWF0aW9uIGRpYWxvZyJ9LGkoMzE4NzM0KSksbWFpbkJ1dHRvbkludGVudDoiZGFuZ2VyIixjYW5jZWxCdXR0b25UZXh0OnMudChudWxsLHtjb250ZXh0OiJCdXR0b24gaW4gYSBjb25maXJtYXRpb24gZGlhbG9nIn0saSgyNjQ3MzkpKSxvbkNvbmZpcm06ZT0+e2w/LihlKSxyKCEwKSxlLmRpYWxvZ0Nsb3NlKCl9LG9uQ2xvc2U6KCk9PntjPy4oKSxyKCExKX19LHQpKSl9fSw2MTA0NjQoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztpLmQodCx7Q29uc3RhbnRzOigpPT5zfSksZnVuY3Rpb24oZSl7CmUuRHJhd2luZ0ljb25Db2xvcj0icmdiYSggMTcwLCAxNzAsIDE3MCwgMSkifShzfHwocz17fSkpfSw1ODYxNjUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7aGFzVXN1YWxBbGVydFBsb3RzOigpPT5sLGlzRmlyc3RBbGVydFBsb3RVc3VhbDooKT0+YX0pO3ZhciBzPWkoMjI0MTgzKSxuPWkoOTU2NDM3KSxyPWkoMjQxMyksbz1pKDI1MDQ2Nyk7ZnVuY3Rpb24gYShlKXtpZigoMCxzLmlzU2VyaWVzKShlKSlyZXR1cm4hMDtpZigoMCxuLmlzU3R1ZHkpKGUpJiYhKDAsbi5pc1N0dWR5U3RyYXRlZ3kpKGUpKXtjb25zdCB0PSgwLHIucGxvdHNGb3JBbGVydCkoZS5tZXRhSW5mbygpLGUub2Zmc2V0LmJpbmQoZSkpO3JldHVybiFlLm1ldGFJbmZvKCkuaGFzQWxlcnRGdW5jdGlvbiYmdC5ldmVyeSgoZT0+ZS50eXBlIT09by5JbnRlcm5hbFN0dWR5UGxvdFR5cGUuQWxlcnRDb25kaXRpb24pKX1yZXR1cm4hMX1mdW5jdGlvbiBsKGUpe2lmKCgwLHMuaXNTZXJpZXMpKGUpKXJldHVybiEwO2lmKCgwLG4uaXNTdHVkeSkoZSkmJiEoMCxuLmlzU3R1ZHlTdHJhdGVneSkoZSkpe3JldHVybigwLHIucGxvdHNGb3JBbGVydCkoZS5tZXRhSW5mbygpLGUub2Zmc2V0LmJpbmQoZSkpLnNvbWUoKGU9PmUudHlwZSE9PW8uSW50ZXJuYWxTdHVkeVBsb3RUeXBlLkFsZXJ0Q29uZGl0aW9uKSl9cmV0dXJuITF9fSw2ODM5MDIoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0U2VyaWVzSWRGb3JBbGVydDooKT0+byxnZXRTdHVkeUlkRm9yQWxlcnQ6KCk9PmF9KTt2YXIgcz1pKDE2NzkxMCksbj1pKDc0OTgxNCkscj1pKDI1NDY3Myk7ZnVuY3Rpb24gbyhlLHQpe3JldHVybigwLHMuaGFzaCkoZStyLkludGVydmFsLm5vcm1hbGl6ZSh0KSkudG9TdHJpbmcoKX1mdW5jdGlvbiBhKGUsdCxpKXtyZXR1cm4oMCxzLmhhc2gpKGUrKDAsbi5zb3J0ZWRTdHJpbmdpZnkpKHQpKyhpPz8iIikpLnRvU3RyaW5nKCl9fSw1OTY4MDQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0Q2hhcnRTb3VyY2VJZHNHZXR0ZXI6KCk9PnN9KTtjb25zdCBzPSgwLGkoODM5NDI2KS5kZWZhdWx0KSgoYXN5bmMoKT0+e2NvbnN0e0NoYXJ0U291cmNlSWRzR2V0dGVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMTEzNzgpLGkuZSgzMDY5OSksaS5lKDQ2MjE3KSxpLmUoNjY5MzMpLGkuZSg0MzgyNyksaS5lKDIyNTMyKV0pLnRoZW4oaS5iaW5kKGksODc4ODA5KSk7cmV0dXJuIG5ldyBlfSkpfSwzNTMwNDAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y2FuUGxhY2VBbGVydE9uUmVzb2x1dGlvbjooKT0+cn0pO3ZhciBzPWkoMjU0NjczKSxuPWkoNDc5MzQpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdCBpPXMuSW50ZXJ2YWwuaXNTZWNvbmRzKGUpLHI9dD90Py5hbGVydHNPblNlY29uZHM6KDAsbi5lbmFibGVkKSgiQUxFUlRTX09OX1NFQ09ORFMiKTtyZXR1cm4haXx8cn19LDE2MjU4KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2Zvcm1hdEFwcGVuZGluZ1Jlc29sdXRpb25TdHJpbmc6KCk9Pm59KTt2YXIgcz1pKDQ2NTEzNyk7ZnVuY3Rpb24gbihlKXtjb25zdCB0PSgwLHMuZ2V0VHJhbnNsYXRlZFJlc29sdXRpb24pKGUpO3JldHVybigwLHMuZm9ybWF0RGlyZWN0aW9uYWxSZXNvbHV0aW9uKSh0KX19LDI2MTE1NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtmb3JtYXRTeW1ib2xBbmRSZXNvbHV0aW9uOigpPT5hLGZvcm1hdFN5bWJvbFN0cmluZzooKT0+bH0pO3ZhciBzPWkoMzQ0MTAzKSxuPWkubihzKSxyPWkoMTExOTUzKSxvPWkoMTYyNTgpO2Z1bmN0aW9uIGEoZSx0KXtjb25zdCBpPWwoZS5zeW1ib2wsdCk7aWYoZS5jcm9zc0ludGVydmFsfHwhZS5yZXNvbHV0aW9uKXJldHVybiBpO3JldHVybiBpKygwLG8uZm9ybWF0QXBwZW5kaW5nUmVzb2x1dGlvblN0cmluZykoZS5yZXNvbHV0aW9uKX1mdW5jdGlvbiBsKGUsdCl7bGV0IGk9KDAsci51bndyYXBTaW1wbGVTeW1ib2wpKGUpO3JldHVybiB0fHwoaT1uKCkuc2hvcnROYW1lKGkpKSxpfX0sNDg1MTc5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2Zvcm1hdFdhdGNobGlzdFRpdGxlOigpPT5ufSk7dmFyIHM9aSgxNjI1OCk7ZnVuY3Rpb24gbihlKXtjb25zdCB0PWUud2F0Y2hsaXN0TmFtZTtpZihlLmNyb3NzSW50ZXJ2YWx8fCFlLnJlc29sdXRpb24pcmV0dXJuIHQ7cmV0dXJuIHQrKDAscy5mb3JtYXRBcHBlbmRpbmdSZXNvbHV0aW9uU3RyaW5nKShlLnJlc29sdXRpb24pfX0sODYyOTUxKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gcigpLnRoZW4oKHQ9PnQuaGFzVXNlckFjY2Vzc1RvRGF0YVNvdXJjZShlKSkpfWZ1bmN0aW9uIG4oZSl7cmV0dXJuIHIoKS50aGVuKCh0PT50LmZpbHRlckFjY2Vzc2libGVEYXRhU291cmNlcyhlKSkpfWkuZCh0LHtmaWx0ZXJBY2Nlc3NpYmxlRGF0YVNvdXJjZXM6KCk9Pm4saGFzVXNlckFjY2Vzc1RvRGF0YVNvdXJjZTooKT0+c30pO2NvbnN0IHI9KCk9PmkuZSg0MzQ1OCkudGhlbihpLmJpbmQoaSw0NzkxNDYpKX0sNDU2MDIzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Nob3dHb1Byb0FsZXJ0c09uU2Vjb25kc0RpYWxvZzooKT0+bn0pO3ZhciBzPWkoNzcwNzU1KTtpKDMwMDI4Nik7ZnVuY3Rpb24gbigpeygwLHMub3BlblBheXdhbGwpKHtmZWF0dXJlOiJhbGVydHNPblNlY29uZHMifSl9fSwxNTMzNDcoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0QWxlcnRzQWN0aW9uQ3JlYXRvcnM6KCk9Pm59KTt2YXIgcz1pKDgzOTQyNik7Y29uc3Qgbj0oMCxzLmRlZmF1bHQpKChhc3luYygpPT5uZXcoKGF3YWl0IFByb21pc2UuYWxsKFtpLmUoNTU4MDEpLGkuZSgzMDY5OSksaS5lKDQ2MjE3KSxpLmUoNjY5MzMpLGkuZSg0MzgyNyksaS5lKDkyMjI5KV0pLnRoZW4oaS5iaW5kKGksNjM1MDgxKSkpLkFsZXJ0c0FjdGlvbkNyZWF0b3JzKSkpOygwLHMuZGVmYXVsdCkoKGFzeW5jKCk9PnsKY29uc3RbZSx7Z2V0QWxlcnRTZXNzaW9uOnR9XT1hd2FpdCBQcm9taXNlLmFsbChbUHJvbWlzZS5hbGwoW2kuZSgxMDc3NiksaS5lKDE1MTczKV0pLnRoZW4oaS5iaW5kKGksOTA5MDExKSksUHJvbWlzZS5hbGwoW2kuZSg3ODAzNCksaS5lKDg1MDU3KV0pLnRoZW4oaS5iaW5kKGksNjE0OTU3KSldKTtyZXR1cm4gbmV3IGUuRmlyZXNBY3Rpb25DcmVhdG9ycyh0KCkpfSkpfSwzODY0NjYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUsdCl7aWYoZS5sZW5ndGg+dCl7Y29uc3QgaT0vW1xXXSskL2cscz1lLnN1YnN0cmluZygwLHQpLG49cy5yZXBsYWNlKGksIiIpO3JldHVybmAke24ubGVuZ3RoP246cy5zdWJzdHJpbmcoMCx0LTEpfeKApmB9cmV0dXJuIGV9aS5kKHQse2N1dFN0cmluZzooKT0+c30pfSw0MDAwNihlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtBbGVydEVkaXRvckFib3J0UmVhc29uOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5BbGVydElzSW52YWxpZD0iYWxlcnQtaXMtaW52YWxpZCIsZS5BbGVydHNNYWludGVuYW5jZT0iYWxlcnRzLW1haW50ZW5hbmNlIixlLkNoYXJ0TW9kZWxOb3RGb3VuZD0iY2hhcnQtbW9kZWwtbm90LWZvdW5kIixlLklzQWxyZWFkeVByZXNlbnQ9ImlzLWFscmVhZHktcHJlc2VudCIsZS5NYWluU2VyaWVzSXNBVFI9Im1haW4tc2VyaWVzLWlzLWF0ciIsZS5NYWluU2VyaWVzSXNQZXJjZW50YWdlTFRQPSJtYWluLXNlcmllcy1pcy1wZXJjZW50YWdlLWx0cCIsZS5NYWluU2VyaWVzSXNJblJlcGxheT0ibWFpbi1zZXJpZXMtaXMtaW4tcmVwbGF5IixlLk1haW5TZXJpZXNJc09mZmxpbmU9Im1haW4tc2VyaWVzLWlzLW9mZmxpbmUiLGUuU291cmNlSXNEYW5nZXJvdXM9InNvdXJjZS1pcy1kYW5nZXJvdXMiLGUuU3ltYm9sSW5mb1RpbWVvdXQ9InN5bWJvbC1pbmZvLXRpbWVvdXQiLGUuU3ltYm9sSXNJbnZhbGlkPSJzeW1ib2wtaXMtaW52YWxpZCIsZS5TeW1ib2xDdXJyZW5jeUNvbnZlcnRlZD0ic3ltYm9sLWN1cnJlbmN5LWNvbnZlcnRlZCIsZS5TeW1ib2xVbml0Q29udmVydGVkPSJzeW1ib2wtdW5pdC1jb252ZXJ0ZWQiLGUuU3ltYm9sQ3VycmVuY3lBbmRVbml0Q29udmVydGVkPSJzeW1ib2wtY3VycmVuY3ktYW5kLXVuaXQtY29udmVydGVkIixlLlN5bWJvbElzRWNvbm9taWNzPSJzeW1ib2wtaXMtZWNvbm9taWNzIixlLlN5bWJvbFdpdGhNZXRyaWNzPSJzeW1ib2wtd2l0aC1tZXRyaWNzIixlLlVuc3VwcG9ydGVkUmVzb2x1dGlvbj0idW5zdXBwb3J0ZWQtcmVzb2x1dGlvbiIsZS5NYW51YWxBYm9ydD0ibWFudWFsLWFib3J0IixlLk1pc2xlYWRpbmdQcmljZVNjYWxlPSJtaXNsZWFkaW5nLXByaWNlLXNjYWxlIixlLlJlc29sdXRpb25Jc1RpY2tzPSJyZXNvbHV0aW9uLWlzLXRpY2tzIn0oc3x8KHM9e30pKX0sNzIxMDQyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3RyYWNrQWxlcnRDcmVhdGlvbkF0dGVtcHQ6KCk9PnMudHJhY2tBbGVydENyZWF0aW9uQXR0ZW1wdH0pO3ZhciBzPWkoMTEzNzE4KX0sODIyNzk1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0FsZXJ0RWRpdG9ySW52b2NhdGlvbk1vZGU6KCk9PmEuQWxlcnRFZGl0b3JJbnZvY2F0aW9uTW9kZSxpbnZva2VBbGVydEVkaXRvcjooKT0+Y30pO3ZhciBzPWkoMTM4NjM4KSxuPWkoMjIxMDYxKSxyPWkoODYyOTUxKSxvPWkoNDAwMDYpLGE9aSg0MjM3NDUpO2NvbnN0IGw9KDAsbi5nZXRMb2dnZXIpKCJBbGVydHMuUHJpY2UuSW52b2tlQWxlcnRFZGl0b3IiKTthc3luYyBmdW5jdGlvbiBjKGUpewpjb25zdFt7Z2V0QWxlcnRzVHJhY2tlcnM6dH0se2dldEludm9jYXRpb25Nb2RlOm4sc2hvdWxkQWJvcnRBbGVydEVkaXRvcjpyLHNob3dBYm9ydEV4cGxhaW5pbmdEaWFsb2c6YX0se2xvY2tFZGl0b3JJbnZvY2F0aW9uOmN9XT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDc5NDc2KS50aGVuKGkuYmluZChpLDQzNjgzNikpLFByb21pc2UuYWxsKFtpLmUoNzg0NCksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSgxMjM4NSksaS5lKDgxMDcyKSxpLmUoOTQ5NDgpLGkuZSgyMzYyNCksaS5lKDM2MjIyKSxpLmUoMjk1MzYpLGkuZSgzMjgxNiksaS5lKDU2MjUyKSxpLmUoODM0ODgpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoNjc3OTkpLGkuZSgxMTQ2MSksaS5lKDI0NTgxKSxpLmUoOTY1ODcpLGkuZSgxMTIxOCksaS5lKDg2NDIzKSxpLmUoMzc1MTMpLGkuZSg4NTc5KSxpLmUoOTUwNCksaS5lKDQwODM1KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDQ5NTg4KSxpLmUoMTAzODUpLGkuZSg1MjA2NSksaS5lKDcwODE1KSxpLmUoNzQzODEpLGkuZSg5MzQxNiksaS5lKDYxODIxKSxpLmUoNTczMDApLGkuZSg1MjY4MCksaS5lKDMyNzQ4KSxpLmUoODk1NTgpLGkuZSg2NjI3MCksaS5lKDEwMzY2KSxpLmUoNTE2ODIpLGkuZSgzNzc2NyksaS5lKDIwMiksaS5lKDk3NjYwKSxpLmUoNzI1MTIpLGkuZSg5NDA1NCksaS5lKDQwODY3KSxpLmUoMzk3ODYpLGkuZSg1MDgwMCksaS5lKDYwODIpLGkuZSg5MDk2MCksaS5lKDY3NTQzKSxpLmUoOTAzMzApLGkuZSg5NjE4MSksaS5lKDczODcpLGkuZSg2ODU3OSksaS5lKDQxOTgwKSxpLmUoMjc0NDYpLGkuZSg3OTg5MiksaS5lKDMyMzg3KSxpLmUoMzA2OTkpLGkuZSgyMzc0MyksaS5lKDcyMTEpLGkuZSg0NjIxNyksaS5lKDY2OTMzKSxpLmUoNzM1MzUpLGkuZSg1NzA5MyksaS5lKDY5MDMyKSxpLmUoMTYwMzEpLGkuZSg2MzI5MCksaS5lKDcwNTMyKV0pLnRoZW4oaS5iaW5kKGksNDA0NTg5KSksUHJvbWlzZS5hbGwoW2kuZSg3ODQ0KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDMyODE2KSxpLmUoNTYyNTIpLGkuZSg4MzQ4OCksaS5lKDE5NTk1KSxpLmUoMTk3ODcpLGkuZSg2Nzc5OSksaS5lKDExNDYxKSxpLmUoMjQ1ODEpLGkuZSg5NjU4NyksaS5lKDExMjE4KSxpLmUoODY0MjMpLGkuZSgzNzUxMyksaS5lKDg1NzkpLGkuZSg5NTA0KSxpLmUoNDA4MzUpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoNDk1ODgpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDkzNDE2KSxpLmUoNjE4MjEpLGkuZSg1NzMwMCksaS5lKDUyNjgwKSxpLmUoMzI3NDgpLGkuZSg4OTU1OCksaS5lKDY2MjcwKSxpLmUoMTAzNjYpLGkuZSg1MTY4MiksaS5lKDM3NzY3KSxpLmUoMjAyKSxpLmUoOTc2NjApLGkuZSg3MjUxMiksaS5lKDk0MDU0KSxpLmUoNDA4NjcpLGkuZSgzOTc4NiksaS5lKDUwODAwKSxpLmUoNjA4MiksaS5lKDkwOTYwKSxpLmUoNjc1NDMpLGkuZSg5MDMzMCksaS5lKDk2MTgxKSxpLmUoNzM4NyksaS5lKDY4NTc5KSxpLmUoNDE5ODApLGkuZSgyNzQ0NiksaS5lKDc5ODkyKSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDIzNzQzKSxpLmUoNzIxMSksaS5lKDQ2MjE3KSxpLmUoNjY5MzMpLGkuZSg3MzUzNSksaS5lKDU3MDkzKSxpLmUoNjkwMzIpLGkuZSgxNjAzMSksaS5lKDYzMjkwKSxpLmUoNzA1MzIpXSkudGhlbihpLmJpbmQoaSw3NzYyNTYpKV0pLGQ9dCgpLm1haW50ZW5hbmNlO2Quc3luY09uVXNlckFjdGlvbigpO2NvbnN0IHU9cihlLGQpO2lmKG51bGwhPT11KXJldHVybiB1IT09by5BbGVydEVkaXRvckFib3J0UmVhc29uLklzQWxyZWFkeVByZXNlbnQmJmEodSxuKGUpKSxsLmxvZ1dhcm4oYEFib3J0ZWQ6ICR7dX1gKSx2b2lkIGUub25BYm9ydGVkPy4odSk7Y29uc3RbcCxfXT1jKGUpO3RyeXsKY29uc3Rbe2dldEFsZXJ0U2Vzc2lvbjp0fSx7aW52b2tlRGlhbG9nQWxlcnRFZGl0b3I6bixpbnZva2VTaWxlbnRBbGVydEVkaXRvcjpyLGNvbnZlcnRPcHRpb25zRm9yU2lsZW50SW52b2tlcjpvLGNvbnZlcnRPcHRpb25zRm9yRGlhbG9nSW52b2tlcjphfSxsXT1hd2FpdCBQcm9taXNlLmFsbChbUHJvbWlzZS5hbGwoW2kuZSg3ODAzNCksaS5lKDg1MDU3KV0pLnRoZW4oaS5iaW5kKGksNjE0OTU3KSksUHJvbWlzZS5hbGwoW2kuZSg3ODQ0KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDMyODE2KSxpLmUoNTYyNTIpLGkuZSg4MzQ4OCksaS5lKDE5NTk1KSxpLmUoMTk3ODcpLGkuZSg2Nzc5OSksaS5lKDExNDYxKSxpLmUoMjQ1ODEpLGkuZSg5NjU4NyksaS5lKDExMjE4KSxpLmUoODY0MjMpLGkuZSgzNzUxMyksaS5lKDg1NzkpLGkuZSg5NTA0KSxpLmUoNDA4MzUpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoNDk1ODgpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDkzNDE2KSxpLmUoNjE4MjEpLGkuZSg1NzMwMCksaS5lKDUyNjgwKSxpLmUoMzI3NDgpLGkuZSg4OTU1OCksaS5lKDY2MjcwKSxpLmUoMTAzNjYpLGkuZSg1MTY4MiksaS5lKDM3NzY3KSxpLmUoMjAyKSxpLmUoOTc2NjApLGkuZSg3MjUxMiksaS5lKDk0MDU0KSxpLmUoNDA4NjcpLGkuZSgzOTc4NiksaS5lKDUwODAwKSxpLmUoNjA4MiksaS5lKDkwOTYwKSxpLmUoNjc1NDMpLGkuZSg5MDMzMCksaS5lKDk2MTgxKSxpLmUoNzM4NyksaS5lKDY4NTc5KSxpLmUoNDE5ODApLGkuZSgyNzQ0NiksaS5lKDc5ODkyKSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDIzNzQzKSxpLmUoNzIxMSksaS5lKDQ2MjE3KSxpLmUoNjY5MzMpLGkuZSg3MzUzNSksaS5lKDU3MDkzKSxpLmUoNjkwMzIpLGkuZSgxNjAzMSksaS5lKDYzMjkwKSxpLmUoNzA1MzIpXSkudGhlbihpLmJpbmQoaSwxNTQyOTYpKSxoKF8pXSksYz0oMCxzLmVuc3VyZU5vdE51bGwpKHQoKS51c2VyLnZhbHVlKCkpO2Uuc2lsZW50P3IobyhsKSxjKTpuKGEobCksYyl9Y2F0Y2goZSl7cCgpfX1hc3luYyBmdW5jdGlvbiBoKGUpe2NvbnN0IHQ9ey4uLmV9O3JldHVybiB0LnNlcmllcyYmIWF3YWl0KDAsci5oYXNVc2VyQWNjZXNzVG9EYXRhU291cmNlKSh0LnNlcmllcykmJihkZWxldGUgdC5zZXJpZXMsZGVsZXRlIHQudmFsdWUpLHR9fSw0MjM3NDUoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcyxuO2kuZCh0LHtBbGVydEVkaXRvckludm9jYXRpb25Nb2RlOigpPT5uLEV4cGlyYXRpb25QcmVzZXRUeXBlOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5PcGVuRW5kZWQ9Im9wZW4tZW5kZWQiLGUuRml4ZWQ9ImZpeGVkIixlLk5leHRSZXBvcnQ9Im5leHQtcmVwb3J0In0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLkNyZWF0ZUFsZXJ0PSJjcmVhdGVfYWxlcnQiLGUuRWRpdEFsZXJ0PSJlZGl0X2FsZXJ0IixlLlNob3dSZWFkb25seUFsZXJ0PSJzaG93X2FsZXJ0In0obnx8KG49e30pKX0sNDkwMzk5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2FsZXJ0c0F2YWlsYWJsZTooKT0+c30pO2NvbnN0IHM9KDAsaSg5MzAyMzEpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhbGVydHMiKX0sNjEzODcwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2lzU2lnbk1vZGFsT3BlbjooKT0+aCxzaG93U2lnbk1vZGFsOigpPT5jfSk7dmFyIHM9aSg4NDIxMDIpLG49aSg5Nzg1NCkscj1pKDcxOTE5NCksbz1pKDc1NjI3MSksYT1pKDkzNDA4MSk7bGV0IGw9KCk9PiExO2FzeW5jIGZ1bmN0aW9uIGMoZSl7Y29uc3QgdD0oMCxzLmlzU2hvd1Byb21vVmlkZW8pKCksbj1PYmplY3QuYXNzaWduKHt9LGUse2lzU2hvd1ZpZGVvOnR9KTtpZih3aW5kb3cuVFZEJiZ3aW5kb3cuVFZELnNpZ25JbilyZXR1cm4gd2luZG93LlRWRC5zaWduSW4obik7e3QmJmZ1bmN0aW9uKCl7Y29uc3R7cG9zdGVyOmV9PWEuU1RPUllfUE9TVEVSU1soMCxyLnBpY2tTdG9yeUluZGV4KShvLlNUT1JZX05BTUVTKV0sdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7dC5yZWw9InByZWxvYWQiLHQuYXM9ImltYWdlIix0LmhyZWY9ZSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHQpfSgpO2NvbnN0IGU9YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSg4NTUzNyksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg5NDk0OCksaS5lKDk0MjMyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDI0NTgxKSxpLmUoMTEyMTgpLGkuZSg4NTc5KSxpLmUoNzI2NjYpLGkuZSg3MDgxNSksaS5lKDc0MzgxKSxpLmUoMTU1MjYpLGkuZSg5MzQxNiksaS5lKDM3NzY3KSxpLmUoMzI2MzIpLGkuZSgzNTE5OCksaS5lKDQ2NTkxKSxpLmUoOTQwNTQpLGkuZSg1MDYyMiksaS5lKDM4ODY4KSxpLmUoNTkzNTApLGkuZSgyMDk4NiksaS5lKDMyMzg3KSxpLmUoNDQ3ODApLGkuZSg3NTkzMCksaS5lKDg1OTc0KV0pLnRoZW4oaS5iaW5kKGksNzMwODQxKSk7cmV0dXJuIGw9ZS5pc1NpZ25Nb2RhbE9wZW4sZS5zaG93U2lnbk1vZGFsKG4pfX1mdW5jdGlvbiBoKCl7cmV0dXJuIGwoKX1uLm9uZVRhcFNpZ25Nb2RhbERlbGVnYXRlLnN1YnNjcmliZShudWxsLGMpfSwxNDE2NShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0LGkpe2NvbnN0IHM9ZS5nZXQodCk7cmV0dXJuIHZvaWQgMCE9PXM/czooZS5zZXQodCxpKSxpKX1mdW5jdGlvbiBuKGUsdCxpKXtjb25zdCBzPWUuZ2V0KHQpO2lmKHZvaWQgMCE9PXMpcmV0dXJuIHM7Y29uc3Qgbj1pKCk7cmV0dXJuIGUuc2V0KHQsbiksbn1mdW5jdGlvbiByKGUsdCxpLG4pe2NvbnN0IHI9cyhlLHQsbmV3IE1hcCk7cmV0dXJuIHMocixpLG4pfWZ1bmN0aW9uIG8oZSx0LGkscil7cmV0dXJuIG4ocyhlLHQsbmV3IE1hcCksaSxyKX0KZnVuY3Rpb24gYShlLHQsaSxuLHIpe2NvbnN0IG89cyhlLHQsbmV3IE1hcCksYT1zKG8saSxuZXcgTWFwKTtyZXR1cm4gcyhhLG4scil9aS5kKHQse0Fic3RyYWN0TWFwQ29udGFpbmVyOigpPT5sLGdldERlZmF1bHQyOigpPT5yLGdldERlZmF1bHQyTGF6eTooKT0+byxnZXREZWZhdWx0MzooKT0+YX0pO2NsYXNzIGx7Y29uc3RydWN0b3IoKXt0aGlzLl9tYXA9bmV3IE1hcCx0aGlzLl9zaXplPTB9c2l6ZSgpe3JldHVybiB0aGlzLl9zaXplfWNsZWFyKCl7dGhpcy5fbWFwLmNsZWFyKCksdGhpcy5fc2l6ZT0wfX19LDI2MDY5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0xJTkVTVFlMRV9EQVNIRUQ6KCk9PnIsTElORVNUWUxFX0RPVFRFRDooKT0+bixMSU5FU1RZTEVfU09MSUQ6KCk9PnMsTElORVNUWUxFX1NQQVJTRV9ET1RURUQ6KCk9Pm99KTtjb25zdCBzPTAsbj0xLHI9MixvPTR9LDUxNzI5MyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDaXJjdWxhckNhY2hlQnVmZmVyOigpPT5vfSk7dmFyIHMsbj1pKDEzODYzOCk7ZnVuY3Rpb24gcihlKXtjb25zdHtwcmV2SXRlbTp0LG5leHRJdGVtOml9PWU7bnVsbCE9PXQmJih0Lm5leHRJdGVtPWkpLG51bGwhPT1pJiYoaS5wcmV2SXRlbT10KX0hZnVuY3Rpb24oZSl7ZVtlLkNhcGFjaXR5RmFjdG9yPTEuM109IkNhcGFjaXR5RmFjdG9yIn0oc3x8KHM9e30pKTtjbGFzcyBve2NvbnN0cnVjdG9yKGU9MCx0PTEuMyl7dGhpcy5fY2FjaGU9bmV3IE1hcCx0aGlzLl9sYXN0SXRlbT1udWxsLHRoaXMuX2ZpcnN0SXRlbT1udWxsLHRoaXMuX3NpemU9ZSx0aGlzLl9zaXplTGltaXRlZD1lPjAsdGhpcy5fY2FwYWNpdHlGYWN0b3I9dH1zZXQoZSx0KXtjb25zdCBpPXtrZXk6ZSx2YWx1ZTp0LHByZXZJdGVtOnRoaXMuX2xhc3RJdGVtLG5leHRJdGVtOm51bGx9O251bGwhPT10aGlzLl9sYXN0SXRlbSYmKHRoaXMuX2xhc3RJdGVtLm5leHRJdGVtPWkpO2NvbnN0IHM9dGhpcy5fY2FjaGUuZ2V0KGUpO3JldHVybiB2b2lkIDAhPT1zJiYocihzKSxzPT09dGhpcy5fZmlyc3RJdGVtJiYodGhpcy5fZmlyc3RJdGVtPXMubmV4dEl0ZW0pKSx0aGlzLl9jYWNoZS5zZXQoZSxpKSx0aGlzLl9sYXN0SXRlbT1pLG51bGw9PT10aGlzLl9maXJzdEl0ZW0mJih0aGlzLl9maXJzdEl0ZW09aSksdGhpcy5fc2l6ZUxpbWl0ZWQmJnRoaXMuX2NhY2hlLnNpemU+dGhpcy5fc2l6ZSp0aGlzLl9jYXBhY2l0eUZhY3RvciYmdGhpcy5fcmVtb3ZlRXh0cmFJdGVtcygpLHRoaXN9aGFzKGUpe3JldHVybiB0aGlzLl9jYWNoZS5oYXMoZSl9Z2V0KGUpe2NvbnN0IHQ9dGhpcy5fY2FjaGUuZ2V0KGUpO2lmKHZvaWQgMD09PXQpcmV0dXJuIHQ7aWYodD09PXRoaXMuX2ZpcnN0SXRlbSYmKHRoaXMuX2ZpcnN0SXRlbT10Lm5leHRJdGVtPz90KSx0IT09dGhpcy5fbGFzdEl0ZW0pe3IodCk7Y29uc3QgZT0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2xhc3RJdGVtKTtlLm5leHRJdGVtPXQsdC5wcmV2SXRlbT1lLHQubmV4dEl0ZW09bnVsbCx0aGlzLl9sYXN0SXRlbT10fXJldHVybiB0LnZhbHVlfWNsZWFyKCl7dGhpcy5fY2FjaGUuY2xlYXIoKSx0aGlzLl9maXJzdEl0ZW09bnVsbCx0aGlzLl9sYXN0SXRlbT1udWxsfWRlbGV0ZShlKXtjb25zdCB0PXRoaXMuX2NhY2hlLmdldChlKTtyZXR1cm4gdm9pZCAwIT09dCYmKHIodCksdD09PXRoaXMuX2xhc3RJdGVtJiYodGhpcy5fbGFzdEl0ZW09dC5wcmV2SXRlbSksdD09PXRoaXMuX2ZpcnN0SXRlbSYmKHRoaXMuX2ZpcnN0SXRlbT10Lm5leHRJdGVtKSksdGhpcy5fY2FjaGUuZGVsZXRlKGUpfSplbnRyaWVzKCl7aWYobnVsbCE9PXRoaXMuX2ZpcnN0SXRlbSlmb3IobGV0IGU9dGhpcy5fZmlyc3RJdGVtO251bGwhPT1lO2U9ZS5uZXh0SXRlbSl5aWVsZFtlLmtleSxlLnZhbHVlXX1zdGF0ZSgpe2NvbnN0IGU9W107Zm9yKGNvbnN0W3QsaV1vZiB0aGlzLmVudHJpZXMoKSllLnB1c2goW3QsaV0pO3JldHVybiBlfXJlc3RvcmVTdGF0ZShlKXtmb3IoY29uc3QgdCBvZiBlKXRoaXMuc2V0KHRbMF0sdFsxXSl9X3JlbW92ZUV4dHJhSXRlbXMoKXtjb25zdCBlPXRoaXMuX2NhY2hlLnNpemUtdGhpcy5fc2l6ZTtsZXQgdD0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2ZpcnN0SXRlbSk7Zm9yKGxldCBpPTA7aTxlO2krPTEpdGhpcy5fY2FjaGUuZGVsZXRlKHQua2V5KSx0PSgwLG4uZW5zdXJlTm90TnVsbCkodC5uZXh0SXRlbSk7dC5wcmV2SXRlbT1udWxsLHRoaXMuX2ZpcnN0SXRlbT10fX19LDIyMzU1NihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHthdmFpbGFibGVUaW1lem9uZXM6KCk9PmwsdGltZXpvbmVJc0F2YWlsYWJsZTooKT0+ZCx0aW1lem9uZVRpdGxlOigpPT51fSk7dmFyIHM9aSg5MTQ3NzUpLG49aSgxODUyNzEpO2NvbnN0IHI9W3tpZDoiRXRjL1VUQyIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDkxMjI1NSkpfX0se2lkOiJleGNoYW5nZSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDgyNjYwNykpfX1dLG89W3tpZDoiQWZyaWNhL0NhaXJvIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzUxODQyKSl9LG9mZnNldDowfSx7aWQ6IkFmcmljYS9DYXNhYmxhbmNhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjUyNDIyKSl9LG9mZnNldDowfSx7aWQ6IkFmcmljYS9Kb2hhbm5lc2J1cmciLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyNzAzMzApKX0sb2Zmc2V0OjB9LHtpZDoiQWZyaWNhL0xhZ29zIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTUwNTE2KSl9LG9mZnNldDowfSx7aWQ6IkFmcmljYS9OYWlyb2JpIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMTI0OTM0KSl9LG9mZnNldDowfSx7aWQ6IkFmcmljYS9UdW5pcyIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDMwNzI0OCkpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL0FuY2hvcmFnZSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDgyNzkwMikpfSxvZmZzZXQ6MH0sewppZDoiQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjE0MTQ0KSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvQm9nb3RhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNTAzMzUzKSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvQ2FyYWNhcyIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU3MjQyNykpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL0NoaWNhZ28iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg4MjE0NDgpKX0sb2Zmc2V0OjB9LHtpZDoiQW1lcmljYS9FbF9TYWx2YWRvciIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDQ1MTQ0NykpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL0hhbGlmYXgiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg1ODIzODYpKX0sb2Zmc2V0OjB9LHtpZDoiQW1lcmljYS9KdW5lYXUiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMDI2MzEpKX0sb2Zmc2V0OjB9LHtpZDoiQW1lcmljYS9MaW1hIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMTU3NTAwKSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvTG9zX0FuZ2VsZXMiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg0MDg0MjYpKX0sb2Zmc2V0OjB9LHtpZDoiQW1lcmljYS9NZXhpY29fQ2l0eSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDg3NDYwNykpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL05ld19Zb3JrIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjU4MTE3KSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvUGhvZW5peCIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDMzMTk1OSkpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL1NhbnRpYWdvIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNTE0MTU2KSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvU2FvX1BhdWxvIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTU1NDMwKSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvVG9yb250byIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDE2MzY3MikpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL1ZhbmNvdXZlciIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU5MTMyKSl9LG9mZnNldDowfSx7aWQ6IlVTL01vdW50YWluIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoODg5NTI5KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvQWxtYXR5IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNDk1NzAzKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvQXNoa2hhYmFkIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzE5MDQ0KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvQmFocmFpbiIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU3ODY2NSkpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL0Jhbmdrb2siLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg5NzM1NzQpKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9DaG9uZ3FpbmciLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMDk2MzIpKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9Db2xvbWJvIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjA1MDkxKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvRGhha2EiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgzNjA2OTApKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9EdWJhaSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDQ3MzI3NSkpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL0hvX0NoaV9NaW5oIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNDYyNzAyKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvSG9uZ19Lb25nIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTgyMTk3KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvSmFrYXJ0YSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDMzMTMwKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvSmVydXNhbGVtIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNzA0ODMxKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvS2FyYWNoaSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU4NTQ0MikpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL0thYnVsIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNDgwNTUzKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvS2F0aG1hbmR1IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjgyNDcpKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9Lb2xrYXRhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjg4NjUxKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvS3VhbGFfTHVtcHVyIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzQ3MDY0KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvS3V3YWl0IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzk1MTMwKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvTWFuaWxhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzYxNDQ1KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvTXVzY2F0IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoODI1NDE0KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvTmljb3NpYSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDI3NjU0NykpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL1FhdGFyIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTMzNzUzKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvUml5YWRoIixnZXQgdGl0bGUoKXsKcmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDc4MDk1KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvU2VvdWwiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg0NDQ0MTgpKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9TaGFuZ2hhaSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU3ODgzMSkpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL1NpbmdhcG9yZSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDY0Mzc5NSkpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL1RhaXBlaSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDQ3NjAyNikpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL1RlaHJhbiIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDc0Mjk4KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvVG9reW8iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg3OTgxOTkpKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9ZYW5nb24iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgxNzczNTQpKX0sb2Zmc2V0OjB9LHtpZDoiQXRsYW50aWMvQXpvcmVzIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzg0OTY0KSl9LG9mZnNldDowfSx7aWQ6IkF0bGFudGljL1JleWtqYXZpayIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDc1Mzg1OCkpfSxvZmZzZXQ6MH0se2lkOiJBdXN0cmFsaWEvQWRlbGFpZGUiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg1MDE1MDIpKX0sb2Zmc2V0OjB9LHtpZDoiQXVzdHJhbGlhL0JyaXNiYW5lIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoODkwNjg5KSl9LG9mZnNldDowfSx7aWQ6IkF1c3RyYWxpYS9QZXJ0aCIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDM1MDEwOCkpfSxvZmZzZXQ6MH0se2lkOiJBdXN0cmFsaWEvU3lkbmV5IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMTc5OTM0KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9BbXN0ZXJkYW0iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMTM0NykpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvQXRoZW5zIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTg0MTcxKSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9CZWxncmFkZSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDgwODM3NykpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvQmVybGluIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNTIzMTI0KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9CcmF0aXNsYXZhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTQ4ODI0KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9CcnVzc2VscyIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDM4NTkyNikpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvQnVjaGFyZXN0IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNjY0NTMxKSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9CdWRhcGVzdCIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU5MDI0MykpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvQ29wZW5oYWdlbiIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDM2Njk1MikpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvRHVibGluIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNDMwODY4KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9IZWxzaW5raSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDYxNTE0MCkpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvSXN0YW5idWwiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMDc3OTgpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL0xpc2JvbiIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDUwNzIpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL0xqdWJsamFuYSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDQyMjAwNykpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvTG9uZG9uIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjQ2NTA3KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9MdXhlbWJvdXJnIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTc1NDQ3KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9NYWRyaWQiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg0MzE4OTIpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL01hbHRhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNTYzMjM3KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9Nb3Njb3ciLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg0NDYwNzQpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL09zbG8iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg4NDk3MzgpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1BhcmlzIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNjE3ODc0KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9QcmFndWUiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg1NDQ0MDMpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1JpZ2EiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMjk2NDMpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1JvbWUiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMjU5OTEpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1NvZmlhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNTA0MzEpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1N0b2NraG9sbSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDI1NTUxMSkpfSwKb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1RhbGxpbm4iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg2NTIxNzYpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1ZpZW5uYSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDYxNDQyKSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9WaWxuaXVzIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMTAwMzAxKSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9XYXJzYXciLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgxNjQ3MzYpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1phZ3JlYiIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDc5MjM4NikpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvWnVyaWNoIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNDczNDk2KSl9LG9mZnNldDowfSx7aWQ6IlBhY2lmaWMvQXVja2xhbmQiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg0MjE2KSl9LG9mZnNldDowfSx7aWQ6IlBhY2lmaWMvQ2hhdGhhbSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDgxODg0NikpfSxvZmZzZXQ6MH0se2lkOiJQYWNpZmljL0Zha2FvZm8iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgxMDQxNzcpKX0sb2Zmc2V0OjB9LHtpZDoiUGFjaWZpYy9Ib25vbHVsdSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDg5OTc5MSkpfSxvZmZzZXQ6MH0se2lkOiJQYWNpZmljL05vcmZvbGsiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg5Njc0MTIpKX0sb2Zmc2V0OjB9XTtmdW5jdGlvbiBhKGUsdCxpKXtjb25zdCBuPWZ1bmN0aW9uKGUpe3JldHVybiBlLm1hcCgoZT0+e2NvbnN0e2lkOnR9PWUse3N0cmluZzppLG9mZnNldDpufT0oMCxzLnBhcnNlVHpPZmZzZXQpKHQpO3JldHVybntpZDp0LG9mZnNldDpuLGdldCB0aXRsZSgpe3JldHVybmAoJHtpfSkgJHtlLnRpdGxlfWB9fX0pKX0oZSkscj1pLmZpbHRlcigoKHthbGlhczplfSk9PkJvb2xlYW4oZSkpKS5tYXAoKGU9Pntjb25zdHthbGlhczp0LGlkOml9PWUse3N0cmluZzpuLG9mZnNldDpyfT0oMCxzLnBhcnNlVHpPZmZzZXQpKHQpO3JldHVybntpZDppLG9mZnNldDpyLGdldCB0aXRsZSgpe3JldHVybmAoJHtufSkgJHtlLnRpdGxlfWB9LGFsaWFzOnR9fSkpLG89ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc29ydCgoKGUsdCk9Pntjb25zdCBpPWUub2Zmc2V0LXQub2Zmc2V0O3JldHVybiAwIT09aT9pOmUudGl0bGUubG9jYWxlQ29tcGFyZSh0LnRpdGxlKX0pKX0obi5jb25jYXQocikpO3JldHVybiB0LmNvbmNhdChvKX1jb25zdCBsPWEobyxyLFtdKSxjPW5ldyBNYXA7bC5mb3JFYWNoKChlPT57Yy5zZXQoZS5pZCwhMCl9KSk7Y29uc3QgaD1uZXcgTWFwO3IuY29uY2F0KG8pLmZvckVhY2goKGU9PntoLnNldChlLmlkLCEwKX0pKTtmdW5jdGlvbiBkKGUpe3JldHVybiBjLmhhcyhlKX1mdW5jdGlvbiB1KGUpe2Zvcihjb25zdHtpZDp0LHRpdGxlOml9b2YgbylpZih0PT09ZSl7cmV0dXJuYCR7aX0gKCR7KDAscy5wYXJzZVR6T2Zmc2V0KShlKS5zdHJpbmd9KWB9Zm9yKGNvbnN0e2lkOnQsdGl0bGU6aX1vZiBsKWlmKHQ9PT1lKXJldHVybmAke2l9YDtyZXR1cm4gZX19LDg4NDI4KGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHMsbjtpLmQodCx7SG9yaXpvbnRhbEFsaWduOigpPT5zLFZlcnRpY2FsQWxpZ246KCk9Pm59KSxmdW5jdGlvbihlKXtlLkxlZnQ9ImxlZnQiLGUuUmlnaHQ9InJpZ2h0IixlLkNlbnRlcj0iY2VudGVyIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLlRvcD0idG9wIixlLkJvdHRvbT0iYm90dG9tIixlLk1pZGRsZT0ibWlkZGxlIn0obnx8KG49e30pKX0sOTM3MDk4KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4iZWNvbm9taWMiPT09ZX1pLmQodCx7aXNOb25UcmFkYWJsZVN5bWJvbFR5cGU6KCk9PnN9KX0sMzQ0MTAzKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1be2Q6IkUtTWluaSBTJlAgNTAwIix0OiJFUyJ9LHtkOiJFLU1pbmkgTmFzZGFxIDEwMCIsdDoiTlEifSx7ZDoiR29sZCIsdDoiR0MifSx7ZDoiU2lsdmVyIix0OiJTSSJ9LHtkOiJDcnVkZSBPaWwgV1RJIix0OiJDTCJ9LHtkOiJOYXR1cmFsIEdhcyIsdDoiTkcifSx7ZDoiQXVzdHJhbGlhbiBEb2xsYXIiLHQ6IjZBIn0se2Q6IkF1c3RyYWxpYW4gRG9sbGFyIChGbG9vcikiLHQ6IkFEIn0se2Q6IkV1cm8gRlgiLHQ6IjZFIn0se2Q6IkV1cm8gRlggKEZsb29yKSIsdDoiRUMifSx7ZDoiQ29ybiIsdDoiWkMifSx7ZDoiQ29ybiAoRmxvb3IpIix0OiJDIn0se2Q6IkV1cm9kb2xsYXIiLHQ6IkdFIn0se2Q6IkV1cm9kb2xsYXIgKEZsb29yKSIsdDoiRUQifV0saT1mdW5jdGlvbigpe3ZhciBlPVt7cGF0dGVybjoiKCIsY3RvcjpyfSx7cGF0dGVybjoiKSIsY3RvcjpvfSx7cGF0dGVybjoiKyIsY3RvcjpsfSx7cGF0dGVybjoiLSIsY3RvcjpjfSx7cGF0dGVybjoiKiIsY3RvcjpofSx7cGF0dGVybjoiLyIsY3RvcjpkfSx7cGF0dGVybjoiXiIsY3Rvcjp1fSx7cGF0dGVybjovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxjdG9yOmd9LHtwYXR0ZXJuOi9cLi8sY3Rvcjp2fSx7cGF0dGVybjovW2EtekEtWjAtOV9cdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZdW2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKnwnLis/Jy8sY3RvcjptfSx7cGF0dGVybjovJ1teJ10qLyxjdG9yOlN9LHtwYXR0ZXJuOi9bXDAtXHgyMFxzXSsvLGN0b3I6bn1dO2Z1bmN0aW9uIGkoZSx0KXt2YXIgaT1mdW5jdGlvbigpe307cmV0dXJuIGkucHJvdG90eXBlPXQucHJvdG90eXBlLGUucHJvdG90eXBlPW5ldyBpLGV9ZnVuY3Rpb24gcygpe31mdW5jdGlvbiBuKGUpe3RoaXMudmFsdWU9ZX1mdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8oKXt9ZnVuY3Rpb24gYSgpe31mdW5jdGlvbiBsKCl7fWZ1bmN0aW9uIGMoKXt9ZnVuY3Rpb24gaCgpe31mdW5jdGlvbiBkKCl7fQpmdW5jdGlvbiB1KCl7fXMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9LGkobixzKSxpKHIscyksci5wcm90b3R5cGUudmFsdWU9IigiLGkobyxzKSxvLnByb3RvdHlwZS52YWx1ZT0iKSIsaShhLHMpLGkobCxhKSxsLnByb3RvdHlwZS52YWx1ZT0iKyIsbC5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGwucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLGkoYyxhKSxjLnByb3RvdHlwZS52YWx1ZT0iLSIsYy5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGMucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLGkoaCxhKSxoLnByb3RvdHlwZS52YWx1ZT0iKiIsaC5wcm90b3R5cGUucHJlY2VkZW5jZT0xLGgucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLGkoZCxhKSxkLnByb3RvdHlwZS52YWx1ZT0iLyIsZC5wcm90b3R5cGUucHJlY2VkZW5jZT0xLGQucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLGkodSxhKSx1LnByb3RvdHlwZS52YWx1ZT0iXiIsdS5wcm90b3R5cGUucHJlY2VkZW5jZT0yLHUucHJvdG90eXBlLmNvbW11dGF0aXZlPSExO3ZhciBwPS9eJz8oPzooW0EtWjAtOV9dKyk6KT8oLio/KSc/JC9pLF89L1srXC0vKl0vO2Z1bmN0aW9uIG0oZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIGcoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIGYoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIFMoKXttLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiB2KCl7Zy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9aShtLHMpLG0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eSgiX3RpY2tlciIpKXt2YXIgZT1fLnRlc3QodGhpcy5fdGlja2VyKT8iJyI6IiI7cmV0dXJuIGUrKHRoaXMuX2V4Y2hhbmdlP3RoaXMuX2V4Y2hhbmdlKyI6IjoiIikrdGhpcy5fdGlja2VyK2V9cmV0dXJuIHRoaXMudmFsdWV9LG0ucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKCl7dmFyIGU9cC5leGVjKHRoaXMudmFsdWUpO2VbMV0mJih0aGlzLl9leGNoYW5nZT1lWzFdKSx0aGlzLl90aWNrZXI9ZVsyXX0sbS5wcm90b3R5cGUucGFyc2VBc0Z1dHVyZXM9ZnVuY3Rpb24oKXt0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKTtmb3IodmFyIGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIHQudD09PWV9KSl9LGk9MjtpPj0xOy0taSl7dmFyIHM9dGhpcy5fdGlja2VyLnNsaWNlKDAsaSk7aWYoZShzKSl7dGhpcy5fcm9vdD1zLHRoaXMuX2NvbnRyYWN0PXRoaXMuX3RpY2tlci5zbGljZShpKTticmVha319fSxtLnByb3RvdHlwZS5leGNoYW5nZT1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX2V4Y2hhbmdlO251bGw9PWU/ZGVsZXRlIHRoaXMuX2V4Y2hhbmdlOnRoaXMuX2V4Y2hhbmdlPWUrIiJ9LG0ucHJvdG90eXBlLnRpY2tlcj1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3RpY2tlcjtudWxsPT1lP2RlbGV0ZSB0aGlzLl90aWNrZXI6dGhpcy5fdGlja2VyPWUrIiIsZGVsZXRlIHRoaXMuX3Jvb3QsZGVsZXRlIHRoaXMuX2NvbnRyYWN0fSxtLnByb3RvdHlwZS5yb290PWZ1bmN0aW9uKGUpe2lmKHRoaXMuaGFzT3duUHJvcGVydHkoIl9yb290Iil8fHRoaXMucGFyc2VBc0Z1dHVyZXMoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3Jvb3Q7bnVsbD09ZT9kZWxldGUgdGhpcy5fcm9vdDoodGhpcy5fcm9vdD1lKyIiLHRoaXMuX3Jvb3QmJih0aGlzLl90aWNrZXI9dGhpcy5fcm9vdCsodGhpcy5fY29udHJhY3R8fCIiKSkpfSxtLnByb3RvdHlwZS5jb250cmFjdD1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfY29udHJhY3QiKXx8dGhpcy5wYXJzZUFzRnV0dXJlcygpLCEoYXJndW1lbnRzLmxlbmd0aD4wKSlyZXR1cm4gdGhpcy5fcm9vdDtudWxsPT1lP2RlbGV0ZSB0aGlzLl9jb250cmFjdDoodGhpcy5fY29udHJhY3Q9ZSsiIix0aGlzLl9yb290JiYodGhpcy5fdGlja2VyPXRoaXMuX3Jvb3QrdGhpcy5fY29udHJhY3QpKX0saShnLHMpLGcucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGFzT3duUHJvcGVydHkoIl9ub3JtYWxpemVkVmFsdWUiKT90aGlzLl9ub3JtYWxpemVkVmFsdWU6dGhpcy52YWx1ZX0sZy5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oKXt0aGlzLl9ub3JtYWxpemVkVmFsdWU9dGhpcy52YWx1ZS5yZXBsYWNlKC9eMCt8XC4wKiQvZywiIikucmVwbGFjZSgvKFwuXGQqPykwKyQvLCIkMSIpLnJlcGxhY2UoL14oXC58JCkvLCIwJDEiKX0sZi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX0saShTLG0pLFMucHJvdG90eXBlLmlzSW5jb21wbGV0ZT0hMCxTLnByb3RvdHlwZS5pbmNvbXBsZXRlU3VnZ2VzdD1mdW5jdGlvbigpe2lmKCInIiE9PXRoaXMudmFsdWUpcmV0dXJuIFN0cmluZygiJyIpfSxpKHYsZyksdi5wcm90b3R5cGUuaXNJbmNvbXBsZXRlPSEwO3ZhciB5PW5ldyBSZWdFeHAoZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiIoIisoInN0cmluZyI9PXR5cGVvZiBlLnBhdHRlcm4/ZS5wYXR0ZXJuLnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIik6ZS5wYXR0ZXJuLnNvdXJjZSkrIikifSkpLmNvbmNhdCgiLiIpLmpvaW4oInwiKSwiZyIpO2Z1bmN0aW9uIGIodCxpKXt2YXIgcyxyPVtdO2U6Zm9yKDtzPXkuZXhlYyh0KTspe2Zvcih2YXIgbz1lLmxlbmd0aDtvLS07KWlmKHNbbysxXSl7aWYoZVtvXS5jdG9yKXt2YXIgYT1uZXcgZVtvXS5jdG9yKHNbbysxXSk7YS5fb2Zmc2V0PXMuaW5kZXgsci5wdXNoKGEpfWNvbnRpbnVlIGV9dmFyIGw9bmV3IGYoc1swXSk7bC5fb2Zmc2V0PXMuaW5kZXgsci5wdXNoKGwpfWlmKGkmJmkucmVjb3Zlcil7dmFyIGM7Zm9yKG89ci5sZW5ndGg7by0tOyl7dmFyIGg9cltvXQo7aWYoaCBpbnN0YW5jZW9mIGd8fGggaW5zdGFuY2VvZiBtKXtpZih2b2lkIDAhPT1jKXt2YXIgZD1uZXcgbSgiIiksdT1yLnNwbGljZShvLGMtbysxLGQpO2QudmFsdWU9dS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnZhbHVlfSkpLmpvaW4oIiIpfWM9b31lbHNlIGggaW5zdGFuY2VvZiBufHwoYz12b2lkIDApfX1yZXR1cm4gcn1mdW5jdGlvbiB3KGUpe2Zvcih2YXIgdD1bXSxpPTA7aTxlLmxlbmd0aDtpKyspZVtpXWluc3RhbmNlb2Ygbnx8dC5wdXNoKGVbaV0pO3JldHVybiB0fWZ1bmN0aW9uIEMoZSl7ZT13KGUpO2Zvcih2YXIgdCxpPVtdLHM9W10sbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgbD1lW25dO2lmKGwgaW5zdGFuY2VvZiBhKXMubGVuZ3RoJiZzW3MubGVuZ3RoLTFdLm1pblByZWNlZGVuY2U+bC5wcmVjZWRlbmNlJiYoc1tzLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPWwucHJlY2VkZW5jZSk7ZWxzZSBpZihsIGluc3RhbmNlb2YgcilzLnB1c2godD17bWluUHJlY2VkZW5jZToxLzAsb3BlbkJyYWNlSW5kZXg6bn0pO2Vsc2UgaWYobCBpbnN0YW5jZW9mIG8pe3ZhciBjPWVbKHQ9cy5wb3AoKSkub3BlbkJyYWNlSW5kZXgtMV0saD1lW24rMV07aCBpbnN0YW5jZW9mIGEmJiEoaC5wcmVjZWRlbmNlPD10Lm1pblByZWNlZGVuY2UpfHwhKCEoYyBpbnN0YW5jZW9mIGEpfHxjLnByZWNlZGVuY2U8dC5taW5QcmVjZWRlbmNlfHxjLnByZWNlZGVuY2U9PT10Lm1pblByZWNlZGVuY2UmJmMuY29tbXV0YXRpdmUpfHwoaS51bnNoaWZ0KHQub3BlbkJyYWNlSW5kZXgpLGkucHVzaChuKSxzLmxlbmd0aCYmc1tzLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPnQubWluUHJlY2VkZW5jZSYmKHNbcy5sZW5ndGgtMV0ubWluUHJlY2VkZW5jZT10Lm1pblByZWNlZGVuY2UpKX19Zm9yKG49aS5sZW5ndGg7bi0tOyllLnNwbGljZShpW25dLDEpO3JldHVybiBlfWZ1bmN0aW9uIFAoZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoImV4cHJlc3Npb24gbXVzdCBiZSBhIHN0cmluZyIpO3JldHVybihlPWIoZSkpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBtfSkpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXhjaGFuZ2UoKX0pKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfWZ1bmN0aW9uIFQoZSl7cmV0dXJuIDEhPT0oZT1QKGUpKS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIHgoZSx0KXtyZXR1cm4oZT1QKGUpKS5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4gdC5pbmNsdWRlcygoZXx8IiIpLnRvVXBwZXJDYXNlKCkpfSkpfWZ1bmN0aW9uIE0oZSl7cmV0dXJuIGUuam9pbigiIil9cmV0dXJue3Rva2VuaXplOmIsdmFsaWRhdGU6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PSJpbml0IixpPSJ2YXIiLHM9dCxsPXt3YXJuaW5nczpbXSxlcnJvcnM6W10saXNFbXB0eTohMH0sYz1bXSxoPTA7aDxlLmxlbmd0aDtoKyspe2lmKCEoKHU9ZVtoXSlpbnN0YW5jZW9mIG4pKXtpZihkZWxldGUgbC5pc0VtcHR5LHUuaXNJbmNvbXBsZXRlKXt2YXIgZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246ImluY29tcGxldGVfdG9rZW4iLG9mZnNldDp1Ll9vZmZzZXQsdG9rZW46dX07aWYodS5pbmNvbXBsZXRlU3VnZ2VzdCYmKGQucmVjb3Zlcj17YXBwZW5kOnUuaW5jb21wbGV0ZVN1Z2dlc3QoKX0pLGwud2FybmluZ3MucHVzaChkKSxoIT09ZS5sZW5ndGgtMSl7ZC5zdGF0dXM9ImVycm9yIjtjb250aW51ZX19aWYodSBpbnN0YW5jZW9mIG18fHUgaW5zdGFuY2VvZiBnKXtpZihzPT09aSl7bC5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmV4cGVjdGVkX3Rva2VuIixvZmZzZXQ6dS5fb2Zmc2V0LHRva2VuOnV9KTtjb250aW51ZX1zPWl9ZWxzZSBpZih1IGluc3RhbmNlb2YgYSl7aWYocyE9PWkpe2wuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnUuX29mZnNldCx0b2tlbjp1fSk7Y29udGludWV9cz0ib3BlcmF0b3IifWVsc2UgaWYodSBpbnN0YW5jZW9mIHIpe2lmKHM9PT1pKXtsLmVycm9ycy5wdXNoKHtzdGF0dXM6ImVycm9yIixyZWFzb246InVuZXhwZWN0ZWRfdG9rZW4iLG9mZnNldDp1Ll9vZmZzZXQsdG9rZW46dX0pO2NvbnRpbnVlfWMucHVzaCh1KSxzPXR9ZWxzZSBpZih1IGluc3RhbmNlb2Ygbyl7aWYocyE9PWkpe2wuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnUuX29mZnNldCx0b2tlbjp1fSk7Y29udGludWV9Yy5wb3AoKXx8bC5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmJhbGFuY2VkX2JyYWNlIixvZmZzZXQ6dS5fb2Zmc2V0LHRva2VuOnUscmVjb3Zlcjp7cHJlcGVuZDpuZXcgcn19KSxzPWl9ZWxzZSB1IGluc3RhbmNlb2YgZiYmbC5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bnBhcnNlZF9lbnRpdHkiLG9mZnNldDp1Ll9vZmZzZXQsdG9rZW46dX0pfX1mb3IobC5icmFjZUJhbGFuY2U9Yy5sZW5ndGgscyE9PWkmJmwud2FybmluZ3MucHVzaCh7c3RhdHVzOiJpbmNvbXBsZXRlIn0pO2MubGVuZ3RoOyl7dmFyIHU7ZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246InVuYmFsYW5jZWRfYnJhY2UiLG9mZnNldDoodT1jLnBvcCgpKS5fb2Zmc2V0LHRva2VuOnV9O3M9PT1pJiYoZC5yZWNvdmVyPXthcHBlbmQ6bmV3IG99KSxsLndhcm5pbmdzLnB1c2goZCl9cmV0dXJuIGwuY3VycmVudFN0YXRlPXMsMD09PWwud2FybmluZ3MubGVuZ3RoJiZkZWxldGUgbC53YXJuaW5ncywwPT09bC5lcnJvcnMubGVuZ3RoJiZkZWxldGUgbC5lcnJvcnMsbH0sZmFjdG9yT3V0QnJhY2VzOkMsbm9ybWFsaXplVG9rZW5zOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0ucGFyc2UmJmVbdF0ucGFyc2UoKTtyZXR1cm4gZX0sZmxpcDpmdW5jdGlvbihlKXt2YXIgdD1mdW5jdGlvbihlKXtmb3IodmFyIHQsaT0wLHM9MSxsPTIsYz0zLGg9aSx1PTAscD0wO3A8ZS5sZW5ndGg7cCsrKXt2YXIgXz1lW3BdCjtpZighKF8gaW5zdGFuY2VvZiBuKSlzd2l0Y2goaCl7Y2FzZSBpOmlmKCEoXyBpbnN0YW5jZW9mIGcmJjE9PStfLnZhbHVlKSlyZXR1cm4hMTtoPXM7YnJlYWs7Y2FzZSBzOmlmKCEoaD09PXMmJl8gaW5zdGFuY2VvZiBkKSlyZXR1cm4hMTtoPWwsdD1wKzE7YnJlYWs7Y2FzZSBsOmlmKF8gaW5zdGFuY2VvZiByKWg9Yyx1PTE7ZWxzZSBpZihfIGluc3RhbmNlb2YgYSlyZXR1cm4hMTticmVhaztjYXNlIGM6XyBpbnN0YW5jZW9mIHI/dSsrOl8gaW5zdGFuY2VvZiBvJiYtLXU8PTAmJihoPWwpfX1yZXR1cm4gZS5zbGljZSh0KX0oZSk7cmV0dXJuIEModHx8W25ldyBnKCIxIiksbmV3IGQsbmV3IHJdLmNvbmNhdChlKS5jb25jYXQobmV3IG8pKX0saGFzQmF0c1N5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuIHgoZSxbIkJBVFMiXSl9LGhhc0VvZFN5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuKGU9VChlKSkmJi0xIT09ZS50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIl9FT0QiKX0saGFzQ2h4anB5U3ltYm9sczpmdW5jdGlvbihlKXtyZXR1cm4geChlLFsiQ0hYSlBZIl0pfSxoYXNGcmVlRGVsYXlTeW1ib2xzOmZ1bmN0aW9uKGUpe3JldHVybiB4KGUscHJvLmdldFByb2R1Y3RzQnlUeXBlKHByby5QUk9EVUNUX1RZUEVTLmV4Y2hhbmdlKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmV4Y2hhbmdlLnRvVXBwZXJDYXNlKCkrIl9ETFkifSkpKX0sZ2V0RXhjaGFuZ2U6VCxnZXRFeGNoYW5nZXM6UCxpc0V4Y2hhbmdlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuISEoZT1UKGUpKSYmZS5zdWJzdHJpbmcoMCx0Lmxlbmd0aCk9PT10fSxTeW1ib2xUb2tlbjptLEluY29tcGxldGVTeW1ib2xUb2tlbjpTLE51bWJlclRva2VuOmcsQmluYXJ5T3BlcmF0b3JUb2tlbjphLE9wZW5CcmFjZVRva2VuOnIsQ2xvc2VCcmFjZVRva2VuOm8sdGlja2VyOmZ1bmN0aW9uKGUpe3JldHVybiBuZXcgbShlKS50aWNrZXIoKX0sc2hvcnROYW1lOmZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJleHByZXNzaW9uIG11c3QgYmUgYSBzdHJpbmciKTt2YXIgdD1DKHcoYihlKSkpO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKGUpe2UgaW5zdGFuY2VvZiBtJiZlLmV4Y2hhbmdlKG51bGwpfSkpLE0odCl9LG5vcm1hbGl6ZTpmdW5jdGlvbihlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigiZXhwcmVzc2lvbiBtdXN0IGJlIGEgc3RyaW5nIik7cmV0dXJuIE0oQyh3KGIoZSkpKSl9fX0oKTtlLmV4cG9ydHM9aX0sODc0MzA2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1ZlcnNpb246KCk9Pm59KTt2YXIgcz1pKDEzODYzOCk7Y2xhc3Mgbntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX21ham9yPWUsdGhpcy5fbWlub3I9dH1tYWpvcigpe3JldHVybiB0aGlzLl9tYWpvcn1taW5vcigpe3JldHVybiB0aGlzLl9taW5vcn1pc1plcm8oKXtyZXR1cm4gMD09PXRoaXMuX21ham9yJiYwPT09dGhpcy5fbWlub3J9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5fbWFqb3IrIi4iK3RoaXMuX21pbm9yfWNvbXBhcmVUbyhlKXtyZXR1cm4gdGhpcy5fbWFqb3I8ZS5fbWFqb3I/LTE6dGhpcy5fbWFqb3I+ZS5fbWFqb3I/MTp0aGlzLl9taW5vcjxlLl9taW5vcj8tMTp0aGlzLl9taW5vcj5lLl9taW5vcj8xOjB9aXNMZXNzKGUpe3JldHVybiB0aGlzLmNvbXBhcmVUbyhlKTwwfWlzTGVzc09yRXF1YWwoZSl7cmV0dXJuIHRoaXMuY29tcGFyZVRvKGUpPD0wfWlzRXF1YWwoZSl7cmV0dXJuIDA9PT10aGlzLmNvbXBhcmVUbyhlKX1pc0dyZWF0ZXIoZSl7cmV0dXJuIHRoaXMuY29tcGFyZVRvKGUpPjB9aXNHcmVhdGVyT3JFcXVhbChlKXtyZXR1cm4gdGhpcy5jb21wYXJlVG8oZSk+PTB9c3RhdGljIHBhcnNlKGUpe2lmKGUgaW5zdGFuY2VvZiBuKXJldHVybiBuZXcgbihlLm1ham9yKCksZS5taW5vcigpKTtpZigibnVtYmVyIj09dHlwZW9mIGUpcmV0dXJuKDAscy5hc3NlcnQpKE1hdGguZmxvb3IoZSk9PT1lLCJWZXJzaW9uIHNob3VsZCBub3QgYmUgYSBmbG9hdCBudW1iZXIiKSxuZXcgbihlLDApO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7Y29uc3QgdD1lLnNwbGl0KCIuIik7aWYoMT09PXQubGVuZ3RoKXtjb25zdCBpPXBhcnNlSW50KHRbMF0sMTApO3JldHVybigwLHMuYXNzZXJ0KSghaXNOYU4oaSksIkJhZCB2ZXJzaW9uIHN0cmluZzogIitlKSxuZXcgbihpLDApfWlmKDI9PT10Lmxlbmd0aCl7Y29uc3QgaT1wYXJzZUludCh0WzBdLDEwKTsoMCxzLmFzc2VydCkoIWlzTmFOKGkpLCJCYWQgdmVyc2lvbiBzdHJpbmc6ICIrZSk7Y29uc3Qgcj1wYXJzZUludCh0WzFdLDEwKTtyZXR1cm4oMCxzLmFzc2VydCkoIWlzTmFOKHIpLCJCYWQgdmVyc2lvbiBzdHJpbmc6ICIrZSksbmV3IG4oaSxyKX10aHJvdyBuZXcgRXJyb3IoIkJhZCB2ZXJzaW9uIHN0cmluZyAob25lIGRvdCBleHBlY3RlZCk6ICIrZSl9dGhyb3cgbmV3IEVycm9yKCJCYWQgdmVyc2lvbjogIitlKX19bi5aRVJPPW5ldyBuKDAsMCl9LDE1OTUxMyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRRdW90ZVNlc3Npb25JbnN0YW5jZTooKT0+YX0pO3ZhciBzPWkoOTI3NTkzKSxuPWkoNzU1NjI3KSxyPWkoMTUwMTUwKTtjb25zdCBvPXt9O2Z1bmN0aW9uIGEoZT0iZnVsbCIpe3JldHVybiBvW2VdfHxmdW5jdGlvbihlPSJmdWxsIix0KXtvW2VdPXR9KGUsbmV3IHMuUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIoe25hbWU6ZSxhcGk6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2UsZmllbGRzOmxbZV0sZXh0ZW5zaW9uczp7Zm9ybWF0dGVyOmU9Pm5ldyBjKGUpLmZvcm1hdHRlcixzbmFwc2hvdDplPT5uZXcgaChlKS5zbmFwc2hvdH19KSksb1tlXX1jb25zdCBsPXsKc2ltcGxlOlsiYmFzZS1jdXJyZW5jeS1sb2dvaWQiLCJsb2dvIiwiY2giLCJjaHAiLCJjdXJyZW5jeS1sb2dvaWQiLCJjdXJyZW5jeV9jb2RlIiwiY3VycmVuY3lfaWQiLCJiYXNlX2N1cnJlbmN5X2lkIiwiY3VycmVudF9zZXNzaW9uIiwiZGVzY3JpcHRpb24iLCJleGNoYW5nZSIsImZvcm1hdCIsImZyYWN0aW9uYWwiLCJpc190cmFkYWJsZSIsImxhbmd1YWdlIiwibG9jYWxfZGVzY3JpcHRpb24iLCJsaXN0ZWRfZXhjaGFuZ2UiLCJsb2dvaWQiLCJscCIsImxwX3RpbWUiLCJtaW5tb3YiLCJtaW5tb3ZlMiIsIm9yaWdpbmFsX25hbWUiLCJwcmljZXNjYWxlIiwicHJvX25hbWUiLCJzaG9ydF9uYW1lIiwidHlwZSIsInR5cGVzcGVjcyIsInVwZGF0ZV9tb2RlIiwidm9sdW1lIiwidmFyaWFibGVfdGlja19zaXplIiwidmFsdWVfdW5pdF9pZCIsInVuaXRfaWQiLCJtZWFzdXJlIl19O2wuc2ltcGxlRGV0YWlsZWQ9Wy4uLmwuc2ltcGxlLCJhc2siLCJiaWQiLCJmdW5kYW1lbnRhbHMiLCJoaWdoX3ByaWNlIiwiaXNfdHJhZGFibGUiLCJsb3dfcHJpY2UiLCJvcGVuX3ByaWNlIiwicHJldl9jbG9zZV9wcmljZSIsInJjaCIsInJjaHAiLCJydGMiLCJydGNfdGltZSIsInN0YXR1cyIsImJhc2ljX2Vwc19uZXRfaW5jb21lIiwiYmV0YV8xX3llYXIiLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwiaW5kdXN0cnkiLCJtYXJrZXRfY2FwX2Jhc2ljIiwicHJpY2VfZWFybmluZ3NfdHRtIiwic2VjdG9yIiwidm9sdW1lIiwiZGl2aWRlbmRzX3lpZWxkIiwidGltZXpvbmUiXSxsLmZ1bGw9W10sbC53YXRjaGxpc3Q9Wy4uLmwuc2ltcGxlLCJyY2hwIiwibmNocCIsInJ0YyIsImNvdW50cnlfY29kZSIsInByb3ZpZGVyX2lkIiwiZGl2aWRlbmRzX2F2YWlsYWJpbGl0eSIsImZpbmFuY2lhbHNfYXZhaWxhYmlsaXR5IiwiZWFybmluZ3NfYXZhaWxhYmlsaXR5Il0sbC5wb3J0Zm9saW89WyJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJleGNoYW5nZSIsImxpc3RlZF9leGNoYW5nZSIsImRlc2NyaXB0aW9uIiwibG9jYWxfZGVzY3JpcHRpb24iLCJsYW5ndWFnZSIsInNlY3RvciIsInR5cGUiLCJ0eXBlc3BlY3MiLCJpbmR1c3RyeSIsImN1cnJlbmN5X2NvZGUiLCJjdXJyZW5jeV9pZCIsImNoIiwiY2hwIiwibG9nbyIsImxvZ29pZCIsImN1cnJlbmN5LWxvZ29pZCIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImxwIiwiZnJhY3Rpb25hbCIsIm1pbm1vdiIsIm1pbm1vdmUyIiwicHJpY2VzY2FsZSIsInZvbHVtZSIsImF2ZXJhZ2Vfdm9sdW1lIiwibWFya2V0X2NhcF9jYWxjIiwibWFya2V0X2NhcF9iYXNpYyIsInRvdGFsX3JldmVudWUiLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwicHJpY2VfZWFybmluZ3NfdHRtIiwiYmV0YV8xX3llYXIiLCJkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfZnkiLCJkaXZpZGVuZHNfeWllbGQiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwicmF0ZXNfbWMiLCJyYXRlc19meSIsInJhdGVzX3R0bSIsImZvcm1hdCIsInZhbHVlX3VuaXRfaWQiLCJ1bml0X2lkIiwibWVhc3VyZSJdLGwubm90ZXM9WyJzaG9ydF9uYW1lIiwicHJvX25hbWUiLCJsb2dvaWQiLCJjdXJyZW5jeS1sb2dvaWQiLCJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImxvZ28iLCJzeW1ib2wtcHJpbWFyeW5hbWUiLCJ0eXBlIiwidHlwZXNwZWNzIl0sbC5lc3RpbWF0ZXM9WyJmdW5kYW1lbnRhbF9kYXRhIiwidHlwZSIsInR5cGVzcGVjcyIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X3N5bWJvbF9jdXJyZW5jeV9mcSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9hbGlnbmVkX2RhdGUiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfY2FsZW5kYXJfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIl0sbC5lY29ub21pYz1bInJlZmVyZW5jZS1sYXN0LXBlcmlvZCIsImxwIiwiY3VycmVuY3lfY29kZSIsInZhbHVlX3VuaXRfaWQiLCJ1bml0X2lkIiwibWVhc3VyZSJdLGwub3B0aW9ucz1bImFzayIsImJpZCIsImxwIiwidm9sdW1lIiwiY2giLCJjaHAiXTtjbGFzcyBje2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlclZhbHVlc0NhY2hlPXt9LHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzPXt9LHRoaXMuZm9ybWF0dGVyPShlLHQpPT57aWYodGhpcy5fd2FpdGluZ0ZvckZvcm1hdHRlcnNbZV0pcmV0dXJuIHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdO2Z1bmN0aW9uIGkoZSl7Y29uc3QgaT10JiYhZS5mcmFjdGlvbmFsPzE6ZS5taW5tb3Y7cmV0dXJuIG5ldyBuLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOmUucHJpY2VzY2FsZSxtaW5Nb3ZlOmksZnJhY3Rpb25hbDplLmZyYWN0aW9uYWwsbWluTW92ZTI6ZS5taW5tb3ZlMn0pfWNvbnN0IHM9bmV3IFByb21pc2UoKCh0LHMpPT57aWYodGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV0pdChpKHRoaXMuX2Zvcm1hdHRlclZhbHVlc0NhY2hlW2VdKSk7ZWxzZXtjb25zdCBuPSgwLHIuZ3VpZCkoKTt0aGlzLl9tdWx0aXBsZXhlci5zdWJzY3JpYmUobixbZV0sKHI9PnsiZXJyb3IiPT09ci5zdGF0dXMmJih0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1udWxsLHMoIlF1b3RlcyBzbmFwc2hvdCBpcyBub3QgcmVjZWl2ZWQiKSksZnVuY3Rpb24oZSl7cmV0dXJuIGUmJm51bGwhPWUucHJpY2VzY2FsZSYmbnVsbCE9ZS5taW5tb3Z9KHIudmFsdWVzKSYmKHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdPW51bGwsdGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV09ci52YWx1ZXMsdChpKHIudmFsdWVzKSksdGhpcy5fbXVsdGlwbGV4ZXIudW5zdWJzY3JpYmUobixlKSl9KSl9fSkpO3JldHVybiB0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1zLHN9LHRoaXMuX211bHRpcGxleGVyPWV9fWNsYXNzIGh7Y29uc3RydWN0b3IoZSl7dGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZT17fSwKdGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90PXt9LHRoaXMuc25hcHNob3Q9ZT0+e2lmKHRoaXMuX3dhaXRpbmdGb3JTbmFwc2hvdFtlXSlyZXR1cm4gdGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdO2NvbnN0IHQ9bmV3IFByb21pc2UoKCh0LGkpPT57aWYodGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZVtlXSl0KHRoaXMuX3NuYXBzaG90VmFsdWVzQ2FjaGVbZV0pO2Vsc2V7Y29uc3Qgcz0oMCxyLmd1aWQpKCk7dGhpcy5fbXVsdGlwbGV4ZXIuc3Vic2NyaWJlKHMsW2VdLChuPT57ImVycm9yIj09PW4uc3RhdHVzJiYodGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdPW51bGwsaSgiUXVvdGVzIHNuYXBzaG90IGlzIG5vdCByZWNlaXZlZCIpKTtjb25zdCByPW4udmFsdWVzO3ImJnIubWlubW92JiZyLnByaWNlc2NhbGUmJnIuZGVzY3JpcHRpb24mJih0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV09bnVsbCx0aGlzLl9zbmFwc2hvdFZhbHVlc0NhY2hlW2VdPXIsdChyKSx0aGlzLl9tdWx0aXBsZXhlci51bnN1YnNjcmliZShzLGUpKX0pKX19KSk7cmV0dXJuIHRoaXMuX3dhaXRpbmdGb3JTbmFwc2hvdFtlXT10LHR9LHRoaXMuX211bHRpcGxleGVyPWV9fSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYod2luZG93LmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlPWEpfSw1Njk4NDYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y3JlYXRlQWxpYXNTeW1ib2xJbmZvV1Y6KCk9PnUsY3JlYXRlU3ltYm9sT3JBbGlhc1dWOigpPT5wLGdldFN5bWJvbEFsaWFzU2VydmljZTooKT0+ZH0pO3ZhciBzPWkoNjAxODQxKSxuPWkoOTMwNTY2KSxyPWkoOTQ4MzgwKSxvPWkoOTUyOTAwKSxhPWkoMjQxOTU2KTtmdW5jdGlvbiBsKGUpe3JldHVybiJTeW1ib2xBbGlhc1NlcnZpY2UiKyhlP2BfJHtlfWA6IiIpfWNsYXNzIGN7Y29uc3RydWN0b3IoZSl7dGhpcy5fb25DaGFuZ2VkPW5ldyByLkRlbGVnYXRlO2NvbnN0IHQ9ZS5zdGF0ZT8/bi5nZXRKU09OKGwoZT8uaWQpKT8/W107dGhpcy5fYWxpYXNlc0J5UHJvTmFtZT1uZXcgTWFwKHQpLHRoaXMuX2FsaWFzZXNCeU5hbWU9bmV3IE1hcChBcnJheS5mcm9tKHRoaXMuX2FsaWFzZXNCeVByb05hbWUudmFsdWVzKCkpLm1hcCgoZT0+W2UuYWxpYXNOYW1lLGVdKSkpLHRoaXMuX2NvbnRleHQ9ZX1nZXRBbGxBbGlhc2VzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5fYWxpYXNlc0J5UHJvTmFtZS52YWx1ZXMoKSl9Z2V0QWxpYXNCeVByb05hbWUoZSl7cmV0dXJuIHRoaXMuX2FsaWFzZXNCeVByb05hbWUuZ2V0KGUpPz9udWxsfWdldEFsaWFzQnlOYW1lKGUpe3JldHVybiB0aGlzLl9hbGlhc2VzQnlOYW1lLmdldChlKT8/bnVsbH1hZGRBbGlhcyhlKXtpZih0aGlzLl9hbGlhc2VzQnlOYW1lLmhhcyhlLmFsaWFzTmFtZSkpdGhyb3cgbmV3IEVycm9yKGBBbGlhcyAke2UuYWxpYXNOYW1lfSBhbHJlYWR5IGV4aXN0c2ApO2lmKHRoaXMuX2FsaWFzZXNCeVByb05hbWUuaGFzKGUuc3ltYm9sUHJvTmFtZSkpdGhyb3cgbmV3IEVycm9yKGBBbGlhcyBmb3Igc3ltYm9sICR7ZS5zeW1ib2xQcm9OYW1lfSBhbHJlYWR5IGV4aXN0c2ApO3RoaXMuX2FsaWFzZXNCeVByb05hbWUuc2V0KGUuc3ltYm9sUHJvTmFtZSxlKSx0aGlzLl9hbGlhc2VzQnlOYW1lLnNldChlLmFsaWFzTmFtZSxlKSx0aGlzLl9vbkNoYW5nZWQuZmlyZShlLnN5bWJvbFByb05hbWUsZS5hbGlhc05hbWUsZSksdGhpcy5fc2F2ZSgpfXVwZGF0ZUFsaWFzKGUpe2NvbnN0IHQ9dGhpcy5fYWxpYXNlc0J5TmFtZS5nZXQoZS5hbGlhc05hbWUpO2lmKCF0KXRocm93IG5ldyBFcnJvcihgQWxpYXMgJHtlLmFsaWFzTmFtZX0gZG9lcyBub3QgZXhpc3RgKTtpZigic3ltYm9sUHJvTmFtZSJpbiBlKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHVwZGF0ZSBhbGlhcyBwcm8gbmFtZSIpOygwLHMubWVyZ2UpKHQsZSksdGhpcy5fYWxpYXNlc0J5UHJvTmFtZS5zZXQodC5zeW1ib2xQcm9OYW1lLHQpLHRoaXMuX2FsaWFzZXNCeU5hbWUuc2V0KHQuYWxpYXNOYW1lLHQpLHRoaXMuX29uQ2hhbmdlZC5maXJlKHQuc3ltYm9sUHJvTmFtZSx0LmFsaWFzTmFtZSx0KSx0aGlzLl9zYXZlKCl9cmVtb3ZlQWxpYXMoZSl7Y29uc3QgdD10aGlzLl9hbGlhc2VzQnlOYW1lLmdldChlKTtpZighdCl0aHJvdyBuZXcgRXJyb3IoYEFsaWFzICR7ZX0gbm90IGZvdW5kYCk7dGhpcy5fYWxpYXNlc0J5UHJvTmFtZS5kZWxldGUodC5zeW1ib2xQcm9OYW1lKSx0aGlzLl9hbGlhc2VzQnlOYW1lLmRlbGV0ZShlKSx0aGlzLl9vbkNoYW5nZWQuZmlyZShlLHQuc3ltYm9sUHJvTmFtZSxudWxsKSx0aGlzLl9zYXZlKCl9b25BbGlhc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fb25DaGFuZ2VkfXN0YXRlKGUpe2NvbnN0IHQ9bmV3IFNldChlPz9bXSk7cmV0dXJuIEFycmF5LmZyb20odGhpcy5fYWxpYXNlc0J5UHJvTmFtZS5lbnRyaWVzKCkpLmZpbHRlcigoKFtpXSk9PiFlfHx0LmhhcyhpKSkpfV9zYXZlKCl7bi5zZXRKU09OKGwodGhpcy5fY29udGV4dD8uaWQpLEFycmF5LmZyb20odGhpcy5fYWxpYXNlc0J5UHJvTmFtZS5lbnRyaWVzKCkpKX19Y29uc3QgaD1uZXcgTWFwO2Z1bmN0aW9uIGQoZSl7Y29uc3QgdD1lPz97aWQ6IiJ9O2xldCBpPWguZ2V0KHQuaWQpO3JldHVybiBpfHwoaT1uZXcgYyh0KSksaC5zZXQodC5pZCxpKSxpfWZ1bmN0aW9uIHUoZSx0KXtyZXR1cm4gdD8oMCxvLmNvbWJpbmUpKCgoZSxpKT0+e2lmKCFlKXJldHVybiBudWxsO2NvbnN0IHM9dC5nZXRBbGlhc0J5UHJvTmFtZShlLnByb19uYW1lKTtyZXR1cm57Li4uZSxuYW1lOnM/LmFsaWFzTmFtZT8/ZS5uYW1lLGRlc2NyaXB0aW9uOnM/LmRlc2NyaXB0aW9uPz9lLmRlc2NyaXB0aW9uLGxvY2FsX2Rlc2NyaXB0aW9uOnM/LmRlc2NyaXB0aW9uPz9lLmxvY2FsX2Rlc2NyaXB0aW9uLC4uLnM/LmZvcm1hdHRpbmdPcHRpb25zfX0pLGUsKDAsYS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKChlPT4oZT8/MCkrMSksdC5vbkFsaWFzQ2hhbmdlZCgpKS5vd25lcnNoaXAoKSkub3duZXJzaGlwKCk6ZX1mdW5jdGlvbiBwKGUsdCxpKXtyZXR1cm4gaT8oMCxvLmNvbWJpbmUpKCgoZSx0LHMpPT57CmlmKCF0KXJldHVybiBlO2NvbnN0IG49aS5nZXRBbGlhc0J5UHJvTmFtZSh0LnByb19uYW1lKTtyZXR1cm4gbj8uYWxpYXNOYW1lPz9lfSksZSx0LCgwLGEuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoZT0+KGU/PzApKzEpLGkub25BbGlhc0NoYW5nZWQoKSkub3duZXJzaGlwKCkpLm93bmVyc2hpcCgpOmV9fSw1ODU5MjcoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztpLmQodCx7U2NyaXB0VHlwZTooKT0+c30pLGZ1bmN0aW9uKGUpe2VbZS5JbmRpY2F0b3I9MV09IkluZGljYXRvciIsZVtlLlN0cmF0ZWd5PTJdPSJTdHJhdGVneSIsZVtlLkxpYnJhcnk9M109IkxpYnJhcnkifShzfHwocz17fSkpfSw2ODY1MTMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0UHVibGljYXRpb25UeXBlOigpPT5vLGltcG9ydEVudHJ5Q29tcG9uZW50OigpPT5hfSk7dmFyIHM9aSg1ODU5MjcpO2NvbnN0IG49bmV3IFNldChbcy5TY3JpcHRUeXBlLkluZGljYXRvcixzLlNjcmlwdFR5cGUuTGlicmFyeSxzLlNjcmlwdFR5cGUuU3RyYXRlZ3ksImluZGljYXRvciIsImxpYnJhcnkiLCJzdHJhdGVneSJdKTt2YXIgcjtmdW5jdGlvbiBvKHtpc1ZpZGVvOmUsaXNTY3JpcHQ6dCxzY3JpcHRUeXBlOml9KXtzd2l0Y2goITApe2Nhc2UgZTpyZXR1cm4idmlkZW8iO2Nhc2UgdDpjYXNlIG4uaGFzKGl8fCIiKTpyZXR1cm4ic2NyaXB0IjtkZWZhdWx0OnJldHVybiJpZGVhIn19YXN5bmMgZnVuY3Rpb24gYShlKXtzd2l0Y2goZSl7Y2FzZSJ2aWRlbyI6cmV0dXJuIFByb21pc2UuYWxsKFtpLmUoMzE2NjEpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMjM4NSksaS5lKDk0OTQ4KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDk0MjMyKSxpLmUoMzI4MTYpLGkuZSg1MTg0KSxpLmUoNTYyNTIpLGkuZSg4MzQ4OCksaS5lKDE5NTk1KSxpLmUoMTk3ODcpLGkuZSg2Nzc5OSksaS5lKDExNDYxKSxpLmUoMjQ1ODEpLGkuZSg5NjU4NyksaS5lKDExMjE4KSxpLmUoODY0MjMpLGkuZSgzNzUxMyksaS5lKDQwODM1KSxpLmUoOTgwODQpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoNDk1ODgpLGkuZSg3NDM4MSksaS5lKDUwMjIxKSxpLmUoMTU1MjYpLGkuZSg2MTgyMSksaS5lKDU3MzAwKSxpLmUoNTI2ODApLGkuZSgzNTc5NCksaS5lKDMyNzQ4KSxpLmUoMTY3NiksaS5lKDY2MjcwKSxpLmUoODMwNDEpLGkuZSg1MTY4MiksaS5lKDcxNDgyKSxpLmUoMzc3NjcpLGkuZSg5NzY2MCksaS5lKDQ2NTkxKSxpLmUoNzE1MjgpLGkuZSgzMzEyMCksaS5lKDQ0NzcpLGkuZSgxNTA5KSxpLmUoNTUzMzYpLGkuZSg5MjM5MyksaS5lKDIwMjcxKSxpLmUoOTE2NzgpLGkuZSgyNzczNiksaS5lKDgwNzMxKSxpLmUoNzYzMjkpLGkuZSg2OTc0NyksaS5lKDI3NTQ5KSxpLmUoNjI4MDYpLGkuZSg1MjkyMCksaS5lKDM4ODY4KSxpLmUoMTY0MjEpLGkuZSgxNDY0MCksaS5lKDQwNDIpLGkuZSgzNjM1NiksaS5lKDIyMTQ0KSxpLmUoODM1MjkpLGkuZSg1OTgzMCksaS5lKDU5NDM3KSxpLmUoNzA3NTYpLGkuZSg3NDU2KSxpLmUoMjk5NDMpLGkuZSg2Mjg5MiksaS5lKDIyNDY0KSxpLmUoODQzMzUpLGkuZSgyMDEzKSxpLmUoMzMxMCksaS5lKDU3NTYpLGkuZSg3NDQ2MSksaS5lKDgzMjYxKSxpLmUoMzIzODcpLGkuZSg3MDcxMiksaS5lKDg3ODU4KSxpLmUoNTk2MTkpLGkuZSg4MTg2OCksaS5lKDIzNzQzKSxpLmUoODk0NiksaS5lKDQ4ODU0KSxpLmUoNjExODMpLGkuZSgxOTQ2MyksaS5lKDMwNDIxKSxpLmUoMjc5MTMpLGkuZSgyOTg0NCksaS5lKDk2MDc4KSxpLmUoMzM2NyksaS5lKDM4MDE2KSxpLmUoODY0MTMpXSkudGhlbihpLmJpbmQoaSwzMzYyMzgpKS50aGVuKChlPT5lLlB1YmxpY2F0aW9uVmlld1ZpZGVvKSk7Y2FzZSJzY3JpcHQiOgpyZXR1cm4gUHJvbWlzZS5hbGwoW2kuZSgxNDY5MyksaS5lKDg0MzA2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSgzNjIyMiksaS5lKDI5NTM2KSxpLmUoOTQyMzIpLGkuZSgzMjgxNiksaS5lKDUxODQpLGkuZSg1NjI1MiksaS5lKDgzNDg4KSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTEyMTgpLGkuZSg4NjQyMyksaS5lKDM3NTEzKSxpLmUoODU3OSksaS5lKDk1MDQpLGkuZSg0MDgzNSksaS5lKDk4MDg0KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDQ5NTg4KSxpLmUoNDc2MzIpLGkuZSg3NDM4MSksaS5lKDUwMjIxKSxpLmUoMTU1MjYpLGkuZSg3MTQxNCksaS5lKDYxODIxKSxpLmUoNTczMDApLGkuZSg1MjY4MCksaS5lKDM1Nzk0KSxpLmUoMzI3NDgpLGkuZSgxNjc2KSxpLmUoNjYyNzApLGkuZSg5NzQ0KSxpLmUoODMwNDEpLGkuZSg1MTY4MiksaS5lKDcxNDgyKSxpLmUoMzc3NjcpLGkuZSgxOTUxMyksaS5lKDk3NjYwKSxpLmUoNDY1OTEpLGkuZSg3MTUyOCksaS5lKDMzMTIwKSxpLmUoNDQ3NyksaS5lKDE1MDkpLGkuZSg1NTMzNiksaS5lKDkyMzkzKSxpLmUoMjAyNzEpLGkuZSg5MTY3OCksaS5lKDI3NzM2KSxpLmUoODA3MzEpLGkuZSg3NjMyOSksaS5lKDY5NzQ3KSxpLmUoMjc1NDkpLGkuZSg2MjgwNiksaS5lKDUyOTIwKSxpLmUoMzg4NjgpLGkuZSgxNjQyMSksaS5lKDE0NjQwKSxpLmUoNDA0MiksaS5lKDM2MzU2KSxpLmUoMjIxNDQpLGkuZSg4MzUyOSksaS5lKDU5ODMwKSxpLmUoNTk0MzcpLGkuZSg3MDc1NiksaS5lKDc0NTYpLGkuZSgyOTk0MyksaS5lKDYyODkyKSxpLmUoMjI0NjQpLGkuZSg4NDMzNSksaS5lKDIwMTMpLGkuZSgzMzEwKSxpLmUoNTc1NiksaS5lKDI3NTEzKSxpLmUoMzIzODcpLGkuZSg3MDcxMiksaS5lKDg3ODU4KSxpLmUoNTk2MTkpLGkuZSg4MTg2OCksaS5lKDIzNzQzKSxpLmUoNDIyODgpLGkuZSg3NzU3OCksaS5lKDg5NDYpLGkuZSg0ODg1NCksaS5lKDYxMTgzKSxpLmUoMTk0NjMpLGkuZSgzMDQyMSksaS5lKDI3OTEzKSxpLmUoMjk4NDQpLGkuZSg5NjA3OCksaS5lKDMzNjcpLGkuZSgzODAxNiksaS5lKDcxNTY1KV0pLnRoZW4oaS5iaW5kKGksOTc5NDEzKSkudGhlbigoZT0+ZS5QdWJsaWNhdGlvblZpZXdTY3JpcHQpKTtjYXNlImlkZWEiOnJldHVybiBQcm9taXNlLmFsbChbaS5lKDE0NjkzKSxpLmUoODQzMDYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMjM4NSksaS5lKDgxMDcyKSxpLmUoOTQ5NDgpLGkuZSgyMzYyNCksaS5lKDM2MjIyKSxpLmUoMjk1MzYpLGkuZSg5NDIzMiksaS5lKDMyODE2KSxpLmUoNTE4NCksaS5lKDU2MjUyKSxpLmUoODM0ODgpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoNjc3OTkpLGkuZSgxMTQ2MSksaS5lKDI0NTgxKSxpLmUoOTY1ODcpLGkuZSgxMTIxOCksaS5lKDg2NDIzKSxpLmUoMzc1MTMpLGkuZSg4NTc5KSxpLmUoOTUwNCksaS5lKDQwODM1KSxpLmUoOTgwODQpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoNDk1ODgpLGkuZSg0NzYzMiksaS5lKDc0MzgxKSxpLmUoNTAyMjEpLGkuZSgxNTUyNiksaS5lKDcxNDE0KSxpLmUoNjE4MjEpLGkuZSg1NzMwMCksaS5lKDUyNjgwKSxpLmUoMzU3OTQpLGkuZSgzMjc0OCksaS5lKDE2NzYpLGkuZSg2NjI3MCksaS5lKDk3NDQpLGkuZSg4MzA0MSksaS5lKDUxNjgyKSxpLmUoNzE0ODIpLGkuZSgzNzc2NyksaS5lKDE5NTEzKSxpLmUoOTc2NjApLGkuZSg0NjU5MSksaS5lKDcxNTI4KSxpLmUoMzMxMjApLGkuZSg0NDc3KSxpLmUoMTUwOSksaS5lKDU1MzM2KSxpLmUoOTIzOTMpLGkuZSgyMDI3MSksaS5lKDkxNjc4KSxpLmUoMjc3MzYpLGkuZSg4MDczMSksaS5lKDc2MzI5KSxpLmUoNjk3NDcpLGkuZSgyNzU0OSksaS5lKDYyODA2KSxpLmUoNTI5MjApLGkuZSgzODg2OCksaS5lKDE2NDIxKSxpLmUoMTQ2NDApLGkuZSg0MDQyKSxpLmUoMzYzNTYpLGkuZSgyMjE0NCksaS5lKDgzNTI5KSxpLmUoNTk4MzApLGkuZSg1OTQzNyksaS5lKDcwNzU2KSxpLmUoNzQ1NiksaS5lKDI5OTQzKSxpLmUoNjI4OTIpLGkuZSgyMjQ2NCksaS5lKDg0MzM1KSxpLmUoMjAxMyksaS5lKDMzMTApLGkuZSg1NzU2KSxpLmUoMjc1MTMpLGkuZSgzMjM4NyksaS5lKDcwNzEyKSxpLmUoODc4NTgpLGkuZSg1OTYxOSksaS5lKDgxODY4KSxpLmUoMjM3NDMpLGkuZSg0MjI4OCksaS5lKDc3NTc4KSxpLmUoODk0NiksaS5lKDQ4ODU0KSxpLmUoNjExODMpLGkuZSgxOTQ2MyksaS5lKDMwNDIxKSxpLmUoMjc5MTMpLGkuZSgyOTg0NCksaS5lKDk2MDc4KSxpLmUoMzM2NyksaS5lKDM4MDE2KSxpLmUoMTkyMTMpXSkudGhlbihpLmJpbmQoaSw0OTA2NjkpKS50aGVuKChlPT5lLlB1YmxpY2F0aW9uVmlld0lkZWEpKX19IWZ1bmN0aW9uKGUpe2UuSWRlYT0iaWRlYSIsZS5TY3JpcHQ9InNjcmlwdCIsZS5WaWRlbz0idmlkZW8ifShyfHwocj17fSkpfSwzODcxMDEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7c2hvd0RldGFpbHNEaWFsb2c6KCk9Pm99KTt2YXIgcz1pKDI5NjI2Mik7bGV0IG47Y2xhc3MgciBleHRlbmRzIHMuRGlhbG9nUmVuZGVyZXJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2RpYWxvZz1udWxsLHRoaXMuX3Byb21pc2U9bnVsbCx0aGlzLl9zdWJzY3JpYmU9ZT0+e3RoaXMuX3NldFZpc2liaWxpdHkoZSl9fXNob3coZSl7CmNvbnN0IHQ9dGhpcy5fcHJvbWlzZT1Qcm9taXNlLmFsbChbaS5lKDkzNzQ1KSxpLmUoNjYwMDIpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDMyODE2KSxpLmUoNTE4NCksaS5lKDU2MjUyKSxpLmUoODM0ODgpLGkuZSgyNzUxNyksaS5lKDk1MDQpLGkuZSgxNzA4NyksaS5lKDk4MDg0KSxpLmUoNDk1ODgpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNDc2MzIpLGkuZSg2NjA1KSxpLmUoMzM1MTUpLGkuZSgxNDYyNSksaS5lKDcxNDE0KSxpLmUoNjU3KSxpLmUoODkyMDQpLGkuZSg5MTg1NSksaS5lKDQzNjQ0KSxpLmUoNTgwNTEpLGkuZSg2OTg2MSksaS5lKDU1MDExKSxpLmUoNDUzNjgpLGkuZSgzMDM3MyksaS5lKDIxNTgxKSxpLmUoNTE4ODApLGkuZSgxODQ3MiksaS5lKDQ3MDkyKSxpLmUoMjU4MDkpLGkuZSgxNzY5MyksaS5lKDIxMjQ1KSxpLmUoNTY4OSksaS5lKDI1NTYyKSxpLmUoMjYxMDApLGkuZSgyOTM0OCksaS5lKDM2OTg2KSxpLmUoNjMwMzMpLGkuZSgyODkzNiksaS5lKDQ3NTUxKSxpLmUoNzM5NjApLGkuZSgyNTExKSxpLmUoNjM3MjMpLGkuZSgyMDA4NSksaS5lKDM2NTIxKSxpLmUoMjcyMTcpLGkuZSgyMjQwNSksaS5lKDMyMzg3KSxpLmUoMzA2OTkpLGkuZSg3ODMxMiksaS5lKDQ0NzgwKSxpLmUoMTM4MDUpLGkuZSg0MjI4OCksaS5lKDY5Njk3KSxpLmUoODAyMDcpLGkuZSg5NzY0NyksaS5lKDgzOTM1KSxpLmUoNTMyOTcpLGkuZSgzOTYwNiksaS5lKDY3ODUzKSxpLmUoMzcxMDYpLGkuZSgzNzI1OSksaS5lKDc0OTEpLGkuZSg4MDkxMildKS50aGVuKGkuYmluZChpLDgyOTA5NykpLnRoZW4oKGk9Pnt0aGlzLl9wcm9taXNlPT09dCYmKHRoaXMuX2RpYWxvZyYmKHRoaXMuX2RpYWxvZy5oaWRlKCksdGhpcy5fZGlhbG9nLnZpc2libGUoKS51bnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpKSx0aGlzLl9kaWFsb2c9bmV3IGkuRGV0YWlsc0RpYWxvZ1JlbmRlcmVyLHRoaXMuX2RpYWxvZy52aXNpYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nLnNob3coZSkpfSkpfWhpZGUoKXt0aGlzLl9kaWFsb2c/LmhpZGUoKSx0aGlzLl9kaWFsb2c/LnZpc2libGUoKS51bnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBufHwobj1uZXcgciksbn19ZnVuY3Rpb24gbyhlKXtyLmdldEluc3RhbmNlKCkuc2hvdyhlKX19LDY1OTY0NyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtpc0RldGFpbHNSZWFkeTooKT0+c30pO2NvbnN0IHM9bmV3KGkoMjMyMzY0KS5XYXRjaGVkVmFsdWUpKCExKX0sNzI4NjM5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NyZWF0ZVN5bWJvbE5vdGU6KCk9PmMsc2hvd1N5bWJvbE5vdGVzOigpPT5sfSk7dmFyIHM9aSg1NTExOTMpLG49aSg2NTk2NDcpLHI9aSg5NzEwNTEpO2xldCBvPW51bGw7ZnVuY3Rpb24gYShlLHQpe2lmKG8mJm4uaXNEZXRhaWxzUmVhZHkudW5zdWJzY3JpYmUobyksbz0oKT0+e2NvbnN0IGk9d2luZG93Py53aWRnZXRiYXI/LmxheW91dD8uZ2V0V2lkZ2V0QnlUeXBlKCJkZXRhaWwiKT8ud2lkZ2V0T2JqZWN0O2kubmF2aWdhdGUoZSx0KX0sbi5pc0RldGFpbHNSZWFkeS52YWx1ZSgpKXJldHVybiBvKCksdm9pZChvPW51bGwpO24uaXNEZXRhaWxzUmVhZHkuc3Vic2NyaWJlKG8se29uY2U6ITB9KX1mdW5jdGlvbiBsKGU9bnVsbCx0KXtjb25zdCBpPSgwLHIucGF0aFRvR3JvdXApKGU/PyIiKTt0PygwLHMuc2hvd05vdGVzRGlhbG9nKShpKTphKGkpfWZ1bmN0aW9uIGMoZT1udWxsLHQpe2NvbnN0IGk9KDAsci5wYXRoVG9Hcm91cCkoZT8/IiIpKyI/bmV3PSIrcGVyZm9ybWFuY2Uubm93KCk7dCYmKDAscy5zaG93Tm90ZXNEaWFsb2cpKGkpLGEoaSl9fSw5NzEwNTEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7R1JPVVBfUEFUSF9QQVRURVJOOigpPT5uLE5PVEVTX1BBVEhfUEFUVEVSTjooKT0+cyxVTkFUVEVOREVEX1BBVEhfUEFUVEVSTjooKT0+cixwYXRoVG9Hcm91cDooKT0+b30pO2NvbnN0IHM9Ii9ub3Rlcy8iLG49Ii9ub3Rlcy9ncm91cHMvOnN5bWJvbC8iLHI9Ii9ub3Rlcy91bmF0dGVuZGVkLyI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZT9uLnJlcGxhY2UoIjpzeW1ib2wiLGVuY29kZVVSSUNvbXBvbmVudChlKSk6cn19LDgyNzAxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2F2YWlsYWJsZU9mZmVyczooKT0+bn0pO3ZhciBzPWkoMzg0MDE3KTtjb25zdCBuPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2lzSW52YWxpZD0hMCx0aGlzLl9vZmZlcnM9e319cnVuT3JVcGRhdGUoZSl7dGhpcy5faXNJbnZhbGlkP3dpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrP3dpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrKCgoKT0+dGhpcy5fdXBkYXRlT2ZmZXJzKCkudGhlbihlKSkpOnNldFRpbWVvdXQoKCgpPT50aGlzLl91cGRhdGVPZmZlcnMoKS50aGVuKGUpKSwwKTplKHRoaXMuX29mZmVycyl9Z2V0RGF0YSgpe3JldHVybiB0aGlzLl9vZmZlcnN9aW52YWxpZGF0ZShlKXt0aGlzLl9pc0ludmFsaWQ9ITAsd2luZG93LnVzZXIuYXZhaWxhYmxlX29mZmVycz17fSx0aGlzLnJ1bk9yVXBkYXRlKGU/PygoKT0+e30pKX1zZXRJbml0aWFsKGUpe3RoaXMuX2lzSW52YWxpZD0hMSx0aGlzLl9vZmZlcnM9ZSx3aW5kb3cudXNlci5hdmFpbGFibGVfb2ZmZXJzPXRoaXMuX29mZmVyc31lbnN1cmVPZmZlcnMoKXtyZXR1cm4gbmV3IFByb21pc2UoKGU9PnRoaXMucnVuT3JVcGRhdGUoZSkpKX13aXRoQXZhaWxhYmxlT2ZmZXJzKGUpe3JldHVybiBhc3luYyguLi50KT0+KGF3YWl0IHRoaXMuZW5zdXJlT2ZmZXJzKCksZSguLi50KSl9YXN5bmMgX3VwZGF0ZU9mZmVycygpe3JldHVybiB3aW5kb3cudXNlci5hdmFpbGFibGVfb2ZmZXJzfHwod2luZG93LnVzZXIuYXZhaWxhYmxlX29mZmVycz17fSksCnRoaXMuX3VwZGF0ZU9mZmVyc1Byb21pc2U/dGhpcy5fdXBkYXRlT2ZmZXJzUHJvbWlzZTp0aGlzLl9pc0ludmFsaWQ/KHRoaXMuX3VwZGF0ZU9mZmVyc1Byb21pc2U9KDAscy5mZXRjaCkoIi9hcGkvdjEvb2ZmZXJzLyIse21ldGhvZDoiR0VUIixjcmVkZW50aWFsczoiaW5jbHVkZSJ9KS50aGVuKChhc3luYyBlPT57Y29uc3QgdD1hd2FpdCBlLmpzb24oKTtyZXR1cm4gZGVsZXRlIHRoaXMuX3VwZGF0ZU9mZmVyc1Byb21pc2UsdGhpcy5faXNJbnZhbGlkPSExLHRoaXMuX29mZmVycz1PYmplY3QuZW50cmllcyh0KS5yZWR1Y2UoKChlLFt0LGldKT0+KGkmJihlW3RdPWkpLGUpKSx7fSksd2luZG93LnVzZXIuYXZhaWxhYmxlX29mZmVycz10aGlzLl9vZmZlcnMsdH0pKS5jYXRjaCgoKCk9Pih7fSkpKSx0aGlzLl91cGRhdGVPZmZlcnNQcm9taXNlKTp0aGlzLl9vZmZlcnN9fX0sMjMyOTQ4KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2dldFByb2R1Y3RJZDooKT0+aCxpc0V4Y2hhbmdlOigpPT5jLGlzUGFpZFBybzooKT0+YSxpc1BsYW46KCk9PmwsaXNQcm86KCk9Pm8saXNQcm9kdWN0RGVmaW5lZDooKT0+bixpc1RyaWFsOigpPT5yfSk7dmFyIHM9aSg1ODE4OTMpO2Z1bmN0aW9uIG4oZSl7cmV0dXJuISghZXx8IU9iamVjdC5rZXlzKGUpLmxlbmd0aCl9ZnVuY3Rpb24gcihlKXtyZXR1cm4hIWUuaXNfdHJpYWx9ZnVuY3Rpb24gbyhlKXtyZXR1cm4hIWU/LnByb19wbGFufWZ1bmN0aW9uIGEoZSl7cmV0dXJuIG8oZSkmJiFyKGUpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGUudHlwZT09PXMuUHJvZHVjdFR5cGUuUHJvUGxhbn1mdW5jdGlvbiBjKGUpe3JldHVybiBlLnR5cGU9PT1zLlByb2R1Y3RUeXBlLkV4Y2hhbmdlfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGU/YyhlKXx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PXMuUHJvZHVjdFR5cGUuQ29pbnN9KGUpP2UudGV4dF9pZD8/IiI6ZS5kaXNjb3VudF90ZXh0X2lkPz9lLnRleHRfaWQ/PyIiOiIifX0sNTgxODkzKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHM7aS5kKHQse1Byb2R1Y3RUeXBlOigpPT5zfSksZnVuY3Rpb24oZSl7ZVtlLlByb1BsYW49MV09IlByb1BsYW4iLGVbZS5OZXdzRmVlZD0zXT0iTmV3c0ZlZWQiLGVbZS5FeGNoYW5nZT00XT0iRXhjaGFuZ2UiLGVbZS5Db25uZWN0aW9uPTZdPSJDb25uZWN0aW9uIixlW2UuQ29pbnM9OF09IkNvaW5zIixlW2UuU2NyaXB0UGFja2FnZT05XT0iU2NyaXB0UGFja2FnZSJ9KHN8fChzPXt9KSl9LDc3NDUwNyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtVc2VyU3RhdHVzOigpPT5zfSk7dmFyIHMsbj1pKDg2NDAzNCkscj1pKDYzODU3MSk7IWZ1bmN0aW9uKGUpe2UuTm9uUHJvPSJub25fcHJvIixlLlBybz0icHJvIn0oc3x8KHM9e30pKTsoMCxyLm1lbW9pemUpKCgoKT0+d2luZG93LnVzZXIuaXNfdHJpYWwmJndpbmRvdy51c2VyLnByb19wbGFuP3dpbmRvdy51c2VyLmlzX2V4cGVydHx8d2luZG93LnVzZXIuZGVjbGFyZWRfc3RhdHVzIT09cy5Qcm8/bi5XRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOOm4uTU9OVEhMWV9TVUJTQ1JJUFRJT05fREFZU19MRU46bi5XRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOKSl9LDYwMjM4NihlLHQsaSl7InVzZSBzdHJpY3QiO2FzeW5jIGZ1bmN0aW9uIHMoKXtyZXR1cm4oYXdhaXQgaS5lKDg1MjI3KS50aGVuKGkuYmluZChpLDUwMzE4NSkpKS5vcGVuZWRQaW5lU2NyaXB0c31pLmQodCx7Z2V0T3BlbmVkUGluZVNjcmlwdHM6KCk9PnN9KX0sMjQ2OTg2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2VkaXRvclRlbGVtZXRyeTooKT0+bn0pO3ZhciBzPWkoMTU2ODUwKTtjb25zdCBuPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX29wZW5TdGFydFRpbWU9bnVsbH1zdGFydE9wZW5pbmcoKXt0aGlzLl9vcGVuU3RhcnRUaW1lPXBlcmZvcm1hbmNlLm5vdygpfWZpbmlzaE9wZW5pbmcoKXtudWxsIT09dGhpcy5fb3BlblN0YXJ0VGltZSYmKHMudGVsZW1ldHJ5LnNlbmRSZXBvcnQoInBpbmUiLCJvcGVuX2VkaXRvcl90aW1lX2ZyYW1lIix7dmFsdWU6TWF0aC5yb3VuZChwZXJmb3JtYW5jZS5ub3coKS10aGlzLl9vcGVuU3RhcnRUaW1lKX0pLHRoaXMuX29wZW5TdGFydFRpbWU9bnVsbCl9fX0sNTQyMTY0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3NlbmRFZGl0b3JTbm93cGxvd0V2ZW50OigpPT5vfSk7dmFyIHM9aSgzNjIyMzkpO2NvbnN0IG49W107dmFyIHI7YXN5bmMgZnVuY3Rpb24gbyhlLHQpe2NvbnN0IGk9YXdhaXQoMCxzLmdldFRyYWNrZXIpKCkscj17ZXZlbnRfbmFtZTplLGV2ZW50X3BhcmFtOnQ/SlNPTi5zdHJpbmdpZnkodCk6bnVsbCx1c2VyX3BsYW46d2luZG93LnVzZXIucHJvX3BsYW58fCh3aW5kb3cuaXNfYXV0aGVudGljYXRlZD8iZnJlZSI6InZpc2l0b3IiKX07aWYoaSl7aWYobi5sZW5ndGg+MCl7Zm9yKGNvbnN0IGUgb2YgbilpLnRyYWNrRWRpdG9yRXZlbnQoZSk7bi5sZW5ndGg9MH1pLnRyYWNrRWRpdG9yRXZlbnQocil9ZWxzZSBuLnB1c2gocil9IWZ1bmN0aW9uKGUpe2UuVmlldz0idmlldyIsZS5WaWV3UGluZT0idmlld19waW5lIixlLkV4cGVyaW1lbnQ9ImV4cGVyaW1lbnQiLGUuQXV0b2NvbXBsZXRlPSJhdXRvY29tcGxldGUiLGUuRmlyc3RFZGl0aW5nPSJmaXJzdF9lZGl0aW5nIixlLlRvcFBhbmVsQWN0aW9uPSJ0b3BfcGFuZWxfY2xpY2siLGUuSG92ZXJBbmNob3JMaW5rPSJob3Zlcl9hbmNob3JfbGluayIsZS5PcGVuUmVmZXJlbmNlRG9jPSJvcGVuX3JlZmVyZW5jZV9kb2MiLGUuT3BlblJlZmVyZW5jZUltcG9ydD0ib3Blbl9yZWZlcmVuY2VfaW1wb3J0IixlLkNsaWNrQWR2YW5jZWRNZW51PSJjbGlja19hZHZhbmNlZF9tZW51IixlLlN0YXR1c0Jhcj0ic3RhdHVzX2JhciIsZS5PdmVybG9hZE9wZXJhdGlvbj0ib3ZlcmxvYWRfb3BlcmF0aW9uIixlLkNoYXJ0Rmxvdz0iY2hhcnRfZmxvdyIsZS5JbnBsYWNlRGlmZkVkaXRvcj0iaW5wbGFjZV9kaWZmX2VkaXRvciIsZS5Db21waWxhdGlvblRpbWU9ImNvbXBpbGF0aW9uX3RpbWUiLGUuUHJvZmlsZXI9InByb2ZpbGVyIiwKZS5FZGl0b3JVc2VyRnVubmVsPSJlZGl0b3JfdXNlcl9mdW5uZWwiLGUuVmVyc2lvbkhpc3Rvcnk9InZlcnNpb25faGlzdG9yeSIsZS5TaG9ydFRpdGxlTGVuZ3RoV2FybmluZ0ZpeGVkPSJzaG9ydF90aXRsZV9sZW5ndGhfd2FybmluZ19maXhlZCIsZS5FZGl0b3JFcnJvcj0iZWRpdG9yX2Vycm9yIixlLlBhc3RlPSJwYXN0ZSIsZS5Cb3R0b21EdXBsaWNhdGVQb3B1cD0iYm90dG9tX2R1cGxpY2F0ZV9wb3B1cCIsZS5TZXR0aW5ncz0iZWRpdG9yX3NldHRpbmdzIn0ocnx8KHI9e30pKX0sMzQyMjAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7YWN0aXZhdGVQaW5lRWRpdG9yRGlhbG9nOigpPT5vfSk7dmFyIHM9aSgyNDY5ODYpLG49aSg2MDIzODYpO2FzeW5jIGZ1bmN0aW9uIHIoZSl7Y29uc3R7c2NyaXB0OnQscGFyYW1zOml9PWUuc2NyaXB0SW5mbztpZihudWxsPT09dHx8dm9pZCAwPT09dC52ZXJzaW9uKXJldHVybiExO2NvbnN0IHM9d2luZG93LlRyYWRpbmdWaWV3Py5ib3R0b21XaWRnZXRCYXI7aWYodm9pZCAwPT09c3x8IXMuaXNXaWRnZXRFbmFibGVkKCJzY3JpcHRlZGl0b3IiKSlyZXR1cm4hMTtjb25zdCByPShhd2FpdCgwLG4uZ2V0T3BlbmVkUGluZVNjcmlwdHMpKCkpLmdldFNjcmlwdEluZm8oe3NjcmlwdElkUGFydDp0LnNjcmlwdElkUGFydCxzY3JpcHRWZXJzaW9uOnQudmVyc2lvbn0pO3JldHVybiEobnVsbD09PXJ8fHIuYm90dG9tQ291bnQ8PTApJiYocy5hY3RpdmF0ZVNjcmlwdEVkaXRvclRhYihudWxsLGkpLCEwKX1hc3luYyBmdW5jdGlvbiBvKGUpe2lmKGUub3BlblNvdXJjZUlkJiZzLmVkaXRvclRlbGVtZXRyeS5zdGFydE9wZW5pbmcoKSxhd2FpdCByKGUpKXJldHVybjtjb25zdCB0PXdpbmRvdy53aWRnZXRiYXI7aWYoIWUuZm9yY2VPcGVuKXtjb25zdCBlPXQ/Lm1vZGVsKCJwaW5lLWRpYWxvZy1idXR0b24iKSxpPWU/LnZpc2libGUudmFsdWUoKTtpZighKHQ/LmlzVmlzaWJsZSgpJiZpJiZlKSlyZXR1cm59Y29uc3Qgbj1pLmUoNTQxNjApLnRoZW4oaS5iaW5kKGksMTQ2MTUzKSk7YXdhaXQoYXdhaXQgbikuc2hvd1BpbmVEaWFsb2coe2NoYXJ0UGFnZUdyaWQ6ZS5jaGFydFBhZ2VHcmlkPz90Py5jaGFydFBhZ2VHcmlkLGNoYXJ0V2lkZ2V0Q29sbGVjdGlvbjplLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8/dD8uY2hhcnRXaWRnZXRDb2xsZWN0aW9uLHNjcmlwdEluZm86ZS5zY3JpcHRJbmZvLG9wZW5Tb3VyY2VJZDplLm9wZW5Tb3VyY2VJZH0pfX0sODkxNTgxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3NlbmRFZGl0b3JTbm93cGxvd0V2ZW50OigpPT5zLnNlbmRFZGl0b3JTbm93cGxvd0V2ZW50fSk7dmFyIHM9aSg1NDIxNjQpfSw1Nzc3MTMoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBzKCl7cmV0dXJuKGF3YWl0IFByb21pc2UuYWxsKFtpLmUoMjAzNTQpLGkuZSg5ODA4NCksaS5lKDc0NjM2KSxpLmUoMzIzODcpLGkuZSgyODUwNyldKS50aGVuKGkuYmluZChpLDYwOTY4MikpKS5FcnJvckNhcmRSZW5kZXJlcn1pLmQodCx7Z2V0RXJyb3JDYXJkUmVuZGVyZXI6KCk9PnN9KX0sOTI2OTk1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Nob3dTdXBwb3J0RGlhbG9nOigpPT5ufSk7aSgzMDAyODYpO3ZhciBzPWkoODI3MDEpO2FzeW5jIGZ1bmN0aW9uIG4oZSl7Y29uc3QgdD1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDI2OTczKSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgyMDM1NCksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSg5NDIzMiksaS5lKDgzNDg4KSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSg5NjU4NyksaS5lKDExMjE4KSxpLmUoODY0MjMpLGkuZSgzNzUxMyksaS5lKDg1NzkpLGkuZSg5NTA0KSxpLmUoNDA4MzUpLGkuZSg3MjY2NiksaS5lKDkzNDIxKSxpLmUoNDk1ODgpLGkuZSg0NzYzMiksaS5lKDc0MzgxKSxpLmUoMTU1MjYpLGkuZSg3MTQxNCksaS5lKDYxODIxKSxpLmUoNTQ2ODEpLGkuZSg2NjI3MCksaS5lKDMxODM3KSxpLmUoOTc0NCksaS5lKDIwOTcxKSxpLmUoNDk1MTgpLGkuZSgzNzc2NyksaS5lKDE5NTEzKSxpLmUoMzI2MzIpLGkuZSgzNTE5OCksaS5lKDQ2NTkxKSxpLmUoOTQwNTQpLGkuZSgxNTA5KSxpLmUoNzY2NSksaS5lKDgwNzMxKSxpLmUoNTQzMTApLGkuZSgzNjM1NiksaS5lKDc4NDcxKSxpLmUoMjU2OTgpLGkuZSgzMzM2OCksaS5lKDk1MTU4KSxpLmUoMzIzODcpLGkuZSg3NTA0KSxpLmUoNDQ3ODApLGkuZSg3MDcxMiksaS5lKDg3ODU4KSxpLmUoNTk2MTkpLGkuZSg5OTgyNyksaS5lKDgxODY4KSxpLmUoMjMzNjQpLGkuZSgyMzc0MyksaS5lKDQyMjg4KSxpLmUoNzc1NzgpLGkuZSg0ODg1NCksaS5lKDE5NDYzKSxpLmUoODYwOCldKS50aGVuKGkuYmluZChpLDkxMjI5OSkpO2F3YWl0IHMuYXZhaWxhYmxlT2ZmZXJzLmVuc3VyZU9mZmVycygpLG5ldyB0LlN1cHBvcnREaWFsb2coZSkub3BlbigpfX0sMzU3NTQ0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1N1cHBvcnRJbmNpZGVudHNTZXJ2aWNlOigpPT5jLGlzU3VwcG9ydEluY2lkZW50VmlzaWJsZU9uQ2hhcnQ6KCk9Pmx9KTt2YXIgcz1pKDIyMTA2MSksbj1pKDM4NDAxNykscj1pKDYzOTExMyksbz1pKDUwNzI4NSk7Y29uc3QgYT0oMCxzLmdldExvZ2dlcikoIlN1cHBvcnQuSW5jaWRlbnRzTW9kZWwiKTtmdW5jdGlvbiBsKGUsdD13aW5kb3cubG9jYWxlKXtyZXR1cm4gZS5zaG93X29uX2NoYXJ0JiYhMSE9PWUuaXNfYWN0aXZlJiYodm9pZCAwPT09ZS5sYW5ndWFnZXx8ZS5sYW5ndWFnZS5zb21lKChlPT5lPT09dHx8ImFsbCI9PT1lKSkpfWNsYXNzIGN7Y29uc3RydWN0b3IoZT13aW5kb3cubG9jYWxlKXt0aGlzLl9pbmNpZGVudHM9W10sdGhpcy5fbGlzdGVuZXJzPW5ldyBTZXQsdGhpcy5fcHVzaFN0cmVhbUhhbmRsZXI9bnVsbCx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fbGFuZ3VhZ2U9ZX1pbmNpZGVudHMoKXtyZXR1cm4gdGhpcy5faW5jaWRlbnRzfXN1YnNjcmliZShlKXsKcmV0dXJuIHRoaXMuX2xpc3RlbmVycy5hZGQoZSksZSh0aGlzLl9pbmNpZGVudHMpLCgpPT57dGhpcy5fbGlzdGVuZXJzLmRlbGV0ZShlKX19YXN5bmMgbG9hZChlPXt9KXtjb25zdHtzdWJzY3JpYmVUb1B1c2hTdHJlYW06dD0hMX09ZTt0cnl7Y29uc3QgZT1hd2FpdCgwLG4uZmV0Y2gpKGAke3Iuc3VwcG9ydFBvcnRhbFByb2JsZW1zSG9zdH0vc3VwcG9ydC9zdXBwb3J0LXBvcnRhbC1wcm9ibGVtcy8/bGFuZ3VhZ2U9JHt0aGlzLl9sYW5ndWFnZX1gKTtpZih0aGlzLl9kZXN0cm95ZWQpcmV0dXJuO2lmKCFlLm9rKXJldHVybiB2b2lkIGEubG9nV2FybigiQ291bGRuJ3QgbG9hZCBzdXBwb3J0IHBvcnRhbCBwcm9ibGVtcyIpO2NvbnN0IGk9KGF3YWl0IGUuanNvbigpKS5pc3N1ZXM7aWYodGhpcy5fZGVzdHJveWVkKXJldHVybjt0aGlzLl9zZXRJbmNpZGVudHMoaSksdCYmdGhpcy5fc3Vic2NyaWJlVG9QdXNoU3RyZWFtKCl9Y2F0Y2goZSl7dGhpcy5fZGVzdHJveWVkfHxhLmxvZ1dhcm4oYENvdWxkbid0IGxvYWQgc3VwcG9ydCBwb3J0YWwgcHJvYmxlbXM6ICR7U3RyaW5nKGUpfWApfX1kZXN0cm95KCl7bnVsbCE9PXRoaXMuX3B1c2hTdHJlYW1IYW5kbGVyJiZvLnB1c2hTdHJlYW1NdWx0aXBsZXhlci5vZmYoInN1cHBvcnQtcG9ydGFsLXByb2JsZW0iLHRoaXMuX3B1c2hTdHJlYW1IYW5kbGVyKSx0aGlzLl9saXN0ZW5lcnMuY2xlYXIoKSx0aGlzLl9kZXN0cm95ZWQ9ITB9X3NldEluY2lkZW50cyhlKXt0aGlzLl9pbmNpZGVudHM9ZSx0aGlzLl9ub3RpZnlMaXN0ZW5lcnMoKX1fbm90aWZ5TGlzdGVuZXJzKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fbGlzdGVuZXJzKWUodGhpcy5faW5jaWRlbnRzKX1fc3Vic2NyaWJlVG9QdXNoU3RyZWFtKCl7bnVsbD09PXRoaXMuX3B1c2hTdHJlYW1IYW5kbGVyJiYodGhpcy5fcHVzaFN0cmVhbUhhbmRsZXI9ZT0+e2NvbnN0IHQ9dGhpcy5faW5jaWRlbnRzLnNsaWNlKCk7c3dpdGNoKGUuYWN0aW9uKXtjYXNlImNyZWF0ZWQiOnQucHVzaChlLmRhdGEpO2JyZWFrO2Nhc2UibW9kaWZpZWQiOntjb25zdCBpPXQuZmluZEluZGV4KCh0PT50LmlkPT09ZS5kYXRhLmlkKSk7LTEhPT1pP3RbaV09ey4uLnRbaV0sLi4uZS5kYXRhfTp0LnB1c2goZS5kYXRhKTticmVha31jYXNlImRlbGV0ZWQiOntjb25zdCBpPXQuZmluZEluZGV4KCh0PT50LmlkPT09ZS5kYXRhLmlkKSk7LTEhPT1pJiZ0LnNwbGljZShpLDEpO2JyZWFrfX10aGlzLl9zZXRJbmNpZGVudHModCl9LG8ucHVzaFN0cmVhbU11bHRpcGxleGVyLm9uKCJzdXBwb3J0LXBvcnRhbC1wcm9ibGVtIix0aGlzLl9wdXNoU3RyZWFtSGFuZGxlcikpfX19LDkyMjI0OChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtTWU1CT0xfTElTVF9TRVJWSUNFOigpPT5zfSk7Y29uc3Qgcz0oMCxpKDQ3MzA2OCkuY3JlYXRlU2VydmljZURlc2NyaXB0b3IpKCJTeW1ib2xMaXN0U2VydmljZSIpfSw3NjAzOTAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLnIodCksaS5kKHQse0RFTEVURURfU1lNQk9MU19MSVNUX0lEOigpPT5hLERlbGV0ZWRTeW1ib2xzTGlzdDooKT0+aCxpc0RlbGV0ZWRTeW1ib2xzTGlzdDooKT0+Y30pO3ZhciBzPWkoOTMyMzY1KSxuPWkoMzQ5MDMwKTtjb25zdCByPSJkZWxldGVkX3N5bWJvbHNfbGlzdCIsbz0iaXNfZGVsZXRlZF9zeW1ib2xzX2xpc3RfYWN0aXZlIixhPSJkZWxldGVkX3N5bWJvbHNfbGlzdF9pZCIsbD0iVGhlcmUgd2FzIGFuIGVycm9yIGR1cmluZyBhdHRlbXB0IHRvIHNldCBsb2NhbCBzdG9yYWdlIHZhbHVlIixjPWU9PmU9PT1hO2NsYXNzIGh7Y29uc3RydWN0b3IoKXt0aGlzLl9sb2dFcnJvcj0oZSx0KT0+e2UgaW5zdGFuY2VvZiBFcnJvcj9uLmxvZ2dlci5sb2dFcnJvcihlLm1lc3NhZ2UpOm4ubG9nZ2VyLmxvZ0Vycm9yKHQpfX1jcmVhdGVMaXN0KGUpe3RoaXMuX3NldExpc3QoZSl9cmVtb3ZlTGlzdCgpe3RyeXtzLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0ocil9Y2F0Y2goZSl7dGhpcy5fbG9nRXJyb3IoZSwiVGhlcmUgd2FzIGFuIGVycm9yIGR1cmluZyBsb2NhbCBzdG9yYWdlIGl0ZW0gcmVtb3ZhbCIpfX1hZGRTeW1ib2xzKGUpe2NvbnN0IHQ9dGhpcy5nZXRMaXN0KCk7aWYoIXQpcmV0dXJuO2NvbnN0IGk9bmV3IFNldCh0LnN5bWJvbHMpO2Zvcihjb25zdCB0IG9mIGUpaS5hZGQodCk7Y29uc3Qgcz1BcnJheS5mcm9tKGkpO3MubGVuZ3RoPjEwMD90LnN5bWJvbHM9cy5yZXZlcnNlKCkuc2xpY2UoMCwxMDApLnJldmVyc2UoKTp0LnN5bWJvbHM9cyx0aGlzLl9zZXRMaXN0KHQpfXJlbW92ZVN5bWJvbHMoZSl7Y29uc3QgdD10aGlzLmdldExpc3QoKTtpZighdClyZXR1cm47Y29uc3QgaT1uZXcgU2V0KHQuc3ltYm9scyk7Zm9yKGNvbnN0IHQgb2YgZSlpLmRlbGV0ZSh0KTt0LnN5bWJvbHM9QXJyYXkuZnJvbShpKSx0aGlzLl9zZXRMaXN0KHQpfXJlcGxhY2VTeW1ib2xzKGUpe2NvbnN0IHQ9dGhpcy5nZXRMaXN0KCk7dCYmKHQuc3ltYm9scz1lLHRoaXMuX3NldExpc3QodCkpfWdldElzQWN0aXZlKCl7dHJ5e3JldHVybiJ0cnVlIj09PXMuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShvKX1jYXRjaChlKXtyZXR1cm4gdGhpcy5fbG9nRXJyb3IoZSxsKSwhMX19c2V0SXNBY3RpdmUoZSl7dHJ5e3MuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShvLFN0cmluZyhlKSl9Y2F0Y2goZSl7dGhpcy5fbG9nRXJyb3IoZSxsKX19Z2V0TGlzdCgpe3RyeXtjb25zdCBlPXMuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShyKTtyZXR1cm4gZT9KU09OLnBhcnNlKGUpOm51bGx9Y2F0Y2goZSl7cmV0dXJuIHRoaXMuX2xvZ0Vycm9yKGUsIlRoZXJlIHdhcyBhbiBlcnJvciBkdXJpbmcgYXR0ZW1wdCB0byBnZXQgbG9jYWwgc3RvcmFnZSB2YWx1ZSIpLG51bGx9fV9zZXRMaXN0KGUpe3RyeXtzLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0ocixKU09OLnN0cmluZ2lmeShlKSl9Y2F0Y2goZSl7dGhpcy5fbG9nRXJyb3IoZSxsKX19fX0sMzQ5MDMwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2xvZ2dlcjooKT0+c30pO2NvbnN0IHM9KDAsaSgyMjEwNjEpLmdldExvZ2dlcikoIlBsYXRmb3JtLk1vZGVsLldhdGNobGlzdCIpfSwKNDU2NzA1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2luaXRTeW1ib2xMaXN0U2VydmljZTooKT0+b30pO3ZhciBzPWkoOTMwMjMxKSxuPWkoNzA1MDEyKSxyPWkoOTIyMjQ4KTtmdW5jdGlvbiBvKCl7cmV0dXJuIFByb21pc2UuYWxsKFtQcm9taXNlLmFsbChbaS5lKDczNzcpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDk0MjMyKSxpLmUoMTIwNTEpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoMTg1MTIpLGkuZSg0MjQ1NyksaS5lKDM5NjA5KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDUyNTA5KSxpLmUoODU0MzQpLGkuZSg3Mjg1KSxpLmUoMjg1MSksaS5lKDE5OTM4KV0pLnRoZW4oaS5iaW5kKGksODA0MzQzKSksUHJvbWlzZS5hbGwoW2kuZSg3Mzc3KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSg5NDIzMiksaS5lKDEyMDUxKSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDE4NTEyKSxpLmUoNDI0NTcpLGkuZSgzOTYwOSksaS5lKDE0ODg5KSxpLmUoNDIyMTIpLGkuZSg1MjUwOSksaS5lKDg1NDM0KSxpLmUoNzI4NSksaS5lKDI4NTEpLGkuZSgxOTkzOCldKS50aGVuKGkuYmluZChpLDc3OTkzOSkpLFByb21pc2UuYWxsKFtpLmUoNzM3NyksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoOTQyMzIpLGkuZSgxMjA1MSksaS5lKDMyMzg3KSxpLmUoMzA2OTkpLGkuZSgxODUxMiksaS5lKDQyNDU3KSxpLmUoMzk2MDkpLGkuZSgxNDg4OSksaS5lKDQyMjEyKSxpLmUoNTI1MDkpLGkuZSg4NTQzNCksaS5lKDcyODUpLGkuZSgyODUxKSxpLmUoMTk5MzgpXSkudGhlbihpLmJpbmQoaSwxMjIzMDcpKSxQcm9taXNlLmFsbChbaS5lKDczNzcpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDk0MjMyKSxpLmUoMTIwNTEpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoMTg1MTIpLGkuZSg0MjQ1NyksaS5lKDM5NjA5KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDUyNTA5KSxpLmUoODU0MzQpLGkuZSg3Mjg1KSxpLmUoMjg1MSksaS5lKDE5OTM4KV0pLnRoZW4oaS5iaW5kKGksNjMyMDM1KSksKDAscy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iik/bnVsbDpQcm9taXNlLmFsbChbaS5lKDczNzcpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDk0MjMyKSxpLmUoMTIwNTEpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoMTg1MTIpLGkuZSg0MjQ1NyksaS5lKDM5NjA5KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDUyNTA5KSxpLmUoODU0MzQpLGkuZSg3Mjg1KSxpLmUoMjg1MSksaS5lKDE5OTM4KV0pLnRoZW4oaS5iaW5kKGksMTc5NjEwKSldKS50aGVuKCgoW2UsdCxpLHMsb10pPT57aWYoKDAsbi5oYXNTZXJ2aWNlKShyLlNZTUJPTF9MSVNUX1NFUlZJQ0UpKXJldHVybigwLG4uc2VydmljZSkoci5TWU1CT0xfTElTVF9TRVJWSUNFKTtjb25zdHtzdG9yZTphLHJ1bm5lcjpsfT1lLmNvbmZpZ3VyZVN0b3JlKCksYz1sLnJ1bih0LnN5bWJvbExpc3RSZXBvc2l0b3J5U2FnYSk7KDAsbi5yZWdpc3RlclNlcnZpY2UpKHIuU1lNQk9MX0xJU1RfU0VSVklDRSx7c3RvcmU6YSxydW5uZXI6bCxhY3Rpb25zOnthZGRTeW1ib2xzOnMuYWRkU3ltYm9sc1RodW5rLGluaXRXaWRnZXQ6aS5pbml0V2lkZ2V0LHNhdmVMaXN0QXM6cy5zYXZlTGlzdEFzVGh1bmssY3JlYXRlTmV3V2F0Y2hMaXN0OnMudXNlckNyZWF0ZVdhdGNobGlzdFRodW5rfSx0YXNrOmN9KTtjb25zdCBoPSgwLG4uc2VydmljZSkoci5TWU1CT0xfTElTVF9TRVJWSUNFKTtyZXR1cm4gbnVsbCE9PW8mJm8uZ2V0Q3VzdG9tU3ltYm9sTGlzdFN5bmNocm9uaXphdGlvblNlcnZpY2VJbnN0YW5jZShoKSxofSkpfX0sNTE5NTE1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1dBVENITElTVF9XSURHRVRfSUQ6KCk9PnN9KTtjb25zdCBzPSJ3YXRjaGxpc3Qtd2lkZ2V0In0sODI0NDc4KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Nob3dXYXRjaExpc3RzRGlhbG9nOigpPT5vfSk7dmFyIHM9aSgyOTYyNjIpO2xldCBuO2NsYXNzIHIgZXh0ZW5kcyBzLkRpYWxvZ1JlbmRlcmVye2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9kaWFsb2c9bnVsbCx0aGlzLl9zdWJzY3JpYmU9ZT0+e3RoaXMuX3NldFZpc2liaWxpdHkoZSl9fXNob3coZSl7dGhpcy5fbG9hZCgpLnRoZW4oKHQ9PnQuc2hvdyhlKSkpfWhpZGUoKXt0aGlzLl9kaWFsb2c/LmhpZGUoKSx0aGlzLl9kaWFsb2c/LnZpc2libGUoKS51bnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBufHwobj1uZXcgciksbn1hc3luYyBfbG9hZCgpewpjb25zdCBlPWF3YWl0IFByb21pc2UuYWxsKFtpLmUoODUwMTQpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSg5NDIzMiksaS5lKDgzNDg4KSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDI0NTgxKSxpLmUoODU3OSksaS5lKDk1MDQpLGkuZSgxNzA4NyksaS5lKDcyNjY2KSxpLmUoMTAzODUpLGkuZSg1MjA2NSksaS5lKDQ3NjMyKSxpLmUoNjYwNSksaS5lKDcxNDE0KSxpLmUoNTI2ODApLGkuZSgzNTc5NCksaS5lKDMyNzQ4KSxpLmUoMTY3NiksaS5lKDg5MjA0KSxpLmUoOTE4NTUpLGkuZSgxMjA1MSksaS5lKDg5NTU4KSxpLmUoMzIxNzYpLGkuZSg5NzQ0KSxpLmUoMTAzNjYpLGkuZSg2OTg2MSksaS5lKDE5NTEzKSxpLmUoNzI1MTIpLGkuZSgxNTYzNCksaS5lKDg4NjQxKSxpLmUoNzA2NTYpLGkuZSg4OTA0NCksaS5lKDQwOTE0KSxpLmUoOTA5NjApLGkuZSg4Nzc0MCksaS5lKDU2MjEzKSxpLmUoNjg5NjQpLGkuZSgyMzY2OSksaS5lKDUwMDM1KSxpLmUoNzg4OTkpLGkuZSg0MjcyMSksaS5lKDQ3MjAxKSxpLmUoNTA1ODgpLGkuZSg2NDUpLGkuZSg5MTY3MCksaS5lKDU1MzkpLGkuZSgxNDY1NyksaS5lKDcxNDM3KSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDgwOTE1KSxpLmUoMTg1MTIpLGkuZSg2NzIwOCksaS5lKDQyMjg4KSxpLmUoNzc1NzgpLGkuZSgxNDg4OSksaS5lKDQyMjEyKSxpLmUoNTUyMjkpLGkuZSg0NjIxNyksaS5lKDY4NzI1KSxpLmUoNjY5MzMpLGkuZSg1MjUwOSksaS5lKDcyNjc0KSxpLmUoMzUyNTIpLGkuZSg5MzI3NyksaS5lKDEzODM0KV0pLnRoZW4oaS5iaW5kKGksMjYzNjg4KSk7cmV0dXJuIHRoaXMuX2RpYWxvZz8uaGlkZSgpLHRoaXMuX2RpYWxvZz8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nPWUud2F0Y2hsaXN0c0RpYWxvZ1JlbmRlcmVyKCksdGhpcy5fZGlhbG9nLnZpc2libGUoKS5zdWJzY3JpYmUodGhpcy5fc3Vic2NyaWJlKSx0aGlzLl9kaWFsb2d9fWZ1bmN0aW9uIG8oZSl7ci5nZXRJbnN0YW5jZSgpLnNob3coZSl9fSw5OTQ1NDAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7YWN0aXZhdGVLZXlQcmVzc0hhbmRsZXI6KCk9Pl8sc2hvd0RpYWxvZzooKT0+bX0pO3ZhciBzPWkoOTMwMjMxKSxuPWkoMjIxMDYxKSxyPWkoMjIxNzAwKSxvPWkoMjQzOTM4KSxhPWkoODYyNTcyKSxsPWkoOTQzODQyKSxjPWkoMzg2OTMxKSxoPWkoMjM3MzY5KSxkPWkoNjE0MzgwKTtjb25zdCB1PSgwLG4uZ2V0TG9nZ2VyKSgiU3ltYm9sU2VhcmNoRGlhbG9nIik7ZnVuY3Rpb24gcChlKXtpZighKDAsby5nbG9iYWxLZXlwcmVzc01hdGNoZXMpKGUpKXJldHVybiExO2UucHJldmVudERlZmF1bHQoKTtjb25zdCB0PVN0cmluZy5mcm9tQ2hhckNvZGUoZS5jaGFyQ29kZSk7cmV0dXJuKDAscy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19pbnRlcnZhbF9kaWFsb2dfb25fa2V5X3ByZXNzIikmJmZ1bmN0aW9uKGUpe3JldHVybi9bMS05XS8udGVzdChlKX0odCk/KDAsYS5zaG93Q2hhbmdlSW50ZXJ2YWxEaWFsb2dBc3luYykoe2luaXRWYWw6dH0pOigwLHMuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfaG90X2tleSIpJiYobSh7ZGVmYXVsdFZhbHVlOnQsc2VsZWN0U2VhcmNoT25Jbml0OiExLHNvdXJjZToia2V5Ym9hcmQiLHNlYXJjaFR5cGU6InN1cGVyY2hhcnRzIix0cmFja1Jlc3VsdHNPcHRpb25zOnt0cmFja1Jlc3VsdHM6ISgwLHMuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpLGVtcHR5U2VhcmNoVHlwZToiZW1wdHlfcmVzdWx0X19zdXBlcmNoYXJ0cyJ9LGVuYWJsZU9wdGlvbnNDaGFpbjooMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpfSksKDAsYy50cmFja0V2ZW50KSgiR1VJIiwiU1MiLCJob3RrZXkiKSksITB9ZnVuY3Rpb24gXygpeygwLGwubG9hZENoYW5nZUludGVydmFsRGlhbG9nKSgpLHIucHVzaEJhY2tMaXN0ZW5lcigic3ltYm9sRWRpdCIscCl9YXN5bmMgZnVuY3Rpb24gbShlKXt0cnl7YXdhaXQobmV3IGQuU3ltYm9sU2VhcmNoVUkpLnNob3coZSl9Y2F0Y2goZSl7dS5sb2dFcnJvcihgQW5vdGhlciBTeW1ib2xTZWFyY2hVSSBpcyBhbHJlYWR5IG9wZW5lZCBvciBDdXN0b21VSSByZWplY3RlZCBzeW1ib2wgc2VsZWN0aW9uICR7KDAsaC5nZXRFcnJvck1lc3NhZ2UpKGUpfWApfX19LDQxMTQwNyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHt0cmFkaW5nU2VydmljZTooKT0+cix3YWl0VHJhZGluZ1NlcnZpY2U6KCk9Pm99KTt2YXIgcz1pKDcwNTAxMik7Y29uc3Qgbj0oMCxpKDQ3MzA2OCkuY3JlYXRlU2VydmljZURlc2NyaXB0b3IpKCJUcmFkaW5nU2VydmljZSIpO2Z1bmN0aW9uIHIoKXtyZXR1cm4oMCxzLmhhc1NlcnZpY2UpKG4pPygwLHMuc2VydmljZSkobik6bnVsbH1mdW5jdGlvbiBvKCl7cmV0dXJuKDAscy53YWl0U2VydmljZVJlZ2lzdGVyZWQpKG4pfX0sMjE2MDgzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3RyYWNrQnV0dG9uQ2xpY2s6KCk9Pm59KTt2YXIgcz1pKDM2MjIzOSk7ZnVuY3Rpb24gbihlLHQsaSxuKXsoMCxzLmdldFRyYWNrZXIpKCkudGhlbigocz0+e251bGwhPT1zJiZzLnRyYWNrVG9vbGJhckJ1dHRvbkNsaWNrKGUsaT9gJHt0fSAke2l9YDp0LG4pfSkpfX0sMjUwNDM5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NvbnRleHRNZW51TWFuYWdlcjooKT0+c30pO3ZhciBzLG49aSgxOTg5MDEpLHI9aSg1MDkwNCksbz1pKDI3NjAxOSk7IWZ1bmN0aW9uKGUpe2xldCB0PW51bGwscz1udWxsO2NvbnN0IGE9W10sbD17Y3JlYXRlQWN0aW9uOmU9Pm5ldyByLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkN1c3RvbUFjdGlvbklkIixvcHRpb25zOmV9KSxjcmVhdGVBc3luY0FjdGlvbjplPT5uZXcgci5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5DdXN0b21BY3Rpb25JZCIsb3B0aW9uczp7fSwKb3B0aW9uc0xvYWRlcjplfSksY3JlYXRlU2VwYXJhdG9yOigpPT5uZXcgci5TZXBhcmF0b3J9O2FzeW5jIGZ1bmN0aW9uIGMoZSxyPXt9LG89e21lbnVOYW1lOiIifSxjKXtudWxsIT09dCYmKGU9YXdhaXQgdChlLGwsbykpO2xldCBkPW51bGw7Y29uc3QgdT0oKT0+e2NvbnN0IGU9KDAsbi5pbmRleE9mKShhLChlPT5lLnJlbmRlcmVyPT09ZCkpOy0xIT09ZSYmYS5zcGxpY2UoZSwxKSx2b2lkIDAhPT1jJiZjKCl9O2xldCBwPSExO2lmKG51bGwhPT1zJiYoZD1hd2FpdCBzKGUsbyx1KSksZClwPSEwLGgoKTtlbHNle2NvbnN0IHQ9YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSg3NTUyKSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDk0MjMyKSxpLmUoMjQ1ODEpLGkuZSgxNzA4NyksaS5lKDcwODE1KSxpLmUoNzI1MTIpLGkuZSg1MjA5NSksaS5lKDcwNjU2KSxpLmUoNDQwMzEpLGkuZSgzNTA3MyksaS5lKDMyMzg3KSxpLmUoMjAzMzEpLGkuZSg3NDM2NCldKS50aGVuKGkuYmluZChpLDEwMjIzNykpO2Q9bmV3IHQuQ29udGV4dE1lbnVSZW5kZXJlcihlLHIsdSxoKX1yZXR1cm4gYS5wdXNoKHtyZW5kZXJlcjpkLGlzRXh0ZXJuYWw6cH0pLGR9ZnVuY3Rpb24gaCgpeygwLG8uZ2xvYmFsQ2xvc2VNZW51KSgpLGEuZm9yRWFjaCgoZT0+e2UuaXNFeHRlcm5hbCYmZS5yZW5kZXJlci5pc1Nob3duKCkmJmUucmVuZGVyZXIuaGlkZSgpfSkpfWUuY3JlYXRlTWVudT1jLGUuc2hvd01lbnU9ZnVuY3Rpb24oZSx0LGk9e30scyxuKXtyZXR1cm4gYyhlLGkscyxuKS50aGVuKChlPT5lLnNob3codCkpKX0sZS5zZXRDdXN0b21SZW5kZXJlckZhY3Rvcnk9ZnVuY3Rpb24oZSl7cz1lfSxlLnNldEN1c3RvbUl0ZW1zUHJvY2Vzc29yPWZ1bmN0aW9uKGUpe3Q9ZX0sZS5oaWRlQWxsPWgsZS5nZXRTaG93bj1mdW5jdGlvbigpe2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7ZSsrKWlmKGFbZV0ucmVuZGVyZXIuaXNTaG93bigpKXJldHVybiBhW2VdLnJlbmRlcmVyO3JldHVybiBudWxsfX0oc3x8KHM9e30pKX0sMzc5NzkzKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHM7aS5kKHQse1Rvb2xib3hUeXBlOigpPT5zfSksZnVuY3Rpb24oZSl7ZVtlLkRlbGV0ZT0wXT0iRGVsZXRlIn0oc3x8KHM9e30pKX0sOTU4NTAwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1Jlc2l6ZXJEZXRhY2hlclN0YXRlOigpPT5yfSk7dmFyIHM9aSgxMzg2MzgpLG49aSgyMzIzNjQpO2NsYXNzIHJ7Y29uc3RydWN0b3IoZSl7dGhpcy5fYWxpdmU9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX2NvbnRhaW5lcj1uZXcgbi5XYXRjaGVkVmFsdWUsdGhpcy5fd2lkdGg9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX2hlaWdodD1uZXcgbi5XYXRjaGVkVmFsdWUsdGhpcy5fZnVsbHNjcmVlbj1uZXcgbi5XYXRjaGVkVmFsdWUsdGhpcy5fZGV0YWNoYWJsZT1uZXcgbi5XYXRjaGVkVmFsdWUsdGhpcy5fZnVsbHNjcmVlbmFibGU9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX3Zpc2libGU9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX2F2YWlsV2lkdGg9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX2F2YWlsSGVpZ2h0PW5ldyBuLldhdGNoZWRWYWx1ZSx0aGlzLl9vd25lcj1uZXcgbi5XYXRjaGVkVmFsdWUsdGhpcy5fb3duZXJzU3RhY2s9W10sdGhpcy5vd25lcj10aGlzLl9vd25lci5yZWFkb25seSgpLHRoaXMuX2JyaWRnZT17YWxpdmU6dGhpcy5fYWxpdmUucmVhZG9ubHkoKSxjb250YWluZXI6dGhpcy5fY29udGFpbmVyLnJlYWRvbmx5KCksd2lkdGg6dGhpcy5fd2lkdGgucmVhZG9ubHkoKSxoZWlnaHQ6dGhpcy5faGVpZ2h0LnJlYWRvbmx5KCksZnVsbHNjcmVlbjp0aGlzLl9mdWxsc2NyZWVuLnJlYWRvbmx5KCksZGV0YWNoYWJsZTp0aGlzLl9kZXRhY2hhYmxlLnJlYWRvbmx5KCksZnVsbHNjcmVlbmFibGU6dGhpcy5fZnVsbHNjcmVlbmFibGUucmVhZG9ubHkoKSx2aXNpYmxlOnRoaXMuX3Zpc2libGUucmVhZG9ubHkoKSxhdmFpbFdpZHRoOnRoaXMuX2F2YWlsV2lkdGgucmVhZG9ubHkoKSxhdmFpbEhlaWdodDp0aGlzLl9hdmFpbEhlaWdodC5yZWFkb25seSgpLHJlbW92ZTooKT0+e2NvbnN0IGU9dGhpcy5fb3duZXIudmFsdWUoKTtlJiZlLnJlbW92ZSYmZS5yZW1vdmUoKX0sbmVnb3RpYXRlV2lkdGg6ZT0+e2NvbnN0IHQ9dGhpcy5fb3duZXIudmFsdWUoKTt0JiZ0Lm5lZ290aWF0ZVdpZHRoJiZ0Lm5lZ290aWF0ZVdpZHRoKGUpfSxuZWdvdGlhdGVIZWlnaHQ6ZT0+e2NvbnN0IHQ9dGhpcy5fb3duZXIudmFsdWUoKTt0JiZ0Lm5lZ290aWF0ZUhlaWdodCYmdC5uZWdvdGlhdGVIZWlnaHQoZSl9LHJlcXVlc3RGdWxsc2NyZWVuOigpPT57Y29uc3QgZT10aGlzLl9vd25lci52YWx1ZSgpO2UmJmUucmVxdWVzdEZ1bGxzY3JlZW4mJmUucmVxdWVzdEZ1bGxzY3JlZW4oKX0sZXhpdEZ1bGxzY3JlZW46KCk9Pntjb25zdCBlPXRoaXMuX293bmVyLnZhbHVlKCk7ZSYmZS5leGl0RnVsbHNjcmVlbiYmZS5leGl0RnVsbHNjcmVlbigpfSxkZXRhY2g6ZT0+e2NvbnN0IHQ9dGhpcy5fb3duZXIudmFsdWUoKTt0JiZ0LmRldGFjaCYmdC5kZXRhY2goZSl9LGF0dGFjaDooKT0+e2NvbnN0IGU9dGhpcy5fb3duZXIudmFsdWUoKTtlJiZlLmF0dGFjaCYmZS5hdHRhY2goKX19LGUmJnRoaXMucHVzaE93bmVyKGUpfWRlc3Ryb3koKXtmb3IoY29uc3QgZSBvZiB0aGlzLl9vd25lcnNTdGFjayl0aGlzLl91bnN1YnNjcmliZU93bmVyKGUpfWJyaWRnZSgpe3JldHVybiB0aGlzLl9icmlkZ2V9cHVzaE93bmVyKGUpe2lmKCFlLmFsaXZlLnZhbHVlKCkpcmV0dXJuO2Zvcihjb25zdCBlIG9mIHRoaXMuX293bmVyc1N0YWNrKXRoaXMuX3Vuc3Vic2NyaWJlT3duZXIoZSk7Y29uc3QgdD17b3duZXI6ZX07dGhpcy5fb3duZXJzU3RhY2sucHVzaCh0KSx0aGlzLl9zdWJzY3JpYmVPd25lcih0KX1fc3Vic2NyaWJlT3duZXIoZSl7Y29uc3QgdD1lLm93bmVyO2lmKGUuZGVhdGhXYXRjaGVyfHwodGhpcy5fYWxpdmUuc2V0VmFsdWUoITApLGUuZGVhdGhXYXRjaGVyPXQuYWxpdmUuc3Bhd24oKSxlLmRlYXRoV2F0Y2hlci5zdWJzY3JpYmUoKHQ9Pnt0fHx0aGlzLl9kZWFkSGFuZGxlcihlKX0pKSksCnRoaXMuX293bmVyLnNldFZhbHVlKHQpLCFlLnN1YnNjcmlwdGlvbnMpe2NvbnN0IGk9ZS5zdWJzY3JpcHRpb25zPVtdO3RoaXMuX3Zpc2libGUuc2V0VmFsdWUoITEpO2NvbnN0IHM9KGUsdCk9PntpZihlKXtjb25zdCBzPWUuc3Bhd24oKTtpLnB1c2gocykscy5zdWJzY3JpYmUoKGU9Pnt0LnNldFZhbHVlKGUpfSkse2NhbGxXaXRoTGFzdDohMH0pfWVsc2UgdC5kZWxldGVWYWx1ZSgpfTtzKHQuY29udGFpbmVyLHRoaXMuX2NvbnRhaW5lcikscyh0LndpZHRoLHRoaXMuX3dpZHRoKSxzKHQuaGVpZ2h0LHRoaXMuX2hlaWdodCkscyh0LmZ1bGxzY3JlZW4sdGhpcy5fZnVsbHNjcmVlbikscyh0LmRldGFjaGFibGUsdGhpcy5fZGV0YWNoYWJsZSkscyh0LmZ1bGxzY3JlZW5hYmxlLHRoaXMuX2Z1bGxzY3JlZW5hYmxlKSxzKHQuYXZhaWxXaWR0aCx0aGlzLl9hdmFpbFdpZHRoKSxzKHQuYXZhaWxIZWlnaHQsdGhpcy5fYXZhaWxIZWlnaHQpLHModC52aXNpYmxlLHRoaXMuX3Zpc2libGUpfX1fdW5zdWJzY3JpYmVPd25lcihlLHQpe2lmKGUuc3Vic2NyaXB0aW9ucyl7Zm9yKGNvbnN0IHQgb2YgZS5zdWJzY3JpcHRpb25zKXQudW5zdWJzY3JpYmUoKTtlLnN1YnNjcmlwdGlvbnM9bnVsbH10JiZlLmRlYXRoV2F0Y2hlciYmKGUuZGVhdGhXYXRjaGVyLnVuc3Vic2NyaWJlKCksZS5kZWF0aFdhdGNoZXI9bnVsbCl9X2RlYWRIYW5kbGVyKGUpe2NvbnN0IHQ9dGhpcy5fb3duZXJzU3RhY2suaW5kZXhPZihlKTsoMCxzLmFzc2VydCkoLTEhPT10LCJzYW5pdGl6ZWQgb3duZXIgc2hvdWxkIGJlIGluIHN0YWNrIik7Zm9yKGxldCBlPXRoaXMuX293bmVyc1N0YWNrLmxlbmd0aC0xO2U+PXQ7ZS0tKXRoaXMuX3Vuc3Vic2NyaWJlT3duZXIodGhpcy5fb3duZXJzU3RhY2tbZV0sITApO3RoaXMuX293bmVyc1N0YWNrLmxlbmd0aD10LHQ+MD90aGlzLl9zdWJzY3JpYmVPd25lcih0aGlzLl9vd25lcnNTdGFja1t0LTFdKToodGhpcy5fYWxpdmUuc2V0VmFsdWUoITEpLHRoaXMuX293bmVyLmRlbGV0ZVZhbHVlKCkpfX19LDMxNzQ2MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtWaXNpYmlsaXR5QXBpOigpPT5ufSk7dmFyIHM9aSgyMzIzNjQpO2NsYXNzIG57Y29uc3RydWN0b3IoZSl7bGV0IHQ7dGhpcy5pc1Zpc2libGU9bmV3IHMuV2F0Y2hlZFZhbHVlKCEwKTtsZXQgaT1udWxsO2Zvcihjb25zdCBzIG9mWyIiLCJtb3oiLCJtcyIsIndlYmtpdCJdKXtjb25zdCBuPXM/YCR7c31IaWRkZW5gOiJoaWRkZW4iO2lmKG4gaW4gZSl7dD1gJHtzfXZpc2liaWxpdHljaGFuZ2VgLGk9KCk9Pnt0aGlzLmlzVmlzaWJsZS5zZXRWYWx1ZSghZVtuXSl9LGkoKSxlLmFkZEV2ZW50TGlzdGVuZXIodCxpLCExKTticmVha319dGhpcy5kZXN0cm95PSgpPT57aSYmKGUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGksITEpLGk9bnVsbCl9fX19LDI5NjI2MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtEaWFsb2dSZW5kZXJlcjooKT0+bn0pO3ZhciBzPWkoMjMyMzY0KTtjbGFzcyBue2NvbnN0cnVjdG9yKCl7dGhpcy5fY29udGFpbmVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX3Zpc2liaWxpdHk9bmV3IHMuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9yb290SW5zdGFuY2U9bnVsbH12aXNpYmxlKCl7cmV0dXJuIHRoaXMuX3Zpc2liaWxpdHkucmVhZG9ubHkoKX1fc2V0VmlzaWJpbGl0eShlKXt0aGlzLl92aXNpYmlsaXR5LnNldFZhbHVlKGUpfX19LDEzODYzOChlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkFzc2VydGlvbiBmYWlsZWQiKyh0P2A6ICR7dH1gOiIiKSl9ZnVuY3Rpb24gbihlLHQpe2lmKHZvaWQgMD09PWUpdGhyb3cgbmV3IEVycm9yKGAke3Q/PyJWYWx1ZSJ9IGlzIHVuZGVmaW5lZGApO3JldHVybiBlfWZ1bmN0aW9uIHIoZSx0KXtpZihudWxsPT09ZSl0aHJvdyBuZXcgRXJyb3IoYCR7dD8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiBlfWZ1bmN0aW9uIG8oZSx0KXtyZXR1cm4gcihuKGUsdCksdCl9ZnVuY3Rpb24gYShlKXt9aS5kKHQse2Fzc2VydDooKT0+cyxlbnN1cmU6KCk9Pm8sZW5zdXJlRGVmaW5lZDooKT0+bixlbnN1cmVOZXZlcjooKT0+YSxlbnN1cmVOb3ROdWxsOigpPT5yfSl9LDIxNDk4NyhlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7bGV0IHQ9bnVsbDtyZXR1cm4oaSwuLi5zKT0+KHQ/LmFib3J0KCksdD1uZXcgQWJvcnRDb250cm9sbGVyLGk/LmFib3J0ZWQ/dC5hYm9ydCgpOmk/LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKCk9PnQ/LmFib3J0KCkpLHtvbmNlOiEwfSksZSh0LnNpZ25hbCwuLi5zKSl9ZnVuY3Rpb24gbihlKXtpZighbChlKSl0aHJvdyBlfWZ1bmN0aW9uIHIoZSl7aWYobChlKSl0aHJvdyBlfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGU/LmFib3J0ZWQ/UHJvbWlzZS5yZWplY3QoYSgpKTpuZXcgUHJvbWlzZSgoKHQsaSk9PntlPy5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCgpPT5pKGEoKSkpLHtvbmNlOiEwfSl9KSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgRE9NRXhjZXB0aW9uKCJBYm9ydGVkIiwiQWJvcnRFcnJvciIpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBFcnJvciYmIkFib3J0RXJyb3IiPT09ZS5uYW1lfHwib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYibmFtZSJpbiBlJiYiQWJvcnRFcnJvciI9PT1lLm5hbWV9ZnVuY3Rpb24gYyhlLHQpe3JldHVybiBQcm9taXNlLnJhY2UoW28oZSksdF0pfWFzeW5jIGZ1bmN0aW9uIGgoZSx0KXtsZXQgaTt0cnl7YXdhaXQgYyhlLG5ldyBQcm9taXNlKChlPT57aT1zZXRUaW1lb3V0KGUsdCl9KSkpfWZpbmFsbHl7Y2xlYXJUaW1lb3V0KGkpfX1pLmQodCx7Y3JlYXRlQWJvcnRFcnJvcjooKT0+YSxkZWxheTooKT0+aCxpc0Fib3J0RXJyb3I6KCk9PmwscmVzcGVjdEFib3J0OigpPT5jLHJlc3BlY3RMYXRlc3Q6KCk9PnMscmV0aHJvd0Fib3J0RXJyb3I6KCk9PnIsc2tpcEFib3J0RXJyb3I6KCk9Pm59KX0sNTU3NTEzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2lzQ2FuY2VsbGVkOigpPT5yLAptYWtlQ2FuY2VsYWJsZTooKT0+bn0pO2NsYXNzIHMgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcigpe3N1cGVyKCJDYW5jZWxUb2tlbiIpfX1mdW5jdGlvbiBuKGUpe2xldCB0PSExO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKCgoaSxuKT0+e2UudGhlbigoZT0+dD9uKG5ldyBzKTppKGUpKSksZS5jYXRjaCgoZT0+bih0P25ldyBzOmUpKSl9KSksY2FuY2VsKCl7dD0hMH19fWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBzfX0sMTc1Mzk1KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnN1YnN0cmluZygxKX1pLmQodCx7Y2FwaXRhbGl6ZUZpcnN0TGV0dGVyOigpPT5zfSl9LDU1NjkxMShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7bGV0IHQ7aWYoIm9iamVjdCIhPXR5cGVvZiBlfHxudWxsPT1lfHwibnVtYmVyIj09dHlwZW9mIGUubm9kZVR5cGUpdD1lO2Vsc2UgaWYoZSBpbnN0YW5jZW9mIERhdGUpdD1uZXcgRGF0ZShlLnZhbHVlT2YoKSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGUpKXt0PVtdO2xldCBpPTA7Y29uc3Qgbj1lLmxlbmd0aDtmb3IoO2k8bjtpKyspT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsaSkmJih0W2ldPXMoZVtpXSkpfWVsc2V7dD17fTtmb3IoY29uc3QgaSBpbiBlKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGkpJiYodFtpXT1zKGVbaV0pKX1yZXR1cm4gdH1pLmQodCx7ZGVlcENvcHk6KCk9PnN9KX0sMTMxMjk0KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtjb25zdCB0PU9iamVjdC5jcmVhdGUoZSk7cmV0dXJuIHQucmVsZWFzZT0oKT0+e30sdC5vd25lcnNoaXA9KCk9PnQsdH1mdW5jdGlvbiBuKGUpe2NvbnN0IHQ9ZTtyZXR1cm4gdC5yZWxlYXNlPSgpPT50LmRlc3Ryb3koKSx0Lm93bmVyc2hpcD0oKT0+dCx0fWkuZCh0LHtvd25lcnNoaXA6KCk9Pm4sd2Vha1JlZmVyZW5jZTooKT0+c30pfSw2NDA3NDQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUsdCxpKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoZSx0KSxpKX1mdW5jdGlvbiBuKGUpe3JldHVybiBlPDA/LTE6ZT4wPzE6MH1mdW5jdGlvbiByKGUpe2lmKGU8MClyZXR1cm4hMTtpZihlPjFlMTgpcmV0dXJuITA7Zm9yKGxldCB0PWU7dD4xO3QvPTEwKWlmKHQlMTAhPTApcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gbyhlLHQsaSl7cmV0dXJuIHQtZTw9aX1mdW5jdGlvbiBhKGUsdCxpKXtyZXR1cm4gTWF0aC5hYnMoZS10KTxpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGU8PTA/TmFOOk1hdGgubG9nKGUpL01hdGgubG9nKDEwKX1mdW5jdGlvbiBjKGUsdCl7cmV0dXJuIGU8dD8tMTplPnQ/MTowfWZ1bmN0aW9uIGgoZSx0PWMpe2lmKGUubGVuZ3RoPDEpdGhyb3cgRXJyb3IoImFycmF5IGlzIGVtcHR5Iik7bGV0IGk9ZVswXTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoOysrcyl0KGVbc10saSk8MCYmKGk9ZVtzXSk7cmV0dXJuIGl9ZnVuY3Rpb24gZChlLHQ9Yyl7aWYoZS5sZW5ndGg8MSl0aHJvdyBFcnJvcigiYXJyYXkgaXMgZW1wdHkiKTtsZXQgaT1lWzBdO2ZvcihsZXQgcz0wO3M8ZS5sZW5ndGg7KytzKXQoZVtzXSxpKT4wJiYoaT1lW3NdKTtyZXR1cm4gaX1mdW5jdGlvbiB1KGUpe2NvbnN0IHQ9TWF0aC5jZWlsKGUpO3JldHVybiB0JTIhPTA/dC0xOnR9ZnVuY3Rpb24gcChlKXtjb25zdCB0PU1hdGguY2VpbChlKTtyZXR1cm4gdCUyPT0wP3QtMTp0fWZ1bmN0aW9uIF8oZSl7cmV0dXJuIGU+MD9NYXRoLmZsb29yKGUpOk1hdGguY2VpbChlKX1mdW5jdGlvbiBtKGUpe3JldHVybiBlJTI9PTB9ZnVuY3Rpb24gZyhlKXtyZXR1cm4gTWF0aC5yb3VuZCgxZTEwKmUpLzFlMTB9aS5kKHQse2NlaWxlZEV2ZW46KCk9PnUsY2VpbGVkT2RkOigpPT5wLGNsYW1wOigpPT5zLGVxdWFsOigpPT5hLGZpeENvbXB1dGF0aW9uRXJyb3I6KCk9PmcsZ3JlYXRlck9yRXF1YWw6KCk9Pm8saXNCYXNlRGVjaW1hbDooKT0+cixpc0V2ZW46KCk9Pm0sbG9nMTA6KCk9PmwsbWF4OigpPT5kLG1pbjooKT0+aCxzaWduOigpPT5uLHRvSW50OigpPT5ffSl9LDYzODU3MShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtjb25zdCBpPW5ldyBNYXA7cmV0dXJuIGZ1bmN0aW9uKC4uLnMpe2NvbnN0IG49IiIrKHQ/dC5hcHBseShudWxsLHMpOnNbMF0pO2lmKCFpLmhhcyhuKSl7Y29uc3QgdD1lLmFwcGx5KHRoaXMscyk7cmV0dXJuIGkuc2V0KG4sdCksdH1yZXR1cm4gaS5nZXQobil9fWkuZCh0LHttZW1vaXplOigpPT5zfSl9LDkxNDc3NShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtwYXJzZVR6T2Zmc2V0OigpPT5ufSk7dmFyIHM9aSg3MDA4MDkpO2Z1bmN0aW9uIG4oZSx0PURhdGUubm93KCkpe2NvbnN0IGk9KDAscy5nZXRfdGltZXpvbmUpKGUpLm9mZnNldF91dGModCk7bGV0IG49IiI7Y29uc3Qgcj1pLzFlMy82MC82MDtyJTEmJihuPSI6IitNYXRoLnJvdW5kKE1hdGguYWJzKHIlMSo2MCkpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpKTtsZXQgbz0iIjtyZXR1cm4gbz1yPjA/IisiKyhyLXIlMSkrbjowPT09cj8iIjpTdHJpbmcoci1yJTErbikse29mZnNldDppLHN0cmluZzoiVVRDIitvfX19LDM3ODA4KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NyZWF0ZVByaW1pdGl2ZVByb3BlcnR5OigpPT5ufSk7dmFyIHM9aSg3NjgyOTIpO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIG5ldyBzLlByb3BlcnR5KGUpfX0sNjM2OTEyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1Byb3BlcnR5QmFzZTooKT0+cn0pO3ZhciBzPWkoMTM4NjM4KSxuPWkoOTQ4MzgwKTtjbGFzcyBye2NvbnN0cnVjdG9yKCl7dGhpcy5fbGlzdGVuZXJzPW5ldyBuLkRlbGVnYXRlLHRoaXMuX211dGVDaGlsZENoYW5nZXM9ITEsdGhpcy5fb3duZXI9bnVsbCx0aGlzLl9uYW1lPSIifW5hbWVJbk93bmVyKCl7cmV0dXJuIHRoaXMuX25hbWV9c2V0TmFtZUluT3duZXIoZSl7dGhpcy5fbmFtZT1lfW93bmVyKCl7cmV0dXJuIHRoaXMuX293bmVyfXNldE93bmVyKGUpewp0aGlzLl9vd25lcj1lfXBhdGhUb1Jvb3QoKXtjb25zdCBlPXRoaXMuX293bmVyPy5wYXRoVG9Sb290KCk7cmV0dXJuIGU/YCR7ZX0uJHt0aGlzLl9uYW1lfWA6dGhpcy5fbmFtZX1wYXRoVG9Sb290UHJvcGVydHkoKXtpZighdGhpcy5fb3duZXIpcmV0dXJuIiI7Y29uc3QgZT10aGlzLl9vd25lci5wYXRoVG9Sb290UHJvcGVydHk/LigpO3JldHVybiBlP2Ake2V9LiR7dGhpcy5fbmFtZX1gOnRoaXMuX25hbWV9cmVtb3ZlUHJvcGVydHkoZSl7KDAscy5hc3NlcnQpKCExLGBUcnlpbmcgdG8gY2FsbCAicmVtb3ZlUHJvcGVydHkiIG9uIHByb3BlcnR5ICR7dGhpcy5wYXRoVG9Sb290KCl9YCl9YWRkQ2hpbGQoZSx0KXsoMCxzLmFzc2VydCkoITEsYFRyeWluZyB0byBjYWxsICJhZGRDaGlsZCIgb24gcHJvcGVydHkgJHt0aGlzLnBhdGhUb1Jvb3QoKX1gKX1oYXNDaGlsZChlKXtyZXR1cm4hMX1jaGlsZENvdW50KCl7cmV0dXJuIDB9Y2hpbGROYW1lcygpe3JldHVybltdfWNoaWxkcygpeygwLHMuYXNzZXJ0KSghMSxgVHJ5aW5nIHRvIGNhbGwgImNoaWxkcyIgb24gcHJvcGVydHkgJHt0aGlzLnBhdGhUb1Jvb3QoKX1gKX1zdGF0ZShlLHQpe3JldHVybiB0aGlzLnZhbHVlKCl9bWVyZ2UoZSx0KXsoMCxzLmFzc2VydCkoITEsYFRyeWluZyB0byBjYWxsICJtZXJnZSIgb24gcHJvcGVydHkgJHt0aGlzLnBhdGhUb1Jvb3QoKX1gKX1tZXJnZUFuZEZpcmUoZSl7KDAscy5hc3NlcnQpKCExLGBUcnlpbmcgdG8gY2FsbCAibWVyZ2VBbmRGaXJlIiBvbiBwcm9wZXJ0eSAke3RoaXMucGF0aFRvUm9vdCgpfWApfWNoaWxkKGUpe2lmKHRoaXMuaGFzQ2hpbGQoZSkpcmV0dXJuIHRoaXMuY2hpbGRzKClbZV19bXV0ZUNoaWxkQ2hhbmdlcyhlKXt0aGlzLl9tdXRlQ2hpbGRDaGFuZ2VzPWV9ZmlyZUNoYW5nZWQoKXt0aGlzLl9saXN0ZW5lcnMuZmlyZSh0aGlzLHRoaXMucGF0aFRvUm9vdFByb3BlcnR5KCkpfWxpc3RlbmVycygpe3JldHVybiB0aGlzLl9saXN0ZW5lcnN9c3Vic2NyaWJlKGUsdCl7dGhpcy5saXN0ZW5lcnMoKS5zdWJzY3JpYmUoZSx0LCExKX11bnN1YnNjcmliZShlLHQpe3RoaXMubGlzdGVuZXJzKCkudW5zdWJzY3JpYmUoZSx0KX11bnN1YnNjcmliZUFsbChlKXt0aGlzLmxpc3RlbmVycygpLnVuc3Vic2NyaWJlQWxsKGUpfX19LDkyNTI4MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtEYXRhVHlwZXM6KCk9PnMsY3JlYXRlUHJvcGVydHlTY2hlbWE6KCk9Pm0sZGF0YVR5cGU6KCk9PmQsZXh0cmFjdFN0YXRlV2l0aFNjaGVtYTooKT0+Zyxpc0FycmF5U2NoZW1hOigpPT5fLHZhbGlkYXRlU2NoZW1hOigpPT5wfSk7dmFyIHMsbj1pKDIwNjY3Mykscj1pKDMwNDIyMSksbz1pKDgxNzM1MCksYT1pKDI5NTYzNSksbD1pKDg4MDExNSksYz1pKDkxNzM3MSksaD1pKDEzODYzOCk7ZnVuY3Rpb24gZChlKXtyZXR1cm4oMCxuLmRlZmF1bHQpKGUpP3MuTlVNQkVSOigwLHIuZGVmYXVsdCkoZSk/cy5TVFJJTkc6KDAsby5kZWZhdWx0KShlKT9zLkJPT0xFQU46KDAsYS5kZWZhdWx0KShlKT9zLkFSUkFZOm51bGw9PT1lP3MuTlVMTDoib2JqZWN0Ij09dHlwZW9mIGU/cy5PQkpFQ1Q6cy5VTktOT1dOfSFmdW5jdGlvbihlKXtlLlNUUklORz0ic3RyaW5nIixlLk5VTUJFUj0ibnVtYmVyIixlLkJPT0xFQU49ImJvb2xlYW4iLGUuT0JKRUNUPSJvYmplY3QiLGUuQVJSQVk9ImFycmF5IixlLk5VTEw9Im51bGwiLGUuVU5LTk9XTj0idW5rbm93biJ9KHN8fChzPXt9KSk7Y29uc3QgdT1bcy5BUlJBWSxzLk9CSkVDVF07ZnVuY3Rpb24gcChlLHQpe3RyeXtjb25zdCBpPWQoZSk7aWYoKDAsaC5hc3NlcnQpKGk9PT10LnR5cGV8fGk9PT1zLk5VTEwmJnQubnVsbGFibGV8fHQudHlwZT09PXMuVU5LTk9XTiksdS5pbmNsdWRlcyhpKSlzd2l0Y2godC50eXBlKXtjYXNlIHMuQVJSQVk6KDAsaC5hc3NlcnQpKGUuZXZlcnkoKGU9PnAoZSx0LnN1YnNjaGVtYSkpKSk7YnJlYWs7Y2FzZSBzLk9CSkVDVDpmb3IoY29uc3RbaSxzXW9mIE9iamVjdC5lbnRyaWVzKHQuc3Vic2NoZW1hKSkoMCxoLmFzc2VydCkocChlW2ldLHMpKX1yZXR1cm4hMH1jYXRjaHtyZXR1cm4hMX19ZnVuY3Rpb24gXyhlKXtyZXR1cm4gZS50eXBlPT09cy5BUlJBWX1mdW5jdGlvbiBtKGUsdCl7bGV0IGk7Y29uc3Qgbj1kKGUpO3N3aXRjaChuKXtjYXNlIHMuTlVNQkVSOmNhc2Ugcy5TVFJJTkc6Y2FzZSBzLkJPT0xFQU46aT17dHlwZTpuLHNhdmVGbGFnczp0fTticmVhaztjYXNlIHMuQVJSQVk6aT17dHlwZTpzLkFSUkFZLHNhdmVGbGFnczp0LHN1YnNjaGVtYTptKGVbMF0sdCl9O2JyZWFrO2Nhc2Ugcy5PQkpFQ1Q6e2NvbnN0IG49e307Zm9yKGNvbnN0W2ksc11vZiBPYmplY3QuZW50cmllcyhlKSluW2ldPW0ocyx0KTtpPXt0eXBlOnMuT0JKRUNULHNhdmVGbGFnczp0LHN1YnNjaGVtYTpufTticmVha31kZWZhdWx0Omk9e3R5cGU6cy5VTktOT1dOLHNhdmVGbGFnczp0fX1yZXR1cm4gaX1mdW5jdGlvbiBnKGUsdCxpKXtpZighZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PXMuT0JKRUNUfSh0KXx8ISgwLGwuZGVmYXVsdCkoZSkpcmV0dXJuIGU7Y29uc3Qgbj1PYmplY3Qua2V5cyhlKTtmb3IoY29uc3QgcyBvZiBuKXtjb25zdCBuPXQuc3Vic2NoZW1hW3NdO3ZvaWQgMD09PXQuc2F2ZUZsYWdzfHxufHwoMCxjLmRlZmF1bHQpKGUscyk7Y29uc3Qgcj1uPy5zYXZlRmxhZ3M7dm9pZCAwPT09cnx8ciZpfHwoMCxjLmRlZmF1bHQpKGUscyksbiYmZyhlW3NdLG4saSl9cmV0dXJuIGV9fSw3NjgyOTIoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7UHJvcGVydHk6KCk9Pm0saXNQcmltaXRpdmVUeXBlOigpPT5ffSk7dmFyIHM9aSgyMDY2NzMpLG49aSgzMDQyMjEpLHI9aSg4MTczNTApLG89aSg5MjgxMzIpLGE9aSgyOTU2MzUpLGw9aSgxMzg2MzgpLGM9aSgyMjEwNjEpLGg9aSgxMzEyOTQpLGQ9aSg2MzY5MTIpLHU9aSg5MjUyODIpO2NvbnN0IHA9KDAsYy5nZXRMb2dnZXIpKCJQcm9wZXJ0eSIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuIG51bGw9PT1lfHwoMCxzLmRlZmF1bHQpKGUpJiZOdW1iZXIuaXNGaW5pdGUoZSl8fCgwLG4uZGVmYXVsdCkoZSl8fCgwLHIuZGVmYXVsdCkoZSkKfWNsYXNzIG0gZXh0ZW5kcyBkLlByb3BlcnR5QmFzZXtjb25zdHJ1Y3RvcihlLHQpe2lmKHN1cGVyKCksdGhpcy5fY2hpbGRzPVtdLHRoaXMuX2RlcGVuZGVudHM9W10sdGhpcy5fc2NoZW1hPXR8fCgwLHUuY3JlYXRlUHJvcGVydHlTY2hlbWEpKGUpLHZvaWQgMCE9PWUpaWYoKDAsdS52YWxpZGF0ZVNjaGVtYSkoZSx0aGlzLl9zY2hlbWEpfHxwLmxvZ1dhcm4oYFRoZSBzdGF0ZSB3aXRoIGEgZGF0YSB0eXBlOiAkeygwLHUuZGF0YVR5cGUpKGUpfSBkb2VzIG5vdCBtYXRjaCBhIHNjaGVtYWApLF8oZSkpdGhpcy5fdmFsdWU9ZTtlbHNle2xldCB0PU9iamVjdC5lbnRyaWVzKGUpOygwLHUuaXNBcnJheVNjaGVtYSkodGhpcy5fc2NoZW1hKSYmKHQ9dC5maWx0ZXIoKChbZV0pPT4hTnVtYmVyLmlzTmFOKCtlKSkpKTtmb3IoY29uc3RbZSxpXW9mIHQpdGhpcy5hZGRQcm9wZXJ0eShlLGkpfX1kZXN0cm95KCl7dGhpcy5saXN0ZW5lcnMoKS5kZXN0cm95KCk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fY2hpbGRzKXRoaXMuY2hpbGQoZSk/LmRlc3Ryb3k/LigpfW1lcmdlKGUsdCl7bGV0IGk9bnVsbCxzPTA7aWYodCYmKGk9W10scz1pLmxlbmd0aCksdm9pZCAwPT09ZSlyZXR1cm4gaTtpZihfKGUpKXJldHVybiB0aGlzLl92YWx1ZSE9PWUmJmk/LnB1c2godGhpcyksdGhpcy5fdmFsdWU9ZSxpO2lmKCgwLGEuZGVmYXVsdCkoZSkpeygwLHUuaXNBcnJheVNjaGVtYSkodGhpcy5fc2NoZW1hKXx8cC5sb2dXYXJuKCJQcm9wZXJ0eSBpcyBub3QgYW4gYXJyYXkiKTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKyl7Y29uc3Qgbj10aGlzLmNoaWxkcygpW3NdO2lmKG4pe2NvbnN0IHI9bi5tZXJnZShlW3NdLHQpO2k/LnB1c2goLi4ucil9ZWxzZXtjb25zdCB0PXRoaXMuYWRkUHJvcGVydHkoYCR7c31gLGVbc10pO2k/LnB1c2godCl9fX1lbHNle2xldCBzPU9iamVjdC5lbnRyaWVzKGUpOygwLHUuaXNBcnJheVNjaGVtYSkodGhpcy5fc2NoZW1hKSYmKHM9cy5maWx0ZXIoKChbZV0pPT4hTnVtYmVyLmlzTmFOKCtlKSkpKTtmb3IoY29uc3RbZSxuXW9mIHMpe2NvbnN0IHM9dGhpcy5jaGlsZHMoKVtlXTtpZihzKXtjb25zdCBlPXMubWVyZ2Uobix0KTtpPy5wdXNoKC4uLmUpfWVsc2V7Y29uc3QgdD10aGlzLmFkZFByb3BlcnR5KGUsbik7aT8ucHVzaCh0KX19fXJldHVybiBpJiZpLmxlbmd0aD5zJiZpLnB1c2godGhpcyksaX1tZXJnZUFuZEZpcmUoZSl7Y29uc3QgdD0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMubWVyZ2UoZSwhMCkpO3RoaXMuX2ZpcmVNZXJnZUFuZEZpcmVDaGFuZ2VkUHJvcHModCl9c3RhdGUoZSx0KXtjb25zdCBpPSgwLG8uZGVmYXVsdCkodGhpcy52YWx1ZSk/dGhpcy52YWx1ZSgpOnZvaWQgMDtpZih2b2lkIDAhPT1pKXJldHVybiBpO2NvbnN0IHM9KDAsdS5pc0FycmF5U2NoZW1hKSh0aGlzLl9zY2hlbWEpP1tdOnt9O2Zvcihjb25zdCBpIG9mIHRoaXMuX2NoaWxkcyl7aWYoZSYmLTEhPT1lLmluZGV4T2YoaSkpY29udGludWU7aWYoKDAsdS5pc0FycmF5U2NoZW1hKSh0aGlzLl9zY2hlbWEpJiZOdW1iZXIuaXNOYU4oK2kpKWNvbnRpbnVlO2lmKHZvaWQgMCE9PXQmJiJzdWJzY2hlbWEiaW4gdGhpcy5fc2NoZW1hKXtjb25zdCBlPSgwLHUuaXNBcnJheVNjaGVtYSkodGhpcy5fc2NoZW1hKT90aGlzLl9zY2hlbWEuc3Vic2NoZW1hOnRoaXMuX3NjaGVtYS5zdWJzY2hlbWFbaV07aWYodm9pZCAwIT09dGhpcy5fc2NoZW1hLnNhdmVGbGFncyYmIWUpY29udGludWU7aWYodm9pZCAwIT09ZT8uc2F2ZUZsYWdzJiYhKGUuc2F2ZUZsYWdzJnQpKWNvbnRpbnVlfWNvbnN0IG49dGhpcy5jaGlsZHMoKVtpXTtsZXQgcjtpZihlKXtjb25zdCBzPVtdO2Zvcihjb25zdCB0IG9mIGUpdC5zdGFydHNXaXRoKGkrIi4iKSYmcy5wdXNoKHQuc3Vic3RyaW5nKGkubGVuZ3RoKzEpKTtyPW4/LnN0YXRlKHMsdCl9ZWxzZSByPW4/LnN0YXRlKCk7KHZvaWQgMCE9PXJ8fG4/LnN0b3JlU3RhdGVJZlVuZGVmaW5lZCgpKSYmKCgwLGEuZGVmYXVsdCkocyk/c1sraV09cjpzW2ldPXIpfXJldHVybiBzfWNsb25lKCl7cmV0dXJuIG5ldyBtKHRoaXMuc3RhdGUoKSl9dmFsdWUoKXtyZXR1cm4gdGhpcy5fdmFsdWV9Y2hpbGRDb3VudCgpe3JldHVybiB0aGlzLl9jaGlsZHMubGVuZ3RofWNoaWxkTmFtZXMoKXtyZXR1cm4gdGhpcy5fY2hpbGRzfWNoaWxkQnlQYXRoKGUpe2xldCB0PXRoaXM7Zm9yKGNvbnN0IGkgb2YgZS5zcGxpdCgiLiIpKXtpZih2b2lkIDA9PT10KWJyZWFrO3Q9dC5jaGlsZChpKX1yZXR1cm4gdH1oYXNDaGlsZChlKXtyZXR1cm4gdGhpcy5fY2hpbGRzLmluY2x1ZGVzKGUpfXNldFZhbHVlKGUsdCl7KHRoaXMuX3ZhbHVlIT09ZXx8dCkmJih0aGlzLl92YWx1ZT1lLHRoaXMuZmlyZUNoYW5nZWQoKSl9c2V0VmFsdWVTaWxlbnRseShlKXt0aGlzLl92YWx1ZT1lfWFkZFByb3BlcnR5KGUsdCl7bGV0IGk7KDAsdS5pc0FycmF5U2NoZW1hKSh0aGlzLl9zY2hlbWEpJiZOdW1iZXIuaXNOYU4oK2UpJiZwLmxvZ1dhcm4oIlByb3BlcnR5IGlzIGFuIGFycmF5IiksdGhpcy5yZW1vdmVQcm9wZXJ0eShlKSx0aGlzLl9zY2hlbWEudHlwZT09PXUuRGF0YVR5cGVzLk9CSkVDVD9pPXRoaXMuX3NjaGVtYS5zdWJzY2hlbWFbZV06dGhpcy5fc2NoZW1hLnR5cGU9PT11LkRhdGFUeXBlcy5BUlJBWSYmKGk9dGhpcy5fc2NoZW1hLnN1YnNjaGVtYSk7Y29uc3Qgcz1uZXcgbSh0LGkpO3JldHVybiB0aGlzW2VdPXMsdGhpcy5fY2hpbGRzLnB1c2goZSkscy5zdWJzY3JpYmUodGhpcywoKGUsdCk9Pnt0aGlzLl9jaGlsZENoYW5nZWQoZSx0KX0pKSxzLnNldE93bmVyKHRoaXMpLHMuc2V0TmFtZUluT3duZXIoZSksc31yZW1vdmVQcm9wZXJ0eShlKXtjb25zdCB0PXRoaXMuY2hpbGQoZSk7dCYmKHQuc2V0TmFtZUluT3duZXIoIiIpLHQuc2V0T3duZXIobnVsbCksdC51bnN1YnNjcmliZUFsbCh0aGlzKSxkZWxldGUgdGhpc1tlXSx0aGlzLl9jaGlsZHM9dGhpcy5fY2hpbGRzLmZpbHRlcigodD0+dCE9PWUpKSl9YWRkQ2hpbGQoZSx0KXtpZigoMCwKdS5pc0FycmF5U2NoZW1hKSh0aGlzLl9zY2hlbWEpJiZOdW1iZXIuaXNOYU4oK2UpKXRocm93IG5ldyBFcnJvcigiUHJvcGVydHkgaXMgYW4gYXJyYXkiKTt0aGlzW2VdJiZ0aGlzLnJlbW92ZVByb3BlcnR5KGUpLHRoaXNbZV09dCwtMT09PXRoaXMuX2NoaWxkcy5pbmRleE9mKGUpJiZ0aGlzLl9jaGlsZHMucHVzaChlKSx0LnN1YnNjcmliZSh0aGlzLCgoZSx0KT0+dGhpcy5fY2hpbGRDaGFuZ2VkKGUsdCkpKSx0LnNldE93bmVyKHRoaXMpLHQuc2V0TmFtZUluT3duZXIoZSl9Y2hpbGRzKCl7cmV0dXJuIHRoaXN9c3RvcmVTdGF0ZUlmVW5kZWZpbmVkKCl7cmV0dXJuITB9b3duZXJzaGlwKCl7cmV0dXJuKDAsaC5vd25lcnNoaXApKHRoaXMpfXdlYWtSZWZlcmVuY2UoKXtyZXR1cm4oMCxoLndlYWtSZWZlcmVuY2UpKHRoaXMpfWFkZERlcGVuZGVudChlKXt0aGlzLl9kZXBlbmRlbnRzLnB1c2goZSl9cmVtb3ZlRGVwZW5kZW50KGUpe2NvbnN0IHQ9dGhpcy5fZGVwZW5kZW50cy5pbmRleE9mKGUpO3Q+PTAmJnRoaXMuX2RlcGVuZGVudHMuc3BsaWNlKHQsMSl9ZGVwZW5kZW50cygpe3JldHVybiB0aGlzLl9kZXBlbmRlbnRzfXN0YXRpYyppdGVyYXRlUHJvcGVydGllcyhlLHQpe2Zvcihjb25zdCBpIG9mIHQpeWllbGRbZS5jaGlsZHMoKVtpXSxpXX1fY2hpbGRDaGFuZ2VkKGUsdCl7dGhpcy5fbXV0ZUNoaWxkQ2hhbmdlc3x8dGhpcy5fbGlzdGVuZXJzLmZpcmUodGhpcyx0KX1fZmlyZU1lcmdlQW5kRmlyZUNoYW5nZWRQcm9wcyhlKXt0aGlzLm11dGVDaGlsZENoYW5nZXMoITApO2Zvcihjb25zdCB0IG9mIGUpdC5tdXRlQ2hpbGRDaGFuZ2VzKCEwKTtmb3IoY29uc3QgdCBvZiBlKXQubXV0ZUNoaWxkQ2hhbmdlcyghMSksdC5maXJlQ2hhbmdlZCgpO3RoaXMubXV0ZUNoaWxkQ2hhbmdlcyghMSl9fX0sNzQxNjkwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NvbWJpbmVQcm9wZXJ0eTooKT0+bn0pO3ZhciBzPWkoMzc4MDgpO2Z1bmN0aW9uIG4oZSwuLi50KXtjb25zdCBpPSgpPT5lKC4uLnQubWFwKChlPT5lLnZhbHVlKCkpKSksbj0oMCxzLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KShpKCkpLHI9KCk9Pm4uc2V0VmFsdWUoaSgpKSxvPXt9O2Zvcihjb25zdCBlIG9mIHQpZS5zdWJzY3JpYmUobyxyKTtyZXR1cm4gbi5kZXN0cm95PSgpPT57dC5mb3JFYWNoKChlPT5lLnVuc3Vic2NyaWJlQWxsKG8pKSksdC5mb3JFYWNoKChlPT5lLnJlbGVhc2UoKSkpfSxufX0sNTUyMTQ1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NvbnZlcnRQcm9wZXJ0eVRvV2F0Y2hlZFZhbHVlOigpPT5ufSk7dmFyIHM9aSgyMzIzNjQpO2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1uZXcgcy5XYXRjaGVkVmFsdWUoZS52YWx1ZSgpKTtsZXQgaT0hMTtlLnN1YnNjcmliZSh0LCgoKT0+e2l8fChpPSEwLHQuc2V0VmFsdWUoZS52YWx1ZSgpKSxpPSExKX0pKTtjb25zdCBuPSgpPT57aXx8KGk9ITAsZS5zZXRWYWx1ZSh0LnZhbHVlKCkpLGk9ITEpfTtyZXR1cm4gdC5zdWJzY3JpYmUobiksdC5zcGF3bigoKCk9PntlLnVuc3Vic2NyaWJlQWxsKHQpLHQudW5zdWJzY3JpYmUobil9KSl9fSwzMTQ4MDYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y3JlYXRlV1ZGcm9tUHJvcGVydHk6KCk9Pm59KTt2YXIgcz1pKDI0MTk1Nik7ZnVuY3Rpb24gbihlKXtyZXR1cm4oMCxzLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLnZhbHVlKCkpLGUpfX0sNDczMDY4KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZX1pLmQodCx7Y3JlYXRlU2VydmljZURlc2NyaXB0b3I6KCk9PnN9KX0sNTgzMDM4KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZS5pbmNsdWRlcygiOiIpP2Uuc3BsaXQoIjoiKTpbIiIsZV19aS5kKHQse3NwbGl0U3ltYm9sTmFtZTooKT0+c30pfSw2MDE4NDEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y2xvbmU6KCk9Pm8sZGVlcEVxdWFsczooKT0+ZCxoYXNQcm9wZXJ0eTooKT0+Yyxpc0Fic2VudDooKT0+Xyxpc0FycmF5OigpPT51LGlzRXhpc3RlbnQ6KCk9Pm0saXNJbnRlZ2VyOigpPT5mLGlzTmFOOigpPT5wLGlzTnVtYmVyOigpPT5yLGlzT2JqZWN0OigpPT5sLGlzUHJvbWlzZTooKT0+dixpc1NhbWVUeXBlOigpPT5nLGlzU3RyaW5nOigpPT5TLG1lcmdlOigpPT5hLG5vdE51bGw6KCk9Pnksbm90VW5kZWZpbmVkOigpPT5ifSk7Y29uc3Qgcz1uZXcgU2V0KFsiX19wcm90b19fIiwicHJvdG90eXBlIiwiY29uc3RydWN0b3IiXSk7ZnVuY3Rpb24gbihlKXtyZXR1cm4gcy5oYXMoZSl9ZnVuY3Rpb24gcihlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGUmJmlzRmluaXRlKGUpfWZ1bmN0aW9uIG8oZSl7aWYoIWV8fCJvYmplY3QiIT10eXBlb2YgZSlyZXR1cm4gZTtsZXQgdDt0PUFycmF5LmlzQXJyYXkoZSk/W106e307Zm9yKGNvbnN0IGkgaW4gZSlpZihlLmhhc093blByb3BlcnR5KGkpKXtjb25zdCBzPWVbaV07dFtpXT1zJiYib2JqZWN0Ij09dHlwZW9mIHM/byhzKTpzfXJldHVybiB0fWZ1bmN0aW9uIGEoZSx0KXtpZighbChlKXx8IWwodCkpcmV0dXJuIGU7Zm9yKGNvbnN0W2ksc11vZiBPYmplY3QuZW50cmllcyh0KSluKGkpfHwocyYmKGgocyl8fCF1KHMpJiZPYmplY3QuZ2V0UHJvdG90eXBlT2YocykhPT1PYmplY3QucHJvdG90eXBlKT9lW2ldPXM6KGUuaGFzT3duUHJvcGVydHkoaSkmJmwoZVtpXSl8fCFsKHMpfHwoZVtpXT1BcnJheS5pc0FycmF5KHMpP1tdOnt9KSxsKHMpJiZsKGVbaV0pP2EoZVtpXSxzKTplW2ldPXMpKTtyZXR1cm4gZX1mdW5jdGlvbiBsKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWV9ZnVuY3Rpb24gYyhlLHQpe3JldHVybiB0IGluIGV9ZnVuY3Rpb24gaChlKXtyZXR1cm4gbnVsbCE9ZSYmKGUuY29uc3RydWN0b3I9PT1GdW5jdGlvbnx8IltvYmplY3QgRnVuY3Rpb25dIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSl9ZnVuY3Rpb24gZChlLHQsaT0iIil7aWYoZT09PXQpcmV0dXJuWyEwLGldO2lmKGgoZSkmJihlPXZvaWQgMCksaCh0KSYmKHQ9dm9pZCAwKSwKbnVsbD09ZXx8bnVsbD09dClyZXR1cm5bZT09PXQsaV07aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYib2JqZWN0IiE9dHlwZW9mIHQpcmV0dXJuW2U9PT10LGldO2lmKEFycmF5LmlzQXJyYXkoZSkmJkFycmF5LmlzQXJyYXkodCkpe2NvbnN0IHM9ZS5sZW5ndGg7aWYocyE9PXQubGVuZ3RoKXJldHVyblshMSxpXTtmb3IobGV0IG49MDtuPHM7bisrKXtjb25zdCBzPWQoZVtuXSx0W25dLGkrIlsiK24rIl0iKTtpZighc1swXSlyZXR1cm4gc31yZXR1cm5bITAsaV19aWYoQXJyYXkuaXNBcnJheShlKXx8QXJyYXkuaXNBcnJheSh0KSlyZXR1cm5bITEsaV07aWYoT2JqZWN0LmtleXMoZSkubGVuZ3RoIT09T2JqZWN0LmtleXModCkubGVuZ3RoKXJldHVyblshMSxpXTtmb3IoY29uc3QgcyBpbiBlKXtjb25zdCBuPWQoZVtzXSx0W3NdLGkrIlsiK3MrIl0iKTtpZighblswXSlyZXR1cm4gbn1yZXR1cm5bITAsaV19Y29uc3QgdT1BcnJheS5pc0FycmF5fHxmdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfTtmdW5jdGlvbiBwKGUpe3JldHVybiEoZTw9MHx8ZT4wKX1mdW5jdGlvbiBfKGUpe3JldHVybiBudWxsPT1lfWZ1bmN0aW9uIG0oZSl7cmV0dXJuIG51bGwhPWV9ZnVuY3Rpb24gZyhlLHQpe3JldHVybiBOdW1iZXIuaXNOYU4oZSl8fE51bWJlci5pc05hTih0KT9OdW1iZXIuaXNOYU4oZSk9PT1OdW1iZXIuaXNOYU4odCk6e30udG9TdHJpbmcuY2FsbChlKT09PXt9LnRvU3RyaW5nLmNhbGwodCl9ZnVuY3Rpb24gZihlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGUmJmUlMT09MH1mdW5jdGlvbiBTKGUpe3JldHVybiBudWxsIT1lJiZlLmNvbnN0cnVjdG9yPT09U3RyaW5nfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIGwoZSkmJiJ0aGVuImluIGUmJmgoZS50aGVuKX1mdW5jdGlvbiB5KGUpe3JldHVybiBudWxsIT09ZX1mdW5jdGlvbiBiKGUpe3JldHVybiB2b2lkIDAhPT1lfU51bWJlci5pc05hTj1OdW1iZXIuaXNOYU58fGZ1bmN0aW9uKGUpe3JldHVybiBlIT1lfX0sNTcwNjAzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1RyYW5zbGF0ZWRTdHJpbmc6KCk9PnJ9KTtjb25zdCBzPS97KFx3Kyl9L2c7ZnVuY3Rpb24gbihlLHQpe3JldHVybiBlLnJlcGxhY2UocywoKGUsaSk9PnZvaWQgMCE9PXRbaV0/dFtpXTplKSl9Y2xhc3Mgcntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX29yaWdpbmFsVGV4dD1lLHRoaXMuX3RyYW5zbGF0ZWRUZXh0PXR9b3JpZ2luYWxUZXh0KCl7cmV0dXJuIHRoaXMuX29yaWdpbmFsVGV4dH10cmFuc2xhdGVkVGV4dCgpe3JldHVybiB0aGlzLl90cmFuc2xhdGVkVGV4dH1mb3JtYXQoZSl7Y29uc3QgdD17fSxpPXt9O2Zvcihjb25zdCBzIG9mIE9iamVjdC5rZXlzKGUpKXtjb25zdCBuPWVbc107biBpbnN0YW5jZW9mIHI/KHRbc109bi5vcmlnaW5hbFRleHQoKSxpW3NdPW4udHJhbnNsYXRlZFRleHQoKSk6KHRbc109bi50b1N0cmluZygpLGlbc109bi50b1N0cmluZygpKX1jb25zdCBzPW4odGhpcy5fb3JpZ2luYWxUZXh0LHQpLG89bih0aGlzLl90cmFuc2xhdGVkVGV4dCxpKTtyZXR1cm4gbmV3IHIocyxvKX19fSwyMzczNjkoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0RXJyb3JNZXNzYWdlOigpPT5hLGdldExvZ2dlck1lc3NhZ2U6KCk9Pm99KTt2YXIgcz1pKDc4MzI1NCksbj1pKDY0MTU5Myk7Y2xhc3MgciBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHtkZXRhaWxlZEVycm9yTWVzc2FnZTplLHVzZXJGcmllbmRseU1lc3NhZ2U6dCxjYXVzZTppfSl7c3VwZXIodCksdGhpcy5uYW1lPSJVc2VyRnJpZW5kbHlFcnJvciIsdGhpcy5kZXRhaWxlZEVycm9yTWVzc2FnZT1lLHRoaXMuY2F1c2U9aX19ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHI/KDAsbi5yZW1vdmVUYWdzKShlLmRldGFpbGVkRXJyb3JNZXNzYWdlKTphKGUpfWZ1bmN0aW9uIGEoZSl7aWYodm9pZCAwPT09ZSlyZXR1cm4gcy50KG51bGwsdm9pZCAwLGkoOTkxMjU4KSk7bGV0IHQ7cmV0dXJuIHQ9ZSBpbnN0YW5jZW9mIEVycm9yP2UubWVzc2FnZToib2JqZWN0Ij09dHlwZW9mIGU/ImVycm9yImluIGU/ZS5lcnJvcjpKU09OLnN0cmluZ2lmeShlKTplLnRvU3RyaW5nKCksKDAsbi5yZW1vdmVUYWdzKSh0KX19LDUzNTMwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2dldE1pblRpY2s6KCk9PmMsZ2V0TWluVGlja0RhdGE6KCk9PmwsbWFrZVZhcmlhYmxlTWluVGlja0RhdGE6KCk9PmR9KTt2YXIgcz1pKDcxMjc0NSksbj1pKDYwMTg0MSkscj1pKDUzNDQ0MCksbz1pKDY0MDc0NCk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gZT8oMCxzLkJpZykoZS5taW5Nb3ZlKS5kaXYoZS5wcmljZVNjYWxlKS50b051bWJlcigpOk5hTn1mdW5jdGlvbiBsKGUpe2NvbnN0e21pblRpY2s6dCxwcmljZTppLHZhcmlhYmxlTWluVGlja0RhdGE6cyxzaG91bGRDaGVja0ZvckVxdWFsaXR5OnJ9PWUsbz0oMCxuLmlzTnVtYmVyKSh0KT9oKHQpOnQ7cmV0dXJuIHZvaWQgMD09PXM/bzpmdW5jdGlvbihlLHQsaT0hMSl7Zm9yKGxldCBzPTA7czx0Lmxlbmd0aDtzKyspe2lmKGU8dFtzXS5wcmljZSlyZXR1cm4gdFtzXS5taW5UaWNrO2lmKGkmJmU9PT10W3NdLnByaWNlKXJldHVybiB0W3NdLm1pblRpY2t9cmV0dXJuIHRbdC5sZW5ndGgtMV0ubWluVGlja30oaSxzLHIpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGEobChlKSl9ZnVuY3Rpb24gaChlKXtjb25zdCB0PSgwLHIubnVtT2ZEZWNpbWFsUGxhY2VzKShlKSxpPU1hdGgucG93KDEwLHQpO3JldHVybntwcmljZVNjYWxlOmksbWluTW92ZTooMCxzLkJpZykoZSkubXVsKGkpLnRvTnVtYmVyKCl9fWZ1bmN0aW9uIGQoZSx0KXtjb25zdCBpPVt7bWluVGljazooMCxuLmlzTnVtYmVyKShlKT9oKGUpOmUscHJpY2U6MS8wLG1heEluZGV4OjEvMH1dO3RyeXtjb25zdCBlPXQuc3BsaXQoIiAiKS5tYXAoKChlLHQpPT4oMCxvLmlzRXZlbikodCk/ZnVuY3Rpb24oZSl7Y29uc3QgdD1OdW1iZXIoZSk7aWYoTnVtYmVyLmlzRmluaXRlKHQpKXJldHVybiBoKHQpO3tjb25zdCB0PWUuc3BsaXQoIi8iKQo7aWYodC5sZW5ndGg8Mnx8dC5sZW5ndGg+Myl0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgbWludGljazogJHtlfWApO2NvbnN0IGk9TnVtYmVyKHRbMV0pLHM9TnVtYmVyKHRbMF0pO2lmKCFOdW1iZXIuaXNGaW5pdGUoaSl8fCFOdW1iZXIuaXNGaW5pdGUocykpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pbnRpY2s6ICR7ZX1gKTtjb25zdCBuPTM9PT10Lmxlbmd0aD9OdW1iZXIodFsyXSk6dm9pZCAwO2lmKHZvaWQgMCE9PW4mJiFOdW1iZXIuaXNGaW5pdGUobikpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pbnRpY2s6ICR7ZX1gKTtjb25zdCByPXtwcmljZVNjYWxlOmksbWluTW92ZTpzfTtyZXR1cm4gdm9pZCAwIT09biYmKHIubWluTW92ZTI9bikscn19KGUpOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9TnVtYmVyKGUpO2lmKE51bWJlci5pc05hTih0KSl0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgcHJpY2UgbGltaXQ6ICR7ZX1gKTtyZXR1cm4gdH0oZSkpKTtpZigoMCxvLmlzRXZlbikoZS5sZW5ndGgpKXRocm93IG5ldyBFcnJvcigiVGhlbWUgbXVzdCBub3QgYmUgZXZlbnQgbnVtYmVyIG9mIGVsZW1lbnRzIik7Y29uc3QgaT1bXTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrPTIpe2NvbnN0IG49ZVt0KzFdPz8xLzAscj1pW2kubGVuZ3RoLTFdPy5wcmljZT8/MCxvPWlbaS5sZW5ndGgtMV0/Lm1heEluZGV4Pz8wLGw9bj09PTEvMD8xLzA6bmV3IHMuQmlnKG4pLm1pbnVzKHIpLmRpdihhKGVbdF0pKS5wbHVzKG8pLnRvTnVtYmVyKCk7aS5wdXNoKHttaW5UaWNrOmVbdF0scHJpY2U6bixtYXhJbmRleDpsfSl9cmV0dXJuIGl9Y2F0Y2h7cmV0dXJuIGl9fX0sNzU0ODY0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0RhdGVUaW1lV2l0aFR6Rm9ybWF0dGVyOigpPT5ofSk7dmFyIHM9aSg3MDA4MDkpLG49aSg5MTQ3NzUpLHI9aSgyOTcxMTEpLG89aSgyMzgxMDMpLGE9aSg2MjQ2NzgpLGw9aSg4MjYxNTYpO2NvbnN0IGM9e2RhdGVGb3JtYXQ6Ik1NTSBkZCIsdGltZUZvcm1hdDpvLmhvdXJNaW51dGVGb3JtYXR9O2NsYXNzIGh7Y29uc3RydWN0b3IoZT17fSl7Y29uc3R7ZGF0ZUZvcm1hdDp0LHRpbWVGb3JtYXQ6aSx0aW1lem9uZTpufT17Li4uYywuLi5lfTt0JiZpP3RoaXMuX2RhdGVGb3JtYXR0ZXI9bmV3IGwuRGF0ZVRpbWVGb3JtYXR0ZXIoe2RhdGVGb3JtYXQ6dCx0aW1lRm9ybWF0Oml9KTp0P3RoaXMuX2RhdGVGb3JtYXR0ZXI9bmV3IGEuRGF0ZUZvcm1hdHRlcih0KTppJiYodGhpcy5fZGF0ZUZvcm1hdHRlcj1uZXcgci5UaW1lRm9ybWF0dGVyKGkpKSx0aGlzLl90aW1lem9uZT0oMCxzLmdldF90aW1lem9uZSkobj8/IkV0Yy9VVEMiKX1mb3JtYXQoZSl7Y29uc3QgdD0xZTMqZSxpPSgwLG4ucGFyc2VUek9mZnNldCkodGhpcy5fdGltZXpvbmUubmFtZSgpLHQpLnN0cmluZztyZXR1cm4gdm9pZCAwPT09dGhpcy5fZGF0ZUZvcm1hdHRlcj9pOmAke3RoaXMuX2RhdGVGb3JtYXR0ZXIuZm9ybWF0KCgwLHMudXRjX3RvX2NhbCkodGhpcy5fdGltZXpvbmUsdCkpfSAke2l9YH1zZXRUaW1lem9uZShlKXt0aGlzLl90aW1lem9uZT0oMCxzLmdldF90aW1lem9uZSkoZSl9fX0sODIyNDMxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse251bURlcGVuZGVuY3lGb3JtYXR0ZXI6KCk9PnIsbnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm86KCk9Pm4seWllbGRDdXJ2ZVRpY2ttYXJrc1ByaWNlRm9ybWF0dGVyOigpPT5vfSk7dmFyIHM9aSg2MDE4NDEpO2Z1bmN0aW9uIG4oZSx0KXtpZighKDAscy5pc051bWJlcikoZSkpcmV0dXJuIm4vYSI7aWYoISgwLHMuaXNJbnRlZ2VyKSh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKHQ8MHx8dD4yNCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKDA9PT10KXJldHVybiBlLnRvU3RyaW5nKCk7cmV0dXJuKCIwMDAwMDAwMDAwMDAwMDAwMDAwMCIrZS50b1N0cmluZygpKS5zbGljZSgtdCl9ZnVuY3Rpb24gcihlKXtjb25zdCB0PW5ldyBNYXA7cmV0dXJuIGk9Pntjb25zdCBzPWk/Py0xO2xldCBuPXQuZ2V0KHMpO3JldHVybiBufHwobj1lKGkpLHQuc2V0KHMsbikpLG59fWZ1bmN0aW9uIG8oZSl7Y29uc3QgdD1mdW5jdGlvbihlLHQpe2xldCBpPXQ7Zm9yKDtpPjA7aS0tKXtjb25zdCB0PU1hdGgucG93KDEwLGkpO2lmKGUubWFwKChlPT5NYXRoLnJvdW5kKGUqdCkpKS5zb21lKChlPT5lJTEwKSkpYnJlYWt9cmV0dXJuIGl9KGUsNCk7cmV0dXJuIGUubWFwKChlPT5gJHtlLnRvRml4ZWQodCl9JWApKX19LDE3MjMwNChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtGb3JtYXR0ZXJzU2VyaWFsaXplcjooKT0+Y30pO3ZhciBzPWkoMTM4NjM4KSxuPWkoOTg0Mzc2KSxyPWkoNzU1NjI3KSxvPWkoMTI1MjE4KTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMudHlwZT0icXVvdGVTZXNzaW9uUHJpY2UiLHRoaXMucmVzZXQoZSl9c3RhdGUoKXtyZXR1cm4gdGhpcy5fcHJpY2VGb3JtYXR0ZXIuc3RhdGUoKX1yZXNldChlKXt0aGlzLl9wcmljZUZvcm1hdHRlcj1lfHxuZXcgci5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZToxMDAsbWluTW92ZToxLGZyYWN0aW9uYWw6ITF9KX11cGRhdGUoZSx0KXtjb25zdCBpPW51bGwhPXQucHJpY2VzY2FsZXx8bnVsbCE9dC5taW5tb3Z8fG51bGwhPXQuZnJhY3Rpb25hbHx8bnVsbCE9dC5taW5tb3ZlMixzPW51bGwhPWUucHJpY2VzY2FsZSYmbnVsbCE9ZS5taW5tb3YmJm51bGwhPWUuZnJhY3Rpb25hbCYmbnVsbCE9ZS5taW5tb3ZlMjtpJiZzJiYodGhpcy5fcHJpY2VGb3JtYXR0ZXI9bmV3IHIuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6ZS5wcmljZXNjYWxlLG1pbk1vdmU6ZS5taW5tb3YsZnJhY3Rpb25hbDplLmZyYWN0aW9uYWx8fCExLG1pbk1vdmUyOmUubWlubW92ZTJ9KSl9Zm9ybWF0KGUsdCl7cmV0dXJuIHRoaXMuX3ByaWNlRm9ybWF0dGVyLmZvcm1hdChlLHQpfWhhc0ZvcmV4QWRkaXRpb25hbFByZWNpc2lvbigpe3JldHVybiB0aGlzLl9wcmljZUZvcm1hdHRlci5oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKX0Kc3RhdGljIHNlcmlhbGl6ZShlKXtyZXR1cm4gZS5zdGF0ZSgpfXN0YXRpYyBkZXNlcmlhbGl6ZShlKXtjb25zdCB0PW5ldyByLlByaWNlRm9ybWF0dGVyKGUpO3JldHVybiBuZXcgYSh0KX19Y29uc3QgbD17cHJpY2U6ci5QcmljZUZvcm1hdHRlcix2b2x1bWU6bi5Wb2x1bWVGb3JtYXR0ZXIscGVyY2VudGFnZTpvLlBlcmNlbnRhZ2VGb3JtYXR0ZXIscXVvdGVTZXNzaW9uUHJpY2U6YX07dmFyIGM7IWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7cmV0dXJuKDAscy5lbnN1cmVEZWZpbmVkKShsW2UudHlwZV0pLmRlc2VyaWFsaXplKGUuc3RhdGUpfWUuc2VyaWFsaXplPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAscy5lbnN1cmVEZWZpbmVkKShsW2UudHlwZV0pO3JldHVybnt0eXBlOmUudHlwZSxzdGF0ZTp0LnNlcmlhbGl6ZShlKX19LGUuaXNTZXJpYWxpemFibGU9ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlLnR5cGUmJmUudHlwZSBpbiBsfSxlLmRlc2VyaWFsaXplPXQsZS5zYWZlRGVzZXJpYWxpemU9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiB0KGUpfWNhdGNoKGUpe3JldHVybiBudWxsfX19KGN8fChjPXt9KSl9LDI1MjQyNyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtMaW1pdGVkUHJlY2lzaW9uTnVtZXJpY0Zvcm1hdHRlcjooKT0+cn0pO3ZhciBzLG49aSgxMDcwNDUpOyFmdW5jdGlvbihlKXtlW2UuRGVmYXVsdFByZWNpc2lvbj0xXT0iRGVmYXVsdFByZWNpc2lvbiJ9KHN8fChzPXt9KSk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlPXMuRGVmYXVsdFByZWNpc2lvbix0KXt0aGlzLl9wcmVjaXNpb249ZSx0aGlzLl9udW1lcmljRm9ybWF0dGVyPW5ldyBuLk51bWVyaWNGb3JtYXR0ZXIoe3ByZWNpc2lvbjp0aGlzLl9wcmVjaXNpb24saWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OnR9KX1mb3JtYXQoZSx0KXtjb25zdCBpPWUudG9GaXhlZCh0aGlzLl9wcmVjaXNpb24pLHM9TWF0aC5wb3coMTAsLXRoaXMuX3ByZWNpc2lvbik7cmV0dXJuIHRoaXMuX251bWVyaWNGb3JtYXR0ZXIuZm9ybWF0KE1hdGgubWF4KHBhcnNlRmxvYXQoaSkscyksdCl9cGFyc2UoZSx0KXtjb25zdCBpPXRoaXMuX251bWVyaWNGb3JtYXR0ZXIucGFyc2UoZSx0KTtyZXR1cm4gaS5yZXM/e3JlczohMCx2YWx1ZTppLnZhbHVlLHN1Z2dlc3Q6dGhpcy5mb3JtYXQoaS52YWx1ZSl9Oml9fX0sMjEyMzQ2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1RpbWVTcGFuRm9ybWF0dGVyOigpPT5vfSk7dmFyIHM9aSg3ODMyNTQpLG49aSg1OTg5MjIpLHI9aSg1NDY0ODUpO2NsYXNzIG97Zm9ybWF0KGUsdCl7Y29uc3Qgbz1lPDA7ZT1NYXRoLmFicyhlKTtjb25zdCBhPU1hdGguZmxvb3IoZS84NjQwMCk7ZS09ODY0MDAqYTtjb25zdCBsPU1hdGguZmxvb3IoZS8zNjAwKTtlLT0zNjAwKmw7Y29uc3QgYz1NYXRoLmZsb29yKGUvNjApO2UtPTYwKmM7bGV0IGg9IiI7aWYoYSl7Y29uc3QgZT0oMCxyLmdldE51bWJlckZvcm1hdCkodD8uaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0KTtoKz0oMCxuLmZvcm1hdE51bWJlcikoYSxlKStzLnQobnVsbCx7Y29udGV4dDoiZGF0ZXMifSxpKDIzMDQ5MikpKyIgIn1yZXR1cm4gbCYmKGgrPWwrcy50KG51bGwse2NvbnRleHQ6ImRhdGVzIn0saSgxMjIwNTMpKSsiICIpLGMmJihoKz1jK3MudChudWxsLHtjb250ZXh0OiJkYXRlcyJ9LGkoMTY0NTE2KSkrIiAiKSxlJiYoaCs9ZStzLnQobnVsbCx7Y29udGV4dDoiZGF0ZXMifSxpKDI2MjIwNSkpKyIgIiksbyYmKGg9Ii0iK2gpLGgudHJpbSgpfX19LDg1NjU2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5yKHQpLGkuZCh0LHt1bnBhY2tOb25TZXJpZXNEYXRhQ29tcHJlc3NlZDooKT0+YX0pO3ZhciBzPWkoNjAxODQxKSxuPWkoOTk1NjU1KSxyPWkoODY2NzQ4KSxvPWkoODQ4NjAxKTthc3luYyBmdW5jdGlvbiBhKGUpe2NvbnN0IHQ9KDAsby5wYXJzZU5vblNlcmllc0VudmVsb3BlKShlKTtpZihudWxsPT09dClyZXR1cm4gbnVsbDtjb25zdHtuc0RhdGE6aSxwYXJzZWREYXRhOmF9PXQ7cmV0dXJuIGkuaW5kZXhlc19yZXBsYWNlfHwoKDAscy5oYXNQcm9wZXJ0eSkoYSwiZGF0YUNvbXByZXNzZWQiKSYmKGkuZGF0YT1hd2FpdCgwLHIudW5wYWNrKShhLmRhdGFDb21wcmVzc2VkKSksKDAscy5oYXNQcm9wZXJ0eSkoYSwiZ3JhcGhpY3NDbWRzQ29tcHJlc3NlZCIpJiYoaS5ncmFwaGljc0NtZHM9KDAsbi52YWxpZGF0ZUdyYXBoaWNzQ29tbWFuZHMpKGF3YWl0KDAsci51bnBhY2spKGEuZ3JhcGhpY3NDbWRzQ29tcHJlc3NlZCkpKSksaX19LDg1NzE1MShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtQbG90TGlzdDooKT0+dSxtZXJnZU1pbk1heDooKT0+cH0pO3ZhciBzPWkoMTM4NjM4KSxuPWkoMjIxMDYxKSxyPWkoMTk4OTAxKSxvPWkoODE0NTg5KSxhPWkoOTM2MzI2KTtjb25zdCBsPSgwLG4uZ2V0TG9nZ2VyKSgiQ2hhcnQuUGxvdExpc3QiKSxjPTMwO2Z1bmN0aW9uIGgoZSl7cmV0dXJuIGUuaW5kZXh9ZnVuY3Rpb24gZChlKXtyZXR1cm4gZS52YWx1ZVswXX1jbGFzcyB1e2NvbnN0cnVjdG9yKGU9bnVsbCx0PW51bGwpe3RoaXMuX2l0ZW1zPVtdLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPTAsdGhpcy5fc2hhcmVSZWFkPSExLHRoaXMuX21pbk1heENhY2hlPW5ldyBNYXAsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeUluZGV4PW5ldyBNYXAsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeUluZGV4V2l0aG91dEVtcHR5VmFsdWVzPW5ldyBNYXAsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeVRpbWU9bmV3IE1hcCx0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5VGltZVdpdGhvdXRFbXB0eVZhbHVlcz1uZXcgTWFwLHRoaXMuX3Bsb3RGdW5jdGlvbnM9ZXx8bmV3IE1hcCx0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlPXR9Y2xlYXIoKXt0aGlzLl9pdGVtcz1bXSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD0wLHRoaXMuX3NoYXJlUmVhZD0hMSx0aGlzLl9taW5NYXhDYWNoZS5jbGVhcigpLHRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKX1maXJzdCgpe3JldHVybiB0aGlzLnNpemUoKT4wP3RoaXMuX2l0ZW1zW3RoaXMuX3N0YXJ0XTpudWxsfWxhc3QoKXsKcmV0dXJuIHRoaXMuc2l6ZSgpPjA/dGhpcy5faXRlbXNbdGhpcy5fZW5kLTFdOm51bGx9Zmlyc3RJbmRleCgpe3JldHVybiB0aGlzLnNpemUoKT4wP3RoaXMuX2luZGV4QXQodGhpcy5fc3RhcnQpOm51bGx9Zmlyc3RQbG90dGFibGVJbmRleCgpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiBudWxsO2ZvcihsZXQgZT10aGlzLl9zdGFydDtlPHRoaXMuX2VuZDsrK2Upe2NvbnN0IHQ9dGhpcy5faW5kZXhBdChlKTtpZih0Pm8uVU5QTE9UVEFCTEVfVElNRV9QT0lOVF9JTkRFWClyZXR1cm4gdH1yZXR1cm4gbnVsbH1sYXN0SW5kZXgoKXtyZXR1cm4gdGhpcy5zaXplKCk+MD90aGlzLl9pbmRleEF0KHRoaXMuX2VuZC0xKTpudWxsfWNsb25lKCl7Y29uc3QgZT10aGlzLmZpcnN0SW5kZXgoKSx0PXRoaXMubGFzdEluZGV4KCk7cmV0dXJuIG51bGw9PT1lfHxudWxsPT09dD9uZXcgdTp0aGlzLnJhbmdlKGUsdCl9c2l6ZSgpe3JldHVybiB0aGlzLl9lbmQtdGhpcy5fc3RhcnR9aXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5zaXplKCl9Y29udGFpbnMoZSl7cmV0dXJuIG51bGwhPT10aGlzLnNlYXJjaChlLGEuUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3QpfXZhbHVlQXQoZSl7Y29uc3QgdD10aGlzLnNlYXJjaChlKTtyZXR1cm4gbnVsbCE9PXQ/dC52YWx1ZTpudWxsfWFkZChlLHQpe2lmKHRoaXMuX3NoYXJlUmVhZClyZXR1cm4gbC5sb2dEZWJ1ZygiYWRkOiByZWFkb25seSBjb2xsZWN0aW9uIG1vZGlmaWNhdGlvbiBhdHRlbXB0IiksITE7Y29uc3QgaT17aW5kZXg6ZSx2YWx1ZTp0fSxzPXRoaXMuX25vbkNhY2hlZFNlYXJjaChlLGEuUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3QsaCk7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKSxudWxsPT09cz8odGhpcy5faXRlbXMuc3BsaWNlKHRoaXMuX2xvd2VyYm91bmQoZSxoKSwwLGkpLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPXRoaXMuX2l0ZW1zLmxlbmd0aCwhMCk6KHRoaXMuX2l0ZW1zW3NdPWksITEpfXNlYXJjaChlLHQ9YS5QbG90Um93U2VhcmNoTW9kZS5FeGFjdCxpKXtyZXR1cm4gdGhpcy5fc2VhcmNoSW1wbChlLHQsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeUluZGV4LHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlJbmRleFdpdGhvdXRFbXB0eVZhbHVlcyxoLGkpfXNlYXJjaEJ5VGltZShlLHQ9YS5QbG90Um93U2VhcmNoTW9kZS5FeGFjdCxpKXtyZXR1cm4gdGhpcy5fc2VhcmNoSW1wbChlLHQsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeVRpbWUsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeVRpbWVXaXRob3V0RW1wdHlWYWx1ZXMsZCxpKX1mb2xkKGUsdCl7bGV0IGk9dDtmb3IobGV0IHQ9dGhpcy5fc3RhcnQ7dDx0aGlzLl9lbmQ7Kyt0KXtpPWUodGhpcy5faW5kZXhBdCh0KSx0aGlzLl92YWx1ZUF0KHQpLGkpfXJldHVybiBpfWZpbmRGaXJzdChlLHQpe2NvbnN0IGk9dm9pZCAwIT09dCYmTWF0aC5taW4odGhpcy5fc3RhcnQrdCx0aGlzLl9lbmQpfHx0aGlzLl9lbmQ7Zm9yKGxldCB0PXRoaXMuX3N0YXJ0O3Q8aTsrK3Qpe2NvbnN0IGk9dGhpcy5faW5kZXhBdCh0KSxzPXRoaXMuX3ZhbHVlQXQodCk7aWYoZShpLHMpKXJldHVybntpbmRleDppLHZhbHVlOnN9fXJldHVybiBudWxsfWZpbmRMYXN0KGUsdCl7Y29uc3QgaT12b2lkIDAhPT10JiZNYXRoLm1heCh0aGlzLl9lbmQtdCx0aGlzLl9zdGFydCl8fHRoaXMuX3N0YXJ0O2ZvcihsZXQgdD10aGlzLl9lbmQtMTt0Pj1pOy0tdCl7Y29uc3QgaT10aGlzLl9pbmRleEF0KHQpLHM9dGhpcy5fdmFsdWVBdCh0KTtpZihlKGkscykpcmV0dXJue2luZGV4OmksdmFsdWU6c319cmV0dXJuIG51bGx9ZWFjaChlKXtmb3IobGV0IHQ9dGhpcy5fc3RhcnQ7dDx0aGlzLl9lbmQ7Kyt0KXtpZihlKHRoaXMuX2luZGV4QXQodCksdGhpcy5fdmFsdWVBdCh0KSkpYnJlYWt9fXJlZHVjZShlLHQpe2xldCBpPXQ7Zm9yKGxldCB0PXRoaXMuX3N0YXJ0O3Q8dGhpcy5fZW5kOysrdCl7aT1lKGksdGhpcy5faW5kZXhBdCh0KSx0aGlzLl92YWx1ZUF0KHQpKX1yZXR1cm4gaX1yYW5nZShlLHQpe2NvbnN0IGk9bmV3IHUodGhpcy5fcGxvdEZ1bmN0aW9ucyx0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlKTtyZXR1cm4gaS5faXRlbXM9dGhpcy5faXRlbXMsaS5fc3RhcnQ9dGhpcy5fbG93ZXJib3VuZChlLGgpLGkuX2VuZD10aGlzLl91cHBlcmJvdW5kKHQpLGkuX3NoYXJlUmVhZD0hMCxpfXBsb3R0YWJsZVJhbmdlKGUpe2NvbnN0IHQ9bmV3IHUodGhpcy5fcGxvdEZ1bmN0aW9ucyx0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlKTtyZXR1cm4gdC5faXRlbXM9dGhpcy5faXRlbXMsdC5fc3RhcnQ9dGhpcy5fdXBwZXJib3VuZChvLlVOUExPVFRBQkxFX1RJTUVfUE9JTlRfSU5ERVgpLHQuX2VuZD10aGlzLl9lbmQsdC5fc2hhcmVSZWFkPSEwLCEwPT09ZSYmdC5fc3RhcnQ+dGhpcy5fc3RhcnQmJih0Ll9zdGFydC09MSksdH1yYW5nZUNvdW50YmFjayhlLHQpe2lmKG51bGw9PT10aGlzLmZpcnN0SW5kZXgoKSlyZXR1cm4gbmV3IHU7Y29uc3QgaT1uZXcgdSh0aGlzLl9wbG90RnVuY3Rpb25zLHRoaXMuX2VtcHR5VmFsdWVQcmVkaWNhdGUpO3JldHVybiBpLl9pdGVtcz10aGlzLl9pdGVtcyxpLl9lbmQ9dGhpcy5fdXBwZXJib3VuZChlKSxpLl9zdGFydD1NYXRoLm1heCh0aGlzLl9zdGFydCxpLl9lbmQtdCksaS5fc2hhcmVSZWFkPSEwLGl9cmFuZ2VJdGVyYXRvcihlLHQpe2NvbnN0IGk9dGhpcy5fbG93ZXJib3VuZChlLGgpLHM9dGhpcy5fdXBwZXJib3VuZCh0KTtyZXR1cm4gdGhpcy5fcmFuZ2VJdGVyYXRvckltcGwoaSxzKX1mdWxsUmFuZ2VJdGVyYXRvcigpe3JldHVybiB0aGlzLl9yYW5nZUl0ZXJhdG9ySW1wbCh0aGlzLl9zdGFydCx0aGlzLl9lbmQpfW1pbk1heE9uUmFuZ2VDYWNoZWQoZSx0LGkpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiBudWxsO2xldCBzPW51bGw7Zm9yKGNvbnN0IG4gb2YgaSl7cz1wKHMsdGhpcy5fbWluTWF4T25SYW5nZUNhY2hlZEltcGwoZS1uLm9mZnNldCx0LW4ub2Zmc2V0LG4ubmFtZSkpfXJldHVybiBzfW1pbk1heE9uUmFuZ2UoZSx0LGkpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiBudWxsO2xldCBzPW51bGwKO2Zvcihjb25zdCBuIG9mIGkpe3M9cChzLHRoaXMuX21pbk1heE9uUmFuZ2UoZS1uLm9mZnNldCx0LW4ub2Zmc2V0LG4ubmFtZSkpfXJldHVybiBzfW1lcmdlKGUpe3JldHVybiB0aGlzLl9zaGFyZVJlYWQ/KGwubG9nRGVidWcoIm1lcmdlOiByZWFkb25seSBjb2xsZWN0aW9uIG1vZGlmaWNhdGlvbiBhdHRlbXB0IiksbnVsbCk6MD09PWUubGVuZ3RoP251bGw6dGhpcy5pc0VtcHR5KCl8fGVbZS5sZW5ndGgtMV0uaW5kZXg8dGhpcy5faXRlbXNbMF0uaW5kZXg/dGhpcy5fcHJlcGVuZChlKTplWzBdLmluZGV4PnRoaXMuX2l0ZW1zW3RoaXMuX2l0ZW1zLmxlbmd0aC0xXS5pbmRleD90aGlzLl9hcHBlbmQoZSk6MT09PWUubGVuZ3RoJiZlWzBdLmluZGV4PT09dGhpcy5faXRlbXNbdGhpcy5faXRlbXMubGVuZ3RoLTFdLmluZGV4Pyh0aGlzLl91cGRhdGVMYXN0KGVbMF0pLGVbMF0pOnRoaXMuX21lcmdlKGUpfWFkZFRhaWwoZSx0PSExKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuO2xldCBpPTA7dCYmdGhpcy5fZW5kLXRoaXMuX3N0YXJ0PjAmJihpPTEsdGhpcy5faXRlbXNbdGhpcy5fZW5kLXRoaXMuX3N0YXJ0LTFdLnZhbHVlPWVbMF0udmFsdWUpO2ZvcihsZXQgdD1pO3Q8ZS5sZW5ndGg7Kyt0KXtjb25zdCBpPWVbdF0scz10aGlzLmxhc3RJbmRleCgpO2lmKG51bGw9PT1zKXtsLmxvZ0Vycm9yKCJDYW4ndCBhZGQgdGFpbCB0byB0aGUgZW1wdHkgcGxvdGxpc3QiKTticmVha310aGlzLmFkZChzKzEsaS52YWx1ZSl9dGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpfW1vdmUoZSl7aWYodGhpcy5fc2hhcmVSZWFkKXJldHVybiB2b2lkIGwubG9nRGVidWcoIm1vdmU6IHJlYWRvbmx5IGNvbGxlY3Rpb24gbW9kaWZpY2F0aW9uIGF0dGVtcHQiKTtpZigwPT09ZS5sZW5ndGgpcmV0dXJuO2NvbnN0IHQ9dGhpcy5faXRlbXMuc2xpY2UoKTtmb3IoY29uc3QgaSBvZiBlKXtjb25zdCBlPXRoaXMuX2JzZWFyY2goaS5vbGQsaCk7aWYobnVsbCE9PWUmJnZvaWQgMCE9PXRbZV0paWYoaS5uZXc9PT1vLklOVkFMSURfVElNRV9QT0lOVF9JTkRFWCl0W2VdPXZvaWQgMDtlbHNle3RbZV09e2luZGV4OmkubmV3LHZhbHVlOnRbZV0udmFsdWV9O2NvbnN0IHM9dGhpcy5fYnNlYXJjaChpLm5ldyxoKTtpZihudWxsIT09cyl7Y29uc3QgZT10W3NdO3ZvaWQgMCE9PWUmJmUuaW5kZXg9PT1pLm5ldyYmKHRbc109dm9pZCAwKX19fXRoaXMuX2l0ZW1zPXQuZmlsdGVyKChlPT52b2lkIDAhPT1lKSkuc29ydCgoKGUsdCk9PmUuaW5kZXgtdC5pbmRleCkpLHRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKSx0aGlzLl9taW5NYXhDYWNoZS5jbGVhcigpLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPXRoaXMuX2l0ZW1zLmxlbmd0aH1yZW1vdmUoZSl7aWYodGhpcy5fc2hhcmVSZWFkKXJldHVybiBsLmxvZ0RlYnVnKCJyZW1vdmU6IHJlYWRvbmx5IGNvbGxlY3Rpb24gbW9kaWZpY2F0aW9uIGF0dGVtcHQiKSxudWxsO2NvbnN0IHQ9dGhpcy5fbm9uQ2FjaGVkU2VhcmNoKGUsYS5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQsaCk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT10aGlzLl9pdGVtcy5zcGxpY2UodCk7cmV0dXJuIHRoaXMuX2VuZD10aGlzLl9pdGVtcy5sZW5ndGgsdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksaS5sZW5ndGg+MD9pWzBdOm51bGx9c3RhdGUoKXtjb25zdCBlPXRoaXMuX2l0ZW1zLnNsaWNlKHRoaXMuX3N0YXJ0LHRoaXMuX2VuZCk7cmV0dXJue3N0YXJ0OjAsZW5kOmUubGVuZ3RoLGRhdGE6ZX19cmVzdG9yZVN0YXRlKGUpe2U/KHRoaXMuX3N0YXJ0PWUuc3RhcnQsdGhpcy5fZW5kPWUuZW5kLHRoaXMuX3NoYXJlUmVhZD0hMSx0aGlzLl9pdGVtcz1lLmRhdGEsdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCkpOnRoaXMuY2xlYXIoKX1faW5kZXhBdChlKXtyZXR1cm4gdGhpcy5faXRlbXNbZV0uaW5kZXh9X3ZhbHVlQXQoZSl7cmV0dXJuIHRoaXMuX2l0ZW1zW2VdLnZhbHVlfV9sZW5ndGgoKXtyZXR1cm4gdGhpcy5faXRlbXMubGVuZ3RofV9zZWFyY2hJbXBsKGUsdCxpLHMsbixyKXtjb25zdCBvPXZvaWQgMCE9PXI/aTpzLGE9dm9pZCAwIT09cj8xZTQqKHQrMSkrcjp0O2xldCBsPW8uZ2V0KGUpO2lmKHZvaWQgMCE9PWwpe2NvbnN0IGU9bC5nZXQoYSk7aWYodm9pZCAwIT09ZSlyZXR1cm4gZX1jb25zdCBjPXRoaXMuX25vbkNhY2hlZFNlYXJjaChlLHQsbixyKTtpZihudWxsPT09YylyZXR1cm4gbnVsbDtjb25zdCBoPXtpbmRleDp0aGlzLl9pbmRleEF0KGMpLHZhbHVlOnRoaXMuX3ZhbHVlQXQoYyl9O3JldHVybiB2b2lkIDA9PT1sJiYobD1uZXcgTWFwLG8uc2V0KGUsbCkpLGwuc2V0KGEsaCksaH1fbm9uQ2FjaGVkU2VhcmNoKGUsdCxpLHMpe2NvbnN0IG49dGhpcy5fbG93ZXJib3VuZChlLGkpLHI9bj09PXRoaXMuX2VuZHx8ZSE9PWkodGhpcy5faXRlbXNbbl0pO2lmKHImJnQhPT1hLlBsb3RSb3dTZWFyY2hNb2RlLkV4YWN0KXN3aXRjaCh0KXtjYXNlIGEuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQ6cmV0dXJuIHRoaXMuX3NlYXJjaE5lYXJlc3RMZWZ0KG4scyk7Y2FzZSBhLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodDpyZXR1cm4gdGhpcy5fc2VhcmNoTmVhcmVzdFJpZ2h0KG4scyk7ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIHNlYXJjaCBtb2RlIil9aWYodm9pZCAwPT09c3x8cnx8dD09PWEuUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3QpcmV0dXJuIHI/bnVsbDpuO3N3aXRjaCh0KXtjYXNlIGEuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQ6cmV0dXJuIHRoaXMuX25vbkVtcHR5TmVhcmVzdExlZnQobixzKTtjYXNlIGEuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0OnJldHVybiB0aGlzLl9ub25FbXB0eU5lYXJlc3RSaWdodChuLHMpO2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBzZWFyY2ggbW9kZSIpfX1fbm9uRW1wdHlOZWFyZXN0UmlnaHQoZSx0KXtjb25zdCBpPSgwLApzLmVuc3VyZSkodGhpcy5fZW1wdHlWYWx1ZVByZWRpY2F0ZSksbj0oMCxzLmVuc3VyZSkodCk7Zm9yKDtlPHRoaXMuX2VuZCYmaSh0aGlzLl92YWx1ZUF0KGUpLG4pOyllKz0xO3JldHVybiBlPT09dGhpcy5fZW5kP251bGw6ZX1fbm9uRW1wdHlOZWFyZXN0TGVmdChlLHQpe2NvbnN0IGk9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlKSxuPSgwLHMuZW5zdXJlKSh0KTtmb3IoO2U+PXRoaXMuX3N0YXJ0JiZpKHRoaXMuX3ZhbHVlQXQoZSksbik7KWUtPTE7cmV0dXJuIGU8dGhpcy5fc3RhcnQ/bnVsbDplfV9zZWFyY2hOZWFyZXN0TGVmdChlLHQpe2lmKGU9PT10aGlzLl9zdGFydClyZXR1cm4gbnVsbDtjb25zdCBpPWUtMSxzPWkhPT10aGlzLl9lbmQ/aTpudWxsO3JldHVybiB2b2lkIDAhPT10JiZudWxsIT09cz90aGlzLl9ub25FbXB0eU5lYXJlc3RMZWZ0KHMsdCk6c31fc2VhcmNoTmVhcmVzdFJpZ2h0KGUsdCl7Y29uc3QgaT1lLHM9aSE9PXRoaXMuX2VuZD9pOm51bGw7cmV0dXJuIHZvaWQgMCE9PXQmJm51bGwhPT1zP3RoaXMuX25vbkVtcHR5TmVhcmVzdFJpZ2h0KHMsdCk6c31fYnNlYXJjaChlLHQpe2NvbnN0IGk9dGhpcy5fbG93ZXJib3VuZChlLHQpO3JldHVybiBpIT09dGhpcy5fZW5kJiZlPT09dCh0aGlzLl9pdGVtc1tpXSk/aTpudWxsfV9sb3dlcmJvdW5kKGUsdCl7cmV0dXJuKDAsci5sb3dlcmJvdW5kKSh0aGlzLl9pdGVtcyxlLCgoZSxpKT0+dChlKTxpKSx0aGlzLl9zdGFydCx0aGlzLl9lbmQpfV91cHBlcmJvdW5kKGUpe3JldHVybigwLHIudXBwZXJib3VuZCkodGhpcy5faXRlbXMsZSwoKGUsdCk9PnQuaW5kZXg+ZSksdGhpcy5fc3RhcnQsdGhpcy5fZW5kKX1fcGxvdE1pbk1heChlLHQsaSl7bGV0IHM9bnVsbDtjb25zdCBuPXRoaXMuX3Bsb3RGdW5jdGlvbnMuZ2V0KGkpO2lmKHZvaWQgMD09PW4pdGhyb3cgbmV3IEVycm9yKGBQbG90ICIke2l9IiBpcyBub3QgcmVnaXN0ZXJlZGApO2ZvcihsZXQgaT1lO2k8dDtpKyspe2NvbnN0IGU9bih0aGlzLl9pdGVtc1tpXS52YWx1ZSk7bnVsbD09ZXx8TnVtYmVyLmlzTmFOKGUpfHwobnVsbD09PXM/cz17bWluOmUsbWF4OmV9OihlPHMubWluJiYocy5taW49ZSksZT5zLm1heCYmKHMubWF4PWUpKSl9cmV0dXJuIHN9X2ludmFsaWRhdGVDYWNoZUZvclJvdyhlKXtjb25zdCB0PU1hdGguZmxvb3IoZS5pbmRleC9jKTt0aGlzLl9taW5NYXhDYWNoZS5mb3JFYWNoKChlPT5lLmRlbGV0ZSh0KSkpfV9wcmVwZW5kKGUpe3JldHVybigwLHMuYXNzZXJ0KSghdGhpcy5fc2hhcmVSZWFkLCJjb2xsZWN0aW9uIHNob3VsZCBub3QgYmUgcmVhZG9ubHkiKSwoMCxzLmFzc2VydCkoMCE9PWUubGVuZ3RoLCJwbG90Um93cyBzaG91bGQgbm90IGJlIGVtcHR5IiksdGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpLHRoaXMuX21pbk1heENhY2hlLmNsZWFyKCksdGhpcy5faXRlbXM9ZS5jb25jYXQodGhpcy5faXRlbXMpLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPXRoaXMuX2l0ZW1zLmxlbmd0aCxlWzBdfV9hcHBlbmQoZSl7cmV0dXJuKDAscy5hc3NlcnQpKCF0aGlzLl9zaGFyZVJlYWQsImNvbGxlY3Rpb24gc2hvdWxkIG5vdCBiZSByZWFkb25seSIpLCgwLHMuYXNzZXJ0KSgwIT09ZS5sZW5ndGgsInBsb3RSb3dzIHNob3VsZCBub3QgYmUgZW1wdHkiKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9pdGVtcz10aGlzLl9pdGVtcy5jb25jYXQoZSksdGhpcy5fc3RhcnQ9MCx0aGlzLl9lbmQ9dGhpcy5faXRlbXMubGVuZ3RoLGVbMF19X3VwZGF0ZUxhc3QoZSl7KDAscy5hc3NlcnQpKCF0aGlzLmlzRW1wdHkoKSwicGxvdCBsaXN0IHNob3VsZCBub3QgYmUgZW1wdHkiKTtjb25zdCB0PXRoaXMuX2l0ZW1zW3RoaXMuX2VuZC0xXTsoMCxzLmFzc2VydCkodC5pbmRleD09PWUuaW5kZXgsImxhc3Qgcm93IGluZGV4IHNob3VsZCBtYXRjaCBuZXcgcm93IGluZGV4IiksdGhpcy5faW52YWxpZGF0ZUNhY2hlRm9yUm93KGUpLHRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKSx0aGlzLl9pdGVtc1t0aGlzLl9lbmQtMV09ZX1fbWVyZ2UoZSl7cmV0dXJuKDAscy5hc3NlcnQpKDAhPT1lLmxlbmd0aCwicGxvdCByb3dzIHNob3VsZCBub3QgYmUgZW1wdHkiKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9pdGVtcz1mdW5jdGlvbihlLHQpe2NvbnN0IGk9ZnVuY3Rpb24oZSx0KXtjb25zdCBpPWUubGVuZ3RoLHM9dC5sZW5ndGg7bGV0IG49aStzLHI9MCxvPTA7Zm9yKDtyPGkmJm88czspZVtyXS5pbmRleDx0W29dLmluZGV4P3IrKzplW3JdLmluZGV4PnRbb10uaW5kZXg/bysrOihyKyssbysrLG4tLSk7cmV0dXJuIG59KGUsdCkscz1uZXcgQXJyYXkoaSk7bGV0IG49MCxyPTA7Y29uc3Qgbz1lLmxlbmd0aCxhPXQubGVuZ3RoO2xldCBsPTA7Zm9yKDtuPG8mJnI8YTspZVtuXS5pbmRleDx0W3JdLmluZGV4PyhzW2xdPWVbbl0sbisrKTplW25dLmluZGV4PnRbcl0uaW5kZXg/KHNbbF09dFtyXSxyKyspOihzW2xdPXRbcl0sbisrLHIrKyksbCsrO2Zvcig7bjxvOylzW2xdPWVbbl0sbisrLGwrKztmb3IoO3I8YTspc1tsXT10W3JdLHIrKyxsKys7cmV0dXJuIHN9KHRoaXMuX2l0ZW1zLGUpLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPXRoaXMuX2l0ZW1zLmxlbmd0aCxlWzBdfV9taW5NYXhPblJhbmdlQ2FjaGVkSW1wbChlLHQsaSl7aWYodGhpcy5pc0VtcHR5KCkpcmV0dXJuIG51bGw7bGV0IG49bnVsbDtjb25zdCByPSgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5maXJzdEluZGV4KCkpLG89KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLmxhc3RJbmRleCgpKSxhPU1hdGgubWF4KGUsciksbD1NYXRoLm1pbih0LG8pLGg9TWF0aC5jZWlsKGEvYykqYyxkPU1hdGgubWF4KGgsTWF0aC5mbG9vcihsL2MpKmMpO249cChuLHRoaXMuX21pbk1heE9uUmFuZ2UoYSxNYXRoLm1pbihoLHQsbCksaSkpO2xldCB1PXRoaXMuX21pbk1heENhY2hlLmdldChpKTt2b2lkIDA9PT11JiYodT1uZXcgTWFwLAp0aGlzLl9taW5NYXhDYWNoZS5zZXQoaSx1KSk7Zm9yKGxldCBlPU1hdGgubWF4KGgrMSxhKTtlPGQ7ZSs9Yyl7Y29uc3QgdD1NYXRoLmZsb29yKGUvYyk7bGV0IHM9dS5nZXQodCk7aWYodm9pZCAwPT09cyl7Y29uc3QgZT10KmMsbj0odCsxKSpjLTE7cz10aGlzLl9taW5NYXhPblJhbmdlKGUsbixpKSx1LnNldCh0LHMpfW49cChuLHMpfW49cChuLHRoaXMuX21pbk1heE9uUmFuZ2UoZCxsLGkpKTtyZXR1cm4gbn1fbWluTWF4T25SYW5nZShlLHQsaSl7cmV0dXJuIHRoaXMuX3Bsb3RNaW5NYXgodGhpcy5fbG93ZXJib3VuZChlLGgpLHRoaXMuX3VwcGVyYm91bmQodCksaSl9X3JhbmdlSXRlcmF0b3JJbXBsKGUsdCl7bGV0IGk9ZS0xO3JldHVybntbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzfSxuZXh0OigpPT4oaSs9MSxpPj10P3tkb25lOiEwLHZhbHVlOnZvaWQgMH06e2RvbmU6ITEsdmFsdWU6dGhpcy5faXRlbXNbaV19KX19X2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKXt0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5SW5kZXguY2xlYXIoKSx0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5SW5kZXhXaXRob3V0RW1wdHlWYWx1ZXMuY2xlYXIoKSx0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5VGltZS5jbGVhcigpLHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlUaW1lV2l0aG91dEVtcHR5VmFsdWVzLmNsZWFyKCl9fWZ1bmN0aW9uIHAoZSx0KXtpZihudWxsPT09ZSlyZXR1cm4gdDtpZihudWxsPT09dClyZXR1cm4gZTtyZXR1cm57bWluOk1hdGgubWluKGUubWluLHQubWluKSxtYXg6TWF0aC5tYXgoZS5tYXgsdC5tYXgpfX19LDYxOTE2NShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtTZXJpZXNEYXRhOigpPT5fLGJhckZ1bmN0aW9uOigpPT51LGJhckZ1bmN0aW9uczooKT0+aCxzZXJpZXNQbG90RnVuY3Rpb25NYXA6KCk9PmR9KTt2YXIgcyxuLHI9aSgxMzg2MzgpLG89aSg4NTcxNTEpLGE9aSg0NzU0NzgpOyFmdW5jdGlvbihlKXtlW2UuRnJvbUxlZnQ9LTFdPSJGcm9tTGVmdCIsZVtlLkZyb21SaWdodD0xXT0iRnJvbVJpZ2h0In0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlW2UuVGltZT0wXT0iVGltZSIsZVtlLk9wZW49MV09Ik9wZW4iLGVbZS5IaWdoPTJdPSJIaWdoIixlW2UuTG93PTNdPSJMb3ciLGVbZS5DbG9zZT00XT0iQ2xvc2UiLGVbZS5Wb2x1bWU9NV09IlZvbHVtZSIsZVtlLkFkdD02XT0iQWR0In0obnx8KG49e30pKTtjb25zdCBsPVsib3BlbiIsImhpZ2giLCJsb3ciLCJjbG9zZSIsImhsMiIsImhsYzMiLCJvaGxjNCJdO3ZhciBjOyFmdW5jdGlvbihlKXtlW2UuRmlyc3RQcmljZT0wXT0iRmlyc3RQcmljZSIsZVtlLkxhc3RQcmljZT0xXT0iTGFzdFByaWNlIixlW2UuTGFzdFZhbHVlUHJpY2U9Ml09Ikxhc3RWYWx1ZVByaWNlIn0oY3x8KGM9e30pKTtjb25zdCBoPXtvcGVuOmU9PmVbMV0saGlnaDplPT5lWzJdLGxvdzplPT5lWzNdLGNsb3NlOmU9PmVbNF0saGwyOmU9PihlWzJdK2VbM10pLzIsaGxjMzplPT4oZVsyXStlWzNdK2VbNF0pLzMsb2hsYzQ6ZT0+KGVbMV0rZVsyXStlWzNdK2VbNF0pLzR9O2Z1bmN0aW9uIGQoKXtjb25zdCBlPW5ldyBNYXA7cmV0dXJuIGwuZm9yRWFjaCgoKHQsaSk9PntlLnNldCh0LHUodCkpfSkpLGV9ZnVuY3Rpb24gdShlLHQsaSl7Y29uc3Qgcz1oW3Q/P2VdLG49aFtlXSxyPWhbaT8/ZV07cmV0dXJuKGUsdCk9Pntzd2l0Y2godCl7Y2FzZSAwOnJldHVybiBzKGUpO2Nhc2UgMjpyZXR1cm4gcihlKTtkZWZhdWx0OnJldHVybiBuKGUpfX19ZnVuY3Rpb24gcChlLHQpe3JldHVybiBudWxsPT1lW3RdfWNsYXNzIF97Y29uc3RydWN0b3IoKXt0aGlzLm1fYmFycz1uZXcgby5QbG90TGlzdChkKCkscCksdGhpcy5tX25zQmFycz1uZXcgby5QbG90TGlzdChkKCkscCksdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlcj1uZXcgYS5Db25mbGF0ZWRDaHVua3NCdWlsZGVyKHRoaXMubV9iYXJzLChlPT5oW2VdKSl9YmFycygpe3JldHVybiB0aGlzLm1fYmFyc31uc0JhcnMoKXtyZXR1cm4gdGhpcy5tX25zQmFyc31jb25mbGF0ZWRDaHVua3MoZSx0KXtyZXR1cm4gdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlci5jb25mbGF0ZWRDaHVua3MoZSx0KX1tZXJnZVJlZ3VsYXJCYXJzKGUpe3JldHVybiB0aGlzLl9jb25mbGF0ZWRDaHVua3NCdWlsZGVyLm1lcmdlRGF0YShlKX1zaXplKCl7cmV0dXJuIHRoaXMubV9iYXJzLnNpemUoKSt0aGlzLm1fbnNCYXJzLnNpemUoKX1lYWNoKGUpe3RoaXMubV9iYXJzLmVhY2goZSksdGhpcy5tX25zQmFycy5lYWNoKGUpfWNsZWFyKCl7dGhpcy5tX25zQmFycy5jbGVhcigpLHRoaXMubGFzdFByb2plY3Rpb25QcmljZT12b2lkIDAsdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlci5jbGVhckRhdGEoKX1jbG9uZSgpe2NvbnN0IGU9bmV3IF87cmV0dXJuIGUubGFzdFByb2plY3Rpb25QcmljZT10aGlzLmxhc3RQcm9qZWN0aW9uUHJpY2UsZS5ib3hTaXplPXRoaXMuYm94U2l6ZSxlLnJldmVyc2FsQW1vdW50PXRoaXMucmV2ZXJzYWxBbW91bnQsZS5tX2JhcnM9dGhpcy5tX2JhcnMuY2xvbmUoKSxlLm1fbnNCYXJzPXRoaXMubV9iYXJzLmNsb25lKCksZX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMubV9iYXJzLmlzRW1wdHkoKSYmdGhpcy5tX25zQmFycy5pc0VtcHR5KCl9Zmlyc3QoKXtyZXR1cm4gdGhpcy5tX2JhcnMuaXNFbXB0eSgpP3RoaXMubV9uc0JhcnMuZmlyc3QoKTp0aGlzLm1fYmFycy5maXJzdCgpfWxhc3QoKXtyZXR1cm4gdGhpcy5tX25zQmFycy5pc0VtcHR5KCk/dGhpcy5tX2JhcnMubGFzdCgpOnRoaXMubV9uc0JhcnMubGFzdCgpfXNlYXJjaChlLHQsaSl7cmV0dXJuIHRoaXMubnNCYXJzKCkuaXNFbXB0eSgpP3RoaXMuYmFycygpLnNlYXJjaChlLHQsaSk6dGhpcy5iYXJzKCkuaXNFbXB0eSgpfHwoMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMubnNCYXJzKCkuZmlyc3RJbmRleCgpKTw9ZT90aGlzLm5zQmFycygpLnNlYXJjaChlLHQsaSk6dGhpcy5iYXJzKCkuc2VhcmNoKGUsdCxpKX12YWx1ZUF0KGUpe2NvbnN0IHQ9dGhpcy5zZWFyY2goZSk7cmV0dXJuIG51bGwhPT10P3QudmFsdWU6bnVsbH0KcGxvdFZhbHVlVG9UaW1lUG9pbnRJbmRleChlLHQsaSl7aWYoaT09PXMuRnJvbVJpZ2h0KXtjb25zdCBpPShpLHMpPT57Y29uc3Qgbj1zW3RdO3JldHVybiBudWxsIT1uJiZlPj1ufSxzPXRoaXMubV9iYXJzLmZpbmRMYXN0KGkpO2lmKG51bGwhPT1zKXJldHVybiBzLmluZGV4O2NvbnN0IG49dGhpcy5tX25zQmFycy5maW5kTGFzdChpKTtyZXR1cm4gbnVsbCE9PW4/bi5pbmRleDp0aGlzLm1fYmFycy5maXJzdEluZGV4KCl9aWYoaT09PXMuRnJvbUxlZnQpe2NvbnN0IGk9KGkscyk9Pntjb25zdCBuPXNbdF07cmV0dXJuIG51bGwhPW4mJmU8PW59LHM9dGhpcy5tX2JhcnMuZmluZEZpcnN0KGkpO2lmKG51bGwhPT1zKXJldHVybiBzLmluZGV4O2NvbnN0IG49dGhpcy5tX25zQmFycy5maW5kRmlyc3QoaSk7cmV0dXJuIG51bGwhPT1uP24uaW5kZXg6dGhpcy5tX2JhcnMubGFzdEluZGV4KCl9dGhyb3cgbmV3IEVycm9yKCJwbG90VmFsdWVUb1RpbWVQb2ludEluZGV4OiB1bnN1cHBvcnRlZCBzZWFyY2ggbW9kZSIpfW1vdmVEYXRhKGUpe3RoaXMuX2NvbmZsYXRlZENodW5rc0J1aWxkZXIubW92ZURhdGEoZSksdGhpcy5tX25zQmFycy5tb3ZlKGUpfX19LDE3OTY3NChlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtEd2dFeHRlbmQ6KCk9PnN9KSxmdW5jdGlvbihlKXtlLk5vbmU9Im4iLGUuTGVmdD0ibCIsZS5SaWdodD0iciIsZS5Cb3RoPSJiIn0oc3x8KHM9e30pKX0sNTQ4NTYwKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHMsbixyLG87aS5kKHQse0R3Z0xhYmVsU3R5bGU6KCk9PnIsRHdnTGFiZWxUZXh0QWxpZ246KCk9PnMsRHdnTGFiZWxZbG9jOigpPT5ufSksZnVuY3Rpb24oZSl7ZS5MZWZ0PSJsZWZ0IixlLkNlbnRlcj0iY2VudGVyIixlLlJpZ2h0PSJyaWdodCJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5BYm92ZUJhcj0iYWIiLGUuQmVsb3dCYXI9ImJsIixlLlByaWNlPSJwciIsZS5BdXRvPSJhdXRvIn0obnx8KG49e30pKSxmdW5jdGlvbihlKXtlLlhjcm9zcz0ieGNyIixlLkNyb3NzPSJjciIsZS5UcmlhbmdsZXVwPSJ0dXAiLGUuVHJpYW5nbGVkb3duPSJ0ZG4iLGUuRmxhZz0iZmxnIixlLkNpcmNsZT0iY2lyIixlLkFycm93dXA9ImF1cCIsZS5BcnJvd2Rvd249ImFkbiIsZS5MYWJlbFVwPSJsdXAiLGUuTGFiZWxEb3duPSJsZG4iLGUuTGFiZWxMZWZ0PSJsbGYiLGUuTGFiZWxSaWdodD0ibHJnIixlLkxhYmVsQ2VudGVyPSJsY24iLGUuTGFiZWxMZWZ0VXA9Imx1cGxmIixlLkxhYmVsTGVmdERvd249Imxsd2xmIixlLkxhYmVsUmlnaHRVcD0ibHVwcmciLGUuTGFiZWxSaWdodERvd249Imxsd3JnIixlLlNxdWFyZT0ic3EiLGUuRGlhbW9uZD0iZGlhIixlLlRleHRPdXRsaW5lPSJ0byIsZS5Ob25lPSJuIn0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlLk1vbm9zcGFjZT0ibW9ub3NwYWNlIn0ob3x8KG89e30pKX0sMzk0OTYzKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHMsbjtpLmQodCx7SEhpc3REaXJlY3Rpb246KCk9PnMsSEhpc3RMb2NhdGlvbjooKT0+bn0pLGZ1bmN0aW9uKGUpe2UuTGVmdFRvUmlnaHQ9ImxlZnRfdG9fcmlnaHQiLGUuUmlnaHRUb0xlZnQ9InJpZ2h0X3RvX2xlZnQifShzfHwocz17fSkpLGZ1bmN0aW9uKGUpe2UuUmVsYXRpdmU9InJlbGF0aXZlIixlLkFic29sdXRlPSJhYnNvbHV0ZSJ9KG58fChuPXt9KSl9LDIyMzg2OShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7cmV0dXJuL15ccypzdHJhdGVneVxzKlwoL20udGVzdChlKX1pLmQodCx7aXNTdHJhdGVneTooKT0+c30pfSw5NjU3OTUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7bWFrZU5leHRTdHVkeUlkOigpPT5ufSk7bGV0IHM9MDtmdW5jdGlvbiBuKCl7cmV0dXJuIHMrKywic3QiK3N9fSwxNjQxNTYoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztpLmQodCx7UGluZUtpbmQ6KCk9PnN9KSxmdW5jdGlvbihlKXtlLlN0dWR5PSJzdHVkeSIsZS5TdHJhdGVneT0ic3RyYXRlZ3kiLGUuTGlicmFyeT0ibGlicmFyeSJ9KHN8fChzPXt9KSl9LDU4OTUxMShlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtQbG90U3ltYm9sU2l6ZTooKT0+c30pLGZ1bmN0aW9uKGUpe2UuQXV0bz0iYXV0byIsZS5UaW55PSJ0aW55IixlLlNtYWxsPSJzbWFsbCIsZS5Ob3JtYWw9Im5vcm1hbCIsZS5MYXJnZT0ibGFyZ2UiLGUuSHVnZT0iaHVnZSJ9KHN8fChzPXt9KSl9LDY2Njk0NyhlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7aWYoZTwwKXRocm93IG5ldyBFcnJvcigiVGltZVBvaW50SW5kZXhJbmRleCBzaG91bGQgYmUgbm9uLW5lZ2F0aXZlIGludGVnZXIiKTtyZXR1cm4gZX1pLmQodCx7ZW5zdXJlVGltZVBvaW50SW5kZXhJbmRleDooKT0+c30pfSwxOTg1NDEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLnIodCksaS5kKHQse1N0dWR5RGF0YVNvdXJjZTooKT0+X30pO3ZhciBzPWkoMTM4NjM4KSxuPWkoOTQ4MzgwKSxyPWkoMjIxMDYxKSxvPWkoNTUwOTA0KSxhPWkoODU3MTUxKSxsPWkoNzkxNDI3KSxjPWkoMTQyMzg5KSxoPWkoOTY1Nzk1KSxkPWkoNTA0NDMxKTtjb25zdCB1PSgwLHIuZ2V0TG9nZ2VyKSgiQ2hhcnQuU3R1ZHlEYXRhU291cmNlIik7dmFyIHA7IWZ1bmN0aW9uKGUpe2VbZS5JZGxlPTBdPSJJZGxlIixlW2UuQXdhaXRpbmdDb25uZWN0aW9uPTFdPSJBd2FpdGluZ0Nvbm5lY3Rpb24iLGVbZS5Bd2FpdGluZ1BhcmVudD0yXT0iQXdhaXRpbmdQYXJlbnQiLGVbZS5Bd2FpdGluZ0ZpcnN0RGF0YVVwZGF0ZT0zXT0iQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUiLGVbZS5BY3RpdmU9NF09IkFjdGl2ZSJ9KHB8fChwPXt9KSk7Y2xhc3MgX3tjb25zdHJ1Y3RvcihlLHQsaSxzLHI9ITEpe3RoaXMuX2lucHV0cz1udWxsLHRoaXMuX3N0YXR1cz1wLklkbGUsdGhpcy5fc3R1ZHlJZD1udWxsLHRoaXMuX3R1cm5hcm91bmRDb3VudGVyPTEsdGhpcy5fc3R1ZHlTdGF0dXM9e3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfSx0aGlzLl9zdHVkeVN0YXR1c0NoYW5nZWQ9bmV3IG4uRGVsZWdhdGUsdGhpcy5fZGF0YUNsZWFyZWQ9bmV3IG4uRGVsZWdhdGUsCnRoaXMuX2RhdGFVcGRhdGVkPW5ldyBuLkRlbGVnYXRlLHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkPXRoaXMuX29uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZC5iaW5kKHRoaXMpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuX2dhdGV3YXk9ZSx0aGlzLl9tZXRhSW5mbz1zLHRoaXMuX2ZvcmNlVXNlRXhjbGFtYXRpb25NYXJrPXIsdGhpcy5fc2VyaWVzU291cmNlPXQsdGhpcy5fdHVybmFyb3VuZFByZWZpeD1pLHRoaXMuX2NyZWF0ZVBsb3RzKCksdGhpcy5fZ2F0ZXdheS5pc0Nvbm5lY3RlZCgpLnN1YnNjcmliZSh0aGlzLl9ib3VuZE9uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZCl9ZGVzdHJveSgpe3RoaXMuc3RvcCgpLHRoaXMuX2dhdGV3YXkuaXNDb25uZWN0ZWQoKS51bnN1YnNjcmliZSh0aGlzLl9ib3VuZE9uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZCksdGhpcy5fc2VyaWVzU291cmNlLmRhdGFFdmVudHMoKS5jcmVhdGVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyl9bWV0YUluZm8oKXtyZXR1cm4gdGhpcy5fbWV0YUluZm99aW5wdXRzKCl7cmV0dXJuIHRoaXMuX2lucHV0c31zZXRJbnB1dHMoZSl7dGhpcy5faW5wdXRzPWUsbnVsbCE9PXRoaXMuX3N0dWR5SWQmJih0aGlzLl90dXJuYXJvdW5kQ291bnRlcisrLHRoaXMuX29uU3R1ZHlTdGF0dXNDaGFuZ2VkVG8oe3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfSksdGhpcy5fZ2F0ZXdheS5tb2RpZnlTdHVkeSh0aGlzLl9zdHVkeUlkLHRoaXMuX3R1cm5hcm91bmQoKSxlLHRoaXMuX29uTWVzc2FnZS5iaW5kKHRoaXMpKSx0aGlzLl9zdGF0dXM9PT1wLkFjdGl2ZSYmdGhpcy5fY2hhbmdlU3RhdHVzVG8ocC5Bd2FpdGluZ0ZpcnN0RGF0YVVwZGF0ZSkpfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zdGF0dXMhPT1wLklkbGV9aXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5fc3RhdHVzPT09cC5BY3RpdmV9c3RhcnQoKXt0aGlzLmlzU3RhcnRlZCgpP3UubG9nTm9ybWFsKCJzdGFydDogZGF0YSBzb3VyY2UgaXMgYWxyZWFkeSBzdGFydGVkLCBub3RoaW5nIHRvIGRvIik6KCgwLHMuYXNzZXJ0KShudWxsIT09dGhpcy5faW5wdXRzLCJJbnB1dHMgc2hvdWxkIGJlIGRlZmluZWQgd2hlbiBzdGFydGluZyBhIHN0dWR5IGRhdGEgc291cmNlIiksdGhpcy5fZ2F0ZXdheS5pc0Nvbm5lY3RlZCgpLnZhbHVlKCk/dGhpcy5fY3JlYXRlU3R1ZHkoKTp0aGlzLl9jaGFuZ2VTdGF0dXNUbyhwLkF3YWl0aW5nQ29ubmVjdGlvbikpfXN0b3AoKXt0aGlzLmlzU3RhcnRlZCgpPyhudWxsIT09dGhpcy5fc3R1ZHlJZCYmKHRoaXMuX2dhdGV3YXkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLl9nYXRld2F5LnJlbW92ZVN0dWR5KHRoaXMuX3N0dWR5SWQpLHRoaXMuX3N0dWR5SWQ9bnVsbCx0aGlzLl9vblN0dWR5U3RhdHVzQ2hhbmdlZFRvKHt0eXBlOmMuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZH0pKSx0aGlzLl9jaGFuZ2VTdGF0dXNUbyhwLklkbGUpKTp1LmxvZ05vcm1hbCgic3RvcDogZGF0YSBzb3VyY2UgaXMgYWxyZWFkeSBzdG9wcGVkLCBub3RoaW5nIHRvIGRvIil9c3R1ZHlJZCgpe3JldHVybiB0aGlzLl9zdHVkeUlkfXN0dWR5U3RhdHVzKCl7cmV0dXJuIHRoaXMuX3N0dWR5U3RhdHVzfXN0dWR5U3RhdHVzQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zdHVkeVN0YXR1c0NoYW5nZWR9cGxvdHMoKXtyZXR1cm4gdGhpcy5fcGxvdHN9Y2xlYXJEYXRhKCl7dGhpcy5fcGxvdHMuY2xlYXIoKSx0aGlzLl9kYXRhQ2xlYXJlZC5maXJlKCl9ZGF0YUNsZWFyZWQoKXtyZXR1cm4gdGhpcy5fZGF0YUNsZWFyZWR9ZGF0YVVwZGF0ZWQoKXtyZXR1cm4gdGhpcy5fZGF0YVVwZGF0ZWR9bW92ZURhdGEoZSl7dGhpcy5fb25nb2luZ0RhdGFVcGRhdGU9dGhpcy5fb25nb2luZ0RhdGFVcGRhdGUudGhlbigoKCk9Pnt0aGlzLl9wbG90cy5tb3ZlKGUpfSkpfXBlbmRpbmdVcGRhdGVzUmVhZHkoKXtyZXR1cm4gdGhpcy5fb25nb2luZ0RhdGFVcGRhdGV9c3RhdGljIHNldE5vblNlcmllc0RhdGFVbnBhY2tlcihlKXtfLl9ub25TZXJpZXNEYXRhVW5wYWNrZXI9ZX1fY3JlYXRlU3R1ZHlFcnJvcihlKXtyZXR1cm57dHlwZTpjLlN0dWR5U3RhdHVzVHlwZS5FcnJvcixlcnJvckRlc2NyaXB0aW9uOnRoaXMuX2dldFN0dWR5RXJyb3JEZXNjcmlwdGlvbihlKX19X2dldFN0dWR5RXJyb3JEZXNjcmlwdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/e2Vycm9yOmUuc3BsaXQoIjoiLDIpWzBdfTplfV9jcmVhdGVQbG90cygpe3RoaXMuX3Bsb3RzPW5ldyBhLlBsb3RMaXN0KCgwLGQuc3R1ZHlQbG90RnVuY3Rpb25NYXApKHRoaXMubWV0YUluZm8oKSksZC5zdHVkeUVtcHR5UGxvdFZhbHVlUHJlZGljYXRlKX1fY2hhbmdlU3RhdHVzVG8oZSl7KDAscy5hc3NlcnQpKHRoaXMuX3N0YXR1cyE9PWUsIlNvdXJjZSBhbmQgZGVzdGluYXRpb24gc3RhdHVzIHNob3VsZCBiZSBkaXN0aW5jdCIpLHUubG9nTm9ybWFsKGBTdGF0dXMgY2hhbmdlZCBmcm9tICR7cFt0aGlzLl9zdGF0dXNdfSB0byAke3BbZV19YCksdGhpcy5fc3RhdHVzPWV9X2NyZWF0ZVN0dWR5KCl7Y29uc3QgZT10aGlzLl9zZXJpZXNTb3VyY2UuaW5zdGFuY2VJZCgpO251bGwhPT1lP3RoaXMuX2NyZWF0ZVN0dWR5VXNpbmdQYXJlbnRJZChlKToodGhpcy5fY2hhbmdlU3RhdHVzVG8ocC5Bd2FpdGluZ1BhcmVudCksdGhpcy5fc2VyaWVzU291cmNlLmRhdGFFdmVudHMoKS5jcmVhdGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZXJpZXNDcmVhdGVkLCEwKSl9X2NyZWF0ZVN0dWR5VXNpbmdQYXJlbnRJZChlKXsoMCxzLmFzc2VydCkodGhpcy5fc3RhdHVzIT09cC5BY3RpdmUsJ1N0YXR1cyBzaG91bGQgbm90IGJlICJBY3RpdmUiIHdoZW4gY3JlYXRpbmcgYSBzdHVkeScpLCgwLHMuYXNzZXJ0KSh0aGlzLl9zdHVkeVN0YXR1cy50eXBlPT09Yy5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkLCdTdHVkeSBzdGF0dXMgc2hvdWxkIGJlICJVbmRlZmluZWQiIHdoZW4gY3JlYXRpbmcgYSBzdHVkeScpLCgwLApzLmFzc2VydCkobnVsbD09PXRoaXMuX3N0dWR5SWQsIlN0dWR5IGlkIHNob3VsZCBiZSBlbXB0eSB3aGVuIGNyZWF0aW5nIGEgc3R1ZHkiKSx0aGlzLl9zdHVkeUlkPSgwLGgubWFrZU5leHRTdHVkeUlkKSgpLHRoaXMuX2dhdGV3YXkuY3JlYXRlU3R1ZHkodGhpcy5fc3R1ZHlJZCx0aGlzLl90dXJuYXJvdW5kKCksZSxsLlN0dWR5TWV0YUluZm8uZ2V0U3R1ZHlJZFdpdGhMYXRlc3RWZXJzaW9uKHRoaXMubWV0YUluZm8oKSx0aGlzLl9mb3JjZVVzZUV4Y2xhbWF0aW9uTWFyayksKDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pbnB1dHMpLHRoaXMuX29uTWVzc2FnZS5iaW5kKHRoaXMpLHtpZDp0aGlzLl9tZXRhSW5mby5pZH0pLHRoaXMuX2NoYW5nZVN0YXR1c1RvKHAuQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUpfV9vbkdhdGV3YXlJc0Nvbm5lY3RlZENoYW5nZWQoZSl7ZT90aGlzLl9vbkdhdGV3YXlDb25uZWN0ZWQoKTp0aGlzLl9vbkdhdGV3YXlEaXNjb25uZWN0ZWQoKX1fb25HYXRld2F5Q29ubmVjdGVkKCl7dGhpcy5fc3RhdHVzPT09cC5Bd2FpdGluZ0Nvbm5lY3Rpb24mJnRoaXMuX2NyZWF0ZVN0dWR5KCl9X29uR2F0ZXdheURpc2Nvbm5lY3RlZCgpe3RoaXMuX3N0YXR1cyE9PXAuSWRsZSYmdGhpcy5fc3RhdHVzIT09cC5Bd2FpdGluZ0Nvbm5lY3Rpb24mJih0aGlzLl9zdHVkeUlkPW51bGwsdGhpcy5fY2hhbmdlU3RhdHVzVG8ocC5Bd2FpdGluZ0Nvbm5lY3Rpb24pLHRoaXMuX3N0dWR5U3RhdHVzLnR5cGUhPT1jLlN0dWR5U3RhdHVzVHlwZS5VbmRlZmluZWQmJnRoaXMuX29uU3R1ZHlTdGF0dXNDaGFuZ2VkVG8oe3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfSkpLHRoaXMuX3R1cm5hcm91bmRDb3VudGVyPTF9X29uU2VyaWVzQ3JlYXRlZCgpe3RoaXMuX3N0YXR1cz09PXAuQXdhaXRpbmdQYXJlbnQmJnRoaXMuX2NyZWF0ZVN0dWR5VXNpbmdQYXJlbnRJZCgoMCxzLmVuc3VyZSkodGhpcy5fc2VyaWVzU291cmNlLmluc3RhbmNlSWQoKSkpfV9vblN0dWR5U3RhdHVzQ2hhbmdlZFRvKGUpe2NvbnN0IHQ9dGhpcy5fc3R1ZHlTdGF0dXM7dGhpcy5fc3R1ZHlTdGF0dXM9ZSx1LmxvZ05vcm1hbChgU3R1ZHkgc3RhdHVzIHR5cGUgY2hhbmdlZCBmcm9tICR7Yy5TdHVkeVN0YXR1c1R5cGVbdC50eXBlXX0gdG8gJHtjLlN0dWR5U3RhdHVzVHlwZVtlLnR5cGVdfWApLHRoaXMuX3N0dWR5U3RhdHVzQ2hhbmdlZC5maXJlKHQsZSl9X29uTWVzc2FnZShlKXtpZigiZGF0YV91cGRhdGUiPT09ZS5tZXRob2Qpe2NvbnN0e2N1c3RvbUlkOnQsdHVybmFyb3VuZDppLHBsb3RzOm4sbm9uc2VyaWVzOnJ9PWUucGFyYW1zO3Q9PT10aGlzLl9zdHVkeUlkJiZ0aGlzLl9jaGVja1R1cm5hcm91bmQoaSkmJnRoaXMuX29uRGF0YVVwZGF0ZShuLCgwLHMuZW5zdXJlRGVmaW5lZCkocikpfWVsc2UgaWYoInN0dWR5X2xvYWRpbmciPT09ZS5tZXRob2Qpe2NvbnN0W3QsaV09ZS5wYXJhbXM7dD09PXRoaXMuX3N0dWR5SWQmJnRoaXMuX2NoZWNrVHVybmFyb3VuZChpKSYmdGhpcy5fb25TdHVkeUxvYWRpbmcoZS50aW1lKX1lbHNlIGlmKCJzdHVkeV9jb21wbGV0ZWQiPT09ZS5tZXRob2Qpe2NvbnN0W3QsaV09ZS5wYXJhbXM7dD09PXRoaXMuX3N0dWR5SWQmJnRoaXMuX2NoZWNrVHVybmFyb3VuZChpKSYmdGhpcy5fb25TdHVkeUNvbXBsZXRlZChlLnRpbWUpfWVsc2UgaWYoInN0dWR5X2Vycm9yIj09PWUubWV0aG9kKXtjb25zdFt0LGkscyxuXT1lLnBhcmFtczt0PT09dGhpcy5fc3R1ZHlJZCYmdGhpcy5fY2hlY2tUdXJuYXJvdW5kKGkpJiZ0aGlzLl9vblN0dWR5RXJyb3IocyxuLGUudGltZSl9ZWxzZSJjbGVhcl9kYXRhIj09PWUubWV0aG9kJiZ0aGlzLl9jaGVja1R1cm5hcm91bmQoZS5wYXJhbXMudHVybmFyb3VuZCkmJnRoaXMuY2xlYXJEYXRhKCl9X29uRGF0YVVwZGF0ZShlLHQpe2NvbnN0IGk9Xy5fbm9uU2VyaWVzRGF0YVVucGFja2VyKHQuZCk7cmV0dXJuIHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPXRoaXMuX29uZ29pbmdEYXRhVXBkYXRlLnRoZW4oKCgpPT5pKSwoKCk9PmkpKS50aGVuKHRoaXMuX29uRGF0YVVucGFja2VkLmJpbmQodGhpcyxlLHQuaW5kZXhlcykpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlfV9vbkRhdGFVbnBhY2tlZChlLHQsaSl7dGhpcy5fc3RhdHVzIT09cC5JZGxlJiYodGhpcy5fc3RhdHVzPT09cC5Bd2FpdGluZ0ZpcnN0RGF0YVVwZGF0ZSYmKHRoaXMuX2NoYW5nZVN0YXR1c1RvKHAuQWN0aXZlKSx0aGlzLmNsZWFyRGF0YSgpKSx0aGlzLl9tZXJnZVBsb3RzKGUpLHRoaXMuX2RhdGFVcGRhdGVkLmZpcmUoZSxpLHQpKX1fb25TdHVkeUxvYWRpbmcoZSl7dGhpcy5fb25TdHVkeVN0YXR1c0NoYW5nZWRUbyh7dHlwZTpjLlN0dWR5U3RhdHVzVHlwZS5Mb2FkaW5nLHN0YXJ0VGltZTpEYXRlLm5vdygpfSl9X29uU3R1ZHlFcnJvcihlLHQsaSl7dGhpcy5jbGVhckRhdGEoKSx0aGlzLl9vblN0dWR5U3RhdHVzQ2hhbmdlZFRvKHRoaXMuX2NyZWF0ZVN0dWR5RXJyb3IoZSkpfV9vblN0dWR5Q29tcGxldGVkKGUpe3RoaXMuX29uU3R1ZHlTdGF0dXNDaGFuZ2VkVG8oe3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuQ29tcGxldGVkfSl9X21lcmdlUGxvdHMoZSl7dGhpcy5fcGxvdHMubWVyZ2UoZSl9X3R1cm5hcm91bmQoKXtyZXR1cm5gJHt0aGlzLl90dXJuYXJvdW5kUHJlZml4fSR7dGhpcy5fdHVybmFyb3VuZENvdW50ZXJ9YH1fY2hlY2tUdXJuYXJvdW5kKGUpe2NvbnN0IHQ9dGhpcy5fdHVybmFyb3VuZCgpO3JldHVybiBlPT09dHx8ZT09PXRoaXMuX3Nlcmllc1NvdXJjZS50dXJuYXJvdW5kKCl8fGU9PT1gJHt0aGlzLl9zZXJpZXNTb3VyY2UudHVybmFyb3VuZCgpfV8ke3R9YH19Xy5fbm9uU2VyaWVzRGF0YVVucGFja2VyPW8udW5wYWNrTm9uU2VyaWVzRGF0YX0sNTA0NDMxKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtjb25zdCB0PW5ldyBNYXA7cmV0dXJuIGUucGxvdHMuZm9yRWFjaCgoKGUsaSk9Pnt0LnNldChlLmlkLChlPT5lW2krMV0pKX0pKSx0fWZ1bmN0aW9uIG4oZSx0KXtyZXR1cm4gbnVsbD09ZVt0XX1pLmQodCx7c3R1ZHlFbXB0eVBsb3RWYWx1ZVByZWRpY2F0ZTooKT0+biwKc3R1ZHlQbG90RnVuY3Rpb25NYXA6KCk9PnN9KX0sNjM0ODYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUsdCl7cmV0dXJuYCR7ZX1AJHt0fWB9ZnVuY3Rpb24gbihlKXtyZXR1cm4gZS5yZXBsYWNlKC8oQFteLV0rLVteLV0rKS4qJC8sIiQxIil9aS5kKHQse2V4dHJhY3RTdHVkeUlkOigpPT5uLHN0dWR5SWRTdHJpbmc6KCk9PnN9KX0sNjI4MDYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q2hhcnRDb2xvckRlcGVuZGVudFN0dWR5SW5wdXROYW1lczooKT0+ZyxJbnB1dERpc3BsYXlGbGFnczooKT0+bixSYW5nZURlcGVuZGVudFN0dWR5SW5wdXROYW1lczooKT0+bCxTdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElEOigpPT5yLFN0dWR5U3RyYXRlZ3lRdHlUeXBlSW5wdXRWYWx1ZTooKT0+byxhcmVTdHVkeUlucHV0c0VxdWFsOigpPT5fLGVkaXRhYmxlU3R1ZHlJbnB1dHM6KCk9PnYsZ2V0SW5wdXRWYWx1ZTooKT0+dSxpc0V4dGVuZGVkSW5wdXQ6KCk9PmgsaXNFeHRlbmRlZElucHV0Qm9vbDooKT0+dyxpc0V4dGVuZGVkSW5wdXRTb3VyY2U6KCk9PmQsaXNTdHJhdGVneUlucHV0OigpPT5DLGlzU3R1ZHlJbnB1dERlcGVuZHNPbkNoYXJ0OigpPT5iLGlzU3R1ZHlJbnB1dERlcGVuZHNPbkNoYXJ0Q29sb3JzOigpPT55LGlzU3R1ZHlJbnB1dE9wdGlvbnNJbmZvOigpPT5wLGlzVGltZU9yUHJpY2VOb3RIaWRkZW5JbnB1dDooKT0+UyxyYW5nZURlcGVuZGVudFN0dWR5SW5wdXROYW1lc0xpc3Q6KCk9Pm0scmFuZ2VEZXBlbmRlbnRTdHVkeUlucHV0c1RvVGltZVJhbmdlOigpPT5mLHVzZXJFZGl0YWJsZUlucHV0RmlsdGVyOigpPT5QfSk7dmFyIHMsbixyLG8sYSxsLGM9aSg4ODAxMTUpO2Z1bmN0aW9uIGgoZSl7cmV0dXJuKDAsYy5kZWZhdWx0KShlKX1mdW5jdGlvbiBkKGUpe3JldHVybiJzb3VyY2UiPT09ZS50fWZ1bmN0aW9uIHUoZSl7cmV0dXJuIGgoZSk/ZS52OmV9ZnVuY3Rpb24gcChlKXtyZXR1cm5bInRleHQiLCJpbnRlZ2VyIiwiZmxvYXQiLCJwcmljZSIsInNlc3Npb24iLCJyZXNvbHV0aW9uIl0uaW5jbHVkZXMoZS50eXBlKSYmZS5oYXNPd25Qcm9wZXJ0eSgib3B0aW9ucyIpfWZ1bmN0aW9uIF8oZSx0LGkpe2Zvcihjb25zdCBzIG9mIGUpaWYodFtzLmlkXSE9PWlbcy5pZF0pcmV0dXJuITE7cmV0dXJuITB9IWZ1bmN0aW9uKGUpe2UuSW50ZWdlcj0iaW50ZWdlciIsZS5GbG9hdD0iZmxvYXQiLGUuUHJpY2U9InByaWNlIixlLkJvb2w9ImJvb2wiLGUuVGV4dD0idGV4dCIsZS5TeW1ib2w9InN5bWJvbCIsZS5TZXNzaW9uPSJzZXNzaW9uIixlLlNvdXJjZT0ic291cmNlIixlLlJlc29sdXRpb249InJlc29sdXRpb24iLGUuVGltZT0idGltZSIsZS5CYXJUaW1lPSJiYXJfdGltZSIsZS5Db2xvcj0iY29sb3IiLGUuVGV4dGFyZWE9InRleHRfYXJlYSJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZVtlLk5vbmU9MF09Ik5vbmUiLGVbZS5EYXRhV2luZG93PTJdPSJEYXRhV2luZG93IixlW2UuU3RhdHVzTGluZT04XT0iU3RhdHVzTGluZSIsZVtlLkFsbD0xNV09IkFsbCJ9KG58fChuPXt9KSksZnVuY3Rpb24oZSl7ZS5Jbml0aWFsQ2FwaXRhbD0iaW5pdGlhbF9jYXBpdGFsIixlLkN1cnJlbmN5PSJjdXJyZW5jeSIsZS5EZWZhdWx0UVRZVmFsdWU9ImRlZmF1bHRfcXR5X3ZhbHVlIixlLkRlZmF1bHRRVFlUeXBlPSJkZWZhdWx0X3F0eV90eXBlIixlLlB5cmFtaWRpbmc9InB5cmFtaWRpbmciLGUuQ29taXNzaW9uVmFsdWU9ImNvbW1pc3Npb25fdmFsdWUiLGUuQ29taXNzaW9uVHlwZT0iY29tbWlzc2lvbl90eXBlIixlLkJhY2t0ZXN0RmlsbExpbWl0c0Fzc3VtdGlvbj0iYmFja3Rlc3RfZmlsbF9saW1pdHNfYXNzdW1wdGlvbiIsZS5TbGlwcGFnZT0ic2xpcHBhZ2UiLGUuQ2FsY09uT3JkZXJGaWxscz0iY2FsY19vbl9vcmRlcl9maWxscyIsZS5DYWxjT25FdmVyeVRpY2s9ImNhbGNfb25fZXZlcnlfdGljayIsZS5DYWxjT25IaXN0b3J5QmFyPSJjYWxjX29uX2V2ZXJ5X2hpc3RvcnlfdGljayIsZS5NYXJnaW5Mb25nPSJtYXJnaW5fbG9uZyIsZS5NYXJnaW5TaG9ydD0ibWFyZ2luX3Nob3J0IixlLkJhckRldGFsaXphdGlvbj0idXNlX2Jhcl9tYWduaWZpZXIiLGUuUHJvY2Vzc09yZGVyc09uQ2xvc2U9InByb2Nlc3Nfb3JkZXJzX29uX2Nsb3NlIixlLkZpbGxPcmRlcnNPblN0YW5kYXJkT0hMQz0iZmlsbF9vcmRlcnNfb25fc3RhbmRhcmRfb2hsYyJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZS5GaXhlZD0iZml4ZWQiLGUuQ2FzaFBlck9yZGVyPSJjYXNoX3Blcl9vcmRlciIsZS5QZXJjZW50T2ZFcXVpdHk9InBlcmNlbnRfb2ZfZXF1aXR5In0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtlLlBlcmNlbnQ9InBlcmNlbnQiLGUuQ2FzaFBlckNvbnRyYWN0PSJjYXNoX3Blcl9jb250cmFjdCIsZS5DYXNoUGVyT3JkZXI9ImNhc2hfcGVyX29yZGVyIn0oYXx8KGE9e30pKSxmdW5jdGlvbihlKXtlLkZpcnN0QmFyPSJmaXJzdF92aXNpYmxlX2Jhcl90aW1lIixlLkxhc3RCYXI9Imxhc3RfdmlzaWJsZV9iYXJfdGltZSIsZS5SZWFsdGltZT0ic3Vic2NyaWJlUmVhbHRpbWUifShsfHwobD17fSkpO2NvbnN0IG09T2JqZWN0LnZhbHVlcyhsKTt2YXIgZztmdW5jdGlvbiBmKGUpe3JldHVybntmcm9tOk1hdGgucm91bmQoZS5maXJzdF92aXNpYmxlX2Jhcl90aW1lLzFlMyksdG86TWF0aC5yb3VuZChlLmxhc3RfdmlzaWJsZV9iYXJfdGltZS8xZTMpfX1mdW5jdGlvbiBTKGUpe3JldHVybigidGltZSI9PT1lLnR5cGV8fCJwcmljZSI9PT1lLnR5cGUpJiYhMCE9PWUuaXNIaWRkZW59ZnVuY3Rpb24gdihlKXtjb25zdCB0PWUuZmlsdGVyKFMpO2lmKDA9PT10Lmxlbmd0aClyZXR1cm5bXTtjb25zdCBpPW5ldyBNYXAscz1bXTt0LmZvckVhY2goKGU9Pntjb25zdHtncm91cDp0LGlubGluZTpufT1lO2lmKHZvaWQgMD09PW4pcmV0dXJuIHZvaWQgcy5wdXNoKGUpO2NvbnN0IHI9bisodHx8IiIpO2lmKGkuaGFzKHIpKWkuZ2V0KHIpPy5wdXNoKGUpO2Vsc2V7Y29uc3QgdD1bZV07aS5zZXQocix0KSxzLnB1c2godCl9fSkpO2NvbnN0IG49W107Zm9yKGxldCBlPTA7ZTxzLmxlbmd0aDtlKyspe2NvbnN0IHQ9c1tlXQo7QXJyYXkuaXNBcnJheSh0KT8yPT09dC5sZW5ndGgmJnRbMF0udHlwZSE9PXRbMV0udHlwZT9uLnB1c2godCk6bi5wdXNoKC4uLnQpOm4ucHVzaCh0KX1yZXR1cm4gbn1mdW5jdGlvbiB5KGUpe3JldHVybiBPYmplY3QudmFsdWVzKGcpLm1hcCgoZT0+ZSkpLmluY2x1ZGVzKGUuaWQpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuISF5KGUpfHxtLmluY2x1ZGVzKGUuaWQpfWZ1bmN0aW9uIHcoZSl7cmV0dXJuKDAsYy5kZWZhdWx0KShlKSYmInQiaW4gZSYmImJvb2wiPT09ZS50JiYidiJpbiBlJiYiYm9vbGVhbiI9PXR5cGVvZiBlLnZ9ZnVuY3Rpb24gQyhlKXtyZXR1cm4ic3RyYXRlZ3lfcHJvcHMiPT09ZS5ncm91cElkfWZ1bmN0aW9uIFAoZSl7cmV0dXJuIWUuZ3JvdXBJZCYmIWUuaXNIaWRkZW4mJmUuaWQhPT1sLkZpcnN0QmFyJiZlLmlkIT09bC5MYXN0QmFyfSFmdW5jdGlvbihlKXtlLkZnQ29sb3I9Il9fY2hhcnRfZmdjb2xvciIsZS5CZ0NvbG9yPSJfX2NoYXJ0X2JnY29sb3IifShnfHwoZz17fSkpfSw3OTE0MjcoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7U3R1ZHlNZXRhSW5mbzooKT0+QyxnZXRTdHVkeUlkV2l0aFZlcnNpb246KCk9PnkscmVwbGF5U3RyYXRlZ3lTdHVkeUlkOigpPT5ifSk7dmFyIHM9aSgzMDQyMjEpLG49aSgyMDM2ODEpLHI9aSgxMzg2MzgpLG89aSg2MDE4NDEpLGE9aSgyMjEwNjEpLGw9aSgxNjQxNTYpLGM9aSgyNTA0NjcpLGg9aSg2MjgwNiksZD1pKDQwMzYpLHU9aSgyMjM4NjkpO2NvbnN0IHA9KDAsYS5nZXRMb2dnZXIpKCJDaGFydC5TdHVkeS5NZXRhSW5mbyIpLF89bmV3IFNldChbIkNvcnJlbGF0aW9uQ29lZmZpY2llbnRAdHYtYmFzaWNzdHVkaWVzIiwiQ29ycmVsYXRpb24gLSBMb2dAdHYtYmFzaWNzdHVkaWVzLTEiXSksbT1uZXcgU2V0KFtdKSxnPW5ldyBTZXQoWyJsaW5lIiwic2hhcGVzIiwiY2hhcnMiLCJhcnJvd3MiLCJhbGVydGNvbmRpdGlvbiJdKSxmPW5ldyBNYXAoW1siQW5jaG9yZWRWV0FQQHR2LWJhc2ljc3R1ZGllcyIsImxpbmV0b29sYW5jaG9yZWR2d2FwIl0sWyJSZWdyZXNzaW9uVHJlbmRAdHYtYmFzaWNzdHVkaWVzIiwibGluZXRvb2xyZWdyZXNzaW9udHJlbmQiXSxbIlZiUEFuY2hvcmVkQHR2LWJhc2ljc3R1ZGllcyIsImxpbmV0b29sYW5jaG9yZWR2cCJdXSksUz1bImZvcmVjYXN0cyIsImVzdGltYXRlcyJdLHY9WyJib29sIiwiY29sb3IiLCJ0aW1lIiwidGV4dF9hcmVhIl07ZnVuY3Rpb24geShlKXtyZXR1cm4gQy5jdXREb2xsYXJIYXNoKGUuaWQpKyItIitlLnZlcnNpb259Y29uc3QgYj0iUmVwbGF5U3RyYXRlZ3lAdHYtc2NyaXB0aW5nIix3PVsidXNlVmVyc2lvbkZyb21NZXRhSW5mbyIsIl9mb3JjZU92ZXJsYXlQbG90SWRzIl07Y2xhc3MgQ3tjb25zdHJ1Y3RvcihlLHQ9ITEpe3RoaXMuX2ZvcmNlT3ZlcmxheVBsb3RJZHM9bmV3IFNldCwoMCxvLm1lcmdlKSh0aGlzLHtwYWxldHRlczp7fSxpbnB1dHM6W10scGxvdHM6W10sZ3JhcGhpY3M6e30sZGVmYXVsdHM6e319KSwoMCxvLm1lcmdlKSh0aGlzLGUpO2NvbnN0IGk9ZS5mdWxsSWR8fGUuaWQ7KDAsby5tZXJnZSkodGhpcyxDLnBhcnNlSWRTdHJpbmcoaSkpLHRoaXMuX3VwZGF0ZUlucHV0RGlzcGxheURlZmF1bHRzKCksdGhpcy51c2VWZXJzaW9uRnJvbU1ldGFJbmZvPXQsdGhpcy5wbG90cy5mb3JFYWNoKChlPT57Y29uc3QgdD1lLmlkLGk9dGhpcy5zdHlsZXM/Llt0XTtsZXQgcz0hIWk/LmZvcmNlT3ZlcmxheTshcyYmKDAsYy5pc09obGNQbG90KShlKSYmKHM9dGhpcy5vaGxjUGxvdHM/LltlLnRhcmdldF0/LmZvcmNlT3ZlcmxheT8/ITEscyYmdGhpcy5fZm9yY2VPdmVybGF5UGxvdElkcy5hZGQoZS50YXJnZXQpKSxzJiZ0aGlzLl9mb3JjZU92ZXJsYXlQbG90SWRzLmFkZCh0KX0pKX1kZWZhdWx0SW5wdXRzKCl7cmV0dXJuIHRoaXMuaW5wdXRzLm1hcCgoZT0+ZS5kZWZ2YWwpKS5maWx0ZXIoby5pc0V4aXN0ZW50KX1zdGF0ZSgpe2NvbnN0IGU9e307Zm9yKGNvbnN0W3QsaV1vZiBPYmplY3QuZW50cmllcyh0aGlzKSl3LmluY2x1ZGVzKHQpfHx0aGlzLmhhc093blByb3BlcnR5KHQpJiYoZVt0XT0oMCxuLmRlZmF1bHQpKGkpLCJpZCI9PT10JiYoZVt0XSs9Ii0iK3RoaXMudmVyc2lvbikpO3JldHVybiBlfWlzUGluZSgpe3JldHVybiB2b2lkIDAhPT10aGlzLnBpbmV9aXNTdGFuZGFyZFBpbmUoKXtyZXR1cm4gdGhpcy5pc1BpbmUoKSYmQy5pc1N0YW5kYXJkUGluZSh0aGlzLmlkKX1pc0ZvcmVjYXN0KCl7cmV0dXJuIFMuaW5jbHVkZXModGhpcy5mdW5kYW1lbnRhbENhdGVnb3J5Py50b0xvd2VyQ2FzZSgpPz8iIil9c3ltYm9sSW5wdXRJZCgpe3JldHVybiB0aGlzLmlucHV0cy5maW5kKChlPT4ic3ltYm9sIj09PWUudHlwZSkpPy5pZHx8bnVsbH1pbnB1dEJ5SWQoZSl7cmV0dXJuKDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLmlucHV0cy5maW5kKCh0PT50LmlkPT09ZSkpKX1pc1Bsb3RGb3JjZU92ZXJsYXkoZSl7cmV0dXJuIHRoaXMuX2ZvcmNlT3ZlcmxheVBsb3RJZHMuaGFzKGUpfWhhc0ZvcmNlT3ZlcmxheVBsb3RzKCl7cmV0dXJuIDAhPT10aGlzLl9mb3JjZU92ZXJsYXlQbG90SWRzLnNpemV9c3RhdGljIGdldFNvdXJjZUlkc0J5SW5wdXRzKGUsdCl7aWYoIUFycmF5LmlzQXJyYXkoZSl8fCF0KXJldHVybltdO2NvbnN0IGk9W107Zm9yKGNvbnN0IG4gb2YgZSlpZihDLmlzU291cmNlSW5wdXQobikmJigwLHMuZGVmYXVsdCkodFtuLmlkXSkpe2NvbnN0IGU9dFtuLmlkXTtlLmluY2x1ZGVzKCIkIikmJmkucHVzaChlLnNwbGl0KCIkIilbMF0pfXJldHVybiBpfXN0YXRpYyBpc1NvdXJjZUlucHV0KGUpe3JldHVybiBCb29sZWFuKGUuaWQmJigoInNvdXJjZSI9PT1lLmlkfHwic3JjIj09PWUuaWQpJiYoInRleHQiPT09ZS50eXBlfHwic291cmNlIj09PWUudHlwZSl8fCJzb3VyY2UiPT09ZS50eXBlKSl9c3RhdGljIGdldFNvdXJjZUlucHV0SWRzKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IGkgb2YgZS5pbnB1dHMpQy5pc1NvdXJjZUlucHV0KGkpJiZ0LnB1c2goaS5pZCk7cmV0dXJuIHR9c3RhdGljIGNhbkJlQ2hpbGQoZSx0KXtpZigoMCxzLmRlZmF1bHQpKGUpKXJldHVybiEwCjtpZighZSlyZXR1cm4hMTtpZihlLmV4dHJhJiYhQy5pc0FsbG93ZWRTb3VyY2VJbnB1dHNDb3VudChlLmV4dHJhLnNvdXJjZUlucHV0c0NvdW50LHQpfHwhMD09PWUuY2FuTm90QmVDaGlsZHx8ITE9PT1lLmNhbkJlQ2hpbGR8fF8uaGFzKGUuaWQpKXJldHVybiExO2xldCBpPTA7Zm9yKGNvbnN0IHQgb2YgZS5pbnB1dHMpQy5pc1NvdXJjZUlucHV0KHQpJiYoaSs9MSk7cmV0dXJuIEMuaXNBbGxvd2VkU291cmNlSW5wdXRzQ291bnQoaSx0KX1zdGF0aWMgaXNBbGxvd2VkU291cmNlSW5wdXRzQ291bnQoZSx0KXtyZXR1cm4gdCYmZT4wfHwxPT09ZX1zdGF0aWMgY2FuSGF2ZUNoaWxkcmVuKGUpe2lmKGUpe2lmKGUuaXNUVlNjcmlwdFN0cmF0ZWd5fHxlLlRWU2NyaXB0U291cmNlQ29kZSYmKDAsdS5pc1N0cmF0ZWd5KShlLlRWU2NyaXB0U291cmNlQ29kZSkpcmV0dXJuITE7aWYoZS5pZCYmIW0uaGFzKGUuaWQpJiZBcnJheS5pc0FycmF5KGUucGxvdHMpKWZvcihjb25zdCB0IG9mIGUucGxvdHMpaWYoZy5oYXModC50eXBlKSlyZXR1cm4hMH1yZXR1cm4hMX1zdGF0aWMgZ2V0Q2hpbGRTb3VyY2VJbnB1dFRpdGxlcyhlLHQsaSl7Y29uc3Qgcz17fTtpZih0LnBsb3RzJiZ0LnBsb3RzLmxlbmd0aCYmZS5vcHRpb25zJiZlLm9wdGlvbnMubGVuZ3RoKWZvcihjb25zdCBuIG9mIGUub3B0aW9ucyl7Y29uc3QgZT1uPytuLnNwbGl0KCIkIilbMV06TmFOLHI9aXNGaW5pdGUoZSkmJnQucGxvdHNbZV07ciYmZy5oYXMoci50eXBlKSYmKHNbbl09dC5zdHlsZXMmJnQuc3R5bGVzW3IuaWRdJiZ0LnN0eWxlc1tyLmlkXT8udGl0bGV8fHIuaWQsaSYmKHNbbl09aSsiOuKAiSIrc1tuXSkpfXJldHVybiBzfXN0YXRpYyBjYW5QbG90QmVTb3VyY2VPZkNoaWxkU3R1ZHkoZSl7cmV0dXJuIGcuaGFzKGUpfXN0YXRpYyBnZXRTdHVkeVByb3BlcnR5Um9vdE5hbWUoZSl7Y29uc3QgdD1mLmdldChlLmlkKTtpZih2b2lkIDAhPT10KXJldHVybiB0O2xldCBpPSJzdHVkeV8iK2UuaWQ7cmV0dXJuIGUucGluZSYmZS5waW5lLnZlcnNpb24mJihpKz0iXyIrZS5waW5lLnZlcnNpb24ucmVwbGFjZSgiLiIsIl8iKSksaX1zdGF0aWMgZ2V0U3R1ZHlQcm9wZXJ0eVJvb3ROYW1lQnlJZChlKXtjb25zdCB0PWYuZ2V0KGUpO3JldHVybiB2b2lkIDAhPT10P3Q6InN0dWR5XyIrZX1zdGF0aWMgaXNTY3JpcHRTdHJhdGVneShlKXtpZihlLmV4dHJhJiZlLmV4dHJhLmtpbmQpcmV0dXJuIGUuZXh0cmEua2luZD09PWwuUGluZUtpbmQuU3RyYXRlZ3k7aWYoITA9PT1lLmlzVFZTY3JpcHRTdHJhdGVneSlyZXR1cm4hMDtjb25zdCB0PWUuVFZTY3JpcHRTb3VyY2VDb2RlfHxlLnNjcmlwdFNvdXJjZTtyZXR1cm4hIXQmJigwLHUuaXNTdHJhdGVneSkodCl9c3RhdGljIGlzUmVwbGF5U3RyYXRlZ3koZSl7cmV0dXJuIGUuaWQ9PT1ifXN0YXRpYyBwYXJzZUlkU3RyaW5nKGUpe3JldHVybigwLGQucGFyc2VJZFN0cmluZykoZSl9c3RhdGljIHZlcnNpb25PZihlKXtjb25zdCB0PSJfbWV0YWluZm9WZXJzaW9uImluIGUmJigwLG8uaXNOdW1iZXIpKGUuX21ldGFpbmZvVmVyc2lvbik/ZS5fbWV0YWluZm9WZXJzaW9uOjA7cmV0dXJuIHQ8MCYmcC5sb2dFcnJvcigiTWV0YWluZm8gZm9ybWF0IHZlcnNpb24gY2Fubm90IGJlIG5lZ2F0aXZlOiAiK3QpLHR9c3RhdGljIGdldFBhY2thZ2VOYW1lKGUpe2NvbnN0IHQ9L15bXkBdK0AoW14tXSstW14tXSspLy5leGVjKGV8fCIiKSxbLGk9InR2LWJhc2ljc3R1ZGllcyJdPXR8fFtdO3JldHVybiBpfXN0YXRpYyBjdXRCZWZvcmVEb2xsYXIoZSl7Y29uc3QgdD1lLmluZGV4T2YoIiQiKTtyZXR1cm4tMT09PXQ/ZTplLnN1YnN0cmluZyh0KzEpfXN0YXRpYyBjdXREb2xsYXJIYXNoKGUpe2NvbnN0IHQ9ZS5pbmRleE9mKCIkIik7aWYoLTE9PT10KXJldHVybiBlO2NvbnN0IGk9ZS5pbmRleE9mKCJAIikscz1pPj0wP2Uuc3Vic3RyaW5nKGkpOiIiO3JldHVybiBlLnN1YnN0cmluZygwLHQpK3N9c3RhdGljIGhhc1B1YlN1ZmZpeChlKXtyZXR1cm4vXlBVQjsuKyQvLnRlc3QoZSl9c3RhdGljIGhhc1N0ZFN1ZmZpeChlKXtyZXR1cm4vXlNURDsuKyQvLnRlc3QoZSl9c3RhdGljIGlzU3RhbmRhcmRQaW5lKGUpe3JldHVybi9eKFN0cmF0ZWd5KT9TY3JpcHRcJFNURDsuKkB0di1zY3JpcHRpbmckLy50ZXN0KGUpfXN0YXRpYyBnZXRTdHVkeUlkV2l0aExhdGVzdFZlcnNpb24oZSx0KXtjb25zdCBpPUMuY3V0RG9sbGFySGFzaChlLmlkKTtsZXQgcz1pO3JldHVybiBpLmluZGV4T2YoIlBvcnRmb2xpb0B0di1zY3JpcHRpbmciKT49MD9zKz10PyIhIjoiIjoiUmVwbGF5U3RyYXRlZ3lAdHYtc2NyaXB0aW5nIj09PXM/cys9Ii01ODEhIjppLmluZGV4T2YoIkB0di1zY3JpcHRpbmciKT49MD9zKz0iLTEwMSEiOmkuZW5kc1dpdGgoIkNQQHR2LWJhc2ljc3R1ZGllcyIpP3MrPSItIitNYXRoLm1pbihlLnZlcnNpb24sMjA3KTppLmVuZHNXaXRoKCJDUEB0di1jaGFydHBhdHRlcm5zIik/cys9Ii0iK01hdGgubWluKGUudmVyc2lvbiw5KTppLmVuZHNXaXRoKCJAdHYtdm9sdW1lYnlwcmljZSIpfHx0P3MrPSItIitlLnZlcnNpb24rIiEiOnMrPSItIitlLnZlcnNpb24sc31zdGF0aWMgc2F2ZWRTdHVkaWVzT3ZlcnJpZGVzKCl7cmV0dXJuIHRoaXMuX3NhdmVkU3R1ZGllc092ZXJyaWRlc31zdGF0aWMgbWVyZ2VEZWZhdWx0c092ZXJyaWRlcyhlKXsoMCxvLm1lcmdlKSh0aGlzLl9zYXZlZFN0dWRpZXNPdmVycmlkZXMsZSl9c3RhdGljIGZpbmRTdHVkeU1ldGFJbmZvQnlEZXNjcmlwdGlvbihlLHQpe2lmKGUpe2NvbnN0IGk9dC50b0xvd2VyQ2FzZSgpO2Zvcihjb25zdCB0IG9mIGUpaWYodC5kZXNjcmlwdGlvbi50b0xvd2VyQ2FzZSgpPT09aSlyZXR1cm4gdDt0aHJvdyBuZXcgRXJyb3IoInVuZXhwZWN0ZWQgc3R1ZHkgaWQ6Iit0KX10aHJvdyBuZXcgRXJyb3IoIlRoZXJlIGlzIG5vIHN0dWRpZXMgbWV0YWluZm8iKX1fdXBkYXRlSW5wdXREaXNwbGF5RGVmYXVsdHMoKXt0aGlzLmlucHV0cy5maWx0ZXIoKGU9PnZvaWQgMD09PWUuZGlzcGxheSkpLmZvckVhY2goKGU9PnsKdi5pbmNsdWRlcyhlLnR5cGUpP2UuZGlzcGxheT1oLklucHV0RGlzcGxheUZsYWdzLk5vbmU6ZS5kaXNwbGF5PWguSW5wdXREaXNwbGF5RmxhZ3MuQWxsfSkpfX1DLl9zYXZlZFN0dWRpZXNPdmVycmlkZXM9e319LDI1MDQ2NyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtJbnRlcm5hbFN0dWR5UGxvdFR5cGU6KCk9PnIsTGluZVN0dWR5UGxvdFN0eWxlOigpPT5zLE9obGNTdHVkeVBsb3RTdHlsZTooKT0+YSxQbG90U3ltYm9sU2l6ZTooKT0+bC5QbG90U3ltYm9sU2l6ZSxTdHVkeVBsb3REaXNwbGF5VGFyZ2V0OigpPT5vLFN0dWR5UGxvdFR5cGU6KCk9Pm4sZG9lc0xpbmVQbG90U3R5bGVTdXBwb3J0RmlsbEJyZWFrczooKT0+Vyxkb2VzTGluZVBsb3RTdHlsZVN1cHBvcnRMaW5lU3R5bGU6KCk9Pk8saXNBbGVydENvbmRpdGlvblBsb3Q6KCk9PmssaXNBcnJvd3NQbG90OigpPT51LGlzQmFyQ29sb3JlclBsb3Q6KCk9PkMsaXNCZ0NvbG9yZXJQbG90OigpPT5QLGlzQ2FuZGxlQm9yZGVyQ29sb3JlclBsb3Q6KCk9PkksaXNDYW5kbGVXaWNrQ29sb3JlclBsb3Q6KCk9Pk0saXNDaGFyc1Bsb3Q6KCk9PmQsaXNDb2xvcmVyUGxvdDooKT0+dyxpc0RhdGFPZmZzZXRQbG90OigpPT5fLGlzRGF0YVBsb3Q6KCk9PnAsaXNEb3duQ29sb3JlclBsb3Q6KCk9PkEsaXNMaW5lUGxvdDooKT0+Yyxpc05vblZpc3VhbFBsb3Q6KCk9Pk4saXNPaGxjQ2xvc2VQbG90OigpPT5TLGlzT2hsY0NvbG9yZXJQbG90OigpPT54LGlzT2hsY0hpZ2hQbG90OigpPT5nLGlzT2hsY0xvd1Bsb3Q6KCk9PmYsaXNPaGxjT3BlblBsb3Q6KCk9Pm0saXNPaGxjUGxvdDooKT0+dixpc09obGNQbG90U3R5bGVCYXJzOigpPT5SLGlzT2hsY1Bsb3RTdHlsZUNhbmRsZXM6KCk9PlYsaXNQYWxldHRlQ29sb3JlclBsb3Q6KCk9PnksaXNQbG90U3VwcG9ydERpc3BsYXk6KCk9PkQsaXNQbG90VGl0bGVEZWZpbmVkOigpPT5FLGlzUGxvdFdpdGhUZWNobmljYWxWYWx1ZXM6KCk9PkIsaXNSZ2JhQ29sb3JlclBsb3Q6KCk9PmIsaXNTaGFwZXNQbG90OigpPT5oLGlzVGV4dENvbG9yZXJQbG90OigpPT5ULGlzVXBDb2xvcmVyUGxvdDooKT0+TH0pO3ZhciBzLG4scixvLGEsbD1pKDU4OTUxMSk7ZnVuY3Rpb24gYyhlKXtyZXR1cm4ibGluZSI9PT1lLnR5cGV9ZnVuY3Rpb24gaChlKXtyZXR1cm4ic2hhcGVzIj09PWUudHlwZX1mdW5jdGlvbiBkKGUpe3JldHVybiJjaGFycyI9PT1lLnR5cGV9ZnVuY3Rpb24gdShlKXtyZXR1cm4iYXJyb3dzIj09PWUudHlwZX1mdW5jdGlvbiBwKGUpe3JldHVybiJkYXRhIj09PWUudHlwZX1mdW5jdGlvbiBfKGUpe3JldHVybiJkYXRhb2Zmc2V0Ij09PWUudHlwZX1mdW5jdGlvbiBtKGUpe3JldHVybiJvaGxjX29wZW4iPT09ZS50eXBlfWZ1bmN0aW9uIGcoZSl7cmV0dXJuIm9obGNfaGlnaCI9PT1lLnR5cGV9ZnVuY3Rpb24gZihlKXtyZXR1cm4ib2hsY19sb3ciPT09ZS50eXBlfWZ1bmN0aW9uIFMoZSl7cmV0dXJuIm9obGNfY2xvc2UiPT09ZS50eXBlfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIG0oZSl8fGcoZSl8fGYoZSl8fFMoZSl9ZnVuY3Rpb24geShlKXtyZXR1cm4iY29sb3JlciI9PT1lLnR5cGUmJiJwYWxldHRlImluIGV9ZnVuY3Rpb24gYihlKXtyZXR1cm4iY29sb3JlciI9PT1lLnR5cGUmJiEoInBhbGV0dGUiaW4gZSl9ZnVuY3Rpb24gdyhlKXtyZXR1cm4iY29sb3JlciI9PT1lLnR5cGV9ZnVuY3Rpb24gQyhlKXtyZXR1cm4iYmFyX2NvbG9yZXIiPT09ZS50eXBlfWZ1bmN0aW9uIFAoZSl7cmV0dXJuImJnX2NvbG9yZXIiPT09ZS50eXBlfWZ1bmN0aW9uIFQoZSl7cmV0dXJuInRleHRfY29sb3JlciI9PT1lLnR5cGV9ZnVuY3Rpb24geChlKXtyZXR1cm4ib2hsY19jb2xvcmVyIj09PWUudHlwZX1mdW5jdGlvbiBNKGUpe3JldHVybiJ3aWNrX2NvbG9yZXIiPT09ZS50eXBlfWZ1bmN0aW9uIEkoZSl7cmV0dXJuImJvcmRlcl9jb2xvcmVyIj09PWUudHlwZX1mdW5jdGlvbiBMKGUpe3JldHVybiJ1cF9jb2xvcmVyIj09PWUudHlwZX1mdW5jdGlvbiBBKGUpe3JldHVybiJkb3duX2NvbG9yZXIiPT09ZS50eXBlfWZ1bmN0aW9uIGsoZSl7cmV0dXJuIGUudHlwZT09PXIuQWxlcnRDb25kaXRpb259ZnVuY3Rpb24gRChlKXtyZXR1cm4gYyhlKXx8aChlKXx8ZChlKXx8dShlKX1mdW5jdGlvbiBFKGUpe3JldHVybiJQbG90IiE9PWV9ZnVuY3Rpb24gUihlKXtyZXR1cm4gZS5wbG90dHlwZT09PWEuT2hsY0JhcnN9ZnVuY3Rpb24gVihlKXtyZXR1cm4gZS5wbG90dHlwZT09PWEuT2hsY0NhbmRsZXN9ZnVuY3Rpb24gQihlKXtyZXR1cm4gdyhlKXx8QyhlKXx8UChlKXx8cChlKXx8XyhlKXx8eChlKXx8ayhlKXx8TChlKXx8QShlKXx8SShlKXx8TShlKXx8VChlKX1mdW5jdGlvbiBOKGUpe3JldHVybiB3KGUpfHxUKGUpfHxDKGUpfHxwKGUpfHxfKGUpfHx4KGUpfHxNKGUpfHxJKGUpfHxMKGUpfHxBKGUpfHxrKGUpfWZ1bmN0aW9uIE8oZSl7cmV0dXJuW3MuTGluZSxzLkxpbmVXaXRoQnJlYWtzLHMuU3RlcExpbmUscy5TdGVwTGluZVdpdGhCcmVha3Mscy5TdGVwTGluZVdpdGhEaWFtb25kcyxzLkFyZWEscy5BcmVhV2l0aEJyZWFrc10uaW5jbHVkZXMoZSl9ZnVuY3Rpb24gVyhlKXtyZXR1cm5bcy5MaW5lLHMuQXJlYSxzLlN0ZXBMaW5lLHMuU3RlcExpbmVXaXRoRGlhbW9uZHNdLmluY2x1ZGVzKGUpfSFmdW5jdGlvbihlKXtlW2UuTGluZT0wXT0iTGluZSIsZVtlLkhpc3RvZ3JhbT0xXT0iSGlzdG9ncmFtIixlW2UuQ3Jvc3M9M109IkNyb3NzIixlW2UuQXJlYT00XT0iQXJlYSIsZVtlLkNvbHVtbnM9NV09IkNvbHVtbnMiLGVbZS5DaXJjbGVzPTZdPSJDaXJjbGVzIixlW2UuTGluZVdpdGhCcmVha3M9N109IkxpbmVXaXRoQnJlYWtzIixlW2UuQXJlYVdpdGhCcmVha3M9OF09IkFyZWFXaXRoQnJlYWtzIixlW2UuU3RlcExpbmU9OV09IlN0ZXBMaW5lIixlW2UuU3RlcExpbmVXaXRoRGlhbW9uZHM9MTBdPSJTdGVwTGluZVdpdGhEaWFtb25kcyIsZVtlLlN0ZXBMaW5lV2l0aEJyZWFrcz0xMV09IlN0ZXBMaW5lV2l0aEJyZWFrcyJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5MaW5lPSJsaW5lIixlLkNvbG9yZXI9ImNvbG9yZXIiLAplLkJhckNvbG9yZXI9ImJhcl9jb2xvcmVyIixlLkJnQ29sb3Jlcj0iYmdfY29sb3JlciIsZS5UZXh0Q29sb3Jlcj0idGV4dF9jb2xvcmVyIixlLk9obGNDb2xvcmVyPSJvaGxjX2NvbG9yZXIiLGUuQ2FuZGxlV2lja0NvbG9yZXI9IndpY2tfY29sb3JlciIsZS5DYW5kbGVCb3JkZXJDb2xvcmVyPSJib3JkZXJfY29sb3JlciIsZS5VcENvbG9yZXI9InVwX2NvbG9yZXIiLGUuRG93bkNvbG9yZXI9ImRvd25fY29sb3JlciIsZS5TaGFwZXM9InNoYXBlcyIsZS5DaGFycz0iY2hhcnMiLGUuQXJyb3dzPSJhcnJvd3MiLGUuRGF0YT0iZGF0YSIsZS5EYXRhT2Zmc2V0PSJkYXRhb2Zmc2V0IixlLk9obGNPcGVuPSJvaGxjX29wZW4iLGUuT2hsY0hpZ2g9Im9obGNfaGlnaCIsZS5PaGxjTG93PSJvaGxjX2xvdyIsZS5PaGxjQ2xvc2U9Im9obGNfY2xvc2UifShufHwobj17fSkpLGZ1bmN0aW9uKGUpe2UuQWxlcnRDb25kaXRpb249ImFsZXJ0Y29uZGl0aW9uIn0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLlBhbmU9MV09IlBhbmUiLGVbZS5EYXRhV2luZG93PTJdPSJEYXRhV2luZG93IixlW2UuUHJpY2VTY2FsZT00XT0iUHJpY2VTY2FsZSIsZVtlLlN0YXR1c0xpbmU9OF09IlN0YXR1c0xpbmUiLGVbZS5QaW5lU2NyZWVuZXI9MTZdPSJQaW5lU2NyZWVuZXIiLGVbZS5BbGw9NDI5NDk2NzI5NV09IkFsbCJ9KG98fChvPXt9KSksZnVuY3Rpb24oZSl7ZS5PaGxjQmFycz0ib2hsY19iYXJzIixlLk9obGNDYW5kbGVzPSJvaGxjX2NhbmRsZXMifShhfHwoYT17fSkpfSwyMDI2MzcoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7c3R1ZHlBdmFpbGFibGVQcmljZVNvdXJjZXM6KCk9PnN9KTtjb25zdCBzPVsib3BlbiIsImhpZ2giLCJsb3ciLCJjbG9zZSIsImhsMiIsImhsYzMiLCJvaGxjNCIsImhsY2M0Il19LDE0MjM4OShlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtTdHVkeVN0YXR1c1R5cGU6KCk9PnN9KSxmdW5jdGlvbihlKXtlW2UuVW5kZWZpbmVkPTBdPSJVbmRlZmluZWQiLGVbZS5Mb2FkaW5nPTFdPSJMb2FkaW5nIixlW2UuQ29tcGxldGVkPTJdPSJDb21wbGV0ZWQiLGVbZS5FcnJvcj0zXT0iRXJyb3IifShzfHwocz17fSkpfSwxNzQzNDIoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcyxuLHI7aS5kKHQse1ZvbHVtZUZvb3RwcmludFN1bW1hcnlNb2RlOigpPT5zLFZvbHVtZUZvb3RwcmludFR5cGVWYWx1ZXM6KCk9Pm59KSxmdW5jdGlvbihlKXtlW2UuSW5mb0JveD0wXT0iSW5mb0JveCIsZVtlLlRhYmxlPTFdPSJUYWJsZSJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5CdXlBbmRTZWxsPSJCdXkgYW5kIHNlbGwiLGUuRGVsdGE9IkRlbHRhIixlLlRvdGFsPSJUb3RhbCIsZS5MYWRkZXI9IkxhZGRlciJ9KG58fChuPXt9KSksZnVuY3Rpb24oZSl7ZVtlLkNsdXN0ZXI9MF09IkNsdXN0ZXIiLGVbZS5Qcm9maWxlPTFdPSJQcm9maWxlIn0ocnx8KHI9e30pKX0sMzQ0Nzg1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5yKHQpLGkuZCh0LHtoaWRlOigpPT5iLHNob3c6KCk9Pl8sc2hvd09uRWxlbWVudDooKT0+cCx0ZW1wRm9yY2VIaWRlOigpPT55LHRvb2x0aXBDbGlja0hhbmRsZXI6KCk9PmYsdXBkYXRlVG9vbHRpcFRleHQ6KCk9Pm19KTt2YXIgcz1pKDM2MzI2OSksbj1pKDEzODYzOCkscj1pKDcyNzA5KSxvPWkoNjU4OTk1KSxhPWkoMTY3ODk2KSxsPWkoNDkwMzc4KTtsZXQgYz0hMSxoPW51bGwsZD1udWxsO3MubW9iaWxldG91Y2h8fChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLGcsITApLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoZnVuY3Rpb24oZSl7Y29uc3QgdD1lLnRhcmdldDtpZighKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdC5jbG9zZXN0KCdbZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXM9InRydWUiXScpJiZ0Lm1hdGNoZXMoIjpmb2N1cy12aXNpYmxlIikpKXJldHVybjtnKGUsITApfSkse2NhcHR1cmU6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJhY3RpdmUtZGVzY2VuZGFudC1mb2N1cyIsKGZ1bmN0aW9uKGUpe2UudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJmcoZSwhMCl9KSx7Y2FwdHVyZTohMH0pKTtjb25zdCB1PW5ldyBNdXRhdGlvbk9ic2VydmVyKCgoKT0+e2lmKGgmJmgub3B0aW9ucy50YXJnZXQpe2xldCBlO2U9ImlzQ29ubmVjdGVkImluIGgub3B0aW9ucy50YXJnZXQ/aC5vcHRpb25zLnRhcmdldC5pc0Nvbm5lY3RlZDpkb2N1bWVudC5ib2R5LmNvbnRhaW5zKGgub3B0aW9ucy50YXJnZXQpLGV8fGIoKX19KSkscD0oZSx0PXt9KT0+e2NvbnN0e2NvbnRlbnQ6aSwuLi5zfT1QKHQpLG49bC5nZXREYXRhRnJvbVRhcmdldChlKSxyPU9iamVjdC5hc3NpZ24obixzKTtyZXR1cm4ibm9uZSIhPT1pLnR5cGUmJihyLmNvbnRlbnQ9aSksISgibm9uZSI9PT1yLmNvbnRlbnQudHlwZSYmIXIuaG90a2V5KSYmKHIudGFyZ2V0PWUsXyhyKSwhMCl9LF89ZT0+e2NvbnN0IHQ9UChlKSxpPWwuZ2V0VG9vbHRpcCh0KTtpZihoPXtvcHRpb25zOnQsZWxlbWVudDppfSwoMCxhLnNldFRvb2x0aXApKGkpLCgwLG8uY2xlYXJTY2hlZHVsZSkoKSwhYylyZXR1cm4gbC5oaWRlVG9vbHRpcChpKSx2b2lkKDAsby5zY2hlZHVsZVJlbmRlcikoKCgpPT53KGkpKSxmdW5jdGlvbihlKXtyZXR1cm4ibnVtYmVyIiE9dHlwZW9mIGUudG9vbHRpcERlbGF5fHxpc05hTihlLnRvb2x0aXBEZWxheSk/NTAwOmUudG9vbHRpcERlbGF5fSh0KSk7Y29uc3R7dG9vbHRpcERlYm91bmNlOnN9PWU7Im51bWJlciIhPXR5cGVvZiBzfHxpc05hTihzKT93KGkpOigwLG8uc2NoZWR1bGVSZW5kZXIpKCgoKT0+dyhpKSkscyl9LG09ZT0+bC51cGRhdGVUb29sdGlwVGV4dEZyb21UYXJnZXQoZSk7ZnVuY3Rpb24gZyhlLHQpe2lmKCJzb3VyY2VDYXBhYmlsaXRpZXMiaW4gZSYmZS5zb3VyY2VDYXBhYmlsaXRpZXM/LmZpcmVzVG91Y2hFdmVudHMpcmV0dXJuO2NvbnN0IGk9ZnVuY3Rpb24oZSx0LGkpe2NvbnN0IHM9W107Zm9yKDtlJiZlIT09dDspZS5jbGFzc0xpc3QmJmUuY2xhc3NMaXN0LmNvbnRhaW5zKGkpJiZzLnB1c2goZSksCmU9ZS5wYXJlbnRFbGVtZW50fHxDKGUucGFyZW50Tm9kZSk7cmV0dXJuIHN9KGUudGFyZ2V0LGUuY3VycmVudFRhcmdldCwiYXBwbHktY29tbW9uLXRvb2x0aXAiKTtmb3IoY29uc3QgcyBvZiBpKXtpZihlIGluc3RhbmNlb2YgTW91c2VFdmVudClpZigiYnV0dG9ucyJpbiBlKXtpZigxJmUuYnV0dG9ucyljb250aW51ZX1lbHNlIGlmKDE9PT1lLndoaWNoKWNvbnRpbnVlO2NvbnN0IGk9KCk9PnAocyk7aWYoaSgpKXtjb25zdCBlPWU9Pm4obnVsbCwhMCksbj0ocixvPSExKT0+e3MucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY29tbW9uLXRvb2x0aXAtdXBkYXRlIixpKSxzLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLG4pLHMucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixuKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUse2NhcHR1cmU6ITB9KSx0JiYocy5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIixuKSxzLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFjdGl2ZS1kZXNjZW5kYW50LWJsdXIiLG4pKSxkJiYoZC5kZXN0cm95KCksZD1udWxsKSxiKG8pfTtzLmFkZEV2ZW50TGlzdGVuZXIoImNvbW1vbi10b29sdGlwLXVwZGF0ZSIsaSkscy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixuKSxzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsbiksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixlLHtjYXB0dXJlOiEwfSksdCYmKHMuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsbikscy5hZGRFdmVudExpc3RlbmVyKCJhY3RpdmUtZGVzY2VuZGFudC1ibHVyIixuKSksbnVsbD09PWQmJihkPSgwLHIuY3JlYXRlR3JvdXApKHtkZXNjOiJUb29sdGlwIn0pLGQuYWRkKHtkZXNjOiJIaWRlIixob3RrZXk6MjcsaGFuZGxlcjpufSkpO2JyZWFrfX19ZnVuY3Rpb24gZihlKXtzLm1vYmlsZXRvdWNoJiYocChlLmN1cnJlbnRUYXJnZXQse3Rvb2x0aXBEZWxheTowfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixTKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixTKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib3JpZW50YXRpb25jaGFuZ2UiLFMpLHdpbmRvdy5zY3JlZW4ub3JpZW50YXRpb24/LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsUykpfWZ1bmN0aW9uIFMoKXtkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLFMpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLFMpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIsUyksd2luZG93LnNjcmVlbi5vcmllbnRhdGlvbj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixTKSxiKCl9ZnVuY3Rpb24gdigpeygwLGEuZW1wdHkpKCksYz0hMSxoPW51bGx9Y29uc3QgeT0oKT0+e2lmKCgwLG8uY2xlYXJTY2hlZHVsZSkoKSwoMCxuLmVuc3VyZU5vdE51bGwpKHUpLmRpc2Nvbm5lY3QoKSwhaHx8IWMpcmV0dXJuO2NvbnN0e2VsZW1lbnQ6ZX09aDtsLmhpZGVUb29sdGlwKGUpLHYoKX0sYj0oZSx0KT0+e2lmKCgwLG8uY2xlYXJTY2hlZHVsZSkoKSwoMCxuLmVuc3VyZU5vdE51bGwpKHUpLmRpc2Nvbm5lY3QoKSwhaClyZXR1cm47aWYoIWUmJiFjKXJldHVybjtjb25zdHtlbGVtZW50Omksb3B0aW9uczpzfT1oLHI9KCk9PntpLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHIpLGwuaGlkZVRvb2x0aXAoaSksZT92KCk6KDAsby5zY2hlZHVsZVJlbW92ZSkoKCgpPT57digpfSksMjUwKSx0Py4oKX07cy50b29sdGlwSGlkZURlbGF5PygwLG8uc2NoZWR1bGVIaWRlKSgoKCk9PntpLnF1ZXJ5U2VsZWN0b3IoIjpob3ZlciIpP2kuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIscik6cigpfSkscy50b29sdGlwSGlkZURlbGF5KTpyKCl9O2Z1bmN0aW9uIHcoZSl7Y29uc3R7b3B0aW9uczp0fT0oMCxuLmVuc3VyZU5vdE51bGwpKGgpO2lmKGwuc2V0U3R5bGUoZSx0KSxsLnNob3dUb29sdGlwKGUpLCgwLG4uZW5zdXJlTm90TnVsbCkodSkub2JzZXJ2ZShkb2N1bWVudCx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KSxjPSEwLHQuZm9yY2VIaWRlT25Nb3ZlKXtjb25zdCBlPSgpPT57ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGUpLGIoKX07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixlKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGUpfX1mdW5jdGlvbiBDKGUpe3JldHVybiBlJiYoZS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFP2U6bnVsbCl9ZnVuY3Rpb24gUChlKXtpZihmdW5jdGlvbihlKXtyZXR1cm4iY29udGVudCJpbiBlfShlKSlyZXR1cm4gZTtjb25zdHtpbm5lcjp0LGh0bWw6aSx0ZXh0OnMsLi4ubn09ZTtsZXQgcj17dHlwZToibm9uZSJ9O3JldHVybiB0JiYocj17dHlwZToiZWxlbWVudCIsZGF0YTp0fSkscyYmKHI9e3R5cGU6aT8iaHRtbCI6InRleHQiLGRhdGE6c30pLHtjb250ZW50OnIsLi4ubn19fSw0MDE1MjMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q0hBUlRfV0FSTklOSUdfR1JPVVBfSUQ6KCk9Pm8sc2hvd0NoYXJ0V2FybmluZ05vdGlmaWNhdGlvbjooKT0+YX0pO3ZhciBzPWkoNjU3NTczKSxuPWkoNjUyMTE0KSxyPWkoNjEzMDQzKTtjb25zdCBvPSJjaGFydF93YXJuaW5nIjtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIG5ldyBQcm9taXNlKChpPT57bi50b2FzdE1hbmFnZXIuYWRkVG9hc3QoZSxvLHQpLCgwLHIuc2V0VG9hc3RVc2VyQWN0aXZpdHlCYXNlZFJlbW92YWxUaW1lb3V0KShlLDFlNCk7Y29uc3QgYT0oMCxzLnN1YnNjcmliZU9uVG9hc3QpKGUsKGU9PnsiUmVtb3ZlIiE9PWUudHlwZSYmZS5kZXRhaWxzIT09ci5DTE9TRV9EVUVfVE9fSU5BQ1RJVklUWV9FVkVOVF9ERVRBSUxTfHwoaSgpLGEoKSl9KSl9KSl9fSw2NTc1NzMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7c3Vic2NyaWJlT25Ub2FzdDooKT0+c30pCjtjb25zdCBzPWkoNjUyMTE0KS50b2FzdE1hbmFnZXIuc3Vic2NyaWJlT25Ub2FzdH0sNjEzMDQzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NMT1NFX0RVRV9UT19JTkFDVElWSVRZX0VWRU5UX0RFVEFJTFM6KCk9PmEsc2V0VG9hc3RVc2VyQWN0aXZpdHlCYXNlZFJlbW92YWxUaW1lb3V0OigpPT5sfSk7dmFyIHM9aSg2NTIxMTQpLG49aSgyMzIzNjQpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdCBpPW5ldyBTZXQscz1uZXcgbi5XYXRjaGVkVmFsdWUoImhpZGRlbiIhPT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUpLHI9dD8udGltZXJzfHx7c2V0VGltZW91dCxjbGVhclRpbWVvdXR9LG89ci5zZXRUaW1lb3V0LGE9ci5jbGVhclRpbWVvdXQ7bGV0IGw7Y29uc3QgYz10Py5pZ25vcmVWaXNpYmlsaXR5Q2hhbmdlO3Muc3Vic2NyaWJlKChlPT57aS5mb3JFYWNoKCh0PT50KCEhZSkpKX0pLHtjYWxsV2l0aExhc3Q6ITB9KTtjb25zdCBoPSgpPT57cy5zZXRWYWx1ZSghMCksYShsKSxsPW8oKCgpPT57cy5zZXRWYWx1ZSghMSl9KSxlKX0sZD0oKT0+eyJoaWRkZW4iPT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlP3Muc2V0VmFsdWUoITEpOmgoKX07cmV0dXJue3N1YnNjcmliZTp0PT57aS5zaXplPjB8fChhKGwpLGw9bygoKCk9PntzLnNldFZhbHVlKCExKX0pLGUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixoLHtwYXNzaXZlOiEwfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixoLHtwYXNzaXZlOiEwfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsaCx7cGFzc2l2ZTohMH0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGgse3Bhc3NpdmU6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsaCx7cGFzc2l2ZTohMH0pLGN8fGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGQse3Bhc3NpdmU6ITB9KSksaS5hZGQodCl9LHVuc3Vic2NyaWJlOmU9PntpLmRlbGV0ZShlKSwwPT09aS5zaXplJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLGgpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsaCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsaCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsaCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2hlZWwiLGgpLGN8fGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGQpLGEobCkpfSx2YWx1ZTooKT0+ISFzLnZhbHVlKCl9fXZhciBvPWkoMTIxMzEpO2NvbnN0IGE9InVzZXJBY3Rpdml0eVRpbWVvdXQiLGw9ZnVuY3Rpb24oZSx0LGkscyl7Y29uc3Qgbj1yKGkpO3JldHVybiBmdW5jdGlvbihpLHI9MmU0KXtjb25zdHtzdGFydDphLHJlc2V0Omx9PSgwLG8uY3JlYXRlVGltZXIpKCgoKT0+e2UucmVtb3ZlVG9hc3QoaSxzKX0pLHIpLGM9KCk9Pntjb25zdCBlPW4udmFsdWUoKSxpPXQudmFsdWU7ZSYmIWk/YSgpOmwoKX07bi5zdWJzY3JpYmUoYyksYygpO2NvbnN0IGg9dC5zdWJzY3JpYmUoYyksZD1lLnN1YnNjcmliZU9uVG9hc3QoaSwoZT0+eyJSZW1vdmVBbmltYXRpb25TdGFydCI9PT1lLnR5cGUmJihsKCksZCgpLG4udW5zdWJzY3JpYmUoYyksaCgpKX0pKX19KHMudG9hc3RNYW5hZ2VyLHMudG9hc3RVc2VySW50ZXJhY3Rpb25TdGF0dXMsMTVlMyxhKX0sNjUyMTE0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3RvYXN0TWFuYWdlcjooKT0+cix0b2FzdFVzZXJJbnRlcmFjdGlvblN0YXR1czooKT0+b30pO3ZhciBzPWkoMTE1NjQ0KTt2YXIgbj1pKDcxMDExMik7Y29uc3Qgcj1mdW5jdGlvbigpe2NvbnN0IGU9bmV3IFNldCx0PW5ldyBNYXAsaT17Z3JvdXBzOm5ldyBNYXB9O2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1pLmdyb3Vwcy5nZXQoZSk7aWYodClyZXR1cm4gdDtjb25zdCBzPXtpZDplLGxpc3Q6bmV3IE1hcCxhZGRlZDpuZXcgU2V0LHJlbW92ZWQ6bmV3IFNldH07cmV0dXJuIGkuZ3JvdXBzLnNldChlLHMpLHN9ZnVuY3Rpb24gcihlLHMpe3QuZGVsZXRlKGUpLHMuYWRkZWQuZGVsZXRlKGUpLHMucmVtb3ZlZC5kZWxldGUoZSkscy5saXN0LmRlbGV0ZShlKSwwPT09cy5saXN0LnNpemU/aS5ncm91cHMuZGVsZXRlKHMuaWQpOmkuZ3JvdXBzLnNldChzLmlkLHsuLi5zfSksbyh7dHlwZToiUmVtb3ZlIix0b2FzdElkOmUsZ3JvdXBJZDpzLmlkfSl9ZnVuY3Rpb24gbyh0KXtpLmdyb3Vwcz1uZXcgTWFwKGkuZ3JvdXBzKSxlLmZvckVhY2goKGU9PntlKHQpfSkpO2NvbnN0IHM9YS5nZXQodC50b2FzdElkKTtzJiZzLmZvckVhY2goKGU9PntlKHQpfSkpfWNvbnN0IGE9bmV3IE1hcDtyZXR1cm57YWRkVG9hc3Q6ZnVuY3Rpb24oZSxzLHIsYSxsKXtpZih0LmdldChlKSlyZXR1cm47Y29uc3QgYz1uKHMpO2MuYWRkZWQuYWRkKGUpO2NvbnN0IGg9e2lkOmUsLi4ucixtYW51YWxBbmltYXRpb25TdGFydDpsfTtjLmxpc3Quc2V0KGUsaCksdC5zZXQoZSxzKSxpLmdyb3Vwcy5zZXQocyx7Li4uY30pLG8oe3R5cGU6IkFkZCIsdG9hc3RJZDplLGdyb3VwSWQ6cyxkYXRhOnIsZGV0YWlsczphfSl9LHJlbW92ZVRvYXN0OmZ1bmN0aW9uKGUsbil7Y29uc3QgYT10LmdldChlKTtpZighYSlyZXR1cm47Y29uc3QgbD1pLmdyb3Vwcy5nZXQoYSk7bCYmKGwucmVtb3ZlZC5oYXMoZSl8fChsLnJlbW92ZWQuYWRkKGUpLGkuZ3JvdXBzLnNldChhLHsuLi5sfSksbyh7dHlwZToiUmVtb3ZlQW5pbWF0aW9uU3RhcnQiLHRvYXN0SWQ6ZSxncm91cElkOmEsZGV0YWlsczpufSksc2V0VGltZW91dCgoKCk9PntyKGUsbCl9KSxzLlRPQVNUX0FOSU1BVElPTl9EVVJBVElPTikpKX0scmVtb3ZlR3JvdXA6ZnVuY3Rpb24oZSx0KXtjb25zdCBuPWkuZ3JvdXBzLmdldChlKTtpZighbilyZXR1cm47Y29uc3QgYT1bXTtuLmxpc3QuZm9yRWFjaCgoaT0+e2NvbnN0IHM9aS5pZDtuLnJlbW92ZWQuaGFzKHMpfHwoYS5wdXNoKHMpLG4ucmVtb3ZlZC5hZGQocyksbyh7dHlwZToiUmVtb3ZlQW5pbWF0aW9uU3RhcnQiLAp0b2FzdElkOnMsZ3JvdXBJZDplLGRldGFpbHM6dH0pKX0pKSxpLmdyb3Vwcy5zZXQoZSx7Li4ubn0pLHNldFRpbWVvdXQoKCgpPT57YS5mb3JFYWNoKChlPT57cihlLG4pfSkpfSkscy5UT0FTVF9BTklNQVRJT05fRFVSQVRJT04pfSxzdGFydEFkZEFuaW1hdGlvbjpmdW5jdGlvbihlKXtjb25zdCBzPXQuZ2V0KGUpO2lmKCFzKXJldHVybjtjb25zdCBuPWkuZ3JvdXBzLmdldChzKTtuJiZuLmFkZGVkLmRlbGV0ZShlKSYmKGkuZ3JvdXBzLnNldChzLHsuLi5ufSksbyh7dHlwZToiQWRkQW5pbWF0aW9uU3RhcnQiLHRvYXN0SWQ6ZSxncm91cElkOnN9KSl9LHN1YnNjcmliZU9uVG9hc3Q6ZnVuY3Rpb24oZSx0KXtjb25zdCBpPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9YS5nZXQoZSk7aWYodClyZXR1cm4gdDtjb25zdCBpPW5ldyBTZXQ7cmV0dXJuIGEuc2V0KGUsaSksaX0oZSk7cmV0dXJuIGkuYWRkKHQpLCgpPT57aS5kZWxldGUodCksMD09PWkuc2l6ZSYmYS5kZWxldGUoZSl9fSxzdGF0ZTppLHN1YnNjcmliZTpmdW5jdGlvbih0KXtyZXR1cm4gZS5hZGQodCksKCk9PntlLmRlbGV0ZSh0KX19fX0oKSxvPSgwLG4uY3JlYXRlVXNlckludGVyYWN0aW9uU3RhdHVzKSgpfSw3NjAwOTgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7dHJhY2tUaW1pbmc6KCk9Pmh9KTt2YXIgcz1pKDE3OTc3MSksbj1pKDY4MDg0Mikscj1pKDYzMTYzNCksbz1pKDMxODk3NCksYT1pKDQ0OTUwOCk7bGV0IGw9ITE7ZnVuY3Rpb24gYygpe2lmKGx8fCgwLG8uaXNTeW1waG9ueUVtYmVkKSgpfHwoMCxvLmlzRGVza3RvcEFwcCkoKSlyZXR1cm47KDAsci51cGRhdGVJbml0RGF0YSkoKTtjb25zdCBlPSgwLHIuZ2V0SW5pdERhdGEpKCk7aWYoIWUuZ2FJZClyZXR1cm4gdm9pZCh3aW5kb3cuZ3RhZz13aW5kb3cuZ3RhZ3x8KCgpPT57fSkpO2w9ITAsKDAsYS5lbnN1cmVHdGFnQm9vdHN0cmFwKShlLmdhSWQpO2NvbnN0IHQ9e2Fub255bWl6ZV9pcDohMH07d2luZG93LlRWRCYmKHQuYXBwX25hbWU9IlRWRCIsdC5hcHBfdmVyc2lvbj0oMCxvLmRlc2t0b3BBcHBWZXJzaW9uKSgpKSxlLmdhVmFycyYmd2luZG93Lmd0YWcoInNldCIsZS5nYVZhcnMpLHdpbmRvdy5ndGFnKCJjb25zZW50IiwiZGVmYXVsdCIse2FuYWx5dGljc19zdG9yYWdlOigwLG4uZ2V0Q29va2llU2V0dGluZykobi5Db29raWVTZXR0aW5ncy5BbmFseXRpY3MpPyJncmFudGVkIjoiZGVuaWVkIn0pLHdpbmRvdy5ndGFnKCJjb25maWciLGUuZ2FJZCx0KSxzLnN1YnNjcmliZShuLmNvb2tpZVNldHRpbmdzQ2hhbmdlRXZlbnQsKChlLHQpPT57ZT09PW4uQ29va2llU2V0dGluZ3MuQW5hbHl0aWNzJiZ3aW5kb3cuZ3RhZygiY29uc2VudCIsInVwZGF0ZSIse2FuYWx5dGljc19zdG9yYWdlOnQ/ImdyYW50ZWQiOiJkZW5pZWQifSl9KSxudWxsKX1mdW5jdGlvbiBoKGUsdCxpLHMpeygwLG8uaXNTeW1waG9ueUVtYmVkKSgpfHwoMCxvLmlzRGVza3RvcEFwcCkoKXx8KGMoKSxsJiZ3aW5kb3cuZ3RhZygiZXZlbnQiLCJ0aW1pbmdfY29tcGxldGUiLHtuYW1lOnQsdmFsdWU6aSxldmVudF9jYXRlZ29yeTplLGV2ZW50X2xhYmVsOnN9KSl9fSw4NzMzODYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7ZGVza3RvcFZlcnNpb25Jc0xlc3M6KCk9Pm8sbGVzc1RoYW46KCk9PnJ9KTt2YXIgcz1pKDMxODk3NCk7ZnVuY3Rpb24gbihlKXtjb25zdCB0PWUubWF0Y2goL14oXGQrKS4oXGQrKS4oXGQrKS8pO2lmKCF0KXJldHVybiBudWxsO2NvbnN0WyxpLHMsbl09dDtyZXR1cm5bcGFyc2VJbnQoaSkscGFyc2VJbnQocykscGFyc2VJbnQobildfWZ1bmN0aW9uIHIoZSx0KXtjb25zdCBpPW4oZSkscz1uKHQpO2lmKCFpfHwhcylyZXR1cm4hMTtjb25zdFtyLG8sYV09aSxbbCxjLGhdPXM7cmV0dXJuIHIhPT1sP3I8bDpvIT09Yz9vPGM6YSE9PWgmJmE8aH1mdW5jdGlvbiBvKGUpe2NvbnN0IHQ9KDAscy5kZXNrdG9wQXBwVmVyc2lvbikoKTtyZXR1cm4hIXQmJnIodCxlKX19LDQxNTIzNyhlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzLG47aS5yKHQpLGkuZCh0LHtNb250aHM6KCk9Pm4sV2Vla0RheXM6KCk9PnN9KSxmdW5jdGlvbihlKXtlW2UuU1VOREFZPTFdPSJTVU5EQVkiLGVbZS5NT05EQVk9Ml09Ik1PTkRBWSIsZVtlLlRVRVNEQVk9M109IlRVRVNEQVkiLGVbZS5XRURORVNEQVk9NF09IldFRE5FU0RBWSIsZVtlLlRIVVJTREFZPTVdPSJUSFVSU0RBWSIsZVtlLkZSSURBWT02XT0iRlJJREFZIixlW2UuU0FUVVJEQVk9N109IlNBVFVSREFZIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlW2UuSkFOVUFSWT0wXT0iSkFOVUFSWSIsZVtlLkZFQlJVQVJZPTFdPSJGRUJSVUFSWSIsZVtlLk1BUkNIPTJdPSJNQVJDSCIsZVtlLkFQUklMPTNdPSJBUFJJTCIsZVtlLk1BWT00XT0iTUFZIixlW2UuSlVORT01XT0iSlVORSIsZVtlLkpVTFk9Nl09IkpVTFkiLGVbZS5BVUdVU1Q9N109IkFVR1VTVCIsZVtlLlNFUFRFTUJFUj04XT0iU0VQVEVNQkVSIixlW2UuT0NUT0JFUj05XT0iT0NUT0JFUiIsZVtlLk5PVkVNQkVSPTEwXT0iTk9WRU1CRVIiLGVbZS5ERUNFTUJFUj0xMV09IkRFQ0VNQkVSIn0obnx8KG49e30pKX0sMzgwNTQwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5yKHQpLGkuZCh0LHttb250aHNGdWxsTmFtZXM6KCk9PnIsbW9udGhzU2hvcnROYW1lczooKT0+byx3ZWVrRGF5c0Z1bGxOYW1lczooKT0+YSx3ZWVrRGF5c01pbmlOYW1lczooKT0+Yyx3ZWVrRGF5c1Nob3J0TmFtZXM6KCk9Pmx9KTt2YXIgcz1pKDE4NTI3MSksbj1pKDQxNTIzNyk7Y29uc3Qgcj17W24uTW9udGhzLkpBTlVBUlldOnMudChudWxsLHZvaWQgMCxpKDk0NDc4NCkpLFtuLk1vbnRocy5GRUJSVUFSWV06cy50KG51bGwsdm9pZCAwLGkoMzM2MzApKSxbbi5Nb250aHMuTUFSQ0hdOnMudChudWxsLHZvaWQgMCxpKDYzNTY0MykpLFtuLk1vbnRocy5BUFJJTF06cy50KG51bGwsdm9pZCAwLGkoMTU1ODUyKSksW24uTW9udGhzLk1BWV06cy50KG51bGwsdm9pZCAwLGkoODQ5OTczKSksW24uTW9udGhzLkpVTkVdOnMudChudWxsLHZvaWQgMCxpKDQwMjQ4MikpLFtuLk1vbnRocy5KVUxZXTpzLnQobnVsbCx2b2lkIDAsaSg5MjQ2ODkpKSwKW24uTW9udGhzLkFVR1VTVF06cy50KG51bGwsdm9pZCAwLGkoOTU5NzcyKSksW24uTW9udGhzLlNFUFRFTUJFUl06cy50KG51bGwsdm9pZCAwLGkoNDE1MjYxKSksW24uTW9udGhzLk9DVE9CRVJdOnMudChudWxsLHZvaWQgMCxpKDgxNDUwMSkpLFtuLk1vbnRocy5OT1ZFTUJFUl06cy50KG51bGwsdm9pZCAwLGkoOTcxNTYxKSksW24uTW9udGhzLkRFQ0VNQkVSXTpzLnQobnVsbCx2b2lkIDAsaSgzMDk2NjYpKX0sbz17W24uTW9udGhzLkpBTlVBUlldOnMudChudWxsLHZvaWQgMCxpKDY1NzM3NCkpLFtuLk1vbnRocy5GRUJSVUFSWV06cy50KG51bGwsdm9pZCAwLGkoNjE3MzQxKSksW24uTW9udGhzLk1BUkNIXTpzLnQobnVsbCx2b2lkIDAsaSgxMDMzMDUpKSxbbi5Nb250aHMuQVBSSUxdOnMudChudWxsLHZvaWQgMCxpKDUyNjc4NSkpLFtuLk1vbnRocy5NQVldOnMudChudWxsLHtjb250ZXh0OiJzaG9ydCJ9LGkoNzM0NzUwKSksW24uTW9udGhzLkpVTkVdOnMudChudWxsLHZvaWQgMCxpKDg3NzQ1KSksW24uTW9udGhzLkpVTFldOnMudChudWxsLHZvaWQgMCxpKDE4Mzk1OSkpLFtuLk1vbnRocy5BVUdVU1RdOnMudChudWxsLHZvaWQgMCxpKDkzNzYyKSksW24uTW9udGhzLlNFUFRFTUJFUl06cy50KG51bGwsdm9pZCAwLGkoMTc4NDY5KSksW24uTW9udGhzLk9DVE9CRVJdOnMudChudWxsLHZvaWQgMCxpKDcyODMzNykpLFtuLk1vbnRocy5OT1ZFTUJFUl06cy50KG51bGwsdm9pZCAwLGkoNjQ2NTQ1KSksW24uTW9udGhzLkRFQ0VNQkVSXTpzLnQobnVsbCx2b2lkIDAsaSg3NjkwMzYpKX0sYT17W24uV2Vla0RheXMuU1VOREFZXTpzLnQobnVsbCx2b2lkIDAsaSg5MDkzMDQpKSxbbi5XZWVrRGF5cy5NT05EQVldOnMudChudWxsLHZvaWQgMCxpKDg4OTM5NCkpLFtuLldlZWtEYXlzLlRVRVNEQVldOnMudChudWxsLHZvaWQgMCxpKDQ1NjMzNCkpLFtuLldlZWtEYXlzLldFRE5FU0RBWV06cy50KG51bGwsdm9pZCAwLGkoNzcyNzY1KSksW24uV2Vla0RheXMuVEhVUlNEQVldOnMudChudWxsLHZvaWQgMCxpKDgzNDY3MSkpLFtuLldlZWtEYXlzLkZSSURBWV06cy50KG51bGwsdm9pZCAwLGkoMzE4NTI1KSksW24uV2Vla0RheXMuU0FUVVJEQVldOnMudChudWxsLHZvaWQgMCxpKDM4Nzk1KSl9LGw9e1tuLldlZWtEYXlzLlNVTkRBWV06cy50KG51bGwsdm9pZCAwLGkoNTA3NDU4KSksW24uV2Vla0RheXMuTU9OREFZXTpzLnQobnVsbCx2b2lkIDAsaSg5NDc5MzYpKSxbbi5XZWVrRGF5cy5UVUVTREFZXTpzLnQobnVsbCx2b2lkIDAsaSg0NzQ5MykpLFtuLldlZWtEYXlzLldFRE5FU0RBWV06cy50KG51bGwsdm9pZCAwLGkoNDcwNDgwKSksW24uV2Vla0RheXMuVEhVUlNEQVldOnMudChudWxsLHZvaWQgMCxpKDMwMTQ4OSkpLFtuLldlZWtEYXlzLkZSSURBWV06cy50KG51bGwsdm9pZCAwLGkoNDI5OTkxKSksW24uV2Vla0RheXMuU0FUVVJEQVldOnMudChudWxsLHZvaWQgMCxpKDU5MTQxOCkpfSxjPXtbbi5XZWVrRGF5cy5TVU5EQVldOnMudChudWxsLHtjb250ZXh0OiJkYXlfb2Zfd2VlayJ9LGkoNjY5MTk5KSksW24uV2Vla0RheXMuTU9OREFZXTpzLnQobnVsbCx7Y29udGV4dDoiZGF5X29mX3dlZWsifSxpKDM2NTUzNSkpLFtuLldlZWtEYXlzLlRVRVNEQVldOnMudChudWxsLHtjb250ZXh0OiJkYXlfb2Zfd2VlayJ9LGkoOTM5MzI5KSksW24uV2Vla0RheXMuV0VETkVTREFZXTpzLnQobnVsbCx7Y29udGV4dDoiZGF5X29mX3dlZWsifSxpKDQ1MTI3MSkpLFtuLldlZWtEYXlzLlRIVVJTREFZXTpzLnQobnVsbCx7Y29udGV4dDoiZGF5X29mX3dlZWsifSxpKDYyODU4MikpLFtuLldlZWtEYXlzLkZSSURBWV06cy50KG51bGwse2NvbnRleHQ6ImRheV9vZl93ZWVrIn0saSgzOTg0NTkpKSxbbi5XZWVrRGF5cy5TQVRVUkRBWV06cy50KG51bGwse2NvbnRleHQ6ImRheV9vZl93ZWVrIn0saSgyNjA0OTYpKX19LDU4MjQ3NihlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7ZS5jYW5jZWxhYmxlJiZlLnByZXZlbnREZWZhdWx0KCl9ZnVuY3Rpb24gbihlKXtyZXR1cm4gdD0+e3ModCksZSh0KX19aS5kKHQse3ByZXZlbnREZWZhdWx0OigpPT5zLHdyYXBIYW5kbGVyV2l0aFByZXZlbnRFdmVudDooKT0+bn0pfSwxOTcwMzQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7ZmVhdHVyZUNoZWNrOigpPT5yfSk7dmFyIHM9aSg0NzkzNCk7ZnVuY3Rpb24gbihlLHQsaSl7cmV0dXJuIHQudmFsdWV8fCgwLHMuZW5hYmxlZCkoZSxpKX1mdW5jdGlvbiByKGUsdCxpKXtzd2l0Y2goZSl7Y2FzZSJTQ1JFRU5FUl9JTlRFUlZBTFMiOnJldHVybiBmdW5jdGlvbihlLHQpe2NvbnN0IGk9KDAscy5nZXRDb25maWcpKCJTQ1JFRU5FUl9JTlRFUlZBTFMiLHQpO3JldHVybiEoIWl8fCFpLmludGVydmFsKSYmaS5pbnRlcnZhbC5pbmNsdWRlcyhlLmludGVydmFsKX0odCxpKTtjYXNlIlNDUkVFTkVSX0FVVE9fUkVGUkVTSCI6cmV0dXJuIG4oIlNDUkVFTkVSX0FVVE9fUkVGUkVTSCIsdCxpKTtjYXNlIkFMRVJUU19OT19FWFBJUkFUSU9OIjpyZXR1cm4gbigiQUxFUlRTX05PX0VYUElSQVRJT04iLHQsaSk7ZGVmYXVsdDpyZXR1cm4oMCxzLmVuYWJsZWQpKGUsaSl9fX0sNjU1NTg0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3JlbG9naW5PckdvUHJvOigpPT5jLHJ1bk9yR29Qcm86KCk9PmwscnVuT3JHb1Byb1dpdGhvdXRTeW5jOigpPT5hfSk7dmFyIHM9aSgxNTI3MTcpLG49aSgxOTcwMzQpLHI9aSg2MTM4NzApLG89aSg3NzA3NTUpO2Z1bmN0aW9uIGEoZSx0LGkscyxyKXsoMCxuLmZlYXR1cmVDaGVjaykodCxzKT9lKCk6KDAsby5vcGVuUGF5d2FsbCkoey4uLmkscnVuT3JHb3Byb1dpdGhGZWF0dXJlQ2hlY2tPcHRpb25zOntmZWF0dXJlQ2hlY2s6KCk9PigwLG4uZmVhdHVyZUNoZWNrKSh0LHMpLHNpZ25JblN1Y2Nlc3M6ZX19LHIpfWFzeW5jIGZ1bmN0aW9uIGwoZSx0LGksbj17fSxvKXtjb25zdCBsPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkO3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZ3aW5kb3cudXNlci5pc19wcm8mJmF3YWl0KDAscy5zeW5jVXNlckRhdGEpKCJnb3BybyIpLApsPT09d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/YShlLHQsaSxuLG8pOigwLHIuc2hvd1NpZ25Nb2RhbCkoe3NvdXJjZTppLmdvcHJvU291cmNlLGZlYXR1cmU6aS5mZWF0dXJlLHNpZ25pblN1Y2Nlc3M6ZX0pfWFzeW5jIGZ1bmN0aW9uIGMoZSx0KXtjb25zdCBpPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkO3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZ3aW5kb3cudXNlci5pc19wcm8mJmF3YWl0KDAscy5zeW5jVXNlckRhdGEpKCJnb3BybyIpLGk9PT13aW5kb3cuaXNfYXV0aGVudGljYXRlZD8oMCxvLm9wZW5QYXl3YWxsKShlLHQpOigwLHIuc2hvd1NpZ25Nb2RhbCkoe3NvdXJjZTplLmdvcHJvU291cmNlLGZlYXR1cmU6ZS5mZWF0dXJlfSl9fSwxNjE0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2lzVG91Y2hFdmVudDooKT0+bn0pO3ZhciBzPWkoMzYzMjY5KTtmdW5jdGlvbiBuKGUpe2NvbnN0IHQ9ZS5zb3VyY2VDYXBhYmlsaXRpZXM7bGV0IGk9dCYmdC5maXJlc1RvdWNoRXZlbnRzO3JldHVybiB2b2lkIDA9PT1pJiYoaT1zLnRvdWNoKSxpfX0sODYyMjEzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0xvZ29TaXplOigpPT5zLkxvZ29TaXplLGdldExvZ29VcmxSZXNvbHZlcjooKT0+aH0pO3ZhciBzPWkoNjIwMzU0KSxuPWkoMTM4NjM4KSxyPWkoNjMxNjM0KSxvPWkoODEwNDEpO2NvbnN0IGE9KDAsaSgyMjEwNjEpLmdldExvZ2dlcikoIkxvZ29VcmxSZXNvbHZlciIpO2NsYXNzIGx7Y29uc3RydWN0b3IoZSl7KDAsbi5hc3NlcnQpKCIiIT09ZSwiUzMgYmFzZSB1cmwgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmciKSx0aGlzLl9iYXNlVXJsPWV9Z2V0U3ltYm9sTG9nb1VybChlLHQpe2lmKCIiPT09ZSlyZXR1cm4gYS5sb2dXYXJuKCJsb2dvIGlkIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nIiksIiI7c3dpdGNoKHQpe2Nhc2Ugcy5Mb2dvU2l6ZS5NZWRpdW06cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0uc3ZnYDtjYXNlIHMuTG9nb1NpemUuTGFyZ2U6cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0tLWJpZy5zdmdgfX1nZXRDb3VudHJ5RmxhZ1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoImNvdW50cnkvIitlLHQpfWdldFByb3ZpZGVyTG9nb1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoInByb3ZpZGVyLyIrZSx0KX1nZXRTb3VyY2VMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgic291cmNlLyIrZSx0KX1nZXRCbG9ja2NoYWluQ29udHJhY3RMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgiYmxvY2tjaGFpbi8iK2UsdCl9Z2V0Q2FuZGxlc3RpY2tQYXR0ZXJuTG9nb1VybChlLHQ9by5TdGRUaGVtZS5MaWdodCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybChgY2FuZGxlcGF0dGVybi8ke2V9LSR7dH1gLHMuTG9nb1NpemUuTWVkaXVtKX19bGV0IGM7ZnVuY3Rpb24gaCgpe3JldHVybiBmdW5jdGlvbigpe2lmKCFjKXtjb25zdCBlPSgwLHIuZ2V0SW5pdERhdGEpKCksdD1lLnNldHRpbmdzP2Uuc2V0dGluZ3MuUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMOiIiO2M9bmV3IGwodCl9cmV0dXJuIGN9KCl9fSw0OTcwMTgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7bWVkaWFTdGF0ZTooKT0+Y30pO3ZhciBzPWkoNTI3MzIzKSxuPWkubihzKSxyPWkoNzQ5NjQ4KSxvPWkoNzc4NDU4KSxhPWkoMTEyNTQyKTtjbGFzcyBsIGV4dGVuZHMobigpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy53aWR0aD0wLHRoaXMuaGVpZ2h0PTAsdGhpcy5kZXZpY2U9bnVsbCx0aGlzLmJyZWFrcG9pbnRzPW8uYnJlYWtwb2ludHMsdGhpcy5fY2hlY2tEZXZpY2UoKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9jaGVja0RldmljZSksT2JqZWN0LmVudHJpZXMoby5icmVha3BvaW50cykuc29ydCgoKFtlLHRdLFtpLHNdKT0+dC1zKSkuZm9yRWFjaCgoKFtlLHRdLGkscyk9PntsZXQgbjtpZigwIT09aSl7Y29uc3RbLGVdPXNbaS0xXTtuPWUrMX1lbHNlIG49MDtjb25zdCByPSgwLGEubWF0Y2hNZWRpYU1pbk1heCkobix0KTtyLm1hdGNoZXMmJnRoaXMuX3NldE5ld0RldmljZShlKSxyLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKHQ9Pnt0Lm1hdGNoZXMmJih0aGlzLl9jaGVja0RldmljZSgpLHRoaXMuX3NldE5ld0RldmljZShlKSl9KSl9KSksKDAsci53aGVuRG9jdW1lbnRSZWFkeSkodGhpcy5fY2hlY2tEZXZpY2UuYmluZCh0aGlzKSksdGhpcy5pc1Bob25lU2l6ZURldmljZS5iaW5kKHRoaXMpfWlzUGhvbmVTaXplRGV2aWNlKCl7cmV0dXJuInBob25lIj09PXRoaXMuZGV2aWNlfHwicGhvbmUtdmVydGljYWwiPT09dGhpcy5kZXZpY2V9X2NoZWNrRGV2aWNlKCl7dGhpcy53aWR0aD13aW5kb3cuaW5uZXJXaWR0aCx0aGlzLmhlaWdodD13aW5kb3cuaW5uZXJIZWlnaHR9X3NldE5ld0RldmljZShlKXtjb25zdCB0PXRoaXMuZGV2aWNlO3RoaXMuZGV2aWNlPWUsdGhpcy50cmlnZ2VyKCJjaGFuZ2VEZXZpY2UiLFtlLHRdKX19Y29uc3QgYz1uZXcgbH0sMzIyNjAxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2FkZFBlcmZNYXJrOigpPT5jLHBlcmZNZWFzdXJlT3BlcmF0aW9uOigpPT5ofSk7dmFyIHM9aSgxNTAxNTApO2Z1bmN0aW9uIG4oKXt9Y29uc3Qgcj1jb25zb2xlLnRpbWVTdGFtcD9jb25zb2xlLnRpbWVTdGFtcC5iaW5kKGNvbnNvbGUpOm4sbz13aW5kb3cucGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm1hcms/cGVyZm9ybWFuY2UubWFyay5iaW5kKHBlcmZvcm1hbmNlKTpuLGE9d2luZG93LnBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5tZWFzdXJlP3BlcmZvcm1hbmNlLm1lYXN1cmUuYmluZChwZXJmb3JtYW5jZSk6bixsPXdpbmRvdy5wZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UuY2xlYXJNYXJrcz9wZXJmb3JtYW5jZS5jbGVhck1hcmtzLmJpbmQocGVyZm9ybWFuY2UpOm47ZnVuY3Rpb24gYyhlKXtyKGUpLG8oZSl9YXN5bmMgZnVuY3Rpb24gaChlLHQpe2NvbnN0IGk9YG1lYXN1cmUtJHtlfS0keygwLHMucmFuZG9tSGFzaCkoKX1gO28oaSk7dHJ5ewpyZXR1cm4gYXdhaXQgdCgpfWZpbmFsbHl7YShlLGkpLGwoaSl9fX0sODMyODQ1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Jlc291cmNlTWV0cmljc09ic2VydmVyOigpPT5ufSk7Y29uc3Qgcz1uZXcgU2V0KFsiZmV0Y2giLCJ4bWxodHRwcmVxdWVzdCJdKTtjb25zdCBuPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2dyb3Vwcz1uZXcgTWFwLHRoaXMuX29ic2VydmVyU3RhcnRlZD0hMX1yZWdpc3RlcihlLHQpe2Zvcihjb25zdCB0IG9mIHRoaXMuX2dyb3Vwcy52YWx1ZXMoKSlpZih0LnBhdHRlcm5OYW1lPT09ZSl0aHJvdyBuZXcgRXJyb3IoYFBhdHRlcm4gIiR7ZX0iIGlzIGFscmVhZHkgcmVnaXN0ZXJlZGApO3RoaXMuX2dyb3Vwcy5zZXQodCx7cGF0dGVybk5hbWU6ZSxwYXR0ZXJuOnQsdG90YWxEdXJhdGlvbjowLGNvdW50OjAsdG9wRW50cmllczpbXX0pLHRoaXMuX3N0YXJ0T2JzZXJ2ZXIoKX1nZXRTdGF0cygpe2NvbnN0IGU9W107Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZ3JvdXBzLnZhbHVlcygpKXQuY291bnQmJmUucHVzaCh7cGF0dGVybk5hbWU6dC5wYXR0ZXJuTmFtZSxhdmVyYWdlRHVyYXRpb246dC50b3RhbER1cmF0aW9uL3QuY291bnQsY291bnQ6dC5jb3VudCx0b3BFbnRyaWVzOnQudG9wRW50cmllc30pO3JldHVybiBlfV9zdGFydE9ic2VydmVyKCl7aWYoIXRoaXMuX29ic2VydmVyU3RhcnRlZCYmInVuZGVmaW5lZCIhPXR5cGVvZiBQZXJmb3JtYW5jZU9ic2VydmVyKXRyeXtuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigoZT0+e2Zvcihjb25zdCB0IG9mIGUuZ2V0RW50cmllcygpKXRoaXMuX3Byb2Nlc3NFbnRyeSh0KX0pKS5vYnNlcnZlKHt0eXBlOiJyZXNvdXJjZSIsYnVmZmVyZWQ6ITB9KSx0aGlzLl9vYnNlcnZlclN0YXJ0ZWQ9ITB9Y2F0Y2h7fX1fcHJvY2Vzc0VudHJ5KGUpe2lmKCFzLmhhcyhlLmluaXRpYXRvclR5cGUpKXJldHVybjtjb25zdCB0PXt1cmw6ZS5uYW1lLHN0YXJ0VGltZTplLnN0YXJ0VGltZSxkdXJhdGlvbjplLmR1cmF0aW9ufTtmb3IoY29uc3QgaSBvZiB0aGlzLl9ncm91cHMudmFsdWVzKCkpe2lmKCFpLnBhdHRlcm4udGVzdChlLm5hbWUpKWNvbnRpbnVlO2kudG90YWxEdXJhdGlvbis9ZS5kdXJhdGlvbixpLmNvdW50Kys7Y29uc3Qgcz1pLnRvcEVudHJpZXM7cy5sZW5ndGg8NT8ocy5wdXNoKHQpLHMuc29ydCgoKGUsdCk9PnQuZHVyYXRpb24tZS5kdXJhdGlvbikpKTplLmR1cmF0aW9uPnNbcy5sZW5ndGgtMV0uZHVyYXRpb24mJihzW3MubGVuZ3RoLTFdPXQscy5zb3J0KCgoZSx0KT0+dC5kdXJhdGlvbi1lLmR1cmF0aW9uKSkpfX19fSw5NTY2ODcoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztpLmQodCx7VGVsZW1ldHJ5R3JvdXA6KCk9PnN9KSxmdW5jdGlvbihlKXtlLkZhc3Q9ImZhc3QiLGUuTWVkaXVtPSJtZWRpdW0iLGUuU2xvdz0ic2xvdyJ9KHN8fChzPXt9KSl9LDU2MzYyNChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtoYXNNZXRhSW5mbzooKT0+cyxpc0Fic2VudFBhcmFtOigpPT5ufSk7aSg5NTY2ODcpO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiYibWV0YUluZm8iaW4gZX1mdW5jdGlvbiBuKGUpe3JldHVybiBudWxsPT1lfX0sNjk3NzA1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2xvZ1BpbmVNZXRhSW5mb0lzc3VlczooKT0+b30pO3ZhciBzPWkoMjIxMDYxKSxuPWkoMjc1NzQyKTtmdW5jdGlvbiByKGUsdCxpKXsoMCxuLmdldFBlcnNpc3RlbnRMb2dnZXIpKCk/LmFkZFBlcnNpc3RlbnRMb2dFbnRyeShgRGV0ZWN0ZWQgbWV0YSBpbmZvIChpZDogJHtlLmlkfSkgaXNzdWU6ICR7dH0uIFNvdXJjZTogJHtpfWAscy5MT0dMRVZFTC5FUlJPUiwiUGluZU1ldGFJbmZvVmFsaWRhdGlvbiIpfWZ1bmN0aW9uIG8oZSx0KXt0JiZ0LmRlZmF1bHRzJiZ0LmRlZmF1bHRzLmlucHV0cyYmIXQuZGVmYXVsdHMuaW5wdXRzLnRleHQmJnIodCwnbm8gImRlZmF1bHRzLmlucHV0cy50ZXh0IiB2YWx1ZScsZSksdCYmdC5pbnB1dHMmJih0LmlucHV0cy5maW5kKChlPT4idGV4dCI9PT1lLmlkKSl8fHIodCwnbm8gaW5wdXQgd2l0aCBpZCAidGV4dCInLGUpKX19LDYxMjMxKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHMsbjtpLmQodCx7U2V2ZXJpdHk6KCk9PnN9KSxmdW5jdGlvbihlKXtlLkVSUk9SPSJlcnJvciIsZS5XQVJOSU5HPSJ3YXJuaW5nIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLk9wZW5Ob0F1dGg9Im9wZW5fbm9fYXV0aCIsZS5DbG9zZWROb0F1dGg9ImNsb3NlZF9ub19hdXRoIixlLkNsb3NlZE5lZWRzQXV0aD0iY2xvc2VkX25lZWRzX2F1dGgifShufHwobj17fSkpfSw1Nzc5OTYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7RU1QVFlfU09VUkNFX0NPREU6KCk9PmMsUElORV9TQ1JJUFRfTU9ESUZJRURfTE9DSzooKT0+aCxSRV9NRVNTQUdFX0xJTkVfV0lUSF9ESUdJVFM6KCk9PmQsVFZfU0NSSVBUX0RFTEVURUQ6KCk9Pm8sVFZfU0NSSVBUX0xFR0FDWV9QSU5FX1BST0NFU1NFRDooKT0+bCxUVl9TQ1JJUFRfTU9ESUZJQ0FUSU9OX0FDVElWRTooKT0+bixUVl9TQ1JJUFRfTU9ESUZJRUQ6KCk9PnIsVFZfU0NSSVBUX1JFTkFNRUQ6KCk9PmEscGluZVRlbGVtZXRyeUdyb3VwczooKT0+dX0pO3ZhciBzPWkoOTU2Njg3KQo7Y29uc3Qgbj0iVFZTY3JpcHRNb2RpZmljYXRpb25BY3RpdmUiLHI9IlRWU2NyaXB0TW9kaWZpZWQiLG89IlRWU2NyaXB0RGVsZXRlZCIsYT0iVFZTY3JpcHRSZW5hbWVkIixsPSJUVlNjcmlwdExlZ2FjeVBpbmVQcm9jZXNzZWQiLGM9IkNhbm5vdCBzYXZlIGVtcHR5IHNvdXJjZSBjb2RlIixoPSJwaW5lX3NjcmlwdF9tb2RpZmllZF9sb2NrIixkPS9bbHxMXWluZXM/IChcZCopLyx1PW5ldyBNYXAoW1siZGVsZXRlIixzLlRlbGVtZXRyeUdyb3VwLkZhc3RdLFsiZ2V0IixzLlRlbGVtZXRyeUdyb3VwLkZhc3RdLFsiaXNfYXV0aF90b19nZXQiLHMuVGVsZW1ldHJ5R3JvdXAuRmFzdF0sWyJpc19hdXRoX3RvX3dyaXRlIixzLlRlbGVtZXRyeUdyb3VwLkZhc3RdLFsicGFyc2VfdGl0bGUiLHMuVGVsZW1ldHJ5R3JvdXAuRmFzdF0sWyJyZW5hbWUiLHMuVGVsZW1ldHJ5R3JvdXAuRmFzdF0sWyJsaWJfbGlzdCIscy5UZWxlbWV0cnlHcm91cC5GYXN0XSxbInZlcnNpb25zIixzLlRlbGVtZXRyeUdyb3VwLkZhc3RdLFsibmFtZSIscy5UZWxlbWV0cnlHcm91cC5GYXN0XSxbImxpc3QiLHMuVGVsZW1ldHJ5R3JvdXAuTWVkaXVtXSxbImV2YWxfcGluZV9leCIscy5UZWxlbWV0cnlHcm91cC5NZWRpdW1dLFsidHJhbnNsYXRlX2xpZ2h0IixzLlRlbGVtZXRyeUdyb3VwLk1lZGl1bV0sWyJwcm9jZXNzX2xlZ2FjeSIscy5UZWxlbWV0cnlHcm91cC5TbG93XSxbInB1Ymxpc2giLHMuVGVsZW1ldHJ5R3JvdXAuU2xvd10sWyJzYXZlIixzLlRlbGVtZXRyeUdyb3VwLlNsb3ddLFsidHJhbnNsYXRlIixzLlRlbGVtZXRyeUdyb3VwLlNsb3ddLFsidHJhbnNsYXRlX3NvdXJjZSIscy5UZWxlbWV0cnlHcm91cC5TbG93XSxbImdlbl9hbGVydCIscy5UZWxlbWV0cnlHcm91cC5TbG93XSxbImNvbnZlcnQiLHMuVGVsZW1ldHJ5R3JvdXAuU2xvd11dKX0sNjcxMDE5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3BpbmVGYWNhZGVGZXRjaDooKT0+cH0pO3ZhciBzPWkoMjIxMDYxKSxuPWkoMzg0MDE3KSxyPWkoMzcxMDcpLG89aSg1NjM2MjQpLGE9aSgxNTY4NTApLGw9aSg4MzI4NDUpLGM9aSg1Nzc5OTYpO2NvbnN0IGg9KDAscy5nZXRMb2dnZXIpKCJDaGFydC5TdHVkeS5WZXJzaW9uaW5nIik7ZnVuY3Rpb24gZChlLHQpe2NvbnN0IGk9bmV3IFVSTChmdW5jdGlvbihlKXtyZXR1cm4gZS5zcGxpdCgiLyIpLm1hcCgoZT0+ZW5jb2RlVVJJQ29tcG9uZW50KGUpKSkuam9pbigiLyIpfShlKSwoMCxyLmdldFBpbmVGYWNhZGVVcmwpKCkpO2Zvcihjb25zdCBlIGluIHQpe2NvbnN0IHM9dFtlXTsoMCxvLmlzQWJzZW50UGFyYW0pKHMpfHxpLnNlYXJjaFBhcmFtcy5zZXQoZSxTdHJpbmcocykpfXJldHVybiBpLnRvU3RyaW5nKCl9ZnVuY3Rpb24gdShlLHQpe2NvbnN0IGk9e21ldGhvZDplLG1vZGU6ImNvcnMiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn07cmV0dXJuIlBPU1QiPT09ZSYmdCYmKGkuYm9keT1mdW5jdGlvbihlKXtjb25zdCB0PW5ldyBGb3JtRGF0YTtmb3IoY29uc3QgaSBvZiBPYmplY3Qua2V5cyhlKSl0LmFwcGVuZChpLGVbaV0pO3JldHVybiB0fSh0KSksaX1hc3luYyBmdW5jdGlvbiBwKHt1cmxQYXRoOmUsdXJsUGFyYW1zOnQsZGF0YTppLG1ldGhvZDpzPSJHRVQifSl7Y29uc3Qgcj1kKGUsdCksbz11KHMsaSksbD1mdW5jdGlvbihlKXtoLmxvZ05vcm1hbChgUmVxdWVzdGluZyBwaW5lIGZhY2FkZSBzY3JpcHRzLCB1cmw6ICR7ZX1gKTtjb25zdCB0PWUuc3BsaXQoIi8iKVswXSxpPWMucGluZVRlbGVtZXRyeUdyb3Vwcy5nZXQodCkscz1EYXRlLm5vdygpO3JldHVybiB0PT57Y29uc3Qgbj1EYXRlLm5vdygpLXM7aWYoYS50ZWxlbWV0cnkuc2VuZFJlcG9ydCgicGluZSIsYCR7aX1fZ3JvdXBfdGltZV9mcmFtZWAse3ZhbHVlOm59KSx0KXJldHVybiBhLnRlbGVtZXRyeS5zZW5kUmVwb3J0KCJwaW5lIixgJHtpfV9ncm91cF9va2ApLHZvaWQgaC5sb2dOb3JtYWwoYFJlcXVlc3RpbmcgcGluZSBmYWNhZGUgc2NyaXB0cyBmaW5pc2hlZCwgdXJsOiAke2V9YCk7YS50ZWxlbWV0cnkuc2VuZFJlcG9ydCgicGluZSIsYCR7aX1fZ3JvdXBfZXJyb3JgKSxoLmxvZ0Vycm9yKGBSZXF1ZXN0aW5nIHBpbmUgZmFjYWRlIHNjcmlwdHMgZmFpbGVkLCB1cmw6ICR7ZX1gKX19KGUpO3RyeXtjb25zdCBlPWF3YWl0KDAsbi5mZXRjaCkocixvKTtpZighZS5vayl0aHJvdyBmdW5jdGlvbihlKXtyZXR1cm4gZS5zdGF0dXM+PTUwMD8iU2VydmVyIGVycm9yLCB0cnkgYWdhaW4gb3IgY29udGFjdCBzdXBwb3J0LiI6NDEzPT09ZS5zdGF0dXM/IlRoZSBzaXplIG9mIHRoZSBzY3JpcHQgY29tcGlsYXRpb24gcmVxdWVzdCBpcyB0b28gbGFyZ2UuIjo0MjA9PT1lLnN0YXR1cz8iU2NyaXB0IHRpdGxlIGlzIHRvbyBsb25nLiBNYXggYWxsb3dlZCBsZW5ndGggaXMgMTI4IGNoYXJhY3RlcnMuIjo0MDM9PT1lLnN0YXR1cz8iVG8gdXNlIGl0LCBhc2sgdGhlIGF1dGhvciB0byBwdWJsaXNoIHRoZSBzY3JpcHQuIjplLnN0YXR1cz49NDAwPyJSZXF1ZXN0IGVycm9yLCB0cnkgYWdhaW4gb3IgY29udGFjdCBzdXBwb3J0LiI6IlNvbWV0aGluZyB3ZW50IHdyb25nLCB0cnkgYWdhaW4gb3IgY29udGFjdCBzdXBwb3J0LiJ9KGUpO2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7cmV0dXJuIGwoITApLHR9Y2F0Y2goZSl7dGhyb3cgbCghMSksZX19bC5yZXNvdXJjZU1ldHJpY3NPYnNlcnZlci5yZWdpc3RlcigicGluZV9mYWNhZGVfZmV0Y2giLC9waW5lLWZhY2FkZS8pfSwzNzEwNyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHthcHBseUdsb2JhbFNjcmlwdExpc3RlbmVyczooKT0+dixnZXRPbmx5UGluZVN0dWRpZXM6KCk9PnksZ2V0UGluZUZhY2FkZVVybDooKT0+YyxoYW5kbGVSZXN1bHQ6KCk9PmQsaGFuZGxlU2F2ZVJlc3VsdDooKT0+cCxoYW5kbGVUcmFuc2xhdGVSZXN1bHQ6KCk9PnUsaXNQaW5lUmVhc29uRGF0YTooKT0+YixvbkRlbGV0ZVNjcmlwdDooKT0+ZyxvbkxlZ2FjeVNjcmlwdFByb2NlZWQ6KCk9PlMsb25Nb2RpZnlTY3JpcHQ6KCk9Pm0sb25Nb2RpZnlTY3JpcHRBY3RpdmVDaGFuZ2VkOigpPT5fLG9uUmVuYW1lU2NyaXB0OigpPT5mfSkKO3ZhciBzPWkoMTc5NzcxKSxuPWkoMTUyNjk5KSxyPWkoNjMyNDQ0KSxvPWkoNTc3OTk2KSxhPWkoMzA5MzYwKSxsPWkoNTYzNjI0KTtmdW5jdGlvbiBjKCl7Y29uc3QgZT1uZXcgVVJMKHdpbmRvdy5QSU5FX1VSTCxsb2NhdGlvbi5vcmlnaW4pO3JldHVybiBlLnBhdGhuYW1lLmVuZHNXaXRoKCIvIil8fChlLnBhdGhuYW1lKz0iLyIpLGUuaHJlZn1mdW5jdGlvbiBoKGUpe2lmKCJvYmplY3QiPT10eXBlb2YgZS5yZWFzb24pcmV0dXJuIGUucmVhc29uO2lmKGUucmVhc29uMilyZXR1cm57ZXJyb3JzOmUucmVhc29uMi5lcnJvcnM/P1tdLHdhcm5pbmdzOmUucmVhc29uMi53YXJuaW5ncz8/W119O2NvbnN0IHQ9e2Vycm9yczpbXSx3YXJuaW5nczpbXX07aWYoKDAsbC5oYXNNZXRhSW5mbykoZS5yZXN1bHQpKXtjb25zdCBpPWUucmVzdWx0JiZlLnJlc3VsdC5tZXRhSW5mbztpJiZ2b2lkIDAhPT1pLndhcm5pbmdzJiZpLndhcm5pbmdzLmZvckVhY2goKGU9PnQud2FybmluZ3MucHVzaCh7bWVzc2FnZTplfSkpKX1pZihlLnJlYXNvbil7KEFycmF5LmlzQXJyYXkoZS5yZWFzb24pP2UucmVhc29uOmUucmVhc29uLnNwbGl0KCJcbiIpKS5mb3JFYWNoKChlPT57Y29uc3QgaT1lLm1hdGNoKG8uUkVfTUVTU0FHRV9MSU5FX1dJVEhfRElHSVRTKSxzPWkmJmkubGVuZ3RoJiZOdW1iZXIoaVsxXSksbj17bWVzc2FnZTplfTtpZigibnVtYmVyIj09dHlwZW9mIHMpe24uc3RhcnQ9e2xpbmU6cyxjb2x1bW46MH07Y29uc3QgZT1uLm1lc3NhZ2Uuc3BsaXQoIjogIik7ZS5zaGlmdCgpLG4ubWVzc2FnZT1lLmpvaW4oIjogIil9dC5lcnJvcnMucHVzaChuKX0pKX1yZXR1cm4gdH1mdW5jdGlvbiBkKGUpe2lmKGUuc3VjY2VzcylyZXR1cm4gZS5yZXN1bHQ7aWYoZS5lcnJvcil0aHJvdyBlLmVycm9yO3Rocm93IGgoZSl9ZnVuY3Rpb24gdShlKXtpZihlLnN1Y2Nlc3MpcmV0dXJue3N1Y2Nlc3M6ZS5zdWNjZXNzLG1ldGFJbmZvOmUucmVzdWx0Lm1ldGFJbmZvLGNvbXBpbGVFcnJvcnM6aChlKX07dGhyb3cgbmV3IGEuUGluZUNvbXBpbGVGYWlsRXJyb3JJbXBsKGgoZSksZS5yZXN1bHQubWV0YUluZm8pfWZ1bmN0aW9uIHAoZSl7aWYoZS5lcnJvcil0aHJvdyBlLmVycm9yO3JldHVybntzdWNjZXNzOmUuc3VjY2VzcyxtZXRhSW5mbzplLnJlc3VsdC5tZXRhSW5mbyxjb21waWxlRXJyb3JzOmgoZSl9fWZ1bmN0aW9uIF8oZSx0LGkpe2NvbnN0IHI9e3NjcmlwdElkUGFydDplLHNjcmlwdFZlcnNpb25Ub1VwZGF0ZTp0LGFjdGl2ZTppfTtuLlRWWFdpbmRvd0V2ZW50cy5lbWl0KG8uVFZfU0NSSVBUX01PRElGSUNBVElPTl9BQ1RJVkUsSlNPTi5zdHJpbmdpZnkocikpLHMuZW1pdChvLlRWX1NDUklQVF9NT0RJRklDQVRJT05fQUNUSVZFLHIpLHNldFRpbWVvdXQoKGFzeW5jKCk9Pntjb25zdCBlPWF3YWl0KHdpbmRvdy5zY3JpcHRVcGRhdGVyPy4oKSk7ZT8ub25Nb2RpZnlTY3JpcHRBY3RpdmVDaGFuZ2VkKHIpfSkpfWZ1bmN0aW9uIG0oZSx0LGkscil7Y29uc3QgYT17c2NyaXB0TWV0YUluZm86ZSxzY3JpcHRWZXJzaW9uVG9VcGRhdGU6dCxjb21waWxhdGlvbkZhaWxlZDppLGNvbXBpbGVFcnJvcnM6cn07bi5UVlhXaW5kb3dFdmVudHMuZW1pdChvLlRWX1NDUklQVF9NT0RJRklFRCxKU09OLnN0cmluZ2lmeShhKSkscy5lbWl0KG8uVFZfU0NSSVBUX01PRElGSUVELGEpLHdpbmRvdy5zY3JpcHRVcGRhdGVyPy4oKT8udGhlbigoZT0+ZS5vblRWU2NyaXB0TW9kaWZpZWQoey4uLmEsaXNTZWxmQ2FsbDohMH0pKSl9ZnVuY3Rpb24gZyhlKXtjb25zdCB0PXtzY3JpcHRJZFBhcnQ6ZX07bi5UVlhXaW5kb3dFdmVudHMuZW1pdChvLlRWX1NDUklQVF9ERUxFVEVELEpTT04uc3RyaW5naWZ5KHQpKSxzLmVtaXQoby5UVl9TQ1JJUFRfREVMRVRFRCx0KSxzZXRUaW1lb3V0KChhc3luYygpPT57Y29uc3QgZT1hd2FpdCh3aW5kb3cuc2NyaXB0VXBkYXRlcj8uKCkpO2F3YWl0KGU/Lm9uVFZTY3JpcHREZWxldGVkKHsuLi50LGlzU2VsZkNhbGw6ITB9KSl9KSl9ZnVuY3Rpb24gZihlLHQpe2NvbnN0IGk9e3NjcmlwdElkUGFydDplLHNjcmlwdE5hbWU6dH07bi5UVlhXaW5kb3dFdmVudHMuZW1pdChvLlRWX1NDUklQVF9SRU5BTUVELEpTT04uc3RyaW5naWZ5KGkpKSxzLmVtaXQoby5UVl9TQ1JJUFRfUkVOQU1FRCxpKX1mdW5jdGlvbiBTKGUpe2NvbnN0IHQ9e3NjcmlwdE1ldGFJbmZvOmV9O24uVFZYV2luZG93RXZlbnRzLmVtaXQoby5UVl9TQ1JJUFRfTEVHQUNZX1BJTkVfUFJPQ0VTU0VELEpTT04uc3RyaW5naWZ5KHQpKSxzLmVtaXQoby5UVl9TQ1JJUFRfTEVHQUNZX1BJTkVfUFJPQ0VTU0VELHQpLHNldFRpbWVvdXQoKGFzeW5jKCk9Pntjb25zdCBlPWF3YWl0KHdpbmRvdy5zY3JpcHRVcGRhdGVyPy4oKSk7ZT8ub25UVlNjcmlwdExlZ2FjeVBpbmVQcm9jZXNzZWQodCl9KSl9ZnVuY3Rpb24gdihlLHQsaSl7bi5UVlhXaW5kb3dFdmVudHMub24oby5UVl9TQ1JJUFRfTU9ESUZJQ0FUSU9OX0FDVElWRSwoYXN5bmMgZT0+e2NvbnN0IHQ9YXdhaXQod2luZG93LnNjcmlwdFVwZGF0ZXI/LigpKTt0Py5vbk1vZGlmeVNjcmlwdEFjdGl2ZUNoYW5nZWQoSlNPTi5wYXJzZShlKSl9KSksbi5UVlhXaW5kb3dFdmVudHMub24oby5UVl9TQ1JJUFRfTU9ESUZJRUQsKGFzeW5jIGU9PntpLmNsZWFyKCk7Y29uc3QgdD1hd2FpdCh3aW5kb3cuc2NyaXB0VXBkYXRlcj8uKCkpO3Q/Lm9uVFZTY3JpcHRNb2RpZmllZChKU09OLnBhcnNlKGUpKX0pKSxuLlRWWFdpbmRvd0V2ZW50cy5vbihvLlRWX1NDUklQVF9ERUxFVEVELChhc3luYyBzPT57ZS5jbGVhcigpLHQuY2xlYXIoKSxpLmNsZWFyKCk7Y29uc3Qgbj1hd2FpdCh3aW5kb3cuc2NyaXB0VXBkYXRlcj8uKCkpO2F3YWl0KG4/Lm9uVFZTY3JpcHREZWxldGVkKEpTT04ucGFyc2UocykpKX0pKSxuLlRWWFdpbmRvd0V2ZW50cy5vbihvLlRWX1NDUklQVF9SRU5BTUVELChhc3luYyBlPT57aS5jbGVhcigpfSkpLG4uVFZYV2luZG93RXZlbnRzLm9uKG8uVFZfU0NSSVBUX0xFR0FDWV9QSU5FX1BST0NFU1NFRCwoYXN5bmMgZT0+e2kuY2xlYXIoKTtjb25zdCB0PWF3YWl0KHdpbmRvdy5zY3JpcHRVcGRhdGVyPy4oKSkKO3Q/Lm9uVFZTY3JpcHRMZWdhY3lQaW5lUHJvY2Vzc2VkKEpTT04ucGFyc2UoZSkpfSkpfWZ1bmN0aW9uIHkoZSl7cmV0dXJuIGUuZmlsdGVyKChlPT57Y29uc3QgdD0oMCxyLmV4dHJhY3RQaW5lSWQpKGUubWV0YUluZm8oKS5pZCk7cmV0dXJuIHQmJigwLHIuaXNDdXN0b21QaW5lSWQpKHQpfSkpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmKCJlcnJvcnMiaW4gZXx8Indhcm5pbmdzImluIGUpfX0sMzA5MzYwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1BpbmVDb21waWxlRmFpbEVycm9ySW1wbDooKT0+c30pO2NsYXNzIHMgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCJQaW5lIHRyYW5zbGF0aW9uIGZhaWxlZCIpLHRoaXMucmVhc29uPWUsdGhpcy5tZXRhSW5mbz10fX19LDQwNjg5MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtSZXF1ZXN0Q2FjaGU6KCk9Pm4sU2luZ2xlUmVxdWVzdENhY2hlOigpPT5yfSk7dmFyIHM9aSgxNTAxNTApO2NsYXNzIG57Y29uc3RydWN0b3IoKXt0aGlzLl9jYWNoZT1uZXcgTWFwLHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlJiZ3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS5zdWJzY3JpYmUodGhpcyx0aGlzLmNsZWFyKX1nZXQoZSl7cmV0dXJuIHRoaXMuX2NhY2hlLmdldChlKX1zZXQoZSx0KXt0aGlzLl9jYWNoZS5zZXQoZSx0KX1kZWxldGUoZSl7cmV0dXJuIHRoaXMuX2NhY2hlLmRlbGV0ZShlKX1jbGVhcigpe3RoaXMuX2NhY2hlLmNsZWFyKCl9fWNsYXNzIHIgZXh0ZW5kcyBue2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl9rZXk9KDAscy5ndWlkKSgpfXJlc2V0KGUpe3N1cGVyLnNldCh0aGlzLl9rZXksZSl9Z2V0KCl7cmV0dXJuIHN1cGVyLmdldCh0aGlzLl9rZXkpfWNsZWFyKCl7c3VwZXIuY2xlYXIoKX19fSwzNjIyMzkoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBzKCl7aWYoIXdpbmRvdy51c2VyfHx3aW5kb3cudXNlci5kb19ub3RfdHJhY2spcmV0dXJuIG51bGw7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOmV9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoNzA2NDQpLGkuZSg2NjM5OSldKS50aGVuKGkuYmluZChpLDE1ODMzMikpO3JldHVybiBlKCl9aS5kKHQse2dldFRyYWNrZXI6KCk9PnN9KX0sNDU2ODYyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3RyYWNrQ2hhcnREcmF3aW5nQ3JlYXRpb246KCk9Pm59KTt2YXIgcz1pKDM2MjIzOSk7ZnVuY3Rpb24gbihlLHQpeygwLHMuZ2V0VHJhY2tlcikoKS50aGVuKChpPT57aSYmaS50cmFja0NoYXJ0RHJhd2luZ0NyZWF0aW9uKGUsdCl9KSl9fSwzMjMwNzkoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7dHJhY2tEcmF3aW5nVG9vbFNlbGVjdGVkOigpPT5sfSk7dmFyIHM9aSg4NjA0NDIpLG49aSg2NzgyODUpLHI9aSgzNjIyMzkpLG89aSg4NTYxOTYpLGE9aSgzNTUxMjMpO2Z1bmN0aW9uIGwoZSx0KXt2b2lkIDAhPT10JiZmdW5jdGlvbihlKXtyZXR1cm4oMCxzLmlzU3R1ZHlMaW5lVG9vbE5hbWUpKGUpfHwoMCxzLmlzTGluZVRvb2xOYW1lKShlKXx8KDAsbi50b29sSXNDdXJzb3IpKGUpfHwoMCxuLnRvb2xJc0VyYXNlcikoZSl8fCgwLG4udG9vbElzTWVhc3VyZSkoZSl9KGUpJiYoMCxvLnNob3VsZEFmZmVjdFVzZXIpKCJEcmF3aW5nVG9vbFNlbGVjdGVkIixhLnNwYXJzZVVzZXJzVHJhY2tpbmdDb2VmZmljaWVudCkmJigwLHIuZ2V0VHJhY2tlcikoKS50aGVuKChpPT57aSYmKGU9InBlcmZvcm1hbmNlIj09PWU/Im1hZ2ljIjplLGkudHJhY2tEcmF3aW5nVG9vbFNlbGVjdGVkKGUsdCkpfSkpfX0sNTQ0ODg1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3RyYWNrU3R1ZGllczooKT0+b30pO3ZhciBzPWkoMzIyNDE5KSxuPWkoNzkxNDI3KSxyPWkoMzYyMjM5KTtmdW5jdGlvbiBvKGUsdCxpLG8sYSl7Y29uc3QgbD0hZS5pc1BpbmUoKXx8ZS5pc1N0YW5kYXJkUGluZSgpP2UuZGVzY3JpcHRpb24/P2UubmFtZTplLnNjcmlwdElkUGFydCxjPWUucHJvZHVjdElkLGg9bi5TdHVkeU1ldGFJbmZvLmlzU2NyaXB0U3RyYXRlZ3koZSksZD13aW5kb3cudXNlciYmd2luZG93LnVzZXIucHJvX3BsYW58fCIiLHU9dC5zdHVkaWVzV1YoKS52YWx1ZSgpLmxlbmd0aCt0LmFsbExpbmVUb29scygpLmZpbHRlcihzLmlzU3R1ZHlMaW5lVG9vbCkubGVuZ3RoLHA9dC5jaGFydEFwaSgpLmdldFN0dWR5Q291bnRlcigpLF89ZS5pc1BpbmUoKT9lLnNjcmlwdElkUGFydDplLmlkOygwLHIuZ2V0VHJhY2tlcikoKS50aGVuKChlPT57ZSYmZS50cmFja1N0dWRpZXNBbmFseXRpY3MobCxjLGksaCx1LHAsbz8/bnVsbCxfLGQsSlNPTi5zdHJpbmdpZnkoYSkpfSkpfX0sODM2MDgxKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcygpe3JldHVybiB3aW5kb3cuaXNfYXV0aGVudGljYXRlZD93aW5kb3cudXNlci5wcm9fcGxhbnx8ImZyZWUiOiJ2aXNpdG9yIn1mdW5jdGlvbiBuKCl7cmV0dXJuIHdpbmRvdy5sb2NhbGV9ZnVuY3Rpb24gcigpe3JldHVybiB3aW5kb3cudXNlci5pZD93aW5kb3cudXNlci5pZC50b1N0cmluZygpOm51bGx9ZnVuY3Rpb24gbygpe3JldHVybiBCb29sZWFuKHdpbmRvdy51c2VyLmlzX3Bybyl9ZnVuY3Rpb24gYSgpe3JldHVybiBCb29sZWFuKHdpbmRvdy51c2VyLmlzX3RyaWFsKX1pLmQodCx7Z2V0VXNlcklkOigpPT5yLGdldFVzZXJMb2NhbGU6KCk9Pm4sZ2V0VXNlclBsYW46KCk9PnMsZ2V0VXNlclByb1N0YXR1czooKT0+byxnZXRVc2VyVHJpYWxTdGF0dXM6KCk9PmF9KX0sOTY0MDEyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgcz1pKDM4NjkzMSk7Y29uc3Qgbj17ZmlsdGVyTmFtZXNNYXA6e3NjcmlwdF90eXBlOiJJbmRpY2F0b3JzIGFuZCBTdHJhdGVnaWVzIiwic2NyaXB0X3R5cGUtaW5kaWNhdG9ycyI6IkluZGljYXRvcnMiLCJzY3JpcHRfdHlwZS1zdHJhdGVnaWVzIjoiU3RyYXRlZ2llcyIsc3RyZWFtOiJBbGwgTWFya2V0cyIsInN0cmVhbS1zdG9ja3MiOiJTdG9ja3MiLCJzdHJlYW0taW5kaWNlcyI6IkluZGljZXMiLAoic3RyZWFtLWNvbW1vZGl0aWVzIjoiQ29tbW9kaXRpZXMiLCJzdHJlYW0tY3VycmVuY2llcyI6IkN1cnJlbmNpZXMiLCJzdHJlYW0tYml0Y29pbiI6IkJpdGNvaW4iLCJpbnRlcnZhbC1hbGwiOiJBbGwgSW50ZXJ2YWxzIiwiaW50ZXJ2YWwtbSI6IlNob3J0IFRlcm0iLCJpbnRlcnZhbC1oIjoiTWVkaXVtIFRlcm0iLCJpbnRlcnZhbC1kd20iOiJMb25nIFRlcm0iLCJzb3J0LXVubW9kZXJhdGVkIjoiVW5tb2RlcmF0ZWQiLCJzb3J0LXRyZW5kaW5nIjoiVHJlbmRpbmciLCJzb3J0LWRpc2N1c3NlZCI6Ik1vc3QgRGlzY3Vzc2VkIiwic29ydC12aWV3ZWQiOiJNb3N0IFZpZXdlZCIsInNvcnQtYWdyZWVkIjoiTW9zdCBBZ3JlZWQiLCJzb3J0LXN1Z2dlc3RlZCI6IlN1Z2dlc3RlZCIsInNvcnQtcmVjZW50IjoiQWxsIElkZWFzIiwidGltZS1kYXkiOiJUb2RheSIsInRpbWUtd2VlayI6IlRoaXMgV2VlayIsInRpbWUtbW9udGgiOiJUaGlzIE1vbnRoIiwidGltZS1hbGwiOiJBbGwgVGltZSIsImJ5LWV2ZXJ5b25lIjoiRXZlcnlvbmUiLCJieS1mb2xsb3dpbmciOiJGb2xsb3dpbmciLCJieS1tZSI6Ik15IElkZWFzIn0sZ29Qcm9GZWF0dXJlc01hcDp7Y3VzdG9tSW50ZXJ2YWxzOiJBZGQgQ3VzdG9tIEludGVydmFsIixpbnRyYWRheVNwcmVhZDoiSW5yYWRheSBTcHJlYWQiLGthZ2lSZW5rbzoiSmFwYW5lc2UgSW50cmFkYXkgQ2hhcnQiLGFsZXJ0czp7cHJlZml4OiJOZXcgQWxlcnRzIExpbWl0Iix3aWRnZXQ6IldpZGdldCIsY2hhcnQ6IkNoYXJ0IEhlYWRlciJ9LG11bHRpcGxlQ2hhcnRzOiJNdWx0aXBsZSBDaGFydHMgTGF5b3V0IixzYXZlZENoYXJ0c0xpbWl0OiJTYXZlIENoYXJ0IExpbWl0IixzdHVkeUxpbWl0OiJTdHVkaWVzIExpbWl0IixtdWx0aXBsZVdhdGNoTGlzdHM6e3ByZWZpeDoiV2F0Y2hsaXN0cyIsbmV3OiJDcmVhdGUgTmV3IExpc3QiLHJlbmFtZToiUmVuYW1lIExpc3QiLHNhdmVBczoiU2F2ZSBMaXN0IEFzIn0saW1wb3J0V2F0Y2hsaXN0OiJXYXRjaGxpc3RzIEltcG9ydCBXYXRjaGxpc3QiLGV4cG9ydFdhdGNobGlzdDoiV2F0Y2hsaXN0cyBFeHBvcnQgV2F0Y2hsaXN0IixCQVRTRXhjaGFuZ2VQb3B1cDoiQkFUUyBFeGNoYW5nZSBQb3B1cCIsRGF0YVF1YWxpdHlQb3B1cDoiRGF0YSBRdWFsaXR5IFBvcHVwIixGcmVlRGVsYXlQb3B1cDoiRnJlZSBEZWxheSBQb3B1cCIscHJvUlRQcm9kdWN0OiJWb2x1bWUgUHJvZmlsZSIsc3R1ZHlPblN0dWR5OiJVbmxpbWl0ZWQgU3R1ZHkgb24gU3R1ZHkifSx0cmFja0ZlYXR1cmU6e3NhdmVkQ2hhcnRzTGltaXQ6ITAsQkFUU0V4Y2hhbmdlUG9wdXA6ITAsRnJlZURlbGF5UG9wdXA6ITAsRGF0YVF1YWxpdHlQb3B1cDohMCxpbnRyYWRheVNwcmVhZDohMCxzdHVkeU9uU3R1ZHk6ITB9LHRyYWNrR29Qcm86ZnVuY3Rpb24oZSx0LGkpe2kmJiF0JiYodD1pLGk9bnVsbCk7dmFyIHI9bi5nb1Byb0ZlYXR1cmVzTWFwW3RdO2lmKHIpe2lmKGkpe2lmKCJzdHJpbmciPT10eXBlb2YgcilyZXR1cm47cj0iezB9IHsxfSIuZm9ybWF0KHIucHJlZml4LHJbaV0pfSgwLHMudHJhY2tFdmVudCkoZSxyKX19fSxyPW59LDczNjA2MyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHt0cmFja0dvUHJvRmVhdHVyZTooKT0+bn0pO3ZhciBzPWkoOTY0MDEyKTtmdW5jdGlvbiBuKGUsdCl7cy5kZWZhdWx0LnRyYWNrR29Qcm8oIkdvcHJvIEZlYXR1cmVzIixlLHQpfX0sNTUxMTkzKGUsdCxpKXsidXNlIHN0cmljdCI7YXN5bmMgZnVuY3Rpb24gcyhlKXtQcm9taXNlLmFsbChbaS5lKDIxODcwKSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDIzNjI0KSxpLmUoMzI4MTYpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoMTcwODcpLGkuZSg3MjY2NiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoNzQzODEpLGkuZSgxNDYyNSksaS5lKDY1NyksaS5lKDYxODIxKSxpLmUoNjYyNzApLGkuZSg1NTAxMSksaS5lKDcxOTAxKSxpLmUoODA3MzEpLGkuZSg2ODk2NCksaS5lKDI5MTMzKSxpLmUoMTk4MzMpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoNDQ3ODApLGkuZSg4MjIzNyksaS5lKDQ4ODU0KSxpLmUoOTQxODIpLGkuZSgxMTQzNSldKS50aGVuKGkuYmluZChpLDk5NTIxMykpLnRoZW4oKHQ9Pnt0LnJlbmRlck5vdGVzRGlhbG9nKGUpfSkpfWkuZCh0LHtzaG93Tm90ZXNEaWFsb2c6KCk9PnN9KX0sMjM0OTY0KGUsdCxpKXsidXNlIHN0cmljdCI7YXN5bmMgZnVuY3Rpb24gcyhlLHQpe2NvbnN0IHM9YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSgyODgzMSksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0MjMyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDg1NzkpLGkuZSgxNzA4NyksaS5lKDU3MzAwKSxpLmUoMTIwNTEpLGkuZSg4OTU1OCksaS5lKDEwMzY2KSxpLmUoNDA5MTQpLGkuZSg5MDk2MCksaS5lKDg3NzQwKSxpLmUoNzg4OTkpLGkuZSg2NzIxMiksaS5lKDgwOTE1KSxpLmUoMTUzNCksaS5lKDI4MTc2KSxpLmUoMzk2MDkpLGkuZSg1NTIyOSksaS5lKDY1MTAwKSxpLmUoNDI3MDYpXSkudGhlbihpLmJpbmQoaSw1MDYyNzUpKTtyZXR1cm4gcy5zaG93U2ltcGxlRGlhbG9nKGUscy5yZW5hbWVNb2R1bGUsdCl9YXN5bmMgZnVuY3Rpb24gbihlLHQpewpjb25zdCBzPWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMjg4MzEpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDIzMiksaS5lKDE5NTk1KSxpLmUoMTk3ODcpLGkuZSg4NTc5KSxpLmUoMTcwODcpLGkuZSg1NzMwMCksaS5lKDEyMDUxKSxpLmUoODk1NTgpLGkuZSgxMDM2NiksaS5lKDQwOTE0KSxpLmUoOTA5NjApLGkuZSg4Nzc0MCksaS5lKDc4ODk5KSxpLmUoNjcyMTIpLGkuZSg4MDkxNSksaS5lKDE1MzQpLGkuZSgyODE3NiksaS5lKDM5NjA5KSxpLmUoNTUyMjkpLGkuZSg2NTEwMCksaS5lKDQyNzA2KV0pLnRoZW4oaS5iaW5kKGksNTA2Mjc1KSk7cmV0dXJuIHMuc2hvd1NpbXBsZURpYWxvZyhlLHMuY29uZmlybU1vZHVsZSx0KX1hc3luYyBmdW5jdGlvbiByKGUsdCl7Y29uc3Qgcz1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDI4ODMxKSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSgxMjM4NSksaS5lKDgxMDcyKSxpLmUoOTQyMzIpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoODU3OSksaS5lKDE3MDg3KSxpLmUoNTczMDApLGkuZSgxMjA1MSksaS5lKDg5NTU4KSxpLmUoMTAzNjYpLGkuZSg0MDkxNCksaS5lKDkwOTYwKSxpLmUoODc3NDApLGkuZSg3ODg5OSksaS5lKDY3MjEyKSxpLmUoODA5MTUpLGkuZSgxNTM0KSxpLmUoMjgxNzYpLGkuZSgzOTYwOSksaS5lKDU1MjI5KSxpLmUoNjUxMDApLGkuZSg0MjcwNildKS50aGVuKGkuYmluZChpLDUwNjI3NSkpO3JldHVybiBzLnNob3dTaW1wbGVEaWFsb2coZSxzLndhcm5pbmdNb2R1bGUsdCl9aS5yKHQpLGkuZCh0LHtzaG93Q29uZmlybTooKT0+bixzaG93UmVuYW1lOigpPT5zLHNob3dXYXJuaW5nOigpPT5yfSl9LDg0NDM0NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtoaWRlU3RhdGVDaGFuZ2U6KCk9PnJ9KTt2YXIgcyxuPWkoOTQ4MzgwKTshZnVuY3Rpb24oZSl7ZS5EcmF3aW5ncz0iZHJhd2luZ3MiLGUuSW5kaWNhdG9ycz0iaW5kaWNhdG9ycyIsZS5Qb3NpdGlvbnM9InBvc2l0aW9ucyIsZS5BbGw9ImFsbCJ9KHN8fChzPXt9KSk7Y29uc3Qgcj1uZXcgbi5EZWxlZ2F0ZX0sNjE0MzgwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1N5bWJvbFNlYXJjaFVJOigpPT5hfSk7dmFyIHM9aSgxMzg2MzgpLG49aSgzNzI5MSkscj1pKDIyNTI5OCksbz1pKDI3OTQwNSk7Y2xhc3MgYXthc3luYyBzaG93KGUpe2lmKG51bGwhPT1hLl9wcm92aWRlcil7Y29uc3QgdD1hd2FpdCBhLl9wcm92aWRlci5nZXRTeW1ib2woKSxpPSgwLG8uZ2V0U3ltYm9sU2VhcmNoQ29tcGxldGVPdmVycmlkZUZ1bmN0aW9uKSgpLHM9YXdhaXQgaSh0LnN5bWJvbCk7cmV0dXJuIGUuc2V0U3ltYm9sP2Uuc2V0U3ltYm9sKHMsInN5bWJvbCBzZWFyY2ggVUkiKTpyLmxpbmtpbmcuc2V0U3ltYm9sQW5kTG9nSW5pdGlhdG9yKHMuc3ltYm9sLCJzeW1ib2wgc2VhcmNoIFVJIikse3N5bWJvbDpzLnN5bWJvbH19aWYoYS5fY3VycmVudFNob3dpbmdJbnN0YW5jZSl0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKCJTeW1ib2xTZWFyY2hVSSBpcyBhbHJlYWR5IHNob3duIiwiSW52YWxpZFN0YXRlRXJyb3IiKTt0cnl7YS5fY3VycmVudFNob3dpbmdJbnN0YW5jZT10aGlzLGEucHJlbG9hZCgpO2NvbnN0IHQ9YXdhaXQgYS5faW1wbGVtZW50YXRpb247cmV0dXJuKDAscy5hc3NlcnQpKG51bGwhPT10KSxuZXcgUHJvbWlzZSgoaT0+e3Quc2hvd0RlZmF1bHRTZWFyY2hEaWFsb2coey4uLmUsb25TZWFyY2hDb21wbGV0ZTplPT57aSh7c3ltYm9sOmUuc3ltYm9sfSl9fSl9KSl9ZmluYWxseXthLl9jdXJyZW50U2hvd2luZ0luc3RhbmNlPW51bGx9fXN0YXRpYyBzZXRQcm92aWRlcihlKXt0aGlzLl9wcm92aWRlcj1lfXN0YXRpYyBwcmVsb2FkKCl7bnVsbD09PXRoaXMuX3Byb3ZpZGVyJiZudWxsPT09dGhpcy5faW1wbGVtZW50YXRpb24mJih0aGlzLl9pbXBsZW1lbnRhdGlvbj0oMCxuLmxvYWROZXdTeW1ib2xTZWFyY2gpKCkpfX1hLl9jdXJyZW50U2hvd2luZ0luc3RhbmNlPW51bGwsYS5fcHJvdmlkZXI9bnVsbCxhLl9pbXBsZW1lbnRhdGlvbj1udWxsfSw2NTQ2MzYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7cnVuT3JTaWduSW46KCk9Pm8scnVuT3JTaWduSW5XaXRoUHJvbW86KCk9PmF9KTt2YXIgcz1pKDkzMDIzMSksbj1pKDYyMTkyNik7Y29uc3Qgcj0oMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtmdW5jdGlvbiBvKGUsdCl7cj9lKCk6d2luZG93LnJ1bk9yU2lnbkluKGUsdCl9ZnVuY3Rpb24gYShlLHQsaSl7cj9pKCk6KDAsbi5ydW5PclNpZ25pbldpdGhGZWF0dXJlKShpLHsuLi50LGZlYXR1cmU6ZX0pfX0sNjQzOTAzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3NhZmVTaG9ydE5hbWU6KCk9Pm59KTt2YXIgcz1pKDM0NDEwMyk7ZnVuY3Rpb24gbihlKXt0cnl7cmV0dXJuKDAscy5zaG9ydE5hbWUpKGUpfWNhdGNoKHQpe3JldHVybiBlfX19LDg1MjE0OChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRDaGFydFN0b3JhZ2U6KCk9Pmd9KTt2YXIgcz1pKDM4NDAxNyksbj1pKDIxNDk4Nykscj1pKDMyMjYwMSksbz1pKDE1Njg1MCksYT1pKDEwMjY1NiksbD1pKDY4OTAyMSksYz1pKDMzOTUxKTtmdW5jdGlvbiBoKCl7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbH49ImNoYXJ0LXN0b3JhZ2UiXScpLHQ9bmV3IFVSTChlPy5ocmVmfHwiL2NoYXJ0cy1zdG9yYWdlLyIsbG9jYXRpb24uaHJlZik7cmV0dXJuIHQucGF0aG5hbWUuZW5kc1dpdGgoIi8iKXx8KHQucGF0aG5hbWUrPSIvIiksdH1mdW5jdGlvbiBkKGUpe2NvbnN0e2NoYXJ0czp0PXt9LGNvdW50U291cmNlc1RvdGFsOmk9MCxsaW1pdEJ5dGVzVG90YWw6cz0wLHNpemVCeXRlc1RvdGFsOm49MH09ZSxyPW5ldyBNYXA7Zm9yKGNvbnN0W2UsaV1vZiBPYmplY3QuZW50cmllcyh0KSl7Y29uc3R7c3ltYm9sczp0PXt9fT1pLHM9bmV3IE1hcAo7Zm9yKGNvbnN0W2Use2NvdW50U291cmNlczppLHNpemVCeXRlczpuLGlkczpyfV1vZiBPYmplY3QuZW50cmllcyh0KSlzLnNldChlLHtjb3VudFNvdXJjZXM6aSxzaXplQnl0ZXM6bixpZHM6cn0pO3Iuc2V0KGUscyl9cmV0dXJue2NoYXJ0czpyLGNvdW50U291cmNlc1RvdGFsOmksbGltaXRCeXRlc1RvdGFsOnMsc2l6ZUJ5dGVzVG90YWw6bn19Y29uc3QgdT17c291cmNlczpuZXcgTWFwLGdyb3VwczpuZXcgTWFwfTtjbGFzcyBwe2NvbnN0cnVjdG9yKCl7dGhpcy5fbGFzdFNhdmVSZXF1ZXN0PW51bGwsdGhpcy5fbGFzdFNoYXJlZFRvb2xzTG9hZGluZ1JlcXVlc3Q9bnVsbCx0aGlzLl9sYXN0U2l6ZXNSZXF1ZXN0cz1uZXcgTWFwLHRoaXMuX2FjdGl2ZVNpemVzUmVxdWVzdHM9bmV3IE1hcCx0aGlzLl9yZXF1ZXN0c0NvdW50ZXI9MCx0aGlzLl9sYXlvdXRJZD12b2lkIDB9YXN5bmMgc2F2ZUxpbmVUb29sc0FuZEdyb3VwcyhlLHQsaSxzLGQpe2lmKCFwLl9jaGVja0xheW91dElkKGUpKXRocm93IG5ldyBFcnJvcigiVW5uYW1lZCBjaGFydCBjYW5ub3QgYmUgc2F2ZWQiKTt0aGlzLl9jbGVhblN0YXRlSWZMYXlvdXRJZENoYW5nZWQoZSk7Y29uc3QgdT1gJHtlfS4ke3R9LiR7dGhpcy5fcmVxdWVzdHNDb3VudGVyKyt9YCxtPWBDaGFydFN0b3JhZ2UuU2F2ZS5Ub3RhbGx5UHJvY2Vzc2luZy4ke3V9YCxnPSgwLHIucGVyZk1lYXN1cmVPcGVyYXRpb24pKG0sKGFzeW5jKCk9Pnt0cnl7YXdhaXQgdGhpcy5fbGFzdFNhdmVSZXF1ZXN0fWNhdGNoKGUpe31pZihkPy5hYm9ydGVkKXRocm93KDAsbi5jcmVhdGVBYm9ydEVycm9yKSgpO2NvbnN0IHA9YENoYXJ0U3RvcmFnZS5TYXZlLkdldHRpbmdUb2tlbi4ke3V9YCxtPWF3YWl0KDAsci5wZXJmTWVhc3VyZU9wZXJhdGlvbikocCwoKCk9PigwLGMuZ2V0U3RvcmFnZVRhcmdldCkoZSx0LHMsZCkpKSxnPW5ldyBVUkwobS5wYXRoLGgoKSk7bS5jaGFydElkJiZnLnNlYXJjaFBhcmFtcy5hcHBlbmQoImNoYXJ0X2lkIixtLmNoYXJ0SWQpLGcuc2VhcmNoUGFyYW1zLmFwcGVuZCgibGF5b3V0X2lkIixlKSxnLnNlYXJjaFBhcmFtcy5hcHBlbmQoImp3dCIsbS50b2tlbik7Y29uc3QgZj1gQ2hhcnRTdG9yYWdlLlNhdmUuR2V0dGluZ1Jlc3BvbnNlLiR7dX1gO3RyeXtjb25zdCByPWF3YWl0IHRoaXMuX2ZldGNoKGYsZyx7bWV0aG9kOiJQVVQiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIiwiWC1CVUlMRC1USU1FIjp3aW5kb3cuQlVJTERfVElNRX0sY3JlZGVudGlhbHM6ImluY2x1ZGUiLHNpZ25hbDpkLGJvZHk6KDAsbC5zdHJpbmdpZnlMaW5lVG9vbHNBbmRHcm91cHNEVE8pKGkpfSk7aWYoIXIub2spe2NvbnN0IGU9NDI5PT09ci5zdGF0dXM7dGhyb3cgbmV3IGEuU2F2aW5nTGluZVRvb2xzRXJyb3IoZSxgUmVzcG9uc2Ugc3RhdHVzIGlzIG5vdCBzdWNjZXNzOiAke3Iuc3RhdHVzfWApfWNvbnN0IGM9YXdhaXQgXyhyKTtpZihkPy5hYm9ydGVkKXRocm93KDAsbi5jcmVhdGVBYm9ydEVycm9yKSgpO3JldHVybiBvLnRlbGVtZXRyeS5zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydCgibGluZV90b29sc19zYXZlX3N1Y2Nlc3MiKSx7Y29udGVudDpjLHNhdmVkRHRvOmksbGF5b3V0SWQ6ZSxjaGFydElkOnQsc2hhcmluZ01vZGU6cyxzZXJ2ZXJVcGRhdGVUaW1lOjFlMypjLnNlcnZlclVwZGF0ZVRpbWV9fWNhdGNoKGUpe3Rocm93KDAsbi5pc0Fib3J0RXJyb3IpKGUpfHxvLnRlbGVtZXRyeS5zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydCgibGluZV90b29sc19zYXZlX2Vycm9yIiksZX19KSk7cmV0dXJuIHRoaXMuX2xhc3RTYXZlUmVxdWVzdD1nfWFzeW5jIGxvYWRMaW5lVG9vbHNBbmRHcm91cHMoZSx0LGkpe2lmKCFwLl9jaGVja0xheW91dElkKGUpKXJldHVybiB1O3RoaXMuX2NsZWFuU3RhdGVJZkxheW91dElkQ2hhbmdlZChlKTtjb25zdCBzPWAke2V9LiR7dH0uJHtpLnJlcXVlc3RUeXBlfS4ke3RoaXMuX3JlcXVlc3RzQ291bnRlcisrfWAsbj1gQ2hhcnRTdG9yYWdlLkxvYWQuR2V0dGluZ1Rva2VuLiR7c31gLGE9YXdhaXQoMCxyLnBlcmZNZWFzdXJlT3BlcmF0aW9uKShuLCgoKT0+KDAsYy5nZXRTdG9yYWdlVGFyZ2V0KShlLHQsaS5zaGFyaW5nTW9kZSkpKSxkPW5ldyBVUkwoYGdldC8ke2EucGF0aH1gLGgoKSk7c3dpdGNoKGEuY2hhcnRJZCYmZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJjaGFydF9pZCIsYS5jaGFydElkKSxkLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxheW91dF9pZCIsZSksZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJqd3QiLGEudG9rZW4pLGkucmVxdWVzdFR5cGUpe2Nhc2UibWFpblNlcmllc0xpbmVUb29scyI6ZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJzeW1ib2wiLGkuc3ltYm9sKSwwPT09aS5zaGFyaW5nTW9kZSYmZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJpbmNsdWRlT3duZXJTb3VyY2UiLGkuc2VyaWVzU291cmNlSWQpLGQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYnJva2VyTmFtZSIsaS5icm9rZXJOYW1lKTticmVhaztjYXNlInN0dWRpZXNMaW5lVG9vbHMiOmQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiZXhjbHVkZU93bmVyU291cmNlIixpLnNlcmllc1NvdXJjZUlkKTticmVhaztjYXNlImxpbmVUb29sc1dpdGhvdXRTeW1ib2wiOmQuc2VhcmNoUGFyYW1zLmFwcGVuZCgic3ltYm9sIiwiIiksMD09PWkuc2hhcmluZ01vZGUmJmQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiaW5jbHVkZU93bmVyU291cmNlIixpLnNlcmllc1NvdXJjZUlkKX1jb25zdCBfPTAhPT1pLnNoYXJpbmdNb2RlJiYhZC5zZWFyY2hQYXJhbXMuZ2V0KCJzeW1ib2wiKSxtPWFzeW5jKCk9PntpZihfKXRyeXthd2FpdCB0aGlzLl9sYXN0U2hhcmVkVG9vbHNMb2FkaW5nUmVxdWVzdH1jYXRjaChlKXt9cmV0dXJuIHRoaXMuX2ZldGNoRGF0YShgQ2hhcnRTdG9yYWdlLkxvYWQuR2V0dGluZ1Jlc3BvbnNlLiR7c31gLGQse2NyZWRlbnRpYWxzOiJpbmNsdWRlIn0pfTt0cnl7Y29uc3RbZSx0XT1hd2FpdChfP3RoaXMuX2xhc3RTaGFyZWRUb29sc0xvYWRpbmdSZXF1ZXN0PW0oKTptKCkpCjtyZXR1cm4gby50ZWxlbWV0cnkuc2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoImxpbmVfdG9vbHNfbG9hZF9zdWNjZXNzIiksKDAsbC5wYXJzZUxpbmVUb29sc0FuZEdyb3Vwc0RUTykoZXx8e30sdCl9Y2F0Y2goZSl7dGhyb3cgby50ZWxlbWV0cnkuc2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoImxpbmVfdG9vbHNfbG9hZF9lcnJvciIpLGV9fWFzeW5jIHJlbW92ZUxpbmVUb29scyhlLHQsaSxzKXtpZighcC5fY2hlY2tMYXlvdXRJZChlKSlyZXR1cm4hMTt0aGlzLl9jbGVhblN0YXRlSWZMYXlvdXRJZENoYW5nZWQoZSk7Y29uc3Qgbj1gJHtlfS4ke3R9LiR7dGhpcy5fcmVxdWVzdHNDb3VudGVyKyt9YCxhPWBDaGFydFN0b3JhZ2UuUmVtb3ZlLkdldHRpbmdUb2tlbi4ke259YCxsPWF3YWl0KDAsci5wZXJmTWVhc3VyZU9wZXJhdGlvbikoYSwoKCk9PigwLGMuZ2V0U3RvcmFnZVRhcmdldCkoZSx0LGkpKSksZD1uZXcgVVJMKGwucGF0aCxoKCkpO2wuY2hhcnRJZCYmZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJjaGFydF9pZCIsbC5jaGFydElkKSxkLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxheW91dF9pZCIsZSksZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJzeW1ib2wiLHMpLGQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiand0IixsLnRva2VuKTt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuX2ZldGNoRGF0YShgQ2hhcnRTdG9yYWdlLlJlbW92ZS5HZXR0aW5nUmVzcG9uc2UuJHtufWAsZCx7bWV0aG9kOiJERUxFVEUiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pLG8udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3JlbW92ZV9ieV9zeW1ib2xfc3VjY2VzcyIpLCEwfWNhdGNoKGUpe3Rocm93IG8udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3JlbW92ZV9ieV9zeW1ib2xfZXJyb3IiKSxlfX1hc3luYyBnZXRMYXlvdXREcmF3aW5nc1NpemVJbmZvKGUsdCl7cmV0dXJuIHAuX2NoZWNrTGF5b3V0SWQoZSk/KHRoaXMuX2NsZWFuU3RhdGVJZkxheW91dElkQ2hhbmdlZChlKSx0aGlzLl9lbnF1ZXVlU2l6ZXNSZXF1ZXN0KCJsYXlvdXQiLGBsYXlvdXQuJHtlfS4ke3R9YCwoYXN5bmMoKT0+e2NvbnN0IGk9YCR7ZX0uJHt0fS4ke3RoaXMuX3JlcXVlc3RzQ291bnRlcisrfWAscz1gQ2hhcnRTdG9yYWdlLkdldFNpemVzLkdldHRpbmdUb2tlbi4ke2l9YCxuPWF3YWl0KDAsci5wZXJmTWVhc3VyZU9wZXJhdGlvbikocywoKCk9PigwLGMuZ2V0U3RvcmFnZVRhcmdldCkoZSx0LDApKSksYT1uZXcgVVJMKGBsYXlvdXQvJHtlfS9zaXplc2AsaCgpKTthLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxheW91dF9pZCIsZSksYS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJqd3QiLG4udG9rZW4pO3RyeXtjb25zdFtlXT1hd2FpdCB0aGlzLl9mZXRjaERhdGEoYENoYXJ0U3RvcmFnZS5HZXRTaXplcy5HZXR0aW5nUmVzcG9uc2UuJHtpfWAsYSx7Y3JlZGVudGlhbHM6ImluY2x1ZGUifSk7cmV0dXJuIG8udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3NpemVfaW5mb19zdWNjZXNzIiksZChlfHx7fSl9Y2F0Y2goZSl7dGhyb3cgby50ZWxlbWV0cnkuc2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoImxpbmVfdG9vbHNfc2l6ZV9pbmZvX2Vycm9yIiksZX19KSkpOntjaGFydHM6bmV3IE1hcCxjb3VudFNvdXJjZXNUb3RhbDowLGxpbWl0Qnl0ZXNUb3RhbDowLHNpemVCeXRlc1RvdGFsOjB9fWFzeW5jIGdldFVzZXJHbG9iYWxEcmF3aW5nc1NpemVJbmZvKGUpe3JldHVybiBwLl9jaGVja0xheW91dElkKGUpPyh0aGlzLl9jbGVhblN0YXRlSWZMYXlvdXRJZENoYW5nZWQoZSksdGhpcy5fZW5xdWV1ZVNpemVzUmVxdWVzdCgidXNlciIsYHVzZXIuJHtlfWAsKGFzeW5jKCk9Pntjb25zdCB0PXRoaXMuX3JlcXVlc3RzQ291bnRlcisrLGk9YXdhaXQoMCxyLnBlcmZNZWFzdXJlT3BlcmF0aW9uKShgQ2hhcnRTdG9yYWdlLkdldEdsb2JhbFNpemVzLkdldHRpbmdUb2tlbi4ke3R9YCwoKCk9PigwLGMuZ2V0U3RvcmFnZVRhcmdldCkoZSwiIiwyKSkpLHM9bmV3IFVSTCgidXNlci9zaXplcyIsaCgpKTtzLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxheW91dF9pZCIsZSkscy5zZWFyY2hQYXJhbXMuYXBwZW5kKCJqd3QiLGkudG9rZW4pO3RyeXtjb25zdFtlXT1hd2FpdCB0aGlzLl9mZXRjaERhdGEoYENoYXJ0U3RvcmFnZS5HZXRHbG9iYWxTaXplcy5HZXR0aW5nUmVzcG9uc2UuJHt0fWAscyx7Y3JlZGVudGlhbHM6ImluY2x1ZGUifSk7cmV0dXJuIG8udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJnbG9iYWxfbGluZV90b29sc19zaXplX2luZm9fc3VjY2VzcyIpLGQoZXx8e30pfWNhdGNoKGUpe3Rocm93IG8udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJnbG9iYWxfbGluZV90b29sc19zaXplX2luZm9fZXJyb3IiKSxlfX0pKSk6e2NoYXJ0czpuZXcgTWFwLGNvdW50U291cmNlc1RvdGFsOjAsbGltaXRCeXRlc1RvdGFsOjAsc2l6ZUJ5dGVzVG90YWw6MH19YXN5bmMgX2ZldGNoRGF0YShlLHQsaSl7Y29uc3Qgcz1hd2FpdCB0aGlzLl9mZXRjaChlLHQsaSk7aWYoIXMub2spdGhyb3cgbmV3IEVycm9yKCJSZXNwb25zZSBzdGF0dXMgaXMgbm90IHN1Y2Nlc3MiKTtyZXR1cm5bYXdhaXQgXyhzKSxzLmhlYWRlcnMuZ2V0KCJYLVJlcXVlc3QtSWQiKV19X2ZldGNoKGUsdCxpKXtyZXR1cm4oMCxyLnBlcmZNZWFzdXJlT3BlcmF0aW9uKShlLCgoKT0+KDAscy5mZXRjaCkodC50b1N0cmluZygpLGkpKSl9X2VucXVldWVTaXplc1JlcXVlc3QoZSx0LGkpe2NvbnN0IHM9dGhpcy5fYWN0aXZlU2l6ZXNSZXF1ZXN0cy5nZXQodCk7aWYodm9pZCAwIT09cylyZXR1cm4gcztjb25zdCBuPXRoaXMuX2xhc3RTaXplc1JlcXVlc3RzLmdldChlKSxyPShhc3luYygpPT57dHJ5e2F3YWl0IG59Y2F0Y2goZSl7fXJldHVybiBpKCl9KSgpO3RoaXMuX2xhc3RTaXplc1JlcXVlc3RzLnNldChlLHIpLHRoaXMuX2FjdGl2ZVNpemVzUmVxdWVzdHMuc2V0KHQscik7Y29uc3Qgbz0oKT0+ewp0aGlzLl9hY3RpdmVTaXplc1JlcXVlc3RzLmdldCh0KT09PXImJnRoaXMuX2FjdGl2ZVNpemVzUmVxdWVzdHMuZGVsZXRlKHQpfTtyZXR1cm4gci50aGVuKG8sbykscn1fY2xlYW5TdGF0ZUlmTGF5b3V0SWRDaGFuZ2VkKGUpe3RoaXMuX2xheW91dElkIT09ZSYmKHRoaXMuX2xheW91dElkPWUsdGhpcy5fbGFzdFNhdmVSZXF1ZXN0PW51bGwsdGhpcy5fbGFzdFNoYXJlZFRvb2xzTG9hZGluZ1JlcXVlc3Q9bnVsbCx0aGlzLl9sYXN0U2l6ZXNSZXF1ZXN0cy5jbGVhcigpLHRoaXMuX2FjdGl2ZVNpemVzUmVxdWVzdHMuY2xlYXIoKSl9c3RhdGljIF9jaGVja0xheW91dElkKGUpe3JldHVybiB2b2lkIDAhPT1lJiZlLmxlbmd0aD4wfX1hc3luYyBmdW5jdGlvbiBfKGUpe2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7aWYobnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKCJCb2R5IGlzIG51bGwiKTtpZighdC5zdWNjZXNzKXRocm93IG5ldyBFcnJvcigiUmVzcG9uc2UgaXMgbm90IHN1Y2Nlc3MiKTtyZXR1cm4gdC5wYXlsb2FkfWxldCBtPW51bGw7YXN5bmMgZnVuY3Rpb24gZygpe3JldHVybiBudWxsPT09bSYmKG09bmV3IHApLG19fSw2ODkwMjEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUpe2NvbnN0IHQ9e307cmV0dXJuIGUuc291cmNlcyYmKHQuc291cmNlcz17fSxlLnNvdXJjZXMuZm9yRWFjaCgoKGUsaSk9Pnt0LnNvdXJjZXNbaV09ZX0pKSksdC5kcmF3aW5nX2dyb3Vwcz17fSxlLmdyb3Vwcy5mb3JFYWNoKCgoZSxpKT0+e3QuZHJhd2luZ19ncm91cHNbaV09ZX0pKSx0LmNsaWVudElkPWUuY2xpZW50SWQsSlNPTi5zdHJpbmdpZnkodCl9ZnVuY3Rpb24gbihlLHQpe2NvbnN0IGk9e3NvdXJjZXM6bnVsbCxncm91cHM6bmV3IE1hcH07aWYobnVsbCE9PWUuc291cmNlcyl7aS5zb3VyY2VzPW5ldyBNYXA7Zm9yKGNvbnN0IHQgaW4gZS5zb3VyY2VzfHx7fSl7Y29uc3Qgcz1lLnNvdXJjZXNbdF07aS5zb3VyY2VzLnNldCh0LHMpfX1mb3IoY29uc3QgdCBpbiBlLmRyYXdpbmdfZ3JvdXBzfHx7fSl7Y29uc3Qgcz1lLmRyYXdpbmdfZ3JvdXBzW3RdO2kuZ3JvdXBzLnNldCh0LHMpfXJldHVybiBudWxsIT09dCYmKGkuc2VydmVyUmVxdWVzdElkPXQpLGkuY2xpZW50SWQ9ZS5jbGllbnRJZCxpLnN5bWJvbD1lLnN5bWJvbCxpfWkuZCh0LHtwYXJzZUxpbmVUb29sc0FuZEdyb3Vwc0RUTzooKT0+bixzdHJpbmdpZnlMaW5lVG9vbHNBbmRHcm91cHNEVE86KCk9PnN9KX0sMTAyNjU2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1NhdmluZ0xpbmVUb29sc0Vycm9yOigpPT5zfSk7Y2xhc3MgcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIodCksdGhpcy5zaG91bGRCZUNvb2xlZD1lfX1FcnJvcn0sMzM5NTEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0U3RvcmFnZVRhcmdldDooKT0+bCxnbG9iYWxseVNoYXJlZENoYXJ0SWQ6KCk9PmEsc2hhcmVkQ2hhcnRJZDooKT0+b30pO3ZhciBzPWkoMzg0MDE3KSxuPWkoMTU2ODUwKSxyPWkoMjE0OTg3KTtjb25zdCBvPSJfc2hhcmVkIixhPSJVc2VyU3luYyI7YXN5bmMgZnVuY3Rpb24gbChlLHQsaSxhKXt0cnl7Y29uc3QgbD1uZXcgVVJMKCIvY2hhcnQtdG9rZW4vIixsb2NhdGlvbi5ocmVmKTtsLnNlYXJjaFBhcmFtcy5hcHBlbmQoImltYWdlX3VybCIsZSksbC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJ1c2VyX2lkIixTdHJpbmcod2luZG93LnVzZXIuaWR8fC0xKSk7Y29uc3QgYz1hd2FpdCgwLHMuZmV0Y2gpKGwudG9TdHJpbmcoKSx7c2lnbmFsOmF9KTtpZighYy5vayl0aHJvdyBuZXcgRXJyb3IoYEh0dHAgcmVzcG9uc2UgaXMgbm90IG9rOiAke2Muc3RhdHVzfX1gKTtjb25zdCBoPWF3YWl0IGMuanNvbigpO2lmKG4udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3Rva2VuX3JlcXVlc3Rfc3VjY2VzcyIpLGE/LmFib3J0ZWQpdGhyb3coMCxyLmNyZWF0ZUFib3J0RXJyb3IpKCk7Y29uc3QgZD0yPT09aT92b2lkIDA6MT09PWk/bzp0O3JldHVybnt0b2tlbjpoLnRva2VuLGNoYXJ0SWQ6ZCxwYXRoOjI9PT1pPyJ1c2VyL3NvdXJjZXMiOmBsYXlvdXQvJHtlfS9zb3VyY2VzYH19Y2F0Y2goZSl7dGhyb3coMCxyLmlzQWJvcnRFcnJvcikoZSl8fG4udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3Rva2VuX3JlcXVlc3RfZXJyb3IiKSxlfX19LDMwNzYxMChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtMaW5lVG9vbHNTeW5jaHJvbml6ZXI6KCk9PlIsbGluZVRvb2xEVE86KCk9Pkl9KTt2YXIgcz1pKDU0Nzg1MSksbj1pKDQ3NjY0KSxyPWkoMTM4NjM4KSxvPWkoMjIxMDYxKSxhPWkoMTc5NzcxKSxsPWkoMzIyNjAxKSxjPWkoMzY4MTEwKSxoPWkoMTAyNjU2KSxkPWkoMzE4OTc0KSx1PWkoODUyMTQ4KSxwPWkoNjAxODQxKSxfPWkoNzY4NzYwKTtjb25zdCBtPSgwLG8uZ2V0TG9nZ2VyKSgiQ2hhcnQuTGlua0tleVJlc29sdmVyIik7Y2xhc3MgZ3tjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5fcGVuZGluZ1JlcXVlc3RzPW5ldyBNYXAsdGhpcy5fc3RhcnRSZXF1ZXN0aW5nRGVib3VuY2VkPSgwLHMuZGVmYXVsdCkoKCgpPT50aGlzLl9zdGFydE5leHRSZXF1ZXN0KCkpLDUwMCksdGhpcy5fbGF5b3V0SWQ9ZSx0aGlzLl9jaGFydElkPXQsdGhpcy5fb3duZXJTb3VyY2VJZD1pfXJlc29sdmVMaW5rS2V5KGUsdCxpKXtjb25zdCBzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KFtlLHRdKX0oZSxpKSxuPXRoaXMuX3BlbmRpbmdSZXF1ZXN0cy5nZXQocyk/P25ldyBNYXA7aWYobi5oYXModCkpcmV0dXJuIG4uZ2V0KHQpLnByb21pc2U7Y29uc3Qgcj0oMCxfLmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKTtyZXR1cm4gbi5zZXQodCxyKSx0aGlzLl9wZW5kaW5nUmVxdWVzdHMuc2V0KHMsbiksdGhpcy5fc3RhcnRSZXF1ZXN0aW5nRGVib3VuY2VkKCksci5wcm9taXNlfWFzeW5jIF9zdGFydE5leHRSZXF1ZXN0KCl7aWYoMD09PXRoaXMuX3BlbmRpbmdSZXF1ZXN0cy5zaXplKXJldHVybjtjb25zdCBlPWF3YWl0KDAsCnUuZ2V0Q2hhcnRTdG9yYWdlKSgpLHQ9dGhpcy5fcGVuZGluZ1JlcXVlc3RzLmVudHJpZXMoKS5uZXh0KCkudmFsdWUse3N5bWJvbDppLGJyb2tlck5hbWU6c309ZnVuY3Rpb24oZSl7Y29uc3QgdD1KU09OLnBhcnNlKGUpO3JldHVybntzeW1ib2w6dFswXSxicm9rZXJOYW1lOnRbMV19fSh0WzBdKSxuPXRbMV0scj17cmVxdWVzdFR5cGU6Im1haW5TZXJpZXNMaW5lVG9vbHMiLHNlcmllc1NvdXJjZUlkOnRoaXMuX293bmVyU291cmNlSWQsc3ltYm9sOmksYnJva2VyTmFtZTpzLHNoYXJpbmdNb2RlOjB9O3RyeXtjb25zdCB0PWF3YWl0IGUubG9hZExpbmVUb29sc0FuZEdyb3Vwcyh0aGlzLl9sYXlvdXRJZCx0aGlzLl9jaGFydElkLHIsaSk7bnVsbCE9PXQmJm51bGwhPT10LnNvdXJjZXMmJih0LnNvdXJjZXMuZm9yRWFjaCgoKGUsdCk9PntpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgaT1lLnN0YXRlLmxpbmtLZXk7aWYoIWkpcmV0dXJuO2NvbnN0IHM9bi5nZXQoaSk7cz8ucmVzb2x2ZShlLmlkKSxuLmRlbGV0ZShpKX0pKSx0LnNlcnZlclJlcXVlc3RJZCYmY29uc29sZS5sb2coYFBST0NFU1NFRDoke3Quc2VydmVyUmVxdWVzdElkfWApKX1jYXRjaChlKXttLmxvZ0Vycm9yKGBFcnJvciByZXF1ZXN0aW5nIGxpbmUgdG9vbHM6ICR7ZX1gKX1uLmZvckVhY2goKGU9PntlLnJlc29sdmUobnVsbCl9KSksdGhpcy5fcGVuZGluZ1JlcXVlc3RzLmRlbGV0ZSh0WzBdKSxhd2FpdCB0aGlzLl9zdGFydE5leHRSZXF1ZXN0KCl9fXZhciBmPWkoNDY3NTM5KSxTPWkoMjU0ODM1KSx2PWkoNjkyNjQpLHk9aSgyMTQ5ODcpLGI9aSg4NjA0NDIpLHc9aSg2MDU4NzcpLEM9aSgzMDUyNzcpO2NvbnN0IFA9WzAsMSwyXSxUPSgwLG8uZ2V0TG9nZ2VyKSgiTGluZVRvb2xzU3luY2hyb25pemVyIik7ZnVuY3Rpb24geChlKXtyZXR1cm57bGluZXM6ZS5zb3VyY2VzQnlHcm91cCgpLmxpbmVTb3VyY2VzRm9yQWxsU3ltYm9scygpLm1hcCgoZT0+KHtpZDplLmlkKCksek9yZGVyOmUuem9yZGVyKCl9KSkpfX1mdW5jdGlvbiBNKGUpe3JldHVybntpZDplLmlkLHRvb2xzOmUubGluZVRvb2xzKCkubWFwKChlPT5lLmlkKCkpKX19ZnVuY3Rpb24gSShlLHQpe2NvbnN0IGk9dC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChlKSxzPXtpZDplLmlkKCksb3duZXJTb3VyY2U6KDAsci5lbnN1cmVOb3ROdWxsKShlLm93bmVyU291cmNlKCkpLmlkKCksc3RhdGU6ZS5zdGF0ZSghMSl9O3JldHVybiBlLmJvdW5kVG9TeW1ib2woKSYmKHMuc3ltYm9sPWUuc3ltYm9sKCkpLHMuc2VydmVyVXBkYXRlVGltZT1lLnNlcnZlclVwZGF0ZVRpbWUoKT8/dm9pZCAwLHMuY3VycmVuY3lJZD1lLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5jdXJyZW5jeUlkLnZhbHVlKCkscy51bml0SWQ9ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudW5pdElkLnZhbHVlKCksbnVsbCE9PWkmJihzLmdyb3VwSWQ9aS5pZCksc31mdW5jdGlvbiBMKGUsdCl7cmV0dXJue2lkOmUuaWQsbmFtZTplLm5hbWUoKS52YWx1ZSgpLHN5bWJvbDplLnN5bWJvbCgpLGN1cnJlbmN5SWQ6ZS5jdXJyZW5jeUlkKCksdW5pdElkOmUudW5pdElkKCl9fWZ1bmN0aW9uIEEoZSx0LGkpe2xldCBzPSExO2NvbnN0IG49bmV3IE1hcCxyPW5ldyBTZXQoaT8ua2V5cygpKTtyZXR1cm4gZS5mb3JFYWNoKCgoZSxvKT0+e2NvbnN0IGE9IWl8fGkuaGFzKG8pO2UudGltZXN0YW1wPnR8fCFhPyhuLnNldChvLGUpLHIuZGVsZXRlKG8pKTpzfHw9ISFlLnNhdmVkVG9DaGFydENvbnRlbnR9KSkse3N0aWxsSW52YWxpZGF0ZWQ6bix2YWxpZGF0ZWQ6QXJyYXkuZnJvbShyKSxjb250YWluUmVzYXZlZEZyb21Db250ZW50OnN9fXZhciBrO2Z1bmN0aW9uIEQoZSl7cmV0dXJuKDAsYy5pc0xpbmVUb29sKShlKXx8KDAsUy5pc1N0dWR5TGluZVRvb2xTdHViKShlKX0hZnVuY3Rpb24oZSl7ZVtlLkF1dG9zYXZlRGVib3VuY2U9NTAwXT0iQXV0b3NhdmVEZWJvdW5jZSIsZVtlLkJhbkNvb2xpbmdUaW1lb3V0PTNlNV09IkJhbkNvb2xpbmdUaW1lb3V0In0oa3x8KGs9e30pKTtjb25zdCBFPS8oXHcrKVwvKFx3KylcLyhcdyspLztjbGFzcyBSe2NvbnN0cnVjdG9yKGUsdCxpLG4pe3RoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicz1uZXcgTWFwLHRoaXMuX21pZ3JhdGVkU2hhcmVkTGluZVRvb2xzRHVwbGljYXRlcz1uZXcgU2V0LHRoaXMuX2FsbExpbmVUb29sc0FuZFN0dWR5U3R1YnM9bmV3IE1hcCx0aGlzLl9vcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGU9bmV3IE1hcCx0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sR3JvdXBzPW5ldyBNYXAsdGhpcy5fb3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlPW5ldyBNYXAsdGhpcy5faWdub3JlSW52YWxpZGF0aW5nRXZlbnRzRGVwdGg9MCx0aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlPW51bGwsdGhpcy5fZGVib3VuY2VkU2F2ZT0oMCxzLmRlZmF1bHQpKCgoKT0+dGhpcy5fc2F2ZUludmFsaWRhdGVkSWZSZXF1aXJlZCghMSkpLDUwMCksdGhpcy5fY3VycmVudGx5TG9hZGVkU3ltYm9sPW5ldyBNYXAsdGhpcy5fbGlua0tleVJlc29sdmVyPW51bGwsdGhpcy5fYnJva2VyTmFtZT0iIix0aGlzLl9sYXN0QmFuVGltZT1udWxsLHRoaXMuX2ludmFsaWRhdGVWaWFTeW5jPTAsdGhpcy5fc2F2aW5nQWJvcnRDb250cm9sbGVyc0J5U2hhcmluZ01vZGU9bmV3IE1hcCx0aGlzLl90cnlUb1NhdmVDaGFydFN0YXRlTWlncmF0aW9uc09uY2U9ITAsdGhpcy5fcGVuZGluZ0xvYWRSZXF1ZXN0c0NvdW50ZXI9MCx0aGlzLl9wZW5kaW5nU2F2ZVJlcXVlc3RzQ291bnRlcj0wLHRoaXMuX21haW5TZXJpZXNEcmF3aW5nc1JlYWR5PVsiIixQcm9taXNlLnJlc29sdmUoKV0sdGhpcy5fbmV4dFJlc29sdmVkU3ltYm9sRGVmZXJyZWRQcm9taXNlcz1bXSx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fb25DaGFuZ2VBdXRvc2F2ZT1lPT57ZSYmdGhpcy5fZGVib3VuY2VkU2F2ZSgpfSx0aGlzLl9vcmlnaW49ZSx0aGlzLl9jaGFydE1vZGVsPXQsdGhpcy5fb3B0aW9ucz1pLHRoaXMuX2hhc0NoYW5nZXM9biwKdGhpcy5fYXNzaWduQWxsTGluZVRvb2xzKHRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKSksdGhpcy5fY2hhcnRNb2RlbC5wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcHJvY2Vzc1BhbmVzQ29sbGVjdGlvbkNoYW5nZWQuYmluZCh0aGlzKSksdGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9wcm9jZXNzRGF0YVNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkLmJpbmQodGhpcykpLHRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLm9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3Byb2Nlc3NMaW5lVG9vbHNHcm91cE1vZGVsQ2hhbmdlZC5iaW5kKHRoaXMpKSx0aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbFJlc29sdmVkLmJpbmQodGhpcykpLHRoaXMuX2NoYXJ0TW9kZWwuc291cmNlUHJvcGVydGllc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9wcm9jZXNzUHJvcGVydGllc0NoYW5nZWQuYmluZCh0aGlzKSksdGhpcy5fY2hhcnRNb2RlbC5zb3VyY2VaT3JkZXJDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcHJvY2Vzc1Byb3BlcnRpZXNDaGFuZ2VkLmJpbmQodGhpcykpLHRoaXMuX2xpbmtLZXlSZXNvbHZlcj1uZXcgZyhlLmxheW91dElkLGUuY2hhcnRJZCx0Lm1haW5TZXJpZXMoKS5pZCgpKSx0aGlzLl9icm9rZXJJZFNlc3Npb249bmV3IHYuRmVhdHVyZVRvZ2dsZVdhdGNoZWRWYWx1ZSgiYnJva2VyX2lkX3Nlc3Npb24iLCExKSx0aGlzLl9hdXRvZml4Wk9yZGVyPW5ldyB2LkZlYXR1cmVUb2dnbGVXYXRjaGVkVmFsdWUoImF1dG9maXhfbGluZV90b29sc196b3JkZXIiLCExKTtjb25zdCByPXRoaXMuX2xvYWRBbmRNZXJnZUxpbmVUb29sc1dpdGhvdXRTeW1ib2woMiwhMSksbz10aGlzLl9sb2FkQW5kTWVyZ2VMaW5lVG9vbHNXaXRob3V0U3ltYm9sKDEsITEpO3RoaXMuX2xvYWRBbmRNZXJnZUxpbmVUb29sc1dpdGhvdXRTeW1ib2woMCwhMSxbcixvXSksdGhpcy5fbG9hZEFuZE1lcmdlTGluZVRvb2xzT25TdHVkaWVzKDAsITEpLCgwLGQub25XaWRnZXQpKCl8fHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZSh0aGlzLCgoKT0+e3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZ0aGlzLnJlbG9hZEFsbExpbmVUb29scygpfSkpfWRlc3Ryb3koKXt0aGlzLl9kZWJvdW5jZWRTYXZlLmNhbmNlbCgpLCgwLGQub25XaWRnZXQpKCl8fHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2Jyb2tlcklkU2Vzc2lvbi5kZXN0cm95KCksdGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY2hhcnRNb2RlbC5zb3VyY2VQcm9wZXJ0aWVzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2NoYXJ0TW9kZWwuc291cmNlWk9yZGVyQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2NoYXJ0TW9kZWwucGFuZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkub25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fc2F2ZUNoYXJ0U2VydmljZT8uYXV0b1NhdmVFbmFibGVkKCkudW5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VBdXRvc2F2ZSksdGhpcy5fc2F2ZUNoYXJ0U2VydmljZT8uY2hhcnRTYXZlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2Rlc3Ryb3llZD0hMH1yZWxvYWRBbGxMaW5lVG9vbHMoKXt0aGlzLl9jdXJyZW50bHlMb2FkZWRTeW1ib2wuY2xlYXIoKSxQLmZvckVhY2goKGU9PnswPT09ZSYmdGhpcy5fbG9hZEFuZE1lcmdlTGluZVRvb2xzT25TdHVkaWVzKGUsITApLHRoaXMuX2xvYWRBbmRNZXJnZUxpbmVUb29sc1dpdGhvdXRTeW1ib2woZSwhMCl9KSk7Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk7ZSYmdGhpcy5fb25TeW1ib2xSZXNvbHZlZChlKX1oYXNDaGFuZ2VzKCl7cmV0dXJuIHRoaXMuX2hhc0NoYW5nZXN9aGFzVW5zYXZlZE1pZ3JhdGlvbnNGcm9tQ2hhcnRTdGF0ZSgpe3JldHVybiBOKHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicyl8fE4odGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbEdyb3Vwcyl9c2V0U2F2ZUNoYXJ0U2VydmljZShlKXt0aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlJiYodGhpcy5fc2F2ZUNoYXJ0U2VydmljZS5hdXRvU2F2ZUVuYWJsZWQoKS51bnN1YnNjcmliZSh0aGlzLl9vbkNoYW5nZUF1dG9zYXZlKSx0aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlLmNoYXJ0U2F2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSksdGhpcy5fc2F2ZUNoYXJ0U2VydmljZT1lLHRoaXMuX3NhdmVDaGFydFNlcnZpY2UuYXV0b1NhdmVFbmFibGVkKCkuc3Vic2NyaWJlKHRoaXMuX29uQ2hhbmdlQXV0b3NhdmUpLHRoaXMuX3NhdmVDaGFydFNlcnZpY2UuY2hhcnRTYXZlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3RyeVRvU2F2ZUNoYXJ0U3RhdGVNaWdyYXRpb25zT25jZT0hMSx0aGlzLl9yZWNhbGN1bGF0ZUhhc0NoYW5nZXMoKX0pLCEwKX1wcmVwYXJlRFRPKGU9ITEpe2NvbnN0IHQ9bmV3IE1hcDtyZXR1cm4gUC5mb3JFYWNoKChpPT57dC5zZXQoaSx0aGlzLl9wcmVwYXJlRFRPSXRlbShlLGkpKX0pKSx0fWdldERUTyhlPTAsdD0hMSxpPSExKXtyZXR1cm4gaSYmdGhpcy5pbnZhbGlkYXRlQWxsKCksdGhpcy5fcHJlcGFyZURUT0l0ZW0odCxlLGkpfWFzeW5jIGFwcGx5RFRPKGUsdD0wKXt0aGlzLnJlc2V0SW52YWxpZGF0ZWQoRGF0ZS5ub3coKS52YWx1ZU9mKCksZSx0KSxhd2FpdCB0aGlzLl9hcHBseUxpbmVUb29sc0FuZEdyb3Vwc0RUTyhlLHQpfQptYXJrQXNWYWxpZGF0ZWRCZWNhdXNlT2ZTYXZpbmdUb0NvbnRlbnQoKXtWKHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicyksVih0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sR3JvdXBzKSx0aGlzLl9yZWNhbGN1bGF0ZUhhc0NoYW5nZXMoKX1yZXNldEludmFsaWRhdGVkKGUsdCxpLHMpe2NvbnN0IG49KGUsdCxzLG4pPT57aWYoIXMuaGFzKG4pfHxzLmdldChuKSlzLmhhcyhuKSYmdChuLGkpO2Vsc2V7Y29uc3Qgcz1lLmdldChuKTtzJiYocz09PWk/dChuLG51bGwpOjA9PT1pJiZ0KG4scykpfX07aWYobnVsbD09PXQuc291cmNlcylyZXR1cm47Y29uc3R7Z3JvdXBzOnIsc291cmNlczpvLGxpbmVUb29sc1RvVmFsaWRhdGU6bCxncm91cHNUb1ZhbGlkYXRlOmN9PXQsaD1BKHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicyxlLG5ldyBTZXQobD8/by5rZXlzKCkpKTt0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sc0FuZFN0dWR5U3R1YnM9aC5zdGlsbEludmFsaWRhdGVkLGgudmFsaWRhdGVkLmZvckVhY2gobi5iaW5kKHRoaXMsdGhpcy5fb3JpZ2luYWxMaW5lVG9vbFNoYXJpbmdNb2RlLHRoaXMuX3NldE9yaWdpbmFsTGluZVRvb2xTaGFyaW5nTW9kZS5iaW5kKHRoaXMpLG8pKTtjb25zdCBkPUEodGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbEdyb3VwcyxlLG5ldyBTZXQoYz8/ci5rZXlzKCkpKTtpZihoLnZhbGlkYXRlZC5mb3JFYWNoKG4uYmluZCh0aGlzLHRoaXMuX29yaWdpbmFsTGluZVRvb2xHcm91cHNTaGFyaW5nTW9kZSx0aGlzLl9zZXRPcmlnaW5hbExpbmVUb29sR3JvdXBzU2hhcmluZ01vZGUuYmluZCh0aGlzKSxyKSksdGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbEdyb3Vwcz1kLnN0aWxsSW52YWxpZGF0ZWQsQXJyYXkuZnJvbShvLmtleXMoKSkuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQoZSk7dCYmKHZvaWQgMCE9PXM/dC5zZXRTZXJ2ZXJVcGRhdGVUaW1lKHMpOm51bGw9PT10LnNlcnZlclVwZGF0ZVRpbWUoKSYmdC5zZXRTZXJ2ZXJVcGRhdGVUaW1lKChuZXcgRGF0ZSkudmFsdWVPZigpKSl9KSksMD09PWkpZm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbSh0aGlzLl9taWdyYXRlZFNoYXJlZExpbmVUb29sc0R1cGxpY2F0ZXMpKW51bGw9PT1vLmdldChlKSYmdGhpcy5fbWlncmF0ZWRTaGFyZWRMaW5lVG9vbHNEdXBsaWNhdGVzLmRlbGV0ZShlKTsoaC5jb250YWluUmVzYXZlZEZyb21Db250ZW50fHxkLmNvbnRhaW5SZXNhdmVkRnJvbUNvbnRlbnQpJiZhLmVtaXQoImxpbmVUb29sc1Jlc2F2ZWRGcm9tQ29udGVudCIpLHRoaXMuX3JlY2FsY3VsYXRlSGFzQ2hhbmdlcygpfWFzeW5jIGFwcGx5TGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oZSx0KXtjb25zdCBpPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9RS5leGVjKGUpO3JldHVybiA0PT09dD8ubGVuZ3RoP3tsYXlvdXRJZDp0WzFdLGNoYXJ0SWQ6dFsyXSxjbGllbnRJZDp0WzNdfTp7bGF5b3V0SWQ6IiIsY2hhcnRJZDoiIixjbGllbnRJZDplfX0oZS5jbGllbnRJZD8/IiIpO2lmKGkuY2xpZW50SWQhPT10aGlzLl9vcmlnaW4uY2xpZW50SWR8fGkuY2hhcnRJZCE9PXRoaXMuX29yaWdpbi5jaGFydElkKXJldHVybiB2b2lkIDA9PT1lLnN5bWJvbHx8bnVsbCE9PWUuc291cmNlcz90aGlzLl9hcHBseUxpbmVUb29sc0FuZEdyb3Vwc0RUTyhlLHQsaSk6dm9pZCB0aGlzLl93aXRob3V0SW52YWxpZGF0aW5nKCgoKT0+e2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlcygpLmZpbHRlcihjLmlzTGluZVRvb2wpLmZpbHRlcigoaT0+aS5zaGFyaW5nTW9kZSgpLnZhbHVlKCk9PT10JiZpLnN5bWJvbCgpPT09ZS5zeW1ib2wpKTtpLmxlbmd0aD4wJiZ0aGlzLl9jaGFydE1vZGVsLnVuZG9Nb2RlbCgpLnJlbW92ZVNvdXJjZXMoaSwhMCxudWxsKX0pKX1zdGFydEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oKXt0aGlzLl9pZ25vcmVJbnZhbGlkYXRpbmdFdmVudHNEZXB0aCsrfWVuZEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oKXt0aGlzLl9pZ25vcmVJbnZhbGlkYXRpbmdFdmVudHNEZXB0aC0tLHRoaXMuX2lnbm9yZUludmFsaWRhdGluZ0V2ZW50c0RlcHRoPDAmJihULmxvZ0Vycm9yKCJMb2dpYyBlcnJvciwgc3RhcnRBcHBseWluZ0xpbmVUb29sVXBkYXRlTm90aWZpY2F0aW9uL2VuZEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24gbWlzbWF0Y2gsIGF1dG9maXhpbmciKSx0aGlzLl9pZ25vcmVJbnZhbGlkYXRpbmdFdmVudHNEZXB0aD0wKX1hcHBseUFsZXJ0SWRCeUV4dGVybmFsU291cmNlKGUsdCl7dGhpcy5fd2l0aG91dEludmFsaWRhdGluZygoKCk9Pntjb25zdCBpPXRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpO2kmJigwLGMuaXNMaW5lVG9vbCkoaSkmJmkuc2V0QWxlcnQodCl9KSl9ZGVsZXRlQWxlcnRCeUV4dGVybmFsU291cmNlKGUpe3RoaXMuX3dpdGhvdXRJbnZhbGlkYXRpbmcoKCgpPT57Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZChlKTt0JiYoMCxjLmlzTGluZVRvb2wpKHQpJiZ0LnJlbW92ZUFsZXJ0KCl9KSl9YXN5bmMgbWFya1N5bmNlZExpbmVUb29sQXNEZWxldGVkKGUsdCl7aWYodGhpcy5fbGlua0tleVJlc29sdmVyKXtjb25zdCBpPWF3YWl0IHRoaXMuX2xpbmtLZXlSZXNvbHZlci5yZXNvbHZlTGlua0tleSh0LGUsdGhpcy5fYnJva2VyTmFtZSk7aWYodGhpcy5fZGVzdHJveWVkKXJldHVybiBudWxsO2lmKG51bGwhPT1pKXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xCeUxpbmtLZXkoZSk7bnVsbD09PXQ/dGhpcy5faW52YWxpZGF0ZUxpbmVUb29sT3JTdHVkeVN0dWIoaSxwZXJmb3JtYW5jZS5ub3coKSk6dGhpcy5fd2l0aG91dEludmFsaWRhdGluZygoKCk9Pntjb25zdCBlPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKHQpKSxpPXRoaXMuX2FsbExpbmVUb29sc0FuZFN0dWR5U3R1YnMuZ2V0KGUuaWQoKSl8fG5ldyBNYXA7dC5kZXRhY2hBbGVydCgpLAp0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVNvdXJjZSh0KSxpLmRlbGV0ZSh0LmlkKCkpfSkpLHRoaXMuX2RlYm91bmNlZFNhdmUoKX1yZXR1cm4gaX1yZXR1cm4gbnVsbH1pbnZhbGlkYXRlQWxsKGU9ITEpe2NvbnN0IHQ9cGVyZm9ybWFuY2Uubm93KCk7dGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5mb3JFYWNoKChlPT57ZS5mb3JFYWNoKCgoZSxpKT0+e3RoaXMuX2ludmFsaWRhdGVMaW5lVG9vbE9yU3R1ZHlTdHViKGksdCl9KSl9KSksdGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBzRm9yQWxsU3ltYm9scygpLmZvckVhY2goKGU9Pnt0aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xHcm91cChlLmlkLHQpfSkpLGUmJnRoaXMubWFya0FzVmFsaWRhdGVkQmVjYXVzZU9mU2F2aW5nVG9Db250ZW50KCl9ZXhlY3V0ZVN5bmNocm9uaXphdGlvbkluTGF5b3V0QWN0aW9uKGUpe3RoaXMuX2ludmFsaWRhdGVWaWFTeW5jKz0xO3RyeXtlKCl9ZmluYWxseXt0aGlzLl9pbnZhbGlkYXRlVmlhU3luYy09MX19aW52YWxpZGF0ZVZpYVN5bmMoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZVZpYVN5bmM+MH1mbHVzaFBlbmRpbmdTYXZpbmdzKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xHcm91cHMuc2l6ZXx8dGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLnNpemV8fHRoaXMuX21pZ3JhdGVkU2hhcmVkTGluZVRvb2xzRHVwbGljYXRlcy5zaXplP3RoaXMuX3NhdmVJbnZhbGlkYXRlZElmUmVxdWlyZWQoITEsITApOm51bGx9aGFzUGVuZGluZ0xvYWRSZXF1ZXN0cygpe2NvbnN0IGU9dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCk7Zm9yKGNvbnN0IHQgb2YgUCl7Y29uc3QgaT10aGlzLl9jdXJyZW50bHlMb2FkZWRTeW1ib2wuZ2V0KHQpPz8iIjtpZighZS5zeW1ib2xTYW1lQXNDdXJyZW50KGkpKXJldHVybiEwfXJldHVybiB0aGlzLl9wZW5kaW5nTG9hZFJlcXVlc3RzQ291bnRlcj4wfWhhc1BlbmRpbmdTYXZlUmVxdWVzdHMoKXtyZXR1cm4gdGhpcy5fcGVuZGluZ1NhdmVSZXF1ZXN0c0NvdW50ZXI+MHx8dGhpcy5oYXNDaGFuZ2VzKCkudmFsdWUoKSYmdGhpcy5faXNBdXRvc2F2ZUVuYWJsZWQoKX1hc3luYyBtYWluU2VyaWVzRHJhd2luZ3NSZWFkeShlKXtsZXRbdCxpXT10aGlzLl9tYWluU2VyaWVzRHJhd2luZ3NSZWFkeTtpZih0PT09ZSlyZXR1cm4gaTtjb25zdCBzPSgwLF8uY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpO3JldHVybiB0aGlzLl9uZXh0UmVzb2x2ZWRTeW1ib2xEZWZlcnJlZFByb21pc2VzLnB1c2goW2Usc10pLGF3YWl0IHMucHJvbWlzZSxbdCxpXT10aGlzLl9tYWluU2VyaWVzRHJhd2luZ3NSZWFkeSwoMCxyLmFzc2VydCkodD09PWUsIlVuZXhwZWN0ZWQgc3ltYm9sIHByb19uYW1lIiksaX1fYXNzaWduQWxsTGluZVRvb2xzKGUpe2UuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9ZS5kYXRhU291cmNlcygpLmZpbHRlcihEKS5tYXAoKGU9PltlLmlkKCksZS5saW5rS2V5KCkudmFsdWUoKV0pKSxpPW5ldyBNYXAodCk7dGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5zZXQoZS5pZCgpLGkpfSkpfV9wcm9jZXNzUHJvcGVydGllc0NoYW5nZWQoZSx0KXtEKHQpJiZ0aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1Yih0LmlkKCkscGVyZm9ybWFuY2Uubm93KCkpfV9wcm9jZXNzTGluZVRvb2xzR3JvdXBNb2RlbENoYW5nZWQoZSx0KXtjb25zdCBpPXBlcmZvcm1hbmNlLm5vdygpO3RoaXMuX2ludmFsaWRhdGVMaW5lVG9vbEdyb3VwKGUsaSk7Y29uc3Qgcz10aGlzLl9jaGFydE1vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKGUpO2xldCBuPXM/LmxpbmVUb29scygpLmxlbmd0aD9zLnNoYXJpbmdNb2RlKCkudmFsdWUoKTp2b2lkIDA7dCYmKCh0LmFmZmVjdGVkTGluZVRvb2xzfHxbXSkuZm9yRWFjaCgoZT0+dGhpcy5faW52YWxpZGF0ZUxpbmVUb29sT3JTdHVkeVN0dWIoZSxpKSkpLHQuYWZmZWN0ZWRMaW5lVG9vbHM/Lmxlbmd0aD4wJiZ2b2lkIDA9PT1uJiYobj10aGlzLl9vcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUuZ2V0KHQuYWZmZWN0ZWRMaW5lVG9vbHNbMF0pKSksdGhpcy5fb3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlLmhhcyhlKXx8dGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlKGUsbj8/MCl9X3Byb2Nlc3NQYW5lc0NvbGxlY3Rpb25DaGFuZ2VkKGUpe2NvbnN0IHQ9ZS5tYXAoKGU9PmUuaWQoKSkpLGk9bmV3IFNldCh0KSxzPXBlcmZvcm1hbmNlLm5vdygpO0FycmF5LmZyb20odGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5rZXlzKCkpLmZpbHRlcigoZT0+IWkuaGFzKGUpKSkuZm9yRWFjaCgoZT0+e0FycmF5LmZyb20oKDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9hbGxMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLmdldChlKSkua2V5cygpKS5mb3JFYWNoKChlPT57dGhpcy5faW52YWxpZGF0ZUxpbmVUb29sT3JTdHVkeVN0dWIoZSxzKX0pKX0pKSxlLmZpbHRlcigoZT0+IXRoaXMuX2FsbExpbmVUb29sc0FuZFN0dWR5U3R1YnMuaGFzKGUuaWQoKSkpKS5mb3JFYWNoKChlPT57ZS5kYXRhU291cmNlcygpLmZpbHRlcihEKS5mb3JFYWNoKChlPT50aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1YihlLmlkKCkscykpKX0pKSx0aGlzLl9hc3NpZ25BbGxMaW5lVG9vbHMoZSl9X3Byb2Nlc3NEYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoZSl7Y29uc3QgdD1lLmRhdGFTb3VyY2VzKCkuZmlsdGVyKEQpLGk9dC5tYXAoKGU9PltlLmlkKCksZS5saW5rS2V5KCkudmFsdWUoKV0pKSxzPW5ldyBNYXAoaSk7bGV0IG47Y29uc3Qgbz1wZXJmb3JtYW5jZS5ub3coKTtpZih0aGlzLl9hbGxMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLmhhcyhlLmlkKCkpKXtjb25zdCBpPSgwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5nZXQoZS5pZCgpKSk7bj10LmZpbHRlcigoZT0+IWkuaGFzKGUuaWQoKSkpKSwKbi5mb3JFYWNoKChlPT50aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1YihlLmlkKCksbykpKSxBcnJheS5mcm9tKGkuZW50cmllcygpKS5maWx0ZXIoKGU9PiFzLmhhcyhlWzBdKSkpLmZvckVhY2goKGU9PntudWxsIT09ZVsxXSYmdGhpcy5fZGVib3VuY2VkU2F2ZSgpLHRoaXMuX2ludmFsaWRhdGVMaW5lVG9vbE9yU3R1ZHlTdHViKGVbMF0sbyl9KSl9ZWxzZSBuPXQsdC5mb3JFYWNoKChlPT50aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1YihlLmlkKCksbykpKTtuLmZvckVhY2goKGU9PntpZigoMCxjLmlzTGluZVRvb2wpKGUpKXt0aGlzLl9zZXRPcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUoZS5pZCgpLGUuc2hhcmluZ01vZGUoKS52YWx1ZSgpKTtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9yTGluZVRvb2woZSk7dCYmdGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlKHQuaWQsZS5zaGFyaW5nTW9kZSgpLnZhbHVlKCkpfX0pKSx0aGlzLl9hbGxMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLnNldChlLmlkKCkscyl9X3VubG9hZExpbmVUb29scyhlLHQsaSl7Y29uc3Qgcz1lLmZpbHRlcigoZT0+IXRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5oYXMoZSkpKS5tYXAoKGU9PnRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpKSkuZmlsdGVyKGMuaXNMaW5lVG9vbCkuZmlsdGVyKHAubm90TnVsbCkuZmlsdGVyKChlPT5lLnNoYXJpbmdNb2RlKCkudmFsdWUoKT09PWkpKS5maWx0ZXIodCkuZmlsdGVyKChlPT57Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvckxpbmVUb29sKGUpO3JldHVybiBudWxsPT09dHx8IXRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xHcm91cHMuaGFzKHQuaWQpfSkpO3RoaXMuX3dpdGhvdXRJbnZhbGlkYXRpbmcoKCgpPT57dGhpcy5fY2hhcnRNb2RlbC5idWxrQWN0aW9uTWFjcm8oKCgpPT57cy5mb3JFYWNoKChlPT57ZS5oYXNBbGVydCgpLnZhbHVlKCkmJmUuZGV0YWNoQWxlcnQoKTtjb25zdCB0PSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKGUpKTt0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVNvdXJjZShlKTsodGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5nZXQodC5pZCgpKT8/bmV3IE1hcCkuZGVsZXRlKGUuaWQoKSl9KSksdGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkucmVtb3ZlTGluZVRvb2xzKHMpfSkpfSkpfV91bmxvYWRMaW5lc09uU2VyaWVzKGUsdCxpKXtjb25zdCBzPXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpO2lmKCFpPy5zaXplKXJldHVybjtjb25zdCBuPUFycmF5LmZyb20oaS5rZXlzKCkpLmZpbHRlcigodD0+IWUodCkpKTt0aGlzLl91bmxvYWRMaW5lVG9vbHMobiwoZT0+ZS5ib3VuZFRvU3ltYm9sKCkmJmUub3duZXJTb3VyY2UoKT09PXMpLHQpfV9pc0F1dG9zYXZlRW5hYmxlZCgpe3JldHVybiBCb29sZWFuKHRoaXMuX3NhdmVDaGFydFNlcnZpY2UmJnRoaXMuX3NhdmVDaGFydFNlcnZpY2UuYXV0b1NhdmVFbmFibGVkKCkudmFsdWUoKSl9YXN5bmMgX3NhdmVJbnZhbGlkYXRlZElmUmVxdWlyZWQoZSx0KXtpZihudWxsIT09dGhpcy5fbGFzdEJhblRpbWUpe2lmKCEocGVyZm9ybWFuY2Uubm93KCktdGhpcy5fbGFzdEJhblRpbWU+PTNlNSkpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO3RoaXMuX2xhc3RCYW5UaW1lPW51bGx9aWYoIXRoaXMuX2lzQXV0b3NhdmVFbmFibGVkKCkmJiF0fHx0aGlzLl9vcHRpb25zLnJlYWRPbmx5TW9kZXx8IXdpbmRvdy5pc19hdXRoZW50aWNhdGVkfHwiIj09PXRoaXMuX29yaWdpbi5sYXlvdXRJZClyZXR1cm47Y29uc3QgaT10aGlzLnByZXBhcmVEVE8oZSkscz1QLm1hcCgoZT0+e2NvbnN0IHQ9aS5nZXQoZSk7aWYoIXR8fG51bGw9PT10LnNvdXJjZXMpcmV0dXJuIG51bGw7Y29uc3Qgcz10LmxpbmVUb29sc1RvVmFsaWRhdGU/P0FycmF5LmZyb20odC5zb3VyY2VzLmtleXMoKSksbj10Lmdyb3Vwc1RvVmFsaWRhdGU/P0FycmF5LmZyb20odC5ncm91cHMua2V5cygpKTtpZigwPT09cy5sZW5ndGgmJjA9PT1uLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBvPXBlcmZvcm1hbmNlLm5vdygpO2lmKHQuc291cmNlcy5zaXplfHx0Lmdyb3Vwcy5zaXplKXtjb25zdCBpPXRoaXMuX3NhdmluZ0Fib3J0Q29udHJvbGxlcnNCeVNoYXJpbmdNb2RlLmdldChlKTtpJiZpLmFib3J0KCk7Y29uc3Qgcz1uZXcgQWJvcnRDb250cm9sbGVyO3JldHVybiB0aGlzLl9zYXZpbmdBYm9ydENvbnRyb2xsZXJzQnlTaGFyaW5nTW9kZS5zZXQoZSxzKSx0LnNvdXJjZXMuZm9yRWFjaCgoKHQsaSk9Pnt0JiZ0aGlzLl9zZXRPcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUoaSxlKX0pKSx0Lmdyb3Vwcy5mb3JFYWNoKCgodCxpKT0+e3QmJnRoaXMuX3NldE9yaWdpbmFsTGluZVRvb2xHcm91cHNTaGFyaW5nTW9kZShpLGUpfSkpLHRoaXMuX3BlbmRpbmdTYXZlUmVxdWVzdHNDb3VudGVyKz0xLCgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fc2F2ZUNoYXJ0U2VydmljZSkuc2F2ZUNoYXJ0TGluZVRvb2xzKHRoaXMuX29yaWdpbi5jaGFydElkLHQsZSxzLnNpZ25hbCkudGhlbigoKHtzZXJ2ZXJVcGRhdGVUaW1lOml9KT0+e3RoaXMuX2Rlc3Ryb3llZHx8dGhpcy5yZXNldEludmFsaWRhdGVkKG8sdCxlLGkpfSkpLmNhdGNoKChhc3luYyB0PT57aWYoIXRoaXMuX2Rlc3Ryb3llZCl7aWYodCBpbnN0YW5jZW9mIGguU2F2aW5nTGluZVRvb2xzRXJyb3ImJnQuc2hvdWxkQmVDb29sZWQmJih0aGlzLl9sYXN0QmFuVGltZT1wZXJmb3JtYW5jZS5ub3coKSksISgwLHkuaXNBYm9ydEVycm9yKSh0KSl0aHJvdyB0O1QubG9nRGVidWcoYFNhdmUgcmVxdWVzdCBoYXMgYmVlbiBhYm9ydGVkLiBDaGFydElkOiAke3RoaXMuX29yaWdpbi5jaGFydElkfSBzaGFyaW5nTW9kZTogJHtlfWApfX0pKS5maW5hbGx5KCgoKT0+e3RoaXMuX3BlbmRpbmdTYXZlUmVxdWVzdHNDb3VudGVyLT0xfSkpfQpyZXR1cm4gdGhpcy5yZXNldEludmFsaWRhdGVkKG8sdCxlKSxudWxsfSkpLmZpbHRlcihwLm5vdE51bGwpO3JldHVybiBzLmxlbmd0aD9Qcm9taXNlLmFsbChzKS50aGVuKCgoKT0+e30pKTp2b2lkIDB9YXN5bmMgX3NhdmVQcm9taXNlKGUsdCl7cmV0dXJuIHRoaXMuX2lzQXV0b3NhdmVFbmFibGVkKCk/dGhpcy5fZGVib3VuY2VkU2F2ZT8uZmx1c2goKT8/UHJvbWlzZS5yZXNvbHZlKCk6dGhpcy5fc2F2ZUludmFsaWRhdGVkSWZSZXF1aXJlZChlLHQpfV9zZXJpZXNMaW5lVG9vbHNVbmxvYWRlcihlLHQsaSl7Y29uc3Qgcz10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKTsibWFpblNlcmllc0xpbmVUb29scyI9PT1lLnJlcXVlc3RUeXBlJiZzLnN5bWJvbFNhbWVBc0N1cnJlbnQoZS5zeW1ib2wpJiYodGhpcy5fdW5sb2FkTGluZXNPblNlcmllcyhpLGUuc2hhcmluZ01vZGUsdCksdGhpcy5fY3VycmVudGx5TG9hZGVkU3ltYm9sLnNldChlLnNoYXJpbmdNb2RlLGUuc3ltYm9sKSl9X21haW5QYW5lTGluZVRvb2xzQW5kU3R1YnMoKXtjb25zdCBlPXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpLHQ9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JTb3VyY2UoZSkpO3JldHVybiBuZXcgTWFwKHRoaXMuX2FsbExpbmVUb29sc0FuZFN0dWR5U3R1YnMuZ2V0KHQuaWQoKSkpfV9vblN5bWJvbFJlc29sdmVkKGUpe2NvbnN0IHQ9KHQsaSk9Pntjb25zdCBzPXtyZXF1ZXN0VHlwZToibWFpblNlcmllc0xpbmVUb29scyIsc2VyaWVzU291cmNlSWQ6dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuaWQoKSxzeW1ib2w6ZS5wcm9fbmFtZSxicm9rZXJOYW1lOiIiLHNoYXJpbmdNb2RlOnR9O3JldHVybiB0aGlzLl9tYWtlTG9hZFJlcXVlc3RBbmRNZXJnZShzLHRoaXMuX3Nlcmllc0xpbmVUb29sc1VubG9hZGVyLmJpbmQodGhpcyxzLHRoaXMuX21haW5QYW5lTGluZVRvb2xzQW5kU3R1YnMoKSksZS5wcm9fbmFtZXx8ZS50aWNrZXJ8fGUuZnVsbF9uYW1lLGkpfSxpPXQoMikscz10KDEpLG49W2kscyx0KDAsW2ksc10pXSxyPVByb21pc2UuYWxsKG4pLnRoZW4oKCgpPT57dmFyIGU7aWYoIXRoaXMuX2Rlc3Ryb3llZCYmKHRoaXMuX3dpdGhvdXRJbnZhbGlkYXRpbmcoKCgpPT57dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlcygpLmZpbHRlcihjLmlzTGluZVRvb2wpLmZpbHRlcigoZT0+MD09PWUuc2hhcmluZ01vZGUoKS52YWx1ZSgpJiZlLmxpbmtLZXkoKS52YWx1ZSgpKSkuZm9yRWFjaCgoZT0+e2lmKGUuc2hhcmUoMSksdGhpcy5fb3B0aW9ucy5taWdyYXRlU3luY2VkTGluZVRvb2xzKXt0aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1YihlLmlkKCkscGVyZm9ybWFuY2Uubm93KCksITApO2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChlKTt0JiZ0aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xHcm91cCh0LmlkLHBlcmZvcm1hbmNlLm5vdygpLCEwKX19KSl9KSksdGhpcy5fYXV0b2ZpeFpPcmRlci52YWx1ZSgpJiZ0aGlzLl9jaGFydE1vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cHNGb3JBbGxTeW1ib2xzKCkubGVuZ3RoKSl7Y29uc3QgdD17cGFuZXM6KGU9dGhpcy5fY2hhcnRNb2RlbCkucGFuZXMoKS5tYXAoeCksZ3JvdXBzOmUubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3Vwc0ZvckFsbFN5bWJvbHMoKS5tYXAoTSl9LGk9KDAsQy5wcmVwYXJlWk9yZGVyRml4SWZSZXF1aXJlZCkodCk7dGhpcy5fY2hhcnRNb2RlbC5idWxrQWN0aW9uTWFjcm8oKCgpPT57aS5mb3JFYWNoKCgoZSx0KT0+e2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodCk7aT8uc2V0Wm9yZGVyKGUpfSkpfSkpfX0pKTt0aGlzLl9tYWluU2VyaWVzRHJhd2luZ3NSZWFkeT1bZS5wcm9fbmFtZSxyXTtmb3IoY29uc3RbdCxpXW9mIHRoaXMuX25leHRSZXNvbHZlZFN5bWJvbERlZmVycmVkUHJvbWlzZXMpdD09PWUucHJvX25hbWU/aS5yZXNvbHZlKCk6aS5yZWplY3QobmV3IEVycm9yKCJTeW1ib2wgbWlzbWF0Y2giKSk7dGhpcy5fbmV4dFJlc29sdmVkU3ltYm9sRGVmZXJyZWRQcm9taXNlcz1bXX1hc3luYyBfbWFrZUxvYWRSZXF1ZXN0QW5kTWVyZ2UoZSx0LGkscyl7Y29uc3Qgbj10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKSxyPXRoaXMuX2N1cnJlbnRseUxvYWRlZFN5bWJvbC5nZXQoZS5zaGFyaW5nTW9kZSk/PyIiO2lmKCEhbi5zeW1ib2xTYW1lQXNDdXJyZW50KHIpKXJldHVybjt0aGlzLl9jdXJyZW50bHlMb2FkZWRTeW1ib2wuZGVsZXRlKGUuc2hhcmluZ01vZGUpO2NvbnN0IG89YXdhaXQoMCx1LmdldENoYXJ0U3RvcmFnZSkoKTtyZXR1cm4gdGhpcy5fZGVzdHJveWVkP3ZvaWQgMDp0aGlzLl9zYXZlUHJvbWlzZSgibWFpblNlcmllc0xpbmVUb29scyI9PT1lLnJlcXVlc3RUeXBlKS5jYXRjaCgoKCk9Pnt9KSkudGhlbigoKCk9PnRoaXMuX2Rlc3Ryb3llZD9udWxsOih0aGlzLl9wZW5kaW5nTG9hZFJlcXVlc3RzQ291bnRlcis9MSxvLmxvYWRMaW5lVG9vbHNBbmRHcm91cHModGhpcy5fb3JpZ2luLmxheW91dElkLHRoaXMuX29yaWdpbi5jaGFydElkLGUsaSkpKSkuY2F0Y2goKCgpPT5udWxsKSkudGhlbigoYXN5bmMgaT0+e2lmKCF0aGlzLl9kZXN0cm95ZWQpe2lmKHMpdHJ5e2lmKGF3YWl0IFByb21pc2UuYWxsKHMpLHRoaXMuX2Rlc3Ryb3llZClyZXR1cm59Y2F0Y2goZSl7fWlmKHRoaXMuX3BlbmRpbmdMb2FkUmVxdWVzdHNDb3VudGVyLT0xLG51bGwhPT1pKXtjb25zdCBzPWkuc291cmNlcztzJiYodCgoZT0+cy5oYXMoZSkpKSxhd2FpdCB0aGlzLl9hcHBseUxpbmVUb29sc0FuZEdyb3Vwc0RUTyhpLGUuc2hhcmluZ01vZGUpKSxpLnNlcnZlclJlcXVlc3RJZCYmY29uc29sZS5sb2coYFBST0NFU1NFRDoke2kuc2VydmVyUmVxdWVzdElkfWApfX19KSl9X3Jlc3RvcmVHcm91cHMoZSx0LGkscyl7Y29uc3Qgbj1uZXcgTWFwO3JldHVybih0Lmdyb3Vwc3x8bmV3IE1hcCkuZm9yRWFjaCgoKHQsbyk9PnsKY29uc3QgYT10aGlzLl9jaGFydE1vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKG8pO2lmKG51bGw9PT10KXtpZihhKXtjb25zdCBlPXMmJnMubGF5b3V0SWQ9PT10aGlzLl9vcmlnaW4ubGF5b3V0SWQmJnMuY2hhcnRJZD09PXRoaXMuX29yaWdpbi5jaGFydElkO2EubGluZVRvb2xzKClbMF0uc2hhcmluZ01vZGUoKS52YWx1ZSgpPT09aSYmKGUmJjAhPT1pfHwobmV3IGYuRXhjbHVkZUxpbmVUb29sc0Zyb21Hcm91cFVuZG9Db21tYW5kKHRoaXMuX2NoYXJ0TW9kZWwsYSxhLmxpbmVUb29scygpKS5yZWRvKCksdGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlKG8sbnVsbCkpKX19ZWxzZXtpZihhJiZ0LnNlcnZlclVwZGF0ZVRpbWUpe2NvbnN0IGk9KDAsci5lbnN1cmVEZWZpbmVkKSh0LnNlcnZlclVwZGF0ZVRpbWUpO2lmKG51bGwhPT1lJiZlPj1pKXJldHVybjthLnNldE5hbWUodC5uYW1lKX1lbHNlIG4uc2V0KG8sdCk7dGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlKG8saSl9fSkpLG59X2NyZWF0ZU5ld0xpbmVUb29sKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQoZS5vd25lclNvdXJjZSk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvclNvdXJjZSh0KSkscz10aGlzLl9jaGFydE1vZGVsLnBhbmVzKCkuaW5kZXhPZihpKSxuPXRoaXMuX2NoYXJ0TW9kZWwucmVzdG9yZVNvdXJjZSghMSxzLG51bGwsZS5zdGF0ZSxudWxsKTtpZihudWxsIT09bil7Y29uc3QgZT10aGlzLl9hbGxMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLmdldChpLmlkKCkpfHxuZXcgTWFwO2Uuc2V0KG4uaWQoKSxuLmxpbmtLZXkoKS52YWx1ZSgpKSx0aGlzLl9hbGxMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLnNldChpLmlkKCksZSl9cmV0dXJuIG59X21pZ3JhdGVTdGF0ZUZyb21NZXRhaW5mbyhlKXtjb25zdCB0PXZvaWQgMCE9PWUuc3ltYm9sJiZlLnN5bWJvbCE9PWUuc3RhdGUuc3RhdGUuc3ltYm9sO3QmJihlLnN0YXRlLnN0YXRlLnN5bWJvbD1lLnN5bWJvbCk7Y29uc3QgaT12b2lkIDAhPT1lLmN1cnJlbmN5SWQmJmUuY3VycmVuY3lJZCE9PWUuc3RhdGUuc3RhdGUuY3VycmVuY3lJZDtpJiYoZS5zdGF0ZS5zdGF0ZS5jdXJyZW5jeUlkPWUuY3VycmVuY3lJZCk7Y29uc3Qgcz12b2lkIDAhPT1lLnVuaXRJZCYmZS51bml0SWQhPT1lLnN0YXRlLnN0YXRlLnVuaXRJZDtyZXR1cm4gcyYmKGUuc3RhdGUuc3RhdGUudW5pdElkPWUudW5pdElkKSx0fHxpfHxzfV9yZXN0b3JlTGluZVRvb2woZSx0LGkscyl7aWYoKHQuc3RhdGUucG9pbnRzPz9bXSkuc29tZSgoZT0+ISgwLHAuaXNOdW1iZXIpKGUudGltZV90KSkpKXJldHVybiBudWxsO2xldCBuPXRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHQuaWQpO2lmKG51bGw9PT1uJiZ0LnN0YXRlLmxpbmtLZXkmJihuPXRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xCeUxpbmtLZXkodC5zdGF0ZS5saW5rS2V5KSksbnVsbCE9PW4mJiEoMCxjLmlzTGluZVRvb2wpKG4pKXJldHVybiBudWxsO2lmKHRoaXMuX29yaWdpbi5jbGllbnRJZD09PXM/LmNsaWVudElkJiYhbilyZXR1cm4gbnVsbDtpZihuJiZ0LnNlcnZlclVwZGF0ZVRpbWUpe2NvbnN0IHI9dC5zZXJ2ZXJVcGRhdGVUaW1lLG89bi5zZXJ2ZXJVcGRhdGVUaW1lKCk7aWYobnVsbCE9PWUmJmU+PXJ8fG51bGwhPT1vJiZvPj1yKXJldHVybiAwIT09aSYmKG4uc2hhcmUoaSksdGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbFNoYXJpbmdNb2RlKG4uaWQoKSxpKSksdGhpcy5fcmVzdG9yZUxpbmVUb29sQWxlcnQobix0LnN0YXRlLmFsZXJ0SWQpLG51bGw7dGhpcy5fb3JpZ2luLmNsaWVudElkIT09cz8uY2xpZW50SWQmJih0aGlzLl9jaGFydE1vZGVsLnJlc3RvcmVMaW5lVG9vbFN0YXRlKG4sdC5zdGF0ZSwhMSksbi5zaGFyaW5nTW9kZSgpLnZhbHVlKCkhPT1pJiYobi5zaGFyZShpKSx0aGlzLl9zZXRPcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUobi5pZCgpLGkpKSxuLmNhbGNJc0FjdHVhbFN5bWJvbCgpKX0wIT09aSYmKHQub3duZXJTb3VyY2U9dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuaWQoKSx0LnN0YXRlLm93bmVyU291cmNlPXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpLmlkKCkpLDA9PT1pJiZ0LnN0YXRlLmxpbmtLZXkmJih0LnN0YXRlLnNoYXJpbmdNb2RlPz89MSk7Y29uc3Qgcj10aGlzLl9taWdyYXRlU3RhdGVGcm9tTWV0YWluZm8odCk7bGV0IG89bnx8dGhpcy5fY3JlYXRlTmV3TGluZVRvb2wodCk7aWYobyYmKHImJnRoaXMuX2ludmFsaWRhdGVMaW5lVG9vbE9yU3R1ZHlTdHViKHQuaWQscGVyZm9ybWFuY2Uubm93KCksITApLHQuc2VydmVyVXBkYXRlVGltZSYmby5zZXRTZXJ2ZXJVcGRhdGVUaW1lKHQuc2VydmVyVXBkYXRlVGltZSksdGhpcy5fcmVzdG9yZUxpbmVUb29sQWxlcnQobyx0LnN0YXRlLmFsZXJ0SWQpLDAhPT1pJiZvLnNoYXJlKGkpLHZvaWQgMD09PXMmJigwLGMuaXNFZGl0YWJsZVRleHRMaW5lVG9vbCkobykpKXt0aGlzLl9yZW1vdmVUZXh0TGluZVRvb2xJZkVtcHR5KG8pJiYobz1udWxsKX1yZXR1cm4gb31fcmVzdG9yZUxpbmVUb29sQWxlcnQoZSx0KXt0P2UucmVzdG9yZUFsZXJ0KCt0KS5jYXRjaCgoZT0+e1QubG9nRXJyb3IoYEZhaWxlZCB0byByZXN0b3JlIGxpbmVUb29sIGFsZXJ0OiAke0Vycm9yLGV9YCl9KSk6ZS5kZXRhY2hBbGVydCgpfV9yZW1vdmVMaW5lVG9vbChlKXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpO251bGwhPT10JiZ0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVNvdXJjZSh0KX1fcmVtb3ZlVGV4dExpbmVUb29sSWZFbXB0eShlKXtyZXR1cm4hKCFlLnJlbW92ZUlmRWRpdGFibGVUZXh0SXNFbXB0eSgpfHwwIT09ZS5lZGl0YWJsZVRleHRQcm9wZXJ0aWVzKCkudGV4dC52YWx1ZSgpLmxlbmd0aCkmJih0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVNvdXJjZShlKSwKdGhpcy5faW52YWxpZGF0ZUxpbmVUb29sT3JTdHVkeVN0dWIoZS5pZCgpLHBlcmZvcm1hbmNlLm5vdygpLCEwKSwhMCl9X3Jlc3RvcmVMaW5lRFRPKGUsdCxpLHMsbixvKXtpZighdGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLmdldCh0KSlpZihudWxsPT09ZSl7Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZCh0KTtpZighZSlyZXR1cm47aWYoISgwLGMuaXNMaW5lVG9vbCkoZSkpcmV0dXJuO2lmKGUuc2hhcmluZ01vZGUoKS52YWx1ZSgpPT09biYmdGhpcy5fb3JpZ2luLmNsaWVudElkIT09bz8uY2xpZW50SWQpe2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChlKTtudWxsIT09aSYmbmV3IGYuRXhjbHVkZUxpbmVUb29sc0Zyb21Hcm91cFVuZG9Db21tYW5kKHRoaXMuX2NoYXJ0TW9kZWwsaSxbZV0pLnJlZG8oKSx0aGlzLl9yZW1vdmVMaW5lVG9vbCh0KSx0aGlzLl9zZXRPcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUodCxudWxsKX19ZWxzZXtpZigwPT09biYmbnVsbCE9ZS5zdGF0ZS5saW5rS2V5KXtpZih0aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZCh0KSlyZXR1cm4gdm9pZCB0aGlzLl9taWdyYXRlZFNoYXJlZExpbmVUb29sc0R1cGxpY2F0ZXMuYWRkKGUuaWQpO3RoaXMuX2ludmFsaWRhdGVMaW5lVG9vbE9yU3R1ZHlTdHViKGUuaWQscGVyZm9ybWFuY2Uubm93KCksITApfWlmKDA9PT1lLnN0YXRlLnBvaW50cz8ubGVuZ3RoJiZbIkxpbmVUb29sUmlza1Jld2FyZExvbmciLCJMaW5lVG9vbFJpc2tSZXdhcmRTaG9ydCJdLmluY2x1ZGVzKGUuc3RhdGUudHlwZSkpcmV0dXJuIHRoaXMuX2ludmFsaWRhdGVMaW5lVG9vbE9yU3R1ZHlTdHViKHQscGVyZm9ybWFuY2Uubm93KCksITApLHZvaWQgdGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbFNoYXJpbmdNb2RlKHQsbik7Y29uc3QgYT10aGlzLl9yZXN0b3JlTGluZVRvb2wocyxlLG4sbyk7aWYoYSlpZihlLmdyb3VwSWQpe2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChhKSxzPXRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9ySWQoZS5ncm91cElkKTtpZihudWxsIT09dCYmcz09PXQpcmV0dXJuO2lmKG51bGwhPT10JiYodC5leGNsdWRlSXRlbShhKSwwPT09dC5saW5lVG9vbHMoKS5sZW5ndGgmJjA9PT10LnN1Ymdyb3VwcygpLmxlbmd0aCYmdGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkucmVtb3ZlR3JvdXAodCkpLHMmJiFzLmNvbnRhaW5zSXRlbShhKSlzLmFkZEl0ZW1zKFthXSk7ZWxzZSBpZighcyYmaS5oYXMoZS5ncm91cElkKSl7Y29uc3QgdD0oMCxyLmVuc3VyZURlZmluZWQpKGkuZ2V0KGUuZ3JvdXBJZCkpO3RoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmNyZWF0ZUdyb3VwKFthXSx0Lm5hbWUsdC5pZCl9fWVsc2V7dGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkucmVtb3ZlTGluZVRvb2xzKFthXSkuZm9yRWFjaCgoZT0+e3RoaXMuX2ludmFsaWRhdGVMaW5lVG9vbEdyb3VwKGUscGVyZm9ybWFuY2Uubm93KCksITApfSkpfXRoaXMuX3NldE9yaWdpbmFsTGluZVRvb2xTaGFyaW5nTW9kZSh0LG4pfX1hc3luYyBfYXBwbHlMaW5lVG9vbHNBbmRHcm91cHNEVE8oZSx0LGkpe2NvbnN0IHM9dGhpcy5fY2hhcnRNb2RlbC5jaGFydFNhdmVUaW1lKCksbj10aGlzLl93aXRob3V0SW52YWxpZGF0aW5nKCgoKT0+dGhpcy5fcmVzdG9yZUdyb3VwcyhzLGUsdCxpKSkpLHI9YENoYXJ0U3RvcmFnZS5TeW5jaHJvbml6ZXIuQXBwbHlpbmdEVE8uJHtgJHt0aGlzLl9vcmlnaW4ubGF5b3V0SWR9LiR7dGhpcy5fb3JpZ2luLmNoYXJ0SWR9YH1gLG89bmV3IFNldDtpZigoZS5zb3VyY2VzfHxuZXcgTWFwKS5mb3JFYWNoKChlPT57ZSYmby5hZGQoKDAsdy5nZXRMaW5lVG9vbFR5cGVGcm9tU3RhdGUpKGUuc3RhdGUpKX0pKSxhd2FpdCBQcm9taXNlLmFsbChBcnJheS5mcm9tKG8pLm1hcCgoZT0+KDAsYy5pbml0TGluZVRvb2wpKGUpKSkpLCF0aGlzLl9kZXN0cm95ZWQpcmV0dXJuKDAsbC5wZXJmTWVhc3VyZU9wZXJhdGlvbikociwoKCk9PnRoaXMuX3dpdGhvdXRJbnZhbGlkYXRpbmcoKCgpPT57dGhpcy5fY2hhcnRNb2RlbC5idWxrQWN0aW9uTWFjcm8oKCgpPT57KGUuc291cmNlc3x8bmV3IE1hcCkuZm9yRWFjaCgoKGUscik9Pnt0cnl7aWYoZSYmKDAsYi5pc010cFByZWRpY3RvclRvb2xOYW1lKShlLnN0YXRlLnR5cGUpKXJldHVybiB2b2lkIFQubG9nV2FybihgTm8gbG9uZ2VyIHN1cHBvcnRlZCB0b29sICR7ZS5zdGF0ZS50eXBlfSBpcyBza2lwcGVkIHdoaWxlIHJlc3RvcmluZyBzdGF0ZWApO3RoaXMuX3Jlc3RvcmVMaW5lRFRPKGUscixuLHMsdCxpKX1jYXRjaCh0KXtULmxvZ0Vycm9yKGBFcnJvciByZXN0b3JpbmcgbGluZSB0b29sICR7cn0gKCR7ZT8uc3RhdGUudHlwZX0pOiAke3R9YCksZT8uc3RhdGUudHlwZSYmIW8uaGFzKGUuc3RhdGUudHlwZSkmJlQubG9nRXJyb3IoYExpbmUgdG9vbCAke2Uuc3RhdGUudHlwZX0gbWF5IG5lZWQgdG8gYmUgaW5pdGlhbGlzZWQgZmlyc3RgKX19KSksKGUuZ3JvdXBzfHxuZXcgTWFwKS5mb3JFYWNoKCgoZSx0KT0+e3RoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xHcm91cHMuZGVsZXRlKHQpfSkpLHRoaXMuX3JlY2FsY3VsYXRlSGFzQ2hhbmdlcygpfSkpfSkpKSl9X3dpdGhvdXRJbnZhbGlkYXRpbmcoZSl7dHJ5e3JldHVybiB0aGlzLl9pZ25vcmVJbnZhbGlkYXRpbmdFdmVudHNEZXB0aCsrLGUoKX1maW5hbGx5e3RoaXMuX2lnbm9yZUludmFsaWRhdGluZ0V2ZW50c0RlcHRoLS19fV9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1YihlLHQsaSl7aWYodGhpcy5faWdub3JlSW52YWxpZGF0aW5nRXZlbnRzRGVwdGg+MCYmIWkpcmV0dXJuCjtjb25zdHtpbnZhbGlkYXRlZFZpYVN5bmNPbmx5OnMsc2F2ZWRUb0NoYXJ0Q29udGVudDpufT10aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sc0FuZFN0dWR5U3R1YnMuZ2V0KGUpfHx7fSxyPSh2b2lkIDA9PT1zfHxzKSYmdGhpcy5pbnZhbGlkYXRlVmlhU3luYygpO3RoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5zZXQoZSx7dGltZXN0YW1wOnQsaW52YWxpZGF0ZWRWaWFTeW5jT25seTpyLHNhdmVkVG9DaGFydENvbnRlbnQ6bn0pLHRoaXMuX2hhc0NoYW5nZXMuc2V0VmFsdWUoITApLHRoaXMuX2RlYm91bmNlZFNhdmUoKX1faW52YWxpZGF0ZUxpbmVUb29sR3JvdXAoZSx0LGkpe2lmKHRoaXMuX2lnbm9yZUludmFsaWRhdGluZ0V2ZW50c0RlcHRoPjAmJiFpKXJldHVybjtjb25zdHtzYXZlZFRvQ2hhcnRDb250ZW50OnN9PXRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xHcm91cHMuZ2V0KGUpfHx7fTt0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sR3JvdXBzLnNldChlLHt0aW1lc3RhbXA6dCxpbnZhbGlkYXRlZFZpYVN5bmNPbmx5OnRoaXMuaW52YWxpZGF0ZVZpYVN5bmMoKSxzYXZlZFRvQ2hhcnRDb250ZW50OnN9KSx0aGlzLl9oYXNDaGFuZ2VzLnNldFZhbHVlKCEwKSx0aGlzLl9kZWJvdW5jZWRTYXZlKCl9X3ByZXBhcmVEVE9JdGVtKGUsdCxpPSExKXtjb25zdCBzPW5ldyBNYXAsbj1uZXcgTWFwLHI9W10sbz1bXTtpZih0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sc0FuZFN0dWR5U3R1YnMuZm9yRWFjaCgoKG8sYSk9PntpZigwIT09dCYmby5pbnZhbGlkYXRlZFZpYVN5bmNPbmx5KXJldHVybiB2b2lkIHIucHVzaChhKTtjb25zdCBsPXRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKGEpO2lmKCEoMCxTLmlzU3R1ZHlMaW5lVG9vbFN0dWIpKGwpKWlmKG51bGw9PT1sKXsodGhpcy5fb3JpZ2luYWxMaW5lVG9vbFNoYXJpbmdNb2RlLmdldChhKT09PXR8fGkpJiZzLnNldChhLG51bGwpfWVsc2V7aWYobD09PXRoaXMuX2NoYXJ0TW9kZWwubGluZUJlaW5nQ3JlYXRlZCgpfHxsPT09dGhpcy5fY2hhcnRNb2RlbC5saW5lQmVpbmdFZGl0ZWQoKXx8IWwuaXNTYXZlZEluQ2hhcnQoKSlyZXR1cm47Y29uc3Qgcj1sLm93bmVyU291cmNlKCk9PT10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKSxvPSFlfHxyLGM9bC5zaGFyaW5nTW9kZSgpLnZhbHVlKCk9PT10fHxpO2lmKG8pe2NvbnN0IGU9dGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChsKTtpZihjKXMuc2V0KGEsSShsLHRoaXMuX2NoYXJ0TW9kZWwpKSxudWxsIT09ZSYmbi5zZXQoZS5pZCxMKGUsdGhpcy5fY2hhcnRNb2RlbCkpO2Vsc2V7Y29uc3QgaT10aGlzLl9vcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUuZ2V0KGEpO2k9PT10JiZzLnNldChhLG51bGwpLG51bGwhPT1lJiZpPT09dCYmbi5zZXQoZS5pZCxudWxsKX19fX0pKSwwPT09dClmb3IoY29uc3QgZSBvZiB0aGlzLl9taWdyYXRlZFNoYXJlZExpbmVUb29sc0R1cGxpY2F0ZXMpcy5oYXMoZSl8fHMuc2V0KGUsbnVsbCk7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xHcm91cHMuZm9yRWFjaCgoKGUsaSk9PntpZigwIT09dCYmZS5pbnZhbGlkYXRlZFZpYVN5bmNPbmx5KW8ucHVzaChpKTtlbHNlIGlmKCFuLmhhcyhpKSl7Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKGkpO2lmKG51bGw9PT1lKXt0aGlzLl9vcmlnaW5hbExpbmVUb29sR3JvdXBzU2hhcmluZ01vZGUuZ2V0KGkpPT09dCYmbi5zZXQoaSxudWxsKX1lbHNlIGUuc2hhcmluZ01vZGUoKS52YWx1ZSgpPT09dCYmbi5zZXQoaSxMKGUsdGhpcy5fY2hhcnRNb2RlbCkpfX0pKSx7c291cmNlczpzLGdyb3VwczpuLGNsaWVudElkOnRoaXMuX2dlbmVyYXRlT3JpZ2luKCksbGluZVRvb2xzVG9WYWxpZGF0ZTpBcnJheS5mcm9tKHMua2V5cygpKS5jb25jYXQociksZ3JvdXBzVG9WYWxpZGF0ZTpBcnJheS5mcm9tKG4ua2V5cygpKS5jb25jYXQobyl9fV9zZXRPcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUoZSx0KXtudWxsIT09dD90aGlzLl9vcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUuc2V0KGUsdCk6dGhpcy5fb3JpZ2luYWxMaW5lVG9vbFNoYXJpbmdNb2RlLmRlbGV0ZShlKX1fc2V0T3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlKGUsdCl7bnVsbCE9PXQ/dGhpcy5fb3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlLnNldChlLHQpOnRoaXMuX29yaWdpbmFsTGluZVRvb2xHcm91cHNTaGFyaW5nTW9kZS5kZWxldGUoZSl9X2xvYWRBbmRNZXJnZUxpbmVUb29sc09uU3R1ZGllcyhlLHQpe2NvbnN0IGk9e3JlcXVlc3RUeXBlOiJzdHVkaWVzTGluZVRvb2xzIixzZXJpZXNTb3VyY2VJZDp0aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKS5pZCgpLHNoYXJpbmdNb2RlOmV9LHM9dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCk7dGhpcy5fbWFrZUxvYWRSZXF1ZXN0QW5kTWVyZ2UoaSwoaT0+e2NvbnN0IHI9dD8oMCxuLmRlZmF1bHQpKEFycmF5LmZyb20odGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy52YWx1ZXMoKSkubWFwKChlPT5BcnJheS5mcm9tKGUua2V5cygpKSkpKS5maWx0ZXIoKGU9PiFpKGUpKSk6W107dGhpcy5fdW5sb2FkTGluZVRvb2xzKHIsKGU9PmUub3duZXJTb3VyY2UoKSE9PXMpLGUpfSkpfV9sb2FkQW5kTWVyZ2VMaW5lVG9vbHNXaXRob3V0U3ltYm9sKGUsdCxpKXtjb25zdCBzPXtyZXF1ZXN0VHlwZToibGluZVRvb2xzV2l0aG91dFN5bWJvbCIsc2VyaWVzU291cmNlSWQ6dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuaWQoKSxzaGFyaW5nTW9kZTplfSxuPXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpLG89KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JTb3VyY2UobikpLGE9dGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5nZXQoby5pZCgpKTtyZXR1cm4gdGhpcy5fbWFrZUxvYWRSZXF1ZXN0QW5kTWVyZ2UocywoaT0+ewpjb25zdCBzPXQmJmE/QXJyYXkuZnJvbShhLmtleXMoKSkuZmlsdGVyKChlPT4haShlKSkpOltdO3RoaXMuX3VubG9hZExpbmVUb29scyhzLChlPT4hZS5ib3VuZFRvU3ltYm9sKCkmJmUub3duZXJTb3VyY2UoKT09PW4pLGUpfSksdm9pZCAwLGkpfV9yZWNhbGN1bGF0ZUhhc0NoYW5nZXMoKXt0aGlzLl9oYXNDaGFuZ2VzLnNldFZhbHVlKHRoaXMuX3RyeVRvU2F2ZUNoYXJ0U3RhdGVNaWdyYXRpb25zT25jZT90aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sc0FuZFN0dWR5U3R1YnMuc2l6ZT4wfHx0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sR3JvdXBzLnNpemU+MHx8dGhpcy5fbWlncmF0ZWRTaGFyZWRMaW5lVG9vbHNEdXBsaWNhdGVzLnNpemU+MDpCKHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicyl8fEIodGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbEdyb3Vwcyl8fHRoaXMuX21pZ3JhdGVkU2hhcmVkTGluZVRvb2xzRHVwbGljYXRlcy5zaXplPjApfV9nZW5lcmF0ZU9yaWdpbigpe3JldHVybmAke3RoaXMuX29yaWdpbi5sYXlvdXRJZH0vJHt0aGlzLl9vcmlnaW4uY2hhcnRJZH0vJHt0aGlzLl9vcmlnaW4uY2xpZW50SWR9YH19ZnVuY3Rpb24gVihlKXtmb3IoY29uc3RbLHRdb2YgZSl0LnNhdmVkVG9DaGFydENvbnRlbnQ9ITB9ZnVuY3Rpb24gQihlKXtmb3IoY29uc3RbLHRdb2YgZSlpZighdC5zYXZlZFRvQ2hhcnRDb250ZW50KXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIE4oZSl7Zm9yKGNvbnN0Wyx0XW9mIGUpaWYodC5zYXZlZFRvQ2hhcnRDb250ZW50KXJldHVybiEwO3JldHVybiExfX0sMjkxODQzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2lzVGFibGVWaWV3QWxsb3dlZEZvclN5bWJvbDooKT0+bn0pO3ZhciBzPWkoNTgzMDM4KTtmdW5jdGlvbiBuKGUpe3JldHVybiFlfHwiRUNPTk9NSUNTIiE9PSgwLHMuc3BsaXRTeW1ib2xOYW1lKShlLmZ1bGxfbmFtZSlbMF19fSw3MjI1NzEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7VFZDaGFydEFwaTooKT0+bGV9KTt2YXIgcz1pKDIwMzY4MSksbj1pKDU0Nzg1MSkscj1pKDIwNjY3Myksbz1pKDMwNDIyMSksYT1pKDgxNzM1MCksbD1pKDEzODYzOCksYz1pKDYwMTg0MSksaD1pKDIzMjM2NCksZD1pKDIyMTA2MSksdT1pKDc4MDk3NSkscD1pKDc3MzA4OCksXz1pKDkzMDIzMSksbT1pKDYwNjEwKSxnPWkoNDAzNiksZj1pKDUyMTMzMyksUz1pKDIxNzUyNyksdj1pKDc0Njk0OSkseT1pKDY2MTg1OCksYj1pKDM4NDAxNyksdz1pKDg4OTUxNSksQz1pKDc2ODc2MCksUD1pKDU4OTc0OSksVD1pKDExNjMxMCkseD1pKDQ3OTM0KSxNPWkoNTY5Mzk4KSxJPWkoODYyMjEzKSxMPWkoMTE3MzEzKSxBPWkoMTU2ODUwKSxrPWkoNjQwNzQ0KSxEPWkoNzgzMzQwKSxFPWkoOTMwMDQ1KSxSPWkoNDYzNDQ3KTtjb25zdCBWPSgwLGQuZ2V0TG9nZ2VyKSgiQ2hhcnQuU3R1ZGllcy5TdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSIse2NvbG9yOiIjNjA2In0pLEI9KDAsZC5nZXRMb2dnZXIpKCJDaGFydEFwaS5UcmFmZmljTWV0ZXIiLHttYXhDb3VudDoyMCxjb2xvcjoiIzI2OCJ9KSxOPSgwLGQuZ2V0TG9nZ2VyKSgiQ2hhcnRBcGkuQ29yZSIse2NvbG9yOiIjNzA2In0pLE89KDAsZC5nZXRMb2dnZXIpKCJDaGFydEFwaS5DaGFydFNlc3Npb24iLHtjb2xvcjoiIzcwNiJ9KSxXPSgwLGQuZ2V0TG9nZ2VyKSgiQ2hhcnRBcGkuQ2hhcnRTZXNzaW9uIix7aGlnaFJhdGU6ITAsbWF4Q291bnQ6MTAwLGNvbG9yOiIjNzA2In0pLEY9KDAsZC5nZXRMb2dnZXIpKCJDaGFydEFwaS5DaGFydFNlc3Npb24iLHttYXhDb3VudDowLGNvbG9yOiIjNzA2In0pLEg9KDAsZC5nZXRMb2dnZXIpKCJDaGFydEFwaS5DaGFydFNlc3Npb24iLHttYXhDb3VudDo1MCxjb2xvcjoiIzcwNiJ9KSx6PSgwLGQuZ2V0TG9nZ2VyKSgiQ2hhcnRBcGkuUXVvdGVTZXNzaW9uIix7bWF4Q291bnQ6NTAsY29sb3I6IiM2NjAifSksVT0oMCxkLmdldExvZ2dlcikoIkNoYXJ0QXBpLlF1b3RlU2Vzc2lvbiIse2hpZ2hSYXRlOiEwLG1heENvdW50OjEwLGNvbG9yOiIjNjYwIn0pLEc9ISgwLEwuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSxqPSgwLE0uaXNGZWF0dXJlRW5hYmxlZCkoImJyb2tlcl9pZF9zZXNzaW9uIikscT0oMCxNLmlzRmVhdHVyZUVuYWJsZWQpKCJjaGVja19hdXRoX3Rva2VuX2V4cGlyYXRpb25fb25fZXZlcnlfcmVxdWVzdCIpO2xldCAkPSExLFk9ITEsSz0hMTtjb25zdCBYPVsiIiwiS0IiLCJNQiIsIkdCIiwiVEIiXTtmdW5jdGlvbiBaKGUpe2lmKDA9PT1lKXJldHVybiIwIjtjb25zdCB0PSgwLGsudG9JbnQpKE1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5sb2coMTAyNCkpKTtyZXR1cm4oZS9NYXRoLnBvdygxMDI0LHQpKS50b0ZpeGVkKDIpK1hbdF19ZnVuY3Rpb24gSihlLHQpe3JldHVybmAke2V9X18ke3R9YH1mdW5jdGlvbiBRKGUsdCxpKXtjb25zdCBzPXRbaV0/PzA7dFtpXT1zK2V9Y29uc3QgZWU9US5iaW5kKG51bGwsMSksdGU9US5iaW5kKG51bGwsLTEpLGllPSgwLF8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpPyJzdHVkaWVzX21ldGFkYXRhX3dpZGdldCI6InN0dWRpZXNfbWV0YWRhdGEiLHNlPSIvY2hhcnQtYXBpL3Byb19oYXNoIixuZT0oMCxfLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT8iL2NoYXJ0LWFwaS9zdHVkaWVzX21ldGFkYXRhX3dpZGdldCI6Ii9jaGFydC1hcGkvc3R1ZGllc19tZXRhZGF0YSI7bGV0IHJlPW51bGw7ZnVuY3Rpb24gb2UoKXtpZihudWxsPT09cmUpe2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbGlua1tyZWx+PSJjb252ZXJzaW9ucy1jb25maWciXScpLHQ9bmV3IFVSTCgoMCxsLmVuc3VyZU5vdE51bGwpKGUpLmhyZWYpO3JlPSgwLGIuZmV0Y2gpKHQudG9TdHJpbmcoKSx7bWV0aG9kOiJHRVQifSkudGhlbigoZT0+e2lmKCFlLm9rKXRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGxvYWQgY29udmVyc2lvbnMgY29uZmlnIGZyb20gJHtlLnVybH0gd2l0aCBzdGF0dXMgJHtlLnN0YXR1c30gYW5kIHN0YXR1c1RleHQgJHtlLnN0YXR1c1RleHR9LmApO3JldHVybiBlLmpzb24oKQp9KSkudGhlbigoZT0+e2NvbnN0IHQ9KDAsSS5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7cmV0dXJuIGUuY3VycmVuY2llcy5mb3JFYWNoKChlPT57dm9pZCAwIT09ZS5sb2dvaWQmJihlLmxvZ29Vcmw9dC5nZXRTeW1ib2xMb2dvVXJsKGUubG9nb2lkLEkuTG9nb1NpemUuTWVkaXVtKSl9KSksZX0pKX1yZXR1cm4gcmV9bGV0IGFlPW51bGw7Y2xhc3MgbGV7Y29uc3RydWN0b3IoZSl7dGhpcy5zZXNzaW9uaWQ9bnVsbCx0aGlzLl9iYW5JbmZvPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMSx0aGlzLl9hdXRoVG9rZW5EZmQ9bnVsbCx0aGlzLl9zZXJ2ZXJUaW1lQmFzZVBvaW50PURhdGUubm93KCktcGVyZm9ybWFuY2Uubm93KCksdGhpcy5faW5pdENhY2hlUHJvbWlzZT0oMCxULmNyZWF0ZUpzb25TZXJpYWxpemFibGVDYWNoZSkoIlRWQ2hhcnRBcGkiKSx0aGlzLl90cmFmZmljU3RhdHM9e3RvdGFsOjAsc2luY2VDb25uZWN0OjAsbGFzdENodW5rOjB9LHRoaXMuX2xvd1F1YWxpdHlFbmFibGVkPSExLHRoaXMuX2Jyb2tlcklkPSIiLHRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50PTAsdGhpcy5fbW9kaWZ5U3R1ZHlNYXA9bmV3IE1hcCx0aGlzLl9kaXNjb25uZWN0Q291bnQ9MCx0aGlzLl9pc0Nvbm5lY3RlZD0hMSx0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZT1udWxsLHRoaXMuX2RhdGFIYW5kbGVNb2R1bGU9bmV3IEUuSlNPTkRhdGFIYW5kbGVyLHRoaXMuX3Nlc3Npb25zPXt9LHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzPXt9LHRoaXMuX3BlbmRpbmdNZXNzYWdlc1F1ZXVlPVtdLHRoaXMuX2xvYWROZXdCYXJzPSExLHRoaXMuX21ldGFkYXRhUmVxdWVzdE5leHROdW1iZXI9MSx0aGlzLl9mdW5kYW1lbnRhbENvdW50ZXI9e30sdGhpcy5fc3R1ZHlDb3VudGVyPXt9LHRoaXMuX2NoaWxkU3R1ZHlDb3VudGVyPXt9LHRoaXMuX3N0dWR5U3BlY3M9bmV3IE1hcCx0aGlzLl9jb25uZWN0aW9uc0xpbWl0UmVhY2hlZD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3NlbnRNZXRob2RzQ291bnRlcnM9bmV3IE1hcCx0aGlzLl9yZWNlaXZlZE1ldGhvZHNDb3VudGVycz1uZXcgTWFwLHRoaXMuX3JlcXVlc3REYXRhUHJvYmxlbXNQcm9taXNlPW51bGwsdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbj1lLHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24ub25SZWNvbm5lY3QodGhpcy5fYmluZFNvY2tldEV2ZW50cy5iaW5kKHRoaXMpKSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLnNldExvZ2dlcihOLGQuZ2V0TG9nSGlzdG9yeSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5zZXRUZWxlbWV0cnkoQS50ZWxlbWV0cnkpLHRoaXMuX2JpbmRTb2NrZXRFdmVudHMoKSx0aGlzLl9pc05vbkNvdW50ZWRTdHVkeT0oKT0+ITAsd2luZG93Py5UcmFkaW5nVmlldz8ub25DaGFydFBhZ2V8fHRoaXMuX2VuYWJsZUxvd1F1YWxpdHlNb2RlKCksc2V0SW50ZXJ2YWwoKCgpPT57Qi5sb2dOb3JtYWwoIkxhc3QgMzAgc2Vjb25kczoiK1oodGhpcy5fdHJhZmZpY1N0YXRzLmxhc3RDaHVuaykrIiBTaW5jZSBsYXN0IGNvbm5lY3Q6IitaKHRoaXMuX3RyYWZmaWNTdGF0cy5zaW5jZUNvbm5lY3QpKyIgVG90YWwgdHJhZmZpYzoiK1oodGhpcy5fdHJhZmZpY1N0YXRzLnRvdGFsKSksdGhpcy5fdHJhZmZpY1N0YXRzLmxhc3RDaHVuaz0wfSksM2U0KSx0aGlzLl9jb25uZWN0aW9uc0xpbWl0UmVhY2hlZC5zdWJzY3JpYmUoKGU9PntlJiZ0aGlzLmRpc2Nvbm5lY3QoKX0pKX1jb25uZWN0KGUpe3RoaXMuX2Nvbm5lY3RPbmx5T3B0aW9ucz1lLHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uaXNDb25uZWN0ZWQoKXx8dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc0Nvbm5lY3RpbmcoKXx8dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5jb25uZWN0KCl9ZGlzY29ubmVjdCgpe3RoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZGlzY29ubmVjdCgpfXNlbnRNZXRob2RzQ291bnRlcnMoKXtyZXR1cm4gdGhpcy5fc2VudE1ldGhvZHNDb3VudGVyc31yZWNlaXZlZE1ldGhvZHNDb3VudGVycygpe3JldHVybiB0aGlzLl9yZWNlaXZlZE1ldGhvZHNDb3VudGVyc31kZWZhdWx0UmVzb2x1dGlvbnMoKXtyZXR1cm4oMCxmLmdldERlZmF1bHRSZXNvbHV0aW9ucykoKX1hdmFpbGFibGVDdXJyZW5jaWVzKCl7cmV0dXJuIG9lKCkudGhlbigoZT0+ZS5jdXJyZW5jaWVzKSl9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gb2UoKS50aGVuKChlPT57Y29uc3QgdD17fTtmb3IoY29uc3QgaSBvZiBlLnVuaXRzKXRbaS50eXBlXXx8KHRbaS50eXBlXT1bXSksdFtpLnR5cGVdLnB1c2goaSk7cmV0dXJuIHR9KSl9YXN5bmMgYXZhaWxhYmxlTWV0cmljcygpe3JldHVybiBmdW5jdGlvbigpe2lmKG51bGw9PT1hZSl7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbH49Im1ldHJpY3MtY29uZmlnIl0nKSx0PW5ldyBVUkwoKDAsbC5lbnN1cmVOb3ROdWxsKShlKS5ocmVmKTthZT0oMCxiLmZldGNoKSh0LnRvU3RyaW5nKCkse21ldGhvZDoiR0VUIn0pLnRoZW4oKGFzeW5jIGU9PntpZighZS5vayl0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBsb2FkIG1ldHJpY3MgY29uZmlnIGZyb20gJHtlLnVybH0gd2l0aCBzdGF0dXMgJHtlLnN0YXR1c30gYW5kIHN0YXR1c1RleHQgJHtlLnN0YXR1c1RleHR9LmApO2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7cmV0dXJuIHQubWV0cmljc19mdWxsX25hbWU/LmZvckVhY2goKGU9Pntjb25zdCBpPXQubWV0cmljcy5maW5kKCh0PT50LmlkPT09ZS5pZCkpO2kmJihpLmRlc2NyaXB0aW9uPWUubmFtZSl9KSksdH0pKX1yZXR1cm4gYWV9KCkudGhlbigoZT0+ZS5tZXRyaWNzKSl9YXZhaWxhYmxlUHJpY2VTb3VyY2VzKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSl9c3VwcG9ydGVkU3ltYm9sc1R5cGVzKCl7Y29uc3QgZT13aW5kb3cuVHJhZGluZ1ZpZXc/LndpZGdldEN1c3RvbWVyPz8iIgo7cmV0dXJuImJvdmVzcGEiPT09ZT95LmZpbHRlcigoZT0+WyIiLCJzdG9jayIsImZ1dHVyZXMiLCJpbmRleCJdLmluY2x1ZGVzKGUudmFsdWUpKSk6ImNtZSI9PT1lP3kuZmlsdGVyKChlPT5lLnZhbHVlIT09Uy50eXBlcy5RVUFOREwpKTp5fXN5bWJvbHNHcm91cGluZygpe3JldHVybntmdXR1cmVzOi9eKC4rPykoWzEyXSF8XHdcZHs0fSk/JC99fWNvbm5lY3RlZCgpe3JldHVybiEhdGhpcy5faXNDb25uZWN0ZWR9YXV0aFRva2VuTWFuYWdlcigpe3JldHVybigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fYXV0aFRva2VuTWFuYWdlcil9Y3JlYXRlU2Vzc2lvbihlLHQpe3RoaXMuX3Nlc3Npb25zW2VdPXQsdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV09e30sdGhpcy5jb25uZWN0ZWQoKSYmdGhpcy5faXNBdXRoVG9rZW5Mb2FkZWQmJnQub25NZXNzYWdlKHttZXRob2Q6dS5DaGFydEFwaU1lc3NhZ2VNZXRob2QuQ29ubmVjdGVkLHBhcmFtczpbXX0pfXJlbW92ZVNlc3Npb24oZSl7ZGVsZXRlIHRoaXMuX3Nlc3Npb25zW2VdLGRlbGV0ZSB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXX1kaXNjb25uZWN0Q291bnQoKXtyZXR1cm4gdGhpcy5fZGlzY29ubmVjdENvdW50fHwwfWdldFBpbmdJbmZvKCl7cmV0dXJuIHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0UGluZ0luZm8oKX1jb25uZWN0aW9uQmFuSW5mbygpe3JldHVybiB0aGlzLl9iYW5JbmZvLnJlYWRvbmx5KCl9Y29ubmVjdGlvbnNMaW1pdFJlYWNoZWQoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGlvbnNMaW1pdFJlYWNoZWQucmVhZG9ubHkoKX1zZXJ2ZXJUaW1lKCl7cmV0dXJuIE1hdGgucm91bmQodGhpcy5fc2VydmVyVGltZUJhc2VQb2ludCtwZXJmb3JtYW5jZS5ub3coKSl9Y29tcGVuc2F0ZUNvbm5lY3Rpb25MYWcoZSl7Y29uc3QgdD10aGlzLnNlcnZlclRpbWUoKSxpPU1hdGguZmxvb3IoZS10KTtpPjAmJih0aGlzLl9zZXJ2ZXJUaW1lQmFzZVBvaW50Kz1pKX1zZXRCcm9rZXIoZSl7cmV0dXJuIGU9PT10aGlzLl9icm9rZXJJZHx8KHRoaXMuX2Jyb2tlcklkPWUsdGhpcy5fc2VuZEJyb2tlcklkVG9TZXNzaW9uKHRoaXMuX2Jyb2tlcklkKSl9Y2hhcnRDcmVhdGVTZXNzaW9uKGUsdCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJjaGFydF9jcmVhdGVfc2Vzc2lvbiIsW2UsdF0pfWNoYXJ0RGVsZXRlU2Vzc2lvbihlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImNoYXJ0X2RlbGV0ZV9zZXNzaW9uIixbZV0pfXN3aXRjaFRpbWV6b25lKGUsdCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJzd2l0Y2hfdGltZXpvbmUiLFtlLHRdKX1yZXNvbHZlU3ltYm9sKGUsdCxpLHMpe3JldHVybiBBLnRlbGVtZXRyeS50aW1lQ291bnRlcnMuc2VyaWVzWyJyZXNvbHZlX3N5bWJvbF8iK2VdPXdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKSx0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgUi5IYW5kbGVySW5mbyhzLHQsITApLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZXNvbHZlX3N5bWJvbCIsW2UsdCxpXSl9cmVxdWVzdEZpcnN0QmFyVGltZShlLHQsaSxzKXtyZXR1cm4gdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF09bmV3IFIuSGFuZGxlckluZm8ocyx0LCEwKSx0aGlzLl9zZW5kUmVxdWVzdCgiZ2V0X2ZpcnN0X2Jhcl90aW1lIixbZSx0LGldKX1jcmVhdGVTZXJpZXMoZSx0LGkscyxuLHIsbyxhKXtBLnRlbGVtZXRyeS50aW1lQ291bnRlcnMuc2VyaWVzLm1hcmtzLnB1c2goImNyZWF0ZV9zZXJpZXNfIitlKSx0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgUi5IYW5kbGVySW5mbyhhLHQpO2NvbnN0IGw9bnVsbD09PW8/IiI6KDAscC5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKG8sITApO3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiY3JlYXRlX3NlcmllcyIsW2UsdCxpLHMsbixyLGxdKX1yZW1vdmVTZXJpZXMoZSx0KXtyZXR1cm4gZGVsZXRlIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZW1vdmVfc2VyaWVzIixbZSx0XSl9bW9kaWZ5U2VyaWVzKGUsdCxpLHMsbixyLG8sYSl7dGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF09bmV3IFIuSGFuZGxlckluZm8oYSx0KTtjb25zdCBsPW51bGw9PT1vPyIiOigwLHAuY29udmVydFRpbWVGcmFtZVRvU3RyKShvLCEwKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIm1vZGlmeV9zZXJpZXMiLFtlLHQsaSxzLG4sbF0pfWdldFN0dWR5Q291bnRlcihlKXtyZXR1cm4gdGhpcy5fc3R1ZHlDb3VudGVyW2VdPz8wfWdldEZ1bmRhbWVudGFsQ291bnRlcihlKXtyZXR1cm4gdGhpcy5fZnVuZGFtZW50YWxDb3VudGVyW2VdPz8wfWdldENoaWxkU3R1ZHlDb3VudGVyKGUpe3JldHVybiB0aGlzLl9jaGlsZFN0dWR5Q291bnRlcltlXT8/MH1yZXF1ZXN0TW9yZURhdGEoZSx0LGkscyl7aWYodm9pZCAwPT09aXx8dm9pZCAwPT09cyl0aHJvdyBuZXcgRXJyb3IoInVuc3VwcG9ydGVkIHJlcXVlc3QgdG8gbG9hZCBtb3JlIGRhdGEsIGJhcnM9IitpKTtjb25zdCBuPXQ7cmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW25dPW5ldyBSLkhhbmRsZXJJbmZvKHMsbiksdGhpcy5fc2VuZFJlcXVlc3QoInJlcXVlc3RfbW9yZV9kYXRhIixbZSxuLGldKX1yZXF1ZXN0TW9yZVRpY2ttYXJrcyhlLHQsaSxzKXtyZXR1cm4gcyYmKHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBSLkhhbmRsZXJJbmZvKHMsdCkpLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZXF1ZXN0X21vcmVfdGlja21hcmtzIixbZSx0LGldKX1zZXRGdXR1cmVUaWNrbWFya3NNb2RlKGUsdCl7dGhpcy5fc2VuZFJlcXVlc3QoInNldF9mdXR1cmVfdGlja21hcmtzX21vZGUiLFtlLHRdKX1yZXF1ZXN0RGF0YVByb2JsZW1zKCl7cmV0dXJuIHRoaXMuX3JlcXVlc3REYXRhUHJvYmxlbXNQcm9taXNlfHwodGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2U9dGhpcy5jb25uZWN0RGZkLnRoZW4oKCgpPT5uZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VFcnJiYWNrPXQsCnRoaXMuX3NlbmRSZXF1ZXN0KCJyZXF1ZXN0X2RhdGFfcHJvYmxlbXMiLFtdKT90aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYj1lOnQoKX0pKSkpLmZpbmFsbHkoKCgpPT57dGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2U9bnVsbH0pKSksdGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2V9YXN5bmMgcmVxdWVzdE1ldGFkYXRhKCl7cmV0dXJuIG51bGw9PT10aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZSYmKHRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlPSgwLEMuY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLHRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlLnByb21pc2UuZmluYWxseSgoKCk9Pnt0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZT1udWxsfSkpLHRoaXMuX3JlcXVlc3RNZXRhZGF0YSgpKSx0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZS5wcm9taXNlfWFsbFN0dWRpZXNNZXRhZGF0YSgpe3Rocm93IG5ldyBFcnJvcigiVGhpcyBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkIil9c2V0TG9hZE5ldyhlKXt0aGlzLl9sb2FkTmV3QmFycz0hIWV9c2V0SXNOb25Db3VudGVkU3R1ZHlGbihlKXt0aGlzLl9pc05vbkNvdW50ZWRTdHVkeT1lfWNhbkNyZWF0ZVN0dWR5KGUsdCxpKXtjb25zdHtpZDpzLGNoaWxkOm4sZnVuZGFtZW50YWw6cixmb3JlY2FzdDpvLHN0dWJUaXRsZTphfT10LGM9KDAsbC5lbnN1cmVOb3ROdWxsKSgoMCx4LmdldENvbmZpZykoIlNUVURZX09OX1NUVURZIikpLmNoaWxkX2xpbWl0O2lmKG4mJighKDAseC5lbmFibGVkKSgiU1RVRFlfT05fU1RVRFkiKXx8KHRoaXMuX2NoaWxkU3R1ZHlDb3VudGVyW2VdPz8wKT49YykpcmV0dXJue3N1Y2Nlc3M6ITEscmVhc29uOiJjaGlsZCIsbGltaXRWYWx1ZTpjfTtpZihpKXJldHVybntzdWNjZXNzOiEwfTtpZihvJiYhKDAseC5lbmFibGVkKSgiRlVOREFNRU5UQUxTX0ZPUkVDQVNUIikpcmV0dXJue3N1Y2Nlc3M6ITEscmVhc29uOiJmb3JlY2FzdCIsc2NyaXB0TmFtZTphfTtjb25zdCBoPSgwLGwuZW5zdXJlTm90TnVsbCkoKDAseC5nZXRDb25maWcpKCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiKSkubGltaXQ7aWYociYmKCEoMCx4LmVuYWJsZWQpKCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiKXx8dGhpcy5nZXRGdW5kYW1lbnRhbENvdW50ZXIoZSk+PWgpKXJldHVybntzdWNjZXNzOiExLHJlYXNvbjoiZnVuZGFtZW50YWwiLGxpbWl0VmFsdWU6aH07Y29uc3QgZD0oMCxsLmVuc3VyZU5vdE51bGwpKCgwLHguZ2V0Q29uZmlnKSgiSU5ESUNBVE9SU19PTl9DSEFSVCIpKS5saW1pdDtyZXR1cm4gcnx8dGhpcy5faXNOb25Db3VudGVkU3R1ZHkocyl8fCgwLHguZW5hYmxlZCkoIklORElDQVRPUlNfT05fQ0hBUlQiKSYmISh0aGlzLmdldFN0dWR5Q291bnRlcihlKT49ZCk/e3N1Y2Nlc3M6ITB9OntzdWNjZXNzOiExLHJlYXNvbjoiZ2VuZXJhbCIsbGltaXRWYWx1ZTpkfX1jcmVhdGVTdHVkeShlLHQsaSxzLG4scixvLGEpe2NvbnN0IGw9dGhpcy5jYW5DcmVhdGVTdHVkeShlLGEpO3JldHVybiBsLnN1Y2Nlc3N8fCJjaGlsZCIhPT1sLnJlYXNvbj8odGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF09bmV3IFIuSGFuZGxlckluZm8obyx0KSx0aGlzLl9zZW5kUmVxdWVzdCgiY3JlYXRlX3N0dWR5IixbZSx0LGkscyxuLHJdKSxhLmZ1bmRhbWVudGFsP2VlKHRoaXMuX2Z1bmRhbWVudGFsQ291bnRlcixlKTp0aGlzLl9pc05vbkNvdW50ZWRTdHVkeShhLmlkKXx8ZWUodGhpcy5fc3R1ZHlDb3VudGVyLGUpLGEuY2hpbGQmJmVlKHRoaXMuX2NoaWxkU3R1ZHlDb3VudGVyLGUpLHRoaXMuX3N0dWR5U3BlY3Muc2V0KEooZSx0KSxhKSwhMCk6KCgwLHcuc2hvd1Rvb01hbnlTdHVkaWVzTm90aWNlKShsLmxpbWl0VmFsdWUpLCExKX1tb2RpZnlTdHVkeShlLHQsaSxzLHIsbyl7UShvPW8/PzAsdGhpcy5fY2hpbGRTdHVkeUNvdW50ZXIsZSksMCE9PW8mJigoMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5U3BlY3MuZ2V0KEooZSx0KSkpLmNoaWxkPW8+MCksdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF09bmV3IFIuSGFuZGxlckluZm8ocix0KTtjb25zdCBhPWUrdDtpZih0aGlzLl9tb2RpZnlTdHVkeU1hcC5oYXMoYSkpe3JldHVybigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fbW9kaWZ5U3R1ZHlNYXAuZ2V0KGEpKShlLHQsaSxzKT8/ITB9e2NvbnN0IHI9KDAsbi5kZWZhdWx0KSgoKGUsdCxpLHMpPT50aGlzLl9zZW5kUmVxdWVzdCgibW9kaWZ5X3N0dWR5IixbZSx0LGksc10pKSw1MDAse21heFdhaXQ6NTUwfSk7cmV0dXJuIHRoaXMuX21vZGlmeVN0dWR5TWFwLnNldChhLHIpLHIoZSx0LGkscyk/PyEwfX1ub3RpZnlTdHVkeShlLHQsaSxzKXtyZXR1cm4gTi5sb2dOb3JtYWwoYFNlbmQgbm90aWZ5X3N0dWR5LCBbJHtlfSwgJHt0fSwgJHtpfSwgJHtKU09OLnN0cmluZ2lmeShzKX1dYCksdGhpcy5fc2VuZFJlcXVlc3QoIm5vdGlmeV9zdHVkeSIsW2UsdCxpLEpTT04uc3RyaW5naWZ5KHMpXSl9cmVtb3ZlU3R1ZHkoZSx0KXtjb25zdCBpPWUrdDtkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fbW9kaWZ5U3R1ZHlNYXAuZ2V0KGkpPy5mbHVzaCgpO2NvbnN0IHM9dGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9zdHVkeSIsW2UsdF0pO2lmKCExPT09cylyZXR1cm4hMTt0aGlzLl9tb2RpZnlTdHVkeU1hcC5kZWxldGUoaSk7Y29uc3Qgbj1KKGUsdCkscj0oMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5U3BlY3MuZ2V0KG4pKTtyZXR1cm4gdGhpcy5fc3R1ZHlTcGVjcy5kZWxldGUobiksci5mdW5kYW1lbnRhbD90ZSh0aGlzLl9mdW5kYW1lbnRhbENvdW50ZXIsZSk6dGhpcy5faXNOb25Db3VudGVkU3R1ZHkoci5pZCl8fHRlKHRoaXMuX3N0dWR5Q291bnRlcixlKSxyLmNoaWxkJiZ0ZSh0aGlzLl9jaGlsZFN0dWR5Q291bnRlcixlKSxzfWNyZWF0ZVBvaW50c2V0KGUsdCxpLHMsbixyLG8pe3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgUi5IYW5kbGVySW5mbyhvLHQpLAp0aGlzLl9zZW5kUmVxdWVzdCgiY3JlYXRlX3BvaW50c2V0IixbZSx0LGkscyxuLHJdKX1tb2RpZnlQb2ludHNldChlLHQsaSxzLG4pe3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgUi5IYW5kbGVySW5mbyhuLHQpLHRoaXMuX3NlbmRSZXF1ZXN0KCJtb2RpZnlfcG9pbnRzZXQiLFtlLHQsaSxzXSl9cmVtb3ZlUG9pbnRzZXQoZSx0KXtyZXR1cm4gZGVsZXRlIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZW1vdmVfcG9pbnRzZXQiLFtlLHRdKX1nZXRNYXJrcyhlLHQsaSxzLG4pe3Rocm93IEVycm9yKCJUaGlzIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQiKX1nZXRUaW1lc2NhbGVNYXJrcyhlLHQsaSxzLG4pe3Rocm93IEVycm9yKCJUaGlzIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQiKX1xdW90ZUNyZWF0ZVNlc3Npb24oZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJxdW90ZV9jcmVhdGVfc2Vzc2lvbiIsW2VdKX1xdW90ZURlbGV0ZVNlc3Npb24oZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJxdW90ZV9kZWxldGVfc2Vzc2lvbiIsW2VdKX1xdW90ZUFkZFN5bWJvbHMoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2FkZF9zeW1ib2xzIixbZSx0XSl9cXVvdGVSZW1vdmVTeW1ib2xzKGUsdCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJxdW90ZV9yZW1vdmVfc3ltYm9scyIsW2UsdF0pfXF1b3RlRmFzdFN5bWJvbHMoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2Zhc3Rfc3ltYm9scyIsW2UsdF0pfXF1b3RlU2V0RmllbGRzKGUsdCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJxdW90ZV9zZXRfZmllbGRzIixbZSx0XSl9cXVvdGVIaWJlcm5hdGVBbGwoZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJxdW90ZV9oaWJlcm5hdGVfYWxsIixbZV0pfWRlcHRoQ3JlYXRlU2Vzc2lvbihlLHQsaSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJkZXB0aF9jcmVhdGVfc2Vzc2lvbiIsW2UsdCxpXSl9ZGVwdGhEZWxldGVTZXNzaW9uKGUpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiZGVwdGhfZGVsZXRlX3Nlc3Npb24iLFtlXSl9ZGVwdGhTZXRTeW1ib2woZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImRlcHRoX3NldF9zeW1ib2wiLFtlLHRdKX1kZXB0aENsZWFyU3ltYm9sKGUpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiZGVwdGhfY2xlYXJfc3ltYm9sIixbZV0pfWRlcHRoU2V0U2NhbGUoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImRlcHRoX3NldF9zY2FsZSIsW2UsdF0pfXVucGFjayhlKXtyZXR1cm4gdGhpcy5fZGF0YUhhbmRsZU1vZHVsZS51bnBhY2soZSl9c2VuZFJlcXVlc3QoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoZSx0KX1zZXRWaXNpYmxlVGltZVJhbmdlKCl7dGhyb3cgbmV3IEVycm9yKCJzZXRWaXNpYmxlVGltZVJhbmdlIGlzIGRlcHJlY2F0ZWQgYW5kIHNob3VsZCBub3QgYmUgdXNlZCIpfV9pbml0KCl7dGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnM9e30sdGhpcy5fc3R1ZHlDb3VudGVyPXt9LHRoaXMuX2NoaWxkU3R1ZHlDb3VudGVyPXt9LHRoaXMuX2Z1bmRhbWVudGFsQ291bnRlcj17fSx0aGlzLl9tb2RpZnlTdHVkeU1hcD1uZXcgTWFwfV9jaGVja0F1dGhUb2tlbkV4cGlyYXRpb24oZSl7MD09PXRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50JiZ0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyJiYhdGhpcy5fYXV0aFRva2VuTWFuYWdlci5jdXJyZW50VG9rZW5Jc1ZhbGlkKCkmJihOLmxvZ0luZm8oZSksdGhpcy5fYXV0aFRva2VuTWFuYWdlci5yZXNldCgpKX1fc2VuZFJlcXVlc3QoZSx0KXtyZXR1cm4gcSYmdGhpcy5fY2hlY2tBdXRoVG9rZW5FeHBpcmF0aW9uKCJBdXRoVG9rZW4gaW52YWxpZGF0aW9uIGRldGVjdGVkIG9uIHNlbmRpbmcgYSBtZXNzYWdlLCByZXF1ZXN0aW5nIG5ldyB0b2tlbiIpLDAhPT10aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudD8odGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWUucHVzaCh7bWV0aG9kOmUsYXJnczp0fSksITApOnRoaXMuX3NlbmRSZXF1ZXN0SW1wbChlLHQpfV9zZW5kUmVxdWVzdEltcGwoZSx0KXtjb25zdCBpPXRoaXMuX3NlbnRNZXRob2RzQ291bnRlcnMuZ2V0KGUpPz8wO3RoaXMuX3NlbnRNZXRob2RzQ291bnRlcnMuc2V0KGUsaSsxKTtjb25zdCBuPXRoaXMuX2RhdGFIYW5kbGVNb2R1bGVbZV0uYXBwbHkodGhpcy5fZGF0YUhhbmRsZU1vZHVsZSx0KSxsPXttOmUscDooMCxzLmRlZmF1bHQpKG4pfSxoPWwubS5pbmNsdWRlcygic3R1ZHkiKSYmbC5wWzVdO2gmJmZ1bmN0aW9uKGUpe2lmKCEoMCxjLmlzT2JqZWN0KShlKSlyZXR1cm4hMTtmb3IoY29uc3QgdCBvZiBPYmplY3Qua2V5cyhlKSl7Y29uc3QgaT1lW3RdO2lmKCEoKDAsYy5pc09iamVjdCkoaSl8fCgwLG8uZGVmYXVsdCkoaSl8fCgwLHIuZGVmYXVsdCkoaSl8fCgwLGEuZGVmYXVsdCkoaSkpKXJldHVybiExfXJldHVybiEwfShoKSYmInRleHQiaW4gaCYmKGgudGV4dD1oLnRleHQuc2xpY2UoMCwxMCkpO2NvbnN0IGQ9SlNPTi5zdHJpbmdpZnkobCk7aWYobi5sZW5ndGg+MCl7Y29uc3QgZT1uWzBdO2Uuc3RhcnRzV2l0aCgicXNfIik/ei5sb2dOb3JtYWwoInNlbmQ6ICIrZCk6ZS5zdGFydHNXaXRoKCJjc18iKSYmTy5sb2dOb3JtYWwoInNlbmQ6ICIrZCw0MDk2KX1lbHNlIE4ubG9nTm9ybWFsKCJzZW5kOiAiK2QpO2NvbnN0IHU9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5wcmVwYXJlRW5jb2RlTWVzc2FnZShlLG4pO3JldHVybiB0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLnNlbmQodSl9X29uQ29ubmVjdCgpe2lmKHRoaXMuY29ubmVjdGVkKCkpcmV0dXJuO2lmKHRoaXMuX3RyYWZmaWNTdGF0cy5zaW5jZUNvbm5lY3Q9MCx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMSx0aGlzLl9jb25uZWN0T25seU9wdGlvbnM9dGhpcy5fY29ubmVjdE9ubHlPcHRpb25zfHx7fSwKdGhpcy5fYXV0aFRva2VuRGZkPXRoaXMuX2dldEF1dGhUb2tlbkRmZCh0aGlzLl9jb25uZWN0T25seU9wdGlvbnMudG9rZW5HcmFiU2Vzc2lvbiksdGhpcy5fY29ubmVjdE9ubHlPcHRpb25zPXt9LHRoaXMuc2Vzc2lvbmlkPXRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0U2Vzc2lvbklkKCksIXRoaXMuc2Vzc2lvbmlkfHx0aGlzLl9pc0Nvbm5lY3RlZClyZXR1cm47dGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWU9W10sdGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQ9MCx0aGlzLl9zdHVkeUNvdW50ZXI9e30sdGhpcy5fY2hpbGRTdHVkeUNvdW50ZXI9e30sdGhpcy5fZnVuZGFtZW50YWxDb3VudGVyPXt9LHRoaXMuX3N0dWR5U3BlY3MuY2xlYXIoKSx0aGlzLl9pc0Nvbm5lY3RlZD0hMCx0aGlzLl9iYW5JbmZvLnNldFZhbHVlKG51bGwpLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkLnNldFZhbHVlKCExKTtjb25zdCBlPUpTT04ucGFyc2UodGhpcy5zZXNzaW9uaWQpO3RoaXMuX3NlbmRMb3dRdWFsaXR5TW9kZUlmRW5hYmxlZCgpLHRoaXMuX21ldGFkYXRhU2VydmVySGFzaD1lLnN0dWRpZXNfbWV0YWRhdGFfaGFzaHx8bnVsbDtjb25zdCB0PXRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0Q29ubmVjdGlvbkVzdGFibGlzaGVkKCk7dHJ5e3RoaXMuX3NlcnZlclRpbWVCYXNlUG9pbnQ9TWF0aC5yb3VuZChlLnRpbWVzdGFtcE1zLXQpfWNhdGNoKGUpe3RoaXMuX3NlcnZlclRpbWVCYXNlUG9pbnQ9RGF0ZS5ub3coKS1wZXJmb3JtYW5jZS5ub3coKX1pZihOLmxvZ0luZm8oIlRpbWUgc2hpZnQgd2l0aCBzZXJ2ZXI6ICIrdGhpcy5fZm9ybWF0VGltZSh0aGlzLnNlcnZlclRpbWUoKS1EYXRlLm5vdygpKSksdGhpcy5fYXV0aFRva2VuRGZkKXt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudCs9MSxOLmxvZ0luZm8oIldhaXQgZm9yIGF1dGggdG9rZW4gYmVmb3JlIHNlbmQgbWVzc2FnZXMiKTtjb25zdCBlPXRoaXMuX2F1dGhUb2tlbkRmZDtlLnRoZW4oKHQ9PntpZihudWxsIT09dGhpcy5fYXV0aFRva2VuRGZkJiZ0aGlzLl9hdXRoVG9rZW5EZmQ9PT1lKXtpZihOLmxvZ05vcm1hbCgiQXV0aCB0b2tlbiByZXF1ZXN0IGlzIGZpbmlzaGVkLCB0b2tlbjogIitCb29sZWFuKHQpKSx0aGlzLl9hdXRoVG9rZW5EZmQ9bnVsbCx0KXtjb25zdCBlPVt7bWV0aG9kOiJzZXRfYXV0aF90b2tlbiIsYXJnczpbdF19XTtpZihHKXtjb25zdCB0PXdpbmRvdy5pbml0RGF0YSYmd2luZG93LmluaXREYXRhLmN1cnJlbnRMb2NhbGVJbmZvO3QmJmUucHVzaCh7bWV0aG9kOiJzZXRfbG9jYWxlIixhcmdzOlt0Lmlzbyx0LmZsYWcudG9VcHBlckNhc2UoKV19KX10aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZS51bnNoaWZ0KC4uLmUpfXRoaXMuX29uU2VuZGluZ1F1ZXVlUmVxdWVzdEZpbmlzaGVkKCksdGhpcy5faXNBdXRoVG9rZW5Mb2FkZWQ9ITAsdGhpcy5fbm90aWZ5U2Vzc2lvbnMoe21ldGhvZDp1LkNoYXJ0QXBpTWVzc2FnZU1ldGhvZC5Db25uZWN0ZWQscGFyYW1zOltdfSl9ZWxzZSBOLmxvZ05vcm1hbCgiQ29tZXMgYXV0aCB0b2tlbiBhZnRlciByZXF1ZXN0aW5nIG5ldyB0b2tlbiBvciBhZnRlciBzb2NrZXQgZGlzY29ubmVjdGVkIil9KSkuY2F0Y2goKGU9PntOLmxvZ05vcm1hbCgoMCxQLmVycm9yVG9TdHJpbmcpKGUpKX0pKX1lbHNlIE4ubG9nV2FybigiRGVmZXJyZWQgYXV0aCB0b2tlbiBvYmplY3QgaXMgbm90IHZhbGlkIiksdGhpcy5faXNBdXRoVG9rZW5Mb2FkZWQ9ITA7IiIhPT10aGlzLl9icm9rZXJJZCYmdGhpcy5fc2VuZEJyb2tlcklkVG9TZXNzaW9uKHRoaXMuX2Jyb2tlcklkKTtjb25zdCBpPXRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0Q29ubmVjdGlvblN0YXJ0KCk7QS50ZWxlbWV0cnkuc2V0U2Vzc2lvbkluZm8odGhpcy5zZXNzaW9uaWQpLEEudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgid2Vic29ja2V0X2Nvbm5lY3RlZCIpLEEudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgid2Vic29ja2V0X2Nvbm5lY3Rpb25fdGltZV9mcmFtZSIse3ZhbHVlOnQtaX0pLEEudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgicmVjb25uZWN0X2NvdW50X2ZyYW1lIix7dmFsdWU6dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRSZWNvbm5lY3RDb3VudCgpfSksQS50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWRpcmVjdF9jb3VudF9mcmFtZSIse3ZhbHVlOnRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0UmVkaXJlY3RDb3VudCgpfSksJHx8KCQ9ITAsQS50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJiZWZvcmVfd2Vic29ja2V0X2Nvbm5lY3Rpb25fdGltZV9mcmFtZSIse3ZhbHVlOml9KSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5yZXNldENvdW50ZXJzKCksY2xlYXJUaW1lb3V0KHRoaXMuX3RlbGVtZXRyeURpc2Nvbm5lY3RUaW1lb3V0KX1fZm9ybWF0VGltZShlKXtyZXR1cm5gJHsoZS8xZTMpLnRvRml4ZWQoMil9IHNlY29uZHMuYH1fZGlzcGF0Y2hOb3RpZmljYXRpb24oZSx0KXtpZigicmVxdWVzdF9kYXRhX3Byb2JsZW1zIj09PWUubWV0aG9kJiZ0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYilyZXR1cm4gdm9pZCB0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYihlLnBhcmFtcyk7aWYoZS5tZXRob2Q9PT1ELldlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2QuU3R1ZGllc01ldGFkYXRhJiZudWxsIT09dGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2UpcmV0dXJuIHZvaWQgdGhpcy5fcHJvY2Vzc2VkTWV0YWRhdGEoZSk7Y29uc3QgaT1lLnBhcmFtcy5zaGlmdCgpO2lmKCF0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tpXSlyZXR1cm47aWYoInN5bWJvbF9yZXNvbHZlZCI9PT1lLm1ldGhvZCl7Y29uc3QgdD1lLnBhcmFtc1sxXS5mdWxsX25hbWU7QS50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJzeW1ib2xfcmVzb2x2ZWQiLHtjb3VudDoxLGFkZGl0aW9uYWw6e3N5bWJvbDp0fX0pO2NvbnN0IHM9QS50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllc1sicmVzb2x2ZV9zeW1ib2xfIitpXQo7Im51bWJlciI9PXR5cGVvZiBzJiZBLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoInN5bWJvbF9yZXNvbHZlX3RpbWVfZnJhbWUiLHt2YWx1ZTp3aW5kb3cucGVyZm9ybWFuY2Uubm93KCktcyxhZGRpdGlvbmFsOntzeW1ib2w6dH19KX1pZihbInNlcmllc19lcnJvciIsInNlcmllc19jb21wbGV0ZWQiXS5pbmNsdWRlcyhlLm1ldGhvZCkmJkEudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXMubWFya3MubGVuZ3RoPjApe2NvbnN0IGU9ImNyZWF0ZV9zZXJpZXNfIitpLHQ9QS50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcy5pbmRleE9mKGUpO3Q+PTAmJkEudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXMubWFya3Muc3BsaWNlKHQsMSl9S3x8InNlcmllc19lcnJvciIhPT1lLm1ldGhvZHx8KEs9ITApO2NvbnN0IHM9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRDb25uZWN0aW9uRXN0YWJsaXNoZWQoKTtpZihudWxsIT09cyYmInNlcmllc19jb21wbGV0ZWQiPT09ZS5tZXRob2QmJihLfHwoSz0hMCxBLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoImZpcnN0X3Nlcmllc19mdWxsX3RpbWVfZnJhbWUiLHt2YWx1ZTp3aW5kb3cucGVyZm9ybWFuY2Uubm93KCktc30pLEEudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXMubWFya3M9W10pLFl8fChZPSEwLEEudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgicGFnZV9mdWxsX2xvYWRfdGltZV9mcmFtZSIse3ZhbHVlOndpbmRvdy5wZXJmb3JtYW5jZS5ub3coKX0pKSksaS5zdGFydHNXaXRoKCJjc18iKSl7bGV0IGk9InJlY3Y6ICIrdDsiZGF0YV91cGRhdGUiPT09ZS5tZXRob2Q/KGk9KDAsZC5pc0hpZ2hSYXRlRW5hYmxlZCkoKT9pOmkuc2xpY2UoMCw1MDApLFcubG9nTm9ybWFsKHRoaXMuX2FwcGVuZER1cmF0aW9uKGksZS50aW1lKSkpOiJzdHVkeV9sb2FkaW5nIj09PWUubWV0aG9kP0YubG9nTm9ybWFsKHRoaXMuX2FwcGVuZER1cmF0aW9uKGksZS50aW1lKSk6InRpY2ttYXJrX3VwZGF0ZSI9PT1lLm1ldGhvZD9ILmxvZ05vcm1hbCh0aGlzLl9hcHBlbmREdXJhdGlvbihpLGUudGltZSkpOk8ubG9nTm9ybWFsKHRoaXMuX2FwcGVuZER1cmF0aW9uKGksZS50aW1lKSl9aWYoaS5zdGFydHNXaXRoKCJxc18iKSl7KCJxdW90ZV9zeW1ib2xfZGF0YSI9PT1lLm1ldGhvZD9VLmxvZ05vcm1hbDp6LmxvZ05vcm1hbCkoInJlY3Y6ICIrdCl9c3dpdGNoKGUubWV0aG9kKXtjYXNlIEQuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5UaW1lU2NhbGVVcGRhdGU6e2NvbnN0IHQ9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5nZXRUaW1lc2NhbGVPYmplY3RzKGUpLHM9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5nZXRUaW1lc2NhbGVDaGFuZ2VzZXQoZSksbj10aGlzLl9jb252ZXJ0VGltZXNjYWxlUmVzcG9uc2Uocyk7dGhpcy5fc2Vzc2lvbnNbaV0ub25NZXNzYWdlKHttZXRob2Q6RC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlRpbWVTY2FsZVVwZGF0ZSxwYXJhbXM6bn0pLHRoaXMuX2RhdGFIYW5kbGVNb2R1bGUucHJlcGFyZURhdGFVcGRhdGVPYmplY3RzKGksdCwoKGUsdCxpKT0+e3RoaXMuX2ludm9rZU5vdGlmaWNhdGlvbkhhbmRsZXIoZSx0LGkpfSkpO2JyZWFrfWNhc2UidGlja21hcmtfdXBkYXRlIjpjb25zdCB0PXsuLi50aGlzLl9jb252ZXJ0VGltZXNjYWxlUmVzcG9uc2UoZS5wYXJhbXNbMF0pLGNoYW5nZXM6W119O3RoaXMuX3Nlc3Npb25zW2ldLm9uTWVzc2FnZSh7bWV0aG9kOkQuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5UaW1lU2NhbGVVcGRhdGUscGFyYW1zOnR9KTticmVhaztjYXNlIEQuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5EYXRhVXBkYXRlOntjb25zdCB0PXRoaXMuX2RhdGFIYW5kbGVNb2R1bGUuZ2V0RGF0YVVwZGF0ZU9iamVjdHMoZSk7dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5wcmVwYXJlRGF0YVVwZGF0ZU9iamVjdHMoaSx0LCgoZSx0LGkpPT57dGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihlLHQsaSl9KSk7YnJlYWt9Y2FzZSJpbmRleF91cGRhdGUiOmZvcihjb25zdCB0IGluIGUucGFyYW1zWzBdKWlmKGUucGFyYW1zWzBdLmhhc093blByb3BlcnR5KHQpKXtjb25zdCBzPXttZXRob2Q6ImluZGV4X3VwZGF0ZSIscGFyYW1zOmUucGFyYW1zWzBdW3RdfTt0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKGksdCxzKX1icmVhaztjYXNlIEQuV2ViY2hhcnRSZXNwb25zZU1ldGhvZC5Dcml0aWNhbEVycm9yOk4ubG9nSW5mbyhuZXcgRGF0ZSsiIGNyaXRpY2FsX2Vycm9yIHNlc3Npb246Iit0aGlzLnNlc3Npb25pZCsiIHJlYXNvbjoiK2UucGFyYW1zWzBdKSxBLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoImNyaXRpY2FsX2Vycm9yIiksdGhpcy5fc2Vzc2lvbnNbaV0ub25NZXNzYWdlKHttZXRob2Q6RC5XZWJjaGFydFJlc3BvbnNlTWV0aG9kLkNyaXRpY2FsRXJyb3IscGFyYW1zOmUucGFyYW1zfSk7YnJlYWs7Y2FzZSJ0aW1lc2NhbGVfY29tcGxldGVkIjpjYXNlInF1b3RlX3N5bWJvbF9kYXRhIjpjYXNlInF1b3RlX2xpc3RfZmllbGRzIjpjYXNlInF1b3RlX2NvbXBsZXRlZCI6Y2FzZSJkZXB0aF9zeW1ib2xfZXJyb3IiOmNhc2UiZGVwdGhfc3ltYm9sX3N1Y2Nlc3MiOmNhc2UiZGQiOmNhc2UiZHB1IjpjYXNlImRlcHRoX2Jhcl9sYXN0X3ZhbHVlIjp0aGlzLl9zZXNzaW9uc1tpXS5vbk1lc3NhZ2Uoe21ldGhvZDplLm1ldGhvZCxwYXJhbXM6ZS5wYXJhbXN9KTticmVhaztjYXNlImNsZWFyX2RhdGEiOmZvcihjb25zdCB0IGluIGUucGFyYW1zWzBdKWUucGFyYW1zWzBdLmhhc093blByb3BlcnR5KHQpJiZ0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKGksdCx7bWV0aG9kOkQuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5DbGVhckRhdGEscGFyYW1zOmUucGFyYW1zWzBdW3RdfSk7YnJlYWs7Y2FzZSBELldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheVBvaW50OmNhc2UgRC5XZWJjaGFydFJlcGxheVNlc3Npb25SZXNwb25zZU1ldGhvZC5SZXBsYXlSZXNvbHV0aW9uczoKY2FzZSBELldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheURhdGFFbmQ6Y2FzZSBELldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheUluc3RhbmNlSWQ6Y2FzZSBELldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheURlcHRoOmNhc2UgRC5XZWJjaGFydFJlcGxheVNlc3Npb25SZXNwb25zZU1ldGhvZC5SZXBsYXlFcnJvcjpjYXNlIEQuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5T2s6dGhpcy5fc2Vzc2lvbnNbaV0ub25NZXNzYWdlKGUpO2JyZWFrO2Nhc2Uic2VyaWVzX3RpbWVmcmFtZSI6Y29uc3Qgcz1lLnBhcmFtc1s0XTtlLnBhcmFtc1s0XT1udWxsPT1zP251bGw6KDAscC5jb252ZXJ0U3RyVG9UaW1lRnJhbWUpKHMpLHRoaXMuX2ludm9rZU5vdGlmaWNhdGlvbkhhbmRsZXIoaSxlLnBhcmFtc1swXSxlKTticmVhaztjYXNlInN5bWJvbF9yZXNvbHZlZCI6IWZ1bmN0aW9uKGUpe2lmKHZvaWQgMD09PWUuY29ycmVjdGlvbnMpe2NvbnN0IHQ9KGUuc3Vic2Vzc2lvbnM/P1tdKS5maW5kKCh0PT50LmlkPT09ZS5zdWJzZXNzaW9uX2lkKSk7dm9pZCAwIT09dCYmKGUuY29ycmVjdGlvbnM9dFsic2Vzc2lvbi1jb3JyZWN0aW9uIl0pfX0oZS5wYXJhbXNbMV0pLHRoaXMuX2ludm9rZU5vdGlmaWNhdGlvbkhhbmRsZXIoaSxlLnBhcmFtc1swXSxlKTticmVhaztkZWZhdWx0OnRoaXMuX2ludm9rZU5vdGlmaWNhdGlvbkhhbmRsZXIoaSxlLnBhcmFtc1swXSxlKX19X25vdGlmeVNlc3Npb25zKGUpe2Zvcihjb25zdCB0IGluIHRoaXMuX3Nlc3Npb25zKWlmKHRoaXMuX3Nlc3Npb25zLmhhc093blByb3BlcnR5KHQpKXtjb25zdCBpPXRoaXMuX3Nlc3Npb25zW3RdOyJmdW5jdGlvbiI9PXR5cGVvZiBpLm9uTWVzc2FnZSYmaS5vbk1lc3NhZ2UoZSl9fV9vbk1lc3NhZ2UoZSl7cSYmdGhpcy5fY2hlY2tBdXRoVG9rZW5FeHBpcmF0aW9uKCJBdXRoVG9rZW4gaW52YWxpZGF0aW9uIGRldGVjdGVkIG9uIHJlY2VpdmluZyBhIG1lc3NhZ2UsIHJlcXVlc3RpbmcgbmV3IHRva2VuIiksdGhpcy5fY2FsY1RyYWZmaWNTdGF0cyhlKTtjb25zdCB0PXRoaXMudW5wYWNrKGUpO3RoaXMuX3JlY2VpdmVkTWV0aG9kc0NvdW50ZXJzLnNldCh0Lm1ldGhvZCwodGhpcy5fcmVjZWl2ZWRNZXRob2RzQ291bnRlcnMuZ2V0KHQubWV0aG9kKT8/MCkrMSksInRfbXMiaW4gdCYmKDAsci5kZWZhdWx0KSh0LnRfbXMpJiZ3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5jb21wZW5zYXRlQ29ubmVjdGlvbkxhZyh0LnRfbXMpLCJwcm90b2NvbF9zd2l0Y2hlZCIhPT10Lm1ldGhvZD8icHJvdG9jb2xfZXJyb3IiIT09dC5tZXRob2Q/dGhpcy5fZGlzcGF0Y2hOb3RpZmljYXRpb24odCxlKTp0aGlzLl9wcm9jZXNzUHJvdG9jb2xFcnJvcih0KTpOLmxvZ0Vycm9yKCJVbmV4cGVjdGVkIHByb3RvY29sIGNoYW5naW5nIHJlcXVlc3QsIHRyeSBza2lwcGluZy4gUmVxdWVzdGVkIHByb3RvY29sOiIrdC5wYXJhbXNbMF0pfWFzeW5jIF9wcm9jZXNzZWRNZXRhZGF0YShlKXtjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2UpLGk9YXdhaXQgdGhpcy5faW5pdENhY2hlUHJvbWlzZSxuPXdpbmRvdy5wcm8uaGFzaCgpLHI9KDAsXy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iik7dHJ5e2F3YWl0IGkuc2V0VmFsdWUobmUsKDAscy5kZWZhdWx0KShlKSk7Y29uc3Qgbz1BcnJheS5mcm9tKG5ldyBTZXQoZS5wYXJhbXNbMV0ubWV0YWluZm8ubWFwKChlPT57cmV0dXJuYCR7KHQ9KDAsZy5wYXJzZUlkU3RyaW5nKShlLmlkKSkucGFja2FnZUlkfS0ke3QudmVyc2lvbn1gO3ZhciB0fSkpKSk7aWYoTi5sb2dOb3JtYWwoYFVwZGF0ZWQgc3R1ZGllc19tZXRhZGF0YSBjYWNoZSwgdW5pcXVlIHBhY2thZ2UgaWRzOiAke28uam9pbigiLCAiKX1gKSwhcil0cnl7YXdhaXQgaS5zZXRWYWx1ZShzZSwoMCxzLmRlZmF1bHQpKG4pKSxOLmxvZ05vcm1hbCgiVXBkYXRlZCBwcm9faGFzaCBjYWNoZSIpfWNhdGNoKGUpe3QucmVqZWN0KCksTi5sb2dFcnJvcigiQ2Fubm90IHVwZGF0ZSBwcm9faGFzaCBjYWNoZSwgcmVhc29uOiAiK2UpfX1jYXRjaChlKXt0LnJlamVjdCgpLE4ubG9nRXJyb3IoIkNhbm5vdCB1cGRhdGUgc3R1ZGllc19tZXRhZGF0YSBjYWNoZSwgcmVhc29uOiAiK2UpfXQucmVzb2x2ZSgoMCxzLmRlZmF1bHQpKGUpKX1faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihlLHQsaSl7aWYodm9pZCAwPT09dClyZXR1cm47Y29uc3Qgcz10aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XTt2b2lkIDAhPT1zJiYocy5zaW5nbGVTaG90JiZkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0scy5oYW5kbGVyPy4oaSkpfV9jb252ZXJ0VGltZXNjYWxlUmVzcG9uc2UoZSl7cmV0dXJuIHRoaXMuX2RhdGFIYW5kbGVNb2R1bGUuY29udmVydFRpbWVzY2FsZVJlc3BvbnNlKGUpfV9hcHBlbmREdXJhdGlvbihlLHQpe3JldHVybiB0P2Ake2V9LCBkdXJhdGlvbjogJHt0aGlzLl9mb3JtYXRUaW1lKHRoaXMuc2VydmVyVGltZSgpLTFlMyp0KX1gOmV9YXN5bmMgX3JlcXVlc3RNZXRhZGF0YSgpe2NvbnN0IGU9dGhpcy5fbWFrZU5leHRSZXF1ZXN0SWQoKTtWLmxvZ05vcm1hbChgUmVxdWVzdGluZyBtZXRhaW5mbyAjJHtlfWApO2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZSksaT13aW5kb3cucHJvLG49aS5oYXNoKCkscj0oMCxfLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtOLmxvZ05vcm1hbCgiUmVxdWVzdGluZyBwcm8gaGFzaCIpO3RyeXtjb25zdCBvPWF3YWl0IHRoaXMuX2luaXRDYWNoZVByb21pc2U7YXdhaXQgby5taWdyYXRlVmFsdWUoInByb19oYXNoIixzZSksYXdhaXQgby5taWdyYXRlVmFsdWUoaWUsbmUpO2NvbnN0IGE9YXdhaXQgby5nZXRWYWx1ZShzZSk7aWYobnVsbCE9PWEmJmE9PT1ufHxyKXtOLmxvZ05vcm1hbCgiUHJvIGhhc2ggaGFzIG5vdCBjaGFuZ2VkLCByZXF1ZXN0aW5nIGZyb20gbG9jYWwiKQo7Y29uc3Qgcj1hd2FpdCBvLmdldFZhbHVlKG5lKSxhPW51bGwhPT1yJiZyLnBhcmFtc1sxXS5oYXNofHxudWxsO2lmKG51bGw9PT1hfHxudWxsPT09dGhpcy5fbWV0YWRhdGFTZXJ2ZXJIYXNofHx0aGlzLl9tZXRhZGF0YVNlcnZlckhhc2ghPT1hKU4ubG9nTm9ybWFsKGBNZXRhZGF0YSBoYXNoIGhhcyBjaGFuZ2VkIChjYWNoZWQ6ICcke2F9Jywgc2VydmVyOiAnJHt0aGlzLl9tZXRhZGF0YVNlcnZlckhhc2h9JylgKSx0aGlzLl9yZXF1ZXN0TWV0YWRhdGFGcm9tU2VydmVyKGUpO2Vsc2V7aWYoIWkuaGFzUGFja2FnZSgidHYtdm9sdW1lYnlwcmljZSIpfHx2b2lkIDAhPT1yLnBhcmFtc1sxXS5tZXRhaW5mby5maW5kKChlPT5lLmlkLmluY2x1ZGVzKCJAdHYtdm9sdW1lYnlwcmljZSIpKSkpcmV0dXJuIE4ubG9nTm9ybWFsKCJVc2luZyBzdHVkaWVzX21ldGFkYXRhIGZyb20gYnJvd3NlciBjYWNoZSIpLHZvaWQgdC5yZXNvbHZlKCgwLHMuZGVmYXVsdCkocikpO04ubG9nTm9ybWFsKGBEZS1zeW5jIGRldGVjdGVkISBwcm8uaGFzaCBjb250YWlucyBWYlBSIHN0dWRpZXMsIGJ1dCBkYXRhIGZyb20gY2FjaGUgZG9lc24ndCBhbmQgcHJvLmhhc2ggaXNuJ3QgY2hhbmdlZCwgcHJvLmhhc2g9JHtufWApLHRoaXMuX3JlcXVlc3RNZXRhZGF0YUZyb21TZXJ2ZXIoZSl9fWVsc2UgTi5sb2dOb3JtYWwoYFBybyBoYXNoIGhhcyBjaGFuZ2VkIChjYWNoZWQ6ICcke2F9JywgY3VycmVudDogJyR7bn0nKWApLHRoaXMuX3JlcXVlc3RNZXRhZGF0YUZyb21TZXJ2ZXIoZSl9Y2F0Y2godCl7Ti5sb2dFcnJvcigiQ2Fubm90IGdldCBzdHVkaWVzX21ldGFkYXRhLCByZWFzb246ICIrdCksdGhpcy5fcmVxdWVzdE1ldGFkYXRhRnJvbVNlcnZlcihlKX1maW5hbGx5e1YubG9nTm9ybWFsKGBSZXF1ZXN0aW5nIHN0dWRpZXMgbWV0YWRhdGEgIyR7ZX0gZmluaXNoZWRgKX19X21ha2VOZXh0UmVxdWVzdElkKCl7cmV0dXJuIm1ldGFkYXRhXyIrdGhpcy5fbWV0YWRhdGFSZXF1ZXN0TmV4dE51bWJlcisrfV9wcm9jZXNzUHJvdG9jb2xFcnJvcihlKXtjb25zdCB0PWUucGFyYW1zWzBdO04ubG9nRXJyb3IoYFByb3RvY29sIGVycm9yLiBSZWFzb249JHt0fS5gKSwiYmFubmVkIiE9PXQmJiJiYW5uZWQgYnkgdXNlcl9pZCIhPT10JiYiYmFubmVkIGJ5IGlwIiE9PXR8fCh0aGlzLl9iYW5JbmZvLnNldFZhbHVlKHtyZWFzb246dH0pLHRoaXMuZGlzY29ubmVjdCgpKSx0aGlzLl9jb25uZWN0aW9uc0xpbWl0UmVhY2hlZC5zZXRWYWx1ZSgidXNlciBjb25uZWN0aW9ucyBsaW1pdCByZWFjaGVkIj09PXQpfV9yZXF1ZXN0TWV0YWRhdGFGcm9tU2VydmVyKGUpe3JldHVybiBOLmxvZ05vcm1hbCgiUmVxdWVzdCBzdHVkaWVzX21ldGFkYXRhIGZyb20gc2VydmVyIiksdGhpcy5fc2VuZFJlcXVlc3QoInJlcXVlc3Rfc3R1ZGllc19tZXRhZGF0YSIsW2VdKX1fYmluZFNvY2tldEV2ZW50cygpe3RoaXMuY29ubmVjdERmZD1uZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLm9uKCJjb25uZWN0IiwoKCk9Pnt0aGlzLl9vbkNvbm5lY3QoKSxlKCl9KSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5vbigibWVzc2FnZSIsdGhpcy5fb25NZXNzYWdlLmJpbmQodGhpcykpLHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24ub24oImRpc2Nvbm5lY3QiLCgoKT0+e3RoaXMuX2F1dGhUb2tlbkRmZCYmKHRoaXMuX2F1dGhUb2tlbkRmZD1udWxsKSx0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VFcnJiYWNrJiZ0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VFcnJiYWNrKCksdGhpcy5faXNDb25uZWN0ZWQ9ITEsdGhpcy5fbm90aWZ5U2Vzc2lvbnMoe21ldGhvZDp1LkNoYXJ0QXBpTWVzc2FnZU1ldGhvZC5EaXNjb25uZWN0ZWQscGFyYW1zOltdfSksdGhpcy5fYmFuSW5mby52YWx1ZSgpfHwodGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2U9bnVsbCksdGhpcy5fZGlzY29ubmVjdENvdW50PSh0aGlzLl9kaXNjb25uZWN0Q291bnR8fDApKzEsdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc0Nvbm5lY3RlZCgpJiYodGhpcy5fdGVsZW1ldHJ5RGlzY29ubmVjdFRpbWVvdXQ9c2V0VGltZW91dCgoKCk9PntBLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoImRpc2Nvbm5lY3QiKX0pLDVlMyksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc01heFJlY29ubmVjdHMoKSYmKHRoaXMuX25vdGlmeVNlc3Npb25zKHttZXRob2Q6dS5DaGFydEFwaU1lc3NhZ2VNZXRob2QuUmVjb25uZWN0QmFpbG91dCxwYXJhbXM6W119KSx0KCksQS50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWNvbm5lY3RfYmFpbG91dCIpKSl9KSl9KSl9X2NhbGNUcmFmZmljU3RhdHMoZSl7Y29uc3QgdD1lLmxlbmd0aDt0aGlzLl90cmFmZmljU3RhdHMudG90YWwrPXQsdGhpcy5fdHJhZmZpY1N0YXRzLnNpbmNlQ29ubmVjdCs9dCx0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rKz10fV9zZW5kQnJva2VySWRUb1Nlc3Npb24oZSl7cmV0dXJuIWp8fHRoaXMuX3NlbmRSZXF1ZXN0KCJzZXRfYnJva2VyIixbZV0pfV9lbmFibGVMb3dRdWFsaXR5TW9kZSgpe04ubG9nTm9ybWFsKCJsb3cgcXVhbGl0eSBtb2RlIGlzIGVuYWJsZWQiKSx0aGlzLl9sb3dRdWFsaXR5RW5hYmxlZD0hMCx0aGlzLl9zZW5kTG93UXVhbGl0eU1vZGVJZkVuYWJsZWQoKX1fc2VuZExvd1F1YWxpdHlNb2RlSWZFbmFibGVkKCl7dGhpcy5fbG93UXVhbGl0eUVuYWJsZWQmJnRoaXMuY29ubmVjdGVkKCkmJnRoaXMuX3NlbmRSZXF1ZXN0KCJzZXRfZGF0YV9xdWFsaXR5IixbXSl9X2dldEF1dGhUb2tlbkRmZChlKXtpZih0aGlzLl9sb2FkTmV3QmFycylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJsb2FkX25ld190b2tlbiIpO2lmKCgwLF8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpfHwtMSE9PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigid2lkZ2V0X3Rva2VuIil8fC0xIT09d2luZG93LmxvY2F0aW9uLmhhc2guaW5kZXhPZigid2lkZ2V0X3Rva2VuIikpe2NvbnN0IGU9d2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiCjtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHZbZV18fCJ3aWRnZXRfdXNlcl90b2tlbiIpfWlmKCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJ1bmF1dGhvcml6ZWRfdXNlcl90b2tlbiIpO2lmKCF0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyKXtjb25zdCBlPXRoaXMuX2F1dGhUb2tlbk1hbmFnZXI9bmV3IG0uQXV0aFRva2VuO2UuaW52YWxpZGF0ZWQuc3Vic2NyaWJlKG51bGwsKGFzeW5jKCk9Pnt0cnl7dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQrPTE7Y29uc3QgdD1hd2FpdCBlLmdldCgpO2lmKCF0KXJldHVybiB2b2lkIE4ubG9nSW5mbygiQXV0aFRva2VuIGludmFsaWRhdGVkLCBidXQgbmV3IHRva2VuIGlzIGVtcHR5Iik7aWYoIXRoaXMuY29ubmVjdGVkKCkpcmV0dXJuIHZvaWQgTi5sb2dJbmZvKGBBdXRoVG9rZW4gaW52YWxpZGF0ZWQsIGJ1dCBzb2NrZXQgaXMgbm90IGNvbm5lY3RlZC4gVG9rZW46ICR7dH1gKTtOLmxvZ0luZm8oIkF1dGhUb2tlbiBpbnZhbGlkYXRlZCwgcmVmcmVzaGluZyB0b2tlbiBhbmQgcmVzZW5kaW5nIHRvIHNlc3Npb24iKSx0aGlzLl9zZW5kUmVxdWVzdEltcGwoInNldF9hdXRoX3Rva2VuIixbdF0pfWNhdGNoKGUpe3Rocm93IE4ubG9nRXJyb3IoYEZhaWxlZCB0byByZWZyZXNoIGF1dGggdG9rZW4gYWZ0ZXIgaW52YWxpZGF0aW9uOiAkeygwLFAuZXJyb3JUb1N0cmluZykoZSl9YCksZX1maW5hbGx5e3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50LT0xLDA9PT10aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudCYmZS5jdXJyZW50VG9rZW5Jc1ZhbGlkKCkmJnRoaXMuX2ZsdXNoUGVuZGluZ01lc3NhZ2VzKCl9fSkpfXJldHVybiB0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyLmdldChlKX1fb25TZW5kaW5nUXVldWVSZXF1ZXN0RmluaXNoZWQoKXt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudC09MSxOLmxvZ0luZm8oYFNlbmRpbmcgcXVldWUgcmVxdWVzdCBmaW5pc2hlZC4gUmVtYWluaW5nIHBlbmRpbmcgcmVxdWVzdHM9JHt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudH1gKSx0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudDwwJiZOLmxvZ0Vycm9yKGBJbnZhbGlkIHF1ZXVlIHN0YXRlPSR7dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnR9YCksMD09PXRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50JiZ0aGlzLl9mbHVzaFBlbmRpbmdNZXNzYWdlcygpfV9mbHVzaFBlbmRpbmdNZXNzYWdlcygpe04ubG9nSW5mbyhgRmx1c2ggcGVuZGluZyBtZXNzYWdlcy4gQ291bnQ9JHt0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZS5sZW5ndGh9YCksdGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWUuZm9yRWFjaCgoZT0+dGhpcy5fc2VuZFJlcXVlc3QoZS5tZXRob2QsZS5hcmdzKSkpLHRoaXMuX3BlbmRpbmdNZXNzYWdlc1F1ZXVlPVtdfX0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmKHdpbmRvdy5DaGFydEFwaUluc3RhbmNlPW5ldyBsZSh3aW5kb3cuV1NCYWNrZW5kQ29ubmVjdGlvbikpfSw2ODI4MjIoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztpLmQodCx7U3Vic2Vzc2lvbklkOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5SZWd1bGFyPSJyZWd1bGFyIixlLkV4dGVuZGVkPSJleHRlbmRlZCIsZS5QcmVNYXJrZXQ9InByZW1hcmtldCIsZS5Qb3N0TWFya2V0PSJwb3N0bWFya2V0IixlLlR3ZW50eUZvdXJIb3VyPSIyNGgiLGUuTmlnaHQ9Im5pZ2h0In0oc3x8KHM9e30pKX0sNDc3MTU1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0FjdGlvbldpdGhTdGFuZGFyZEljb246KCk9PnJ9KTt2YXIgcz1pKDUwOTA0KSxuPWkoNjEzODgxKTtjbGFzcyByIGV4dGVuZHMgcy5BY3Rpb257Y29uc3RydWN0b3IoZSl7Y29uc3R7b3B0aW9uczp0LGN1c3RvbUFjdGlvbk9wdGlvbnM6aX09ZTt0Lmljb25JZCYmKHQuaWNvbj10Lmljb24/P24uaWNvbnMuZ2V0KHQuaWNvbklkKSksaSYmaS5pY29uSWQmJihpLmljb249aS5pY29uPz9uLmljb25zLmdldChpLmljb25JZCkpLHN1cGVyKGUpfX19LDUwOTA0KGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHM7aS5kKHQse0FjdGlvbjooKT0+YyxMb2FkZXI6KCk9PmQsU2VwYXJhdG9yOigpPT5ofSksZnVuY3Rpb24oZSl7ZS5Ob3JtYWw9Im5vcm1hbCIsZS5CaWc9ImJpZyJ9KHN8fChzPXt9KSk7dmFyIG49aSgxMzg2MzgpLHI9aSgyMzU3MjQpLG89aSgxNTAxNTApLGE9aSg5NDgzODApO2NsYXNzIGwgZXh0ZW5kcyBhLkRlbGVnYXRle2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fb25TdGFydExpc3RlbmluZz1udWxsLHRoaXMuX29uU3RvcExpc3RlbmluZz1udWxsLHRoaXMuX29uU3RhcnRMaXN0ZW5pbmc9ZXx8bnVsbH1zdWJzY3JpYmUoZSx0LGkpe2NvbnN0IHM9MD09PXRoaXMuX2xpc3RlbmVycy5sZW5ndGg7c3VwZXIuc3Vic2NyaWJlKGUsdCxpKSxzJiZ0aGlzLl9saXN0ZW5lcnMubGVuZ3RoPjAmJnRoaXMuX29uU3RhcnRMaXN0ZW5pbmcmJih0aGlzLl9vblN0b3BMaXN0ZW5pbmc9dGhpcy5fb25TdGFydExpc3RlbmluZygpKX11bnN1YnNjcmliZShlLHQpe2NvbnN0IGk9MD09PXRoaXMuX2xpc3RlbmVycy5sZW5ndGg7c3VwZXIudW5zdWJzY3JpYmUoZSx0KSwhaSYmMD09PXRoaXMuX2xpc3RlbmVycy5sZW5ndGgmJnRoaXMuX29uU3RvcExpc3RlbmluZyYmKHRoaXMuX29uU3RvcExpc3RlbmluZygpLHRoaXMuX29uU3RvcExpc3RlbmluZz1udWxsKX11bnN1YnNjcmliZUFsbChlKXtjb25zdCB0PTA9PT10aGlzLl9saXN0ZW5lcnMubGVuZ3RoO3N1cGVyLnVuc3Vic2NyaWJlQWxsKGUpLCF0JiYwPT09dGhpcy5fbGlzdGVuZXJzLmxlbmd0aCYmdGhpcy5fb25TdG9wTGlzdGVuaW5nJiYodGhpcy5fb25TdG9wTGlzdGVuaW5nKCksdGhpcy5fb25TdG9wTGlzdGVuaW5nPW51bGwpfWRlc3Ryb3koKXt0aGlzLl9vblN0b3BMaXN0ZW5pbmcmJih0aGlzLl9vblN0b3BMaXN0ZW5pbmcoKSx0aGlzLl9vblN0b3BMaXN0ZW5pbmc9bnVsbCksc3VwZXIuZGVzdHJveSgpfX1jbGFzcyBje2NvbnN0cnVjdG9yKGUpe3RoaXMudHlwZT0iYWN0aW9uIiwKdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX2xvYWRPcHRpb25zUHJvbWlzZT1udWxsLHRoaXMuX2N1c3RvbUFjdGlvbj1udWxsO2NvbnN0e2FjdGlvbklkOnQsb3B0aW9uczppLG9wdGlvbnNMb2FkZXI6cyxjdXN0b21BY3Rpb25PcHRpb25zOnIsY3VzdG9tQWN0aW9uT3B0aW9uc0xvYWRlcjphLGlkOmg9by5ndWlkKCksb25TdGFydExpc3RlbmluZzpkfT1lOygwLG4uYXNzZXJ0KSh2b2lkIDAhPT10LCJhY3Rpb25JZCBtdXN0IGJlIGRlZmluZWQiKSx0aGlzLmlkPWgsdGhpcy5fb25VcGRhdGU9bmV3IGwoZCksdGhpcy5fb3B0aW9ucz17YWN0aW9uSWQ6dCwuLi5pfSx0aGlzLnVwZGF0ZShpKSx0aGlzLl9sb2FkT3B0aW9uc0dldHRlcj1zPz9udWxsLHRoaXMuX2xvYWRPcHRpb25zR2V0dGVyJiYodGhpcy5fb3B0aW9ucy5sb2FkaW5nPSEwKSxyJiYodGhpcy5fY3VzdG9tQWN0aW9uPW5ldyBjKHthY3Rpb25JZDp0LG9wdGlvbnM6cixvcHRpb25zTG9hZGVyOmEsaWQ6aH0pKX1jdXN0b20oKXtyZXR1cm4gdGhpcy5fY3VzdG9tQWN0aW9ufWV4ZWN1dGUoKXt0aGlzLl9vcHRpb25zLmNoZWNrYWJsZSYmdGhpcy51cGRhdGUoe2NoZWNrZWQ6IXRoaXMuX29wdGlvbnMuY2hlY2tlZH0pLHRoaXMuX29wdGlvbnMub25FeGVjdXRlJiZ0aGlzLl9vcHRpb25zLm9uRXhlY3V0ZSh0aGlzKX1nZXRMYWJlbCgpe3JldHVybiB0aGlzLl9vcHRpb25zLmxhYmVsfHwiIn1nZXRTdWJJdGVtcygpe3JldHVybiB0aGlzLl9vcHRpb25zLnN1Ykl0ZW1zfHxbXX1pc0Rpc2FibGVkKCl7cmV0dXJuITA9PT10aGlzLl9vcHRpb25zLmRpc2FibGVkfWlzQWN0aXZlKCl7cmV0dXJuITA9PT10aGlzLl9vcHRpb25zLmFjdGl2ZX1pc0NoZWNrYWJsZSgpe3JldHVybiEwPT09dGhpcy5fb3B0aW9ucy5jaGVja2FibGV9aXNDaGVja2VkKCl7cmV0dXJuITA9PT10aGlzLl9vcHRpb25zLmNoZWNrZWR9aXNMb2FkaW5nKCl7cmV0dXJuITA9PT10aGlzLl9vcHRpb25zLmxvYWRpbmd9bG9hZE9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fbG9hZE9wdGlvbnNQcm9taXNlP3RoaXMuX2xvYWRPcHRpb25zUHJvbWlzZTp0aGlzLl9sb2FkT3B0aW9uc0dldHRlcj8odGhpcy5fbG9hZE9wdGlvbnNQcm9taXNlPXRoaXMuX2xvYWRPcHRpb25zR2V0dGVyKCkudGhlbigoZT0+dGhpcy51cGRhdGUoey4uLmUsbG9hZGluZzohMX0pKSksdGhpcy5fbG9hZE9wdGlvbnNQcm9taXNlKTpudWxsfWdldFNpemUoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5zaXplPz8ibm9ybWFsIn1nZXRQYXlsb2FkKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMucGF5bG9hZH11cGRhdGUoZSl7dGhpcy5fZGVzdHJveWVkfHwodGhpcy5fdW5iaW5kU2hvcnRjdXQoKSxlLmhvdGtleUhhc2gmJih0aGlzLl9vcHRpb25zLnNob3J0Y3V0SGludD0oMCxyLmh1bWFuUmVhZGFibGVIYXNoKShlLmhvdGtleUhhc2gpKSx0aGlzLl9vcHRpb25zPU9iamVjdC5hc3NpZ24odGhpcy5fb3B0aW9ucyxlKSx0aGlzLl9iaW5kU2hvcnRjdXQoKSx0aGlzLl9vblVwZGF0ZS5maXJlKHRoaXMpKX1vblVwZGF0ZSgpe3JldHVybiB0aGlzLl9vblVwZGF0ZX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLmxvYWRPcHRpb25zKCkse2FjdGlvbklkOnRoaXMuX29wdGlvbnMuYWN0aW9uSWQsbGFiZWw6dGhpcy5nZXRMYWJlbCgpLHN0eWxlZExhYmVsOnRoaXMuX29wdGlvbnMuc3R5bGVkTGFiZWwsZGlzYWJsZWQ6dGhpcy5pc0Rpc2FibGVkKCksYWN0aXZlOnRoaXMuaXNBY3RpdmUoKSxzdWJJdGVtczp0aGlzLmdldFN1Ykl0ZW1zKCksY2hlY2thYmxlOnRoaXMuaXNDaGVja2FibGUoKSxjaGVja2VkOnRoaXMuaXNDaGVja2VkKCksbG9hZGluZzp0aGlzLmlzTG9hZGluZygpLHNpemU6dGhpcy5nZXRTaXplKCksZG9Ob3RDbG9zZU9uQ2xpY2s6dGhpcy5fb3B0aW9ucy5kb05vdENsb3NlT25DbGlja3x8ITEsc2hvcnRjdXRIaW50OnRoaXMuX29wdGlvbnMuc2hvcnRjdXRIaW50LGhpbnQ6dGhpcy5fb3B0aW9ucy5oaW50LGljb246dGhpcy5fb3B0aW9ucy5pY29uLGljb25JZDp0aGlzLl9vcHRpb25zLmljb25JZCxpY29uQ2hlY2tlZDp0aGlzLl9vcHRpb25zLmljb25DaGVja2VkLHRvb2xib3g6dGhpcy5fb3B0aW9ucy50b29sYm94LHNob3dUb29sYm94T25Ib3Zlcjp0aGlzLl9vcHRpb25zLnNob3dUb29sYm94T25Ib3Zlcnx8ITEsc3RhdE5hbWU6dGhpcy5fb3B0aW9ucy5zdGF0TmFtZSxuYW1lOnRoaXMuX29wdGlvbnMubmFtZSxpbnZpc2libGVIb3RrZXk6dGhpcy5fb3B0aW9ucy5pbnZpc2libGVIb3RrZXksbm9JbnRlcmFjdGl2ZTp0aGlzLl9vcHRpb25zLm5vSW50ZXJhY3RpdmUsanN4TGFiZWw6ImpzeExhYmVsImluIHRoaXMuX29wdGlvbnM/dGhpcy5fb3B0aW9ucy5qc3hMYWJlbDp2b2lkIDAsaXNSZXBlYXRBY2NlcHRlZDp0aGlzLl9vcHRpb25zLmlzUmVwZWF0QWNjZXB0ZWR9fWRlc3Ryb3koKXt0aGlzLl9kZXN0cm95ZWQ9ITAsdGhpcy5fb25VcGRhdGUuZGVzdHJveSgpLHRoaXMuX3VuYmluZFNob3J0Y3V0KCksdGhpcy5fb3B0aW9ucy5vbkRlc3Ryb3k/LigpLHRoaXMuX2N1c3RvbUFjdGlvbj8uZGVzdHJveSgpfW9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fb3B0aW9uc31fYmluZFNob3J0Y3V0KCl7aWYoIXRoaXMuX29wdGlvbnMuaG90a2V5R3JvdXB8fCF0aGlzLl9vcHRpb25zLmhvdGtleUhhc2gpcmV0dXJuO2NvbnN0IGU9InN0cmluZyI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLmxhYmVsP3RoaXMuX29wdGlvbnMubGFiZWw6dGhpcy5fb3B0aW9ucy5uYW1lO3RoaXMuX2hvdGtleUFjdGlvbj10aGlzLl9vcHRpb25zLmhvdGtleUdyb3VwLmFkZCh7aG90a2V5OnRoaXMuX29wdGlvbnMuaG90a2V5SGFzaCxpc1JlcGVhdEFjY2VwdGVkOnRoaXMuX29wdGlvbnMuaXNSZXBlYXRBY2NlcHRlZCxkZXNjOmUsaGFuZGxlcjooKT0+dGhpcy5leGVjdXRlKCksaXNEaXNhYmxlZDooKT0+dGhpcy5pc0Rpc2FibGVkKCl9KX1fdW5iaW5kU2hvcnRjdXQoKXt0aGlzLl9ob3RrZXlBY3Rpb24mJih0aGlzLl9ob3RrZXlBY3Rpb24uZGVzdHJveSgpLGRlbGV0ZSB0aGlzLl9ob3RrZXlBY3Rpb24pfX1jbGFzcyBoe2NvbnN0cnVjdG9yKGUpewp0aGlzLnR5cGU9InNlcGFyYXRvciIsdGhpcy5pZD1vLmd1aWQoKSx0aGlzLl9oaW50PWV9Z2V0SGludCgpe3JldHVybiB0aGlzLl9oaW50fX1jbGFzcyBkIGV4dGVuZHMgY3tjb25zdHJ1Y3RvcihlKXtzdXBlcih7YWN0aW9uSWQ6ZSxvcHRpb25zOnt9fSl9aXNMb2FkaW5nKCl7cmV0dXJuITB9Z2V0U2l6ZSgpe3JldHVybiJiaWcifX19LDYxMzg4MShlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtpY29uczooKT0+eH0pLGZ1bmN0aW9uKGUpe2UuQ2hhcnRTaG93RGF0YVdpbmRvdz0iQ2hhcnQuU2hvd0RhdGFXaW5kb3ciLGUuQ2hhcnRSZXNldD0iQ2hhcnQuUmVzZXQiLGUuQ2hhcnRSZW1vdmVTZWxlY3RlZE9iamVjdD0iQ2hhcnQuUmVtb3ZlU2VsZWN0ZWRPYmplY3QiLGUuU2V0dGluZ3M9IlNldHRpbmdzIixlLkNoYXJ0SGlkZT0iQ2hhcnQuSGlkZSIsZS5DaGFydFN5bWJvbEluZm89IkNoYXJ0LlN5bWJvbEluZm8iLGUuQ2hhcnRGaW5hbmNpYWxzPSJDaGFydC5GaW5hbmNpYWxzIixlLkNoYXJ0VGVjaG5pY2Fscz0iQ2hhcnQuVGVjaG5pY2FscyIsZS5DaGFydERldGFpbHNNZXRyaWNzPSJDaGFydC5EZXRhaWxzTWV0cmljcyIsZS5DaGFydFNlYXNvbmFscz0iQ2hhcnQuU2Vhc29uYWxzIixlLkNoYXJ0QW5hbHlzaXM9IkNoYXJ0LkFuYWx5c2lzIixlLkNoYXJ0U3RvY2tCb25kcz0iQ2hhcnQuU3RvY2tCb25kcyIsZS5DaGFydEZvcndhcmRDdXJ2ZT0iQ2hhcnQuRm9yd2FyZEN1cnZlIixlLkNoYXJ0RGVyaXZhdGl2ZXM9IkNoYXJ0LkRlcml2YXRpdmVzIixlLkNoYXJ0TmV3c0RpYWxvZz0iQ2hhcnQuTmV3c0RpYWxvZyIsZS5DaGFydENvbnRyYWN0cz0iQ2hhcnQuQ29udHJhY3RzIixlLkNoYXJ0Rm9yZWNhc3Q9IkNoYXJ0LkZvcmVjYXN0IixlLkNoYXJ0T3B0aW9ucz0iQ2hhcnQuT3B0aW9ucyIsZS5DaGFydERvY3VtZW50cz0iQ2hhcnQuRG9jdW1lbnRzIixlLkNoYXJ0RXRmcz0iQ2hhcnQuRXRmcyIsZS5DaGFydEVjb25vbXlJZGljYXRvcnM9IkNoYXJ0LkVjb25vbXlJbmRpY2F0b3JzIixlLkFsZXJ0QWRkPSJBbGVydC5BZGQiLGUuQWxlcnRFZGl0PSJBbGVydC5FZGl0IixlLkFsZXJ0UmVzdGFydD0iQWxlcnQuUmVzdGFydCIsZS5BbGVydFN0b3A9IkFsZXJ0LlN0b3AiLGUuQWxlcnRGaXJlc0Rvd25sb2FkPSJBbGVydC5GaXJlc0Rvd25sb2FkIixlLkNsZWFyQWxsPSJBbGVydC5DbGVhciIsZS5DaGFydFZpc3VhbE9yZGVyPSJDaGFydC5WaXN1YWxPcmRlciIsZS5DaGFydFNob3dPYmplY3Q9IkNoYXJ0LlNob3dPYmplY3QiLGUuQ2hhcnRQcmljZVNjYWxlPSJDaGFydC5QcmljZVNjYWxlIixlLkNoYXJ0TW92ZT0iQ2hhcnQuTW92ZSIsZS5DaGFydEFwcGx5SW5kaWNhdG9yPSJDaGFydC5BcHBseUluZGljYXRvciIsZS5DaGFydFVubG9ja09iamVjdD0iQ2hhcnQuVW5sb2NrT2JqZWN0IixlLkNoYXJ0TG9ja09iamVjdD0iQ2hhcnQuTG9ja09iamVjdCIsZS5DaGFydEFuY2hvckxpbmVUb29sPSJDaGFydC5BbmNob3JMaW5lVG9vbCIsZS5DaGFydEluc2VydFJvd1RhYmxlPSJDaGFydC5JbnNlcnRSb3dUYWJsZSIsZS5DaGFydEluc2VydENvbHVtblRhYmxlPSJDaGFydC5JbnNlcnRDb2x1bW5UYWJsZSIsZS5DaGFydFJlbW92ZVJvd1RhYmxlPSJDaGFydC5SZW1vdmVSb3dUYWJsZSIsZS5DaGFydFJlbW92ZUNvbHVtblRhYmxlPSJDaGFydC5SZW1vdmVDb2x1bW5UYWJsZSIsZS5DaGFydENsb25lPSJDaGFydC5DbG9uZSIsZS5DaGFydEFkZEhvcnpMaW5lPSJDaGFydC5BZGRIb3J6TGluZSIsZS5XYXRjaGxpc3RBZGRTeW1ib2w9IldhdGNobGlzdC5BZGRTeW1ib2wiLGUuV2F0Y2hsaXN0Q3JlYXRlTmV3PSJXYXRjaGxpc3QuQ3JlYXRlTmV3IixlLlRleHROb3RlQWRkPSJUZXh0Tm90ZS5BZGQiLGUuVHJhZGluZ1NlbGw9IlRyYWRpbmcuU2VsbCIsZS5UcmFkaW5nQnV5PSJUcmFkaW5nLkJ1eSIsZS5UcmFkaW5nQWRkT3JkZXI9IlRyYWRpbmcuQWRkT3JkZXIiLGUuT2JqZWN0c1RyZWVDcmVhdGVHcm91cD0iT2JqZWN0c1RyZWUuQ3JlYXRlR3JvdXAiLGUuT2JqZWN0c1RyZWVSZW5hbWVJdGVtPSJPYmplY3RzVHJlZS5SZW5hbWVJdGVtIixlLkluZGljYXRvckFkZFRvRmF2b3JpdGVzPSJJbmRpY2F0b3IuQWRkVG9GYXZvcml0ZXMifShzfHwocz17fSkpO3ZhciBuPWkoMTkwMzU1KSxyPWkoNjA5MDk2KSxvPWkoODEyMDg0KSxhPWkoNTE0MjE2KSxsPWkoMzc0MTYpLGM9aSgyMTUyOTIpLGg9aSg3NTYyODgpLGQ9aSg1NzYxMDMpLHU9aSg1NzAzNjIpLHA9aSg5NTc4NDYpLF89aSgzMTIzMDYpLG09aSgzNjk5MjQpLGc9aSg4NTQzOTkpLGY9aSg1OTE5NjkpLFM9aSg1MjI4ODkpLHY9aSg3MDkwMDkpLHk9aSgxMDE2MyksYj1pKDYzNTE3OSksdz1pKDk0Njk0MiksQz1pKDgwNzU2MyksUD1pKDU1ODk3OSk7bGV0IFQ9W1siQ2hhcnQuUmVzZXQiLENdLFsiQ2hhcnQuUmVtb3ZlU2VsZWN0ZWRPYmplY3QiLFBdLFsiU2V0dGluZ3MiLHddLFsiQ2hhcnQuSGlkZSIsaSgyMzAyNTIpXSxbIkNoYXJ0LlN5bWJvbEluZm8iLGkoNzY5NzUyKV0sWyJDaGFydC5WaXN1YWxPcmRlciIsaSg3NjMzMTYpXSxbIkNoYXJ0LlNob3dPYmplY3QiLGkoNTE4NjcpXSxbIkNoYXJ0LlByaWNlU2NhbGUiLGkoMjE0MTg2KV0sWyJDaGFydC5Nb3ZlIixpKDYzMTk2MyldLFsiQ2hhcnQuQXBwbHlJbmRpY2F0b3IiLGkoMjkwMDQ0KV0sWyJDaGFydC5VbmxvY2tPYmplY3QiLGkoODY3MTc0KV0sWyJDaGFydC5Mb2NrT2JqZWN0IixpKDc2NTM1MyldLFsiQ2hhcnQuQW5jaG9yTGluZVRvb2wiLGkoNjk3MDg1KV0sWyJDaGFydC5JbnNlcnRSb3dUYWJsZSIsaSg3MTMxNDApXSxbIkNoYXJ0Lkluc2VydENvbHVtblRhYmxlIixpKDM4NzYzOCldLFsiQ2hhcnQuUmVtb3ZlUm93VGFibGUiLFBdLFsiQ2hhcnQuUmVtb3ZlQ29sdW1uVGFibGUiLFBdLFsiQ2hhcnQuQ2xvbmUiLGkoOTM3MjEpXSxbIkNoYXJ0LkFkZEhvcnpMaW5lIixpKDgxNjk1MyldLFsiSW5kaWNhdG9yLkFkZFRvRmF2b3JpdGVzIixiXV0KO1Q9VC5jb25jYXQoW1siVGV4dE5vdGUuQWRkIixkXSxbIldhdGNobGlzdC5BZGRTeW1ib2wiLGhdLFsiV2F0Y2hsaXN0LkNyZWF0ZU5ldyIsaF0sWyJDaGFydC5GaW5hbmNpYWxzIix1XSxbIkNoYXJ0LlRlY2huaWNhbHMiLHBdLFsiQWxlcnQuQWRkIixfXSxbIkFsZXJ0LkVkaXQiLG1dLFsiQWxlcnQuUmVzdGFydCIsZl0sWyJBbGVydC5TdG9wIixTXSxbIkFsZXJ0LkZpcmVzRG93bmxvYWQiLGddLFsiQWxlcnQuQ2xlYXIiLHZdLFsiQ2hhcnQuRGV0YWlsc01ldHJpY3MiLHldXSksVD1ULmNvbmNhdChbWyJDaGFydC5TaG93RGF0YVdpbmRvdyIsbl0sWyJUcmFkaW5nLlNlbGwiLHJdLFsiVHJhZGluZy5CdXkiLG9dLFsiVHJhZGluZy5BZGRPcmRlciIsYV0sWyJPYmplY3RzVHJlZS5DcmVhdGVHcm91cCIsbF0sWyJPYmplY3RzVHJlZS5SZW5hbWVJdGVtIixjXSxbIldhdGNobGlzdC5BZGRTeW1ib2wiLGhdXSk7Y29uc3QgeD1uZXcgTWFwKFQpfSwzNTY0MzQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKCl7cmV0dXJuIFByb21pc2UuYWxsKFtpLmUoMzkxODIpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDg4NDgzKSxpLmUoNjc3OSksaS5lKDU5NjQ5KSxpLmUoNDc3MjMpXSkudGhlbihpLmJpbmQoaSw1NzUyNjIpKX1pLmQodCx7YWN0aW9uc1Byb3ZpZGVyTW9kdWxlOigpPT5zfSl9LDQ4MzAxNihlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtkZWZhdWx0Q2hhcnRXaWRnZXRBY3Rpb25zT3B0aW9uczooKT0+bn0pLGZ1bmN0aW9uKGUpe2UuQ29weT0iQ29weSJ9KHN8fChzPXt9KSk7Y29uc3Qgbj17Z2VuZXJhbDohMCxtYWluU2VyaWVzOiEwLG1haW5TZXJpZXNUcmFkZTohMSxlc2RTdHVkaWVzOiEwLHN0dWRpZXM6ITAsZnVuZGFtZW50YWxzOiEwLGxpbmVUb29sczohMCxwdWJsaXNoZWRDaGFydHM6ITAsb3JkZXJzQW5kUG9zaXRpb25zOiEwLGFsZXJ0czohMCxjaGFydEV2ZW50czohMCxvYmplY3RUcmVlOiEwLGdvdG9MaW5lVG9vbDohMX19LDI4MmUzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NsaXBib2FyZERhdGFGb3JTb3VyY2VzOigpPT5sLGlzTGluZVRvb2xDbGlwYm9hcmREYXRhOigpPT5hfSk7dmFyIHM9aSgxMzg2MzgpLG49aSg3MDQ1NzIpLHI9aSg5NTY0MzcpLG89aSg4ODE5Mik7ZnVuY3Rpb24gYShlKXtyZXR1cm4iZHJhd2luZyI9PT1lLnR5cGV9ZnVuY3Rpb24gbChlLHQpe2lmKDE9PT10Lmxlbmd0aCYmKDAsci5pc1N0dWR5KSh0WzBdKSl7Y29uc3QgZT10WzBdO3JldHVybnt0aXRsZTplLnRpdGxlKG4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpLHNvdXJjZXM6W3tzb3VyY2U6KDAscy5lbnN1cmVOb3ROdWxsKShlLnN0YXRlKCkpLHR5cGU6InN0dWR5In1dfX1jb25zdCBpPXtzb3VyY2VzOltdLHRpdGxlOiIifTtyZXR1cm4gaS5zb3VyY2VzPXQuZmlsdGVyKChlPT5lLmNvcGlhYmxlKCkmJigwLG8uaXNMaW5lVG9vbCkoZSkpKS5tYXAoKHQ9Pntjb25zdCBpPXt0eXBlOiJkcmF3aW5nIixnZW9tZXRyeTp0Lmdlb21ldHJ5KCksc291cmNlOnsuLi50LnN0YXRlKCExKSxwb2ludHM6dC5ub3JtYWxpemVkUG9pbnRzKCl9LG1vZGVsSWQ6ZX07cmV0dXJuIGRlbGV0ZSBpLnNvdXJjZS5hbGVydElkLGl9KSksaS5zb3VyY2VzLmxlbmd0aD4wPygxPT09aS5zb3VyY2VzLmxlbmd0aD9pLnRpdGxlPXRbMF0udGl0bGUobi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSk6aS50aXRsZT0iRHJhd2luZ3MiLGkpOm51bGx9fSwxNTEyMShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHthZGRFeGNsdXNpb25BcmVhOigpPT5QLGFkZEV4Y2x1c2lvbkFyZWFCeVNjb3BlOigpPT5DLGNhbGNUZXh0SG9yaXpvbnRhbFNoaWZ0OigpPT5iLGNsZWFyUmVjdDooKT0+XyxjcmVhdGVCb3VuZENhbnZhczooKT0+dixjcmVhdGVEaXNjb25uZWN0ZWRDYW52YXM6KCk9PmcsY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzQnlSZW5kZXJpbmdJbmZvOigpPT5mLGRpc2FibGVTZWxlY3Rpb246KCk9PncsZHJhd1NjYWxlZDooKT0+bSxkcmF3V2l0aEV4Y2x1c2lvbkFyZWFCeVNjb3BlOigpPT5ULGZpbGxSZWN0OigpPT5wLGdldEJpbmRpbmdSZW5kZXJpbmdJbmZvOigpPT5oLGdldENvbnRleHQyRDooKT0+ZCxnZXRQcmVzY2FsZWRDb250ZXh0MkQ6KCk9PnUsbWVhc3VyZVRleHQ6KCk9Pk0sdHJ5QXBwbHlTdWdnZXN0ZWRDYW52YXNCaXRtYXBTaXplOigpPT55fSk7dmFyIHM9aSg5MTg3NzkpLG49aSgxMzg2MzgpLHI9aSg4NzE3MCksbz1pKDgyMjcyNiksYT1pKDk2OTE2OCksbD1pKDMxODk3NCk7ZnVuY3Rpb24gYyhlKXtyZXR1cm57aG9yaXpvbnRhbFBpeGVsUmF0aW86TWF0aC5tYXgoMSxlLmJpdG1hcFNpemUud2lkdGgvZS5jYW52YXNFbGVtZW50Q2xpZW50U2l6ZS53aWR0aCksdmVydGljYWxQaXhlbFJhdGlvOk1hdGgubWF4KDEsZS5iaXRtYXBTaXplLmhlaWdodC9lLmNhbnZhc0VsZW1lbnRDbGllbnRTaXplLmhlaWdodCl9fWZ1bmN0aW9uIGgoZSl7cmV0dXJuey4uLmMoZSksYml0bWFwU2l6ZTplLmJpdG1hcFNpemUsbWVkaWFTaXplOmUuY2FudmFzRWxlbWVudENsaWVudFNpemV9fWZ1bmN0aW9uIGQoZSl7Y29uc3QgdD0oMCxuLmVuc3VyZU5vdE51bGwpKGUuZ2V0Q29udGV4dCgiMmQiKSk7cmV0dXJuIHQuc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKSx0fWZ1bmN0aW9uIHUoZSl7Y29uc3QgdD0oMCxuLmVuc3VyZU5vdE51bGwpKGUuZ2V0Q29udGV4dCgiMmQiKSksaT0oMCxyLmdldENhbnZhc0RldmljZVBpeGVsUmF0aW8pKGUpO3JldHVybiB0LnNldFRyYW5zZm9ybShpLDAsMCxpLDAsMCksdH1mdW5jdGlvbiBwKGUsdCxpLHMsbixyKXtlLnNhdmUoKSxlLmZpbGxTdHlsZT1yLGUuZmlsbFJlY3QodCxpLHMsbiksZS5yZXN0b3JlKCl9ZnVuY3Rpb24gXyhlLHQsaSxzLG4scil7ZS5zYXZlKCksZS5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb249ImNvcHkiLGUuZmlsbFN0eWxlPXIsZS5maWxsUmVjdCh0LGkscyxuKSxlLnJlc3RvcmUoKX1mdW5jdGlvbiBtKGUsdCxpLHMpe2Uuc2F2ZSgpLGUuc2NhbGUodCxpKSxzKCksZS5yZXN0b3JlKCl9CmZ1bmN0aW9uIGcoZSx0LGkpe2NvbnN0IHM9UyhlKTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9KDAsci5nZXRDYW52YXNEZXZpY2VQaXhlbFJhdGlvKShzKSkscy53aWR0aD10LndpZHRoKmkscy5oZWlnaHQ9dC5oZWlnaHQqaSxzfWZ1bmN0aW9uIGYoZSx0KXtjb25zdHtiaXRtYXBTaXplOmksbWVkaWFTaXplOnN9PXQsbj1TKGUpO3JldHVybiBuLnN0eWxlLndpZHRoPWAke3Mud2lkdGh9cHhgLG4uc3R5bGUuaGVpZ2h0PWAke3MuaGVpZ2h0fXB4YCxuLndpZHRoPWkud2lkdGgsbi5oZWlnaHQ9aS5oZWlnaHQsbn1mdW5jdGlvbiBTKGUpe2NvbnN0IHQ9ZS5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtyZXR1cm4gdyh0KSx0fWZ1bmN0aW9uIHYoZSx0KXtjb25zdCBpPVMoKDAsbi5lbnN1cmVOb3ROdWxsKShlLm93bmVyRG9jdW1lbnQpKTtlLmFwcGVuZENoaWxkKGkpO2NvbnN0IHI9KDAscy5iaW5kQ2FudmFzRWxlbWVudEJpdG1hcFNpemVUbykoaSx7dHlwZToiZGV2aWNlLXBpeGVsLWNvbnRlbnQtYm94Iix0cmFuc2Zvcm06KGUsdCk9PjA9PT1lLndpZHRofHwwPT09ZS5oZWlnaHQ/ZTp7d2lkdGg6TWF0aC5tYXgoZS53aWR0aCx0LndpZHRoKSxoZWlnaHQ6TWF0aC5tYXgoZS5oZWlnaHQsdC5oZWlnaHQpfX0pO3JldHVybiByLnJlc2l6ZUNhbnZhc0VsZW1lbnQodCkscn1mdW5jdGlvbiB5KGUpe2NvbnN0IHQ9ZS5zdWdnZXN0ZWRCaXRtYXBTaXplO3JldHVybiBudWxsIT09dCYmdC53aWR0aD4wJiZ0LmhlaWdodD4wJiYoZS5hcHBseVN1Z2dlc3RlZEJpdG1hcFNpemUoKSwhMCl9ZnVuY3Rpb24gYihlLHQpe3JldHVybiJjZW50ZXIiPT09ZS50ZXh0QWxpZ24/MDooMCxhLmlzUnRsKSgpPyJzdGFydCI9PT1lLnRleHRBbGlnbnx8InJpZ2h0Ij09PWUudGV4dEFsaWduP3Q6MDoic3RhcnQiPT09ZS50ZXh0QWxpZ258fCJsZWZ0Ij09PWUudGV4dEFsaWduPzA6dH1mdW5jdGlvbiB3KGUpe2Uuc3R5bGUudXNlclNlbGVjdD0ibm9uZSIsZS5zdHlsZS53ZWJraXRVc2VyU2VsZWN0PSJub25lIixlLnN0eWxlLm1zVXNlclNlbGVjdD0ibm9uZSIsZS5zdHlsZS5Nb3pVc2VyU2VsZWN0PSJub25lIixlLnN0eWxlLndlYmtpdFRhcEhpZ2hsaWdodENvbG9yPSJ0cmFuc3BhcmVudCJ9ZnVuY3Rpb24gQyhlLHQpe2NvbnN0e2NvbnRleHQ6aSxob3Jpem9udGFsUGl4ZWxSYXRpbzpzLHZlcnRpY2FsUGl4ZWxSYXRpbzpuLGJpdG1hcFNpemU6cn09ZTtpLmJlZ2luUGF0aCgpLGkucmVjdCgwLDAsci53aWR0aCxyLmhlaWdodCk7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspe2xldHt4OnIseTpvfT10W2VdO3IqPXMsbyo9biwwIT09ZT9pLmxpbmVUbyhyLG8pOmkubW92ZVRvKHIsbyl9aS5jbG9zZVBhdGgoKSxpLmNsaXAoImV2ZW5vZGQiKX1mdW5jdGlvbiBQKGUsdCxpKXtDKHtjb250ZXh0OmUsLi4udH0saSl9ZnVuY3Rpb24gVChlLHQsaSl7ZS5jb250ZXh0LnNhdmUoKSxDKGUsdCksaSgpLGUuY29udGV4dC5yZXN0b3JlKCl9bGV0IHg7ZnVuY3Rpb24gTShlLHQsaSl7cmV0dXJuIHh8fGZ1bmN0aW9uKCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtlLndpZHRoPTAsZS5oZWlnaHQ9MCwoMCxsLmlzTWFjKSgpJiYoZS5zdHlsZS5kaXNwbGF5PSJub25lIixkb2N1bWVudC5ib2R5LmFwcGVuZChlKSkseD0oMCxuLmVuc3VyZU5vdE51bGwpKGUuZ2V0Q29udGV4dCgiMmQiKSkseC50ZXh0QmFzZWxpbmU9ImFscGhhYmV0aWMiLHgudGV4dEFsaWduPSJjZW50ZXIifSgpLHQmJnguZm9udCE9PXQmJih4LmZvbnQ9dCksaT9pLmdldE1ldHJpY3MoeCxlKTooMCxvLmdldE1pblRleHRNZXRyaWNzKSh4Lm1lYXN1cmVUZXh0KGUpKX19LDU3MDY1NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtjaGFydEZsb2F0aW5nVG9vbHRpcEVuYWJsZWRXVjooKT0+YX0pO3ZhciBzPWkoOTMwNTY2KSxuPWkoMjMyMzY0KTtjb25zdCByPSJjaGFydF9mbG9hdGluZ190b29sdGlwX2VuYWJsZWQiO2Z1bmN0aW9uIG8oKXtyZXR1cm4gcy5nZXRKU09OKHIsdHJ1ZSl9Y29uc3QgYT1uZXcgbi5XYXRjaGVkVmFsdWUobygpKTthLnN1YnNjcmliZSgoKCk9PnMuc2V0VmFsdWUocixhLnZhbHVlKCkpKSkscy5vblN5bmMuc3Vic2NyaWJlKG51bGwsKCgpPT5hLnNldFZhbHVlKG8oKSkpKX0sNDY0ODM1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NoYXJ0SG90a2V5c0xpc3RlbmVyOigpPT5nLGdsb2JhbEVudmlyb25tZW50U3RhdGU6KCk9Pm0sbW9kaWZpZXJQcmVzc2VkOigpPT5fLHNoaWZ0UHJlc3NlZDooKT0+cH0pO3ZhciBzPWkoNzI3MDkpLG49aSgyMzU3MjQpLHI9aSg3MjEzNjkpLG89aSgzNjgxMTApO3ZhciBhPWkoMjMyMzY0KSxsPWkoOTAxMzcwKTtjb25zdCBjPW5ldyBhLldhdGNoZWRWYWx1ZShCb29sZWFuKChzLnByZXNzZWRLZXlzLnZhbHVlKCk/PzApJm4uTW9kaWZpZXJzLlNoaWZ0KSksaD1uZXcgYS5XYXRjaGVkVmFsdWUoQm9vbGVhbigocy5wcmVzc2VkS2V5cy52YWx1ZSgpPz8wKSZuLk1vZGlmaWVycy5Nb2QpKSxkPW5ldyBhLldhdGNoZWRWYWx1ZShCb29sZWFuKChzLnByZXNzZWRLZXlzLnZhbHVlKCk/PzApJm4uTW9kaWZpZXJzLkFsdCkpLHU9W24uTW9kaWZpZXJzLk5vbmUsbi5Nb2RpZmllcnMuQWx0LG4uTW9kaWZpZXJzLk1vZCxuLk1vZGlmaWVycy5BbHQrbi5Nb2RpZmllcnMuU2hpZnRdO2Z1bmN0aW9uIHAoKXtyZXR1cm4gY31mdW5jdGlvbiBfKCl7cmV0dXJuIGh9ZnVuY3Rpb24gbSgpe3JldHVybiBuZXcgbC5FbnZpcm9ubWVudFN0YXRlKHthbHRLZXk6ZC52YWx1ZSgpLGN0cmxLZXk6XygpLnZhbHVlKCksbWV0YUtleTpfKCkudmFsdWUoKSxzaGlmdEtleTpwKCkudmFsdWUoKX0pfXMucHJlc3NlZEtleXMuc3Vic2NyaWJlKCgoZT0wKT0+e2Muc2V0VmFsdWUoQm9vbGVhbihlJm4uTW9kaWZpZXJzLlNoaWZ0KSksaC5zZXRWYWx1ZShCb29sZWFuKGUmbi5Nb2RpZmllcnMuTW9kKSksZC5zZXRWYWx1ZShCb29sZWFuKGUmbi5Nb2RpZmllcnMuQWx0KSl9KSk7Y2xhc3MgZ3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3ByZXNzZWRLZXlDb2RlPW51bGwsdGhpcy5fYm91bmRLZXlkb3duSGFuZGxlcj1udWxsLAp0aGlzLl9ib3VuZEtleXVwSGFuZGxlcj1udWxsLHRoaXMuX2NoYXJ0V2lkZ2V0PWUsdGhpcy5fcGFyZW50PXQsdGhpcy5fYm91bmRLZXlkb3duSGFuZGxlcj10aGlzLl9rZXlkb3duSGFuZGxlci5iaW5kKHRoaXMpLHRoaXMuX2JvdW5kS2V5dXBIYW5kbGVyPXRoaXMuX2tleXVwSGFuZGxlci5iaW5kKHRoaXMpLHRoaXMuX3BhcmVudC5vd25lckRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX2JvdW5kS2V5ZG93bkhhbmRsZXIpLHRoaXMuX3BhcmVudC5vd25lckRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIix0aGlzLl9ib3VuZEtleXVwSGFuZGxlcil9ZGVzdHJveSgpe251bGwhPT10aGlzLl9ib3VuZEtleWRvd25IYW5kbGVyJiYodGhpcy5fcGFyZW50Lm93bmVyRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5fYm91bmRLZXlkb3duSGFuZGxlciksdGhpcy5fYm91bmRLZXlkb3duSGFuZGxlcj1udWxsKSxudWxsIT09dGhpcy5fYm91bmRLZXl1cEhhbmRsZXImJih0aGlzLl9wYXJlbnQub3duZXJEb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5fYm91bmRLZXl1cEhhbmRsZXIpLHRoaXMuX2JvdW5kS2V5dXBIYW5kbGVyPW51bGwpfV9rZXlkb3duSGFuZGxlcihlKXt0aGlzLl9jaGFydFdpZGdldC5oYXNNb2RlbCgpJiZ0aGlzLl9jaGFydFdpZGdldC5pc0FjdGl2ZSgpLnZhbHVlKCkmJihlLmRlZmF1bHRQcmV2ZW50ZWR8fCgidGV4dC1lZGl0b3IiPT09d2luZG93LmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmdldEF0dHJpYnV0ZSgiZGF0YS1uYW1lIikmJnRoaXMuX2hhbmRsZVRhYktleURvd24oZSl8fHdpbmRvdy5kb2N1bWVudC5hY3RpdmVFbGVtZW50PT09d2luZG93LmRvY3VtZW50LmJvZHkmJih0aGlzLl9oYW5kbGVNb3ZlRHJhd2luZ3NLZXlEb3duKGUpfHx0aGlzLl9oYW5kbGVTY3JvbGxLZXlEb3duKGUpfHx0aGlzLl9oYW5kbGVab29tS2V5RG93bihlKSkpJiZlLnByZXZlbnREZWZhdWx0KCkpfV9rZXl1cEhhbmRsZXIoZSl7dGhpcy5fY2hhcnRXaWRnZXQuaGFzTW9kZWwoKSYmdGhpcy5faGFuZGxlU2Nyb2xsS2V5VXAoZSl9X2hhbmRsZVRhYktleURvd24oZSl7Y29uc3QgdD0yNTUmKDAsbi5oYXNoRnJvbUV2ZW50KShlKSxpPXRoaXMuX2NoYXJ0V2lkZ2V0Lm1vZGVsKCk7aWYoOT09PXQpe2NvbnN0IHQ9aS5zZWxlY3Rpb24oKS5kYXRhU291cmNlcygpWzBdO2lmKHZvaWQgMCE9PXQmJihzPXQsKDAsby5pc0xpbmVUb29sKShzKSYmIkxpbmVUb29sVGFibGUiPT09cy5zdGF0ZSgpLnR5cGUpKXtjb25zdCBpPSgwLG4ubW9kaWZpZXJzRnJvbUV2ZW50KShlKTtyZXR1cm4gdC5zd2l0Y2hBY3RpdmVDZWxsKGk9PT1uLk1vZGlmaWVycy5TaGlmdCl9cmV0dXJuITF9dmFyIHM7cmV0dXJuITF9X2hhbmRsZU1vdmVEcmF3aW5nc0tleURvd24oZSl7Y29uc3QgdD0yNTUmKDAsbi5oYXNoRnJvbUV2ZW50KShlKSxpPXRoaXMuX2NoYXJ0V2lkZ2V0Lm1vZGVsKCk7c3dpdGNoKHQpe2Nhc2UgMzc6cmV0dXJuIGkubW92ZVNlbGVjdGVkVG9vbHNMZWZ0KCk7Y2FzZSAzOTpyZXR1cm4gaS5tb3ZlU2VsZWN0ZWRUb29sc1JpZ2h0KCk7Y2FzZSAzODpyZXR1cm4gaS5tb3ZlU2VsZWN0ZWRUb29sc1VwKCk7Y2FzZSA0MDpyZXR1cm4gaS5tb3ZlU2VsZWN0ZWRUb29sc0Rvd24oKX1yZXR1cm4hMX1faGFuZGxlU2Nyb2xsS2V5RG93bihlKXtpZihudWxsIT09dGhpcy5fcHJlc3NlZEtleUNvZGUpcmV0dXJuITE7Y29uc3QgdD0oMCxuLmhhc2hGcm9tRXZlbnQpKGUpLGk9MjU1JnQscz0oMCxuLm1vZGlmaWVyc0Zyb21FdmVudCkoZSk7bGV0IG87aWYoMzc9PT1pKW89MTtlbHNle2lmKDM5IT09aSlyZXR1cm4hMTtvPS0xfWlmKG4uaXNNYWNLZXlib2FyZCYmcz09PW4uTW9kaWZpZXJzLk1vZHx8IXUuaW5jbHVkZXMocykpcmV0dXJuITE7aWYoKDAsci5pc05hdGl2ZVVJSW50ZXJhY3Rpb24pKHQsZS50YXJnZXQpKXJldHVybiExO3RoaXMuX3ByZXNzZWRLZXlDb2RlPWk7Y29uc3QgYT10aGlzLl9jaGFydFdpZGdldC5zY3JvbGxIZWxwZXIoKTtyZXR1cm4gcz09PW4uTW9kaWZpZXJzLk5vbmU/YS5tb3ZlQnlCYXIobyk6cz09PW4uTW9kaWZpZXJzLkFsdHx8cz09PW4uTW9kaWZpZXJzLk1vZD9hLm1vdmUobyk6LTE9PT1vP2Euc2Nyb2xsVG9SZWFsdGltZSghMCk6YS5zY3JvbGxUb0ZpcnN0QmFyKCksITB9X2hhbmRsZVNjcm9sbEtleVVwKGUpe2lmKG51bGw9PT10aGlzLl9wcmVzc2VkS2V5Q29kZSlyZXR1cm4hMTtjb25zdCB0PSgwLG4uaGFzaEZyb21FdmVudCkoZSk7aWYoKDAsci5pc05hdGl2ZVVJSW50ZXJhY3Rpb24pKHQsZS50YXJnZXQpKXJldHVybiExO3JldHVybigyNTUmdCk9PT10aGlzLl9wcmVzc2VkS2V5Q29kZSYmKHRoaXMuX3ByZXNzZWRLZXlDb2RlPW51bGwsdGhpcy5fY2hhcnRXaWRnZXQuc2Nyb2xsSGVscGVyKCkuc3RvcE1vdmUoKSwhMCl9X2hhbmRsZVpvb21LZXlEb3duKGUpe2NvbnN0IHQ9KDAsbi5oYXNoRnJvbUV2ZW50KShlKSxpPTI1NSZ0O2lmKCgwLG4ubW9kaWZpZXJzRnJvbUV2ZW50KShlKSE9PW4uTW9kaWZpZXJzLk1vZHx8KDAsci5pc05hdGl2ZVVJSW50ZXJhY3Rpb24pKHQsZS50YXJnZXQpKXJldHVybiExO2NvbnN0IHM9dGhpcy5fY2hhcnRXaWRnZXQubW9kZWwoKTtpZigzOD09PWkpcy56b29tSW4oKTtlbHNle2lmKDQwIT09aSlyZXR1cm4hMTtzLnpvb21PdXQoKX1yZXR1cm4hMH19fSw5ODg3NzYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q2hhcnRXaWRnZXRDb2xsZWN0aW9uOigpPT5hZn0pO3ZhciBzPWkoMTY3NTAyKSxuPWkoMzA0MjIxKSxyPWkoNzQwMTYyKSxvPWkoNzAwODA5KSxhPWkoNjAxODQxKSxsPWkoMTM4NjM4KSxjPWkoMjIxMDYxKSxoPWkoMjMyMzY0KSxkPWkoNDAyMDQ1KSx1PWkoOTUyOTAwKSxwPWkoMTg1MjcxKSxfPWkoOTU4NTAwKSxtPWkoODYwNDQyKTt2YXIgZz1pKDE5ODkwMSksZj1pKDk0ODM4MCk7ZnVuY3Rpb24gUyhlKXtjb25zdCB0PXt9O3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKCgoaSxzKT0+e2Uuc3Vic2NyaWJlKHQsaSwhMCl9KSksZGVzdHJveTooKT0+ewplLnVuc3Vic2NyaWJlQWxsKHQpfX19dmFyIHY9aSgzNjIyODkpLHk9aSg1NzA2MDMpO2NvbnN0IGI9KCk9PlByb21pc2UuYWxsKFtpLmUoMTExNTEpLGkuZSg5MzUyOCldKS50aGVuKGkuYmluZChpLDIwNTY1NikpO2Z1bmN0aW9uIHcoZSx0PXt9KXtyZXR1cm4gYigpLnRoZW4oKGk9PmkuY29weVRvQ2xpcGJvYXJkSW1hZ2VPZkNoYXJ0KGUsdCkpKX1mdW5jdGlvbiBDKGUsdD17fSl7cmV0dXJuIGIoKS50aGVuKChpPT5pLmdldEltYWdlT2ZDaGFydFNpbGVudGx5KGUsdCkpKX12YXIgUD1pKDg4MzA1MyksVD1pKDY3ODI4NSkseD1pKDI1NDY3MyksTT1pKDg4MjA3OCksST1pKDQ2NTEzNyksTD1pKDc5ODM4KSxBPWkoMTI4OTk4KSxrPWkoNjY1MTg3KSxEPWkoMjAwNjY2KSxFPWkoNzY1MTczKTtjb25zdCBSPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImFwcGx5IHRvb2xiYXJzIHRoZW1lIixwLnQobnVsbCx2b2lkIDAsaSg2NjMxMjgpKSk7Y2xhc3MgViBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGk9ITApe3N1cGVyKFIpLHRoaXMuX3ByZXZUaGVtZU5hbWU9ZSx0aGlzLl90aGVtZU5hbWU9dCx0aGlzLl9zeW5jU3RhdGU9aX11bmRvKCl7KDAsay5pc1N0ZFRoZW1lTmFtZSkodGhpcy5fcHJldlRoZW1lTmFtZSkmJigoMCxELnNldFRoZW1lKSh0aGlzLl9wcmV2VGhlbWVOYW1lKSx0aGlzLl9zeW5jU3RhdGUmJigwLGsuc3luY1RoZW1lKSgpKX1yZWRvKCl7KDAsay5pc1N0ZFRoZW1lTmFtZSkodGhpcy5fdGhlbWVOYW1lLnRvTG93ZXJDYXNlKCkpJiYoKDAsRC5zZXRUaGVtZSkodGhpcy5fdGhlbWVOYW1lLnRvTG93ZXJDYXNlKCkpLHRoaXMuX3N5bmNTdGF0ZSYmKDAsay5zeW5jVGhlbWUpKCkpfX1jbGFzcyBCIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzLG49ITApe3N1cGVyKHMsdm9pZCAwLG4pLHRoaXMuX3NldHRlcj1lLHRoaXMuX29sZFZhbHVlPXQsdGhpcy5fbmV3VmFsdWU9aX1yZWRvKCl7dGhpcy5fc2V0dGVyKHRoaXMuX25ld1ZhbHVlKX11bmRvKCl7dGhpcy5fc2V0dGVyKHRoaXMuX29sZFZhbHVlKX19Y2xhc3MgTiBleHRlbmRzIEJ7Y29uc3RydWN0b3IoZSx0LGkscyxuPSEwKXtzdXBlcigoZT0+dGhpcy5fdndTdGF0ZS5zZXRWYWx1ZShlKSksdCxpLHMsbiksdGhpcy5fdndTdGF0ZT1lfX12YXIgTz1pKDcyMDA3Mik7Y29uc3QgVz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgY2hhcnQgbGF5b3V0IHRvIHt0aXRsZX0iLHAudChudWxsLHZvaWQgMCxpKDk5MzkpKSk7Y2xhc3MgRiBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihXLmZvcm1hdCh7dGl0bGU6Ty5sYXlvdXRzW3RdLnRpdGxlfSkpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1lLHRoaXMuX25ld0xheW91dFR5cGU9dCx0aGlzLl9vbGRMYXlvdXRUeXBlPWUubGF5b3V0LnZhbHVlKCl9cmVkbygpe3RoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5zZXRMYXlvdXQodGhpcy5fbmV3TGF5b3V0VHlwZSl9dW5kbygpe3RoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5zZXRMYXlvdXQodGhpcy5fb2xkTGF5b3V0VHlwZSl9fWNvbnN0IEg9KDAsYy5nZXRMb2dnZXIpKCJDb21tb24uVW5kb1N0YWNrIik7Y2xhc3Mgentjb25zdHJ1Y3Rvcigpe3RoaXMuX2NvbW1hbmRzPVtdLHRoaXMuX29uQ2hhbmdlPW5ldyBmLkRlbGVnYXRlfW9uQ2hhbmdlKCl7cmV0dXJuIHRoaXMuX29uQ2hhbmdlfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX2NvbW1hbmRzLmxlbmd0aH1zaXplKCl7cmV0dXJuIHRoaXMuX2NvbW1hbmRzLmxlbmd0aH1jbGVhcigpe3RoaXMuaXNFbXB0eSgpfHwodGhpcy5fY29tbWFuZHMubGVuZ3RoPTAsdGhpcy5fb25DaGFuZ2UuZmlyZSgpKX1wdXNoKGUpe2lmKCEoZSBpbnN0YW5jZW9mIEUuVW5kb0NvbW1hbmQpKXRocm93IG5ldyBUeXBlRXJyb3IoImFyZ3VtZW50IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgVW5kb0NvbW1hbmQiKTt0aGlzLl9jb21tYW5kcy5wdXNoKGUpLHRoaXMuX29uQ2hhbmdlLmZpcmUoZSl9cG9wKCl7aWYodGhpcy5pc0VtcHR5KCkpcmV0dXJuIHZvaWQgSC5sb2dEZWJ1ZygicG9wOiB1bmRvIHN0YWNrIGlzIGVtcHR5Iik7Y29uc3QgZT10aGlzLl9jb21tYW5kcy5wb3AoKTtyZXR1cm4gdGhpcy5fb25DaGFuZ2UuZmlyZShlKSxlfWhlYWQoKXtpZighdGhpcy5pc0VtcHR5KCkpcmV0dXJuIHRoaXMuX2NvbW1hbmRzW3RoaXMuX2NvbW1hbmRzLmxlbmd0aC0xXX19Y2xhc3MgVSBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwhMSksdGhpcy5fc3ViY29tbWFuZHM9W119YWRkQ29tbWFuZChlKXt0aGlzLl9zdWJjb21tYW5kcy5wdXNoKGUpfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX3N1YmNvbW1hbmRzLmxlbmd0aH1yZWRvKGUpe2ZvcihsZXQgdD0wO3Q8dGhpcy5fc3ViY29tbWFuZHMubGVuZ3RoO3QrKyl0aGlzLl9zdWJjb21tYW5kc1t0XS5yZWRvKGUpfXVuZG8oZSl7Zm9yKGxldCB0PXRoaXMuX3N1YmNvbW1hbmRzLmxlbmd0aC0xO3Q+PTA7dC0tKXRoaXMuX3N1YmNvbW1hbmRzW3RdLnVuZG8oZSl9Y29tbWFuZHMoKXtyZXR1cm4gdGhpcy5fc3ViY29tbWFuZHN9YWZmZWN0c1N0YXRlKCl7cmV0dXJuIHRoaXMuX3N1YmNvbW1hbmRzLnNvbWUoKGU9PmUuYWZmZWN0c1N0YXRlKCkpKX19Y29uc3QgRz0oMCxjLmdldExvZ2dlcikoIkNvbW1vbi5VbmRvSGlzdG9yeSIpO3ZhciBqPWkoNTE4NzUpLHE9aSg5MzAyMzEpLCQ9aSgxNzk3NzEpLFk9aSg3MjcwOSksSz1pKDIzNTcyNCksWD1pKDExNzMxMyksWj1pKDIwOTM5KSxKPWkoMzE4OTc0KSxRPWkoOTMwNTY2KSxlZT1pKDI5NjI2Mik7Y2xhc3MgdGUgZXh0ZW5kcyBlZS5EaWFsb2dSZW5kZXJlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2RpYWxvZz1udWxsLHRoaXMuX3N1YnNjcmliZT1lPT57dGhpcy5fc2V0VmlzaWJpbGl0eShlKX0sdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPWV9c2hvdyhlKXt0aGlzLl9sb2FkKCkudGhlbigodD0+e3RoaXMuX2RpYWxvZz8uaGlkZSgpLAp0aGlzLl9kaWFsb2c/LnZpc2libGUoKS51bnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpLHRoaXMuX2RpYWxvZz10LHQudmlzaWJsZSgpLnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpLHQuc2hvdyhlKSwkLmVtaXQoImNvbXBhcmVfYWRkIil9KSl9aGlkZSgpe3RoaXMuX2RpYWxvZz8uaGlkZSgpfV9sb2FkKCl7cmV0dXJuIFByb21pc2UuYWxsKFtQcm9taXNlLmFsbChbaS5lKDMyNzgpLGkuZSgxNzMzNildKS50aGVuKGkuYmluZChpLDU0NzU3NykpLFByb21pc2UuYWxsKFtpLmUoMzMyMjUpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSgzNjIyMiksaS5lKDI5NTM2KSxpLmUoOTQyMzIpLGkuZSgzMjgxNiksaS5lKDUxODQpLGkuZSg1NjI1MiksaS5lKDgzNDg4KSxpLmUoNjc3OTkpLGkuZSgxMTQ2MSksaS5lKDI0NTgxKSxpLmUoOTY1ODcpLGkuZSgyNzUxNyksaS5lKDg2NDIzKSxpLmUoMzc1MTMpLGkuZSg5NTA0KSxpLmUoNDA4MzUpLGkuZSgxNzA4NyksaS5lKDcyNjY2KSxpLmUoOTgwODQpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoNDk1ODgpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNDc2MzIpLGkuZSg2NjA1KSxpLmUoNzA4MTUpLGkuZSg1MDIyMSksaS5lKDMzNTE1KSxpLmUoMTQ2MjUpLGkuZSgxNTUyNiksaS5lKDcxNDE0KSxpLmUoNjU3KSxpLmUoNTI2ODApLGkuZSgzNTc5NCksaS5lKDE2NzYpLGkuZSg4OTIwNCksaS5lKDEyMDUxKSxpLmUoMzIxNzYpLGkuZSg5NzQ0KSxpLmUoODMwNDEpLGkuZSgxOTUxMyksaS5lKDcxNTI4KSxpLmUoODg2NDEpLGkuZSg1MjA5NSksaS5lKDU1MzM2KSxpLmUoOTIzOTMpLGkuZSg0NDAzMSksaS5lKDg5MDQ0KSxpLmUoNDcwOTIpLGkuZSg0Mzc5MiksaS5lKDc4NDA0KSxpLmUoNTAwMzUpLGkuZSg4MTEwNyksaS5lKDY4NTc5KSxpLmUoNjY0NyksaS5lKDQ3MjAxKSxpLmUoODAwNDEpLGkuZSg4NzY3MyksaS5lKDQzODA4KSxpLmUoNDYwNTUpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoODA5MTUpLGkuZSgyMzc0MyksaS5lKDQyMjg4KSxpLmUoNzc1NzgpLGkuZSg4OTQ2KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDk5MzA5KSxpLmUoNjg3MjUpLGkuZSg2MzQwMiksaS5lKDU3MDkzKSxpLmUoNDg2NTIpLGkuZSgxMzMxKSxpLmUoMjIzNDcpXSkudGhlbihpLmJpbmQoaSw1NzMxNjMpKV0pLnRoZW4oKChbZSx0XSk9Pntjb25zdCBpPW5ldyBlLkNvbXBhcmVNb2RlbCh0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24pO3JldHVybiB0LmdldENvbXBhcmVEaWFsb2dSZW5kZXJlcihpKX0pKX19Y2xhc3MgaWUgZXh0ZW5kcyBlZS5EaWFsb2dSZW5kZXJlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2RpYWxvZz1udWxsLHRoaXMuX3N1YnNjcmliZT1lPT57dGhpcy5fc2V0VmlzaWJpbGl0eShlKX0sdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPWV9c2hvdyhlKXtjb25zdCB0PXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbixzPXQuYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKTtyZXR1cm4gcy5nZW5lcmFsUHJvcGVydGllc0RlZmluaXRpb25zKCkudGhlbigobj0+UHJvbWlzZS5hbGwoW2kuZSgyNzA0MCksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSgxMjM4NSksaS5lKDgxMDcyKSxpLmUoOTQ5NDgpLGkuZSgyMzYyNCksaS5lKDM2MjIyKSxpLmUoMjk1MzYpLGkuZSg1NjI1MiksaS5lKDgzNDg4KSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTEyMTgpLGkuZSg4NjQyMyksaS5lKDM3NTEzKSxpLmUoODU3OSksaS5lKDk1MDQpLGkuZSg0MDgzNSksaS5lKDE3MDg3KSxpLmUoNzI2NjYpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoMTAzODUpLGkuZSg1MjA2NSksaS5lKDQ3NjMyKSxpLmUoNjYwNSksaS5lKDcwODE1KSxpLmUoNzQzODEpLGkuZSgxNTUyNiksaS5lKDkzNDE2KSxpLmUoNjE4MjEpLGkuZSg1NzMwMCksaS5lKDkxODU1KSxpLmUoODk1NTgpLGkuZSgxMDM2NiksaS5lKDUxNjgyKSxpLmUoMjAyKSxpLmUoOTc2NjApLGkuZSg3MjUxMiksaS5lKDM1MTk4KSxpLmUoMzMxMjApLGkuZSg0MDg2NyksaS5lKDM5Nzg2KSxpLmUoNTA4MDApLGkuZSg1MDYyMiksaS5lKDYwODIpLGkuZSgyNzMzNyksaS5lKDQwOTE0KSxpLmUoODEyNDcpLGkuZSgyNzczNiksaS5lKDg3NzQwKSxpLmUoMzg0NzkpLGkuZSg5MDMzMCksaS5lKDk2MTgxKSxpLmUoMjA1NjQpLGkuZSg1MTI1NiksaS5lKDQ1MzMxKSxpLmUoNDI3MjEpLGkuZSg0NTI0MiksaS5lKDc4NjMpLGkuZSg0NjI0NSksaS5lKDk4NTA5KSxpLmUoNTUyOTApLGkuZSg5MTY3MCksaS5lKDg2NTQ0KSxpLmUoMzIzODcpLGkuZSg4MDkxNSksaS5lKDQwNzU0KSxpLmUoMjM3NDMpLGkuZSg0MjI4OCksaS5lKDcyMTEpLGkuZSg5OTMwOSksaS5lKDU1MjI5KSxpLmUoNzM1MzUpLGkuZSgyNjUwMSksaS5lKDEwOTk5KSxpLmUoMzg5NzMpLGkuZSg1MDYyNSldKS50aGVuKGkuYmluZChpLDc2ODM4OCkpLnRoZW4oKGk9Pntjb25zdCByPW5ldyBpLkdlbmVyYWxDaGFydFByb3BlcnRpZXNEaWFsb2dSZW5kZXJlcih7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOnQscHJvcGVydHlQYWdlczpuLGFjdGl2ZVBhZ2VJZDp0aGlzLl9hY3RpdmVQYWdlSWQsbW9kZWw6cy5tb2RlbCgpfSk7cmV0dXJuIHRoaXMuX2RpYWxvZz8uaGlkZSgpLHRoaXMuX2RpYWxvZz8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nPXIsci52aXNpYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksci5zaG93KGUpLHRoaXMuX2FjdGl2ZVBhZ2VJZD12b2lkIDAscn0pKSkpfWhpZGUoKXt0aGlzLl9kaWFsb2c/LmhpZGUoKX1pc1Zpc2libGUoKXtyZXR1cm4gdGhpcy52aXNpYmxlKCkudmFsdWUoKX0KZm9jdXNPblRleHQoKXt9c2V0QWN0aXZlUGFnZShlKXt0aGlzLl9hY3RpdmVQYWdlSWQ9ZX19Y2xhc3Mgc2UgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIobnVsbCksdGhpcy5fY2hhcnRNb2RlbD1lLHRoaXMuX3RhcmdldEluZGV4PXR9cmVkbygpe2NvbnN0IGU9dGhpcy5fY2hhcnRNb2RlbC5jcmVhdGVQYW5lKHRoaXMuX3RhcmdldEluZGV4LHZvaWQgMCx0aGlzLl9wYW5lSWQpO3RoaXMuX3BhbmVJZD1lLmlkKCl9dW5kbygpe2NvbnN0IGU9KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wYW5lSWQpLHQ9dGhpcy5fY2hhcnRNb2RlbC5wYW5lcygpLmZpbmQoKHQ9PnQuaWQoKT09PWUpKTt2b2lkIDAhPT10JiZ0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVBhbmUodCl9Y3JlYXRlZFBhbmVJZCgpe3JldHVybiB0aGlzLl9wYW5lSWR9fXZhciBuZT1pKDQwMTUyMykscmU9aSg0MDg3NzUpO2NvbnN0IG9lPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInN3YXAgY2hhcnRzIGluIHRoZSBMYXlvdXQiLHAudChudWxsLHZvaWQgMCxpKDIwOTU5OSkpKTtjbGFzcyBhZSBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKG9lKSx0aGlzLl9zd2FwcGVyPWUsdGhpcy5fZnJvbT10LHRoaXMuX3RvPWl9cmVkbygpe3RoaXMuX3N3YXBwZXIodGhpcy5fZnJvbSx0aGlzLl90byl9dW5kbygpe3RoaXMuX3N3YXBwZXIodGhpcy5fZnJvbSx0aGlzLl90byl9fXZhciBsZT1pKDQ5NzAxOCksY2U9aSgxNDc4MDUpLGhlPWkoMjM0OTY0KSxkZT1pKDU1NDY1NCk7aSg3MjI1NzEpO3ZhciB1ZT1pKDUyODg3Mik7dmFyIHBlPWkoNzU0ODY0KSxfZT1pKDU5MjM3MCksbWU9aSgzNzgwOCk7Y29uc3QgZ2U9InJlcGxheV9tb2RlIjtmdW5jdGlvbiBmZSgpe3JldHVybiBKLkNoZWNrTW9iaWxlLmFueSgpPyJBY3RpdmVDaGFydCI6US5nZXRWYWx1ZShnZSwiQWN0aXZlQ2hhcnQiKX1jb25zdCBTZT0oMCxtZS5jcmVhdGVQcmltaXRpdmVQcm9wZXJ0eSkoZmUoKSk7ZnVuY3Rpb24gdmUoZSl7Y29uc3R7ZnVsbElkOnQscGluZTppfT1lO3JldHVybmAke3R9JHtpP2Bbdi4ke2kudmVyc2lvbn1dYDoiIn1gfVEub25TeW5jLnN1YnNjcmliZShudWxsLCgoKT0+U2Uuc2V0VmFsdWUoZmUoKSkpKSxTZS5zdWJzY3JpYmUobnVsbCwoKCk9PlEuc2V0VmFsdWUoZ2UsU2UudmFsdWUoKSkpKTtjb25zdCB5ZT0vKFtcdywlLCQsOyxALC1dKilcW3YuKFtcdywuLC1dKilcXS87ZnVuY3Rpb24gYmUoZSl7Y29uc3QgdD15ZS5leGVjKGUpO3JldHVybiB0P3tmdWxsSWQ6dFsxXSxwaW5lOnt2ZXJzaW9uOnRbMl19fTp7ZnVsbElkOmV9fXZhciB3ZT1pKDc3MDc1NSksQ2U9aSg0NzkzNCksUGU9aSg1NjkzOTgpLFRlPWkoNjMxNjM0KSx4ZT1pKDU2OTg0NiksTWU9aSg3MzYwNjMpLEllPWkoMTU2ODUwKSxMZT1pKDQ5MDQ0Nik7Y29uc3QgQWU9KDAsYy5nZXRMb2dnZXIpKCJUaW1pbmdzTWV0ZXIuU2VydmljZSIpLGtlPSgwLGMuZ2V0TG9nZ2VyKSgiVGltaW5nc01ldGVyLlN0YXRzIix7bWF4Q291bnQ6MTYwfSk7dmFyIERlOyFmdW5jdGlvbihlKXtlW2UuSW52YWxpZFRpbWU9LTFdPSJJbnZhbGlkVGltZSIsZVtlLkxvZ2dlckR1bXBUaW1pbmdzU3RhdHNJbnRlcnZhbD0xNWUzXT0iTG9nZ2VyRHVtcFRpbWluZ3NTdGF0c0ludGVydmFsIixlW2UuVGVsZW1ldHJ5RHVtcFRpbWluZ3NTdGF0c0ludGVydmFsPTZlNV09IlRlbGVtZXRyeUR1bXBUaW1pbmdzU3RhdHNJbnRlcnZhbCJ9KERlfHwoRGU9e30pKTtjb25zdCBFZT17W0xlLkludmFsaWRhdGlvbkxldmVsLk5vbmVdOiJub25lIixbTGUuSW52YWxpZGF0aW9uTGV2ZWwuQ3Vyc29yXToiY3Vyc29yIixbTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHRdOiJsaWdodCIsW0xlLkludmFsaWRhdGlvbkxldmVsLkZ1bGxdOiJmdWxsIn07ZnVuY3Rpb24gUmUoZSx0KXtyZXR1cm4gZS5sYXN0VGltZT10LGUudG90YWxUaW1lKz10LCsrZS5jb3VudCx0PmUubWF4VGltZSYmKGUubWF4VGltZT10KSxlfWZ1bmN0aW9uIFZlKGUpe3JldHVybiBlLnRvRml4ZWQoMil9ZnVuY3Rpb24gQmUoZSl7Y29uc3QgdD1lLmNvdW50O2lmKDA9PT10KXJldHVybiJubyBldmVudHMiO2NvbnN0IGk9ZS50b3RhbFRpbWUvdCxzPVZlKGUubWF4VGltZSk7cmV0dXJuYGNvdW50PSR7dH0sIGxhc3Q9JHtWZShlLmxhc3RUaW1lKX0sIG1heD0ke3N9LCBhdmc9JHtWZShpKX1gfWNsYXNzIE5le2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fY3VycmVudERyYXdJdGVtcz17fSx0aGlzLl9jdXJyZW50V2FpdGluZ0l0ZW09e2NvdW50OjAsbGFzdFRpbWU6MCxtYXhUaW1lOjAsdG90YWxUaW1lOjB9LHRoaXMuX2R1bXBUaW1pbmdzU3RhdHNJbnRlcnZhbD0wLHRoaXMuX2xvZ1ByZWZpeD1gWyR7ZX1dYCx0aGlzLl9kdW1wVGltdG91dD10fXN0YXJ0Q29sbGVjdCgpezAhPT10aGlzLl9kdW1wVGltaW5nc1N0YXRzSW50ZXJ2YWwmJihBZS5sb2dXYXJuKGAke3RoaXMuX2xvZ1ByZWZpeH0gTXVsdGlwbGUgc3RhcnQgZGV0ZWN0ZWRgKSx0aGlzLnN0b3BDb2xsZWN0KCkpLHRoaXMuX2NsZWFyQ3VycmVudFN0YXRlKCksdGhpcy5fZHVtcFRpbWluZ3NTdGF0c0ludGVydmFsPXNldEludGVydmFsKHRoaXMuX2R1bXBUaW1pbmdzU3RhdHMuYmluZCh0aGlzKSx0aGlzLl9kdW1wVGltdG91dCksQWUubG9nTm9ybWFsKGAke3RoaXMuX2xvZ1ByZWZpeH0gQ29sbGVjdGluZyBzdGFydGVkYCl9c3RvcENvbGxlY3QoKXswIT09dGhpcy5fZHVtcFRpbWluZ3NTdGF0c0ludGVydmFsJiYoY2xlYXJJbnRlcnZhbCh0aGlzLl9kdW1wVGltaW5nc1N0YXRzSW50ZXJ2YWwpLHRoaXMuX2R1bXBUaW1pbmdzU3RhdHNJbnRlcnZhbD0wLEFlLmxvZ05vcm1hbChgJHt0aGlzLl9sb2dQcmVmaXh9IENvbGxlY3Rpbmcgc3RvcHBlZC4gRHVtcGluZyBsYXN0IHN0YXRlLi4uYCksdGhpcy5fZHVtcFRpbWluZ3NTdGF0cygpKX11cGRhdGVUaW1pbmdzKGUsdCxpKXt0aGlzLl9jdXJyZW50RHJhd0l0ZW1zW2VdPVJlKHRoaXMuX2N1cnJlbnREcmF3SXRlbXNbZV0/P3tjb3VudDowLGxhc3RUaW1lOjAsbWF4VGltZTowLHRvdGFsVGltZTowfSxpKSwKUmUodGhpcy5fY3VycmVudFdhaXRpbmdJdGVtLHQpfV9kdW1wVGltaW5nc1N0YXRzKCl7dGhpcy5fY2xlYXJDdXJyZW50U3RhdGUoKX1fY2xlYXJDdXJyZW50U3RhdGUoKXt0aGlzLl9jdXJyZW50RHJhd0l0ZW1zPXt9LHRoaXMuX2N1cnJlbnRXYWl0aW5nSXRlbT17Y291bnQ6MCxsYXN0VGltZTowLG1heFRpbWU6MCx0b3RhbFRpbWU6MH19fWNsYXNzIE9lIGV4dGVuZHMgTmV7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwxNWUzKX1fZHVtcFRpbWluZ3NTdGF0cygpe2NvbnN0IGU9W3RoaXMuX2xvZ1ByZWZpeCwiIGF3YWl0aW5nOiIsQmUodGhpcy5fY3VycmVudFdhaXRpbmdJdGVtKSwuLi5PYmplY3Qua2V5cyh0aGlzLl9jdXJyZW50RHJhd0l0ZW1zKS5tYXAoKGU9PmA7ICR7ZX06ICR7QmUodGhpcy5fY3VycmVudERyYXdJdGVtc1tlXSl9YCkpXS5qb2luKCIiKTtrZS5sb2dOb3JtYWwoZSksc3VwZXIuX2R1bXBUaW1pbmdzU3RhdHMoKX19Y2xhc3MgV2UgZXh0ZW5kcyBOZXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLDZlNSl9X2R1bXBUaW1pbmdzU3RhdHMoKXtPYmplY3Qua2V5cyh0aGlzLl9jdXJyZW50RHJhd0l0ZW1zKS5mb3JFYWNoKChlPT57Y29uc3QgdD10aGlzLl9jdXJyZW50RHJhd0l0ZW1zW2VdLGk9YGNoYXJ0X3JlbmRlcmluZ190aW1lXyR7ZX1fYXZnX3RpbWVgO0llLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoaSx7dmFsdWU6dC50b3RhbFRpbWUvdC5jb3VudH0pfSkpLHN1cGVyLl9kdW1wVGltaW5nc1N0YXRzKCl9fWNsYXNzIEZle2NvbnN0cnVjdG9yKGUpe3RoaXMuX3dhaXREcmF3U3RhcnRUaW1lPS0xLHRoaXMuX3N0YXJ0RHJhd1RpbWU9LTEsdGhpcy5fY3VycmVudERyYXdMZXZlbD1MZS5JbnZhbGlkYXRpb25MZXZlbC5GdWxsLHRoaXMuX2N1cnJlbnRDaGFydFN0eWxlPTEsdGhpcy5fYWdncmVnYXRvcnM9W10sdGhpcy5fYWdncmVnYXRvcnMucHVzaChuZXcgT2UoZSkpLHRoaXMuX2FnZ3JlZ2F0b3JzLnB1c2gobmV3IFdlKGUpKX1kZXN0cm95KCl7dGhpcy5zdG9wQ29sbGVjdCgpfXN0YXJ0Q29sbGVjdCgpe3RoaXMuX2FnZ3JlZ2F0b3JzLmZvckVhY2goKGU9PntlLnN0YXJ0Q29sbGVjdCgpfSkpfXN0b3BDb2xsZWN0KCl7dGhpcy5fYWdncmVnYXRvcnMuZm9yRWFjaCgoZT0+e2Uuc3RvcENvbGxlY3QoKX0pKX1zdGFydFdhaXRpbmdEcmF3KCl7dGhpcy5fd2FpdERyYXdTdGFydFRpbWU9d2luZG93LnBlcmZvcm1hbmNlLm5vdygpfXN0YXJ0RHJhdyhlLHQpe3RoaXMuX3N0YXJ0RHJhd1RpbWU9d2luZG93LnBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX2N1cnJlbnREcmF3TGV2ZWw9ZSx0aGlzLl9jdXJyZW50Q2hhcnRTdHlsZT10fXN0b3BEcmF3KCl7Y29uc3QgZT13aW5kb3cucGVyZm9ybWFuY2Uubm93KCk7aWYoLTE9PT10aGlzLl9zdGFydERyYXdUaW1lfHwtMT09PXRoaXMuX3dhaXREcmF3U3RhcnRUaW1lKXJldHVybjtjb25zdCB0PXRoaXMuX3N0YXJ0RHJhd1RpbWUtdGhpcy5fd2FpdERyYXdTdGFydFRpbWU7dGhpcy5fd2FpdERyYXdTdGFydFRpbWU9LTE7Y29uc3QgaT1lLXRoaXMuX3N0YXJ0RHJhd1RpbWUscz0obj10aGlzLl9jdXJyZW50RHJhd0xldmVsLHI9dGhpcy5fY3VycmVudENoYXJ0U3R5bGUsbj09PUxlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0P2Ake0VlW25dfV8ke0wuU1RZTEVfU0hPUlRfTkFNRVNbcl19YDpFZVtuXSk7dmFyIG4scjt0aGlzLl9hZ2dyZWdhdG9ycy5mb3JFYWNoKChlPT57ZS51cGRhdGVUaW1pbmdzKHMsdCxpKX0pKSx0aGlzLl9zdGFydERyYXdUaW1lPS0xfX12YXIgSGU9aSgzODMzNTEpLHplPWkoODA5OTkzKSxVZT1pKDYzMjY4NiksR2U9aSgzMzk1MSksamU9aSg2ODkwMjEpLHFlPWkoMjE0OTg3KSwkZT1pKDc4MzU5Myk7Y29uc3QgWWU9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5fdGltZXJXb3JrZXI9bnVsbCx0aGlzLl90aW1lcklkQ291bnRlcj0xLHRoaXMuX3RpbWVyc01hcD1uZXcgTWFwLHRoaXMuX3JlamVjdHNUb0NhbGw9bmV3IFNldCx0aGlzLl9wcm9jZXNzTWVzc2FnZT1lPT57Y29uc3QgdD10aGlzLl90aW1lcnNNYXAuZ2V0KGUuZGF0YS50dXJuYXJvdW5kKTtzd2l0Y2goZS5kYXRhLnR5cGUpe2Nhc2UidGltZXJDcmVhdGVkIjp0JiYodC5zY2hlZHVsZWRGb3JSZW1vdmluZz8oImludGVydmFsIj09PXQudHlwZT90aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJjbGVhckludGVydmFsIixpZDplLmRhdGEuaWR9KTp0aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJjbGVhclRpbWVvdXQiLGlkOmUuZGF0YS5pZH0pLHRoaXMuX2RlbGV0ZVRpbWVyRnJvbU1hcChlLmRhdGEudHVybmFyb3VuZCkpOnQud29ya2VyVGltZXJJZD1lLmRhdGEuaWQpO2JyZWFrO2Nhc2UidGltZXJGaXJlZCI6dCYmKHQuY2FsbGJhY2soKSwidGltZW91dCI9PT10LnR5cGUmJnRoaXMuX2RlbGV0ZVRpbWVyRnJvbU1hcChlLmRhdGEudHVybmFyb3VuZCkpfX19ZGVzdHJveSgpe3RoaXMuX3JlamVjdHNUb0NhbGwuZm9yRWFjaCgoZT0+ZSgoMCxxZS5jcmVhdGVBYm9ydEVycm9yKSgpKSkpLHRoaXMuX3RpbWVyV29ya2VyPy50ZXJtaW5hdGUoKSx0aGlzLl90aW1lcldvcmtlcj1udWxsLHRoaXMuX3RpbWVyc01hcC5jbGVhcigpfXNldFRpbWVvdXQoZSx0KXtyZXR1cm4gdGhpcy5fc2V0VGltZW91dEltcGwoZSx0LCJ0aW1lb3V0Iil9Y2xlYXJUaW1lb3V0KGUpe2NvbnN0IHQ9dGhpcy5fdGltZXJzTWFwLmdldChlKTt0JiYodC53b3JrZXJUaW1lcklkPyh0aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJjbGVhclRpbWVvdXQiLGlkOnQud29ya2VyVGltZXJJZH0pLHRoaXMuX2RlbGV0ZVRpbWVyRnJvbU1hcChlKSk6dC5zY2hlZHVsZWRGb3JSZW1vdmluZz0hMCl9c2V0SW50ZXJ2YWwoZSx0KXtjb25zdCBpPXRoaXMuX25leHRUaW1lcklkKCk7cmV0dXJuIHRoaXMuX3RpbWVyc01hcC5zZXQoaSx7Y2FsbGJhY2s6ZSx0eXBlOiJpbnRlcnZhbCJ9KSx0aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJzZXRJbnRlcnZhbCIsZGVsYXk6dCx0dXJuYXJvdW5kOml9KSxpfQpjbGVhckludGVydmFsKGUpe2NvbnN0IHQ9dGhpcy5fdGltZXJzTWFwLmdldChlKTt0JiYodC53b3JrZXJUaW1lcklkPyh0aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJjbGVhckludGVydmFsIixpZDp0LndvcmtlclRpbWVySWR9KSx0aGlzLl9kZWxldGVUaW1lckZyb21NYXAoZSkpOnQuc2NoZWR1bGVkRm9yUmVtb3Zpbmc9ITApfWFzeW5jIGNyZWF0ZVRpbWVvdXQoZSx0KXtsZXQgaTtyZXR1cm4gbmV3IFByb21pc2UoKChzLG4pPT57aT1uLHRoaXMuX3JlamVjdHNUb0NhbGwuYWRkKGkpO2NvbnN0IHI9dGhpcy5zZXRUaW1lb3V0KHMsZSk7dD8uc2lnbmFsPy5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCgpPT57dGhpcy5jbGVhclRpbWVvdXQociksbigoMCxxZS5jcmVhdGVBYm9ydEVycm9yKSgpKX0pKX0pKS5maW5hbGx5KCgoKT0+e3RoaXMuX3JlamVjdHNUb0NhbGwuZGVsZXRlKGkpfSkpfWFzeW5jKmNyZWF0ZUludGVydmFsKGUsdCl7bGV0IGk9KCk9Pnt9LHM9ZT0+e307Y29uc3Qgbj10aGlzLnNldEludGVydmFsKCgoKT0+e2koKX0pLGUpO3Quc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKCk9Pnt0aGlzLmNsZWFySW50ZXJ2YWwobikscygoMCxxZS5jcmVhdGVBYm9ydEVycm9yKSgpKX0pKTt0cnl7Zm9yKDs7KWF3YWl0IG5ldyBQcm9taXNlKCgoZSx0KT0+e2k9ZSx0aGlzLl9yZWplY3RzVG9DYWxsLmRlbGV0ZShzKSxzPXQsdGhpcy5fcmVqZWN0c1RvQ2FsbC5hZGQocyl9KSkseWllbGR9Y2F0Y2goZSl7aWYoISgwLHFlLmlzQWJvcnRFcnJvcikoZSkpdGhyb3cgZX19X2dldFRpbWVyV29ya2VyKCl7cmV0dXJuIG51bGw9PT10aGlzLl90aW1lcldvcmtlciYmKHRoaXMuX3RpbWVyV29ya2VyPW5ldyAkZS5Xb3JrZXIobmV3IFVSTChpLnAraS51KDg0MjA2KSxpLmIpLHtuYW1lOiJUaW1lciB3b3JrZXIiLGxhbmd1YWdlOndpbmRvdy5sYW5ndWFnZX0pLHRoaXMuX3RpbWVyV29ya2VyLm9ubWVzc2FnZT10aGlzLl9wcm9jZXNzTWVzc2FnZSksdGhpcy5fdGltZXJXb3JrZXJ9X3NldFRpbWVvdXRJbXBsKGUsdCxpKXtjb25zdCBzPXRoaXMuX25leHRUaW1lcklkKCk7cmV0dXJuIHRoaXMuX3RpbWVyc01hcC5zZXQocyx7Y2FsbGJhY2s6ZSx0eXBlOml9KSx0aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJzZXRUaW1lb3V0IixkZWxheTp0LHR1cm5hcm91bmQ6c30pLHN9X2RlbGV0ZVRpbWVyRnJvbU1hcChlKXtpZih0aGlzLl90aW1lcnNNYXAuZGVsZXRlKGUpLDA9PT10aGlzLl90aW1lcnNNYXAuc2l6ZSl7Y29uc3QgZT10aGlzLl9zZXRUaW1lb3V0SW1wbCgoKCk9PnsxPT09dGhpcy5fdGltZXJzTWFwLnNpemUmJnRoaXMuX3RpbWVyc01hcC5oYXMoZSkmJih0aGlzLl90aW1lcnNNYXAuZGVsZXRlKGUpLHRoaXMuX3RpbWVyV29ya2VyPy50ZXJtaW5hdGUoKSx0aGlzLl90aW1lcldvcmtlcj1udWxsKX0pLDZlNCwidGVybWluYWxfdGltZXIiKX19X25leHRUaW1lcklkKCl7cmV0dXJuIHRoaXMuX3RpbWVySWRDb3VudGVyKyt9fSxLZT1uZXcgU2V0KFsiY2hhcnRfc3RvcmFnZV9oaWJlcm5hdGlvbl9kZWxheV82MG1pbiIsImNoYXJ0X3N0b3JhZ2VfaGliZXJuYXRpb25fZGVsYXlfMTBtaW4iLCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzVtaW4iXSk7dmFyIFhlOyFmdW5jdGlvbihlKXtlW2UuT25lTWludXRlPTZlNF09Ik9uZU1pbnV0ZSIsZVtlLkZpdmVNaW51dGVzPTNlNV09IkZpdmVNaW51dGVzIixlW2UuVGVuTWludXRlcz02ZTVdPSJUZW5NaW51dGVzIixlW2UuU2l4dHlNaW51dGVzPTM2ZTVdPSJTaXh0eU1pbnV0ZXMifShYZXx8KFhlPXt9KSk7Y29uc3QgWmU9bmV3IGguV2F0Y2hlZFZhbHVlKEplKCkpO2Z1bmN0aW9uIEplKCl7cmV0dXJuKDAsUGUuaXNGZWF0dXJlRW5hYmxlZCkoImNoYXJ0X3N0b3JhZ2VfaGliZXJuYXRpb25fZGVsYXlfNjBtaW4iKT8zNmU1OigwLFBlLmlzRmVhdHVyZUVuYWJsZWQpKCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzEwbWluIik/NmU1OigwLFBlLmlzRmVhdHVyZUVuYWJsZWQpKCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzVtaW4iKT8zZTU6NmU0fSgwLFBlLm9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQpKCkuc3Vic2NyaWJlKG51bGwsKGU9PntpZighZnVuY3Rpb24oZSl7cmV0dXJuIEtlLmhhcyhlKX0oZSkpcmV0dXJuO2NvbnN0IHQ9SmUoKTtaZS5zZXRWYWx1ZSh0LCExKX0pKTtjb25zdCBRZT1aZS5yZWFkb25seSgpLGV0PSgwLFBlLmlzRmVhdHVyZUVuYWJsZWQpKCJuZXdfc3RvcmFnZV9zdWJzY3JpcHRpb25fdXJsIik7ZnVuY3Rpb24gdHQoZSl7Y29uc3QgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbH49ImNoYXJ0LXN0b3JhZ2Utbm90aWZpY2F0aW9ucyJdJyk7cmV0dXJuIHQ/LmhyZWY/ZT9uZXcgVVJMKGUsdC5ocmVmKTpuZXcgVVJMKHQuaHJlZik6bnVsbH12YXIgaXQ7ZnVuY3Rpb24gc3QoZSx0KXtyZXR1cm4gQm9vbGVhbihlLm1ldGFJbmZvLnVpZC52YWx1ZSgpKSYmIXQuY29udGFpbnNEYXRhJiYhdC5vbldpZGdldCYmZnVuY3Rpb24oKXtpZighKDAsWC5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpKXJldHVybiEwO2NvbnN0IGU9L1RyYWRpbmdWaWV3XC8oXGQrKVwuKFxkKylcLihcZCspXC4/Ly5leGVjKG5hdmlnYXRvci51c2VyQWdlbnQpO2lmKG51bGw9PT1lKXJldHVybiEwO2NvbnN0IHQ9TnVtYmVyKGVbMV0pLTEsaT1OdW1iZXIoZVsyXSktMTUscz1OdW1iZXIoZVszXSktMDtpZih0PjB8fDA9PT10JiZpPjB8fDA9PT10JiYwPT09aSYmcz4wKXJldHVybiEwO3JldHVybiExfSgpJiZudWxsIT09dHQoKX0hZnVuY3Rpb24oZSl7ZVtlLk1pbk1ham9yVmVyc2lvbj0xXT0iTWluTWFqb3JWZXJzaW9uIixlW2UuTWluTWlub3JWZXJzaW9uPTE1XT0iTWluTWlub3JWZXJzaW9uIixlW2UuTWluUGF0Y2hWZXJzaW9uPTBdPSJNaW5QYXRjaFZlcnNpb24ifShpdHx8KGl0PXt9KSk7Y29uc3QgbnQ9KDAsYy5nZXRMb2dnZXIpKCJDaGFydFN0b3JhZ2VDaGFuZ2VzU3Vic2NyaXB0aW9uIikKO2NsYXNzIHJ0IGV4dGVuZHMgemUuUGVyc2lzdGVudEV2ZW50U291cmNlVHJhbnNwb3J0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKGU9PnRoaXMuX29uTWVzc2FnZShlKSkpLHRoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9vbkNoYW5nZVZpc2liaWxpdHlCb3VuZD10aGlzLl9vbkNoYW5nZVZpc2liaWxpdHkuYmluZCh0aGlzKSx0aGlzLl9oaWJlcm5hdGVUaW1lcklkPW51bGwsdGhpcy5faGliZXJuYXRlRGVsYXk9UWUuc3Bhd24oKSx0aGlzLl9iZWZvcmVVbmhpYmVybmF0aW5nPW5ldyBmLkRlbGVnYXRlLHRoaXMuX29uQ2hhbmdlc0NhbGxiYWNrcz1uZXcgU2V0LHRoaXMuX2hhdmVFdmVyQmVlbkhpYmVybmF0ZWQ9ITEsdGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdD0hMSx0aGlzLl9maXJlQmVmb3JlVW5oaWJlcm5hdGluZ09uUmVjb25uZWN0VGltZXJJZD0wLHRoaXMuX3JlY29ubmVjdD0oKT0+e3RoaXMuX3RyeVJlY29ubmVjdCgpfSx0aGlzLl9jaGFydFdpZGdldHNDb2xsZWN0aW9uPWUsdGhpcy5fbGF5b3V0VmlzaWJpbGl0eT1lLnJlc2l6ZXJCcmlkZ2UoKS52aXNpYmxlLnNwYXduKCksdGhpcy5fbGF5b3V0VmlzaWJpbGl0eS5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VWaXNpYmlsaXR5Qm91bmQse2NhbGxXaXRoTGFzdDohMH0pLEllLnRlbGVtZXRyeS5zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydCgibGluZV90b29sc19zdWJzY3JpcHRpb25faW5pdGlhbF9jb25uZWN0IiksdGhpcy5fY29ubmVjdGlvblN0YXR1cy5zdWJzY3JpYmUoKGU9PntlPT09VWUuQ29ubmVjdGlvblN0YXR1cy5DbG9zZWQmJkllLnRlbGVtZXRyeS5zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydCgibGluZV90b29sc19zdWJzY3JpcHRpb25fZGlzY29ubmVjdGVkIil9KSksdGhpcy5fc3Vic2NyaWJlRm9yU2hhcmluZ0xheW91dD10LHRoaXMuY29ubmVjdCgpLHRoaXMuX2hpYmVybmF0ZURlbGF5LnN1YnNjcmliZSgoZT0+e251bGwhPT10aGlzLl9oaWJlcm5hdGVUaW1lcklkJiZ0aGlzLl9zY2hlZHVsZUhpYmVybmF0aW9uKGUpfSkpLHRoaXMuX2NoYXJ0V2lkZ2V0c0NvbGxlY3Rpb24ubWV0YUluZm8udWlkLnN1YnNjcmliZSh0aGlzLl9yZWNvbm5lY3QpfWRlc3Ryb3koKXt0aGlzLl9sYXlvdXRWaXNpYmlsaXR5LmRlc3Ryb3koKSx0aGlzLl9oaWJlcm5hdGVEZWxheS5kZXN0cm95KCksdGhpcy5fY2hhcnRXaWRnZXRzQ29sbGVjdGlvbi5tZXRhSW5mby51aWQudW5zdWJzY3JpYmUodGhpcy5fcmVjb25uZWN0KSx0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9kZXN0cm95ZWQ9ITB9c3Vic2NyaWJlT25DaGFuZ2VzKGUpe3RoaXMuX29uQ2hhbmdlc0NhbGxiYWNrcy5hZGQoZSl9dW5zdWJzY3JpYmVPbkNoYW5nZXMoZSl7dGhpcy5fb25DaGFuZ2VzQ2FsbGJhY2tzLmRlbGV0ZShlKX1iZWZvcmVVbmhpYmVybmF0aW5nKCl7cmV0dXJuIHRoaXMuX2JlZm9yZVVuaGliZXJuYXRpbmd9YXN5bmMgX3ByZXBhcmVQYXJhbXNGb3JDb25uZWN0aW9uKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnRXaWRnZXRzQ29sbGVjdGlvbi5tZXRhSW5mby51aWQudmFsdWUoKTtpZih0aGlzLl9kZXN0cm95ZWQpcmV0dXJuIFByb21pc2UucmVqZWN0KCJTdWJzY3JpcHRpb24gaXMgYmVpbmcgZGVzdHJveWVkIik7Y29uc3QgaT1hd2FpdCgwLEdlLmdldFN0b3JhZ2VUYXJnZXQpKHQsIiIsMCkscz10dChldD9gL2F1dGgvY2hhcnRzLXN0b3JhZ2UvbGF5b3V0LyR7dH0vc3Vic2NyaWJlYDpgL2NoYXJ0cy1zdG9yYWdlL2xheW91dC8ke3R9L3N1YnNjcmliZWApO251bGwhPT1zPyhzLnNlYXJjaFBhcmFtcy5kZWxldGUoImp3dCIpLGV0fHxzLnNlYXJjaFBhcmFtcy5hcHBlbmQoImp3dCIsaS50b2tlbiksZXQ/cy5zZWFyY2hQYXJhbXMuYXBwZW5kKCJpZCIsInByaXZhdGUiKTp0aGlzLl9zdWJzY3JpYmVGb3JTaGFyaW5nTGF5b3V0JiZ3aW5kb3cudXNlci5pZCYmd2luZG93LnVzZXIuaXNfcHJvJiZzLnNlYXJjaFBhcmFtcy5hcHBlbmQoImlkIiwiIit3aW5kb3cudXNlci5pZCksdGhpcy5fdXJsPXMudG9TdHJpbmcoKSk6dGhpcy5fdXJsPSIifV90cnlSZWNvbm5lY3RJbXBsKCl7c3VwZXIuX3RyeVJlY29ubmVjdEltcGwoKSxJZS50ZWxlbWV0cnkuc2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoImxpbmVfdG9vbHNfc3Vic2NyaXB0aW9uX3JlY29ubmVjdGluZyIpfV9vbk9wZW5DYWxsYmFjaygpe3N1cGVyLl9vbk9wZW5DYWxsYmFjaygpLHRoaXMuX2ZpcmVCZWZvcmVVbmhpYmVybmF0aW5nT25SZWNvbm5lY3QmJihudC5sb2dOb3JtYWwoIlVuaGliZXJuYXRpbmcgb24gcmVjb25uZWN0IiksdGhpcy5fYmVmb3JlVW5oaWJlcm5hdGluZy5maXJlKCksdGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdD0hMSxjbGVhclRpbWVvdXQodGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdFRpbWVySWQpLHRoaXMuX2ZpcmVCZWZvcmVVbmhpYmVybmF0aW5nT25SZWNvbm5lY3RUaW1lcklkPTApfV9vbk1lc3NhZ2UoZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiV3JvbmcgbWVzc2FnZSB0eXBlLCBleHBlY3RlZCBzdHJpbmciKTtjb25zdCB0PUpTT04ucGFyc2UoZSk7T2JqZWN0LmVudHJpZXModCkuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9KDAsamUucGFyc2VMaW5lVG9vbHNBbmRHcm91cHNEVE8pKGVbMV0sIiIpLGk9ZVswXTtsZXQgcz0wO2k9PT1HZS5zaGFyZWRDaGFydElkP3M9MTppPT09R2UuZ2xvYmFsbHlTaGFyZWRDaGFydElkJiYocz0yKSx0aGlzLl9jaGFydFdpZGdldHNDb2xsZWN0aW9uLmFwcGx5TGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oaSx0LHMpfSkpLHRoaXMuX29uQ2hhbmdlc0NhbGxiYWNrcy5mb3JFYWNoKCh0PT50KGUpKSl9X29uQ2hhbmdlVmlzaWJpbGl0eSgpe2NvbnN0IGU9dGhpcy5fbGF5b3V0VmlzaWJpbGl0eS52YWx1ZSgpO250LmxvZ05vcm1hbChgVmlzaWJpbGl0eSBjaGFuZ2VkIHRvICR7ZX0sIGNvbm5lY3Rpb24gc3RhdHVzOiAke3RoaXMuY29ubmVjdGlvblN0YXR1cygpLnZhbHVlKCl9YCksCmU/dGhpcy5jb25uZWN0aW9uU3RhdHVzKCkudmFsdWUoKSE9PVVlLkNvbm5lY3Rpb25TdGF0dXMuT3Blbj8odGhpcy5jb25uZWN0aW9uU3RhdHVzKCkudmFsdWUoKT09PVVlLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkJiZ0aGlzLmNvbm5lY3QoKSx0aGlzLl9iZWZvcmVVbmhpYmVybmF0aW5nLmZpcmUoKSx0aGlzLl9oYXZlRXZlckJlZW5IaWJlcm5hdGVkJiYobnQubG9nTm9ybWFsKCJDb25uZWN0IGR1ZSB0byBiZWNvbWluZyB2aXNpYmxlIiksSWUudGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3VuaGliZW5hdGVfc3Vic2NyaXB0aW9uIikpKTooKDAsWC5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpfHxKLkNoZWNrTW9iaWxlLmlPUygpfHxKLkNoZWNrTW9iaWxlLkFuZHJvaWQoKSkmJihudC5sb2dOb3JtYWwoIlNjaGVkdWxlIHVuaGliZXJuYXRpbmcgb24gcmVjb25uZWN0IiksdGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdD0hMCxjbGVhclRpbWVvdXQodGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdFRpbWVySWQpLHRoaXMuX2ZpcmVCZWZvcmVVbmhpYmVybmF0aW5nT25SZWNvbm5lY3RUaW1lcklkPXNldFRpbWVvdXQoKCgpPT57bnQubG9nTm9ybWFsKCJDYW5jZWwgU2NoZWR1bGVkIHVuaGliZXJuYXRpbmcgb24gcmVjb25uZWN0IiksdGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdD0hMX0pLDVlMykpOmV8fHRoaXMuX3NjaGVkdWxlSGliZXJuYXRpb24oUWUudmFsdWUoKSl9X3NjaGVkdWxlSGliZXJuYXRpb24oZSl7bnVsbCE9PXRoaXMuX2hpYmVybmF0ZVRpbWVySWQmJlllLmNsZWFyVGltZW91dCh0aGlzLl9oaWJlcm5hdGVUaW1lcklkKSx0aGlzLl9oaWJlcm5hdGVUaW1lcklkPVllLnNldFRpbWVvdXQoKCgpPT50aGlzLl9kaXNjb25uZWN0SWZJbnZpc2libGUoKSksZSl9X2Rpc2Nvbm5lY3RJZkludmlzaWJsZSgpe3RoaXMuX2hpYmVybmF0ZVRpbWVySWQ9bnVsbCx0aGlzLl9sYXlvdXRWaXNpYmlsaXR5LnZhbHVlKCl8fChudC5sb2dOb3JtYWwoIkRpc2Nvbm5lY3QgZHVlIHRvIGJlY29taW5nIGludmlzaWJsZSIpLHRoaXMuZGlzY29ubmVjdCgpLEllLnRlbGVtZXRyeS5zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydCgibGluZV90b29sc19oaWJlbmF0ZV9zdWJzY3JpcHRpb24iKSx0aGlzLl9oYXZlRXZlckJlZW5IaWJlcm5hdGVkPSEwKX19dmFyIG90PWkoNzkxNDI3KSxhdD1pKDYwNTI1NyksbHQ9aSgxNTAxNTApLGN0PWkoNjQxNTkzKSxodD1pKDU1NzA2NSk7Y29uc3QgZHQ9KDAsYy5nZXRMb2dnZXIpKCJDbGlwYm9hcmQiKTt2YXIgdXQ7IWZ1bmN0aW9uKGUpe2UuTWFnaWNBdHRyTmFtZT0iZGF0YS10cmFkaW5ndmlldy1jbGlwIn0odXR8fCh1dD17fSkpO2NsYXNzIHB0e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2U9ZX13cml0ZShlKXtyZXR1cm4oMCxodC53cml0ZUltcGwpKHRoaXMuX3RvUmF3KGUpLHRoaXMuX2UpfV90b1JhdyhlKXtjb25zdCB0PXtmaWxlczpbXX07dC50ZXh0PWUudGV4dCx2b2lkIDAhPT1lLmFwcD90Lmh0bWw9dGhpcy5fc2VyaWFsaXplQXBwRGF0YShlLmFwcCxlLnRleHQpOmUuaHRtbCYmKHQuaHRtbD1lLmh0bWwpO2Zvcihjb25zdCBpIG9mIGUuZmlsZXN8fFtdKXQuZmlsZXMucHVzaChpKTtyZXR1cm4gdH1fc2VyaWFsaXplQXBwRGF0YShlLHQpe2NvbnN0IGk9KDAsY3QuaHRtbEVzY2FwZSkoZSkscz10PygwLGN0Lmh0bWxFc2NhcGUpKHQuc2xpY2UoMCwyNTYpKToiJiMxMjgyMDA7IjtyZXR1cm5gPG1ldGEgY2hhcnNldD0idXRmLTgiPjxzcGFuICR7dXQuTWFnaWNBdHRyTmFtZX09IiR7aX0iPiR7c308L3NwYW4+YH19Y2xhc3MgX3R7Y29uc3RydWN0b3IoZSl7dGhpcy5fZT1lfWFzeW5jIHJlYWQoKXt0aGlzLl9lJiYwPT09dGhpcy5fZS5ldmVudFBoYXNlJiYoZHQubG9nV2FybigiQ2Fubm90IHVzZSBhbiBhbHJlYWR5IGRpc3BhdGNoZWQgQ2xpcGJvYXJkRXZlbnQgZm9yIHJlYWRpbmciKSx0aGlzLl9lPW51bGwpO2NvbnN0IGU9dGhpcy5fZT90aGlzLl9yZWFkVXNpbmdFdmVudCh0aGlzLl9lKTphd2FpdCB0aGlzLl9yZWFkVXNpbmdBcGkoKTtyZXR1cm4gdGhpcy5fZnJvbVJhdyhlKX1fcmVhZFVzaW5nRXZlbnQoZSl7Y29uc3QgdD0oMCxsLmVuc3VyZSkoZS5jbGlwYm9hcmREYXRhKTtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgaT17ZmlsZXM6W119O2ZvcihsZXQgZT0wO2U8dC5maWxlcy5sZW5ndGg7ZSsrKWkuZmlsZXMucHVzaCh0LmZpbGVzW2VdKTtmb3IobGV0IGU9MDtlPHQuaXRlbXMubGVuZ3RoO2UrKyl7Y29uc3Qgcz10Lml0ZW1zW2VdOyJzdHJpbmciPT09cy5raW5kJiYoInRleHQvcGxhaW4iPT09cy50eXBlP2kudGV4dD10LmdldERhdGEocy50eXBlKToidGV4dC9odG1sIj09PXMudHlwZT9pLmh0bWw9dC5nZXREYXRhKHMudHlwZSk6aS5maWxlcy5wdXNoKG5ldyBCbG9iKFt0LmdldERhdGEocy50eXBlKV0se3R5cGU6cy50eXBlfSkpKX1yZXR1cm4gaX1hc3luYyBfcmVhZFVzaW5nQXBpKCl7Y29uc3QgZT0oMCxodC5nZXRDbGlwYm9hcmQpKCk7aWYoIWV8fCFlLnJlYWQpdGhyb3cgbmV3IERPTUV4Y2VwdGlvbigiQ2xpcGJvYXJkQXBpIGlzIG5vdCBzdXBwb3J0ZWQiLCJOb3RTdXBwb3J0ZWRFcnJvciIpO2xldCB0LGk7Y29uc3Qgcz1bXSxuPWF3YWl0IGUucmVhZCgpO2Zvcihjb25zdCBlIG9mIG4pZm9yKGNvbnN0IG4gb2YgZS50eXBlcykidGV4dC9odG1sIj09PW4/dD1lLmdldFR5cGUobikudGhlbih0aGlzLl9yZWFkQmxvYkFzVGV4dCk6InRleHQvcGxhaW4iPT09bj9pPWUuZ2V0VHlwZShuKS50aGVuKHRoaXMuX3JlYWRCbG9iQXNUZXh0KTpzLnB1c2goZS5nZXRUeXBlKG4pKTtyZXR1cm57dGV4dDphd2FpdCBpLGh0bWw6YXdhaXQgdCxmaWxlczphd2FpdCBQcm9taXNlLmFsbChzKX19X2Zyb21SYXcoZSl7Y29uc3QgdD17fTtpZih2b2lkIDAhPT1lLnRleHQmJih0LnRleHQ9ZS50ZXh0KSx2b2lkIDAhPT1lLmh0bWwpe2NvbnN0IGk9dGhpcy5fcGFyc2VBcHBEYXRhKGUuaHRtbCk7aT90LmFwcD1pOnQuaHRtbD1lLmh0bWx9CnJldHVybiBlLmZpbGVzLmxlbmd0aD4wJiYodC5maWxlcz1lLmZpbGVzKSx0fV9wYXJzZUFwcERhdGEoZSl7aWYoLTE9PT1lLnNsaWNlKDAsMTAyNCkuaW5kZXhPZih1dC5NYWdpY0F0dHJOYW1lKSlyZXR1cm47Y29uc3QgdD0obmV3IERPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKGUsInRleHQvaHRtbCIpLnF1ZXJ5U2VsZWN0b3IoYFske3V0Lk1hZ2ljQXR0ck5hbWV9XWApO3JldHVybiB0P3QuZ2V0QXR0cmlidXRlKHV0Lk1hZ2ljQXR0ck5hbWUpfHwiIjp2b2lkIDB9X3JlYWRCbG9iQXNUZXh0KGUpe3JldHVybiBuZXcgUHJvbWlzZSgoKHQsaSk9Pntjb25zdCBzPW5ldyBGaWxlUmVhZGVyO3Mub25sb2FkZW5kPSgpPT57dChzLnJlc3VsdCl9LHMub25lcnJvcj0oKT0+e2kocy5lcnJvcil9LHMucmVhZEFzVGV4dChlKX0pKX19Y2xhc3MgbXR7Y29uc3RydWN0b3IoZSl7dGhpcy5fY2FsbGJhY2tzPU9iamVjdC5hc3NpZ24oe30sZSksdGhpcy5fYm91bmRPbkNvcHk9dGhpcy5fb25Db3B5RXYuYmluZCh0aGlzKSx0aGlzLl9ib3VuZE9uQ3V0PXRoaXMuX29uQ3V0RXYuYmluZCh0aGlzKSx0aGlzLl9ib3VuZE9uUGFzdGU9dGhpcy5fb25QYXN0ZUV2LmJpbmQodGhpcyl9bGlzdGVuKCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY29weSIsdGhpcy5fYm91bmRPbkNvcHkpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImN1dCIsdGhpcy5fYm91bmRPbkN1dCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicGFzdGUiLHRoaXMuX2JvdW5kT25QYXN0ZSl9YXN5bmMgcGVlaygpe2lmKCJncmFudGVkIiE9PShhd2FpdCBuYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoe25hbWU6ImNsaXBib2FyZC1yZWFkIn0pKS5zdGF0ZSl0aHJvdyBuZXcgRXJyb3IoImNsaXBib2FyZC1yZWFkIGlzIG5vdCBncmFudGVkIik7cmV0dXJuIG5ldyBfdChudWxsKS5yZWFkKCl9dWlSZXF1ZXN0Q29weShlKXt0aGlzLl9jYWxsYmFja3MuY29weVJlcXVlc3RlZCYmdGhpcy5fY2FsbGJhY2tzLmNvcHlSZXF1ZXN0ZWQobmV3IHB0KG51bGwpLGUpfXVpUmVxdWVzdEN1dChlKXt0aGlzLl9jYWxsYmFja3MuY3V0UmVxdWVzdGVkJiZ0aGlzLl9jYWxsYmFja3MuY3V0UmVxdWVzdGVkKG5ldyBwdChudWxsKSxlKX11aVJlcXVlc3RQYXN0ZShlKXt0aGlzLl9jYWxsYmFja3MucGFzdGVSZXF1ZXN0ZWQmJnRoaXMuX2NhbGxiYWNrcy5wYXN0ZVJlcXVlc3RlZChuZXcgX3QobnVsbCksZSl9ZGVzdHJveSgpe2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNvcHkiLHRoaXMuX2JvdW5kT25Db3B5KSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjdXQiLHRoaXMuX2JvdW5kT25DdXQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBhc3RlIix0aGlzLl9ib3VuZE9uUGFzdGUpfV9vbkNvcHlFdihlKXtlLmRlZmF1bHRQcmV2ZW50ZWR8fHRoaXMuX2NhbGxiYWNrcy5jb3B5UmVxdWVzdGVkJiZ0aGlzLl9jYWxsYmFja3MuY29weVJlcXVlc3RlZChuZXcgcHQoZSkpfV9vbkN1dEV2KGUpe2UuZGVmYXVsdFByZXZlbnRlZHx8dGhpcy5fY2FsbGJhY2tzLmN1dFJlcXVlc3RlZCYmdGhpcy5fY2FsbGJhY2tzLmN1dFJlcXVlc3RlZChuZXcgcHQoZSkpfV9vblBhc3RlRXYoZSl7ZS5kZWZhdWx0UHJldmVudGVkfHx0aGlzLl9jYWxsYmFja3MucGFzdGVSZXF1ZXN0ZWQmJnRoaXMuX2NhbGxiYWNrcy5wYXN0ZVJlcXVlc3RlZChuZXcgX3QoZSkpfX12YXIgZ3Q9aSg3MjEzNjkpO2Z1bmN0aW9uIGZ0KGUpe2NvbnN0IHQ9ZS50YXJnZXQ7cmV0dXJuIG51bGwhPT10JiYxPT09dC5ub2RlVHlwZSYmKDAsZ3QuaXNUZXh0RWRpdGluZ0ZpZWxkKSh0KX1mdW5jdGlvbiBTdChlKXtjb25zdCB0PWUudGFyZ2V0O2lmKG51bGw9PT10KXJldHVybiExO2NvbnN0IGk9KHQub3duZXJEb2N1bWVudHx8dCkuZ2V0U2VsZWN0aW9uKCk7cmV0dXJuIG51bGwhPT1pJiYhaS5pc0NvbGxhcHNlZH1jbGFzcyB2dCBleHRlbmRzIG10e19vbkNvcHlFdihlKXtpZighZnQoZSkmJiFTdChlKSlyZXR1cm4gc3VwZXIuX29uQ29weUV2KGUpfV9vbkN1dEV2KGUpe2lmKCFmdChlKSYmIVN0KGUpKXJldHVybiBzdXBlci5fb25DdXRFdihlKX1fb25QYXN0ZUV2KGUpe2lmKCFmdChlKSlyZXR1cm4gc3VwZXIuX29uUGFzdGVFdihlKX19dmFyIHl0PWkoOTE4Nzc5KSxidD1pKDgzOTQyNiksd3Q9aSgxNDQ1NTUpLEN0PWkoNjM5Nzg4KSxQdD1pKDczNjUzMSksVHQ9aSg0NTk5OTQpLHh0PWkoNzI4NTQpLE10PWkoMzg2OTMxKSxJdD1pKDQyNTY1OSksTHQ9aSgyOTExMjkpLEF0PWkoNzY4NzYwKSxrdD1pKDEwMjUzKSxEdD1pKDY4Mjc3OSksRXQ9aSg5OTQ1NDApLFJ0PWkoNzQ0NTM0KTtsZXQgVnQ7Y2xhc3MgQnQgZXh0ZW5kcyBlZS5EaWFsb2dSZW5kZXJlcntjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5fZGlhbG9nPW51bGwsdGhpcy5fc3Vic2NyaWJlPWU9Pnt0aGlzLl9zZXRWaXNpYmlsaXR5KGUpfX1zaG93KCl7dGhpcy5fbG9hZCgpLnRoZW4oKGU9PmUuc2hvdygpKSl9aGlkZSgpe3RoaXMuX2RpYWxvZz8uaGlkZSgpfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBWdHx8KFZ0PW5ldyBCdCksVnR9X2xvYWQoKXsKcmV0dXJuIFByb21pc2UuYWxsKFtpLmUoNjIyNyksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoODEwNzIpLGkuZSgyMzYyNCksaS5lKDM2MjIyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSg5NjU4NyksaS5lKDI3NTE3KSxpLmUoODY0MjMpLGkuZSgzNzUxMyksaS5lKDg1NzkpLGkuZSg5NTA0KSxpLmUoMTcwODcpLGkuZSg3MjY2NiksaS5lKDk4MDg0KSxpLmUoOTM0MjEpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNDc2MzIpLGkuZSg2NjA1KSxpLmUoNzE0MTQpLGkuZSg4OTIwNCksaS5lKDg5NTU4KSxpLmUoOTc0NCksaS5lKDY5ODYxKSxpLmUoMTk1MTMpLGkuZSg3MjUxMiksaS5lKDU1MDExKSxpLmUoNzA2NTYpLGkuZSg3MTkwMSksaS5lKDgxMjQ3KSxpLmUoMzkxNiksaS5lKDkwMzc4KSxpLmUoNzkyNyksaS5lKDY2MjI5KSxpLmUoNzkzOTgpLGkuZSgzMjM4NyksaS5lKDgwOTE1KSxpLmUoMTg1MTIpLGkuZSg0ODYyMCksaS5lKDUwMDQ5KSxpLmUoMjM3NDMpLGkuZSg0MjI4OCksaS5lKDc3NTc4KSxpLmUoOTkzMDkpLGkuZSg3NjAzMyksaS5lKDI0ODc5KSxpLmUoNTc2MzgpLGkuZSg4NDk1MildKS50aGVuKGkuYmluZChpLDkyMDY0KSkudGhlbigoZT0+KHRoaXMuX2RpYWxvZz8uaGlkZSgpLHRoaXMuX2RpYWxvZz8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nPW5ldyBlLk9iamVjdFRyZWVEaWFsb2dSZW5kZXJlcix0aGlzLl9kaWFsb2cudmlzaWJsZSgpLnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpLHRoaXMuX2RpYWxvZykpKX19dmFyIE50PWkoNjI4MDYpLE90PWkoNzY4MjkyKTt2YXIgV3QsRnQ9aSg4OTkyMzUpO2FzeW5jIGZ1bmN0aW9uIEh0KGUsdCxzLG4scixvPSJkZWZhdWx0Iil7bGV0IGwsYz1bXTtjb25zdCBoPWUubW9kZWwoKS5tb2RlbCgpLGQ9KDAsYS5jbG9uZSkodCksdT1uZXcgT3QuUHJvcGVydHkoe2lucHV0czpkfSksXz1mdW5jdGlvbihlLHQpe3JldHVybiJzeW1ib2wiPT09dD9lLmlucHV0cy5maWx0ZXIoKHQ9PnQuaWQ9PT1lLnN5bWJvbElucHV0SWQoKSkpOmUuaW5wdXRzLmZpbHRlcigoZT0+ZS5jb25maXJtKSl9KHMsbyksbT0oKT0+e2wmJmgucmVtb3ZlQ3VzdG9tU291cmNlKGwpfSxnPSgpPT57bSgpLHIoKX0sZj1lPT57bih7aW5wdXRzOmUscGFyZW50U291cmNlczpjfSksbSgpfSxTPV8uZmlsdGVyKE50LmlzVGltZU9yUHJpY2VOb3RIaWRkZW5JbnB1dCk7aWYoUy5sZW5ndGg+MCl0cnl7Y29uc3QgdD1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDU1MDc5KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDU2MjUyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTEyMTgpLGkuZSg4NjQyMyksaS5lKDM3NTEzKSxpLmUoODU3OSksaS5lKDQwODM1KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDE1NTI2KSxpLmUoOTM0MTYpLGkuZSg2MTgyMSksaS5lKDU3MzAwKSxpLmUoNTE2ODIpLGkuZSg5NzY2MCksaS5lKDM1MTk4KSxpLmUoMzMxMjApLGkuZSgzOTc4NiksaS5lKDUwNjIyKSxpLmUoNjA4MiksaS5lKDI3MzM3KSxpLmUoMjc3MzYpLGkuZSgzODQ3OSksaS5lKDkwMzMwKSxpLmUoOTYxODEpLGkuZSgyMDU2NCksaS5lKDQ1MzMxKSxpLmUoNDYyNDUpLGkuZSg2OTgwMyksaS5lKDMyMzg3KSxpLmUoMjM3NDMpLGkuZSg3MjExKSxpLmUoNzM1MzUpLGkuZSgyNjUwMSksaS5lKDEwOTk5KSxpLmUoMzAzOSldKS50aGVuKGkuYmluZChpLDU0MTY4NikpLG49YXdhaXQgdC5zZWxlY3RJbnB1dFZhbHVlc09uQ2hhcnQoZSxTLHUscy5zaG9ydERlc2NyaXB0aW9uLHMuaW5wdXRzKTtpZihsPW4uY3VzdG9tU291cmNlSWQsbi5kZXN0UGFuZSYmb3QuU3R1ZHlNZXRhSW5mby5nZXRTb3VyY2VJbnB1dElkcyhzKS5sZW5ndGg+MCl7Y29uc3QgZT1uLmRlc3RQYW5lLm1haW5EYXRhU291cmNlKCk7Yz1lPT09aC5tYWluU2VyaWVzKCk/W106W2VdfWVsc2UgYz1bXX1jYXRjaChlKXtyZXR1cm4gdm9pZCBnKCl9Uy5sZW5ndGghPT1fLmxlbmd0aD9Qcm9taXNlLmFsbChbaS5lKDU1MDc5KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDU2MjUyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTEyMTgpLGkuZSg4NjQyMyksaS5lKDM3NTEzKSxpLmUoODU3OSksaS5lKDQwODM1KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDE1NTI2KSxpLmUoOTM0MTYpLGkuZSg2MTgyMSksaS5lKDU3MzAwKSxpLmUoNTE2ODIpLGkuZSg5NzY2MCksaS5lKDM1MTk4KSxpLmUoMzMxMjApLGkuZSgzOTc4NiksaS5lKDUwNjIyKSxpLmUoNjA4MiksaS5lKDI3MzM3KSxpLmUoMjc3MzYpLGkuZSgzODQ3OSksaS5lKDkwMzMwKSxpLmUoOTYxODEpLGkuZSgyMDU2NCksaS5lKDQ1MzMxKSxpLmUoNDYyNDUpLGkuZSg2OTgwMyksaS5lKDMyMzg3KSxpLmUoMjM3NDMpLGkuZSg3MjExKSxpLmUoNzM1MzUpLGkuZSgyNjUwMSksaS5lKDEwOTk5KSxpLmUoMzAzOSldKS50aGVuKGkuYmluZChpLDQyMTIwNSkpLnRoZW4oKHQ9PnsKY29uc3Qgbj1uZXcgdC5Db25maXJtSW5wdXRzRGlhbG9nUmVuZGVyZXIoZnVuY3Rpb24oZSl7aWYoInN5bWJvbCI9PT1lKXJldHVybiBwLnQobnVsbCx2b2lkIDAsaSgzNDQzMjApKTtyZXR1cm4gcC50KG51bGwsdm9pZCAwLGkoNzQ3MjU5KSl9KG8pLF8sdSxvLHMsZixnLCgwLEZ0LmdldFRpbWV6b25lTmFtZSkoZS5tb2RlbCgpKSk7cmV0dXJuIG4uc2hvdygpLG59KSk6Zih1LnN0YXRlKCkuaW5wdXRzfHx7fSl9IWZ1bmN0aW9uKGUpe2UuRGVmYXVsdD0iZGVmYXVsdCIsZS5TeW1ib2w9InN5bWJvbCJ9KFd0fHwoV3Q9e30pKTtsZXQgenQ9bnVsbDt2YXIgVXQ9aSg2NTQ2MzYpLEd0PWkoMTg5ODYzKSxqdD1pKDIyMzU1Nik7ZnVuY3Rpb24gcXQoZSx0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsdCl9ZnVuY3Rpb24gJHQoZSl7cmV0dXJuIGUucmVkdWNlKCgoZSx0KT0+e2Zvcihjb25zdCBpIGluIHQpaWYocXQodCxpKSl7Y29uc3Qgcz10W2ldLG49ZVtpXTtuP24ucHVzaChzKTplW2ldPVtzXX1yZXR1cm4gZX0pLHt9KX12YXIgWXQsS3Q9aSgxNTEyMSksWHQ9aSg0NjQ4MzUpOyFmdW5jdGlvbihlKXtlW2UuQWNjZWxlcmF0aW9uUGVyTVNlY1BpeGVscz0uMDAzXT0iQWNjZWxlcmF0aW9uUGVyTVNlY1BpeGVscyIsZVtlLk1heFNwZWVkUGVyTVNlY1BpeGVscz0xLjFdPSJNYXhTcGVlZFBlck1TZWNQaXhlbHMifShZdHx8KFl0PXt9KSk7Y2xhc3MgWnR7Y29uc3RydWN0b3IoZSl7dGhpcy5fY2hhcnRNb2RlbD1udWxsLHRoaXMuX2FuaW1hdGlvbj1udWxsLHRoaXMuX2NoYXJ0PWUsdGhpcy5fY2hhcnQud2l0aE1vZGVsKHRoaXMsKCgpPT57dGhpcy5fY2hhcnRNb2RlbD10aGlzLl9jaGFydC5tb2RlbCgpfSkpfWRlc3Ryb3koKXt0aGlzLl9hbmltYXRpb24/LnN0b3AoKX1tb3ZlKGUpe2lmKG51bGwhPT10aGlzLl9jaGFydE1vZGVsKXtpZih0aGlzLl9jaGFydE1vZGVsLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgdD0uMDAzLGk9MS4xLHM9TWF0aC5yb3VuZChpL3QpO3RoaXMuX21vdmVJbXBsKCgobixyLG8pPT57Y29uc3QgYT1NYXRoLm1pbihyLHMpLGw9ZSp0Kk1hdGgucG93KGEsMikvMjtpZihyPD1zKXJldHVybiBuK2w7Y29uc3QgYz1OdW1iZXIuaXNGaW5pdGUobyk/TWF0aC5tYXgoMCxzLW8pOjA7cmV0dXJuIG4rbCtlKihyLWEtYykqaStlKihpKmMtdCpNYXRoLnBvdyhjLDIpLzIpfSksKGU9Pk1hdGgubWF4KDAscy1lKStzKSl9fW1vdmVCeUJhcihlKXtpZihudWxsIT09dGhpcy5fY2hhcnRNb2RlbCl7Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLnRpbWVTY2FsZSgpLGk9dC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYodC5pc0VtcHR5KCl8fG51bGw9PT1pKXJldHVybjtjb25zdCBzPTMwMCxuPWkubGFzdEJhcigpO3RoaXMuX21vdmVJbXBsKCgoaSxyKT0+e2NvbnN0IG89TWF0aC5mbG9vcihNYXRoLm1heCgwLHItcykvMTAwKSsxLGE9bitlKm8sbD10LmluZGV4VG9Db29yZGluYXRlKG4pO3JldHVybiBpKyh0LmluZGV4VG9Db29yZGluYXRlKGEpLWwpfSksKCgpPT4wKSwhMCl9fXN0b3BNb3ZlKCl7dGhpcy5fYW5pbWF0aW9uPy5zdG9wKCksdGhpcy5fYW5pbWF0aW9uPW51bGx9c2Nyb2xsVG9SZWFsdGltZShlLHQpe2lmKG51bGw9PT10aGlzLl9jaGFydE1vZGVsKXJldHVybjt0aGlzLl9jaGFydE1vZGVsLnRpbWVTY2FsZSgpLnNjcm9sbFRvUmVhbHRpbWUoZSx0KTtjb25zdCBpPXRoaXMuX2NoYXJ0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpOyFpLmxvY2suZGF0ZVJhbmdlLnZhbHVlKCkmJmkubG9jay50cmFja1RpbWUudmFsdWUoKSYmaS5jaGFydE1vZGVscygpLnZhbHVlKCkuZm9yRWFjaCgodD0+e3QhPT10aGlzLl9jaGFydE1vZGVsJiZ0LnRpbWVTY2FsZSgpLnNjcm9sbFRvUmVhbHRpbWUoZSl9KSl9c2Nyb2xsVG9GaXJzdEJhcigpe3RoaXMuX2NoYXJ0TW9kZWw/LnRpbWVTY2FsZSgpLnNjcm9sbFRvRmlyc3RCYXIoKX1fbW92ZUltcGwoZSx0LGkpe2lmKG51bGw9PT10aGlzLl9jaGFydE1vZGVsKXJldHVybjtjb25zdCBzPXRoaXMuX2NoYXJ0TW9kZWwudGltZVNjYWxlKCk7aWYocy5pc0VtcHR5KCkpcmV0dXJuO2lmKGkmJm51bGwhPT1zLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSl7Y29uc3QgZT1zLmluZGV4VG9Db29yZGluYXRlKHMudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpLmxhc3RCYXIoKSkrcy5iYXJTcGFjaW5nKCkvMjtNYXRoLmFicyhzLndpZHRoKCktZSk+cy5iYXJTcGFjaW5nKCkvNiYmcy5zZXRSaWdodE9mZnNldChNYXRoLnJvdW5kKHMucmlnaHRPZmZzZXQoKSkpfWNvbnN0IG49cGVyZm9ybWFuY2Uubm93KCk7bGV0IHI9MS8wO3RoaXMuX2FuaW1hdGlvbj17Z2V0U3RhcnRQb3NpdGlvbjooKT0+MCxnZXRQb3NpdGlvbjp0PT4odD1NYXRoLm1pbihyLHQpLGUoMCx0LW4sci10KSksZmluaXNoZWQ6ZT0+ZT49cixzdG9wOigpPT57Y29uc3QgZT1wZXJmb3JtYW5jZS5ub3coKS1uO3I9cGVyZm9ybWFuY2Uubm93KCkrdChlKX19LHRoaXMuX2NoYXJ0TW9kZWwubW9kZWwoKS5zdG9wVGltZVNjYWxlQW5pbWF0aW9uKCksdGhpcy5fY2hhcnRNb2RlbC5tb2RlbCgpLnNldFRpbWVTY2FsZUFuaW1hdGlvbih0aGlzLl9hbmltYXRpb24pfX12YXIgSnQ9aSgxODcwNjIpO2xldCBRdD1udWxsO2Z1bmN0aW9uIGVpKGUsdCxzLG4scixvKXsKcmV0dXJuIFByb21pc2UuYWxsKFtpLmUoMjk0MzkpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSgzNjIyMiksaS5lKDI5NTM2KSxpLmUoNTYyNTIpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoNjc3OTkpLGkuZSgxMTQ2MSksaS5lKDI0NTgxKSxpLmUoOTY1ODcpLGkuZSgxMTIxOCksaS5lKDg2NDIzKSxpLmUoMzc1MTMpLGkuZSg4NTc5KSxpLmUoNDA4MzUpLGkuZSgxNzA4NyksaS5lKDcyNjY2KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDE1NTI2KSxpLmUoOTM0MTYpLGkuZSg2MTgyMSksaS5lKDU3MzAwKSxpLmUoMzU3OTQpLGkuZSgxNjc2KSxpLmUoODk1NTgpLGkuZSgxMDM2NiksaS5lKDgzMDQxKSxpLmUoNTE2ODIpLGkuZSgyMDIpLGkuZSg5NzY2MCksaS5lKDcyNTEyKSxpLmUoMzUxOTgpLGkuZSgxNTYzNCksaS5lKDMzMTIwKSxpLmUoNDA4NjcpLGkuZSgzOTc4NiksaS5lKDUwODAwKSxpLmUoNTA2MjIpLGkuZSg2MDgyKSxpLmUoMjczMzcpLGkuZSg0MDkxNCksaS5lKDI3NzM2KSxpLmUoODc3NDApLGkuZSg2NzU0MyksaS5lKDIzNjY5KSxpLmUoMzg0NzkpLGkuZSg5MDMzMCksaS5lKDk2MTgxKSxpLmUoMjA1NjQpLGkuZSg1MTI1NiksaS5lKDQ1MzMxKSxpLmUoNDUyNDIpLGkuZSg3ODYzKSxpLmUoNDYyNDUpLGkuZSg1NTI5MCksaS5lKDc0NDcxKSxpLmUoMjAzNzApLGkuZSg3NTYwMyksaS5lKDMyMzg3KSxpLmUoODA5MTUpLGkuZSgxODUxMiksaS5lKDQwNzU0KSxpLmUoOTU1NTQpLGkuZSgyMzc0MyksaS5lKDcyMTEpLGkuZSg5OTMwOSksaS5lKDU1MjI5KSxpLmUoNzM1MzUpLGkuZSgyNjUwMSksaS5lKDEwOTk5KSxpLmUoMzg5NzMpLGkuZSg5Njk3MCksaS5lKDI1MjM3KV0pLnRoZW4oaS5iaW5kKGksNDg4OTQ4KSkudGhlbigoaT0+e1F0Py5oaWRlKCk7Y29uc3QgYT1pLkVkaXRPYmplY3REaWFsb2dSZW5kZXJlcjtyZXR1cm4gUXQ9bmV3IGEoZSx0LHMscixvKSxRdC5zaG93KG4pLFF0fSkpfXZhciB0aT1pKDk1NjQzNyk7bGV0IGlpPW51bGw7ZnVuY3Rpb24gc2koZSl7cmV0dXJuIGUmJmUubG9sbGlwb3BzQXRJbmRleH12YXIgbmk9aSg5MjY5OTUpLHJpPWkoMzY4MTEwKSxvaT1pKDMyMjQxOSk7Y29uc3QgYWk9e1tKdC5UYWJOYW1lcy5zeW1ib2xdOiJzeW1ib2wiLFtKdC5UYWJOYW1lcy5sZWdlbmRdOiJsZWdlbmQiLFtKdC5UYWJOYW1lcy5zY2FsZXNdOiJzY2FsZXMiLFtKdC5UYWJOYW1lcy50cmFkaW5nXToidHJhZGluZyIsW0p0LlRhYk5hbWVzLmV2ZW50c106ImV2ZW50cyIsW0p0LlRhYk5hbWVzLmFsZXJ0c106ImFsZXJ0cyIsW0p0LlRhYk5hbWVzLnRpbWV6b25lU2Vzc2lvbnNdOiJjYW52YXMiLFtKdC5UYWJOYW1lcy50ZXh0XToidGV4dCIsW0p0LlRhYk5hbWVzLnN0eWxlXToic3R5bGUiLFtKdC5UYWJOYW1lcy52aXNpYmlsaXR5XToidmlzaWJpbGl0eSJ9LGxpPXtbSnQuVGFiTmFtZXMuc3R5bGVdOiJzdHlsZSIsW0p0LlRhYk5hbWVzLnZpc2liaWxpdHldOiJ2aXNpYmlsaXRpZXMifTthc3luYyBmdW5jdGlvbiBjaShlLHQscz17fSxuLHIpe2NvbnN0IG89bi5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpLHtpbml0aWFsVGFiOmwsdGFiTmFtZTpjfT1zO2lmKGMmJiFsJiYocy5pbml0aWFsVGFiPWxpW2NdKSwoMCxvaS5pc1N0dWR5TGluZVRvb2wpKGUpJiZmdW5jdGlvbihlKXtpZighKDAsb2kuaXNTdHVkeUxpbmVUb29sKShlKSlyZXR1cm4hMTtyZXR1cm5bIkxpbmVUb29sRml4ZWRSYW5nZVZvbHVtZVByb2ZpbGUiLCJMaW5lVG9vbFZiUEZpeGVkIiwiTGluZVRvb2xBbmNob3JlZFZvbHVtZVByb2ZpbGUiXS5maWx0ZXIoYS5ub3ROdWxsKS5zb21lKCh0PT5lLnRvb2xuYW1lPT09dCkpfShlKSlyZXR1cm4gby5wcm9wZXJ0aWVzRGVmaW5pdGlvbnNGb3JTb3VyY2UoZSkudGhlbigoaT0+bnVsbCE9PWk/ZWkoZSx0LG5pLnNob3dTdXBwb3J0RGlhbG9nLHMscixpKTpudWxsKSk7aWYoKDAsdGkuaXNTdHVkeSkoZSkmJmZ1bmN0aW9uKGUpe2NvbnN0e3Nob3J0SWQ6dH09ZS5tZXRhSW5mbygpO3JldHVybiJPdmVybGF5Ij09PXR9KGUpfHwoMCxyaS5pc0xpbmVUb29sKShlKSlyZXR1cm4gby5wcm9wZXJ0aWVzRGVmaW5pdGlvbnNGb3JTb3VyY2UoZSkudGhlbigobj0+e2lmKG51bGwhPT1uKXtyZXR1cm4gZnVuY3Rpb24oZSl7CnJldHVybiBQcm9taXNlLmFsbChbaS5lKDM3MDEyKSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDU2MjUyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTEyMTgpLGkuZSg4NjQyMyksaS5lKDM3NTEzKSxpLmUoODU3OSksaS5lKDQwODM1KSxpLmUoMTcwODcpLGkuZSg3MjY2NiksaS5lKDkzNDIxKSxpLmUoNzg2NTIpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNjYwNSksaS5lKDcwODE1KSxpLmUoNzQzODEpLGkuZSgxNTUyNiksaS5lKDkzNDE2KSxpLmUoNjE4MjEpLGkuZSg1NzMwMCksaS5lKDg5NTU4KSxpLmUoMTAzNjYpLGkuZSg1MTY4MiksaS5lKDIwMiksaS5lKDk3NjYwKSxpLmUoNzI1MTIpLGkuZSgzNTE5OCksaS5lKDMzMTIwKSxpLmUoNDA4NjcpLGkuZSgzOTc4NiksaS5lKDUwODAwKSxpLmUoNTA2MjIpLGkuZSg2MDgyKSxpLmUoMjczMzcpLGkuZSg0MDkxNCksaS5lKDI3NzM2KSxpLmUoODc3NDApLGkuZSg2NzU0MyksaS5lKDM4NDc5KSxpLmUoOTAzMzApLGkuZSg5NjE4MSksaS5lKDIwNTY0KSxpLmUoNTEyNTYpLGkuZSg0NTMzMSksaS5lKDQ1MjQyKSxpLmUoNzg2MyksaS5lKDQ2MjQ1KSxpLmUoNTUyOTApLGkuZSg3NDQ3MSksaS5lKDIwMzcwKSxpLmUoMTc4NjEpLGkuZSgzMjM4NyksaS5lKDgwOTE1KSxpLmUoMTg1MTIpLGkuZSg0MDc1NCksaS5lKDk1NTU0KSxpLmUoMjM3NDMpLGkuZSg3MjExKSxpLmUoOTkzMDkpLGkuZSg1NTIyOSksaS5lKDczNTM1KSxpLmUoMjY1MDEpLGkuZSgxMDk5OSksaS5lKDM4OTczKSxpLmUoOTY5NzApLGkuZSgxMjA2MCldKS50aGVuKGkuYmluZChpLDI3NzU5NykpLnRoZW4oKHQ9PntpaT8uaGlkZSgpO2NvbnN0IGk9dC5Tb3VyY2VQcm9wZXJ0aWVzRWRpdG9yUmVuZGVyZXI7cmV0dXJuIGlpPW5ldyBpKGUpLGlpLnNob3coe3Nob3VsZFJldHVybkZvY3VzOmUuc2hvdWxkUmV0dXJuRm9jdXN9KSxpaX0pKX0oe3Byb3BlcnR5UGFnZXM6bixtb2RlbDp0LHNvdXJjZTplLGFjdGl2ZVBhZ2VJZDpjJiZhaVtjXSxzaG91bGRSZXR1cm5Gb2N1czpzLnNob3VsZFJldHVybkZvY3VzfSl9cmV0dXJuIG51bGx9KSk7aWYoKDAsdGkuaXNTdHVkeVN0dWIpKGUpKXJldHVybiBudWxsO2lmKCgwLHRpLmlzU3R1ZHkpKGUpJiYhc2koZSkpcmV0dXJuIGVpKGUsdCxuaS5zaG93U3VwcG9ydERpYWxvZyxzLHIpO3tjb25zdCB0PXNpKGUpPyJldmVudHMiOmMmJmFpW2NdLGk9bi5nZXRDaGFydFByb3BlcnRpZXNEaWFsb2dSZW5kZXJlcigpO3JldHVybiBpLnNldEFjdGl2ZVBhZ2UodCksaS5zaG93KHMpfX12YXIgaGksZGk9aSg4NzE3MCksdWk9aSg2NzAyMTQpLHBpPWkoMjI3ODI1KSxfaT1pKDc5MTUyMSksbWk9aSg1MDY0NDYpO2NsYXNzIGdpe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fc2hvd2VkPSExLHRoaXMuX2FkZGl0aW9uYWxSZWFkeVByb21pc2U9bnVsbCx0aGlzLl9jdz1lLHRoaXMuX2VsZW1lbnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKG1pLnNjcmVlbiksdC5hcHBlbmRDaGlsZCh0aGlzLl9lbGVtZW50KSx0aGlzLl9jdy53aXRoTW9kZWwodGhpcyx0aGlzLl9jb25uZWN0VG9Nb2RlbCl9ZGVzdHJveSgpe3RoaXMuaGlkZSgpLHRoaXMuX2VsZW1lbnQucmVtb3ZlKCl9c2hvdyhlLHQpe2lmKGUpe2NvbnN0IGU9dGhpcy5fY3cubW9kZWwoKS5tYWluU2VyaWVzKCkuc3RhdHVzKCk7aWYoMSE9PWUmJjIhPT1lKXJldHVybn10aGlzLl9hZGRpdGlvbmFsUmVhZHlQcm9taXNlPXQsdGhpcy5fY3cuc2V0SW5Mb2FkaW5nU3RhdGUoITApLHRoaXMuX3Nob3dlZHx8KHRoaXMuX3Nob3dlZD0hMCx0aGlzLl9zaG93KCkpfWhpZGUoKXt0aGlzLl9jdy5zZXRJbkxvYWRpbmdTdGF0ZSghMSksdGhpcy5fc2hvd2VkJiZ0aGlzLl9oaWRlKCl9aXNTaG93bigpe3JldHVybiB0aGlzLl9zaG93ZWR9X2Nvbm5lY3RUb01vZGVsKCl7Y29uc3QgZT10aGlzLl9jdy5tb2RlbCgpLm1haW5TZXJpZXMoKSx0PWUuZGF0YUV2ZW50cygpO3Quc3ltYm9sRXJyb3IoKS5zdWJzY3JpYmUodGhpcywoZT0+e2UhPT1faS5wZXJtaXNzaW9uRGVuaWVkJiZ0aGlzLmhpZGUoKX0pKSx0LnNlcmllc0Vycm9yKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT57KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9sb2FkaW5nX3NjcmVlbl9vbl9zZXJpZXNfZXJyb3IiKSYmdGhpcy5oaWRlKCl9KSksZS5zdGF0dXNXVigpLnN1YnNjcmliZSgoZT0+e2lmKDQhPT1lJiYxMiE9PWUmJjEzIT09ZSYmMTQhPT1lfHx0aGlzLmhpZGUoKSxMLnNlcmllc1JlYWR5U3RhdHVzZXMuaGFzKGUpKXtjb25zdCBlPXRoaXMuX2FkZGl0aW9uYWxSZWFkeVByb21pc2U7ZT9lLnRoZW4oKCgpPT57dGhpcy5oaWRlKCl9KSk6dGhpcy5oaWRlKCl9fSkpfV9zaG93KCl7Y29uc3QgZT10aGlzLl9jdy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCk7bGV0IHQ7aWYoZS5iYWNrZ3JvdW5kVHlwZS52YWx1ZSgpPT09cGkuQ29sb3JUeXBlLlNvbGlkKXQ9ZS5iYWNrZ3JvdW5kLnZhbHVlKCk7ZWxzZXt0PWBsaW5lYXItZ3JhZGllbnQoJHtlLmJhY2tncm91bmRHcmFkaWVudFN0YXJ0Q29sb3IudmFsdWUoKX0sJHtlLmJhY2tncm91bmRHcmFkaWVudEVuZENvbG9yLnZhbHVlKCl9KWB9dGhpcy5fZWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kPXQsdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKG1pLmZhZGUpfV9oaWRlKCl7dGhpcy5fc2hvd2VkPSExLHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShtaS5mYWRlKX19ZnVuY3Rpb24gZmkoZSx0KXtsZXR7ZGVsdGFYOmksZGVsdGFZOnN9PWU7c3dpdGNoKGkvPTEwMCxzLz0xMDAsdC5kZWx0YU1vZGUpe2Nhc2UgdC5ET01fREVMVEFfUEFHRTppKj0xMjAscyo9MTIwO2JyZWFrCjtjYXNlIHQuRE9NX0RFTFRBX0xJTkU6aSo9MzIscyo9MzJ9cmV0dXJue2RlbHRhWDppLGRlbHRhWTpzfX0hZnVuY3Rpb24oZSl7ZVtlLk1heE5leHRFdmVudERlbGF5PTEwMF09Ik1heE5leHRFdmVudERlbGF5IixlW2UuSWdub3JlU21hbGxlckRlbHRhQ29lZmY9M109Iklnbm9yZVNtYWxsZXJEZWx0YUNvZWZmIn0oaGl8fChoaT17fSkpO2NsYXNzIFNpe2NvbnN0cnVjdG9yKCl7dGhpcy5fdG90YWxEZWx0YVg9MCx0aGlzLl90b3RhbERlbHRhWT0wLHRoaXMuX3ByZXZXaGVlbFRpbWU9MH1wcm9jZXNzV2hlZWwoZSl7ZS50aW1lU3RhbXAtdGhpcy5fcHJldldoZWVsVGltZT4xMDAmJnRoaXMuX3Jlc2V0KCk7Y29uc3QgdD0hKDAsSi5pc01hYykoKSYmZS5zaGlmdEtleSxpPXQ/LWUuZGVsdGFZOmUuZGVsdGFYLHM9dD9lLmRlbHRhWDplLmRlbHRhWTt0aGlzLl90b3RhbERlbHRhWCs9aSx0aGlzLl90b3RhbERlbHRhWSs9cyx0aGlzLl9wcmV2V2hlZWxUaW1lPWUudGltZVN0YW1wO2NvbnN0IG49e2RlbHRhWDppLGRlbHRhWTpzfTtyZXR1cm4gMD09PXRoaXMuX3RvdGFsRGVsdGFYfHwwPT09dGhpcy5fdG90YWxEZWx0YVl8fChNYXRoLmFicyh0aGlzLl90b3RhbERlbHRhWCk+PU1hdGguYWJzKDMqdGhpcy5fdG90YWxEZWx0YVkpJiYobi5kZWx0YVk9MCksTWF0aC5hYnModGhpcy5fdG90YWxEZWx0YVkpPj1NYXRoLmFicygzKnRoaXMuX3RvdGFsRGVsdGFYKSYmKG4uZGVsdGFYPTApKSxmaShuLGUpfV9yZXNldCgpe3RoaXMuX3RvdGFsRGVsdGFYPTAsdGhpcy5fdG90YWxEZWx0YVk9MH19dmFyIHZpLHlpPWkoMTM0NjcpLGJpPWkoNjQwNzQ0KSx3aT1pKDY2MzQpLENpPWkoMTI0MzM2KTshZnVuY3Rpb24oZSl7ZVtlLkhlaWdodD0xXT0iSGVpZ2h0IixlW2UuTWluUGFuZUhlaWdodD0zMF09Ik1pblBhbmVIZWlnaHQifSh2aXx8KHZpPXt9KSk7Y2xhc3MgUGl7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX2hhbmRsZUVsPW51bGwsdGhpcy5fcmVzaXplSW5mbz1udWxsLHRoaXMuX2NvbG9yQ2FjaGU9e2xpbmVDb2xvcjoiIixiYWNrZ3JvdW5kQ29sb3I6IiIsY29sb3I6IiJ9LHRoaXMuX3NlbGVjdGVkPW5ldyBoLldhdGNoZWRWYWx1ZSx0aGlzLl9jaGFydD1lLHRoaXMuX3RvcFBhbmVJbmRleD10LHRoaXMuX2JvdHRvbVBhbmVJbmRleD1pLHRoaXMuX2VsZW1lbnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKENpLnBhbmVTZXBhcmF0b3IpLHRoaXMuX2VsZW1lbnQuc3R5bGUuYmFja2dyb3VuZD10aGlzLl9jb2xvcigpLHRoaXMuYWRqdXN0U2l6ZSgpLHRoaXMuX2VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgoKT0+e30pKTtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3MuY2xhc3NMaXN0LmFkZChDaS5oYW5kbGUpLHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQocyksdGhpcy5fbW91c2VFdmVudEhhbmRsZXI9bmV3IHdpLk1vdXNlRXZlbnRIYW5kbGVyKHMsdGhpcyx7dHJlYXRWZXJ0VG91Y2hEcmFnQXNQYWdlU2Nyb2xsOiExLHRyZWF0SG9yelRvdWNoRHJhZ0FzUGFnZVNjcm9sbDohMH0pLHRoaXMuX2hhbmRsZUVsPXMsdGhpcy5faGFuZGxlRWwuY2xhc3NMaXN0LnRvZ2dsZShDaS5tb2JpbGUsSi5DaGVja01vYmlsZS5hbnkoKSksdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpLHRoaXMuX3NlbGVjdGVkLnN1YnNjcmliZSgoZT0+dGhpcy5faGFuZGxlRWw/LmNsYXNzTGlzdC50b2dnbGUoQ2kuc2VsZWN0ZWQsZSkpKX1kZXN0cm95KCl7dGhpcy5fbW91c2VFdmVudEhhbmRsZXIuZGVzdHJveSgpLHRoaXMuX2VsZW1lbnQucGFyZW50RWxlbWVudCYmdGhpcy5fZWxlbWVudC5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuX2VsZW1lbnQpfXRvcFBhbmVJbmRleCgpe3JldHVybiB0aGlzLl90b3BQYW5lSW5kZXh9Ym90dG9tUGFuZUluZGV4KCl7cmV0dXJuIHRoaXMuX2JvdHRvbVBhbmVJbmRleH1nZXRFbGVtZW50KCl7cmV0dXJuIHRoaXMuX2VsZW1lbnR9aGlkZSgpe3RoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgianMtaGlkZGVuIil9c2hvdygpe3RoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgianMtaGlkZGVuIil9c2VsZWN0ZWQoKXtyZXR1cm4gdGhpcy5fc2VsZWN0ZWQucmVhZG9ubHkoKX1hZGp1c3RTaXplKCl7dGhpcy5fZWxlbWVudC5zdHlsZS5oZWlnaHQ9UGkuaGVpZ2h0KCkrInB4In1tb3VzZUVudGVyRXZlbnQoZSl7Y29uc3R7dG9wUGFuZTp0LGJvdHRvbVBhbmU6aX09dGhpcy5fdG9wQm90dG9tUGFuZSghMCk7bnVsbCE9PXQmJm51bGwhPT1pJiYoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hhbmRsZUVsKS5jbGFzc0xpc3QuYWRkKENpLmhvdmVyZWQpfW1vdXNlTGVhdmVFdmVudChlKXsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hhbmRsZUVsKS5jbGFzc0xpc3QucmVtb3ZlKENpLmhvdmVyZWQpfW1vdXNlRG93bkV2ZW50KGUpe3RoaXMuX21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUpfXRhcEV2ZW50KCl7dGhpcy5fc2VsZWN0ZWQuc2V0VmFsdWUoIXRoaXMuX3NlbGVjdGVkLnZhbHVlKCkpfXRvdWNoU3RhcnRFdmVudChlKXt0aGlzLl9zZWxlY3RlZC52YWx1ZSgpJiZ0aGlzLl9tb3VzZURvd25PclRvdWNoU3RhcnRFdmVudChlKX1wcmVzc2VkTW91c2VNb3ZlRXZlbnQoZSl7dGhpcy5fcHJlc3NlZE1vdXNlT3JUb3VjaE1vdmVFdmVudChlKX10b3VjaE1vdmVFdmVudChlKXt0aGlzLl9zZWxlY3RlZC52YWx1ZSgpJiZ0aGlzLl9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpfW1vdXNlVXBFdmVudChlKXt0aGlzLl9tb3VzZVVwT3JUb3VjaEVuZEV2ZW50KGUpfXRvdWNoRW5kRXZlbnQoZSl7dGhpcy5fc2VsZWN0ZWQudmFsdWUoKSYmdGhpcy5fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKX10b3VjaFN0YXJ0T3V0c2lkZUV2ZW50KCl7dGhpcy5fc2VsZWN0ZWQuc2V0VmFsdWUoITEpfXVwZGF0ZSgpe3RoaXMuX2VsZW1lbnQuc3R5bGUuYmFja2dyb3VuZD10aGlzLl9jb2xvcigpLnRvU3RyaW5nKCl9cGFpbnQoKXt9aW1hZ2UoKXsKY29uc3R7dG9wUGFuZTplfT10aGlzLl90b3BCb3R0b21QYW5lKCExKSx0PWUubGVmdFByaWNlQXhpc2VzQ29udGFpbmVyKCkuZ2V0V2lkdGgoKSxpPWUud2lkdGgoKSxzPWUucmlnaHRQcmljZUF4aXNlc0NvbnRhaW5lcigpLmdldFdpZHRoKCksbj10aGlzLl9jb2xvcigpLHI9KDAsS3QuY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzKShkb2N1bWVudCwoMCx5dC5zaXplKSh7d2lkdGg6dCxoZWlnaHQ6MX0pKSxvPSgwLEt0LmdldFByZXNjYWxlZENvbnRleHQyRCkocik7by5maWxsU3R5bGU9bixvLmZpbGxSZWN0KDAsMCx0LDEpO2NvbnN0IGE9KDAsS3QuY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzKShkb2N1bWVudCwoMCx5dC5zaXplKSh7d2lkdGg6aSxoZWlnaHQ6MX0pKSxsPSgwLEt0LmdldFByZXNjYWxlZENvbnRleHQyRCkoYSk7bC5maWxsU3R5bGU9bixsLmZpbGxSZWN0KDAsMCxpLDEpO2NvbnN0IGM9KDAsS3QuY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzKShkb2N1bWVudCwoMCx5dC5zaXplKSh7d2lkdGg6cyxoZWlnaHQ6MX0pKSxoPSgwLEt0LmdldFByZXNjYWxlZENvbnRleHQyRCkoYyk7cmV0dXJuIGguZmlsbFN0eWxlPW4saC5maWxsUmVjdCgwLDAscywxKSx7dHlwZToic2VwYXJhdG9yIixsZWZ0QXhpczp7Y29udGVudDpyLnRvRGF0YVVSTCgpLGNhbnZhczpyLGNvbnRlbnRXaWR0aDp0LGNvbnRlbnRIZWlnaHQ6MX0scmlnaHRBeGlzOntjb250ZW50OmMudG9EYXRhVVJMKCksY2FudmFzOmMsY29udGVudFdpZHRoOnMsY29udGVudEhlaWdodDoxfSxjb250ZW50OmEudG9EYXRhVVJMKCksY2FudmFzOmEsY29udGVudFdpZHRoOmksY29udGVudEhlaWdodDoxfX1zdGF0aWMgaGVpZ2h0KCl7Y29uc3QgZT13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTtyZXR1cm4gZT49MT8xOjEvZX1fbW91c2VEb3duT3JUb3VjaFN0YXJ0RXZlbnQoZSl7Y29uc3R7dG9wUGFuZTp0LGJvdHRvbVBhbmU6aX09dGhpcy5fdG9wQm90dG9tUGFuZSghMCk7aWYobnVsbD09PXR8fG51bGw9PT1pKXJldHVybjtjb25zdCBzPXQuc3RhdGUoKS5zdHJldGNoRmFjdG9yKCkraS5zdGF0ZSgpLnN0cmV0Y2hGYWN0b3IoKSxuPXMvKHQuaGVpZ2h0KCkraS5oZWlnaHQoKSkscj0zMCpuO3M8PTIqcnx8KHRoaXMuX3Jlc2l6ZUluZm89e3N0YXJ0WTplLnBhZ2VZLHByZXZTdHJldGNoVG9wUGFuZTp0LnN0YXRlKCkuc3RyZXRjaEZhY3RvcigpLG1heFBhbmVTdHJldGNoOnMtcix0b3RhbFN0cmV0Y2g6cyxwaXhlbFN0cmV0Y2hGYWN0b3I6bixtaW5QYW5lU3RyZXRjaDpyfSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hhbmRsZUVsKS5jbGFzc0xpc3QuYWRkKENpLmFjdGl2ZSkpfV9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpe2NvbnN0e3RvcFBhbmU6dCxib3R0b21QYW5lOml9PXRoaXMuX3RvcEJvdHRvbVBhbmUoITApLHM9dGhpcy5fcmVzaXplSW5mbztpZihudWxsPT09c3x8bnVsbD09PXR8fG51bGw9PT1pKXJldHVybjtjb25zdCBuPShlLnBhZ2VZLXMuc3RhcnRZKSpzLnBpeGVsU3RyZXRjaEZhY3RvcixyPSgwLGJpLmNsYW1wKShzLnByZXZTdHJldGNoVG9wUGFuZStuLHMubWluUGFuZVN0cmV0Y2gscy5tYXhQYW5lU3RyZXRjaCk7dC5zdGF0ZSgpLnNldFN0cmV0Y2hGYWN0b3IociksaS5zdGF0ZSgpLnNldFN0cmV0Y2hGYWN0b3Iocy50b3RhbFN0cmV0Y2gtciksdGhpcy5fY2hhcnQubW9kZWwoKS5tb2RlbCgpLmZ1bGxVcGRhdGUoKX1fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKXtjb25zdHt0b3BQYW5lOnQsYm90dG9tUGFuZTppfT10aGlzLl90b3BCb3R0b21QYW5lKCEwKSxzPXRoaXMuX3Jlc2l6ZUluZm87bnVsbCE9PXMmJm51bGwhPT10JiZudWxsIT09aSYmKHRoaXMuX2NoYXJ0Lm1vZGVsKCkuYWRkUGFuZVN0cmV0Y2hGYWN0b3JVbmRvQ29tbWFuZCh0LnN0YXRlKCksaS5zdGF0ZSgpLHMucHJldlN0cmV0Y2hUb3BQYW5lLHQuc3RhdGUoKS5zdHJldGNoRmFjdG9yKCkpLHRoaXMuX3Jlc2l6ZUluZm89bnVsbCwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hhbmRsZUVsKS5jbGFzc0xpc3QucmVtb3ZlKENpLmFjdGl2ZSkpfV9jb2xvcigpe2NvbnN0IGU9dGhpcy5fY2hhcnQucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLnNlcGFyYXRvckNvbG9yLnZhbHVlKCksdD10aGlzLl9jaGFydC5tb2RlbCgpLm1vZGVsKCkuYmFja2dyb3VuZENvbG9yKCkudmFsdWUoKTtpZih0aGlzLl9jb2xvckNhY2hlLmxpbmVDb2xvciE9PWV8fHRoaXMuX2NvbG9yQ2FjaGUuYmFja2dyb3VuZENvbG9yIT09dCl7Y29uc3QgaT0oMCx5aS5wYXJzZVJnYmEpKHQpLHM9KDAseWkucGFyc2VSZ2JhKShlKSxuPTA9PT1pWzNdJiYwPT09c1szXT8icmdiYSgwLDAsMCwwKSI6KDAseWkucmdiYVRvU3RyaW5nKSgoMCx5aS5ibGVuZFJnYmEpKGkscykpO3RoaXMuX2NvbG9yQ2FjaGU9e2xpbmVDb2xvcjplLGJhY2tncm91bmRDb2xvcjp0LGNvbG9yOm59fXJldHVybiB0aGlzLl9jb2xvckNhY2hlLmNvbG9yfV90b3BCb3R0b21QYW5lKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnQucGFuZVdpZGdldHMoKTtsZXQgaT1udWxsLHM9bnVsbDtmb3IobGV0IHM9dGhpcy5fdG9wUGFuZUluZGV4O3M+PTA7LS1zKXtjb25zdCBuPXRbc107aWYoIWV8fCFuLnN0YXRlKCkuY29sbGFwc2VkKCkudmFsdWUoKSl7aT1uO2JyZWFrfX1mb3IobGV0IGk9dGhpcy5fYm90dG9tUGFuZUluZGV4O2k8dC5sZW5ndGg7KytpKXtjb25zdCBuPXRbaV07aWYoIWV8fCFuLnN0YXRlKCkuY29sbGFwc2VkKCkudmFsdWUoKSl7cz1uO2JyZWFrfX1yZXR1cm57dG9wUGFuZTppLGJvdHRvbVBhbmU6c319fXZhciBUaSx4aT1pKDk2NDQ4NiksTWk9aSg3NjMpLElpPWkoOTMwNTA2KSxMaT1pKDkwMTM3MCksQWk9aSgxODQ2MTYpLGtpPWkoMzI5NjY2KSxEaT1pKDc4NjQzNik7IWZ1bmN0aW9uKGUpe2VbZS5HZWFyPTBdPSJHZWFyIixlW2UuU3ltYm9sPTFdPSJTeW1ib2wiLGVbZS5BdXRvPTJdPSJBdXRvIn0oVGl8fChUaT17fSkpCjt2YXIgRWksUmk9aSg1OTA4OTQpLFZpPWkoNDM5ODc5KSxCaT1pKDgyMjcyNiksTmk9aSgyNTA0MzkpLE9pPWkoMzU2MzgwKSxXaT1pKDkyNjE0OSksRmk9aSg0NjYzNDEpOyFmdW5jdGlvbihlKXtlW2UuTGFiZWxSYWRpdXM9OS41XT0iTGFiZWxSYWRpdXMiLGVbZS5MYWJlbEZvbnRTaXplPTExXT0iTGFiZWxGb250U2l6ZSJ9KEVpfHwoRWk9e30pKTtjb25zdCBIaT17ZW5hYmxlVG9vbHRpcDohMCxzaG93TGFiZWxzOiEwLGVuYWJsZU1lbnU6ITAsZW5hYmxlSGlnaGxpZ2h0OiEwfTtmdW5jdGlvbiB6aShlLHQpe3JldHVybiBNYXRoLm1heCgxLE1hdGguZmxvb3IoZS5ib3JkZXJTaXplKnQpKX1jbGFzcyBVaXtjb25zdHJ1Y3RvcihlLHQsaSxzLG4scj1udWxsKXt0aGlzLl9zaXplPSgwLHl0LnNpemUpKHt3aWR0aDowLGhlaWdodDowfSksdGhpcy5fb2Zmc2V0PTAsdGhpcy5fYXhpc0luZm89bnVsbCx0aGlzLl9vbkxhYmVsSG92ZXJlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9oaWdobGlnaHRlZD0hMSx0aGlzLl9pc0NvbnRleHRNZW51T3BlbmVkPSExLHRoaXMuX2lzTW91c2VPdmVyU3R1Yj0hMSx0aGlzLl9sYWJlbE1vZGU9Mix0aGlzLl9maXhlZExhYmVsTW9kZT1udWxsLHRoaXMuX3RleHRXaWR0aENhY2hlPW5ldyBCaS5UZXh0V2lkdGhDYWNoZSg1KSx0aGlzLl9nZWFyUmVuZGVyZXI9KDAsVmkuc3ZnUmVuZGVyZXIpKEZpKSx0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlcj0oKT0+e3RoaXMudXBkYXRlKCksdGhpcy5fdGV4dFdpZHRoQ2FjaGUucmVzZXQoKX0sdGhpcy5fdGltZUF4aXNXaWRnZXQ9cix0aGlzLl9pc0xlZnQ9ImxlZnQiPT09ZTtjb25zdHtyZW5kZXJlck9wdGlvbnNQcm92aWRlcjpvLHNvdXJjZXNUaXRsZXNQcm92aWRlcjphLGNvbnRleHRNZW51SXRlbXNQcm92aWRlcjpsLGJhY2tncm91bmRCYXNlZFRoZW1lOmMsb25BY3RpdmVPckhvdmVyZWRDaGFydDpkPW5ldyBoLldhdGNoZWRWYWx1ZSghMSkub3duZXJzaGlwKCkscmVxdWVzdFJlcGFpbnQ6dSxnZXRCYWNrZ3JvdW5kVG9wQ29sb3I6cCxnZXRCYWNrZ3JvdW5kQm90dG9tQ29sb3I6XyxzaG93SG9yaXpvbnRhbEJvcmRlcjptfT1zO3RoaXMuX3JlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyPW8sdGhpcy5fc291cmNlc1RpdGxlc1Byb3ZpZGVyPWEsdGhpcy5fY29udGV4dE1lbnVJdGVtc1Byb3ZpZGVyPWwsdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWU9Yyx0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0PWQsdGhpcy5fcmVxdWVzdFJlcGFpbnQ9dSx0aGlzLl9nZXRCYWNrZ3JvdW5kVG9wQ29sb3I9cCx0aGlzLl9nZXRCYWNrZ3JvdW5kQm90dG9tQ29sb3I9Xyx0aGlzLl9zaG93SG9yaXpvbnRhbEJvcmRlcj1Cb29sZWFuKG0pLHRoaXMuX3Byb3BlcnRpZXM9dCx0aGlzLl9heGlzSW5mbz1pLHRoaXMuX2xhYmVsT3B0aW9ucz17Li4uSGksLi4ubn0sdGhpcy5fY2VsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9sYWJlbE9wdGlvbnMuZW5hYmxlVG9vbHRpcCYmdGhpcy5fY2VsbC5jbGFzc0xpc3QuYWRkKCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHRoaXMuX2NlbGwuc3R5bGUud2lkdGg9IjI1cHgiLHRoaXMuX2NlbGwuc3R5bGUuaGVpZ2h0PSIxMDAlIix0aGlzLl9jZWxsLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdGhpcy5fY2VsbC5zdHlsZS5sZWZ0PSIwIix0aGlzLl9jZWxsLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLHRoaXMuX2xhYmVsT3B0aW9ucy5zaG93TGFiZWxzJiYodGhpcy5fbGFiZWxPcHRpb25zLmVuYWJsZVRvb2x0aXAmJigwLE9pLnNldFRvb2x0aXBEYXRhKSh0aGlzLl9jZWxsLCJ0ZXh0IiwoZT0+dGhpcy5fdG9vbHRpcENvbnRlbnQoKSkpLHRoaXMuX29uQWN0aXZlT3JIb3ZlcmVkQ2hhcnQuc3Vic2NyaWJlKHUpKSx0aGlzLl9wcm9wZXJ0aWVzLmxpbmVDb2xvci5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3JlcXVlc3RSZXBhaW50KCkpKSx0aGlzLl9tb3VzZUV2ZW50SGFuZGxlcj1uZXcgd2kuTW91c2VFdmVudEhhbmRsZXIodGhpcy5fY2VsbCx0aGlzLHt0cmVhdEhvcnpUb3VjaERyYWdBc1BhZ2VTY3JvbGw6ITAsdHJlYXRWZXJ0VG91Y2hEcmFnQXNQYWdlU2Nyb2xsOiEwfSksdGhpcy5fY2FudmFzQmluZGluZz0oMCxLdC5jcmVhdGVCb3VuZENhbnZhcykodGhpcy5fY2VsbCwoMCx5dC5zaXplKSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuX2NhbnZhc0JpbmRpbmcuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpO2NvbnN0IGc9dGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50O2cuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixnLnN0eWxlLmxlZnQ9IjAiLGcuc3R5bGUudG9wPSIwIix0aGlzLl9jZWxsLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIil9ZGVzdHJveSgpe3RoaXMuX2NhbnZhc0JpbmRpbmcudW5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlciksdGhpcy5fY2FudmFzQmluZGluZy5kaXNwb3NlKCksdGhpcy5fcHJvcGVydGllcy5saW5lQ29sb3IudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbW91c2VFdmVudEhhbmRsZXIuZGVzdHJveSgpLHRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lLnJlbGVhc2UoKSx0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0LnVuc3Vic2NyaWJlKHRoaXMuX3JlcXVlc3RSZXBhaW50KSx0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0LnJlbGVhc2UoKX1tb3VzZUVudGVyRXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoRW50ZXJFdmVudChlKX10b3VjaFN0YXJ0RXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoRW50ZXJFdmVudChlKX1tb3VzZUxlYXZlRXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoTGVhdmVFdmVudChlKX10b3VjaEVuZEV2ZW50KGUpe3RoaXMuX21vdXNlT3JUb3VjaExlYXZlRXZlbnQoZSl9bW91c2VDbGlja0V2ZW50KGUpe3RoaXMuX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpfXRhcEV2ZW50KGUpe3RoaXMuX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpfQp1cGRhdGUoKXt9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9jZWxsfW9uTGFiZWxIb3ZlcmVkKCl7cmV0dXJuIHRoaXMuX29uTGFiZWxIb3ZlcmVkfXNldFNpemVBbmRPZmZzZXQoZSx0KXsoMCx5dC5lcXVhbFNpemVzKSh0aGlzLl9zaXplLGUpfHwodGhpcy5fc2l6ZT1lLHRoaXMuX2NhbnZhc0JpbmRpbmcucmVzaXplQ2FudmFzRWxlbWVudChlKSx0aGlzLl9jZWxsLnN0eWxlLndpZHRoPWAke2Uud2lkdGh9cHhgLHRoaXMuX2NlbGwuc3R5bGUubWluV2lkdGg9YCR7ZS53aWR0aH1weGAsdGhpcy5fY2VsbC5zdHlsZS5oZWlnaHQ9YCR7ZS5oZWlnaHR9cHhgKSx0aGlzLl9vZmZzZXQhPT10JiYodGhpcy5fb2Zmc2V0PXQsdGhpcy5fY2VsbC5zdHlsZS5sZWZ0PWAke3R9cHhgKX1wYWludChlKXswIT09dGhpcy5fc2l6ZS53aWR0aCYmMCE9PXRoaXMuX3NpemUuaGVpZ2h0JiYoZS5sZXZlbD09PUxlLkludmFsaWRhdGlvbkxldmVsLkZ1bGx8fGUuaW52YWxpZGF0ZVN0dWJzKSYmKCgwLEt0LnRyeUFwcGx5U3VnZ2VzdGVkQ2FudmFzQml0bWFwU2l6ZSkodGhpcy5fY2FudmFzQmluZGluZyksdGhpcy5fcGFpbnRJbXBsKCgwLEt0LmdldENvbnRleHQyRCkodGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50KSwoMCxLdC5nZXRCaW5kaW5nUmVuZGVyaW5nSW5mbykodGhpcy5fY2FudmFzQmluZGluZykpKX1nZXRXaWR0aCgpe3JldHVybiB0aGlzLl9zaXplLndpZHRofWdldEltYWdlKCl7Y29uc3QgZT0oMCxLdC5nZXRCaW5kaW5nUmVuZGVyaW5nSW5mbykodGhpcy5fY2FudmFzQmluZGluZyksdD0oMCxLdC5jcmVhdGVEaXNjb25uZWN0ZWRDYW52YXNCeVJlbmRlcmluZ0luZm8pKGRvY3VtZW50LGUpO3JldHVybiB0aGlzLl9wYWludEltcGwoKDAsS3QuZ2V0Q29udGV4dDJEKSh0KSxlLCEwKSx0fXNldExhYmVsTW9kZShlKXtlIT09dGhpcy5fbGFiZWxNb2RlJiYodGhpcy5fbGFiZWxNb2RlPWUsdGhpcy5fY2VsbC5jbGFzc0xpc3QudG9nZ2xlKCJhcHBseS1jb21tb24tdG9vbHRpcCIsMSE9PWUmJnRoaXMuX2xhYmVsT3B0aW9ucy5lbmFibGVUb29sdGlwKSl9X3BhaW50SW1wbChlLHQsaSl7dGhpcy5fZHJhd0JhY2tncm91bmQoZSx0KSx0aGlzLl9kcmF3VmVydGljYWxCb3JkZXIoZSx0KSx0aGlzLl9zaG93SG9yaXpvbnRhbEJvcmRlciYmdGhpcy5fZHJhd0hvcml6b250YWxCb3JkZXIoZSx0KSx0aGlzLl9sYWJlbE9wdGlvbnMuc2hvd0xhYmVscyYmdGhpcy5fZHJhd0xhYmVsKGUsdCxpKX1fc2V0SGlnaGxpZ2h0ZWQoZSl7dGhpcy5fbGFiZWxPcHRpb25zLmVuYWJsZUhpZ2hsaWdodCYmKHRoaXMuX29uTGFiZWxIb3ZlcmVkLmZpcmUoInN0dWJCdXR0b24iLGUpLHRoaXMuX2hpZ2hsaWdodGVkIT09ZSYmKHRoaXMuX2hpZ2hsaWdodGVkPWUpLHRoaXMuX3JlcXVlc3RSZXBhaW50KCkpfV9kcmF3VmVydGljYWxCb3JkZXIoZSx0KXtlLnNhdmUoKSxlLmZpbGxTdHlsZT10aGlzLl92ZXJ0Qm9yZGVyQ29sb3IoKTtjb25zdCBpPXppKHRoaXMuX3JlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyLm9wdGlvbnMoKSx0Lmhvcml6b250YWxQaXhlbFJhdGlvKSxzPXRoaXMuX2lzTGVmdD90LmJpdG1hcFNpemUud2lkdGgtaTowO2UuZmlsbFJlY3QocywwLGksdC5iaXRtYXBTaXplLmhlaWdodCksZS5yZXN0b3JlKCl9X2RyYXdIb3Jpem9udGFsQm9yZGVyKGUsdCl7ZS5zYXZlKCksZS5maWxsU3R5bGU9dGhpcy5faG9yekJvcmRlckNvbG9yKCk7Y29uc3QgaT16aSh0aGlzLl9yZW5kZXJlck9wdGlvbnNQcm92aWRlci5vcHRpb25zKCksdC52ZXJ0aWNhbFBpeGVsUmF0aW8pLHM9dGhpcy5faXNMZWZ0PzA6aTtlLmZpbGxSZWN0KHMsMCx0LmJpdG1hcFNpemUud2lkdGgtaSxpKSxlLnJlc3RvcmUoKX1fZHJhd0JhY2tncm91bmQoZSx0KXtjb25zdCBpPXRoaXMuX2dldEJhY2tncm91bmRUb3BDb2xvcigpLHM9dGhpcy5fZ2V0QmFja2dyb3VuZEJvdHRvbUNvbG9yKCkse2JpdG1hcFNpemU6bn09dDtpZihpPT09cz8oMCxLdC5jbGVhclJlY3QpKGUsMCwwLG4ud2lkdGgsbi5oZWlnaHQsaSk6KDAsRGkuY2xlYXJSZWN0V2l0aEdyYWRpZW50KShlLDAsMCxuLndpZHRoLG4uaGVpZ2h0LGkscyksdGhpcy5faGlnaGxpZ2h0ZWQpe2NvbnN0IHQ9ay50aGVtZXNbdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUudmFsdWUoKV0uZ2V0VGhlbWVkQ29sb3IoImNvbG9yLXByaWNlLWF4aXMtaGlnaGxpZ2h0Iik7KDAsS3QuZmlsbFJlY3QpKGUsMCwwLG4ud2lkdGgsbi5oZWlnaHQsdCksZS5nbG9iYWxBbHBoYT0xfX1fZHJhd0xhYmVsKGUsdCxpKXtjb25zdCBzPXRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lLnZhbHVlKCksbj10aGlzLl9heGlzSW5mbztpZihudWxsPT09bnx8IWkmJiF0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0LnZhbHVlKCkpcmV0dXJuO2NvbnN0e2JpdG1hcFNpemU6cixob3Jpem9udGFsUGl4ZWxSYXRpbzpvLHZlcnRpY2FsUGl4ZWxSYXRpbzphfT10LGw9emkodGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXIub3B0aW9ucygpLG8pLGM9TWF0aC5yb3VuZChyLndpZHRoKS1sLGg9emkodGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXIub3B0aW9ucygpLGEpLGQ9TWF0aC5yb3VuZChyLmhlaWdodCktaCx1PSgwLFB0LnBvaW50KShsK2MvMixoK2QvMik7aWYoMT09PXRoaXMuX2xhYmVsTW9kZXx8Mj09PXRoaXMuX2xhYmVsTW9kZSYmKCF0aGlzLl9oaWdobGlnaHRlZHx8aSkpe2UuZmlsbFN0eWxlPWsudGhlbWVzW3NdLmdldFRoZW1lZENvbG9yKCJjb2xvci1wcmljZS1heGlzLWxhYmVsLWJhY2siKSxlLmdsb2JhbEFscGhhPS41LGUuYmVnaW5QYXRoKCksZS5hcmModS54LHUueSw5LjUqbywwLDIqTWF0aC5QSSwhMCksZS5maWxsKCksZS5nbG9iYWxBbHBoYT0xLGUuZmlsbFN0eWxlPWsudGhlbWVzW3NdLmdldFRoZW1lZENvbG9yKCJjb2xvci1wcmljZS1heGlzLWxhYmVsLXRleHQiKSxlLmZvbnQ9KDAsUmkubWFrZUZvbnQpKDExLFdpLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpLGUudGV4dEFsaWduPSJjZW50ZXIiLGUudGV4dEJhc2VsaW5lPSJtaWRkbGUiCjtjb25zdCB0PXRoaXMuX3RleHRXaWR0aENhY2hlLnlNaWRDb3JyZWN0aW9uKGUsbi5sYWJlbCk7KDAsS3QuZHJhd1NjYWxlZCkoZSxvLGEsKCgpPT57ZS5maWxsVGV4dChuLmxhYmVsLHUueC9vLHUueS9hK3QpfSkpfWVsc2UgaWYoIWkmJnRoaXMuX29uQWN0aXZlT3JIb3ZlcmVkQ2hhcnQudmFsdWUoKSl7Y29uc3QgdD10aGlzLl9nZWFyUmVuZGVyZXIudmlld0JveCgpLGk9TWF0aC5yb3VuZCh1LngtdC53aWR0aCpvLzIpLG49TWF0aC5yb3VuZCh1LnktdC5oZWlnaHQqYS8yKTtlLmZpbGxTdHlsZT1rLnRoZW1lc1tzXS5nZXRUaGVtZWRDb2xvcigiY29sb3ItdGV4dC1wcmltYXJ5IiksZS5pbWFnZVNtb290aGluZ1F1YWxpdHk9ImhpZ2giLHRoaXMuX2dlYXJSZW5kZXJlci5yZW5kZXIoZSx7dGFyZ2V0Vmlld0JveDp7eDppLHk6bix3aWR0aDp0LndpZHRoKm8saGVpZ2h0OnQuaGVpZ2h0KmF9LGRvTm90QXBwbHlDb2xvcnM6ITB9KX19X3ZlcnRCb3JkZXJDb2xvcigpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmxpbmVDb2xvci52YWx1ZSgpfV9ob3J6Qm9yZGVyQ29sb3IoKXtyZXR1cm4gdGhpcy5fdGltZUF4aXNXaWRnZXQ/LmxpbmVDb2xvcigpPz90aGlzLl92ZXJ0Qm9yZGVyQ29sb3IoKX1fdG9vbHRpcENvbnRlbnQoKXtyZXR1cm4gdGhpcy5fc291cmNlc1RpdGxlc1Byb3ZpZGVyKCkuam9pbigiXG4iKX1fbW91c2VPclRvdWNoRW50ZXJFdmVudChlKXt0aGlzLl9pc01vdXNlT3ZlclN0dWI9ITAsdGhpcy5fbGFiZWxPcHRpb25zLnNob3dMYWJlbHMmJnRoaXMuX2xhYmVsT3B0aW9ucy5lbmFibGVIaWdobGlnaHQmJiF0aGlzLl90aW1lQXhpc1dpZGdldD8uY2hhcnQuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCkmJnRoaXMuX3NldEhpZ2hsaWdodGVkKCEwKX1fbW91c2VPclRvdWNoTGVhdmVFdmVudChlKXt0aGlzLl9pc01vdXNlT3ZlclN0dWI9ITEsdGhpcy5fbGFiZWxPcHRpb25zLnNob3dMYWJlbHMmJnRoaXMuX2xhYmVsT3B0aW9ucy5lbmFibGVIaWdobGlnaHQmJiF0aGlzLl9pc0NvbnRleHRNZW51T3BlbmVkJiZ0aGlzLl9zZXRIaWdobGlnaHRlZCghMSl9YXN5bmMgX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpe2lmKGUucHJldmVudERlZmF1bHQoKSxudWxsIT09dGhpcy5fZml4ZWRMYWJlbE1vZGV8fDE9PT10aGlzLl9sYWJlbE1vZGV8fCF0aGlzLl9sYWJlbE9wdGlvbnMuZW5hYmxlTWVudXx8IXRoaXMuX2xhYmVsT3B0aW9ucy5zaG93TGFiZWxzKXJldHVybiB2b2lkIE5pLkNvbnRleHRNZW51TWFuYWdlci5oaWRlQWxsKCk7dGhpcy5fZml4ZWRMYWJlbE1vZGU9dGhpcy5fbGFiZWxNb2RlLHRoaXMuc2V0TGFiZWxNb2RlKDApO2NvbnN0IHQ9dGhpcy5fY2VsbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPWF3YWl0IHRoaXMuX2NvbnRleHRNZW51SXRlbXNQcm92aWRlcigpO3RoaXMuX2lzQ29udGV4dE1lbnVPcGVuZWQ9ITAsdGhpcy5fbGFiZWxPcHRpb25zLnNob3dMYWJlbHMmJnRoaXMuX2xhYmVsT3B0aW9ucy5lbmFibGVIaWdobGlnaHQmJnRoaXMuX3NldEhpZ2hsaWdodGVkKCEwKSxOaS5Db250ZXh0TWVudU1hbmFnZXIuc2hvd01lbnUoaSx7Y2xpZW50WDp0aGlzLl9pc0xlZnQ/dC5sZWZ0OnQucmlnaHQsY2xpZW50WTp0LnRvcCxhdHRhY2hUb1hCeTp0aGlzLl9pc0xlZnQ/ImxlZnQiOiJyaWdodCIsYXR0YWNoVG9ZQnk6ImJvdHRvbSJ9LHtzdGF0TmFtZToiUHJpY2VTY2FsZUxhYmVsQ29udGV4dE1lbnUiLGRvTm90Q2xvc2VPbjp0aGlzLmdldEVsZW1lbnQoKX0se21lbnVOYW1lOiJQcmljZVNjYWxlTGFiZWxDb250ZXh0TWVudSJ9LCgoKT0+e3RoaXMuX2lzTW91c2VPdmVyU3R1Ynx8dGhpcy5fc2V0SGlnaGxpZ2h0ZWQoITEpLHRoaXMuX2lzQ29udGV4dE1lbnVPcGVuZWQ9ITEsdGhpcy5zZXRMYWJlbE1vZGUoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9maXhlZExhYmVsTW9kZSkpLHRoaXMuX2ZpeGVkTGFiZWxNb2RlPW51bGx9KSl9fXZhciBHaT1pKDM0MjcxMik7Y2xhc3Mgaml7Y29uc3RydWN0b3IoZSx0LGkscyxuLHI9bnVsbCl7dGhpcy5fYXhpc2VzPVtdLHRoaXMuX3N0dWJzPVtdLHRoaXMuX3NpemU9KDAseXQuc2l6ZSkoe3dpZHRoOjAsaGVpZ2h0OjB9KSx0aGlzLl9vbkxhYmVsSG92ZXJlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zY2FsZXNQcm9wZXJ0aWVzPWUsdGhpcy5fcHJpY2VBeGlzV2lkZ2V0RmFjdG9yeT1pLHRoaXMuX3RpbWVBeGlzV2lkZ2V0PXIsdGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXI9cy5yZW5kZXJlck9wdGlvbnNQcm92aWRlcix0aGlzLl90aXRsZXNQcm92aWRlcj1zLnRpdGxlc1Byb3ZpZGVyLHRoaXMuX3N0dWJDb250ZXh0TWVudVByb3ZpZGVyPXMuc3R1YkNvbnRleHRNZW51UHJvdmlkZXIsdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWU9cy5iYWNrZ3JvdW5kQmFzZWRUaGVtZSx0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0PXMub25BY3RpdmVPckhvdmVyZWRDaGFydCx0aGlzLl9nZXRCYWNrZ3JvdW5kVG9wQ29sb3I9cy5nZXRCYWNrZ3JvdW5kVG9wQ29sb3IsdGhpcy5fZ2V0QmFja2dyb3VuZEJvdHRvbUNvbG9yPXMuZ2V0QmFja2dyb3VuZEJvdHRvbUNvbG9yLHRoaXMuX3JlcXVlc3RSZXBhaW50PXMucmVxdWVzdFJlcGFpbnQsdGhpcy5fc2hvd0hvcmlzb250YWxCb3JkZXI9Qm9vbGVhbihzLnNob3dIb3Jpem9udGFsQm9yZGVyKSx0aGlzLl9sYWJlbHNPcHRpb25zPXsuLi5IaSwuLi5ufTtjb25zdCBvPXRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCk7dGhpcy5fc3R1YlByb3BlcnRpZXM9e2xpbmVDb2xvcjpvLmxpbmVDb2xvcixmb250U2l6ZTpvLmZvbnRTaXplfSx0aGlzLl9zaWRlPXQsdGhpcy5fY2VsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jZWxsLmNsYXNzTGlzdC5hZGQoImNoYXJ0LW1hcmt1cC10YWJsZSIsInByaWNlLWF4aXMtY29udGFpbmVyIiksdGhpcy5fY2VsbC5zdHlsZS53aWR0aD0iMjVweCIsdGhpcy5fY2VsbC5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUifWRlc3Ryb3koKXt0aGlzLnNldFNjYWxlcyhbXSwwLDAsMCksdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUucmVsZWFzZSgpLAp0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0Py5yZWxlYXNlKCl9b25MYWJlbEhvdmVyZWQoKXtyZXR1cm4gdGhpcy5fb25MYWJlbEhvdmVyZWR9c2V0U2NhbGVzKGUsdCxpLHMpe2Zvcig7ZS5sZW5ndGg+dGhpcy5fYXhpc2VzLmxlbmd0aCYmdGhpcy5fYXhpc2VzLmxlbmd0aDx0Oyl7Y29uc3QgZT0oMCxHaS5nZXRQcmljZUF4aXNOYW1lSW5mbykodGhpcy5fc2lkZSx0aGlzLl9heGlzZXMubGVuZ3RoKSx0PXRoaXMuX3ByaWNlQXhpc1dpZGdldEZhY3RvcnkodGhpcy5fc2lkZSx0aGlzLl9yZW5kZXJlck9wdGlvbnNQcm92aWRlcix0aGlzLl9zY2FsZXNQcm9wZXJ0aWVzLGUsdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUpO3RoaXMuX2F4aXNlcy5wdXNoKHQpLHRoaXMuX2NlbGwuYXBwZW5kQ2hpbGQodC5nZXRFbGVtZW50KCkpfWZvcig7ZS5sZW5ndGg8dGhpcy5fYXhpc2VzLmxlbmd0aDspe2NvbnN0IGU9KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9heGlzZXMucG9wKCkpO3RoaXMuX2NlbGwucmVtb3ZlQ2hpbGQoZS5nZXRFbGVtZW50KCkpLGUuZGVzdHJveSgpfWZvcihsZXQgdD0wO3Q8dGhpcy5fYXhpc2VzLmxlbmd0aDsrK3QpdGhpcy5fYXhpc2VzW3RdLnNldFByaWNlU2NhbGUoZVt0XSk7Y29uc3Qgbj10LWUubGVuZ3RoLHI9TWF0aC5tYXgoMCxuKTtmb3IoO3RoaXMuX3N0dWJzLmxlbmd0aD5yOyl7Y29uc3QgZT0oMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWJzLnBvcCgpKTtlLm9uTGFiZWxIb3ZlcmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY2VsbC5yZW1vdmVDaGlsZChlLmdldEVsZW1lbnQoKSksZS5kZXN0cm95KCl9Zm9yKDt0aGlzLl9zdHVicy5sZW5ndGg8bjspe2NvbnN0IGU9dGhpcy5fbGFiZWxzT3B0aW9ucy5zaG93TGFiZWxzPygwLEdpLmdldFByaWNlQXhpc05hbWVJbmZvKSh0aGlzLl9zaWRlLHRoaXMuX3N0dWJzLmxlbmd0aCk6bnVsbCx0PW5ldyBVaSh0aGlzLl9zaWRlLHRoaXMuX3N0dWJQcm9wZXJ0aWVzLGUsdGhpcy5fc3R1YlBhcmFtcyh0aGlzLl9zdHVicy5sZW5ndGgpLHRoaXMuX2xhYmVsc09wdGlvbnMsdGhpcy5fdGltZUF4aXNXaWRnZXQpO3Qub25MYWJlbEhvdmVyZWQoKS5zdWJzY3JpYmUodGhpcywoKHQsaSk9Pnt0aGlzLl9sYWJlbHNPcHRpb25zLnNob3dMYWJlbHMmJnRoaXMuX2xhYmVsc09wdGlvbnMuZW5hYmxlSGlnaGxpZ2h0JiZ0aGlzLl9vbkxhYmVsSG92ZXJlZC5maXJlKHtvd25lcjp0LGF4aXM6KDAsbC5lbnN1cmVOb3ROdWxsKShlKX0saSl9KSksdGhpcy5fc3R1YnMucHVzaCh0KSx0aGlzLl9jZWxsLmFwcGVuZENoaWxkKHQuZ2V0RWxlbWVudCgpKX1jb25zdCBvPXRoaXMuX2xhYmVsc09wdGlvbnMuZW5hYmxlTWVudTsxPT09cz90aGlzLl9zdHVicy5mb3JFYWNoKCgoZSx0KT0+ZS5zZXRMYWJlbE1vZGUobz8wOjEpKSk6dGhpcy5fc3R1YnMuZm9yRWFjaCgoKGUsdCk9PmUuc2V0TGFiZWxNb2RlKHQ8aSYmbz8yOjEpKSl9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9jZWxsfXVwZGF0ZUN1cnJlbmN5TGFiZWxzKCl7cmV0dXJuIHRoaXMuX2F4aXNlcy5mb3JFYWNoKChlPT5lLnVwZGF0ZUN1cnJlbmN5TGFiZWwoKSkpfW9wdGltYWxXaWR0aHMoKXtyZXR1cm4gdGhpcy5fYXhpc2VzLm1hcCgoZT0+ZS5vcHRpbWFsV2lkdGgoKSkpfXNldFNpemVzKGUsdCl7dGhpcy5fc2l6ZT0oMCx5dC5zaXplKSh7d2lkdGg6dC5yZWR1Y2UoKChlLHQpPT5lK3QpLDApLGhlaWdodDplfSksdGhpcy5fY2VsbC5zdHlsZS53aWR0aD10aGlzLl9zaXplLndpZHRoKyJweCIsdGhpcy5fY2VsbC5zdHlsZS5taW5XaWR0aD10aGlzLl9zaXplLndpZHRoKyJweCIsdGhpcy5fY2VsbC5zdHlsZS5oZWlnaHQ9dGhpcy5fc2l6ZS5oZWlnaHQrInB4Iix0Lmxlbmd0aCE9PXRoaXMuX2F4aXNlcy5sZW5ndGgrdGhpcy5fc3R1YnMubGVuZ3RoJiYoMCxsLmFzc2VydCkodC5sZW5ndGg9PT10aGlzLl9heGlzZXMubGVuZ3RoK3RoaXMuX3N0dWJzLmxlbmd0aCwiV2lkZ2V0cyBjb3VudCBzaG91bGQgYmUgdGhlIHNhbWUgYXMgd2lkdGhzIG9uZSIpO2xldCBpPTA7dGhpcy5fZm9yRWFjaFdpZGdldEZyb21MZWZ0KCgocyxuKT0+e2NvbnN0IHI9dFtuXTtzLnNldFNpemVBbmRPZmZzZXQoKDAseXQuc2l6ZSkoe3dpZHRoOnIsaGVpZ2h0OmV9KSxpKSxpKz1yfSkpfXVwZGF0ZSgpe3RoaXMuX2F4aXNlcy5mb3JFYWNoKChlPT5lLnVwZGF0ZSgpKSksdGhpcy5fc3R1YnMuZm9yRWFjaCgoZT0+ZS51cGRhdGUoKSkpfXBhaW50KGUsdCl7dGhpcy5fYXhpc2VzLmZvckVhY2goKCh0LGkpPT50LnBhaW50KGUoaSkpKSksdGhpcy5fc3R1YnMuZm9yRWFjaCgoKGUsaSk9PmUucGFpbnQodCkpKX1wYWludFN0dWJzKGUpe3RoaXMuX3N0dWJzLmZvckVhY2goKHQ9PnQucGFpbnQoZSkpKX1yZXN0b3JlRGVmYXVsdEN1cnNvcigpe3RoaXMuX2F4aXNlcy5mb3JFYWNoKChlPT5lLnJlc3RvcmVEZWZhdWx0Q3Vyc29yKCkpKX1nZXRXaWR0aCgpe3JldHVybiB0aGlzLl9zaXplLndpZHRofWZpbmRBeGlzV2lkZ2V0Rm9yU2NhbGUoZSl7Y29uc3QgdD10aGlzLl9heGlzZXMuZmluZCgodD0+dC5wcmljZVNjYWxlKCk9PT1lKSk7cmV0dXJuIHZvaWQgMD09PXQ/bnVsbDp0fWdldFNjcmVlbnNob3REYXRhKCl7Y29uc3QgZT10aGlzLl9nZXRJbWFnZSgpO3JldHVybntjYW52YXM6ZSxjb250ZW50OmUudG9EYXRhVVJMKCksY29udGVudEhlaWdodDp0aGlzLl9zaXplLmhlaWdodCxjb250ZW50V2lkdGg6dGhpcy5fc2l6ZS53aWR0aH19Z2V0SW1hZ2UoKXtyZXR1cm4gdGhpcy5fZ2V0SW1hZ2UoKX1zbG90c0NvdW50KCl7cmV0dXJuIHRoaXMuX2F4aXNlcy5sZW5ndGgrdGhpcy5fc3R1YnMubGVuZ3RofXNldEhpZ2hsaWdodGVkUHJpY2VBeGlzZXMoZSl7dGhpcy5fYXhpc2VzLmZvckVhY2goKHQ9Pntjb25zdCBpPXQuYXhpc0luZm8oKSxzPWUuZmluZCgoZT0+ZS5sYWJlbD09PWk/LmxhYmVsKSk7dC5zZXRIaWdobGlnaHRlZCh2b2lkIDAhPT1zKX0pKX1heGVzKCl7cmV0dXJuIHRoaXMuX2F4aXNlc31fc3R1YlBhcmFtcyhlKXtyZXR1cm57CnJlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyOnRoaXMuX3JlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyLGJhY2tncm91bmRCYXNlZFRoZW1lOnRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lLnNwYXduT3duZXJzaGlwKCksb25BY3RpdmVPckhvdmVyZWRDaGFydDp0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0Py5zcGF3bk93bmVyc2hpcCgpLHNvdXJjZXNUaXRsZXNQcm92aWRlcjooKT0+dGhpcy5fdGl0bGVzUHJvdmlkZXIodGhpcy5fc2lkZSxlKSxjb250ZXh0TWVudUl0ZW1zUHJvdmlkZXI6KCk9PnRoaXMuX3N0dWJDb250ZXh0TWVudVByb3ZpZGVyKHRoaXMuX3NpZGUsZSksZ2V0QmFja2dyb3VuZFRvcENvbG9yOnRoaXMuX2dldEJhY2tncm91bmRUb3BDb2xvcixnZXRCYWNrZ3JvdW5kQm90dG9tQ29sb3I6dGhpcy5fZ2V0QmFja2dyb3VuZEJvdHRvbUNvbG9yLHJlcXVlc3RSZXBhaW50OnRoaXMuX3JlcXVlc3RSZXBhaW50LHNob3dIb3Jpem9udGFsQm9yZGVyOnRoaXMuX3Nob3dIb3Jpc29udGFsQm9yZGVyfX1fZ2V0SW1hZ2UoKXtjb25zdCBlPSgwLEt0LmNyZWF0ZURpc2Nvbm5lY3RlZENhbnZhcykoZG9jdW1lbnQsdGhpcy5fc2l6ZSksdD0oMCxLdC5nZXRQcmVzY2FsZWRDb250ZXh0MkQpKGUpO2xldCBpPTA7cmV0dXJuIHRoaXMuX2ZvckVhY2hXaWRnZXRGcm9tTGVmdCgoKGUscyk9Pntjb25zdCBuPWUuZ2V0V2lkdGgoKTswIT09biYmMCE9PXRoaXMuX3NpemUuaGVpZ2h0JiYodC5kcmF3SW1hZ2UoZS5nZXRJbWFnZSgpLGksMCxuLHRoaXMuX3NpemUuaGVpZ2h0KSxpKz1uKX0pKSxlfV9mb3JFYWNoV2lkZ2V0RnJvbUxlZnQoZSl7Y29uc3QgdD1bLi4udGhpcy5fYXhpc2VzLC4uLnRoaXMuX3N0dWJzXSxpPSJsZWZ0Ij09PXRoaXMuX3NpZGUscz1pPy0xOnQubGVuZ3RoLG49aT8tMToxO2ZvcihsZXQgcj1pP3QubGVuZ3RoLTE6MDtyIT09cztyKz1uKWUodFtyXSxyLHQpfX12YXIgcWk9aSg2MzcyNTgpLCRpPWkoODczNTczKSxZaT1pKDE5Mjc1MSksS2k9aSg4NTYxNik7ZnVuY3Rpb24gWGkoZSx0LGkscz0hMSl7cmV0dXJuIGUuY2xhc3NMaXN0LmNvbnRhaW5zKCJyZWFkb25seSIpIT09aSYmKGUuY2xhc3NMaXN0LnRvZ2dsZSgicmVhZG9ubHkiLGkpLGUuY2xhc3NMaXN0LnRvZ2dsZSgianMtaGlkZGVuIixzJiZpKSx0Py5jbGFzc0xpc3QudG9nZ2xlKCJqcy1oaWRkZW4iLGkpLCEwKX1jbGFzcyBaaXtjb25zdHJ1Y3RvcihlPTApe3RoaXMuX3dpZHRoPW51bGwsdGhpcy5fbGFiZWxCb3R0b209bnVsbCx0aGlzLl9jdXJyZW5jeUluZm89bnVsbCx0aGlzLl91bml0SW5mbz1udWxsLHRoaXMuX21lYXN1cmVVbml0SWRJbmZvPW51bGwsdGhpcy5fbWV0cmljSW5mbz1udWxsLHRoaXMuX2N1cnJlbmN5QW5kVW5pdExhYmVsc1dyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fY3VycmVuY3lBbmRVbml0TGFiZWxzV3JhcHBlci5jbGFzc05hbWU9S2lbInByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtd3JhcHBlciJdLHRoaXMuX2N1cnJlbmN5QW5kVW5pdExhYmVsc1dyYXBwZXIuc2V0QXR0cmlidXRlKCJkYXRhLW5hbWUiLCJjdXJyZW5jeS11bml0LWxhYmVsLXdyYXBwZXIiKSx0aGlzLl9jb250cm9sc0NvbnRhaW5lcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jb250cm9sc0NvbnRhaW5lci5jbGFzc05hbWU9S2lbInByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwiXSx0aGlzLl9jdXJyZW5jeUFuZFVuaXRMYWJlbHNXcmFwcGVyLmFwcGVuZENoaWxkKHRoaXMuX2NvbnRyb2xzQ29udGFpbmVyKSx0aGlzLl9jdXJyZW5jeUxhYmVsRGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2N1cnJlbmN5TGFiZWxEaXYuY2xhc3NMaXN0LmFkZChLaS5yb3csImFwcGx5LWNvbW1vbi10b29sdGlwIiksdGhpcy5fY3VycmVuY3lMYWJlbERpdi5kYXRhc2V0Lm5hbWU9ImN1cnJlbmN5LWxhYmVsLXNlbGVjdG9yIiwoMCxPaS5zZXRUb29sdGlwRGF0YSkodGhpcy5fY3VycmVuY3lMYWJlbERpdiwidGV4dCIsKGU9PnRoaXMuX2N1cnJlbmN5VG9vbHRpcENvbnRlbnQoKSkpLHRoaXMuX2N1cnJlbmN5VGV4dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jdXJyZW5jeVRleHQuY2xhc3NOYW1lPUtpWyJwcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLXRleHQiXSx0aGlzLl9jdXJyZW5jeUxhYmVsRGl2LmFwcGVuZENoaWxkKHRoaXMuX2N1cnJlbmN5VGV4dCksdGhpcy5fY3VycmVuY3lBcnJvd0Rvd249ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fY3VycmVuY3lBcnJvd0Rvd24uY2xhc3NOYW1lPUtpWyJwcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWFycm93LWRvd24iXSx0aGlzLl9jdXJyZW5jeUFycm93RG93bi5pbm5lckhUTUw9WWksdGhpcy5fY3VycmVuY3lMYWJlbERpdi5hcHBlbmRDaGlsZCh0aGlzLl9jdXJyZW5jeUFycm93RG93biksdGhpcy5fbWVhc3VyZVVuaXRJZExhYmVsRGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX21lYXN1cmVVbml0SWRMYWJlbERpdi5jbGFzc05hbWU9S2kucm93LHRoaXMuX21lYXN1cmVVbml0SWRMYWJlbERpdi5jbGFzc0xpc3QuYWRkKCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHRoaXMuX21lYXN1cmVVbml0SWRMYWJlbERpdi5jbGFzc0xpc3QuYWRkKCJyZWFkb25seSIpLCgwLE9pLnNldFRvb2x0aXBEYXRhKSh0aGlzLl9tZWFzdXJlVW5pdElkTGFiZWxEaXYsInRleHQiLChlPT50aGlzLl9tZWFzdXJlVW5pdElkVG9vbHRpcENvbnRlbnQoKSkpLHRoaXMuX21lYXN1cmVVbml0SWRUZXh0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX21lYXN1cmVVbml0SWRUZXh0LmNsYXNzTmFtZT1LaVsicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC10ZXh0Il0sdGhpcy5fbWVhc3VyZVVuaXRJZExhYmVsRGl2LmFwcGVuZENoaWxkKHRoaXMuX21lYXN1cmVVbml0SWRUZXh0KSx0aGlzLl91bml0TGFiZWxEaXY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fdW5pdExhYmVsRGl2LmNsYXNzTGlzdC5hZGQoS2kucm93LCJhcHBseS1jb21tb24tdG9vbHRpcCIpLAp0aGlzLl91bml0TGFiZWxEaXYuZGF0YXNldC5uYW1lPSJ1bml0LWxhYmVsLXNlbGVjdG9yIiwoMCxPaS5zZXRUb29sdGlwRGF0YSkodGhpcy5fdW5pdExhYmVsRGl2LCJ0ZXh0IiwoZT0+dGhpcy5fdW5pdFRvb2x0aXBDb250ZW50KCkpKSx0aGlzLl91bml0VGV4dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl91bml0VGV4dC5jbGFzc05hbWU9S2lbInByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtdGV4dCJdLHRoaXMuX3VuaXRMYWJlbERpdi5hcHBlbmRDaGlsZCh0aGlzLl91bml0VGV4dCksdGhpcy5fdW5pdEFycm93RG93bj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl91bml0QXJyb3dEb3duLmNsYXNzTmFtZT1LaVsicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1hcnJvdy1kb3duIl0sdGhpcy5fdW5pdEFycm93RG93bi5pbm5lckhUTUw9WWksdGhpcy5fdW5pdExhYmVsRGl2LmFwcGVuZENoaWxkKHRoaXMuX3VuaXRBcnJvd0Rvd24pLHRoaXMuX21ldHJpY0xhYmVsRGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX21ldHJpY0xhYmVsRGl2LmNsYXNzTGlzdC5hZGQoS2kucm93LCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHRoaXMuX21ldHJpY0xhYmVsRGl2LmRhdGFzZXQubmFtZT0ibWV0cmljLWxhYmVsLXNlbGVjdG9yIiwoMCxPaS5zZXRUb29sdGlwRGF0YSkodGhpcy5fbWV0cmljTGFiZWxEaXYsInRleHQiLChlPT50aGlzLl9tZXRyaWNUb29sdGlwQ29udGVudCgpKSksdGhpcy5fbWV0cmljVGV4dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9tZXRyaWNUZXh0LmNsYXNzTmFtZT1LaVsicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC10ZXh0Il0sdGhpcy5fbWV0cmljTGFiZWxEaXYuYXBwZW5kQ2hpbGQodGhpcy5fbWV0cmljVGV4dCksdGhpcy5fbWV0cmljQXJyb3dEb3duPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX21ldHJpY0Fycm93RG93bi5jbGFzc05hbWU9S2lbInByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYXJyb3ctZG93biJdLHRoaXMuX21ldHJpY0Fycm93RG93bi5pbm5lckhUTUw9WWksdGhpcy5fbWV0cmljTGFiZWxEaXYuYXBwZW5kQ2hpbGQodGhpcy5fbWV0cmljQXJyb3dEb3duKSx0aGlzLl9jb250cm9sc0NvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLl9jdXJyZW5jeUxhYmVsRGl2KSx0aGlzLl9jb250cm9sc0NvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLl9tZWFzdXJlVW5pdElkTGFiZWxEaXYpLHRoaXMuX2NvbnRyb2xzQ29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuX3VuaXRMYWJlbERpdiksdGhpcy5fY29udHJvbHNDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5fbWV0cmljTGFiZWxEaXYpLHRoaXMuZGlzYWJsZUN1cnJlbmN5KCksdGhpcy5kaXNhYmxlVW5pdCgpLHRoaXMuZGlzYWJsZU1ldHJpYygpLHRoaXMuc2V0Rm9udFNpemUoZSl9ZWxlbWVudCgpe3JldHVybiB0aGlzLl9jdXJyZW5jeUFuZFVuaXRMYWJlbHNXcmFwcGVyfWN1cnJlbmN5TGFiZWxFbGVtZW50KCl7cmV0dXJuIHRoaXMuX2N1cnJlbmN5TGFiZWxEaXZ9dW5pdExhYmVsRWxlbWVudCgpe3JldHVybiB0aGlzLl91bml0TGFiZWxEaXZ9bWV0cmljTGFiZWxFbGVtZW50KCl7cmV0dXJuIHRoaXMuX21ldHJpY0xhYmVsRGl2fWlzRW5hYmxlZCgpe3JldHVybiB0aGlzLmN1cnJlbmN5TGFiZWxFbmFibGVkKCl8fHRoaXMudW5pdExhYmVsRW5hYmxlZCgpfHx0aGlzLm1lYXN1cmVVbml0SWRMYWJsZUVuYWJsZWQoKXx8dGhpcy5tZXRyaWNMYWJlbEVuYWJsZWQoKX1pc0hpZGRlbigpe3JldHVybiB0aGlzLl9jdXJyZW5jeUFuZFVuaXRMYWJlbHNXcmFwcGVyLmNsYXNzTGlzdC5jb250YWlucyhLaS5oaWRkZW4pfXNldEN1cnJlbmN5RXhwYW5kZWQoZSl7dGhpcy5fY3VycmVuY3lMYWJlbERpdi5jbGFzc0xpc3QudG9nZ2xlKEtpLmV4cGFuZGVkLGUpfXNldFVuaXRFeHBhbmRlZChlKXt0aGlzLl91bml0TGFiZWxEaXYuY2xhc3NMaXN0LnRvZ2dsZShLaS5leHBhbmRlZCxlKX1zZXRNZXRyaWNFeHBhbmRlZChlKXt0aGlzLl9tZXRyaWNMYWJlbERpdi5jbGFzc0xpc3QudG9nZ2xlKEtpLmV4cGFuZGVkLGUpfXdpZHRoKCl7aWYobnVsbCE9PXRoaXMuX3dpZHRoKXJldHVybiB0aGlzLl93aWR0aDtsZXQgZT0wO2lmKHRoaXMuY3VycmVuY3lMYWJlbEVuYWJsZWQoKSl7Y29uc3QgdD10aGlzLl9jdXJyZW5jeVRleHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT10aGlzLl9jdXJyZW5jeUFycm93RG93bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlPU1hdGgubWF4KGUsdC53aWR0aCtpLndpZHRoKzIqdGhpcy5fdGV4dE1hcmdpbkFuZFBhZGRpbmcoKSl9aWYodGhpcy5tZWFzdXJlVW5pdElkTGFibGVFbmFibGVkKCkpe2NvbnN0IHQ9dGhpcy5fbWVhc3VyZVVuaXRJZFRleHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7ZT1NYXRoLm1heChlLHQud2lkdGgrMip0aGlzLl90ZXh0TWFyZ2luQW5kUGFkZGluZygpKX1pZih0aGlzLnVuaXRMYWJlbEVuYWJsZWQoKSl7Y29uc3QgdD10aGlzLl91bml0VGV4dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPXRoaXMuX3VuaXRBcnJvd0Rvd24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7ZT1NYXRoLm1heChlLHQud2lkdGgraS53aWR0aCsyKnRoaXMuX3RleHRNYXJnaW5BbmRQYWRkaW5nKCkpfWlmKHRoaXMubWV0cmljTGFiZWxFbmFibGVkKCkpe2NvbnN0IHQ9dGhpcy5fbWV0cmljVGV4dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPXRoaXMuX21ldHJpY0Fycm93RG93bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlPU1hdGgubWF4KGUsdC53aWR0aCtpLndpZHRoKzIqdGhpcy5fdGV4dE1hcmdpbkFuZFBhZGRpbmcoKSl9cmV0dXJuIHRoaXMuX3dpZHRoPWV9ZHJhd0xhYmVsKGUsdCxpKXtpZighdGhpcy5pc0VuYWJsZWQoKSlyZXR1cm47Y29uc3Qgcz1NYXRoLnJvdW5kKE51bWJlcihLaS5jc3Nfd3JhcHBlcl9tYXJnaW4pKmkpLG49KDAsCmJpLmNlaWxlZEV2ZW4pKHQqaSktMipzLHI9TWF0aC5yb3VuZCh0aGlzLmxhYmVsQm90dG9tKCkqaSksbz1yLTIqcyxhPU1hdGgucm91bmQoTnVtYmVyKEtpLmNzc192YWx1ZV9jdXJyZW5jeV9sYWJlbF9yYWRpdXMpKmkpO2UuZmlsbFN0eWxlPWdldENvbXB1dGVkU3R5bGUodGhpcy5fY3VycmVuY3lBbmRVbml0TGFiZWxzV3JhcHBlcikuYmFja2dyb3VuZENvbG9yLGUuZmlsbFJlY3QoMCwwLE1hdGguY2VpbCh0KmkpLHIpO2NvbnN0IGw9W107bC5wdXNoKHRoaXMuY3VycmVuY3lMYWJlbEVuYWJsZWQoKT90aGlzLl9jdXJyZW5jeVRleHQudGV4dENvbnRlbnQ/PyIiOiIiKSxsLnB1c2godGhpcy5tZWFzdXJlVW5pdElkTGFibGVFbmFibGVkKCk/dGhpcy5fbWVhc3VyZVVuaXRJZFRleHQudGV4dENvbnRlbnQ/PyIiOiIiKSxsLnB1c2godGhpcy51bml0TGFiZWxFbmFibGVkKCk/dGhpcy5fdW5pdFRleHQudGV4dENvbnRlbnQ/PyIiOiIiKSxlLmZvbnQ9KDAsUmkubWFrZUZvbnQpKHRoaXMuX2ZvbnRTaXplLFdpLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpO2NvbnN0IGM9bmV3IEJpLlRleHRXaWR0aENhY2hlO2xldCBoPTA7Y29uc3QgZD1bXTtsLmZvckVhY2goKHQ9PntsZXQgaT0wOyIiIT09dCYmKGk9Yy55TWlkQ29ycmVjdGlvbihlLHQpLGgrKyksZC5wdXNoKGkpfSkpO2NvbnN0IHU9by9oO2UuYmVnaW5QYXRoKCk7Y29uc3QgcD1nZXRDb21wdXRlZFN0eWxlKHRoaXMuX2NvbnRyb2xzQ29udGFpbmVyKTtlLmZpbGxTdHlsZT1wLmJhY2tncm91bmRDb2xvcixlLnN0cm9rZVN0eWxlPXAuYm9yZGVyQ29sb3IsKDAsRGkuZHJhd1JvdW5kUmVjdCkoZSxzLHMsbixvLGEpLGUuZmlsbCgpLGUuc3Ryb2tlKCksZS5maWxsU3R5bGU9Z2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9jdXJyZW5jeUxhYmVsRGl2KS5jb2xvcixlLnRleHRCYXNlbGluZT0ibWlkZGxlIixlLnRleHRBbGlnbj0ibGVmdCI7Y29uc3QgXz1NYXRoLnJvdW5kKHRoaXMuX3RleHRNYXJnaW5BbmRQYWRkaW5nKCkqaSkrcyxtPXUvMjtsZXQgZz1zK207bC5mb3JFYWNoKCgodCxzKT0+eyIiIT09dCYmKCgwLEt0LmRyYXdTY2FsZWQpKGUsaSxpLCgoKT0+e2UuZmlsbFRleHQodCxfL2ksKGcrZFtzXSkvaSl9KSksZz1NYXRoLmNlaWwoZysyKm0pKX0pKX1zZXRIaWRkZW4oZSl7dGhpcy5fY3VycmVuY3lBbmRVbml0TGFiZWxzV3JhcHBlci5jbGFzc0xpc3QudG9nZ2xlKEtpLmhpZGRlbixlKX1lbmFibGVDdXJyZW5jeSgpe3RoaXMuX2N1cnJlbmN5TGFiZWxEaXYuY2xhc3NMaXN0LnJlbW92ZSgianMtaGlkZGVuIiksdGhpcy5fcmVzZXRTaXplc0FuZFZpc2liaWxpdHkoKX1kaXNhYmxlQ3VycmVuY3koKXt0aGlzLl9jdXJyZW5jeUxhYmVsRGl2LmNsYXNzTGlzdC5hZGQoImpzLWhpZGRlbiIpLHRoaXMuX3Jlc2V0U2l6ZXNBbmRWaXNpYmlsaXR5KCl9ZW5hYmxlVW5pdCgpe3RoaXMuX3VuaXRMYWJlbERpdi5jbGFzc0xpc3QucmVtb3ZlKCJqcy1oaWRkZW4iKSx0aGlzLl9yZXNldFNpemVzQW5kVmlzaWJpbGl0eSgpfWRpc2FibGVVbml0KCl7dGhpcy5fdW5pdExhYmVsRGl2LmNsYXNzTGlzdC5hZGQoImpzLWhpZGRlbiIpLHRoaXMuX3Jlc2V0U2l6ZXNBbmRWaXNpYmlsaXR5KCl9ZW5hYmxlTWVhc3VyZVVuaXRJZCgpe3RoaXMuX21lYXN1cmVVbml0SWRMYWJlbERpdi5jbGFzc0xpc3QucmVtb3ZlKCJqcy1oaWRkZW4iKSx0aGlzLl9yZXNldFNpemVzQW5kVmlzaWJpbGl0eSgpfWRpc2FibGVNZWFzdXJlVW5pdElkKCl7dGhpcy5fbWVhc3VyZVVuaXRJZExhYmVsRGl2LmNsYXNzTGlzdC5hZGQoImpzLWhpZGRlbiIpLHRoaXMuX3Jlc2V0U2l6ZXNBbmRWaXNpYmlsaXR5KCl9ZW5hYmxlTWV0cmljKCl7dGhpcy5fbWV0cmljTGFiZWxEaXYuY2xhc3NMaXN0LnJlbW92ZSgianMtaGlkZGVuIiksdGhpcy5fcmVzZXRTaXplc0FuZFZpc2liaWxpdHkoKX1kaXNhYmxlTWV0cmljKCl7dGhpcy5fbWV0cmljTGFiZWxEaXYuY2xhc3NMaXN0LmFkZCgianMtaGlkZGVuIiksdGhpcy5fcmVzZXRTaXplc0FuZFZpc2liaWxpdHkoKX1jdXJyZW5jeUxhYmVsRW5hYmxlZCgpe3JldHVybiF0aGlzLl9jdXJyZW5jeUxhYmVsRGl2LmNsYXNzTGlzdC5jb250YWlucygianMtaGlkZGVuIil9dW5pdExhYmVsRW5hYmxlZCgpe3JldHVybiF0aGlzLl91bml0TGFiZWxEaXYuY2xhc3NMaXN0LmNvbnRhaW5zKCJqcy1oaWRkZW4iKX1tZWFzdXJlVW5pdElkTGFibGVFbmFibGVkKCl7cmV0dXJuIXRoaXMuX21lYXN1cmVVbml0SWRMYWJlbERpdi5jbGFzc0xpc3QuY29udGFpbnMoImpzLWhpZGRlbiIpfW1ldHJpY0xhYmVsRW5hYmxlZCgpe3JldHVybiF0aGlzLl9tZXRyaWNMYWJlbERpdi5jbGFzc0xpc3QuY29udGFpbnMoImpzLWhpZGRlbiIpfWN1cnJlbmN5Q29udmVyc2lvbkF2YWlsYWJsZSgpe3JldHVybiF0aGlzLl9jdXJyZW5jeUxhYmVsRGl2LmNsYXNzTGlzdC5jb250YWlucygicmVhZG9ubHkiKX11bml0Q29udmVyc2lvbkF2YWlsYWJsZSgpe3JldHVybiF0aGlzLl91bml0TGFiZWxEaXYuY2xhc3NMaXN0LmNvbnRhaW5zKCJyZWFkb25seSIpfW1ldHJpY0NvbnZlcnNpb25BdmFpbGFibGUoKXtyZXR1cm4hdGhpcy5fbWV0cmljTGFiZWxEaXYuY2xhc3NMaXN0LmNvbnRhaW5zKCJyZWFkb25seSIpfXNldEN1cnJlbmN5SW5mbyhlKXtpZih0aGlzLl9jdXJyZW5jeUluZm89PT1lKXJldHVybiExO3RoaXMuX2N1cnJlbmN5SW5mbz1lO2NvbnN0IHQ9bnVsbD09PWUuc2VsZWN0ZWRDdXJyZW5jeT9wLnQobnVsbCx7Y29udGV4dDoicHJpY2UgY29udmVyc2lvbiBsYWJlbCJ9LGkoMjE3MTYxKSk6KDAsbC5lbnN1cmVEZWZpbmVkKShlLmRpc3BsYXllZFZhbHVlcy5nZXQoZS5zZWxlY3RlZEN1cnJlbmN5KSk7cmV0dXJuIHRoaXMuX2N1cnJlbmN5VGV4dC50ZXh0Q29udGVudCE9PXQmJih0aGlzLl9jdXJyZW5jeVRleHQudGV4dENvbnRlbnQ9dCx0aGlzLl93aWR0aD1udWxsKSxYaSh0aGlzLl9jdXJyZW5jeUxhYmVsRGl2LHRoaXMuX2N1cnJlbmN5QXJyb3dEb3duLGUucmVhZE9ubHkpJiYodGhpcy5fd2lkdGg9bnVsbCksITB9c2V0VW5pdEluZm8oZSl7CmlmKG51bGwhPT10aGlzLl91bml0SW5mbyYmdGhpcy5fdW5pdEluZm8uc2VsZWN0ZWRVbml0PT09ZS5zZWxlY3RlZFVuaXQmJjA9PT10aGlzLl91bml0SW5mby5hdmFpbGFibGVHcm91cHMuc2l6ZT09KDA9PT1lLmF2YWlsYWJsZUdyb3Vwcy5zaXplKSYmdGhpcy5fdW5pdEluZm8ub3JpZ2luYWxVbml0cy5zaXplPT09ZS5vcmlnaW5hbFVuaXRzLnNpemUpcmV0dXJuIHRoaXMuX3VuaXRJbmZvPWUsITE7dGhpcy5fdW5pdEluZm89ZTtjb25zdCB0PW51bGw9PT1lLnNlbGVjdGVkVW5pdD9wLnQobnVsbCx7Y29udGV4dDoicHJpY2UgY29udmVyc2lvbiBsYWJlbCJ9LGkoMjE3MTYxKSk6KDAsbC5lbnN1cmVEZWZpbmVkKShlLm5hbWVzLmdldChlLnNlbGVjdGVkVW5pdCkpO3JldHVybiB0aGlzLl91bml0VGV4dC50ZXh0Q29udGVudCE9PXQmJih0aGlzLl91bml0VGV4dC50ZXh0Q29udGVudD10LHRoaXMuX3dpZHRoPW51bGwpLFhpKHRoaXMuX3VuaXRMYWJlbERpdix0aGlzLl91bml0QXJyb3dEb3duLDA9PT1lLmF2YWlsYWJsZUdyb3Vwcy5zaXplKSYmKHRoaXMuX3dpZHRoPW51bGwpLCEwfXNldE1lYXN1cmVVbml0SWRJbmZvKGUpe2lmKHRoaXMuX21lYXN1cmVVbml0SWRJbmZvPT09ZSlyZXR1cm4hMTt0aGlzLl9tZWFzdXJlVW5pdElkSW5mbz1lO2NvbnN0IHQ9bnVsbD09PWUuc2VsZWN0ZWRNZWFzdXJlVW5pdElkP3AudChudWxsLHtjb250ZXh0OiJwcmljZSBjb252ZXJzaW9uIGxhYmVsIn0saSgyMTcxNjEpKTooMCxsLmVuc3VyZURlZmluZWQpKGUubmFtZXMuZ2V0KGUuc2VsZWN0ZWRNZWFzdXJlVW5pdElkKSk7cmV0dXJuIHRoaXMuX21lYXN1cmVVbml0SWRUZXh0LnRleHRDb250ZW50IT09dCYmKHRoaXMuX21lYXN1cmVVbml0SWRUZXh0LnRleHRDb250ZW50PXQsdGhpcy5fd2lkdGg9bnVsbCksWGkodGhpcy5fbWVhc3VyZVVuaXRJZExhYmVsRGl2LG51bGwsMD09PWUubmFtZXMuc2l6ZSwhMCkmJih0aGlzLl93aWR0aD1udWxsKSwhMH1zZXRNZXRyaWNJbmZvKGUpe2lmKHRoaXMuX21ldHJpY0luZm89PT1lKXJldHVybiExO3RoaXMuX21ldHJpY0luZm89ZTtjb25zdCB0PW51bGw9PT1lLnNlbGVjdGVkTWV0cmljSWQ/cC50KG51bGwse2NvbnRleHQ6InByaWNlIGNvbnZlcnNpb24gbGFiZWwifSxpKDIxNzE2MSkpOigwLGwuZW5zdXJlRGVmaW5lZCkoZS5uYW1lcy5nZXQoZS5zZWxlY3RlZE1ldHJpY0lkKSk7cmV0dXJuIHRoaXMuX21ldHJpY1RleHQudGV4dENvbnRlbnQhPT10JiYodGhpcy5fbWV0cmljVGV4dC50ZXh0Q29udGVudD10LHRoaXMuX3dpZHRoPW51bGwpLFhpKHRoaXMuX21ldHJpY0xhYmVsRGl2LHRoaXMuX21ldHJpY0Fycm93RG93bixlLnJlYWRPbmx5KSYmKHRoaXMuX3dpZHRoPW51bGwpLCEwfWN1cnJlbmN5SW5mbygpe3JldHVybiB0aGlzLl9jdXJyZW5jeUluZm99dW5pdEluZm8oKXtyZXR1cm4gdGhpcy5fdW5pdEluZm99bWVhc3VyZVVuaXRJZEluZm8oKXtyZXR1cm4gdGhpcy5fbWVhc3VyZVVuaXRJZEluZm99bWV0cmljSW5mbygpe3JldHVybiB0aGlzLl9tZXRyaWNJbmZvfXNldEZvbnRTaXplKGUpe3RoaXMuX2ZvbnRTaXplIT09ZSYmKHRoaXMuX2ZvbnRTaXplPWUsdGhpcy5fY3VycmVuY3lMYWJlbERpdi5zdHlsZS5mb250U2l6ZT1lKyJweCIsdGhpcy5fbWVhc3VyZVVuaXRJZExhYmVsRGl2LnN0eWxlLmZvbnRTaXplPWUrInB4Iix0aGlzLl91bml0TGFiZWxEaXYuc3R5bGUuZm9udFNpemU9ZSsicHgiLHRoaXMuX21ldHJpY0xhYmVsRGl2LnN0eWxlLmZvbnRTaXplPWUrInB4Iix0aGlzLl93aWR0aD1udWxsLHRoaXMuX2xhYmVsQm90dG9tPW51bGwpfWxhYmVsQm90dG9tKCl7aWYobnVsbCE9PXRoaXMuX2xhYmVsQm90dG9tKXJldHVybiB0aGlzLl9sYWJlbEJvdHRvbTtjb25zdCBlPXRoaXMuX2NvbnRyb2xzQ29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHQ9dGhpcy5fY3VycmVuY3lBbmRVbml0TGFiZWxzV3JhcHBlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPWUueS10Lnk7cmV0dXJuIHRoaXMuX2xhYmVsQm90dG9tPWUuaGVpZ2h0KzIqaX1fcmVzZXRTaXplc0FuZFZpc2liaWxpdHkoKXt0aGlzLl93aWR0aD1udWxsLHRoaXMuX2xhYmVsQm90dG9tPW51bGwsdGhpcy5fdXBkYXRlVmlzaWJpbGl0eSgpfV90ZXh0TWFyZ2luQW5kUGFkZGluZygpe3JldHVybiBOdW1iZXIoS2kuY3NzX3dyYXBwZXJfbWFyZ2luKStOdW1iZXIoS2kuY3NzX3Jvd19sZWZ0X3JpZ2h0X3BhZGRpbmcpKzJ9X2N1cnJlbmN5VG9vbHRpcENvbnRlbnQoKXtjb25zdCBlPXRoaXMuX2N1cnJlbmN5SW5mbztyZXR1cm4gbnVsbD09PWU/IiI6bnVsbD09PWUuc2VsZWN0ZWRDdXJyZW5jeT9BcnJheS5mcm9tKGUuY3VycmVuY2llcykubWFwKCh0PT4oMCxsLmVuc3VyZURlZmluZWQpKGUuZGlzcGxheWVkVmFsdWVzLmdldCh0KSkpKS5qb2luKCIsICIpOmUucmVhZE9ubHk/cC50KG51bGwse2NvbnRleHQ6InByaWNlIGNvbnZlcnNpb24gbGFiZWwifSxpKDE5MTQ1NSkpOnAudChudWxsLHtjb250ZXh0OiJwcmljZSBjb252ZXJzaW9uIGxhYmVsIn0saSg3ODkwNDkpKX1fdW5pdFRvb2x0aXBDb250ZW50KCl7Y29uc3QgZT10aGlzLl91bml0SW5mbztyZXR1cm4gbnVsbD09PWU/IiI6bnVsbD09PWUuc2VsZWN0ZWRVbml0P0FycmF5LmZyb20oZS51bml0cykubWFwKCh0PT4oMCxsLmVuc3VyZURlZmluZWQpKGUubmFtZXMuZ2V0KHQpKSkpLmpvaW4oIiwgIik6MD09PWUuYXZhaWxhYmxlR3JvdXBzLnNpemU/cC50KG51bGwse2NvbnRleHQ6InByaWNlIGNvbnZlcnNpb24gbGFiZWwifSxpKDU1Njc2NSkpOnAudChudWxsLHtjb250ZXh0OiJwcmljZSBjb252ZXJzaW9uIGxhYmVsIn0saSg0MDUwMTMpKX1fbWVhc3VyZVVuaXRJZFRvb2x0aXBDb250ZW50KCl7Y29uc3QgZT10aGlzLl9tZWFzdXJlVW5pdElkSW5mbztyZXR1cm4gbnVsbD09PWU/IiI6bnVsbD09PWUuc2VsZWN0ZWRNZWFzdXJlVW5pdElkP0FycmF5LmZyb20oZS5tZWFzdXJlVW5pdElkcykubWFwKCh0PT4oMCwKbC5lbnN1cmVEZWZpbmVkKShlLm5hbWVzLmdldCh0KSkpKS5qb2luKCIsICIpOmUuZGVzY3JpcHRpb25zLmdldChlLnNlbGVjdGVkTWVhc3VyZVVuaXRJZCl8fCIifV9tZXRyaWNUb29sdGlwQ29udGVudCgpe2NvbnN0IGU9dGhpcy5fbWV0cmljSW5mbztyZXR1cm4gbnVsbD09PWU/IiI6bnVsbD09PWUuc2VsZWN0ZWRNZXRyaWNJZD9BcnJheS5mcm9tKGUubWV0cmljcykubWFwKCh0PT4oMCxsLmVuc3VyZURlZmluZWQpKGUubmFtZXMuZ2V0KHQpKSkpLmpvaW4oIiwgIik6ZS5yZWFkT25seT9wLnQobnVsbCx7Y29udGV4dDoicHJpY2UgY29udmVyc2lvbiBsYWJlbCJ9LGkoOTk0ODQ1KSk6cC50KG51bGwse2NvbnRleHQ6InByaWNlIGNvbnZlcnNpb24gbGFiZWwifSxpKDgzMzc0NikpfV91cGRhdGVWaXNpYmlsaXR5KCl7Y29uc3QgZT10aGlzLmlzRW5hYmxlZCgpO3RoaXMuX2N1cnJlbmN5QW5kVW5pdExhYmVsc1dyYXBwZXIuY2xhc3NMaXN0LnRvZ2dsZSgianMtaGlkZGVuIiwhZSl9fWFzeW5jIGZ1bmN0aW9uIEppKGUsdCxzLG4scil7Y29uc3R7VW5pdENvbnZlcnNpb25SZW5kZXJlcjpvfT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDE2NTk4KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSg4MTA3MiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoODkyMDQpLGkuZSgzMjE3NiksaS5lKDIwMiksaS5lKDg4NjQxKSxpLmUoNzA2NTYpLGkuZSgzMjg1NyksaS5lKDUyOTYxKSxpLmUoMzIzODcpLGkuZSgzOTYwOSksaS5lKDM1OTY0KSxpLmUoODI5NyldKS50aGVuKGkuYmluZChpLDc2MzgwMikpO3JldHVybiBuZXcgbyhlLHMsdCxuLHIpfWFzeW5jIGZ1bmN0aW9uIFFpKGUsdCxzKXtjb25zdHtDdXJyZW5jeU1lbnVSZXN1bHRFdmVudHM6bn09YXdhaXQgaS5lKDYzODg1KS50aGVuKGkuYmluZChpLDIyMDM5KSk7cmV0dXJuIG5ldyBuKGUsdCxzKX12YXIgZXM9aSg1MDkwNCk7Y2xhc3MgdHN7Y29uc3RydWN0b3IoZSl7Y29uc3R7YWN0aW9uOnQscHJvcGVydHk6aSx1bmRvTW9kZWw6cyx1bmRvVGV4dDpuLGNhbGxiYWNrOnI9bnVsbH09ZTt0aGlzLl9wcm9wZXJ0eT1pLHRoaXMuX3VuZG9Nb2RlbD1zLHRoaXMuX3VuZG9UZXh0PW4sdGhpcy5fYWN0aW9uPXQsdGhpcy5zZXRWYWx1ZShpLnZhbHVlKCkpLGkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcHJvcGVydHlDaGFuZ2VkKSxudWxsIT09cj90LnVwZGF0ZSh7b25FeGVjdXRlOnIuYmluZCh0aGlzKX0pOnQudXBkYXRlKHtvbkV4ZWN1dGU6dGhpcy5fb25BY3Rpb25DYWxsYmFjay5iaW5kKHRoaXMpfSl9ZGVzdHJveSgpe3RoaXMuX3Byb3BlcnR5LnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcHJvcGVydHlDaGFuZ2VkKX12YWx1ZSgpe3JldHVybiB0aGlzLl9hY3Rpb24uaXNDaGVja2VkKCl9c2V0VmFsdWUoZSl7dGhpcy5fYWN0aW9uLnVwZGF0ZSh7Y2hlY2tlZDpCb29sZWFuKGUpfSl9X29uQWN0aW9uQ2FsbGJhY2soKXt0aGlzLl91bmRvTW9kZWwuc2V0UHJvcGVydHkodGhpcy5fcHJvcGVydHksdGhpcy52YWx1ZSgpLHRoaXMuX3VuZG9UZXh0KX1fcHJvcGVydHlDaGFuZ2VkKGUpe3RoaXMuc2V0VmFsdWUoZS52YWx1ZSgpKX19Y2xhc3MgaXMgZXh0ZW5kcyBlcy5BY3Rpb257Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlKSx0aGlzLl9iaW5kaW5nPW5ldyB0cyh7YWN0aW9uOnRoaXMsLi4udH0pfWRlc3Ryb3koKXt0aGlzLl9iaW5kaW5nLmRlc3Ryb3koKSxzdXBlci5kZXN0cm95KCl9fXZhciBzcz1pKDM1NjQzNCksbnM9aSgyNTI0MjcpLHJzPWkoMTUyNzY2KSxvcz1pKDE2OTg0NSksYXM9aSg0NzcxNTUpO2Z1bmN0aW9uIGxzKGUsdCxpKXtyZXR1cm4gbnVsbD09PWk/W106aS5maWx0ZXIoKGk9PntpZighaS5pc1Zpc2libGUoKXx8aS5pZ25vcmVBbGlnbm1lbnQoKSlyZXR1cm4hMTtjb25zdHt0b3RhbDpzfT1pLnRvcEJvdHRvbVRvdGFsSGVpZ2h0KGUpLG49aS5jb29yZGluYXRlKCk7cmV0dXJuIG4+LXMmJm48dCtzfSkpfWkoMTQ0MTEyKTtjb25zdCBjcz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2Ugbm8gb3ZlcmxhcHBpbmcgbGFiZWxzIixwLnQobnVsbCx2b2lkIDAsaSg5MTc1OTApKSksaHM9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidG9nZ2xlIGF1dG8gc2NhbGUiLHAudChudWxsLHZvaWQgMCxpKDU5OTE0MSkpKSxkcz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ0b2dnbGUgbG9nIHNjYWxlIixwLnQobnVsbCx2b2lkIDAsaSg3Nzc0ODUpKSksdXM9cC50KG51bGwse2NvbnRleHQ6InNjYWxlX21lbnUifSxpKDI3ODc1MSkpLHBzPXAudChudWxsLHtjb250ZXh0OiJzY2FsZV9tZW51In0saSg5MTE3MTEpKSxfcz1wLnQobnVsbCx7Y29udGV4dDoic2NhbGVfbWVudSJ9LGkoODQ2NzkpKSxtcz1wLnQobnVsbCx7Y29udGV4dDoic2NhbGVfbWVudSJ9LGkoMjEzMDc1KSksZ3M9cC50KG51bGwse2NvbnRleHQ6InNjYWxlX21lbnUifSxpKDkxNjI3NykpLGZzPXAudChudWxsLHtjb250ZXh0OiJzY2FsZV9tZW51In0saSgzNDI5MTUpKSxTcz1wLnQobnVsbCx7Y29udGV4dDoic2NhbGVfbWVudSJ9LGkoNjQyODQzKSksdnM9cC50KG51bGwse2NvbnRleHQ6InNjYWxlX21lbnUifSxpKDY0MDA5NikpLHlzPXAudChudWxsLHtjb250ZXh0OiJzY2FsZV9tZW51In0saSgxOTcxMDUpKSxicz1wLnQobnVsbCx7Y29udGV4dDoic2NhbGVfbWVudSJ9LGkoODg2MDEzKSksd3M9cC50KG51bGwse2NvbnRleHQ6InNjYWxlX21lbnUifSxpKDc0OTE3OSkpLENzPXAudChudWxsLHtjb250ZXh0OiJzY2FsZV9tZW51In0saSg4NDc4MzQpKSxQcz1wLnQobnVsbCx7Y29udGV4dDoic2NhbGVfbWVudSJ9LGkoNDcxOTgwKSk7Y29uc3QgVHM9ZnVuY3Rpb24oZSl7Y29uc3QgdD1uZXcgbnMuTGltaXRlZFByZWNpc2lvbk51bWVyaWNGb3JtYXR0ZXIoZSk7cmV0dXJuKGUsaSk9PigwLGEuaXNOdW1iZXIpKGkpJiYhZS5pc0xvZygpP3QuZm9ybWF0KGkpOiIifSg0KSx4cz0oMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjdXJyZW5jeV9tZW51X2Rpc2FibGVkIiksTXM9KDAsCnEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVuaXRfbWVudV9kaXNhYmxlZCIpLElzPSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIm1ldHJpY19tZW51X2Rpc2FibGVkIiksTHM9e2NvbnRleHRNZW51RW5hYmxlZDohMCxjdXJyZW5jeUNvbnZlcnNpb25FbmFibGVkOiExLHVuaXRDb252ZXJzaW9uRW5hYmxlZDohMSxtZXRyaWNDb252ZXJzaW9uRW5hYmxlZDohMSxjb3VudGRvd25FbmFibGVkOiEwLGNvbnRleHRNZW51OntnZW5lcmFsOiEwLHNvdXJjZTohMH0scHJlc3NlZE1vdXNlTW92ZVNjYWxlOiEwLG1vdXNlV2hlZWxTY2FsZTohMCxwaW5jaFNjYWxlOiEwLGNyb3BwZWRUaWNrTWFya3M6ITB9O3ZhciBBcyxrczshZnVuY3Rpb24oZSl7ZVtlLkxhYmVsT2Zmc2V0PTRdPSJMYWJlbE9mZnNldCIsZVtlLkRlZmF1bHRPcHRpbWFsV2lkdGg9MzRdPSJEZWZhdWx0T3B0aW1hbFdpZHRoIixlW2UuV2hlZWxTY2FsZUNvZWZmPTE1XT0iV2hlZWxTY2FsZUNvZWZmIixlW2UuQ3VycmVuY3lMYWJlbEZvbnRTaXplPTEyXT0iQ3VycmVuY3lMYWJlbEZvbnRTaXplIn0oQXN8fChBcz17fSkpLGZ1bmN0aW9uKGUpe2VbZS5CYWNrPTBdPSJCYWNrIixlW2UuVG9wPTFdPSJUb3AiLGVbZS5BbGw9Ml09IkFsbCJ9KGtzfHwoa3M9e30pKTtjbGFzcyBEc3tjb25zdHJ1Y3RvcihlLHQsaSxzLG4scixvLGwsYyl7dGhpcy5fYWN0aW9ucz1udWxsLHRoaXMuX3ByaWNlU2NhbGU9bnVsbCx0aGlzLl9zY2FsZU1vZGVCdXR0b25zPW51bGwsdGhpcy5fc2NhbGVNb2RlQnV0dG9uc1Byb21pc2U9bnVsbCx0aGlzLl93aWR0aENhY2hlPW5ldyBCaS5UZXh0V2lkdGhDYWNoZSgxZTMpLHRoaXMuX2NvbG9yPW51bGwsdGhpcy5fZm9udFNpemU9bnVsbCx0aGlzLl9pc1Zpc2libGU9ITAsdGhpcy5fY3VycmVuY3lNZW51PW51bGwsdGhpcy5fdW5pdE1lbnU9bnVsbCx0aGlzLl9tZXRyaWNNZW51PW51bGwsdGhpcy5fc2l6ZT0oMCx5dC5zaXplKSh7d2lkdGg6MCxoZWlnaHQ6MH0pLHRoaXMuX2N1cnJlbnRDdXJzb3JDbGFzc05hbWU9IiIsdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX2hpZ2hsaWdodGVkPSExLHRoaXMuX2hpZ2hsaWdodENvbG9yQ2FjaGU9bnVsbCx0aGlzLl9tb3VzZVdoZWVsSGVscGVyPW51bGwsdGhpcy5fZHJhZ1NjYWxlQWN0aXZlPSExLHRoaXMuX29mZnNldD1OYU4sdGhpcy5fcGluY2hpbmc9ITEsdGhpcy5fbGFzdEhpdHRlc3RSZXN1bHQ9bnVsbCx0aGlzLl9pc0hvdmVyZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9zZWxlY3RlZFZpYVRhcD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHk9KCk9PntpZihudWxsPT09dGhpcy5fY3VycmVuY3lMYWJlbClyZXR1cm47Y29uc3QgZT0oMCxycy5hY3R1YWxDdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5KSgpLnZhbHVlKCk7bGV0IHQ9IXRoaXMuX3BhbmUudmlzdWFsbHlDb2xsYXBzZWQoKS52YWx1ZSgpO2lmKHQpc3dpdGNoKGUpe2Nhc2UiYWx3YXlzT2ZmIjp0PSExO2JyZWFrO2Nhc2UidmlzaWJsZU9uTW91c2VPdmVyIjpjb25zdCBlPXRoaXMuX2NoYXJ0LmFueVByaWNlQXhpc0hvdmVyZWQoKS52YWx1ZSgpLGk9ISF0aGlzLl9jdXJyZW5jeU1lbnUscz0hIXRoaXMuX3VuaXRNZW51O3Q9ZXx8aXx8czticmVhaztjYXNlInZpc2libGVPblRhcFNlbGVjdGlvbiI6dD10aGlzLl9zZWxlY3RlZFZpYVRhcC52YWx1ZSgpfXRoaXMuX2N1cnJlbmN5TGFiZWwuc2V0SGlkZGVuKCF0KX0sdGhpcy5faGFuZGxlQWN0dWFsQXV0b0xvZ0J1dHRvbnNWaXNpYmlsaXR5PWFzeW5jIGU9Pntjb25zdCB0PWUudmFsdWUoKTtpZigiYWx3YXlzT2ZmIj09PXQpdGhpcy5fc2NhbGVNb2RlQnV0dG9ucyYmdGhpcy5fZGVzdHJveVNjYWxlTW9kZUJ1dHRvbnMoKTtlbHNle2lmKCF0aGlzLl9zY2FsZU1vZGVCdXR0b25zKXt0aGlzLl9zY2FsZU1vZGVCdXR0b25zUHJvbWlzZT10aGlzLl9zY2FsZU1vZGVCdXR0b25zUHJvbWlzZT8/dGhpcy5fY3JlYXRlU2NhbGVNb2RlQnV0dG9ucygpO3RyeXt0aGlzLl9zY2FsZU1vZGVCdXR0b25zPWF3YWl0IHRoaXMuX3NjYWxlTW9kZUJ1dHRvbnNQcm9taXNlfWNhdGNoKGUpe2lmKCgwLHFlLmlzQWJvcnRFcnJvcikoZSkpcmV0dXJufXRoaXMuX3BhbmUudmlzdWFsbHlDb2xsYXBzZWQoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUHJpY2VTY2FsZU1vZGVCdXR0b25zVmlzaWJpbGl0eSl9ImFsd2F5c09uIj09PXQ/KHRoaXMuX2lzSG92ZXJlZC51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVQcmljZVNjYWxlTW9kZUJ1dHRvbnNWaXNpYmlsaXR5KSx0aGlzLl9zZWxlY3RlZFZpYVRhcC51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVQcmljZVNjYWxlTW9kZUJ1dHRvbnNWaXNpYmlsaXR5KSk6InZpc2libGVPbk1vdXNlT3ZlciI9PT10Pyh0aGlzLl9zZWxlY3RlZFZpYVRhcC51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVQcmljZVNjYWxlTW9kZUJ1dHRvbnNWaXNpYmlsaXR5KSx0aGlzLl9pc0hvdmVyZWQuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVByaWNlU2NhbGVNb2RlQnV0dG9uc1Zpc2liaWxpdHkpKToodGhpcy5faXNIb3ZlcmVkLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVByaWNlU2NhbGVNb2RlQnV0dG9uc1Zpc2liaWxpdHkpLHRoaXMuX3NlbGVjdGVkVmlhVGFwLnN1YnNjcmliZSh0aGlzLl91cGRhdGVQcmljZVNjYWxlTW9kZUJ1dHRvbnNWaXNpYmlsaXR5KSksdGhpcy5fdXBkYXRlUHJpY2VTY2FsZU1vZGVCdXR0b25zVmlzaWJpbGl0eSgpfXRoaXMub25PcHRpbWFsV2lkdGhOZWVkVG9CZVJlY2FsY3VsYXRlZCgpfSx0aGlzLl91cGRhdGVQcmljZVNjYWxlTW9kZUJ1dHRvbnNWaXNpYmlsaXR5PSgpPT57Y29uc3QgZT10aGlzLl9pc0hvdmVyZWQudmFsdWUoKSx0PXRoaXMuX3NlbGVjdGVkVmlhVGFwLnZhbHVlKCk7bGV0IGk9ITE7aWYoIXRoaXMuX3BhbmUudmlzdWFsbHlDb2xsYXBzZWQoKS52YWx1ZSgpJiYhdGhpcy5fY2hhcnQuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCkpc3dpdGNoKCgwLG9zLmFjdHVhbEF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eSkoKS52YWx1ZSgpKXsKY2FzZSJ2aXNpYmxlT25Nb3VzZU92ZXIiOmk9ZTticmVhaztjYXNlInZpc2libGVPblRhcFNlbGVjdGlvbiI6aT10O2JyZWFrO2Nhc2UiYWx3YXlzT24iOmk9ITB9dGhpcy5fc2NhbGVNb2RlQnV0dG9ucz8uZWxlbWVudCgpLmNsYXNzTGlzdC50b2dnbGUoInByaWNlLWF4aXNfX21vZGVCdXR0b25zX2hpZGRlbiIsIWkpfSx0aGlzLl91cGRhdGVTY2FsZU1vZGVCdXR0b25zPSgpPT57dGhpcy5fc2NhbGVNb2RlQnV0dG9ucz8udXBkYXRlKCl9LHRoaXMuX2NoYXJ0PWUsdGhpcy5fcGFuZT10LHRoaXMuX3VuZG9Nb2RlbD1pLHRoaXMuX3Byb3BlcnRpZXM9cyx0aGlzLl9pc0xlZnQ9ImxlZnQiPT09cix0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKExzKSxvKSx0aGlzLl9yZW5kZXJlck9wdGlvbnNQcm92aWRlcj1uLHRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lPWMsdGhpcy5fY2VsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jZWxsLmNsYXNzTmFtZT0icHJpY2UtYXhpcyIsdGhpcy5fY2VsbC5kYXRhc2V0Lm5hbWU9YHByaWNlLWF4aXMtJHtsLmxhYmVsfWAsdGhpcy5fY2VsbC5zdHlsZS53aWR0aD0iMjVweCIsdGhpcy5fY2VsbC5zdHlsZS5sZWZ0PSIwIix0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlcj0oKT0+e3RoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLmxpZ2h0VXBkYXRlKCl9LHRoaXMuX2NhbnZhc0JpbmRpbmc9KDAsS3QuY3JlYXRlQm91bmRDYW52YXMpKHRoaXMuX2NlbGwsKDAseXQuc2l6ZSkoe3dpZHRoOjE2LGhlaWdodDoxNn0pKSx0aGlzLl9jYW52YXNCaW5kaW5nLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKTtjb25zdCBkPXRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudDtkLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsZC5zdHlsZS56SW5kZXg9IjEiLGQuc3R5bGUubGVmdD0iMCIsZC5zdHlsZS50b3A9IjAiLHRoaXMuX3RvcENhbnZhc0JpbmRpbmc9KDAsS3QuY3JlYXRlQm91bmRDYW52YXMpKHRoaXMuX2NlbGwsKDAseXQuc2l6ZSkoe3dpZHRoOjE2LGhlaWdodDoxNn0pKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKTtjb25zdCB1PXRoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudDt1LnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdS5zdHlsZS56SW5kZXg9IjIiLHUuc3R5bGUubGVmdD0iMCIsdS5zdHlsZS50b3A9IjAiLHRoaXMuX2NlbGwuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSx0aGlzLl9tb3VzZUV2ZW50SGFuZGxlcj1uZXcgd2kuTW91c2VFdmVudEhhbmRsZXIodGhpcy5fY2VsbCx0aGlzLHt0cmVhdFZlcnRUb3VjaERyYWdBc1BhZ2VTY3JvbGw6ITEsdHJlYXRIb3J6VG91Y2hEcmFnQXNQYWdlU2Nyb2xsOiEwfSksdGhpcy5fb3B0aW9ucy5jdXJyZW5jeUNvbnZlcnNpb25FbmFibGVkfHx0aGlzLl9vcHRpb25zLnVuaXRDb252ZXJzaW9uRW5hYmxlZD8odGhpcy5fY3VycmVuY3lMYWJlbD1uZXcgWmkoMTIpLHRoaXMuX2NlbGwuYXBwZW5kQ2hpbGQodGhpcy5fY3VycmVuY3lMYWJlbC5lbGVtZW50KCkpKTp0aGlzLl9jdXJyZW5jeUxhYmVsPW51bGwsdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5mb250U2l6ZS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkZvbnRTaXplQ2hhbmdlZCksdGhpcy5fb3B0aW9ucy5tb3VzZVdoZWVsU2NhbGUmJih0aGlzLl9tb3VzZVdoZWVsSGVscGVyPW5ldyBTaSx0aGlzLl9jZWxsLmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLl9vbk1vdXNld2hlZWwuYmluZCh0aGlzKSx7cGFzc2l2ZTohMX0pKSx0aGlzLl9heGlzSW5mbz1sLHRoaXMuX29mZnNldD0wLHRoaXMucmVzdG9yZURlZmF1bHRDdXJzb3IoKSwoMCxycy5hY3R1YWxDdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5KSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHkpLHRoaXMuX3NlbGVjdGVkVmlhVGFwLnN1YnNjcmliZSh0aGlzLl9yZWNhbGNDdXJyZW5jeVVuaXRBbmRNZXRyaWNWaXNpYmlsaXR5LmJpbmQodGhpcykpLCgwLG9zLmFjdHVhbEF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eSkoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVBY3R1YWxBdXRvTG9nQnV0dG9uc1Zpc2liaWxpdHkpLHRoaXMuX2hhbmRsZUFjdHVhbEF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eSgoMCxvcy5hY3R1YWxBdXRvTG9nQnV0dG9uc1Zpc2liaWxpdHkpKCkpLmNhdGNoKCgoKT0+e30pKSx0aGlzLl9jaGFydC5hbnlQcmljZUF4aXNIb3ZlcmVkKCkuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHkse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX3BhbmUudmlzdWFsbHlDb2xsYXBzZWQoKS5zdWJzY3JpYmUodGhpcy5fcmVjYWxjQ3VycmVuY3lVbml0QW5kTWV0cmljVmlzaWJpbGl0eSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy51cGRhdGUoKX1hc3luYyBnZXRDb250ZXh0TWVudUFjdGlvbnMoZSl7dGhpcy5faW5pdEFjdGlvbnMoKTtjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aW9ucyksaT10aGlzLl9jaGFydC5hY3Rpb25zKCkscz1bXTtpZih0aGlzLl9wcmljZVNjYWxlPy5yZXNldFNjYWxlQXZhaWxhYmxlKCkudmFsdWUoKSYmcy5wdXNoKHQucmVzZXQsbmV3IGVzLlNlcGFyYXRvcikscy5wdXNoKHRoaXMuX2F1dG9TY2FsZUFjdGlvbigpKSx0aGlzLl9pc01haW5TZXJpZXNBeGlzKCkmJnMucHVzaCh0aGlzLl9sb2NrU2NhbGVBY3Rpb24oKSksCnMucHVzaChpLnNjYWxlU2VyaWVzT25seSx0aGlzLl9pbnZlcnRBY3Rpb24oKSxuZXcgZXMuU2VwYXJhdG9yLHRoaXMuX3JlZ3VsYXJTY2FsZUFjdGlvbigpLHRoaXMuX3BlcmNlbnRhZ2VBY3Rpb24oKSx0aGlzLl9pbmRleGVkVG8xMDBBY3Rpb24oKSx0aGlzLl9sb2dBY3Rpb24oKSxuZXcgZXMuU2VwYXJhdG9yLHRoaXMuX2NyZWF0ZU1lcmdlU2NhbGVzQWN0aW9uKCksbmV3IGVzLlNlcGFyYXRvciksISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImZ1bmRhbWVudGFsX3dpZGdldCIpKXtjb25zdCBlPVtpLnNob3dTeW1ib2xMYWJlbHNBY3Rpb24saS5zaG93U2VyaWVzTGFzdFZhbHVlLGkuc2hvd1Nlcmllc1ByZXZDbG9zZVZhbHVlLGkuc2hvd1ByZVBvc3RNYXJrZXRQcmljZUxhYmVsLGkuc2hvd0hpZ2hMb3dQcmljZUxhYmVscywoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X2F2ZXJhZ2VfY2xvc2VfcHJpY2VfbGluZV9hbmRfbGFiZWwiKT9pLnNob3dBdmVyYWdlQ2xvc2VQcmljZUxhYmVsOm51bGwsdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkuaGFzQ3VzdG9tU291cmNlKCJiaWRhc2siKT9pLnNob3dCaWRBc2tMYWJlbHM6bnVsbCxpLnNob3dTdHVkeVBsb3ROYW1lc0FjdGlvbixpLnNob3dTdHVkeUxhc3RWYWx1ZSx0aGlzLl9vcHRpb25zLmNvdW50ZG93bkVuYWJsZWQ/aS5zaG93Q291bnRkb3duOm51bGwsbmV3IGVzLlNlcGFyYXRvcix0LmFsaWduTGFiZWxzXS5maWx0ZXIoYS5ub3ROdWxsKTtzLnB1c2gobmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTGFiZWxzIixvcHRpb25zOntsYWJlbDpwcyxzdWJJdGVtczplfX0pKX1jb25zdHtjcmVhdGVMaW5lc0FjdGlvbjpufT1hd2FpdCgwLHNzLmFjdGlvbnNQcm92aWRlck1vZHVsZSkoKTtyZXR1cm4gcy5wdXNoKG4odGhpcy5fY2hhcnQpKSx0aGlzLl91bmRvTW9kZWwuY3Jvc3NoYWlyU291cmNlKCkuaXNNZW51RW5hYmxlZCgpJiZzLnB1c2goaS5hZGRQbHVzQnV0dG9uKSxlJiYhdGhpcy5fY2hhcnQub25XaWRnZXQoKSYmKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19jaGFydF9wcm9wZXJ0eV9wYWdlIikmJigwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImNoYXJ0X3Byb3BlcnR5X3BhZ2Vfc2NhbGVzIikmJmkuc2NhbGVzUHJvcGVydGllcyYmcy5wdXNoKG5ldyBlcy5TZXBhcmF0b3IsaS5zY2FsZXNQcm9wZXJ0aWVzKSxzfWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fY2VsbH1vbk9wdGltYWxXaWR0aE5lZWRUb0JlUmVjYWxjdWxhdGVkKGUpeyh0aGlzLl9zaXplLndpZHRoPHRoaXMub3B0aW1hbFdpZHRoKCl8fGUpJiZ0aGlzLl91bmRvTW9kZWwubW9kZWwoKS5mdWxsVXBkYXRlKCl9b3B0aW1hbFdpZHRoKCl7aWYoIXRoaXMuaXNWaXNpYmxlKCkpcmV0dXJuIDA7bGV0IGU9MDtjb25zdCB0PXRoaXMucmVuZGVyZXJPcHRpb25zKCk7aWYodGhpcy5fcGFuZS5oYXNTdGF0ZSgpKXtjb25zdCB0PSgwLEt0LmdldENvbnRleHQyRCkodGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50KTt0LmZvbnQ9dGhpcy5iYXNlRm9udCgpO2NvbnN0IGk9dGhpcy5fdmlld3MoMix0aGlzLl9ncm91cGVkU291cmNlcygpKTtmb3IoY29uc3QgcyBvZiBpKXtpZighcy5pc0F4aXNMYWJlbFZpc2libGUoKXx8cy5pc091dHNpZGVPZlZpc2libGVQcmljZVJhbmdlPy4oKSljb250aW51ZTtjb25zdCBpPXRoaXMuX3dpZHRoQ2FjaGUubWVhc3VyZVRleHQodCxzLnRleHQoKSk7ZT1NYXRoLm1heChlLGkpO2NvbnN0IG49cy5zZWNvbmRMaW5lVGV4dCgpO24mJihlPU1hdGgubWF4KGUsdGhpcy5fd2lkdGhDYWNoZS5tZWFzdXJlVGV4dCh0LG4pKSk7Y29uc3Qgcj1zLnRoaXJkTGluZVRleHQoKTtyJiYoZT1NYXRoLm1heChlLHRoaXMuX3dpZHRoQ2FjaGUubWVhc3VyZVRleHQodCxyKSkpfWNvbnN0IHM9dGhpcy5wcmljZVNjYWxlKCk7Zm9yKGNvbnN0IGkgb2Ygcy5tYXJrcygpKWU9TWF0aC5tYXgoZSx0aGlzLl93aWR0aENhY2hlLm1lYXN1cmVUZXh0KHQsaS5sYWJlbCkpO2NvbnN0IG49cy5tYWluU291cmNlKCk/LmZpcnN0VmFsdWUoKXx8bnVsbDtpZihudWxsIT09biYmIXMuaXNQZXJjZW50YWdlKCkmJiFzLmlzSW5kZXhlZFRvMTAwKCkpe2NvbnN0IGk9cy5jb29yZGluYXRlVG9QcmljZSgxLG4pLHI9cy5jb29yZGluYXRlVG9QcmljZSh0aGlzLl9zaXplLmhlaWdodC0yLG4pO2lmKE1hdGguYWJzKGktcik+MWUtMTQpe2NvbnN0IG89TWF0aC5tYXgoMCwtTWF0aC5sb2cxMChNYXRoLm1heChNYXRoLmFicyhpKSxNYXRoLmFicyhyKSkpKSxhPS4xMTExMTExMTExMTExMS9NYXRoLnBvdygxMCxNYXRoLmZsb29yKG8pKSxsPXMuZm9ybWF0UHJpY2UoTWF0aC5taW4oaSxyKS1hLG4pLGM9cy5mb3JtYXRQcmljZShNYXRoLm1heChpLHIpK2Esbik7ZT1NYXRoLm1heChlLHRoaXMuX3dpZHRoQ2FjaGUubWVhc3VyZVRleHQodCxsKSx0aGlzLl93aWR0aENhY2hlLm1lYXN1cmVUZXh0KHQsYykpfX19Y29uc3QgaT10aGlzLl9pc0N1cnJlbmN5TGFiZWxFbmFibGVkKCk/TWF0aC5yb3VuZCgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbmN5TGFiZWwpLndpZHRoKCkpOjAscz1lfHwzNDtsZXQgbj1NYXRoLm1heChpLHRoaXMuX3NjYWxlTW9kZUJ1dHRvbnM/LndpZHRoKCk/PzAsTWF0aC5jZWlsKHQuYm9yZGVyU2l6ZSt0LmFkZGl0aW9uYWxQYWRkaW5nSW5uZXIrdC5wYWRkaW5nSW5uZXIrdC5wYWRkaW5nT3V0ZXIrcys0KSk7cmV0dXJuIG4rPW4lMixufXNldFNpemVBbmRPZmZzZXQoZSx0KXsoMCx5dC5lcXVhbFNpemVzKSh0aGlzLl9zaXplLGUpfHwodGhpcy5fc2l6ZT1lLHRoaXMuX2NhbnZhc0JpbmRpbmcucmVzaXplQ2FudmFzRWxlbWVudChlKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLnJlc2l6ZUNhbnZhc0VsZW1lbnQoZSksdGhpcy5fY2VsbC5zdHlsZS53aWR0aD1lLndpZHRoKyJweCIsdGhpcy5fY2VsbC5zdHlsZS5oZWlnaHQ9ZS5oZWlnaHQrInB4Iix0aGlzLl9jZWxsLnN0eWxlLm1pbldpZHRoPWUud2lkdGgrInB4IiksdGhpcy5fb2Zmc2V0IT09dCYmKHRoaXMuX29mZnNldD10LAp0aGlzLl9jZWxsLnN0eWxlLmxlZnQ9dCsicHgiKX1nZXRXaWR0aCgpe3JldHVybiB0aGlzLl9zaXplLndpZHRofWdldEltYWdlKCl7Y29uc3QgZT10aGlzLl9zaXplLHQ9KDAsS3QuY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzKShkb2N1bWVudCxlKTtyZXR1cm4oMCxLdC5nZXRQcmVzY2FsZWRDb250ZXh0MkQpKHQpLmRyYXdJbWFnZSh0aGlzLl9jYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnQsMCwwLGUud2lkdGgsZS5oZWlnaHQpLG51bGw9PT10aGlzLl9jdXJyZW5jeUxhYmVsfHx0aGlzLl9jdXJyZW5jeUxhYmVsLmlzSGlkZGVuKCl8fHRoaXMuX2N1cnJlbmN5TGFiZWwuZHJhd0xhYmVsKCgwLEt0LmdldENvbnRleHQyRCkodCksZS53aWR0aCwoMCxkaS5nZXRDYW52YXNEZXZpY2VQaXhlbFJhdGlvKSh0KSksdH11cGRhdGUoKXtudWxsIT09dGhpcy5fcHJpY2VTY2FsZSYmKHRoaXMuX3ByaWNlU2NhbGUubWFya3MoKSx0aGlzLnJlbmRlcmVyT3B0aW9ucygpKX1wYWludChlKXtpZighdGhpcy5faXNWaXNpYmxlfHwwPT09dGhpcy5fc2l6ZS53aWR0aHx8MD09PXRoaXMuX3NpemUuaGVpZ2h0KXJldHVybjtpZihlPT09TGUuSW52YWxpZGF0aW9uTGV2ZWwuTm9uZSlyZXR1cm47Y29uc3QgdD10aGlzLl9wYW5lLnN0YXRlKCksaT0hdC5tYXhpbWl6ZWQoKS52YWx1ZSgpJiZ0LmNvbGxhcHNlZCgpLnZhbHVlKCk7aWYoaSYmZTxMZS5JbnZhbGlkYXRpb25MZXZlbC5GdWxsKXJldHVybjtjb25zdCBzPXRoaXMuX3BhbmUuaGFzU3RhdGUoKTsoMCxLdC50cnlBcHBseVN1Z2dlc3RlZENhbnZhc0JpdG1hcFNpemUpKHRoaXMuX2NhbnZhc0JpbmRpbmcpLCgwLEt0LnRyeUFwcGx5U3VnZ2VzdGVkQ2FudmFzQml0bWFwU2l6ZSkodGhpcy5fdG9wQ2FudmFzQmluZGluZyk7Y29uc3Qgbj1udWxsIT09dGhpcy5fY3VycmVuY3lMYWJlbCYmIXRoaXMuX2N1cnJlbmN5TGFiZWwuaXNIaWRkZW4oKSxyPShlLHQsaSk9PntpZihuKXtlLnNhdmUoKSxlLmJlZ2luUGF0aCgpO2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW5jeUxhYmVsKS5sYWJlbEJvdHRvbSgpO2UucmVjdCgwLGkqdC52ZXJ0aWNhbFBpeGVsUmF0aW8sdC5iaXRtYXBTaXplLndpZHRoLHQuYml0bWFwU2l6ZS5oZWlnaHQpLGUuY2xpcCgpfWkoKSxuJiZlLnJlc3RvcmUoKX0sbz0oMCxidC5kZWZhdWx0KSgoKCk9PnRoaXMuX2dyb3VwZWRTb3VyY2VzKCkpKSxhPSgwLGJ0LmRlZmF1bHQpKCgoKT0+dGhpcy5fdmlld3MoMSxvKCkpKSksYz0oMCxidC5kZWZhdWx0KSgoKCk9PnRoaXMuX3ZpZXdzKDAsbygpKSkpO2lmKGU+TGUuSW52YWxpZGF0aW9uTGV2ZWwuQ3Vyc29yKXtjb25zdCBlPSgwLEt0LmdldENvbnRleHQyRCkodGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50KSx0PSgwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl9jYW52YXNCaW5kaW5nKTtpfHwodGhpcy5fYWxpZ25MYWJlbHMoWy4uLmEoKSwuLi5jKCldKSxzJiZ0aGlzLnVwZGF0ZUN1cnJlbmN5TGFiZWwoKSksdGhpcy5fZHJhd0JhY2tncm91bmQoZSx0KSxpfHxyKGUsdCwoKCk9Pnt0aGlzLl9kcmF3RHJhd2luZ3NIaWdobGlnaHQoZSx0KX0pKSx0aGlzLl9kcmF3Qm9yZGVyKGUsdCkscyYmIWkmJih0aGlzLl9zY2FsZU1vZGVCdXR0b25zJiYodGhpcy5fc2NhbGVNb2RlQnV0dG9ucy5lbGVtZW50KCkuc3R5bGUuYmFja2dyb3VuZD10aGlzLl9oaWdobGlnaHRlZD90aGlzLl9oaWdobGlnaHRDb2xvcigpOnRoaXMuYmFja2dyb3VuZENvbG9yKCkpLHIoZSx0LCgoKT0+e3RoaXMuX2RyYXdUaWNrTWFya3MoZSx0KSx0aGlzLl9kcmF3TGFiZWxzKGMoKSxlLHQpfSkpKX1pZihzJiYhaSl7Y29uc3QgZT0oMCxLdC5nZXRDb250ZXh0MkQpKHRoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudCksdD0oMCxLdC5nZXRCaW5kaW5nUmVuZGVyaW5nSW5mbykodGhpcy5fdG9wQ2FudmFzQmluZGluZyk7ZS5jbGVhclJlY3QoMCwwLHQuYml0bWFwU2l6ZS53aWR0aCx0LmJpdG1hcFNpemUuaGVpZ2h0KSxyKGUsdCwoKCk9Pnt0aGlzLl9kcmF3TGFiZWxzKGEoKSxlLHQpLHRoaXMuX2RyYXdDcm9zc0hhaXJMYWJlbChlLHQpfSkpfX1yZXN0b3JlRGVmYXVsdEN1cnNvcigpe3RoaXMuX3NldEN1cnNvcigiIil9cHJpY2VTY2FsZSgpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcHJpY2VTY2FsZSl9c2V0UHJpY2VTY2FsZShlKXt0aGlzLl9wcmljZVNjYWxlIT09ZSYmKG51bGwhPT10aGlzLl9wcmljZVNjYWxlJiYodGhpcy5fcHJpY2VTY2FsZS5vbk1hcmtzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5vbk9wdGltYWxXaWR0aE5lZWRUb0JlUmVjYWxjdWxhdGVkKSx0aGlzLl9wcmljZVNjYWxlLm1vZGVDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcykpLHRoaXMuX3ByaWNlU2NhbGU9ZSxudWxsIT09ZSYmKGUub25NYXJrc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLm9uT3B0aW1hbFdpZHRoTmVlZFRvQmVSZWNhbGN1bGF0ZWQpLGUubW9kZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMub25PcHRpbWFsV2lkdGhOZWVkVG9CZVJlY2FsY3VsYXRlZCghMCkpKSx0aGlzLm9uT3B0aW1hbFdpZHRoTmVlZFRvQmVSZWNhbGN1bGF0ZWQoKSx0aGlzLl9zY2FsZU1vZGVCdXR0b25zJiYoZS5tb2RlQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVNjYWxlTW9kZUJ1dHRvbnMpLHRoaXMuX3VwZGF0ZVNjYWxlTW9kZUJ1dHRvbnMoKSkpKX1pc1Zpc2libGUoKXtyZXR1cm4gdGhpcy5faXNWaXNpYmxlfXNldFZpc2libGUoZSl7KGU9ISFlKSE9PXRoaXMuX2lzVmlzaWJsZSYmKHRoaXMuX2NlbGwuc3R5bGUuZGlzcGxheT1lPyJ0YWJsZS1jZWxsIjoibm9uZSIsdGhpcy5faXNWaXNpYmxlPWUpfWRlc3Ryb3koKXtudWxsIT09dGhpcy5fY3VycmVuY3lNZW51JiYodGhpcy5fY3VycmVuY3lNZW51LmRlc3Ryb3koKSx0aGlzLl9jdXJyZW5jeU1lbnU9bnVsbCksbnVsbCE9PXRoaXMuX3VuaXRNZW51JiYodGhpcy5fdW5pdE1lbnUuZGVzdHJveSgpLHRoaXMuX3VuaXRNZW51PW51bGwpLApudWxsIT09dGhpcy5fbWV0cmljTWVudSYmKHRoaXMuX21ldHJpY01lbnUuZGVzdHJveSgpLHRoaXMuX21ldHJpY01lbnU9bnVsbCksdGhpcy5fcGFuZS52aXN1YWxseUNvbGxhcHNlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHkpLHRoaXMuX3RvcENhbnZhc0JpbmRpbmcudW5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlciksdGhpcy5fdG9wQ2FudmFzQmluZGluZy5kaXNwb3NlKCksdGhpcy5fY2FudmFzQmluZGluZy51bnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKSx0aGlzLl9jYW52YXNCaW5kaW5nLmRpc3Bvc2UoKSxudWxsIT09dGhpcy5fcHJpY2VTY2FsZSYmKHRoaXMuX3ByaWNlU2NhbGUub25NYXJrc0NoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMub25PcHRpbWFsV2lkdGhOZWVkVG9CZVJlY2FsY3VsYXRlZCksdGhpcy5fcHJpY2VTY2FsZS5tb2RlQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpKSx0aGlzLl9wcmljZVNjYWxlPW51bGwsdGhpcy5fbW91c2VFdmVudEhhbmRsZXIuZGVzdHJveSgpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuZm9udFNpemUudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkZvbnRTaXplQ2hhbmdlZCksbnVsbCE9PXRoaXMuX2FjdGlvbnMmJihPYmplY3QudmFsdWVzKHRoaXMuX2FjdGlvbnMpLmZvckVhY2goKGU9PntlLmRlc3Ryb3koKX0pKSx0aGlzLl9hY3Rpb25zPW51bGwpLCgwLHJzLmFjdHVhbEN1cnJlbmN5VW5pdE1ldHJpY1Zpc2liaWxpdHkpKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY2hhcnQuYW55UHJpY2VBeGlzSG92ZXJlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHkpLCgwLG9zLmFjdHVhbEF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eSkoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9jaGFydC5zZXRQcmljZUF4aXNIb3ZlcmVkKHRoaXMsITEpLHRoaXMuX2Rlc3Ryb3lTY2FsZU1vZGVCdXR0b25zKCksdGhpcy5fZGVzdHJveWVkPSEwfWF4aXNJbmZvKCl7cmV0dXJuIHRoaXMuX2F4aXNJbmZvfXNldEhpZ2hsaWdodGVkKGUpe3RoaXMuX2hpZ2hsaWdodGVkPWV9YmFja2dyb3VuZENvbG9yKCl7cmV0dXJuIHRoaXMuX3BhbmUuc3RhdGUoKS5tb2RlbCgpLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCl9YmFja2dyb3VuZFRvcENvbG9yKCl7cmV0dXJuIHRoaXMuX3BhbmUuc3RhdGUoKS5tb2RlbCgpLmJhY2tncm91bmRUb3BDb2xvcigpLnZhbHVlKCl9bGluZUNvbG9yKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkubGluZUNvbG9yLnZhbHVlKCl9dGV4dENvbG9yKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudGV4dENvbG9yLnZhbHVlKCl9Zm9udFNpemUoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5mb250U2l6ZS52YWx1ZSgpfWJhc2VGb250KGU9ITEpe3JldHVybigwLFJpLm1ha2VGb250KSh0aGlzLmZvbnRTaXplKCksV2kuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSxlPyJib2xkIjoiIil9cmVuZGVyZXJPcHRpb25zKCl7bGV0IGU9dGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXIub3B0aW9ucygpO3JldHVybiB0aGlzLl9jb2xvcj09PWUuY29sb3ImJnRoaXMuX2ZvbnRTaXplPT09ZS5mb250U2l6ZXx8KHRoaXMuX2NvbG9yPWUuY29sb3IpLHRoaXMuX2ZvbnRTaXplIT09ZS5mb250U2l6ZSYmKHRoaXMuX3dpZHRoQ2FjaGUucmVzZXQoKSx0aGlzLl9mb250U2l6ZT1lLmZvbnRTaXplLHRoaXMub25PcHRpbWFsV2lkdGhOZWVkVG9CZVJlY2FsY3VsYXRlZCgpKSx0aGlzLl9jaGFydC5vbldpZGdldCgpfHwoZT1PYmplY3QuYXNzaWduKHt9LGUse3BhZGRpbmdJbm5lcjpNYXRoLm1heChlLnBhZGRpbmdJbm5lcixxaS5BTEVSVF9MQUJFTF9XSURUSCl9KSksZX1tb3VzZUVudGVyRXZlbnQoZSl7dGhpcy5fY2hhcnQuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCl8fCh0aGlzLl9jaGFydC5zZXRQcmljZUF4aXNIb3ZlcmVkKHRoaXMsITApLHRoaXMuX2lzSG92ZXJlZC5zZXRWYWx1ZSghMCksdGhpcy5fYXBwbHlMaWdodFVwZGF0ZUlmUmVxdWlyZWQoKSx0aGlzLl9tb3VzZUVudGVyT3JUb3VjaFN0YXJ0RXZlbnQoZSkpfW1vdXNlTW92ZUV2ZW50KGUpe3RoaXMuX21vdXNlT3JUb3VjaE1vdmVFdmVudChlKX1tb3VzZURvd25FdmVudChlKXt0aGlzLl9tb3VzZURvd25PclRvdWNoU3RhcnRFdmVudChlKX10b3VjaFN0YXJ0RXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoTW92ZUV2ZW50KGUpLHRoaXMuX21vdXNlRW50ZXJPclRvdWNoU3RhcnRFdmVudChlKSx0aGlzLl9tb3VzZURvd25PclRvdWNoU3RhcnRFdmVudChlKX1wcmVzc2VkTW91c2VNb3ZlRXZlbnQoZSl7dGhpcy5fcHJlc3NlZE1vdXNlT3JUb3VjaE1vdmVFdmVudChlKX10b3VjaE1vdmVFdmVudChlKXt0aGlzLl9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpfXBpbmNoU3RhcnRFdmVudChlLHQsaSxzKXtyZXR1cm4gcy5ib3RoUG9pbnRzT25UYXJnZXRFbGVtZW50fXBpbmNoRXZlbnQoZSx0LGkpe2lmKHRoaXMuX3pvb21BdmFpbGFibGUoKSYmdGhpcy5fb3B0aW9ucy5waW5jaFNjYWxlKXtpZih0aGlzLl9kcmFnU2NhbGVBY3RpdmUmJnRoaXMuX2ZpbmlzaFNjYWxlKCksIXRoaXMuX3BpbmNoaW5nKXJldHVybiB0aGlzLl9waW5jaGluZz0hMCx2b2lkIHRoaXMuX3VuZG9Nb2RlbC5zdGFydFR3b1BvaW50c1NjYWxlUHJpY2UodGhpcy5fcGFuZS5zdGF0ZSgpLHRoaXMucHJpY2VTY2FsZSgpLHQueSxpLnkpO3RoaXMuX3VuZG9Nb2RlbC50d29Qb2ludHNTY2FsZVByaWNlVG8odGhpcy5fcGFuZS5zdGF0ZSgpLHRoaXMucHJpY2VTY2FsZSgpLHQueSxpLnkpfX1waW5jaEVuZEV2ZW50KCl7dGhpcy5fcGluY2hpbmc9ITEsCnRoaXMuX3VuZG9Nb2RlbC5lbmRUd29Qb2ludHNTY2FsZVByaWNlKHRoaXMuX3BhbmUuc3RhdGUoKSx0aGlzLnByaWNlU2NhbGUoKSl9bW91c2VEb3duT3V0c2lkZUV2ZW50KCl7dGhpcy5fZmluaXNoU2NhbGUoKX10b3VjaFN0YXJ0T3V0c2lkZUV2ZW50KCl7dGhpcy5fZmluaXNoU2NhbGUoKSx0aGlzLl9zZWxlY3RlZFZpYVRhcC5zZXRWYWx1ZSghMSl9bW91c2VVcEV2ZW50KGUpe3RoaXMuX21vdXNlVXBPclRvdWNoRW5kRXZlbnQoZSl9dG91Y2hFbmRFdmVudChlKXt0aGlzLl9tb3VzZUxlYXZlT3JUb3VjaEVuZEV2ZW50KGUpLHRoaXMuX21vdXNlVXBPclRvdWNoRW5kRXZlbnQoZSl9bW91c2VDbGlja0V2ZW50KGUpe3RoaXMuX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpfXRhcEV2ZW50KGUpe3RoaXMuX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpfW1vdXNlTGVhdmVFdmVudChlKXt0aGlzLl9jaGFydC5zZXRQcmljZUF4aXNIb3ZlcmVkKHRoaXMsITEpLHRoaXMuX2lzSG92ZXJlZC5zZXRWYWx1ZSghMSksdGhpcy5fYXBwbHlMaWdodFVwZGF0ZUlmUmVxdWlyZWQoKSx0aGlzLl9tb3VzZUxlYXZlT3JUb3VjaEVuZEV2ZW50KGUpfW1vdXNlRG91YmxlQ2xpY2tFdmVudChlKXt0aGlzLl9tb3VzZURvdWJsZUNsaWNrT3JEb3VibGVUYXBFdmVudChlKX1kb3VibGVUYXBFdmVudChlKXt0aGlzLl9tb3VzZURvdWJsZUNsaWNrT3JEb3VibGVUYXBFdmVudChlKX1jb250ZXh0TWVudUV2ZW50KGUpe3RoaXMuX2NvbnRleHRNZW51T3JUb3VjaENvbnRleHRNZW51RXZlbnQoZSl9dG91Y2hDb250ZXh0TWVudUV2ZW50KGUpe3RoaXMuX2NvbnRleHRNZW51T3JUb3VjaENvbnRleHRNZW51RXZlbnQoZSl9ZGF0YVNvdXJjZUF0UG9pbnQoZSx0KXtpZighdGhpcy5fcGFuZS5oYXNTdGF0ZSgpKXJldHVybiBudWxsO2NvbnN0IGk9dGhpcy5fcGFuZS5zdGF0ZSgpO2lmKCFpLm1heGltaXplZCgpLnZhbHVlKCkmJmkuY29sbGFwc2VkKCkudmFsdWUoKSlyZXR1cm4gbnVsbDtjb25zdCBzPXRoaXMuX2dyb3VwZWRTb3VyY2VzKCksbj1bLi4ucy5zb3VyY2VzLC4uLnMudG9wTGV2ZWxTb3VyY2VzLC4uLmkuY3VzdG9tU291cmNlcygpLC4uLmkuc291cmNlc0J5R3JvdXAoKS5tdWx0aXBhbmVTb3VyY2VzKCldO2xldCByPW51bGwsbz1udWxsO2lmKCF0aGlzLl9wcmljZVNjYWxlKXJldHVybiBudWxsO2NvbnN0IGE9KGUsdCk9Pntjb25zdCBpPW8/LnRhcmdldCgpPz8wO2UudGFyZ2V0KCk+aSYmKG89ZSxyPXQpfSxsPW5ldyBQdC5Qb2ludChlLHQpLGM9KDAsS3QuZ2V0QmluZGluZ1JlbmRlcmluZ0luZm8pKHRoaXMuX2NhbnZhc0JpbmRpbmcpO2ZvcihsZXQgZT1uLmxlbmd0aC0xO2U+PTA7LS1lKXtjb25zdCB0PW5bZV0scz10LnByaWNlQXhpc1ZpZXdzKGksdGhpcy5fcHJpY2VTY2FsZSk7aWYocyYmMCE9PXMubGVuZ3RoKWZvcihsZXQgZT1zLmxlbmd0aC0xO2U+PTA7LS1lKXtjb25zdCBpPXNbZV0ucmVuZGVyZXIoKTtpZih2b2lkIDAhPT1pLmhpdFRlc3Qpe2NvbnN0IGU9aS5oaXRUZXN0KGwsYyx0aGlzLl9pc0xlZnQ/ImxlZnQiOiJyaWdodCIpO251bGwhPT1lJiZhKGUsdCl9fX1yZXR1cm4gdGhpcy5fbGFzdEhpdHRlc3RSZXN1bHQ9byxyfXJlc2V0KCl7Y29uc3QgZT10aGlzLl9wYW5lLnN0YXRlKCksdD10aGlzLnByaWNlU2NhbGUoKTt0aGlzLl91bmRvTW9kZWwucmVzZXRQcmljZVNjYWxlKGUsdCksdGhpcy5vbk9wdGltYWxXaWR0aE5lZWRUb0JlUmVjYWxjdWxhdGVkKCEwKX11cGRhdGVDdXJyZW5jeUxhYmVsKCl7dGhpcy5fdXBkYXRlQ3VycmVuY3lMYWJlbEN1cnJlbmN5KCksdGhpcy5fdXBkYXRlQ3VycmVuY3lMYWJlbFVuaXQoKSx0aGlzLl91cGRhdGVDdXJyZW5jeUxhYmVsTWV0cmljKCl9X3VwZGF0ZUN1cnJlbmN5TGFiZWxDdXJyZW5jeSgpe2lmKG51bGwhPT10aGlzLl9jdXJyZW5jeUxhYmVsKWlmKHRoaXMuX29wdGlvbnMuY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZCl7Y29uc3QgZT10aGlzLnByaWNlU2NhbGUoKS5jdXJyZW5jeSh0aGlzLl91bmRvTW9kZWwubW9kZWwoKS5hdmFpbGFibGVDdXJyZW5jaWVzKCkudmFsdWUoKSk7bnVsbD09PWV8fCJhbHdheXNPZmYiPT09KDAscnMuYWN0dWFsQ3VycmVuY3lVbml0TWV0cmljVmlzaWJpbGl0eSkoKS52YWx1ZSgpP3RoaXMuX2N1cnJlbmN5TGFiZWwuZGlzYWJsZUN1cnJlbmN5KCk6KHRoaXMuX2N1cnJlbmN5TGFiZWwuZW5hYmxlQ3VycmVuY3koKSx0aGlzLl9jdXJyZW5jeUxhYmVsLnNldEN1cnJlbmN5SW5mbyhlKSl9ZWxzZSB0aGlzLl9jdXJyZW5jeUxhYmVsLmRpc2FibGVDdXJyZW5jeSgpfV91cGRhdGVDdXJyZW5jeUxhYmVsVW5pdCgpe2lmKG51bGwhPT10aGlzLl9jdXJyZW5jeUxhYmVsJiZ0aGlzLl9vcHRpb25zLnVuaXRDb252ZXJzaW9uRW5hYmxlZCl7Y29uc3QgZT0iYWx3YXlzT2ZmIj09PSgwLHJzLmFjdHVhbEN1cnJlbmN5VW5pdE1ldHJpY1Zpc2liaWxpdHkpKCkudmFsdWUoKSx0PXRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLmF2YWlsYWJsZVVuaXRzKCkudmFsdWUoKSxpPXRoaXMucHJpY2VTY2FsZSgpLnVuaXQodCk7bnVsbD09PWl8fGU/dGhpcy5fY3VycmVuY3lMYWJlbC5kaXNhYmxlVW5pdCgpOih0aGlzLl9jdXJyZW5jeUxhYmVsLmVuYWJsZVVuaXQoKSx0aGlzLl9jdXJyZW5jeUxhYmVsLnNldFVuaXRJbmZvKGkpKTtjb25zdCBzPXRoaXMucHJpY2VTY2FsZSgpLm1lYXN1cmVVbml0SWQodCk7bnVsbD09PXN8fGU/dGhpcy5fY3VycmVuY3lMYWJlbC5kaXNhYmxlTWVhc3VyZVVuaXRJZCgpOih0aGlzLl9jdXJyZW5jeUxhYmVsLmVuYWJsZU1lYXN1cmVVbml0SWQoKSx0aGlzLl9jdXJyZW5jeUxhYmVsLnNldE1lYXN1cmVVbml0SWRJbmZvKHMpKX19X3VwZGF0ZUN1cnJlbmN5TGFiZWxNZXRyaWMoKXtpZihudWxsIT09dGhpcy5fY3VycmVuY3lMYWJlbCYmdGhpcy5fb3B0aW9ucy5tZXRyaWNDb252ZXJzaW9uRW5hYmxlZCl7Y29uc3QgZT0iYWx3YXlzT2ZmIj09PSgwLApycy5hY3R1YWxDdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5KSgpLnZhbHVlKCksdD10aGlzLl91bmRvTW9kZWwubW9kZWwoKS5hdmFpbGFibGVNZXRyaWNzKCksaT10aGlzLnByaWNlU2NhbGUoKS5tZXRyaWModCk7bnVsbD09PWl8fGU/dGhpcy5fY3VycmVuY3lMYWJlbC5kaXNhYmxlTWV0cmljKCk6KHRoaXMuX2N1cnJlbmN5TGFiZWwuZW5hYmxlTWV0cmljKCksdGhpcy5fY3VycmVuY3lMYWJlbC5zZXRNZXRyaWNJbmZvKGkpKX19X2dyb3VwZWRTb3VyY2VzKCl7Y29uc3QgZT10aGlzLl9wYW5lLnN0YXRlKCksdD1lLm1vZGVsKCksaT10aGlzLl9wYW5lLnN0YXRlKCkuc291cmNlc0J5R3JvdXAoKSxzPXRoaXMuX2lzTGVmdD9pLmxlZnRQcmljZVNjYWxlc1NvdXJjZXMoKTppLnJpZ2h0UHJpY2VTY2FsZXNTb3VyY2VzKCksbj10aGlzLl9wcmljZVNjYWxlPT09ZS5kZWZhdWx0UHJpY2VTY2FsZSgpLHI9bmV3IFNldChlLmN1c3RvbVNvdXJjZXMoKSksbz10PT4hIXIuaGFzKHQpfHwodC5wcmljZVNjYWxlKCk9PT10aGlzLl9wcmljZVNjYWxlfHxuJiZlLmlzT3ZlcmxheSh0KSksYT17c291cmNlczpbLi4ucy5maWx0ZXIobyksLi4uZS5jdXN0b21Tb3VyY2VzKCldLHRvcExldmVsU291cmNlczpuZXcgU2V0fTtpZihuKXtjb25zdCB0PXRoaXMuX3BhbmUuc3RhdGUoKS5kYXRhU291cmNlcygpO2Zvcihjb25zdCBpIG9mIHQpZS5pc092ZXJsYXkoaSkmJmEuc291cmNlcy5wdXNoKGkpfWNvbnN0IGw9dC5saW5lQmVpbmdFZGl0ZWQoKT8/dC5saW5lQmVpbmdDcmVhdGVkKCk7bCYmbyhsKSYmKGEudG9wTGV2ZWxTb3VyY2VzLmFkZChsKSxhLmxpbmVCZWluZ0VkaXRlZE9yQ3JlYXRlZD1sKTtjb25zdCBjPXQuY3VzdG9tU291cmNlQmVpbmdNb3ZlZCgpO2MmJm8oYykmJihhLnRvcExldmVsU291cmNlcy5hZGQoYyksYS5jdXN0b21Tb3VyY2VCZWluZ01vdmVkPWMpO2NvbnN0IGg9dC5zb3VyY2VzQmVpbmdNb3ZlZCgpLmZpbHRlcihvKTtoLmxlbmd0aD4wJiYodC5zb3VyY2VzQmVpbmdNb3ZlZCgpLmZvckVhY2goKGU9PmEudG9wTGV2ZWxTb3VyY2VzLmFkZChlKSkpLGEuc291cmNlc0JlaW5nTW92ZWQ9aCk7Y29uc3QgZD10LnNlbGVjdGlvbigpLmFsbFNvdXJjZXMoKS5maWx0ZXIobyk7ZC5sZW5ndGg+MCYmKGQuZm9yRWFjaCgoZT0+YS50b3BMZXZlbFNvdXJjZXMuYWRkKGUpKSksYS5zZWxlY3RlZFNvdXJjZXM9ZCk7Y29uc3QgdT10LmhvdmVyZWRTb3VyY2UoKTtyZXR1cm4gdSYmbyh1KSYmKGEudG9wTGV2ZWxTb3VyY2VzLmFkZCh1KSxhLmhvdmVyZWRTb3VyY2U9dSksYX1faXNDdXJyZW5jeUxhYmVsRW5hYmxlZCgpe3JldHVybiBudWxsIT09dGhpcy5fY3VycmVuY3lMYWJlbCYmdGhpcy5fY3VycmVuY3lMYWJlbC5pc0VuYWJsZWQoKX1fYWxpZ25MYWJlbHMoZSl7Y29uc3QgdD10aGlzLnByaWNlU2NhbGUoKSxpPXQubWFpblNvdXJjZSgpLHM9dGhpcy5fcGFuZS5zdGF0ZSgpLG49aT97bGFiZWxzOigpPT5pLnByaWNlQXhpc1ZpZXdzKHMsdCl9Om51bGw7IWZ1bmN0aW9uKGUpe2NvbnN0e3Zpc2libGVWaWV3czp0LGhlaWdodDppLHNjYWxlOnMscmVuZGVyZXJPcHRpb25zOm59PWU7bGV0IHI9aS8yO2NvbnN0IG89bHMobixpLHQpLGE9cy5tYWluU291cmNlKCk7bGV0IGw9W107bnVsbCE9PWEmJihsPWxzKG4saSxhLmxhYmVscygpKSxsLmxlbmd0aCYmKHI9bFswXS5jb29yZGluYXRlKCkpKTtjb25zdCBjPW8uZmlsdGVyKChlPT5lLmNvb3JkaW5hdGUoKTw9cikpLGg9by5maWx0ZXIoKGU9PmUuY29vcmRpbmF0ZSgpPnIpKTtjLnNvcnQoKChlLHQpPT57Y29uc3QgaT10LmNvb3JkaW5hdGUoKS1lLmNvb3JkaW5hdGUoKTtpZihpKXJldHVybiBpO2NvbnN0IHM9bC5pbmNsdWRlcyhlKT8xOjA7cmV0dXJuKGwuaW5jbHVkZXModCk/MTowKS1zfSkpLGMubGVuZ3RoPjAmJmgubGVuZ3RoPjAmJmgucHVzaChjWzBdKSxoLnNvcnQoKChlLHQpPT5lLmNvb3JkaW5hdGUoKS10LmNvb3JkaW5hdGUoKSkpO2Zvcihjb25zdCBlIG9mIG8pZS5zZXRGaXhlZENvb3JkaW5hdGUoZS5jb29yZGluYXRlKCkpO2lmKHMubGFiZWxzQWxpZ25pbmdFbmFibGVkKCkpe2lmKGgubGVuZ3RoPjB8fGMubGVuZ3RoPjApe3tjb25zdCBlPWNbMF0/P2hbMF0sdD1lLmZpeGVkT3JSZWd1bGFyQ29vcmRpbmF0ZSgpLHt0b3A6cyxib3R0b206cix0b3RhbDpvfT1lLnRvcEJvdHRvbVRvdGFsSGVpZ2h0KG4pO288aSYmdC1zPDAmJnQrcj4wJiZlLnNldEZpeGVkQ29vcmRpbmF0ZShzKX17Y29uc3QgZT1oWzBdPz9jWzBdLHQ9ZS5maXhlZE9yUmVndWxhckNvb3JkaW5hdGUoKSx7dG9wOnMsYm90dG9tOnIsdG90YWw6b309ZS50b3BCb3R0b21Ub3RhbEhlaWdodChuKTtvPGkmJnQtczxpJiZ0K3I+aSYmZS5zZXRGaXhlZENvb3JkaW5hdGUoaS1yKX19Zm9yKGxldCBlPTE7ZTxjLmxlbmd0aDtlKyspe2NvbnN0IHQ9Y1tlXSxpPWNbZS0xXSx7dG9wOnMsYm90dG9tOnIsdG90YWw6b309dC50b3BCb3R0b21Ub3RhbEhlaWdodChuKSxhPXQuZml4ZWRPclJlZ3VsYXJDb29yZGluYXRlKCksbD1pLmZpeGVkT3JSZWd1bGFyQ29vcmRpbmF0ZSgpO2lmKGE+bC1vKXQuc2V0Rml4ZWRDb29yZGluYXRlKGwtbyk7ZWxzZSBpZihsPjAmJmEtczwwJiZhK3I+MCl7Y29uc3R7dG9wOmV9PWkudG9wQm90dG9tVG90YWxIZWlnaHQobik7dC5zZXRGaXhlZENvb3JkaW5hdGUoTWF0aC5taW4obC1lLXIscykpfX1mb3IobGV0IGU9MTtlPGgubGVuZ3RoO2UrKyl7Y29uc3QgdD1oW2VdLHM9aFtlLTFdLHtib3R0b206cix0b3RhbDpvfT1zLnRvcEJvdHRvbVRvdGFsSGVpZ2h0KG4pLGE9dC5maXhlZE9yUmVndWxhckNvb3JkaW5hdGUoKSxsPXMuZml4ZWRPclJlZ3VsYXJDb29yZGluYXRlKCk7aWYoYTxsK28pdC5zZXRGaXhlZENvb3JkaW5hdGUobCtvKTtlbHNlIGlmKGw8aSl7Y29uc3R7dG9wOmUsYm90dG9tOnN9PXQudG9wQm90dG9tVG90YWxIZWlnaHQobik7YS1lPGkmJmErcz5pJiZ0LnNldEZpeGVkQ29vcmRpbmF0ZShNYXRoLm1heChsK3IrZSxpLXMpKX19fX0oe3Zpc2libGVWaWV3czplLGhlaWdodDp0aGlzLl9zaXplLmhlaWdodCxzY2FsZTp7CmxhYmVsc0FsaWduaW5nRW5hYmxlZDooKT0+dGhpcy5wcmljZVNjYWxlKCkucHJvcGVydGllcygpLmNoaWxkcygpLmFsaWduTGFiZWxzLnZhbHVlKCksbWFpblNvdXJjZTooKT0+bn0scmVuZGVyZXJPcHRpb25zOnRoaXMucmVuZGVyZXJPcHRpb25zKCl9KX1fZHJhd1RpY2tNYXJrcyhlLHQpe2NvbnN0IGk9dGhpcy5wcmljZVNjYWxlKCkubWFya3MoKTtlLnNhdmUoKTtjb25zdCBzPXRoaXMucmVuZGVyZXJPcHRpb25zKCkse2hvcml6b250YWxQaXhlbFJhdGlvOm4sdmVydGljYWxQaXhlbFJhdGlvOnJ9PXQsbz10aGlzLl9pc0xlZnQ/TWF0aC5mbG9vcigodGhpcy5fc2l6ZS53aWR0aC1zLmFkZGl0aW9uYWxQYWRkaW5nSW5uZXIpKm4pOjAsYT10aGlzLl9pc0xlZnQ/TWF0aC5yb3VuZChvLXMucGFkZGluZ0lubmVyKm4pOk1hdGgucm91bmQobysocy5hZGRpdGlvbmFsUGFkZGluZ0lubmVyK3MucGFkZGluZ0lubmVyKSpuKSxjPXRoaXMuZm9udFNpemUoKSxoPXRoaXMuX2lzQ3VycmVuY3lMYWJlbEVuYWJsZWQoKT8oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbmN5TGFiZWwpLmxhYmVsQm90dG9tKCk6MCxkPWkubWFwKCh0PT57aWYodGhpcy5fb3B0aW9ucy5jcm9wcGVkVGlja01hcmtzKXJldHVybnt2aXNpYmxlOiEwLHlDb3JyZWN0aW9uOnRoaXMuX3dpZHRoQ2FjaGUueU1pZENvcnJlY3Rpb24oZSx0LmxhYmVsKX07Y29uc3QgaT10LmNvb3JkLWMvMixzPXQuY29vcmQrYy8yLG49IShzPnRoaXMuX3NpemUuaGVpZ2h0fHxpPGgpO3JldHVybnt2aXNpYmxlOiEocz50aGlzLl9zaXplLmhlaWdodHx8aTxoKSx5Q29ycmVjdGlvbjpuP3RoaXMuX3dpZHRoQ2FjaGUueU1pZENvcnJlY3Rpb24oZSx0LmxhYmVsKTowfX0pKTtlLmZpbGxTdHlsZT10aGlzLnRleHRDb2xvcigpLGUudGV4dEFsaWduPXRoaXMuX2lzTGVmdD8icmlnaHQiOiJsZWZ0IixlLnRleHRCYXNlbGluZT0ibWlkZGxlIjtjb25zdCB1PSF0aGlzLnByaWNlU2NhbGUoKS5pc0xvZygpLHA9dGhpcy5iYXNlRm9udCgpLF89dGhpcy5iYXNlRm9udCghMCk7KDAsS3QuZHJhd1NjYWxlZCkoZSxuLHIsKCgpPT57Zm9yKGxldCB0PWkubGVuZ3RoO3QtLTspe2lmKCFkW3RdLnZpc2libGUpY29udGludWU7Y29uc3Qgcz1pW3RdO2UuZm9udD11JiZzLmJvbGQ/XzpwLGUuZmlsbFRleHQocy5sYWJlbCxhL24scy5jb29yZCtkW3RdLnlDb3JyZWN0aW9uKX19KSksZS5yZXN0b3JlKCl9YXN5bmMgX3Nob3dDdXJyZW5jaWVzQ29udGV4dE1lbnUoKXtpZih0aGlzLl9jdXJyZW5jeU1lbnUpcmV0dXJuIHRoaXMuX2N1cnJlbmN5TWVudS5kZXN0cm95KCksdm9pZCh0aGlzLl9jdXJyZW5jeU1lbnU9bnVsbCk7bGV0IGU7KDAsTXQudHJhY2tFdmVudCkoIkdVSSIsIkN1cnJlbmN5IGNvbnZlcnNpb24iKTtjb25zdCB0PSgpPT57dGhpcy5fY3VycmVuY3lNZW51PW51bGwsdGhpcy5fcmVjYWxjQ3VycmVuY3lVbml0QW5kTWV0cmljVmlzaWJpbGl0eSgpLHRoaXMuX2N1cnJlbmN5TGFiZWw/LnNldEN1cnJlbmN5RXhwYW5kZWQoITEpfTtpZih4cyllPWF3YWl0IFFpKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY3VycmVuY3lMYWJlbCkuY3VycmVuY3lMYWJlbEVsZW1lbnQoKSxbInRvZ2dsZV9jdXJyZW5jeV9tZW51X2lubmVyIix0aGlzLl91bmRvTW9kZWwubW9kZWwoKS5pZCgpLHRoaXMuX3BhbmUuc3RhdGUoKS5pZCgpLHRoaXMucHJpY2VTY2FsZSgpLmlkKCldLHQpO2Vsc2V7Y29uc3R7Y3VycmVuY3lBY3Rpb25zOnN9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMTY1OTgpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDgxMDcyKSxpLmUoMTAzODUpLGkuZSg1MjA2NSksaS5lKDY2MDUpLGkuZSg4OTIwNCksaS5lKDMyMTc2KSxpLmUoMjAyKSxpLmUoODg2NDEpLGkuZSg3MDY1NiksaS5lKDMyODU3KSxpLmUoNTI5NjEpLGkuZSgzMjM4NyksaS5lKDM5NjA5KSxpLmUoMzU5NjQpLGkuZSg4Mjk3KV0pLnRoZW4oaS5iaW5kKGksNzM2MTY5KSk7ZT1hd2FpdCBKaShfcywoKCk9PnModGhpcy5fdW5kb01vZGVsLCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY3VycmVuY3lMYWJlbCkuY3VycmVuY3lJbmZvKCksdGhpcy5wcmljZVNjYWxlKCkpKSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbmN5TGFiZWwpLmN1cnJlbmN5TGFiZWxFbGVtZW50KCksdCl9dGhpcy5fZGVzdHJveWVkP2UuZGVzdHJveSgpOih0aGlzLl9jdXJyZW5jeUxhYmVsPy5zZXRDdXJyZW5jeUV4cGFuZGVkKCEwKSx0aGlzLl9jdXJyZW5jeU1lbnU9ZSl9YXN5bmMgX3Nob3dVbml0c0NvbnRleHRNZW51KCl7aWYodGhpcy5fdW5pdE1lbnUpcmV0dXJuIHRoaXMuX3VuaXRNZW51LmRlc3Ryb3koKSx2b2lkKHRoaXMuX3VuaXRNZW51PW51bGwpO2xldCBlOygwLE10LnRyYWNrRXZlbnQpKCJHVUkiLCJVbml0IGNvbnZlcnNpb24iKTtjb25zdCB0PSgpPT57dGhpcy5fdW5pdE1lbnU9bnVsbCx0aGlzLl9yZWNhbGNDdXJyZW5jeVVuaXRBbmRNZXRyaWNWaXNpYmlsaXR5KCksdGhpcy5fY3VycmVuY3lMYWJlbD8uc2V0VW5pdEV4cGFuZGVkKCExKX07aWYoTXMpZT1hd2FpdCBRaSgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbmN5TGFiZWwpLnVuaXRMYWJlbEVsZW1lbnQoKSxbInRvZ2dsZV91bml0X21lbnVfaW5uZXIiLHRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLmlkKCksdGhpcy5fcGFuZS5zdGF0ZSgpLmlkKCksdGhpcy5wcmljZVNjYWxlKCkuaWQoKV0sdCk7ZWxzZXsKY29uc3R7dW5pdEFjdGlvbnM6c309YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSgxNjU5OCksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoODEwNzIpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNjYwNSksaS5lKDg5MjA0KSxpLmUoMzIxNzYpLGkuZSgyMDIpLGkuZSg4ODY0MSksaS5lKDcwNjU2KSxpLmUoMzI4NTcpLGkuZSg1Mjk2MSksaS5lKDMyMzg3KSxpLmUoMzk2MDkpLGkuZSgzNTk2NCksaS5lKDgyOTcpXSkudGhlbihpLmJpbmQoaSwxODYwNDApKTtlPWF3YWl0IEppKG1zLCgoKT0+cyh0aGlzLl91bmRvTW9kZWwsKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW5jeUxhYmVsKS51bml0SW5mbygpLHRoaXMucHJpY2VTY2FsZSgpKSksKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW5jeUxhYmVsKS51bml0TGFiZWxFbGVtZW50KCksdCl9dGhpcy5fZGVzdHJveWVkP2UuZGVzdHJveSgpOih0aGlzLl9jdXJyZW5jeUxhYmVsPy5zZXRVbml0RXhwYW5kZWQoITApLHRoaXMuX3VuaXRNZW51PWUpfWFzeW5jIF9zaG93TWV0cmljc0NvbnRleHRNZW51KCl7aWYodGhpcy5fbWV0cmljTWVudSlyZXR1cm4gdGhpcy5fbWV0cmljTWVudS5kZXN0cm95KCksdm9pZCh0aGlzLl9tZXRyaWNNZW51PW51bGwpO2xldCBlOygwLE10LnRyYWNrRXZlbnQpKCJHVUkiLCJNZXRyaWMgc3dpdGNoZXIiKTtjb25zdCB0PSgpPT57dGhpcy5fbWV0cmljTWVudT1udWxsLHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHkoKSx0aGlzLl9jdXJyZW5jeUxhYmVsPy5zZXRNZXRyaWNFeHBhbmRlZCghMSl9O2lmKElzKWU9YXdhaXQgUWkoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW5jeUxhYmVsKS5tZXRyaWNMYWJlbEVsZW1lbnQoKSxbInRvZ2dsZV9tZXRyaWNfbWVudV9pbm5lciIsdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkuaWQoKSx0aGlzLl9wYW5lLnN0YXRlKCkuaWQoKSx0aGlzLnByaWNlU2NhbGUoKS5pZCgpXSx0KTtlbHNle2NvbnN0e21ldHJpY0FjdGlvbnM6c309YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSgxNjU5OCksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoODEwNzIpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNjYwNSksaS5lKDg5MjA0KSxpLmUoMzIxNzYpLGkuZSgyMDIpLGkuZSg4ODY0MSksaS5lKDcwNjU2KSxpLmUoMzI4NTcpLGkuZSg1Mjk2MSksaS5lKDMyMzg3KSxpLmUoMzk2MDkpLGkuZSgzNTk2NCksaS5lKDgyOTcpXSkudGhlbihpLmJpbmQoaSw0Mzk5MTQpKTtlPWF3YWl0IEppKGdzLCgoKT0+cyh0aGlzLl91bmRvTW9kZWwsKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW5jeUxhYmVsKS5tZXRyaWNJbmZvKCksdGhpcy5wcmljZVNjYWxlKCkpKSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbmN5TGFiZWwpLm1ldHJpY0xhYmVsRWxlbWVudCgpLHQsITApfXRoaXMuX2Rlc3Ryb3llZD9lLmRlc3Ryb3koKToodGhpcy5fY3VycmVuY3lMYWJlbD8uc2V0TWV0cmljRXhwYW5kZWQoITApLHRoaXMuX21ldHJpY01lbnU9ZSl9X29uRm9udFNpemVDaGFuZ2VkKCl7dGhpcy5vbk9wdGltYWxXaWR0aE5lZWRUb0JlUmVjYWxjdWxhdGVkKCl9X21vdXNlT3JUb3VjaE1vdmVFdmVudChlKXtpZighdGhpcy5fcHJpY2VTY2FsZSlyZXR1cm47aWYodGhpcy5fY2hhcnQuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCkpcmV0dXJuIHZvaWQgdGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJkZWZhdWx0Iik7aWYoZS5sb2NhbFg8MHx8ZS5sb2NhbFk8MHx8ZS5sb2NhbFg+PXRoaXMuX3NpemUud2lkdGh8fGUubG9jYWxZPj10aGlzLl9zaXplLmhlaWdodClyZXR1cm47bGV0IHQ9ITA7Y29uc3QgaT10aGlzLmRhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTtpPygoMCxxaS5pc0FsZXJ0TGFiZWwpKGkpP3RoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgiZGVmYXVsdCIpOnRoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgicG9pbnRlciIpLHRoaXMuX2xhc3RIaXR0ZXN0UmVzdWx0Py5kYXRhKCk/LmhvdmVyTW9kZWxGcm9tQXhpcyYmKHRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLnNldEhvdmVyZWRTb3VyY2UoaSx0aGlzLl9sYXN0SGl0dGVzdFJlc3VsdD8uZGF0YSgpPz9udWxsLDApLHQ9ITEpKTp0aGlzLl9zZXRSZXNpemVDdXJzb3IoKSx0JiZ0aGlzLl91bmRvTW9kZWwubW9kZWwoKS5zZXRIb3ZlcmVkU291cmNlKG51bGwsbnVsbCl9X21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUpe3RoaXMuX3pvb21BdmFpbGFibGUoKSYmdGhpcy5fb3B0aW9ucy5wcmVzc2VkTW91c2VNb3ZlU2NhbGUmJiF0aGlzLl9waW5jaGluZyYmKHRoaXMuX2RyYWdTY2FsZUFjdGl2ZT0hMCx0aGlzLl91bmRvTW9kZWwuc3RhcnRTY2FsZVByaWNlKHRoaXMuX3BhbmUuc3RhdGUoKSx0aGlzLnByaWNlU2NhbGUoKSxlLmxvY2FsWSkpfV9tb3VzZUVudGVyT3JUb3VjaFN0YXJ0RXZlbnQoZSl7dGhpcy5fc2V0UmVzaXplQ3Vyc29yKCl9X3ByZXNzZWRNb3VzZU9yVG91Y2hNb3ZlRXZlbnQoZSl7aWYodGhpcy5fZHJhZ1NjYWxlQWN0aXZlKXtjb25zdCB0PXRoaXMucHJpY2VTY2FsZSgpO3RoaXMuX3VuZG9Nb2RlbC5zY2FsZVByaWNlVG8odGhpcy5fcGFuZS5zdGF0ZSgpLHQsZS5sb2NhbFkpfX1fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKXt0aGlzLl9maW5pc2hTY2FsZSgpfV9maW5pc2hTY2FsZSgpe3RoaXMuX2RyYWdTY2FsZUFjdGl2ZSYmKHRoaXMuX3VuZG9Nb2RlbC5lbmRTY2FsZVByaWNlKHRoaXMuX3BhbmUuc3RhdGUoKSx0aGlzLnByaWNlU2NhbGUoKSksdGhpcy5yZXN0b3JlRGVmYXVsdEN1cnNvcigpLHRoaXMuX2RyYWdTY2FsZUFjdGl2ZT0hMSl9X21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpe2lmKHRoaXMuX2N1cnJlbmN5TGFiZWwpewppZih0aGlzLl9jdXJyZW5jeUxhYmVsLmN1cnJlbmN5Q29udmVyc2lvbkF2YWlsYWJsZSgpJiZ0aGlzLl9jdXJyZW5jeUxhYmVsLmN1cnJlbmN5TGFiZWxFbGVtZW50KCkuY29udGFpbnMoZS50YXJnZXQpKXJldHVybiB0aGlzLl9zaG93Q3VycmVuY2llc0NvbnRleHRNZW51KCksdm9pZCBlLnByZXZlbnREZWZhdWx0KCk7aWYodGhpcy5fY3VycmVuY3lMYWJlbC51bml0Q29udmVyc2lvbkF2YWlsYWJsZSgpJiZ0aGlzLl9jdXJyZW5jeUxhYmVsLnVuaXRMYWJlbEVsZW1lbnQoKS5jb250YWlucyhlLnRhcmdldCkpcmV0dXJuIHRoaXMuX3Nob3dVbml0c0NvbnRleHRNZW51KCksdm9pZCBlLnByZXZlbnREZWZhdWx0KCk7aWYodGhpcy5fY3VycmVuY3lMYWJlbC5tZXRyaWNDb252ZXJzaW9uQXZhaWxhYmxlKCkmJnRoaXMuX2N1cnJlbmN5TGFiZWwubWV0cmljTGFiZWxFbGVtZW50KCkuY29udGFpbnMoZS50YXJnZXQpKXJldHVybiB0aGlzLl9zaG93TWV0cmljc0NvbnRleHRNZW51KCksdm9pZCBlLnByZXZlbnREZWZhdWx0KCl9ZS5pc1RvdWNoJiZ0aGlzLl9zZWxlY3RlZFZpYVRhcC5zZXRWYWx1ZSghdGhpcy5fc2VsZWN0ZWRWaWFUYXAudmFsdWUoKSk7Y29uc3QgdD10aGlzLmRhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTt0JiZ0aGlzLl91bmRvTW9kZWwuc2VsZWN0aW9uTWFjcm8oKGU9PntlLnNlbGVjdGlvbigpLmlzU2VsZWN0ZWQodCkmJnRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLmxhc3RTZWxlY3RlZEhpdHRlc3REYXRhKCk9PT10aGlzLl9sYXN0SGl0dGVzdFJlc3VsdD8uZGF0YSgpfHwoZS5jbGVhclNlbGVjdGlvbigpLGUuYWRkSXRlbVRvU2VsZWN0aW9uKHQsdGhpcy5fbGFzdEhpdHRlc3RSZXN1bHQ/LmRhdGEoKT8/bnVsbCkpfSkpfV9tb3VzZUxlYXZlT3JUb3VjaEVuZEV2ZW50KGUpe3RoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgiIil9X21vdXNlRG91YmxlQ2xpY2tPckRvdWJsZVRhcEV2ZW50KGUpe2lmKHRoaXMuX2N1cnJlbmN5TGFiZWw/LmN1cnJlbmN5TGFiZWxFbGVtZW50KCkuY29udGFpbnMoZS50YXJnZXQpfHx0aGlzLl9jdXJyZW5jeUxhYmVsPy51bml0TGFiZWxFbGVtZW50KCkuY29udGFpbnMoZS50YXJnZXQpKXJldHVybjtjb25zdCB0PXRoaXMuZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpO3Q/dGhpcy5fcGFuZS5wcm9jZXNzRG91YmxlQ2xpY2tPblNvdXJjZSh0LHRoaXMuX2xhc3RIaXR0ZXN0UmVzdWx0Pz92b2lkIDAse29yaWdpbjoicHJpY2Vfc2NhbGUifSk6KHRoaXMucmVzZXQoKSwoMCxNdC50cmFja0V2ZW50KSgiR1VJIiwiRG91YmxlIGNsaWNrIHByaWNlIHNjYWxlIikpfWFzeW5jIF9jb250ZXh0TWVudU9yVG91Y2hDb250ZXh0TWVudUV2ZW50KGUpe2lmKHRoaXMuX29wdGlvbnMuY29udGV4dE1lbnVFbmFibGVkKXtjb25zdCB0PXRoaXMuZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpO2lmKG51bGwhPT10JiZ0aGlzLl9vcHRpb25zLmNvbnRleHRNZW51LnNvdXJjZSl7cmV0dXJuIHZvaWQgdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKGk9PntpLnNlbGVjdGlvbigpLmlzU2VsZWN0ZWQodCl8fChpLmNsZWFyU2VsZWN0aW9uKCksaS5hZGRJdGVtVG9TZWxlY3Rpb24odCkpLHRoaXMuX3BhbmUuc2hvd0NvbnRleHRNZW51Rm9yU2VsZWN0aW9uKGUse29yaWdpbjoicHJpY2Vfc2NhbGUifSl9KSl9aWYodGhpcy5fb3B0aW9ucy5jb250ZXh0TWVudS5nZW5lcmFsKXtjb25zdCB0PWF3YWl0IHRoaXMuZ2V0Q29udGV4dE1lbnVBY3Rpb25zKCEwKSxpPXRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLnBhbmVzKCkuZmluZEluZGV4KChlPT5lLmlkKCk9PT10aGlzLl9wYW5lLnN0YXRlKCkuaWQoKSkpLHM9dGhpcy5fY2hhcnQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkuY2hhcnRNb2RlbHMoKS52YWx1ZSgpLmZpbmRJbmRleCgoZT0+ZS5pZCgpPT09dGhpcy5fdW5kb01vZGVsLmlkKCkpKSxuPXRoaXMuX3ByaWNlU2NhbGU/LmlkKCkmJi0xIT09aSYmLTEhPT1zO05pLkNvbnRleHRNZW51TWFuYWdlci5zaG93TWVudSh0LGUse3N0YXROYW1lOiJQcmljZVNjYWxlQ29udGV4dE1lbnUifSx7bWVudU5hbWU6IlByaWNlU2NhbGVDb250ZXh0TWVudSIsLi4ubiYme2RldGFpbDp7dHlwZToicHJpY2VTY2FsZSIsaWQ6dGhpcy5fcHJpY2VTY2FsZT8uaWQoKT8/IiIscGFuZUluZGV4OmksY2hhcnRJbmRleDpzfX19KX19fV9zZXRSZXNpemVDdXJzb3IoKXtjb25zdCBlPXRoaXMucHJpY2VTY2FsZSgpO2UuaXNQZXJjZW50YWdlKCl8fGUuaXNJbmRleGVkVG8xMDAoKT90aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoIiIpOnRoaXMuX3pvb21BdmFpbGFibGUoKSYmKHRoaXMuX29wdGlvbnMucHJlc3NlZE1vdXNlTW92ZVNjYWxlfHx0aGlzLl9vcHRpb25zLm1vdXNlV2hlZWxTY2FsZSkmJnRoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgibnMtcmVzaXplIil9X3NldEN1cnNvckNsYXNzTmFtZShlKXtsZXQgdD0iIjtlJiYhdGhpcy5fcGFuZS52aXN1YWxseUNvbGxhcHNlZCgpLnZhbHVlKCkmJih0PSJwcmljZS1heGlzLS1jdXJzb3ItIitlKSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lIT09dCYmKHRoaXMuX2N1cnJlbnRDdXJzb3JDbGFzc05hbWUmJnRoaXMuX2NlbGwuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lKSx0JiZ0aGlzLl9jZWxsLmNsYXNzTGlzdC5hZGQodCksdGhpcy5fY3VycmVudEN1cnNvckNsYXNzTmFtZT10KX1fem9vbUF2YWlsYWJsZSgpe3JldHVybiF0aGlzLnByaWNlU2NhbGUoKS5pc0VtcHR5KCkmJnRoaXMucHJpY2VTY2FsZSgpLmhhc0NhbGN1bGF0ZWRQcmljZVJhbmdlKCkmJnRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLnpvb21FbmFibGVkKCl9X29uTW91c2V3aGVlbChlKXtpZighdGhpcy5fem9vbUF2YWlsYWJsZSgpfHwhdGhpcy5fb3B0aW9ucy5tb3VzZVdoZWVsU2NhbGUpcmV0dXJuO2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb3VzZVdoZWVsSGVscGVyKS5wcm9jZXNzV2hlZWwoZSkuZGVsdGFZO2lmKDA9PT10KXJldHVybgo7ZS5jYW5jZWxhYmxlJiZlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgaT10aGlzLl91bmRvTW9kZWwscz10aGlzLl9wYW5lLnN0YXRlKCksbj10aGlzLnByaWNlU2NhbGUoKSxyPXRoaXMuX2NlbGwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbz1lLmNsaWVudFktci50b3AsYT1vKzE1KnQ7aS5zdGFydFNjYWxlUHJpY2Uocyx0aGlzLnByaWNlU2NhbGUoKSxvLCEwKSxpLnNjYWxlUHJpY2VUbyhzLG4sYSksaS5lbmRTY2FsZVByaWNlKHMsbiksZS5zdG9wUHJvcGFnYXRpb24oKX1fZHJhd0Nyb3NzSGFpckxhYmVsKGUsdCl7Y29uc3QgaT10aGlzLl9wYW5lLnN0YXRlKCkscz1pLm1vZGVsKCksbj10aGlzLnByaWNlU2NhbGUoKSxyPXMuY3Jvc3NoYWlyU291cmNlKCkucHJpY2VBeGlzVmlld3MoaSxuKTtyJiZyLmxlbmd0aD4wJiZ0aGlzLl9kcmF3TGFiZWxzKHIsZSx0KX1fZHJhd0JhY2tncm91bmQoZSx0KXtjb25zdCBpPXRoaXMuYmFja2dyb3VuZFRvcENvbG9yKCkscz10aGlzLmJhY2tncm91bmRDb2xvcigpLHtiaXRtYXBTaXplOm59PXQ7aWYoaT09PXM/KDAsS3QuY2xlYXJSZWN0KShlLDAsMCxuLndpZHRoLG4uaGVpZ2h0LHRoaXMuYmFja2dyb3VuZENvbG9yKCkpOigwLERpLmNsZWFyUmVjdFdpdGhHcmFkaWVudCkoZSwwLDAsbi53aWR0aCxuLmhlaWdodCxpLHMpLHRoaXMuX2hpZ2hsaWdodGVkKXtlLmdsb2JhbEFscGhhPS41O2NvbnN0IHQ9ay50aGVtZXNbdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUudmFsdWUoKV0uZ2V0VGhlbWVkQ29sb3IoImNvbG9yLXByaWNlLWF4aXMtaGlnaGxpZ2h0Iik7KDAsS3QuZmlsbFJlY3QpKGUsMCwwLG4ud2lkdGgsbi5oZWlnaHQsdCksZS5nbG9iYWxBbHBoYT0xfX1fZHJhd0RyYXdpbmdzSGlnaGxpZ2h0KGUsdCl7Y29uc3QgaT10aGlzLl9wYW5lLnN0YXRlKCkubW9kZWwoKSxzPXRoaXMucHJpY2VTY2FsZSgpLG49aS5zZWxlY3Rpb24oKS5saW5lRGF0YVNvdXJjZXMoKS5maWx0ZXIoKGU9PiFlLmlzRml4ZWQoKSYmZS5wcmljZVNjYWxlKCk9PT1zKSkucmVkdWNlKCgoZSx0KT0+e2NvbnN0IGk9dC5wcmljZUF4aXNQb2ludHMoKTtyZXR1cm4gMD09PWkubGVuZ3RoP2U6ZS5jb25jYXQoaSl9KSxbXSk7bi5sZW5ndGg+MCYmdGhpcy5faGlnaHRsaWdodEJhY2tncm91bmQoZSxuLHRoaXMucHJpY2VTY2FsZSgpLm1haW5Tb3VyY2UoKSx0KTtjb25zdCByPWkuY3Jvc3NoYWlyU291cmNlKCk7ci5zdGFydE1lYXN1cmVQb2ludCgpJiZ0aGlzLl9oaWdodGxpZ2h0QmFja2dyb3VuZChlLHIubWVhc3VyZVBvaW50cygpLHRoaXMucHJpY2VTY2FsZSgpLm1haW5Tb3VyY2UoKSx0KX1fZHJhd0JvcmRlcihlLHQpe2Uuc2F2ZSgpLGUuZmlsbFN0eWxlPXRoaXMubGluZUNvbG9yKCk7Y29uc3R7aG9yaXpvbnRhbFBpeGVsUmF0aW86aX09dCxzPU1hdGgubWF4KDEsTWF0aC5mbG9vcih0aGlzLnJlbmRlcmVyT3B0aW9ucygpLmJvcmRlclNpemUqaSkpLG49dGhpcy5faXNMZWZ0P3QuYml0bWFwU2l6ZS53aWR0aC1zOjA7ZS5maWxsUmVjdChuLDAscyx0LmJpdG1hcFNpemUuaGVpZ2h0KSxlLnJlc3RvcmUoKX1fZHJhd0xhYmVscyhlLHQsaSl7Y29uc3Qgcz10aGlzLnJlbmRlcmVyT3B0aW9ucygpLG49dGhpcy5faXNMZWZ0PyJyaWdodCI6ImxlZnQiO2Zvcihjb25zdCByIG9mIGUpci5pc0F4aXNMYWJlbFZpc2libGUoKSYmKHQuc2F2ZSgpLHIucmVuZGVyZXIoKS5kcmF3KHQsaSxzLHRoaXMuX3dpZHRoQ2FjaGUsbiksdC5yZXN0b3JlKCkpfV9oaWdodGxpZ2h0QmFja2dyb3VuZChlLHQsaSxzKXtpZighaSlyZXR1cm47Y29uc3Qgbj1pLmZpcnN0VmFsdWUoKTtpZihudWxsPT09bilyZXR1cm47bGV0IHI9dFswXS5wcmljZSxvPXRbMF0ucHJpY2U7Zm9yKGxldCBlPTE7ZTx0Lmxlbmd0aDtlKyspcj1NYXRoLm1pbihyLHRbZV0ucHJpY2UpLG89TWF0aC5tYXgobyx0W2VdLnByaWNlKTtjb25zdHtob3Jpem9udGFsUGl4ZWxSYXRpbzphLHZlcnRpY2FsUGl4ZWxSYXRpbzpsfT1zLGM9dGhpcy5wcmljZVNjYWxlKCksaD1NYXRoLmZsb29yKGMucHJpY2VUb0Nvb3JkaW5hdGUocixuKSpsKSxkPU1hdGguY2VpbChjLnByaWNlVG9Db29yZGluYXRlKG8sbikqbCk7KDAsS3QuZmlsbFJlY3QpKGUsTWF0aC5mbG9vcihhKSxoLHMuYml0bWFwU2l6ZS53aWR0aCxkLWgsdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5heGlzSGlnaGxpZ2h0Q29sb3IudmFsdWUoKSl9X3ZpZXdzT3JNYXhNaW5WaWV3cyhlKXtjb25zdCB0PXRoaXMuX3BhbmUuc3RhdGUoKSxpPXRoaXMucHJpY2VTY2FsZSgpO2lmKDA9PT1lLmxlbmd0aClyZXR1cm5bXTtpZigxPT09ZS5sZW5ndGgpcmV0dXJuIGVbMF0ucHJpY2VBeGlzVmlld3ModCxpKT8/W107e2xldCBzPTEvMCxuPS0xLzAscj1udWxsLG89bnVsbDtmb3IoY29uc3QgYSBvZiBlKXtjb25zdCBlPWEucHJpY2VBeGlzVmlld3ModCxpKT8/W107Zm9yKGNvbnN0IHQgb2YgZSl7aWYoIXQuaXNWaXNpYmxlKCkpY29udGludWU7Y29uc3QgZT10LmZpeGVkT3JSZWd1bGFyQ29vcmRpbmF0ZSgpO2U+PW4mJihuPWUsbz10KSxlPD1zJiYocz1lLHI9dCl9fXJldHVybiBvJiZyP1tvLHJdOltdfX1fdmlld3MoZSx0KXtjb25zdCBpPXRoaXMuX3BhbmUuc3RhdGUoKSxzPXRoaXMucHJpY2VTY2FsZSgpLG49W107aWYoMSE9PWUpZm9yKGNvbnN0IGUgb2YgdC5zb3VyY2VzKXQudG9wTGV2ZWxTb3VyY2VzLmhhcyhlKXx8bi5wdXNoKC4uLmUucHJpY2VBeGlzVmlld3MoaSxzKT8/W10pO2lmKDAhPT1lKXtjb25zdCBlPW5ldyBTZXQscj10PT4hZS5oYXModCksbz10PT57Y29uc3QgaT10LmZpbHRlcihyKTtuLnB1c2goLi4udGhpcy5fdmlld3NPck1heE1pblZpZXdzKGkpKTtmb3IoY29uc3QgdCBvZiBpKWUuYWRkKHQpfTt0LmN1c3RvbVNvdXJjZUJlaW5nTW92ZWQmJm8oW3QuY3VzdG9tU291cmNlQmVpbmdNb3ZlZF0pLHQuc291cmNlc0JlaW5nTW92ZWQmJm8odC5zb3VyY2VzQmVpbmdNb3ZlZCksdC5zZWxlY3RlZFNvdXJjZXMmJm8odC5zZWxlY3RlZFNvdXJjZXMpLHQuaG92ZXJlZFNvdXJjZSYmbyhbdC5ob3ZlcmVkU291cmNlXSksCnQubGluZUJlaW5nRWRpdGVkT3JDcmVhdGVkJiZvKFt0LmxpbmVCZWluZ0VkaXRlZE9yQ3JlYXRlZF0pO2Zvcihjb25zdCBlIG9mWy4uLnQuc291cmNlcywuLi5pLmN1c3RvbVNvdXJjZXMoKV0pZS50b3BQcmljZUF4aXNWaWV3cyYmbi5wdXNoKC4uLmUudG9wUHJpY2VBeGlzVmlld3MoaSxzKT8/W10pfXJldHVybiBufV9pbml0QWN0aW9ucygpe2lmKCF0aGlzLl9wYW5lLmhhc1N0YXRlKCl8fG51bGwhPT10aGlzLl9hY3Rpb25zKXJldHVybjtjb25zdCBlPXRoaXMuX3VuZG9Nb2RlbCx0PW5ldyBhcy5BY3Rpb25XaXRoU3RhbmRhcmRJY29uKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5SZXNldCIsb3B0aW9uczp7bGFiZWw6ZnMsaWNvbklkOiJDaGFydC5SZXNldCIsc2hvcnRjdXRIaW50OigwLEsuaHVtYW5SZWFkYWJsZUhhc2gpKEsuTW9kaWZpZXJzLkFsdCs4Miksc3RhdE5hbWU6IlJlc2V0U2NhbGUiLG9uRXhlY3V0ZTooKT0+dGhpcy5yZXNldCgpfX0pLGk9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuVG9nZ2xlQXV0b1NjYWxlIixvcHRpb25zOntsYWJlbDpTcyxjaGVja2FibGU6ITAsY2hlY2tlZDohMCxzdGF0TmFtZToiVG9nZ2xlQXV0b1NjYWxlIixvbkV4ZWN1dGU6KCk9PntlLnRvZ2dsZVByaWNlU2NhbGVBdXRvU2NhbGVNb2RlKHRoaXMucHJpY2VTY2FsZSgpKSx0aGlzLl91cGRhdGVTY2FsZXNBY3Rpb25zKCl9fX0pLHM9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuVG9nZ2xlUGVyY2VudGFnZSIsb3B0aW9uczp7bGFiZWw6dnMsY2hlY2thYmxlOiEwLGNoZWNrZWQ6dGhpcy5wcmljZVNjYWxlKCkuaXNQZXJjZW50YWdlKCksc3RhdE5hbWU6IlRvZ2dsZVBlcmNhbnRhZ2UiLG9uRXhlY3V0ZTooKT0+e2UudG9nZ2xlUHJpY2VTY2FsZVBlcmNlbnRhZ2VTY2FsZU1vZGUodGhpcy5wcmljZVNjYWxlKCkpLHRoaXMuX3VwZGF0ZVNjYWxlc0FjdGlvbnMoKX19fSksbj1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5Ub2dnbGVJbmRleGVkVG8xMDAiLG9wdGlvbnM6e2xhYmVsOnlzLGNoZWNrYWJsZTohMCxjaGVja2VkOnRoaXMucHJpY2VTY2FsZSgpLmlzSW5kZXhlZFRvMTAwKCksc3RhdE5hbWU6IlRvZ2dsZUluZGV4ZWRUbzEwMCIsb25FeGVjdXRlOigpPT57ZS50b2dnbGVQcmljZVNjYWxlSW5kZXhlZFRvMTAwU2NhbGVNb2RlKHRoaXMucHJpY2VTY2FsZSgpKSx0aGlzLl91cGRhdGVTY2FsZXNBY3Rpb25zKCl9fX0pLHI9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuVG9nZ2xlTG9nYXJpdGhtaWMiLG9wdGlvbnM6e2xhYmVsOmJzLGNoZWNrYWJsZTohMCxjaGVja2VkOnRoaXMucHJpY2VTY2FsZSgpLmlzTG9nKCksc3RhdE5hbWU6IlRvZ2dsZUxvZ1NjYWxlIixvbkV4ZWN1dGU6KCk9PntlLnRvZ2dsZVByaWNlU2NhbGVMb2dTY2FsZU1vZGUodGhpcy5wcmljZVNjYWxlKCkpLHRoaXMuX3VwZGF0ZVNjYWxlc0FjdGlvbnMoKX19fSksbz1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5Ub2dnbGVSZWd1bGFyIixvcHRpb25zOntsYWJlbDp3cyxjaGVja2FibGU6ITAsY2hlY2tlZDp0aGlzLnByaWNlU2NhbGUoKS5pc1JlZ3VsYXIoKSxzdGF0TmFtZToiVG9nZ2xlUmVndWxhclNjYWxlIixvbkV4ZWN1dGU6KCk9PntlLnNldFByaWNlU2NhbGVSZWd1bGFyU2NhbGVNb2RlKHRoaXMucHJpY2VTY2FsZSgpKSx0aGlzLl91cGRhdGVTY2FsZXNBY3Rpb25zKCl9fX0pLGE9bmV3IGlzKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5MYWJlbHMuVG9nZ2xlTm9PdmVybGFwcGluZ0xhYmVsc1Zpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOkNzLGNoZWNrYWJsZTohMCxjaGVja2VkOnRoaXMucHJpY2VTY2FsZSgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5hbGlnbkxhYmVscy52YWx1ZSgpLHN0YXROYW1lOiJUb2dnbGVQcmVjaXNlTGFiZWxzIn19LHtwcm9wZXJ0eTp0aGlzLnByaWNlU2NhbGUoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYWxpZ25MYWJlbHMsdW5kb01vZGVsOmUsdW5kb1RleHQ6Y3N9KSxsPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5QcmljZVNjYWxlLlRvZ2dsZUludmVydFNjYWxlIixvcHRpb25zOntsYWJlbDpQcyxjaGVja2FibGU6ITAsY2hlY2tlZDp0aGlzLnByaWNlU2NhbGUoKS5pc0ludmVydGVkKCksc3RhdE5hbWU6IkludmVydCBTY2FsZSIsb25FeGVjdXRlOigpPT57ZS5pbnZlcnRQcmljZVNjYWxlKHRoaXMucHJpY2VTY2FsZSgpKSx0aGlzLl91cGRhdGVTY2FsZXNBY3Rpb25zKCl9fX0pO3RoaXMuX2FjdGlvbnM9e3Jlc2V0OnQsc2V0QXV0b1NjYWxlOmksc2V0UGVyY2VudGFnZTpzLHNldEluZGV4ZWRUbzEwMDpuLHNldExvZzpyLHNldFJlZ3VsYXI6byxhbGlnbkxhYmVsczphLGludmVydFNjYWxlOmx9LHRoaXMuX3VwZGF0ZVNjYWxlc0FjdGlvbnMoKX1fbG9nQWN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzTWFpblNlcmllc0F4aXMoKT90aGlzLl9jaGFydC5hY3Rpb25zKCkubG9nU2VyaWVzU2NhbGU6KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hY3Rpb25zKS5zZXRMb2d9X3BlcmNlbnRhZ2VBY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNNYWluU2VyaWVzQXhpcygpP3RoaXMuX2NoYXJ0LmFjdGlvbnMoKS5wZXJjZW50U2VyaWVzU2NhbGU6KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hY3Rpb25zKS5zZXRQZXJjZW50YWdlfV9pbmRleGVkVG8xMDBBY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNNYWluU2VyaWVzQXhpcygpP3RoaXMuX2NoYXJ0LmFjdGlvbnMoKS5pbmRleGVkVG8xMDBTZXJpZXNTY2FsZTooMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2FjdGlvbnMpLnNldEluZGV4ZWRUbzEwMH1fYXV0b1NjYWxlQWN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzTWFpblNlcmllc0F4aXMoKT90aGlzLl9jaGFydC5hY3Rpb25zKCkuYXV0b1Nlcmllc1NjYWxlOigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aW9ucykuc2V0QXV0b1NjYWxlfV9yZWd1bGFyU2NhbGVBY3Rpb24oKXsKcmV0dXJuIHRoaXMuX2lzTWFpblNlcmllc0F4aXMoKT90aGlzLl9jaGFydC5hY3Rpb25zKCkucmVndWxhclNlcmllc1NjYWxlOigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aW9ucykuc2V0UmVndWxhcn1fbG9ja1NjYWxlQWN0aW9uKCl7Y29uc3QgZT10aGlzLl9jaGFydC5hY3Rpb25zKCkubG9ja1Nlcmllc1NjYWxlLHQ9VHModGhpcy5wcmljZVNjYWxlKCksdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkubWFpblNlcmllc1NjYWxlUmF0aW8oKSk7cmV0dXJuIGUudXBkYXRlKHtoaW50OnR9KSxlfV9pbnZlcnRBY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNNYWluU2VyaWVzQXhpcygpP3RoaXMuX2NoYXJ0LmFjdGlvbnMoKS5pbnZlcnRTZXJpZXNTY2FsZTooMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2FjdGlvbnMpLmludmVydFNjYWxlfV9pc01haW5TZXJpZXNBeGlzKCl7cmV0dXJuIHRoaXMucHJpY2VTY2FsZSgpLmhhc01haW5TZXJpZXMoKX1fdXBkYXRlU2NhbGVzQWN0aW9ucygpe2NvbnN0IGU9dGhpcy5wcmljZVNjYWxlKCksdD10aGlzLl9pc01haW5TZXJpZXNBeGlzKCksaT0oMCxsLmVuc3VyZU5vdE51bGwpKGUubWFpblNvdXJjZSgpKS5wcm9wZXJ0aWVzKCkscz10JiZlLmlzTG9ja1NjYWxlKCksbj10JiY2PT09aS5zdHlsZS52YWx1ZSgpLHI9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hY3Rpb25zKTtyLnNldFJlZ3VsYXIudXBkYXRlKHtjaGVja2VkOmUuaXNSZWd1bGFyKCksZGlzYWJsZWQ6c3x8bn0pLHIuc2V0UGVyY2VudGFnZS51cGRhdGUoe2NoZWNrZWQ6ZS5pc1BlcmNlbnRhZ2UoKSxkaXNhYmxlZDpzfHxufSksci5zZXRJbmRleGVkVG8xMDAudXBkYXRlKHtjaGVja2VkOmUuaXNJbmRleGVkVG8xMDAoKSxkaXNhYmxlZDpzfHxufSksci5zZXRMb2cudXBkYXRlKHtjaGVja2VkOmUuaXNMb2coKSxkaXNhYmxlZDpzfHxufSksci5zZXRBdXRvU2NhbGUudXBkYXRlKHtjaGVja2VkOmUuaXNBdXRvU2NhbGUoKSxkaXNhYmxlZDplLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5hdXRvU2NhbGVEaXNhYmxlZC52YWx1ZSgpfSl9X2NyZWF0ZU1lcmdlU2NhbGVzQWN0aW9uKCl7Y29uc3QgZT10aGlzLl9jaGFydC5hY3Rpb25zKCksdD10aGlzLl91bmRvTW9kZWwubW9kZWwoKS5wcmljZVNjYWxlU2xvdHNDb3VudCgpO2lmKHQubGVmdCt0LnJpZ2h0PT09MSlyZXR1cm4gMD09PXQubGVmdD9lLm1vdmVTY2FsZVRvTGVmdDplLm1vdmVTY2FsZVRvUmlnaHQ7Y29uc3QgaT1bXTtyZXR1cm4gaS5wdXNoKGUubWVyZ2VMZWZ0U2NhbGVzQWN0aW9uKSxpLnB1c2goZS5tZXJnZVJpZ2h0U2NhbGVzQWN0aW9uKSxuZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5NZXJnZUFsbFNjYWxlcyIsb3B0aW9uczp7bGFiZWw6dXMsc3ViSXRlbXM6aX19KX1fc2V0Q3Vyc29yKGUpe2xldCB0PSIiOyJncmFiYmluZyIhPT1lJiYibnMtcmVzaXplIiE9PWV8fCh0PSJwcmljZS1heGlzLS1jdXJzb3ItIitlKSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lIT09dCYmKHRoaXMuX2N1cnJlbnRDdXJzb3JDbGFzc05hbWUmJnRoaXMuX2NlbGwuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lKSx0JiZ0aGlzLl9jZWxsLmNsYXNzTGlzdC5hZGQodCksdGhpcy5fY3VycmVudEN1cnNvckNsYXNzTmFtZT10LHRoaXMuX2NlbGwuc3R5bGUuY3Vyc29yKX1hc3luYyBfY3JlYXRlU2NhbGVNb2RlQnV0dG9ucygpe2NvbnN0e1ByaWNlU2NhbGVNb2RlQnV0dG9uc1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMjI1MTApLGkuZSg0MTUwNiksaS5lKDMyMzg3KSxpLmUoNzEzNzUpXSkudGhlbihpLmJpbmQoaSw5MzE4NzApKTtpZih0aGlzLl9kZXN0cm95ZWQpdGhyb3coMCxxZS5jcmVhdGVBYm9ydEVycm9yKSgpO2NvbnN0IHQ9bmV3IGUoe2NsYXNzTmFtZToicHJpY2UtYXhpc19fbW9kZUJ1dHRvbnMiLHNldE1vZGU6ZT0+e3RoaXMuX3ByaWNlU2NhbGUmJigibG9nIj09PWU/dGhpcy5fY2hhcnQubW9kZWwoKS5zZXRQcmljZVNjYWxlTW9kZSh7bG9nOiF0aGlzLl9wcmljZVNjYWxlLmlzTG9nKCl9LHRoaXMuX3ByaWNlU2NhbGUsZHMpOnRoaXMuX2NoYXJ0Lm1vZGVsKCkuc2V0UHJpY2VTY2FsZU1vZGUoe2F1dG9TY2FsZTohdGhpcy5fcHJpY2VTY2FsZS5pc0F1dG9TY2FsZSgpfSx0aGlzLl9wcmljZVNjYWxlLGhzKSl9LGdldE1vZGU6KCk9PnRoaXMuX3ByaWNlU2NhbGU/Lm1vZGUoKX0pO3JldHVybiB0LmVsZW1lbnQoKS5zdHlsZS5iYWNrZ3JvdW5kPXRoaXMuYmFja2dyb3VuZENvbG9yKCksdGhpcy5fY2VsbC5hcHBlbmRDaGlsZCh0LmVsZW1lbnQoKSksdGhpcy5fcHJpY2VTY2FsZT8ubW9kZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVTY2FsZU1vZGVCdXR0b25zKSx0fV9kZXN0cm95U2NhbGVNb2RlQnV0dG9ucygpe3RoaXMuX3NjYWxlTW9kZUJ1dHRvbnMmJih0aGlzLl9pc0hvdmVyZWQudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUHJpY2VTY2FsZU1vZGVCdXR0b25zVmlzaWJpbGl0eSksdGhpcy5fc2VsZWN0ZWRWaWFUYXAudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUHJpY2VTY2FsZU1vZGVCdXR0b25zVmlzaWJpbGl0eSksdGhpcy5fcGFuZS52aXN1YWxseUNvbGxhcHNlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVByaWNlU2NhbGVNb2RlQnV0dG9uc1Zpc2liaWxpdHkpLHRoaXMuX3ByaWNlU2NhbGU/Lm1vZGVDaGFuZ2VkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVTY2FsZU1vZGVCdXR0b25zKSx0aGlzLl9zY2FsZU1vZGVCdXR0b25zLmRlc3Ryb3koKSx0aGlzLl9zY2FsZU1vZGVCdXR0b25zPW51bGwpfV9oaWdobGlnaHRDb2xvcigpe2NvbnN0IGU9dGhpcy5iYWNrZ3JvdW5kQ29sb3IoKSx0PXRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lLnZhbHVlKCk7aWYobnVsbD09PXRoaXMuX2hpZ2hsaWdodENvbG9yQ2FjaGV8fHRoaXMuX2hpZ2hsaWdodENvbG9yQ2FjaGUuYmFja2dyb3VuZENvbG9yIT09ZXx8dGhpcy5faGlnaGxpZ2h0Q29sb3JDYWNoZS50aGVtZSE9PXQpe2NvbnN0IGk9KDAsCiRpLmFwcGx5VHJhbnNwYXJlbmN5KShrLnRoZW1lc1t0aGlzLl9iYWNrZ3JvdW5kQmFzZWRUaGVtZS52YWx1ZSgpXS5nZXRUaGVtZWRDb2xvcigiY29sb3ItcHJpY2UtYXhpcy1oaWdobGlnaHQiKSw1MCkscz0oMCx5aS5yZ2JhVG9TdHJpbmcpKCgwLHlpLmJsZW5kUmdiYSkoKDAseWkucGFyc2VSZ2JhKSh0aGlzLmJhY2tncm91bmRDb2xvcigpKSwoMCx5aS5wYXJzZVJnYmEpKGkpKSk7dGhpcy5faGlnaGxpZ2h0Q29sb3JDYWNoZT17dGhlbWU6dCxiYWNrZ3JvdW5kQ29sb3I6ZSxyZXN1bHRDb2xvcjpzfX1yZXR1cm4gdGhpcy5faGlnaGxpZ2h0Q29sb3JDYWNoZS5yZXN1bHRDb2xvcn1fYXBwbHlMaWdodFVwZGF0ZUlmUmVxdWlyZWQoKXsidmlzaWJsZU9uTW91c2VPdmVyIj09PSgwLHJzLmFjdHVhbEN1cnJlbmN5VW5pdE1ldHJpY1Zpc2liaWxpdHkpKCkudmFsdWUoKSYmdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkubGlnaHRVcGRhdGUoKX19dmFyIEVzPWkoOTI1OTg1KSxScz1pKDMyMzA3OSk7Y29uc3QgVnM9KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5DaGFydFVuZG9Nb2RlbCIpO3ZhciBCczshZnVuY3Rpb24oZSl7ZVtlLk1lcmdlVGltZW91dD0xZTNdPSJNZXJnZVRpbWVvdXQifShCc3x8KEJzPXt9KSk7Y29uc3QgTnM9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygic2NhbGUgcHJpY2UiLHAudChudWxsLHZvaWQgMCxpKDI1Njk2OCkpKTtjbGFzcyBPcyBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyxuLHI9ITApe3N1cGVyKE5zLCExLHIpLHRoaXMuX25ld1ByaWNlU2NhbGVTdGF0ZT1udWxsLHRoaXMuX21vZGVsPWUsdGhpcy5fcGFuZUluZGV4PWUucGFuZXMoKS5pbmRleE9mKHQpLHRoaXMuX3ByaWNlU2NhbGVJZD1pLmlkKCksdGhpcy5fc3RhdGU9cyx0aGlzLl90aW1lc3RhbXA9bj9wZXJmb3JtYW5jZS5ub3coKTpudWxsfXVuZG8oKXtpZihudWxsIT09dGhpcy5fbmV3UHJpY2VTY2FsZVN0YXRlKXJldHVybiB2b2lkIFZzLmxvZ0RlYnVnKCJQcmljZVNjYWxlQ2hhbmdlVW5kb0NvbW1hbmQudW5kbzogQ29tbWFuZCBpcyBhbHJlYWR5IHVuZG9uZSIpO2NvbnN0W2UsdF09dGhpcy5fcGFuZUFuZFNjYWxlKCk7dGhpcy5fbmV3UHJpY2VTY2FsZVN0YXRlPXQuc3RhdGUoKSx0aGlzLl9tb2RlbC5yZXN0b3JlUHJpY2VTY2FsZVN0YXRlKGUsdCx0aGlzLl9zdGF0ZSl9cmVkbygpe2lmKG51bGw9PT10aGlzLl9uZXdQcmljZVNjYWxlU3RhdGUpcmV0dXJuIHZvaWQgVnMubG9nRGVidWcoIlByaWNlU2NhbGVDaGFuZ2VVbmRvQ29tbWFuZC5yZWRvOiBDb21tYW5kIGlzIG5vdCB1bmRvbmUiKTtjb25zdFtlLHRdPXRoaXMuX3BhbmVBbmRTY2FsZSgpO3RoaXMuX21vZGVsLnJlc3RvcmVQcmljZVNjYWxlU3RhdGUoZSx0LHRoaXMuX25ld1ByaWNlU2NhbGVTdGF0ZSksdGhpcy5fbmV3UHJpY2VTY2FsZVN0YXRlPW51bGx9Y2FuTWVyZ2UoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBPcyYmbnVsbCE9PXRoaXMuX3RpbWVzdGFtcCYmbnVsbCE9PWUuX3RpbWVzdGFtcCYmbnVsbD09PXRoaXMuX25ld1ByaWNlU2NhbGVTdGF0ZSYmZS5fbW9kZWw9PT10aGlzLl9tb2RlbCYmZS5fcGFuZUluZGV4PT09dGhpcy5fcGFuZUluZGV4JiZlLl9wcmljZVNjYWxlSWQ9PT10aGlzLl9wcmljZVNjYWxlSWQmJk1hdGguYWJzKGUuX3RpbWVzdGFtcC10aGlzLl90aW1lc3RhbXApPDFlM31tZXJnZShlKXt0aGlzLl90aW1lc3RhbXA9ZS5fdGltZXN0YW1wfV9wYW5lQW5kU2NhbGUoKXtjb25zdCBlPXRoaXMuX21vZGVsLnBhbmVzKClbdGhpcy5fcGFuZUluZGV4XSx0PSgwLGwuZW5zdXJlTm90TnVsbCkoZS5nZXRQcmljZVNjYWxlQnlJZCh0aGlzLl9wcmljZVNjYWxlSWQpKTtyZXR1cm5bZSx0XX19dmFyIFdzPWkoNDgzMDE2KSxGcz1pKDczNjI4KSxIcz1pKDU0MjM0OSksenM9aSgyOTE4NDMpLFVzPWkoMTc1ODE1KSxHcz1pKDQ5MDM5OSksanM9aSgxMTc4MjApLHFzPWkoODcwNTYyKTtjbGFzcyAkc3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3NpemU9KDAseXQuc2l6ZSkoe3dpZHRoOjAsaGVpZ2h0OjB9KSx0aGlzLl9wYW5lPW51bGwsdGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXI9KCk9PnRoaXMuX3BhbmU/Lm1vZGVsKCkubGlnaHRVcGRhdGUoKSx0aGlzLl9yZW5kZXJlck9wdGlvbnNQcm92aWRlcj1lLHRoaXMuX3NpZGU9dCx0aGlzLl9jZWxsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2NlbGwuY2xhc3NMaXN0LmFkZCgiY2hhcnQtbWFya3VwLXRhYmxlIiwicHJpY2UtYXhpcy1jb250YWluZXIiKSx0aGlzLl9jZWxsLnN0eWxlLndpZHRoPSIyNXB4Iix0aGlzLl9jZWxsLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsdGhpcy5fY2FudmFzQmluZGluZz0oMCxLdC5jcmVhdGVCb3VuZENhbnZhcykodGhpcy5fY2VsbCwoMCx5dC5zaXplKSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuX2NhbnZhc0JpbmRpbmcuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpO2NvbnN0IGk9dGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50O2kuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixpLnN0eWxlLnRvcD0iMHB4IixpLnN0eWxlLmxlZnQ9IjBweCIsdGhpcy5fbW91c2VFdmVudEhhbmRsZXI9bmV3IHdpLk1vdXNlRXZlbnRIYW5kbGVyKHRoaXMuX2NlbGwsdGhpcyl9ZGVzdHJveSgpe3RoaXMuX21vdXNlRXZlbnRIYW5kbGVyLmRlc3Ryb3koKSx0aGlzLl9jYW52YXNCaW5kaW5nLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpLHRoaXMuX2NhbnZhc0JpbmRpbmcuZGlzcG9zZSgpfWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fY2VsbH1nZXRTY3JlZW5zaG90RGF0YShlKXtjb25zdCB0PSgwLEt0LmNyZWF0ZURpc2Nvbm5lY3RlZENhbnZhcykoZG9jdW1lbnQsdGhpcy5fc2l6ZSksaT0oMCxLdC5nZXRQcmVzY2FsZWRDb250ZXh0MkQpKHQpCjtyZXR1cm4gMCE9PXRoaXMuX3NpemUud2lkdGgmJjAhPT10aGlzLl9zaXplLmhlaWdodCYmaS5kcmF3SW1hZ2UodGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LDAsMCx0aGlzLl9zaXplLndpZHRoLHRoaXMuX3NpemUuaGVpZ2h0KSx7Y29udGVudDp0LnRvRGF0YVVSTCgpLGNhbnZhczp0LGNvbnRlbnRXaWR0aDp0aGlzLl9zaXplLndpZHRoLGNvbnRlbnRIZWlnaHQ6dGhpcy5fc2l6ZS5oZWlnaHR9fXNldFBhbmUoZSl7dGhpcy5fcGFuZT1lfXVwZGF0ZSgpe31wYWludCgpe2lmKDA9PT10aGlzLl9zaXplLndpZHRofHwwPT09dGhpcy5fc2l6ZS5oZWlnaHQpcmV0dXJuOygwLEt0LnRyeUFwcGx5U3VnZ2VzdGVkQ2FudmFzQml0bWFwU2l6ZSkodGhpcy5fY2FudmFzQmluZGluZyk7Y29uc3QgZT0oMCxLdC5nZXRCaW5kaW5nUmVuZGVyaW5nSW5mbykodGhpcy5fY2FudmFzQmluZGluZyksdD0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudC5nZXRDb250ZXh0KCIyZCIpKTtpZih0LnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCksdC5jbGVhclJlY3QoMCwwLHRoaXMuX3NpemUud2lkdGgsdGhpcy5fc2l6ZS5oZWlnaHQpLHRoaXMuX2RyYXdCYWNrZ3JvdW5kKHQsZSksdGhpcy5fZHJhd0JvcmRlcih0LGUpLCF0aGlzLl9wYW5lPy5jb2xsYXBzZWQoKS52YWx1ZSgpKXsodGhpcy5fcGFuZT8uZGF0YVNvdXJjZXMoKT8/W10pLmZvckVhY2goKGk9PnsoaS53aWRnZXRTaWRlQXJlYVZpZXdzPy4odGhpcy5fc2lkZSk/P1tdKS5mb3JFYWNoKChpPT5pLnJlbmRlcmVyKGUpPy5kcmF3KHQsZSkpKX0pKX19cmVzdG9yZURlZmF1bHRDdXJzb3IoKXt9c2V0U2l6ZXMoZSx0KXt0aGlzLl9zaXplPSgwLHl0LnNpemUpKHt3aWR0aDp0LnJlZHVjZSgoKGUsdCk9PmUrdCksMCksaGVpZ2h0OmV9KSx0aGlzLl9jZWxsLnN0eWxlLndpZHRoPXRoaXMuX3NpemUud2lkdGgrInB4Iix0aGlzLl9jZWxsLnN0eWxlLm1pbldpZHRoPXRoaXMuX3NpemUud2lkdGgrInB4Iix0aGlzLl9jZWxsLnN0eWxlLmhlaWdodD10aGlzLl9zaXplLmhlaWdodCsicHgiLHRoaXMuX2NhbnZhc0JpbmRpbmcucmVzaXplQ2FudmFzRWxlbWVudCh0aGlzLl9zaXplKX1nZXRXaWR0aCgpe3JldHVybiB0aGlzLl9zaXplLndpZHRofXVwZGF0ZUN1cnJlbmN5TGFiZWxzKCl7fW9wdGltYWxXaWR0aHMoKXtyZXR1cm4odGhpcy5fcGFuZT8uZGF0YVNvdXJjZXMoKT8/W10pLnJlZHVjZSgoKGUsdCk9Pntjb25zdCBpPSh0LndpZGdldFNpZGVBcmVhVmlld3M/Lih0aGlzLl9zaWRlKT8/W10pLnJlZHVjZSgoKGUsdCk9Pk1hdGgubWF4KGUsdC5vcHRpbWFsV2lkdGgoKSkpLDApO3JldHVybiBNYXRoLm1heChlLGkpfSksMCl9YmFja2dyb3VuZENvbG9yKCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYW5lKS5tb2RlbCgpLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCl9YmFja2dyb3VuZFRvcENvbG9yKCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYW5lKS5tb2RlbCgpLmJhY2tncm91bmRUb3BDb2xvcigpLnZhbHVlKCl9bW91c2VNb3ZlRXZlbnQoZSl7dGhpcy5fcHJvY2Vzc1RvdWNoTW91c2VFdmVudChlKX1tb3VzZUxlYXZlRXZlbnQoKXt0aGlzLl91cGRhdGVIb3ZlcmVkU291cmNlKG51bGwpfW1vdXNlRW50ZXJFdmVudChlKXt0aGlzLl9wcm9jZXNzVG91Y2hNb3VzZUV2ZW50KGUpfXRvdWNoU3RhcnRFdmVudChlKXt0aGlzLl9wcm9jZXNzVG91Y2hNb3VzZUV2ZW50KGUpfWxvbmdUYXBFdmVudChlKXt0aGlzLl9wcm9jZXNzVG91Y2hNb3VzZUV2ZW50KGUpfXRvdWNoRW5kRXZlbnQoKXt0aGlzLl91cGRhdGVIb3ZlcmVkU291cmNlKG51bGwpfV9wcm9jZXNzVG91Y2hNb3VzZUV2ZW50KGUpe2lmKCF0aGlzLl9wYW5lKXJldHVybjtjb25zdCB0PSgwLFB0LnBvaW50KShlLmxvY2FsWCxlLmxvY2FsWSk7dGhpcy5fdXBkYXRlSG92ZXJlZFNvdXJjZSh0aGlzLl9oaXRUZXN0U291cmNlcyh0KSl9X2hpdFRlc3RTb3VyY2VzKGUpe2NvbnN0IHQ9dGhpcy5fcGFuZTtpZighdHx8dC5jb2xsYXBzZWQoKS52YWx1ZSgpKXJldHVybiBudWxsO2NvbnN0IGk9dC5kYXRhU291cmNlcygpO2lmKCFpLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBzPSgwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl9jYW52YXNCaW5kaW5nKTtmb3IoY29uc3QgdCBvZiBpKXtjb25zdCBpPXQud2lkZ2V0U2lkZUFyZWFWaWV3cz8uKHRoaXMuX3NpZGUpO2lmKGkmJmkubGVuZ3RoKWZvcihjb25zdCBuIG9mIGkpe2NvbnN0IGk9bi5yZW5kZXJlcihzKTtpZighaSljb250aW51ZTtjb25zdCByPWkuaGl0VGVzdChlLHMpO2lmKHIpcmV0dXJue3NvdXJjZTp0LGhpdHRlc3Q6cixyZW5kZXJlcjppLGlzQ3VzdG9tOiExfX19cmV0dXJuIG51bGx9X3VwZGF0ZUhvdmVyZWRTb3VyY2UoZSl7Y29uc3QgdD10aGlzLl9wYW5lO2lmKCF0KXJldHVybjtjb25zdCBpPXQubW9kZWwoKSx7c291cmNlOnM9bnVsbCxoaXR0ZXN0Om49bnVsbH09ZXx8e307aS5zZXRIb3ZlcmVkU291cmNlKHMsbj8uZGF0YSgpfHxudWxsKX1fZHJhd0JhY2tncm91bmQoZSx0KXtjb25zdCBpPXRoaXMuYmFja2dyb3VuZFRvcENvbG9yKCkscz10aGlzLmJhY2tncm91bmRDb2xvcigpLHtiaXRtYXBTaXplOm59PXQscj10aGlzLl9wYW5lPy5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZih0aGlzLl9wYW5lKT8/MCxvPXRoaXMuX3BhbmU/Lm1vZGVsKCkubWFpblBhbmUoKSxhPXI+KG8/dGhpcy5fcGFuZT8ubW9kZWwoKS5wYW5lcygpLmluZGV4T2Yobyk/PzA6MCk/czppOygwLEt0LmNsZWFyUmVjdCkoZSwwLDAsbi53aWR0aCxuLmhlaWdodCxhKX1fZHJhd0JvcmRlcihlLHQpe2Uuc2F2ZSgpO2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYW5lKS5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLmxpbmVDb2xvci52YWx1ZSgpO2UuZmlsbFN0eWxlPWkKO2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOnN9PXQsbj1NYXRoLm1heCgxLE1hdGguZmxvb3IodGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXIub3B0aW9ucygpLmJvcmRlclNpemUqcykpLHI9ImxlZnQiPT09dGhpcy5fc2lkZT90LmJpdG1hcFNpemUud2lkdGgtbjowO2UuZmlsbFJlY3QociwwLG4sdC5iaXRtYXBTaXplLmhlaWdodCksZS5yZXN0b3JlKCl9fXZhciBZcz1pKDk3NjgxMyksS3M9aSgzNDQ3ODUpLFhzPWkoNTc3NzEzKSxacz1pKDgyODg1NyksSnM9aSg2MzQ0OTgpO2Z1bmN0aW9uIFFzKGUpe3JldHVybiJzdGFydE1vdmluZyJpbiBlJiYibW92ZSJpbiBlJiYiZW5kTW92aW5nImluIGUmJiJjb252ZXJ0WUNvb3JkaW5hdGVUb1ByaWNlRm9yTW92aW5nImluIGV9dmFyIGVuPWkoNjM2OTY2KSx0bj1pKDk2NjQwNCk7aSg0MDA0MCksaSgyNTkxMzIpO2NvbnN0IHNuPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInNjcm9sbCIscC50KG51bGwsdm9pZCAwLGkoNjE0OTA2KSkpLG5uPXAudChudWxsLHZvaWQgMCxpKDg4Mjc2KSkscm49cC50KG51bGwsdm9pZCAwLGkoOTg3NCkpO2Z1bmN0aW9uIG9uKGUsdCxpKXtlLmRyYXdCYWNrZ3JvdW5kJiZlLmRyYXdCYWNrZ3JvdW5kKHQsaSl9ZnVuY3Rpb24gYW4oZSx0LGkpe2UuZHJhdyh0LGkpfWZ1bmN0aW9uIGxuKGUsdCl7cmV0dXJuIGUucGFuZVZpZXdzKHQpfWZ1bmN0aW9uIGNuKGUsdCl7cmV0dXJuIGUudG9wUGFuZVZpZXdzPy4odCk/P1tdfWZ1bmN0aW9uIGhuKGUsdCl7cmV0dXJuIGUubGFiZWxQYW5lVmlld3ModCl9ZnVuY3Rpb24gZG4oZSx0KXtjb25zdCBpPWUuc3RyYXRlZ3lPcmRlcnNQYW5lVmlldygpO3JldHVybiBudWxsPT09aT9udWxsOltpXX1mdW5jdGlvbiB1bihlLHQpe3JldHVybiBudWxsPT09ZXx8ZS5zb3VyY2UhPT10P251bGw6ZS5oaXR0ZXN0LmRhdGEoKX1mdW5jdGlvbiBwbihlLHQsaSxzLG4pe2NvbnN0IHI9ZS5yZXN1bHQ/LmhpdHRlc3QudGFyZ2V0KCk/PzA7dC50YXJnZXQoKT5yJiYoZS5yZXN1bHQ9e2hpdHRlc3Q6dCxzb3VyY2U6aSxyZW5kZXJlcjpzLGlzQ3VzdG9tOm59KX1jb25zdCBfbj17Y29udGV4dE1lbnVFbmFibGVkOiEwLGNvbnRleHRNZW51OldzLmRlZmF1bHRDaGFydFdpZGdldEFjdGlvbnNPcHRpb25zLHByaWNlU2NhbGVDb250ZXh0TWVudUVuYWJsZWQ6ITAsbGVnZW5kV2lkZ2V0RW5hYmxlZDohMCxjb250cm9sc0VuYWJsZWQ6ITAscHJvcGVydHlQYWdlc0VuYWJsZWQ6ITAsc291cmNlU2VsZWN0aW9uRW5hYmxlZDohMCxjb3VudGRvd25FbmFibGVkOiEwfSxtbj1uZXcgTWFwKFtbTWkuQXJlYU5hbWUuVGV4dCwiVGV4dCJdLFtNaS5BcmVhTmFtZS5TdHlsZSwiU3R5bGUiXV0pLGduPSEoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJkaXNwbGF5X2xlZ2VuZF9vbl9hbGxfY2hhcnRzIik7dmFyIGZuOyFmdW5jdGlvbihlKXtlW2UuTWluU2Nyb2xsU3BlZWQ9LjJdPSJNaW5TY3JvbGxTcGVlZCIsZVtlLk1heFNjcm9sbFNwZWVkPTddPSJNYXhTY3JvbGxTcGVlZCIsZVtlLkR1bXBpbmdDb2VmZj0uOTk3XT0iRHVtcGluZ0NvZWZmIixlW2UuU2Nyb2xsTWluTW92ZT0xNV09IlNjcm9sbE1pbk1vdmUiLGVbZS5TUGVuTWF4RGlzdGFuY2U9NV09IlNQZW5NYXhEaXN0YW5jZSIsZVtlLkNvbGxhcHNlZEhlaWdodD0zM109IkNvbGxhcHNlZEhlaWdodCJ9KGZufHwoZm49e30pKTtsZXQgU249bnVsbDtmdW5jdGlvbiB2bihlLHQpe3JldHVybiEoMCxNaS5zaG91bGREZWZhdWx0QWN0aW9uQmVFeGVjdXRlZCkoZSx0LCJwcmVzc2VkTW91c2VNb3ZlSGFuZGxlciIsInRvdWNoTW92ZUhhbmRsZXIiKX12YXIgeW47IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuRG93bldpdGhvdXRNb3ZlPTFdPSJEb3duV2l0aG91dE1vdmUiLGVbZS5Eb3duV2l0aE1vdmU9Ml09IkRvd25XaXRoTW92ZSJ9KHlufHwoeW49e30pKTtjbGFzcyBibntjb25zdHJ1Y3RvcihlLHQsaSxzKXt0aGlzLl9sZWdlbmRXaWRnZXQ9bnVsbCx0aGlzLl9wYW5lQ29udHJvbHM9bnVsbCx0aGlzLl9pc0Rlc3Ryb3llZD0hMSx0aGlzLl90cmFja0Nyb3NzaGFpck9ubHlBZnRlckxvbmdUYXA9KDAsdWkubGFzdE1vdXNlT3JUb3VjaEV2ZW50SW5mbykoKS5pc1RvdWNoLHRoaXMuX3N0YXJ0VHJhY2tQb2ludD1udWxsLHRoaXMuX2V4aXRUcmFja2luZ01vZGVPbk5leHRUcnk9ITEsdGhpcy5fc3RhcnRNb3ZlU291cmNlUGFyYW1zPW51bGwsdGhpcy5fc3RhcnRDaGFuZ2VMaW5lVG9vbFBhcmFtcz1udWxsLHRoaXMuX3ByZXZlbnRTb3VyY2VDaGFuZ2U9ITEsdGhpcy5fcHJldmVudFNjcm9sbFVudGlsTmV4dE1vdXNlRG93bk9yVG91Y2hTdGFydD0hMSx0aGlzLl9jbG9ubmluZ0F0TW92ZUxpbmVUb29scz1udWxsLHRoaXMuX3N0YXJ0Q2xvbmluZ1BvaW50PW51bGwsdGhpcy5fc2l6ZT0oMCx5dC5zaXplKSh7d2lkdGg6MCxoZWlnaHQ6MH0pLHRoaXMuX3RoZW1lZFRvcENvbG9yPW51bGwsdGhpcy5faW5pdENyb3NzSGFpclBvc2l0aW9uPW51bGwsdGhpcy5fZmlyc3Rab29tUG9pbnQ9bnVsbCx0aGlzLl9lZGl0RGlhbG9nPW51bGwsdGhpcy5fcHJvY2Vzc2luZz0hMSx0aGlzLl9wcmVzc2VkTW92ZVN0YWdlPTAsdGhpcy5fdG91Y2hNb3ZlPSExLHRoaXMuX3N0YXJ0VG91Y2hQb2ludD1udWxsLHRoaXMuX2lzU2VsZWN0aW5nPSExLHRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdD1udWxsLHRoaXMuX2NvbnRleHRNZW51WD0wLHRoaXMuX2NvbnRleHRNZW51WT0wLHRoaXMuX3N0YXJ0U2Nyb2xsaW5nUG9zPW51bGwsdGhpcy5faXNTY3JvbGxpbmc9ITEsdGhpcy5fc2Nyb2xsUHJpY2VTY2FsZT1udWxsLHRoaXMuX3Njcm9sbFhBbmltYXRpb249bnVsbCx0aGlzLl9wcmV2UGluY2hTY2FsZT0xLHRoaXMuX3BpbmNoaW5nPSExLHRoaXMuX3dhc1BpbmNoZWQ9ITEsdGhpcy5fbG9uZ1RhcD0hMSx0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcD0hMSx0aGlzLl9wYW5lQ29udHJvbHNSZXNpemVPYnNlcnZlcj1udWxsLHRoaXMuX2xhc3RDbGlja2VkU291cmNlPW51bGwsdGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c0ZhY3RvcnlNYXA9bmV3IE1hcCwKdGhpcy5fcHJldk1vdmVFdmVudFBvc2l0aW9uPW51bGwsdGhpcy5fb25NYWduZXRTdGF0ZUNoYW5nZWRMaXN0ZW5lcj10aGlzLl9vbk1hZ25ldFN0YXRlQ2hhbmdlZC5iaW5kKHRoaXMpLHRoaXMuX29uU2hpZnRLZXlTdGF0ZUNoYW5nZWRMaXN0ZW5lcj10aGlzLl9vblNoaWZ0S2V5U3RhdGVDaGFuZ2VkLmJpbmQodGhpcyksdGhpcy5fY3VycmVudEN1cnNvckNsYXNzTmFtZT0iIix0aGlzLl9sYXN0RmluaXNoZWRUb29sSWQ9bnVsbCx0aGlzLl9uZWVkUmVzZXRNZWFzdXJlTGF0ZXI9ITEsdGhpcy5fY3VycmVudENoYW5naW5nTGluZVRvb2xIaXRUZXN0PW51bGwsdGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Q9bnVsbCx0aGlzLl9wcmV2VG9vbHRpcERhdGE9bnVsbCx0aGlzLl9lcnJvclJlbmRlcmVyPW51bGwsdGhpcy5faGlnaGxpZ2h0ZWRQcmljZUF4aXNlcz1uZXcgZC5XYXRjaGVkT2JqZWN0KFtdKSx0aGlzLl92aXN1YWxseUNvbGxhcHNlZD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX21heGltaXplZD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2VuZE9mU2VyaWVzRGF0YUJhbm5lcj1udWxsLHRoaXMuX3NlbGVjdGlvbkJlZm9yZU1vdXNlRG93bj1uZXcgV2Vha1NldCx0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mbz1udWxsLHRoaXMuX2lnbm9yaW5nTW91c2VNb3ZlbWVudD0hMSx0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlcj0oKT0+dGhpcy5fc3RhdGUmJnRoaXMuX2NoYXJ0TW9kZWwoKS5saWdodFVwZGF0ZSgpLHRoaXMuX3VwZGF0ZVZpc3VhbGx5Q29sbGFwc2VkPSgpPT57dGhpcy5fdmlzdWFsbHlDb2xsYXBzZWQuc2V0VmFsdWUoIXRoaXMuc3RhdGUoKS5tYXhpbWl6ZWQoKS52YWx1ZSgpJiZ0aGlzLnN0YXRlKCkuY29sbGFwc2VkKCkudmFsdWUoKSl9LHRoaXMuX3VwZGF0ZU1heGltaXplZD0oKT0+e3RoaXMuX21heGltaXplZC5zZXRWYWx1ZSh0aGlzLnN0YXRlKCkubWF4aW1pemVkKCkudmFsdWUoKSl9LHRoaXMuX2NoYXJ0PWUsdGhpcy5fc3RhdGU9dCx0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKF9uKSxpKSx0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlPXMsdGhpcy5fc3RhdGUmJnRoaXMuX3N1YnNjcmliZVRvU3RhdGUoKTtjb25zdCBuPXtjb250ZXh0TWVudUVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5wcmljZVNjYWxlQ29udGV4dE1lbnVFbmFibGVkLHByZXNzZWRNb3VzZU1vdmVTY2FsZTp0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnByaWNlLG1vdXNlV2hlZWxTY2FsZTp0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwsY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZDp0aGlzLl9vcHRpb25zLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQsdW5pdENvbnZlcnNpb25FbmFibGVkOnRoaXMuX29wdGlvbnMudW5pdENvbnZlcnNpb25FbmFibGVkLG1ldHJpY0NvbnZlcnNpb25FbmFibGVkOnRoaXMuX29wdGlvbnMubWV0cmljQ29udmVyc2lvbkVuYWJsZWQsY291bnRkb3duRW5hYmxlZDp0aGlzLl9vcHRpb25zLmNvdW50ZG93bkVuYWJsZWQsY3JvcHBlZFRpY2tNYXJrczp0aGlzLl9vcHRpb25zLmNyb3BwZWRUaWNrTWFya3N9O3ZvaWQgMCE9PXRoaXMuX29wdGlvbnMucHJpY2VTY2FsZUNvbnRleHRNZW51JiYobi5jb250ZXh0TWVudT10aGlzLl9vcHRpb25zLnByaWNlU2NhbGVDb250ZXh0TWVudSk7Y29uc3Qgcj0oZSx0LGkscyxyKT0+bmV3IERzKHRoaXMuX2NoYXJ0LHRoaXMsdGhpcy5fY2hhcnRVbmRvTW9kZWwoKSxpLHQsZSxuLHMsciksbz1lLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLGM9dGhpcy5fY2hhcnRNb2RlbCgpLnJlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyKCkscD17YmFja2dyb3VuZEJhc2VkVGhlbWU6ZS5iYWNrZ3JvdW5kQmFzZWRUaGVtZSgpLnNwYXduT3duZXJzaGlwKCksc3R1YkNvbnRleHRNZW51UHJvdmlkZXI6KCk9PlByb21pc2UucmVzb2x2ZShbXSksdGl0bGVzUHJvdmlkZXI6KCk9PltdLHJlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyOmMsZ2V0QmFja2dyb3VuZFRvcENvbG9yOigpPT50aGlzLl9jaGFydE1vZGVsKCkuYmFja2dyb3VuZFRvcENvbG9yKCkudmFsdWUoKSxnZXRCYWNrZ3JvdW5kQm90dG9tQ29sb3I6KCk9PnRoaXMuX2NoYXJ0TW9kZWwoKS5iYWNrZ3JvdW5kQ29sb3IoKS52YWx1ZSgpLHJlcXVlc3RSZXBhaW50OigpPT50aGlzLl9jaGFydE1vZGVsKCkubGlnaHRVcGRhdGUoKX07dGhpcy5fcm93RWxlbWVudD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9yb3dFbGVtZW50LnN0eWxlLmRpc3BsYXk9ImZsZXgiO2NvbnN0IF89e3Nob3dMYWJlbHM6ITF9O3RoaXMuX2xoc1ByaWNlQXhpc2VzQ29udGFpbmVyPXQubW9kZSgpPT09TS5QYW5lTW9kZS5SZWd1bGFyP25ldyBqaShvLCJsZWZ0IixyLHAsXyk6bmV3ICRzKGMsImxlZnQiKSx0aGlzLl9yaHNQcmljZUF4aXNlc0NvbnRhaW5lcj10Lm1vZGUoKT09PU0uUGFuZU1vZGUuUmVndWxhcj9uZXcgamkobywicmlnaHQiLHIscCxfKTpuZXcgJHMoYywicmlnaHQiKSx0aGlzLl9wYW5lQ2VsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9wYW5lQ2VsbC5jbGFzc0xpc3QuYWRkKCJjaGFydC1tYXJrdXAtdGFibGUiLCJwYW5lIiksdGhpcy5fcGFuZUNlbGwuc2V0QXR0cmlidXRlKCJkYXRhLXFhLWlkIiwicGFuZSIpLHRoaXMuX2Rpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9kaXYuY2xhc3NMaXN0LmFkZCgiY2hhcnQtZ3VpLXdyYXBwZXIiKSx0aGlzLl9kaXYuc2V0QXR0cmlidXRlKCJkYXRhLXFhLWlkIiwicGFuZS13aWRnZXQtY2hhcnQtZ3VpLXdyYXBwZXIiKSx0aGlzLl9wYW5lQ2VsbC5hcHBlbmRDaGlsZCh0aGlzLl9kaXYpLHRoaXMuX2NhbnZhc0JpbmRpbmc9KDAsS3QuY3JlYXRlQm91bmRDYW52YXMpKHRoaXMuX2RpdiwoMCx5dC5zaXplKSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuX2NhbnZhc0JpbmRpbmcuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpCjtjb25zdCBtPXRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudDttLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsbS5zdHlsZS5sZWZ0PSIwIixtLnN0eWxlLnRvcD0iMCIsbS5kYXRhc2V0Lm5hbWU9InBhbmUtY2FudmFzIix0aGlzLl90b3BDYW52YXNCaW5kaW5nPSgwLEt0LmNyZWF0ZUJvdW5kQ2FudmFzKSh0aGlzLl9kaXYsKDAseXQuc2l6ZSkoe3dpZHRoOjE2LGhlaWdodDoxNn0pKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKTtjb25zdCBnPXRoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudDtnLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsZy5zdHlsZS5sZWZ0PSIwIixnLnN0eWxlLnRvcD0iMCIsZy5kYXRhc2V0LnFhSWQ9InBhbmUtdG9wLWNhbnZhcyIsdGhpcy5fcm93RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lci5nZXRFbGVtZW50KCkpLHRoaXMuX3Jvd0VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcGFuZUNlbGwpLHRoaXMuX3Jvd0VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcmhzUHJpY2VBeGlzZXNDb250YWluZXIuZ2V0RWxlbWVudCgpKSxtLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIik7Y29uc3QgZj10aGlzLl9jaGFydE1vZGVsKCkubWFpblNlcmllcygpO2YuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQWNjZXNzaWJpbGl0eUF0dHIpLHRoaXMuX21haW5TZXJpZXNJbnRlcnZhbD1mLmludGVydmFsT2JqKCkuc3Bhd24oKSx0aGlzLl9tYWluU2VyaWVzSW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUFjY2Vzc2liaWxpdHlBdHRyLmJpbmQodGhpcykpLHRoaXMuX3VwZGF0ZUFjY2Vzc2liaWxpdHlBdHRyKCksdGhpcy5fb3B0aW9ucy5sZWdlbmRXaWRnZXRFbmFibGVkJiYodGhpcy5fb3B0aW9ucy5jdXN0b21MZWdlbmRXaWRnZXRGYWN0b3JpZXMmJih0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yeU1hcD10aGlzLl9vcHRpb25zLmN1c3RvbUxlZ2VuZFdpZGdldEZhY3RvcmllcyksdGhpcy5fbG9hZEFuZENyZWF0ZUxlZ2VuZFdpZGdldCgpKSx0aGlzLl9zdGF0ZSYmIXRoaXMuX2NoYXJ0LnJlYWRPbmx5KCkmJnRoaXMuX29wdGlvbnMuY29udHJvbHNFbmFibGVkJiZ0aGlzLl9sb2FkQW5kQ3JlYXRlUGFuZUNvbnRyb2xzV2lkZ2V0KHRoaXMuX3N0YXRlKSwoMCxacy5tYWduZXRFbmFibGVkKSgpLnN1YnNjcmliZSh0aGlzLl9vbk1hZ25ldFN0YXRlQ2hhbmdlZExpc3RlbmVyKSwoMCxYdC5zaGlmdFByZXNzZWQpKCkuc3Vic2NyaWJlKHRoaXMuX29uU2hpZnRLZXlTdGF0ZUNoYW5nZWRMaXN0ZW5lciksdGhpcy5fcGFuZUNlbGwuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLChlPT57ZS5kYXRhVHJhbnNmZXImJkFycmF5LmZyb20oZS5kYXRhVHJhbnNmZXIuZmlsZXMpLnNvbWUoanMuYmxvYkltYWdlRmlsdGVyKSYmZS5wcmV2ZW50RGVmYXVsdCgpfSkpLHRoaXMuX3BhbmVDZWxsLmFkZEV2ZW50TGlzdGVuZXIoImRyb3AiLChlPT57aWYod2luZG93LnVzZXIuaWQmJmUuZGF0YVRyYW5zZmVyJiZ0aGlzLl9zdGF0ZSl7Y29uc3QgdD1BcnJheS5mcm9tKGUuZGF0YVRyYW5zZmVyLmZpbGVzKS5maW5kKGpzLmJsb2JJbWFnZUZpbHRlcik7aWYodCl7ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGk9KDAsanMudXBsb2FkSW1hZ2UpKHQpLHM9VVJMLmNyZWF0ZU9iamVjdFVSTCh0KSxuPWFzeW5jKCk9Pnthd2FpdCgwLGtpLmVuc3VyZUxpbmVUb29sTG9hZGVkKSgiTGluZVRvb2xJbWFnZSIpLHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkucGFzdGVJbWFnZUFzTGluZVRvb2woaSxzLCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhdGUpKX07aS5jYXRjaCgoZT0+eygwLG5lLnNob3dDaGFydFdhcm5pbmdOb3RpZmljYXRpb24pKCJjb3B5Iix7dGl0bGU6cm4sdGV4dDplLm1lc3NhZ2V9KX0pKSxuKCl9fX0pKSx0aGlzLnNldEN1cnNvckZvclRvb2woKSx0aGlzLl9tb3VzZUV2ZW50SGFuZGxlcj1uZXcgd2kuTW91c2VFdmVudEhhbmRsZXIodGhpcy5fdG9wQ2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LHRoaXMse3RyZWF0VmVydFRvdWNoRHJhZ0FzUGFnZVNjcm9sbDohdGhpcy5fb3B0aW9ucy5oYW5kbGVTY3JvbGwudmVydFRvdWNoRHJhZyx0cmVhdEhvcnpUb3VjaERyYWdBc1BhZ2VTY3JvbGw6IXRoaXMuX29wdGlvbnMuaGFuZGxlU2Nyb2xsLmhvcnpUb3VjaERyYWcsc2hvdWxkQWxsb3dUb3VjaERyYWc6KCk9PiExfSksdGhpcy5fcGFuZUNlbGxNb3VzZUV2ZW50SGFuZGxlcj1uZXcgd2kuTW91c2VFdmVudEhhbmRsZXIodGhpcy5fcGFuZUNlbGwse2RvdWJsZVRhcEV2ZW50OnRoaXMuX3BhbmVEYmxDbGlja09yVGFwRXZlbnQuYmluZCh0aGlzKSxtb3VzZURvdWJsZUNsaWNrRXZlbnQ6dGhpcy5fcGFuZURibENsaWNrT3JUYXBFdmVudC5iaW5kKHRoaXMpfSx7c2hvdWxkQWxsb3dUb3VjaERyYWc6KCk9PiExLHRyZWF0VmVydFRvdWNoRHJhZ0FzUGFnZVNjcm9sbDohdGhpcy5fb3B0aW9ucy5oYW5kbGVTY3JvbGwudmVydFRvdWNoRHJhZyx0cmVhdEhvcnpUb3VjaERyYWdBc1BhZ2VTY3JvbGw6IXRoaXMuX29wdGlvbnMuaGFuZGxlU2Nyb2xsLmhvcnpUb3VjaERyYWd9KSx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3Q9bnVsbCx0aGlzLl9oaWdobGlnaHRlZFByaWNlQXhpc2VzLnN1YnNjcmliZSgoZT0+e3RoaXMuX2hpZ2hsaWdodFByaWNlQXhpc2VzQnlMYWJlbChlLm1hcCgoZT0+ZS5heGlzKSkpfSkpLHRoaXMuX3ByZXZQaW5jaFNjYWxlPTAsdGhpcy5faXNEZXN0cm95ZWQ9ITE7Y29uc3QgUz0oMCx1LmNvbWJpbmUpKChlPT57Y29uc3QgdD10aGlzLl9jaGFydC5wYW5lV2lkZ2V0U2VwYXJhdG9ycyh0aGlzKQo7cmV0dXJuW3Quc2VwYXJhdG9yQWJvdmU/LnNlbGVjdGVkKCk/LndlYWtSZWZlcmVuY2UoKT8/bmV3IGguV2F0Y2hlZFZhbHVlKCExKS5vd25lcnNoaXAoKSx0LnNlcGFyYXRvckJlbG93Py5zZWxlY3RlZCgpPy53ZWFrUmVmZXJlbmNlKCk/P25ldyBoLldhdGNoZWRWYWx1ZSghMSkub3duZXJzaGlwKCldfSksdGhpcy5fY2hhcnQucGFuZVdpZGdldHNXVigpLndlYWtSZWZlcmVuY2UoKSk7dGhpcy5fYW55U2VwYXJhdG9yU2VsZWN0ZWQ9KDAsdS5hY2N1bXVsYXRlKSgoZT0+ZS5zb21lKEJvb2xlYW4pKSxTLm93bmVyc2hpcCgpKX1kZXN0cm95KCl7dGhpcy5fY2hhcnQub25QYW5lV2lkZ2V0RGVzdHJveWVkKHRoaXMpO3RoaXMuX2NoYXJ0TW9kZWwoKS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c0ZhY3RvcnlNYXAuY2xlYXIoKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpLHRoaXMuX3RvcENhbnZhc0JpbmRpbmcuZGlzcG9zZSgpLHRoaXMuX2NhbnZhc0JpbmRpbmcudW5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlciksdGhpcy5fY2FudmFzQmluZGluZy5kaXNwb3NlKCksdGhpcy5fbGVnZW5kV2lkZ2V0JiYodGhpcy5fbGVnZW5kV2lkZ2V0LmRlc3Ryb3koKSx0aGlzLl9sZWdlbmRXaWRnZXQ9bnVsbCksbnVsbCE9PXRoaXMuX3BhbmVDb250cm9sc1Jlc2l6ZU9ic2VydmVyJiZ0aGlzLl9wYW5lQ29udHJvbHNSZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCksbnVsbCE9PXRoaXMuX3BhbmVDb250cm9scyYmKHRoaXMuX3BhbmVDb250cm9scy5kZXN0cm95KCksdGhpcy5fcGFuZUNvbnRyb2xzPW51bGwpLHRoaXMuX2xoc1ByaWNlQXhpc2VzQ29udGFpbmVyLmRlc3Ryb3koKSx0aGlzLl9yaHNQcmljZUF4aXNlc0NvbnRhaW5lci5kZXN0cm95KCksdGhpcy5oYXNTdGF0ZSgpJiZ0aGlzLl91bnN1YnNjcmliZUZyb21TdGF0ZSgpLCgwLFpzLm1hZ25ldEVuYWJsZWQpKCkudW5zdWJzY3JpYmUodGhpcy5fb25NYWduZXRTdGF0ZUNoYW5nZWRMaXN0ZW5lciksKDAsWHQuc2hpZnRQcmVzc2VkKSgpLnVuc3Vic2NyaWJlKHRoaXMuX29uU2hpZnRLZXlTdGF0ZUNoYW5nZWRMaXN0ZW5lciksdGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5vblBhbmVEZXN0cm95ZWQodGhpcyksdGhpcy5fZXJyb3JSZW5kZXJlciYmdGhpcy5fZXJyb3JSZW5kZXJlci50aGVuKChlPT57ZS5kZXN0cm95KCksdGhpcy5fZXJyb3JSZW5kZXJlcj1udWxsfSkpLHRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdD1udWxsLHRoaXMuX21vdXNlRXZlbnRIYW5kbGVyLmRlc3Ryb3koKSx0aGlzLl9wYW5lQ2VsbE1vdXNlRXZlbnRIYW5kbGVyLmRlc3Ryb3koKSx0aGlzLl9yb3dFbGVtZW50LnBhcmVudEVsZW1lbnQ/LnJlbW92ZUNoaWxkKHRoaXMuX3Jvd0VsZW1lbnQpLHRoaXMuX2FueVNlcGFyYXRvclNlbGVjdGVkLmRlc3Ryb3koKSx0aGlzLl9tYWluU2VyaWVzSW50ZXJ2YWwuZGVzdHJveSgpLHRoaXMuX2lzRGVzdHJveWVkPSEwfXVwZGF0ZU9wdGlvbnMoZSl7aWYoKDAsYS5tZXJnZSkodGhpcy5fb3B0aW9ucyxlKSwhMT09PWUubGVnZW5kV2lkZ2V0RW5hYmxlZCYmdGhpcy5fbGVnZW5kV2lkZ2V0JiYodGhpcy5fbGVnZW5kV2lkZ2V0LmRlc3Ryb3koKSx0aGlzLl9sZWdlbmRXaWRnZXQ9bnVsbCksZS5sZWdlbmRXaWRnZXRFbmFibGVkJiYhdGhpcy5fbGVnZW5kV2lkZ2V0JiYodGhpcy5fb3B0aW9ucy5jdXN0b21MZWdlbmRXaWRnZXRGYWN0b3JpZXMmJih0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yeU1hcD10aGlzLl9vcHRpb25zLmN1c3RvbUxlZ2VuZFdpZGdldEZhY3RvcmllcyksdGhpcy5fbG9hZEFuZENyZWF0ZUxlZ2VuZFdpZGdldCgpKSwhdGhpcy5fc3RhdGUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fc3RhdGUubW9kZSgpLGk9dGhpcy5fY2hhcnRNb2RlbCgpLnJlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyKCk7aWYodD09PU0uUGFuZU1vZGUuUmVndWxhciYmISh0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lciBpbnN0YW5jZW9mIGppKSl7dGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXIuZGVzdHJveSgpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLmRlc3Ryb3koKTtjb25zdCBlPXtzaG93TGFiZWxzOiExfSx0PXtjb250ZXh0TWVudUVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5wcmljZVNjYWxlQ29udGV4dE1lbnVFbmFibGVkLHByZXNzZWRNb3VzZU1vdmVTY2FsZTp0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnByaWNlLG1vdXNlV2hlZWxTY2FsZTp0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwsY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZDp0aGlzLl9vcHRpb25zLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQsdW5pdENvbnZlcnNpb25FbmFibGVkOnRoaXMuX29wdGlvbnMudW5pdENvbnZlcnNpb25FbmFibGVkLGNvdW50ZG93bkVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5jb3VudGRvd25FbmFibGVkLGNyb3BwZWRUaWNrTWFya3M6dGhpcy5fb3B0aW9ucy5jcm9wcGVkVGlja01hcmtzfSxzPShlLGkscyxuLHIpPT5uZXcgRHModGhpcy5fY2hhcnQsdGhpcyx0aGlzLl9jaGFydFVuZG9Nb2RlbCgpLHMsaSxlLHQsbixyKSxuPXRoaXMuX2NoYXJ0LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLHI9KCk9PnRoaXMuX2NoYXJ0TW9kZWwoKS5iYWNrZ3JvdW5kQ29sb3IoKS52YWx1ZSgpLG89KCk9PnRoaXMuX2NoYXJ0TW9kZWwoKS5iYWNrZ3JvdW5kVG9wQ29sb3IoKS52YWx1ZSgpLGE9e2JhY2tncm91bmRCYXNlZFRoZW1lOnRoaXMuX2NoYXJ0LmJhY2tncm91bmRCYXNlZFRoZW1lKCkuc3Bhd25Pd25lcnNoaXAoKSxzdHViQ29udGV4dE1lbnVQcm92aWRlcjooKT0+UHJvbWlzZS5yZXNvbHZlKFtdKSx0aXRsZXNQcm92aWRlcjooKT0+W10sCnJlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyOmksZ2V0QmFja2dyb3VuZFRvcENvbG9yOm8sZ2V0QmFja2dyb3VuZEJvdHRvbUNvbG9yOnIscmVxdWVzdFJlcGFpbnQ6KCk9PnRoaXMuX2NoYXJ0TW9kZWwoKS5saWdodFVwZGF0ZSgpfTt0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lcj1uZXcgamkobiwibGVmdCIscyxhLGUpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyPW5ldyBqaShuLCJyaWdodCIscyxhLGUpLHRoaXMuX3Jvd0VsZW1lbnQuaW5uZXJIVE1MPSIiLHRoaXMuX3Jvd0VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXIuZ2V0RWxlbWVudCgpKSx0aGlzLl9yb3dFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3BhbmVDZWxsKSx0aGlzLl9yb3dFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLmdldEVsZW1lbnQoKSl9dCE9PU0uUGFuZU1vZGUuV2lkZ2V0fHx0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lciBpbnN0YW5jZW9mICRzfHwodGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXIuZGVzdHJveSgpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLmRlc3Ryb3koKSx0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lcj1uZXcgJHMoaSwibGVmdCIpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyPW5ldyAkcyhpLCJyaWdodCIpLHRoaXMuX3Jvd0VsZW1lbnQuaW5uZXJIVE1MPSIiLHRoaXMuX3Jvd0VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXIuZ2V0RWxlbWVudCgpKSx0aGlzLl9yb3dFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3BhbmVDZWxsKSx0aGlzLl9yb3dFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLmdldEVsZW1lbnQoKSkpfXNpemUoKXtyZXR1cm4gdGhpcy5fc2l6ZX1zZXRTaXplKGUpeygwLHl0LmVxdWFsU2l6ZXMpKHRoaXMuX3NpemUsZSl8fCh0aGlzLl9zaXplPWUsdGhpcy5fY2FudmFzQmluZGluZy5yZXNpemVDYW52YXNFbGVtZW50KGUpLHRoaXMuX3RvcENhbnZhc0JpbmRpbmcucmVzaXplQ2FudmFzRWxlbWVudChlKSx0aGlzLl9wYW5lQ2VsbC5zdHlsZS53aWR0aD1lLndpZHRoKyJweCIsdGhpcy5fcGFuZUNlbGwuc3R5bGUuaGVpZ2h0PWUuaGVpZ2h0KyJweCIsdGhpcy5fZGl2LnN0eWxlLndpZHRoPWUud2lkdGgrInB4Iix0aGlzLl9kaXYuc3R5bGUuaGVpZ2h0PWUuaGVpZ2h0KyJweCIsdGhpcy5fcm93RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCJqcy1oaWRkZW4iLDA9PT1lLmhlaWdodCksbnVsbCE9PXRoaXMuX2xlZ2VuZFdpZGdldCYmdGhpcy5fbGVnZW5kV2lkZ2V0LnVwZGF0ZVdpZGdldE1vZGVCeVNpemUoZSksbnVsbCE9PXRoaXMuX3BhbmVDb250cm9scyYmdGhpcy5fcGFuZUNvbnRyb2xzLnVwZGF0ZVdpZGdldE1vZGVCeVdpZHRoKGUud2lkdGgpKX13aWR0aCgpe3JldHVybiB0aGlzLl9zaXplLndpZHRofWhlaWdodCgpe3JldHVybiB0aGlzLl9zaXplLmhlaWdodH1iYWNrZ3JvdW5kQ29sb3IoKXtyZXR1cm4gdGhpcy5fY2hhcnRNb2RlbCgpLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCl9aGlnaGxpZ2h0ZWRQcmljZUF4aXNlcygpe3JldHVybiB0aGlzLl9oaWdobGlnaHRlZFByaWNlQXhpc2VzfXByb2Nlc3NEb3VibGVDbGlja09uU291cmNlKGUsdCxpKXtpZigoMCxyaS5pc0VkaXRhYmxlVGV4dExpbmVUb29sKShlKSl7Y29uc3QgdD1lLnRleHRFZGl0aW5nQWN0aXZhdGlvblRpbWUoKTtudWxsIT09dCYmcGVyZm9ybWFuY2Uubm93KCktdDw1MDAmJmUuZGVhY3RpdmF0ZVRleHRFZGl0aW5nKCl9aWYoKDAscWkuaXNBbGVydExhYmVsKShlKSl7Y29uc3QgdD1lLmFsZXJ0KCkscz10LmlkKCkudmFsdWUoKTtpZih0LmlzTmV3KCkudmFsdWUoKSlyZXR1cm47KDAsVXMuZ2V0Q2hhcnRBbGVydHNGYWNhZGUpKCkudGhlbigoZT0+eygwLE10LnRyYWNrRXZlbnQpKCJjaGFydF9hbGVydCIsImVkaXQiLGBkb3VibGVfY2xpY2tfb25fJHtpPy5vcmlnaW4/PyJsaW5lIn1gKSxlLm9wZW5FZGl0RGlhbG9nKHMse2FjdGlvblNvdXJjZToiYWxlcnRfbGFiZWxfZG91YmxlX2NsaWNrIixkYXRhU291cmNlSHViOnRoaXMuX2NoYXJ0TW9kZWwoKSxtZXRob2Q6ImFsZXJ0X2xhYmVsX2RvdWJsZV9jbGljayIsc291cmNlOiJjaGFydCJ9KX0pKX1lbHNlKDAsQWkuaXNEYXRhU291cmNlKShlKSYmZS5pZCgpIT09dGhpcy5fbGFzdEZpbmlzaGVkVG9vbElkJiZ0aGlzLl9zaG93RWRpdERpYWxvZ0ZvclNvdXJjZShlLHQpfXN0cmV0Y2hGYWN0b3IoKXtyZXR1cm4gdGhpcy5fc3RhdGU/dGhpcy5fc3RhdGUuc3RyZXRjaEZhY3RvcigpOjB9c2V0U3RyZXRjaEZhY3RvcihlKXt0aGlzLmhhc1N0YXRlKCkmJnRoaXMuc3RhdGUoKS5zZXRTdHJldGNoRmFjdG9yKGUpfXNldEN1cnNvckZvclRvb2woZSx0LGkpe2lmKHQmJnQubW9kKCkmJmUmJmUhPT10aGlzLl9jaGFydE1vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkpcmV0dXJuIHZvaWQgdGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJwb2ludGVyIik7aWYodm9pZCAwIT09aSl7c3dpdGNoKGkpe2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuVmVydGljYWxSZXNpemU6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJucy1yZXNpemUiKTticmVhaztjYXNlIFlzLlBhbmVDdXJzb3JUeXBlLkhvcml6b250YWxSZXNpemU6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJldy1yZXNpemUiKTticmVhaztjYXNlIFlzLlBhbmVDdXJzb3JUeXBlLkRpYWdvbmFsTmVTd1Jlc2l6ZTp0aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoIm5lc3ctcmVzaXplIik7YnJlYWs7Y2FzZSBZcy5QYW5lQ3Vyc29yVHlwZS5EaWFnb25hbE53U2VSZXNpemU6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJud3NlLXJlc2l6ZSIpO2JyZWFrO2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuRGVmYXVsdDp0aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoImRlZmF1bHQiKTticmVhaztjYXNlIFlzLlBhbmVDdXJzb3JUeXBlLlBvaW50ZXI6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJwb2ludGVyIik7YnJlYWsKO2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuR3JhYmJpbmc6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJncmFiYmluZyIpO2JyZWFrO2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuVGV4dDp0aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoInRleHQiKTticmVhaztjYXNlIFlzLlBhbmVDdXJzb3JUeXBlLk5vbmU6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJub25lIil9cmV0dXJufWNvbnN0IHM9VC50b29sLnZhbHVlKCk7aWYoKDAsVC50b29sSXNDdXJzb3IpKHMpKXtpZihudWxsIT09dGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5kcmFnZ2luZ1NvdXJjZSgpfHx0aGlzLl9pc1Njcm9sbGluZ3x8dGhpcy5fY2hhcnRVbmRvTW9kZWwoKSYmdGhpcy5fY2hhcnRVbmRvTW9kZWwoKS5tb2RlbCgpLnNvdXJjZXNCZWluZ01vdmVkKCkubGVuZ3RoKXJldHVybiB2b2lkIHRoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgiZ3JhYmJpbmciKTtpZihlJiZ0aGlzLl9vcHRpb25zLnNvdXJjZVNlbGVjdGlvbkVuYWJsZWQpcmV0dXJuIHZvaWQgdGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJwb2ludGVyIil9bGV0IG49IiI7c3dpdGNoKHMpe2Nhc2UiZXJhc2VyIjpuPSJlcmFzZXIiO2JyZWFrO2Nhc2Uiem9vbSI6bj0iem9vbS1pbiJ9aWYoIW4pc3dpdGNoKFQuY3Vyc29yVG9vbC52YWx1ZSgpKXtjYXNlImFycm93IjpuPSJkZWZhdWx0IjticmVhaztjYXNlImRvdCI6bj0iZG90IjticmVhaztjYXNlImRlbW9uc3RyYXRpb24iOm49ImRlbW9uc3RyYXRpb24iO2JyZWFrO2Nhc2UicGVyZm9ybWFuY2UiOm49InBlcmZvcm1hbmNlIn10aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUobil9c2hvd0NvbnRleHRNZW51Rm9yU2VsZWN0aW9uKGUsdCxpKXtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuc2VsZWN0aW9uKCk7aWYocy5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IG49cy5kYXRhU291cmNlcygpLmZpbHRlcigoZT0+ZS5oYXNDb250ZXh0TWVudSgpKSk7dGhpcy5zaG93Q29udGV4dE1lbnVGb3JTb3VyY2VzKG4sZSx2b2lkIDAsdCxpKX1hc3luYyBzaG93Q29udGV4dE1lbnVGb3JTb3VyY2VzKGUsdCxpLHMsbil7aWYoIWUubGVuZ3RofHwhdGhpcy5fc3RhdGUpcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtjb25zdHtBY3Rpb25zUHJvdmlkZXI6cn09YXdhaXQoMCxzcy5hY3Rpb25zUHJvdmlkZXJNb2R1bGUpKCk7aWYodGhpcy5faXNEZXN0cm95ZWQpcmV0dXJuIG51bGw7Y29uc3Qgbz1lWzBdLGw9KDAsYS5tZXJnZSkoKDAsYS5jbG9uZSkodGhpcy5fb3B0aW9ucy5jb250ZXh0TWVudSksaXx8e30pLGM9bmV3IHIodGhpcy5fY2hhcnQsbCk7aWYobz09PXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkpcmV0dXJuIG8uaGFuZGxlQ29udGV4dE1lbnVFdmVudCh0KSxQcm9taXNlLnJlc29sdmUobnVsbCk7e2NvbnN0IGk9YXdhaXQgYy5jb250ZXh0TWVudUFjdGlvbnNGb3JTb3VyY2VzKGUsdGhpcy5fc3RhdGUsdCxzPy5vcmlnaW4sbj8uZGF0YSgpPy5jdXN0b21BY3Rpb25zKTtpZigwPT09aS5sZW5ndGgpcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTt7bGV0IGU9e21lbnVOYW1lOiIifTtyZXR1cm4gbyBpbnN0YW5jZW9mIGVuLlNlcmllcz9lPXttZW51TmFtZTpzPy5vcmlnaW4/PyJPYmplY3RUcmVlQ29udGV4dE1lbnUiLGRldGFpbDp7dHlwZToic2VyaWVzIixpZDpvLmluc3RhbmNlSWQoKX19OigwLHJpLmlzTGluZVRvb2wpKG8pP2U9e21lbnVOYW1lOnM/Lm9yaWdpbj8/Ik9iamVjdFRyZWVDb250ZXh0TWVudSIsZGV0YWlsOnt0eXBlOiJzaGFwZSIsaWQ6bz8uaWQoKT8/bnVsbH19OigwLHRpLmlzU3R1ZHkpKG8pJiYoZT17bWVudU5hbWU6cz8ub3JpZ2luPz8iT2JqZWN0VHJlZUNvbnRleHRNZW51IixkZXRhaWw6e3R5cGU6InN0dWR5IixpZDpvPy5pZCgpfHxudWxsfX0pLE5pLkNvbnRleHRNZW51TWFuYWdlci5jcmVhdGVNZW51KGkse3Rha2VGb2N1czohMCxyZXR1cm5Gb2N1czohMCxpc0tleWJvYXJkRXZlbnQ6bC5pc0tleWJvYXJkRXZlbnQsc3RhdE5hbWU6by5jb250ZXh0TWVudVN0YXROYW1lKCl9LGUscz8ub25DbG9zZSkudGhlbigoZT0+KGUuc2hvdyh0KSxlKSkpfX19bGVmdFByaWNlQXhpc2VzQ29udGFpbmVyKCl7cmV0dXJuIHRoaXMuX2xoc1ByaWNlQXhpc2VzQ29udGFpbmVyfXJpZ2h0UHJpY2VBeGlzZXNDb250YWluZXIoKXtyZXR1cm4gdGhpcy5fcmhzUHJpY2VBeGlzZXNDb250YWluZXJ9c2V0UHJpY2VBeGlzU2l6ZXMoZSx0LGkpe3RoaXMuX3ByaWNlQXhpc2VzQ29udGFpbmVyKGUpLnNldFNpemVzKHQsaSl9c3RhdGUoKXtyZXR1cm4oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N0YXRlKX1oYXNTdGF0ZSgpe3JldHVybiBudWxsIT09dGhpcy5fc3RhdGV9c2V0U3RhdGUoZSl7dGhpcy5fc3RhdGUhPT1lJiYodGhpcy5oYXNTdGF0ZSgpJiYodGhpcy5fdW5zdWJzY3JpYmVGcm9tU3RhdGUoKSx0aGlzLl9wYW5lQ29udHJvbHM/LmRlc3Ryb3koKSx0aGlzLl9wYW5lQ29udHJvbHM9bnVsbCksdGhpcy5fc3RhdGU9ZSx0aGlzLmhhc1N0YXRlKCkmJih0aGlzLnVwZGF0ZU9wdGlvbnModGhpcy5fb3B0aW9ucyksdGhpcy5fc3Vic2NyaWJlVG9TdGF0ZSgpLHRoaXMuX2xvYWRBbmRDcmVhdGVQYW5lQ29udHJvbHNXaWRnZXQodGhpcy5zdGF0ZSgpKSx0aGlzLnVwZGF0ZVByaWNlQXhpc1dpZGdldHNTdGF0ZXMoKSx0aGlzLl91cGRhdGVBY2Nlc3NpYmlsaXR5QXR0cigpKSl9Z2V0U2NyZWVuc2hvdERhdGEoZSl7Y29uc3QgdD1bXSxpPVtdO2xldCBzLG49W107Y29uc3Qgcj10aGlzLnN0YXRlKCksbz1yLm1vZGUoKT09PU0uUGFuZU1vZGUuV2lkZ2V0P1tdOnIuc291cmNlc0J5R3JvdXAoKS5wcmljZVNvdXJjZXMoKS5zbGljZSgpLnJldmVyc2UoKSxhPXRoaXMuX2NoYXJ0LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpO2Zvcihjb25zdCBsIG9mIG8pe2NvbnN0IG89bC5zdGF0dXNWaWV3KCk7aWYoKDAsCnRpLmlzU3R1ZHkpKGwpJiYoYS5zaG93TGVnZW5kLnZhbHVlKCl8fGU/LnNob3dDb2xsYXBzZWRTdHVkaWVzKSl7Y29uc3Qgcz1hLnNob3dTdHVkeVRpdGxlcy52YWx1ZSgpLG49ITA7aWYobC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ0aGlzLl9jaGFydE1vZGVsKCkucGFuZUZvclNvdXJjZShsKT09PXImJm8mJm4pe3QucHVzaChzP2wuc3RhdHVzUHJvdmlkZXIoZT8uc3RhdHVzKS50ZXh0KCk6IiIpO2NvbnN0IG49KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXNlX2xhc3RfdmlzaWJsZV9iYXJfdmFsdWVfaW5fbGVnZW5kIik/dGhpcy5fY2hhcnRNb2RlbCgpLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKT8ubGFzdEJhcigpPz9udWxsOm51bGwscj1sLmxlZ2VuZFZhbHVlc1Byb3ZpZGVyKCkuZ2V0VmFsdWVzKG4pO2kucHVzaChyKX19ZWxzZSBpZihsPT09dGhpcy5fY2hhcnRNb2RlbCgpLm1haW5TZXJpZXMoKSYmbyYmYS5zaG93U2VyaWVzVGl0bGUudmFsdWUoKSl7Y29uc3QgdD1sLnN0YXR1c1Byb3ZpZGVyKGU/LnN0YXR1c3x8e30pLmdldFNwbGl0VGl0bGUoKTtzPU9iamVjdC52YWx1ZXModCkuZmlsdGVyKChlPT4iIiE9PWUpKS5qb2luKCIgwrcgIik7Y29uc3QgaT0oMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfbGFzdF92aXNpYmxlX2Jhcl92YWx1ZV9pbl9sZWdlbmQiKT90aGlzLl9jaGFydE1vZGVsKCkudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpPy5sYXN0QmFyKCk/P251bGw6bnVsbDtuPWwubGVnZW5kVmFsdWVzUHJvdmlkZXIoKS5nZXRWYWx1ZXMoaSl9fXJldHVybnt0eXBlOiJwYW5lIixsZWZ0QXhpczp0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lci5nZXRTY3JlZW5zaG90RGF0YSgpLHJpZ2h0QXhpczp0aGlzLl9yaHNQcmljZUF4aXNlc0NvbnRhaW5lci5nZXRTY3JlZW5zaG90RGF0YSgpLGNvbnRlbnQ6dGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LnRvRGF0YVVSTCgpLGNhbnZhczp0aGlzLl9jYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnQsY29udGVudFdpZHRoOnRoaXMuX3NpemUud2lkdGgsY29udGVudEhlaWdodDp0aGlzLl9zaXplLmhlaWdodCxzdHVkaWVzOnQsc3R1ZGllc1ZhbHVlczppLGNvbnRhaW5zTWFpblNlcmllczp0aGlzLmNvbnRhaW5zTWFpblNlcmllcygpLG1haW5TZXJpZXNUZXh0OnMsbWFpblNlcmllc1ZhbHVlczpufX11cGRhdGVQcmljZUF4aXNXaWRnZXRzU3RhdGVzKCl7aWYoIXRoaXMuaGFzU3RhdGUoKSlyZXR1cm47Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsKCksdD1lLnBhbmVGb3JTb3VyY2UoZS5tYWluU2VyaWVzKCkpO2lmKHQpaWYodGhpcy5fc3RhdGU/Lm1vZGUoKT09PU0uUGFuZU1vZGUuUmVndWxhcil7Y29uc3QgaT1lLnByaWNlU2NhbGVTbG90c0NvdW50KCkscz10aGlzLnN0YXRlKCksbj1zLnZpc2libGVMZWZ0UHJpY2VTY2FsZXMoKSxyPXMudmlzaWJsZVJpZ2h0UHJpY2VTY2FsZXMoKTt0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lci5zZXRTY2FsZXMobixpLmxlZnQsdC5sZWZ0UHJpY2VTY2FsZXMoKS5sZW5ndGgsaS5sZWZ0K2kucmlnaHQpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLnNldFNjYWxlcyhyLGkucmlnaHQsdC5yaWdodFByaWNlU2NhbGVzKCkubGVuZ3RoLGkubGVmdCtpLnJpZ2h0KX1lbHNlIHRoaXMuX3N0YXRlPy5tb2RlKCk9PT1NLlBhbmVNb2RlLldpZGdldCYmKHRoaXMuX2xoc1ByaWNlQXhpc2VzQ29udGFpbmVyLnNldFBhbmUodGhpcy5fc3RhdGUpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLnNldFBhbmUodGhpcy5fc3RhdGUpKX11cGRhdGVQcmljZUF4aXNXaWRnZXRzKCl7dGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXIudXBkYXRlKCksdGhpcy5fcmhzUHJpY2VBeGlzZXNDb250YWluZXIudXBkYXRlKCl9dXBkYXRlKCl7dGhpcy5oYXNTdGF0ZSgpJiYodGhpcy51cGRhdGVQcmljZUF4aXNXaWRnZXRzKCksbnVsbCE9PXRoaXMuX2xlZ2VuZFdpZGdldCYmdGhpcy5fbGVnZW5kV2lkZ2V0LnVwZGF0ZSgpLHRoaXMudXBkYXRlQ29udHJvbHMoKSl9dXBkYXRlU3RhdHVzV2lkZ2V0KGUpe3RoaXMuaGFzU3RhdGUoKSYmbnVsbCE9PXRoaXMuX2xlZ2VuZFdpZGdldCYmKGUubGVnZW5kV2lkZ2V0TGF5b3V0SW52YWxpZGF0ZWQoKT90aGlzLl9sZWdlbmRXaWRnZXQudXBkYXRlTGF5b3V0KCk6dGhpcy5fbGVnZW5kV2lkZ2V0LnVwZGF0ZSgpKX11cGRhdGVDb250cm9scygpe3RoaXMuaGFzU3RhdGUoKSYmbnVsbCE9PXRoaXMuX3BhbmVDb250cm9scyYmdGhpcy5fcGFuZUNvbnRyb2xzLnVwZGF0ZSgpfXVwZGF0ZVRoZW1lZENvbG9ycyhlKXt0aGlzLl90aGVtZWRUb3BDb2xvcj1lLnRvcENvbG9yLHRoaXMuX3VwZGF0ZUJ5VGhlbWVkQ29sb3JzKCl9c3RhdHVzV2lkZ2V0KCl7cmV0dXJuIHRoaXMuX2xlZ2VuZFdpZGdldH1nZXRFbGVtZW50KCl7cmV0dXJuIHRoaXMuX3Jvd0VsZW1lbnR9Y2FudmFzRWxlbWVudCgpe3JldHVybiB0aGlzLl9jYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnR9Z2V0UmVuZGVyaW5nSW5mbygpe3JldHVybigwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl9jYW52YXNCaW5kaW5nKX1oYXNDYW52YXMoZSl7cmV0dXJuIHRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudD09PWV8fHRoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudD09PWV9cGluY2hTdGFydEV2ZW50KCl7cmV0dXJuIG51bGw9PT10aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnNjcm9sbGluZ1BhbmUoKSYmbnVsbD09PXRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUucGluY2hpbmdQYW5lKCkmJih0aGlzLl9vblRvdWNoRXZlbnQoKSwhIXRoaXMuX29wdGlvbnMuaGFuZGxlU2NhbGUucGluY2gmJih0aGlzLl9jaGFydE1vZGVsKCkuc3RvcFRpbWVTY2FsZUFuaW1hdGlvbigpLHRoaXMuX3ByZXZQaW5jaFNjYWxlPTEsdGhpcy5fcGluY2hpbmc9ITAsdGhpcy5fd2FzUGluY2hlZD0hMCx0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnNldFBpbmNoaW5nUGFuZSh0aGlzKSwhMCkpfQpwaW5jaEV2ZW50KGUsdCxpLHMpe2lmKG51bGwhPT10aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnNjcm9sbGluZ1BhbmUoKXx8dGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5waW5jaGluZ1BhbmUoKSE9PXRoaXMpcmV0dXJuO2lmKHRoaXMuX29uVG91Y2hFdmVudCgpLCF0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLnBpbmNoKXJldHVybjtjb25zdCBuPTEwKihzLXRoaXMuX3ByZXZQaW5jaFNjYWxlKTt0aGlzLl9wcmV2UGluY2hTY2FsZT1zLHRoaXMuX2NoYXJ0TW9kZWwoKS56b29tVGltZShlLngsbiwhMCksdGhpcy5fcHJldlBpbmNoU2NhbGU9c31waW5jaEVuZEV2ZW50KCl7bnVsbD09PXRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUuc2Nyb2xsaW5nUGFuZSgpJiZ0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnBpbmNoaW5nUGFuZSgpPT09dGhpcyYmKHRoaXMuX29uVG91Y2hFdmVudCgpLHRoaXMuX3BpbmNoaW5nPSExLHRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUuc2V0UGluY2hpbmdQYW5lKG51bGwpKX1tb3VzZUNsaWNrRXZlbnQoZSl7dGhpcy5fb25Nb3VzZUV2ZW50KCksdGhpcy5fbW91c2VDbGlja09yVGFwRXZlbnQoZSl9dGFwRXZlbnQoZSl7dGhpcy5fcHJldmVudFRvdWNoRXZlbnRzRXhjZXB0UGluY2goKXx8KHRoaXMuX29uVG91Y2hFdmVudCgpLHRoaXMuX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpKX1tb3VzZURvd25FdmVudChlKXt0aGlzLl9vbk1vdXNlRXZlbnQoKSx0aGlzLmhhc1N0YXRlKCkmJnRoaXMuX21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUsdGhpcy5fZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpKX10b3VjaFN0YXJ0RXZlbnQoZSl7aWYodGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5zdGFydFRvdWNoKHRoaXMpLHRoaXMuX3ByZXZlbnRUb3VjaEV2ZW50c0V4Y2VwdFBpbmNoKCkpcmV0dXJuO2NvbnN0IHQ9IXRoaXMuX3RyYWNrQ3Jvc3NoYWlyT25seUFmdGVyTG9uZ1RhcCYmbnVsbCE9PVNuJiZTbi5zdGF0ZUlkPT09dGhpcy5zdGF0ZSgpLmlkKCkmJk1hdGguYWJzKFNuLngtZS5sb2NhbFgpK01hdGguYWJzKFNuLnktZS5sb2NhbFkpPDU7dGhpcy5fb25Ub3VjaEV2ZW50KCksdGhpcy5fY2hhcnQuc2V0QWN0aXZlUGFuZVdpZGdldCh0aGlzKTtjb25zdCBpPXRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTtpZih0KXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKTtudWxsIT09aSYmaS5zb3VyY2U9PT10fHx0LnNlbGVjdFBvaW50TW9kZSgpLnZhbHVlKCkhPT1ULlNlbGVjdFBvaW50TW9kZS5Ob25lP3RoaXMuc3RhcnRUcmFja2luZ01vZGUobmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxuZXcgUHQuUG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpKTohdGhpcy5fY2hhcnQucmVhZE9ubHkoKSYmbnVsbCE9PWkmJigoMCxyaS5pc0xpbmVUb29sKShpLnNvdXJjZSkmJmkuc291cmNlLnVzZXJFZGl0RW5hYmxlZCgpfHwoMCxxaS5pc0FsZXJ0TGFiZWwpKGkuc291cmNlKSkmJnRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKHQ9Pntjb25zdCBzPXt0eXBlOiJjaGFuZ2UiLG5ld1NlbGVjdGVkU291cmNlOmkuc291cmNlLGludGVyYWN0aW9uVHlwZTplLmlzVG91Y2g/InRvdWNoIjoicG9pbnRlciJ9O3Quc2VsZWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlKHMpJiYodC5jbGVhclNlbGVjdGlvbigpLHQuYWRkSXRlbVRvU2VsZWN0aW9uKGkuc291cmNlLGkuaGl0dGVzdC5kYXRhKCkpKX0pKX10aGlzLl9tb3VzZURvd25PclRvdWNoU3RhcnRFdmVudChlLGkpLHRoaXMuX21vdXNlT3JUb3VjaE1vdmVFdmVudChlKX1tb3VzZVVwRXZlbnQoZSl7dGhpcy5fb25Nb3VzZUV2ZW50KCksdGhpcy5fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKX10b3VjaEVuZEV2ZW50KGUpe3RoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUuZW5kVG91Y2godGhpcyksdGhpcy5fcHJldmVudFRvdWNoRXZlbnRzRXhjZXB0UGluY2goKXx8KHRoaXMuX29uVG91Y2hFdmVudCgpLHRoaXMuX21vdXNlT3JUb3VjaExlYXZlRXZlbnQoZSksdGhpcy5fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKSl9bW91c2VNb3ZlRXZlbnQoZSl7dGhpcy5fb25Nb3VzZUV2ZW50KCksdGhpcy5fbW91c2VPclRvdWNoTW92ZUV2ZW50KGUpfXByZXNzZWRNb3VzZU1vdmVFdmVudChlKXt0aGlzLl9vbk1vdXNlRXZlbnQoKSx0aGlzLl9jaGFydC5jaGFydEZsb2F0aW5nVG9vbHRpcFZpc2libGUoKT9udWxsIT09dGhpcy5fY2hhcnQuYWN0aXZlUGFuZVdpZGdldCgpLnZhbHVlKCkmJnRoaXMuX21vdXNlT3JUb3VjaE1vdmVFdmVudChlKTp0aGlzLl9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpfXRvdWNoTW92ZUV2ZW50KGUpe3RoaXMuX3ByZXZlbnRUb3VjaEV2ZW50c0V4Y2VwdFBpbmNoKCl8fCh0aGlzLl9vblRvdWNoRXZlbnQoKSx0aGlzLl9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpKX1tb3VzZUxlYXZlRXZlbnQoZSl7dGhpcy5fb25Nb3VzZUV2ZW50KCksdGhpcy5fdXBkYXRlSG92ZXJlZFNvdXJjZShudWxsLG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKSx0aGlzLl9tb3VzZU9yVG91Y2hMZWF2ZUV2ZW50KGUpfW1vdXNlRG91YmxlQ2xpY2tFdmVudChlKXt0aGlzLl9vbk1vdXNlRXZlbnQoKSx0aGlzLl9tb3VzZURvdWJsZUNsaWNrT3JEb3VibGVUYXBFdmVudChlKX13aGVlbENsaWNrRXZlbnQoZSl7aWYodGhpcy5fY2hhcnQucmVhZE9ubHkoKSlyZXR1cm47Y29uc3QgdD10aGlzLl9kYXRhU291cmNlQXRQb2ludChlLmxvY2FsWCxlLmxvY2FsWSk7aWYobnVsbD09PXR8fHQuaXNDdXN0b20pcmV0dXJuO2lmKCh0LmhpdHRlc3QudGFyZ2V0KCl8fDApPD1NaS5IaXRUYXJnZXQuTW92ZVBvaW50QmFja2dyb3VuZClyZXR1cm47Y29uc3QgaT1uZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKSxzPXQuaGl0dGVzdC5lcmFzZU1hcmtlcigpCjtpZihpLm1vZCgpJiZ2b2lkIDAhPT1zJiZ0LnNvdXJjZS5wcm9jZXNzRXJhc2UpcmV0dXJuIHZvaWQgdC5zb3VyY2UucHJvY2Vzc0VyYXNlKHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkscyk7Y29uc3Qgbj10aGlzLl9jaGFydFVuZG9Nb2RlbCgpO24uc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0LnNvdXJjZSl8fG4uc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCk7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHQuc291cmNlKTtlLmFkZEl0ZW1Ub1NlbGVjdGlvbihpLHVuKHQsaSkpfSkpLHRoaXMuX2NoYXJ0LnJlbW92ZVNlbGVjdGVkU291cmNlcygpfWRvdWJsZVRhcEV2ZW50KGUpe3RoaXMuX3ByZXZlbnRUb3VjaEV2ZW50c0V4Y2VwdFBpbmNoKCl8fCh0aGlzLl9vblRvdWNoRXZlbnQoKSx0aGlzLl9tb3VzZURvdWJsZUNsaWNrT3JEb3VibGVUYXBFdmVudChlKSl9bG9uZ1RhcEV2ZW50KGUpe2lmKG51bGw9PT10aGlzLl9zdGF0ZXx8dGhpcy5fcHJldmVudFRvdWNoRXZlbnRzRXhjZXB0UGluY2goKSlyZXR1cm47aWYodGhpcy5fb25Ub3VjaEV2ZW50KCksdGhpcy5fbG9uZ1RhcD0hMCxudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50fHwhdGhpcy5fdHJhY2tpbmdNb2RlU2hvdWxkQmVBY3RpdmUoKSlyZXR1cm47Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsKCkuc2VsZWN0aW9uKCk7aWYoIXQuaXNFbXB0eSgpKXtjb25zdCBpPXRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTtpZihudWxsIT09aSYmdC5pc1NlbGVjdGVkKGkuc291cmNlKSlyZXR1cm59dGhpcy5zdGFydFRyYWNraW5nTW9kZShuZXcgUHQuUG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpLG5ldyBQdC5Qb2ludChlLmxvY2FsWCxlLmxvY2FsWSksbmV3IExpLkVudmlyb25tZW50U3RhdGUoZSkpfW1vdXNlRW50ZXJFdmVudChlKXtpZih0aGlzLl9vbk1vdXNlRXZlbnQoKSwhdGhpcy5oYXNTdGF0ZSgpKXJldHVybjt0aGlzLl9jaGFydC5zZXRBY3RpdmVQYW5lV2lkZ2V0KHRoaXMpO2NvbnN0IHQ9dGhpcy5fZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpO3RoaXMuX3VwZGF0ZUhvdmVyZWRTb3VyY2UodCxuZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKSksdGhpcy5zZXRDdXJzb3JQb3NpdGlvbihlLmxvY2FsWCxlLmxvY2FsWSxuZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKSl9Y29udGV4dE1lbnVFdmVudChlKXt0aGlzLl9vbk1vdXNlRXZlbnQoKSx0aGlzLl9jb250ZXh0TWVudUV2ZW50KGUpfXRvdWNoQ29udGV4dE1lbnVFdmVudChlKXt0aGlzLl9wcmV2ZW50VG91Y2hFdmVudHNFeGNlcHRQaW5jaCgpfHwodGhpcy5fb25Ub3VjaEV2ZW50KCksdGhpcy5fY29udGV4dE1lbnVFdmVudChlKSl9bW91c2VEb3duT3V0c2lkZUV2ZW50KGUpe3RoaXMuX3Byb2Nlc3NPdXRzaWRlQ2xpY2sobnVsbCxlKX10b3VjaFN0YXJ0T3V0c2lkZUV2ZW50KGUpe3RoaXMuX3Byb2Nlc3NPdXRzaWRlQ2xpY2sobnVsbCxlKX1jYW5jZWxab29tKCl7dGhpcy5fY2hhcnRNb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLmNsZWFyU2VsZWN0aW9uKCksdGhpcy5fZmlyc3Rab29tUG9pbnQ9bnVsbCx0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpJiZ0aGlzLl9jbGVhckN1cnNvclBvc2l0aW9uKCl9c3RhcnRUcmFja2luZ01vZGUoZSx0LGkpe3RoaXMuc3RhdGUoKS5tb2RlKCkhPT1NLlBhbmVNb2RlLldpZGdldCYmKHRoaXMuX3N0YXJ0Q2hhbmdlTGluZVRvb2xQYXJhbXM9bnVsbCx0aGlzLl9zdGFydE1vdmVTb3VyY2VQYXJhbXM9bnVsbCx0aGlzLl9jdXJyZW50Q2hhbmdpbmdMaW5lVG9vbEhpdFRlc3Q9bnVsbCx0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdD1udWxsLHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKGU9PmUuY2xlYXJTZWxlY3Rpb24oKSkpLHRoaXMuX3N0YXJ0VHJhY2tQb2ludD1lLHRoaXMuX2V4aXRUcmFja2luZ01vZGVPbk5leHRUcnk9ITEsdGhpcy5zZXRDdXJzb3JQb3NpdGlvbih0LngsdC55LGkpLHRoaXMuX2luaXRDcm9zc0hhaXJQb3NpdGlvbj10aGlzLl9jaGFydE1vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkuY3VycmVudFBvaW50KCkpfXNldERyYWdUb0Fub3RoZXJQYW5lQ3Vyc29yKCl7dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJncmFiYmluZyIpfWNsb25lTGluZVRvb2xzKGUsdCl7cmV0dXJuIHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuY2xvbmVMaW5lVG9vbHMoZSx0KX1leGl0VHJhY2tpbmdNb2RlKCl7bnVsbCE9PXRoaXMuX3N0YXRlJiZudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50JiYodGhpcy5fZXhpdFRyYWNraW5nTW9kZU9uTmV4dFRyeT0hMCx0aGlzLl90cnlFeGl0VHJhY2tpbmdNb2RlKCkpfXRyYWNraW5nTW9kZUVuYWJsZWQoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX3N0YXRlJiZudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50fWFkZEN1c3RvbVdpZGdldFRvTGVnZW5kKGUsdCl7dGhpcy5fb3B0aW9ucy5sZWdlbmRXaWRnZXRFbmFibGVkJiYodGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c0ZhY3RvcnlNYXAuc2V0KGUsdCksbnVsbCE9PXRoaXMuX2xlZ2VuZFdpZGdldCYmdGhpcy5fbGVnZW5kV2lkZ2V0LmFkZEN1c3RvbVdpZGdldFRvTGVnZW5kKGUsdCkpfWNvbnRhaW5zTWFpblNlcmllcygpe3JldHVybiEhdGhpcy5oYXNTdGF0ZSgpJiZ0aGlzLnN0YXRlKCkuY29udGFpbnNNYWluU2VyaWVzKCl9cGFpbnQoZSx0KXtpZighdGhpcy5fY2hhcnRVbmRvTW9kZWwoKXx8IXRoaXMuaGFzU3RhdGUoKXx8MD09PXRoaXMuX3NpemUud2lkdGh8fDA9PT10aGlzLl9zaXplLmhlaWdodClyZXR1cm47KDAsS3QudHJ5QXBwbHlTdWdnZXN0ZWRDYW52YXNCaXRtYXBTaXplKSh0aGlzLl9jYW52YXNCaW5kaW5nKSwoMCxLdC50cnlBcHBseVN1Z2dlc3RlZENhbnZhc0JpdG1hcFNpemUpKHRoaXMuX3RvcENhbnZhc0JpbmRpbmcpLAp0aGlzLl9zdGF0ZSYmKGUucHJpY2VTY2FsZVNpZGVNYXhMZXZlbCgibGVmdCIpPkxlLkludmFsaWRhdGlvbkxldmVsLkN1cnNvcnx8ZS5wcmljZVNjYWxlU2lkZU1heExldmVsKCJyaWdodCIpPkxlLkludmFsaWRhdGlvbkxldmVsLkN1cnNvcikmJih0aGlzLl9yZWNhbGN1bGF0ZVByaWNlU2NhbGVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKHRoaXMuc3RhdGUoKSkpLG51bGwhPT1TbiYmU24uc3RhdGVJZD09PXRoaXMuc3RhdGUoKS5pZCgpJiYodGhpcy5faXNTZWxlY3RQb2ludE1vZGVFbmFibGVkKCk/dGhpcy5zZXRDdXJzb3JQb3NpdGlvbihTbi54LFNuLnksU24uZW52U3RhdGUpOnRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKS52aXNpYmxlP3RoaXMuX3RyYWNrQ3Jvc3NoYWlyT25seUFmdGVyTG9uZ1RhcCYmbnVsbD09PXRoaXMuX3N0YXJ0VHJhY2tQb2ludCYmIXRoaXMuX2Nyb3NzSGFpclNob3VsZEJlVmlzaWJsZSgpfHx0aGlzLnNldEN1cnNvclBvc2l0aW9uKFNuLngsU24ueSxTbi5lbnZTdGF0ZSk6U249bnVsbCkpO2NvbnN0IGk9ZS5mdWxsSW52YWxpZGF0aW9uKCk7aWYoaT5MZS5JbnZhbGlkYXRpb25MZXZlbC5DdXJzb3ImJm51bGwhPT1TbiYmU24uc3RhdGVJZD09PXRoaXMuc3RhdGUoKS5pZCgpKXtjb25zdCBlPXRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KFNuLngsU24ueSk7dGhpcy5fdXBkYXRlSG92ZXJlZFNvdXJjZShlLCgwLFh0Lmdsb2JhbEVudmlyb25tZW50U3RhdGUpKCkpfWlmKHRoaXMuX2xoc1ByaWNlQXhpc2VzQ29udGFpbmVyLnBhaW50KGUuZ2V0dGVyRm9yUHJpY2VTY2FsZUludmFsaWRhdGlvbkxldmVsQnlTaWRlKCJsZWZ0IiksdCksdGhpcy5fcmhzUHJpY2VBeGlzZXNDb250YWluZXIucGFpbnQoZS5nZXR0ZXJGb3JQcmljZVNjYWxlSW52YWxpZGF0aW9uTGV2ZWxCeVNpZGUoInJpZ2h0IiksdCksaT09PUxlLkludmFsaWRhdGlvbkxldmVsLk5vbmUpcmV0dXJuO2NvbnN0IHM9dGhpcy5fc3RhdGUmJih0aGlzLl9zdGF0ZS5tYXhpbWl6ZWQoKS52YWx1ZSgpfHwhdGhpcy5fc3RhdGUuY29sbGFwc2VkKCkudmFsdWUoKXx8dGhpcy5fc3RhdGUubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQpO2lmKGk+TGUuSW52YWxpZGF0aW9uTGV2ZWwuQ3Vyc29yKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LmdldENvbnRleHQoIjJkIikpO2Uuc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKTtjb25zdCB0PSgwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl9jYW52YXNCaW5kaW5nKTt0aGlzLl9tYWtlU3VyZUlzVXBkYXRlZCh0KSx0aGlzLl9kcmF3QmFja2dyb3VuZChlLHQpLHMmJnRoaXMuX2RyYXdTb3VyY2VzKGUsdCl9aWYobnVsbCE9PXRoaXMuX3N0YXRlKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fdG9wQ2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LmdldENvbnRleHQoIjJkIikpO2Uuc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKTtjb25zdCB0PSgwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl90b3BDYW52YXNCaW5kaW5nKTtlLmNsZWFyUmVjdCgwLDAsdC5iaXRtYXBTaXplLndpZHRoLHQuYml0bWFwU2l6ZS5oZWlnaHQpLHMmJnRoaXMuX2RyYXdUb3BWaWV3cyhlLHQpLHRoaXMuX2RyYXdDcm9zc0hhaXIoZSx0KSxzJiZ0aGlzLl9kcmF3QWN0aXZlTGluZVRvb2xzKGUsdCl9dGhpcy5fdXBkYXRlRW5kT2ZTZXJpZXNCYW5uZXIoKX1jYW5jZWxDcmVhdGluZ0xpbmVUb29sKCl7Y29uc3QgZT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLHQ9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKS5saW5lQmVpbmdDcmVhdGVkKCk7aWYodClpZih0LnBvaW50c0NvdW50KCk8PTAmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKHQudG9vbG5hbWUpKXtjb25zdCBpPXQucG9pbnRzKCk7aWYoaS5sZW5ndGg+Mil7Y29uc3Qgcz1pW2kubGVuZ3RoLTJdO2UuY29udGludWVDcmVhdGluZ0xpbmUocyksdGhpcy5fZmluaXNoVG9vbCh0KX1lbHNlIGUuY2FuY2VsQ3JlYXRpbmdMaW5lKCl9ZWxzZSBlLmNhbmNlbENyZWF0aW5nTGluZSgpO251bGwhPT10aGlzLl9maXJzdFpvb21Qb2ludCYmdGhpcy5jYW5jZWxab29tKCksdGhpcy5fY2xlYXJDdXJzb3JQb3NpdGlvbigpLHRoaXMuc2V0Q3Vyc29yRm9yVG9vbCgpfWFzeW5jIGRyYXdSaWdodFRoZXJlKGUsdCl7dGhpcy5oYXNTdGF0ZSgpJiYoYXdhaXQoMCxraS5lbnN1cmVMaW5lVG9vbExvYWRlZCkoZSksdGhpcy5fY2hhcnRVbmRvTW9kZWwoKS5kcmF3UmlnaHRUaGVyZShlLHRoaXMuc3RhdGUoKSx2b2lkIDAsdCkpfWNhbmNlbE1lYXN1cmluZygpe3RoaXMuX2NoYXJ0VW5kb01vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkuY2xlYXJNZWFzdXJlKCksKDAsVC5yZXNldFRvQ3Vyc29yKSgpLHRoaXMuc2V0Q3Vyc29yRm9yVG9vbCgpfWFzeW5jIHNldEVycm9yTWVzc2FnZShlKXtpZighZSYmIXRoaXMuX2Vycm9yUmVuZGVyZXIpcmV0dXJuO2lmKCF0aGlzLl9lcnJvclJlbmRlcmVyKXt0aGlzLl9lcnJvclJlbmRlcmVyPXRoaXMuX2NyZWF0ZUVycm9yQmxvY2soKTtjb25zdCBlPWF3YWl0IHRoaXMuX2Vycm9yUmVuZGVyZXI7aWYodGhpcy5faXNEZXN0cm95ZWQpcmV0dXJuO3RoaXMuX2Rpdi5pbnNlcnRCZWZvcmUoZS5jb250YWluZXIsdGhpcy5fdG9wQ2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50Lm5leHRTaWJsaW5nKX1sZXQgdDtpZihlKXtjb25zdCBpPXRoaXMuX3N0YXRlPy5jb250YWluc01haW5TZXJpZXMoKXx8dGhpcy5fc3RhdGU/Lm1heGltaXplZCgpLnZhbHVlKCk7dD17bWVzc2FnZTppP2UubWVzc2FnZTp2b2lkIDAsdGl0bGU6ZS50aXRsZSxpY29uOmk/ZS5pY29uOnZvaWQgMCxiYWNrZ3JvdW5kQ29sb3I6YGxpbmVhci1ncmFkaWVudCgke3RoaXMuX2NoYXJ0TW9kZWwoKS5iYWNrZ3JvdW5kVG9wQ29sb3IoKS52YWx1ZSgpfSwgJHt0aGlzLl9jaGFydE1vZGVsKCkuYmFja2dyb3VuZENvbG9yKCkudmFsdWUoKX0pYCx0aGVtZTp0aGlzLl9jaGFydE1vZGVsKCkuYmFja2dyb3VuZFRoZW1lKCkudmFsdWUoKSwKYnV0dG9uczp0aGlzLmNvbnRhaW5zTWFpblNlcmllcygpP2UuYnV0dG9uczp2b2lkIDAsbWFpblBhbmU6aX19KGF3YWl0IHRoaXMuX2Vycm9yUmVuZGVyZXIpLnVwZGF0ZSh0KX1jb2xsYXBzZWRIZWlnaHQoKXtyZXR1cm4gTWF0aC5tYXgoTWF0aC5jZWlsKHRoaXMuX3BhbmVDb250cm9scz8uYm90dG9tV2l0aE1hcmdpbigpPz8wKSwzMyl9dmlzdWFsbHlDb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy5fdmlzdWFsbHlDb2xsYXBzZWQucmVhZG9ubHkoKX1tYXhpbWl6ZWQoKXtyZXR1cm4gdGhpcy5fbWF4aW1pemVkLnJlYWRvbmx5KCl9c2V0Q3Vyc29yUG9zaXRpb24oZSx0LGkpe3RoaXMuX3VwZGF0ZUxhc3RDcm9zc2hhaXJQb3NpdGlvbihlLHQsaSksdGhpcy5fY2hhcnRNb2RlbCgpLnNldEFuZFNhdmVDdXJyZW50UG9zaXRpb24odGhpcy5fY29ycmVjdFhDb29yZChlKSx0aGlzLl9jb3JyZWN0WUNvb3JkKHQpLHRoaXMuc3RhdGUoKSxpKX1kYXRhU291cmNlQXRQb2ludChlLHQpe3JldHVybiB0aGlzLl9kYXRhU291cmNlQXRQb2ludChlLHQpPy5zb3VyY2U/P251bGx9X3RyeUV4aXRUcmFja2luZ01vZGUoZSl7dGhpcy5fZXhpdFRyYWNraW5nTW9kZU9uTmV4dFRyeSYmKHRoaXMuX3N0YXJ0VHJhY2tQb2ludD1udWxsLGV8fHRoaXMuX2NsZWFyQ3Vyc29yUG9zaXRpb24oKSl9X3RyeVN0YXJ0TWVhc3VyZShlLHQsaSxzLG4pe3JldHVybiEoISgwLFQudG9vbElzTWVhc3VyZSkoVC50b29sLnZhbHVlKCkpfHx0LnN0YXJ0TWVhc3VyZVBvaW50KCkpJiYoZS5pc1RvdWNofHx0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpfHx0aGlzLnNldEN1cnNvclBvc2l0aW9uKGUubG9jYWxYLGUubG9jYWxZLGkpLHM9dGhpcy5fY2hhcnRNb2RlbCgpLm1hZ25ldCgpLmFsaWduKHMsbix0aGlzLnN0YXRlKCkpLHQuc3RhcnRNZWFzdXJpbmcoe3ByaWNlOnMsaW5kZXg6bn0sdGhpcy5zdGF0ZSgpKSwhMCl9X3RyeUZpbmlzaE1lYXN1cmUoZSx0KXtpZih0LnN0YXJ0TWVhc3VyZVBvaW50KCkmJiF0LmVuZE1lYXN1cmVQb2ludCgpKXtsZXQgaT10LnByaWNlO2NvbnN0IHM9dC5pbmRleDtyZXR1cm4gaT10aGlzLl9jaGFydE1vZGVsKCkubWFnbmV0KCkuYWxpZ24oaSxzLHRoaXMuc3RhdGUoKSksdC5maW5pc2hNZWFzdXJlKHtwcmljZTppLGluZGV4OnN9KSxlLmlzVG91Y2g/KDAsVC5yZXNldFRvQ3Vyc29yKSgpOnRoaXMuX25lZWRSZXNldE1lYXN1cmVMYXRlcj0hMCx0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpJiZ0aGlzLl9jbGVhckN1cnNvclBvc2l0aW9uKCksITB9cmV0dXJuITF9X3RyeVN0YXJ0Wm9vbShlLHQsaSxzKXtjb25zdCBuPXRoaXMuX2NoYXJ0Lm1vZGVsKCkubW9kZWwoKS56b29tRW5hYmxlZCgpO2lmKCJ6b29tIj09PVQudG9vbC52YWx1ZSgpJiZuKXtjb25zdCBuPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkscj1uLnRpbWVTY2FsZSgpLmluZGV4VG9Db29yZGluYXRlKGkpLS41Km4udGltZVNjYWxlKCkuYmFyU3BhY2luZygpO3JldHVybiB0aGlzLl9maXJzdFpvb21Qb2ludD17cHJpY2U6dCxpbmRleDppLHg6cix5OmUubG9jYWxZfSx0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpfHx0aGlzLnNldEN1cnNvclBvc2l0aW9uKGUubG9jYWxYLGUubG9jYWxZLHMpLHRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKS5zdGFydFNlbGVjdGlvbih0aGlzLnN0YXRlKCkpLCEwfXJldHVybiExfV9maW5pc2hab29tKGUpe2NvbnN0IHQ9dGhpcy5zdGF0ZSgpLGk9dC5kZWZhdWx0UHJpY2VTY2FsZSgpLHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0Lm1haW5EYXRhU291cmNlKCkpLmZpcnN0VmFsdWUoKSxuPWkuY29vcmRpbmF0ZVRvUHJpY2UoZS5sb2NhbFksKDAsbC5lbnN1cmVOb3ROdWxsKShzKSkscj10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLG89TWF0aC5yb3VuZChyLnRpbWVTY2FsZSgpLmNvb3JkaW5hdGVUb0luZGV4KGUubG9jYWxYKSksYT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2ZpcnN0Wm9vbVBvaW50KTtvIT09YS5pbmRleCYmci56b29tVG9WaWV3cG9ydChhLmluZGV4LG8sYS5wcmljZSxuLHQpLHRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKS5jbGVhclNlbGVjdGlvbigpLHRoaXMuX2ZpcnN0Wm9vbVBvaW50PW51bGwsKDAsVC5yZXNldFRvQ3Vyc29yKSgpLHRoaXMuX3ByZXZlbnRDcm9zc0hhaXJNb3ZlKCkmJnRoaXMuX2NsZWFyQ3Vyc29yUG9zaXRpb24oKX1fdHJ5RmluaXNoWm9vbShlKXtyZXR1cm4gbnVsbCE9PXRoaXMuX2ZpcnN0Wm9vbVBvaW50JiYodGhpcy5fZmluaXNoWm9vbShlKSwhMCl9X3RyeUhhbmRsZUVyYXNlck1vdXNlRG93bihlLHQpe2lmKCgwLFQudG9vbElzRXJhc2VyKShULnRvb2wudmFsdWUoKSkmJiFlLmlzQ3VzdG9tJiYoIShpPWUuc291cmNlKXx8IWkuY3VzdG9taXphdGlvbnx8IWkuY3VzdG9taXphdGlvbi5kaXNhYmxlRXJhc2luZykpe2NvbnN0IGk9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKTtpZigoMCxyaS5pc0xpbmVUb29sKShlLnNvdXJjZSl8fCgwLHRpLmlzU3R1ZHkpKGUuc291cmNlKSl7Y29uc3Qgcz1lLmhpdHRlc3QuZXJhc2VNYXJrZXIoKTtyZXR1cm4gdC5tb2QoKSYmdm9pZCAwIT09cyYmZS5zb3VyY2UucHJvY2Vzc0VyYXNlP2Uuc291cmNlLnByb2Nlc3NFcmFzZShpLHMpOmkucmVtb3ZlU291cmNlKGUuc291cmNlLCExKSwhMH19dmFyIGk7cmV0dXJuITF9X3RyeVN0YXJ0Q2hhbmdpbmdMaW5lVG9vbChlLHQsaSxzKXtpZihlLmlzVG91Y2gmJm51bGwhPT10aGlzLl9zdGFydFRyYWNrUG9pbnQpcmV0dXJuITE7Y29uc3Qgbj10LmhpdHRlc3Q7aWYoKCFlLmlzVG91Y2h8fCF0aGlzLl9wcmV2ZW50U291cmNlQ2hhbmdlKSYmbiYmKDAscmkuaXNMaW5lVG9vbCkodC5zb3VyY2UpJiZuLnRhcmdldCgpPT09TWkuSGl0VGFyZ2V0LkNoYW5nZVBvaW50KXtjb25zdCByPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbz0oMCxsLmVuc3VyZSkodGhpcy5zdGF0ZSgpLm1haW5EYXRhU291cmNlKCk/LmZpcnN0VmFsdWUoKSksYT1uLmRhdGEoKT8ub3duZXJTb3VyY2VJZCxjPSgwLApsLmVuc3VyZU5vdE51bGwpKGE/dGhpcy5fY2hhcnRNb2RlbCgpLmRhdGFTb3VyY2VGb3JJZChhKTp0LnNvdXJjZS5vd25lclNvdXJjZSgpKSxoPSgwLGwuZW5zdXJlTm90TnVsbCkoYy5wcmljZVNjYWxlKCkpLmNvb3JkaW5hdGVUb1ByaWNlKGUubG9jYWxZLG8pO3Iuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCksZS5hZGRJdGVtVG9TZWxlY3Rpb24odC5zb3VyY2Usbi5kYXRhKCkpfSkpO2xldCBkPWg7dC5zb3VyY2UucHJpY2VTY2FsZSgpPT09ci5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpJiYoZD1yLm1vZGVsKCkubWFnbmV0KCkuYWxpZ24oaCxzLHRoaXMuc3RhdGUoKSkpO2NvbnN0IHU9bi5kYXRhKCk/Lm5vbkRpc2NyZXRlSW5kZXg7dSYmKHM9ci50aW1lU2NhbGUoKS5jb29yZGluYXRlVG9GbG9hdEluZGV4KGUubG9jYWxYKSk7Y29uc3QgcD1uLmRhdGEoKT8ucG9pbnRJbmRleDtyZXR1cm4gdGhpcy5fc3RhcnRDaGFuZ2VMaW5lVG9vbFBhcmFtcz17c291cmNlOnQuc291cmNlLG93bmVyU291cmNlOmMsc3RhcnRQb2ludDp7aW5kZXg6cyxwcmljZTpkLG5vbkRpc2NyZXRlSW5kZXg6dX0sc2NyZWVuUG9pbnQ6e3g6ZS5sb2NhbFgseTplLmxvY2FsWX0scG9pbnRJbmRleDpwLGVudlN0YXRlOml9LCEwfXJldHVybiB0aGlzLl9zdGFydENoYW5nZUxpbmVUb29sUGFyYW1zPW51bGwsITF9X3RyeVN0YXJ0Q2xvbmluZyhlLHQsaSxzKXtpZihpLm1vZCgpKXtjb25zdCB0PXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuc2VsZWN0aW9uKCkuZGF0YVNvdXJjZXMoKS5maWx0ZXIoKGU9PmUuY2xvbmVhYmxlKCkpKTtpZihzJiZzLmNsb25lYWJsZSgpJiZ0LnB1c2gocyksdC5sZW5ndGg+MClyZXR1cm4gdGhpcy5fY2xvbm5pbmdBdE1vdmVMaW5lVG9vbHM9dC5tYXAoKGU9PmUuaWQoKSkpLHRoaXMuX3N0YXJ0Q2xvbmluZ1BvaW50PW5ldyBQdC5Qb2ludChlLmxvY2FsWCxlLmxvY2FsWSksITB9cmV0dXJuITF9X3RyeUZpbmlzaENsb25uaW5nKGUsdCxpKXtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbj10aGlzLl9jaGFydE1vZGVsKCk7aWYodC5tb2QoKSYmdGhpcy5fY2xvbm5pbmdBdE1vdmVMaW5lVG9vbHMpe2NvbnN0IHI9bmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxvPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhcnRDbG9uaW5nUG9pbnQpLnN1YnRyYWN0KHIpLmxlbmd0aCgpLGE9W107Zm9yKGNvbnN0IGUgb2YgdGhpcy5fY2xvbm5pbmdBdE1vdmVMaW5lVG9vbHMpe2NvbnN0IHQ9bi5kYXRhU291cmNlRm9ySWQoZSk7bnVsbCE9PXQmJmEucHVzaCh0KX1pZigwPT09YS5sZW5ndGgpcmV0dXJuITE7aWYobz44KXtjb25zdCBuPXRoaXMuY2xvbmVMaW5lVG9vbHMoYSwhMCkubWFwKChlPT4oMCxsLmVuc3VyZU5vdE51bGwpKHMubW9kZWwoKS5kYXRhU291cmNlRm9ySWQoZSkpKSk7cy5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKTtsZXQgdD1udWxsO24uZm9yRWFjaCgocz0+e251bGw9PT10JiYodD11bihpLHMpKSxlLmFkZEl0ZW1Ub1NlbGVjdGlvbihzLHQpfSkpfSkpO2NvbnN0IHI9bmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxvPSgwLGwuZW5zdXJlTm90TnVsbCkoblswXS5wcmljZVNjYWxlKCkpLGM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnN0YXRlKCkubWFpbkRhdGFTb3VyY2UoKSkuZmlyc3RWYWx1ZSgpLGg9e2luZGV4OnMudGltZVNjYWxlKCkuY29vcmRpbmF0ZVRvSW5kZXgoZS5sb2NhbFgpLHByaWNlOm8uY29vcmRpbmF0ZVRvUHJpY2UoZS5sb2NhbFksKDAsbC5lbnN1cmVOb3ROdWxsKShjKSl9O3Muc3RhcnRNb3ZpbmdTb3VyY2VzKG4se2xvZ2ljYWw6aCxzY3JlZW46cn0sbnVsbCx0KSx0aGlzLl9jbG9ubmluZ0F0TW92ZUxpbmVUb29scz1udWxsLHRoaXMuX3N0YXJ0Q2xvbmluZ1BvaW50PW51bGx9cmV0dXJuITB9cmV0dXJuITF9X21vdXNlRG93bkV2ZW50Rm9yTGluZVRvb2woZSx0LGkscyl7Y29uc3Qgbj1ULnRvb2wudmFsdWUoKTtpZighdGhpcy5oYXNTdGF0ZSgpfHwoMCxtLmlzTGluZVRvb2xEcmF3V2l0aG91dFBvaW50cykobil8fHRoaXMuc3RhdGUoKS5tb2RlKCk9PT1NLlBhbmVNb2RlLldpZGdldClyZXR1cm47Y29uc3Qgcj10aGlzLl9jaGFydFVuZG9Nb2RlbCgpO2xldCBvPSExLGE9bnVsbDsoMCxULmhpZGVBbGxEcmF3aW5ncykoKS52YWx1ZSgpJiYoMCxSdC50b2dnbGVIaWRlT3B0aW9ucykoITEpLCgwLFQubG9ja0RyYXdpbmdzKSgpLnNldFZhbHVlKCExKSxlLmlzVG91Y2gmJiFlLnN0eWx1cyYmKCgwLG0uaXNMaW5lVG9vbE5hbWUpKG4pJiYhKDAsbS5pc0xpbmVEcmF3bldpdGhQcmVzc2VkQnV0dG9uKShuKXx8ci5saW5lQmVpbmdDcmVhdGVkKCkpJiZ0aGlzLl9pbml0VG9vbENyZWF0aW9uTW9kZVBhcmFtcyhlKTtjb25zdCBjPXIubGluZUJlaW5nQ3JlYXRlZCgpO2lmKGMmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKGMudG9vbG5hbWUpKXtjb25zdCBuPSgwLGwuZW5zdXJlKShjLm93bmVyU291cmNlKCk/LmZpcnN0VmFsdWUoKSk7aWYoZS5pc1RvdWNoJiYhZS5zdHlsdXMpe2lmKCF0aGlzLl9zdGFydFRvdWNoUG9pbnQpe3RoaXMuX3N0YXJ0VG91Y2hQb2ludD1uZXcgUHQuUG9pbnQoZS5wYWdlWCxlLnBhZ2VZKTtjb25zdCB0PWMucG9pbnRzKCksaT10W3QubGVuZ3RoLTFdLHM9ci50aW1lU2NhbGUoKS5pbmRleFRvQ29vcmRpbmF0ZShpLmluZGV4KSxvPSgwLGwuZW5zdXJlTm90TnVsbCkoYy5wcmljZVNjYWxlKCkpLnByaWNlVG9Db29yZGluYXRlKGkucHJpY2Usbik7cmV0dXJuIHZvaWQodGhpcy5faW5pdENyb3NzSGFpclBvc2l0aW9uPW5ldyBQdC5Qb2ludChzLG8pKX19ZWxzZSBpZighZS5pc1RvdWNoKXthPWM7Y29uc3QgaD1yLm1vZGVsKCkucGFuZUJlaW5nQ3JlYXRlZExpbmVPbigpO2lmKGghPT10aGlzLl9zdGF0ZSYmbnVsbCE9PWgpe2NvbnN0IGk9dGhpcy5fZXh0ZXJuYWxQYW5lWENvb3JkKGgsZS5sb2NhbFgpLHM9dGhpcy5fZXh0ZXJuYWxQYW5lWUNvb3JkKGgsZS5sb2NhbFkpO289ci5jb250aW51ZUNyZWF0aW5nTGluZSh7CmluZGV4Ok1hdGgucm91bmQoci50aW1lU2NhbGUoKS5jb29yZGluYXRlVG9JbmRleChpKSkscHJpY2U6KDAsbC5lbnN1cmUpKGMucHJpY2VTY2FsZSgpPy5jb29yZGluYXRlVG9QcmljZShzLG4pKX0sdCl9ZWxzZXtjb25zdCBlPXIubW9kZWwoKS5tYWduZXQoKS5hbGlnbihzLGksdGhpcy5zdGF0ZSgpKTtvPXIuY29udGludWVDcmVhdGluZ0xpbmUoe2luZGV4OmkscHJpY2U6ZX0sdCl9fX1lbHNle2NvbnN0IHQ9KDAsbS5pc0xpbmVEcmF3bldpdGhQcmVzc2VkQnV0dG9uKShuKTtpZighZS5pc1RvdWNofHxlLnN0eWx1c3x8dCl7Y29uc3QgZT1udWxsPT09Y3x8KDAscmkuaXNCcnVzaEJhc2VkTGluZVRvb2wpKGMpJiZjLmhhc09ubHlPbmVQb2ludCgpLGw9e2luZGV4OmkscHJpY2U6dCYmIWU/czpyLm1vZGVsKCkubWFnbmV0KCkuYWxpZ24ocyxpLHRoaXMuc3RhdGUoKSl9O2E9ci5jcmVhdGVMaW5lVG9vbCh7cGFuZTp0aGlzLnN0YXRlKCkscG9pbnQ6bCxsaW5ldG9vbDpuLGFjdGlvblNvdXJjZToiRHJhdyIsa2VlcFNlbGVjdGVkR3JvdXA6ITB9KSx0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mbyYmKHRoaXMuX21vdXNlVG91Y2hEb3duVXBJbmZvLnRvb2xDcmVhdGlvbj0hMCksci5saW5lQmVpbmdDcmVhdGVkKCl8fChvPSEwKX19Y29uc3QgaD10aGlzLl9kYXRhU291cmNlQXRQb2ludChlLmxvY2FsWCxlLmxvY2FsWSk7YSYmci5zZWxlY3Rpb25NYWNybygoZT0+e2UuYWRkSXRlbVRvU2VsZWN0aW9uKCgwLGwuZW5zdXJlTm90TnVsbCkoYSksaD8uaGl0dGVzdC5kYXRhKCkpfSkpLG8mJmEmJih0aGlzLl9maW5pc2hUb29sKGEsaCksZS5wcmV2ZW50RGVmYXVsdCgpKX1faGFuZGxlU2VsZWN0aW9uTW91c2VEb3duQW5kR2V0SnVzdERlc2VsZWN0ZWRTb3VyY2UoZSx0LGkpe2NvbnN0IHM9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKTtsZXQgbj1udWxsO2lmKG51bGw9PT10fHx0LnNvdXJjZS5pc1NlbGVjdGlvbkVuYWJsZWQoKSl7Y29uc3Qgcj10Py5oaXR0ZXN0LmRhdGEoKT8uc2tpcFNvdXJjZVNlbGVjdGlvbjtzLnNlbGVjdGlvbk1hY3JvKChzPT57aWYodGhpcy5fcHJldmVudFNvdXJjZUNoYW5nZXx8bnVsbD09PXR8fHJ8fCEoZS5pc1RvdWNoP3QuaGl0dGVzdC50YXJnZXQoKT49TWkuSGl0VGFyZ2V0Lk1vdmVQb2ludEJhY2tncm91bmQ6dC5oaXR0ZXN0LnRhcmdldCgpPk1pLkhpdFRhcmdldC5Nb3ZlUG9pbnRCYWNrZ3JvdW5kKSl7aWYoIWkubW9kKCkpe2NvbnN0IHQ9e3R5cGU6ImNsZWFyIixpbnRlcmFjdGlvblR5cGU6ZS5pc1RvdWNoPyJ0b3VjaCI6InBvaW50ZXIifTtzLnNlbGVjdGlvbk9wZXJhdGlvbkF2YWlsYWJsZSh0KSYmcy5jbGVhclNlbGVjdGlvbigpLHRoaXMuX2Nsb25uaW5nQXRNb3ZlTGluZVRvb2xzPW51bGwsdGhpcy5fc3RhcnRDbG9uaW5nUG9pbnQ9bnVsbH19ZWxzZSBpLm1vZCgpfHxzLnNlbGVjdGlvbigpLmlzU2VsZWN0ZWQodC5zb3VyY2UpfHxzLmNsZWFyU2VsZWN0aW9uKCksaS5tb2QoKSYmcy5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHQuc291cmNlKT8obj10LnNvdXJjZSxzLnJlbW92ZUl0ZW1Gcm9tU2VsZWN0aW9uKHQuc291cmNlKSk6cy5hZGRJdGVtVG9TZWxlY3Rpb24odC5zb3VyY2UsdC5oaXR0ZXN0LmRhdGEoKSkscy5zZWxlY3Rpb24oKS5hbGxJdGVtcygpLmxlbmd0aD4xJiYoMCxNdC50cmFja0V2ZW50KSgiR1VJIiwiTXVsdGlzZWxlY3QiLCJDbGljayBTZWxlY3QiKX0pKX1yZXR1cm4gbn1fcHJvY2Vzc01vdXNlTW92ZVdoaWxlWm9vbShlLHQpe3RoaXMuX3ByZXZlbnRDcm9zc0hhaXJNb3ZlKCl8fHRoaXMuc2V0Q3Vyc29yUG9zaXRpb24oZS5sb2NhbFgsZS5sb2NhbFksdCl9X3VwZGF0ZUNvbW1vblRvb2x0aXAoZSx0KXtsZXQgaT1udWxsO2lmKG51bGwhPT1lJiZudWxsIT09ZS5oaXR0ZXN0KXtjb25zdCB0PWUuaGl0dGVzdC5kYXRhKCk7dCYmKGk9dC50b29sdGlwfHxudWxsKX1pZihudWxsPT09dGhpcy5fcHJldlRvb2x0aXBEYXRhJiZudWxsPT09aSlyZXR1cm47aWYobnVsbD09PWl8fCIiPT09aS50ZXh0KXJldHVybiB0aGlzLl9wcmV2VG9vbHRpcERhdGE9bnVsbCx2b2lkKDAsS3MuaGlkZSkodCk7aWYodGhpcy5fcHJldlRvb2x0aXBEYXRhJiYoMCxzLmRlZmF1bHQpKGksdGhpcy5fcHJldlRvb2x0aXBEYXRhKSlyZXR1cm47dGhpcy5fcHJldlRvb2x0aXBEYXRhPWk7Y29uc3Qgbj0oMCxhLmNsb25lKShpKTtpZih2b2lkIDAhPT1uLnJlY3Qpe2NvbnN0IGU9dGhpcy5fcGFuZUNlbGwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7bi5yZWN0LngrPWUubGVmdCxuLnJlY3QueSs9ZS50b3B9KDAsS3Muc2hvdykobil9X3NldEN1cnNvclBvc2l0aW9uT25FeHRlcm5hbFBhbmUoZSx0LGkscyl7dD10aGlzLl9leHRlcm5hbFBhbmVYQ29vcmQoZSx0KSxpPXRoaXMuX2V4dGVybmFsUGFuZVlDb29yZChlLGkpO3RoaXMuX2NoYXJ0LnBhbmVCeVN0YXRlKGUpLnNldEN1cnNvclBvc2l0aW9uKHQsaSxzKX1fdXBkYXRlTGFzdENyb3NzaGFpclBvc2l0aW9uKGUsdCxpKXtjb25zdCBzPXRoaXMuc3RhdGUoKS5pZCgpO1NuPXt4OmUseTp0LGVudlN0YXRlOmksc3RhdGVJZDpzfX1fc2V0Q3Vyc29yQ2xhc3NOYW1lKGUpe2xldCB0PSIiO2UmJih0PSJwYW5lLS1jdXJzb3ItIitlKSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lIT09dCYmKHRoaXMuX2N1cnJlbnRDdXJzb3JDbGFzc05hbWUmJnRoaXMuX3BhbmVDZWxsLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5fY3VycmVudEN1cnNvckNsYXNzTmFtZSksdCYmdGhpcy5fcGFuZUNlbGwuY2xhc3NMaXN0LmFkZCh0KSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lPXQsdGhpcy5fcGFuZUNlbGwuc3R5bGUuY3Vyc29yKX1fcHJvY2Vzc01vdXNlVXBPclRvdWNoRW5kSGFuZGxlcihlKXtjb25zdCB0PXRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTtpZihudWxsIT09dCl7Y29uc3QgaT10aGlzLl9zb3VyY2VXYXNTZWxlY3RlZCh0KTt0LmhpdHRlc3QudHJ5Q2FsbE1vdXNlVXBPclRvdWNoRW5kSGFuZGxlcihlLHtzb3VyY2VXYXNTZWxlY3RlZDppfSl9fV9jcm9zc0hhaXJTaG91bGRCZVZpc2libGUoKXsKY29uc3QgZT10aGlzLl9jaGFydE1vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCk7cmV0dXJuKDAsbS5pc0xpbmVUb29sTmFtZSkoVC50b29sLnZhbHVlKCkpfHwoMCxULnRvb2xJc01lYXN1cmUpKFQudG9vbC52YWx1ZSgpKXx8ZS5zdGFydE1lYXN1cmVQb2ludCgpJiYhZS5lbmRNZWFzdXJlUG9pbnQoKXx8bnVsbCE9PXRoaXMuX2ZpcnN0Wm9vbVBvaW50fHxudWxsIT09dGhpcy5fY2hhcnRNb2RlbCgpLmxpbmVCZWluZ0VkaXRlZCgpfHxudWxsIT09dGhpcy5fY2hhcnRNb2RlbCgpLmxpbmVCZWluZ0NyZWF0ZWQoKX1fY2xlYXJDdXJzb3JQb3NpdGlvbigpe1NuPW51bGwsdGhpcy5fY2hhcnRNb2RlbCgpLmNsZWFyQ3VycmVudFBvc2l0aW9uKCl9X2RhdGFTb3VyY2VBdFBvaW50KGUsdCl7aWYoIXRoaXMuaGFzU3RhdGUoKSlyZXR1cm4gbnVsbDtjb25zdCBpPXtyZXN1bHQ6bnVsbH0scz10aGlzLl9jaGFydFVuZG9Nb2RlbCgpO2lmKCgwLG0uaXNMaW5lVG9vbE5hbWUpKFQudG9vbC52YWx1ZSgpKXx8bnVsbCE9PXMubGluZUJlaW5nQ3JlYXRlZCgpKXJldHVybiBpLnJlc3VsdDtpZih0aGlzLl9jdXJyZW50Q2hhbmdpbmdMaW5lVG9vbEhpdFRlc3QpcmV0dXJuIHRoaXMuX2N1cnJlbnRDaGFuZ2luZ0xpbmVUb29sSGl0VGVzdDtjb25zdCBuPW5ldyBTZXQ7aWYodGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3QmJnRoaXMuX2N1cnJlbnRNb3ZpbmdIaXRUZXN0LnNvdXJjZUF0UG9pbnQuaGl0dGVzdC5kYXRhKCkpe2lmKCF0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdC5jYW5jZWxsZWRDb250YWluZXI/LmNhbmNlbGxlZClyZXR1cm4gdGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Quc291cmNlQXRQb2ludDtuLmFkZCh0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdC5zb3VyY2VBdFBvaW50LnNvdXJjZS5pZCgpKX1pZih0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdCYmdGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Quc291cmNlQXRQb2ludC5oaXR0ZXN0LmRhdGEoKSYmIXRoaXMuX2N1cnJlbnRNb3ZpbmdIaXRUZXN0LmNhbmNlbGxlZENvbnRhaW5lcj8uY2FuY2VsbGVkKXJldHVybiB0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdC5zb3VyY2VBdFBvaW50O2NvbnN0IHI9dGhpcy5zdGF0ZSgpLG89KDAsS3QuZ2V0QmluZGluZ1JlbmRlcmluZ0luZm8pKHRoaXMuX2NhbnZhc0JpbmRpbmcpO3RoaXMuX21ha2VTdXJlSXNVcGRhdGVkKG8pO2NvbnN0IGE9cG4uYmluZChudWxsLGkpLGw9bmV3IFB0LlBvaW50KGUsdCk7aWYoIXIubWF4aW1pemVkKCkudmFsdWUoKSYmci5jb2xsYXBzZWQoKS52YWx1ZSgpfHwoMCx1aS5sYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKSgpLmlzVG91Y2gmJihULmFjdGl2ZVBvaW50U2VsZWN0aW9uTW9kZS52YWx1ZSgpIT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZXx8bnVsbCE9PXRoaXMuX3N0YXJ0VHJhY2tQb2ludCkpcmV0dXJuIHRoaXMuX2hpdFRlc3RTb3VyY2VzKG8sW3MuY3Jvc3NoYWlyU291cmNlKCldLGwsYSwhMSxuKSxpLnJlc3VsdDtjb25zdCBjPXIuc291cmNlc0J5R3JvdXAoKSxoPXMuc2VsZWN0aW9uKCksZD1oLmRhdGFTb3VyY2VzKCkuZmlsdGVyKChlPT5lLmlzTXVsdGlQYW5lRW5hYmxlZCgpfHxzLnBhbmVGb3JTb3VyY2UoZSk9PT1yKSk7dGhpcy5faGl0VGVzdFNvdXJjZXMobyxkLGwsYSwhMSxuKSx0aGlzLl9oaXRUZXN0U291cmNlcyhvLGguY3VzdG9tU291cmNlcygpLGwsYSwhMCxuKSxoLmFsbFNvdXJjZXMoKS5mb3JFYWNoKChlPT5uLmFkZChlLmlkKCkpKSksdGhpcy5faGl0VGVzdFNvdXJjZXMobyxbcy5jcm9zc2hhaXJTb3VyY2UoKV0sbCxhLCExLG4pLHRoaXMuX2hpdFRlc3RTb3VyY2VzKG8sci5jdXN0b21Tb3VyY2VzKElpLkN1c3RvbVNvdXJjZUxheWVyLlRvcG1vc3QpLGwsYSwhMCxuKSx0aGlzLl9oaXRUZXN0U291cmNlcyhvLGMudHJhZGluZ1NvdXJjZXMoKSxsLGEsITEsbiksdGhpcy5faGl0VGVzdFNvdXJjZXMobyxyLmN1c3RvbVNvdXJjZXMoSWkuQ3VzdG9tU291cmNlTGF5ZXIuRm9yZWdyb3VuZCksbCxhLCEwLG4pO2NvbnN0IHU9Yy5oaXRUZXN0U291cmNlcygpO2lmKHRoaXMuX2hpdFRlc3RTb3VyY2VzKG8sdSxsLGEsITEsbiksdGhpcy5jb250YWluc01haW5TZXJpZXMoKSl7Y29uc3QgZT1zLmFjdGl2ZVN0cmF0ZWd5U291cmNlKCkudmFsdWUoKTtpZihudWxsIT09ZSYmIW4uaGFzKGUuaWQoKSkpe2NvbnN0IHQ9ZS5zdHJhdGVneU9yZGVyc1BhbmVWaWV3KCk7aWYobnVsbCE9PXQpe2NvbnN0IHM9dC5yZW5kZXJlcihvKTtpZihudWxsIT09cyl7Y29uc3QgdD1zLmhpdFRlc3QobCxvKTt0JiZwbihpLHQsZSxzLCExKX19fX1yZXR1cm4gbnVsbD09PWkucmVzdWx0JiZ0aGlzLl9oaXRUZXN0U291cmNlcyhvLHIuY3VzdG9tU291cmNlcyhJaS5DdXN0b21Tb3VyY2VMYXllci5CYWNrZ3JvdW5kKSxsLGEsITAsbiksaS5yZXN1bHR9X3NvdXJjZVdhc1NlbGVjdGVkKGUpe3JldHVybiEhZSYmdGhpcy5fc2VsZWN0aW9uQmVmb3JlTW91c2VEb3duLmhhcyhlLnNvdXJjZSl9X2hpdFRlc3RTb3VyY2VzKGUsdCxpLHMsbixyKXtjb25zdCBvPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhdGUpO2ZvcihsZXQgYT10Lmxlbmd0aC0xO2E+PTA7LS1hKXtjb25zdCBsPXRbYV07aWYoci5oYXMobC5pZCgpKSljb250aW51ZTtjb25zdCBjPWwucGFuZVZpZXdzKG8pO2lmKG51bGwhPT1jJiYwIT09Yy5sZW5ndGgpZm9yKGxldCB0PWMubGVuZ3RoLTE7dD49MDstLXQpe2NvbnN0IHI9Y1t0XS5yZW5kZXJlcihlKTtpZihyJiZyLmhpdFRlc3Qpe2NvbnN0IHQ9ci5oaXRUZXN0KGksZSk7bnVsbCE9PXQmJnModCxsLHIsbil9fX19X3RyeVN0YXJ0TW92aW5nTGluZVRvb2woZSx0LGkscyl7aWYobnVsbD09PXQuc291cmNlfHwhdC5zb3VyY2UubW92YWJsZSgpfHxudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50KXJldHVybiExO2lmKCF0aGlzLl9wcmV2ZW50U291cmNlQ2hhbmdlKXtjb25zdCBuPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkscj0oMCxsLmVuc3VyZU5vdE51bGwpKCgwLApsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N0YXRlKS5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCksbz0oMCxsLmVuc3VyZU5vdE51bGwpKHQuc291cmNlLnByaWNlU2NhbGUoKSksYT1udWxsPT09cj9OYU46by5jb29yZGluYXRlVG9QcmljZShlLmxvY2FsWSxyKTtsZXQgYz0odC5zb3VyY2UuaXNTZWxlY3Rpb25FbmFibGVkKCk/bi5zZWxlY3Rpb24oKS5hbGxTb3VyY2VzKCk6W3Quc291cmNlXSkuZmlsdGVyKFFzKTtjb25zdCBoPWMuZmlsdGVyKChlPT4oMCxyaS5pc0xpbmVUb29sKShlKSYmIWUuaXNTb3VyY2VIaWRkZW4oKSkpO2M9aC5sZW5ndGg+MD9oOmMuaW5jbHVkZXModC5zb3VyY2UpP1t0LnNvdXJjZV06W2NbMF1dO2NvbnN0IGQ9bmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSx1PXtpbmRleDpzLHByaWNlOmF9LHA9dC5oaXR0ZXN0LmRhdGEoKT8uYWN0aXZlSXRlbTtyZXR1cm4gdGhpcy5fc3RhcnRNb3ZlU291cmNlUGFyYW1zPXtzb3VyY2U6YyxzdGFydFBvaW50Ontsb2dpY2FsOnUsc2NyZWVuOmR9LGFjdGl2ZUl0ZW06dm9pZCAwPT09cD9udWxsOnAsZW52U3RhdGU6aX0sITB9cmV0dXJuIHRoaXMuX3N0YXJ0TW92ZVNvdXJjZVBhcmFtcz1udWxsLCExfV9jaGFydE1vZGVsKCl7cmV0dXJuIHRoaXMuX2NoYXJ0Lm1vZGVsKCkubW9kZWwoKX1fY2hhcnRVbmRvTW9kZWwoKXtyZXR1cm4gdGhpcy5fY2hhcnQubW9kZWwoKX1fZXh0ZXJuYWxQYW5lWENvb3JkKGUsdCl7dCs9dGhpcy5fZGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQrZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0O2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydC5wYW5lQnlTdGF0ZShlKSkscz1pLl9kaXYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCtkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQ7cmV0dXJuIGkuX2NvcnJlY3RYQ29vcmQodC1zKX1fZXh0ZXJuYWxQYW5lWUNvb3JkKGUsdCl7dCs9dGhpcy5fZGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCtkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDtjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnQucGFuZUJ5U3RhdGUoZSkpLHM9aS5fZGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCtkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDtyZXR1cm4gaS5fY29ycmVjdFlDb29yZCh0LXMpfV9jb3JyZWN0WENvb3JkKGUpe3JldHVybiBNYXRoLm1heCgwLE1hdGgubWluKGUsdGhpcy5fc2l6ZS53aWR0aC0xKSl9X2NvcnJlY3RZQ29vcmQoZSl7cmV0dXJuIE1hdGgubWF4KDAsTWF0aC5taW4oZSx0aGlzLl9zaXplLmhlaWdodC0xKSl9X3Byb2Nlc3NTY3JvbGwoZSl7aWYoIXRoaXMuX2NoYXJ0Lm1vZGVsKCkubW9kZWwoKS5zY3JvbGxFbmFibGVkKCkpcmV0dXJuO2NvbnN0IHQ9cGVyZm9ybWFuY2Uubm93KCk7dGhpcy5fc3RhcnRTY3JvbGxpbmdQb3N8fHRoaXMuX3ByZXZlbnRTY3JvbGwoKXx8KHRoaXMuX3N0YXJ0U2Nyb2xsaW5nUG9zPXt4OmUuY2xpZW50WCx5OmUuY2xpZW50WSx0aW1lc3RhbXA6dCxsb2NhbFg6ZS5sb2NhbFgsbG9jYWxZOmUubG9jYWxZfSk7Y29uc3QgaT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpO2xldCBzPXRoaXMuc3RhdGUoKS5kZWZhdWx0UHJpY2VTY2FsZSgpO2lmKHRoaXMuX3N0YXJ0U2Nyb2xsaW5nUG9zJiYhdGhpcy5faXNTY3JvbGxpbmcmJih0aGlzLl9zdGFydFNjcm9sbGluZ1Bvcy54IT09ZS5jbGllbnRYfHx0aGlzLl9zdGFydFNjcm9sbGluZ1Bvcy55IT09ZS5jbGllbnRZKSlyZXR1cm4gaS5iZWdpblVuZG9NYWNybyhzbiksbnVsbD09PXRoaXMuX3Njcm9sbFhBbmltYXRpb24mJnRoaXMuX29wdGlvbnMudXNlS2luZXRpY1Njcm9sbCYmKHRoaXMuX3Njcm9sbFhBbmltYXRpb249bmV3IEVzLktpbmV0aWNBbmltYXRpb24oLjIsNywuOTk3LDE1KSx0aGlzLl9zY3JvbGxYQW5pbWF0aW9uLmFkZFBvc2l0aW9uKGUuY2xpZW50WCx0aGlzLl9zdGFydFNjcm9sbGluZ1Bvcy50aW1lc3RhbXApKSxpLnNlbGVjdGlvbigpLmlzRW1wdHkoKXx8KHM9aS5zZWxlY3Rpb24oKS5hbGxTb3VyY2VzKClbMF0ucHJpY2VTY2FsZSgpKSxudWxsPT09c3x8cy5pc0VtcHR5KCl8fCh0aGlzLl9zY3JvbGxQcmljZVNjYWxlPXMsaS5zdGFydFNjcm9sbFByaWNlKHRoaXMuc3RhdGUoKSxzLGUubG9jYWxZKSksaS5zdGFydFNjcm9sbFRpbWUoZS5sb2NhbFgpLHRoaXMuX2lzU2Nyb2xsaW5nPSEwLHRoaXMuc2V0Q3Vyc29yRm9yVG9vbCgpLHZvaWQgdGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5zZXRTY3JvbGxpbmdQYW5lKHRoaXMpO3RoaXMuX2lzU2Nyb2xsaW5nJiYobnVsbCE9PXRoaXMuX3Njcm9sbFByaWNlU2NhbGUmJmkuc2Nyb2xsUHJpY2VUbyh0aGlzLnN0YXRlKCksdGhpcy5fc2Nyb2xsUHJpY2VTY2FsZSxlLmxvY2FsWSksaS5zY3JvbGxUaW1lVG8oZS5sb2NhbFgpLG51bGwhPT10aGlzLl9zY3JvbGxYQW5pbWF0aW9uJiZ0aGlzLl9zY3JvbGxYQW5pbWF0aW9uLmFkZFBvc2l0aW9uKGUuY2xpZW50WCx0KSl9X2ZpbmlzaFNjcm9sbCgpe2NvbnN0IGU9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKTtlLmVuZFNjcm9sbFRpbWUoKSxudWxsIT09dGhpcy5fc2Nyb2xsUHJpY2VTY2FsZSYmZS5lbmRTY3JvbGxQcmljZSh0aGlzLnN0YXRlKCksdGhpcy5fc2Nyb2xsUHJpY2VTY2FsZSksZS5lbmRVbmRvTWFjcm8oKSx0aGlzLl9pc1Njcm9sbGluZz0hMSx0aGlzLl9zdGFydFNjcm9sbGluZ1Bvcz1udWxsLHRoaXMuX3Njcm9sbFByaWNlU2NhbGU9bnVsbCx0aGlzLnNldEN1cnNvckZvclRvb2woKSx0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnNldFNjcm9sbGluZ1BhbmUobnVsbCl9X2VuZFNjcm9sbChlKXtpZighdGhpcy5faXNTY3JvbGxpbmcpcmV0dXJuITE7dGhpcy5fZmluaXNoU2Nyb2xsKCk7Y29uc3QgdD10aGlzLl9zY3JvbGxVbmRvQ29tbWFuZEluU3RhY2soKSxpPXBlcmZvcm1hbmNlLm5vdygpO3JldHVybiBudWxsIT09dGhpcy5fc2Nyb2xsWEFuaW1hdGlvbiYmKHRoaXMuX3Njcm9sbFhBbmltYXRpb24uc3RhcnQoZS5jbGllbnRYLGkpLAp0aGlzLl9zY3JvbGxYQW5pbWF0aW9uLmZpbmlzaGVkKGkpfHwodGhpcy5fY2hhcnRNb2RlbCgpLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx0aGlzLl9jaGFydE1vZGVsKCkuc2V0VGltZVNjYWxlQW5pbWF0aW9uKHRoaXMuX3Njcm9sbFhBbmltYXRpb24pLHRoaXMuX3Njcm9sbFhBbmltYXRpb249bnVsbCkpLHR9X3ByZXZlbnRTY3JvbGwoKXtyZXR1cm4gdGhpcy5fdHJhY2tDcm9zc2hhaXJPbmx5QWZ0ZXJMb25nVGFwJiZ0aGlzLl9sb25nVGFwfHx0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcHx8KDAsbS5pc0xpbmVUb29sTmFtZSkoVC50b29sLnZhbHVlKCkpfHxCb29sZWFuKHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkubGluZUJlaW5nQ3JlYXRlZCgpKXx8bnVsbCE9PXRoaXMuX3N0YXJ0VHJhY2tQb2ludHx8dGhpcy5fcHJldmVudFNjcm9sbFVudGlsTmV4dE1vdXNlRG93bk9yVG91Y2hTdGFydH1faXNTZWxlY3RQb2ludE1vZGVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkuc2VsZWN0UG9pbnRNb2RlKCkudmFsdWUoKSE9PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmV9X3ByZXZlbnRDcm9zc0hhaXJNb3ZlKCl7cmV0dXJuISF0aGlzLl90cmFja0Nyb3NzaGFpck9ubHlBZnRlckxvbmdUYXAmJihudWxsPT09dGhpcy5fY2hhcnQudHJhY2tpbmdNb2RlUGFuZVdpZGdldCgpJiYoISF0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcHx8IXRoaXMuX2Nyb3NzSGFpclNob3VsZEJlVmlzaWJsZSgpJiZudWxsPT09dGhpcy5fc3RhcnRUcmFja1BvaW50KSl9X2ZpbmlzaFRvb2woZSx0PW51bGwpe2NvbnN0IGk9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKSxzPWUudG9vbG5hbWU7aWYocz09PVQudG9vbC52YWx1ZSgpJiYoMCxULnJlc2V0VG9DdXJzb3IpKCksdGhpcy5fcHJldmVudENyb3NzSGFpck1vdmUoKSYmdGhpcy5fY2xlYXJDdXJzb3JQb3NpdGlvbigpLGkuc2VsZWN0aW9uTWFjcm8oKGk9PntpLmFkZEl0ZW1Ub1NlbGVjdGlvbihlLHVuKHQsZSkpfSkpLCgwLHJpLmlzRWRpdGFibGVUZXh0TGluZVRvb2wpKGUpJiZlLmFjdGl2YXRlRWRpdGluZ09uQ3JlYXRpb24oKSllLmFjdGl2YXRlVGV4dEVkaXRpbmdPbih0aGlzLl9kaXYsITApO2Vsc2UgaWYoKDAsbS5pc1RleHRUb29sTmFtZSkocykpe2NvbnN0IHQ9aS5jcmVhdGVVbmRvQ2hlY2twb2ludCgpO3RoaXMuX2NoYXJ0LnNob3dDaGFydFByb3BlcnRpZXNGb3JTb3VyY2UoZSxKdC5UYWJOYW1lcy50ZXh0LHZvaWQgMCx0KX10aGlzLl9sYXN0RmluaXNoZWRUb29sSWQ9ZS5pZCgpLCgwLCQuZW1pdCkoImRyYXdpbmdfZXZlbnQiLGUuaWQoKSwiY3JlYXRlIil9X2FsaWduU291cmNlc1RoYXRCZWluZ01vdmVkKGUsdCxpLHMsbil7Y29uc3Qgcj10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLG89Mj09PW4/TmFOOnIudGltZVNjYWxlKCkuY29vcmRpbmF0ZVRvSW5kZXgodCk7ci5tb2RlbCgpLnNvdXJjZXNCZWluZ01vdmVkKCkuZm9yRWFjaCgoZT0+e2xldCBhPW8sbD1lLmNvbnZlcnRZQ29vcmRpbmF0ZVRvUHJpY2VGb3JNb3ZpbmcoaSx0aGlzLnN0YXRlKCkubWFpbkRhdGFTb3VyY2UoKSk7aWYobnVsbD09PWwpe2lmKDEhPT1uKXJldHVybjtsPU5hTn1pZigoMCx0aS5pc1N0dWR5KShlKSl7Y29uc3QgZT1yLm1haW5TZXJpZXMoKS5iYXJzKCkuZmlyc3RJbmRleCgpO251bGwhPT1lJiYyIT09biYmKGE9TWF0aC5tYXgobyxlKSksMSE9PW4mJihsPXRoaXMuX2NoYXJ0TW9kZWwoKS5tYWduZXQoKS5hbGlnbihsLG8sdGhpcy5zdGF0ZSgpKSl9bnVsbCE9PXRoaXMuX2N1cnJlbnRNb3ZpbmdIaXRUZXN0JiZ2b2lkIDAhPT10aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdC5zb3VyY2VBdFBvaW50LmhpdHRlc3QuZGF0YSgpPy5jdXJzb3JUeXBlfHx0aGlzLnNldEN1cnNvckZvclRvb2woKSxyLm1vdmVTb3VyY2VzKHtzY3JlZW46bmV3IFB0LlBvaW50KHQsaSksbG9naWNhbDp7aW5kZXg6YSxwcmljZTpsfX0scyl9KSl9X3Jlc2V0TWVhc3VyZUlmUmVxdWlyZWQoKXt0aGlzLl9uZWVkUmVzZXRNZWFzdXJlTGF0ZXImJigoMCxULnJlc2V0VG9DdXJzb3IpKCksdGhpcy5fbmVlZFJlc2V0TWVhc3VyZUxhdGVyPSExKX1fbWFrZVN1cmVJc1VwZGF0ZWQoZSl7Y29uc3QgdD10aGlzLnN0YXRlKCksaT1bLi4udC5kYXRhU291cmNlcygpLC4uLnQuY3VzdG9tU291cmNlcygpXTtmb3IoY29uc3QgcyBvZiBpKXtjb25zdCBpPXMucGFuZVZpZXdzKHQpO2lmKG51bGwhPT1pKWZvcihjb25zdCB0IG9mIGkpdC5tYWtlU3VyZUlzVXBkYXRlZD8uKGUpfX1fZHJhd0JhY2tncm91bmQoZSx0KXtjb25zdCBpPXRoaXMuX2NoYXJ0TW9kZWwoKSxzPWkuYmFja2dyb3VuZFRvcENvbG9yKCkudmFsdWUoKSxuPWkuYmFja2dyb3VuZENvbG9yKCkudmFsdWUoKTtpZih0aGlzLl9zdGF0ZT8ubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQpe2NvbnN0IGk9dGhpcy5fc3RhdGU/Lm1vZGVsKCkucGFuZXMoKS5pbmRleE9mKHRoaXMuX3N0YXRlKT8/MCxyPXRoaXMuX3N0YXRlPy5tb2RlbCgpLm1haW5QYW5lKCksbz1pPihyP3RoaXMuX3N0YXRlPy5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZihyKT8/MDowKT9uOnM7KDAsS3QuY2xlYXJSZWN0KShlLDAsMCx0LmJpdG1hcFNpemUud2lkdGgsdC5iaXRtYXBTaXplLmhlaWdodCxvKX1lbHNlIHM9PT1uPygwLEt0LmNsZWFyUmVjdCkoZSwwLDAsdC5iaXRtYXBTaXplLndpZHRoLHQuYml0bWFwU2l6ZS5oZWlnaHQsbik6KDAsRGkuY2xlYXJSZWN0V2l0aEdyYWRpZW50KShlLDAsMCx0LmJpdG1hcFNpemUud2lkdGgsdC5iaXRtYXBTaXplLmhlaWdodCxzLG4pfV9kcmF3V2F0ZXJtYXJrKGUsdCl7Y29uc3QgaT10aGlzLl9jaGFydE1vZGVsKCkud2F0ZXJtYXJrU291cmNlKCk7aWYobnVsbD09PWkpcmV0dXJuO3RoaXMuc3RhdGUoKS5jb250YWluc01haW5TZXJpZXMoKSYmdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLGkpfV9kcmF3Q3Jvc3NIYWlyKGUsdCl7Y29uc3QgaT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpO2kuaW52YWxpZGF0ZUxvY2tQb3NpdGlvbigpLAppLnZpc2libGV8fG51bGw9PT1ULmNyb3NzaGFpckxvY2sudmFsdWUoKXx8aS51cGRhdGVBbGxWaWV3cygoMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkoaS5pZCgpKSksdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLGkpfV9kcmF3QWN0aXZlTGluZVRvb2xzKGUsdCl7Y29uc3QgaT10aGlzLl9jaGFydE1vZGVsKCkscz1baS5saW5lQmVpbmdDcmVhdGVkKCksaS5saW5lQmVpbmdFZGl0ZWQoKSwuLi5pLnNvdXJjZXNCZWluZ01vdmVkKCksaS5jdXN0b21Tb3VyY2VCZWluZ01vdmVkKCldLmZpbHRlcigoZT0+ISFlKSk7Zm9yKGNvbnN0IG4gb2Ygcyl7KGkucGFuZUZvclNvdXJjZShuKT09PXRoaXMuc3RhdGUoKXx8KDAsQWkuaXNEYXRhU291cmNlKShuKSYmbi5pc011bHRpUGFuZUVuYWJsZWQoKSkmJnRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxsbixhbixuKX19X2RyYXdUb3BWaWV3cyhlLHQpe2Zvcihjb25zdCBpIG9mIHRoaXMuc3RhdGUoKS5zb3VyY2VzQnlHcm91cCgpLmFsbCgpKWkudG9wUGFuZVZpZXdzJiZ0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsY24sYW4saSl9X2RyYXdTb3VyY2VzKGUsdCl7Y29uc3QgaT10aGlzLnN0YXRlKCkscz1pLm1vZGVsKCksbj1pLnNvdXJjZXNCeUdyb3VwKCkscj1uLnRyYWRpbmdTb3VyY2VzKCksbz1uLmdlbmVyYWxTb3VyY2VzKCksbD1uLnBoYW50b21Tb3VyY2VzKCksYz1pLmN1c3RvbVNvdXJjZXMoSWkuQ3VzdG9tU291cmNlTGF5ZXIuQmFja2dyb3VuZCkuc2xpY2UoKSxoPWkuY3VzdG9tU291cmNlcyhJaS5DdXN0b21Tb3VyY2VMYXllci5Gb3JlZ3JvdW5kKS5zbGljZSgpLGQ9aS5jdXN0b21Tb3VyY2VzKElpLkN1c3RvbVNvdXJjZUxheWVyLlRvcG1vc3QpLnNsaWNlKCksdT1zLmFjdGl2ZVN0cmF0ZWd5U291cmNlKCkudmFsdWUoKSxwPXMucmVwbGF5U3R1ZHlTdHJhdGVneSgpLnZhbHVlKCk7dGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLHMuZ3JpZFNvdXJjZSgpKSx0aGlzLl9kcmF3V2F0ZXJtYXJrKGUsdCk7Zm9yKGNvbnN0IGkgb2YgYyl0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sb24saSk7Zm9yKGNvbnN0IGkgb2Ygbyl0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sb24saSk7Zm9yKGNvbnN0IGkgb2YgaCl0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sb24saSk7Zm9yKGNvbnN0IGkgb2YgbCl0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sb24saSk7Y29uc3QgXz1uZXcgU2V0O1tzLmxpbmVCZWluZ0NyZWF0ZWQoKSxzLmxpbmVCZWluZ0VkaXRlZCgpLC4uLnMuc291cmNlc0JlaW5nTW92ZWQoKSxzLmN1c3RvbVNvdXJjZUJlaW5nTW92ZWQoKV0uZmlsdGVyKGEubm90TnVsbCkuZm9yRWFjaCgoZT0+Xy5hZGQoZS5pZCgpKSkpO2xldCBtPXMuaG92ZXJlZFNvdXJjZSgpO251bGwhPT1tJiYoKDAsQWkuaXNEYXRhU291cmNlKShtKSYmIW0uc2hvd09uVG9wT25Ib3ZlcmluZygpfHxfLmhhcyhtLmlkKCkpfHwoMCxBaS5pc0RhdGFTb3VyY2UpKG0pJiYhby5pbmNsdWRlcyhtKT9tPW51bGw6Xy5hZGQobS5pZCgpKSk7Y29uc3QgZz1zLmhpZ2hsaWdodGVkUGxvdEluZm8oKSxmPWc/by5maWx0ZXIoKGU9PigwLHRpLmlzU3R1ZHkpKGUpJiZlLmhhc0hpZ2hsaWdodGVkUGxvdHMoKSYmIV8uaGFzKGUuaWQoKSkpKTpbXTtmLmZvckVhY2goKGU9Pl8uYWRkKGUuaWQoKSkpKTtjb25zdCBTPXMuc2VsZWN0aW9uKCkuYWxsU291cmNlcygpLmZpbHRlcigoZT0+ISgoMCxBaS5pc0RhdGFTb3VyY2UpKGUpJiYhby5pbmNsdWRlcyhlKSkmJiFfLmhhcyhlLmlkKCkpKSk7Uy5mb3JFYWNoKChlPT5fLmFkZChlLmlkKCkpKSk7Zm9yKGNvbnN0IGkgb2YgYyl0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sYW4saSxfKTtmb3IoY29uc3QgaSBvZiBvKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxsbixhbixpLF8pO2Zvcihjb25zdCBpIG9mIGgpdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLGksXyk7dSYmdGhpcy5jb250YWluc01haW5TZXJpZXMoKSYmISgwLEpzLmlzU3R1ZHlTdHJhdGVneVN0dWIpKHUpJiZ0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsZG4sYW4sdSxfKSxwJiZ0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsZG4sYW4scCxfKTtmb3IoY29uc3QgaSBvZiByKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxsbixvbixpKTtmb3IoY29uc3QgaSBvZiBkKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxsbixvbixpKTtmb3IoY29uc3QgaSBvZiBvKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxobixhbixpLF8pO2Zvcihjb25zdCBpIG9mIGgpdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGhuLGFuLGksXyk7Zm9yKGNvbnN0IGkgb2Ygcil0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sYW4saSxfKTtmb3IoY29uc3QgaSBvZiBkKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxsbixhbixpLF8pO2Zvcihjb25zdCBpIG9mIFMpdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLGkpLGk9PT11JiZ0aGlzLmNvbnRhaW5zTWFpblNlcmllcygpJiYhKDAsSnMuaXNTdHVkeVN0cmF0ZWd5U3R1YikodSkmJnRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxkbixhbix1KTtmb3IoY29uc3QgaSBvZiBTKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxobixhbixpKTttJiYodGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLG0pLG09PT11JiZ0aGlzLmNvbnRhaW5zTWFpblNlcmllcygpJiYhKDAsSnMuaXNTdHVkeVN0cmF0ZWd5U3R1YikodSkmJnRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxkbixhbix1KSx0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsaG4sYW4sbSkpO2Zvcihjb25zdCBpIG9mIGwpdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLGksXyk7aWYoZyYmZi5sZW5ndGgpZm9yKGNvbnN0IGkgb2YgZil0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sYW4saSl9X2RyYXdTb3VyY2VJbXBsKGUsdCxpLHMsbixyKXtpZihyJiZyLmhhcyhuLmlkKCkpKXJldHVybjtjb25zdCBvPWkobix0aGlzLnN0YXRlKCkpO2lmKG8pZm9yKGNvbnN0IGkgb2Ygbyl7Y29uc3Qgbj1pLnJlbmRlcmVyKHQpO24mJihlLnNhdmUoKSxzKG4sZSx0KSxlLnJlc3RvcmUoKSl9fQpfdXBkYXRlQnlUaGVtZWRDb2xvcnMoKXtudWxsIT09dGhpcy5fbGVnZW5kV2lkZ2V0JiZ0aGlzLl9sZWdlbmRXaWRnZXQudXBkYXRlVGhlbWVkQ29sb3JzKHRoaXMuX3RoZW1lZFRvcENvbG9yKSxudWxsIT09dGhpcy5fcGFuZUNvbnRyb2xzJiZ0aGlzLl9wYW5lQ29udHJvbHMudXBkYXRlVGhlbWVkQ29sb3JzKHRoaXMuX3RoZW1lZFRvcENvbG9yKX1fc2Nyb2xsVW5kb0NvbW1hbmRJblN0YWNrKCl7Y29uc3QgZT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLnVuZG9IaXN0b3J5KCkudW5kb1N0YWNrKCk7aWYoZS5pc0VtcHR5KCkpcmV0dXJuITE7Y29uc3QgdD1lLmhlYWQoKTtpZighKHQgaW5zdGFuY2VvZiBVKSlyZXR1cm4hMTtpZih0LmlzRW1wdHkoKSlyZXR1cm4hMTtyZXR1cm4gdC5jb21tYW5kcygpWzBdaW5zdGFuY2VvZiBPc31fb25TdGF0ZURlc3Ryb3llZCgpe3RoaXMuc2V0U3RhdGUobnVsbCl9X29uRGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCgpe3RoaXMuX3N0YXJ0TW92ZVNvdXJjZVBhcmFtcz1udWxsfV9wcm9jZXNzTW91c2VFbnRlckxlYXZlTW92ZUhhbmRsZXJzKGUsdCl7aWYobnVsbCE9PXRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdCYmKHRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdC5yZW5kZXJlciE9PWU/LnJlbmRlcmVyfHx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3QuaGl0dGVzdC5kYXRhKCk/LmFjdGl2ZUl0ZW0hPT1lLmhpdHRlc3QuZGF0YSgpPy5hY3RpdmVJdGVtKSl7Y29uc3QgZT10aGlzLl9zb3VyY2VXYXNTZWxlY3RlZCh0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3QpOygwLE1pLnRyeUNhbGxIYW5kbGVyKSh0LHtzb3VyY2VXYXNTZWxlY3RlZDplfSx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3QuaGl0dGVzdC5kYXRhKCk/Lm1vdXNlTGVhdmVIYW5kbGVyKSx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3Q9bnVsbH1pZighdC5pc1RvdWNoJiZudWxsIT09ZSl7Y29uc3QgaT10aGlzLl9zb3VyY2VXYXNTZWxlY3RlZChlKTt0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3Q/LnJlbmRlcmVyIT09ZS5yZW5kZXJlciYmKGUuaGl0dGVzdC50cnlDYWxsTW91c2VFbnRlckhhbmRsZXIodCx7c291cmNlV2FzU2VsZWN0ZWQ6aX0pLHRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdD1lKSxlLmhpdHRlc3QudHJ5Q2FsbE1vdXNlTW92ZUhhbmRsZXIodCx7c291cmNlV2FzU2VsZWN0ZWQ6aX0pfX1fc3RhcnRDaGFuZ2VPck1vdmVMaW5lVG9vbElmTmVlZGVkKCl7aWYobnVsbCE9PXRoaXMuX3N0YXJ0Q2hhbmdlTGluZVRvb2xQYXJhbXMpe2NvbnN0IGU9dGhpcy5fc3RhcnRDaGFuZ2VMaW5lVG9vbFBhcmFtczsoMCxNdC50cmFja0V2ZW50KSgiY2hhcnRfYWxlcnQiLCJlZGl0Iiwic3RhcnRfY2hhbmdlX2xpbmVfdG9vbF9wYXJhbXMiKSx0aGlzLl9jaGFydFVuZG9Nb2RlbCgpLnN0YXJ0Q2hhbmdpbmdMaW5ldG9vbChlLnNvdXJjZSxlLm93bmVyU291cmNlLGUuc3RhcnRQb2ludCxlLnBvaW50SW5kZXgsZS5lbnZTdGF0ZSl9aWYobnVsbCE9PXRoaXMuX3N0YXJ0TW92ZVNvdXJjZVBhcmFtcyl7Y29uc3QgZT10aGlzLl9zdGFydE1vdmVTb3VyY2VQYXJhbXM7KDAsTXQudHJhY2tFdmVudCkoImNoYXJ0X2FsZXJ0IiwiZWRpdCIsInN0YXJ0X21vdmluZ19zb3VyY2VzIiksdGhpcy5fY2hhcnRVbmRvTW9kZWwoKS5zdGFydE1vdmluZ1NvdXJjZXMoZS5zb3VyY2UsZS5zdGFydFBvaW50LGUuYWN0aXZlSXRlbSxlLmVudlN0YXRlKX10aGlzLl9zdGFydE1vdmVTb3VyY2VQYXJhbXM9bnVsbCx0aGlzLl9zdGFydENoYW5nZUxpbmVUb29sUGFyYW1zPW51bGx9X3RyYWNraW5nTW9kZVNob3VsZEJlQWN0aXZlKCl7cmV0dXJuISghdGhpcy5fdHJhY2tDcm9zc2hhaXJPbmx5QWZ0ZXJMb25nVGFwfHx0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcHx8dGhpcy5fY3Jvc3NIYWlyU2hvdWxkQmVWaXNpYmxlKCkpJiZ0aGlzLl9sb25nVGFwfV9wcm9jZXNzT3V0c2lkZUNsaWNrKGUsdCl7bGV0IGk9bnVsbDtjb25zdCBzPXRoaXMuX2NoYXJ0TW9kZWwoKTtpZihudWxsIT09ZSYmKGk9ZS5pc0N1c3RvbT9zLmN1c3RvbVNvdXJjZU5hbWUoZS5zb3VyY2UpOmUuc291cmNlLmlkKCkpLG51bGwhPT10aGlzLl9sYXN0Q2xpY2tlZFNvdXJjZSYmdGhpcy5fbGFzdENsaWNrZWRTb3VyY2UuaWQhPT1pKXtjb25zdCBlPXRoaXMuX2xhc3RDbGlja2VkU291cmNlLmlkO2xldCBpPXRoaXMuX2xhc3RDbGlja2VkU291cmNlLmlzQ3VzdG9tP3MuY3VzdG9tU291cmNlRm9yTmFtZShlKTpzLmRhdGFTb3VyY2VGb3JJZChlKTtudWxsIT09aXx8dGhpcy5fbGFzdENsaWNrZWRTb3VyY2UuaXNDdXN0b218fChpPXMuZGF0YVNvdXJjZUZvcklkKGUpKSxudWxsIT09aSYmaS5vbkNsaWNrT3V0c2lkZSYmKGkub25DbGlja091dHNpZGUoKDAsS3QuZ2V0QmluZGluZ1JlbmRlcmluZ0luZm8pKHRoaXMuX2NhbnZhc0JpbmRpbmcpLHQpLHRoaXMuX2NoYXJ0TW9kZWwoKS51cGRhdGVTb3VyY2UoaSkpfXRoaXMuX2xhc3RDbGlja2VkU291cmNlPW51bGwhPT1pP3tpZDppLGlzQ3VzdG9tOmU/LmlzQ3VzdG9tPz8hMX06bnVsbH1hc3luYyBzaG93Q29uZmV0dGkoZSx0KXt7Y29uc3Qgcz1hd2FpdCBpLmUoODY3NDApLnRoZW4oaS5iaW5kKGksMjM3NTM3KSk7InBlcmZvcm1hbmNlIj09PVQudG9vbC52YWx1ZSgpJiZzLmNvbmZldHRpKGUsdCl9fV9tb3VzZUNsaWNrT3JUYXBFdmVudChlKXtpZighdGhpcy5oYXNTdGF0ZSgpKXJldHVybjtxcy5wZXJmb3JtYW5jZVRlc3RNb2RlJiYicGVyZm9ybWFuY2UiPT09VC50b29sLnZhbHVlKCkmJnRoaXMuc2hvd0NvbmZldHRpKGUucGFnZVgsZS5wYWdlWSk7bGV0IHQ9bnVsbCxpPW51bGw7dGhpcy5fbW91c2VUb3VjaERvd25VcEluZm8mJnRoaXMuX21vdXNlVG91Y2hEb3duVXBJbmZvLnRvb2xDcmVhdGlvbiYmIXRoaXMuX21vdXNlVG91Y2hEb3duVXBJbmZvLm1vdXNlTW92ZXx8KHQ9dGhpcy5fZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpLGk9dCYmdC5zb3VyY2UpCjtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbj1Cb29sZWFuKHQ/LmhpdHRlc3QuZGF0YSgpPy5oaWRlQ3Jvc3NoYWlyTGluZXNPbkhvdmVyKTt0aGlzLl9wcm9jZXNzT3V0c2lkZUNsaWNrKHQsZSksIXRoaXMuX2lzU2VsZWN0UG9pbnRNb2RlRW5hYmxlZCgpfHxufHxlLmlzVG91Y2gmJnRoaXMudHJhY2tpbmdNb2RlRW5hYmxlZCgpJiYhdGhpcy5fZXhpdFRyYWNraW5nTW9kZU9uTmV4dFRyeXx8cy5jcm9zc2hhaXJTb3VyY2UoKS50cnlTZWxlY3RDdXJyZW50UG9pbnQoKTtjb25zdCByPXRoaXMuX3NvdXJjZVdhc1NlbGVjdGVkKHQpOyEoMCxtLmlzTGluZVRvb2xOYW1lKShULnRvb2wudmFsdWUoKSkmJm51bGwhPT10JiZ0LmhpdHRlc3QudHJ5Q2FsbENsaWNrT3JUYXBIYW5kbGVyKGUse3NvdXJjZVdhc1NlbGVjdGVkOnJ9KSYmcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZSgoMCxsLmVuc3VyZU5vdE51bGwpKGkpKSwhZS5pc1RvdWNofHx0aGlzLl9pc1NlbGVjdFBvaW50TW9kZUVuYWJsZWQoKXx8dCYmdC5zb3VyY2U9PT1zLmNyb3NzaGFpclNvdXJjZSgpfHx0aGlzLl90cnlFeGl0VHJhY2tpbmdNb2RlKCksaSYmKDAscmkuaXNMaW5lVG9vbCkoaSkmJnRoaXMuX2xhc3RGaW5pc2hlZFRvb2xJZCE9PWkuaWQoKSYmKDAsJC5lbWl0KSgiZHJhd2luZ19ldmVudCIsaS5pZCgpLCJjbGljayIpLHRoaXMuX3Jlc2V0TWVhc3VyZUlmUmVxdWlyZWQoKSx0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mbz1udWxsfV9tb3VzZURvd25PclRvdWNoU3RhcnRFdmVudChlLHQpe3RoaXMuX3ByZXNzZWRNb3ZlU3RhZ2U9MSx0aGlzLl9wcmV2ZW50U2Nyb2xsVW50aWxOZXh0TW91c2VEb3duT3JUb3VjaFN0YXJ0PSExLHRoaXMuX3NlbGVjdGlvbkJlZm9yZU1vdXNlRG93bj1uZXcgU2V0KHRoaXMuX2NoYXJ0TW9kZWwoKS5zZWxlY3Rpb24oKS5hbGxTb3VyY2VzKCkpLGUuaXNUb3VjaCYmKHRoaXMuX2xvbmdUYXA9ITEsdGhpcy5fZXhpdFRyYWNraW5nTW9kZU9uTmV4dFRyeT1udWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50LHRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUuY2xlYXJEcmFnZ2luZ1NvdXJjZSgpKSx0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcD0hMSx0aGlzLl9sYXN0RmluaXNoZWRUb29sSWQ9bnVsbDtjb25zdCBpPXRoaXMuX2NoYXJ0TW9kZWwoKTtpZihpLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mbz17bW91c2VNb3ZlOiExLHRvb2xDcmVhdGlvbjpCb29sZWFuKGkubGluZUJlaW5nQ3JlYXRlZCgpKX0sZS5pc1RvdWNoJiZ0aGlzLl9zd2l0Y2hUcmFja2luZ01vZGVGcm9tQW5vdGhlclBhbmVJZk5lZWRlZChlKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09ZG9jdW1lbnQuYm9keSYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudClkb2N1bWVudC5hY3RpdmVFbGVtZW50JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXI/ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk6ZG9jdW1lbnQuYm9keS5mb2N1cygpO2Vsc2V7Y29uc3QgZT1kb2N1bWVudC5nZXRTZWxlY3Rpb24oKTtudWxsIT09ZSYmZS5yZW1vdmVBbGxSYW5nZXMoKX0oMCwkLmVtaXQpKCJtb3VzZV9kb3duIix7Y2xpZW50WDplLmNsaWVudFgsY2xpZW50WTplLmNsaWVudFkscGFnZVg6ZS5wYWdlWCxwYWdlWTplLnBhZ2VZLHNjcmVlblg6ZS5zY3JlZW5YLHNjcmVlblk6ZS5zY3JlZW5ZfSksdGhpcy5fdXBkYXRlQ29tbW9uVG9vbHRpcChudWxsKTtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbj1uZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKTtzLm1haW5TZXJpZXMoKS5jbGVhckdvdG9EYXRlUmVzdWx0KCk7Y29uc3Qgcj10aGlzLnN0YXRlKCkuZGVmYXVsdFByaWNlU2NhbGUoKTtpZihzLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3Qgbz1zLmNyb3NzaGFpclNvdXJjZSgpO2lmKCFlLmlzVG91Y2gmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKFQudG9vbC52YWx1ZSgpKSl7Y29uc3QgdD1udWxsIT09cy5saW5lQmVpbmdDcmVhdGVkKCk/cy5tb2RlbCgpLnBhbmVCZWluZ0NyZWF0ZWRMaW5lT24oKTpudWxsO251bGwhPT10JiZ0IT09dGhpcy5fc3RhdGU/dGhpcy5fc2V0Q3Vyc29yUG9zaXRpb25PbkV4dGVybmFsUGFuZSh0LGUubG9jYWxYLGUubG9jYWxZLG4pOnRoaXMuc2V0Q3Vyc29yUG9zaXRpb24oZS5sb2NhbFgsZS5sb2NhbFksbil9ZS5pc1RvdWNoJiYoMCxtLmlzTGluZVRvb2xOYW1lKShULnRvb2wudmFsdWUoKSkmJigoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKFQudG9vbC52YWx1ZSgpKXx8bnVsbCE9PW8ucGFuZT8oMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKFQudG9vbC52YWx1ZSgpKSYmdGhpcy5fY2xlYXJDdXJzb3JQb3NpdGlvbigpOnRoaXMuX2NoYXJ0LnVwZGF0ZUNyb3NzSGFpclBvc2l0aW9uSWZOZWVkZWQoKSk7Y29uc3QgYT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuc3RhdGUoKS5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCk7bGV0IGM9bnVsbD09YT9udWxsOnIuY29vcmRpbmF0ZVRvUHJpY2UoZS5sb2NhbFksYSksaD1pLnRpbWVTY2FsZSgpLmNvb3JkaW5hdGVUb0luZGV4KGUubG9jYWxYKTtpZihvLnN0YXJ0TWVhc3VyZVBvaW50KCkmJm8uZW5kTWVhc3VyZVBvaW50KCkmJm8uY2xlYXJNZWFzdXJlKCksbi5zaGlmdCgpJiYoMCxULnRvb2xJc0N1cnNvcikoVC50b29sLnZhbHVlKCkpKXtjb25zdCBlPXMuc2VsZWN0aW9uKCkuaXNFbXB0eSgpOyhudWxsPT09dHx8ZSYmIXQuaGl0dGVzdC5kYXRhKCk/Lmhhc093blNob3J0Y3V0c0JlaGF2aW91ckZvcj8uc2hpZnRLZXkpJiYoVC50b29sLnNldFZhbHVlKCJtZWFzdXJlIiksKDAsUnMudHJhY2tEcmF3aW5nVG9vbFNlbGVjdGVkKSgibWVhc3VyZSIsIktleWJvYXJkIHNob3J0Y3V0IiksZXx8cy5zZWxlY3Rpb25NYWNybygoZT0+ZS5jbGVhclNlbGVjdGlvbigpKSkpfQppZigoZS5pc1RvdWNoJiYhZS5zdHlsdXN8fG51bGw9PT1jfHwhdGhpcy5fdHJ5U3RhcnRNZWFzdXJlKGUsbyxuLGMsaCkpJiYoZS5pc1RvdWNoJiYhZS5zdHlsdXN8fCF0aGlzLl90cnlGaW5pc2hNZWFzdXJlKGUsbykpJiYhKHRoaXMuX3RyeUZpbmlzaFpvb20oZSl8fG51bGwhPT1jJiZ0aGlzLl90cnlTdGFydFpvb20oZSxjLGgsbikpKXtpZihlLmlzVG91Y2gmJihudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50Pyh0aGlzLl9pbml0Q3Jvc3NIYWlyUG9zaXRpb249by5jdXJyZW50UG9pbnQoKSx0aGlzLl9zdGFydFRyYWNrUG9pbnQ9bmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSk6dGhpcy5faXNTZWxlY3RQb2ludE1vZGVFbmFibGVkKCkmJm51bGw9PT10aGlzLl9jaGFydC50cmFja2luZ01vZGVQYW5lV2lkZ2V0KCkmJnRoaXMuc3RhcnRUcmFja2luZ01vZGUobmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxuZXcgUHQuUG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpLG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKSksZS5pc1RvdWNoJiYodGhpcy5fcHJldmVudFNvdXJjZUNoYW5nZT1udWxsPT09dHx8IXMuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0LnNvdXJjZSkpLCF0aGlzLl9pc1NlbGVjdFBvaW50TW9kZUVuYWJsZWQoKSYmIXRoaXMuX2lzU2Nyb2xsaW5nKXtpZihlLmlzVG91Y2gmJiFlLnN0eWx1cyYmKCgwLFQudG9vbElzTWVhc3VyZSkoVC50b29sLnZhbHVlKCkpfHxudWxsIT09by5tZWFzdXJlUGFuZSgpLnZhbHVlKCkpKXJldHVybiB2b2lkIHRoaXMuX2luaXRUb29sQ3JlYXRpb25Nb2RlUGFyYW1zKGUpO2lmKG51bGwhPT1jJiYoKDAsbS5pc0xpbmVUb29sTmFtZSkoVC50b29sLnZhbHVlKCkpfHxzLmxpbmVCZWluZ0NyZWF0ZWQoKSkpcmV0dXJuIG4uc2hpZnQoKXx8cy5zZWxlY3Rpb25NYWNybygoZT0+ZS5jbGVhclNlbGVjdGlvbigpKSksdm9pZCB0aGlzLl9tb3VzZURvd25FdmVudEZvckxpbmVUb29sKGUsbixoLGMpfWlmKCgwLFQudG9vbElzRGVtb25zdHJhdGlvbikoVC50b29sLnZhbHVlKCkpJiZuLmFsdE9ubHkoKSl7ZS5pc1RvdWNoJiYhdGhpcy50cmFja2luZ01vZGVFbmFibGVkKCkmJnRoaXMuc3RhcnRUcmFja2luZ01vZGUobmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxuZXcgUHQuUG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpLG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKTtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKS5jcm9zc2hhaXJEZW1vbnN0cmF0aW9uKCk7dC5jcmVhdGVIaWdobGlnaHRlcigpO2NvbnN0IGk9dGhpcy5fbG9jYWxDb29yZGluYXRlc1RvTGluZURhdGFTb3VyY2VQb2ludChvLm9yaWdpblgoKSxvLm9yaWdpblkoKSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuc3RhdGUoKS5tYWluRGF0YVNvdXJjZSgpKSk7aSYmdC5hZGRIaWdobGlnaHRlclBvc2l0aW9uKGkpfWVsc2V7aWYobnVsbCE9PXQpe2NvbnN0IGk9dGhpcy5fc291cmNlV2FzU2VsZWN0ZWQodCk7dC5oaXR0ZXN0LnRyeUNhbGxNb3VzZURvd25PclRvdWNoU3RhcnRIYW5kbGVyKGUse3NvdXJjZVdhc1NlbGVjdGVkOml9KX1pZighdGhpcy5fY2hhcnQucmVhZE9ubHkoKSl7Y29uc3Qgcj10aGlzLl9oYW5kbGVTZWxlY3Rpb25Nb3VzZURvd25BbmRHZXRKdXN0RGVzZWxlY3RlZFNvdXJjZShlLHQsbik7aWYobnVsbCE9PXQmJiF0aGlzLl9wcmV2ZW50U291cmNlQ2hhbmdlKXtjb25zdCBpPXQuaGl0dGVzdC5kYXRhKCk7aWYodC5pc0N1c3RvbSl7aWYodC5oaXR0ZXN0Lmhhc1ByZXNzZWRNb3ZlSGFuZGxlcihlKSlyZXR1cm4gcy5tb2RlbCgpLnNldE1vdmluZ0N1c3RvbVNvdXJjZSh0LnNvdXJjZSxpKSx0aGlzLl9wcmV2ZW50U2Nyb2xsVW50aWxOZXh0TW91c2VEb3duT3JUb3VjaFN0YXJ0PSEwLHRoaXMuX2N1cnJlbnRNb3ZpbmdIaXRUZXN0PXtzb3VyY2VBdFBvaW50OnQsY2FuY2VsbGVkQ29udGFpbmVyOnMubW9kZWwoKS5jdXN0b21Tb3VyY2VNb3ZpbmdIaXRUZXN0RGF0YSgpPz92b2lkIDB9LHZvaWQgcy5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKSxlLmFkZEl0ZW1Ub1NlbGVjdGlvbigoMCxsLmVuc3VyZU5vdE51bGwpKHQuc291cmNlKSwoMCxsLmVuc3VyZU5vdE51bGwpKGkpKX0pKX1lbHNlIGlmKGk/LmFyZWFOYW1lPT09TWkuQXJlYU5hbWUuU291cmNlSXRlbU1vdmUpe2NvbnN0IG49aT8uYWN0aXZlSXRlbTtpZih2b2lkIDAhPT1uKXJldHVybiBzLnN0YXJ0Q3VzdG9tTW92aW5nKHQuc291cmNlLG4sZSksdGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Q9e3NvdXJjZUF0UG9pbnQ6dH0sdm9pZCBzLnNlbGVjdGlvbk1hY3JvKChlPT57ZS5jbGVhclNlbGVjdGlvbigpLGUuYWRkSXRlbVRvU2VsZWN0aW9uKCgwLGwuZW5zdXJlTm90TnVsbCkodC5zb3VyY2UpLCgwLGwuZW5zdXJlTm90TnVsbCkoaSkpfSkpfX1pZihudWxsIT09dCYmdGhpcy5fdHJ5SGFuZGxlRXJhc2VyTW91c2VEb3duKHQsbikpcmV0dXJuO2NvbnN0IG89bnVsbCE9PXQmJigwLHJpLmlzTGluZVRvb2wpKHQuc291cmNlKSYmdC5zb3VyY2UuaXNMb2NrZWQmJnQuc291cmNlLmlzTG9ja2VkKCk7aWYoISgoMCxULmxvY2tEcmF3aW5ncykoKS52YWx1ZSgpfHxvKSYmbnVsbCE9PXQmJiF0LmlzQ3VzdG9tKXtpZighdC5zb3VyY2UudXNlckVkaXRFbmFibGVkKCkpcmV0dXJuO2NvbnN0IHM9dC5oaXR0ZXN0LmRhdGEoKT8uc25hcHBpbmdQcmljZSxvPXQuaGl0dGVzdC5kYXRhKCk/LnNuYXBwaW5nSW5kZXg7bGV0IHU9ZS5sb2NhbFkscD1lLmxvY2FsWDtjb25zdCBfPXQuaGl0dGVzdC5kYXRhKCk/Lm93bmVyU291cmNlSWQsbT1fP2kuZGF0YVNvdXJjZUZvcklkKF8pOnQuc291cmNlLm93bmVyU291cmNlKCk7aWYodm9pZCAwIT09cyYmbnVsbCE9PWEmJih1PSgwLGwuZW5zdXJlKShtPy5wcmljZVNjYWxlKCkpLnByaWNlVG9Db29yZGluYXRlKHMsYSksYz1zKSx2b2lkIDAhPT1vJiYocD1pLnRpbWVTY2FsZSgpLmluZGV4VG9Db29yZGluYXRlKG8pLGg9byksdT09PWUubG9jYWxZJiZwPT09ZS5sb2NhbFh8fChlPXsuLi5lLGxvY2FsWTp1LGxvY2FsWDpwfSwKdGhpcy5zZXRDdXJzb3JQb3NpdGlvbihlLmxvY2FsWCxlLmxvY2FsWSxuKSksdGhpcy5fdHJ5U3RhcnRDaGFuZ2luZ0xpbmVUb29sKGUsdCxuLGgpKXJldHVybiB2b2lkKHRoaXMuX2N1cnJlbnRDaGFuZ2luZ0xpbmVUb29sSGl0VGVzdD10KTtpZih0aGlzLl9jdXJyZW50Q2hhbmdpbmdMaW5lVG9vbEhpdFRlc3Q9bnVsbCwoZD10LmhpdHRlc3QudGFyZ2V0KCkpPT09TWkuSGl0VGFyZ2V0Lk1vdmVQb2ludHx8ZD09PU1pLkhpdFRhcmdldC5Nb3ZlUG9pbnRCYWNrZ3JvdW5kJiYoMCx1aS5sYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKSgpLmlzVG91Y2gpe2lmKHRoaXMuX3RyeVN0YXJ0Q2xvbmluZyhlLHQsbixyKSlyZXR1cm47aWYodGhpcy5fdHJ5U3RhcnRNb3ZpbmdMaW5lVG9vbChlLHQsbixoKSlyZXR1cm4gdm9pZCh0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdD17c291cmNlQXRQb2ludDp0fSk7dGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Q9bnVsbH19aWYobnVsbCE9PXQmJigwLEhzLmlzUHJpY2VEYXRhU291cmNlKSh0LnNvdXJjZSkmJnQuc291cmNlLmlzRHJhZ2dhYmxlKCkmJnRoaXMuX3N0YXRlPy5oYXNEYXRhU291cmNlKHQuc291cmNlKSYmdGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS50cnlTZXREcmFnZ2luZ1NvdXJjZSh0LnNvdXJjZSx0aGlzKSlyZXR1cm59dmFyIGQ7bnVsbCE9PXQmJnQuaGl0dGVzdC50YXJnZXQoKT09PU1pLkhpdFRhcmdldC5SZWd1bGFyfHwodGhpcy5fcHJvY2Vzc2luZz0hMCl9fX1fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKXtpZighdGhpcy5oYXNTdGF0ZSgpKXJldHVybjt0aGlzLl9wcmVzc2VkTW92ZVN0YWdlPTA7Y29uc3QgdD1lLmlzVG91Y2gmJm51bGwhPT10aGlzLl9zdGFydFRyYWNrUG9pbnQsaT1lLmlzVG91Y2gmJnRoaXMuX3dhc1BpbmNoZWQ7ZS5pc1RvdWNoJiYodGhpcy5fd2FzUGluY2hlZD0hMSx0aGlzLl9sb25nVGFwPSExKSx0aGlzLl9zdGFydE1vdmVTb3VyY2VQYXJhbXM9bnVsbCx0aGlzLl9zdGFydENoYW5nZUxpbmVUb29sUGFyYW1zPW51bGwsdGhpcy5fY3VycmVudENoYW5naW5nTGluZVRvb2xIaXRUZXN0PW51bGwsdGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Q9bnVsbDtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbj1zLm1vZGVsKCkuY3VzdG9tU291cmNlTW92aW5nSGl0VGVzdERhdGEoKTtudWxsIT09bnx8cy5jdXN0b21Nb3ZlQmVpbmdQcm9jZXNzZWQoKXx8dGhpcy5fcHJvY2Vzc01vdXNlVXBPclRvdWNoRW5kSGFuZGxlcihlKSx0aGlzLl9pc1NlbGVjdGluZz0hMTtjb25zdCByPXMubW9kZWwoKSxvPXIuY3Jvc3NoYWlyU291cmNlKCksYT10aGlzLl9kYXRhU291cmNlQXRQb2ludChlLmxvY2FsWCxlLmxvY2FsWSk7aWYoby5zZWxlY3Rpb24oKSYmbnVsbD09PXRoaXMuX2ZpcnN0Wm9vbVBvaW50KXtjb25zdCBlPXRoaXMuc3RhdGUoKS5saW5lVG9vbHNGb3JBcmVhKG8uc2VsZWN0aW9uKCksKDAsS3QuZ2V0QmluZGluZ1JlbmRlcmluZ0luZm8pKHRoaXMuX2NhbnZhc0JpbmRpbmcpKTtzLnNlbGVjdGlvbk1hY3JvKCh0PT57bGV0IGk9bnVsbDtlLmZvckVhY2goKGU9PntudWxsPT09aSYmKGk9dW4oYSxlKSksdC5hZGRJdGVtVG9TZWxlY3Rpb24oZSxpKX0pKX0pKSxvLmNsZWFyU2VsZWN0aW9uKCksKDAsTXQudHJhY2tFdmVudCkoIkdVSSIsIk11bHRpc2VsZWN0IiwiQXJlYSBTZWxlY3QiKX0oMCwkLmVtaXQpKCJtb3VzZV91cCIse2NsaWVudFg6ZS5jbGllbnRYLGNsaWVudFk6ZS5jbGllbnRZLHBhZ2VYOmUucGFnZVgscGFnZVk6ZS5wYWdlWSxzY3JlZW5YOmUuc2NyZWVuWCxzY3JlZW5ZOmUuc2NyZWVuWX0pO2NvbnN0IGM9ZS5pc1RvdWNoJiZ0aGlzLl90b3VjaE1vdmU7ZS5pc1RvdWNoJiYodGhpcy5fdG91Y2hNb3ZlPSExKTtjb25zdCBoPW5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpLGQ9VC50b29sLnZhbHVlKCk7aWYoZS5pc1RvdWNoJiYoKDAsVC50b29sSXNNZWFzdXJlKShkKXx8bnVsbCE9PW8ubWVhc3VyZVBhbmUoKS52YWx1ZSgpKSl7aWYoIWMmJiFlLnN0eWx1cyYmbnVsbD09PW8ubWVhc3VyZVBhbmUoKS52YWx1ZSgpJiZvLnBhbmUhPT10aGlzLl9zdGF0ZSlyZXR1cm4gdm9pZCB0aGlzLnNldEN1cnNvclBvc2l0aW9uKGUubG9jYWxYLGUubG9jYWxZKTtpZighYyYmIWUuc3R5bHVzJiZ0aGlzLl90cnlTdGFydE1lYXN1cmUoZSxvLGgsby5wcmljZSxvLmluZGV4KSlyZXR1cm47aWYoKCFjfHxlLnN0eWx1cykmJnRoaXMuX3RyeUZpbmlzaE1lYXN1cmUoZSxvKSlyZXR1cm59aWYoZS5pc1RvdWNoJiYhYyYmISgwLG0uaXNMaW5lRHJhd25XaXRoUHJlc3NlZEJ1dHRvbikoZCkmJigwLG0uaXNMaW5lVG9vbE5hbWUpKGQpJiYhcy5saW5lQmVpbmdDcmVhdGVkKCkpe2lmKHRoaXMuX2NoYXJ0Lmp1c3RBY3RpdmF0ZWQoKSlyZXR1cm47aWYoby5wYW5lIT09dGhpcy5fc3RhdGUpcmV0dXJuIHZvaWQgdGhpcy5zZXRDdXJzb3JQb3NpdGlvbihlLmxvY2FsWCxlLmxvY2FsWSxoKTtjb25zdCB0PW8uY3VycmVudFBvaW50KCksaT10aGlzLnN0YXRlKCkuZGVmYXVsdFByaWNlU2NhbGUoKSxuPSgwLGwuZW5zdXJlKSh0aGlzLnN0YXRlKCkubWFpbkRhdGFTb3VyY2UoKT8uZmlyc3RWYWx1ZSgpKSxyPXtpbmRleDpNYXRoLnJvdW5kKHMudGltZVNjYWxlKCkuY29vcmRpbmF0ZVRvSW5kZXgodC54KSkscHJpY2U6aS5jb29yZGluYXRlVG9QcmljZSh0Lnksbil9LGM9KDAsbC5lbnN1cmVOb3ROdWxsKShzLmNyZWF0ZUxpbmVUb29sKHtwYW5lOnRoaXMuc3RhdGUoKSxwb2ludDpyLGxpbmV0b29sOmQsYWN0aW9uU291cmNlOiJEcmF3IixrZWVwU2VsZWN0ZWRHcm91cDohMH0pKTtyZXR1cm4gdGhpcy5fbW91c2VUb3VjaERvd25VcEluZm8mJih0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mby50b29sQ3JlYXRpb249ITApLHMuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmFkZEl0ZW1Ub1NlbGVjdGlvbihjKX0pKSxzLmxpbmVCZWluZ0NyZWF0ZWQoKXx8KHRoaXMuX2ZpbmlzaFRvb2woYyxhKSxlLnByZXZlbnREZWZhdWx0KCkpLHZvaWQodGhpcy5fc3RhcnRUb3VjaFBvaW50PW51bGwpfWNvbnN0IHU9cy5saW5lQmVpbmdDcmVhdGVkKCkKO2lmKHUmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKHUudG9vbG5hbWUpJiZlLmlzVG91Y2gmJih0aGlzLl9zdGFydFRvdWNoUG9pbnR8fGUuc3R5bHVzKSl7aWYodGhpcy5fc3RhcnRUb3VjaFBvaW50PW51bGwsIWN8fGUuc3R5bHVzKXtjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkodS5sYXN0UG9pbnQoKSksaT1zLmNvbnRpbnVlQ3JlYXRpbmdMaW5lKHtpbmRleDp0LmluZGV4LHByaWNlOnQucHJpY2V9LG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKTt0aGlzLl9pbml0Q3Jvc3NIYWlyUG9zaXRpb249bnVsbCxpJiYodGhpcy5fZmluaXNoVG9vbCh1LGEpLGUucHJldmVudERlZmF1bHQoKSl9cmV0dXJufWlmKG51bGwhPT10aGlzLl9maXJzdFpvb21Qb2ludCYmdGhpcy5fZmlyc3Rab29tUG9pbnQuZHJhZ2dpbmdNb2RlKXJldHVybiB2b2lkIHRoaXMuX2ZpbmlzaFpvb20oZSk7aWYodGhpcy5fcHJvY2Vzc2luZz0hMSxzLmN1c3RvbU1vdmVCZWluZ1Byb2Nlc3NlZCgpKXJldHVybiB2b2lkIHMuZW5kQ3VzdG9tTW92aW5nKCk7aWYobnVsbCE9PW4pe2lmKG4uYmVpbmdNb3ZlZCYmIW4uY2FuY2VsbGVkKXtjb25zdCB0PXRoaXMuX3NvdXJjZVdhc1NlbGVjdGVkKGEpOygwLE1pLnRyeUNhbGxIYW5kbGVyKShlLHtzb3VyY2VXYXNTZWxlY3RlZDp0fSxuLm1vdXNlVXBIYW5kbGVyLG4udG91Y2hFbmRIYW5kbGVyKSx0aGlzLnNldEN1cnNvckZvclRvb2woKX1pZihyLnNldE1vdmluZ0N1c3RvbVNvdXJjZShudWxsLG51bGwpLHZuKGUsbikpcmV0dXJufWlmKHIubGluZUJlaW5nRWRpdGVkKCkpcmV0dXJuIHMuZW5kQ2hhbmdpbmdMaW5ldG9vbCghMSksdm9pZCh0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpJiZ0aGlzLl9jbGVhckN1cnNvclBvc2l0aW9uKCkpO2lmKCgwLG0uaXNMaW5lRHJhd25XaXRoUHJlc3NlZEJ1dHRvbikoZCkmJiF0aGlzLl9pc1NlbGVjdFBvaW50TW9kZUVuYWJsZWQoKSl7Y29uc3QgdD1zLmxpbmVCZWluZ0NyZWF0ZWQoKTtudWxsIT09dCYmKHQuZmluaXNoKCksIkxpbmVUb29sQnJ1c2giPT09dC50b29sbmFtZSYmKDAsJC5lbWl0KSgiZHJhd2luZ19ldmVudCIsdC5pZCgpLCJjcmVhdGUiKSk7Y29uc3QgaT10aGlzLnN0YXRlKCkuZGVmYXVsdFByaWNlU2NhbGUoKTtpZihpLmlzRW1wdHkoKSlyZXR1cm47aWYoIXQpcmV0dXJuO2NvbnN0IG49KDAsbC5lbnN1cmUpKHQub3duZXJTb3VyY2UoKT8uZmlyc3RWYWx1ZSgpKSxyPWkuY29vcmRpbmF0ZVRvUHJpY2UoZS5sb2NhbFksbiksbz17aW5kZXg6TWF0aC5yb3VuZChzLnRpbWVTY2FsZSgpLmNvb3JkaW5hdGVUb0luZGV4KGUubG9jYWxYKSkscHJpY2U6cn07cmV0dXJuIHZvaWQgcy5jb250aW51ZUNyZWF0aW5nTGluZShvKX1jb25zdCBwPXIuY3Jvc3NoYWlyU291cmNlKCkuY3Jvc3NoYWlyRGVtb25zdHJhdGlvbigpO2lmKHAuaXNUaGVyZVVuZmluaXNoZWRIaWdobGlnaHRlcigpKXJldHVybiB2b2lkIHAuZmluaXNoSGlnaGxpZ2h0ZXIoKTtpZihyLnNvdXJjZXNCZWluZ01vdmVkKCkubGVuZ3RoKXJldHVybiBzLmVuZE1vdmluZ1NvdXJjZSghMSwhMSksci5zb3VyY2VzQmVpbmdNb3ZlZCgpLmZpbHRlcihyaS5pc0xpbmVUb29sKS5mb3JFYWNoKChlPT57dGhpcy5zZXRDdXJzb3JGb3JUb29sKGUpfSkpLHZvaWQgci5pbnZhbGlkYXRlKExlLkludmFsaWRhdGlvbk1hc2suY3Vyc29yKCkpO2lmKCF0aGlzLl9jaGFydC5yZWFkT25seSgpKXtjb25zdCB0PWUubG9jYWxYPj0wJiZlLmxvY2FsWDx0aGlzLl9zaXplLndpZHRoO2lmKCghYXx8YS5zb3VyY2UhPT1vKSYmdCl7Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsKCkubWFpblNlcmllcygpLnN5bmNNb2RlbCgpO2lmKHQpe2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbCgpLnRpbWVTY2FsZSgpLnBvaW50cygpLnJvdWdoVGltZShzLnRpbWVTY2FsZSgpLmNvb3JkaW5hdGVUb0luZGV4KGUubG9jYWxYKSwoKGUsaSk9PnQucHJvamVjdFRpbWUoZSxpKSkpO251bGwhPT1pJiZ0aGlzLl9jaGFydC5jaGFydFdpZGdldENvbGxlY3Rpb24oKS5zeW5jU2Nyb2xsKDFlMyppLHRoaXMuX2NoYXJ0TW9kZWwoKSl9fX1jb25zdCBfPXRoaXMuX2lzU2Nyb2xsaW5nLGc9dGhpcy5fZW5kU2Nyb2xsKGUpLGY9dGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5kcmFnZ2luZ1NvdXJjZSgpO2lmKG51bGwhPT1mKXtjb25zdCB0PWUudGFyZ2V0LGk9dGhpcy5fY2hhcnQucGFuZUJ5Q2FudmFzKHQpO2kmJmkhPT10aGlzJiZpLnN0YXRlKCkubW9kZSgpPT09TS5QYW5lTW9kZS5SZWd1bGFyJiYoZyYmcy51bmRvSGlzdG9yeSgpLnVuZG8oKSxzLm1lcmdlVG9QYW5lKGYsaS5zdGF0ZSgpKSk7aWYodGhpcy5fY2hhcnQudGltZUF4aXNCeUNhbnZhcyh0KSlpZihyLmlzVW5tZXJnZUF2YWlsYWJsZUZvclNvdXJjZShmKSlnJiZzLnVuZG9IaXN0b3J5KCkudW5kbygpLHMudW5tZXJnZVRvTmV3Qm90dG9tUGFuZShmKTtlbHNle2NvbnN0IGU9ci5wYW5lcygpLHQ9KDAsbC5lbnN1cmVOb3ROdWxsKShyLnBhbmVGb3JTb3VyY2UoZikpLGk9ZS5pbmRleE9mKHQpO2khPT1lLmxlbmd0aC0xJiYoZyYmcy51bmRvSGlzdG9yeSgpLnVuZG8oKSx0Lm1heGltaXplZCgpLnZhbHVlKCkmJnMudG9nZ2xlTWF4aW1pemVkUGFuZSh0KSxzLm1vdmVQYW5lKGksZS5sZW5ndGgtMSkpfXRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUuY2xlYXJEcmFnZ2luZ1NvdXJjZSgpO2NvbnN0IG49dGhpcy5fY2hhcnQuZ2V0VGltZVNjYWxlKCk7biYmbi5yZXN0b3JlRGVmYXVsdEN1cnNvcigpO2NvbnN0IG89dGhpcy5fY2hhcnQucGFuZVdpZGdldHMoKTtmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKyl7Y29uc3QgdD1vW2VdO3Q9PT10aGlzJiZhJiYhYS5pc0N1c3RvbT90LnNldEN1cnNvckZvclRvb2woYS5zb3VyY2V8fHZvaWQgMCk6dC5zZXRDdXJzb3JGb3JUb29sKCksdC5sZWZ0UHJpY2VBeGlzZXNDb250YWluZXIoKS5yZXN0b3JlRGVmYXVsdEN1cnNvcigpLHQucmlnaHRQcmljZUF4aXNlc0NvbnRhaW5lcigpLnJlc3RvcmVEZWZhdWx0Q3Vyc29yKCl9fQp0aGlzLl9jaGFydC5yZWFkT25seSgpfHx0fHxoLm1vZCgpfHxffHxpfHxudWxsIT09dGhpcy5fbGFzdEZpbmlzaGVkVG9vbElkfHxudWxsIT09YSYmIWEuaGl0dGVzdC5kYXRhKCk/LnNraXBTb3VyY2VTZWxlY3Rpb24mJihhLmhpdHRlc3QudGFyZ2V0KCk+TWkuSGl0VGFyZ2V0Lk1vdmVQb2ludEJhY2tncm91bmR8fCgwLHVpLmxhc3RNb3VzZU9yVG91Y2hFdmVudEluZm8pKCkuaXNUb3VjaCkmJnMuc2VsZWN0aW9uTWFjcm8oKHQ9Pntjb25zdCBpPXt0eXBlOiJjaGFuZ2UiLG5ld1NlbGVjdGVkU291cmNlOmEuc291cmNlLGludGVyYWN0aW9uVHlwZTplLmlzVG91Y2g/InRvdWNoIjoicG9pbnRlciJ9O2lmKHQuc2VsZWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlKGkpKXt0LmNsZWFyU2VsZWN0aW9uKCk7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKGEuc291cmNlKTt0LmFkZEl0ZW1Ub1NlbGVjdGlvbihlLHVuKGEsZSkpfX0pKSxlLmlzVG91Y2gmJih0aGlzLl90b3VjaE1vdmU9ITEpfV9tb3VzZU9yVG91Y2hNb3ZlRXZlbnQoZSl7aWYoIXRoaXMuaGFzU3RhdGUoKSlyZXR1cm47dGhpcy5fbW91c2VUb3VjaERvd25VcEluZm8mJih0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mby5tb3VzZU1vdmU9ITApLHRoaXMuX3Jlc2V0TWVhc3VyZUlmUmVxdWlyZWQoKTtjb25zdCB0PXRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTt0aGlzLl9wcm9jZXNzTW91c2VFbnRlckxlYXZlTW92ZUhhbmRsZXJzKHQsZSk7Y29uc3QgaT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpO2lmKCFpKXJldHVybjtjb25zdCBzPWUubG9jYWxYLG49ZS5sb2NhbFk7dGhpcy5fcHJldk1vdmVFdmVudFBvc2l0aW9uPW5ldyBQdC5Qb2ludChzLG4pO2NvbnN0IHI9bmV3IExpLkVudmlyb25tZW50U3RhdGUoZSk7aWYobnVsbD09PXRoaXMuX2ZpcnN0Wm9vbVBvaW50KXtpZih0aGlzLl91cGRhdGVIb3ZlcmVkU291cmNlKHQscixlKSwhZS5pc1RvdWNoJiZpLmxpbmVCZWluZ0NyZWF0ZWQoKSl7Y29uc3QgZT1pLm1vZGVsKCkucGFuZUJlaW5nQ3JlYXRlZExpbmVPbigpO2lmKG51bGwhPT1lJiZlIT09dGhpcy5fc3RhdGUpcmV0dXJuIHZvaWQgdGhpcy5fc2V0Q3Vyc29yUG9zaXRpb25PbkV4dGVybmFsUGFuZShlLHMsbixyKX1lLmlzVG91Y2h8fHRoaXMuc2V0Q3Vyc29yUG9zaXRpb24ocyxuLHIpfWVsc2UgdGhpcy5fcHJvY2Vzc01vdXNlTW92ZVdoaWxlWm9vbShlLHIpfV9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpe2lmKHRoaXMuX2NoYXJ0TW9kZWwoKS5kcmFnRXhwb3J0RW5hYmxlZCgpLnZhbHVlKCkmJnZvaWQgMCE9PWUuYnV0dG9ucyYmIUJvb2xlYW4oMSZlLmJ1dHRvbnMpKXJldHVybjtpZighdGhpcy5oYXNTdGF0ZSgpfHx0aGlzLl9waW5jaGluZ3x8ZS5pc1RvdWNoJiZ0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcClyZXR1cm47dGhpcy5fcHJlc3NlZE1vdmVTdGFnZT0yLHRoaXMuX21vdXNlVG91Y2hEb3duVXBJbmZvJiYodGhpcy5fbW91c2VUb3VjaERvd25VcEluZm8ubW91c2VNb3ZlPSEwKSx0aGlzLl9yZXNldE1lYXN1cmVJZlJlcXVpcmVkKCksdGhpcy5fc3RhcnRDaGFuZ2VPck1vdmVMaW5lVG9vbElmTmVlZGVkKCksZS5pc1RvdWNoJiYodGhpcy5fdG91Y2hNb3ZlPSEwLHRoaXMuX3ByZXZlbnRTb3VyY2VDaGFuZ2U9ITEpO2NvbnN0IHQ9bmV3IExpLkVudmlyb25tZW50U3RhdGUoZSksaT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLHM9aS5jcm9zc2hhaXJTb3VyY2UoKSxuPWUubG9jYWxYLHI9ZS5sb2NhbFk7aWYodGhpcy5fcHJldk1vdmVFdmVudFBvc2l0aW9uPW5ldyBQdC5Qb2ludChuLHIpLG51bGwhPT10aGlzLl9maXJzdFpvb21Qb2ludClyZXR1cm4gdGhpcy5fcHJvY2Vzc01vdXNlTW92ZVdoaWxlWm9vbShlKSx2b2lkKHRoaXMuX2ZpcnN0Wm9vbVBvaW50LmRyYWdnaW5nTW9kZT0hMCk7Y29uc3Qgbz1ULnRvb2wudmFsdWUoKTtpZihlLmlzVG91Y2gmJnRoaXMuX3N0YXJ0VG91Y2hQb2ludCYmKDAsbS5pc0xpbmVUb29sTmFtZSkobykmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKG8pJiYhaS5saW5lQmVpbmdDcmVhdGVkKCkmJiF0aGlzLl9pc1NlbGVjdFBvaW50TW9kZUVuYWJsZWQoKSlyZXR1cm4gdm9pZCB0aGlzLl91cGRhdGVDcm9zc2hhaXJQb3NpdGlvbkluVG9vbENyZWF0aW9uTW9kZShlLHRoaXMuc3RhdGUoKSk7Y29uc3QgYT1zLm1lYXN1cmVQYW5lKCkudmFsdWUoKTtpZihlLmlzVG91Y2gmJih0aGlzLl9zdGFydFRvdWNoUG9pbnR8fGUuc3R5bHVzKSYmKCgwLFQudG9vbElzTWVhc3VyZSkobyl8fG51bGwhPT1hKSlyZXR1cm4gdm9pZChlLnN0eWx1cz90aGlzLnNldEN1cnNvclBvc2l0aW9uKGUubG9jYWxYLGUubG9jYWxZLG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKTp0aGlzLl91cGRhdGVDcm9zc2hhaXJQb3NpdGlvbkluVG9vbENyZWF0aW9uTW9kZShlLGF8fHRoaXMuc3RhdGUoKSkpO2NvbnN0IGM9aS5saW5lQmVpbmdDcmVhdGVkKCk7aWYoZS5pc1RvdWNoJiYhZS5zdHlsdXMmJmMmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKGMudG9vbG5hbWUpKXtpZih0aGlzLl9zdGFydFRvdWNoUG9pbnQpe2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKShpLmxpbmVCZWluZ0NyZWF0ZWQoKSkscz0oMCxsLmVuc3VyZU5vdE51bGwpKGkubW9kZWwoKS5wYW5lRm9yU291cmNlKHQpKTt0aGlzLl91cGRhdGVDcm9zc2hhaXJQb3NpdGlvbkluVG9vbENyZWF0aW9uTW9kZShlLHMpfXJldHVybn1pZihlLmlzVG91Y2gmJm51bGwhPT10aGlzLl9zdGFydFRyYWNrUG9pbnQpe3RoaXMuX2V4aXRUcmFja2luZ01vZGVPbk5leHRUcnk9ITE7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2luaXRDcm9zc0hhaXJQb3NpdGlvbiksaT1uZXcgUHQuUG9pbnQobixyKS5zdWJ0cmFjdCh0aGlzLl9zdGFydFRyYWNrUG9pbnQpLHM9ZS5hZGQoaSk7dGhpcy5zZXRDdXJzb3JQb3NpdGlvbihzLngscy55LHQpfWVsc2UgZS5pc1RvdWNoJiZ0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpfHx0aGlzLnNldEN1cnNvclBvc2l0aW9uKG4scix0KQo7Y29uc3QgaD10aGlzLl9pc1NlbGVjdFBvaW50TW9kZUVuYWJsZWQoKTtpZigoMCxtLmlzTGluZVRvb2xOYW1lKShvKSYmISgwLG0uaXNMaW5lRHJhd25XaXRoUHJlc3NlZEJ1dHRvbikobykmJiFoJiYhdC5tb2QoKSlyZXR1cm47aWYoKDAsbS5pc0xpbmVEcmF3bldpdGhQcmVzc2VkQnV0dG9uKShvKSYmIWgpe2NvbnN0IHQ9aS5saW5lQmVpbmdDcmVhdGVkKCk7aWYoIXQpcmV0dXJuO2NvbnN0IHM9dGhpcy5fbG9jYWxDb29yZGluYXRlc1RvTGluZURhdGFTb3VyY2VQb2ludChlLmxvY2FsWCxlLmxvY2FsWSwoMCxsLmVuc3VyZU5vdE51bGwpKHQub3duZXJTb3VyY2UoKSkpO3JldHVybiB2b2lkKHMmJmkuY29udGludWVDcmVhdGluZ0xpbmUocykpfWNvbnN0IGQ9aS5jcm9zc2hhaXJTb3VyY2UoKS5jcm9zc2hhaXJEZW1vbnN0cmF0aW9uKCk7aWYoZC5pc1RoZXJlVW5maW5pc2hlZEhpZ2hsaWdodGVyKCkpe2NvbnN0IGU9dGhpcy5fbG9jYWxDb29yZGluYXRlc1RvTGluZURhdGFTb3VyY2VQb2ludChzLm9yaWdpblgoKSxzLm9yaWdpblkoKSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuc3RhdGUoKS5tYWluRGF0YVNvdXJjZSgpKSk7cmV0dXJuIHZvaWQoZSYmZC5hZGRIaWdobGlnaHRlclBvc2l0aW9uKGUpKX1pZihudWxsIT09dGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5kcmFnZ2luZ1NvdXJjZSgpKXtjb25zdCB0PWUudGFyZ2V0LGk9dGhpcy5fY2hhcnQucGFuZUJ5Q2FudmFzKHQpO2kmJihpIT09dGhpcz9pLnNldERyYWdUb0Fub3RoZXJQYW5lQ3Vyc29yKCk6aS5zZXRDdXJzb3JGb3JUb29sKCkpO2NvbnN0IHM9dGhpcy5fY2hhcnQudGltZUF4aXNCeUNhbnZhcyh0KTtzJiZzLnNldEN1cnNvcigiZ3JhYmJpbmciKX1pZihpLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgdT10aGlzLl9vcHRpb25zLmhhbmRsZVNjcm9sbDtpZigoIXUucHJlc3NlZE1vdXNlTW92ZXx8ZS5pc1RvdWNoKSYmKCF1LmhvcnpUb3VjaERyYWcmJiF1LnZlcnRUb3VjaERyYWd8fCFlLmlzVG91Y2gpKXJldHVybjtpZih0aGlzLl9jaGFydE1vZGVsKCkuZHJhZ0V4cG9ydEVuYWJsZWQoKS52YWx1ZSgpJiZ0aGlzLl9pZ25vcmluZ01vdXNlTW92ZW1lbnQpcmV0dXJuO2lmKGkuY3VzdG9tTW92ZUJlaW5nUHJvY2Vzc2VkKCkpcmV0dXJuIHZvaWQgaS5wcm9jZXNzQ3VzdG9tTW92ZShlKTtjb25zdCBwPWkubW9kZWwoKS5jdXN0b21Tb3VyY2VNb3ZpbmdIaXRUZXN0RGF0YSgpO2lmKG51bGwhPT1wJiYodGhpcy5fdXBkYXRlQ29tbW9uVG9vbHRpcChudWxsLCEwKSxwLmNhbmNlbGxlZHx8KGkubW9kZWwoKS5wcm9jZXNzaW5nQ3VzdG9tU291cmNlTW92ZSgpLCgwLE1pLnRyeUNhbGxIYW5kbGVyKShlLHtzb3VyY2VXYXNTZWxlY3RlZDp0aGlzLl9zZWxlY3Rpb25CZWZvcmVNb3VzZURvd24uaGFzKGkubW9kZWwoKS5jdXN0b21Tb3VyY2VCZWluZ01vdmVkKCkpfSxwLnByZXNzZWRNb3VzZU1vdmVIYW5kbGVyLHAudG91Y2hNb3ZlSGFuZGxlcikpLHZuKGUscCkpKXJldHVybjtpZihpLm1vZGVsKCkubGluZUJlaW5nRWRpdGVkKCkpcmV0dXJuIHZvaWQgdGhpcy5zZXRDdXJzb3JQb3NpdGlvbihuLHIsdCk7aWYoaS5tb2RlbCgpLnNvdXJjZXNCZWluZ01vdmVkKCkubGVuZ3RoKXJldHVybiB2b2lkIHRoaXMuX2FsaWduU291cmNlc1RoYXRCZWluZ01vdmVkKGkubW9kZWwoKS5zb3VyY2VzQmVpbmdNb3ZlZCgpLGUubG9jYWxYLGUubG9jYWxZLHQsaS5tb2RlbCgpLmxhc3RIaXR0ZXN0RGF0YSgpPy5wb3NzaWJsZU1vdmluZ0RpcmVjdGlvbnMpO2NvbnN0IF89dGhpcy5fZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpO2lmKHRoaXMuX3RyeUZpbmlzaENsb25uaW5nKGUsbmV3IExpLkVudmlyb25tZW50U3RhdGUoZSksXykpcmV0dXJuO2NvbnN0IGc9KDAsVC50b29sSXNNZWFzdXJlKShvKXx8cy5zdGFydE1lYXN1cmVQb2ludCgpJiZzLmVuZE1lYXN1cmVQb2ludCgpO3RoaXMuX2NoYXJ0LnJlYWRPbmx5KCl8fCF0Lm1vZCgpfHwoMCxtLmlzTGluZVRvb2xOYW1lKShvKXx8Z3x8aD8odGhpcy5fcHJvY2Vzc1Njcm9sbChlKSx0aGlzLl9wcmV2ZW50U2Nyb2xsKCkmJiF0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpJiZudWxsPT09dGhpcy5fc3RhcnRUcmFja1BvaW50JiZ0aGlzLnNldEN1cnNvclBvc2l0aW9uKGUubG9jYWxYLGUubG9jYWxZLG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKSk6dGhpcy5faXNTZWxlY3Rpbmd8fChzLnN0YXJ0U2VsZWN0aW9uKHRoaXMuc3RhdGUoKSksdGhpcy5faXNTZWxlY3Rpbmc9ITApfV9tb3VzZU9yVG91Y2hMZWF2ZUV2ZW50KGUpe2lmKCF0aGlzLmhhc1N0YXRlKCkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKTtpZighdClyZXR1cm47Y29uc3QgaT10LmNyb3NzaGFpclNvdXJjZSgpO2UuaXNUb3VjaHx8bnVsbCE9PWkubWVhc3VyZVBhbmUoKS52YWx1ZSgpJiZudWxsPT09aS5lbmRNZWFzdXJlUG9pbnQoKXx8dGhpcy5fY2xlYXJDdXJzb3JQb3NpdGlvbigpO2lmKHRoaXMuX2NoYXJ0TW9kZWwoKS5zZXRIb3ZlcmVkU291cmNlKG51bGwsbnVsbCksbnVsbCE9PXRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdCl7Y29uc3QgdD10aGlzLl9zb3VyY2VXYXNTZWxlY3RlZCh0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3QpOygwLE1pLnRyeUNhbGxIYW5kbGVyKShlLHtzb3VyY2VXYXNTZWxlY3RlZDp0fSx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3QuaGl0dGVzdC5kYXRhKCk/Lm1vdXNlTGVhdmVIYW5kbGVyKSx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3Q9bnVsbH10aGlzLl91cGRhdGVDb21tb25Ub29sdGlwKG51bGwpLHRoaXMuX2NoYXJ0LnNldEFjdGl2ZVBhbmVXaWRnZXQobnVsbCl9X21vdXNlRG91YmxlQ2xpY2tPckRvdWJsZVRhcEV2ZW50KGUpe2lmKCF0aGlzLmhhc1N0YXRlKCkpcmV0dXJuO2NvbnN0IHQ9IXRoaXMuX2NoYXJ0LnJlYWRPbmx5KCkmJiEoMCxtLmlzTGluZVRvb2xOYW1lKShULnRvb2wudmFsdWUoKSkmJnRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKXx8bnVsbCxpPXRoaXMuX3NvdXJjZVdhc1NlbGVjdGVkKHQpCjtpZihudWxsIT09dCYmdC5pc0N1c3RvbSl0LmhpdHRlc3QudHJ5Q2FsbERibENsaWNrT3JEYmxUYXBIYW5kbGVyKGUse3NvdXJjZVdhc1NlbGVjdGVkOml9KTtlbHNlIGlmKG51bGwhPT10JiYoZS5pc1RvdWNofHx0LmhpdHRlc3QudGFyZ2V0KCk+TWkuSGl0VGFyZ2V0Lk1vdmVQb2ludEJhY2tncm91bmQpKXQuaGl0dGVzdC50cnlDYWxsRGJsQ2xpY2tPckRibFRhcEhhbmRsZXIoZSx7c291cmNlV2FzU2VsZWN0ZWQ6aX0pJiYhKDAsTWkuc2hvdWxkRGVmYXVsdEFjdGlvbkJlRXhlY3V0ZWQpKGUsKDAsbC5lbnN1cmVOb3ROdWxsKSh0LmhpdHRlc3QuZGF0YSgpKSwiZG91YmxlQ2xpY2tIYW5kbGVyIiwiZG91YmxlVGFwSGFuZGxlciIpfHx0aGlzLnByb2Nlc3NEb3VibGVDbGlja09uU291cmNlKHQuc291cmNlLHQuaGl0dGVzdD90LmhpdHRlc3Q6dm9pZCAwKTtlbHNlIGlmKCF0aGlzLl9jaGFydC5yZWFkT25seSgpJiYhKDAsbS5pc0xpbmVUb29sTmFtZSkoVC50b29sLnZhbHVlKCkpJiYhdGhpcy5fY2hhcnRVbmRvTW9kZWwoKS5saW5lQmVpbmdDcmVhdGVkKCkmJnRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuc2VsZWN0aW9uKCkuaXNFbXB0eSgpKXtjb25zdCB0PXRoaXMuc3RhdGUoKTtuZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKS5tb2QoKSYmIXQubWF4aW1pemVkKCkudmFsdWUoKT8odC5jb2xsYXBzZWQoKS52YWx1ZSgpfHx0LmNvbGxhcHNpbmdBdmFpbGFibGUoKS52YWx1ZSgpKSYmdGhpcy5fY2hhcnRVbmRvTW9kZWwoKS50b2dnbGVDb2xsYXBzZWRQYW5lKHRoaXMuc3RhdGUoKSk6dGhpcy5fY2hhcnRVbmRvTW9kZWwoKS50b2dnbGVNYXhpbWl6ZWRQYW5lKHRoaXMuc3RhdGUoKSl9fV9jb250ZXh0TWVudUV2ZW50KGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKTtpZih0LmNyb3NzaGFpclNvdXJjZSgpLnN0YXJ0TWVhc3VyZVBvaW50KCkmJiF0aGlzLl90cmFja0Nyb3NzaGFpck9ubHlBZnRlckxvbmdUYXApcmV0dXJuIHQuY3Jvc3NoYWlyU291cmNlKCkuY2xlYXJNZWFzdXJlKCksdm9pZCgwLFQucmVzZXRUb0N1cnNvcikoITApO2lmKHRoaXMuX3BpbmNoaW5nKXJldHVybjtpZihudWxsPT09dGhpcy5fZmlyc3Rab29tUG9pbnR8fHRoaXMuX3RyYWNrQ3Jvc3NoYWlyT25seUFmdGVyTG9uZ1RhcHx8dGhpcy5jYW5jZWxab29tKCksISgwLFQudG9vbElzQ3Vyc29yKShULnRvb2wudmFsdWUoKSl8fHRoaXMuX2lzU2VsZWN0UG9pbnRNb2RlRW5hYmxlZCgpKXtpZihlLmlzVG91Y2gpcmV0dXJuO3JldHVybigwLFQucmVzZXRUb0N1cnNvcikoITApLHRoaXMuc2V0Q3Vyc29yRm9yVG9vbCgpLHZvaWQodC5saW5lQmVpbmdDcmVhdGVkKCkmJnQuY2FuY2VsQ3JlYXRpbmdMaW5lKCkpfWlmKCF0aGlzLl9vcHRpb25zLmNvbnRleHRNZW51RW5hYmxlZClyZXR1cm47Y29uc3QgaT10aGlzLl9kYXRhU291cmNlQXRQb2ludChlLmxvY2FsWCxlLmxvY2FsWSkscz1pP2kuc291cmNlOm51bGw7aWYoZS5pc1RvdWNoJiZudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50KXtpZih0aGlzLl9wcmV2ZW50U291cmNlQ2hhbmdlKXJldHVybjt0aGlzLl9jbGVhckN1cnNvclBvc2l0aW9uKCl9ZS5pc1RvdWNoJiYodGhpcy5fY29udGV4dE1lbnVPcGVuZWRPbkxhc3RUYXA9ITAsdGhpcy5fc3RhcnRUcmFja1BvaW50PW51bGwpLHRoaXMuX2NvbnRleHRNZW51WD1lLmxvY2FsWCx0aGlzLl9jb250ZXh0TWVudVk9ZS5sb2NhbFk7Y29uc3Qgbj1pJiZpLmhpdHRlc3Q/aS5oaXR0ZXN0LnRhcmdldCgpOjAscj1uPj1NaS5IaXRUYXJnZXQuUmVndWxhcnx8bj49TWkuSGl0VGFyZ2V0Lk1vdmVQb2ludEJhY2tncm91bmQmJmUuaXNUb3VjaDtpZih0LnNlbGVjdGlvbk1hY3JvKCh0PT57bnVsbCE9PXMmJnI/dC5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHMpfHwodC5jbGVhclNlbGVjdGlvbigpLHQuYWRkSXRlbVRvU2VsZWN0aW9uKHMsdW4oaSxzKSkpOih0aGlzLl9vcHRpb25zLmNvbnRleHRNZW51LmdlbmVyYWwmJnRoaXMuX3Nob3dDb250ZXh0TWVudShlKSx0LmNsZWFyU2VsZWN0aW9uKCkpfSkpLG51bGwhPT1pJiZyJiZudWxsIT09cylpZigoMCxBaS5pc0RhdGFTb3VyY2UpKHMpJiZzLmhhc0NvbnRleHRNZW51KCkpcy5pc1NlbGVjdGlvbkVuYWJsZWQoKT90aGlzLnNob3dDb250ZXh0TWVudUZvclNlbGVjdGlvbihlLHZvaWQgMCxpLmhpdHRlc3QpOnRoaXMuc2hvd0NvbnRleHRNZW51Rm9yU291cmNlcyhbc10sZSx2b2lkIDAsdm9pZCAwLGkuaGl0dGVzdCk7ZWxzZXtjb25zdCB0PXRoaXMuX3NvdXJjZVdhc1NlbGVjdGVkKGkpO2kuaGl0dGVzdC50cnlDYWxsQ29udGV4dE1lbnVIYW5kbGVyKGUse3NvdXJjZVdhc1NlbGVjdGVkOnR9KX19X29uTW91c2VFdmVudCgpe3RoaXMuX3ByZXZlbnRTb3VyY2VDaGFuZ2U9ITEsdGhpcy5fc3RhcnRUcmFja1BvaW50PW51bGwsdGhpcy5fdHJhY2tDcm9zc2hhaXJPbmx5QWZ0ZXJMb25nVGFwPSExfV9vblRvdWNoRXZlbnQoKXt0aGlzLl90cmFja0Nyb3NzaGFpck9ubHlBZnRlckxvbmdUYXA9ITB9X2xvY2FsQ29vcmRpbmF0ZXNUb0xpbmVEYXRhU291cmNlUG9pbnQoZSx0LGkpe2NvbnN0IHM9dGhpcy5zdGF0ZSgpLmRlZmF1bHRQcmljZVNjYWxlKCk7aWYocy5pc0VtcHR5KCkpcmV0dXJuIG51bGw7Y29uc3Qgbj1uZXcgUHQuUG9pbnQoZSx0KSxyPSgwLGwuZW5zdXJlKShpLmZpcnN0VmFsdWUoKSk7cmV0dXJuIG4ucHJpY2U9cy5jb29yZGluYXRlVG9QcmljZSh0LHIpLG4uaW5kZXg9TWF0aC5yb3VuZCh0aGlzLl9jaGFydFVuZG9Nb2RlbCgpLnRpbWVTY2FsZSgpLmNvb3JkaW5hdGVUb0luZGV4KGUpKSxufV9zd2l0Y2hUcmFja2luZ01vZGVGcm9tQW5vdGhlclBhbmVJZk5lZWRlZChlKXtjb25zdCB0PXRoaXMuX2NoYXJ0LnRyYWNraW5nTW9kZVBhbmVXaWRnZXQoKTtpZihudWxsIT09dCYmdCE9PXRoaXMpe2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLmN1cnJlbnRQb2ludCgpO3QuX2V4aXRUcmFja2luZ01vZGVPbk5leHRUcnk9ITAsdC5fdHJ5RXhpdFRyYWNraW5nTW9kZSghMCksCnRoaXMuc3RhcnRUcmFja2luZ01vZGUobmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxuZXcgUHQuUG9pbnQoaS54LGUubG9jYWxZKSxuZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKSl9fWFzeW5jIF9zaG93Q29udGV4dE1lbnUoZSl7Y29uc3QgdD1lPT5lIGluc3RhbmNlb2YgZXMuU2VwYXJhdG9yLGk9dGhpcy5fY3VzdG9tQWN0aW9ucygpLHM9KGF3YWl0IHRoaXMuX2luaXRBY3Rpb25zKGUpKS5maWx0ZXIoKGU9Pm51bGwhPT1lKSk7aS5yZW1vdmUuZm9yRWFjaCgoZT0+e2ZvcihsZXQgdD0wO3Q8cy5sZW5ndGg7dCsrKXtjb25zdCBpPXNbdF07aWYoaSBpbnN0YW5jZW9mIGVzLkFjdGlvbiYmaS5nZXRMYWJlbCgpPT09ZSl7cy5zcGxpY2UodCwxKTticmVha319fSkpO2NvbnN0IG49aS50b3AuY29uY2F0KHMpLmNvbmNhdChpLmJvdHRvbSk7Zm9yKGxldCBlPW4ubGVuZ3RoLTE7ZT4wO2UtLSl0KG5bZV0pJiZ0KG5bZS0xXSkmJm4uc3BsaWNlKGUsMSk7bi5sZW5ndGgmJnQoblswXSkmJm4uc3BsaWNlKDAsMSksbi5sZW5ndGgmJnQobltuLmxlbmd0aC0xXSkmJm4uc3BsaWNlKG4ubGVuZ3RoLTEsMSksTmkuQ29udGV4dE1lbnVNYW5hZ2VyLnNob3dNZW51KG4sZSx7c3RhdE5hbWU6IkNoYXJ0Q29udGV4dE1lbnUifSx7bWVudU5hbWU6IkNoYXJ0Q29udGV4dE1lbnUifSl9YXN5bmMgX2luaXRBY3Rpb25zKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnQuYWN0aW9ucygpLGk9W107aWYodGhpcy5fY2hhcnQubW9kZWwoKS5tb2RlbCgpLnJlc2V0U2NhbGVzQXZhaWxhYmxlKCkudmFsdWUoKSYmKGkucHVzaCh0LmNoYXJ0UmVzZXQpLGkucHVzaChuZXcgZXMuU2VwYXJhdG9yKSksIXRoaXMuc3RhdGUoKS5pc0VtcHR5KCkmJigwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImRhdGFzb3VyY2VfY29weXBhc3RlIikmJnRoaXMuc3RhdGUoKS5tb2RlKCk9PT1NLlBhbmVNb2RlLlJlZ3VsYXIpe2NvbnN0e2NyZWF0ZVBhc3RlQWN0aW9uOnQsY3JlYXRlQWN0aW9uQ29weVByaWNlOnN9PWF3YWl0KDAsc3MuYWN0aW9uc1Byb3ZpZGVyTW9kdWxlKSgpLG49cyh0aGlzLnN0YXRlKCksZS5sb2NhbFkpLHI9dCh0aGlzLl9jaGFydCx0aGlzLnN0YXRlKCkpOyhufHxyKSYmKG4mJmkucHVzaChuKSxyJiZpLnB1c2gociksaS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpKX1pZihHcy5hbGVydHNBdmFpbGFibGUmJnRoaXMuc3RhdGUoKS5tb2RlKCk9PT1NLlBhbmVNb2RlLlJlZ3VsYXImJihpLmxlbmd0aCYmaS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpLCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5zdGF0ZSgpLm1haW5EYXRhU291cmNlKCkpLmFsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKS52YWx1ZSgpKSl7Y29uc3QgdD0oYXdhaXQoMCxGcy5nZXRBbGVydHNDaGFydEFjdGlvbkNyZWF0b3JzKSgpKS5jcmVhdGVBbGVydCh0aGlzLl9jaGFydCx7bG9jYWxZOmUubG9jYWxZLHBhbmU6dGhpcy5zdGF0ZSgpfSk7bnVsbCE9PXQmJmkucHVzaCh0KX1pZih0aGlzLl9vcHRpb25zLmNvbnRleHRNZW51Lm1haW5TZXJpZXNUcmFkZSYmdGhpcy5jb250YWluc01haW5TZXJpZXMoKSl7Y29uc3R7Y3JlYXRlQWN0aW9uVHJhZGU6dH09YXdhaXQoMCxzcy5hY3Rpb25zUHJvdmlkZXJNb2R1bGUpKCkscz1hd2FpdCB0KHRoaXMuX2NoYXJ0LHRoaXMuX2NoYXJ0Lm9wdGlvbnMoKS5leHRlcm5hbFNlcnZpY2VzLnRyYWRpbmcsZSk7cyYmaS5wdXNoKC4uLnMpfWlbaS5sZW5ndGgtMV1pbnN0YW5jZW9mIGVzLlNlcGFyYXRvcnx8aS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpLHQubW92ZUNoYXJ0QWN0aW9uJiYhdC5tb3ZlQ2hhcnRBY3Rpb24uaXNEaXNhYmxlZCgpJiZpLnB1c2godC5tb3ZlQ2hhcnRBY3Rpb24sbmV3IGVzLlNlcGFyYXRvciksaS5wdXNoKHRoaXMuX2NyZWF0ZUxvY2tUaW1lQXhpc0FjdGlvbihlKSksaS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpO2NvbnN0IHM9dGhpcy5fY2hhcnQubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpOygwLHpzLmlzVGFibGVWaWV3QWxsb3dlZEZvclN5bWJvbCkocykmJnQub3BlblRhYmxlVmlldyYmaS5wdXNoKHQub3BlblRhYmxlVmlldyksdC5wYW5lT2JqZWN0VHJlZSYmaS5wdXNoKHQucGFuZU9iamVjdFRyZWUpLHQuYXBwbHlDb2xvclRoZW1lJiZpLnB1c2godC5hcHBseUNvbG9yVGhlbWUpLGlbaS5sZW5ndGgtMV1pbnN0YW5jZW9mIGVzLlNlcGFyYXRvcnx8aS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpLHRoaXMuX2NoYXJ0LmFwcGx5SW5kaWNhdG9yc1RvQWxsQ2hhcnRzQXZhaWxhYmxlKCkmJihpLnB1c2godC5hcHBseVN0dWRpZXNUb0FsbENoYXJ0cyksaS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpKTtjb25zdCBuPXQucGFuZVJlbW92ZUFsbERyYXdpbmdUb29scy5nZXRTdGF0ZSgpLmRpc2FibGVkO258fGkucHVzaCh0LnBhbmVSZW1vdmVBbGxEcmF3aW5nVG9vbHMpO2NvbnN0IHI9dC5wYW5lUmVtb3ZlQWxsU3R1ZGllcy5nZXRTdGF0ZSgpLmRpc2FibGVkO3JldHVybiByfHxpLnB1c2godC5wYW5lUmVtb3ZlQWxsU3R1ZGllcyksbiYmcnx8aS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpLCgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfY2hhcnRfcHJvcGVydHlfcGFnZSIpJiZpLnB1c2godC5jaGFydFByb3BlcnRpZXMpLGlbaS5sZW5ndGgtMV1pbnN0YW5jZW9mIGVzLlNlcGFyYXRvciYmaS5wb3AoKSxpfV9sb2FkQW5kQ3JlYXRlTGVnZW5kV2lkZ2V0KCl7ClByb21pc2UuYWxsKFtpLmUoNDk2NzcpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg5NDk0OCksaS5lKDM2MjIyKSxpLmUoMjk1MzYpLGkuZSg5NDIzMiksaS5lKDMyODE2KSxpLmUoNTE4NCksaS5lKDU2MjUyKSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTcwODcpLGkuZSg3MDgxNSksaS5lKDkzNDE2KSxpLmUoMTIwNTEpLGkuZSg1MjA5NSksaS5lKDQ0MDMxKSxpLmUoODkwNDQpLGkuZSg0Mzc5MiksaS5lKDc4NDA0KSxpLmUoNTI5MjApLGkuZSg2MjYwMCksaS5lKDc1MjE3KSxpLmUoOTg2OTYpLGkuZSg2NTY3NSksaS5lKDkwNzQxKSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDIzNzQzKSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDY4NzI1KSxpLmUoMzY5MzgpLGkuZSg2NzkzMCksaS5lKDY1NTg4KV0pLnRoZW4oaS5iaW5kKGksNjcxODE4KSkudGhlbigoZT0+e2lmKHRoaXMuX2lzRGVzdHJveWVkfHwhdGhpcy5fb3B0aW9ucy5sZWdlbmRXaWRnZXRFbmFibGVkfHx0aGlzLl9sZWdlbmRXaWRnZXQpcmV0dXJuO2NvbnN0IHQ9ZS5MZWdlbmRXaWRnZXQsaT0oMCx4aS5kZWVwRXh0ZW5kKSh7fSx0aGlzLl9vcHRpb25zLmxlZ2VuZFdpZGdldCk7aS5jYW5TaG93U291cmNlQ29kZT0hdGhpcy5fY2hhcnQub25XaWRnZXQoKSYmIUouQ2hlY2tNb2JpbGUuYW55KCksaS5yZWFkT25seU1vZGU9aS5yZWFkT25seU1vZGV8fHRoaXMuX2NoYXJ0LnJlYWRPbmx5KCksaS5zdGF0dXNlc1dpZGdldHM9e3NvdXJjZVN0YXR1c2VzRW5hYmxlZDp0aGlzLl9vcHRpb25zLnNvdXJjZVN0YXR1c2VzV2lkZ2V0RW5hYmxlZCxzb3VyY2VTdGF0dXNlczp0aGlzLl9vcHRpb25zLnNvdXJjZVN0YXR1c2VzV2lkZ2V0fHx7fSxtYXJrZXRTdGF0dXNFbmFibGVkOnRoaXMuX29wdGlvbnMubWFya2V0U3RhdHVzV2lkZ2V0RW5hYmxlZCxkYXRhVXBkYXRlTW9kZUVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5jaGFydFdhcm5pbmdXaWRnZXRFbmFibGVkLGRhdGFVcGRhdGVNb2RlOnRoaXMuX29wdGlvbnMuY2hhcnRXYXJuaW5nV2lkZ2V0fHx7fSxkYXRhUHJvYmxlbUVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5kYXRhUHJvYmxlbVdpZGdldEVuYWJsZWQscGluZVNvdXJjZVN0YXR1c0VuYWJsZWQ6dGhpcy5fb3B0aW9ucy5waW5lU291cmNlU3RhdHVzRW5hYmxlZCxhbGVydFN0YXR1c0VuYWJsZWQ6dGhpcy5fb3B0aW9ucy5hbGVydFN0YXR1c0VuYWJsZWR9O2NvbnN0IHM9KDAsdS5jb21iaW5lKSgoKGUsdCk9PmduJiZ0aGlzLl9jaGFydCE9PWUmJiF0KSx0aGlzLl9jaGFydC5jaGFydFdpZGdldENvbGxlY3Rpb24oKS5hY3RpdmVDaGFydFdpZGdldC53ZWFrUmVmZXJlbmNlKCksdGhpcy5fY2hhcnQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkubG9jay5jcm9zc2hhaXIud2Vha1JlZmVyZW5jZSgpKSxuPSgwLHUuY29tYmluZSkoKChlLHQpPT5udWxsIT09ZT9lPT09dGhpcy5fc3RhdGU6KDAsVC50b29sSXNNZWFzdXJlKSh0KSksdGhpcy5fY2hhcnRNb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLm1lYXN1cmVQYW5lKCkud2Vha1JlZmVyZW5jZSgpLFQudG9vbC53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2xlZ2VuZFdpZGdldD1uZXcgdCh0aGlzLl9jaGFydFVuZG9Nb2RlbCgpLHRoaXMsdGhpcy5fY2hhcnQuYmFja2dyb3VuZFRvcFRoZW1lKCkuc3Bhd25Pd25lcnNoaXAoKSxzLm93bmVyc2hpcCgpLHRoaXMuX3Zpc3VhbGx5Q29sbGFwc2VkLnNwYXduT3duZXJzaGlwKCksbi5vd25lcnNoaXAoKSxpLHtzaG93Q29udGV4dE1lbnVGb3JTZWxlY3Rpb246dGhpcy5zaG93Q29udGV4dE1lbnVGb3JTZWxlY3Rpb24uYmluZCh0aGlzKSxzaG93Q29udGV4dE1lbnVGb3JTb3VyY2VzOnRoaXMuc2hvd0NvbnRleHRNZW51Rm9yU291cmNlcy5iaW5kKHRoaXMpLHNob3dDaGFydFByb3BlcnRpZXNGb3JTb3VyY2U6dGhpcy5fY2hhcnQuc2hvd0NoYXJ0UHJvcGVydGllc0ZvclNvdXJjZS5iaW5kKHRoaXMuX2NoYXJ0KSxzaG93R2VuZXJhbENoYXJ0UHJvcGVydGllczp0aGlzLl9jaGFydC5zaG93R2VuZXJhbENoYXJ0UHJvcGVydGllcy5iaW5kKHRoaXMuX2NoYXJ0KSxzaG93T2JqZWN0c1RyZWVEaWFsb2c6dGhpcy5fY2hhcnQuc2hvd09iamVjdHNUcmVlRGlhbG9nLmJpbmQodGhpcy5fY2hhcnQpLG9uTGVnZW5kUm93Rm9jdXNlZDooKT0+e3RoaXMuX2NoYXJ0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLmFjdGl2ZUNoYXJ0V2lkZ2V0LnNldFZhbHVlKHRoaXMuX2NoYXJ0KX19KTtjb25zdCByPXRoaXMuX2xlZ2VuZFdpZGdldC5nZXRFbGVtZW50KCk7ci5jbGFzc0xpc3QuYWRkKCJjaGFydC1ndWktd3JhcHBlcl9fbGVnZW5kIiksdGhpcy5fZGl2LnByZXBlbmQociksdGhpcy5fbGVnZW5kV2lkZ2V0LnVwZGF0ZUxheW91dCgpLHRoaXMuX2xlZ2VuZFdpZGdldC51cGRhdGVXaWRnZXRNb2RlQnlTaXplKHRoaXMuX3NpemUpLHRoaXMuX2xlZ2VuZFdpZGdldC51cGRhdGVUaGVtZWRDb2xvcnModGhpcy5fdGhlbWVkVG9wQ29sb3IpO2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20odGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c0ZhY3RvcnlNYXAua2V5cygpKSl0aGlzLl9sZWdlbmRXaWRnZXQuYWRkQ3VzdG9tV2lkZ2V0VG9MZWdlbmQoZSwoMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNGYWN0b3J5TWFwLmdldChlKSkpfSkpfV9sb2FkQW5kQ3JlYXRlUGFuZUNvbnRyb2xzV2lkZ2V0KGUpewpQcm9taXNlLmFsbChbaS5lKDQ5Njc3KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoOTQ5NDgpLGkuZSgzNjIyMiksaS5lKDI5NTM2KSxpLmUoOTQyMzIpLGkuZSgzMjgxNiksaS5lKDUxODQpLGkuZSg1NjI1MiksaS5lKDExNDYxKSxpLmUoMjQ1ODEpLGkuZSg5NjU4NyksaS5lKDE3MDg3KSxpLmUoNzA4MTUpLGkuZSg5MzQxNiksaS5lKDEyMDUxKSxpLmUoNTIwOTUpLGkuZSg0NDAzMSksaS5lKDg5MDQ0KSxpLmUoNDM3OTIpLGkuZSg3ODQwNCksaS5lKDUyOTIwKSxpLmUoNjI2MDApLGkuZSg3NTIxNyksaS5lKDk4Njk2KSxpLmUoNjU2NzUpLGkuZSg5MDc0MSksaS5lKDMyMzg3KSxpLmUoMzA2OTkpLGkuZSgyMzc0MyksaS5lKDE0ODg5KSxpLmUoNDIyMTIpLGkuZSg2ODcyNSksaS5lKDM2OTM4KSxpLmUoNjc5MzApLGkuZSg2NTU4OCldKS50aGVuKGkuYmluZChpLDI5NzcwNykpLnRoZW4oKHQ9PntpZih0aGlzLl9pc0Rlc3Ryb3llZHx8dGhpcy5fc3RhdGUhPT1lKXJldHVybjtjb25zdCBpPXQuUGFuZUNvbnRyb2xzV2lkZ2V0O3RoaXMuX3BhbmVDb250cm9scz1uZXcgaSh0aGlzLl9jaGFydFVuZG9Nb2RlbCgpLGUse2JhY2tncm91bmRUaGVtZU5hbWU6dGhpcy5fY2hhcnQuYmFja2dyb3VuZFRvcFRoZW1lKCksYW55U2VwYXJhdG9yU2VsZWN0ZWQ6dGhpcy5fYW55U2VwYXJhdG9yU2VsZWN0ZWQud2Vha1JlZmVyZW5jZSgpfSx0aGlzLl9kaXYpLHRoaXMuX3BhbmVDb250cm9scy51cGRhdGVXaWRnZXRNb2RlQnlXaWR0aCh0aGlzLl9zaXplLndpZHRoKSx0aGlzLl9wYW5lQ29udHJvbHMudXBkYXRlVGhlbWVkQ29sb3JzKHRoaXMuX3RoZW1lZFRvcENvbG9yKSx0aGlzLl9wYW5lQ29udHJvbHNSZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5faGFuZGxlUmVzdHJpY3RMZWdlbmRXaWR0aC5iaW5kKHRoaXMpKSx0aGlzLl9wYW5lQ29udHJvbHNSZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX3BhbmVDb250cm9scy5nZXRFbGVtZW50KCkpLHRoaXMuX3BhbmVDb250cm9scy5nZXRFbGVtZW50KCkuY2xhc3NMaXN0LmFkZCgiY2hhcnQtZ3VpLXdyYXBwZXJfX3BhbmVDb250cm9scyIpLHRoaXMuX3N0YXRlPy5jb2xsYXBzZWQoKS52YWx1ZSgpJiZ0aGlzLl9jaGFydE1vZGVsKCkuZnVsbFVwZGF0ZSgpfSkpfV9oYW5kbGVSZXN0cmljdExlZ2VuZFdpZHRoKGUpe251bGwhPT10aGlzLl9sZWdlbmRXaWRnZXQmJm51bGwhPT10aGlzLl9wYW5lQ29udHJvbHMmJnRoaXMuX2xlZ2VuZFdpZGdldC5hZGRNYXJnaW4oZVtlLmxlbmd0aC0xXS5jb250ZW50UmVjdC53aWR0aCl9X29uTWFnbmV0U3RhdGVDaGFuZ2VkKCl7dGhpcy5fY2hhcnQuaXNBY3RpdmUoKS52YWx1ZSgpJiYodGhpcy5faXNTZWxlY3RQb2ludE1vZGVFbmFibGVkKCl8fHRoaXMuX2lzVG9vbEFjdGlvbkFjdGl2ZU9uUGFuZSghMCkpJiZ0aGlzLl9jaGFydE1vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkudmlzaWJsZSYmdGhpcy5fdXBkYXRlTGluZVRvb2xVc2luZ01hZ25ldE9yU2hpZnQoKX1fb25TaGlmdEtleVN0YXRlQ2hhbmdlZCgpe3RoaXMuX2NoYXJ0LmlzQWN0aXZlKCkudmFsdWUoKSYmdGhpcy5faXNUb29sQWN0aW9uQWN0aXZlT25QYW5lKCExKSYmdGhpcy5fY2hhcnRNb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLnZpc2libGUmJnRoaXMuX3VwZGF0ZUxpbmVUb29sVXNpbmdNYWduZXRPclNoaWZ0KExpLkVudmlyb25tZW50U3RhdGUuY3JlYXRlKCgwLFh0LnNoaWZ0UHJlc3NlZCkoKS52YWx1ZSgpKSl9X2lzVG9vbEFjdGlvbkFjdGl2ZU9uUGFuZShlKXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwoKSxpPXQubGluZUJlaW5nQ3JlYXRlZCgpfHx0LmxpbmVCZWluZ0VkaXRlZCgpfHx0LnNvdXJjZXNCZWluZ01vdmVkKCkubGVuZ3RoPjAmJnQuc291cmNlc0JlaW5nTW92ZWQoKVswXTtyZXR1cm4gaT90LnBhbmVGb3JTb3VyY2UoaSk9PT10aGlzLl9zdGF0ZTplJiYoMCxtLmlzTGluZVRvb2xOYW1lKShULnRvb2wudmFsdWUoKSkmJnQuY3Jvc3NoYWlyU291cmNlKCkucGFuZT09PXRoaXMuX3N0YXRlfV91cGRhdGVMaW5lVG9vbFVzaW5nTWFnbmV0T3JTaGlmdChlKXtpZihudWxsPT09dGhpcy5fcHJldk1vdmVFdmVudFBvc2l0aW9uKXJldHVybjtjb25zdHt4OnQseTppfT10aGlzLl9wcmV2TW92ZUV2ZW50UG9zaXRpb24scz10aGlzLl9jaGFydE1vZGVsKCkuc291cmNlc0JlaW5nTW92ZWQoKTtzLmxlbmd0aD4wPyhULmlzU3R1ZHlFZGl0aW5nTm93LnZhbHVlKCkmJnRoaXMuc2V0Q3Vyc29yUG9zaXRpb24odCxpLGUpLHRoaXMuX2FsaWduU291cmNlc1RoYXRCZWluZ01vdmVkKHMsdCxpLGUpKTp0aGlzLnNldEN1cnNvclBvc2l0aW9uKHQsaSxlKX1fc2hvd0VkaXREaWFsb2dGb3JTb3VyY2UoZSx0KXtpZih0aGlzLl9vcHRpb25zLnByb3BlcnR5UGFnZXNFbmFibGVkJiZlLnVzZXJFZGl0RW5hYmxlZCgpKWlmKGU9PT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLm1haW5TZXJpZXMoKSl0aGlzLl9jaGFydC5zaG93R2VuZXJhbENoYXJ0UHJvcGVydGllcyhKdC5UYWJOYW1lcy5zeW1ib2wpO2Vsc2UgaWYoKDAscmkuaXNMaW5lVG9vbCkoZSl8fCgwLHRpLmlzU3R1ZHkpKGUpfHxzaShlKSl7bGV0IGk7Y29uc3Qgcz10Py5kYXRhKCk7aWYobnVsbCE9cyl7Y29uc3QgZT1zLmFyZWFOYW1lO3ZvaWQgMCE9PWUmJihpPW1uLmdldChlKSl9dGhpcy5fY2hhcnQuc2hvd0NoYXJ0UHJvcGVydGllc0ZvclNvdXJjZShlLGkpLnRoZW4oKGU9Pnt0aGlzLl9lZGl0RGlhbG9nPWV9KSl9fV9pbml0VG9vbENyZWF0aW9uTW9kZVBhcmFtcyhlKXt0aGlzLl9zdGFydFRvdWNoUG9pbnQ9bmV3IFB0LlBvaW50KGUucGFnZVgsZS5wYWdlWSksdGhpcy5faW5pdENyb3NzSGFpclBvc2l0aW9uPXRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKS5jdXJyZW50UG9pbnQoKX1fdXBkYXRlQ3Jvc3NoYWlyUG9zaXRpb25JblRvb2xDcmVhdGlvbk1vZGUoZSx0KXtpZih0IT09dGhpcy5fc3RhdGUpewpjb25zdCBpPXRoaXMuX2NoYXJ0LnBhbmVCeVN0YXRlKHQpO3JldHVybiBpLl9zdGFydFRvdWNoUG9pbnQ9dGhpcy5fc3RhcnRUb3VjaFBvaW50LGkuX2luaXRDcm9zc0hhaXJQb3NpdGlvbj10aGlzLl9pbml0Q3Jvc3NIYWlyUG9zaXRpb24sdm9pZCBpLl91cGRhdGVDcm9zc2hhaXJQb3NpdGlvbkluVG9vbENyZWF0aW9uTW9kZShlLHQpfWNvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpO3RoaXMuX2NoYXJ0Lmp1c3RBY3RpdmF0ZWQoKSYmKHRoaXMuX2luaXRDcm9zc0hhaXJQb3NpdGlvbj1pLmN1cnJlbnRQb2ludCgpKTtjb25zdCBzPWUucGFnZVgsbj1lLnBhZ2VZLHI9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pbml0Q3Jvc3NIYWlyUG9zaXRpb24pLG89bmV3IFB0LlBvaW50KHMsbikuc3VidHJhY3QoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zdGFydFRvdWNoUG9pbnQpKSxhPXIuYWRkKG8pO3RoaXMuc2V0Q3Vyc29yUG9zaXRpb24oYS54LGEueSxuZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKSl9X3ByaWNlQXhpc2VzQ29udGFpbmVyKGUpe3JldHVybiJsZWZ0Ij09PWU/dGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXI6dGhpcy5fcmhzUHJpY2VBeGlzZXNDb250YWluZXJ9X3JlY2FsY3VsYXRlUHJpY2VTY2FsZXMoZSl7Y29uc3QgdD10aGlzLnN0YXRlKCk7Zm9yKGNvbnN0IGkgb2YgdC5sZWZ0UHJpY2VTY2FsZXMoKSl0LnJlY2FsY3VsYXRlUHJpY2VTY2FsZShpLGUpO2Zvcihjb25zdCBpIG9mIHQucmlnaHRQcmljZVNjYWxlcygpKXQucmVjYWxjdWxhdGVQcmljZVNjYWxlKGksZSk7Zm9yKGNvbnN0IGkgb2YgdC5zb3VyY2VzQnlHcm91cCgpLm92ZXJsYXlQcmljZVNjYWxlU291cmNlcygpKSgwLHJpLmlzTGluZVRvb2wpKGkpfHx0LnJlY2FsY3VsYXRlUHJpY2VTY2FsZShpLnByaWNlU2NhbGUoKSxlKX1fY3JlYXRlTG9ja1RpbWVBeGlzQWN0aW9uKGUpe2NvbnN0IHQ9MD09PVQuY3Jvc3NoYWlyTG9jay52YWx1ZSgpPy50eXBlO3JldHVybiBuZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuQ3Jvc3NoYWlyLkxvY2tWZXJ0aWNhbEN1cnNvciIsb3B0aW9uczp7bGFiZWw6bm4sc3RhdE5hbWU6IkxvY2tDdXJzb3JJblRpbWUiLGNoZWNrYWJsZTohMCxjaGVja2VkOnQsb25FeGVjdXRlOigpPT50aGlzLl90b2dnbGVMb2NrVGltZUF4aXMoZS5sb2NhbFgsIXQpfX0pfV90b2dnbGVMb2NrVGltZUF4aXMoZSx0KXtpZih0KXtjb25zdCB0PXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkudGltZVNjYWxlKCksaT10LmNvb3JkaW5hdGVUb0luZGV4KGUpLHM9dC5wb2ludHMoKS5yb3VnaFRpbWUoaSk7aWYobnVsbCE9PXMpcmV0dXJuIHZvaWQgVC5jcm9zc2hhaXJMb2NrLnNldFZhbHVlKHt0eXBlOjAsdGltZTpzfSl9VC5jcm9zc2hhaXJMb2NrLnNldFZhbHVlKG51bGwpfV9wcmV2ZW50VG91Y2hFdmVudHNFeGNlcHRQaW5jaCgpe3JldHVybiB0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLmhhc1RvdWNoZXNPbk90aGVyUGFuZXModGhpcyl8fG51bGwhPT10aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnBpbmNoaW5nUGFuZSgpfV91cGRhdGVIb3ZlcmVkU291cmNlKGUsdCxpKXtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbj1zLm1vZGVsKCk7bGV0IHI9ITE7Y29uc3Qgbz1lJiZlLnNvdXJjZSxhPXRoaXMuX2NoYXJ0LnJlYWRPbmx5KCk7aWYobi5jcm9zc2hhaXJTb3VyY2UoKS5pc1JlcGxheVNlbGVjdGlvbigpKXRoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgibm9uZSIpO2Vsc2UgaWYoISghYXx8ZSYmKDAscmkuaXNMaW5lVG9vbCkoZS5zb3VyY2UpKXx8dGhpcy5fZWRpdERpYWxvZyYmdGhpcy5fZWRpdERpYWxvZy52aXNpYmxlKCkudmFsdWUoKSlhJiYobi5zZXRIb3ZlcmVkU291cmNlKG51bGwsbnVsbCksdGhpcy5zZXRDdXJzb3JGb3JUb29sKCkpO2Vsc2V7Y29uc3QgbD1ULnRvb2wudmFsdWUoKTtsZXQgYz1udWxsO2lmKCF0aGlzLl9wcm9jZXNzaW5nJiYoKDAsVC50b29sSXNDdXJzb3IpKGwpfHwoMCxULnRvb2xJc0VyYXNlcikobCkmJiFhfHx0Lm1vZCgpfHwhcy5saW5lQmVpbmdDcmVhdGVkKCkpKXtjb25zdCB0PWU/LmhpdHRlc3Q7cj1Cb29sZWFuKHQ/LmRhdGEoKT8uaGlkZUNyb3NzaGFpckxpbmVzT25Ib3ZlciksdCYmdC50YXJnZXQoKT5NaS5IaXRUYXJnZXQuTW92ZVBvaW50QmFja2dyb3VuZD8oYz1vLCFvPy5pc0hvdmVyZWRFbmFibGVkKCl8fCgwLFQudG9vbElzRXJhc2VyKShsKSYmbz09PXMubWFpblNlcmllcygpP24uc2V0SG92ZXJlZFNvdXJjZShudWxsLG51bGwpOm4uc2V0SG92ZXJlZFNvdXJjZShvLHQuZGF0YSgpLDApKTpuLnNldEhvdmVyZWRTb3VyY2UobnVsbCxudWxsKX1hP3RoaXMuc2V0Q3Vyc29yRm9yVG9vbChjLHQsWXMuUGFuZUN1cnNvclR5cGUuRGVmYXVsdCk6dGhpcy5fb3B0aW9ucy5zb3VyY2VTZWxlY3Rpb25FbmFibGVkJiYodGhpcy5faXNTZWxlY3RQb2ludE1vZGVFbmFibGVkKCk/dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJwb2ludGVyIik6dGhpcy5zZXRDdXJzb3JGb3JUb29sKGMsdCxlPy5oaXR0ZXN0LmRhdGEoKT8uY3Vyc29yVHlwZSkpO2NvbnN0IGg9bi5jdXN0b21Tb3VyY2VCZWluZ01vdmVkKCksZD1udWxsIT09aD9baF06bi5zb3VyY2VzQmVpbmdNb3ZlZCgpO2lmKCghZC5sZW5ndGh8fG51bGwhPT1lJiYtMT09PWQuaW5kZXhPZihlLnNvdXJjZSkpJiZ0aGlzLl91cGRhdGVDb21tb25Ub29sdGlwKGUpLCFhJiZudWxsIT09ZSYmaSYmZS5oaXR0ZXN0Lmhhc1ByZXNzZWRNb3ZlSGFuZGxlcihpKSl7c3dpdGNoKChlLmhpdHRlc3QuZGF0YSgpfHx7fSkuY3Vyc29yVHlwZSl7Y2FzZSBZcy5QYW5lQ3Vyc29yVHlwZS5WZXJ0aWNhbFJlc2l6ZTp0aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoIm5zLXJlc2l6ZSIpO2JyZWFrO2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuSG9yaXpvbnRhbFJlc2l6ZTp0aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoIndlLXJlc2l6ZSIpO2JyZWFrO2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuRGlhZ29uYWxOZVN3UmVzaXplOnRoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgibmVzdy1yZXNpemUiKQo7YnJlYWs7Y2FzZSBZcy5QYW5lQ3Vyc29yVHlwZS5EaWFnb25hbE53U2VSZXNpemU6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJud3NlLXJlc2l6ZSIpfX19dGhpcy5fcHJldmVudENyb3NzSGFpck1vdmUoKSYmdGhpcy5fY2xlYXJDdXJzb3JQb3NpdGlvbigpLDEhPT10aGlzLl9wcmVzc2VkTW92ZVN0YWdlJiZuLmNyb3NzaGFpclNvdXJjZSgpLnNldExpbmVzU2hvdWxkQmVIaWRkZW4ocil9YXN5bmMgX2NyZWF0ZUVycm9yQmxvY2soKXtyZXR1cm4gbmV3KGF3YWl0KDAsWHMuZ2V0RXJyb3JDYXJkUmVuZGVyZXIpKCkpfV9jdXN0b21BY3Rpb25zKCl7Y29uc3QgZT17dG9wOltdLGJvdHRvbTpbXSxyZW1vdmU6W119LHQ9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKS50aW1lU2NhbGUoKSxpPXRoaXMuX3N0YXRlJiZ0aGlzLl9zdGF0ZS5kZWZhdWx0UHJpY2VTY2FsZSgpO2lmKCEoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjdXN0b21faXRlbXNfaW5fY29udGV4dF9tZW51IikpcmV0dXJuIGU7Y29uc3Qgcz10LmlzRW1wdHkoKT92b2lkIDA6dC5pbmRleFRvVXNlclRpbWUodC5jb29yZGluYXRlVG9JbmRleCh0aGlzLl9jb250ZXh0TWVudVgpKTtsZXQgbjtpZihpJiYhaS5pc0VtcHR5KCkpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnN0YXRlKCkubWFpbkRhdGFTb3VyY2UoKSkuZmlyc3RWYWx1ZSgpO249aS5jb29yZGluYXRlVG9QcmljZSh0aGlzLl9jb250ZXh0TWVudVksKDAsbC5lbnN1cmVOb3ROdWxsKShlKSl9cmV0dXJuKDAsJC5lbWl0KSgib25Db250ZXh0TWVudSIse3VuaXh0aW1lOm51bGwhPXM/cy5nZXRUaW1lKCkvMWUzOnZvaWQgMCxwcmljZTpuLGNhbGxiYWNrOnQ9PntbLi4udF0uZm9yRWFjaCgodD0+e2lmKHQudGV4dClpZih0LnRleHQubGVuZ3RoPjEmJiItIj09PXQudGV4dFswXSllLnJlbW92ZS5wdXNoKHQudGV4dC5zbGljZSgxKSk7ZWxzZXtsZXQgaTtpPSItIj09PXQudGV4dD9uZXcgZXMuU2VwYXJhdG9yOm5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5FeHRlcm5hbEFjdGlvbklkIixvcHRpb25zOntsYWJlbDp0LnRleHQsb25FeGVjdXRlOnQuY2xpY2t9fSksdC5wb3NpdGlvbiYmInRvcCI9PT10LnBvc2l0aW9uP2UudG9wLnB1c2goaSk6ZS5ib3R0b20ucHVzaChpKX19KSl9fSksZX1faGlnaGxpZ2h0UHJpY2VBeGlzZXNCeUxhYmVsKGUpe3RoaXMuX3N0YXRlPy5tb2RlKCk9PT1NLlBhbmVNb2RlLlJlZ3VsYXImJih0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lci5zZXRIaWdobGlnaHRlZFByaWNlQXhpc2VzKGUpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLnNldEhpZ2hsaWdodGVkUHJpY2VBeGlzZXMoZSkpfV9zdWJzY3JpYmVUb1N0YXRlKCl7Y29uc3QgZT10aGlzLnN0YXRlKCk7ZS5vbkRlc3Ryb3llZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU3RhdGVEZXN0cm95ZWQsITApLGUuZGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCksZS5tYXhpbWl6ZWQoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVmlzdWFsbHlDb2xsYXBzZWQse2NhbGxXaXRoTGFzdDohMH0pLGUuY29sbGFwc2VkKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZpc3VhbGx5Q29sbGFwc2VkLHtjYWxsV2l0aExhc3Q6ITB9KSxlLm1heGltaXplZCgpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVNYXhpbWl6ZWQse2NhbGxXaXRoTGFzdDohMH0pfV91bnN1YnNjcmliZUZyb21TdGF0ZSgpe2NvbnN0IGU9dGhpcy5zdGF0ZSgpO2Uub25EZXN0cm95ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLmRhdGFTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLm1heGltaXplZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZpc3VhbGx5Q29sbGFwc2VkKSxlLmNvbGxhcHNlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZpc3VhbGx5Q29sbGFwc2VkKSxlLm1heGltaXplZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZU1heGltaXplZCksdGhpcy5fbWF4aW1pemVkLnNldFZhbHVlKCExKX1fdXBkYXRlQWNjZXNzaWJpbGl0eUF0dHIoKXtpZih0aGlzLmhhc1N0YXRlKCkmJnRoaXMuc3RhdGUoKS5pc01haW5QYW5lKCkudmFsdWUoKSl7Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsKCkubWFpblNlcmllcygpLHQ9ZS5zeW1ib2woKSxzPSgwLEkuZ2V0VHJhbnNsYXRlZFJlc29sdXRpb25Nb2RlbCkoZS5pbnRlcnZhbCgpKS5oaW50LG49cC50KG51bGwse3JlcGxhY2U6e3N5bWJvbDp0LGludGVydmFsOnN9fSxpKDYyODQzMCkpO3RoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLG4pfWVsc2UgdGhpcy5fdG9wQ2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIil9YXN5bmMgX3VwZGF0ZUVuZE9mU2VyaWVzQmFubmVyKCl7e2NvbnN0IGU9KCk9PntpZih3aW5kb3cudXNlci5pc19wcm8pcmV0dXJuIG51bGw7Y29uc3QgZT10aGlzLl9zdGF0ZTtpZighZSlyZXR1cm4gdGhpcy5fZW5kT2ZTZXJpZXNEYXRhQmFubmVyPy5zZXRWaXNpYmxlKCExKSxudWxsO2lmKCF0aGlzLl9jaGFydC5pc0FjdGl2ZSgpLnZhbHVlKCkpcmV0dXJuIG51bGw7Y29uc3QgdD1lLm1vZGVsKCkubWFpblNlcmllcygpO2lmKCF0KXJldHVybiBudWxsO2lmKCFlLmlzTWFpblBhbmUoKS52YWx1ZSgpKXJldHVybiBudWxsO2lmKDI9PT10LnN0YXR1cygpfHx0LnJlcXVlc3RNb3JlRGF0YUF2YWlsYWJsZSgpKXJldHVybiB0aGlzLl9lbmRPZlNlcmllc0RhdGFCYW5uZXI/LnNldFZpc2libGUoITEpLG51bGw7Y29uc3QgaT10LmJhcnMoKS5maXJzdEluZGV4KCk7cmV0dXJuIG51bGw9PT1pP251bGw6e3N0YXRlOmUsc2VyaWVzOnQsZmlyc3RJbmRleDppfX0sdD0oKT0+e2lmKHRoaXMuX2xlZ2VuZFdpZGdldCl7Y29uc3QgZT10aGlzLl9sZWdlbmRXaWRnZXQuZ2V0RWxlbWVudCgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBlLmJvdHRvbS1lLnRvcH1yZXR1cm4gMH0KO2xldCBzPWUoKTtpZighc3x8ImVuZCI9PT1zLnNlcmllcy5lbmRPZkRhdGFUeXBlKCkpcmV0dXJuIHZvaWQgdGhpcy5fZW5kT2ZTZXJpZXNEYXRhQmFubmVyPy5zZXRWaXNpYmxlKCExKTtzLnNlcmllcy5kb05vdFNob3dMYXN0QXZhaWxhYmxlQmFyKCExKTtjb25zdCBuPXMuc2VyaWVzLmVuZE9mRGF0YVR5cGUoKSxyPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhdGUpLm1vZGVsKCkudGltZVNjYWxlKCkuaW5kZXhUb0Nvb3JkaW5hdGUocy5maXJzdEluZGV4KS1zLnN0YXRlLm1vZGVsKCkudGltZVNjYWxlKCkuYmFyU3BhY2luZygpO2lmKCF0aGlzLl9lbmRPZlNlcmllc0RhdGFCYW5uZXImJiEoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSl7Y29uc3QgdD1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDczMTEpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDk0MjMyKSxpLmUoNTE4NCksaS5lKDEyMDUxKSxpLmUoMzgyNjIpLGkuZSg3NDI3MyksaS5lKDMyMzg3KSxpLmUoMzk2MDkpLGkuZSg5MTgzMyldKS50aGVuKGkuYmluZChpLDMxOTEyNikpO2lmKHM9ZSgpLCFzKXJldHVybjt0aGlzLl9lbmRPZlNlcmllc0RhdGFCYW5uZXJ8fCh0aGlzLl9lbmRPZlNlcmllc0RhdGFCYW5uZXI9bmV3IHQuRW5kT2ZTZXJpZXNCYW5uZXIsdGhpcy5fZGl2LmFwcGVuZENoaWxkKHRoaXMuX2VuZE9mU2VyaWVzRGF0YUJhbm5lci5lbGVtZW50KCkpKX1jb25zdCBvPXQoKTt0aGlzLl9lbmRPZlNlcmllc0RhdGFCYW5uZXI/LnNldFZpc2libGUoITApLHRoaXMuX2VuZE9mU2VyaWVzRGF0YUJhbm5lcj8udXBkYXRlKHMuc3RhdGUsbyxyLG4pO2NvbnN0IGE9dGhpcy5fZW5kT2ZTZXJpZXNEYXRhQmFubmVyPy5jdXJyZW50U2l6ZSgpO3Muc2VyaWVzLmRvTm90U2hvd0xhc3RBdmFpbGFibGVCYXIobnVsbCE9PWEmJjAhPT1hKX19X3BhbmVEYmxDbGlja09yVGFwRXZlbnQoZSl7aWYodGhpcy5fY2hhcnQucmVhZE9ubHkoKSlyZXR1cm47Y29uc3QgdD10aGlzLl9kYXRhU291cmNlQXRQb2ludChlLmxvY2FsWCxlLmxvY2FsWSk7aWYobnVsbCE9PXQmJigwLHJpLmlzRWRpdGFibGVUZXh0TGluZVRvb2wpKHQuc291cmNlKSl7Y29uc3QgZT10LnNvdXJjZS50ZXh0RWRpdGluZ0FjdGl2YXRpb25UaW1lKCk7bnVsbCE9PWUmJnBlcmZvcm1hbmNlLm5vdygpLWU8NTAwJiZ0aGlzLnByb2Nlc3NEb3VibGVDbGlja09uU291cmNlKHQuc291cmNlLHQuaGl0dGVzdCl9fX1jbGFzcyB3bntjb25zdHJ1Y3Rvcigpe3RoaXMuX2RyYWdnaW5nU291cmNlPW51bGwsdGhpcy5fYWN0aXZlVG91Y2hQYW5lcz1uZXcgU2V0LHRoaXMuX3Njcm9sbGluZ1BhbmU9bnVsbCx0aGlzLl9waW5jaGluZ1BhbmU9bnVsbH1vblBhbmVEZXN0cm95ZWQoZSl7dGhpcy5fYWN0aXZlVG91Y2hQYW5lcy5kZWxldGUoZSksdGhpcy5fc2Nyb2xsaW5nUGFuZT09PWUmJih0aGlzLl9zY3JvbGxpbmdQYW5lPW51bGwpLHRoaXMuX3BpbmNoaW5nUGFuZT09PWUmJih0aGlzLl9waW5jaGluZ1BhbmU9bnVsbCl9c3RhcnRUb3VjaChlKXt0aGlzLl9hY3RpdmVUb3VjaFBhbmVzLmFkZChlKX1lbmRUb3VjaChlKXt0aGlzLl9hY3RpdmVUb3VjaFBhbmVzLmRlbGV0ZShlKX1oYXNUb3VjaGVzT25PdGhlclBhbmVzKGUpe3JldHVybiB0aGlzLl9hY3RpdmVUb3VjaFBhbmVzLnNpemU+MXx8MT09PXRoaXMuX2FjdGl2ZVRvdWNoUGFuZXMuc2l6ZSYmIXRoaXMuX2FjdGl2ZVRvdWNoUGFuZXMuaGFzKGUpfXRyeVNldERyYWdnaW5nU291cmNlKGUsdCl7cmV0dXJuIXRoaXMuaGFzVG91Y2hlc09uT3RoZXJQYW5lcyh0KSYmKCgwLGwuYXNzZXJ0KShudWxsPT09dGhpcy5fZHJhZ2dpbmdTb3VyY2V8fHRoaXMuX2RyYWdnaW5nU291cmNlPT09ZSksdGhpcy5fZHJhZ2dpbmdTb3VyY2U9ZSwhMCl9Y2xlYXJEcmFnZ2luZ1NvdXJjZSgpe251bGwhPT10aGlzLl9kcmFnZ2luZ1NvdXJjZSYmKHRoaXMuX2RyYWdnaW5nU291cmNlPW51bGwpfWRyYWdnaW5nU291cmNlKCl7cmV0dXJuIHRoaXMuX2RyYWdnaW5nU291cmNlfXNldFNjcm9sbGluZ1BhbmUoZSl7KDAsbC5hc3NlcnQpKG51bGw9PT1lfHxudWxsPT09dGhpcy5fc2Nyb2xsaW5nUGFuZXx8dGhpcy5fc2Nyb2xsaW5nUGFuZT09PWUpLHRoaXMuX3Njcm9sbGluZ1BhbmU9ZX1zY3JvbGxpbmdQYW5lKCl7cmV0dXJuIHRoaXMuX3Njcm9sbGluZ1BhbmV9c2V0UGluY2hpbmdQYW5lKGUpeygwLGwuYXNzZXJ0KShudWxsPT09ZXx8bnVsbD09PXRoaXMuX3BpbmNoaW5nUGFuZXx8dGhpcy5fcGluY2hpbmdQYW5lPT09ZSksdGhpcy5fcGluY2hpbmdQYW5lPWV9cGluY2hpbmdQYW5lKCl7cmV0dXJuIHRoaXMuX3BpbmNoaW5nUGFuZX19dmFyIENuPWkoNDY1Nzc3KSxQbj1pKDQ4Mzc4Myk7aSg2MTU1MjYpO2NvbnN0IFRuPSgwLFBlLmlzRmVhdHVyZUVuYWJsZWQpKCJzdXBwb3J0X292ZXJuaWdodF9zZXNzaW9uIik7dmFyIHhuOyFmdW5jdGlvbihlKXtlW2UuQm9yZGVyU2l6ZT0xXT0iQm9yZGVyU2l6ZSIsZVtlLk9mZnNldFNpemU9NV09Ik9mZnNldFNpemUifSh4bnx8KHhuPXt9KSk7Y29uc3QgTW49e2NvbnRleHRNZW51RW5hYmxlZDohMCx0aW1lem9uZU1lbnVFbmFibGVkOiEwLHByZXNzZWRNb3VzZU1vdmVTY2FsZTohMH0sSW49bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHNlc3Npb24iLHAudChudWxsLHZvaWQgMCxpKDcyMzQyNikpKSxMbj1wLnQobnVsbCx2b2lkIDAsaSgxMDk5NTYpKTtjbGFzcyBBbntjb25zdHJ1Y3RvcihlLHQsaSxzLG4pe3RoaXMuX3JlbmRlcmVyT3B0aW9ucz1udWxsLHRoaXMuX29uTGFiZWxIb3ZlcmVkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX21vdXNlZG93bj0hMSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lPSJpbnZhbGlkIix0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKE1uKSx0fHx7fSksdGhpcy5jaGFydD1lLHRoaXMuX3Byb3BlcnRpZXM9ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcywKdGhpcy5fZWxlbWVudD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9lbGVtZW50LnN0eWxlLmRpc3BsYXk9ImZsZXgiLHRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lPW47Y29uc3Qgcj1lLm1vZGVsKCkubW9kZWwoKS5yZW5kZXJlck9wdGlvbnNQcm92aWRlcigpLG89KCk9PnRoaXMuYmFja2dyb3VuZENvbG9yKCksbD0oKT0+e3Rocm93IG5ldyBFcnJvcigiVGltZSBheGlzIGRvZXMgbm90IHN1cHBvcnQgcmVhbCBwcmljZSBzY2FsZXMiKX0sYz17dGl0bGVzUHJvdmlkZXI6aSxzdHViQ29udGV4dE1lbnVQcm92aWRlcjphc3luYyhlLHQpPT57Y29uc3QgaT1hd2FpdCBzKGUsdCksbj10aGlzLmdldENvbnRleHRNZW51QWN0aW9ucyghMCk7cmV0dXJuIDA9PT1uLmxlbmd0aD9pOmkuY29uY2F0KG5ldyBlcy5TZXBhcmF0b3Isbil9LGJhY2tncm91bmRCYXNlZFRoZW1lOm4uc3Bhd25Pd25lcnNoaXAoKSxvbkFjdGl2ZU9ySG92ZXJlZENoYXJ0OigwLHUuY29tYmluZSkoKChlLHQpPT5lfHx0KSx0aGlzLmNoYXJ0LmlzQWN0aXZlKCkud2Vha1JlZmVyZW5jZSgpLHRoaXMuY2hhcnQuaXNIb3ZlcmVkKCkud2Vha1JlZmVyZW5jZSgpKS5vd25lcnNoaXAoKSxyZW5kZXJlck9wdGlvbnNQcm92aWRlcjpyLGdldEJhY2tncm91bmRUb3BDb2xvcjpvLGdldEJhY2tncm91bmRCb3R0b21Db2xvcjpvLHJlcXVlc3RSZXBhaW50OigpPT57dGhpcy5jaGFydC5tb2RlbCgpLm1vZGVsKCkuaW52YWxpZGF0ZShMZS5JbnZhbGlkYXRpb25NYXNrLnRpbWVTY2FsZShMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCwhMCkpfSxzaG93SG9yaXpvbnRhbEJvcmRlcjohMH07dGhpcy5fbGhzU3R1YkNvbnRhaW5lcj1uZXcgamkodGhpcy5fcHJvcGVydGllcywibGVmdCIsbCxjLHRoaXMuX29wdGlvbnMucHJpY2VBeGlzTGFiZWxzT3B0aW9ucyx0aGlzKSx0aGlzLl9saHNTdHViQ29udGFpbmVyLm9uTGFiZWxIb3ZlcmVkKCkuc3Vic2NyaWJlKHRoaXMsKChlLHQpPT57dGhpcy5fb25MYWJlbEhvdmVyZWQuZmlyZShlLHQpfSkpLHRoaXMuX3Joc1N0dWJDb250YWluZXI9bmV3IGppKHRoaXMuX3Byb3BlcnRpZXMsInJpZ2h0IixsLGMsdGhpcy5fb3B0aW9ucy5wcmljZUF4aXNMYWJlbHNPcHRpb25zLHRoaXMpLHRoaXMuX3Joc1N0dWJDb250YWluZXIub25MYWJlbEhvdmVyZWQoKS5zdWJzY3JpYmUodGhpcywoKGUsdCk9Pnt0aGlzLl9vbkxhYmVsSG92ZXJlZC5maXJlKGUsdCl9KSksdGhpcy5fZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9saHNTdHViQ29udGFpbmVyLmdldEVsZW1lbnQoKSksdGhpcy5fY2VsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2NlbGwpLHRoaXMuX2NlbGwuY2xhc3NMaXN0LmFkZCgiY2hhcnQtbWFya3VwLXRhYmxlIiwidGltZS1heGlzIiksdGhpcy5fY2VsbC5zdHlsZS5oZWlnaHQ9IjI1cHgiLHRoaXMuX2R2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2R2LnN0eWxlLndpZHRoPSIxMDAlIix0aGlzLl9kdi5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMuX2R2LnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsdGhpcy5fZHYuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5fY2VsbC5hcHBlbmRDaGlsZCh0aGlzLl9kdiksdGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXI9KCk9PnRoaXMuY2hhcnQubW9kZWwoKS5tb2RlbCgpLmxpZ2h0VXBkYXRlKCksdGhpcy5fY2FudmFzQmluZGluZz0oMCxLdC5jcmVhdGVCb3VuZENhbnZhcykodGhpcy5fZHYsKDAseXQuc2l6ZSkoe3dpZHRoOjE2LGhlaWdodDoxNn0pKSx0aGlzLl9jYW52YXNCaW5kaW5nLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKTtjb25zdCBoPXRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudDtoLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsaC5zdHlsZS56SW5kZXg9IjEiLGguc3R5bGUubGVmdD0iMCIsaC5zdHlsZS50b3A9IjAiLHRoaXMuX3RvcENhbnZhc0JpbmRpbmc9KDAsS3QuY3JlYXRlQm91bmRDYW52YXMpKHRoaXMuX2R2LCgwLHl0LnNpemUpKHt3aWR0aDoxNixoZWlnaHQ6MTZ9KSksdGhpcy5fdG9wQ2FudmFzQmluZGluZy5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlcik7Y29uc3QgZD10aGlzLl90b3BDYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnQ7ZC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLGQuc3R5bGUuekluZGV4PSIyIixkLnN0eWxlLmxlZnQ9IjAiLGQuc3R5bGUudG9wPSIwIix0aGlzLl9kdi5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpLHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcmhzU3R1YkNvbnRhaW5lci5nZXRFbGVtZW50KCkpLHRoaXMucmVzdG9yZURlZmF1bHRDdXJzb3IoKSx0aGlzLnVwZGF0ZSgpLHRoaXMuX21pblZpc2libGVTcGFuPUNuLk1JTlVURV9TUEFOLHRoaXMuX21vdXNlRXZlbnRIYW5kbGVyPW5ldyB3aS5Nb3VzZUV2ZW50SGFuZGxlcih0aGlzLl90b3BDYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnQsdGhpcyx7dHJlYXRWZXJ0VG91Y2hEcmFnQXNQYWdlU2Nyb2xsOiEwLHRyZWF0SG9yelRvdWNoRHJhZ0FzUGFnZVNjcm9sbDohMX0pLHRoaXMuc2l6ZT0oMCx5dC5zaXplKSh7d2lkdGg6MCxoZWlnaHQ6MH0pfWRlc3Ryb3koKXt0aGlzLl9tb3VzZUV2ZW50SGFuZGxlci5kZXN0cm95KCksdGhpcy5fdG9wQ2FudmFzQmluZGluZy51bnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLmRpc3Bvc2UoKSx0aGlzLl9jYW52YXNCaW5kaW5nLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpLHRoaXMuX2NhbnZhc0JpbmRpbmcuZGlzcG9zZSgpLAp0aGlzLl9yaHNTdHViQ29udGFpbmVyLm9uTGFiZWxIb3ZlcmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbGhzU3R1YkNvbnRhaW5lci5vbkxhYmVsSG92ZXJlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2xoc1N0dWJDb250YWluZXIuZGVzdHJveSgpLHRoaXMuX3Joc1N0dWJDb250YWluZXIuZGVzdHJveSgpLHRoaXMuY2hhcnQucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmJhY2tncm91bmQudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUucmVsZWFzZSgpfXNldEN1cnNvcihlKXtsZXQgdD0iIjsiZ3JhYmJpbmciIT09ZSYmImV3LXJlc2l6ZSIhPT1lfHwodD0idGltZS1heGlzLS1jdXJzb3ItIitlKSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lIT09dCYmKHRoaXMuX2N1cnJlbnRDdXJzb3JDbGFzc05hbWUmJnRoaXMuX2NlbGwuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lKSx0JiZ0aGlzLl9jZWxsLmNsYXNzTGlzdC5hZGQodCksdGhpcy5fY3VycmVudEN1cnNvckNsYXNzTmFtZT10LHRoaXMuX2NlbGwuc3R5bGUuY3Vyc29yKX1yZXN0b3JlRGVmYXVsdEN1cnNvcigpe3RoaXMuc2V0Q3Vyc29yKCIiKX1nZXRFbGVtZW50KCl7cmV0dXJuIHRoaXMuX2VsZW1lbnR9b3B0aW1hbEhlaWdodCgpe2NvbnN0IGU9dGhpcy5yZW5kZXJlck9wdGlvbnMoKTtyZXR1cm4gTWF0aC5jZWlsKGUuYm9yZGVyU2l6ZStlLm9mZnNldFNpemUrZS5mb250U2l6ZStlLnBhZGRpbmdUb3ArZS5wYWRkaW5nQm90dG9tK2UubGFiZWxCb3R0b21PZmZzZXQpfXNldFNpemVzKGUsdCxpKXt0aGlzLnNpemUmJigwLHl0LmVxdWFsU2l6ZXMpKHRoaXMuc2l6ZSxlKXx8KHRoaXMuc2l6ZT1lLHRoaXMuX2NhbnZhc0JpbmRpbmcucmVzaXplQ2FudmFzRWxlbWVudChlKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLnJlc2l6ZUNhbnZhc0VsZW1lbnQoZSksdGhpcy5fY2VsbC5zdHlsZS53aWR0aD1lLndpZHRoKyJweCIsdGhpcy5fY2VsbC5zdHlsZS5oZWlnaHQ9ZS5oZWlnaHQrInB4IiksdGhpcy5fbGhzU3R1YkNvbnRhaW5lci5zZXRTaXplcyhlLmhlaWdodCx0KSx0aGlzLl9yaHNTdHViQ29udGFpbmVyLnNldFNpemVzKGUuaGVpZ2h0LGkpfXJlbmRlcmVyT3B0aW9ucygpe2lmKCF0aGlzLl9yZW5kZXJlck9wdGlvbnN8fHRoaXMuX3JlbmRlcmVyT3B0aW9ucy5mb250U2l6ZSE9PXRoaXMuZm9udFNpemUoKSl7Y29uc3QgZT10aGlzLmZvbnRTaXplKCk7dGhpcy5fcmVuZGVyZXJPcHRpb25zPXtib3JkZXJTaXplOjEsb2Zmc2V0U2l6ZTo1LGZvbnRTaXplOmUsZm9udDooMCxSaS5tYWtlRm9udCkoZSxXaS5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLCIiKSx3aWR0aENhY2hlOm5ldyBCaS5UZXh0V2lkdGhDYWNoZSxwYWRkaW5nVG9wOjMqZS8xMixwYWRkaW5nQm90dG9tOjMqZS8xMixwYWRkaW5nSG9yaXpvbnRhbDo5KmUvMTIsbGFiZWxCb3R0b21PZmZzZXQ6NCplLzEyfX1yZXR1cm4gdGhpcy5fcmVuZGVyZXJPcHRpb25zfWJhY2tncm91bmRDb2xvcigpe3JldHVybiB0aGlzLmNoYXJ0Lm1vZGVsKCkubW9kZWwoKS5iYWNrZ3JvdW5kQ29sb3IoKS52YWx1ZSgpfWxpbmVDb2xvcigpe2NvbnN0IGU9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5saW5lQ29sb3IudmFsdWUoKTtpZigwPT09KDAseWkucGFyc2VSZ2JhKShlKVszXSl7Y29uc3QgZT10aGlzLmNoYXJ0Lm1vZGVsKCkubW9kZWwoKS5sYXN0UGFuZSgpO2lmKGUmJmUuY29sbGFwc2VkKCkudmFsdWUoKSlyZXR1cm4gdGhpcy5jaGFydC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuc2VwYXJhdG9yQ29sb3IudmFsdWUoKX1yZXR1cm4gZX10ZXh0Q29sb3IoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS50ZXh0Q29sb3IudmFsdWUoKX1mb250U2l6ZSgpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmZvbnRTaXplLnZhbHVlKCl9YmFzZUZvbnQoKXtyZXR1cm4oMCxSaS5tYWtlRm9udCkodGhpcy5mb250U2l6ZSgpLFdpLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpfWJhc2VCb2xkRm9udCgpe3JldHVybigwLFJpLm1ha2VGb250KSh0aGlzLmZvbnRTaXplKCksV2kuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSwiIiwiYm9sZCIpfWhhc0NhbnZhcyhlKXtyZXR1cm4gdGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50PT09ZXx8dGhpcy5fdG9wQ2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50PT09ZX1vbkxhYmVsSG92ZXJlZCgpe3JldHVybiB0aGlzLl9vbkxhYmVsSG92ZXJlZH1nZXRTY3JlZW5zaG90RGF0YSgpe3JldHVybntjb250ZW50OnRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudC50b0RhdGFVUkwoKSxjYW52YXM6dGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LGNvbnRlbnRXaWR0aDp0aGlzLnNpemUud2lkdGgsY29udGVudEhlaWdodDp0aGlzLnNpemUuaGVpZ2h0LGxoc1N0dWI6dGhpcy5fbGhzU3R1YkNvbnRhaW5lci5nZXRTY3JlZW5zaG90RGF0YSgpLHJoc1N0dWI6dGhpcy5fcmhzU3R1YkNvbnRhaW5lci5nZXRTY3JlZW5zaG90RGF0YSgpfX1nZXRDb250ZXh0TWVudUFjdGlvbnMoZSl7Y29uc3QgdD10aGlzLmNoYXJ0LGk9dC5hY3Rpb25zKCkscz1bXTtpZihlfHwodC5tb2RlbCgpLnRpbWVTY2FsZSgpLnJlc2V0QXZhaWxhYmxlKCkudmFsdWUoKSYmKHMucHVzaChpLnRpbWVTY2FsZVJlc2V0KSxzLnB1c2gobmV3IGVzLlNlcGFyYXRvcikpLHRoaXMuX29wdGlvbnMudGltZXpvbmVNZW51RW5hYmxlZCYmcy5wdXNoKGkuYXBwbHlUaW1lWm9uZSkscy5wdXNoKGkuc2Vzc2lvbkJyZWFrcykpLCF0Lm1vZGVsKCkubWFpblNlcmllcygpLmlzRFdNKCkpe2NvbnN0IGU9dC5tb2RlbCgpPy5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpO2lmKGUpewpjb25zdCBpPXQubW9kZWwoKS5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNlc3Npb25JZCxuPShlLnN1YnNlc3Npb25zfHxbXSkuZmlsdGVyKChlPT4hZS5wcml2YXRlJiYoVG58fCIyNGgiIT09ZS5pZCkpKS5zbGljZSgpLnNvcnQoUG4uY29tcGFyZVN1YnNlc3Npb25zRm9yTWVudSk7aWYobi5sZW5ndGg+MSl7Y29uc3Qgcj1lLnR5cGUsbz1uLm1hcCgoZT0+bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlNldFNlc3Npb24iLG9wdGlvbnM6e2xhYmVsOigwLFBuLnRyYW5zbGF0ZVNlc3Npb25EZXNjcmlwdGlvbikoZS5kZXNjcmlwdGlvbixyKSxjaGVja2FibGU6ITAsY2hlY2tlZDppLnZhbHVlKCk9PT1lLmlkLHN0YXROYW1lOiJTZXRTZXNzaW9uIixvbkV4ZWN1dGU6KCk9Pnt0Lm1vZGVsKCkuc2V0UHJvcGVydHkoaSxlLmlkLEluKX19fSkpKSxhPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5TZXRTZXNzaW9uIixvcHRpb25zOntsYWJlbDpMbixzdGF0TmFtZToiU2V0U2Vzc2lvbiIsc3ViSXRlbXM6b319KTtzLnB1c2goYSl9fX1yZXR1cm4hdC5vbldpZGdldCgpJiYoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiKSYmKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY2hhcnRfcHJvcGVydHlfcGFnZV9zY2FsZXMiKSYmaS5zY2FsZXNQcm9wZXJ0aWVzJiYocy5sZW5ndGgmJnMucHVzaChuZXcgZXMuU2VwYXJhdG9yKSxzLnB1c2goaS5zY2FsZXNQcm9wZXJ0aWVzKSksc311cGRhdGUoKXtpZighdGhpcy5jaGFydC5oYXNNb2RlbCgpKXJldHVybjtjb25zdCBlPXRoaXMuY2hhcnQubW9kZWwoKS50aW1lU2NhbGUoKS5tYXJrcygpO2lmKGUpe3RoaXMuX21pblZpc2libGVTcGFuPUNuLllFQVJfU1BBTjtmb3IoY29uc3QgdCBvZiBlKXRoaXMuX21pblZpc2libGVTcGFuPU1hdGgubWluKHQuc3Bhbix0aGlzLl9taW5WaXNpYmxlU3Bhbil9fXVwZGF0ZVByaWNlQXhpc1N0dWJzKCl7Y29uc3QgZT10aGlzLmNoYXJ0Lm1vZGVsKCkubW9kZWwoKSx0PXRoaXMuY2hhcnQuaGFzTWF4aW1pemVkUGFuZSgpPygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5jaGFydC5tYXhpbWl6ZWRQYW5lV2lkZ2V0KCkpLnN0YXRlKCk6ZS5wYW5lRm9yU291cmNlKGUubWFpblNlcmllcygpKTtpZighdClyZXR1cm47Y29uc3QgaT1lLnByaWNlU2NhbGVTbG90c0NvdW50KCk7dGhpcy5fbGhzU3R1YkNvbnRhaW5lci5zZXRTY2FsZXMoW10saS5sZWZ0LHQubGVmdFByaWNlU2NhbGVzKCkubGVuZ3RoLGkubGVmdCtpLnJpZ2h0KSx0aGlzLl9yaHNTdHViQ29udGFpbmVyLnNldFNjYWxlcyhbXSxpLnJpZ2h0LHQucmlnaHRQcmljZVNjYWxlcygpLmxlbmd0aCxpLmxlZnQraS5yaWdodCl9cGFpbnQoZSl7aWYoZS5sZXZlbD09PUxlLkludmFsaWRhdGlvbkxldmVsLk5vbmV8fDA9PT10aGlzLnNpemUud2lkdGh8fDA9PT10aGlzLnNpemUuaGVpZ2h0KXJldHVybjsoMCxLdC50cnlBcHBseVN1Z2dlc3RlZENhbnZhc0JpdG1hcFNpemUpKHRoaXMuX2NhbnZhc0JpbmRpbmcpLCgwLEt0LnRyeUFwcGx5U3VnZ2VzdGVkQ2FudmFzQml0bWFwU2l6ZSkodGhpcy5fdG9wQ2FudmFzQmluZGluZyk7Y29uc3QgdD0oMCxLdC5nZXRDb250ZXh0MkQpKHRoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudCk7aWYoZS5sZXZlbD5MZS5JbnZhbGlkYXRpb25MZXZlbC5DdXJzb3Ipe2NvbnN0IGk9KDAsS3QuZ2V0Q29udGV4dDJEKSh0aGlzLl9jYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnQpLHM9KDAsS3QuZ2V0QmluZGluZ1JlbmRlcmluZ0luZm8pKHRoaXMuX2NhbnZhc0JpbmRpbmcpO3RoaXMuZHJhd0JhY2tncm91bmQoaSxzKSx0aGlzLmNoYXJ0Lmhhc01vZGVsKCkmJih0aGlzLmRyYXdCb3JkZXIoaSxzKSx0aGlzLmRyYXdUaWNrTWFya3MoaSxzKSx0aGlzLmRyYXdCYWNrTGFiZWxzKGkscyksdGhpcy5kcmF3Q3Jvc3NIYWlyTGFiZWwodCxzKSksdGhpcy5fbGhzU3R1YkNvbnRhaW5lci5wYWludFN0dWJzKGUpLHRoaXMuX3Joc1N0dWJDb250YWluZXIucGFpbnRTdHVicyhlKX10aGlzLmRyYXdDcm9zc0hhaXJMYWJlbCh0LCgwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl90b3BDYW52YXNCaW5kaW5nKSl9ZHJhd0JhY2tncm91bmQoZSx0KXtpZigoMCxLdC5jbGVhclJlY3QpKGUsMCwwLHQuYml0bWFwU2l6ZS53aWR0aCx0LmJpdG1hcFNpemUuaGVpZ2h0LHRoaXMuYmFja2dyb3VuZENvbG9yKCkpLCF0aGlzLmNoYXJ0Lmhhc01vZGVsKCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5jaGFydC5tb2RlbCgpO2lmKCFpLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSl7Y29uc3Qgcz1pLm1vZGVsKCkuc2VsZWN0aW9uKCkubGluZURhdGFTb3VyY2VzKCkuZmlsdGVyKChlPT4hZS5pc0ZpeGVkKCkpKS5yZWR1Y2UoKChlLHQpPT57Y29uc3QgaT10LnRpbWVBeGlzUG9pbnRzKCk7cmV0dXJuIDA9PT1pLmxlbmd0aD9lOmUuY29uY2F0KGkpfSksW10pO3MubGVuZ3RoPjAmJnRoaXMuX2hpZ2hsaWdodEJhY2tncm91bmQoZSxzLHQpfWNvbnN0IHM9aS5tb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpO3Muc3RhcnRNZWFzdXJlUG9pbnQoKSYmdGhpcy5faGlnaGxpZ2h0QmFja2dyb3VuZChlLHMubWVhc3VyZVBvaW50cygpLHQpfWRyYXdCb3JkZXIoZSx0KXtlLnNhdmUoKSxlLmZpbGxTdHlsZT10aGlzLmxpbmVDb2xvcigpO2NvbnN0IGk9TWF0aC5tYXgoMSxNYXRoLmZsb29yKHRoaXMucmVuZGVyZXJPcHRpb25zKCkuYm9yZGVyU2l6ZSp0LnZlcnRpY2FsUGl4ZWxSYXRpbykpLHM9dC5iaXRtYXBTaXplLndpZHRoO2UuZmlsbFJlY3QoMCwwLHMsaSksZS5yZXN0b3JlKCl9ZHJhd1RpY2tNYXJrcyhlLHQpe2NvbnN0IGk9dGhpcy5jaGFydC5tb2RlbCgpLnRpbWVTY2FsZSgpLm1hcmtzKCk7aWYoIWl8fDA9PT1pLmxlbmd0aClyZXR1cm47bGV0IHM9aS5yZWR1Y2UoKChlLHQpPT5lLnNwYW4+dC5zcGFuP2U6dCksaVswXSkuc3BhbjtzPjMwJiZzPDQwJiYocz0zMCksZS5zYXZlKCksZS5zdHJva2VTdHlsZT10aGlzLmxpbmVDb2xvcigpCjtjb25zdCBuPXRoaXMucmVuZGVyZXJPcHRpb25zKCkscj1uLmJvcmRlclNpemUrbi5vZmZzZXRTaXplK24ucGFkZGluZ1RvcCtuLmZvbnRTaXplLzI7ZS50ZXh0QWxpZ249ImNlbnRlciIsZS50ZXh0QmFzZWxpbmU9Im1pZGRsZSIsZS5maWxsU3R5bGU9dGhpcy50ZXh0Q29sb3IoKSwoMCxLdC5kcmF3U2NhbGVkKShlLHQuaG9yaXpvbnRhbFBpeGVsUmF0aW8sdC52ZXJ0aWNhbFBpeGVsUmF0aW8sKCgpPT57ZS5mb250PXRoaXMuYmFzZUZvbnQoKTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKyl7Y29uc3Qgbj1pW3RdO24uc3BhbjxzJiZlLmZpbGxUZXh0KG4ubGFiZWwsbi5jb29yZCxyKX1lLmZvbnQ9dGhpcy5iYXNlQm9sZEZvbnQoKTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKyl7Y29uc3Qgbj1pW3RdO24uc3Bhbj49cyYmZS5maWxsVGV4dChuLmxhYmVsLG4uY29vcmQscil9fSkpLGUucmVzdG9yZSgpfWRyYXdCYWNrTGFiZWxzKGUsdCl7ZS5zYXZlKCk7Y29uc3QgaT1uZXcgU2V0LHM9dGhpcy5jaGFydC5tb2RlbCgpLm1vZGVsKCk7bGV0IG49cy5kYXRhU291cmNlcygpO2NvbnN0IHI9cy5zZWxlY3Rpb24oKS5hbGxTb3VyY2VzKCk7Zm9yKGNvbnN0IGUgb2YgcilpLmFkZChlKTtzLmhvdmVyZWRTb3VyY2UoKSYmaS5hZGQocy5ob3ZlcmVkU291cmNlKCkpO2Zvcihjb25zdCBlIG9mIHMuc291cmNlc0JlaW5nTW92ZWQoKSlpLmFkZChlKTtjb25zdCBvPXMuY3VzdG9tU291cmNlQmVpbmdNb3ZlZCgpO251bGwhPT1vJiZpLmFkZChvKTtjb25zdCBhPXMubGluZUJlaW5nRWRpdGVkKCk/P3MubGluZUJlaW5nQ3JlYXRlZCgpO2EmJmkuYWRkKGEpLGkuYWRkKHRoaXMuY2hhcnQubW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKSksbj1uLmNvbmNhdChzLmN1c3RvbVNvdXJjZXMoKSk7Y29uc3QgbD10aGlzLnJlbmRlcmVyT3B0aW9ucygpO2ZvcihsZXQgcz0wO3M8bi5sZW5ndGg7cysrKXtjb25zdCByPW5bc107aWYoIWkuaGFzKHIpJiZyLnRpbWVBeGlzVmlld3Mpe2NvbnN0IGk9ci50aW1lQXhpc1ZpZXdzKCk7aWYoaSlmb3IobGV0IHM9MDtzPGkubGVuZ3RoO3MrKylpW3NdLnJlbmRlcmVyKCkuZHJhdyhlLHQsbCl9fWUucmVzdG9yZSgpfWRyYXdDcm9zc0hhaXJMYWJlbChlLHQpe2Uuc2F2ZSgpLGUuY2xlYXJSZWN0KDAsMCx0LmJpdG1hcFNpemUud2lkdGgsdC5iaXRtYXBTaXplLmhlaWdodCk7Y29uc3QgaT10aGlzLmNoYXJ0Lm1vZGVsKCkubW9kZWwoKSxzPVtdLG49aS5saW5lQmVpbmdFZGl0ZWQoKT8/aS5saW5lQmVpbmdDcmVhdGVkKCk7aWYobiYmbi50aW1lQXhpc1ZpZXdzKXtjb25zdCBlPW4udGltZUF4aXNWaWV3cygpO2UmJmUubGVuZ3RoJiZzLnB1c2goZSl9Y29uc3Qgcj1pLmN1c3RvbVNvdXJjZUJlaW5nTW92ZWQoKTt0aGlzLl9hZGRWaWV3c09yTWF4TWluKG51bGw9PT1yP1tdOltyXSxzKSx0aGlzLl9hZGRWaWV3c09yTWF4TWluKGkuc291cmNlc0JlaW5nTW92ZWQoKSxzKSx0aGlzLl9hZGRWaWV3c09yTWF4TWluKGkuc2VsZWN0aW9uKCkuYWxsU291cmNlcygpLHMpO2NvbnN0IG89aS5ob3ZlcmVkU291cmNlKCk7aWYobyYmKDAsQWkuaXNEYXRhU291cmNlKShvKSYmIWkuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZChvKSYmby50aW1lQXhpc1ZpZXdzKXtjb25zdCBlPW8udGltZUF4aXNWaWV3cygpO2UmJmUubGVuZ3RoJiZzLnB1c2goZSl9Y29uc3QgYT1pLmNyb3NzaGFpclNvdXJjZSgpLGw9YS50aW1lQXhpc1ZpZXdzJiZhLnRpbWVBeGlzVmlld3MoKTtsJiZsLmxlbmd0aCYmcy5wdXNoKGwpO2NvbnN0IGM9dGhpcy5yZW5kZXJlck9wdGlvbnMoKTtmb3IoY29uc3QgaSBvZiBzKWZvcihjb25zdCBzIG9mIGkpZS5zYXZlKCkscy5yZW5kZXJlcigpLmRyYXcoZSx0LGMpLGUucmVzdG9yZSgpO2UucmVzdG9yZSgpfW1vdXNlRG93bkV2ZW50KGUpe3RoaXMuX21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUpfXRvdWNoU3RhcnRFdmVudChlKXt0aGlzLl9tb3VzZU9yVG91Y2hFbnRlckV2ZW50KGUpLHRoaXMuX21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUpfW1vdXNlRG93bk91dHNpZGVFdmVudCgpe3RoaXMuX291dHNpZGVNb3VzZURvd25PclRvdWNoU3RhcnRFdmVudCgpfXRvdWNoU3RhcnRPdXRzaWRlRXZlbnQoKXt0aGlzLl9vdXRzaWRlTW91c2VEb3duT3JUb3VjaFN0YXJ0RXZlbnQoKX1wcmVzc2VkTW91c2VNb3ZlRXZlbnQoZSl7dGhpcy5fcHJlc3NlZE1vdXNlT3JUb3VjaE1vdmVFdmVudChlKX10b3VjaE1vdmVFdmVudChlKXt0aGlzLl9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpfW1vdXNlVXBFdmVudChlKXt0aGlzLl9tb3VzZVVwT3JUb3VjaEVuZEV2ZW50KGUpfXRvdWNoRW5kRXZlbnQoZSl7dGhpcy5fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKSx0aGlzLl9tb3VzZU9yVG91Y2hMZWF2ZUV2ZW50KGUpfWNvbnRleHRNZW51RXZlbnQoZSl7dGhpcy5fY29udGV4dE1lbnVPclRvdWNoQ29udGV4dE1lbnVFdmVudChlKX10b3VjaENvbnRleHRNZW51RXZlbnQoZSl7dGhpcy5fY29udGV4dE1lbnVPclRvdWNoQ29udGV4dE1lbnVFdmVudChlKX1tb3VzZUVudGVyRXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoRW50ZXJFdmVudChlKX1tb3VzZUxlYXZlRXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoTGVhdmVFdmVudChlKX1tb3VzZURvdWJsZUNsaWNrRXZlbnQoZSl7dGhpcy5fbW91c2VEb3VibGVDbGlja09yRG91YmxlVGFwRXZlbnQoZSl9ZG91YmxlVGFwRXZlbnQoZSl7dGhpcy5fbW91c2VEb3VibGVDbGlja09yRG91YmxlVGFwRXZlbnQoZSl9X291dHNpZGVNb3VzZURvd25PclRvdWNoU3RhcnRFdmVudCgpe3RoaXMuX3pvb21BdmFpbGFibGUoKSYmdGhpcy5fbW91c2Vkb3duJiYodGhpcy5fbW91c2Vkb3duPSExLHRoaXMuY2hhcnQubW9kZWwoKS5lbmRTY2FsZVRpbWUoKSx0aGlzLnJlc3RvcmVEZWZhdWx0Q3Vyc29yKCkpfV9oaWdobGlnaHRCYWNrZ3JvdW5kKGUsdCxpKXtjb25zdCBzPXRoaXMuY2hhcnQubW9kZWwoKS50aW1lU2NhbGUoKTtsZXQgbj10WzBdLmluZGV4LHI9dFswXS5pbmRleAo7Zm9yKGxldCBlPTE7ZTx0Lmxlbmd0aDtlKyspbj1NYXRoLm1pbihuLHRbZV0uaW5kZXgpLHI9TWF0aC5tYXgocix0W2VdLmluZGV4KTtjb25zdHtob3Jpem9udGFsUGl4ZWxSYXRpbzpvfT1pLGE9TWF0aC5mbG9vcihzLmluZGV4VG9Db29yZGluYXRlKG4pKm8pLGw9TWF0aC5jZWlsKHMuaW5kZXhUb0Nvb3JkaW5hdGUocikqbyk7KDAsS3QuZmlsbFJlY3QpKGUsYSwwLGwtYSxpLmJpdG1hcFNpemUuaGVpZ2h0LHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuYXhpc0hpZ2hsaWdodENvbG9yLnZhbHVlKCkpfV9hZGRWaWV3c09yTWF4TWluKGUsdCl7aWYoZS5sZW5ndGg8PTEpe2Zvcihjb25zdCBpIG9mIGUpaWYoaS50aW1lQXhpc1ZpZXdzKXtjb25zdCBlPWkudGltZUF4aXNWaWV3cygpO2UmJmUubGVuZ3RoJiZ0LnB1c2goZSl9fWVsc2UgdC5wdXNoKHRoaXMuX21pbk1heFZpZXdzKGUpKX1fbWluTWF4Vmlld3MoZSl7Y29uc3QgdD1bXTtsZXQgaT0xLzAscz0tMS8wLG49bnVsbCxyPW51bGw7Zm9yKGNvbnN0IHQgb2YgZSlpZih0LnRpbWVBeGlzVmlld3Mpe2NvbnN0IGU9dC50aW1lQXhpc1ZpZXdzKCk7aWYoZSYmZS5sZW5ndGgpZm9yKGxldCB0PTA7dDxlLmxlbmd0aDsrK3Qpe2NvbnN0IG89ZVt0XSxhPW8uY29vcmRpbmF0ZSgpO2E+PXMmJihzPWEscj1vKSxhPD1pJiYoaT1hLG49byl9fXJldHVybiByJiZ0LnB1c2gociksbiYmdC5wdXNoKG4pLHR9X3pvb21BdmFpbGFibGUoKXtjb25zdCBlPXRoaXMuY2hhcnQubW9kZWwoKS5tb2RlbCgpO3JldHVybiFlLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSYmZS56b29tRW5hYmxlZCgpJiZ0aGlzLl9vcHRpb25zLnByZXNzZWRNb3VzZU1vdmVTY2FsZSYmIXRoaXMuY2hhcnQuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCl9X21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUpe2lmKHRoaXMuX21vdXNlZG93bnx8IXRoaXMuX3pvb21BdmFpbGFibGUoKSlyZXR1cm47dGhpcy5fbW91c2Vkb3duPSEwO2NvbnN0IHQ9dGhpcy5jaGFydC5tb2RlbCgpO3QudGltZVNjYWxlKCkuaXNFbXB0eSgpfHx0LnN0YXJ0U2NhbGVUaW1lKGUubG9jYWxYKX1fcHJlc3NlZE1vdXNlT3JUb3VjaE1vdmVFdmVudChlKXt0aGlzLl96b29tQXZhaWxhYmxlKCkmJnRoaXMuY2hhcnQubW9kZWwoKS5zY2FsZVRpbWVUbyhlLmxvY2FsWCl9X21vdXNlVXBPclRvdWNoRW5kRXZlbnQoZSl7dGhpcy5fem9vbUF2YWlsYWJsZSgpJiYodGhpcy5fbW91c2Vkb3duPSExLHRoaXMuY2hhcnQubW9kZWwoKS5lbmRTY2FsZVRpbWUoKSx0aGlzLnJlc3RvcmVEZWZhdWx0Q3Vyc29yKCkpfV9jb250ZXh0TWVudU9yVG91Y2hDb250ZXh0TWVudUV2ZW50KGUpe3RoaXMuX29wdGlvbnMuY29udGV4dE1lbnVFbmFibGVkJiZOaS5Db250ZXh0TWVudU1hbmFnZXIuc2hvd01lbnUodGhpcy5nZXRDb250ZXh0TWVudUFjdGlvbnMoKSxlLHtzdGF0TmFtZToiVGltZVNjYWxlQ29udGV4dE1lbnUifSx7bWVudU5hbWU6IlRpbWVTY2FsZUNvbnRleHRNZW51In0pfV9tb3VzZU9yVG91Y2hFbnRlckV2ZW50KGUpe3RoaXMuX3pvb21BdmFpbGFibGUoKSYmdGhpcy5zZXRDdXJzb3IoImV3LXJlc2l6ZSIpfV9tb3VzZU9yVG91Y2hMZWF2ZUV2ZW50KGUpe3RoaXMucmVzdG9yZURlZmF1bHRDdXJzb3IoKX1fbW91c2VEb3VibGVDbGlja09yRG91YmxlVGFwRXZlbnQoZSl7KDAsTXQudHJhY2tFdmVudCkoIkdVSSIsIkRvdWJsZSBjbGljayB0aW1lIHNjYWxlIiksdGhpcy5jaGFydC5tb2RlbCgpLnJlc2V0VGltZVNjYWxlKCl9fXZhciBrbj1pKDUyNzMyMyksRG49aS5uKGtuKSxFbj1pKDIxODgxNCksUm49KGkoODg5NTE1KSxpKDE3MjEwOSkpLFZuPWkoNzczMDg4KTtmdW5jdGlvbiBCbihlLHQpe3JldHVybiEheC5JbnRlcnZhbC5pc0VxdWFsKGUucmVzLHQucmVzKSYmKDAsVm4uYXJlRXF1YWxUaW1lRnJhbWVzKShlLnZhbCx0LnZhbCl9dmFyIE5uPWkoNzA0NTcyKSxPbj1pKDM0Mjc4KTtjb25zdCBXbj17ZHVyYXRpb246MjUwLGVhc2luZzpFbi5lYXNpbmdGdW5jLmVhc2VPdXRDdWJpY307Y2xhc3MgRm57Y29uc3RydWN0b3IoZSl7dGhpcy5fb25GaW5pc2hDYWxsZWQ9ITEsdGhpcy5fb3B0aW9ucz17Li4uV24sLi4uZX0sdGhpcy5fc3RhcnRUaW1lPXBlcmZvcm1hbmNlLm5vdygpfWdldFN0YXJ0UG9zaXRpb24oKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5mcm9tfWdldFBvc2l0aW9uKGUpe2NvbnN0IHQ9dGhpcy5fY2FsY3VsYXRlUHJvZ3Jlc3MoZSk7cmV0dXJuIDE9PT10Pyh0aGlzLl9vcHRpb25zLm9uRmluaXNoJiYhdGhpcy5fb25GaW5pc2hDYWxsZWQmJih0aGlzLl9vcHRpb25zLm9uRmluaXNoKCEwKSx0aGlzLl9vbkZpbmlzaENhbGxlZD0hMCksdGhpcy5fb3B0aW9ucy50byk6KDAsT24ubGVycCkodGhpcy5fb3B0aW9ucy5mcm9tLHRoaXMuX29wdGlvbnMudG8sdGhpcy5fb3B0aW9ucy5lYXNpbmcodCkpfWZpbmlzaGVkKGUpe3JldHVybiAxPT09dGhpcy5fY2FsY3VsYXRlUHJvZ3Jlc3MoZSl9b25GaW5pc2goZSl7dGhpcy5fb25GaW5pc2hDYWxsZWR8fCh0aGlzLl9vcHRpb25zLm9uRmluaXNoPy4oZSksdGhpcy5fb25GaW5pc2hDYWxsZWQ9ITApfV9jYWxjdWxhdGVQcm9ncmVzcyhlKXtjb25zdCB0PWUtdGhpcy5fc3RhcnRUaW1lO3JldHVybiB0Pj10aGlzLl9vcHRpb25zLmR1cmF0aW9uPzE6dC90aGlzLl9vcHRpb25zLmR1cmF0aW9ufX12YXIgSG49aSgyODJlMyk7ZnVuY3Rpb24gem4oZSx0LGkscyl7bGV0IG49bnVsbDtpZihpLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQoKSYmZS5pc0N1cnJlbmN5T3JpZ2luKCkudmFsdWUoKSl7Y29uc3Qgcj1pLmF2YWlsYWJsZUN1cnJlbmNpZXMoKS52YWx1ZSgpLG89dC5jdXJyZW5jeShyKSxhPWUuY3VycmVuY3koKTtudWxsIT09byYmbnVsbCE9PW8uc2VsZWN0ZWRDdXJyZW5jeSYmIW8uYWxsQ3VycmVuY2llc0FyZU9yaWdpbmFsJiZvLnNlbGVjdGVkQ3VycmVuY3khPT1hJiYocyYmbnVsbD09PWF8fG51bGwhPT1hJiZyPy5jb252ZXJ0aWJsZShhKSkmJihuPW8uc2VsZWN0ZWRDdXJyZW5jeSl9cmV0dXJuIG59CmNvbnN0IFVuPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInRvZ2dsZSBjb2xsYXBzZWQgcGFuZSBzdGF0ZSIscC50KG51bGwsdm9pZCAwLGkoMTQ1MzY2KSkpO2NsYXNzIEduIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKFVuKSx0aGlzLl9jaGFydE1vZGVsPWUsdGhpcy5fcGFuZUluZGV4PXR9cmVkbygpe3RoaXMuX2NoYXJ0TW9kZWwudG9nZ2xlQ29sbGFwc2VkUGFuZSh0aGlzLl9wYW5lSW5kZXgpfXVuZG8oKXt0aGlzLl9jaGFydE1vZGVsLnRvZ2dsZUNvbGxhcHNlZFBhbmUodGhpcy5fcGFuZUluZGV4KX19Y29uc3Qgam49bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidG9nZ2xlIG1heGltaXplZCBwYW5lIHN0YXRlIixwLnQobnVsbCx2b2lkIDAsaSg3ODQxMjgpKSk7Y2xhc3MgcW4gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoam4pLHRoaXMuX21vZGVsPWU7Y29uc3QgaT1lLm1heGltaXplZFBhbmUoKS52YWx1ZSgpLHM9bnVsbD09PWk/bnVsbDplLnBhbmVzKCkuaW5kZXhPZihpKTt0aGlzLl9tYXhpbWl6ZWRQYW5lSW5kZXg9dD09PWk/bnVsbDplLnBhbmVzKCkuaW5kZXhPZih0KSx0aGlzLl9wcmV2TWF4aW1pemVkUGFuZUluZGV4PXN9cmVkbygpe3RoaXMuX3NldE1heGltaXplZFBhbmUodGhpcy5fbWF4aW1pemVkUGFuZUluZGV4KX11bmRvKCl7dGhpcy5fc2V0TWF4aW1pemVkUGFuZSh0aGlzLl9wcmV2TWF4aW1pemVkUGFuZUluZGV4KX1fc2V0TWF4aW1pemVkUGFuZShlKXt0aGlzLl9tb2RlbC5zZXRNYXhpbWl6ZWRQYW5lKG51bGw9PT1lP251bGw6dGhpcy5fbW9kZWwucGFuZXMoKVtlXSl9fXZhciAkbj1pKDQzODUzOSksWW49aSg4MzY4MjgpO2NvbnN0IEtuPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoIm1vdmUgYWxsIHNjYWxlcyB0byBsZWZ0IixwLnQobnVsbCx2b2lkIDAsaSg5NjM1NTEpKSksWG49bmV3IHkuVHJhbnNsYXRlZFN0cmluZygibW92ZSBhbGwgc2NhbGVzIHRvIHJpZ2h0IixwLnQobnVsbCx2b2lkIDAsaSg3OTEzNzEpKSksWm49KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5NZXJnZUFsbFNjYWxlcyIpO2NsYXNzIEpuIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzLG4scil7c3VwZXIociksdGhpcy5fbW9kZWw9ZSx0aGlzLl9wYW5lSW5kZXg9ZS5wYW5lcygpLmluZGV4T2YodCksdGhpcy5fdGFyZ2V0UG9zaXRpb249cyx0aGlzLl90YXJnZXRJbmRleD1uLHRoaXMuX3NjYWxlSWQ9aS5pZCgpLHRoaXMuX3NvdXJjZVBvc2l0aW9uPXQucHJpY2VTY2FsZVBvc2l0aW9uKGkpLCJvdmVybGF5IiE9PXRoaXMuX3NvdXJjZVBvc2l0aW9uJiYodGhpcy5fc291cmNlSW5kZXg9dC5wcmljZVNjYWxlSW5kZXgoaSx0aGlzLl9zb3VyY2VQb3NpdGlvbikpfXJlZG8oKXtjb25zdCBlPXRoaXMuX21vZGVsLnBhbmVzKClbdGhpcy5fcGFuZUluZGV4XSx0PSgwLGwuZW5zdXJlTm90TnVsbCkoZS5nZXRQcmljZVNjYWxlQnlJZCh0aGlzLl9zY2FsZUlkKSk7ZS5tb3ZlUHJpY2VTY2FsZSh0LHRoaXMuX3RhcmdldFBvc2l0aW9uLHRoaXMuX3RhcmdldEluZGV4KSx0aGlzLl9tb2RlbC5mdWxsVXBkYXRlKCl9dW5kbygpe2NvbnN0IGU9dGhpcy5fbW9kZWwucGFuZXMoKVt0aGlzLl9wYW5lSW5kZXhdLHQ9KDAsbC5lbnN1cmVOb3ROdWxsKShlLmdldFByaWNlU2NhbGVCeUlkKHRoaXMuX3NjYWxlSWQpKTtlLm1vdmVQcmljZVNjYWxlKHQsdGhpcy5fc291cmNlUG9zaXRpb24sdGhpcy5fc291cmNlSW5kZXgpLHRoaXMuX21vZGVsLmZ1bGxVcGRhdGUoKX19dmFyIFFuPWkoNjU2MTkxKTtjbGFzcyBlciBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIocyx2b2lkIDAsIVFuLmxpbmVUb29sc0RvTm90QWZmZWN0Q2hhcnRJbnZhbGlkYXRpb24pLHRoaXMuX2NyZWF0ZWRJZHM9W10sdGhpcy5fYWN0aW9uU291cmNlV2FzU2VudD0hMSx0aGlzLl9tb2RlbD1lLHRoaXMuX3dpdGhvdXRTaGlmdD1pLHRoaXMuX29yaWdTdGF0ZXM9dC5tYXAoKGU9PmUuc3RhdGUoITApKSk7Y29uc3Qgbj1lLmxpbmVUb29sc0dyb3VwTW9kZWwoKTt0aGlzLl9vcmlnR3JvdXBzPXQubWFwKChlPT57Y29uc3QgdD1uLmdyb3VwRm9yTGluZVRvb2woZSk7cmV0dXJuIHQmJnQuaWR9KSl9cmVkbygpe2NvbnN0IGU9dGhpcy5fbW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpO2xldCB0O3RoaXMuX2FjdGlvblNvdXJjZVdhc1NlbnR8fCh0PSJDbG9uZSIsdGhpcy5fYWN0aW9uU291cmNlV2FzU2VudD0hMCk7Y29uc3QgaT10aGlzLl9vcmlnU3RhdGVzLm1hcCgoKGkscyk9Pntjb25zdCBuPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKGkuaWQpKSxyPTA9PT10aGlzLl9jcmVhdGVkSWRzLmxlbmd0aD92b2lkIDA6KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9jcmVhdGVkSWRzW3NdKSxvPSgwLHJpLmNsb25lTGluZVRvb2wpKHRoaXMuX21vZGVsLG4sIXRoaXMuX3dpdGhvdXRTaGlmdCxyLHQpO3ZvaWQgMCE9PWkuc2hhcmluZ01vZGUmJm8uc2hhcmUoaS5zaGFyaW5nTW9kZSk7Y29uc3QgYT0oMCxsLmVuc3VyZU5vdE51bGwpKG4ucHJpY2VTY2FsZSgpKTsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLnBhbmVGb3JTb3VyY2UobikpLmFkZERhdGFTb3VyY2UobyxhLCExKTtjb25zdCBjPXRoaXMuX29yaWdHcm91cHNbc107aWYobnVsbCE9PWMpe2NvbnN0IHQ9ZS5ncm91cEZvcklkKGMpO3QmJnQuYWRkSXRlbXMoW29dKX1yZXR1cm4gdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKG8pLG99KSk7MD09PXRoaXMuX2NyZWF0ZWRJZHMubGVuZ3RoJiYodGhpcy5fY3JlYXRlZElkcz1pLm1hcCgoZT0+ZS5pZCgpKSkpLHRoaXMuX21vZGVsLnNlbGVjdGlvbk1hY3JvKChlPT57ZS5jbGVhclNlbGVjdGlvbigpLGkuZm9yRWFjaCgodD0+e2UuYWRkSXRlbVRvU2VsZWN0aW9uKHQpfSkpfSkpLHRoaXMuX21vZGVsLnNldFNob3VsZEJlU2F2ZWRFdmVuSWZIaWRkZW4oITApfXVuZG8oKXtjb25zdCBlPXRoaXMuX21vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKQo7dGhpcy5fY3JlYXRlZElkcy5mb3JFYWNoKCh0PT57Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZCh0KSkscz1lLmdyb3VwRm9yTGluZVRvb2woaSk7bnVsbCE9PXMmJnMuZXhjbHVkZUl0ZW0oaSksdGhpcy5fbW9kZWwucmVtb3ZlU291cmNlKGkpfSkpfW5ld0lkcygpe3JldHVybiB0aGlzLl9jcmVhdGVkSWRzfX12YXIgdHI9aSg4NDg3ODUpLGlyPWkoNDY3NTM5KSxzcj1pKDc2NTg3MSk7Y2xhc3MgbnIgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHM9ITApe3N1cGVyKGkscywoMCxzci5zb3VyY2VzQWZmZWN0U3RhdGUpKHQpKSx0aGlzLl9uZXdTdGF0ZXM9W10sdGhpcy5fbW9kZWw9ZSx0aGlzLl9zYXZlZFN0YXRlcz10Lm1hcCgoZT0+ZS5zdGF0ZSghMSkpKX1yZWRvKCl7dGhpcy5fYXBwbHlTdGF0ZSh0aGlzLl9uZXdTdGF0ZXMpfXVuZG8oKXswPT09dGhpcy5fbmV3U3RhdGVzLmxlbmd0aCYmdGhpcy5zYXZlTmV3U3RhdGUoKSx0aGlzLl9hcHBseVN0YXRlKHRoaXMuX3NhdmVkU3RhdGVzKX1zYXZlTmV3U3RhdGUoKXtjb25zdCBlPXRoaXMuX3NhdmVkU3RhdGVzLmZpbHRlcihhLm5vdE51bGwpLm1hcCgoZT0+KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQoZS5pZCkpKSk7dGhpcy5fbmV3U3RhdGVzPWUubWFwKChlPT5lLnN0YXRlKCExKSkpfV9hcHBseVN0YXRlKGUpe2Zvcihjb25zdCB0IG9mIGUpaWYobnVsbCE9PXQpe2NvbnN0IGU9dGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKHQuaWQpO2lmKG51bGwhPT1lKWlmKCgwLHRpLmlzU3R1ZHkpKGUpKXtjb25zdCBpPXQuc3RhdGUuaW5wdXRzLHM9ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpO2Zvcihjb25zdCBlIGluIGkpc1tlXSYmc1tlXS5zZXRWYWx1ZShpW2VdKX1lbHNle2NvbnN0IGk9ZTt0aGlzLl9tb2RlbC5yZXN0b3JlTGluZVRvb2xTdGF0ZShpLHQsITApLGkuc3luY2hyb25pemVBbGVydCghMCl9fX19dmFyIHJyPWkoOTk5OTc0KTtjbGFzcyBvciBleHRlbmRzIHJyLk1vdmVTb3VyY2VVbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSx0LGkpfXJlZG8oKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodGhpcy5fc291cmNlSWQpKSx0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKGUpKSxpPXRoaXMuX2NoYXJ0TW9kZWwuY2hpbGRyZW4oZSwhMCwhMCk7dC5idWxrQWN0aW9uTWFjcm8oKCgpPT57aS5mb3JFYWNoKChlPT50aGlzLl9jaGFydE1vZGVsLmRldGFjaFNvdXJjZShlKSkpLHRoaXMuX2NoYXJ0TW9kZWwuZGV0YWNoU291cmNlKGUpfSkpO2NvbnN0IHM9dGhpcy5fY2hhcnRNb2RlbC5jcmVhdGVQYW5lKHRoaXMudGFyZ2V0UGFuZUluZGV4KGUpKSxuPXMuZmluZFN1aXRhYmxlU2NhbGUoZSk7cy5idWxrQWN0aW9uTWFjcm8oKCgpPT57cy5hZGREYXRhU291cmNlKGUsbiwhMSksaS5mb3JFYWNoKChlPT5zLmFkZERhdGFTb3VyY2UoZSxuLCExKSkpfSkpO2NvbnN0IHI9KDAsbC5lbnN1cmVOb3ROdWxsKShlLnByaWNlU2NhbGUoKSk7ci5yZXN0b3JlU3RhdGUodGhpcy5fbmV3UHJpY2VTY2FsZVN0YXRlKHMuaXNPdmVybGF5KGUpKSksci5zZXRIZWlnaHQocy5oZWlnaHQoKSksdGhpcy5fY2hhcnRNb2RlbC5mdWxsVXBkYXRlKCksdGhpcy5fY2hhcnRNb2RlbC5zZXRTaG91bGRCZVNhdmVkRXZlbklmSGlkZGVuKCEwKX11bmRvKCl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHRoaXMuX3NvdXJjZUlkKSksdD0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvclNvdXJjZShlKSksaT10aGlzLl9jaGFydE1vZGVsLmNoaWxkcmVuKGUsITAsITApO3QuYnVsa0FjdGlvbk1hY3JvKCgoKT0+e2kuZm9yRWFjaCgoZT0+dGhpcy5fY2hhcnRNb2RlbC5kZXRhY2hTb3VyY2UoZSkpKTtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwuZGV0YWNoU291cmNlKGUpOygwLGwuYXNzZXJ0KSh0LCJVbmRvIG9mIGRldGFjaGluZyBtdXN0IHJlbW92ZSBwYW5lIil9KSk7Y29uc3Qgcz10aGlzLl9jaGFydE1vZGVsLnBhbmVzKClbdGhpcy5faW5pdGlhbFBhbmVJbmRleF07bGV0IG49cy5nZXRQcmljZVNjYWxlQnlJZCh0aGlzLl9pbml0aWFsUHJpY2VTY2FsZUlkKTtudWxsPT09biYmKG49cy5jcmVhdGVQcmljZVNjYWxlQXRQb3NpdGlvbih0aGlzLl9pbml0aWFsUHJpY2VTY2FsZVBvc2l0aW9uLHRoaXMuX2luaXRpYWxQcmljZVNjYWxlSW5kZXgpKSxzLmJ1bGtBY3Rpb25NYWNybygoKCk9PntzLmFkZERhdGFTb3VyY2UoZSxuLCEwKSxpLmZvckVhY2goKGU9PnMuYWRkRGF0YVNvdXJjZShlLG4sITEpKSl9KSk7Y29uc3Qgcj0oMCxsLmVuc3VyZU5vdE51bGwpKGUucHJpY2VTY2FsZSgpKTtyLnJlc3RvcmVTdGF0ZSh0aGlzLl9vcmlnaW5hbFByaWNlU2NhbGVTdGF0ZSgpKSxyLnNldEhlaWdodChzLmhlaWdodCgpKSx0aGlzLl9jaGFydE1vZGVsLmZ1bGxVcGRhdGUoKX19Y2xhc3MgYXIgZXh0ZW5kcyBvcntjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSx0LGkpfXRhcmdldFBhbmVJbmRleChlKXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKTtpZighdFt0aGlzLl9pbml0aWFsUGFuZUluZGV4XS5jb250YWluc01haW5TZXJpZXMoKXx8ZT09PXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpKXJldHVybiB0aGlzLl9pbml0aWFsUGFuZUluZGV4KzE7Zm9yKGxldCBlPXRoaXMuX2luaXRpYWxQYW5lSW5kZXgrMTtlPHQubGVuZ3RoO2UrKylpZih0W2VdLm1vZGUoKT09PU0uUGFuZU1vZGUuUmVndWxhcilyZXR1cm4gZTx0Lmxlbmd0aC0xJiZ0W2VdLmNvbnRhaW5zTWFpblNlcmllcygpJiZ0W2UrMV0ubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQ/ZSsxOmU7cmV0dXJuIHQubGVuZ3RofX1jbGFzcyBsciBleHRlbmRzIG9ye2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSl9CnRhcmdldFBhbmVJbmRleChlKXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKTtpZighdFt0aGlzLl9pbml0aWFsUGFuZUluZGV4XS5jb250YWluc01haW5TZXJpZXMoKXx8ZT09PXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpKXJldHVybiB0aGlzLl9pbml0aWFsUGFuZUluZGV4O2ZvcihsZXQgZT10aGlzLl9pbml0aWFsUGFuZUluZGV4LTE7ZT49MDtlLS0paWYodFtlXS5tb2RlKCk9PT1NLlBhbmVNb2RlLlJlZ3VsYXIpcmV0dXJuIGU+MCYmdFtlXS5jb250YWluc01haW5TZXJpZXMoKSYmdFtlLTFdLm1vZGUoKT09PU0uUGFuZU1vZGUuV2lkZ2V0P2UtMTplO3JldHVybiAwfX1jbGFzcyBjciBleHRlbmRzIG9ye2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSl9dGFyZ2V0UGFuZUluZGV4KCl7cmV0dXJuIHRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKS5sZW5ndGh9fXZhciBocj1pKDk2NDU3MyksZHI9aSg5MDA3OTcpLHVyPWkoNzc1ODY5KSxwcj1pKDUyMzc2NSksX3I9aSg0NTYyMyk7Y29uc3QgbXI9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY3JlYXRlIHt0b29sfSIscC50KG51bGwsdm9pZCAwLGkoNTQ5OTg2KSkpO2NsYXNzIGdyIGV4dGVuZHMgcHIuTGluZVRvb2xTeW5jaHJvbml6ZVVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKHttb2RlbDplLHBhbmU6dCxsaW5lVG9vbDppLG93bmVyU291cmNlOnMsZHJhd09uQWxsQ2hhcnRzTW9kZTpuPTAsaWQ6cixrZWVwU2VsZWN0ZWRHcm91cDpvPSExfSl7c3VwZXIoZSxtci5mb3JtYXQoe3Rvb2w6bmV3IHkuVHJhbnNsYXRlZFN0cmluZyhpLF9yLmxpbmVUb29sc0xvY2FsaXplZE5hbWVzW2ldKX0pLCExLCFRbi5saW5lVG9vbHNEb05vdEFmZmVjdENoYXJ0SW52YWxpZGF0aW9uKSx0aGlzLl9saW5lSWQ9bnVsbCx0aGlzLl9saW5lU3RhdGU9bnVsbCx0aGlzLl9wYW5lSW5kZXg9ZS5wYW5lcygpLmluZGV4T2YodCksdGhpcy5fbGluZVRvb2w9aSx0aGlzLl9vd25lclNvdXJjZUlkPXMuaWQoKSx0aGlzLl9saW5lSWQ9cj8/bnVsbCx0aGlzLl9kcmF3T25BbGxDaGFydHNNb2RlPW4sdGhpcy5fa2VlcFNlbGVjdGVkR3JvdXA9b31rZWVwU2VsZWN0ZWRHcm91cCgpe3JldHVybiB0aGlzLl9rZWVwU2VsZWN0ZWRHcm91cH1zdGFydENyZWF0aW5nTGluZShlLHQsaSxzLG4scil7Y29uc3Qgbz10aGlzLl9jaGFydE1vZGVsLnBhbmVzKClbdGhpcy5fcGFuZUluZGV4XSxhPXRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHRoaXMuX293bmVyU291cmNlSWQpfHx2b2lkIDAsbD10aGlzLl9jaGFydE1vZGVsLmNyZWF0ZUxpbmVUb29sKHtwYW5lOm8scG9pbnQ6ZSxsaW5ldG9vbDp0aGlzLl9saW5lVG9vbCxwcm9wZXJ0aWVzOnQsbGlua0tleTppLHNoYXJpbmdNb2RlOnMsb3duZXJTb3VyY2U6YSxpZDp0aGlzLl9saW5lSWQ/P3ZvaWQgMCxmcm9tRXh0ZXJuYWxNb2RlbDpuLGFjdGlvblNvdXJjZTpyfSk7cmV0dXJuIHRoaXMuX2xpbmVJZD1sLmlkKCksdGhpcy5fZnJvbUV4dGVybmFsTW9kZWw9biwhdGhpcy5fY2hhcnRNb2RlbC5saW5lQmVpbmdDcmVhdGVkKCl9Y29udGludWVDcmVhdGluZ0xpbmUoZSx0LGkscyl7KDAsbC5hc3NlcnQpKHRoaXMuX2xpbmVJZD09PXRoaXMuX2NoYXJ0TW9kZWwubGluZUJlaW5nQ3JlYXRlZCgpPy5pZCgpLCJDYW5ub3QgY29udGludWUgbm90IGxlYXN0IGNyZWF0ZWQgbGluZSIpO2NvbnN0IG49dGhpcy5fY2hhcnRNb2RlbC5jb250aW51ZUNyZWF0aW5nTGluZShlLHQsaSxzLHRoaXMuX2Zyb21FeHRlcm5hbE1vZGVsKTtyZXR1cm4gbiYmdGhpcy5fY2hhcnRNb2RlbC5zZXRTaG91bGRCZVNhdmVkRXZlbklmSGlkZGVuKCEwKSxufWxpbmUoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2xpbmVJZD9udWxsOnRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHRoaXMuX2xpbmVJZCl9ZHJhd09uQWxsQ2hhcnRzKCl7cmV0dXJuIDAhPT10aGlzLl9kcmF3T25BbGxDaGFydHNNb2RlfV9yZWRvKCl7aWYobnVsbD09PXRoaXMuX2xpbmVTdGF0ZSlyZXR1cm47Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsLnJlc3RvcmVTb3VyY2UoITEsdGhpcy5fcGFuZUluZGV4LG51bGwsKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9saW5lU3RhdGUpLG51bGwpO251bGwhPT1lJiYodGhpcy5fbGluZUlkPWUuaWQoKSx0aGlzLl9saW5lU3RhdGU9bnVsbCxlLnNoYXJlKHRoaXMuX2RyYXdPbkFsbENoYXJ0c01vZGUpKX1fdW5kbygpe2NvbnN0IGU9dGhpcy5saW5lKCk7bnVsbCE9PWUmJih0aGlzLl9saW5lU3RhdGU9ZS5zdGF0ZSghMSksdGhpcy5fY2hhcnRNb2RlbC5yZW1vdmVTb3VyY2UoZSksdGhpcy5fbGluZUlkPW51bGwpfX1jb25zdCBmcj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJicmluZyB7dGl0bGV9IHRvIGZyb250IixwLnQobnVsbCx2b2lkIDAsaSgzODY1MjIpKSksU3I9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygic2VuZCB7dGl0bGV9IHRvIGJhY2siLHAudChudWxsLHZvaWQgMCxpKDUwMTUwNykpKSx2cj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJpbnNlcnQge3RpdGxlfSBhZnRlciB7dGFyZ2V0VGl0bGV9IixwLnQobnVsbCx2b2lkIDAsaSgxMDg2MDIpKSkseXI9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiaW5zZXJ0IHt0aXRsZX0gYmVmb3JlIHt0YXJnZXRUaXRsZX0iLHAudChudWxsLHZvaWQgMCxpKDc4MTcyMSkpKSxicj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJzZW5kIHt0aXRsZX0gYmFja3dhcmQiLHAudChudWxsLHZvaWQgMCxpKDU0MDAzOCkpKSx3cj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJicmluZyB7dGl0bGV9IGZvcndhcmQiLHAudChudWxsLHZvaWQgMCxpKDg4NzI4MikpKSxDcj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJzZW5kIGdyb3VwIHt0aXRsZX0gYmFja3dhcmQiLHAudChudWxsLHZvaWQgMCxpKDUxNzYyMikpKSxQcj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJicmluZyBncm91cCB7dGl0bGV9IGZvcndhcmQiLHAudChudWxsLHZvaWQgMCxpKDYwMjQzMSkpKTtmdW5jdGlvbiBUcihlKXsKcmV0dXJuIG5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoZS5uYW1lKCksZS50aXRsZShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSkpfWNsYXNzIHhyIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoaSx2b2lkIDAsKDAsc3Iuc291cmNlc0FmZmVjdFN0YXRlKSh0KSksdGhpcy5fc291cmNlc0J5UGFuZXM9bmV3IE1hcCx0aGlzLl9vcmlnaW5hbFN0YXRlPW5ldyBNYXAsdGhpcy5fbW9kZWw9ZSx0LmZvckVhY2goKHQ9Pntjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkoZS5wYW5lRm9yU291cmNlKHQpKSxzPWUucGFuZXMoKS5pbmRleE9mKGkpLG49dGhpcy5fc291cmNlc0J5UGFuZXMuZ2V0KHMpfHxbXTtuLnB1c2godC5pZCgpKSx0aGlzLl9zb3VyY2VzQnlQYW5lcy5zZXQocyxuKX0pKSxBcnJheS5mcm9tKHRoaXMuX3NvdXJjZXNCeVBhbmVzLmtleXMoKSkuZm9yRWFjaCgodD0+e2NvbnN0IGk9ZS5wYW5lcygpW3RdLHM9bmV3IE1hcCxuPW5ldyBTZXQoaS5zb3VyY2VzQnlHcm91cCgpLm11bHRpcGFuZVNvdXJjZXMoKSk7aS5zb3VyY2VzQnlHcm91cCgpLmFsbEluY2x1ZGluZ0hpZGRlbigpLmZpbHRlcigoZT0+IW4uaGFzKGUpKSkuZm9yRWFjaCgoZT0+e3Muc2V0KGUuaWQoKSxlLnpvcmRlcigpKX0pKSx0aGlzLl9vcmlnaW5hbFN0YXRlLnNldCh0LHMpfSkpfXVuZG8oKXt0aGlzLl9vcmlnaW5hbFN0YXRlLmZvckVhY2goKChlLHQpPT57Y29uc3QgaT10aGlzLl9tb2RlbC5wYW5lcygpW3RdLHM9bmV3IE1hcDtlLmZvckVhY2goKChlLHQpPT57Y29uc3Qgbj0oMCxsLmVuc3VyZU5vdE51bGwpKGkuZGF0YVNvdXJjZUZvcklkKHQpKTtzLnNldChuLGUpfSkpLGkuc2V0Wk9yZGVycyhzKX0pKX1yZWRvKCl7dGhpcy5fc291cmNlc0J5UGFuZXMuZm9yRWFjaCgoKGUsdCk9Pntjb25zdCBpPXRoaXMuX21vZGVsLnBhbmVzKClbdF0scz1lLm1hcCgoZT0+KDAsbC5lbnN1cmVOb3ROdWxsKShpLmRhdGFTb3VyY2VGb3JJZChlKSkpKTt0aGlzLl9wYW5lT3BlcmF0aW9uKGkscyl9KSl9fWNsYXNzIE1yIGV4dGVuZHMgeHJ7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQsZnIuZm9ybWF0KHt0aXRsZTpUcih0WzBdKX0pKX1fcGFuZU9wZXJhdGlvbihlLHQpe2UuYnJpbmdUb0Zyb250KHQpfX1jbGFzcyBJciBleHRlbmRzIHhye2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0LFNyLmZvcm1hdCh7dGl0bGU6VHIodFswXSl9KSl9X3BhbmVPcGVyYXRpb24oZSx0KXtlLnNlbmRUb0JhY2sodCl9fWNsYXNzIExyIGV4dGVuZHMgeHJ7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIoZSx0LHMpLHRoaXMuX3RhcmdldFNvdXJjZT1pfV9wYW5lT3BlcmF0aW9uKGUsdCl7ZS5pbnNlcnRBZnRlcih0LHRoaXMuX3RhcmdldFNvdXJjZSl9fWNsYXNzIEFyIGV4dGVuZHMgTHJ7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGUsdCxpLHZyLmZvcm1hdCh7dGl0bGU6VHIodFswXSksdGFyZ2V0VGl0bGU6VHIoaSl9KSl9fWNsYXNzIGtyIGV4dGVuZHMgeHJ7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIoZSx0LHMpLHRoaXMuX3RhcmdldFNvdXJjZT1pfV9wYW5lT3BlcmF0aW9uKGUsdCl7ZS5pbnNlcnRCZWZvcmUodCx0aGlzLl90YXJnZXRTb3VyY2UpfX1jbGFzcyBEciBleHRlbmRzIGtye2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSx5ci5mb3JtYXQoe3RpdGxlOlRyKHRbMF0pLHRhcmdldFRpdGxlOlRyKGkpfSkpfX1mdW5jdGlvbiBFcihlLHQpe2NvbnN0IGk9dFswXSxzPWUuc291cmNlc0J5R3JvdXAoKS5hbGxFeGNlcHRTcGVjaWFsU291cmNlcygpLmZpbHRlcigoZT0+ZS56b3JkZXIoKTxpLnpvcmRlcigpKSk7aWYoMD09PXMubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IG1vdmUgYmFja3dhcmQgc291cmNlIHRoYXQgYWxyZWFkeSBvbiBiYWNrIik7bGV0IG49c1tzLmxlbmd0aC0xXTtpZigoMCxyaS5pc0xpbmVUb29sKShuKSl7Y29uc3QgdD1lLm1vZGVsKCkubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9yTGluZVRvb2wobik7bnVsbCE9PXQmJihuPXQubGluZVRvb2xzKClbMF0pfXJldHVybiBufWNsYXNzIFJyIGV4dGVuZHMga3J7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGUsaSxFcih0LGkpLGJyLmZvcm1hdCh7dGl0bGU6VHIoaVswXSl9KSl9fWZ1bmN0aW9uIFZyKGUsdCl7Y29uc3QgaT10W3QubGVuZ3RoLTFdLHM9ZS5zb3VyY2VzQnlHcm91cCgpLmFsbEV4Y2VwdFNwZWNpYWxTb3VyY2VzKCkuZmlsdGVyKChlPT5lLnpvcmRlcigpPmkuem9yZGVyKCkpKTtpZigwPT09cy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgYnJpbmcgZm9yd2FyZCBzb3VyY2UgdGhhdCBhbHJlYWR5IG9uIGJhY2siKTtsZXQgbj1zWzBdO2lmKCgwLHJpLmlzTGluZVRvb2wpKG4pKXtjb25zdCB0PWUubW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChuKTtpZihudWxsIT09dCl7Y29uc3QgZT10LmxpbmVUb29scygpO249ZVtlLmxlbmd0aC0xXX19cmV0dXJuIG59Y2xhc3MgQnIgZXh0ZW5kcyBMcntjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSxpLFZyKHQsaSksd3IuZm9ybWF0KHt0aXRsZTpUcihpWzBdKX0pKX19ZnVuY3Rpb24gTnIoZSx0KXtyZXR1cm4oMCxsLmVuc3VyZU5vdE51bGwpKGUucGFuZUZvclNvdXJjZSh0LmxpbmVUb29scygpWzBdKSl9Y2xhc3MgT3IgZXh0ZW5kcyBrcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdC5saW5lVG9vbHMoKSxFcihOcihlLHQpLHQubGluZVRvb2xzKCkpLENyLmZvcm1hdCh7dGl0bGU6dC5uYW1lKCkudmFsdWUoKX0pKX19Y2xhc3MgV3IgZXh0ZW5kcyBMcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdC5saW5lVG9vbHMoKSxWcihOcihlLHQpLHQubGluZVRvb2xzKCkpLFByLmZvcm1hdCh7dGl0bGU6dC5uYW1lKCkudmFsdWUoKX0pKX19dmFyIEZyPWkoNjk0Mzg5KTtjb25zdCBIcj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJyZWFycmFuZ2UgcGFuZXMiLHAudChudWxsLHZvaWQgMCxpKDc5NzQ5MSkpKTtjbGFzcyB6ciBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkpewppZihzdXBlcihIciksdGhpcy5fY2hhcnRNb2RlbD1lLHRoaXMuX2luZGV4PXQsKDAsYS5pc051bWJlcikoaSkpdGhpcy5fZHN0SW5kZXg9aTtlbHNle2NvbnN0IHM9InVwIj09PWk/LTE6MTt0aGlzLl9kc3RJbmRleD10K3MsZS5wYW5lcygpW3RoaXMuX2RzdEluZGV4XS5tb2RlKCk9PT1Gci5QYW5lTW9kZS5XaWRnZXQmJih0aGlzLl9kc3RJbmRleD10aGlzLl9kc3RJbmRleCtzKX19cmVkbygpe3RoaXMuX2NoZWNrSW5kaWNlcygpJiZ0aGlzLl9jaGFydE1vZGVsLm1vdmVQYW5lKHRoaXMuX2luZGV4LHRoaXMuX2RzdEluZGV4KX11bmRvKCl7dGhpcy5fY2hlY2tJbmRpY2VzKCkmJnRoaXMuX2NoYXJ0TW9kZWwubW92ZVBhbmUodGhpcy5fZHN0SW5kZXgsdGhpcy5faW5kZXgpfV9jaGVja0luZGljZXMoKXtjb25zdCBlPXRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKS5sZW5ndGg7cmV0dXJuIHRoaXMuX2luZGV4Pj0wJiZ0aGlzLl9pbmRleDxlJiZ0aGlzLl9kc3RJbmRleD49MCYmdGhpcy5fZHN0SW5kZXg8ZX19dmFyIFVyPWkoMzYyMjM5KTt2YXIgR3I9aSg5NzQ2NjMpLGpyPWkoMjI1Mjk4KSxxcj1pKDI2NDUxMyk7Y2xhc3MgJHIgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHMsbixyKXtzdXBlcihzKSx0aGlzLl9wcmV2UHJpY2VBeGlzUHJvcHM9e30sdGhpcy5fZGVwZW5kZW50VmFsdWVzPVtdLHRoaXMuX2ludGVydmFsQ2hhbmdlV2FzVHJhY2tlZD0hMSx0aGlzLl9wcm9wZXJ0eT1lLHRoaXMuX21haW5TZXJpZXM9aSx0aGlzLl92YWx1ZT10LHRoaXMuX21vZGVsPW4sdGhpcy5fY2hhcnRXaWRnZXQ9cn1yZWRvKCl7Y29uc3QgZT10aGlzLl9tYWluU2VyaWVzLHQ9ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7dGhpcy5fZGVwZW5kZW50VmFsdWVzPSgwLHFyLnByZXBhcmVEZXBlbmRlbnRWYWx1ZXMpKHRoaXMuX3Byb3BlcnR5KSx0aGlzLl9wcmV2UmVzb2x1dGlvbj10LmludGVydmFsLnZhbHVlKCksdGhpcy5fcHJldlZhbHVlPXRoaXMuX3Byb3BlcnR5LnZhbHVlKCksdGhpcy5fc3RvcmVQcmljZUF4aXNQcm9wcygpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKTtjb25zdCBpPXQuaW50ZXJ2YWwudmFsdWUoKSxzPXRoaXMuX21vZGVsLmRlZmF1bHRSZXNvbHV0aW9ucygpLG49KDAsSS5nZXRSZXNvbHV0aW9uQnlDaGFydFN0eWxlKSh0aGlzLl92YWx1ZSxpLHMpO2pyLmxpbmtpbmcuaW50ZXJ2YWxTeW5jRW5hYmxlZCgpP2pyLmxpbmtpbmcuc2V0SW50ZXJ2YWxBbmRMb2dJbml0aWF0b3IobiwiQ2hhcnQgc3R5bGUiLHRoaXMuX2ludGVydmFsQ2hhbmdlV2FzVHJhY2tlZCx0aGlzLl9jaGFydFdpZGdldCk6dGhpcy5faW50ZXJ2YWxDaGFuZ2VXYXNUcmFja2VkfHx4LkludGVydmFsLmlzRXF1YWwoaSxuKXx8KDAsSGUudHJhY2tJbnRlcnZhbENoYW5naW5nKShuLCJDaGFydCBzdHlsZSIpLHRoaXMuX2ludGVydmFsQ2hhbmdlV2FzVHJhY2tlZD0hMCxlLnNldENoYXJ0U3R5bGVXaXRoSW50ZXJ2YWxJZk5lZWRlZCh0aGlzLl92YWx1ZSxuKSwoMCxBLnNldExhc3RVc2VkU3R5bGUpKHRoaXMuX3ZhbHVlLGUuc3ltYm9sSW5mbygpKSwoMCxBLnByZXBhcmVQcmljZUF4aXNQcm9wZXJ0aWVzKSh0KSwoMCxHci5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMSksdGhpcy5faW52YWxpZGF0ZU1vZGVsKCksdGhpcy5fY2hhcnRXaWRnZXQuc2NyZWVuLnNob3coITApfXVuZG8oKXtjb25zdCBlPXRoaXMuX21haW5TZXJpZXM7KDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITApLGUuc2V0Q2hhcnRTdHlsZVdpdGhJbnRlcnZhbElmTmVlZGVkKHRoaXMuX3ByZXZWYWx1ZSx0aGlzLl9wcmV2UmVzb2x1dGlvbiksdGhpcy5fcmVzdG9yZVByaWNlQXhpc1Byb3BzKCksanIubGlua2luZy5pbnRlcnZhbFN5bmNFbmFibGVkKCkmJmpyLmxpbmtpbmcuc2V0SW50ZXJ2YWxBbmRMb2dJbml0aWF0b3IodGhpcy5fcHJldlJlc29sdXRpb24sIkNoYXJ0IHN0eWxlIHVuZG8iLCEwLHRoaXMuX2NoYXJ0V2lkZ2V0KSwoMCxxci5yZXN0b3JlRGVwZW5kZW50VmFsdWVzKSh0aGlzLl9wcm9wZXJ0eSx0aGlzLl9kZXBlbmRlbnRWYWx1ZXMpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSx0aGlzLl9pbnZhbGlkYXRlTW9kZWwoKSx0aGlzLl9jaGFydFdpZGdldC5zY3JlZW4uc2hvdyghMCl9X3N0b3JlUHJpY2VBeGlzUHJvcHMoKXtjb25zdCBlPXRoaXMuX21haW5TZXJpZXMucHJpY2VTY2FsZSgpO3RoaXMuX3ByZXZQcmljZUF4aXNQcm9wcz1lLm1vZGUoKX1fcmVzdG9yZVByaWNlQXhpc1Byb3BzKCl7dGhpcy5fbWFpblNlcmllcy5wcmljZVNjYWxlKCkuc2V0TW9kZSh0aGlzLl9wcmV2UHJpY2VBeGlzUHJvcHMpfV9pbnZhbGlkYXRlTW9kZWwoKXt0aGlzLl9tb2RlbCYmKHRoaXMuX21vZGVsLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pZCgpKSksdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKSl9fWNvbnN0IFlyPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBkYXRlIHJhbmdlIixwLnQobnVsbCx2b2lkIDAsaSgyNDcwMTQpKSk7Y2xhc3MgS3IgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoWXIpLHRoaXMuX21vZGVsc0RhdGE9W10sdGhpcy5fcmFuZ2VPcHRpb25zPXQsdGhpcy5fbW9kZWxzRGF0YS5wdXNoKHttb2RlbDplLHByZXZSZXNvbHV0aW9uOmUubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnRlcnZhbC52YWx1ZSgpLGJhclNwYWNpbmc6ZS50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCkscmlnaHRPZmZzZXQ6ZS50aW1lU2NhbGUoKS5yaWdodE9mZnNldCgpLHJhbmdlT3B0aW9uczplLmFwcGxpZWRUaW1lRnJhbWUoKS52YWx1ZSgpfSl9cmVkbygpe2Zvcihjb25zdCBlIG9mIHRoaXMuX21vZGVsc0RhdGEpe2NvbnN0IHQ9ZS5tb2RlbC5tYWluU2VyaWVzKCksaT10LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnRlcnZhbAo7eC5JbnRlcnZhbC5pc0VxdWFsKHRoaXMuX3JhbmdlT3B0aW9ucy5yZXMsaS52YWx1ZSgpKT90LmxvYWREYXRhVG8odGhpcy5fcmFuZ2VPcHRpb25zLnZhbCk6KHQuc2V0RGVmYXVsdFRpbWVmcmFtZSh0aGlzLl9yYW5nZU9wdGlvbnMudmFsKSx0LnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6dGhpcy5fcmFuZ2VPcHRpb25zLnJlc30pKX19dW5kbygpe2Zvcihjb25zdCBlIG9mIHRoaXMuX21vZGVsc0RhdGEpe2NvbnN0IHQ9ZS5tb2RlbC5tYWluU2VyaWVzKCksaT10LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnRlcnZhbDtlLnByZXZSZXNvbHV0aW9uIT09aS52YWx1ZSgpPyhudWxsIT09ZS5yYW5nZU9wdGlvbnMmJnQuc2V0RGVmYXVsdFRpbWVmcmFtZShlLnJhbmdlT3B0aW9ucy52YWwpLHQuc2V0U3ltYm9sUGFyYW1zKHtpbnRlcnZhbDplLnByZXZSZXNvbHV0aW9ufSkpOm51bGwhPT1lLnJhbmdlT3B0aW9ucyYmdC5sb2FkRGF0YVRvKGUucmFuZ2VPcHRpb25zLnZhbCk7Y29uc3Qgcz1lLm1vZGVsLnRpbWVTY2FsZSgpO3Muc2V0QmFyU3BhY2luZyhlLmJhclNwYWNpbmcpLHMuc2V0UmlnaHRPZmZzZXQoZS5yaWdodE9mZnNldCl9fWNhbk1lcmdlKGUpe3JldHVybiBlIGluc3RhbmNlb2YgS3ImJkJuKGUuX3JhbmdlT3B0aW9ucyx0aGlzLl9yYW5nZU9wdGlvbnMpfW1lcmdlKGUpe2lmKCEoZSBpbnN0YW5jZW9mIEtyKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgY29tbWFuZCB0byBtZXJnZSIpO3RoaXMuX21vZGVsc0RhdGE9dGhpcy5fbW9kZWxzRGF0YS5jb25jYXQoZS5fbW9kZWxzRGF0YSl9fXZhciBYcj1pKDU5MDY5NSk7Y29uc3QgWnI9KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5MaW5lVG9vbHNHcm91cCIpO2xldCBKcj0hMTtmdW5jdGlvbiBRcihlKXtyZXR1cm4gZS5wcm9wZXJ0aWVzKCkudmlzaWJsZS52YWx1ZSgpfWZ1bmN0aW9uIGVvKGUpe2Zvcihjb25zdCB0IG9mIGUuaXRlbXMoKSl7aWYoISgwLFhyLmlzTGluZVRvb2xzR3JvdXApKHQpKXJldHVybiB0O2NvbnN0IGU9ZW8odCk7aWYobnVsbCE9PWUpcmV0dXJuIGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gdG8oZSx0KXtmb3IoY29uc3QgaSBvZiBlLml0ZW1zKCkpKDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoaSk/dG8oaSx0KTp0LnB1c2goaS5pZCgpKX1jbGFzcyBpb3tjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5faW5zdGFuY2VJZD0oMCxsdC5yYW5kb21IYXNoTikoNiksdGhpcy5fb25DaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2l0ZW1zPVtdLHRoaXMuX2l0ZW1zU2V0PW5ldyBTZXQsdGhpcy5fbGluZVRvb2xzQ2FjaGU9bnVsbCx0aGlzLl9zdWJncm91cHNDYWNoZT1udWxsLHRoaXMuX3BhcmVudEdyb3VwPW51bGwsdGhpcy5pZD1pfHwoMCxsdC5yYW5kb21IYXNoTikoNiksdGhpcy5fbmFtZT1uZXcgaC5XYXRjaGVkVmFsdWUodCksdGhpcy5faW5zZXJ0SXRlbXMoZSl9aW5zdGFuY2VJZCgpe3JldHVybiB0aGlzLl9pbnN0YW5jZUlkfWl0ZW1zKCl7cmV0dXJuIHRoaXMuX2l0ZW1zfWxpbmVUb29scygpe3JldHVybiBudWxsPT09dGhpcy5fbGluZVRvb2xzQ2FjaGUmJih0aGlzLl9saW5lVG9vbHNDYWNoZT10aGlzLl9pdGVtcy5maWx0ZXIoKGU9PiEoMCxYci5pc0xpbmVUb29sc0dyb3VwKShlKSkpKSx0aGlzLl9saW5lVG9vbHNDYWNoZX1zdWJncm91cHMoKXtyZXR1cm4gbnVsbD09PXRoaXMuX3N1Ymdyb3Vwc0NhY2hlJiYodGhpcy5fc3ViZ3JvdXBzQ2FjaGU9dGhpcy5faXRlbXMuZmlsdGVyKChlPT4oMCxYci5pc0xpbmVUb29sc0dyb3VwKShlKSkpKSx0aGlzLl9zdWJncm91cHNDYWNoZX1wYXJlbnRHcm91cCgpe3JldHVybiB0aGlzLl9wYXJlbnRHcm91cH1zZXRQYXJlbnRHcm91cChlKXt0aGlzLl9wYXJlbnRHcm91cD1lfW5hbWUoKXtyZXR1cm4gdGhpcy5fbmFtZX1zZXROYW1lKGUpe3RoaXMuX2RvQW5kRmlyZU9uQ2hhbmdlKCgoKT0+e3RoaXMuX25hbWUuc2V0VmFsdWUoZSl9KSl9c2hvdWxkQmVSZW1vdmVkT25EZXNlbGVjdCgpe3JldHVybiExfWlzQWN0dWFsU3ltYm9sKCl7Y29uc3QgZT1lbyh0aGlzKTtyZXR1cm4gbnVsbCE9PWUmJmUuaXNBY3R1YWxTeW1ib2woKSYmZS5pc0FjdHVhbEN1cnJlbmN5KCkmJmUuaXNBY3R1YWxVbml0KCl9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX2ZpcnN0TGluZVRvb2woKS5zeW1ib2woKX1jdXJyZW5jeUlkKCl7cmV0dXJuIHRoaXMuX2ZpcnN0TGluZVRvb2woKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuY3VycmVuY3lJZC52YWx1ZSgpPz9udWxsfXVuaXRJZCgpe3JldHVybiB0aGlzLl9maXJzdExpbmVUb29sKCkucHJvcGVydGllcygpLmNoaWxkcygpLnVuaXRJZC52YWx1ZSgpPz9udWxsfWlzU3luY2hyb25pemFibGUoKXtyZXR1cm4gdGhpcy5faXRlbXMuc29tZSgoZT0+ZS5pc1N5bmNocm9uaXphYmxlKCkpKX1zaGFyaW5nTW9kZSgpe3JldHVybiB0aGlzLl9maXJzdExpbmVUb29sKCkuc2hhcmluZ01vZGUoKX1zaGFyZShlKXt0aGlzLl9pdGVtcy5mb3JFYWNoKCh0PT50LnNoYXJlKGUpKSl9Y29udGFpbnNJdGVtKGUpe3JldHVybiB0aGlzLl9pdGVtc1NldC5oYXMoZSl9Z3JvdXBGb3JMaW5lVG9vbChlKXtpZih0aGlzLl9pdGVtc1NldC5oYXMoZSkpcmV0dXJuIHRoaXM7Zm9yKGNvbnN0IHQgb2YgdGhpcy5zdWJncm91cHMoKSl7Y29uc3QgaT10Lmdyb3VwRm9yTGluZVRvb2woZSk7aWYobnVsbCE9PWkpcmV0dXJuIGl9cmV0dXJuIG51bGx9YWRkSXRlbXMoZSl7dGhpcy5fZG9BbmRGaXJlT25DaGFuZ2UoKHQ9Pnt0aGlzLl9pbnNlcnRJdGVtcyhlLHQpfSkpfWV4Y2x1ZGVJdGVtKGUpe3RoaXMuX2RvQW5kRmlyZU9uQ2hhbmdlKCh0PT57dGhpcy5fcmVtb3ZlSXRlbXMoW2VdLHQpfSkpfWV4Y2x1ZGVJdGVtcyhlKXt0aGlzLl9kb0FuZEZpcmVPbkNoYW5nZSgodD0+e3RoaXMuX3JlbW92ZUl0ZW1zKGUsdCl9KSl9c3RhdGUoKXtyZXR1cm57aWQ6dGhpcy5pZCxuYW1lOnRoaXMuX25hbWUudmFsdWUoKSx0b29sczp0aGlzLmxpbmVUb29scygpLm1hcCgoZT0+ZS5pZCgpKSl9fXZpc2liaWxpdHkoKXtsZXQgZT0hMSx0PSExO2Zvcihjb25zdCBpIG9mIHRoaXMuX2l0ZW1zKWlmKCgwLApYci5pc0xpbmVUb29sc0dyb3VwKShpKSl7Y29uc3Qgcz1pLnZpc2liaWxpdHkoKTtlPWV8fCJJbnZpc2libGUiIT09cyx0PXR8fCJWaXNpYmxlIiE9PXN9ZWxzZSBlPWV8fFFyKGkpLHQ9dHx8IVFyKGkpO3JldHVybiBlJiYhdD8iVmlzaWJsZSI6dCYmIWU/IkludmlzaWJsZSI6IlBhcnRpYWwifWxvY2tlZCgpe2xldCBlPSExLHQ9ITE7Zm9yKGNvbnN0IGkgb2YgdGhpcy5faXRlbXMpaWYoKDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoaSkpe2NvbnN0IHM9aS5sb2NrZWQoKTtlPWV8fCJVbmxvY2tlZCIhPT1zLHQ9dHx8IkxvY2tlZCIhPT1zfWVsc2V7Y29uc3Qgcz1pLnByb3BlcnRpZXMoKS5mcm96ZW4udmFsdWUoKTtlPWV8fHMsdD10fHwhc31yZXR1cm4gZSYmIXQ/IkxvY2tlZCI6dCYmIWU/IlVubG9ja2VkIjoiUGFydGlhbCJ9aXNBY3R1YWxJbnRlcnZhbCgpe2xldCBlPSExLHQ9ITE7Zm9yKGNvbnN0IGkgb2YgdGhpcy5faXRlbXMpaWYoKDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoaSkpe2NvbnN0IHM9aS5pc0FjdHVhbEludGVydmFsKCk7ZT1lfHwiSXNOb3RBY3R1YWxJbnRlcnZhbCIhPT1zLHQ9dHx8IklzQWN0dWFsSW50ZXJ2YWwiIT09c31lbHNle2NvbnN0IHM9aS5pc0FjdHVhbEludGVydmFsKCk7ZT1lfHxzLHQ9dHx8IXN9cmV0dXJuIGUmJiF0PyJJc0FjdHVhbEludGVydmFsIjp0JiYhZT8iSXNOb3RBY3R1YWxJbnRlcnZhbCI6IlBhcnRpYWwifW9uQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9vbkNoYW5nZWR9c3RhdGljIGZyb21TdGF0ZShlLHQpe2NvbnN0IGk9W107Zm9yKGNvbnN0IHMgb2YgdC50b29scyl7Y29uc3QgdD1lLmRhdGFTb3VyY2VGb3JJZChzKTtudWxsIT09dCYmaS5wdXNoKHQpfXJldHVybiBpLmxlbmd0aD4wP25ldyBpbyhpLHQubmFtZSx0LmlkKTpudWxsfV9pbnNlcnRJdGVtcyhlLHQpe2Zvcihjb25zdCBpIG9mIGUpe2lmKCgwLFhyLmlzTGluZVRvb2xzR3JvdXApKGkpKXtpZih0aGlzLl93b3VsZENyZWF0ZUN5Y2xlKGkpKXtKcnx8KFpyLmxvZ1dhcm4oYEN5Y2xlIGRldGVjdGVkOiBjYW5ub3QgYWRkIGdyb3VwICR7aS5pZH0gaW50byBncm91cCAke3RoaXMuaWR9OyBza2lwcGluZ2ApLEpyPSEwKTtjb250aW51ZX1jb25zdCBlPWkucGFyZW50R3JvdXAoKTtudWxsIT09ZSYmZS5leGNsdWRlSXRlbShpKSxpLnNldFBhcmVudEdyb3VwKHRoaXMpLGkub25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKGU9PnRoaXMuX29uQ2hhbmdlZC5maXJlKGUpKSksdm9pZCAwIT09dCYmdG8oaSx0KX1lbHNlIHZvaWQgMCE9PXQmJnQucHVzaChpLmlkKCkpO3RoaXMuX2l0ZW1zU2V0LmFkZChpKSx0aGlzLl9pdGVtcy5wdXNoKGkpfXRoaXMuX2ludmFsaWRhdGVDYWNoZXMoKX1fcmVtb3ZlSXRlbXMoZSx0KXtjb25zdCBpPW5ldyBTZXQ7Zm9yKGNvbnN0IHMgb2YgZSl0aGlzLl9pdGVtc1NldC5kZWxldGUocykmJihpLmFkZChzKSwoMCxYci5pc0xpbmVUb29sc0dyb3VwKShzKT8ocy5vbkNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxzLnNldFBhcmVudEdyb3VwKG51bGwpLHRvKHMsdCkpOnQucHVzaChzLmlkKCkpKTt0aGlzLl9pdGVtcz10aGlzLl9pdGVtcy5maWx0ZXIoKGU9PiFpLmhhcyhlKSkpLHRoaXMuX2ludmFsaWRhdGVDYWNoZXMoKX1fZmlyc3RMaW5lVG9vbCgpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkoZW8odGhpcykpfV93b3VsZENyZWF0ZUN5Y2xlKGUpe2lmKGU9PT10aGlzKXJldHVybiEwO2xldCB0PXRoaXMucGFyZW50R3JvdXAoKTtmb3IoO251bGwhPT10Oyl7aWYodD09PWUpcmV0dXJuITA7dD10LnBhcmVudEdyb3VwKCl9cmV0dXJuITF9X2ludmFsaWRhdGVDYWNoZXMoKXt0aGlzLl9saW5lVG9vbHNDYWNoZT1udWxsLHRoaXMuX3N1Ymdyb3Vwc0NhY2hlPW51bGx9X2RvQW5kRmlyZU9uQ2hhbmdlKGUpe2NvbnN0IHQ9W10saT10aGlzLnZpc2liaWxpdHkoKSxzPXRoaXMubG9ja2VkKCksbj10aGlzLmlzQWN0dWFsSW50ZXJ2YWwoKTtlKHQpLHRoaXMuX29uQ2hhbmdlZC5maXJlKHthZmZlY3RlZExpbmVUb29sczp0LHZpc2liaWxpdHlDaGFuZ2VkOmkhPT10aGlzLnZpc2liaWxpdHkoKSxsb2NrZWRDaGFuZ2VkOnMhPT10aGlzLmxvY2tlZCgpLGlzQWN0dWFsSW50ZXJ2YWxDaGFuZ2VkOm4hPT10aGlzLmlzQWN0dWFsSW50ZXJ2YWwoKX0pfX1pKDgyOTE4MCk7Y2xhc3Mgc28gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihpLHZvaWQgMCwhUW4ubGluZVRvb2xzRG9Ob3RBZmZlY3RDaGFydEludmFsaWRhdGlvbiksdGhpcy5fbW9kZWw9ZSx0aGlzLl9ncm91cElkPXQuaWQsdGhpcy5fZ3JvdXBOYW1lPXQubmFtZSgpLnZhbHVlKCksdGhpcy5fbGluZVRvb2xzSWRzPXQubGluZVRvb2xzKCkubWFwKChlPT5lLmlkKCkpKX1yZWRvKCl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKHRoaXMuX2dyb3VwSWQpKTt0aGlzLl9tb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkucmVtb3ZlR3JvdXAoZSl9dW5kbygpe2NvbnN0IGU9dGhpcy5fbGluZVRvb2xzSWRzLm1hcCgoZT0+dGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpKSksdD1uZXcgaW8oZSx0aGlzLl9ncm91cE5hbWUsdGhpcy5fZ3JvdXBJZCk7dGhpcy5fbW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmFkZEdyb3VwKHQpfX1jb25zdCBubz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjcmVhdGUgbGluZSB0b29scyBncm91cCIscC50KG51bGwsdm9pZCAwLGkoMjg4Nzk3KSkpO2NsYXNzIHJvIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKG5vLHZvaWQgMCwhUW4ubGluZVRvb2xzRG9Ob3RBZmZlY3RDaGFydEludmFsaWRhdGlvbiksdGhpcy5fZ3JvdXBJZD1udWxsLHRoaXMuX21vZGVsPWUsdGhpcy5fc291cmNlc0lkcz10Lm1hcCgoZT0+ZS5pZCgpKSl9cmVkbygpe2NvbnN0IGU9dGhpcy5fc291cmNlc0lkcy5tYXAoKGU9PnRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZChlKSkpLHQ9bnVsbD09PXRoaXMuX2dyb3VwSWQ/dm9pZCAwOnRoaXMuX2dyb3VwSWQKO3RoaXMuX2dyb3VwSWQ9dGhpcy5fbW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmNyZWF0ZUdyb3VwKGUsdGhpcy5fdGl0bGUsdCkuaWR9dW5kbygpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JJZCgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2dyb3VwSWQpKSk7dGhpcy5fbW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLnJlbW92ZUdyb3VwKGUpfWNyZWF0ZWRHcm91cElkKCl7cmV0dXJuIHRoaXMuX2dyb3VwSWR9fWNvbnN0IG9vPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImFkZCBsaW5lIHRvb2wocykgdG8gZ3JvdXAge2dyb3VwfSIscC50KG51bGwsdm9pZCAwLGkoNDM5NTkwKSkpO2NsYXNzIGFvIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIob28uZm9ybWF0KHtncm91cDp0Lm5hbWUoKS52YWx1ZSgpfSksdm9pZCAwLCFRbi5saW5lVG9vbHNEb05vdEFmZmVjdENoYXJ0SW52YWxpZGF0aW9uKSx0aGlzLl9tb2RlbD1lLHRoaXMuX2dyb3VwSWQ9dC5pZCx0aGlzLl9saW5lVG9vbHNJZHM9aS5tYXAoKGU9PmUuaWQoKSkpfXJlZG8oKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9ySWQodGhpcy5fZ3JvdXBJZCkpLHQ9dGhpcy5fbGluZVRvb2xzSWRzLm1hcCgoZT0+dGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpKSk7ZS5hZGRJdGVtcyh0KX11bmRvKCl7Y29uc3QgZT10aGlzLl9saW5lVG9vbHNJZHMubWFwKChlPT50aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQoZSkpKTsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKHRoaXMuX2dyb3VwSWQpKS5leGNsdWRlSXRlbXMoZSl9fWNsYXNzIGxvIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcihzLHZvaWQgMCwhUW4ubGluZVRvb2xzRG9Ob3RBZmZlY3RDaGFydEludmFsaWRhdGlvbiksdGhpcy5fY2hhcnRNb2RlbD1lLHRoaXMuX2dyb3VwSWQ9dC5pZCx0aGlzLl9vbGROYW1lPXQubmFtZSgpLnZhbHVlKCksdGhpcy5fbmV3TmFtZT1pfXJlZG8oKXsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9ySWQodGhpcy5fZ3JvdXBJZCkpLnNldE5hbWUodGhpcy5fbmV3TmFtZSl9dW5kbygpeygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JJZCh0aGlzLl9ncm91cElkKSkuc2V0TmFtZSh0aGlzLl9vbGROYW1lKX19dmFyIGNvPWkoOTQzOTUpO2NsYXNzIGhvIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcihzLHZvaWQgMCwhUW4ubGluZVRvb2xzRG9Ob3RBZmZlY3RDaGFydEludmFsaWRhdGlvbiksdGhpcy5fb3JpZ2luTGlua0tleT1udWxsLHRoaXMuX21vZGVsPWksdGhpcy5faWQ9ZS5pZCgpLHRoaXMuX3RhcmdldFNoYXJpbmdNb2RlPXQsdGhpcy5fb3JpZ2luU2hhcmluZ01vZGU9ZS5zaGFyaW5nTW9kZSgpLnZhbHVlKCksdGhpcy5fb3JpZ2luTGlua0tleT1lLmxpbmtLZXkoKS52YWx1ZSgpfXJlZG8oKXtjb25zdCBlPXRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZCh0aGlzLl9pZCk7ZT8uaXNTeW5jaHJvbml6YWJsZSgpJiYoZS5zaGFyZSh0aGlzLl90YXJnZXRTaGFyaW5nTW9kZSksMCE9PXRoaXMuX3RhcmdldFNoYXJpbmdNb2RlJiYwPT09dGhpcy5fb3JpZ2luU2hhcmluZ01vZGUmJihlLmxpbmtLZXkoKS5zZXRWYWx1ZSgoMCxsdC5yYW5kb21IYXNoKSgpKSx0aGlzLl9tb2RlbC5jb3B5VG9PdGhlckNoYXJ0cyhbZV0sITEpKSwwPT09dGhpcy5fdGFyZ2V0U2hhcmluZ01vZGUmJjAhPT10aGlzLl9vcmlnaW5TaGFyaW5nTW9kZSYmZS5saW5rS2V5KCkuc2V0VmFsdWUobnVsbCkpfXVuZG8oKXtjb25zdCBlPXRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZCh0aGlzLl9pZCk7ZT8uaXNTeW5jaHJvbml6YWJsZSgpJiYoZS5zaGFyZSh0aGlzLl9vcmlnaW5TaGFyaW5nTW9kZSksMD09PXRoaXMuX29yaWdpblNoYXJpbmdNb2RlPygoMCxULnJlbW92ZUxpbmVUb29sKSh7d2l0aFVuZG86ITEsbW9kZWw6dGhpcy5fbW9kZWwsc3ltYm9sOmUuc3ltYm9sKCksbGlua0tleTooMCxsLmVuc3VyZU5vdE51bGwpKGUubGlua0tleSgpLnZhbHVlKCkpLHNvdXJjZVRpdGxlOigwLHVyLmdldFRyYW5zbGF0ZWRTdHJpbmdGb3JTb3VyY2UpKGNvLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLGUpLGxpbmVUb29sU3RhdGU6ZS5zdGF0ZSghMSksdW5saW5rOiEwfSksZS5saW5rS2V5KCkuc2V0VmFsdWUobnVsbCkpOmUubGlua0tleSgpLnNldFZhbHVlKHRoaXMuX29yaWdpbkxpbmtLZXkpKX19CmNvbnN0IHVvPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNyZWF0ZSBsaW5lIHRvb2xzIGdyb3VwIGZyb20gc2VsZWN0aW9uIixwLnQobnVsbCx2b2lkIDAsaSgxMzQ1NTgpKSkscG89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygicmVtb3ZpbmcgbGluZSB0b29scyBncm91cCB7bmFtZX0iLHAudChudWxsLHZvaWQgMCxpKDY2NjE0MCkpKSxfbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJhZGQgbGluZSB0b29sIHtsaW5lVG9vbH0gdG8gZ3JvdXAge25hbWV9IixwLnQobnVsbCx2b2lkIDAsaSg2ODk1ODApKSksbW89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygibWFrZSBncm91cCB7Z3JvdXB9IHZpc2libGUiLHAudChudWxsLHZvaWQgMCxpKDM1NjU0MSkpKSxnbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtYWtlIGdyb3VwIHtncm91cH0gaW52aXNpYmxlIixwLnQobnVsbCx2b2lkIDAsaSg1NzIzMzQpKSksZm89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygibG9jayBncm91cCB7Z3JvdXB9IixwLnQobnVsbCx2b2lkIDAsaSg3MDYzMDgpKSksU289bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidW5sb2NrIGdyb3VwIHtncm91cH0iLHAudChudWxsLHZvaWQgMCxpKDk1MjUyMykpKSx2bz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJyZW5hbWUgZ3JvdXAge2dyb3VwfSB0byB7bmV3TmFtZX0iLHAudChudWxsLHZvaWQgMCxpKDM4NTMxMCkpKTtjbGFzcyB5b3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9lbnZpcm9ubWVudD1lfWNyZWF0ZUdyb3VwRnJvbVNlbGVjdGlvbigpe2NvbnN0IGU9dGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKTsoMCxsLmFzc2VydCkoIWUuc2VsZWN0aW9uKCkuaXNFbXB0eSgpLCJDYW5ub3QgY3JlYXRlIGdyb3VwIGZyb20gZW1wdHkgc2VsZWN0aW9uIik7Y29uc3QgdD0oMCxkci5zb3J0U291cmNlcykoZS5zZWxlY3Rpb24oKS5saW5lRGF0YVNvdXJjZXMoKSk7KDAsbC5hc3NlcnQpKHQubGVuZ3RoPT09ZS5zZWxlY3Rpb24oKS5hbGxTb3VyY2VzKCkubGVuZ3RoLCJBIGdyb3VwIGNvdWxkIGNvbnRhaW4gbGluZSB0b29scyBvbmx5Iik7Y29uc3QgaT10Lmxlbmd0aD4xfHxudWxsIT09dGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbCh0WzBdKSxzPXQucmVkdWNlKCgoZSx0KT0+ZS56b3JkZXIoKT50LnpvcmRlcigpP2U6dCksdFswXSk7bGV0IG49cztjb25zdCByPWUubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9yTGluZVRvb2wocyk7aWYobnVsbCE9PXIpe2NvbnN0IGU9ci5saW5lVG9vbHMoKTtuPWVbZS5sZW5ndGgtMV19dGhpcy5fZW52aXJvbm1lbnQuYmVnaW5VbmRvTWFjcm8odW8pO2NvbnN0IG89bmV3IE1hcCxhPW5ldyBTZXQ7dC5mb3JFYWNoKCh0PT57Y29uc3QgaT10aGlzLl9ncm91cEZvckxpbmVUb29sKHQpO2lmKG51bGw9PT1pKXJldHVybjtjb25zdCBzPW8uZ2V0KGkpfHxbXTtzLnB1c2godCksby5zZXQoaSxzKTtjb25zdCBuPSgwLGwuZW5zdXJlTm90TnVsbCkoZS5wYW5lRm9yU291cmNlKHQpKTthLmFkZChuKX0pKSwoMCxsLmFzc2VydCkoYS5zaXplPD0xLCJBbGwgc2VsZWN0ZWQgc291cmNlcyBzaG91bGQgYmUgb24gdGhlIHNhbWUgcGFuZSIpLG8uZm9yRWFjaCgoKHQsaSk9Pntjb25zdCBzPW5ldyBpci5FeGNsdWRlTGluZVRvb2xzRnJvbUdyb3VwVW5kb0NvbW1hbmQoZSxpLHQpO3RoaXMuX2Vudmlyb25tZW50LnB1c2hVbmRvQ29tbWFuZChzKX0pKTtjb25zdCBjPW5ldyBybyhlLCgwLGRyLnNvcnRTb3VyY2VzKSh0KSk7aWYodGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKGMpLGkpe2NvbnN0IGk9bmV3IEFyKGUsdCxuKTt0aGlzLl9lbnZpcm9ubWVudC5wdXNoVW5kb0NvbW1hbmQoaSl9dGhpcy5fZW52aXJvbm1lbnQuZW5kVW5kb01hY3JvKCk7Y29uc3QgaD0oMCxsLmVuc3VyZU5vdE51bGwpKGMuY3JlYXRlZEdyb3VwSWQoKSk7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKShlLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKGgpKX1yZW1vdmVHcm91cChlKXtjb25zdCB0PXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCksaT1lLmxpbmVUb29scygpLHM9aS5tYXAoKGU9Pih7c3RhdGU6ZS5zdGF0ZSghMSksdGl0bGU6bmV3IHkuVHJhbnNsYXRlZFN0cmluZyhlLm5hbWUoKSxlLnRpdGxlKE5uLlRpdGxlRGlzcGxheVRhcmdldC5EYXRhV2luZG93KSksbGlua0tleTplLmxpbmtLZXkoKS52YWx1ZSgpfSkpKTt0aGlzLl9lbnZpcm9ubWVudC5iZWdpblVuZG9NYWNybyhwby5mb3JtYXQoe25hbWU6ZS5uYW1lKCkudmFsdWUoKX0pKTtjb25zdCBuPW5ldyBzbyh0LGUsbnVsbCk7dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG4pO2NvbnN0IHI9bmV3IHRyLlJlbW92ZVNvdXJjZXNVbmRvQ29tbWFuZCh0LGksbnVsbCk7dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKHIpO2NvbnN0IG89dC5tYWluU2VyaWVzKCkuc3ltYm9sKCk7cy5mb3JFYWNoKChlPT57bnVsbCE9PWUubGlua0tleSYmKDAsVC5yZW1vdmVMaW5lVG9vbCkoe3dpdGhVbmRvOiEwLG1vZGVsOnQsc3ltYm9sOm8sc291cmNlVGl0bGU6ZS50aXRsZSxsaW5lVG9vbFN0YXRlOmUuc3RhdGUsbGlua0tleTplLmxpbmtLZXl9KX0pKSx0aGlzLl9lbnZpcm9ubWVudC5lbmRVbmRvTWFjcm8oKX1ncm91cHMoKXtyZXR1cm4gdGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBzKCl9ZXhjbHVkZUxpbmVUb29sRnJvbUdyb3VwKGUsdCl7Y29uc3QgaT10aGlzLl9lbnZpcm9ubWVudC5tb2RlbCgpLHM9bmV3IGlyLkV4Y2x1ZGVMaW5lVG9vbHNGcm9tR3JvdXBVbmRvQ29tbWFuZChpLGUsW3RdKTt0aGlzLl9lbnZpcm9ubWVudC5wdXNoVW5kb0NvbW1hbmQocyl9YWRkTGluZVRvb2xUb0dyb3VwKGUsdCl7Y29uc3QgaT10aGlzLl9lbnZpcm9ubWVudC5tb2RlbCgpLHM9aS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbCh0KTtpZihzPT09ZSlyZXR1cm47Y29uc3Qgbj1fby5mb3JtYXQoewpsaW5lVG9vbDpuZXcgeS5UcmFuc2xhdGVkU3RyaW5nKHQubmFtZSgpLHQudGl0bGUoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpKSxuYW1lOmUubmFtZSgpLnZhbHVlKCl9KTt0aGlzLl9lbnZpcm9ubWVudC5iZWdpblVuZG9NYWNybyhuKSxudWxsIT09cyYmdGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG5ldyBpci5FeGNsdWRlTGluZVRvb2xzRnJvbUdyb3VwVW5kb0NvbW1hbmQoaSxzLFt0XSkpO3tjb25zdCBzPWUuc2hhcmluZ01vZGUoKS52YWx1ZSgpO3Quc2hhcmluZ01vZGUoKS52YWx1ZSgpIT09cyYmdGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG5ldyBobyh0LHMsaSxudWxsKSl9dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG5ldyBhbyhpLGUsW3RdKSksdGhpcy5fZW52aXJvbm1lbnQuZW5kVW5kb01hY3JvKCl9YnJpbmdUb0Zyb250KGUpe2NvbnN0IHQ9dGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKSxpPW5ldyBNcih0LGUubGluZVRvb2xzKCkpO3RoaXMuX2Vudmlyb25tZW50LnB1c2hVbmRvQ29tbWFuZChpKSx0aGlzLl9lbnZpcm9ubWVudC5lbWl0RXZlbnQoImNoYW5nZVpPcmRlciIsW2UubGluZVRvb2xzKCldKX1zZW5kVG9CYWNrKGUpe2NvbnN0IHQ9dGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKSxpPW5ldyBJcih0LGUubGluZVRvb2xzKCkpO3RoaXMuX2Vudmlyb25tZW50LnB1c2hVbmRvQ29tbWFuZChpKSx0aGlzLl9lbnZpcm9ubWVudC5lbWl0RXZlbnQoImNoYW5nZVpPcmRlciIsW2UubGluZVRvb2xzKCldKX1icmluZ0ZvcndhcmQoZSl7Y29uc3QgdD10aGlzLl9lbnZpcm9ubWVudC5tb2RlbCgpLGk9bmV3IFdyKHQsZSk7dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKGkpLHRoaXMuX2Vudmlyb25tZW50LmVtaXRFdmVudCgiY2hhbmdlWk9yZGVyIixbZS5saW5lVG9vbHMoKV0pfXNlbmRCYWNrd2FyZChlKXtjb25zdCB0PXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCksaT1uZXcgT3IodCxlKTt0aGlzLl9lbnZpcm9ubWVudC5wdXNoVW5kb0NvbW1hbmQoaSksdGhpcy5fZW52aXJvbm1lbnQuZW1pdEV2ZW50KCJjaGFuZ2VaT3JkZXIiLFtlLmxpbmVUb29scygpXSl9aW5zZXJ0QWZ0ZXIoZSx0KXtjb25zdCBpPXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCk7bGV0IHM7aWYodCBpbnN0YW5jZW9mIGlvKXtjb25zdCBlPXQubGluZVRvb2xzKCk7cz1lW2UubGVuZ3RoLTFdfWVsc2Ugcz10O2NvbnN0IG49bmV3IEFyKGksZS5saW5lVG9vbHMoKSxzKTt0aGlzLl9lbnZpcm9ubWVudC5wdXNoVW5kb0NvbW1hbmQobiksdGhpcy5fZW52aXJvbm1lbnQuZW1pdEV2ZW50KCJjaGFuZ2VaT3JkZXIiLFtlLmxpbmVUb29scygpXSl9aW5zZXJ0QmVmb3JlKGUsdCl7Y29uc3QgaT10aGlzLl9lbnZpcm9ubWVudC5tb2RlbCgpO2xldCBzO2lmKHQgaW5zdGFuY2VvZiBpbyl7cz10LmxpbmVUb29scygpWzBdfWVsc2Ugcz10O2NvbnN0IG49bmV3IERyKGksZS5saW5lVG9vbHMoKSxzKTt0aGlzLl9lbnZpcm9ubWVudC5wdXNoVW5kb0NvbW1hbmQobiksdGhpcy5fZW52aXJvbm1lbnQuZW1pdEV2ZW50KCJjaGFuZ2VaT3JkZXIiLFtlLmxpbmVUb29scygpXSl9YXZhaWxhYmxlWk9yZGVyT3BlcmF0aW9ucyhlKXtjb25zdCB0PXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCksaT1lLmxpbmVUb29scygpLHM9aVswXSxuPWlbaS5sZW5ndGgtMV0scj0oMCxsLmVuc3VyZU5vdE51bGwpKHQucGFuZUZvclNvdXJjZShpWzBdKSkuc291cmNlc0J5R3JvdXAoKS5hbGxFeGNlcHRTcGVjaWFsU291cmNlcygpLG89clswXSxhPXJbci5sZW5ndGgtMV07cmV0dXJue2JyaW5nRm9yd2FyZEVuYWJsZWQ6biE9PWEsYnJpbmdUb0Zyb250RW5hYmxlZDpuIT09YSxzZW5kQmFja3dhcmRFbmFibGVkOnMhPT1vLHNlbmRUb0JhY2tFbmFibGVkOnMhPT1vfX1zZXRHcm91cFZpc2liaWxpdHkoZSx0KXtjb25zdCBpPSh0P21vOmdvKS5mb3JtYXQoe2dyb3VwOmUubmFtZSgpLnZhbHVlKCl9KSxzPXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCk7dGhpcy5fZW52aXJvbm1lbnQuYmVnaW5VbmRvTWFjcm8oaSksZS5saW5lVG9vbHMoKS5mb3JFYWNoKChlPT57Y29uc3QgaT1lLnByb3BlcnRpZXMoKS52aXNpYmxlLG49bmV3IHFyLlNldFByb3BlcnR5VW5kb0NvbW1hbmQoaSx0LG51bGwscywhUW4ubGluZVRvb2xzRG9Ob3RBZmZlY3RDaGFydEludmFsaWRhdGlvbik7dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG4pfSkpLHRoaXMuX2Vudmlyb25tZW50LmVuZFVuZG9NYWNybygpfXNldEdyb3VwTG9jayhlLHQpe2NvbnN0IGk9KHQ/Zm86U28pLmZvcm1hdCh7Z3JvdXA6ZS5uYW1lKCkudmFsdWUoKX0pLHM9dGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKTt0aGlzLl9lbnZpcm9ubWVudC5iZWdpblVuZG9NYWNybyhpKSxlLmxpbmVUb29scygpLmZvckVhY2goKGU9Pntjb25zdCBpPWUucHJvcGVydGllcygpLmZyb3plbixuPW5ldyBxci5TZXRQcm9wZXJ0eVVuZG9Db21tYW5kKGksdCxudWxsLHMsIVFuLmxpbmVUb29sc0RvTm90QWZmZWN0Q2hhcnRJbnZhbGlkYXRpb24pO3RoaXMuX2Vudmlyb25tZW50LnB1c2hVbmRvQ29tbWFuZChuKX0pKSx0aGlzLl9lbnZpcm9ubWVudC5lbmRVbmRvTWFjcm8oKX1zZXRHcm91cE5hbWUoZSx0KXtjb25zdCBpPXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCkscz12by5mb3JtYXQoe2dyb3VwOmUubmFtZSgpLnZhbHVlKCksbmV3TmFtZTp0fSksbj1uZXcgbG8oaSxlLHQscyk7dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG4pfWNhbkJlR3JvdXBwZWQoZSl7Y29uc3QgdD10aGlzLl9lbnZpcm9ubWVudC5tb2RlbCgpO3JldHVybiBuZXcgU2V0KGUubWFwKChlPT50LnBhbmVGb3JTb3VyY2UoZSkpKSkuc2l6ZTw9MX1fZ3JvdXBGb3JMaW5lVG9vbChlKXtyZXR1cm4gdGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChlKX19dmFyIGJvPWkoNDEyMzg0KSx3bz1pKDU0NDg4NSksQ289aSgzMDUyNzcpCjtjb25zdCBQbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJhcHBseSBzdHVkeSB0ZW1wbGF0ZSB7dGVtcGxhdGV9IixwLnQobnVsbCx2b2lkIDAsaSgzODE1MTMpKSk7ZnVuY3Rpb24gVG8oZSl7Zm9yKGNvbnN0IHQgb2YgZS5wYW5lcylmb3IoY29uc3QgZSBvZiB0LnNvdXJjZXMpaWYoKDAsUC5pc01haW5TZXJpZXNTdGF0ZSkoZSkpcmV0dXJuIGUuaWQ7cmV0dXJuIG51bGx9dmFyIHhvOyFmdW5jdGlvbihlKXtlW2UuSW5pdGlhbD0wXT0iSW5pdGlhbCIsZVtlLlVuZG9pbmc9MV09IlVuZG9pbmciLGVbZS5SZWRvaW5nPTJdPSJSZWRvaW5nIn0oeG98fCh4bz17fSkpO2NsYXNzIE1vIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcihQby5mb3JtYXQoe3RlbXBsYXRlOml9KSksdGhpcy5fbmV3U3ltYm9sUGFyYW1zPXt9LHRoaXMuX2hhc0FscmVhZHlCZWVuVW5kb25lPSExLHRoaXMuX21vZGVsPWUsdGhpcy5fdGVtcGxhdGVDb250ZW50PWZ1bmN0aW9uKGUsdCl7Y29uc3QgaT0oMCxyLmRlZmF1bHQpKHt9LGUpLHM9KDAsbC5lbnN1cmVOb3ROdWxsKShUbyhpKSk7Zm9yKGNvbnN0IGUgb2YgaS5wYW5lcyl7ZS5tYWluU291cmNlSWQ9PT1zJiYoZS5tYWluU291cmNlSWQ9dCk7Zm9yKGNvbnN0IGkgb2YgZS5zb3VyY2VzKWlmKGkuaWQ9PT1zKXtpLmlkPXQ7Y29uc3Qgbj1lPT57Y29uc3QgaT1lLmluZGV4T2Yocyk7LTEhPT1pJiZlLnNwbGljZShpLDEsdCl9O2lmKGUubGVmdEF4aXNlc1N0YXRlJiZlLnJpZ2h0QXhpc2VzU3RhdGU/KGUubGVmdEF4aXNlc1N0YXRlLmZvckVhY2goKGU9Pm4oZS5zb3VyY2VzKSkpLGUucmlnaHRBeGlzZXNTdGF0ZS5mb3JFYWNoKChlPT5uKGUuc291cmNlcykpKSk6KG4oZS5sZWZ0QXhpc1NvdXJjZXMpLG4oZS5yaWdodEF4aXNTb3VyY2VzKSksZS5vdmVybGF5UHJpY2VTY2FsZXMpe2NvbnN0IGk9ZS5vdmVybGF5UHJpY2VTY2FsZXNbc107aSYmKGRlbGV0ZSBlLm92ZXJsYXlQcmljZVNjYWxlc1tzXSxlLm92ZXJsYXlQcmljZVNjYWxlc1t0XT1pKX19ZWxzZSBpLm93bmVyU291cmNlPT09cyYmKGkub3duZXJTb3VyY2U9dCl9cmV0dXJuIGl9KHQsZS5tYWluU2VyaWVzKCkuaWQoKSksdGhpcy5faW5pdGlhbFN0YXRlPWUuc3R1ZHlUZW1wbGF0ZSghMCwhMCwhMCksdGhpcy5fZXZlbnRTb3VyY2U9cztjb25zdCBuPWUubWFpblNlcmllcygpO3Quc3ltYm9sJiYodGhpcy5fbmV3U3ltYm9sUGFyYW1zPXtzeW1ib2w6dC5zeW1ib2wsY3VycmVuY3k6dC5jdXJyZW5jeT8/bnVsbCx1bml0OnQudW5pdD8/bnVsbH0pLHQuaW50ZXJ2YWwmJih0aGlzLl9uZXdTeW1ib2xQYXJhbXMuaW50ZXJ2YWw9dC5pbnRlcnZhbCx0aGlzLl9uZXdTeW1ib2xQYXJhbXMuc3R5bGU9KDAsQS5nZXRDaGFydFN0eWxlQnlSZXNvbHV0aW9uKSh0LmludGVydmFsLG4uc3R5bGUoKSkpLHRoaXMuX2luaXRpYWxTeW1ib2xQYXJhbXM9e3N5bWJvbDpuLnN5bWJvbCgpLGN1cnJlbmN5Om4uY3VycmVuY3koKSx1bml0Om4udW5pdCgpLGludGVydmFsOm4uaW50ZXJ2YWwoKSxzdHlsZTpuLnN0eWxlKCl9LHRoaXMuX2luaXRpYWxTdGF0ZT1lLnN0dWR5VGVtcGxhdGUoKSx0aGlzLl9pbml0aWFsR3JvdXBzU3RhdGU9ZS5saW5lVG9vbHNHcm91cE1vZGVsKCkuc3RhdGUoKX1yZWRvKCl7dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnNldFN5bWJvbFBhcmFtcyh0aGlzLl9uZXdTeW1ib2xQYXJhbXMpO2NvbnN0IGU9dGhpcy5fbWVyZ2UodGhpcy5fdGVtcGxhdGVDb250ZW50LHRoaXMuX2hhc0FscmVhZHlCZWVuVW5kb25lPzI6MCkuZmlsdGVyKHJpLmlzTGluZVRvb2wpO3RoaXMuX21vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5yZW1vdmVMaW5lVG9vbHMoZSk7Y29uc3QgdD10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpOygwLEEucHJlcGFyZVByaWNlQXhpc1Byb3BlcnRpZXMpKHQpLHRoaXMuX21vZGVsLnJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXMoSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TdHVkeUNyZWF0aW9uKSx0aGlzLl9tb2RlbC5zZXRTaG91bGRCZVNhdmVkRXZlbklmSGlkZGVuKCEwKX11bmRvKCl7dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnNldFN5bWJvbFBhcmFtcyh0aGlzLl9pbml0aWFsU3ltYm9sUGFyYW1zKSx0aGlzLl9tZXJnZSh0aGlzLl9pbml0aWFsU3RhdGUsMSksdGhpcy5faGFzQWxyZWFkeUJlZW5VbmRvbmU9ITB9X21lcmdlKGUsdCl7Y29uc3QgaT1lLnZlcnNpb258fDAscz10aGlzLl9tb2RlbCxuPXMubWFpblNlcmllcygpOygwLGwuYXNzZXJ0KShuLmlkKCk9PT1UbyhlKSksbi5wcmljZVNjYWxlKCkucHJvcGVydGllcygpLmNoaWxkcygpLmxvY2tTY2FsZS5zZXRWYWx1ZSghMSk7Y29uc3Qgcj1zLnBhbmVzKCksbz1bXTtmb3IobGV0IGU9ci5sZW5ndGg7ZS0tOyl7Y29uc3QgdD1yW2VdLGk9dC5jb250YWluc01haW5TZXJpZXMoKSxzPXQuZGF0YVNvdXJjZXMoKTtmb3IobGV0IGU9cy5sZW5ndGg7ZS0tOyl7Y29uc3QgdD1zW2VdOyghaXx8KCgwLHRpLmlzU3R1ZHkpKHQpfHwoMCx0aS5pc1N0dWR5U3R1YikodCkpJiZ0LmlzUmVtb3ZlZEJ5U3R1ZHlUZW1wbGF0ZXMoKSkmJm8ucHVzaCh0KX19cy5yZXNldERlZmVycmVkU3R1ZGllcygpO2NvbnN0IGM9MD09PXQ/dGhpcy5fZXZlbnRTb3VyY2U6MT09PXQ/InVuZG8iOnRoaXMuX2V2ZW50U291cmNlP2ByZWRvXyR7dGhpcy5fZXZlbnRTb3VyY2V9YDoicmVkbyIsaD0oMCxiby5jbG9zZVNvdXJjZXNTZXQpKHMsbywhMCk7Zm9yKGxldCBlPTA7ZTxoLmxlbmd0aDsrK2Upe2NvbnN0IHQ9aFtlXTsoMCx0aS5pc1N0dWR5KSh0KSYmKDAsd28udHJhY2tTdHVkaWVzKSh0Lm1ldGFJbmZvKCksdC5tb2RlbCgpLCJyZW1vdmUiLGMpLHMucmVtb3ZlU291cmNlKHQpfWNvbnN0IGQ9ZS5wYW5lcztsZXQgdT0wO2ZvcihsZXQgZT0wO2U8ZC5sZW5ndGg7ZSsrKXtsZXQgdD0tMTtjb25zdCBuPSgwLGEuY2xvbmUpKGRbZV0pO24uc291cmNlcy5zb3J0KCgoZSx0KT0+ZS56b3JkZXItdC56b3JkZXIpKTtmb3IobGV0IGU9MDtlPG4uc291cmNlcy5sZW5ndGg7ZSsrKXsKY29uc3QgaT1uLnNvdXJjZXNbZV07aWYoKDAsUC5pc01haW5TZXJpZXNTdGF0ZSkoaSkmJihkZWxldGUgaS5zdGF0ZSx0PWUpLCgwLFAuaXNTdHVkeVN0YXRlKShpKSl7Y29uc3QgZT1uZXcgb3QuU3R1ZHlNZXRhSW5mbyhpLm1ldGFJbmZvKTsoMCx3by50cmFja1N0dWRpZXMpKGUscywiYWRkIixjKX19Y29uc3Qgbz10Pi0xLGg9bz9yW2UtdV06cy5jcmVhdGVQYW5lKGUtdSk7aWYobyYmaTwzJiYoMCxDby5yZW9yZGVyRGF0YVNvdXJjZXNTdGF0ZVpPcmRlcikobi5zb3VyY2VzKSxoLnJlc3RvcmVTdGF0ZSh7c3RhdGU6bix3aXRoRGF0YTohMSx2ZXJzaW9uOmksaXNTdHVkeVRlbXBsYXRlOiEwfSksbnVsbCE9PWgubWFpbkRhdGFTb3VyY2UoKSl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmFsZXJ0c1dhdGNoZXIoKSk7Zm9yKGNvbnN0IHQgb2YgaC5kYXRhU291cmNlcygpKWUuc3luY1NvdXJjZUFsZXJ0TGFiZWxzKHQpfWVsc2UgdSsrLHMucmVtb3ZlUGFuZShoKX1yZXR1cm4gcy5zeW5jTG9sbGlwb3BTb3VyY2VzKCksbi5wcmljZVNjYWxlKCkuc2V0TW9kZSh7YXV0b1NjYWxlOiEwfSkscy5zdGFydE5vdFN0YXJ0ZWRTdHVkaWVzKCkscy5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLmdsb2JhbENoYW5nZUV2ZW50KSgpKSxzLmZ1bGxVcGRhdGUoKSxofX12YXIgSW89aSg1NDA1ODgpO2NvbnN0IExvPSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuQ2hhcnRVbmRvTW9kZWwiKTt2YXIgQW87IWZ1bmN0aW9uKGUpe2VbZS5QYXN0ZVlDb29yZE9mZnNldD0tNDBdPSJQYXN0ZVlDb29yZE9mZnNldCJ9KEFvfHwoQW89e30pKTtjb25zdCBrbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJwYXN0ZSBkcmF3aW5nIixwLnQobnVsbCx2b2lkIDAsaSg4MzcwNjYpKSk7Y2xhc3MgRG8gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHMsbil7c3VwZXIoa28sdm9pZCAwLCFRbi5saW5lVG9vbHNEb05vdEFmZmVjdENoYXJ0SW52YWxpZGF0aW9uKSx0aGlzLl9uZWVkQ29weVRvT3RoZXJDaGFydHM9ITEsdGhpcy5fc291cmNlU3RhdGU9bnVsbCx0aGlzLl9hY3Rpb25Tb3VyY2VXYXNTZW50PSExLHRoaXMuX21vZGVsPWUsdGhpcy5fY2xpcGJvYXJkRGF0YT10LHRoaXMuX3BhbmVJbmRleD10aGlzLl9tb2RlbC5wYW5lcygpLmluZGV4T2YoaXx8KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSkpKSx0aGlzLl9wYXN0ZVdpdGhEYXRhPSEhcyx0aGlzLl9rZWVwWkluZGV4PSEhbn1yZWRvKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5wYW5lcygpW3RoaXMuX3BhbmVJbmRleF0sdD0oMCxsLmVuc3VyZU5vdE51bGwpKGUuY2xpcGJvYXJkTGluZVRvb2xPd25lclNvdXJjZSh0aGlzLl9jbGlwYm9hcmREYXRhLnNvdXJjZS5pZCkpLGk9dD09PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKTtsZXQgcztudWxsPT09dGhpcy5fc291cmNlU3RhdGUmJih0aGlzLl9zb3VyY2VTdGF0ZT10aGlzLl9nZXRTb3VyY2VTdGF0ZSh0LGkpKSx0aGlzLl9hY3Rpb25Tb3VyY2VXYXNTZW50fHwocz0iUGFzdGUiLHRoaXMuX2FjdGlvblNvdXJjZVdhc1NlbnQ9ITApO2NvbnN0IG49KDAsbC5lbnN1cmVOb3ROdWxsKShlLnJlc3RvcmVMaW5lVG9vbCh7c3RhdGU6dGhpcy5fc291cmNlU3RhdGUsd2l0aERhdGE6dGhpcy5fcGFzdGVXaXRoRGF0YSxrZWVwWk9yZGVyOnRoaXMuX2tlZXBaSW5kZXgsb3duZXJTb3VyY2U6dCxhY3Rpb25Tb3VyY2U6c30pKTsoMCxsLmVuc3VyZU5vdE51bGwpKHQucHJpY2VTY2FsZSgpKS5hZGREYXRhU291cmNlKG4pLHRoaXMuX2NsaXBib2FyZERhdGEuY2VudGVyZWRPbkNoYXJ0JiZuLmNlbnRlclBvc2l0aW9uJiZuLmNlbnRlclBvc2l0aW9uKCksbi5yZXN0b3JlRml4ZWRQb2ludCgpLG4uY3JlYXRlU2VydmVyUG9pbnRzKCksdGhpcy5fbmVlZENvcHlUb090aGVyQ2hhcnRzPUJvb2xlYW4oaSYmbi5pc1N5bmNocm9uaXphYmxlKCkmJjAhPT1uLnNoYXJpbmdNb2RlKCkudmFsdWUoKSksdGhpcy5fbW9kZWwuc2V0U2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbighMCl9dW5kbygpe2lmKCF0aGlzLl9zb3VyY2VTdGF0ZSlyZXR1cm4gdm9pZCBMby5sb2dFcnJvcigiVGhpcyBjb21tYW5kIHdhcyBuZXZlciBleGVjdXRlZCAtIG5vdGhpbmcgdG8gdW5kbyIpO2NvbnN0IGU9dGhpcy5zb3VyY2UoKTt0aGlzLl9jbGlwYm9hcmREYXRhLmNlbnRlcmVkT25DaGFydCYmKHRoaXMuX2NsaXBib2FyZERhdGEuY2VudGVyZWRPbkNoYXJ0PSExLHRoaXMuX3NvdXJjZVN0YXRlLnBvaW50cz1lLm5vcm1hbGl6ZWRQb2ludHMoKSksdGhpcy5fbW9kZWwucmVtb3ZlU291cmNlKGUpfXNvdXJjZSgpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc291cmNlU3RhdGUpLmlkKSl9bmVlZENvcHlUb090aGVyQ2hhcnRzKCl7cmV0dXJuIHRoaXMuX25lZWRDb3B5VG9PdGhlckNoYXJ0c31fZ2V0U291cmNlU3RhdGUoZSx0KXtjb25zdCBpPSgwLGEuY2xvbmUpKHRoaXMuX2NsaXBib2FyZERhdGEuc291cmNlKTtkZWxldGUgaS5zdGF0ZS5zeW1ib2wsdD8obnVsbCE9aS5saW5rS2V5fHx2b2lkIDAhPT1pLnNoYXJpbmdNb2RlJiYwIT09aS5zaGFyaW5nTW9kZSkmJihpLmxpbmtLZXk9KDAsbHQucmFuZG9tSGFzaCkoKSk6KGkubGlua0tleT1udWxsLGkuc2hhcmluZ01vZGU9MCk7Y29uc3Qgcz0oMCxsLmVuc3VyZU5vdE51bGwpKGUucHJpY2VTY2FsZSgpKSxuPXRoaXMuX21vZGVsLHtzeW1ib2w6cixjdXJyZW5jeUlkOm8sdW5pdElkOmN9PXRoaXMuX2NsaXBib2FyZERhdGEuc291cmNlLnN0YXRlLGg9KDAsbC5lbnN1cmVOb3ROdWxsKShlLnN5bWJvbFNvdXJjZSgpKTtsZXQgZD0hMTshaC5zeW1ib2xTYW1lQXNDdXJyZW50KHIpfHwobnVsbCE9PW8/byE9PSgwLEEuc3ltYm9sQ3VycmVuY3kpKGguc3ltYm9sSW5mbygpLHZvaWQgMCwhMCk6aC5pc0NvbnZlcnRlZFRvT3RoZXJDdXJyZW5jeSgpKXx8KG51bGwhPT1jP2MhPT0oMCwKQS5zeW1ib2xVbml0KShoLnN5bWJvbEluZm8oKSx0aGlzLl9tb2RlbC51bml0Q29udmVyc2lvbkVuYWJsZWQoKSk6aC5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KCkpfHwoKDAsSW8uaXNTeW1ib2xTb3VyY2UpKGUpP2Q9ITA6KDAsdGkuaXNTdHVkeSkoZSkmJihkPUJvb2xlYW4oZS5tZXRhSW5mbygpLmlzX3ByaWNlX3N0dWR5KSkpLGkuc3RhdGUuY3VycmVuY3lJZD1uLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQoKSYmaC5pc0NvbnZlcnRlZFRvT3RoZXJDdXJyZW5jeSgpP2guY3VycmVuY3koKTpudWxsLGkuc3RhdGUudW5pdElkPW4udW5pdENvbnZlcnNpb25FbmFibGVkKCkmJmguaXNDb252ZXJ0ZWRUb090aGVyVW5pdCgpP2gudW5pdCgpOm51bGw7Y29uc3QgdT1lPT57Y29uc3QgdD1lLngqbi50aW1lU2NhbGUoKS53aWR0aCgpLGk9ZS55KnMuaGVpZ2h0KCktNDA7cmV0dXJuIG5ldyBQdC5Qb2ludCh0LGkpfSxwPSgwLGwuZW5zdXJlTm90TnVsbCkoZS5maXJzdFZhbHVlKCkpO2lmKHRoaXMuX21vZGVsLmlkKCk9PT10aGlzLl9jbGlwYm9hcmREYXRhLm1vZGVsSWR8fCFkKXtmb3IobGV0IGU9MDtlPHRoaXMuX2NsaXBib2FyZERhdGEuZ2VvbWV0cnkubGVuZ3RoOysrZSl7Y29uc3QgdD11KHRoaXMuX2NsaXBib2FyZERhdGEuZ2VvbWV0cnlbZV0pLHI9bi50aW1lU2NhbGUoKS5jb29yZGluYXRlVG9JbmRleCh0LngpLG89bi50aW1lU2NhbGUoKS5ub3JtYWxpemVCYXJJbmRleChyKTtpZihkKXtjb25zdCB0PXMucHJpY2VUb0Nvb3JkaW5hdGUoaS5wb2ludHNbZV0ucHJpY2UscCkrLTQwO28ucHJpY2U9cy5jb29yZGluYXRlVG9QcmljZSh0LHApfWVsc2Ugby5wcmljZT1zLmNvb3JkaW5hdGVUb1ByaWNlKHQueSxwKTtpLnBvaW50c1tlXT1vfWkuc3RhdGUuaW50ZXJ2YWw9bi5tYWluU2VyaWVzKCkuaW50ZXJ2YWwoKX1yZXR1cm4gaS5pZD0oMCxsdC5yYW5kb21IYXNoTikoNiksaX19Y2xhc3MgRW8gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHMpe3N1cGVyKHMpLHRoaXMuX25ld1NvdXJjZXNDdXJyZW5jaWVzPW5ldyBNYXAsdGhpcy5fb2xkU291cmNlc0N1cnJlbmNpZXM9bmV3IE1hcCx0aGlzLl9zaG93RmFkZT0hMSx0aGlzLl9jaGFydE1vZGVsPWU7Y29uc3Qgbj1lLm1haW5TZXJpZXMoKTtmb3IoY29uc3QgZSBvZiB0LnByaWNlRGF0YVNvdXJjZXMoKSl7aWYoIWUuaXNWaXNpYmxlKCl8fCFlLmlzQ3VycmVuY3lPcmlnaW4oKS52YWx1ZSgpKWNvbnRpbnVlO2NvbnN0IHQ9aT8/ZS5jdXJyZW5jeU1ldGFkYXRhKCkudmFsdWUoKT8ub3JpZ2luYWxDdXJyZW5jeT8/bnVsbDt0aGlzLl9uZXdTb3VyY2VzQ3VycmVuY2llcy5zZXQoZS5pZCgpLHQpLHRoaXMuX29sZFNvdXJjZXNDdXJyZW5jaWVzLnNldChlLmlkKCksZS5jdXJyZW5jeSgpKSx0aGlzLl9zaG93RmFkZT10aGlzLl9zaG93RmFkZXx8ZT09PW4mJmUuY3VycmVuY3koKSE9PXR9fXJlZG8oKXt0aGlzLl9hcHBseUN1cnJlbmNpZXModGhpcy5fbmV3U291cmNlc0N1cnJlbmNpZXMpfXVuZG8oKXt0aGlzLl9hcHBseUN1cnJlbmNpZXModGhpcy5fb2xkU291cmNlc0N1cnJlbmNpZXMpfV9hcHBseUN1cnJlbmNpZXMoZSl7ZS5mb3JFYWNoKCgoZSx0KT0+eygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodCkpLnNldEN1cnJlbmN5KGUpfSkpLHRoaXMuX2NoYXJ0TW9kZWwuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCl9KSksdGhpcy5fc2hvd0ZhZGUmJnRoaXMuX2NoYXJ0TW9kZWwudW5kb01vZGVsKCkubG9hZGluZ1NjcmVlbigpLnNob3coITApfX1jbGFzcyBSbyBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIocyksdGhpcy5fbmV3U291cmNlc1VuaXRzPW5ldyBNYXAsdGhpcy5fb2xkU291cmNlc1VuaXRzPW5ldyBNYXAsdGhpcy5fc2hvd0ZhZGU9ITEsdGhpcy5fY2hhcnRNb2RlbD1lO2NvbnN0IG49ZS5tYWluU2VyaWVzKCk7Zm9yKGNvbnN0IGUgb2YgdC5wcmljZURhdGFTb3VyY2VzKCkpe2lmKCFlLmlzVmlzaWJsZSgpfHwhZS5pc1VuaXRPcmlnaW4oKS52YWx1ZSgpKWNvbnRpbnVlO2NvbnN0IHQ9aT8/ZS51bml0TWV0YWRhdGEoKS52YWx1ZSgpPy5vcmlnaW5hbFVuaXQ/P251bGw7dGhpcy5fbmV3U291cmNlc1VuaXRzLnNldChlLmlkKCksdCksdGhpcy5fb2xkU291cmNlc1VuaXRzLnNldChlLmlkKCksZS51bml0KCkpLHRoaXMuX3Nob3dGYWRlPXRoaXMuX3Nob3dGYWRlfHxlPT09biYmZS51bml0KCkhPT10fX1yZWRvKCl7dGhpcy5fYXBwbHlVbml0cyh0aGlzLl9uZXdTb3VyY2VzVW5pdHMpfXVuZG8oKXt0aGlzLl9hcHBseVVuaXRzKHRoaXMuX29sZFNvdXJjZXNVbml0cyl9X2FwcGx5VW5pdHMoZSl7ZS5mb3JFYWNoKCgoZSx0KT0+eygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodCkpLnNldFVuaXQoZSl9KSksdGhpcy5fY2hhcnRNb2RlbC5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKX0pKSx0aGlzLl9zaG93RmFkZSYmdGhpcy5fY2hhcnRNb2RlbC51bmRvTW9kZWwoKS5sb2FkaW5nU2NyZWVuKCkuc2hvdyghMCl9fXZhciBWbz1pKDE2MzYwMyk7Y2xhc3MgQm8gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHMsbj0hMSl7c3VwZXIoZSksdGhpcy5fY2hhcnRzPW5ldyBNYXAsdGhpcy5fZmlyc3RSZWRvPSEwLHRoaXMuX2NyZWF0aW9uVGltZT1wZXJmb3JtYW5jZS5ub3coKSx0aGlzLl9saW5raW5nR3JvdXBJbmRleD1zLmxpbmtpbmdHcm91cEluZGV4KCkudmFsdWUoKTtjb25zdCByPW5ldyBNYXAsbz1uZXcgTWFwO2lmKG4pZm9yKGNvbnN0IGUgb2Ygcy5tb2RlbCgpLm1vZGVsKCkuYWxsU3R1ZGllcyghMCkpZS5pZCgpIT09dC5pZCgpJiZlLnN5bWJvbFNvdXJjZSgpPT09dCYmKGUuaXNDdXJyZW5jeU9yaWdpbigpLnZhbHVlKCkmJiFlLmN1cnJlbmN5TWV0YWRhdGEoKS52YWx1ZSgpPy5kb05vdFJlc2V0Q3VycmVuY3lPbkNoYW5naW5nU3ltYm9sU291cmNlU3ltYm9sJiZyLnNldChlLmlkKCksZS5jdXJyZW5jeSgpKSwKZS5pc1VuaXRPcmlnaW4oKS52YWx1ZSgpJiYhZS51bml0TWV0YWRhdGEoKS52YWx1ZSgpPy5kb05vdFJlc2V0VW5pdE9uQ2hhbmdpbmdTeW1ib2xTb3VyY2VTeW1ib2wmJm8uc2V0KGUuaWQoKSxlLnVuaXQoKSkpO3RoaXMuX2NoYXJ0cy5zZXQocyx7c291cmNlSWQ6dC5pZCgpLG5ld1N5bWJvbFBhcmFtczppLHByZXZTeW1ib2xQYXJhbXM6dC5zeW1ib2xQYXJhbXMoKSxzaG93RmFkZTp0aGlzLl9zaG93RmFkZSh0LHMpLGNoYXJ0V2lkZ2V0OnMsY3VycmVuY3lPcmlnaW5Tb3VyY2VzOnIsdW5pdE9yaWdpblNvdXJjZXM6b30pfXJlZG8oKXt0aGlzLl9maXJzdFJlZG98fCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fbGlua2luZ0dyb3VwSW5kZXgsITApLHRoaXMuX2NoYXJ0cy5mb3JFYWNoKChlPT57Y29uc3QgdD10aGlzLl9zeW1ib2xTb3VyY2UoZSkuc2V0U3ltYm9sUGFyYW1zKGUubmV3U3ltYm9sUGFyYW1zKTtmb3IoY29uc3RbdF1vZiBlLmN1cnJlbmN5T3JpZ2luU291cmNlcyl7dGhpcy5fY3VycmVuY3lVbml0T3JpZ2luU291cmNlKGUsdCkuc2V0Q3VycmVuY3kobnVsbCl9Zm9yKGNvbnN0W3Rdb2YgZS51bml0T3JpZ2luU291cmNlcyl7dGhpcy5fY3VycmVuY3lVbml0T3JpZ2luU291cmNlKGUsdCkuc2V0VW5pdChudWxsKX1lLnNob3dGYWRlJiZlLmNoYXJ0V2lkZ2V0LnNjcmVlbi5zaG93KCEwLHQpfSkpLHRoaXMuX2ZpcnN0UmVkb3x8KDAsWi5tdXRlTGlua2luZ0dyb3VwKSh0aGlzLl9saW5raW5nR3JvdXBJbmRleCwhMSksdGhpcy5fZmlyc3RSZWRvPSExfXVuZG8oKXsoMCxaLm11dGVMaW5raW5nR3JvdXApKHRoaXMuX2xpbmtpbmdHcm91cEluZGV4LCEwKSx0aGlzLl9jaGFydHMuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9dGhpcy5fc3ltYm9sU291cmNlKGUpLnNldFN5bWJvbFBhcmFtcyhlLnByZXZTeW1ib2xQYXJhbXMpO2Zvcihjb25zdFt0LGldb2YgZS5jdXJyZW5jeU9yaWdpblNvdXJjZXMpe3RoaXMuX2N1cnJlbmN5VW5pdE9yaWdpblNvdXJjZShlLHQpLnNldEN1cnJlbmN5KGkpfWZvcihjb25zdFt0LGldb2YgZS51bml0T3JpZ2luU291cmNlcyl7dGhpcy5fY3VycmVuY3lVbml0T3JpZ2luU291cmNlKGUsdCkuc2V0VW5pdChpKX1lLnNob3dGYWRlJiZlLmNoYXJ0V2lkZ2V0LnNjcmVlbi5zaG93KCEwLHQpfSkpLCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fbGlua2luZ0dyb3VwSW5kZXgsITEpfWNhbk1lcmdlKGUpe2lmKCEoZSBpbnN0YW5jZW9mIEJvKXx8ZS5fbGlua2luZ0dyb3VwSW5kZXghPT10aGlzLl9saW5raW5nR3JvdXBJbmRleHx8IXRoaXMuX2NvbnRhaW5zTWFpblNlcmllc09ubHkoKXx8IWUuX2NvbnRhaW5zTWFpblNlcmllc09ubHkoKXx8ZS5fY3JlYXRpb25UaW1lLXRoaXMuX2NyZWF0aW9uVGltZT41MDApcmV0dXJuITE7Zm9yKGNvbnN0W3Rdb2YgZS5fY2hhcnRzKWlmKHRoaXMuX2NoYXJ0cy5oYXModCkpcmV0dXJuITE7cmV0dXJuITB9bWVyZ2UoZSl7aWYoZSBpbnN0YW5jZW9mIEJvKWZvcihjb25zdFt0LGldb2YgZS5fY2hhcnRzKXRoaXMuX2NoYXJ0cy5zZXQodCxpKX1fc2hvd0ZhZGUoZSx0KXtyZXR1cm4gZT09PXQubW9kZWwoKS5tYWluU2VyaWVzKCl9X3N5bWJvbFNvdXJjZShlKXtyZXR1cm4oMCxsLmVuc3VyZU5vdE51bGwpKGUuY2hhcnRXaWRnZXQubW9kZWwoKS5tb2RlbCgpLmRhdGFTb3VyY2VGb3JJZChlLnNvdXJjZUlkKSl9X2N1cnJlbmN5VW5pdE9yaWdpblNvdXJjZShlLHQpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkoZS5jaGFydFdpZGdldC5tb2RlbCgpLm1vZGVsKCkuZGF0YVNvdXJjZUZvcklkKHQpKX1fY29udGFpbnNNYWluU2VyaWVzT25seSgpe2Zvcihjb25zdFtlLHRdb2YgdGhpcy5fY2hhcnRzKWlmKHQuc291cmNlSWQhPT1lLm1vZGVsKCkubWFpblNlcmllcygpLmlkKCkpcmV0dXJuITE7cmV0dXJuITB9fWNvbnN0IE5vPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBzeW1ib2wiLHAudChudWxsLHZvaWQgMCxpKDE4NzY5KSkpO2NsYXNzIE9vIGV4dGVuZHMgQm97Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKE5vLGUse3N5bWJvbDp0LGN1cnJlbmN5Om51bGwsdW5pdDpudWxsfSxpLCEwKSx0aGlzLl9zeW1ib2w9dH1jYW5NZXJnZShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIE9vJiZlLl9zeW1ib2w9PT10aGlzLl9zeW1ib2wmJnN1cGVyLmNhbk1lcmdlKGUpfX12YXIgV289aSgyMDM2ODEpO2NvbnN0IEZvPSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuQ2hhcnRVbmRvTW9kZWwiKSxIbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJwYXN0ZSBpbmRpY2F0b3IiLHAudChudWxsLHZvaWQgMCxpKDc2MzMzOSkpKTtjbGFzcyB6byBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKEhvKSx0aGlzLl9zb3VyY2VTdGF0ZT1udWxsLHRoaXMuX2hhc0FscmVhZHlCZWVuVW5kb25lPSExLHRoaXMuX21vZGVsPWUsdGhpcy5fY2xpcGJvYXJkRGF0YT10LHRoaXMuX3BhbmVJZD1pfXJlZG8oKXtpZighdGhpcy5fc291cmNlU3RhdGUpe2NvbnN0IGU9KDAsV28uZGVmYXVsdCkodGhpcy5fY2xpcGJvYXJkRGF0YS5zb3VyY2UpO2UuaWQ9KDAsbHQucmFuZG9tSGFzaE4pKDYpLHRoaXMuX3NvdXJjZVN0YXRlPWV9bGV0IGUsdDtlPXRoaXMuX3BhbmVJZD8oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLnBhbmVGb3JJZCh0aGlzLl9wYW5lSWQpKTp0aGlzLl9zb3VyY2VTdGF0ZS5tZXRhSW5mby5pc19wcmljZV9zdHVkeT8oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLnBhbmVGb3JTb3VyY2UodGhpcy5fbW9kZWwubWFpblNlcmllcygpKSk6dGhpcy5fbW9kZWwuY3JlYXRlUGFuZSgpO2NvbnN0IGk9IWUubWFpbkRhdGFTb3VyY2UoKTt0aGlzLl9zb3VyY2VTdGF0ZS56b3JkZXI9ZS5uZXdTdHVkeVpPcmRlcigpO2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKShlLnJlc3RvcmVTdHVkeSh7c291cmNlOnRoaXMuX3NvdXJjZVN0YXRlfSkpCjtpZihpfHwodD10aGlzLl9zb3VyY2VTdGF0ZS5tZXRhSW5mby5pc19wcmljZV9zdHVkeT90PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCk6dGhpcy5fcGFuZUlkP2UuZmluZFN1aXRhYmxlU2NhbGUocyk6ZS5kZWZhdWx0UHJpY2VTY2FsZSgpLHQhPT1zLnByaWNlU2NhbGUoKSYmZS5tb3ZlKHMsdCkpLCgwLHRpLmlzU3R1ZHkpKHMpfHwoMCx0aS5pc1N0dWR5U3R1Yikocykpe3tjb25zdCBlPXRoaXMuX2hhc0FscmVhZHlCZWVuVW5kb25lPyJyZWRvX3Bhc3RlIjoicGFzdGUiOygwLHdvLnRyYWNrU3R1ZGllcykobmV3IG90LlN0dWR5TWV0YUluZm8odGhpcy5fc291cmNlU3RhdGUubWV0YUluZm8pLHMubW9kZWwoKSwiYWRkIixlKX1zLnN0YXJ0KCl9fXVuZG8oKXtpZihudWxsPT09dGhpcy5fc291cmNlU3RhdGUpcmV0dXJuIHZvaWQgRm8ubG9nRXJyb3IoIlRoaXMgY29tbWFuZCB3YXMgbmV2ZXIgZXhlY3V0ZWQgLSBub3RoaW5nIHRvIHVuZG8iKTtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKHRoaXMuX3NvdXJjZVN0YXRlLmlkKSk7dGhpcy5fbW9kZWwucmVtb3ZlU291cmNlKGUpfXN0YXRlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZVN0YXRlfX1jbGFzcyBVbyBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyxuKXtzdXBlcihudWxsLCExKSx0aGlzLl9tb2RlbD1lLHRoaXMuX3BhbmVBPXQsdGhpcy5fcGFuZUI9aSx0aGlzLl9wcmV2U3RyZXRjaEE9cyx0aGlzLl9jdXJyU3RyZXRjaEE9bn1yZWRvKCl7Y29uc3QgZT10aGlzLl9wYW5lQS5zdHJldGNoRmFjdG9yKCkrdGhpcy5fcGFuZUIuc3RyZXRjaEZhY3RvcigpO3RoaXMuX3BhbmVBLnNldFN0cmV0Y2hGYWN0b3IodGhpcy5fY3VyclN0cmV0Y2hBKSx0aGlzLl9wYW5lQi5zZXRTdHJldGNoRmFjdG9yKGUtdGhpcy5fY3VyclN0cmV0Y2hBKSx0aGlzLl9tb2RlbC5mdWxsVXBkYXRlKCl9dW5kbygpe2NvbnN0IGU9dGhpcy5fcGFuZUEuc3RyZXRjaEZhY3RvcigpK3RoaXMuX3BhbmVCLnN0cmV0Y2hGYWN0b3IoKTt0aGlzLl9wYW5lQS5zZXRTdHJldGNoRmFjdG9yKHRoaXMuX3ByZXZTdHJldGNoQSksdGhpcy5fcGFuZUIuc2V0U3RyZXRjaEZhY3RvcihlLXRoaXMuX3ByZXZTdHJldGNoQSksdGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpfX1jb25zdCBHbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtb3ZlIixwLnQobnVsbCx2b2lkIDAsaSg5NjU3OTApKSk7Y2xhc3Mgam8gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHMpe3N1cGVyKEdvLCExKSx0aGlzLl9lbmRFdmVudD1udWxsLHRoaXMuX21vZGVsPWUsdGhpcy5fc291cmNlSWQ9dC5pZCgpLHRoaXMuX2l0ZW1JbmRleD1pLHRoaXMuX3N0YXJ0RXZlbnQ9c31tb3ZlKGUpe3RoaXMuX2VuZEV2ZW50PWUsdGhpcy5fbW92ZShlKX1oYXNDaGFuZ2VzKCl7cmV0dXJuIG51bGwhPT10aGlzLl9lbmRFdmVudH11bmRvKCl7dGhpcy5fbW92ZSh0aGlzLl9zdGFydEV2ZW50KX1yZWRvKCl7dGhpcy5fbW92ZSgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VuZEV2ZW50KSl9X21vdmUoZSl7Y29uc3QgdD0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZCh0aGlzLl9zb3VyY2VJZCkpOygwLGwuYXNzZXJ0KSh2b2lkIDAhPT10Lm1vdmVJdGVtLCdUaGUgbWV0aG9kICJtb3ZlSXRlbSIgaXMgbm90IGRlZmluZWQnKSx0Lm1vdmVJdGVtJiZ0Lm1vdmVJdGVtKG5ldyBQdC5Qb2ludChlLmxvY2FsWCxlLmxvY2FsWSksdGhpcy5faXRlbUluZGV4LG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKX19dmFyIHFvPWkoMTg1NjA4KTtjbGFzcyAkbyBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIoaSksdGhpcy5fbmV3TW9kZT1lLHRoaXMuX3ByaWNlU2NhbGVJZD10LmlkKCksdGhpcy5fbW9kZWw9cyx0aGlzLl9vbGRNb2RlPXQubW9kZSgpfXJlZG8oKXt0aGlzLl9hcHBseU1vZGUodGhpcy5fbmV3TW9kZSl9dW5kbygpe3RoaXMuX2FwcGx5TW9kZSh0aGlzLl9vbGRNb2RlKX1fYXBwbHlNb2RlKGUpe2NvbnN0IHQ9dGhpcy5fZmluZFByaWNlU2NhbGVCeUlkKCk7bnVsbCE9PXQmJigoMCxHci5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMCksdC5zZXRNb2RlKGUpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSx0aGlzLl9tb2RlbCYmKHRoaXMuX21vZGVsLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKSkpfV9maW5kUHJpY2VTY2FsZUJ5SWQoKXtjb25zdCBlPXRoaXMuX21vZGVsLnBhbmVzKCk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IGk9ZVt0XS5nZXRQcmljZVNjYWxlQnlJZCh0aGlzLl9wcmljZVNjYWxlSWQpO2lmKG51bGwhPT1pKXJldHVybiBpfXJldHVybiBudWxsfX12YXIgWW89aSg1NDc4NTEpLEtvPWkoNTg3MTY4KSxYbz1pKDUwNTU2KSxabz1pKDkzNjMyNiksSm89aSg4MTA0MSksUW89aSg5MzIzNjUpLGVhPWkoMTU2ODI5KSx0YT1pKDIyNjkzNyksaWE9aSg0NTcwODMpLHNhPWkoOTI4MTMyKSxuYT1pKDE0MzgwOCkscmE9aSg4NzIzNDMpO2NvbnN0IG9hPSgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDE5NzI3MikpLnRoZW4oKGU9PmUuU3R1ZHkpKSkpOygwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgiU3R1ZHkiLG9hKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X1Bpdm90UG9pbnRzU3RhbmRhcmQiLCgwLApyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw4NDQ3MjcpKS50aGVuKChlPT5lLnN0dWR5X1Bpdm90UG9pbnRzU3RhbmRhcmQpKSkpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X092ZXJsYXkiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDEyMzI2MCkpLnRoZW4oKGU9PmUuc3R1ZHlfT3ZlcmxheSkpKSwibG9vcCIpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X0NvbXBhcmUiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDg1OTY0OSkpLnRoZW4oKGU9PmUuU3R1ZHlDb21wYXJlKSkpLCJsb29wIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVm9sdW1lIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw3MjAxMjApKS50aGVuKChlPT5lLlZvbHVtZVN0dWR5KSkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9WYlBWaXNpYmxlIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSwyMjcwNTYpKS50aGVuKChlPT5lLlZiUFZpc2libGVXcmFwcGVyKSkpLCJub1JvdGF0aW9ucyIpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X1ZiUEZpeGVkIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSwyMjcwNTYpKS50aGVuKChlPT5lLlZvbHVtZVByb2ZpbGVTdHVkeVdpdGhUaGVtZWRDb2xvcnMpKSksIm5vUm90YXRpb25zIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfU2NyaXB0V2l0aERhdGFPZmZzZXQiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDIyMjkwKSkudGhlbigoZT0+ZS5zdHVkeV9TY3JpcHRXaXRoRGF0YU9mZnNldCkpKSkpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfRWFybmluZ3MiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDkwOTU5MykpLnRoZW4oKGU9PmUuc3R1ZHlfRVNEJFRWX0VBUk5JTkdTKSkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9TcGxpdHMiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDkwOTU5MykpLnRoZW4oKGU9PmUuc3R1ZHlfRVNEJFRWX1NQTElUUykpKSkpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfRGl2aWRlbmRzIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw5MDk1OTMpKS50aGVuKChlPT5lLnN0dWR5X0VTRCRUVl9ESVZJREVORFMpKSkpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X0JhclNldENvbnRpbnVvdXNSb2xsRGF0ZXMiLCgwLApyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSwzNjM2MTgpKS50aGVuKChlPT5lLnN0dWR5X0VTRCRUVl9ST0xMREFURVMpKSkpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkobmEuZnVuZGFtZW50YWxzUHJlZml4LCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDEyNTEzNykpLnRoZW4oKGU9PmUuRnVuZGFtZW50YWwpKSksKGU9PjE9PT1lLnBsb3RzLmxlbmd0aD8ibG9vcCI6Im5vUm90YXRpb25zIiksKChlLHQpPT4oMCxuYS5pc0Z1bmRhbWVudGFsU3R1ZHlNZXRhSW5mbykodCkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9FbGxpb3R0V2F2ZSIsKDAscmEuY3JlYXRlU3R1ZHlJbmZvKSgoKCk9PlByb21pc2UuYWxsKFtpLmUoNDkzMDcpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDMzOCldKS50aGVuKGkuYmluZChpLDU0MTkyNCkpLnRoZW4oKGU9PmUuc3R1ZHlfRWxsaW90dFdhdmUpKSkpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X0xpbmVhclJlZ3Jlc3Npb24iLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDUwMjcyNikpLnRoZW4oKGU9PmUuTGluZWFyUmVncmVzc2lvblN0dWR5KSkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9QaXZvdFBvaW50c0hpZ2hMb3ciLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDQ5MzA3KSxpLmUoOTE5NDQpLGkuZSg5NzU1OCksaS5lKDY2OTg4KSxpLmUoOTcyNzIpLGkuZSgzMjI3MyldKS50aGVuKGkuYmluZChpLDc2ODcwNCkpLnRoZW4oKGU9PmUuc3R1ZHlfUGl2b3RQb2ludHNIaWdoTG93KSkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9WYlBTZXNzaW9ucyIsKDAscmEuY3JlYXRlU3R1ZHlJbmZvKSgoKCk9PlByb21pc2UuYWxsKFtpLmUoMjE3ODQpLGkuZSgzMTAwMSksaS5lKDg2MTc4KSxpLmUoOTE5NDQpLGkuZSg5NzU1OCksaS5lKDY2OTg4KSxpLmUoOTcyNzIpLGkuZSg5MjcwKSxpLmUoODQyNjUpLGkuZSg1MzU1KSxpLmUoMTIyMjcpLGkuZSg1OTY0OSksaS5lKDQ3NTM4KV0pLnRoZW4oaS5iaW5kKGksMjQzNzIzKSkudGhlbigoZT0+ZS5TZXNzaW9uVm9sdW1lU3R1ZHkpKSksIm5vUm90YXRpb25zIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVmJQUGVyaW9kaWMiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDIyNzA1NikpLnRoZW4oKGU9PmUuVm9sdW1lUHJvZmlsZVdpdGhQcmljZVJhbmdlU3R1ZHkpKSksIm5vUm90YXRpb25zIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVmJQU2Vzc2lvbnNSb3VnaERldGFpbGVkIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw4MzMxNzcpKS50aGVuKChlPT5lLlNlc3Npb25Wb2x1bWUyU3R1ZHkpKSksIm5vUm90YXRpb25zIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfWmlnWmFnIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSg0OTMwNyksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoMjkwNzQpXSkudGhlbihpLmJpbmQoaSw0NTk5NDApKS50aGVuKChlPT5lLnN0dWR5X1ppZ1phZykpKSkpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVmJQQXV0b0FuY2hvcmVkIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSwyMjcwNTYpKS50aGVuKChlPT5lLlZvbHVtZVByb2ZpbGVTdHVkeVdpdGhUaGVtZWRDb2xvcnMpKSksIm5vUm90YXRpb25zIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVFBPUGVyaW9kaWMiLCgwLApyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw3MTQxMCkpLnRoZW4oKGU9PmUuVHBvUGVyaW9kaWNTdHVkeSkpKSkpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVFBPU2Vzc2lvbnMiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDMzNDc0MikpLnRoZW4oKGU9PmUuVHBvU2Vzc2lvbnNTdHVkeSkpKSkpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVm9sdW1lRm9vdHByaW50IiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw4NDYyOTMpKS50aGVuKChlPT5lLlZvbHVtZUZvb3RwcmludFN0dWR5KSkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJTdHVkeVN0cmF0ZWd5IiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw4NzQzNjkpKS50aGVuKChlPT5lLlN0dWR5U3RyYXRlZ3kpKSkpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoIlJlcGxheVN0dWR5U3RyYXRlZ3kiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDU0NzU3MikpLnRoZW4oKGU9PmUuUmVwbGF5U3R1ZHlTdHJhdGVneSkpKSkpO2xldCBhYT0wO2FzeW5jIGZ1bmN0aW9uIGxhKGUsdCxpLHMsbixyLG8sYSl7bGV0IGM7Y29uc3QgaD0yPT09bztpZihvdC5TdHVkeU1ldGFJbmZvLmlzUmVwbGF5U3RyYXRlZ3kocykmJihjPSgwLHJhLmdldFN0dWR5SW5mb0J5TmFtZSkoIlJlcGxheVN0dWR5U3RyYXRlZ3kiKSksb3QuU3R1ZHlNZXRhSW5mby5pc1NjcmlwdFN0cmF0ZWd5KHMpJiYoYz0oMCxyYS5nZXRTdHVkeUluZm9CeU5hbWUpKCJTdHVkeVN0cmF0ZWd5IikpLCgwLG5hLmlzRnVuZGFtZW50YWxTdHVkeU1ldGFJbmZvKShzKSYmKGM9KDAscmEuZ2V0U3R1ZHlJbmZvQnlOYW1lKShuYS5mdW5kYW1lbnRhbHNQcmVmaXgpKSwhYyl7Y29uc3QgZT0oMCxuYS5zdHVkeU5hbWVCeU1ldGFJbmZvKShzKTtjPSgwLHJhLmdldFN0dWR5SW5mb0J5TmFtZSkoZT8/IlN0dWR5Iik/P29hfWMuc3R1ZHlDb25zdHJ1Y3Rvcnx8KGFhKz0xLGMuc3R1ZHlDb25zdHJ1Y3Rvcj1hd2FpdCgwLGwuZW5zdXJlRGVmaW5lZCkoYy5zdHVkeUNvbnN0cnVjdG9yQXN5bmNHZXR0ZXIpKCksYWEtPTEpO2NvbnN0IGQ9bmV3KCgwLGwuZW5zdXJlRGVmaW5lZCkoYz8uc3R1ZHlDb25zdHJ1Y3RvcikpKGUsdCxpLHMsbixoLCEhYSk7cmV0dXJuIHZvaWQgMCE9PXImJmQuc2V0SWQociksZH1mdW5jdGlvbiBjYShlLHQpe3JldHVybiBlLmlkPT09dC5pZCYmKHM9dCwoKGk9ZSkucGluZT9pLnBpbmUudmVyc2lvbjp2b2lkIDApPT09KHMucGluZT9zLnBpbmUudmVyc2lvbjp2b2lkIDApKTt2YXIgaSxzfWNvbnN0IGhhPVsiT3ZlcmxheUB0di1iYXNpY3N0dWRpZXMiLCJDb3JyZWxhdGlvbkNvZWZmaWNpZW50QHR2LWJhc2ljc3R1ZGllcyIsIkNvcnJlbGF0aW9uIENvZWZmQHR2LWJhc2ljc3R1ZGllcyIsIlNwcmVhZEB0di1iYXNpY3N0dWRpZXMiLCJSYXRpb0B0di1iYXNpY3N0dWRpZXMiXTtjb25zdCBkYT1bImNvbG9yLXR2LWJsdWUtNDAwIiwiY29sb3ItaWd1YW5hLWdyZWVuLWE3MDAiLCJjb2xvci10YW4tb3JhbmdlLTUwMCIsImNvbG9yLXNreS1ibHVlLTQwMCIsImNvbG9yLWJlcnJ5LXBpbmstYTcwMCIsImNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwIiwiY29sb3ItbWludHktZ3JlZW4tYTQwMCIsImNvbG9yLWJlcnJ5LXBpbmstYTIwMCIsImNvbG9yLXR2LWJsdWUtYTEwMCIsImNvbG9yLWdyYXBlcy1wdXJwbGUtYTcwMCIsImNvbG9yLXJpcGUtcmVkLWE0MDAiLCJjb2xvci1taW50eS1ncmVlbi01MDAiLCJjb2xvci1ncmFwZXMtcHVycGxlLWExMDAiLCJjb2xvci1kZWVwLWJsdWUtYTIwMCIsImNvbG9yLXRhbi1vcmFuZ2UtODAwIl07Y2xhc3MgdWF7Y29uc3RydWN0b3IoZSx0PWRhKXt0aGlzLl91c2VyRGVmYXVsdFVzZWQ9ITEsdGhpcy5fY2FsY0NvbG9yT2Zmc2V0PWUsdGhpcy5fY29sb3JzPXR9Z2V0Q29sb3IoZSx0PSExKXtjb25zdCBpPXRoaXMuX2NhbGNDb2xvck9mZnNldCgpO2lmKDA9PT1pJiYodGhpcy5fdXNlckRlZmF1bHRVc2VkPSExKSwwPT09aSYmIXQpcmV0dXJuIHRoaXMuX3VzZXJEZWZhdWx0VXNlZD0hMCxlO2NvbnN0IHM9dGhpcy5fY29sb3JzWyhpLSh0aGlzLl91c2VyRGVmYXVsdFVzZWQ/MTowKSkldGhpcy5fY29sb3JzLmxlbmd0aF0sbj1Yby5jb2xvcnNQYWxldHRlW3NdLHI9KDAsJGkuaXNIZXhDb2xvcikoZSk/MTooMCx5aS5wYXJzZVJnYmEpKGUpWzNdO3JldHVybigwLCRpLmdlbmVyYXRlQ29sb3IpKG4sKDAsCiRpLmFscGhhVG9UcmFuc3BhcmVuY3kpKHIpKX19Y2xhc3MgcGF7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9jYWxjQ29sb3JPZmZzZXQ9ZSx0aGlzLl9tb2RlbFN0YXJ0T2Zmc2V0PXR9Z2V0Q29sb3IoZSl7Y29uc3QgdD10aGlzLl9jYWxjQ29sb3JPZmZzZXQoKTtpZigoMCwkaS5pc0hleENvbG9yKShlKSl7Y29uc3QgaT0oMCx5aS5wYXJzZVJnYikoZSk7cmV0dXJuKDAseWkucmdiVG9IZXhTdHJpbmcpKCgwLHlpLnNoaWZ0UmdiKShpLHQsdGhpcy5fbW9kZWxTdGFydE9mZnNldCkpfXtjb25zdCBpPSgwLHlpLnBhcnNlUmdiYSkoZSk7cmV0dXJuKDAseWkucmdiYVRvU3RyaW5nKSgoMCx5aS5zaGlmdFJnYmEpKGksdCx0aGlzLl9tb2RlbFN0YXJ0T2Zmc2V0KSl9fX1jbGFzcyBfYXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9yb3RhdG9ycz1uZXcgV2Vha01hcCx0aGlzLl9jYWxjRGVmYXVsdENvbG9yc09mZnNldD1lPT57Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PSgwLG5hLnN0dWR5TmFtZUJ5TWV0YUluZm8pKGUpLGk9KDAscmEuZ2V0U3R1ZHlJbmZvQnlOYW1lKSh0KTtpZihpKXtjb25zdCBlPWkuY29sb3JSb3RhdGlvbkNvbXBhcmF0b3I7aWYodm9pZCAwIT09ZSlyZXR1cm4gZX1yZXR1cm4gY2F9KGUpO3JldHVybiB0aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VzKCkuZmlsdGVyKChpPT4oMCx0aS5pc1N0dWR5KShpKSYmdChlLGkubWV0YUluZm8oKSkpKS5sZW5ndGh9LHRoaXMuX2NoYXJ0TW9kZWw9ZX1nZXRDb2xvclJvdGF0b3IoZSl7aWYodGhpcy5fcm90YXRvcnMuaGFzKGUpKXtjb25zdCB0PXRoaXMuX3JvdGF0b3JzLmdldChlKTtpZih2b2lkIDAhPT10KXJldHVybiB0fWNvbnN0IHQ9dGhpcy5fY3JlYXRlQ29sb3JSb3RhdG9yKGUpO3JldHVybiB0aGlzLl9yb3RhdG9ycy5zZXQoZSx0KSx0fV9jcmVhdGVDb2xvclJvdGF0b3IoZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PSgwLG5hLnN0dWR5TmFtZUJ5TWV0YUluZm8pKGUpLGk9KDAscmEuZ2V0U3R1ZHlJbmZvQnlOYW1lKSh0KTtyZXR1cm4gaT8oMCxzYS5kZWZhdWx0KShpLmNvbG9yUm90YXRpb25Nb2RlKT9pLmNvbG9yUm90YXRpb25Nb2RlKGUpOmkuY29sb3JSb3RhdGlvbk1vZGU6dm9pZCAwPT09ZS5waW5lfHxvdC5TdHVkeU1ldGFJbmZvLmlzU3RhbmRhcmRQaW5lKGUuaWQpPzEhPT1lLnBsb3RzLmxlbmd0aD8ic2hpZnQiOiJsb29wIjpudWxsfShlKSxpPSgpPT50aGlzLl9jYWxjRGVmYXVsdENvbG9yc09mZnNldChlKTtzd2l0Y2godCl7Y2FzZSJsb29wIjpyZXR1cm4gbmV3IHVhKGkpO2Nhc2Uic2hpZnQiOnJldHVybiBuZXcgcGEoaSx0aGlzLl9jaGFydE1vZGVsLmdldFN0dWR5U2hpZnRDb2xvclN0YXJ0T2Zmc2V0KCkpO2Nhc2UgbnVsbDpjYXNlIm5vUm90YXRpb25zIjpyZXR1cm4gbnVsbH19fXZhciBtYSxnYSxmYT1pKDM2Mjc3MyksU2E9aSg2ODE3OTkpOyFmdW5jdGlvbihlKXtlW2UuQm9yZGVyU2l6ZT0xXT0iQm9yZGVyU2l6ZSJ9KG1hfHwobWE9e30pKSxmdW5jdGlvbihlKXtlW2UuQWRkaXRpb25hbElubmVyUGFkZGluZz00XT0iQWRkaXRpb25hbElubmVyUGFkZGluZyIsZVtlLkhvcnpQYWRkaW5nPTRdPSJIb3J6UGFkZGluZyIsZVtlLlZlcnRQYWRkaW5nPTIuNV09IlZlcnRQYWRkaW5nIixlW2UuTGluZVNwYWNpbmc9Ml09IkxpbmVTcGFjaW5nIn0oZ2F8fChnYT17fSkpO2NsYXNzIHZhe2NvbnN0cnVjdG9yKGUpe3RoaXMuX3JlbmRlcmVyT3B0aW9ucz17Ym9yZGVyU2l6ZToxLGFkZGl0aW9uYWxQYWRkaW5nSW5uZXI6MCxmb250U2l6ZTpOYU4sZm9udDoiIixjb2xvcjoiIixwYW5lQmFja2dyb3VuZENvbG9yOiIiLHBhZGRpbmdCb3R0b206MCxwYWRkaW5nSW5uZXI6MCxwYWRkaW5nT3V0ZXI6MCxwYWRkaW5nVG9wOjAsbGluZVNwYWNpbmc6MH0sdGhpcy5fY2hhcnRNb2RlbD1lfW9wdGlvbnMoKXtjb25zdCBlPXRoaXMuX3JlbmRlcmVyT3B0aW9ucyx0PXRoaXMuX2NoYXJ0TW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLGk9dC5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLmZvbnRTaXplLnZhbHVlKCk7cmV0dXJuIGUuZm9udFNpemUhPT1pJiYoZS5mb250U2l6ZT1pLGUuZm9udD0oMCxSaS5tYWtlRm9udCkoaSxXaS5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLCIiKSxlLnBhZGRpbmdUb3A9aS8xMioyLjUsZS5wYWRkaW5nQm90dG9tPWkvMTIqMi41LGUucGFkZGluZ0lubmVyPWkvMTIqNCxlLmFkZGl0aW9uYWxQYWRkaW5nSW5uZXI9aS8xMio0LGUucGFkZGluZ091dGVyPWkvMTIqNCxlLmxpbmVTcGFjaW5nPWkvMTIqMiksZS5jb2xvcj10LnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkudGV4dENvbG9yLnZhbHVlKCksZS5wYW5lQmFja2dyb3VuZENvbG9yPXQucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZC52YWx1ZSgpLHRoaXMuX3JlbmRlcmVyT3B0aW9uc319dmFyIHlhPWkoNzk0ODEyKSxiYT1pKDk2MTgzMSk7Y29uc3Qgd2E9KDAsR3IuZXh0cmFjdFRoZW1lZENvbG9ycykoeHQubGlnaHRUaGVtZS5jb250ZW50LnNlc3Npb25zLHh0LmRhcmtUaGVtZS5jb250ZW50LnNlc3Npb25zKTtjb25zdCBDYT1bImdyYXBoaWNzIiwic2Vzc2lvbkhpZ2hsaWdodC5iYWNrZ3JvdW5kcy5wcmVNYXJrZXQudmlzaWJsZSIsInNlc3Npb25IaWdobGlnaHQuYmFja2dyb3VuZHMucHJlTWFya2V0LmF2YWlsYWJsZSIsInNlc3Npb25IaWdobGlnaHQuYmFja2dyb3VuZHMucG9zdE1hcmtldC52aXNpYmxlIiwic2Vzc2lvbkhpZ2hsaWdodC5iYWNrZ3JvdW5kcy5wb3N0TWFya2V0LmF2YWlsYWJsZSIsInNlc3Npb25IaWdobGlnaHQuYmFja2dyb3VuZHMuZWxlY3Ryb25pYy52aXNpYmxlIiwic2Vzc2lvbkhpZ2hsaWdodC5iYWNrZ3JvdW5kcy5lbGVjdHJvbmljLmF2YWlsYWJsZSIsInNlc3Npb25IaWdobGlnaHQudmVydExpbmVzLnNlc3NCcmVha3MuYXZhaWxhYmxlIl07Y2xhc3MgUGEgZXh0ZW5kcyBHci5EZWZhdWx0UHJvcGVydHl7Y29uc3RydWN0b3IoZSl7c3VwZXIoe2RlZmF1bHROYW1lOiJzZXNzaW9ucyIsdGhlbWVkQ29sb3JzOndhLGV4Y2x1ZGVkRGVmYXVsdHNLZXlzOlsuLi5DYV0sCmV4Y2x1ZGVkU3RhdGVLZXlzOlsuLi5DYV0sZXhjbHVkZWRUZW1wbGF0ZUtleXM6Wy4uLkNhXX0pLHRoaXMuX3N5bWJvbEluZm89ZSx0aGlzLl9zeW1ib2xJbmZvLnN1YnNjcmliZSgoKCk9PnRoaXMuX3VwZGF0ZUdyYXBoaWNzUHJvcHMoKSkpLHRoaXMuaGFzQ2hpbGQoImdyYXBoaWNzIil8fHRoaXMuYWRkUHJvcGVydHkoImdyYXBoaWNzIix7fSksdGhpcy5tZXJnZSh7c2Vzc2lvbkhpZ2hsaWdodDp7dmVydGxpbmVzOntzZXNzQnJlYWtzOnthdmFpbGFibGU6ITB9fSxiYWNrZ3JvdW5kczp7cHJlTWFya2V0Ont2aXNpYmxlOiEwLGF2YWlsYWJsZTohMH0scG9zdE1hcmtldDp7dmlzaWJsZTohMCxhdmFpbGFibGU6ITB9LG5pZ2h0TWFya2V0Ont2aXNpYmxlOiEwLGF2YWlsYWJsZTohMH0sZWxlY3Ryb25pYzp7dmlzaWJsZTohMCxhdmFpbGFibGU6ITB9LG91dE9mU2Vzc2lvbjp7dmlzaWJsZTohMCxhdmFpbGFibGU6ITB9fX19KSx0aGlzLl91cGRhdGVHcmFwaGljc1Byb3BzKCksdGhpcy5jaGlsZHMoKS5zZXNzaW9uSGlnaGxpZ2h0LnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3VwZGF0ZUdyYXBoaWNzUHJvcHMoKX0pKX1kZXN0cm95KCl7dGhpcy5fc3ltYm9sSW5mby5yZWxlYXNlKCksc3VwZXIuZGVzdHJveSgpfXJlc3RvcmVTdGF0ZShlKXtjb25zdCB0PWUucHJvcGVydGllczshZnVuY3Rpb24oZSl7Y29uc3QgdD1lLGk9ImdyYXBoaWNzImluIGU/ZS5ncmFwaGljcy5iYWNrZ3JvdW5kczp2b2lkIDA7aWYodm9pZCAwIT09aSl7Y29uc3QgZT0oMCxsLmVuc3VyZURlZmluZWQpKGkub3V0T2ZTZXNzaW9uKTtlLmNvbG9yPT09YmEuc2Vzc2lvbnNQcmVmZXJlbmNlc0RlZmF1bHQuc2Vzc2lvbkhpZ2hsaWdodC5iYWNrZ3JvdW5kcy5vdXRPZlNlc3Npb24uY29sb3J8fCJwb3N0TWFya2V0ImluIGk/KHQuc2Vzc2lvbkhpZ2hsaWdodD10LnNlc3Npb25IaWdobGlnaHQ/P3t9LHQuc2Vzc2lvbkhpZ2hsaWdodC5iYWNrZ3JvdW5kcz1pKToodC5zZXNzaW9uSGlnaGxpZ2h0PXQuc2Vzc2lvbkhpZ2hsaWdodD8/e30sdC5zZXNzaW9uSGlnaGxpZ2h0LmJhY2tncm91bmRzPXsuLi50LnNlc3Npb25IaWdobGlnaHQ/LmJhY2tncm91bmRzPz97fSxwb3N0TWFya2V0Ontjb2xvcjplLmNvbG9yLHRyYW5zcGFyZW5jeTplLnRyYW5zcGFyZW5jeSx2aXNpYmxlOiEwLGF2YWlsYWJsZTohMH0scHJlTWFya2V0Ontjb2xvcjplLmNvbG9yLHRyYW5zcGFyZW5jeTplLnRyYW5zcGFyZW5jeSx2aXNpYmxlOiEwLGF2YWlsYWJsZTohMH19KX1jb25zdCBzPSJncmFwaGljcyJpbiBlP2UuZ3JhcGhpY3MudmVydGxpbmVzOnZvaWQgMDtzJiYodC5zZXNzaW9uSGlnaGxpZ2h0Pz89e30sdC5zZXNzaW9uSGlnaGxpZ2h0LnZlcnRsaW5lcz1zKSwoMCxHci5jbGVhblVwU3RhdGVLZXlzKSh0LENhKX0odCksImdyYXBoaWNzImluIGUucHJvcGVydGllcyYmKCgwLHIuZGVmYXVsdCkoZS5wcm9wZXJ0aWVzLnNlc3Npb25IaWdobGlnaHQsZS5wcm9wZXJ0aWVzLmdyYXBoaWNzKSxkZWxldGUgZS5wcm9wZXJ0aWVzLmdyYXBoaWNzKSx0aGlzLm1lcmdlQW5kRmlyZSh0KSx0aGlzLnJlbW92ZUR1cGxpY2F0ZVByb3BlcnRpZXMoKX1sb2FkVGhlbWVTdGF0ZShlKXsiZ3JhcGhpY3MiaW4gZSYmKCgwLHIuZGVmYXVsdCkoZS5zZXNzaW9uSGlnaGxpZ2h0LGUuZ3JhcGhpY3MpLGRlbGV0ZSBlLmdyYXBoaWNzKSx0aGlzLm1lcmdlQW5kRmlyZShlKX1yZW1vdmVEdXBsaWNhdGVQcm9wZXJ0aWVzKCl7dGhpcy5oYXNDaGlsZCgicHJvcGVydGllcyIpJiYodGhpcy5yZW1vdmVQcm9wZXJ0eSgicHJvcGVydGllcyIpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLmZpcmVDaGFuZ2VkKCksKDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITEpKX1fdXNlclNldHRpbmdzKCl7Y29uc3QgZT1zdXBlci5fdXNlclNldHRpbmdzKCk7cmV0dXJuIGUmJiFlLnNlc3Npb25IaWdobGlnaHQmJihlLnNlc3Npb25IaWdobGlnaHQ9ZS5ncmFwaGljcyksZGVsZXRlIGU/LmdyYXBoaWNzLGV9X3VwZGF0ZUdyYXBoaWNzUHJvcHMoKXtjb25zdCBlPXRoaXMuX3N5bWJvbEluZm8udmFsdWUoKTtlJiYodGhpcy5jaGlsZHMoKS5ncmFwaGljcy5tZXJnZUFuZEZpcmUodGhpcy5jaGlsZHMoKS5zZXNzaW9uSGlnaGxpZ2h0LnN0YXRlKCkpLGZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5zdWJzZXNzaW9ucz8uZmlsdGVyKChlPT4hZS5wcml2YXRlKSkubWFwKChlPT5lLmlkKSk/P1tdO3JldHVybiJmdXR1cmVzIj09PWUudHlwZSYmdC5pbmNsdWRlcygicmVndWxhciIpJiZ0LmluY2x1ZGVzKCJ1c19yZWd1bGFyIil9KGUpJiYoKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLmNoaWxkcygpLmdyYXBoaWNzLmNoaWxkcygpLmJhY2tncm91bmRzKS5jaGlsZHMoKS5wcmVNYXJrZXQubWVyZ2VBbmRGaXJlKHRoaXMuY2hpbGRzKCkuc2Vzc2lvbkhpZ2hsaWdodC5jaGlsZHMoKS5iYWNrZ3JvdW5kcy5jaGlsZHMoKS5lbGVjdHJvbmljLnN0YXRlKCkpLCgwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS5iYWNrZ3JvdW5kcykuY2hpbGRzKCkucG9zdE1hcmtldC5tZXJnZUFuZEZpcmUodGhpcy5jaGlsZHMoKS5zZXNzaW9uSGlnaGxpZ2h0LmNoaWxkcygpLmJhY2tncm91bmRzLmNoaWxkcygpLmVsZWN0cm9uaWMuc3RhdGUoKSkpKX19Y2xhc3MgVGEgZXh0ZW5kcyB0YS5Bc3luY1Jlc291cmNlV3JhcHBlcntjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSwoZT0+ZS5kZXN0cm95KCkpKSx0aGlzLl9zZXNzaW9uc1N0YXRlRGF0YT1udWxsLHRoaXMuX21vZGVsPXQsdGhpcy5fcHJvcGVydGllcz1pLHQubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVZpc2libGVPZlByZUFuZFBvc3RNYXJrZXRCYWNrZ3JvdW5kKSx0aGlzLl91cGRhdGVWaXNpYmxlT2ZQcmVBbmRQb3N0TWFya2V0QmFja2dyb3VuZCgpLGUudGhlbigoZT0+eyF0aGlzLl9kZXN0cm95ZWQmJnRoaXMuX3Nlc3Npb25zU3RhdGVEYXRhJiYoZS5yZXN0b3JlU3RhdGVEYXRhKHRoaXMuX3Nlc3Npb25zU3RhdGVEYXRhKSwKdGhpcy5fc2Vzc2lvbnNTdGF0ZURhdGE9bnVsbCl9KSl9ZGVzdHJveSgpe3RoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxzdXBlci5kZXN0cm95KCl9cHJvcGVydGllcygpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzfWFwcGx5T3ZlcnJpZGVzKGUpeygwLHlhLmFwcGx5UHJvcGVydGllc092ZXJyaWRlcykodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5zZXNzaW9uSGlnaGxpZ2h0LHZvaWQgMCwhMSxlLCJzZXNzaW9ucyIpO2NvbnN0IHQ9dGhpcy5nZXQoKTt0JiZ0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodCl9c3RhdGUoZSl7Y29uc3QgdD17cHJvcGVydGllczp0aGlzLl9wcm9wZXJ0aWVzLnN0YXRlKCl9O3JldHVybiBlJiYodC5kYXRhPXRoaXMuZ2V0KCk/LnN0YXRlRGF0YSgpPz90aGlzLl9zZXNzaW9uc1N0YXRlRGF0YT8/dm9pZCAwKSx0fXJlc3RvcmVTdGF0ZShlLHQpe2lmKGUub2xkU3RhdGUmJihlPWZ1bmN0aW9uKGUsdCl7Y29uc3QgaT17cHJvcGVydGllczp7Z3JhcGhpY3M6ZS5zdGF0ZS5ncmFwaGljc319O3JldHVybiB2b2lkIDAhPT1lLmRhdGEmJnZvaWQgMCE9PWUubWV0YUluZm8mJnQmJihpLmRhdGE9e21ldGFJbmZvOmUubWV0YUluZm8sZ3JhcGhpY3M6ZS5kYXRhLmdyYXBoaWNzfSksaX0oZSx0KSksdGhpcy5fcHJvcGVydGllcy5yZXN0b3JlU3RhdGUoZSksdGhpcy5fdXBkYXRlVmlzaWJsZU9mUHJlQW5kUG9zdE1hcmtldEJhY2tncm91bmQoKSx0aGlzLl9zZXNzaW9uc1N0YXRlRGF0YT1udWxsLHZvaWQgMCE9PWUuZGF0YSYmdCl7Y29uc3QgdD10aGlzLmdldCgpO3Q/dC5yZXN0b3JlU3RhdGVEYXRhKGUuZGF0YSk6dGhpcy5fc2Vzc2lvbnNTdGF0ZURhdGE9ZS5kYXRhfX1fdXBkYXRlVmlzaWJsZU9mUHJlQW5kUG9zdE1hcmtldEJhY2tncm91bmQoKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk7aWYoZSl7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnNlc3Npb25IaWdobGlnaHQuY2hpbGRzKCkse3ByZU1hcmtldDppLHBvc3RNYXJrZXQ6cyxlbGVjdHJvbmljOm4sb3V0T2ZTZXNzaW9uOnJ9PXQuYmFja2dyb3VuZHMuY2hpbGRzKCkse3Nlc3NCcmVha3M6b309dC52ZXJ0bGluZXMuY2hpbGRzKCksYT1lLnN1YnNlc3Npb25faWQsbD1hJiYoMCxBLmlzUmVndWxhclNlc3Npb25JZCkoYSxlKSxjPSgwLEEuc3ltYm9sSGFzUHJlT3JQb3N0TWFya2V0KShlKSxoPSJmdXR1cmVzIj09PWUudHlwZSYmKDAsQS5zeW1ib2xIYXNFbGVjdHJvbmljU2Vzc2lvbikoZSk7aS5jaGlsZHMoKS5hdmFpbGFibGUuc2V0VmFsdWUoYyYmIWwpLHMuY2hpbGRzKCkuYXZhaWxhYmxlLnNldFZhbHVlKGMmJiFsKSxuLmNoaWxkcygpLmF2YWlsYWJsZS5zZXRWYWx1ZShoJiYhbCksci5jaGlsZHMoKS5hdmFpbGFibGUuc2V0VmFsdWUoKGN8fGgpJiYhbCksby5jaGlsZHMoKS5hdmFpbGFibGUuc2V0VmFsdWUoITApfX19dmFyIHhhPWkoOTI1MjgyKTtjb25zdCBNYT0ic3ltYm9sV2F0ZXJtYXJrIixJYT17dGlja2VyOiExLGludGVydmFsOiExLGRlc2NyaXB0aW9uOiExLGN1c3RvbTohMSxyZXBsYXk6ITAsY29sb3I6IiJ9LExhPSJyZ2JhKDgwLCA4MywgOTQsIDAuMjUpIixBYT1bInJnYmEoODAsIDgzLCA5NCwgMC4yMCkiLCJyZ2JhKDgwLCA4MywgOTQsIDAuMzApIl07ZnVuY3Rpb24ga2EoKXtjb25zdCBlPVEuZ2V0SlNPTihNYSl8fHt9O3JldHVybnsuLi5JYSwuLi5EYShlKX19ZnVuY3Rpb24gRGEoZSl7Y29uc3R7Y29sb3I6dCx2aXNpYmlsaXR5OmksLi4uc309ZSxyPXsuLi5zfTtyZXR1cm4gdm9pZCAwIT09aSYmKHIudGlja2VyPXMudGlja2VyPz9pLHIuaW50ZXJ2YWw9cy5pbnRlcnZhbD8/aSxyLmRlc2NyaXB0aW9uPXMuZGVzY3JpcHRpb24/P2ksci5jdXN0b209cy5jdXN0b20/P2kpLCgwLG4uZGVmYXVsdCkodCkmJnQhPT1MYSYmKHIuY29sb3I9dCkscn1jbGFzcyBFYSBleHRlbmRzIE90LlByb3BlcnR5e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSksdGhpcy5fZGVmYXVsdENvbG9ycz10fXZhbHVlKGUpe2NvbnN0IHQ9c3VwZXIudmFsdWUoKTtyZXR1cm4gdm9pZCAwPT09ZXx8dCYmdC5sZW5ndGg+MD90OnRoaXMuX2dldERlZmF1bHRDb2xvcihlKX1fZ2V0RGVmYXVsdENvbG9yKGUpe2NvbnN0W3QsaV09dGhpcy5fZGVmYXVsdENvbG9ycztyZXR1cm4gZT09PUpvLlN0ZFRoZW1lLkxpZ2h0P3Q6aX19Y29uc3QgUmE9KDAsYnQuZGVmYXVsdCkoKCgpPT57Y29uc3R7Y29sb3I6ZSwuLi50fT1rYSgpLGk9bmV3IE90LlByb3BlcnR5KHsuLi5JYSwuLi50fSwoMCx4YS5jcmVhdGVQcm9wZXJ0eVNjaGVtYSkoSWEpKTtyZXR1cm4gaS5hZGRDaGlsZCgiY29sb3IiLG5ldyBFYShlLEFhKSksUS5vblN5bmMuc3Vic2NyaWJlKG51bGwsKCgpPT5pLm1lcmdlQW5kRmlyZShrYSgpKSkpLGkuc3Vic2NyaWJlKG51bGwsKCgpPT5RLnNldEpTT04oTWEsaS5zdGF0ZSgpKSkpLGl9KSk7dmFyIFZhLEJhPWkoNjYzMDQ2KSxOYT1pKDUyODM5NiksT2E9aSg2MTU2NzMpLFdhPWkoNzc4NDU4KSxGYT1pKDU3MzA1NCk7IWZ1bmN0aW9uKGUpe2VbZS5MaW5lT2Zmc2V0PTRdPSJMaW5lT2Zmc2V0IixlW2UuTGluZVBhZGRpbmc9OF09IkxpbmVQYWRkaW5nIn0oVmF8fChWYT17fSkpO2NsYXNzIEhhIGV4dGVuZHMgRmEuTWVkaWFDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fZGF0YT1udWxsLHRoaXMuX3dpZHRoQ2FjaGU9bmV3IEJpLlRleHRXaWR0aENhY2hlfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoZSl7cmV0dXJuIG51bGx9X2RyYXdJbXBsKGUpe2lmKCF0aGlzLl9kYXRhKXJldHVybjtjb25zdHtsaW5lczp0LGNvbG9yOml9PXRoaXMuX2RhdGEse2NvbnRleHQ6cyxtZWRpYVNpemU6e3dpZHRoOm4saGVpZ2h0OnJ9fT1lO2xldCBvPTA7Y29uc3QgYT1bXSxsPXQuZmlsdGVyKChlPT4hIWUudGV4dCkpLGM9bC5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxjO2UrKyl7CmNvbnN0IHQ9bFtlXSx7Zm9udDppLGxpbmVIZWlnaHQ6cn09emEodCwwPT09ZSxuPFdhLm1vYmlsZUZpcnN0QnJlYWtwb2ludHNbIm1lZGlhLW1mLXRhYmxldC12ZXJ0aWNhbCJdKSx7d2lkdGg6YyxwYWRkaW5nUmlnaHQ6aH09VWEodC5pY29uLDA9PT1lLG48V2EubW9iaWxlRmlyc3RCcmVha3BvaW50c1sibWVkaWEtbWYtdGFibGV0LXZlcnRpY2FsIl0pO3MuZm9udD1pO2NvbnN0IGQ9dGhpcy5fd2lkdGhDYWNoZS5tZWFzdXJlVGV4dChzLHQudGV4dCkrYytoKzE2LHU9ZD5uP24vZDoxO2EucHVzaCh1KSxvKz1yKnUrNH1sZXQgaD1NYXRoLm1heCgoci1vKS8yLDApO3MuZmlsbFN0eWxlPWk7Zm9yKGxldCBlPTA7ZTxjO2UrKyl7Y29uc3QgdD1sW2VdLGk9YVtlXSx7Zm9udDpyLGxpbmVIZWlnaHQ6byx2ZXJ0T2Zmc2V0OmN9PXphKHQsMD09PWUsbjxXYS5tb2JpbGVGaXJzdEJyZWFrcG9pbnRzWyJtZWRpYS1tZi10YWJsZXQtdmVydGljYWwiXSk7dHJ5e3Muc2F2ZSgpLHMuZm9udD1yLHMudGV4dEJhc2VsaW5lPSJ0b3AiLHMudGV4dEFsaWduPSJsZWZ0Ijtjb25zdHtpY29uOmEsdGV4dDpsfT10LHt3aWR0aDpkLHBhZGRpbmdSaWdodDp1LHBhdGg6cH09VWEoYSwwPT09ZSxuPFdhLm1vYmlsZUZpcnN0QnJlYWtwb2ludHNbIm1lZGlhLW1mLXRhYmxldC12ZXJ0aWNhbCJdKSxfPXRoaXMuX3dpZHRoQ2FjaGUubWVhc3VyZVRleHQocyxsKStkK3U7aWYocy50cmFuc2xhdGUoKG4taSpfKS8yLGgpLHMuc2NhbGUoaSxpKSxwKXtjb25zdCBlPXt4OjAseTooby1kKS8yfTt0cnl7cy50cmFuc2xhdGUoZS54LGUueSkscy5maWxsKHAsImV2ZW5vZGQiKX1maW5hbGx5e3MudHJhbnNsYXRlKC1lLngsLWUueSl9fXMudHJhbnNsYXRlKGQrdSwwKSxzLmZpbGxUZXh0KGwsMCxjKSxoKz1vKmkrNH1maW5hbGx5e3MucmVzdG9yZSgpfX19fWZ1bmN0aW9uIHphKGUsdCxpKXtyZXR1cm4iZ2V0Rm9udE1ldHJpY3MiaW4gZT9lLmdldEZvbnRNZXRyaWNzKHQsaSk6ZX1mdW5jdGlvbiBVYShlLHQsaSl7cmV0dXJuIHZvaWQgMD09PWU/R2E6KDAsc2EuZGVmYXVsdCkoZSk/ZSh0LGkpOmV9Y29uc3QgR2E9e3dpZHRoOjAscGFkZGluZ1JpZ2h0OjB9LGphPW5ldyBQYXRoMkQoIk0yOCA1NEM0Mi4zNTk0IDU0IDU0IDQyLjM1OTQgNTQgMjhDNTQgMTMuNjQwNiA0Mi4zNTk0IDIgMjggMkMxMy42NDA2IDIgMiAxMy42NDA2IDIgMjhDMiA0Mi4zNTk0IDEzLjY0MDYgNTQgMjggNTRaTTI2IDE2VjI4VjQwTDE0IDI4TDI2IDE2Wk0yNiAyOEwzOCA0MFYxNkwyNiAyOFoiKSxxYT1qYSwkYT0oMCxEaS5zY2FsZVBhdGgyRCkoamEsLjc4NTcxNDI4NiksWWE9KDAsRGkuc2NhbGVQYXRoMkQpKGphLC41KTtmdW5jdGlvbiBLYShlLHQpe3JldHVybiBlLnZhbHVlKHQpfWZ1bmN0aW9uIFhhKGUpe3JldHVybigwLFJpLm1ha2VGb250KShlLFdpLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpfWNsYXNzIFphe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fcmVuZGVyZXI9bmV3IEhhLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX21vZGVsPWUsdGhpcy5fd2F0ZXJtYXJrPXR9dXBkYXRlKCl7dGhpcy5faW52YWxpZGF0ZWQ9ITB9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX3JlbmRlcmVyfV91cGRhdGVJbXBsKCl7Y29uc3R7dGlja2VyOmUsaW50ZXJ2YWw6dCxkZXNjcmlwdGlvbjpzLGN1c3RvbTpuLHJlcGxheTpyfT10aGlzLl93YXRlcm1hcmsucHJvcGVydGllcygpLnN0YXRlKCksbz10aGlzLl9tb2RlbC5iYWNrZ3JvdW5kVGhlbWUoKS52YWx1ZSgpLGw9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLGM9bC5hbGlhc1N5bWJvbEluZm8oKSxoPXImJmwuaXNJblJlcGxheSgpLnZhbHVlKCksZD1udWxsO2lmKCFjfHwhKGQ/bjplfHx0fHxzfHxoKSlyZXR1cm4gdm9pZCB0aGlzLl9yZW5kZXJlci5zZXREYXRhKG51bGwpO2lmKGQpe2NvbnN0IGU9ZCh7c3ltYm9sSW5mbzpjLGludGVydmFsOmwuaW50ZXJ2YWwoKX0pLHQ9ZT8ubWFwKChlPT4oe3RleHQ6ZS50ZXh0LGZvbnQ6WGEoZS5mb250U2l6ZSksbGluZUhlaWdodDplLmxpbmVIZWlnaHQsdmVydE9mZnNldDplLnZlcnRPZmZzZXR9KSkpO3JldHVybiB2b2lkIHRoaXMuX3JlbmRlcmVyLnNldERhdGEoe2NvbG9yOkthKHRoaXMuX3dhdGVybWFyay5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuY29sb3IsbyksbGluZXM6dD8/W119KX1sZXQgdT1jLm5hbWU7aWYoL1FVQU5ETC8udGVzdChjLmV4Y2hhbmdlKSl7Y29uc3QgZT11LnNwbGl0KC9cLy8pO2UubGVuZ3RoJiYodT1lW2UubGVuZ3RoLTFdKX1jb25zdCBfPXtkZXNjcmlwdGlvbjpjLmRlc2NyaXB0aW9uLHNob3J0X2Rlc2NyaXB0aW9uOmMuc2hvcnRfZGVzY3JpcHRpb24scHJvX25hbWU6Yy5wcm9fbmFtZSxzaG9ydF9uYW1lOmMubmFtZSxsb2NhbF9kZXNjcmlwdGlvbjpjLmxvY2FsX2Rlc2NyaXB0aW9uLGxhbmd1YWdlOmMubGFuZ3VhZ2V9LG09W2U/dTpudWxsLHQ/KDAsT2EudHJhbnNsYXRlZEludGVydmFsU3RyaW5nKShsLmludGVydmFsKCkpOm51bGxdLmZpbHRlcihhLm5vdE51bGwpLGc9W3t0ZXh0OnU/bS5qb2luKCIsICIpOiIifSx7dGV4dDpzJiYoMCxOYS5nZXRUcmFuc2xhdGVkU3ltYm9sRGVzY3JpcHRpb24pKF8pfHwiIn0se3RleHQ6aCYmcC50KG51bGwsdm9pZCAwLGkoODkzMDI4KSl8fCIiLGljb246SmF9XS5maWx0ZXIoKGU9PmUudGV4dC5sZW5ndGg+MCkpLm1hcCgoKHt0ZXh0OmUsaWNvbjp0fSk9Pih7dGV4dDplLGljb246dCxnZXRGb250TWV0cmljczpRYX0pKSk7dGhpcy5fcmVuZGVyZXIuc2V0RGF0YSh7Y29sb3I6S2EodGhpcy5fd2F0ZXJtYXJrLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5jb2xvcixvKSxsaW5lczpnfSl9fWNvbnN0IEphPSgwLEJhLmRlZmF1bHQpKChmdW5jdGlvbihlLHQpe3JldHVybiB0P2U/e3BhdGg6JGEsd2lkdGg6NDQscGFkZGluZ1JpZ2h0OjEyfTp7cGF0aDpZYSx3aWR0aDoyOCxwYWRkaW5nUmlnaHQ6OH06ZT97cGF0aDpxYSx3aWR0aDo1NixwYWRkaW5nUmlnaHQ6MTZ9OntwYXRoOllhLHdpZHRoOjI4LApwYWRkaW5nUmlnaHQ6MTJ9fSksKChlLHQpPT5gJHtlfS0ke3R9YCkpO2NvbnN0IFFhPSgwLEJhLmRlZmF1bHQpKChmdW5jdGlvbihlLHQpe2NvbnN0W2kscyxuXT10bFt0P2U/MjozOmU/MDoxXTtyZXR1cm57Zm9udDpYYShpKSxsaW5lSGVpZ2h0OnMsdmVydE9mZnNldDpufX0pLCgoZSx0KT0+YCR7ZX0tJHt0fS0ke1dpLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCl9YCkpO3ZhciBlbDshZnVuY3Rpb24oZSl7ZVtlLkZpcnN0TGluZT0wXT0iRmlyc3RMaW5lIixlW2UuT3RoZXJMaW5lcz0xXT0iT3RoZXJMaW5lcyIsZVtlLkZpcnN0TGluZU1vYmlsZT0yXT0iRmlyc3RMaW5lTW9iaWxlIixlW2UuT3RoZXJMaW5lc01vYmlsZT0zXT0iT3RoZXJMaW5lc01vYmlsZSJ9KGVsfHwoZWw9e30pKTtjb25zdCB0bD17MDpbODAsODAsNl0sMTpbMzYsNDQsOF0sMjpbNDgsNDgsNF0sMzpbMjgsMzYsNl19LGlsPSJzeW1ib2xXYXRlcm1hcmsiO2NsYXNzIHNsIGV4dGVuZHMgdXIuRGF0YVNvdXJjZXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX3VwZGF0ZVNvdXJjZT0oKT0+e3RoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzKX0sdGhpcy5fbW9kZWw9ZSx0aGlzLl9wcm9wZXJ0aWVzPVJhKCksKDAseWEuYXBwbHlEZWZhdWx0c092ZXJyaWRlcykodGhpcy5fcHJvcGVydGllcyx2b2lkIDAsITEsaWwpLHRoaXMuX3Byb3BlcnRpZXMuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlU291cmNlKSx0aGlzLl9tb2RlbC5iYWNrZ3JvdW5kVGhlbWUoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU291cmNlKSx0aGlzLl9wYW5lVmlldz1uZXcgWmEoZSx0aGlzKX1kZXN0cm95KCl7dGhpcy5fbW9kZWwuYmFja2dyb3VuZFRoZW1lKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU291cmNlKSx0aGlzLl9wcm9wZXJ0aWVzLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlU291cmNlKSxzdXBlci5kZXN0cm95KCl9bW9kZWwoKXtyZXR1cm4gdGhpcy5fbW9kZWx9bmFtZSgpe3JldHVybiJ3YXRlcm1hcmsifXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc31yZXN0b3JlUHJvcGVydGllc0RlZmF1bHRzKCl7UmEoKS5tZXJnZUFuZEZpcmUoSWEpfWFwcGx5T3ZlcnJpZGVzKGUpeygwLHlhLmFwcGx5UHJvcGVydGllc092ZXJyaWRlcykodGhpcy5fcHJvcGVydGllcyx2b2lkIDAsITEsZnVuY3Rpb24oZSl7Y29uc3R7dmlzaWJpbGl0eTp0LC4uLml9PWUscz17Li4uaX07cmV0dXJuIHZvaWQgMCE9PXQmJihzLnRpY2tlcj10LHMuaW50ZXJ2YWw9dCxzLmRlc2NyaXB0aW9uPXQscy5jdXN0b209dCksc30oZSksaWwpfXBhbmVWaWV3cygpe3JldHVyblt0aGlzLl9wYW5lVmlld119dXBkYXRlQWxsVmlld3MoZSl7c3VwZXIudXBkYXRlQWxsVmlld3MoZSksdGhpcy5fcGFuZVZpZXcudXBkYXRlKCl9Y29udGV4dE1lbnVTdGF0TmFtZSgpe3JldHVybiJXYXRlcm1hcmtDb250ZXh0TWVudSJ9fXZhciBubCxybD1pKDEzMTI5NCksb2w9aSg2MzY5MTIpOyFmdW5jdGlvbihlKXtlW2UuU3RlcEZvckNoYW5nZVZhbHVlPS4xXT0iU3RlcEZvckNoYW5nZVZhbHVlIixlW2UuTWluVmFsdWU9MWUtN109Ik1pblZhbHVlIixlW2UuTWF4VmFsdWU9OTk5OTk5OTldPSJNYXhWYWx1ZSJ9KG5sfHwobmw9e30pKTtjbGFzcyBhbCBleHRlbmRzIG9sLlByb3BlcnR5QmFzZXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX21vZGVsPWV9ZGVzdHJveSgpe3RoaXMuX2xpc3RlbmVycy5kZXN0cm95KCl9Z2V0U3RlcENoYW5nZVZhbHVlKCl7cmV0dXJuLjF9Z2V0TWluVmFsdWUoKXtyZXR1cm4gMWUtN31nZXRNYXhWYWx1ZSgpe3JldHVybiA5OTk5OTk5OX12YWx1ZSgpe3JldHVybiB0aGlzLl9tb2RlbC5tYWluU2VyaWVzU2NhbGVSYXRpbygpfXNldFZhbHVlKGUsdCl7KGUhPT10aGlzLnZhbHVlKCl8fHQpJiYodGhpcy5fbW9kZWwuc2V0TWFpblNlcmllc1NjYWxlUmF0aW8oZSksdGhpcy5maXJlQ2hhbmdlZCgpKX1zZXRWYWx1ZVNpbGVudGx5KGUpe2UhPT10aGlzLnZhbHVlKCkmJnRoaXMuX21vZGVsLnNldE1haW5TZXJpZXNTY2FsZVJhdGlvKGUpfXN0YXRlKCl7cmV0dXJuIG51bGx9Y2xvbmUoKXtyZXR1cm4gbmV3IGFsKHRoaXMuX21vZGVsKX1zdG9yZVN0YXRlSWZVbmRlZmluZWQoKXtyZXR1cm4hMH13ZWFrUmVmZXJlbmNlKCl7cmV0dXJuKDAscmwud2Vha1JlZmVyZW5jZSkodGhpcyl9b3duZXJzaGlwKCl7cmV0dXJuKDAscmwub3duZXJzaGlwKSh0aGlzKX19dmFyIGxsPWkoMjc1NzQyKSxjbD1pKDg1NTYyNik7Y2xhc3MgaGx7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9tYXAxPW5ldyBNYXAsdGhpcy5fbWFwMj1uZXcgTWFwLHRoaXMuX2dldHRlcjE9ZSx0aGlzLl9nZXR0ZXIyPXR9YWRkKGUpe2NvbnN0IHQ9dGhpcy5fZ2V0dGVyMShlKSxpPXRoaXMuX2dldHRlcjIoZSk7dGhpcy5fbWFwMS5zZXQodCxlKSx0aGlzLl9tYXAyLnNldChpLHQpfWdldEJ5S2V5MShlKXtyZXR1cm4gdGhpcy5fbWFwMS5nZXQoZSk/P251bGx9Z2V0QnlLZXkyKGUpe2NvbnN0IHQ9dGhpcy5fbWFwMi5nZXQoZSk7cmV0dXJuIHZvaWQgMD09PXQ/bnVsbDp0aGlzLl9tYXAxLmdldCh0KT8/bnVsbH1yZW1vdmVCeUtleTEoZSl7Y29uc3QgdD10aGlzLl9tYXAxLmdldChlKTt2b2lkIDAhPT10JiYodGhpcy5fbWFwMS5kZWxldGUoZSksdGhpcy5fbWFwMi5kZWxldGUodGhpcy5fZ2V0dGVyMih0KSkpfXJlbW92ZUJ5S2V5MihlKXtjb25zdCB0PXRoaXMuX21hcDIuZ2V0KGUpO3ZvaWQgMCE9PXQmJih0aGlzLl9tYXAyLmRlbGV0ZShlKSx0aGlzLl9tYXAxLmRlbGV0ZSh0KSl9fXZhciBkbCx1bD1pKDI1NDgzNSkscGw9aSg3MzY1ODcpLF9sPWkoOTQzMTMwKSxtbD1pKDIyNzk4NCksZ2w9aSg4ODE5MiksZmw9aSgyMjQxODMpO2Z1bmN0aW9uIFNsKGUsdCxpKXtyZXR1cm4gaS5oYXNEYXRhU291cmNlKHQpP2JsKHQsaSk9PT1lOiEhaS5pc01haW5QYW5lKCkudmFsdWUoKSYmYmwoaS5tb2RlbCgpLm1haW5TZXJpZXMoKSxpKT09PWV9IWZ1bmN0aW9uKGUpe2UuVHJhZGluZz0idHJhZGluZyIsZS5EcmF3aW5nPSJkcmF3aW5nIiwKZS5EcmF3aW5nRm9yQWxsU3ltYm9scz0iZHJhd2luZ3NGb3JBbGxTeW1ib2xzIixlLlBoYW50b209InBoYW50b20iLGUuUmVzdFJvd1NvdXJjZXM9InJlc3RSb3dTb3VyY2VzIixlLkxlZ2VuZFZpZXdTb3VyY2VzPSJsZWdlbmRWaWV3U291cmNlcyIsZS5MZWZ0UHJpY2VTY2FsZT0ibGVmdFByaWNlU2NhbGUiLGUuUmlnaHRQcmljZVNjYWxlPSJyaWdodFByaWNlU2NhbGUiLGUuT3ZlcmxheVByaWNlU2NhbGU9Im92ZXJsYXlQcmljZVNjYWxlIixlLk11bHRpcGFuZVNvdXJjZXM9Im11bHRpcGFuZSIsZS5BbGxXaXRob3V0TXVsdGlwYW5lPSJhbGxXaXRob3V0TXVsdGlwYW5lIixlLkFsbFdpdGhvdXRNdWx0aXBhbmVXaXRoSGlkZGVuPSJhbGxXaXRob3V0TXVsdGlwYW5lV2l0aEhpZGRlbiIsZS5QbG90U291cmNlPSJwbG90U291cmNlIixlLk9iamVjdFRyZWU9Im9iamVjdFRyZWUiLGUuSGl0VGVzdD0iaGl0VGVzdCIsZS5HZW5lcmFsPSJnZW5lcmFsIixlLlByaWNlPSJwcmljZSIsZS5FeGNlcHRTcGVjaWFsPSJleGNlcHRTcGVjaWFsIixlLlZpc2libGVFeGNlcHRTcGVjaWFsPSJ2aXNpYmxlRXhjZXB0U3BlY2lhbCIsZS5BbGxTb3J0ZWQ9ImFsbFNvcnRlZCIsZS5WaXNpYmxlU29ydGVkPSJ2aXNpYmxlU29ydGVkIn0oZGx8fChkbD17fSkpO2NvbnN0IHZsPW5ldyBNYXAoW1sicHJpY2UiLGU9PigwLEhzLmlzUHJpY2VEYXRhU291cmNlKShlKV0sWyJ0cmFkaW5nIixlPT4oMCxyaS5pc1RyYWRpbmcpKGUpXSxbImRyYXdpbmciLGU9PigwLHJpLmlzTGluZVRvb2wpKGUpJiYhKDAscmkuaXNUcmFkaW5nKShlKSYmIWUuaXNQaGFudG9tKCldLFsiZHJhd2luZ3NGb3JBbGxTeW1ib2xzIixlPT4oMCxyaS5pc0xpbmVUb29sKShlKSYmISgwLHJpLmlzVHJhZGluZykoZSkmJiFlLmlzUGhhbnRvbSgpXSxbInBoYW50b20iLGU9PigwLHJpLmlzTGluZVRvb2wpKGUpJiZlLmlzUGhhbnRvbSgpXSxbInJlc3RSb3dTb3VyY2VzIixlPT4hKDAscmkuaXNMaW5lVG9vbCkoZSkmJiEoMCxyaS5pc1RyYWRpbmcpKGUpXSxbImxlZ2VuZFZpZXdTb3VyY2VzIiwoZSx0KT0+dC5oYXNEYXRhU291cmNlKGUpJiYoKDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpfHwoMCxnbC5pc1N0dWR5TGluZVRvb2wpKGUpKV0sWyJsZWZ0UHJpY2VTY2FsZSIsU2wuYmluZChudWxsLCJsZWZ0IildLFsicmlnaHRQcmljZVNjYWxlIixTbC5iaW5kKG51bGwsInJpZ2h0IildLFsib3ZlcmxheVByaWNlU2NhbGUiLFNsLmJpbmQobnVsbCwib3ZlcmxheSIpXSxbIm11bHRpcGFuZSIsKGUsdCk9PiF0Lmhhc0RhdGFTb3VyY2UoZSldLFsiYWxsV2l0aG91dE11bHRpcGFuZSIsKGUsdCk9PnQuaGFzRGF0YVNvdXJjZShlKV0sWyJhbGxXaXRob3V0TXVsdGlwYW5lV2l0aEhpZGRlbiIsKGUsdCk9PnQuaGFzRGF0YVNvdXJjZShlKV0sWyJwbG90U291cmNlIiwoZSx0KT0+KDAsZmwuaXNTZXJpZXMpKGUpfHwoMCx0aS5pc1N0dWR5KShlKSYmdC5oYXNEYXRhU291cmNlKGUpJiYhZS5pc1NwZWNpYWxseVpPcmRlcmVkU291cmNlKCldLFsib2JqZWN0VHJlZSIsKGUsdCk9PntpZigoMCxyaS5pc0xpbmVUb29sKShlKSl7Y29uc3QgaT1lLnRhcmdldFNpZ25hdHVyZSgpLnZhbHVlKCk7aWYobnVsbCE9PWkpcmV0dXJuIHQuaGFzRGF0YVNvdXJjZVdpdGhTaWduYXR1cmUoaSl9cmV0dXJuIHQuaGFzRGF0YVNvdXJjZShlKX1dXSkseWw9bmV3IE1hcChbWyJwcmljZSIsInZpc2libGVTb3J0ZWQiXSxbInRyYWRpbmciLCJ2aXNpYmxlU29ydGVkIl0sWyJkcmF3aW5nIiwidmlzaWJsZVNvcnRlZCJdLFsiZHJhd2luZ3NGb3JBbGxTeW1ib2xzIiwiYWxsU29ydGVkIl0sWyJwaGFudG9tIiwidmlzaWJsZVNvcnRlZCJdLFsicmVzdFJvd1NvdXJjZXMiLCJ2aXNpYmxlU29ydGVkIl0sWyJsZWdlbmRWaWV3U291cmNlcyIsInZpc2libGVTb3J0ZWQiXSxbImxlZnRQcmljZVNjYWxlIiwidmlzaWJsZVNvcnRlZCJdLFsicmlnaHRQcmljZVNjYWxlIiwidmlzaWJsZVNvcnRlZCJdLFsib3ZlcmxheVByaWNlU2NhbGUiLCJ2aXNpYmxlU29ydGVkIl0sWyJtdWx0aXBhbmUiLCJ2aXNpYmxlU29ydGVkIl0sWyJhbGxXaXRob3V0TXVsdGlwYW5lIiwidmlzaWJsZVNvcnRlZCJdLFsiYWxsV2l0aG91dE11bHRpcGFuZVdpdGhIaWRkZW4iLCJhbGxTb3J0ZWQiXSxbInBsb3RTb3VyY2UiLCJ2aXNpYmxlU29ydGVkIl0sWyJvYmplY3RUcmVlIiwidmlzaWJsZVNvcnRlZCJdXSk7ZnVuY3Rpb24gYmwoZSx0KXtjb25zdCBpPWUucHJpY2VTY2FsZSgpO3JldHVybiBudWxsPT09aT8ib3ZlcmxheSI6dC5wcmljZVNjYWxlUG9zaXRpb24oaSl9ZnVuY3Rpb24gd2woZSl7bGV0IHQ9bnVsbDtyZXR1cm57c291cmNlczplLGhhc1NvdXJjZTppPT4obnVsbD09PXQmJih0PW5ldyBNYXAoZS5tYXAoKGU9PltlLmlkKCksZV0pKSkpLHQuaGFzKGkuaWQoKSkpfX1jbGFzcyBDbHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9ncm91cGVkU291cmNlcz1uZXcgTWFwLHRoaXMuX3NvdXJjZXM9bnVsbCx0aGlzLl9wYW5lPWV9Y2xlYXIoKXt0aGlzLl9ncm91cGVkU291cmNlcy5jbGVhcigpLHRoaXMuX3NvdXJjZXM9bnVsbH1kZXN0cm95KCl7dGhpcy5jbGVhcigpfWFsbCgpe3JldHVybiB0aGlzLl9ncm91cGVkU291cmNlcy5oYXMoInZpc2libGVTb3J0ZWQiKXx8dGhpcy5fc29ydFNvdXJjZXMoKSwoMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyb3VwZWRTb3VyY2VzLmdldCgidmlzaWJsZVNvcnRlZCIpKS5zb3VyY2VzfWFsbEluY2x1ZGluZ0hpZGRlbigpe3JldHVybiB0aGlzLl9ncm91cGVkU291cmNlcy5oYXMoImFsbFNvcnRlZCIpfHx0aGlzLl9zb3J0U291cmNlcygpLCgwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fZ3JvdXBlZFNvdXJjZXMuZ2V0KCJhbGxTb3J0ZWQiKSkuc291cmNlc31hbGxXaXRob3V0TXVsdGlwYW5lKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgiYWxsV2l0aG91dE11bHRpcGFuZSIpfWFsbFdpdGhvdXRNdWx0aXBhbmVXaXRoSGlkZGVuKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgiYWxsV2l0aG91dE11bHRpcGFuZVdpdGhIaWRkZW4iKX0Kb2JqZWN0VHJlZVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJvYmplY3RUcmVlIil9aGFzT2JqZWN0VHJlZVNvdXJjZShlKXtyZXR1cm4gdGhpcy5fZ2V0R3JvdXBlZFNvdXJjZXNCeUdyb3VwVHlwZSgib2JqZWN0VHJlZSIpLmhhc1NvdXJjZShlKX16T3JkZXJWaXNpYmxlU291cmNlcygpe2lmKCF0aGlzLl9ncm91cGVkU291cmNlcy5oYXMoInZpc2libGVFeGNlcHRTcGVjaWFsIikpe2NvbnN0IGU9dGhpcy5hbGxXaXRob3V0TXVsdGlwYW5lKCkuZmlsdGVyKChlPT4hZS5pc1NwZWNpYWxseVpPcmRlcmVkU291cmNlKCkpKTt0aGlzLl9ncm91cGVkU291cmNlcy5zZXQoInZpc2libGVFeGNlcHRTcGVjaWFsIix3bChlKSl9cmV0dXJuKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9ncm91cGVkU291cmNlcy5nZXQoInZpc2libGVFeGNlcHRTcGVjaWFsIikpLnNvdXJjZXN9YWxsRXhjZXB0U3BlY2lhbFNvdXJjZXMoKXtpZighdGhpcy5fZ3JvdXBlZFNvdXJjZXMuaGFzKCJleGNlcHRTcGVjaWFsIikpe2NvbnN0IGU9dGhpcy5hbGxJbmNsdWRpbmdIaWRkZW4oKS5maWx0ZXIoKGU9PiFlLmlzU3BlY2lhbGx5Wk9yZGVyZWRTb3VyY2UoKSkpLmZpbHRlcigoZT0+dGhpcy5fcGFuZS5oYXNEYXRhU291cmNlKGUpKSk7dGhpcy5fZ3JvdXBlZFNvdXJjZXMuc2V0KCJleGNlcHRTcGVjaWFsIix3bChlKSl9cmV0dXJuKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9ncm91cGVkU291cmNlcy5nZXQoImV4Y2VwdFNwZWNpYWwiKSkuc291cmNlc310cmFkaW5nU291cmNlcygpe3JldHVybiB0aGlzLl9nZXRTb3VyY2VzQnlHcm91cFR5cGUoInRyYWRpbmciKX1wcmljZVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJwcmljZSIpfXBsb3RTb3VyY2VzKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgicGxvdFNvdXJjZSIpfWxpbmVTb3VyY2VzKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgiZHJhd2luZyIpfWhhc0xpbmVTb3VyY2UoZSl7cmV0dXJuIHRoaXMuX2dldEdyb3VwZWRTb3VyY2VzQnlHcm91cFR5cGUoImRyYXdpbmciKS5oYXNTb3VyY2UoZSl9bGluZVNvdXJjZXNGb3JBbGxTeW1ib2xzKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgiZHJhd2luZ3NGb3JBbGxTeW1ib2xzIil9cGhhbnRvbVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJwaGFudG9tIil9YWxsRXhjZXB0TGluZUFuZFRyYWRpbmdTb3VyY2VzKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgicmVzdFJvd1NvdXJjZXMiKX1oaXRUZXN0U291cmNlcygpe2lmKCF0aGlzLl9ncm91cGVkU291cmNlcy5oYXMoImhpdFRlc3QiKSl7Y29uc3QgZT10aGlzLmFsbEV4Y2VwdExpbmVBbmRUcmFkaW5nU291cmNlcygpLmNvbmNhdCh0aGlzLmxpbmVTb3VyY2VzKCkpO3RoaXMuX2dyb3VwZWRTb3VyY2VzLnNldCgiaGl0VGVzdCIsd2woKDAsZHIuc29ydFNvdXJjZXMpKGUsdGhpcy5fcGFuZSkpKX1yZXR1cm4oMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyb3VwZWRTb3VyY2VzLmdldCgiaGl0VGVzdCIpKS5zb3VyY2VzfWdlbmVyYWxTb3VyY2VzKCl7aWYoIXRoaXMuX2dyb3VwZWRTb3VyY2VzLmhhcygiZ2VuZXJhbCIpKXtjb25zdCBlPXRoaXMuYWxsRXhjZXB0TGluZUFuZFRyYWRpbmdTb3VyY2VzKCkuY29uY2F0KHRoaXMubGluZVNvdXJjZXMoKSk7dGhpcy5fZ3JvdXBlZFNvdXJjZXMuc2V0KCJnZW5lcmFsIix3bCgoMCxkci5zb3J0U291cmNlcykoZSx0aGlzLl9wYW5lKSkpfXJldHVybigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fZ3JvdXBlZFNvdXJjZXMuZ2V0KCJnZW5lcmFsIikpLnNvdXJjZXN9bGVmdFByaWNlU2NhbGVzU291cmNlcygpe3JldHVybiB0aGlzLl9nZXRTb3VyY2VzQnlHcm91cFR5cGUoImxlZnRQcmljZVNjYWxlIil9cmlnaHRQcmljZVNjYWxlc1NvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJyaWdodFByaWNlU2NhbGUiKX1vdmVybGF5UHJpY2VTY2FsZVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJvdmVybGF5UHJpY2VTY2FsZSIpfW11bHRpcGFuZVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJtdWx0aXBhbmUiKX1sZWdlbmRWaWV3U291cmNlcygpe3JldHVybiB0aGlzLl9nZXRTb3VyY2VzQnlHcm91cFR5cGUoImxlZ2VuZFZpZXdTb3VyY2VzIil9X2dldFNvdXJjZXNCeUdyb3VwVHlwZShlKXtyZXR1cm4gdGhpcy5fZ2V0R3JvdXBlZFNvdXJjZXNCeUdyb3VwVHlwZShlKS5zb3VyY2VzfV9nZXRHcm91cGVkU291cmNlc0J5R3JvdXBUeXBlKGUpe2NvbnN0IHQ9KDAsbC5lbnN1cmVEZWZpbmVkKSh5bC5nZXQoZSkpO3JldHVybiB0aGlzLl9ncm91cGVkU291cmNlcy5oYXModCk/dGhpcy5fZ3JvdXBlZFNvdXJjZXMuaGFzKGUpfHx0aGlzLl9ncm91cFNvdXJjZXMoZSk6KHRoaXMuX3NvcnRTb3VyY2VzKCksdGhpcy5fZ3JvdXBTb3VyY2VzKGUpKSwoMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyb3VwZWRTb3VyY2VzLmdldChlKSl9X3NvcnRTb3VyY2VzKCl7bnVsbD09PXRoaXMuX3NvdXJjZXMmJih0aGlzLl9zb3VyY2VzPXRoaXMuX3BhbmUuZGF0YVNvdXJjZXMoKSk7Y29uc3QgZT10aGlzLl9wYW5lLm1vZGVsKCkubXVsdGlQYW5lU291cmNlcyh0aGlzLl9wYW5lKSx0PSgwLGRyLnNvcnRTb3VyY2VzKSh0aGlzLl9zb3VyY2VzLmNvbmNhdChlKSx0aGlzLl9wYW5lKSxpPXQuZmlsdGVyKChlPT4hKDAscmkuaXNMaW5lVG9vbCkoZSl8fGUuaXNBY3R1YWxTeW1ib2woKSYmZS5pc0FjdHVhbEN1cnJlbmN5KCkmJmUuaXNBY3R1YWxVbml0KCkmJmUuaXNBY3R1YWxNZXRyaWMoKSkpO3RoaXMuX2dyb3VwZWRTb3VyY2VzLnNldCgiYWxsU29ydGVkIix3bCh0KSksdGhpcy5fZ3JvdXBlZFNvdXJjZXMuc2V0KCJ2aXNpYmxlU29ydGVkIix3bChpKSl9X2dyb3VwU291cmNlcyhlKXtjb25zdCB0PSgwLGwuZW5zdXJlRGVmaW5lZCkoeWwuZ2V0KGUpKSxpPXZsLmdldChlKQo7aWYodm9pZCAwIT09aSl7Y29uc3Qgcz0oMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyb3VwZWRTb3VyY2VzLmdldCh0KSkuc291cmNlcy5maWx0ZXIoKGU9PmkoZSx0aGlzLl9wYW5lKSkpO3RoaXMuX2dyb3VwZWRTb3VyY2VzLnNldChlLHdsKHMpKX19fXZhciBQbD1pKDYzNTUwOSksVGw9aSgxMjM2MTcpLHhsPWkoNzEyNzQ1KTtmdW5jdGlvbiBNbChlLHQsaSl7Y29uc3Qgcz1lLmRpdih0KS50b051bWJlcigpO3JldHVybiBNYXRoLmFicyhNYXRoLnJvdW5kKHMpLXMpPGl9Y29uc3QgSWw9WzIsNV0sTGw9WzUsMl07Y2xhc3MgQWx7Y29uc3RydWN0b3IoZSx0LGkpe2lmKHRoaXMuX2Jhc2U9ZSx0aGlzLl9pbnRlZ3JhbERpdmlkZXJzPXQsKDAsYmkuaXNCYXNlRGVjaW1hbCkoZSkpdGhpcy5fZnJhY3Rpb25hbERpdmlkZXJzPVsyLDIuNSwyXTtlbHNle3RoaXMuX2ZyYWN0aW9uYWxEaXZpZGVycz1bXTtjb25zdCBlPWk/SWw6TGw7Zm9yKGxldCB0PXRoaXMuX2Jhc2U7MSE9PXQ7KXtpZih0JWVbMF09PTApdGhpcy5fZnJhY3Rpb25hbERpdmlkZXJzLnB1c2goZVswXSksdC89ZVswXTtlbHNle2lmKHQlZVsxXSE9MCl0aHJvdyBuZXcgRXJyb3IoInVuZXhwZWN0ZWQgYmFzZSIpO3RoaXMuX2ZyYWN0aW9uYWxEaXZpZGVycy5wdXNoKGVbMV0pLHQvPWVbMV19aWYodGhpcy5fZnJhY3Rpb25hbERpdmlkZXJzLmxlbmd0aD4xMDApdGhyb3cgbmV3IEVycm9yKCJzb21ldGhpbmcgd3Jvbmcgd2l0aCBiYXNlIil9fX10aWNrU3BhbihlLHQsaSl7Y29uc3Qgcz0wPT09dGhpcy5fYmFzZT8wOjEvdGhpcy5fYmFzZSxuPU1hdGgubWluKDFlLTE0LChlLXQpLzFlMyk7bGV0IHI9TWF0aC5wb3coMTAsTWF0aC5tYXgoMCxNYXRoLmNlaWwoKDAsYmkubG9nMTApKGUtdCkpKSk7aWYoIWlzRmluaXRlKHIpKXJldHVybiAxZTMwNTtsZXQgbz0wLGE9dGhpcy5faW50ZWdyYWxEaXZpZGVyc1swXTtmb3IoOzspe2NvbnN0IGU9KDAsYmkuZ3JlYXRlck9yRXF1YWwpKHIscyxuKSYmcj5zK24sdD0oMCxiaS5ncmVhdGVyT3JFcXVhbCkocixpKmEsbiksbD0oMCxiaS5ncmVhdGVyT3JFcXVhbCkociwxLG4pLGM9bmV3IHhsLkJpZyhyKS5kaXYoYSksaD0wPT09c3x8TWwoYyxzLG4pO2lmKCEoZSYmdCYmbCYmaCkpYnJlYWs7cj1jLnRvTnVtYmVyKCksYT10aGlzLl9pbnRlZ3JhbERpdmlkZXJzWysrbyV0aGlzLl9pbnRlZ3JhbERpdmlkZXJzLmxlbmd0aF19aWYocjw9cytuJiYocj1zKSxyPU1hdGgubWF4KDEsciksdGhpcy5fZnJhY3Rpb25hbERpdmlkZXJzLmxlbmd0aD4wJiYoMCxiaS5lcXVhbCkociwxLG4pKWZvcihvPTAsYT10aGlzLl9mcmFjdGlvbmFsRGl2aWRlcnNbMF07Oyl7Y29uc3QgZT0oMCxiaS5ncmVhdGVyT3JFcXVhbCkocixpKmEsbikmJnI+cytuLHQ9bmV3IHhsLkJpZyhyKS5kaXYoYSksbD0wPT09c3x8TWwodCxzLG4pO2lmKCFlfHwhbClicmVhaztyPXQudG9OdW1iZXIoKSxhPXRoaXMuX2ZyYWN0aW9uYWxEaXZpZGVyc1srK28ldGhpcy5fZnJhY3Rpb25hbERpdmlkZXJzLmxlbmd0aF19cmV0dXJuIHJ9fXZhciBrbDshZnVuY3Rpb24oZSl7ZVtlLlN0ZXBzTGltaXQ9MzBdPSJTdGVwc0xpbWl0IixlW2UuSGV1cmlzdGljQWxnb1ZhbHVlc0xlbmd0aExpbWl0PTZdPSJIZXVyaXN0aWNBbGdvVmFsdWVzTGVuZ3RoTGltaXQiLGVbZS5IZXVyaXN0aWNBbGdvUmF0aW9MaW1pdD0yXT0iSGV1cmlzdGljQWxnb1JhdGlvTGltaXQifShrbHx8KGtsPXt9KSk7Y2xhc3MgRGx7Y29uc3RydWN0b3IoZSl7dGhpcy5fYmFzZT0oMCxiaS5pc0Jhc2VEZWNpbWFsKShlKT8xOmV9bmV4dFN0ZXBEaXZpZGVycygpe3JldHVybiAxPT09dGhpcy5fYmFzZT9bWzEwLDVdLFsyXV06KHRoaXMuX2Jhc2U9TWF0aC5yb3VuZCh0aGlzLl9iYXNlLzIpLFtbMl1dKX19ZnVuY3Rpb24gRWwoZSx0KXtyZXR1cm4gZS5sZW5ndGg+a2wuSGV1cmlzdGljQWxnb1ZhbHVlc0xlbmd0aExpbWl0JiYoZS5sZW5ndGgrMSkvdC5sZW5ndGg+PWtsLkhldXJpc3RpY0FsZ29SYXRpb0xpbWl0fWZ1bmN0aW9uIFJsKGUsdCl7Y29uc3QgaT1lLmZpbHRlcigoZT0+dChlLmNhbmRpZGF0ZVZhbHVlcykpKTtyZXR1cm4gaS5sZW5ndGg+MD9pLnJlZHVjZSgoKGUsdCk9PnQuY2FuZGlkYXRlVmFsdWVzLmxlbmd0aD5lLmNhbmRpZGF0ZVZhbHVlcy5sZW5ndGg/dDplKSxpWzBdKTplLmZpbmQoKGU9PmUuY2FuZGlkYXRlVmFsdWVzLmxlbmd0aD4wKSl8fGVbMF19ZnVuY3Rpb24gVmwoZSx0KXtpZihlLmxlbmd0aDw9MSlyZXR1cm5bXTtsZXQgaT1lLm1hcCgoZT0+TWF0aC5yb3VuZChlKnQpKSkscz0xO2NvbnN0IG49bmV3IERsKHQpLHI9RWwuYmluZChudWxsLGUpLG89ZT0+ZS5tYXAoKGU9PmUqcy90KSk7Zm9yKGxldCB0PTA7dDxrbC5TdGVwc0xpbWl0OysrdCl7aWYocihpKSlyZXR1cm4gbyhpKTtjb25zdCB0PW4ubmV4dFN0ZXBEaXZpZGVycygpO2xldCBhPSExO2Zvcihjb25zdCBlIG9mIHQpe2NvbnN0IHQ9UmwoZS5tYXAoKGU9Pih7ZGl2aWRlcjplLGNhbmRpZGF0ZVZhbHVlczppLmZpbHRlcigodD0+TWF0aC5hYnModCklZT09MCkpfSkpKSxyKTtpZih0LmNhbmRpZGF0ZVZhbHVlcy5sZW5ndGg+MCl7aT10LmNhbmRpZGF0ZVZhbHVlcy5tYXAoKGU9PmUvdC5kaXZpZGVyKSkscyo9dC5kaXZpZGVyLGE9ITA7YnJlYWt9fWlmKCFhKXJldHVybiBpLmxlbmd0aD09PWUubGVuZ3RoP1tdOm8oaSl9cmV0dXJuW119Y2xhc3MgQmx7Y29uc3RydWN0b3IoZSx0LGkscyl7dGhpcy5fbWFya3M9bnVsbCx0aGlzLl9wcmljZVNjYWxlPWUsdGhpcy5fYmFzZT10LHRoaXMuX2Nvb3JkaW5hdGVUb0xvZ2ljYWxGdW5jPWksdGhpcy5fbG9naWNhbFRvQ29vcmRpbmF0ZUZ1bmM9c31iYXNlKCl7cmV0dXJuIHRoaXMuX2Jhc2V9c2V0QmFzZShlKXtpZihlPDApdGhyb3cgbmV3IEVycm9yKCJiYXNlIDwgMCIpO3RoaXMuX2Jhc2U9ZX10aWNrU3BhbihlLHQsaT0wKXtpZihlPHQpdGhyb3cgbmV3IEVycm9yKCJoaWdoIDwgbG93IikKO2NvbnN0IHM9dGhpcy5fcHJpY2VTY2FsZS5oZWlnaHQoKSxuPXRoaXMuX3RpY2tNYXJrSGVpZ2h0KCkscj0oZS10KSpuL3Msbz1bbmV3IEFsKHRoaXMuX2Jhc2UsWzIsMi41LDJdLCEwKSxuZXcgQWwodGhpcy5fYmFzZSxbMiwyLDIuNV0sITApLG5ldyBBbCh0aGlzLl9iYXNlLFsyLjUsMiwyXSwhMCksbmV3IEFsKHRoaXMuX2Jhc2UsWzIsMi41LDJdLCExKSxuZXcgQWwodGhpcy5fYmFzZSxbMiwyLDIuNV0sITEpLG5ldyBBbCh0aGlzLl9iYXNlLFsyLjUsMiwyXSwhMSldLnJlZHVjZSgoKHMsbik9Pntjb25zdCBvPW4udGlja1NwYW4oZSx0LHIpO3JldHVybiBvPmk/TWF0aC5taW4obyxzKTpzfSksMS8wKTtyZXR1cm4gbz4wJiZpc0Zpbml0ZShvKT9vOmUtdH1yZWJ1aWxkVGlja01hcmtzKCl7dGhpcy5fbWFya3M9bnVsbH1tYXJrcygpe3JldHVybiBudWxsPT09dGhpcy5fbWFya3MmJih0aGlzLl9tYXJrcz10aGlzLl9yZWJ1aWxkVGlja01hcmtzSW1wbCgpKSx0aGlzLl9tYXJrc31fZm9udEhlaWdodCgpe3JldHVybiB0aGlzLl9wcmljZVNjYWxlLmZvbnRTaXplKCl9X3RpY2tNYXJrSGVpZ2h0KCl7cmV0dXJuIE1hdGguY2VpbCgyLjUqdGhpcy5fZm9udEhlaWdodCgpKX1fcmVidWlsZFRpY2tNYXJrc0ltcGwoKXtjb25zdCBlPXRoaXMuX3ByaWNlU2NhbGUsdD1bXSxpPWUubWFpblNvdXJjZSgpO2lmKGUuaXNFbXB0eSgpfHwhZS5oYXNDYWxjdWxhdGVkUHJpY2VSYW5nZSgpfHxudWxsPT09aSlyZXR1cm4gdDtsZXQgcz1pLmZpcnN0VmFsdWUoKTtudWxsPT09cyYmKHM9MCk7Y29uc3Qgbj1lLmhlaWdodCgpLHI9dGhpcy5fY29vcmRpbmF0ZVRvTG9naWNhbEZ1bmMobi0xLHMpLG89dGhpcy5fY29vcmRpbmF0ZVRvTG9naWNhbEZ1bmMoMCxzKSxhPU1hdGgubWF4KHIsbyksbD1NYXRoLm1pbihyLG8pO2lmKGE9PT1sKXJldHVybiB0O2xldCBjPXRoaXMudGlja1NwYW4oYSxsKSxoPWElYztoKz1oPDA/YzowO2NvbnN0IGQ9YT49bD8xOi0xO2xldCB1PW51bGw7Y29uc3QgcD1lLmZvcm1hdHRlcigpO2xldCBfPU5hTjtjb25zdCBtPVtdO2ZvcihsZXQgdD1hLWg7dD5sO3QtPWMpe3Q9PT1fJiYoYz10aGlzLnRpY2tTcGFuKGEsbCxjKSksXz10O2NvbnN0IGk9dGhpcy5fbG9naWNhbFRvQ29vcmRpbmF0ZUZ1bmModCxzKTtudWxsIT09dSYmTWF0aC5hYnMoaS11KTx0aGlzLl90aWNrTWFya0hlaWdodCgpfHwobS5wdXNoKHtsb2dpY2FsOnQsY29vcmQ6aX0pLHU9aSxlLmlzTG9nKCkmJihjPXRoaXMudGlja1NwYW4odCpkLGwpKSl9Y29uc3QgZz1tLm1hcCgoZT0+ZS5sb2dpY2FsKSksZj10aGlzLl9iYXNlfHxNYXRoLnBvdygxMCwtTWF0aC5jZWlsKE1hdGgubG9nMTAoYykpKSxTPVZsKGcsZiksdj0xLygxMDAqZik7cmV0dXJuIG0ubWFwKChlPT57Y29uc3R7bG9naWNhbDp0LGNvb3JkOml9PWU7cmV0dXJue2Nvb3JkOmksbGFiZWw6cC5mb3JtYXQodCksYm9sZDpTLnNvbWUoKGU9Pk1hdGguYWJzKGUtdCk8dikpfX0pKX19dmFyIE5sPWkoNzU1NjI3KSxPbD1pKDIzMzI0Nyk7KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9wcmljZV9zY2FsZV9pZl9hbGxfc291cmNlc19oaWRkZW4iKTtjb25zdCBXbD0oMCxPbC5nZXRQZXJjZW50YWdlRm9ybWF0dGVyKSgpLEZsPW5ldyBObC5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZToxMDAsbWluTW92ZToxfSksSGw9e2F1dG9TY2FsZTohMCxhdXRvU2NhbGVEaXNhYmxlZDohMSxsb2NrU2NhbGU6ITEscGVyY2VudGFnZTohMSxwZXJjZW50YWdlRGlzYWJsZWQ6ITEsbG9nOiExLGxvZ0Rpc2FibGVkOiExLGFsaWduTGFiZWxzOiEwLGlzSW52ZXJ0ZWQ6ITEsaW5kZXhlZFRvMTAwOiExfTtmdW5jdGlvbiB6bChlKXtyZXR1cm4gZS5pc0N1cnJlbmN5U291cmNlKCkmJmUuaXNDdXJyZW5jeU9yaWdpbigpLnZhbHVlKCl9ZnVuY3Rpb24gVWwoZSl7cmV0dXJuIGUuaXNDdXJyZW5jeVNvdXJjZSgpJiYhZS5pc0N1cnJlbmN5T3JpZ2luKCkudmFsdWUoKX1mdW5jdGlvbiBHbChlKXtyZXR1cm4gZS5pc1VuaXRTb3VyY2UoKSYmZS5pc1VuaXRPcmlnaW4oKS52YWx1ZSgpfWZ1bmN0aW9uIGpsKGUpe3JldHVybiBlLmlzVW5pdFNvdXJjZSgpJiYhZS5pc1VuaXRPcmlnaW4oKS52YWx1ZSgpfWNsYXNzIHFse2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fbWFya3NDYWNoZT1udWxsLHRoaXMuX29uTWFya3NDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMubV9kYXRhU291cmNlcz1bXSx0aGlzLl9zb3VyY2VzRm9yQXV0b3NjYWxlPW51bGwsdGhpcy5fc291cmNlc1RoYXRBZmZlY3RWaXNpYmlsaXR5PVtdLHRoaXMuX2hhc1Nlcmllcz0hMSx0aGlzLl9zdHVkaWVzQ291bnQ9MCx0aGlzLl9kcmF3aW5nQ291bnQ9MCx0aGlzLl9zZXJpZXNMaWtlU291cmNlcz1bXSx0aGlzLl9wcmljZURhdGFTb3VyY2VzPVtdLHRoaXMuX21haW5Tb3VyY2U9bnVsbCx0aGlzLl9sYXN0U291cmNlUmVtb3ZlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zY2FsZVNlcmllc09ubHk9ITEsdGhpcy5faW52YWxpZGF0ZWRGb3JSYW5nZT17aXNWYWxpZDohMCx2aXNpYmxlQmFyczpudWxsLGxvZ2ljYWxSYW5nZTpudWxsfSx0aGlzLl9wcmljZVJhbmdlPW51bGwsdGhpcy5faGFzQ2FsY3VsYXRlZFByaWNlUmFuZ2U9ITEsdGhpcy5fbG9nRm9ybXVsYT0oMCxUbC5sb2dGb3JtdWxhRm9yQmFzZSkobnVsbCksdGhpcy5tX2hlaWdodD0wLHRoaXMuX21hcmdpbnM9e3RvcDowLGJvdHRvbTowfSx0aGlzLl9jb3JyZWN0ZWRNYXJnaW5zQ2FjaGU9bnVsbCx0aGlzLl90b3BQaXhlbE1hcmdpbj0wLHRoaXMuX2JvdHRvbVBpeGVsTWFyZ2luPTAsdGhpcy5faW50ZXJuYWxIZWlnaHRDYWNoZT1udWxsLHRoaXMuX2ludGVybmFsSGVpZ2h0Q2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9wcmljZVJhbmdlU25hcHNob3Q9bnVsbCx0aGlzLl9zY3JvbGxTdGFydFBvaW50PW51bGwsdGhpcy5fY3VycmVuY3lDYWNoZT1udWxsLHRoaXMuX3VuaXRDYWNoZT1udWxsLHRoaXMuX21lYXN1cmVVbml0SWRDYWNoZT1udWxsLHRoaXMuX21ldHJpY0NhY2hlPW51bGwsdGhpcy5fcmVjYWxjdWxhdGVQcmljZVJhbmdlT25jZT0hMSwKdGhpcy5fY2FjaGVkT3JkZXJlZFNvcnVjZXM9bnVsbCx0aGlzLl9zY2FsZVN0YXJ0UG9pbnQ9bnVsbCx0aGlzLl90d29Qb2ludHNTY2FsZVN0YXJ0UG9zaXRpb249bnVsbCx0aGlzLl9tYXhQcmljZVJhbmdlPW51bGwsdGhpcy5fbWluUHJpY2VSYW5nZT1udWxsLHRoaXMuX3ByaWNlUmFuZ2VDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX21vZGVDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3NvdXJjZXNUb1VwZGF0ZVZpZXdzPW51bGwsdGhpcy5fbWFya0J1aWxkZXI9bmV3IEJsKHRoaXMsMTAwLHRoaXMuX2Nvb3JkaW5hdGVUb0xvZ2ljYWwuYmluZCh0aGlzKSx0aGlzLl9sb2dpY2FsVG9Db29yZGluYXRlLmJpbmQodGhpcykpLHRoaXMuX2Zvcm1hdHRlcj1udWxsLHRoaXMuX3Jlc2V0U2NhbGVBdmFpbGFibGU9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9pZD0iIix0aGlzLl9pc1Zpc2libGU9bmV3IGguV2F0Y2hlZFZhbHVlKCEwKSx0aGlzLl9kcm9wU2NhbGVDYWNoZT0oKT0+e3RoaXMuX3NvdXJjZXNGb3JBdXRvc2NhbGU9bnVsbCx0aGlzLl9jdXJyZW5jeUNhY2hlPW51bGwsdGhpcy5fdW5pdENhY2hlPW51bGwsdGhpcy5fbWV0cmljQ2FjaGU9bnVsbCx0aGlzLl9tZWFzdXJlVW5pdElkQ2FjaGU9bnVsbH0sdD1PYmplY3QuYXNzaWduKHt9LEhsLHQpLHRoaXMuX3Byb3BlcnRpZXM9bmV3IE90LlByb3BlcnR5KHQpLHRoaXMuX3NjYWxlc1Byb3BlcnRpZXM9ZSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlzSW52ZXJ0ZWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Jc0ludmVydGVkQ2hhbmdlZCksdGhpcy5fcHJvcGVydGllcy5zdWJzY3JpYmUobnVsbCwoKCk9Pntjb25zdCBlPXRoaXMubWFpblNvdXJjZSgpO2lmKGUmJmUubW9kZWwoKSl7Y29uc3QgdD1lLm1vZGVsKCkucGFuZUZvclNvdXJjZShlKTt0JiZlLm1vZGVsKCkudXBkYXRlUGFuZSh0KX19KSksdGhpcy5fc2NhbGVzUHJvcGVydGllcy5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLl9tYXJrc0NhY2hlPW51bGx9KSksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5sb2NrU2NhbGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5hdXRvU2NhbGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSksdGhpcy5fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSgpLHRoaXMuc2V0SWQoKDAsbHQucmFuZG9tSGFzaCkoKSl9aWQoKXtyZXR1cm4gdGhpcy5faWR9c2V0SWQoZSl7dGhpcy5faWQ9ZX1pc0xvZygpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmxvZy52YWx1ZSgpfWlzUGVyY2VudGFnZSgpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnBlcmNlbnRhZ2UudmFsdWUoKX1pc0ludmVydGVkKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaXNJbnZlcnRlZC52YWx1ZSgpfWlzSW5kZXhlZFRvMTAwKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5kZXhlZFRvMTAwLnZhbHVlKCl9aXNBdXRvU2NhbGUoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5hdXRvU2NhbGUudmFsdWUoKSYmIXRoaXMuaXNMb2NrU2NhbGUoKX1pc0xvY2tTY2FsZSgpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmxvY2tTY2FsZS52YWx1ZSgpfWlzUmVndWxhcigpe3JldHVybiF0aGlzLmlzUGVyY2VudGFnZSgpJiYhdGhpcy5pc0xvZygpJiYhdGhpcy5pc0luZGV4ZWRUbzEwMCgpfWlzU2NhbGVTZXJpZXNPbmx5KCl7cmV0dXJuIHRoaXMuX3NjYWxlU2VyaWVzT25seX1wcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXN9aGVpZ2h0KCl7cmV0dXJuIHRoaXMubV9oZWlnaHR9c2V0SGVpZ2h0KGUpe3RoaXMubV9oZWlnaHQhPT1lJiYodGhpcy5tX2hlaWdodD1lLHRoaXMuX2ludmFsaWRhdGVJbnRlcm5hbEhlaWdodENhY2hlKCksdGhpcy5fbWFya3NDYWNoZT1udWxsKX1pbnRlcm5hbEhlaWdodCgpe2lmKHRoaXMuX2ludGVybmFsSGVpZ2h0Q2FjaGUpcmV0dXJuIHRoaXMuX2ludGVybmFsSGVpZ2h0Q2FjaGU7Y29uc3QgZT10aGlzLmhlaWdodCgpLXRoaXMudG9wUGl4ZWxNYXJnaW4oKS10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCk7cmV0dXJuIHRoaXMuX2ludGVybmFsSGVpZ2h0Q2FjaGU9ZSxlfWZvbnRTaXplKCl7cmV0dXJuIHRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuZm9udFNpemUudmFsdWUoKX1wcmljZVJhbmdlKCl7cmV0dXJuIHRoaXMuX21ha2VTdXJlSXRJc1ZhbGlkKCksdGhpcy5fcHJpY2VSYW5nZX1zZXRQcmljZVJhbmdlKGUsdCxpKXtpZighKGUgaW5zdGFuY2VvZiBQbC5QcmljZVJhbmdlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbmNvcnJlY3QgcHJpY2UgcmFuZ2UiKTtjb25zdCBzPXRoaXMuX3ByaWNlUmFuZ2U7aWYoIXQmJlBsLlByaWNlUmFuZ2UuY29tcGFyZShzLGUpKXJldHVybjtjb25zdCBuPW51bGwhPT10aGlzLl9tYXhQcmljZVJhbmdlJiZ0aGlzLl9tYXhQcmljZVJhbmdlLmNvbnRhaW5zU3RyaWN0bHkoZSkscj1udWxsIT09dGhpcy5fbWluUHJpY2VSYW5nZSYmZS5jb250YWluc1N0cmljdGx5KHRoaXMuX21pblByaWNlUmFuZ2UpO3RoaXMuaXNMb2NrU2NhbGUoKSYmIXQmJihufHxyKXx8KHRoaXMuX21hcmtzQ2FjaGU9bnVsbCx0aGlzLl9wcmljZVJhbmdlPWUsaXx8dGhpcy5fcHJpY2VSYW5nZUNoYW5nZWQuZmlyZShzLGUpLHRoaXMudXBkYXRlQWxsVmlld3MoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSkpfXNldE1pblByaWNlUmFuZ2UoZSl7dGhpcy5fbWluUHJpY2VSYW5nZT1lfXNldE1heFByaWNlUmFuZ2UoZSl7dGhpcy5fbWF4UHJpY2VSYW5nZT1lfXJlY2FsY3VsYXRlUHJpY2VSYW5nZU9uY2UoKXt0aGlzLl9yZWNhbGN1bGF0ZVByaWNlUmFuZ2VPbmNlPSEwfXByaWNlUmFuZ2VTaG91bGRCZVJlY2FsY3VsYXRlZE9uY2UoKXtpZighdGhpcy5fcmVjYWxjdWxhdGVQcmljZVJhbmdlT25jZXx8dGhpcy5pc0xvY2tTY2FsZSgpKXJldHVybiExO2NvbnN0IGU9dGhpcy5tYWluU291cmNlKCkKO3JldHVybiBudWxsIT09ZSYmZS5wcmljZVJhbmdlUmVhZHkoKX1wcmljZVJhbmdlQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9wcmljZVJhbmdlQ2hhbmdlZH1tb2RlKCl7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpO3JldHVybnthdXRvU2NhbGU6ZS5hdXRvU2NhbGUudmFsdWUoKSxsb2NrU2NhbGU6ZS5sb2NrU2NhbGUudmFsdWUoKSxwZXJjZW50YWdlOmUucGVyY2VudGFnZS52YWx1ZSgpLGluZGV4ZWRUbzEwMDplLmluZGV4ZWRUbzEwMC52YWx1ZSgpLGxvZzplLmxvZy52YWx1ZSgpfX1zZXRNb2RlKGUpe2NvbnN0IHQ9e30saT10aGlzLm1vZGUoKSxzPXRoaXMuX3Byb3BlcnRpZXMuc3RhdGUoKTtsZXQgbj1udWxsO3ZvaWQgMCE9PWUuYXV0b1NjYWxlJiZlLmF1dG9TY2FsZSE9PXMuYXV0b1NjYWxlJiYodC5hdXRvU2NhbGU9ZS5hdXRvU2NhbGUsdGhpcy5fc2V0QXV0b1NjYWxlVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlLmF1dG9TY2FsZSkpLHZvaWQgMCE9PWUubG9ja1NjYWxlJiZlLmxvY2tTY2FsZSE9PXMubG9ja1NjYWxlJiYodC5sb2NrU2NhbGU9ZS5sb2NrU2NhbGUsdGhpcy5fc2V0TG9ja1NjYWxlVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlLmxvY2tTY2FsZSkpLHZvaWQgMCE9PWUucGVyY2VudGFnZSYmZS5wZXJjZW50YWdlIT09cy5wZXJjZW50YWdlJiYodC5wZXJjZW50YWdlPWUucGVyY2VudGFnZSx0aGlzLl9zZXRQZXJjZW50YWdlVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlLnBlcmNlbnRhZ2UpLHRoaXMuX2ludmFsaWRhdGVkRm9yUmFuZ2UuaXNWYWxpZD0hMSksdm9pZCAwIT09ZS5pbmRleGVkVG8xMDAmJmUuaW5kZXhlZFRvMTAwIT09cy5pbmRleGVkVG8xMDAmJih0LmluZGV4ZWRUbzEwMD1lLmluZGV4ZWRUbzEwMCx0aGlzLl9zZXRJbmRleGVkVG8xMDBWYWx1ZVdpdGhEZXBlbmRlbnRQcm9wZXJ0aWVzKGUuaW5kZXhlZFRvMTAwKSx0aGlzLl9pbnZhbGlkYXRlZEZvclJhbmdlLmlzVmFsaWQ9ITEpLHZvaWQgMCE9PWUubG9nJiZlLmxvZyE9PXMubG9nJiYodC5sb2c9ZS5sb2csdGhpcy5fc2V0TG9nVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlLmxvZykpO2NvbnN0IHI9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKTtzLmxvZyYmIXIubG9nLnZhbHVlKCkmJih0aGlzLl9jYW5Db252ZXJ0UHJpY2VSYW5nZUZyb21Mb2codGhpcy5fcHJpY2VSYW5nZSk/KG49dGhpcy5fY29udmVydFByaWNlUmFuZ2VGcm9tTG9nKHRoaXMuX3ByaWNlUmFuZ2UpLG51bGwhPT1uJiZ0aGlzLnNldFByaWNlUmFuZ2UobikpOnIuYXV0b1NjYWxlLnNldFZhbHVlKCEwKSksIXMubG9nJiZyLmxvZy52YWx1ZSgpJiYobj10aGlzLl9jb252ZXJ0UHJpY2VSYW5nZVRvTG9nKHRoaXMuX3ByaWNlUmFuZ2UpLG51bGwhPT1uJiZ0aGlzLnNldFByaWNlUmFuZ2UobikpLHMuYXV0b1NjYWxlIT09ci5hdXRvU2NhbGUudmFsdWUoKSYmci5hdXRvU2NhbGUuZmlyZUNoYW5nZWQoKSxzLmF1dG9TY2FsZURpc2FibGVkIT09ci5hdXRvU2NhbGVEaXNhYmxlZC52YWx1ZSgpJiZyLmF1dG9TY2FsZURpc2FibGVkLmZpcmVDaGFuZ2VkKCkscy5sb2NrU2NhbGUhPT1yLmxvY2tTY2FsZS52YWx1ZSgpJiZyLmxvY2tTY2FsZS5maXJlQ2hhbmdlZCgpLHMucGVyY2VudGFnZSE9PXIucGVyY2VudGFnZS52YWx1ZSgpJiYoci5wZXJjZW50YWdlLmZpcmVDaGFuZ2VkKCksdGhpcy51cGRhdGVGb3JtYXR0ZXIoKSkscy5pbmRleGVkVG8xMDAhPT1yLmluZGV4ZWRUbzEwMC52YWx1ZSgpJiYoci5pbmRleGVkVG8xMDAuZmlyZUNoYW5nZWQoKSx0aGlzLnVwZGF0ZUZvcm1hdHRlcigpKSxzLnBlcmNlbnRhZ2VEaXNhYmxlZCE9PXIucGVyY2VudGFnZURpc2FibGVkLnZhbHVlKCkmJnIucGVyY2VudGFnZURpc2FibGVkLmZpcmVDaGFuZ2VkKCkscy5sb2chPT1yLmxvZy52YWx1ZSgpJiZyLmxvZy5maXJlQ2hhbmdlZCgpLHMubG9nRGlzYWJsZWQhPT1yLmxvZ0Rpc2FibGVkLnZhbHVlKCkmJnIubG9nRGlzYWJsZWQuZmlyZUNoYW5nZWQoKSx2b2lkIDA9PT10LmxvZyYmdm9pZCAwPT09dC5wZXJjZW50YWdlJiZ2b2lkIDA9PT10LmxvY2tTY2FsZSYmdm9pZCAwPT09dC5hdXRvU2NhbGUmJnZvaWQgMD09PXQuaW5kZXhlZFRvMTAwfHx0aGlzLl9tb2RlQ2hhbmdlZC5maXJlKGksdGhpcy5tb2RlKCkpfW1vZGVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX21vZGVDaGFuZ2VkfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5fbWFrZVN1cmVJdElzVmFsaWQoKSwwPT09dGhpcy5tX2hlaWdodHx8IXRoaXMuX3ByaWNlUmFuZ2V8fHRoaXMuX3ByaWNlUmFuZ2UuaXNFbXB0eSgpfWhhc0NhbGN1bGF0ZWRQcmljZVJhbmdlKCl7cmV0dXJuIHRoaXMuX2hhc0NhbGN1bGF0ZWRQcmljZVJhbmdlfWNhbkRldGFjaFNvdXJjZShlKXtyZXR1cm4gdGhpcy5tX2RhdGFTb3VyY2VzLnNvbWUoKHQ9PnQhPT1lJiYhc2kodCkmJigwLEhzLmlzUHJpY2VEYXRhU291cmNlKSh0KSYmISgoMCx0aS5pc1N0dWR5KSh0KSYmdC5pc0xpbmtlZFRvU2VyaWVzKCkpKSl9dXBkYXRlQWxsVmlld3MoZSl7Y29uc3QgdD10aGlzLl9nZXRTb3VyY2VzVG9VcGRhdGVWaWV3cygpO2Zvcihjb25zdCBpIG9mIHQpaS51cGRhdGVBbGxWaWV3cyhlKX1sb2dGb3JtdWxhKCl7cmV0dXJuIHRoaXMuX2xvZ0Zvcm11bGF9c3RhdGUoKXtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7cmV0dXJue2lkOnRoaXMuX2lkLG1fcHJpY2VSYW5nZTp0aGlzLmlzQXV0b1NjYWxlKCk/bnVsbDp0aGlzLnByaWNlUmFuZ2UoKT8uc2VyaWFsaXplKCl8fG51bGwsbV9pc0F1dG9TY2FsZTp0aGlzLmlzQXV0b1NjYWxlKCksbV9pc1BlcmNlbnRhZ2U6ZS5wZXJjZW50YWdlLnZhbHVlKCksbV9pc0luZGV4ZWRUbzEwMDplLmluZGV4ZWRUbzEwMC52YWx1ZSgpLG1faXNMb2c6ZS5sb2cudmFsdWUoKSxtX2lzTG9ja1NjYWxlOnRoaXMuaXNMb2NrU2NhbGUoKSxtX2lzSW52ZXJ0ZWQ6dGhpcy5pc0ludmVydGVkKCksbV90b3BNYXJnaW46dGhpcy5fbWFyZ2lucy50b3AsbV9ib3R0b21NYXJnaW46dGhpcy5fbWFyZ2lucy5ib3R0b20sYWxpZ25MYWJlbHM6ZS5hbGlnbkxhYmVscy52YWx1ZSgpLApsb2dGb3JtdWxhOigwLGEuY2xvbmUpKHRoaXMuX2xvZ0Zvcm11bGEpLGhhc0NhbGN1bGF0ZWRQcmljZVJhbmdlOnRoaXMuX2hhc0NhbGN1bGF0ZWRQcmljZVJhbmdlfX1yZXN0b3JlU3RhdGUoZSl7bGV0IHQ9ZS5tX3ByaWNlUmFuZ2U7aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIHN0YXRlIik7aWYodm9pZCAwPT09ZS5tX2lzQXV0b1NjYWxlKXRocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgc3RhdGUiKTt2b2lkIDAhPT1lLmlkJiYodGhpcy5faWQ9ZS5pZCk7Y29uc3QgaT17YXV0b1NjYWxlOmUubV9pc0F1dG9TY2FsZX07dm9pZCAwIT09ZS5tX2lzUGVyY2VudGFnZSYmKGkucGVyY2VudGFnZT1lLm1faXNQZXJjZW50YWdlKSx2b2lkIDAhPT1lLm1faXNJbmRleGVkVG8xMDAmJihpLmluZGV4ZWRUbzEwMD1lLm1faXNJbmRleGVkVG8xMDApLHZvaWQgMCE9PWUubV9pc0xvZyYmKGkubG9nPWUubV9pc0xvZyksdm9pZCAwIT09ZS5tX2lzTG9ja1NjYWxlJiYoaS5sb2NrU2NhbGU9ZS5tX2lzTG9ja1NjYWxlKSx2b2lkIDAhPT1lLm1faXNJbnZlcnRlZCYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pc0ludmVydGVkLnNldFZhbHVlKGUubV9pc0ludmVydGVkKSx0aGlzLnNldE1vZGUoaSksdGhpcy5faGFzQ2FsY3VsYXRlZFByaWNlUmFuZ2U9ZS5oYXNDYWxjdWxhdGVkUHJpY2VSYW5nZT8/bnVsbCE9PXQsdD8odCBpbnN0YW5jZW9mIFBsLlByaWNlUmFuZ2V8fCh0PW5ldyBQbC5QcmljZVJhbmdlKHQpKSx0aGlzLnNldFByaWNlUmFuZ2UodCwhMCkpOnRoaXMuY2xlYXJQcmljZVJhbmdlKCksZS5sb2dGb3JtdWxhJiYodGhpcy5fbG9nRm9ybXVsYT1lLmxvZ0Zvcm11bGEpLHZvaWQgMCE9PWUubV90b3BNYXJnaW4mJih0aGlzLl9tYXJnaW5zLnRvcD1lLm1fdG9wTWFyZ2luKSx2b2lkIDAhPT1lLm1fYm90dG9tTWFyZ2luJiYodGhpcy5fbWFyZ2lucy5ib3R0b209ZS5tX2JvdHRvbU1hcmdpbiksdm9pZCAwIT09ZS5hbGlnbkxhYmVscyYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5hbGlnbkxhYmVscy5zZXRWYWx1ZShlLmFsaWduTGFiZWxzKSx0aGlzLl9tYWluU291cmNlPW51bGwsdGhpcy5fc2NhbGVTZXJpZXNPbmx5PSExfXByaWNlVG9Mb2dpY2FsKGUpe3JldHVybiB0aGlzLmlzTG9nKCkmJmU/KDAsVGwudG9Mb2cpKGUsdGhpcy5fbG9nRm9ybXVsYSk6ZX1sb2dpY2FsVG9QcmljZShlKXtyZXR1cm4gdGhpcy5pc0xvZygpPygwLFRsLmZyb21Mb2cpKGUsdGhpcy5fbG9nRm9ybXVsYSk6ZX1wb3NpdGlvblBlcmNlbnRUb0Nvb3JkaW5hdGUoZSl7cmV0dXJuIHRoaXMuaGVpZ2h0KCkqZX1wcmljZVRvQ29vcmRpbmF0ZShlLHQpe2NvbnN0IGk9dGhpcy5fcHJpY2VUb1BlcmNlbnRPckluZGV4ZWRUbzEwMElmTmVlZGVkKGUsdCk7cmV0dXJuIHRoaXMuX2xvZ2ljYWxUb0Nvb3JkaW5hdGUoaSl9Y29vcmRpbmF0ZVRvUHJpY2UoZSx0KXtsZXQgaT10aGlzLl9jb29yZGluYXRlVG9Mb2dpY2FsKGUpO3JldHVybiB0aGlzLmlzUGVyY2VudGFnZSgpP2k9KDAsVGwuZnJvbVBlcmNlbnQpKGksdCk6dGhpcy5pc0luZGV4ZWRUbzEwMCgpJiYoaT0oMCxUbC5mcm9tSW5kZXhlZFRvMTAwKShpLHQpKSxpfW1haW5Tb3VyY2UoKXtpZihudWxsIT09dGhpcy5fbWFpblNvdXJjZSlyZXR1cm4gdGhpcy5fbWFpblNvdXJjZTtsZXQgZTtmb3IoY29uc3QgdCBvZiB0aGlzLl9wcmljZURhdGFTb3VyY2VzKXtpZigoMCxmbC5pc1NlcmllcykodCkpe2U9dDticmVha31lfHwoZT10KX1yZXR1cm4gdGhpcy5fbWFpblNvdXJjZT1lfHxudWxsLHRoaXMuX2NvcnJlY3RlZE1hcmdpbnNDYWNoZT1udWxsLHRoaXMuX21haW5Tb3VyY2V9cHJpY2VUb0Nvb3JkaW5hdGVGbihlKXt0aGlzLl9tYWtlU3VyZUl0SXNWYWxpZCgpO2NvbnN0IHQ9dGhpcy5ib3R0b21QaXhlbE1hcmdpbigpLGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlUmFuZ2UoKSkscz1pLm1pblZhbHVlKCksbj1pLm1heFZhbHVlKCkscj10aGlzLmludGVybmFsSGVpZ2h0KCktMSxvPXRoaXMuaXNJbnZlcnRlZCgpLGE9ci8obi1zKSxjPXRoaXMubV9oZWlnaHQsaD1lPT57Y29uc3QgaT10K2EqKGUtcyk7cmV0dXJuIG8/aTpjLTEtaX07cmV0dXJuIHRoaXMuaXNQZXJjZW50YWdlKCk/dD0+aCgoMCxUbC50b1BlcmNlbnQpKHQsZSkpOnRoaXMuaXNJbmRleGVkVG8xMDAoKT90PT5oKCgwLFRsLnRvSW5kZXhlZFRvMTAwKSh0LGUpKTp0aGlzLmlzTG9nKCk/ZT0+aCgoMCxUbC50b0xvZykoZSx0aGlzLl9sb2dGb3JtdWxhKSk6ZT0+aChlKX1wcmljZXNBcnJheVRvQ29vcmRpbmF0ZXMoZSx0LGkpe3RoaXMuX21ha2VTdXJlSXRJc1ZhbGlkKCk7Y29uc3Qgcz10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCksbj0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucHJpY2VSYW5nZSgpKSxyPW4ubWluVmFsdWUoKSxvPW4ubWF4VmFsdWUoKSxhPXRoaXMuaW50ZXJuYWxIZWlnaHQoKS0xLGM9dGhpcy5pc0ludmVydGVkKCksaD1hLyhvLXIpO3ZvaWQgMD09PWkmJihpPWUubGVuZ3RoKTtjb25zdCBkPXRoaXMuaXNQZXJjZW50YWdlKCksdT10aGlzLmlzSW5kZXhlZFRvMTAwKCkscD10aGlzLmlzTG9nKCksXz10aGlzLm1faGVpZ2h0O2xldCBtLGc7Zm9yKGxldCBuPTA7bjxpO24rKyltPWVbbl0sTnVtYmVyLmlzRmluaXRlKG0pJiYoZD9tPSgwLFRsLnRvUGVyY2VudCkobSx0KTp1P209KDAsVGwudG9JbmRleGVkVG8xMDApKG0sdCk6cCYmKG09KDAsVGwudG9Mb2cpKG0sdGhpcy5fbG9nRm9ybXVsYSkpLGc9cytoKihtLXIpLGVbbl09Yz9nOl8tMS1nKX1maWxsWUNvb3JkaW5hdGVzKGUsdCxpKXt0aGlzLl9tYWtlU3VyZUl0SXNWYWxpZCgpO2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlUmFuZ2UoKSksbj10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCkscj1zLm1pblZhbHVlKCksbz1zLm1heFZhbHVlKCksYT10aGlzLmludGVybmFsSGVpZ2h0KCktMSxjPXRoaXMuaXNJbnZlcnRlZCgpLGg9YS8oby1yKSxkPWk/LnN0YXJ0SXRlbUluZGV4Pz8wLHU9aT8uZW5kSXRlbUluZGV4Pz9lLmxlbmd0aAo7aWYodGhpcy5pc1BlcmNlbnRhZ2UoKSlmb3IobGV0IGk9ZDtpPHU7aSsrKWVbaV0ueT0oMCxUbC50b1BlcmNlbnQpKGVbaV0ucHJpY2UsdCk7ZWxzZSBpZih0aGlzLmlzSW5kZXhlZFRvMTAwKCkpZm9yKGxldCBpPWQ7aTx1O2krKyllW2ldLnk9KDAsVGwudG9JbmRleGVkVG8xMDApKGVbaV0ucHJpY2UsdCk7ZWxzZSBpZih0aGlzLmlzTG9nKCkpZm9yKGxldCB0PWQ7dDx1O3QrKyllW3RdLnk9dGhpcy5wcmljZVRvTG9naWNhbChlW3RdLnByaWNlKTtlbHNlIGZvcihsZXQgdD1kO3Q8dTt0KyspZVt0XS55PWVbdF0ucHJpY2U7Zm9yKGxldCB0PWQ7dDx1O3QrKyl7Y29uc3QgaT1lW3RdLnk7aWYoaXNOYU4oaSl8fG51bGw9PWkpY29udGludWU7Y29uc3Qgcz1uK2gqKGktcik7ZVt0XS55PWM/czp0aGlzLm1faGVpZ2h0LTEtc319YmFyUHJpY2VzVG9Db29yZGluYXRlcyhlLHQpe3RoaXMuX21ha2VTdXJlSXRJc1ZhbGlkKCk7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucHJpY2VSYW5nZSgpKSxzPWUsbj10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCkscj1pLm1pblZhbHVlKCksbz1pLm1heFZhbHVlKCksYT10aGlzLmludGVybmFsSGVpZ2h0KCktMTtsZXQgYz1udWxsO2lmKHRoaXMuaXNQZXJjZW50YWdlKCk/Yz1UbC50b1BlcmNlbnQ6dGhpcy5pc0luZGV4ZWRUbzEwMCgpP2M9VGwudG9JbmRleGVkVG8xMDA6dGhpcy5pc0xvZygpJiYoYz0oZSx0KT0+ZT8oMCxUbC50b0xvZykoZSx0aGlzLl9sb2dGb3JtdWxhKTplKSwwPT09cy5sZW5ndGgpcmV0dXJuO2NvbnN0IGg9Im9wZW4iaW4gc1swXSxkPSJjbG9zZSJpbiBzWzBdO2lmKG51bGwhPT1jKWZvcihsZXQgZT0wO2U8cy5sZW5ndGg7ZSsrKXtpZighc1tlXSljb250aW51ZTtjb25zdCBpPXNbZV07aCYmKGkub3Blbj1jKGkub3Blbix0KSksaS5oaWdoPWMoaS5oaWdoLHQpLGkubG93PWMoaS5sb3csdCksZCYmKGkuY2xvc2U9YyhpLmNsb3NlLHQpKSx2b2lkIDAhPT1pLmFkZGl0aW9uYWxQcmljZSYmKGkuYWRkaXRpb25hbFByaWNlPWMoaS5hZGRpdGlvbmFsUHJpY2UsdCkpfWNvbnN0IHU9YS8oby1yKSxwPXRoaXMuaXNJbnZlcnRlZCgpO2ZvcihsZXQgZT0wO2U8cy5sZW5ndGg7ZSsrKXtjb25zdCB0PXNbZV07aWYoIXQpY29udGludWU7aWYoaCl7Y29uc3QgZT1uK3UqKHQub3Blbi1yKSxpPXA/ZTp0aGlzLm1faGVpZ2h0LTEtZTt0Lm9wZW49aX1jb25zdCBpPW4rdSoodC5oaWdoLXIpLG89cD9pOnRoaXMubV9oZWlnaHQtMS1pO3QuaGlnaD1vO2NvbnN0IGE9bit1Kih0Lmxvdy1yKSxsPXA/YTp0aGlzLm1faGVpZ2h0LTEtYTtpZih0Lmxvdz1sLGQpe2NvbnN0IGU9bit1Kih0LmNsb3NlLXIpLGk9cD9lOnRoaXMubV9oZWlnaHQtMS1lO3QuY2xvc2U9aX1pZih2b2lkIDAhPT10LmFkZGl0aW9uYWxQcmljZSl7Y29uc3QgZT1uK3UqKHQuYWRkaXRpb25hbFByaWNlLXIpO3QuYWRkaXRpb25hbFByaWNlPXA/ZTp0aGlzLm1faGVpZ2h0LTEtZX19fWZvcm1hdHRlcigpe3JldHVybiBudWxsPT09dGhpcy5fZm9ybWF0dGVyJiZ0aGlzLnVwZGF0ZUZvcm1hdHRlcigpLCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fZm9ybWF0dGVyKX11cGRhdGVGb3JtYXR0ZXIoKXt0aGlzLl9tYXJrc0NhY2hlPW51bGw7Y29uc3QgZT10aGlzLm1haW5Tb3VyY2UoKTtsZXQgdD0xMDA7ZSYmKHQ9ZS5iYXNlKCkpLHRoaXMuX2Zvcm1hdHRlcj1udWxsLHRoaXMuaXNQZXJjZW50YWdlKCk/KHRoaXMuX2Zvcm1hdHRlcj1XbCx0PTEwMCk6dGhpcy5pc0luZGV4ZWRUbzEwMCgpPyh0aGlzLl9mb3JtYXR0ZXI9RmwsdD0xMDApOnRoaXMuX2Zvcm1hdHRlcj1lP2UuZm9ybWF0dGVyKCk6RmwsdGhpcy5fbWFya0J1aWxkZXI9bmV3IEJsKHRoaXMsdCx0aGlzLl9jb29yZGluYXRlVG9Mb2dpY2FsLmJpbmQodGhpcyksdGhpcy5fbG9naWNhbFRvQ29vcmRpbmF0ZS5iaW5kKHRoaXMpKSx0aGlzLl9tYXJrQnVpbGRlci5yZWJ1aWxkVGlja01hcmtzKCl9Zm9ybWF0UHJpY2UoZSx0LGkpe3JldHVybiB0aGlzLmlzUGVyY2VudGFnZSgpP3RoaXMuZm9ybWF0UHJpY2VQZXJjZW50YWdlKGUsdCxpKTp0aGlzLmlzSW5kZXhlZFRvMTAwKCk/dGhpcy5mb3JtYXRQcmljZUluZGV4ZWRUbzEwMChlLHQsaSk6dGhpcy5mb3JtYXR0ZXIoKS5mb3JtYXQoZSxpKX1mb3JtYXRQcmljZUFic29sdXRlKGUsdCl7cmV0dXJuIHRoaXMuX21haW5Tb3VyY2VGb3JtYXR0ZXIoKS5mb3JtYXQoZSx0KX1mb3JtYXRQcmljZVBlcmNlbnRhZ2UoZSx0LGkpe3JldHVybiBlPSgwLFRsLnRvUGVyY2VudCkoZSx0KSxXbC5mb3JtYXQoZSxpKX1mb3JtYXRQcmljZUluZGV4ZWRUbzEwMChlLHQsaSl7Y29uc3Qgcz0oMCxUbC50b0luZGV4ZWRUbzEwMCkoZSx0KTtyZXR1cm4gdGhpcy5mb3JtYXR0ZXIoKS5mb3JtYXQocyxpKX1nZXRGb3JtYXR0ZWRWYWx1ZXMoZSx0LGkscyl7cz8/PXRoaXMuZm9ybWF0UHJpY2VBYnNvbHV0ZShlKTtjb25zdCBuPXRoaXMuZm9ybWF0UHJpY2VQZXJjZW50YWdlKGUsdCx7c2lnblBvc2l0aXZlOml9KSxyPXRoaXMuZm9ybWF0UHJpY2VJbmRleGVkVG8xMDAoZSx0KTtyZXR1cm57Zm9ybWF0dGVkUHJpY2VBYnNvbHV0ZTpzLGZvcm1hdHRlZFByaWNlUGVyY2VudGFnZTpuLGZvcm1hdHRlZFByaWNlSW5kZXhlZFRvMTAwOnIsdGV4dDooMCxUbC5nZXRDdXJyZW50TW9kZVByaWNlVGV4dCkodGhpcyx7Zm9ybWF0dGVkUHJpY2VBYnNvbHV0ZTpzLGZvcm1hdHRlZFByaWNlUGVyY2VudGFnZTpuLGZvcm1hdHRlZFByaWNlSW5kZXhlZFRvMTAwOnJ9KX19cmVzZXRTY2FsZSgpe3RoaXMuc2V0TW9kZSh7YXV0b1NjYWxlOiEwfSl9cmVzZXRTY2FsZUF2YWlsYWJsZSgpe3JldHVybiB0aGlzLl9yZXNldFNjYWxlQXZhaWxhYmxlLnJlYWRvbmx5KCl9ZGF0YVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5tX2RhdGFTb3VyY2VzfXByaWNlRGF0YVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fcHJpY2VEYXRhU291cmNlc31zZXJpZXNMaWtlU291cmNlcygpe3JldHVybiB0aGlzLl9zZXJpZXNMaWtlU291cmNlc31hZGREYXRhU291cmNlKGUsdCl7dGhpcy5fYWRkRGF0YVNvdXJjZUltcGwoZSx0KX1yZW1vdmVEYXRhU291cmNlKGUpewpjb25zdCB0PXRoaXMubV9kYXRhU291cmNlcy5pbmRleE9mKGUpO2lmKCgwLGwuYXNzZXJ0KSgtMSE9PXQsIlNvdXJjZSBpcyBub3QgYXR0YWNoZWQgdG8gc2NhbGUiKSx0aGlzLm1fZGF0YVNvdXJjZXMuc3BsaWNlKHQsMSksKDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpKXtjb25zdCB0PXRoaXMuX3ByaWNlRGF0YVNvdXJjZXMuaW5kZXhPZihlKTtpZigoMCxsLmFzc2VydCkoLTEhPT10LCJTb3VyY2UgaXMgbm90IGZvdW5kIiksdGhpcy5fcHJpY2VEYXRhU291cmNlcy5zcGxpY2UodCwxKSxlLmN1cnJlbmN5T3JpZ2luU291cmNlKCkudW5zdWJzY3JpYmUodGhpcy5fZHJvcFNjYWxlQ2FjaGUpLGUuY3VycmVuY3lNZXRhZGF0YSgpLnVuc3Vic2NyaWJlKHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSxlLnVuaXRPcmlnaW5Tb3VyY2UoKS51bnN1YnNjcmliZSh0aGlzLl9kcm9wU2NhbGVDYWNoZSksZS51bml0TWV0YWRhdGEoKS51bnN1YnNjcmliZSh0aGlzLl9kcm9wU2NhbGVDYWNoZSksKDAsSW8uaXNTeW1ib2xTb3VyY2UpKGUpKXtjb25zdCB0PXRoaXMuX3Nlcmllc0xpa2VTb3VyY2VzLmluZGV4T2YoZSk7KDAsbC5hc3NlcnQpKC0xIT09dCwiU291cmNlIGlzIG5vdCBmb3VuZCIpLHRoaXMuX3Nlcmllc0xpa2VTb3VyY2VzLnNwbGljZSh0LDEpLGUuc3ltYm9sUmVzb2x2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSwoMCxmbC5pc1NlcmllcykoZSkmJih0aGlzLl9oYXNTZXJpZXM9ITEpfWUuY3VycmVuY3lDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS51bml0Q2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpfXRoaXMubWFpblNvdXJjZSgpfHx0aGlzLnNldE1vZGUoe2F1dG9TY2FsZTohMH0pLCgwLHRpLmlzU3R1ZHkpKGUpJiYoZS5vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSxlLm9uSGliZXJuYXRpb25TdGF0ZUNoYW5nZSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fZHJvcFNjYWxlQ2FjaGUpLGUucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSx0aGlzLl9zdHVkaWVzQ291bnQtLSwwPT09dGhpcy5fc3R1ZGllc0NvdW50JiYoMCxULmhpZGVBbGxJbmRpY2F0b3JzKSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fZHJvcFNjYWxlQ2FjaGUpKSwoMCxyaS5pc0xpbmVUb29sKShlKSYmKHRoaXMuX2RyYXdpbmdDb3VudC0tLDA9PT10aGlzLl9kcmF3aW5nQ291bnQmJigwLFQuaGlkZUFsbERyYXdpbmdzKSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fZHJvcFNjYWxlQ2FjaGUpKTtjb25zdCBpPXRoaXMuX3NvdXJjZXNUaGF0QWZmZWN0VmlzaWJpbGl0eS5pbmRleE9mKGUpOy0xIT09aSYmKHRoaXMuX3NvdXJjZXNUaGF0QWZmZWN0VmlzaWJpbGl0eS5zcGxpY2UoaSwxKSxlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS52aXNpYmxlLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Tb3VyY2VWaXNpYmlsaXR5Q2hhbmdlZCkpLGU9PT10aGlzLl9tYWluU291cmNlJiYodGhpcy5fY29ycmVjdGVkTWFyZ2luc0NhY2hlPW51bGwsdGhpcy5faW50ZXJuYWxIZWlnaHRDYWNoZT1udWxsLHRoaXMuX21hcmtzQ2FjaGU9bnVsbCksdGhpcy5fbWFpblNvdXJjZT1udWxsLHRoaXMuX2Ryb3BTY2FsZUNhY2hlKCksdGhpcy51cGRhdGVGb3JtYXR0ZXIoKSx0aGlzLmludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKSx0aGlzLl91cGRhdGVJc1Zpc2libGUoKSx0aGlzLl91cGRhdGVMb2dGb3JtdWxhKCksMD09PXRoaXMubV9kYXRhU291cmNlcy5sZW5ndGgmJnRoaXMuX2xhc3RTb3VyY2VSZW1vdmVkLmZpcmUoKX1yZXBsYWNlU291cmNlKGUsdCl7Y29uc3QgaT0oMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSk/dGhpcy5fcHJpY2VEYXRhU291cmNlcy5pbmRleE9mKGUpOnZvaWQgMDtyZXR1cm4gdGhpcy5fYWRkRGF0YVNvdXJjZUltcGwodCx2b2lkIDAsLTE9PT1pP3ZvaWQgMDppKSx0aGlzLnJlbW92ZURhdGFTb3VyY2UoZSksLTEhPT1pfWN1cnJlbmN5KGUpe2lmKG51bGw9PT1lKXJldHVybiBudWxsO2lmKG51bGwhPT10aGlzLl9jdXJyZW5jeUNhY2hlJiZlLnNpemUoKT09PXRoaXMuX2N1cnJlbmN5Q2FjaGUuYXZhaWxhYmxlQ3VycmVuY2llc0NvdW50KXJldHVybiB0aGlzLl9jdXJyZW5jeUNhY2hlLnZhbHVlO2xldCB0O2NvbnN0IGk9bmV3IFNldCxzPW5ldyBTZXQsbj1uZXcgU2V0LHI9bmV3IE1hcCxvPW5ldyBTZXQsYT10aGlzLl9wcmljZURhdGFTb3VyY2VzLmZpbHRlcih6bCk7bGV0IGwsYz0wPT09YS5sZW5ndGh8fGFbMF0ubW9kZWwoKS5yZWFkT25seSgpLGg9ITAsZD0wLHU9MDtmb3IoY29uc3QgdSBvZiBhKXtpZighdS5pc1Zpc2libGUoKSljb250aW51ZTtjb25zdCBhPXUuY3VycmVuY3lNZXRhZGF0YSgpLnZhbHVlKCk7aWYoIWEpe3Q9bnVsbDticmVha31jb25zdHtvcmlnaW5hbEN1cnJlbmN5OnAsaXNDdXJyZW5jeUNvbnZlcnRpYmxlOl8sY3VycmVuY3lPcmlnaW5OYW1lOm0sYmFzZUN1cnJlbmN5OmcsY3VycmVudEN1cnJlbmN5OmZ9PWE7aWYobnVsbD09PXApe3Q9bnVsbDticmVha31yLnNldChwLGUuaXRlbShwKT8uY29kZT8/cCksci5zZXQoZixlLml0ZW0oZik/LmNvZGU/P2YpLG51bGwhPT1nJiZzLmFkZChnKSxoPWgmJnA9PT1mLG4uYWRkKGYpLGkuYWRkKHApLHZvaWQgMD09PWw/bD1mOm51bGwhPT1sJiZsIT09ZiYmKGw9bnVsbCksY3x8ZS5jb252ZXJ0aWJsZShmKSYmX3x8KGM9ITApLGQrPTEsby5hZGQobSl9aWYobnVsbCE9PXQpe2NvbnN0IGk9dGhpcy5fcHJpY2VEYXRhU291cmNlcy5maWx0ZXIoVWwpO2Zvcihjb25zdCBzIG9mIGkpe2lmKCFzLmlzQ3VycmVuY3lTb3VyY2UoKXx8IXMuaXNWaXNpYmxlKCl8fHMuaXNGYWlsZWQoKSljb250aW51ZTtjb25zdCBpPXMuY3VycmVuY3lNZXRhZGF0YSgpLnZhbHVlKCk7aWYoIWkpe3Q9bnVsbDticmVha31jb25zdCBvPWkuY3VycmVudEN1cnJlbmN5O24uYWRkKG8pLHUrPTE7Y29uc3R7aXNDdXJyZW5jeUNvbnZlcnRpYmxlOmh9PWk7Y3x8ZS5jb252ZXJ0aWJsZShvKSYmaHx8KGM9ITApLApyLnNldChvLGUuaXRlbShvKT8uY29kZT8/byk7Y29uc3QgZD1zLmN1cnJlbmN5T3JpZ2luU291cmNlKCkudmFsdWUoKTtpZihhLmluY2x1ZGVzKGQpfHwoYz0hMCksdm9pZCAwPT09bClsPW87ZWxzZSBpZihudWxsIT09bCYmbCE9PW8pe2w9bnVsbDticmVha319fXJldHVybiB2b2lkIDA9PT10JiYodD0wPT09ZCYmMD09PXU/bnVsbDp7cmVhZE9ubHk6YyxzZWxlY3RlZEN1cnJlbmN5Omx8fG51bGwsY3VycmVuY2llczpuLG9yaWdpbmFsQ3VycmVuY2llczppLGJhc2VDdXJyZW5jaWVzOnMsb3JpZ2luU291cmNlc0NvdW50OmQsYWxsQ3VycmVuY2llc0FyZU9yaWdpbmFsOmgsZGlzcGxheWVkVmFsdWVzOnIsc3ltYm9sczpvfSksdGhpcy5fY3VycmVuY3lDYWNoZT17dmFsdWU6dCxhdmFpbGFibGVDdXJyZW5jaWVzQ291bnQ6ZS5zaXplKCl9LHR9dW5pdChlKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtpZihudWxsIT09dGhpcy5fdW5pdENhY2hlJiZlLnNpemUoKT09PXRoaXMuX3VuaXRDYWNoZS5hdmFpbGFibGVVbml0c0NvdW50KXJldHVybiB0aGlzLl91bml0Q2FjaGUudmFsdWU7bGV0IHQ7Y29uc3QgaT1uZXcgU2V0LHM9bmV3IFNldCxuPW5ldyBNYXAscj1uZXcgTWFwLG89bmV3IFNldCxhPXRoaXMuX3ByaWNlRGF0YVNvdXJjZXMuZmlsdGVyKEdsKTtsZXQgbCxjPTA9PT1hLmxlbmd0aHx8YVswXS5tb2RlbCgpLnJlYWRPbmx5KCk/bmV3IFNldDplLmFsbEdyb3VwcygpLGg9ITAsZD0wLHU9MDtmb3IoY29uc3QgdSBvZiBhKXtpZighdS5pc1Zpc2libGUoKSljb250aW51ZTtjb25zdCBhPXUudW5pdE1ldGFkYXRhKCkudmFsdWUoKTtpZighYSl7dD1udWxsO2JyZWFrfWNvbnN0e3VuaXRPcmlnaW5OYW1lOnAsY29udmVydGlibGVHcm91cHM6XyxvcmlnaW5hbFVuaXQ6bSxjdXJyZW50VW5pdDpmfT1hO2lmKG51bGw9PT1tKXt0PW51bGw7YnJlYWt9bi5zZXQobSxlLm5hbWUobSkpLHIuc2V0KG0sZS5kZXNjcmlwdGlvbihtKSksbi5zZXQoZixlLm5hbWUoZikpLHIuc2V0KGYsZS5kZXNjcmlwdGlvbihmKSksaD1oJiZtPT09ZixzLmFkZChmKSxpLmFkZChtKSx2b2lkIDA9PT1sP2w9ZjpudWxsIT09bCYmbCE9PWYmJihsPW51bGwpLGMuc2l6ZT4wJiYoYz0oMCxnLmludGVyc2VjdCkoYyxuZXcgU2V0KF8pKSksZCs9MSxvLmFkZChwKX1pZihudWxsIT09dCl7Y29uc3QgaT10aGlzLl9wcmljZURhdGFTb3VyY2VzLmZpbHRlcihqbCk7Zm9yKGNvbnN0IG8gb2YgaSl7aWYoIW8uaXNVbml0U291cmNlKCl8fCFvLmlzVmlzaWJsZSgpfHxvLmlzRmFpbGVkKCkpY29udGludWU7Y29uc3QgaT1vLnVuaXRNZXRhZGF0YSgpLnZhbHVlKCk7aWYobnVsbD09PWkpe3Q9bnVsbDticmVha31jb25zdCBoPWkuY3VycmVudFVuaXQ7cy5hZGQoaCksdSs9MSxjLnNpemU+MCYmKGM9KDAsZy5pbnRlcnNlY3QpKGMsbmV3IFNldChpLmNvbnZlcnRpYmxlR3JvdXBzKSkpLG4uc2V0KGgsZS5uYW1lKGgpKSxyLnNldChoLGUuZGVzY3JpcHRpb24oaCkpO2NvbnN0IGQ9by51bml0T3JpZ2luU291cmNlKCkudmFsdWUoKTtpZihhLmluY2x1ZGVzKGQpfHwoYz1uZXcgU2V0KSx2b2lkIDA9PT1sKWw9aDtlbHNlIGlmKG51bGwhPT1sJiZsIT09aCl7bD1udWxsO2JyZWFrfX19aWYodm9pZCAwPT09dClpZigwPT09ZCYmMD09PXUpdD1udWxsO2Vsc2V7dD17YXZhaWxhYmxlR3JvdXBzOmMsc2VsZWN0ZWRVbml0Omx8fG51bGwsdW5pdHM6cyxvcmlnaW5hbFVuaXRzOmksc3ltYm9sU291cmNlQ291bnQ6ZCxhbGxVbml0c0FyZU9yaWdpbmFsOmgsbmFtZXM6bixkZXNjcmlwdGlvbnM6cixzeW1ib2xzOm99fXJldHVybiB0aGlzLl91bml0Q2FjaGU9e3ZhbHVlOnQsYXZhaWxhYmxlVW5pdHNDb3VudDplLnNpemUoKX0sdH1tZXRyaWMoZSl7aWYoIWUuaXNSZWFkeSgpKXJldHVybiBudWxsO2lmKG51bGwhPT10aGlzLl9tZXRyaWNDYWNoZSYmZS5zaXplKCk9PT10aGlzLl9tZXRyaWNDYWNoZS5hdmFpbGFibGVNZXRyaWNzQ291bnQpcmV0dXJuIHRoaXMuX21ldHJpY0NhY2hlLnZhbHVlO2xldCB0O2NvbnN0IGk9bmV3IFNldCxzPW5ldyBNYXAsbj1uZXcgU2V0O2xldCByLG89MD09PXRoaXMuX3Nlcmllc0xpa2VTb3VyY2VzLmxlbmd0aHx8dGhpcy5fc2VyaWVzTGlrZVNvdXJjZXNbMF0ubW9kZWwoKS5yZWFkT25seSgpLGE9MCxjPTA7Y29uc3QgaD10aGlzLl9zZXJpZXNMaWtlU291cmNlcztmb3IoY29uc3QgbCBvZiBoKXtpZighbC5pc1Zpc2libGUoKSljb250aW51ZTtjb25zdCBjPWwuc3ltYm9sSW5mbygpO2lmKG51bGw9PT1jKXt0PW51bGw7YnJlYWt9Y29uc3QgaD1sLm1ldHJpYygpO2lmKG51bGw9PT1oKXt0PW51bGw7YnJlYWt9cy5zZXQoaCxlLm5hbWUoaCkpLGkuYWRkKGgpLHZvaWQgMD09PXI/cj1oOm51bGwhPT1yJiZyIT09aCYmKHI9bnVsbCksb3x8ZS5jb252ZXJ0aWJsZShoKXx8KG89ITApLGErPTEsbi5hZGQoKDAsQS5wcm9TeW1ib2wpKGMsbC5zeW1ib2woKSkpfWlmKG51bGwhPT10KWZvcihjb25zdCBuIG9mIHRoaXMuX3ByaWNlRGF0YVNvdXJjZXMpe2lmKGguaW5jbHVkZXMobikpY29udGludWU7Y29uc3QgYT1uO2lmKCFhLmlzTWV0cmljU291cmNlKCl8fCFhLmlzVmlzaWJsZSgpfHxhLmlzRmFpbGVkKCkpY29udGludWU7Y29uc3QgZD1hLm1ldHJpYygpO2lmKG51bGw9PT1kKXt0PW51bGw7YnJlYWt9aS5hZGQoZCksYys9MTtjb25zdCB1PSgwLGwuZW5zdXJlTm90TnVsbCkoYS5zeW1ib2xTb3VyY2UoKSk7aWYobnVsbD09PWEuY3VycmVuY3lTb3VyY2VTeW1ib2xJbmZvKCkpe3Q9bnVsbDticmVha31pZihvfHxlLmNvbnZlcnRpYmxlKGQpfHwobz0hMCkscy5zZXQoZCxlLm5hbWUoZCkpLGguaW5jbHVkZXModSl8fChvPSEwKSx2b2lkIDA9PT1yKXI9ZDtlbHNlIGlmKG51bGwhPT1yJiZyIT09ZCl7cj1udWxsO2JyZWFrfX1yZXR1cm4gdm9pZCAwPT09dCYmKHQ9MD09PWEmJjA9PT1jP251bGw6e3JlYWRPbmx5Om8sc2VsZWN0ZWRNZXRyaWNJZDpyfHxudWxsLG1ldHJpY3M6aSxuYW1lczpzfSksdGhpcy5fbWV0cmljQ2FjaGU9e3ZhbHVlOnQsYXZhaWxhYmxlTWV0cmljc0NvdW50OmUuc2l6ZSgpfSx0fW1lYXN1cmVVbml0SWQoZSl7CmlmKG51bGw9PT1lKXJldHVybiBudWxsO2lmKG51bGwhPT10aGlzLl9tZWFzdXJlVW5pdElkQ2FjaGUmJmUuc2l6ZSgpPT09dGhpcy5fbWVhc3VyZVVuaXRJZENhY2hlLmF2YWlsYWJsZVVuaXRzQ291bnQpcmV0dXJuIHRoaXMuX21lYXN1cmVVbml0SWRDYWNoZS52YWx1ZTtsZXQgdCxpO2NvbnN0IHM9bmV3IE1hcCxuPW5ldyBNYXAscj1uZXcgU2V0O2xldCBvPTA7Y29uc3QgYT10aGlzLl9zZXJpZXNMaWtlU291cmNlcztmb3IoY29uc3QgbCBvZiBhKXtpZighbC5pc1Zpc2libGUoKSljb250aW51ZTtjb25zdCBhPWwubWVhc3VyZVVuaXRJZCgpO2lmKG51bGw9PT1hKXt0PW51bGw7YnJlYWt9ci5hZGQoYSkscy5zZXQoYSxlLm5hbWUoYSkpLG4uc2V0KGEsZS5kZXNjcmlwdGlvbihhKSksdm9pZCAwPT09aT9pPWE6bnVsbCE9PWkmJmkhPT1hJiYoaT1udWxsKSxvKz0xfXJldHVybiB2b2lkIDA9PT10JiYodD0wPT09bz9udWxsOntzZWxlY3RlZE1lYXN1cmVVbml0SWQ6aXx8bnVsbCxtZWFzdXJlVW5pdElkczpyLG5hbWVzOnMsZGVzY3JpcHRpb25zOm4sc3ltYm9sU291cmNlQ291bnQ6b30pLHRoaXMuX21lYXN1cmVVbml0SWRDYWNoZT17dmFsdWU6dCxhdmFpbGFibGVVbml0c0NvdW50OmUuc2l6ZSgpfSx0fXNldE1hcmdpbnMoZSl7aWYoISgwLGEuaXNOdW1iZXIpKGUudG9wKXx8ISgwLGEuaXNOdW1iZXIpKGUuYm90dG9tKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIG1hcmdpbiIpO2lmKGUudG9wPDB8fGUudG9wPjMwfHxlLmJvdHRvbTwwfHxlLmJvdHRvbT4zMCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiaW52YWxpZCBtYXJnaW4iKTt0aGlzLl9tYXJnaW5zLnRvcD09PWUudG9wJiZ0aGlzLl9tYXJnaW5zLmJvdHRvbT09PWUuYm90dG9tfHwodGhpcy5fbWFyZ2lucz1lLHRoaXMuX2NvcnJlY3RlZE1hcmdpbnNDYWNoZT1udWxsLHRoaXMuX2ludmFsaWRhdGVJbnRlcm5hbEhlaWdodENhY2hlKCksdGhpcy5fbWFya3NDYWNoZT1udWxsKX10b3BNYXJnaW4oKXtyZXR1cm4gdGhpcy5fY29ycmVjdGVkTWFyZ2lucygpLnRvcH1ib3R0b21NYXJnaW4oKXtyZXR1cm4gdGhpcy5fY29ycmVjdGVkTWFyZ2lucygpLmJvdHRvbX1pbnZhbGlkYXRlTWFyZ2lucygpe3RoaXMuX2NvcnJlY3RlZE1hcmdpbnNDYWNoZT1udWxsfXRvcFBpeGVsTWFyZ2luKCl7cmV0dXJuIHRoaXMuaXNJbnZlcnRlZCgpP3RoaXMuYm90dG9tTWFyZ2luKCkqdGhpcy5oZWlnaHQoKSt0aGlzLl9ib3R0b21QaXhlbE1hcmdpbjp0aGlzLnRvcE1hcmdpbigpKnRoaXMuaGVpZ2h0KCkrdGhpcy5fdG9wUGl4ZWxNYXJnaW59Ym90dG9tUGl4ZWxNYXJnaW4oKXtyZXR1cm4gdGhpcy5pc0ludmVydGVkKCk/dGhpcy50b3BNYXJnaW4oKSp0aGlzLmhlaWdodCgpK3RoaXMuX3RvcFBpeGVsTWFyZ2luOnRoaXMuYm90dG9tTWFyZ2luKCkqdGhpcy5oZWlnaHQoKSt0aGlzLl9ib3R0b21QaXhlbE1hcmdpbn1tYXJrcygpe3JldHVybiB0aGlzLmlzRW1wdHkoKT8odGhpcy5fbWFya3NDYWNoZT1udWxsLFtdKToobnVsbD09PXRoaXMuX21hcmtzQ2FjaGUmJih0aGlzLl9tYXJrQnVpbGRlci5yZWJ1aWxkVGlja01hcmtzKCksdGhpcy5fbWFya3NDYWNoZT10aGlzLl9tYXJrQnVpbGRlci5tYXJrcygpLHRoaXMuX29uTWFya3NDaGFuZ2VkLmZpcmUoKSksdGhpcy5fbWFya3NDYWNoZSl9b25NYXJrc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fb25NYXJrc0NoYW5nZWR9cHJpY2VSYW5nZUluUHJpY2UoKXtpZih0aGlzLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtjb25zdCBlPXRoaXMubWFpblNvdXJjZSgpPy5maXJzdFZhbHVlKCk/P251bGw7aWYobnVsbD09PWUpcmV0dXJuIG51bGw7Y29uc3QgdD10aGlzLmhlaWdodCgpO3JldHVybntmcm9tOnRoaXMuY29vcmRpbmF0ZVRvUHJpY2UodC0xLGUpLHRvOnRoaXMuY29vcmRpbmF0ZVRvUHJpY2UoMCxlKX19c2V0UHJpY2VSYW5nZUluUHJpY2UoZSl7aWYodGhpcy5pc1BlcmNlbnRhZ2UoKXx8dGhpcy5pc0luZGV4ZWRUbzEwMCgpKXJldHVybjtjb25zdCB0PXRoaXMuaXNJbnZlcnRlZCgpLGk9dD90aGlzLmJvdHRvbU1hcmdpbigpOnRoaXMudG9wTWFyZ2luKCkscz10P3RoaXMudG9wTWFyZ2luKCk6dGhpcy5ib3R0b21NYXJnaW4oKSxuPXRoaXMuaXNMb2coKTtsZXQgcj1uPygwLFRsLnRvTG9nKShlLmZyb20sdGhpcy5fbG9nRm9ybXVsYSk6ZS5mcm9tLG89bj8oMCxUbC50b0xvZykoZS50byx0aGlzLl9sb2dGb3JtdWxhKTplLnRvO2NvbnN0IGE9by1yO3IrPXMqYSxvLT1pKmEsdGhpcy5zZXRNb2RlKHthdXRvU2NhbGU6ITF9KSx0aGlzLnNldFByaWNlUmFuZ2UobmV3IFBsLlByaWNlUmFuZ2UocixvKSksdGhpcy5fbWFya3NDYWNoZT1udWxsLHRoaXMuX29uTWFya3NDaGFuZ2VkLmZpcmUoKX1oYXNNYWluU2VyaWVzKCl7cmV0dXJuIHRoaXMuX2hhc1Nlcmllc31nZXRTdHVkaWVzKCl7cmV0dXJuIHRoaXMuZGF0YVNvdXJjZXMoKS5maWx0ZXIodGkuaXNTdHVkeSl9bGFzdFNvdXJjZVJlbW92ZWQoKXtyZXR1cm4gdGhpcy5fbGFzdFNvdXJjZVJlbW92ZWR9c291cmNlc0ZvckF1dG9zY2FsZSgpe3JldHVybiB0aGlzLl9tYWluU291cmNlJiZ0aGlzLl9zY2FsZVNlcmllc09ubHkhPT10aGlzLl9zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNjYWxlU2VyaWVzT25seS52YWx1ZSgpJiYodGhpcy5fc291cmNlc0ZvckF1dG9zY2FsZT1udWxsKSx0aGlzLl9zb3VyY2VzRm9yQXV0b3NjYWxlfHwodGhpcy5fc291cmNlc0ZvckF1dG9zY2FsZT10aGlzLl9yZWNhbGN1bGF0ZVNvdXJjZXNGb3JBdXRvc2NhbGUoKSksdGhpcy5fc291cmNlc0ZvckF1dG9zY2FsZX1yZWNhbGN1bGF0ZVByaWNlUmFuZ2UoZSx0KXt0aGlzLl9pbnZhbGlkYXRlZEZvclJhbmdlPXt2aXNpYmxlQmFyczplLGxvZ2ljYWxSYW5nZTp0LGlzVmFsaWQ6ITF9fWludGVybmFsSGVpZ2h0Q2hhbmdlZCgpe3JldHVybiB0aGlzLl9pbnRlcm5hbEhlaWdodENoYW5nZWR9b3JkZXJlZFNvdXJjZXMoKXtpZih0aGlzLl9jYWNoZWRPcmRlcmVkU29ydWNlcylyZXR1cm4gdGhpcy5fY2FjaGVkT3JkZXJlZFNvcnVjZXM7bGV0IGU9dGhpcy5tX2RhdGFTb3VyY2VzLnNsaWNlKCkKO3JldHVybiBlPWUuZmlsdGVyKChlPT4hc2koZSkpKSxlPSgwLGRyLnNvcnRTb3VyY2VzKShlKSx0aGlzLl9jYWNoZWRPcmRlcmVkU29ydWNlcz1lLHRoaXMuX2NhY2hlZE9yZGVyZWRTb3J1Y2VzfWludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKXt0aGlzLl9jYWNoZWRPcmRlcmVkU29ydWNlcz1udWxsLHRoaXMuX3NvdXJjZXNUb1VwZGF0ZVZpZXdzPW51bGx9c3RhcnRTY2FsZShlKXt0aGlzLmlzRW1wdHkoKXx8dGhpcy5pc1BlcmNlbnRhZ2UoKXx8dGhpcy5pc0luZGV4ZWRUbzEwMCgpfHxudWxsIT09dGhpcy5fc2NhbGVTdGFydFBvaW50fHxudWxsIT09dGhpcy5fcHJpY2VSYW5nZVNuYXBzaG90fHwodGhpcy5fc2NhbGVTdGFydFBvaW50PXRoaXMubV9oZWlnaHQtZSx0aGlzLl9wcmljZVJhbmdlU25hcHNob3Q9dGhpcy5wcmljZVJhbmdlKCk/LmNsb25lKCk/P251bGwpfXNjYWxlVG8oZSl7aWYodGhpcy5pc1BlcmNlbnRhZ2UoKXx8dGhpcy5pc0luZGV4ZWRUbzEwMCgpfHxudWxsPT09dGhpcy5fc2NhbGVTdGFydFBvaW50KXJldHVybjt0aGlzLnNldE1vZGUoe2F1dG9TY2FsZTohMX0pLChlPXRoaXMubV9oZWlnaHQtZSk8MCYmKGU9MCk7bGV0IHQ9KHRoaXMuX3NjYWxlU3RhcnRQb2ludCsuMioodGhpcy5tX2hlaWdodC0xKSkvKGUrLjIqKHRoaXMubV9oZWlnaHQtMSkpO2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcmljZVJhbmdlU25hcHNob3QpLmNsb25lKCk7dD1NYXRoLm1heCh0LC4xKSxpLnNjYWxlQXJvdW5kQ2VudGVyKHQpLHRoaXMuc2V0UHJpY2VSYW5nZShpKX1lbmRTY2FsZSgpe3RoaXMuaXNQZXJjZW50YWdlKCl8fHRoaXMuaXNJbmRleGVkVG8xMDAoKXx8bnVsbCE9PXRoaXMuX3NjYWxlU3RhcnRQb2ludCYmKHRoaXMuX3NjYWxlU3RhcnRQb2ludD1udWxsLHRoaXMuX3ByaWNlUmFuZ2VTbmFwc2hvdD1udWxsKX1zdGFydFR3b1BvaW50c1NjYWxlKGUsdCl7aWYodGhpcy5pc0VtcHR5KCl8fHRoaXMuaXNQZXJjZW50YWdlKCl8fHRoaXMuaXNJbmRleGVkVG8xMDAoKXx8bnVsbCE9PXRoaXMuX3R3b1BvaW50c1NjYWxlU3RhcnRQb3NpdGlvbilyZXR1cm47Y29uc3QgaT1NYXRoLm1pbihlLHQpLHM9TWF0aC5tYXgoZSx0KTt0aGlzLl90d29Qb2ludHNTY2FsZVN0YXJ0UG9zaXRpb249e3RvcExvZ2ljYWw6dGhpcy5fY29vcmRpbmF0ZVRvTG9naWNhbChpKSxib3R0b21Mb2dpY2FsOnRoaXMuX2Nvb3JkaW5hdGVUb0xvZ2ljYWwocyl9fXR3b1BvaW50c1NjYWxlKGUsdCl7aWYodGhpcy5pc1BlcmNlbnRhZ2UoKXx8dGhpcy5pc0luZGV4ZWRUbzEwMCgpfHxudWxsPT09dGhpcy5fdHdvUG9pbnRzU2NhbGVTdGFydFBvc2l0aW9uKXJldHVybjt0aGlzLnNldE1vZGUoe2F1dG9TY2FsZTohMX0pO2NvbnN0IGk9TWF0aC5taW4oZSx0KSxzPU1hdGgubWF4KGUsdCkse3RvcExvZ2ljYWw6bixib3R0b21Mb2dpY2FsOnJ9PXRoaXMuX3R3b1BvaW50c1NjYWxlU3RhcnRQb3NpdGlvbixvPXRoaXMuYm90dG9tUGl4ZWxNYXJnaW4oKSxhPXRoaXMuaW50ZXJuYWxIZWlnaHQoKS0xLGw9KHRoaXMuX2ludmVydGVkQ29vcmRpbmF0ZShpKS1vKS9hLGM9KHItbikvKCh0aGlzLl9pbnZlcnRlZENvb3JkaW5hdGUocyktbykvYS1sKTtpZighTnVtYmVyLmlzRmluaXRlKGMpKXJldHVybjtjb25zdCBoPW4tYypsLGQ9aCtjO3RoaXMuc2V0UHJpY2VSYW5nZShuZXcgUGwuUHJpY2VSYW5nZSh0aGlzLnByaWNlVG9Mb2dpY2FsKGgpLHRoaXMucHJpY2VUb0xvZ2ljYWwoZCkpKX1pc0JlaW5nU2NhbGVkKCl7cmV0dXJuIG51bGwhPT10aGlzLl9zY2FsZVN0YXJ0UG9pbnR8fG51bGwhPT10aGlzLl90d29Qb2ludHNTY2FsZVN0YXJ0UG9zaXRpb259ZW5kVHdvUG9pbnRzU2NhbGUoKXt0aGlzLl90d29Qb2ludHNTY2FsZVN0YXJ0UG9zaXRpb249bnVsbH1zdGFydFNjcm9sbChlKXt0aGlzLmlzQXV0b1NjYWxlKCl8fG51bGw9PT10aGlzLl9zY3JvbGxTdGFydFBvaW50JiZudWxsPT09dGhpcy5fcHJpY2VSYW5nZVNuYXBzaG90JiYodGhpcy5pc0VtcHR5KCl8fCh0aGlzLl9zY3JvbGxTdGFydFBvaW50PWUsdGhpcy5fcHJpY2VSYW5nZVNuYXBzaG90PXRoaXMucHJpY2VSYW5nZSgpPy5jbG9uZSgpPz9udWxsKSl9c2Nyb2xsVG8oZSl7aWYodGhpcy5pc0F1dG9TY2FsZSgpKXJldHVybjtpZihudWxsPT09dGhpcy5fc2Nyb2xsU3RhcnRQb2ludHx8bnVsbD09PXRoaXMuX3ByaWNlUmFuZ2VTbmFwc2hvdClyZXR1cm47Y29uc3QgdD10aGlzLnByaWNlUmFuZ2UoKTtpZihudWxsPT09dClyZXR1cm47bGV0IGk9ZS10aGlzLl9zY3JvbGxTdGFydFBvaW50O3RoaXMuaXNJbnZlcnRlZCgpJiYoaSo9LTEpO2NvbnN0IHM9aSoodC5sZW5ndGgoKS8odGhpcy5pbnRlcm5hbEhlaWdodCgpLTEpKSxuPXRoaXMuX3ByaWNlUmFuZ2VTbmFwc2hvdC5jbG9uZSgpO24uc2hpZnQocyksdGhpcy5zZXRQcmljZVJhbmdlKG4sITApLHRoaXMuX21hcmtzQ2FjaGU9bnVsbH1lbmRTY3JvbGwoKXt0aGlzLmlzQXV0b1NjYWxlKCl8fG51bGwhPT10aGlzLl9zY3JvbGxTdGFydFBvaW50JiYodGhpcy5fc2Nyb2xsU3RhcnRQb2ludD1udWxsLHRoaXMuX3ByaWNlUmFuZ2VTbmFwc2hvdD1udWxsKX1jbGVhclByaWNlUmFuZ2UoKXt0aGlzLl9wcmljZVJhbmdlPW51bGwsdGhpcy5yZWNhbGN1bGF0ZVByaWNlUmFuZ2VPbmNlKCl9aXNWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX2lzVmlzaWJsZX1fYWRkRGF0YVNvdXJjZUltcGwoZSx0LGkpe2lmKHR8fC0xPT09dGhpcy5tX2RhdGFTb3VyY2VzLmluZGV4T2YoZSkpe2lmKCgwLEhzLmlzUHJpY2VEYXRhU291cmNlKShlKSl7aWYodm9pZCAwPT09aT90aGlzLl9wcmljZURhdGFTb3VyY2VzLnB1c2goZSk6dGhpcy5fcHJpY2VEYXRhU291cmNlcy5zcGxpY2UoaSwwLGUpLGUuY3VycmVuY3lDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9jdXJyZW5jeUNhY2hlPW51bGwpKSxlLnVuaXRDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl91bml0Q2FjaGU9bnVsbCkpLGUubWV0cmljQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fbWV0cmljQ2FjaGU9bnVsbCkpLAplLmN1cnJlbmN5T3JpZ2luU291cmNlKCkuc3Vic2NyaWJlKHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSxlLmN1cnJlbmN5TWV0YWRhdGEoKS5zdWJzY3JpYmUodGhpcy5fZHJvcFNjYWxlQ2FjaGUpLGUudW5pdE9yaWdpblNvdXJjZSgpLnN1YnNjcmliZSh0aGlzLl9kcm9wU2NhbGVDYWNoZSksZS51bml0TWV0YWRhdGEoKS5zdWJzY3JpYmUodGhpcy5fZHJvcFNjYWxlQ2FjaGUpLCgwLElvLmlzU3ltYm9sU291cmNlKShlKSYmKHRoaXMuX3Nlcmllc0xpa2VTb3VyY2VzLnB1c2goZSksZS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX2N1cnJlbmN5Q2FjaGU9bnVsbCx0aGlzLl91bml0Q2FjaGU9bnVsbCx0aGlzLl9tZXRyaWNDYWNoZT1udWxsLHRoaXMuX21lYXN1cmVVbml0SWRDYWNoZT1udWxsLHRoaXMuX3VwZGF0ZUxvZ0Zvcm11bGEoKX0pKSwoMCxmbC5pc1NlcmllcykoZSkpKXtjb25zdCB0PWUucHJvcGVydGllcygpO3RoaXMuX2hhc1Nlcmllc3x8KHQuY2hpbGRzKCkubG9ja1NjYWxlJiYodGhpcy5zZXRNb2RlKHtsb2NrU2NhbGU6dC5jaGlsZHMoKS5sb2NrU2NhbGUudmFsdWUoKX0pLHQucmVtb3ZlUHJvcGVydHkoImxvY2tTY2FsZSIpKSx0LmNoaWxkcygpLnBuZlN0eWxlLmhhc0NoaWxkKCJsb2NrU2NhbGUiKSYmdC5jaGlsZHMoKS5wbmZTdHlsZS5yZW1vdmVQcm9wZXJ0eSgibG9ja1NjYWxlIikpLHRoaXMuX2hhc1Nlcmllcz0hMH1lLmlzU3BlY2lhbGx5Wk9yZGVyZWRTb3VyY2UoKXx8KHRoaXMuX3NvdXJjZXNUaGF0QWZmZWN0VmlzaWJpbGl0eS5wdXNoKGUpLGUucHJvcGVydGllcygpLmNoaWxkcygpLnZpc2libGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Tb3VyY2VWaXNpYmlsaXR5Q2hhbmdlZCkpfSgwLHRpLmlzU3R1ZHkpKGUpJiYoZS5vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9kcm9wU2NhbGVDYWNoZSksZS5vbkhpYmVybmF0aW9uU3RhdGVDaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9kcm9wU2NhbGVDYWNoZSksZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLnN1YnNjcmliZSh0aGlzLHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSwwPT09dGhpcy5fc3R1ZGllc0NvdW50JiYoMCxULmhpZGVBbGxJbmRpY2F0b3JzKSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSx0aGlzLl9zdHVkaWVzQ291bnQrKyksKDAscmkuaXNMaW5lVG9vbCkoZSkmJigwPT09dGhpcy5fZHJhd2luZ0NvdW50JiYoMCxULmhpZGVBbGxEcmF3aW5ncykoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9kcm9wU2NhbGVDYWNoZSksdGhpcy5fZHJhd2luZ0NvdW50KyspLHRoaXMubV9kYXRhU291cmNlcy5wdXNoKGUpLHRoaXMuX21haW5Tb3VyY2U9bnVsbCx0aGlzLm1haW5Tb3VyY2UoKT09PWUmJih0aGlzLl9jb3JyZWN0ZWRNYXJnaW5zQ2FjaGU9bnVsbCx0aGlzLl9pbnRlcm5hbEhlaWdodENhY2hlPW51bGwsdGhpcy5fbWFya3NDYWNoZT1udWxsKSx0aGlzLl9kcm9wU2NhbGVDYWNoZSgpLHRoaXMudXBkYXRlRm9ybWF0dGVyKCksdGhpcy5faW5pdFNjYWxlUHJvcGVydGllcygpLHRoaXMuaW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpLHRoaXMuX3VwZGF0ZUlzVmlzaWJsZSgpLHRoaXMuX3VwZGF0ZUxvZ0Zvcm11bGEoKX19X3JlY2FsY3VsYXRlU291cmNlc0ZvckF1dG9zY2FsZSgpe3RoaXMuX21haW5Tb3VyY2UmJih0aGlzLl9zY2FsZVNlcmllc09ubHk9dGhpcy5fc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zY2FsZVNlcmllc09ubHkudmFsdWUoKSk7Y29uc3QgZT10aGlzLl9zY2FsZVNlcmllc09ubHkmJnRoaXMuX2hhc1NlcmllcztyZXR1cm4gdGhpcy5tX2RhdGFTb3VyY2VzLmZpbHRlcigodD0+ISghdC5wcm9wZXJ0aWVzKCkudmlzaWJsZS52YWx1ZSgpJiYhKDAsZmwuaXNTZXJpZXMpKHQpKSYmKGU/KDAsZmwuaXNTZXJpZXMpKHQpOigwLHRpLmlzU3R1ZHkpKHQpPyF0LmlzU291cmNlSGlkZGVuKCkmJnQuaXNJbmNsdWRlZEluQXV0b1NjYWxlKCk6dC5pc0luY2x1ZGVkSW5BdXRvU2NhbGUoKSkpKX1fdXBkYXRlQXV0b1NjYWxlRGlzYWJsZWRQcm9wZXJ0eShlKXtjb25zdCB0PXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCksaT10LmluZGV4ZWRUbzEwMC52YWx1ZSgpfHx0LnBlcmNlbnRhZ2UudmFsdWUoKXx8dC5sb2NrU2NhbGUudmFsdWUoKTtlP3QuYXV0b1NjYWxlRGlzYWJsZWQuc2V0VmFsdWVTaWxlbnRseShpKTp0LmF1dG9TY2FsZURpc2FibGVkLnNldFZhbHVlKGkpfV9zZXRBdXRvU2NhbGVWYWx1ZVdpdGhEZXBlbmRlbnRQcm9wZXJ0aWVzKGUpe2NvbnN0IHQ9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKTt0LmF1dG9TY2FsZS5zZXRWYWx1ZVNpbGVudGx5KGUpLGUmJih0LnBlcmNlbnRhZ2Uuc2V0VmFsdWVTaWxlbnRseSghMSksdC5pbmRleGVkVG8xMDAuc2V0VmFsdWVTaWxlbnRseSghMSksdC5sb2NrU2NhbGUuc2V0VmFsdWVTaWxlbnRseSghMSksdC5sb2dEaXNhYmxlZC5zZXRWYWx1ZVNpbGVudGx5KCExKSksdGhpcy5fdXBkYXRlQXV0b1NjYWxlRGlzYWJsZWRQcm9wZXJ0eSghMCl9X3NldExvY2tTY2FsZVZhbHVlV2l0aERlcGVuZGVudFByb3BlcnRpZXMoZSl7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpO3QubG9ja1NjYWxlLnNldFZhbHVlU2lsZW50bHkoZSksZSYmKHQuYXV0b1NjYWxlLnNldFZhbHVlU2lsZW50bHkoITEpLHQucGVyY2VudGFnZS5zZXRWYWx1ZVNpbGVudGx5KCExKSx0LmluZGV4ZWRUbzEwMC5zZXRWYWx1ZVNpbGVudGx5KCExKSx0LmxvZy5zZXRWYWx1ZVNpbGVudGx5KCExKSksdC5wZXJjZW50YWdlRGlzYWJsZWQuc2V0VmFsdWVTaWxlbnRseShlKSx0LmxvZ0Rpc2FibGVkLnNldFZhbHVlU2lsZW50bHkoZSksdGhpcy5fdXBkYXRlQXV0b1NjYWxlRGlzYWJsZWRQcm9wZXJ0eSghMCl9X3NldFBlcmNlbnRhZ2VWYWx1ZVdpdGhEZXBlbmRlbnRQcm9wZXJ0aWVzKGUpe2NvbnN0IHQ9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKTt0LnBlcmNlbnRhZ2Uuc2V0VmFsdWVTaWxlbnRseShlKSxlJiYodC5hdXRvU2NhbGUuc2V0VmFsdWVTaWxlbnRseSghMCksCnQubG9nLnNldFZhbHVlU2lsZW50bHkoITEpLHQubG9ja1NjYWxlLnNldFZhbHVlU2lsZW50bHkoITEpLHQuaW5kZXhlZFRvMTAwLnNldFZhbHVlU2lsZW50bHkoITEpKSx0aGlzLl91cGRhdGVBdXRvU2NhbGVEaXNhYmxlZFByb3BlcnR5KCEwKX1fc2V0SW5kZXhlZFRvMTAwVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlKXtjb25zdCB0PXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7dC5pbmRleGVkVG8xMDAuc2V0VmFsdWVTaWxlbnRseShlKSxlJiYodC5hdXRvU2NhbGUuc2V0VmFsdWVTaWxlbnRseSghMCksdC5sb2cuc2V0VmFsdWVTaWxlbnRseSghMSksdC5sb2NrU2NhbGUuc2V0VmFsdWVTaWxlbnRseSghMSksdC5wZXJjZW50YWdlLnNldFZhbHVlU2lsZW50bHkoITEpKSx0aGlzLl91cGRhdGVBdXRvU2NhbGVEaXNhYmxlZFByb3BlcnR5KCEwKX1fc2V0TG9nVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlKXtjb25zdCB0PXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7dC5sb2cuc2V0VmFsdWVTaWxlbnRseShlKSxlJiYodC5sb2NrU2NhbGUuc2V0VmFsdWVTaWxlbnRseSghMSksdC5wZXJjZW50YWdlLnNldFZhbHVlU2lsZW50bHkoITEpLHQuaW5kZXhlZFRvMTAwLnNldFZhbHVlU2lsZW50bHkoITEpKSx0aGlzLl91cGRhdGVBdXRvU2NhbGVEaXNhYmxlZFByb3BlcnR5KCEwKX1fcmVjYWxjdWxhdGVQcmljZVJhbmdlSW1wbCgpe2NvbnN0IGU9dGhpcy5faW52YWxpZGF0ZWRGb3JSYW5nZS52aXNpYmxlQmFycyx0PXRoaXMuX2ludmFsaWRhdGVkRm9yUmFuZ2UubG9naWNhbFJhbmdlO2lmKG51bGw9PT1lfHxudWxsPT09dClyZXR1cm47bGV0IGk9bnVsbDtjb25zdCBzPXRoaXMuc291cmNlc0ZvckF1dG9zY2FsZSgpLG49dGhpcy5pc1BlcmNlbnRhZ2UoKSxyPXRoaXMuaXNJbmRleGVkVG8xMDAoKTtsZXQgbz0wLGE9MDtjb25zdCBsPXtzdGFydFRpbWVQb2ludDplLmZpcnN0QmFyKCksZW5kVGltZVBvaW50OmUubGFzdEJhcigpLGxvZ2ljU3RhcnRQb2ludDp0LmxlZnQoKSxsb2dpY0VuZFBvaW50OnQucmlnaHQoKSx0YXJnZXRQcmljZVNjYWxlOnRoaXMsc2NhbGVTZXJpZXNPbmx5OnRoaXMuX3NjYWxlU2VyaWVzT25seX07Zm9yKGNvbnN0IGUgb2Ygcyl7aWYoIWUucHJvcGVydGllcygpLnZpc2libGUudmFsdWUoKSljb250aW51ZTtjb25zdCB0PWUuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT10fHxuJiYwPT09dCljb250aW51ZTtjb25zdCBzPWUuYXV0b1NjYWxlSW5mbyhsKTtsZXQgYz1zLnJhbmdlO2MmJihuP2M9KDAsVGwudG9QZXJjZW50UmFuZ2UpKGMsdCk6ciYmKGM9KDAsVGwudG9JbmRleGVkVG8xMDBSYW5nZSkoYyx0KSksaT1udWxsPT09aT9jOmkubWVyZ2UoYykpLHZvaWQgMCE9PXMudG9wUGl4ZWxNYXJnaW4mJihvPU1hdGgubWF4KG8scy50b3BQaXhlbE1hcmdpbikpLHZvaWQgMCE9PXMuYm90dG9tUGl4ZWxNYXJnaW4mJihhPU1hdGgubWF4KGEscy5ib3R0b21QaXhlbE1hcmdpbikpfShNYXRoLmFicyhvLXRoaXMuX3RvcFBpeGVsTWFyZ2luKT4wfHxNYXRoLmFicyhhLXRoaXMuX2JvdHRvbVBpeGVsTWFyZ2luKT4wKSYmKHRoaXMuX2JvdHRvbVBpeGVsTWFyZ2luPWEsdGhpcy5fdG9wUGl4ZWxNYXJnaW49byx0aGlzLl9tYXJrc0NhY2hlPW51bGwsdGhpcy5faW52YWxpZGF0ZUludGVybmFsSGVpZ2h0Q2FjaGUoKSksaT8odGhpcy5faGFzQ2FsY3VsYXRlZFByaWNlUmFuZ2U9ITAsaS5taW5WYWx1ZSgpPT09aS5tYXhWYWx1ZSgpJiYoaT1uZXcgUGwuUHJpY2VSYW5nZShpLm1pblZhbHVlKCktLjUsaS5tYXhWYWx1ZSgpKy41KSksdGhpcy5zZXRQcmljZVJhbmdlKGkpKTp0aGlzLl9wcmljZVJhbmdlfHx0aGlzLnNldFByaWNlUmFuZ2UobmV3IFBsLlByaWNlUmFuZ2UoLS41LC41KSksdGhpcy5faW52YWxpZGF0ZWRGb3JSYW5nZS5pc1ZhbGlkPSEwO2NvbnN0IGM9dGhpcy5tYWluU291cmNlKCk7bnVsbCE9PWMmJnRoaXMuX3JlY2FsY3VsYXRlUHJpY2VSYW5nZU9uY2UmJih0aGlzLl9yZWNhbGN1bGF0ZVByaWNlUmFuZ2VPbmNlPSFjLnByaWNlUmFuZ2VSZWFkeSgpKX1fbWFrZVN1cmVJdElzVmFsaWQoKXt0aGlzLl9pbnZhbGlkYXRlZEZvclJhbmdlLmlzVmFsaWR8fCh0aGlzLl9pbnZhbGlkYXRlZEZvclJhbmdlLmlzVmFsaWQ9ITAsdGhpcy5fcmVjYWxjdWxhdGVQcmljZVJhbmdlSW1wbCgpKX1faW52YWxpZGF0ZUludGVybmFsSGVpZ2h0Q2FjaGUoKXt0aGlzLl9pbnRlcm5hbEhlaWdodENhY2hlPW51bGwsdGhpcy5faW50ZXJuYWxIZWlnaHRDaGFuZ2VkLmZpcmUoKX1fY29vcmRpbmF0ZVRvTG9naWNhbChlKXtpZih0aGlzLl9tYWtlU3VyZUl0SXNWYWxpZCgpLHRoaXMuaXNFbXB0eSgpKXJldHVybiAwO2NvbnN0IHQ9dGhpcy5faW52ZXJ0ZWRDb29yZGluYXRlKGUpLGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlUmFuZ2UoKSkscz1pLm1pblZhbHVlKCkrKGkubWF4VmFsdWUoKS1pLm1pblZhbHVlKCkpKigodC10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCkpLyh0aGlzLmludGVybmFsSGVpZ2h0KCktMSkpO3JldHVybiB0aGlzLmxvZ2ljYWxUb1ByaWNlKHMpfV9sb2dpY2FsVG9Db29yZGluYXRlKGUpe2lmKHRoaXMuX21ha2VTdXJlSXRJc1ZhbGlkKCksdGhpcy5pc0VtcHR5KCkpcmV0dXJuIDA7ZT10aGlzLnByaWNlVG9Mb2dpY2FsKGUpO2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlUmFuZ2UoKSksaT10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCkrKHRoaXMuaW50ZXJuYWxIZWlnaHQoKS0xKSooZS10Lm1pblZhbHVlKCkpLyh0Lm1heFZhbHVlKCktdC5taW5WYWx1ZSgpKTtyZXR1cm4gdGhpcy5faW52ZXJ0ZWRDb29yZGluYXRlKGkpfV9jb252ZXJ0UHJpY2VSYW5nZUZyb21Mb2coZSl7aWYobnVsbD09PWUpcmV0dXJuIG51bGw7Y29uc3QgdD0oMCxUbC5mcm9tTG9nKShlLm1pblZhbHVlKCksdGhpcy5fbG9nRm9ybXVsYSksaT0oMCxUbC5mcm9tTG9nKShlLm1heFZhbHVlKCksdGhpcy5fbG9nRm9ybXVsYSk7cmV0dXJuIG5ldyBQbC5QcmljZVJhbmdlKHQsaSl9X2NvbnZlcnRQcmljZVJhbmdlVG9Mb2coZSl7aWYobnVsbD09PWUpcmV0dXJuIG51bGwKO2NvbnN0IHQ9KDAsVGwudG9Mb2cpKGUubWluVmFsdWUoKSx0aGlzLl9sb2dGb3JtdWxhKSxpPSgwLFRsLnRvTG9nKShlLm1heFZhbHVlKCksdGhpcy5fbG9nRm9ybXVsYSk7cmV0dXJuIG5ldyBQbC5QcmljZVJhbmdlKHQsaSl9X2NhbkNvbnZlcnRQcmljZVJhbmdlRnJvbUxvZyhlKXtpZihudWxsPT09ZSlyZXR1cm4hMTtjb25zdCB0PSgwLFRsLmZyb21Mb2cpKGUubWluVmFsdWUoKSx0aGlzLl9sb2dGb3JtdWxhKSxpPSgwLFRsLmZyb21Mb2cpKGUubWF4VmFsdWUoKSx0aGlzLl9sb2dGb3JtdWxhKTtyZXR1cm4gaXNGaW5pdGUodCkmJmlzRmluaXRlKGkpfV9vblNvdXJjZVZpc2liaWxpdHlDaGFuZ2VkKCl7dGhpcy5fZHJvcFNjYWxlQ2FjaGUoKSx0aGlzLl91cGRhdGVJc1Zpc2libGUoKX1fdXBkYXRlSXNWaXNpYmxlKCl7dGhpcy5faXNWaXNpYmxlLnNldFZhbHVlKCEwKX1fdXBkYXRlTG9nRm9ybXVsYSgpe2NvbnN0IGU9dGhpcy5pc0xvZygpP3RoaXMuX2NvbnZlcnRQcmljZVJhbmdlRnJvbUxvZyh0aGlzLnByaWNlUmFuZ2UoKSk6bnVsbCx0PXRoaXMubWFpblNvdXJjZSgpO2lmKG51bGw9PT10KXRoaXMuX2xvZ0Zvcm11bGE9KDAsVGwubG9nRm9ybXVsYUZvckJhc2UpKG51bGwpO2Vsc2V7Y29uc3QgZT10LmJhc2UoKXx8bnVsbCxpPSgwLFRsLmxvZ0Zvcm11bGFGb3JCYXNlKShlKTsoMCxUbC5sb2dGb3JtdWxhc0FyZVNhbWUpKGksdGhpcy5fbG9nRm9ybXVsYSl8fCh0aGlzLl9sb2dGb3JtdWxhPWkpfWUmJnRoaXMuc2V0UHJpY2VSYW5nZSh0aGlzLl9jb252ZXJ0UHJpY2VSYW5nZVRvTG9nKGUpKX1faW52ZXJ0ZWRDb29yZGluYXRlKGUpe3JldHVybiB0aGlzLmlzSW52ZXJ0ZWQoKT9lOnRoaXMuaGVpZ2h0KCktMS1lfV9pbml0U2NhbGVQcm9wZXJ0aWVzKCl7Y29uc3QgZT10aGlzLmlzTG9ja1NjYWxlKCksdD10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKTtlJiYodC5wZXJjZW50YWdlLnNldFZhbHVlKCExKSx0LmluZGV4ZWRUbzEwMC5zZXRWYWx1ZSghMSksdC5sb2cuc2V0VmFsdWUoITEpLHQuYXV0b1NjYWxlLnNldFZhbHVlKCExKSksdC5wZXJjZW50YWdlRGlzYWJsZWQuc2V0VmFsdWUoZSksdC5sb2dEaXNhYmxlZC5zZXRWYWx1ZShlKSx0aGlzLl91cGRhdGVBdXRvU2NhbGVEaXNhYmxlZFByb3BlcnR5KCExKSx0LnBlcmNlbnRhZ2UudmFsdWUoKSYmKHQubG9nLnNldFZhbHVlKCExKSx0LmluZGV4ZWRUbzEwMC5zZXRWYWx1ZSghMSkpLHQuaW5kZXhlZFRvMTAwLnZhbHVlKCkmJih0LmxvZy5zZXRWYWx1ZSghMSksdC5wZXJjZW50YWdlLnNldFZhbHVlKCExKSl9X2NvcnJlY3RlZE1hcmdpbnMoKXtpZihudWxsPT09dGhpcy5fY29ycmVjdGVkTWFyZ2luc0NhY2hlKXtjb25zdCBlPXRoaXMubWFpblNvdXJjZSgpO3RoaXMuX2NvcnJlY3RlZE1hcmdpbnNDYWNoZT1udWxsIT09ZT9lLmNvcnJlY3RTY2FsZU1hcmdpbnModGhpcy5fbWFyZ2lucyk6dGhpcy5fbWFyZ2luc31yZXR1cm4gdGhpcy5fY29ycmVjdGVkTWFyZ2luc0NhY2hlfV9nZXRTb3VyY2VzVG9VcGRhdGVWaWV3cygpe3JldHVybiB0aGlzLl9zb3VyY2VzVG9VcGRhdGVWaWV3c3x8KHRoaXMuX3NvdXJjZXNUb1VwZGF0ZVZpZXdzPXRoaXMubV9kYXRhU291cmNlcy5maWx0ZXIoKGU9PiEoMCxyaS5pc0xpbmVUb29sKShlKXx8ZS5pc0FjdHVhbFN5bWJvbCgpJiZlLmlzQWN0dWFsQ3VycmVuY3koKSkpKSx0aGlzLl9zb3VyY2VzVG9VcGRhdGVWaWV3c31fbWFpblNvdXJjZUZvcm1hdHRlcigpe2NvbnN0IGU9dGhpcy5tYWluU291cmNlKCk7cmV0dXJuIGU/LmZvcm1hdHRlcigpfHxGbH1fcHJpY2VUb1BlcmNlbnRPckluZGV4ZWRUbzEwMElmTmVlZGVkKGUsdCl7cmV0dXJuIHRoaXMuaXNQZXJjZW50YWdlKCk/KDAsVGwudG9QZXJjZW50KShlLHQpOnRoaXMuaXNJbmRleGVkVG8xMDAoKT8oMCxUbC50b0luZGV4ZWRUbzEwMCkoZSx0KTplfV9vbklzSW52ZXJ0ZWRDaGFuZ2VkKCl7dGhpcy5fbWFya3NDYWNoZT1udWxsLHRoaXMuX21hcmtCdWlsZGVyLnJlYnVpbGRUaWNrTWFya3MoKX1fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSgpe3RoaXMuX3Jlc2V0U2NhbGVBdmFpbGFibGUuc2V0VmFsdWUoIXRoaXMuaXNMb2NrU2NhbGUoKSYmIXRoaXMuaXNBdXRvU2NhbGUoKSl9fXZhciAkbD1pKDEwOTQyOSksWWw9aSg4Njc4MzEpLEtsPWkoODIwMTgwKSxYbD1pKDEzNjc5KSxabD1pKDUwOTYzKSxKbD1pKDQ3NzMpLFFsPWkoNzAxNTA2KSxlYz1pKDk1MDU1NCk7ZnVuY3Rpb24gdGMoZSl7ZS53aWNrVXBDb2xvcj1lLndpY2tVcENvbG9yPz9lLndpY2tDb2xvcixlLndpY2tEb3duQ29sb3I9ZS53aWNrRG93bkNvbG9yPz9lLndpY2tDb2xvcixkZWxldGUgZS53aWNrQ29sb3J9ZnVuY3Rpb24gaWMoZSl7ZSYmKGUuY29sb3JUeXBlPz89cGkuQ29sb3JUeXBlLlNvbGlkKX1mdW5jdGlvbiBzYyhlLHQsaSl7Y29uc3Qgcz1wYXJzZUludChlLnNsaWNlKDAsMikpLG49cGFyc2VJbnQoZS5zbGljZSgyKSkscj0oMCxvLmdldF9jYWwpKHQsMmUzLG8uSkFOVUFSWSwxLDAsMCwwKTsoMCxvLnNldF9obXMpKHIscyxuLDAsMCx0KTtjb25zdCBhPSgwLG8uY2FsX3RvX3V0YykodCxyLCEwKSxsPSgwLG8udXRjX3RvX2NhbCkoaSxhKTtyZXR1cm5gJHtsLmdldFVUQ0hvdXJzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9JHtsLmdldFVUQ01pbnV0ZXMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gfWNvbnN0IG5jPSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuUGFuZSIpO3ZhciByYztmdW5jdGlvbiBvYyhlLHQsaSl7ZS5zZXRNYXJnaW5zKHt0b3A6dCxib3R0b206aX0pfSFmdW5jdGlvbihlKXtlW2UuRGVmYXVsdFN0cmV0Y2hGYWN0b3I9MWUzXT0iRGVmYXVsdFN0cmV0Y2hGYWN0b3IiLGVbZS5MYXJnZVBhbmVTaXplUmF0aW89MV09IkxhcmdlUGFuZVNpemVSYXRpbyIsZVtlLk1lZGl1bVBhbmVTaXplUmF0aW89LjZdPSJNZWRpdW1QYW5lU2l6ZVJhdGlvIixlW2UuU21hbGxQYW5lU2l6ZVJhdGlvPS4zXT0iU21hbGxQYW5lU2l6ZVJhdGlvIixlW2UuVGlueVBhbmVTaXplUmF0aW89LjE1XT0iVGlueVBhbmVTaXplUmF0aW8ifShyY3x8KHJjPXt9KSkKO2NvbnN0IGFjPSJjaGFydC5wYW5lIjtjbGFzcyBsY3tjb25zdHJ1Y3RvcihlLHQsaSxzLG4pe3RoaXMubV9kYXRhU291cmNlcz1bXSx0aGlzLl9zb3VyY2VXYXRjaGVkVmFsdWVzU3Vic2NyaXB0aW9ucz1uZXcgTWFwLHRoaXMubV9tYWluRGF0YVNvdXJjZT1udWxsLHRoaXMuX2NhY2hlZE9yZGVyZWRTb3VyY2VzPW5ldyBDbCh0aGlzKSx0aGlzLl9zb3VyY2VzQnlJZD1uZXcgTWFwLHRoaXMuX3ByaWNlU291cmNlc0J5SWQ9bmV3IE1hcCx0aGlzLl9zb3VyY2VQcm9wZXJ0aWVzQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zb3VyY2VzWk9yZGVyQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl90YWdzQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zdHJldGNoRmFjdG9yPTFlMyx0aGlzLl9pc0luSW5zZXJ0TWFueURhdGFTb3VyY2VzU3RhdGU9ITEsdGhpcy5fbGFzdExpbmVEYXRhU291cmNlWk9yZGVyPW51bGwsdGhpcy5fcmlnaHRQcmljZVNjYWxlcz1bXSx0aGlzLl9sZWZ0UHJpY2VTY2FsZXM9W10sdGhpcy5fbG9ja2VkUHJpY2VTY2FsZT1udWxsLHRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW89bnVsbCx0aGlzLl9vblByaWNlU2NhbGVzQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9pc1JlY2FsY3VsYXRpbmdTY2FsZXM9ITEsdGhpcy5fcHJpY2VEYXRhU291cmNlcz1bXSx0aGlzLl9zeW1ib2xTb3VyY2VzPVtdLHRoaXMuX3N0dWR5U291cmNlcz1bXSx0aGlzLl9sb2xsaXBvcERhdGFTb3VyY2VzPVtdLHRoaXMuX3N5bWJvbFNvdXJjZVJlc29sdmVkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZT1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2J1bGtBY3Rpb25zPXthY3RpdmVDb3VudGVyOjB9LHRoaXMuX2hlaWdodD0wLHRoaXMuX3dpZHRoPTAsdGhpcy5fc2l6ZUNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fZGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3N5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3ByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2lzTWFpblBhbmU9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9jb2xsYXBzZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9yZXNldFByaWNlU2NhbGVzQXZhaWxhYmxlPW5ldyBoLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fZGVzdHJveWVkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2V4ZWN1dGlvbnNQb3NpdGlvbkNvbnRyb2xsZXI9bnVsbCx0aGlzLl9zZXJpZXNEaXNwbGF5RXJyb3I9bnVsbCx0aGlzLl9vblByaWNlU2NhbGVJc1Zpc2libGVDaGFuZ2VkPSgpPT57dGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpfSx0aGlzLl9yZWNhbGNTeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmU9KCk9Pntmb3IoY29uc3QgZSBvZiB0aGlzLl9zeW1ib2xTb3VyY2VzKWlmKGUuc3ltYm9sUmVzb2x2aW5nQWN0aXZlKCkudmFsdWUoKSlyZXR1cm4gdm9pZCB0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITApO3RoaXMuX3N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZS5zZXRWYWx1ZSghMSl9LHRoaXMuX29uU3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQ9KCk9PnswPT09dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlcj90aGlzLl9zeW1ib2xTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKCk6dGhpcy5fYnVsa0FjdGlvbnMuc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQ9ITB9LHRoaXMuX29uU2VyaWVzRGlzcGxheUVycm9yPWU9Pnt9LHRoaXMuX3VwZGF0ZVJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGVWYWx1ZT0oKT0+e2NvbnN0IGU9ZT0+ZS5yZXNldFNjYWxlQXZhaWxhYmxlKCkudmFsdWUoKSx0PXRoaXMuX2xlZnRQcmljZVNjYWxlcy5zb21lKGUpfHx0aGlzLl9yaWdodFByaWNlU2NhbGVzLnNvbWUoZSk7dGhpcy5fcmVzZXRQcmljZVNjYWxlc0F2YWlsYWJsZS5zZXRWYWx1ZSh0KX0sdGhpcy5fcHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5PSgwLGNsLmNyZWF0ZVByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneSkoaS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5TmFtZS52YWx1ZSgpKSx0aGlzLl9pZD1zPz8oMCxsdC5yYW5kb21IYXNoTikoNiksdGhpcy5fbW9kZT1uPz9NLlBhbmVNb2RlLlJlZ3VsYXIsdGhpcy5fdGltZVNjYWxlPWUsdGhpcy5tX21haW5EYXRhU291cmNlPW51bGwsdGhpcy5fcHJvcGVydGllcz10LHRoaXMuX21vZGVsPWksdGhpcy5fbWF4aW1pemVkPSgwLHUuY29tYmluZSkoKGU9PmU9PT10aGlzKSxpLm1heGltaXplZFBhbmUoKS5zcGF3bk93bmVyc2hpcCgpKSx0aGlzLl9jb2xsYXBzaW5nQXZhaWxhYmxlPSgwLHUuY29tYmluZSkoKChlLHQpPT4hZSYmdCksdGhpcy5faXNNYWluUGFuZS53ZWFrUmVmZXJlbmNlKCksaS5wYW5lQ29sbGFwc2luZ0F2YWlsYWJsZSgpLndlYWtSZWZlcmVuY2UoKSksaS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5TmFtZS5zdWJzY3JpYmUobnVsbCwoZT0+e3RoaXMuX3ByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneT0oMCxjbC5jcmVhdGVQcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3kpKGUudmFsdWUoKSksdGhpcy5fcHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5LmFwcGx5KHRoaXMpfSkpLHRoaXMuX3RpbWVTY2FsZS5iYXJTcGFjaW5nQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMubV9tYWluRGF0YVNvdXJjZT09PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSYmdGhpcy5fcmVjYWxjdWxhdGVQcmljZVNjYWxlQnlTY2FsZVJhdGlvKHRoaXMubV9tYWluRGF0YVNvdXJjZS5wcmljZVNjYWxlKCkpfSkpLGkub25NdWx0aXBhbmVTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9pbnZhbGlkYXRlU291cmNlc0NhY2hlKSwKaS5wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5faW52YWxpZGF0ZVNvdXJjZXNDYWNoZSksdC5jaGlsZHMoKS50b3BNYXJnaW4uc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlTWFyZ2lucyksdC5jaGlsZHMoKS5ib3R0b21NYXJnaW4uc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlTWFyZ2lucyksdGhpcy5fbGluZVRvb2xzQnlMaW5rS2V5PW5ldyBobCgoZT0+ZS5saW5rS2V5KCkudmFsdWUoKSksKGU9PmUuaWQoKSkpLHRoaXMuX3VwZGF0ZU1hcmdpbnMoKX1kZXN0cm95KCl7aWYodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS50b3BNYXJnaW4udW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5ib3R0b21NYXJnaW4udW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWUudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fdGltZVNjYWxlLmJhclNwYWNpbmdDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbGVmdFByaWNlU2NhbGVzLmNvbmNhdCh0aGlzLl9yaWdodFByaWNlU2NhbGVzKS5mb3JFYWNoKChlPT57ZS5tb2RlQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUucHJpY2VSYW5nZUNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLmludGVybmFsSGVpZ2h0Q2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUuaXNWaXNpYmxlKCkudW5zdWJzY3JpYmUodGhpcy5fb25QcmljZVNjYWxlSXNWaXNpYmxlQ2hhbmdlZCksZS5yZXNldFNjYWxlQXZhaWxhYmxlKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUmVzZXRQcmljZVNjYWxlc0F2YWlsYWJsZVZhbHVlKX0pKSx0aGlzLl9tb2RlPT09TS5QYW5lTW9kZS5SZWd1bGFyKWZvcihjb25zdCBlIG9mIHRoaXMubV9kYXRhU291cmNlcyl0aGlzLnJlbW92ZVNvdXJjZUZyb21QcmljZVNjYWxlKGUpLGUuZGVzdHJveSYmZS5kZXN0cm95KCk7dGhpcy5fc2VyaWVzRGlzcGxheUVycm9yPy5kZXN0cm95KCksdGhpcy5fbW9kZWwub25NdWx0aXBhbmVTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tb2RlbC5wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbWF4aW1pemVkLmRlc3Ryb3koKSx0aGlzLl9jb2xsYXBzaW5nQXZhaWxhYmxlLmRlc3Ryb3koKSx0aGlzLl9kZXN0cm95ZWQuZmlyZSgpfWlkKCl7cmV0dXJuIHRoaXMuX2lkfW1vZGUoKXtyZXR1cm4gdGhpcy5fbW9kZX1idWxrQWN0aW9uTWFjcm8oZSl7dGhpcy5iZWdpbkJ1bGtBY3Rpb24oKSxlKCksdGhpcy5lbmRCdWxrQWN0aW9uKCl9YmVnaW5CdWxrQWN0aW9uKCl7dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlcis9MX1lbmRCdWxrQWN0aW9uKCl7dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlci09MSx0aGlzLl9wcm9jZXNzQWZ0ZXJCdWxrQWN0aW9uKCl9ZGVmYXVsdFByaWNlU2NhbGUoKXtjb25zdCBlPXRoaXMubV9tYWluRGF0YVNvdXJjZT8ucHJpY2VTY2FsZSgpPz9udWxsO2lmKG51bGwhPT1lKXJldHVybiBlO2NvbnN0IHQ9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYXhpc1Byb3BlcnRpZXMuc3RhdGUoKTtyZXR1cm4gdC5hdXRvU2NhbGU9ITAsbmV3IHFsKHRoaXMuX21vZGVsLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLHQpfWxlZnRQcmljZVNjYWxlcygpe3JldHVybiB0aGlzLl9sZWZ0UHJpY2VTY2FsZXN9cmlnaHRQcmljZVNjYWxlcygpe3JldHVybiB0aGlzLl9yaWdodFByaWNlU2NhbGVzfXZpc2libGVMZWZ0UHJpY2VTY2FsZXMoKXtjb25zdCBlPXRoaXMuX21vZGVsLnByaWNlU2NhbGVTbG90c0NvdW50KCksdD10aGlzLl9sZWZ0UHJpY2VTY2FsZXMuZmlsdGVyKChlPT5lLmlzVmlzaWJsZSgpLnZhbHVlKCkpKSxpPXRoaXMubWFpbkRhdGFTb3VyY2UoKT8ucHJpY2VTY2FsZSgpO2lmKHQubGVuZ3RoPmUubGVmdCYmaT8uaXNWaXNpYmxlKCkudmFsdWUoKSl7Y29uc3Qgcz0oMCxnLm1vdmVUb0hlYWQpKHQsaSk7cmV0dXJuIHMuc3BsaWNlKGUubGVmdCksc31yZXR1cm4gdH12aXNpYmxlUmlnaHRQcmljZVNjYWxlcygpe2NvbnN0IGU9dGhpcy5fbW9kZWwucHJpY2VTY2FsZVNsb3RzQ291bnQoKSx0PXRoaXMuX3JpZ2h0UHJpY2VTY2FsZXMuZmlsdGVyKChlPT5lLmlzVmlzaWJsZSgpLnZhbHVlKCkpKSxpPXRoaXMubWFpbkRhdGFTb3VyY2UoKT8ucHJpY2VTY2FsZSgpO2lmKHQubGVuZ3RoPmUucmlnaHQmJmk/LmlzVmlzaWJsZSgpLnZhbHVlKCkpe2NvbnN0IHM9KDAsZy5tb3ZlVG9IZWFkKSh0LGkpO3JldHVybiBzLnNwbGljZShlLnJpZ2h0KSxzfXJldHVybiB0fWNsZWFyU2VyaWVzKGUpe2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblNlcmllcygpO2ZvcihsZXQgaT10aGlzLm1fZGF0YVNvdXJjZXMubGVuZ3RoLTE7aT49MDtpLS0pdGhpcy5tX2RhdGFTb3VyY2VzW2ldPT09dCYmdGhpcy5fcmVtb3ZlU291cmNlRnJvbUNvbGxlY3Rpb25zKGksZSl9c291cmNlc0J5R3JvdXAoKXtyZXR1cm4gdGhpcy5fY2FjaGVkT3JkZXJlZFNvdXJjZXN9ZGF0YVNvdXJjZUZvcklkKGUpe3JldHVybiB0aGlzLl9zb3VyY2VzQnlJZC5nZXQoZSl8fG51bGx9bGluZVRvb2xCeUxpbmtLZXkoZSl7cmV0dXJuIHRoaXMuX2xpbmVUb29sc0J5TGlua0tleS5nZXRCeUtleTEoZSl9Y2hhbmdlU291cmNlSWQoZSx0KXtlPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpJiYoMCxsbC5nZXRQZXJzaXN0ZW50TG9nZ2VyKSgpPy5hZGRQZXJzaXN0ZW50TG9nRW50cnkoYGNoYW5nZVNvdXJjZUlkIGZvciBzZXJpZXMgZnJvbSAke2UuaWQoKX0gdG8gJHt0fWAsYy5MT0dMRVZFTC5JTkZPLGFjKSwoMCxsLmFzc2VydCkodGhpcy5oYXNEYXRhU291cmNlKGUpKTtjb25zdCBpPWUuaWQoKTtlLnNldElkKHQpLHRoaXMuX3NvdXJjZXNCeUlkLmRlbGV0ZShpKSx0aGlzLl9zb3VyY2VzQnlJZC5zZXQodCxlKSwoMCwKSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpJiYodGhpcy5fcHJpY2VTb3VyY2VzQnlJZC5kZWxldGUoaSksdGhpcy5fcHJpY2VTb3VyY2VzQnlJZC5zZXQodCxlKSl9bW92ZVByaWNlU2NhbGUoZSx0LGkpe2NvbnN0IHM9dGhpcy5wcmljZVNjYWxlUG9zaXRpb24oZSk7aWYocyE9PXQpdGhpcy5yZW1vdmVQcmljZVNjYWxlKGUpLHRoaXMuX3BsYWNlUHJpY2VTY2FsZShlLHQsaSksZS5pbnZhbGlkYXRlTWFyZ2lucygpLHRoaXMuX2ludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKTtlbHNlIGlmKHZvaWQgMCE9PWkmJiJvdmVybGF5IiE9PXMpe2NvbnN0IHQ9ImxlZnQiPT09cz90aGlzLl9sZWZ0UHJpY2VTY2FsZXM6dGhpcy5fcmlnaHRQcmljZVNjYWxlcyxuPXQuaW5kZXhPZihlKTt0LnNwbGljZShuLDEpLHQuc3BsaWNlKGksMCxlKX19bWFpbkRhdGFTb3VyY2UoKXtyZXR1cm4gdGhpcy5tX21haW5EYXRhU291cmNlfWlzRW1wdHkoKXtyZXR1cm4gbnVsbD09PXRoaXMubV9tYWluRGF0YVNvdXJjZX1yZWNhbGN1bGF0ZVByaWNlU2NhbGUoZSx0KXtpZighZSlyZXR1cm47bGV0IGk9ZS5zb3VyY2VzRm9yQXV0b3NjYWxlKCk7aWYoZT09PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCkmJihpPVsuLi5pLC4uLnRoaXMuX2NhY2hlZE9yZGVyZWRTb3VyY2VzLm11bHRpcGFuZVNvdXJjZXMoKV0pLChlLmlzQXV0b1NjYWxlKCl8fGUucHJpY2VSYW5nZVNob3VsZEJlUmVjYWxjdWxhdGVkT25jZSgpfHxudWxsPT09ZS5wcmljZVJhbmdlKCkpJiZpLmxlbmd0aD4wJiYhdGhpcy50aW1lU2NhbGUoKS5pc0VtcHR5KCkpe2NvbnN0IGk9ZS5wcmljZVJhbmdlKCkscz10aGlzLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSxuPXRoaXMudGltZVNjYWxlKCkubG9naWNhbFJhbmdlKCk7ZS5yZWNhbGN1bGF0ZVByaWNlUmFuZ2UocyxuKSxQbC5QcmljZVJhbmdlLmNvbXBhcmUoaSxlLnByaWNlUmFuZ2UoKSl8fGUudXBkYXRlQWxsVmlld3ModCl9fW9uU291cmNlVGFnc0NoYW5nZWQoKXt0aGlzLl90YWdzQ2hhbmdlZC5maXJlKCl9aW5zZXJ0RGF0YVNvdXJjZShlLHQsaSxzKXtlLnNldFpvcmRlcihpKSx0fHwocz0hMSx0PXRoaXMuZmluZFN1aXRhYmxlU2NhbGUoZSkpLHRoaXMuX2FkZFNvdXJjZVRvQ29sbGVjdGlvbnMoZSk7bGV0IG49ITE7ZT09PXRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCk/KHRoaXMubV9tYWluRGF0YVNvdXJjZT10aGlzLm1vZGVsKCkubWFpblNlcmllcygpLG49ITApOm51bGw9PT10aGlzLm1fbWFpbkRhdGFTb3VyY2UmJigwLEhzLmlzUHJpY2VEYXRhU291cmNlKShlKSYmKHRoaXMubV9tYWluRGF0YVNvdXJjZT1lLG49ITApLHN8fHQuYWRkRGF0YVNvdXJjZShlLHRoaXMuX2lzSW5JbnNlcnRNYW55RGF0YVNvdXJjZXNTdGF0ZSksZS5zZXRQcmljZVNjYWxlKHQpLHQuaW52YWxpZGF0ZU1hcmdpbnMoKSxlLm9uVGFnc0NoYW5nZWQmJmUub25UYWdzQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMub25Tb3VyY2VUYWdzQ2hhbmdlZCksbiYmdGhpcy5fbW9kZT09PU0uUGFuZU1vZGUuUmVndWxhciYmdGhpcy5fcHJvY2Vzc01haW5Tb3VyY2VDaGFuZ2UoKSx0aGlzLl90YWdzQ2hhbmdlZC5maXJlKCksKDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpJiZ0aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZSh0LCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSx0aGlzLl9pbnZhbGlkYXRlU291cmNlc0NhY2hlKCksdGhpcy5faXNJbkluc2VydE1hbnlEYXRhU291cmNlc1N0YXRlfHwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMubW9kZWwoKS5hbGVydHNXYXRjaGVyKCkpLnN5bmNTb3VyY2VBbGVydExhYmVscyhlKX1hZGREYXRhU291cmNlKGUsdCxpKXtsZXQgcz1lLnpvcmRlcigpO2l8fCgoMCxyaS5pc0xpbmVUb29sKShlKSYmIWUuaXNTcGVjaWFsbHlaT3JkZXJlZFNvdXJjZSgpPyhzPW51bGwhPT10aGlzLl9sYXN0TGluZURhdGFTb3VyY2VaT3JkZXI/dGhpcy5fbGFzdExpbmVEYXRhU291cmNlWk9yZGVyKzE6dGhpcy5uZXdMaW5lVG9vbFpPcmRlcigpLHRoaXMuX2lzSW5JbnNlcnRNYW55RGF0YVNvdXJjZXNTdGF0ZSYmKHRoaXMuX2xhc3RMaW5lRGF0YVNvdXJjZVpPcmRlcj1zKSk6KDAsdGkuaXNTdHVkeSkoZSkmJiFlLmlzU3BlY2lhbGx5Wk9yZGVyZWRTb3VyY2UoKSYmKHM9dGhpcy5uZXdTdHVkeVpPcmRlcigpKSksdGhpcy5pbnNlcnREYXRhU291cmNlKGUsdCxzKX1yZW1vdmVEYXRhU291cmNlKGUsdD0hMSxpPSExLHM9ITEpe2xldCBuPXRoaXMubV9kYXRhU291cmNlcy5pbmRleE9mKGUpO2lmKC0xPT09bilyZXR1cm4gdm9pZCBuYy5sb2dEZWJ1ZygicmVtb3ZlRGF0YVNvdXJjZTogaW52YWxpZCBkYXRhIHNvdXJjZSIpOygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5tb2RlbCgpLmFsZXJ0c1dhdGNoZXIoKSkuZGV0YWNoU291cmNlQWxlcnRMYWJlbHMoZSksbj10aGlzLm1fZGF0YVNvdXJjZXMuaW5kZXhPZihlKSx0aGlzLl9yZW1vdmVTb3VyY2VGcm9tQ29sbGVjdGlvbnMobixpKSxlPT09dGhpcy5tX21haW5EYXRhU291cmNlJiYodGhpcy5tX21haW5EYXRhU291cmNlPW51bGwpO2NvbnN0IHI9ZS5wcmljZVNjYWxlKCk7c3x8dGhpcy5yZW1vdmVTb3VyY2VGcm9tUHJpY2VTY2FsZShlKSxlLm9uVGFnc0NoYW5nZWQmJmUub25UYWdzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5vblNvdXJjZVRhZ3NDaGFuZ2VkKSwoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSkmJiF0JiZ0aGlzLl9wcm9jZXNzTWFpblNvdXJjZUNoYW5nZSgpLCgwLHRpLmlzU3R1ZHkpKGUpJiZlLm1ldGFJbmZvKCkuaGFzRm9yY2VPdmVybGF5UGxvdHMoKSYmdGhpcy5fbW9kZWwucmVtb3ZlTXVsdGlQYW5lU291cmNlKGUpLHRoaXMuX3RhZ3NDaGFuZ2VkLmZpcmUoKSxyJiYoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSkmJnRoaXMucmVjYWxjdWxhdGVQcmljZVNjYWxlKHIsKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpLHRoaXMuX2ludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKX1oYXNEYXRhU291cmNlKGUpe3JldHVybiB0aGlzLl9zb3VyY2VzQnlJZC5oYXMoZS5pZCgpKX0KaGFzRGF0YVNvdXJjZVdpdGhTaWduYXR1cmUoZSl7cmV0dXJuIHRoaXMuX3ByaWNlRGF0YVNvdXJjZXMuc29tZSgodD0+dC5zaWduYXR1cmUoKS52YWx1ZSgpPT09ZSkpfWhhc1ByaWNlRGF0YVNvdXJjZShlKXtyZXR1cm4gdGhpcy5fcHJpY2VTb3VyY2VzQnlJZC5oYXMoZS5pZCgpKX1kYXRhU291cmNlcygpe3JldHVybiB0aGlzLm1fZGF0YVNvdXJjZXN9cHJpY2VEYXRhU291cmNlcygpe3JldHVybiB0aGlzLl9wcmljZURhdGFTb3VyY2VzfXN0dWR5U291cmNlcygpe3JldHVybiB0aGlzLl9zdHVkeVNvdXJjZXN9bG9sbGlwb3BEYXRhU291cmNlcygpe3JldHVybiB0aGlzLl9sb2xsaXBvcERhdGFTb3VyY2VzfXN5bWJvbFNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fc3ltYm9sU291cmNlc31yZXBsYWNlU291cmNlKGUsdCxpKXtjb25zdCBzPXRoaXMubV9tYWluRGF0YVNvdXJjZT09PWUsbj1pPy5yZXBsYWNlU291cmNlKGUsdCk7dGhpcy5yZW1vdmVEYXRhU291cmNlKGUsITAsdm9pZCAwLG4pLHRoaXMuaW5zZXJ0RGF0YVNvdXJjZSh0LGksZS56b3JkZXIoKSxuKSx0aGlzLl9zb3VyY2VzQnlJZC5zZXQodC5pZCgpLHQpLCgwLEhzLmlzUHJpY2VEYXRhU291cmNlKSh0KSYmdGhpcy5fcHJpY2VTb3VyY2VzQnlJZC5zZXQodC5pZCgpLHQpLHMmJih0aGlzLm1fbWFpbkRhdGFTb3VyY2U9dCx0aGlzLl9wcm9jZXNzTWFpblNvdXJjZUNoYW5nZSgpKX1maW5kU3VpdGFibGVTY2FsZShlLHQsaSl7cmV0dXJuIHRoaXMuX3ByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneS5maW5kU3VpdGFibGVTY2FsZSh0aGlzLGUsdCxpKX1jcmVhdGVOZXdQcmljZVNjYWxlSWZQb3NzaWJsZSgpe3JldHVybiB0aGlzLl9wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3kuY3JlYXRlTmV3UHJpY2VTY2FsZUlmUG9zc2libGUodGhpcyl9Y2FuQ3JlYXRlTmV3UHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLl9wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3kuY2FuQ3JlYXRlTmV3UHJpY2VTY2FsZSh0aGlzKX1pc092ZXJsYXkoZSl7Y29uc3QgdD1lLnByaWNlU2NhbGUoKTtyZXR1cm4gbnVsbD09PXR8fCJvdmVybGF5Ij09PXRoaXMucHJpY2VTY2FsZVBvc2l0aW9uKHQpfXJlY2FsY3VsYXRlKGUpe3RoaXMuX2xlZnRQcmljZVNjYWxlcy5mb3JFYWNoKCh0PT50aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZSh0LGUpKSksdGhpcy5fcmlnaHRQcmljZVNjYWxlcy5mb3JFYWNoKCh0PT50aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZSh0LGUpKSk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5tX2RhdGFTb3VyY2VzKXRoaXMuaXNPdmVybGF5KHQpJiYhKDAscmkuaXNMaW5lVG9vbCkodCkmJnRoaXMucmVjYWxjdWxhdGVQcmljZVNjYWxlKHQucHJpY2VTY2FsZSgpLGUpO3RoaXMudXBkYXRlQWxsVmlld3MoZSksdGhpcy5fbW9kZWwudXBkYXRlUGFuZSh0aGlzKX11cGRhdGVBbGxWaWV3cyhlKXtjb25zdCB0PXRoaXMuX2NhY2hlZE9yZGVyZWRTb3VyY2VzLmFsbCgpO2Zvcihjb25zdCBpIG9mIHQpaS51cGRhdGVBbGxWaWV3cyhlKTtmb3IoY29uc3QgdCBvZiB0aGlzLm1vZGVsKCkuY3VzdG9tU291cmNlcygpKXQudXBkYXRlVmlld3NGb3JQYW5lKHRoaXMsZSl9dXBkYXRlTG9sbGlwb3BWaWV3cyhlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9sb2xsaXBvcERhdGFTb3VyY2VzKXQudXBkYXRlQWxsVmlld3MoZSl9cHJpY2VTY2FsZVBvc2l0aW9uKGUpe3JldHVybiB0aGlzLl9sZWZ0UHJpY2VTY2FsZXMuaW5jbHVkZXMoZSk/ImxlZnQiOnRoaXMuX3JpZ2h0UHJpY2VTY2FsZXMuaW5jbHVkZXMoZSk/InJpZ2h0Ijoib3ZlcmxheSJ9Y3JlYXRlUHJpY2VTY2FsZUF0UG9zaXRpb24oZSx0KXtjb25zdCBpPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmF4aXNQcm9wZXJ0aWVzLnN0YXRlKCk7aS5hdXRvU2NhbGU9ITA7Y29uc3Qgcz1uZXcgcWwodGhpcy5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLGkpO3JldHVybiBzLnNldEhlaWdodCh0aGlzLmhlaWdodCgpKSxvYyhzLHRoaXMuX2RlZmF1bHRUb3BNYXJnaW4oKSx0aGlzLl9kZWZhdWx0Qm90dG9tTWFyZ2luKCkpLHRoaXMuX3BsYWNlUHJpY2VTY2FsZShzLGUsdCksc31yZW1vdmVQcmljZVNjYWxlKGUpe2UubW9kZUNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLnByaWNlUmFuZ2VDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS5pbnRlcm5hbEhlaWdodENoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLmlzVmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX29uUHJpY2VTY2FsZUlzVmlzaWJsZUNoYW5nZWQpLGUucmVzZXRTY2FsZUF2YWlsYWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGVWYWx1ZSksZT09PXRoaXMuX2xvY2tlZFByaWNlU2NhbGUmJih0aGlzLl9sb2NrZWRQcmljZVNjYWxlPW51bGwsdGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbz1udWxsKTtjb25zdCB0PXRoaXMuX2xlZnRQcmljZVNjYWxlcy5pbmRleE9mKGUpOy0xIT09dCYmKHRoaXMuX2xlZnRQcmljZVNjYWxlc1t0XS5pbnZhbGlkYXRlTWFyZ2lucygpLHRoaXMuX2xlZnRQcmljZVNjYWxlcy5zcGxpY2UodCwxKSk7Y29uc3QgaT10aGlzLl9yaWdodFByaWNlU2NhbGVzLmluZGV4T2YoZSk7aWYoLTEhPT1pJiYodGhpcy5fcmlnaHRQcmljZVNjYWxlc1tpXS5pbnZhbGlkYXRlTWFyZ2lucygpLHRoaXMuX3JpZ2h0UHJpY2VTY2FsZXMuc3BsaWNlKGksMSkpLG51bGw9PT1lLm1haW5Tb3VyY2UoKSl7Y29uc3QgdD1lLmRhdGFTb3VyY2VzKCkubGVuZ3RoOzAhPT10JiZuYy5sb2dFcnJvcigiSW52YWxpZCBwcmljZVNjYWxlIHN0YXRlOiBlbXB0eSBtYWluU291cmNlIGJ1dCBub24tZW1wdHkgZGF0YSBzb3VyY2VzPSIrdCl9dGhpcy5fb25QcmljZVNjYWxlc0NoYW5nZWQuZmlyZSgpLHRoaXMuX3VwZGF0ZVJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGVWYWx1ZSgpfXByaWNlU2NhbGVJbmRleChlLHQpe3N3aXRjaCh0KXtjYXNlImxlZnQiOnJldHVybiB0aGlzLmxlZnRQcmljZVNjYWxlcygpLmluZGV4T2YoZSk7Y2FzZSJyaWdodCI6CnJldHVybiB0aGlzLnJpZ2h0UHJpY2VTY2FsZXMoKS5pbmRleE9mKGUpfX1tb3ZlKGUsdCxpKXtjb25zdCBzPWUucHJpY2VTY2FsZSgpO3RoaXMucmVtb3ZlU291cmNlRnJvbVByaWNlU2NhbGUoZSksdC5hZGREYXRhU291cmNlKGUpLGUuc2V0UHJpY2VTY2FsZSh0KSx0LmludmFsaWRhdGVNYXJnaW5zKCksdGhpcy5fcHJvY2Vzc01haW5Tb3VyY2VDaGFuZ2UoKSx0aGlzLl9pbnZhbGlkYXRlU291cmNlc0NhY2hlKCksZS5pc0luY2x1ZGVkSW5BdXRvU2NhbGUoKSYmKG51bGwhPT1zJiZ0aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZShzLCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSx0aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZSh0LCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSksdGhpcy5fb25QcmljZVNjYWxlc0NoYW5nZWQuZmlyZSgpfXNldFpPcmRlcnMoZSl7ZS5mb3JFYWNoKCgoZSx0KT0+e3Quc2V0Wm9yZGVyKGUpfSkpLHRoaXMuX2ludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKSx0aGlzLl9vbkRhdGFTb3VyY2VzWk9yZGVyc0NoYW5nZWQoKSwwPT09dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlciYmdGhpcy5fZGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKCksdGhpcy5tb2RlbCgpLmZ1bGxVcGRhdGUoKX1pc01haW5QYW5lKCl7cmV0dXJuIHRoaXMuX2lzTWFpblBhbmUucmVhZG9ubHkoKX1pc0xhc3QoKXtjb25zdCBlPXRoaXMubW9kZWwoKS5wYW5lcygpO3JldHVybiBlW2UubGVuZ3RoLTFdPT09dGhpc31uZXdTdHVkeVpPcmRlcigpe3JldHVybigwLENvLm5ld1N0dWR5Wk9yZGVyKSh0aGlzLl9wcmljZURhdGFTb3VyY2VzKX1uZXdMaW5lVG9vbFpPcmRlcihlKXtyZXR1cm4oMCxDby5uZXdMaW5lVG9vbFpPcmRlcikodGhpcy5zb3VyY2VzQnlHcm91cCgpLnpPcmRlclZpc2libGVTb3VyY2VzKCksZSl9bW9kZWwoKXtyZXR1cm4gdGhpcy5fbW9kZWx9Y29udGFpbnNNYWluU2VyaWVzKCl7cmV0dXJuIHRoaXMuX3NvdXJjZXNCeUlkLmhhcyh0aGlzLm1vZGVsKCkubWFpblNlcmllcygpLmlkKCkpfWFwcGx5UHJpY2VTY2FsZVJhdGlvKGUsdCl7bnVsbCE9PXRoaXMuX2xvY2tlZFByaWNlU2NhbGUmJnRoaXMuX2xvY2tlZFByaWNlU2NhbGUhPT1lfHx0aGlzLl9jdXJyZW50UHJpY2VTY2FsZVJhdGlvPT09dHx8IXRoaXMuaXNNYWluUGFuZSgpLnZhbHVlKCl8fG51bGw9PT10aGlzLl9sb2NrZWRQcmljZVNjYWxlJiZlIT09dGhpcy5tYWluRGF0YVNvdXJjZSgpPy5wcmljZVNjYWxlKCl8fCh0aGlzLl9zZXROZXdQcmljZVJhbmdlQnlTY2FsZVJhdGlvKGUsdCx0aGlzLl9tYWluU291cmNlVmlzaWJsZVByaWNlUmFuZ2UoZSksITAsITApLG51bGwhPT10aGlzLl9sb2NrZWRQcmljZVNjYWxlP3RoaXMuX3RyeVRvQXBwbHlOZXdQcmljZVNjYWxlUmF0aW8oKTplLmlzTG9nKCl8fHRoaXMubW9kZWwoKS5tYWluU2VyaWVzU2NhbGVSYXRpb1Byb3BlcnR5T25DaGFuZ2VkKCkpfXNlbmRUb0JhY2soZSl7Y29uc3QgdD10aGlzLnNvdXJjZXNCeUdyb3VwKCkuek9yZGVyVmlzaWJsZVNvdXJjZXMoKTt0aGlzLl9iYXRjaFJlb3JkZXIoZSx0WzBdLENvLm1vdmVCZWZvcmVTb3VyY2UpfWJyaW5nVG9Gcm9udChlKXtjb25zdCB0PXRoaXMuc291cmNlc0J5R3JvdXAoKS5hbGxFeGNlcHRTcGVjaWFsU291cmNlcygpO3RoaXMuX2JhdGNoUmVvcmRlcihlLHRbdC5sZW5ndGgtMV0sQ28ubW92ZUFmdGVyU291cmNlKX1zZW5kQmFja3dhcmQoZSl7Y29uc3QgdD10aGlzLnNvdXJjZXNCeUdyb3VwKCkuYWxsSW5jbHVkaW5nSGlkZGVuKCksaT10LmluZGV4T2YoZVswXSk7aWYoMD09PWkpdGhpcy5icmluZ1RvRnJvbnQoZSk7ZWxzZXtjb25zdCBzPXRbaS0xXTt0aGlzLmluc2VydEJlZm9yZShlLHMpfX1icmluZ0ZvcndhcmQoZSl7Y29uc3QgdD10aGlzLnNvdXJjZXNCeUdyb3VwKCkuYWxsRXhjZXB0U3BlY2lhbFNvdXJjZXMoKSxpPXQuaW5kZXhPZihlW2UubGVuZ3RoLTFdKTtpZihpPT09dC5sZW5ndGgtMSl0aGlzLnNlbmRUb0JhY2soZSk7ZWxzZXtjb25zdCBzPXRbaSsxXTt0aGlzLmluc2VydEFmdGVyKGUscyl9fWluc2VydEFmdGVyKGUsdCl7dGhpcy5fYmF0Y2hSZW9yZGVyKGUsdCxDby5tb3ZlQWZ0ZXJTb3VyY2UpfWluc2VydEJlZm9yZShlLHQpe3RoaXMuX2JhdGNoUmVvcmRlcihlLHQsQ28ubW92ZUJlZm9yZVNvdXJjZSl9bWF4aW1pemVkKCl7cmV0dXJuIHRoaXMuX21heGltaXplZH1jb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy5fY29sbGFwc2VkfWNvbGxhcHNpbmdBdmFpbGFibGUoKXtyZXR1cm4gdGhpcy5fY29sbGFwc2luZ0F2YWlsYWJsZX1nZXRQcmljZVNjYWxlQnlJZChlKXtjb25zdCB0PXRoaXMubV9kYXRhU291cmNlcy5maW5kKCh0PT50LnByaWNlU2NhbGUoKT8uaWQoKT09PWUpKTtyZXR1cm4gdm9pZCAwPT09dD9udWxsOnQucHJpY2VTY2FsZSgpfXByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneSgpe3JldHVybiB0aGlzLl9wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3l9c2V0UHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5KGUpe3RoaXMuX3ByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneT1lLGUuYXBwbHkodGhpcyl9ZmluZFRhcmdldFByaWNlQXhpc1ZpZXdzKGUsdCxpLHMpe2lmKCgwLEFpLmlzRGF0YVNvdXJjZSkoZSkmJnRoaXMubW9kZWwoKS5wYW5lRm9yU291cmNlKGUpIT09dGhpcylyZXR1cm5bXTtjb25zdCBuPWUucHJpY2VTY2FsZSgpO2lmKHQ9PT1uKXJldHVybiBpO2lmKG51bGw9PT1uKXJldHVybltdO2lmKCJvdmVybGF5Ij09PXRoaXMucHJpY2VTY2FsZVBvc2l0aW9uKG4pKXJldHVybiB0PT09dGhpcy5kZWZhdWx0UHJpY2VTY2FsZSgpP2k6W107Y29uc3Qgcj10aGlzLnByaWNlU2NhbGVQb3NpdGlvbih0KTtpZihyIT09dGhpcy5wcmljZVNjYWxlUG9zaXRpb24obikpcmV0dXJuW107Y29uc3Qgbz0ibGVmdCI9PT1yP3RoaXMubGVmdFByaWNlU2NhbGVzKCk6dGhpcy5yaWdodFByaWNlU2NhbGVzKCk7cmV0dXJuIG8uaW5kZXhPZih0KTxvLmluZGV4T2Yobik/czpbXX1hY3Rpb25Ob1NjYWxlSXNFbmFibGVkKGUpewpyZXR1cm4hKCF0aGlzLmlzT3ZlcmxheShlKSYmKDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpKXx8dGhpcy5fbm9uT3ZlcmxheVByaWNlc1NvdXJjZXNDb3VudCgpPjF9cHJvcGVydGllcygpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzfXNldFByaWNlQXV0b1NjYWxlKGUsdCl7ZS5zZXRNb2RlKHthdXRvU2NhbGU6dH0pLHRoaXMudGltZVNjYWxlKCkuaXNFbXB0eSgpfHx0aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZShlLCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpfXN0YXRlKGUpe2NvbnN0e3dpdGhEYXRhOnQsc2tpcExpbmVUb29sc0Zyb21PdGhlclN5bWJvbHM6aSx3aXBlU2Vuc2l0aXZlRGF0YTpzLHNraXBMaW5lVG9vbHM6bixza2lwTm9uU2hhcmVkTGluZVRvb2xzOnIsc2tpcEhpZGRlblNvdXJjZXM6byxpbmNsdWRlU291cmNlczphLGlzU3R1ZHlUZW1wbGF0ZTpsfT1lPz97fSxjPXtzb3VyY2VzOltdLG1haW5Tb3VyY2VJZDp0aGlzLm1fbWFpbkRhdGFTb3VyY2U/LmlkKCksc3RyZXRjaEZhY3Rvcjp0aGlzLl9zdHJldGNoRmFjdG9yLGxlZnRBeGlzZXNTdGF0ZTpbXSxyaWdodEF4aXNlc1N0YXRlOltdLG92ZXJsYXlQcmljZVNjYWxlczp7fSxwcmljZVNjYWxlUmF0aW86dGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbyxpc0NvbGxhcHNlZDp0aGlzLl9jb2xsYXBzZWQudmFsdWUoKSxpc01heGltaXplZDp0aGlzLl9tYXhpbWl6ZWQudmFsdWUoKSxtb2RlOnRoaXMuX21vZGV9LGg9bmV3IE1hcCxkPW5ldyBNYXAsdT1lPT57aWYoaC5oYXMoZSkpcmV0dXJuIGguZ2V0KGUpO2xldCB0PSExO2lmKCgwLHRpLmlzU3R1ZHkpKGUpKXQ9IShlLmlzVmlzaWJsZSgpfHxlLmhhc0NoaWxkcmVuKCkmJmUuZ2V0QWxsQ2hpbGRyZW4oKS5zb21lKChlPT5lLmlzVmlzaWJsZSgpKSkpO2Vsc2UgaWYoKDAscmkuaXNMaW5lVG9vbCkoZSkpaWYoZS5pc1Zpc2libGUoKSl7Y29uc3QgaT1lLm93bmVyU291cmNlKCk7dD0hIWkmJnUoaSl9ZWxzZSB0PSEwO3JldHVybiBoLnNldChlLHQpLHR9LHA9ZT0+e2lmKGQuaGFzKGUpKXJldHVybiBkLmdldChlKTtsZXQgYT1udWxsO2NvbnN0IGM9bCYmIWUuaXNTYXZlZEluU3R1ZHlUZW1wbGF0ZXMoKXx8KDAscWkuaXNBbGVydExhYmVsKShlKXx8IWUuc3RhdGV8fCgwLHJpLmlzTGluZVRvb2wpKGUpJiZufHxvJiZ1KGUpfHwhZS5pc1NhdmVkSW5DaGFydChCb29sZWFuKHQpKXx8IShhPWUuc3RhdGUodCxzKSl8fGkmJigwLHJpLmlzTGluZVRvb2wpKGUpJiZlLmlzQWN0dWFsU3ltYm9sJiYhZS5pc0FjdHVhbFN5bWJvbCgpfHxyJiYoMCxyaS5pc0xpbmVUb29sKShlKSYmMD09PWUuc2hhcmluZ01vZGUoKS52YWx1ZSgpfHxlLmlzUGhhbnRvbSgpP251bGw6YTtyZXR1cm4gZC5zZXQoZSxjKSxjfTtpZihhKXtjLnNvdXJjZXM9W107Zm9yKGxldCBlPTA7ZTx0aGlzLm1fZGF0YVNvdXJjZXMubGVuZ3RoO2UrKyl7Y29uc3QgdD1wKHRoaXMubV9kYXRhU291cmNlc1tlXSk7bnVsbCE9PXQmJmMuc291cmNlcy5wdXNoKHQpfX1jb25zdCBfPWU9Pm51bGwhPT1kLmdldChlKSxtPWU9PiFufHwhKDAscmkuaXNMaW5lVG9vbCkoZSk7Yy5sZWZ0QXhpc2VzU3RhdGU9dGhpcy5fbGVmdFByaWNlU2NhbGVzLm1hcCgoZT0+KHtzdGF0ZTplLnN0YXRlKCksc291cmNlczplLmRhdGFTb3VyY2VzKCkuZmlsdGVyKF8pLmZpbHRlcihtKS5tYXAoKGU9PmUuaWQoKSkpfSkpKSxjLnJpZ2h0QXhpc2VzU3RhdGU9dGhpcy5fcmlnaHRQcmljZVNjYWxlcy5tYXAoKGU9Pih7c3RhdGU6ZS5zdGF0ZSgpLHNvdXJjZXM6ZS5kYXRhU291cmNlcygpLmZpbHRlcihfKS5maWx0ZXIobSkubWFwKChlPT5lLmlkKCkpKX0pKSksYy5vdmVybGF5UHJpY2VTY2FsZXM9e307Zm9yKGNvbnN0IGUgb2YgdGhpcy5tX2RhdGFTb3VyY2VzKWlmKHRoaXMuaXNPdmVybGF5KGUpJiZlLmlzU2F2ZWRJbkNoYXJ0KEJvb2xlYW4odCkpKXtjb25zdCB0PWUucHJpY2VTY2FsZSgpO2Mub3ZlcmxheVByaWNlU2NhbGVzW2UuaWQoKV09dD8uc3RhdGUoKT8/bnVsbH1yZXR1cm4gY31yZXN0b3JlU3RhdGUoZSl7Y29uc3R7c3RhdGU6dCx3aXRoRGF0YTppLHZlcnNpb246cyxzZXJpZXNJZDpuPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pZCgpLHNldHRpbmdzTWlncmF0aW9uOnI9e30sY29udGVudE92ZXJyaWRlczpvLHJlc3RvcmVTaWxlbnRseTphLHJlYXNvbjpoPTAsaXNTdHVkeVRlbXBsYXRlOmQ9ITF9PWU7KDAsbGwuZ2V0UGVyc2lzdGVudExvZ2dlcikoKT8uYWRkUGVyc2lzdGVudExvZ0VudHJ5KGBSZXN0b3JpbmcgcGFuZSB3aXRoIHNlcmllc0lkICR7bn1gLGMuTE9HTEVWRUwuSU5GTyxhYyksdGhpcy5fbW9kZT10Lm1vZGU/P00uUGFuZU1vZGUuUmVndWxhcix0LnN0cmV0Y2hGYWN0b3ImJih0aGlzLl9zdHJldGNoRmFjdG9yPXQuc3RyZXRjaEZhY3Rvcik7Y29uc3QgdT17fTtpZih0LnNvdXJjZXMpe2NvbnN0IGU9dC5zb3VyY2VzLmZpbHRlcigoZT0+ISFlJiYoIk1haW5TZXJpZXMiPT09ZS50eXBlfHwoIWUucG9pbnRzPy5zb21lKChlPT5udWxsPT09ZS50aW1lX3R8fCFpc0Zpbml0ZShlLnRpbWVfdCkpKXx8KG5jLmxvZ05vcm1hbCgiRHJvcHBlZCBpbnZhbGlkICIrZS50eXBlKyIuIFJlYXNvbjogbm9uLW51bWVyaWMgcG9pbnQgdGltZSIpLCExKSkpKSksbD1lLmZpbmRJbmRleChQLmlzTWFpblNlcmllc1N0YXRlKTstMSE9PWwmJnRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkuc2V0T2Jzb2xldGVaT3JkZXIoZVtsXS56b3JkZXIpLHM8MyYmKDAsQ28ucmVvcmRlckRhdGFTb3VyY2VzU3RhdGVaT3JkZXIpKGUpO2NvbnN0IGM9LTEhPT10aGlzLm1fZGF0YVNvdXJjZXMuaW5kZXhPZih0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkpO3RoaXMuY2xlYXJTZXJpZXMoQm9vbGVhbihhKSksdGhpcy5tX21haW5EYXRhU291cmNlPW51bGwsYyYmdGhpcy5fYWRkU291cmNlVG9Db2xsZWN0aW9ucyh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCksYSksKCgpPT57Y29uc3QgaT1lLmZpbmQoKGU9PmUuaWQ9PT10Lm1haW5Tb3VyY2VJZCkpCjtpZih2b2lkIDA9PT1pKXJldHVybiB2b2lkIG5jLmxvZ1dhcm4oIlRoZXJlIGlzIG5vIG1haW4gc291cmNlIHdpdGggaWQgIit0Lm1haW5Tb3VyY2VJZCsiLCB0b3RhbCBzb3VyY2VzPSIrZS5sZW5ndGgpO2lmKCF3aW5kb3cuVHJhZGluZ1ZpZXdbaS50eXBlXXx8ISgwLG0uaXNMaW5lVG9vbE5hbWUpKGkudHlwZSkpcmV0dXJuIHZvaWQgbmMubG9nTm9ybWFsKCJUaGUgdHlwZSBvZiBtYWluIHNvdXJjZSBpcyBub3QgbGluZSB0b29sIC0gZml4IGlzIHVubmVjZXNzYXJ5Iik7bGV0IHM9bnVsbDtmb3IoY29uc3QgdCBvZiBlKWlmKCF3aW5kb3cuVHJhZGluZ1ZpZXdbaS50eXBlXXx8ISgwLG0uaXNMaW5lVG9vbE5hbWUpKHQudHlwZSkpe2lmKG51bGwhPT1zKXJldHVybiB2b2lkIG5jLmxvZ1dhcm4oIlBhbmUgY29udGFpbnMgbW9yZSB0aGFuIDEgcG9zc2libHkgbWFpbiBzb3VyY2VzIC0gYXV0byBmaXggY2Fubm90IGJlIGFwcGxpZWQiKTtzPXR9aWYobnVsbD09PXMpcmV0dXJuIHZvaWQgbmMubG9nV2FybigiUGFuZSBjb250YWlucyBvbmx5IGxpbmUgdG9vbHMgLSBwb3NzaWJsZSB3ZSBuZWVkIHRvIHJlbW92ZSB0aGlzIHBhbmU/Iik7Y29uc3Qgbj10Lm1haW5Tb3VyY2VJZDtsZXQgcj0wO3QubWFpblNvdXJjZUlkPXMuaWQsZS5mb3JFYWNoKChlPT57ZS5vd25lclNvdXJjZT09PW4mJihlLm93bmVyU291cmNlPXM/LmlkLHIrPTEpfSkpLG5jLmxvZ05vcm1hbCgiQXV0byBmaXggYnJva2VuIHBhbmUgaXMgYXBwbGllZCwgY2hhbmdlZCBsaW5lIHRvb2xzPSIrcisiLCBjaGFuZ2VkIGZyb209IituKyIgdG89IitzLmlkKX0pKCk7Zm9yKGNvbnN0IHQgb2YgZSlpZigic3R1ZHlfU2Vzc2lvbnMiPT09dC50eXBlKXtjb25zdCBlPXQ7ZS5vbGRTdGF0ZT0hMCx0aGlzLm1vZGVsKCkuc2Vzc2lvbnMoKS5yZXN0b3JlU3RhdGUoZSxpKTticmVha31mb3IoY29uc3QgdCBvZiBlKSJzdHVkeV9TZXNzaW9ucyIhPT10LnR5cGUmJihudWxsPT09dGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKHQuaWQpfHwiTWFpblNlcmllcyI9PT10LnR5cGU/KHVbdC5pZF09dC5vd25lclNvdXJjZSwoMCxQLmlzTWFpblNlcmllc1N0YXRlKSh0KT90aGlzLl9yZXN0b3JlTWFpblNlcmllcyh0LGksYyxyLG8sYSxkKTooMCxQLmlzU3R1ZHlTdGF0ZSkodCk/dGhpcy5yZXN0b3JlU3R1ZHkoe3NvdXJjZTp0LHdpdGhEYXRhOmksc2VyaWVzSWQ6bixzZXR0aW5nc01pZ3JhdGlvbjpyLHJlc3RvcmVTaWxlbnRseTphLHJlYXNvbjpoLHNraXBNYWluU291cmNlUmVjYWxjdWxhdGlvbjohMH0pOigwLFAuaXNMaW5lVG9vbFN0YXRlKSh0KT8odC5zdGF0ZSYmKHQuc3RhdGUuek9yZGVyVmVyc2lvbj0yKSx0aGlzLnJlc3RvcmVMaW5lVG9vbCh7c3RhdGU6dCx3aXRoRGF0YTppLHJlc3RvcmVTaWxlbnRseTphfSkpOnQudHlwZT09PXBsLkNoYXJ0RXZlbnRzU291cmNlSWQuVmFsdWUmJnRoaXMuX3Jlc3RvcmVTcGVjaWFsU291cmNlKHQsaSxhKSk6bmMubG9nRXJyb3IoIkR1cGxpY2F0ZSBpZCB3aGlsZSByZXN0b3JpbmcgcGFuZTogIit0LnR5cGUrIiwiK3QuaWQpKX1jb25zdCBwPW5ldyBTZXQsXz0oZSx0KT0+e2UucHJpY2VTY2FsZSgpIT09dCYmKHRoaXMucmVtb3ZlU291cmNlRnJvbVByaWNlU2NhbGUoZSksZS5zZXRQcmljZVNjYWxlKHQpLHQuYWRkRGF0YVNvdXJjZShlKSl9LGc9KGUsaSxzKT0+e2lmKHAuaGFzKGUpKXJldHVybjtwLmFkZChlKTtjb25zdCBuPXMubV9zaG93U3ltYm9sTGFiZWxzO3ZvaWQgMCE9PW4mJmU9PT10aGlzLm1vZGVsKCkubWFpblNlcmllcygpJiZ0aGlzLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1N5bWJvbExhYmVscy5zZXRWYWx1ZShuKSx0aGlzLl9tb2RlbC5jaGlsZHJlbihlLCEwLCEwKS5mb3JFYWNoKChlPT57dC5vdmVybGF5UHJpY2VTY2FsZXM/LltlLmlkKCldfHxnKGUsaSxzKX0pKSxfKGUsaSl9LGY9ZT0+e2NvbnN0IHQ9KDAsJGwuZGVmYXVsdHMpKCJjaGFydHByb3BlcnRpZXMiKS5wYW5lUHJvcGVydGllcy5heGlzUHJvcGVydGllcyxpPW5ldyBxbCh0aGlzLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMsdCk7cmV0dXJuIGkucmVzdG9yZVN0YXRlKGUuc3RhdGUpLGkuc2V0SGVpZ2h0KHRoaXMuX2hlaWdodCksZS5zb3VyY2VzLmZvckVhY2goKGU9Pntjb25zdCBzPXRoaXMuZGF0YVNvdXJjZUZvcklkKGUpO3MmJmcocyxpLHQpfSkpLDA9PT1pLmRhdGFTb3VyY2VzKCkubGVuZ3RoP251bGw6aX0sUz1lPT5lLm1hcChmKS5maWx0ZXIoKGU9Pm51bGwhPT1lKSk7bGV0IHY7aWYodC5sZWZ0QXhpc2VzU3RhdGUpdj1TKHQubGVmdEF4aXNlc1N0YXRlKTtlbHNle2NvbnN0IGU9Zih7c3RhdGU6dC5sZWZ0QXhpc1N0YXRlLHNvdXJjZXM6dC5sZWZ0QXhpc1NvdXJjZXN9KTt2PW51bGwhPT1lP1tlXTpbXX1sZXQgeTtpZih0aGlzLl9sZWZ0UHJpY2VTY2FsZXMuc2xpY2UoKS5mb3JFYWNoKChlPT50aGlzLnJlbW92ZVByaWNlU2NhbGUoZSkpKSx0aGlzLl9sZWZ0UHJpY2VTY2FsZXM9W10sdi5mb3JFYWNoKChlPT50aGlzLl9wbGFjZVByaWNlU2NhbGUoZSwibGVmdCIpKSksdC5yaWdodEF4aXNlc1N0YXRlKXk9Uyh0LnJpZ2h0QXhpc2VzU3RhdGUpO2Vsc2V7Y29uc3QgZT1mKHtzdGF0ZTp0LnJpZ2h0QXhpc1N0YXRlLHNvdXJjZXM6dC5yaWdodEF4aXNTb3VyY2VzfSk7eT1udWxsIT09ZT9bZV06W119dGhpcy5fcmlnaHRQcmljZVNjYWxlcy5zbGljZSgpLmZvckVhY2goKGU9PnRoaXMucmVtb3ZlUHJpY2VTY2FsZShlKSkpLHRoaXMuX3JpZ2h0UHJpY2VTY2FsZXM9W10seS5mb3JFYWNoKChlPT50aGlzLl9wbGFjZVByaWNlU2NhbGUoZSwicmlnaHQiKSkpLHRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW89dC5wcmljZVNjYWxlUmF0aW98fHQubGVmdFByaWNlU2NhbGVSYXRpb3x8dC5yaWdodFByaWNlU2NhbGVSYXRpb3x8bnVsbDtjb25zdCBiPW5ldyBNYXA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5tX2RhdGFTb3VyY2VzKXtpZihwLmhhcyhlKSljb250aW51ZTtsZXQgaQo7aWYodC5vdmVybGF5UHJpY2VTY2FsZXMmJnQub3ZlcmxheVByaWNlU2NhbGVzW2UuaWQoKV0pe2xldCBzPXQub3ZlcmxheVByaWNlU2NhbGVzW2UuaWQoKV07Yi5oYXMocz8uaWQpP2k9Yi5nZXQocz8uaWQpOihzPSgwLGwuZW5zdXJlKShzKSxpPW5ldyBxbCh0aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcyksaS5zZXRIZWlnaHQodGhpcy5faGVpZ2h0KSxzLm1faXNBdXRvU2NhbGU9ITAscy5tX2lzTG9nPSExLHMubV9pc1BlcmNlbnRhZ2U9ITEscy5tX2lzTG9ja1NjYWxlPSExLGkucmVzdG9yZVN0YXRlKHMpLGIuc2V0KHMuaWQsaSkpfWVsc2UgaT1uZXcgcWwodGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMpLGkuc2V0SGVpZ2h0KHRoaXMuX2hlaWdodCk7XyhlLGkpfWZvcihjb25zdCBlIG9mIE9iamVjdC5rZXlzKHUpKXtjb25zdCB0PXVbZV0saT10aGlzLmRhdGFTb3VyY2VGb3JJZChlKTt0JiZpJiZudWxsPT09aS5vd25lclNvdXJjZSgpJiZpLnNldE93bmVyU291cmNlKHRoaXMuZGF0YVNvdXJjZUZvcklkKHQpKX1pZih0Lm1haW5Tb3VyY2VJZCYmIXRoaXMuY29udGFpbnNNYWluU2VyaWVzKCkmJih0aGlzLm1fbWFpbkRhdGFTb3VyY2U9dGhpcy5kYXRhU291cmNlRm9ySWQodC5tYWluU291cmNlSWQpKSwhdGhpcy5tX21haW5EYXRhU291cmNlKWZvcihjb25zdCBlIG9mIHRoaXMubV9kYXRhU291cmNlcylpZigoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSkpe3RoaXMubV9tYWluRGF0YVNvdXJjZT1lO2JyZWFrfWZvcihjb25zdCBlIG9mIHRoaXMubV9kYXRhU291cmNlcykoMCxyaS5pc0xpbmVUb29sKShlKT8oZS5vd25lclNvdXJjZSgpfHxlLnNldE93bmVyU291cmNlKHRoaXMubWFpbkRhdGFTb3VyY2UoKSksZS5pc0ZpeGVkKCkmJmUucmVzdG9yZUZpeGVkUG9pbnQoKSk6KDAsdGkuaXNTdHVkeSkoZSkmJiFlLm93bmVyU291cmNlKCkmJmUuaXNMaW5rZWRUb1NlcmllcygpJiZlLnNldE93bmVyU291cmNlKHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkpO3RoaXMuX2NvbGxhcHNlZC5zZXRWYWx1ZSh0LmlzQ29sbGFwc2VkPz8hMSksdC5pc01heGltaXplZCYmdGhpcy5fbW9kZWwuc2V0TWF4aW1pemVkUGFuZSh0aGlzKSx0aGlzLl91cGRhdGVNYXJnaW5zKCksdGhpcy5fY2FjaGVkT3JkZXJlZFNvdXJjZXMuY2xlYXIoKX1vblByaWNlU2NhbGVzQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9vblByaWNlU2NhbGVzQ2hhbmdlZH1zZXRQYW5lU2l6ZShlKXtsZXQgdDtzd2l0Y2goZSl7Y2FzZSJsYXJnZSI6dD0xO2JyZWFrO2Nhc2UibWVkaXVtIjp0PS42O2JyZWFrO2Nhc2Uic21hbGwiOnQ9LjM7YnJlYWs7Y2FzZSJ0aW55Ijp0PS4xNTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5rbm93biBzaXplIGVudW0gdmFsdWU6ICIrZSl9dGhpcy5fc3RyZXRjaEZhY3Rvcj0xZTMqdH1zdHJldGNoRmFjdG9yKCl7cmV0dXJuIHRoaXMuX3N0cmV0Y2hGYWN0b3J9c2V0U3RyZXRjaEZhY3RvcihlKXt0aGlzLl9zdHJldGNoRmFjdG9yPWV9Y3VzdG9tU291cmNlcyhlKXtyZXR1cm4gdGhpcy5tb2RlbCgpLmN1c3RvbVNvdXJjZXMoZSl9Y3JlYXRlRHJhd2luZ3NDYWNoZXMoKXswfWNsZWFyRHJhd2luZ0NhY2hlcygpezB9ZXhlY3V0aW9uc1Bvc2l0aW9uQ29udHJvbGxlcigpe3JldHVybiBudWxsfXdpZHRoKCl7cmV0dXJuIHRoaXMuX3dpZHRofWhlaWdodCgpe3JldHVybiB0aGlzLl9oZWlnaHR9c2V0SGVpZ2h0KGUpe2lmKHRoaXMuX2hlaWdodCE9PWUmJih0aGlzLl9oZWlnaHQ9ZSx0aGlzLl9tb2RlPT09TS5QYW5lTW9kZS5SZWd1bGFyKSl7dGhpcy5fbGVmdFByaWNlU2NhbGVzLmZvckVhY2goKHQ9PnQuc2V0SGVpZ2h0KGUpKSksdGhpcy5fcmlnaHRQcmljZVNjYWxlcy5mb3JFYWNoKCh0PT50LnNldEhlaWdodChlKSkpO2ZvcihsZXQgdD0wO3Q8dGhpcy5tX2RhdGFTb3VyY2VzLmxlbmd0aDt0Kyspe2NvbnN0IGk9dGhpcy5tX2RhdGFTb3VyY2VzW3RdO3RoaXMuaXNPdmVybGF5KGkpJiZpLnByaWNlU2NhbGUoKSYmKDAsbC5lbnN1cmVOb3ROdWxsKShpLnByaWNlU2NhbGUoKSkuc2V0SGVpZ2h0KGUpfXRoaXMudXBkYXRlQWxsVmlld3MoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5fc2l6ZUNoYW5nZWQuZmlyZSgpfX1zZXRXaWR0aChlKXtyZXR1cm4gdGhpcy5fd2lkdGghPT1lJiYodGhpcy5fd2lkdGg9ZSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLHRoaXMuX3NpemVDaGFuZ2VkLmZpcmUoKSwhMCl9b25TaXplQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zaXplQ2hhbmdlZH1vblRhZ3NDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3RhZ3NDaGFuZ2VkfW9uRGVzdHJveWVkKCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZH1kYXRhU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX2RhdGFTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWR9ZGF0YVNvdXJjZXNaT3JkZXJzQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkfXN5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkfXByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3ByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkfXN5bWJvbFNvdXJjZVJlc29sdmVkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbFNvdXJjZVJlc29sdmVkfXN5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSgpe3JldHVybiB0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmV9c291cmNlUHJvcGVydGllc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc291cmNlUHJvcGVydGllc0NoYW5nZWR9c291cmNlWk9yZGVyQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zb3VyY2VzWk9yZGVyQ2hhbmdlZH1saW5lVG9vbHNGb3JBcmVhKGUsdCl7Y29uc3QgaT10aGlzLmxvZ2ljYWxSZWN0VG9QaXhlbHMoZSkKO3JldHVyblsuLi50aGlzLm1fZGF0YVNvdXJjZXMsLi4udGhpcy5tb2RlbCgpLm11bHRpUGFuZVNvdXJjZXModGhpcyldLmZpbHRlcihyaS5pc0xpbmVUb29sKS5maWx0ZXIoKGU9PihlLnBhbmVWaWV3cyh0aGlzKXx8W10pLnNvbWUoKGU9Pntjb25zdCBzPWUucmVuZGVyZXIodCk7cmV0dXJuIHMmJnMuZG9lc0ludGVyc2VjdFdpdGhCb3gmJnMuZG9lc0ludGVyc2VjdFdpdGhCb3goaSx0KX0pKSkpfWxvZ2ljYWxSZWN0VG9QaXhlbHMoZSl7Y29uc3QgdD10aGlzLmRlZmF1bHRQcmljZVNjYWxlKCksaT10aGlzLnRpbWVTY2FsZSgpLHM9KDAsbC5lbnN1cmVOb3ROdWxsKSgoMCxsLmVuc3VyZU5vdE51bGwpKHQubWFpblNvdXJjZSgpKS5maXJzdFZhbHVlKCkpLG49dC5wcmljZVRvQ29vcmRpbmF0ZShlLnAxLnByaWNlLHMpLHI9aS5pbmRleFRvQ29vcmRpbmF0ZShlLnAxLmluZGV4KSxvPXQucHJpY2VUb0Nvb3JkaW5hdGUoZS5wMi5wcmljZSxzKSxhPWkuaW5kZXhUb0Nvb3JkaW5hdGUoZS5wMi5pbmRleCksYz1uZXcgUHQuUG9pbnQoTWF0aC5taW4ocixhKSxNYXRoLm1pbihuLG8pKSxoPW5ldyBQdC5Qb2ludChNYXRoLm1heChyLGEpLE1hdGgubWF4KG4sbykpO3JldHVybigwLFB0LmJveCkoYyxoKX10aW1lU2NhbGUoKXtyZXR1cm4gdGhpcy5fdGltZVNjYWxlfXJlc3RvcmVMaW5lVG9vbChlKXtjb25zdHt3aXRoRGF0YTp0LHJlc3RvcmVTaWxlbnRseTpzLGFjdGlvblNvdXJjZTpuLG93bmVyU291cmNlOnJ9PWU7bGV0e2tlZXBaT3JkZXI6byxzdGF0ZTphfT1lO2lmKCgwLG0uaXNNdHBQcmVkaWN0b3JUb29sTmFtZSkoYS50eXBlKSlyZXR1cm4gbmMubG9nV2FybihgTm8gbG9uZ2VyIHN1cHBvcnRlZCB0b29sICR7YS50eXBlfSBpcyBza2lwcGVkIHdoaWxlIHJlc3RvcmluZyBzdGF0ZWApLG51bGw7aWYoYS50YXJnZXRTaWduYXR1cmUmJiFtbC5zaGFyZURyYXdpbmdzT25JbmRpY2F0b3JzKXJldHVybiBuYy5sb2dXYXJuKGBEcmF3aW5nIHdpdGggaWQgJHthLmlkfSB3YXMgY3JlYXRlZCB3aGlsZSBzaGFyZV9kcmF3aW5nc19vbl9pbmRpY2F0b3JzIHdhcyBvbiwgYnV0IG5vdyBpdCBpcyBvZmYsIHNvIGl0IGlzIHNraXBwZWQgd2hpbGUgcmVzdG9yaW5nIHN0YXRlYCksbnVsbDtjb25zdCBjPXI/PyhhLm93bmVyU291cmNlP3RoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZChhLm93bmVyU291cmNlKTpudWxsKTtpZihtbC5zaGFyZURyYXdpbmdzT25JbmRpY2F0b3JzJiYoYS5vd25lclNvdXJjZSYmIWEudGFyZ2V0U2lnbmF0dXJlJiZjJiYoKDAsdGkuaXNTdHVkeSkoYyl8fCgwLHRpLmlzU3R1ZHlTdHViKShjKSkmJihhLnRhcmdldFNpZ25hdHVyZT1jLnNpZ25hdHVyZSgpLnZhbHVlKCk/P3ZvaWQgMCksYS50YXJnZXRTaWduYXR1cmUmJiF0aGlzLmlzTWFpblBhbmUoKS52YWx1ZSgpKSlyZXR1cm4oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLm1haW5QYW5lKCkpLnJlc3RvcmVMaW5lVG9vbChlKTtkZWxldGUgYS5zdGF0ZS5sYXN0VXBkYXRlVGltZSxhLnN0YXRlLmludGVydmFsc1Zpc2liaWxpdGllcz0oMCxKbC5tZXJnZUludGVydmFsVmlzaWJpbGl0aWVzRGVmYXVsdHMpKGEuc3RhdGUuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzKSxvPXZvaWQgMD09PW98fG8sKDAsWGwuZWxsaW90dE1pZ3JhdGVTdGF0ZSkoYSksKDAsWmwubWlncmF0ZVN0YXRlKShhKSxBcnJheS5pc0FycmF5KGEucG9zaXRpb25QZXJjZW50cykmJihhLnBvc2l0aW9uUGVyY2VudHM9YS5wb3NpdGlvblBlcmNlbnRzWzBdKTtjb25zdCBoPWEudHlwZSxkPWEuaWQsdT1hLnN0YXRlLF89bz9hLnpvcmRlcjp0aGlzLm5ld0xpbmVUb29sWk9yZGVyKCk7KDAsbC5hc3NlcnQpKCgwLG0uaXNMaW5lVG9vbE5hbWUpKGgpLCJpbnZhbGlkIGRhdGEgc291cmNlIHR5cGU6IitoKyIgKGV4cGVjdGVkIHRvIGJlIGEgTGluZSBUb29sKSIpO2xldCBnLGYsUz1udWxsO2lmKCgwLFAuaXNTdHVkeUxpbmVUb29sU3RhdGUpKGEpKXtTPXRoaXMuX21vZGVsLmlzU25hcHNob3QoKT9uZXcgZWMuU3R1ZHlWZXJzaW9uaW5nKFtdLFtdKTooMCxhdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5zdHVkeVZlcnNpb25pbmcoKTtjb25zdCBlPWVjLlN0dWR5VmVyc2lvbmluZy5wYXRjaFBvaW50c0Jhc2VkU3R1ZHlTdGF0ZShhKTthPWU7Y29uc3Qgcj1uZXcgb3QuU3R1ZHlNZXRhSW5mbyhlLm1ldGFJbmZvKTtpZighdCYmcil7Y29uc3QgZT1yLnByb2R1Y3RJZDtpZighd2luZG93LnBybz8uaGFzUGFja2FnZShlKSl7Y29uc3QgZT1uZXcgdWwuU3R1ZHlMaW5lVG9vbFN0dWIodGhpcy5fbW9kZWwsYSxyLnNob3J0RGVzY3JpcHRpb24pO3JldHVybiBlLnNldElkKGQpLHRoaXMuX2FkZFNvdXJjZVRvQ29sbGVjdGlvbnMoZSxzKSx2b2lkIDAhPT1fJiZlLnNldFpvcmRlcihfKSxlLnNldEZhaWxlZChwLnQobnVsbCx2b2lkIDAsaSgzODYzNzMpKSksbnVsbH19Y29uc3Qgbz1TLnVwZGF0ZU1ldGFJbmZvKHIpPz9yO2Y9KDAscmkuY3JlYXRlU3R1ZHlMaW5lVG9vbFByb3BlcnRpZXMpKHRoaXMuX21vZGVsLmJhY2tncm91bmRUaGVtZSgpLnNwYXduT3duZXJzaGlwKCksaCxyLG8sdSxTKSxnPSgwLHJpLmNyZWF0ZUxpbmVUb29sKShoLHRoaXMuX21vZGVsLGYsbywhMCx2b2lkIDAsbil9ZWxzZSBmPSgwLHJpLmNyZWF0ZUxpbmVUb29sUHJvcGVydGllcykodGhpcy5fbW9kZWwuYmFja2dyb3VuZFRoZW1lKCkuc3Bhd25Pd25lcnNoaXAoKSxoLCF0aGlzLl9tb2RlbC5yZWFkT25seSgpLHUpLGc9KDAscmkuY3JlYXRlTGluZVRvb2wpKGgsdGhpcy5fbW9kZWwsZixudWxsLCEwLHZvaWQgMCxuKTtnLnNldElkKGQpLGcubGlua0tleSgpLnNldFZhbHVlKGEubGlua0tleXx8bnVsbCk7Y29uc3Qgdj1hLmFsZXJ0SWQ7diYmZy5jYW5IYXNBbGVydCgpJiZHcy5hbGVydHNBdmFpbGFibGUmJiF0aGlzLl9tb2RlbC5yZWFkT25seSgpJiYhdGhpcy5fbW9kZWwuaXNKdXN0Q2xvbmVkQ2hhcnQoKSYmZy5yZXN0b3JlQWxlcnQoK3YpO2xldCB5PWEuaW5kZXhlcz8/W107aWYoeT15LnNsaWNlKDAsYS5wb2ludHM/Lmxlbmd0aD8/eS5sZW5ndGgpLApnLmlzRml4ZWQoKT92b2lkIDAhPT1hLnBvc2l0aW9uUGVyY2VudHM/Zy5yZXN0b3JlUG9zaXRpb25QZXJjZW50cyhhLnBvc2l0aW9uUGVyY2VudHMpOmcucmVzdG9yZVBvc2l0aW9uUGVyY2VudHMoe3g6LjUseTouNX0pOmEucG9pbnRzJiZnLnJlc3RvcmVQb2ludHMoYS5wb2ludHMseSx0KSxnLnJlc3RvcmVEYXRhKXtjb25zdCBlPWE7KDAsUC5pc1N0dWR5TGluZVRvb2xTdGF0ZSkoZSk/dCYmKFMmJihlLmdyYXBoaWNzPWVjLlN0dWR5VmVyc2lvbmluZy5wYXRjaFBvaW50c0Jhc2VkU3R1ZHlEYXRhKG5ldyBvdC5TdHVkeU1ldGFJbmZvKGUubWV0YUluZm8pLGUuZ3JhcGhpY3MpKSxnLnJlc3RvcmVEYXRhKGUpKTpnLnJlc3RvcmVEYXRhKGUpfWNvbnN0IGI9bnVsbD09YS52ZXJzaW9uPzE6YS52ZXJzaW9uLHc9bnVsbD09Zy52ZXJzaW9uPzE6Zy52ZXJzaW9uO3JldHVybiBiIT09dyYmZy5taWdyYXRlVmVyc2lvbj8uKGIsdyx7cGFuZTp0aGlzLG1vZGVsOnRoaXMuX21vZGVsLHByb3BlcnRpZXM6Zn0pLHZvaWQgMCE9PV8mJmcuc2V0Wm9yZGVyKF8pLHImJigwLHJpLnByZXBhcmVMaW5lVG9vbFByb3BlcnRpZXNCeU93bmVyU291cmNlKShmLHIpLCFhLnRhcmdldFNpZ25hdHVyZXx8IWcuc3VwcG9ydHNUYXJnZXRTaWduYXR1cmUoKXx8YyYmKDAsdGkuaXNTdHVkeVN0dWIpKGMpP2cuc2V0T3duZXJTb3VyY2UoYyk6Zy5zZXRUYXJnZXRTaWduYXR1cmUoYS50YXJnZXRTaWduYXR1cmUpLGcuaXNGaXhlZCgpJiZnLnJlc3RvcmVGaXhlZFBvaW50KCksdm9pZCAwIT09YS5zaGFyaW5nTW9kZSYmZy5zaGFyZShhLnNoYXJpbmdNb2RlKSx0aGlzLl9hZGRTb3VyY2VUb0NvbGxlY3Rpb25zKGcscyksdGhpcy5fY2FjaGVkT3JkZXJlZFNvdXJjZXMuY2xlYXIoKSxnfXJlc3RvcmVTdHVkeShlKXtjb25zdHtzb3VyY2U6dCx3aXRoRGF0YTpzLHNlcmllc0lkOm89dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmlkKCksc2V0dGluZ3NNaWdyYXRpb246YSxyZXN0b3JlU2lsZW50bHk6bCxyZWFzb246Yyxza2lwTWFpblNvdXJjZVJlY2FsY3VsYXRpb246aH09ZTtpZihzJiZ2b2lkIDA9PT10LmRhdGEmJnZvaWQgMD09PXQubm9uU2VyaWVzRGF0YSYmdm9pZCAwPT09dC5pbmRleGVzKXJldHVybiBuYy5sb2dFcnJvcigiQ2Fubm90IHJlc3RvcmUgKHNraXBwaW5nKSBzdHVkeSB3aXRob3V0IGRhdGEgIit0LmlkKyIsICIrdC5tZXRhSW5mby5pZCksbnVsbDtjb25zdCBkPXQubWV0YUluZm8sdT0oMCxuLmRlZmF1bHQpKGQpO3UmJihuYy5sb2dXYXJuKGBDYW5ub3QgcmVzdG9yZSAoc2tpcHBpbmcpIHN0dWR5IHdpdGggc3RyaW5nIG1ldGFJbmZvLCBwcm9iYWJseSBjaGFydCBvdmVyd3JpdGluZyAke2R9YCksdC5tZXRhSW5mbz17Li4uYmUoZCksaW5wdXRzOltdfSk7Y29uc3QgXz10LmlkLG09dC5zdGF0ZSxnPXQuem9yZGVyLGY9KHQucGFyZW50U291cmNlcz8/KHQub3duZXJTb3VyY2U/W3Qub3duZXJTb3VyY2VdOltdKSkuZmlsdGVyKChlPT5lIT09bykpO2xldCBTPW5ldyBvdC5TdHVkeU1ldGFJbmZvKHQubWV0YUluZm8pLHY9dC5tZXRhSW5mb1BhdGNoPygwLHIuZGVmYXVsdCkoKDAsV28uZGVmYXVsdCkodC5tZXRhSW5mbyksdC5tZXRhSW5mb1BhdGNoKTp0Lm1ldGFJbmZvLHk9bmV3IG90LlN0dWR5TWV0YUluZm8odik7aWYoZnVuY3Rpb24oZSl7cmV0dXJuIlNjcmlwdCRUVl9FQVJOSU5HU0B0di1zY3JpcHRpbmciPT09ZXx8IlNjcmlwdCRUVl9ESVZJREVORFNAdHYtc2NyaXB0aW5nIj09PWV8fCJTY3JpcHQkVFZfU1BMSVRTQHR2LXNjcmlwdGluZyI9PT1lfHwiRVNEJFRWX0VBUk5JTkdTQHR2LXNjcmlwdGluZyI9PT1lfHwiRVNEJFRWX0RJVklERU5EU0B0di1zY3JpcHRpbmciPT09ZXx8IkVTRCRUVl9TUExJVFNAdHYtc2NyaXB0aW5nIj09PWV8fCJFYXJuaW5nc0B0di1iYXNpY3N0dWRpZXMiPT09ZXx8IkRpdmlkZW5kc0B0di1iYXNpY3N0dWRpZXMiPT09ZXx8IlNwbGl0c0B0di1iYXNpY3N0dWRpZXMiPT09ZXx8IkJhclNldENvbnRpbnVvdXNSb2xsRGF0ZXNAdHYtY29yZXN0dWRpZXMiPT09ZX0oeS5pZCkmJiFzKXJldHVybiBuYy5sb2dOb3JtYWwoIlNraXBwaW5nIHN0dWR5ICIreS5pZCksbnVsbDtsZXQgYj1tO2NvbnN0IHc9bmV3IFNhLlN0dWR5U3R1Yih0aGlzLl9tb2RlbCx0LHkuc2hvcnREZXNjcmlwdGlvbj8/eS5uYW1lKTt3LnNldElkKF8pLHcuc2V0Wm9yZGVyKGcpO2NvbnN0IEM9S2wuRGVmZXJyZWRTdHVkaWVzLmluc3RhbmNlKHRoaXMuX21vZGVsKTtDLmdldChfKTtsZXQgUD0hMTtjb25zdCBUPShlLG4scik9PntpZihQJiZ0aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQoXykhPT13KXJldHVybjt3LnNldFN0YXR1cyh7dHlwZTpZbC5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfSk7Y29uc3Qgbz1hc3luYyBvPT57Y29uc3R7cHJlcGFyZVN0dWR5UHJvcGVydGllc0ZvckxvYWRDaGFydDphfT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDQzNzc0OSkpLGw9YSh5LGUsYixyKSxoPWU/P3ksZD1uPz9TLHU9IXMmJmguaXNUVlNjcmlwdCYmdC5tZXRhSW5mby5pc1RWU2NyaXB0JiZoLl9zZXJ2ZXJNZXRhSW5mb1ZlcnNpb24hPT10Lm1ldGFJbmZvLl9zZXJ2ZXJNZXRhSW5mb1ZlcnNpb24scD1hd2FpdCBsYSh0aGlzLl9tb2RlbCxsLG8saCxkLHZvaWQgMCxjLHUpO2lmKHAuc2V0SWQoXykscC5zZXRPd25GaXJzdFZhbHVlKHQub3duRmlyc3RWYWx1ZT8/bnVsbCksdC5jdXN0b21GaWVsZHMmJnAucmVzdG9yZVN0YXRlQ3VzdG9tRmllbGRzKHQuY3VzdG9tRmllbGRzKSxzKXtjb25zdCBlPXQse2RhdGE6aSxuc0RhdGE6cyxpbmRleGVzOm59PWVjLlN0dWR5VmVyc2lvbmluZy5wYXRjaFN0dWR5RGF0YSh5LGUuZGF0YSxlLm5vblNlcmllc0RhdGEsZS5pbmRleGVzKTtwLnJlc3RvcmVEYXRhKGkscyxuKX0KdGhpcy5fbW9kZWwucmVwbGFjZVN0dWR5U3R1Yih3LHApLEMuYWRkKF8scCl9O2lmKGYubGVuZ3RoPjApe2NvbnN0IGU9Zi5tYXAoKGU9PkMuZ2V0KGUpKSk7UHJvbWlzZS5hbGwoZSkudGhlbihvKX1lbHNlIG8oW10pfSx4PSgwLFdvLmRlZmF1bHQpKG0pLE09dT9Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e2NvbnN0IGU9b3QuU3R1ZHlNZXRhSW5mby5wYXJzZUlkU3RyaW5nKHQubWV0YUluZm8uZnVsbElkKSxpPSJ0di1zY3JpcHRpbmciPT09ZS5wYWNrYWdlSWQ/e3R5cGU6InBpbmUiLHBpbmVJZDpvdC5TdHVkeU1ldGFJbmZvLmN1dEJlZm9yZURvbGxhcihlLnNob3J0SWQpLHBpbmVWZXJzaW9uOnQubWV0YUluZm8ucGluZT8udmVyc2lvbn06e3R5cGU6ImphdmEiLHN0dWR5SWQ6ZS5pZH07cmV0dXJuKDAsYXQuc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuZmluZEJ5SWQoaSl9KSkudGhlbigoZT0+e2lmKCFlKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGdldCBzdHVkeSBtZXRhSW5mbzogIit0Lm1ldGFJbmZvLmZ1bGxJZCk7Uz1lLHQubWV0YUluZm89ZS5zdGF0ZSgpLHY9dC5tZXRhSW5mb1BhdGNoPygwLHIuZGVmYXVsdCkoKDAsV28uZGVmYXVsdCkodC5tZXRhSW5mbyksdC5tZXRhSW5mb1BhdGNoKTp0Lm1ldGFJbmZvLHk9bmV3IG90LlN0dWR5TWV0YUluZm8odil9KSk6UHJvbWlzZS5yZXNvbHZlKCk7bGV0IEk7aWYocyl7Y29uc3QgZT1lYy5TdHVkeVZlcnNpb25pbmcucGF0Y2hQcm9wc1N0YXRlQW5kTWV0YUluZm8obSx5LHtvbGRTaG93U3R1ZHlMYXN0VmFsdWVQcm9wZXJ0eTohYT8uc2hvd1N0dWR5TGFzdFZhbHVlUHJvcGVydHl9KSx0PWVjLlN0dWR5VmVyc2lvbmluZy5wYXRjaFByb3BzU3RhdGVBbmRNZXRhSW5mbyh4LFMse29sZFNob3dTdHVkeUxhc3RWYWx1ZVByb3BlcnR5OiFhPy5zaG93U3R1ZHlMYXN0VmFsdWVQcm9wZXJ0eX0pO0k9UHJvbWlzZS5yZXNvbHZlKFtuZXcgb3QuU3R1ZHlNZXRhSW5mbyhlLm1ldGFJbmZvKSxuZXcgb3QuU3R1ZHlNZXRhSW5mbyh0Lm1ldGFJbmZvKV0pfWVsc2V7e2NvbnN0IGU9KDAsYXQuc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkucmVxdWVzdE1ldGFJbmZvKCkudGhlbigoKCk9PlByb21pc2UuYWxsKFtpLmUoMjE3ODQpLGkuZSgzMTAwMSksaS5lKDg2MTc4KSxpLmUoOTE5NDQpLGkuZSg5NzU1OCksaS5lKDY2OTg4KSxpLmUoOTcyNzIpLGkuZSg5MjcwKSxpLmUoODQyNjUpLGkuZSg1MzU1KSxpLmUoMTIyMjcpLGkuZSg1OTY0OSksaS5lKDQ3NTM4KV0pLnRoZW4oaS5iaW5kKGksNDY3OTIxKSkpKTtJPU0udGhlbigoKCk9PlByb21pc2UuYWxsKFt5LFNdLm1hcCgoKHQsaSk9PmUudGhlbigoZT0+e2NvbnN0e3BpbmVJZEZvckphdmFJZDpuLG1pZ3JhdGVKYXZhU3RhdGVUb1BpbmU6cn09ZSxvPW4odC5pZCk7aWYobylyZXR1cm4oMCxhdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7cGluZUlkOm8scGluZVZlcnNpb246Imxhc3QiLHR5cGU6InBpbmUifSkudGhlbigoZT0+KHIoMD09PWk/bTp4LHQsZSkseT1lLCQuZW1pdCgiY2hhcnRfbWlncmF0ZWQiKSxlKSkpO3tjb25zdCBlPWVjLlN0dWR5VmVyc2lvbmluZy5wYXRjaFByb3BzU3RhdGVBbmRNZXRhSW5mbygwPT09aT9tOngsdCx7b2xkU2hvd1N0dWR5TGFzdFZhbHVlUHJvcGVydHk6cyYmIWE/LnNob3dTdHVkeUxhc3RWYWx1ZVByb3BlcnR5fSk7cmV0dXJuIGI9ZS5wcm9wc1N0YXRlLG5ldyBvdC5TdHVkeU1ldGFJbmZvKGUubWV0YUluZm8pfX0pKSkpKSkpfX1JLnRoZW4oKChbZSx0XSk9Pntjb25zdCBzPXRoaXMuX21vZGVsLmlzU25hcHNob3QoKT9uZXcgZWMuU3R1ZHlWZXJzaW9uaW5nKFtdLFtdKTooMCxhdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5zdHVkeVZlcnNpb25pbmcoKTtpZih0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkpcmV0dXJuIHZvaWQgVChlLHQscyk7Y29uc3Qgbj1bZSx0XS5tYXAoKChlLHQpPT5zLnVwZGF0ZU1ldGFJbmZvQXN5bmMoZSwxPT09dCkpKS5tYXAoKGU9PmUuc3luYz9Qcm9taXNlLnJlc29sdmUoZS5yZXN1bHQpOmUucmVzdWx0KSk7UHJvbWlzZS5hbGwobikudGhlbigoaT0+VChpWzBdPz9lLGlbMV0/P3QscykpKS5jYXRjaCgoZT0+eyJUbyB1c2UgaXQsIGFzayB0aGUgYXV0aG9yIHRvIHB1Ymxpc2ggdGhlIHNjcmlwdC4iPT09ZT93LnNldEZhaWxlZChlLHAudChudWxsLHZvaWQgMCxpKDMwMDU1OCkpKTp3LnNldEZhaWxlZCgiZXJyb3I6ICIrZSl9KSl9KSkuY2F0Y2goKCgpPT53LnNldEZhaWxlZChwLnQobnVsbCx7Y29udGV4dDoiU3R1ZHkgbG9hZGluZyBpbiBjaGFydCJ9LGkoNzcwOTQxKSkpKSksdy5zZXRab3JkZXIoZyk7Y29uc3QgTD10Lm1ldGFJbmZvLmxpbmtlZFRvU2VyaWVzP3RoaXMuX21vZGVsLm1haW5TZXJpZXMoKTpmLmxlbmd0aD90aGlzLmRhdGFTb3VyY2VGb3JJZChmWzBdKTpudWxsO3JldHVybiB3LnNldE93bmVyU291cmNlKEwpLHRoaXMuX2FkZFNvdXJjZVRvQ29sbGVjdGlvbnModyxsKSxQPSEwLGh8fHRoaXMuX3Byb2Nlc3NNYWluU291cmNlQ2hhbmdlKCksdGhpcy5fY2FjaGVkT3JkZXJlZFNvdXJjZXMuY2xlYXIoKSx3fWNsaXBib2FyZExpbmVUb29sT3duZXJTb3VyY2UoZSl7Y29uc3QgdD10aGlzLmRhdGFTb3VyY2VGb3JJZChlKTtpZihudWxsIT09dCl7Y29uc3QgZT10Lm93bmVyU291cmNlKCk7aWYobnVsbCE9PWUmJm51bGwhPT1lLmZpcnN0VmFsdWUoKSlyZXR1cm4gZX1jb25zdCBpPXRoaXMubWFpbkRhdGFTb3VyY2UoKTtpZihudWxsIT09aSYmbnVsbCE9PWkuZmlyc3RWYWx1ZSgpKXJldHVybiBpO2Zvcihjb25zdCBlIG9mIHRoaXMuZGF0YVNvdXJjZXMoKSlpZigoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSkmJm51bGwhPT1lLmZpcnN0VmFsdWUoKSlyZXR1cm4gZTtyZXR1cm4gbnVsbH1yZWFsaWduTGluZVRvb2xzKGUpe2xldCB0PSExO2Zvcihjb25zdCBpIG9mIHRoaXMubV9kYXRhU291cmNlcykhKDAsCnJpLmlzTGluZVRvb2wpKGkpfHx2b2lkIDAhPT1lJiZpLm93bmVyU291cmNlKCk/LmN1cnJlbmN5T3JpZ2luU291cmNlKCkudmFsdWUoKSE9PWUmJmkub3duZXJTb3VyY2UoKT8udW5pdE9yaWdpblNvdXJjZSgpLnZhbHVlKCkhPT1lfHwoaS5yZWFsaWduKCksaS51cGRhdGVBbGxWaWV3cygoMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkoaS5pZCgpKSksdD0hMCk7cmV0dXJuIHQmJnRoaXMuX2ludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKSx0fXN0YXJ0U2NhbGVQcmljZShlLHQpe2Uuc3RhcnRTY2FsZSh0KX1zY2FsZVByaWNlVG8oZSx0KXtlLnNjYWxlVG8odCksdGhpcy51cGRhdGVBbGxWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKX1lbmRTY2FsZVByaWNlKGUpe2UuZW5kU2NhbGUoKX1zdGFydFNjcm9sbFByaWNlKGUsdCl7ZS5zdGFydFNjcm9sbCh0KX1zY3JvbGxQcmljZVRvKGUsdCl7ZS5zY3JvbGxUbyh0KSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpfWVuZFNjcm9sbFByaWNlKGUpe2UuZW5kU2Nyb2xsKCl9cmVzZXRQcmljZVNjYWxlKGUpe2NvbnN0IHQ9dGhpcy50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksaT10aGlzLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZSgpO2UucmVzZXRTY2FsZUF2YWlsYWJsZSgpLnZhbHVlKCkmJmUucmVzZXRTY2FsZSgpLGUucmVjYWxjdWxhdGVQcmljZVJhbmdlKHQsaSksdGhpcy51cGRhdGVBbGxWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKX1yZXNldFByaWNlU2NhbGVzQXZhaWxhYmxlKCl7cmV0dXJuIHRoaXMuX3Jlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGUucmVhZG9ubHkoKX1yZXN0b3JlUHJpY2VTY2FsZVN0YXRlKGUsdCl7ZS5yZXN0b3JlU3RhdGUodCksdGhpcy51cGRhdGVBbGxWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKX1iZWdpbkluc2VydE1hbnlMaW5lRGF0YVNvdXJjZXMoKXt0aGlzLl9pc0luSW5zZXJ0TWFueURhdGFTb3VyY2VzU3RhdGU9ITAsdGhpcy5fbGFzdExpbmVEYXRhU291cmNlWk9yZGVyPW51bGx9ZW5kSW5zZXJ0TWFueUxpbmVEYXRhU291cmNlcygpe3RoaXMuX2lzSW5JbnNlcnRNYW55RGF0YVNvdXJjZXNTdGF0ZT0hMSx0aGlzLl9sYXN0TGluZURhdGFTb3VyY2VaT3JkZXI9bnVsbDt7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMubW9kZWwoKS5hbGVydHNXYXRjaGVyKCkpO2Zvcihjb25zdCB0IG9mIHRoaXMubV9kYXRhU291cmNlcyllLnN5bmNTb3VyY2VBbGVydExhYmVscyh0KX19cmVtb3ZlU291cmNlRnJvbVByaWNlU2NhbGUoZSl7Y29uc3QgdD1lLnByaWNlU2NhbGUoKTtpZihudWxsIT09dCl7Y29uc3QgaT10LmRhdGFTb3VyY2VzKCk7aS5pbmRleE9mKGUpPj0wJiZ0LnJlbW92ZURhdGFTb3VyY2UoZSksMD09PWkubGVuZ3RoJiZ0aGlzLnJlbW92ZVByaWNlU2NhbGUodCl9fV9pbnZhbGlkYXRlU291cmNlc0NhY2hlKCl7dGhpcy5fY2FjaGVkT3JkZXJlZFNvdXJjZXMuY2xlYXIoKSx0aGlzLl9sZWZ0UHJpY2VTY2FsZXMuZm9yRWFjaCgoZT0+ZS5pbnZhbGlkYXRlU291cmNlc0NhY2hlKCkpKSx0aGlzLl9yaWdodFByaWNlU2NhbGVzLmZvckVhY2goKGU9PmUuaW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpKSl9X3Byb2Nlc3NNYWluU291cmNlQ2hhbmdlKCl7bGV0IGU9ITE7aWYobnVsbD09PXRoaXMubV9tYWluRGF0YVNvdXJjZSlmb3IoY29uc3QgdCBvZiB0aGlzLm1fZGF0YVNvdXJjZXMpaWYoKDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKHQpJiYhdGhpcy5pc092ZXJsYXkodCkmJighKDAsdGkuaXNTdHVkeSkodCl8fCF0LmlzTGlua2VkVG9TZXJpZXMoKSkpe3RoaXMubV9tYWluRGF0YVNvdXJjZT10LGU9ITA7YnJlYWt9aWYodGhpcy5tX21haW5EYXRhU291cmNlJiZlKXtsZXQgZT10aGlzLm1fZGF0YVNvdXJjZXMuZmlsdGVyKHJpLmlzTGluZVRvb2wpO2U9KDAsZHIuc29ydFNvdXJjZXMpKGUpO2Zvcihjb25zdCB0IG9mIGUpdGhpcy5tb3ZlKHQsKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLm1fbWFpbkRhdGFTb3VyY2UucHJpY2VTY2FsZSgpKSwhMCl9ZWxzZSBpZighdGhpcy5tX21haW5EYXRhU291cmNlfHx0aGlzLmlzT3ZlcmxheSh0aGlzLm1fbWFpbkRhdGFTb3VyY2UpJiYwPT09dGhpcy5fbm9uT3ZlcmxheVByaWNlc1NvdXJjZXNDb3VudCgpKXtsZXQgZT1udWxsO2lmKHRoaXMubV9kYXRhU291cmNlcy5pbmNsdWRlcyh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkpKWU9dGhpcy5fbW9kZWwubWFpblNlcmllcygpO2Vsc2UgZm9yKGNvbnN0IHQgb2YgdGhpcy5tX2RhdGFTb3VyY2VzKWlmKCgwLEhzLmlzUHJpY2VEYXRhU291cmNlKSh0KSYmdGhpcy5pc092ZXJsYXkodCkmJnQuc2hvd0luT2JqZWN0VHJlZSgpKXtlPXQ7YnJlYWt9aWYobnVsbCE9PWUpe2NvbnN0IHQ9dGhpcy5tX21haW5EYXRhU291cmNlPT09ZTt0aGlzLm1fbWFpbkRhdGFTb3VyY2U9ZTtjb25zdCBpPXRoaXMuY3JlYXRlTmV3UHJpY2VTY2FsZUlmUG9zc2libGUoKTtpZih0JiZlPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpKXtjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkoZS5wcmljZVNjYWxlKCkpO3RoaXMuX21vZGVsLmNoaWxkcmVuKGUsITAsITApLmZvckVhY2goKGU9Pnt0aGlzLnJlbW92ZVNvdXJjZUZyb21QcmljZVNjYWxlKGUpLGkuYWRkRGF0YVNvdXJjZShlKSxlLnNldFByaWNlU2NhbGUoaSl9KSksdGhpcy5yZW1vdmVQcmljZVNjYWxlKHQpfXRoaXMubW92ZShlLGksITApLHRoaXMucmVjYWxjdWxhdGVQcmljZVNjYWxlKGUucHJpY2VTY2FsZSgpLCgwLHRuLmdsb2JhbENoYW5nZUV2ZW50KSgpKX19fV9hZGRTb3VyY2VUb0NvbGxlY3Rpb25zKGUsdCl7dGhpcy5tX2RhdGFTb3VyY2VzLnB1c2goZSksdGhpcy5fc291cmNlc0J5SWQuc2V0KGUuaWQoKSxlKSx0aGlzLl9pbnZhbGlkYXRlU291cmNlc0NhY2hlKCk7Y29uc3QgaT0oKT0+e3RoaXMuX3NvdXJjZVByb3BlcnRpZXNDaGFuZ2VkLmZpcmUoZSl9O2lmKGUucHJvcGVydGllcygpLnN1YnNjcmliZSh0aGlzLGkpLAplLnpPcmRlckNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywodD0+dGhpcy5fc291cmNlc1pPcmRlckNoYW5nZWQuZmlyZShlLHQpKSksKDAscmkuaXNMaW5lVG9vbCkoZSkpe2Uubm9ybWFsaXplZFBvaW50c0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyxpKSxlLmZpeGVkUG9pbnRDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsaSksZS5vbklzQWN0dWFsU3ltYm9sQ2hhbmdlKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9pbnZhbGlkYXRlU291cmNlc0NhY2hlKCkpKSxlLmhhc0FsZXJ0KCkuc3Vic2NyaWJlKGkpLGUuc2hhcmluZ01vZGUoKS5zdWJzY3JpYmUoaSk7Y29uc3QgdD0oKT0+e3RoaXMuX2xpbmVUb29sc0J5TGlua0tleS5yZW1vdmVCeUtleTIoZS5pZCgpKSx0aGlzLl9saW5lVG9vbHNCeUxpbmtLZXkuYWRkKGUpfTtlLmxpbmtLZXkoKS5zdWJzY3JpYmUodCksdGhpcy5fc291cmNlV2F0Y2hlZFZhbHVlc1N1YnNjcmlwdGlvbnMuc2V0KGUuaWQoKSx7bGlua0tleUNhbGxiYWNrOnQsY29tbW9uQ2FsbGJhY2s6aX0pLHRoaXMuX2xpbmVUb29sc0J5TGlua0tleS5hZGQoZSl9Y29uc3Qgcz0oMCxJby5pc1N5bWJvbFNvdXJjZSkoZSk/ZTpudWxsO2lmKCgwLEhzLmlzUHJpY2VEYXRhU291cmNlKShlKSYmKHRoaXMuX3ByaWNlU291cmNlc0J5SWQuc2V0KGUuaWQoKSxlKSxlLmN1cnJlbmN5Q2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5faW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpKSksZS51bml0Q2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5faW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpKSksdGhpcy5fcHJpY2VEYXRhU291cmNlcy5wdXNoKGUpLCgwLHRpLmlzU3R1ZHkpKGUpJiZ0aGlzLl9zdHVkeVNvdXJjZXMucHVzaChlKSx0aGlzLl9vblByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkKCksbnVsbCE9PXMmJih0aGlzLl9zeW1ib2xTb3VyY2VzLnB1c2gocykscy5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fc3ltYm9sU291cmNlUmVzb2x2ZWQuZmlyZShlKSkpLHMuc3ltYm9sUmVzb2x2aW5nQWN0aXZlKCkuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY1N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSkscy5zeW1ib2xIaWJlcm5hdGVkKCkuc3Vic2NyaWJlKHRoaXMuX29uU3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQpLHRoaXMuX3JlY2FsY1N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSgpLHRoaXMuX29uU3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoKSxzPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpJiZ0aGlzLl9pc01haW5QYW5lLnNldFZhbHVlKCEwKSksKDAsdGkuaXNTdHVkeSkoZSl8fCgwLHRpLmlzU3R1ZHlTdHViKShlKSkpe2NvbnN0IHQ9ZS5tZXRhSW5mbygpO3QmJigwLF9sLmlzQ291bnRlZFVzZXJTY3JpcHQpKHQpJiYoMCxfbC5hZGRVc2VyU2NyaXB0T25MYXlvdXQpKHQuc2NyaXB0SWRQYXJ0LCgwLGwuZW5zdXJlRGVmaW5lZCkodC5waW5lKS52ZXJzaW9uKX1lLmlzTXVsdGlQYW5lQXZhaWxhYmxlKCkmJnRoaXMubW9kZWwoKS5hZGRNdWx0aVBhbmVTb3VyY2UoZSksc2koZSkmJih0aGlzLl9sb2xsaXBvcERhdGFTb3VyY2VzLnB1c2goZSksdGhpcy51cGRhdGVMb2xsaXBvcFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSksdHx8MCE9PXRoaXMuX2J1bGtBY3Rpb25zLmFjdGl2ZUNvdW50ZXJ8fHRoaXMuX2RhdGFTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSgpfV9yZW1vdmVTb3VyY2VGcm9tQ29sbGVjdGlvbnMoZSx0KXtjb25zdCBpPXRoaXMubV9kYXRhU291cmNlc1tlXSxzPWkuaWQoKTtpZihpLnByb3BlcnRpZXMoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxpLnpPcmRlckNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLm1fZGF0YVNvdXJjZXMuc3BsaWNlKGUsMSksdGhpcy5fc291cmNlc0J5SWQuZGVsZXRlKGkuaWQoKSksKDAscmkuaXNMaW5lVG9vbCkoaSkpe2lmKGkubm9ybWFsaXplZFBvaW50c0NoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxpLmZpeGVkUG9pbnRDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksaS5vbklzQWN0dWFsU3ltYm9sQ2hhbmdlKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fc291cmNlV2F0Y2hlZFZhbHVlc1N1YnNjcmlwdGlvbnMuaGFzKHMpKXtjb25zdCBlPXRoaXMuX3NvdXJjZVdhdGNoZWRWYWx1ZXNTdWJzY3JpcHRpb25zLmdldChzKTtlJiYoaS5oYXNBbGVydCgpLnVuc3Vic2NyaWJlKGUuY29tbW9uQ2FsbGJhY2spLGkuc2hhcmluZ01vZGUoKS51bnN1YnNjcmliZShlLmNvbW1vbkNhbGxiYWNrKSxpLmxpbmtLZXkoKS51bnN1YnNjcmliZShlLmxpbmtLZXlDYWxsYmFjaykpLHRoaXMuX3NvdXJjZVdhdGNoZWRWYWx1ZXNTdWJzY3JpcHRpb25zLmRlbGV0ZShzKX10aGlzLl9saW5lVG9vbHNCeUxpbmtLZXkucmVtb3ZlQnlLZXkyKGkuaWQoKSl9dGhpcy5faW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpO2NvbnN0IG49KDAsSW8uaXNTeW1ib2xTb3VyY2UpKGkpP2k6bnVsbDtpZigoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoaSkmJih0aGlzLl9wcmljZVNvdXJjZXNCeUlkLmRlbGV0ZShpLmlkKCkpLGkuY3VycmVuY3lDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksaS51bml0Q2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLCgwLGcucmVtb3ZlSXRlbUZyb21BcnJheSkodGhpcy5fcHJpY2VEYXRhU291cmNlcyxpKSwoMCx0aS5pc1N0dWR5KShpKSYmKDAsZy5yZW1vdmVJdGVtRnJvbUFycmF5KSh0aGlzLl9zdHVkeVNvdXJjZXMsaSksdGhpcy5fb25QcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLG51bGwhPT1uJiYoKDAsZy5yZW1vdmVJdGVtRnJvbUFycmF5KSh0aGlzLl9zeW1ib2xTb3VyY2VzLG4pLG4uc3ltYm9sUmVzb2x2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxuLnN5bWJvbFJlc29sdmluZ0FjdGl2ZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY1N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSksCm4uc3ltYm9sSGliZXJuYXRlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX29uU3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQpLHRoaXMuX3JlY2FsY1N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSgpLHRoaXMuX29uU3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoKSxuPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpJiZ0aGlzLl9pc01haW5QYW5lLnNldFZhbHVlKCExKSksKDAsdGkuaXNTdHVkeSkoaSl8fCgwLHRpLmlzU3R1ZHlTdHViKShpKSkpe2NvbnN0IGU9aS5tZXRhSW5mbygpO2UmJigwLF9sLmlzQ291bnRlZFVzZXJTY3JpcHQpKGUpJiYoMCxfbC5yZW1vdmVVc2VyU2NyaXB0RnJvbUxheW91dCkoZS5zY3JpcHRJZFBhcnQsKDAsbC5lbnN1cmVEZWZpbmVkKShlLnBpbmUpLnZlcnNpb24pfWkuaXNNdWx0aVBhbmVBdmFpbGFibGUoKSYmdGhpcy5tb2RlbCgpLnJlbW92ZU11bHRpUGFuZVNvdXJjZShpKSxzaShpKSYmKCgwLGcucmVtb3ZlSXRlbUZyb21BcnJheSkodGhpcy5fbG9sbGlwb3BEYXRhU291cmNlcyxpKSx0aGlzLnVwZGF0ZUxvbGxpcG9wVmlld3MoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKGkuaWQoKSkpKSx0fHwwIT09dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlcnx8dGhpcy5fZGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKCl9X3JlY2FsY3VsYXRlUHJpY2VTY2FsZUJ5U2NhbGVSYXRpbyhlKXt0aGlzLmlzTWFpblBhbmUoKS52YWx1ZSgpJiZlPT09dGhpcy5fbG9ja2VkUHJpY2VTY2FsZSYmKG51bGwhPT10aGlzLl9jdXJyZW50UHJpY2VTY2FsZVJhdGlvP3RoaXMuX2FwcGx5T2xkU2NhbGVSYXRpb1RvUHJpY2VTY2FsZSgpOnRoaXMuX3RyeVRvQXBwbHlOZXdQcmljZVNjYWxlUmF0aW8oKSl9X2RlZmF1bHRCb3R0b21NYXJnaW4oKXtyZXR1cm4uMDEqdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYm90dG9tTWFyZ2luLnZhbHVlKCl9X2RlZmF1bHRUb3BNYXJnaW4oKXtyZXR1cm4uMDEqdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudG9wTWFyZ2luLnZhbHVlKCl9X3VwZGF0ZU1hcmdpbnMoKXtjb25zdCBlPXRoaXMuX2RlZmF1bHRUb3BNYXJnaW4oKSx0PXRoaXMuX2RlZmF1bHRCb3R0b21NYXJnaW4oKTtmb3IoY29uc3QgaSBvZiB0aGlzLl9sZWZ0UHJpY2VTY2FsZXMpb2MoaSxlLHQpO2Zvcihjb25zdCBpIG9mIHRoaXMuX3JpZ2h0UHJpY2VTY2FsZXMpb2MoaSxlLHQpO2Zvcihjb25zdCBpIG9mIHRoaXMubV9kYXRhU291cmNlcylpZih0aGlzLmlzT3ZlcmxheShpKSl7Y29uc3Qgcz1pLnByaWNlU2NhbGUoKTtudWxsIT09cyYmKG9jKHMsZSx0KSx0aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZShzLCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpKX1mb3IoY29uc3QgZSBvZiB0aGlzLl9sZWZ0UHJpY2VTY2FsZXMpdGhpcy5yZWNhbGN1bGF0ZVByaWNlU2NhbGUoZSwoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9yaWdodFByaWNlU2NhbGVzKXRoaXMucmVjYWxjdWxhdGVQcmljZVNjYWxlKGUsKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSk7dGhpcy51cGRhdGVBbGxWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKX1fYmF0Y2hSZW9yZGVyKGUsdCxpKXtpKHRoaXMuc291cmNlc0J5R3JvdXAoKS56T3JkZXJWaXNpYmxlU291cmNlcygpLGUsdCksdGhpcy5faW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpLHRoaXMuX2RhdGFTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSgpLHRoaXMuX29uRGF0YVNvdXJjZXNaT3JkZXJzQ2hhbmdlZCgpLHRoaXMubW9kZWwoKS5mdWxsVXBkYXRlKCl9X3BsYWNlUHJpY2VTY2FsZShlLHQsaSl7aWYoIm92ZXJsYXkiPT09dClyZXR1cm4gdm9pZCBlLmludmFsaWRhdGVNYXJnaW5zKCk7Y29uc3Qgcz0ibGVmdCI9PT10P3RoaXMuX2xlZnRQcmljZVNjYWxlczp0aGlzLl9yaWdodFByaWNlU2NhbGVzLG49dm9pZCAwPT09aT9zLmxlbmd0aDppO3Muc3BsaWNlKG4sMCxlKSxlLm1vZGVDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25QcmljZVNjYWxlTW9kZUNoYW5nZWQuYmluZCh0aGlzLGUpKSxlLmludGVybmFsSGVpZ2h0Q2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3JlY2FsY3VsYXRlUHJpY2VTY2FsZUJ5U2NhbGVSYXRpby5iaW5kKHRoaXMsZSkpLGUucHJpY2VSYW5nZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9yZWNhbGN1bGF0ZVRpbWVTY2FsZUJ5U2NhbGVSYXRpby5iaW5kKHRoaXMsZSkpLGUucHJpY2VSYW5nZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblByaWNlU2NhbGVTZXRNaW5NYXhQcmljZVJhbmdlLmJpbmQodGhpcyxlKSksZS5pc1Zpc2libGUoKS5zdWJzY3JpYmUodGhpcy5fb25QcmljZVNjYWxlSXNWaXNpYmxlQ2hhbmdlZCksZS5yZXNldFNjYWxlQXZhaWxhYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGVWYWx1ZSksZS5pc0xvY2tTY2FsZSgpJiYoKDAsbC5hc3NlcnQpKG51bGw9PT10aGlzLl9sb2NrZWRQcmljZVNjYWxlKSx0aGlzLl9sb2NrZWRQcmljZVNjYWxlPWUsdGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbz1udWxsKSxlLmludmFsaWRhdGVNYXJnaW5zKCksdGhpcy5fb25QcmljZVNjYWxlc0NoYW5nZWQuZmlyZSgpLHRoaXMuX3VwZGF0ZVJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGVWYWx1ZSgpfV9vblByaWNlU2NhbGVNb2RlQ2hhbmdlZChlLHQsaSl7aWYoaS5sb2NrU2NhbGUmJih0aGlzLl9sb2NrZWRQcmljZVNjYWxlIT09ZSYmbnVsbCE9PXRoaXMuX2xvY2tlZFByaWNlU2NhbGUmJnRoaXMuX2xvY2tlZFByaWNlU2NhbGUuc2V0TW9kZSh7bG9ja1NjYWxlOiExfSksdGhpcy5fbG9ja2VkUHJpY2VTY2FsZT1lLHRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW89KDAsaWEuc2NhbGVSYXRpbykodGhpcy50aW1lU2NhbGUoKSxlKSksdC5sb2NrU2NhbGUmJiFpLmxvY2tTY2FsZSYmKHRoaXMuX2xvY2tlZFByaWNlU2NhbGU9bnVsbCx0aGlzLl9jdXJyZW50UHJpY2VTY2FsZVJhdGlvPW51bGwpLAp0LnBlcmNlbnRhZ2U9PT1pLnBlcmNlbnRhZ2UmJnQuaW5kZXhlZFRvMTAwPT09aS5pbmRleGVkVG8xMDApcmV0dXJuO2NvbnN0IHM9dGhpcy50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksbj10aGlzLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZSgpO251bGwhPT1zJiZudWxsIT09biYmKGUucmVjYWxjdWxhdGVQcmljZVJhbmdlKHMsbiksZS51cGRhdGVBbGxWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSl9X2FwcGx5T2xkU2NhbGVSYXRpb1RvUHJpY2VTY2FsZSgpe3RoaXMuX2lzUmVjYWxjdWxhdGluZ1NjYWxlc3x8bnVsbD09PXRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW98fG51bGw9PT10aGlzLl9sb2NrZWRQcmljZVNjYWxlfHwodGhpcy5faXNSZWNhbGN1bGF0aW5nU2NhbGVzPSEwLHRoaXMuX3NldE5ld1ByaWNlUmFuZ2VCeVNjYWxlUmF0aW8odGhpcy5fbG9ja2VkUHJpY2VTY2FsZSx0aGlzLl9jdXJyZW50UHJpY2VTY2FsZVJhdGlvLHRoaXMuX21haW5Tb3VyY2VWaXNpYmxlUHJpY2VSYW5nZSh0aGlzLl9sb2NrZWRQcmljZVNjYWxlKSksdGhpcy5faXNSZWNhbGN1bGF0aW5nU2NhbGVzPSExKX1fc2V0TmV3UHJpY2VSYW5nZUJ5U2NhbGVSYXRpbyhlLHQsaSxzLG4pe2NvbnN0IHI9KDAsaWEucHJpY2VSYW5nZUJ5U2NhbGVSYXRpbykoZSx0aGlzLnRpbWVTY2FsZSgpLmJhclNwYWNpbmcoKSx0KTtlLnNldFByaWNlUmFuZ2UobnVsbCE9PXI/cjppLHMsbil9X2FwcGx5T2xkU2NhbGVSYXRpb1RvVGltZVNjYWxlKCl7dGhpcy5faXNSZWNhbGN1bGF0aW5nU2NhbGVzfHxudWxsPT09dGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpb3x8KHRoaXMuX2lzUmVjYWxjdWxhdGluZ1NjYWxlcz0hMCx0aGlzLl9zZXROZXdCYXJTcGFjaW5nQnlTY2FsZVJhdGlvKCksdGhpcy5faXNSZWNhbGN1bGF0aW5nU2NhbGVzPSExKX1fdHJ5VG9BcHBseU5ld1ByaWNlU2NhbGVSYXRpbygpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9sb2NrZWRQcmljZVNjYWxlKSx0PSgwLGlhLnNjYWxlUmF0aW8pKHRoaXMudGltZVNjYWxlKCksZSk7dGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbz09PXR8fGUuaXNMb2coKXx8KHRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW89dCx0aGlzLm1vZGVsKCkubWFpblNlcmllc1NjYWxlUmF0aW9Qcm9wZXJ0eU9uQ2hhbmdlZCgpKX1fcmVjYWxjdWxhdGVUaW1lU2NhbGVCeVNjYWxlUmF0aW8oZSl7ZT09PXRoaXMuX2xvY2tlZFByaWNlU2NhbGUmJihudWxsIT09dGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbz90aGlzLl9hcHBseU9sZFNjYWxlUmF0aW9Ub1RpbWVTY2FsZSgpOnRoaXMuX3RyeVRvQXBwbHlOZXdQcmljZVNjYWxlUmF0aW8oKSl9X3NldE5ld0JhclNwYWNpbmdCeVNjYWxlUmF0aW8oKXtjb25zdCBlPXRoaXMudGltZVNjYWxlKCkuZ2V0VmFsaWRCYXJTcGFjaW5nKCgwLGlhLmJhclNwYWNpbmdCeVNjYWxlUmF0aW8pKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbG9ja2VkUHJpY2VTY2FsZSksdGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbykpO3RoaXMudGltZVNjYWxlKCkuaXNWYWxpZEJhclNwYWNpbmcoZSkmJnRoaXMudGltZVNjYWxlKCkuc2V0QmFyU3BhY2luZyhlKX1fbWFpblNvdXJjZVZpc2libGVQcmljZVJhbmdlKGUpe2NvbnN0IHQ9dGhpcy50aW1lU2NhbGUoKSxpPXQudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1pKXJldHVybiBuZXcgUGwuUHJpY2VSYW5nZSgtLjUsLjUpO2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0LmxvZ2ljYWxSYW5nZSgpKSxuPXtzdGFydFRpbWVQb2ludDppLmZpcnN0QmFyKCksZW5kVGltZVBvaW50OmkubGFzdEJhcigpLGxvZ2ljU3RhcnRQb2ludDpzLmxlZnQoKSxsb2dpY0VuZFBvaW50OnMucmlnaHQoKSx0YXJnZXRQcmljZVNjYWxlOmUsc2NhbGVTZXJpZXNPbmx5OmUuaXNTY2FsZVNlcmllc09ubHkoKX07cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSgoMCxsLmVuc3VyZU5vdE51bGwpKGUubWFpblNvdXJjZSgpKS5wcmljZVJhbmdlKG4pKX1fc2V0TWluTWF4UHJpY2VSYW5nZSgpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9sb2NrZWRQcmljZVNjYWxlKSx0PSgwLGlhLnByaWNlUmFuZ2VCeVNjYWxlUmF0aW8pKGUsdGhpcy50aW1lU2NhbGUoKS5tYXhCYXJTcGFjaW5nKCksdGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbyksaT0oMCxpYS5wcmljZVJhbmdlQnlTY2FsZVJhdGlvKShlLHRoaXMudGltZVNjYWxlKCkubWluQmFyU3BhY2luZygpLHRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW8pO251bGwhPT10JiZlLnNldE1heFByaWNlUmFuZ2UodCksbnVsbCE9PWkmJmUuc2V0TWluUHJpY2VSYW5nZShpKX1fb25QcmljZVNjYWxlU2V0TWluTWF4UHJpY2VSYW5nZShlKXtlPT09dGhpcy5fbG9ja2VkUHJpY2VTY2FsZSYmdGhpcy5fc2V0TWluTWF4UHJpY2VSYW5nZSgpfV9vbkRhdGFTb3VyY2VzWk9yZGVyc0NoYW5nZWQoKXswPT09dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlcj90aGlzLl9kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkLmZpcmUoKTp0aGlzLl9idWxrQWN0aW9ucy5kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkPSEwfV9vblByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkKCl7MD09PXRoaXMuX2J1bGtBY3Rpb25zLmFjdGl2ZUNvdW50ZXI/dGhpcy5fcHJpY2VTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSgpOnRoaXMuX2J1bGtBY3Rpb25zLnByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkPSEwfV9ub25PdmVybGF5UHJpY2VzU291cmNlc0NvdW50KCl7cmV0dXJuIHRoaXMubV9kYXRhU291cmNlcy5maWx0ZXIoKGU9PighKDAsdGkuaXNTdHVkeSkoZSl8fCFlLmlzTGlua2VkVG9TZXJpZXMoKSkmJigoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSkmJmUuc2hvd0luT2JqZWN0VHJlZSgpJiYhdGhpcy5pc092ZXJsYXkoZSkpKSkubGVuZ3RofV9yZXN0b3JlTWFpblNlcmllcyhlLHQsaSxzLG4scixoKXtjb25zdCBkPWUuaWQsdT1lLnN0YXRlCjtpZih1JiZuJiYodS5zdHlsZT1uLnN0eWxlPz91LnN0eWxlLHUuaW50ZXJ2YWw9bi5pbnRlcnZhbHx8dS5pbnRlcnZhbCxuLnN5bWJvbCYmbi5zeW1ib2whPT11LnN5bWJvbCYmKHUuc3ltYm9sPW4uc3ltYm9sLGRlbGV0ZSB1LmN1cnJlbmN5SWQsZGVsZXRlIHUudW5pdElkKSksdSYmWyJjYW5kbGVTdHlsZSIsImhvbGxvd0NhbmRsZVN0eWxlIiwiaGFTdHlsZSJdLmZvckVhY2goKGU9Pnt1W2VdJiYodVtlXS53aWNrVXBDb2xvcj11W2VdLndpY2tVcENvbG9yfHx1W2VdLndpY2tDb2xvcix1W2VdLndpY2tEb3duQ29sb3I9dVtlXS53aWNrRG93bkNvbG9yfHx1W2VdLndpY2tDb2xvcil9KSksdSYmKHUuc3RhdHVzVmlld1N0eWxlPXUuc3RhdHVzVmlld1N0eWxlfHx7fSwhdS5zdGF0dXNWaWV3U3R5bGUuc3ltYm9sVGV4dFNvdXJjZSkpe2NvbnN0IGU9ISF1LnN0YXR1c1ZpZXdTdHlsZS5zaG93U3ltYm9sQXNEZXNjcmlwdGlvbjt1LnN0YXR1c1ZpZXdTdHlsZS5zeW1ib2xUZXh0U291cmNlPWU/InRpY2tlciI6ImRlc2NyaXB0aW9uIn1pZih1KXt1LmV4dGVuZGVkSG91cnM/dS5zZXNzaW9uSWQ9ImV4dGVuZGVkIjp1LnNlc3Npb25JZHx8KHUuc2Vzc2lvbklkPSJyZWd1bGFyIiksZGVsZXRlIHUuZXh0ZW5kZWRIb3VycywoMCxRbC5hbGxDaGFydFN0eWxlcykoKS5pbmNsdWRlcyh1LnN0eWxlKXx8KHUuc3R5bGU9Mik7Y29uc3QgZT11LmxpbmVTdHlsZS5zdHlsZVR5cGU7bGV0IHQ7ZGVsZXRlIHUubGluZVN0eWxlLnN0eWxlVHlwZSwwPT09ZSYmKHQ9MTQsdS5saW5lV2l0aE1hcmtlcnNTdHlsZT0oMCxhLmNsb25lKSh1LmxpbmVTdHlsZSkpLDE9PT1lJiYodD0xNSx1LnN0ZXBsaW5lU3R5bGU9KDAsYS5jbG9uZSkodS5saW5lU3R5bGUpKSx2b2lkIDAhPT10JiYyPT09dS5zdHlsZSYmKHUuc3R5bGU9dCk7Y29uc3QgaT11LnZvbEZvb3RwcmludFN0eWxlPy5leHRlbmRlZFN1bW1hcnk/LmZ1dHVyZXNCbG9ja0luZm87aSYmKHUudm9sRm9vdHByaW50U3R5bGUuZXh0ZW5kZWRTdW1tYXJ5LmV4dGVuZGVkT3BlbkludGVyZXN0QmxvY2tJbmZvPXtvcGVuSW50ZXJlc3RMb3c6e3Zpc2libGU6aS5vcGVuSW50ZXJlc3RMb3cudmlzaWJsZT8/ITB9LG9wZW5JbnRlcmVzdEhpZ2g6e3Zpc2libGU6aS5vcGVuSW50ZXJlc3RIaWdoLnZpc2libGU/PyEwfX0sZGVsZXRlIHUudm9sRm9vdHByaW50U3R5bGUuZXh0ZW5kZWRTdW1tYXJ5LmZ1dHVyZXNCbG9ja0luZm8pO2NvbnN0IHM9dGhpcy5fbW9kZWwudGltZXpvbmVFeGNlcHRFeGNoYW5nZSgpLnZhbHVlKCk7bGV0IG49dS5zdnBTdHlsZT8uaW5wdXRzPy5jdXN0b21TZXNzaW9uVFo/P251bGw7aWYobnVsbCE9PXMmJm51bGwhPT1uJiYobj0iZXhjaGFuZ2UiPT09bi50b0xvd2VyQ2FzZSgpP3M6bixuIT09cykpe2NvbnN0IGU9dS5zdnBTdHlsZS5pbnB1dHMuY3VzdG9tU2Vzc2lvbj8/IiIsW3QsaV09ZS5zcGxpdCgiLSIpLHI9KDAsby5nZXRfdGltZXpvbmUpKG4pLGE9KDAsby5nZXRfdGltZXpvbmUpKHMpLGw9c2ModCxyLGEpLGM9c2MoaSxyLGEpO3Uuc3ZwU3R5bGUuaW5wdXRzLmN1c3RvbVNlc3Npb249YCR7bH0tJHtjfWAsdS5zdnBTdHlsZS5pbnB1dHMuY3VzdG9tU2Vzc2lvblRaPXN9fWlmKHUpZm9yKGNvbnN0IGUgb2ZbImxpbmVTdHlsZSIsImxpbmVXaXRoTWFya2Vyc1N0eWxlIiwic3RlcGxpbmVTdHlsZSJdKWljKHVbZV0pO2lmKCFpKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKTsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLm1haW5QYW5lKCkpLnJlbW92ZURhdGFTb3VyY2UoZSwhMSxyKSx0aGlzLl9hZGRTb3VyY2VUb0NvbGxlY3Rpb25zKGUscil9Y29uc3QgcD10aGlzLm1vZGVsKCkubWFpblNlcmllcygpLF89cC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7dGhpcy5tX21haW5EYXRhU291cmNlPXA7Y29uc3QgbT11JiZ1LnN0eWxlP3Uuc3R5bGU6dm9pZCAwOzY9PT1tJiYiQVRSIj09PV8ucG5mU3R5bGUuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLnN0eWxlLnZhbHVlKCk/Xy5wbmZTdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuc3R5bGUuc2V0VmFsdWVTaWxlbnRseSgiVHJhZGl0aW9uYWwiKTo0PT09bSYmIkFUUiI9PT1fLnJlbmtvU3R5bGUuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLnN0eWxlLnZhbHVlKCkmJl8ucmVua29TdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuc3R5bGUuc2V0VmFsdWVTaWxlbnRseSgiVHJhZGl0aW9uYWwiKSx1JiYhdS5oYXNPd25Qcm9wZXJ0eSgic2hvd1Nlc3Npb25zIikmJih1LnNob3dTZXNzaW9ucz0hMSksdSYmdm9pZCAwPT09dS5zZXR0bGVtZW50QXNDbG9zZSYmKHUuc2V0dGxlbWVudEFzQ2xvc2U9ITEpLHUmJnQmJih1LnNob3dDb3VudGRvd249ITEpLHUmJih0JiYhKCJzaG93U2VyaWVzTGFzdFZhbHVlUHJvcGVydHkiaW4gcykmJiJzaG93TGFzdFZhbHVlImluIHUmJnRoaXMuX21vZGVsLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTZXJpZXNMYXN0VmFsdWUuc2V0VmFsdWUodS5zaG93TGFzdFZhbHVlKSxkZWxldGUgdS5zaG93TGFzdFZhbHVlKSx1JiZ0aGlzLl9yZXN0b3JlTWFpblNlcmllc1N0dWR5SW5wdXRzKGUscC5zdHlsZVN0dWR5SW5mb3MoKSk7Y29uc3QgZz1wLnNlc3Npb25JZCgpOygwLGxsLmdldFBlcnNpc3RlbnRMb2dnZXIpKCk/LmFkZFBlcnNpc3RlbnRMb2dFbnRyeShgUmVzdG9yZSBzZXJpZXMuIHNvdXJjZS5pZDogJHtlLmlkfSBpZDogJHtkfWAsYy5MT0dMRVZFTC5JTkZPLGFjKSxwLnJlc3RvcmVTdGF0ZShlLHQsaCksdGhpcy5jaGFuZ2VTb3VyY2VJZChwLGQpLCgwLGxsLmdldFBlcnNpc3RlbnRMb2dnZXIpKCk/LmFkZFBlcnNpc3RlbnRMb2dFbnRyeShgU2VyaWVzIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSByZXN0b3JlZC4gaWQ6ICR7cC5pZCgpfWAsYy5MT0dMRVZFTC5JTkZPLGFjKSxwLnNlc3Npb25JZCgpIT09ZyYmXy5zZXNzaW9uSWQuZmlyZUNoYW5nZWQoKX1hc3luYyBfcmVzdG9yZU1haW5TZXJpZXNTdHVkeUlucHV0cyhlLHQpe2F3YWl0KDAsCmF0LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLnJlcXVlc3RNZXRhSW5mbygpO2NvbnN0IGk9KDAsYXQuc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuc3R1ZHlWZXJzaW9uaW5nKCkscz0oMCxsLmVuc3VyZURlZmluZWQpKGUuc3RhdGUpLG49e2hhU3R5bGU6KDAsQS5jaGFydFN0eWxlU3R1ZHlJZCkoOCwhMCxzLmhhU3R5bGU/LmlucHV0cykscmVua29TdHlsZTooMCxBLmNoYXJ0U3R5bGVTdHVkeUlkKSg0LCEwLHMucmVua29TdHlsZT8uaW5wdXRzKSxwYlN0eWxlOigwLEEuY2hhcnRTdHlsZVN0dWR5SWQpKDcsITAscy5wYlN0eWxlPy5pbnB1dHMpLGthZ2lTdHlsZTooMCxBLmNoYXJ0U3R5bGVTdHVkeUlkKSg1LCEwLHMua2FnaVN0eWxlPy5pbnB1dHMpLHBuZlN0eWxlOigwLEEuY2hhcnRTdHlsZVN0dWR5SWQpKDYsITAscy5wbmZTdHlsZT8uaW5wdXRzKSxyYW5nZVN0eWxlOigwLEEuY2hhcnRTdHlsZVN0dWR5SWQpKDExLCEwLHMucmFuZ2VTdHlsZT8uaW5wdXRzKSx2b2xGb290cHJpbnRTdHlsZTooMCxBLmNoYXJ0U3R5bGVTdHVkeUlkKSgxNywhMCxzLnZvbEZvb3RwcmludFN0eWxlPy5pbnB1dHMpLHRwb1N0eWxlOigwLEEuY2hhcnRTdHlsZVN0dWR5SWQpKDE4LCEwLHMudHBvU3R5bGU/LmlucHV0cyksc3ZwU3R5bGU6KDAsQS5jaGFydFN0eWxlU3R1ZHlJZCkoMjAsITAscy5zdnBTdHlsZT8uaW5wdXRzKX0scj17fTtmb3IoY29uc3Rbb11vZiBPYmplY3QuZW50cmllcyhMLlNZTUJPTF9TVFJJTkdfREFUQSkpe2NvbnN0IGE9YCR7TC5TVFlMRV9TSE9SVF9OQU1FU1tvXX1TdHlsZWAsbD1zW2FdPy5pbnB1dHM7aWYobnVsbD09bCljb250aW51ZTtjb25zdCBjPWEgaW4gZT9lW2FdLnN0dWR5SWQ6blthXSxoPW90LlN0dWR5TWV0YUluZm8ucGFyc2VJZFN0cmluZyhjKSxkPXRbYV0uc3R1ZHlJZCx1PW90LlN0dWR5TWV0YUluZm8ucGFyc2VJZFN0cmluZyhkKSxwPWkudXBkYXRlU3R1ZHlJbnB1dHMoaC5pZCxoLnZlcnNpb24sdS52ZXJzaW9uLGwuaW5wdXRzLG51bGwpO3JbYV09e2lucHV0czpwfX10aGlzLm1vZGVsKCkubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5tZXJnZUFuZEZpcmUocil9X3Jlc3RvcmVTcGVjaWFsU291cmNlKGUsdCxpKXtlLnR5cGU9PT1wbC5DaGFydEV2ZW50c1NvdXJjZUlkLlZhbHVlJiZ0JiZ0aGlzLl9tb2RlbC5yZXN0b3JlQ2hhcnRFdmVudHMoZSl9X3Byb2Nlc3NBZnRlckJ1bGtBY3Rpb24oKXtjb25zdCBlPXRoaXMuX2J1bGtBY3Rpb25zOzA9PT1lLmFjdGl2ZUNvdW50ZXImJih0aGlzLl9kYXRhU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkLmZpcmUoKSxlLnN5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkJiYodGhpcy5fc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSgpLGUuc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQ9ITEpLGUucHJpY2VTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQmJih0aGlzLl9wcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKCksZS5wcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZD0hMSksZS5kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkJiYodGhpcy5fZGF0YVNvdXJjZXNaT3JkZXJzQ2hhbmdlZC5maXJlKCksZS5kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkPSExKSl9fXZhciBjYyxoYz1pKDUxNTk3MyksZGM9aSg0MDM4MTcpOyFmdW5jdGlvbihlKXtlW2UuTGVmdD0wXT0iTGVmdCIsZVtlLlJpZ2h0PTFdPSJSaWdodCIsZVtlLk5lYXJlc3Q9Ml09Ik5lYXJlc3QifShjY3x8KGNjPXt9KSk7Y29uc3QgdWM9KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5UaW1lUG9pbnRzIik7ZnVuY3Rpb24gcGMoZSx0KXtyZXR1cm4gbnVsbD09PWV8fG51bGw9PT10P2U9PT10OmUuZmlyc3RJbmRleD09PXQuZmlyc3RJbmRleCYmZS5sYXN0SW5kZXg9PT10Lmxhc3RJbmRleH1jbGFzcyBfY3tjb25zdHJ1Y3Rvcigpe3RoaXMuX3pvZmZzZXQ9MCx0aGlzLl9pdGVtcz1bXSx0aGlzLl9yYW5nZT1uZXcgZC5XYXRjaGVkT2JqZWN0KG51bGwscGMpfWNsZWFyKCl7dGhpcy5fem9mZnNldD0wLHRoaXMuX2l0ZW1zPVtdLHRoaXMuX3JhbmdlLnNldFZhbHVlKG51bGwpfXNpemUoKXtyZXR1cm4gdGhpcy5faXRlbXMubGVuZ3RofXJhbmdlKCl7cmV0dXJuIHRoaXMuX3JhbmdlLnJlYWRvbmx5KCl9bWVyZ2UoZSx0LGkpe2NvbnN0IHM9dGhpcy5fbWVyZ2VJbXBsKGUsdCxpKTtyZXR1cm4gdGhpcy5fdXBkYXRlRmlyc3RBbmRMYXN0SW5kZXgoKSxzfWFkZFRhaWwoZSx0KXtmb3IobGV0IGk9dD8xOjA7aTxlLmxlbmd0aDtpKyspdGhpcy5faXRlbXMucHVzaChlW2ldKTt0aGlzLl91cGRhdGVGaXJzdEFuZExhc3RJbmRleCgpfXJlbW92ZShlKXtjb25zdCB0PXRoaXMuX2luZGV4VG9PZmZzZXQoZSk7aWYobnVsbD09PXQpcmV0dXJuW107Y29uc3QgaT10aGlzLl9pdGVtcy5zcGxpY2UodCkscz1bXTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKylzLnB1c2goe2NoYW5nZToicmVtb3ZlIixpbmRleDplK3QsdmFsdWU6aVt0XX0pO3JldHVybiB0aGlzLl91cGRhdGVGaXJzdEFuZExhc3RJbmRleCgpLHN9dmFsdWVBdChlKXtjb25zdCB0PXRoaXMuX2luZGV4VG9PZmZzZXQoZSk7cmV0dXJuIG51bGwhPT10P3RoaXMuX2l0ZW1zW3RdPz9udWxsOm51bGx9aW5kZXhPZihlLHQpe2lmKHRoaXMuX2l0ZW1zLmxlbmd0aDwxKXJldHVybiBudWxsO2lmKGU+dGhpcy5faXRlbXNbdGhpcy5faXRlbXMubGVuZ3RoLTFdKXJldHVybiB0P3RoaXMuX3ZhbGlkT2Zmc2V0VG9JbmRleCh0aGlzLl9pdGVtcy5sZW5ndGgtMSk6bnVsbDtmb3IobGV0IGk9MDtpPHRoaXMuX2l0ZW1zLmxlbmd0aDsrK2kpe2lmKGU9PT10aGlzLl9pdGVtc1tpXSlyZXR1cm4gdGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KGkpO2lmKGU8dGhpcy5faXRlbXNbaV0pcmV0dXJuIHQ/dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KGkpOm51bGx9cmV0dXJuIG51bGx9c3RhdGUoZSl7bGV0IHQ9MCxpPXRoaXMuX2l0ZW1zLmxlbmd0aDtyZXR1cm4gbnVsbCE9PWUmJih0PXRoaXMuX2luZGV4VG9PZmZzZXQoZS5maXJzdEJhcigpKT8/MCwKaT0odGhpcy5faW5kZXhUb09mZnNldChlLmxhc3RCYXIoKSk/P2ktMSkrMSkse2l0ZW1zOnRoaXMuX2l0ZW1zLnNsaWNlKHQsaSksem9mZnNldDp0aGlzLl96b2Zmc2V0LXR9fXJlc3RvcmVTdGF0ZShlKXtudWxsIT09ZSYmKHRoaXMuX2l0ZW1zPWUuaXRlbXMsdGhpcy5fem9mZnNldD1lLnpvZmZzZXQsdGhpcy5fdXBkYXRlRmlyc3RBbmRMYXN0SW5kZXgoKSl9cm91Z2hUaW1lKGUsdD1udWxsKXtlPU1hdGgucm91bmQoZSk7Y29uc3QgaT10aGlzLnZhbHVlQXQoZSk7aWYobnVsbCE9PWkpcmV0dXJuIGk7Y29uc3Qgcz10aGlzLl9pdGVtcztpZighcy5sZW5ndGh8fHMubGVuZ3RoPDIpcmV0dXJuIG51bGw7Y29uc3Qgbj1zLmxlbmd0aC0xLHI9dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KDApLG89dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KG4pLGE9c1swXSxsPXNbbl0sYz0obC1hKS8oby1yKTtpZihlPHIpe3JldHVybiBhLShyLWUpKmN9aWYoZT5vKXtjb25zdCBpPWUtbztpZihpPDUwMCYmbnVsbCE9dClyZXR1cm4gdChsLGkpO3JldHVybiBsK2kqY31yZXR1cm4gbnVsbH1yb3VnaEluZGV4KGUsdD1udWxsLGk9MCl7Y29uc3Qgcz10aGlzLl9pdGVtcztpZighcy5sZW5ndGh8fHMubGVuZ3RoPDIpcmV0dXJuIG51bGw7Y29uc3Qgbj1zLmxlbmd0aC0xLHI9dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KDApLG89dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KG4pLGE9c1swXSxsPXNbbl07aWYoZT49YSYmZTw9bClyZXR1cm4gdGhpcy5fY2xvc2VzdEluZGV4KGUsaSk7Y29uc3QgYz0obC1hKS8oby1yKTtpZihlPGEpe2NvbnN0IHQ9YS1lO3JldHVybiByLU1hdGgucm91bmQodC9jKX1pZihlPmwpe2NvbnN0IGk9ZS1sO2xldCBzPU1hdGgudHJ1bmMoaS9jKTtpZihzPDUwMCYmbnVsbCE9PXQpe2NvbnN0IGk9dChsLGUpO2kuc3VjY2VzcyYmKHM9aS5yZXN1bHQpfXJldHVybiBvK3N9cmV0dXJuIG51bGx9Y2xvc2VzdEluZGV4TGVmdChlKXtyZXR1cm4gdGhpcy5fY2xvc2VzdEluZGV4KGUsMCl9Zmlyc3RQb2ludCgpe3JldHVybiAwPT09dGhpcy5faXRlbXMubGVuZ3RoP251bGw6dGhpcy5faXRlbXNbMF19bGFzdFBvaW50KCl7cmV0dXJuIDA9PT10aGlzLl9pdGVtcy5sZW5ndGg/bnVsbDp0aGlzLl9pdGVtc1t0aGlzLl9pdGVtcy5sZW5ndGgtMV19X2Nsb3Nlc3RJbmRleChlLHQpe2NvbnN0IGk9dGhpcy5faXRlbXM7aWYoIWkubGVuZ3RoKXJldHVybiBudWxsO2lmKE51bWJlci5pc05hTihlKSlyZXR1cm4gbnVsbDtjb25zdCBzPWkubGVuZ3RoLTE7aWYoZT49aVtzXSlyZXR1cm4gdGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KHMpO2NvbnN0IG49KDAsZy5sb3dlcmJvdW5kKSh0aGlzLl9pdGVtcyxlLCgoZSx0KT0+ZTx0KSk7aWYobjw9cyYmdGhpcy5faXRlbXNbbl09PT1lKXJldHVybiB0aGlzLl92YWxpZE9mZnNldFRvSW5kZXgobik7aWYoMD09PXQpcmV0dXJuIDA9PT1uP251bGw6dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KG4tMSk7aWYoMT09PXQpcmV0dXJuIG4+cz9udWxsOnRoaXMuX3ZhbGlkT2Zmc2V0VG9JbmRleChuKTtjb25zdCByPWUtKHRoaXMuX2l0ZW1zW24tMV0/Py0xLzApLG89KHRoaXMuX2l0ZW1zW25dPz8xLzApLWU7cmV0dXJuIHRoaXMuX3ZhbGlkT2Zmc2V0VG9JbmRleChyPG8/bi0xOm4pfV9tZXJnZUltcGwoZSx0LGkpe2lmKDA9PT1pLmxlbmd0aClyZXR1cm4gdWMubG9nRXJyb3IoIm1lcmdlOiAndmFsdWVzJyBkb2VzIG5vdCBjb250YWluIGFueSB0aW1lIHBvaW50cyIpLFtdO2lmKHQ+dGhpcy5fem9mZnNldCYmZSt0PjApcmV0dXJuIHVjLmxvZ0Vycm9yKCJtZXJnZTogd2hlbiB0aGUgZmlyc3QgdGltZSBwb2ludCBpbmRleCBpcyB1cGRhdGVkLCB3ZSBzaG91bGQgZmlsbCB0aGUgdGltZSBwb2ludHMgc3RhcnRpbmcgZnJvbSB0aGUgZmlyc3Qgb25lIiksW107aWYoMD09PXRoaXMuX2l0ZW1zLmxlbmd0aClyZXR1cm4gdGhpcy5faXRlbXM9aS5zbGljZSgpLHRoaXMuX3pvZmZzZXQ9dCxbe2NoYW5nZToicmVidWlsZCIsaW5kZXg6dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KDApfV07Y29uc3Qgcz1lK3RoaXMuX3pvZmZzZXQ7aWYoczwwKXtjb25zdCBuPU1hdGguYWJzKHMpO2lmKGkubGVuZ3RoPG4pcmV0dXJuIHVjLmxvZ0Vycm9yKCJtZXJnZTogJ3ZhbHVlcycgZG9lcyBub3QgY29udGFpbiBlbm91Z2ggdGltZSBwb2ludHMgdG8gZmlsbCBpbiB0aGUgbmV3IGl0ZW1zLiAnaW5kZXgnOiAiK2UudG9TdHJpbmcoKSsiLCBwcmV2aW91cyAnem9mZnNldCc6ICIrdGhpcy5fem9mZnNldC50b1N0cmluZygpKyIsIG5ldyAnem9mZnNldCc6ICIrdC50b1N0cmluZygpKyIsICd2YWx1ZXMubGVuZ3RoJzogIitpLmxlbmd0aCksW107dGhpcy5faXRlbXM9bmV3IEFycmF5KG4pLmNvbmNhdCh0aGlzLl9pdGVtcyksdGhpcy5fem9mZnNldD10O2ZvcihsZXQgcz0wO3M8aS5sZW5ndGg7KytzKXRoaXMuX2l0ZW1zW2Urcyt0XT1pW3NdO3JldHVyblt7Y2hhbmdlOiJyZWJ1aWxkIixpbmRleDp0aGlzLl92YWxpZE9mZnNldFRvSW5kZXgoMCl9XX1jb25zdCBuPVtdO2xldCByPXM7Zm9yKDtyPHRoaXMuX2l0ZW1zLmxlbmd0aCYmci1zPGkubGVuZ3RoOysrcil0aGlzLl9pdGVtc1tyXT1pW3Itc10sbi5wdXNoKHtjaGFuZ2U6InVwZGF0ZSIsaW5kZXg6dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KHIpLHZhbHVlOmlbci1zXX0pO2NvbnN0IG89cytpLmxlbmd0aDtpZihvPnRoaXMuX2l0ZW1zLmxlbmd0aCl7Y29uc3QgZT1vLXRoaXMuX2l0ZW1zLmxlbmd0aDtmb3IobGV0IHQ9cjt0PHIrZTsrK3Qpe2NvbnN0IGU9dGhpcy5faXRlbXMubGVuZ3RoO3RoaXMuX2l0ZW1zLnB1c2goaVt0LXNdKSxuLnB1c2goe2NoYW5nZToiYXBwZW5kIixpbmRleDp0aGlzLl92YWxpZE9mZnNldFRvSW5kZXgoZSksdmFsdWU6aVt0LXNdfSl9fWVsc2V7Zm9yKGxldCBlPW87ZTx0aGlzLl9pdGVtcy5sZW5ndGg7KytlKW4ucHVzaCh7Y2hhbmdlOiJyZW1vdmUiLGluZGV4OnRoaXMuX3ZhbGlkT2Zmc2V0VG9JbmRleChlKSx2YWx1ZTp0aGlzLl9pdGVtc1tlXX0pO3RoaXMuX2l0ZW1zLmxlbmd0aD1vfXJldHVybiB0aGlzLl96b2Zmc2V0PXQsbn0KX3VwZGF0ZUZpcnN0QW5kTGFzdEluZGV4KCl7Y29uc3QgZT10aGlzLl9vZmZzZXRUb0luZGV4KDApLHQ9dGhpcy5fb2Zmc2V0VG9JbmRleCh0aGlzLl9pdGVtcy5sZW5ndGgtMSk7dGhpcy5fcmFuZ2Uuc2V0VmFsdWUobnVsbD09PWV8fG51bGw9PT10P251bGw6e2ZpcnN0SW5kZXg6ZSxsYXN0SW5kZXg6dH0pfV92YWxpZE9mZnNldFRvSW5kZXgoZSl7cmV0dXJuIGUtdGhpcy5fem9mZnNldH1fb2Zmc2V0VG9JbmRleChlKXtyZXR1cm4gMDw9ZSYmZTx0aGlzLnNpemUoKT90aGlzLl92YWxpZE9mZnNldFRvSW5kZXgoZSk6bnVsbH1faW5kZXhUb09mZnNldChlKXtjb25zdCB0PWUrdGhpcy5fem9mZnNldDtyZXR1cm4gMDw9dCYmdDx0aGlzLnNpemUoKT90Om51bGx9fXZhciBtYz1pKDgxNDU4OSk7Y29uc3QgZ2M9bmV3IE1hcChbWzAsLjFdLFsxMSwuMV0sWzEsLjM1XSxbOSwuMzVdLFsxMiwuMzVdLFs4LC4zNV1dKTtjbGFzcyBmY3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3N0eWxlU3BlY2lmaWNSYW5nZXM9bmV3IE1hcCx0aGlzLl9sb2dpY2FsUmFuZ2U9ZSx0aGlzLl9kZWZhdWx0U3R5bGU9dH1zdHJpY3RSYW5nZShlKXtpZihudWxsPT09dGhpcy5fbG9naWNhbFJhbmdlKXJldHVybiBudWxsO3ZvaWQgMD09PWUmJihlPXRoaXMuX2RlZmF1bHRTdHlsZSk7bGV0IHQ9dGhpcy5fc3R5bGVTcGVjaWZpY1Jhbmdlcy5nZXQoZSk7aWYodm9pZCAwPT09dCl7Y29uc3QgaT0oZ2MuZ2V0KGUpfHwwKS8yO3Q9bmV3IGhjLkJhcnNSYW5nZShNYXRoLmZsb29yKHRoaXMuX2xvZ2ljYWxSYW5nZS5sZWZ0KCkraSksTWF0aC5jZWlsKHRoaXMuX2xvZ2ljYWxSYW5nZS5yaWdodCgpLWkpKSx0aGlzLl9zdHlsZVNwZWNpZmljUmFuZ2VzLnNldChlLHQpfXJldHVybiB0fWxvZ2ljYWxSYW5nZSgpe3JldHVybiB0aGlzLl9sb2dpY2FsUmFuZ2V9aXNWYWxpZCgpe3JldHVybiBudWxsIT09dGhpcy5fbG9naWNhbFJhbmdlfXN0YXRpYyBpbnZhbGlkKCl7cmV0dXJuIG5ldyBmYyhudWxsLDEpfX12YXIgU2MsdmM9aSgyMzgxMDMpLHljPWkoMzgwNTQwKSxiYz1pKDUxNzI5Myksd2M9aSgyNTAzMzQpLENjPWkoMjk3MTExKSxQYz1pKDU5MTc0MSksVGM9aSgxODk5OTgpOyFmdW5jdGlvbihlKXtlW2UuTWFya1BhZGRpbmdGb3IxNFB4Rm9udD01XT0iTWFya1BhZGRpbmdGb3IxNFB4Rm9udCIsZVtlLk1pbk1hcmtTaXplRm9yMTRQeEZvbnQ9NTBdPSJNaW5NYXJrU2l6ZUZvcjE0UHhGb250IixlW2UuRGVmYXVsdFNraXBJdGVtc1JhdGlvPS41XT0iRGVmYXVsdFNraXBJdGVtc1JhdGlvIixlW2UuTWF4RGF5QXZlcmFnZURldmlhdGlvblBlcmNlbnQ9MjVdPSJNYXhEYXlBdmVyYWdlRGV2aWF0aW9uUGVyY2VudCJ9KFNjfHwoU2M9e30pKTtjb25zdCB4Yz1Dbi5ZRUFSX1NQQU4tMSxNYz1Dbi5ZRUFSX1NQQU4tMixJYz1Dbi5EQVlfU1BBTi0xLExjPUNuLkhPVVJfU1BBTi0xLEFjPUNuLkhPVVJfU1BBTi0yLGtjPUNuLkhPVVJfU1BBTi0zLERjPXtbQ24uTUlMTElTRUNPTkRfU1BBTl06MSxbQ24uSE9VUl9TUEFOKzJdOjEsW0NuLkhPVVJfU1BBTisxXToxLFtDbi5TRUNPTkRfU1BBTl06LjksW01jXTouMSxbQ24uREFZX1NQQU5dOi44NX0sRWM9e1tDbi5EQVlfU1BBTl06MjMwfTtmdW5jdGlvbiBSYyhlLHQpe3JldHVybiBudWxsIT09d2MuY3VzdG9tRm9ybWF0dGVycy50aWNrTWFya0Zvcm1hdHRlcj93Yy5jdXN0b21Gb3JtYXR0ZXJzLnRpY2tNYXJrRm9ybWF0dGVyKGUsdCk6ZnVuY3Rpb24oZSx0KXtzd2l0Y2godCl7Y2FzZSJUaW1lV2l0aE1pbGxpc2Vjb25kcyI6cmV0dXJuIG5ldyBDYy5UaW1lRm9ybWF0dGVyKHZjLmhvdXJNaW51dGVTZWNvbmRNaWxsaXNlY0Zvcm1hdCkuZm9ybWF0KGUpO2Nhc2UiVGltZVdpdGhTZWNvbmRzIjpjYXNlIlRpbWUiOmNvbnN0IGk9IlRpbWVXaXRoU2Vjb25kcyI9PT10PygwLFBjLmdldEhvdXJNaW51dGVTZWNvbmRGb3JtYXQpKFRjLnRpbWVIb3Vyc0Zvcm1hdFByb3BlcnR5LnZhbHVlKCkpOigwLFBjLmdldEhvdXJNaW51dGVGb3JtYXQpKFRjLnRpbWVIb3Vyc0Zvcm1hdFByb3BlcnR5LnZhbHVlKCkpO3JldHVybiBuZXcgQ2MuVGltZUZvcm1hdHRlcihpKS5mb3JtYXQoZSk7Y2FzZSJEYXlPZk1vbnRoIjpyZXR1cm4gZS5nZXRVVENEYXRlKCkudG9TdHJpbmcoKTtjYXNlIk1vbnRoIjpyZXR1cm4geWMubW9udGhzU2hvcnROYW1lc1tlLmdldFVUQ01vbnRoKCldO2Nhc2UiWWVhciI6cmV0dXJuIGUuZ2V0VVRDRnVsbFllYXIoKS50b1N0cmluZygpfX0oZSx0KX1jb25zdCBWYz0oMCxCYS5kZWZhdWx0KSgoZT0+KDAsUmkucGFyc2VGb250KShlKT8uc2l6ZT8/MTIpKTtmdW5jdGlvbiBCYyhlLHQsaSxzKXtjb25zdCBuPU5jKGUsdCkscj1NYXRoLm1heChlLndpZHRoLHMpO3JldHVybntsZWZ0Om4tci8yLWkscmlnaHQ6bityLzIraX19ZnVuY3Rpb24gTmMoZSx0KXtyZXR1cm4gZS5pbmRleCp0fWZ1bmN0aW9uIE9jKGUsdCl7cmV0dXJuIHQ9PT1lLmxlbmd0aD9udWxsOmVbdF19ZnVuY3Rpb24gV2MoZSx0LGkscyxuKXtjb25zdCByPUJjKGUsaSxzLG4pLG89QmModCxpLHMsbik7cmV0dXJuIHIucmlnaHQ+by5sZWZ0fWZ1bmN0aW9uIEZjKGUpe3JldHVybiBuZXcgRGF0ZSgxZTMqZSl9ZnVuY3Rpb24gSGMoZSl7aWYoZS5zcGFuPj1Dbi5NT05USF9TUEFOJiZlLnNwYW48Q24uWUVBUl9TUEFOKXtjb25zdCB0PSgwLG8uZ2V0X21vbnRoKShGYyhlLnRpbWUpKTtyZXR1cm4gdD09PW8uSlVMWT94Yzp0PT09by5NQVJDSHx8dD09PW8uTUFZfHx0PT09by5TRVBURU1CRVJ8fHQ9PT1vLk5PVkVNQkVSP01jOkNuLk1PTlRIX1NQQU59aWYoZS5zcGFuPj1Dbi5NSU5VVEVfU1BBTiYmZS5zcGFuPENuLkhPVVJfU1BBTil7Y29uc3QgdD0oMCxvLmdldF9taW51dGVzKShGYyhlLnRpbWUpKTtyZXR1cm4gdCUzMD09MD9MYzp0JTE1PT0wP0FjOnQlNT09MD9rYzpDbi5NSU5VVEVfU1BBTn1pZihlLnNwYW4+PUNuLkhPVVJfU1BBTiYmZS5zcGFuPENuLkRBWV9TUEFOKXtjb25zdCB0PSgwLG8uZ2V0X2hvdXJzKShGYyhlLnRpbWUpKTtyZXR1cm4gMD09PXR8fDEyPT09dD9JYzplLnNwYW59CnJldHVybiBlLnNwYW4+PUNuLldFRUtfU1BBTiYmZS5zcGFuPENuLk1PTlRIX1NQQU4/Q24uREFZX1NQQU46ZS5zcGFufWZ1bmN0aW9uIHpjKGUsdCl7Y29uc3QgaT1mdW5jdGlvbihlLHQpe3JldHVybiBlPT09Q24uTUlMTElTRUNPTkRfU1BBTiYmdD8iVGltZVdpdGhNaWxsaXNlY29uZHMiOmU8Q24uTUlOVVRFX1NQQU4mJnQ/IlRpbWVXaXRoU2Vjb25kcyI6ZTxDbi5EQVlfU1BBTiYmdD8iVGltZSI6ZTxDbi5XRUVLX1NQQU58fGU8Q24uTU9OVEhfU1BBTj8iRGF5T2ZNb250aCI6ZTxDbi5ZRUFSX1NQQU4/Ik1vbnRoIjoiWWVhciJ9KGUsdCkscz1uZXcgYmMuQ2lyY3VsYXJDYWNoZUJ1ZmZlcigxNTApO3JldHVybiBlPT57bGV0IHQ9cy5nZXQoZS50aW1lKTtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9UmMoRmMoZS50aW1lKSxpKSxzLnNldChlLnRpbWUsdCkpLHR9fWNsYXNzIFVje2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl9tYXJrc0J5SW5kZXg9bmV3IE1hcCx0aGlzLl9tYXJrc0J5VGltZT1uZXcgTWFwLHRoaXMuX21hcmtzQnlTcGFuPVtdLHRoaXMuX2NhY2hlPW51bGwsdGhpcy5fbGFiZWxzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fd2lkdGhzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fc2tpcEludHJhRGF5TWFya3NTcGFyc2VDYWNoZT1udWxsLHRoaXMuX2NoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fZm9ybWF0dGVyQnlTcGFuPW5ldyBNYXAsdGhpcy5fdGV4dFdpZHRoQ2FjaGU9bmV3IEJpLlRleHRXaWR0aENhY2hlKDFlNCksdGhpcy5fdGltZVZpc2libGU9ZSx0aGlzLl9zcGFyc2VNYXJrcz10LHRoaXMuX2ZvbnQ9aTtUYy50aW1lSG91cnNGb3JtYXRQcm9wZXJ0eS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLl9sYWJlbHNJbnZhbGlkYXRlZD0hMCx0aGlzLl9mb3JtYXR0ZXJCeVNwYW4uY2xlYXIoKSx0aGlzLl9jYWNoZT1udWxsfSkpLHRoaXMuX2ZvbnQuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX3RleHRXaWR0aENhY2hlLnJlc2V0KCksdGhpcy5fd2lkdGhzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fY2FjaGU9bnVsbH0pKSx0aGlzLl9zcGFyc2VNYXJrcy5zdWJzY3JpYmUoKCgpPT57dGhpcy5fY2FjaGU9bnVsbH0pKX1kZXN0cm95KCl7VGMudGltZUhvdXJzRm9ybWF0UHJvcGVydHkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fdGltZVZpc2libGUucmVsZWFzZSgpLHRoaXMuX3NwYXJzZU1hcmtzLnJlbGVhc2UoKSx0aGlzLl9mb250LnJlbGVhc2UoKX1yZXNldCgpe3RoaXMuX3Jlc2V0SW1wbCgpLHRoaXMuX2NoYW5nZWQuZmlyZSgpfWluZGV4VG9UaW1lKGUpe2NvbnN0IHQ9dGhpcy5fbWFya3NCeUluZGV4LmdldChlKTtyZXR1cm4gdD9uZXcgRGF0ZSgxZTMqdC50aW1lKTpudWxsfW5lYXJlc3RJbmRleChlKXtsZXQgdD10aGlzLm1pbkluZGV4Pz8wLGk9dGhpcy5tYXhJbmRleD8/MDtmb3IoO2ktdD4yOyl7aWYoMWUzKigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fbWFya3NCeUluZGV4LmdldCh0KSkudGltZT09PWUpcmV0dXJuIHQ7aWYoMWUzKigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fbWFya3NCeUluZGV4LmdldChpKSkudGltZT09PWUpcmV0dXJuIGk7Y29uc3Qgcz1NYXRoLnJvdW5kKCh0K2kpLzIpOzFlMyooMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX21hcmtzQnlJbmRleC5nZXQocykpLnRpbWU+ZT9pPXM6dD1zfXJldHVybiB0fWVzdGltYXRlTGVmdChlKXtjb25zdCB0PXRoaXMuX2RlbnNpdHkoKTtpZih2b2lkIDA9PT10aGlzLm1pbkluZGV4fHwhdClyZXR1cm4gMDtyZXR1cm4oMWUzKigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fbWFya3NCeUluZGV4LmdldCh0aGlzLm1pbkluZGV4KSkudGltZS1lKS90fW1lcmdlKGUsdCl7aWYoMD09PWUubGVuZ3RoKXJldHVybjtjb25zdCBpPWVbMF0uaW5kZXgscz1lW2UubGVuZ3RoLTFdLmluZGV4LG49aTw9KHRoaXMubWluSW5kZXg/PzApJiZzPj0odGhpcy5tYXhJbmRleD8/MCk7KHR8fG4pJiZ0aGlzLl9yZXNldEltcGwoKTtjb25zdCByPXRoaXMuX21hcmtzQnlTcGFuLG89bmV3IFNldDtpZih0aGlzLl9tYXJrc0J5SW5kZXguc2l6ZT4wKWZvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9dC5pbmRleCxpPXRoaXMuX21hcmtzQnlJbmRleC5nZXQoZSk7aSYmKGkuaW5kZXg9PT1lJiZpLm92ZXJyaWRkZW5TcGFuPT09SGModCkmJmkudGltZT09PXQudGltZXx8dGhpcy5fcmVtb3ZlVGlja21hcmsoaSkpO2NvbnN0IHM9dGhpcy5fbWFya3NCeVRpbWUuZ2V0KHQudGltZSk7cyYmcy5pbmRleCE9PWUmJnRoaXMuX3JlbW92ZVRpY2ttYXJrKHMpfWZvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9dC5pbmRleDtpZih0aGlzLl9tYXJrc0J5SW5kZXguaGFzKGUpKWNvbnRpbnVlO2NvbnN0IGk9SGModCkscz10aGlzLl9mb3JtYXRMYWJlbCh0KSxuPXsuLi50LGxhYmVsOnMsb3ZlcnJpZGRlblNwYW46aSx3aWR0aDooMCxLdC5tZWFzdXJlVGV4dCkocyx0aGlzLl9mb250LnZhbHVlKCksdGhpcy5fdGV4dFdpZHRoQ2FjaGUpLndpZHRofTt0aGlzLl9tYXJrc0J5SW5kZXguc2V0KGUsbiksdGhpcy5fbWFya3NCeVRpbWUuc2V0KHQudGltZSxuKTtsZXQgYT1yW2ldO3ZvaWQgMD09PWEmJihhPVtdLHJbaV09YSk7Y29uc3QgbD0wPT09YS5sZW5ndGh8fGFbYS5sZW5ndGgtMV0udGltZTx0LnRpbWU7YS5wdXNoKG4pLGx8fG8uYWRkKGkpfXRoaXMubWluSW5kZXg9TWF0aC5taW4odGhpcy5taW5JbmRleD8/MS8wLGkpLHRoaXMubWF4SW5kZXg9TWF0aC5tYXgodGhpcy5tYXhJbmRleD8/LTEvMCxzKTtmb3IobGV0IGU9ci5sZW5ndGg7ZS0tOylyW2VdJiYocltlXS5sZW5ndGh8fGRlbGV0ZSByW2VdLG8uaGFzKGUpJiZyW2VdLnNvcnQoKChlLHQpPT5lLnRpbWUtdC50aW1lKSkpO3RoaXMuX2NhY2hlPW51bGwsdGhpcy5fc2tpcEludHJhRGF5TWFya3NTcGFyc2VDYWNoZT1udWxsLHRoaXMuX2NoYW5nZWQuZmlyZSgpfWJ1aWxkKGUpe2lmKHRoaXMuX2xhYmVsc0ludmFsaWRhdGVkJiYodGhpcy5fbWFya3NCeUluZGV4LmZvckVhY2goKGU9PntlLmxhYmVsPXRoaXMuX2Zvcm1hdExhYmVsKGUpfSkpLHRoaXMuX2xhYmVsc0ludmFsaWRhdGVkPSExKSwKdGhpcy5fd2lkdGhzSW52YWxpZGF0ZWQmJih0aGlzLl9tYXJrc0J5SW5kZXguZm9yRWFjaCgoZT0+e2Uud2lkdGg9KDAsS3QubWVhc3VyZVRleHQpKGUubGFiZWwsdGhpcy5fZm9udC52YWx1ZSgpLHRoaXMuX3RleHRXaWR0aENhY2hlKS53aWR0aH0pKSx0aGlzLl93aWR0aHNJbnZhbGlkYXRlZD0hMSksdGhpcy5fY2FjaGU/LmJhclNwYWNpbmc9PT1lKXJldHVybiB0aGlzLl9jYWNoZS5tYXJrcztjb25zdCB0PVZjKHRoaXMuX2ZvbnQudmFsdWUoKSksaT01LzE0KnQscz01MC8xNCp0O2xldCBuPVtdO2ZvcihsZXQgdD10aGlzLl9tYXJrc0J5U3Bhbi5sZW5ndGg7dC0tOyl7aWYoIXRoaXMuX21hcmtzQnlTcGFuW3RdKWNvbnRpbnVlO2NvbnN0IHI9dGhpcy5fbWFya3NCeVNwYW5bdF07aWYoMD09PXIubGVuZ3RoKWNvbnRpbnVlO2NvbnN0IG89dDxDbi5EQVlfU1BBTiYmdGhpcy5fc3BhcnNlTWFya3MudmFsdWUoKSYmdGhpcy5fc2tpcEludHJhRGF5TWFya3NTcGFyc2UoKSxhPW47bj1bXTtsZXQgYz0wLGg9MDtjb25zdCBkPXIubGVuZ3RoPjI/RWNbdF06dm9pZCAwO2xldCB1PW51bGwscD0tMS8wLF89bnVsbCxtPTA7Zm9yKDtjPGEubGVuZ3RofHxoPHIubGVuZ3RoOyl7Y29uc3QgdD1PYyhhLGMpLG89T2MocixoKTtpZih2b2lkIDAhPT1kJiZudWxsIT09byYmbyE9PXUpe2lmKG51bGwhPT1fKXtjb25zdCB0PW51bGwhPT11JiZ1LmluZGV4Pl8uaW5kZXg/dTpfLGk9TmMobyxlKS1OYyh0LGUpO3A9TWF0aC5tYXgocCxpKX11PW99bnVsbCE9PXQ/bnVsbCE9PW8/dC5pbmRleDxvLmluZGV4PygoMCxsLmFzc2VydCkobnVsbD09PV98fCFXYyhfLHQsZSxpLHMpKSxuLnB1c2godCksXz10LGMrKyk6KG51bGwhPT1fJiZXYyhfLG8sZSxpLHMpfHxXYyhvLHQsZSxpLHMpP20rKzoobi5wdXNoKG8pLF89byksaCsrKTooKDAsbC5hc3NlcnQpKG51bGw9PT1ffHwhV2MoXyx0LGUsaSxzKSksbi5wdXNoKHQpLF89dCxjKyspOihudWxsIT09byYmKG51bGwhPT1fJiZXYyhfLG8sZSxpLHMpP20rKzoobi5wdXNoKG8pLF89bykpLGgrKyl9aWYodGhpcy5fc3BhcnNlTWFya3MudmFsdWUoKSYmYS5sZW5ndGg+MCYmbS9yLmxlbmd0aD4oRGNbdF0/Py41KSYmIW8pe249YTticmVha31pZih2b2lkIDAhPT1kJiZOdW1iZXIuaXNGaW5pdGUocCkmJnA8PWQpYnJlYWt9cmV0dXJuIHRoaXMuX2NhY2hlPXttYXJrczpuLGJhclNwYWNpbmc6ZX0sbn1tYXJrc0J5U3Bhbigpe2NvbnN0IGU9e307Zm9yKGxldCB0PXRoaXMuX21hcmtzQnlTcGFuLmxlbmd0aDt0LS07KWlmKHRoaXMuX21hcmtzQnlTcGFuW3RdKXtjb25zdCBpPVtdO2VbdF09aTtmb3IoY29uc3QgZSBvZiB0aGlzLl9tYXJrc0J5U3Bhblt0XSlpLnB1c2goW2UuaW5kZXgsZS50aW1lLGUub3ZlcnJpZGRlblNwYW5dKX1yZXR1cm4gZX1zdGF0ZShlKXtsZXQgdD1bXTtmb3IobGV0IGU9dGhpcy5fbWFya3NCeVNwYW4ubGVuZ3RoO2UtLTspdGhpcy5fbWFya3NCeVNwYW5bZV0mJih0PXQuY29uY2F0KHRoaXMuX21hcmtzQnlTcGFuW2VdKSk7aWYobnVsbCE9PWUpe2NvbnN0IGk9ZS5maXJzdEJhcigpLHM9ZS5sYXN0QmFyKCk7dD10LmZpbHRlcigoZT0+ZS5pbmRleD49aSYmZS5pbmRleDw9cykpfXJldHVybnttYXJrczp0Lm1hcCgoZT0+W2Uuc3BhbixlLnRpbWUsZS5pbmRleF0pKSx2ZXJzaW9uOjJ9fXJlc3RvcmVTdGF0ZShlKXtpZih0aGlzLl9tYXJrc0J5SW5kZXg9bmV3IE1hcCx0aGlzLl9tYXJrc0J5VGltZT1uZXcgTWFwLHRoaXMuX21hcmtzQnlTcGFuPVtdLHRoaXMubWF4SW5kZXg9dm9pZCAwLHRoaXMubWluSW5kZXg9dm9pZCAwLGUmJmUubWFya3MmJmUubWFya3MubGVuZ3RoKWlmKDI9PT1lLnZlcnNpb24pe2NvbnN0IHQ9ZS5tYXJrcy5tYXAoKGU9Pih7c3BhbjplWzBdLHRpbWU6ZVsxXSxpbmRleDplWzJdfSkpKTt0aGlzLm1lcmdlKHQpfWVsc2UgdGhpcy5tZXJnZShlLm1hcmtzKX1yZW1vdmVUYWlsKGUpe2xldCB0PS0xLzA7Zm9yKGNvbnN0IGkgb2YgdGhpcy5fbWFya3NCeUluZGV4LnZhbHVlcygpKWkudGltZT5lP3RoaXMuX3JlbW92ZVRpY2ttYXJrKGkpOnQ9TWF0aC5tYXgodCxpLmluZGV4KTt0aGlzLm1heEluZGV4PU51bWJlci5pc0Zpbml0ZSh0KT90OnZvaWQgMCx2b2lkIDA9PT10aGlzLm1heEluZGV4JiYodGhpcy5taW5JbmRleD12b2lkIDApLHRoaXMuX3NraXBJbnRyYURheU1hcmtzU3BhcnNlQ2FjaGU9bnVsbH1hZGRUYWlsKGUpe2lmKHZvaWQgMCE9PXRoaXMubWF4SW5kZXgpZm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspZVt0XS5pbmRleD10aGlzLm1heEluZGV4K3QrMTt0aGlzLm1lcmdlKGUpfV9yZXNldEltcGwoKXt0aGlzLl9tYXJrc0J5SW5kZXg9bmV3IE1hcCx0aGlzLl9tYXJrc0J5VGltZT1uZXcgTWFwLHRoaXMuX21hcmtzQnlTcGFuPVtdLHRoaXMubWluSW5kZXg9dm9pZCAwLHRoaXMubWF4SW5kZXg9dm9pZCAwLHRoaXMuX2NhY2hlPW51bGwsdGhpcy5fZm9ybWF0dGVyQnlTcGFuLmNsZWFyKCl9X3JlbW92ZVRpY2ttYXJrKGUpe2NvbnN0IHQ9ZS5pbmRleCxpPWUudGltZTtpZih0aGlzLl9tYXJrc0J5SW5kZXguZ2V0KHQpIT09ZSlyZXR1cm47dGhpcy5fbWFya3NCeUluZGV4LmRlbGV0ZSh0KSx0aGlzLl9tYXJrc0J5VGltZS5kZWxldGUoaSk7Y29uc3Qgcz10aGlzLl9tYXJrc0J5U3BhbltlLm92ZXJyaWRkZW5TcGFuXSxuPSgwLGcubG93ZXJib3VuZCkocyxlLCgoZSx0KT0+ZS50aW1lPHQudGltZSkpOygwLGwuYXNzZXJ0KShuPj0wJiZuPHMubGVuZ3RoJiZzW25dLnRpbWU9PT1pLCJTZWFyY2hlZCB0aWNrbWFyayBpcyBub3QgZm91bmQiKSxzLnNwbGljZShuLDEpLDA9PT1zLmxlbmd0aCYmZGVsZXRlIHRoaXMuX21hcmtzQnlTcGFuW2Uub3ZlcnJpZGRlblNwYW5dfV9kZW5zaXR5KCl7aWYodm9pZCAwPT09dGhpcy5taW5JbmRleHx8dm9pZCAwPT09dGhpcy5tYXhJbmRleClyZXR1cm4gMDtjb25zdCBlPXRoaXMubWF4SW5kZXgtdGhpcy5taW5JbmRleDtpZigwPT09ZSlyZXR1cm4gMDtyZXR1cm4gMWUzKigoMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX21hcmtzQnlJbmRleC5nZXQodGhpcy5tYXhJbmRleCkpLnRpbWUtKDAsCmwuZW5zdXJlRGVmaW5lZCkodGhpcy5fbWFya3NCeUluZGV4LmdldCh0aGlzLm1pbkluZGV4KSkudGltZSkvZX1fZm9ybWF0TGFiZWwoZSl7Y29uc3QgdD1IYyhlKTtsZXQgaT10aGlzLl9mb3JtYXR0ZXJCeVNwYW4uZ2V0KHQpO3JldHVybiB2b2lkIDA9PT1pJiYoaT16Yyh0LHRoaXMuX3RpbWVWaXNpYmxlLnZhbHVlKCkpLHRoaXMuX2Zvcm1hdHRlckJ5U3Bhbi5zZXQodCxpKSksaShlKX1fc2tpcEludHJhRGF5TWFya3NTcGFyc2UoKXtpZihudWxsPT09dGhpcy5fc2tpcEludHJhRGF5TWFya3NTcGFyc2VDYWNoZSl7Y29uc3QgZT10aGlzLl9tYXJrc0J5U3BhbltDbi5EQVlfU1BBTl0/P1tdO3RoaXMuX3NraXBJbnRyYURheU1hcmtzU3BhcnNlQ2FjaGU9ZnVuY3Rpb24oZSl7aWYoZS5sZW5ndGg8MylyZXR1cm4gMDtjb25zdCB0PVtdO2xldCBpPW51bGw7Zm9yKGNvbnN0IHMgb2YgZSl7aWYobnVsbCE9PWkpe2NvbnN0IGU9TWF0aC5hYnMocy5pbmRleC1pKTt0LnB1c2goZSl9aT1zLmluZGV4fWNvbnN0IHM9dC5yZWR1Y2UoKChlLHQpPT5lK3QpLDApL3QubGVuZ3RoO3JldHVybiB0LnJlZHVjZSgoKGUsdCk9PmUrTWF0aC5hYnModC1zKSkpL3QubGVuZ3RoL3MqMTAwfShlKT49MjV9cmV0dXJuIHRoaXMuX3NraXBJbnRyYURheU1hcmtzU3BhcnNlQ2FjaGV9fWNsYXNzIEdje2NvbnN0cnVjdG9yKCl7dGhpcy5fYmFzZUluZGV4PTB9c2V0QmFzZUluZGV4KGUpe3RoaXMuX2Jhc2VJbmRleD1lfWluZGV4VG9Ub3RhbFdlaWdodChlKXtyZXR1cm4gZS10aGlzLl9iYXNlSW5kZXh9dG90YWxXZWlnaHRUb0luZGV4KGUpe3JldHVybiB0aGlzLl9iYXNlSW5kZXgrZX1pbmRleFJhbmdlVG9XZWlnaHRzKGUsdCxpKXtjb25zdCBzPWUtdGhpcy5fYmFzZUluZGV4O3JldHVyblt7bGVmdDpzLS41LGNlbnRlcjpzLHJpZ2h0OnMrLjUsdGltZVBvaW50SW5kZXg6ZX1dfXN0YXRlKGUpe3JldHVybnt0eXBlOiJjb25zdGFudCIsc3RhdGU6e2Jhc2VJbmRleDp0aGlzLl9iYXNlSW5kZXh9fX1yZXN0b3JlU3RhdGUoZSl7dGhpcy5fYmFzZUluZGV4PWUuc3RhdGUuYmFzZUluZGV4fW5lZWRBZGp1c3RpbmdPbkRhdGFSZXN0b3JpbmcoKXtyZXR1cm4hMX19dmFyIGpjPWkoNDc1NTU5KTt2YXIgcWM9aSgyNDE5NTYpLCRjPWkoNTUyMTQ1KTtjb25zdCBZYz17cHJlc2VydmVCYXJTcGFjaW5nOiExLGxvY2tWaXNpYmxlVGltZVJhbmdlT25SZXNpemU6ITEscmlnaHRCYXJTdGF5c09uU2Nyb2xsOiEwLG1pbkJhclNwYWNpbmc6LjV9LEtjPSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImxvd19kZW5zaXR5X2JhcnMiKSxYYz1LYz8xOjIsWmM9KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5UaW1lU2NhbGUiKTt2YXIgSmM7IWZ1bmN0aW9uKGUpe2VbZS5EZWZhdWx0UmlnaHRPZmZzZXQ9MTBdPSJEZWZhdWx0UmlnaHRPZmZzZXQiLGVbZS5EZWZhdWx0QmFyU3BhY2luZz02XT0iRGVmYXVsdEJhclNwYWNpbmciLGVbZS5VbnBsb3R0YWJsZUluZGV4Q29vcmQ9LTUwMF09IlVucGxvdHRhYmxlSW5kZXhDb29yZCIsZVtlLkRlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2U9NV09IkRlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UiLGVbZS5NYXhJdGVyYXRpb25zRm9yRHluYW1pY0JhclNwYWNpbmdBZGp1c3Q9MjBdPSJNYXhJdGVyYXRpb25zRm9yRHluYW1pY0JhclNwYWNpbmdBZGp1c3QifShKY3x8KEpjPXt9KSk7Y2xhc3MgUWN7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl93aWR0aD0wLHRoaXMuX3dpZHRoQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9yaWdodE9mZnNldD0xMCx0aGlzLl9yaWdodE9mZnNldENoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fbWF4UmlnaHRPZmZzZXRDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldD1uZXcgaC5XYXRjaGVkVmFsdWUoMTApLHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2U9bmV3IGguV2F0Y2hlZFZhbHVlKDUpLHRoaXMuX3VzZVBlcmNlbnRhZ2VSaWdodE9mZnNldD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2xhc3REZWZhdWx0UmlnaHRPZmZzZXQ9dm9pZCAwLHRoaXMuX2Jhc2VJbmRleD1udWxsLHRoaXMuX2xlZnRFZGdlSW5kZXg9bnVsbCx0aGlzLl9iYXJTcGFjaW5nQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9iYXJTcGFjaW5nPTYsdGhpcy5fc25hcHNob3RCYXJTcGFjaW5nPW51bGwsdGhpcy5fdmlzaWJsZUJhcnM9ZmMuaW52YWxpZCgpLHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fdmlzaWJsZUJhcnNDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2xvZ2ljYWxSYW5nZUNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fcG9pbnRzPW5ldyBfYyx0aGlzLl9vblNjcm9sbD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9yZXNldERlbGVnYXRlPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3Njcm9sbERhdGE9bnVsbCx0aGlzLl9zY2FsZVN0YXJ0UG9pbnQ9bnVsbCx0aGlzLl9jb21tb25UcmFuc2l0aW9uU3RhcnRTdGF0ZT1udWxsLHRoaXMuX3JlcXVlc3RpbmdNb3JlRGF0YT0hMSx0aGlzLl9yZXF1ZXN0ZWRUaWNrbWFya3NDb3VudD0wLHRoaXMuX2VuZE9mRGF0YT0hMSx0aGlzLl9sb2NrQmFyc0FuZExvZ2ljYWxSYW5nZUV2ZW50cz0hMSx0aGlzLl9yZXNldEF2YWlsYWJsZT1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3BvaW50V2VpZ2h0cz1uZXcgR2MsdGhpcy5fd2VpZ2h0ZWRQb2ludHNDYWNoZT1bXSx0aGlzLl90aHJvdHRsZVJlcXVlc3RNb3JlRGF0YU9uU2Nyb2xsPSgwLEtvLmRlZmF1bHQpKHRoaXMuX3JlcXVlc3RNb3JlRGF0YSwzMDApLHRoaXMuX29wdGlvbnM9KDAseGkuZGVlcEV4dGVuZCkoe30sWWMsdCksdGhpcy5fbW9kZWw9ZSx0aGlzLl9zY2FsZXNQcm9wZXJ0aWVzPWUucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMsdGhpcy5fdGlja01hcmtzPW5ldyBVYygoMCx1LmNvbWJpbmUpKChlPT4hZS5pc0RXTSgpKSxlLm1haW5TZXJpZXMoKS5pbnRlcnZhbE9iaigpLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCksKDAsCnUuY29tYmluZSkoKChlLHQpPT4hZS5pc1RpY2tzKCkmJiFlLmlzU2Vjb25kcygpJiYhKDAsQS5pc1JhbmdlQmFzZWRTdHlsZSkodCkpLGUubWFpblNlcmllcygpLmludGVydmFsT2JqKCkud2Vha1JlZmVyZW5jZSgpLCgwLCRjLmNvbnZlcnRQcm9wZXJ0eVRvV2F0Y2hlZFZhbHVlKShlLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGUpLm93bmVyc2hpcCgpKS5vd25lcnNoaXAoKSwoMCxxYy5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+KDAsUmkubWFrZUZvbnQpKHRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuZm9udFNpemUudmFsdWUoKSxXaS5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpKSksdGhpcy5fc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5mb250U2l6ZSkub3duZXJzaGlwKCkpLHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldC5zdWJzY3JpYmUoKCgpPT57dGhpcy5fdXNlUGVyY2VudGFnZVJpZ2h0T2Zmc2V0LnNldFZhbHVlKCExKSx0aGlzLl9kZWZhdWx0UmlnaHRPZmZzZXRPcHRpb25zVXBkYXRlZCgpfSkpLHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2Uuc3Vic2NyaWJlKChlPT57aWYoZT49MTAwfHxlPDApe2NvbnN0IHQ9TWF0aC5tYXgoMCxNYXRoLm1pbihlLDk5KSk7dGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0UGVyY2VudGFnZS5zZXRWYWx1ZSh0KX1lbHNlIHRoaXMuX3VzZVBlcmNlbnRhZ2VSaWdodE9mZnNldC5zZXRWYWx1ZSghMCksdGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0T3B0aW9uc1VwZGF0ZWQoKX0pKSx0aGlzLl91c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2RlZmF1bHRSaWdodE9mZnNldE9wdGlvbnNVcGRhdGVkKCl9KSksdGhpcy5fb3B0aW9ucy5wcmVzZXJ2ZUJhclNwYWNpbmcmJih0aGlzLl9iYXJTcGFjaW5nPXRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuYmFyU3BhY2luZy52YWx1ZSgpfHw2KSx0aGlzLl9iYXJTcGFjaW5nQ2hhbmdlZC5zdWJzY3JpYmUodGhpcyx0aGlzLl9tYXhSaWdodE9mZnNldE9uQ2hhbmdlZCksdGhpcy5fYmFyU3BhY2luZ0NoYW5nZWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSksdGhpcy5fcmlnaHRPZmZzZXRDaGFuZ2VkLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVJlc2V0QXZhaWxhYmxlVmFsdWUpLHRoaXMuX3dpZHRoQ2hhbmdlZC5zdWJzY3JpYmUodGhpcyx0aGlzLl9tYXhSaWdodE9mZnNldE9uQ2hhbmdlZCksdGhpcy5fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSgpfWRlc3Ryb3koKXt0aGlzLl9iYXJTcGFjaW5nQ2hhbmdlZC5kZXN0cm95KCksdGhpcy5fd2lkdGhDaGFuZ2VkLmRlc3Ryb3koKSx0aGlzLl90aWNrTWFya3MuZGVzdHJveSgpfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX3dpZHRofHwhdGhpcy5jYW5Ob3JtYWxpemUoKX1jYW5Ob3JtYWxpemUoKXtyZXR1cm4gdGhpcy5fcG9pbnRzLnNpemUoKT4wfXVwZGF0ZShlLHQsaSxzLG4pe3RoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsaS5sZW5ndGg+MCYmdGhpcy5fcG9pbnRzLm1lcmdlKGUsdCxpKSx0aGlzLl90aWNrTWFya3MubWVyZ2UocyxuKSx0aGlzLmNvcnJlY3RPZmZzZXQoKX1hZGRUYWlsKGUsdCxpKXt0aGlzLl90aWNrTWFya3MucmVtb3ZlVGFpbCh0KTtjb25zdCBzPWUucGFyYW1zLG49KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl90aWNrTWFya3MubWF4SW5kZXgpKyhpPzA6MSk7Zm9yKGxldCBlPTA7ZTxzLm1hcmtzLmxlbmd0aDtlKyspcy5tYXJrc1tlXS5pbmRleD1uK2U7dGhpcy5fdGlja01hcmtzLmFkZFRhaWwocy5tYXJrcyksdGhpcy5fcG9pbnRzLmFkZFRhaWwocy5jaGFuZ2VzLGkpO2NvbnN0IHI9dGhpcy5fcmlnaHRPZmZzZXQtcy5jaGFuZ2VzLmxlbmd0aDt0aGlzLl91cGRhdGVSaWdodE9mZnNldChyKX1zdGF0ZShlKXtjb25zdCB0PXttX2JhclNwYWNpbmc6dGhpcy5iYXJTcGFjaW5nKCksbV9yaWdodE9mZnNldDp0aGlzLl9kZWZhdWx0UmlnaHRPZmZzZXQudmFsdWUoKSxyaWdodE9mZnNldFBlcmNlbnRhZ2U6dGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0UGVyY2VudGFnZS52YWx1ZSgpLHVzZVBlcmNlbnRhZ2VSaWdodE9mZnNldDp0aGlzLl91c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQudmFsdWUoKX07aWYoZSl7dC5tX3JpZ2h0T2Zmc2V0PU1hdGgubWF4KDAsdGhpcy5fcmlnaHRPZmZzZXQpO2NvbnN0IGU9dGhpcy52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksaT10aGlzLnZpc2libGVFeHRlbmRlZERhdGFSYW5nZSh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZGF0YSgpLDApLHM9ZT9lLnVuaXRlKGkpOmk7dC5wb2ludHM9dGhpcy5fcG9pbnRzLnN0YXRlKHMpLHQudGlja21hcmtzPXRoaXMuX3RpY2tNYXJrcy5zdGF0ZShzKSx0LndpZHRoPXRoaXMuX3dpZHRoLHQud2VpZ2h0cz10aGlzLl9wb2ludFdlaWdodHMuc3RhdGUocyksdC5iYXNlSW5kZXg9dGhpcy5fYmFzZUluZGV4fXJldHVybiB0fXJlc3RvcmVTdGF0ZShlLHQpe2lmKHZvaWQgMD09PWUubV9iYXJTcGFjaW5nKXJldHVybiB2b2lkIFpjLmxvZ0RlYnVnKCJyZXN0b3JlU3RhdGU6IGludmFsaWQgc3RhdGUiKTtpZih2b2lkIDA9PT1lLm1fcmlnaHRPZmZzZXQpcmV0dXJuIHZvaWQgWmMubG9nRGVidWcoInJlc3RvcmVTdGF0ZTogaW52YWxpZCBzdGF0ZSIpO2Uud2VpZ2h0cyYmKHRoaXMuX3BvaW50V2VpZ2h0cz1mdW5jdGlvbihlKXtsZXQgdDtzd2l0Y2goZS50eXBlKXtjYXNlImNvbnN0YW50IjpyZXR1cm4gdD1uZXcgR2MsdC5yZXN0b3JlU3RhdGUoZSksdDtjYXNlImNvbXB1dGVkIjpyZXR1cm4gdD1uZXcgamMuQ29tcHV0ZWRUaW1lUG9pbnRXZWlnaHRzLHQucmVzdG9yZVN0YXRlKGUpLHR9dGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHRpbWUgcG9pbnQgd2VpZ3RocyB0eXBlICR7ZS50eXBlfWApfShlLndlaWdodHMpKTtsZXQgaT1lLm1fYmFyU3BhY2luZzt0aGlzLl9zbmFwc2hvdEJhclNwYWNpbmc9dD9pOm51bGwKO2NvbnN0IHM9ZS5tX3JpZ2h0T2Zmc2V0PDAmJiF0P3RoaXMucmlnaHRPZmZzZXREZWZhdWx0VmFsdWUoKTplLm1fcmlnaHRPZmZzZXQsbj1zPDA/dGhpcy5yaWdodE9mZnNldERlZmF1bHRWYWx1ZSgpOk1hdGgucm91bmQocyk7aWYodGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0LnNldFZhbHVlKG4pLHZvaWQgMCE9PWUucmlnaHRPZmZzZXRQZXJjZW50YWdlJiZOdW1iZXIuaXNGaW5pdGUoZS5yaWdodE9mZnNldFBlcmNlbnRhZ2UpJiZ0aGlzLl9kZWZhdWx0UmlnaHRPZmZzZXRQZXJjZW50YWdlLnNldFZhbHVlKGUucmlnaHRPZmZzZXRQZXJjZW50YWdlKSx0aGlzLl91c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQuc2V0VmFsdWUoQm9vbGVhbihlLnVzZVBlcmNlbnRhZ2VSaWdodE9mZnNldCkpLHRoaXMuX3JpZ2h0T2Zmc2V0PXMsdGhpcy5fYmFzZUluZGV4PWUuYmFzZUluZGV4Pz90aGlzLl9iYXNlSW5kZXgsdCYmKHRoaXMuX3JlcXVlc3RlZFRpY2ttYXJrc0NvdW50PTEvMCx0aGlzLl9lbmRPZkRhdGE9ITAsdGhpcy5fcG9pbnRzLnJlc3RvcmVTdGF0ZShlLnBvaW50c3x8bnVsbCksdGhpcy5fdGlja01hcmtzLnJlc3RvcmVTdGF0ZShlLnRpY2ttYXJrc3x8bnVsbCksZS53aWR0aCYmdGhpcy5fd2lkdGg+MCYmKGkqPXRoaXMuX3dpZHRoL2Uud2lkdGgpKSx0JiZ0aGlzLl9wb2ludFdlaWdodHMubmVlZEFkanVzdGluZ09uRGF0YVJlc3RvcmluZygpKXt0aGlzLl90cnlUb1VwZGF0ZUJhclNwYWNpbmcodGhpcy5fYmFyU3BhY2luZyxpKTtjb25zdCBlPXRoaXMuX3BvaW50cy5yYW5nZSgpLnZhbHVlKCk7aWYoZSl7Y29uc3QgdD1lLmZpcnN0SW5kZXg7bGV0IHM9aSxuPWkscj0wOygoKT0+e3I9dGhpcy5pbmRleFRvQ29vcmRpbmF0ZSh0KSxyPDA/KG49aSxzPWkvMTApOihzPWksbj0xMCppKX0pKCk7Zm9yKGxldCBlPTA7ZTwyMCYmTWF0aC5hYnMocik+MjtlKyspe2NvbnN0IGU9KG4rcykvMjt0aGlzLl90cnlUb1VwZGF0ZUJhclNwYWNpbmcodGhpcy5fYmFyU3BhY2luZyxlKSxyPXRoaXMuaW5kZXhUb0Nvb3JkaW5hdGUodCkscjwwP249ZTpzPWV9fX1lbHNlIHRoaXMuX3RyeVRvVXBkYXRlQmFyU3BhY2luZyh0aGlzLl9iYXJTcGFjaW5nLGkpO3RoaXMuY29ycmVjdE9mZnNldCgpLHRoaXMuX3VzZVBlcmNlbnRhZ2VSaWdodE9mZnNldC52YWx1ZSgpJiYodGhpcy5fcmlnaHRPZmZzZXQ9dGhpcy5wZXJjZW50c1RvQmFySW5kZXhMZW5ndGgodGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0UGVyY2VudGFnZS52YWx1ZSgpKSksdGhpcy5fcmlnaHRPZmZzZXRDaGFuZ2VkLmZpcmUodGhpcy5fcmlnaHRPZmZzZXQpfW1hcmtzKCl7aWYodGhpcy5pc0VtcHR5KCkpcmV0dXJuIG51bGw7Y29uc3QgZT10aGlzLl9iYXJTcGFjaW5nLHQ9NSooKHRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuZm9udFNpemUudmFsdWUoKXx8MCkrNCksaT1NYXRoLnJvdW5kKHQvZSkscz0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKSxuPU1hdGgubWF4KHMuZmlyc3RCYXIoKSxzLmZpcnN0QmFyKCktaSkscj1NYXRoLm1heChzLmxhc3RCYXIoKSxzLmxhc3RCYXIoKS1pKSxvPXRoaXMuX3RpY2tNYXJrcy5idWlsZChlKSxhPVtdO2Zvcihjb25zdCBlIG9mIG8pbjw9ZS5pbmRleCYmZS5pbmRleDw9ciYmYS5wdXNoKHtjb29yZDp0aGlzLmluZGV4VG9Db29yZGluYXRlKGUuaW5kZXgpLGxhYmVsOmUubGFiZWwsc3BhbjplLnNwYW4sbWFqb3I6ITF9KTtyZXR1cm4gYX12aXNpYmxlQmFyc1N0cmljdFJhbmdlKCl7cmV0dXJuIHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQmJih0aGlzLl92aXNpYmxlQmFyc0ludmFsaWRhdGVkPSExLHRoaXMuX3VwZGF0ZVZpc2libGVCYXJzKCkpLHRoaXMuX3Zpc2libGVCYXJzLnN0cmljdFJhbmdlKCl9dmlzaWJsZUJhcnNTdHJpY3RSYW5nZUNoYW5nZWQoKXtyZXR1cm4gdGhpcy5fdmlzaWJsZUJhcnNDaGFuZ2VkfXZpc2libGVTdHJpY3REYXRhUmFuZ2UoZSl7Y29uc3QgdD10aGlzLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09dClyZXR1cm4gbnVsbDtjb25zdCBpPWUuc2VhcmNoKHQuZmlyc3RCYXIoKSxaby5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQpLHM9ZS5zZWFyY2godC5sYXN0QmFyKCksWm8uUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQpO3JldHVybiBudWxsPT09aXx8bnVsbD09PXM/bnVsbDpuZXcgaGMuQmFyc1JhbmdlKGkuaW5kZXgscy5pbmRleCl9dmlzaWJsZUV4dGVuZGVkRGF0YVJhbmdlKGUsdCl7Y29uc3QgaT10aGlzLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09aSlyZXR1cm4gbnVsbDtsZXQgcz0xPT09dD9udWxsOmUuc2VhcmNoKGkuZmlyc3RCYXIoKS0xLFpvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RMZWZ0KSxuPTA9PT10P251bGw6ZS5zZWFyY2goaS5sYXN0QmFyKCkrMSxaby5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQpO3JldHVybiBudWxsPT09cyYmKHM9ZS5zZWFyY2goaS5maXJzdEJhcigpLFpvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodCkpLG51bGw9PT1uJiYobj1lLnNlYXJjaChpLmxhc3RCYXIoKSxaby5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCkpLG51bGw9PT1zfHxudWxsPT09bj9udWxsOm5ldyBoYy5CYXJzUmFuZ2Uocy5pbmRleCxuLmluZGV4KX1sb2dpY2FsUmFuZ2VDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX2xvZ2ljYWxSYW5nZUNoYW5nZWR9dGlja01hcmtzKCl7cmV0dXJuIHRoaXMuX3RpY2tNYXJrc31wb2ludHMoKXtyZXR1cm4gdGhpcy5fcG9pbnRzfXdpZHRoKCl7cmV0dXJuIHRoaXMuX3dpZHRofXNldFdpZHRoKGUsdCl7aWYoIU51bWJlci5pc0Zpbml0ZShlKXx8ZTw9MClyZXR1cm4gdm9pZCBaYy5sb2dXYXJuKGBzZXRXaWR0aDogaW52YWxpZCBhcmd1bWVudDogJHtlfWApO2lmKHRoaXMuX3dpZHRoPT09ZSlyZXR1cm47Y29uc3QgaT10aGlzLl91c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQudmFsdWUoKSYmdGhpcy5fcmlnaHRPZmZzZXQ+MD90aGlzLmJhckluZGV4TGVuZ3RoVG9QZXJjZW50cyh0aGlzLl9yaWdodE9mZnNldCk6LTEKO2lmKHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsKHR8fHRoaXMuX29wdGlvbnMubG9ja1Zpc2libGVUaW1lUmFuZ2VPblJlc2l6ZSkmJnRoaXMuX3dpZHRoKXtjb25zdCB0PXRoaXMuX2JhclNwYWNpbmcqZS90aGlzLl93aWR0aDt0aGlzLl90cnlUb1VwZGF0ZUJhclNwYWNpbmcodGhpcy5fYmFyU3BhY2luZyx0KX1lbHNlIHRoaXMuX3dpZHRoJiZ0aGlzLnNldEJhclNwYWNpbmcodGhpcy5fYmFyU3BhY2luZyk7aWYobnVsbCE9PXRoaXMuX2xlZnRFZGdlSW5kZXgpe2lmKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCkpLmZpcnN0QmFyKCk8PXRoaXMuX2xlZnRFZGdlSW5kZXgpe2NvbnN0IHQ9dGhpcy5fd2lkdGgtZTt0aGlzLl9yaWdodE9mZnNldC09TWF0aC5yb3VuZCh0L3RoaXMuX2JhclNwYWNpbmcpKzF9fXRoaXMuX3dpZHRoPWUsdGhpcy5fd2lkdGhDaGFuZ2VkLmZpcmUoZSk7Y29uc3Qgcz10aGlzLl9yaWdodE9mZnNldDtpPjA/dGhpcy5fcmlnaHRPZmZzZXQ9dGhpcy5wZXJjZW50c1RvQmFySW5kZXhMZW5ndGgoaSk6dGhpcy5jb3JyZWN0T2Zmc2V0KCksdGhpcy5fcmlnaHRPZmZzZXQhPT1zJiZ0aGlzLl9yaWdodE9mZnNldENoYW5nZWQuZmlyZSh0aGlzLl9yaWdodE9mZnNldCksdGhpcy5fcmVxdWVzdE1vcmVEYXRhKCl9c2V0TGVmdEVkZ2VGaXgoZSl7dGhpcy5fbGVmdEVkZ2VJbmRleD1lO2NvbnN0IHQ9dGhpcy52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PXQpcmV0dXJuO2NvbnN0IGk9dC5maXJzdEJhcigpLWU7aWYoaTwwKXtjb25zdCBlPXRoaXMuX3JpZ2h0T2Zmc2V0LWktMTt0aGlzLnNjcm9sbFRvT2Zmc2V0QW5pbWF0ZWQoZSw1MDApfX1wb3NpdGlvblBlcmNlbnRUb0Nvb3JkaW5hdGUoZSl7cmV0dXJuIHRoaXMud2lkdGgoKSplfWluZGV4VG9Db29yZGluYXRlKGUpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiAwO2NvbnN0IHQ9dGhpcy5iYXNlSW5kZXgoKSxpPXRoaXMuX3BvaW50V2VpZ2h0cy5pbmRleFRvVG90YWxXZWlnaHQodCt0aGlzLl9yaWdodE9mZnNldCsuNSktdGhpcy5fcG9pbnRXZWlnaHRzLmluZGV4VG9Ub3RhbFdlaWdodChlKTtyZXR1cm4gdGhpcy5fd2lkdGgtaSp0aGlzLl9iYXJTcGFjaW5nfWluZGV4VG9Vc2VyVGltZShlKXtyZXR1cm4gdGhpcy5fdGlja01hcmtzLmluZGV4VG9UaW1lKGUpfXRpbWVQb2ludFRvSW5kZXgoZSx0KXtzd2l0Y2godCl7Y2FzZSAwOnJldHVybiB0aGlzLl9wb2ludHMuaW5kZXhPZihlLCExKTtjYXNlIDE6cmV0dXJuIHRoaXMuX3BvaW50cy5jbG9zZXN0SW5kZXhMZWZ0KGUpO2RlZmF1bHQ6cmV0dXJuIHRoaXMuX3BvaW50cy5pbmRleE9mKGUsITApfX1pbmRleFRvVGltZVBvaW50KGUpe3JldHVybiB0aGlzLl9wb2ludHMudmFsdWVBdChlKX10aW1lVG9Db29yZGluYXRlKGUpe2NvbnN0IHQ9dGhpcy5fcG9pbnRzLmNsb3Nlc3RJbmRleExlZnQoZSk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3BvaW50cy52YWx1ZUF0KHQpKSxzPXRoaXMuaW5kZXhUb0Nvb3JkaW5hdGUodCk7aWYoczw9MHx8cz49dGhpcy5fd2lkdGgpcmV0dXJuIG51bGw7Y29uc3Qgbj10aGlzLmJhclNwYWNpbmcoKSxyPXRoaXMuYmFzZUluZGV4KCk7bGV0IG87bz0wPT09cj90aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmluTWlsbGlzZWNvbmRzKCkvMWUzOigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcG9pbnRzLnZhbHVlQXQocikpLSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcG9pbnRzLnZhbHVlQXQoci0xKSk7Y29uc3QgYT1zKyhlLWkpL28qbisxO3JldHVybiBhPD0wfHxhPj10aGlzLl93aWR0aD9udWxsOmF9YmFyQm9yZGVycyhlKXtjb25zdCB0PXt0aW1lUG9pbnRJbmRleDplLGxlZnQ6TmFOLGNlbnRlcjpOYU4scmlnaHQ6TmFOfTtyZXR1cm4gdGhpcy5maWxsQmFyQm9yZGVycyhbdF0pLHR9ZmlsbEJhckJvcmRlcnMoZSx0LGkpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm47bGV0IHM9dD8uc3RhcnRJdGVtSW5kZXg/PzA7Y29uc3Qgbj0odD8uZW5kSXRlbUluZGV4Pz9lLmxlbmd0aCktMTtpZighMD09PWkmJihzPSgwLGcudXBwZXJib3VuZCkoZSxtYy5VTlBMT1RUQUJMRV9USU1FX1BPSU5UX0lOREVYLCgoZSx0KT0+ZTx0LnRpbWVQb2ludEluZGV4KSxzLG4rMSkpLHM+bilyZXR1cm47Y29uc3Qgcj10aGlzLl9wb2ludFdlaWdodHMuaW5kZXhUb1RvdGFsV2VpZ2h0KHRoaXMuYmFzZUluZGV4KCkrdGhpcy5fcmlnaHRPZmZzZXQrLjUpLG89dGhpcy5fcG9pbnRXZWlnaHRzLmluZGV4UmFuZ2VUb1dlaWdodHMoZVtzXS50aW1lUG9pbnRJbmRleCxlW25dLnRpbWVQb2ludEluZGV4LHRoaXMuX3dlaWdodGVkUG9pbnRzQ2FjaGUpO2xldCBhPTAsYz1vW2FdO2NvbnN0IGg9YyxkPW9bby5sZW5ndGgtMV07bGV0IHU9TmFOLHA9TmFOLF89TmFOLG09ITA7Zm9yKGxldCB0PXM7dDw9bjt0Kz0xKXtjb25zdCBpPWVbdF07aWYoaS50aW1lUG9pbnRJbmRleDxoLnRpbWVQb2ludEluZGV4KXU9aC5sZWZ0LShoLnRpbWVQb2ludEluZGV4LWkudGltZVBvaW50SW5kZXgpLHA9dSsuNSxfPXUrMTtlbHNlIGlmKGkudGltZVBvaW50SW5kZXg+ZC50aW1lUG9pbnRJbmRleClfPWQucmlnaHQrKGkudGltZVBvaW50SW5kZXgtZC50aW1lUG9pbnRJbmRleCkscD1fLS41LHU9Xy0xO2Vsc2UgZm9yKG0mJih1PWMubGVmdCxwPWMuY2VudGVyLF89Yy5yaWdodCxtPSExKTtjLnRpbWVQb2ludEluZGV4PGkudGltZVBvaW50SW5kZXg7KWErPTEsKDAsbC5hc3NlcnQpKGE8by5sZW5ndGgsIkJhciBib3JkZXJzIGNvb3JkaW5hdGVzIGFyZSBub3QgY29ycmVjdCIpLGM9b1thXSx1PWMubGVmdCxwPWMuY2VudGVyLF89Yy5yaWdodDtpLmxlZnQ9dGhpcy5fd2lkdGgtKHItdSkqdGhpcy5fYmFyU3BhY2luZyxpLmNlbnRlcj10aGlzLl93aWR0aC0oci1wKSp0aGlzLl9iYXJTcGFjaW5nLGkucmlnaHQ9dGhpcy5fd2lkdGgtKHItXykqdGhpcy5fYmFyU3BhY2luZ319dGltZWRWYWx1ZXNUb0Nvb3JkaW5hdGVzKGUsdCxpKXsKY29uc3Qgcz10aGlzLl9wb2ludFdlaWdodHMuaW5kZXhUb1RvdGFsV2VpZ2h0KHRoaXMuYmFzZUluZGV4KCkrdGhpcy5fcmlnaHRPZmZzZXQrLjUpLG49dD8uc3RhcnRJdGVtSW5kZXg/PzA7bGV0IHI9bjtjb25zdCBvPXQ/LmVuZEl0ZW1JbmRleD8/ZS5sZW5ndGg7ITA9PT1pJiYocj0oMCxnLnVwcGVyYm91bmQpKGUsbWMuVU5QTE9UVEFCTEVfVElNRV9QT0lOVF9JTkRFWCwoKGUsdCk9PmU8dC54KSxuLG8pKTtmb3IobGV0IHQ9cjt0PG87Kyt0KXtjb25zdCBpPWVbdF0sbj1zLXRoaXMuX3BvaW50V2VpZ2h0cy5pbmRleFRvVG90YWxXZWlnaHQoaS54KTtpLng9dGhpcy5fd2lkdGgtbip0aGlzLl9iYXJTcGFjaW5nfWZvcihsZXQgdD1uO3Q8cjsrK3QpZVt0XS54PS01MDB9cmlnaHRPZmZzZXRGb3JUaW1lUG9pbnQoZSl7Y29uc3QgdD10aGlzLnRpbWVUb0Nvb3JkaW5hdGUoZSk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT0odC10aGlzLl9iYXNlSW5kZXhCYXJDZW50ZXJDb29yZGluYXRlKCkpL3RoaXMuX2JhclNwYWNpbmc7cmV0dXJuIHRoaXMuX3BvaW50V2VpZ2h0cy50b3RhbFdlaWdodFRvSW5kZXgoaSl9c2Nyb2xsVG9SZWFsdGltZShlLHQpe2xldCBpPXRoaXMudGFyZ2V0RGVmYXVsdFJpZ2h0T2Zmc2V0KCk7aTwwJiYoaT10aGlzLnJpZ2h0T2Zmc2V0RGVmYXVsdFZhbHVlKCkpO2NvbnN0IHM9KCk9Pnt2b2lkIDAhPT10JiZ0KCksdGhpcy5fcmVxdWVzdE1vcmVEYXRhKCl9O2lmKGUpe2NvbnN0IGU9dGhpcy5sb2dpY2FsUmFuZ2UoKSx0PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5iYXJzKCkubGFzdEluZGV4KCk7aWYobnVsbD09PWV8fG51bGw9PT10KXJldHVybjtjb25zdCBpPXRoaXMuaW5kZXhUb0Nvb3JkaW5hdGUoZS5yaWdodCgpKy41KSxuPXRoaXMuaW5kZXhUb0Nvb3JkaW5hdGUodCt0aGlzLl9kZWZhdWx0UmlnaHRPZmZzZXQudmFsdWUoKSsuNSk7cmV0dXJuIHRoaXMuX21vZGVsLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx2b2lkIHRoaXMuX21vZGVsLnNldFRpbWVTY2FsZUFuaW1hdGlvbihuZXcgRm4oe2Zyb206MCx0bzppLW4sZHVyYXRpb246MWUzLGVhc2luZzpFbi5lYXNpbmdGdW5jLmVhc2VJbk91dFF1aW50LG9uRmluaXNoOnN9KSl9dGhpcy5fdmlzaWJsZUJhcnNJbnZhbGlkYXRlZD0hMCx0aGlzLl91cGRhdGVSaWdodE9mZnNldChpKSx0aGlzLl9vblNjcm9sbC5maXJlKCkscygpfXNjcm9sbFRvRmlyc3RCYXIoZT0oKT0+e30pe3RoaXMuX21vZGVsLmdvdG9UaW1lKG5ldyBEYXRlKCIxODAwLTAxLTAxIikuZ2V0VGltZSgpKS50aGVuKGUpLHRoaXMuX29uU2Nyb2xsLmZpcmUoKX1zY3JvbGxUb09mZnNldEFuaW1hdGVkKGUsdCl7aWYoIWlzRmluaXRlKGUpKXRocm93IG5ldyBSYW5nZUVycm9yKCJvZmZzZXQgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgZmluaXRlIG51bWJlciIpO2NvbnN0IGk9dm9pZCAwPT09dD80MDA6dDtpZighaXNGaW5pdGUoaSl8fGk8PTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoImFuaW1hdGlvbkR1cmF0aW9uIChvcHRpb25hbCkgbXVzdCBiZSBmaW5pdGUgcG9zaXRpdmUgbnVtYmVyIik7Y29uc3Qgcz10aGlzLl9yaWdodE9mZnNldCxuPURhdGUubm93KCkscj0oKT0+e3RoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITA7Y29uc3QgdD0oRGF0ZS5ub3coKS1uKS9pO2lmKHQ+PTEpcmV0dXJuIHRoaXMuX3VwZGF0ZVJpZ2h0T2Zmc2V0KGUpLHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fbW9kZWwucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx2b2lkIHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCk7Y29uc3Qgbz1zKyhlLXMpKnQ7dGhpcy5fdXBkYXRlUmlnaHRPZmZzZXQobyksdGhpcy5fbW9kZWwucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSxzZXRUaW1lb3V0KHIsMjApfTtyKCl9ZGVmYXVsdFJpZ2h0T2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldH1yaWdodE9mZnNldERlZmF1bHRWYWx1ZSgpe3JldHVybiAxMH1kZWZhdWx0UmlnaHRPZmZzZXRQZXJjZW50YWdlKCl7cmV0dXJuIHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2V9dXNlUGVyY2VudGFnZVJpZ2h0T2Zmc2V0KCl7cmV0dXJuIHRoaXMuX3VzZVBlcmNlbnRhZ2VSaWdodE9mZnNldH1iYXJTcGFjaW5nKCl7cmV0dXJuIHRoaXMuX2JhclNwYWNpbmd9YmFyU3BhY2luZ1NjYWxlUmF0aW8oKXtyZXR1cm4gbnVsbD09PXRoaXMuX3NuYXBzaG90QmFyU3BhY2luZz8xOnRoaXMuX2JhclNwYWNpbmcvdGhpcy5fc25hcHNob3RCYXJTcGFjaW5nfXNldEJhclNwYWNpbmcoZSl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm4gdm9pZCBaYy5sb2dXYXJuKGBzZXRCYXJTcGFjaW5nOiBpbnZhbGlkIGFyZ3VtZW50OiAke2V9YCk7ZT10aGlzLmdldFZhbGlkQmFyU3BhY2luZyhlKTtjb25zdCB0PXRoaXMuX2JhclNwYWNpbmc+ZTt0aGlzLl90cnlUb1VwZGF0ZUJhclNwYWNpbmcodGhpcy5fYmFyU3BhY2luZyxlKSYmKHRoaXMuY29ycmVjdE9mZnNldCgpLHRoaXMuX29wdGlvbnMucHJlc2VydmVCYXJTcGFjaW5nJiYoKDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITApLHRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuYmFyU3BhY2luZy5zZXRWYWx1ZSh0aGlzLl9iYXJTcGFjaW5nKSwoMCxHci5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMSkpLHRoaXMuX21vZGVsLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKSx0JiZ0aGlzLnJlcXVlc3RIaXN0b3J5UG9pbnRzSWZOZWVkZWQoKSl9YmFyU3BhY2luZ0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fYmFyU3BhY2luZ0NoYW5nZWR9Z2V0VmFsaWRCYXJTcGFjaW5nKGUpe3JldHVybiBudWxsPT1lJiYoZT10aGlzLmJhclNwYWNpbmcoKSksZTx0aGlzLm1pbkJhclNwYWNpbmcoKT90aGlzLm1pbkJhclNwYWNpbmcoKTplPnRoaXMubWF4QmFyU3BhY2luZygpP3RoaXMubWF4QmFyU3BhY2luZygpOmV9CmlzVmFsaWRCYXJTcGFjaW5nKGUpe3JldHVybiBlPj10aGlzLm1pbkJhclNwYWNpbmcoKSYmZTw9dGhpcy5tYXhCYXJTcGFjaW5nKCl9cHJlc2VydmVCYXJTcGFjaW5nKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMucHJlc2VydmVCYXJTcGFjaW5nfW5vcm1hbGl6ZUJhckluZGV4KGUpe2xldCB0PTAsaT0wO2NvbnN0IHM9dGhpcy5iYXNlSW5kZXgoKSxuPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcG9pbnRzLnJhbmdlKCkudmFsdWUoKSkuZmlyc3RJbmRleDtyZXR1cm4gZTxuPyh0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcG9pbnRzLnZhbHVlQXQobikpLGk9ZS1uKTplPnM/KHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wb2ludHMudmFsdWVBdChzKSksaT1lLXMpOih0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcG9pbnRzLnZhbHVlQXQoZSkpLGk9MCkse3RpbWVfdDp0LG9mZnNldDppfX1kZW5vcm1hbGl6ZVRpbWVQb2ludChlKXtjb25zdCB0PXRoaXMuX3BvaW50cy5pbmRleE9mKGUudGltZV90LCExKTtpZihudWxsIT09dClyZXR1cm4gdCtlLm9mZnNldH1yaWdodE9mZnNldCgpe3JldHVybiB0aGlzLl9yaWdodE9mZnNldH1yaWdodE9mZnNldENoYW5nZWQoKXtyZXR1cm4gdGhpcy5fcmlnaHRPZmZzZXRDaGFuZ2VkfW1pblJpZ2h0T2Zmc2V0KCl7Y29uc3QgZT10aGlzLnBvaW50cygpLnJhbmdlKCkudmFsdWUoKT8uZmlyc3RJbmRleCx0PXRoaXMuX2Jhc2VJbmRleDtpZih2b2lkIDA9PT1lfHxudWxsPT09dClyZXR1cm4gbnVsbDtpZihudWxsIT09dGhpcy5fbGVmdEVkZ2VJbmRleCl7Y29uc3QgZT10aGlzLndpZHRoKCkvdGhpcy5fYmFyU3BhY2luZztyZXR1cm4gdGhpcy5fbGVmdEVkZ2VJbmRleC10K2UtMX1yZXR1cm4gZS10LTErWGN9bWF4UmlnaHRPZmZzZXQoKXtyZXR1cm4gdGhpcy53aWR0aCgpL3RoaXMuX2JhclNwYWNpbmctWGN9bWF4UmlnaHRPZmZzZXRDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX21heFJpZ2h0T2Zmc2V0Q2hhbmdlZH1vblJlc2V0KCl7cmV0dXJuIHRoaXMuX3Jlc2V0RGVsZWdhdGV9YmFzZUluZGV4KCl7cmV0dXJuIHRoaXMuX2Jhc2VJbmRleHx8MH16b29tKGUsdCxpKXtpZighTnVtYmVyLmlzRmluaXRlKGUpfHwhTnVtYmVyLmlzRmluaXRlKHQpKXJldHVybiB2b2lkIFpjLmxvZ1dhcm4oYHpvb206IGludmFsaWQgYXJndW1lbnRzOiAke2V9LCAke3R9LCAke2l9YCk7Y29uc3Qgcz10aGlzLnJpZ2h0T2Zmc2V0KCksbj12b2lkIDAhPT1pPyFpOnRoaXMuX29wdGlvbnMucmlnaHRCYXJTdGF5c09uU2Nyb2xsLHI9biYmdGhpcy51c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQoKS52YWx1ZSgpJiZzPj0wLG89cj90aGlzLmJhckluZGV4TGVuZ3RoVG9QZXJjZW50cyhzKTp2b2lkIDAsYT10aGlzLmNvb3JkaW5hdGVUb0luZGV4KGUpLGw9dGhpcy5iYXJTcGFjaW5nKCksYz1sK3QqKGwvMTApO3RoaXMuc2V0QmFyU3BhY2luZyhjKSxufHwodGhpcy5zdGFydFNjcm9sbCh0aGlzLmluZGV4VG9Db29yZGluYXRlKGEpKSx0aGlzLnNjcm9sbFRvKGUpLHRoaXMuZW5kU2Nyb2xsKCkpLHImJnZvaWQgMCE9PW8mJnRoaXMuc2V0UmlnaHRPZmZzZXQodGhpcy5wZXJjZW50c1RvQmFySW5kZXhMZW5ndGgobykpLHRoaXMuX3JlcXVlc3RNb3JlRGF0YSgpfXpvb21Ub0JhcnNSYW5nZShlLHQpe2lmKG51bGwhPT10aGlzLl9sZWZ0RWRnZUluZGV4JiYoZT1NYXRoLm1heChlLHRoaXMuX2xlZnRFZGdlSW5kZXgpKSx0PGUpcmV0dXJuO2NvbnN0IGk9dGhpcy5iYXNlSW5kZXgoKSxzPXRoaXMuX3JpZ2h0T2Zmc2V0O3RoaXMuX3JpZ2h0T2Zmc2V0PXQtaTtjb25zdCBuPWUtLjUscj10Ky41LG89TWF0aC5tYXgodGhpcy5fcG9pbnRXZWlnaHRzLmluZGV4VG9Ub3RhbFdlaWdodChyKS10aGlzLl9wb2ludFdlaWdodHMuaW5kZXhUb1RvdGFsV2VpZ2h0KG4pLFhjKTt0aGlzLnNldEJhclNwYWNpbmcodGhpcy53aWR0aCgpL28pLHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5jb3JyZWN0T2Zmc2V0KCksdGhpcy5fcmlnaHRPZmZzZXQhPT1zJiZ0aGlzLl9yaWdodE9mZnNldENoYW5nZWQuZmlyZSh0aGlzLl9yaWdodE9mZnNldCksdGhpcy5fcmVxdWVzdE1vcmVEYXRhKCl9c2Nyb2xsVG9CYXIoZSl7bnVsbCE9PXRoaXMuX2xlZnRFZGdlSW5kZXgmJihlPU1hdGgubWF4KGUsdGhpcy5fbGVmdEVkZ2VJbmRleCkpO2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLmxvZ2ljYWxSYW5nZSgpKS5sZW5ndGgoKStlLTE7dGhpcy5fcmlnaHRPZmZzZXQ9dC10aGlzLmJhc2VJbmRleCgpLHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5jb3JyZWN0T2Zmc2V0KCksdGhpcy5fcmlnaHRPZmZzZXRDaGFuZ2VkLmZpcmUodGhpcy5fcmlnaHRPZmZzZXQpLHRoaXMuX3JlcXVlc3RNb3JlRGF0YSgpfWNvb3JkaW5hdGVUb0luZGV4KGUpe3JldHVybiBNYXRoLnJvdW5kKHRoaXMuY29vcmRpbmF0ZVRvRmxvYXRJbmRleChlKSl9Y29vcmRpbmF0ZVRvRmxvYXRJbmRleChlKXtjb25zdCB0PShlLXRoaXMuX2Jhc2VJbmRleEJhckNlbnRlckNvb3JkaW5hdGUoKSkvdGhpcy5fYmFyU3BhY2luZyxpPXRoaXMuX3BvaW50V2VpZ2h0cy50b3RhbFdlaWdodFRvSW5kZXgodCk7cmV0dXJuIE1hdGgucm91bmQoMWU2KmkpLzFlNn1jb29yZGluYXRlVG9WaXNpYmxlSW5kZXgoZSl7bGV0IHQ9dGhpcy5jb29yZGluYXRlVG9JbmRleChlKTtjb25zdCBpPXRoaXMudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO3JldHVybiBudWxsPT09aXx8aS5jb250YWlucyh0KXx8KHQ9TWF0aC5taW4oTWF0aC5tYXgoaS5maXJzdEJhcigpLHQpLGkubGFzdEJhcigpKSksdH1jYW5ab29tSW4oKXtyZXR1cm4gdGhpcy5iYXJTcGFjaW5nKCk8dGhpcy5tYXhCYXJTcGFjaW5nKCl9Y2FuWm9vbU91dCgpe3JldHVybiB0aGlzLmJhclNwYWNpbmcoKT50aGlzLl9vcHRpb25zLm1pbkJhclNwYWNpbmd9bWluQmFyU3BhY2luZygpe3JldHVybiB0aGlzLl9vcHRpb25zLm1pbkJhclNwYWNpbmd9bWF4QmFyU3BhY2luZygpe2NvbnN0IGU9dGhpcy53aWR0aCgpO3JldHVybiBLYz9lOmUvWGN9bWluVmlzaWJsZUJhckNvdW50KCl7CnJldHVybiBYY31yZXNldFJpZ2h0T2Zmc2V0KCl7dGhpcy5zZXRSaWdodE9mZnNldCh0aGlzLnRhcmdldERlZmF1bHRSaWdodE9mZnNldCgpKX1yZXNldCgpe3RoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fcG9pbnRzLmNsZWFyKCksdGhpcy5fc2Nyb2xsRGF0YT1udWxsLHRoaXMuX3NjYWxlU3RhcnRQb2ludD1udWxsLHRoaXMuX2NsZWFyQ29tbW9uVHJhbnNpdGlvbnNTdGFydFN0YXRlKCksdGhpcy5fdGlja01hcmtzLnJlc2V0KCksdGhpcy5fbGVmdEVkZ2VJbmRleD1udWxsLHRoaXMuX3Jlc2V0RGVsZWdhdGUuZmlyZSgpLHRoaXMuZGlzY29ubmVjdCgpfXJlc2V0QXZhaWxhYmxlKCl7cmV0dXJuIHRoaXMuX3Jlc2V0QXZhaWxhYmxlLnJlYWRvbmx5KCl9ZGlzY29ubmVjdCgpe3RoaXMuX3JlcXVlc3RpbmdNb3JlRGF0YT0hMSx0aGlzLl9yZXF1ZXN0ZWRUaWNrbWFya3NDb3VudD0wLHRoaXMuX2VuZE9mRGF0YT0hMX1zZXRCYXNlSW5kZXgoZSl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm4gdm9pZCBaYy5sb2dEZWJ1Zyhgc2V0QmFzZUluZGV4OiBpbnZhbGlkIGFyZ3VtZW50OiAke2V9YCk7Y29uc3QgdD10aGlzLl9iYXNlSW5kZXghPT1lO3RoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fYmFzZUluZGV4PWUsdGhpcy5fcG9pbnRXZWlnaHRzLnNldEJhc2VJbmRleCh0aGlzLl9iYXNlSW5kZXgpLHRoaXMuY29ycmVjdE9mZnNldCgpLHQmJih0aGlzLl9tb2RlbC5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCkpfXJlc2V0QmFzZUluZGV4KCl7dGhpcy5fdmlzaWJsZUJhcnNJbnZhbGlkYXRlZD0hMCx0aGlzLl9iYXNlSW5kZXg9bnVsbH1zZXRSaWdodE9mZnNldChlKXtOdW1iZXIuaXNGaW5pdGUoZSk/KHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fdXBkYXRlUmlnaHRPZmZzZXQoZSkpOlpjLmxvZ1dhcm4oYHNldFJpZ2h0T2Zmc2V0OiBpbnZhbGlkIGFyZ3VtZW50OiAke2V9YCl9Y29ycmVjdEJhclNwYWNpbmcoKXt0aGlzLmlzRW1wdHkoKXx8dGhpcy5wb2ludHMoKS5zaXplKCk8dGhpcy53aWR0aCgpL3RoaXMuYmFyU3BhY2luZygpJiYodGhpcy5zZXRSaWdodE9mZnNldCh0aGlzLnRhcmdldERlZmF1bHRSaWdodE9mZnNldCgpKSx0aGlzLnNldEJhclNwYWNpbmcodGhpcy53aWR0aCgpLyh0aGlzLnBvaW50cygpLnNpemUoKSt0aGlzLnJpZ2h0T2Zmc2V0KCkpKSl9c2V0VGltZVBvaW50V2VpZ2h0cyhlKXt0aGlzLl93ZWlnaHRlZFBvaW50c0NhY2hlPVtdLHRoaXMuX3BvaW50V2VpZ2h0cz1lPz9uZXcgR2MsdGhpcy5fcG9pbnRXZWlnaHRzLnNldEJhc2VJbmRleCh0aGlzLmJhc2VJbmRleCgpKSx0aGlzLl92aXNpYmxlQmFyc0ludmFsaWRhdGVkPSEwfWNvcnJlY3RPZmZzZXQoKXtjb25zdCBlPXRoaXMubWF4UmlnaHRPZmZzZXQoKTt0aGlzLl9yaWdodE9mZnNldD5lJiYodGhpcy5fcmlnaHRPZmZzZXQ9ZSx0aGlzLl92aXNpYmxlQmFyc0ludmFsaWRhdGVkPSEwKTtjb25zdCB0PXRoaXMubWluUmlnaHRPZmZzZXQoKTtudWxsIT09dCYmdGhpcy5fcmlnaHRPZmZzZXQ8dCYmKHRoaXMuX3JpZ2h0T2Zmc2V0PXQsdGhpcy5fdmlzaWJsZUJhcnNJbnZhbGlkYXRlZD0hMCl9bG9naWNhbFJhbmdlKCl7cmV0dXJuIHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQmJih0aGlzLl92aXNpYmxlQmFyc0ludmFsaWRhdGVkPSExLHRoaXMuX3VwZGF0ZVZpc2libGVCYXJzKCkpLHRoaXMuX3Zpc2libGVCYXJzLmxvZ2ljYWxSYW5nZSgpfXJlc3RvcmVEZWZhdWx0KCl7dGhpcy5fdmlzaWJsZUJhcnNJbnZhbGlkYXRlZD0hMCx0aGlzLl9sb2NrQmFyc0FuZExvZ2ljYWxSYW5nZUV2ZW50cz0hMDtjb25zdCBlPXRoaXMuX3Zpc2libGVCYXJzO3RoaXMuc2V0QmFyU3BhY2luZyg2KSx0aGlzLnJlc2V0UmlnaHRPZmZzZXQoKSx0aGlzLl9sb2NrQmFyc0FuZExvZ2ljYWxSYW5nZUV2ZW50cz0hMSx0aGlzLl9maXJlVmlzaWJsZUJhcnNDaGFuZ2VkSWZSZXF1aXJlZChlLHRoaXMuX3Zpc2libGVCYXJzKSx0aGlzLl9yZXF1ZXN0TW9yZURhdGEoKX1zdGFydFNjYWxlKGUpe3RoaXMuX3Njcm9sbERhdGEmJnRoaXMuZW5kU2Nyb2xsKCksbnVsbD09PXRoaXMuX3NjYWxlU3RhcnRQb2ludCYmbnVsbD09PXRoaXMuX2NvbW1vblRyYW5zaXRpb25TdGFydFN0YXRlJiYodGhpcy5pc0VtcHR5KCl8fCh0aGlzLl9zY2FsZVN0YXJ0UG9pbnQ9ZSx0aGlzLl9zYXZlQ29tbW9uVHJhbnNpdGlvbnNTdGFydFN0YXRlKCkpKX1zY2FsZVRvKGUpe2lmKG51bGw9PT10aGlzLl9jb21tb25UcmFuc2l0aW9uU3RhcnRTdGF0ZSlyZXR1cm47Y29uc3QgdD0oMCxiaS5jbGFtcCkodGhpcy5fd2lkdGgtZSwwLHRoaXMuX3dpZHRoKSxpPSgwLGJpLmNsYW1wKSh0aGlzLl93aWR0aC0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3NjYWxlU3RhcnRQb2ludCksMCx0aGlzLl93aWR0aCk7aWYoMD09PXR8fDA9PT1pKXJldHVybjtjb25zdCBzPXRoaXMuYmFySW5kZXhMZW5ndGhUb1BlcmNlbnRzKHRoaXMucmlnaHRPZmZzZXQoKSk7dGhpcy5zZXRCYXJTcGFjaW5nKHRoaXMuX2NvbW1vblRyYW5zaXRpb25TdGFydFN0YXRlLmJhclNwYWNpbmcqdC9pKSx0aGlzLnVzZVBlcmNlbnRhZ2VSaWdodE9mZnNldCgpLnZhbHVlKCkmJnRoaXMucmlnaHRPZmZzZXQoKT49MCYmdGhpcy5zZXRSaWdodE9mZnNldCh0aGlzLnBlcmNlbnRzVG9CYXJJbmRleExlbmd0aChzKSl9ZW5kU2NhbGUoKXtudWxsIT09dGhpcy5fc2NhbGVTdGFydFBvaW50JiYodGhpcy5fc2NhbGVTdGFydFBvaW50PW51bGwsdGhpcy5fY2xlYXJDb21tb25UcmFuc2l0aW9uc1N0YXJ0U3RhdGUoKSx0aGlzLl9yZXF1ZXN0TW9yZURhdGEoKSl9c3RhcnRTY3JvbGwoZSl7bnVsbD09PXRoaXMuX3Njcm9sbERhdGEmJm51bGw9PT10aGlzLl9jb21tb25UcmFuc2l0aW9uU3RhcnRTdGF0ZSYmKHRoaXMuaXNFbXB0eSgpfHwodGhpcy5fc2Nyb2xsRGF0YT17c3RhcnRDb29yZGluYXRlOmUsCnN0YXJ0UmlnaHRFZGdlTG9naWNhbDp0aGlzLmJhc2VJbmRleCgpK3RoaXMuX3JpZ2h0T2Zmc2V0Ky41LHN0YXJ0QmFzZUluZGV4OnRoaXMuYmFzZUluZGV4KCl9LHRoaXMuX3NhdmVDb21tb25UcmFuc2l0aW9uc1N0YXJ0U3RhdGUoKSkpfXNjcm9sbFRvKGUpe2lmKHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsbnVsbD09PXRoaXMuX3Njcm9sbERhdGEpcmV0dXJuO2NvbnN0e3N0YXJ0Q29vcmRpbmF0ZTp0LHN0YXJ0UmlnaHRFZGdlTG9naWNhbDppLHN0YXJ0QmFzZUluZGV4OnN9PXRoaXMuX3Njcm9sbERhdGEsbj1lLXQscj1pKyh0aGlzLmJhc2VJbmRleCgpLXMpLG89dGhpcy5pbmRleFRvQ29vcmRpbmF0ZShyKSxhPXRoaXMuY29vcmRpbmF0ZVRvRmxvYXRJbmRleChvLW4pLS41LXRoaXMuYmFzZUluZGV4KCk7dGhpcy5fdXBkYXRlUmlnaHRPZmZzZXQoYSksdGhpcy5fb25TY3JvbGwuZmlyZSgpfWVuZFNjcm9sbCgpe251bGwhPT10aGlzLl9zY3JvbGxEYXRhJiYodGhpcy5fc2Nyb2xsRGF0YT1udWxsLHRoaXMuX2NsZWFyQ29tbW9uVHJhbnNpdGlvbnNTdGFydFN0YXRlKCksdGhpcy5fdGhyb3R0bGVSZXF1ZXN0TW9yZURhdGFPblNjcm9sbCgpKX1pc0JlaW5nU2Nyb2xsZWQoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX3Njcm9sbERhdGF9aXNCZWluZ1NjYWxlZCgpe3JldHVybiBudWxsIT09dGhpcy5fc2NhbGVTdGFydFBvaW50fW9uU2Nyb2xsKCl7cmV0dXJuIHRoaXMuX29uU2Nyb2xsfWludmFsaWRhdGVWaXNpYmxlQmFycygpe3RoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITB9b25UaW1lU2NhbGVDb21wbGV0ZWQoZSl7aWYodGhpcy5fcmVxdWVzdGluZ01vcmVEYXRhPSExLHRoaXMuX2VuZE9mRGF0YT1lLCgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImZpeF9sZWZ0X2VkZ2UiKSYmdGhpcy5fZW5kT2ZEYXRhKXtjb25zdCBlPXRoaXMuX3BvaW50cy5yYW5nZSgpLnZhbHVlKCk/LmZpcnN0SW5kZXg7dm9pZCAwIT09ZSYmdGhpcy5zZXRMZWZ0RWRnZUZpeChlKX10aGlzLl9yZXF1ZXN0TW9yZURhdGEoKX1yZXF1ZXN0TW9yZUhpc3RvcnlQb2ludHMoZSl7dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnJlcXVlc3RNb3JlRGF0YShlKX10YXJnZXREZWZhdWx0UmlnaHRPZmZzZXQoKXtyZXR1cm4gdGhpcy51c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQoKS52YWx1ZSgpP3RoaXMucGVyY2VudHNUb0JhckluZGV4TGVuZ3RoKHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UudmFsdWUoKSk6dGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0LnZhbHVlKCl9cGVyY2VudHNUb0JhckluZGV4TGVuZ3RoKGUpe3JldHVybi4wMSplKnRoaXMuX3dpZHRoL3RoaXMuX2JhclNwYWNpbmd9YmFySW5kZXhMZW5ndGhUb1BlcmNlbnRzKGUpe3JldHVybiAxMDAqZSp0aGlzLl9iYXJTcGFjaW5nL3RoaXMuX3dpZHRofXJlcXVlc3RIaXN0b3J5UG9pbnRzSWZOZWVkZWQoKXt0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucmVxdWVzdE1vcmVEYXRhKCl9X3JlcXVlc3RNb3JlRGF0YSgpe3RoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5yZXF1ZXN0TW9yZURhdGEoKX1fcmVxdWVzdEZ1dHVyZVRpY2ttYXJrc0lmTmVlZGVkKCl7dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnJlcXVlc3RNb3JlRGF0YSgpfV9yZXF1ZXN0SGlzdG9yeVBvaW50cyhlKXt0aGlzLl9tb2RlbC5jaGFydEFwaSgpLmlzQ29ubmVjdGVkKCkudmFsdWUoKSYmKHRoaXMuX3JlcXVlc3RpbmdNb3JlRGF0YT9aYy5sb2dOb3JtYWwoIlNraXBwaW5nIGxvYWRpbmcgbW9yZSBkYXRhIGR1ZSBhY3RpdmUgbG9hZGluZyIpOih0aGlzLl9yZXF1ZXN0aW5nTW9yZURhdGE9ITAsdGhpcy5fbW9kZWwuY2hhcnRBcGkoKS5yZXF1ZXN0TW9yZURhdGEoZSkpKX1fdXBkYXRlVmlzaWJsZUJhcnMoKXtjb25zdCBlPXRoaXMuX3Zpc2libGVCYXJzO2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiB2b2lkKHRoaXMuX3Zpc2libGVCYXJzLmlzVmFsaWQoKSYmKHRoaXMuX3Zpc2libGVCYXJzPWZjLmludmFsaWQoKSx0aGlzLl92aXNpYmxlQmFyc0NoYW5nZWQuZmlyZShudWxsLGUuc3RyaWN0UmFuZ2UoKSksdGhpcy5fbG9naWNhbFJhbmdlQ2hhbmdlZC5maXJlKG51bGwsZS5sb2dpY2FsUmFuZ2UoKSkpKTtjb25zdCB0PXRoaXMud2lkdGgoKS90aGlzLmJhclNwYWNpbmcoKSxpPXRoaXMuYmFzZUluZGV4KCkscz1pK3RoaXMuX3JpZ2h0T2Zmc2V0LG49cysuNSxyPXRoaXMuX3BvaW50V2VpZ2h0cy5pbmRleFRvVG90YWxXZWlnaHQobiktdCxvPU1hdGgubWluKG4tMSx0aGlzLl9wb2ludFdlaWdodHMudG90YWxXZWlnaHRUb0luZGV4KHIpKSsuNTtOdW1iZXIuaXNGaW5pdGUobykmJk51bWJlci5pc0Zpbml0ZShzKT8odGhpcy5fdmlzaWJsZUJhcnM9bmV3IGZjKG5ldyBkYy5Mb2dpY2FsUmFuZ2UobyxzKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3R5bGUoKSksdGhpcy5fbG9ja0JhcnNBbmRMb2dpY2FsUmFuZ2VFdmVudHN8fHRoaXMuX2ZpcmVWaXNpYmxlQmFyc0NoYW5nZWRJZlJlcXVpcmVkKGUsdGhpcy5fdmlzaWJsZUJhcnMpKTpaYy5sb2dXYXJuKGB1cGRhdGVWaXNpYmxlQmFycyBlcnJvcjogYmFzZUluZGV4OiAke2l9LCBiYXJTcGFjaW5nOiAke3RoaXMuX2JhclNwYWNpbmd9LCByaWdodE9mZnNldDogJHt0aGlzLl9yaWdodE9mZnNldH1gKX1fZmlyZVZpc2libGVCYXJzQ2hhbmdlZElmUmVxdWlyZWQoZSx0KXtoYy5CYXJzUmFuZ2UuY29tcGFyZShlLnN0cmljdFJhbmdlKCksdC5zdHJpY3RSYW5nZSgpKXx8dGhpcy5fdmlzaWJsZUJhcnNDaGFuZ2VkLmZpcmUodC5zdHJpY3RSYW5nZSgpLGUuc3RyaWN0UmFuZ2UoKSksZGMuTG9naWNhbFJhbmdlLmNvbXBhcmUoZS5sb2dpY2FsUmFuZ2UoKSx0LmxvZ2ljYWxSYW5nZSgpKXx8dGhpcy5fbG9naWNhbFJhbmdlQ2hhbmdlZC5maXJlKHQubG9naWNhbFJhbmdlKCksZS5sb2dpY2FsUmFuZ2UoKSl9X2Jhc2VJbmRleEJhckNlbnRlckNvb3JkaW5hdGUoKXtjb25zdCBlPXRoaXMuYmFzZUluZGV4KCkrdGhpcy5fcmlnaHRPZmZzZXQrLjUsdD10aGlzLl9wb2ludFdlaWdodHMuaW5kZXhUb1RvdGFsV2VpZ2h0KGUpCjtyZXR1cm4gdGhpcy5fd2lkdGgtdCp0aGlzLl9iYXJTcGFjaW5nfV90cnlUb1VwZGF0ZUJhclNwYWNpbmcoZSx0KXtyZXR1cm4gZSE9PXQmJih0aGlzLl92aXNpYmxlQmFyc0ludmFsaWRhdGVkPSEwLHRoaXMuX2JhclNwYWNpbmc9dCx0aGlzLl9iYXJTcGFjaW5nQ2hhbmdlZC5maXJlKHQpLCEwKX1fc2F2ZUNvbW1vblRyYW5zaXRpb25zU3RhcnRTdGF0ZSgpe3RoaXMuX2NvbW1vblRyYW5zaXRpb25TdGFydFN0YXRlPXtiYXJTcGFjaW5nOnRoaXMuYmFyU3BhY2luZygpLHJpZ2h0T2Zmc2V0OnRoaXMucmlnaHRPZmZzZXQoKX19X2NsZWFyQ29tbW9uVHJhbnNpdGlvbnNTdGFydFN0YXRlKCl7dGhpcy5fY29tbW9uVHJhbnNpdGlvblN0YXJ0U3RhdGU9bnVsbH1fbWF4UmlnaHRPZmZzZXRPbkNoYW5nZWQoKXt0aGlzLl9tYXhSaWdodE9mZnNldENoYW5nZWQuZmlyZSh0aGlzLm1heFJpZ2h0T2Zmc2V0KCkpfV91cGRhdGVSaWdodE9mZnNldChlKXtjb25zdCB0PXRoaXMuX3JpZ2h0T2Zmc2V0O3RoaXMuX3JpZ2h0T2Zmc2V0PWUsdGhpcy5jb3JyZWN0T2Zmc2V0KCksdGhpcy5fcmlnaHRPZmZzZXQhPT10JiZ0aGlzLl9yaWdodE9mZnNldENoYW5nZWQuZmlyZSh0aGlzLl9yaWdodE9mZnNldCksdGhpcy5fbW9kZWwucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLl9tb2RlbC5saWdodFVwZGF0ZSgpfV9kZWZhdWx0UmlnaHRPZmZzZXRPcHRpb25zVXBkYXRlZCgpe3RoaXMucmlnaHRPZmZzZXQoKTt0aGlzLnNldFJpZ2h0T2Zmc2V0KHRoaXMudGFyZ2V0RGVmYXVsdFJpZ2h0T2Zmc2V0KCkpLHRoaXMuX3VwZGF0ZVJlc2V0QXZhaWxhYmxlVmFsdWUoKSx0aGlzLl9sYXN0RGVmYXVsdFJpZ2h0T2Zmc2V0PXRoaXMuX2RlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UudmFsdWUoKX1fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSgpe3RoaXMuX3Jlc2V0QXZhaWxhYmxlLnNldFZhbHVlKDYhPT10aGlzLmJhclNwYWNpbmcoKXx8dGhpcy5yaWdodE9mZnNldCgpIT09dGhpcy50YXJnZXREZWZhdWx0UmlnaHRPZmZzZXQoKSl9fXZhciBlaD1pKDgyNjE1NiksdGg9aSg2MjQ2NzgpLGloPWkoNDYyNTg5KTtjbGFzcyBzaHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9vbkNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fZ3JvdXBzPVtdLHRoaXMuX2dyb3Vwcz1lfHxbXSx0aGlzLl9ncm91cHMuZm9yRWFjaCgoZT0+e2Uub25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKHQ9PnRoaXMuX29uQ2hhbmdlZC5maXJlKGUuaWQsdCkpKX0pKX1kZXN0cm95KCl7dGhpcy5fZ3JvdXBzLmZvckVhY2goKGU9PmUub25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcykpKSx0aGlzLl9ncm91cHMubGVuZ3RoPTB9Z3JvdXBzKCl7cmV0dXJuIHRoaXMuX2dyb3Vwcy5maWx0ZXIoKGU9Pm51bGw9PT1lLnBhcmVudEdyb3VwKCkmJmUuaXNBY3R1YWxTeW1ib2woKSkpfWdyb3Vwc0ZvckFsbFN5bWJvbHMoKXtyZXR1cm4gdGhpcy5fZ3JvdXBzLmZpbHRlcigoZT0+bnVsbD09PWUucGFyZW50R3JvdXAoKSkpfWNyZWF0ZUdyb3VwKGUsdCxpKXt0PXR8fHRoaXMuX2dlbmVyYXRlTmV4dE5hbWUoKTtjb25zdCBzPWUubGVuZ3RoPjA/dGhpcy5fcGFyZW50R3JvdXBGb3JJdGVtKGVbMF0pOm51bGw7Zm9yKGNvbnN0IHQgb2YgZSl7Y29uc3QgZT10aGlzLl9wYXJlbnRHcm91cEZvckl0ZW0odCk7bnVsbCE9PWUmJmUuZXhjbHVkZUl0ZW0odCl9Y29uc3Qgbj1uZXcgaW8oZSx0LGkpO3RoaXMuX2dyb3Vwcy5wdXNoKG4pLG4ub25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKGU9PnRoaXMuX29uQ2hhbmdlZC5maXJlKG4uaWQsZSkpKSxudWxsIT09cyYmcy5hZGRJdGVtcyhbbl0pO2NvbnN0IHI9W107ZS5mb3JFYWNoKChlPT57KDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoZSk/dG8oZSxyKTpyLnB1c2goZS5pZCgpKX0pKTtjb25zdCBvPXt2aXNpYmlsaXR5Q2hhbmdlZDohMSxsb2NrZWRDaGFuZ2VkOiExLGlzQWN0dWFsSW50ZXJ2YWxDaGFuZ2VkOiExLGFmZmVjdGVkTGluZVRvb2xzOnJ9O3JldHVybiB0aGlzLl9vbkNoYW5nZWQuZmlyZShuLmlkLG8pLHRoaXMuX3JlbW92ZUVtcHR5R3JvdXBzQ2FzY2FkZSgpLG59YWRkR3JvdXAoZSl7dGhpcy5fZ3JvdXBzLnB1c2goZSksZS5vbkNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywodD0+dGhpcy5fb25DaGFuZ2VkLmZpcmUoZS5pZCx0KSkpLHRoaXMuX29uQ2hhbmdlZC5maXJlKGUuaWQpfXJlbW92ZUdyb3VwKGUpe2Uub25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyk7Y29uc3QgdD1lLnBhcmVudEdyb3VwKCk7bnVsbCE9PXQmJnQuZXhjbHVkZUl0ZW0oZSk7Y29uc3QgaT1lLnN1Ymdyb3VwcygpO2kubGVuZ3RoPjAmJmUuZXhjbHVkZUl0ZW1zKGkpO2NvbnN0IHM9dGhpcy5fZ3JvdXBzLmZpbmRJbmRleCgodD0+dC5pZD09PWUuaWQpKTstMSE9PXMmJnRoaXMuX2dyb3Vwcy5zcGxpY2UocywxKSx0aGlzLl9vbkNoYW5nZWQuZmlyZShlLmlkKX1ncm91cEZvcklkKGUpe3JldHVybiB0aGlzLl9ncm91cHMuZmluZCgodD0+dC5pZD09PWUpKXx8bnVsbH1ncm91cEZvckxpbmVUb29sKGUpe3JldHVybiB0aGlzLl9ncm91cHMuZmluZCgodD0+dC5jb250YWluc0l0ZW0oZSkpKXx8bnVsbH1yZW1vdmVMaW5lVG9vbHMoZSl7Y29uc3QgdD1uZXcgU2V0O3JldHVybiB0aGlzLl9ncm91cHMuZm9yRWFjaCgoaT0+e2NvbnN0IHM9ZS5maWx0ZXIoKGU9PmkuY29udGFpbnNJdGVtKGUpKSk7cy5sZW5ndGgmJihpLmV4Y2x1ZGVJdGVtcyhzKSx0LmFkZChpLmlkKSl9KSksdGhpcy5fcmVtb3ZlRW1wdHlHcm91cHNDYXNjYWRlKCksQXJyYXkuZnJvbSh0KX1zdGF0ZShlKXtyZXR1cm57Z3JvdXBzOihlP3RoaXMuX2dyb3Vwcy5maWx0ZXIoKGU9PmUuaXNBY3R1YWxTeW1ib2woKSkpOnRoaXMuX2dyb3VwcykubWFwKChlPT5lLnN0YXRlKCkpKX19b25DaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX29uQ2hhbmdlZH1maXJlQ2hhbmdlZEFsbCgpe3RoaXMuX2dyb3Vwcy5mb3JFYWNoKChlPT57dGhpcy5fb25DaGFuZ2VkLmZpcmUoZS5pZCl9KSl9c3RhdGljIGZyb21TdGF0ZShlLHQpe2NvbnN0IGk9W10KO2Zvcihjb25zdCBzIG9mIHQuZ3JvdXBzKXtjb25zdCB0PWlvLmZyb21TdGF0ZShlLHMpO251bGwhPT10JiZpLnB1c2godCl9cmV0dXJuIG5ldyBzaChpKX1fcGFyZW50R3JvdXBGb3JJdGVtKGUpe3JldHVybigwLFhyLmlzTGluZVRvb2xzR3JvdXApKGUpP2UucGFyZW50R3JvdXAoKTp0aGlzLmdyb3VwRm9yTGluZVRvb2woZSl9X3JlbW92ZUVtcHR5R3JvdXBzQ2FzY2FkZSgpe2xldCBlPSEwO2Zvcig7ZTspe2NvbnN0IHQ9dGhpcy5fZ3JvdXBzLmZpbHRlcigoZT0+MD09PWUubGluZVRvb2xzKCkubGVuZ3RoJiYwPT09ZS5zdWJncm91cHMoKS5sZW5ndGgpKTtlPXQubGVuZ3RoPjAsdC5mb3JFYWNoKChlPT50aGlzLnJlbW92ZUdyb3VwKGUpKSl9fV9nZW5lcmF0ZU5leHROYW1lKCl7Y29uc3QgZT1uZXcgU2V0KHRoaXMuX2dyb3Vwcy5maWx0ZXIoKGU9PmUuaXNBY3R1YWxTeW1ib2woKSkpLm1hcCgoZT0+ZS5uYW1lKCkudmFsdWUoKSkpKTtmb3IobGV0IHQ9MTs7dCsrKXtjb25zdCBpPWBHcm91cCAke3R9YCxzPWBHcm91cF8ke3R9YDtpZighZS5oYXMoaSkmJiFlLmhhcyhzKSlyZXR1cm4gaX19fXZhciBuaD1pKDY0MjcxOSkscmg9aSg3NzE3OTUpO2Z1bmN0aW9uIG9oKGUpe3JldHVybiBCb29sZWFuKGUuc2Vzc2lvbi50aW1lem9uZSkmJkJvb2xlYW4oZS5zZXNzaW9uLnNwZWMpfWNsYXNzIGFoe2NvbnN0cnVjdG9yKGUsdCl7dmFyIGksczt0aGlzLl9zb3VyY2VUYXJnZXRCYXJCdWlsZGVyPW51bGwsdGhpcy5fY2FjaGU9bmV3IE1hcCx0aGlzLl9zb3VyY2U9ZSx0aGlzLl90YXJnZXQ9dCx0aGlzLl9zb3VyY2VTZXNzaW9uPW5oLlNlc3Npb25JbmZvLmZyb21TdGF0ZShlLnNlc3Npb24pLHRoaXMuX3RhcmdldFNlc3Npb249bmguU2Vzc2lvbkluZm8uZnJvbVN0YXRlKHQuc2Vzc2lvbiksdGhpcy5faXNSZXNvbHV0aW9uVGhlU2FtZT14LkludGVydmFsLmlzRXF1YWwoZS5yZXNvbHV0aW9uLHQucmVzb2x1dGlvbil8fHguSW50ZXJ2YWwuaXNUaWNrcyhlLnJlc29sdXRpb24pJiZ4LkludGVydmFsLmlzVGlja3ModC5yZXNvbHV0aW9uKSx0aGlzLl9pc1Nlc3Npb25UaGVTYW1lPShpPWUuc2Vzc2lvbixzPXQuc2Vzc2lvbixpLnRpbWV6b25lPT09cy50aW1lem9uZSYmaS5zcGVjPT09cy5zcGVjJiZpLmhvbGlkYXlzPT09cy5ob2xpZGF5cyYmaS5jb3JyZWN0aW9ucz09PXMuY29ycmVjdGlvbnMpfXNvdXJjZVRpbWVUb1RhcmdldFRpbWUoZSl7aWYodGhpcy5faXNTZXNzaW9uVGhlU2FtZSYmdGhpcy5faXNSZXNvbHV0aW9uVGhlU2FtZSlyZXR1cm4gZTtpZighb2godGhpcy5fc291cmNlKXx8IW9oKHRoaXMuX3RhcmdldCkpcmV0dXJuIGU7bGV0IHQ9dGhpcy5fY2FjaGUuZ2V0KGUpO2lmKHZvaWQgMD09PXQpe2NvbnN0IGk9MWUzKmUscz10aGlzLl9zb3VyY2VUYXJnZXRCdWlsZGVyKCk7cy5tb3ZlVG8oaSk7Y29uc3Qgbj1zLmluZGV4T2ZCYXIoaSk7dD1zLnN0YXJ0T2ZCYXIoTWF0aC5tYXgoMCxuKSkvMWUzLHRoaXMuX2NhY2hlLnNldChlLHQpfXJldHVybiB0fV9zb3VyY2VUYXJnZXRCdWlsZGVyKCl7cmV0dXJuIG51bGw9PT10aGlzLl9zb3VyY2VUYXJnZXRCYXJCdWlsZGVyJiYodGhpcy5fc291cmNlVGFyZ2V0QmFyQnVpbGRlcj0oMCxyaC5uZXdCYXJCdWlsZGVyKSh0aGlzLl90YXJnZXQucmVzb2x1dGlvbix0aGlzLl90YXJnZXRTZXNzaW9uLHRoaXMuX3NvdXJjZVNlc3Npb24pKSx0aGlzLl9zb3VyY2VUYXJnZXRCYXJCdWlsZGVyfX12YXIgbGg9aSg0Njk4NzYpO2NvbnN0IGNoPSIjMDAwMDAwIjthc3luYyBmdW5jdGlvbiBoaChlKXsoYXdhaXQoMCxVcy5nZXRDaGFydEFsZXJ0c0ZhY2FkZSkoKSkuaW52b2tlQWxlcnRFZGl0b3IoZSl9Y2xhc3MgZGh7Y29uc3RydWN0b3IoZSl7dGhpcy5fYWxlcnRMYWJlbHNCeVNvdXJjZT1uZXcgTWFwLHRoaXMuX2FsZXJ0c0J5QWxlcnRTZXJpZXNJZD1uZXcgTWFwLHRoaXMuX2FsZXJ0U2VyaWVzSWRCeUFsZXJ0PW5ldyBNYXAsdGhpcy5fYWxlcnRMYWJlbHNCeUFsZXJ0PW5ldyBNYXAsdGhpcy5fYWxlcnRMYWJlbHNPd25lclNvdXJjZXNCeUFsZXJ0PW5ldyBNYXAsdGhpcy5fY2hhcnRNb2RlbD1lfWRlc3Ryb3koKXt0aGlzLnJlbW92ZUFsbEFsZXJ0TGFiZWxzKCl9cmVtb3ZlQWxsQWxlcnRMYWJlbHMoKXtjb25zdCBlPXRoaXMuX2FsZXJ0TGFiZWxzQnlTb3VyY2U7dGhpcy5fYWxlcnRMYWJlbHNCeVNvdXJjZT1uZXcgTWFwLHRoaXMuX2FsZXJ0c0J5QWxlcnRTZXJpZXNJZC5jbGVhcigpLHRoaXMuX2FsZXJ0U2VyaWVzSWRCeUFsZXJ0LmNsZWFyKCksdGhpcy5fYWxlcnRMYWJlbHNCeUFsZXJ0LmNsZWFyKCksdGhpcy5fYWxlcnRMYWJlbHNPd25lclNvdXJjZXNCeUFsZXJ0LmNsZWFyKCksZS5mb3JFYWNoKChlPT57ZS5mb3JFYWNoKChlPT50aGlzLl9jaGFydE1vZGVsLnJlbW92ZVNvdXJjZShlKSkpfSkpfXJlbW92ZVNvdXJjZUFsZXJ0TGFiZWxzKGUpe2Zvcihjb25zdCB0IG9mIHRoaXMuX2dldEFsZXJ0TGFiZWxzQnlTb3VyY2UoZSkpdGhpcy5fcmVtb3ZlQWxlcnRMYWJlbCh0KTtpZigoMCxmbC5pc1NlcmllcykoZSkpe2NvbnN0IHQ9ZS5hY3RpdmVTdHVkeUJpbmRpbmcoKTt0JiZ0aGlzLnJlbW92ZVNvdXJjZUFsZXJ0TGFiZWxzKHQpfX1zeW5jU291cmNlQWxlcnRMYWJlbHMoZSl7aWYoISgwLEhzLmlzUHJpY2VEYXRhU291cmNlKShlKXx8IWUuaGFzU3RhdGVGb3JBbGVydCgpKXJldHVybjtmb3IoY29uc3QgdCBvZiB0aGlzLl9nZXRBbGVydExhYmVsc0J5U291cmNlKGUpKXQuYWxlcnRPd25lclNvdXJjZSgpLmlkRm9yQWxlcnQoKT09PXQuYWxlcnRTZXJpZXNJZCgpfHx0LmFsZXJ0KCkuaXNPSExDKCl8fHRoaXMuX3JlbW92ZUFsZXJ0TGFiZWwodCk7Y29uc3QgdD10aGlzLl9hbGVydHNCeUFsZXJ0U2VyaWVzSWQuZ2V0KGUuaWRGb3JBbGVydCgpKSxpPXRoaXMuX2dldEFsZXJ0TGFiZWxzQnlTb3VyY2UoZSk7dm9pZCAwIT09dCYmdC5mb3JFYWNoKChlPT57aS5zb21lKCh0PT50LmFsZXJ0KCk9PT1lKSl8fHRoaXMuX3VwZGF0ZUFsZXJ0TGFiZWxzQnlBbGVydChlLCgwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fYWxlcnRTZXJpZXNJZEJ5QWxlcnQuZ2V0KGUpKSl9KSkKO2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JTb3VyY2UoZSkpO2Zvcihjb25zdCB0IG9mIHRoaXMuX2dldEFsZXJ0TGFiZWxzQnlTb3VyY2UoZSkpe2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKHQpO2khPT1zPyhudWxsIT09aSYmaS5yZW1vdmVEYXRhU291cmNlKHQpLHMuYWRkRGF0YVNvdXJjZSh0LCgwLGwuZW5zdXJlTm90TnVsbCkoZS5wcmljZVNjYWxlKCkpLCExKSk6ZS5wcmljZVNjYWxlKCkhPT10LnByaWNlU2NhbGUoKSYmcy5tb3ZlKHQsKDAsbC5lbnN1cmVOb3ROdWxsKShlLnByaWNlU2NhbGUoKSkpfWlmKCgwLGZsLmlzU2VyaWVzKShlKSl7Y29uc3QgdD1lLmFjdGl2ZVN0dWR5QmluZGluZygpO3QmJnRoaXMuc3luY1NvdXJjZUFsZXJ0TGFiZWxzKHQpfX1kZXRhY2hTb3VyY2VBbGVydExhYmVscyhlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9nZXRBbGVydExhYmVsc0J5U291cmNlKGUpKXRoaXMuX2NoYXJ0TW9kZWwuZGV0YWNoU291cmNlKHQpO2lmKCgwLGZsLmlzU2VyaWVzKShlKSl7Y29uc3QgdD1lLmFjdGl2ZVN0dWR5QmluZGluZygpO3QmJnRoaXMuZGV0YWNoU291cmNlQWxlcnRMYWJlbHModCl9fWFkZEFsZXJ0KGUsdCl7KDAsbC5hc3NlcnQpKCF0aGlzLl9hbGVydFNlcmllc0lkQnlBbGVydC5oYXMoZSksIkFsZXJ0IGlzIGFscmVhZHkgYWRkZWQgb24gdGhlIGNoYXJ0IiksdGhpcy5fYWxlcnRTZXJpZXNJZEJ5QWxlcnQuc2V0KGUsdCk7bGV0IGk9dGhpcy5fYWxlcnRzQnlBbGVydFNlcmllc0lkLmdldCh0KTt2b2lkIDA9PT1pJiYoaT1uZXcgU2V0LHRoaXMuX2FsZXJ0c0J5QWxlcnRTZXJpZXNJZC5zZXQodCxpKSksaS5hZGQoZSksdGhpcy5fdXBkYXRlQWxlcnRMYWJlbHNCeUFsZXJ0KGUsdCl9aXNBbGVydExhYmVsQmVpbmdNb3ZlZChlLHQpe2NvbnN0IGk9dGhpcy5fYWxlcnRMYWJlbHNCeUFsZXJ0LmdldChlKTtpZih2b2lkIDA9PT1pKXJldHVybiExO2NvbnN0IHM9bmV3IFNldCh0KTtmb3IoY29uc3QgZSBvZiBpKWlmKHMuaGFzKGUpKXJldHVybiEwO3JldHVybiExfXJlbW92ZUFsZXJ0KGUpe2NvbnN0IHQ9dGhpcy5fYWxlcnRMYWJlbHNPd25lclNvdXJjZXNCeUFsZXJ0LmdldChlKTt2b2lkIDAhPT10JiZ0LmZvckVhY2goKHQ9Pntjb25zdCBpPXRoaXMuX2FsZXJ0TGFiZWxzQnlTb3VyY2UuZ2V0KHQpO3ZvaWQgMCE9PWkmJmkuZm9yRWFjaCgodD0+e3QuYWxlcnQoKT09PWUmJnRoaXMuX3JlbW92ZUFsZXJ0TGFiZWwodCl9KSl9KSk7Y29uc3QgaT10aGlzLl9hbGVydFNlcmllc0lkQnlBbGVydC5nZXQoZSk7aWYoIWkpcmV0dXJuO3RoaXMuX2FsZXJ0U2VyaWVzSWRCeUFsZXJ0LmRlbGV0ZShlKTtjb25zdCBzPXRoaXMuX2FsZXJ0c0J5QWxlcnRTZXJpZXNJZC5nZXQoaSk7dm9pZCAwIT09cyYmcy5kZWxldGUoZSl9X3JlbW92ZUFsZXJ0TGFiZWwoZSl7Y29uc3QgdD1lLmFsZXJ0T3duZXJTb3VyY2UoKSxpPXRoaXMuX2FsZXJ0TGFiZWxzQnlTb3VyY2UuZ2V0KHQpO3ZvaWQgMCE9PWkmJihpLmRlbGV0ZShlKSwwPT09aS5zaXplJiZ0aGlzLl9hbGVydExhYmVsc0J5U291cmNlLmRlbGV0ZSh0KSk7Y29uc3Qgcz1lLmFsZXJ0KCksbj10aGlzLl9hbGVydExhYmVsc0J5QWxlcnQuZ2V0KHMpO3ZvaWQgMCE9PW4mJihuLmRlbGV0ZShlKSwwPT09bi5zaXplJiZ0aGlzLl9hbGVydExhYmVsc0J5QWxlcnQuZGVsZXRlKHMpKTtjb25zdCByPXRoaXMuX2FsZXJ0TGFiZWxzT3duZXJTb3VyY2VzQnlBbGVydC5nZXQocyk7dm9pZCAwIT09ciYmKHIuZGVsZXRlKHQpLDA9PT1yLnNpemUmJnRoaXMuX2FsZXJ0TGFiZWxzT3duZXJTb3VyY2VzQnlBbGVydC5kZWxldGUocykpLHRoaXMuX2NoYXJ0TW9kZWwucmVtb3ZlU291cmNlKGUpfV9maW5kUGFuZXMoZSl7Y29uc3QgdD1bXTtmb3IoY29uc3QgaSBvZiB0aGlzLl9jaGFydE1vZGVsLnBhbmVzKCkpe2NvbnN0IHM9aS5wcmljZURhdGFTb3VyY2VzKCksbj1uZXcgU2V0O2Zvcihjb25zdCB0IG9mIHMpaWYodC5oYXNTdGF0ZUZvckFsZXJ0KCkmJnQuaWRGb3JBbGVydCgpPT09ZSYmbi5hZGQodCksKDAsZmwuaXNTZXJpZXMpKHQpKXtjb25zdCBpPXQuYWN0aXZlU3R1ZHlCaW5kaW5nKCk7aSYmaS5oYXNTdGF0ZUZvckFsZXJ0KCkmJmkuaWRGb3JBbGVydCgpPT09ZSYmbi5hZGQoaSl9bi5zaXplPjAmJnQucHVzaCh7cGFuZTppLHNvdXJjZXM6bn0pfXJldHVybiB0fV9hZGRMYWJlbFRvUGFuZShlLHQsaSxzKXtjb25zdCBuPW5ldyBxaS5BbGVydExhYmVsKHRoaXMuX2NoYXJ0TW9kZWwsZSxzLGhoKTtpLmFkZERhdGFTb3VyY2UobixzLnByaWNlU2NhbGUoKSwhMSk7bGV0IHI9dGhpcy5fYWxlcnRMYWJlbHNCeVNvdXJjZS5nZXQocyk7dm9pZCAwPT09ciYmKHI9bmV3IFNldCx0aGlzLl9hbGVydExhYmVsc0J5U291cmNlLnNldChzLHIpKSxyLmFkZChuKTtsZXQgbz10aGlzLl9hbGVydExhYmVsc093bmVyU291cmNlc0J5QWxlcnQuZ2V0KGUpO3ZvaWQgMD09PW8mJihvPW5ldyBTZXQsdGhpcy5fYWxlcnRMYWJlbHNPd25lclNvdXJjZXNCeUFsZXJ0LnNldChlLG8pKSxvLmFkZChzKTtsZXQgYT10aGlzLl9hbGVydExhYmVsc0J5QWxlcnQuZ2V0KGUpO3ZvaWQgMD09PWEmJihhPW5ldyBTZXQsdGhpcy5fYWxlcnRMYWJlbHNCeUFsZXJ0LnNldChlLGEpKSxhLmFkZChuKX1fdXBkYXRlQWxlcnRMYWJlbHNCeUFsZXJ0KGUsdCl7Y29uc3QgaT10aGlzLl9maW5kUGFuZXModCk7aWYoaS5sZW5ndGgpZm9yKGNvbnN0IHMgb2YgaSlzLnNvdXJjZXMuZm9yRWFjaCgoaT0+dGhpcy5fYWRkTGFiZWxUb1BhbmUoZSx0LHMucGFuZSxpKSkpO2Vsc2UgaWYoZS5pc09ITEMoKSl7Y29uc3QgaT10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKTt0aGlzLl9hZGRMYWJlbFRvUGFuZShlLHQsKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JTb3VyY2UoaSkpLGkpfXRoaXMuX2NoYXJ0TW9kZWwubGlnaHRVcGRhdGUoKX1fZ2V0QWxlcnRMYWJlbHNCeVNvdXJjZShlKXtjb25zdCB0PXRoaXMuX2FsZXJ0TGFiZWxzQnlTb3VyY2UuZ2V0KGUpCjtyZXR1cm4gdm9pZCAwPT09dD9bXTpBcnJheS5mcm9tKHQpfX12YXIgdWg9aSg0ODc4MjApLHBoPWkoNjU2NjQpLF9oPWkoNjM1Njk5KSxtaD1pKDM3NjY0NSksZ2g9aSg1OTYyNzIpLGZoPWkoOTY5NCksU2g9aSgxMzE2ODApO2NsYXNzIHZoIGV4dGVuZHMgZmguUHJpY2VMaW5lQXhpc1ZpZXd7Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpLHRoaXMuX21vZGVsPWUsdGhpcy5fc291cmNlPXR9X3ZhbHVlKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCksdD1lLnByaWNlU2NhbGUoKSxpPWUuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1pKXJldHVybntub0RhdGE6ITB9O2NvbnN0IHM9dGhpcy5fc291cmNlLnByaWNlKCksbj10aGlzLl9zb3VyY2UuY3VycmVudFNlc3Npb24oKSxyPSgwLFNoLmNvbG9yUHJvcGVydHlCeU1hcmtldFN0YXR1cykodGhpcy5fc291cmNlLnByb3BlcnRpZXMoKSxuKTtpZihudWxsPT1zfHwhcilyZXR1cm57bm9EYXRhOiEwfTtyZXR1cm57bm9EYXRhOiExLGNvb3JkaW5hdGU6dC5wcmljZVRvQ29vcmRpbmF0ZShzLGkpLGNvbG9yOiIiLGZvcm1hdHRlZFByaWNlUGVyY2VudGFnZToiIixmb3JtYXR0ZWRQcmljZUFic29sdXRlOiIiLGZvcm1hdHRlZFByaWNlSW5kZXhlZFRvMTAwOiIiLHRleHQ6IiIsaW5kZXg6MH19X3ByaWNlTGluZUNvbG9yKGUpe2NvbnN0IHQ9dGhpcy5fc291cmNlLmN1cnJlbnRTZXNzaW9uKCk7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSgoMCxTaC5jb2xvclByb3BlcnR5QnlNYXJrZXRTdGF0dXMpKHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCksdCkpLnZhbHVlKCl9X2xpbmVXaWR0aCgpe3JldHVybiB0aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpLmxpbmVXaWR0aC52YWx1ZSgpfV9saW5lU3R5bGUoKXtyZXR1cm4gdGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5saW5lU3R5bGUudmFsdWUoKX1faXNWaXNpYmxlKCl7aWYoIXRoaXMuX3NvdXJjZS5jYW5CZVZpc2libGVPblN5bWJvbEFuZEludGVydmFsKCl8fCF0aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWwudmFsdWUoKSlyZXR1cm4hMTtjb25zdCBlPXRoaXMuX3NvdXJjZS5wcmljZSgpLHQ9dGhpcy5fc291cmNlLmN1cnJlbnRTZXNzaW9uKCk7cmV0dXJuIG51bGwhPT1lJiYoInByZV9tYXJrZXQiPT09dHx8InBvc3RfbWFya2V0Ij09PXQpfX12YXIgeWg9aSg3MTY3OCk7Y29uc3QgYmg9e3ByZV9tYXJrZXQ6cC50KG51bGwse2NvbnRleHQ6Im1hcmtldF9zdGF0dXMifSxpKDk2NjQxMikpLHBvc3RfbWFya2V0OnAudChudWxsLHtjb250ZXh0OiJtYXJrZXRfc3RhdHVzIn0saSg2MTkyMzMpKSxuaWdodDpwLnQobnVsbCx7Y29udGV4dDoibWFya2V0X3N0YXR1cyJ9LGkoODIwMjE5KSl9O2NsYXNzIHdoIGV4dGVuZHMgeWguUHJpY2VBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCksdGhpcy5fbW9kZWw9ZSx0aGlzLl9zb3VyY2U9dH1fdXBkYXRlUmVuZGVyZXJEYXRhKGUsdCxpKXtpZihlLnZpc2libGU9ITEsdC52aXNpYmxlPSExLCF0aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWwudmFsdWUoKSlyZXR1cm47Y29uc3Qgcz10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCksbj1zLnByaWNlU2NhbGUoKSxyPXMuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1yKXJldHVybjtpZighdGhpcy5fc291cmNlLmNhbkJlVmlzaWJsZU9uU3ltYm9sQW5kSW50ZXJ2YWwoKSlyZXR1cm47Y29uc3Qgbz10aGlzLl9zb3VyY2UucHJpY2UoKSxhPXRoaXMuX3NvdXJjZS5jdXJyZW50U2Vzc2lvbigpLGM9KDAsU2guY29sb3JQcm9wZXJ0eUJ5TWFya2V0U3RhdHVzKSh0aGlzLl9zb3VyY2UucHJvcGVydGllcygpLGEpO2lmKG51bGw9PW98fCFjKXJldHVybjtjb25zdCBoPSgwLCRpLnJlc2V0VHJhbnNwYXJlbmN5KShjLnZhbHVlKCkpO2UudmlzaWJsZT0hMCx0LnZpc2libGU9ITAsZS50ZXh0PW4uZm9ybWF0UHJpY2VBYnNvbHV0ZShvKSx0LnRleHQ9KDAsbC5lbnN1cmVEZWZpbmVkKShiaFthXSksaS5jb29yZGluYXRlPW4ucHJpY2VUb0Nvb3JkaW5hdGUobyxyKSxpLmJhY2tncm91bmQ9aCxpLnRleHRDb2xvcj10aGlzLmdlbmVyYXRlVGV4dENvbG9yKGgpLGUuc2VsZWN0ZWRNYXJrQ29sb3I9dGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zb3VyY2UpP2g6dm9pZCAwfX12YXIgQ2g9aSg3NDM0Nyk7Y2xhc3MgUGggZXh0ZW5kcyBDaC5Ib3Jpem9udGFsTGluZVBhbmVWaWV3e2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcigpLHRoaXMuX21vZGVsPWUsdGhpcy5fc291cmNlPXQ7Y29uc3Qgcz17ZG91YmxlQ2xpY2tIYW5kbGVyOmksZG91YmxlVGFwSGFuZGxlcjppfTt0aGlzLl9saW5lUmVuZGVyZXIuc2V0SGl0VGVzdChuZXcgTWkuSGl0VGVzdFJlc3VsdChNaS5IaXRUYXJnZXQuUmVndWxhcixzKSl9X3VwZGF0ZUltcGwoKXtjb25zdCBlPXRoaXMuX2xpbmVSZW5kZXJlckRhdGE7ZS52aXNpYmxlPSExO2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLGk9dGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5jaGlsZHMoKTtpZighaS52aXNpYmxlLnZhbHVlKCl8fCF0LmlzVmlzaWJsZSgpKXJldHVybjtjb25zdCBzPXQucHJpY2VTY2FsZSgpLG49dC5maXJzdFZhbHVlKCk7aWYobnVsbD09PW4pcmV0dXJuO2lmKCF0aGlzLl9zb3VyY2UuY2FuQmVWaXNpYmxlT25TeW1ib2xBbmRJbnRlcnZhbCgpKXJldHVybjtjb25zdCByPXRoaXMuX3NvdXJjZS5wcmljZSgpLG89dGhpcy5fc291cmNlLmN1cnJlbnRTZXNzaW9uKCksYT0oMCxTaC5jb2xvclByb3BlcnR5QnlNYXJrZXRTdGF0dXMpKHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCksbyk7bnVsbCE9ciYmYSYmKGUudmlzaWJsZT0hMCxlLnk9cy5wcmljZVRvQ29vcmRpbmF0ZShyLG4pLGUubGluZXN0eWxlPWkubGluZVN0eWxlLnZhbHVlKCksZS5saW5ld2lkdGg9aS5saW5lV2lkdGgudmFsdWUoKSwKZS5jb2xvcj1hLnZhbHVlKCkpfX1jbGFzcyBUaCBleHRlbmRzIGdoLkN1c3RvbVNvdXJjZUJhc2V7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGUsdCksdGhpcy5fZXh0cmFIb3Vyc1ByaWNlPW51bGwsdGhpcy5fY3VycmVudFNlc3Npb249ImhvbGlkYXkiLHRoaXMuX3F1b3Rlc1Byb3ZpZGVyPXQubWFpblNlcmllcygpLnF1b3Rlc1Byb3ZpZGVyKCksdGhpcy5fcHJlUG9zdE1hcmtldExpbmVQYW5lVmlldz1uZXcgUGgodCx0aGlzLGkpLHRoaXMuX3ByZVBvc3RQcmljZUF4aXNWaWV3PW5ldyB3aCh0LHRoaXMpLHRoaXMuX3ByZVBvc3RMYWJlbFBhbmVWaWV3PW5ldyBtaC5QYW5lUHJpY2VBeGlzVmlldyh0aGlzLl9wcmVQb3N0UHJpY2VBeGlzVmlldyx0Lm1haW5TZXJpZXMoKSx0KSx0aGlzLl9wcmVQb3N0UHJpY2VMaW5lQXhpc1ZpZXc9bmV3IHZoKHQsdGhpcyksdGhpcy5fcXVvdGVzUHJvdmlkZXIucXVvdGVzVXBkYXRlKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlUXVvdGVzKSx0aGlzLl91cGRhdGVRdW90ZXMoKX1kZXN0cm95KCl7dGhpcy5fcXVvdGVzUHJvdmlkZXIucXVvdGVzVXBkYXRlKCkudW5zdWJzY3JpYmVBbGwodGhpcyl9cGFuZVZpZXdzKGUpe3JldHVybiB0aGlzLl9hcmVWaWV3c0F2YWlsYWJsZUZvclBhbmUoZSk/W3RoaXMuX3ByZVBvc3RNYXJrZXRMaW5lUGFuZVZpZXddOltdfWxhYmVsUGFuZVZpZXdzKGUpe3JldHVybiB0aGlzLl9hcmVWaWV3c0F2YWlsYWJsZUZvclBhbmUoZSk/W3RoaXMuX3ByZVBvc3RMYWJlbFBhbmVWaWV3XTpbXX1wcmljZUF4aXNWaWV3cyhlLHQpe3JldHVybiB0aGlzLl9hcmVWaWV3c0F2YWlsYWJsZUZvclBhbmUoZSk/ZS5maW5kVGFyZ2V0UHJpY2VBeGlzVmlld3ModGhpcyx0LFt0aGlzLl9wcmVQb3N0UHJpY2VBeGlzVmlld10sW3RoaXMuX3ByZVBvc3RQcmljZUxpbmVBeGlzVmlld10pOltdfXByaWNlU2NhbGUoKXtyZXR1cm4gdGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKX11cGRhdGVBbGxWaWV3cyhlKXt0aGlzLl9wcmVQb3N0TWFya2V0TGluZVBhbmVWaWV3LnVwZGF0ZShlKSx0aGlzLl9wcmVQb3N0UHJpY2VBeGlzVmlldy51cGRhdGUoZSksdGhpcy5fcHJlUG9zdFByaWNlTGluZUF4aXNWaWV3LnVwZGF0ZShlKSx0aGlzLl9wcmVQb3N0TGFiZWxQYW5lVmlldy51cGRhdGUoZSl9cHJpY2UoKXtyZXR1cm4gdGhpcy5fZXh0cmFIb3Vyc1ByaWNlfWN1cnJlbnRTZXNzaW9uKCl7cmV0dXJuIHRoaXMuX2N1cnJlbnRTZXNzaW9ufWNhbkJlVmlzaWJsZU9uU3ltYm9sQW5kSW50ZXJ2YWwoKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCksdD10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaXNEV00oKTtpZighZSlyZXR1cm4hMTtjb25zdCBpPWUuc3Vic2Vzc2lvbl9pZDtpZighaSlyZXR1cm4hMTtzd2l0Y2godGhpcy5fY3VycmVudFNlc3Npb24pe2Nhc2UibmlnaHQiOnJldHVybiB0fHwhKDAsQS5pc1N0b2NrMjRoU2Vzc2lvbklkKShpKTtjYXNlInByZV9tYXJrZXQiOmNhc2UicG9zdF9tYXJrZXQiOnJldHVybiB0fHwoMCxBLmlzUmVndWxhclNlc3Npb25JZCkoaSxlKTtkZWZhdWx0OnJldHVybiExfX1wcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJlUG9zdE1hcmtldH1fdXBkYXRlUXVvdGVzKCl7Y29uc3QgZT10aGlzLl9xdW90ZXNQcm92aWRlci5xdW90ZXMoKS52YWx1ZSgpO251bGw9PT1lP3RoaXMuX2V4dHJhSG91cnNQcmljZT1udWxsOih2b2lkIDAhPT1lLmN1cnJlbnRfc2Vzc2lvbiYmKHRoaXMuX2N1cnJlbnRTZXNzaW9uPWUuY3VycmVudF9zZXNzaW9uKSx0aGlzLl9leHRyYUhvdXJzUHJpY2U9Im5pZ2h0Ij09PXRoaXMuX2N1cnJlbnRTZXNzaW9uP2UubnRjOmUucnRjKTtjb25zdCB0PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJlUG9zdE1hcmtldC5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCksaT10aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWwudmFsdWUoKTt0aGlzLmNhbkJlVmlzaWJsZU9uU3ltYm9sQW5kSW50ZXJ2YWwoKSYmKHR8fGkpJiYodGhpcy51cGRhdGVBbGxWaWV3cygoMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpKX1fYXJlVmlld3NBdmFpbGFibGVGb3JQYW5lKGUpe3JldHVybiF0aGlzLl9tb2RlbC5pc0luUmVwbGF5KCkudmFsdWUoKSYmIXRoaXMuX21vZGVsLmlzU25hcHNob3QoKSYmdGhpcy5fbW9kZWwucGFuZUZvclNvdXJjZSh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkpPT09ZX19dmFyIHhoPWkoOTczOTcpLE1oPWkoMjgxOTU2KTtmdW5jdGlvbiBJaChlLHQpe3JldHVybiBlLmNvZGU8dC5jb2RlPy0xOmUuY29kZT50LmNvZGU/MTowfWNsYXNzIExoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2lkc1RvSXRlbXM9bmV3IE1hcCx0aGlzLl9jb2Rlc1RvSXRlbXM9bmV3IE1hcCx0aGlzLl9jb252ZXJ0aWJsZUl0ZW1zPWU7Zm9yKGNvbnN0IHQgb2YgZSl0aGlzLl9pZHNUb0l0ZW1zLnNldCh0LmlkLHQpLHRoaXMuX2NvZGVzVG9JdGVtcy5zZXQodC5jb2RlLHQpfWNvbnZlcnRpYmxlKGUpe3JldHVybiB2b2lkIDAhPT10aGlzLl9pZHNUb0l0ZW1zLmdldChlKX1jdXJyZW5jeUNvZGVCeUlkKGUpe3JldHVybiB0aGlzLl9pZHNUb0l0ZW1zLmdldChlKT8uY29kZT8/bnVsbH1jdXJyZW5jeUlkQnlDb2RlKGUpe3JldHVybiB0aGlzLl9jb2Rlc1RvSXRlbXMuZ2V0KGUpPy5pZD8/bnVsbH1pdGVtKGUpe3JldHVybiB0aGlzLl9pZHNUb0l0ZW1zLmdldChlKT8/bnVsbH1zaXplKCl7cmV0dXJuIHRoaXMuX2NvbnZlcnRpYmxlSXRlbXMubGVuZ3RofWZpbHRlckNvbnZlcnRpYmxlKGUsdCl7Y29uc3QgaT10aGlzLl9jb252ZXJ0aWJsZUl0ZW1zLmZpbHRlcihmdW5jdGlvbihlLHQpe3JldHVybiBpPT4hZS5oYXMoaS5pZCkmJnQoaS5pZCl9KGUsdCkpO3JldHVybiBpLnNvcnQoSWgpLGl9CmdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX2NvbnZlcnRpYmxlSXRlbXMubWFwKChlPT5lLmlkKSl9fWNsYXNzIEFoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2FsbEdyb3Vwcz1uZXcgU2V0LHRoaXMuX2lkVG9OYW1lPW5ldyBNYXAsdGhpcy5faWRUb0Rlc2NyaXB0aW9uPW5ldyBNYXAsdGhpcy5fZ3JvdXBlZFVuaXRJZHM9bmV3IE1hcCx0aGlzLl9ncm91cGVkVW5pdHM9bmV3IE1hcCx0aGlzLl9ncm91cEJ5SWQ9bmV3IE1hcCx0aGlzLl9zaXplPTAsdGhpcy5fdW5pdHM9ZTtmb3IoY29uc3QgdCBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkodCkpe3RoaXMuX2FsbEdyb3Vwcy5hZGQodCksdGhpcy5fZ3JvdXBlZFVuaXRJZHMuc2V0KHQsbmV3IFNldChlW3RdLm1hcCgoZT0+ZS5pZCkpKSksdGhpcy5fZ3JvdXBlZFVuaXRzLnNldCh0LGVbdF0pO2Zvcihjb25zdCBpIG9mIGVbdF0pdGhpcy5fc2l6ZSsrLHRoaXMuX2lkVG9OYW1lLnNldChpLmlkLGkubmFtZSksdGhpcy5faWRUb0Rlc2NyaXB0aW9uLnNldChpLmlkLGkuZGVzY3JpcHRpb24pLHRoaXMuX2dyb3VwQnlJZC5zZXQoaS5pZCx0KX19dW5pdHNDaGFuZ2VkKGUpe3JldHVybiB0aGlzLl91bml0cyE9PWV9c2l6ZSgpe3JldHVybiB0aGlzLl9zaXplfW5hbWUoZSl7cmV0dXJuIHRoaXMuX2lkVG9OYW1lLmdldChlKXx8ZX1kZXNjcmlwdGlvbihlKXtyZXR1cm4gdGhpcy5faWRUb0Rlc2NyaXB0aW9uLmdldChlKXx8ZX11bml0R3JvdXBCeUlkKGUpe3JldHVybiB0aGlzLl9ncm91cEJ5SWQuZ2V0KGUpfHxudWxsfWFsbEdyb3Vwcygpe3JldHVybiBuZXcgU2V0KHRoaXMuX2FsbEdyb3Vwcyl9dW5pdHNCeUdyb3VwcyhlKXtjb25zdCB0PVtdO3JldHVybiBlLmZvckVhY2goKGU9Pntjb25zdCBpPXRoaXMuX2dyb3VwZWRVbml0cy5nZXQoZSk7dm9pZCAwIT09aSYmdC5wdXNoKHtuYW1lOmUsdW5pdHM6aX0pfSkpLHR9Y29udmVydGlibGUoZSx0KXtmb3IoY29uc3QgaSBvZiB0KXtjb25zdCB0PXRoaXMuX2dyb3VwZWRVbml0SWRzLmdldChpKTtpZih2b2lkIDAhPT10JiZ0LmhhcyhlKSlyZXR1cm4hMH1yZXR1cm4hMX19Y2xhc3Mga2h7Y29uc3RydWN0b3IoZSl7dGhpcy5fc291cmNlPW51bGwsdGhpcy5fc291cmNlUGFuZT1udWxsLHRoaXMuX2N1cnJlbnRUb29sU3VwcG9ydHNQaGFudG9tTW9kZT0hMSx0aGlzLl9tb2RlbD1lfWRlc3Ryb3koKXt0aGlzLl9zb3VyY2U9bnVsbCx0aGlzLl9zb3VyY2VQYW5lPW51bGx9c291cmNlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZX1vblRvb2xDaGFuZ2VkKCl7dGhpcy5fcmVtb3ZlU291cmNlKCksdGhpcy5fY3VycmVudFRvb2xTdXBwb3J0c1BoYW50b21Nb2RlPSgwLG0uaXNMaW5lVG9vbE5hbWUpKFQudG9vbC52YWx1ZSgpKSYmKDAscmkuc3VwcG9ydHNQaGFudG9tTW9kZSkoVC50b29sLnZhbHVlKCkpfW9uQ3Vyc29yUG9zaXRpb25VcGRhdGVkKCl7aWYoIXRoaXMuX2N1cnJlbnRUb29sU3VwcG9ydHNQaGFudG9tTW9kZSlyZXR1cm47Y29uc3QgZT10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKTtpZih0aGlzLl9zb3VyY2VQYW5lIT09ZS5wYW5lJiZ0aGlzLl9yZW1vdmVTb3VyY2UoKSxudWxsPT09ZS5wYW5lfHwhKDAsYS5pc051bWJlcikoZS5pbmRleCl8fCEoMCxhLmlzTnVtYmVyKShlLnByaWNlKSlyZXR1cm4gdm9pZCB0aGlzLl9yZW1vdmVTb3VyY2UoKTtjb25zdCB0PXtpbmRleDplLmluZGV4LHByaWNlOmUucHJpY2V9O251bGwhPT10aGlzLl9zb3VyY2U/dGhpcy5fc291cmNlLnNldFBvaW50KDAsdCk6KHRoaXMuX3NvdXJjZT10aGlzLl9tb2RlbC5jcmVhdGVMaW5lVG9vbCh7cGFuZTplLnBhbmUscG9pbnQ6dCxsaW5ldG9vbDpULnRvb2wudmFsdWUoKX0pLHRoaXMuX3NvdXJjZVBhbmU9ZS5wYW5lKX1fcmVtb3ZlU291cmNlKCl7bnVsbCE9PXRoaXMuX3NvdXJjZSYmKHRoaXMuX21vZGVsLnJlbW92ZVNvdXJjZSh0aGlzLl9zb3VyY2UpLHRoaXMuX3NvdXJjZT1udWxsLHRoaXMuX3NvdXJjZVBhbmU9bnVsbCl9fWNsYXNzIERoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2NvbnZlcnRpYmxlSXRlbXM9ZSx0aGlzLl9pZHNUb0l0ZW1zPW5ldyBNYXA7Zm9yKGNvbnN0IHQgb2YgZSl0aGlzLl9pZHNUb0l0ZW1zLnNldCh0LmlkLHQpO3RoaXMuX2lkc1RvTmFtZXM9bmV3IE1hcChBcnJheS5mcm9tKHRoaXMuX2lkc1RvSXRlbXMuZW50cmllcygpKS5tYXAoKChbZSx0XSk9PltlLHQubmFtZV0pKSl9Y29udmVydGlibGUoZSl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX2lkc1RvSXRlbXMuZ2V0KGUpfWl0ZW0oZSl7cmV0dXJuIHRoaXMuX2lkc1RvSXRlbXMuZ2V0KGUpPz9udWxsfXNpemUoKXtyZXR1cm4gdGhpcy5fY29udmVydGlibGVJdGVtcy5sZW5ndGh9bmFtZShlKXtyZXR1cm4gdGhpcy5faWRzVG9OYW1lcy5nZXQoZSk/P2V9aXNSZWFkeSgpe3JldHVybiB0aGlzLl9jb252ZXJ0aWJsZUl0ZW1zLmxlbmd0aD4wfWdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX2NvbnZlcnRpYmxlSXRlbXMubWFwKChlPT5lLmlkKSl9fWZ1bmN0aW9uIEVoKGUsdCxpKXtsZXQgcz1udWxsO2lmKGkubWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKSYmKDAsSW8uaXNTeW1ib2xTb3VyY2UpKGUpKXtjb25zdCBlPWkuYXZhaWxhYmxlTWV0cmljcygpLG49dC5tZXRyaWMoZSk7bnVsbCE9PW4mJihzPW4uc2VsZWN0ZWRNZXRyaWNJZCl9cmV0dXJuIHN9dmFyIFJoPWkoNDkyMzgxKSxWaD1pKDE2ODI1OCk7Y29uc3QgQmg9KGUsdCk9PiEwLE5oPShlLHQpPT4hdC5pc1Bsb3RGb3JjZU92ZXJsYXkoZS5pZCksT2g9KGUsdCk9PnQuaXNQbG90Rm9yY2VPdmVybGF5KGUuaWQpO2Z1bmN0aW9uIFdoKGUsdCl7Y29uc3QgaT1lLnByaWNlU2NhbGUoKSxzPWUuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1pfHxudWxsPT09cylyZXR1cm47Y29uc3Qgbj1lLmJhcnMoKS52YWx1ZUF0KHQpO2lmKG51bGw9PT1uKXJldHVybjtsZXQgcjtpZihudWxsIT09ZS5wcmljZVNvdXJjZSgpKXI9W2UuYmFyRnVuY3Rpb24oKShuKV07ZWxzZSBzd2l0Y2goZS5zdHlsZSgpKXtjYXNlIDEyOnI9WygwLGwuZW5zdXJlKShuWzJdKSwoMCxsLmVuc3VyZSkoblszXSldO2JyZWFrO2Nhc2UgMTY6Y2FzZSAyMToKcj1bKDAsbC5lbnN1cmUpKG5bMl0pLCgwLGwuZW5zdXJlKShuWzRdKSwoMCxsLmVuc3VyZSkoblszXSldO2JyZWFrO2RlZmF1bHQ6cj1bKDAsbC5lbnN1cmUpKG5bMV0pLCgwLGwuZW5zdXJlKShuWzJdKSwoMCxsLmVuc3VyZSkoblszXSksKDAsbC5lbnN1cmUpKG5bNF0pXX1yZXR1cm4gci5tYXAoKGU9Pih7eTppLnByaWNlVG9Db29yZGluYXRlKGUscykscHJpY2U6ZX0pKSl9dmFyIEZoOyFmdW5jdGlvbihlKXtlW2UuTWFnbmV0VG9sZXJhbmNlPTUwXT0iTWFnbmV0VG9sZXJhbmNlIn0oRmh8fChGaD17fSkpO2NsYXNzIEhoe2NvbnN0cnVjdG9yKCl7dGhpcy5fbGFzdFZhbHVlPW51bGx9YWxpZ24oZSx0LGkpe3RoaXMuX2xhc3RWYWx1ZT1udWxsO2xldCBzPWU7aWYoISgwLFpzLm1hZ25ldEVuYWJsZWQpKCkudmFsdWUoKSlyZXR1cm4gcztjb25zdCBuPWkubWFpbkRhdGFTb3VyY2UoKTtpZihudWxsPT09bilyZXR1cm4gcztjb25zdCByPW4ucHJpY2VTY2FsZSgpO2lmKCFyfHxyLmlzRW1wdHkoKSlyZXR1cm4gcztjb25zdCBvPW4ubW9kZWwoKS5tYWluU2VyaWVzKCksYT0oMCxacy5tYWduZXRTbmFwc1RvSW5kaWNhdG9ycykoKS52YWx1ZSgpO2lmKCFhJiZuIT09bylyZXR1cm4gcztjb25zdCBjPSgwLGwuZW5zdXJlKShuLmZpcnN0VmFsdWUoKSksaD1yLnByaWNlVG9Db29yZGluYXRlKGUsYyksZD1pLmNvbnRhaW5zTWFpblNlcmllcygpP2Z1bmN0aW9uKGUsdCl7cmV0dXJuIFdoKGUsdCl9KG8sdCk/P1tdOltdO2lmKGEpe2kubW9kZWwoKS5hbGxTdHVkaWVzKCEwKS5maWx0ZXIoKGU9PmUuaXNWaXNpYmxlKCkpKS5mb3JFYWNoKChlPT57Y29uc3Qgcz1mdW5jdGlvbihlLHQsaSl7Y29uc3Qgcz1lLm1vZGVsKCksbj1zLnBhbmVGb3JTb3VyY2UoZSkscj1zLm1haW5QYW5lKCksbz1zLm1haW5TZXJpZXMoKTtpZigoMCx0aS5pc092ZXJsYXlTdHVkeSkoZSkpcmV0dXJuIGk9PT1uP1doKGUsdCk6dm9pZCAwO2NvbnN0IGE9ZS5tZXRhSW5mbygpO2lmKCFhKXJldHVybjtjb25zdCBsPWUuZGF0YSgpLnZhbHVlQXQodCk7aWYobnVsbD09PWwpcmV0dXJuO2NvbnN0IGM9YS5oYXNGb3JjZU92ZXJsYXlQbG90cygpO2lmKCEoaT09PW58fGMmJmk9PT1yKSlyZXR1cm47Y29uc3QgaD1lLnByaWNlU2NhbGUoKSxkPW8ucHJpY2VTY2FsZSgpLHU9ZS5maXJzdFZhbHVlKCkscD1vLmZpcnN0VmFsdWUoKTtpZighaHx8IWR8fG51bGw9PT11fHxudWxsPT09cClyZXR1cm47bGV0IF8sbSxnO249PT1yPyhfPUJoLG09ZCxnPXApOmk9PT1uPyhfPU5oLG09aCxnPXUpOihfPU9oLG09ZCxnPXApO2NvbnN0IGY9YS5wbG90cyxTPWYuZmlsdGVyKCh0PT4hKDAsVmguaXNQbG90V2l0aFRlY2huaWNhbFZhbHVlcykodCkmJmUuaXNQbG90VmlzaWJsZUF0KHQuaWQsVmguU3R1ZHlQbG90RGlzcGxheVRhcmdldC5QYW5lKSYmXyh0LGEpKSksdj1bXTtmb3IoY29uc3QgZSBvZiBTKXtjb25zdCB0PWxbZi5pbmRleE9mKGUpKzFdO2lmKG51bGwhPXQpe2NvbnN0IGk9YS5pc1Bsb3RGb3JjZU92ZXJsYXkoZS5pZCkscz0oaT9kOmgpLnByaWNlVG9Db29yZGluYXRlKHQsaT9wOnUpO3YucHVzaCh7eTpzLHByaWNlOm0uY29vcmRpbmF0ZVRvUHJpY2UocyxnKX0pfX1yZXR1cm4gdn0oZSx0LGkpO3MmJmQucHVzaCguLi5zKX0pKX1pZigwPT09ZC5sZW5ndGgpcmV0dXJuIHM7ZC5zb3J0KCgoZSx0KT0+TWF0aC5hYnMoZS55LWgpLU1hdGguYWJzKHQueS1oKSkpO2NvbnN0IHU9ZFswXTtyZXR1cm4oKDAsWnMubWFnbmV0TW9kZSkoKS52YWx1ZSgpPT09UmguTWFnbmV0TW9kZS5TdHJvbmdNYWduZXR8fE1hdGguYWJzKHUueS1oKTw1MCkmJihzPXUucHJpY2UsdGhpcy5fbGFzdFZhbHVlPXMpLHN9bGFzdFZhbHVlKCl7cmV0dXJuIHRoaXMuX2xhc3RWYWx1ZX1yZXNldExhc3RWYWx1ZSgpe3RoaXMuX2xhc3RWYWx1ZT1udWxsfX1jbGFzcyB6aHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9hcHBsaWVkVGltZUZyYW1lPW5ldyBkLldhdGNoZWRPYmplY3QobnVsbCksdGhpcy5fYXBwbGllZFRpbWVGcmFtZUluZm89bnVsbCx0aGlzLl9hcHBsaWVkVGltZUZyYW1lQ2hhbmdlZEJvdW5kPXRoaXMuX2FwcGxpZWRUaW1lRnJhbWVDaGFuZ2VkLmJpbmQodGhpcyksdGhpcy5fbW9kZWw9ZSxlLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc2VyaWVzVGltZUZyYW1lKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZXJpZXNUaW1lRnJhbWUpLHRoaXMuX2FwcGxpZWRUaW1lRnJhbWUuc3Vic2NyaWJlKHRoaXMuX2FwcGxpZWRUaW1lRnJhbWVDaGFuZ2VkQm91bmQpfWRlc3Ryb3koKXt0aGlzLl9hcHBsaWVkVGltZUZyYW1lLnVuc3Vic2NyaWJlKHRoaXMuX2FwcGxpZWRUaW1lRnJhbWVDaGFuZ2VkQm91bmQpLHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZUNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnNlcmllc1RpbWVGcmFtZSgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpfWFwcGxpZWRUaW1lRnJhbWUoKXtyZXR1cm4gdGhpcy5fYXBwbGllZFRpbWVGcmFtZX1fYXBwbGllZFRpbWVGcmFtZUNoYW5nZWQoKXt0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5sb2dpY2FsUmFuZ2VDaGFuZ2VkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9pbnZhbGlkYXRlQXBwbGllZFRpbWVGcmFtZSl9X29uU2VyaWVzVGltZUZyYW1lKGUsdCxpLHMpe2lmKHMpe2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCk7dGhpcy5fYXBwbGllZFRpbWVGcmFtZUluZm89e2xvZ2ljYWxSYW5nZTplLmxvZ2ljYWxSYW5nZSgpLGJhc2VJbmRleDplLmJhc2VJbmRleCgpfSxlLmxvZ2ljYWxSYW5nZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9pbnZhbGlkYXRlQXBwbGllZFRpbWVGcmFtZSl9fV9pbnZhbGlkYXRlQXBwbGllZFRpbWVGcmFtZSgpe2lmKG51bGw9PT10aGlzLl9hcHBsaWVkVGltZUZyYW1lSW5mbylyZXR1cm4KO2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCksdD1lLmxvZ2ljYWxSYW5nZSgpLGk9ZS5iYXNlSW5kZXgoKSxzPXRoaXMuX2FwcGxpZWRUaW1lRnJhbWVJbmZvLmxvZ2ljYWxSYW5nZSxuPXRoaXMuX2FwcGxpZWRUaW1lRnJhbWVJbmZvLmJhc2VJbmRleDsobnVsbD09PXR8fG51bGw9PT1zfHxNYXRoLmFicyhpLXQubGVmdCgpLShuLXMubGVmdCgpKSk+PS4wMXx8TWF0aC5hYnMoaS10LnJpZ2h0KCktKG4tcy5yaWdodCgpKSk+PS4wMSkmJnRoaXMuX2FwcGxpZWRUaW1lRnJhbWUuc2V0VmFsdWUobnVsbCl9fXZhciBVaD1pKDcwNjg4NCksR2g9aSg5MzQzMDUpO2NsYXNzIGpoIGV4dGVuZHMgR2guQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2RhdGE9bnVsbH1zZXREYXRhKGUpe3RoaXMuX2RhdGE9ZX1oaXRUZXN0KGUpe3JldHVybiBudWxsfV9kcmF3SW1wbChlKXtpZihudWxsPT09dGhpcy5fZGF0YSlyZXR1cm47Y29uc3R7Y29udGV4dDp0LHZlcnRpY2FsUGl4ZWxSYXRpbzppLGhvcml6b250YWxQaXhlbFJhdGlvOnMsYml0bWFwU2l6ZTpufT1lLHI9TWF0aC5tYXgoMSxNYXRoLmZsb29yKHMpKTt0LmxpbmVXaWR0aD1yO2NvbnN0IG89TWF0aC5jZWlsKG4uaGVpZ2h0KmkpLGE9TWF0aC5jZWlsKG4ud2lkdGgqcyk7aWYodC5saW5lQ2FwPSJidXR0Iix0aGlzLl9kYXRhLnZlcnRMaW5lc1Zpc2libGUpe3Quc3Ryb2tlU3R5bGU9dGhpcy5fZGF0YS52ZXJ0TGluZXNDb2xvciwoMCxEaS5zZXRMaW5lU3R5bGUpKHQsdGhpcy5fZGF0YS52ZXJ0TGluZVN0eWxlKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9kYXRhLnRpbWVNYXJrcyl7Y29uc3QgaT1NYXRoLnJvdW5kKGUuY29vcmQqcyk7KDAsRGkuZHJhd1ZlcnRpY2FsTGluZSkodCxpLDAsbyl9fWlmKHRoaXMuX2RhdGEuaG9yekxpbmVzVmlzaWJsZSl7dC5zdHJva2VTdHlsZT10aGlzLl9kYXRhLmhvcnpMaW5lc0NvbG9yLCgwLERpLnNldExpbmVTdHlsZSkodCx0aGlzLl9kYXRhLmhvcnpMaW5lU3R5bGUpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGEucHJpY2VNYXJrcyl7Y29uc3Qgcz1NYXRoLnJvdW5kKGUuY29vcmQqaSk7KDAsRGkuZHJhd0hvcml6b250YWxMaW5lKSh0LHMsMCxhKX19fX1jbGFzcyBxaHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9yZW5kZXJlcj1uZXcgamgsdGhpcy5fcGFuZT1lfXVwZGF0ZSgpe31yZW5kZXJlcigpe2NvbnN0IGU9dGhpcy5fcGFuZS5kZWZhdWx0UHJpY2VTY2FsZSgpLHQ9dGhpcy5fcGFuZS5tb2RlbCgpLnRpbWVTY2FsZSgpO2lmKGUuaXNFbXB0eSgpfHx0LmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtjb25zdCBpPXRoaXMuX3BhbmUubW9kZWwoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkscz10Lm1hcmtzKCksbj1pLmhvcnpHcmlkUHJvcGVydGllcy5jaGlsZHMoKSxyPWkudmVydEdyaWRQcm9wZXJ0aWVzLmNoaWxkcygpLG89e2hvcnpMaW5lc1Zpc2libGU6bi52aXNpYmxlLnZhbHVlKCksdmVydExpbmVzVmlzaWJsZTpyLnZpc2libGUudmFsdWUoKSxob3J6TGluZXNDb2xvcjpuLmNvbG9yLnZhbHVlKCksdmVydExpbmVzQ29sb3I6ci5jb2xvci52YWx1ZSgpLGhvcnpMaW5lU3R5bGU6bi5zdHlsZS52YWx1ZSgpLHZlcnRMaW5lU3R5bGU6ci5zdHlsZS52YWx1ZSgpLHByaWNlTWFya3M6ZS5tYXJrcygpLHRpbWVNYXJrczpudWxsIT09cz9zOltdfTtyZXR1cm4gdGhpcy5fcmVuZGVyZXIuc2V0RGF0YShvKSx0aGlzLl9yZW5kZXJlcn19Y2xhc3MgJGggZXh0ZW5kcyB1ci5EYXRhU291cmNle2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fbW9kZWw9ZX1pZCgpe3JldHVybiJncmlkIn1wYW5lVmlld3MoZSl7cmV0dXJuIGUubW9kZSgpPT09TS5QYW5lTW9kZS5SZWd1bGFyP1tuZXcgcWgoZSldOm51bGx9bmFtZSgpe3JldHVybiJHcmlkIn1tb2RlbCgpe3JldHVybiB0aGlzLl9tb2RlbH1jb250ZXh0TWVudVN0YXROYW1lKCl7cmV0dXJuIkdyaWRDb250ZXh0TWVudSJ9fXZhciBZaD1pKDQ0MTgwNyksS2g9aSgyNjA2OSk7ZnVuY3Rpb24gWGgoZSl7Y29uc3QgdD1lO3QudmVydEdyaWRQcm9wZXJ0aWVzPXQudmVydEdyaWRQcm9wZXJ0aWVzPz8oMCxZaC5kZWZhdWx0KSh0LmdyaWRQcm9wZXJ0aWVzKSx0LmhvcnpHcmlkUHJvcGVydGllcz10LmhvcnpHcmlkUHJvcGVydGllcz8/KDAsWWguZGVmYXVsdCkodC5ncmlkUHJvcGVydGllcyk7Y29uc3QgaT10LnZlcnRHcmlkUHJvcGVydGllcyxzPXQuaG9yekdyaWRQcm9wZXJ0aWVzO3ZvaWQgMD09PWk/LnN0eWxlJiZ2b2lkIDA9PT1zPy5zdHlsZSYmKGkmJihpLnN0eWxlPUtoLkxJTkVTVFlMRV9TT0xJRCkscyYmKHMuc3R5bGU9S2guTElORVNUWUxFX1NPTElEKSk7Y29uc3Qgbj10LmdyaWRMaW5lc01vZGU7dm9pZCAwIT09biYmKGkmJihpLnZpc2libGU9ImJvdGgiPT09bnx8InZlcnQiPT09bikscyYmKHMudmlzaWJsZT0iYm90aCI9PT1ufHwiaG9yeiI9PT1uKSxkZWxldGUgdC5ncmlkTGluZXNNb2RlKX12YXIgWmg9aSgxMjE0NzkpO2NsYXNzIEpoIGV4dGVuZHMgeWguUHJpY2VBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcigpLHRoaXMuX3NvdXJjZT1lLHRoaXMuX3BhbmU9dCx0aGlzLl9wcmljZVNjYWxlPWksdGhpcy5fcHJpY2VQcm92aWRlcj1zLHRoaXMuX3Byb3BlcnRpZXM9ZS5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzfXNldEhpdFRlc3REYXRhKGUpe3RoaXMuX2hpdFRlc3REYXRhPWV9c2V0WENvb3JkKGUpe3RoaXMuX3hDb29yZD1lfWlnbm9yZUFsaWdubWVudCgpe3JldHVybiEwfWFkZGl0aW9uYWxQYWRkaW5nKGUpe3JldHVybiAwfV91cGRhdGVSZW5kZXJlckRhdGEoZSx0LGkpe2lmKGUudmlzaWJsZT0hMSx0LnZpc2libGU9ITEsdGhpcy5fcGFuZS5tb2RlbCgpLmNoYXJ0RmxvYXRpbmdUb29sdGlwVmlzaWJsZSgpKXJldHVybjtjb25zdCBzPXRoaXMuX3ByaWNlU2NhbGUsbj1zLm1haW5Tb3VyY2UoKSxyPW51bGwhPT1uP24uZmlyc3RWYWx1ZSgpOm51bGwKO2lmKCF0aGlzLl9pc1Zpc2libGUoKXx8cy5pc0VtcHR5KCl8fG51bGw9PT1yKXJldHVybjtjb25zdCBvPXRoaXMuX2N1cnJlbnRQcmljZShzKTtpZihudWxsPT09bylyZXR1cm47aS5iYWNrZ3JvdW5kPSgwLCRpLnJlc2V0VHJhbnNwYXJlbmN5KSh0aGlzLl9iZ0NvbG9yKCkpLGkudGV4dENvbG9yPXRoaXMuZ2VuZXJhdGVUZXh0Q29sb3IoaS5iYWNrZ3JvdW5kKTtjb25zdCBhPXRoaXMuYWRkaXRpb25hbFBhZGRpbmcocy5mb250U2l6ZSgpKTtpLmFkZGl0aW9uYWxQYWRkaW5nVG9wPWEsaS5hZGRpdGlvbmFsUGFkZGluZ0JvdHRvbT1hLGkuY29vcmRpbmF0ZT1zLnByaWNlVG9Db29yZGluYXRlKG8sciksZS50ZXh0PXMuZm9ybWF0UHJpY2UobyxyKSxlLnZpc2libGU9ITAsdC52aXNpYmxlPSEwLHQuaGl0VGVzdERhdGE9dGhpcy5faGl0VGVzdERhdGEsdC54Q29vcmQ9dGhpcy5feENvb3JkfV9jdXJyZW50UHJpY2UoZSl7cmV0dXJuIHRoaXMuX3ByaWNlUHJvdmlkZXIoZSl9fWNsYXNzIFFoIGV4dGVuZHMgSmh7YWRkaXRpb25hbFBhZGRpbmcoZSl7cmV0dXJuIDIvMTIqZX1faXNWaXNpYmxlKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UubG9ja2VkUGFuZSgpO3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dQcmljZVNjYWxlQ3Jvc3NoYWlyTGFiZWwudmFsdWUoKSYmKHRoaXMuX3NvdXJjZS52aXNpYmxlfHxudWxsIT09ZSkmJihlPz90aGlzLl9zb3VyY2UucGFuZSk9PT10aGlzLl9wYW5lfV9jdXJyZW50UHJpY2UoZSl7Y29uc3QgdD1ULmNyb3NzaGFpckxvY2sudmFsdWUoKTtyZXR1cm4gbnVsbCE9PXQmJjE9PT10LnR5cGU/dGhpcy5fcGFuZT09PXRoaXMuX3NvdXJjZS5sb2NrZWRQYW5lKCk/dC5wcmljZTpudWxsOnN1cGVyLl9jdXJyZW50UHJpY2UoZSl9X2JnQ29sb3IoKXtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7cmV0dXJuIHRoaXMuX3NvdXJjZS5tb2RlbCgpLmRhcmsoKS52YWx1ZSgpP2UuY3Jvc3NoYWlyTGFiZWxCZ0NvbG9yRGFyay52YWx1ZSgpOmUuY3Jvc3NoYWlyTGFiZWxCZ0NvbG9yTGlnaHQudmFsdWUoKX1fdXBkYXRlUmVuZGVyZXJEYXRhKGUsdCxpKXtjb25zdCBzPXQudmlzaWJsZTtzdXBlci5fdXBkYXRlUmVuZGVyZXJEYXRhKGUsdCxpKSx0aGlzLl9zb3VyY2UuaXNIb3ZlcmVkKCk/dC5iYWNrZ3JvdW5nPXRoaXMuX3NvdXJjZS5tb2RlbCgpLmRhcmsoKS52YWx1ZSgpP1hvLmNvbG9yc1BhbGV0dGVbImNvbG9yLWNvbGQtZ3JheS02MDAiXTpYby5jb2xvcnNQYWxldHRlWyJjb2xvci1jb2xkLWdyYXktNjUwIl06dC5iYWNrZ3JvdW5nPXZvaWQgMCxzfHwodC52aXNpYmxlPXMpfX1jbGFzcyBlZCBleHRlbmRzIEpoe19pc1Zpc2libGUoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX3NvdXJjZS5tZWFzdXJlUGFuZSgpLnZhbHVlKCl9X2JnQ29sb3IoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5heGlzTGluZVRvb2xMYWJlbEJhY2tncm91bmRDb2xvckNvbW1vbi52YWx1ZSgpfX12YXIgdGQ9aSg0MjM5MDApLGlkPWkoODYyOTUxKSxzZD1pKDU4NjE2NSksbmQ9aSg1NTg0NTUpLHJkPWkoODIyNzk1KSxvZD1pKDcyMTA0MiksYWQ9aSg2MjE5MjYpO2Z1bmN0aW9uIGxkKGUsdCl7Y29uc3R7ZGF0YVNvdXJjZTpzLHk6bixkaXNhYmxlZDpyLGFuYWx5dGljc09wdDp7bWV0aG9kOm8sc291cmNlOmEsYWN0aW9uU291cmNlOmwsZ2FPcmlnaW46Y319PXQsaD1zLnByaWNlU2NhbGUoKSxkPXMuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1ofHxoLmlzUGVyY2VudGFnZSgpfHxoLmlzSW5kZXhlZFRvMTAwKCl8fG51bGw9PT1kKXJldHVybiBudWxsO2NvbnN0IHU9aC5jb29yZGluYXRlVG9QcmljZShuLGQpO2lmKG51bGw9PT11KXJldHVybiBudWxsO2NvbnN0IF89cy5mb3JtYXR0ZXIoKS5mb3JtYXQodSksbT0oMCxJby5pc1N5bWJvbFNvdXJjZSkocyk/cy5zeW1ib2xUaXRsZShjby5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSwhMCwhMCk6cy50aXRsZShjby5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSwhMCx7fSwhMCksZz17bGFiZWw6KDAsc2QuaGFzVXN1YWxBbGVydFBsb3RzKShzKT9wLnQobnVsbCx7cmVwbGFjZTp7dGl0bGU6bSxwcmljZTpffX0saSg3MTU4MzgpKTpwLnQobnVsbCx7cmVwbGFjZTp7dGl0bGU6bX19LGkoOTcxODgpKSxzdGF0TmFtZToiQWRkQWxlcnRPblNvdXJjZSIsaWNvbklkOiJBbGVydC5BZGQiLHNob3J0Y3V0SGludDooMCxLLmh1bWFuUmVhZGFibGVIYXNoKShLLk1vZGlmaWVycy5BbHQrNjUpLGRpc2FibGVkOnJ9O3JldHVybiByfHwoZy5vbkV4ZWN1dGU9YXN5bmMoKT0+e2NvbnN0IHQ9ZS5tYWluU2VyaWVzKCk7KDAsb2QudHJhY2tBbGVydENyZWF0aW9uQXR0ZW1wdCkodC5zeW1ib2woKSxvLGEpOygwLGFkLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKCgoKT0+KGFzeW5jKCk9Pntjb25zdCB0PXtkYXRhU291cmNlSHViOmUubW9kZWwoKSxzaWxlbnQ6ITAsYWN0aW9uU291cmNlOmwsbWV0aG9kOm8sc291cmNlOmF9OygwLHJpLmlzTGluZVRvb2wpKHMpP3QuZHJhd2luZz1zOih0LnNlcmllcz1zLHQudmFsdWU9KDAsbmQucm91bmRBbGVydFZhbHVlVXNpbmdQcmVjaXNpb24pKHMsdSkpLCgwLHJkLmludm9rZUFsZXJ0RWRpdG9yKSh0KX0pKCkpLHtmZWF0dXJlOiJhbGVydCIsc291cmNlOmN9KX0pLG5ldyBhcy5BY3Rpb25XaXRoU3RhbmRhcmRJY29uKHthY3Rpb25JZDoiQWxlcnQuQWRkIixvcHRpb25zOmd9KX12YXIgY2QsaGQ9aSg5MzcwOTgpLGRkPWkoNTQzNTcwKTtjbGFzcyB1ZCBleHRlbmRzIG1oLlBhbmVQcmljZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUsdCxpLHMsbil7c3VwZXIoZSx0LHMpLHRoaXMuX2Nyb3NzSGFpck1lbnVDYWNoZWRTdGF0ZT1udWxsLHRoaXMuX2hhc0FjdGlvbnM9ITEsdGhpcy5fZ2FPcmlnaW49IkNIIG1lbnUiLHRoaXMuX2Nyb3NzaGFpclByaWNlQXhpc1ZpZXc9ZSxlLnNldFBhbmVSZW5kZXJlckxhYmVsSWNvbigwKSx0aGlzLl9jcm9zc2hhaXI9dCx0aGlzLl9zY2FsZT1pLHRoaXMuX29wdGlvbnM9bix0aGlzLl91cGRhdGVHYU9yaWdpbigpLAp0aGlzLl9icm9rZXJTZXJ2aWNlU3Bhd249dGhpcy5fb3B0aW9ucy5leHRlcm5hbFNlcnZpY2VzPy50cmFkaW5nQnJva2VyU2VydmljZS5zcGF3bigpLHRoaXMuX2Jyb2tlclNlcnZpY2VTcGF3bj8uc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2Nyb3NzSGFpck1lbnVDYWNoZWRTdGF0ZT1udWxsfSkse29uY2U6ITB9KX1kZXN0cm95KCl7dGhpcy5fYnJva2VyU2VydmljZVNwYXduPy5kZXN0cm95KCl9X3VwZGF0ZUltcGwoZSl7Y29uc3QgdD10aGlzLl9jcm9zc2hhaXIueSxpPXRoaXMuX2NoYXJ0TW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuZm9udFNpemUudmFsdWUoKSxuPXRoaXMuX2NoYXJ0TW9kZWwudGltZVNjYWxlKCkud2lkdGgoKSxyPXRoaXMuX2Nyb3NzaGFpci5tb2RlbCgpLnByaWNlQXhpc1JlbmRlcmVyT3B0aW9ucygpLG89aSsyKnRoaXMuX2Nyb3NzaGFpclByaWNlQXhpc1ZpZXcuYWRkaXRpb25hbFBhZGRpbmcoaSkrci5wYWRkaW5nVG9wK3IucGFkZGluZ0JvdHRvbSxhPW8sbD10LW8vMixjPXRoaXMuX2Nyb3NzaGFpci5wYW5lLGg9dGhpcy5fbWFpbkRhdGFTb3VyY2VPblBhbmUoKSxkPWgmJmguc3ltYm9sU291cmNlKCksdT0hIWQmJihkLmlzQ29udmVydGVkVG9PdGhlckN1cnJlbmN5KCl8fGQuaXNDb252ZXJ0ZWRUb090aGVyVW5pdCgpKTtpZih0aGlzLl91cGRhdGVHYU9yaWdpbigpLG51bGwhPT1oKXtjb25zdCBlPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5wcmljZVNjYWxlKCk7cmV0dXJuIHQ/Lm1vZGUoKT8/bnVsbH0oaCksdD1oLmlkRm9yQWxlcnQoKSxpPXRoaXMuX2NoYXJ0TW9kZWwuaXNJblJlcGxheSgpLnZhbHVlKCksbj10aGlzLl9jcm9zc0hhaXJNZW51Q2FjaGVkU3RhdGUscj0oMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydF9jcm9zc2hhaXJfbWVudSIpO251bGwhPT1uJiZuLmlkPT09dCYmKDAscy5kZWZhdWx0KShuLnByaWNlU2NhbGUsZSkmJm4uaXNDdXJyZW5jeU9yVW5pdENvbnZlcnRlZD09PXUmJm4uaXNJblJlcGxheT09PWkmJm4uaXNNZW51RW5hYmxlZD09PXJ8fCh0aGlzLl91cGRhdGVUb29sdGlwQW5kQWN0aW9uc0F2YWlsYWJpbGl0eShoLGUsdSksdGhpcy5fY3Jvc3NIYWlyTWVudUNhY2hlZFN0YXRlPXtpZDp0LHByaWNlU2NhbGU6ZSxpc0N1cnJlbmN5T3JVbml0Q29udmVydGVkOnUsaXNJblJlcGxheTppLGlzTWVudUVuYWJsZWQ6cn0pfW51bGwhPT1oJiYoMCxJby5pc1N5bWJvbFNvdXJjZSkoaCkmJmguc3ltYm9sKCk7Y29uc3QgcD1udWxsIT09YyYmKGMubWF4aW1pemVkKCkudmFsdWUoKXx8IWMuY29sbGFwc2VkKCkudmFsdWUoKSkmJnRoaXMuX2hhc0FjdGlvbnM7dGhpcy5fY3Jvc3NoYWlyUHJpY2VBeGlzVmlldy5zZXRQYW5lTGFiZWxWaXNpYmxlKHApO2NvbnN0IF89dGhpcy5fcG9zaXRpb24oKTtpZihudWxsIT09Xyl7Y29uc3QgZT0wLHQ9bi1hLGk9Qm9vbGVhbihkZC5zaG93UGx1c0J1dHRvbk9uQ3Vyc29yLnZhbHVlKCkpLHM9aT90aGlzLl9jcm9zc2hhaXIueDp2b2lkIDAscj12b2lkIDAhPT1zP3MtYS8yOiJsZWZ0Ij09PV8/ZTp0LGM9dm9pZCAwIT09cz9zK2EvMjoibGVmdCI9PT1fP2UrYTp0K2EsaD0oMCxQdC5ib3gpKG5ldyBQdC5Qb2ludChyLGwpLG5ldyBQdC5Qb2ludChjLGwrbykpO3RoaXMuX2RhdGE9e2l0ZW1Cb3g6aCxjbGlja0hhbmRsZXI6dGhpcy5faGFuZGxlQ2xpY2suYmluZCh0aGlzLF8saSxoKX0sdGhpcy5fY3Jvc3NoYWlyUHJpY2VBeGlzVmlldy5zZXRIaXRUZXN0RGF0YSh0aGlzLl9kYXRhKSx0aGlzLl9jcm9zc2hhaXJQcmljZUF4aXNWaWV3LnNldFhDb29yZChzKX1zdXBlci5fdXBkYXRlSW1wbChlKX1fcHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLl9zY2FsZX1fdXBkYXRlR2FPcmlnaW4oKXt0aGlzLl9nYU9yaWdpbj1Cb29sZWFuKGRkLnNob3dQbHVzQnV0dG9uT25DdXJzb3IudmFsdWUoKSk/IkNIIG1lbnUgY3Vyc29yIjoiQ0ggbWVudSJ9X3VwZGF0ZVRvb2x0aXBBbmRBY3Rpb25zQXZhaWxhYmlsaXR5KGUsdCxpKXt0aGlzLl9oYXNBY3Rpb25zPSExO2NvbnN0IHM9dGhpcy5fY2hhcnRNb2RlbC5pc0luUmVwbGF5KCkudmFsdWUoKSxuPXMmJiF0aGlzLl9vcHRpb25zLmV4dGVybmFsU2VydmljZXM/LnRyYWRpbmdGZWF0dXJlRmxhZ3NTZXJ2aWNlLnZhbHVlKCk/LmlzTmV3UmVwbGF5U3VwcG9ydGluZ1BsYXRmb3JtKCkscj0haSYmZS5hbGVydENyZWF0aW9uQXZhaWxhYmxlKCkudmFsdWUoKSYmIXMsbz0hdGhpcy5fb3B0aW9ucy5kaXNhYmxlRHJhd0hvcml6TGluZU1lbnVBY3Rpb24sYT0haSYmZT09PXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpJiZudWxsIT10aGlzLl9vcHRpb25zLmV4dGVybmFsU2VydmljZXM/LnRyYWRpbmdCcm9rZXJTZXJ2aWNlLnZhbHVlKCkmJiFuO3RoaXMuX2hhc0FjdGlvbnM9YXx8cnx8b31faGFuZGxlQ2xpY2soZSx0LGkscyxuKXtpZigoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSYmKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyIpKXJldHVybiB2b2lkKDAsJG4uc2hvd0dvVG9UcmFkaW5nVmlld1JlZmVycmFsRGlhbG9nKSh7ZmVhdHVyZToicGx1c01lbnUifSk7KDAsTXQudHJhY2tFdmVudCkodGhpcy5fZ2FPcmlnaW4sImNsaWNrIik7Y29uc3Qgcj10aGlzLl9tYWluRGF0YVNvdXJjZU9uUGFuZSgpLG89bnVsbCE9PXImJigwLElvLmlzU3ltYm9sU291cmNlKShyKT9yLnN5bWJvbCgpOm51bGwsYT17cGFnZVg6bi5wYWdlWCxwYWdlWTpuLnBhZ2VZLGNsaWVudFg6bi5jbGllbnRYLGNsaWVudFk6bi5jbGllbnRZLHNjcmVlblg6bi5zY3JlZW5YLHNjcmVlblk6bi5zY3JlZW5ZLHByaWNlOnRoaXMuX2Nyb3NzaGFpci5wcmljZSxzeW1ib2w6b307JC5lbWl0KCJvblBsdXNDbGljayIsYSksdGhpcy5fZ2V0TWVudUl0ZW1zKGUpLnRoZW4oKHM9PntzLmxlbmd0aD4wJiZ0aGlzLl9zaG93Q29udGV4dE1lbnUocyx0LGksbixlKX0pKX1hc3luYyBfZ2V0TWVudUl0ZW1zKGUpewpjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpLGk9dC5zeW1ib2xJbmZvKCkscz10aGlzLl9vcHRpb25zLmRpc2FibGVUcmFkaW5nTWVudUFjdGlvbnM/bnVsbDp0aGlzLl9vcHRpb25zLmV4dGVybmFsU2VydmljZXM/LnRyYWRpbmdDaGFydENvbnRleHRNZW51U2VydmljZS52YWx1ZSgpPz9udWxsLG49KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jcm9zc2hhaXIucGFuZSkubWFpbkRhdGFTb3VyY2UoKSxyPXRoaXMuX2NoYXJ0TW9kZWwuaXNJblJlcGxheSgpLnZhbHVlKCksbz0hcixhPXImJiF0aGlzLl9vcHRpb25zLmV4dGVybmFsU2VydmljZXM/LnRyYWRpbmdGZWF0dXJlRmxhZ3NTZXJ2aWNlLnZhbHVlKCk/LmlzTmV3UmVwbGF5U3VwcG9ydGluZ1BsYXRmb3JtKCksYz1uPT09dCYmISgwLGhkLmlzTm9uVHJhZGFibGVTeW1ib2xUeXBlKShpPy50eXBlKSYmbnVsbCE9PXMmJiFhLGg9bz90aGlzLl9jcmVhdGVBbGVydE1lbnVJdGVtcyhlKTpQcm9taXNlLnJlc29sdmUoW10pLGQ9Yz90aGlzLl9jcmVhdGVUcmFkaW5nTWVudUl0ZW1zKCk6UHJvbWlzZS5yZXNvbHZlKFtdKSx1PXRoaXMuX2NyZWF0ZUFkZEhvcml6b250YWxMaW5lTWVudUl0ZW0oKTtyZXR1cm4gUHJvbWlzZS5hbGwoW2gsZCx1XSkudGhlbigoKFtlLHQsaV0pPT57dC5sZW5ndGg+MCYmKDAsbC5lbnN1cmVOb3ROdWxsKShzKS50cmFja0V2ZW50KHRoaXMuX2dhT3JpZ2luLCJjbGljayIpO2NvbnN0IG49ZS5sZW5ndGg+MCYmdC5sZW5ndGg+MDtyZXR1cm5bLi4uZSxuP25ldyBlcy5TZXBhcmF0b3I6bnVsbCwuLi50LChlLmxlbmd0aD4wfHx0Lmxlbmd0aD4wKSYmaS5sZW5ndGg+MD9uZXcgZXMuU2VwYXJhdG9yOm51bGwsLi4uaV0uZmlsdGVyKChlPT5udWxsIT09ZSkpfSkpfV9jcmVhdGVBbGVydE1lbnVJdGVtcyhlKXtpZihudWxsPT09dGhpcy5fY3Jvc3NoYWlyLnBhbmUpcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpO2lmKHguSW50ZXJ2YWwuaXNUaWNrcyh0KSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtjb25zdCBpPXRoaXMuX2Nyb3NzaGFpci5wYW5lLm1haW5EYXRhU291cmNlKCk7aWYobnVsbD09PWkpcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3Qgcz1pLnN5bWJvbFNvdXJjZSgpO2lmKCEhcyYmKHMuaXNDb252ZXJ0ZWRUb090aGVyQ3VycmVuY3koKXx8cy5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KCkpKXJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO2NvbnN0IG49dGhpcy5fY3Jvc3NoYWlyLnk7aWYodGhpcy5fb3B0aW9ucy5tZW51Rm9yTWFpblNvdXJjZU9ubHkpe2lmKGkuYWxlcnRDcmVhdGlvbkF2YWlsYWJsZSgpLnZhbHVlKCkmJmkuaXNWaXNpYmxlKCkpe2NvbnN0IGU9bGQodGhpcy5fY2hhcnRNb2RlbC51bmRvTW9kZWwoKSx0aGlzLl9nZXRBZGRBbGVydEFjdGlvbk9wdGlvbnMoaSxuLCExKSk7cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsPT09ZT9bXTpbZV0pfXJldHVybiBQcm9taXNlLnJlc29sdmUoW10pfWNvbnN0IHI9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jcm9zc2hhaXIucGFuZSkuc291cmNlc0J5R3JvdXAoKTtsZXQgbz0oImxlZnQiPT09ZT9yLmxlZnRQcmljZVNjYWxlc1NvdXJjZXMoKTpyLnJpZ2h0UHJpY2VTY2FsZXNTb3VyY2VzKCkpLmZpbHRlcigoZT0+KDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpKSkuZmlsdGVyKChlPT5lLmFsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKS52YWx1ZSgpJiZlLmlzVmlzaWJsZSgpKSk7cmV0dXJuIG8ucmV2ZXJzZSgpLG89KDAsZy5tb3ZlVG9IZWFkKShvLHRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpKSwoMCxpZC5maWx0ZXJBY2Nlc3NpYmxlRGF0YVNvdXJjZXMpKG8pLnRoZW4oKGU9Pntjb25zdCB0PW5ldyBTZXQoZSksaT1bXTtmb3IoY29uc3QgZSBvZiBvKXtjb25zdCBzPWxkKHRoaXMuX2NoYXJ0TW9kZWwudW5kb01vZGVsKCksdGhpcy5fZ2V0QWRkQWxlcnRBY3Rpb25PcHRpb25zKGUsbiwhdC5oYXMoZSkpKTtudWxsIT09cyYmaS5wdXNoKHMpfXJldHVybiBpfSkpfV9nZXRBZGRBbGVydEFjdGlvbk9wdGlvbnMoZSx0LGkpe3JldHVybntkYXRhU291cmNlOmUseTp0LGRpc2FibGVkOmksYW5hbHl0aWNzT3B0OnttZXRob2Q6ImNyb3NzaGFpcl9tZW51Iixzb3VyY2U6ImNoYXJ0IixhY3Rpb25Tb3VyY2U6ImNyb3NzaGFpcl9tZW51IixnYU9yaWdpbjp0aGlzLl9nYU9yaWdpbn19fV9jcmVhdGVUcmFkaW5nTWVudUl0ZW1zKCl7Y29uc3QgZT10aGlzLl9jcm9zc2hhaXIueSx0PXRoaXMuX29wdGlvbnMuZXh0ZXJuYWxTZXJ2aWNlcz8udHJhZGluZ0NoYXJ0Q29udGV4dE1lbnVTZXJ2aWNlLnZhbHVlKCk/P251bGw7aWYobnVsbD09PXR8fG51bGw9PT10aGlzLl9jcm9zc2hhaXIucGFuZSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtjb25zdCBpPXRoaXMuX2Nyb3NzaGFpci5wYW5lLm1haW5EYXRhU291cmNlKCk7aWYobnVsbD09PWkpcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3Qgcz1pLnN5bWJvbFNvdXJjZSgpO3JldHVybiEhcyYmKHMuaXNDb252ZXJ0ZWRUb090aGVyQ3VycmVuY3koKXx8cy5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KCkpP1Byb21pc2UucmVzb2x2ZShbXSk6KDAsdGQuY3JlYXRlVHJhZGVDb250ZXh0KSh7c2VyaWVzOmksaXNNYWluQ2hhcnQ6ITEseTplfSkudGhlbigoZT0+dC5nZXRDaGFydENvbnRleHRNZW51QWN0aW9ucyhlLHtvbmx5TWFpbkFjdGlvbnM6ITAsaGlkZU5vdEV4ZWN1dGFibGVBY3Rpb246ITAsZ2FPcmlnaW46dGhpcy5fZ2FPcmlnaW59KSkpfWFzeW5jIF9jcmVhdGVBZGRIb3Jpem9udGFsTGluZU1lbnVJdGVtKCl7aWYobnVsbD09PXRoaXMuX2Nyb3NzaGFpci5wYW5lKXJldHVybltdO2NvbnN0IGU9dGhpcy5fY3Jvc3NoYWlyLnBhbmUubWFpbkRhdGFTb3VyY2UoKTtpZihudWxsPT09ZSlyZXR1cm5bXTtjb25zdCB0PXRoaXMuX2Nyb3NzaGFpci55LGk9YXdhaXQgdGhpcy5fZ2V0QWN0aW9uQWRkSG9yaXpvbnRhbExpbmUoe3NvdXJjZTplLHk6dCxwYW5lOnRoaXMuX2Nyb3NzaGFpci5wYW5lfSkKO3JldHVybiBudWxsPT09aT9bXTpbaV19YXN5bmMgX2dldEFjdGlvbkFkZEhvcml6b250YWxMaW5lKGUpe2lmKHRoaXMuX29wdGlvbnMuZGlzYWJsZURyYXdIb3JpekxpbmVNZW51QWN0aW9uKXJldHVybiBudWxsO2NvbnN0e3NvdXJjZTp0LHk6aSxwYW5lOnN9PWUsbj10aGlzLl9nZXRWYWx1ZSh0LGkpO2lmKG51bGw9PT1uKXJldHVybiBudWxsO2NvbnN0e2NyZWF0ZURyYXdIb3Jpem9udGFsTGluZUFjdGlvbjpyfT1hd2FpdCgwLHNzLmFjdGlvbnNQcm92aWRlck1vZHVsZSkoKTtyZXR1cm4gcih0aGlzLl9jaGFydE1vZGVsLnVuZG9Nb2RlbCgpLHMse2luZGV4OjAscHJpY2U6bn0pfV9nZXRWYWx1ZShlLHQpe2NvbnN0IGk9ZS5wcmljZVNjYWxlKCkscz1lLmZpcnN0VmFsdWUoKTtyZXR1cm4gbnVsbD09PWl8fG51bGw9PT1zP251bGw6aS5jb29yZGluYXRlVG9QcmljZSh0LHMpfV9zaG93Q29udGV4dE1lbnUoZSx0LGkscyxuKXtjb25zdCByPSJsZWZ0Ij09PW47c2V0VGltZW91dCgoKCk9Pntjb25zdCBuPXMuY2xpZW50WC1zLmxvY2FsWCxvPXMuY2xpZW50WS1zLmxvY2FsWSxhPWkubWluLngrbixjPWkubWF4LngrbixoPWkubWluLnkrbyxkPWMtYSx1PWkubWF4Lnkrby1oLHA9dD9ULmNyb3NzaGFpckxvY2sudmFsdWUoKTp2b2lkIDA7aWYodm9pZCAwIT09cCl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwudGltZVNjYWxlKCkucG9pbnRzKCkucm91Z2hUaW1lKHRoaXMuX2Nyb3NzaGFpci5pbmRleCkpO1QuY3Jvc3NoYWlyTG9jay5zZXRWYWx1ZSh7dHlwZToxLHByaWNlOnRoaXMuX2Nyb3NzaGFpci5wcmljZSx0aW1lOmUsbW9kZWxJZDp0aGlzLl9jaGFydE1vZGVsLmlkKCkscGFuZUlkOigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY3Jvc3NoYWlyLnBhbmUpLmlkKCl9KX1OaS5Db250ZXh0TWVudU1hbmFnZXIuc2hvd01lbnUoZSx7Y2xpZW50WDpzLmNsaWVudFgsY2xpZW50WTpzLmNsaWVudFksYm94Ont4OmEsdzpkLHk6aCxoOnV9LGF0dGFjaFRvWEJ5OnQ/ImF1dG8iOnI/ImxlZnQiOiJyaWdodCIsYXR0YWNoVG9ZQnk6ImF1dG8tc3RyaWN0IixtYXJnaW5YOnQ/MDotZH0se3N0YXROYW1lOnQ/IkNvbnRleHRQbHVzTWVudSI6IlNjYWxlUGx1c01lbnUifSx7bWVudU5hbWU6IkNyb3NzaGFpck1lbnVWaWV3In0sKCgpPT57dm9pZCAwIT09cCYmVC5jcm9zc2hhaXJMb2NrLnNldFZhbHVlKHApfSkpfSkpfV9tYWluRGF0YVNvdXJjZU9uUGFuZSgpe2NvbnN0IGU9dGhpcy5fY3Jvc3NoYWlyLnBhbmU7cmV0dXJuIG51bGwhPT1lP2UubWFpbkRhdGFTb3VyY2UoKTpudWxsfX1jbGFzcyBwZCBleHRlbmRzIEdoLkJpdG1hcENvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fZGF0YT1lfWhpdFRlc3QoZSl7cmV0dXJuIHZvaWQgMD09PXRoaXMuX2RhdGEuY2xpY2tIYW5kbGVyP251bGw6bmV3IE1pLkhpdFRlc3RSZXN1bHQoTWkuSGl0VGFyZ2V0LkN1c3RvbSx7Y2xpY2tIYW5kbGVyOnRoaXMuX2RhdGEuY2xpY2tIYW5kbGVyLHRhcEhhbmRsZXI6dGhpcy5fZGF0YS5jbGlja0hhbmRsZXJ9KX1fZHJhd0ltcGwoZSl7Y29uc3QgdD10aGlzLl9kYXRhLnZlcnRMaW5lc1Zpc2libGUsaT10aGlzLl9kYXRhLmhvcnpMaW5lc1Zpc2libGU7aWYoIXQmJiFpKXJldHVybjtjb25zdHtjb250ZXh0OnMsaG9yaXpvbnRhbFBpeGVsUmF0aW86bix2ZXJ0aWNhbFBpeGVsUmF0aW86cixiaXRtYXBTaXplOm99PWU7cy5saW5lV2lkdGg9TWF0aC5tYXgoMSxNYXRoLmZsb29yKHRoaXMuX2RhdGEubGluZVdpZHRoKm4pKSxzLnN0cm9rZVN0eWxlPXRoaXMuX2RhdGEuY29sb3Iscy5maWxsU3R5bGU9dGhpcy5fZGF0YS5jb2xvcixzLmxpbmVDYXA9ImJ1dHQiLCgwLERpLnNldExpbmVTdHlsZSkocyx0aGlzLl9kYXRhLmxpbmVTdHlsZSk7Y29uc3QgYT1NYXRoLnJvdW5kKHRoaXMuX2RhdGEueCpuKSxsPU1hdGgucm91bmQodGhpcy5fZGF0YS55KnIpLGM9TWF0aC5jZWlsKG8ud2lkdGgqbiksaD1NYXRoLmNlaWwoby5oZWlnaHQqcik7dCYmYT49MCYmKDAsRGkuZHJhd1ZlcnRpY2FsTGluZSkocyxhLDAsaCksaSYmbD49MCYmKDAsRGkuZHJhd0hvcml6b250YWxMaW5lKShzLGwsMCxjKSx0aGlzLl9kYXRhLmRyYXdDZW50ZXImJihzLmJlZ2luUGF0aCgpLHMuYXJjKGEsbCxNYXRoLnJvdW5kKDMqbiksMCwyKk1hdGguUEksITApLHMuZmlsbFN0eWxlPXRoaXMuX2RhdGEuY29sb3Iscy5maWxsKCkpLHRoaXMuX2RhdGEuc2Npc3NvcnMmJmZ1bmN0aW9uKGUsdCxpKXtjb25zdHtjb250ZXh0OnMsYml0bWFwU2l6ZTpuLGhvcml6b250YWxQaXhlbFJhdGlvOnIsdmVydGljYWxQaXhlbFJhdGlvOm99PWUsYT0yNCpyLGw9TWF0aC5yb3VuZCh0LWEvMik7bGV0IGM9TWF0aC5yb3VuZChpLWEvMik7aWYoYzwwKWM9MDtlbHNle2NvbnN0IGU9bi5oZWlnaHQtYTtjPmUmJihjPWUpfXMudHJhbnNsYXRlKGwsYykscy5zY2FsZShyLG8pLHMuZmlsbFN0eWxlPSIjMGYwZjBmIixzLmZpbGwoX2QpLHMuc3Ryb2tlU3R5bGU9IiNmZmYiLHMubGluZVdpZHRoPTEscy5zdHJva2UoX2QpfShlLGEsbCl9fSFmdW5jdGlvbihlKXsKZS5QYXRoPSJtMTUuNjggMy43Mi0zLjgyIDUuNTItMy44My01LjUyLS4yOC0uNDItLjQyLjNhMi44NCAyLjg0IDAgMCAwLS42OCAzLjkybDMuMjcgNC43My0xLjE2IDEuNjhhMy4zNCAzLjM0IDAgMCAwLTQuMjYgMy4yMiAzLjM0IDMuMzQgMCAwIDAgMy4zMiAzLjM1IDMuMzQgMy4zNCAwIDAgMCAzLjA4LTQuNmwxLTEuNDQgMS4xMyAxLjYyYTMuMzQgMy4zNCAwIDAgMCAzLjE1IDQuNDJjMS44NCAwIDMuMzItMS41IDMuMzItMy4zNWEzLjM0IDMuMzQgMCAwIDAtNC40Mi0zLjE3bC0xLjIzLTEuNzggMy4yMi00LjY1YTIuODYgMi44NiAwIDAgMC0uNjktMy45NmwtLjQxLS4yOS0uMjkuNDJaTTcuODIgMTYuMjdjLjQ3IDAgLjg2LjM5Ljg2Ljg4IDAgLjQ4LS4zOS44Ny0uODYuODdhLjg3Ljg3IDAgMCAxLS44Ni0uODdjMC0uNS40LS44OC44Ni0uODhabTguMzYgMGMuNDcgMCAuODYuMzkuODYuODggMCAuNDgtLjQuODctLjg2Ljg3YS44Ny44NyAwIDAgMS0uODYtLjg3YzAtLjUuMzktLjg4Ljg2LS44OFoiLGVbZS5TaXplPTI0XT0iU2l6ZSIsZS5GaWxsQ29sb3I9IiMwZjBmMGYiLGUuU3Ryb2tlQ29sb3I9IiNmZmYiLGVbZS5TdHJva2VXaWR0aD0xXT0iU3Ryb2tlV2lkdGgifShjZHx8KGNkPXt9KSk7Y29uc3QgX2Q9bmV3IFBhdGgyRCgibTE1LjY4IDMuNzItMy44MiA1LjUyLTMuODMtNS41Mi0uMjgtLjQyLS40Mi4zYTIuODQgMi44NCAwIDAgMC0uNjggMy45MmwzLjI3IDQuNzMtMS4xNiAxLjY4YTMuMzQgMy4zNCAwIDAgMC00LjI2IDMuMjIgMy4zNCAzLjM0IDAgMCAwIDMuMzIgMy4zNSAzLjM0IDMuMzQgMCAwIDAgMy4wOC00LjZsMS0xLjQ0IDEuMTMgMS42MmEzLjM0IDMuMzQgMCAwIDAgMy4xNSA0LjQyYzEuODQgMCAzLjMyLTEuNSAzLjMyLTMuMzVhMy4zNCAzLjM0IDAgMCAwLTQuNDItMy4xN2wtMS4yMy0xLjc4IDMuMjItNC42NWEyLjg2IDIuODYgMCAwIDAtLjY5LTMuOTZsLS40MS0uMjktLjI5LjQyWk03LjgyIDE2LjI3Yy40NyAwIC44Ni4zOS44Ni44OCAwIC40OC0uMzkuODctLjg2Ljg3YS44Ny44NyAwIDAgMS0uODYtLjg3YzAtLjUuNC0uODguODYtLjg4Wm04LjM2IDBjLjQ3IDAgLjg2LjM5Ljg2Ljg4IDAgLjQ4LS40Ljg3LS44Ni44N2EuODcuODcgMCAwIDEtLjg2LS44N2MwLS41LjM5LS44OC44Ni0uODhaIik7Y29uc3QgbWQ9WG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItdHYtYmx1ZS01MDAiXTtjbGFzcyBnZHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3JlbmRlcmVyRGF0YT17fSx0aGlzLl9yZW5kZXJlcj1uZXcgcGQodGhpcy5fcmVuZGVyZXJEYXRhKSx0aGlzLl9zb3VyY2U9ZSx0aGlzLl9wYW5lPXR9dXBkYXRlKCl7fXJlbmRlcmVyKCl7Y29uc3QgZT10aGlzLl9zb3VyY2Uuc2VsZWN0UG9pbnRNb2RlKCkudmFsdWUoKSE9PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmUsdD10aGlzLl9zb3VyY2UubG9ja2VkUGFuZSgpLGk9KHRoaXMuX3NvdXJjZS52aXNpYmxlfHxudWxsIT09dCkmJih0aGlzLl9zb3VyY2UuYXJlTGluZXNWaXNpYmxlfHxlKSYmIXRoaXMuX3NvdXJjZS5saW5lc1Nob3VsZEJlSGlkZGVuKCkscz10aGlzLl9yZW5kZXJlckRhdGE7aWYoIWl8fG51bGw9PT10aGlzLl9wYW5lKXJldHVybiBudWxsO2NvbnN0IG49dGhpcy5fc291cmNlLnBhbmVGb3JQb2ludFNlbGVjdCgpLHI9dGhpcy5fc291cmNlLmlzUmVwbGF5U2VsZWN0aW9uKCksbz10Pz90aGlzLl9zb3VyY2UucGFuZSxhPXRoaXMuX3BhbmU9PT1vLGM9cnx8KG51bGwhPT1uP289PT1uJiZ0aGlzLl9wYW5lPT09bjphKTtpZihzLnNjaXNzb3JzPSExLGUmJihyfHx0aGlzLl9zb3VyY2UuaXNPbkhvdmVyZWRDaGFydFdpZGdldCgpKSYmYyl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3NvdXJjZS5wb2ludFRvU2VsZWN0KCkpO3MuY29sb3I9dGhpcy5fc291cmNlLmxpbmVDb2xvcigpfHxtZCxyPyhzLmxpbmVXaWR0aD0yLHMuc2Npc3NvcnM9YSk6cy5saW5lV2lkdGg9MSxzLmxpbmVTdHlsZT1LaC5MSU5FU1RZTEVfU09MSUQscy5ob3J6TGluZXNWaXNpYmxlPSEwLHMudmVydExpbmVzVmlzaWJsZT0hMCxzLmRyYXdDZW50ZXI9ITEsInRpbWUiPT09ZT9zLmhvcnpMaW5lc1Zpc2libGU9ITE6InByaWNlIj09PWUmJihzLnZlcnRMaW5lc1Zpc2libGU9ITEpfWVsc2V7Y29uc3QgZT10aGlzLl9zb3VyY2UucHJvcGVydGllcygpLHQ9VC50b29sLnZhbHVlKCksaT0oMCx1aS5sYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKSgpLG49aS5pc1RvdWNoJiYhaS5zdHlsdXMmJigoMCxtLmlzTGluZVRvb2xOYW1lKSh0KXx8KDAsVC50b29sSXNNZWFzdXJlKSh0KSk7bGV0IHI7cj1uP21kOmUuY2hpbGRzKCkuY29sb3IudmFsdWUoKTtjb25zdCBhPWUuY2hpbGRzKCkudHJhbnNwYXJlbmN5LnZhbHVlKCk7IW4mJmE+MCYmKHI9KDAsJGkuZ2VuZXJhdGVDb2xvcikocixhKSk7Y29uc3QgbD0hdGhpcy5fcGFuZS5tb2RlbCgpLmNoYXJ0RmxvYXRpbmdUb29sdGlwQWN0aXZlKCkmJnRoaXMuX3BhbmU9PT1vJiYodGhpcy5fcGFuZS5tYXhpbWl6ZWQoKS52YWx1ZSgpfHwhdGhpcy5fcGFuZS5jb2xsYXBzZWQoKS52YWx1ZSgpKTtzLmNvbG9yPXIscy5ob3J6TGluZXNWaXNpYmxlPWwscy52ZXJ0TGluZXNWaXNpYmxlPSEwLHMubGluZVdpZHRoPWUuY2hpbGRzKCkud2lkdGgudmFsdWUoKSxzLmxpbmVTdHlsZT1lLmNoaWxkcygpLnN0eWxlLnZhbHVlKCkscy5kcmF3Q2VudGVyPW4mJnRoaXMuX3BhbmU9PT1vfXJldHVybiBzLng9dGhpcy5fc291cmNlLmxvY2tlZFgoKT8/dGhpcy5fc291cmNlLngscy55PXRoaXMuX3NvdXJjZS5sb2NrZWRZKCk/P3RoaXMuX3NvdXJjZS55LHRoaXMuX3JlbmRlcmVyfX12YXIgZmQ9aSgzNjk0NDApO2NvbnN0IFNkPXtiYWNrZ3JvdW5kQ29sb3I6KDAsJGkuZ2VuZXJhdGVDb2xvcikoWG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItdHYtYmx1ZS01MDAiXSw3MCksYm9yZGVyQ29sb3I6KDAsJGkuZ2VuZXJhdGVDb2xvcikoWG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItdHYtYmx1ZS01MDAiXSwyMCl9O2NsYXNzIHZke2NvbnN0cnVjdG9yKGUpe3RoaXMuX3JlbmRlcmVyPW5ldyBmZC5SZWN0YW5nbGVSZW5kZXJlciwKdGhpcy5fcmVjdGFuZ2xlPW51bGwsdGhpcy5fY3Jvc3NoYWlyPWV9dXBkYXRlKCl7Y29uc3QgZT10aGlzLl9jcm9zc2hhaXIuc2VsZWN0aW9uKCk7bnVsbCE9PWUmJm51bGwhPT10aGlzLl9jcm9zc2hhaXIucGFuZT90aGlzLl9yZWN0YW5nbGU9dGhpcy5fY3Jvc3NoYWlyLnBhbmUubG9naWNhbFJlY3RUb1BpeGVscyhlKTp0aGlzLl9yZWN0YW5nbGU9bnVsbH1yZW5kZXJlcigpe2lmKCF0aGlzLl9yZWN0YW5nbGUpcmV0dXJuIG51bGw7Y29uc3QgZT17YmFja2NvbG9yOlNkLmJhY2tncm91bmRDb2xvcixjb2xvcjpTZC5ib3JkZXJDb2xvcixmaWxsQmFja2dyb3VuZDohMCxsaW5ld2lkdGg6MSxwb2ludHM6W3RoaXMuX3JlY3RhbmdsZS5taW4sdGhpcy5fcmVjdGFuZ2xlLm1heF0sZXh0ZW5kTGVmdDohMSxleHRlbmRSaWdodDohMX07cmV0dXJuIHRoaXMuX3JlbmRlcmVyLnNldERhdGEoZSksdGhpcy5fcmVuZGVyZXJ9fXZhciB5ZD1pKDIxMjM0NiksYmQ9aSg5NjkxNjgpLHdkPWkoODg0MjgpLENkPWkoNjY0ODE1KSxQZD1pKDQ3MDk4NiksVGQ9aSg3ODkxOTApLHhkPWkoNjYwMTYxKTtjb25zdCBNZD1wLnQobnVsbCx2b2lkIDAsaSgzMzgwOTMpKSxJZD1wLnQobnVsbCx7Y29udGV4dDoic3R1ZHkifSxpKDU5NjE2OCkpLExkPSgwLE9sLmdldFBlcmNlbnRhZ2VGb3JtYXR0ZXIpKCksQWQ9bmV3IHlkLlRpbWVTcGFuRm9ybWF0dGVyLGtkPSgwLE9sLmdldFZvbHVtZUZvcm1hdHRlcikoKSxEZD0oMCxYby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXR2LWJsdWUtNTAwIiksRWQ9KDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC00MDAiKSxSZD17YmdDb2xvclBvc2l0aXZlOigwLCRpLmdlbmVyYXRlQ29sb3IpKERkLDgwKSxiZ0NvbG9yTmVnYXRpdmU6KDAsJGkuZ2VuZXJhdGVDb2xvcikoRWQsODApLGNvbG9yUG9zaXRpdmU6KDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTYwMCIpLGNvbG9yTmVnYXRpdmU6KDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC00MDAiKSxsYWJlbEJnQ29sb3JQb3NpdGl2ZTpEZCxsYWJlbEJnQ29sb3JOZWdhdGl2ZTpFZH07dmFyIFZkLEJkOyFmdW5jdGlvbihlKXtlW2UuTWluQXJyb3dEaXN0YW5jZT01MF09Ik1pbkFycm93RGlzdGFuY2UifShWZHx8KFZkPXt9KSk7Y2xhc3MgTmR7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9ob3J6VHJlblJlbmRlcmVyPW5ldyBDZC5UcmVuZExpbmVSZW5kZXJlcix0aGlzLl92ZXJ0VHJlblJlbmRlcmVyPW5ldyBDZC5UcmVuZExpbmVSZW5kZXJlcix0aGlzLl9iZ1JlbmRlcmVyPW5ldyBmZC5SZWN0YW5nbGVSZW5kZXJlcix0aGlzLl9sYWJlbFJlbmRlcmVyPW5ldyBQZC5UZXh0UmVuZGVyZXIsdGhpcy5fcDE9bnVsbCx0aGlzLl9wMj1udWxsLHRoaXMuX3NvdXJjZT1lLHRoaXMuX3BhbmU9dH11cGRhdGUoZSl7Y29uc3RbdCxpXT10aGlzLl9zb3VyY2UubWVhc3VyZVBvaW50cygpO2lmKHZvaWQgMD09PWkpcmV0dXJuIHRoaXMuX3AxPW51bGwsdm9pZCh0aGlzLl9wMj1udWxsKTtjb25zdCBzPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc291cmNlLm1lYXN1cmVQYW5lKCkudmFsdWUoKSksbj10LnByaWNlLHI9aS5wcmljZSxvPWkuaW5kZXgtdC5pbmRleCxhPSgwLGJkLmZvcmNlTFRSU3RyKSgiIitvKSxjPSgwLGwuZW5zdXJlTm90TnVsbCkocy5tYWluRGF0YVNvdXJjZSgpKSxoPWMuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1oKXJldHVybiB0aGlzLl9wMT1udWxsLHZvaWQodGhpcy5fcDI9bnVsbCk7Y29uc3QgZD10aGlzLl9zb3VyY2UubW9kZWwoKS50aW1lU2NhbGUoKS5pbmRleFRvQ29vcmRpbmF0ZSh0LmluZGV4KSx1PXRoaXMuX3NvdXJjZS5tb2RlbCgpLnRpbWVTY2FsZSgpLmluZGV4VG9Db29yZGluYXRlKGkuaW5kZXgpLHA9cy5kZWZhdWx0UHJpY2VTY2FsZSgpLnByaWNlVG9Db29yZGluYXRlKG4saCksXz1zLmRlZmF1bHRQcmljZVNjYWxlKCkucHJpY2VUb0Nvb3JkaW5hdGUocixoKTt0aGlzLl9wMT1uZXcgUHQuUG9pbnQoZCxwKSx0aGlzLl9wMj1uZXcgUHQuUG9pbnQodSxfKTtjb25zdCBtPXRoaXMuX3NvdXJjZS5tb2RlbCgpLnRpbWVTY2FsZSgpLmluZGV4VG9Vc2VyVGltZSh0LmluZGV4KSxnPXRoaXMuX3NvdXJjZS5tb2RlbCgpLnRpbWVTY2FsZSgpLmluZGV4VG9Vc2VyVGltZShpLmluZGV4KTtsZXQgZj1udWxsO251bGwhPT1tJiZudWxsIT09ZyYmKGY9KGcudmFsdWVPZigpLW0udmFsdWVPZigpKS8xZTMpO2NvbnN0IFM9ci1uLHY9MTAwKlMvTWF0aC5hYnMobikseT10aGlzLl9wYW5lLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbEluZm8oKSxiPXkmJigwLE9sLmdldFBpcEZvcm1hdHRlcikoeSksdz0oMCxsLmVuc3VyZU5vdE51bGwpKGMuZm9ybWF0dGVyKCkpLEM9KHcuZm9ybWF0Q2hhbmdlPy4ocixuKT8/dy5mb3JtYXQoUykpKyIgKCIrTGQuZm9ybWF0KE1hdGgucm91bmQoMTAwKnYpLzEwMCkrIikgIisoYj9iLmZvcm1hdChTKToiIiksUD1udWxsIT09Zj9BZC5mb3JtYXQoZik6bnVsbCxUPW51bGwhPT1QPyIsICIrKDAsYmQuc3RhcnRXaXRoTFRSKShQKToiIjtsZXQgeD0oMCxiZC5mb3JjZUxUUlN0cikoQykrIlxuIitNZC5mb3JtYXQoe2NvdW50OmF9KStUO2NvbnN0IE09dGhpcy5fc291cmNlLm1lYXN1cmVWb2x1bWUoKTtOdW1iZXIuaXNOYU4oTSl8fCh4Kz1gXG4ke0lkfSAke2tkLmZvcm1hdChNKX1gKTtjb25zdCBJPXI8bj9SZC5iZ0NvbG9yTmVnYXRpdmU6UmQuYmdDb2xvclBvc2l0aXZlLEw9cjxuP1JkLmNvbG9yTmVnYXRpdmU6UmQuY29sb3JQb3NpdGl2ZSxBPXI8bj9SZC5sYWJlbEJnQ29sb3JOZWdhdGl2ZTpSZC5sYWJlbEJnQ29sb3JQb3NpdGl2ZSxrPXtwb2ludHM6W3RoaXMuX3AxLHRoaXMuX3AyXSxsaW5ld2lkdGg6MCxmaWxsQmFja2dyb3VuZDohMCxjb2xvcjpJLGJhY2tjb2xvcjpJLGV4dGVuZExlZnQ6ITEsZXh0ZW5kUmlnaHQ6ITF9O3RoaXMuX2JnUmVuZGVyZXIuc2V0RGF0YShrKTtjb25zdCBEPXRoaXMuX3AxLmFkZCh0aGlzLl9wMikuc2NhbGVkKC41KTt7CmNvbnN0IGU9TWF0aC5yb3VuZChELnkpLHQ9bmV3IFB0LlBvaW50KHRoaXMuX3AxLngsZSksaT1uZXcgUHQuUG9pbnQodGhpcy5fcDIueCxlKSxzPXtwb2ludHM6W3QsaV0sY29sb3I6TCxsaW5ld2lkdGg6MSxsaW5lc3R5bGU6S2guTElORVNUWUxFX1NPTElELGV4dGVuZGxlZnQ6ITEsZXh0ZW5kcmlnaHQ6ITEsbGVmdGVuZDp4ZC5MaW5lRW5kLk5vcm1hbCxyaWdodGVuZDpNYXRoLmFicyh0LngtaS54KT49NTA/eGQuTGluZUVuZC5BcnJvdzp4ZC5MaW5lRW5kLk5vcm1hbH07dGhpcy5faG9yelRyZW5SZW5kZXJlci5zZXREYXRhKHMpfXtjb25zdCBlPU1hdGgucm91bmQoRC54KSx0PW5ldyBQdC5Qb2ludChlLHRoaXMuX3AxLnkpLGk9bmV3IFB0LlBvaW50KGUsdGhpcy5fcDIueSkscz17cG9pbnRzOlt0LGldLGNvbG9yOkwsbGluZXdpZHRoOjEsbGluZXN0eWxlOktoLkxJTkVTVFlMRV9TT0xJRCxleHRlbmRsZWZ0OiExLGV4dGVuZHJpZ2h0OiExLGxlZnRlbmQ6eGQuTGluZUVuZC5Ob3JtYWwscmlnaHRlbmQ6TWF0aC5hYnModC55LWkueSk+PTUwP3hkLkxpbmVFbmQuQXJyb3c6eGQuTGluZUVuZC5Ob3JtYWx9O3RoaXMuX3ZlcnRUcmVuUmVuZGVyZXIuc2V0RGF0YShzKX1jb25zdCBFPXt4OjAseToxMH0sUj0uNSoodGhpcy5fcDEueCt0aGlzLl9wMi54KSxWPXRoaXMuX3AyLnksQj1uZXcgUHQuUG9pbnQoUixWKSxOPXtwb2ludHM6W0JdLHRleHQ6eCxjb2xvcjoiI0ZGRkZGRiIsaG9yekFsaWduOndkLkhvcml6b250YWxBbGlnbi5DZW50ZXIsdmVydEFsaWduOndkLlZlcnRpY2FsQWxpZ24uTWlkZGxlLGZvbnQ6V2kuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSxvZmZzZXRYOkUueCxvZmZzZXRZOkUueSxib2xkOiExLGl0YWxpYzohMSxmb250c2l6ZToxMixsaW5lU3BhY2luZzo4LGJhY2tncm91bmRDb2xvcjpBLGJveFBhZGRpbmdWZXJ0OjksYm94UGFkZGluZ0hvcno6OSxiYWNrZ3JvdW5kUm91bmRSZWN0OjR9O3RoaXMuX2xhYmVsUmVuZGVyZXIuc2V0RGF0YShOKTtjb25zdCBPPXRoaXMuX2xhYmVsUmVuZGVyZXIubWVhc3VyZSgpLFc9KDAsUGQuY2FsY3VsYXRlTGFiZWxQb3NpdGlvbikoTyx0aGlzLl9wMSx0aGlzLl9wMixFLHRoaXMuX3BhbmUuaGVpZ2h0KCkpO3RoaXMuX2xhYmVsUmVuZGVyZXIuc2V0UG9pbnRzKFtXXSl9cmVuZGVyZXIoKXtpZihudWxsPT09dGhpcy5fcDF8fG51bGw9PT10aGlzLl9wMilyZXR1cm4gbnVsbDtjb25zdCBlPW5ldyBUZC5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gZS5hcHBlbmQodGhpcy5fYmdSZW5kZXJlciksZS5hcHBlbmQodGhpcy5faG9yelRyZW5SZW5kZXJlciksZS5hcHBlbmQodGhpcy5fdmVydFRyZW5SZW5kZXJlciksZS5hcHBlbmQodGhpcy5fbGFiZWxSZW5kZXJlciksZX19IWZ1bmN0aW9uKGUpe2VbZS5MaWdodD0wXT0iTGlnaHQiLGVbZS5EYXJrPTFdPSJEYXJrIn0oQmR8fChCZD17fSkpO3ZhciBPZD1pKDQ1NzApO2NsYXNzIFdkIGV4dGVuZHMgRmEuTWVkaWFDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX3N2Z01hcD1uZXcgTWFwLHRoaXMuX2RhdGE9ZSx0aGlzLl9zdmdNYXAuc2V0KGUudGhlbWUsdGhpcy5fY3JlYXRlU3ZnUmVuZGVyZXIoZS50aGVtZSkpfWhpdFRlc3QoKXtyZXR1cm4gbnVsbH1zZXREYXRhKGUpe3RoaXMuX3N2Z01hcC5oYXMoZS50aGVtZSl8fHRoaXMuX3N2Z01hcC5zZXQoZS50aGVtZSx0aGlzLl9jcmVhdGVTdmdSZW5kZXJlcihlLnRoZW1lKSksdGhpcy5fZGF0YT1lfV9kcmF3SW1wbChlKXtjb25zdHtjb250ZXh0OnQsbWVkaWFTaXplOml9PWUse3RoZW1lOnMseDpufT10aGlzLl9kYXRhLHI9dGhpcy5fc3ZnTWFwLmdldChzKTtpZighcilyZXR1cm47Y29uc3Qgbz1yLnZpZXdCb3goKSx7d2lkdGg6YSxoZWlnaHQ6bH09byxjPWEvMjtuK2M8MHx8bi1jPmkud2lkdGh8fCh0LnRyYW5zbGF0ZShuLWMsaS5oZWlnaHQtbCksci5yZW5kZXIodCx7dGFyZ2V0Vmlld0JveDpvfSkpfV9jcmVhdGVTdmdSZW5kZXJlcihlKXtjb25zdCB0PTE9PT1lP09kLnJlcGxhY2UoImJhY2tncm91bmRDb2xvciIsKDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktOTAwIikpLnJlcGxhY2UoImxpbmVDb2xvciIsKDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktNDUwIikpOk9kLnJlcGxhY2UoImJhY2tncm91bmRDb2xvciIsKDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci13aGl0ZSIpKS5yZXBsYWNlKCJsaW5lQ29sb3IiLCgwLFhvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTU1MCIpKTtyZXR1cm4oMCxWaS5zdmdSZW5kZXJlcikodCl9fWNsYXNzIEZke2NvbnN0cnVjdG9yKGUpe3RoaXMuX3NvdXJjZT1lLHRoaXMuX3JlbmRlcmVyPW5ldyBXZCh0aGlzLl9nZXRSZW5kZXJEYXRhKDApKX11cGRhdGUoKXt9cmVuZGVyZXIoKXtjb25zdCBlPXRoaXMuX3NvdXJjZS52aXNpYmxlJiZ0aGlzLl9zb3VyY2UuYXJlTGluZXNWaXNpYmxlLHQ9dGhpcy5fc291cmNlLmxvY2tlZFgoKSxpPTA9PT1ULmNyb3NzaGFpckxvY2sudmFsdWUoKT8udHlwZTtyZXR1cm4gZSYmaSYmbnVsbCE9PXQ/KHRoaXMuX3JlbmRlcmVyLnNldERhdGEodGhpcy5fZ2V0UmVuZGVyRGF0YSh0KzEpKSx0aGlzLl9yZW5kZXJlcik6bnVsbH1fZ2V0UmVuZGVyRGF0YShlKXtyZXR1cm57eDplLHRoZW1lOnRoaXMuX3NvdXJjZS5tb2RlbCgpLmRhcmsoKS52YWx1ZSgpPzE6MH19fWNvbnN0IEhkPTMwO2NsYXNzIHpke2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl9yZW5kZXJlcj1uZXcgZmQuUmVjdGFuZ2xlUmVuZGVyZXIsdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fc291cmNlPWUsdGhpcy5fcGFuZT10LHRoaXMuX21vZGVsPWl9dXBkYXRlKCl7dGhpcy5faW52YWxpZGF0ZWQ9ITB9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX3JlbmRlcmVyfV91cGRhdGVJbXBsKCl7aWYodGhpcy5fcmVuZGVyZXIuc2V0RGF0YShudWxsKSwKIXRoaXMuX3BhbmV8fCF0aGlzLl9zb3VyY2UudmlzaWJsZSlyZXR1cm47aWYoIXRoaXMuX3NvdXJjZS5tb2RlbCgpLm1haW5TZXJpZXMoKS5sYXN0VmFsdWVEYXRhKHZvaWQgMCwhMCwhMCkuaW5kZXgpcmV0dXJuO2NvbnN0IGU9bmV3IFB0LlBvaW50KHRoaXMuX3NvdXJjZS5sb2NrZWRYKCk/P3RoaXMuX3NvdXJjZS54LDApLHQ9bmV3IFB0LlBvaW50KHRoaXMuX3BhbmUud2lkdGgoKSx0aGlzLl9wYW5lLmhlaWdodCgpKSxpPXtiYWNrY29sb3I6KDAsJGkuYXBwbHlUcmFuc3BhcmVuY3kpKHRoaXMuX21vZGVsLmJhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wKC41KSxIZCksY29sb3I6KDAsJGkuYXBwbHlUcmFuc3BhcmVuY3kpKHRoaXMuX21vZGVsLmJhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wKC41KSxIZCksZmlsbEJhY2tncm91bmQ6ITAsbGluZXdpZHRoOjAscG9pbnRzOltlLHRdLGRpc2FibGVJbnRlcmFjdGlvbnM6ITAsZXh0ZW5kTGVmdDohMSxleHRlbmRSaWdodDohMX07dGhpcy5fcmVuZGVyZXIuc2V0RGF0YShpKX19dmFyIFVkPWkoNzc5NTE2KSxHZD1pKDY0MDI5Mik7Y2xhc3MgamQgZXh0ZW5kcyBVZC5EYXRhV2luZG93Vmlld3tjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX2RhdGVJdGVtPW5ldyBVZC5EYXRhV2luZG93SXRlbSgiIixwLnQobnVsbCx2b2lkIDAsaSg1MDc3MjkpKSwiIiksdGhpcy5fdGltZUl0ZW09bmV3IFVkLkRhdGFXaW5kb3dJdGVtKCIiLHAudChudWxsLHZvaWQgMCxpKDg2MjExOSkpLCIiKSx0aGlzLl9tb2RlbD1lLHRoaXMuX2l0ZW1zLnB1c2godGhpcy5fZGF0ZUl0ZW0pLHRoaXMuX2l0ZW1zLnB1c2godGhpcy5fdGltZUl0ZW0pfXVwZGF0ZSgpe3RoaXMuX2ludmFsaWRhdGVkPSEwfWl0ZW1zKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKSx0aGlzLl9pdGVtc31fdXBkYXRlSW1wbCgpe2NvbnN0IGU9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmlzRFdNKCk7aWYodGhpcy5fdGltZUl0ZW0uc2V0VmlzaWJsZSghZSksdGhpcy5fdGltZUl0ZW0uc2V0VmFsdWUoR2Qubm90QXZhaWxhYmxlKSx0aGlzLl9kYXRlSXRlbS5zZXRWYWx1ZShHZC5ub3RBdmFpbGFibGUpLHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47bGV0IHQ9dGhpcy5fbW9kZWwuY3Jvc3NoYWlyU291cmNlKCkuYXBwbGllZEluZGV4KCk7aWYoISgwLGEuaXNOdW1iZXIpKHQpKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5kYXRhKCkubGFzdCgpO2lmKG51bGw9PT1lKXJldHVybjt0PWUuaW5kZXh9Y29uc3QgaT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5pbmRleFRvVXNlclRpbWUodCk7bnVsbCE9PWkmJih0aGlzLl9kYXRlSXRlbS5zZXRWYWx1ZSh0aGlzLl9tb2RlbC5kYXRlRm9ybWF0dGVyKCkuZm9ybWF0KGkpKSxlfHx0aGlzLl90aW1lSXRlbS5zZXRWYWx1ZSh0aGlzLl9tb2RlbC50aW1lRm9ybWF0dGVyKCkuZm9ybWF0KGkpKSl9fXZhciBxZD1pKDkyNzE4Nyk7Y29uc3QgJGQ9WG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItdHYtYmx1ZS01MDAiXSxZZD1wLnQobnVsbCx7Y29udGV4dDoiUmVwbGF5In0saSgxNTc0MTcpKTtjbGFzcyBLZCBleHRlbmRzIHFkLlRpbWVBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQsaSxzPSExKXtzdXBlcihlKSx0aGlzLl9pbmRleFByb3ZpZGVyPWksdGhpcy5faGlnaGxpZ2h0ZWQ9cyx0aGlzLl9zb3VyY2U9dCx0aGlzLl9wcm9wZXJ0aWVzPWUucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXN9X2dldFRleHQoZSl7aWYodGhpcy5fc291cmNlLmlzUmVwbGF5U2VsZWN0aW9uKCkpe2NvbnN0IHQ9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuaW5kZXhUb1VzZXJUaW1lKGUpO3JldHVybiBudWxsIT09dD9gJHtZZH06ICR7dGhpcy5fbW9kZWwuZGF0ZVRpbWVGb3JtYXR0ZXIoKS5mb3JtYXQodCl9YDoiIn1yZXR1cm4gc3VwZXIuX2dldFRleHQoZSl9X2dldEJnQ29sb3IoKXtpZih0aGlzLl9zb3VyY2UuaXNSZXBsYXlTZWxlY3Rpb24oKSlyZXR1cm4gJGQ7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpO3JldHVybiB0aGlzLl9oaWdobGlnaHRlZD9lLmF4aXNMaW5lVG9vbExhYmVsQmFja2dyb3VuZENvbG9yQ29tbW9uLnZhbHVlKCk6dGhpcy5fbW9kZWwuZGFyaygpLnZhbHVlKCk/ZS5jcm9zc2hhaXJMYWJlbEJnQ29sb3JEYXJrLnZhbHVlKCk6ZS5jcm9zc2hhaXJMYWJlbEJnQ29sb3JMaWdodC52YWx1ZSgpfV9nZXRJbmRleCgpe3JldHVybiB0aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS52aXNpYmxlfHxudWxsIT09dGhpcy5fc291cmNlLmxvY2tlZFBhbmUoKT90aGlzLl9pbmRleFByb3ZpZGVyKCk6bnVsbH1faXNWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1RpbWVTY2FsZUNyb3NzaGFpckxhYmVsLnZhbHVlKCl9fXZhciBYZCxaZD1pKDkyMjk2MiksSmQ9aSg4MzUzMyk7IWZ1bmN0aW9uKGUpe2VbZS5MaW5lV2lkdGg9MzZdPSJMaW5lV2lkdGgiLGVbZS5DaXJjbGVCb3JkZXJXaWR0aD0xXT0iQ2lyY2xlQm9yZGVyV2lkdGgiLGVbZS5BbmltYXRpb25EdXJhdGlvbj00ZTNdPSJBbmltYXRpb25EdXJhdGlvbiJ9KFhkfHwoWGQ9e30pKTt2YXIgUWQ9aSg1MDc2MDQpO2NvbnN0IGV1PSgwLCRpLmFwcGx5QWxwaGEpKFFkLmNvbG9ycy5jb2xvclJpcGVSZWQ1MDAsLjI1KSx0dT0oMCwkaS5hcHBseUFscGhhKShRZC5jb2xvcnMuY29sb3JSaXBlUmVkNTAwLC4wMyk7Y2xhc3MgaXV7Y29uc3RydWN0b3IoZSl7dGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fY2lyY2xlUmVuZGVyZXI9bmV3IEpkLkNpcmNsZVJlbmRlcmVyLHRoaXMuX3NvdXJjZT1lfXVwZGF0ZShlKXt0aGlzLl9pbnZhbGlkYXRlZD0hMH1yZW5kZXJlcihlKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX2NpcmNsZVJlbmRlcmVyfV91cGRhdGVJbXBsKCl7CmNvbnN0IGU9dGhpcy5fc291cmNlLm9yaWdpblgoKSx0PXRoaXMuX3NvdXJjZS5vcmlnaW5ZKCk7TnVtYmVyLmlzRmluaXRlKGUpJiZOdW1iZXIuaXNGaW5pdGUodCk/dGhpcy5fY2lyY2xlUmVuZGVyZXIuc2V0RGF0YSh7Y2VudGVyOigwLFB0LnBvaW50KShlLHQpLHJhZGl1czoxOCxsaW5lV2lkdGg6MSxjb2xvcjp0dSxiYWNrQ29sb3I6ZXUsZGlzYWJsZUludGVyYWN0aW9uczohMH0pOnRoaXMuX2NpcmNsZVJlbmRlcmVyLnNldERhdGEobnVsbCl9fWNsYXNzIHN1e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2FjdGl2ZUhpZ2hsaWdodGVyPW51bGwsdGhpcy5faGlnaGxpZ2h0ZXJzPW5ldyBNYXAsdGhpcy5fdG9vbHNGYWN0b3J5PW51bGwsdGhpcy5fdGhyb3R0bGVVcGRhdGVIaWdobGlnaHRlcnM9KDAsS28uZGVmYXVsdCkoKCgpPT57Y29uc3QgZT0oMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5fY3Jvc3NoYWlyLmlkKCkpO2xldCB0PSExO2NvbnN0IGk9QXJyYXkuZnJvbSh0aGlzLl9oaWdobGlnaHRlcnMua2V5cygpKTtmb3IoY29uc3QgcyBvZiBpKXtjb25zdCBpPVtdO2Zvcihjb25zdCB0IG9mKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9oaWdobGlnaHRlcnMuZ2V0KHMpKSl0LmFuaW1hdGlvblByb2dyZXNzKCk8MT8odC51cGRhdGVBbGxWaWV3cyhlKSxpLnB1c2godCkpOnQuZGVzdHJveT8uKCk7aS5sZW5ndGg+MD8odGhpcy5faGlnaGxpZ2h0ZXJzLnNldChzLGkpLHQ9ITApOnRoaXMuX2hpZ2hsaWdodGVycy5kZWxldGUocyl9dCYmdGhpcy5fY3Jvc3NoYWlyLm1vZGVsKCkudXBkYXRlU291cmNlKHRoaXMuX2Nyb3NzaGFpcil9KSwyMCx7bGVhZGluZzohMH0pLHRoaXMuX2Nyb3NzaGFpcj1lLHRoaXMuX3ZpZXc9bmV3IGl1KGUpLHRoaXMuX2N1cnJlbnRUb29sPVQudG9vbC5zcGF3bigpLHRoaXMuX2N1cnJlbnRUb29sLnN1YnNjcmliZSgoZT0+eygwLFQudG9vbElzRGVtb25zdHJhdGlvbikoZSkmJm51bGw9PT10aGlzLl90b29sc0ZhY3RvcnkmJih0aGlzLl90b29sc0ZhY3Rvcnk9bmV3IHRhLkFzeW5jUmVzb3VyY2VXcmFwcGVyKChhc3luYygpPT57Y29uc3QgZT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDcwOTA5KSxpLmUoNzc0NzkpXSkudGhlbihpLmJpbmQoaSwzOTc4OTcpKTtyZXR1cm4odCxpLHMsbik9Pm5ldyBlLkxpbmVUb29sRGVtb25zdHJhdGlvbkhpZ2hsaWdodGVyKHQsaSxzLG4pfSkoKSkpfSkse2NhbGxXaXRoTGFzdDohMH0pfWRlc3Ryb3koKXtmb3IoY29uc3RbLGVdb2YgdGhpcy5faGlnaGxpZ2h0ZXJzKWZvcihjb25zdCB0IG9mIGUpdC5kZXN0cm95Py4oKTt0aGlzLl9jdXJyZW50VG9vbC5kZXN0cm95KCl9dXBkYXRlKGUpe3RoaXMuX3ZpZXcudXBkYXRlKGUpO2Zvcihjb25zdFssdF1vZiB0aGlzLl9oaWdobGlnaHRlcnMpZm9yKGNvbnN0IGkgb2YgdClpLnVwZGF0ZUFsbFZpZXdzKGUpfXBhbmVWaWV3cyhlKXtjb25zdCB0PVtdO2U9PT10aGlzLl9jcm9zc2hhaXIucGFuZSYmKDAsVC50b29sSXNEZW1vbnN0cmF0aW9uKShULmN1cnNvclRvb2wudmFsdWUoKSkmJnQucHVzaCh0aGlzLl92aWV3KTtmb3IoY29uc3QgaSBvZiB0aGlzLl9oaWdobGlnaHRlcnMuZ2V0KGUpPz9bXSl7Y29uc3Qgcz1pLnBhbmVWaWV3cyhlKTtzJiZ0LnB1c2goLi4ucyl9cmV0dXJuIHRoaXMuX2hpZ2hsaWdodGVycy5zaXplPjAmJnRoaXMuX3Rocm90dGxlVXBkYXRlSGlnaGxpZ2h0ZXJzKCksdH1jcmVhdGVIaWdobGlnaHRlcigpe2NvbnN0IGU9dGhpcy5fdG9vbHNGYWN0b3J5Py5nZXQoKTtpZighZSlyZXR1cm47dGhpcy5fYWN0aXZlSGlnaGxpZ2h0ZXI9ZSh0aGlzLl9jcm9zc2hhaXIubW9kZWwoKSxldSwzNiw0ZTMpO2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jcm9zc2hhaXIucGFuZSksaT0oMCxsLmVuc3VyZU5vdE51bGwpKHQubWFpbkRhdGFTb3VyY2UoKSk7KDAscmkucHJlcGFyZUxpbmVUb29sUHJvcGVydGllc0J5T3duZXJTb3VyY2UpKHRoaXMuX2FjdGl2ZUhpZ2hsaWdodGVyLnByb3BlcnRpZXMoKSxpKSx0aGlzLl9hY3RpdmVIaWdobGlnaHRlci5zZXRPd25lclNvdXJjZShpKTtjb25zdCBzPXRoaXMuX2hpZ2hsaWdodGVycy5nZXQodCk/P1tdO3MucHVzaCh0aGlzLl9hY3RpdmVIaWdobGlnaHRlciksdGhpcy5faGlnaGxpZ2h0ZXJzLnNldCh0LHMpfWFkZEhpZ2hsaWdodGVyUG9zaXRpb24oZSl7dGhpcy5fYWN0aXZlSGlnaGxpZ2h0ZXI/LmFkZFBvaW50KGUpLHRoaXMudXBkYXRlKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLl9jcm9zc2hhaXIuaWQoKSkpfWlzVGhlcmVVbmZpbmlzaGVkSGlnaGxpZ2h0ZXIoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX2FjdGl2ZUhpZ2hsaWdodGVyfWZpbmlzaEhpZ2hsaWdodGVyKCl7dGhpcy5fYWN0aXZlSGlnaGxpZ2h0ZXI/LmZpbmlzaCgpLHRoaXMuX2FjdGl2ZUhpZ2hsaWdodGVyPW51bGwsdGhpcy5fdGhyb3R0bGVVcGRhdGVIaWdobGlnaHRlcnMoKX19Y29uc3QgbnU9e21lbnVFbmFibGVkOiExLG1lbnVGb3JNYWluU291cmNlT25seTohMSxkaXNhYmxlVHJhZGluZ01lbnVBY3Rpb25zOiExLGRpc2FibGVEcmF3SG9yaXpMaW5lTWVudUFjdGlvbjohMX07bGV0IHJ1PTA7Y29uc3Qgb3U9KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5Dcm9zc2hhaXIiKTtjbGFzcyBhdSBleHRlbmRzIHVyLkRhdGFTb3VyY2V7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKCksdGhpcy5wYW5lPW51bGwsdGhpcy5wcmljZT1OYU4sdGhpcy5pbmRleD1OYU4sdGhpcy52aXNpYmxlPSEwLHRoaXMuYXJlTGluZXNWaXNpYmxlPSEwLHRoaXMueD1OYU4sdGhpcy55PU5hTix0aGlzLl9sb2NrRGF0YT1udWxsLHRoaXMuX2Nyb3NzaGFpckRlbW9uc3RyYXRpb249bmV3IHN1KHRoaXMpLHRoaXMuX21lYXN1cmVQYW5lPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9tZWFzdXJlUGFuZVZpZXdDYWNoZT1uZXcgV2Vha01hcCx0aGlzLl9zdGFydE1lYXN1cmVQb2ludD1udWxsLHRoaXMuX2VuZE1lYXN1cmVQb2ludD1udWxsLHRoaXMuX2xhc3RWYWxpZE1lYXN1cmVQb2ludD1udWxsLHRoaXMuX25vcm1hbGl6ZWRNZWFzdXJlUG9pbnRzPW51bGwsCnRoaXMuX2xpbmVzU2hvdWxkQmVIaWRkZW49ITEsdGhpcy5faXNPbkhvdmVyZWRDaGFydFdpZGdldD0hMSx0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGU9bmV3IGguV2F0Y2hlZFZhbHVlKFQuU2VsZWN0UG9pbnRNb2RlLk5vbmUpLHRoaXMuX3NlbGVjdGlvblBhbmU9bnVsbCx0aGlzLl9zZWxlY3Rpb25WaWV3PW5ldyB2ZCh0aGlzKSx0aGlzLl9zZWxlY3Rpb25TdGFydFBvaW50PW51bGwsdGhpcy5fdGltZUxvY2tQYW5lVmlldz1udWxsLHRoaXMuX2Nyb3NzaGFpclBhbmVWaWV3Q2FjaGU9bmV3IFdlYWtNYXAsdGhpcy5fcG9pbnRTZWxlY3Rpb25QYW5lVmlld0NhY2hlPW5ldyBXZWFrTWFwLHRoaXMuX3ByaWNlQXhpc1ZpZXdzPW5ldyBNYXAsdGhpcy5fcGFuZVByaWNlQXhpc1ZpZXdzPW5ldyBNYXAsdGhpcy5fc3RhcnRNZWFzdXJlUHJpY2VBeGlzVmlld3M9bmV3IE1hcCx0aGlzLl9lbmRNZWFzdXJlUHJpY2VBeGlzVmlld3M9bmV3IE1hcCx0aGlzLl9vcmlnaW5YPU5hTix0aGlzLl9vcmlnaW5ZPU5hTix0aGlzLl9zdWJzY3JpYmVkPSExLHRoaXMuX21vdmVkRGVsZWdhdGU9bmV3IGYuRGVsZWdhdGUsdGhpcy5fcG9pbnRTZWxlY3RlZERlbGVnYXRlPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3JlcXVlc3RQb2ludFBhcmFtcz1udWxsLHRoaXMuX3ZvbHVtZUNhbGN1bGF0b3I9bnVsbCx0aGlzLl9jdXJyZW50TWVhc3VyZVBvaW50c2V0QW5kU3ltYm9sSWQ9bnVsbCx0aGlzLl9tb2RlbD1lLHRoaXMuX29wdGlvbnM9T2JqZWN0LmFzc2lnbih7fSxudSxpfHx7fSksdGhpcy5fZGF0YVdpbmRvd1ZpZXc9bmV3IGpkKGUpLHRoaXMuc2V0U2VsZWN0aW9uRW5hYmxlZCghMSk7Y29uc3Qgcz1lPT50PT50PT09KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZWFzdXJlUGFuZS52YWx1ZSgpKS5kZWZhdWx0UHJpY2VTY2FsZSgpP2UoKTpudWxsO3RoaXMuX2N1cnJlbnRQb3NQcmljZVByb3ZpZGVyPWU9Pntjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lKTtpZihlPT09dC5kZWZhdWx0UHJpY2VTY2FsZSgpKXJldHVybiB0aGlzLnByaWNlO2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0LmRlZmF1bHRQcmljZVNjYWxlKCkubWFpblNvdXJjZSgpKS5maXJzdFZhbHVlKCk7aWYobnVsbD09PWkpcmV0dXJuIG51bGw7Y29uc3Qgcz10LmRlZmF1bHRQcmljZVNjYWxlKCkucHJpY2VUb0Nvb3JkaW5hdGUodGhpcy5wcmljZSxpKSxuPSgwLGwuZW5zdXJlTm90TnVsbCkoZS5tYWluU291cmNlKCkpLmZpcnN0VmFsdWUoKTtyZXR1cm4gbnVsbD09PW4/bnVsbDplLmNvb3JkaW5hdGVUb1ByaWNlKHMsbil9LHRoaXMuX3N0YXJ0TWVhc3VyZVByaWNlUHJvdmlkZXI9cygoKCk9PigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhcnRNZWFzdXJlUG9pbnQpLnByaWNlKSksdGhpcy5fZW5kTWVhc3VyZVByaWNlUHJvdmlkZXI9cygoKCk9PigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbGFzdE1lYXN1cmVQb2ludCgpKS5wcmljZSkpLHRoaXMuX3Byb3BlcnRpZXM9dDt0aGlzLl90aW1lQXhpc1ZpZXc9bmV3IEtkKGUsdGhpcywoKCk9PnRoaXMuYXBwbGllZEluZGV4KCkpLCExKSx0aGlzLl9zdGFydE1lYXN1cmVUaW1lQXhpc1ZpZXc9bmV3IEtkKGUsdGhpcywoKCk9PigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhcnRNZWFzdXJlUG9pbnQpLmluZGV4KSwhMCksdGhpcy5fZW5kTWVhc3VyZVRpbWVBeGlzVmlldz1uZXcgS2QoZSx0aGlzLCgoKT0+KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9sYXN0TWVhc3VyZVBvaW50KCkpLmluZGV4KSwhMCksdGhpcy5fY3Vyc29yVG9vbD1ULmN1cnNvclRvb2wuc3Bhd24oKSxlLnJlYWRPbmx5KCl8fHRoaXMuX2N1cnNvclRvb2wuc3Vic2NyaWJlKChlPT50aGlzLmFyZUxpbmVzVmlzaWJsZT0iYXJyb3ciIT09ZSkse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX2Nyb3NzaGFpckxvY2s9VC5jcm9zc2hhaXJMb2NrLnNwYXduKCksdGhpcy5fc2hvd1BsdXNCdXR0b25PbkN1cnNvcj1kZC5zaG93UGx1c0J1dHRvbk9uQ3Vyc29yLnNwYXduKCk7Y29uc3Qgbj0oKT0+e3RoaXMudXBkYXRlQWxsVmlld3MoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCl9O3RoaXMuX2Nyb3NzaGFpckxvY2suc3Vic2NyaWJlKG4pLHRoaXMuX3Nob3dQbHVzQnV0dG9uT25DdXJzb3Iuc3Vic2NyaWJlKG4pfWRlc3Ryb3koKXtudWxsIT09dGhpcy5fdm9sdW1lQ2FsY3VsYXRvciYmdGhpcy5fdm9sdW1lQ2FsY3VsYXRvci5kZXN0cm95KCksdGhpcy5fbWVhc3VyZVBhbmUuc2V0VmFsdWUobnVsbCksdGhpcy5fY3Jvc3NoYWlyTG9jay5kZXN0cm95KCksdGhpcy5fc2hvd1BsdXNCdXR0b25PbkN1cnNvci5kZXN0cm95KCksdGhpcy5fY3Vyc29yVG9vbC5kZXN0cm95KCksdGhpcy5fcmVtb3ZlTWVhc3VyZVBvaW50c2V0KCksdGhpcy5fY3Jvc3NoYWlyRGVtb25zdHJhdGlvbi5kZXN0cm95KCksdGhpcy5fc3Vic2NyaWJlZCYmKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5vblJlc3RhcnRlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3N1YnNjcmliZWQ9ITEpLHRoaXMuX21vZGVsLnBhbmVzQ29sbGVjdGlvbkNoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX3BhbmVDb2xsZWN0aW9uQ2hhbmdlZCksdGhpcy5fcGFuZVByaWNlQXhpc1ZpZXdzLmZvckVhY2goKGU9PmUuZm9yRWFjaCgoZT0+ZS5kZXN0cm95Py4oKSkpKSksdGhpcy5fcGFuZVByaWNlQXhpc1ZpZXdzLmNsZWFyKCksc3VwZXIuZGVzdHJveSgpfW5hbWUoKXtyZXR1cm4iQ3Jvc3NoYWlyIn1tb3ZlZCgpe3JldHVybiB0aGlzLl9tb3ZlZERlbGVnYXRlfW9yaWdpblgoKXtyZXR1cm4gdGhpcy5fb3JpZ2luWH1vcmlnaW5ZKCl7cmV0dXJuIHRoaXMuX29yaWdpbll9c2F2ZU9yaWdpbkNvb3JkcyhlLHQpe3RoaXMuX29yaWdpblg9ZSx0aGlzLl9vcmlnaW5ZPXR9Y2xlYXJPcmlnaW5Db29yZHMoKXt0aGlzLl9vcmlnaW5YPU5hTix0aGlzLl9vcmlnaW5ZPU5hTn1jdXJyZW50UG9pbnQoKXtyZXR1cm4gbmV3IFB0LlBvaW50KHRoaXMueCx0aGlzLnkpfW1vZGVsKCl7CnJldHVybiB0aGlzLl9tb2RlbH1hcHBsaWVkSW5kZXgoKXtyZXR1cm4gdGhpcy5fZ2V0TG9ja0RhdGEoKS5pbmRleD8/dGhpcy5pbmRleH1sb2NrZWRYKCl7cmV0dXJuIHRoaXMuX2dldExvY2tEYXRhKCkueENvb3JkPz9udWxsfWxvY2tlZFkoKXtyZXR1cm4gdGhpcy5fZ2V0TG9ja0RhdGEoKS55Q29vcmQ/P251bGx9bG9ja2VkUGFuZSgpe2NvbnN0IGU9VC5jcm9zc2hhaXJMb2NrLnZhbHVlKCk7cmV0dXJuIG51bGw9PT1lfHwxIT09ZS50eXBlP251bGw6dGhpcy5fbW9kZWwuaWQoKT09PWUubW9kZWxJZD90aGlzLl9tb2RlbC5wYW5lRm9ySWQoZS5wYW5lSWQpOnRoaXMuX21vZGVsLm1haW5QYW5lKCl9aW52YWxpZGF0ZUxvY2tQb3NpdGlvbigpe3RoaXMuX2xvY2tEYXRhPW51bGx9c3RhcnRNZWFzdXJlUG9pbnQoKXtyZXR1cm4gdGhpcy5fc3RhcnRNZWFzdXJlUG9pbnR8fG51bGx9ZW5kTWVhc3VyZVBvaW50KCl7cmV0dXJuIHRoaXMuX2VuZE1lYXN1cmVQb2ludHx8bnVsbH1tZWFzdXJlVm9sdW1lKCl7aWYobnVsbD09PXRoaXMuX3ZvbHVtZUNhbGN1bGF0b3IpcmV0dXJuIE5hTjtjb25zdFtlLHRdPXRoaXMubWVhc3VyZVBvaW50cygpO3JldHVybiB2b2lkIDA9PT10P05hTjp0aGlzLl92b2x1bWVDYWxjdWxhdG9yLnZvbHVtZShlLmluZGV4LHQuaW5kZXgpfW1lYXN1cmVQYW5lKCl7cmV0dXJuIHRoaXMuX21lYXN1cmVQYW5lLnJlYWRvbmx5KCl9Y3Jvc3NoYWlyRGVtb25zdHJhdGlvbigpe3JldHVybiB0aGlzLl9jcm9zc2hhaXJEZW1vbnN0cmF0aW9ufXN0YXJ0TWVhc3VyaW5nKGUsdCl7dGhpcy5fc3RhcnRNZWFzdXJlUG9pbnQ9ZSx0aGlzLl9tZWFzdXJlUGFuZS5zZXRWYWx1ZSh0KSx0LmNvbnRhaW5zTWFpblNlcmllcygpJiYoKDAsbC5hc3NlcnQpKG51bGw9PT10aGlzLl92b2x1bWVDYWxjdWxhdG9yKSx0aGlzLl92b2x1bWVDYWxjdWxhdG9yPW5ldyBaZC5TZXJpZXNUaW1lUmFuZ2VWb2x1bWVDYWxjdWxhdG9yKHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVQYW5lKHQpfWZpbmlzaE1lYXN1cmUoZSl7dGhpcy5fZW5kTWVhc3VyZVBvaW50PWUsdGhpcy5fY3JlYXRlTWVhc3VyZVBvaW50c2V0KCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhcnRNZWFzdXJlUG9pbnQpLHRoaXMuX2VuZE1lYXN1cmVQb2ludCl9Y2xlYXJNZWFzdXJlKCl7dGhpcy5fcmVtb3ZlTWVhc3VyZVBvaW50c2V0KCksdGhpcy5fbWVhc3VyZVBhbmUuc2V0VmFsdWUobnVsbCksZGVsZXRlIHRoaXMuX3N0YXJ0TWVhc3VyZVBvaW50LGRlbGV0ZSB0aGlzLl9lbmRNZWFzdXJlUG9pbnQsZGVsZXRlIHRoaXMuX2xhc3RWYWxpZE1lYXN1cmVQb2ludCx0aGlzLl9tb2RlbC5saWdodFVwZGF0ZSgpLG51bGwhPT10aGlzLl92b2x1bWVDYWxjdWxhdG9yJiYodGhpcy5fdm9sdW1lQ2FsY3VsYXRvci5kZXN0cm95KCksdGhpcy5fdm9sdW1lQ2FsY3VsYXRvcj1udWxsKX1tZWFzdXJlUG9pbnRzKCl7Y29uc3QgZT1bKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zdGFydE1lYXN1cmVQb2ludCldLHQ9dGhpcy5fbGFzdE1lYXN1cmVQb2ludCgpO3JldHVybiBudWxsIT09dCYmZS5wdXNoKHQpLGV9c3RhcnRTZWxlY3Rpb24oZSl7dGhpcy5fc2VsZWN0aW9uU3RhcnRQb2ludD10aGlzLmN1cnJlbnRMb2dpY2FsUG9pbnQoKSx0aGlzLl9zZWxlY3Rpb25QYW5lPWV9Y2xlYXJTZWxlY3Rpb24oKXt0aGlzLl9zZWxlY3Rpb25TdGFydFBvaW50PW51bGwsdGhpcy5fc2VsZWN0aW9uUGFuZT1udWxsfXNlbGVjdGlvbigpe3JldHVybiB0aGlzLl9zZWxlY3Rpb25TdGFydFBvaW50P3twMTp0aGlzLl9zZWxlY3Rpb25TdGFydFBvaW50LHAyOnRoaXMuY3VycmVudExvZ2ljYWxQb2ludCgpfTpudWxsfWN1cnJlbnRMb2dpY2FsUG9pbnQoKXtyZXR1cm57aW5kZXg6dGhpcy5hcHBsaWVkSW5kZXgoKSxwcmljZTp0aGlzLnByaWNlfX1zZWxlY3RQb2ludE1vZGUoKXtyZXR1cm4gdGhpcy5fY3Jvc3NIYWlyU2VsZWN0UG9pbnRNb2RlfWxpbmVDb2xvcigpe3JldHVybiB0aGlzLl9yZXF1ZXN0UG9pbnRQYXJhbXM/LmxpbmVDb2xvcj8/bnVsbH1jYW5jZWxSZXF1ZXN0U2VsZWN0UG9pbnQoKXt0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGUudmFsdWUoKSE9PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmUmJnRoaXMuX3NldFNlbGVjdFBvaW50TW9kZVN0YXRlKFQuU2VsZWN0UG9pbnRNb2RlLk5vbmUpLHRoaXMuX3JlcXVlc3RQb2ludFBhcmFtcz1udWxsfXJlcXVlc3RQb2ludFBhcmFtcygpe3JldHVybiB0aGlzLl9yZXF1ZXN0UG9pbnRQYXJhbXN9cmVxdWVzdFNlbGVjdFBvaW50KGUpeygwLGwuYXNzZXJ0KSh0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGUudmFsdWUoKT09PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmUsIlBvaW50IGFscmVhZHkgcmVxdWVzdGVkIik7Y29uc3R7cG9pbnRUeXBlOnQscGFuZTppLGxpbmVDb2xvcjpzLGlnbm9yZUlmT3V0T2ZEYXRhOm49MyxzZWxlY3RGcm9tQWxsQ2hhcnRzSWZPdXRPZkRhdGE6cixzZWxlY3RQb2ludE1vZGU6bz1ULlNlbGVjdFBvaW50TW9kZS5TdHVkeSxhbGlnblRvVGhlTGF0ZXN0QmFySWZUaW1lUG9pbnRJc091dE9mRGF0YTphPWUuc2VsZWN0UG9pbnRNb2RlPT09VC5TZWxlY3RQb2ludE1vZGUuUmVwbGF5fT1lO3RoaXMuX3JlcXVlc3RQb2ludFBhcmFtcz17cG9pbnRUeXBlOnQscGFuZTppLGxpbmVDb2xvcjpzLGlnbm9yZUlmT3V0T2ZEYXRhOm4sc2VsZWN0RnJvbUFsbENoYXJ0c0lmT3V0T2ZEYXRhOnIsc2VsZWN0UG9pbnRNb2RlOm8sYWxpZ25Ub1RoZUxhdGVzdEJhcklmVGltZVBvaW50SXNPdXRPZkRhdGE6YX0saSYmKCgwLGwuYXNzZXJ0KSgtMSE9PXRoaXMuX21vZGVsLnBhbmVzKCkuaW5kZXhPZihpKSwiQ2hhcnQgbW9kZWwgZG9lc24ndCBjb250YWluIHNwZWNpZmllZCBwYW5lIiksdGhpcy5fbW9kZWwucGFuZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3BhbmVDb2xsZWN0aW9uQ2hhbmdlZCkpLHRoaXMuX3NldFNlbGVjdFBvaW50TW9kZVN0YXRlKG8pfW9uUG9pbnRTZWxlY3RlZCgpewpyZXR1cm4gdGhpcy5fcG9pbnRTZWxlY3RlZERlbGVnYXRlfXRyeVNlbGVjdEN1cnJlbnRQb2ludCgpe2NvbnN0IGU9dGhpcy5wYW5lO2lmKCFlKXJldHVybjtjb25zdHtwb2ludFR5cGU6dCxzZWxlY3RGcm9tQWxsQ2hhcnRzSWZPdXRPZkRhdGE6aSxpZ25vcmVJZk91dE9mRGF0YTpzLHBhbmU6bn09KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yZXF1ZXN0UG9pbnRQYXJhbXMpLHI9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmJhcnMoKSxvPXIuZmlyc3RJbmRleCgpLGE9ci5sYXN0SW5kZXgoKTtpZihudWxsPT09b3x8bnVsbD09PWEpcmV0dXJuO2xldCBjPW51bGw7aWYoIXIuc2VhcmNoKHRoaXMuaW5kZXgsWm8uUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3QpJiYicHJpY2UiIT09dCYmaSYmKGM9TWF0aC5taW4oLi4uQXJyYXkuZnJvbShULmJhclRpbWVzVW5kZXJDdXJzb3IudmFsdWVzKCkpKT8/bnVsbCxudWxsPT09YykpcmV0dXJuO2lmKG4mJm4hPT1lKXJldHVybjtsZXQgaCxkPWM7aWYoInByaWNlIiE9PXQmJm51bGw9PT1jKXtjb25zdCBlPXRoaXMuaW5kZXg7c3dpdGNoKHMpe2Nhc2UgMzppZihlPG98fGU+YSlyZXR1cm47YnJlYWs7Y2FzZSAxOmlmKGU8bylyZXR1cm47YnJlYWs7Y2FzZSAyOmlmKGU+YSlyZXR1cm59aWYoZD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5pbmRleFRvVGltZVBvaW50KGUpLG51bGw9PT1kKXJldHVybn1pZigidGltZSIhPT10KXtjb25zdCB0PWUubWFpbkRhdGFTb3VyY2UoKTtpZihudWxsPT09dClyZXR1cm47Y29uc3QgaT10LmZpcnN0VmFsdWUoKSxzPXQucHJpY2VTY2FsZSgpO2lmKG51bGw9PT1pfHxudWxsPT09cylyZXR1cm47aD1zLmNvb3JkaW5hdGVUb1ByaWNlKHRoaXMueSxpKX10aGlzLl9zZXRTZWxlY3RQb2ludE1vZGVTdGF0ZShULlNlbGVjdFBvaW50TW9kZS5Ob25lKSx0aGlzLl9wb2ludFNlbGVjdGVkRGVsZWdhdGUuZmlyZSh7dGltZTpkPz92b2lkIDAscHJpY2U6aH0sZSl9aXNPbkhvdmVyZWRDaGFydFdpZGdldCgpe3JldHVybiB0aGlzLl9pc09uSG92ZXJlZENoYXJ0V2lkZ2V0fXNldE9uSG92ZXJlZENoYXJ0V2lkZ2V0KGUpe3RoaXMuX2lzT25Ib3ZlcmVkQ2hhcnRXaWRnZXQ9ZX1pc1JlcGxheVNlbGVjdGlvbigpe3JldHVybigiQWxsQ2hhcnRzIj09PVNlLnZhbHVlKCl8fHRoaXMuX2lzT25Ib3ZlcmVkQ2hhcnRXaWRnZXQpJiZ0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGUudmFsdWUoKT09PVQuU2VsZWN0UG9pbnRNb2RlLlJlcGxheX1jbGVhclBvc2l0aW9uKCl7dGhpcy52aXNpYmxlPSExLHRoaXMuaW5kZXg9TmFOLHRoaXMucHJpY2U9TmFOLHRoaXMueD1OYU4sdGhpcy55PU5hTix0aGlzLnBhbmU9bnVsbCx0aGlzLmNsZWFyT3JpZ2luQ29vcmRzKCksdGhpcy5fdXBkYXRlVmlzaWJpbGl0eURlcGVuZGVudFBhbmVWaWV3cygpfXNldFBvc2l0aW9uKGUsdCxpKXt0aGlzLl9zdWJzY3JpYmVkfHwodGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uUmVzdGFydGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5jbGVhck1lYXN1cmUpLHRoaXMuX3N1YnNjcmliZWQ9ITApLHRoaXMudmlzaWJsZT0hMDtjb25zdCBzPXRoaXMuX21vZGVsLmlkKCksbj10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuYmFycygpLnNlYXJjaCh0aGlzLmluZGV4LFpvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodCk7cmV0dXJuIG4mJlQuYmFyVGltZXNVbmRlckN1cnNvci5zZXQocyxuLnZhbHVlWzBdKSx0aGlzLl90cnlUb1VwZGF0ZVZpZXdzKGUsdCxpKX1zZXRMaW5lc1Nob3VsZEJlSGlkZGVuKGUpe3RoaXMuX2xpbmVzU2hvdWxkQmVIaWRkZW49ZX1saW5lc1Nob3VsZEJlSGlkZGVuKCl7cmV0dXJuIHRoaXMuX2xpbmVzU2hvdWxkQmVIaWRkZW59aGFuZGxlQ29udGV4dE1lbnVFdmVudChlKXt0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGUudmFsdWUoKSE9PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmUmJnRoaXMuX3NldFNlbGVjdFBvaW50TW9kZVN0YXRlKFQuU2VsZWN0UG9pbnRNb2RlLk5vbmUpfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc31wcmljZUF4aXNWaWV3cyhlLHQpe2NvbnN0IGk9dGhpcy5fcmVxdWVzdFBvaW50UGFyYW1zPy5wb2ludFR5cGUscz0haXx8InRpbWUiIT09aXx8IXRoaXMuX2lzT25Ib3ZlcmVkQ2hhcnRXaWRnZXQsbj1bXTtyZXR1cm4odGhpcy5sb2NrZWRQYW5lKCk/P3RoaXMucGFuZSk9PT1lJiZzJiZuLnB1c2godGhpcy5fY3JlYXRlUHJpY2VBeGlzVmlld09uRGVtYW5kKHRoaXMuX3ByaWNlQXhpc1ZpZXdzLHRoaXMuX3BhbmVQcmljZUF4aXNWaWV3cyxlLHQsdGhpcy5fY3VycmVudFBvc1ByaWNlUHJvdmlkZXIsUWgsITApWzBdKSx0aGlzLl9zdGFydE1lYXN1cmVQb2ludCYmbi5wdXNoKHRoaXMuX2NyZWF0ZVByaWNlQXhpc1ZpZXdPbkRlbWFuZCh0aGlzLl9zdGFydE1lYXN1cmVQcmljZUF4aXNWaWV3cyxudWxsLGUsdCx0aGlzLl9zdGFydE1lYXN1cmVQcmljZVByb3ZpZGVyLGVkKVswXSksdGhpcy5fbGFzdE1lYXN1cmVQb2ludCgpJiZuLnB1c2godGhpcy5fY3JlYXRlUHJpY2VBeGlzVmlld09uRGVtYW5kKHRoaXMuX2VuZE1lYXN1cmVQcmljZUF4aXNWaWV3cyxudWxsLGUsdCx0aGlzLl9lbmRNZWFzdXJlUHJpY2VQcm92aWRlcixlZClbMF0pLG59dGltZUF4aXNWaWV3cygpe2NvbnN0IGU9W10sdD10aGlzLl9yZXF1ZXN0UG9pbnRQYXJhbXM/LnBvaW50VHlwZSxpPSF0fHwicHJpY2UiIT09dHx8IXRoaXMuX2lzT25Ib3ZlcmVkQ2hhcnRXaWRnZXQ7cmV0dXJuIHRoaXMuX2xpbmVzU2hvdWxkQmVIaWRkZW58fCF0aGlzLnZpc2libGUmJm51bGw9PT1ULmNyb3NzaGFpckxvY2sudmFsdWUoKXx8IWl8fGUucHVzaCh0aGlzLl90aW1lQXhpc1ZpZXcpLHRoaXMuX3N0YXJ0TWVhc3VyZVBvaW50JiZlLnB1c2godGhpcy5fc3RhcnRNZWFzdXJlVGltZUF4aXNWaWV3KSx0aGlzLl9sYXN0TWVhc3VyZVBvaW50KCkmJmUucHVzaCh0aGlzLl9lbmRNZWFzdXJlVGltZUF4aXNWaWV3KSxlfXBhbmVWaWV3cyhlKXtpZih2b2lkIDA9PT1lfHxlLm1vZGUoKSE9PU0uUGFuZU1vZGUuUmVndWxhcilyZXR1cm4gbnVsbDtjb25zdCB0PVtdCjtpZih0aGlzLmlzUmVwbGF5U2VsZWN0aW9uKCkpe2xldCBpPXRoaXMuX3BvaW50U2VsZWN0aW9uUGFuZVZpZXdDYWNoZS5nZXQoZSk7aXx8KGk9bmV3IHpkKHRoaXMsZSx0aGlzLl9tb2RlbCksdGhpcy5fcG9pbnRTZWxlY3Rpb25QYW5lVmlld0NhY2hlLnNldChlLGkpKSx0LnB1c2goaSl9bGV0IGk9dGhpcy5fY3Jvc3NoYWlyUGFuZVZpZXdDYWNoZS5nZXQoZSk7aWYoaXx8KGk9bmV3IGdkKHRoaXMsZSksdGhpcy5fY3Jvc3NoYWlyUGFuZVZpZXdDYWNoZS5zZXQoZSxpKSksdC5wdXNoKGkpLGU9PT10aGlzLl9zZWxlY3Rpb25QYW5lJiZ0LnB1c2godGhpcy5fc2VsZWN0aW9uVmlldyksZT09PXRoaXMuX21lYXN1cmVQYW5lLnZhbHVlKCkpe2xldCBpPXRoaXMuX21lYXN1cmVQYW5lVmlld0NhY2hlLmdldChlKTtpfHwoaT1uZXcgTmQodGhpcyxlKSx0aGlzLl9tZWFzdXJlUGFuZVZpZXdDYWNoZS5zZXQoZSxpKSksaS51cGRhdGUoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHQucHVzaChpKX1pZigoZGQuYWRkUGx1c0J1dHRvblByb3BlcnR5LnZhbHVlKCl8fHRoaXMuX3Nob3dQbHVzQnV0dG9uT25DdXJzb3IudmFsdWUoKSkmJjEhPT1ULmNyb3NzaGFpckxvY2sudmFsdWUoKT8udHlwZSl7Y29uc3QgaT1lPT09dGhpcy5wYW5lLHM9IUouQ2hlY2tNb2JpbGUuYW55KCl8fHdpbmRvdy5zY3JlZW4ud2lkdGg+PTMyMCxuPVQudG9vbC52YWx1ZSgpLHI9KDAsbS5pc0xpbmVUb29sTmFtZSkobiksbz1udWxsIT09dGhpcy5fbW9kZWwubGluZUJlaW5nRWRpdGVkKCl8fG51bGwhPT10aGlzLl9tb2RlbC5saW5lQmVpbmdDcmVhdGVkKCl8fHRoaXMuX21vZGVsLnNvdXJjZXNCZWluZ01vdmVkKCkubGVuZ3RoPjB8fG51bGwhPT10aGlzLl9tb2RlbC5jdXN0b21Tb3VyY2VCZWluZ01vdmVkKCl8fCgwLFQudG9vbElzTWVhc3VyZSkobik7aWYoaSYmdGhpcy5faXNPbkhvdmVyZWRDaGFydFdpZGdldCYmdGhpcy5fY3Jvc3NIYWlyU2VsZWN0UG9pbnRNb2RlLnZhbHVlKCk9PT1ULlNlbGVjdFBvaW50TW9kZS5Ob25lJiZzJiYhciYmIW8pe2NvbnN0IGk9ZS5tYWluRGF0YVNvdXJjZSgpO2lmKG51bGwhPT1pKXtjb25zdCBzPWkucHJpY2VTY2FsZSgpO2lmKG51bGwhPT1zKXtjb25zdCBpPXRoaXMuX2NyZWF0ZVByaWNlQXhpc1ZpZXdPbkRlbWFuZCh0aGlzLl9wcmljZUF4aXNWaWV3cyx0aGlzLl9wYW5lUHJpY2VBeGlzVmlld3MsZSxzLHRoaXMuX2N1cnJlbnRQb3NQcmljZVByb3ZpZGVyLFFoLCEwKVsxXTtudWxsIT09aSYmdC5wdXNoKGkpfX19fXJldHVybiAwPT09VC5jcm9zc2hhaXJMb2NrLnZhbHVlKCk/LnR5cGUmJihudWxsPT09dGhpcy5fdGltZUxvY2tQYW5lVmlldyYmKHRoaXMuX3RpbWVMb2NrUGFuZVZpZXc9bmV3IEZkKHRoaXMpKSx0LnB1c2godGhpcy5fdGltZUxvY2tQYW5lVmlldykpLHQucHVzaCguLi50aGlzLl9jcm9zc2hhaXJEZW1vbnN0cmF0aW9uLnBhbmVWaWV3cyhlKSksdH1kYXRhV2luZG93Vmlldygpe3JldHVybiB0aGlzLl9kYXRhV2luZG93Vmlld311cGRhdGVBbGxWaWV3cyhlKXt0aGlzLl9wcmljZUF4aXNWaWV3cy5mb3JFYWNoKCh0PT57dC5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpfSkpLHRoaXMuX3BhbmVQcmljZUF4aXNWaWV3cy5mb3JFYWNoKCh0PT57dC5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpfSkpLHRoaXMuX3N0YXJ0TWVhc3VyZVBvaW50JiYodGhpcy5fc3RhcnRNZWFzdXJlUHJpY2VBeGlzVmlld3MuZm9yRWFjaCgodD0+e3QuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKX0pKSx0aGlzLl9zdGFydE1lYXN1cmVUaW1lQXhpc1ZpZXcudXBkYXRlKGUpKSx0aGlzLl9sYXN0TWVhc3VyZVBvaW50KCkmJih0aGlzLl9lbmRNZWFzdXJlUHJpY2VBeGlzVmlld3MuZm9yRWFjaCgodD0+e3QuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKX0pKSx0aGlzLl9lbmRNZWFzdXJlVGltZUF4aXNWaWV3LnVwZGF0ZShlKSksdGhpcy5fdGltZUF4aXNWaWV3LnVwZGF0ZShlKSx0aGlzLl9zZWxlY3Rpb25WaWV3LnVwZGF0ZSgpLHRoaXMuX2RhdGFXaW5kb3dWaWV3LnVwZGF0ZSgpLHRoaXMuX2Nyb3NzaGFpckRlbW9uc3RyYXRpb24udXBkYXRlKGUpLHRoaXMuX3VwZGF0ZVZpc2liaWxpdHlEZXBlbmRlbnRQYW5lVmlld3MoKX1pc01lbnVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMubWVudUVuYWJsZWR9aXNIb3ZlcmVkRW5hYmxlZCgpe3JldHVybiBkZC5hZGRQbHVzQnV0dG9uUHJvcGVydHkudmFsdWUoKXx8dGhpcy5fc2hvd1BsdXNCdXR0b25PbkN1cnNvci52YWx1ZSgpfWlzSG92ZXJlZCgpe3JldHVybiB0aGlzLl9tb2RlbC5ob3ZlcmVkU291cmNlKCk9PT10aGlzfXBvaW50VG9TZWxlY3QoKXtyZXR1cm4gdGhpcy5fcmVxdWVzdFBvaW50UGFyYW1zPy5wb2ludFR5cGU/P251bGx9cGFuZUZvclBvaW50U2VsZWN0KCl7cmV0dXJuIHRoaXMuX3JlcXVlc3RQb2ludFBhcmFtcz8ucGFuZT8/bnVsbH1jb250ZXh0TWVudVN0YXROYW1lKCl7cmV0dXJuIkNyb3NzSGFpckNvbnRleHRNZW51In1yZXN0YXJ0KCl7dGhpcy5fY3VycmVudE1lYXN1cmVQb2ludHNldEFuZFN5bWJvbElkPW51bGwsdGhpcy5fbm9ybWFsaXplZE1lYXN1cmVQb2ludHMmJnRoaXMuX2NyZWF0ZU1lYXN1cmVQb2ludHNldFdpdGhOb3JtYWxpemVkUG9pbnRzKHRoaXMuX25vcm1hbGl6ZWRNZWFzdXJlUG9pbnRzKX1fbGFzdE1lYXN1cmVQb2ludCgpe3JldHVybiB0aGlzLl9lbmRNZWFzdXJlUG9pbnQ/dGhpcy5fZW5kTWVhc3VyZVBvaW50OihudWxsIT09dGhpcy5wYW5lJiZ0aGlzLl9tZWFzdXJlUGFuZS52YWx1ZSgpPT09dGhpcy5wYW5lJiYodGhpcy5fbGFzdFZhbGlkTWVhc3VyZVBvaW50PXtwcmljZTp0aGlzLl9tb2RlbC5tYWduZXQoKS5hbGlnbih0aGlzLnByaWNlLHRoaXMuaW5kZXgsdGhpcy5wYW5lKSxpbmRleDp0aGlzLmluZGV4fSksdGhpcy5fbGFzdFZhbGlkTWVhc3VyZVBvaW50fHxudWxsKX1fY3JlYXRlUHJpY2VBeGlzVmlld09uRGVtYW5kKGUsdCxpLHMsbixyLG89ITEpe2xldCBhPWUuZ2V0KGkpLGM9bnVsbCE9PXQ/dC5nZXQoaSk6dm9pZCAwO3ZvaWQgMD09PWEmJihhPW5ldyBNYXAsCmUuc2V0KGksYSksdGhpcy5pc01lbnVFbmFibGVkKCkmJm51bGwhPT10JiYoYz1uZXcgTWFwLHQuc2V0KGksYykpLG8mJmkub25EZXN0cm95ZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX29uUGFuZURlc3Ryb3llZChpKSkpKTtsZXQgaD1hLmdldChzKTtpZih2b2lkIDA9PT1oKXtpZihoPW5ldyByKHRoaXMsaSxzLG4pLGEuc2V0KHMsaCksdm9pZCAwIT09Yyl7Y29uc3QgZT1uZXcgdWQoaCx0aGlzLHMsdGhpcy5fbW9kZWwsdGhpcy5fb3B0aW9ucyk7Yy5zZXQocyxlKX1vJiZzLmxhc3RTb3VyY2VSZW1vdmVkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9vblByaWNlU2NhbGVDbGVhcmVkKHMpKSl9bGV0IGQ9bnVsbDtyZXR1cm4gdm9pZCAwIT09YyYmKGQ9KDAsbC5lbnN1cmVEZWZpbmVkKShjLmdldChzKSkpLFtoLGRdfV9vblBhbmVEZXN0cm95ZWQoZSl7ZS5vbkRlc3Ryb3llZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3ByaWNlQXhpc1ZpZXdzLmRlbGV0ZShlKSx0aGlzLl9wYW5lUHJpY2VBeGlzVmlld3MuZ2V0KGUpPy5mb3JFYWNoKChlPT5lLmRlc3Ryb3k/LigpKSksdGhpcy5fcGFuZVByaWNlQXhpc1ZpZXdzLmRlbGV0ZShlKSx0aGlzLl9zdGFydE1lYXN1cmVQcmljZUF4aXNWaWV3cy5kZWxldGUoZSksdGhpcy5fZW5kTWVhc3VyZVByaWNlQXhpc1ZpZXdzLmRlbGV0ZShlKX1fb25QcmljZVNjYWxlQ2xlYXJlZChlKXtlLmxhc3RTb3VyY2VSZW1vdmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fcHJpY2VBeGlzVmlld3MuZm9yRWFjaCgodD0+dC5kZWxldGUoZSkpKSx0aGlzLl9wYW5lUHJpY2VBeGlzVmlld3MuZm9yRWFjaCgodD0+e3QuZ2V0KGUpPy5kZXN0cm95Py4oKSx0LmRlbGV0ZShlKX0pKSx0aGlzLl9zdGFydE1lYXN1cmVQcmljZUF4aXNWaWV3cy5mb3JFYWNoKCh0PT50LmRlbGV0ZShlKSkpLHRoaXMuX2VuZE1lYXN1cmVQcmljZUF4aXNWaWV3cy5mb3JFYWNoKCh0PT50LmRlbGV0ZShlKSkpfV90cnlUb1VwZGF0ZVZpZXdzKGUsdCxpKXtyZXR1cm4hIXRoaXMuX3RyeVRvVXBkYXRlRGF0YShlLHQsaSkmJih0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb3ZlZERlbGVnYXRlLmZpcmUoe2luZGV4OnRoaXMuaW5kZXgscHJpY2U6dGhpcy5wcmljZX0pLCEwKX1fdHJ5VG9VcGRhdGVEYXRhKGUsdCxpKXtjb25zdCBzPXRoaXMueCxuPXRoaXMueSxyPXRoaXMucHJpY2Usbz10aGlzLmluZGV4LGE9dGhpcy5wYW5lLGM9dGhpcy5fcHJpY2VTY2FsZUJ5UGFuZShpKTtpZih0aGlzLmluZGV4PWUsdGhpcy54PWlzTmFOKGUpP05hTjp0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5pbmRleFRvQ29vcmRpbmF0ZShlKSxudWxsIT09YyYmbnVsbCE9PWkpe3RoaXMucGFuZT1pLHRoaXMucHJpY2U9dDtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkoaS5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCk7dGhpcy55PW51bGw9PT1lP05hTjpjLnByaWNlVG9Db29yZGluYXRlKHQsZSl9ZWxzZSB0aGlzLnBhbmU9bnVsbCx0aGlzLnByaWNlPU5hTix0aGlzLnk9TmFOO3JldHVybiBzIT09dGhpcy54fHxuIT09dGhpcy55fHxvIT09dGhpcy5pbmRleHx8ciE9PXRoaXMucHJpY2V8fGEhPT10aGlzLnBhbmV9X3ByaWNlU2NhbGVCeVBhbmUoZSl7cmV0dXJuIGUmJiFlLmRlZmF1bHRQcmljZVNjYWxlKCkuaXNFbXB0eSgpP2UuZGVmYXVsdFByaWNlU2NhbGUoKTpudWxsfV9zZXRTZWxlY3RQb2ludE1vZGVTdGF0ZShlKXtlPT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSYmKHRoaXMuX3JlcXVlc3RQb2ludFBhcmFtcz8ucGFuZSYmdGhpcy5fbW9kZWwucGFuZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcGFuZUNvbGxlY3Rpb25DaGFuZ2VkKSx0aGlzLl9yZXF1ZXN0UG9pbnRQYXJhbXM9bnVsbCksVC5hY3RpdmVQb2ludFNlbGVjdGlvbk1vZGUuc2V0VmFsdWUoZSksdGhpcy5fY3Jvc3NIYWlyU2VsZWN0UG9pbnRNb2RlLnNldFZhbHVlKGUpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCl9X3BhbmVDb2xsZWN0aW9uQ2hhbmdlZChlKXtjb25zdCB0PXRoaXMucGFuZUZvclBvaW50U2VsZWN0KCk7bnVsbCE9PXQmJi0xPT09ZS5pbmRleE9mKHQpJiZ0aGlzLmNhbmNlbFJlcXVlc3RTZWxlY3RQb2ludCgpfV91cGRhdGVWaXNpYmlsaXR5RGVwZW5kZW50UGFuZVZpZXdzKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5tb2RlbCgpLnBhbmVzKCkpdGhpcy5fcG9pbnRTZWxlY3Rpb25QYW5lVmlld0NhY2hlLmdldChlKT8udXBkYXRlKCl9X2dldExvY2tEYXRhKCl7aWYobnVsbD09PXRoaXMuX2xvY2tEYXRhKXtjb25zdCBlPVQuY3Jvc3NoYWlyTG9jay52YWx1ZSgpO2lmKG51bGw9PT1lKXRoaXMuX2xvY2tEYXRhPXt9O2Vsc2V7Y29uc3QgdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxpPXQucG9pbnRzKCkucm91Z2hJbmRleChlLnRpbWUpPz92b2lkIDAscz12b2lkIDA9PT1pP3ZvaWQgMDp0LmluZGV4VG9Db29yZGluYXRlKGkpO3N3aXRjaChlLnR5cGUpe2Nhc2UgMDp0aGlzLl9sb2NrRGF0YT17aW5kZXg6aSx4Q29vcmQ6c307YnJlYWs7Y2FzZSAxOntsZXQgdDtjb25zdCBuPXRoaXMubG9ja2VkUGFuZSgpO2lmKG51bGwhPT1uKXtjb25zdCBpPW4ubWFpbkRhdGFTb3VyY2UoKTtpZihudWxsIT09aSl7Y29uc3Qgcz1pLmZpcnN0VmFsdWUoKSxuPWkucHJpY2VTY2FsZSgpO251bGwhPT1uJiZudWxsIT09cyYmKHQ9bi5wcmljZVRvQ29vcmRpbmF0ZShlLnByaWNlLHMpKX19dGhpcy5fbG9ja0RhdGE9e2luZGV4OmkseENvb3JkOnMseUNvb3JkOnR9fX19fXJldHVybiB0aGlzLl9sb2NrRGF0YX1fY3JlYXRlTWVhc3VyZVBvaW50c2V0V2l0aE5vcm1hbGl6ZWRQb2ludHMoZSl7Y29uc3QgdD10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc2VyaWVzU291cmNlKCkuc3ltYm9sSW5zdGFuY2VJZCgpO2lmKG51bGw9PT10KXJldHVybjt0aGlzLl9yZW1vdmVNZWFzdXJlUG9pbnRzZXQoKSwrK3J1LHRoaXMuX2N1cnJlbnRNZWFzdXJlUG9pbnRzZXRBbmRTeW1ib2xJZD17bWVhc3VyZVBvaW50c2V0SWQ6cnUsCnN5bWJvbElkOnR9LHRoaXMuX25vcm1hbGl6ZWRNZWFzdXJlUG9pbnRzPWU7Y29uc3QgaT0oMCxaaC5nZXRTZXJ2ZXJJbnRlcnZhbCkodGhpcy5fbW9kZWwubWFpblNlcmllcygpLmludGVydmFsKCkpO3RoaXMuX21vZGVsLmNoYXJ0QXBpKCkuY3JlYXRlUG9pbnRzZXQodGhpcy5fY3VycmVudE1lYXN1cmVQb2ludHNldElkV2l0aFByZWZpeCgpLCJ0dXJuYXJvdW5kIix0aGlzLl9jdXJyZW50TWVhc3VyZVBvaW50c2V0QW5kU3ltYm9sSWQuc3ltYm9sSWQsaSxlLHRoaXMuX29uUG9pbnRzZXRSZXNwb25zZS5iaW5kKHRoaXMpKX1fY3JlYXRlTWVhc3VyZVBvaW50c2V0KGUsdCl7Y29uc3QgaT10aGlzLl9ub3JtYWxpemVQb2ludChlKSxzPXRoaXMuX25vcm1hbGl6ZVBvaW50KHQpLG49W1tpLnRpbWVfdCxpLm9mZnNldF0sW3MudGltZV90LHMub2Zmc2V0XV07dGhpcy5fY3JlYXRlTWVhc3VyZVBvaW50c2V0V2l0aE5vcm1hbGl6ZWRQb2ludHMobil9X3JlbW92ZU1lYXN1cmVQb2ludHNldCgpe251bGwhPT10aGlzLl9jdXJyZW50TWVhc3VyZVBvaW50c2V0QW5kU3ltYm9sSWQmJnRoaXMuX21vZGVsLmNoYXJ0QXBpKCkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLl9tb2RlbC5jaGFydEFwaSgpLnJlbW92ZVBvaW50c2V0KHRoaXMuX2N1cnJlbnRNZWFzdXJlUG9pbnRzZXRJZFdpdGhQcmVmaXgoKSksdGhpcy5fY3VycmVudE1lYXN1cmVQb2ludHNldEFuZFN5bWJvbElkPW51bGwsdGhpcy5fbm9ybWFsaXplZE1lYXN1cmVQb2ludHM9bnVsbH1fY3VycmVudE1lYXN1cmVQb2ludHNldElkV2l0aFByZWZpeCgpe3JldHVybiJwb2ludHNldE1lYXN1cmVfIisoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbnRNZWFzdXJlUG9pbnRzZXRBbmRTeW1ib2xJZCkubWVhc3VyZVBvaW50c2V0SWR9X25vcm1hbGl6ZVBvaW50KGUpe3JldHVybnsuLi50aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5ub3JtYWxpemVCYXJJbmRleChlLmluZGV4KSxwcmljZTplLnByaWNlfX1fb25Qb2ludHNldFJlc3BvbnNlKGUpe2lmKCJwb2ludHNldF9lcnJvciI9PT1lLm1ldGhvZClyZXR1cm4gdm9pZCBvdS5sb2dFcnJvcihgRXJyb3IgZ2V0dGluZyBwb2ludHNldDogJHtlLnBhcmFtc1swXX0gJHtlLnBhcmFtc1sxXX1gKTtpZihlLnBhcmFtcy5jdXN0b21JZCE9PXRoaXMuX2N1cnJlbnRNZWFzdXJlUG9pbnRzZXRJZFdpdGhQcmVmaXgoKSlyZXR1cm47aWYobnVsbD09PXRoaXMuX3N0YXJ0TWVhc3VyZVBvaW50fHxudWxsPT09dGhpcy5fZW5kTWVhc3VyZVBvaW50KXJldHVybjtjb25zdCB0PWUucGFyYW1zLnBsb3RzO2lmKDIhPT10Lmxlbmd0aClyZXR1cm47Y29uc3QgaT10WzBdLnZhbHVlWzBdLHM9dFsxXS52YWx1ZVswXTt0aGlzLl9zdGFydE1lYXN1cmVQb2ludC5pbmRleD1pLHRoaXMuX2VuZE1lYXN1cmVQb2ludC5pbmRleD1zLHRoaXMudXBkYXRlQWxsVmlld3MoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHRoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzKX19dmFyIGx1PWkoMTQxNjUpLGN1PWkoOTEwMTI2KSxodT1pKDg3NTMwMSksZHU9aSg3MjM1MjUpLHV1PWkoMzA5MzYwKSxwdT1pKDE1NTYzKTtjb25zdCBfdT0oMCxjLmdldExvZ2dlcikoIkNoYXJ0LlN0dWRpZXMuU3R1ZHlJbnNlcnRlciIpLG11PS9eUFVCOy4qLztjbGFzcyBndXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3BhcmVudFNvdXJjZXM9W10sdGhpcy5fcHJvcHNTdGF0ZT12b2lkIDAsdGhpcy5fcHJlZmVycmVkUHJpY2VTY2FsZT12b2lkIDAsdGhpcy5fYWxsb3dDaGFuZ2VDdXJyZW5jeT0hMSx0aGlzLl9hbGxvd0NoYW5nZVVuaXQ9ITAsdGhpcy5fYWxsb3dDaGFuZ2VNZXRyaWM9ITAsdGhpcy5fcGFuZVNpemU9dm9pZCAwLHRoaXMuX2ZvcmNlT3ZlcmxheT0hMSx0aGlzLl9pbnNlcnRlckltcGw9dCx0aGlzLl9zdHVkeURlc2NyaXB0b3I9ZX1zZXRQYXJlbnRTb3VyY2VzKGUpe3RoaXMuX3BhcmVudFNvdXJjZXM9ZX1zZXRQYW5lU2l6ZShlKXt0aGlzLl9wYW5lU2l6ZT1lfXNldFByZWZlcnJlZFByaWNlU2NhbGUoZSl7dGhpcy5fcHJlZmVycmVkUHJpY2VTY2FsZT1lfXNldEFsbG93Q2hhbmdlQ3VycmVuY3koZSl7dGhpcy5fYWxsb3dDaGFuZ2VDdXJyZW5jeT1lfXNldEFsbG93Q2hhbmdlVW5pdChlKXt0aGlzLl9hbGxvd0NoYW5nZVVuaXQ9ZX1zZXRBbGxvd0NoYW5nZU1ldHJpYyhlKXt0aGlzLl9hbGxvd0NoYW5nZU1ldHJpYz1lfXNldEZvcmNlT3ZlcmxheShlKXt0aGlzLl9mb3JjZU92ZXJsYXk9ZX1zZXRQcm9wZXJ0aWVzU3RhdGUoZSl7dGhpcy5fcHJvcHNTdGF0ZT1lfXNldFRhcmdldFByaWNlU2NhbGVNb2RlKGUpe3RoaXMuX3RhcmdldFByaWNlU2NhbGVNb2RlPWV9c2V0RXZlbnRTb3VyY2UoZSl7dGhpcy5fZXZlbnRTb3VyY2U9ZX1hc3luYyBpbnNlcnQoZSx0LGkpe2xldCBzPW51bGw7dmFyIHI7aXx8KHM9dm9pZCAwIT09KHI9dGhpcy5faW5zZXJ0ZXJJbXBsKS5jcmVhdGVTdHViJiZ2b2lkIDAhPT1yLnJlbW92ZVN0dWI/dGhpcy5faW5zZXJ0ZXJJbXBsLmNyZWF0ZVN0dWIoKTpudWxsKTtjb25zdCBvPShlLHQpPT57aWYoaSl7Y29uc3Qgcz0oMCxuLmRlZmF1bHQpKGUpP3tlcnJvcjplfTp7ZXJyb3I6ZS5tZXNzYWdlLGVkaXRvckVycm9yOmV9O2kuc2V0U3RhdHVzKHt0eXBlOllsLlN0dWR5U3RhdHVzVHlwZS5FcnJvcixlcnJvckRlc2NyaXB0aW9uOnN9KSx0JiZpLnNldE1ldGFJbmZvKHQpLHRoaXMuX2luc2VydGVySW1wbC5zdG9yZUZhaWxlZFN0dWIoaSl9fTtsZXQgbCxjLGgsZD0hMDt0cnl7bD1hd2FpdCgwLGF0LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLmZpbmRCeUlkKHRoaXMuX3N0dWR5RGVzY3JpcHRvcil9Y2F0Y2goZSl7X3UubG9nV2FybihgQ2Fubm90IGdldCBzdHVkeSAke0pTT04uc3RyaW5naWZ5KHRoaXMuX3N0dWR5RGVzY3JpcHRvcil9YCk7Y29uc3QgdD10aGlzLl9zdHVkeURlc2NyaXB0b3IucGluZUlkLHM9bXUudGVzdCh0KSxyPSJFcnJvcjogY2Fubm90IGNvbXBpbGUgc2NyaXB0IjtsZXQgYT0hMTtpZighKGUgaW5zdGFuY2VvZiB1dS5QaW5lQ29tcGlsZUZhaWxFcnJvckltcGwpKXJldHVybiBvKHIpLApQcm9taXNlLnJlamVjdChwdS5JbnNlcnRpb25FcnJvckNvZGUuQ2Fubm90R2V0TWV0YWluZm8pO2k/LmdldERlc2NyaXB0b3IoKT8uaXNPdmVybGF5JiYodGhpcy5fZm9yY2VPdmVybGF5PSEwKSxsPW5ldyBvdC5TdHVkeU1ldGFJbmZvKGUubWV0YUluZm8pLCgwLG4uZGVmYXVsdCkoZS5yZWFzb24pfHwhZS5yZWFzb24uZXJyb3JzLmxlbmd0aD9jPVt7bWVzc2FnZTpyfV06KGE9ITAsYz1lLnJlYXNvbi5lcnJvcnMpLHMmJmEmJihoPXB1Lkluc2VydGlvbkVycm9yQ29kZS5DYW5ub3RDb21waWxlUHViKX1maW5hbGx5e251bGwhPT1zJiYoZD10aGlzLl9pbnNlcnRlckltcGwucmVtb3ZlU3R1YihzKSl9aWYoIWQpcmV0dXJuIFByb21pc2UucmVqZWN0KHB1Lkluc2VydGlvbkVycm9yQ29kZS5TdHViV2FzUmVtb3ZlZCk7aWYodm9pZCAwIT09dCYmdC5jYW5jZWxsZWQpcmV0dXJuIFByb21pc2UucmVqZWN0KHB1Lkluc2VydGlvbkVycm9yQ29kZS5DYW5jZWxsZWQpO2lmKCF0aGlzLl9jYW5BcHBseVN0dWR5VG9QYXJlbnQobCkpcmV0dXJuIG8oIkVycm9yOiBjYW5ub3QgYmUgY2hpbGQiKSxQcm9taXNlLnJlamVjdChwdS5JbnNlcnRpb25FcnJvckNvZGUuU3R1ZHlDYW5ub3RCZUNoaWxkKTtjb25zdCB1PXsuLi5sLmRlZmF1bHRzLmlucHV0c307bGV0IHA9e307aWYodm9pZCAwIT09ZSl7Y29uc3QgdD1vdC5TdHVkeU1ldGFJbmZvLmdldFN0dWR5UHJvcGVydHlSb290TmFtZShsKSxpPSgwLGEuY2xvbmUpKCgwLCRsLmRlZmF1bHRzKSh0KSk7KDAsYS5tZXJnZSkodSxpLmlucHV0cyk7Y29uc3Qgcz1hd2FpdCBlKHUsbC5pbnB1dHMsbCk7cD1zLmlucHV0cyx0aGlzLl9wYXJlbnRTb3VyY2VzPXMucGFyZW50U291cmNlcz8/W119aWYodm9pZCAwIT09dCYmdC5jYW5jZWxsZWQpcmV0dXJuIFByb21pc2UucmVqZWN0KHB1Lkluc2VydGlvbkVycm9yQ29kZS5DYW5jZWxsZWQpO2NvbnN0IF89dGhpcy5faW5zZXJ0U3R1ZHkobCxwLGkpO2lmKG51bGw9PT1fKXJldHVybiBvKCJFcnJvcjogdW5rbm93biBlcnJvciIpLFByb21pc2UucmVqZWN0KHB1Lkluc2VydGlvbkVycm9yQ29kZS5Vbmtub3duKTthd2FpdCBfLnN0YXJ0UHJvbWlzZTtjb25zdCBtPWF3YWl0IF8uc3R1ZHk7cmV0dXJuIGMmJm0uc2V0RXJyb3JDb21waWxhdGlvbihjKSxoP1Byb21pc2UucmVqZWN0KGgpOm19X2luc2VydFN0dWR5KGUsdCxpKXtyZXR1cm4gdGhpcy5faW5zZXJ0ZXJJbXBsLmNyZWF0ZVN0dWR5KHtzdHVkeU1ldGFJbmZvOmUsaW5wdXRzOnQsdGFyZ2V0Wk9yZGVyOm51bGwsc3R1YlRvUmVwbGFjZTppLHByb3BzU3RhdGU6dGhpcy5fcHJvcHNTdGF0ZSxmb3JjZU92ZXJsYXk6dGhpcy5fZm9yY2VPdmVybGF5LHBhcmVudFNvdXJjZXM6dGhpcy5fcGFyZW50U291cmNlcyxwcmVmZXJyZWRQcmljZVNjYWxlOnRoaXMuX3ByZWZlcnJlZFByaWNlU2NhbGUsYWxsb3dDaGFuZ2VDdXJyZW5jeTp0aGlzLl9hbGxvd0NoYW5nZUN1cnJlbmN5LGFsbG93Q2hhbmdlVW5pdDp0aGlzLl9hbGxvd0NoYW5nZVVuaXQsYWxsb3dDaGFuZ2VNZXRyaWM6dGhpcy5fYWxsb3dDaGFuZ2VNZXRyaWMscGFuZVNpemU6dGhpcy5fcGFuZVNpemUsdGFyZ2V0U2NhbGVNb2RlOnRoaXMuX3RhcmdldFByaWNlU2NhbGVNb2RlLGV2ZW50U291cmNlOnRoaXMuX2V2ZW50U291cmNlfSl9X2NhbkFwcGx5U3R1ZHlUb1BhcmVudChlKXtyZXR1cm4gMD09PXRoaXMuX3BhcmVudFNvdXJjZXMubGVuZ3RofHxvdC5TdHVkeU1ldGFJbmZvLmNhbkJlQ2hpbGQoZSx0cnVlKX19Y2xhc3MgZnV7Y29uc3RydWN0b3IoZSl7dGhpcy5fcHJpY2VTb3VyY2VOYW1lc0J5SWQ9bmV3IE1hcCxlLmZvckVhY2goKGU9PnRoaXMuX3ByaWNlU291cmNlTmFtZXNCeUlkLnNldChlLmlkLGUubmFtZSkpKX1uYW1lKGUpe3JldHVybiB0aGlzLl9wcmljZVNvdXJjZU5hbWVzQnlJZC5nZXQoZSk/P251bGx9cHJpY2VTb3VyY2VzQ2hhbmdlZChlKXtyZXR1cm4gZS5sZW5ndGghPT10aGlzLl9wcmljZVNvdXJjZU5hbWVzQnlJZC5zaXplfX12YXIgU3U9aSgzMTQ4MDYpO2NvbnN0IHZ1PW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInJlbW92ZSBkZXNlbGVjdGVkIGVtcHR5IGxpbmUgdG9vbHMiLHAudChudWxsLHZvaWQgMCxpKDYzNTQ5NikpKSx5dT0oMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhdXRvX2VuYWJsZV9zeW1ib2xfbGFiZWxzIiksYnU9KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZml4X2xlZnRfZWRnZSIpLHd1PSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuQ2hhcnRNb2RlbCIpO2Z1bmN0aW9uIEN1KGUsdCl7Y29uc3QgaT1lLmluZGV4T2YodCk7cmV0dXJuLTEhPT1pJiYoZS5zcGxpY2UoaSwxKSwhMCl9ZnVuY3Rpb24gUHUoZSl7Y29uc3QgdD0oMCx0bi5jcm9zc2hhaXJNb3ZlRXZlbnQpKCk7Zm9yKGxldCBpPWUubGVuZ3RoO2ktLTspe2NvbnN0IHM9ZVtpXS5kYXRhU291cmNlcygpO2ZvcihsZXQgZT1zLmxlbmd0aDtlLS07KXNbZV0uZGF0YVdpbmRvd1ZpZXcoKT8udXBkYXRlKHQpLHNbZV0uY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3Py4oKT8udXBkYXRlKHQpO2NvbnN0IG49ZVtpXS5wcmljZURhdGFTb3VyY2VzKCk7Zm9yKGxldCBlPW4ubGVuZ3RoO2UtLTspbltlXS5sZWdlbmRWaWV3KCk/LnVwZGF0ZSh0KX19Y29uc3QgVHU9e2lzU25hcHNob3Q6ITEscmVhZE9ubHk6ITEsd2F0ZXJtYXJrRW5hYmxlZDohMCxzaGlmdFZpc2libGVSYW5nZU9uTmV3QmFyOiEwLGN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQ6ITEsdW5pdENvbnZlcnNpb25FbmFibGVkOiExLG1ldHJpY0NvbnZlcnNpb25FbmFibGVkOiExLGNvdW50ZG93bkVuYWJsZWQ6ITAsbGFzdFByaWNlQW5pbWF0aW9uRW5hYmxlZDohMCxvbldpZGdldDohMSxoaWRlSWRlYXM6ITF9O3ZhciB4dTshZnVuY3Rpb24oZSl7ZVtlLk1uUGFuZUhlaWdodD0zMF09Ik1uUGFuZUhlaWdodCIsZVtlLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNUaW1lb3V0PTJlM109IlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNUaW1lb3V0IiwKZVtlLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNMYXJnZVRpbWVvdXQ9NWUzXT0iUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc0xhcmdlVGltZW91dCIsZVtlLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNUaW1lb3V0TGlicmFyeT01MDBdPSJSZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzVGltZW91dExpYnJhcnkiLGVbZS5SZWNhbGNDb2xvclN0dWRpZXNUaW1lb3V0PTI1MF09IlJlY2FsY0NvbG9yU3R1ZGllc1RpbWVvdXQifSh4dXx8KHh1PXt9KSk7Y29uc3QgTXU9e3Rocm90dGxlOktvLmRlZmF1bHQsZGVib3VuY2U6WW8uZGVmYXVsdH0sSXU9bmV3IE1hcChbW0lpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uVmlld3BvcnRDaGFuZ2VVc2VyQWN0aW9uLHt0aW1lb3V0OjJlMyxhZGFwdGVyOiJkZWJvdW5jZSJ9XSxbSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5EYXRhVXBkYXRlLHt0aW1lb3V0OjVlMyxhZGFwdGVyOiJ0aHJvdHRsZSJ9XSxbSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TZXJpZXNSZXN0YXJ0LHt0aW1lb3V0OjJlMyxhZGFwdGVyOiJkZWJvdW5jZSJ9XSxbSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TZXJpZXNDb21wbGV0ZWQse3RpbWVvdXQ6MmUzLGFkYXB0ZXI6ImRlYm91bmNlIn1dLFtJaS5SZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzUmVhc29uLlN0dWR5Q3JlYXRpb24se3RpbWVvdXQ6MmUzLGFkYXB0ZXI6ImRlYm91bmNlIn1dXSksTHU9QXJyYXkuZnJvbShJdS52YWx1ZXMoKSk7ZnVuY3Rpb24gQXUoZSl7cmV0dXJuIGUucmVkdWNlKCgoZSx0KT0+e2lmKCEoMCxyaS5pc0xpbmVUb29sKSh0KXx8IXQuaXNTeW5jaHJvbml6YWJsZSgpKXJldHVybiBlO2NvbnN0IGk9dC5saW5rS2V5KCkudmFsdWUoKTtyZXR1cm4gaT8oZVswXS5hZGQoaSksZVsxXS5hZGQodC50b29sbmFtZSksZSk6ZX0pLFtuZXcgU2V0LG5ldyBTZXRdKX1mdW5jdGlvbiBrdShlKXtyZXR1cm4gZS5zb3VyY2VzQnlHcm91cCgpLmFsbFdpdGhvdXRNdWx0aXBhbmUoKX1mdW5jdGlvbiBEdShlKXtyZXR1cm4gZS5zb3VyY2VzQnlHcm91cCgpLmFsbFdpdGhvdXRNdWx0aXBhbmVXaXRoSGlkZGVuKCl9Y2xhc3MgRXV7Y29uc3RydWN0b3IoZSl7dGhpcy5fb25SZWFycmFuZ2VQYW5lcz1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9saW5lVG9vbHNHcm91cE1vZGVsPW5ldyBzaCx0aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZD1bXSx0aGlzLl9hY3RpdmVJdGVtQmVpbmdNb3ZlZD1udWxsLHRoaXMuX2xpbmVCZWluZ0VkaXRlZD1udWxsLHRoaXMuX2N1c3RvbVNvdXJjZUJlaW5nTW92ZWRIaXRUZXN0RGF0YT1udWxsLHRoaXMuX2N1c3RvbVNvdXJjZUJlaW5nTW92ZWQ9bnVsbCx0aGlzLl9kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fc291cmNlUHJvcGVyaXRlc0NoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fc291cmNlWk9yZGVyQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmU9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9hZGp1c3RGb3JEaXZpZGVuZHNBdmFpbGFiaWxpdHk9bmV3IGguV2F0Y2hlZFZhbHVlKDApLHRoaXMuX2FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9pbmFjdGl2aXR5R2Fwc1dhdGNoZWRWYWx1ZT1udWxsLHRoaXMuX2FsbG93ZWRBZGp1c3RtZW50PW5ldyBoLldhdGNoZWRWYWx1ZSgibm9uZSIpLHRoaXMuX2N1cnJlbnRUb29sPVQudG9vbC5zcGF3bigpLHRoaXMuX2xpbmVzQmVpbmdDcmVhdGVkPVtdLHRoaXMuX2xpbmVDYW5jZWxsZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fcGhhbnRvbVNvdXJjZUNvbnRhaW5lcj1uZXcga2godGhpcyksdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX3Jlc3RvcmluZ1N0YXRlPSExLHRoaXMuX2lzU2V0dGluZ3NFeHRlcm5hbFBvc2l0aW9uPSExLHRoaXMuX2lzVGltZVNjcm9sbGluZz0hMSx0aGlzLl9tYWduZXQ9bmV3IEhoLHRoaXMuX3Njcm9sbGluZ1N0YXRlPW51bGwsdGhpcy5fbW9kZWxJbnRlcnZhbHM9W10sdGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXI9bmV3IHZhKHRoaXMpLHRoaXMuX3N0dWR5SW5zZXJ0ZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fY2FjaGVkU3R1ZGllc01heE9mZnNldD0wLHRoaXMuX3JlcGxheVN0YXR1cz1uZXcgaC5XYXRjaGVkVmFsdWUoMCksdGhpcy5fcGFuZXM9W10sdGhpcy5fbWF4aW1pemVkUGFuZT1uZXcgaC5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fdGFnc0NoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fc3RyYXRlZ3lTb3VyY2VzPVtdLHRoaXMuX3N0cmF0ZWd5U291cmNlc0NoYW5nZT1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9hY3RpdmVTdHJhdGVneVNvdXJjZT1uZXcgaC5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fc3ltYm9sSW50ZXJ2YWxDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3BhbmVDb2xsYXBzaW5nQXZhaWxhYmxlPW5ldyBoLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fcGFuZXNDb2xsZWN0aW9uQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zY3JvbGxFbmFibGVkPSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImNoYXJ0X3Njcm9sbCIpLHRoaXMuX3pvb21FbmFibGVkPSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImNoYXJ0X3pvb20iKSx0aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyPW51bGwsdGhpcy5fYWxlcnRzV2F0Y2hlcj1udWxsLHRoaXMuX2hvdmVyZWRTb3VyY2U9bnVsbCx0aGlzLl9ob3ZlcmVkU291cmNlQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9sYXN0SG92ZXJlZEhpdHRlc3REYXRhPW51bGwsdGhpcy5faG92ZXJlZFNvdXJjZU9yaWdpbj1udWxsLHRoaXMuX2xhc3RTZWxlY3RlZEhpdHRlc3REYXRhPW51bGwsdGhpcy5faGlnaGxpZ2h0ZWRTb3VyY2VJbmZvPW51bGwsdGhpcy5fdG9wbW9zdEN1c3RvbVNvdXJjZXM9W10sdGhpcy5fZmdDdXN0b21Tb3VyY2VzPVtdLAp0aGlzLl9iZ0N1c3RvbVNvdXJjZXM9W10sdGhpcy5fYWxsQ3VzdG9tU291cmNlcz1bXSx0aGlzLl9jdXN0b21Tb3VyY2VzTWFwPW5ldyBNYXAsdGhpcy5fZHJhZ0V4cG9ydEVuYWJsZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9tdWx0aVBhbmVTb3VyY2VzPVtdLHRoaXMuX3Nob3dMZWdlbmRQcm9wZXJ0eT1uZXcgT3QuUHJvcGVydHksdGhpcy5faWQ9KDAsbHQuZ3VpZCkoKSx0aGlzLl9jaGFydFNhdmVUaW1lPW51bGwsdGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llc0xpc3Q9bnVsbCx0aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9hdmFpbGFibGVQcmljZVNvdXJjZXM9bmV3IGZ1KFtdKSx0aGlzLl9hdmFpbGFibGVVbml0c09iamVjdD1udWxsLHRoaXMuX2F2YWlsYWJsZVVuaXRzPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9hbGxBdmFpbGFibGVNZXRyaWNzTGlzdD1udWxsLHRoaXMuX2F2YWlsYWJsZVByaWNlU291cmNlc0J5U3ltYm9sPW5ldyBNYXAsdGhpcy5fc2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbj0hMSx0aGlzLl93YXRjaGVkVGhlbWVTcGF3bj1ELndhdGNoZWRUaGVtZS5zcGF3bigpLHRoaXMuX2JhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wPW5ldyB4aC5HcmFkaWVudENvbG9yQ2FjaGUsdGhpcy5fc3R1ZGllc1dWPW5ldyBkLldhdGNoZWRPYmplY3QoW10sZy5jb21wYXJlVHdvQ29sbGVjdGlvbnNCeUlkcyksdGhpcy5fc3R1ZGllc0V4Y2x1ZGVJbnRlcm5hbFdWPW5ldyBkLldhdGNoZWRPYmplY3QoW10sZy5jb21wYXJlVHdvQ29sbGVjdGlvbnNCeUlkcyksdGhpcy5fcmVzZXRTY2FsZXNBdmFpbGFibGU9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9yZWNhbGNWUlN0dWRpZXNQYXJhbXM9e3JlYXNvbnM6bmV3IFNldH0sdGhpcy5fcmVjYWxjQ29sb3JTdHVkaWVzUGFyYW1zPXt9LHRoaXMuX3JlcGxheVN0dWR5U3RyYXRlZ3k9bmV3IGguV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX3N0dWR5Q29sb3JSb3RhdG9yRmFjdG9yeT1uZXcgX2EodGhpcyksdGhpcy5fbWFpblNlcmllc1NjYWxlUmF0aW9Qcm9wZXJ0eT1uZXcgYWwodGhpcyksdGhpcy5fYWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsdGhpcy5fcmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc0ltcGxEZWJvdW5jZWRCeUFkYXB0ZXI9bmV3IE1hcChPYmplY3Qua2V5cyhNdSkubWFwKChlPT5bZSxuZXcgTWFwKEx1LmZpbHRlcigodD0+dC5hZGFwdGVyPT09ZSkpLm1hcCgoZT0+W2UudGltZW91dCxNdVtlLmFkYXB0ZXJdKHRoaXMuX3JlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNJbXBsLmJpbmQodGhpcyx0aGlzLl9yZWNhbGNWUlN0dWRpZXNQYXJhbXMpLGUudGltZW91dCldKSkpXSkpKSx0aGlzLl9yZWNhbGNDb2xvclN0dWRpZXNJbXBsRGVib3VuY2VkPSgwLFlvLmRlZmF1bHQpKHRoaXMuX3JlY2FsY0NvbG9yU3R1ZGllc0ltcGwuYmluZCh0aGlzLHRoaXMuX3JlY2FsY0NvbG9yU3R1ZGllc1BhcmFtcyksMjUwKSx0aGlzLl93aWR0aD0wLHRoaXMuX3Jlc2V0U2NhbGVzPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2NoYXJ0VGhlbWVMb2FkZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fc2VsZWN0aW9uPW5ldyBmYS5Nb2RlbFNlbGVjdGlvbix0aGlzLl9zZWxlY3RlZFNvdXJjZUNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fcHJldmlvdXNTZWxlY3RlZERyYXdpbmdPckdyb3VwSWRzPW51bGwsdGhpcy5fc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fZ3JpZFNvdXJjZT1uZXcgJGgodGhpcyksdGhpcy5fdmlzaWJsZVJhbmdlU3R1ZGllc0lucHV0cz1uZXcgZC5XYXRjaGVkT2JqZWN0KG51bGwpLHRoaXMuX3N5bmNQb2ludENhY2hlPW5ldyBNYXAsdGhpcy5fbGFzdEFwcGxpZWRHb3RvVGltZVJhbmdlPW51bGwsdGhpcy5fbGFzdEdvdG9UaW1lUmFuZ2U9bnVsbCx0aGlzLl9hbGVydHNDb2xsZWN0aW9uPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyTG9hZGVyPW51bGwsdGhpcy5fc2Vzc2lvbnM9bnVsbCx0aGlzLl9vbk11bHRpcGFuZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9yZXBsYXlTdHVkeVN0cmF0ZWd5SW5wdXRzPW51bGwsdGhpcy5fc3R1ZHlTaGlmdENvbG9yU3RhcnRPZmZzZXQ9dm9pZCAwLHRoaXMuX2xpbmVUb29sc1N5bmNCbG9jaz0wLHRoaXMuX29uRGVzdHJveWVkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX29uTGluZVRvb2xzR3JvdXBNb2RlbENoYW5nZWQ9KCk9PnswIT09dGhpcy5fc2VsZWN0aW9uLmxpbmVUb29sR3JvdXBzKCkubGVuZ3RoJiZ0aGlzLmNoZWNrTGluZVRvb2xBbmRHcm91cFNlbGVjdGlvbigpfSx0aGlzLl9jbGVhclNlbGVjdGlvbj0oKT0+e3RoaXMuX2xhc3RTZWxlY3RlZEhpdHRlc3REYXRhPW51bGwsdGhpcy5fc2VsZWN0aW9uLmNsZWFyKCl9LHRoaXMuX3JlbW92ZUl0ZW1Gcm9tU2VsZWN0aW9uPWU9Pnt0aGlzLl9zZWxlY3Rpb24ucmVtb3ZlKGUpfSx0aGlzLl9hZGRJdGVtVG9TZWxlY3Rpb249KGUsdCk9Pntjb25zdCBpPXRoaXMuX3NlbGVjdGlvbi5pc1NlbGVjdGVkKGUpOygwLFhyLmlzTGluZVRvb2xzR3JvdXApKGUpP2l8fHRoaXMuX3NlbGVjdGlvbi5hZGQoZSk6aSYmdGhpcy5fbGFzdFNlbGVjdGVkSGl0dGVzdERhdGE9PT10fHxlLmlzU2VsZWN0aW9uRW5hYmxlZCgpJiYodGhpcy5fbGFzdFNlbGVjdGVkSGl0dGVzdERhdGE9dHx8bnVsbCxpfHx0aGlzLl9zZWxlY3Rpb24uYWRkKGUpLCgwLHRpLmlzU3R1ZHlTdHJhdGVneSkoZSkmJnRoaXMuc2V0QWN0aXZlU3RyYXRlZ3lTb3VyY2UoZSkpfSx0aGlzLl9yZWNhbGNTeW1ib2xSZXNvbHZpbmdBY3RpdmU9KCk9Pntmb3IoY29uc3QgZSBvZiB0aGlzLl9wYW5lcylpZihlLnN5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSgpLnZhbHVlKCkpcmV0dXJuIHZvaWQgdGhpcy5fc3ltYm9sU291cmNlUmVzb2x2aW5nQWN0aXZlLnNldFZhbHVlKCEwKTt0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITEpfSwKdGhpcy5fcmVjYWxjQWRqdXN0Rm9yRGl2aWRlbmRzQXZhaWxhYmlsaXR5PSgpPT57aWYodGhpcy5fc3ltYm9sU291cmNlUmVzb2x2aW5nQWN0aXZlLnZhbHVlKCkpcmV0dXJuO2NvbnN0IGU9dGhpcy5tYWluU2VyaWVzKCk7c3dpdGNoKGUuc3ltYm9sSW5mbygpPy5hbGxvd2VkX2FkanVzdG1lbnQ/PyJub25lIil7Y2FzZSJkaXZpZGVuZHMiOnJldHVybiB2b2lkIHRoaXMuX2FkanVzdEZvckRpdmlkZW5kc0F2YWlsYWJpbGl0eS5zZXRWYWx1ZSgyKTtjYXNlInNwbGl0cyI6cmV0dXJuIHZvaWQgdGhpcy5fYWRqdXN0Rm9yRGl2aWRlbmRzQXZhaWxhYmlsaXR5LnNldFZhbHVlKDEpO2Nhc2UiYW55IjpyZXR1cm4gdm9pZCB0aGlzLl9hZGp1c3RGb3JEaXZpZGVuZHNBdmFpbGFiaWxpdHkuc2V0VmFsdWUoMyl9Zm9yKGNvbnN0IHQgb2YgdGhpcy5zeW1ib2xTb3VyY2VzKCkpe2lmKHQuc3ltYm9sSGliZXJuYXRlZCgpLnZhbHVlKCl8fHQ9PT1lKWNvbnRpbnVlO2lmKCJhbnkiPT09KHQuc3ltYm9sSW5mbygpPy5hbGxvd2VkX2FkanVzdG1lbnQ/PyJub25lIikpcmV0dXJuIHZvaWQgdGhpcy5fYWRqdXN0Rm9yRGl2aWRlbmRzQXZhaWxhYmlsaXR5LnNldFZhbHVlKDMpfXRoaXMuX2FkanVzdEZvckRpdmlkZW5kc0F2YWlsYWJpbGl0eS5zZXRWYWx1ZSgwKX0sdGhpcy5fcmVjYWxjQWxsb3dlZEFkanVzdG1lbnQ9KCk9Pntjb25zdCBlPXRoaXMubWFpblNlcmllcygpLHQ9ZS5zeW1ib2xJbmZvKCk/LmFsbG93ZWRfYWRqdXN0bWVudD8/Im5vbmUiO2lmKCJkaXZpZGVuZHMiPT09dHx8InNwbGl0cyI9PT10KXJldHVybiB2b2lkIHRoaXMuX2FsbG93ZWRBZGp1c3RtZW50LnNldFZhbHVlKHQpO2xldCBpPSJub25lIjtmb3IoY29uc3QgZSBvZiB0aGlzLnN5bWJvbFNvdXJjZXMoKSl7aWYoZS5zeW1ib2xIaWJlcm5hdGVkKCkudmFsdWUoKSljb250aW51ZTtjb25zdCB0PWUuc3ltYm9sSW5mbygpPy5hbGxvd2VkX2FkanVzdG1lbnQ/PyJub25lIjtpZigiYW55Ij09PXQpcmV0dXJuIHZvaWQgdGhpcy5fYWxsb3dlZEFkanVzdG1lbnQuc2V0VmFsdWUoImFueSIpOyJzcGxpdHMiPT09dCYmImRpdmlkZW5kcyIhPT1pJiYoaT0ic3BsaXRzIiksImRpdmlkZW5kcyI9PT10JiYoaT0iZGl2aWRlbmRzIil9dGhpcy5fYWxsb3dlZEFkanVzdG1lbnQuc2V0VmFsdWUoaSl9LHRoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQ9KCk9Pntzd2l0Y2godGhpcy5fYWRqdXN0Rm9yRGl2aWRlbmRzQXZhaWxhYmlsaXR5LnZhbHVlKCkpe2Nhc2UgMjpyZXR1cm4gdm9pZCB0aGlzLl9hZGp1c3RGb3JEaXZpZGVuZHNFbmFibGVkLnNldFZhbHVlKCEwKTtjYXNlIDA6Y2FzZSAxOnJldHVybiB2b2lkIHRoaXMuX2FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQuc2V0VmFsdWUoITEpfXRoaXMuX2FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQuc2V0VmFsdWUoKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZGl2aWRlbmRzQWRqdXN0bWVudCkudmFsdWUoKSl9LHRoaXMuX3JlY2FsY1BhbmVDb2xsYXBzaW5nQXZhaWxhYmxlPWU9PntsZXQgdD10aGlzLl9wYW5lcy5maWx0ZXIoKGU9PiFlLmNvbGxhcHNlZCgpLnZhbHVlKCkpKS5sZW5ndGg7MD09PXQmJmUmJnRoaXMuX3BhbmVzLmxlbmd0aD4wJiYodGhpcy5fcGFuZXNbMF0uY29sbGFwc2VkKCkuc2V0VmFsdWUoITEpLHQ9MSksdGhpcy5fcGFuZUNvbGxhcHNpbmdBdmFpbGFibGUuc2V0VmFsdWUodD4xKX0sdGhpcy5fdXBkYXRlUmVzZXRTY2FsZXNBdmFpbGFibGVWYWx1ZT0oKT0+e2NvbnN0IGU9dGhpcy5fdGltZVNjYWxlLnJlc2V0QXZhaWxhYmxlKCkudmFsdWUoKXx8dGhpcy5fcGFuZXMuc29tZSgoZT0+ZS5yZXNldFByaWNlU2NhbGVzQXZhaWxhYmxlKCkudmFsdWUoKSkpO3RoaXMuX3Jlc2V0U2NhbGVzQXZhaWxhYmxlLnNldFZhbHVlKGUpfSx0aGlzLl9vbkRyYXdpbmdzVmlzaWJpbGl0eUNoYW5nZWQ9ZT0+e2NvbnN0IHQ9IWUudmFsdWUoKTtmb3IoY29uc3QgZSBvZiB0aGlzLmRhdGFTb3VyY2VzKCkpe2NvbnN0IGk9KDAscmkuaXNMaW5lVG9vbCkoZSkmJmUucHJvcGVydGllcygpLnZpc2libGUudmFsdWUoKTt0JiZpPygwLCQuZW1pdCkoImRyYXdpbmdfZXZlbnQiLGUuaWQoKSwic2hvdyIpOiF0JiZpJiYoMCwkLmVtaXQpKCJkcmF3aW5nX2V2ZW50IixlLmlkKCksImhpZGUiKX10aGlzLnNlbGVjdGlvbk1hY3JvKChlPT5lLmNsZWFyU2VsZWN0aW9uKCkpKX0sdGhpcy5fb25JbmRpY2F0b3JzVmlzaWJpbGl0eUNoYW5nZWQ9KCk9Pnt0aGlzLmFsbFN0dWRpZXMoKS5zb21lKChlPT5lLmNhbkJlSGlkZGVuQnlHbG9iYWxGbGFnKCkmJmUucHJvcGVydGllcygpLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmdGhpcy5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKGUpKSk/dGhpcy5zZWxlY3Rpb25NYWNybygoZT0+ZS5jbGVhclNlbGVjdGlvbigpKSk6dGhpcy5saWdodFVwZGF0ZSgpfTtjb25zdHtjaGFydFNlc3Npb246dCxpbnZhbGlkYXRlSGFuZGxlcjppLHByb3BlcnRpZXM6cyxzZXJpZXNQcm9wZXJ0aWVzOm4sZGF0YVJlcXVlc3Q6cix1bmRvTW9kZWw6byxiYXJzTWFya3NDb250YWluZXJzRmFjdG9yeTpjLG9wdGlvbnM6cCxoaWJlcm5hdGVWVzpfLGxpbmtpbmdHcm91cFdWOlMsaXNBdXRvU2F2ZUVuYWJsZWQ6dixzeW1ib2xBbGlhc1NlcnZpY2U6eSxkcmF3VGltZTpifT1lO3RoaXMuX2F2YWlsYWJsZU1ldHJpY3M9bmV3IERoKFtdKSx0aGlzLl9jaGFydFNlc3Npb249dCx0aGlzLl9pbnZhbGlkYXRlSGFuZGxlcj1pLHRoaXMuX3VuZG9Nb2RlbD1vLHRoaXMuX3Byb3BlcnRpZXM9cyx0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKFR1KSxwKSx0aGlzLl9oaWJlcm5hdGVXVj1fLHRoaXMuX2xpbmtpbmdHcm91cEluZGV4PVMsdGhpcy5faXNBdXRvU2F2ZUVuYWJsZWQ9dix0aGlzLl9yZWFkT25seT10aGlzLl9vcHRpb25zLnJlYWRPbmx5LHRoaXMuX2lzU25hcHNob3Q9dGhpcy5fb3B0aW9ucy5pc1NuYXBzaG90LHRoaXMuX3N5bWJvbEFsaWFzU2VydmljZT15LAp0aGlzLl9zeW1ib2xBbGlhc1NlcnZpY2U/Lm9uQWxpYXNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLmxpZ2h0VXBkYXRlKCkpKSx0aGlzLl9kcmF3VGltZT1iLHRoaXMuX2FsZXJ0c1dhdGNoZXI9bmV3IGRoKHRoaXMpLHRoaXMub25XaWRnZXQoKXx8bGgud2l0aFdlZWtkYXlQcm9wZXJ0eS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKCkpKSx0aGlzLl9jaGFydFNhdmVUaW1lPShuZXcgRGF0ZSkudmFsdWVPZigpLHRoaXMuX2JhY2tncm91bmRDb2xvcj1uZXcgaC5XYXRjaGVkVmFsdWUodGhpcy5fZ2V0QmFja2dyb3VuZENvbG9yKCkpLHRoaXMuX2JhY2tncm91bmRUb3BDb2xvcj1uZXcgaC5XYXRjaGVkVmFsdWUodGhpcy5fZ2V0QmFja2dyb3VuZENvbG9yKCEwKSksdGhpcy5fc3Vic2NyaWJlVG9MaW5lVG9vbHNHcm91cE1vZGVsKCksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5iYWNrZ3JvdW5kLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUJhY2tncm91bmRDb2xvciksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5iYWNrZ3JvdW5kVHlwZS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVCYWNrZ3JvdW5kQ29sb3IpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZEdyYWRpZW50U3RhcnRDb2xvci5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVCYWNrZ3JvdW5kQ29sb3IpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3Iuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFja2dyb3VuZENvbG9yKSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0xlZ2VuZC5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVTaG93TGVnZW5kUHJvcGVydHkpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5zdWJzY3JpYmUodGhpcyx0aGlzLmZ1bGxVcGRhdGUpLHRoaXMuX2JhY2tncm91bmRDb2xvci5zdWJzY3JpYmUodGhpcy5yZWNhbGNDb2xvclN0dWRpZXMuYmluZCh0aGlzLCExKSksdGhpcy5fYmFja2dyb3VuZFRvcENvbG9yLnN1YnNjcmliZSh0aGlzLnJlY2FsY0NvbG9yU3R1ZGllcy5iaW5kKHRoaXMsITEpKSx0aGlzLl9iYWNrZ3JvdW5kQ291bnRlckNvbG9yPW5ldyBoLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRCYWNrZ3JvdW5kQ291bnRlckNvbG9yKCkpLHRoaXMuX2JhY2tncm91bmRDb2xvci5zdWJzY3JpYmUoKCgpPT50aGlzLl9iYWNrZ3JvdW5kQ291bnRlckNvbG9yLnNldFZhbHVlKHRoaXMuX2dldEJhY2tncm91bmRDb3VudGVyQ29sb3IoKSkpKSx0aGlzLl9iYWNrZ3JvdW5kVGhlbWU9KDAsdS5jb21iaW5lKSgoZT0+IndoaXRlIj09PWU/Sm8uU3RkVGhlbWUuRGFyazpKby5TdGRUaGVtZS5MaWdodCksdGhpcy5fYmFja2dyb3VuZENvdW50ZXJDb2xvci53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2lzRGFyaz0oMCx1LmNvbWJpbmUpKChlPT5lPT09Sm8uU3RkVGhlbWUuRGFyayksdGhpcy5fYmFja2dyb3VuZFRoZW1lLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fd2F0Y2hlZFRoZW1lU3Bhd24uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUJhY2tncm91bmRDb2xvci5iaW5kKHRoaXMpKSx0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmUuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0F2YWlsYWJpbGl0eSgpLHRoaXMuX3JlY2FsY0FsbG93ZWRBZGp1c3RtZW50KCl9KSksKDAsVC5pbml0KSgpO2NvbnN0IHc9dGhpcy5fcmVhZE9ubHk/bmV3IE90LlByb3BlcnR5KCgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKHh0LmxpZ2h0VGhlbWUuY29udGVudC5jaGFydFByb3BlcnRpZXMucGFuZVByb3BlcnRpZXMuY3Jvc3NIYWlyUHJvcGVydGllcyksKDAsJGwuZGVmYXVsdHMpKCJjaGFydHByb3BlcnRpZXMucGFuZVByb3BlcnRpZXMuY3Jvc3NIYWlyUHJvcGVydGllcyIpKSk6dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5jcm9zc0hhaXJQcm9wZXJ0aWVzO3RoaXMuX2Nyb3NzSGFpclNvdXJjZT1uZXcgYXUodGhpcyx3LHRoaXMuX29wdGlvbnMuY3Jvc3NIYWlyKSx0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGU9dGhpcy5fY3Jvc3NIYWlyU291cmNlLnNlbGVjdFBvaW50TW9kZSgpLnNwYXduKCksdGhpcy5fY3Jvc3NIYWlyU2VsZWN0UG9pbnRNb2RlLnN1YnNjcmliZSgoZT0+e2lmKGUhPT1ULlNlbGVjdFBvaW50TW9kZS5Ob25lJiZ0aGlzLmxpbmVCZWluZ0NyZWF0ZWQoKSl7Y29uc3QgZT1ULnRvb2wudmFsdWUoKTt0aGlzLmNhbmNlbENyZWF0aW5nTGluZSgpLFQudG9vbC5zZXRWYWx1ZShlKX19KSksdGhpcy5fdGFnc0NoYW5nZWQ9bmV3IGYuRGVsZWdhdGU7Y29uc3QgQz17Y291bnRkb3duRW5hYmxlZDp0aGlzLl9vcHRpb25zLmNvdW50ZG93bkVuYWJsZWQsbGFzdFByaWNlQW5pbWF0aW9uRW5hYmxlZDp0aGlzLl9vcHRpb25zLmxhc3RQcmljZUFuaW1hdGlvbkVuYWJsZWR9O3RoaXMuX21haW5TZXJpZXM9bmV3IGVuLlNlcmllcyh0aGlzLG4sQyxyKSx0aGlzLl90aW1lU2NhbGU9bmV3IFFjKHRoaXMsdGhpcy5fb3B0aW9ucy50aW1lU2NhbGUpLHRoaXMuX3RpbWVTY2FsZS5yZXNldEF2YWlsYWJsZSgpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVSZXNldFNjYWxlc0F2YWlsYWJsZVZhbHVlKSx0aGlzLl9hcHBsaWVkVGltZUZyYW1lPW5ldyB6aCh0aGlzKSx0aGlzLl9tYWluU2VyaWVzLm9uU3R5bGVDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMuX3RpbWVTY2FsZSx0aGlzLl90aW1lU2NhbGUuaW52YWxpZGF0ZVZpc2libGVCYXJzKTtjb25zdCBQPSgpPT50aGlzLmZ1bGxVcGRhdGUoKTt0aGlzLl9tYWluU2VyaWVzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zaG93Q291bnRkb3duLnN1YnNjcmliZSh0aGlzLCgoKT0+ewp0aGlzLl9tYWluU2VyaWVzLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLl9tYWluU2VyaWVzLmlkKCkpKSxQKCl9KSksKDAscnMuY3VycmVuY3lVbml0TWV0cmljVmlzaWJpbGl0eVByb3BlcnR5KSgpLnN1YnNjcmliZSh0aGlzLFApLCgwLG9zLmF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eVByb3BlcnR5KSgpLnN1YnNjcmliZSh0aGlzLFApLHRoaXMuX3RpbWVTY2FsZS52aXNpYmxlQmFyc1N0cmljdFJhbmdlQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLl9tYWluU2VyaWVzLHRoaXMuX21haW5TZXJpZXMuY2xlYXJIaWdoTG93UHJpY2VDYWNoZSksdGhpcy5fdGltZVNjYWxlLnZpc2libGVCYXJzU3RyaWN0UmFuZ2VDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMuX21haW5TZXJpZXMsdGhpcy5fbWFpblNlcmllcy5jbGVhckF2ZXJhZ2VQcmljZUNhY2hlKSx0aGlzLmNyZWF0ZVBhbmUodm9pZCAwLHtheGlzUHJvcGVydGllczpuLmNoaWxkcygpLnByaWNlQXhpc1Byb3BlcnRpZXMuc3RhdGUoWyJhdXRvU2NhbGUiXSl9KSx0aGlzLl9hZGp1c3RGb3JEaXZpZGVuZHNBdmFpbGFiaWxpdHkuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQpLCgwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmRpdmlkZW5kc0FkanVzdG1lbnQpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQpLHRoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQoKSx0aGlzLl9ib3VuZFVwZGF0ZVN0dWRpZXNNYXhPZmZzZXQ9dGhpcy5fdXBkYXRlU3R1ZGllc01heE9mZnNldC5iaW5kKHRoaXMpLHRoaXMubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zZXJpZXNUaW1lRnJhbWUoKS5zdWJzY3JpYmUodGhpcywoKGUsdCxpLHMpPT57aWYobnVsbCE9PXRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZSYmbnVsbCE9PWkmJnMmJigwLFZuLmFyZUVxdWFsVGltZUZyYW1lcykodGhpcy5fbGFzdEFwcGxpZWRHb3RvVGltZVJhbmdlLnJhbmdlLGkpKXtjb25zdCBlPXRoaXMuYXBwbGllZFRpbWVGcmFtZSgpLnZhbHVlKCk7bnVsbCE9PWUmJiF0aGlzLl9sYXN0QXBwbGllZEdvdG9UaW1lUmFuZ2UuYWN0dWFsJiYoMCxWbi5hcmVFcXVhbFRpbWVGcmFtZXMpKHRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZS5yYW5nZSxlLnZhbCkmJnRoaXMuYXBwbGllZFRpbWVGcmFtZSgpLnNldFZhbHVlKG51bGwpLHRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZT1udWxsfX0pKSx0aGlzLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuY29tcGxldGVkKCkuc3Vic2NyaWJlKHRoaXMsKGU9PntudWxsPT09dGhpcy5fbGFzdEFwcGxpZWRHb3RvVGltZVJhbmdlJiZudWxsIT09dGhpcy5fbGFzdEdvdG9UaW1lUmFuZ2UmJnRoaXMuZ290b1RpbWVSYW5nZSh0aGlzLl9sYXN0R290b1RpbWVSYW5nZS5mcm9tLHRoaXMuX2xhc3RHb3RvVGltZVJhbmdlLnRvLHRoaXMuX2xhc3RHb3RvVGltZVJhbmdlKX0pKTtjb25zdCB4PXRoaXMuX3BhbmVzWzBdO3guc2V0U3RyZXRjaEZhY3RvcigyKnguc3RyZXRjaEZhY3RvcigpKSx0aGlzLl9wcm9wZXJ0aWVzLnN1YnNjcmliZSh0aGlzLHRoaXMubGlnaHRVcGRhdGUpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudGltZXpvbmUuc3Vic2NyaWJlKG51bGwsKCgpPT57dGhpcy5fY2hhcnRTZXNzaW9uJiZ0aGlzLl9jaGFydFNlc3Npb24uaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLl9jaGFydFNlc3Npb24uc3dpdGNoVGltZXpvbmUodGhpcy50aW1lem9uZSgpKX0pKSx4LmFkZERhdGFTb3VyY2UodGhpcy5fbWFpblNlcmllcyx4LmZpbmRTdWl0YWJsZVNjYWxlKHRoaXMuX21haW5TZXJpZXMpLCExKSx0aGlzLl9iYXJzTWFya3NTb3VyY2VzPWModGhpcyk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fYmFyc01hcmtzU291cmNlcyllLnNldE93bmVyU291cmNlKHRoaXMuX21haW5TZXJpZXMpLHguYWRkRGF0YVNvdXJjZShlLHRoaXMuX21haW5TZXJpZXMucHJpY2VTY2FsZSgpLCEwKTtpZih0aGlzLl9tYWluU2VyaWVzLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY2xlYXJBdmFpbGFibGVQcmljZVNvdXJjZXMpLHRoaXMuX21haW5TZXJpZXMub25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbEludGVydmFsQ2hhbmdlZCksdGhpcy5fY3JlYXRlTG9sbGlwb3BTb3VyY2VzV2F0Y2hlcigpLHRoaXMuX3dhdGVybWFya1NvdXJjZT10aGlzLl9vcHRpb25zLndhdGVybWFya0VuYWJsZWQ/bmV3IHNsKHRoaXMpOm51bGwsdGhpcy5fdGltZXpvbmVFeGNlcHRFeGNoYW5nZT0oMCx1LmNvbWJpbmUpKCgoZSx0KT0+ImV4Y2hhbmdlIiE9PWU/ZTp0KSwoMCxTdS5jcmVhdGVXVkZyb21Qcm9wZXJ0eSkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS50aW1lem9uZSkub3duZXJzaGlwKCksKDAscWMuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoKCk9PnRoaXMubWFpblNlcmllcygpLnN5bWJvbEluZm8oKT8udGltZXpvbmU/P251bGwpLHRoaXMubWFpblNlcmllcygpLnN5bWJvbFJlc29sdmVkKCkpLm93bmVyc2hpcCgpKSx0aGlzLl91cGRhdGVEYXRlVGltZUZvcm1hdHRlcigpLCF0aGlzLm9uV2lkZ2V0KCkmJigwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImFsZXJ0cyIpJiZ0aGlzLl9pbml0QWxlcnRzTGlzdCgpLHRoaXMuX21haW5TZXJpZXMuZGF0YUV2ZW50cygpLmNvbXBsZXRlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e2lmKHRoaXMuX3Njcm9sbGluZ1N0YXRlJiZ0aGlzLmdvdG9UaW1lKHZvaWQgMCx7dGFyZ2V0UG9pbnRBbGlnbm1lbnQ6dGhpcy5fc2Nyb2xsaW5nU3RhdGUudGFyZ2V0UG9pbnRBbGlnbm1lbnQsYXV0b3NjYWxlQWZ0ZXJTY3JvbGw6dGhpcy5fc2Nyb2xsaW5nU3RhdGUuYXV0b3NjYWxlQWZ0ZXJTY3JvbGx9KSxidSYmIXRoaXMuX21haW5TZXJpZXMucmVxdWVzdE1vcmVEYXRhQXZhaWxhYmxlKCkpewpjb25zdCBlPXRoaXMuX21haW5TZXJpZXMuYmFycygpLmZpcnN0KCk7bnVsbCE9PWUmJnRoaXMuX3RpbWVTY2FsZS5zZXRMZWZ0RWRnZUZpeChlLmluZGV4KX19KSksdGhpcy5fbWFpblNlcmllcy5vbkludGVydmFsQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3JlY2FsY1ZSU3R1ZGllc1BhcmFtcy5vbGRTdGFydFZpc2libGVJbmRleD1OYU4sdGhpcy5fcmVjYWxjVlJTdHVkaWVzUGFyYW1zLm9sZEVuZFZpc2libGVJbmRleD1OYU59KSksdGhpcy5fbWFpblNlcmllcy5kYXRhRXZlbnRzKCkuYmFyUmVjZWl2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLnVwZGF0ZVRpbWVTY2FsZUJhc2VJbmRleCksIXRoaXMuX3JlYWRPbmx5KXt0aGlzLl9tYWluU2VyaWVzLnByb3BlcnRpZXMoKS5hZGRDaGlsZCgicHJpY2VBeGlzUHJvcGVydGllcyIsdGhpcy5fbWFpblNlcmllcy5wcmljZVNjYWxlKCkucHJvcGVydGllcygpKTtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkubGVnZW5kUHJvcGVydGllcy5jaGlsZHMoKTtlLnNob3dTdHVkeVRpdGxlcy5zdWJzY3JpYmUodGhpcywodD0+e3QudmFsdWUoKXx8ZS5zaG93U3R1ZHlBcmd1bWVudHMuc2V0VmFsdWUoITEpfSkpfXRoaXMuX21haW5TZXJpZXMucHJvcGVydGllcygpLmNoaWxkcygpLmludGVydmFsLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKSx0aGlzLl9tYWluU2VyaWVzLm9uVGltZUZyYW1lQXBwbGllZCgpLnN1YnNjcmliZSh0aGlzLChlPT57Y29uc3QgdD1lP3tyZXM6dGhpcy5fbWFpblNlcmllcy5pbnRlcnZhbCgpLHZhbDplfTpudWxsO3RoaXMuYXBwbGllZFRpbWVGcmFtZSgpLnNldFZhbHVlKHQpfSkpLHRoaXMuX21heGltaXplZFBhbmUuc3Vic2NyaWJlKCgoKT0+by5tb2RlbCgpLmZ1bGxVcGRhdGUoKSkpLHRoaXMuX2RhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZC5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVTaG93TGVnZW5kUHJvcGVydHkpLCgwLFQuaGlkZUFsbERyYXdpbmdzKSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRHJhd2luZ3NWaXNpYmlsaXR5Q2hhbmdlZCksKDAsVC5oaWRlQWxsSW5kaWNhdG9ycykoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkluZGljYXRvcnNWaXNpYmlsaXR5Q2hhbmdlZCksaWguZGF0ZUZvcm1hdFByb3BlcnR5LnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKSxUYy50aW1lSG91cnNGb3JtYXRQcm9wZXJ0eS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVEYXRlVGltZUZvcm1hdHRlciksdGhpcy5fY3VycmVudFRvb2wuc3Vic2NyaWJlKChlPT57aWYoKDAsbS5pc0xpbmVUb29sTmFtZSkoZSkpe2NvbnN0IGU9dGhpcy5fc2VsZWN0aW9uLmFsbEl0ZW1zU29ydGVkKCkubWFwKChlPT4oMCxYci5pc0xpbmVUb29sc0dyb3VwKShlKT9lLmlkOmUuaWQoKSkpO3RoaXMuX3ByZXZpb3VzU2VsZWN0ZWREcmF3aW5nT3JHcm91cElkcz1lLHRoaXMuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCl9KSl9dGhpcy5fbWF5YmVVcGRhdGVQcmV2aW91c1NlbGVjdGVkRHJhd2luZ09yR3JvdXAoKSwhKDAsa2kuaXNMaW5lVG9vbExvYWRlZCkoZSkmJigwLGtpLmlzQXN5bmNHZW5lcmljTGluZVRvb2xOYW1lKShlKT8oMCxraS5sb2FkTGluZVRvb2wpKGUpLnRoZW4oKCgpPT50aGlzLl9waGFudG9tU291cmNlQ29udGFpbmVyLm9uVG9vbENoYW5nZWQoKSkpOnRoaXMuX3BoYW50b21Tb3VyY2VDb250YWluZXIub25Ub29sQ2hhbmdlZCgpfSkpLHRoaXMuX3NpZ25hdHVyZVNvdXJjZXM9dGhpcy5fc3R1ZGllc0V4Y2x1ZGVJbnRlcm5hbFdWLnNwYXduKCk7Y29uc3QgTT0oMCx1LmNvbWJpbmUpKChlPT5lLm1hcCgoZT0+ZS5zaWduYXR1cmUoKS53ZWFrUmVmZXJlbmNlKCkpKSksdGhpcy5fc2lnbmF0dXJlU291cmNlcy53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX3NvdXJjZXNTaWduYXR1cmVzPSgwLHUuYWNjdW11bGF0ZSkoKGU9PmUuZmlsdGVyKGEubm90TnVsbCkpLE0ub3duZXJzaGlwKCkpfWRlc3Ryb3koKXt0aGlzLl9hYm9ydENvbnRyb2xsZXIuYWJvcnQoKSx0aGlzLmNsZWFySW50ZXJ2YWxzKCksdGhpcy5yZXNldERlZmVycmVkU3R1ZGllcygpLHRoaXMuX3N5bWJvbEFsaWFzU2VydmljZT8ub25BbGlhc0NoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLmFsbFN0dWRpZXMoKS5mb3JFYWNoKChlPT50aGlzLnJlbW92ZVNvdXJjZShlKSkpLGloLmRhdGVGb3JtYXRQcm9wZXJ0eS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKSxUYy50aW1lSG91cnNGb3JtYXRQcm9wZXJ0eS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKSwoMCxULmhpZGVBbGxJbmRpY2F0b3JzKSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25JbmRpY2F0b3JzVmlzaWJpbGl0eUNoYW5nZWQpLCgwLFQuaGlkZUFsbERyYXdpbmdzKSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25EcmF3aW5nc1Zpc2liaWxpdHlDaGFuZ2VkKSx0aGlzLl9kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fcGhhbnRvbVNvdXJjZUNvbnRhaW5lci5kZXN0cm95KCksdGhpcy5faG92ZXJlZFNvdXJjZUNoYW5nZWQuZGVzdHJveSgpLG51bGwhPT10aGlzLl93YXRlcm1hcmtTb3VyY2UmJih0aGlzLl93YXRlcm1hcmtTb3VyY2UuZGVzdHJveSgpLHRoaXMuX3dhdGVybWFya1NvdXJjZT1udWxsKSxBcnJheS5mcm9tKHRoaXMuX2N1c3RvbVNvdXJjZXNNYXAua2V5cygpKS5mb3JFYWNoKHRoaXMuX3JlbW92ZUN1c3RvbVNvdXJjZSx0aGlzKSwoMCxsLmFzc2VydCkoMD09PXRoaXMuX3RvcG1vc3RDdXN0b21Tb3VyY2VzLmxlbmd0aCksKDAsbC5hc3NlcnQpKDA9PT10aGlzLl9mZ0N1c3RvbVNvdXJjZXMubGVuZ3RoKSwoMCxsLmFzc2VydCkoMD09PXRoaXMuX2JnQ3VzdG9tU291cmNlcy5sZW5ndGgpLCgwLGwuYXNzZXJ0KSgwPT09dGhpcy5fYWxsQ3VzdG9tU291cmNlcy5sZW5ndGgpLCgwLApsLmFzc2VydCkoMD09PXRoaXMuX2N1c3RvbVNvdXJjZXNNYXAuc2l6ZSksdGhpcy5fcGFuZXMuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSx0aGlzLl9wYW5lcy5sZW5ndGg9MCx0aGlzLl9zZXNzaW9ucz1udWxsLG51bGwhPT10aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyJiYodGhpcy5fbG9sbGlwb3BTb3VyY2VzV2F0Y2hlci5kZXN0cm95KCksdGhpcy5fbG9sbGlwb3BTb3VyY2VzV2F0Y2hlcj1udWxsKSxudWxsIT09dGhpcy5fYWxlcnRzV2F0Y2hlciYmdGhpcy5fYWxlcnRzV2F0Y2hlci5kZXN0cm95KCksdGhpcy5vbldpZGdldCgpfHxsaC53aXRoV2Vla2RheVByb3BlcnR5LnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkubGVnZW5kUHJvcGVydGllcy5jaGlsZHMoKS5zaG93TGVnZW5kLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZC51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmJhY2tncm91bmRUeXBlLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3IudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5iYWNrZ3JvdW5kR3JhZGllbnRTdGFydENvbG9yLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3dhdGNoZWRUaGVtZVNwYXduLmRlc3Ryb3koKSx0aGlzLl9sYXN0SG92ZXJlZEhpdHRlc3REYXRhPW51bGwsdGhpcy5fbGFzdFNlbGVjdGVkSGl0dGVzdERhdGE9bnVsbCwoMCxycy5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudW5zdWJzY3JpYmVBbGwodGhpcyksKDAsb3MuYXV0b0xvZ0J1dHRvbnNWaXNpYmlsaXR5UHJvcGVydHkpKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbWFpblNlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW50ZXJ2YWwudW5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVEYXRlVGltZUZvcm1hdHRlciksdGhpcy5fbWFpblNlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvd0NvdW50ZG93bi51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9hbGVydHNDb2xsZWN0aW9uLnZhbHVlKCk/LmRlc3Ryb3koKSx0aGlzLl9hbGVydHNDb2xsZWN0aW9uLnNldFZhbHVlKG51bGwpLHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2Nyb3NzSGFpclNlbGVjdFBvaW50TW9kZS5kZXN0cm95KCksdGhpcy5fbWFpblNlcmllcy5vbkludGVydmFsQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX21haW5TZXJpZXMub25UaW1lRnJhbWVBcHBsaWVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbWFpblNlcmllcy5zeW1ib2xSZXNvbHZlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY2xlYXJBdmFpbGFibGVQcmljZVNvdXJjZXMpLHRoaXMuX21haW5TZXJpZXMub25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU3ltYm9sSW50ZXJ2YWxDaGFuZ2VkKSx0aGlzLl9tYWluU2VyaWVzLm9uU3R5bGVDaGFuZ2VkKCkudW5zdWJzY3JpYmUodGhpcy5fdGltZVNjYWxlLHRoaXMuX3RpbWVTY2FsZS5pbnZhbGlkYXRlVmlzaWJsZUJhcnMpLHRoaXMuX3RpbWVTY2FsZS52aXNpYmxlQmFyc1N0cmljdFJhbmdlQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX21haW5TZXJpZXMsdGhpcy5fbWFpblNlcmllcy5jbGVhckhpZ2hMb3dQcmljZUNhY2hlKSx0aGlzLl90aW1lU2NhbGUudmlzaWJsZUJhcnNTdHJpY3RSYW5nZUNoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLl9tYWluU2VyaWVzLHRoaXMuX21haW5TZXJpZXMuY2xlYXJBdmVyYWdlUHJpY2VDYWNoZSksdGhpcy5fdGltZVNjYWxlLmJhclNwYWNpbmdDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fdGltZVNjYWxlLm9uU2Nyb2xsKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fdGltZVNjYWxlLmRlc3Ryb3koKSx0aGlzLl90aW1lem9uZUV4Y2VwdEV4Y2hhbmdlLmRlc3Ryb3koKSx0aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyTG9hZGVyPy5kZXN0cm95KCksdGhpcy5fYXBwbGllZFRpbWVGcmFtZS5kZXN0cm95KCksdGhpcy5fY3Jvc3NIYWlyU291cmNlLmRlc3Ryb3koKSx0aGlzLl9jdXJyZW50VG9vbC5kZXN0cm95KCksdGhpcy5fc2lnbmF0dXJlU291cmNlcy5kZXN0cm95KCksdGhpcy5fc291cmNlc1NpZ25hdHVyZXMuZGVzdHJveSgpLHRoaXMuX29uRGVzdHJveWVkLmZpcmUoKSx0aGlzLl9vbkRlc3Ryb3llZC5kZXN0cm95KCksdGhpcy5fbGluZVRvb2xzR3JvdXBNb2RlbC5kZXN0cm95KCksdGhpcy5fZGVzdHJveWVkPSEwfW9uRGVzdHJveWVkKCl7cmV0dXJuIHRoaXMuX29uRGVzdHJveWVkfXJlc3RhcnQoKXt0aGlzLl9jaGFydFNlc3Npb24uc3dpdGNoVGltZXpvbmUodGhpcy50aW1lem9uZSgpKSx0aGlzLl90aW1lU2NhbGUucmVzZXQoKSx0aGlzLl9tYWluU2VyaWVzLnJlc3RhcnQoKTtmb3IoY29uc3QgZSBvZiB0aGlzLmRhdGFTb3VyY2VzKCkpZS5yZXN0YXJ0JiZlIT09dGhpcy5fbWFpblNlcmllcyYmZS5yZXN0YXJ0KCk7dGhpcy5fc2Vzc2lvbnM/LmdldCgpPy5yZXN0YXJ0KCl9dmVyc2lvbigpe3JldHVybiAzfWNvbGxhcHNlZCgpe3JldHVybiB0aGlzLl9oaWJlcm5hdGVXVn12aXNpYmxlUmFuZ2VTdHVkaWVzSW5wdXRzKCl7cmV0dXJuIHRoaXMuX3Zpc2libGVSYW5nZVN0dWRpZXNJbnB1dHMucmVhZG9ubHkoKX1jaGFydFNhdmVUaW1lKCl7cmV0dXJuIHRoaXMuX2NoYXJ0U2F2ZVRpbWV9c2V0Q2hhcnRTYXZlVGltZShlKXt0aGlzLl9jaGFydFNhdmVUaW1lPWV9c3RhcnROb3RTdGFydGVkU3R1ZGllcygpewppZighdGhpcy5fbWFpblNlcmllcy5pc1N0YXJ0ZWQoKSl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzdGFydCBzdHVkaWVzOiBtYWluIHNlcmllcyBpcyBub3Qgc3RhcnRlZCIpO2Zvcihjb25zdCBlIG9mIHRoaXMuZGF0YVNvdXJjZXMoKSkoMCx0aS5pc1N0dWR5KShlKSYmIWUuaXNTdGFydGVkKCkmJmUucmVzdGFydD8uKCl9dW5kb01vZGVsKCl7cmV0dXJuIHRoaXMuX3VuZG9Nb2RlbH1vbkRhdGEoZSl7c3dpdGNoKGUubWV0aG9kKXtjYXNlInRpbWVzY2FsZV91cGRhdGUiOntjb25zdCB0PWUucGFyYW1zO3RoaXMuX3VwZGF0ZVRpbWVTY2FsZSh7aW5kZXg6dC5pbmRleCx6b2Zmc2V0OnQuem9mZnNldCx2YWx1ZXM6dC5jaGFuZ2VzLGluZGV4RGlmZnM6dC5pbmRleF9kaWZmLGJhc2VJbmRleDp0LmJhc2VJbmRleCxtYXJrczp0Lm1hcmtzLGNsZWFyRmxhZzp0LmNsZWFyLGNsZWFyVGlja01hcmtzOnQuY2xlYXJUaWNrTWFya3N9KTticmVha31jYXNlInRpbWVzY2FsZV9jb21wbGV0ZWQiOntjb25zdCB0PUJvb2xlYW4oZS5wYXJhbXNbMF0pO3RoaXMuX3RpbWVTY2FsZS5vblRpbWVTY2FsZUNvbXBsZXRlZCh0KTticmVha319fWFkZFN0cmF0ZWd5U291cmNlKGUsdCl7MSE9PXQmJi0xPT09dGhpcy5fc3RyYXRlZ3lTb3VyY2VzLmluZGV4T2YoZSkmJih0aGlzLl9zdHJhdGVneVNvdXJjZXMucHVzaChlKSx0aGlzLl9zdHJhdGVneVNvdXJjZXNDaGFuZ2UuZmlyZSh0KSx0aGlzLnNldEFjdGl2ZVN0cmF0ZWd5U291cmNlKGUpKX1yZW1vdmVTdHJhdGVneVNvdXJjZShlLHQpe2lmKDE9PT10KXJldHVybjtjb25zdCBpPXRoaXMuX3N0cmF0ZWd5U291cmNlcy5pbmRleE9mKGUpO2lmKC0xIT09aSl7aWYodGhpcy5fc3RyYXRlZ3lTb3VyY2VzLnNwbGljZShpLDEpWzBdPT09dGhpcy5fYWN0aXZlU3RyYXRlZ3lTb3VyY2UudmFsdWUoKSYmdGhpcy51bnNldEFjdGl2ZVN0cmF0ZWd5U291cmNlKCksdGhpcy5fc3RyYXRlZ3lTb3VyY2VzLmxlbmd0aD4wKXtjb25zdCBlPXRoaXMuX3N0cmF0ZWd5U291cmNlc1t0aGlzLl9zdHJhdGVneVNvdXJjZXMubGVuZ3RoLTFdO3RoaXMuc2V0QWN0aXZlU3RyYXRlZ3lTb3VyY2UoZSl9dGhpcy5fc3RyYXRlZ3lTb3VyY2VzQ2hhbmdlLmZpcmUodCl9fXNldEFjdGl2ZVN0cmF0ZWd5U291cmNlKGUpey0xIT09dGhpcy5fc3RyYXRlZ3lTb3VyY2VzLmluZGV4T2YoZSkmJnRoaXMuX2FjdGl2ZVN0cmF0ZWd5U291cmNlLnNldFZhbHVlKGUpfXVuc2V0QWN0aXZlU3RyYXRlZ3lTb3VyY2UoKXt0aGlzLl9hY3RpdmVTdHJhdGVneVNvdXJjZS5zZXRWYWx1ZShudWxsKX1hY3RpdmVTdHJhdGVneVNvdXJjZSgpe3JldHVybiB0aGlzLl9hY3RpdmVTdHJhdGVneVNvdXJjZS5yZWFkb25seSgpfXN0cmF0ZWd5U291cmNlcygpe3JldHVybiB0aGlzLl9zdHJhdGVneVNvdXJjZXN9c3RyYXRlZ3lTb3VyY2VzQ2hhbmdlKCl7cmV0dXJuIHRoaXMuX3N0cmF0ZWd5U291cmNlc0NoYW5nZX1yZXBsYXlTdHVkeVN0cmF0ZWd5KCl7cmV0dXJuIHRoaXMuX3JlcGxheVN0dWR5U3RyYXRlZ3l9c2V0UmVwbGF5U3R1ZHlTdHJhdGVneShlKXt0aGlzLl9yZXBsYXlTdHVkeVN0cmF0ZWd5LnNldFZhbHVlKGUpfWFzeW5jIHJlcGxheVN0dWR5U3RyYXRlZ3lQcm9wZXJ0aWVzKCl7aWYobnVsbD09PXRoaXMuX3JlcGxheVN0dWR5U3RyYXRlZ3lJbnB1dHMpe2NvbnN0IGU9YXdhaXQoMCxwaC5nZXRSZXBsYXlTdHJhdGVneU1ldGFJbmZvKSgpO2lmKG51bGwhPT10aGlzLl9yZXBsYXlTdHVkeVN0cmF0ZWd5SW5wdXRzKXJldHVybiB0aGlzLl9yZXBsYXlTdHVkeVN0cmF0ZWd5SW5wdXRzO3RoaXMuX3JlcGxheVN0dWR5U3RyYXRlZ3lJbnB1dHM9bmV3IEdyLkRlZmF1bHRQcm9wZXJ0eSh7ZGVmYXVsdE5hbWU6InJlcGxheVN0dWR5U3RyYXRlZ3lJbnB1dHMiLGZhY3RvcnlEZWZhdWx0c1N1cHBsaWVyOigpPT4oMCxhLmNsb25lKShlLmRlZmF1bHRzLmlucHV0cyl9KX1yZXR1cm4gdGhpcy5fcmVwbGF5U3R1ZHlTdHJhdGVneUlucHV0c31jbGVhclJlcGxheVN0dWR5U3RyYXRlZ3lQcm9wZXJ0aWVzKCl7dGhpcy5fcmVwbGF5U3R1ZHlTdHJhdGVneUlucHV0cz1udWxsfXNldFNjcm9sbEVuYWJsZWQoZSl7dGhpcy5fc2Nyb2xsRW5hYmxlZD1lfXNjcm9sbEVuYWJsZWQoKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRW5hYmxlZH1zZXRab29tRW5hYmxlZChlKXt0aGlzLl96b29tRW5hYmxlZD1lfXpvb21FbmFibGVkKCl7cmV0dXJuIHRoaXMuX3pvb21FbmFibGVkfWRyYWdFeHBvcnRFbmFibGVkKCl7cmV0dXJuIHRoaXMuX2RyYWdFeHBvcnRFbmFibGVkfWFzeW5jIHNldERyYWdFeHBvcnRFbmFibGVkKGUpe2NvbnNvbGUuZXJyb3IoImZlYXR1cmUgaXMgbm90IGVuYWJsZWQiKX16b29tVG9WaWV3cG9ydChlLHQsaSxzLG4pe3RoaXMuc2V0VGltZVZpZXdwb3J0KGUsdCk7bGV0IHI9TWF0aC5taW4oaSxzKSxvPU1hdGgubWF4KGkscyk7Y29uc3QgYT1uLmRlZmF1bHRQcmljZVNjYWxlKCk7YS5pc1BlcmNlbnRhZ2UoKXx8YS5zZXRNb2RlKHthdXRvU2NhbGU6ITF9KSxhLmlzTG9nKCkmJihyPWEucHJpY2VUb0xvZ2ljYWwociksbz1hLnByaWNlVG9Mb2dpY2FsKG8pKSxhLnNldFByaWNlUmFuZ2UobmV3IFBsLlByaWNlUmFuZ2UocixvKSksdGhpcy5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLHRoaXMuaW52YWxpZGF0ZSh0aGlzLl9wYW5lSW52YWxpZGF0aW9uTWFzayhuLExlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KSl9c2V0VGltZVZpZXdwb3J0KGUsdCl7Y29uc3QgaT10aGlzLmFwcGxpZWRUaW1lRnJhbWUoKS52YWx1ZSgpO251bGwhPT10aGlzLl9sYXN0QXBwbGllZEdvdG9UaW1lUmFuZ2UmJm51bGwhPT1pJiYoMCxWbi5hcmVFcXVhbFRpbWVGcmFtZXMpKHRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZS5yYW5nZSxpLnZhbCkmJiF0aGlzLl9sYXN0QXBwbGllZEdvdG9UaW1lUmFuZ2UuYWN0dWFsfHwodGhpcy50aW1lU2NhbGUoKS56b29tVG9CYXJzUmFuZ2UoZSx0KSx0aGlzLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksCnRoaXMucmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllcyhJaS5SZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzUmVhc29uLlZpZXdwb3J0Q2hhbmdlVXNlckFjdGlvbiksdGhpcy5saWdodFVwZGF0ZSgpKX1vblRhZ3NDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3RhZ3NDaGFuZ2VkfWNhblpvb21Jbigpe3JldHVybiB0aGlzLl90aW1lU2NhbGUuY2FuWm9vbUluKCkmJnRoaXMuX3pvb21FbmFibGVkfWNhblpvb21PdXQoKXtyZXR1cm4gdGhpcy5fdGltZVNjYWxlLmNhblpvb21PdXQoKSYmdGhpcy5fem9vbUVuYWJsZWR9b25QYW5lVGFnc0NoYW5nZWQoKXt0aGlzLl90YWdzQ2hhbmdlZC5maXJlKCl9cGFuZXNDb2xsZWN0aW9uQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkfWRhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWR9c3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWR9c3ltYm9sU291cmNlUmVzb2x2ZWQoKXtyZXR1cm4gdGhpcy5fc3ltYm9sU291cmNlUmVzb2x2ZWR9c3ltYm9sU291cmNlUmVzb2x2aW5nQWN0aXZlKCl7cmV0dXJuIHRoaXMuX3N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZX1hZGp1c3RGb3JEaXZpZGVuZHNBdmFpbGFiaWxpdHkoKXtyZXR1cm4gdGhpcy5fYWRqdXN0Rm9yRGl2aWRlbmRzQXZhaWxhYmlsaXR5fWFkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQoKXtyZXR1cm4gdGhpcy5fYWRqdXN0Rm9yRGl2aWRlbmRzRW5hYmxlZH1hbGxvd2VkQWRqdXN0bWVudCgpe3JldHVybiB0aGlzLl9hbGxvd2VkQWRqdXN0bWVudH1wYW5lQ29sbGFwc2luZ0F2YWlsYWJsZSgpe3JldHVybiB0aGlzLl9wYW5lQ29sbGFwc2luZ0F2YWlsYWJsZX1zb3VyY2VQcm9wZXJ0aWVzQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zb3VyY2VQcm9wZXJpdGVzQ2hhbmdlZH1zb3VyY2VaT3JkZXJDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3NvdXJjZVpPcmRlckNoYW5nZWR9em9vbVRpbWUoZSx0LGkpe2lmKCF0aGlzLl96b29tRW5hYmxlZClyZXR1cm47Y29uc3Qgcz10aGlzLnRpbWVTY2FsZSgpO2lmKHMuaXNFbXB0eSgpfHwwPT09dClyZXR1cm47Y29uc3Qgbj1zLndpZHRoKCk7ZT1NYXRoLm1heCgxLE1hdGgubWluKGUsbi0yKSkscy56b29tKGUsdCxpKSx0aGlzLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5saWdodFVwZGF0ZSgpLHRoaXMucmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllcyhJaS5SZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzUmVhc29uLlZpZXdwb3J0Q2hhbmdlVXNlckFjdGlvbil9bGluZUJlaW5nRWRpdGVkKCl7cmV0dXJuIHRoaXMuX2xpbmVCZWluZ0VkaXRlZD8ubGluZURhdGFTb3VyY2U/P251bGx9bGluZVBvaW50QmVpbmdFZGl0ZWQoKXtyZXR1cm4gdGhpcy5fbGluZUJlaW5nRWRpdGVkPy5wb2ludEluZGV4Pz9udWxsfWxpbmVQb2ludEJlaW5nQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9saW5lQmVpbmdFZGl0ZWQ/LnN0YXJ0Q2hhbmdpbmdQb2ludD8/bnVsbH1hY3RpdmVJdGVtQmVpbmdNb3ZlZCgpe3JldHVybiB0aGlzLl9hY3RpdmVJdGVtQmVpbmdNb3ZlZH1tYWluU2VyaWVzKCl7cmV0dXJuIHRoaXMuX21haW5TZXJpZXN9dXBkYXRlQWxsUGFuZVZpZXdzKGUpe2Zvcihjb25zdCB0IG9mIHRoaXMuX3BhbmVzKXQudXBkYXRlQWxsVmlld3MoZSk7dGhpcy5fd2F0ZXJtYXJrU291cmNlPy51cGRhdGVBbGxWaWV3cyhlKX1kYXRhU291cmNlcygpe2NvbnN0IGU9W3RoaXMuY3Jvc3NoYWlyU291cmNlKCldO2Zvcihjb25zdCB0IG9mIHRoaXMuX3BhbmVzKWZvcihjb25zdCBpIG9mIHQuZGF0YVNvdXJjZXMoKSllLnB1c2goaSk7cmV0dXJuIGV9cHJpY2VEYXRhU291cmNlcygpe2NvbnN0IGU9W107Zm9yKGNvbnN0IHQgb2YgdGhpcy5fcGFuZXMpZm9yKGNvbnN0IGkgb2YgdC5wcmljZURhdGFTb3VyY2VzKCkpZS5wdXNoKGkpO3JldHVybiBlfXN5bWJvbFNvdXJjZXMoKXtjb25zdCBlPVtdO2Zvcihjb25zdCB0IG9mIHRoaXMuX3BhbmVzKWZvcihjb25zdCBpIG9mIHQuc3ltYm9sU291cmNlcygpKWUucHVzaChpKTtyZXR1cm4gZX1vcmRlcmVkRGF0YVNvdXJjZXMoZSl7bGV0IHQ9W3RoaXMuX2Nyb3NzSGFpclNvdXJjZV07Zm9yKGxldCBpPTA7aTx0aGlzLl9wYW5lcy5sZW5ndGg7aSsrKXtsZXQgcz10aGlzLl9wYW5lc1tpXS5zb3VyY2VzQnlHcm91cCgpLmFsbCgpO2UmJihzPXMuc2xpY2UoKS5yZXZlcnNlKCkpLHQ9dC5jb25jYXQocyl9cmV0dXJuIHR9bGluZVRvb2xCeUxpbmtLZXkoZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fcGFuZXMpe2NvbnN0IGk9dC5saW5lVG9vbEJ5TGlua0tleShlKTtpZihpKXJldHVybiBpfXJldHVybiBudWxsfXRpbWVTY2FsZSgpe3JldHVybiB0aGlzLl90aW1lU2NhbGV9c2VsZWN0aW9uKCl7cmV0dXJuIHRoaXMuX3NlbGVjdGlvbn1wcmV2aW91c1NlbGVjdGVkRHJhd2luZ09yR3JvdXBJZHMoKXtyZXR1cm4gdGhpcy5fcHJldmlvdXNTZWxlY3RlZERyYXdpbmdPckdyb3VwSWRzfXNlbGVjdGlvbk1hY3JvKGUsdD0hMSl7Y29uc3QgaT10aGlzLnNlbGVjdGlvbigpLmFsbEl0ZW1zKCk7ZSh7cmVtb3ZlSXRlbUZyb21TZWxlY3Rpb246dGhpcy5fcmVtb3ZlSXRlbUZyb21TZWxlY3Rpb24sYWRkSXRlbVRvU2VsZWN0aW9uOnRoaXMuX2FkZEl0ZW1Ub1NlbGVjdGlvbixjbGVhclNlbGVjdGlvbjp0aGlzLl9jbGVhclNlbGVjdGlvbixzZWxlY3Rpb25PcGVyYXRpb25BdmFpbGFibGU6dGhpcy5fc2VsZWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlLmJpbmQodGhpcyksc2VsZWN0aW9uOnRoaXMuc2VsZWN0aW9uLmJpbmQodGhpcyl9KTtjb25zdCBzPXRoaXMuc2VsZWN0aW9uKCkuYWxsSXRlbXMoKSxuPSgwLGcuc3VidHJhY3QpKGkscykscj0oMCxnLnN1YnRyYWN0KShzLGkpO3IuY29uY2F0KGkpLmZvckVhY2goKGU9PnsoMCxYci5pc0xpbmVUb29sc0dyb3VwKShlKXx8ZS51cGRhdGVBbGxWaWV3cygoMCx0bi5zZWxlY3Rpb25DaGFuZ2VFdmVudCkoKSl9KSkKO2NvbnN0IG89W10sYT1bXTtpZighdClmb3IoY29uc3QgZSBvZiBuKSgwLHJpLmlzTGluZVRvb2wpKGUpJiYoKDAscmkuaXNFZGl0YWJsZVRleHRMaW5lVG9vbCkoZSkmJmUuZGVhY3RpdmF0ZVRleHRFZGl0aW5nKCksZS5zaG91bGRCZVJlbW92ZWRPbkRlc2VsZWN0KCkmJm51bGwhPT10aGlzLmRhdGFTb3VyY2VGb3JJZChlLmlkKCkpJiZvLnB1c2goZSkpLCgwLFhyLmlzTGluZVRvb2xzR3JvdXApKGUpJiZlLnNob3VsZEJlUmVtb3ZlZE9uRGVzZWxlY3QoKSYmbnVsbCE9PXRoaXMuX2xpbmVUb29sc0dyb3VwTW9kZWwuZ3JvdXBGb3JJZChlLmlkKSYmYS5wdXNoKGUpO2lmKDE9PT1yLmxlbmd0aCl7Y29uc3RbZV09cjsoMCxyaS5pc0xpbmVUb29sKShlKSYmZS5oYXNBbGVydCgpLnZhbHVlKCkmJjA9PT1lLmFsZXJ0U3RhdHVzKCkudmFsdWUoKSYmZS5zeW5jaHJvbml6ZUFsZXJ0KCkuY2F0Y2goKCgpPT57fSkpfW8ubGVuZ3RoPjAmJnRoaXMuX3VuZG9Nb2RlbC5yZW1vdmVTb3VyY2VzKG8sITEsdnUpLGEubGVuZ3RoPjAmJmEuZm9yRWFjaCgoZT0+e3RoaXMuX3VuZG9Nb2RlbC5saW5lVG9vbHNHcm91cENvbnRyb2xsZXIoKS5yZW1vdmVHcm91cChlKX0pKSx0aGlzLmxpZ2h0VXBkYXRlKCksKG4ubGVuZ3RoPjB8fHIubGVuZ3RoPjApJiZ0aGlzLl9zZWxlY3RlZFNvdXJjZUNoYW5nZWQuZmlyZSgpLHRoaXMuX21heWJlVXBkYXRlUHJldmlvdXNTZWxlY3RlZERyYXdpbmdPckdyb3VwKCl9b25TZWxlY3RlZFNvdXJjZUNoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc2VsZWN0ZWRTb3VyY2VDaGFuZ2VkfWNoZWNrTGluZVRvb2xBbmRHcm91cFNlbGVjdGlvbigpe2NvbnN0IGU9dGhpcy5zZWxlY3Rpb24oKS5hbGxJdGVtcygpO3RoaXMuX3NlbGVjdGlvbi5jaGVja0xpbmVUb29sQW5kR3JvdXBTZWxlY3Rpb24oKSxlLmxlbmd0aCE9PXRoaXMuc2VsZWN0aW9uKCkuYWxsSXRlbXMoKS5sZW5ndGgmJnRoaXMuX3NlbGVjdGVkU291cmNlQ2hhbmdlZC5maXJlKCl9bGluZVRvb2xzR3JvdXBNb2RlbCgpe3JldHVybiB0aGlzLl9saW5lVG9vbHNHcm91cE1vZGVsfXJlc3RvcmVMaW5lVG9vbHNHcm91cHMoZSl7dGhpcy5fdW5zdWJzY3JpYmVGcm9tTGluZVRvb2xzR3JvdXBNb2RlbCgpLHRoaXMuX2xpbmVUb29sc0dyb3VwTW9kZWwuZGVzdHJveSgpLHRoaXMuX2xpbmVUb29sc0dyb3VwTW9kZWw9c2guZnJvbVN0YXRlKHRoaXMsZSksdGhpcy5fc3Vic2NyaWJlVG9MaW5lVG9vbHNHcm91cE1vZGVsKCl9cmVhbGlnbkxpbmVUb29scyhlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9wYW5lcykodm9pZCAwPT09ZXx8dC5oYXNEYXRhU291cmNlKGUpKSYmdC5yZWFsaWduTGluZVRvb2xzKGUpJiZ0aGlzLl9kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSh0KX1jb3B5VG9PdGhlckNoYXJ0cyhlLHQpe2NvbnN0IGk9dGhpcy5tYWluU2VyaWVzKCkscz1pLnN5bmNNb2RlbCgpLG49dGhpcy50aW1lU2NhbGUoKTtpZihzKWZvcihjb25zdCByIG9mIGUpe2lmKCFyLmlzU3luY2hyb25pemFibGUoKSljb250aW51ZTtjb25zdCBlPXIubGlua0tleSgpLnZhbHVlKCl8fCgwLGx0LnJhbmRvbUhhc2gpKCk7ci5saW5rS2V5KCkuc2V0VmFsdWUoZSk7Y29uc3Qgbz1yLnN0YXRlKCExKSxhPXIubm9ybWFsaXplZFBvaW50cygpLGM9ci5ub3JtYWxpemVkUG9pbnRzRm9yQ3JlYXRpbmcoKSxoPXIucHJvcGVydGllcygpLmludGVydmFsLnZhbHVlKCksZD1pLmludGVydmFsKCksdT1lPT57aWYoeC5JbnRlcnZhbC5pc0VxdWFsKGgsZCkpcmV0dXJuIGUubWFwKChlPT57Y29uc3QgdD0oMCxsLmVuc3VyZU5vdE51bGwpKG4udGltZVBvaW50VG9JbmRleChlLnRpbWVfdCkpK2Uub2Zmc2V0O3JldHVybntwcmljZTplLnByaWNlLHRpbWVTdGFtcDooMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuZXh0ZXJuYWxUaW1lU3RhbXAodCkpfX0pKTt7Y29uc3QgdD1zLmNyZWF0ZU5ld01vZGVsV2l0aFJlc29sdXRpb24oaCk7cmV0dXJuIGUubWFwKChlPT4oe3ByaWNlOmUucHJpY2UsdGltZVN0YW1wOjA9PT1lLm9mZnNldD9lLnRpbWVfdDp0LnByb2plY3RUaW1lKGUudGltZV90LGUub2Zmc2V0KX0pKSl9fSxwPXUoYSksXz11KGMpLG09ey4uLm8saWQ6ci5pZCgpLGxpbmtLZXk6ZSxwb2ludHM6cCxwb2ludHNGb3JDcmVhdGluZzpfLGxpbmV0b29sOnIudG9vbG5hbWUsbW9kZWw6dGhpcyxzeW1ib2w6aS5zeW1ib2woKSx3aXRoVW5kbzp0LHpPcmRlcjpyLnpvcmRlcigpLGZpbmFsU3RhdGU6e3BvaW50czphLGludGVydmFsOmh9LHBvaW50UG9zaXRpb25QZXJjZW50czpyLmlzRml4ZWQoKT9yLmNhbGNQb3NpdGlvblBlcmNlbnRzKCk6dm9pZCAwLHNoYXJpbmdNb2RlOnIuc2hhcmluZ01vZGUoKS52YWx1ZSgpfTsoMCxULmNvcHlMaW5lVG9vbCkobSl9fWlzU25hcHNob3QoKXtyZXR1cm4gdGhpcy5faXNTbmFwc2hvdH1vbldpZGdldCgpe3JldHVybiB0aGlzLl9vcHRpb25zLm9uV2lkZ2V0fWhpZGVJZGVhcygpe3JldHVybiB0aGlzLl9vcHRpb25zLmhpZGVJZGVhc311cGRhdGVTb3VyY2UoZSl7Y29uc3QgdD10aGlzLl9pbnZhbGlkYXRpb25NYXNrRm9yU291cmNlKGUpO251bGwhPT10JiZ0aGlzLmludmFsaWRhdGUodCl9dXBkYXRlU291cmNlUHJpY2VTY2FsZShlKXtjb25zdCB0PXRoaXMuX2ludmFsaWRhdGlvbk1hc2tGb3JTb3VyY2VQcmljZVNjYWxlKGUpO251bGwhPT10JiZ0aGlzLmludmFsaWRhdGUodCl9dXBkYXRlUGFuZShlKXt0aGlzLmludmFsaWRhdGUodGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soZSkpfXVwZGF0ZVRpbWVTY2FsZUJhc2VJbmRleChlKXtjb25zdCB0PXRoaXMubWFpblNlcmllcygpLmJhcnMoKSxpPSh0LmZpcnN0SW5kZXgoKT8/MS8wKTwoZT8uaW5kZXg/Py0xLzApLHM9dGhpcy5fdGltZVNjYWxlLmJhc2VJbmRleCgpO2lmKHQuaXNFbXB0eSgpfHx0aGlzLl91cGRhdGVCYXNlSW5kZXgoKDAsbC5lbnN1cmVOb3ROdWxsKSh0Lmxhc3RJbmRleCgpKSwhIShlJiZlLmluZGV4PjApKSxpJiYhdGhpcy5fdGltZVNjYWxlLmlzQmVpbmdTY3JvbGxlZCgpJiYhdGhpcy5fdGltZVNjYWxlLmlzQmVpbmdTY2FsZWQoKSl7CmNvbnN0IGU9dGhpcy5fdGltZVNjYWxlLmJhc2VJbmRleCgpLXMsdD10aGlzLl90aW1lU2NhbGUucmlnaHRPZmZzZXQoKTt0LXRoaXMuc3R1ZHlBd2FyZURlZmF1bHRSaWdodE9mZnNldCgpPmUmJnRoaXMuX3RpbWVTY2FsZS5zZXRSaWdodE9mZnNldCh0LWUpfX1zZXRJbnRlcnZhbChlLHQpe2NvbnN0IGk9c2V0SW50ZXJ2YWwoZSx0KTtyZXR1cm4gdGhpcy5fbW9kZWxJbnRlcnZhbHMucHVzaChpKSxpfWNsZWFySW50ZXJ2YWwoZSl7Y2xlYXJJbnRlcnZhbChlKTtjb25zdCB0PXRoaXMuX21vZGVsSW50ZXJ2YWxzLmluZGV4T2YoZSk7dD4tMSYmdGhpcy5fbW9kZWxJbnRlcnZhbHMuc3BsaWNlKHQsMSl9Y2xlYXJJbnRlcnZhbHMoKXtmb3IobGV0IGU9MDtlPHRoaXMuX21vZGVsSW50ZXJ2YWxzLmxlbmd0aDtlKyspY2xlYXJJbnRlcnZhbCh0aGlzLl9tb2RlbEludGVydmFsc1tlXSk7dGhpcy5fbW9kZWxJbnRlcnZhbHM9W119Y3JlYXRlU3R1ZHlJbnNlcnRlcihlKXtyZXR1cm4gbmV3IGd1KGUse2NyZWF0ZVN0dWR5OmU9PnRoaXMuaW5zZXJ0U3R1ZHlXaXRoUGFyYW1zKGUpLHN0b3JlRmFpbGVkU3R1YjplPT57fX0pfWluc2VydFN0dWR5V2l0aFBhcmFtcyhlKXtjb25zdHtzdHVkeU1ldGFJbmZvOnQsaW5wdXRzOnMsdGFyZ2V0Wk9yZGVyOm4scHJvcHNTdGF0ZTpyLGZvcmNlT3ZlcmxheTpvLHBhcmVudFNvdXJjZXM6YyxwcmVmZXJyZWRQcmljZVNjYWxlOmgsYWxsb3dDaGFuZ2VDdXJyZW5jeTpkLGFsbG93Q2hhbmdlVW5pdDp1LGFsbG93Q2hhbmdlTWV0cmljOnAscGFuZVNpemU6Xyx0YXJnZXRTY2FsZU1vZGU6bSxpZDpnfT1lO2xldCBmPW51bGw7aWYoIW8mJnZvaWQgMCE9PXQuZ3JvdXBpbmdLZXkpe2NvbnN0IGU9dGhpcy5maW5kTm9uT3ZlcmxheVN0dWR5V2l0aEdyb3VwaW5nS2V5KHQuZ3JvdXBpbmdLZXkpO251bGwhPT1lJiYoZj1lLnBhbmUpfW51bGw9PT1mJiYob3x8dC5pc19wcmljZV9zdHVkeT9mPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lRm9yU291cmNlKGM/LlswXT8/dGhpcy5fbWFpblNlcmllcykpOihmPXRoaXMuY3JlYXRlUGFuZSgpLHZvaWQgMCE9PV8mJmYuc2V0UGFuZVNpemUoXykpKSwiQ29tcGFyZUB0di1iYXNpY3N0dWRpZXMiPT09dC5pZCYmdGhpcy5fbWFpblNlcmllcy5wcmljZVNjYWxlKCkuc2V0TW9kZSh7bG9nOiExLHBlcmNlbnRhZ2U6ITB9KTtjb25zdCBTPSgwLGEubWVyZ2UpKCgwLFdvLmRlZmF1bHQpKHI/P3t9KSx7aW5wdXRzOnMscGFyZW50U291cmNlczpbXX0pO2xldCB2PSExLHk9bnVsbCxiPW51bGw7Y29uc3Qgdz1jPz9bXSxDPVByb21pc2UuYWxsKFtpLmUoMjE3ODQpLGkuZSgzMTAwMSksaS5lKDg2MTc4KSxpLmUoOTE5NDQpLGkuZSg5NzU1OCksaS5lKDY2OTg4KSxpLmUoOTcyNzIpLGkuZSg5MjcwKSxpLmUoODQyNjUpLGkuZSg1MzU1KSxpLmUoMTIyMjcpLGkuZSg1OTY0OSksaS5lKDQ3NTM4KV0pLnRoZW4oaS5iaW5kKGksNDM3NzQ5KSkudGhlbigoKHtwcmVwYXJlU3R1ZHlQcm9wZXJ0aWVzOmV9KT0+ZSh0LFMsZiwoMCxhdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5zdHVkeVZlcnNpb25pbmcoKSx3KSkpLnRoZW4oKGU9Pntjb25zdCBpPW5ldyBvdC5TdHVkeU1ldGFJbmZvKHQuc3RhdGUoKSx0LnVzZVZlcnNpb25Gcm9tTWV0YUluZm8pO3JldHVybiBsYSh0aGlzLGUsdyxpLG5ldyBvdC5TdHVkeU1ldGFJbmZvKHQuc3RhdGUoKSx0LnVzZVZlcnNpb25Gcm9tTWV0YUluZm8pLGcsdm9pZCAwKX0pKSxQPSgwLEF0LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKTtyZXR1cm4gQy50aGVuKChlPT57aWYodilyZXR1cm4gZS5zdG9wKCksdm9pZCBlLmRlc3Ryb3k/LigpO3k9ZS5pZCgpO2NvbnN0IHQ9Zi5maW5kU3VpdGFibGVTY2FsZShlLGM/LlswXT8/dGhpcy5tYWluU2VyaWVzKCksaCk7aWYoYj10Lm1vZGUoKSx0PT09dGhpcy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpJiYoMCxJby5pc1N5bWJvbFNvdXJjZSkoZSkpe2NvbnN0IGk9ZD96bihlLHQsdGhpcywhMCk6bnVsbCxzPXU/KDAsZHUuc291cmNlTmV3VW5pdE9uUGlubmluZ1RvUHJpY2VTY2FsZSkoZSx0LHRoaXMsITApOm51bGwsbj1wP0VoKGUsdCx0aGlzKTpudWxsO251bGw9PT1pJiZudWxsPT09cyYmbnVsbD09PW58fGUuc2V0U3ltYm9sUGFyYW1zKHtjdXJyZW5jeTppPz92b2lkIDAsdW5pdDpzPz92b2lkIDAsbWV0cmljOm4/P3ZvaWQgMH0pfWlmKCgwLElvLmlzU3ltYm9sU291cmNlKShlKSYmKDAsbC5lbnN1cmVOb3ROdWxsKShmKS5oYXNEYXRhU291cmNlKHRoaXMubWFpblNlcmllcygpKSYmeXUmJiFRLmdldEJvb2woImVuYWJsZV9zeW1ib2xfbGFiZWxzX29uX2luc2VydGluZ19jb21wYXJlX29uY2UiLCExKSYmKCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTeW1ib2xMYWJlbHMuc2V0VmFsdWUoITApLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSxRLnNldFZhbHVlKCJlbmFibGVfc3ltYm9sX2xhYmVsc19vbl9pbnNlcnRpbmdfY29tcGFyZV9vbmNlIiwhMCkpLFAucmVzb2x2ZShlLnN0YXJ0KCkpLG4mJmYuaWQoKT09PW4ucGFuZUlkKWYuaW5zZXJ0RGF0YVNvdXJjZShlLHQsbi56b3JkZXIpO2Vsc2V7Zi5hZGREYXRhU291cmNlKGUsdCwhMSk7bnVsbCE9PWUucHJlZmVycmVkWk9yZGVyKCkmJmYuaW5zZXJ0QWZ0ZXIoW2VdLHRoaXMubWFpblNlcmllcygpKX12b2lkIDAhPT1tJiZ0LnNldE1vZGUobSksZS5pc0xpbmtlZFRvU2VyaWVzKCkmJmUuc2V0T3duZXJTb3VyY2UodGhpcy5tYWluU2VyaWVzKCkpLHRoaXMucmVjYWxjdWxhdGVQYW5lKGYsKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpLHRoaXMuZnVsbFVwZGF0ZSgpLHRoaXMuX2ludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGVzKCksdGhpcy5fcmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc0ltcGwoe3N0dWRpZXM6W2VdLHJlYXNvbnM6bmV3IFNldChbSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TdHVkeUNyZWF0aW9uXSl9KSx0aGlzLl9yZWNhbGNDb2xvclN0dWRpZXNJbXBsKHsKc3R1ZGllczpbZV0sZm9yY2U6ITB9KSx0aGlzLl9zdHVkeUluc2VydGVkLmZpcmUoZSksdGhpcy5hbGVydHNXYXRjaGVyKCk/LnN5bmNTb3VyY2VBbGVydExhYmVscyhlKSxlLm1heE9mZnNldCgpLnN1YnNjcmliZSh0aGlzLl9ib3VuZFVwZGF0ZVN0dWRpZXNNYXhPZmZzZXQse2NhbGxXaXRoTGFzdDohMH0pfSkpLHtzdHVkeTpDLHN0YXJ0UHJvbWlzZTpQLnByb21pc2UsY2FuY2VsOigpPT52PSEwLGVudGl0eUlkOigpPT55LG9yaWdpbmFsU2NhbGVNb2RlOigpPT5ifX1yZXBsYWNlU3R1ZHlTdHViKGUsdCl7Y29uc3QgaT10aGlzLnBhbmVGb3JTb3VyY2UoZSk7aWYobnVsbD09PWkpcmV0dXJuITE7Y29uc3Qgcz1lLnByaWNlU2NhbGUoKSxuPWUuem9yZGVyKCkscj1lLm93bmVyU291cmNlKCk7cmV0dXJuIHRoaXMucGFuZUZvclNvdXJjZShlKT09PWk/aS5yZXBsYWNlU291cmNlKGUsdCxzKTooaS5pbnNlcnREYXRhU291cmNlKHQscyxuKSx0aGlzLnJlbW92ZVNvdXJjZShlKSksdC5zZXRPd25lclNvdXJjZShyKSx0aGlzLmRhdGFTb3VyY2VzKCkuZm9yRWFjaCgoaT0+e2kub3duZXJTb3VyY2UoKT09PWUmJihpLnNldE93bmVyU291cmNlKHQpLCgwLHJpLmlzTGluZVRvb2wpKGkpJiZpLnN1cHBvcnRzVGFyZ2V0U2lnbmF0dXJlKCkmJiFpLnRhcmdldFNpZ25hdHVyZSgpLnZhbHVlKCkmJmkuc2V0VGFyZ2V0U2lnbmF0dXJlKHQuc2lnbmF0dXJlKCkudmFsdWUoKSkpfSkpLHRoaXMuX2ludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGVzKCksdC5zdGFydCgpLHRoaXMucmVjYWxjdWxhdGVQYW5lKGksKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHQuaWQoKSkpLHRoaXMuZnVsbFVwZGF0ZSgpLCEwfWluc2VydFN0dWR5U3R1YihlLHQsaSxzKXtjb25zdCBuPXZvaWQgMCE9PXQscj1uZXcgU2EuU3R1ZHlTdHViKHRoaXMsaT8/bnVsbCxlLHQscz8/bnVsbCk7bGV0IG87aWYodHx8IW4pe289KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLm1haW5QYW5lKCkpO2NvbnN0IGU9ITA9PT10P3RoaXMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTpvLmNyZWF0ZVByaWNlU2NhbGVBdFBvc2l0aW9uKCJvdmVybGF5Iik7by5hZGREYXRhU291cmNlKHIsZSwhMSl9ZWxzZSBvPXRoaXMuY3JlYXRlUGFuZSgpLG8uYWRkRGF0YVNvdXJjZShyLG51bGwsITEpO3JldHVybiByLnNldFpvcmRlcihvLm5ld1N0dWR5Wk9yZGVyKCkpLHRoaXMucmVjYWxjdWxhdGVQYW5lKG8sKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHIuaWQoKSkpLHRoaXMuZnVsbFVwZGF0ZSgpLHJ9cmVtb3ZlU3R1ZHlTdHViKGUpe2NvbnN0IHQ9dGhpcy5kYXRhU291cmNlRm9ySWQoZSk7cmV0dXJuIG51bGw9PT10Pyh3dS5sb2dOb3JtYWwoIlN0dWR5U3R1YiBpZD0iK2UrIiBpcyBub3QgZm91bmQgaW4gY2hhcnQgbW9kZWwiKSwhMSk6KHRoaXMucmVtb3ZlU291cmNlKHQpLCEwKX1yZXN0b3JlU3R1ZHlTdHViKGUpe2NvbnN0IHQ9dGhpcy5pbnNlcnRTdHVkeVN0dWIoZS50aXRsZSxlLmlzT3ZlcmxheSxlLmRlc2NyaXB0b3IpO3JldHVybiB0aGlzLnBhbmVGb3JTb3VyY2UodCk/LmNoYW5nZVNvdXJjZUlkKHQsZS5pZCksdC5zZXRTdGF0dXMoZS5zdGF0dXMpLHR9YnVsa0FjdGlvbk1hY3JvKGUpe2NvbnN0IHQ9dGhpcy5fcGFuZXM7dC5mb3JFYWNoKChlPT5lLmJlZ2luQnVsa0FjdGlvbigpKSksZSgpLHQuZm9yRWFjaCgoZT0+ZS5lbmRCdWxrQWN0aW9uKCkpKX1hbGxMaW5lVG9vbHMoKXtyZXR1cm4gdGhpcy5fZ2V0QWxsU291cmNlcyhyaS5pc0xpbmVUb29sKX1hbGxMaW5lVG9vbHNJbmNsdWRpbmdIaWRkZW4oKXtyZXR1cm4gdGhpcy5fZ2V0QWxsU291cmNlcyhyaS5pc0xpbmVUb29sLER1KX1zZXRIb3ZlcmVkU291cmNlKGUsdD1udWxsLGkpe2NvbnN0IHM9dGhpcy5faG92ZXJlZFNvdXJjZSE9PWU7dGhpcy5faG92ZXJlZFNvdXJjZU9yaWdpbj1pPz9udWxsLCFzJiYoMCxNaS5oaXRUZXN0UmVzdWx0RGF0YUFyZUVxdWFsKSh0aGlzLl9sYXN0SG92ZXJlZEhpdHRlc3REYXRhLHQpfHwodGhpcy5fbGFzdEhvdmVyZWRIaXR0ZXN0RGF0YT10LHRoaXMuX2hvdmVyZWRTb3VyY2UmJih0aGlzLl9ob3ZlcmVkU291cmNlLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLmhvdmVyQ2hhbmdlRXZlbnQpKCkpLHRoaXMudXBkYXRlU291cmNlKHRoaXMuX2hvdmVyZWRTb3VyY2UpKSx0aGlzLl9ob3ZlcmVkU291cmNlPWUsdGhpcy5faG92ZXJlZFNvdXJjZSYmKHRoaXMuX2hvdmVyZWRTb3VyY2UudXBkYXRlQWxsVmlld3MoKDAsdG4uaG92ZXJDaGFuZ2VFdmVudCkoKSksdGhpcy51cGRhdGVTb3VyY2UodGhpcy5faG92ZXJlZFNvdXJjZSkpLHMmJnRoaXMuX2hvdmVyZWRTb3VyY2VDaGFuZ2VkLmZpcmUoZSkpfXNldEhpZ2hsaWdodGVkUGxvdChlLHQpeygwLGEuZGVlcEVxdWFscykoZSx0aGlzLl9oaWdobGlnaHRlZFNvdXJjZUluZm8/LnN0dWR5SWRzKSYmdGhpcy5faGlnaGxpZ2h0ZWRTb3VyY2VJbmZvPy5wbG90SWQ9PT10fHwodGhpcy5fdXBkYXRlSGlnaGxpZ2h0ZWRTb3VyY2UoKSx0aGlzLl9oaWdobGlnaHRlZFNvdXJjZUluZm89e3N0dWR5SWRzOmUscGxvdElkOnR9LHRoaXMuX3VwZGF0ZUhpZ2hsaWdodGVkU291cmNlKCkpfWNsZWFySGlnaGxpZ2h0ZWRQbG90KCl7dGhpcy5fdXBkYXRlSGlnaGxpZ2h0ZWRTb3VyY2UoKSx0aGlzLl9oaWdobGlnaHRlZFNvdXJjZUluZm89bnVsbH1oaWdobGlnaHRlZFBsb3RJbmZvKCl7cmV0dXJuIHRoaXMuX2hpZ2hsaWdodGVkU291cmNlSW5mb31wcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXN9Y2hhcnRBcGkoKXtyZXR1cm4gdGhpcy5fY2hhcnRTZXNzaW9ufWRpc2Nvbm5lY3QoKXt0aGlzLl9zZXNzaW9ucz8uZ2V0KCk/LnN0b3AoKTtmb3IoY29uc3QgZSBvZiB0aGlzLmRhdGFTb3VyY2VzKCkpZS5kaXNjb25uZWN0JiZlLmRpc2Nvbm5lY3QoKTt0aGlzLl90aW1lU2NhbGUuZGlzY29ubmVjdCgpfWNyb3NzaGFpclNvdXJjZSgpe3JldHVybiB0aGlzLl9jcm9zc0hhaXJTb3VyY2V9Z3JpZFNvdXJjZSgpe3JldHVybiB0aGlzLl9ncmlkU291cmNlfXB1Ymxpc2hlZENoYXJ0c1RpbWVsaW5lU291cmNlKCl7CmZvcihjb25zdCBlIG9mIHRoaXMuX2JhcnNNYXJrc1NvdXJjZXMpaWYoZSBpbnN0YW5jZW9mIF9lLlB1Ymxpc2hlZENoYXJ0c1RpbWVsaW5lKXJldHVybiBlO3JldHVybiBudWxsfWhvdmVyZWRTb3VyY2UoKXtyZXR1cm4gdGhpcy5faG92ZXJlZFNvdXJjZX1ob3ZlcmVkU291cmNlT3JpZ2luKCl7cmV0dXJuIHRoaXMuX2hvdmVyZWRTb3VyY2VPcmlnaW59aG92ZXJlZFNvdXJjZUNoYW5nZWQoKXtyZXR1cm4gdGhpcy5faG92ZXJlZFNvdXJjZUNoYW5nZWR9bGFzdEhpdHRlc3REYXRhKCl7cmV0dXJuIHRoaXMuX2xhc3RIb3ZlcmVkSGl0dGVzdERhdGF9bGFzdFNlbGVjdGVkSGl0dGVzdERhdGEoKXtyZXR1cm4gdGhpcy5fbGFzdFNlbGVjdGVkSGl0dGVzdERhdGF9bGlnaHRVcGRhdGUoKXt0aGlzLmludmFsaWRhdGUoTGUuSW52YWxpZGF0aW9uTWFzay5saWdodCgpKX1mdWxsVXBkYXRlKCl7dGhpcy5pbnZhbGlkYXRlKExlLkludmFsaWRhdGlvbk1hc2suZnVsbCgpKX1kcmF3VGltZSgpe3JldHVybiB0aGlzLl9kcmF3VGltZX1hc3luYyBzeW5jVGltZVdpdGhNb2RlbChlLHQsaSl7Y29uc3Qgcz10aGlzLm1haW5TZXJpZXMoKS5zeW5jTW9kZWwoKTtpZihudWxsPT09cylyZXR1cm47Y29uc3Qgbj0xZTMqdGhpcy5jcmVhdGVTeW5jUG9pbnQoZSxzLnN5bmNTb3VyY2VUYXJnZXQoKSkuc291cmNlVGltZVRvVGFyZ2V0VGltZSh0LzFlMykscj0oMCxvLmdldF90aW1lem9uZSkoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnRpbWV6b25lRXhjZXB0RXhjaGFuZ2UoKS52YWx1ZSgpKSk7bGV0IGE9KDAsby51dGNfdG9fY2FsKShyLG4pO3JldHVybiB0aGlzLm1haW5TZXJpZXMoKS5pc0RXTSgpJiYoYT1zLmdldFNlc3Npb24oKS5zcGVjLmNvcnJlY3RUcmFkaW5nRGF5KGEpLCgwLG8uc2V0X2htcykoYSwwLDAsMCwwLCgwLG8uZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpKSksdGhpcy5fZ290b1RpbWVJbXBsKGEuZ2V0VGltZSgpLHt0YXJnZXRQb2ludEFsaWdubWVudDoiY2VudGVyIixhbGlnbklmVGFyZ2V0UG9pbnRJc1Zpc2libGU6ITEsYXV0b3NjYWxlQWZ0ZXJTY3JvbGw6ITEsLi4uaX0pLmNhdGNoKCgoKT0+e30pKX1nb3RvVGltZShlLHQpe3JldHVybiB0aGlzLl9nb3RvVGltZUltcGwoZSx7dGFyZ2V0UG9pbnRBbGlnbm1lbnQ6ImNlbnRlciIsYWxpZ25JZlRhcmdldFBvaW50SXNWaXNpYmxlOiEwLGF1dG9zY2FsZUFmdGVyU2Nyb2xsOiEwLC4uLnR9KS5jYXRjaCgoKCk9Pnt9KSl9cmVjYWxjdWxhdGVQYW5lKGUsdCl7ZT8ucmVjYWxjdWxhdGUodCl9cmVjYWxjdWxhdGVBbGxQYW5lcyhlKXt0aGlzLl9wYW5lcy5mb3JFYWNoKCh0PT50LnJlY2FsY3VsYXRlKGUpKSksdGhpcy51cGRhdGVBbGxQYW5lVmlld3MoZSksdGhpcy5jcm9zc2hhaXJTb3VyY2UoKS51cGRhdGVBbGxWaWV3cyhlKX1hc3luYyBnb3RvVGltZVJhbmdlKGUsdCxpKXtjb25zdCBzPXRoaXMudGltZVNjYWxlKCksbj1zLnRpY2tNYXJrcygpLHI9dGhpcy5tYWluU2VyaWVzKCk7aWYoaXx8dGhpcy5fbGFzdEdvdG9UaW1lUmFuZ2U/LmRlZmVycmVkLnJlamVjdCgpLHZvaWQgMD09PW4ubWluSW5kZXgpcmV0dXJuIHZvaWQoaXx8KHRoaXMuX2xhc3RHb3RvVGltZVJhbmdlPXtmcm9tOmUsdG86dCxkZWZlcnJlZDooMCxBdC5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCl9KSk7bGV0IGE9ZSxjPXQ7aWYobnVsbCE9PXIuc3ltYm9sSW5mbygpKXtjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy50aW1lem9uZUV4Y2VwdEV4Y2hhbmdlKCkudmFsdWUoKSkscz0oMCxvLmdldF90aW1lem9uZSkoaSksbj0oMCxvLnV0Y190b19jYWwpKHMsZSksaD0oMCxvLnV0Y190b19jYWwpKHMsdCk7aWYoci5pc0RXTSgpKXtjb25zdCBlPSgwLG8uZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpOygwLG8uc2V0X2htcykobiwwLDAsMCwwLGUpLCgwLG8uc2V0X2htcykoaCwwLDAsMCwwLGUpfWE9bi5nZXRUaW1lKCksYz1oLmdldFRpbWUoKX1jb25zdCBoPSgwLGwuZW5zdXJlRGVmaW5lZCkobi5tYXhJbmRleCksZD0oMCxsLmVuc3VyZURlZmluZWQpKG4ubWluSW5kZXgpO2lmKCEoYT49KDAsbC5lbnN1cmVOb3ROdWxsKShuLmluZGV4VG9UaW1lKGQpKS52YWx1ZU9mKCl8fHIuZW5kT2ZEYXRhKCl8fGkpKXtjb25zdCBzPXt0eXBlOiJ0aW1lLXJhbmdlIixmcm9tOmUvMWUzLHRvOnQvMWUzfTtyZXR1cm4gbnVsbD09PXRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZSYmKHRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZT17cmFuZ2U6cyxhY3R1YWw6ITB9LHIubG9hZERhdGFUbyhzKSksaXx8KGk9dGhpcy5fbGFzdEdvdG9UaW1lUmFuZ2U9e2Zyb206ZSx0bzp0LGRlZmVycmVkOigwLEF0LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKX0pLGkuZGVmZXJyZWQucHJvbWlzZX17Y29uc3QgZT0oZSx0KT0+ZTx0LHQ9ZT0+KDAsbC5lbnN1cmVOb3ROdWxsKShuLmluZGV4VG9UaW1lKGUpKS52YWx1ZU9mKCksbz0oMCxnLmxvd2VyYm91bmRFeHQpKHQsYSxlLG4ubmVhcmVzdEluZGV4KGEpLGgpO2xldCB1PWE9PT1jP286KDAsZy5sb3dlcmJvdW5kRXh0KSh0LGMsZSxuLm5lYXJlc3RJbmRleChjKSxoKTt0aGlzLl9sYXN0R290b1RpbWVSYW5nZT1udWxsLG51bGwhPT10aGlzLl9sYXN0QXBwbGllZEdvdG9UaW1lUmFuZ2UmJih0aGlzLl9sYXN0QXBwbGllZEdvdG9UaW1lUmFuZ2UuYWN0dWFsPSExKTtjb25zdCBwPXMuYmFzZUluZGV4KCk7aWYobytNYXRoLm1heCh1LW8rMSxzLm1pblZpc2libGVCYXJDb3VudCgpKT5wKXtjb25zdCBlPXMudGFyZ2V0RGVmYXVsdFJpZ2h0T2Zmc2V0KCk7dS1wPGUmJih1PXArZSl9Y29uc3QgXz1vPT09dSYmbz09PWQmJnIuZW5kT2ZEYXRhKCk/by0xOm87cy56b29tVG9CYXJzUmFuZ2UoXyx1KSx0aGlzLnVwZGF0ZUFsbFBhbmVWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLmxpZ2h0VXBkYXRlKCksaT8uZGVmZXJyZWQucmVzb2x2ZSgpfX1wYW5lRm9yU291cmNlKGUpe2lmKGU9PT10aGlzLl9tYWluU2VyaWVzLmFjdGl2ZVN0dWR5QmluZGluZygpKXJldHVybiB0aGlzLm1haW5QYW5lKCk7aWYoISgwLApBaS5pc0RhdGFTb3VyY2UpKGUpKXJldHVybiBBcnJheS5mcm9tKHRoaXMuX2N1c3RvbVNvdXJjZXNNYXAudmFsdWVzKCkpLmluY2x1ZGVzKGUpP3RoaXMucGFuZUZvclNvdXJjZSh0aGlzLm1haW5TZXJpZXMoKSk6bnVsbDtmb3IobGV0IHQ9dGhpcy5fcGFuZXMubGVuZ3RoLTE7dD49MDt0LS0paWYodGhpcy5fcGFuZXNbdF0uaGFzRGF0YVNvdXJjZShlKSlyZXR1cm4gdGhpcy5fcGFuZXNbdF07cmV0dXJuIGUgaW5zdGFuY2VvZiBNaC5CYXJzTWFya3NDb250YWluZXI/dGhpcy5wYW5lRm9yU291cmNlKHRoaXMubWFpblNlcmllcygpKTpudWxsfXBhbmVGb3JMaW5lVG9vbHNHcm91cChlKXtyZXR1cm4gdGhpcy5wYW5lRm9yU291cmNlKGUubGluZVRvb2xzKClbMF0pfW1haW5QYW5lKCl7cmV0dXJuIHRoaXMuX3BhbmVzLmZpbmQoKGU9PmUuaXNNYWluUGFuZSgpLnZhbHVlKCkpKT8/bnVsbH1sYXN0UGFuZSgpe3JldHVybiB0aGlzLl9wYW5lc1t0aGlzLl9wYW5lcy5sZW5ndGgtMV19cmVtb3ZlU291cmNlKGUsdCl7dGhpcy5zZWxlY3Rpb25NYWNybygodD0+dC5yZW1vdmVJdGVtRnJvbVNlbGVjdGlvbihlKSksITApLHRoaXMuX2hvdmVyZWRTb3VyY2U9PT1lJiYodGhpcy5faG92ZXJlZFNvdXJjZT1udWxsLHRoaXMuX2xhc3RIb3ZlcmVkSGl0dGVzdERhdGE9bnVsbCksdGhpcy5fc291cmNlc0JlaW5nTW92ZWQuaW5jbHVkZXMoZSkmJih0aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZD10aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZC5maWx0ZXIoKHQ9PnQhPT1lKSksdGhpcy5fc291cmNlc0JlaW5nTW92ZWQubGVuZ3RofHwodGhpcy5fYWN0aXZlSXRlbUJlaW5nTW92ZWQ9bnVsbCkpLGU9PT10aGlzLl9saW5lQmVpbmdFZGl0ZWQ/LmxpbmVEYXRhU291cmNlJiYodGhpcy5fbGluZUJlaW5nRWRpdGVkPW51bGwsVC5pc1Rvb2xFZGl0aW5nTm93LnNldFZhbHVlKCExKSksZT09PXRoaXMubGluZUJlaW5nQ3JlYXRlZCgpJiYodGhpcy5fbGluZXNCZWluZ0NyZWF0ZWQuc2hpZnQoKSwwPT09dGhpcy5fbGluZXNCZWluZ0NyZWF0ZWQubGVuZ3RoJiZULmlzVG9vbENyZWF0aW5nTm93LnNldFZhbHVlKCExKSksIXQmJmUuc3RvcCYmZS5zdG9wKCk7KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLmFsZXJ0c1dhdGNoZXIoKSkucmVtb3ZlU291cmNlQWxlcnRMYWJlbHMoZSk7Y29uc3QgaT10aGlzLmRldGFjaFNvdXJjZShlKSxzPXRoaXMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTtyZXR1cm4oMCx0aS5pc1N0dWR5KShlKSYmKDAsSW8uaXNTeW1ib2xTb3VyY2UpKGUpJiZlLnByaWNlU2NhbGUoKT09PXMmJnMuaXNQZXJjZW50YWdlKCkmJjE9PT1zLnNlcmllc0xpa2VTb3VyY2VzKCkubGVuZ3RoJiZzLnNldE1vZGUoe3BlcmNlbnRhZ2U6ITF9KSx0aGlzLmZ1bGxVcGRhdGUoKSx0aGlzLl9pbnZhbGlkYXRlQmFyQ29sb3JlckNhY2hlcygpLCgwLHRpLmlzU3R1ZHkpKGUpJiYoKDAsJC5lbWl0KSgic3R1ZHlfZXZlbnQiLGUuaWQoKSwicmVtb3ZlIiksZS5pc0NoaWxkU3R1ZHkoKSYmZS5wYXJlbnRTb3VyY2VzKCkuZm9yRWFjaCgodD0+dC51bnNldENoaWxkKGUpKSksZS5tYXhPZmZzZXQoKS51bnN1YnNjcmliZSh0aGlzLl9ib3VuZFVwZGF0ZVN0dWRpZXNNYXhPZmZzZXQpKSwhdCYmZS5kZXN0cm95JiZlLmRlc3Ryb3koKSwoMCxyaS5pc0xpbmVUb29sKShlKSYmKGUucmVtb3ZlQWxlcnQoKSwoMCwkLmVtaXQpKCJkcmF3aW5nX2V2ZW50IixlLmlkKCksInJlbW92ZSIpKSxpfW1haW5TZXJpZXNTY2FsZVJhdGlvKCl7cmV0dXJuKDAsaWEuc2NhbGVSYXRpbykodGhpcy5fdGltZVNjYWxlLHRoaXMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKSl9c2V0TWFpblNlcmllc1NjYWxlUmF0aW8oZSl7KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnBhbmVGb3JTb3VyY2UodGhpcy5fbWFpblNlcmllcykpLmFwcGx5UHJpY2VTY2FsZVJhdGlvKHRoaXMuX21haW5TZXJpZXMucHJpY2VTY2FsZSgpLGUpfXRpbWV6b25lKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudGltZXpvbmUudmFsdWUoKX10aW1lem9uZUV4Y2VwdEV4Y2hhbmdlKCl7cmV0dXJuIHRoaXMuX3RpbWV6b25lRXhjZXB0RXhjaGFuZ2V9YWxsU3R1ZGllcyhlKXtjb25zdCB0PWU/ZT0+KDAsdGkuaXNTdHVkeSkoZSkmJiFzaShlKTp0aS5pc1N0dWR5O3JldHVybiB0aGlzLl9nZXRBbGxTb3VyY2VzKHQpfXN0dWRpZXNXVihlKXtyZXR1cm4gZT90aGlzLl9zdHVkaWVzRXhjbHVkZUludGVybmFsV1YucmVhZG9ubHkoKTp0aGlzLl9zdHVkaWVzV1YucmVhZG9ubHkoKX1zaWduYXR1cmVTb3VyY2VzKCl7cmV0dXJuIHRoaXMuX3NpZ25hdHVyZVNvdXJjZXN9c291cmNlc1NpZ25hdHVyZXMoKXtyZXR1cm4gdGhpcy5fc291cmNlc1NpZ25hdHVyZXN9bGlzdFVzZXJTdHVkaWVzKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IGkgb2YgdGhpcy5fcGFuZXMpZm9yKGNvbnN0IHMgb2YgaS5wcmljZURhdGFTb3VyY2VzKCkpaWYoISgwLHRpLmlzRnVuZGFtZW50YWxTdHVkeSkocykmJigwLHRpLmlzU3R1ZHkpKHMpJiZzLnNob3dJbk9iamVjdFRyZWUoKSl7Y29uc3R7aWQ6aSxzaG9ydERlc2NyaXB0aW9uOm59PXMubWV0YUluZm8oKTtpZihlLmRvbnRDb3VudFZvbHVtZSYmIlZvbHVtZUB0di1iYXNpY3N0dWRpZXMiPT09aXx8ZS5kb250Q291bnRDb21wYXJlJiYiQ29tcGFyZUB0di1iYXNpY3N0dWRpZXMiPT09aXx8ZS5kb250Q291bnRPdmVybGF5JiYiT3ZlcmxheUB0di1iYXNpY3N0dWRpZXMiPT09aSljb250aW51ZTt0LnB1c2gobil9cmV0dXJuIHR9ZmluZE5vbk92ZXJsYXlTdHVkeVdpdGhHcm91cGluZ0tleShlLHQpe2NvbnN0IGk9dm9pZCAwIT09dD9bdF06dGhpcy5fcGFuZXM7Zm9yKGNvbnN0IHQgb2YgaSl7Y29uc3QgaT10LmRhdGFTb3VyY2VzKCkuZmluZCgoaT0+KDAsdGkuaXNTdHVkeSkoaSkmJmkubWV0YUluZm8oKS5ncm91cGluZ0tleT09PWUmJiF0LmlzT3ZlcmxheShpKSkpO2lmKHZvaWQgMCE9PWkpcmV0dXJue3BhbmU6dCxzdHVkeTppfX1yZXR1cm4gbnVsbH1jYW5Nb3ZlUGFuZVVwKGUpe2lmKDA9PT1lKXJldHVybiExCjtjb25zdCB0PXRoaXMuX3BhbmVzW2VdLGk9dGhpcy5fcGFuZXNbZS0xXTtyZXR1cm4gdC5tb2RlKCk9PT1NLlBhbmVNb2RlLldpZGdldD9pLmNvbnRhaW5zTWFpblNlcmllcygpOmkubW9kZSgpIT09TS5QYW5lTW9kZS5XaWRnZXR8fCF0LmNvbnRhaW5zTWFpblNlcmllcygpfHwxIT09ZX1tb3ZlUGFuZVVwKGUpe3RoaXMubW92ZVBhbmUoZSxlLTEpfWNhbk1vdmVQYW5lRG93bihlKXtpZihlPT09dGhpcy5fcGFuZXMubGVuZ3RoLTEpcmV0dXJuITE7Y29uc3QgdD10aGlzLl9wYW5lc1tlXSxpPXRoaXMuX3BhbmVzW2UrMV07cmV0dXJuIHQubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQ/aS5jb250YWluc01haW5TZXJpZXMoKTppLm1vZGUoKSE9PU0uUGFuZU1vZGUuV2lkZ2V0fHwhdC5jb250YWluc01haW5TZXJpZXMoKXx8ZSE9PXRoaXMuX3BhbmVzLmxlbmd0aC0yfW1vdmVQYW5lRG93bihlKXt0aGlzLm1vdmVQYW5lKGUsZSsxKX1tb3ZlUGFuZShlLHQpe2NvbnN0IGk9dGhpcy5fcGFuZXNbZV07dGhpcy5fcGFuZXMuc3BsaWNlKGUsMSksdGhpcy5fcGFuZXMuc3BsaWNlKHQsMCxpKSx0aGlzLl9wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkLmZpcmUodGhpcy5fcGFuZXMpLHRoaXMuX29uUmVhcnJhbmdlUGFuZXMuZmlyZSgpLHRoaXMuX2ludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGVzKCksdGhpcy5pbnZhbGlkYXRlKExlLkludmFsaWRhdGlvbk1hc2sucGFuZXNPcmRlcigpKX10b2dnbGVDb2xsYXBzZWRQYW5lKGUpe2NvbnN0IHQ9dGhpcy5fcGFuZXNbZV07dC5jb2xsYXBzZWQoKS5zZXRWYWx1ZSghdC5jb2xsYXBzZWQoKS52YWx1ZSgpKSx0aGlzLmZ1bGxVcGRhdGUoKX1zZW5kVG9CYWNrKGUpe3RoaXMuX3NlbmRUbyhlLCgoZSx0KT0+ZS5zZW5kVG9CYWNrKHQpKSl9YnJpbmdUb0Zyb250KGUpe3RoaXMuX3NlbmRUbyhlLCgoZSx0KT0+ZS5icmluZ1RvRnJvbnQodCkpKX1iYWNrZ3JvdW5kQ29sb3IoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZENvbG9yfWJhY2tncm91bmRUb3BDb2xvcigpe3JldHVybiB0aGlzLl9iYWNrZ3JvdW5kVG9wQ29sb3J9YmFja2dyb3VuZENvbG9yQXRZUGVyY2VudEZyb21Ub3AoZSl7Y29uc3QgdD10aGlzLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCksaT10aGlzLmJhY2tncm91bmRUb3BDb2xvcigpLnZhbHVlKCk7cmV0dXJuIHRoaXMuX2JhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wLmdyYWRpZW50Q29sb3IoaSx0LGUpfWJhY2tncm91bmRDb3VudGVyQ29sb3IoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZENvdW50ZXJDb2xvci5yZWFkb25seSgpfWRhcmsoKXtyZXR1cm4gdGhpcy5faXNEYXJrfWJhY2tncm91bmRUaGVtZSgpe3JldHVybiB0aGlzLl9iYWNrZ3JvdW5kVGhlbWV9cmVhZE9ubHkoKXtyZXR1cm4gdGhpcy5fcmVhZE9ubHl9ZGVmYXVsdFJlc29sdXRpb25zKCl7cmV0dXJuIHRoaXMuY2hhcnRBcGkoKS5kZWZhdWx0UmVzb2x1dGlvbnMoKX1hdmFpbGFibGVDdXJyZW5jaWVzKCl7cmV0dXJuIHRoaXMuX2dldEF2YWlsYWJsZUN1cnJlbmNpZXMoKSx0aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzLnJlYWRvbmx5KCl9Y3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZCgpe3JldHVybiB0aGlzLl9vcHRpb25zLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWR9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gdGhpcy5fZ2V0QXZhaWxhYmxlVW5pdHMoKSx0aGlzLl9hdmFpbGFibGVVbml0cy5yZWFkb25seSgpfXVuaXRDb252ZXJzaW9uRW5hYmxlZCgpe3JldHVybiB0aGlzLl9vcHRpb25zLnVuaXRDb252ZXJzaW9uRW5hYmxlZH1hdmFpbGFibGVNZXRyaWNzKCl7bGV0IGU9dGhpcy5fZ2V0QWxsQXZhaWxhYmxlTWV0cmljcygpO2NvbnN0IHQ9dGhpcy5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpPy5tZXRyaWNzO3JldHVybiB0JiYoZT1lLmZpbHRlcigoZT0+dm9pZCAwIT09dC5pdGVtc1tlLmlkXSkpKSxlLmxlbmd0aCE9PXRoaXMuX2F2YWlsYWJsZU1ldHJpY3Muc2l6ZSgpJiYodGhpcy5fYXZhaWxhYmxlTWV0cmljcz1uZXcgRGgoZSkpLHRoaXMuX2F2YWlsYWJsZU1ldHJpY3N9bWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5tZXRyaWNDb252ZXJzaW9uRW5hYmxlZH1hdmFpbGFibGVQcmljZVNvdXJjZXMoZSl7Y29uc3QgdD10aGlzLl9nZXRBdmFpbGFibGVQcmljZVNvdXJjZXMoZSk7cmV0dXJuIG51bGwhPT10JiZ0aGlzLl9hdmFpbGFibGVQcmljZVNvdXJjZXMucHJpY2VTb3VyY2VzQ2hhbmdlZCh0KSYmKHRoaXMuX2F2YWlsYWJsZVByaWNlU291cmNlcz1uZXcgZnUodCkpLHRoaXMuX2F2YWlsYWJsZVByaWNlU291cmNlc31yZXNldERlZmVycmVkU3R1ZGllcygpe0tsLkRlZmVycmVkU3R1ZGllcy5pbnN0YW5jZSh0aGlzKS5yZXNldCgpfXdhaXRGb3JTdHVkeShlKXtjb25zdCB0PXRoaXMuZGF0YVNvdXJjZUZvcklkKGUpO3JldHVybiB0JiYoMCx0aS5pc1N0dWR5KSh0KT9Qcm9taXNlLnJlc29sdmUodCk6S2wuRGVmZXJyZWRTdHVkaWVzLmluc3RhbmNlKHRoaXMpLmdldChlKX1yZXNldFdhaXRGb3JTdHVkeShlKXtLbC5EZWZlcnJlZFN0dWRpZXMuaW5zdGFuY2UodGhpcykuZGVsZXRlKGUpfWlzSnVzdENsb25lZENoYXJ0KCl7cmV0dXJuIHRoaXMuX3VuZG9Nb2RlbC5pc0p1c3RDbG9uZWRDaGFydCgpfXN0dWR5VGVtcGxhdGUoZSx0LGkpe2NvbnN0IHM9e3BhbmVzOltdLHZlcnNpb246dGhpcy52ZXJzaW9uKCl9O2Zvcihjb25zdCBlIG9mIHRoaXMucGFuZXMoKSlzLnBhbmVzLnB1c2goZS5zdGF0ZSh7aW5jbHVkZVNvdXJjZXM6ITAsaXNTdHVkeVRlbXBsYXRlOiEwfSkpO2NvbnN0IG49dGhpcy5tYWluU2VyaWVzKCk7cmV0dXJuIGUmJihzLnN5bWJvbD1uLnN5bWJvbCgpLHRoaXMuY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZCgpJiZpJiYocy5jdXJyZW5jeT1uLmN1cnJlbmN5KCkpLHRoaXMudW5pdENvbnZlcnNpb25FbmFibGVkKCkmJmkmJihzLnVuaXQ9bi51bml0KCkpKSx0JiYocy5pbnRlcnZhbD1uLmludGVydmFsKCkpLHN9ZGF0YVNvdXJjZUZvcklkKGUpe2Zvcihjb25zdCB0IG9mIHRoaXMuX3BhbmVzKXsKY29uc3QgaT10LmRhdGFTb3VyY2VGb3JJZChlKTtpZihpKXJldHVybiBpfXJldHVybiBudWxsfWdldFN0dWR5QnlJZChlKXtjb25zdCB0PXRoaXMuZGF0YVNvdXJjZUZvcklkKGUpO3JldHVybiBudWxsIT09dCYmKDAsdGkuaXNTdHVkeSkodCk/dDpudWxsfWdldExpbmVUb29sQnlJZChlKXtjb25zdCB0PXRoaXMuZGF0YVNvdXJjZUZvcklkKGUpO3JldHVybiBudWxsIT09dCYmKDAscmkuaXNMaW5lVG9vbCkodCk/dDpudWxsfXJlc3RvcmVMaW5lVG9vbFN0YXRlKGUsdCxpKXt0LnBvc2l0aW9uUGVyY2VudHM/ZS5yZXN0b3JlUG9zaXRpb25QZXJjZW50cyh0LnBvc2l0aW9uUGVyY2VudHMpOihlLmNsZWFyRml4ZWRQb2ludCgpLGUucmVzdG9yZVBvaW50cyh0LnBvaW50cyx0LmluZGV4ZXN8fFtdKSksdC5zdGF0ZS5pbnRlcnZhbHNWaXNpYmlsaXRpZXM9KDAsSmwubWVyZ2VJbnRlcnZhbFZpc2liaWxpdGllc0RlZmF1bHRzKSh0LnN0YXRlLmludGVydmFsc1Zpc2liaWxpdGllcyksZS5saW5rS2V5KCkuc2V0VmFsdWUodC5saW5rS2V5fHxudWxsKSxlLnByb3BlcnRpZXMoKS5tZXJnZUFuZEZpcmUodC5zdGF0ZSksZS5yZXN0b3JlRGF0YSYmZS5yZXN0b3JlRGF0YSh0KSxlLmNyZWF0ZVNlcnZlclBvaW50cygpLGUuc2V0Wm9yZGVyKHQuem9yZGVyPz9lLnpvcmRlcigpKSx0aGlzLmZ1bGxVcGRhdGUoKTtjb25zdCBzPWUubGlua0tleSgpLnZhbHVlKCk7bnVsbCE9PXMmJmkmJiF0aGlzLl9saW5lVG9vbHNTeW5jQmxvY2smJigwLFQucmVzdG9yZUxpbmVUb29sU3RhdGUpKHttb2RlbDp0aGlzLGxpbmtLZXk6cyxzdGF0ZTp0fSl9cmVzdG9yZUZhY3RvcnlEZWZhdWx0cyhlKXtlLnJlc3RvcmVGYWN0b3J5RGVmYXVsdHMoKSx0aGlzLnJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXMoSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5WaWV3cG9ydENoYW5nZVVzZXJBY3Rpb24pfXByZWZlcmVuY2VzKCl7cmV0dXJuKDAsY3UucHJlZmVyZW5jZXNCeVdoaXRlTGlzdCkodGhpcyx0aGlzLm1haW5TZXJpZXMoKSl9YXBwbHlQcmVmZXJlbmNlcyhlKXtmb3IoY29uc3RbdCxpXW9mIE9iamVjdC5lbnRyaWVzKGUpKXtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGQodCk7dm9pZCAwIT09aSYmdm9pZCAwIT09ZSYmZS5tZXJnZUFuZEZpcmUoaSl9aWYodm9pZCAwIT09ZS50aW1lU2NhbGUpe2NvbnN0IHQ9ZS50aW1lU2NhbGU7dGhpcy5fdGltZVNjYWxlLmRlZmF1bHRSaWdodE9mZnNldCgpLnNldFZhbHVlKHQuZGVmYXVsdFJpZ2h0T2Zmc2V0KSx0aGlzLl90aW1lU2NhbGUuZGVmYXVsdFJpZ2h0T2Zmc2V0UGVyY2VudGFnZSgpLnNldFZhbHVlKHQuZGVmYXVsdFJpZ2h0T2Zmc2V0UGVyY2VudGFnZSksdGhpcy5fdGltZVNjYWxlLnVzZVBlcmNlbnRhZ2VSaWdodE9mZnNldCgpLnNldFZhbHVlKHQudXNlUGVyY2VudGFnZVJpZ2h0T2Zmc2V0KX10aGlzLl9wcm9wZXJ0aWVzLnNhdmVEZWZhdWx0cygpLHRoaXMuX21haW5TZXJpZXMuYXBwbHlQcmVmZXJlbmNlcyhlLm1haW5TZXJpZXMpLHRoaXMuc2Vzc2lvbnMoKS5yZXN0b3JlU3RhdGUoe3Byb3BlcnRpZXM6ZS5zZXNzaW9uc30sITEpLHRoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi5nbG9iYWxDaGFuZ2VFdmVudCkoKSksdGhpcy5mdWxsVXBkYXRlKCl9cmVzdG9yZVRoZW1lKGUsdCxpKXtlLm1haW5Tb3VyY2VQcm9wZXJ0aWVzLmhvbGxvd0NhbmRsZVN0eWxlfHwoZS5tYWluU291cmNlUHJvcGVydGllcy5ob2xsb3dDYW5kbGVTdHlsZT1lLm1haW5Tb3VyY2VQcm9wZXJ0aWVzLmNhbmRsZVN0eWxlKSx0aGlzLl91bmRvTW9kZWwuY2hhcnRMb2FkVGhlbWUoZSx0LGkpfXVwZGF0ZVNjYWxlcygpe3RoaXMubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wcmljZUF4aXNQcm9wZXJ0aWVzLmZpcmVDaGFuZ2VkKCl9b25SZXNldFNjYWxlcygpe3JldHVybiB0aGlzLl9yZXNldFNjYWxlc31zdGFydE1vdmluZ1NvdXJjZXMoZSx0LGkscyxuLHIpe3RoaXMuX3NvdXJjZXNCZWluZ01vdmVkPWUsdGhpcy5fYWN0aXZlSXRlbUJlaW5nTW92ZWQ9aTtsZXQgbz0hMTtpZih0aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZC5mb3JFYWNoKChlPT57IW8mJigwLHRpLmlzU3R1ZHkpKGUpJiYobz0hMCk7Y29uc3QgYT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucGFuZUZvclNvdXJjZShlKSksYz0oMCxyaS5pc0xpbmVUb29sKShlKSxoPWMmJmUubGlua0tleSgpLnZhbHVlKCk7aWYoITEhPT1oJiZudWxsIT09aCYmcy5oYXMoaCkmJmMmJmUuaXNGaXhlZCgpKXtjb25zdCB0PSgwLGwuZW5zdXJlRGVmaW5lZCkocy5nZXQoaCkpLG89e3NjcmVlbjp0aGlzLl9wZXJjZW50UG9zaXRpb25Ub1BvaW50KHQsYSl9O2Uuc3RhcnRNb3ZpbmcobyxpLG4scil9ZWxzZSBlLnN0YXJ0TW92aW5nKHQsaSxuLHIpO2NvbnN0IGQ9dGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soYSxMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCk7dGhpcy5pbnZhbGlkYXRlKGQpfSkpLCFyKXtjb25zdFtzLHJdPUF1KGUpO2lmKHMuc2l6ZSYmdC5sb2dpY2FsKXtjb25zdCBvPXRoaXMuZXh0ZXJuYWxUaW1lU3RhbXAodC5sb2dpY2FsLmluZGV4KSxhPXtsaW5rS2V5czpbLi4uc10sdG9vbE5hbWVzOlsuLi5yXSxtb2RlbDp0aGlzLHN5bWJvbDp0aGlzLm1haW5TZXJpZXMoKS5zeW1ib2woKSxwb2ludDp7cHJpY2U6dC5sb2dpY2FsLnByaWNlLHRpbWVTdGFtcDpvfSxhY3RpdmVJdGVtOm51bGwhPT1pP2k6dm9pZCAwLGVudlN0YXRlOm4scG9pbnRQb3NpdGlvblBlcmNlbnRzOm5ldyBNYXB9O2UuZm9yRWFjaCgoZT0+e2lmKCgwLHJpLmlzTGluZVRvb2wpKGUpKXtjb25zdCBpPWUubGlua0tleSgpLnZhbHVlKCk7aWYoaSYmZS5pc1N5bmNocm9uaXphYmxlKCkmJmUuaXNGaXhlZCgpKXtjb25zdCBzPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lRm9yU291cmNlKGUpKTthLnBvaW50UG9zaXRpb25QZXJjZW50cy5zZXQoaSx0aGlzLl9wb2ludFRvUGVyY2VudFBvc2l0aW9uKCgwLGwuZW5zdXJlRGVmaW5lZCkodC5zY3JlZW4pLHMpKX19fSkpLCgwLFQuc3RhcnRNb3ZpbmdMaW5lVG9vbCkoYSl9fQpULmlzVG9vbE1vdmluZ05vdy5zZXRWYWx1ZSghMCksbyYmVC5pc1N0dWR5RWRpdGluZ05vdy5zZXRWYWx1ZSghMCl9bW92ZVNvdXJjZXMoZSx0LGkscyl7aWYodGhpcy5fc291cmNlc0JlaW5nTW92ZWQuZmlsdGVyKChlPT4hZS5pc0xvY2tlZHx8IWUuaXNMb2NrZWQoKSkpLmZvckVhY2goKG49Pntjb25zdCByPSgwLHJpLmlzTGluZVRvb2wpKG4pP24ubGlua0tleSgpLnZhbHVlKCk6bnVsbDtpZihudWxsIT09ciYmdC5oYXMocikpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnBhbmVGb3JTb3VyY2UobikpLG89KDAsbC5lbnN1cmVEZWZpbmVkKSh0LmdldChyKSksYT17c2NyZWVuOnRoaXMuX3BlcmNlbnRQb3NpdGlvblRvUG9pbnQobyxlKX07bi5tb3ZlKGEsdGhpcy5fYWN0aXZlSXRlbUJlaW5nTW92ZWQsaSxzKX1lbHNlIG4ubW92ZShlLHRoaXMuX2FjdGl2ZUl0ZW1CZWluZ01vdmVkLGkscyl9KSksdGhpcy5saWdodFVwZGF0ZSgpLCFzJiZlLmxvZ2ljYWwmJiF0aGlzLl9saW5lVG9vbHNTeW5jQmxvY2spe2NvbnN0W3Qsc109QXUodGhpcy5fc291cmNlc0JlaW5nTW92ZWQpLG49dGhpcy5leHRlcm5hbFRpbWVTdGFtcChlLmxvZ2ljYWwuaW5kZXgpLHI9e2xpbmtLZXlzOlsuLi50XSx0b29sTmFtZXM6Wy4uLnNdLG1vZGVsOnRoaXMscG9pbnQ6e3ByaWNlOmUubG9naWNhbC5wcmljZSx0aW1lU3RhbXA6bn0sZW52U3RhdGU6aSxwb2ludFBvc2l0aW9uUGVyY2VudHM6bmV3IE1hcH07dGhpcy5fc291cmNlc0JlaW5nTW92ZWQuZmlsdGVyKHJpLmlzTGluZVRvb2wpLmZvckVhY2goKHQ9PntpZih0LmxpbmtLZXkoKS52YWx1ZSgpJiZ0LmlzU3luY2hyb25pemFibGUoKSYmdC5pc0ZpeGVkKCkpe2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnBhbmVGb3JTb3VyY2UodCkpO3IucG9pbnRQb3NpdGlvblBlcmNlbnRzLnNldCh0LmxpbmtLZXkoKS52YWx1ZSgpLHRoaXMuX3BvaW50VG9QZXJjZW50UG9zaXRpb24oKDAsbC5lbnN1cmVEZWZpbmVkKShlLnNjcmVlbiksaSkpfX0pKSwoMCxULm1vdmVMaW5lVG9vbCkocil9fWVuZE1vdmluZ1NvdXJjZXMoZSx0LGkpe2NvbnN0IHM9dGhpcy5fc291cmNlc0JlaW5nTW92ZWQubWFwKChzPT57Y29uc3Qgbj0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucGFuZUZvclNvdXJjZShzKSkscj1zLmVuZE1vdmluZyhlLHQsaSksbz10aGlzLl9wYW5lSW52YWxpZGF0aW9uTWFzayhuLExlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KTtyZXR1cm4gby5pbnZhbGlkYXRlQWxsKExlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KSx0aGlzLmludmFsaWRhdGUobykscn0pKTtpZighdCYmIXRoaXMuX2xpbmVUb29sc1N5bmNCbG9jayl7Y29uc3RbZSx0XT1BdSh0aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZCksaT10aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZC5maWx0ZXIocmkuaXNMaW5lVG9vbCkuZmlsdGVyKChlPT5lLmlzU3luY2hyb25pemFibGUoKSYmISFlLmxpbmtLZXkpKS5tYXAoKGU9Pntjb25zdCB0PXtwb2ludHM6ZS5ub3JtYWxpemVkUG9pbnRzKCksaW50ZXJ2YWw6dGhpcy5tYWluU2VyaWVzKCkuaW50ZXJ2YWwoKX07cmV0dXJuIGUuaXNGaXhlZCgpJiYodC5wb2ludFBvc2l0aW9uUGVyY2VudHM9ZS5jYWxjUG9zaXRpb25QZXJjZW50cygpKSx0fSkpO2Uuc2l6ZSYmKDAsVC5maW5pc2hNb3ZpbmdMaW5lVG9vbCkoe2xpbmtLZXlzOlsuLi5lXSx0b29sTmFtZXM6Wy4uLnRdLG1vZGVsOnRoaXMsZmluYWxTdGF0ZXM6aSxjaGFuZ2VzOnN9KX10aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZD1bXSx0aGlzLl9hY3RpdmVJdGVtQmVpbmdNb3ZlZD1udWxsLFQuaXNUb29sTW92aW5nTm93LnNldFZhbHVlKCExKSxULmlzU3R1ZHlFZGl0aW5nTm93LnNldFZhbHVlKCExKX1zb3VyY2VzQmVpbmdNb3ZlZCgpe3JldHVybiB0aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZH1zZXRNb3ZpbmdDdXN0b21Tb3VyY2UoZSx0KXt0aGlzLl9jdXN0b21Tb3VyY2VCZWluZ01vdmVkPWUsdGhpcy5fY3VzdG9tU291cmNlQmVpbmdNb3ZlZEhpdFRlc3REYXRhPW51bGwhPT10P3tiZWluZ01vdmVkOiExLGNhbmNlbGxlZDohMSwuLi50fTpudWxsfXByb2Nlc3NpbmdDdXN0b21Tb3VyY2VNb3ZlKCl7bnVsbCE9PXRoaXMuX2N1c3RvbVNvdXJjZUJlaW5nTW92ZWRIaXRUZXN0RGF0YSYmKHRoaXMuX2N1c3RvbVNvdXJjZUJlaW5nTW92ZWRIaXRUZXN0RGF0YS5iZWluZ01vdmVkPSEwKX1jdXN0b21Tb3VyY2VNb3ZpbmdIaXRUZXN0RGF0YSgpe3JldHVybiB0aGlzLl9jdXN0b21Tb3VyY2VCZWluZ01vdmVkSGl0VGVzdERhdGF9Y3VzdG9tU291cmNlQmVpbmdNb3ZlZCgpe3JldHVybiBudWxsIT09dGhpcy5fY3VzdG9tU291cmNlQmVpbmdNb3ZlZEhpdFRlc3REYXRhJiZ0aGlzLl9jdXN0b21Tb3VyY2VCZWluZ01vdmVkSGl0VGVzdERhdGEuYmVpbmdNb3ZlZD90aGlzLl9jdXN0b21Tb3VyY2VCZWluZ01vdmVkOm51bGx9bGluZVRvb2xzU3luY2hyb25pemVyKCl7cmV0dXJuIHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplcn1zZXRMaW5lVG9vbHNTeW5jaHJvbml6ZXIoZSl7dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyPWV9d2lkdGgoKXtyZXR1cm4gdGhpcy5fd2lkdGh9c2V0V2lkdGgoZSx0KXsodGhpcy5fcGFuZXMucmVkdWNlKCgodCxpKT0+aS5zZXRXaWR0aChlKXx8dCksITEpfHx0aGlzLl93aWR0aCE9PWUpJiYodGhpcy5fd2lkdGg9ZSx0aGlzLl90aW1lU2NhbGUuc2V0V2lkdGgoZSx0KSx0aGlzLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKElpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uVmlld3BvcnRDaGFuZ2VVc2VyQWN0aW9uKSl9c2V0UGFuZUhlaWdodChlLHQpe2Uuc2V0SGVpZ2h0KHQpLHRoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLmxpZ2h0VXBkYXRlKCl9cmVzZXRTY2FsZXNBdmFpbGFibGUoKXtyZXR1cm4gdGhpcy5fcmVzZXRTY2FsZXNBdmFpbGFibGUucmVhZG9ubHkoKX1tYXhpbWl6ZWRQYW5lKCl7CnJldHVybiB0aGlzLl9tYXhpbWl6ZWRQYW5lLnJlYWRvbmx5KCl9c2V0TWF4aW1pemVkUGFuZShlKXsoMCxsLmFzc2VydCkobnVsbD09PWV8fHRoaXMuX3BhbmVzLmluY2x1ZGVzKGUpLCJUaGUgcGFuZSBpcyBub3QgcGFydCBvZiB0aGlzIGNoYXJ0IiksdGhpcy5fbWF4aW1pemVkUGFuZS5zZXRWYWx1ZShlKX1wYW5lcygpe3JldHVybiB0aGlzLl9wYW5lc31wYW5lRm9ySWQoZSl7cmV0dXJuIHRoaXMuX3BhbmVzLmZpbmQoKHQ9PnQuaWQoKT09PWUpKXx8bnVsbH1jcmVhdGVQYW5lKGUsdCxpLHMpe3RoaXMuX3Jlc3RvcmluZ1N0YXRlfHx0aGlzLl9tYXhpbWl6ZWRQYW5lLnNldFZhbHVlKG51bGwpO2NvbnN0IG49dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllczt0JiZuLm1lcmdlKHQpO2NvbnN0IHI9bmV3IGxjKHRoaXMuX3RpbWVTY2FsZSxuLHRoaXMsaSxzPz9NLlBhbmVNb2RlLlJlZ3VsYXIpO3JldHVybiB2b2lkIDAhPT1lP3RoaXMuX3BhbmVzLnNwbGljZShlLDAscik6dGhpcy5fcGFuZXMucHVzaChyKSxyLm9uVGFnc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMub25QYW5lVGFnc0NoYW5nZWQoKSkpLHIuZGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fZGF0YVNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkLmZpcmUocikpKSxyLmRhdGFTb3VyY2VzWk9yZGVyc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX2ludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGVzKCkpKSxyLnN5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9vblN5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkKHIpKSksci5wcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fb25QcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZChyKSkpLHIuc291cmNlUHJvcGVydGllc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoZT0+dGhpcy5fc291cmNlUHJvcGVyaXRlc0NoYW5nZWQuZmlyZShyLGUpKSksci5zb3VyY2VaT3JkZXJDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKGU9PnRoaXMuX3NvdXJjZVpPcmRlckNoYW5nZWQuZmlyZShyLGUpKSksci5zeW1ib2xTb3VyY2VSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLChlPT50aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZlZC5maXJlKHIsZSkpKSxyLnN5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSgpLnN1YnNjcmliZSh0aGlzLl9yZWNhbGNTeW1ib2xSZXNvbHZpbmdBY3RpdmUpLHIuY29sbGFwc2VkKCkuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY1BhbmVDb2xsYXBzaW5nQXZhaWxhYmxlKSxyLnJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGUoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUmVzZXRTY2FsZXNBdmFpbGFibGVWYWx1ZSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fcmVjYWxjUGFuZUNvbGxhcHNpbmdBdmFpbGFibGUoKSx0aGlzLl9wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkLmZpcmUodGhpcy5fcGFuZXMpLHRoaXMuX2ludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGVzKCksdGhpcy5pbnZhbGlkYXRlKExlLkludmFsaWRhdGlvbk1hc2sucGFuZXNPcmRlcigpKSxyfXJlbW92ZVBhbmUoZSl7ZT09PXRoaXMuX21heGltaXplZFBhbmUudmFsdWUoKSYmdGhpcy5fbWF4aW1pemVkUGFuZS5zZXRWYWx1ZShudWxsKSxlLmRlc3Ryb3koKTtjb25zdCB0PXRoaXMuX3BhbmVzLmluZGV4T2YoZSk7LTEhPT10JiYodGhpcy5fcGFuZXMuc3BsaWNlKHQsMSksZS5kYXRhU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS5kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zeW1ib2xTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUucHJpY2VTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLnNvdXJjZVByb3BlcnRpZXNDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS5vblRhZ3NDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zeW1ib2xTb3VyY2VSZXNvbHZlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUuc3ltYm9sU291cmNlUmVzb2x2aW5nQWN0aXZlKCkudW5zdWJzY3JpYmUodGhpcy5fcmVjYWxjU3ltYm9sUmVzb2x2aW5nQWN0aXZlKSxlLmNvbGxhcHNlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY1BhbmVDb2xsYXBzaW5nQXZhaWxhYmxlKSxlLnJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGUoKS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVSZXNldFNjYWxlc0F2YWlsYWJsZVZhbHVlKSx0aGlzLl9yZWNhbGNQYW5lQ29sbGFwc2luZ0F2YWlsYWJsZSghMCkpLHRoaXMuX3VwZGF0ZVJlc2V0U2NhbGVzQXZhaWxhYmxlVmFsdWUoKTt0aGlzLmNyb3NzaGFpclNvdXJjZSgpLnBhbmU9PT1lJiZ0aGlzLmNsZWFyQ3VycmVudFBvc2l0aW9uKCksdGhpcy5fcGFuZXNDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKHRoaXMuX3BhbmVzKSx0aGlzLl9pbnZhbGlkYXRlQmFyQ29sb3JlckNhY2hlcygpLHRoaXMuaW52YWxpZGF0ZShMZS5JbnZhbGlkYXRpb25NYXNrLnBhbmVzT3JkZXIoKSl9Y2hhbmdlUGFuZXNIZWlnaHQoZSx0KXtpZih0aGlzLl9wYW5lcy5sZW5ndGg8MilyZXR1cm47KDAsbC5hc3NlcnQpKGU+PTAmJmU8dGhpcy5fcGFuZXMubGVuZ3RoLCJJbnZhbGlkIHBhbmUgaW5kZXgiKTtjb25zdCBpPXRoaXMuX3BhbmVzW2VdLHM9dGhpcy5fcGFuZXMucmVkdWNlKCgoZSx0KT0+ZSt0LnN0cmV0Y2hGYWN0b3IoKSksMCksbj10aGlzLl9wYW5lcy5yZWR1Y2UoKChlLHQpPT5lK3QuaGVpZ2h0KCkpLDApLHI9bi0zMCoodGhpcy5fcGFuZXMubGVuZ3RoLTEpO3Q9TWF0aC5taW4ocixNYXRoLm1heCgzMCx0KSk7Y29uc3Qgbz1zL24sYT1pLmhlaWdodCgpO2kuc2V0U3RyZXRjaEZhY3Rvcih0Km8pO2xldCBjPXQtYSxoPXRoaXMuX3BhbmVzLmxlbmd0aC0xO2Zvcihjb25zdCBlIG9mIHRoaXMuX3BhbmVzKWlmKGUhPT1pKXsKY29uc3QgdD1NYXRoLm1pbihyLE1hdGgubWF4KDMwLGUuaGVpZ2h0KCktYy9oKSk7Yy09ZS5oZWlnaHQoKS10LGgtPTE7Y29uc3QgaT10Km87ZS5zZXRTdHJldGNoRmFjdG9yKGkpfXRoaXMuZnVsbFVwZGF0ZSgpfWNsZWFyQ3VycmVudFBvc2l0aW9uKCl7Y29uc3QgZT10aGlzLmNyb3NzaGFpclNvdXJjZSgpO2UuY2xlYXJQb3NpdGlvbigpLCgwLGwuZW5zdXJlTm90TnVsbCkoZS5kYXRhV2luZG93VmlldygpKS51cGRhdGUoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpLFB1KHRoaXMuX3BhbmVzKSx0aGlzLmludmFsaWRhdGUoTGUuSW52YWxpZGF0aW9uTWFzay5jdXJzb3IoKSksdGhpcy5fdW5kb01vZGVsLnN5bmNDcm9zc2hhaXIobnVsbCksdGhpcy5fcGhhbnRvbVNvdXJjZUNvbnRhaW5lci5vbkN1cnNvclBvc2l0aW9uVXBkYXRlZCgpfWdldFRwb1N1bW1hcnlQYW5lKCl7Y29uc3QgZT10aGlzLl9tYWluU2VyaWVzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS50cG9TdHlsZS5jaGlsZHMoKSx0PWUuc3VtbWFyeS5jaGlsZHMoKS5iZWxvd1Nlcmllcy52YWx1ZSgpLGk9ZS5zdW1tYXJ5LmNoaWxkcygpLmluZm9CbG9ja3Mscz1lLnN1bW1hcnkuY2hpbGRzKCkuaW5mb0Jsb2Nrcy5jaGlsZE5hbWVzKCk7bGV0IG49MDtzLmZvckVhY2goKGU9PntpLmNoaWxkcygpW2VdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmbisrfSkpO2NvbnN0IHI9TWF0aC5tYXgobipfaC5jb25zdGFudHMuY2VsbEhlaWdodCwzMCk7cmV0dXJuIHRoaXMuX2dldFdpZGdldFBhbmUodCxyKX1nZXRWb2x1bWVGb290cHJpbnRTdW1tYXJ5UGFuZSgpe2NvbnN0IGU9dGhpcy5fbWFpblNlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudm9sRm9vdHByaW50U3R5bGUuY2hpbGRzKCksdD1lLmV4dGVuZGVkU3VtbWFyeS5jaGlsZHMoKS5iZWxvd1Nlcmllcy52YWx1ZSgpLGk9ZS5leHRlbmRlZFN1bW1hcnkuY2hpbGRzKCkuYmxvY2tJbmZvLHM9aS5jaGlsZE5hbWVzKCk7bGV0IG49MDtzLmZvckVhY2goKGU9PntpLmNoaWxkcygpW2VdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmbisrfSkpO2NvbnN0IHI9dGhpcy5fbWFpblNlcmllcy5zeW1ib2xJbmZvKCk7aWYociYmKDAsZWEuaXNGdXR1cmVzKShyLnR5cGUpJiYhKDAsZWEuaGFzQ3J5cHRvVHlwZXNwZWMpKHIudHlwZXNwZWNzKSl7Y29uc3QgdD1lLmV4dGVuZGVkU3VtbWFyeS5jaGlsZHMoKS5vcGVuSW50ZXJlc3RCbG9ja0luZm87dC5jaGlsZE5hbWVzKCkuZm9yRWFjaCgoZT0+e3QuY2hpbGRzKClbZV0/LmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmbisrfSkpfWlmKHImJigoMCxlYS5pc0Z1dHVyZXMpKHIudHlwZSl8fCJzd2FwIj09PXIudHlwZSkmJigwLGVhLmhhc0NyeXB0b1R5cGVzcGVjKShyLnR5cGVzcGVjcykpe2NvbnN0IHQ9ZS5leHRlbmRlZFN1bW1hcnkuY2hpbGRzKCkuZXh0ZW5kZWRPcGVuSW50ZXJlc3RCbG9ja0luZm87dC5jaGlsZE5hbWVzKCkuZm9yRWFjaCgoZT0+e3QuY2hpbGRzKClbZV0uY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZuKyt9KSl9Y29uc3Qgbz1NYXRoLm1heChuKl9oLmNvbnN0YW50cy5jZWxsSGVpZ2h0LDMwKTtyZXR1cm4gdGhpcy5fZ2V0V2lkZ2V0UGFuZSh0LG8pfXNldEFuZFNhdmVDdXJyZW50UG9zaXRpb24oZSx0LGkscyl7dGhpcy5jcm9zc2hhaXJTb3VyY2UoKS5zYXZlT3JpZ2luQ29vcmRzKGUsdCksdGhpcy5zZXRDdXJyZW50UG9zaXRpb24oZSx0LGkscyl9c2V0Q3VycmVudFBvc2l0aW9uKGUsdCxpLHMpe2xldCBuPU5hTjtjb25zdCByPXRoaXMuX3RpbWVTY2FsZS5jb29yZGluYXRlVG9WaXNpYmxlSW5kZXgoZSksbz0odGhpcy5fbGluZUJlaW5nRWRpdGVkPz90aGlzLl9saW5lc0JlaW5nQ3JlYXRlZFswXSk/Lm93bmVyU291cmNlLnByaWNlU2NhbGUoKT8/aS5kZWZhdWx0UHJpY2VTY2FsZSgpO2xldCBhPW51bGw7IW8uaXNFbXB0eSgpJiZOdW1iZXIuaXNGaW5pdGUodCkmJihhPSgwLGwuZW5zdXJlTm90TnVsbCkoaS5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCksbnVsbCE9PWEmJihuPW8uY29vcmRpbmF0ZVRvUHJpY2UodCxhKSkpO2NvbnN0IGM9dGhpcy5jcm9zc2hhaXJTb3VyY2UoKSxoPWMucmVxdWVzdFBvaW50UGFyYW1zKCksZD1oPy5zZWxlY3RQb2ludE1vZGU/P1QuU2VsZWN0UG9pbnRNb2RlLk5vbmUsdT1kIT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSxwPVQudG9vbC52YWx1ZSgpLF89dGhpcy5tYWluU2VyaWVzKCksZz1jLmluZGV4LGY9Yy5wcmljZSxTPWQ9PT1ULlNlbGVjdFBvaW50TW9kZS5TdHVkeXx8VC5pc1N0dWR5RWRpdGluZ05vdy52YWx1ZSgpLHY9ZD09PVQuU2VsZWN0UG9pbnRNb2RlLlJlcGxheTtsZXQgeT0hMTtjb25zdCBiPSgwLFpzLm1hZ25ldFNuYXBzVG9JbmRpY2F0b3JzKSgpLnZhbHVlKCk7aWYobz09PXRoaXMuX21haW5TZXJpZXMucHJpY2VTY2FsZSgpfHxiKWlmKCgwLG0uaXNMaW5lRHJhd25XaXRoUHJlc3NlZEJ1dHRvbikocCkpe2NvbnN0IGU9dGhpcy5saW5lQmVpbmdDcmVhdGVkKCk7eT1udWxsPT09ZXx8KDAscmkuaXNCcnVzaEJhc2VkTGluZVRvb2wpKGUpJiZlLmhhc09ubHlPbmVQb2ludCgpfWVsc2V7eT1Cb29sZWFuKHRoaXMubGluZUJlaW5nQ3JlYXRlZCgpfHx0aGlzLl9saW5lQmVpbmdFZGl0ZWR8fCgwLG0uaXNMaW5lVG9vbE5hbWUpKHApfHwoMCxULnRvb2xJc01lYXN1cmUpKHApKXx8U30hdGhpcy5faXNTZXR0aW5nc0V4dGVybmFsUG9zaXRpb24mJnk/KG49dGhpcy5fbWFnbmV0LmFsaWduKG4scixpKSxudWxsIT09YSYmdGhpcy5fc2V0Q29ycmVjdGVkUG9zaXRpb25Ub0Nyb3NzaGFpcihyLG4saSkpOnRoaXMuX21hZ25ldC5yZXNldExhc3RWYWx1ZSgpO2xldCB3PW51bGw7aWYoaXNOYU4obil8fCh3PWkpLHRoaXMuX2lzVGltZVNjcm9sbGluZyl7aWYoIXRoaXMuX2lzU2V0dGluZ3NFeHRlcm5hbFBvc2l0aW9uJiZ1KXtjb25zdCBlPV8uYmFycygpLmZpcnN0SW5kZXgoKSx0PV8uYmFycygpLmxhc3RJbmRleCgpO2lmKG51bGwhPT1lJiZudWxsIT09dCl7Y29uc3Qgcz1NYXRoLm1pbihNYXRoLm1heChyLGUpLHQpCjtzIT09ciYmdGhpcy5fc2V0Q29ycmVjdGVkUG9zaXRpb25Ub0Nyb3NzaGFpcihzLG4saSl9fWVsc2UgYy5zZXRQb3NpdGlvbihjLmluZGV4LG4sdyk7cmV0dXJufWMuc2V0T25Ib3ZlcmVkQ2hhcnRXaWRnZXQoITApLGMuc2V0UG9zaXRpb24ocixuLHcpLCgwLGwuZW5zdXJlTm90TnVsbCkoYy5kYXRhV2luZG93VmlldygpKS51cGRhdGUoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKGMuaWQoKSkpLFB1KHRoaXMuX3BhbmVzKTtjb25zdCBDPV8uc3luY01vZGVsKCksUD10aGlzLmxpbmVCZWluZ0NyZWF0ZWQoKTtpZih0aGlzLmNyb3NzaGFpclNvdXJjZSgpLnN0YXJ0TWVhc3VyZVBvaW50KCl8fFA/dGhpcy5saWdodFVwZGF0ZSgpOnRoaXMuaW52YWxpZGF0ZShMZS5JbnZhbGlkYXRpb25NYXNrLmN1cnNvcigpKSxQKXtjb25zdCBlPVAubGlua0tleSgpLnZhbHVlKCk7aWYoIXRoaXMuX2lzU2V0dGluZ3NFeHRlcm5hbFBvc2l0aW9uKXtjb25zdCB0PVAuc2V0TGFzdFBvaW50KHtpbmRleDpyLHByaWNlOm59LHMpO2lmKFAudXBkYXRlQWxsVmlld3MoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKFAuaWQoKSkpLHQucHJpY2U9PT1uJiZ0LmluZGV4PT09cnx8dGhpcy5fc2V0Q29ycmVjdGVkUG9zaXRpb25Ub0Nyb3NzaGFpcih0LmluZGV4LHQucHJpY2UsaSksQyYmZSYmIXRoaXMuX2xpbmVUb29sc1N5bmNCbG9jayl7Y29uc3QgaT10aGlzLl90aW1lU2NhbGUucG9pbnRzKCkucm91Z2hUaW1lKHQuaW5kZXgsQy5wcm9qZWN0VGltZS5iaW5kKEMpKTsoMCxULnNldExpbmVUb29sTGFzdFBvaW50KSh7bW9kZWw6dGhpcyxsaW5rS2V5OmUscG9pbnQ6e3RpbWVTdGFtcDooMCxsLmVuc3VyZU5vdE51bGwpKGkpLHByaWNlOnQucHJpY2V9fSl9fX1pZighdGhpcy5faXNTZXR0aW5nc0V4dGVybmFsUG9zaXRpb24mJm51bGwhPT10aGlzLl9saW5lQmVpbmdFZGl0ZWQmJm51bGwhPT10aGlzLl9saW5lQmVpbmdFZGl0ZWQucG9pbnRJbmRleCl7Y29uc3QgZT17aW5kZXg6cixwcmljZTpufSx7bGluZURhdGFTb3VyY2U6dCxwb2ludEluZGV4Om8sc3RhcnRDaGFuZ2luZ1BvaW50OmF9PXRoaXMuX2xpbmVCZWluZ0VkaXRlZDtpZihhPy5ub25EaXNjcmV0ZUluZGV4KXtjb25zdCB0PXRoaXMuY3Jvc3NoYWlyU291cmNlKCkub3JpZ2luWCgpO051bWJlci5pc0Zpbml0ZSh0KSYmKGUuaW5kZXg9dGhpcy5fdGltZVNjYWxlLmNvb3JkaW5hdGVUb0Zsb2F0SW5kZXgodCkpfXRoaXMuY2hhbmdlTGluZVBvaW50KGUscyk7Y29uc3QgbD10LmFsaWduQ3Jvc3NIYWlyVG9BbmNob3Iobyk/dC5nZXRQb2ludChvKTplO251bGwhPT1sJiZ0aGlzLl9zZXRDb3JyZWN0ZWRQb3NpdGlvblRvQ3Jvc3NoYWlyKGwuaW5kZXgsbC5wcmljZSxpKX1pZighdGhpcy5faXNTZXR0aW5nc0V4dGVybmFsUG9zaXRpb24mJjE9PT10aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZC5sZW5ndGgpe2NvbnN0IGU9dGhpcy5fc291cmNlc0JlaW5nTW92ZWRbMF07aWYoZS5hbGlnbkNyb3NzSGFpclRvTW92ZVBvaW50Py4oKSl7Y29uc3QgdD1lLmN1cnJlbnRNb3ZpbmdQb2ludD8uKCk7dCYmdC5sb2dpY2FsJiZ0aGlzLl9zZXRDb3JyZWN0ZWRQb3NpdGlvblRvQ3Jvc3NoYWlyKHQubG9naWNhbC5pbmRleCx0LmxvZ2ljYWwucHJpY2UsaSl9fWlmKCF0aGlzLl9pc1NldHRpbmdzRXh0ZXJuYWxQb3NpdGlvbiYmKFN8fHYpKXtjb25zdCBlPV8uYmFycygpLmZpcnN0SW5kZXgoKSx0PV8uYmFycygpLmxhc3RJbmRleCgpO2lmKG51bGwhPT1lJiZudWxsIT09dCl7bGV0IHM9TWF0aC5tYXgocixlKTtoPy5hbGlnblRvVGhlTGF0ZXN0QmFySWZUaW1lUG9pbnRJc091dE9mRGF0YSYmKHM9TWF0aC5taW4ocyx0KSkscyE9PXImJnRoaXMuX3NldENvcnJlY3RlZFBvc2l0aW9uVG9Dcm9zc2hhaXIocyxuLGkpfX0oZyE9PXJ8fGYhPT1uKSYmdGhpcy5fc3luY0Nyb3NzaGFpcihzKX1zZXRFeHRlcm5hbFBvc2l0aW9uKGUsdCl7bGV0IGk7Y29uc3Qgcz10aGlzLmNyb3NzaGFpclNvdXJjZSgpO2lmKHMuc2V0T25Ib3ZlcmVkQ2hhcnRXaWRnZXQoITEpLG51bGwhPT1lJiYoMCxhLmlzTnVtYmVyKShlLnRpbWVTdGFtcCkpe2NvbnN0IHQ9dGhpcy5tYWluU2VyaWVzKCkuc3luY01vZGVsKCk7aWYodCl7Y29uc3Qgcz10aGlzLmNyZWF0ZVN5bmNQb2ludChlLnN5bmNTb3VyY2VUYXJnZXQsdC5zeW5jU291cmNlVGFyZ2V0KCkpLnNvdXJjZVRpbWVUb1RhcmdldFRpbWUoZS50aW1lU3RhbXApO2k9dGhpcy5fdGltZVNjYWxlLnBvaW50cygpLnJvdWdoSW5kZXgocyx0LmRpc3RhbmNlLmJpbmQodCksMSl9fWlmKG51bGwhPT1lJiZudWxsIT1pJiZOdW1iZXIuaXNGaW5pdGUoaSkpe3RoaXMuX2lzU2V0dGluZ3NFeHRlcm5hbFBvc2l0aW9uPSEwO2NvbnN0IG49KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnBhbmVGb3JTb3VyY2UodGhpcy5tYWluU2VyaWVzKCkpKSxyPXRoaXMuX3RpbWVTY2FsZS5pbmRleFRvQ29vcmRpbmF0ZShpKSxvPSgwLGwuZW5zdXJlTm90TnVsbCkobi5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCk7aWYobnVsbCE9PW8pe2xldCBpPU5hTjt2b2lkIDAhPT1lLnByaWNlJiZOdW1iZXIuaXNGaW5pdGUoZS5wcmljZSkmJihpPXRoaXMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKS5wcmljZVRvQ29vcmRpbmF0ZShlLnByaWNlLG8pKSxzLmNsZWFyT3JpZ2luQ29vcmRzKCksdGhpcy5zZXRDdXJyZW50UG9zaXRpb24ocixpLG4sdCl9cmV0dXJuIHMuc2V0T25Ib3ZlcmVkQ2hhcnRXaWRnZXQoITEpLHZvaWQodGhpcy5faXNTZXR0aW5nc0V4dGVybmFsUG9zaXRpb249ITEpfXMuY2xlYXJQb3NpdGlvbigpLCgwLGwuZW5zdXJlTm90TnVsbCkocy5kYXRhV2luZG93VmlldygpKS51cGRhdGUoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHMuaWQoKSkpLFB1KHRoaXMuX3BhbmVzKSx0aGlzLmludmFsaWRhdGUoTGUuSW52YWxpZGF0aW9uTWFzay5jdXJzb3IoKSl9c3RhcnRTY2FsZVRpbWUoZSl7dGhpcy5fdGltZVNjYWxlLnN0YXJ0U2NhbGUoZSl9c2NhbGVUaW1lVG8oZSl7dGhpcy5fdGltZVNjYWxlLnNjYWxlVG8oZSksdGhpcy5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLAp0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLmxpZ2h0VXBkYXRlKCl9ZW5kU2NhbGVUaW1lKCl7dGhpcy5fdGltZVNjYWxlLmVuZFNjYWxlKCksdGhpcy5saWdodFVwZGF0ZSgpLHRoaXMucmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllcyhJaS5SZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzUmVhc29uLlZpZXdwb3J0Q2hhbmdlVXNlckFjdGlvbil9cmVzZXRUaW1lU2NhbGUoKXt0aGlzLl90aW1lU2NhbGUucmVzdG9yZURlZmF1bHQoKSx0aGlzLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKElpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uVmlld3BvcnRDaGFuZ2VVc2VyQWN0aW9uKSx0aGlzLmxpZ2h0VXBkYXRlKCksdGhpcy5fcmVzZXRTY2FsZXMuZmlyZSgpfXN0YXJ0U2NhbGVQcmljZShlLHQsaSl7ZS5zdGFydFNjYWxlUHJpY2UodCxpKX1zY2FsZVByaWNlVG8oZSx0LGkpe2Uuc2NhbGVQcmljZVRvKHQsaSksdGhpcy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpLmlzTG9ja1NjYWxlKCk/dGhpcy5saWdodFVwZGF0ZSgpOnRoaXMuaW52YWxpZGF0ZSh0aGlzLl9wYW5lSW52YWxpZGF0aW9uTWFzayhlLExlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KSl9ZW5kU2NhbGVQcmljZShlLHQpe2UuZW5kU2NhbGVQcmljZSh0KSx0aGlzLmludmFsaWRhdGUodGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soZSxMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCkpfXN0YXJ0VHdvUG9pbnRzU2NhbGVQcmljZShlLHQsaSxzKXt0LnN0YXJ0VHdvUG9pbnRzU2NhbGUoaSxzKX10d29Qb2ludHNTY2FsZVByaWNlVG8oZSx0LGkscyl7dC50d29Qb2ludHNTY2FsZShpLHMpLHQudXBkYXRlQWxsVmlld3MoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5pbnZhbGlkYXRlKHRoaXMuX3BhbmVJbnZhbGlkYXRpb25NYXNrKGUpKX1lbmRUd29Qb2ludHNTY2FsZVByaWNlKGUsdCl7dC5lbmRUd29Qb2ludHNTY2FsZSgpLHRoaXMuaW52YWxpZGF0ZSh0aGlzLl9wYW5lSW52YWxpZGF0aW9uTWFzayhlKSl9cmVzZXRQcmljZVNjYWxlKGUsdCl7ZS5yZXNldFByaWNlU2NhbGUodCksdGhpcy5pbnZhbGlkYXRlKHRoaXMuX3BhbmVJbnZhbGlkYXRpb25NYXNrKGUsTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQpKX1yZXN0b3JlUHJpY2VTY2FsZVN0YXRlKGUsdCxpKXtlLnJlc3RvcmVQcmljZVNjYWxlU3RhdGUodCxpKSx0aGlzLmludmFsaWRhdGUodGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soZSxMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCkpfWRldGFjaFNvdXJjZShlKXtjb25zdCB0PXRoaXMucGFuZUZvclNvdXJjZShlKTtyZXR1cm4hIXQmJih0LnJlbW92ZURhdGFTb3VyY2UoZSksdC5pc0VtcHR5KCk/KHRoaXMubGluZUJlaW5nQ3JlYXRlZCgpJiZ0PT09dGhpcy5wYW5lQmVpbmdDcmVhdGVkTGluZU9uKCkmJnRoaXMuY2FuY2VsQ3JlYXRpbmdMaW5lKCksdGhpcy5yZW1vdmVQYW5lKHQpLCEwKToodGhpcy5mdWxsVXBkYXRlKCksITEpKX1yZXN0b3JlU291cmNlKGUsdCxpLHMsbil7Y29uc3Qgcj1lP3RoaXMuY3JlYXRlUGFuZSh0KTp0aGlzLnBhbmVzKClbdF0sbz0oMCxQLmlzU3R1ZHlTdGF0ZSkocyksYT1vP3IucmVzdG9yZVN0dWR5KHtzb3VyY2U6c30pOigwLFAuaXNMaW5lVG9vbFN0YXRlKShzKT9yLnJlc3RvcmVMaW5lVG9vbCh7c3RhdGU6c30pOm51bGw7aWYoIWEpcmV0dXJuIG51bGw7bGV0IGw9bnVsbDtpZihuPyhsPXIuZ2V0UHJpY2VTY2FsZUJ5SWQobi5pZCksbHx8KGw9ci5jcmVhdGVQcmljZVNjYWxlQXRQb3NpdGlvbihuLnBvc2l0aW9uLG4ucHJpY2VTY2FsZUluZGV4KSxsLnNldElkKG4uaWQpKSk6bD1hLm93bmVyU291cmNlKCk/LnByaWNlU2NhbGUoKT8/bCxsJiYoYS5zZXRQcmljZVNjYWxlKGwpLGwuYWRkRGF0YVNvdXJjZShhKSksIWUmJmkmJmkub3ZlcmxheVByaWNlU2NhbGVzKXtjb25zdCBlPXRoaXMuZGF0YVNvdXJjZXMoKS5maWx0ZXIoKGU9PnZvaWQgMCE9PWkub3ZlcmxheVByaWNlU2NhbGVzW2UuaWQoKV0pKTtlLmZvckVhY2goKGU9PnIucmVtb3ZlU291cmNlRnJvbVByaWNlU2NhbGUoZSkpKTtjb25zdCB0PW5ldyBNYXA7ZS5mb3JFYWNoKChlPT57Y29uc3Qgcz1pLm92ZXJsYXlQcmljZVNjYWxlc1tlLmlkKCldO2lmKCFzKXJldHVybjtsZXQgbjt0LmhhcyhzLmlkKT9uPXQuZ2V0KHMuaWQpOihuPXIuY3JlYXRlUHJpY2VTY2FsZUF0UG9zaXRpb24oIm92ZXJsYXkiKSxuLnJlc3RvcmVTdGF0ZShzKSx0LnNldChzLmlkLG4pKSxlLnNldFByaWNlU2NhbGUobiksbi5hZGREYXRhU291cmNlKGUpfSkpfXJldHVybiBlJiZpJiZyLnJlc3RvcmVTdGF0ZSh7c3RhdGU6aSx3aXRoRGF0YTohMSx2ZXJzaW9uOnRoaXMudmVyc2lvbigpfSksbyYmKHRoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkoYS5pZCgpKSksdGhpcy5faW52YWxpZGF0ZUJhckNvbG9yZXJDYWNoZXMoKSx0aGlzLmZ1bGxVcGRhdGUoKSx0aGlzLmFsZXJ0c1dhdGNoZXIoKT8uc3luY1NvdXJjZUFsZXJ0TGFiZWxzKGEpKSxhfWNoaWxkcmVuKGUsdCxpKXtyZXR1cm4gdGhpcy5kYXRhU291cmNlcygpLmZpbHRlcigocz0+ISgwLHRpLmlzU3R1ZHkpKHMpfHxzaShzKXx8ZS5pc1NlcmllcyYmcy5pc0xpbmtlZFRvU2VyaWVzKCk/ISgoMCxyaS5pc0xpbmVUb29sKShzKSYmaSYmcy5zdXBwb3J0c1RhcmdldFNpZ25hdHVyZSgpJiZudWxsIT09cy50YXJnZXRTaWduYXR1cmUoKSkmJnMub3duZXJTb3VyY2UoKT09PWU6IXQmJnMucGFyZW50U291cmNlcygpLmluY2x1ZGVzKGUpKSl9b25SZWFycmFuZ2VQYW5lcygpe3JldHVybiB0aGlzLl9vblJlYXJyYW5nZVBhbmVzfXN0dWR5SW5zZXJ0ZWQoKXtyZXR1cm4gdGhpcy5fc3R1ZHlJbnNlcnRlZH1maW5pc2hMaW5lVG9vbChlKXtjb25zdCB0PWUubGlua0tleSgpLnZhbHVlKCk7KDAsClQuZHJhd09uQWxsQ2hhcnRzKSgpLnZhbHVlKCkmJm51bGwhPT10JiZlLmlzU3luY2hyb25pemFibGUoKSYmIXRoaXMuX2xpbmVUb29sc1N5bmNCbG9jayYmKDAsVC5maW5pc2hMaW5lVG9vbCkoe2xpbmtLZXk6dCxtb2RlbDp0aGlzfSl9c3RhcnRDaGFuZ2luZ0xpbmV0b29sKGUsdCxpLHMsbixyKXt0aGlzLl9saW5lQmVpbmdFZGl0ZWQ9e2xpbmVEYXRhU291cmNlOmUsb3duZXJTb3VyY2U6dCxzdGFydENoYW5naW5nUG9pbnQ6aT8/bnVsbCxwb2ludEluZGV4OnM/P251bGx9LGUuc3RhcnRDaGFuZ2luZyhzLGksciksVC5pc1Rvb2xFZGl0aW5nTm93LnNldFZhbHVlKCEwKTtjb25zdCBvPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lRm9yU291cmNlKGUpKTtlLnN0YXJ0RHJhZ1BvaW50JiZ2b2lkIDAhPT1zJiZ2b2lkIDAhPT1pJiZlLnN0YXJ0RHJhZ1BvaW50KHMsaSkscnx8dm9pZCAwPT09c3x8dm9pZCAwPT09aXx8ZS5zZXRQb2ludChzLGksbixyKSxlLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKTtjb25zdCBhPXRoaXMuX3BhbmVJbnZhbGlkYXRpb25NYXNrKG8sTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQpO3RoaXMuaW52YWxpZGF0ZShhKTtjb25zdCBjPWUubGlua0tleSgpLnZhbHVlKCk7aWYoYyYmZS5pc1N5bmNocm9uaXphYmxlKCkmJnZvaWQgMCE9PXMmJnZvaWQgMCE9PWkmJiF0aGlzLl9saW5lVG9vbHNTeW5jQmxvY2spe2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLmV4dGVybmFsVGltZVN0YW1wKGkuaW5kZXgpKTsoMCxULnN0YXJ0Q2hhbmdpbmdMaW5lVG9vbCkoe2xpbmtLZXk6Yyxtb2RlbDp0aGlzLHN5bWJvbDp0aGlzLm1haW5TZXJpZXMoKS5zeW1ib2woKSxwb2ludDp7cHJpY2U6aS5wcmljZSx0aW1lU3RhbXA6dH0scG9zaXRpb25QZXJjZW50czplLnBvc2l0aW9uUGVyY2VudHMoKSxwb2ludEluZGV4OnMsZW52U3RhdGU6bnx8bnVsbH0pfX1jcmVhdGVMaW5lVG9vbChlKXtjb25zdHtwb2ludDp0LGxpbmV0b29sOmksbGlua0tleTpzPW51bGwsc2hhcmluZ01vZGU6bj0wLGlkOnIsZnJvbUV4dGVybmFsTW9kZWw6byxhY3Rpb25Tb3VyY2U6YyxwYW5lOmh9PWU7bGV0e3Byb3BlcnRpZXM6ZCxvd25lclNvdXJjZTp1fT1lO3U9KDAsbC5lbnN1cmVEZWZpbmVkKSh1fHwoMCxsLmVuc3VyZU5vdE51bGwpKGgubWFpbkRhdGFTb3VyY2UoKSkpO2xldCBwPWg7aWYobWwuc2hhcmVEcmF3aW5nc09uSW5kaWNhdG9ycyYmKDAsdGkuaXNTdHVkeSkodSkmJihwPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5tYWluUGFuZSgpKSksKDAsbC5hc3NlcnQpKCgwLG0uaXNMaW5lVG9vbE5hbWUpKGkpLGBDYW5ub3QgY3JlYXRlIHVua25vd24gbGluZSB0b29sOiAke2l9YCksZCl7Y29uc3QgZT17Li4uaHUuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzRGVmYXVsdHN9LHQ9ZC5jaGlsZHMoKS5pbnRlcnZhbHNWaXNpYmlsaXRpZXMuc3RhdGUoKTsoMCxhLm1lcmdlKShlLHQ/P3t9KTtjb25zdCBzPWQuc3RhdGUoKTtzLmludGVydmFsc1Zpc2liaWxpdGllcz1lLGQ9KDAscmkuY3JlYXRlTGluZVRvb2xQcm9wZXJ0aWVzKSh0aGlzLmJhY2tncm91bmRUaGVtZSgpLnNwYXduT3duZXJzaGlwKCksaSwhdGhpcy5yZWFkT25seSgpLHMpfWNvbnN0IF89KDAscmkuY3JlYXRlTGluZVRvb2wpKGksdGhpcyxkLG51bGwsdm9pZCAwLHIsYyk7aWYoIkxpbmVUb29sRXhlY3V0aW9uIiE9PWkpe2xldCBlO3N3aXRjaChpKXtjYXNlIkxpbmVUb29sSWNvbiI6ZT1fLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pY29uLnZhbHVlKCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7YnJlYWs7Y2FzZSJMaW5lVG9vbEVtb2ppIjplPV8ucHJvcGVydGllcygpLmNoaWxkcygpLmVtb2ppLnZhbHVlKCk7YnJlYWs7Y2FzZSJMaW5lVG9vbFN0aWNrZXIiOmU9Xy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3RpY2tlci52YWx1ZSgpfSgwLE10LnRyYWNrRXZlbnQpKCJkcmF3aW5ncyIsIlN0dWR5X0RyYXdpbmdfIitpLGUpfSgwLG9pLmlzU3R1ZHlMaW5lVG9vbCkoXykmJigwLE10LnRyYWNrRXZlbnQpKCJzdHVkaWVzIixgU3R1ZHlfJHtfLm1ldGFJbmZvKCkuaWR9YCxfLm1ldGFJbmZvKCkuZGVzY3JpcHRpb24pO2NvbnN0IGc9IV8ubGlua0tleSgpLnZhbHVlKCkmJiFzO2R8fCgwLHJpLnByZXBhcmVMaW5lVG9vbFByb3BlcnRpZXNCeU93bmVyU291cmNlKShfLnByb3BlcnRpZXMoKSx1KSxtbC5zaGFyZURyYXdpbmdzT25JbmRpY2F0b3JzJiYoMCx0aS5pc1N0dWR5KSh1KT9fLnNldFRhcmdldFNpZ25hdHVyZSh1LnNpZ25hdHVyZSgpLnZhbHVlKCkpOl8uc2V0T3duZXJTb3VyY2UodSk7Y29uc3QgZj11LnByaWNlU2NhbGUoKTtpZihfLnNldFByaWNlU2NhbGUoZiksdT09PXRoaXMubWFpblNlcmllcygpJiZfLnNoYXJlKG4pLHAuYWRkRGF0YVNvdXJjZShfLGYsITEpLG51bGwhPT1fLnByZWZlcnJlZFpPcmRlcigpJiZwLmluc2VydEFmdGVyKFtfXSx0aGlzLm1haW5TZXJpZXMoKSksKDAsVC5kcmF3T25BbGxDaGFydHMpKCkudmFsdWUoKSl7Y29uc3QgZT1fLmlzU3luY2hyb25pemFibGUoKT9zfHwoMCxsdC5yYW5kb21IYXNoKSgpOm51bGw7Xy5saW5rS2V5KCkuc2V0VmFsdWUoZSl9ZWxzZSBfLmxpbmtLZXkoKS5zZXRWYWx1ZShzKTtsZXQgUztpZihnJiZfLmVuYWJsZUN1cnJlbnRJbnRlcnZhbFZpc2liaWxpdHkoKSxfLmlzRml4ZWQoKSl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKCgwLGwuZW5zdXJlTm90TnVsbCkoaC5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCkpLGk9dGhpcy5fdGltZVNjYWxlLmluZGV4VG9Db29yZGluYXRlKHQuaW5kZXgpLHM9KDAsbC5lbnN1cmVOb3ROdWxsKShmKS5wcmljZVRvQ29vcmRpbmF0ZSh0LnByaWNlLGUpO1M9Xy5hZGRGaXhlZFBvaW50KG5ldyBQdC5Qb2ludChpLHMpKX1lbHNlIFM9Xy5hZGRQb2ludCh0KTtyZXR1cm4gU3x8KHRoaXMuX2xpbmVzQmVpbmdDcmVhdGVkLnVuc2hpZnQoe2xpbmVEYXRhU291cmNlOl8sZnJvbUV4dGVybmFsOiEhbyxvd25lclNvdXJjZTp1LHBhbmU6aH0pLApULmlzVG9vbENyZWF0aW5nTm93LnNldFZhbHVlKCEwKSksdGhpcy5mdWxsVXBkYXRlKCksX31lbmRDaGFuZ2luZ0xpbmV0b29sKGUsdCl7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2xpbmVCZWluZ0VkaXRlZCkubGluZURhdGFTb3VyY2Uscz1pLmVuZENoYW5naW5nKCExLGUsdCk7dGhpcy5fbGluZUJlaW5nRWRpdGVkPW51bGwsVC5pc1Rvb2xFZGl0aW5nTm93LnNldFZhbHVlKCExKSx0aGlzLmxpZ2h0VXBkYXRlKCk7Y29uc3Qgbj17cG9pbnRzOmkubm9ybWFsaXplZFBvaW50cygpLGludGVydmFsOnRoaXMubWFpblNlcmllcygpLmludGVydmFsKCl9LHI9aS5saW5rS2V5KCkudmFsdWUoKTtudWxsPT09cnx8IWkuaXNTeW5jaHJvbml6YWJsZSgpfHx0fHx0aGlzLl9saW5lVG9vbHNTeW5jQmxvY2t8fCgwLFQuZmluaXNoQ2hhbmdpbmdMaW5lVG9vbCkoe21vZGVsOnRoaXMsbGlua0tleTpyLHN5bWJvbDp0aGlzLm1haW5TZXJpZXMoKS5zeW1ib2woKSxmaW5hbFN0YXRlOm4sY2hhbmdlczpzfSl9Y29udGludWVDcmVhdGluZ0xpbmUoZSx0LGkscyxuKXtjb25zdCByPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5saW5lQmVpbmdDcmVhdGVkKCkpLG89ci5hZGRQb2ludChlLHQsaSxuKTtyLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShyLmlkKCkpKTtjb25zdCBhPW5ldyBMZS5JbnZhbGlkYXRpb25NYXNrKExlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KTtyZXR1cm4gbyYmKHRoaXMuX2xpbmVzQmVpbmdDcmVhdGVkLnNoaWZ0KCksMD09PXRoaXMuX2xpbmVzQmVpbmdDcmVhdGVkLmxlbmd0aCYmVC5pc1Rvb2xDcmVhdGluZ05vdy5zZXRWYWx1ZSghMSkpLHRoaXMuaW52YWxpZGF0ZShhKSxvfWNhbmNlbENyZWF0aW5nTGluZSgpe2NvbnN0IGU9dGhpcy5saW5lQmVpbmdDcmVhdGVkKCk7aWYoIWUpcmV0dXJuO2NvbnN0IHQ9ZS5pc1N5bmNocm9uaXphYmxlKCk7dGhpcy5yZW1vdmVTb3VyY2UoZSksdGhpcy5fbGluZXNCZWluZ0NyZWF0ZWQuc2hpZnQoKSx0aGlzLl9saW5lQ2FuY2VsbGVkLmZpcmUoKSwwPT09dGhpcy5fbGluZXNCZWluZ0NyZWF0ZWQubGVuZ3RoJiZULmlzVG9vbENyZWF0aW5nTm93LnNldFZhbHVlKCExKSwoMCxULmRyYXdPbkFsbENoYXJ0cykoKS52YWx1ZSgpJiZ0JiYhdGhpcy5fbGluZVRvb2xzU3luY0Jsb2NrJiYoMCxULmNhbmNlbExpbmVUb29sKSh7bW9kZWw6dGhpc30pfWNhbmNlbEFsbERyYXdpbmdPcGVyYXRpb25zKCl7dGhpcy5saW5lQmVpbmdDcmVhdGVkKCkmJnRoaXMuY2FuY2VsQ3JlYXRpbmdMaW5lKCksKDAsVC5yZXNldFRvQ3Vyc29yKSghMCl9bGluZUJlaW5nQ3JlYXRlZCgpe3JldHVybiB0aGlzLl9saW5lc0JlaW5nQ3JlYXRlZFswXT8ubGluZURhdGFTb3VyY2U/P251bGx9bGluZUJlaW5nQ3JlYXRlRnJvbUV4dGVybmFsKCl7cmV0dXJuIHRoaXMuX2xpbmVzQmVpbmdDcmVhdGVkWzBdPy5mcm9tRXh0ZXJuYWw/PyExfXBhbmVCZWluZ0NyZWF0ZWRMaW5lT24oKXtyZXR1cm4gdGhpcy5fbGluZXNCZWluZ0NyZWF0ZWRbMF0/LnBhbmU/P251bGx9bGluZUNhbmNlbGxlZCgpe3JldHVybiB0aGlzLl9saW5lQ2FuY2VsbGVkfWlzUGhhbnRvbUxpbmUoZSl7cmV0dXJuIHRoaXMuX3BoYW50b21Tb3VyY2VDb250YWluZXIuc291cmNlKCk9PT1lfWFsaWduVG80NURlZ3JlZXMoZSx0LGkpe2NvbnN0W3Msbl09aSxyPXsuLi5ufTtlLnNuYXBQb2ludDQ1RGVncmVlKHMsciksdGhpcy5zdGFydENoYW5naW5nTGluZXRvb2woZSx0LG4sbi5wb2ludEluZGV4KSx0aGlzLmNoYW5nZUxpbmVQb2ludChyLExpLkVudmlyb25tZW50U3RhdGUuY3JlYXRlKCEwKSksdGhpcy5lbmRDaGFuZ2luZ0xpbmV0b29sKCExKX1jaGFuZ2VMaW5lUG9pbnQoZSx0LGkpe2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9saW5lQmVpbmdFZGl0ZWQpLG49cy5saW5lRGF0YVNvdXJjZSxyPSgwLGwuZW5zdXJlTm90TnVsbCkocy5wb2ludEluZGV4KTtsZXQgbz1lLnByaWNlLGE9ZS5pbmRleDtpZihuLnNldFBvaW50KHIsZSx0LGkpLCFpKXtjb25zdCB0PW4uYWxpZ25Dcm9zc0hhaXJUb0FuY2hvcihyKT9uLmdldFBvaW50KHIpOmU7bnVsbCE9PXQmJihhPXQuaW5kZXgsbz10LnByaWNlKX1uLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShuLmlkKCkpKSx0aGlzLmxpZ2h0VXBkYXRlKCk7Y29uc3QgYz1uLmxpbmtLZXkoKS52YWx1ZSgpO2lmKCFpJiZudWxsIT09YyYmbi5pc1N5bmNocm9uaXphYmxlKCkmJiF0aGlzLl9saW5lVG9vbHNTeW5jQmxvY2spe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKShzLnN0YXJ0Q2hhbmdpbmdQb2ludCksaT17aW5kZXhlc0NoYW5nZWQ6YSE9PWUuaW5kZXgscHJpY2VzQ2hhbmdlZDpvIT09ZS5wcmljZX0saD1uLmdldENoYW5nZVBvaW50Rm9yU3luYyhyKTtpZihudWxsIT09aCl7Y29uc3QgZT10aGlzLmV4dGVybmFsVGltZVN0YW1wKGEpO251bGwhPT1lJiYobz1oLnByaWNlLCgwLFQuY2hhbmdlTGluZVRvb2wpKHtsaW5rS2V5OmMsbW9kZWw6dGhpcyxzeW1ib2w6dGhpcy5tYWluU2VyaWVzKCkuc3ltYm9sKCkscG9pbnQ6e3ByaWNlOm8sdGltZVN0YW1wOmV9LHBvc2l0aW9uUGVyY2VudHM6bi5wb3NpdGlvblBlcmNlbnRzKCksZW52U3RhdGU6dCxjaGFuZ2VzOml9KSl9fX1jaGFuZ2VMaW5lUG9pbnRzKGUsdCxpKXtjb25zdCBzPWUucG9pbnRzKCksbj1lLmxpbmtLZXkoKS52YWx1ZSgpOyFpJiZuJiZlLmlzU3luY2hyb25pemFibGUoKSYmIXRoaXMuX2xpbmVUb29sc1N5bmNCbG9jayYmdC5mb3JFYWNoKCgodCxpKT0+e2NvbnN0IHI9c1tpXSxvPXIucHJpY2UhPT10LnByaWNlLGE9ci5pbmRleCE9PXQuaW5kZXg7aWYoZS5nZXRDaGFuZ2VQb2ludEZvclN5bmMoaSkpe2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLmV4dGVybmFsVGltZVN0YW1wKHQuaW5kZXgpKTsoMCxULmNoYW5nZUxpbmVUb29sKSh7bGlua0tleTpuLG1vZGVsOnRoaXMsc3ltYm9sOnRoaXMubWFpblNlcmllcygpLnN5bWJvbCgpLHBvaW50OntwcmljZTp0LnByaWNlLHRpbWVTdGFtcDppfSwKcG9zaXRpb25QZXJjZW50czplLnBvc2l0aW9uUGVyY2VudHMoKSxjaGFuZ2VzOntwcmljZXNDaGFuZ2VkOm8saW5kZXhlc0NoYW5nZWQ6YX19KX19KSksZS5zZXRQb2ludHModCksZS51cGRhdGVBbGxWaWV3cygoMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkoZS5pZCgpKSksdGhpcy5saWdodFVwZGF0ZSgpfXN0YXJ0U2Nyb2xsVGltZShlKXt0aGlzLl90aW1lU2NhbGUuc3RhcnRTY3JvbGwoZSksdGhpcy5faXNUaW1lU2Nyb2xsaW5nPSEwLHRoaXMubWFpblNlcmllcygpLmNsZWFyR290b0RhdGVSZXN1bHQoKX1zY3JvbGxUaW1lVG8oZSl7dGhpcy5fdGltZVNjYWxlLnNjcm9sbFRvKGUpLHRoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLmxpZ2h0VXBkYXRlKCl9ZW5kU2Nyb2xsVGltZSgpe3RoaXMuX3RpbWVTY2FsZS5lbmRTY3JvbGwoKSx0aGlzLmxpZ2h0VXBkYXRlKCksdGhpcy5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKElpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uVmlld3BvcnRDaGFuZ2VVc2VyQWN0aW9uKSx0aGlzLl9pc1RpbWVTY3JvbGxpbmc9ITF9c3RhcnRTY3JvbGxQcmljZShlLHQsaSl7ZS5zdGFydFNjcm9sbFByaWNlKHQsaSl9c2Nyb2xsUHJpY2VUbyhlLHQsaSl7ZS5zY3JvbGxQcmljZVRvKHQsaSksdGhpcy5pbnZhbGlkYXRlKHRoaXMuX3BhbmVJbnZhbGlkYXRpb25NYXNrKGUsTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQpKX1lbmRTY3JvbGxQcmljZShlLHQpe2UuZW5kU2Nyb2xsUHJpY2UodCksdGhpcy5pbnZhbGlkYXRlKHRoaXMuX3BhbmVJbnZhbGlkYXRpb25NYXNrKGUsTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQpKX1hZGRDdXN0b21Tb3VyY2UoZSx0LGk9SWkuQ3VzdG9tU291cmNlTGF5ZXIuRm9yZWdyb3VuZCl7dGhpcy5fY3VzdG9tU291cmNlc01hcC5oYXMoZSkmJnd1LmxvZ1dhcm4oYEF0dGVtcHQgdG8gYWRkIHRoZSBzYW1lIGN1c3RvbSBzb3VyY2UgbXVsdGlwbGUgdGltZSAiJHtlfSJgKSx3dS5sb2dOb3JtYWwoYEFkZGluZyBjdXN0b20gc291cmNlICIke2V9ImApO2NvbnN0IHM9dChlLHRoaXMpO3N3aXRjaChpKXtjYXNlIElpLkN1c3RvbVNvdXJjZUxheWVyLkJhY2tncm91bmQ6dGhpcy5fYmdDdXN0b21Tb3VyY2VzLnB1c2gocyk7YnJlYWs7Y2FzZSBJaS5DdXN0b21Tb3VyY2VMYXllci5Gb3JlZ3JvdW5kOnRoaXMuX2ZnQ3VzdG9tU291cmNlcy5wdXNoKHMpO2JyZWFrO2Nhc2UgSWkuQ3VzdG9tU291cmNlTGF5ZXIuVG9wbW9zdDp0aGlzLl90b3Btb3N0Q3VzdG9tU291cmNlcy5wdXNoKHMpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGN1c3RvbSBzb3VyY2VzIGxheWVyICR7aX1gKX10aGlzLl9hbGxDdXN0b21Tb3VyY2VzLnB1c2gocyksdGhpcy5fY3VzdG9tU291cmNlc01hcC5zZXQoZSxzKSx0aGlzLmxpZ2h0VXBkYXRlKCl9cmVtb3ZlQ3VzdG9tU291cmNlKGUpe3RoaXMuX3JlbW92ZUN1c3RvbVNvdXJjZShlKSx0aGlzLmxpZ2h0VXBkYXRlKCl9aGFzQ3VzdG9tU291cmNlKGUpe3JldHVybiB0aGlzLl9jdXN0b21Tb3VyY2VzTWFwLmhhcyhlKX1jdXN0b21Tb3VyY2VGb3JOYW1lKGUpe3JldHVybiB0aGlzLl9jdXN0b21Tb3VyY2VzTWFwLmdldChlKXx8bnVsbH1jdXN0b21Tb3VyY2VOYW1lKGUpe2xldCB0PW51bGw7cmV0dXJuIHRoaXMuX2N1c3RvbVNvdXJjZXNNYXAuZm9yRWFjaCgoKGkscyk9PntpPT09ZSYmKHQ9cyl9KSksdH1jdXN0b21Tb3VyY2VzKGUpe3N3aXRjaChlKXtjYXNlIElpLkN1c3RvbVNvdXJjZUxheWVyLkJhY2tncm91bmQ6cmV0dXJuIHRoaXMuX2JnQ3VzdG9tU291cmNlcztjYXNlIElpLkN1c3RvbVNvdXJjZUxheWVyLkZvcmVncm91bmQ6cmV0dXJuIHRoaXMuX2ZnQ3VzdG9tU291cmNlcztjYXNlIElpLkN1c3RvbVNvdXJjZUxheWVyLlRvcG1vc3Q6cmV0dXJuIHRoaXMuX3RvcG1vc3RDdXN0b21Tb3VyY2VzO2RlZmF1bHQ6cmV0dXJuIHRoaXMuX2FsbEN1c3RvbVNvdXJjZXN9fWFkZE11bHRpUGFuZVNvdXJjZShlKXt0aGlzLl9tdWx0aVBhbmVTb3VyY2VzLnB1c2goZSksdGhpcy5fb25NdWx0aXBhbmVTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSgpLHRoaXMubGlnaHRVcGRhdGUoKX1yZW1vdmVNdWx0aVBhbmVTb3VyY2UoZSl7Y29uc3QgdD10aGlzLl9tdWx0aVBhbmVTb3VyY2VzLmluZGV4T2YoZSk7LTE9PT10P3d1LmxvZ1dhcm4oIkF0dGVtcHQgdG8gcmVtb3ZlIG11bHRpLXBhbmUgc291cmNlIHdoaWNoIGRvZXMgbm90IGV4aXN0IGluIHRoZSBtb2RlbCIpOih0aGlzLl9vbk11bHRpcGFuZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKCksdGhpcy5fbXVsdGlQYW5lU291cmNlcy5zcGxpY2UodCwxKSksdGhpcy5saWdodFVwZGF0ZSgpfW11bHRpUGFuZVNvdXJjZXMoZSl7cmV0dXJuIHRoaXMuX211bHRpUGFuZVNvdXJjZXMuZmlsdGVyKCh0PT4hZS5oYXNEYXRhU291cmNlKHQpKSl9b25NdWx0aXBhbmVTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQoKXtyZXR1cm4gdGhpcy5fb25NdWx0aXBhbmVTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWR9cmVuZGVyZXJPcHRpb25zUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXJ9bWFnbmV0KCl7cmV0dXJuIHRoaXMuX21hZ25ldH1wcmljZUF4aXNSZW5kZXJlck9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXIub3B0aW9ucygpfXByaWNlU2NhbGVTbG90c0NvdW50KCl7bGV0IGU9MCx0PTA7dGhpcy5fcGFuZXMuZm9yRWFjaCgoaT0+e2U9TWF0aC5tYXgoaS5sZWZ0UHJpY2VTY2FsZXMoKS5sZW5ndGgsZSksdD1NYXRoLm1heChpLnJpZ2h0UHJpY2VTY2FsZXMoKS5sZW5ndGgsdCl9KSk7Y29uc3QgaT1lK3Q7aWYoSi5DaGVja01vYmlsZS5hbnkoKSl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucGFuZUZvclNvdXJjZSh0aGlzLm1haW5TZXJpZXMoKSkpLHQ9ZS5wcmljZVNjYWxlUG9zaXRpb24odGhpcy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpKQo7cmV0dXJuKCJvdmVybGF5Ij09PXQ/ZS5yaWdodFByaWNlU2NhbGVzKCkubGVuZ3RoPjA6InJpZ2h0Ij09PXQpP3tsZWZ0OjAscmlnaHQ6MSx0b3RhbGx5U2xvdHM6aX06e2xlZnQ6MSxyaWdodDowLHRvdGFsbHlTbG90czppfX1yZXR1cm57bGVmdDplLHJpZ2h0OnQsdG90YWxseVNsb3RzOml9fWRhdGVUaW1lRm9ybWF0dGVyKCl7cmV0dXJuIHRoaXMuX2RhdGVUaW1lRm9ybWF0dGVyfWRhdGVGb3JtYXR0ZXIoKXtyZXR1cm4gdGhpcy5fZGF0ZUZvcm1hdHRlcn10aW1lRm9ybWF0dGVyKCl7cmV0dXJuIHRoaXMuX3RpbWVGb3JtYXR0ZXJ9aXNVbm1lcmdlQXZhaWxhYmxlRm9yU291cmNlKGUpe2lmKCF0aGlzLl91bm1lcmdlQXZhaWxhYmxlKGUpKXJldHVybiExO3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lRm9yU291cmNlKGUpKS5kYXRhU291cmNlcygpLmZpbHRlcih0aGlzLl91bm1lcmdlQXZhaWxhYmxlLHRoaXMpLmxlbmd0aD4xfWlzTWVyZ2VEb3duQXZhaWxhYmxlRm9yU291cmNlKGUpe2lmKCF0aGlzLl91bm1lcmdlQXZhaWxhYmxlKGUpKXJldHVybiExO2NvbnN0IHQ9dGhpcy5wYW5lRm9yU291cmNlKGUpLGk9dGhpcy5wYW5lcygpLmZpbHRlcigoZT0+ZS5tb2RlKCk9PT1NLlBhbmVNb2RlLlJlZ3VsYXIpKTtyZXR1cm4gdCE9PWlbaS5sZW5ndGgtMV19aXNNZXJnZVVwQXZhaWxhYmxlRm9yU291cmNlKGUpe2lmKCF0aGlzLl91bm1lcmdlQXZhaWxhYmxlKGUpKXJldHVybiExO3JldHVybiB0aGlzLnBhbmVGb3JTb3VyY2UoZSkhPT10aGlzLnBhbmVzKCkuZmlsdGVyKChlPT5lLm1vZGUoKT09PU0uUGFuZU1vZGUuUmVndWxhcikpWzBdfWlzUHJpY2VTY2FsZVZpc2libGUoZSl7Y29uc3QgdD1lLm1haW5Tb3VyY2UoKTtpZighdClyZXR1cm4hMTtjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lRm9yU291cmNlKHQpKSxzPWkucHJpY2VTY2FsZVBvc2l0aW9uKGUpO2lmKCJvdmVybGF5Ij09PXMpcmV0dXJuITA7Y29uc3Qgbj1pLnByaWNlU2NhbGVJbmRleChlLHMpLHI9dGhpcy5wcmljZVNjYWxlU2xvdHNDb3VudCgpW3NdO3JldHVybiB2b2lkIDAhPT1uJiZuPHJ9Z2V0U3R1ZHlTaGlmdENvbG9yU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fc3R1ZHlTaGlmdENvbG9yU3RhcnRPZmZzZXR9c2V0U3R1ZHlTaGlmdENvbG9yU3RhcnRPZmZzZXQoZSl7dGhpcy5fc3R1ZHlTaGlmdENvbG9yU3RhcnRPZmZzZXQ9ZX1zZXNzaW9ucygpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc2Vzc2lvbnMpfWNyZWF0ZVNlc3Npb25zKGUpe2lmKG51bGw9PT10aGlzLl9zZXNzaW9ucyl7Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PW5ldyBQYShlKTtyZXR1cm4oMCx5YS5hcHBseURlZmF1bHRzT3ZlcnJpZGVzKSh0LmNoaWxkcygpLnNlc3Npb25IaWdobGlnaHQsdm9pZCAwLCExLCJzZXNzaW9ucyIpLHQucmVtb3ZlRHVwbGljYXRlUHJvcGVydGllcygpLHR9KHRoaXMubWFpblNlcmllcygpLnN5bWJvbEluZm9XVigpLndlYWtSZWZlcmVuY2UoKSk7dGhpcy5fc2Vzc2lvbnM9bmV3IFRhKChhc3luYygpPT57Y29uc3Qgcz1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDcwNjI0OCkpO3JldHVybiB0aGlzLmFkZEN1c3RvbVNvdXJjZSgic2Vzc2lvbnMiLCgoaSxuKT0+e2NvbnN0IHI9bmV3IHMuU2Vzc2lvbnMoaSxuLHQsZSk7cmV0dXJuIHIuc3RhcnQoKSxyfSksSWkuQ3VzdG9tU291cmNlTGF5ZXIuQmFja2dyb3VuZCksdGhpcy5jdXN0b21Tb3VyY2VGb3JOYW1lKCJzZXNzaW9ucyIpfSkoKSx0aGlzLHQpfX1jcmVhdGVQcmVQb3N0TWFya2V0KGUpe3RoaXMuYWRkQ3VzdG9tU291cmNlKCJwcmVQb3N0TWFya2V0IiwoKHQsaSk9Pm5ldyBUaCh0LGksZSkpKX1jcmVhdGVJbmFjdGl2aXR5R2FwcygpezB9aW5hY3Rpdml0eUdhcHMoKXt0aHJvdyBuZXcgRXJyb3IoImluYWN0aXZpdHlfZ2FwcyBmZWF0dXJlc2V0IGlzIG5vdCBlbmFibGVkIil9c2V0SW5hY3Rpdml0eUdhcHNTZXNzaW9uKGUpeygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5jdXN0b21Tb3VyY2VGb3JOYW1lKCJpbmFjdGl2aXR5R2FwcyIpKS5zZXRTZXNzaW9uKGV8fCJzZXNzaW9uIil9d2F0ZXJtYXJrU291cmNlKCl7cmV0dXJuIHRoaXMuX3dhdGVybWFya1NvdXJjZX13YXRlcm1hcmtDb250ZW50UHJvdmlkZXIoKXtyZXR1cm4gbmV3IGguV2F0Y2hlZFZhbHVlKG51bGwpfXN0dWRpZXNDb2xvclJvdGF0b3JGYWN0b3J5KCl7cmV0dXJuIHRoaXMuX3N0dWR5Q29sb3JSb3RhdG9yRmFjdG9yeX1yZXBsYXlTdGF0dXMoKXtyZXR1cm4gdGhpcy5fcmVwbGF5U3RhdHVzfXNldFJlcGxheVN0YXR1cyhlKXt0aGlzLl9yZXBsYXlTdGF0dXMuc2V0VmFsdWUoZSl9aXNJblJlcGxheSgpe3JldHVybiB0aGlzLl9tYWluU2VyaWVzLmlzSW5SZXBsYXkoKX1nZXRTeW1ib2xTdHJpbmcoKXtyZXR1cm4gdGhpcy5fbWFpblNlcmllcy5nZXRTeW1ib2xTdHJpbmcoKX1pbnRlcnZhbCgpe3JldHVybiB0aGlzLl9tYWluU2VyaWVzLmludGVydmFsKCl9b25JblJlcGxheVN0YXRlQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9tYWluU2VyaWVzLm9uSW5SZXBsYXlTdGF0ZUNoYW5nZWQoKX1zd2l0Y2hUb1JlcGxheShlLHQsaSl7dGhpcy5fbWFpblNlcmllcy5zd2l0Y2hUb1JlcGxheShlLHQsaSl9c3dpdGNoVG9SZWFsdGltZSgpe3RoaXMuX21haW5TZXJpZXMuc3dpdGNoVG9SZWFsdGltZSgpLHRoaXMuX3RpbWVTY2FsZS5yZXNldFJpZ2h0T2Zmc2V0KCksdGhpcy5zZXRSZXBsYXlTdGF0dXMoMCksdGhpcy5fc2Nyb2xsaW5nU3RhdGUmJih0aGlzLl9zY3JvbGxpbmdTdGF0ZS5kZWZlcnJlZC5yZWplY3QoKSx0aGlzLl9zY3JvbGxpbmdTdGF0ZT1udWxsKX1jYW5DaGFuZ2VSZXNvbHV0aW9uKGUpe3JldHVybiB0aGlzLl9tYWluU2VyaWVzLmNhbkNoYW5nZVJlc29sdXRpb24oZSl9CmNhbkNoYW5nZVN5bWJvbChlKXtyZXR1cm4gdGhpcy5fbWFpblNlcmllcy5jYW5DaGFuZ2VTeW1ib2woZSl9b25SZXBsYXlNb2RpZmllZCgpe3JldHVybiB0aGlzLl9tYWluU2VyaWVzLm9uUmVwbGF5TW9kaWZpZWQoKX1tYWluU2VyaWVzU2NhbGVSYXRpb1Byb3BlcnR5KCl7cmV0dXJuIHRoaXMuX21haW5TZXJpZXNTY2FsZVJhdGlvUHJvcGVydHl9bWFpblNlcmllc1NjYWxlUmF0aW9Qcm9wZXJ0eU9uQ2hhbmdlZCgpe3RoaXMuX21haW5TZXJpZXNTY2FsZVJhdGlvUHJvcGVydHkuZmlyZUNoYW5nZWQoKX1nZXRUaGVtZU5hbWVJZlN0ZFRoZW1lKCl7Y29uc3QgZT10aGlzLnNlc3Npb25zKCkucHJvcGVydGllcygpLHQ9dGhpcy5wcm9wZXJ0aWVzKCksaT10aGlzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCk7cmV0dXJuIGUuYWxsVGhlbWVQcm9wZXJ0aWVzQXJlRGVmYXVsdChKby5TdGRUaGVtZS5MaWdodCkmJnQuYWxsVGhlbWVQcm9wZXJ0aWVzQXJlRGVmYXVsdChKby5TdGRUaGVtZS5MaWdodCkmJmkuYWxsVGhlbWVQcm9wZXJ0aWVzQXJlRGVmYXVsdChKby5TdGRUaGVtZS5MaWdodCk/Sm8uU3RkVGhlbWUuTGlnaHQ6ZS5hbGxUaGVtZVByb3BlcnRpZXNBcmVEZWZhdWx0KEpvLlN0ZFRoZW1lLkRhcmspJiZ0LmFsbFRoZW1lUHJvcGVydGllc0FyZURlZmF1bHQoSm8uU3RkVGhlbWUuRGFyaykmJmkuYWxsVGhlbWVQcm9wZXJ0aWVzQXJlRGVmYXVsdChKby5TdGRUaGVtZS5EYXJrKT9Kby5TdGRUaGVtZS5EYXJrOm51bGx9dGhlbWUoKXtyZXR1cm57Y2hhcnRQcm9wZXJ0aWVzOnRoaXMucHJvcGVydGllcygpLnRoZW1lU3RhdGUoKSxzZXNzaW9uczp0aGlzLnNlc3Npb25zKCkucHJvcGVydGllcygpLnRoZW1lU3RhdGUoKSxtYWluU291cmNlUHJvcGVydGllczp0aGlzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkudGhlbWVTdGF0ZSgpLHZlcnNpb246dGhpcy52ZXJzaW9uKCl9fXRlbXBsYXRlKCl7cmV0dXJue2NoYXJ0UHJvcGVydGllczp0aGlzLnByb3BlcnRpZXMoKS50ZW1wbGF0ZSgpLHNlc3Npb25zOnRoaXMuc2Vzc2lvbnMoKS5wcm9wZXJ0aWVzKCkudGVtcGxhdGUoKSxtYWluU291cmNlUHJvcGVydGllczp0aGlzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkudGVtcGxhdGUoKSx2ZXJzaW9uOnRoaXMudmVyc2lvbigpfX1vbkNoYXJ0VGhlbWVMb2FkZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRUaGVtZUxvYWRlZH1jaGFydFRoZW1lTG9hZGVkKCl7dGhpcy5fY2hhcnRUaGVtZUxvYWRlZC5maXJlKCl9YXN5bmMgY29sb3JTdHVkaWVzUHJvcGVydGllc1JlYWR5KCl7dGhpcy5fcmVjYWxjQ29sb3JTdHVkaWVzSW1wbCh0aGlzLl9yZWNhbGNWUlN0dWRpZXNQYXJhbXMpO2NvbnN0IGU9dGhpcy5hbGxTdHVkaWVzKCEwKS5maWx0ZXIoKGU9PmUubWV0YUluZm8oKS5pbnB1dHMuZmlsdGVyKE50LmlzU3R1ZHlJbnB1dERlcGVuZHNPbkNoYXJ0Q29sb3JzKS5sZW5ndGg+MCkpO2F3YWl0IFByb21pc2UuYWxsKGUubWFwKChlPT5lLnByb3BlcnRpZXNQYXRjaGVkKCkpKSl9c3RhdGUoZSl7Y29uc3R7d2l0aERhdGE6dCxza2lwTGluZVRvb2xzRnJvbU90aGVyU3ltYm9sczppLHNraXBMaW5lVG9vbHM6c309ZSxuPXRoaXMucHVibGlzaGVkQ2hhcnRzVGltZWxpbmVTb3VyY2UoKSxyPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLG89ci50cmFkaW5nUHJvcGVydGllcy5zdGF0ZSgpLGE9e3BhbmVzOnRoaXMuX3BhbmVzLm1hcCgodD0+dC5zdGF0ZSh7Li4uZSxpbmNsdWRlU291cmNlczohMH0pKSksdGltZVNjYWxlOnRoaXMuX3RpbWVTY2FsZS5zdGF0ZSh0KSxjaGFydFByb3BlcnRpZXM6e3BhbmVQcm9wZXJ0aWVzOnIucGFuZVByb3BlcnRpZXMuc3RhdGUoKSxzY2FsZXNQcm9wZXJ0aWVzOnIuc2NhbGVzUHJvcGVydGllcy5zdGF0ZSgpLHB1Ymxpc2hlZENoYXJ0c1RpbWVsaW5lUHJvcGVydGllczpuP24uc3RhdGUodCk6dm9pZCAwLGNoYXJ0RXZlbnRzU291cmNlUHJvcGVydGllczpyLmNoYXJ0RXZlbnRzU291cmNlUHJvcGVydGllcz8uc3RhdGUoKSx0cmFkaW5nUHJvcGVydGllczpvLHByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWU6ci5wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3lOYW1lLnZhbHVlKCksaW5hY3Rpdml0eUdhcHM6ci5pbmFjdGl2aXR5R2Fwcy52YWx1ZSgpfSxzZXNzaW9uczp0aGlzLnNlc3Npb25zKCkuc3RhdGUodCksdmVyc2lvbjp0aGlzLnZlcnNpb24oKSx0aW1lem9uZTp0aGlzLnRpbWV6b25lKCksc2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbjp0aGlzLl9zaG91bGRCZVNhdmVkRXZlbklmSGlkZGVuLGxpbmtpbmdHcm91cDp0aGlzLl9saW5raW5nR3JvdXBJbmRleC52YWx1ZSgpfTtyZXR1cm4gc3x8KGEubGluZVRvb2xzR3JvdXBzPXRoaXMubGluZVRvb2xzR3JvdXBNb2RlbCgpLnN0YXRlKGkpKSxhfWlzSW5SZXN0b3JlU3RhdGUoKXtyZXR1cm4gdGhpcy5fcmVzdG9yaW5nU3RhdGV9cmVzdG9yZVN0YXRlKGUsdCxpKXtLbC5EZWZlcnJlZFN0dWRpZXMuaW5zdGFuY2UodGhpcykucmVzZXQoKTtjb25zdCBzPXt9O2lmKCFlLnBhbmVzKXJldHVybiB2b2lkIHd1LmxvZ0RlYnVnKCJDaGFydE1vZGVsLnJlc3RvcmVTdGF0ZTogaW52YWxpZCBzdGF0ZSIpO2lmKCFBcnJheS5pc0FycmF5KGUucGFuZXMpKXJldHVybiB2b2lkIHd1LmxvZ0RlYnVnKCJDaGFydE1vZGVsLnJlc3RvcmVTdGF0ZTogaW52YWxpZCBzdGF0ZSIpO2lmKGUucGFuZXMubGVuZ3RoPDEpcmV0dXJuIHZvaWQgd3UubG9nRGVidWcoIkNoYXJ0TW9kZWwucmVzdG9yZVN0YXRlOiBpbnZhbGlkIHN0YXRlIik7dGhpcy5fcmVzdG9yaW5nU3RhdGU9ITA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fYmFyc01hcmtzU291cmNlcyl0aGlzLmRldGFjaFNvdXJjZShlKTtpZih0aGlzLl9zaG91bGRCZVNhdmVkRXZlbklmSGlkZGVuPWUuc2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbj8/ITAsZS5jaGFydFByb3BlcnRpZXMmJiFlLmNoYXJ0UHJvcGVydGllcy50aW1lem9uZSYmKGUuY2hhcnRQcm9wZXJ0aWVzLnRpbWV6b25lPWUudGltZXpvbmUpLGUuY2hhcnRQcm9wZXJ0aWVzKXtjb25zdCBpPSgwLAokbC5mYWN0b3J5RGVmYXVsdHMpKCJjaGFydHByb3BlcnRpZXMiKS5zY2FsZXNQcm9wZXJ0aWVzOygwLGEubWVyZ2UpKGksZS5jaGFydFByb3BlcnRpZXMuc2NhbGVzUHJvcGVydGllcyksISgic2hvd0xhc3RWYWx1ZSJpbiBpKXx8InNob3dTZXJpZXNMYXN0VmFsdWUiaW4gaXx8InNob3dTdHVkeUxhc3RWYWx1ZSJpbiBpfHwoaS5zaG93U2VyaWVzTGFzdFZhbHVlUHJvcGVydHk9aS5zaG93TGFzdFZhbHVlLGkuc2hvd1N0dWR5TGFzdFZhbHVlUHJvcGVydHk9aS5zaG93TGFzdFZhbHVlKSwic2hvd1Nlcmllc0xhc3RWYWx1ZSJpbiBpJiYocy5zaG93U2VyaWVzTGFzdFZhbHVlUHJvcGVydHk9ITApLCJzaG93U3R1ZHlMYXN0VmFsdWUiaW4gaSYmKHMuc2hvd1N0dWR5TGFzdFZhbHVlUHJvcGVydHk9ITApLCghdGhpcy5pc1NuYXBzaG90KCkmJiF0aGlzLnJlYWRPbmx5KCkmJiJzaG93Q3VycmVuY3kiaW4gaXx8InNob3dVbml0ImluIGkpJiYoKDAscnMubWlncmF0ZVNob3dDdXJyZW5jeUFuZFNob3dVbml0UHJvcGVydGllcykoaS5zaG93Q3VycmVuY3ksaS5zaG93VW5pdCksZGVsZXRlIGkuc2hvd0N1cnJlbmN5LGRlbGV0ZSBpLnNob3dVbml0KTt7Y29uc3QgdD1lLmNoYXJ0UHJvcGVydGllcy5wYW5lUHJvcGVydGllcztYaCh0KSwiYmFja2dyb3VuZFR5cGUiaW4gdHx8KHQuYmFja2dyb3VuZFR5cGU9cGkuQ29sb3JUeXBlLlNvbGlkKSwic2VwYXJhdG9yQ29sb3IiaW4gdHx8KHQuc2VwYXJhdG9yQ29sb3I9KDAsay5nZXRUaGVtZWRDb2xvcikoImNvbG9yLWNoYXJ0LXBhZ2UtYmciKSksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5tZXJnZUFuZEZpcmUodCl9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLm1lcmdlQW5kRmlyZShpKSxlLmNoYXJ0UHJvcGVydGllcy50aW1lem9uZSYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS50aW1lem9uZS5zZXRWYWx1ZShlLmNoYXJ0UHJvcGVydGllcy50aW1lem9uZSksZS5jaGFydFByb3BlcnRpZXMuY2hhcnRFdmVudHNTb3VyY2VQcm9wZXJ0aWVzJiZ0aGlzLl9wcm9wZXJ0aWVzLmhhc0NoaWxkKCJjaGFydEV2ZW50c1NvdXJjZVByb3BlcnRpZXMiKSYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5jaGFydEV2ZW50c1NvdXJjZVByb3BlcnRpZXMubWVyZ2VBbmRGaXJlKGUuY2hhcnRQcm9wZXJ0aWVzLmNoYXJ0RXZlbnRzU291cmNlUHJvcGVydGllcyksZS5jaGFydFByb3BlcnRpZXMudHJhZGluZ1Byb3BlcnRpZXMmJnRoaXMuX3Byb3BlcnRpZXMuaGFzQ2hpbGQoInRyYWRpbmdQcm9wZXJ0aWVzIikmJih2b2lkIDA9PT1lLmNoYXJ0UHJvcGVydGllcy50cmFkaW5nUHJvcGVydGllcy5ob3Jpem9udGFsQWxpZ25tZW50JiYoZS5jaGFydFByb3BlcnRpZXMudHJhZGluZ1Byb3BlcnRpZXMuaG9yaXpvbnRhbEFsaWdubWVudD0obj1lLmNoYXJ0UHJvcGVydGllcy50cmFkaW5nUHJvcGVydGllcy5saW5lTGVuZ3RoKTw9NDA/SWkuVHJhZGVkR3JvdXBIb3Jpem9udGFsQWxpZ25tZW50LlJpZ2h0Om4+PTYwP0lpLlRyYWRlZEdyb3VwSG9yaXpvbnRhbEFsaWdubWVudC5MZWZ0OklpLlRyYWRlZEdyb3VwSG9yaXpvbnRhbEFsaWdubWVudC5DZW50ZXIpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudHJhZGluZ1Byb3BlcnRpZXMubWVyZ2VBbmRGaXJlKGUuY2hhcnRQcm9wZXJ0aWVzLnRyYWRpbmdQcm9wZXJ0aWVzKSksdGhpcy5fdGltZVNjYWxlLnJlc3RvcmVTdGF0ZShlLnRpbWVTY2FsZSx0KSx0aGlzLl91cGRhdGVEYXRlVGltZUZvcm1hdHRlcigpfXZhciBuO2lmKGUudGltZVNjYWxlJiZ0aGlzLl90aW1lU2NhbGUucmVzdG9yZVN0YXRlKGUudGltZVNjYWxlLHQpLCF0aGlzLnJlYWRPbmx5KCkpe2NvbnN0IHQ9dGhpcy5fZ2V0RXhjZWVkaW5nQ2hpbGRTdHVkaWVzKGUucGFuZXMpO2lmKHQubGVuZ3RoKXtmb3IobGV0IGk9ZS5wYW5lcy5sZW5ndGgtMTtpPj0wOy0taSl7Y29uc3Qgcz1lLnBhbmVzW2ldO2ZvcihsZXQgZT1zLnNvdXJjZXMubGVuZ3RoLTE7ZT49MDstLWUpe2NvbnN0IGk9cy5zb3VyY2VzW2VdO350LmluZGV4T2YoaSkmJnMuc291cmNlcy5zcGxpY2UoZSwxKX1zLnNvdXJjZXMubGVuZ3RofHxzLm1vZGUhPT1NLlBhbmVNb2RlLlJlZ3VsYXJ8fGUucGFuZXMuc3BsaWNlKGksMSl9e2NvbnN0IGU9d2luZG93LnVzZXIucHJvX3BsYW4sdD0icHJvX3ByZW1pdW1fZXhwZXJ0Ij09PWV8fCJwcm9fcHJlbWl1bV9leHBlcnRfdHJpYWwiPT09ZTtzZXRUaW1lb3V0KCgoKT0+KDAsd2Uub3BlblBheXdhbGwpKHtmZWF0dXJlOiJzdHVkeU9uU3R1ZHkiLGlzTWF4UGxhbjp0fSkpLDUwMCl9fX1jb25zdCByPWUudmVyc2lvbnx8MCxvPWUucGFuZXM7bGV0IGM9Il9zZXJpZXNJZCIsaD0xO2Zvcihjb25zdCBlIG9mIG8pe2NvbnN0IHQ9ZS5zb3VyY2VzLmZpbmQoKGU9PiJNYWluU2VyaWVzIj09PWUudHlwZSkpO2lmKHQpe2M9dC5pZCx0LnN0YXRlJiYoaD10LnN0YXRlLnN0eWxlKTticmVha319Y29uc3QgZD0hMCx1PW9bMF07dGhpcy5wYW5lcygpWzBdLnJlc3RvcmVTdGF0ZSh7c3RhdGU6dSx3aXRoRGF0YTp0LHZlcnNpb246cixzZXJpZXNJZDpjLHNldHRpbmdzTWlncmF0aW9uOnMsY29udGVudE92ZXJyaWRlczppLHJlc3RvcmVTaWxlbnRseTpkLHJlYXNvbjoyLHRhcmdldFNlcmllc1N0eWxlOmh9KSx0aGlzLnBhbmVzKClbMF0ubWFpbkRhdGFTb3VyY2UoKXx8dGhpcy5yZW1vdmVQYW5lKHRoaXMucGFuZXMoKVswXSk7bGV0IHA9MTtmb3IobGV0IG49MTtuPGUucGFuZXMubGVuZ3RoO24rKyl7Y29uc3Qgbz1lLnBhbmVzW25dO2lmKDA9PT1vLnNvdXJjZXMubGVuZ3RoJiYoby5tb2RlPz9NLlBhbmVNb2RlLlJlZ3VsYXIpPT09TS5QYW5lTW9kZS5SZWd1bGFyKXt3dS5sb2dXYXJuKCJFbXB0eSBwYW5lIGRldGVjdGVkIC0gcmVzdG9yaW5nIGlzIHNraXBwZWQuIGlkeD0iK24rIiwgc3RhdGU9IitKU09OLnN0cmluZ2lmeShvKSk7Y29udGludWV9Y29uc3QgYT10aGlzLnBhbmVzKClbcF18fHRoaXMuY3JlYXRlUGFuZSgpO2EucmVzdG9yZVN0YXRlKHtzdGF0ZTpvLHdpdGhEYXRhOnQsdmVyc2lvbjpyLHNlcmllc0lkOmMsCnNldHRpbmdzTWlncmF0aW9uOnMsY29udGVudE92ZXJyaWRlczppLHJlc3RvcmVTaWxlbnRseTpkLHJlYXNvbjoyLHRhcmdldFNlcmllc1N0eWxlOmh9KSxhLm1haW5EYXRhU291cmNlKCl8fGEubW9kZSgpIT09TS5QYW5lTW9kZS5SZWd1bGFyP3ArPTE6dGhpcy5yZW1vdmVQYW5lKGEpfWlmKHUuaXNDb2xsYXBzZWQmJnRoaXMuX3BhbmVzWzBdLmNvbGxhcHNlZCgpLnNldFZhbHVlKCEwKSxlLmNoYXJ0UHJvcGVydGllcyYmZS5jaGFydFByb3BlcnRpZXMucHVibGlzaGVkQ2hhcnRzVGltZWxpbmVQcm9wZXJ0aWVzKXtjb25zdCBpPXRoaXMucHVibGlzaGVkQ2hhcnRzVGltZWxpbmVTb3VyY2UoKTtpJiZpLnJlc3RvcmVEYXRhKGUuY2hhcnRQcm9wZXJ0aWVzLnB1Ymxpc2hlZENoYXJ0c1RpbWVsaW5lUHJvcGVydGllcyx0KX10aGlzLl9pbnZhbGlkYXRlQmFyQ29sb3JlckNhY2hlcygpO2NvbnN0IF89dGhpcy5kYXRhU291cmNlcygpO2xldCBtPTA7Zm9yKGxldCBlPTA7ZTxfLmxlbmd0aDtlKyspe2NvbnN0IHQ9X1tlXTsoMCxyaS5pc0xpbmVUb29sKSh0KSYmKG0rKyx0LmNhbGNJc0FjdHVhbFN5bWJvbCgpKX10aGlzLnVwZGF0ZVRpbWVTY2FsZUJhc2VJbmRleCgpLHRoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi5nbG9iYWxDaGFuZ2VFdmVudCkoKSksdGhpcy5mdWxsVXBkYXRlKCksdGhpcy5zeW5jTG9sbGlwb3BTb3VyY2VzKCk7Y29uc3QgZz0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMubWFpblBhbmUoKSk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fYmFyc01hcmtzU291cmNlcyl0aGlzLmRldGFjaFNvdXJjZShlKSxnLmFkZERhdGFTb3VyY2UoZSx0aGlzLl9tYWluU2VyaWVzLnByaWNlU2NhbGUoKSwhMCk7bGV0IGY9UW8uVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbSgibGluZXRvb2xzX2xpbWl0Iil8fDFlMztyZXR1cm4gd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJndpbmRvdy51c2VyJiZ3aW5kb3cudXNlci5zZXR0aW5ncyYmKGY9d2luZG93LnVzZXIuc2V0dGluZ3MubGluZXRvb2xzX2xpbWl0fHxmKSxlLnNlc3Npb25zJiZ0aGlzLnNlc3Npb25zKCkucmVzdG9yZVN0YXRlKGUuc2Vzc2lvbnMsdCksZS5saW5lVG9vbHNHcm91cHMmJnRoaXMucmVzdG9yZUxpbmVUb29sc0dyb3VwcyhlLmxpbmVUb29sc0dyb3VwcyksbT5mJiZtJTEwMD09MD97bGluZXNfbGltaXRfZXhjZWVkZWQ6ITAsbGluZV90b29sc19jb3VudDptfToodGhpcy5wYW5lcygpLmZvckVhY2goKGU9PnRoaXMuX2RhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKGUpKSksdGhpcy5fbGluZVRvb2xzR3JvdXBNb2RlbC5maXJlQ2hhbmdlZEFsbCgpLHRoaXMuX2xpbmtpbmdHcm91cEluZGV4LnNldFZhbHVlKGUubGlua2luZ0dyb3VwPz9udWxsKSx0aGlzLl9yZXN0b3JpbmdTdGF0ZT0hMSx7fSl9c2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbigpe3JldHVybiB0aGlzLl9zaG91bGRCZVNhdmVkRXZlbklmSGlkZGVufXNldFNob3VsZEJlU2F2ZWRFdmVuSWZIaWRkZW4oZSl7dGhpcy5fc2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbj1lfWV4dGVybmFsVGltZVN0YW1wKGUpe2NvbnN0IHQ9dGhpcy5tYWluU2VyaWVzKCkuc3luY01vZGVsKCk7cmV0dXJuIHRoaXMudGltZVNjYWxlKCkucG9pbnRzKCkucm91Z2hUaW1lKGUsdCYmdC5wcm9qZWN0VGltZS5iaW5kKHQpKX1zeW5jTG9sbGlwb3BTb3VyY2VzKCl7dGhpcy5fbG9sbGlwb3BTb3VyY2VzV2F0Y2hlckxvYWRlcj8uY2FsbEZ1bmN0aW9uKCgoKT0+e251bGwhPT10aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyJiZ0aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyLnN5bmNTb3VyY2VzKCl9KSl9cmVzdG9yZUNoYXJ0RXZlbnRzKGUpe3RoaXMuX2xvbGxpcG9wU291cmNlc1dhdGNoZXJMb2FkZXI/LmNhbGxGdW5jdGlvbigoKCk9PntudWxsIT09dGhpcy5fbG9sbGlwb3BTb3VyY2VzV2F0Y2hlciYmdGhpcy5fb3B0aW9ucy5jaGFydEV2ZW50c0VuYWJsZWQmJnRoaXMuX2xvbGxpcG9wU291cmNlc1dhdGNoZXIucmVzdG9yZUNoYXJ0RXZlbnRzKGUpfSkpfXJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXMoZSl7aWYodGhpcy5fcmVjYWxjVlJTdHVkaWVzUGFyYW1zLnJlYXNvbnMuYWRkKGUpLHRoaXMuX21haW5TZXJpZXMuaXNTdGFydGVkKCkmJnRoaXMuX21haW5TZXJpZXMuaXNDb21wbGV0ZWQoKSl7Y29uc3QgdD0oMCxsLmVuc3VyZURlZmluZWQpKEl1LmdldChlKSkuYWRhcHRlcixpPU1hdGgubWluKC4uLkFycmF5LmZyb20odGhpcy5fcmVjYWxjVlJTdHVkaWVzUGFyYW1zLnJlYXNvbnMpLm1hcCgoZT0+KDAsbC5lbnN1cmVEZWZpbmVkKShJdS5nZXQoZSkpKSkuZmlsdGVyKChlPT5lLmFkYXB0ZXI9PT10KSkubWFwKChlPT5lLnRpbWVvdXQpKSk7KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzSW1wbERlYm91bmNlZEJ5QWRhcHRlci5nZXQodCk/LmdldChpKSkoKX1lbHNlIHRoaXMuX3JlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNJbXBsKHRoaXMuX3JlY2FsY1ZSU3R1ZGllc1BhcmFtcyl9cmVjYWxjQ29sb3JTdHVkaWVzKGUpe3RoaXMuX3JlY2FsY0NvbG9yU3R1ZGllc1BhcmFtcy5mb3JjZT10aGlzLl9yZWNhbGNDb2xvclN0dWRpZXNQYXJhbXMuZm9yY2V8fEJvb2xlYW4oZSksdGhpcy5fcmVjYWxjQ29sb3JTdHVkaWVzSW1wbERlYm91bmNlZCgpfXJlY2FsY1N0dWR5QmFzZWRMaW5lVG9vbHMoKXt0aGlzLmRhdGFTb3VyY2VzKCkuZm9yRWFjaCgoZT0+eygwLG9pLmlzU3R1ZHlMaW5lVG9vbCkoZSkmJmUucmVjYWxjU3R1ZHlJZk5lZWRlZCgpfSkpfWFsZXJ0c1dhdGNoZXIoKXtyZXR1cm4gdGhpcy5fYWxlcnRzV2F0Y2hlcn1hbGVydHNDb2xsZWN0aW9uKCl7cmV0dXJuIHRoaXMuX2FsZXJ0c0NvbGxlY3Rpb24ucmVhZG9ubHkoKX1zaG93TGVnZW5kKCl7cmV0dXJuIHRoaXMuX3Nob3dMZWdlbmRQcm9wZXJ0eX1pZCgpe3JldHVybiB0aGlzLl9pZH1zZWxlY3RQb2ludE1vZGUoKXtyZXR1cm4gdGhpcy5fY3Jvc3NIYWlyU2VsZWN0UG9pbnRNb2RlfWNhbmNlbFJlcXVlc3RTZWxlY3RQb2ludCgpewp0aGlzLl9jcm9zc0hhaXJTb3VyY2UuY2FuY2VsUmVxdWVzdFNlbGVjdFBvaW50KCl9cmVxdWVzdFNlbGVjdFBvaW50KGUpe3JldHVybiB0aGlzLl9jcm9zc0hhaXJTb3VyY2UucmVxdWVzdFNlbGVjdFBvaW50KGUpfW9uUG9pbnRTZWxlY3RlZCgpe3JldHVybiB0aGlzLl9jcm9zc0hhaXJTb3VyY2Uub25Qb2ludFNlbGVjdGVkKCl9cmVjYWxjdWxhdGVQcmljZVJhbmdlT25jZSgpe2NvbnN0IGU9dGhpcy5tYWluU2VyaWVzKCk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fcGFuZXMpZm9yKGNvbnN0IGkgb2YgdC5wcmljZURhdGFTb3VyY2VzKCkpaS5zeW1ib2xTb3VyY2UoKT09PWUmJmkuZGlzYWJsZVByaWNlUmFuZ2VSZWFkeSgpfWludmFsaWRhdGUoZSl7dGhpcy5faW52YWxpZGF0ZUhhbmRsZXI/LihlKX1hcHBsaWVkVGltZUZyYW1lKCl7cmV0dXJuIHRoaXMuX2FwcGxpZWRUaW1lRnJhbWUuYXBwbGllZFRpbWVGcmFtZSgpfWJhcnNNYXJrc1NvdXJjZXMoKXtyZXR1cm4gdGhpcy5fYmFyc01hcmtzU291cmNlc31jcmVhdGVTeW5jUG9pbnQoZSx0KXtyZXR1cm4oMCxsdS5nZXREZWZhdWx0MkxhenkpKHRoaXMuX3N5bmNQb2ludENhY2hlLGUudW5pcXVlSWQsdC51bmlxdWVJZCwoKCk9Pm5ldyBhaChlLHQpKSl9aXNBdXRvU2F2ZUVuYWJsZWQoKXtyZXR1cm4gdGhpcy5faXNBdXRvU2F2ZUVuYWJsZWR9bGlua2luZ0dyb3VwSW5kZXgoKXtyZXR1cm4gdGhpcy5fbGlua2luZ0dyb3VwSW5kZXh9c3R1ZHlBd2FyZURlZmF1bHRSaWdodE9mZnNldCgpe3JldHVybiB0aGlzLl90aW1lU2NhbGUudXNlUGVyY2VudGFnZVJpZ2h0T2Zmc2V0KCkudmFsdWUoKT90aGlzLl90aW1lU2NhbGUucGVyY2VudHNUb0JhckluZGV4TGVuZ3RoKHRoaXMuc3R1ZHlBd2FyZURlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UoKSk6TWF0aC5tYXgodGhpcy5fdGltZVNjYWxlLmRlZmF1bHRSaWdodE9mZnNldCgpLnZhbHVlKCksdGhpcy5fY2FjaGVkU3R1ZGllc01heE9mZnNldCl9c3R1ZHlBd2FyZURlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UoKXtyZXR1cm4gdGhpcy5fdGltZVNjYWxlLnVzZVBlcmNlbnRhZ2VSaWdodE9mZnNldCgpLnZhbHVlKCk/TWF0aC5tYXgodGhpcy5fdGltZVNjYWxlLmRlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UoKS52YWx1ZSgpLHRoaXMuX3RpbWVTY2FsZS5iYXJJbmRleExlbmd0aFRvUGVyY2VudHModGhpcy5fY2FjaGVkU3R1ZGllc01heE9mZnNldCkpOnRoaXMuX3RpbWVTY2FsZS5iYXJJbmRleExlbmd0aFRvUGVyY2VudHModGhpcy5zdHVkeUF3YXJlRGVmYXVsdFJpZ2h0T2Zmc2V0KCkpfWNsZWFyQWxsU3R1ZGllcygpe3RoaXMuZGF0YVNvdXJjZXMoKS5mb3JFYWNoKChlPT5lLmNsZWFyRGF0YT8uKCkpKX1zZXRUaW1lU2NhbGVBbmltYXRpb24oZSx0KXtjb25zdCBpPUxlLkludmFsaWRhdGlvbk1hc2subGlnaHQoKSxzPXRoaXMuX3RpbWVTY2FsZTtpLnNldFRpbWVTY2FsZUFuaW1hdGlvbihlLHQ/P3Mud2lkdGgoKS1zLmluZGV4VG9Db29yZGluYXRlKHMuYmFzZUluZGV4KCkpKSx0aGlzLmludmFsaWRhdGUoaSl9c3RvcFRpbWVTY2FsZUFuaW1hdGlvbigpe3RoaXMuX3RpbWVTY2FsZS5lbmRTY3JvbGwoKTtjb25zdCBlPUxlLkludmFsaWRhdGlvbk1hc2subGlnaHQoKTtlLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx0aGlzLmludmFsaWRhdGUoZSl9bG9sbGlwb3BTb3VyY2VzT3B0aW9ucygpe2NvbnN0IGU9dGhpcy5fb3B0aW9ucztyZXR1cm57Y2hhcnRFdmVudHNFbmFibGVkOiF0aGlzLl9vcHRpb25zLmlzU25hcHNob3QmJnRoaXMuX29wdGlvbnMuY2hhcnRFdmVudHNFbmFibGVkLGVzZEVuYWJsZWQ6ZS5lc2RFbmFibGVkLG5ld3NOb3RpZmljYXRpb25zRW5hYmxlZDplLm5ld3NOb3RpZmljYXRpb25zRW5hYmxlZCxjb250aW51b3VzQ29udHJhY3RTd2l0Y2hlc0VuYWJsZWQ6ZS5jb250aW51b3VzQ29udHJhY3RTd2l0Y2hlc0VuYWJsZWQsZnV0dXJlc0NvbnRyYWN0RXhwaXJhdGlvbkVuYWJsZWQ6ZS5mdXR1cmVzQ29udHJhY3RFeHBpcmF0aW9uRW5hYmxlZCxsYXRlc3RVcGRhdGVzRW5hYmxlZDplLmxhdGVzdFVwZGF0ZXNFbmFibGVkfX1vblN5bWJvbEludGVydmFsQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xJbnRlcnZhbENoYW5nZWR9c2V0UHJpY2VBdXRvU2NhbGUoZSx0LGkpe2Uuc2V0UHJpY2VBdXRvU2NhbGUodCxpKSx0aGlzLmludmFsaWRhdGUodGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soZSxMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCkpfWNhbGN1bGF0ZURlZmF1bHRUYWdzKCl7cmV0dXJuIHRoaXMuZGF0YVNvdXJjZXMoKS5yZWR1Y2UoKChlLHQpPT4odC50YWdzJiZlLnB1c2goLi4udC50YWdzKCkpLGUpKSxbXSl9YXN5bmMgd2l0aG91dExpbmVUb29sc1N5bmNBY3Rpb24oZSl7dHJ5e3RoaXMuX2xpbmVUb29sc1N5bmNCbG9jaysrLGF3YWl0IGUoKX1maW5hbGx5e3RoaXMuX2xpbmVUb29sc1N5bmNCbG9jay0tfX1zeW1ib2xBbGlhc1NlcnZpY2UoKXtyZXR1cm4gdGhpcy5fc3ltYm9sQWxpYXNTZXJ2aWNlfWNoYXJ0RmxvYXRpbmdUb29sdGlwVmlzaWJsZSgpe3JldHVybiB0aGlzLl91bmRvTW9kZWwuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCl9Y2hhcnRGbG9hdGluZ1Rvb2x0aXBBY3RpdmUoKXtyZXR1cm4gdGhpcy5fdW5kb01vZGVsLmNoYXJ0RmxvYXRpbmdUb29sdGlwQWN0aXZlKCl9X3N1YnNjcmliZVRvTGluZVRvb2xzR3JvdXBNb2RlbCgpe3RoaXMuX2xpbmVUb29sc0dyb3VwTW9kZWwub25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25MaW5lVG9vbHNHcm91cE1vZGVsQ2hhbmdlZCl9X3Vuc3Vic2NyaWJlRnJvbUxpbmVUb29sc0dyb3VwTW9kZWwoKXt0aGlzLl9saW5lVG9vbHNHcm91cE1vZGVsLm9uQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpfV9tYXliZVVwZGF0ZVByZXZpb3VzU2VsZWN0ZWREcmF3aW5nT3JHcm91cCgpe2NvbnN0IGU9dGhpcy5fY3VycmVudFRvb2wudmFsdWUoKSx0PXRoaXMuX3NlbGVjdGlvbi5hbGxJdGVtc1NvcnRlZCgpLm1hcCgoZT0+KDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoZSk/ZS5pZDplLmlkKCkpKTsoMCwKbS5pc0xpbmVUb29sTmFtZSkoZSkmJnQubGVuZ3RoP3RoaXMuX3ByZXZpb3VzU2VsZWN0ZWREcmF3aW5nT3JHcm91cElkcz10OiEoMCxULnRvb2xJc0N1cnNvcikoZSkmJiEoMCxULnRvb2xJc01lYXN1cmUpKGUpfHx0Lmxlbmd0aHx8KHRoaXMuX3ByZXZpb3VzU2VsZWN0ZWREcmF3aW5nT3JHcm91cElkcz1udWxsKX1fdXBkYXRlSGlnaGxpZ2h0ZWRTb3VyY2UoKXt0aGlzLmRhdGFTb3VyY2VzKCkuZm9yRWFjaCgoZT0+eygwLHRpLmlzU3R1ZHkpKGUpJiZlLmhhc0hpZ2hsaWdodGVkUGxvdHMoKSYmKGUudXBkYXRlQWxsVmlld3MoKDAsdG4uc2VsZWN0aW9uQ2hhbmdlRXZlbnQpKCkpLHRoaXMudXBkYXRlU291cmNlKGUpKX0pKX1faW5pdEFsZXJ0c0xpc3QoKXtyZXR1cm4gdGhpcy5fYWxlcnRzTGlzdFByb21pc2V8fCh0aGlzLl9hbGVydHNMaXN0UHJvbWlzZT0oMCxVcy5nZXRDaGFydEFsZXJ0c0ZhY2FkZSkoKS50aGVuKChlPT57Y29uc3QgdD1lLmNyZWF0ZUNvbGxlY3Rpb24oKCgpPT50aGlzLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpKSwoKCk9PnRoaXMubWFpblNlcmllcygpLmFjdHVhbFN5bWJvbCgpKSwoKCk9PnRoaXMubWFpblNlcmllcygpLnByb1N5bWJvbCgpKSk7dGhpcy5fYWxlcnRzQ29sbGVjdGlvbi5zZXRWYWx1ZSh0KSx0LmFsZXJ0QWRkZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9hZGRBbGVydExhYmVsVG9DaGFydC5iaW5kKHRoaXMpKSx0LmFsZXJ0UmVtb3ZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3JlbW92ZUFsZXJ0TGFiZWxGcm9tQ2hhcnQuYmluZCh0aGlzKSksdC5maXJzdENvbmRpdGlvbkFsZXJ0U2VyaWVzQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLChlPT57KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLmFsZXJ0c1dhdGNoZXIoKSkuaXNBbGVydExhYmVsQmVpbmdNb3ZlZChlLHRoaXMuc291cmNlc0JlaW5nTW92ZWQoKSl8fCh0aGlzLl9yZW1vdmVBbGVydExhYmVsRnJvbUNoYXJ0KGUpLHRoaXMuX2FkZEFsZXJ0TGFiZWxUb0NoYXJ0KGUpKX0pKSx0LnN5bmMoKTtjb25zdCBpPWU9Pnt0aGlzLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKVtlXSh0aGlzLHMpLHRoaXMubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zeW1ib2xFcnJvcigpW2VdKHRoaXMsdGhpcy5fcmVtb3ZlQWxsQWxlcnRMYWJlbHNGcm9tQ2hhcnQpLHRoaXMubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnRlcnZhbFtlXSh0aGlzLHMpfSxzPSgpPT57dD8uc3luYygpfTtyZXR1cm4gd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsKCgpPT57dD8ucmVzZXQoKSxpKHdpbmRvdy5pc19hdXRoZW50aWNhdGVkPyJzdWJzY3JpYmUiOiJ1bnN1YnNjcmliZSIpfSkpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZpKCJzdWJzY3JpYmUiKSx0fSkpKSx0aGlzLl9hbGVydHNMaXN0UHJvbWlzZX1fdXBkYXRlU3R1ZGllc01heE9mZnNldCgpe2NvbnN0IGU9TWF0aC5tYXgoLi4udGhpcy5hbGxTdHVkaWVzKCkubWFwKChlPT5lLm1heE9mZnNldCgpLnZhbHVlKCkpKSk7dGhpcy5fY2FjaGVkU3R1ZGllc01heE9mZnNldD1lO2NvbnN0IHQ9dGhpcy5fdGltZVNjYWxlLnJpZ2h0T2Zmc2V0KCk7aWYodDwwKXJldHVybjtpZihlPD10KXJldHVybjtjb25zdCBpPXRoaXMuX3RpbWVTY2FsZS5sb2dpY2FsUmFuZ2UoKTtpP3RoaXMuX3RpbWVTY2FsZS56b29tVG9CYXJzUmFuZ2UoaS5sZWZ0KCksdGhpcy5fdGltZVNjYWxlLmJhc2VJbmRleCgpK01hdGgubWF4KHRoaXMuX3RpbWVTY2FsZS5yaWdodE9mZnNldCgpLGUpKTp0aGlzLl90aW1lU2NhbGUuc2V0UmlnaHRPZmZzZXQoTWF0aC5tYXgodCxlKSl9X3VwZGF0ZUJhc2VJbmRleChlLHQpe2NvbnN0IGk9dGhpcy5fdGltZVNjYWxlLHM9aS5iYXNlSW5kZXgoKSxuPWkubG9naWNhbFJhbmdlKCk7aWYobnVsbCE9PW4mJnQpe2NvbnN0IHQ9bi5jb250YWlucyhzKSxyPWUtcyxvPXQ/bnVsbDppLnJpZ2h0T2Zmc2V0KCktcjtpZighdGhpcy5fb3B0aW9ucy5zaGlmdFZpc2libGVSYW5nZU9uTmV3QmFyJiZ0KXtjb25zdCBlPWkud2lkdGgoKS9pLmJhclNwYWNpbmcoKSx0PWUvKGUrcikscz1NYXRoLm1heChpLm1pbkJhclNwYWNpbmcoKSxpLmJhclNwYWNpbmcoKSp0KTtpLnNldEJhclNwYWNpbmcocyl9bnVsbCE9PW8mJmkuc2V0UmlnaHRPZmZzZXQobyl9aS5zZXRCYXNlSW5kZXgoZSl9YXN5bmMgX2NyZWF0ZUxvbGxpcG9wU291cmNlc1dhdGNoZXIoKXt7Y29uc3QgZT10aGlzLmxvbGxpcG9wU291cmNlc09wdGlvbnMoKSx0PVtlLmVzZEVuYWJsZWQsZS5jb250aW51b3VzQ29udHJhY3RTd2l0Y2hlc0VuYWJsZWQsZS5mdXR1cmVzQ29udHJhY3RFeHBpcmF0aW9uRW5hYmxlZCxlLmxhdGVzdFVwZGF0ZXNFbmFibGVkLGUuY2hhcnRFdmVudHNFbmFibGVkXSxzPSgwLEoub25XaWRnZXQpKCksbj10aGlzLmlzU25hcHNob3QoKTsodC5zb21lKEJvb2xlYW4pfHwhc3x8bikmJihhd2FpdCgwLGF0LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLnJlcXVlc3RNZXRhSW5mbygpLHRoaXMuX2xvbGxpcG9wU291cmNlc1dhdGNoZXJMb2FkZXI9bmV3IHRhLkFzeW5jUmVzb3VyY2VXcmFwcGVyKGkuZSg4MTYwNSkudGhlbihpLmJpbmQoaSw2NjQwKSkpLHRoaXMuX2xvbGxpcG9wU291cmNlc1dhdGNoZXJMb2FkZXIuY2FsbEZ1bmN0aW9uKChlPT57dGhpcy5fbG9sbGlwb3BTb3VyY2VzV2F0Y2hlcj1uZXcgZS5Mb2xsaXBvcFNvdXJjZXNXYXRjaGVyKHRoaXMpfSkpKX19X3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKCl7Y29uc3QgZT1paC5kYXRlRm9ybWF0UHJvcGVydHkudmFsdWUoKSx0PXRoaXMub25XaWRnZXQoKT92b2lkIDA6bGgud2l0aFdlZWtkYXlQcm9wZXJ0eS52YWx1ZSgpO2lmKHRoaXMuX2RhdGVGb3JtYXR0ZXI9bmV3IHRoLkRhdGVGb3JtYXR0ZXIoZSx0KSx0aGlzLm1haW5TZXJpZXMoKS5pc0RXTSgpKXRoaXMuX2RhdGVUaW1lRm9ybWF0dGVyPW5ldyB0aC5EYXRlRm9ybWF0dGVyKGUsdCksdGhpcy5fdGltZUZvcm1hdHRlcj1uZXcgQ2MuVGltZUZvcm1hdHRlcigoMCwKUGMuZ2V0SG91ck1pbnV0ZUZvcm1hdCkoVGMudGltZUhvdXJzRm9ybWF0UHJvcGVydHkudmFsdWUoKSkpO2Vsc2V7Y29uc3QgaT14LkludGVydmFsLnBhcnNlKHRoaXMubWFpblNlcmllcygpLmludGVydmFsKCkpLHM9KDAsUGMuZ2V0VGltZUZvcm1hdEZvckludGVydmFsKShpLFRjLnRpbWVIb3Vyc0Zvcm1hdFByb3BlcnR5LnZhbHVlKCkpO3RoaXMuX2RhdGVUaW1lRm9ybWF0dGVyPW5ldyBlaC5EYXRlVGltZUZvcm1hdHRlcih7ZGF0ZUZvcm1hdDplLHdpdGhXZWVrZGF5OnQsdGltZUZvcm1hdDpzLGRhdGVUaW1lU2VwYXJhdG9yOiIgICAifSksdGhpcy5fdGltZUZvcm1hdHRlcj1uZXcgQ2MuVGltZUZvcm1hdHRlcihzKX19X2ludmFsaWRhdGlvbk1hc2tGb3JTb3VyY2UoZSx0PUxlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KXtpZihlPT09dGhpcy5jcm9zc2hhaXJTb3VyY2UoKSlyZXR1cm4gTGUuSW52YWxpZGF0aW9uTWFzay5jdXJzb3IoKTtpZih0aGlzLl93YXRlcm1hcmtTb3VyY2U9PT1lKXJldHVybiB0aGlzLl9wYW5lSW52YWxpZGF0aW9uTWFzaygoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucGFuZUZvclNvdXJjZSh0aGlzLm1haW5TZXJpZXMoKSkpLHQpO2lmKC0xIT09dGhpcy5fYWxsQ3VzdG9tU291cmNlcy5pbmRleE9mKGUpKXtjb25zdCBlPW5ldyBMZS5JbnZhbGlkYXRpb25NYXNrO3JldHVybiBlLmludmFsaWRhdGVBbGwodCksZX1pZighKDAsQWkuaXNEYXRhU291cmNlKShlKSlyZXR1cm4gbnVsbDtpZihlLmlzTXVsdGlQYW5lRW5hYmxlZCgpKXJldHVybiBuZXcgTGUuSW52YWxpZGF0aW9uTWFzayh0KTtjb25zdCBpPXRoaXMucGFuZUZvclNvdXJjZShlKTtyZXR1cm4gbnVsbCE9PWk/dGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soaSx0KTpudWxsfV9wYW5lSW52YWxpZGF0aW9uTWFzayhlLHQ9TGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQpe2NvbnN0IGk9bmV3IExlLkludmFsaWRhdGlvbk1hc2sscz10aGlzLl9wYW5lcy5pbmRleE9mKGUpO3JldHVybiBpLmludmFsaWRhdGVBbGxQYW5lKHMsdCksaX1faW52YWxpZGF0aW9uTWFza0ZvclNvdXJjZVByaWNlU2NhbGUoZSx0PUxlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KXtpZighKDAsQWkuaXNEYXRhU291cmNlKShlKSlyZXR1cm4gbmV3IExlLkludmFsaWRhdGlvbk1hc2sodCk7Y29uc3QgaT10aGlzLnBhbmVGb3JTb3VyY2UoZSk7aWYobnVsbD09PWkpcmV0dXJuIG51bGw7bGV0IHM9ZS5wcmljZVNjYWxlKCk7aWYobnVsbD09PXMpcmV0dXJuIG51bGw7Y29uc3Qgbj10aGlzLl9wYW5lcy5pbmRleE9mKGkpO2xldCByPWkucHJpY2VTY2FsZVBvc2l0aW9uKHMpO2lmKCJvdmVybGF5Ij09PXIpe2NvbnN0IGU9dGhpcy5fcGFuZXNbbl0uZGVmYXVsdFByaWNlU2NhbGUoKTtzPWUscj1pLnByaWNlU2NhbGVQb3NpdGlvbihlKX1jb25zdCBvPWkucHJpY2VTY2FsZUluZGV4KHMscik7aWYodm9pZCAwPT09bylyZXR1cm4gbnVsbDtjb25zdCBhPW5ldyBMZS5JbnZhbGlkYXRpb25NYXNrO3JldHVybiBhLmludmFsaWRhdGVQcmljZVNjYWxlKG4scixvLHQpLGF9X3JlbW92ZUN1c3RvbVNvdXJjZShlKXtjb25zdCB0PXRoaXMuX2N1c3RvbVNvdXJjZXNNYXAuZ2V0KGUpO2lmKHZvaWQgMD09PXQpcmV0dXJuIHZvaWQgd3UubG9nV2FybihgQXR0ZW1wdCB0byByZW1vdmUgY3VzdG9tIHNvdXJjZSB3aGljaCBkb2VzIG5vdCBleGlzdCBpbiB0aGUgbW9kZWwgLSAiJHtlfSJgKTt3dS5sb2dOb3JtYWwoYFJlbW92aW5nIGN1c3RvbSBzb3VyY2UgIiR7ZX0iYCksdGhpcy5zZWxlY3Rpb25NYWNybygoZT0+e2UucmVtb3ZlSXRlbUZyb21TZWxlY3Rpb24odCl9KSksdGhpcy5faG92ZXJlZFNvdXJjZT09PXQmJnRoaXMuc2V0SG92ZXJlZFNvdXJjZShudWxsKSx0aGlzLl9jdXN0b21Tb3VyY2VCZWluZ01vdmVkPT09dCYmdGhpcy5zZXRNb3ZpbmdDdXN0b21Tb3VyY2UobnVsbCxudWxsKTtjb25zdCBpPUN1KHRoaXMuX2JnQ3VzdG9tU291cmNlcyx0KSxzPUN1KHRoaXMuX2ZnQ3VzdG9tU291cmNlcyx0KSxuPUN1KHRoaXMuX3RvcG1vc3RDdXN0b21Tb3VyY2VzLHQpLHI9Q3UodGhpcy5fYWxsQ3VzdG9tU291cmNlcyx0KTsoMCxsLmFzc2VydCkoaXx8c3x8biwiU291cmNlIHNob3VsZCBiZSBwcmVzZW50ZWQgaW4gb25lIG9mIHRoZSBsYXllcnMiKSwoMCxsLmFzc2VydCkociwiU291cmNlIHNob3VsZCBiZSBwcmVzZW50ZWQgaW4gdGhlIGFycmF5IiksdGhpcy5fY3VzdG9tU291cmNlc01hcC5kZWxldGUoZSksdC5kZXN0cm95KCl9X3VwZGF0ZVNob3dMZWdlbmRQcm9wZXJ0eSgpe2NvbnN0IGU9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dMZWdlbmQsdD10aGlzLl9zaG93TGVnZW5kUHJvcGVydHk7aWYoZS52YWx1ZSgpKXQuc2V0VmFsdWUoITApO2Vsc2V7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fcGFuZXMpe2xldCBpPTA7Zm9yKGNvbnN0IHMgb2YgZS5wcmljZURhdGFTb3VyY2VzKCkpaWYobnVsbCE9PXMuc3RhdHVzVmlldygpJiYoaSsrLGk+PTIpKXJldHVybiB2b2lkIHQuc2V0VmFsdWUoITEpfXQuc2V0VmFsdWUoITApfX1fcG9pbnRUb1BlcmNlbnRQb3NpdGlvbihlLHQpe3JldHVybnt4OmUueC90aGlzLl90aW1lU2NhbGUud2lkdGgoKSx5OmUueS8oMCxsLmVuc3VyZU5vdE51bGwpKCgwLGwuZW5zdXJlTm90TnVsbCkodC5tYWluRGF0YVNvdXJjZSgpKS5wcmljZVNjYWxlKCkpLmhlaWdodCgpfX1fcGVyY2VudFBvc2l0aW9uVG9Qb2ludChlLHQpe2NvbnN0IGk9ZS54KnRoaXMuX3RpbWVTY2FsZS53aWR0aCgpLHM9ZS55KigwLGwuZW5zdXJlTm90TnVsbCkoKDAsbC5lbnN1cmVOb3ROdWxsKSh0Lm1haW5EYXRhU291cmNlKCkpLnByaWNlU2NhbGUoKSkuaGVpZ2h0KCk7cmV0dXJuIG5ldyBQdC5Qb2ludChpLHMpfV9yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzSW1wbChlKXsKaWYoIXRoaXMuX21haW5TZXJpZXMuaXNTdGFydGVkKCl8fCF0aGlzLl9tYWluU2VyaWVzLmlzQ29tcGxldGVkKCkpcmV0dXJuIHZvaWQgdGhpcy5fdmlzaWJsZVJhbmdlU3R1ZGllc0lucHV0cy5zZXRWYWx1ZShudWxsKTtpZih0aGlzLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgdD10aGlzLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09dClyZXR1cm47Y29uc3QgaT10aGlzLl9tYWluU2VyaWVzLmJhcnMoKSxzPWkuc2VhcmNoKHQuZmlyc3RCYXIoKSxaby5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQpLG49aS5zZWFyY2godC5sYXN0QmFyKCksWm8uUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQpLHI9aS5sYXN0SW5kZXgoKSxvPXM/cy5pbmRleDp2b2lkIDAsYT1uP24uaW5kZXg6dm9pZCAwLGw9bz09PWUub2xkU3RhcnRWaXNpYmxlSW5kZXgsYz1hPT09ZS5vbGRFbmRWaXNpYmxlSW5kZXgsaD1bSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TZXJpZXNSZXN0YXJ0LElpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uU2VyaWVzQ29tcGxldGVkLElpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uU3R1ZHlDcmVhdGlvbl0uc29tZSgodD0+ZS5yZWFzb25zLmhhcyh0KSkpO2wmJmMmJiFofHwoZS5yZWFzb25zLmNsZWFyKCksZS5vbGRTdGFydFZpc2libGVJbmRleD12b2lkIDAhPT1vP286TmFOLGUub2xkRW5kVmlzaWJsZUluZGV4PXZvaWQgMCE9PWE/YTpOYU4sdGhpcy5fdmlzaWJsZVJhbmdlU3R1ZGllc0lucHV0cy5zZXRWYWx1ZSh7Zmlyc3RWaXNpYmxlQmFyVGltZToxZTMqKHM/LnZhbHVlWzBdPz8wKSxsYXN0VmlzaWJsZUJhclRpbWU6MWUzKihuPy52YWx1ZVswXT8/MCksc3Vic2NyaWJlUmVhbHRpbWU6bj8uaW5kZXg9PT1yfSkpfV9yZWNhbGNDb2xvclN0dWRpZXNJbXBsKGUpe2NvbnN0IHQ9dGhpcy5iYWNrZ3JvdW5kQ29sb3JBdFlQZXJjZW50RnJvbVRvcCguNSksaT10aGlzLmRhcmsoKS52YWx1ZSgpP1hvLmNvbG9yc1BhbGV0dGVbImNvbG9yLWNvbGQtZ3JheS0yMDAiXTpYby5jb2xvcnNQYWxldHRlWyJjb2xvci1jb2xkLWdyYXktOTAwIl0scz10PT09ZS5vbGRCZ0NvbG9yLG49aT09PWUub2xkRmdDb2xvcjtpZihzJiZuJiYhZS5mb3JjZSlyZXR1cm47ZS5mb3JjZT0hMSxlLm9sZEJnQ29sb3I9dCxlLm9sZEZnQ29sb3I9aTtjb25zdCByPWUuc3R1ZGllcz8/dGhpcy5wcmljZURhdGFTb3VyY2VzKCk7ZS5zdHVkaWVzPXZvaWQgMDtmb3IoY29uc3QgZSBvZiByKWlmKCgwLHRpLmlzU3R1ZHkpKGUpKXtjb25zdCBzPWUubWV0YUluZm8oKS5pbnB1dHMuZmlsdGVyKE50LmlzU3R1ZHlJbnB1dERlcGVuZHNPbkNoYXJ0Q29sb3JzKSxuPWUucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cztzLmZvckVhY2goKGU9Pntjb25zdCBzPWUuaWQ9PT1OdC5DaGFydENvbG9yRGVwZW5kZW50U3R1ZHlJbnB1dE5hbWVzLkZnQ29sb3I/aTp0O24uY2hpbGRzKClbZS5pZF0uc2V0VmFsdWVTaWxlbnRseShzKX0pKSxzLmxlbmd0aD4wJiZuLmZpcmVDaGFuZ2VkKCl9fV9nZXRBbGxTb3VyY2VzKGUsdD1rdSl7Y29uc3QgaT1bXTtmb3IoY29uc3QgcyBvZiB0aGlzLl9wYW5lcyl7Y29uc3Qgbj10KHMpO2Zvcihjb25zdCB0IG9mIG4pZSh0KSYmaS5wdXNoKHQpfXJldHVybiBpfV9pbnZhbGlkYXRlQmFyQ29sb3JlckNhY2hlcygpe3RoaXMubWFpblNlcmllcygpLmludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGUoKX1fYWRkQWxlcnRMYWJlbFRvQ2hhcnQoZSl7e2lmKCFlLmlzQWxlcnRQcmVzZW50T25UYXJnZXQodWguQWxlcnRDaGFydERpc3BsYXlUYXJnZXQuTGFiZWwpKXJldHVybjtjb25zdCB0PWUuZmlyc3RDb25kaXRpb25TZXJpZXNJZCgpO2lmKG51bGw9PT10KXJldHVybjsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuYWxlcnRzV2F0Y2hlcigpKS5hZGRBbGVydChlLHQpfX1fcmVtb3ZlQWxlcnRMYWJlbEZyb21DaGFydChlKXsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuYWxlcnRzV2F0Y2hlcigpKS5yZW1vdmVBbGVydChlKX1fcmVtb3ZlQWxsQWxlcnRMYWJlbHNGcm9tQ2hhcnQoKXsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuYWxlcnRzV2F0Y2hlcigpKS5yZW1vdmVBbGxBbGVydExhYmVscygpfV91cGRhdGVUaW1lU2NhbGUoZSl7Y29uc3R7aW5kZXg6dCx6b2Zmc2V0OmksdmFsdWVzOnMsaW5kZXhEaWZmczpuLGJhc2VJbmRleDpyLG1hcmtzOm8sY2xlYXJGbGFnOmEsY2xlYXJUaWNrTWFya3M6bH09ZTtpZihhKXt0aGlzLl90aW1lU2NhbGUucmVzZXQoKTtmb3IoY29uc3QgZSBvZiB0aGlzLmRhdGFTb3VyY2VzKCkpZS5jbGVhckRhdGE/LigpfWlmKG4ubGVuZ3RoPjApZm9yKGNvbnN0IGUgb2YgdGhpcy5kYXRhU291cmNlcygpKWUubW92ZURhdGE/LihuKTtjb25zdCBjPXRoaXMuX3RpbWVTY2FsZS5pbmRleFRvVGltZVBvaW50KHRoaXMuX3RpbWVTY2FsZS5iYXNlSW5kZXgoKSksaD10aGlzLl90aW1lU2NhbGUuY2FuTm9ybWFsaXplKCk7dGhpcy5fdGltZVNjYWxlLnVwZGF0ZSh0LGkscyxvLGx8fCExKTtjb25zdCBkPXRoaXMuX3RpbWVTY2FsZS5wb2ludHMoKS5yYW5nZSgpLnZhbHVlKCk7bGV0IHU9IkNoYXJ0TW9kZWwucHJvdG90eXBlLl91cGRhdGVUaW1lU2NhbGUoIit0KyIsIitpKyIsIitzLmxlbmd0aCsiLCIrbi5sZW5ndGgrIiwiK28ubGVuZ3RoKyIsIithKyIpIjtpZih1Kz0iVGltZVNjYWxlOiB7Zmlyc3Q6IisoZD8uZmlyc3RJbmRleD8/bnVsbCkrIixsYXN0OiIrKGQ/Lmxhc3RJbmRleD8/bnVsbCkrIn0iLG51bGw9PT1yKXt0aGlzLl90aW1lU2NhbGUucmVzZXRCYXNlSW5kZXgoKTtjb25zdCBlPXRoaXMuX3RpbWVTY2FsZS5yaWdodE9mZnNldCgpO3RoaXMuX3RpbWVTY2FsZS5zZXRSaWdodE9mZnNldChNYXRoLm1heChlLHRoaXMuX2NhY2hlZFN0dWRpZXNNYXhPZmZzZXQpKX1lbHNlIGlmKHZvaWQgMCE9PXIpe2NvbnN0IGU9dGhpcy5fdGltZVNjYWxlLmluZGV4VG9UaW1lUG9pbnQociksdD1udWxsIT09YyYmbnVsbCE9PWUmJmU+Yzt0aGlzLl91cGRhdGVCYXNlSW5kZXgocix0KX0KaWYod3UubG9nRGVidWcodSksIWgmJmghPT10aGlzLl90aW1lU2NhbGUuY2FuTm9ybWFsaXplKCkpZm9yKGNvbnN0IGUgb2YgdGhpcy5kYXRhU291cmNlcygpKSEoMCxyaS5pc0xpbmVUb29sKShlKXx8ZS5pc0ZpeGVkKCl8fGUuaXNTb3VyY2VIaWRkZW4oKXx8ZS5wcm9jZXNzSGliZXJuYXRlKCk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5kYXRhU291cmNlcygpKWUudXBkYXRlQWxsVmlld3Moe3R5cGU6ImRhdGEtc291cmNlLWNoYW5nZSIsc291cmNlSWQ6ZS5pZCgpLGNsZWFyRGF0YTohMH0pO3RoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi5nbG9iYWxDaGFuZ2VFdmVudCkoKSksdGhpcy5saWdodFVwZGF0ZSgpfV9nZXRBdmFpbGFibGVDdXJyZW5jaWVzKCl7cmV0dXJuIHRoaXMuY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZCgpPygwLGEuaXNBcnJheSkodGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llc0xpc3QpP3RoaXMuX2F2YWlsYWJsZUN1cnJlbmNpZXNMaXN0OihudWxsIT09dGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llc0xpc3R8fCh0aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzTGlzdD0oMCxxZS5yZXNwZWN0QWJvcnQpKHRoaXMuX2Fib3J0Q29udHJvbGxlci5zaWduYWwsdGhpcy5jaGFydEFwaSgpLmF2YWlsYWJsZUN1cnJlbmNpZXMoKSksdGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llc0xpc3QudGhlbigoZT0+e3RoaXMuX2Rlc3Ryb3llZHx8KHRoaXMuX2F2YWlsYWJsZUN1cnJlbmNpZXNMaXN0PWUsdGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llcy5zZXRWYWx1ZShuZXcgTGgoZSkpLHRoaXMuZnVsbFVwZGF0ZSgpKX0pKS5jYXRjaCgoZT0+e3d1LmxvZ1dhcm4oYEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGdldHRpbmcgY3VycmVuY2llcyBjb25maWc6ICR7ZX1gKX0pKSksW10pOltdfV9nZXRBdmFpbGFibGVVbml0cygpe3JldHVybiB0aGlzLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpP3RoaXMuX2F2YWlsYWJsZVVuaXRzT2JqZWN0IGluc3RhbmNlb2YgUHJvbWlzZXx8bnVsbD09PXRoaXMuX2F2YWlsYWJsZVVuaXRzT2JqZWN0PyhudWxsIT09dGhpcy5fYXZhaWxhYmxlVW5pdHNPYmplY3R8fCh0aGlzLl9hdmFpbGFibGVVbml0c09iamVjdD0oMCxxZS5yZXNwZWN0QWJvcnQpKHRoaXMuX2Fib3J0Q29udHJvbGxlci5zaWduYWwsdGhpcy5jaGFydEFwaSgpLmF2YWlsYWJsZVVuaXRzKCkpLHRoaXMuX2F2YWlsYWJsZVVuaXRzT2JqZWN0LnRoZW4oKGU9Pnt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9hdmFpbGFibGVVbml0c09iamVjdD1lLHRoaXMuX2F2YWlsYWJsZVVuaXRzLnNldFZhbHVlKG5ldyBBaChlKSksdGhpcy5mdWxsVXBkYXRlKCkpfSkpLmNhdGNoKChlPT57d3UubG9nV2FybihgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZ2V0dGluZyB1bml0cyBjb25maWc6ICR7ZX1gKX0pKSkse30pOnRoaXMuX2F2YWlsYWJsZVVuaXRzT2JqZWN0Ont9fV9nZXRBbGxBdmFpbGFibGVNZXRyaWNzKCl7cmV0dXJuIHRoaXMubWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKT8oMCxhLmlzQXJyYXkpKHRoaXMuX2FsbEF2YWlsYWJsZU1ldHJpY3NMaXN0KT90aGlzLl9hbGxBdmFpbGFibGVNZXRyaWNzTGlzdDoobnVsbCE9PXRoaXMuX2FsbEF2YWlsYWJsZU1ldHJpY3NMaXN0fHwodGhpcy5fYWxsQXZhaWxhYmxlTWV0cmljc0xpc3Q9KDAscWUucmVzcGVjdEFib3J0KSh0aGlzLl9hYm9ydENvbnRyb2xsZXIuc2lnbmFsLHRoaXMuY2hhcnRBcGkoKS5hdmFpbGFibGVNZXRyaWNzKCkpLHRoaXMuX2FsbEF2YWlsYWJsZU1ldHJpY3NMaXN0LnRoZW4oKGU9Pnt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9hbGxBdmFpbGFibGVNZXRyaWNzTGlzdD1lLHRoaXMuZnVsbFVwZGF0ZSgpKX0pKS5jYXRjaCgoZT0+e3d1LmxvZ1dhcm4oYEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGdldHRpbmcgY3VycmVuY2llcyBjb25maWc6ICR7ZX1gKX0pKSksW10pOltdfV9nZXRBdmFpbGFibGVQcmljZVNvdXJjZXMoZSl7Y29uc3QgdD10aGlzLl9hdmFpbGFibGVQcmljZVNvdXJjZXNCeVN5bWJvbC5nZXQoZSk7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdDtpZigoMCxhLmlzUHJvbWlzZSkodCkpcmV0dXJuW107Y29uc3QgaT10aGlzLmNoYXJ0QXBpKCkuYXZhaWxhYmxlUHJpY2VTb3VyY2VzKGUpO3JldHVybiB0aGlzLl9hdmFpbGFibGVQcmljZVNvdXJjZXNCeVN5bWJvbC5zZXQoZSxpKSxpLnRoZW4oKHQ9Pnt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9hdmFpbGFibGVQcmljZVNvdXJjZXNCeVN5bWJvbC5zZXQoZSx0KSx0aGlzLmZ1bGxVcGRhdGUoKSl9KSkuY2F0Y2goKGU9Pnt3dS5sb2dXYXJuKGBBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBnZXR0aW5nIHByaWNlIHNvdXJjZXMgY29uZmlnOiAke2V9YCl9KSksW119X2NsZWFyQXZhaWxhYmxlUHJpY2VTb3VyY2VzKCl7dGhpcy5fYXZhaWxhYmxlUHJpY2VTb3VyY2VzQnlTeW1ib2wuY2xlYXIoKX1fb25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKXt0aGlzLl9zeW1ib2xJbnRlcnZhbENoYW5nZWQuZmlyZSgpfV9nZXRCYWNrZ3JvdW5kQ29sb3IoZSl7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpO2lmKHQuYmFja2dyb3VuZFR5cGUudmFsdWUoKT09PXBpLkNvbG9yVHlwZS5HcmFkaWVudCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCxpKXtpZigoMCxrLmdldEN1cnJlbnRUaGVtZSkoKS5uYW1lPT09Sm8uU3RkVGhlbWUuRGFyayYmKDAsWC5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpJiYoMCxrLmlzU3RkVGhlbWVkRGVmYXVsdFZhbHVlKSgiY2hhcnRQcm9wZXJ0aWVzLnBhbmVQcm9wZXJ0aWVzLmJhY2tncm91bmRHcmFkaWVudFN0YXJ0Q29sb3IiLGUsSm8uU3RkVGhlbWUuRGFyaykmJigwLGsuaXNTdGRUaGVtZWREZWZhdWx0VmFsdWUpKCJjaGFydFByb3BlcnRpZXMucGFuZVByb3BlcnRpZXMuYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3IiLHQsSm8uU3RkVGhlbWUuRGFyaykpcmV0dXJuIGNoO3JldHVybiBpP2U6dAp9KHQuYmFja2dyb3VuZEdyYWRpZW50U3RhcnRDb2xvci52YWx1ZSgpLHQuYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3IudmFsdWUoKSxCb29sZWFuKGUpKX1yZXR1cm4gZnVuY3Rpb24oZSl7aWYoKDAsay5nZXRDdXJyZW50VGhlbWUpKCkubmFtZT09PUpvLlN0ZFRoZW1lLkRhcmsmJigwLFguaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSYmKDAsay5pc1N0ZFRoZW1lZERlZmF1bHRWYWx1ZSkoImNoYXJ0UHJvcGVydGllcy5wYW5lUHJvcGVydGllcy5iYWNrZ3JvdW5kIixlLEpvLlN0ZFRoZW1lLkRhcmspKXJldHVybiBjaDtyZXR1cm4gZX0odC5iYWNrZ3JvdW5kLnZhbHVlKCkpfV9nZXRCYWNrZ3JvdW5kQ291bnRlckNvbG9yKCl7Y29uc3QgZT10aGlzLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCk7cmV0dXJuImJsYWNrIj09PSgwLHlpLnJnYlRvQmxhY2tXaGl0ZVN0cmluZykoKDAseWkucGFyc2VSZ2IpKGUpLDE1MCk/IndoaXRlIjoiYmxhY2sifV91cGRhdGVCYWNrZ3JvdW5kQ29sb3IoKXt0aGlzLl9iYWNrZ3JvdW5kQ29sb3Iuc2V0VmFsdWUodGhpcy5fZ2V0QmFja2dyb3VuZENvbG9yKCkpLHRoaXMuX2JhY2tncm91bmRUb3BDb2xvci5zZXRWYWx1ZSh0aGlzLl9nZXRCYWNrZ3JvdW5kQ29sb3IoITApKX1fc3luY0Nyb3NzaGFpcihlKXtpZighdGhpcy5faXNTZXR0aW5nc0V4dGVybmFsUG9zaXRpb24pe2NvbnN0IHQ9dGhpcy5fdW5kb01vZGVsLm1haW5TZXJpZXMoKSxpPXQuc3luY01vZGVsKCkscz10aGlzLl91bmRvTW9kZWwuY3Jvc3NoYWlyU291cmNlKCksbj1zLnBhbmU7aWYobnVsbCE9PWkmJm51bGwhPT1uKXtjb25zdCByPXt0aW1lU3RhbXA6dGhpcy5fdGltZVNjYWxlLnBvaW50cygpLnJvdWdoVGltZShzLmluZGV4LGkucHJvamVjdFRpbWUuYmluZChpKSksc3luY1NvdXJjZVRhcmdldDppLnN5bmNTb3VyY2VUYXJnZXQoKX07bi5tYWluRGF0YVNvdXJjZSgpPT09dCYmKHIucHJpY2U9cy5wcmljZSxyLnN5bWJvbD10LnN5bWJvbCgpKSx0aGlzLl91bmRvTW9kZWwuc3luY0Nyb3NzaGFpcihyLGUpfXRoaXMuX3BoYW50b21Tb3VyY2VDb250YWluZXIub25DdXJzb3JQb3NpdGlvblVwZGF0ZWQoKX19X2dvdG9UaW1lSW1wbChlLHQpe2NvbnN0IGk9dGhpcy50aW1lU2NhbGUoKSxzPXRoaXMubWFpblNlcmllcygpO2xldCBuO2lmKHZvaWQgMCE9PWUpe2lmKHRoaXMuX3Njcm9sbGluZ1N0YXRlJiZ0aGlzLl9zY3JvbGxpbmdTdGF0ZS5kZWZlcnJlZC5yZWplY3QoKSxuPSgwLEF0LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKSwhcy5pc0RXTSgpKXtjb25zdCB0PXMuc3ltYm9sSW5mbygpO2lmKG51bGwhPT10KXtjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy50aW1lem9uZUV4Y2VwdEV4Y2hhbmdlKCkudmFsdWUoKSksbj0oMCxvLmNhbF90b191dGMpKCgwLG8uZ2V0X3RpbWV6b25lKShpKSxuZXcgRGF0ZShlKSkscj0oMCxVaC5jcmVhdGVUaW1lVG9CYXJUaW1lQWxpZ25lcikocy5pbnRlcnZhbCgpLHQpKG4pO2U9KDAsby51dGNfdG9fY2FsKSgoMCxvLmdldF90aW1lem9uZSkoaSkscikuZ2V0VGltZSgpfX10aGlzLl9zY3JvbGxpbmdTdGF0ZT17dGFyZ2V0RGF0ZTplLGRlZmVycmVkOm4sdGFyZ2V0UG9pbnRBbGlnbm1lbnQ6dC50YXJnZXRQb2ludEFsaWdubWVudCxhdXRvc2NhbGVBZnRlclNjcm9sbDp0LmF1dG9zY2FsZUFmdGVyU2Nyb2xsfX1lbHNle2lmKCF0aGlzLl9zY3JvbGxpbmdTdGF0ZSlyZXR1cm4gd3UubG9nRXJyb3IoInNjcm9sbFRvIGNhbGxlZCB3aXRob3V0IGFuIGFyZ3VtZW50IiksUHJvbWlzZS5yZWplY3QoKTtlPXRoaXMuX3Njcm9sbGluZ1N0YXRlLnRhcmdldERhdGUsbj10aGlzLl9zY3JvbGxpbmdTdGF0ZS5kZWZlcnJlZH1pZih2b2lkIDA9PT1pLnRpY2tNYXJrcygpLm1pbkluZGV4KXJldHVybiBuLnJlc29sdmUodm9pZCAwKSxuLnByb21pc2U7dGhpcy5zdG9wVGltZVNjYWxlQW5pbWF0aW9uKCk7bGV0IHI9KChlLG4pPT57aWYoKGU9PigwLGwuZW5zdXJlTm90TnVsbCkoaS50aWNrTWFya3MoKS5pbmRleFRvVGltZSgoMCxsLmVuc3VyZURlZmluZWQpKGkudGlja01hcmtzKCkubWluSW5kZXgpKSkudmFsdWVPZigpLWUpKG4pPDApe2xldCByPWkudGlja01hcmtzKCkubmVhcmVzdEluZGV4KG4pO2NvbnN0IG89cy5iYXJzKCkubGFzdEluZGV4KCk7aWYobnVsbD09PW8pcmV0dXJuIm5vX2RhdGEiO3I9TWF0aC5taW4ocixvKTtsZXQgYT0oMCxsLmVuc3VyZU5vdE51bGwpKGkudGlja01hcmtzKCkuaW5kZXhUb1RpbWUocikpLnZhbHVlT2YoKTtmb3IoO2E8biYmcjxvOylyKyssYT0oMCxsLmVuc3VyZU5vdE51bGwpKGkudGlja01hcmtzKCkuaW5kZXhUb1RpbWUocikpLnZhbHVlT2YoKTtpZigoMCxsLmVuc3VyZU5vdE51bGwpKGkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKS5jb250YWlucyhyKSYmIXQuYWxpZ25JZlRhcmdldFBvaW50SXNWaXNpYmxlKXJldHVybiJpbl92aXNpYmxlX3JhbmdlIjtpZigibm9uZSIhPT1lKXtjb25zdCB0PWkud2lkdGgoKTtpZigibGVmdCI9PT1lKWkuc2Nyb2xsVG9CYXIocik7ZWxzZXtjb25zdCBlPWkuaW5kZXhUb0Nvb3JkaW5hdGUocikscz1pLmNvb3JkaW5hdGVUb0Zsb2F0SW5kZXgoZS10LzIpO2kuc2Nyb2xsVG9CYXIocyl9fXJldHVybnt0aW1lc3RhbXA6KDAsbC5lbnN1cmVOb3ROdWxsKShpLmluZGV4VG9UaW1lUG9pbnQocikpfX1yZXR1cm4ibm9fZGF0YSJ9KSh0aGlzLl9zY3JvbGxpbmdTdGF0ZS50YXJnZXRQb2ludEFsaWdubWVudCx0aGlzLl9zY3JvbGxpbmdTdGF0ZS50YXJnZXREYXRlKTtpZigibm9fZGF0YSI9PT1yKXtjb25zdCB0PSgwLGwuZW5zdXJlRGVmaW5lZCkoaS50aWNrTWFya3MoKS5taW5JbmRleCksbj0oMCxsLmVuc3VyZU5vdE51bGwpKGkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKSxvPW4ubGFzdEJhcigpLW4uZmlyc3RCYXIoKTtpZihzLnJlcXVlc3RNb3JlRGF0YUF2YWlsYWJsZSgpKXtjb25zdCB0PWkudGlja01hcmtzKCkuZXN0aW1hdGVMZWZ0KGUpO2kucmVxdWVzdE1vcmVIaXN0b3J5UG9pbnRzKE1hdGguY2VpbCh0K28vMikpfWVsc2UgaS56b29tVG9CYXJzUmFuZ2UodC1vLzIsdCtvLzIpLHI9ewp0aW1lc3RhbXA6KDAsbC5lbnN1cmVOb3ROdWxsKShpLmluZGV4VG9UaW1lUG9pbnQodCkpLGVvZDohMH19aWYoIm5vX2RhdGEiIT09ciYmImluX3Zpc2libGVfcmFuZ2UiIT09cil7aWYodGhpcy5fc2Nyb2xsaW5nU3RhdGUuYXV0b3NjYWxlQWZ0ZXJTY3JvbGwpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKShpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSksdD0oMCxsLmVuc3VyZU5vdE51bGwpKGkubG9naWNhbFJhbmdlKCkpO2Zvcihjb25zdCBpIG9mIHRoaXMucGFuZXMoKSl7Zm9yKGNvbnN0IHMgb2YgaS5sZWZ0UHJpY2VTY2FsZXMoKSlzLnJlY2FsY3VsYXRlUHJpY2VSYW5nZShlLHQpO2Zvcihjb25zdCBzIG9mIGkucmlnaHRQcmljZVNjYWxlcygpKXMucmVjYWxjdWxhdGVQcmljZVJhbmdlKGUsdCl9fXRoaXMuZnVsbFVwZGF0ZSgpLHRoaXMuX3Njcm9sbGluZ1N0YXRlPW51bGwsbi5yZXNvbHZlKHIpfXJldHVybiJpbl92aXNpYmxlX3JhbmdlIj09PXImJihuLnJlamVjdCgiYWxyZWFkeSB2aXNpYmxlIiksdGhpcy5fc2Nyb2xsaW5nU3RhdGU9bnVsbCksbi5wcm9taXNlfV9zZXRDb3JyZWN0ZWRQb3NpdGlvblRvQ3Jvc3NoYWlyKGUsdCxpKXt0aGlzLmNyb3NzaGFpclNvdXJjZSgpLnNldFBvc2l0aW9uKGUsdCxpKX1fc2VsZWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlKGUpe2NvbnN0IHQ9dGhpcy5fc2VsZWN0aW9uLmFsbEl0ZW1zKCk7aWYoMT09PXQubGVuZ3RoKXtjb25zdFtpXT10O2lmKCEoMCxYci5pc0xpbmVUb29sc0dyb3VwKShpKSYmISgwLEFpLmlzRGF0YVNvdXJjZSkoaSkmJmkuc2VsZWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlKXJldHVybiBpLnNlbGVjdGlvbk9wZXJhdGlvbkF2YWlsYWJsZShlKX1yZXR1cm4hMH1fb25TeW1ib2xTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZChlKXt0aGlzLl9jbGVhckF2YWlsYWJsZVByaWNlU291cmNlcygpLHRoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0F2YWlsYWJpbGl0eSgpLHRoaXMuX3JlY2FsY0FsbG93ZWRBZGp1c3RtZW50KCksdGhpcy5fc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQuZmlyZShlKX1fb25QcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZChlKXt0aGlzLl9wYW5lcy5zb21lKChlPT5lLmhhc0RhdGFTb3VyY2UodGhpcy5fbWFpblNlcmllcykpKSYmKHRoaXMuX3N0dWRpZXNXVi5zZXRWYWx1ZSh0aGlzLmFsbFN0dWRpZXMoKSksdGhpcy5fc3R1ZGllc0V4Y2x1ZGVJbnRlcm5hbFdWLnNldFZhbHVlKHRoaXMuYWxsU3R1ZGllcyghMCkpKX1fdW5tZXJnZUF2YWlsYWJsZShlKXtyZXR1cm4gZT09PXRoaXMuX21haW5TZXJpZXN8fCgwLHRpLmlzU3R1ZHkpKGUpJiYhZS5pc0xpbmtlZFRvU2VyaWVzKCkmJmUuc2hvd0luT2JqZWN0VHJlZSgpfV9nZXRFeGNlZWRpbmdDaGlsZFN0dWRpZXMoZSl7bGV0IHQ9W107Zm9yKGxldCBpPTA7aTxlLmxlbmd0aDsrK2kpdD10LmNvbmNhdChlW2ldLnNvdXJjZXN8fFtdKTtsZXQgaT0wLHM9MTtzPSgwLENlLmdldENvbmZpZykoIlNUVURZX09OX1NUVURZIik/LmNoaWxkX2xpbWl0Pz8xO2NvbnN0IG49W10scj17fTtsZXQgbz0wLGE9MWU2O2Zvcig7dC5sZW5ndGgmJi0tYTspe2NvbnN0IGU9dFtvXTsoZS5vd25lclNvdXJjZSYmcltlLm93bmVyU291cmNlXXx8IWUub3duZXJTb3VyY2UpJiYocltlLmlkXT1lLHQuc3BsaWNlKHQuaW5kZXhPZihlKSwxKSxlLm93bmVyU291cmNlJiYoMCxQLmlzU3R1ZHlTdGF0ZSkoZSkmJmUuc3RhdGUmJmUuc3RhdGUuaXNDaGlsZFN0dWR5JiYrK2k+cyYmbi5wdXNoKGUpKSxvPShvKzEpJXQubGVuZ3RofXJldHVybiBufV9zZW5kVG8oZSx0KXtjb25zdCBpPW5ldyBNYXA7ZS5mb3JFYWNoKChlPT57Y29uc3QgdD10aGlzLnBhbmVGb3JTb3VyY2UoZSk7aWYoIXQpcmV0dXJuO2NvbnN0IHM9dGhpcy5fcGFuZXMuaW5kZXhPZih0KTtpLmhhcyhzKXx8aS5zZXQocyxbXSksaS5nZXQocyk/LnB1c2goZSl9KSk7Zm9yKGNvbnN0W2Usc11vZiBpLmVudHJpZXMoKSl0KHRoaXMuX3BhbmVzW2VdLHMpO3RoaXMuZnVsbFVwZGF0ZSgpfV9pbml0aWFsaXNlSW5hY3Rpdml0eUdhcHMoKXtpZighKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaW5hY3Rpdml0eV9nYXBzIikpcmV0dXJuO3RoaXMuY3JlYXRlSW5hY3Rpdml0eUdhcHMoKTtjb25zdCBlPWFzeW5jIGU9Pntjb25zdCB0PXRoaXMuY3VzdG9tU291cmNlRm9yTmFtZSgiaW5hY3Rpdml0eUdhcHMiKTtlP3Quc3RhcnQoKTp0LnN0b3AoKX07aWYobnVsbD09PXRoaXMuX2luYWN0aXZpdHlHYXBzV2F0Y2hlZFZhbHVlKXtjb25zdCB0PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmluYWN0aXZpdHlHYXBzO3RoaXMuX2luYWN0aXZpdHlHYXBzV2F0Y2hlZFZhbHVlPWNvbnZlcnRQcm9wZXJ0eVRvV2F0Y2hlZFZhbHVlKHQpLHRoaXMuX2luYWN0aXZpdHlHYXBzV2F0Y2hlZFZhbHVlLnN1YnNjcmliZSgodD0+e2UodCl9KSksZSh0LnZhbHVlKCkpfX1fZ2V0V2lkZ2V0UGFuZShlLHQpe2NvbnN0IGk9dGhpcy5fcGFuZXMuZmluZCgoZT0+ZS5tb2RlKCk9PT1NLlBhbmVNb2RlLldpZGdldCkpO2lmKGkpcmV0dXJuIGk7Y29uc3Qgcz0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucGFuZUZvclNvdXJjZSh0aGlzLl9tYWluU2VyaWVzKSksbj10aGlzLl9wYW5lcy5pbmRleE9mKHMpO2xldCByPTAsbz0wO3RoaXMuX3BhbmVzLmZvckVhY2goKGU9PntlLmNvbGxhcHNlZCgpLnZhbHVlKCl8fChyKz1lLmhlaWdodCgpLG8rPWUuc3RyZXRjaEZhY3RvcigpKX0pKTtjb25zdCBhPXRoaXMuY3JlYXRlUGFuZShlP24rMTpuLHZvaWQgMCx2b2lkIDAsTS5QYW5lTW9kZS5XaWRnZXQpO2lmKHI+dCl7Y29uc3QgZT10Km8vKHItdCk7YS5zZXRTdHJldGNoRmFjdG9yKGUpfXJldHVybiBhfX12YXIgUnU9aSg1NTY2NTEpLFZ1PWkoNzc1MjUzKSxCdT1pKDU5MTE5OCk7dmFyIE51PWkoODI1NjIxKSxPdT1pKDY4NTU1NSksV3U9aSg2NTU1ODQpO2NsYXNzIEZ1IGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcihzKSx0aGlzLl9uZXdTb3VyY2VzTWV0cmljcz1uZXcgTWFwLAp0aGlzLl9vbGRTb3VyY2VzTWV0cmljcz1uZXcgTWFwLHRoaXMuX3Nob3dGYWRlPSExLHRoaXMuX2NoYXJ0TW9kZWw9ZTtjb25zdCBuPWUubWFpblNlcmllcygpO2Zvcihjb25zdCBlIG9mIHQuc2VyaWVzTGlrZVNvdXJjZXMoKSl7aWYoIWUuaXNWaXNpYmxlKCkpY29udGludWU7Y29uc3QgdD1pfHwoMCxBLnN5bWJvbE9yaWdpbmFsTWV0cmljKSgoMCxsLmVuc3VyZU5vdE51bGwpKGUuc3ltYm9sSW5mbygpKSx0aGlzLl9jaGFydE1vZGVsLm1ldHJpY0NvbnZlcnNpb25FbmFibGVkKCkpO3RoaXMuX25ld1NvdXJjZXNNZXRyaWNzLnNldChlLmlkKCksdCksdGhpcy5fb2xkU291cmNlc01ldHJpY3Muc2V0KGUuaWQoKSxlLm1ldHJpYygpKSx0aGlzLl9zaG93RmFkZT10aGlzLl9zaG93RmFkZXx8ZT09PW4mJmUubWV0cmljKCkhPT10fX1yZWRvKCl7dGhpcy5fYXBwbHlNZXRyaWNzKHRoaXMuX25ld1NvdXJjZXNNZXRyaWNzKX11bmRvKCl7dGhpcy5fYXBwbHlNZXRyaWNzKHRoaXMuX29sZFNvdXJjZXNNZXRyaWNzKX1fYXBwbHlNZXRyaWNzKGUpe2UuZm9yRWFjaCgoKGUsdCk9PnsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHQpKS5zZXRNZXRyaWMoZSl9KSksdGhpcy5fY2hhcnRNb2RlbC5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKX0pKSx0aGlzLl9zaG93RmFkZSYmdGhpcy5fY2hhcnRNb2RlbC51bmRvTW9kZWwoKS5sb2FkaW5nU2NyZWVuKCkuc2hvdyghMCl9fWNvbnN0IEh1PW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInpvb20iLHAudChudWxsLHZvaWQgMCxpKDI3ODU2NSkpKTtjbGFzcyB6dSBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyxuLHIpe3N1cGVyKEh1KSx0aGlzLl9iYXJTcGFjaW5nPW51bGwsdGhpcy5fcmlnaHRCYXJzT2Zmc2V0PW51bGwsdGhpcy5fbGVmdEJhcnNPZmZzZXQ9bnVsbCx0aGlzLl9wcmljZU1vZGU9bnVsbCx0aGlzLl9tb2RlbD1lLHRoaXMuX3N0YXJ0QmFyPXQsdGhpcy5fZW5kQmFyPWksdGhpcy5fc3RhcnRQcmljZT1zLHRoaXMuX2VuZFByaWNlPW4sdGhpcy5fcGFuZT1yfXJlZG8oKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKTt0aGlzLl9sZWZ0QmFyc09mZnNldD1lLmZpcnN0QmFyKCktdGhpcy5fc3RhcnRCYXIsdGhpcy5fcmlnaHRCYXJzT2Zmc2V0PWUubGFzdEJhcigpLXRoaXMuX2VuZEJhcix0aGlzLl9iYXJTcGFjaW5nPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmJhclNwYWNpbmcoKSx0aGlzLl9wcmljZU1vZGU9dGhpcy5fcGFuZS5kZWZhdWx0UHJpY2VTY2FsZSgpLm1vZGUoKSx0aGlzLl9tb2RlbC56b29tVG9WaWV3cG9ydCh0aGlzLl9zdGFydEJhcix0aGlzLl9lbmRCYXIsdGhpcy5fc3RhcnRQcmljZSx0aGlzLl9lbmRQcmljZSx0aGlzLl9wYW5lKX11bmRvKCl7Y29uc3QgZT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSx0PXRoaXMuX3BhbmUuZGVmYXVsdFByaWNlU2NhbGUoKSxpPSgwLGwuZW5zdXJlTm90TnVsbCkoZS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCkpO2Uuc2V0QmFyU3BhY2luZygoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2JhclNwYWNpbmcpKSxlLnpvb21Ub0JhcnNSYW5nZShpLmZpcnN0QmFyKCkrKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9sZWZ0QmFyc09mZnNldCksaS5sYXN0QmFyKCkrKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yaWdodEJhcnNPZmZzZXQpKSx0LnNldE1vZGUoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcmljZU1vZGUpKSx0LnJlY2FsY3VsYXRlUHJpY2VSYW5nZSgoMCxsLmVuc3VyZU5vdE51bGwpKGUudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKSwoMCxsLmVuc3VyZU5vdE51bGwpKGUubG9naWNhbFJhbmdlKCkpKSx0aGlzLl9tb2RlbC5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCl9fWNvbnN0IFV1PSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuQ2hhcnRVbmRvTW9kZWwiKSxHdT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ6b29tIixwLnQobnVsbCx2b2lkIDAsaSgyNzg1NjUpKSk7Y2xhc3MganUgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihHdSksdGhpcy5fYmFzZUNtZD1lLHRoaXMuX3pvb21TdGFjaz10LHRoaXMuX2luT3V0PWl9dW5kbyhlKXtpZih0aGlzLl9pbk91dCl7aWYodGhpcy5fYmFzZUNtZCE9PXRoaXMuX3pvb21TdGFjay5oZWFkKCkpcmV0dXJuIHZvaWQgVXUubG9nRGVidWcoInpvb20gc3RhY2sgaW5jb25zaXN0ZW5jeSIpO3RoaXMuX2Jhc2VDbWQudW5kbyhlKSx0aGlzLl96b29tU3RhY2sucG9wKCl9ZWxzZSB0aGlzLl9iYXNlQ21kLnJlZG8oZSksdGhpcy5fem9vbVN0YWNrLnB1c2godGhpcy5fYmFzZUNtZCl9cmVkbyhlKXtpZih0aGlzLl9pbk91dCl0aGlzLl9iYXNlQ21kLnJlZG8oZSksdGhpcy5fem9vbVN0YWNrLnB1c2godGhpcy5fYmFzZUNtZCk7ZWxzZXtpZih0aGlzLl9iYXNlQ21kIT09dGhpcy5fem9vbVN0YWNrLmhlYWQoKSlyZXR1cm4gdm9pZCBVdS5sb2dEZWJ1Zygiem9vbSBzdGFjayBpbmNvbnNpc3RlbmN5Iik7dGhpcy5fYmFzZUNtZC51bmRvKGUpLHRoaXMuX3pvb21TdGFjay5wb3AoKX19fWNvbnN0IHF1PW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInN0b3Agc3luY2luZyBkcmF3aW5nIixwLnQobnVsbCx2b2lkIDAsaSg0ODg4ODEpKSk7Y2xhc3MgJHUgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIocXUsdm9pZCAwLCFRbi5saW5lVG9vbHNEb05vdEFmZmVjdENoYXJ0SW52YWxpZGF0aW9uKSx0aGlzLl9tb2RlbD1lLHRoaXMuX3NvdXJjZUlkPXQuaWQoKSx0aGlzLl9saW5rS2V5PXQubGlua0tleSgpLnZhbHVlKCl9cmVkbygpeygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKHRoaXMuX3NvdXJjZUlkKSkubGlua0tleSgpLnNldFZhbHVlKG51bGwpfXVuZG8oKXsoMCwKbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQodGhpcy5fc291cmNlSWQpKS5saW5rS2V5KCkuc2V0VmFsdWUodGhpcy5fbGlua0tleSl9fXZhciBZdT1pKDMxNjY1NSk7Y29uc3QgS3U9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygicmVzdG9yZSBkZWZhdWx0cyIscC50KG51bGwsdm9pZCAwLGkoMTI5NTEwKSkpO2NsYXNzIFh1IGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaT1LdSxzPSEwKXtzdXBlcihpLHZvaWQgMCxzKSx0aGlzLl9jaGFydE1vZGVsPWU7Y29uc3Qgbj10LnBhdGhUb1Jvb3QoKTt0aGlzLl90YXJnZXRPYmo9KDAsWXUuaXNSb290UGF0aCkobik/bjp0LHRoaXMuX3N0YXRlPXQuc3RhdGUoKX1yZWRvKHtjaGFydFdpZGdldENvbGxlY3Rpb246ZX0peygwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLl9jaGFydE1vZGVsLnJlc3RvcmVGYWN0b3J5RGVmYXVsdHModGhpcy5fZ2V0UHJvcGVydHkoZSkpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKX11bmRvKHtjaGFydFdpZGdldENvbGxlY3Rpb246ZX0peygwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLl9nZXRQcm9wZXJ0eShlKS5tZXJnZUFuZEZpcmUodGhpcy5fc3RhdGUpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSx0aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKS5vbkNoYXJ0U3R5bGVDaGFuZ2VkKCl9X2dldFByb3BlcnR5KGUpe2NvbnN0IHQ9dGhpcy5fdGFyZ2V0T2JqO3JldHVybiJzdHJpbmciPT10eXBlb2YgdD8oMCxZdS5wcm9wZXJ0eUJ5UGF0aCkoZSx0KTp0fX1jbGFzcyBadSBleHRlbmRzIFh1e2NvbnN0cnVjdG9yKGUsdCxpLHMpe3N1cGVyKGUsdCxpLHM/PyFRbi5saW5lVG9vbHNEb05vdEFmZmVjdENoYXJ0SW52YWxpZGF0aW9uKX1yZWRvKGUpeygwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLl9nZXRQcm9wZXJ0eShlLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbikuY2hpbGQoImludGVydmFsc1Zpc2liaWxpdGllcyIpPy5tZXJnZUFuZEZpcmUoaHUuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzRGVmYXVsdHMpLHN1cGVyLnJlZG8oZSksKDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITEpfX1jb25zdCBKdT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJyZXN0b3JlIHN0dWR5IGRlZmF1bHRzIixwLnQobnVsbCx2b2lkIDAsaSg2NjI5MDMpKSk7Y2xhc3MgUXUgZXh0ZW5kcyBadXtjb25zdHJ1Y3RvcihlLHQsaT1KdSl7c3VwZXIoZSx0LnByb3BlcnRpZXMoKSxpLCEwKSx0aGlzLl9zdHVkeUlkPXQuaWQoKX1yZWRvKGUpe3N1cGVyLnJlZG8oZSksdGhpcy5fY2hhcnRNb2RlbC5yZWNhbGNDb2xvclN0dWRpZXMoITApLHRoaXMuX3BhdGNoUHJvcGVydGllcygpfXVuZG8oZSl7c3VwZXIudW5kbyhlKSx0aGlzLl9jaGFydE1vZGVsLnJlY2FsY0NvbG9yU3R1ZGllcyghMCksdGhpcy5fcGF0Y2hQcm9wZXJ0aWVzKCl9X3BhdGNoUHJvcGVydGllcygpe3tjb25zdCBlPXRoaXMuX2NoYXJ0TW9kZWwuZ2V0U3R1ZHlCeUlkKHRoaXMuX3N0dWR5SWQpO2lmKCFlKXRocm93IG5ldyBFcnJvcigiU3R1ZHkgaXMgbm90IGRlZmluZWQiKTtlLnBhdGNoUHJvcGVydGllc0FmdGVyUmVzZXREZWZhdWx0cygpfX19ZnVuY3Rpb24gZXAoZSx0KXtyZXR1cm4oMCxHci5leHRyYWN0U3RhdGUpKGUsdC5tYXAoKGU9PmUucGF0aCkpKX1jb25zdCB0cD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJhcHBseSBjaGFydCB0aGVtZSIscC50KG51bGwsdm9pZCAwLGkoNjQ3NjU2KSkpO2NsYXNzIGlwIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIodHApLHRoaXMuX21vZGVsPWUsdC5zZXNzaW9ucyYmKHRoaXMuX25ld1Nlc3Npb25Qcm9wcz1pP3Quc2Vzc2lvbnM6ZXAodC5zZXNzaW9ucywoMCxHci5leHRyYWN0VGhlbWVkQ29sb3JzKSh4dC5saWdodFRoZW1lLmNvbnRlbnQuc2Vzc2lvbnMseHQuZGFya1RoZW1lLmNvbnRlbnQuc2Vzc2lvbnMpKSksdGModC5tYWluU291cmNlUHJvcGVydGllcy5jYW5kbGVTdHlsZSksdGModC5tYWluU291cmNlUHJvcGVydGllcy5ob2xsb3dDYW5kbGVTdHlsZSksdGModC5tYWluU291cmNlUHJvcGVydGllcy5oYVN0eWxlKTtjb25zdCBzPXQ7cy5jaGFydFByb3BlcnRpZXM9cy5jaGFydFByb3BlcnRpZXM/P3twYW5lUHJvcGVydGllczp7fSxzY2FsZXNQcm9wZXJ0aWVzOnZvaWQgMH0sWGgocy5jaGFydFByb3BlcnRpZXMucGFuZVByb3BlcnRpZXMpO2NvbnN0IG49dGhpcy5fbW9kZWwucHJvcGVydGllcygpLnN0YXRlKCkucGFuZVByb3BlcnRpZXMubGVnZW5kUHJvcGVydGllcztkZWxldGUgbi5iYWNrZ3JvdW5kVHJhbnNwYXJlbmN5O2NvbnN0IHI9cy5jaGFydFByb3BlcnRpZXMucGFuZVByb3BlcnRpZXM7aSYmKHIubGVnZW5kUHJvcGVydGllcz17Li4uci5sZWdlbmRQcm9wZXJ0aWVzLC4uLm59KTtjb25zdCBvPSgwLFdvLmRlZmF1bHQpKCgwLCRsLmZhY3RvcnlEZWZhdWx0cykoImNoYXJ0cHJvcGVydGllcyIpKTtpZihkZWxldGUgby50aW1lem9uZSxpKXtjb25zdCBlPW8ucGFuZVByb3BlcnRpZXM7ZSYmKGRlbGV0ZSBlLnRvcE1hcmdpbixkZWxldGUgZS5ib3R0b21NYXJnaW4pfWNvbnN0IGE9KDAseGkuZGVlcEV4dGVuZCkoe30sbyx0LmNoYXJ0UHJvcGVydGllcyk7dGhpcy5fbmV3Q2hhcnRQcm9wcz1pP2E6ZXAoYSwoMCxHci5leHRyYWN0VGhlbWVkQ29sb3JzKSh4dC5saWdodFRoZW1lLmNvbnRlbnQuY2hhcnRQcm9wZXJ0aWVzLHh0LmRhcmtUaGVtZS5jb250ZW50LmNoYXJ0UHJvcGVydGllcykpLGUudGltZVNjYWxlKCkucHJlc2VydmVCYXJTcGFjaW5nKCkmJiJiYXJTcGFjaW5nImluIHRoaXMuX25ld0NoYXJ0UHJvcHMuc2NhbGVzUHJvcGVydGllcyYmZGVsZXRlIHRoaXMuX25ld0NoYXJ0UHJvcHMuc2NhbGVzUHJvcGVydGllcy5iYXJTcGFjaW5nLGljKHQubWFpblNvdXJjZVByb3BlcnRpZXMubGluZVN0eWxlKSxpYyh0Lm1haW5Tb3VyY2VQcm9wZXJ0aWVzLmxpbmVXaXRoTWFya2Vyc1N0eWxlKSxpYyh0Lm1haW5Tb3VyY2VQcm9wZXJ0aWVzLnN0ZXBsaW5lU3R5bGUpCjtjb25zdCBsPSgwLCRsLmZhY3RvcnlEZWZhdWx0cykoImNoYXJ0cHJvcGVydGllcy5tYWluU2VyaWVzUHJvcGVydGllcyIpLGM9KDAseGkuZGVlcEV4dGVuZCkoe30sbCx0Lm1haW5Tb3VyY2VQcm9wZXJ0aWVzKTtpJiYoZGVsZXRlIGMudmlzaWJsZSxkZWxldGUgYy5zeW1ib2wsZGVsZXRlIGMuc2hvcnROYW1lLGRlbGV0ZSBjLnRpbWVmcmFtZSxkZWxldGUgYy5pbnRlcnZhbCxkZWxldGUgYy5jdXJyZW5jeUlkLGRlbGV0ZSBjLnVuaXRJZCxkZWxldGUgYy5zZXNzaW9uSWQsZGVsZXRlIGMuZXNkQnJlYWtzU3R5bGUpLHRoaXMuX25ld1Nlcmllc1Byb3BzPWk/YzplcChjLCgwLEdyLmV4dHJhY3RUaGVtZWRDb2xvcnMpKHh0LmxpZ2h0VGhlbWUuY29udGVudC5tYWluU291cmNlUHJvcGVydGllcyx4dC5kYXJrVGhlbWUuY29udGVudC5tYWluU291cmNlUHJvcGVydGllcykpLHRoaXMuX29sZENoYXJ0UHJvcHM9aT9lLnByb3BlcnRpZXMoKS5zdGF0ZSgpOmUucHJvcGVydGllcygpLnRoZW1lU3RhdGUoKSx0aGlzLl9vbGRTZXJpZXNQcm9wcz1pP2UubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5zdGF0ZSgpOmUubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS50aGVtZVN0YXRlKCksdGhpcy5fb2xkU2Vzc2lvblByb3BzPWk/dGhpcy5fbW9kZWwuc2Vzc2lvbnMoKS5wcm9wZXJ0aWVzKCkuc3RhdGUoKTp0aGlzLl9tb2RlbC5zZXNzaW9ucygpLnByb3BlcnRpZXMoKS50aGVtZVN0YXRlKCl9dW5kbygpe3RoaXMuX21lcmdlKHRoaXMuX29sZENoYXJ0UHJvcHMsdGhpcy5fb2xkU2VyaWVzUHJvcHMsdGhpcy5fb2xkU2Vzc2lvblByb3BzKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkub25DaGFydFN0eWxlQ2hhbmdlZCgpLHRoaXMuX21vZGVsLnVwZGF0ZVNjYWxlcygpLHRoaXMuX21vZGVsLmNoYXJ0VGhlbWVMb2FkZWQoKX1yZWRvKCl7dGhpcy5fbWVyZ2UodGhpcy5fbmV3Q2hhcnRQcm9wcyx0aGlzLl9uZXdTZXJpZXNQcm9wcyx0aGlzLl9uZXdTZXNzaW9uUHJvcHMpLHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5vbkNoYXJ0U3R5bGVDaGFuZ2VkKCksdGhpcy5fbW9kZWwudXBkYXRlU2NhbGVzKCksdGhpcy5fbW9kZWwuY2hhcnRUaGVtZUxvYWRlZCgpfV9tZXJnZShlLHQsaSl7Y29uc3Qgcz10aGlzLl9tb2RlbDsoMCxHci5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMCk7Y29uc3Qgbj1zLnByb3BlcnRpZXMoKSxyPXMubWFpblNlcmllcygpLnByb3BlcnRpZXMoKSxvPXMuc2Vzc2lvbnMoKS5wcm9wZXJ0aWVzKCk7bi5hcHBseURlZmF1bHRUaGVtZWRQcm9wZXJ0aWVzKEQud2F0Y2hlZFRoZW1lLnZhbHVlKCkpLG4ubWVyZ2VBbmRGaXJlKGUpLG4uc2F2ZURlZmF1bHRzKCksInByaWNlQXhpc1Byb3BlcnRpZXMiaW4gdCYmcy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpLnNldE1vZGUoe2F1dG9TY2FsZTp0LnByaWNlQXhpc1Byb3BlcnRpZXM/LmF1dG9TY2FsZSxwZXJjZW50YWdlOnQucHJpY2VBeGlzUHJvcGVydGllcz8ucGVyY2VudGFnZSxsb2c6dC5wcmljZUF4aXNQcm9wZXJ0aWVzPy5sb2csbG9ja1NjYWxlOnQucHJpY2VBeGlzUHJvcGVydGllcz8ubG9ja1NjYWxlfSksci5hcHBseURlZmF1bHRUaGVtZWRQcm9wZXJ0aWVzKEQud2F0Y2hlZFRoZW1lLnZhbHVlKCkpLHIubG9hZFRoZW1lU3RhdGUodCksci5zYXZlRGVmYXVsdHMoKSxzLm1haW5TZXJpZXMoKS5jcmVhdGVQYW5lVmlldygpLHMubWFpblNlcmllcygpLmludmFsaWRhdGVCYXJTdHlsZXNDYWNoZSgpLHMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi5nbG9iYWxDaGFuZ2VFdmVudCkoKSksaSYmKG8uYXBwbHlEZWZhdWx0VGhlbWVkUHJvcGVydGllcyhELndhdGNoZWRUaGVtZS52YWx1ZSgpKSxvLmxvYWRUaGVtZVN0YXRlKGkpLG8uc2F2ZURlZmF1bHRzKCkpLHMuZnVsbFVwZGF0ZSgpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKX19Y29uc3Qgc3A9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHJlc29sdXRpb24iLHAudChudWxsLHZvaWQgMCxpKDc0MzM0MSkpKTtjbGFzcyBucCBleHRlbmRzIEJve2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihzcCxlLGZ1bmN0aW9uKGUsdCl7bGV0IGk7Y29uc3Qgcz0oMCxBLmlzUmFuZ2VTdHlsZSkoZS5zdHlsZSgpKSxuPXguSW50ZXJ2YWwuaXNSYW5nZSh0KTtyZXR1cm4hcyYmbj9pPTExOnMmJiFuJiYoaT0oMCxBLmdldExhc3RVc2VkU3R5bGUpKCkpLHtpbnRlcnZhbDp0LHN0eWxlOml9fShlLHQpLGkpLHRoaXMuX3Jlc29sdXRpb249dH1jYW5NZXJnZShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIG5wJiZlLl9yZXNvbHV0aW9uPT09dGhpcy5fcmVzb2x1dGlvbiYmc3VwZXIuY2FuTWVyZ2UoZSl9X3Nob3dGYWRlKGUsdCl7cmV0dXJuITB9fWNsYXNzIHJwIGV4dGVuZHMgTntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fZmlyc3RSZWRvPSEwfXJlZG8oKXt0aGlzLl9maXJzdFJlZG98fCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fbmV3VmFsdWUsITApLCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fb2xkVmFsdWUsITApLHN1cGVyLnJlZG8oKSx0aGlzLl9maXJzdFJlZG98fCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fbmV3VmFsdWUsITEpLCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fb2xkVmFsdWUsITEpLHRoaXMuX2ZpcnN0UmVkbz0hMX11bmRvKCl7KDAsWi5tdXRlTGlua2luZ0dyb3VwKSh0aGlzLl9uZXdWYWx1ZSwhMCksKDAsWi5tdXRlTGlua2luZ0dyb3VwKSh0aGlzLl9vbGRWYWx1ZSwhMCksc3VwZXIudW5kbygpLCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fbmV3VmFsdWUsITEpLCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fb2xkVmFsdWUsITEpfX12YXIgb3A9aSg1MjkxNjUpO2NsYXNzIGFwIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoaSksdGhpcy5fY2hhcnRNb2RlbD1lLHRoaXMuX3N0dWJEZXNjcmlwdG9yPSgwLGwuZW5zdXJlTm90TnVsbCkodC5nZXREZXNjcmlwdG9yKCkpfXJlZG8oKXsKdGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodGhpcy5fc3R1YkRlc2NyaXB0b3IuaWQpfHx0aGlzLl9jaGFydE1vZGVsLnJlc3RvcmVTdHVkeVN0dWIodGhpcy5fc3R1YkRlc2NyaXB0b3IpfXVuZG8oKXt0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVN0dWR5U3R1Yih0aGlzLl9zdHViRGVzY3JpcHRvci5pZCl9fWNsYXNzIGxwIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoaSx2b2lkIDAsIVFuLmxpbmVUb29sc0RvTm90QWZmZWN0Q2hhcnRJbnZhbGlkYXRpb24pLHRoaXMuX3NvdXJjZT1lLHRoaXMuX25ld1N0YXRlPXQsdGhpcy5fb2xkU3RhdGU9ZS5wcm9wZXJ0aWVzKCkuc3RhdGUoKX1yZWRvKCl7dGhpcy5fc291cmNlLmFwcGx5VGVtcGxhdGUodGhpcy5fbmV3U3RhdGUpfXVuZG8oKXt0aGlzLl9zb3VyY2UuYXBwbHlUZW1wbGF0ZSh0aGlzLl9vbGRTdGF0ZSl9fXZhciBjcD1pKDIxNDc3MSksaHA9aSg5MjMxNzYpLGRwPWkoMjU1MDM2KSx1cD1pKDcxNDM1KSxwcD1pKDc2NzcwNCksX3A9aSgyNTk5OTgpO2NvbnN0IG1wPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImFwcGx5IGFsbCBjaGFydCBwcm9wZXJ0aWVzIixwLnQobnVsbCx2b2lkIDAsaSgzNDc1ODUpKSk7Y2xhc3MgZ3AgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIobXApLHRoaXMuX3ByZWZzPW51bGwsdGhpcy5fb2xkTm9Db25maXJtRW5hYmxlZD1udWxsLHRoaXMuX29sZFNob3dPbmx5UmVqZWN0aW9uTm90aWZpY2F0aW9ucz1udWxsLHRoaXMuX29sZFNob3dQcmljZXNXaXRoWmVyb1ZvbHVtZT1udWxsLHRoaXMuX29sZFNob3dQcmljZXNXaXRoU3ByZWFkPW51bGwsdGhpcy5fb2xkT3JkZXJFeGVjdXRlZFNvdW5kRW5hYmxlZD1udWxsLHRoaXMuX3ByZXZXYXRlcm1hcmtQcmVmZXJlbmNlcz1udWxsLHRoaXMuX3ByZXZBbGVydExhYmVsc1ByZWZlcmVuY2VzPW51bGwsdGhpcy5fcHJldkFsZXJ0Tm90aWZpY2F0aW9uc1ByZWZlcmVuY2VzPW51bGwsdGhpcy5fbW9kZWw9ZSx0aGlzLl9wcmVmcz10LnZhbHVlKCk/LmdldFByZWZzKCk/P251bGwsbnVsbCE9PXRoaXMuX3ByZWZzJiYodGhpcy5fb2xkTm9Db25maXJtRW5hYmxlZD10aGlzLl9wcmVmcy5ub0NvbmZpcm1FbmFibGVkLnZhbHVlKCksdGhpcy5fb2xkU2hvd09ubHlSZWplY3Rpb25Ob3RpZmljYXRpb25zPXRoaXMuX3ByZWZzLnNob3dPbmx5UmVqZWN0aW9uTm90aWZpY2F0aW9ucy52YWx1ZSgpLHRoaXMuX29sZFNob3dQcmljZXNXaXRoWmVyb1ZvbHVtZT10aGlzLl9wcmVmcy5zaG93UHJpY2VzV2l0aC56ZXJvVm9sdW1lLnZhbHVlKCksdGhpcy5fb2xkU2hvd1ByaWNlc1dpdGhTcHJlYWQ9dGhpcy5fcHJlZnMuc2hvd1ByaWNlc1dpdGguc3ByZWFkLnZhbHVlKCksdGhpcy5fb2xkT3JkZXJFeGVjdXRlZFNvdW5kRW5hYmxlZD10aGlzLl9wcmVmcy5vcmRlckV4ZWN1dGVkU291bmRQYXJhbXMuZW5hYmxlZC52YWx1ZSgpKSx0aGlzLl9kZWZhdWx0c1ByZWZlcmVuY2VzPSgwLGN1LmRlZmF1bHRzUHJlZmVyZW5jZXNCeVdoaXRlTGlzdCkodGhpcy5fbW9kZWwsdGhpcy5fbW9kZWwubWFpblNlcmllcygpKSx0aGlzLl9vbGRQcmVmZXJlbmNlcz1lLnByZWZlcmVuY2VzKCksdGhpcy5fcHJldkRhdGVGb3JtYXQ9aWguZGF0ZUZvcm1hdFByb3BlcnR5LnZhbHVlKCksdGhpcy5fcHJldkFsZXJ0TGFiZWxzUHJlZmVyZW5jZXM9KDAsX3AuZ2V0TGFiZWxzU2V0dGluZ3NQcm9wZXJ0eSkoKS5zdGF0ZSgpLHRoaXMuX3ByZXZBbGVydE5vdGlmaWNhdGlvbnNQcmVmZXJlbmNlcz0oMCxfcC5nZXROb3RpZmljYXRpb25zU2V0dGluZ3NQcm9wZXJ0eSkoKS5zdGF0ZSgpLHRoaXMuX21vZGVsLm9uV2lkZ2V0KCl8fCh0aGlzLl9wcmV2V2l0aFdlZWtkYXk9bGgud2l0aFdlZWtkYXlQcm9wZXJ0eS52YWx1ZSgpKSx0aGlzLl9wcmV2VGltZUhvdXJzRm9ybWF0PVRjLnRpbWVIb3Vyc0Zvcm1hdFByb3BlcnR5LnZhbHVlKCksdGhpcy5fcHJldkFkZFBsdXNCdXR0b249ZGQuYWRkUGx1c0J1dHRvblByb3BlcnR5LnZhbHVlKCksdGhpcy5fcHJldlNob3dPcGVuTWFya2VyU3RhdHVzPWNwLnNob3dNYXJrZXRPcGVuU3RhdHVzUHJvcGVydHkudmFsdWUoKSx0aGlzLl9wcmV2Q3VycmVuY3lVbml0TWV0cmljVmlzaWJpbGl0eT0oMCxycy5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudmFsdWUoKSx0aGlzLl9wcmV2QXV0b0xvZ0J1dHRvbnNWaXNpYmlsaXR5PSgwLG9zLmF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eVByb3BlcnR5KSgpLnZhbHVlKCksdGhpcy5fcHJldk5hdmlnYXRpb25CdXR0b25zVmlzaWJpbGl0eT0oMCxocC5wcm9wZXJ0eSkoKS52YWx1ZSgpLHRoaXMuX3ByZXZQYW5lQnV0dG9uc1Zpc2liaWxpdHk9KDAsZHAucHJvcGVydHkpKCkudmFsdWUoKTtjb25zdCBpPXRoaXMuX21vZGVsLndhdGVybWFya1NvdXJjZSgpO251bGwhPT1pJiYodGhpcy5fcHJldldhdGVybWFya1ByZWZlcmVuY2VzPWkucHJvcGVydGllcygpLnN0YXRlKCkpfXJlZG8oKXtudWxsIT09dGhpcy5fcHJlZnMmJih0aGlzLl9wcmVmcy5ub0NvbmZpcm1FbmFibGVkLnNldFZhbHVlKCExKSx0aGlzLl9wcmVmcy5zaG93T25seVJlamVjdGlvbk5vdGlmaWNhdGlvbnMuc2V0VmFsdWUoITEpLHRoaXMuX3ByZWZzLnNob3dQcmljZXNXaXRoLnplcm9Wb2x1bWUuc2V0VmFsdWUoITApLHRoaXMuX3ByZWZzLnNob3dQcmljZXNXaXRoLnNwcmVhZC5zZXRWYWx1ZSghMCksdGhpcy5fcHJlZnMub3JkZXJFeGVjdXRlZFNvdW5kUGFyYW1zLmVuYWJsZWQuc2V0VmFsdWUoITEpLHRoaXMuX3ByZWZzLm9yZGVyRXhlY3V0ZWRTb3VuZFBhcmFtcy52b2x1bWUuc2V0VmFsdWUoLjUpKSwiQXV0byI9PT10aGlzLl9kZWZhdWx0c1ByZWZlcmVuY2VzLm1haW5TZXJpZXM/LnRwb1N0eWxlPy5pbnB1dHM/LnJvd1NpemUmJmRlbGV0ZSB0aGlzLl9kZWZhdWx0c1ByZWZlcmVuY2VzLm1haW5TZXJpZXMudHBvU3R5bGUuaW5wdXRzLnRpY2tzUGVyUm93LHRoaXMuX21vZGVsLmFwcGx5UHJlZmVyZW5jZXModGhpcy5fZGVmYXVsdHNQcmVmZXJlbmNlcyksCnRoaXMuX21vZGVsLnVwZGF0ZVNjYWxlcygpLCgwLGloLnJlc3RvcmVEYXRlRm9ybWF0U2V0dGluZ3NWYWx1ZSkoKSwoMCxUYy5yZXN0b3JlVGltZUhvdXJzRm9ybWF0U2V0dGluZ3NWYWx1ZSkoKSwoMCxkZC5yZXN0b3JlQWRkUGx1c0J1dHRvblNldHRpbmdzVmFsdWUpKCksKDAsY3AucmVzdG9yZVNob3dNYXJrZXRPcGVuU3RhdHVzUHJvcGVydHkpKCksKDAscnMucmVzdG9yZUN1cnJlbmN5VW5pdE1ldHJpY1Zpc2liaWxpdHlTZXR0aW5nc1ZhbHVlKSgpLCgwLG9zLnJlc3RvcmVBdXRvTG9nQnV0dG9uc1Zpc2liaWxpdHlTZXR0aW5nc1ZhbHVlKSgpLCgwLGhwLnJlc3RvcmVOYXZpZ2F0aW9uQnV0dG9uc1Zpc2liaWxpdHlTZXR0aW5nc1ZhbHVlKSgpLCgwLGRwLnJlc3RvcmVQYW5lQnV0dG9uc1Zpc2liaWxpdHlTZXR0aW5nc1ZhbHVlKSgpLCgwLGxoLnJlc3RvcmVXaXRoV2Vla2RheVNldHRpbmdzVmFsdWUpKCksKDAscHAucmVzdG9yZVNob3dPblNjcmVlbnNob3RTZXR0aW5nc1ZhbHVlKSgpLCgwLHVwLnJlc3RvcmVTaG93TmV3c05vdGlmaWNhdGlvblNldHRpbmdzVmFsdWUpKCksKDAsX3AucmVzdG9yZVNldHRpbmdzUHJvcGVydHkpKCk7Y29uc3QgZT10aGlzLl9tb2RlbC53YXRlcm1hcmtTb3VyY2UoKTtudWxsIT09ZSYmZS5yZXN0b3JlUHJvcGVydGllc0RlZmF1bHRzKCl9dW5kbygpe251bGwhPT10aGlzLl9wcmVmcyYmKHRoaXMuX3ByZWZzLm5vQ29uZmlybUVuYWJsZWQuc2V0VmFsdWUoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9vbGROb0NvbmZpcm1FbmFibGVkKSksdGhpcy5fcHJlZnMuc2hvd09ubHlSZWplY3Rpb25Ob3RpZmljYXRpb25zLnNldFZhbHVlKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fb2xkU2hvd09ubHlSZWplY3Rpb25Ob3RpZmljYXRpb25zKSksdGhpcy5fcHJlZnMuc2hvd1ByaWNlc1dpdGguemVyb1ZvbHVtZS5zZXRWYWx1ZSgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX29sZFNob3dQcmljZXNXaXRoWmVyb1ZvbHVtZSkpLHRoaXMuX3ByZWZzLnNob3dQcmljZXNXaXRoLnNwcmVhZC5zZXRWYWx1ZSgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX29sZFNob3dQcmljZXNXaXRoU3ByZWFkKSksdGhpcy5fcHJlZnMub3JkZXJFeGVjdXRlZFNvdW5kUGFyYW1zLmVuYWJsZWQuc2V0VmFsdWUoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9vbGRPcmRlckV4ZWN1dGVkU291bmRFbmFibGVkKSkpLHRoaXMuX21vZGVsLmFwcGx5UHJlZmVyZW5jZXModGhpcy5fb2xkUHJlZmVyZW5jZXMpLHRoaXMuX21vZGVsLnVwZGF0ZVNjYWxlcygpLGloLmRhdGVGb3JtYXRQcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLl9wcmV2RGF0ZUZvcm1hdCksVGMudGltZUhvdXJzRm9ybWF0UHJvcGVydHkuc2V0VmFsdWUodGhpcy5fcHJldlRpbWVIb3Vyc0Zvcm1hdCksY3Auc2hvd01hcmtldE9wZW5TdGF0dXNQcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLl9wcmV2U2hvd09wZW5NYXJrZXJTdGF0dXMpLGRkLmFkZFBsdXNCdXR0b25Qcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLl9wcmV2QWRkUGx1c0J1dHRvbiksKDAscnMuY3VycmVuY3lVbml0TWV0cmljVmlzaWJpbGl0eVByb3BlcnR5KSgpLnNldFZhbHVlKHRoaXMuX3ByZXZDdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5KSwoMCxvcy5hdXRvTG9nQnV0dG9uc1Zpc2liaWxpdHlQcm9wZXJ0eSkoKS5zZXRWYWx1ZSh0aGlzLl9wcmV2QXV0b0xvZ0J1dHRvbnNWaXNpYmlsaXR5KSwoMCxocC5wcm9wZXJ0eSkoKS5zZXRWYWx1ZSh0aGlzLl9wcmV2TmF2aWdhdGlvbkJ1dHRvbnNWaXNpYmlsaXR5KSwoMCxkcC5wcm9wZXJ0eSkoKS5zZXRWYWx1ZSh0aGlzLl9wcmV2UGFuZUJ1dHRvbnNWaXNpYmlsaXR5KSxudWxsIT09dGhpcy5fcHJldkFsZXJ0TGFiZWxzUHJlZmVyZW5jZXMmJigwLF9wLmdldExhYmVsc1NldHRpbmdzUHJvcGVydHkpKCkubWVyZ2VBbmRGaXJlKHRoaXMuX3ByZXZBbGVydExhYmVsc1ByZWZlcmVuY2VzKSxudWxsIT09dGhpcy5fcHJldkFsZXJ0Tm90aWZpY2F0aW9uc1ByZWZlcmVuY2VzJiYoMCxfcC5nZXROb3RpZmljYXRpb25zU2V0dGluZ3NQcm9wZXJ0eSkoKS5tZXJnZUFuZEZpcmUodGhpcy5fcHJldkFsZXJ0Tm90aWZpY2F0aW9uc1ByZWZlcmVuY2VzKSx0aGlzLl9tb2RlbC5vbldpZGdldCgpfHxsaC53aXRoV2Vla2RheVByb3BlcnR5LnNldFZhbHVlKHRoaXMuX3ByZXZXaXRoV2Vla2RheSk7Y29uc3QgZT10aGlzLl9tb2RlbC53YXRlcm1hcmtTb3VyY2UoKTtudWxsIT09ZSYmbnVsbCE9PXRoaXMuX3ByZXZXYXRlcm1hcmtQcmVmZXJlbmNlcyYmZS5wcm9wZXJ0aWVzKCkubWVyZ2VBbmRGaXJlKHRoaXMuX3ByZXZXYXRlcm1hcmtQcmVmZXJlbmNlcyl9fWNsYXNzIGZwIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcihpKSx0aGlzLl9wcm9wZXJ0eT1lLHRoaXMuX25ld1ZhbHVlPXQsdGhpcy5fbW9kZWw9cyx0aGlzLl9wcmljZVNjYWxlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCksdGhpcy5fb2xkVmFsdWU9dGhpcy5fcHJvcGVydHkudmFsdWUoKSx0aGlzLl9vbGRNb2RlPXRoaXMuX3ByaWNlU2NhbGUubW9kZSgpfXJlZG8oKXt0aGlzLl9vbGRWYWx1ZT10aGlzLl9wcm9wZXJ0eS52YWx1ZSgpLHRoaXMuX29sZE1vZGU9dGhpcy5fcHJpY2VTY2FsZS5tb2RlKCksKDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITApLHRoaXMuX3ByaWNlU2NhbGUuc2V0TW9kZSh7YXV0b1NjYWxlOiExLHBlcmNlbnRhZ2U6ITEsbG9nOiExfSksdGhpcy5fcHJvcGVydHkuc2V0VmFsdWUodGhpcy5fbmV3VmFsdWUpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSx0aGlzLl9tb2RlbC5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCl9dW5kbygpeygwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLl9wcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLl9vbGRWYWx1ZSksdGhpcy5fcHJpY2VTY2FsZS5zZXRNb2RlKHRoaXMuX29sZE1vZGUpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSwKdGhpcy5fbW9kZWwucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLl9tb2RlbC5saWdodFVwZGF0ZSgpfX1jbGFzcyBTcCBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0KXt2YXIgcyxuO3N1cGVyKG5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImFwcGx5IGFsbCBjaGFydCBwcm9wZXJ0aWVzIixwLnQobnVsbCx2b2lkIDAsaSgzNDc1ODUpKSkpLHRoaXMuX21vZGVsPWUsdGhpcy5fbmV3UHJvcGVydGllcz10LHM9KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9uZXdQcm9wZXJ0aWVzLm1haW5TZXJpZXMpLG49KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9uZXdQcm9wZXJ0aWVzLnBhbmVQcm9wZXJ0aWVzKSxbImNhbmRsZVN0eWxlIiwiaG9sbG93Q2FuZGxlU3R5bGUiLCJoYVN0eWxlIl0uZm9yRWFjaCgoZT0+e2NvbnN0IHQ9c1tlXTt2b2lkIDAhPT10JiYodC53aWNrVXBDb2xvcj10LndpY2tVcENvbG9yfHx0LndpY2tDb2xvcix0LndpY2tEb3duQ29sb3I9dC53aWNrRG93bkNvbG9yfHx0LndpY2tDb2xvcil9KSksbi52ZXJ0R3JpZFByb3BlcnRpZXM9bi52ZXJ0R3JpZFByb3BlcnRpZXN8fCgwLFloLmRlZmF1bHQpKG4uZ3JpZFByb3BlcnRpZXMpLG4uaG9yekdyaWRQcm9wZXJ0aWVzPW4uaG9yekdyaWRQcm9wZXJ0aWVzfHwoMCxZaC5kZWZhdWx0KShuLmdyaWRQcm9wZXJ0aWVzKSx2b2lkIDA9PT1zLmhvbGxvd0NhbmRsZVN0eWxlJiYocy5ob2xsb3dDYW5kbGVTdHlsZT0oMCxZaC5kZWZhdWx0KShzLmNhbmRsZVN0eWxlKSksdGhpcy5fb2xkUHJvcGVydGllcz0oMCxjdS5wcmVmZXJlbmNlc0J5V2hpdGVMaXN0KShlLGUubWFpblNlcmllcygpKX1yZWRvKCl7dGhpcy5fbWVyZ2UodGhpcy5fbmV3UHJvcGVydGllcyksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uQ2hhcnRTdHlsZUNoYW5nZWQoKSx0aGlzLl9tb2RlbC51cGRhdGVTY2FsZXMoKX11bmRvKCl7dGhpcy5fbWVyZ2UodGhpcy5fb2xkUHJvcGVydGllcyksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uQ2hhcnRTdHlsZUNoYW5nZWQoKSx0aGlzLl9tb2RlbC51cGRhdGVTY2FsZXMoKX1fbWVyZ2UoZSl7KDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITApLHRoaXMuX21vZGVsLmFwcGx5UHJlZmVyZW5jZXMoZSksKDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITEpfX1jbGFzcyB2cHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9sZWZ0U2NhbGVzPWUubGVmdFByaWNlU2NhbGVzKCkubWFwKChlPT5lLmlkKCkpKSx0aGlzLl9yaWdodFNjYWxlcz1lLnJpZ2h0UHJpY2VTY2FsZXMoKS5tYXAoKGU9PmUuaWQoKSkpfXJlc3RvcmVQYW5lKGUpe3RoaXMuX2xlZnRTY2FsZXMucmV2ZXJzZSgpLm1hcCgodD0+KDAsbC5lbnN1cmVOb3ROdWxsKShlLmdldFByaWNlU2NhbGVCeUlkKHQpKSkpLmZvckVhY2goKHQ9PmUubW92ZVByaWNlU2NhbGUodCwibGVmdCIpKSksdGhpcy5fcmlnaHRTY2FsZXMucmV2ZXJzZSgpLm1hcCgodD0+KDAsbC5lbnN1cmVOb3ROdWxsKShlLmdldFByaWNlU2NhbGVCeUlkKHQpKSkpLmZvckVhY2goKHQ9PmUubW92ZVByaWNlU2NhbGUodCwicmlnaHQiKSkpfX1jbGFzcyB5cCBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGkpLHRoaXMuX2NoYXJ0TW9kZWw9ZSx0aGlzLl90YXJnZXRTdHJhdGVneT0oMCxjbC5jcmVhdGVQcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3kpKHQpLHRoaXMuX2luaXRpYWxTdGF0ZT1lLnBhbmVzKCkubWFwKChlPT5uZXcgdnAoZSkpKX1yZWRvKCl7dGhpcy5fY2hhcnRNb2RlbC5wYW5lcygpLmZvckVhY2goKGU9PmUuc2V0UHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5KHRoaXMuX3RhcmdldFN0cmF0ZWd5KSkpLHRoaXMuX2NoYXJ0TW9kZWwuZnVsbFVwZGF0ZSgpfXVuZG8oKXtjb25zdCBlPXRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyl0aGlzLl9pbml0aWFsU3RhdGVbdF0ucmVzdG9yZVBhbmUoZVt0XSk7dGhpcy5fY2hhcnRNb2RlbC5mdWxsVXBkYXRlKCl9fWNvbnN0IGJwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInNlbmQge3RpdGxlfSBiYWNrd2FyZCIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg4MjgwOTIpKSksd3A9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiYnJpbmcge3RpdGxlfSBmb3J3YXJkIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDM4NTUwNCkpKSxDcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJpbnNlcnQge3RpdGxlfSBhZnRlciB7dGFyZ2V0fSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg2MTcwNDApKSksUHA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiaW5zZXJ0IHt0aXRsZX0gYmVmb3JlIHt0YXJnZXR9IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDc0MDYxMykpKSxUcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjdXQge3RpdGxlfSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg0MTE4MTgpKSkseHA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY3V0IHNvdXJjZXMiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoOTM5NzE3KSkpLE1wPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInJlbW92ZSB7dGl0bGV9IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDQ0NTUzOSkpKSxJcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJyZW1vdmUgZHJhd2luZ3MgZ3JvdXAiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoMTIyNjA2KSkpLExwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoIm1vdmUgc2NhbGUiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoNzc3NTc3KSkpLEFwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInN0b3Agc3luY2luZyBsaW5lIHRvb2wocykiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCIKfSxpKDY5MzY0OSkpKSxrcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtb3ZlIGRyYXdpbmcocykiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoOTcwMTA1KSkpLERwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImxvYWQgZGVmYXVsdCBkcmF3aW5nIHRlbXBsYXRlIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDk0NjkyOSkpKSxFcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJhcHBseSBmYWN0b3J5IGRlZmF1bHRzIHRvIHNlbGVjdGVkIHNvdXJjZXMiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoMzY1ODc0KSkpLFJwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBjdXJyZW5jeSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgxODk2MDMpKSksVnA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHVuaXQiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoOTU0ODkxKSkpLEJwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBtZXRyaWMiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoNDMyMTI0KSkpLE5wPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNsb25lIGxpbmUgdG9vbHMiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoMzU4KSkpLE9wPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoIm1lcmdlIHVwIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDU1NTkxOCkpKSxXcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtZXJnZSBkb3duIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDcyMTcwOSkpKSxGcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtZXJnZSB0byBwYW5lIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDk3NjgxNSkpKSxIcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ1bm1lcmdlIHVwIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDk1MTg0NykpKSx6cD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ1bm1lcmdlIGRvd24iLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoMjI5NDE3KSkpLFVwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInVubWVyZ2UgdG8gbmV3IGJvdHRvbSBwYW5lIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDY5NDIyKSkpLEdwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoIm1vdmUge3RpdGxlfSB0byBuZXcgcmlnaHQgc2NhbGUiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoOTY3OTM1KSkpLGpwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoIm1vdmUge3RpdGxlfSB0byBuZXcgbGVmdCBzY2FsZSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgxNTkxNCkpKSxxcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtYWtlIHt0aXRsZX0gbm8gc2NhbGUgKEZ1bGwgc2NyZWVuKSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg1MDA4NDMpKSksJHA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygicmVzZXQgc2NhbGVzIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDYyOTU0MikpKSxZcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjcmVhdGUge3Rvb2x9IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDc0OTAxNikpKSxLcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJwYXN0ZSB7dGl0bGV9IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDcwODkwOCkpKSxYcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJpbnNlcnQge3RpdGxlfSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg5NjU1MzkpKSksWnA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygicmVtb3ZlIHBhbmUiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoODI4MjUzKSkpLEpwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImludmVydCBzY2FsZSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg3Nzk1MTcpKSksUXA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidG9nZ2xlIGF1dG8gc2NhbGUiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoMzg4ODg3KSkpLGVfPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInRvZ2dsZSBsb2NrIHNjYWxlIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDYwMjQ5NykpKSx0Xz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ0b2dnbGUgcmVndWxhciBzY2FsZSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgxNzQ2NDApKSksaV89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidG9nZ2xlIGluZGV4ZWQgdG8gMTAwIHNjYWxlIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDg3MTkxMCkpKSxzXz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ0b2dnbGUgcGVyY2VudGFnZSBzY2FsZSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgzMjk4NDEpKSksbl89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidG9nZ2xlIGxvZyBzY2FsZSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg0ODM5OTUpKSkscl89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygibW92ZSBsZWZ0IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDI5NTIwNCkpKSxvXz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtb3ZlIHJpZ2h0IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDUyNTY0MykpKSxhXz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJhbGlnbiB0byA0NSBkZWdyZWVzIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQiCn0saSgyMzEyNjMpKSksbF89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygic2V0IHByaWNlIHNjYWxlIHNlbGVjdGlvbiBzdHJhdGVneSB0byB7dGl0bGV9IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDU0NzQ0NSkpKSxjXz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJyZW1vdmUgYWxsIGluZGljYXRvcnMiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoOTMxNzE5KSkpLGhfPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInJlbW92ZSBkcmF3aW5ncyIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg5MjU5NjMpKSksZF89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygicmVtb3ZlIGFsbCBpbmRpY2F0b3JzIGFuZCBkcmF3aW5nIHRvb2xzIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDI1NjkpKSksdV89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidHVybiBsaW5lIHRvb2xzIHNoYXJpbmcgb2ZmIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDY5MjIwMSkpKSxwXz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJzaGFyZSBsaW5lIHRvb2xzIGluIGxheW91dCIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgzNTU0MDcpKSksX189bmV3IHkuVHJhbnNsYXRlZFN0cmluZygic2hhcmUgbGluZSB0b29scyBnbG9iYWxseSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgxMDIxOTcpKSksbV89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGxpbmtpbmcgZ3JvdXAiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoODU3MjIzKSkpLGdfPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImFwcGx5IGRyYXdpbmcgdGVtcGxhdGUiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoNjE4Mzg2KSkpLGZfPSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuQ2hhcnRVbmRvTW9kZWwiKSxTXz0oMCxQZS5pc0ZlYXR1cmVFbmFibGVkKSgiaGlkZV90d2VldF9kcmF3aW5ndG9vbCIpO3ZhciB2XztmdW5jdGlvbiB5XyhlLHQpe3JldHVybnticmluZ0ZvcndhcmRFbmFibGVkOmUuYnJpbmdGb3J3YXJkRW5hYmxlZHx8dC5icmluZ0ZvcndhcmRFbmFibGVkLGJyaW5nVG9Gcm9udEVuYWJsZWQ6ZS5icmluZ1RvRnJvbnRFbmFibGVkfHx0LmJyaW5nVG9Gcm9udEVuYWJsZWQsc2VuZEJhY2t3YXJkRW5hYmxlZDplLnNlbmRCYWNrd2FyZEVuYWJsZWR8fHQuc2VuZEJhY2t3YXJkRW5hYmxlZCxzZW5kVG9CYWNrRW5hYmxlZDplLnNlbmRUb0JhY2tFbmFibGVkfHx0LnNlbmRUb0JhY2tFbmFibGVkfX0hZnVuY3Rpb24oZSl7ZVtlLlVwPTBdPSJVcCIsZVtlLkRvd249MV09IkRvd24iLGVbZS5MZWZ0PTJdPSJMZWZ0IixlW2UuUmlnaHQ9M109IlJpZ2h0In0odl98fCh2Xz17fSkpO2Z1bmN0aW9uIGJfKCl7cmV0dXJuKDAsVC5kcmF3T25BbGxDaGFydHMpKCkudmFsdWUoKT8xPT09KDAsVC5kcmF3T25BbGxDaGFydHNNb2RlKSgpLnZhbHVlKCk/MToyOjB9ZnVuY3Rpb24gd18oZSx0KXsoMCxKLm9uV2lkZ2V0KSgpPygwLCRuLnNob3dHb1RvVHJhZGluZ1ZpZXdSZWZlcnJhbERpYWxvZykoe2ZlYXR1cmU6ImluZGljYXRvcnMifSk6KDAsWW4uc2hvd1N0dWRpZXNMaW1pdEdvUHJvRGlhbG9nKShlLHQpfWNsYXNzIENfIGV4dGVuZHMoRG4oKSl7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9jcmVhdGVMaW5lQ29tbWFuZHM9W10sdGhpcy5fc2NhbGVQcmljZUluZm89bnVsbCx0aGlzLl9jdXJyZW50U291cmNlTW92ZUNvbW1hbmQ9bnVsbCx0aGlzLl9jdXJyZW50TGluZUNoYW5nZUNvbW1hbmQ9bnVsbCx0aGlzLl9jdXJyZW50Q3VzdG9tTW92ZUNvbW1hbmQ9bnVsbCx0aGlzLl96b29tU3RhY2s9bmV3IHosdGhpcy5faW5pdGlhbFByaWNlU2Nyb2xsU3RhdGU9bnVsbCx0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxQb3M9bnVsbDtjb25zdHtjaGFydFdpZGdldDp0LGNoYXJ0U2Vzc2lvbjppLGludmFsaWRhdGVIYW5kbGVyOnMscHJvcGVydGllczpuLHNlcmllc1Byb3BlcnRpZXM6cixkYXRhUmVxdWVzdDpvLHVuZG9IaXN0b3J5OmEsYmFyc01hcmtzQ29udGFpbmVyc0ZhY3Rvcnk6bCxvcHRpb25zOmMsaGliZXJuYXRlVlc6aCxsaW5raW5nR3JvdXBXVjpkLGlzQXV0b1NhdmVFbmFibGVkOnUsZHJhd1RpbWU6cH09ZTt0aGlzLl9jaGFydFdpZGdldD10LHRoaXMuX3RyYWRpbmdQcmVmZXJlbmNlc1NlcnZpY2U9ZS50cmFkaW5nUHJlZmVyZW5jZXNTZXJ2aWNlLHRoaXMubV9tb2RlbD1uZXcgRXUoe2NoYXJ0U2Vzc2lvbjppLGludmFsaWRhdGVIYW5kbGVyOnMscHJvcGVydGllczpuLHNlcmllc1Byb3BlcnRpZXM6cixkYXRhUmVxdWVzdDpvLHVuZG9Nb2RlbDp0aGlzLGJhcnNNYXJrc0NvbnRhaW5lcnNGYWN0b3J5Omwsb3B0aW9uczpjLGhpYmVybmF0ZVZXOmgsbGlua2luZ0dyb3VwV1Y6ZCxpc0F1dG9TYXZlRW5hYmxlZDp1LHN5bWJvbEFsaWFzU2VydmljZTp0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLnN5bWJvbEFsaWFzU2VydmljZSgpLGRyYXdUaW1lOnB9KSx0aGlzLl91bmRvSGlzdG9yeT1hLHRoaXMuX2xpbmVUb29sc0dyb3VwQ29udHJvbGxlcj1uZXcgeW8oe21vZGVsOnRoaXMuX21vZGVsLmJpbmQodGhpcykscHVzaFVuZG9Db21tYW5kOnRoaXMuX3B1c2hVbmRvQ29tbWFuZC5iaW5kKHRoaXMpLGJlZ2luVW5kb01hY3JvOmU9Pnt0aGlzLl91bmRvSGlzdG9yeS5iZWdpblVuZG9NYWNybyhlKX0sZW5kVW5kb01hY3JvOnRoaXMuX3VuZG9IaXN0b3J5LmVuZFVuZG9NYWNyby5iaW5kKHRoaXMuX3VuZG9IaXN0b3J5KSxlbWl0RXZlbnQ6dGhpcy5lbWl0RXZlbnQuYmluZCh0aGlzKX0pfWlkKCl7cmV0dXJuIHRoaXMuX21vZGVsKCkuaWQoKX11bmRvSGlzdG9yeSgpe3JldHVybiB0aGlzLl91bmRvSGlzdG9yeX1zZXRXYXRjaGVkVmFsdWUoZSx0LGkpe3RoaXMuX3VuZG9IaXN0b3J5LnNldFdhdGNoZWRWYWx1ZShlLHQsaSl9bGluZVRvb2xzR3JvdXBDb250cm9sbGVyKCl7cmV0dXJuIHRoaXMuX2xpbmVUb29sc0dyb3VwQ29udHJvbGxlcgp9bWVyZ2VBbGxTY2FsZXMoZSl7IWZ1bmN0aW9uKGUsdCl7ZS5iZWdpblVuZG9NYWNybygibGVmdCI9PT10P0tuOlhuKSxlLm1vZGVsKCkucGFuZXMoKS5mb3JFYWNoKChpPT57Y29uc3Qgcz0ibGVmdCI9PT10P2kudmlzaWJsZVJpZ2h0UHJpY2VTY2FsZXMoKTppLnZpc2libGVMZWZ0UHJpY2VTY2FsZXMoKSxuPSgibGVmdCI9PT10P2kudmlzaWJsZUxlZnRQcmljZVNjYWxlcygpOmkudmlzaWJsZVJpZ2h0UHJpY2VTY2FsZXMoKSkuY29uY2F0KHMpLHI9Im92ZXJsYXkiPT09aS5wcmljZVNjYWxlUG9zaXRpb24oaS5kZWZhdWx0UHJpY2VTY2FsZSgpKT9uWzBdOmkuZGVmYXVsdFByaWNlU2NhbGUoKTtlLm1vdmVQcmljZVNjYWxlKGkscix0LDApLG4uZm9yRWFjaCgodD0+e2lmKHQ9PT1yKXJldHVybjtsZXQgcz10Lm1haW5Tb3VyY2UoKTtmb3IoO251bGwhPT1zOyl7ZS5tb3ZlVG9TY2FsZShzLGkscixudWxsLCEwKTtjb25zdCBuPXQubWFpblNvdXJjZSgpO2lmKG49PT1zKXtabi5sb2dFcnJvcigiTG9vcCBkZXRlY3RlZCB3aGlsZSB0cnlpbmcgdG8gbWVyZ2Ugc2NhbGVzIik7YnJlYWt9cz1ufX0pKX0pKSxlLmVuZFVuZG9NYWNybygpLGUubW9kZWwoKS5mdWxsVXBkYXRlKCl9KHRoaXMsZSl9bW92ZVByaWNlU2NhbGUoZSx0LGkscyl7Y29uc3Qgbj1uZXcgSm4odGhpcy5fbW9kZWwoKSxlLHQsaSxzLExwKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQobil9Y3JlYXRlTGluZVRvb2woe3BhbmU6ZSxwb2ludDp0LGxpbmV0b29sOmkscHJvcGVydGllczpzLGxpbmtLZXk6bixvd25lclNvdXJjZTpyLHN5bmNocm9uaXphdGlvbk1vZGU6bz1Sbi5DcmVhdGVMaW5lVG9vbFN5bmNNb2RlLkRlZmF1bHQsc2hhcmluZ01vZGU6YT1iXygpLGlkOmMsYWN0aW9uU291cmNlOmgsa2VlcFNlbGVjdGVkR3JvdXA6ZH0pe2lmKCEoMCxSdS5lbnN1cmVEcmF3aW5nQ3JlYXRpb25BbGxvd2VkKShpLGgsImNoYXJ0X2RyYXdpbmciKSlyZXR1cm4gVC50b29sLnZhbHVlKCk9PT1pJiYoMCxULnJlc2V0VG9DdXJzb3IpKCksbnVsbDtjb25zdCB1PW9wLmxpbmVUb29sc1N0dWR5SWRzW2ldO2lmKCgwLGwuYXNzZXJ0KSghKDAsbS5pc1N0dWR5TGluZVRvb2xOYW1lKSh1KXx8ISF1KSx1KXtjb25zdCBlPXRoaXMuY2FuQ3JlYXRlU3R1ZHkoe2lkOnV9KTtpZighZS5zdWNjZXNzKXJldHVybiB3Xyh0aGlzLm1vZGVsKCksZSksKDAsbS5pc1N0dWR5TGluZVRvb2xOYW1lKShULnRvb2wudmFsdWUoKSkmJigwLFQucmVzZXRUb0N1cnNvcikoKSxudWxsfWNvbnN0IHA9WXAuZm9ybWF0KHt0b29sOm5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoaSxfci5saW5lVG9vbHNMb2NhbGl6ZWROYW1lc1tpXSl9KTt0aGlzLmJlZ2luVW5kb01hY3JvKHApO2NvbnN0IF89byE9PVJuLkNyZWF0ZUxpbmVUb29sU3luY01vZGUuRm9yY2VPZmYsZz1uZXcgZ3Ioe21vZGVsOnRoaXMuX21vZGVsKCkscGFuZTplLGxpbmVUb29sOmksb3duZXJTb3VyY2U6cnx8KDAsbC5lbnN1cmVOb3ROdWxsKShlLm1haW5EYXRhU291cmNlKCkpLGRyYXdPbkFsbENoYXJ0c01vZGU6YSxpZDpjLGtlZXBTZWxlY3RlZEdyb3VwOmQmJnZvaWQgMD09PW59KSxmPWcuc3RhcnRDcmVhdGluZ0xpbmUodCxzLG58fG51bGwsYSxvPT09Um4uQ3JlYXRlTGluZVRvb2xTeW5jTW9kZS5Gb3JjZU9mZixoKSxTPSgwLGwuZW5zdXJlTm90TnVsbCkoZy5saW5lKCkpO3RoaXMuX2NyZWF0ZUxpbmVDb21tYW5kcy51bnNoaWZ0KGcpO2xldCB2PW51bGw7aWYoZiYmKF8mJnRoaXMuZmluaXNoTGluZVRvb2woUyksdGhpcy5fcHVzaFVuZG9Db21tYW5kKGcpLHRoaXMuX2NyZWF0ZUxpbmVDb21tYW5kcy5zaGlmdCgpLHY9e3BvaW50czpTLm5vcm1hbGl6ZWRQb2ludHMoKSxpbnRlcnZhbDp0aGlzLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpfSksKHZvaWQgMD09PW4mJm89PT1Sbi5DcmVhdGVMaW5lVG9vbFN5bmNNb2RlLkRlZmF1bHQmJigwLFQuZHJhd09uQWxsQ2hhcnRzKSgpLnZhbHVlKCl8fG89PT1Sbi5DcmVhdGVMaW5lVG9vbFN5bmNNb2RlLkZvcmNlT24pJiZTLmlzU3luY2hyb25pemFibGUoKSl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMubW9kZWwoKS5leHRlcm5hbFRpbWVTdGFtcCh0LmluZGV4KSkscz17cG9pbnQ6e3ByaWNlOnQucHJpY2UsdGltZVN0YW1wOmV9LGxpbmV0b29sOmkscHJvcGVydGllczpTLnByb3BlcnRpZXMoKSxzeW1ib2w6dGhpcy5tYWluU2VyaWVzKCkuc3ltYm9sKCksbW9kZWw6dGhpcy5tb2RlbCgpLGxpbmtLZXk6KDAsbC5lbnN1cmVOb3ROdWxsKShTLmxpbmtLZXkoKS52YWx1ZSgpKSxmaW5hbFN0YXRlOnYsaWQ6Uy5pZCgpLHNoYXJpbmdNb2RlOlMuc2hhcmluZ01vZGUoKS52YWx1ZSgpfTtTLmlzRml4ZWQoKSYmKHMucG9pbnRQb3NpdGlvblBlcmNlbnRzPVMuY2FsY1Bvc2l0aW9uUGVyY2VudHMoKSksKDAsVC5jcmVhdGVMaW5lVG9vbCkocyl9aWYoZCYmdm9pZCAwPT09bil7Y29uc3QgdD10aGlzLl9yZXNvbHZlUHJldmlvdXNTZWxlY3RlZEdyb3VwKGUpO251bGwhPT10JiYoZj90aGlzLl9saW5lVG9vbHNHcm91cENvbnRyb2xsZXIuYWRkTGluZVRvb2xUb0dyb3VwKHQsUyk6dC5hZGRJdGVtcyhbU10pKX1yZXR1cm4gdGhpcy5lbmRVbmRvTWFjcm8oKSxTfWNvbnRpbnVlQ3JlYXRpbmdMaW5lKGUsdCxpLHMpe2NvbnN0IG49KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9jcmVhdGVMaW5lQ29tbWFuZHNbMF0pO3RoaXMuYmVnaW5VbmRvTWFjcm8obi50ZXh0KCkpO2NvbnN0IHI9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbCgpLmxpbmVCZWluZ0NyZWF0ZWQoKSksbz1uLmNvbnRpbnVlQ3JlYXRpbmdMaW5lKGUsdCxpLHMpO2xldCBhPW51bGw7aWYobyYmKHRoaXMuZmluaXNoTGluZVRvb2wociksdGhpcy5fcHVzaFVuZG9Db21tYW5kKG4pLHRoaXMuX2NyZWF0ZUxpbmVDb21tYW5kcy5zaGlmdCgpLGE9e3BvaW50czpyLm5vcm1hbGl6ZWRQb2ludHMoKSxpbnRlcnZhbDp0aGlzLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpfSksbi5kcmF3T25BbGxDaGFydHMoKSYmci5pc1N5bmNocm9uaXphYmxlKCkpe2NvbnN0IGk9KDAsCmwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwoKS5leHRlcm5hbFRpbWVTdGFtcChlLmluZGV4KSk7KDAsVC5jb250aW51ZUxpbmVUb29sKSh7cG9pbnQ6e3ByaWNlOmUucHJpY2UsdGltZVN0YW1wOml9LGVudlN0YXRlOnQsZmluYWxTdGF0ZTphLG1vZGVsOnRoaXMuX21vZGVsKCl9KX1pZihuLmtlZXBTZWxlY3RlZEdyb3VwKCkmJm8pe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbCgpLnBhbmVGb3JTb3VyY2UocikpLHQ9dGhpcy5fcmVzb2x2ZVByZXZpb3VzU2VsZWN0ZWRHcm91cChlKTtudWxsIT09dCYmKHQuZXhjbHVkZUl0ZW0ociksdGhpcy5fbGluZVRvb2xzR3JvdXBDb250cm9sbGVyLmFkZExpbmVUb29sVG9Hcm91cCh0LHIpKX1yZXR1cm4gdGhpcy5lbmRVbmRvTWFjcm8oKSxvfWNvbnRpbnVlRXh0ZXJuYWxMaW5lKGUsdCxpKXtjb25zdCBzPSgwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fY3JlYXRlTGluZUNvbW1hbmRzWzBdKSxuPXMuY29udGludWVDcmVhdGluZ0xpbmUoZSx0LGkpO3JldHVybiBuJiYodGhpcy5fcHVzaFVuZG9Db21tYW5kKHMpLHRoaXMuX2NyZWF0ZUxpbmVDb21tYW5kcy5zaGlmdCgpKSxufWZpbmlzaExpbmVUb29sKGUpe3RoaXMuX21vZGVsKCkuZmluaXNoTGluZVRvb2woZSl9Y2FuY2VsQ3JlYXRpbmdMaW5lKCl7dGhpcy5tX21vZGVsLmNhbmNlbENyZWF0aW5nTGluZSgpfWxpbmVCZWluZ0NyZWF0ZWQoKXtyZXR1cm4gdGhpcy5tX21vZGVsLmxpbmVCZWluZ0NyZWF0ZWQoKX1wYXN0ZUltYWdlQXNMaW5lVG9vbChlLHQsaSxzKXtjb25zdCBuPXRoaXMuX21vZGVsKCkudGltZVNjYWxlKCkscj1uLndpZHRoKCksbz1pLmhlaWdodCgpLGE9aS5kZWZhdWx0UHJpY2VTY2FsZSgpLGM9KDAsbC5lbnN1cmVOb3ROdWxsKSgoMCxsLmVuc3VyZU5vdE51bGwpKGEubWFpblNvdXJjZSgpKS5maXJzdFZhbHVlKCkpLGg9e3ByaWNlOmEuY29vcmRpbmF0ZVRvUHJpY2Uoby8yLGMpLGluZGV4Om4uY29vcmRpbmF0ZVRvSW5kZXgoci8yKX0sZD0oMCxyaS5jcmVhdGVMaW5lVG9vbFByb3BlcnRpZXMpKGkubW9kZWwoKS5iYWNrZ3JvdW5kVGhlbWUoKS5zcGF3bk93bmVyc2hpcCgpLCJMaW5lVG9vbEltYWdlIiwhaS5tb2RlbCgpLnJlYWRPbmx5KCkpO3ZvaWQgMCE9PXMmJmQuY2hpbGRzKCkudHJhbnNwYXJlbmN5LnNldFZhbHVlKHMpO2NvbnN0IHU9KDAsbC5lbnN1cmVOb3ROdWxsKShhLm1haW5Tb3VyY2UoKSk7KDAscmkucHJlcGFyZUxpbmVUb29sUHJvcGVydGllc0J5T3duZXJTb3VyY2UpKGQsdSk7Y29uc3QgcD10aGlzLmNyZWF0ZUxpbmVUb29sKHtwYW5lOmkscG9pbnQ6aCxsaW5ldG9vbDoiTGluZVRvb2xJbWFnZSIscHJvcGVydGllczpkLGFjdGlvblNvdXJjZToiUGFzdGUiLGtlZXBTZWxlY3RlZEdyb3VwOiEwfSk7cmV0dXJuIHAmJihwLnNldEJsb2JJbWFnZVVybCh0KSx0aGlzLnNlbGVjdGlvbk1hY3JvKChlPT57ZS5jbGVhclNlbGVjdGlvbigpLGUuYWRkSXRlbVRvU2VsZWN0aW9uKHAsbnVsbCl9KSksZS50aGVuKChlPT57cC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudXJsLnNldFZhbHVlKGUpfSkpLmNhdGNoKChlPT57Y29uc3QgdD1wLmxpbmtLZXkoKS52YWx1ZSgpLGk9dGhpcy5tb2RlbCgpO251bGwhPT10JiYoMCxULnJlbW92ZUxpbmVUb29sKSh7d2l0aFVuZG86ITEsbW9kZWw6aSxsaW5rS2V5OnQsc3ltYm9sOnAuc3ltYm9sKCksc291cmNlVGl0bGU6bmV3IHkuVHJhbnNsYXRlZFN0cmluZyhwLm5hbWUoKSxwLnRyYW5zbGF0ZWRUeXBlKCkpLGxpbmVUb29sU3RhdGU6cC5zdGF0ZSghMSl9KSxpLnJlbW92ZVNvdXJjZShwKX0pKSkscH1sb2FkUmFuZ2UoZSl7Y29uc3QgdD10aGlzLl9tb2RlbCgpLGk9dC5hcHBsaWVkVGltZUZyYW1lKCkudmFsdWUoKTtyZXR1cm4obnVsbD09PWl8fCFCbihpLGUpKSYmKHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgS3IodCxlKSksKDAsJC5lbWl0KSgidGltZWZyYW1lX2ludGVydmFsIixlKSwhMCl9bWFpblNlcmllcygpe3JldHVybiB0aGlzLm1fbW9kZWwubWFpblNlcmllcygpfW1vZGVsKCl7cmV0dXJuIHRoaXMubV9tb2RlbH1hbGxVbmRvTW9kZWxzKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLmNoYXJ0TW9kZWxzKCkudmFsdWUoKX1wdWJsaXNoZWRDaGFydHNUaW1lbGluZVNvdXJjZSgpe3JldHVybiB0aGlzLm1fbW9kZWwucHVibGlzaGVkQ2hhcnRzVGltZWxpbmVTb3VyY2UoKX11bmxpbmtMaW5lcyhlKXtjb25zdCB0PXRoaXMubW9kZWwoKTt0aGlzLmJlZ2luVW5kb01hY3JvKEFwKTtmb3IoY29uc3QgaSBvZiBlKW51bGwhPT1pLmxpbmtLZXkoKS52YWx1ZSgpJiYoMCxULnJlbW92ZUxpbmVUb29sKSh7d2l0aFVuZG86ITAsbW9kZWw6dGhpcy5tb2RlbCgpLHN5bWJvbDppLnN5bWJvbCgpLGxpbmtLZXk6KDAsbC5lbnN1cmVOb3ROdWxsKShpLmxpbmtLZXkoKS52YWx1ZSgpKSxzb3VyY2VUaXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxpKSxsaW5lVG9vbFN0YXRlOmkuc3RhdGUoITEpLHVubGluazohMH0pLHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgJHUodCxpKSk7dGhpcy5lbmRVbmRvTWFjcm8oKX16b29tRnJvbVZpZXdwb3J0KCl7Y29uc3QgZT1uZXcganUoKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl96b29tU3RhY2suaGVhZCgpKSx0aGlzLl96b29tU3RhY2ssITEpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZChlKX16b29tVG9WaWV3cG9ydChlLHQsaSxzLG4pe2NvbnN0IHI9bmV3IHp1KHRoaXMubV9tb2RlbCxlLHQsaSxzLG4pLG89bmV3IGp1KHIsdGhpcy5fem9vbVN0YWNrLCEwKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQobyl9em9vbVN0YWNrKCl7cmV0dXJuIHRoaXMuX3pvb21TdGFja310aW1lU2NhbGUoKXtyZXR1cm4gdGhpcy5tX21vZGVsLnRpbWVTY2FsZSgpfXNlbGVjdGlvbigpe3JldHVybiB0aGlzLm1fbW9kZWwuc2VsZWN0aW9uKCl9c2VsZWN0aW9uTWFjcm8oZSx0KXtyZXR1cm4gdGhpcy5tX21vZGVsLnNlbGVjdGlvbk1hY3JvKGUsdCl9Cm9uU2VsZWN0ZWRTb3VyY2VDaGFuZ2VkKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5vblNlbGVjdGVkU291cmNlQ2hhbmdlZCgpfW9uVGFnc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5tX21vZGVsLm9uVGFnc0NoYW5nZWQoKX1saW5lQ2FuY2VsbGVkKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5saW5lQ2FuY2VsbGVkKCl9aG92ZXJlZFNvdXJjZSgpe3JldHVybiB0aGlzLm1fbW9kZWwuaG92ZXJlZFNvdXJjZSgpfWNyb3NzaGFpclNvdXJjZSgpe3JldHVybiB0aGlzLm1fbW9kZWwuY3Jvc3NoYWlyU291cmNlKCl9YWN0aXZlU3RyYXRlZ3lTb3VyY2UoKXtyZXR1cm4gdGhpcy5tX21vZGVsLmFjdGl2ZVN0cmF0ZWd5U291cmNlKCl9c2V0UHJvcGVydHkoZSx0LGkscyl7aWYoZSYmZS52YWx1ZSgpIT09dCl7dGhpcy5iZWdpblVuZG9NYWNybyhpKTtjb25zdCBuPW5ldyBxci5TZXRQcm9wZXJ0eVVuZG9Db21tYW5kKGUsdCxpLHRoaXMubV9tb2RlbCwhcyk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKG4pLHRoaXMuZW5kVW5kb01hY3JvKCksdGhpcy5lbWl0RXZlbnQoInNldFByb3BlcnR5Iil9fXNldFByb3BlcnRpZXMoZSx0LGkscz0hMCl7dGhpcy5iZWdpblVuZG9NYWNybyhpKSx0aGlzLm1fbW9kZWwuc2VsZWN0aW9uTWFjcm8oKCgpPT57Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspdGhpcy5zZXRQcm9wZXJ0eShlW25dLHRbbl0saSwhcyl9KSksdGhpcy5lbmRVbmRvTWFjcm8oKX1iZWdpblVuZG9NYWNybyhlKXtyZXR1cm4gdGhpcy5fdW5kb0hpc3RvcnkuYmVnaW5VbmRvTWFjcm8oZSl9ZW5kVW5kb01hY3JvKCl7dGhpcy5fdW5kb0hpc3RvcnkuZW5kVW5kb01hY3JvKCl9aW52ZXJ0UHJpY2VTY2FsZShlKXtjb25zdCB0PWUucHJvcGVydGllcygpLmNoaWxkcygpLmlzSW52ZXJ0ZWQ7dGhpcy5zZXRQcm9wZXJ0eSh0LCF0LnZhbHVlKCksSnApfXRvZ2dsZVByaWNlU2NhbGVBdXRvU2NhbGVNb2RlKGUpe2NvbnN0IHQ9e2F1dG9TY2FsZTohZS5pc0F1dG9TY2FsZSgpfTt0aGlzLnNldFByaWNlU2NhbGVNb2RlKHQsZSxRcCl9dG9nZ2xlUHJpY2VTY2FsZUxvY2tTY2FsZU1vZGUoZSl7Y29uc3QgdD17bG9ja1NjYWxlOiFlLmlzTG9ja1NjYWxlKCl9O3RoaXMuc2V0UHJpY2VTY2FsZU1vZGUodCxlLGVfKX10b2dnbGVQcmljZVNjYWxlUGVyY2VudGFnZVNjYWxlTW9kZShlKXtjb25zdCB0PXtwZXJjZW50YWdlOiFlLmlzUGVyY2VudGFnZSgpfTt0aGlzLnNldFByaWNlU2NhbGVNb2RlKHQsZSxzXyl9dG9nZ2xlUHJpY2VTY2FsZUluZGV4ZWRUbzEwMFNjYWxlTW9kZShlKXtjb25zdCB0PXtpbmRleGVkVG8xMDA6IWUuaXNJbmRleGVkVG8xMDAoKX07dGhpcy5zZXRQcmljZVNjYWxlTW9kZSh0LGUsaV8pfXRvZ2dsZVByaWNlU2NhbGVMb2dTY2FsZU1vZGUoZSl7Y29uc3QgdD17bG9nOiFlLmlzTG9nKCl9O3RoaXMuc2V0UHJpY2VTY2FsZU1vZGUodCxlLG5fKX1zZXRQcmljZVNjYWxlUmVndWxhclNjYWxlTW9kZShlKXt0aGlzLnNldFByaWNlU2NhbGVNb2RlKHtsb2c6ITEscGVyY2VudGFnZTohMSxpbmRleGVkVG8xMDA6ITF9LGUsdF8pfXdpdGhNYWNybyhlLHQpe2NvbnN0IGk9dGhpcy5iZWdpblVuZG9NYWNybyhlKTt0cnl7dCgpfWZpbmFsbHl7dGhpcy5lbmRVbmRvTWFjcm8oKX1yZXR1cm4gaX1kYXRhU291cmNlcygpe3JldHVybiB0aGlzLm1fbW9kZWwuZGF0YVNvdXJjZXMoKX1vcmRlcmVkRGF0YVNvdXJjZXMoZSl7cmV0dXJuIHRoaXMubV9tb2RlbC5vcmRlcmVkRGF0YVNvdXJjZXMoZSl9YmFyc01hcmtzU291cmNlcygpe3JldHVybiB0aGlzLm1fbW9kZWwuYmFyc01hcmtzU291cmNlcygpfXJlbW92ZUFsbERyYXdpbmdUb29scyhlKXt0aGlzLmJlZ2luVW5kb01hY3JvKGhfKSx0aGlzLl9yZW1vdmVBbGxEcmF3aW5nVG9vbHNJbXBsKGUpLHRoaXMuZW5kVW5kb01hY3JvKCl9cmVtb3ZlQWxsU3R1ZGllc0FuZERyYXdpbmdUb29scyhlKXt0aGlzLmJlZ2luVW5kb01hY3JvKGRfKSx0aGlzLl9yZW1vdmVBbGxEcmF3aW5nVG9vbHNJbXBsKGUpLHRoaXMuX3JlbW92ZUFsbFN0dWRpZXNJbXBsKCksdGhpcy5lbmRVbmRvTWFjcm8oKX1yZW1vdmVBbGxTdHVkaWVzKCl7dGhpcy5iZWdpblVuZG9NYWNybyhjXyksdGhpcy5fcmVtb3ZlQWxsU3R1ZGllc0ltcGwoKSx0aGlzLmVuZFVuZG9NYWNybygpfXNjcm9sbENoYXJ0QnlCYXIoZSl7aWYoIXRoaXMubV9tb2RlbC5zY3JvbGxFbmFibGVkKCkpcmV0dXJuO2NvbnN0IHQ9ZSp0aGlzLm1fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpO3RoaXMuc3RhcnRTY3JvbGxUaW1lKDApLHRoaXMuc2Nyb2xsVGltZVRvKHQpLHRoaXMuZW5kU2Nyb2xsVGltZSgpfWNhblpvb21Jbigpe3JldHVybiB0aGlzLm1vZGVsKCkuY2FuWm9vbUluKCl9Y2FuWm9vbU91dCgpe3JldHVybiB0aGlzLm1vZGVsKCkuY2FuWm9vbU91dCgpfXpvb21PdXQoKXtjb25zdCBlPXRoaXMudGltZVNjYWxlKCkud2lkdGgoKTt0aGlzLmNhblpvb21PdXQoKSYmKDAsT24uZG9BbmltYXRlKSh7dG86ZS81LG9uU3RlcDplPT57dGhpcy5zdGFydFNjYWxlVGltZSgwKSx0aGlzLnNjYWxlVGltZVRvKGUpLHRoaXMuZW5kU2NhbGVUaW1lKCl9fSl9em9vbUluKCl7Y29uc3QgZT10aGlzLnRpbWVTY2FsZSgpLndpZHRoKCk7dGhpcy5jYW5ab29tSW4oKSYmKDAsT24uZG9BbmltYXRlKSh7dG86ZS81LG9uU3RlcDplPT57dGhpcy5zdGFydFNjYWxlVGltZShlKSx0aGlzLnNjYWxlVGltZVRvKDApLHRoaXMuZW5kU2NhbGVUaW1lKCl9fSl9c2Nyb2xsQ2hhcnQoZSl7dGhpcy5tX21vZGVsLnNjcm9sbEVuYWJsZWQoKSYmKHRoaXMuc3RhcnRTY3JvbGxUaW1lKDApLHRoaXMuc2Nyb2xsVGltZVRvKGUpLHRoaXMuZW5kU2Nyb2xsVGltZSgpKX1zdGFydE1vdmluZ1NvdXJjZXMoZSx0LGkscyl7ZS5maWx0ZXIoKGU9PmUuZG9lc01vdmluZ0FmZmVjdHNVbmRvKCkpKS5sZW5ndGgmJih0aGlzLl9jdXJyZW50U291cmNlTW92ZUNvbW1hbmQ9bmV3IG5yKHRoaXMubW9kZWwoKSxlLGtwLCExKSksdGhpcy5tb2RlbCgpLnN0YXJ0TW92aW5nU291cmNlcyhlLHQsaSxuZXcgTWFwLHMpfW1vdmVTb3VyY2VzKGUsdCl7CnRoaXMubW9kZWwoKS5tb3ZlU291cmNlcyhlLG5ldyBNYXAsdCl9ZW5kTW92aW5nU291cmNlKGUsdCl7dGhpcy5tb2RlbCgpLmVuZE1vdmluZ1NvdXJjZXMoZSx2b2lkIDAsdCksbnVsbCE9PXRoaXMuX2N1cnJlbnRTb3VyY2VNb3ZlQ29tbWFuZCYmKHRoaXMuX2N1cnJlbnRTb3VyY2VNb3ZlQ29tbWFuZC5zYXZlTmV3U3RhdGUoKSx0aGlzLl9wdXNoVW5kb0NvbW1hbmQodGhpcy5fY3VycmVudFNvdXJjZU1vdmVDb21tYW5kKSksdGhpcy5fY3VycmVudFNvdXJjZU1vdmVDb21tYW5kPW51bGx9c3RhcnRDaGFuZ2luZ0xpbmV0b29sKGUsdCxpLHMsbixyKXt0aGlzLl9jdXJyZW50TGluZUNoYW5nZUNvbW1hbmQ9bmV3IG5yKHRoaXMubW9kZWwoKSxbZV0sZS5jaGFuZ2VQb2ludFVuZG9UZXh0KHMpLCExKSx0aGlzLm1vZGVsKCkuc3RhcnRDaGFuZ2luZ0xpbmV0b29sKGUsdCxpLHMsbixyKX1jaGFuZ2VMaW5lUG9pbnQoZSx0KXt0aGlzLm1vZGVsKCkuY2hhbmdlTGluZVBvaW50KGUsdCl9YWxpZ25Ub29sVG80NURlZ3JlZXMoZSx0KXtjb25zdCBpPWUuYWxpZ25UbzQ1RGVncmVlc1BvaW50cygpO2kmJih0aGlzLl9wdXNoVW5kb0NvbW1hbmQobmV3IG5yKHRoaXMubW9kZWwoKSxbZV0sYV8sITEpKSx0aGlzLm1vZGVsKCkuYWxpZ25UbzQ1RGVncmVlcyhlLHQsaSkpfWVuZENoYW5naW5nTGluZXRvb2woZSl7dGhpcy5tb2RlbCgpLmVuZENoYW5naW5nTGluZXRvb2woZSksbnVsbCE9PXRoaXMuX2N1cnJlbnRMaW5lQ2hhbmdlQ29tbWFuZCYmKHRoaXMuX2N1cnJlbnRMaW5lQ2hhbmdlQ29tbWFuZC5zYXZlTmV3U3RhdGUoKSx0aGlzLl9wdXNoVW5kb0NvbW1hbmQodGhpcy5fY3VycmVudExpbmVDaGFuZ2VDb21tYW5kKSksdGhpcy5fY3VycmVudExpbmVDaGFuZ2VDb21tYW5kPW51bGx9c2V0Q2hhcnRTdHlsZVByb3BlcnR5KGUsdCxpKXtpZihlLnZhbHVlKCkhPT10KXtjb25zdCBzPU91LmNoYXJ0U3R5bGVQZXJtaXNzaW9ucy5nZXQodCksbj0oKT0+e3RoaXMuYmVnaW5VbmRvTWFjcm8oaSk7Y29uc3Qgcz1uZXcgJHIoZSx0LHRoaXMubWFpblNlcmllcygpLGksdGhpcy5tb2RlbCgpLHRoaXMuX2NoYXJ0V2lkZ2V0KTt2YXIgbjt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyksdGhpcy5lbWl0RXZlbnQoInNldENoYXJ0U3R5bGVQcm9wZXJ0eSIpLG49ZS52YWx1ZSgpLCgwLFVyLmdldFRyYWNrZXIpKCkudGhlbigoZT0+e2lmKG51bGwhPT1lKXtjb25zdCB0PUwuU1RZTEVfU0hPUlRfTkFNRVNbbl07ZS50cmFja0NoYXJ0U3R5bGUodCl9fSkpLHRoaXMuZW5kVW5kb01hY3JvKCl9O3M/KDAsV3UucnVuT3JHb1BybykobixzLmZlYXR1cmUse2ZlYXR1cmU6cy5mZWF0dXJlTmFtZX0pOm4oKX19c2V0UHJpY2VBdXRvU2NhbGUoZSx0LGkpe3RoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgT3ModGhpcy5tX21vZGVsLGUsdCx0LnN0YXRlKCkpKSx0aGlzLm1fbW9kZWwuc2V0UHJpY2VBdXRvU2NhbGUoZSx0LGkpfXNldFByaWNlU2NhbGVNb2RlKGUsdCxpKXtpZighKDAscy5kZWZhdWx0KSh0Lm1vZGUoKSxlKSl7Y29uc3Qgcz1uZXcgJG8oZSx0LGksdGhpcy5tX21vZGVsKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyl9fXNldFByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneShlKXtjb25zdCB0PXRoaXMubV9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7aWYodC5wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3lOYW1lLnZhbHVlKCk9PT1lKXJldHVybjsoMCxNdC50cmFja0V2ZW50KSgiQ2hhcnQiLCJDaGFuZ2UgUHJpY2VTY2FsZSBTZWxlY3Rpb24gU3RyYXRlZ3kiKTtjb25zdCBpPWxfLmZvcm1hdCh7dGl0bGU6ZX0pO3RoaXMuYmVnaW5VbmRvTWFjcm8oaSksdGhpcy5zZXRQcm9wZXJ0eSh0LnByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWUsZSxpKTtjb25zdCBzPW5ldyB5cCh0aGlzLm1fbW9kZWwsZSxpKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyksdGhpcy5lbmRVbmRvTWFjcm8oKX1zZXRTY2FsZVJhdGlvUHJvcGVydHkoZSx0LGkpe2lmKGUudmFsdWUoKSE9PXQpe2NvbnN0IHM9bmV3IGZwKGUsdCxpLHRoaXMubV9tb2RlbCk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKHMpfX1jcmVhdGVVbmRvQ2hlY2twb2ludCgpe3JldHVybiB0aGlzLl91bmRvSGlzdG9yeS5jcmVhdGVVbmRvQ2hlY2twb2ludCgpfXVuZG9Ub0NoZWNrcG9pbnQoZSl7dGhpcy5fdW5kb0hpc3RvcnkudW5kb1RvQ2hlY2twb2ludChlKX1yZXN0b3JlUHJvcGVydGllc0ZvclNvdXJjZShlKXsoMCxyaS5pc0xpbmVUb29sKShlKT90aGlzLl9yZXN0b3JlTGluZVRvb2xGYWN0b3J5RGVmYXVsdHMoZSk6dGhpcy5fcmVzdG9yZVN0dWR5RmFjdG9yeURlZmF1bHRzKGUpfXJlc3RvcmVMaW5lVG9vbHNGYWN0b3J5RGVmYXVsdHMoZSl7MT09PWUubGVuZ3RoP3RoaXMuX3Jlc3RvcmVMaW5lVG9vbEZhY3RvcnlEZWZhdWx0cyhlWzBdKToodGhpcy5iZWdpblVuZG9NYWNybyhFcCksZS5mb3JFYWNoKChlPT50aGlzLl9yZXN0b3JlTGluZVRvb2xGYWN0b3J5RGVmYXVsdHMoZSkpKSx0aGlzLmVuZFVuZG9NYWNybygpKX1yZXN0b3JlUHJlZmVyZW5jZXMoKXtjb25zdCBlPW5ldyBncCh0aGlzLm1vZGVsKCksdGhpcy5fdHJhZGluZ1ByZWZlcmVuY2VzU2VydmljZSk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKGUpfXJlc3RvcmVTdGF0ZShlLHQsaSl7cmV0dXJuIHRoaXMubV9tb2RlbC5yZXN0b3JlU3RhdGUoZSx0LGkpfWFzeW5jIGNsaXBib2FyZENvcHkoZSx0PXRoaXMuc2VsZWN0aW9uKCkuZGF0YVNvdXJjZXMoKSl7aWYoISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImRhdGFzb3VyY2VfY29weXBhc3RlIikpcmV0dXJuO2NvbnN0IGk9dC5maWx0ZXIoKGU9PmUuY29waWFibGUoKSkpO2lmKDA9PT1pLmxlbmd0aClyZXR1cm47Zm9yKGNvbnN0IGUgb2YgaSlpZigoMCx0aS5pc1N0dWR5KShlKSYmZS5pc0NoaWxkU3R1ZHkoKSl0aHJvdyBuZXcgRXJyb3IoIkNhbiBub3QgY29weSBjaGlsZCBzdHVkeSIpO2NvbnN0IHM9KDAsSG4uY2xpcGJvYXJkRGF0YUZvclNvdXJjZXMpKHRoaXMuX21vZGVsKCkuaWQoKSxpKTtyZXR1cm4gbnVsbCE9PXM/ZS53cml0ZSh7CmFwcDpKU09OLnN0cmluZ2lmeShzKSx0ZXh0OnMudGl0bGV9KTp2b2lkIDB9YXN5bmMgY2xpcGJvYXJkQ3V0KGUsdD10aGlzLnNlbGVjdGlvbigpLmRhdGFTb3VyY2VzKCkpe2lmKCEoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJkYXRhc291cmNlX2NvcHlwYXN0ZSIpKXJldHVybjtjb25zdCBpPXQuZmlsdGVyKChlPT5lLmNvcGlhYmxlKCkpKTtpZigwPT09aS5sZW5ndGgpcmV0dXJuO2F3YWl0IHRoaXMuY2xpcGJvYXJkQ29weShlLGkpO2NvbnN0IHM9aS5maWx0ZXIoKGU9PmUuaXNVc2VyRGVsZXRhYmxlKCkpKTtpZigwPT09cy5sZW5ndGgpcmV0dXJuO2NvbnN0IG49KDE9PT1zLmxlbmd0aD9UcDp4cCkuZm9ybWF0KHt0aXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxzWzBdKX0pO3RoaXMuYmVnaW5VbmRvTWFjcm8obiksdGhpcy5tX21vZGVsLnNlbGVjdGlvbk1hY3JvKCgoKT0+dGhpcy5yZW1vdmVTb3VyY2VzKHMsITEsbikpLCEwKSx0aGlzLmVuZFVuZG9NYWNybygpfWFzeW5jIGNsaXBib2FyZFBhc3RlKGUsdCl7bGV0IGk9bnVsbDtpZigoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJkYXRhc291cmNlX2NvcHlwYXN0ZSIpJiYoaT1pfHxhd2FpdCBlLnJlYWQoKSxpLmFwcCkpe2NvbnN0IGU9SlNPTi5wYXJzZShpLmFwcCk7aWYobnVsbCE9PWF3YWl0IHRoaXMucGFzdGVTb3VyY2VGcm9tQ2xpcCh0LGUpKXJldHVybn1hd2FpdCB0aGlzLl9wcm9jZXNzU3BlY2lhbExpbmVUb29sc0NvbnRlbnRzKGUsaSx0KX1hcHBseVN0dWR5VGVtcGxhdGUoZSx0LGkpe2NvbnN0IHM9bmV3IE1vKHRoaXMuX21vZGVsKCksZSx0LGkpO3RoaXMuYmVnaW5VbmRvTWFjcm8ocy50ZXh0KCkpO2NvbnN0IG49dGhpcy5tX21vZGVsLnBhbmVzKCkucmVkdWNlKCgoZSx0KT0+ZS5jb25jYXQodC5zb3VyY2VzQnlHcm91cCgpLmFsbFdpdGhvdXRNdWx0aXBhbmVXaXRoSGlkZGVuKCkuZmlsdGVyKHJpLmlzTGluZVRvb2wpLmZpbHRlcigoZT0+ZS5vd25lclNvdXJjZSgpIT09dGhpcy5tX21vZGVsLm1haW5TZXJpZXMoKSYmKCFlLnN1cHBvcnRzVGFyZ2V0U2lnbmF0dXJlKCl8fG51bGw9PT1lLnRhcmdldFNpZ25hdHVyZSgpKSkpKSksW10pO3RoaXMucmVtb3ZlU291cmNlcyhuLCExLG51bGwpLHRoaXMuX3B1c2hVbmRvQ29tbWFuZChzKSx0aGlzLmVuZFVuZG9NYWNybygpLCgwLCQuZW1pdCkoImxvYWRfc3R1ZHlfdGVtcGxhdGUiKX1jcmVhdGVTdHVkeUluc2VydGVyKGUsdCxpPXt9KXtjb25zdHtzdHViVGl0bGU6cyxpc092ZXJsYXk6bn09aSxyPXtjcmVhdGVTdHVkeTplPT57Y29uc3R7c3R1ZHlNZXRhSW5mbzppLGlucHV0czpzLHN0dWJUb1JlcGxhY2U6bixwcm9wc1N0YXRlOnIsZm9yY2VPdmVybGF5Om8scGFyZW50U291cmNlczphLHByZWZlcnJlZFByaWNlU2NhbGU6bCxhbGxvd0NoYW5nZUN1cnJlbmN5OmMsYWxsb3dDaGFuZ2VVbml0OmgsYWxsb3dDaGFuZ2VNZXRyaWM6ZCxwYW5lU2l6ZTp1LHRhcmdldFNjYWxlTW9kZTpwLGV2ZW50U291cmNlOl99PWU7aWYoIXRoaXMuY2hlY2tJZkZlYXR1cmVBdmFpbGFibGUoaSx0KSlyZXR1cm4gZl8ubG9nTm9ybWFsKCJDYW5ub3QgaW5zZXJ0IHN0dWR5ICIraS5pZCksbnVsbDsoMCxNdC50cmFja0V2ZW50KSgic3R1ZGllcyIsIlN0dWR5XyIraS5pZCxpLmRlc2NyaXB0aW9uKSwiQ29tcGFyZUB0di1iYXNpY3N0dWRpZXMiPT09aS5pZCYmKDAsTXQudHJhY2tFdmVudCkoImNvbXBhcmUiLCJzeW1ib2w6IitzLnN5bWJvbCksbiYmdGhpcy5tX21vZGVsLnJlbW92ZVNvdXJjZShuKTtjb25zdCBtPXRoaXMuX2luc2VydFN0dWR5KGkscyxyLG8sYSxsLGMsaCxkLHUsbnVsbCxwLF8pO3JldHVybiBtLnN0dWR5LnRoZW4oKGU9PigwLCQuZW1pdCkoInN0dWR5X2V2ZW50IixlLmlkKCksImNyZWF0ZSIpKSksbX0sc3RvcmVGYWlsZWRTdHViOmU9Pnt0aGlzLl9zdG9yZUZhaWxlZFN0dWIoZSl9fTt2b2lkIDAhPT1zJiYoci5jcmVhdGVTdHViPSgpPT50aGlzLm1fbW9kZWwuaW5zZXJ0U3R1ZHlTdHViKHMsbikuaWQoKSxyLnJlbW92ZVN0dWI9ZT0+dGhpcy5tX21vZGVsLnJlbW92ZVN0dWR5U3R1YihlKSk7Y29uc3Qgbz1uZXcgZ3UoZSxyKTtyZXR1cm4gby5zZXRQYXJlbnRTb3VyY2VzKHQpLG99YXBwbHlMaW5lVG9vbFRlbXBsYXRlKGUsdCxpKXt0aGlzLmJlZ2luVW5kb01hY3JvKGkpLHRoaXMuc2F2ZUxpbmVUb29sU3RhdGUoZSxpKTtjb25zdCBzPW5ldyBscChlLHQsaSk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKHMpLHRoaXMuc2F2ZUxpbmVUb29sU3RhdGUoZSxpKSx0aGlzLmVuZFVuZG9NYWNybygpLHRoaXMubW9kZWwoKS51cGRhdGVTb3VyY2UoZSl9YXBwbHlMaW5lVG9vbHNUZW1wbGF0ZShlKXtpZigic291cmNlcyJpbiBlKXtjb25zdHtzb3VyY2VzOnQsZGF0YTppfT1lO3RoaXMuYmVnaW5VbmRvTWFjcm8oZ18pO2Zvcihjb25zdCBlIG9mIHQpdGhpcy5hcHBseUxpbmVUb29sVGVtcGxhdGUoZSxpLG51bGwpO3RoaXMuZW5kVW5kb01hY3JvKCl9ZWxzZXtjb25zdHtwcm9wZXJ0aWVzOnQsZGF0YTppfT1lO2kuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzPSgwLEpsLm1lcmdlSW50ZXJ2YWxWaXNpYmlsaXRpZXNEZWZhdWx0cykoaS5pbnRlcnZhbHNWaXNpYmlsaXRpZXMpLHQuYXBwbHlUZW1wbGF0ZShpLHQuZmFjdG9yeURlZmF1bHRzKCkpLHQuc2F2ZURlZmF1bHRzKCl9fXJlcGxheVN0YXR1cygpe3JldHVybiB0aGlzLm1fbW9kZWwucmVwbGF5U3RhdHVzKCl9c2V0UmVwbGF5U3RhdHVzKGUpe3JldHVybiB0aGlzLm1fbW9kZWwuc2V0UmVwbGF5U3RhdHVzKGUpfWlzSW5SZXBsYXkoKXtyZXR1cm4gdGhpcy5tX21vZGVsLmlzSW5SZXBsYXkoKX1nZXRTeW1ib2xTdHJpbmcoKXtyZXR1cm4gdGhpcy5tX21vZGVsLmdldFN5bWJvbFN0cmluZygpfWludGVydmFsKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5pbnRlcnZhbCgpfW9uSW5SZXBsYXlTdGF0ZUNoYW5nZWQoKXtyZXR1cm4gdGhpcy5tX21vZGVsLm9uSW5SZXBsYXlTdGF0ZUNoYW5nZWQoKX1zd2l0Y2hUb1JlcGxheShlLHQsaSl7CnRoaXMuX3VuZG9IaXN0b3J5LmNsZWFyU3RhY2soKSx0aGlzLm1fbW9kZWwuc3dpdGNoVG9SZXBsYXkoZSx0LGkpfXN3aXRjaFRvUmVhbHRpbWUoKXt0aGlzLl91bmRvSGlzdG9yeS5jbGVhclN0YWNrKCksdGhpcy5tX21vZGVsLnN3aXRjaFRvUmVhbHRpbWUoKX1jYW5DaGFuZ2VSZXNvbHV0aW9uKGUpe3JldHVybiB0aGlzLm1vZGVsKCkuY2FuQ2hhbmdlUmVzb2x1dGlvbihlKX1jYW5DaGFuZ2VTeW1ib2woZSl7cmV0dXJuIHRoaXMubW9kZWwoKS5jYW5DaGFuZ2VTeW1ib2woZSl9b25SZXBsYXlNb2RpZmllZCgpe3JldHVybiB0aGlzLm1vZGVsKCkub25SZXBsYXlNb2RpZmllZCgpfXN0YXJ0Q3VzdG9tTW92aW5nKGUsdCxpKXt0aGlzLl9jdXJyZW50Q3VzdG9tTW92ZUNvbW1hbmQ9bmV3IGpvKHRoaXMubW9kZWwoKSxlLHQsaSl9Y3VzdG9tTW92ZUJlaW5nUHJvY2Vzc2VkKCl7cmV0dXJuIG51bGwhPT10aGlzLl9jdXJyZW50Q3VzdG9tTW92ZUNvbW1hbmR9cHJvY2Vzc0N1c3RvbU1vdmUoZSl7KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW50Q3VzdG9tTW92ZUNvbW1hbmQpLm1vdmUoZSl9ZW5kQ3VzdG9tTW92aW5nKCl7bnVsbCE9PXRoaXMuX2N1cnJlbnRDdXN0b21Nb3ZlQ29tbWFuZCYmdGhpcy5fY3VycmVudEN1c3RvbU1vdmVDb21tYW5kLmhhc0NoYW5nZXMoKSYmKHRoaXMuX3B1c2hVbmRvQ29tbWFuZCh0aGlzLl9jdXJyZW50Q3VzdG9tTW92ZUNvbW1hbmQpLHRoaXMuX2N1cnJlbnRDdXN0b21Nb3ZlQ29tbWFuZD1udWxsKX1zdGF0ZShlKXtyZXR1cm4gdGhpcy5tX21vZGVsLnN0YXRlKGUpfXBhbmVzKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5wYW5lcygpfWNsb25lTGluZVRvb2xzKGUsdCl7aWYoZS5zb21lKChlPT4hKDAsUnUuZW5zdXJlRHJhd2luZ0NyZWF0aW9uQWxsb3dlZCkoZS50b29sbmFtZSwiQ2xvbmUiLCJjaGFydF9kcmF3aW5nX2Nsb25lIikpKSlyZXR1cm5bXTt0aGlzLmJlZ2luVW5kb01hY3JvKE5wKTtjb25zdCBpPW5ldyBlcih0aGlzLl9tb2RlbCgpLGUsdCxOcCk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKGkpO2NvbnN0IHM9aS5uZXdJZHMoKS5tYXAoKGU9PigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5tb2RlbCgpLmRhdGFTb3VyY2VGb3JJZChlKSkpKS5maWx0ZXIoKGU9PjAhPT1lLnNoYXJpbmdNb2RlKCkudmFsdWUoKSkpO3JldHVybiBzLmxlbmd0aCYmdGhpcy5fbW9kZWwoKS5jb3B5VG9PdGhlckNoYXJ0cyhzLCEwKSx0aGlzLmVuZFVuZG9NYWNybygpLHRoaXMuZW1pdEV2ZW50KCJjbG9uZUxpbmVUb29scyIpLGkubmV3SWRzKCl9cmVtb3ZlU291cmNlKGUsdCxpKXt0aGlzLmxpbmVCZWluZ0NyZWF0ZWQoKSE9PWU/dGhpcy5yZW1vdmVTb3VyY2VzKFtlXSx0LE1wLmZvcm1hdCh7dGl0bGU6KDAsdXIuZ2V0VHJhbnNsYXRlZFN0cmluZ0ZvclNvdXJjZSkoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsZSl9KSxpKTp0aGlzLmNhbmNlbENyZWF0aW5nTGluZSgpfXJlbW92ZVNlbGVjdGVkU291cmNlcygpe2NvbnN0IGU9dGhpcy5fbW9kZWwoKS5zZWxlY3Rpb24oKS5kYXRhU291cmNlcygpO2lmKCFlLmxlbmd0aClyZXR1cm47Y29uc3QgdD0oZS5sZW5ndGg+MT9JcDpNcCkuZm9ybWF0KHt0aXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxlWzBdKX0pO3RoaXMucmVtb3ZlU291cmNlcyhlLCExLHQpfXJlbW92ZVNvdXJjZXMoZSx0LGkscyl7c3x8KGU9ZS5maWx0ZXIoKGU9PmUuaXNVc2VyRGVsZXRhYmxlKCkpKSk7Y29uc3Qgbj10aGlzLl9tb2RlbCgpLHI9bi5saW5lVG9vbHNHcm91cE1vZGVsKCk7dGhpcy5iZWdpblVuZG9NYWNybyhpKSxuLnNlbGVjdGlvbk1hY3JvKChzPT57Y29uc3Qgbz1uZXcgTWFwO2UuZm9yRWFjaCgoZT0+e2lmKCgwLHJpLmlzTGluZVRvb2wpKGUpKXtjb25zdCB0PXIuZ3JvdXBGb3JMaW5lVG9vbChlKTtpZihudWxsIT09dCl7Y29uc3QgaT1vLmdldCh0KXx8W107aS5wdXNoKGUpLG8uc2V0KHQsaSl9bnVsbCE9PWUubGlua0tleSgpLnZhbHVlKCkmJigwLFQucmVtb3ZlTGluZVRvb2wpKHt3aXRoVW5kbzohMCxtb2RlbDp0aGlzLm1vZGVsKCksbGlua0tleTooMCxsLmVuc3VyZU5vdE51bGwpKGUubGlua0tleSgpLnZhbHVlKCkpLHN5bWJvbDp0aGlzLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbCgpLGxpbmVUb29sU3RhdGU6ZS5zdGF0ZSghMSksc291cmNlVGl0bGU6KDAsdXIuZ2V0VHJhbnNsYXRlZFN0cmluZ0ZvclNvdXJjZSkoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsZSl9KX19KSk7Y29uc3QgYT1uZXcgdHIuUmVtb3ZlU291cmNlc1VuZG9Db21tYW5kKG4sZSxpKSxjPWEucmVtb3ZlZElkcygpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZChhKSwhdCYmYy5sZW5ndGg+MCYmKDE9PT1jLmxlbmd0aD90aGlzLmVtaXRFdmVudCgicmVtb3ZlU291cmNlIixbY1swXV0pOnRoaXMuZW1pdEV2ZW50KCJyZW1vdmVTb3VyY2VzIixbY10pKX0pLCEwKSx0aGlzLmVuZFVuZG9NYWNybygpfWFzeW5jIHNjcm9sbFRvTGluZVRvb2woZSl7Y29uc3QgdD10aGlzLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZSgpO2lmKG51bGw9PT10KXJldHVybjtjb25zdCBpPWUucG9pbnRzKCkubWFwKChlPT5lLmluZGV4KSkscz10aGlzLnRpbWVTY2FsZSgpLnBvaW50cygpLnJhbmdlKCkudmFsdWUoKTtpZihudWxsPT09cylyZXR1cm47bGV0IG49cy5maXJzdEluZGV4O2NvbnN0IHI9cy5sYXN0SW5kZXgsbz10Lmxlbmd0aCgpLzI7aWYoMD09PWkubGVuZ3RofHxpLnNvbWUoKGU9PnQuY29udGFpbnMoZSkpKSlyZXR1cm47Y29uc3QgYz0oKT0+e2NvbnN0IHQ9ZS5wb2ludHMoKS5tYXAoKGU9PmUuaW5kZXgpKSxpPXQuZmlsdGVyKChlPT5lPD1yKSkucmVkdWNlKCgoZSx0KT0+bnVsbD09PWU/dDpNYXRoLm1heChlLHQpKSxudWxsKTtyZXR1cm4gbnVsbCE9PWk/aTp0LnJlZHVjZSgoKGUsdCk9Pk1hdGgubWluKGUsdCkpKX07bGV0IGg9YygpO2lmKG4tbz5oKXsKY29uc3QgdD1lLnBvaW50cygpLm1hcCgoZT0+ZS50aW1lKSkuZmlsdGVyKGEubm90VW5kZWZpbmVkKS5tYXAoKGU9PjFlMyplKSk7aWYoMD09PXQubGVuZ3RoKXJldHVybjtjb25zdCBpPXQucmVkdWNlKCgoZSx0KT0+TWF0aC5taW4oZSx0KSksdFswXSk7YXdhaXQgdGhpcy5tb2RlbCgpLmdvdG9UaW1lKGkpLGg9YygpO2lmKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy50aW1lU2NhbGUoKS5sb2dpY2FsUmFuZ2UoKSkuY29udGFpbnMoaCkpcmV0dXJuO249KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnRpbWVTY2FsZSgpLnBvaW50cygpLnJhbmdlKCkudmFsdWUoKSkuZmlyc3RJbmRleH1uLW8+aCYmdGhpcy5tYWluU2VyaWVzKCkuc2V0R290b0RhdGVSZXN1bHQoe3RpbWVzdGFtcDooMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMudGltZVNjYWxlKCkucG9pbnRzKCkudmFsdWVBdChuKSksZW9kOiEwfSk7Y29uc3QgZD10aGlzLnRpbWVTY2FsZSgpLndpZHRoKCkvMix1PXRoaXMudGltZVNjYWxlKCkuaW5kZXhUb0Nvb3JkaW5hdGUoaCk7dGhpcy5tb2RlbCgpLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx0aGlzLm1vZGVsKCkuc2V0VGltZVNjYWxlQW5pbWF0aW9uKG5ldyBGbih7ZnJvbTowLHRvOmQtdSxkdXJhdGlvbjpFbi5kdXIsZWFzaW5nOkVuLmVhc2luZ0Z1bmMuZWFzZUluT3V0Q3ViaWN9KSl9bWVyZ2VTb3VyY2VVcChlKXtjb25zdCB0PW5ldyBoci5NZXJnZVVwVW5kb0NvbW1hbmQodGhpcy5fbW9kZWwoKSxlLE9wKTt0aGlzLl9tZXJnZVVubWVyZ2VTb3VyY2UoZSx0KX1tZXJnZVNvdXJjZURvd24oZSl7Y29uc3QgdD1uZXcgaHIuTWVyZ2VEb3duVW5kb0NvbW1hbmQodGhpcy5fbW9kZWwoKSxlLFdwKTt0aGlzLl9tZXJnZVVubWVyZ2VTb3VyY2UoZSx0KX1tZXJnZVRvUGFuZShlLHQsaSl7Y29uc3Qgcz10aGlzLl9tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZih0KSxuPW5ldyBoci5NZXJnZVRvVGFyZ2V0UGFuZSh0aGlzLl9tb2RlbCgpLGUscyxGcCxpKTt0aGlzLl9tZXJnZVVubWVyZ2VTb3VyY2UoZSxuKX11bm1lcmdlU291cmNlVXAoZSl7Y29uc3QgdD1uZXcgbHIodGhpcy5fbW9kZWwoKSxlLEhwKTt0aGlzLl93aXRoS2VlcFdpZGdldFBhbmVQb3NpdGlvbkd1YXJkKCgoKT0+dGhpcy5fbWVyZ2VVbm1lcmdlU291cmNlKGUsdCkpLHQudGV4dCgpKX11bm1lcmdlU291cmNlRG93bihlKXtjb25zdCB0PW5ldyBhcih0aGlzLl9tb2RlbCgpLGUsenApO3RoaXMuX3dpdGhLZWVwV2lkZ2V0UGFuZVBvc2l0aW9uR3VhcmQoKCgpPT50aGlzLl9tZXJnZVVubWVyZ2VTb3VyY2UoZSx0KSksdC50ZXh0KCkpfXVubWVyZ2VUb05ld0JvdHRvbVBhbmUoZSl7Y29uc3QgdD1uZXcgY3IodGhpcy5fbW9kZWwoKSxlLFVwKTt0aGlzLl9tZXJnZVVubWVyZ2VTb3VyY2UoZSx0KX1tb3ZlTGVmdCgpe3RoaXMuYmVnaW5VbmRvTWFjcm8ocl8pLCgwLE9uLmRvQW5pbWF0ZSkoe3RvOnRoaXMubV9tb2RlbC50aW1lU2NhbGUoKS53aWR0aCgpLzUsb25TdGVwOmU9Pnt0aGlzLnN0YXJ0U2Nyb2xsVGltZShlKSx0aGlzLnNjcm9sbFRpbWVUbygwKSx0aGlzLmVuZFNjcm9sbFRpbWUoKX0sb25Db21wbGV0ZTooKT0+e3RoaXMuZW5kVW5kb01hY3JvKCl9fSl9bW92ZVJpZ2h0KCl7dGhpcy5iZWdpblVuZG9NYWNybyhvXyksKDAsT24uZG9BbmltYXRlKSh7dG86dGhpcy5tX21vZGVsLnRpbWVTY2FsZSgpLndpZHRoKCkvNSxvblN0ZXA6ZT0+e3RoaXMuc3RhcnRTY3JvbGxUaW1lKDApLHRoaXMuc2Nyb2xsVGltZVRvKGUpLHRoaXMuZW5kU2Nyb2xsVGltZSgpfSxvbkNvbXBsZXRlOigpPT57dGhpcy5lbmRVbmRvTWFjcm8oKX19KX1hdmFpbGFibGVaT3JkZXJPcGVyYXRpb25zKGUpe2NvbnN0IHQ9dGhpcy5fbW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCksaT1lLmZpbHRlcihyaS5pc0xpbmVUb29sKSxzPWkubWFwKChlPT50Lmdyb3VwRm9yTGluZVRvb2woZSkpKTsoMCxsLmFzc2VydCkobmV3IFNldChzKS5zaXplPD0xLCJDYW5ub3QgbW92ZSBsaW5lIHRvb2xzIGZyb20gZGlmZmVyZW50IGdyb3VwIik7Y29uc3Qgbj0wPT09cy5sZW5ndGg/bnVsbDpzWzBdO2xldCByPXticmluZ0ZvcndhcmRFbmFibGVkOiExLGJyaW5nVG9Gcm9udEVuYWJsZWQ6ITEsc2VuZEJhY2t3YXJkRW5hYmxlZDohMSxzZW5kVG9CYWNrRW5hYmxlZDohMX07Y29uc3Qgbz1uZXcgU2V0KGkpO2Zvcihjb25zdCB0IG9mKDAsZHIuc29ydFNvdXJjZXMpKGUpKXtpZigoMCxyaS5pc0xpbmVUb29sKSh0KSYmbnVsbCE9PW4pe2NvbnN0IGU9KDAsZHIuc29ydFNvdXJjZXMpKG4ubGluZVRvb2xzKCkuZmlsdGVyKChlPT4hby5oYXMoZSl8fGU9PT10KSkpO3I9eV8ocix7YnJpbmdGb3J3YXJkRW5hYmxlZDp0IT09ZVtlLmxlbmd0aC0xXSxicmluZ1RvRnJvbnRFbmFibGVkOnQhPT1lW2UubGVuZ3RoLTFdLHNlbmRCYWNrd2FyZEVuYWJsZWQ6dCE9PWVbMF0sc2VuZFRvQmFja0VuYWJsZWQ6dCE9PWVbMF19KTtjb250aW51ZX1jb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwoKS5wYW5lRm9yU291cmNlKHQpKS5zb3VyY2VzQnlHcm91cCgpLmFsbEV4Y2VwdFNwZWNpYWxTb3VyY2VzKCk7aWYoMD09PWUubGVuZ3RoKWNvbnRpbnVlO2NvbnN0IGk9dC56b3JkZXIoKSxzPWVbMF0uem9yZGVyKCksYT1lW2UubGVuZ3RoLTFdLnpvcmRlcigpO3I9eV8ocix7YnJpbmdGb3J3YXJkRW5hYmxlZDppIT09YSxicmluZ1RvRnJvbnRFbmFibGVkOmkhPT1hLHNlbmRCYWNrd2FyZEVuYWJsZWQ6aSE9PXMsc2VuZFRvQmFja0VuYWJsZWQ6aSE9PXN9KX1yZXR1cm4gcn1zZW5kVG9CYWNrKGUpe2lmKCF0aGlzLmF2YWlsYWJsZVpPcmRlck9wZXJhdGlvbnMoZSkuc2VuZFRvQmFja0VuYWJsZWQpdGhyb3cgbmV3IEVycm9yKCJTZW5kIHRvIGJhY2sgb3BlcmF0aW9uIGlzIHVuYXZhaWxhYmxlIik7bGV0IHQ9bnVsbDtjb25zdCBpPWVbMF07aWYoKDAscmkuaXNMaW5lVG9vbCkoaSkpe2NvbnN0IHM9dGhpcy5fbW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChpKTtpZihudWxsIT09cyl7Y29uc3QgaT1zLmxpbmVUb29scygpCjt0PW5ldyBEcih0aGlzLm1vZGVsKCksKDAsZHIuc29ydFNvdXJjZXMpKGUpLGlbMF0pfX1udWxsPT09dCYmKHQ9bmV3IElyKHRoaXMubW9kZWwoKSwoMCxkci5zb3J0U291cmNlcykoZSkpKSx0aGlzLl9wdXNoVW5kb0NvbW1hbmQodCksdGhpcy5lbWl0RXZlbnQoImNoYW5nZVpPcmRlciIsW2VdKX1icmluZ1RvRnJvbnQoZSl7aWYoIXRoaXMuYXZhaWxhYmxlWk9yZGVyT3BlcmF0aW9ucyhlKS5icmluZ1RvRnJvbnRFbmFibGVkKXRocm93IG5ldyBFcnJvcigiQnJpbmcgdG8gZnJvbnQgb3BlcmF0aW9uIGlzIHVuYXZhaWxhYmxlIik7bGV0IHQ9bnVsbDtjb25zdCBpPWVbMF07aWYoKDAscmkuaXNMaW5lVG9vbCkoaSkpe2NvbnN0IHM9dGhpcy5fbW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChpKTtpZihudWxsIT09cyl7Y29uc3QgaT1zLmxpbmVUb29scygpO3Q9bmV3IEFyKHRoaXMubW9kZWwoKSwoMCxkci5zb3J0U291cmNlcykoZSksaVtpLmxlbmd0aC0xXSl9fW51bGw9PT10JiYodD1uZXcgTXIodGhpcy5tb2RlbCgpLCgwLGRyLnNvcnRTb3VyY2VzKShlKSkpLHRoaXMuX3B1c2hVbmRvQ29tbWFuZCh0KSx0aGlzLmVtaXRFdmVudCgiY2hhbmdlWk9yZGVyIixbZV0pfXNlbmRCYWNrd2FyZChlKXtpZighdGhpcy5hdmFpbGFibGVaT3JkZXJPcGVyYXRpb25zKGUpLnNlbmRCYWNrd2FyZEVuYWJsZWQpdGhyb3cgbmV3IEVycm9yKCJTZW5kIGJhY2t3YXJkIG9wZXJhdGlvbiBpcyB1bmF2YWlsYWJsZSIpO2NvbnN0IHQ9YnAuZm9ybWF0KHt0aXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxlWzBdKX0pO3RoaXMuX3NlbmRCYWNrT3JCcmluZ0ZvcndhcmQodCwoMCxkci5zb3J0U291cmNlcykoZSksKChlLHQpPT5uZXcgUnIodGhpcy5tb2RlbCgpLGUsdCkpKX1icmluZ0ZvcndhcmQoZSl7aWYoIXRoaXMuYXZhaWxhYmxlWk9yZGVyT3BlcmF0aW9ucyhlKS5icmluZ0ZvcndhcmRFbmFibGVkKXRocm93IG5ldyBFcnJvcigiQnJpbmcgZm9yd2FyZCBvcGVyYXRpb24gaXMgdW5hdmFpbGFibGUiKTtjb25zdCB0PXdwLmZvcm1hdCh7dGl0bGU6KDAsdXIuZ2V0VHJhbnNsYXRlZFN0cmluZ0ZvclNvdXJjZSkoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsZVswXSl9KTt0aGlzLl9zZW5kQmFja09yQnJpbmdGb3J3YXJkKHQsKDAsZHIuc29ydFNvdXJjZXMpKGUpLCgoZSx0KT0+bmV3IEJyKHRoaXMubW9kZWwoKSxlLHQpKSl9aW5zZXJ0QWZ0ZXIoZSx0KXtlPSgwLGRyLnNvcnRTb3VyY2VzKShlKTtjb25zdCBpPUNwLmZvcm1hdCh7dGl0bGU6KDAsdXIuZ2V0VHJhbnNsYXRlZFN0cmluZ0ZvclNvdXJjZSkoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsZVswXSksdGFyZ2V0OigwLHVyLmdldFRyYW5zbGF0ZWRTdHJpbmdGb3JTb3VyY2UpKE5uLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLHQpfSk7dGhpcy5faW5zZXJ0QWZ0ZXJPckJlZm9yZShpLGUsdCwoKCk9Pm5ldyBBcih0aGlzLm1vZGVsKCksZSx0KSkpfWluc2VydEJlZm9yZShlLHQpe2U9KDAsZHIuc29ydFNvdXJjZXMpKGUpO2NvbnN0IGk9UHAuZm9ybWF0KHt0aXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxlWzBdKSx0YXJnZXQ6KDAsdXIuZ2V0VHJhbnNsYXRlZFN0cmluZ0ZvclNvdXJjZSkoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsdCl9KTt0aGlzLl9pbnNlcnRBZnRlck9yQmVmb3JlKGksZSx0LCgoKT0+bmV3IERyKHRoaXMubW9kZWwoKSxlLHQpKSl9ZGV0YWNoVG9SaWdodChlLHQpeygwLE10LnRyYWNrRXZlbnQpKCJDaGFydCIsIk1vdmUgdG8gbmV3IHJpZ2h0IHNjYWxlIik7Y29uc3QgaT1HcC5mb3JtYXQoe3RpdGxlOigwLHVyLmdldFRyYW5zbGF0ZWRTdHJpbmdGb3JTb3VyY2UpKE5uLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLGUpfSkscz1uZXcgVm8uTW92ZVRvTmV3UHJpY2VTY2FsZVVuZG9Db21tYW5kKHRoaXMubW9kZWwoKSxlLHQsInJpZ2h0IixpKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyksdGhpcy5lbWl0RXZlbnQoIm1vdmVTb3VyY2UiLFtlXSl9ZGV0YWNoVG9MZWZ0KGUsdCl7KDAsTXQudHJhY2tFdmVudCkoIkNoYXJ0IiwiTW92ZSB0byBuZXcgbGVmdCBzY2FsZSIpO2NvbnN0IGk9anAuZm9ybWF0KHt0aXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxlKX0pLHM9bmV3IFZvLk1vdmVUb05ld1ByaWNlU2NhbGVVbmRvQ29tbWFuZCh0aGlzLm1vZGVsKCksZSx0LCJsZWZ0IixpKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyksdGhpcy5lbWl0RXZlbnQoIm1vdmVTb3VyY2UiLFtlXSl9ZGV0YWNoTm9TY2FsZShlLHQpeygwLE10LnRyYWNrRXZlbnQpKCJDaGFydCIsIk1ha2Ugc291cmNlIG5vIHNjYWxlIik7Y29uc3QgaT1xcC5mb3JtYXQoe3RpdGxlOigwLHVyLmdldFRyYW5zbGF0ZWRTdHJpbmdGb3JTb3VyY2UpKE5uLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLGUpfSkscz1uZXcgVm8uTW92ZVRvTmV3UHJpY2VTY2FsZVVuZG9Db21tYW5kKHRoaXMubW9kZWwoKSxlLHQsIm92ZXJsYXkiLGkpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZChzKSx0aGlzLmVtaXRFdmVudCgibW92ZVNvdXJjZSIsW2VdKX1tb3ZlVG9TY2FsZShlLHQsaSxzLG4peygwLE10LnRyYWNrRXZlbnQpKCJDaGFydCIsIk1vdmUgc291cmNlIHRvIHRhcmdldCBzY2FsZSIpLHRoaXMuYmVnaW5VbmRvTWFjcm8ocyk7Y29uc3Qgcj1uZXcgVm8uTW92ZVRvRXhpc3RpbmdQcmljZVNjYWxlVW5kb0NvbW1hbmQodGhpcy5tb2RlbCgpLGUsdCxpLHMpLG89bj9udWxsOnpuKGUsaSx0aGlzLl9tb2RlbCgpKSxhPW4/bnVsbDooMCxkdS5zb3VyY2VOZXdVbml0T25QaW5uaW5nVG9QcmljZVNjYWxlKShlLGksdGhpcy5fbW9kZWwoKSksbD1uP251bGw6RWgoZSxpLHRoaXMuX21vZGVsKCkpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZChyKSwKbnVsbCE9PW8mJnRoaXMuc2V0UHJpY2VTY2FsZUN1cnJlbmN5KGksbyksbnVsbCE9PWEmJnRoaXMuc2V0UHJpY2VTY2FsZVVuaXQoaSxhKSxudWxsIT09bCYmdGhpcy5zZXRQcmljZVNjYWxlTWV0cmljKGksbCksdGhpcy5lbmRVbmRvTWFjcm8oKSx0aGlzLmVtaXRFdmVudCgibW92ZVNvdXJjZSIsW2VdKX1zZXRMaW5raW5nR3JvdXBJbmRleChlKXtjb25zdCB0PXRoaXMubW9kZWwoKS5saW5raW5nR3JvdXBJbmRleCgpO3RoaXMuX3VuZG9IaXN0b3J5LmJlZ2luVW5kb01hY3JvKG1fKSx0aGlzLl9wdXNoVW5kb0NvbW1hbmQobmV3IHJwKHQsdC52YWx1ZSgpLGUsbV8pKSx0aGlzLl9tb2RlbCgpLnNldFNob3VsZEJlU2F2ZWRFdmVuSWZIaWRkZW4oITApLHRoaXMuX3VuZG9IaXN0b3J5LmVuZFVuZG9NYWNybygpfXN0YXJ0U2Nyb2xsUHJpY2UoZSx0LGkpe3QuaXNBdXRvU2NhbGUoKXx8KHRoaXMuX2luaXRpYWxQcmljZVNjcm9sbFN0YXRlPXQuc3RhdGUoKSx0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxQb3M9aSx0aGlzLl9tb2RlbCgpLnN0YXJ0U2Nyb2xsUHJpY2UoZSx0LGkpKX1zY3JvbGxQcmljZVRvKGUsdCxpKXt0LmlzQXV0b1NjYWxlKCl8fCh0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxTdGF0ZSYmdGhpcy5faW5pdGlhbFByaWNlU2Nyb2xsUG9zJiZNYXRoLmFicyh0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxQb3MtaSk+MjAmJih0aGlzLl9wdXNoVW5kb0NvbW1hbmQobmV3IE9zKHRoaXMubV9tb2RlbCxlLHQsdGhpcy5faW5pdGlhbFByaWNlU2Nyb2xsU3RhdGUsdm9pZCAwLCExKSksdGhpcy5faW5pdGlhbFByaWNlU2Nyb2xsU3RhdGU9bnVsbCx0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxQb3M9bnVsbCksdGhpcy5fbW9kZWwoKS5zY3JvbGxQcmljZVRvKGUsdCxpKSl9ZW5kU2Nyb2xsUHJpY2UoZSx0KXt0LmlzQXV0b1NjYWxlKCl8fCh0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxTdGF0ZT1udWxsLHRoaXMuX2luaXRpYWxQcmljZVNjcm9sbFBvcz1udWxsLHRoaXMuX21vZGVsKCkuZW5kU2Nyb2xsUHJpY2UoZSx0KSl9c3RhcnRTY3JvbGxUaW1lKGUpe3RoaXMubW9kZWwoKS5zdGFydFNjcm9sbFRpbWUoZSl9c2Nyb2xsVGltZVRvKGUpe3RoaXMubW9kZWwoKS5zY3JvbGxUaW1lVG8oZSl9ZW5kU2Nyb2xsVGltZSgpe3RoaXMubW9kZWwoKS5lbmRTY3JvbGxUaW1lKCl9c3RhcnRTY2FsZVRpbWUoZSl7dGhpcy5tb2RlbCgpLnN0YXJ0U2NhbGVUaW1lKGUpfXNjYWxlVGltZVRvKGUpe3RoaXMubW9kZWwoKS5zY2FsZVRpbWVUbyhlKX1lbmRTY2FsZVRpbWUoKXt0aGlzLm1vZGVsKCkuZW5kU2NhbGVUaW1lKCl9cmVzZXRUaW1lU2NhbGUoKXt0aGlzLm1vZGVsKCkucmVzZXRUaW1lU2NhbGUoKX1zdGFydFNjYWxlUHJpY2UoZSx0LGkscyl7dGhpcy5fc2NhbGVQcmljZUluZm89e3ByaWNlU2NhbGVTdGF0ZTp0LnN0YXRlKCksdHJ5TWVyZ2VDb25zZWN1dGl2ZVNjYWxlczpzfSx0aGlzLm1vZGVsKCkuc3RhcnRTY2FsZVByaWNlKGUsdCxpKX1zY2FsZVByaWNlVG8oZSx0LGkpe3RoaXMubW9kZWwoKS5zY2FsZVByaWNlVG8oZSx0LGkpfWVuZFNjYWxlUHJpY2UoZSx0KXt0aGlzLm1vZGVsKCkuZW5kU2NhbGVQcmljZShlLHQpO2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zY2FsZVByaWNlSW5mbyk7KDAscy5kZWZhdWx0KShpLnByaWNlU2NhbGVTdGF0ZSx0LnN0YXRlKCkpfHx0aGlzLl9wdXNoVW5kb0NvbW1hbmQobmV3IE9zKHRoaXMubW9kZWwoKSxlLHQsaS5wcmljZVNjYWxlU3RhdGUsaS50cnlNZXJnZUNvbnNlY3V0aXZlU2NhbGVzKSksdGhpcy5fc2NhbGVQcmljZUluZm89bnVsbH1zdGFydFR3b1BvaW50c1NjYWxlUHJpY2UoZSx0LGkscyxuKXt0aGlzLl9zY2FsZVByaWNlSW5mbz17cHJpY2VTY2FsZVN0YXRlOnQuc3RhdGUoKSx0cnlNZXJnZUNvbnNlY3V0aXZlU2NhbGVzOm59LHRoaXMubW9kZWwoKS5zdGFydFR3b1BvaW50c1NjYWxlUHJpY2UoZSx0LGkscyl9dHdvUG9pbnRzU2NhbGVQcmljZVRvKGUsdCxpLHMpe3RoaXMubW9kZWwoKS50d29Qb2ludHNTY2FsZVByaWNlVG8oZSx0LGkscyl9ZW5kVHdvUG9pbnRzU2NhbGVQcmljZShlLHQpe3RoaXMubW9kZWwoKS5lbmRUd29Qb2ludHNTY2FsZVByaWNlKGUsdCk7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3NjYWxlUHJpY2VJbmZvKTsoMCxzLmRlZmF1bHQpKGkucHJpY2VTY2FsZVN0YXRlLHQuc3RhdGUoKSl8fHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgT3ModGhpcy5tb2RlbCgpLGUsdCxpLnByaWNlU2NhbGVTdGF0ZSxpLnRyeU1lcmdlQ29uc2VjdXRpdmVTY2FsZXMpKSx0aGlzLl9zY2FsZVByaWNlSW5mbz1udWxsfXJlc2V0UHJpY2VTY2FsZShlLHQpe2NvbnN0IGk9dC5zdGF0ZSgpO3RoaXMubW9kZWwoKS5yZXNldFByaWNlU2NhbGUoZSx0KSwoMCxzLmRlZmF1bHQpKGksdC5zdGF0ZSgpKXx8dGhpcy5fcHVzaFVuZG9Db21tYW5kKG5ldyBPcyh0aGlzLm1fbW9kZWwsZSx0LGkpKX1yZWFycmFuZ2VQYW5lcyhlLHQpe2NvbnN0IGk9dGhpcy5tX21vZGVsLnBhbmVzKClbZV0scz1uZXcgenIodGhpcy5fbW9kZWwoKSxlLHQpO2kubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQ/dGhpcy5fcHVzaFVuZG9Db21tYW5kKHMpOnRoaXMuX3dpdGhLZWVwV2lkZ2V0UGFuZVBvc2l0aW9uR3VhcmQoKCgpPT50aGlzLl9wdXNoVW5kb0NvbW1hbmQocykpLHMudGV4dCgpKX1tb3ZlUGFuZShlLHQpe2NvbnN0IGk9dGhpcy5tX21vZGVsLnBhbmVzKClbZV0scz1uZXcgenIodGhpcy5fbW9kZWwoKSxlLHQpO2kubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQ/dGhpcy5fcHVzaFVuZG9Db21tYW5kKHMpOnRoaXMuX3dpdGhLZWVwV2lkZ2V0UGFuZVBvc2l0aW9uR3VhcmQoKCgpPT50aGlzLl9wdXNoVW5kb0NvbW1hbmQocykpLHMudGV4dCgpKX10b2dnbGVDb2xsYXBzZWRQYW5lKGUpe2NvbnN0IHQ9dGhpcy5wYW5lcygpLmZpbmRJbmRleCgodD0+dD09PWUpKTt0PDB8fHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgR24odGhpcy5fbW9kZWwoKSx0KSl9dG9nZ2xlTWF4aW1pemVkUGFuZShlKXsKdGhpcy5fcHVzaFVuZG9Db21tYW5kKG5ldyBxbih0aGlzLl9tb2RlbCgpLGUpKX1yZWFkT25seSgpe3JldHVybiB0aGlzLm1fbW9kZWwucmVhZE9ubHkoKX1jaGVja0lmRmVhdHVyZUF2YWlsYWJsZShlLHQpe2NvbnN0IGk9dC5sZW5ndGg+MCxzPSgwLG5hLmlzRnVuZGFtZW50YWxTdHVkeU1ldGFJbmZvKShlKSxuPSgwLG5hLmlzRm9yZWNhc3RTdHVkeU1ldGFJbmZvKShlKSxyPXRoaXMuY2FuQ3JlYXRlU3R1ZHkoe2lkOmUuaWQsY2hpbGQ6aSxmdW5kYW1lbnRhbDpzLHN0dWJUaXRsZTplLmRlc2NyaXB0aW9ufHxlLnNob3J0RGVzY3JpcHRpb24sZm9yZWNhc3Q6bn0pO3JldHVybiEhci5zdWNjZXNzfHwod18odGhpcy5tb2RlbCgpLHIpLCExKX1hc3luYyBwYXN0ZVNvdXJjZUZyb21DbGlwKGUsdCxpKXtjb25zdCBzPXQ7aWYoIXN8fDA9PT1zLnNvdXJjZXMubGVuZ3RoKXJldHVybiBudWxsO2NvbnN0IG49ZXx8KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLm1vZGVsKCkucGFuZUZvclNvdXJjZSh0aGlzLm1haW5TZXJpZXMoKSkpO2lmKCFzLnNvdXJjZXMuc29tZSgoZT0+ImRyYXdpbmciIT09ZS50eXBlfHxudWxsIT09bi5jbGlwYm9hcmRMaW5lVG9vbE93bmVyU291cmNlKGUuc291cmNlLmlkKSkpKXJldHVybiBudWxsO2NvbnN0IHI9QXJyYXkuZnJvbShuZXcgU2V0KHMuc291cmNlcy5maWx0ZXIoSG4uaXNMaW5lVG9vbENsaXBib2FyZERhdGEpLm1hcCgoZT0+ZS5zb3VyY2UudHlwZSkpKSk7YXdhaXQgUHJvbWlzZS5hbGwoci5tYXAoKGU9PigwLHJpLmluaXRMaW5lVG9vbCkoZSkpKSk7aWYoci5zb21lKChlPT4hKDAsUnUuZW5zdXJlRHJhd2luZ0NyZWF0aW9uQWxsb3dlZCkoZSwiUGFzdGUiLCJjaGFydF9kcmF3aW5nX3Bhc3RlIikpKSlyZXR1cm5bXTt0aGlzLmJlZ2luVW5kb01hY3JvKEtwLmZvcm1hdCh7dGl0bGU6cy50aXRsZX0pKTtjb25zdCBvPVtdLGE9W107Zm9yKGNvbnN0IHQgb2Ygcy5zb3VyY2VzKWlmKCJkcmF3aW5nIj09PXQudHlwZSYmbnVsbCE9PW4uY2xpcGJvYXJkTGluZVRvb2xPd25lclNvdXJjZSh0LnNvdXJjZS5pZCkpe2NvbnN0IGU9YXdhaXQgdGhpcy5wYXN0ZUxpbmVUb29sKG4sdCx2b2lkIDAsdm9pZCAwLCEwKTthLnB1c2goZSksby5wdXNoKGUpfWVsc2Uic3R1ZHkiPT09dC50eXBlJiZ0LnNvdXJjZSYmdC5zb3VyY2UubWV0YUluZm8mJnRoaXMuY2hlY2tJZkZlYXR1cmVBdmFpbGFibGUobmV3IG90LlN0dWR5TWV0YUluZm8odC5zb3VyY2UubWV0YUluZm8pLFtdKSYmby5wdXNoKHRoaXMucGFzdGVTdHVkeSh0LGk/ZTp2b2lkIDApKTtyZXR1cm4gYS5sZW5ndGgmJnRoaXMuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCksYS5mb3JFYWNoKCh0PT57ZS5hZGRJdGVtVG9TZWxlY3Rpb24odCxudWxsKX0pKX0pKSx0aGlzLmVuZFVuZG9NYWNybygpLG99YXN5bmMgcGFzdGVMaW5lVG9vbChlLHQsaSxzLG4pe2F3YWl0KDAsa2kuZW5zdXJlTGluZVRvb2xMb2FkZWQpKHQuc291cmNlLnR5cGUpLHQuc291cmNlLnN0YXRlLmludGVydmFsc1Zpc2liaWxpdGllcz0oMCxKbC5tZXJnZUludGVydmFsVmlzaWJpbGl0aWVzRGVmYXVsdHMpKHQuc291cmNlLnN0YXRlLmludGVydmFsc1Zpc2liaWxpdGllcyksKDAsSmwubWFrZUludGVydmFsc1Zpc2liaWxpdGllc1Zpc2libGVBdEludGVydmFsKSh0LnNvdXJjZS5zdGF0ZS5pbnRlcnZhbHNWaXNpYmlsaXRpZXMsdGhpcy5tb2RlbCgpLm1haW5TZXJpZXMoKS5pbnRlcnZhbE9iaigpLnZhbHVlKCkpO2NvbnN0IHI9bmV3IERvKHRoaXMubW9kZWwoKSx0LGUsaSxzKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocik7Y29uc3Qgbz1yLnNvdXJjZSgpO2lmKG4pe2NvbnN0IHQ9dGhpcy5fcmVzb2x2ZVByZXZpb3VzU2VsZWN0ZWRHcm91cChlKTtudWxsIT09dCYmdGhpcy5fbGluZVRvb2xzR3JvdXBDb250cm9sbGVyLmFkZExpbmVUb29sVG9Hcm91cCh0LG8pfXJldHVybiByLm5lZWRDb3B5VG9PdGhlckNoYXJ0cygpJiZ0aGlzLl9tb2RlbCgpLmNvcHlUb090aGVyQ2hhcnRzKFtvXSwhMCksdGhpcy5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKSxlLmFkZEl0ZW1Ub1NlbGVjdGlvbihvLG51bGwpfSkpLG99cGFzdGVTdHVkeShlLHQpe2NvbnN0IGk9bmV3IHpvKHRoaXMubW9kZWwoKSxlLHQ/LmlkKCkpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZChpKTtjb25zdCBzPSgwLGwuZW5zdXJlTm90TnVsbCkoaS5zdGF0ZSgpKS5pZDtyZXR1cm4oMCwkLmVtaXQpKCJzdHVkeV9ldmVudCIscywicGFzdGVfc3R1ZHkiKSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsKCkuZGF0YVNvdXJjZUZvcklkKHMpKX1yZW1vdmVQYW5lKGUpe2NvbnN0IHQ9dGhpcy5tX21vZGVsLnBhbmVzKClbZV0uZGF0YVNvdXJjZXMoKS5zbGljZSgpO3RoaXMucmVtb3ZlU291cmNlcyh0LCExLFpwKX1jcmVhdGVQYW5lKGUpe3JldHVybiB0aGlzLm1fbW9kZWwuY3JlYXRlUGFuZShlKX1zZXRQcmljZVNjYWxlQ3VycmVuY3koZSx0KXtjb25zdCBpPW5ldyBFbyh0aGlzLm1fbW9kZWwsZSx0LFJwKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQoaSl9c2V0UHJpY2VTY2FsZVVuaXQoZSx0KXtjb25zdCBpPW5ldyBSbyh0aGlzLm1fbW9kZWwsZSx0LFZwKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQoaSl9c2V0UHJpY2VTY2FsZU1ldHJpYyhlLHQpe3tjb25zdCBpPW5ldyBGdSh0aGlzLm1fbW9kZWwsZSx0LEJwKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQoaSl9fXNldFN5bWJvbChlLHQpe2Uuc3ltYm9sU2FtZUFzUmVzb2x2ZWQodCl8fHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgT28oZSx0LHRoaXMuX2NoYXJ0V2lkZ2V0KSl9c2V0UmVzb2x1dGlvbihlLHQpe3guSW50ZXJ2YWwuaXNFcXVhbChlLmludGVydmFsKCksdCl8fHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgbnAoZSx0LHRoaXMuX2NoYXJ0V2lkZ2V0KSl9c3luY0Nyb3NzaGFpcihlLHQpe3RoaXMuX2NoYXJ0V2lkZ2V0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLnN5bmNDcm9zc2hhaXIoZSx0aGlzLl9jaGFydFdpZGdldC5pZCgpLHQpfWxvYWRpbmdTY3JlZW4oKXsKcmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0LnNjcmVlbn1jaGFydExvYWRUaGVtZShlLHQsaSl7Y29uc3Qgcz1uZXcgaXAodGhpcy5tb2RlbCgpLGUsdCk7aT9zLnJlZG8oKTp0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyl9aXNKdXN0Q2xvbmVkQ2hhcnQoKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXQuaXNKdXN0Q2xvbmVkQ2hhcnQoKX1pc011bHRpcGxlTGF5b3V0KCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0LmlzTXVsdGlwbGVMYXlvdXQoKX1hZGRQYW5lU3RyZXRjaEZhY3RvclVuZG9Db21tYW5kKGUsdCxpLHMpe2NvbnN0IG49bmV3IFVvKHRoaXMubW9kZWwoKSxlLHQsaSxzKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQobil9YXBwbHlQcmVmZXJlbmNlcyhlKXt7Y29uc3QgdD1uZXcgU3AodGhpcy5tX21vZGVsLGUpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZCh0KX19cGFuZUZvclNvdXJjZShlKXtyZXR1cm4gdGhpcy5tX21vZGVsLnBhbmVGb3JTb3VyY2UoZSl9ZGVzdHJveSgpe3RoaXMubV9tb2RlbC5kZXN0cm95KCl9bW92ZVNlbGVjdGVkVG9vbHNMZWZ0KCl7cmV0dXJuIHRoaXMuX21vdmVTZWxlY3RlZFRvb2xzKDIpfW1vdmVTZWxlY3RlZFRvb2xzVXAoKXtyZXR1cm4gdGhpcy5fbW92ZVNlbGVjdGVkVG9vbHMoMCl9bW92ZVNlbGVjdGVkVG9vbHNSaWdodCgpe3JldHVybiB0aGlzLl9tb3ZlU2VsZWN0ZWRUb29scygzKX1tb3ZlU2VsZWN0ZWRUb29sc0Rvd24oKXtyZXR1cm4gdGhpcy5fbW92ZVNlbGVjdGVkVG9vbHMoMSl9aW5zZXJ0U3R1ZHlXaXRob3V0Q2hlY2soZSx0LGkscyl7cmV0dXJuIHRoaXMuX2luc2VydFN0dWR5KGUsdCx7fSwhMSxbXSx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLGk/P251bGwsdm9pZCAwLHZvaWQgMCxzKX1zYXZlTGluZVRvb2xTdGF0ZShlLHQpe3RoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgbnIodGhpcy5tX21vZGVsLFtlXSx0KSl9cmVzZXRTY2FsZXMoKXt0aGlzLl9tb2RlbCgpLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx0aGlzLmJlZ2luVW5kb01hY3JvKCRwKSx0aGlzLnJlc2V0VGltZVNjYWxlKCk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5tX21vZGVsLnBhbmVzKCkpe2Zvcihjb25zdCB0IG9mIGUubGVmdFByaWNlU2NhbGVzKCkpdGhpcy5yZXNldFByaWNlU2NhbGUoZSx0KTtmb3IoY29uc3QgdCBvZiBlLnJpZ2h0UHJpY2VTY2FsZXMoKSl0aGlzLnJlc2V0UHJpY2VTY2FsZShlLHQpfXRoaXMuZW5kVW5kb01hY3JvKCksdGhpcy5tX21vZGVsLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSl9c2hhcmVMaW5lVG9vbHMoZSx0KXtjb25zdCBpPTA9PT10P3VfOjE9PT10P3BfOl9fO3RoaXMud2l0aE1hY3JvKGksKCgpPT57MD09PXQmJnRoaXMudW5saW5rTGluZXMoZSksZS5mb3JFYWNoKChpPT57Y29uc3Qgcz10aGlzLm1vZGVsKCkubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9yTGluZVRvb2woaSk7aWYocyl7Y29uc3Qgbj1zLmxpbmVUb29scygpLnNvbWUoKGU9PmUuaXNTeW5jaHJvbml6YWJsZSgpKSk7cy5saW5lVG9vbHMoKS5ldmVyeSgodD0+ZS5pbmNsdWRlcyh0KSkpJiYoMD09PXR8fGkuaXNTeW5jaHJvbml6YWJsZSgpfHwhbil8fHRoaXMubGluZVRvb2xzR3JvdXBDb250cm9sbGVyKCkuZXhjbHVkZUxpbmVUb29sRnJvbUdyb3VwKHMsaSl9dGhpcy5fcHVzaFVuZG9Db21tYW5kKG5ldyBobyhpLHQsdGhpcy5tb2RlbCgpLG51bGwpKX0pKX0pKX1jYW5DcmVhdGVTdHVkeShlLHQpe3JldHVybiB0aGlzLm1vZGVsKCkuY2hhcnRBcGkoKS5jYW5DcmVhdGVTdHVkeShlLHQpfWNoYXJ0V2lkZ2V0Q29sbGVjdGlvbkxvY2soKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkubG9ja31vblN5bWJvbEludGVydmFsQ2hhbmdlZCgpe3JldHVybiB0aGlzLm1fbW9kZWwub25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKX1wYW5lQmVpbmdDcmVhdGVkTGluZU9uKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5wYW5lQmVpbmdDcmVhdGVkTGluZU9uKCl9aW52YWxpZGF0ZShlKXt0aGlzLm1fbW9kZWwuaW52YWxpZGF0ZShlKX1zZXRXaWR0aChlKXt0aGlzLm1fbW9kZWwuc2V0V2lkdGgoZSl9c2V0UGFuZUhlaWdodChlLHQpe3RoaXMubV9tb2RlbC5zZXRQYW5lSGVpZ2h0KGUsdCl9ZGF0YVNvdXJjZUZvcklkKGUpe3JldHVybiB0aGlzLm1fbW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpfWxpbmVCZWluZ0VkaXRlZCgpe3JldHVybiB0aGlzLm1fbW9kZWwubGluZUJlaW5nRWRpdGVkKCl9c291cmNlc0JlaW5nTW92ZWQoKXtyZXR1cm4gdGhpcy5tX21vZGVsLnNvdXJjZXNCZWluZ01vdmVkKCl9Z3JpZFNvdXJjZSgpe3JldHVybiB0aGlzLm1fbW9kZWwuZ3JpZFNvdXJjZSgpfXdhdGVybWFya1NvdXJjZSgpe3JldHVybiB0aGlzLm1fbW9kZWwud2F0ZXJtYXJrU291cmNlKCl9bWFpblNlcmllc1NjYWxlUmF0aW9Qcm9wZXJ0eSgpe3JldHVybiB0aGlzLm1fbW9kZWwubWFpblNlcmllc1NjYWxlUmF0aW9Qcm9wZXJ0eSgpfXNldEhvdmVyZWRTb3VyY2UoZSx0KXt0aGlzLm1fbW9kZWwuc2V0SG92ZXJlZFNvdXJjZShlLHQpfXNldEN1cnJlbnRQb3NpdGlvbihlLHQsaSxzKXt0aGlzLm1fbW9kZWwuc2V0Q3VycmVudFBvc2l0aW9uKGUsdCxpLHMpfXNldEFuZFNhdmVDdXJyZW50UG9zaXRpb24oZSx0LGkscyl7dGhpcy5tX21vZGVsLnNldEFuZFNhdmVDdXJyZW50UG9zaXRpb24oZSx0LGkscyl9dmVyc2lvbigpe3JldHVybiB0aGlzLm1fbW9kZWwudmVyc2lvbigpfXJlc3RhcnQoKXt0aGlzLm1fbW9kZWwucmVzdGFydCgpfWRpc2Nvbm5lY3QoKXt0aGlzLm1fbW9kZWwuZGlzY29ubmVjdCgpfWNhbGN1bGF0ZURlZmF1bHRUYWdzKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5jYWxjdWxhdGVEZWZhdWx0VGFncygpfWRyYXdSaWdodFRoZXJlKGUsdCxpLHMpe2lmKCgwLG0uaXNMaW5lVG9vbE5hbWUpKGUpKXtpZih2b2lkIDA9PT1pKXtjb25zdCBlPXRoaXMuY3Jvc3NoYWlyU291cmNlKCkscz10aGlzLm1vZGVsKCkubWFnbmV0KCkuYWxpZ24oZS5wcmljZSxlLmluZGV4LHQpO2k9e2luZGV4OmUuaW5kZXgscHJpY2U6c319CmNvbnN0IG49dGhpcy5jcmVhdGVMaW5lVG9vbCh7cG9pbnQ6aSxsaW5ldG9vbDplLHBhbmU6dCxhY3Rpb25Tb3VyY2U6cyxrZWVwU2VsZWN0ZWRHcm91cDohMH0pO24mJnRoaXMuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCksZS5hZGRJdGVtVG9TZWxlY3Rpb24obil9KSl9fXVubG9hZERhdGFTb3VyY2VzKCl7Y29uc3QgZT10aGlzLm1vZGVsKCksdD1lLmRhdGFTb3VyY2VzKCkuZmlsdGVyKChlPT4oMCx0aS5pc1N0dWR5KShlKSYmIXNpKGUpfHwoMCxyaS5pc0xpbmVUb29sKShlKXx8KDAsdGkuaXNTdHVkeVN0dWIpKGUpKSk7KDAsYm8ucmVtb3ZlQWxsU291cmNlc1dpdGhEZXBlbmRlbmNpZXMpKGUsdCl9Y2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0LmNoYXJ0RmxvYXRpbmdUb29sdGlwVmlzaWJsZSgpfWNoYXJ0RmxvYXRpbmdUb29sdGlwQWN0aXZlKCl7cmV0dXJuIHRoaXMuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCkmJm51bGwhPT10aGlzLl9jaGFydFdpZGdldC5hY3RpdmVQYW5lV2lkZ2V0KCkudmFsdWUoKX1fbW9kZWwoKXtyZXR1cm4gdGhpcy5tX21vZGVsfV9wdXNoVW5kb0NvbW1hbmQoZSl7dGhpcy5fdW5kb0hpc3RvcnkucHVzaFVuZG9Db21tYW5kKGUpfV9tZXJnZVVubWVyZ2VTb3VyY2UoZSx0KXt0aGlzLmJlZ2luVW5kb01hY3JvKHQudGV4dCgpKTtjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwoKS5wYW5lRm9yU291cmNlKGUpKSxzPW5ldyBTZXQoaS5zb3VyY2VzQnlHcm91cCgpLmxpbmVTb3VyY2VzKCkuZmlsdGVyKCh0PT50Lm93bmVyU291cmNlKCk9PT1lKSkpO3RoaXMuX21vZGVsKCkubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwcygpLmZpbHRlcigoZT0+e2NvbnN0IHQ9ZS5saW5lVG9vbHMoKS5zb21lKChlPT5zLmhhcyhlKSkpLGk9ZS5saW5lVG9vbHMoKS5zb21lKChlPT4hcy5oYXMoZSkpKTtyZXR1cm4gdCYmaX0pKS5mb3JFYWNoKChlPT57dGhpcy5fcHVzaFVuZG9Db21tYW5kKG5ldyBpci5FeGNsdWRlTGluZVRvb2xzRnJvbUdyb3VwVW5kb0NvbW1hbmQodGhpcy5fbW9kZWwoKSxlLGUubGluZVRvb2xzKCkpKX0pKSx0aGlzLl9wdXNoVW5kb0NvbW1hbmQodCksdGhpcy5lbmRVbmRvTWFjcm8oKX1faW5zZXJ0U3R1ZHkoZSx0LGkscyxuLHIsbyxhLGwsYyxoLGQsdSxwKXtjb25zdCBfPVhwLmZvcm1hdCh7dGl0bGU6ZS5kZXNjcmlwdGlvbn0pLG09bmV3IHFvLkluc2VydFN0dWR5Q29tbWFuZCh7Y2hhcnRNb2RlbDp0aGlzLm1vZGVsKCksc3R1ZHlNZXRhSW5mbzplLGlucHV0czp0LHByb3BzOmksYWRkQXNPdmVybGF5OnMscGFyZW50U291cmNlczpuLHByZWZlcnJlZFByaWNlU2NhbGU6cixhbGxvd0NoYW5nZUN1cnJlbmN5Om8sYWxsb3dDaGFuZ2VVbml0OmEsYWxsb3dDaGFuZ2VNZXRyaWM6bCxwYW5lU2l6ZTpjLHRhcmdldFpPcmRlcjpoPz9udWxsLHRhcmdldFNjYWxlTW9kZTpkLHN0dWR5SWQ6cCx1bmRvVGV4dDpfLGV2ZW50U291cmNlOnV9KTtyZXR1cm4gdGhpcy5fcHVzaFVuZG9Db21tYW5kKG0pLG0uaW5zZXJ0ZWRTdHVkeSgpfV9zdG9yZUZhaWxlZFN0dWIoZSl7Y29uc3QgdD1YcC5mb3JtYXQoe3RpdGxlOmUudGl0bGUoKX0pO3RoaXMuYmVnaW5VbmRvTWFjcm8odCk7Y29uc3QgaT1uZXcgYXAodGhpcy5tb2RlbCgpLGUsdCk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKGkpLHRoaXMuZW5kVW5kb01hY3JvKCl9X3Jlc29sdmVQcmV2aW91c1NlbGVjdGVkR3JvdXAoZSl7Y29uc3QgdD10aGlzLl9tb2RlbCgpLmxpbmVUb29sc0dyb3VwTW9kZWwoKSxpPWU9PigwLFhyLmlzTGluZVRvb2xzR3JvdXApKGUpP3RoaXMuX21vZGVsKCkucGFuZUZvckxpbmVUb29sc0dyb3VwKGUpOnRoaXMuX21vZGVsKCkucGFuZUZvclNvdXJjZShlKSxzPXQ9PmkodCk9PT1lLG49ZT0+KDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoZSl8fCgwLHJpLmlzTGluZVRvb2wpKGUpJiYhIXQuZ3JvdXBGb3JMaW5lVG9vbChlKSxyPXRoaXMuX21vZGVsKCkuc2VsZWN0aW9uKCkuYWxsSXRlbXNTb3J0ZWQoKSxvPXIubGVuZ3RoP3I6KHRoaXMuX21vZGVsKCkucHJldmlvdXNTZWxlY3RlZERyYXdpbmdPckdyb3VwSWRzKCk/P1tdKS5tYXAoKGU9PnQuZ3JvdXBGb3JJZChlKT8/dGhpcy5fbW9kZWwoKS5kYXRhU291cmNlRm9ySWQoZSkpKS5maWx0ZXIoYS5pc0V4aXN0ZW50KTtyZXR1cm4oZT0+e2NvbnN0IGk9ZS5maWx0ZXIobikuZmlsdGVyKHMpO2lmKCFpLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCByPWlbaS5sZW5ndGgtMV07cmV0dXJuKDAsWHIuaXNMaW5lVG9vbHNHcm91cCkocik/cjp0Lmdyb3VwRm9yTGluZVRvb2wocil9KShvKX1hc3luYyBfcHJvY2Vzc1NwZWNpYWxMaW5lVG9vbHNDb250ZW50cyhlLHQsaSl7aWYodD10fHxhd2FpdCBlLnJlYWQoKSx3aW5kb3cudXNlci5pZCYmdC5maWxlcyl7Y29uc3QgZT1BcnJheS5mcm9tKHQuZmlsZXMpLmZpbmQoanMuYmxvYkltYWdlRmlsdGVyKTtpZihlKXtjb25zdCB0PVVSTC5jcmVhdGVPYmplY3RVUkwoZSkscz0oMCxqcy51cGxvYWRJbWFnZSkoZSk7cmV0dXJuIHZvaWQgMD09PWkmJihpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwoKS5wYW5lRm9yU291cmNlKHRoaXMubWFpblNlcmllcygpKSkpLGF3YWl0KDAsa2kuZW5zdXJlTGluZVRvb2xMb2FkZWQpKCJMaW5lVG9vbEltYWdlIiksdGhpcy5wYXN0ZUltYWdlQXNMaW5lVG9vbChzLHQsaSksdm9pZCBhd2FpdCBzfX10LnRleHQmJih3aW5kb3cudXNlci5pZCYmIVNfJiYoMCxWdS5pc1R3aXR0ZXJVcmwpKHQudGV4dCk/KDAsVnUuY3JlYXRlVHdlZXRMaW5lVG9vbEJ5VXJsKSh0LnRleHQsdGhpcywhMCk6d2luZG93LnVzZXIuaWQmJigwLE51LmlzSWRlYVVybCkodC50ZXh0KT8oMCxOdS5jcmVhdGVJZGVhTGluZVRvb2xCeVVybCkodC50ZXh0LHRoaXMsITApOmFzeW5jIGZ1bmN0aW9uKGUsdCxpKXtpZihudWxsPT09dC50aW1lU2NhbGUoKS5sb2dpY2FsUmFuZ2UoKSlyZXR1cm4gbnVsbDtjb25zdCBzPXQubWFpblNlcmllcygpLG49aT8/KDAsCmwuZW5zdXJlTm90TnVsbCkodC5tb2RlbCgpLnBhbmVGb3JTb3VyY2UocykpLHI9bi5kZWZhdWx0UHJpY2VTY2FsZSgpLG89KDAsbC5lbnN1cmVOb3ROdWxsKShyLm1haW5Tb3VyY2UoKSksYT10LnRpbWVTY2FsZSgpLGM9KDAsbC5lbnN1cmVOb3ROdWxsKShvLmZpcnN0VmFsdWUoKSksaD1hLmNvb3JkaW5hdGVUb0luZGV4KHQudGltZVNjYWxlKCkud2lkdGgoKS8yKSxkPW4uaGVpZ2h0KCkvMix1PXtwcmljZTpyLmNvb3JkaW5hdGVUb1ByaWNlKGQsYyksdGltZV90OigwLGwuZW5zdXJlTm90TnVsbCkoYS5pbmRleFRvVGltZVBvaW50KGgpKSxvZmZzZXQ6MH0scD1uLm5ld0xpbmVUb29sWk9yZGVyKCEwKSxfPUJ1LkxpbmVUb29sVGV4dC5jcmVhdGVQcm9wZXJ0aWVzKHQubW9kZWwoKS5iYWNrZ3JvdW5kVGhlbWUoKS5zcGF3bk93bmVyc2hpcCgpKSxtPV8uc3RhdGUoKTtfLmRlc3Ryb3koKSxtLnRleHQ9ZTtjb25zdCBnPXt0eXBlOiJkcmF3aW5nIixzb3VyY2U6e2lkOigwLGx0LnJhbmRvbUhhc2hOKSg2KSx6b3JkZXI6cCx0eXBlOiJMaW5lVG9vbFRleHQiLHN0YXRlOm0sc3ltYm9sOm8uc3ltYm9sU291cmNlKCkuc3ltYm9sKCksb3duZXJTb3VyY2U6by5pZCgpLHBvaW50czpbdV19LGdlb21ldHJ5OltdLG1vZGVsSWQ6dC5tb2RlbCgpLmlkKCksY2VudGVyZWRPbkNoYXJ0OiEwfSxmPWF3YWl0IHQucGFzdGVMaW5lVG9vbChuLGcsITEsITEpO1Euc2V0VmFsdWUoImhpbnQucGFzdGVUZXh0IiwhMCx7Zm9yY2VGbHVzaDohMH0pfSh0LnRleHQsdGhpcyxpKSl9X2luc2VydEFmdGVyT3JCZWZvcmUoZSx0LGkscyl7Y29uc3Qgbj0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsKCkucGFuZUZvclNvdXJjZShpKSk7aWYodC5zb21lKChlPT4oMCxyaS5pc0xpbmVUb29sKShlKSYmdGhpcy5fbW9kZWwoKS5wYW5lRm9yU291cmNlKGUpIT09bikpKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGluc2VydCBsaW5lIHRvb2wgYWZ0ZXIgdGFyZ2V0IG9uIGFub3RoZXIgcGFuZSIpO3RoaXMuYmVnaW5VbmRvTWFjcm8oZSksdC5mb3JFYWNoKChlPT57KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLm1vZGVsKCkucGFuZUZvclNvdXJjZShlKSkhPT1uJiZ0aGlzLm1lcmdlVG9QYW5lKGUsbil9KSk7Y29uc3Qgcj1zKCk7dGhpcy5fd2l0aEtlZXBXaWRnZXRQYW5lUG9zaXRpb25HdWFyZCgoKCk9PnRoaXMuX3B1c2hVbmRvQ29tbWFuZChyKSksci50ZXh0KCkpLHRoaXMuZW1pdEV2ZW50KCJjaGFuZ2VaT3JkZXIiLFt0XSksdGhpcy5lbmRVbmRvTWFjcm8oKX1fc2VuZEJhY2tPckJyaW5nRm9yd2FyZChlLHQsaSl7Y29uc3Qgcz1uZXcgTWFwO3QuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbCgpLnBhbmVGb3JTb3VyY2UoZSkpLGk9cy5nZXQodCl8fFtdO2kucHVzaChlKSxzLnNldCh0LGkpfSkpLHRoaXMuYmVnaW5VbmRvTWFjcm8oZSkscy5mb3JFYWNoKCgoZSx0KT0+e3RoaXMuX3B1c2hVbmRvQ29tbWFuZChpKHQsZSkpfSkpLHRoaXMuZW5kVW5kb01hY3JvKCksdGhpcy5lbWl0RXZlbnQoImNoYW5nZVpPcmRlciIsW3RdKX1fbW92ZVNlbGVjdGVkVG9vbHMoZSl7Y29uc3QgdD10aGlzLm1vZGVsKCkuc2VsZWN0aW9uKCkubGluZURhdGFTb3VyY2VzKCkuZmlsdGVyKChlPT4hZS5pc1NvdXJjZUhpZGRlbigpKSk7aWYoMD09PXQubGVuZ3RoKXJldHVybiExO2lmKCgwLFQubG9ja0RyYXdpbmdzKSgpLnZhbHVlKCkpcmV0dXJuITA7Y29uc3QgaT10aGlzLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09aSlyZXR1cm4hMTtjb25zdCBzPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IE1hcDtmb3IoY29uc3QgaSBvZiBlKXtjb25zdCBlPWkub3duZXJTb3VyY2UoKTtpZihudWxsPT09ZSljb250aW51ZTtsZXQgcz10LmdldChlKTtpZih2b2lkIDA9PT1zKXtjb25zdCBuPWUucHJpY2VTY2FsZSgpLHI9ZS5wcmljZVN0ZXAoKSxvPWUuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1ufHxudWxsPT09cnx8bnVsbD09PW8pY29udGludWU7aWYobnVsbD09PW4ucHJpY2VSYW5nZSgpKWNvbnRpbnVlO3M9e3NvdXJjZXM6W10scHJpY2VTY2FsZTpuLHByaWNlU3RlcDpyLHN0YXJ0UHJpY2U6aS5wb2ludHMoKVswXS5wcmljZSxmaXJzdFZhbHVlOm99LHQuc2V0KGUscyl9cy5zb3VyY2VzLnB1c2goaSl9cmV0dXJuIHR9KHQpO2lmKDA9PT1zLnNpemUpcmV0dXJuITE7dGhpcy5iZWdpblVuZG9NYWNybyhrcCk7Y29uc3Qgbj1pLmZpcnN0QmFyKCkscj10aGlzLnRpbWVTY2FsZSgpLmluZGV4VG9Db29yZGluYXRlKG4pLG89bisoMz09PWU/MToyPT09ZT8tMTowKSxhPXRoaXMudGltZVNjYWxlKCkuaW5kZXhUb0Nvb3JkaW5hdGUobyk7cmV0dXJuIFQuaXNEaXJlY3Rpb25hbE1vdmVtZW50QWN0aXZlLnNldFZhbHVlKCEwKSxzLmZvckVhY2goKHQ9Pntjb25zdHtzdGFydFByaWNlOmkscHJpY2VTdGVwOnMscHJpY2VTY2FsZTpsLGZpcnN0VmFsdWU6Y309dCxoPWkrKDA9PT1lP3M6MT09PWU/LXM6MCksZD1sLnByaWNlVG9Db29yZGluYXRlKGksYyksdT1sLnByaWNlVG9Db29yZGluYXRlKGgsYykscD17bG9naWNhbDp7aW5kZXg6bixwcmljZTppfSxzY3JlZW46bmV3IFB0LlBvaW50KHIsZCl9LF89e2xvZ2ljYWw6e2luZGV4Om8scHJpY2U6aH0sc2NyZWVuOm5ldyBQdC5Qb2ludChhLHUpfTt0aGlzLnN0YXJ0TW92aW5nU291cmNlcyh0LnNvdXJjZXMscCxudWxsKSx0aGlzLm1vdmVTb3VyY2VzKF8pLHRoaXMuZW5kTW92aW5nU291cmNlKCExLCEwKX0pKSxULmlzRGlyZWN0aW9uYWxNb3ZlbWVudEFjdGl2ZS5zZXRWYWx1ZSghMSksdGhpcy5lbmRVbmRvTWFjcm8oKSwhMH1fcmVzdG9yZVN0dWR5RmFjdG9yeURlZmF1bHRzKGUpe2NvbnN0IHQ9bmV3IFF1KHRoaXMubV9tb2RlbCxlKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQodCl9X3Jlc3RvcmVMaW5lVG9vbEZhY3RvcnlEZWZhdWx0cyhlKXt0aGlzLmJlZ2luVW5kb01hY3JvKERwKSx0aGlzLnNhdmVMaW5lVG9vbFN0YXRlKGUsRHApO2NvbnN0IHQ9bmV3IFp1KHRoaXMubV9tb2RlbCxlLnByb3BlcnRpZXMoKSxEcCkKO3RoaXMuX3B1c2hVbmRvQ29tbWFuZCh0KSx0aGlzLnNhdmVMaW5lVG9vbFN0YXRlKGUsRHApLHRoaXMuZW5kVW5kb01hY3JvKCksdGhpcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZShlKX1fcmVtb3ZlQWxsRHJhd2luZ1Rvb2xzSW1wbChlLHQpe3RoaXMuc2VsZWN0aW9uTWFjcm8oKCgpPT57dGhpcy5saW5lQmVpbmdDcmVhdGVkKCkmJnRoaXMuY2FuY2VsQ3JlYXRpbmdMaW5lKCk7dGhpcy5kYXRhU291cmNlcygpLmZpbHRlcihyaS5pc0xpbmVUb29sKS5maWx0ZXIoKGU9PmUuaXNBY3R1YWxTeW1ib2woKSYmZS5pc1VzZXJEZWxldGFibGUoKSkpLmZpbHRlcigoZT0+IXR8fHQ9PT1lLnRvb2xuYW1lKSkuZmlsdGVyKCh0PT5lfHwhdC5pc0xvY2tlZD8uKCkpKS5mb3JFYWNoKChlPT50aGlzLnJlbW92ZVNvdXJjZShlLCExKSkpfSksITApfV9yZW1vdmVBbGxTdHVkaWVzSW1wbCgpe2NvbnN0IGU9dGhpcy5kYXRhU291cmNlcygpLHQ9ZS5maWx0ZXIodGkuaXNTdHVkeSkuZmlsdGVyKChlPT4hZS5pc0NoaWxkU3R1ZHkoKSYmZS5yZW1vdmVCeVJlbW92ZUFsbFN0dWRpZXMoKSkpLGk9ZS5maWx0ZXIodGkuaXNTdHVkeVN0dWIpO3QuY29uY2F0KGkpLmZvckVhY2goKGU9PnRoaXMucmVtb3ZlU291cmNlKGUsITEpKSl9X3dpdGhLZWVwV2lkZ2V0UGFuZVBvc2l0aW9uR3VhcmQoZSx0KXtjb25zdCBpPXRoaXMubV9tb2RlbC5wYW5lcygpLmZpbmRJbmRleCgoZT0+ZS5tb2RlKCk9PT1NLlBhbmVNb2RlLldpZGdldCkpLHM9dGhpcy5tX21vZGVsLnBhbmVzKCkuZmluZEluZGV4KChlPT5lLmNvbnRhaW5zTWFpblNlcmllcygpKSk7aWYoLTE9PT1pfHwtMT09PXMpcmV0dXJuIHZvaWQgZSgpO2NvbnN0IG49aT5zO3RoaXMuYmVnaW5VbmRvTWFjcm8odCksZSgpO2NvbnN0IHI9dGhpcy5tX21vZGVsLnBhbmVzKCkuZmluZEluZGV4KChlPT5lLm1vZGUoKT09PU0uUGFuZU1vZGUuV2lkZ2V0KSksbz10aGlzLm1fbW9kZWwucGFuZXMoKS5maW5kSW5kZXgoKGU9PmUuY29udGFpbnNNYWluU2VyaWVzKCkpKTtpZihvIT09cyl7Y29uc3QgZT1uP28rMTpvO3RoaXMubW92ZVBhbmUocixlPnI/ZS0xOmUpfXRoaXMuZW5kVW5kb01hY3JvKCl9fXZhciBQXz1pKDY5MjY0KSxUXz1pKDY5NzQ3MikseF89aSgyMTYwODMpO2NsYXNzIE1fe2NvbnN0cnVjdG9yKCl7dGhpcy5fc2Vzc2lvbj17c3RhcnREYXRlOihuZXcgRGF0ZSkudG9JU09TdHJpbmcoKSx1cmw6d2luZG93LmxvY2F0aW9uLmhyZWYsZW50cmllczpbXX19YWRkUGVyc2lzdGVudExvZ0VudHJ5KGUsdCxpKXt0aGlzLl9zZXNzaW9uLmVudHJpZXMucHVzaCh7ZGF0ZToobmV3IERhdGUpLnRvSVNPU3RyaW5nKCksbGV2ZWw6dCxtZXNzYWdlOmUsY2F0ZWdvcnk6aX0pfWFzeW5jIGdldExhc3RTZXNzaW9ucyhlKXtyZXR1cm5bdGhpcy5fc2Vzc2lvbl19cGVuZGluZ0VudHJpZXMoKXtyZXR1cm4gdGhpcy5fc2Vzc2lvbi5lbnRyaWVzfX12YXIgSV89aSg3Mzc1MjMpLExfPWkoNzI4NTgzKSxBXz1pKDI5MDMyNCk7Y29uc3Qga189cC50KG51bGwsdm9pZCAwLGkoNzQyNjQyKSk7ZnVuY3Rpb24gRF8oZSl7aWYoInJlcGxhY2VkX3RvX2V4Y2hhbmdlIj09PWUudHlwZSlyZXR1cm57dGV4dDprXyx3YXJuaW5nSWNvbjpMXyx3YXJuaW5nQ2xhc3NOYW1lOkFfLmljb24sd2FybmluZ1R5cGU6Im5vdGFjY3VyYXRlIixzb2x1dGlvbklkOmRlLnNvbHV0aW9uSWRzLldIQVRfSVNfQ0JPRV9CWlhfRVhDSEFOR0V9fWNsYXNzIEVfe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2FjdGl2ZUhpbnQ9bnVsbCx0aGlzLl9kZWZlcnJlZFByb21pc2U9bnVsbCx0aGlzLl9jaGFydD1lO2UubW9kZWwoKS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xSZXNvbHZlZCl9ZGVzdHJveSgpe3RoaXMuX2Rlc3Ryb3lBY3RpdmVIaW50KCk7dGhpcy5fY2hhcnQubW9kZWwoKS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbFJlc29sdmVkKX1fZGVzdHJveUFjdGl2ZUhpbnQoKXtudWxsIT09dGhpcy5fYWN0aXZlSGludCYmKHRoaXMuX2FjdGl2ZUhpbnQuZGVzdHJveSgpLHRoaXMuX2FjdGl2ZUhpbnQ9bnVsbCksdGhpcy5fZGVmZXJyZWRQcm9taXNlPW51bGx9YXN5bmMgX2NyZWF0ZUhpbnQoKXtpZihudWxsPT09dGhpcy5fZGVmZXJyZWRQcm9taXNlKXtjb25zdCBlPSgwLEF0LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKTt0aGlzLl9kZWZlcnJlZFByb21pc2U9ZSxQcm9taXNlLmFsbChbaS5lKDIwNTc2KSxpLmUoMjkyOTYpLGkuZSg2MDA2MiksaS5lKDk0MDU0KSxpLmUoNDAxNjgpLGkuZSgzMjM4NyksaS5lKDM2ODA0KV0pLnRoZW4oaS5iaW5kKGksNDQ4MTYwKSkudGhlbigodD0+e2UucmVzb2x2ZShuZXcgdC5DaGFydFdhcm5pbmdIaW50UmVuZGVyZXIodGhpcy5fY2hhcnQpKX0pKX1yZXR1cm4gdGhpcy5fZGVmZXJyZWRQcm9taXNlLnByb21pc2V9X29uU3ltYm9sUmVzb2x2ZWQoZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PSgwLElfLmZpcnN0UmVwbGFjZWRCeUJhdHNFeGNoYW5nZSkoZSk7cmV0dXJuIG51bGwhPT10P3t0eXBlOiJyZXBsYWNlZF90b19leGNoYW5nZSIsZXhjaGFuZ2U6dH06bnVsbH0oZSksaT10JiZmdW5jdGlvbihlKXtyZXR1cm5gd2FybmluZy5ub1N1YnNjXyR7ZS5leGNoYW5nZX1gfSh0KTtpZihudWxsPT09dHx8bnVsbD09PWl8fEJvb2xlYW4oUS5nZXRCb29sKGkpKSlyZXR1cm4gdm9pZCB0aGlzLl9kZXN0cm95QWN0aXZlSGludCgpO2NvbnN0IHM9ey4uLkRfKHQpLG9uQ2xvc2U6KCk9PntRLnNldFZhbHVlKGksITAse2ZvcmNlRmx1c2g6ITB9KSx0aGlzLl9kZXN0cm95QWN0aXZlSGludCgpfX07bnVsbCE9PXRoaXMuX2FjdGl2ZUhpbnQ/dGhpcy5fYWN0aXZlSGludC5zaG93KHMpOnRoaXMuX2NyZWF0ZUhpbnQoKS50aGVuKChlPT57dGhpcy5fYWN0aXZlSGludD1lLHRoaXMuX2FjdGl2ZUhpbnQuc2hvdyhzKX0pKX19dmFyIFJfPWkoOTc2NDk5KSxWXz1pKDY0MTAzNSk7cC50KG51bGwsdm9pZCAwLGkoNTMzOTU2KSk7Y2xhc3MgQl97CmNvbnN0cnVjdG9yKGUpe3RoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbD1udWxsLHRoaXMuX2luaXRpYWxTeW1ib2xFcnJvcj0hMSx0aGlzLl9jaGFydD1lLHRoaXMuX2NoYXJ0LndpdGhNb2RlbCh0aGlzLHRoaXMuX2Nvbm5lY3RUb01vZGVsKX1fZ2VuZXJhdGVEaWFsb2dDb250ZW50KGUpe2NvbnN0IHQ9dGhpcy5fZ2V0UHJvU3ltYm9sKCksaT1uZXcgVVJMKCJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20vY2hhcnQvIik7aS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJzeW1ib2wiLHQpLGkuc2VhcmNoUGFyYW1zLmFwcGVuZCgidXRtX3NvdXJjZSIsInd3dy50cmFkaW5ndmlldy5jb20iKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9tZWRpdW0iLCJ3aWRnZXQiKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9jYW1wYWlnbiIsImNoYXJ0IiksaS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJ1dG1fdGVybSIsdCk7cmV0dXJuIGUuZm9ybWF0KHtsaW5rU3RhcnQ6YDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSIke2kudG9TdHJpbmcoKX0iPmAsbGlua0VuZDoiPC9hPiJ9KX1hc3luYyBfc2hvd0RpYWxvZyhlKXsoYXdhaXQoMCxWXy5jcmVhdGVOb3RpY2VEaWFsb2cpKHtjb250ZW50OmV9KSkub3BlbigpfV9yZXZlcnRTeW1ib2xDaGFuZ2UoKXtjb25zdCBlPXRoaXMuX2NoYXJ0LmRlZmF1bHRTeW1ib2woKSx0PXRoaXMuX2dldFByb1N5bWJvbCgpO2xldCBpO2k9dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sP3RoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbC5wcm9fbmFtZTplIT09dD9lOiJBQVBMIix0aGlzLl9jaGFydC5zZXRTeW1ib2woaSl9X2dldFByb1N5bWJvbCgpe3JldHVybiB0aGlzLl9jaGFydC5tb2RlbCgpLm1haW5TZXJpZXMoKS5wcm9TeW1ib2woKX1fZ2V0U3ltYm9sKCl7cmV0dXJuIHRoaXMuX2NoYXJ0Lm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbEluZm8oKX1fY29ubmVjdFRvTW9kZWwoKXtjb25zdCBlPXRoaXMuX2NoYXJ0Lm1vZGVsKCkubWFpblNlcmllcygpO2UuZGF0YUV2ZW50cygpLnN5bWJvbEVycm9yKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT57bnVsbD09PXRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbCYmKHRoaXMuX2luaXRpYWxTeW1ib2xFcnJvcj0hMCl9KSwhMCksZS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbFJlc29sdmVkKX1fb25TeW1ib2xSZXNvbHZlZCgpe2NvbnN0IGU9bnVsbD09PXRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbCYmIXRoaXMuX2luaXRpYWxTeW1ib2xFcnJvcix0PXRoaXMuX2dldFN5bWJvbCgpO2lmKCEodGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sJiZ0JiZ0aGlzLl9sYXN0UmVzb2x2ZWRTeW1ib2wucHJvX25hbWU9PT10LnByb19uYW1lKSYmKDAsUGUuaXNGZWF0dXJlRW5hYmxlZCkoImVuYWJsZV9hc3hfc3ltYm9sX3Jlc3RyaWN0aW9uIikmJiFlJiYiQVNYIj09PXQ/LmV4Y2hhbmdlKXtjb25zdCBlPXAudChudWxsLHZvaWQgMCxpKDM2NzgwMCkpLHQ9dGhpcy5fZ2VuZXJhdGVEaWFsb2dDb250ZW50KGUpO3JldHVybiB0aGlzLl9zaG93RGlhbG9nKHQpLHZvaWQgdGhpcy5fcmV2ZXJ0U3ltYm9sQ2hhbmdlKCl9dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sPXRoaXMuX2dldFN5bWJvbCgpfX1mdW5jdGlvbiBOXygpe2NvbnN0IGU9d2luZG93LndpZGdldGJhcjtpZihlKXtjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkoZS5zZXRQYWdlKCJvYmplY3RfdHJlZSIpKSxpPSgwLGwuZW5zdXJlTm90TnVsbCkodC53aWRnZXQoIm9iamVjdF90cmVlIikpOygwLGwuZW5zdXJlRGVmaW5lZCkoaS5wcm9wZXJ0aWVzKS5zZXRWYWx1ZSh7c2VsZWN0ZWRQYWdlOiJkYXRhLXdpbmRvdyJ9KX1lbHNlO31jb25zdCBPXz0idHJhZGVkR3JvdXA6IixXXz1gJHtPX31QbGFjZU9yZGVyYCxGXz1gJHtPX31FZGl0T3JkZXJgO3ZhciBIXz1pKDY2NDM3Nik7Y29uc3Qgel89cC50KG51bGwsdm9pZCAwLGkoNTMzOTU2KSk7Y2xhc3MgVV97Y29uc3RydWN0b3IoZSl7dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sPW51bGwsdGhpcy5fY2hhcnQ9ZSx0aGlzLl9jaGFydC53aXRoTW9kZWwodGhpcyx0aGlzLl9jb25uZWN0VG9Nb2RlbCl9X2dldFBvcHVwQ29udGVudCgpe2NvbnN0IGU9dGhpcy5fZ2V0UHJvU3ltYm9sKCksdD1uZXcgVVJMKCJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20vY2hhcnQvIik7dC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJzeW1ib2wiLGUpLHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgidXRtX3NvdXJjZSIsInd3dy50cmFkaW5ndmlldy5jb20iKSx0LnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9tZWRpdW0iLCJ3aWRnZXQiKSx0LnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9jYW1wYWlnbiIsImNoYXJ0IiksdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJ1dG1fdGVybSIsZSk7cmV0dXJuIHpfLmZvcm1hdCh7bGlua1N0YXJ0OmA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iJHt0LnRvU3RyaW5nKCl9Ij5gLGxpbmtFbmQ6IjwvYT4ifSl9X29uUG9wdXBDbG9zZWQoKXtjb25zdCBlPXRoaXMuX2NoYXJ0LmRlZmF1bHRTeW1ib2woKSx0PXRoaXMuX2dldFN5bWJvbCgpO2xldCBpO2k9dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sP3RoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbDplIT09dD9lOiJBQVBMIix0aGlzLl9jaGFydC5zZXRTeW1ib2woaSl9X2dldFByb1N5bWJvbCgpe3JldHVybiB0aGlzLl9jaGFydC5tb2RlbCgpLm1haW5TZXJpZXMoKS5wcm9TeW1ib2woKX1fZ2V0U3ltYm9sKCl7cmV0dXJuIHRoaXMuX2NoYXJ0Lm1vZGVsKCkubWFpblNlcmllcygpLmFjdHVhbFN5bWJvbCgpfV9jb25uZWN0VG9Nb2RlbCgpe2NvbnN0IGU9dGhpcy5fY2hhcnQubW9kZWwoKS5tYWluU2VyaWVzKCk7ZS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbFJlc29sdmVkKSxlLmRhdGFFdmVudHMoKS5zeW1ib2xHcm91cE5vdFBlcm1pdHRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQpLAplLmRhdGFFdmVudHMoKS5zeW1ib2xOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLnNob3cpfV9vblN5bWJvbFJlc29sdmVkKCl7dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sPXRoaXMuX2dldFN5bWJvbCgpfV9vblN5bWJvbEdyb3VwTm90UGVybWl0dGVkKCl7dGhpcy5zaG93KCl9fWNsYXNzIEdfIGV4dGVuZHMgVV97c2hvdygpeygwLFZfLmNyZWF0ZU5vdGljZURpYWxvZykoe2NvbnRlbnQ6dGhpcy5fZ2V0UG9wdXBDb250ZW50KCl9KS50aGVuKChlPT57ZS5vbigiZGVzdHJveSIsdGhpcy5fb25Qb3B1cENsb3NlZC5iaW5kKHRoaXMpKSxlLm9wZW4oKX0pKX19dmFyIGpfPWkoNzQ4OTEyKTt2YXIgcV89aSgzMDc2MTApO3ZhciAkXz1pKDg3MzM4Nik7dmFyIFlfPWkoMTUzNTgyKSxLXz1pKDM4NzEwMSksWF89aSg3Mjg2MzkpLFpfPWkoNjQzOTAzKSxKXz1pKDYxMzg4MSk7dmFyIFFfPWkoNzQ1OTkwKSxlbT1pKDEwMzk5OCk7ZnVuY3Rpb24gdG0oZSl7cmV0dXJuIGUuaGFzTW9kZWwoKT9lLm1vZGVsKCkubWFpblNlcmllcygpLnByb1N5bWJvbCgpOmUuc3ltYm9sV1YoKS52YWx1ZSgpfXZhciBpbT1pKDc2Mjg1MSksc209aSg0NTY3MDUpLG5tPWkoNTE5NTE1KSxybT1pKDc2MDM5MCk7Y2xhc3Mgb20gZXh0ZW5kcyBlcy5BY3Rpb257Y29uc3RydWN0b3IoZSx0KXtzdXBlcih7YWN0aW9uSWQ6IkNoYXJ0LkFkZFN5bWJvbFRvV2F0Y2hMaXN0IixvcHRpb25zOnQ9e2ljb25JZDoiV2F0Y2hsaXN0LkFkZFN5bWJvbCIsaWNvbjpKXy5pY29ucy5nZXQoIldhdGNobGlzdC5BZGRTeW1ib2wiKSxob3RrZXlIYXNoOksuTW9kaWZpZXJzLkFsdCs4NyxzdGF0TmFtZToiQWRkVG9XYXRjaGxpc3QiLGxhYmVsOm9tLmZvcm1hdExhYmVsKGUpLG9uRXhlY3V0ZTooKT0+dGhpcy5fZXhlY3V0ZSgpLC4uLnR9fSksdGhpcy51cGRhdGVTeW1ib2w9dGhpcy51cGRhdGVTeW1ib2wuYmluZCh0aGlzKSx0aGlzLl9zeW1ib2w9ZX1kZXN0cm95KCl7dGhpcy5fc3ltYm9sPXZvaWQgMCxzdXBlci5kZXN0cm95KCl9cHJlcGFyZSgpe31zdGF0aWMgZm9ybWF0TGFiZWwoZSl7cmV0dXJuIHAudChudWxsLHZvaWQgMCxpKDU3OTkzNCkpLmZvcm1hdCh7c3ltYm9sOigwLFpfLnNhZmVTaG9ydE5hbWUpKGUpfSl9dXBkYXRlU3ltYm9sKGUpe3RoaXMuX3N5bWJvbD1lLHRoaXMudXBkYXRlKHtsYWJlbDpvbS5mb3JtYXRMYWJlbChlKX0pfV9leGVjdXRlKCl7Y29uc3QgZT10aGlzLl9zeW1ib2w7ZSYmKDAsYWQucnVuT3JTaWduaW5XaXRoRmVhdHVyZSkoKCgpPT57KDAsc20uaW5pdFN5bWJvbExpc3RTZXJ2aWNlKSgpLnRoZW4oKHQ9Pnt0LnN0b3JlLmRpc3BhdGNoKHQuYWN0aW9ucy5hZGRTeW1ib2xzKG5tLldBVENITElTVF9XSURHRVRfSUQsW2VdKSl9KSl9KSx7ZmVhdHVyZToid2F0Y2hMaXN0Iixzb3VyY2U6ImFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0In0pfX1jbGFzcyBhbSBleHRlbmRzIG9te2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZS52YWx1ZSgpLHQpLHRoaXMuX3N5bWJvbFJlZj0oMCx1LmNvbWJpbmUpKChlPT5lKSxlKSx0aGlzLl9zeW1ib2xSZWYuc3Vic2NyaWJlKHRoaXMudXBkYXRlU3ltYm9sLHtjYWxsV2l0aExhc3Q6ITB9KX1kZXN0cm95KCl7dGhpcy5fc3ltYm9sUmVmJiZ0aGlzLl9zeW1ib2xSZWYuZGVzdHJveSgpLHRoaXMuX3N5bWJvbFJlZj1udWxsLHN1cGVyLmRlc3Ryb3koKX19Y2xhc3MgbG0gZXh0ZW5kcyBhbXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCgwLHhlLmNyZWF0ZVN5bWJvbE9yQWxpYXNXVikoZS5zeW1ib2xXVigpLndlYWtSZWZlcmVuY2UoKSxlLnN5bWJvbEluZm9XVigpLndlYWtSZWZlcmVuY2UoKSxlLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLnN5bWJvbEFsaWFzU2VydmljZSgpKS5vd25lcnNoaXAoKSx7c3ViSXRlbXM6W25ldyBlcy5Mb2FkZXIoIkxvYWRpbmciKV0sLi4udH0pLHRoaXMuX2hhZFN5bWJvbE9uSW5pdD0hMSx0aGlzLl9pc01vYmlsZT0oMCxZXy5pc01vYmlsZSkoKSx0aGlzLl9vblJlcXVlc3Q9bnVsbCx0aGlzLl91bnN1YnNjcmliZT1udWxsLHRoaXMuX2NoYXJ0PWUsdGhpcy5fbG9hZCgpfXByZXBhcmUoKXtzdXBlci5wcmVwYXJlKCksdGhpcy5faGFkU3ltYm9sT25Jbml0PSExLHRoaXMuX2lzTW9iaWxlPSgwLFlfLmlzTW9iaWxlKSgpLHRoaXMudXBkYXRlKHtzdWJJdGVtczpbbmV3IGVzLkxvYWRlcigiTG9hZGluZyIpXX0pLHRoaXMuX29uUmVxdWVzdD8uKCl9ZGVzdHJveSgpe3RoaXMuX3Vuc3Vic2NyaWJlPy4oKSx0aGlzLl9jaGFydD1udWxsLHRoaXMuX29uUmVxdWVzdD1udWxsLHN1cGVyLmRlc3Ryb3koKX1fZXhlY3V0ZSgpeygwLGFkLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKCgoKT0+e2lmKHRoaXMuX2NoYXJ0KXtjb25zdCBlPXRtKHRoaXMuX2NoYXJ0KTsoMCxzbS5pbml0U3ltYm9sTGlzdFNlcnZpY2UpKCkudGhlbigodD0+e3Quc3RvcmUuZGlzcGF0Y2godC5hY3Rpb25zLmFkZFN5bWJvbHMobm0uV0FUQ0hMSVNUX1dJREdFVF9JRCxbZV0pKX0pKX19KSx7ZmVhdHVyZToid2F0Y2hMaXN0Iixzb3VyY2U6ImFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0In0pfWFzeW5jIF9sb2FkKCl7Y29uc3RbZSx0LHMsbixyLHt3YXRjaGxpc3RTb3J0Q29tcGFyYXRvcjpvfSxhXT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDY0NjQ0KS50aGVuKGkudC5iaW5kKGksNzc5NDc0LDE5KSksKDAsCnNtLmluaXRTeW1ib2xMaXN0U2VydmljZSkoKSxQcm9taXNlLmFsbChbaS5lKDczNzcpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDk0MjMyKSxpLmUoMTIwNTEpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoMTg1MTIpLGkuZSg0MjQ1NyksaS5lKDM5NjA5KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDUyNTA5KSxpLmUoODU0MzQpLGkuZSg3Mjg1KSxpLmUoMjg1MSksaS5lKDE5OTM4KV0pLnRoZW4oaS5iaW5kKGksOTY5MjYyKSksUHJvbWlzZS5hbGwoW2kuZSg3Mzc3KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSg5NDIzMiksaS5lKDEyMDUxKSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDE4NTEyKSxpLmUoNDI0NTcpLGkuZSgzOTYwOSksaS5lKDE0ODg5KSxpLmUoNDIyMTIpLGkuZSg1MjUwOSksaS5lKDg1NDM0KSxpLmUoNzI4NSksaS5lKDI4NTEpLGkuZSgxOTkzOCldKS50aGVuKGkuYmluZChpLDE5NTI2OSkpLFByb21pc2UuYWxsKFtpLmUoOTY4MjMpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSg5NDIzMiksaS5lKDMyODE2KSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMjQ1ODEpLGkuZSgyNzUxNyksaS5lKDg2NDIzKSxpLmUoODU3OSksaS5lKDQwODM1KSxpLmUoMTcwODcpLGkuZSg3MjY2NiksaS5lKDc4NjUyKSxpLmUoNzA4MTUpLGkuZSgxNDYyNSksaS5lKDE1NTI2KSxpLmUoOTM0MTYpLGkuZSg1MjY4MCksaS5lKDM1Nzk0KSxpLmUoMTY3NiksaS5lKDg5MjA0KSxpLmUoMTIwNTEpLGkuZSg4OTU1OCksaS5lKDEwMzY2KSxpLmUoNjk4NjEpLGkuZSgyMDIpLGkuZSg3MjUxMiksaS5lKDU1MDExKSxpLmUoNzUzMDQpLGkuZSg1MjA5NSksaS5lKDQ0MDMxKSxpLmUoNzE5MDEpLGkuZSg4OTA0NCksaS5lKDQwOTE0KSxpLmUoODEyNDcpLGkuZSg5MDk2MCksaS5lKDQzNzkyKSxpLmUoODc3NDApLGkuZSg3ODQwNCksaS5lKDM5MTYpLGkuZSg4MTEwNyksaS5lKDc4ODk5KSxpLmUoNTEyNTYpLGkuZSg0MjMwMSksaS5lKDM1MzQyKSxpLmUoNDIwMzMpLGkuZSg1MDU4OCksaS5lKDgwMDQxKSxpLmUoOTAzNzgpLGkuZSg3MjI0OSksaS5lKDMwOTIyKSxpLmUoMzc1NjcpLGkuZSg4Nzc2NyksaS5lKDMyMzg3KSxpLmUoMzA2OTkpLGkuZSg4MDkxNSksaS5lKDE4NTEyKSxpLmUoNDg2MjApLGkuZSg1MDA0OSksaS5lKDE0ODg5KSxpLmUoNDIyMTIpLGkuZSg1NTIyOSksaS5lKDQ2MjE3KSxpLmUoNjg3MjUpLGkuZSg2NjkzMyksaS5lKDY5Njk3KSxpLmUoNTI1MDkpLGkuZSg2MzQwMiksaS5lKDI0ODc5KSxpLmUoNjcxMjApLGkuZSg0MjMyNyksaS5lKDM1MjUyKSxpLmUoNjA0OTMpXSkudGhlbihpLmJpbmQoaSw1MTAxMTYpKSxQcm9taXNlLmFsbChbaS5lKDk2ODIzKSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoOTQyMzIpLGkuZSgzMjgxNiksaS5lKDE5NTk1KSxpLmUoMTk3ODcpLGkuZSg2Nzc5OSksaS5lKDI0NTgxKSxpLmUoMjc1MTcpLGkuZSg4NjQyMyksaS5lKDg1NzkpLGkuZSg0MDgzNSksaS5lKDE3MDg3KSxpLmUoNzI2NjYpLGkuZSg3ODY1MiksaS5lKDcwODE1KSxpLmUoMTQ2MjUpLGkuZSgxNTUyNiksaS5lKDkzNDE2KSxpLmUoNTI2ODApLGkuZSgzNTc5NCksaS5lKDE2NzYpLGkuZSg4OTIwNCksaS5lKDEyMDUxKSxpLmUoODk1NTgpLGkuZSgxMDM2NiksaS5lKDY5ODYxKSxpLmUoMjAyKSxpLmUoNzI1MTIpLGkuZSg1NTAxMSksaS5lKDc1MzA0KSxpLmUoNTIwOTUpLGkuZSg0NDAzMSksaS5lKDcxOTAxKSxpLmUoODkwNDQpLGkuZSg0MDkxNCksaS5lKDgxMjQ3KSxpLmUoOTA5NjApLGkuZSg0Mzc5MiksaS5lKDg3NzQwKSxpLmUoNzg0MDQpLGkuZSgzOTE2KSxpLmUoODExMDcpLGkuZSg3ODg5OSksaS5lKDUxMjU2KSxpLmUoNDIzMDEpLGkuZSgzNTM0MiksaS5lKDQyMDMzKSxpLmUoNTA1ODgpLGkuZSg4MDA0MSksaS5lKDkwMzc4KSxpLmUoNzIyNDkpLGkuZSgzMDkyMiksaS5lKDM3NTY3KSxpLmUoODc3NjcpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoODA5MTUpLGkuZSgxODUxMiksaS5lKDQ4NjIwKSxpLmUoNTAwNDkpLGkuZSgxNDg4OSksaS5lKDQyMjEyKSxpLmUoNTUyMjkpLGkuZSg0NjIxNyksaS5lKDY4NzI1KSxpLmUoNjY5MzMpLGkuZSg2OTY5NyksaS5lKDUyNTA5KSxpLmUoNjM0MDIpLGkuZSgyNDg3OSksaS5lKDY3MTIwKSxpLmUoNDIzMjcpLGkuZSgzNTI1MiksaS5lKDYwNDkzKV0pLnRoZW4oaS5iaW5kKGksNTQ2MTU0KSksUHJvbWlzZS5hbGwoW2kuZSg5NjgyMyksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSgxMjM4NSksaS5lKDgxMDcyKSxpLmUoOTQ5NDgpLGkuZSgyMzYyNCksaS5lKDk0MjMyKSxpLmUoMzI4MTYpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoNjc3OTkpLGkuZSgyNDU4MSksaS5lKDI3NTE3KSxpLmUoODY0MjMpLGkuZSg4NTc5KSxpLmUoNDA4MzUpLGkuZSgxNzA4NyksaS5lKDcyNjY2KSxpLmUoNzg2NTIpLGkuZSg3MDgxNSksaS5lKDE0NjI1KSxpLmUoMTU1MjYpLGkuZSg5MzQxNiksaS5lKDUyNjgwKSxpLmUoMzU3OTQpLGkuZSgxNjc2KSxpLmUoODkyMDQpLGkuZSgxMjA1MSksaS5lKDg5NTU4KSxpLmUoMTAzNjYpLGkuZSg2OTg2MSksaS5lKDIwMiksaS5lKDcyNTEyKSxpLmUoNTUwMTEpLGkuZSg3NTMwNCksaS5lKDUyMDk1KSxpLmUoNDQwMzEpLGkuZSg3MTkwMSksaS5lKDg5MDQ0KSxpLmUoNDA5MTQpLGkuZSg4MTI0NyksaS5lKDkwOTYwKSxpLmUoNDM3OTIpLGkuZSg4Nzc0MCksaS5lKDc4NDA0KSxpLmUoMzkxNiksaS5lKDgxMTA3KSxpLmUoNzg4OTkpLGkuZSg1MTI1NiksaS5lKDQyMzAxKSxpLmUoMzUzNDIpLGkuZSg0MjAzMyksaS5lKDUwNTg4KSxpLmUoODAwNDEpLGkuZSg5MDM3OCksaS5lKDcyMjQ5KSxpLmUoMzA5MjIpLGkuZSgzNzU2NyksaS5lKDg3NzY3KSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDgwOTE1KSxpLmUoMTg1MTIpLGkuZSg0ODYyMCksaS5lKDUwMDQ5KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDU1MjI5KSxpLmUoNDYyMTcpLGkuZSg2ODcyNSksaS5lKDY2OTMzKSxpLmUoNjk2OTcpLGkuZSg1MjUwOSksaS5lKDYzNDAyKSxpLmUoMjQ4NzkpLGkuZSg2NzEyMCksaS5lKDQyMzI3KSxpLmUoMzUyNTIpLGkuZSg2MDQ5MyldKS50aGVuKGkuYmluZChpLDkyMDM5MikpXSkKO2lmKHRoaXMuX2Rlc3Ryb3llZClyZXR1cm47Y29uc3R7c3RvcmU6bH09dDt0aGlzLl9vblJlcXVlc3Q9KCk9PmwuZGlzcGF0Y2gocy5nZXRDdXN0b21XYXRjaGxpc3RzVGh1bmsobnVsbCkpLHRoaXMuX3Vuc3Vic2NyaWJlPWwuc3Vic2NyaWJlKCgoKT0+e2lmKCF0aGlzLl9jaGFydClyZXR1cm47Y29uc3QgdD1sLmdldFN0YXRlKCk7aWYobnVsbD09PXIuZ2V0Q3VzdG9tTGlzdHNTdGF0ZSh0KS50aW1lc3RhbXApcmV0dXJuO2NvbnN0IHM9dG0odGhpcy5fY2hhcnQpLGM9ci5nZXRDdXN0b21MaXN0cyh0KSx7YWN0aXZlU3ltYm9sTGlzdDpofT10LGQ9Yy5maW5kKChlPT5lLmlkPT09aD8uaWQpKTt0aGlzLl9oYWRTeW1ib2xPbkluaXR8fCh0aGlzLl9oYWRTeW1ib2xPbkluaXQ9ISFkJiZkLnN5bWJvbHMuaW5jbHVkZXMocykpO2NvbnN0IHU9KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibXVsdGlwbGVfd2F0Y2hsaXN0cyIpP2MuZmlsdGVyKChlPT5lLmlkIT09aD8uaWQpKS5zb3J0KG8pOltdO2xldCBfPWQ/W2QsLi4udV06dTtfPV8uZmlsdGVyKChlPT4hKDAscm0uaXNEZWxldGVkU3ltYm9sc0xpc3QpKGUuaWQpKSk7Y29uc3QgbT1fLm1hcCgodD0+e2NvbnN0IGk9dC5zeW1ib2xzLmluY2x1ZGVzKHMpLHI9e3Nob3J0Y3V0SGludDp0LmlkPT09aD8uaWQ/KDAsSy5odW1hblJlYWRhYmxlSGFzaCkoSy5Nb2RpZmllcnMuQWx0Kzg3KTp2b2lkIDAsaW52aXNpYmxlSG90a2V5OnQuaWQ9PT1oPy5pZD9pOnZvaWQgMCxkb05vdENsb3NlT25DbGljazohMCxvbkV4ZWN1dGU6KCk9Pntjb25zdCBlPWk/bi5yZW1vdmVTeW1ib2xzVGh1bmsobm0uV0FUQ0hMSVNUX1dJREdFVF9JRCxbc10sdC5pZCwhMCk6bi5hZGRTeW1ib2xzVG9DdXN0b21MaXN0VGh1bmsobm0uV0FUQ0hMSVNUX1dJREdFVF9JRCx0LmlkLFtzXSk7dC5pZCE9PWg/LmlkfHx3aW5kb3cuaXNfYXV0aGVudGljYXRlZHx8dGhpcy5faGFkU3ltYm9sT25Jbml0P2wuZGlzcGF0Y2goZSk6d2luZG93LnJ1bk9yU2lnbkluKCgoKT0+e2wuZGlzcGF0Y2goZSl9KSx7c291cmNlOiJDaGFydCBjb250ZXh0IG1lbnUifSl9fTtyZXR1cm4gbmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IldhdGNobGlzdC5BY3Rpb25zIixvcHRpb25zOnsuLi5yLGxhYmVsOnQubmFtZSxjaGVja2FibGU6ITAsY2hlY2tlZDppLHN0YXROYW1lOiJBZGRUb1dhdGNobGlzdCJ9LGN1c3RvbUFjdGlvbk9wdGlvbnM6ey4uLnIsanN4TGFiZWw6ZS5jcmVhdGVFbGVtZW50KGEuQ29udGV4dE1lbnVXYXRjaGxpc3RJdGVtLHt0aXRsZTp0Lm5hbWUsaXNDaGVja2VkOmksaXNTbWFsbFNpemU6dGhpcy5faXNNb2JpbGV9KX19KX0pKSxnPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJXYXRjaGxpc3QuQ3JlYXRlIixvcHRpb25zOntsYWJlbDooMCxpbS5hcHBlbmRFbGxpcHNpcykocC50KG51bGwsdm9pZCAwLGkoODc2MTYpKSksc3RhdE5hbWU6IkNyZWF0ZU5ld1dhdGNobGlzdCIsaWNvbklkOnRoaXMuX2lzTW9iaWxlPyJXYXRjaGxpc3QuQ3JlYXRlTmV3Ijp2b2lkIDAsb25FeGVjdXRlOigpPT57KDAsV3UucnVuT3JHb1BybykoKCgpPT57bC5kaXNwYXRjaChuLnVzZXJDcmVhdGVXYXRjaGxpc3RUaHVuayhudWxsLHtzeW1ib2xzOltzXX0pKX0pLCJNVUxUSVBMRV9XQVRDSExJU1RTIix7ZmVhdHVyZToibXVsdGlwbGVXYXRjaExpc3RzIixmZWF0dXJlTG9jYXRpb246Im1vdmVTeW1ib2xzVG9OZXcifSl9fX0pO3RoaXMudXBkYXRlKHtzdWJJdGVtczpbLi4ubSxuZXcgZXMuU2VwYXJhdG9yLGddfSl9KSl9fXZhciBjbT1pKDg4MDExNSksaG09aSgzNzk3OTMpO2Z1bmN0aW9uIGRtKGUpe3JldHVybigwLGNtLmRlZmF1bHQpKGUpJiYiZGlhbG9nQ2xvc2UiaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUuZGlhbG9nQ2xvc2V9YXN5bmMgZnVuY3Rpb24gdW0oZSl7aWYoIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKXJldHVybntzdWJJdGVtczpbXSxkaXNhYmxlZDohMH07Y29uc3RbdCxzLG5dPWF3YWl0IFByb21pc2UuYWxsKFtQcm9taXNlLmFsbChbaS5lKDc0MTE0KSxpLmUoNjQyNSldKS50aGVuKGkuYmluZChpLDY2NTE4NykpLFByb21pc2UuYWxsKFtpLmUoNzQxMTQpLGkuZSg2NDI1KV0pLnRoZW4oaS5iaW5kKGksMzE2NTE3KSksUHJvbWlzZS5hbGwoW2kuZSg3NDExNCksaS5lKDY0MjUpXSkudGhlbihpLmJpbmQoaSw0MTM0NTEpKV0pLHI9YXdhaXQgdC5nZXRUaGVtZU5hbWVzKCksbz1bXSxhPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5UaGVtZS5TYXZlQXMiLG9wdGlvbnM6e25hbWU6InRoZW1lLXNhdmUtYXMiLHN0YXROYW1lOiJTYXZlVGhlbWVBcyIsbGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDc4NDc0MSkpKSxvbkV4ZWN1dGU6YXN5bmMoKT0+e3RyeXt2b2lkIDAhPT1hd2FpdCBuZXcgUHJvbWlzZSgoKHQsaSk9PntzLnNob3dUaGVtZVNhdmVEaWFsb2dBc3luYyhlLm1vZGVsKCkubW9kZWwoKS50ZW1wbGF0ZSgpLHQsdCxpKX0pKSYmYXdhaXQgcG0oZSl9Y2F0Y2goZSl7aWYoZG0oZSkpcmV0dXJuIHZvaWQgZS5kaWFsb2dDbG9zZSgpO3Rocm93IGV9fX19KTtyZXR1cm4gby5wdXNoKGEpLHImJnIubGVuZ3RoJiYoby5sZW5ndGgmJm8ucHVzaChuZXcgZXMuU2VwYXJhdG9yKSxyLmZvckVhY2goKGk9Pntjb25zdCByPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5UaGVtZS5BcHBseS5DdXN0b20iLG9wdGlvbnM6e2xhYmVsOnQudHJhbnNsYXRlU3RkVGhlbWVOYW1lKGkpLGNoZWNrYWJsZTohMSxzdGF0TmFtZToiTG9hZFRoZW1lIixvbkV4ZWN1dGU6KCk9PntuLmxvYWRUaGVtZShlLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLHt0aGVtZU5hbWU6aSxzdGFuZGFyZFRoZW1lOiExfSkudGhlbigoKCk9Pnt3aW5kb3cuc2F2ZXIuc2F2ZUNoYXJ0U2lsZW50bHkoKSwoMCxNdC50cmFja0V2ZW50KSgiR1VJIiwiU3dpdGNoIHRvIGN1c3RvbSB0aGVtZSIpfSkpfSx0b29sYm94Ont0eXBlOmhtLlRvb2xib3hUeXBlLkRlbGV0ZSxhY3Rpb246YXN5bmMoKT0+e3RyeXt2b2lkIDAhPT1hd2FpdCBuZXcgUHJvbWlzZSgoKGUsdCk9PnsKcy5zaG93UmVtb3ZlVGhlbWVEaWFsb2dBc3luYyhpLGUsZSx0KX0pKSYmYXdhaXQgcG0oZSl9Y2F0Y2goZSl7aWYoZG0oZSkpcmV0dXJuIHZvaWQgZS5kaWFsb2dDbG9zZSgpO3Rocm93IGV9fX0sc2hvd1Rvb2xib3hPbkhvdmVyOiEwfX0pO28ucHVzaChyKX0pKSkse3N1Ykl0ZW1zOm8sZGlzYWJsZWQ6MD09PW8ubGVuZ3RofX1hc3luYyBmdW5jdGlvbiBwbShlLHQpe3Q/Pz1lLmFjdGlvbnMoKS5hcHBseUNvbG9yVGhlbWUsdD8udXBkYXRlKGF3YWl0IHVtKGUpKX12YXIgX209aSgzNDIyMCksbW09aSg5NTI1NDUpLGdtPWkoNjQ0Mjk1KTtmdW5jdGlvbiBmbShlKXtjb25zdCB0PWUubW9kZWwoKS5kYXRhU291cmNlcygpLHM9dC5maWx0ZXIoZ2wuaXNMaW5lVG9vbCkuZmlsdGVyKChlPT5lLmlzQWN0dWFsU3ltYm9sKCkmJmUuaXNVc2VyRGVsZXRhYmxlKCkpKS5sZW5ndGgsbj10LmZpbHRlcih0aS5pc1N0dWR5KS5maWx0ZXIoKGU9PmUucmVtb3ZlQnlSZW1vdmVBbGxTdHVkaWVzKCkpKS5sZW5ndGgscj1wLnQobnVsbCx7cGx1cmFsOiJ7YW1vdW50fSBkcmF3aW5ncyIsY291bnQ6cyxyZXBsYWNlOnthbW91bnQ6cy50b1N0cmluZygpfX0saSg0MDY0ODUpKSxvPXAudChudWxsLHtwbHVyYWw6InthbW91bnR9IGluZGljYXRvcnMiLGNvdW50Om4scmVwbGFjZTp7YW1vdW50Om4udG9TdHJpbmcoKX19LGkoMTQxNjYyKSk7cmV0dXJue2RyYXdpbmdzOntsYWJlbDpwLnQobnVsbCx7cmVwbGFjZTp7ZHJhd2luZ3M6cn19LGkoMTQ1Mzk2KSksZGlzYWJsZWQ6MD09PXN9LHN0dWRpZXM6e2xhYmVsOnAudChudWxsLHtyZXBsYWNlOntpbmRpY2F0b3JzOm99fSxpKDEyODEzMykpLGRpc2FibGVkOjA9PT1ufSxhbGw6e2xhYmVsOnAudChudWxsLHtyZXBsYWNlOntkcmF3aW5nczpyLGluZGljYXRvcnM6b319LGkoNjgzMjA4KSksZGlzYWJsZWQ6MD09PXMmJjA9PT1ufX19dmFyIFNtPWkoNzgzMjU0KSx2bT1pKDg2MjU3Mik7ZnVuY3Rpb24geW0oZSl7Y29uc3QgdD1lLm9wdGlvbnMoKSxzPXtsYWJlbDooMCxpbS5hcHBlbmRFbGxpcHNpcykoU20udChudWxsLHZvaWQgMCxpKDU5Nzc3MCkpKSxzdGF0TmFtZToiQ2hhbmdlSW50ZXJ2YWwiLG9uRXhlY3V0ZTooKT0+KDAsdm0uc2hvd0NoYW5nZUludGVydmFsRGlhbG9nQXN5bmMpKHtpbml0VmFsOmpyLmxpbmtpbmcuaW50ZXJ2YWwudmFsdWUoKSxzZWxlY3RPbkluaXQ6ITB9KX07cmV0dXJuISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfaW50ZXJ2YWxfZGlhbG9nX29uX2tleV9wcmVzcyIpfHx0LnJlYWRPbmx5fHx0LmhpZGVTeW1ib2xTZWFyY2h8fChzLnNob3J0Y3V0SGludD0iLCIscy5ob3RrZXlHcm91cD1lLmhvdGtleXMoKSxzLmhvdGtleUhhc2g9MTg4KSxuZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuRGlhbG9ncy5TaG93Q2hhbmdlSW50ZXJ2YWwiLG9wdGlvbnM6c30pfWNsYXNzIGJtIGV4dGVuZHMgZXMuQWN0aW9ue2NvbnN0cnVjdG9yKGUsdD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpKXtzdXBlcih7Li4uZSxvcHRpb25zOnsuLi5lLm9wdGlvbnMsY2hlY2thYmxlOiEwLGNoZWNrZWQ6dC52YWx1ZSgpLG9uRXhlY3V0ZTooKT0+e3RoaXMuX3d2LnNldFZhbHVlKCF0aGlzLl93di52YWx1ZSgpKX19fSksdGhpcy5fdXBkYXRlQ2hlY2tlZD1lPT57dGhpcy51cGRhdGUoe2NoZWNrZWQ6ZX0pfSx0LnN1YnNjcmliZSh0aGlzLl91cGRhdGVDaGVja2VkKSx0aGlzLl93dj10fWRlc3Ryb3koKXt0aGlzLl93di51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVDaGVja2VkKSxzdXBlci5kZXN0cm95KCl9fXZhciB3bT1pKDc0MTY5MCkKO2NvbnN0IENtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInNjYWxlIHByaWNlIGNoYXJ0IG9ubHkiLHAudChudWxsLHZvaWQgMCxpKDIzMTgzMSkpKSxQbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJzdGF5IGluIGRyYXdpbmcgbW9kZSIscC50KG51bGwsdm9pZCAwLGkoNDgyMTE4KSkpLFRtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImhpZGUgbWFya3Mgb24gYmFycyIscC50KG51bGwsdm9pZCAwLGkoNDc3NjY1KSkpLHhtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBzeW1ib2wgbGFzdCB2YWx1ZSB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSgyMjU5MDApKSksTW09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHN5bWJvbCBwcmV2aW91cyBjbG9zZSB2YWx1ZSB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSg1OTQyMDkpKSksSW09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHByZXZpb3VzIGNsb3NlIHByaWNlIGxpbmUgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoODg2OTExKSkpLExtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBzeW1ib2wgbGFiZWxzIHZpc2liaWxpdHkiLHAudChudWxsLHZvaWQgMCxpKDE1NjEwOCkpKSxBbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgaW5kaWNhdG9ycyBhbmQgZmluYW5jaWFscyB2YWx1ZSBsYWJlbHMgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoNjI0MzYwKSkpLGttPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBpbmRpY2F0b3JzIGFuZCBmaW5hbmNpYWxzIG5hbWUgbGFiZWxzIHZpc2liaWxpdHkiLHAudChudWxsLHZvaWQgMCxpKDM4NjMzNSkpKSxEbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgYmlkIGFuZCBhc2sgbGFiZWxzIHZpc2liaWxpdHkiLHAudChudWxsLHZvaWQgMCxpKDE0MTU1MykpKSxFbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgYmlkIGFuZCBhc2sgbGluZXMgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoMzk2MDQ5KSkpLFJtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBwcmUvcG9zdCBtYXJrZXQgcHJpY2UgbGFiZWwgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoNTc2NzAxKSkpLFZtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBwcmUvcG9zdC9uaWdodCBtYXJrZXQgcHJpY2UgbGFiZWwgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoODQ0OTg0KSkpLEJtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBwcmUvcG9zdCBtYXJrZXQgcHJpY2UgbGluZSB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSgxNzY3NDUpKSksTm09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHByZS9wb3N0L25pZ2h0IG1hcmtldCBwcmljZSBsaW5lIHZpc2liaWxpdHkiLHAudChudWxsLHZvaWQgMCxpKDM5NDI4MikpKSxPbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgaGlnaCBhbmQgbG93IHByaWNlIGxhYmVscyB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSg1Njk4NykpKSxXbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgaGlnaCBhbmQgbG93IHByaWNlIGxpbmVzIHZpc2liaWxpdHkiLHAudChudWxsLHZvaWQgMCxpKDE4NDY2NikpKSxGbT0obmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGF2ZXJhZ2UgY2xvc2UgcHJpY2UgbGFiZWwgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoNTE2NDYpKSksbmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGF2ZXJhZ2UgY2xvc2UgcHJpY2UgbGluZSB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSg0MDUzNTIpKSksbmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGNvdW50ZG93biB0byBiYXIgY2xvc2UgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoMzk5MjU0KSkpKSxIbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgcGx1cyBidXR0b24gdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoNzM5MDg3KSkpLHptPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBzZXNzaW9uIGJyZWFrcyB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSgxNDYyMDIpKSksVW09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHByaWNlIGxpbmUgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoMzIyOTEyKSkpLEdtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSB0aW1lem9uZSIscC50KG51bGwsdm9pZCAwLGkoMTMxNDA4KSkpO2Z1bmN0aW9uIGptKGUpe2NvbnN0IHQ9ZS5ob3RrZXlzKCkscz1lLm1vZGVsKCksbj1lLm9wdGlvbnMoKSxyPWUucHJvcGVydGllcygpLG89bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlcmllcy5QcmljZVNjYWxlLlRvZ2dsZUludmVydFByaWNlU2NhbGUiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDE1OTI1KSksc3RhdE5hbWU6IkludmVydCBTY2FsZSIsY2hlY2thYmxlOiEwLG9uRXhlY3V0ZTooKT0+cy5pbnZlcnRQcmljZVNjYWxlKHMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKSksaG90a2V5R3JvdXA6dCxob3RrZXlIYXNoOksuTW9kaWZpZXJzLkFsdCs3M319KSxhPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5TZXJpZXMuUHJpY2VTY2FsZS5Ub2dnbGVBdXRvU2NhbGUiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDYzMzc1MikpLGNoZWNrYWJsZTohMCxvbkV4ZWN1dGU6ZT0+e2NvbnN0IHQ9cy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpO3MudG9nZ2xlUHJpY2VTY2FsZUF1dG9TY2FsZU1vZGUodCksZS51cGRhdGUoe2NoZWNrZWQ6dC5pc0F1dG9TY2FsZSgpfSl9fX0pLGw9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlNjYWxlcy5Ub2dnbGVMb2NrUHJpY2VUb0JhclJhdGlvIixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg0MTE3NjgpKSxjaGVja2FibGU6ITAsc3RhdE5hbWU6IlRvZ2dsZUxvY2tTY2FsZSIsCm9uRXhlY3V0ZTooKT0+cy50b2dnbGVQcmljZVNjYWxlTG9ja1NjYWxlTW9kZShzLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCkpfX0pLGM9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlcmllcy5QcmljZVNjYWxlLlRvZ2dsZVJlZ3VsYXIiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHtjb250ZXh0OiJzY2FsZV9tZW51In0saSg3NDkxNzkpKSxjaGVja2FibGU6ITAsc3RhdE5hbWU6IlRvZ2dsZVJlZ3VsYXJTY2FsZSIsb25FeGVjdXRlOmU9Pntjb25zdCB0PXMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTtzLnNldFByaWNlU2NhbGVSZWd1bGFyU2NhbGVNb2RlKHQpLGUudXBkYXRlKHtjaGVja2VkOnQuaXNSZWd1bGFyKCl9KX19fSksZD1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuU2VyaWVzLlByaWNlU2NhbGUuVG9nZ2xlUGVyY2VudGFnZSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMTU1ODMzKSksY2hlY2thYmxlOiEwLHN0YXROYW1lOiJUb2dnbGVQZXJjYW50YWdlIixvbkV4ZWN1dGU6KCk9PnMudG9nZ2xlUHJpY2VTY2FsZVBlcmNlbnRhZ2VTY2FsZU1vZGUocy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpKSxob3RrZXlHcm91cDp0LGhvdGtleUhhc2g6Sy5Nb2RpZmllcnMuQWx0KzgwfX0pLHU9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlcmllcy5QcmljZVNjYWxlLlRvZ2dsZUluZGV4ZWRUbzEwMCIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMTUyMDU0KSksY2hlY2thYmxlOiEwLHN0YXROYW1lOiJUb2dnbGVJbmRleGVkVG8xMDAiLG9uRXhlY3V0ZTooKT0+cy50b2dnbGVQcmljZVNjYWxlSW5kZXhlZFRvMTAwU2NhbGVNb2RlKHMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKSl9fSksXz1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuU2VyaWVzLlByaWNlU2NhbGUuVG9nZ2xlTG9nYXJpdGhtaWMiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDUwMzU1OCkpLHN0YXROYW1lOiJUb2dnbGVMb2dTY2FsZSIsY2hlY2thYmxlOiEwLG9uRXhlY3V0ZTooKT0+cy50b2dnbGVQcmljZVNjYWxlTG9nU2NhbGVNb2RlKHMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKSksaG90a2V5R3JvdXA6dCxob3RrZXlIYXNoOksuTW9kaWZpZXJzLkFsdCs3Nn19KSxtPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5DaGFuZ2VUaW1lWm9uZSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMjI0MTk4KSksc3RhdE5hbWU6IlRpbWVab25lIixvbkRlc3Ryb3k6KCk9PmUucHJvcGVydGllcygpLmNoaWxkcygpLnRpbWV6b25lLnVuc3Vic2NyaWJlQWxsKG0pfX0pLGc9ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudGltZXpvbmUsZj0oKT0+e2NvbnN0IHQ9W10saT1qdC5hdmFpbGFibGVUaW1lem9uZXMscz1lPT5lLmlkPT09Zy52YWx1ZSgpO2kuZm9yRWFjaCgoaT0+e2NvbnN0IG49bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkNoYW5nZVRpbWVab25lIixvcHRpb25zOntsYWJlbDppLnRpdGxlLGNoZWNrYWJsZTohMCxjaGVja2VkOnMoaSksc3RhdE5hbWU6IlNldFRpbWVab25lIixvbkV4ZWN1dGU6KCk9PntlLm1vZGVsKCkuc2V0UHJvcGVydHkoZyxpLmlkLEdtKX19fSk7dC5wdXNoKG4pfSkpLG0udXBkYXRlKHtzdWJJdGVtczp0fSl9O2YoKSxnLnN1YnNjcmliZShtLGYpO2NvbnN0IFM9bmV3IGFzLkFjdGlvbldpdGhTdGFuZGFyZEljb24oe2FjdGlvbklkOiJDaGFydC5UaW1lU2NhbGUuUmVzZXQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDkwNjQzNikpLGljb25JZDoiQ2hhcnQuUmVzZXQiLHN0YXROYW1lOiJSZXNldFNjYWxlIixvbkV4ZWN1dGU6KCk9PnMucmVzZXRUaW1lU2NhbGUoKSxob3RrZXlHcm91cDplLmhvdGtleXMoKSxob3RrZXlIYXNoOksuTW9kaWZpZXJzLk1vZCtLLk1vZGlmaWVycy5BbHQrODF9fSksdj1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuRGlhbG9ncy5TaG93SW5zZXJ0SW5kaWNhdG9ycyIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDcyNDkwOSkpKSxzdGF0TmFtZToiSW5zZXJ0SW5kaWNhdG9yIixvbkV4ZWN1dGU6KCk9PmUuc2hvd0luZGljYXRvcnMoKSwuLi5uLmluZGljYXRvcnNEaWFsb2dTaG9ydGN1dEVuYWJsZWQ/e2hvdGtleUdyb3VwOnQsaG90a2V5SGFzaDoxOTF9OnZvaWQgMH19KSx5PW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5EaWFsb2dzLlNob3dDb21wYXJlT3JBZGRTeW1ib2wiLG9wdGlvbnM6e2xhYmVsOigwLGltLmFwcGVuZEVsbGlwc2lzKShwLnQobnVsbCx2b2lkIDAsaSg5MjI0NCkpKSxzdGF0TmFtZToiQ29tcGFyZU9yQWRkU3ltYm9sIixvbkV4ZWN1dGU6KCk9PmUudG9nZ2xlQ29tcGFyZU9yQWRkKCl9fSksYj1uZXcgYXMuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LkRpYWxvZ3MuU2hvd0dlbmVyYWxTZXR0aW5ncyIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDczMDU4NikpKSxpY29uSWQ6IlNldHRpbmdzIixzdGF0TmFtZToiQ2hhcnRQcm9wZXJ0aWVzIixvbkV4ZWN1dGU6KCk9PmUuc2hvd0dlbmVyYWxDaGFydFByb3BlcnRpZXMoKX19KSx3PW5ldyBhcy5BY3Rpb25XaXRoU3RhbmRhcmRJY29uKHthY3Rpb25JZDoiQ2hhcnQuRGlhbG9ncy5TaG93R2VuZXJhbFNldHRpbmdzLlN5bWJvbFRhYiIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDczMDU4NikpKSxpY29uSWQ6IlNldHRpbmdzIixzdGF0TmFtZToiTWFpblNlcmllc1Byb3BlcnRpZXMiLG9uRXhlY3V0ZTooKT0+ZS5zaG93R2VuZXJhbENoYXJ0UHJvcGVydGllcyhKdC5UYWJOYW1lcy5zeW1ib2wpfX0pLEM9bmV3IGFzLkFjdGlvbldpdGhTdGFuZGFyZEljb24oe2FjdGlvbklkOiJDaGFydC5EaWFsb2dzLlNob3dHZW5lcmFsU2V0dGluZ3MuU2NhbGVzVGFiIixvcHRpb25zOntsYWJlbDooMCwKaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDMxNjAxOCkpKSxpY29uSWQ6IlNldHRpbmdzIixzdGF0TmFtZToiU2NhbGVzUHJvcGVydGllcyIsb25FeGVjdXRlOigpPT5lLnNob3dHZW5lcmFsQ2hhcnRQcm9wZXJ0aWVzKEp0LlRhYk5hbWVzLnNjYWxlcyl9fSksUD1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuU2VsZWN0ZWRPYmplY3QuVG9nZ2xlTG9ja2VkIixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg3NTQzMTApKSxzdGF0TmFtZToiVG9nZ2xlTG9ja1NlbGVjdGVkT2JqZWN0IixvbkV4ZWN1dGU6KCk9PmUudG9nZ2xlTG9ja1NlbGVjdGVkT2JqZWN0KCl9fSkseD1uZXcgYXMuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlbGVjdGVkT2JqZWN0LkhpZGUiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDc2OTM5MSkpLGljb25JZDoiQ2hhcnQuSGlkZSIsc3RhdE5hbWU6IkhpZGVTZWxlY3RlZE9iamVjdCIsb25FeGVjdXRlOigpPT5lLmhpZGVTZWxlY3RlZE9iamVjdCgpfX0pLE09bmV3IGlzKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5Ub2dnbGVBdXRvU2NhbGVTZXJpZXNPbmx5IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg3NjIxNDUpKSxjaGVja2FibGU6ITAsc3RhdE5hbWU6IlNjYWxlUHJpY2VDaGFydE9ubHkifX0se3Byb3BlcnR5OnIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zY2FsZVNlcmllc09ubHksdW5kb01vZGVsOnMsdW5kb1RleHQ6Q219KSxJPW5ldyBibSh7YWN0aW9uSWQ6IkNoYXJ0LkRyYXdpbmdUb29sYmFyLlRvZ2dsZVZpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDYyMzcxNikpLHN0YXROYW1lOiJUb2dnbGVEcmF3aW5nVG9vbGJhciJ9fSxuLmlzRHJhd2luZ1Rvb2xiYXJWaXNpYmxlKSxMPW5ldyBpcyh7YWN0aW9uSWQ6IiIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoODc2NjU5KSksY2hlY2thYmxlOiEwLHN0YXROYW1lOiJUb2dnbGVTdGF5SW5EcmF3aW5nTW9kZSJ9fSx7cHJvcGVydHk6VC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3RheUluRHJhd2luZ01vZGUsdW5kb01vZGVsOnMsdW5kb1RleHQ6UG19KSxBPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0Lk1hcmtzLlRvZ2dsZVZpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDEzOTM1NSkpLGNoZWNrYWJsZTohMCxzdGF0TmFtZToiVG9nZ2xlSGlkZU1hcmtzT25CYXJzIn19LHtwcm9wZXJ0eTpULmhpZGVNYXJrc09uQmFycygpLHVuZG9Nb2RlbDpzLHVuZG9UZXh0OlRtLGNhbGxiYWNrOmU9PlQuaGlkZU1hcmtzT25CYXJzKCkuc2V0VmFsdWUoZS5pc0NoZWNrZWQoKSl9KSxEPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTGFiZWxzLlRvZ2dsZVNlcmllc0xhc3RWYWx1ZVZpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDk1NzE5OSkpLGNoZWNrYWJsZTohMCxjaGVja2VkOiExLHN0YXROYW1lOiJUb2dnbGVTeW1ib2xMYXN0VmFsdWUifX0se3Byb3BlcnR5OnIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93U2VyaWVzTGFzdFZhbHVlLHVuZG9Nb2RlbDpzLHVuZG9UZXh0OnhtfSksRT1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5QcmljZVNjYWxlLkxhYmVscy5Ub2dnbGVTeW1ib2xOYW1lTGFiZWxzVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoNzcwNDM3KSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ITEsc3RhdE5hbWU6IlRvZ2dsZVN5bWJvbExhYmVscyJ9fSx7cHJvcGVydHk6ci5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTeW1ib2xMYWJlbHMsdW5kb01vZGVsOnMsdW5kb1RleHQ6TG19KSxSPSgwLHdtLmNvbWJpbmVQcm9wZXJ0eSkoKChlLHQpPT5lfHx0KSxyLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1N0dWR5TGFzdFZhbHVlLndlYWtSZWZlcmVuY2UoKSxyLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0Z1bmRhbWVudGFsTGFzdFZhbHVlLndlYWtSZWZlcmVuY2UoKSksVj1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5QcmljZVNjYWxlLkxhYmVscy5Ub2dnbGVJbmRpY2F0b3JzVmFsdWVMYWJlbHNWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSgzNDI0NjMpKSxjaGVja2FibGU6ITAsY2hlY2tlZDohMSxzdGF0TmFtZToiVG9nZ2xlU3R1ZGllc0FuZEZ1bmRhbWVudGFsc1ByaWNlTGFiZWxzIixvbkRlc3Ryb3k6KCk9PntSLmRlc3Ryb3koKX19fSx7cHJvcGVydHk6Uix1bmRvTW9kZWw6cyx1bmRvVGV4dDpudWxsLGNhbGxiYWNrOigpPT57Y29uc3QgZT0hUi52YWx1ZSgpO3MuYmVnaW5VbmRvTWFjcm8oQW0pLHMuc2V0UHJvcGVydHkoci5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTdHVkeUxhc3RWYWx1ZSxlLG51bGwpLHMuc2V0UHJvcGVydHkoci5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dGdW5kYW1lbnRhbExhc3RWYWx1ZSxlLG51bGwpLHMuZW5kVW5kb01hY3JvKCl9fSksQj0oMCx3bS5jb21iaW5lUHJvcGVydHkpKCgoZSx0KT0+ZXx8dCksci5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTdHVkeVBsb3RMYWJlbHMud2Vha1JlZmVyZW5jZSgpLHIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93RnVuZGFtZW50YWxOYW1lTGFiZWwud2Vha1JlZmVyZW5jZSgpKSxOPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTGFiZWxzLlRvZ2dsZUluZGljYXRvcnNOYW1lTGFiZWxzVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMzk0NDc4KSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ITEsc3RhdE5hbWU6IlRvZ2dsZVN0dWRpZXNBbmRGdW5kYW1lbnRhbHNOYW1lTGFiZWxzIixvbkRlc3Ryb3k6KCk9PntCLmRlc3Ryb3koKX19fSx7cHJvcGVydHk6Qix1bmRvTW9kZWw6cywKdW5kb1RleHQ6bnVsbCxjYWxsYmFjazooKT0+e2NvbnN0IGU9IUIudmFsdWUoKTtzLmJlZ2luVW5kb01hY3JvKGttKSxzLnNldFByb3BlcnR5KHIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93U3R1ZHlQbG90TGFiZWxzLGUsbnVsbCkscy5zZXRQcm9wZXJ0eShyLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0Z1bmRhbWVudGFsTmFtZUxhYmVsLGUsbnVsbCkscy5lbmRVbmRvTWFjcm8oKX19KSxPPXMubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5oaWdoTG93QXZnUHJpY2UuY2hpbGRzKCksVz1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5QcmljZVNjYWxlLkxhYmVscy5Ub2dnbGVIaWdoTG93UHJpY2VMYWJlbHNWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg4MjM0MzApKSxjaGVja2FibGU6ITAsY2hlY2tlZDohMSxzdGF0TmFtZToiVG9nZ2xlSGlnaExvd1ByaWNlTGFiZWxzIn19LHtwcm9wZXJ0eTpPLmhpZ2hMb3dQcmljZUxhYmVsc1Zpc2libGUsdW5kb01vZGVsOnMsdW5kb1RleHQ6T219KSxGPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LkxpbmVzLlRvZ2dsZUhpZ2hMb3dMaW5lc1Zpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDI1NjIyMCkpLGNoZWNrYWJsZTohMCxjaGVja2VkOiExLHN0YXROYW1lOiJUb2dnbGVIaWdoTG93UHJpY2VMaW5lIn19LHtwcm9wZXJ0eTpPLmhpZ2hMb3dQcmljZUxpbmVzVmlzaWJsZSx1bmRvTW9kZWw6cyx1bmRvVGV4dDpXbX0pLEg9bmV3IGlzKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5Ub2dnbGVDb3VudGRvd25Ub0JhckNsb3NlVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMjcxNjYxKSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ITEsc3RhdE5hbWU6IlRvZ2dsZUNvdW50ZG93biJ9fSx7cHJvcGVydHk6cy5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNob3dDb3VudGRvd24sdW5kb01vZGVsOnMsdW5kb1RleHQ6Rm19KSx6PW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuVG9nZ2xlQWRkT3JkZXJQbHVzQnV0dG9uVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMjg4OTE1KSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ZGQuYWRkUGx1c0J1dHRvblByb3BlcnR5LnZhbHVlKCksc3RhdE5hbWU6IlRvZ2dsZUFkZE9yZGVyUGx1c0J1dHRvbiJ9fSx7cHJvcGVydHk6ZGQuYWRkUGx1c0J1dHRvblByb3BlcnR5LHVuZG9Nb2RlbDpzLHVuZG9UZXh0OkhtfSksVT1uZXcgYXMuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LkRpYWxvZ3MuU2hvd1N5bWJvbEluZm8iLG9wdGlvbnM6e2xhYmVsOigwLGltLmFwcGVuZEVsbGlwc2lzKSgoMCxZXy5pc01vYmlsZSkoKT9wLnQobnVsbCx7Y29udGV4dDoic2hvd19zeW1ib2xfaW5mb19kaWFsb2dfYWN0aW9uIn0saSg5NjA5NjgpKTpwLnQobnVsbCx7Y29udGV4dDoic2hvd19zeW1ib2xfaW5mb19kaWFsb2dfYWN0aW9uIn0saSg5ODY0NjgpKSksaWNvbklkOiJDaGFydC5TeW1ib2xJbmZvIixjaGVja2FibGU6ITEsc3RhdE5hbWU6IlN5bWJvbEluZm8iLG9uRXhlY3V0ZTooKT0+e2lmKCgwLFlfLmlzTW9iaWxlKSgpKSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZGV0YWlsc193ZWJ2aWV3IikmJm4ub25EZXRhaWxzV2Vidmlld09wZW4/bi5vbkRldGFpbHNXZWJ2aWV3T3BlbigpOigwLEtfLnNob3dEZXRhaWxzRGlhbG9nKSgpLCgwLE10LnRyYWNrRXZlbnQpKCJDb250ZXh0TWVudUNsaWNrIiwiTW9iaWxlIiwiU3ltYm9sSW5mbyIpO2Vsc2V7Y29uc3QgdD1lLm1vZGVsKCkubW9kZWwoKSxpPXQubWFpblNlcmllcygpLnN5bWJvbEluZm8oKTtpZihpKXtjb25zdCBlPXQuYXZhaWxhYmxlVW5pdHMoKS52YWx1ZSgpLHM9dC51bml0Q29udmVyc2lvbkVuYWJsZWQoKTsoMCxtbS5zaG93U3ltYm9sSW5mb0RpYWxvZykoe3N5bWJvbEluZm86aSxzaG93VW5pdDpzLHVuaXREZXNjcmlwdGlvbjp0PT50JiZlP2UuZGVzY3JpcHRpb24odCk6IiIsZGF0ZUZvcm1hdHRlcjp0LmRhdGVGb3JtYXR0ZXIoKX0pfX19fX0pLEc9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTWVyZ2VBbGxTY2FsZXNUb0xlZnQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDg3Mjk4MCkpLHN0YXROYW1lOiJNZXJnZUFsbFNjYWxlc1RvTGVmdCIsb25FeGVjdXRlOigpPT5zLm1lcmdlQWxsU2NhbGVzKCJsZWZ0Iil9fSksaj1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5NZXJnZUFsbFNjYWxlc1RvUmlnaHQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDM2MzM3MCkpLHN0YXROYW1lOiJNZXJnZUFsbFNjYWxlc1RvUmlnaHQiLG9uRXhlY3V0ZTooKT0+cy5tZXJnZUFsbFNjYWxlcygicmlnaHQiKX19KSwkPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5QcmljZVNjYWxlLk1vdmVUb0xlZnQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDcwNTAxNikpLHN0YXROYW1lOiJNb3ZlU2NhbGVUb0xlZnQiLG9uRXhlY3V0ZTooKT0+cy5tZXJnZUFsbFNjYWxlcygibGVmdCIpfX0pLFk9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTW92ZVRvUmlnaHQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDkxODc5KSksc3RhdE5hbWU6Ik1vdmVTY2FsZVRvUmlnaHQiLG9uRXhlY3V0ZTooKT0+cy5tZXJnZUFsbFNjYWxlcygicmlnaHQiKX19KSxYPW5ldyBhcy5BY3Rpb25XaXRoU3RhbmRhcmRJY29uKHthY3Rpb25JZDoiQ2hhcnQuU2NhbGVzLlJlc2V0IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSgyMDc4NDUpKSxpY29uSWQ6IkNoYXJ0LlJlc2V0IixzdGF0TmFtZToiUmVzZXRDaGFydCIsb25FeGVjdXRlOigpPT5lLkdVSVJlc2V0U2NhbGVzKCksaG90a2V5R3JvdXA6dCxob3RrZXlIYXNoOksuTW9kaWZpZXJzLkFsdCs4Mn0KfSksWj1lLm1vZGVsKCkubW9kZWwoKS5zZXNzaW9ucygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zZXNzaW9uSGlnaGxpZ2h0LmNoaWxkcygpLnZlcnRsaW5lcy5jaGlsZHMoKS5zZXNzQnJlYWtzLmNoaWxkcygpLnZpc2libGUsUT0oMCxTdS5jcmVhdGVXVkZyb21Qcm9wZXJ0eSkoZS5tb2RlbCgpLm1haW5TZXJpZXMoKS5pc0RXTVByb3BlcnR5KCkpLGVlPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5TZXNzaW9uQnJlYWtzLlRvZ2dsZVZpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDc5MjQ5NikpLGNoZWNrYWJsZTohMCxjaGVja2VkOloudmFsdWUoKSxzdGF0TmFtZToiVG9nZ2xlU2Vzc2lvbkJyZWFrcyIsZGlzYWJsZWQ6US52YWx1ZSgpLG9uRXhlY3V0ZTooKT0+e1omJnMuc2V0UHJvcGVydHkoWiwhWi52YWx1ZSgpLHptKX0sb25EZXN0cm95OigpPT5RLmRlc3Ryb3koKX19KTtRLnN1YnNjcmliZSgoKCk9PmVlLnVwZGF0ZSh7ZGlzYWJsZWQ6US52YWx1ZSgpfSkpKTtjb25zdCB0ZT1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5MaW5lcy5Ub2dnbGVTZXJpZXNQcmljZUxpbmVWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg4ODAyMjIpKSxjaGVja2FibGU6ITAsc3RhdE5hbWU6IlRvZ2dsZVByaWNlTGluZSJ9fSx7cHJvcGVydHk6cy5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNob3dQcmljZUxpbmUsdW5kb01vZGVsOnMsdW5kb1RleHQ6VW19KSxpZT1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuVW5kbyIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoNzQxMzMpKSxvbkV4ZWN1dGU6KCk9PnsoMCxNdC50cmFja0V2ZW50KSgiR1VJIiwiVW5kbyIpLHMudW5kb0hpc3RvcnkoKS51bmRvKCl9LG9uRGVzdHJveTooKT0+e2UubW9kZWwoKS51bmRvSGlzdG9yeSgpLnVuZG9TdGFjaygpLm9uQ2hhbmdlKCkudW5zdWJzY3JpYmVBbGwoaWUpfSxkaXNhYmxlZDohMCxob3RrZXlHcm91cDp0LGhvdGtleUhhc2g6Sy5Nb2RpZmllcnMuTW9kKzkwLGlzUmVwZWF0QWNjZXB0ZWQ6ITB9fSk7ZS5tb2RlbCgpLnVuZG9IaXN0b3J5KCkudW5kb1N0YWNrKCkub25DaGFuZ2UoKS5zdWJzY3JpYmUoaWUsKCgpPT5pZS51cGRhdGUoe2Rpc2FibGVkOmUubW9kZWwoKS51bmRvSGlzdG9yeSgpLnVuZG9TdGFjaygpLmlzRW1wdHkoKX0pKSk7Y29uc3Qgc2U9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlJlZG8iLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDc5ODMwNykpLG9uRXhlY3V0ZTooKT0+eygwLE10LnRyYWNrRXZlbnQpKCJHVUkiLCJSZWRvIiksZS5tb2RlbCgpLnVuZG9IaXN0b3J5KCkucmVkbygpfSxvbkRlc3Ryb3k6KCk9PntlLm1vZGVsKCkudW5kb0hpc3RvcnkoKS5yZWRvU3RhY2soKS5vbkNoYW5nZSgpLnVuc3Vic2NyaWJlQWxsKHNlKX0sZGlzYWJsZWQ6ITAsaG90a2V5R3JvdXA6dCxob3RrZXlIYXNoOksuTW9kaWZpZXJzLk1vZCs4OSxpc1JlcGVhdEFjY2VwdGVkOiEwfX0pO2UubW9kZWwoKS51bmRvSGlzdG9yeSgpLnJlZG9TdGFjaygpLm9uQ2hhbmdlKCkuc3Vic2NyaWJlKHNlLCgoKT0+c2UudXBkYXRlKHtkaXNhYmxlZDplLm1vZGVsKCkudW5kb0hpc3RvcnkoKS5yZWRvU3RhY2soKS5pc0VtcHR5KCl9KSkpO2NvbnN0IG5lPXtpbnZlcnRTZXJpZXNTY2FsZTpvLGF1dG9TZXJpZXNTY2FsZTphLGxvY2tTZXJpZXNTY2FsZTpsLHJlZ3VsYXJTZXJpZXNTY2FsZTpjLHBlcmNlbnRTZXJpZXNTY2FsZTpkLGluZGV4ZWRUbzEwMFNlcmllc1NjYWxlOnUsbG9nU2VyaWVzU2NhbGU6XyxhcHBseVRpbWVab25lOm0sc3ltYm9sU2VhcmNoOm5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5EaWFsb2dzLlNob3dDaGFuZ2VTeW1ib2wiLG9wdGlvbnM6e2xhYmVsOigwLGltLmFwcGVuZEVsbGlwc2lzKShwLnQobnVsbCx2b2lkIDAsaSg2OTI3NjcpKSksc3RhdE5hbWU6IkNoYW5nZVN5bWJvbCIsb25FeGVjdXRlOigpPT57KDAsRXQuc2hvd0RpYWxvZykoe2RlZmF1bHRWYWx1ZToiIix0cmFja1Jlc3VsdHNPcHRpb25zOnt0cmFja1Jlc3VsdHM6ISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpLGVtcHR5U2VhcmNoVHlwZToiZW1wdHlfcmVzdWx0X19zdXBlcmNoYXJ0cyJ9LGVuYWJsZU9wdGlvbnNDaGFpbjooMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpLHNlYXJjaFR5cGU6InN1cGVyY2hhcnRzIn0pfX19KSxjaGFuZ2VJbnRlcnZhbDp5bShlKSx0aW1lU2NhbGVSZXNldDpTLGluc2VydEluZGljYXRvcjp2LGNvbXBhcmVPckFkZDp5LGNoYXJ0UHJvcGVydGllczpiLG1haW5TZXJpZXNQcm9wZXJ0aWVzQWN0aW9uOncsc2NhbGVzUHJvcGVydGllczpDLGxpbmVUb2dnbGVMb2NrOlAsc2VyaWVzSGlkZTp4LHN0dWR5SGlkZTp4LGxpbmVIaWRlOngsc2NhbGVTZXJpZXNPbmx5Ok0sZHJhd2luZ1Rvb2xiYXJBY3Rpb246SSxzdGF5SW5EcmF3aW5nTW9kZUFjdGlvbjpMLGhpZGVBbGxNYXJrczpBLHNob3dTZXJpZXNMYXN0VmFsdWU6RCxzaG93U3ltYm9sTGFiZWxzQWN0aW9uOkUsc2hvd1N0dWR5TGFzdFZhbHVlOlYsc2hvd1N0dWR5UGxvdE5hbWVzQWN0aW9uOk4sc2hvd0hpZ2hMb3dQcmljZUxhYmVsczpXLHNob3dIaWdoTG93UHJpY2VMaW5lczpGLHNob3dDb3VudGRvd246SCxhZGRQbHVzQnV0dG9uOnosc2hvd1N5bWJvbEluZm9EaWFsb2c6VSxtZXJnZUxlZnRTY2FsZXNBY3Rpb246RyxtZXJnZVJpZ2h0U2NhbGVzQWN0aW9uOmosbW92ZVNjYWxlVG9MZWZ0OiQsbW92ZVNjYWxlVG9SaWdodDpZLGNoYXJ0UmVzZXQ6WCxzZXNzaW9uQnJlYWtzOmVlLHNob3dQcmljZUxpbmU6dGUsdW5kbzppZSxyZWRvOnNlfTtpZihuLmdvVG9EYXRlRW5hYmxlZCYmKG5lLmdvdG9EYXRlPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5EaWFsb2dzLlNob3dHb1RvRGF0ZSIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDc0NTk5OCkpKSwKc3RhdE5hbWU6IkdvVG9EYXRlIixvbkV4ZWN1dGU6KCk9PigwLGdtLnNob3dHb1RvRGF0ZURpYWxvZykoZS5jaGFydFdpZGdldENvbGxlY3Rpb24oKS5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpKSxob3RrZXlHcm91cDp0LGhvdGtleUhhc2g6Sy5Nb2RpZmllcnMuQWx0KzcxfX0pKSwoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X29iamVjdF90cmVlIikpe2NvbnN0IHQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSxzPXt9O2xldCBuO3tjb25zdCBlPSgpPT57d2luZG93LndpZGdldGJhciYmKG49ZT0+dC5zZXRWYWx1ZShlKSx3aW5kb3cud2lkZ2V0YmFyLnZpc2libGUoKS5zdWJzY3JpYmUobix7Y2FsbFdpdGhMYXN0OiEwfSkpfTt3aW5kb3cud2lkZ2V0YmFyP2UoKTp3aW5kb3cuVHJhZGluZ1ZpZXcucmlnaHRXaWRnZXRCYXJTZXR0bGVkPy5zdWJzY3JpYmUocywodD0+e3QmJmUoKX0pLCEwKX1jb25zdCByPSgpPT57Y29uc3QgZT1wLnQobnVsbCx7Y29udGV4dDoiQWN0aW9uIGxhYmVsIn0saSg2NDY4NDgpKTtyZXR1cm4gdC52YWx1ZSgpP2U6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKGUpfTtuZS5wYW5lT2JqZWN0VHJlZT1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuT2JqZWN0VHJlZS5TaG93IixvcHRpb25zOntsYWJlbDpyKCksc3RhdE5hbWU6Ik9iamVjdHNUcmVlIixvbkV4ZWN1dGU6KCk9PmUuc2hvd09iamVjdHNUcmVlUGFuZWxPckRpYWxvZygpLG9uRGVzdHJveTooKT0+e3dpbmRvdy53aWRnZXRiYXI/LnZpc2libGUoKS51bnN1YnNjcmliZShuKSx3aW5kb3cuVHJhZGluZ1ZpZXcucmlnaHRXaWRnZXRCYXJTZXR0bGVkPy51bnN1YnNjcmliZUFsbChzKSx0LmRlc3Ryb3koKX19fSksdC5zdWJzY3JpYmUoKCgpPT57bmUucGFuZU9iamVjdFRyZWU/LnVwZGF0ZSh7bGFiZWw6cigpfSl9KSl9aWYoKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgicHJvcGVydHlfcGFnZXMiKSYmKG5lLmZvcm1hdD1uZXcgYXMuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlbGVjdGVkT2JqZWN0LlNob3dTZXR0aW5nc0RpYWxvZyIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDczMDU4NikpKSxpY29uSWQ6IlNldHRpbmdzIixzdGF0TmFtZToiRWRpdFNlbGVjdGVkT2JqZWN0IixvbkV4ZWN1dGU6KCk9PmUuc2hvd1NlbGVjdGVkU291cmNlc1Byb3BlcnRpZXMoKX19KSksIWUucmVhZE9ubHkoKSl7Y29uc3Qgcz1mdW5jdGlvbihlKXtjb25zdCB0PWZtKGUpLGk9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlJlbW92ZUFsbExpbmVUb29scyIsb3B0aW9uczp7bGFiZWw6dC5kcmF3aW5ncy5sYWJlbCxkaXNhYmxlZDp0LmRyYXdpbmdzLmRpc2FibGVkLHN0YXROYW1lOiJSZW1vdmVBbGxEcmF3aW5nVG9vbHMiLG9uRXhlY3V0ZTooKT0+ZS5yZW1vdmVBbGxEcmF3aW5nVG9vbHMoKSxvbkRlc3Ryb3k6KCk9PmUubW9kZWwoKS5tb2RlbCgpLmRhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKGUpfX0pLHM9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlJlbW92ZUFsbEluZGljYXRvcnMiLG9wdGlvbnM6e2xhYmVsOnQuc3R1ZGllcy5sYWJlbCxkaXNhYmxlZDp0LnN0dWRpZXMuZGlzYWJsZWQsc3RhdE5hbWU6IlJlbW92ZUFsbEluZGljYXRvcnMiLG9uRXhlY3V0ZTooKT0+ZS5yZW1vdmVBbGxTdHVkaWVzKCl9fSksbj1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUmVtb3ZlQWxsSW5kaWNhdG9yc0FuZExpbmVUb29scyIsb3B0aW9uczp7bGFiZWw6dC5hbGwubGFiZWwsZGlzYWJsZWQ6dC5hbGwuZGlzYWJsZWQsc3RhdE5hbWU6IlJlbW92ZUFsbEluZGljYXRvcnNBbmREcmF3aW5nVG9vbHMiLG9uRXhlY3V0ZTooKT0+ZS5yZW1vdmVBbGxTdHVkaWVzRHJhd2luZ1Rvb2xzKCl9fSk7cmV0dXJuIGUubW9kZWwoKS5tb2RlbCgpLmRhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZShlLCgoKT0+e2NvbnN0e3N0dWRpZXM6dCxkcmF3aW5nczpyLGFsbDpvfT1mbShlKTtzLnVwZGF0ZSh7ZGlzYWJsZWQ6dC5kaXNhYmxlZCxsYWJlbDp0LmxhYmVsfSksaS51cGRhdGUoe2Rpc2FibGVkOnIuZGlzYWJsZWQsbGFiZWw6ci5sYWJlbH0pLG4udXBkYXRlKHtkaXNhYmxlZDpvLmRpc2FibGVkLGxhYmVsOm8ubGFiZWx9KX0pKSx7ZHJhd2luZ3M6aSxzdHVkaWVzOnMsYWxsOm59fShlKTtuZS5wYW5lUmVtb3ZlQWxsU3R1ZGllcz1zLnN0dWRpZXMsbmUucGFuZVJlbW92ZUFsbERyYXdpbmdUb29scz1zLmRyYXdpbmdzLG5lLnBhbmVSZW1vdmVBbGxTdHVkaWVzRHJhd2luZ1Rvb2xzPXMuYWxsLG5lLmFwcGx5U3R1ZGllc1RvQWxsQ2hhcnRzPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5BcHBseUluZGljYXRvcnNUb0FsbENoYXJ0cyIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoOTI0MTc2KSksc3RhdE5hbWU6IkFwcGx5SW5kaWNhdG9yc1RvQWxsQ2hhcnRzIixvbkV4ZWN1dGU6KCk9PmUuY2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkuYXBwbHlJbmRpY2F0b3JzVG9BbGxDaGFydHMoZSl9fSksbmUuc3R1ZHlSZW1vdmU9bmUubGluZVJlbW92ZT1uZXcgYXMuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlbGVjdGVkT2JqZWN0LlJlbW92ZSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoOTExMjYpKSxpY29uSWQ6IkNoYXJ0LlJlbW92ZVNlbGVjdGVkT2JqZWN0IixzdGF0TmFtZToiUmVtb3ZlU2VsZWN0ZWRPYmplY3QiLG9uRXhlY3V0ZTooKT0+eyhlLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCk/P2UpLnJlbW92ZVNlbGVjdGVkU291cmNlcygpfSxob3RrZXlHcm91cDp0LGhvdGtleUhhc2g6Sy5pc01hY0tleWJvYXJkPzg6NDZ9fSl9aWYoISgwLEoub25XaWRnZXQpKCkmJigwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInRleHRfbm90ZXMiKSYmKG5lLmFkZFRvVGV4dE5vdGVzPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5zeW1ib2xXVigpLnNwYXduKCkscz1uZXcgZXMuQWN0aW9uKHsKYWN0aW9uSWQ6Ik5vdGUuQ3JlYXRlIixvcHRpb25zOntpY29uSWQ6IlRleHROb3RlLkFkZCIsaWNvbjpKXy5pY29ucy5nZXQoIlRleHROb3RlLkFkZCIpLGxhYmVsOnAudChudWxsLHZvaWQgMCxpKDIzMDIyNCkpLHN0YXROYW1lOiJBZGRUb1RleHROb3RlcyIsb25FeGVjdXRlOigpPT57d2luZG93LnJ1bk9yU2lnbkluKCgoKT0+e3dpbmRvdy53aWRnZXRiYXI/LnNldFBhZ2UoImJhc2UiKSwoMCxYXy5jcmVhdGVTeW1ib2xOb3RlKShlLnN5bWJvbFdWKCkudmFsdWUoKSwoMCxZXy5pc01vYmlsZSkoKSl9KSx7c291cmNlOiJBZGQgdGV4dCBub3RlIGluIGNoYXJ0IGNvbnRleHQgbWVudSJ9KX0saG90a2V5SGFzaDpLLk1vZGlmaWVycy5BbHQrNzgsaG90a2V5R3JvdXA6ZS5ob3RrZXlzKCksb25EZXN0cm95OigpPT50LmRlc3Ryb3koKX19KTtyZXR1cm4gdC5zdWJzY3JpYmUoKHQ9Pntjb25zdCBuPWUubW9kZWwoKS5tb2RlbCgpLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk/LnByb19uYW1lLHI9ZS5tb2RlbCgpLm1vZGVsKCkuc3ltYm9sQWxpYXNTZXJ2aWNlKCk/LmdldEFsaWFzQnlQcm9OYW1lKG4/P3QpLG89KDAsWl8uc2FmZVNob3J0TmFtZSkodCk7cy51cGRhdGUoe2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDM0MzMzMSkpLmZvcm1hdCh7c3ltYm9sOnI/LmFsaWFzTmFtZT8/b30pfSl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksc30oZSkpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYoISgwLEouaXNEZXNrdG9wQXBwKSgpfHwoMCwkXy5kZXNrdG9wVmVyc2lvbklzTGVzcykoIjEuMC4xMCIpfHwoMCxKLmlzRGVza3RvcEFwcCkoKSYmISgwLCRfLmRlc2t0b3BWZXJzaW9uSXNMZXNzKSgiMS4wLjExIikpKXtjb25zdCB0PW5lLmFwcGx5Q29sb3JUaGVtZT1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuVGhlbWUuQXBwbHkiLG9wdGlvbnM6e25hbWU6ImFwcGx5LWNvbG9yLXRoZW1lIixsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSgzNTQ2NzYpKSxzdWJJdGVtczpbbmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkxvYWRpbmciLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDM3MjczMikpfX0pXSxzdGF0TmFtZToiQ29sb3JUaGVtZSIsb25EZXN0cm95OigpPT57d2luZG93LmxvZ2luU3RhdGVDaGFuZ2UudW5zdWJzY3JpYmVBbGwodCksay50aGVtZUxpc3RDaGFuZ2VkLnVuc3Vic2NyaWJlQWxsKHQpfX0sb3B0aW9uc0xvYWRlcjooKT0+dW0oZSl9KSxzPSgpPT5wbShlLG5lLmFwcGx5Q29sb3JUaGVtZSk7d2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHQscyksay50aGVtZUxpc3RDaGFuZ2VkLnN1YnNjcmliZSh0LHMpfSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfc291cmNlX2NvZGUiKSYmKG5lLnZpZXdTb3VyY2VDb2RlPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5JbmRpY2F0b3IuUGluZVNvdXJjZSIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDc5MzQwMikpKSxzdGF0TmFtZToiT3BlblNlbGVjdGVkT2JqZWN0U291cmNlIixvbkV4ZWN1dGU6KCk9Pntjb25zdFtlXT1zLnNlbGVjdGlvbigpLmRhdGFTb3VyY2VzKCk7aWYoISgwLHRpLmlzU3R1ZHkpKGUpKXJldHVybjtjb25zdCB0PWUubWV0YUluZm8oKTt0JiZ0LnNjcmlwdElkUGFydCYmdC5waW5lJiYoMCxfbS5hY3RpdmF0ZVBpbmVFZGl0b3JEaWFsb2cpKHtzY3JpcHRJbmZvOntzY3JpcHQ6e3NjcmlwdElkUGFydDp0LnNjcmlwdElkUGFydCx2ZXJzaW9uOnQucGluZS52ZXJzaW9ufX0sb3BlblNvdXJjZUlkOiJzdHVkeV9tZW51In0pLmNhdGNoKGVtLnNob3dTY3JpcHRJbmZvRXJyb3JOb3RpY2VEaWFsb2cpfX19KSksbmUuaGlkZUFsbExpbmVUb29scz1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5Ub2dnbGVWaXNpYmlsaXR5LkFsbExpbmVUb29scyIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoOTg4MjYwKSksY2hlY2thYmxlOiEwLHN0YXROYW1lOiJUb2dnbGVIaWRlTWFya3NPbkJhcnMiLGhvdGtleUdyb3VwOmUuaG90a2V5cygpLGhvdGtleUhhc2g6Sy5Nb2RpZmllcnMuTW9kK0suTW9kaWZpZXJzLkFsdCs3Mn19LHtwcm9wZXJ0eTpULmhpZGVNYXJrc09uQmFycygpLHVuZG9Nb2RlbDpzLHVuZG9UZXh0OlRtLGNhbGxiYWNrOigpPT4oMCxSdC50b2dnbGVIaWRlTW9kZSkoKX0pLG5lLm9wZW5UYWJsZVZpZXc9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0Lk9wZW5UYWJsZVZpZXciLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDIzODMzNikpLHN0YXROYW1lOiJUYWJsZSB2aWV3IixvbkV4ZWN1dGU6YXN5bmMoKT0+e2NvbnN0e3Nob3dDaGFydFRhYmxlVmlld0RpYWxvZzp0fT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDIwMzM3KSxpLmUoMjkyOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMjM4NSksaS5lKDk0OTQ4KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDMyODE2KSxpLmUoNTE4NCksaS5lKDU2MjUyKSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMjc1MTcpLGkuZSg5ODA4NCksaS5lKDcwODE1KSxpLmUoNTAyMjEpLGkuZSgzMzUxNSksaS5lKDE0NjI1KSxpLmUoOTM0MTYpLGkuZSg2NTcpLGkuZSg2MDcwKSxpLmUoNzY2NSksaS5lKDUyOTIwKSxpLmUoNjI2MDApLGkuZSg3NTIxNyksaS5lKDk4Njk2KSxpLmUoNzQ2MzYpLGkuZSg3MTk5MSksaS5lKDQ5OTk3KSxpLmUoMzIzODcpLGkuZSgyMzc0MyksaS5lKDY2MjM1KSxpLmUoMzY5MzgpLGkuZSg2NzkzMCksaS5lKDQ2NjUwKV0pLnRoZW4oaS5iaW5kKGksNzI1OTE4KSk7dCh7d2lkZ2V0OmUuY2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkuYWN0aXZlQ2hhcnRXaWRnZXR9KX19fSk7Y29uc3QgcmU9KDAsUGUuaXNGZWF0dXJlRW5hYmxlZCkoInN1cHBvcnRfb3Zlcm5pZ2h0X3Nlc3Npb24iKSxvZT1zLm1haW5TZXJpZXMoKTt7Y29uc3QgZT1uZS5zaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWw9bmV3IGlzKHsKYWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTGFiZWxzLlRvZ2dsZVByZVBvc3RNYXJrZXRMYWJlbHNWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpyZT9wLnQobnVsbCx2b2lkIDAsaSg0NTgyNjIpKTpwLnQobnVsbCx2b2lkIDAsaSg1NjUxNjEpKSxjaGVja2FibGU6ITAsY2hlY2tlZDohMSxkaXNhYmxlZDohKG9lLmlzUHJlUG9zdE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCkudmFsdWUoKXx8b2UuaXNPdmVybmlnaHRNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eSgpLnZhbHVlKCkpLHN0YXROYW1lOiJUb2dnbGVQcmVQb3N0TWFya2V0UHJpY2VMYWJlbCIsb25EZXN0cm95OigpPT57b2UuaXNQcmVQb3N0TWFya2V0UHJpY2VzQXZhaWxhYmxlUHJvcGVydHkoKS51bnN1YnNjcmliZUFsbChlKSxvZS5pc092ZXJuaWdodE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCkudW5zdWJzY3JpYmVBbGwoZSl9fX0se3Byb3BlcnR5OnIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWwsdW5kb01vZGVsOnMsdW5kb1RleHQ6cmU/Vm06Um19KTtvZS5pc1ByZVBvc3RNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eSgpLnN1YnNjcmliZShlLCh0PT57ZS51cGRhdGUoe2Rpc2FibGVkOiF0LnZhbHVlKCl9KX0pKSxvZS5pc092ZXJuaWdodE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCkuc3Vic2NyaWJlKGUsKHQ9PntlLnVwZGF0ZSh7ZGlzYWJsZWQ6IXQudmFsdWUoKX0pfSkpfXtjb25zdCBlPW5lLnNob3dQcmVQb3N0TWFya2V0UHJpY2VMaW5lPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LkxpbmVzLlRvZ2dsZVByZVBvc3RNYXJrZXRQcmljZUxpbmVWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpyZT9wLnQobnVsbCx2b2lkIDAsaSg0NjY4NTUpKTpwLnQobnVsbCx2b2lkIDAsaSg0MjExMCkpLGNoZWNrYWJsZTohMCxjaGVja2VkOiExLGRpc2FibGVkOiEob2UuaXNQcmVQb3N0TWFya2V0UHJpY2VzQXZhaWxhYmxlUHJvcGVydHkoKS52YWx1ZSgpfHxvZS5pc092ZXJuaWdodE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCkudmFsdWUoKSksc3RhdE5hbWU6IlRvZ2dsZVByZVBvc3RNYXJrZXRQcmljZUxpbmUiLG9uRGVzdHJveTooKT0+e29lLmlzUHJlUG9zdE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCkudW5zdWJzY3JpYmVBbGwoZSksb2UuaXNPdmVybmlnaHRNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eSgpLnVuc3Vic2NyaWJlQWxsKGUpfX19LHtwcm9wZXJ0eTpzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJlUG9zdE1hcmtldC5jaGlsZHMoKS52aXNpYmxlLHVuZG9Nb2RlbDpzLHVuZG9UZXh0OnJlP05tOkJtfSk7b2UuaXNQcmVQb3N0TWFya2V0UHJpY2VzQXZhaWxhYmxlUHJvcGVydHkoKS5zdWJzY3JpYmUoZSwodD0+e2UudXBkYXRlKHtkaXNhYmxlZDohdC52YWx1ZSgpfSl9KSksb2UuaXNPdmVybmlnaHRNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eSgpLnN1YnNjcmliZShlLCh0PT57ZS51cGRhdGUoe2Rpc2FibGVkOiF0LnZhbHVlKCl9KX0pKX17Y29uc3Qgbz1uZS5zaG93U2VyaWVzUHJldkNsb3NlVmFsdWU9bmV3IGlzKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5MYWJlbHMuVG9nZ2xlU3ltYm9sUHJldkNsb3NlVmFsdWVWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg4ODIxNSkpLGNoZWNrYWJsZTohMCxjaGVja2VkOiExLHN0YXROYW1lOiJUb2dnbGVTeW1ib2xQcmV2Q2xvc2VWYWx1ZSIsb25EZXN0cm95OigpPT5zLm1haW5TZXJpZXMoKS5vblJlc3RhcnRlZCgpLnVuc3Vic2NyaWJlQWxsKG8pfX0se3Byb3BlcnR5OnIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93U2VyaWVzUHJldkNsb3NlVmFsdWUsdW5kb01vZGVsOnMsdW5kb1RleHQ6TW19KTtzLm1haW5TZXJpZXMoKS5vblJlc3RhcnRlZCgpLnN1YnNjcmliZShvLCgoKT0+e28udXBkYXRlKHtkaXNhYmxlZDpzLm1haW5TZXJpZXMoKS5pc0RXTSgpfSl9KSk7Y29uc3QgYT1uZS5zaG93U2VyaWVzUHJldkNsb3NlTGluZT1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5MaW5lcy5Ub2dnbGVTZXJpZXNQcmV2Q2xvc2VMaW5lVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoNzk0MzMxKSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ITEsc3RhdE5hbWU6IlRvZ2dsZVN5bWJvbFByZXZDbG9zZUxpbmUiLG9uRGVzdHJveTooKT0+cy5tYWluU2VyaWVzKCkub25SZXN0YXJ0ZWQoKS51bnN1YnNjcmliZUFsbChhKX19LHtwcm9wZXJ0eTpzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvd1ByZXZDbG9zZVByaWNlTGluZSx1bmRvTW9kZWw6cyx1bmRvVGV4dDpJbX0pO3MubWFpblNlcmllcygpLm9uUmVzdGFydGVkKCkuc3Vic2NyaWJlKGEsKCgpPT57YS51cGRhdGUoe2Rpc2FibGVkOnMubWFpblNlcmllcygpLmlzRFdNKCl9KX0pKSxuZS5zaG93QmlkQXNrTGFiZWxzPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTGFiZWxzLlRvZ2dsZUJpZEFza0xhYmVsc1Zpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDIzMTUwNCkpLGNoZWNrYWJsZTohMCxjaGVja2VkOiExLHN0YXROYW1lOiJUb2dnbGVCaWRBc2tMYWJlbHMifX0se3Byb3BlcnR5OnIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93QmlkQXNrTGFiZWxzLHVuZG9Nb2RlbDpzLHVuZG9UZXh0OkRtfSksbmUuc2hvd0JpZEFza0xpbmVzPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LkxpbmVzLlRvZ2dsZUJpZEFza0xpbmVzVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoOTE5Mzc2KSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ITEsc3RhdE5hbWU6IlRvZ2dsZUJpZEFza0xpbmVzIn19LHtwcm9wZXJ0eTpzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYmlkQXNrLmNoaWxkcygpLnZpc2libGUsdW5kb01vZGVsOnMsdW5kb1RleHQ6RW19KQo7Y29uc3QgbD1lLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLmFjdGl2ZUNoYXJ0Q2FuQmVNb3ZlZCgpLnNwYXduKCksYz1uZS5tb3ZlQ2hhcnRBY3Rpb249bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0Lk1vdmVDaGFydEluTGF5b3V0IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSgyODgzOTYpKSxzdWJJdGVtczpbbmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0Lk1vdmVDaGFydEluTGF5b3V0LkZvcndhcmQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDU5NTgzOCkpLHN0YXROYW1lOiJNb3ZlQ2hhcnRSaWdodCIsb25FeGVjdXRlOigpPT5lLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLm1vdmVBY3RpdmVDaGFydFdpdGhVbmRvKCExKX19KSxuZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuTW92ZUNoYXJ0SW5MYXlvdXQuQmFjayIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoNTAwMTQ3KSksc3RhdE5hbWU6Ik1vdmVDaGFydExlZnQiLG9uRXhlY3V0ZTooKT0+ZS5jaGFydFdpZGdldENvbGxlY3Rpb24oKS5tb3ZlQWN0aXZlQ2hhcnRXaXRoVW5kbyghMCl9fSldLG9uRGVzdHJveTooKT0+bC5kZXN0cm95KCl9fSk7aWYobC5zdWJzY3JpYmUoKGU9PmMudXBkYXRlKHtkaXNhYmxlZDohZX0pKSx7Y2FsbFdpdGhMYXN0OiEwfSksbi5hZGRUb1dhdGNobGlzdEVuYWJsZWQpe2NvbnN0IGk9e2hvdGtleUdyb3VwOnQsc3RhdE5hbWU6IkFkZFRvV2F0Y2hsaXN0In07bmUuYWRkVG9XYXRjaGxpc3Q9bmV3IGxtKGUsaSksdC5hZGQoe2Rlc2M6IkFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0Iixob3RrZXk6Sy5Nb2RpZmllcnMuTW9kK0suTW9kaWZpZXJzLkFsdCs4NyxoYW5kbGVyOigpPT4oMCxRXy5zaG93QWRkU3ltYm9sRGlhbG9nKShbdG0oZSldKX0pfX1yZXR1cm4gbmV9dmFyIHFtPWkoMzIyNjAxKSwkbT1pKDc0OTQwMik7aSgyODI3MTApO2NvbnN0IFltPSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnRXaWRnZXQiLHtjb2xvcjoiIzYwNiJ9KSxLbT0oMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydF9jb250ZW50X292ZXJyaWRlc19ieV9kZWZhdWx0cyIpLFhtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImhpZGUge3RpdGxlfSIscC50KG51bGwsdm9pZCAwLGkoNTg5ODE1KSkpLFptPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInVubG9jayB7dGl0bGV9IixwLnQobnVsbCx2b2lkIDAsaSg3NzA2MzkpKSksSm09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygibG9jayB7dGl0bGV9IixwLnQobnVsbCx2b2lkIDAsaSg2MjA5MjcpKSksUW09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHNlc3Npb24iLHAudChudWxsLHZvaWQgMCxpKDcyMzQyNikpKTtsZXQgZWc9bnVsbDtpZihsb2NhdGlvbi5zZWFyY2gudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygibG9nY2FudmFzc2F2ZXJlc3RvcmVsZWFrcyIpKXtpZighSi5pc0Nocm9tZSl0aHJvdyBuZXcgRXJyb3IoIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBzYXZlL3Jlc3RvcmUgbGVhayBkZXRlY3Rpb24gaXMgYXZhaWxhYmxlIGZvciBub3cgaW4gQ2hyb21lIG9ubHkiKTtpLmUoMTYxMjYpLnRoZW4oaS5iaW5kKGksNDI4OTEyKSkudGhlbigoZT0+e2UuZW5hYmxlQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2F2ZVJlc3RvcmVMZWFrc0RldGVjdGlvbigpLGVnPWUucmVwb3J0Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2F2ZVJlc3RvcmVMZWFrc30pKX1jb25zdCB0Zz17YWRkVG9XYXRjaGxpc3RFbmFibGVkOiEwLHNob3dGaW5hbmNpYWxzRW5hYmxlZDohMSxzb3VyY2VTZWxlY3Rpb25FbmFibGVkOiEwLHByb3BlcnR5UGFnZXNFbmFibGVkOiEwLHBhbmVDb250ZXh0TWVudUVuYWJsZWQ6ITAscHJpY2VTY2FsZUNvbnRleHRNZW51RW5hYmxlZDohMCxjdXJyZW5jeUNvbnZlcnNpb25FbmFibGVkOiExLHVuaXRDb252ZXJzaW9uRW5hYmxlZDohMSxnb1RvRGF0ZUVuYWJsZWQ6ITEsbWFya2V0U3RhdHVzV2lkZ2V0RW5hYmxlZDohMCxjaGFydFdhcm5pbmdXaWRnZXRFbmFibGVkOiEwLGRhdGFQcm9ibGVtV2lkZ2V0RW5hYmxlZDohMCxwYW5lQ29udHJvbHNFbmFibGVkOiEwLGlzU3ltYm9sQXZhaWxhYmxlOmU9PlByb21pc2UucmVzb2x2ZSghMCksbGVnZW5kV2lkZ2V0RW5hYmxlZDohMCxjaGFydEV2ZW50c0VuYWJsZWQ6ITAsbmV3c05vdGlmaWNhdGlvbnNFbmFibGVkOiEwLGVzZEVuYWJsZWQ6ITEsbGF0ZXN0VXBkYXRlc0VuYWJsZWQ6ITEsY29udGludW91c0NvbnRyYWN0U3dpdGNoZXNFbmFibGVkOiExLGZ1dHVyZXNDb250cmFjdEV4cGlyYXRpb25FbmFibGVkOiExLGNyb3BwZWRUaWNrTWFya3M6ITAsY291bnRkb3duRW5hYmxlZDohMCxsYXN0UHJpY2VBbmltYXRpb25FbmFibGVkOiEwLHVzZUtpbmV0aWNTY3JvbGw6Si5DaGVja01vYmlsZS5hbnkoKSxpbmRpY2F0b3JzRGlhbG9nU2hvcnRjdXRFbmFibGVkOiEwLGhhbmRsZVNjYWxlOnttb3VzZVdoZWVsOiEwLHBpbmNoOiEwLGF4aXNQcmVzc2VkTW91c2VNb3ZlOnt0aW1lOiEwLHByaWNlOiEwfX0saGFuZGxlU2Nyb2xsOnttb3VzZVdoZWVsOiEwLHByZXNzZWRNb3VzZU1vdmU6ITAsaG9yelRvdWNoRHJhZzohMCx2ZXJ0VG91Y2hEcmFnOiEwfX0saWc9KDAsR3IuZXh0cmFjdFRoZW1lZENvbG9ycykoeHQubGlnaHRUaGVtZS5jb250ZW50LmNoYXJ0UHJvcGVydGllcyx4dC5kYXJrVGhlbWUuY29udGVudC5jaGFydFByb3BlcnRpZXMpO3ZhciBzZztmdW5jdGlvbiBuZyhlLHQsaSxzPTApe2NvbnN0IG49dC5tYWluU2VyaWVzKCkuc3luY01vZGVsKCkscj1lLm1haW5TZXJpZXMoKS5zeW5jTW9kZWwoKTtsZXQgbz1pO2lmKG51bGwhPT1uJiZudWxsIT09cil7Y29uc3QgdD1lLmNyZWF0ZVN5bmNQb2ludChuLnN5bmNTb3VyY2VUYXJnZXQoKSxyLnN5bmNTb3VyY2VUYXJnZXQoKSk7MCE9PXMmJihpPW4ucHJvamVjdFRpbWUoaSxzKSksbz10LnNvdXJjZVRpbWVUb1RhcmdldFRpbWUoaSl9cmV0dXJuIGUudGltZVNjYWxlKCkucG9pbnRzKCkucm91Z2hJbmRleChvLHImJnIuZGlzdGFuY2UuYmluZChyKSl9IWZ1bmN0aW9uKGUpewplW2UuU2hvd1RpbWVBeGlzTWluQ2hhcnRIZWlnaHQ9NjFdPSJTaG93VGltZUF4aXNNaW5DaGFydEhlaWdodCIsZVtlLlNob3dQcmljZUF4aXNNaW5DaGFydFdpZHRoPTEwMl09IlNob3dQcmljZUF4aXNNaW5DaGFydFdpZHRoIn0oc2d8fChzZz17fSkpO2NvbnN0IHJnPW5ldyBTZXQoWyJWb2x1bWVAdHYtYmFzaWNzdHVkaWVzIiwiQ29tcGFyZUB0di1iYXNpY3N0dWRpZXMiLCJPdmVybGF5QHR2LWJhc2ljc3R1ZGllcyIsIkRpdmlkZW5kc0B0di1iYXNpY3N0dWRpZXMiLCJFYXJuaW5nc0B0di1iYXNpY3N0dWRpZXMiLCJTcGxpdHNAdHYtYmFzaWNzdHVkaWVzIiwiQmFyU2V0Q29udGludW91c1JvbGxEYXRlc0B0di1jb3Jlc3R1ZGllcyIsIlNlc3Npb25zQHR2LWJhc2ljc3R1ZGllcyIsIkluYWN0aXZpdHlHYXBzQHR2LWJhc2ljc3R1ZGllcyIsIlZiUFNlc3Npb25zUm91Z2hAdHYtdm9sdW1lYnlwcmljZSIsIkFuY2hvcmVkVldBUEB0di1iYXNpY3N0dWRpZXMiLCJSZWdyZXNzaW9uVHJlbmRAdHYtYmFzaWNzdHVkaWVzIiwiVmJQQW5jaG9yZWRAdHYtYmFzaWNzdHVkaWVzIiwiVmJQRml4ZWRAdHYtYmFzaWNzdHVkaWVzIiwiVmJQRml4ZWRAdHYtdm9sdW1lYnlwcmljZSIsIkxvbmdTaG9ydFBvc2l0aW9uQHR2LWJhc2ljc3R1ZGllcyIsIlJlcGxheVN0cmF0ZWd5QHR2LXNjcmlwdGluZyJdKSxvZz0oMCxidC5kZWZhdWx0KSgoKCk9Pnt3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5zZXRJc05vbkNvdW50ZWRTdHVkeUZuKChlPT5yZy5oYXMoZSkpKX0pKTt2YXIgYWc7IWZ1bmN0aW9uKGUpe2UuQ2FuY2VsZWQ9ImNhbmNlbGVkIixlLkxpbWl0cz0ibGltaXRzIn0oYWd8fChhZz17fSkpO2NsYXNzIGxnIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSl7c3VwZXIoYENyZWF0ZVN0dWR5RXJyb3I6ICR7ZX1gKSx0aGlzLnJlYXNvbj1lfX1sZy5SZWFzb25zPWFnO2NsYXNzIGNne2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fYWN0aXZlUGFuZVdpZGdldD1uZXcgaC5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fbWFpbkRpdj1udWxsLHRoaXMuX3BhcmVudD1udWxsLHRoaXMuX2VsVG9vbHRpcERpdj1udWxsLHRoaXMuX3BhbmVXaWRnZXRzPW5ldyBoLldhdGNoZWRWYWx1ZShbXSksdGhpcy5fdGltZUF4aXNXaWRnZXQ9bnVsbCx0aGlzLl9wYW5lU2VwYXJhdG9ycz1bXSx0aGlzLl9jb250cm9sQmFyTmF2aWdhdGlvbj1udWxsLHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplcj1udWxsLHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplckhhc0NoYW5nZXM9bnVsbCx0aGlzLl9tb2RlbENyZWF0ZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5faXNEZXN0cm95ZWQ9ITEsdGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c0ZhY3RvcnlNYXA9bmV3IE1hcCx0aGlzLl9iYWNrZ3JvdW5kVG9wVGhlbWU9bmV3IGguV2F0Y2hlZFZhbHVlKCJsaWdodCIpLHRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lPW5ldyBoLldhdGNoZWRWYWx1ZSgibGlnaHQiKSx0aGlzLl9iYWNrZ3JvdW5kQm90dG9tVGhlbWU9bmV3IGguV2F0Y2hlZFZhbHVlKCJsaWdodCIpLHRoaXMuX2JhY2tncm91bmRUb3BDb2xvclNwYXduPW51bGwsdGhpcy5fYmFja2dyb3VuZEJvdHRvbUNvbG9yU3Bhd249bnVsbCx0aGlzLl9saHNBeGVzV2lkdGg9MCx0aGlzLl9yaHNBeGVzV2lkdGg9MCx0aGlzLl9saHNQcmljZUF4aXNXaWR0aENoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fcmhzUHJpY2VBeGlzV2lkdGhDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2hvdGtleXNMaXN0ZW5lcj1udWxsLHRoaXMuX21vdXNlV2hlZWxIZWxwZXI9bnVsbCx0aGlzLl9vbldoZWVsQm91bmQ9bnVsbCx0aGlzLl9qdXN0QWN0aXZhdGVkPSExLHRoaXMuX2luaXRlZD0hMSx0aGlzLl9jb250YWluc0RhdGE9ITEsdGhpcy5faW5pdGlhbExvYWRpbmc9ITEsdGhpcy5fb25XaWRnZXQ9ITEsdGhpcy5fd2lkZ2V0Q3VzdG9tZXI9dm9pZCAwLHRoaXMuX2RlZkludGVydmFsPW51bGwsdGhpcy5fZGVmU3R5bGU9bnVsbCx0aGlzLl9kZWZUaW1lZnJhbWU9bnVsbCx0aGlzLl9kZWZNZXRyaWM9bnVsbCx0aGlzLl9yZW1vdmVNYXhpbWl6ZUhvdGtleT1udWxsLHRoaXMuX2ludmFsaWRhdGlvbk1hc2s9bnVsbCx0aGlzLl9kcmF3UGxhbm5lZD0hMSx0aGlzLl9kcmF3UmFmSWQ9MCx0aGlzLl9kcmF3VGltZT1uZXcgaC5XYXRjaGVkVmFsdWUocGVyZm9ybWFuY2Uubm93KCkpLHRoaXMuX2luTG9hZGluZ1N0YXRlPSExLHRoaXMuX3RpbWluZ3NNZXRlcj1udWxsLHRoaXMuX3RhZ3NDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3JlZHJhdz1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9pc1Zpc2libGU9bmV3IGguV2F0Y2hlZFZhbHVlKCEwKSx0aGlzLl9jb2xsYXBzZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9kYXRhV2luZG93V2lkZ2V0PW51bGwsdGhpcy5fcmVzaXplSGFuZGxlcj1udWxsLHRoaXMuX3NwaW5uZXI9bnVsbCx0aGlzLl9zeW1ib2xXVj1uZXcgaC5XYXRjaGVkVmFsdWUsdGhpcy5fcmVzb2x1dGlvbldWPW5ldyBoLldhdGNoZWRWYWx1ZSx0aGlzLl9hY3Rpb25zPW51bGwsdGhpcy5fdXBkYXRlVGhlbWVkQ29sb3JCb3VuZD10aGlzLl91cGRhdGVUaGVtZWRDb2xvci5iaW5kKHRoaXMpLHRoaXMuX2Rpc2Nvbm5lY3RlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9yZWNvbm5lY3RCYWlsb3V0PW5ldyBmLkRlbGVnYXRlLHRoaXMuX2Nvbm5lY3RlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9jaGFydFdpZGdldEluaXRpYWxpemVkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2Fib3V0VG9CZURlc3Ryb3llZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlPW51bGwsdGhpcy5fb2JqZWN0VHJlZURpYWxvZ0NvbnRyb2xsZXI9bnVsbCx0aGlzLl9jaGFydFBhaW50ZWRQcm9taXNlPW51bGwsdGhpcy5fbm9FeGNoYW5nZVN1YnNjcnB0aW9uV2FybmluZz1udWxsLHRoaXMuX2hpcDNEaXNjbGFpbWVyUmVzb3VyY2U9bnVsbCx0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlPW5ldyB3bix0aGlzLl9vblpvb209bmV3IGYuRGVsZWdhdGUsdGhpcy5fb25TY3JvbGw9bmV3IGYuRGVsZWdhdGUsCnRoaXMuX2F2YWlsYWJsZVNjcmVlbj1udWxsLHRoaXMuX3dpZGdldFN5bWJvbENoYW5nZVJlc3RyaWN0aW9ucz1udWxsLHRoaXMuX2hvdmVyZWRQcmljZUF4ZXM9bmV3IFNldCx0aGlzLl9hbnlBeGlzSG92ZXJlZD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2xpbmtpbmdHcm91cEluZGV4PW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9pc0hvdmVyZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9hY3RpdmVIaW50PW51bGwsdGhpcy5fZXZlbnRIaW50RGVmZXJyZWRQcm9taXNlPW51bGwsdGhpcy5fd2FybmluZ0hpbnREZWZlcnJlZFByb21pc2U9bnVsbCx0aGlzLl9zZXRTeW1ib2xJbnRlcnZhbENvbnRlbnRPdmVycmlkZXM9e30sdGhpcy5fYXJpYVByaWNlRGVzY3JpcHRpb249bnVsbCx0aGlzLl9kZWZpbml0aW9uc1ZpZXdNb2RlbD1udWxsLHRoaXMuX2JhcnNCdXR0b249bnVsbCx0aGlzLl9tb2RlbFdWPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl91cGRhdGVTY2FsZXNBY3Rpb25zPSgpPT57Y29uc3QgZT10aGlzLmFjdGlvbnMoKSx0PXRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCksaT10LnByaWNlU2NhbGUoKSxzPXQucHJvcGVydGllcygpLG49aS5pc0xvY2tTY2FsZSgpLHI9Nj09PXMuY2hpbGRzKCkuc3R5bGUudmFsdWUoKTtlLnBlcmNlbnRTZXJpZXNTY2FsZS51cGRhdGUoe2Rpc2FibGVkOm58fHIsY2hlY2tlZDppLmlzUGVyY2VudGFnZSgpfSksZS5sb2dTZXJpZXNTY2FsZS51cGRhdGUoe2Rpc2FibGVkOm58fHIsY2hlY2tlZDppLmlzTG9nKCl9KSxlLnJlZ3VsYXJTZXJpZXNTY2FsZS51cGRhdGUoe2Rpc2FibGVkOm58fHIsY2hlY2tlZDppLmlzUmVndWxhcigpfSksZS5pbmRleGVkVG8xMDBTZXJpZXNTY2FsZS51cGRhdGUoe2Rpc2FibGVkOm58fHIsY2hlY2tlZDppLmlzSW5kZXhlZFRvMTAwKCl9KSxlLmludmVydFNlcmllc1NjYWxlLnVwZGF0ZSh7Y2hlY2tlZDppLmlzSW52ZXJ0ZWQoKX0pLGUubG9ja1Nlcmllc1NjYWxlLnVwZGF0ZSh7Y2hlY2tlZDppLmlzTG9ja1NjYWxlKCl9KSxlLmF1dG9TZXJpZXNTY2FsZS51cGRhdGUoe2NoZWNrZWQ6aS5pc0F1dG9TY2FsZSgpLGRpc2FibGVkOmkucHJvcGVydGllcygpLmNoaWxkcygpLmF1dG9TY2FsZURpc2FibGVkLnZhbHVlKCl9KX0sdGhpcy5faW52YWxpZGF0aW9uSGFuZGxlcj1lPT57aWYoIShlIGluc3RhbmNlb2YgTGUuSW52YWxpZGF0aW9uTWFzaykpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIG1hc2siKTtudWxsIT09dGhpcy5faW52YWxpZGF0aW9uTWFzaz90aGlzLl9pbnZhbGlkYXRpb25NYXNrLm1lcmdlKGUpOnRoaXMuX2ludmFsaWRhdGlvbk1hc2s9ZSx0aGlzLl9kcmF3UGxhbm5lZHx8KHRoaXMuX2RyYXdQbGFubmVkPSEwLHRoaXMuX29wdGlvbnMudmlzaWJsZS53aGVuKCgoKT0+e2NvbnN0IGU9IWRvY3VtZW50LmhpZGRlbix0PXRoaXMuc2NyZWVuJiZ0aGlzLnNjcmVlbi5pc1Nob3duKCk7bnVsbCE9PXRoaXMuX3RpbWluZ3NNZXRlciYmZSYmIXQmJnRoaXMuX3RpbWluZ3NNZXRlci5zdGFydFdhaXRpbmdEcmF3KCk7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcGFyZW50KS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KTt0aGlzLl9kcmF3UmFmSWQ9aS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5faW52YWxpZGF0aW9uUkFGQ2FsbGJhY2suYmluZCh0aGlzKSl9KSkpfSx0aGlzLl9vbkNoYXJ0U2Vzc2lvbklzQ29ubmVjdGVkQ2hhbmdlZD1lPT57ZT90aGlzLl9vbkNvbm5lY3Rpb24oKTp0aGlzLl9vbkRpc2Nvbm5lY3QoKX0sdGhpcy5fc3Vic2NyaWJlVG9CYW5JbmZvPWU9PntlP3RoaXMuX3NwaW5uZXI/LnN0b3AoKTp0aGlzLl9zcGlubmVyPy5zcGluKCl9LHRoaXMuX2lkPXQsdGhpcy5fb3B0aW9ucz0oMCxhLm1lcmdlKSgoMCxhLmNsb25lKSh0ZyksZSksdGhpcy5fb3B0aW9ucy5leHRlcm5hbFNlcnZpY2VzPWUuZXh0ZXJuYWxTZXJ2aWNlcyx0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb249dGhpcy5fb3B0aW9ucy5jaGFydFdpZGdldENvbGxlY3Rpb24sdGhpcy5faXNBY3RpdmU9bmV3IGguV2F0Y2hlZFZhbHVlKCEhdGhpcy5fb3B0aW9ucy5pc0FjdGl2ZSksdGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXRXVj10aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24uYWN0aXZlQ2hhcnRXaWRnZXQuc3Bhd24oKSx0aGlzLl9vcHRpb25zLmN1c3RvbUxlZ2VuZFdpZGdldEZhY3RvcmllcyYmKHRoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNGYWN0b3J5TWFwPXRoaXMuX29wdGlvbnMuY3VzdG9tTGVnZW5kV2lkZ2V0RmFjdG9yaWVzKSx0aGlzLl9zdWJzY3JpYmVUb0RyYXdpbmdTdGF0ZSgpLHRoaXMud2l0aE1vZGVsKHRoaXMsKCgpPT57Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKTtlLmJhY2tncm91bmRUb3BDb2xvcigpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVUaGVtZWRDb2xvckJvdW5kKSxlLmJhY2tncm91bmRDb2xvcigpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVUaGVtZWRDb2xvckJvdW5kKX0pKTtjb25zdCBzPSgwLHUuY29tYmluZSkoKGU9PltlP2UubWFpblNlcmllcygpLnN5bWJvbEluZm9XVigpLndlYWtSZWZlcmVuY2UoKTpuZXcgaC5XYXRjaGVkVmFsdWUobnVsbCkub3duZXJzaGlwKCldKSx0aGlzLl9tb2RlbFdWLndlYWtSZWZlcmVuY2UoKSk7dGhpcy5fc3ltYm9sSW5mb1dWPSgwLHUuYWNjdW11bGF0ZSkoKGU9PmVbMF0pLHMub3duZXJzaGlwKCkpLm93bmVyc2hpcCgpLCgwLFEuZ2V0Qm9vbCkoImhpcDMuZGlzY2xhaW1lckFjY2VwdGVkIil8fCh0aGlzLl9oaXAzRGlzY2xhaW1lclJlc291cmNlPW5ldyB0YS5Bc3luY1Jlc291cmNlV3JhcHBlcihpLmUoNTk3OSkudGhlbihpLmJpbmQoaSwzNjM2NTMpKS50aGVuKChlPT50aGlzLl9pc0Rlc3Ryb3llZD9udWxsOm5ldyBlLkhpcDNEaXNjbGFpbWVyKHRoaXMuX21vZGVsV1Yud2Vha1JlZmVyZW5jZSgpKSkpLChlPT57ZT8uZGVzdHJveSgpfSkpKSwKdGhpcy5fZXJyb3JSZW5kZXJlclJlc291cmNlPW5ldyB0YS5Bc3luY1Jlc291cmNlV3JhcHBlcihQcm9taXNlLmFsbChbaS5lKDUyODgyKSxpLmUoNjA5NjkpXSkudGhlbihpLmJpbmQoaSwyNDU4NjEpKS50aGVuKChlPT50aGlzLl9pc0Rlc3Ryb3llZD9udWxsOm5ldyBlLkVycm9yUmVuZGVyZXIobmV3IGguV2F0Y2hlZFZhbHVlKHRoaXMpKSkpLChlPT57ZT8uZGVzdHJveSgpfSkpLHRoaXMuX3Njcm9sbEhlbHBlcj1uZXcgWnQodGhpcyksdGhpcy5fb2JqZWN0VHJlZURpYWxvZ0NvbnRyb2xsZXI9QnQuZ2V0SW5zdGFuY2UoKSx0aGlzLl9wcm9wZXJ0aWVzPW5ldyBHci5EZWZhdWx0UHJvcGVydHkoe2RlZmF1bHROYW1lOiJjaGFydHByb3BlcnRpZXMiLHVzZVVzZXJQcmVmZXJlbmNlczp0aGlzLl9vcHRpb25zLnVzZVVzZXJDaGFydFByZWZlcmVuY2VzLGV4Y2x1ZGVkRGVmYXVsdHNLZXlzOlsic2NhbGVzUHJvcGVydGllcy5heGlzSGlnaGxpZ2h0Q29sb3IiLCJzY2FsZXNQcm9wZXJ0aWVzLmF4aXNMaW5lVG9vbExhYmVsQmFja2dyb3VuZENvbG9yQWN0aXZlIiwic2NhbGVzUHJvcGVydGllcy5heGlzTGluZVRvb2xMYWJlbEJhY2tncm91bmRDb2xvckNvbW1vbiIsInNjYWxlc1Byb3BlcnRpZXMuc2hvd1ByaWNlU2NhbGVDcm9zc2hhaXJMYWJlbCIsInNjYWxlc1Byb3BlcnRpZXMuc2hvd1RpbWVTY2FsZUNyb3NzaGFpckxhYmVsIiwic2NhbGVzUHJvcGVydGllcy5jcm9zc2hhaXJMYWJlbEJnQ29sb3JMaWdodCIsInNjYWxlc1Byb3BlcnRpZXMuY3Jvc3NoYWlyTGFiZWxCZ0NvbG9yRGFyayIsImFsZXJ0c1Byb3BlcnRpZXMiLCJtYWluU2VyaWVzUHJvcGVydGllcyIsInBhbmVQcm9wZXJ0aWVzLmdyaWRMaW5lc01vZGUiXSxleGNsdWRlZFRlbXBsYXRlS2V5czpbInRpbWV6b25lIiwidHJhZGluZ1Byb3BlcnRpZXMiLCJtYWluU2VyaWVzUHJvcGVydGllcyIsImNoYXJ0RXZlbnRzU291cmNlUHJvcGVydGllcyIsInByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWUiLCJwYW5lUHJvcGVydGllcy50b3BNYXJnaW4iLCJwYW5lUHJvcGVydGllcy5ib3R0b21NYXJnaW4iLCJ2b2x1bWVQYW5lU2l6ZSIsImFsZXJ0c1Byb3BlcnRpZXMiXSxleGNsdWRlZFN0YXRlS2V5czpbImFsZXJ0c1Byb3BlcnRpZXMiLCJtYWluU2VyaWVzUHJvcGVydGllcyJdLHRoZW1lZENvbG9yczppZ30pLHRoaXMuX21haW5TZXJpZXNQcm9wZXJ0aWVzPW5ldyBqXy5TZXJpZXNQcm9wZXJ0aWVzSW1wbCx0aGlzLl9zdGFydFNwaW5uZXIodGhpcy5fb3B0aW9ucy5jb250YWluZXIudmFsdWUoKSksd2luZG93LkNoYXJ0QXBpSW5zdGFuY2UuY29ubmVjdGlvbkJhbkluZm8oKS5zdWJzY3JpYmUodGhpcy5fc3Vic2NyaWJlVG9CYW5JbmZvLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9jaGFydFNlc3Npb249bmV3IFR0LkNoYXJ0U2Vzc2lvbih3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZSksb2coKSx0aGlzLl9pc011bHRpcGxlTGF5b3V0PSgwLHUuY29tYmluZSkoKGU9PigwLE8uaXNNdWx0aXBsZUxheW91dCkoZSkpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5sYXlvdXQud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2NhbGVTZXJpZXNPbmx5LnN1YnNjcmliZShudWxsLCgoKT0+e2NvbnN0IGU9dGhpcy5tb2RlbCgpLm1vZGVsKCk7ZS5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLGUuaW52YWxpZGF0ZShMZS5JbnZhbGlkYXRpb25NYXNrLmZ1bGwoKSl9KSksdGhpcy5faG90a2V5cz1ZLmNyZWF0ZUdyb3VwKHtkZXNjOiJDaGFydCBhY3Rpb25zIixpc0Rpc2FibGVkOigpPT4hdGhpcy5pc0FjdGl2ZSgpLnZhbHVlKCl9KSwoMCxKLm9uV2lkZ2V0KSgpfHwodGhpcy5fcGVyc2lzdGVudExvZ1N3aXRjaGVyPW5ldyBQXy5GZWF0dXJlVG9nZ2xlV2F0Y2hlZFZhbHVlKCJzdXBwb3J0X3BlcnNpc3RlbnRfbG9ncyIsITEpLHRoaXMuX3BlcnNpc3RlbnRMb2dTd2l0Y2hlci5zdWJzY3JpYmUoKGFzeW5jIGU9PntpZihlKXtpZigoMCxsbC5nZXRQZXJzaXN0ZW50TG9nZ2VyKSgpKXJldHVybjsoMCxsbC5zZXRQZXJzaXN0ZW50TG9nZ2VyKShuZXcgTV8pO2NvbnN0e2luaXRQZXJzaXN0ZW50TG9nZ2VyOmV9PWF3YWl0IGkuZSg2NTkwOSkudGhlbihpLmJpbmQoaSwzOTE0MykpO3RoaXMuX3BlcnNpc3RlbnRMb2dTd2l0Y2hlcj8udmFsdWUoKT9lKCk6KDAsbGwuc2V0UGVyc2lzdGVudExvZ2dlcikobnVsbCl9ZWxzZSgwLGxsLnNldFBlcnNpc3RlbnRMb2dnZXIpKG51bGwpfSkse2NhbGxXaXRoTGFzdDohMH0pKSx0aGlzLl9jb21wYXJlRGlhbG9nPXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5nZXRDb21wYXJlRGlhbG9nUmVuZGVyZXIoKSx0aGlzLl9vcHRpb25zLnRpbWVTY2FsZVdpZGdldCYmKHRoaXMuX29wdGlvbnMudGltZVNjYWxlV2lkZ2V0LnByZXNzZWRNb3VzZU1vdmVTY2FsZT10aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnRpbWUpO2NvbnN0IG49dGhpcy5fb3B0aW9ucy5vbkNtZVdpZGdldDtuJiZZbS5sb2dXYXJuKCJbQ2hhcnRXaWRnZXRdICdvbkNtZVdpZGdldCcgb3B0aW9uIGlzIGRlcHJpY2F0ZWQiKTtjb25zdCByPXRoaXMuX29wdGlvbnMud2lkZ2V0Q3VzdG9tZXIsbz10aGlzLl9vcHRpb25zLnRpbWV6b25lO2xldCBjPXRoaXMuX29wdGlvbnMuZGVmU3ltYm9sPz8iIixkPXguSW50ZXJ2YWwuaXNWYWxpZCh0aGlzLl9vcHRpb25zLmRlZkludGVydmFsKT90aGlzLl9vcHRpb25zLmRlZkludGVydmFsOm51bGw7Y29uc3QgcD10aGlzLl9vcHRpb25zLmRlZlN0eWxlO2xldCBfPSgwLEEuaXNWYWxpZFN0eWxlKShwKT9wOm51bGw7Y29uc3QgbT10aGlzLl9vcHRpb25zLmRlZlNlc3Npb25JZCxnPXZvaWQgMCE9PXRoaXMuX29wdGlvbnMuZGVmVGltZWZyYW1lPyJzdHJpbmciPT10eXBlb2YgdGhpcy5fb3B0aW9ucy5kZWZUaW1lZnJhbWU/e3ZhbHVlOnRoaXMuX29wdGlvbnMuZGVmVGltZWZyYW1lLnRvVXBwZXJDYXNlKCksdHlwZToicGVyaW9kLWJhY2sifTp7Ci4uLnRoaXMuX29wdGlvbnMuZGVmVGltZWZyYW1lLHR5cGU6InRpbWUtcmFuZ2UifTpudWxsO2xldCBTPXRoaXMuX29wdGlvbnMuZGVmTWV0cmljPz9udWxsO3RoaXMuX2NvbnRlbnQ9dGhpcy5fb3B0aW9ucy5jb250ZW50LHRoaXMuX2luaXRpYWxMb2FkaW5nPXRoaXMuX29wdGlvbnMuaW5pdGlhbExvYWRpbmcsdGhpcy5fY29udGFpbnNEYXRhPSEhdGhpcy5fb3B0aW9ucy5jb250YWluc0RhdGEsdGhpcy5fb25XaWRnZXQ9ISF0aGlzLl9vcHRpb25zLm9uV2lkZ2V0LHRoaXMuX2NvbXBhcmVTeW1ib2xzPXRoaXMuX29wdGlvbnMuY29tcGFyZVN5bWJvbHMsdGhpcy5fZGVmU3ltYm9sPWMsdGhpcy5fZGVmSW50ZXJ2YWw9ZCx0aGlzLl9kZWZUaW1lZnJhbWU9Zyx0aGlzLl9kZWZTdHlsZT1fLHRoaXMuX2RlZk1ldHJpYz1TLHRoaXMuX29uV2lkZ2V0JiYobj90aGlzLl93aWRnZXRDdXN0b21lcj0iY21lIjpyJiYodGhpcy5fd2lkZ2V0Q3VzdG9tZXI9cikpLHRoaXMuX2NvbXBhcmVEaWFsb2c9dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmdldENvbXBhcmVEaWFsb2dSZW5kZXJlcigpO2NvbnN0IHY9dGhpcy5fY29udGVudFNlcmllc1Byb3BlcnRpZXMoKTt2JiYoYz12LnN5bWJvbCxkPXYuaW50ZXJ2YWwsUz12Lm1ldHJpY0lkKSx2b2lkIDA9PT10aGlzLl9vcHRpb25zLnVzZVVzZXJDaGFydFByZWZlcmVuY2VzJiYodGhpcy5fb3B0aW9ucy51c2VVc2VyQ2hhcnRQcmVmZXJlbmNlcz0hMCk7Y29uc3QgeT0iY2hhcnRwcm9wZXJ0aWVzLm1haW5TZXJpZXNQcm9wZXJ0aWVzIixiPXRoaXMuX29wdGlvbnMudXNlVXNlckNoYXJ0UHJlZmVyZW5jZXM/KDAsJGwuZGVmYXVsdHMpKHkpOigwLCRsLmZhY3RvcnlEZWZhdWx0cykoeSksdz10aGlzLl9tYWluU2VyaWVzUHJvcGVydGllcyxDPWR8fGIuaW50ZXJ2YWx8fCJEIjtudWxsIT09XyYmKDAsQS5pc1ZhbGlkU3R5bGUpKF8pfHwoXz0oMCxBLmlzVmFsaWRTdHlsZSkoYi5zdHlsZSk/Yi5zdHlsZTooMCxBLmdldERlZmF1bHRTdHlsZSkoeC5JbnRlcnZhbC5pc1JhbmdlKEMpKSk7Y29uc3QgUD0oMCxDdC5kZWZhdWx0KSh7dmlzaWJsZTohMCxzeW1ib2w6Y3x8KDAsRHQuZ2V0RGVmYXVsdFN5bWJvbCkoKSxzaG9ydE5hbWU6IiIsdGltZWZyYW1lOiIiLGludGVydmFsOkMsY3VycmVuY3lJZDpudWxsLHVuaXRJZDpudWxsLHN0eWxlOl8sc2Vzc2lvbklkOm0sbWV0cmljSWQ6U30sYS5ub3RVbmRlZmluZWQpO3cubWVyZ2UoUCksdGhpcy5fc3ltYm9sV1Yuc2V0VmFsdWUoYyksdGhpcy5fcmVzb2x1dGlvbldWLnNldFZhbHVlKEMpLHRoaXMuX2NvbnRhaW5zRGF0YSYmdGhpcy5fbWFpblNlcmllc1Byb3BlcnRpZXMubWVyZ2Uoe3Nob3dDb3VudGRvd246ITF9KSxvJiYoMCxqdC50aW1lem9uZUlzQXZhaWxhYmxlKShvKSYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS50aW1lem9uZS5zZXRWYWx1ZShvKSx0aGlzLl9vcHRpb25zLmNvbnRhaW5lci5zdWJzY3JpYmUoKGU9Pnt0aGlzLl9zZXRFbGVtZW50KGUpfSkse2NhbGxXaXRoTGFzdDohMH0pO2NvbnN0IFQ9KCk9Pnt0aGlzLnJlc2l6ZSgpfTt0aGlzLl9vcHRpb25zLndpZHRoLnN1YnNjcmliZShUKSx0aGlzLl9vcHRpb25zLmhlaWdodC5zdWJzY3JpYmUoVCksdGhpcy5fb3B0aW9ucy52aXNpYmxlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVUaW1pbmdzTWV0ZXJTdGF0ZS5iaW5kKHRoaXMpKX1yZWZyZXNoTWFya3MoKXt0aGlzLm1vZGVsKCkuYmFyc01hcmtzU291cmNlcygpLmZvckVhY2goKGU9PmUucmVmcmVzaERhdGEoKSkpfWNsZWFyTWFya3MoZSl7dGhpcy5tb2RlbCgpLmJhcnNNYXJrc1NvdXJjZXMoKS5mb3JFYWNoKCh0PT50LmNsZWFyTWFya3MoZSkpKX1zZXRUaW1lem9uZShlKXtjb25zdCB0PWU7dCYmKDAsanQudGltZXpvbmVJc0F2YWlsYWJsZSkodCk/dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudGltZXpvbmUuc2V0VmFsdWUodCk6Y29uc29sZS53YXJuKCJJbmNvcnJlY3QgdGltZXpvbmU6ICIrSlNPTi5zdHJpbmdpZnkodCkpfWdldFRpbWV6b25lKCl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnRpbWV6b25lLnZhbHVlKCl9ZGVzdHJveSgpe3RoaXMuX2NoYXJ0U2Vzc2lvbi5kaXNjb25uZWN0KCksdGhpcy5fdW5zZXRBY3Rpb25zKCksdGhpcy5faG90a2V5cz8uZGVzdHJveSgpLHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplcj8uZGVzdHJveSgpLHRoaXMuX25vRXhjaGFuZ2VTdWJzY3JwdGlvbldhcm5pbmc/LmRlc3Ryb3koKSx0aGlzLl9oaXAzRGlzY2xhaW1lclJlc291cmNlPy5kZXN0cm95KCksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2UudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVMb2dpblN0YXRlQ2hhbmdlZCksdGhpcy5oYXNNb2RlbCgpJiYodGhpcy5tb2RlbCgpLm1vZGVsKCkuYmFja2dyb3VuZFRvcENvbG9yKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVGhlbWVkQ29sb3JCb3VuZCksdGhpcy5tb2RlbCgpLm1vZGVsKCkuYmFja2dyb3VuZENvbG9yKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVGhlbWVkQ29sb3JCb3VuZCksdGhpcy5tb2RlbCgpLm1vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkubW92ZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUFyaWFQcmljZURlc2NyaXB0aW9uKSx0aGlzLm1vZGVsKCkuZGVzdHJveSgpKSx0aGlzLl9tb2RlbFdWLmRlc3Ryb3koKSx3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5jb25uZWN0aW9uQmFuSW5mbygpLnVuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZVRvQmFuSW5mbyksdGhpcy5fYXJpYVByaWNlRGVzY3JpcHRpb249bnVsbCx0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yeU1hcC5jbGVhcigpLHRoaXMuX3Njcm9sbEhlbHBlci5kZXN0cm95KCksdGhpcy5fZXJyb3JSZW5kZXJlclJlc291cmNlLmRlc3Ryb3koKSx0aGlzLl9jaGFydFNlc3Npb24uY3JpdGljYWxFcnJvcigpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25DaGFydFNlc3Npb25Dcml0aWNhbEVycm9yKSwKdGhpcy5fY2hhcnRTZXNzaW9uLmlzQ29ubmVjdGVkKCkudW5zdWJzY3JpYmUodGhpcy5fb25DaGFydFNlc3Npb25Jc0Nvbm5lY3RlZENoYW5nZWQpLHRoaXMuX2NoYXJ0U2Vzc2lvbi5kZXN0cm95KCksdGhpcy5fcGVyc2lzdGVudExvZ1N3aXRjaGVyPy5kZXN0cm95KCksdGhpcy5faXNEZXN0cm95ZWQ9ITAsdGhpcy5fYWJvdXRUb0JlRGVzdHJveWVkLmZpcmUoKSx0aGlzLl9yZW1vdmVNYXhpbWl6ZUhvdGtleT8uKCksdGhpcy5fcmVtb3ZlTWF4aW1pemVIb3RrZXk9bnVsbCwwIT09dGhpcy5fZHJhd1JhZklkJiZ0aGlzLl9wYXJlbnQ/Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc/LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2RyYXdSYWZJZCksdGhpcy5fYmFja2dyb3VuZFRvcENvbG9yU3Bhd24/LmRlc3Ryb3koKSx0aGlzLl9iYWNrZ3JvdW5kQm90dG9tQ29sb3JTcGF3bj8uZGVzdHJveSgpLHRoaXMuX3RpbWluZ3NNZXRlcj8uc3RvcENvbGxlY3QoKSx0aGlzLl90aW1pbmdzTWV0ZXI9bnVsbDtjb25zdCBlPXRoaXMuX3BhbmVXaWRnZXRzLnZhbHVlKCk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspZVt0XS5kZXN0cm95KCk7dGhpcy5fcGFuZVdpZGdldHMuc2V0VmFsdWUoW10pO2ZvcihsZXQgZT0wO2U8dGhpcy5fcGFuZVNlcGFyYXRvcnMubGVuZ3RoO2UrKyl0aGlzLl9wYW5lU2VwYXJhdG9yc1tlXS5kZXN0cm95KCk7dGhpcy5fcGFuZVNlcGFyYXRvcnMubGVuZ3RoPTAsdGhpcy5faG90a2V5c0xpc3RlbmVyPy5kZXN0cm95KCksdGhpcy5fYmFyc0J1dHRvbj8uZGVzdHJveSgpLHRoaXMuX2NvbnRyb2xCYXJOYXZpZ2F0aW9uPy5kZXN0cm95KCksdGhpcy5fY29udHJvbEJhck5hdmlnYXRpb249bnVsbCx0aGlzLl9tYWluRGl2JiYodGhpcy5fb25XaGVlbEJvdW5kJiZ0aGlzLl9tYWluRGl2LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLl9vbldoZWVsQm91bmQpLHRoaXMuX21haW5EaXYucmVtb3ZlKCkpLHRoaXMuX3RpbWVBeGlzV2lkZ2V0Py5kZXN0cm95KCksdGhpcy5fdGltZUF4aXNXaWRnZXQ9bnVsbCx0aGlzLl9kZWZpbml0aW9uc1ZpZXdNb2RlbD8uZGVzdHJveSgpLHRoaXMuX2lzTXVsdGlwbGVMYXlvdXQuZGVzdHJveSgpLFQuY3JlYXRlZExpbmVUb29sLnVuc3Vic2NyaWJlQWxsKHRoaXMpLFQuY29udGludWVkTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5jYW5jZWxsZWRMaW5lVG9vbC51bnN1YnNjcmliZUFsbCh0aGlzKSxULmJlZW5TZXRMaW5lVG9vbExhc3RQb2ludC51bnN1YnNjcmliZUFsbCh0aGlzKSxULnN0YXJ0ZWRNb3ZpbmdMaW5lVG9vbC51bnN1YnNjcmliZUFsbCh0aGlzKSxULm1vdmVkTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5maW5pc2hlZE1vdmluZ0xpbmVUb29sLnVuc3Vic2NyaWJlQWxsKHRoaXMpLFQuc3RhcnRlZENoYW5naW5nTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5jaGFuZ2VkTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5maW5pc2hlZENoYW5naW5nTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5yZW1vdmVkTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5maW5pc2hlZExpbmVUb29sLnVuc3Vic2NyaWJlQWxsKHRoaXMpLFQuY2hhbmdlZExpbmVTdHlsZS51bnN1YnNjcmliZUFsbCh0aGlzKSxULnJlc3RvcmVkTGluZVRvb2xTdGF0ZS51bnN1YnNjcmliZUFsbCh0aGlzKSxULnJlc3RvcmVkTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5jb3BpZWRMaW5lVG9vbC51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9hY3RpdmVDaGFydFdpZGdldFdWLmRlc3Ryb3koKX10aXRsZSgpe3JldHVybiBwLnQobnVsbCx2b2lkIDAsaSg2MjU3ODgpKX1lbXVsYXRlQ3JpdGljYWxFcnJvcigpe3RoaXMuX2NoYXJ0U2Vzc2lvbi5yZW1vdmVTZXJpZXMoIi0xIil9Y2hhcnRTZXNzaW9uKCl7cmV0dXJuIHRoaXMuX2NoYXJ0U2Vzc2lvbn1vbkRpc2Nvbm5lY3RlZCgpe3JldHVybiB0aGlzLl9kaXNjb25uZWN0ZWR9b25SZWNvbm5lY3RCYWlsb3V0KCl7cmV0dXJuIHRoaXMuX3JlY29ubmVjdEJhaWxvdXR9b25Db25uZWN0ZWQoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGVkfWNoYXJ0V2lkZ2V0SW5pdGlhbGl6ZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXRJbml0aWFsaXplZH1zZXRCYXJzQnV0dG9uKGUpe3RoaXMuX2JhcnNCdXR0b249ZX1zZXRWaXNpYmxlVGltZVJhbmdlKGUsdCxpLHMsbil7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX1jaGFydFdpZGdldENvbGxlY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9ufWlzSW5pdGlhbGl6ZWQoKXtyZXR1cm4gdGhpcy5faW5pdGVkfWxpbmVUb29sc1N5bmNocm9uaXplcigpe3JldHVybiB0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXJ9YWN0aW9ucygpe3JldHVybiBudWxsPT09dGhpcy5fYWN0aW9ucz90aGlzLl9zZXRBY3Rpb25zKCk6dGhpcy5fYWN0aW9uc31kZWZhdWx0U3ltYm9sKCl7cmV0dXJuIHRoaXMuX2RlZlN5bWJvbH1yZXF1ZXN0RnVsbHNjcmVlbigpe3RoaXMuZ2V0UmVzaXplckRldGFjaGVyKCkucmVxdWVzdEZ1bGxzY3JlZW4oKX1leGl0RnVsbHNjcmVlbigpe3RoaXMuZ2V0UmVzaXplckRldGFjaGVyKCkuZXhpdEZ1bGxzY3JlZW4oKX1pbkZ1bGxzY3JlZW4oKXtyZXR1cm4gdGhpcy5nZXRSZXNpemVyRGV0YWNoZXIoKS5mdWxsc2NyZWVuLnZhbHVlKCl9bW9kZWxDcmVhdGVkKCl7cmV0dXJuIHRoaXMuX21vZGVsQ3JlYXRlZH1jb250YWluc1N0dWR5QnlQcmVkaWNhdGUoZSl7cmV0dXJuISF0aGlzLmhhc01vZGVsKCkmJnRoaXMubW9kZWwoKS5kYXRhU291cmNlcygpLnNvbWUoKHQ9PiEhKDAsdGkuaXNTdHVkeSkodCkmJmUodC5tZXRhSW5mbygpKSkpfW1vZGVsKCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbFdWLnZhbHVlKCkpfWlkKCl7cmV0dXJuIHRoaXMuX2lkfWxheW91dElkKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5tZXRhSW5mby51aWQudmFsdWUoKX1wcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXN9Cm1haW5TZXJpZXNQcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX21haW5TZXJpZXNQcm9wZXJ0aWVzfXJlYWRPbmx5KCl7cmV0dXJuIEJvb2xlYW4odGhpcy5fb3B0aW9ucy5yZWFkT25seSl9aXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5faXNBY3RpdmUucmVhZG9ubHkoKX1pc0hvdmVyZWQoKXtyZXR1cm4gdGhpcy5faXNIb3ZlcmVkLnJlYWRvbmx5KCl9Y3Jvc3NIYWlyU3luY0VuYWJsZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmxvY2suY3Jvc3NoYWlyLnZhbHVlKCl9aXNWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX2lzVmlzaWJsZS52YWx1ZSgpfXNldFZpc2libGUoZSl7dGhpcy5faXNWaXNpYmxlLnNldFZhbHVlKGUpfXZpc2libGUoKXtyZXR1cm4gdGhpcy5faXNWaXNpYmxlLnJlYWRvbmx5KCl9aXNDb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy5fY29sbGFwc2VkLnZhbHVlKCl9c2V0Q29sbGFwc2VkKGUpe3RoaXMuX2NvbGxhcHNlZC5zZXRWYWx1ZShlKX1jb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy5fY29sbGFwc2VkLnJlYWRvbmx5KCl9aXNKdXN0Q2xvbmVkQ2hhcnQoKXtyZXR1cm4hISh0aGlzLl9vcHRpb25zfHx7fSkuanVzdENsb25lZH1yZW1vdmVBbGxEcmF3aW5nVG9vbHMoKXshIXRoaXMubW9kZWwoKS5tb2RlbCgpLmFsbExpbmVUb29scygpLmZpbmQoKGU9PmUuaXNMb2NrZWQ/LigpKSk/KDAsJG0uY29uZmlybVJlbW92aW5nTG9ja2VkTGluZVRvb2xzKSgkbS5EZWxldGVMb2NrZWRMaW5lVG9vbFJlYXNvbi5SZW1vdmVBbGwpLnRoZW4oKGU9Pnt0aGlzLm1vZGVsKCkucmVtb3ZlQWxsRHJhd2luZ1Rvb2xzKGUpfSkpOnRoaXMubW9kZWwoKS5yZW1vdmVBbGxEcmF3aW5nVG9vbHMoITApfXJlbW92ZUFsbFN0dWRpZXMoKXt0aGlzLm1vZGVsKCkucmVtb3ZlQWxsU3R1ZGllcygpfXJlbW92ZUFsbFN0dWRpZXNEcmF3aW5nVG9vbHMoKXshIXRoaXMubW9kZWwoKS5tb2RlbCgpLmFsbExpbmVUb29scygpLmZpbmQoKGU9PmUuaXNMb2NrZWQ/LigpKSk/KDAsJG0uY29uZmlybVJlbW92aW5nTG9ja2VkTGluZVRvb2xzKSgkbS5EZWxldGVMb2NrZWRMaW5lVG9vbFJlYXNvbi5SZW1vdmVBbGwpLnRoZW4oKGU9Pnt0aGlzLm1vZGVsKCkucmVtb3ZlQWxsU3R1ZGllc0FuZERyYXdpbmdUb29scyhlKX0pKTp0aGlzLm1vZGVsKCkucmVtb3ZlQWxsU3R1ZGllc0FuZERyYXdpbmdUb29scyghMCl9cmVtb3ZlU2VsZWN0ZWRTb3VyY2VzKCl7dGhpcy5yZW1vdmVEYXRhU291cmNlcyh0aGlzLm1vZGVsKCkuc2VsZWN0aW9uKCkuZGF0YVNvdXJjZXMoKSl9cmVtb3ZlRGF0YVNvdXJjZXMoZSl7Y29uc3QgdD10aGlzLm1vZGVsKCksaT1lLmZpbHRlcigoZT0+ZSE9PXQubWFpblNlcmllcygpJiZlIT09dC5saW5lQmVpbmdDcmVhdGVkKCkmJmUuaXNVc2VyRGVsZXRhYmxlKCkpKTtpZigwPT09aS5sZW5ndGgpcmV0dXJuO2xldCBzPW51bGw7KDAsdGkuaXNTdHVkeSkoaVswXSkmJigoMCxsLmFzc2VydCkoMT09PWkubGVuZ3RoLCJDYW5ub3QgcmVtb3ZlIHNldmVyYWwgc3R1ZGllcyAobm8gbXVsdGkgc2VsZWN0IGZvciBzdHVkaWVzKSIpLHM9aVswXSk7Y29uc3Qgbj1pLmZpbmQoKGU9PmUuaGFzQWxlcnQoKS52YWx1ZSgpKSkscj0hIWkuZmluZCgoZT0+KDAscmkuaXNMaW5lVG9vbCkoZSkmJmUuaXNMb2NrZWQ/LigpKSk7aWYobikoMCxSXy5jb25maXJtRGF0YXNvdXJjZVJlbW92aW5nKSh7aGFzTG9ja2VkU291cmNlczpyfSkudGhlbigoZT0+e2UmJnQucmVtb3ZlU2VsZWN0ZWRTb3VyY2VzKCl9KSk7ZWxzZSBpZihzJiZzLmhhc0NoaWxkcmVuKCkpe2NvbnN0IGU9cy5nZXRBbGxDaGlsZHJlbigpLm1hcCgoZT0+ZS5uYW1lKCEwKSkpOygwLEx0LnNob3dEZWxldGVTdHVkeVRyZWVDb25maXJtKShlLCgoKT0+e3QucmVtb3ZlU2VsZWN0ZWRTb3VyY2VzKCl9KSl9ZWxzZSByPygwLCRtLnNob3dEZWxldGVMb2NrZWRMaW5lVG9vbHNDb25maXJtKSgkbS5EZWxldGVMb2NrZWRMaW5lVG9vbFJlYXNvbi5SZW1vdmVTZWxlY3RlZCwoZT0+e2V8fHQuc2VsZWN0aW9uTWFjcm8oKGU9PntpLmZpbHRlcigoZT0+KDAscmkuaXNMaW5lVG9vbCkoZSkmJmUuaXNMb2NrZWQ/LigpKSkuZm9yRWFjaCgodD0+e2UucmVtb3ZlSXRlbUZyb21TZWxlY3Rpb24odCl9KSl9KSksdC5yZW1vdmVTZWxlY3RlZFNvdXJjZXMoKX0pKTp0LnJlbW92ZVNlbGVjdGVkU291cmNlcygpfWdldFN5bWJvbChlKXtpZighdGhpcy5oYXNNb2RlbCgpKXJldHVybiB0aGlzLl9zZXRTeW1ib2xJbnRlcnZhbENvbnRlbnRPdmVycmlkZXMuc3ltYm9sfHwoMCxEdC5nZXREZWZhdWx0U3ltYm9sKSgpO2lmKCFlKXJldHVybiB0aGlzLl9zeW1ib2xXVi52YWx1ZSgpO2NvbnN0IHQ9dGhpcy5tb2RlbCgpLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7cmV0dXJuIHQuc2hvcnROYW1lJiZ0LnNob3J0TmFtZS52YWx1ZSgpP3Quc2hvcnROYW1lPy52YWx1ZSgpPz8iIjp0LnN5bWJvbD8udmFsdWUoKT8/IiJ9c2V0U3ltYm9sKGUpe2lmKHRoaXMuaGFzTW9kZWwoKSl7dGhpcy5fc3ltYm9sV1Yuc2V0VmFsdWUoZSk7Y29uc3QgdD10aGlzLm1vZGVsKCk7dC5zZXRTeW1ib2wodC5tYWluU2VyaWVzKCksZSl9ZWxzZSB0aGlzLl9tYWluU2VyaWVzUHJvcGVydGllcy5tZXJnZSh7c3ltYm9sOmV9KSx0aGlzLl9zeW1ib2xXVi5zZXRWYWx1ZShlKSx0aGlzLl9zZXRTeW1ib2xJbnRlcnZhbENvbnRlbnRPdmVycmlkZXMuc3ltYm9sPWV9c2V0UmVzb2x1dGlvbihlKXtpZih0aGlzLmhhc01vZGVsKCkpe3RoaXMuX3Jlc29sdXRpb25XVi5zZXRWYWx1ZShlKTtjb25zdCB0PXRoaXMubW9kZWwoKTt0LnNldFJlc29sdXRpb24odC5tYWluU2VyaWVzKCksZSl9ZWxzZSB0aGlzLl9tYWluU2VyaWVzUHJvcGVydGllcy5tZXJnZSh7aW50ZXJ2YWw6ZX0pLHRoaXMuX3Jlc29sdXRpb25XVi5zZXRWYWx1ZShlKSx0aGlzLl9zZXRTeW1ib2xJbnRlcnZhbENvbnRlbnRPdmVycmlkZXMuaW50ZXJ2YWw9ZX1nZXRSZXNvbHV0aW9uKCl7cmV0dXJuIHRoaXMuX3Jlc29sdXRpb25XVi52YWx1ZSgpfXN5bWJvbFdWKCl7cmV0dXJuIHRoaXMuX3N5bWJvbFdWLnJlYWRvbmx5KCl9CnN5bWJvbEluZm9XVigpe3JldHVybiB0aGlzLl9zeW1ib2xJbmZvV1Z9cmVzb2x1dGlvbldWKCl7cmV0dXJuIHRoaXMuX3Jlc29sdXRpb25XVi5yZWFkb25seSgpfWxvYWRSYW5nZShlKXtpZih0aGlzLmhhc01vZGVsKCkpe3RoaXMuc2NyZWVuLnNob3coKTt0aGlzLm1vZGVsKCkubG9hZFJhbmdlKGUpfHx0aGlzLnNjcmVlbi5oaWRlKCl9fWFzeW5jIHNob3dHZW5lcmFsQ2hhcnRQcm9wZXJ0aWVzKGUsdCl7aWYoISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfY2hhcnRfcHJvcGVydHlfcGFnZSIpKXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7Y29uc3Qgcz1hd2FpdCB0aGlzLl9zaG93Q2hhcnRQcm9wZXJ0aWVzKHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCksZSx7ZG9Ob3RDbG9zZU9uQmdDbGljazohMCxvblJlc2V0VG9EZWZhdWx0OmFzeW5jKCk9Pnt0aGlzLm1vZGVsKCkucmVzdG9yZVByZWZlcmVuY2VzKCk7Y29uc3RbZSx0XT1hd2FpdCBQcm9taXNlLmFsbChbUHJvbWlzZS5hbGwoW2kuZSg3NDExNCksaS5lKDY0MjUpXSkudGhlbihpLmJpbmQoaSw2NjUxODcpKSxQcm9taXNlLmFsbChbaS5lKDc0MTE0KSxpLmUoNjQyNSldKS50aGVuKGkuYmluZChpLDQxMzQ1MSkpXSkscz1lLmdldEN1cnJlbnRUaGVtZSgpLm5hbWU7dC5sb2FkVGhlbWUodGhpcy5jaGFydFdpZGdldENvbGxlY3Rpb24oKSx7dGhlbWVOYW1lOnMsc3RhbmRhcmRUaGVtZTohMH0pfSxzaG91bGRSZXR1cm5Gb2N1czp0Py5zaG91bGRSZXR1cm5Gb2N1c30pO2lmKG51bGw9PT1zKXJldHVybiBudWxsO2NvbnN0IG49KCk9PntzLmhpZGUoKSx0aGlzLl9hY3RpdmVDaGFydFdpZGdldFdWLnVuc3Vic2NyaWJlKG4pfTtyZXR1cm4gdGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXRXVi5zdWJzY3JpYmUobiksc31zaG93Q2hhcnRQcm9wZXJ0aWVzRm9yU291cmNlKGUsdCxpLHMpe3JldHVybigwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInByb3BlcnR5X3BhZ2VzIikmJmUudXNlckVkaXRFbmFibGVkKCk/ZT09PXRoaXMubW9kZWwoKS5tb2RlbCgpLm1haW5TZXJpZXMoKT90aGlzLnNob3dHZW5lcmFsQ2hhcnRQcm9wZXJ0aWVzKHQpOigoaT1pfHx7fSkub25SZXNldFRvRGVmYXVsdD0oKT0+eygoMCxyaS5pc0xpbmVUb29sKShlKXx8KDAsdGkuaXNTdHVkeSkoZSkpJiZ0aGlzLm1vZGVsKCkucmVzdG9yZVByb3BlcnRpZXNGb3JTb3VyY2UuYmluZCh0aGlzLm1vZGVsKCksZSl9LHRoaXMuX3Nob3dDaGFydFByb3BlcnRpZXMoZSx0LGkscykpOlByb21pc2UucmVzb2x2ZShudWxsKX10b2dnbGVDb21wYXJlT3JBZGQoKXt0aGlzLl9jb21wYXJlRGlhbG9nLnZpc2libGUoKS52YWx1ZSgpP3RoaXMuX2NvbXBhcmVEaWFsb2cuaGlkZSgpOnRoaXMuX2NvbXBhcmVEaWFsb2cuc2hvdygpfXRhZ3MoKXtyZXR1cm4gdGhpcy5oYXNNb2RlbCgpP3RoaXMubW9kZWwoKS5jYWxjdWxhdGVEZWZhdWx0VGFncygpOltdfW9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fb3B0aW9uc31vd25lckRvY3VtZW50KCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYXJlbnQpLm93bmVyRG9jdW1lbnR9YXN5bmMgc2hvd0NoYXJ0UHJvcGVydGllc0ZvclNvdXJjZXMoZSl7aWYoISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInByb3BlcnR5X3BhZ2VzIikpcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtjb25zdHtzb3VyY2VzOnQsdGl0bGU6cyx0YWJOYW1lOm4scmVuYW1hYmxlOnJ9PWUsbz10aGlzLm1vZGVsKCksYT0kdCh0Lm1hcCgoZT0+ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkpKSksbD0kdCh0Lm1hcCgoZT0+ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzKSkpLFt7Y3JlYXRlUHJvcGVydHlQYWdlOmN9LHtnZXRTZWxlY3Rpb25TdHlsZVByb3BlcnRpZXNEZWZpbml0aW9uczpofSx7Z2V0U2VsZWN0aW9uSW50ZXJ2YWxzVmlzaWJpbGl0aWVzUHJvcGVydGllc0RlZmluaXRpb246ZH0se2dldFNlbGVjdGlvbkNvb3JkaW5hdGVzUHJvcGVydHlEZWZpbml0aW9uOnV9XT1hd2FpdCBQcm9taXNlLmFsbChbUHJvbWlzZS5hbGwoW2kuZSg5MDkwNyksaS5lKDU5MzI4KV0pLnRoZW4oaS5iaW5kKGksNTAxNTIyKSksUHJvbWlzZS5hbGwoW2kuZSg5MDkwNyksaS5lKDU5MzI4KV0pLnRoZW4oaS5iaW5kKGksOTkzOTQpKSxQcm9taXNlLmFsbChbaS5lKDkwOTA3KSxpLmUoNTkzMjgpXSkudGhlbihpLmJpbmQoaSw0ODUwMCkpLFByb21pc2UuYWxsKFtpLmUoOTA5MDcpLGkuZSg1OTMyOCldKS50aGVuKGkuYmluZChpLDU3NjgxNykpXSk7cmV0dXJuIGFzeW5jIGZ1bmN0aW9uKGUpewpjb25zdHtTb3VyY2VzUHJvcGVydGllc0VkaXRvclJlbmRlcmVyOnR9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMzcwMTIpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSgzNjIyMiksaS5lKDI5NTM2KSxpLmUoNTYyNTIpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoNjc3OTkpLGkuZSgxMTQ2MSksaS5lKDI0NTgxKSxpLmUoOTY1ODcpLGkuZSgxMTIxOCksaS5lKDg2NDIzKSxpLmUoMzc1MTMpLGkuZSg4NTc5KSxpLmUoNDA4MzUpLGkuZSgxNzA4NyksaS5lKDcyNjY2KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDE1NTI2KSxpLmUoOTM0MTYpLGkuZSg2MTgyMSksaS5lKDU3MzAwKSxpLmUoODk1NTgpLGkuZSgxMDM2NiksaS5lKDUxNjgyKSxpLmUoMjAyKSxpLmUoOTc2NjApLGkuZSg3MjUxMiksaS5lKDM1MTk4KSxpLmUoMzMxMjApLGkuZSg0MDg2NyksaS5lKDM5Nzg2KSxpLmUoNTA4MDApLGkuZSg1MDYyMiksaS5lKDYwODIpLGkuZSgyNzMzNyksaS5lKDQwOTE0KSxpLmUoMjc3MzYpLGkuZSg4Nzc0MCksaS5lKDY3NTQzKSxpLmUoMzg0NzkpLGkuZSg5MDMzMCksaS5lKDk2MTgxKSxpLmUoMjA1NjQpLGkuZSg1MTI1NiksaS5lKDQ1MzMxKSxpLmUoNDUyNDIpLGkuZSg3ODYzKSxpLmUoNDYyNDUpLGkuZSg1NTI5MCksaS5lKDc0NDcxKSxpLmUoMjAzNzApLGkuZSgxNzg2MSksaS5lKDMyMzg3KSxpLmUoODA5MTUpLGkuZSgxODUxMiksaS5lKDQwNzU0KSxpLmUoOTU1NTQpLGkuZSgyMzc0MyksaS5lKDcyMTEpLGkuZSg5OTMwOSksaS5lKDU1MjI5KSxpLmUoNzM1MzUpLGkuZSgyNjUwMSksaS5lKDEwOTk5KSxpLmUoMzg5NzMpLGkuZSg5Njk3MCksaS5lKDEyMDYwKV0pLnRoZW4oaS5iaW5kKGksMjgyNDA0KSkscz1uZXcgdChlKTtyZXR1cm4gbnVsbCE9PXp0JiYoenQuaGlkZSgpLHp0PXMpLHMuc2hvdygpLHN9KHtzb3VyY2VzOnQscHJvcGVydHlQYWdlczpbYyhoKGEsbyksInN0eWxlIixwLnQobnVsbCx2b2lkIDAsaSg5MzE5OTIpKSksYyh7ZGVmaW5pdGlvbnM6W3UodCxvKV19LCJkaXNwbGFjZW1lbnQiLHAudChudWxsLHZvaWQgMCxpKDM3MTU0OSkpKSxjKGQobCxvKSwidmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoOTg3NzMzKSkpXSx1bmRvTW9kZWw6byx0aXRsZTpzLGFjdGl2ZVRhYklkOm4scmVuYW1hYmxlOnJ9KX1nZXRQcmljZUF4aXNXaWR0aENoYW5nZWRCeU5hbWUoZSl7cmV0dXJuImxlZnQiPT09ZT90aGlzLl9saHNQcmljZUF4aXNXaWR0aENoYW5nZWQ6dGhpcy5fcmhzUHJpY2VBeGlzV2lkdGhDaGFuZ2VkfWdldFByaWNlQXhpc01heFdpZHRoQnlOYW1lKGUpe3JldHVybiJsZWZ0Ij09PWU/dGhpcy5fbGhzQXhlc1dpZHRoOnRoaXMuX3Joc0F4ZXNXaWR0aH10aW1lQXhpc0hlaWdodCgpe3JldHVybiBudWxsIT09dGhpcy5fdGltZUF4aXNXaWRnZXQ/dGhpcy5fdGltZUF4aXNXaWRnZXQuc2l6ZS5oZWlnaHQ6MH13aXRoTW9kZWwoZSx0KXt0aGlzLmhhc01vZGVsKCk/dC5jYWxsKGUpOnRoaXMubW9kZWxDcmVhdGVkKCkuc3Vic2NyaWJlKGUsdCwhMCl9bW9kZWxXVigpe3JldHVybiB0aGlzLl9tb2RlbFdWLnJlYWRvbmx5KCl9aGFzTW9kZWwoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX21vZGVsV1YudmFsdWUoKX1vblJlZHJhdygpe3JldHVybiB0aGlzLl9yZWRyYXd9Y29weUxpbmVUb090aGVyQ2hhcnRzKCl7Y29uc3QgZT10aGlzLm1vZGVsKCksdD1lLnNlbGVjdGlvbigpLmxpbmVEYXRhU291cmNlcygpLmZpbHRlcigoZT0+ZS5pc1N5bmNocm9uaXphYmxlKCkpKTtlLm1vZGVsKCkuY29weVRvT3RoZXJDaGFydHModCwhMCl9dG9nZ2xlTG9ja1NlbGVjdGVkT2JqZWN0KCl7Y29uc3QgZT10aGlzLm1vZGVsKCk7ZS5zZWxlY3Rpb24oKS5saW5lRGF0YVNvdXJjZXMoKS5mb3JFYWNoKCh0PT57Y29uc3QgaT10LnByb3BlcnRpZXMoKS5mcm96ZW4udmFsdWUoKTtlLnNldFByb3BlcnR5KHQucHJvcGVydGllcygpLmZyb3plbiwhaSwoaT9abTpKbSkuZm9ybWF0KHt0aXRsZTpuZXcgeS5UcmFuc2xhdGVkU3RyaW5nKHQubmFtZSgpLHQudGl0bGUoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpKX0pLFFuLmxpbmVUb29sc0RvTm90QWZmZWN0Q2hhcnRJbnZhbGlkYXRpb24pfSkpfWhpZGVEYXRhU291cmNlcyhlKXtpZihlLmxlbmd0aCl7Y29uc3QgdD1lLm1hcCgoZT0+ZS5wcm9wZXJ0aWVzKCkudmlzaWJsZSkpLGk9ZS5tYXAoKCgpPT4hMSkpO3RoaXMubW9kZWwoKS5zZXRQcm9wZXJ0aWVzKHQsaSxYbS5mb3JtYXQoe3RpdGxlOm5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoZVswXS5uYW1lKCksZVswXS50aXRsZShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSkpfSkpfX1oaWRlU2VsZWN0ZWRPYmplY3QoKXt0aGlzLmhpZGVEYXRhU291cmNlcyh0aGlzLm1vZGVsKCkuc2VsZWN0aW9uKCkuZGF0YVNvdXJjZXMoKS5maWx0ZXIoKGU9PiEoMCxxaS5pc0FsZXJ0TGFiZWwpKGUpKSkpfXVubGlua1NlbGVjdGVkTGluZSgpe2NvbnN0IGU9dGhpcy5tb2RlbCgpLHQ9ZS5zZWxlY3Rpb24oKS5saW5lRGF0YVNvdXJjZXMoKTtlLnVubGlua0xpbmVzKHQpfXBhbmVXaWRnZXRzV1YoKXtyZXR1cm4gdGhpcy5fcGFuZVdpZGdldHN9cGFuZVdpZGdldHMoKXtyZXR1cm4gdGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKX1wYW5lV2lkZ2V0U2VwYXJhdG9ycyhlKXtjb25zdCB0PXRoaXMucGFuZVdpZGdldHMoKS5pbmRleE9mKGUpLGk9e307cmV0dXJuIHRoaXMuX3BhbmVTZXBhcmF0b3JzLmZvckVhY2goKGU9PntlLnRvcFBhbmVJbmRleCgpPT09dCYmKGkuc2VwYXJhdG9yQmVsb3c9ZSksZS5ib3R0b21QYW5lSW5kZXgoKT09PXQmJihpLnNlcGFyYXRvckFib3ZlPWUpfSkpLGl9YWN0aXZlUGFuZVdpZGdldCgpe3JldHVybiB0aGlzLl9hY3RpdmVQYW5lV2lkZ2V0LnJlYWRvbmx5KCl9cGFuZUJ5U3RhdGUoZSl7CnJldHVybiB0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmZpbmQoKHQ9PnQuaGFzU3RhdGUoKSYmdC5zdGF0ZSgpPT09ZSkpPz9udWxsfXBhbmVCeUNhbnZhcyhlKXtyZXR1cm4gdGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKS5maW5kKCh0PT50Lmhhc0NhbnZhcyhlKSkpPz9udWxsfXRpbWVBeGlzQnlDYW52YXMoZSl7cmV0dXJuIHRoaXMuX3RpbWVBeGlzV2lkZ2V0Py5oYXNDYW52YXMoZSk/dGhpcy5fdGltZUF4aXNXaWRnZXQ6bnVsbH1zZWxlY3RQb2ludE1vZGUoKXtyZXR1cm4gdGhpcy5tb2RlbCgpLm1vZGVsKCkuc2VsZWN0UG9pbnRNb2RlKCl9Y2FuY2VsUmVxdWVzdFNlbGVjdFBvaW50KCl7Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKTtlLmNhbmNlbFJlcXVlc3RTZWxlY3RQb2ludCgpLGUuc2V0UmVwbGF5U3RhdHVzKGUuaXNJblJlcGxheSgpLnZhbHVlKCk/MzowKSxlLmNsZWFyQ3VycmVudFBvc2l0aW9uKCl9cmVxdWVzdFNlbGVjdFBvaW50KGUsdCl7Y29uc3QgaT10aGlzLm1vZGVsKCk7cmV0dXJuIGUuc2VsZWN0UG9pbnRNb2RlPT09VC5TZWxlY3RQb2ludE1vZGUuUmVwbGF5JiZpLm1vZGVsKCkuc2V0UmVwbGF5U3RhdHVzKDEpLG5ldyBQcm9taXNlKCgocyxuKT0+e2NvbnN0IHI9KCk9PiEhdGhpcy5pc1Zpc2libGUoKXx8KG4oIkNoYXJ0d2lkZ2V0IG11c3QgYmUgdmlzaWJsZSIpLHRoaXMuY2FuY2VsUmVxdWVzdFNlbGVjdFBvaW50KCksITEpO2lmKCFyKCkpcmV0dXJuOygwLFQucmVzZXRUb0N1cnNvcikoITApLGkubGluZUJlaW5nQ3JlYXRlZCgpJiZpLmNhbmNlbENyZWF0aW5nTGluZSgpO2xldCBvPSExO2NvbnN0IGE9e307aS5tb2RlbCgpLm9uUG9pbnRTZWxlY3RlZCgpLnN1YnNjcmliZShhLCgoZSx0KT0+e289ITAsdGhpcy5faXNWaXNpYmxlLnVuc3Vic2NyaWJlKHIpLHRoaXMuX2hpZGVIaW50KCkscyh7cG9pbnQ6ZSxwYW5lOnR9KX0pLCEwKSxpLm1vZGVsKCkucmVxdWVzdFNlbGVjdFBvaW50KGUpLHRoaXMuc3RhcnRUcmFja2luZ01vZGUoKSx2b2lkIDAhPT10JiZ0aGlzLl9zaG93RXZlbnRIaW50KHQpLHRoaXMuX2lzVmlzaWJsZS5zdWJzY3JpYmUociksdGhpcy5zZWxlY3RQb2ludE1vZGUoKS5zdWJzY3JpYmUoKCgpPT57c2V0VGltZW91dCgoKCk9PntvfHwodGhpcy5zZWxlY3RQb2ludE1vZGUoKS52YWx1ZSgpPT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSYmdGhpcy5faGlkZUhpbnQoKSxpLm1vZGVsKCkub25Qb2ludFNlbGVjdGVkKCkudW5zdWJzY3JpYmVBbGwoYSksdGhpcy5faXNWaXNpYmxlLnVuc3Vic2NyaWJlKHIpLG4oImNhbmNlbGxlZCIpKX0pKX0pLHtvbmNlOiEwfSl9KSl9c2hvd1JlcGxheU9yZGVyQ29uZmlybWF0aW9uRGlhbG9nKCl7cmV0dXJuIHRoaXMubW9kZWwoKS5pc0luUmVwbGF5KCkudmFsdWUoKT9uZXcgUHJvbWlzZSgoKGUsdCk9PnsoMCxoZS5zaG93Q29uZmlybSkoe3RleHQ6cC50KG51bGwsdm9pZCAwLGkoNTU4NDQ0KSksb25Db25maXJtOnQ9PntlKCksdC5kaWFsb2dDbG9zZSgpfSxvbkNsb3NlOnR9KX0pKTpQcm9taXNlLnJlc29sdmUoKX1zaG93U291cmNlUHJvcGVydGllcyhlLHQpe2U9PT10aGlzLm1vZGVsKCkubWFpblNlcmllcygpJiYodD1KdC5UYWJOYW1lcy5zeW1ib2wpLHRoaXMuc2hvd0NoYXJ0UHJvcGVydGllc0ZvclNvdXJjZShlLHQpfW9uU2Nyb2xsKCl7cmV0dXJuIHRoaXMuX29uU2Nyb2xsfW9uWm9vbSgpe3JldHVybiB0aGlzLl9vblpvb219b25UYWdzQ2hhbmdlZCgpe3JldHVybiB0aGlzLl90YWdzQ2hhbmdlZH1vbldpZGdldCgpe3JldHVybiB0aGlzLl9vbldpZGdldH1jb250YWluc1ZvbHVtZSgpe3JldHVybiB0aGlzLm1vZGVsKCkuZGF0YVNvdXJjZXMoKS5zb21lKChlPT4oMCx0aS5pc1N0dWR5KShlKSYmIlZvbHVtZSI9PT1lLm1ldGFJbmZvKCkuc2hvcnRJZCkpfWNvbnRhaW5zU3R1ZHkoZSl7cmV0dXJuIHRoaXMuY29udGFpbnNTdHVkeUJ5UHJlZGljYXRlKCh0PT50LmlkPT09ZXx8dC5mdWxsSWQ9PT1lKSl9aXNTbWFsbCgpe3JldHVybiB0aGlzLl93aWR0aCgpPDU1MHx8dGhpcy5faGVpZ2h0KCk8MzAwfW9uQ21lV2lkZ2V0KCl7cmV0dXJuImNtZSI9PT10aGlzLl93aWRnZXRDdXN0b21lcn13aWRnZXRDdXN0b21lcigpe3JldHVybiB0aGlzLl93aWRnZXRDdXN0b21lcn1jb21wYXJlU3ltYm9scygpe3JldHVybiB0aGlzLl9jb21wYXJlU3ltYm9sc31pbWFnZXMoZSl7d2luZG93LlRyYWRpbmdWaWV3LnByaW50aW5nPSEwO2NvbnN0IHQ9dGhpcy5tb2RlbCgpLnNlbGVjdGlvbigpLmFsbFNvdXJjZXMoKTt0aGlzLm1vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKGU9PmUuY2xlYXJTZWxlY3Rpb24oKSkpLHRoaXMubW9kZWwoKS5tb2RlbCgpLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4uZ2xvYmFsQ2hhbmdlRXZlbnQpKCkpO2NvbnN0IGk9KHQsaSk9Pnt0LnBhaW50KGksTGUuSW52YWxpZGF0aW9uTWFzay50aW1lU2NhbGUoTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQsITApLmludmFsaWRhdGlvbkZvclRpbWVTY2FsZSgpKTtjb25zdCBzPXtzaG93Q29sbGFwc2VkU3R1ZGllczpCb29sZWFuKGU/LnNob3dDb2xsYXBzZWRTdHVkaWVzKSxzdGF0dXM6ZT8uc3RhdHVzfTtyZXR1cm4gdC5nZXRTY3JlZW5zaG90RGF0YShzKX0scz1bXSxuPXRoaXMubWF4aW1pemVkUGFuZVdpZGdldCgpO2lmKG51bGwhPT1uKXtjb25zdCBlPXRoaXMuX3BhbmVXaWRnZXRzLnZhbHVlKCkuaW5kZXhPZihuKTtzLnB1c2goaShuLExlLkludmFsaWRhdGlvbk1hc2subGlnaHQoKS5pbnZhbGlkYXRpb25Gb3JQYW5lKGUpKSl9ZWxzZXtjb25zdCBlPXRoaXMuX3BhbmVXaWRnZXRzLnZhbHVlKCk7ZS5mb3JFYWNoKCgodCxuKT0+e3MucHVzaChpKHQsTGUuSW52YWxpZGF0aW9uTWFzay5saWdodCgpLmludmFsaWRhdGlvbkZvclBhbmUobikpKSxuPGUubGVuZ3RoLTEmJnMucHVzaCh0aGlzLl9wYW5lU2VwYXJhdG9yc1tuXS5pbWFnZSgpKX0pKX1sZXQgcgo7dGhpcy5fdGltZUF4aXNXaWRnZXQmJih0aGlzLl90aW1lQXhpc1dpZGdldC5wYWludChMZS5JbnZhbGlkYXRpb25NYXNrLnRpbWVTY2FsZShMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCwhMCkuaW52YWxpZGF0aW9uRm9yVGltZVNjYWxlKCkpLHI9dGhpcy5fdGltZUF4aXNXaWRnZXQuZ2V0U2NyZWVuc2hvdERhdGEoKSksd2luZG93LlRyYWRpbmdWaWV3LnByaW50aW5nPSExLHRoaXMubW9kZWwoKS5zZWxlY3Rpb25NYWNybygoZT0+e3QuZm9yRWFjaCgodD0+e2UuYWRkSXRlbVRvU2VsZWN0aW9uKHQpfSkpfSkpLHRoaXMubW9kZWwoKS5tb2RlbCgpLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4uZ2xvYmFsQ2hhbmdlRXZlbnQpKCkpLHRoaXMubW9kZWwoKS5tb2RlbCgpLmxpZ2h0VXBkYXRlKCk7Y29uc3Qgbz10aGlzLm1haW5TZXJpZXNRdW90ZXNBbmRNZXRhaW5mbygpO3JldHVybntwYW5lczpzLHRpbWVBeGlzOnIsY29sb3JzOnt0ZXh0OnRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkudGV4dENvbG9yLnZhbHVlKCksYmc6dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZC52YWx1ZSgpLHNjYWxlczp0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLmxpbmVDb2xvci52YWx1ZSgpfSxtZXRhOm8ubWV0YSxvaGxjOm8ub2hsYyxxdW90ZXM6by5xdW90ZXN9fWluc2VydFN0dWR5KGUsdCxpLHMsbil7cmV0dXJuIHRoaXMuX2luc2VydFN0dWR5T3JSZXBsYWNlU3R1YihlLHQsdm9pZCAwLGkscyxuKX1yZXBsYWNlU3R1YkJ5U3R1ZHkoZSx0LGkscyxuLHIpe3JldHVybiBlLnVwZGF0ZURlc2NyaXB0b3IodCksdGhpcy5faW5zZXJ0U3R1ZHlPclJlcGxhY2VTdHViKHQsaSxlLHMsbixyKX1hZGRPdmVybGF5U3R1ZHkoZSx0LGkpe2NvbnN0IHM9dGhpcy5tb2RlbCgpO3JldHVybiB0aGlzLl9vcHRpb25zJiZ0aGlzLl9vcHRpb25zLmlzU3ltYm9sQXZhaWxhYmxlP3RoaXMuX29wdGlvbnMuaXNTeW1ib2xBdmFpbGFibGUoZSkudGhlbigoYXN5bmMgbj0+e2lmKCFuKXJldHVybiBudWxsO2F3YWl0KDAsYXQuc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkucmVxdWVzdE1ldGFJbmZvKCk7Y29uc3Qgcj1zLmNyZWF0ZVN0dWR5SW5zZXJ0ZXIoe3R5cGU6ImphdmEiLHN0dWR5SWQ6Ik92ZXJsYXlAdHYtYmFzaWNzdHVkaWVzIn0sW10pLG89e2FsbG93RXh0ZW5kVGltZVNjYWxlOml9O2lmKCgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVzZV9vdmVycmlkZXNfZm9yX292ZXJsYXkiKSl7Y29uc3QgZT0oMCwkbC5mYWN0b3J5RGVmYXVsdHMpKCJzdHVkeV9PdmVybGF5QHR2LWJhc2ljc3R1ZGllcy5zdHlsZSIpO28uc3R5bGU9ZX1yZXR1cm4gci5zZXRQcm9wZXJ0aWVzU3RhdGUobyksci5zZXRGb3JjZU92ZXJsYXkodCksci5pbnNlcnQoKCgpPT5Qcm9taXNlLnJlc29sdmUoe2lucHV0czp7c3ltYm9sOmV9LHBhcmVudFNvdXJjZXM6W119KSkpfSkpOlByb21pc2UucmVzb2x2ZShudWxsKX1zaG93SW5kaWNhdG9ycyhlLHQpe2lmKHdpbmRvdy5zdHVkeU1hcmtldClyZXR1cm4gd2luZG93LnN0dWR5TWFya2V0LnZpc2libGUoKS52YWx1ZSgpP3ZvaWQgd2luZG93LnN0dWR5TWFya2V0LmhpZGUoKTood2luZG93LnN0dWR5TWFya2V0LnNob3coZSx0KSwoMCx4Xy50cmFja0J1dHRvbkNsaWNrKSgiaG90a2V5IiwiaW5kaWNhdG9ycyIsdm9pZCAwLCEwKSx3aW5kb3cuc3R1ZHlNYXJrZXQpfXNldFNhdmVDaGFydFNlcnZpY2UoZSl7dGhpcy5fc2F2ZUNoYXJ0U2VydmljZT1lLG51bGwhPT10aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXImJnRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplci5zZXRTYXZlQ2hhcnRTZXJ2aWNlKGUpfWdldFNhdmVDaGFydFNlcnZpY2UoKXtyZXR1cm4gdGhpcy5fc2F2ZUNoYXJ0U2VydmljZX1tYWluU2VyaWVzUXVvdGVzQW5kTWV0YWluZm8oKXtsZXQgZSx0LGk7Y29uc3Qgcz10aGlzLmhhc01vZGVsKCkmJnRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCk7aWYocyl7Y29uc3Qgbj1lPT5udWxsPT1lPyIiOnMuZm9ybWF0dGVyKCkuZm9ybWF0KGUse3NpZ25OZWdhdGl2ZTohMCx1c2VSdGxGb3JtYXQ6ITF9KSxyPWU9Pm51bGw9PWU/IiI6ZSsiIjtlPXtyZXNvbHV0aW9uOnMuaW50ZXJ2YWwoKSxzeW1ib2w6cy5zeW1ib2woKSx2YWx1ZXM6cy5sZWdlbmRWYWx1ZXNQcm92aWRlcigpLmdldFZhbHVlcyhudWxsKX07Y29uc3Qgbz1zLnN5bWJvbEluZm8oKTtvJiYoZS5zeW1ib2w9by5mdWxsX25hbWUsZS5kZXNjcmlwdGlvbj1vLmRlc2NyaXB0aW9uLGUuZXhjaGFuZ2U9by5leGNoYW5nZSk7Y29uc3QgYT1zLmJhcnMoKS5sYXN0KCk7bnVsbCE9PWEmJih0PWEudmFsdWUuc2xpY2UoMSw1KS5tYXAobikpO2NvbnN0IGw9cy5xdW90ZXMoKTtsJiYoaT17Y2hhbmdlOm4obC5jaGFuZ2UpLGNoYW5nZVBlcmNlbnQ6cihsLmNoYW5nZV9wZXJjZW50KSxsYXN0Om4obC5sYXN0X3ByaWNlKX0pfXJldHVybnttZXRhOmUsb2hsYzp0LHF1b3RlczppfX1pc011bHRpcGxlTGF5b3V0KCl7cmV0dXJuIHRoaXMuX2lzTXVsdGlwbGVMYXlvdXR9dXBkYXRlQ3Jvc3NIYWlyUG9zaXRpb25JZk5lZWRlZCgpe2lmKHRoaXMuaGFzTW9kZWwoKSl7Y29uc3QgZT0oMCx1aS5sYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKSgpO2lmKGUuaXNUb3VjaCl7Y29uc3QgdD10aGlzLm1heGltaXplZFBhbmVXaWRnZXQoKXx8dGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKVswXTtpZih0Lmhhc1N0YXRlKCkmJighZS5zdHlsdXMmJih0aGlzLl9pc0xpbmVUb29sTW9kZUV4Y2VwdEJydXNoKCl8fCgwLFQudG9vbElzTWVhc3VyZSkoVC50b29sLnZhbHVlKCkpKXx8dGhpcy5zZWxlY3RQb2ludE1vZGUoKS52YWx1ZSgpIT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSkpe2NvbnN0IGU9LjUqdGhpcy5tb2RlbCgpLm1vZGVsKCkudGltZVNjYWxlKCkud2lkdGgoKSxpPS41KnQuc3RhdGUoKS5kZWZhdWx0UHJpY2VTY2FsZSgpLmhlaWdodCgpO3Quc2V0Q3Vyc29yUG9zaXRpb24oZSxpKX0KY29uc3QgaT10aGlzLm1vZGVsKCkubW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKTtpLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShpLmlkKCkpKX19fXRyYWNraW5nTW9kZVBhbmVXaWRnZXQoKXtpZighKDAsdWkubGFzdE1vdXNlT3JUb3VjaEV2ZW50SW5mbykoKS5pc1RvdWNoKXJldHVybiBudWxsO2Zvcihjb25zdCBlIG9mIHRoaXMucGFuZVdpZGdldHMoKSlpZihlLnRyYWNraW5nTW9kZUVuYWJsZWQoKSlyZXR1cm4gZTtyZXR1cm4gbnVsbH1zdGFydFRyYWNraW5nTW9kZSgpe2lmKCgwLHVpLmxhc3RNb3VzZU9yVG91Y2hFdmVudEluZm8pKCkuaXNUb3VjaCl7dGhpcy5leGl0VHJhY2tpbmdNb2RlKCksdGhpcy51cGRhdGVDcm9zc0hhaXJQb3NpdGlvbklmTmVlZGVkKCk7Y29uc3QgZT10aGlzLm1heGltaXplZFBhbmVXaWRnZXQoKXx8dGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKVswXSx0PXRoaXMubW9kZWwoKS5tb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLmN1cnJlbnRQb2ludCgpO2Uuc3RhcnRUcmFja2luZ01vZGUodCx0KX19ZXhpdFRyYWNraW5nTW9kZSgpeygwLHVpLmxhc3RNb3VzZU9yVG91Y2hFdmVudEluZm8pKCkuaXNUb3VjaCYmdGhpcy5wYW5lV2lkZ2V0cygpLnNvbWUoKGU9PmUudHJhY2tpbmdNb2RlRW5hYmxlZCgpKSkmJih0aGlzLnBhbmVXaWRnZXRzKCkuZm9yRWFjaCgoZT0+ZS5leGl0VHJhY2tpbmdNb2RlKCkpKSx0aGlzLm1vZGVsKCkubW9kZWwoKS5jbGVhckN1cnJlbnRQb3NpdGlvbigpKX1vblRvb2xDaGFuZ2VkKCl7Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKTtlLmxpbmVCZWluZ0NyZWF0ZWQoKSYmIWUubGluZUJlaW5nQ3JlYXRlRnJvbUV4dGVybmFsKCkmJnRoaXMuX2NhbmNlbENyZWF0aW5nTGluZSgpLHRoaXMuc2VsZWN0UG9pbnRNb2RlKCkudmFsdWUoKSE9PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmUmJnRoaXMuY2FuY2VsUmVxdWVzdFNlbGVjdFBvaW50KCksdGhpcy5leGl0VHJhY2tpbmdNb2RlKCl9c2V0SW5Mb2FkaW5nU3RhdGUoZSl7dGhpcy5faW5Mb2FkaW5nU3RhdGU9ZX1wYWludChlKXt0aGlzLl9kcmF3VGltZS5zZXRWYWx1ZShwZXJmb3JtYW5jZS5ub3coKSk7Y29uc3QgdD1lPz9MZS5JbnZhbGlkYXRpb25NYXNrLmZ1bGwoKTt0LnZhbGlkYXRpb25BY3Rpb25zKCkuZm9yRWFjaCgoZT0+ZSgpKSk7Y29uc3QgaT10aGlzLm1heGltaXplZFBhbmVXaWRnZXQoKTt0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmZvckVhY2goKChlLHMpPT57bnVsbCE9PWkmJmkhPT1lfHxlLnBhaW50KHQuaW52YWxpZGF0aW9uRm9yUGFuZShzKSx0LmludmFsaWRhdGlvbkZvclRpbWVTY2FsZSgpKX0pKSx0aGlzLl90aW1lQXhpc1dpZGdldCYmdGhpcy5fdGltZUF4aXNXaWRnZXQucGFpbnQodC5pbnZhbGlkYXRpb25Gb3JUaW1lU2NhbGUoKSksZWc/LigpLHRoaXMuX3JlZHJhdy5maXJlKCl9R1VJUmVzZXRTY2FsZXMoKXsoMCxNdC50cmFja0V2ZW50KSgiR1VJIiwiUmVzZXQgU2NhbGVzIiksdGhpcy5oYXNNb2RlbCgpJiZ0aGlzLm1vZGVsKCkucmVzZXRTY2FsZXMoKX1hcHBseU92ZXJyaWRlcyhlKXtjb25zdCB0PXt9O2Zvcihjb25zdFtpLHNdb2YgT2JqZWN0LmVudHJpZXMoZSkpaS5zdGFydHNXaXRoKCJtYWluU2VyaWVzUHJvcGVydGllcy5wcmljZUF4aXNQcm9wZXJ0aWVzIil8fCh0W2ldPXMpO2lmKCgwLHlhLmFwcGx5UHJvcGVydGllc092ZXJyaWRlcykodGhpcy5wcm9wZXJ0aWVzKCksdm9pZCAwLCExLHQsdm9pZCAwKSx0aGlzLmhhc01vZGVsKCkpeygwLHlhLmFwcGx5UHJvcGVydGllc092ZXJyaWRlcykodGhpcy5tb2RlbCgpLm1vZGVsKCkucHJvcGVydGllcygpLHZvaWQgMCwhMSx0KSwoMCx5YS5hcHBseVByb3BlcnRpZXNPdmVycmlkZXMpKHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLHZvaWQgMCwhMSx0LCJtYWluU2VyaWVzUHJvcGVydGllcyIpLHRoaXMubW9kZWwoKS5tb2RlbCgpLnNlc3Npb25zKCkuYXBwbHlPdmVycmlkZXModCk7Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKS53YXRlcm1hcmtTb3VyY2UoKTtudWxsIT09ZSYmZS5hcHBseU92ZXJyaWRlcyh0KX19c2hvd0Z1bmRhbWVudGFscyhlKXt0aGlzLnNob3dJbmRpY2F0b3JzKGU/W2VdOnZvaWQgMCwiZnVuZGFtZW50YWxzIil9bWF4aW1pemVkUGFuZVdpZGdldCgpe3JldHVybiB0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmZpbmQoKGU9PmUubWF4aW1pemVkKCkudmFsdWUoKSkpPz9udWxsfWhhc01heGltaXplZFBhbmUoKXtyZXR1cm4gbnVsbCE9PXRoaXMubWF4aW1pemVkUGFuZVdpZGdldCgpfXNldEFjdGl2ZShlKXsoMCx1aS5sYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKSgpLmlzVG91Y2gmJihlJiZ0aGlzLnNlbGVjdFBvaW50TW9kZSgpLnZhbHVlKCkhPT1ULlNlbGVjdFBvaW50TW9kZS5Ob25lP3RoaXMuc3RhcnRUcmFja2luZ01vZGUoKTp0aGlzLmV4aXRUcmFja2luZ01vZGUoKSk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKSllLnVwZGF0ZSgpO2V8fHRoaXMubW9kZWwoKS5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKX0pKSx0aGlzLl9pc0FjdGl2ZS5zZXRWYWx1ZShlKX1qdXN0QWN0aXZhdGVkKCl7cmV0dXJuIHRoaXMuX2p1c3RBY3RpdmF0ZWR9c2V0QWN0aXZlUGFuZVdpZGdldChlKXt0aGlzLl9hY3RpdmVQYW5lV2lkZ2V0LnNldFZhbHVlKGUpfW9uUGFuZVdpZGdldERlc3Ryb3llZChlKXt0aGlzLl9hY3RpdmVQYW5lV2lkZ2V0LnZhbHVlKCk9PT1lJiZ0aGlzLl9hY3RpdmVQYW5lV2lkZ2V0LnNldFZhbHVlKG51bGwpfWdldFJlc2l6ZXJEZXRhY2hlcigpe3JldHVybiB0aGlzLl9vcHRpb25zfXRvZ2dsZUZ1bGxzY3JlZW4oKXtjb25zdCBlPXRoaXMuZ2V0UmVzaXplckRldGFjaGVyKCk7ZS5mdWxsc2NyZWVuYWJsZS52YWx1ZSgpJiYoZS5mdWxsc2NyZWVuLnZhbHVlKCk/ZS5leGl0RnVsbHNjcmVlbigpOmUucmVxdWVzdEZ1bGxzY3JlZW4oKSl9YXN5bmMgZ2VuZXJhbFByb3BlcnRpZXNEZWZpbml0aW9ucygpe3JldHVybiBhd2FpdCgwLAphdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQWxsSmF2YVN0dWRpZXMoKSx0aGlzLl9nZXRDaGFydFByb3BlcnR5RGVmaW5pdGlvbnNWaWV3TW9kZWwoKS50aGVuKChlPT5lLnByb3BlcnR5UGFnZXMoKSkpfXByb3BlcnRpZXNEZWZpbml0aW9uc0ZvclNvdXJjZShlKXtyZXR1cm4oMCxyaS5pc0xpbmVUb29sKShlKXx8KDAsdGkuaXNTdHVkeSkoZSl8fCgwLG9pLmlzU3R1ZHlMaW5lVG9vbCkoZSk/ZS5nZXRQcm9wZXJ0eURlZmluaXRpb25zVmlld01vZGVsKCkudGhlbigoZT0+bnVsbD09PWU/bnVsbDplLnByb3BlcnR5UGFnZXMoKSkpLmNhdGNoKChlPT4oWW0ubG9nV2FybihlKSxudWxsKSkpOlByb21pc2UucmVzb2x2ZShudWxsKX1iYWNrZ3JvdW5kVG9wVGhlbWUoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZFRvcFRoZW1lLnJlYWRvbmx5KCl9YmFja2dyb3VuZEJhc2VkVGhlbWUoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUucmVhZG9ubHkoKX1iYWNrZ3JvdW5kQm90dG9tVGhlbWUoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZEJvdHRvbVRoZW1lLnJlYWRvbmx5KCl9c3RhdGUoZSl7aWYodGhpcy5oYXNNb2RlbCgpKXtjb25zdCB0PXRoaXMubW9kZWwoKS5zdGF0ZShlKTtyZXR1cm4gdC5jaGFydElkPXRoaXMuaWQoKSx0fXJldHVybiB0aGlzLl9jb250ZW50fWxpbmVUb29sc0FuZEdyb3Vwc0RUTygpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyKS5wcmVwYXJlRFRPKCl9YXBwbHlMaW5lVG9vbFVwZGF0ZU5vdGlmaWNhdGlvbihlLHQpe3JldHVybiBudWxsPT09dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyP1Byb21pc2UucmVzb2x2ZSgpOnRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplci5hcHBseUxpbmVUb29sVXBkYXRlTm90aWZpY2F0aW9uKGUsdCl9cmVsb2FkQWxsTGluZVRvb2xzKCl7dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyPy5yZWxvYWRBbGxMaW5lVG9vbHMoKX1zdGFydEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oKXt0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXI/LnN0YXJ0QXBwbHlpbmdMaW5lVG9vbFVwZGF0ZU5vdGlmaWNhdGlvbigpfWVuZEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oKXt0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXI/LmVuZEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oKX1hcHBseUFsZXJ0SWRCeUV4dGVybmFsU291cmNlKGUsdCl7dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyPy5hcHBseUFsZXJ0SWRCeUV4dGVybmFsU291cmNlKGUsdCl9ZGVsZXRlQWxlcnRCeUV4dGVybmFsU291cmNlKGUsdCl7dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyPy5kZWxldGVBbGVydEJ5RXh0ZXJuYWxTb3VyY2UoZSl9c2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbigpe3JldHVybiB0aGlzLmhhc01vZGVsKCk/dGhpcy5tb2RlbCgpLm1vZGVsKCkuc2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbigpOiEhdGhpcy5fb3B0aW9ucy5jb250ZW50LnNob3VsZEJlU2F2ZWRFdmVuSWZIaWRkZW59Z2V0VGltZVNjYWxlKCl7cmV0dXJuIHRoaXMuX3RpbWVBeGlzV2lkZ2V0fXNob3dPYmplY3RzVHJlZVBhbmVsT3JEaWFsb2coKXtsZXQgZT0hMTtjb25zdCB0PXdpbmRvdy53aWRnZXRiYXI7aWYodCYmdC5pc1Zpc2libGUoKSl7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHQuc2V0UGFnZSgib2JqZWN0X3RyZWUiKSkscz0oMCxsLmVuc3VyZU5vdE51bGwpKGkud2lkZ2V0KCJvYmplY3RfdHJlZSIpKTsoMCxsLmVuc3VyZURlZmluZWQpKHMucHJvcGVydGllcykuc2V0VmFsdWUoe3NlbGVjdGVkUGFnZToib2JqZWN0X3RyZWUifSksZT0ib2JqZWN0X3RyZWUiPT09aS5uYW1lfWV8fHRoaXMuc2hvd09iamVjdHNUcmVlRGlhbG9nKCl9c2hvd09iamVjdHNUcmVlRGlhbG9nKCl7dGhpcy5fb2JqZWN0VHJlZURpYWxvZ0NvbnRyb2xsZXI/LnNob3coKX1hZGRDdXN0b21XaWRnZXRUb0xlZ2VuZChlLHQpe3RoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNGYWN0b3J5TWFwLnNldChlLHQpO2Zvcihjb25zdCBpIG9mIHRoaXMucGFuZVdpZGdldHMoKSlpLmFkZEN1c3RvbVdpZGdldFRvTGVnZW5kKGUsdCl9YXBwbHlJbmRpY2F0b3JzVG9BbGxDaGFydHNBdmFpbGFibGUoKXtpZighdGhpcy5jaGFydFdpZGdldENvbGxlY3Rpb24oKS5hcHBseUluZGljYXRvcnNUb0FsbENoYXJ0c0F2YWlsYWJsZSgpKXJldHVybiExO2Zvcihjb25zdCBlIG9mIHRoaXMubW9kZWwoKS5tb2RlbCgpLnBhbmVzKCkpe2lmKGUuc291cmNlc0J5R3JvdXAoKS5hbGwoKS5zb21lKChlPT4oMCx0aS5pc1N0dWR5KShlKSYmIXNpKGUpKSkpcmV0dXJuITB9cmV0dXJuITF9d2lkZ2V0KCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tYWluRGl2KX1hZGRDb21wYXJlQXNPdmVybGF5KGUsdCxpKXtjb25zdCBzPXRoaXMubW9kZWwoKTtyZXR1cm4oMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX29wdGlvbnMuaXNTeW1ib2xBdmFpbGFibGUpKGUpLnRoZW4oKGFzeW5jIG49PntpZighbilyZXR1cm4gbnVsbDthd2FpdCgwLGF0LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLnJlcXVlc3RNZXRhSW5mbygpO2NvbnN0IHI9cy5jcmVhdGVTdHVkeUluc2VydGVyKHt0eXBlOiJqYXZhIixzdHVkeUlkOiJPdmVybGF5QHR2LWJhc2ljc3R1ZGllcyJ9LFtdKTtyZXR1cm4gci5zZXRGb3JjZU92ZXJsYXkoITApLHIuc2V0UHJlZmVycmVkUHJpY2VTY2FsZSgiYXMtc2VyaWVzIiksITAhPT1pJiZyLnNldFRhcmdldFByaWNlU2NhbGVNb2RlKHtwZXJjZW50YWdlOiEwfSksdm9pZCAwIT09dCYmci5zZXRQcm9wZXJ0aWVzU3RhdGUoe2FsbG93RXh0ZW5kVGltZVNjYWxlOnR9KSxyLmluc2VydCgoYXN5bmMoKT0+KHtpbnB1dHM6e3N5bWJvbDplfSxwYXJlbnRTb3VyY2VzOltdfSkpKX0pKX1zY3JvbGxIZWxwZXIoKXtyZXR1cm4gdGhpcy5fc2Nyb2xsSGVscGVyfXJlc2l6ZSgpe2NvbnN0IGU9dGhpcy5faGVpZ2h0KCkrInB4Iix0PXRoaXMuX3dpZHRoKCkrInB4IixpPSgwLApsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21haW5EaXYpO2kuc3R5bGUuaGVpZ2h0PWUsaS5zdHlsZS53aWR0aD10LHRoaXMuX2VsTWFpblRhYmxlLnN0eWxlLmhlaWdodD1lLHRoaXMuX2VsTWFpblRhYmxlLnN0eWxlLndpZHRoPXQsdGhpcy5fcmVzaXplSGFuZGxlciYmdGhpcy5fbWFpbkRpdiYmdGhpcy5fcmVzaXplSGFuZGxlcigpfWNoYXJ0UGFpbnRlZCgpe3JldHVybiB0aGlzLl9kcmF3UGxhbm5lZD8obnVsbD09PXRoaXMuX2NoYXJ0UGFpbnRlZFByb21pc2UmJih0aGlzLl9jaGFydFBhaW50ZWRQcm9taXNlPSgwLEF0LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKSksdGhpcy5fY2hhcnRQYWludGVkUHJvbWlzZS5wcm9taXNlKTpQcm9taXNlLnJlc29sdmUoKX1zZXREYXRhV2luZG93V2lkZ2V0KGUpe3RoaXMuX2RhdGFXaW5kb3dXaWRnZXQ9ZX1yZW1vdmVEYXRhV2luZG93V2lkZ2V0KCl7dGhpcy5fZGF0YVdpbmRvd1dpZGdldD1udWxsfXNob3dTZWxlY3RlZFNvdXJjZXNQcm9wZXJ0aWVzKGUpe2NvbnN0IHQ9dGhpcy5tb2RlbCgpLnNlbGVjdGlvbigpLmRhdGFTb3VyY2VzKCk7aWYoMT09PXQubGVuZ3RoKXRoaXMuc2hvd1NvdXJjZVByb3BlcnRpZXModFswXSxlKTtlbHNle2NvbnN0IGk9dC5maWx0ZXIocmkuaXNMaW5lVG9vbCk7aS5sZW5ndGg+MCYmdGhpcy5zaG93Q2hhcnRQcm9wZXJ0aWVzRm9yU291cmNlcyh7c291cmNlczppLHRhYk5hbWU6ZX0pfX1zZXRUaW1pbmdzTWV0ZXIoZSl7dGhpcy5fdGltaW5nc01ldGVyPWUsdGhpcy5fdXBkYXRlVGltaW5nc01ldGVyU3RhdGUoKX1vbkFib3V0VG9CZURlc3Ryb3llZCgpe3JldHVybiB0aGlzLl9hYm91dFRvQmVEZXN0cm95ZWR9ZXhlY3V0ZUFjdGlvbkJ5SWQoZSl7aWYoInRha2VTY3JlZW5zaG90Ij09PWUpcmV0dXJuIGNvbnNvbGUud2FybignQWN0aW9uICJ0YWtlU2NyZWVuc2hvdCIgaXMgZGVwcmVjYXRlZC4gVXNlIG1ldGhvZCAidGFrZVNjcmVlbnNob3QiIGluc3RlYWQnKSx2b2lkIHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi50YWtlU2NyZWVuc2hvdCgpO2NvbnN0IHQ9dGhpcy5hY3Rpb25zKClbZV07dD90LmV4ZWN1dGUoKTpjb25zb2xlLndhcm4oIlVua25vd24gYWN0aW9uIGlkOiAiK2UpfWdldENoZWNrYWJsZUFjdGlvblN0YXRlKGUpe2NvbnN0IHQ9dGhpcy5hY3Rpb25zKClbZV07aWYodCl7aWYodC5pc0NoZWNrYWJsZSgpKXJldHVybiB0LmlzQ2hlY2tlZCgpO2NvbnNvbGUud2FybigiQWN0aW9uICIrZSsiIGhhcyBubyBzdGF0ZSIpfWVsc2UgY29uc29sZS53YXJuKCJVbmtub3duIGFjdGlvbiBpZDogIitlKTtyZXR1cm4gbnVsbH1jb25uZWN0KCl7dGhpcy5fY2hhcnRTZXNzaW9uLmlzQ29ubmVjdGVkKCkuc3Vic2NyaWJlKHRoaXMuX29uQ2hhcnRTZXNzaW9uSXNDb25uZWN0ZWRDaGFuZ2VkKSx0aGlzLl9jaGFydFNlc3Npb24uY3JpdGljYWxFcnJvcigpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhcnRTZXNzaW9uQ3JpdGljYWxFcnJvciksdGhpcy5fY2hhcnRTZXNzaW9uLmNvbm5lY3QodGhpcy5fb25EYXRhLmJpbmQodGhpcykpfWZpbmlzaEluaXRXaXRob3V0Q29ubmVjdCgpe3RoaXMuX2NoYXJ0U2Vzc2lvbi5kaXNhYmxlKCksdGhpcy5faW5pdCgpLHRoaXMuX2NoYXJ0V2lkZ2V0SW5pdGlhbGl6ZWQuZmlyZSgpfXJlY29ubmVjdCgpe3RoaXMuX2NoYXJ0U2Vzc2lvbi5kaXNjb25uZWN0KCksdGhpcy5fY2hhcnRTZXNzaW9uLmNvbm5lY3QoKX11cGRhdGUoKXtpZih0aGlzLmhhc01vZGVsKCkpe2Zvcihjb25zdCBlIG9mIHRoaXMuX3BhbmVXaWRnZXRzLnZhbHVlKCkpZS51cGRhdGUoKTt0aGlzLl90aW1lQXhpc1dpZGdldCYmdGhpcy5fdGltZUF4aXNXaWRnZXQudXBkYXRlKCl9fXNldFByaWNlQXhpc0hvdmVyZWQoZSx0KXt0P3RoaXMuX2hvdmVyZWRQcmljZUF4ZXMuYWRkKGUpOnRoaXMuX2hvdmVyZWRQcmljZUF4ZXMuZGVsZXRlKGUpLHRoaXMuX2FueUF4aXNIb3ZlcmVkLnNldFZhbHVlKHRoaXMuX2hvdmVyZWRQcmljZUF4ZXMuc2l6ZT4wKX1hbnlQcmljZUF4aXNIb3ZlcmVkKCl7cmV0dXJuIHRoaXMuX2FueUF4aXNIb3ZlcmVkLnJlYWRvbmx5KCl9bGlua2luZ0dyb3VwSW5kZXgoKXtyZXR1cm4gdGhpcy5fbGlua2luZ0dyb3VwSW5kZXh9b2Zmc2V0SW5Eb2N1bWVudChlKXtjb25zdCB0PXRoaXMucGFuZUJ5U3RhdGUoZSk7aWYoIXQpcmV0dXJue2xlZnQ6TmFOLHRvcDpOYU59O2NvbnN0IGk9dC5nZXRFbGVtZW50KCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJue2xlZnQ6TWF0aC5yb3VuZChpLmxlZnQrZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KSx0b3A6TWF0aC5yb3VuZChpLnRvcCtkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCl9fXNob3dIaW50KGUsLi4udCl7MD09PWU/dGhpcy5fc2hvd0V2ZW50SGludCguLi50KToxPT09ZSYmdGhpcy5fc2hvd1dhcm5pbmdIaW50KC4uLnQpfWhvdGtleXMoKXtyZXR1cm4gdGhpcy5faG90a2V5c31vbkFib3V0VG9Mb2FkQ29udGVudCgpe2lmKHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplcj8uZGVzdHJveSgpLHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplcj1udWxsLHRoaXMuaGFzTW9kZWwoKSl7Y29uc3QgZT10aGlzLm1vZGVsKCk7Zm9yKGNvbnN0IHQgb2YgZS5kYXRhU291cmNlcygpKSgwLHJpLmlzTGluZVRvb2wpKHQpJiZ0LmRldGFjaEFsZXJ0KCk7ZS5pc0luUmVwbGF5KCkudmFsdWUoKSYmZS5zd2l0Y2hUb1JlYWx0aW1lKCl9dGhpcy5fY2hhcnRTZXNzaW9uLmRpc2Nvbm5lY3QoKX1hc3luYyBsb2FkQ29udGVudChlLHQpe3RoaXMuc2NyZWVuLnNob3coKTtjb25zdCBpPXRoaXMubW9kZWwoKTtpLm1vZGVsKCkuc2V0TWF4aW1pemVkUGFuZShudWxsKSxpLm1vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKGU9PmUuY2xlYXJTZWxlY3Rpb24oKSkpO2NvbnN0IHM9aS5tYWluU2VyaWVzKCk7aS5tb2RlbCgpLmlzSW5SZXBsYXkoKS52YWx1ZSgpJiZpLm1vZGVsKCkuc3dpdGNoVG9SZWFsdGltZSgpO2xldCBuLHI7aS5jcm9zc2hhaXJTb3VyY2UoKS5jbGVhck1lYXN1cmUoKSxpLnVubG9hZERhdGFTb3VyY2VzKCksCmkubW9kZWwoKS5hbGVydHNXYXRjaGVyKCk/LmRldGFjaFNvdXJjZUFsZXJ0TGFiZWxzKHMpLHRoaXMuX2NoYXJ0U2Vzc2lvbi5jb25uZWN0KHRoaXMuX29uRGF0YS5iaW5kKHRoaXMpKSx0aGlzLl9hY3RpdmVQYW5lV2lkZ2V0LnNldFZhbHVlKG51bGwpLHMucHVyZ2VTeW1ib2xJbmZvKCksZS5sb2FkaW5nPSEwLHRoaXMuX2lkPSgwLGwuZW5zdXJlRGVmaW5lZCkoZS5jaGFydElkKSxhd2FpdCgwLHJpLmVuc3VyZUFsbExpbmVUb29sc0xvYWRlZEZvckxheW91dCkoW2VdKSx0aGlzLl9jb250ZW50PWUsdGhpcy5fc2V0U3ltYm9sSW50ZXJ2YWxDb250ZW50T3ZlcnJpZGVzPXt9LHRoaXMuX2luaXRpYWxMb2FkaW5nPXQ7Y29uc3Qgbz10aGlzLl9jb250ZW50U2VyaWVzUHJvcGVydGllcygpO2lmKG8mJihuPW8scj1lLmNoYXJ0UHJvcGVydGllcy5wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3lOYW1lKSwhbil0aHJvdyBFcnJvcigiQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZGV0ZXJtaW5pbmcgbWFpbiBzZXJpZXMgb24gdGhlIGNoYXJ0Iik7Y29uc3QgYT1zLnN0eWxlKCk7dGhpcy5fbWFpblNlcmllc1Byb3BlcnRpZXMubWVyZ2VBbmRGaXJlKHt2aXNpYmxlOiEwLHN5bWJvbDpuLnN5bWJvbCx0aW1lZnJhbWU6IiIsaW50ZXJ2YWw6bi5pbnRlcnZhbHx8IkQiLHN0eWxlOm4uc3R5bGV9KSx2b2lkIDAhPT1yJiZ0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWUuc2V0VmFsdWUociksYSE9PXMuc3R5bGUoKSYmcy5vbkNoYXJ0U3R5bGVDaGFuZ2VkKCksdGhpcy5faW5pdCgpLGkudW5kb0hpc3RvcnkoKS5jbGVhclN0YWNrKCksdGhpcy5fY2hhcnRXaWRnZXRJbml0aWFsaXplZC5maXJlKCksaS5tb2RlbCgpLmFsZXJ0c1dhdGNoZXIoKT8uc3luY1NvdXJjZUFsZXJ0TGFiZWxzKHMpfXJlc2V0RHJhd2luZ1N0YXRlKCl7aWYoKDAsVC5yZXNldFRvQ3Vyc29yKSghMCksdGhpcy5oYXNNb2RlbCgpKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5tb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLnBhbmUpOygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lQnlTdGF0ZShlKSkuY2FuY2VsQ3JlYXRpbmdMaW5lVG9vbCgpLHRoaXMubW9kZWwoKS5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKX0pKX19Y2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5jaGFydEZsb2F0aW5nVG9vbHRpcFZpc2libGUoKS52YWx1ZSgpfV9jbGVhclNlbGVjdGlvbkhvdGtleSgpe3JldHVybntkZXNjOiJDYW5jZWwgc2VsZWN0aW9uIixob3RrZXk6MjcsaGFuZGxlcjooKT0+e2lmKHRoaXMuX2NoZWNrSXNUcmFkZWRHcm91cFNlbGVjdGVkKCkmJnRoaXMuX29wdGlvbnMuZXh0ZXJuYWxTZXJ2aWNlcy50cmFkaW5nLnRyYWRlZENvbnRleHRMaW5raW5nLnZhbHVlKCk/LmNsZWFyKCksdGhpcy5zZWxlY3RQb2ludE1vZGUoKS52YWx1ZSgpIT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSlyZXR1cm4gdGhpcy5zZWxlY3RQb2ludE1vZGUoKS52YWx1ZSgpPT09VC5TZWxlY3RQb2ludE1vZGUuUmVwbGF5JiZ0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24uZ2V0QWxsKCkuZm9yRWFjaCgoZT0+e2UhPT10aGlzJiZlLnNlbGVjdFBvaW50TW9kZSgpLnZhbHVlKCk9PT1ULlNlbGVjdFBvaW50TW9kZS5SZXBsYXkmJmUuY2FuY2VsUmVxdWVzdFNlbGVjdFBvaW50KCl9KSksdm9pZCB0aGlzLmNhbmNlbFJlcXVlc3RTZWxlY3RQb2ludCgpO2lmKHRoaXMuaGFzTW9kZWwoKSl7Y29uc3QgZT10aGlzLm1vZGVsKCkuc2VsZWN0aW9uKCkubGluZURhdGFTb3VyY2VzKCk7MT09PWUubGVuZ3RoJiYoMCxyaS5pc0VkaXRhYmxlVGV4dExpbmVUb29sKShlWzBdKSYmZVswXS50ZXh0RWRpdGluZ0p1c3RGaW5pc2hlZCgpfHx0aGlzLm1vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKGU9Pnt0aGlzLl9jYW5jZWxDcmVhdGluZ0xpbmUoKSxlLmNsZWFyU2VsZWN0aW9uKCl9KSk7Y29uc3QgdD10aGlzLm1vZGVsKCkubW9kZWwoKS5jdXN0b21Tb3VyY2VNb3ZpbmdIaXRUZXN0RGF0YSgpO3QmJnQuY2FuY2VsTW92ZUhhbmRsZXImJnQuY2FuY2VsTW92ZUhhbmRsZXIoKSYmKHQuY2FuY2VsbGVkPSEwLHRoaXMubW9kZWwoKS5tb2RlbCgpLnNldE1vdmluZ0N1c3RvbVNvdXJjZShudWxsLG51bGwpLHRoaXMubW9kZWwoKS5tb2RlbCgpLmxpZ2h0VXBkYXRlKCkpfX0saXNEaXNhYmxlZDooKT0+e2lmKCF0aGlzLmhhc01vZGVsKCkpcmV0dXJuITA7Y29uc3QgZT10aGlzLm1vZGVsKCksdD1lLnNlbGVjdGlvbigpLmlzRW1wdHkoKSxpPW51bGw9PT1lLmNyb3NzaGFpclNvdXJjZSgpLm1lYXN1cmVQYW5lKCkudmFsdWUoKSxzPXRoaXMuc2VsZWN0UG9pbnRNb2RlKCkudmFsdWUoKT09PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmU7cmV0dXJuIHQmJmkmJnN9fX1hc3luYyBfaW5zZXJ0U3R1ZHlPclJlcGxhY2VTdHViKGUsdCxpLHMsbixyKXt0cnl7e2NvbnN0IGk9dGhpcy5tb2RlbCgpLm1vZGVsKCkuY2hhcnRBcGkoKS5jYW5DcmVhdGVTdHVkeSh7aWQ6ImphdmEiPT09ZS50eXBlP2Uuc3R1ZHlJZDoiIixjaGlsZDp0Lmxlbmd0aD4wLGZ1bmRhbWVudGFsOnM/LmlzRnVuZGFtZW50YWwsZm9yZWNhc3Q6cz8uaXNGb3JlY2FzdCxzdHViVGl0bGU6cz8uc3R1YlRpdGxlfSk7aWYoIWkuc3VjY2Vzcyl0aHJvdygwLFluLnNob3dTdHVkaWVzTGltaXRHb1Byb0RpYWxvZykodGhpcy5tb2RlbCgpLm1vZGVsKCksaSksbmV3IGxnKGxnLlJlYXNvbnMuTGltaXRzKX1yZXR1cm4gdC5sZW5ndGgmJmF3YWl0IG5ldyBQcm9taXNlKCgoZSx0KT0+eygwLFV0LnJ1bk9yU2lnbkluKShlLHtzb3VyY2U6InN0dWR5IG9uIHN0dWR5IixvblVubW91bnRFdmVudDooKT0+dChuZXcgbGcoYWcuQ2FuY2VsZWQpKX0pfSkpLHI/LigpLCJqYXZhIj09PWUudHlwZSYmYXdhaXQoMCxhdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5yZXF1ZXN0TWV0YUluZm8oKSxhd2FpdCB0aGlzLl9pbnNlcnRPclJlcGxhY2VTdHViQnlTdHVkeUltcGwoZSx0LGkscyxuKX1jYXRjaChlKXsKcmV0dXJuIGkmJmUgaW5zdGFuY2VvZiBsZyYmdGhpcy5tb2RlbCgpLm1vZGVsKCkucmVtb3ZlU291cmNlKGksITApLG51bGx9fV9pbnNlcnRPclJlcGxhY2VTdHViQnlTdHVkeUltcGwoZSx0LHMsbixyKXtjb25zdCBvPXRoaXMubW9kZWwoKS5jcmVhdGVTdHVkeUluc2VydGVyKGUsdCxuKTtvLnNldEV2ZW50U291cmNlKG4/LmV2ZW50U291cmNlKSxvLnNldEZvcmNlT3ZlcmxheSgiamF2YSI9PT1lLnR5cGUmJiJWb2x1bWVAdHYtYmFzaWNzdHVkaWVzIj09PWUuc3R1ZHlJZCYmKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidm9sdW1lX2ZvcmNlX292ZXJsYXkiKSk7Y29uc3QgYT1vLmluc2VydCgoKGUsaSxzKT0+bmV3IFByb21pc2UoKChuLG8pPT57dGhpcy5zZWxlY3RQb2ludE1vZGUoKS52YWx1ZSgpIT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSYmdGhpcy5jYW5jZWxSZXF1ZXN0U2VsZWN0UG9pbnQoKSxyP24ocihlLGkscykpOiFmdW5jdGlvbihlKXtyZXR1cm4gaGEuaW5jbHVkZXMoZS5pZCl9KHMpPyhpPz9bXSkuc29tZSgoZT0+ZS5jb25maXJtKSk/KCgwLE10LnRyYWNrRXZlbnQpKCJHVUkiLCJDb25maXJtYXRpb24gZGlhbG9ncyIsIklucHV0cyBjb25maXJtYXRpb24gZGlhbG9nIiksSHQodGhpcyxlLHMsbiwoKCk9Pm8obmV3IGxnKGxnLlJlYXNvbnMuQ2FuY2VsZWQpKSkpKTpuKHtpbnB1dHM6e30scGFyZW50U291cmNlczp0fSk6KCgwLE10LnRyYWNrRXZlbnQpKCJHVUkiLCJDb25maXJtYXRpb24gZGlhbG9ncyIsIlN5bWJvbCBjb25maXJtYXRpb24gZGlhbG9nIiksSHQodGhpcyxlLHMsbiwoKCk9Pm8obmV3IGxnKGxnLlJlYXNvbnMuQ2FuY2VsZWQpKSksInN5bWJvbCIpKX0pKSksdm9pZCAwLHMpO3JldHVybiBhLnRoZW4oKCgpPT57KDAsVC5oaWRlQWxsSW5kaWNhdG9ycykoKS52YWx1ZSgpJiYoMCxSdC50b2dnbGVIaWRlT3B0aW9ucykoITEpfSkpLmNhdGNoKChlPT57c3x8KGU9PT1wdS5JbnNlcnRpb25FcnJvckNvZGUuU3R1ZHlDYW5ub3RCZUNoaWxkJiYoMCxoZS5zaG93V2FybmluZykoe3RpdGxlOnAudChudWxsLHZvaWQgMCxpKDYzMzkwNykpLHRleHQ6cC50KG51bGwsdm9pZCAwLGkoOTAwMDQxKSksYnV0dG9uVGV4dDpwLnQobnVsbCx2b2lkIDAsaSgxMTE4OTgpKSxiYWNrZHJvcDohMH0pLGU9PT1wdS5JbnNlcnRpb25FcnJvckNvZGUuQ2Fubm90Q29tcGlsZVB1YiYmKDAsaGUuc2hvd1dhcm5pbmcpKHt0aXRsZTpwLnQobnVsbCx2b2lkIDAsaSg2MjE5ODQpKSx0ZXh0OnAudChudWxsLHZvaWQgMCxpKDM4NjM3NykpLGJ1dHRvblRleHQ6cC50KG51bGwsdm9pZCAwLGkoMTExODk4KSksYmFja2Ryb3A6ITB9KSxlPT09cHUuSW5zZXJ0aW9uRXJyb3JDb2RlLkNhbm5vdEdldE1ldGFpbmZvJiYoMCxoZS5zaG93V2FybmluZykoe3RpdGxlOnAudChudWxsLHZvaWQgMCxpKDIxMjU2NCkpLHRleHQ6cC50KG51bGwsdm9pZCAwLGkoMjg1ZTMpKSxidXR0b25UZXh0OnAudChudWxsLHZvaWQgMCxpKDExMTg5OCkpLGJhY2tkcm9wOiEwfSkpfSkpLGF9YXN5bmMgX3Nob3dDaGFydFByb3BlcnRpZXMoZSx0LGkscyl7aWYoIXRoaXMuaGFzTW9kZWwoKSlyZXR1cm4gbnVsbDt0JiYoKDAsUS5zZXRWYWx1ZSkoInByb3BlcnRpZXNfZGlhbG9nLmFjdGl2ZV90YWIuY2hhcnQiLHQpLGkudGFiTmFtZT10KTtjb25zdCBuPWF3YWl0IGNpKGUsdGhpcy5tb2RlbCgpLGksdGhpcy5fb3B0aW9ucy5jaGFydFdpZGdldENvbGxlY3Rpb24scyk7cmV0dXJuIG4/LnZpc2libGUoKS52YWx1ZSgpP246bnVsbH1fY3JlYXRlTGluZVRvb2xzU3luY2hyb25pemVySWZOZWVkZWQoKXt7dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyPy5kZXN0cm95KCksdGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVySGFzQ2hhbmdlcz8/PW5ldyBoLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVySGFzQ2hhbmdlcy5zZXRWYWx1ZSghMSk7Y29uc3QgZT17cmVhZE9ubHlNb2RlOnRoaXMucmVhZE9ubHkoKSxtaWdyYXRlU3luY2VkTGluZVRvb2xzOnRoaXM9PT10aGlzLl9vcHRpb25zLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5nZXRBbGwoKVswXX0sdD17bGF5b3V0SWQ6dGhpcy5sYXlvdXRJZCgpLGNoYXJ0SWQ6dGhpcy5faWQsY2xpZW50SWQ6dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmNsaWVudElkfSxpPXFfLkxpbmVUb29sc1N5bmNocm9uaXplcjt0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXI9bmV3IGkodCx0aGlzLm1vZGVsKCkubW9kZWwoKSxlLHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplckhhc0NoYW5nZXMpLG51bGwhPT10aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlJiZ0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXIuc2V0U2F2ZUNoYXJ0U2VydmljZSh0aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlKSx0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXIuaW52YWxpZGF0ZUFsbCghMCksdGhpcy5oYXNNb2RlbCgpJiZ0aGlzLm1vZGVsKCkubW9kZWwoKS5zZXRMaW5lVG9vbHNTeW5jaHJvbml6ZXIodGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyKX19X3VwZGF0ZVRoZW1lZENvbG9yKCl7Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKSx0PWUuYmFja2dyb3VuZENvbG9yQXRZUGVyY2VudEZyb21Ub3AoLjUpO2xldCBpPWUuYmFja2dyb3VuZFRvcENvbG9yKCkudmFsdWUoKSxzPWUuYmFja2dyb3VuZENvbG9yKCkudmFsdWUoKTtjb25zdCBuPSgwLEl0LmlzQ29sb3JEYXJrKSh0KSxyPSgwLEl0LmlzQ29sb3JEYXJrKShpKSxvPSgwLEl0LmlzQ29sb3JEYXJrKShzKTt0aGlzLndpZGdldCgpLmNsYXNzTGlzdC50b2dnbGUoImNoYXJ0LXdpZGdldC0tdGhlbWVkLWRhcmsiLG4pLHRoaXMud2lkZ2V0KCkuY2xhc3NMaXN0LnRvZ2dsZSgiY2hhcnQtd2lkZ2V0LS10aGVtZWQtbGlnaHQiLCFuKSx0aGlzLndpZGdldCgpLmNsYXNzTGlzdC50b2dnbGUoImNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayIsciksdGhpcy53aWRnZXQoKS5jbGFzc0xpc3QudG9nZ2xlKCJjaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IiwhciksCnRoaXMud2lkZ2V0KCkuY2xhc3NMaXN0LnRvZ2dsZSgiY2hhcnQtd2lkZ2V0X19ib3R0b20tLXRoZW1lZC1kYXJrIixvKSx0aGlzLndpZGdldCgpLmNsYXNzTGlzdC50b2dnbGUoImNoYXJ0LXdpZGdldF9fYm90dG9tLS10aGVtZWQtbGlnaHQiLCFvKSx0aGlzLl9iYWNrZ3JvdW5kVG9wVGhlbWUuc2V0VmFsdWUocj8iZGFyayI6ImxpZ2h0IiksdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUuc2V0VmFsdWUobj8iZGFyayI6ImxpZ2h0IiksdGhpcy5fYmFja2dyb3VuZEJvdHRvbVRoZW1lLnNldFZhbHVlKG8/ImRhcmsiOiJsaWdodCIpLGk9PT1zJiYoMCxrLmlzU3RkVGhlbWVkRGVmYXVsdFZhbHVlKSgiY2hhcnRQcm9wZXJ0aWVzLnBhbmVQcm9wZXJ0aWVzLmJhY2tncm91bmQiLGksdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUudmFsdWUoKSkmJihpPW51bGwscz1udWxsKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpKWUudXBkYXRlVGhlbWVkQ29sb3JzKHt0b3BDb2xvcjppLGJvdHRvbUNvbG9yOnN9KX1faXNMaW5lVG9vbE1vZGVFeGNlcHRCcnVzaCgpe2NvbnN0IGU9VC50b29sLnZhbHVlKCk7cmV0dXJuKDAsbS5pc0xpbmVUb29sTmFtZSkoZSkmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKGUpJiZ0aGlzLnNlbGVjdFBvaW50TW9kZSgpLnZhbHVlKCk9PT1ULlNlbGVjdFBvaW50TW9kZS5Ob25lfV9jYW5jZWxDcmVhdGluZ0xpbmUoKXtjb25zdCBlPXRoaXMubW9kZWwoKS5tb2RlbCgpLHQ9ZS5saW5lQmVpbmdDcmVhdGVkKCk7aWYobnVsbCE9PXQpe2NvbnN0IGk9ZS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbCh0KTtpJiZpLmV4Y2x1ZGVJdGVtcyhbdF0pO2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKShlLnBhbmVGb3JTb3VyY2UodCkpOygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lQnlTdGF0ZShzKSkuY2FuY2VsQ3JlYXRpbmdMaW5lVG9vbCgpLHQudG9vbG5hbWU9PT1ULnRvb2wudmFsdWUoKSYmKDAsVC5yZXNldFRvQ3Vyc29yKSgpfWNvbnN0IGk9ZS5jcm9zc2hhaXJTb3VyY2UoKS5tZWFzdXJlUGFuZSgpLnZhbHVlKCk7aWYobnVsbCE9PWkpeygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lQnlTdGF0ZShpKSkuY2FuY2VsTWVhc3VyaW5nKCl9fV9hZGp1c3RTaXplKGUpe2xldCB0PTA7Y29uc3QgaT10aGlzLmhhc01vZGVsKCk/dGhpcy5tb2RlbCgpLm1vZGVsKCkucHJpY2VTY2FsZVNsb3RzQ291bnQoKTpudWxsLHM9bmV3IFVpbnQzMkFycmF5KG51bGw9PT1pPzA6aS5sZWZ0KSxuPW5ldyBVaW50MzJBcnJheShudWxsPT09aT8wOmkucmlnaHQpLHI9e3ZhbHVlOjB9LG89e3ZhbHVlOjB9LGE9KDAsZGkuZ2V0Q2FudmFzRGV2aWNlUGl4ZWxSYXRpbykoZG9jdW1lbnQuYm9keSksbD0oZSx0KT0+ZSt0LGM9KGUsdCxpKT0+e0FycmF5LmlzQXJyYXkoaSk/aS5mb3JFYWNoKCgodCxpKT0+e2VbaV09TWF0aC5tYXgoZVtpXSx0KX0pKTp0LnZhbHVlPU1hdGgubWF4KHQudmFsdWUsaSl9LGg9KGUsdCxpKT0+e2lmKGkudmFsdWU+dCl7Y29uc3Qgcz1pLnZhbHVlL3Q7bGV0IG49MDtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdPU1hdGguY2VpbChlW3RdKnMpLG4rPWVbdF07cmV0dXJuIG59cmV0dXJuIHR9LGQ9dGhpcy5fd2lkdGgoKSx1PXRoaXMuX2hlaWdodCgpLHA9dGhpcy5fcGFuZVNlcGFyYXRvcnMubGVuZ3RoLF89dGhpcy5oYXNNYXhpbWl6ZWRQYW5lKCk/MDpQaS5oZWlnaHQoKSpwLG09bnVsbCE9PXRoaXMuX3RpbWVBeGlzV2lkZ2V0P3RoaXMuX3RpbWVBeGlzV2lkZ2V0Lm9wdGltYWxIZWlnaHQoKTowO2xldCBnPXUtbT49NjE/bTowO2clMiYmKGcrPTEpO2NvbnN0IGY9dGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKSxTPU1hdGgubWF4KDEsTWF0aC5mbG9vcigodS1fLWcpL2YubGVuZ3RoKSk7bGV0IHY9MCx5PW51bGw7Y29uc3QgYj10aGlzLm1heGltaXplZFBhbmVXaWRnZXQoKTtmb3IoY29uc3QgZSBvZiBmKWlmKCFifHxiPT09ZSl7ZS5sZWZ0UHJpY2VBeGlzZXNDb250YWluZXIoKS51cGRhdGVDdXJyZW5jeUxhYmVscygpO2NvbnN0IGk9ZS5sZWZ0UHJpY2VBeGlzZXNDb250YWluZXIoKS5vcHRpbWFsV2lkdGhzKCk7ZS5yaWdodFByaWNlQXhpc2VzQ29udGFpbmVyKCkudXBkYXRlQ3VycmVuY3lMYWJlbHMoKTtjb25zdCBhPWUucmlnaHRQcmljZUF4aXNlc0NvbnRhaW5lcigpLm9wdGltYWxXaWR0aHMoKTtjKHMscixpKSxjKG4sbyxhKSxiIT09ZSYmZS5zdGF0ZSgpLmNvbGxhcHNlZCgpLnZhbHVlKCk/dis9TWF0aC5taW4oUyxlLmNvbGxhcHNlZEhlaWdodCgpKToodCs9ZS5zdHJldGNoRmFjdG9yKCkseT1lKX1sZXQgdz1zLnJlZHVjZShsLDApOzA9PT13JiYwIT09cy5sZW5ndGgmJjAhPT1yLnZhbHVlJiYoc1swXT13PXIudmFsdWUpO2xldCBDPW4ucmVkdWNlKGwsMCk7MD09PUMmJjAhPT1uLmxlbmd0aCYmMCE9PW8udmFsdWUmJihuWzBdPUM9by52YWx1ZSksdz1oKHMsdyxyKSxDPWgobixDLG8pO2xldCBQPU1hdGgubWF4KGQtdy1DLDApO2lmKFA8PTEwMil7dz0wLEM9MCxQPWQ7Zm9yKGxldCBlPTA7ZTxzLmxlbmd0aDtlKyspc1tlXT0wO2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSsrKW5bZV09MH1mb3IoY29uc3QgZSBvZiB0aGlzLl9wYW5lU2VwYXJhdG9ycyllLmFkanVzdFNpemUoKTtjb25zdCBUPV8rditnLHg9dTxUPzA6dS1ULE09eC90O2xldCBJPTAsTD0hMTtjb25zdCBBPXRoaXMuaGFzTW9kZWwoKT90aGlzLm1vZGVsKCkubW9kZWwoKTp2b2lkIDA7dGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKS5mb3JFYWNoKCgoZSx0KT0+e3ZvaWQgMCE9PUEmJmUuc2V0U3RhdGUoQS5wYW5lcygpW3RdKTtsZXQgaT0wO2lmKHRoaXMuaGFzTWF4aW1pemVkUGFuZSgpKWk9dGhpcy5tYXhpbWl6ZWRQYW5lV2lkZ2V0KCk9PT1lP3g6MDtlbHNlIGlmKGUuc3RhdGUoKS5jb2xsYXBzZWQoKS52YWx1ZSgpKWk9TWF0aC5taW4oUyxlLmNvbGxhcHNlZEhlaWdodCgpKTtlbHNle2NvbnN0IHQ9ZT09PXk/TWF0aC5jZWlsKCh4LUkpKmEpL2E6TWF0aC5yb3VuZChlLnN0cmV0Y2hGYWN0b3IoKSpNKmEpL2EKO2k9TWF0aC5tYXgodCwyKSxJKz1pfWUuc2V0UHJpY2VBeGlzU2l6ZXMoImxlZnQiLGkscyksZS5zZXRQcmljZUF4aXNTaXplcygicmlnaHQiLGksbiksTD1MfHxpIT09ZS5oZWlnaHQoKSxlLnNldFNpemUoKDAseXQuc2l6ZSkoe3dpZHRoOlAsaGVpZ2h0Oml9KSksQSYmZS5zdGF0ZSgpJiZBLnNldFBhbmVIZWlnaHQoZS5zdGF0ZSgpLGkpfSkpLG51bGwhPT10aGlzLl90aW1lQXhpc1dpZGdldCYmdGhpcy5fdGltZUF4aXNXaWRnZXQuc2V0U2l6ZXMoKDAseXQuc2l6ZSkoe3dpZHRoOlAsaGVpZ2h0Omd9KSxzLG4pLEEmJkEuc2V0V2lkdGgoUCxlKSx0aGlzLl9jb250cm9sQmFyTmF2aWdhdGlvbiYmdGhpcy5fY29udHJvbEJhck5hdmlnYXRpb24udXBkYXRlUG9zaXRpb24oKSx0aGlzLl9saHNBeGVzV2lkdGghPT13JiYodGhpcy5fbGhzQXhlc1dpZHRoPXcsdGhpcy5fbGhzUHJpY2VBeGlzV2lkdGhDaGFuZ2VkLmZpcmUodykpLHRoaXMuX3Joc0F4ZXNXaWR0aCE9PUMmJih0aGlzLl9yaHNBeGVzV2lkdGg9Qyx0aGlzLl9yaHNQcmljZUF4aXNXaWR0aENoYW5nZWQuZmlyZShDKSksTCYmJC5lbWl0KCJwYW5lc19oZWlnaHRfY2hhbmdlZCIpfV9tYWtlUGFuZVdpZGdldHNBbmRTZXBhcmF0b3JzKCl7Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKS5wYW5lcygpLHQ9ZS5sZW5ndGgsaT10aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmxlbmd0aCxzPXRoaXMuX3BhbmVXaWRnZXRzLnZhbHVlKCkuc2xpY2UoKTtmb3IobGV0IGU9dDtlPGk7ZSsrKXsoMCxsLmVuc3VyZURlZmluZWQpKHMucG9wKCkpLmRlc3Ryb3koKTtjb25zdCBlPXRoaXMuX3BhbmVTZXBhcmF0b3JzLnBvcCgpO2UmJmUuZGVzdHJveSgpfWNvbnN0IG49dGhpcy5fb3B0aW9ucy5jb250YWluc0RhdGE7Zm9yKGxldCByPTA7cjx0O3IrKyl7Y29uc3QgdD1yPj1pLG89e2NvbnRleHRNZW51RW5hYmxlZDp0aGlzLl9vcHRpb25zLnBhbmVDb250ZXh0TWVudUVuYWJsZWQsY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZDp0aGlzLl9vcHRpb25zLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQsdW5pdENvbnZlcnNpb25FbmFibGVkOnRoaXMuX29wdGlvbnMudW5pdENvbnZlcnNpb25FbmFibGVkLG1ldHJpY0NvbnZlcnNpb25FbmFibGVkOnRoaXMuX29wdGlvbnMubWV0cmljQ29udmVyc2lvbkVuYWJsZWQsaGFuZGxlU2NhbGU6dGhpcy5fb3B0aW9ucy5oYW5kbGVTY2FsZSxoYW5kbGVTY3JvbGw6dGhpcy5fb3B0aW9ucy5oYW5kbGVTY3JvbGwscHJpY2VTY2FsZUNvbnRleHRNZW51RW5hYmxlZDp0aGlzLl9vcHRpb25zLnByaWNlU2NhbGVDb250ZXh0TWVudUVuYWJsZWQsbGVnZW5kV2lkZ2V0RW5hYmxlZDp0aGlzLl9vcHRpb25zLmxlZ2VuZFdpZGdldEVuYWJsZWQmJmVbcl0ubW9kZSgpPT09TS5QYW5lTW9kZS5SZWd1bGFyLHNvdXJjZVN0YXR1c2VzV2lkZ2V0RW5hYmxlZDohbixzb3VyY2VTdGF0dXNlc1dpZGdldDp0aGlzLl9vcHRpb25zLnNvdXJjZVN0YXR1c2VzV2lkZ2V0LG1hcmtldFN0YXR1c1dpZGdldEVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5tYXJrZXRTdGF0dXNXaWRnZXRFbmFibGVkJiYhbixjaGFydFdhcm5pbmdXaWRnZXRFbmFibGVkOnRoaXMuX29wdGlvbnMuY2hhcnRXYXJuaW5nV2lkZ2V0RW5hYmxlZCYmIW4sY2hhcnRXYXJuaW5nV2lkZ2V0OnRoaXMuX29wdGlvbnMuY2hhcnRXYXJuaW5nV2lkZ2V0LGRhdGFQcm9ibGVtV2lkZ2V0RW5hYmxlZDp0aGlzLl9vcHRpb25zLmRhdGFQcm9ibGVtV2lkZ2V0RW5hYmxlZCYmIW4sbGVnZW5kV2lkZ2V0OnRoaXMuX29wdGlvbnMubGVnZW5kV2lkZ2V0LHByb3BlcnR5UGFnZXNFbmFibGVkOnRoaXMuX29wdGlvbnMucHJvcGVydHlQYWdlc0VuYWJsZWQsc291cmNlU2VsZWN0aW9uRW5hYmxlZDp0aGlzLl9vcHRpb25zLnNvdXJjZVNlbGVjdGlvbkVuYWJsZWQsY29udHJvbHNFbmFibGVkOnRoaXMuX29wdGlvbnMucGFuZUNvbnRyb2xzRW5hYmxlZCxjcm9wcGVkVGlja01hcmtzOnRoaXMuX29wdGlvbnMuY3JvcHBlZFRpY2tNYXJrcyxjb3VudGRvd25FbmFibGVkOnRoaXMuX29wdGlvbnMuY291bnRkb3duRW5hYmxlZCxjdXN0b21MZWdlbmRXaWRnZXRGYWN0b3JpZXM6bmV3IE1hcCh0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yeU1hcCksdXNlS2luZXRpY1Njcm9sbDp0aGlzLl9vcHRpb25zLnVzZUtpbmV0aWNTY3JvbGwscGluZVNvdXJjZVN0YXR1c0VuYWJsZWQ6IXRoaXMucmVhZE9ubHkoKSxhbGVydFN0YXR1c0VuYWJsZWQ6IXRoaXMucmVhZE9ubHkoKSYmIXRoaXMuX29uV2lkZ2V0fTtpZih2b2lkIDAhPT10aGlzLl9vcHRpb25zLnBhbmVDb250ZXh0TWVudSYmKG8uY29udGV4dE1lbnU9dGhpcy5fb3B0aW9ucy5wYW5lQ29udGV4dE1lbnUpLHZvaWQgMCE9PXRoaXMuX29wdGlvbnMucHJpY2VTY2FsZUNvbnRleHRNZW51JiYoby5wcmljZVNjYWxlQ29udGV4dE1lbnU9dGhpcy5fb3B0aW9ucy5wcmljZVNjYWxlQ29udGV4dE1lbnUpLHQpe2NvbnN0IHQ9bmV3IGJuKHRoaXMsZVtyXSxvLHRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUpO2lmKHMucHVzaCh0KSxyPjApe2NvbnN0IGU9bmV3IFBpKHRoaXMsci0xLHIpO3RoaXMuX3BhbmVTZXBhcmF0b3JzLnB1c2goZSksdGhpcy5fdGltZUF4aXNXaWRnZXQ/dGhpcy5fZWxNYWluVGFibGUuaW5zZXJ0QmVmb3JlKGUuZ2V0RWxlbWVudCgpLHRoaXMuX3RpbWVBeGlzV2lkZ2V0LmdldEVsZW1lbnQoKSk6dGhpcy5fZWxNYWluVGFibGUuYXBwZW5kQ2hpbGQoZS5nZXRFbGVtZW50KCkpfXRoaXMuX3RpbWVBeGlzV2lkZ2V0P3RoaXMuX2VsTWFpblRhYmxlLmluc2VydEJlZm9yZSh0LmdldEVsZW1lbnQoKSx0aGlzLl90aW1lQXhpc1dpZGdldC5nZXRFbGVtZW50KCkpOnRoaXMuX2VsTWFpblRhYmxlLmFwcGVuZENoaWxkKHQuZ2V0RWxlbWVudCgpKX1lbHNle3Nbcl0udXBkYXRlT3B0aW9ucyhvKX19Y29uc3Qgcj10aGlzLm1heGltaXplZFBhbmVXaWRnZXQoKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9wYW5lU2VwYXJhdG9ycylyP2UuaGlkZSgpOmUuc2hvdygpO2ZvcihsZXQgaT0wO2k8dDtpKyspe2NvbnN0IHQ9ZVtpXSxuPXNbaV0KO24uaGFzU3RhdGUoKSYmbi5zdGF0ZSgpPT09dD9uLnVwZGF0ZVByaWNlQXhpc1dpZGdldHNTdGF0ZXMoKTpuLnNldFN0YXRlKHQpfWZvcihsZXQgZT10O2UtLTspc1tlXS51cGRhdGVDb250cm9scygpO3RoaXMuX3BhbmVXaWRnZXRzLnNldFZhbHVlKFsuLi5zXSksdGhpcy5fZXJyb3JSZW5kZXJlclJlc291cmNlLmNhbGxGdW5jdGlvbigoZT0+e2U/LnVwZGF0ZVBhbmVXaWRnZXRzKCl9KSksdGhpcy5fdXBkYXRlVGhlbWVkQ29sb3IoKX1fd2lkdGgoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy53aWR0aC52YWx1ZSgpfV9oZWlnaHQoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5oZWlnaHQudmFsdWUoKX1fdXBkYXRlKGUsdCl7Y29uc3QgaT1lP2UuZnVsbEludmFsaWRhdGlvbigpOkxlLkludmFsaWRhdGlvbkxldmVsLkZ1bGwscz0hIWUmJmUuaXNWaXNpYmxlVGltZVJhbmdlTG9ja2VkT25SZXNpemUoKTtpZihudWxsIT09dGhpcy5fdGltaW5nc01ldGVyJiZ0aGlzLl90aW1pbmdzTWV0ZXIuc3RhcnREcmF3KGksdGhpcy5tb2RlbCgpLm1vZGVsKCkubWFpblNlcmllcygpLnN0eWxlKCkpLGk9PT1MZS5JbnZhbGlkYXRpb25MZXZlbC5GdWxsJiYodGhpcy5oYXNNb2RlbCgpP3RoaXMuX3VwZGF0ZUd1aShzKTp0aGlzLl9hZGp1c3RTaXplKHMpKSxpPkxlLkludmFsaWRhdGlvbkxldmVsLkN1cnNvciYmKHRoaXMuX3RpbWVBeGlzV2lkZ2V0Py51cGRhdGUoKSx0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmZvckVhY2goKGU9PntlLnVwZGF0ZVByaWNlQXhpc1dpZGdldHMoKX0pKSx0aGlzLl9hcHBseVRpbWVTY2FsZUludmFsaWRhdGlvbnMoZSx0KSx0aGlzLl9pbnZhbGlkYXRpb25NYXNrPy5mdWxsSW52YWxpZGF0aW9uKCk9PT1MZS5JbnZhbGlkYXRpb25MZXZlbC5GdWxsJiYodGhpcy5faW52YWxpZGF0aW9uTWFzay5tZXJnZShlKSx0aGlzLl9hZGp1c3RTaXplKHRoaXMuX2ludmFsaWRhdGlvbk1hc2suaXNWaXNpYmxlVGltZVJhbmdlTG9ja2VkT25SZXNpemUoKSksdGhpcy5fYXBwbHlUaW1lU2NhbGVJbnZhbGlkYXRpb25zKHRoaXMuX2ludmFsaWRhdGlvbk1hc2ssdCksZT10aGlzLl9pbnZhbGlkYXRpb25NYXNrLHRoaXMuX2ludmFsaWRhdGlvbk1hc2s9bnVsbCkpLHRoaXMucGFpbnQoZSksdGhpcy5fZGF0YVdpbmRvd1dpZGdldCl7Y29uc3QgdD1lLm1heFBhbmVJbnZhbGlkYXRpb24oKTt0PT09TGUuSW52YWxpZGF0aW9uTGV2ZWwuRnVsbD90aGlzLl9kYXRhV2luZG93V2lkZ2V0LmZ1bGxVcGRhdGUoKTp0PkxlLkludmFsaWRhdGlvbkxldmVsLk5vbmUmJnRoaXMuX2RhdGFXaW5kb3dXaWRnZXQudXBkYXRlKCl9dGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKS5mb3JFYWNoKCgodCxpKT0+e3QudXBkYXRlU3RhdHVzV2lkZ2V0KGUuaW52YWxpZGF0aW9uRm9yUGFuZShpKSl9KSksbnVsbCE9PXRoaXMuX3RpbWluZ3NNZXRlciYmdGhpcy5fdGltaW5nc01ldGVyLnN0b3BEcmF3KCksZSYmZS5wYW5lc09yZGVySW52YWxpZGF0ZWQoKSYmJC5lbWl0KCJwYW5lc19vcmRlcl9jaGFuZ2VkIil9X2luaXRNYXhpbWl6ZUhvdGtleShlKXtjb25zdCB0PWU9PiFlLmRlZmF1bHRQcmV2ZW50ZWQmJigwLEsubW9kaWZpZXJzRnJvbUV2ZW50KShlKT09PUsuTW9kaWZpZXJzLkFsdCYmISgwLFQudG9vbElzRGVtb25zdHJhdGlvbikoVC50b29sLnZhbHVlKCkpLGk9ZT0+e3QoZSkmJmUuc3RvcFByb3BhZ2F0aW9uKCl9LHM9ZT0+e3QoZSkmJihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnRvZ2dsZUZ1bGxzY3JlZW4oKSl9O3JldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsaSwhMCksZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIscywhMCksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsaSwhMCksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIscywhMCl9fV9vbk1vdXNld2hlZWwoZSl7aWYoIXRoaXMuaGFzTW9kZWwoKSlyZXR1cm47aWYoIXRoaXMubW9kZWwoKS5tb2RlbCgpLnpvb21FbmFibGVkKCl8fG51bGw9PT10aGlzLl9tb3VzZVdoZWVsSGVscGVyKXJldHVybjtpZih0aGlzLm1vZGVsKCkudGltZVNjYWxlKCkuaXNFbXB0eSgpKXJldHVybjtjb25zdCB0PXRoaXMuX21vdXNlV2hlZWxIZWxwZXIucHJvY2Vzc1doZWVsKGUpLGk9dC5kZWx0YVgscz0tdC5kZWx0YVk7aWYoMCE9PWkmJnRoaXMuX29wdGlvbnMuaGFuZGxlU2Nyb2xsLm1vdXNlV2hlZWx8fDAhPT1zJiZ0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwpe2lmKGUuY2FuY2VsYWJsZSYmZS5wcmV2ZW50RGVmYXVsdCgpLDAhPT1zJiZ0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwpe2NvbnN0IHQ9TWF0aC5zaWduKHMpKk1hdGgubWluKDEsTWF0aC5hYnMocykpLGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tYWluRGl2KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPWUuY2xpZW50WC10aGlzLl9saHNBeGVzV2lkdGgtaS5sZWZ0O2lmKCFOdW1iZXIuaXNGaW5pdGUobil8fCFOdW1iZXIuaXNGaW5pdGUodCkpcmV0dXJuIHZvaWQgWW0ubG9nV2FybigiSW5jb3JyZWN0IG1vdXNlIHdoZWVsIHByb2Nlc3Npbmc6IHNjcm9sbFBvc2l0aW9uOiAiK24rIiwgem9vbVNjYWxlOiAiK3QpO2NvbnN0IHI9bmV3IExpLkVudmlyb25tZW50U3RhdGUoZSkubW9kKCk7dGhpcy5tb2RlbCgpLm1vZGVsKCkuem9vbVRpbWUobix0LCEhcnx8dm9pZCAwKSx0aGlzLl9vblpvb20uZmlyZShyKX0wIT09aSYmdGhpcy5fb3B0aW9ucy5oYW5kbGVTY3JvbGwubW91c2VXaGVlbCYmdGhpcy5tb2RlbCgpLnNjcm9sbENoYXJ0KC04MCppKX19X2JlZ2luUmVxdWVzdEFjdGl2ZSgpe2NvbnN0IGU9dGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXRXVi52YWx1ZSgpIT09dGhpcztpZih0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24uYWN0aXZlQ2hhcnRXaWRnZXQuc2V0VmFsdWUodGhpcyksZSl7dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmFyaWFEZXNjcmliZUNoYXJ0KHRoaXMuX2FjdGl2ZUNoYXJ0V2lkZ2V0V1YudmFsdWUoKSk7Y29uc3QgZT0oMCwKdWkubGFzdE1vdXNlT3JUb3VjaEV2ZW50SW5mbykoKTtlLmlzVG91Y2gmJiFlLnN0eWx1cyYmdGhpcy5faXNMaW5lVG9vbE1vZGVFeGNlcHRCcnVzaCgpJiZ0aGlzLnVwZGF0ZUNyb3NzSGFpclBvc2l0aW9uSWZOZWVkZWQoKSx0aGlzLl9qdXN0QWN0aXZhdGVkPSEwfX1fZW5kUmVxdWVzdEFjdGl2ZSgpe3RoaXMuX2p1c3RBY3RpdmF0ZWQmJnNldFRpbWVvdXQoKCgpPT50aGlzLl9qdXN0QWN0aXZhdGVkPSExKSwwKX1fcmVxdWVzdEFjdGl2ZSgpe3RoaXMuX2JlZ2luUmVxdWVzdEFjdGl2ZSgpLHRoaXMuX2VuZFJlcXVlc3RBY3RpdmUoKX1fY3JlYXRlU2Vzc2lvbnMoZSl7Y29uc3QgdD10aGlzLnNob3dHZW5lcmFsQ2hhcnRQcm9wZXJ0aWVzLmJpbmQodGhpcyxKdC5UYWJOYW1lcy5ldmVudHMpO2UuY3JlYXRlU2Vzc2lvbnModCl9X2NyZWF0ZVByZVBvc3RNYXJrZXQoZSl7e2NvbnN0IHQ9dGhpcy5zaG93R2VuZXJhbENoYXJ0UHJvcGVydGllcy5iaW5kKHRoaXMsSnQuVGFiTmFtZXMuc2NhbGVzKTtlLmNyZWF0ZVByZVBvc3RNYXJrZXQodCl9fV9jcmVhdGVWb2x1bWVJZk5lZWRlZCgpe2NvbnN0IGU9KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIpJiZ0aGlzLl9vcHRpb25zLmFkZFZvbHVtZSx0PSF0aGlzLl9jb250ZW50LGk9KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdF9vbmNlIik7dGhpcy5fY29udGVudCYmdGhpcy5fY29udGVudC5sb2FkaW5nO2lmKGUmJnQpe2NvbnN0IGU9KCk9PntzZXRUaW1lb3V0KChhc3luYygpPT57Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKSx0PWUubWFpblNlcmllcygpLnN5bWJvbEluZm8oKTtpZighdClyZXR1cm47Y29uc3QgaT0oMCxBLmhhc1ZvbHVtZSkodCk7aWYoIXRoaXMuY29udGFpbnNWb2x1bWUoKSYmaSl7Y29uc3QgdD0oMCwkbC5mYWN0b3J5RGVmYXVsdHMpKCJjaGFydHByb3BlcnRpZXMudm9sdW1lUGFuZVNpemUiKTthd2FpdCgwLGF0LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLnJlcXVlc3RNZXRhSW5mbygpO2NvbnN0IGk9ZS5jcmVhdGVTdHVkeUluc2VydGVyKHt0eXBlOiJqYXZhIixzdHVkeUlkOiJWb2x1bWVAdHYtYmFzaWNzdHVkaWVzIn0pO2kuc2V0Rm9yY2VPdmVybGF5KCgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInZvbHVtZV9mb3JjZV9vdmVybGF5IikpLGkuc2V0UGFuZVNpemUodCksKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV92b2x1bWVfbWEiKSYmaS5zZXRQcm9wZXJ0aWVzU3RhdGUoe3N0eWxlczp7dm9sX21hOntkaXNwbGF5OlZoLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuTm9uZX19fSksaS5pbnNlcnQoKX1lbHNlIGlmKCFpJiZ0aGlzLmNvbnRhaW5zVm9sdW1lKCkpe2NvbnN0IHQ9dGhpcy5tb2RlbCgpLmRhdGFTb3VyY2VzKCkuZmlsdGVyKChlPT4oMCx0aS5pc1N0dWR5KShlKSYmIlZvbHVtZSI9PT1lLm1ldGFJbmZvKCkuc2hvcnRJZCkpWzBdO2UucmVtb3ZlU291cmNlKHQpfX0pKX07dGhpcy5tb2RlbCgpLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcyxlLGkpfX1vbk1vZGVsVGFnc0NoYW5nZWQoKXt0aGlzLl90YWdzQ2hhbmdlZC5maXJlKCl9X2luaXRCYWNrZ3JvdW5kQ29sb3IoKXtudWxsPT09dGhpcy5fYmFja2dyb3VuZFRvcENvbG9yU3Bhd24mJih0aGlzLl9iYWNrZ3JvdW5kVG9wQ29sb3JTcGF3bj10aGlzLm1vZGVsKCkubW9kZWwoKS5iYWNrZ3JvdW5kVG9wQ29sb3IoKS5zcGF3bigpLHRoaXMuX2JhY2tncm91bmRUb3BDb2xvclNwYXduLnN1YnNjcmliZSh0aGlzLl9vbkJhY2tncm91bmRDb2xvckNoYW5nZWQuYmluZCh0aGlzKSkpLG51bGw9PT10aGlzLl9iYWNrZ3JvdW5kQm90dG9tQ29sb3JTcGF3biYmKHRoaXMuX2JhY2tncm91bmRCb3R0b21Db2xvclNwYXduPXRoaXMubW9kZWwoKS5tb2RlbCgpLmJhY2tncm91bmRDb2xvcigpLnNwYXduKCksdGhpcy5fYmFja2dyb3VuZEJvdHRvbUNvbG9yU3Bhd24uc3Vic2NyaWJlKHRoaXMuX29uQmFja2dyb3VuZENvbG9yQ2hhbmdlZC5iaW5kKHRoaXMpKSl9X3VwZGF0ZUd1aShlKXt0aGlzLmhhc01vZGVsKCkmJih0aGlzLl9tYWtlVGltZUF4aXNXaWRnZXQoKSx0aGlzLl9tYWtlUGFuZVdpZGdldHNBbmRTZXBhcmF0b3JzKCksdGhpcy5fZWxNYWluVGFibGUuc3R5bGUudXNlclNlbGVjdD0ibm9uZSIsdGhpcy5fYWRqdXN0U2l6ZShlKSl9X29uQ2hhcnRTdHlsZUNoYW5nZWQoKXsoMCxNdC50cmFja0V2ZW50KSgiQ2hhcnQiLGBDaGFydCBTdHlsZSAke3RoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkuZ2V0U3R5bGVTaG9ydE5hbWUoKS50b1VwcGVyQ2FzZSgpfWApfV9hZGRQZXJmTWFyayhlKXsoMCxxbS5hZGRQZXJmTWFyaykoYENoYXJ0V2lkZ2V0LiR7dGhpcy5faWR9LiR7ZX1gKX1fc2V0RWxlbWVudChlKXtpZighZSlyZXR1cm47aWYodGhpcy5fbWFpbkRpdil7dGhpcy5fbWFpbkRpdi5yZW1vdmUoKTtjb25zdCBlPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7ZS5zZWxlY3ROb2RlQ29udGVudHMoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYXJlbnQpKSxlLmRlbGV0ZUNvbnRlbnRzKCl9dGhpcy5fY29udHJvbEJhck5hdmlnYXRpb24mJih0aGlzLl9jb250cm9sQmFyTmF2aWdhdGlvbi5kZXN0cm95KCksdGhpcy5fY29udHJvbEJhck5hdmlnYXRpb249bnVsbCksbnVsbCE9PXRoaXMuX3JlbW92ZU1heGltaXplSG90a2V5JiZ0aGlzLl9yZW1vdmVNYXhpbWl6ZUhvdGtleSgpLHRoaXMuX3JlbW92ZU1heGltaXplSG90a2V5PXRoaXMuX2luaXRNYXhpbWl6ZUhvdGtleShlKTtjb25zdCB0PWUub3duZXJEb2N1bWVudCxzPXQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cy5jbGFzc0xpc3QuYWRkKCJjaGFydC1jb250YWluZXItYm9yZGVyIiksZS5pbnNlcnRCZWZvcmUocyxlLmZpcnN0Q2hpbGQpLHRoaXMuX3BhcmVudD1zO2NvbnN0IG49dC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZihuLmNsYXNzTGlzdC5hZGQoImNoYXJ0LXdpZGdldCIpLHRoaXMuX21haW5EaXY9biwKdGhpcy5fZWxUb29sdGlwRGl2PXQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fZWxUb29sdGlwRGl2LmNsYXNzTmFtZT0idG9vbHRpcC13cmFwcGVyIix0aGlzLl9tYWluRGl2LmFwcGVuZENoaWxkKHRoaXMuX2VsVG9vbHRpcERpdiksdGhpcy5fZWxNYWluVGFibGU9dC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9lbE1haW5UYWJsZS5jbGFzc05hbWU9ImNoYXJ0LW1hcmt1cC10YWJsZSIsdGhpcy5fbWFpbkRpdi5hcHBlbmRDaGlsZCh0aGlzLl9lbE1haW5UYWJsZSksbi5zZXRBdHRyaWJ1dGUoInJvbGUiLCJyZWdpb24iKSxuLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIscC50KG51bGwse3JlcGxhY2U6e2luZGV4OnRoaXMuaWQoKX19LGkoODQzMzY3KSkpLHRoaXMuX2hvdGtleXNMaXN0ZW5lciYmdGhpcy5faG90a2V5c0xpc3RlbmVyLmRlc3Ryb3koKSx0aGlzLl9lcnJvclJlbmRlcmVyUmVzb3VyY2UuY2FsbEZ1bmN0aW9uKChlPT57ZT8uc2V0Q29udGFpbmVyKHRoaXMuX3BhcmVudCl9KSksdGhpcy5faG90a2V5c0xpc3RlbmVyPW5ldyBYdC5DaGFydEhvdGtleXNMaXN0ZW5lcih0aGlzLHRoaXMuX21haW5EaXYpLCh0aGlzLl9vcHRpb25zLmNvbnRyb2xCYXJFbmFibGVkfHwoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjb250cm9sX2JhciIpKSYmdGhpcy5fY3JlYXRlQ29udHJvbEJhcigpLHRoaXMuX29wdGlvbnMuaGFuZGxlU2NhbGUubW91c2VXaGVlbHx8dGhpcy5fb3B0aW9ucy5oYW5kbGVTY3JvbGwubW91c2VXaGVlbCl7dGhpcy5fbW91c2VXaGVlbEhlbHBlcj1uZXcgU2k7Y29uc3QgZT10aGlzLl9vbk1vdXNld2hlZWwuYmluZCh0aGlzKTt0aGlzLl9vbldoZWVsQm91bmQ9ZSx0aGlzLl9tYWluRGl2LmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixlLHtwYXNzaXZlOiExfSl9dGhpcy5fbWFpbkRpdi5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIiwoKCk9PnRoaXMuX2lzSG92ZXJlZC5zZXRWYWx1ZSghMCkpKSx0aGlzLl9tYWluRGl2LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLCgoKT0+dGhpcy5faXNIb3ZlcmVkLnNldFZhbHVlKCExKSkpLHRoaXMucmVzaXplKCksdGhpcy5fanVzdEFjdGl2YXRlZD0hMSx0aGlzLndpdGhNb2RlbCh0aGlzLCgoKT0+e3MuYXBwZW5kQ2hpbGQobiksbi5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHRoaXMuX2JlZ2luUmVxdWVzdEFjdGl2ZS5iaW5kKHRoaXMpKSxuLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuX2VuZFJlcXVlc3RBY3RpdmUuYmluZCh0aGlzKSksbi5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9iZWdpblJlcXVlc3RBY3RpdmUuYmluZCh0aGlzKSksbi5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHRoaXMuX2VuZFJlcXVlc3RBY3RpdmUuYmluZCh0aGlzKSksbi5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5fZW5kUmVxdWVzdEFjdGl2ZS5iaW5kKHRoaXMpKSxuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLl9yZXF1ZXN0QWN0aXZlLmJpbmQodGhpcykpfSkpLHRoaXMuX2luaXRlZCYmKG51bGwhPT10aGlzLl90aW1lQXhpc1dpZGdldCYmKHRoaXMuX3RpbWVBeGlzV2lkZ2V0LmRlc3Ryb3koKSx0aGlzLl90aW1lQXhpc1dpZGdldD1udWxsKSx0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmZvckVhY2goKGU9PntlLmRlc3Ryb3koKX0pKSx0aGlzLl9wYW5lV2lkZ2V0cy5zZXRWYWx1ZShbXSksdGhpcy5fcGFuZVNlcGFyYXRvcnMuZm9yRWFjaCgoZT0+e2UuZGVzdHJveSgpfSkpLHRoaXMuX3BhbmVTZXBhcmF0b3JzLmxlbmd0aD0wLHRoaXMuX3VwZGF0ZShMZS5JbnZhbGlkYXRpb25NYXNrLmZ1bGwoKSxwZXJmb3JtYW5jZS5ub3coKSkpfV9pbml0KCl7dGhpcy5oYXNNb2RlbCgpJiZ0aGlzLm1vZGVsKCkubWFpblNlcmllcygpLmNsZWFyRGF0YSgpLHRoaXMuX2luaXRDb2xvcnMoKSx0aGlzLl9tYWtlRGVmYXVsdEd1aSgpO3RoaXMuX21ha2VEZWZhdWx0TW9kZWwoKSwoKCk9Pnt0aGlzLl9jaGVja09ic29sZXRlVGltZXpvbmUoKSx0aGlzLl9jaGFydFNlc3Npb24mJnRoaXMuX2NoYXJ0U2Vzc2lvbi5jb25uZWN0ZWQoKSYmdGhpcy5tb2RlbCgpLm1vZGVsKCkucmVzdGFydCgpLHRoaXMuX2NvbnRlbnQmJih0aGlzLl9pbml0Q29sb3JzKCksdGhpcy5fdXBkYXRlR3VpKCksdGhpcy51cGRhdGUoKSksdGhpcy5fcmVzaXplSGFuZGxlcj0oKT0+e3RoaXMuX2ludmFsaWRhdGlvbkhhbmRsZXIoTGUuSW52YWxpZGF0aW9uTWFzay5mdWxsKCkpfSx0aGlzLl9yZXNpemVIYW5kbGVyKCksKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYXJlbnQpLmFwcGVuZENoaWxkKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbWFpbkRpdikpLHRoaXMuX3NwaW5uZXImJih0aGlzLl9zcGlubmVyLnN0b3AoKSx0aGlzLl9zcGlubmVyPW51bGwpLHRoaXMuX2FjdGl2YXRlU3ltYm9sU2VhcmNoSG90a2V5cygpLHRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS5vblNjcm9sbCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fb25TY3JvbGwuZmlyZSgpKSksdGhpcy5faW5pdGVkPSEwfSkoKX1fbWFrZURlZmF1bHRNb2RlbCgpe2xldCBlO2lmKHRoaXMuX2NvbnRlbnQmJnRoaXMuX2NvbnRlbnQudGltZVNjYWxlLnBvaW50cyl7Y29uc3QgdD10aGlzLl9jb250ZW50LnRpbWVTY2FsZS5wb2ludHMuaXRlbXNbMF07ZT17c3RhcnREYXRlOnR9fWNvbnN0IHQ9KCk9Pntjb25zdCB0PXtyZWFkT25seTp0aGlzLnJlYWRPbmx5KCksaXNTbmFwc2hvdDohIXRoaXMuX2NvbnRhaW5zRGF0YSwuLi4oMCwKa3QucGlja0ZpZWxkcykodGhpcy5fb3B0aW9ucyxbInRpbWVTY2FsZSIsImNyb3NzSGFpciIsImNoYXJ0RXZlbnRzRW5hYmxlZCIsIm5ld3NOb3RpZmljYXRpb25zRW5hYmxlZCIsImVzZEVuYWJsZWQiLCJsYXRlc3RVcGRhdGVzRW5hYmxlZCIsImNvbnRpbnVvdXNDb250cmFjdFN3aXRjaGVzRW5hYmxlZCIsImZ1dHVyZXNDb250cmFjdEV4cGlyYXRpb25FbmFibGVkIiwiY291bnRkb3duRW5hYmxlZCIsImxhc3RQcmljZUFuaW1hdGlvbkVuYWJsZWQiLCJjdXJyZW5jeUNvbnZlcnNpb25FbmFibGVkIiwidW5pdENvbnZlcnNpb25FbmFibGVkIiwibWV0cmljQ29udmVyc2lvbkVuYWJsZWQiLCJ3YXRlcm1hcmtFbmFibGVkIiwic2hpZnRWaXNpYmxlUmFuZ2VPbk5ld0JhciIsImhpZGVJZGVhcyIsIm9uV2lkZ2V0Il0pfTt2b2lkIDAhPT10LmNyb3NzSGFpciYmKHQuY3Jvc3NIYWlyLmV4dGVybmFsU2VydmljZXM9dGhpcy5fb3B0aW9ucy5leHRlcm5hbFNlcnZpY2VzLnRyYWRpbmcpO2NvbnN0IGk9bmV3IENfKHtjaGFydFNlc3Npb246dGhpcy5fY2hhcnRTZXNzaW9uLGludmFsaWRhdGVIYW5kbGVyOnRoaXMuX2ludmFsaWRhdGlvbkhhbmRsZXIscHJvcGVydGllczp0aGlzLl9wcm9wZXJ0aWVzLHNlcmllc1Byb3BlcnRpZXM6dGhpcy5fbWFpblNlcmllc1Byb3BlcnRpZXMsZGF0YVJlcXVlc3Q6ZSxjaGFydFdpZGdldDp0aGlzLHVuZG9IaXN0b3J5OnRoaXMuX29wdGlvbnMudW5kb0hpc3RvcnksYmFyc01hcmtzQ29udGFpbmVyc0ZhY3Rvcnk6dGhpcy5fb3B0aW9ucy5iYXJzTWFya3NDb250YWluZXJzRmFjdG9yeSxvcHRpb25zOnQsaGliZXJuYXRlVlc6dGhpcy5fY29sbGFwc2VkLGxpbmtpbmdHcm91cFdWOnRoaXMuX2xpbmtpbmdHcm91cEluZGV4LGlzQXV0b1NhdmVFbmFibGVkOnRoaXMuX3NhdmVDaGFydFNlcnZpY2U/LmF1dG9TYXZlRW5hYmxlZCgpPz9uZXcgaC5XYXRjaGVkVmFsdWUoITApLGRyYXdUaW1lOnRoaXMuX2RyYXdUaW1lLnJlYWRvbmx5KCksdHJhZGluZ1ByZWZlcmVuY2VzU2VydmljZTp0aGlzLl9vcHRpb25zLmV4dGVybmFsU2VydmljZXMudHJhZGluZy50cmFkaW5nUHJlZmVyZW5jZXNTZXJ2aWNlfSk7cmV0dXJuIGkubW9kZWwoKS5mdWxsVXBkYXRlKCksdGhpcy5fY3JlYXRlU2Vzc2lvbnMoaS5tb2RlbCgpKSx0aGlzLl9jcmVhdGVQcmVQb3N0TWFya2V0KGkubW9kZWwoKSksaX07dGhpcy5fbW9kZWxXVi5zZXRWYWx1ZSh0aGlzLl9tb2RlbFdWLnZhbHVlKCl8fHQoKSwhMCksdGhpcy5tb2RlbCgpLm1vZGVsKCkuc2V0Q2hhcnRTYXZlVGltZSgxZTMqdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLm1ldGFJbmZvLmxhc3RNb2RpZmllZC52YWx1ZSgpKSx0aGlzLl9jcmVhdGVWb2x1bWVJZk5lZWRlZCgpO2lmKHRoaXMuX2NvbnRlbnQpe2xldCBlPXRoaXMuX3NldFN5bWJvbEludGVydmFsQ29udGVudE92ZXJyaWRlcztLbSYmdGhpcy5faW5pdGlhbExvYWRpbmcmJihlPXsuLi5lLHN5bWJvbDp0aGlzLl9kZWZTeW1ib2wsaW50ZXJ2YWw6dGhpcy5fZGVmSW50ZXJ2YWw/P3ZvaWQgMCxzdHlsZTp0aGlzLl9kZWZTdHlsZT8/dm9pZCAwfSx0aGlzLl9kZWZJbnRlcnZhbCYmeC5JbnRlcnZhbC5pc1JhbmdlKHRoaXMuX2RlZkludGVydmFsKSYmKGUuc3R5bGU9MTEpKSx0aGlzLl9hcHBseVNhdmVkTW9kZWxTdGF0ZSh0aGlzLl9jb250YWluc0RhdGEsZSksdGhpcy5fc2V0U3ltYm9sSW50ZXJ2YWxDb250ZW50T3ZlcnJpZGVzPXt9LEttJiZ0aGlzLl9kZWZTeW1ib2wmJnRoaXMubW9kZWwoKS5tb2RlbCgpLnJlY2FsY3VsYXRlUHJpY2VSYW5nZU9uY2UoKX10aGlzLl9zZXRBY3Rpb25zKCksdGhpcy5fY3JlYXRlTGluZVRvb2xzU3luY2hyb25pemVySWZOZWVkZWQoKSwoKCk9Pntjb25zdCBlPXRoaXMubW9kZWwoKTtlLm9uVGFnc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMub25Nb2RlbFRhZ3NDaGFuZ2VkKCkpKSx0aGlzLl9pbml0QmFja2dyb3VuZENvbG9yKCksdGhpcy5fdXBkYXRlR3VpKCksdGhpcy5fbW9kZWxDcmVhdGVkLmZpcmUoZSksdGhpcy5fdGFnc0NoYW5nZWQuZmlyZSgpO2NvbnN0IHQ9ZS5tYWluU2VyaWVzKCksaT10LnByb3BlcnRpZXMoKS5jaGlsZHMoKTt0aGlzLl9kZWZUaW1lZnJhbWUmJnQuc2V0RGVmYXVsdFRpbWVmcmFtZSh0aGlzLl9kZWZUaW1lZnJhbWUpLHRoaXMuX2RlZk1ldHJpYyYmdC5zZXRNZXRyaWModGhpcy5fZGVmTWV0cmljKSx0LmRhdGFFdmVudHMoKS5zeW1ib2xOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUobnVsbCwoZT0+dC5zZXRTeW1ib2xQYXJhbXMoe3N5bWJvbDplfSkpKSx0aGlzLl9zeW1ib2xXVi5zZXRWYWx1ZShpLnN5bWJvbC52YWx1ZSgpKSxpLnN5bWJvbC5zdWJzY3JpYmUodGhpcywoZT0+dGhpcy5fc3ltYm9sV1Yuc2V0VmFsdWUoZS52YWx1ZSgpKSkpLHRoaXMuX3Jlc29sdXRpb25XVi5zZXRWYWx1ZShpLmludGVydmFsLnZhbHVlKCkpLGkuaW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMsKGU9PnRoaXMuX3Jlc29sdXRpb25XVi5zZXRWYWx1ZShlLnZhbHVlKCkpKSksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5faGFuZGxlTG9naW5TdGF0ZUNoYW5nZWQpLHRoaXMuX2hhbmRsZUxvZ2luU3RhdGVDaGFuZ2VkKCksdC5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcywoZT0+e2NvbnN0IGk9ZS5wcm9fbmFtZSxzPWUucHJvX3Blcm07aSYmdGhpcy5fb3B0aW9ucy5pc1N5bWJvbEF2YWlsYWJsZSYmdGhpcy5fb3B0aW9ucy5pc1N5bWJvbEF2YWlsYWJsZShpLHMpLnRoZW4oKGU9PntlfHx0LnNldFN5bWJvbFBhcmFtcyh7c3ltYm9sOigwLER0LmdldERlZmF1bHRTeW1ib2wpKCl9KX0pKX0pKSx2b2lkIDAhPT10aGlzLl9vcHRpb25zLnJlcXVlc3RGYWxsYmFja1N5bWJvbCYmdC5kYXRhRXZlbnRzKCkuc3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUodGhpcywoZT0+eygwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fb3B0aW9ucy5yZXF1ZXN0RmFsbGJhY2tTeW1ib2wpKGkuc3ltYm9sLnZhbHVlKCkse3R5cGU6Imdyb3VwX25vdF9wZXJtaXR0ZWQiLApzeW1ib2xHcm91cDplfSkudGhlbigoZT0+e2UmJnQuc2V0U3ltYm9sUGFyYW1zKHtzeW1ib2w6ZX0pfSkpfSkpLCgwLGwuZW5zdXJlRGVmaW5lZCkodC5vbkluUmVwbGF5U3RhdGVDaGFuZ2VkKS5iaW5kKHQpKCkuc3Vic2NyaWJlKHRoaXMuc2NyZWVuLHRoaXMuc2NyZWVuLnNob3cpLGkuc3R5bGUudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYXJ0U3R5bGVDaGFuZ2VkKSxpLnN0eWxlLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhcnRTdHlsZUNoYW5nZWQpLHQuZGF0YUV2ZW50cygpLmNvbXBsZXRlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fYWRkUGVyZk1hcmsoIlNlcmllc0NvbXBsZXRlZCIpKSwhMCksdC5kYXRhRXZlbnRzKCkuYmFyUmVjZWl2ZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX2FkZFBlcmZNYXJrKCJTZXJpZXNGaXJzdERhdGFSZWNlaXZlZCIpKSwhMCk7Y29uc3Qgcz10aGlzLl9vcHRpb25zO3QuZGF0YUV2ZW50cygpLmNoYXJ0VHlwZU5vdFBlcm1pdHRlZCgpLnN1YnNjcmliZShudWxsLCgoKT0+e3Quc2V0U3ltYm9sUGFyYW1zKHtpbnRlcnZhbDoiRCJ9KSxzLm11dGVTZXNzaW9uRXJyb3JzfHwoKDAsTWUudHJhY2tHb1Byb0ZlYXR1cmUpKCJrYWdpUmVua28iKSwoMCxXdS5yZWxvZ2luT3JHb1Bybykoe2ZlYXR1cmU6ImthZ2lSZW5rbyJ9KSl9KSksdC5kYXRhRXZlbnRzKCkuaW50cmFkYXlTcHJlYWROb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6IkQifSkscy5tdXRlU2Vzc2lvbkVycm9yc3x8KDAsV3UucmVsb2dpbk9yR29Qcm8pKHtmZWF0dXJlOiJpbnRyYWRheVNwcmVhZCJ9KX0pKSx0LmRhdGFFdmVudHMoKS5jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZCgpLnN1YnNjcmliZShudWxsLChpPT57Y29uc3Qgbj1lLm1vZGVsKCkuZGVmYXVsdFJlc29sdXRpb25zKCkscj1uLmZpbmQoKGU9PigwLEkuY29tcGFyZVJlc29sdXRpb25zKShlLGkpPj0wKSk/P25bbi5sZW5ndGgtMV07dC5zZXRTeW1ib2xQYXJhbXMoe2ludGVydmFsOnJ9KSxzLm11dGVTZXNzaW9uRXJyb3JzfHwoMCxXdS5yZWxvZ2luT3JHb1Bybykoe2ZlYXR1cmU6ImN1c3RvbUludGVydmFscyJ9KX0pKSx0LmRhdGFFdmVudHMoKS5zZWNvbmRzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6IjEifSkscy5tdXRlU2Vzc2lvbkVycm9yc3x8KDAsV3UucmVsb2dpbk9yR29Qcm8pKHtmZWF0dXJlOiJzZWNvbmRzSW50ZXJ2YWxzIn0pfSkpLHQuZGF0YUV2ZW50cygpLnRpY2tzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6IjEifSkscy5tdXRlU2Vzc2lvbkVycm9yc3x8KDAsV3UucmVsb2dpbk9yR29Qcm8pKHtmZWF0dXJlOiJ0aWNrSW50ZXJ2YWxzIn0pfSkpLHQuZGF0YUV2ZW50cygpLmludHJhZGF5RXhjaGFuZ2VOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9PntpZih0LnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6IkQifSksIXMubXV0ZVNlc3Npb25FcnJvcnMpe2xldCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodC5zeW1ib2xJbmZvKCkpLmxpc3RlZF9leGNoYW5nZTsoMCxUXy5nZXRFeGNoYW5nZXMpKCkuZm9yRWFjaCgodD0+e3QudmFsdWU9PT1lJiYoZT10Lm5hbWUpfSkpLCgwLFd1LnJlbG9naW5PckdvUHJvKSh7ZmVhdHVyZToiaW50cmFkYXlFeGNoYW5nZSJ9KX19KSksdC5yZXF1ZXN0aW5nU3R5bGVJc05vdFN1cHBvcnRlZC5zdWJzY3JpYmUobnVsbCwoKCk9Pntjb25zdCBpPXQuaW50ZXJ2YWwoKSxzPWUubW9kZWwoKS5kZWZhdWx0UmVzb2x1dGlvbnMoKSxuPSgwLEEuZ2V0TGFzdFVzZWRTaW5nbGVWYWx1ZUJhc2VkU3R5bGUpKCkscj0oMCxJLmdldFJlc29sdXRpb25CeUNoYXJ0U3R5bGUpKG4saSxzKTt0LnNldENoYXJ0U3R5bGVXaXRoSW50ZXJ2YWxJZk5lZWRlZChuLHIpfSkpLHQucmVxdWVzdGluZ1N0eWxlU3VwcG9ydFJlY292ZXJlZC5zdWJzY3JpYmUobnVsbCwoaT0+e2NvbnN0IHM9dC5pbnRlcnZhbCgpLG49ZS5tb2RlbCgpLmRlZmF1bHRSZXNvbHV0aW9ucygpLHI9KDAsSS5nZXRSZXNvbHV0aW9uQnlDaGFydFN0eWxlKShpLHMsbik7dC5zZXRDaGFydFN0eWxlV2l0aEludGVydmFsSWZOZWVkZWQoaSxyKX0pKX0pKCl9X2FwcGx5U2F2ZWRNb2RlbFN0YXRlKGUsdCl7dGhpcy5fYWRqdXN0U2l6ZSgpO2NvbnN0IHM9dGhpcy5tb2RlbCgpLG49cy5yZXN0b3JlU3RhdGUodGhpcy5fY29udGVudCxlLHQpLHI9cy5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpO3RoaXMuX3N5bWJvbFdWLnNldFZhbHVlKHIuc3ltYm9sLnZhbHVlKCkpLHRoaXMuX3Jlc29sdXRpb25XVi5zZXRWYWx1ZShyLmludGVydmFsLnZhbHVlKCkpLG4mJm4ubGluZXNfbGltaXRfZXhjZWVkZWQmJiF0aGlzLnJlYWRPbmx5KCkmJlByb21pc2UuYWxsKFtpLmUoODM0NTApLGkuZSg1NDY4MSksaS5lKDMxODM3KSxpLmUoMjA5NzEpLGkuZSg0OTUxOCksaS5lKDc1MzA0KSxpLmUoMzgwMDIpLGkuZSg3MDM2NCksaS5lKDg5MTk1KSxpLmUoNzUwNCksaS5lKDgzMjI1KSxpLmUoNDY2MDApLGkuZSgxNzUxNSldKS50aGVuKGkuYmluZChpLDQwODMwOSkpLnRoZW4oKCh7c2hvd0xpbmV0b29sc0xpbWl0RXhjZWVkZWREaWFsb2c6ZX0pPT57ZSh0aGlzKX0pKX1fYWRkSG90a2V5cygpe2lmKHRoaXMuX2hvdGtleXMuYWRkKHtkZXNjOiJNYXhpbWl6ZSIsaG90a2V5OksuTW9kaWZpZXJzLkFsdCsxMyxoYW5kbGVyOigpPT50aGlzLnRvZ2dsZUZ1bGxzY3JlZW4oKSxpc0Rpc2FibGVkOigpPT4hdGhpcy5nZXRSZXNpemVyRGV0YWNoZXIoKS5mdWxsc2NyZWVuYWJsZS52YWx1ZSgpfSksdGhpcy5faG90a2V5cy5hZGQodGhpcy5fY2xlYXJTZWxlY3Rpb25Ib3RrZXkoKSksdGhpcy5fb3B0aW9ucy5pbmRpY2F0b3JzRGlhbG9nU2hvcnRj"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/89558.981a34b19b41fad92b88.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.796Z","timestamp":1785141584796,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/89558.981a34b19b41fad92b88.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b76-c3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:26 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 47b9fcacd766110c85dd10b4e5ad57dc\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":195,"size_decoded":932,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"410a8b9d87cc2ecdb1762f6faf3cc95a","sha1":"6fa79aed8ba671c381c159a6cf58ecd4afaddd28","sha256":"6c42b7faa9d27cd5c4519b25964d772df0a712b26fad344745281fbae47e5f37","sha512":"b423d86dd53668cab2b9d0e14f3f341f1ecfaf51807bef6e904ae841cb69e6389178811eaeeac75cf57bf6a1c261318322a7886855a12a5c5fd11906a1ec09ff","ssdeep":"","tlshash":"78d012fa0423ae153a337e2b4a6d674246c5cad3c1065add8e203a7557cf99208d06d6","first_seen":"2024-11-30T11:35:58.666665Z","last_seen":"2026-07-27T12:48:39.788534Z","times_seen":1118,"resource_available":false,"data":"LmVtb2ppLUJzRVJHY1oxe2Rpc3BsYXk6YmxvY2t9LmNsZWFyQnV0dG9uLUJzRVJHY1oxe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfS5jbGVhckJ1dHRvbi1Cc0VSR2NaMSwuZW1vamktQnNFUkdjWjF7LXdlYmtpdC10b3VjaC1jYWxsb3V0Om5vbmV9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97272.3bfbfc8daabca040cf73.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.894Z","timestamp":1785141584894,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/97272.3bfbfc8daabca040cf73.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-2388c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d4dc89a256f10651822e71ad9bd8ccdb\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":145548,"size_decoded":44654,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"8c50864d30ec134dd6dbf5614f6b0993","sha1":"e6f4e061c6b41ee25122eea9292ee1060bcbf290","sha256":"781e57f4504c7b485e77c0196c82978e6e2b63b503428b039f1ea86e3d3d8c6b","sha512":"4fa1d6e1afa37a9a925a9205354516db356d3db9d7d48297be0d7d04a262559ee656baf6c62318da568ad9c4278b2022f50b58265cfae5ed55c87373ef41a88c","ssdeep":"3072:AmXiQrx9XT2QQFJGUY/yORpn9VNpvNV7lzQQ3+EsCfEbNxYtyphoG:xlT2QQFJ1QVpn9VzvNV7lzQQ3kC8rSsz","tlshash":"d2e3e69272a5749683b901d54cf44503ab4d1c8bb84a888cf2bc1cef561de5d32befb9","first_seen":"2026-07-22T16:00:00.509283Z","last_seen":"2026-07-27T14:50:15.416438Z","times_seen":83,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTcyNzJdLHsxNDUzODEoZSx0LHMpe3MuZCh0LHtleHRyYWN0VGl0bGVQYXJ0czooKT0+YSxzdHVkeUlkc0hpZGVJbnB1dHNNb2RlOigpPT5ufSk7dmFyIGkscj1zKDYzNDg2KTshZnVuY3Rpb24oZSl7ZVtlLkFsd2F5cz0wXT0iQWx3YXlzIixlW2UuQ2hhcnRTdHlsZT0xXT0iQ2hhcnRTdHlsZSJ9KGl8fChpPXt9KSk7Y29uc3Qgbj1uZXcgTWFwKFtbIlZvbHVtZUB0di1iYXNpY3N0dWRpZXMiLDBdLFsiQW5jaG9yZWRWV0FQQHR2LWJhc2ljc3R1ZGllcyIsMF0sWyJGb290cHJpbnRAdHYtdm9sdW1lYnlwcmljZSIsMF0sWyJUUE9QZXJpb2RpY0B0di12b2x1bWVieXByaWNlIiwxXSxbIlRQT1Nlc3Npb25zQHR2LXZvbHVtZWJ5cHJpY2UiLDFdXSk7ZnVuY3Rpb24gYSh7dGl0bGU6ZSxzdHVkeUlkOnQsaGFzSW5wdXRzOnMsZGVzY3JpcHRpb246aSx3aXRoTWFpblNlcmllc0NoYXJ0U3R5bGU6YSxpc0Z1bmRhbWVudGFsU3R1ZHk6b30pe2lmKCFzKXJldHVybltlXTtsZXQgbDtpP2w9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5yZXBsYWNlKHQsIiIpLnRyaW0oKXx8dm9pZCAwfShlLGkpOltpLGxdPWZ1bmN0aW9uKGUpe2lmKCIpIiE9PWVbZS5sZW5ndGgtMV0pcmV0dXJuW2VdO2xldCB0PTA7Zm9yKGxldCBzPWUubGVuZ3RoLTE7cz49MDtzLS0paWYoIikiPT09ZVtzXSl0Kys7ZWxzZSBpZigiKCI9PT1lW3NdJiYodC0tLDA9PT10JiZzPjEmJiIgIj09PWVbcy0xXSkpcmV0dXJuW2Uuc2xpY2UoMCxzLTEpLGUuc2xpY2UocyldO3JldHVybltlXX0oZSk7Y29uc3QgaD1mdW5jdGlvbihlLHQpe3JldHVybiB0PzA6bi5nZXQoZSl9KCgwLHIuZXh0cmFjdFN0dWR5SWQpKHQpLG8pO3JldHVybiFsfHwoMD09PWh8fDE9PT1oJiZhKT9baV06W2ksbF19fSwyMDU2MTEoZSx0LHMpe3MuZCh0LHtjcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb25zOigpPT5yfSk7dmFyIGk9cygyMzIzNjQpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdCBzPW5ldyBpLldhdGNoZWRWYWx1ZShlKCkpLHI9e307dC5mb3JFYWNoKCh0PT50LnN1YnNjcmliZShyLCgoKT0+e3Muc2V0VmFsdWUoZSgpKX0pKSkpO3JldHVybiBzLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT50LmZvckVhY2goKGU9PmUudW5zdWJzY3JpYmVBbGwocikpKSkpfX0sOTUzNjYwKGUpe2NvbnN0IHQ9NTUyOTYscz0xMjc5OTUsaT0xMjc5OTkscj1bNzc2LDIzNTksMjM1OSwyMzY3LDIzNjcsMjk4NCwzMDA3LDMwMjEsMzYzMywzNjM1LDM2NDgsMzY1Nyw0MzUyLDQ0NDksNDUyMF07ZnVuY3Rpb24gbihlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJzdHJpbmcgY2Fubm90IGJlIHVuZGVmaW5lZCBvciBudWxsIik7Y29uc3QgdD1bXTtsZXQgcz0wLGk9MDtmb3IoO3M8ZS5sZW5ndGg7KWkrPWEocytpLGUpLHUoZVtzK2ldKSYmaSsrLGwoZVtzK2ldKSYmaSsrLGgoZVtzK2ldKSYmaSsrLGMoZVtzK2ldKT9pKys6KHQucHVzaChlLnN1YnN0cmluZyhzLHMraSkpLHMrPWksaT0wKTtyZXR1cm4gdH1mdW5jdGlvbiBhKGUscil7Y29uc3Qgbj1yW2VdO2lmKCFmdW5jdGlvbihlKXtyZXR1cm4gZSYmcChlWzBdLmNoYXJDb2RlQXQoMCksdCw1NjMxOSl9KG4pfHxlPT09ci5sZW5ndGgtMSlyZXR1cm4gMTtjb25zdCBhPW4rcltlKzFdO2xldCBsPXIuc3Vic3RyaW5nKGUrMixlKzUpO3JldHVybiBvKGEpJiZvKGwpfHxmdW5jdGlvbihlKXtyZXR1cm4gcChkKGUpLHMsaSl9KGwpPzQ6Mn1mdW5jdGlvbiBvKGUpe3JldHVybiBwKGQoZSksMTI3NDYyLDEyNzQ4Nyl9ZnVuY3Rpb24gbChlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGUmJnAoZS5jaGFyQ29kZUF0KDApLDY1MDI0LDY1MDM5KX1mdW5jdGlvbiBoKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmcChlLmNoYXJDb2RlQXQoMCksODQwMCw4NDQ3KX1mdW5jdGlvbiB1KGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmLTEhPT1yLmluZGV4T2YoZS5jaGFyQ29kZUF0KDApKX1mdW5jdGlvbiBjKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmODIwNT09PWUuY2hhckNvZGVBdCgwKX1mdW5jdGlvbiBkKGUpe3JldHVybihlLmNoYXJDb2RlQXQoMCktdDw8MTApKyhlLmNoYXJDb2RlQXQoMSktNTYzMjApKzY1NTM2fWZ1bmN0aW9uIHAoZSx0LHMpe3JldHVybiBlPj10JiZlPD1zfWUuZXhwb3J0cz1uLGUuZXhwb3J0cy5zdWJzdHI9ZnVuY3Rpb24oZSx0LHMpe2NvbnN0IGk9bihlKTtpZih2b2lkIDA9PT10KXJldHVybiBlO2lmKHQ+PWkubGVuZ3RoKXJldHVybiIiO2NvbnN0IHI9aS5sZW5ndGgtdDtsZXQgYT10Kyh2b2lkIDA9PT1zP3I6cyk7cmV0dXJuIGE+dCtyJiYoYT12b2lkIDApLGkuc2xpY2UodCxhKS5qb2luKCIiKX19LDUyMDM2MyhlLHQscyl7cy5kKHQse1N0dWR5QmFzZVdpbmRvd1ZpZXc6KCk9Pm59KTt2YXIgaT1zKDc3OTUxNikscj1zKDk0Mzk1KTtjbGFzcyBuIGV4dGVuZHMgaS5EYXRhV2luZG93Vmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCksdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fc3R1ZHk9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX3ZhbHVlUHJvdmlkZXI9dGhpcy5fY3JlYXRlVmFsdWVzUHJvdmlkZXIoZSx0KSx0aGlzLl9pdGVtcz10aGlzLl92YWx1ZVByb3ZpZGVyLmdldEl0ZW1zKCkubWFwKChlPT5uZXcgaS5EYXRhV2luZG93SXRlbShlLmlkLGUudGl0bGUsIiIpKSl9dXBkYXRlKGUpeyJob3Zlci1jaGFuZ2UiIT09ZS50eXBlJiYodGhpcy5faW52YWxpZGF0ZWQ9ITApfWl0ZW1zKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKSx0aGlzLl9pdGVtc31zdHVkeSgpe3JldHVybiB0aGlzLl9zdHVkeX1fdXBkYXRlSW1wbCgpe3RoaXMuX2hlYWRlcj10aGlzLl9zdHVkeS50aXRsZShyLlRpdGxlRGlzcGxheVRhcmdldC5EYXRhV2luZG93KSx0aGlzLl90aXRsZT10aGlzLl9zdHVkeS50aXRsZShyLlRpdGxlRGlzcGxheVRhcmdldC5EYXRhV2luZG93LCExKQo7Y29uc3QgZT10aGlzLl92YWx1ZVByb3ZpZGVyLmdldFZhbHVlcyh0aGlzLl9jdXJyZW50SW5kZXgoKSk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDsrK3Qpe2NvbnN0IHM9ZVt0XSxpPXRoaXMuX2l0ZW1zW3RdO2kuc2V0VmFsdWUocy52YWx1ZSksaS5zZXRWaXNpYmxlKHMudmlzaWJsZSksaS5zZXRDb2xvcihzLmNvbG9yKSxpLnNldFRpdGxlKHMudGl0bGUpfX1fY3VycmVudEluZGV4KCl7Y29uc3QgZT10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS5hcHBsaWVkSW5kZXgoKTtyZXR1cm4gaXNOYU4oZSk/bnVsbDplfX19LDg3MzYzKGUsdCxzKXtzLmQodCx7U3R1ZHlDaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyOigpPT5hfSk7dmFyIGk9cygzMDk4MzcpLHI9cygxNjU1MCksbj1zKDE2ODI1OCk7Y2xhc3MgYXtjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5fc3R1ZHk9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX2hoaXN0QmFzZWRTdHVkeT0hIWUubWV0YUluZm8oKS5ncmFwaGljcy5oaGlzdHMsdGhpcy5fdmFsdWVzUHJvdmlkZXI9dGhpcy5faGhpc3RCYXNlZFN0dWR5P25ldyByLkhIaXN0QmFzZWRWYWx1ZXNQcm92aWRlcihlLHQscyk6bmV3IGkuU3R1ZHlWYWx1ZXNQcm92aWRlcihlLHQscyl9Z2V0SXRlbXMoKXtyZXR1cm4gdGhpcy5fdmFsdWVzUHJvdmlkZXIuZ2V0SXRlbXMoKX1nZXRWYWx1ZXMoZSl7Y29uc3QgdD10aGlzLl92YWx1ZXNQcm92aWRlci5nZXRWYWx1ZXMoZSkscz1lPT50aGlzLl9zdHVkeS5pc1Bsb3RWaXNpYmxlQXQoZSxuLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSl8fHRoaXMuX3N0dWR5LmlzUGxvdFZpc2libGVBdChlLG4uU3R1ZHlQbG90RGlzcGxheVRhcmdldC5QYW5lKTtmb3IoY29uc3QgZSBvZiB0KWUudmlzaWJsZT1lLnZpc2libGUmJih0aGlzLl9oaGlzdEJhc2VkU3R1ZHl8fHMoZS5pZCkpO3JldHVybiB0fX19LDE0MTM1MChlLHQscyl7cy5kKHQse1N0dWR5Q2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3OigpPT5hfSk7dmFyIGk9cygxMzg2MzgpLHI9cyg2MDE4NDEpLG49cyg5NDM5NSk7Y2xhc3MgYXtjb25zdHJ1Y3RvcihlLHQscz0hMSl7dGhpcy5faXRlbXM9W10sdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fc3R1ZHk9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX3Nob3dBbGxQbG90c1RpdGxlPXN9ZGVzdHJveSgpe31pdGVtcygpe3JldHVybiB0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSksdGhpcy5faXRlbXN9dXBkYXRlKGUpe3RoaXMuX2ludmFsaWRhdGVkPSEwfV91cGRhdGVJbXBsKCl7Y29uc3QgZT10aGlzLl9zdHVkeS5jaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyKCksdD10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS5hcHBsaWVkSW5kZXgoKSxzPSgwLGkuZW5zdXJlTm90TnVsbCkoZSkuZ2V0VmFsdWVzKHQpLGE9dGhpcy5fc3R1ZHkudGl0bGVJblBhcnRzKG4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpLG89YVswXTtsZXQgbD0iIjtpZihhLmxlbmd0aD4xKXtjb25zdCBlPWFbMV07ZS5sZW5ndGg+MCYmKGw9ZS5qb2luKCIgIikpfXRoaXMuX2l0ZW1zPXMuZmlsdGVyKHIubm90VW5kZWZpbmVkKS5maWx0ZXIoKGU9PmUudmlzaWJsZSkpLm1hcCgoKGUsdCk9Pih7dGl0bGVUZXh0OnRoaXMuX3Nob3dBbGxQbG90c1RpdGxlP2UudGl0bGU6MD09PXQ/bzoiIix0aXRsZUlucHV0czp0aGlzLl9zaG93QWxsUGxvdHNUaXRsZT8iIjowPT09dD9sOiIiLHZhbHVlOmUudmFsdWUsdmFsdWVDb2xvcjplLmNvbG9yfSkpKX19fSw1MzY3MTAoZSx0LHMpe3MuZCh0LHtTdHVkeURhdGFXaW5kb3dWaWV3OigpPT5ufSk7dmFyIGk9cyg1MjAzNjMpLHI9cyg2MzE0MDQpO2NsYXNzIG4gZXh0ZW5kcyBpLlN0dWR5QmFzZVdpbmRvd1ZpZXd7Y2FuU2hvd0l0ZW1zKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX3N0dWR5KTtyZXR1cm4hIWU/Lm1heGltaXplZCgpLnZhbHVlKCl8fHRoaXMuX21vZGVsLnBhbmVzKCkuZXZlcnkoKGU9PiFlLm1heGltaXplZCgpLnZhbHVlKCkpKX1fY3JlYXRlVmFsdWVzUHJvdmlkZXIoZSx0KXtyZXR1cm4gbmV3IHIuU3R1ZHlEYXRhV2luZG93VmFsdWVzUHJvdmlkZXIoZSx0KX19fSwyNzU4NDkoZSx0LHMpe3MuZCh0LHtTdHVkeVN0YXR1c1Byb3ZpZGVyOigpPT5sfSk7dmFyIGk9cygxODUyNzEpLHI9cyg4Njc4MzEpLG49cyg2MzI0NDQpLGE9cygzMTQyNyk7Y29uc3Qgbz1pLnQobnVsbCx2b2lkIDAscygxNTU4NSkpO2NsYXNzIGwgZXh0ZW5kcyBhLlN0dWR5U3RhdHVzUHJvdmlkZXJCYXNle3NvdXJjZVN0YXR1c1RleHQoKXtjb25zdCBlPXRoaXMuX3NvdXJjZTtpZihlLnN0YXR1cygpLnR5cGU9PT1yLlN0dWR5U3RhdHVzVHlwZS5FcnJvcil7Y29uc3QgdD1lLm1ldGFJbmZvKCkscz0oMCxuLmV4dHJhY3RQaW5lSWQpKHQuZnVsbElkKTtpZih0LnNjcmlwdElkUGFydCYmKDAsbi5pc0VkZ3JQaW5lSWQpKHQuc2NyaXB0SWRQYXJ0KXx8cyYmKDAsbi5pc0VkZ3JQaW5lSWQpKHMpKXJldHVybiBvfXJldHVybiBzdXBlci5zb3VyY2VTdGF0dXNUZXh0KCl9fX0sNTcyMjUoZSx0LHMpe3MuZCh0LHtidWlsZFRyZWVGb3JTdHVkeTooKT0+byxidWlsZFR1cm5hcm91bmQ6KCk9PmEsY2FuQnVpbGRUdXJuYXJvdW5kOigpPT5sfSk7dmFyIGk9cygxMzg2MzgpO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm4gZS5zdHVkeUlkLmxvY2FsZUNvbXBhcmUodC5zdHVkeUlkKX1mdW5jdGlvbiBuKGUpe2NvbnN0IHQ9bmV3IFNldCxzPVtdO3JldHVybiBlLmZvckVhY2goKGU9Pnt0LmhhcyhlLnN0dWR5SWQpfHwodC5hZGQoZS5zdHVkeUlkKSxzLnB1c2goZSkpfSkpLHN9ZnVuY3Rpb24gYShlLHQpe2xldCBzPXQudHVybmFyb3VuZCxpPVt0XTtmb3IoO2kubGVuZ3RoPjA7KXtsZXQgZT1bXTtjb25zdCB0PVtdO2kuZm9yRWFjaCgocz0+e2NvbnN0IGk9bihzLnNvdXJjZVN0dWRpZXMpLnNvcnQocik7aWYoaS5sZW5ndGg+MCl7ZT1lLmNvbmNhdChpKTtjb25zdCBzPWkubWFwKChlPT5lLnR1cm5hcm91bmQpKS5qb2luKCJfIik7dC5wdXNoKHMpfQp9KSksdC5sZW5ndGgmJihzPXQuam9pbigiXyIpKyJfIitzKSxpPWV9cmV0dXJuIGUrIl8iK3N9ZnVuY3Rpb24gbyhlKXtjb25zdCB0PWUubW9kZWwoKS5tYWluU2VyaWVzKCk7cmV0dXJue3N0dWR5SWQ6KDAsaS5lbnN1cmVOb3ROdWxsKShlLnNvdXJjZUlkKCkpLHR1cm5hcm91bmQ6ZS50dXJuYXJvdW5kKCksc291cmNlU3R1ZGllczplLnBhcmVudFNvdXJjZXMoKS5maWx0ZXIoKGU9PmUhPT10KSkubWFwKChlPT5vKGUpKSl9fWZ1bmN0aW9uIGwoZSl7cmV0dXJuIG51bGwhPT1lLnNvdXJjZUlkKCkmJmUucGFyZW50U291cmNlcygpLmV2ZXJ5KChlPT5sKGUpKSl9fSwxOTcyNzIoZSx0LHMpe3MuZCh0LHtTdHVkeTooKT0+VXMsZW1wdHlQcmVjYWxjdWxhdGVkQXV0b3NjYWxlSW5mbzooKT0+d3N9KTt2YXIgaT1zKDU0Nzg1MSkscj1zKDE2NzUwMiksbj1zKDIwMzY4MSksYT1zKDc0MDE2Miksbz1zKDE0NDU1NSksbD1zKDkyMDQ3NSksaD1zKDEzODYzOCksdT1zKDYwMTg0MSksYz1zKDIyMTA2MSksZD1zKDY0MTU5MykscD1zKDE5ODkwMSksXz1zKDk1MjkwMCksZj1zKDIzMjM2NCksbT1zKDQwMjA0NSkseT1zKDk0ODM4MCksZz1zKDg1NzE1MSksUz1zKDkzNjMyNiksYj1zKDk2MDQ2NCksdj1zKDc5MTQyNyksUD1zKDE0NTM4MSksST1zKDkzMDIzMSksdz1zKDEwMDU5NSksQz1zLm4odyk7dmFyIFY9cygxODUyNzEpLHg9cyg4NTY1Nik7dmFyIEE9cyg4NzIzNDMpLFI9cyg0MDc4MTQpO3ZhciBNPXMoMTcyMzA0KSxUPXMoMjQxMyksRD1zKDYzNDg2KSxGPXMoNDk3Njc5KSxPPXMoNzcwNzU1KSxOPXMoNDg3ODIwKTtjbGFzcyBre2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fYWxlcnRzPW5ldyBtLldhdGNoZWRPYmplY3QoW10pLHRoaXMuX2FsZXJ0U2VyaWVzSWQ9dCx0aGlzLl9hbGVydHNDb2xsZWN0aW9uPWUuYWxlcnRzQ29sbGVjdGlvbigpLnNwYXduKCksdGhpcy5fYWxlcnRzQ29sbGVjdGlvbi5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWxlcnRzTGlzdC5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9hbGVydFNlcmllc0lkLnN1YnNjcmliZSh0aGlzLl91cGRhdGVBbGVydHMuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSl9ZGVzdHJveSgpe3RoaXMuX2FsZXJ0c0NvbGxlY3Rpb24uZGVzdHJveSgpLHRoaXMuX2Rlc3Ryb3lBbGVydHNMaXN0U3Vic2NyaXB0aW9ucz8uKCksdGhpcy5fYWxlcnRTZXJpZXNJZC5yZWxlYXNlKCl9YWxlcnRzKCl7cmV0dXJuIHRoaXMuX2FsZXJ0cy5yZWFkb25seSgpfV91cGRhdGVBbGVydHNMaXN0KGUpe2lmKHRoaXMuX2Rlc3Ryb3lBbGVydHNMaXN0U3Vic2NyaXB0aW9ucz8uKCksdGhpcy5fZGVzdHJveUFsZXJ0c0xpc3RTdWJzY3JpcHRpb25zPXZvaWQgMCxlKXtjb25zdCB0PXRoaXMuX3VwZGF0ZUFsZXJ0cy5iaW5kKHRoaXMpO2UuYWxlcnRzKCkuc3Vic2NyaWJlKHQpLHRoaXMuX2Rlc3Ryb3lBbGVydHNMaXN0U3Vic2NyaXB0aW9ucz0oKT0+ZS5hbGVydHMoKS51bnN1YnNjcmliZSh0KX10aGlzLl91cGRhdGVBbGVydHMoKX1fdXBkYXRlQWxlcnRzKCl7Y29uc3QgZT10aGlzLl9hbGVydHNDb2xsZWN0aW9uLnZhbHVlKCksdD10aGlzLl9hbGVydFNlcmllc0lkLnZhbHVlKCk7aWYoIWV8fCF0KXJldHVybiB2b2lkIHRoaXMuX2FsZXJ0cy5zZXRWYWx1ZShbXSk7Y29uc3Qgcz1lLmFsZXJ0cygpLnZhbHVlKCkuZmlsdGVyKChlPT5lLmFjdGl2ZSgpLnZhbHVlKCkmJmUuY2FuVXNlSW5TdHVkeVNvdXJjZU1vZGVsKHQpKSkubWFwKChlPT4oe3RpdGxlOmUuZGVzY3JpcHRpb24oKSxjYW5EaXNwbGF5T25TdGF0dXNWaWV3OigpPT5lLmlzQWxlcnRQcmVzZW50T25UYXJnZXQoTi5BbGVydENoYXJ0RGlzcGxheVRhcmdldC5TdGF0dXNWaWV3KX0pKSk7dGhpcy5fYWxlcnRzLnNldFZhbHVlKHMpfX12YXIgQj1zKDg4OTUxNSksRT1zKDIyNjkzNyksTD1zKDg3MzU3MyksSD1zKDQxNDczNCksVT1zKDU0MjM0OSksVz1zKDcwNDU3MiksRz1zKDk1NjQzNyksaj1zKDYzNTUwOSksej1zKDczMjA4MCksJD1zKDM4ODM2NyksSz1zKDIxODc2NSkscT1zKDUyMDM2MyksSj1zKDk2NjQwNCksWT1zKDkyODY2OSksWj1zKDE2ODI1OCk7Y2xhc3MgWCBleHRlbmRzIHEuU3R1ZHlCYXNlV2luZG93Vmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fc2hvd1N0dWR5VmFsdWVzPXQucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1N0dWR5VmFsdWVzLHRoaXMuX3Nob3dTdHVkeVZhbHVlcy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMudXBkYXRlKCgwLEouc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpKSk7Y29uc3Qgcz10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCk7cy5jaGlsZHMoKS5zaG93TGVnZW5kVmFsdWVzLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy51cGRhdGUoKDAsSi5zb3VyY2VDaGFuZ2VFdmVudCkoZS5pZCgpKSkpKTtjb25zdCBpPXRoaXMuX3N0dWR5Lm1ldGFJbmZvKCkucGxvdHMscj1uZXcgU2V0O2kuZm9yRWFjaCgodD0+e2lmKCgwLFouaXNPaGxjUGxvdCkodCkpe2NvbnN0IGk9dC50YXJnZXQ7aWYoci5oYXMoaSkpcmV0dXJuO3IuYWRkKGkpLHMuY2hpbGRzKCkub2hsY1Bsb3RzLmNoaWxkcygpW2ldLmNoaWxkcygpLmRpc3BsYXkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSkpfWVsc2UoMCxaLmlzUGxvdFN1cHBvcnREaXNwbGF5KSh0KSYmcy5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdC5pZF0/LmNoaWxkcygpLmRpc3BsYXkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSkpfSkpfWFyZVZhbHVlc1Zpc2libGUoKXtyZXR1cm4gdGhpcy5fc2hvd1N0dWR5VmFsdWVzLnZhbHVlKCl9YWRkaXRpb25hbCgpe3JldHVybiBudWxsfWRlc3Ryb3koKXt0aGlzLl9zaG93U3R1ZHlWYWx1ZXMudW5zdWJzY3JpYmVBbGwodGhpcyk7Y29uc3QgZT10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkKO2UuY2hpbGRzKCkuc2hvd0xlZ2VuZFZhbHVlcy51bnN1YnNjcmliZUFsbCh0aGlzKTtjb25zdCB0PXRoaXMuX3N0dWR5Lm1ldGFJbmZvKCkucGxvdHMscz1uZXcgU2V0O3QuZm9yRWFjaCgodD0+e2lmKCgwLFouaXNPaGxjUGxvdCkodCkpe2NvbnN0IGk9dC50YXJnZXQ7aWYocy5oYXMoaSkpcmV0dXJuO3MuYWRkKGkpLGUuY2hpbGRzKCkub2hsY1Bsb3RzLmNoaWxkcygpW2ldLmNoaWxkcygpLmRpc3BsYXkudW5zdWJzY3JpYmVBbGwodGhpcyl9ZWxzZSgwLFouaXNQbG90U3VwcG9ydERpc3BsYXkpKHQpJiZlLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVt0LmlkXT8uY2hpbGRzKCkuZGlzcGxheS51bnN1YnNjcmliZUFsbCh0aGlzKX0pKX1fY3JlYXRlVmFsdWVzUHJvdmlkZXIoZSx0KXtyZXR1cm4gbmV3IFkuU3R1ZHlMZWdlbmRWYWx1ZXNQcm92aWRlcihlLHQpfX12YXIgUT1zKDY3ODI4NSksZWU9cyg5MzI2OTMpLHRlPXMoNDA3Nzk5KSxzZT1zKDY0NTI4NSksaWU9cyg3OTE1MjEpLHJlPXMoMjc1ODQ5KSxuZT1zKDg3MzYzKSxhZT1zKDQ3NzM4OCk7Y2xhc3Mgb2V7Y29uc3RydWN0b3IoZSx0LHM9ITEpe3RoaXMucHJpY2U9dCx0aGlzLmluZGV4PWUsdGhpcy51c2VNYWluU2VyaWVzRm9yUHJpY2VSYW5nZT1zfX12YXIgbGU9cygyOTM0MTgpO2Z1bmN0aW9uIGhlKGUsdCxzLGkpe2lmKGUueTE9PT1lLnkyKXJldHVybiBmdW5jdGlvbihlLHQscyl7cmV0dXJuKDAsaC5hc3NlcnQpKGUueTE9PT1lLnkyKSwoMCxsZS5kb2VzSXRlbUFmZmVjdFZpc2libGVSYW5nZSkoZS54MSxlLngyLGUuZXh0ZW5kLHQscyk/W25ldyBvZSh0LGUueTEsITEpLG5ldyBvZShzLGUueTIsITEpXTpbXX0oZSxzLGkpO2NvbnN0IHI9W107cmV0dXJuIG51bGwhPT1lLngxJiZyLnB1c2gobmV3IG9lKGUueDEsZS55MSwhMSkpLG51bGwhPT1lLngyJiZyLnB1c2gobmV3IG9lKGUueDIsZS55MiwhMSkpLHJ9ZnVuY3Rpb24gdWUoZSx0LHMsaSl7cmV0dXJuIGUucG9pbnRzLmZpbHRlcigoZT0+ZS54Pj1zJiZlLng8PWkpKS5tYXAoKGU9Pm5ldyBvZShlLngsZS55LCExKSkpfWZ1bmN0aW9uIGNlKGUsdCxzLGkpe3JldHVybigwLGxlLmRvZXNJdGVtQWZmZWN0VmlzaWJsZVJhbmdlKShlLmxlZnQsZS5yaWdodCxlLmV4dGVuZCxzLGkpP1tuZXcgb2UocyxlLnRvcCwhMSksbmV3IG9lKGksZS5ib3R0b20sITEpXTpbXX12YXIgZGU9cyg1NDg1NjApO2Z1bmN0aW9uIHBlKGUsdCxzLGkpe2xldCByO2NvbnN0IG49ZS55bG9jIT09ZGUuRHdnTGFiZWxZbG9jLlByaWNlJiZlLnlsb2MhPT1kZS5Ed2dMYWJlbFlsb2MuQXV0bztpZihuKXtjb25zdCBzPWUueWxvYz09PWRlLkR3Z0xhYmVsWWxvYy5BYm92ZUJhcj8yOjMsaT10LnZhbHVlQXQoZS54KTtudWxsIT09aSYmKHI9aVtzXSl9ZWxzZSByPWUueTtyZXR1cm4gbnVsbD09cj9udWxsOltuZXcgb2UoZS54LHIsbildfXZhciBfZT1zKDE3OTY3NCk7ZnVuY3Rpb24gZmUoZSx0LHMsaSxyLG4pe2lmKCEoMCxsZS5kb2VzSXRlbUFmZmVjdFZpc2libGVSYW5nZSkoZS5maXJzdEJhclRpbWUsZS5sYXN0QmFyVGltZSxfZS5Ed2dFeHRlbmQuTm9uZSxzLGkpKXJldHVybltdO2xldCBhPTEvMCxvPS0xLzA7Zm9yKGNvbnN0W3Qsc11vZiByLnRwb0Jsb2NrU2V0cygpKWlmKG49PT10KWZvcihjb25zdCB0IG9mIHMuZ2V0KGUuaWQpfHxbXSlhPU1hdGgubWluKGEsdC5yb3dJbmRleCplLnByaWNlUmFuZ2UpLG89TWF0aC5tYXgobywodC5yb3dJbmRleCsxKSplLnByaWNlUmFuZ2UpO3JldHVybiBOdW1iZXIuaXNGaW5pdGUoYSk/W25ldyBvZShzLG8sITEpLG5ldyBvZShpLGEsITEpXTpbXX1jbGFzcyBtZXtjb25zdHJ1Y3RvcihlLHQscyxpLHIpe3RoaXMuX21hcEdldHRlcj1lLHRoaXMuX3N0dWR5PXQsdGhpcy5fYmFycz10LnNlcmllcygpLmJhcnMoKSx0aGlzLl92aXNpYmlsaXR5R2V0dGVyPXMsdGhpcy5fZ2V0UG9pbnRzPWksdGhpcy5fZ2V0TWFyZ2lucz1yfWdyb3VwUHJpY2VSYW5nZShlLHQscyl7bGV0IGk9bnVsbDtjb25zdCByPXRoaXMuX3N0dWR5LmdyYXBoaWNzKCk7Zm9yKGNvbnN0W24sYV1vZiB0aGlzLl9tYXBHZXR0ZXIocykpaWYodGhpcy5fdmlzaWJpbGl0eUdldHRlcihuKSlmb3IoY29uc3QgcyBvZiBhKXtjb25zdCBhPXRoaXMuX2dldFBvaW50cyhzLHRoaXMuX2JhcnMsZSx0LHIsbik7aWYobnVsbD09PWEpY29udGludWU7bGV0IG89MS8wLGw9LTEvMCxoPSExLHU9ITEsYz0hMTtmb3IoY29uc3QgcyBvZiBhKXtjb25zdCBpPXMuaW5kZXg8PXQscj1zLmluZGV4Pj1lO2g9aHx8aSx1PXV8fHIsYz1jfHxpJiZyO2xldCBuPXMucHJpY2UsYT1zLnByaWNlO2lmKHMudXNlTWFpblNlcmllc0ZvclByaWNlUmFuZ2Upe2NvbnN0IGU9dGhpcy5fYmFycy52YWx1ZUF0KHMuaW5kZXgpO2lmKG51bGw9PT1lKWNvbnRpbnVlO2NvbnN0IHQ9ZVsyXTtpZihudWxsPT10KWNvbnRpbnVlO2NvbnN0IGk9ZVszXTtpZihudWxsPT1pKWNvbnRpbnVlO249aSxhPXR9bjxvJiYobz1uKSxhPmwmJihsPWEpfWlmKCEoY3x8aCYmdSkpY29udGludWU7Y29uc3QgZD1uZXcgai5QcmljZVJhbmdlKG8sbCk7aT1udWxsPT09aT9kOmkubWVyZ2UoZCl9cmV0dXJuIGl9Zmlyc3RWYWx1ZShlLHQpe2xldCBzPTEvMCxpPTEvMCxyPS0xLzAsbj0xLzAsYT0xLzAsbz0xLzA7Y29uc3QgbD10aGlzLl9zdHVkeS5ncmFwaGljcygpO2Zvcihjb25zdFtoLHVdb2YgdGhpcy5fbWFwR2V0dGVyKCExKSlpZih0aGlzLl92aXNpYmlsaXR5R2V0dGVyKGgpKWZvcihjb25zdCBjIG9mIHUpe2NvbnN0IHU9dGhpcy5fZ2V0UG9pbnRzKGMsdGhpcy5fYmFycyxlLHQsbCxoKTtpZihudWxsIT09dSlmb3IoY29uc3QgbCBvZiB1KXtjb25zdCBoPWwuaW5kZXg7aD49ZSYmaDw9dCYmaDxzPyhzPWgsaT1sLnByaWNlKTpoPGUmJmg+cj8ocj1oLG49bC5wcmljZSk6aD50JiZoPGEmJihhPWgsbz1sLnByaWNlKX19cmV0dXJue2ZpcnN0VmlzaWJsZTpzPT09MS8wP251bGw6bmV3IG9lKHMsaSksbGVmdENsb3Nlc3Q6cj09PS0xLzA/bnVsbDpuZXcgb2UocixuKSxyaWdodENsb3Nlc3Q6YT09PTEvMD9udWxsOm5ldyBvZShhLG8pfX1ncm91cFBpeGVsTWFyZ2lucyhlLHQscyl7CmlmKCF0aGlzLl9nZXRNYXJnaW5zKXJldHVybiB5ZSgpO2NvbnN0IGk9eWUoKTtpZihudWxsPT09dGhpcy5fc3R1ZHkucHJpY2VTY2FsZSgpKXJldHVybiBpO2lmKG51bGw9PT10aGlzLl9zdHVkeS5maXJzdFZhbHVlKCkpcmV0dXJuIGk7Y29uc3Qgcj10aGlzLl9zdHVkeS5ncmFwaGljcygpO2Zvcihjb25zdFtuLGFdb2YgdGhpcy5fbWFwR2V0dGVyKHMpKWlmKHRoaXMuX3Zpc2liaWxpdHlHZXR0ZXIobikpZm9yKGNvbnN0IHMgb2YgYSl7Y29uc3QgYT10aGlzLl9nZXRQb2ludHMocyx0aGlzLl9iYXJzLGUsdCxyLG4pO2lmKG51bGw9PT1hKWNvbnRpbnVlO2lmKDA9PT1hLmZpbHRlcigocz0+e2NvbnN0IGk9cy5pbmRleDtyZXR1cm4gaT49ZSYmaTw9dH0pKS5sZW5ndGgpY29udGludWU7Y29uc3Qgbz10aGlzLl9nZXRNYXJnaW5zKHMsdGhpcy5fYmFycyk7aS5ib3R0b21QaXhlbE1hcmdpbj1NYXRoLm1heChpLmJvdHRvbVBpeGVsTWFyZ2luLG8uYm90dG9tUGl4ZWxNYXJnaW4pLGkudG9wUGl4ZWxNYXJnaW49TWF0aC5tYXgoaS50b3BQaXhlbE1hcmdpbixvLnRvcFBpeGVsTWFyZ2luKX1yZXR1cm4gaX19Y29uc3QgeWU9KCk9Pih7Ym90dG9tUGl4ZWxNYXJnaW46MCx0b3BQaXhlbE1hcmdpbjowfSk7ZnVuY3Rpb24gZ2UoZSl7Y29uc3QgdD0oMCxoLmVuc3VyZURlZmluZWQpKGUucHJvcGVydGllcygpLmNoaWxkcygpLmdyYXBoaWNzKS5jaGlsZHMoKTtyZXR1cm5bbmV3IG1lKCgoKT0+KDAscC5tYXBFbnRyaWVzR2VuZXJhdG9yKShlLmdyYXBoaWNzKCkudHBvcygpKSksZSwoZT0+e2NvbnN0IHM9KDAsaC5lbnN1cmVEZWZpbmVkKSh0LnRwb0Jsb2NrU2V0cykuY2hpbGRzKClbZV0uY2hpbGRzKCk7cmV0dXJuIHMuc2hvd0xldHRlcnMudmFsdWUoKXx8cy5zaG93QmxvY2tzLnZhbHVlKCl8fCgwLGguZW5zdXJlRGVmaW5lZCkodC50cG9Wb2x1bWVSb3dzKS5jaGlsZHMoKVtlXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCl9KSxmZSx5ZSksbmV3IG1lKCh0PT4oMCxwLm5lc3RlZE1hcEdlbmVyYXRvcikoZS5ncmFwaGljcygpLmR3Z2xhYmVscygpLHQpKSxlLChlPT4oMCxoLmVuc3VyZURlZmluZWQpKHQuZHdnbGFiZWxzKS5jaGlsZHMoKVtlXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpLHBlLGFlLmNhbGN1bGF0ZUR3Z0xhYmVsc01hcmdpbnMuYmluZChudWxsLGUpKSxuZXcgbWUoKHQ9PigwLHAubmVzdGVkTWFwR2VuZXJhdG9yKShlLmdyYXBoaWNzKCkuZHdnbGluZXMoKSx0KSksZSwoZT0+KDAsaC5lbnN1cmVEZWZpbmVkKSh0LmR3Z2xpbmVzKS5jaGlsZHMoKVtlXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpLGhlLHllKSxuZXcgbWUoKHQ9PigwLHAubmVzdGVkTWFwR2VuZXJhdG9yKShlLmdyYXBoaWNzKCkuZHdncG9seWxpbmVzKCksdCkpLGUsKGU9PigwLGguZW5zdXJlRGVmaW5lZCkodC5kd2dwb2x5bGluZXMpLmNoaWxkcygpW2VdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSksdWUseWUpLG5ldyBtZSgodD0+KDAscC5uZXN0ZWRNYXBHZW5lcmF0b3IpKGUuZ3JhcGhpY3MoKS5kd2dib3hlcygpLHQpKSxlLChlPT4oMCxoLmVuc3VyZURlZmluZWQpKHQuZHdnYm94ZXMpLmNoaWxkcygpW2VdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSksY2UseWUpLG5ldyBtZSgodD0+ZnVuY3Rpb24qKGUsdCl7Y29uc3Qgcz1lLmR3Z2xpbmVzKCksaT1lLmR3Z2xpbmVmaWxscygpLHI9bmV3IE1hcDtzLmZvckVhY2goKGU9PntpZih2b2lkIDA9PT10KWUuZm9yRWFjaCgoZT0+e2U/LmZvckVhY2goKGU9PntyLnNldChlLmlkLGUpfSkpfSkpO2Vsc2V7Y29uc3Qgcz1lLmdldCh0KTtzPy5mb3JFYWNoKChlPT57ci5zZXQoZS5pZCxlKX0pKX19KSk7Zm9yKGNvbnN0W2UsdF1vZiBpKXtjb25zdCBzPUFycmF5LmZyb20odCkuZmlsdGVyKChlPT5yLmhhcyhlLmxpbmUxKSkpO3MubGVuZ3RoJiYoeWllbGRbZSxuZXcgU2V0KHMpXSl9fShlLmdyYXBoaWNzKCksdCkpLGUsKGU9PigwLGguZW5zdXJlRGVmaW5lZCkodC5kd2dsaW5lZmlsbHMpLmNoaWxkcygpW2VdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSksKCh0LHMsaSxyKT0+e2NvbnN0IG49bmV3IE1hcDtmb3IoY29uc3RbLHRdb2YgZS5ncmFwaGljcygpLmR3Z2xpbmVzKCkpZm9yKGNvbnN0WyxlXW9mIHQpZm9yKGNvbnN0IHQgb2YgZSluLnNldCh0LmlkLHQpO3JldHVybiBmdW5jdGlvbihlLHQscyxpLHIpe2NvbnN0IG49ZS5nZXQodC5saW5lMSksYT1lLmdldCh0LmxpbmUyKTtyZXR1cm4gdm9pZCAwIT09biYmdm9pZCAwIT09YSYmKCgwLGxlLmRvZXNJdGVtQWZmZWN0VmlzaWJsZVJhbmdlKShuLngxLG4ueDIsbi5leHRlbmQsaSxyKXx8KDAsbGUuZG9lc0l0ZW1BZmZlY3RWaXNpYmxlUmFuZ2UpKGEueDEsYS54MixhLmV4dGVuZCxpLHIpKT9bbmV3IG9lKGksbi55MSwhMSksbmV3IG9lKHIsbi55MiwhMSksbmV3IG9lKGksYS55MSwhMSksbmV3IG9lKHIsYS55MiwhMSldOltdfShuLHQsMCxpLHIpfSkseWUpXX1mdW5jdGlvbiBTZShlLHQscyl7cmV0dXJuIG51bGw9PT10P2U6bnVsbD09PWU/dDplLmluZGV4PHQuaW5kZXg/cz90OmU6cz9lOnR9Y2xhc3MgYmV7Y29uc3RydWN0b3IoKXt0aGlzLmZpcnN0VmlzaWJsZT1udWxsLHRoaXMubGVmdENsb3Nlc3Q9bnVsbCx0aGlzLnJpZ2h0Q2xvc2VzdD1udWxsfWltcHJvdmUoZSl7dGhpcy5maXJzdFZpc2libGU9U2UodGhpcy5maXJzdFZpc2libGUsZS5maXJzdFZpc2libGUsITApLHRoaXMubGVmdENsb3Nlc3Q9U2UodGhpcy5sZWZ0Q2xvc2VzdCxlLmxlZnRDbG9zZXN0LCEwKSx0aGlzLnJpZ2h0Q2xvc2VzdD1TZSh0aGlzLnJpZ2h0Q2xvc2VzdCxlLnJpZ2h0Q2xvc2VzdCwhMSl9YmVzdFByaWNlKCl7cmV0dXJuIG51bGwhPT10aGlzLmZpcnN0VmlzaWJsZT90aGlzLmZpcnN0VmlzaWJsZS5wcmljZTpudWxsIT09dGhpcy5sZWZ0Q2xvc2VzdD90aGlzLmxlZnRDbG9zZXN0LnByaWNlOm51bGwhPT10aGlzLnJpZ2h0Q2xvc2VzdD90aGlzLnJpZ2h0Q2xvc2VzdC5wcmljZTpudWxsfX0KdmFyIHZlPXMoMTU2ODUwKSxQZT1zKDYzMjQ0NCksSWU9cyg0OTAzOTkpLHdlPXMoMTQzODA4KSxDZT1zKDk0MzEzMCksVmU9cyg3MjkxNjMpLHhlPXMoNzQxNjkwKSxBZT1zKDMxNDgwNiksUmU9cygyNDE5NTYpLE1lPXMoMjA1NjExKSxUZT1zKDU3MjI1KSxEZT1zKDYyODA2KSxGZT1zKDc4OTE5MCksT2U9cyg5MzQzMDUpO2NsYXNzIE5lIGV4dGVuZHMgT2UuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9kYXRhPWV9aGl0VGVzdChlKXtyZXR1cm4gbnVsbH1fZHJhd0ltcGwoZSl7fV9kcmF3QmFja2dyb3VuZEltcGwoZSl7Y29uc3R7Y29udGV4dDp0LGhvcml6b250YWxQaXhlbFJhdGlvOnMsYml0bWFwU2l6ZTppfT1lLHI9dGhpcy5fZGF0YTtmb3IobGV0IGU9MDtlPHIuaXRlbXMubGVuZ3RoOysrZSl7Y29uc3Qgbj1yLml0ZW1zW2VdO2lmKG51bGw9PW4uY29sb3IpY29udGludWU7dC5maWxsU3R5bGU9bi5jb2xvcjtjb25zdCBhPU1hdGgucm91bmQobi5sZWZ0KnMpKzEsbz1NYXRoLnJvdW5kKG4ucmlnaHQqcyk7dC5maWxsUmVjdChhLDAsby1hKzEsaS5oZWlnaHQpfX19dmFyIGtlPXMoNjU1NTY5KSxCZT1zKDg0MDc3MSk7Y2xhc3MgRWUgZXh0ZW5kcyBCZS5TdHVkeUZvcmNlT3ZlcmxheVBsb3RWaWV3e2NvbnN0cnVjdG9yKGUsdCxzLGkpe3N1cGVyKHQscyxpKSx0aGlzLl9pdGVtcz1bXSx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9pc01hcmtlcnNFbmFibGVkPSgwLEkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIpLHRoaXMuX3N0dWR5PWU7Y29uc3Qgcj10aGlzLl9zdHVkeS5tZXRhSW5mbygpLnBsb3RzO2ZvcihsZXQgZT0wO2U8ci5sZW5ndGg7ZSsrKXtjb25zdCB0PXJbZV07dC5pZD09PXRoaXMuX3Bsb3ROYW1lJiYodGhpcy5fcGxvdEluZGV4PWUsKDAsaC5hc3NlcnQpKCgwLFouaXNCZ0NvbG9yZXJQbG90KSh0KSwiUGxvdCAnIit0aGlzLl9wbG90TmFtZSsiJyBpcyBub3QgYSBiYWNrZ3JvdW5kIGNvbG9yZXIhIikpfXRoaXMuX2NvbG9yUHJvdmlkZXI9KDAsa2UuY3JlYXRlU3R1ZHlQbG90Q29sb3JQcm92aWRlcikoZS5tZXRhSW5mbygpLGUucHJvcGVydGllcygpLGkpfWl0ZW1zKCl7cmV0dXJuIHRoaXMuX2l0ZW1zfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpe2lmKCgoMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdKS5jaGlsZHMoKS5kaXNwbGF5LnZhbHVlKCkmWi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LlBhbmUpIT09Wi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LlBhbmUpcmV0dXJuIG51bGw7aWYoIXRoaXMuX3NjYWxlc1JlYWR5KCkpcmV0dXJuIG51bGw7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9e2l0ZW1zOnRoaXMuX2l0ZW1zfSx0PW5ldyBGZS5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gdC5hcHBlbmQobmV3IE5lKGUpKSx0fV9zY2FsZXNSZWFkeSgpe2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCksdD10aGlzLl9wcmljZVNjYWxlKCk7cmV0dXJuIWUuaXNFbXB0eSgpJiZudWxsIT09dCYmIXQuaXNFbXB0eSgpfV9nZXRUcmFuc3BWYWx1ZSgpe2NvbnN0IGU9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLmNoaWxkcygpW3RoaXMuX3Bsb3ROYW1lXSkuY2hpbGRzKCk7bGV0IHQ9MDtyZXR1cm4gZS50cmFuc3BhcmVuY3kmJih0PWUudHJhbnNwYXJlbmN5LnZhbHVlKCksdD0oMCx1LmlzTnVtYmVyKSh0KT90OjQwKSx0fV91cGRhdGVJbXBsKCl7dGhpcy5faXRlbXM9W10sKDAsaC5hc3NlcnQpKHRoaXMuX3NjYWxlc1JlYWR5KCksIlNjYWxlcyBtdXN0IGJlIHJlYWR5ISIpO2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1lKXJldHVybjtjb25zdCB0PXRoaXMuX2dldFRyYW5zcFZhbHVlKCk7bGV0IHM9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zZXJpZXMubmVhcmVzdEluZGV4KGUuZmlyc3RCYXIoKSxTLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodCkpLGk9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zZXJpZXMubmVhcmVzdEluZGV4KGUubGFzdEJhcigpLFMuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQpKTtjb25zdCByPXRoaXMuX3N0dWR5Lm9mZnNldCh0aGlzLl9wbG90TmFtZSk7cj4wPyhzLT1yLGkrPXIpOihzKz1yLGktPXIpO2NvbnN0IG49dGhpcy5fc3R1ZHkuZ2V0TWluRmlyc3RCYXJJbmRleEZvclBsb3QodGhpcy5fcGxvdE5hbWUpO2lmKG4+aSlyZXR1cm47cz1NYXRoLm1heChuLHMpO2NvbnN0IGE9dGhpcy5fc3R1ZHkuZGF0YSgpO2Zvcihjb25zdCBlIG9mIGEucmFuZ2VJdGVyYXRvcihzLGkpKXtsZXQgcz1lLmluZGV4O2NvbnN0IGk9ZS52YWx1ZTtzKz1yO2NvbnN0IG49e3RpbWVQb2ludEluZGV4Ok1hdGguZmxvb3IocyksbGVmdDpOYU4sY2VudGVyOk5hTixyaWdodDpOYU59O2xldCBhPSgwLHUuaXNOdW1iZXIpKHQpP3Q6NTA7YT1NYXRoLm1pbihhLDEwMCksYT1NYXRoLm1heChhLDApO2NvbnN0IG89dGhpcy5fY29sb3JQcm92aWRlci5nZXRQbG90UG9pbnRTdHlsZShpKTt2b2lkIDAhPT1vLmNvbG9yc1sxXSYmKG4uY29sb3I9KDAsTC5nZW5lcmF0ZUNvbG9yKSgoMCxoLmVuc3VyZURlZmluZWQpKG8uY29sb3JzWzFdKSxhKSksdGhpcy5faXRlbXMucHVzaChuKX10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5maWxsQmFyQm9yZGVycyh0aGlzLl9pdGVtcyl9fQp2YXIgTGU9cygyODQ4MzEpLEhlPXMoNTkwNDIzKSxVZT1zKDM3MDYyMiksV2U9cyg1ODk1MTEpLEdlPXMoNjE5MTY1KSxqZT1zKDI1MDQ2NyksemU9cyg2NDA3NDQpLCRlPXMoMTQzOTMyKSxLZT1zKDk3MDQzNCkscWU9cyg2NTE5NjYpLEplPXMoMzMwODYxKSxZZT1zKDMwMjQ2OSksWmU9cyg3NDc0NjUpLFhlPXMoNTQ0MjQzKSxRZT1zKDE2ODQ4NyksZXQ9cyg0MDc1ODQpLHR0PXMoMTE4NzUyKSxzdD1zKDM2MzMyNiksaXQ9cygzMDMyNzApO2NvbnN0IHJ0PW5ldyBNYXA7cnQuc2V0KCJQYW5lUmVuZGVyZXJBcnJvd1VwIixxZS5QYW5lUmVuZGVyZXJBcnJvd1VwKSxydC5zZXQoIlBhbmVSZW5kZXJlckFycm93RG93biIscWUuUGFuZVJlbmRlcmVyQXJyb3dEb3duKSxydC5zZXQoIlBhbmVSZW5kZXJlckNpcmNsZVNoYXBlIixKZS5QYW5lUmVuZGVyZXJDaXJjbGVTaGFwZSkscnQuc2V0KCJQYW5lUmVuZGVyZXJDcm9zc1NoYXBlIixZZS5QYW5lUmVuZGVyZXJDcm9zc1NoYXBlKSxydC5zZXQoIlBhbmVSZW5kZXJlckRpYW1vbmQiLFplLlBhbmVSZW5kZXJlckRpYW1vbmQpLHJ0LnNldCgiUGFuZVJlbmRlcmVyRmxhZ1NoYXBlIixYZS5QYW5lUmVuZGVyZXJGbGFnU2hhcGUpLHJ0LnNldCgiUGFuZVJlbmRlcmVyTGFiZWxVcCIsUWUuUGFuZVJlbmRlcmVyTGFiZWxVcCkscnQuc2V0KCJQYW5lUmVuZGVyZXJMYWJlbERvd24iLFFlLlBhbmVSZW5kZXJlckxhYmVsRG93bikscnQuc2V0KCJQYW5lUmVuZGVyZXJTcXVhcmUiLGV0LlBhbmVSZW5kZXJlclNxdWFyZSkscnQuc2V0KCJQYW5lUmVuZGVyZXJUcmlhbmdsZUFwZXhVcCIsdHQuUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4VXApLHJ0LnNldCgiUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4RG93biIsdHQuUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4RG93bikscnQuc2V0KCJQYW5lUmVuZGVyZXJYQ3Jvc3MiLHN0LlBhbmVSZW5kZXJlclhDcm9zcyk7Y2xhc3MgbnQgZXh0ZW5kcyBpdC5TdHVkeVBhbmVWaWV3SW5wbGFjZVVwZGF0YWJsZXtjb25zdHJ1Y3RvcihlLHQscyxpKXtzdXBlcih0LHMsaSksdGhpcy5fcmVuZGVyZXI9bnVsbCx0aGlzLl9zaGFwZXNSZW5kZXJlcj1udWxsLHRoaXMuX3NlbGVjdGlvblJlbmRlcmVyPW51bGwsdGhpcy5faXNNYXJrZXJzRW5hYmxlZD0oMCxJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiKSx0aGlzLl9zdHVkeT1lO2NvbnN0IHI9ZS5tZXRhSW5mbygpLnBsb3RzO2ZvcihsZXQgZT0wO2U8ci5sZW5ndGg7ZSsrKWlmKHJbZV0uaWQ9PT10aGlzLl9wbG90TmFtZSl7dGhpcy5fcGxvdEluZGV4PWU7YnJlYWt9dGhpcy5fcGxvdFN0eWxlSW5mbz0oMCxoLmVuc3VyZURlZmluZWQpKGUubWV0YUluZm8oKS5zdHlsZXM/Llt0aGlzLl9wbG90TmFtZV0pLHRoaXMuX2NvbG9yUHJvdmlkZXI9KDAsa2UuY3JlYXRlU3R1ZHlQbG90Q29sb3JQcm92aWRlcikoZS5tZXRhSW5mbygpLGUucHJvcGVydGllcygpLGkpLHRoaXMuX3NlbGVjdGlvbkluZGV4ZXI9bmV3ICRlLlNlbGVjdGlvbkluZGV4ZXMocy50aW1lU2NhbGUoKSl9aXRlbXMoKXtyZXR1cm4gdGhpcy5faXRlbXN9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faXNQbG90VmlzaWJsZSgpJiZ0aGlzLl9zY2FsZXNSZWFkeSgpPyh0aGlzLl9tYWtlU3VyZVJlbmRlcmVySXNWYWxpZCgpLHRoaXMuX3JlbmRlcmVyKTpudWxsfV9pc1Bsb3RWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX3N0dWR5LmlzUGxvdFZpc2libGVBdCh0aGlzLl9wbG90TmFtZSxqZS5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LlBhbmUpfV9zY2FsZXNSZWFkeSgpe2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCksdD10aGlzLl9wcmljZVNjYWxlKCk7cmV0dXJuIG51bGwhPT10JiYhZS5pc0VtcHR5KCkmJiF0LmlzRW1wdHkoKX1fdXBkYXRlSW1wbEZ1bGwoZSl7aWYodGhpcy5fZGF0YUludmFsaWRhdGVkPy5jbGVhckRhdGEmJih0aGlzLl9pdGVtcz1bXSx0aGlzLl9yZW5kZXJlcj1udWxsKSwhdGhpcy5fc2NhbGVzUmVhZHkoKSlyZXR1cm4hMTtjb25zdCB0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLHM9dGhpcy5fcHJpY2VTY2FsZSgpLGk9dC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PWl8fG51bGw9PT1zKXJldHVybiExO2NvbnN0IHI9dGhpcy5fc3R1ZHkucGxvdHMoKS5wbG90dGFibGVSYW5nZSghMSk7aWYoMD09PXIuc2l6ZSgpKXJldHVybiExO2NvbnN0IG49dGhpcy5fc3R1ZHkub2Zmc2V0KHRoaXMuX3Bsb3ROYW1lKSxhPXRoaXMuX3N0dWR5LmZpcnN0VmFsdWUodm9pZCAwLHRoaXMuaXNGb3JjZU92ZXJsYXkoKSk7aWYobnVsbD09PWEpcmV0dXJuITE7dGhpcy5fdXBkYXRlQWRkaXRpb25hbFByaWNlcyhzLGEpO2NvbnN0e2hpUGxvdDpvLGxvUGxvdDpsfT10aGlzLl9oaUxvUGxvdHMoKSx1PXRoaXMuX3ByZWFsbG9jYXRlSXRlbXMociwoKGUsdCk9PnRoaXMuX2NyZWF0ZUl0ZW0oZSx0Pz9udWxsLG8sbCxuKSkpO2xldCBjPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgoaS5maXJzdEJhcigpLFMuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0KSxkPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgoaS5sYXN0QmFyKCksUy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCk7aWYodm9pZCAwPT09Y3x8dm9pZCAwPT09ZClyZXR1cm4hMTtuPjA/KGMtPW4sZCs9bik6KGMrPW4sZC09bik7Y29uc3QgXz10aGlzLl9zdHVkeS5nZXRNaW5GaXJzdEJhckluZGV4Rm9yUGxvdCh0aGlzLl9wbG90TmFtZSk7aWYoXz5kKXJldHVybiEwO2M9TWF0aC5tYXgoXyxjKTtjb25zdCBmPXRoaXMuX2dldFRyYW5zcFZhbHVlKCksbT10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLmNoaWxkcygpW3RoaXMuX3Bsb3ROYW1lXS5jaGlsZHMoKSx5PW0uY29sb3IudmFsdWUoKSxnPW0udGV4dENvbG9yP20udGV4dENvbG9yLnZhbHVlKCk6dm9pZCAwLGI9eSx2PXksUD12b2lkIDA9PT1nP3ZvaWQgMDpnLEk9KDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wbG90SW5kZXgpLHc9KDAsS2UuY3JlYXRlRW1wdHlTdHlsZSkoKSxDPXU/PygwLApoLmVuc3VyZU5vdE51bGwpKHIuZmlyc3RJbmRleCgpKSxWPXIucmFuZ2VJdGVyYXRvcihDLCgwLGguZW5zdXJlTm90TnVsbCkoci5sYXN0SW5kZXgoKSkrMSk7bGV0IHg9KDAscC5sb3dlcmJvdW5kKSh0aGlzLl9pdGVtcyxDK24sKChlLHQpPT5lLnRpbWVQb2ludEluZGV4PHQpKTtmb3IoY29uc3QgZSBvZiBWKXtjb25zdCB0PWUudmFsdWUscz10W0krMV07aWYobnVsbD09cyl7eCsrO2NvbnRpbnVlfWNvbnN0IGk9dGhpcy5faXRlbXNbeF07aWYoIWlzTmFOKGkucHJpY2UpKXtpZih0aGlzLl9jb2xvclByb3ZpZGVyLmlzQ29sb3JEZWZpbmVkKCkpe2kuc3R5bGU9e2NvbG9yOmIsYm9yZGVyQ29sb3I6dix0ZXh0Q29sb3I6UH07Y29uc3QgZT10aGlzLl9jb2xvclByb3ZpZGVyLmdldFBsb3RQb2ludFN0eWxlKHQsdyk7dGhpcy5fZmlsbEl0ZW1XaXRoUG9pbnRTdHlsZShpLGUsZil9fXgrK31yZXR1cm4gdGhpcy5fdXBkYXRlSW1wbExpZ2h0KCksITB9X2ZpbGxJdGVtV2l0aFBvaW50U3R5bGUoZSx0LHMpe2NvbnN0IGk9KDAsaC5lbnN1cmVEZWZpbmVkKShlLnN0eWxlKTtpZih2b2lkIDAhPT10LmNvbG9yc1swXSl7aS5jb2xvcj0oMCxMLmdlbmVyYXRlQ29sb3IpKCgwLGguZW5zdXJlRGVmaW5lZCkodC5jb2xvcnNbMF0pLHMpO2NvbnN0IGU9cz45P3MtMTA6MDtpLmJvcmRlckNvbG9yPSgwLEwuZ2VuZXJhdGVDb2xvcikoaS5jb2xvcixlKX12b2lkIDAhPT10LmNvbG9yc1syXSYmKGkudGV4dENvbG9yPSgwLEwuZ2VuZXJhdGVDb2xvcikoKDAsaC5lbnN1cmVEZWZpbmVkKSh0LmNvbG9yc1syXSkscykpfV91cGRhdGVSZW5kZXJlcihlLHQpe3RoaXMuX21ha2VTdXJlUmVuZGVyZXJJc1ZhbGlkKCk7Y29uc3Qgcz10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxpPXt9LHI9dGhpcy5fZ2V0VHJhbnNwVmFsdWUoKSxuPXMuYmFyU3BhY2luZygpLGE9dGhpcy5fY2FsY3VsYXRlU2hhcGVIZWlnaHQobiksbz10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLmNoaWxkcygpW3RoaXMuX3Bsb3ROYW1lXS5jaGlsZHMoKSxsPW8ubG9jYXRpb24udmFsdWUoKSxoPXRoaXMuX2NhbGN1bGF0ZVZlcnRpY2FsT2Zmc2V0KGwsYSthLzIpO2kuYmFyU3BhY2luZz1uLGkuaXRlbXM9dGhpcy5faXRlbXMsaS5jb2xvcj0oMCxMLmdlbmVyYXRlQ29sb3IpKG8uY29sb3IudmFsdWUoKSxyKSxpLmhlaWdodD1hLGkudmVydE9mZnNldD1oLGkudmlzaWJsZUl0ZW1zUmFuZ2U9e3N0YXJ0SXRlbUluZGV4OmUsZW5kSXRlbUluZGV4OnR9O2NvbnN0IHU9by5wbG90dHlwZS52YWx1ZSgpLGM9VWUucGxvdFNoYXBlc0RhdGFbdV0sZD1uZXcgRmUuQ29tcG9zaXRlUmVuZGVyZXI7YyYmKHRoaXMuX3NoYXBlc1JlbmRlcmVyP3RoaXMuX3NoYXBlc1JlbmRlcmVyLnNldERhdGEoaSk6KHRoaXMuX3NoYXBlc1JlbmRlcmVyPXRoaXMuX2NyZWF0ZVJlbmRlcmVyKGMucGFuZVJlbmRlcmVyQ2xhc3MsaSksZC5hcHBlbmQodGhpcy5fc2hhcGVzUmVuZGVyZXIpKSksdGhpcy5faXNNYXJrZXJzRW5hYmxlZCYmbnVsbCE9PXRoaXMuX3NlbGVjdGlvbkRhdGEmJih0aGlzLl9zZWxlY3Rpb25EYXRhLnZlcnRPZmZzZXQ9aCxkLmFwcGVuZChuZXcgSGUuU2VsZWN0aW9uUmVuZGVyZXIodGhpcy5fc2VsZWN0aW9uRGF0YSkpKSx0aGlzLl9yZW5kZXJlcj1kfV9jcmVhdGVSZW5kZXJlcihlLHQpe2NvbnN0IHM9cnQuZ2V0KGUpO3JldHVybiBuZXcoKDAsaC5lbnN1cmVEZWZpbmVkKShzKSkodCl9X2dldFNlcmllc1ZhbChlLHQpe2NvbnN0IHM9KDAsR2UuYmFyRnVuY3Rpb24pKGUpLGk9dGhpcy5fc2VyaWVzLmRhdGEoKS52YWx1ZUF0KHQpO3JldHVybiBudWxsPT09aT9udWxsOnMoaSl9X2dldFRyYW5zcFZhbHVlKCl7bGV0IGU9MDtjb25zdCB0PXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKTt0LnRyYW5zcGFyZW5jeSYmKGU9dC50cmFuc3BhcmVuY3kudmFsdWUoKSxlPSgwLHUuaXNOdW1iZXIpKGUpP2U6NTApO2NvbnN0IHM9dC5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpO3JldHVybiBzLnRyYW5zcGFyZW5jeSYmKGU9cy50cmFuc3BhcmVuY3kudmFsdWUoKSxlPSgwLHUuaXNOdW1iZXIpKGUpP2U6NTApLCgwLHplLmNsYW1wKShlLDAsMTAwKX1fY3JlYXRlSXRlbShlLHQscyxpLHIpe2NvbnN0IG49dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCkubG9jYXRpb24udmFsdWUoKSxhPXtwcmljZTpOYU4sdGltZVBvaW50SW5kZXg6ZStyfTtpZigobnVsbD09PXR8fDA9PT10KSYmbiE9PWIuTWFya0xvY2F0aW9uLkFic29sdXRlKXJldHVybiBhO2lmKG51bGw9PXQpcmV0dXJuIGE7bGV0IG89TmFOO3N3aXRjaChuKXtjYXNlIGIuTWFya0xvY2F0aW9uLkFib3ZlQmFyOntjb25zdCB0PXRoaXMuX2dldExvY2F0aW9uUHJpY2UoZSxzLHIpO2lmKG51bGw9PT10KXJldHVybiBhO289dDticmVha31jYXNlIGIuTWFya0xvY2F0aW9uLkJlbG93QmFyOntjb25zdCB0PXRoaXMuX2dldExvY2F0aW9uUHJpY2UoZSxpLHIpO2lmKG51bGw9PT10KXJldHVybiBhO289dDticmVha31jYXNlIGIuTWFya0xvY2F0aW9uLkFic29sdXRlOm89KDAsaC5lbnN1cmVOb3ROdWxsKSh0KTticmVhaztjYXNlIGIuTWFya0xvY2F0aW9uLlRvcDpjYXNlIGIuTWFya0xvY2F0aW9uLkJvdHRvbTpvPTA7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIkJhZCB2YWx1ZTogIituKX1yZXR1cm57eTpOYU4scHJpY2U6byx0aW1lUG9pbnRJbmRleDplK3J9fV9kZXBlbmRzT25TZXJpZXNEYXRhKCl7Y29uc3QgZT10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLmNoaWxkcygpW3RoaXMuX3Bsb3ROYW1lXS5jaGlsZHMoKS5sb2NhdGlvbi52YWx1ZSgpO3JldHVybiBlPT09Yi5NYXJrTG9jYXRpb24uQWJvdmVCYXJ8fGU9PT1iLk1hcmtMb2NhdGlvbi5CZWxvd0Jhcn1fZ2V0VmFsdWVGb3JVcGRhdGluZyhlKXtjb25zdCB0PWUudmFsdWVbdGhpcy5fcGxvdEluZGV4KzFdO2lmKG51bGw9PXQpcmV0dXJuIG51bGwKO2NvbnN0IHM9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCkubG9jYXRpb24udmFsdWUoKTtpZigwPT09dCYmcyE9PWIuTWFya0xvY2F0aW9uLkFic29sdXRlKXJldHVybiBudWxsO2NvbnN0IGk9dGhpcy5fc3R1ZHkub2Zmc2V0KHRoaXMuX3Bsb3ROYW1lKSx7aGlQbG90OnIsbG9QbG90Om59PXRoaXMuX2hpTG9QbG90cygpO3N3aXRjaChzKXtjYXNlIGIuTWFya0xvY2F0aW9uLkFib3ZlQmFyOnJldHVybiB0aGlzLl9nZXRMb2NhdGlvblByaWNlKGUuaW5kZXgscixpKTtjYXNlIGIuTWFya0xvY2F0aW9uLkJlbG93QmFyOnJldHVybiB0aGlzLl9nZXRMb2NhdGlvblByaWNlKGUuaW5kZXgsbixpKX1yZXR1cm4gc3VwZXIuX2dldFZhbHVlRm9yVXBkYXRpbmcoZSl9X2NvbnZlcnRJdGVtc1RvQ29vcmRpbmF0ZXMoZSx0LHMsaSl7dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuZmlsbEJhckJvcmRlcnModGhpcy5faXRlbXMpO2NvbnN0IHI9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCkubG9jYXRpb24udmFsdWUoKSxuPWUuaGVpZ2h0KCkqZS50b3BNYXJnaW4oKSxhPWUuaGVpZ2h0KCkqKDEtZS5ib3R0b21NYXJnaW4oKSksbz1lLmlzSW52ZXJ0ZWQoKSxsPW8/YTpuLGg9bz9uOmEsdT1lPT57Zm9yKGxldCB0PXM7dDxpO3QrKylpc05hTih0aGlzLl9pdGVtc1t0XS5wcmljZSl8fCh0aGlzLl9pdGVtc1t0XS55PWUpfTtzd2l0Y2gocil7Y2FzZSBiLk1hcmtMb2NhdGlvbi5Ub3A6dShsKTticmVhaztjYXNlIGIuTWFya0xvY2F0aW9uLkJvdHRvbTp1KGgpO2JyZWFrO2RlZmF1bHQ6ZS5maWxsWUNvb3JkaW5hdGVzKHRoaXMuX2l0ZW1zLHQse3N0YXJ0SXRlbUluZGV4OnMsZW5kSXRlbUluZGV4Oml9KX19X2NhbGN1bGF0ZVZlcnRpY2FsT2Zmc2V0KGUsdCl7bGV0IHM9MDtzd2l0Y2goZSl7Y2FzZSBiLk1hcmtMb2NhdGlvbi5BYm92ZUJhcjpjYXNlIGIuTWFya0xvY2F0aW9uLkJvdHRvbTpzPS10O2JyZWFrO2Nhc2UgYi5NYXJrTG9jYXRpb24uQmVsb3dCYXI6Y2FzZSBiLk1hcmtMb2NhdGlvbi5Ub3A6cz10fXJldHVybigwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fcHJpY2VTY2FsZSgpKS5pc0ludmVydGVkKCkmJihzKj0tMSksc31fY2FsY3VsYXRlU2hhcGVIZWlnaHQoZSx0KXtsZXQgcz1lO3N3aXRjaCh0KXtjYXNlIFdlLlBsb3RTeW1ib2xTaXplLlRpbnk6cz0uMyplO2JyZWFrO2Nhc2UgV2UuUGxvdFN5bWJvbFNpemUuU21hbGw6cz0uNiplO2JyZWFrO2Nhc2UgV2UuUGxvdFN5bWJvbFNpemUuTm9ybWFsOnM9ZTticmVhaztjYXNlIFdlLlBsb3RTeW1ib2xTaXplLkxhcmdlOnM9MS41KmU7YnJlYWs7Y2FzZSBXZS5QbG90U3ltYm9sU2l6ZS5IdWdlOnM9MiplfXJldHVybiJudW1iZXIiPT10eXBlb2YgdCYmdD4wJiYocz10KSxzfV9oaUxvUGxvdHMoKXtsZXQgZSx0O2xldCBzPW51bGw7c3dpdGNoKHRoaXMuX3Nlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGUudmFsdWUoKSl7Y2FzZSAyOnM9ImxpbmVTdHlsZSI7YnJlYWs7Y2FzZSAxNDpzPSJsaW5lV2l0aE1hcmtlcnNTdHlsZSI7YnJlYWs7Y2FzZSAxNTpzPSJzdGVwbGluZVN0eWxlIjticmVhaztjYXNlIDM6cz0iYXJlYVN0eWxlIn1yZXR1cm4gcz8oZT10aGlzLl9zZXJpZXMucHJvcGVydGllcygpLmNoaWxkcygpW3NdLmNoaWxkcygpLnByaWNlU291cmNlLnZhbHVlKCksdD1lKTooZT0iaGlnaCIsdD0ibG93Iikse2hpUGxvdDplLGxvUGxvdDp0fX1fZ2V0TG9jYXRpb25QcmljZShlLHQscyl7Y29uc3QgaT1NYXRoLm1pbihlK3MsKDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXJpZXMuZGF0YSgpLmxhc3QoKSkuaW5kZXgpO3JldHVybiB0aGlzLl9nZXRTZXJpZXNWYWwodCxpKX19Y2xhc3MgYXQgZXh0ZW5kcyBudHtfdXBkYXRlUmVuZGVyZXIoZSx0KXtjb25zdCBzPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLGk9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkscj17fSxuPXRoaXMuX2dldFRyYW5zcFZhbHVlKCksYT1pLmJhclNwYWNpbmcoKTtsZXQgbztvPXRoaXMuX3Bsb3RTdHlsZUluZm8uc2l6ZT90aGlzLl9jYWxjdWxhdGVTaGFwZUhlaWdodCgyNSx0aGlzLl9wbG90U3R5bGVJbmZvLnNpemUpOk1hdGgucm91bmQoYS8yKSxvPU1hdGgubWF4KG8sMSk7Y29uc3QgbD1zLmxvY2F0aW9uLnZhbHVlKCksaD0oMCxMLmdlbmVyYXRlQ29sb3IpKHMuY29sb3IudmFsdWUoKSxuKSx1PW4+MTk/bi0xMDowLGM9dGhpcy5fY2FsY3VsYXRlVmVydGljYWxPZmZzZXQobCxNYXRoLnJvdW5kKDEuNSpvKSk7ci5iYXJTcGFjaW5nPWEsci5pdGVtcz10aGlzLml0ZW1zKCksci5jb2xvcj1oLHIuYm9yZGVyQ29sb3I9KDAsTC5nZW5lcmF0ZUNvbG9yKShzLmNvbG9yLnZhbHVlKCksdSksci5oZWlnaHQ9byxyLnZlcnRPZmZzZXQ9YyxyLnZpc2libGVJdGVtc1JhbmdlPXtzdGFydEl0ZW1JbmRleDplLGVuZEl0ZW1JbmRleDp0fTtjb25zdCBkPXMucGxvdHR5cGUudmFsdWUoKSxwPVVlLnBsb3RTaGFwZXNEYXRhW2RdLF89dGhpcy5fcGxvdFN0eWxlSW5mby50ZXh0O2lmKHZvaWQgMCE9PV8mJiIiIT09Xy50cmltKCkpe2xldCBlPV8ucmVwbGFjZSgvXFxuL2dtLCJcbiIpO2U9KDAsTGUuY2xlYW5CdXRBbXBlcnNhbmQpKGUsITApLHIudGV4dD1lLHIuZm9udFNpemU9MTI7Y29uc3QgdD1zLnRleHRDb2xvcj9zLnRleHRDb2xvci52YWx1ZSgpOnZvaWQgMDtyLnRleHRDb2xvcj10PygwLEwuZ2VuZXJhdGVDb2xvcikodCxuKTpofWlmKHRoaXMuX3JlbmRlcmVyJiZ0aGlzLl9zaGFwZXNSZW5kZXJlciYmdGhpcy5fc2VsZWN0aW9uUmVuZGVyZXIpdGhpcy5fc2hhcGVzUmVuZGVyZXIuc2V0RGF0YShyKSwKdGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zdHVkeSkmJnRoaXMuX2lzTWFya2Vyc0VuYWJsZWQmJm51bGwhPT10aGlzLl9zZWxlY3Rpb25EYXRhPyh0aGlzLl9zZWxlY3Rpb25EYXRhLnZlcnRPZmZzZXQ9Yyx0aGlzLl9zZWxlY3Rpb25SZW5kZXJlci5zZXREYXRhKHRoaXMuX3NlbGVjdGlvbkRhdGEpKTp0aGlzLl9zZWxlY3Rpb25SZW5kZXJlci5zZXREYXRhKG51bGwpO2Vsc2V7Y29uc3QgZT1uZXcgRmUuQ29tcG9zaXRlUmVuZGVyZXI7dGhpcy5fc2hhcGVzUmVuZGVyZXI9c3VwZXIuX2NyZWF0ZVJlbmRlcmVyKHAucGFuZVJlbmRlcmVyQ2xhc3MsciksZS5hcHBlbmQodGhpcy5fc2hhcGVzUmVuZGVyZXIpLHRoaXMuX3NlbGVjdGlvblJlbmRlcmVyPW5ldyBIZS5TZWxlY3Rpb25SZW5kZXJlcih0aGlzLl9zZWxlY3Rpb25EYXRhPz92b2lkIDApLHRoaXMuX2lzTWFya2Vyc0VuYWJsZWQmJm51bGwhPT10aGlzLl9zZWxlY3Rpb25EYXRhP3RoaXMuX3NlbGVjdGlvbkRhdGEudmVydE9mZnNldD1jOnRoaXMuX3NlbGVjdGlvblJlbmRlcmVyLnNldERhdGEobnVsbCksZS5hcHBlbmQodGhpcy5fc2VsZWN0aW9uUmVuZGVyZXIpLHRoaXMuX3JlbmRlcmVyPWV9fX12YXIgb3QsbHQ9cyg5NTM2NjApLGh0PXMubihsdCksdXQ9cyg3MzY1MzEpLGN0PXMoNTkwODk0KSxkdD1zKDg3NDEzNSkscHQ9cyg3NjMpLF90PXMoNjA0MjE0KSxmdD1zKDgyMjcyNiksbXQ9cyg5MjYxNDkpLHl0PXMoMTUxMjEpOyFmdW5jdGlvbihlKXtlW2UuU2ltcGxpZmllZFBhaW50aW5nTWF4Rm9udFNpemU9NF09IlNpbXBsaWZpZWRQYWludGluZ01heEZvbnRTaXplIn0ob3R8fChvdD17fSkpO2NsYXNzIGd0IGV4dGVuZHMgZHQuUGFuZVJlbmRlcmVyQWJzdHJhY3RTaGFwZXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKG51bGwsdCksdGhpcy5fdGV4dFdpZHRoQ2FjaGU9bmV3IGZ0LlRleHRXaWR0aENhY2hlLHRoaXMuX2ZvbnRTaXplRW5zdXJlZD0wLHRoaXMuX2N1c3RvbUZvbnRGYW1pbHk9dm9pZCAwLHRoaXMuX2NoPSIiLG51bGwhPT1lJiZ0aGlzLnNldERhdGEoZSl9c2V0RGF0YShlKXtzdXBlci5zZXREYXRhKGUpLHRoaXMuX2ZvbnRTaXplRW5zdXJlZD0oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX2hlaWdodCksdGhpcy5fY3VzdG9tRm9udEZhbWlseT1lLmZvbnRGYW1pbHk7Y29uc3QgdD1lLmNoYXIuc2xpY2UoMCw0MCk7dGhpcy5fY2g9aHQoKSh0KVswXXx8IiAifWhpdFRlc3QoZSl7Y29uc3QgdD0oMCxfdC5pbnRlcmFjdGlvblRvbGVyYW5jZSkoKS5zZXJpZXMrdGhpcy5fZm9udFNpemVFbnN1cmVkLzI7Zm9yKGNvbnN0IHMgb2YgdGhpcy5faXRlbXMpe2lmKG5ldyB1dC5Qb2ludChzLmNlbnRlcixzLnkrcy52ZXJ0T2Zmc2V0KS5zdWJ0cmFjdChlKS5sZW5ndGgoKTw9dClyZXR1cm4gbmV3IHB0LkhpdFRlc3RSZXN1bHQocHQuSGl0VGFyZ2V0LlJlZ3VsYXIpfXJldHVybiBudWxsfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3Qgcz10LmNlbnRlcixpPXQudmVydE9mZnNldD4wPzE6LTEscj1NYXRoLnRydW5jKHRoaXMuX2ZvbnRTaXplRW5zdXJlZC82KSxuPXQueSt0LnZlcnRPZmZzZXQtaSpNYXRoLnJvdW5kKHRoaXMuX2ZvbnRTaXplRW5zdXJlZC8yKSsoaT4wP3I6LXRoaXMuX2ZvbnRTaXplRW5zdXJlZCk7bGV0IGE7YT10LnN0eWxlJiZ2b2lkIDAhPT10LnN0eWxlLmNvbG9yP3Quc3R5bGUuY29sb3I6dGhpcy5fY29sb3I7Y29uc3R7Y29udGV4dDpvLGhvcml6b250YWxQaXhlbFJhdGlvOmwsdmVydGljYWxQaXhlbFJhdGlvOmh9PWUsdT0oMCxjdC5tYWtlRm9udCkodGhpcy5fZm9udFNpemVFbnN1cmVkLHRoaXMuX2N1c3RvbUZvbnRGYW1pbHl8fG10LkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpO28uZm9udCE9PXUmJihvLmZvbnQ9dSk7Y29uc3QgYz10aGlzLl90ZXh0V2lkdGhDYWNoZS5tZWFzdXJlVGV4dChvLHRoaXMuX2NoKTtpZih0aGlzLl9mb250U2l6ZUVuc3VyZWQ8PTQvbCl7by5zYXZlKCk7Y29uc3QgZT1NYXRoLm1heCgxLE1hdGguZmxvb3IobCkpO2xldCBpPU1hdGgubWF4KDEsTWF0aC5mbG9vcihjKmwpKTtpJTIhPWUlMiYmKGkrPWk+MT8tMToxKTtjb25zdCByPU1hdGgucm91bmQobipoKSsodC52ZXJ0T2Zmc2V0Pj0wPzA6LWkpO3JldHVybiBvLmZpbGxTdHlsZT1hLG8uZmlsbFJlY3QoTWF0aC5yb3VuZChzKmwpKyhsJTI/LjU6MCktaS8yLHIsaSxpKSx2b2lkIG8ucmVzdG9yZSgpfSgwLHl0LmRyYXdTY2FsZWQpKG8sbCxoLCgoKT0+e28uZmlsbFN0eWxlPWEsby50ZXh0QWxpZ249ImNlbnRlciIsby50ZXh0QmFzZWxpbmU9InRvcCIsby5maWxsVGV4dCh0aGlzLl9jaCxzLG4pfSkpfV9zdGFydFBhdGgoZSx0LHMpe31fZW5kUGF0aChlKXt9fWNsYXNzIFN0IGV4dGVuZHMgbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2NoYXJSZW5kZXJlcj1uZXcgZ3QobnVsbCl9X3VwZGF0ZVJlbmRlcmVyKGUsdCl7Y29uc3Qgcz10aGlzLl9nZXRUcmFuc3BWYWx1ZSgpLGk9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpO2xldCByO2NvbnN0IG49dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCk7cj10aGlzLl9wbG90U3R5bGVJbmZvLnNpemU/dGhpcy5fY2FsY3VsYXRlU2hhcGVIZWlnaHQoNTAsdGhpcy5fcGxvdFN0eWxlSW5mby5zaXplKTpNYXRoLnJvdW5kKGkpO2NvbnN0IGE9bi5sb2NhdGlvbi52YWx1ZSgpLG89KDAsTC5nZW5lcmF0ZUNvbG9yKShuLmNvbG9yLnZhbHVlKCkscyksbD10aGlzLl9jYWxjdWxhdGVWZXJ0aWNhbE9mZnNldChhLHIpLHU9e2l0ZW1zOnRoaXMuaXRlbXMoKSxiYXJTcGFjaW5nOmksY2hhcjooMCxoLmVuc3VyZURlZmluZWQpKG4uY2hhcj8udmFsdWUoKT8/dGhpcy5fcGxvdFN0eWxlSW5mby5jaGFyKSxoZWlnaHQ6cix2ZXJ0T2Zmc2V0OmwsY29sb3I6byx2aXNpYmxlSXRlbXNSYW5nZTp7c3RhcnRJdGVtSW5kZXg6ZSxlbmRJdGVtSW5kZXg6dH19LGM9dGhpcy5fcGxvdFN0eWxlSW5mby50ZXh0CjtpZih2b2lkIDAhPT1jJiYiIiE9PWMudHJpbSgpKXtsZXQgZT1jLnJlcGxhY2UoL1xcbi9nbSwiXG4iKTtlPSgwLExlLmNsZWFuQnV0QW1wZXJzYW5kKShlLCEwKSx1LnRleHQ9ZSx1LmZvbnRTaXplPTEyO2NvbnN0IHQ9bi50ZXh0Q29sb3I/bi50ZXh0Q29sb3IudmFsdWUoKTp2b2lkIDA7dS50ZXh0Q29sb3I9dD8oMCxMLmdlbmVyYXRlQ29sb3IpKHQscyk6b310aGlzLl9jaGFyUmVuZGVyZXIuc2V0RGF0YSh1KTtjb25zdCBkPW5ldyBGZS5Db21wb3NpdGVSZW5kZXJlcjtkLmFwcGVuZCh0aGlzLl9jaGFyUmVuZGVyZXIpLHRoaXMuX2lzTWFya2Vyc0VuYWJsZWQmJm51bGwhPT10aGlzLl9zZWxlY3Rpb25EYXRhJiYodGhpcy5fc2VsZWN0aW9uRGF0YS52ZXJ0T2Zmc2V0PWwsZC5hcHBlbmQobmV3IEhlLlNlbGVjdGlvblJlbmRlcmVyKHRoaXMuX3NlbGVjdGlvbkRhdGEpKSksdGhpcy5fcmVuZGVyZXI9ZH19dmFyIGJ0PXMoMTM0NjcpO2NsYXNzIHZ0e2NvbnN0cnVjdG9yKGUsdCxzLGkpe3RoaXMubGVmdD1OYU4sdGhpcy5jZW50ZXI9TmFOLHRoaXMucmlnaHQ9TmFOLHRoaXMueT1OYU4sdGhpcy5oZWlnaHQ9TmFOLHRoaXMudGltZVBvaW50SW5kZXg9ZSx0aGlzLnByaWNlPXQsdGhpcy5vcmlnSGVpZ2h0PXMsdGhpcy5pc1VwPWksdGhpcy5zdHlsZT17fX19ZnVuY3Rpb24gUHQoZSl7cmV0dXJuIE1hdGgucm91bmQoZS80KX1mdW5jdGlvbiBJdChlKXtyZXR1cm4gTWF0aC5yb3VuZChlLzIpfWNsYXNzIHd0IGV4dGVuZHMgT2UuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9kYXRhPWV9aGl0VGVzdChlKXtjb25zdCB0PXRoaXMuX2RhdGEscz1JdCh0LmJhclNwYWNpbmcpLGk9TWF0aC5yb3VuZChzLzIpLHI9TWF0aC5yb3VuZChzKSxuPVB0KHQuYmFyU3BhY2luZyksYT10LnZpc2libGVJdGVtc1JhbmdlPy5zdGFydEl0ZW1JbmRleD8/MCxvPXQudmlzaWJsZUl0ZW1zUmFuZ2U/LmVuZEl0ZW1JbmRleD8/dC5pdGVtcy5sZW5ndGg7aWYoYT49bylyZXR1cm4gbnVsbDtmb3IoY29uc3QgcyBvZiB0Lml0ZW1zLnNsaWNlKGEsbykpe2lmKCFzKWNvbnRpbnVlO2lmKCFOdW1iZXIuaXNGaW5pdGUocy5jZW50ZXIpfHwhTnVtYmVyLmlzRmluaXRlKHMueSkpY29udGludWU7Y29uc3QgdD1NYXRoLmFicyhzLmhlaWdodCksYT1zLmlzVXA/LTE6MSxvPXQrcixsPXMueS1hKm4saD1sLWEqbyx1PXMuY2VudGVyLWksYz1zLmNlbnRlcitpO2lmKHU8ZS54JiZlLng8YyYmKHMuaXNVcD9sPGUueSYmZS55PGg6aDxlLnkmJmUueTxsKSlyZXR1cm4gbmV3IHB0LkhpdFRlc3RSZXN1bHQocHQuSGl0VGFyZ2V0LlJlZ3VsYXIpfXJldHVybiBudWxsfV9kcmF3SW1wbChlKXtjb25zdHtob3Jpem9udGFsUGl4ZWxSYXRpbzp0LHZlcnRpY2FsUGl4ZWxSYXRpbzpzLGNvbnRleHQ6aX09ZSxyPXRoaXMuX2RhdGEsbj1JdChyLmJhclNwYWNpbmcpLGE9UHQoci5iYXJTcGFjaW5nKSxvPW48NCxsPU1hdGgubWF4KG4vMiwxKSxoPSgwLHplLmNlaWxlZEV2ZW4pKG4qdCksdT1oLzIsYz1NYXRoLnJvdW5kKG4qcyk7aS5saW5lQ2FwPSJidXR0IixpLmxpbmVXaWR0aD1NYXRoLm1heCgxLE1hdGguZmxvb3IodCkpO2NvbnN0IGQ9aS5saW5lV2lkdGglMj8uNTowLHA9ci52aXNpYmxlSXRlbXNSYW5nZT8uc3RhcnRJdGVtSW5kZXg/PzAsXz1yLnZpc2libGVJdGVtc1JhbmdlPy5lbmRJdGVtSW5kZXg/P3IuaXRlbXMubGVuZ3RoO2lmKCEocD49XykpZm9yKGNvbnN0IGUgb2Ygci5pdGVtcy5zbGljZShwLF8pKXtpZighTnVtYmVyLmlzRmluaXRlKGUuY2VudGVyKXx8IU51bWJlci5pc0Zpbml0ZShlLnkpKWNvbnRpbnVlO2NvbnN0IG49ZS5pc1VwPy0xOjEscD1NYXRoLnJvdW5kKE1hdGguYWJzKGUuaGVpZ2h0KSpzKSxfPU1hdGgucm91bmQoZS5jZW50ZXIqdCkrZCxmPU1hdGgucm91bmQoKGUueS1uKmEpKnMpK2Q7aS5iZWdpblBhdGgoKSxpLnRyYW5zbGF0ZShfLGYpO2NvbnN0IG09KGUuc3R5bGUmJmUuc3R5bGUuY29sb3IpPz8oZS5pc1VwP3IuY29sb3J1cDpyLmNvbG9yZG93bik7bz8oaS5tb3ZlVG8oMCwwKSxpLmxpbmVUbygtdSwtdSpuKSxpLm1vdmVUbygwLDApLGkubGluZVRvKHUsLXUqbiksaS5tb3ZlVG8oMCwwKSxpLmxpbmVUbygwLC1wKm4pLGkubW92ZVRvKC11LC1wKm4pLGkubGluZVRvKHUsLXAqbiksaS5saW5lV2lkdGg9bCxpLnN0cm9rZVN0eWxlPW0saS5zdHJva2UoKSk6KGkubW92ZVRvKDAsMCkscDxjPyhpLmxpbmVUbyhoLC1wKm4pLGkubGluZVRvKC1oLC1wKm4pKTooaS5saW5lVG8oaCwtYypuKSxpLmxpbmVUbyh1LC1jKm4pLGkubGluZVRvKHUsLXAqbiksaS5saW5lVG8oLXUsLXAqbiksaS5saW5lVG8oLXUsLWMqbiksaS5saW5lVG8oLWgsLWMqbikpLGkubGluZVRvKDAsMCksaS5zdHJva2VTdHlsZT1lLmlzVXA/ci5jb2xvckJvcmRlclVwOnIuY29sb3JCb3JkZXJEb3duLGkuc3Ryb2tlKCksaS5maWxsU3R5bGU9bSxpLmZpbGwoKSksaS50cmFuc2xhdGUoLV8sLWYpfX19Y2xhc3MgQ3QgZXh0ZW5kcyBudHtfdXBkYXRlUmVuZGVyZXIoZSx0KXtjb25zdCBzPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLGk9KDAsemUuY2xhbXApKHRoaXMuX2dldFRyYW5zcFZhbHVlKCksMCwxMDApLHI9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpLG49KDAsTC5nZW5lcmF0ZUNvbG9yKShzLmNvbG9ydXAudmFsdWUoKSxpKSxhPSgwLEwuZ2VuZXJhdGVDb2xvcikocy5jb2xvcmRvd24udmFsdWUoKSxpKSxvPSgwLGJ0LnBhcnNlUmdiYSkobiksbD1vPzEwMCooMS1vWzNdKTowLGg9KDAsYnQucGFyc2VSZ2JhKShhKSx1PWg/MTAwKigxLWhbM10pOjAsYz17aXRlbXM6dGhpcy5faXRlbXMsYmFyU3BhY2luZzpyLGNvbG9ydXA6bixjb2xvcmRvd246YSxjb2xvckJvcmRlclVwOigwLEwuZ2VuZXJhdGVDb2xvcikoIiMwMDAwMDAiLGwpLGNvbG9yQm9yZGVyRG93bjooMCxMLmdlbmVyYXRlQ29sb3IpKCIjMDAwMDAwIix1KSxtaW5IZWlnaHQ6dGhpcy5fcGxvdFN0eWxlSW5mby5taW5IZWlnaHQsCnZpc2libGVJdGVtc1JhbmdlOntzdGFydEl0ZW1JbmRleDplLGVuZEl0ZW1JbmRleDp0fX07dGhpcy5fdXBkYXRlSXRlbXNIZWlnaHRzKGMpO2NvbnN0IGQ9bmV3IEZlLkNvbXBvc2l0ZVJlbmRlcmVyO2QuYXBwZW5kKG5ldyB3dChjKSksdGhpcy5faXNNYXJrZXJzRW5hYmxlZCYmbnVsbCE9PXRoaXMuX3NlbGVjdGlvbkRhdGEmJmQuYXBwZW5kKG5ldyBIZS5TZWxlY3Rpb25SZW5kZXJlcih7Li4udGhpcy5fc2VsZWN0aW9uRGF0YSxiYXJTcGFjaW5nOnIsd2l0aE91dGxpbmU6ITF9KSksdGhpcy5fcmVuZGVyZXI9ZH1fZmlsbEl0ZW1XaXRoUG9pbnRTdHlsZShlLHQscyl7Y29uc3QgaT0oMCxoLmVuc3VyZURlZmluZWQpKGUuc3R5bGUpO2UuaXNVcD92b2lkIDAhPT10LmNvbG9yc1s1XT9pLmNvbG9yPSgwLEwuZ2VuZXJhdGVDb2xvcikoKDAsaC5lbnN1cmVEZWZpbmVkKSh0LmNvbG9yc1s1XSkscyk6aS5jb2xvcj0oMCxMLmdlbmVyYXRlQ29sb3IpKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLmNvbG9ydXAudmFsdWUoKSxzKTp2b2lkIDAhPT10LmNvbG9yc1s2XT9pLmNvbG9yPSgwLEwuZ2VuZXJhdGVDb2xvcikoKDAsaC5lbnN1cmVEZWZpbmVkKSh0LmNvbG9yc1s2XSkscyk6aS5jb2xvcj0oMCxMLmdlbmVyYXRlQ29sb3IpKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLmNvbG9yZG93bi52YWx1ZSgpLHMpfV9nZXRWYWx1ZUZvclVwZGF0aW5nKGUpe2NvbnN0IHQ9ZS52YWx1ZVt0aGlzLl9wbG90SW5kZXgrMV07aWYoIXQpcmV0dXJuIG51bGw7Y29uc3Qgcz1lLmluZGV4LGk9dD4wLHtoaVBsb3Q6cixsb1Bsb3Q6bn09dGhpcy5faGlMb1Bsb3RzKCksYT10aGlzLl9zdHVkeS5vZmZzZXQodGhpcy5fcGxvdE5hbWUpLG89TWF0aC5taW4ocythLCgwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fc2VyaWVzLmRhdGEoKS5sYXN0KCkpLmluZGV4KTtpZihpKXtjb25zdCBlPXRoaXMuX2dldFNlcmllc1ZhbChuLG8pO2lmKG51bGwhPT1lKXJldHVybiBlfWVsc2V7Y29uc3QgZT10aGlzLl9nZXRTZXJpZXNWYWwocixvKTtpZihudWxsIT09ZSlyZXR1cm4gZX1yZXR1cm4gbnVsbH1fdXBkYXRlSXRlbShlLHQpe2NvbnN0IHM9dGhpcy5fZ2V0VmFsdWVGb3JVcGRhdGluZyhlKSxpPWUudmFsdWVbdGhpcy5fcGxvdEluZGV4KzFdPjA7cmV0dXJuIHRoaXMuX2l0ZW1zW3RdLnByaWNlPXM/P05hTix0aGlzLl9pdGVtc1t0XS5pc1VwPWksdCsxfV9jcmVhdGVJdGVtKGUsdCxzLGkscil7Y29uc3Qgbj17Y2VudGVyOk5hTixvcmlnSGVpZ2h0Ok5hTix0aW1lUG9pbnRJbmRleDplK3IsaXNVcDohMCxoZWlnaHQ6TmFOLHByaWNlOk5hTixsZWZ0Ok5hTixyaWdodDpOYU4seTpOYU59O2lmKCF0KXJldHVybiBuO2NvbnN0IGE9TWF0aC5taW4oZStyLCgwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fc2VyaWVzLmRhdGEoKS5sYXN0KCkpLmluZGV4KSxvPXQ+MDtsZXQgbDtpZihvKXtjb25zdCBlPXRoaXMuX2dldFNlcmllc1ZhbChpLGEpO2lmKG51bGw9PT1lKXJldHVybiBuO2w9ZX1lbHNle2NvbnN0IGU9dGhpcy5fZ2V0U2VyaWVzVmFsKHMsYSk7aWYobnVsbD09PWUpcmV0dXJuIG47bD1lfXJldHVybiBuZXcgdnQoZStyLGwsdCxvKX1fZGVwZW5kc09uU2VyaWVzRGF0YSgpe3JldHVybiEwfV9jb252ZXJ0SXRlbXNUb0Nvb3JkaW5hdGVzKGUsdCxzLGkpe3RoaXMuX2NvbnZlcnRJdGVtc1RvQ29vcmRpbmF0ZXNJbXBsKGUsdCxzLGkpfV9jcmVhdGVTZWxlY3Rpb25EYXRhUG9pbnQoZSx0LHMsaSl7Y29uc3Qgcj10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCksbj1QdChyKSxhPWZ1bmN0aW9uKGUpe3JldHVybiBJdChlKX0ociksbz1zdXBlci5fY3JlYXRlU2VsZWN0aW9uRGF0YVBvaW50KGUsdCxzLGkpLGw9dGhpcy5faXRlbXNbKDAscC5sb3dlcmJvdW5kKSh0aGlzLl9pdGVtcyx0LCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSldO2lmKCFsKXJldHVybiBvO2NvbnN0IGg9bC5pc1VwPzE6LTE7cmV0dXJuey4uLm8scG9pbnQ6by5wb2ludC5hZGQoKDAsdXQucG9pbnQpKDAsaCoobithKSkpfX1fdXBkYXRlSXRlbXNIZWlnaHRzKGUpe2NvbnN0IHQ9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKTtsZXQgcz1NYXRoLmFicygoMCxoLmVuc3VyZURlZmluZWQpKHRbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLm1pbkhlaWdodD8udmFsdWUoKT8/dGhpcy5fcGxvdFN0eWxlSW5mby5taW5IZWlnaHQpKSxpPU1hdGguYWJzKCgwLGguZW5zdXJlRGVmaW5lZCkodFt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCkubWF4SGVpZ2h0Py52YWx1ZSgpPz90aGlzLl9wbG90U3R5bGVJbmZvLm1heEhlaWdodCkpO2lmKHM+aSl7Y29uc3QgZT1zO3M9aSxpPWV9Y29uc3Qgcj10aGlzLl9pdGVtcyxuPWUudmlzaWJsZUl0ZW1zUmFuZ2U/LnN0YXJ0SXRlbUluZGV4Pz8wLGE9KGUudmlzaWJsZUl0ZW1zUmFuZ2U/LmVuZEl0ZW1JbmRleD8/ci5sZW5ndGgpLTE7bGV0IG89MDtmb3IobGV0IGU9bjtlPD1hO2UrKyl7Y29uc3QgdD1yW2VdLHM9TWF0aC5hYnModC5vcmlnSGVpZ2h0KTtzPm8mJihvPXMpfWNvbnN0IGw9KGktcykvbztmb3IobGV0IGU9bjtlPD1hO2UrKyl7Y29uc3QgdD1yW2VdLGk9TWF0aC5hYnModC5vcmlnSGVpZ2h0KTt0LmhlaWdodD1pKmwrc319fXZhciBWdD1zKDM0ODUxOCkseHQ9cyg1NDQ4NjQpO2NsYXNzIEF0IGV4dGVuZHMgQmUuU3R1ZHlGb3JjZU92ZXJsYXlQbG90Vmlld3tjb25zdHJ1Y3RvcihlLHQscyxpKXtzdXBlcih0LHMsaSksdGhpcy5fYmFycz1bXSx0aGlzLl9pbnZhbGlkYXRlZD0hMSx0aGlzLl9pc01hcmtlcnNFbmFibGVkPSgwLEkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIpLHRoaXMuX3NlbGVjdGlvbkRhdGE9bnVsbCx0aGlzLl9vaGxjUGxvdEluZGV4ZXM9bmV3IE1hcCx0aGlzLl9zdHVkeT1lLHRoaXMuX2NvbG9yUHJvdmlkZXI9KDAsCmtlLmNyZWF0ZVN0dWR5UGxvdENvbG9yUHJvdmlkZXIpKGUubWV0YUluZm8oKSxlLnByb3BlcnRpZXMoKSxpKSx0aGlzLl9zZWxlY3Rpb25JbmRleGVyPW5ldyAkZS5TZWxlY3Rpb25JbmRleGVzKHMudGltZVNjYWxlKCkpO2NvbnN0IHI9dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5wbG90cztmb3IobGV0IGU9MDtlPHIubGVuZ3RoO2UrKyl7Y29uc3QgdD1yW2VdOyJ0YXJnZXQiaW4gdCYmKHQudGFyZ2V0PT09dGhpcy5fcGxvdE5hbWUmJigoMCxaLmlzT2hsY09wZW5QbG90KSh0KSYmdGhpcy5fb2hsY1Bsb3RJbmRleGVzLnNldCgxLGUpLCgwLFouaXNPaGxjSGlnaFBsb3QpKHQpJiZ0aGlzLl9vaGxjUGxvdEluZGV4ZXMuc2V0KDIsZSksKDAsWi5pc09obGNMb3dQbG90KSh0KSYmdGhpcy5fb2hsY1Bsb3RJbmRleGVzLnNldCgzLGUpLCgwLFouaXNPaGxjQ2xvc2VQbG90KSh0KSYmdGhpcy5fb2hsY1Bsb3RJbmRleGVzLnNldCg0LGUpKSl9fXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1pdGVtcygpe3JldHVybiB0aGlzLl9iYXJzfWlzUGxvdEhpZ2hsaWdodGVkKCl7aWYoIXRoaXMuX3N0dWR5Lmhhc0hpZ2hsaWdodGVkUGxvdHMoKSlyZXR1cm4hMTtjb25zdCBlPXRoaXMuX3N0dWR5Lm1ldGFJbmZvKCkucGxvdHMuZmlsdGVyKChlPT4idGFyZ2V0ImluIGUmJmUudGFyZ2V0PT09dGhpcy5fcGxvdE5hbWUpKTtyZXR1cm4gQm9vbGVhbihlLmZpbmQoKGU9PigwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuaGlnaGxpZ2h0ZWRQbG90SW5mbygpKS5wbG90SWQ9PT1lLmlkKSkpfV91cGRhdGVJbXBsKCl7dGhpcy5fYmFycy5sZW5ndGg9MDtjb25zdCBlPXRoaXMuX3ByaWNlU2NhbGUoKSx0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpO2lmKHQuaXNFbXB0eSgpfHxudWxsPT09ZXx8ZS5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IHM9dC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PXMpcmV0dXJuO2xldCBpPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgocy5maXJzdEJhcigpLFMuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0KTtjb25zdCByPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgocy5sYXN0QmFyKCksUy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCk7aWYodm9pZCAwPT09aXx8dm9pZCAwPT09cilyZXR1cm47Y29uc3Qgbj10aGlzLl9zdHVkeS5nZXRNaW5GaXJzdEJhckluZGV4Rm9yUGxvdCh0aGlzLl9wbG90TmFtZSk7aWYobj5yKXJldHVybjtpPU1hdGgubWF4KG4saSk7Y29uc3QgYT10aGlzLl9zdHVkeS5kYXRhKCksbz10aGlzLl9zdHVkeS5maXJzdFZhbHVlKHZvaWQgMCx0aGlzLmlzRm9yY2VPdmVybGF5KCkpO2lmKG51bGw9PT1vKXJldHVybjtjb25zdCBsPWEucmFuZ2VJdGVyYXRvcihpLHIpLHU9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkub2hsY1Bsb3RzKS5jaGlsZHMoKVt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCksYz1uZXcgTWFwLGQ9KGUsdCk9Pntjb25zdCBzPWUrIkAiK3Q7aWYoIWMuaGFzKHMpKXtjb25zdCBpPSgwLEwuZ2VuZXJhdGVDb2xvcikoZSx0KTtyZXR1cm4gYy5zZXQocyxpKSxpfXJldHVybiBjLmdldChzKX0scD0oMCxLZS5jcmVhdGVFbXB0eVN0eWxlKSgpO2Zvcihjb25zdCBlIG9mIGwpe2xldCB0PWUuaW5kZXg7Y29uc3Qgcz1lLnZhbHVlO3Q9TWF0aC5mbG9vcih0KTtsZXQgaT0hMDtjb25zdCByPW5ldyBNYXA7Zm9yKGxldCBlPTE7ZTw9NDsrK2Upe2NvbnN0IHQ9dGhpcy5fb2hsY1Bsb3RJbmRleGVzLmdldChlKTtpZih2b2lkIDA9PT10KXtpPSExO2JyZWFrfWNvbnN0IG49c1t0KzFdO2lmKG51bGw9PW4pe2k9ITE7YnJlYWt9ci5zZXQoZSxuKX1pZighaSljb250aW51ZTtjb25zdCBuPSgwLGguZW5zdXJlRGVmaW5lZCkoci5nZXQoMSkpLGE9KDAsaC5lbnN1cmVEZWZpbmVkKShyLmdldCg0KSksbz0oMCxoLmVuc3VyZURlZmluZWQpKHIuZ2V0KDIpKSxsPSgwLGguZW5zdXJlRGVmaW5lZCkoci5nZXQoMykpLGM9TWF0aC5tYXgobixvLGwsYSksXz1NYXRoLm1pbihuLG8sbCxhKTtsZXQgZj0oMCxoLmVuc3VyZURlZmluZWQpKGQodS5jb2xvci52YWx1ZSgpLDApKTtjb25zdCBtPXRoaXMuX2NvbG9yUHJvdmlkZXIuZ2V0UGxvdFBvaW50U3R5bGUocyxwKTt2b2lkIDAhPT1tLmNvbG9yc1swXSYmKGY9KDAsaC5lbnN1cmVEZWZpbmVkKShtLmNvbG9yc1swXSkpO2NvbnN0IHk9e29wZW46bixoaWdoOmMsbG93Ol8sY2xvc2U6YSxjb2xvcjpmLHdpY2tDb2xvcjptLmNvbG9yc1s0XSxib3JkZXJDb2xvcjptLmNvbG9yc1szXSxob2xsb3c6bnVsbCxjZW50ZXI6TmFOLGxlZnQ6TmFOLHJpZ2h0Ok5hTix0aW1lUG9pbnRJbmRleDpNYXRoLnJvdW5kKHQpfTt0aGlzLl9iYXJzLnB1c2goeSl9ZS5iYXJQcmljZXNUb0Nvb3JkaW5hdGVzKHRoaXMuX2JhcnMsbyksdC5maWxsQmFyQm9yZGVycyh0aGlzLl9iYXJzKSx0aGlzLl9jcmVhdGVTZWxlY3Rpb24obyx0KX1fY3JlYXRlU2VsZWN0aW9uKGUsdCl7Y29uc3Qgcz10aGlzLl9wcmljZVNjYWxlKCk7aWYobnVsbD09PXMpcmV0dXJuO2lmKHRoaXMuX3NlbGVjdGlvbkRhdGE9e3BvaW50czpbXSxiZ0NvbG9yczpbXSx2aXNpYmxlOiEwLGhpdHRlc3RSZXN1bHQ6eHQuSGl0VGFyZ2V0LlJlZ3VsYXIsYmFyU3BhY2luZzp0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCl9LCF0aGlzLmlzUGxvdEhpZ2hsaWdodGVkKCkmJighdGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zdHVkeSl8fHRoaXMuX3N0dWR5Lmhhc0hpZ2hsaWdodGVkUGxvdHMoKSkpcmV0dXJuIHZvaWQgdGhpcy5fc2VsZWN0aW9uSW5kZXhlci5jbGVhcigpO2NvbnN0IGk9KDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX3N0dWR5KSkuaGVpZ2h0KCkscj0oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX29obGNQbG90SW5kZXhlcy5nZXQoNCkpLG49dGhpcy5fc2VsZWN0aW9uSW5kZXhlci5pbmRleGVzKCk7Zm9yKGxldCBhPTA7YTxuLmxlbmd0aDthKyspewpjb25zdCBvPW5bYV0sbD10aGlzLl9zdHVkeS5kYXRhKCkudmFsdWVBdChvKTtpZihudWxsPT09bCljb250aW51ZTtjb25zdCBoPWxbcisxXTtpZihudWxsPT1oKWNvbnRpbnVlO2NvbnN0IHU9dC5pbmRleFRvQ29vcmRpbmF0ZShNYXRoLmZsb29yKG8pKSxjPXMucHJpY2VUb0Nvb3JkaW5hdGUoaCxlKTt0aGlzLl9zZWxlY3Rpb25EYXRhLnBvaW50cy5wdXNoKHtwb2ludDpuZXcgdXQuUG9pbnQodSxjKX0pLHRoaXMuX3NlbGVjdGlvbkRhdGEuYmdDb2xvcnMucHVzaCh0aGlzLl9tb2RlbC5iYWNrZ3JvdW5kQ29sb3JBdFlQZXJjZW50RnJvbVRvcChjL2kpKX19X2lzT0hMQ1Bsb3RWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX3N0dWR5LmlzUGxvdFZpc2libGVBdCh0aGlzLl9wbG90TmFtZSxaLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUGFuZSl9fWNsYXNzIFJ0IGV4dGVuZHMgQXR7cmVuZGVyZXIoKXtpZighdGhpcy5faXNPSExDUGxvdFZpc2libGUoKSlyZXR1cm4gbnVsbDt0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSk7Y29uc3QgZT17YmFyczp0aGlzLl9iYXJzLGRvbnREcmF3T3Blbjp0aGlzLl9zZXJpZXMucHJvcGVydGllcygpLmNoaWxkcygpLmJhclN0eWxlLmNoaWxkcygpLmRvbnREcmF3T3Blbi52YWx1ZSgpLHRoaW5CYXJzOnRoaXMuX3Nlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYmFyU3R5bGUuY2hpbGRzKCkudGhpbkJhcnMudmFsdWUoKX0sdD1uZXcgRmUuQ29tcG9zaXRlUmVuZGVyZXI7cmV0dXJuIHQuYXBwZW5kKG5ldyBWdC5QYW5lUmVuZGVyZXJCYXJzKGUpKSx0aGlzLl9pc01hcmtlcnNFbmFibGVkJiZ0aGlzLl9zZWxlY3Rpb25EYXRhJiZ0LmFwcGVuZChuZXcgSGUuU2VsZWN0aW9uUmVuZGVyZXIodGhpcy5fc2VsZWN0aW9uRGF0YSkpLHR9fXZhciBNdD1zKDY4OTA4MCk7Y2xhc3MgVHQgZXh0ZW5kcyBBdHtyZW5kZXJlcigpe2lmKCF0aGlzLl9pc09ITENQbG90VmlzaWJsZSgpKXJldHVybiBudWxsO2NvbnN0IGU9dGhpcy5fcHJpY2VTY2FsZSgpO2lmKCFlfHxlLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDt0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSk7Y29uc3QgdD0oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5vaGxjUGxvdHMpLmNoaWxkcygpW3RoaXMuX3Bsb3ROYW1lXS5jaGlsZHMoKSxzPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmJhclNwYWNpbmcoKSxpPXtiYXJzOnRoaXMuX2JhcnMsYmFyU3BhY2luZzpzLHdpY2tWaXNpYmxlOnQuZHJhd1dpY2sudmFsdWUoKSxib2R5VmlzaWJsZTohMCxib3JkZXJWaXNpYmxlOnQuZHJhd0JvcmRlci52YWx1ZSgpLGJhcldpZHRoOigwLF90Lm9wdGltYWxCYXJXaWR0aCkocyksYm9yZGVyQ29sb3I6dC5ib3JkZXJDb2xvci52YWx1ZSgpLHdpY2tDb2xvcjp0LndpY2tDb2xvci52YWx1ZSgpLGlzUHJpY2VTY2FsZUludmVydGVkOmUuaXNJbnZlcnRlZCgpfSxyPW5ldyBGZS5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gci5hcHBlbmQobmV3IE10LlBhbmVSZW5kZXJlckNhbmRsZXMoaSkpLHRoaXMuX2lzTWFya2Vyc0VuYWJsZWQmJnRoaXMuX3NlbGVjdGlvbkRhdGEmJnIuYXBwZW5kKG5ldyBIZS5TZWxlY3Rpb25SZW5kZXJlcih0aGlzLl9zZWxlY3Rpb25EYXRhKSkscn19dmFyIER0PXMoMzc2NjQ1KSxGdD1zKDMxNTY1NCksT3Q9cyg3NDM0NyksTnQ9cygyNjA2OSk7Y2xhc3Mga3QgZXh0ZW5kcyBPdC5Ib3Jpem9udGFsTGluZVBhbmVWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9saW5lUmVuZGVyZXJEYXRhLmxpbmVzdHlsZT1OdC5MSU5FU1RZTEVfRE9UVEVELHRoaXMuX3N0dWR5PWUsdGhpcy5fcGxvdE5hbWU9dH1fdXBkYXRlSW1wbCgpe3RoaXMuX2xpbmVSZW5kZXJlckRhdGEudmlzaWJsZT0hMTtjb25zdCBlPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpO2lmKCFlLnRyYWNrUHJpY2UudmFsdWUoKXx8IXRoaXMuX3N0dWR5LmlzUGxvdFZpc2libGVBdCh0aGlzLl9wbG90TmFtZSxaLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUGFuZSkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fc3R1ZHkubGFzdFZhbHVlRGF0YSh0aGlzLl9wbG90TmFtZSwhMCk7dC5ub0RhdGF8fCh0aGlzLl9saW5lUmVuZGVyZXJEYXRhLnZpc2libGU9ITAsdGhpcy5fbGluZVJlbmRlcmVyRGF0YS55PXQuY29vcmRpbmF0ZSx0aGlzLl9saW5lUmVuZGVyZXJEYXRhLmNvbG9yPXQuY29sb3IsdGhpcy5fbGluZVJlbmRlcmVyRGF0YS5saW5ld2lkdGg9ZS5saW5ld2lkdGgudmFsdWUoKSl9fXZhciBCdD1zKDE2Njk4OCksRXQ9cygyNTQ3MzEpLEx0PXMoODc3MjE3KSxIdD1zKDk5NTI0MCk7Y29uc3QgVXQ9e3R5cGU6MCxjb2xvcjoidHJhbnNwYXJlbnQifTtjbGFzcyBXdCBleHRlbmRzIEx0LkFic3RyYWN0RmlsbGVkQXJlYVBhbmVWaWV3e2NvbnN0cnVjdG9yKGUsdCxzLGkpe3N1cGVyKGUsdCxzKSx0aGlzLl9wYWxldHRlc0luZm89e30sdGhpcy5fZ3JhZGllbnRQcm9wc1N0YXRlQ2FjaGU9bnVsbCx0aGlzLl9yZ2JhRnJvbUludGVnZXI9KDAsRXQucmdiYUZyb21JbnRlZ2VyQ2FjaGVkKSgpO2NvbnN0IHI9dGhpcy5fc291cmNlLm1ldGFJbmZvKCk7dGhpcy5faXNSR0I9Qm9vbGVhbihyLmlzUkdCKSx0aGlzLl9pc0hsaW5lRmlsbD0iaGxpbmVfaGxpbmUiPT09cy50eXBlLCgwLGguYXNzZXJ0KSh0aGlzLl9pc0hsaW5lRmlsbHx8InBsb3RfcGxvdCI9PT1zLnR5cGUsIldyb25nIGZpbGxlZEFyZWEgdHlwZTogIitzLnR5cGUpLHRoaXMuX2lzSGxpbmVGaWxsJiZ0aGlzLl9pbml0QmFuZEluZGV4ZXMocy5vYmpBSWQscy5vYmpCSWQpLHRoaXMuX2ZpbGxNZXRhSW5mbz1zLHRoaXMuX2ZpbGxTdHlsZVByb3BzPWksdGhpcy5fZ3JhZGllbnRGaWxsVHlwZT1pLmhhc0NoaWxkKCJmaWxsVHlwZSIpJiYiZ3JhZGllbnQiPT09aS5jaGlsZHMoKS5maWxsVHlwZT8udmFsdWUoKSx0aGlzLl9ncmFkaWVudFN0YXRpY1N0YXRlPXsKY29sb3IxOnMudG9wQ29sb3IsY29sb3IyOnMuYm90dG9tQ29sb3IsdmFsdWUxOnMudG9wVmFsdWUsdmFsdWUyOnMuYm90dG9tVmFsdWV9LHRoaXMuX2hhc0FsbEdyYWRpZW50UmVxdWlyZWRQcm9wcz10aGlzLl9ncmFkaWVudEZpbGxUeXBlJiYodm9pZCAwIT09dGhpcy5fZ3JhZGllbnRTdGF0aWNTdGF0ZS5jb2xvcjF8fGkuaGFzQ2hpbGQoInRvcENvbG9yIil8fHZvaWQgMCE9PXRoaXMuX2dyYWRpZW50U3RhdGljU3RhdGUuY29sb3IyfHxpLmhhc0NoaWxkKCJib3R0b21Db2xvciIpKSYmKHZvaWQgMCE9PXRoaXMuX2dyYWRpZW50U3RhdGljU3RhdGUudmFsdWUxfHxpLmhhc0NoaWxkKCJ0b3BWYWx1ZSIpKSYmKHZvaWQgMCE9PXRoaXMuX2dyYWRpZW50U3RhdGljU3RhdGUudmFsdWUyfHxpLmhhc0NoaWxkKCJib3R0b21WYWx1ZSIpKTtjb25zdCBuPSgpPT50aGlzLl9jb2xvclBsb3RJbmRleD10aGlzLl9jb2xvclBsb3RJbmRleD8/e3R5cGU6MX07Zm9yKGxldCB0PTA7dDxyLnBsb3RzLmxlbmd0aDsrK3Qpe2NvbnN0IGk9ci5wbG90c1t0XTtpZigoKDAsWi5pc0NvbG9yZXJQbG90KShpKXx8KDAsWi5pc0RhdGFQbG90KShpKSkmJmkudGFyZ2V0PT09cy5pZCl7aWYoKDAsWi5pc0NvbG9yZXJQbG90KShpKSl7bGV0IHM7dm9pZCAwIT09aS50YXJnZXRGaWVsZD8idG9wQ29sb3IiPT09aS50YXJnZXRGaWVsZD8obigpLmNvbG9ySW5kZXhPclJnYmExPXQscz0iY29sb3IxIik6ImJvdHRvbUNvbG9yIj09PWkudGFyZ2V0RmllbGQmJihuKCkuY29sb3JJbmRleE9yUmdiYTI9dCxzPSJjb2xvcjIiKTp0aGlzLl9jb2xvclBsb3RJbmRleD17dHlwZTowLGNvbG9ySW5kZXhPclJnYmE6dH0sKDAsWi5pc1BhbGV0dGVDb2xvcmVyUGxvdCkoaSkmJih0aGlzLl9wYWxldHRlc0luZm9bcz8/ImNvbG9yIl09e21hcDooMCxoLmVuc3VyZURlZmluZWQpKCgwLGguZW5zdXJlRGVmaW5lZCkoci5wYWxldHRlcylbaS5wYWxldHRlXT8udmFsVG9JbmRleCksdmFsdWVzOmUucHJvcGVydGllcygpLnBhbGV0dGVzW2kucGFsZXR0ZV0uY29sb3JzfSl9ZWxzZSgwLFouaXNEYXRhUGxvdCkoaSkmJigidG9wVmFsdWUiPT09aS50YXJnZXRGaWVsZD9uKCkudmFsdWVJbmRleDE9dDoiYm90dG9tVmFsdWUiPT09aS50YXJnZXRGaWVsZCYmKG4oKS52YWx1ZUluZGV4Mj10KSk7aWYoMD09PXRoaXMuX2NvbG9yUGxvdEluZGV4Py50eXBlKWJyZWFrfX19dXBkYXRlKGUpe3N1cGVyLnVwZGF0ZShlKSx0aGlzLl9ncmFkaWVudFByb3BzU3RhdGVDYWNoZT1udWxsfWlzRm9yY2VPdmVybGF5KCl7cmV0dXJuISF0aGlzLl9zb3VyY2UubWV0YUluZm8oKS5pc1Bsb3RGb3JjZU92ZXJsYXkodGhpcy5fcGxvdEFJZCgpKX1fZmlyc3RWYWx1ZSgpe2NvbnN0IGU9dGhpcy5pc0ZvcmNlT3ZlcmxheSgpO3JldHVybiB0aGlzLl9zb3VyY2UuZmlyc3RWYWx1ZSh2b2lkIDAsZSl9X21pbkZpcnN0QmFySW5kZXgoKXtyZXR1cm4gdGhpcy5fc291cmNlLmdldE1pbkZpcnN0QmFySW5kZXhGb3JQbG90KHRoaXMuX2ZpbGxNZXRhSW5mby5pZCl9X2dldENvbG9yQnlQbG90VmFsdWUoZSl7aWYoMD09PWUudHlwZSl7bGV0IHQ7aWYobnVsbD09ZS5jb2xvckluZGV4T3JSZ2JhKXJldHVybiBudWxsO2lmKHRoaXMuX2lzUkdCKXQ9dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUuY29sb3JJbmRleE9yUmdiYSk7ZWxzZXtjb25zdCBzPSgwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5fcGFsZXR0ZXNJbmZvLmNvbG9yKSxpPSgwLGguZW5zdXJlRGVmaW5lZCkocy5tYXBbZS5jb2xvckluZGV4T3JSZ2JhXSk7dD1zLnZhbHVlc1tpXT8uY2hpbGRzKCkuY29sb3IudmFsdWUoKX1yZXR1cm57dHlwZTowLGNvbG9yOnR9fWNvbnN0IHQ9dGhpcy5fZ3JhZGllbnRDb2xvclByb3BzU3RhdGUoKTtsZXQgcyxpO2lmKHRoaXMuX2lzUkdCKW51bGwhPWUuY29sb3JJbmRleE9yUmdiYTEmJihzPXRoaXMuX3JnYmFGcm9tSW50ZWdlcihlLmNvbG9ySW5kZXhPclJnYmExKSksbnVsbCE9ZS5jb2xvckluZGV4T3JSZ2JhMiYmKGk9dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUuY29sb3JJbmRleE9yUmdiYTIpKTtlbHNle2lmKG51bGwhPWUuY29sb3JJbmRleE9yUmdiYTEpe2NvbnN0IHQ9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wYWxldHRlc0luZm8uY29sb3IxKTtzPXQudmFsdWVzWygwLGguZW5zdXJlRGVmaW5lZCkodC5tYXBbZS5jb2xvckluZGV4T3JSZ2JhMV0pXS5jaGlsZHMoKS5jb2xvci52YWx1ZSgpfWlmKG51bGwhPWUuY29sb3JJbmRleE9yUmdiYTIpe2NvbnN0IHQ9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wYWxldHRlc0luZm8uY29sb3IyKTtpPXQudmFsdWVzWygwLGguZW5zdXJlRGVmaW5lZCkodC5tYXBbZS5jb2xvckluZGV4T3JSZ2JhMl0pXS5jaGlsZHMoKS5jb2xvci52YWx1ZSgpfX1jb25zdCByPWUudmFsdWUxPz90LnZhbHVlMSxuPWUudmFsdWUyPz90LnZhbHVlMjtyZXR1cm4gcz1zPz90LmNvbG9yMSxpPWk/P3QuY29sb3IyLHZvaWQgMD09PXJ8fHZvaWQgMD09PW58fHZvaWQgMD09PXMmJnZvaWQgMD09PWk/bnVsbDp7dHlwZToxLGNvbG9yMTpzLGNvbG9yMjppLHZhbHVlMTpyLHZhbHVlMjpuLGNvb3JkaW5hdGUxOk5hTixjb29yZGluYXRlMjpOYU59fV9wbG90QUlkKCl7cmV0dXJuIHRoaXMuX2ZpbGxNZXRhSW5mby5vYmpBSWR9X3Bsb3RCSWQoKXtyZXR1cm4gdGhpcy5fZmlsbE1ldGFJbmZvLm9iakJJZH1fY29tbW9uQ29sb3IoKXtjb25zdCBlPXRoaXMuX2ZpbGxTdHlsZVByb3BzLmNoaWxkcygpO2lmKHRoaXMuX2dyYWRpZW50RmlsbFR5cGUpe2lmKCF0aGlzLl9oYXNBbGxHcmFkaWVudFJlcXVpcmVkUHJvcHMpcmV0dXJuIFV0O2NvbnN0IGU9dGhpcy5fZ3JhZGllbnRDb2xvclByb3BzU3RhdGUoKTtyZXR1cm57dHlwZToxLGNvbG9yMTplLmNvbG9yMSxjb2xvcjI6ZS5jb2xvcjIsdmFsdWUxOmUudmFsdWUxLHZhbHVlMjplLnZhbHVlMixjb29yZGluYXRlMTpOYU4sY29vcmRpbmF0ZTI6TmFOfX1yZXR1cm57dHlwZTowLGNvbG9yOmUuY29sb3IudmFsdWUoKX19X3RyYW5zcGFyZW5jeSgpewpyZXR1cm4gdGhpcy5fZmlsbFN0eWxlUHJvcHMuY2hpbGRzKCkudHJhbnNwYXJlbmN5Py52YWx1ZSgpPz8wfV92aXNpYmxlKCl7cmV0dXJuIHRoaXMuX2ZpbGxTdHlsZVByb3BzLmNoaWxkcygpLnZpc2libGUudmFsdWUoKX1fcHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLmlzRm9yY2VPdmVybGF5KCk/dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTp0aGlzLl9zb3VyY2UucHJpY2VTY2FsZSgpfV9jcmVhdGVBcmVhQmFja2dyb3VuZEl0ZW0oKXtyZXR1cm4gdGhpcy5faXNIbGluZUZpbGw/bmV3IEh0LkFyZWFCYWNrZ3JvdW5kSXRlbSghMSwhMSk6c3VwZXIuX2NyZWF0ZUFyZWFCYWNrZ3JvdW5kSXRlbSgpfV9pbml0QmFuZEluZGV4ZXMoZSx0KXt0aGlzLl9iYW5kQUtleT1udWxsLHRoaXMuX2JhbmRCS2V5PW51bGw7Y29uc3Qgcz10aGlzLl9zb3VyY2UubWV0YUluZm8oKS5iYW5kcztpZih2b2lkIDAhPT1zKWZvcihsZXQgaT0wO2k8cy5sZW5ndGg7KytpKXtjb25zdCByPXNbaV07bnVsbCE9PXRoaXMuX2JhbmRBS2V5fHxyLmlkIT09ZT9udWxsPT09dGhpcy5fYmFuZEJLZXkmJnIuaWQ9PT10JiYodGhpcy5fYmFuZEJLZXk9aSk6dGhpcy5fYmFuZEFLZXk9aX19X2dyYWRpZW50Q29sb3JQcm9wc1N0YXRlKCl7aWYobnVsbD09PXRoaXMuX2dyYWRpZW50UHJvcHNTdGF0ZUNhY2hlKXtjb25zdCBlPXRoaXMuX2ZpbGxTdHlsZVByb3BzLnN0YXRlKCk7dGhpcy5fZ3JhZGllbnRQcm9wc1N0YXRlQ2FjaGU9e2NvbG9yMTp0aGlzLl9ncmFkaWVudFN0YXRpY1N0YXRlLmNvbG9yMT8/ZS50b3BDb2xvcixjb2xvcjI6dGhpcy5fZ3JhZGllbnRTdGF0aWNTdGF0ZS5jb2xvcjI/P2UuYm90dG9tQ29sb3IsdmFsdWUxOnRoaXMuX2dyYWRpZW50U3RhdGljU3RhdGUudmFsdWUxPz9lLnRvcFZhbHVlLHZhbHVlMjp0aGlzLl9ncmFkaWVudFN0YXRpY1N0YXRlLnZhbHVlMj8/ZS5ib3R0b21WYWx1ZX19cmV0dXJuIHRoaXMuX2dyYWRpZW50UHJvcHNTdGF0ZUNhY2hlfX12YXIgR3Q9cyg1MzY3MTApLGp0PXMoMTQxMzUwKSx6dD1zKDY1MDQ4MCk7Y2xhc3MgJHR7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9saW5lUmVuZGVyZXI9bmV3IHp0Lkhvcml6b250YWxMaW5lUmVuZGVyZXIsdGhpcy5fc291cmNlPXQsdGhpcy5fcG9pbnRzPVtuZXcgdXQuUG9pbnQoLTEsLTEpXSx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9wcm9wZXJ0aWVzPWV9dXBkYXRlKGUpeyJob3Zlci1jaGFuZ2UiIT09ZS50eXBlJiYodGhpcy5faW52YWxpZGF0ZWQ9ITApfXJlbmRlcmVyKCl7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9e3k6dGhpcy5fcG9pbnRzWzBdLnksY29sb3I6dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5jb2xvci52YWx1ZSgpLGxpbmV3aWR0aDp0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmxpbmV3aWR0aC52YWx1ZSgpLGxpbmVzdHlsZTp0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmxpbmVzdHlsZS52YWx1ZSgpfTtyZXR1cm4gdGhpcy5fbGluZVJlbmRlcmVyLnNldERhdGEoZSksdGhpcy5fbGluZVJlbmRlcmVyfV91cGRhdGVJbXBsKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UucHJpY2VTY2FsZSgpO2lmKCFlfHxlLmlzRW1wdHkoKSlyZXR1cm4gdm9pZCh0aGlzLl9wb2ludHNbMF09bmV3IHV0LlBvaW50KC0xLC0xKSk7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnZhbHVlLnZhbHVlKCkscz10aGlzLl9zb3VyY2UuZmlyc3RWYWx1ZSgpLGk9KDAsdS5pc051bWJlcikodCkmJm51bGwhPT1zP2UucHJpY2VUb0Nvb3JkaW5hdGUodCxzKTpOYU47dGhpcy5fcG9pbnRzWzBdPW5ldyB1dC5Qb2ludCgtMSxpKX19dmFyIEt0PXMoNTczMDU0KTtjbGFzcyBxdCBleHRlbmRzIEt0Lk1lZGlhQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuX2RhdGE9bnVsbCx0aGlzLl9kYXRhPW51bGx9c2V0RGF0YShlPW51bGwpe3RoaXMuX2RhdGE9ZX1oaXRUZXN0KCl7cmV0dXJuIG51bGx9X2RyYXdJbXBsKGUpe2lmKG51bGw9PT10aGlzLl9kYXRhfHwwPT09dGhpcy5fZGF0YS5wb2ludHMubGVuZ3RoKXJldHVybjtjb25zdCB0PWUuY29udGV4dCxzPWUubWVkaWFTaXplLndpZHRoO2lmKHRoaXMuX2RhdGEuZ3JhZGllbnQpe2NvbnN0IGU9dC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLHRoaXMuX2RhdGEuY29vcmRpbmF0ZTEsMCx0aGlzLl9kYXRhLmNvb3JkaW5hdGUyKTtlLmFkZENvbG9yU3RvcCgwLHRoaXMuX2RhdGEuYmFja0NvbG9yMT8/InRyYW5zcGFyZW50IiksZS5hZGRDb2xvclN0b3AoMSx0aGlzLl9kYXRhLmJhY2tDb2xvcjI/PyJ0cmFuc3BhcmVudCIpLHQuZmlsbFN0eWxlPWV9ZWxzZSB0LmZpbGxTdHlsZT10aGlzLl9kYXRhLmJhY2tjb2xvcjtjb25zdCBpPU1hdGgubWluKHRoaXMuX2RhdGEucG9pbnRzWzBdLHRoaXMuX2RhdGEucG9pbnRzWzFdKSxyPU1hdGgubWF4KHRoaXMuX2RhdGEucG9pbnRzWzBdLHRoaXMuX2RhdGEucG9pbnRzWzFdKTt0LmZpbGxSZWN0KDAsaSxzLHItaSl9fWNsYXNzIEp0e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2JhbmRCZ1JlbmRlcmVyPW5ldyBxdCx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9zb3VyY2U9ZX11cGRhdGUoZSl7ImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9pbnZhbGlkYXRlZD0hMCl9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX2JhbmRCZ1JlbmRlcmVyfV91cGRhdGVJbXBsKCl7dGhpcy5fYmFuZEJnUmVuZGVyZXIuc2V0RGF0YShudWxsKTtjb25zdCBlPXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCksdD1lLmJhbmRzO2lmKHQuY2hpbGRDb3VudCgpPDIpcmV0dXJuO2NvbnN0IHM9ZS5iYW5kc0JhY2tncm91bmQ7aWYoIXM/LmNoaWxkcygpLmZpbGxCYWNrZ3JvdW5kLnZhbHVlKCkpcmV0dXJuCjtjb25zdCBpPXRbMF0uY2hpbGRzKCkscj10WzFdLmNoaWxkcygpLG49dGhpcy5fc291cmNlLnByaWNlU2NhbGUoKSxhPXRoaXMuX3NvdXJjZS5maXJzdFZhbHVlKCk7aWYoIW58fG4uaXNFbXB0eSgpfHxudWxsPT09YSlyZXR1cm47Y29uc3Qgbz1bbi5wcmljZVRvQ29vcmRpbmF0ZShpLnZhbHVlLnZhbHVlKCksYSksbi5wcmljZVRvQ29vcmRpbmF0ZShyLnZhbHVlLnZhbHVlKCksYSldLGw9KDAsaC5lbnN1cmVEZWZpbmVkKShlLmJhbmRzQmFja2dyb3VuZCkuY2hpbGRzKCksdT0oMCx6ZS5jbGFtcCkobC50cmFuc3BhcmVuY3k/LnZhbHVlKCk/PzAsMCwxMDApO3RoaXMuX2JhbmRCZ1JlbmRlcmVyLnNldERhdGEoe2dyYWRpZW50OiExLHBvaW50czpvLGJhY2tjb2xvcjooMCxMLmdlbmVyYXRlQ29sb3IpKGwuYmFja2dyb3VuZENvbG9yLnZhbHVlKCksdSl9KX19Y2xhc3MgWXR7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMuX2JhbmRCZ1JlbmRlcmVyPW5ldyBxdCx0aGlzLl9iYW5kQUtleT1udWxsLHRoaXMuX2JhbmRCS2V5PW51bGwsdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fc291cmNlPWUsKDAsaC5hc3NlcnQpKCJobGluZV9obGluZSI9PT10LnR5cGUsIldyb25nIGZpbGxlZEFyZWEgdHlwZTogIit0LnR5cGUpLHRoaXMuX2luaXRCYW5kSW5kZXhlcyh0Lm9iakFJZCx0Lm9iakJJZCksdGhpcy5fZmlsbFN0eWxlUHJvcHM9cyx0aGlzLl9iYW5kQmdSZW5kZXJlcj1uZXcgcXQsdGhpcy5fZ3JhZGllbnRGaWxsVHlwZT1zLmhhc0NoaWxkKCJmaWxsVHlwZSIpJiYiZ3JhZGllbnQiPT09cy5jaGlsZHMoKS5maWxsVHlwZT8udmFsdWUoKSx0aGlzLl9ncmFkaWVudFN0YXRpY1N0YXRlPXtjb2xvcjE6dC50b3BDb2xvcixjb2xvcjI6dC5ib3R0b21Db2xvcix2YWx1ZTE6dC50b3BWYWx1ZSx2YWx1ZTI6dC5ib3R0b21WYWx1ZX19dXBkYXRlKCl7dGhpcy5faW52YWxpZGF0ZWQ9ITB9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX2JhbmRCZ1JlbmRlcmVyfV91cGRhdGVJbXBsKCl7aWYodGhpcy5fYmFuZEJnUmVuZGVyZXIuc2V0RGF0YShudWxsKSwhdGhpcy5fZmlsbFN0eWxlUHJvcHMuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKXJldHVybjtpZihudWxsPT09dGhpcy5fYmFuZEFLZXl8fG51bGw9PT10aGlzLl9iYW5kQktleSlyZXR1cm47Y29uc3QgZT0oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYmFuZHMpLHQ9ZS5jaGlsZHMoKVt0aGlzLl9iYW5kQUtleV0uY2hpbGRzKCkscz1lLmNoaWxkcygpW3RoaXMuX2JhbmRCS2V5XS5jaGlsZHMoKSxpPXRoaXMuX3NvdXJjZS5wcmljZVNjYWxlKCkscj10aGlzLl9zb3VyY2UuZmlyc3RWYWx1ZSgpO2lmKCFpfHxpLmlzRW1wdHkoKXx8bnVsbD09PXIpcmV0dXJuO2NvbnN0IG49W2kucHJpY2VUb0Nvb3JkaW5hdGUodC52YWx1ZS52YWx1ZSgpLHIpLGkucHJpY2VUb0Nvb3JkaW5hdGUocy52YWx1ZS52YWx1ZSgpLHIpXSxhPSgwLHplLmNsYW1wKSh0aGlzLl9maWxsU3R5bGVQcm9wcy5jaGlsZHMoKS50cmFuc3BhcmVuY3k/LnZhbHVlKCk/PzAsMCwxMDApO2xldCBvO2NvbnN0IGw9dGhpcy5fZmlsbFN0eWxlUHJvcHMuY2hpbGRzKCk7aWYodGhpcy5fZ3JhZGllbnRGaWxsVHlwZSl7Y29uc3QgZT10aGlzLl9ncmFkaWVudFN0YXRpY1N0YXRlLHQ9bCxzPWUudmFsdWUxPz90LnRvcFZhbHVlPy52YWx1ZSgpLGg9ZS52YWx1ZTI/P3QuYm90dG9tVmFsdWU/LnZhbHVlKCk7aWYodm9pZCAwPT09c3x8dm9pZCAwPT09aClyZXR1cm47Y29uc3QgdT1lLmNvbG9yMT8/dC50b3BDb2xvcj8udmFsdWUoKSxjPWUuY29sb3IyPz90LmJvdHRvbUNvbG9yPy52YWx1ZSgpO2lmKHZvaWQgMD09PXUmJnZvaWQgMD09PWMpcmV0dXJuO289e2dyYWRpZW50OiEwLHBvaW50czpuLGJhY2tDb2xvcjE6dSYmKDAsTC5nZW5lcmF0ZUNvbG9yKSh1LGEpLGJhY2tDb2xvcjI6YyYmKDAsTC5nZW5lcmF0ZUNvbG9yKShjLGEpLGNvb3JkaW5hdGUxOmkucHJpY2VUb0Nvb3JkaW5hdGUocyxyKSxjb29yZGluYXRlMjppLnByaWNlVG9Db29yZGluYXRlKGgscil9fWVsc2Ugbz17Z3JhZGllbnQ6ITEscG9pbnRzOm4sYmFja2NvbG9yOigwLEwuZ2VuZXJhdGVDb2xvcikobC5jb2xvci52YWx1ZSgpLGEpfTt0aGlzLl9iYW5kQmdSZW5kZXJlci5zZXREYXRhKG8pfV9pbml0QmFuZEluZGV4ZXMoZSx0KXt0aGlzLl9iYW5kQUtleT1udWxsLHRoaXMuX2JhbmRCS2V5PW51bGw7KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zb3VyY2UubWV0YUluZm8oKS5iYW5kcykuZm9yRWFjaCgoKHMsaSk9PntudWxsPT09dGhpcy5fYmFuZEFLZXkmJnMuaWQ9PT1lJiYodGhpcy5fYmFuZEFLZXk9aSksbnVsbD09PXRoaXMuX2JhbmRCS2V5JiZzLmlkPT09dCYmKHRoaXMuX2JhbmRCS2V5PWkpfSkpfX12YXIgWnQ9cyg4Njc4MzEpLFh0PXMoNDc3MyksUXQ9cyg3NjgyOTIpLGVzPXMoNDkwNDQ2KSx0cz1zKDEyODk5OCksc3M9cygxNTI3NjYpLGlzPXMoNjgwMTI2KTtjbGFzcyBycyBleHRlbmRzIGlzLlN0dWR5UHJpY2VBeGlzVmlld3tpc1Bsb3RIaWdobGlnaHRlZCgpe2lmKCF0aGlzLl9zb3VyY2UuaGFzSGlnaGxpZ2h0ZWRQbG90cygpKXJldHVybiExO2NvbnN0IGU9dGhpcy5fc291cmNlLm1ldGFJbmZvKCkucGxvdHMuZmlsdGVyKChlPT4idGFyZ2V0ImluIGUmJmUudGFyZ2V0PT09dGhpcy5fZGF0YT8ucGxvdE5hbWUpKTtyZXR1cm4gQm9vbGVhbihlLmZpbmQoKGU9PigwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuaGlnaGxpZ2h0ZWRQbG90SW5mbygpKS5wbG90SWQ9PT1lLmlkKSkpfX12YXIgbnM9cyg5Njk0KSxhcz1zKDQ4MzE2MCk7Y2xhc3Mgb3MgZXh0ZW5kcyBhcy5BYnN0cmFjdEJhckNvbG9yZXJ7Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpLHRoaXMuX3JnYmFGcm9tSW50ZWdlcj0oMCxFdC5yZ2JhRnJvbUludGVnZXJDYWNoZWQpKCksdGhpcy5fc3R1ZHk9ZSx0aGlzLl9wbG90SW5kZXg9dH1hcHBseUJhclN0eWxlKGUsdCxzLGkpe2lmKHQpcmV0dXJuIHMKO2NvbnN0IHI9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpO2lmKCFyLnZpc2libGUudmFsdWUoKSlyZXR1cm4gcztjb25zdCBuPXRoaXMuX3N0dWR5Lm1ldGFJbmZvKCksYT10aGlzLl9zdHVkeS5kYXRhKCk7aWYoIWF8fDA9PT1hLnNpemUoKSlyZXR1cm4gcztjb25zdCBvPW4ucGxvdHNbdGhpcy5fcGxvdEluZGV4XSxsPXRoaXMuX2dldE9mZnNldCgpO2lmKHRoaXMuX3N0dWR5LmdldE1pbkZpcnN0QmFySW5kZXhGb3JQbG90KG8uaWQpPmUrbClyZXR1cm4gcztpZihyLnN0eWxlcy5jaGlsZHMoKVtvLmlkXS5jaGlsZHMoKS5kaXNwbGF5LnZhbHVlKCk9PT1aLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuTm9uZSlyZXR1cm4gcztjb25zdCB1PWEudmFsdWVBdChlLWwpO2lmKG51bGw9PT11KXJldHVybiBzO2xldCBjPXVbdGhpcy5fcGxvdEluZGV4KzFdO2lmKG51bGw9PWMpcmV0dXJuIHM7aWYoYz1NYXRoLnJvdW5kKGMpLG4uaXNSR0Ipcy5iYXJDb2xvcj10aGlzLl9yZ2JhRnJvbUludGVnZXIoYykscy51cENvbG9yPXMuYmFyQ29sb3Iscy5kb3duQ29sb3I9cy5iYXJDb2xvcjtlbHNle2NvbnN0IGU9bi5wbG90c1t0aGlzLl9wbG90SW5kZXhdO2lmKCJwYWxldHRlImluIGUpe2NvbnN0IHQ9ZS5wYWxldHRlLGk9ci5wYWxldHRlcy5jaGlsZHMoKVt0XSxhPSgwLGguZW5zdXJlRGVmaW5lZCkobi5wYWxldHRlcz8uW3RdKSxvPWEudmFsVG9JbmRleD8oMCxoLmVuc3VyZURlZmluZWQpKGEudmFsVG9JbmRleFtjXSk6YyxsPWkuY2hpbGRzKCkuY29sb3JzLmNoaWxkcygpW29dLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk7cy5iYXJDb2xvcj1sLHMudXBDb2xvcj1sLHMuZG93bkNvbG9yPWx9fXJldHVybiBzfWZpcnN0Q29sb3JlZEJhcihlKXtsZXQgdD1lO2Zvcihjb25zdCBzIG9mIHRoaXMuX2JhY2tDb2xvcmVycyl0PU1hdGgubWluKHQscy5maXJzdENvbG9yZWRCYXIoZSk/PzEvMCk7Y29uc3Qgcz10aGlzLl9nZXRPZmZzZXQoKTt0PU1hdGgubWluKHQsZStzKTtjb25zdCBpPXRoaXMuX2dldEJhcnMoKS5maXJzdEluZGV4KCkscj1NYXRoLm1heCh0LGk/Py0xLzApLG49dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5wbG90c1t0aGlzLl9wbG90SW5kZXhdO3JldHVybiBNYXRoLm1heCh0aGlzLl9zdHVkeS5nZXRNaW5GaXJzdEJhckluZGV4Rm9yUGxvdChuLmlkKSxyKX1fZ2V0QmFycygpe3JldHVybiB0aGlzLl9zdHVkeS5zZXJpZXMoKS5iYXJzKCl9X2dldE9mZnNldCgpe2NvbnN0IGU9dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5wbG90c1t0aGlzLl9wbG90SW5kZXhdO3JldHVybiB0aGlzLl9zdHVkeS5vZmZzZXQoZS5pZCl9fXZhciBscz1zKDE3OTc3MSksaHM9cygzMDk4MzcpLHVzPXMoNzU1NjI3KSxjcz1zKDUwNDQzMSk7Y2xhc3MgZHMgZXh0ZW5kcyBEdC5QYW5lUHJpY2VBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQscyxpKXtzdXBlcihlLHQscyksdGhpcy5fZGF0YVNvdXJjZT10LHRoaXMuX2lzRm9yY2VPdmVybGF5PXQubWV0YUluZm8oKS5pc1Bsb3RGb3JjZU92ZXJsYXkoaSl9X3Bvc2l0aW9uKCl7Y29uc3QgZT10aGlzLl9pc0ZvcmNlT3ZlcmxheT90aGlzLl9jaGFydE1vZGVsLm1haW5QYW5lKCk6dGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX2RhdGFTb3VyY2UpO2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9dGhpcy5faXNGb3JjZU92ZXJsYXk/dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpOnRoaXMuX2RhdGFTb3VyY2UucHJpY2VTY2FsZSgpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2xldCBzPWUucHJpY2VTY2FsZVBvc2l0aW9uKHQpO3JldHVybiJvdmVybGF5Ij09PXMmJihzPWUucHJpY2VTY2FsZVBvc2l0aW9uKGUuZGVmYXVsdFByaWNlU2NhbGUoKSkpLCJvdmVybGF5Ij09PXM/bnVsbDpzfX12YXIgcHM9cygyMzMyNDcpLF9zPXMoNDM3NzQ5KSxmcz1zKDQxMzY2KSxtcz1zKDMxNjY1NSkseXM9cyg3NzU4NjkpLGdzPXMoODM1Mjc4KTtjb25zdCBTcz0oMCxjLmdldExvZ2dlcikoIkNoYXJ0LlN0dWR5IiksYnM9Vi50KG51bGwse2NvbnRleHQ6InN0dWR5IHN0YXR1cyBkZXNjcmlwdGlvbiJ9LHMoOTI5MDY2KSksdnM9L14oW15cJF0rKVwkXGQrJC87dmFyIFBzLElzO2Z1bmN0aW9uIHdzKCl7cmV0dXJue2ZpZWxkczpbXSx1c2VNYWluU2VyaWVzUmFuZ2U6ITEsYmFzZVZhbHVlTWluTWF4Om51bGx9fSFmdW5jdGlvbihlKXtlLlBhbmVWaWV3cz0ic3R1ZHktcGFuZS12aWV3cyJ9KFBzfHwoUHM9e30pKSxmdW5jdGlvbihlKXtlW2UuRGVmYXVsdFByaWNlU2NhbGU9MTAwXT0iRGVmYXVsdFByaWNlU2NhbGUifShJc3x8KElzPXt9KSk7Y29uc3QgQ3M9e3N5bWJvbHNGb3JEaXNwbGF5OiExLHN5bWJvbHNGb3JDaGFydEFwaTohMCxza2lwSGlkZGVuSW5wdXRzOiExLHNraXBGYWtlSW5wdXRzOiExLHNraXBCb29sZWFuSW5wdXRzOiExLGFzT2JqZWN0OiEwLHNraXBwZWRHcm91cHM6W10sc2tpcHBlZElucHV0czpbXSxub0V4Y2hhbmdlczohMSxub1Jlc29sdXRpb246ITEsa2VlcE9wdGlvbmFsU3ltYm9sc0VtcHR5OiExLHNraXBDb2xvcklucHV0czohMSxza2lwVGltZUlucHV0czohMSxza2lwT3B0aW9uYWxFbXB0eVN5bWJvbElucHV0czohMSxza2lwVGV4dGFyZWFJbnB1dHM6ITEscHJpY2VJbnB1dHNGb3JEaXNwbGF5OiExfSxWcz17c3ltYm9sc0ZvckRpc3BsYXk6ITEsc3ltYm9sc0ZvckNoYXJ0QXBpOiEwLHNraXBIaWRkZW5JbnB1dHM6ITAsc2tpcEZha2VJbnB1dHM6ITEsc2tpcEJvb2xlYW5JbnB1dHM6ITEsc2tpcHBlZEdyb3VwczpbXSxza2lwcGVkSW5wdXRzOltdLG5vRXhjaGFuZ2VzOiExLG5vUmVzb2x1dGlvbjohMSxrZWVwT3B0aW9uYWxTeW1ib2xzRW1wdHk6ITEsc2tpcENvbG9ySW5wdXRzOiExLHNraXBUaW1lSW5wdXRzOiExLHNraXBPcHRpb25hbEVtcHR5U3ltYm9sSW5wdXRzOiExLHNraXBUZXh0YXJlYUlucHV0czohMSxwcmljZUlucHV0c0ZvckRpc3BsYXk6ITEsZmFrZUlucHV0c0ZvckRpc3BsYXk6ITEsZG9Ob3RTa2lwSGlkZGVuV2l0aE1pZ3JhdGU6ITEsb25seUF0b21WYWx1ZXM6ITB9LHhzPSgwLApJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzdHVkeV9zeW1ib2xfdGlja2VyX2Rlc2NyaXB0aW9uIiksQXM9KDAsSS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9tYWluX3Nlcmllc19zeW1ib2xfZnJvbV9pbmRpY2F0b3JfbGVnZW5kIiksUnM9KDAsSS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZGF0YXNvdXJjZV9jb3B5cGFzdGUiKSxNcz0oMCxJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3VucmVzb2x2ZWRfc3ltYm9sc19pbl9sZWdlbmQiKTtmdW5jdGlvbiBUcyhlLHQpe2NvbnN0IHM9ZS5wbG90c1t0XTtpZighc3x8ISgwLFouaXNPaGxjUGxvdCkocykpcmV0dXJuITE7Y29uc3QgaT1zLnRhcmdldCxyPWUuZGVmYXVsdHMuc3R5bGVzJiZlLmRlZmF1bHRzLnN0eWxlc1tpXSxuPWUuZGVmYXVsdHMub2hsY1Bsb3RzJiZlLmRlZmF1bHRzLm9obGNQbG90c1tpXSxhPWUub2hsY1Bsb3RzJiZlLm9obGNQbG90c1tpXTtyZXR1cm4gciYmKDAsWi5pc09obGNQbG90U3R5bGVCYXJzKShyKXx8biYmKDAsWi5pc09obGNQbG90U3R5bGVCYXJzKShuKXx8ISFhJiYoMCxaLmlzT2hsY1Bsb3RTdHlsZUJhcnMpKGEpfWZ1bmN0aW9uIERzKGUsdCl7Y29uc3Qgcz1lLnBsb3RzW3RdO2lmKCFzfHwhKDAsWi5pc09obGNQbG90KShzKSlyZXR1cm4hMTtjb25zdCBpPXMudGFyZ2V0LHI9ZS5kZWZhdWx0cy5zdHlsZXMmJmUuZGVmYXVsdHMuc3R5bGVzW2ldLG49ZS5kZWZhdWx0cy5vaGxjUGxvdHMmJmUuZGVmYXVsdHMub2hsY1Bsb3RzW2ldLGE9ZS5vaGxjUGxvdHMmJmUub2hsY1Bsb3RzW2ldO3JldHVybiByJiYoMCxaLmlzT2hsY1Bsb3RTdHlsZUNhbmRsZXMpKHIpfHxuJiYoMCxaLmlzT2hsY1Bsb3RTdHlsZUNhbmRsZXMpKG4pfHwhIWEmJigwLFouaXNPaGxjUGxvdFN0eWxlQ2FuZGxlcykoYSl9ZnVuY3Rpb24gRnMoZSx0KXsoMCxoLmFzc2VydCkodm9pZCAwIT09ZSwiek9yZGVyIG11c3QgYmUgZGVmaW5lZCIpLCgwLGguYXNzZXJ0KSghdC5oYXMoZSksInpPcmRlciBtdXN0IGJlIHVuaXF1ZSIpfWZ1bmN0aW9uIE9zKGUpe2lmKCFlLm1ldGFJbmZvKXJldHVybjtjb25zdCB0PWUubWV0YUluZm8uc2NyaXB0SWRQYXJ0O2lmKCF0KXJldHVybjtjb25zdCBzPShpPUMoKSh0KSxidG9hKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuZXcgVWludDhBcnJheShpKSkpKTt2YXIgaTtjb25zdCByPWUubWV0YUluZm87ci5pZD0oci5pZHx8IiIpLnJlcGxhY2UodCxzKSxyLmZ1bGxJZD0oci5mdWxsSWR8fCIiKS5yZXBsYWNlKHQscyksci5uYW1lPShyLm5hbWV8fCIiKS5yZXBsYWNlKHQscyksci5zaG9ydElkPShyLnNob3J0SWR8fCIiKS5yZXBsYWNlKHQscyksci5zY3JpcHRJZFBhcnQ9KHIuc2NyaXB0SWRQYXJ0fHwiIikucmVwbGFjZSh0LHMpLGUuc3RhdGUmJihlLnN0YXRlLmlkPShlLnN0YXRlLmlkfHwiIikucmVwbGFjZSh0LHMpLGUuc3RhdGUubmFtZT0oZS5zdGF0ZS5uYW1lfHwiIikucmVwbGFjZSh0LHMpLGUuc3RhdGUuc2NyaXB0SWRQYXJ0PShlLnN0YXRlLnNjcmlwdElkUGFydHx8IiIpLnJlcGxhY2UodCxzKSl9ZnVuY3Rpb24gTnMoZSx0KXtyZXR1cm4gZS5wbG90cy5zb21lKChlPT4oKDAsWi5pc0NvbG9yZXJQbG90KShlKXx8KDAsWi5pc0RhdGFQbG90KShlKSkmJmUudGFyZ2V0PT09dCkpfWZ1bmN0aW9uIGtzKGUsdCxzKXtsZXQgaT0wLHI9MDtyZXR1cm4gZS5pbnB1dHMuZmlsdGVyKChlPT4ic291cmNlIj09PWUudHlwZSkpLmZvckVhY2goKGU9PnsoMCxEZS5nZXRJbnB1dFZhbHVlKShzW2UuaWRdKS5pbmNsdWRlcygiJCIpJiZpKyssKDAsRGUuZ2V0SW5wdXRWYWx1ZSkodFtlLmlkXSkuaW5jbHVkZXMoIiQiKSYmcisrfSkpLE1hdGguc2lnbihyKS1NYXRoLnNpZ24oaSl9ZnVuY3Rpb24gQnMoZSl7Y29uc3QgdD0oMCxfLmNvbWJpbmUpKChlPT5lLm1hcCgoZT0+QnMoZS5wYXJlbnRTb3VyY2VzVlcoKS53ZWFrUmVmZXJlbmNlKCkpKSkpLGUpO3JldHVybigwLF8uYWNjdW11bGF0ZSkoKChlLHQpPT5BcnJheS5mcm9tKG5ldyBTZXQodC5jb25jYXQoZS5mbGF0KDIwKSkpKSksdC5vd25lcnNoaXAoKSxlKS5vd25lcnNoaXAoKX1mdW5jdGlvbiBFcyhlKXtyZXR1cm4iaW5oZXJpdCI9PT1lLnR5cGUmJihlLnR5cGU9InByaWNlIiksZX1mdW5jdGlvbiBMcyhlLHQscyxpKXtpZihudWxsIT09dClzd2l0Y2goZS50eXBlKXtjYXNlImluaGVyaXQiOmNhc2UicHJpY2UiOnJldHVybiBuZXcgdXMuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6dH0pO2Nhc2Uidm9sdW1lIjpyZXR1cm4oMCxwcy5nZXRWb2x1bWVGb3JtYXR0ZXIpKE1hdGgubG9nMTAodCkpO2Nhc2UicGVyY2VudCI6cmV0dXJuKDAscHMuZ2V0UGVyY2VudGFnZUZvcm1hdHRlcikoTWF0aC5sb2cxMCh0KSl9aWYoImluaGVyaXQiPT09ZS50eXBlKXJldHVybiBudWxsO2NvbnN0IHI9KDAsdS5pc051bWJlcikoZS5wcmVjaXNpb24pP01hdGgucG93KDEwLGUucHJlY2lzaW9uKTp2b2lkIDA7c3dpdGNoKGUudHlwZSl7Y2FzZSJwcmljZSI6cmV0dXJuIG5ldyB1cy5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTpyfSk7Y2FzZSJ2b2x1bWUiOntsZXQgdD1lLnByZWNpc2lvbjtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9cyYmKDAsdS5pc051bWJlcikocy52b2x1bWVfcHJlY2lzaW9uKT9zLnZvbHVtZV9wcmVjaXNpb246MCksKDAscHMuZ2V0Vm9sdW1lRm9ybWF0dGVyKSh0KX1jYXNlInBlcmNlbnQiOnJldHVybigwLHBzLmdldFBlcmNlbnRhZ2VGb3JtYXR0ZXIpKHZvaWQgMD09PXI/dm9pZCAwOk1hdGgubG9nMTAocikpO2RlZmF1bHQ6cmV0dXJuIFNzLmxvZ1dhcm4oYFVuc3VwcG9ydGVkIGZvcm1hdCB0eXBlOiAke2UudHlwZX1gKSxudWxsfX1jb25zdCBIcz1uZXcgU2V0KERlLnJhbmdlRGVwZW5kZW50U3R1ZHlJbnB1dE5hbWVzTGlzdCk7Y2xhc3MgVXMgZXh0ZW5kcyBVLlByaWNlRGF0YVNvdXJjZXtjb25zdHJ1Y3RvcihlLHQscyxyLG4sYSxvKXtzdXBlcihlKSx0aGlzLl9vblN0YXJ0PW5ldyB5LkRlbGVnYXRlLHRoaXMuX3Jlc3RhcnRpbmc9ITEsdGhpcy5fcGFuZVZpZXdzPVtdLHRoaXMuX2ZvcmNlT3ZlcmxheXNQYW5lVmlld3M9W10sCnRoaXMuX2xlZ2VuZFZpZXc9bnVsbCx0aGlzLl9mbG9hdGluZ1Rvb2x0aXBWaWV3PW51bGwsdGhpcy5fcHJpY2VBeGlzVmlld3M9W10sdGhpcy5fZm9yY2VPdmVybGF5UHJpY2VBeGlzVmlld3M9W10sdGhpcy5fcHJpY2VBeGlzVmlld3NCYXNlPVtdLHRoaXMuX3Jlc29sdmVkU3ltYm9scz17fSx0aGlzLl9yZXNvbHZlZFN5bWJvbHNCeUlucHV0PXt9LHRoaXMuX3ByaWNlTGluZXNBeGlzVmlld3M9W10sdGhpcy5fbGFiZWxQYW5lVmlld3M9W10sdGhpcy5fZm9yY2VPdmVybGF5TGFiZWxQYW5lVmlld3M9W10sdGhpcy5fY3VycmVuY3lJbnB1dFByb3BlcnR5PW51bGwsdGhpcy5fdW5pdElucHV0UHJvcGVydHk9bnVsbCx0aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvPW5ldyBmLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9vd25GaXJzdFZhbHVlPW51bGwsdGhpcy5fZm9ybWF0dGVyPW51bGwsdGhpcy5fZGVmYXVsdEZvcm1hdHRlcj1udWxsLHRoaXMuX2RhdGFVcGRhdGVkPW5ldyB5LkRlbGVnYXRlLHRoaXMuX2N1cnJlbmN5U291cmNlU3ltYm9sSW5wdXRQcm9wZXJ0eT1udWxsLHRoaXMuX3BpbmVTb3VyY2VDb2RlTW9kZWw9bnVsbCx0aGlzLl9hbGVydFNvdXJjZU1vZGVsPW51bGwsdGhpcy5fb25IaWJlcm5hdGlvblN0YXRlQ2hhbmdlPW5ldyB5LkRlbGVnYXRlLHRoaXMuX3N5bWJvbHNSZXNvbHZlZD1uZXcgeS5EZWxlZ2F0ZSx0aGlzLl9zdGF0dXNDaGFuZ2VkPW5ldyB5LkRlbGVnYXRlLHRoaXMuX2lucHV0c0FuY2hvcnNQYW5lVmlldz1udWxsLHRoaXMuX2lucHV0c0xpbmVzUGFuZVZpZXc9bnVsbCx0aGlzLl9pbnB1dHNUaW1lQXhpc1BhbmVWaWV3cz1bXSx0aGlzLl9pbnB1dHNQcmljZUF4aXNQYW5lVmlld3M9W10sdGhpcy5fc291cmNlcz1uZXcgbS5XYXRjaGVkT2JqZWN0KFtdLHAuY29tcGFyZVR3b0NvbGxlY3Rpb25zQnlJZHMpLHRoaXMuX3N0YXR1cz1uZXcgZi5XYXRjaGVkVmFsdWUoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZH0pLHRoaXMuX2NvbXBpbGVBY3RpdmVTdGF0dXM9bmV3IG0uV2F0Y2hlZE9iamVjdChudWxsKSx0aGlzLl9jb21waWxlRXJyb3JTdGF0dXM9bmV3IG0uV2F0Y2hlZE9iamVjdChudWxsKSx0aGlzLl93YXNDb21wbGV0ZWRCZWZvcmU9ITEsdGhpcy5faXNTdGFydGVkPSExLHRoaXMuX2lzU3Vic2NyaWJlZFRvU2Vzc2lvbklkPSExLHRoaXMuX3RpdGxlU3RyQ2FjaGU9e30sdGhpcy5fdGl0bGVJblBhcnRzQ2FjaGU9e30sdGhpcy5fc3BsaXRUaXRsZUNhY2hlPXt9LHRoaXMuX2lucHV0c0luUGFydHNDYWNoZT17fSx0aGlzLl9jaGlsZHJlbj1bXSx0aGlzLl9ncmFwaGljc1ByaWNlQXhpc1ZpZXdzPVtdLHRoaXMuX3NlcnZlclBsb3RPZmZzZXRzPW5ldyBtLldhdGNoZWRPYmplY3Qoe30pLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuX3N0dWR5TW9kaWZpZWQ9ITEsdGhpcy5fdGFnc0NoYW5nZWQ9bmV3IHkuRGVsZWdhdGUsdGhpcy5fdHVybmFyb3VuZD0ic3QwIix0aGlzLl9wZW5kaW5nUmVzb2x2ZVN5bWJvbHM9bmV3IE1hcCx0aGlzLl9vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2U9bmV3IHkuRGVsZWdhdGUsdGhpcy5fY2hpbGRTdHVkeUJ5UmViaW5kPW5ldyB5LkRlbGVnYXRlLHRoaXMuX2xhc3ROb25FbXB0eVBsb3RSb3dDYWNoZT17fSx0aGlzLl9zdGFydE1vdmluZ1BvaW50PW51bGwsdGhpcy5fcHJvY2Vzc0hpYmVybmF0ZUJvdW5kPXRoaXMucHJvY2Vzc0hpYmVybmF0ZS5iaW5kKHRoaXMsMSksdGhpcy5fbWF4T2Zmc2V0PW5ldyBmLldhdGNoZWRWYWx1ZSgwKSx0aGlzLl9ncmFwaGljc1ByaWNlUmFuZ2VHcm91cHM9bnVsbCx0aGlzLl9ncmFwaGljc1ZpZXdzUmVhZHk9ITEsdGhpcy5fdmlzaWJsZVRpbWVSYW5nZUlucHV0cz1udWxsLHRoaXMuX3R1cm5hcm91bmRDb3VudGVyPTAsdGhpcy5fZGVmZXJyZWRQaW5lUGF0Y2hQcm9wcz0hMSx0aGlzLl9wcm9wZXJ0aWVzUGF0Y2hlZD1Qcm9taXNlLnJlc29sdmUoKSx0aGlzLl9yZXNldFByb3BlcnRpZXNQYXRjaGVkPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuX2Fib3J0UGF0Y2hQcm9wc0NvbnRyb2xsZXI9bmV3IEFib3J0Q29udHJvbGxlcix0aGlzLl9hYm9ydFJlc2V0UGF0Y2hQcm9wc0NvbnRyb2xsZXI9bmV3IEFib3J0Q29udHJvbGxlcix0aGlzLl9hYm91dFRvQmVEZXN0cm95ZWQ9bmV3IHkuRGVsZWdhdGUsdGhpcy5fZGVmaW5pdGlvbnNWaWV3TW9kZWw9bnVsbCx0aGlzLl9wbG90Rm9ybWF0dGVycz1uZXcgTWFwLHRoaXMuX3Nob3dQaW5lVmVyc2lvbkluU3RhdHVzTGluZT1uZXcgZi5XYXRjaGVkVmFsdWUoITEpLnNwYXduKCksdGhpcy5fb25QYXJlbnRTb3VyY2VzQ2hhbmdlcz1uZXcgeS5EZWxlZ2F0ZSx0aGlzLl9zdGF0dXNDaGFuZ2VzU3Vic2NyaWJlcj17fSx0aGlzLl9jYWxjdWxhdGlvblRpbWU9bmV3IGYuV2F0Y2hlZFZhbHVlKDApLHRoaXMuX3N0YXRlRm9yQWxlcnRDYWNoZT1udWxsLHRoaXMuX2lkRm9yQWxlcnRDYWNoZT1udWxsLHRoaXMuX2lkRm9yQWxlcnRXVj1uZXcgZi5XYXRjaGVkVmFsdWUoIiIpLHRoaXMuX2NoYXJ0QXBpPWUuY2hhcnRBcGkoKSx0aGlzLl9wcm9wZXJ0aWVzPXQsdGhpcy5fb3JpZ2luYWxNZXRhSW5mbz1uLHRoaXMuX21ldGFJbmZvPW5ldyBmLldhdGNoZWRWYWx1ZShyKSx0aGlzLl9zdHVkeU5hbWU9KDAsXy5jb21iaW5lKSgoZT0+ZS51c2VWZXJzaW9uRnJvbU1ldGFJbmZvPygwLHYuZ2V0U3R1ZHlJZFdpdGhWZXJzaW9uKShlKTp0aGlzLl9nZXRTdHVkeUlkV2l0aExhdGVzdFZlcnNpb24oKSksdGhpcy5fbWV0YUluZm8ud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9jb21wb3VuZFN0YXR1cz0oMCxfLmNvbWJpbmUpKCgoZSx0LHMpPT5lPz90Pz9zKSx0aGlzLl9jb21waWxlQWN0aXZlU3RhdHVzLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9jb21waWxlRXJyb3JTdGF0dXMud2Vha1JlZmVyZW5jZSgpLHRoaXMuX3N0YXR1cy53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2hpZGVNYXRjaGVzPXIuaW5wdXRzLmZpbHRlcigoZT0+ZS5oaWRlV2hlblBsb3RzSGlkZGVuKSkubWFwKChlPT4oe2lkOmUuaWQsCnBsb3RJZHM6ZS5oaWRlV2hlblBsb3RzSGlkZGVufHxbXX0pKSksdGhpcy5fc2VyaWVzPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSx0aGlzLl9zZXJpZXMub25JbnRlcnZhbENoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9jYWxjSXNBY3R1YWxJbnRlcnZhbCksdGhpcy5fc2VyaWVzLmFsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWxlcnRDcmVhdGlvbkF2YWlsYWJsZUJvdW5kKSx0aGlzLl9zaG93U3R1ZHlBcmd1bWVudHNQcm9wZXJ0eT0oMCx4ZS5jb21iaW5lUHJvcGVydHkpKCgoZSx0KT0+ZSYmdCksZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkubGVnZW5kUHJvcGVydGllcy5jaGlsZHMoKS5zaG93U3R1ZHlBcmd1bWVudHMud2Vha1JlZmVyZW5jZSgpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0xlZ2VuZElucHV0cy53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX21vZGVsLnN5bWJvbEFsaWFzU2VydmljZSgpPy5vbkFsaWFzQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX29uRm9ybWF0dGVyUHJvcHNDaGFuZ2VkKCksdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSgpfSkpLGUuY29sbGFwc2VkKCkuc3Vic2NyaWJlKHRoaXMuX3Byb2Nlc3NIaWJlcm5hdGVCb3VuZCksdGhpcy5fc291cmNlcy5zZXRWYWx1ZShzKSxmdW5jdGlvbihlLHQscyl7Zm9yKGNvbnN0IGkgb2YgZS5pbnB1dHMpe2lmKCF2LlN0dWR5TWV0YUluZm8uaXNTb3VyY2VJbnB1dChpKSljb250aW51ZTtjb25zdCBlPXMuY2hpbGRzKCkuaW5wdXRzJiZzLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKVtpLmlkXTtpZihlKXtjb25zdCBzPWUudmFsdWUoKSxpPXZzLmV4ZWMocyk7aWYoMj09PWk/Lmxlbmd0aCYmIntwaWR9Ij09PWlbMV0pe2NvbnN0IGk9cy5yZXBsYWNlKC9eW15cJF0rLyx0KTtlLnNldFZhbHVlKGkpfX19fShyLHNbMF0/LmlkKCksdCkscy5mb3JFYWNoKChlPT57ZS5zZXRDaGlsZCh0aGlzKX0pKSxbdGhpcy5fc2VyaWVzLC4uLnNdLmZvckVhY2goKGU9PntlLmN1cnJlbmN5Q2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU291cmNlQ3VycmVuY3lDaGFuZ2VkKSxlLnVuaXRDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Tb3VyY2VVbml0Q2hhbmdlZCksZS5tZXRyaWNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Tb3VyY2VNZXRyaWNDaGFuZ2VkKSxlLnByaWNlUmFuZ2VSZWFkeUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNvdXJjZVByaWNlUmFuZ2VSZWFkeUNoYW5nZWQpLGUuZm9ybWF0dGVyQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU291cmNlRm9ybWF0dGVyQ2hhbmdlZCksZS5wcmljZVN0ZXBDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Tb3VyY2VQcmljZVN0ZXBDaGFuZ2VkKX0pKSx4cyYmdGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdGF0dXNWaWV3U3R5bGUuY2hpbGRzKCkuc3ltYm9sVGV4dFNvdXJjZS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLmludmFsaWRhdGVUaXRsZUNhY2hlKCEwKX0pKTtjb25zdCBsPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7Zm9yKGNvbnN0IGUgb2Ygdi5TdHVkeU1ldGFJbmZvLmdldFNvdXJjZUlucHV0SWRzKHIpKWwuaW5wdXRzLmNoaWxkcygpW2VdPy5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNvdXJjZUlucHV0Q2hhbmdlZCk7dGhpcy5fcGxvdE9mZnNldHM9KDAsXy5jb21iaW5lKSgoKGUsdCxzLGkpPT4oaS5wbG90cz8/W10pLnJlZHVjZSgoKGkscik9Pntjb25zdCBuPXIuaWQsYT0oZVtuXT8/MCkrKHM/LmNoaWxkcygpW25dPy5jaGlsZHMoKS52YWwudmFsdWUoKT8/MCkrKHQ/PzApO3JldHVybiBpW25dPWEsaX0pLHt9KSksdGhpcy5fc2VydmVyUGxvdE9mZnNldHMud2Vha1JlZmVyZW5jZSgpLCgwLFJlLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT50aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5vZmZzZXQ/LmNoaWxkcygpLnZhbC52YWx1ZSgpKSx0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5vZmZzZXQ/P25ldyB5LkRlbGVnYXRlKS5vd25lcnNoaXAoKSwoMCxSZS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkub2Zmc2V0cyksdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkub2Zmc2V0cz8/bmV3IHkuRGVsZWdhdGUpLm93bmVyc2hpcCgpLHRoaXMuX21ldGFJbmZvLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fcHJvcGVydGllcy5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblByb3BlcnRpZXNDaGFuZ2VkKSxsLnZpc2libGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdmlzaWJsZUNoYW5nZWQpLGwudmlzaWJsZS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMucHJvY2Vzc0hpYmVybmF0ZSgpKSksbC5pbnRlcnZhbHNWaXNpYmlsaXRpZXMuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY2FsY0lzQWN0dWFsSW50ZXJ2YWwpLGwuaW5wdXRzLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZU1heE9mZnNldFZhbHVlKSx2b2lkIDAhPT1sLm9mZnNldHMmJmwub2Zmc2V0cy5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVNYXhPZmZzZXRWYWx1ZSksdm9pZCAwIT09bC5vZmZzZXQmJmwub2Zmc2V0LnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZU1heE9mZnNldFZhbHVlKSxRLmhpZGVBbGxJbmRpY2F0b3JzKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdmlzaWJsZUNoYW5nZWQpO2ZvcihsZXQgZT0wO2U8ci5wbG90cy5sZW5ndGg7ZSsrKXtjb25zdCB0PXIucGxvdHNbZV0scz10LmlkLGk9bC5zdHlsZXMuY2hpbGRzKClbc10sbj0oMCxaLmlzQmFyQ29sb3JlclBsb3QpKHQpO2kmJiFpLmhhc0NoaWxkKCJkaXNwbGF5IikmJmkubWVyZ2Uoe2Rpc3BsYXk6Wi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LkFsbH0pLGk/LmNoaWxkcygpLmRpc3BsYXkuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5wcm9jZXNzSGliZXJuYXRlKCksdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSgpLApuJiZ0aGlzLl9zZXJpZXMuaW52YWxpZGF0ZUJhckNvbG9yZXJDYWNoZSgpfSkpfWZvcihjb25zdCBlIG9mIE9iamVjdC5rZXlzKHIuZ3JhcGhpY3MpKWZvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKHIuZ3JhcGhpY3NbZV0pKXtjb25zdCBzPWwuZ3JhcGhpY3MuY2hpbGRzKClbZV0/LmNoaWxkcygpW3RdO3MmJnMuY2hpbGRzKCkudmlzaWJsZSYmKDAsaC5lbnN1cmVEZWZpbmVkKShzLmNoaWxkcygpLnZpc2libGUpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5wcm9jZXNzSGliZXJuYXRlKCkpKX10aGlzLl9pc0FjdHVhbEludGVydmFsPSgwLFh0LmlzQWN0dWFsSW50ZXJ2YWwpKHRoaXMuX3Nlcmllcy5pbnRlcnZhbE9iaigpLnZhbHVlKCksbC5pbnRlcnZhbHNWaXNpYmlsaXRpZXMpLHRoaXMuX2luaXRpYWxpemVTdHVkeUlucHV0c1BhbmVWaWV3cygpLHRoaXMuX2hhbmRsZXI9ZT0+dGhpcy5fb25EYXRhKGUpLHRoaXMuX3ZhbHVlc1Byb3ZpZGVyPW5ldyBocy5TdHVkeVZhbHVlc1Byb3ZpZGVyKHRoaXMsZSksdGhpcy5fdGFibGVWaWV3VmFsdWVzUHJvdmlkZXI9bmV3IGZzLlN0dWR5VGFibGVWaWV3VmFsdWVzUHJvdmlkZXIodGhpcyxlKSx0aGlzLl9ncmFwaGljc1ByaWNlUmFuZ2VHcm91cHM9Z2UodGhpcyksdGhpcy5fZ3JhcGhpY3M9bmV3IEsuTGl2ZVN0dWR5R3JhcGhpY3Moci5ncmFwaGljcyksdGhpcy5fc2lnbmxlUGVyZm9ybWFuY2VWYWx1ZT0oMCxNZS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb25zKSgoKCk9PkFycmF5LmZyb20oKDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9ncmFwaGljcy5wZXJmb3JtYW5jZSgpLmdldCgicGVyZm9ybWFuY2UiKSkpWzBdPz9udWxsKSxbKDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9ncmFwaGljcy5vYnNlcnZhYmxlUGVyZm9ybWFuY2UoKS5nZXQoInBlcmZvcm1hbmNlIikpLmNoYW5nZWQoKSwoMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyYXBoaWNzLm9ic2VydmFibGVQZXJmb3JtYW5jZSgpLmdldCgicGVyZm9ybWFuY2UiKSkuY2xlYXJlZCgpXSksdGhpcy5fY2hhcnRBcGk9ZS5jaGFydEFwaSgpLHRoaXMuX2ludmFsaWRhdGVMYXN0Tm9uRW1wdHlQbG90Um93Q2FjaGUoKSx0aGlzLl9kYXRhPW5ldyBnLlBsb3RMaXN0KCgwLGNzLnN0dWR5UGxvdEZ1bmN0aW9uTWFwKShyKSxjcy5zdHVkeUVtcHR5UGxvdFZhbHVlUHJlZGljYXRlKSx0aGlzLl9jcmVhdGVWaWV3cygpLHRoaXMuX3JlY3JlYXRlUHJpY2VGb3JtYXR0aW5nRGVwZW5kZW5jaWVzKHRoaXMuX3Nlcmllcy5zeW1ib2xJbmZvKCkpLGwucHJlY2lzaW9uLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRm9ybWF0dGVyUHJvcHNDaGFuZ2VkKSx0aGlzLl9tZXRhSW5mby5zdWJzY3JpYmUoKCgpPT50aGlzLl9vbkZvcm1hdHRlclByb3BzQ2hhbmdlZCgpKSksdGhpcy5fc2hvd1N0dWR5QXJndW1lbnRzUHJvcGVydHkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLmludmFsaWRhdGVUaXRsZUNhY2hlKCEwKSkpLGwuaW5wdXRzLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSghMCkpKSwoMCxJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1cGRhdGVfc3R1ZHlfZm9ybWF0dGVyX29uX3N5bWJvbF9yZXNvbHZlIikmJmUubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3JlY3JlYXRlUHJpY2VGb3JtYXR0aW5nRGVwZW5kZW5jaWVzKSxlLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuaW52YWxpZGF0ZVRpdGxlQ2FjaGUoITApKSk7Y29uc3QgdT1uZXcgU2V0O2lmKHRoaXMuX3NpbXBsZVBsb3RzQ291bnQ9ci5wbG90cy5maWx0ZXIoKChlLHQpPT57aWYoKDAsWi5pc0xpbmVQbG90KShlKSlyZXR1cm4hMDtpZigoMCxaLmlzT2hsY1Bsb3QpKGUpKXtjb25zdCB0PWUudGFyZ2V0O3JldHVybiF1Lmhhcyh0KSYmKHUuYWRkKHQpLCEwKX1yZXR1cm4hMX0pKS5sZW5ndGgsdGhpcy5oYXNCYXJDb2xvcmVyKCkmJmwudmlzaWJsZS5zdWJzY3JpYmUodGhpcywoKCk9PmUubWFpblNlcmllcygpLmludmFsaWRhdGVCYXJTdHlsZXNDYWNoZSkpLHRoaXMuX2RlZmluaXRpb25zVmlld01vZGVsPW51bGwsdGhpcy5fdXBkYXRlTWF4T2Zmc2V0VmFsdWUoKSxyLmlucHV0cy5zb21lKChlPT5Icy5oYXMoZS5pZCkpKSl7dGhpcy5fdmlzaWJsZVRpbWVSYW5nZUlucHV0cz1lLnZpc2libGVSYW5nZVN0dWRpZXNJbnB1dHMoKS5zcGF3bigpO2NvbnN0IHQ9dGhpcy5fdmlzaWJsZVRpbWVSYW5nZUlucHV0cy52YWx1ZSgpO2xldCBzPW51bGwhPT10O3RoaXMuX3Zpc2libGVUaW1lUmFuZ2VJbnB1dHMuc3Vic2NyaWJlKChlPT57Y29uc3QgdD0oKT0+e3RoaXMuX29uVmlzaWJsZVRpbWVSYW5nZUlucHV0c0NoYW5nZWQoZSkscyE9PShudWxsIT09ZSkmJihzPW51bGwhPT1lLCFzfHx0aGlzLl9yZXN0YXJ0aW5nfHx0aGlzLmlzU3RhcnRlZCgpfHx0aGlzLnN0YXJ0KCEwKSl9O3RoaXMuX3N0YXR1c0NoYW5nZWQudW5zdWJzY3JpYmVBbGwodGhpcy5fc3RhdHVzQ2hhbmdlc1N1YnNjcmliZXIpLHRoaXMuX3N0YXR1cy52YWx1ZSgpLnR5cGU9PT1adC5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZz90aGlzLl9zdGF0dXNDaGFuZ2VkLnN1YnNjcmliZSh0aGlzLl9zdGF0dXNDaGFuZ2VzU3Vic2NyaWJlcix0LCEwKTp0KCl9KSksdCYmdGhpcy5fdXBkYXRlVmlzaWJsZVRpbWVSYW5nZUlucHV0cyh0LCExKX0oMCxDZS5pc0NvdW50ZWRVc2VyU2NyaXB0KShyKSYmKHRoaXMuX3Nob3dQaW5lVmVyc2lvbkluU3RhdHVzTGluZT0oMCxfLmNvbWJpbmUpKChlPT4oMCxDZS51c2VyU2NyaXB0VmVyc2lvbnNDb3VudCkoci5zY3JpcHRJZFBhcnQpPjEpLCgwLENlLnVzZXJTY3JpcHRzT25MYXlvdXQpKCkud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9zaG93UGluZVZlcnNpb25JblN0YXR1c0xpbmUuc3Vic2NyaWJlKCgoKT0+e3RoaXMuaW52YWxpZGF0ZVRpdGxlQ2FjaGUoKSxlLnVwZGF0ZVNvdXJjZSh0aGlzKX0pKSksdGhpcy5fcHJvcGVydGllcy5zZXROYW1lSW5Pd25lcigoMCwKbXMucHJvcGVydHlQYXRoRm9yU291cmNlKSh0aGlzKSksbyYmdGhpcy5fcGluZVBhdGNoUHJvcHMoKTtjb25zdCBjPUJzKHRoaXMucGFyZW50U291cmNlc1ZXKCkud2Vha1JlZmVyZW5jZSgpKTtpZih0aGlzLl9hbGxPd25lclNvdXJjZXM9KDAsXy5jb21iaW5lKSgoKGUsdCk9PmUpLGMsKDAsUmUuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoKCk9PnRoaXMub3duZXJTb3VyY2UoKSksdGhpcy5vd25lclNvdXJjZUNoYW5nZWQoKSkub3duZXJzaGlwKCkpLHRoaXMuX2F2YWlsYWJsZUN1cnJlbmNpZXM9ZS5hdmFpbGFibGVDdXJyZW5jaWVzKCkuc3Bhd24oKSx0aGlzLl9jdXJyZW5jeU9yaWdpblNvdXJjZT0oMCxfLmNvbWJpbmUpKCgoZSx0KT0+ZT90aGlzOnQpLHRoaXMuX2lzQ3VycmVuY3lPcmlnaW4ud2Vha1JlZmVyZW5jZSgpLCgwLF8uYWNjdW11bGF0ZSkoKGU9PmVbMF0pLCgwLF8uY29tYmluZSkoKCgpPT5bdGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpLmN1cnJlbmN5T3JpZ2luU291cmNlKCkud2Vha1JlZmVyZW5jZSgpXSksdGhpcy5fYWxsT3duZXJTb3VyY2VzLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCkpLm93bmVyc2hpcCgpKSx0aGlzLl9hdmFpbGFibGVVbml0cz1lLmF2YWlsYWJsZVVuaXRzKCkuc3Bhd24oKSx0aGlzLl91bml0T3JpZ2luU291cmNlPSgwLF8uY29tYmluZSkoKChlLHQpPT5lP3RoaXM6dCksdGhpcy5faXNVbml0T3JpZ2luLndlYWtSZWZlcmVuY2UoKSwoMCxfLmFjY3VtdWxhdGUpKChlPT5lWzBdKSwoMCxfLmNvbWJpbmUpKCgoKT0+W3RoaXMuX2ZpcnN0U291cmNlT3JTZXJpZXMoKS51bml0T3JpZ2luU291cmNlKCkud2Vha1JlZmVyZW5jZSgpXSksdGhpcy5fYWxsT3duZXJTb3VyY2VzLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCkpLm93bmVyc2hpcCgpKSx0aGlzLl9zeW1ib2xTb3VyY2U9KDAsXy5jb21iaW5lKSgoKCk9PnRoaXMuX2dldFN5bWJvbFNvdXJjZSgpKSx0aGlzLl9hbGxPd25lclNvdXJjZXMud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9zeW1ib2xTb3VyY2VTeW1ib2xJbmZvPSgwLF8uYWNjdW11bGF0ZSkoKGU9PmVbMF0pLCgwLF8uY29tYmluZSkoKGU9PltlLnN5bWJvbEluZm9XVigpLndlYWtSZWZlcmVuY2UoKV0pLHRoaXMuX3N5bWJvbFNvdXJjZS53ZWFrUmVmZXJlbmNlKCkpLndlYWtSZWZlcmVuY2UoKSksIWEmJnIuVFZTY3JpcHRNZXRhSW5mb0V4cHJzJiZyLmRlZmF1bHRzLmlucHV0cyl7Y29uc3QgZT10aGlzLmlucHV0cygpO2Zvcihjb25zdCB0IG9mIHIuaW5wdXRzKXQuaXNIaWRkZW58fCgwLERlLmlzU3R1ZHlJbnB1dERlcGVuZHNPbkNoYXJ0KSh0KXx8ci5kZWZhdWx0cy5pbnB1dHNbdC5pZF0hPT1lW3QuaWRdJiYodGhpcy5fZGVmZXJyZWRQaW5lUGF0Y2hQcm9wcz0hMCx0aGlzLl9vbGRTdHVkeUlucHV0cz10aGlzLl9vbGRTdHVkeUlucHV0cz8/dGhpcy5fcHJlcGFyZUlucHV0cyhWcyksdGhpcy5fb2xkU3R1ZHlJbnB1dHNbdC5pZF09ci5kZWZhdWx0cy5pbnB1dHNbdC5pZF0pfWlmKHIuVFZTY3JpcHRNZXRhSW5mb0V4cHJzKXt0aGlzLl9wcmV2aW91c1BhdGNoTWFwPXt9O2NvbnN0IGU9ci5UVlNjcmlwdE1ldGFJbmZvRXhwcnMucGF0Y2hNYXB8fHt9LHQ9bmV3IHYuU3R1ZHlNZXRhSW5mbyh0aGlzLl9tZXRhSW5mby52YWx1ZSgpLnN0YXRlKCksdGhpcy5fbWV0YUluZm8udmFsdWUoKS51c2VWZXJzaW9uRnJvbU1ldGFJbmZvKTsoMCxGLml0ZXJhdGVBbmRQYXRjaE9iamVjdHNCeU1hcCkoW3RoaXMuX3Byb3BlcnRpZXMsdC5kZWZhdWx0cyx0XSxlLCgoZSx0LHMpPT57Y29uc3QgaT1lWzBdLHI9ZVsxXSxuPWVbMl07cj8uaGFzT3duUHJvcGVydHkodCk/KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcmV2aW91c1BhdGNoTWFwKVtzXT1pW3RdLnZhbHVlKCk6KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcmV2aW91c1BhdGNoTWFwKVtzXT1uW3RdfSkpLHRoaXMuX21ldGFJbmZvLnNldFZhbHVlKHQpfXtjb25zdCB0PSgwLF8uY29tYmluZSkoKGU9PmUubWFwKChlPT4oMCxHLmlzU3R1ZHkpKGUpPygwLFJlLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLmlucHV0cygpKSxlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMpLm93bmVyc2hpcCgpOm5ldyBmLldhdGNoZWRWYWx1ZSgwKS5vd25lcnNoaXAoKSkpKSx0aGlzLl9hbGxPd25lclNvdXJjZXMud2Vha1JlZmVyZW5jZSgpKSxzPSgwLF8uYWNjdW11bGF0ZSkoKChlLHQpPT4odD8/MCkrMSksdC5vd25lcnNoaXAoKSkscj0oMCxfLmNvbWJpbmUpKCgoZSx0LHMpPT4ocz8/MCkrMSksKDAsUmUuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoKCk9PnRoaXMuZm9ybWF0dGVyKCkpLHRoaXMuZm9ybWF0dGVyQ2hhbmdlZCgpKS5vd25lcnNoaXAoKSwoMCxSZS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+dGhpcy5pbnB1dHMoKSksdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzKS5vd25lcnNoaXAoKSk7dGhpcy5fYWxlcnRTdGF0ZVZlcnNpb249KDAsXy5jb21iaW5lKSgoKGUsdCxzLGkscik9PihyPz8wKSsxKSx0aGlzLl9tZXRhSW5mby53ZWFrUmVmZXJlbmNlKCksdGhpcy5fcGxvdE9mZnNldHMud2Vha1JlZmVyZW5jZSgpLHMub3duZXJzaGlwKCksci5vd25lcnNoaXAoKSk7Y29uc3Qgbj0oMCxpLmRlZmF1bHQpKCgoKT0+dGhpcy5faWRGb3JBbGVydFdWLnNldFZhbHVlKHRoaXMuaWRGb3JBbGVydCgpKSksNTAwKTt0aGlzLl9hbGVydFN0YXRlVmVyc2lvbi5zdWJzY3JpYmUoKCgpPT57dGhpcy5fc3RhdGVGb3JBbGVydENhY2hlPW51bGwsdGhpcy5faWRGb3JBbGVydENhY2hlPW51bGwsbigpfSkpLG4oKSx0aGlzLl9hbGVydFNvdXJjZU1vZGVsPW5ldyBrKGUsdGhpcy5faWRGb3JBbGVydFdWLndlYWtSZWZlcmVuY2UoKSk7Y29uc3QgYT0oKT0+e3RoaXMuX3NpZ25hdHVyZS5zZXRWYWx1ZSgoMCxWZS5zdHVkeVNpZ25hdHVyZSkodGhpcy5tZXRhSW5mbygpLnNjcmlwdElkUGFydCx0aGlzLm1ldGFJbmZvKCkuaW5wdXRzLHRoaXMuaW5wdXRzKHtvbmx5QXRvbVZhbHVlczohMCwKYXNPYmplY3Q6ITB9KSkpfTt0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5zdWJzY3JpYmUodGhpcyxhKSxhKCl9dGhpcy5fcHJvcGVydGllcy5vblJlc3RvcmVGYWN0b3J5RGVmYXVsdHMoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVSZXN0b3JpbmdGYWN0b3J5RGVmYXVsdHMpLHRoaXMuX2N1cnJlbmN5SW5wdXRQcm9wZXJ0eT10aGlzLl9nZXRDdXJyZW5jeUlucHV0UHJvcGVydHkoKSx0aGlzLl9jdXJyZW5jeUlucHV0UHJvcGVydHkmJih0aGlzLl9pc0N1cnJlbmN5T3JpZ2luLnNldFZhbHVlKCEwKSx0aGlzLl9jdXJyZW5jeUlucHV0UHJvcGVydHkuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5fY3VycmVuY3lDaGFuZ2VkLmZpcmUoKX0pKSksdGhpcy5fdW5pdElucHV0UHJvcGVydHk9dGhpcy5fZ2V0VW5pdElucHV0UHJvcGVydHkoKSx0aGlzLl91bml0SW5wdXRQcm9wZXJ0eSYmKHRoaXMuX2lzVW5pdE9yaWdpbi5zZXRWYWx1ZSghMCksdGhpcy5fdW5pdElucHV0UHJvcGVydHkuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5fdW5pdENoYW5nZWQuZmlyZSgpfSkpKSx0aGlzLl9pbml0Q3VycmVuY3lNZXRhRGF0YSgpLHRoaXMuX2luaXRVbml0TWV0YURhdGEoKTtjb25zdCBkPSgpPT5lLnJlYWxpZ25MaW5lVG9vbHModGhpcyk7dGhpcy5faXNDdXJyZW5jeU9yaWdpbi5zdWJzY3JpYmUoZCksdGhpcy5faXNVbml0T3JpZ2luLnN1YnNjcmliZShkKSx0aGlzLl9jdXJyZW5jeU1ldGFEYXRhLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9pc0N1cnJlbmN5T3JpZ2luLnZhbHVlKCkmJmUucmVhbGlnbkxpbmVUb29scyh0aGlzKX0pKSx0aGlzLl91bml0TWV0YURhdGEuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2lzVW5pdE9yaWdpbi52YWx1ZSgpJiZlLnJlYWxpZ25MaW5lVG9vbHModGhpcyl9KSl9ZGVzdHJveSgpe3RoaXMuX3NpZ25sZVBlcmZvcm1hbmNlVmFsdWU/LmRlc3Ryb3koKSx0aGlzLl9hYm91dFRvQmVEZXN0cm95ZWQuZmlyZSgpLG51bGwhPT10aGlzLl9kZWZpbml0aW9uc1ZpZXdNb2RlbCYmKHRoaXMuX2RlZmluaXRpb25zVmlld01vZGVsLmRlc3Ryb3koKSx0aGlzLl9kZWZpbml0aW9uc1ZpZXdNb2RlbD1udWxsKSx0aGlzLl9zaG93U3R1ZHlBcmd1bWVudHNQcm9wZXJ0eS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbW9kZWwuc3ltYm9sQWxpYXNTZXJ2aWNlKCk/Lm9uQWxpYXNDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyk7dGhpcy5wYXJlbnRTb3VyY2VzKCkuZm9yRWFjaCgoZT0+e2UuY3VycmVuY3lDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS51bml0Q2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUubWV0cmljQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUucHJpY2VSYW5nZVJlYWR5Q2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUuZm9ybWF0dGVyQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUucHJpY2VTdGVwQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpfSkpLHRoaXMuX3Nlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3RhdHVzVmlld1N0eWxlLmNoaWxkcygpLnN5bWJvbFRleHRTb3VyY2UudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fc2VyaWVzLm9uSW50ZXJ2YWxDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fc2VyaWVzLmFsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVBbGVydENyZWF0aW9uQXZhaWxhYmxlQm91bmQpLHRoaXMuZm9ybWF0dGVyQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSksUS5oaWRlQWxsSW5kaWNhdG9ycygpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdmlzaWJsZUNoYW5nZWQpLHRoaXMuX21vZGVsLmNvbGxhcHNlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3Byb2Nlc3NIaWJlcm5hdGVCb3VuZCksbnVsbCE9PXRoaXMuX2N1cnJlbmN5U291cmNlU3ltYm9sSW5wdXRQcm9wZXJ0eSYmdGhpcy5fY3VycmVuY3lTb3VyY2VTeW1ib2xJbnB1dFByb3BlcnR5LnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2xlZ2VuZFZpZXc/LmRlc3Ryb3koKSx0aGlzLl9mbG9hdGluZ1Rvb2x0aXBWaWV3Py5kZXN0cm95KCksdGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbD8uZ2V0KCk/LmRlc3Ryb3koKSx0aGlzLl92aXNpYmxlVGltZVJhbmdlSW5wdXRzPy5kZXN0cm95KCksdGhpcy5fc2hvd1BpbmVWZXJzaW9uSW5TdGF0dXNMaW5lLmRlc3Ryb3koKSx0aGlzLl9hbGVydFN0YXRlVmVyc2lvbj8uZGVzdHJveSgpLHRoaXMuX2FsZXJ0U291cmNlTW9kZWw/LmRlc3Ryb3koKSx0aGlzLl9tZXRhSW5mby5kZXN0cm95KCksdGhpcy5fc3R1ZHlOYW1lLmRlc3Ryb3koKSx0aGlzLl9hbGxPd25lclNvdXJjZXMuZGVzdHJveSgpLHRoaXMuX3NvdXJjZXMuZGVzdHJveSgpLHRoaXMuX3N5bWJvbFNvdXJjZS5kZXN0cm95KCksdGhpcy5fc3ltYm9sU291cmNlU3ltYm9sSW5mby5kZXN0cm95KCksdGhpcy5fc3RhdHVzLmRlc3Ryb3koKSx0aGlzLl9jb21waWxlQWN0aXZlU3RhdHVzLmRlc3Ryb3koKSx0aGlzLl9jb21waWxlRXJyb3JTdGF0dXMuZGVzdHJveSgpLHRoaXMuX3Bsb3RPZmZzZXRzLmRlc3Ryb3koKSx0aGlzLl9zZXJ2ZXJQbG90T2Zmc2V0cy5kZXN0cm95KCksdGhpcy5fcHJvcGVydGllcy5vblJlc3RvcmVGYWN0b3J5RGVmYXVsdHMoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZVJlc3RvcmluZ0ZhY3RvcnlEZWZhdWx0cyksdGhpcy5fcHJvcGVydGllcy5kZXN0cm95KCksdGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llcy5kZXN0cm95KCksdGhpcy5fYXZhaWxhYmxlVW5pdHMuZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1zZXRJZChlKXtzdXBlci5zZXRJZChlKSx0aGlzLl9wcm9wZXJ0aWVzLnNldE5hbWVJbk93bmVyKCgwLG1zLnByb3BlcnR5UGF0aEZvclNvdXJjZSkodGhpcykpfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc30KcHJvcGVydGllc1BhdGNoZWQoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc1BhdGNoZWR9aXNEcmFnZ2FibGUoKXtyZXR1cm4hdGhpcy5fbWV0YUluZm8udmFsdWUoKS5saW5rZWRUb1Nlcmllc31sb2dzKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuZ3JhcGhpY3MubG9ncyYmdGhpcy5fZ3JhcGhpY3MgaW5zdGFuY2VvZiBLLkxpdmVTdHVkeUdyYXBoaWNzPygwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5fZ3JhcGhpY3Mub2JzZXJ2YWJsZUxvZ3MoKS5nZXQoImxvZ3MiKSk6bnVsbH1sb2dMZXZlbE1hc2soKXtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLl9fbG9nX2xldmVsLnZhbHVlKCk7aWYoISgwLHUuaXNOdW1iZXIpKGUpfHxlPDB8fGU+Nyl0aHJvdyBuZXcgRXJyb3IoYFZhbHVlIG9mIGxvZyBsZXZlbCBpcyB1bmV4cGVjdGVkLCBjdXJyZW50IHZhbHVlIGlzICR7ZX0sIGJ1dCBleHBlY3RlZCB2YWx1ZXMgZnJvbSAwIHRvIDdgKTtyZXR1cm57ZXJyb3I6Qm9vbGVhbigxJmUpLHdhcm5pbmc6Qm9vbGVhbigyJmUpLGluZm86Qm9vbGVhbig0JmUpfX1zZXRMb2dMZXZlbE1hc2soZSl7Y29uc3QgdD0oTnVtYmVyKGUuZXJyb3IpJiYxKXwoTnVtYmVyKGUud2FybmluZykmJjIpfChOdW1iZXIoZS5pbmZvKSYmNCk7dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuX19sb2dfbGV2ZWwuc2V0VmFsdWUodCl9cGVyZm9ybWFuY2UoKXtyZXR1cm4gdGhpcy5fZ3JhcGhpY3MgaW5zdGFuY2VvZiBLLkxpdmVTdHVkeUdyYXBoaWNzP3RoaXMuX3NpZ25sZVBlcmZvcm1hbmNlVmFsdWU6bmV3IGYuV2F0Y2hlZFZhbHVlKG51bGwpfXByb2ZpbGluZ0VuYWJsZWQoKXtyZXR1cm4hIXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLl9fcHJvZmlsZT8udmFsdWUoKX1lbmFibGVQcm9maWxpbmcoZSl7dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuX19wcm9maWxlPy5zZXRWYWx1ZShlKX1vbkFib3V0VG9CZURlc3Ryb3llZCgpe3JldHVybiB0aGlzLl9hYm91dFRvQmVEZXN0cm95ZWR9cHJpY2VTY2FsZShlKXtyZXR1cm4gZT90aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpOnN1cGVyLnByaWNlU2NhbGUoKX1sYXN0VmFsdWVEYXRhKGUsdCxzKXtjb25zdCBpPXtub0RhdGE6ITB9LHI9dGhpcy5tZXRhSW5mbygpLmlzUGxvdEZvcmNlT3ZlcmxheShlKSxuPXI/dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTp0aGlzLnByaWNlU2NhbGUoKTtpZih0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5pc0VtcHR5KCl8fG51bGw9PT1ufHxuLmlzRW1wdHkoKXx8dGhpcy5kYXRhKCkuaXNFbXB0eSgpKXJldHVybiBpO2NvbnN0IGE9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpLG89dGhpcy5maXJzdFZhbHVlKCEwLHIpO2lmKG51bGw9PT1hfHxudWxsPT09bylyZXR1cm4gaTtpZighdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpcmV0dXJuIGk7Y29uc3QgbD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnN0eWxlcyxoPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkub2hsY1Bsb3RzO2xldCBjLGQ7aWYobCYmbC5jaGlsZHMoKVtlXSYmKGM9bC5jaGlsZHMoKVtlXSksaCYmaC5jaGlsZHMoKVtlXSYmKGM9aC5jaGlsZHMoKVtlXSksIWN8fGMuY2hpbGRzKCkuZGlzcGxheS52YWx1ZSgpPT09Wi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0Lk5vbmUpcmV0dXJuIGk7Y29uc3QgcD10aGlzLm1ldGFJbmZvKCkucGxvdHM7Zm9yKGQ9MDtkPHAubGVuZ3RoO2QrKyl7Y29uc3QgdD1wW2RdO2lmKHQuaWQ9PT1lfHwoMCxaLmlzT2hsY0Nsb3NlUGxvdCkodCkmJnQudGFyZ2V0PT09ZSlicmVha31jb25zdCBfPWQrMSxmPXRoaXMub2Zmc2V0KGUpLG09dGhpcy5uZWFyZXN0SW5kZXgoYS5sYXN0QmFyKCktZixTLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RMZWZ0LF8pO2lmKHZvaWQgMD09PW0pcmV0dXJuIGk7Y29uc3QgeT10aGlzLl9sYXN0Tm9uRW1wdHlQbG90Um93KF8pLGc9bnVsbCE9PXkmJmEuY29udGFpbnMoeS5pbmRleCksYj1udWxsIT09eT95LnZhbHVlOm51bGwsdj10fHxnP2I6dGhpcy5kYXRhKCkudmFsdWVBdChtKTtpZighdnx8ISgwLHUuaXNOdW1iZXIpKHZbX10pKXJldHVybiBpO2NvbnN0IFA9dltfXSxJPXRoaXMuX3ZhbHVlc1Byb3ZpZGVyLmdldFBsb3RDb2xvcihkLHYpLHc9bi5wcmljZVRvQ29vcmRpbmF0ZShQLG8pLEM9dGhpcy5wbG90Rm9ybWF0dGVyKGUpLmZvcm1hdChQKSxWPXsuLi5uLmdldEZvcm1hdHRlZFZhbHVlcyhQLG8sdm9pZCAwLEMpLG5vRGF0YTohMSxjb2xvcjpJLGNvb3JkaW5hdGU6d307cmV0dXJuIHMmJihWLnByaWNlPVApLFZ9aXNGYWlsZWQoKXtyZXR1cm4gdGhpcy5zdGF0dXMoKS50eXBlPT09WnQuU3R1ZHlTdGF0dXNUeXBlLkVycm9yfWlzTG9hZGluZygpe3JldHVybiB0aGlzLnN0YXR1cygpLnR5cGU9PT1adC5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZ31pc0NvbXBsZXRlZCgpe3JldHVybiB0aGlzLnN0YXR1cygpLnR5cGU9PT1adC5TdHVkeVN0YXR1c1R5cGUuQ29tcGxldGVkfWlzU3ltYm9sSW52YWxpZCgpe2NvbnN0IGU9dGhpcy5fc3RhdHVzLnZhbHVlKCk7cmV0dXJuIGUudHlwZT09PVp0LlN0dWR5U3RhdHVzVHlwZS5FcnJvciYmZS5lcnJvckRlc2NyaXB0aW9uLmVycm9yPT09YnN9c2VyaWVzKCl7cmV0dXJuIHRoaXMuX3Nlcmllc31tb2RlbCgpe3JldHVybiB0aGlzLl9tb2RlbH1zdGF0ZShlLHQpe2NvbnN0IHM9KDAsaC5lbnN1cmVOb3ROdWxsKSgoMCxBLmdldFN0dWR5Q2xhc3NOYW1lKSh0aGlzLmNvbnN0cnVjdG9yKSksaT10aGlzLm1ldGFJbmZvKCkscj10aGlzLnByb3BlcnRpZXMoKS5zdGF0ZSgpLG49e3R5cGU6cyxpZDp0aGlzLmlkKCksc3RhdGU6cix6b3JkZXI6dGhpcy56b3JkZXIoKSxvd25GaXJzdFZhbHVlOnRoaXMuaXNWaXNpYmxlKCk/bnVsbDp0aGlzLl9vd25GaXJzdFZhbHVlLG1ldGFJbmZvOnRoaXMuX29yaWdpbmFsTWV0YUluZm8uc3RhdGUoKX0sYT0oMCwKbC5kZWZhdWx0KShuLm1ldGFJbmZvLHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuc3RhdGUoKSk7KDAsby5kZWZhdWx0KShhKXx8KG4ubWV0YUluZm9QYXRjaD1hKTtjb25zdCB1PXRoaXMuX3NvdXJjZXMudmFsdWUoKS5tYXAoKGU9PmUuaWQoKSkpO2lmKHUubGVuZ3RoJiYobi5wYXJlbnRTb3VyY2VzPXUpLGUpe2xldCBlPXRoaXMuZGF0YSgpO2NvbnN0IHQ9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkscz10aGlzLl9zZXJpZXNEYXRhUmFuZ2VUb1NhdmUoZSk7bnVsbCE9PXMmJihlPWUucmFuZ2Uocy5maXJzdEJhcigpLHMubGFzdEJhcigpKSksbi5kYXRhPWUuc3RhdGUoKSxuLmRhdGEuc3ltYm9scz10aGlzLl9yZXNvbHZlZFN5bWJvbHMsbi5kYXRhLmdyYXBoaWNzPSgwLEsuc2F2ZVN0dWR5R3JhcGhpY3MpKHRoaXMuZ3JhcGhpY3MoKSx0LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSksbi5kYXRhLnBsb3RPZmZzZXRzPXRoaXMuX3NlcnZlclBsb3RPZmZzZXRzLnZhbHVlKCl9dGhpcy5vd25lclNvdXJjZSgpJiYobi5vd25lclNvdXJjZT10aGlzLm93bmVyU291cmNlKCk/LmlkKCkpO2ZvcihsZXQgZT0wO2U8aS5pbnB1dHMubGVuZ3RoO2UrKylpZigiYmFyX3RpbWUiPT09aS5pbnB1dHNbZV0udHlwZSl7Y29uc3QgdD1pLmlucHV0c1tlXS5pZCxzPW4uc3RhdGUuaW5wdXRzW3RdO2lmKHM8MCl7Y29uc3QgZT10aGlzLl9yaWdodE9mZnNldFRvVW5peFRpbWUoLXMpO24uc3RhdGUuaW5wdXRzW3RdPWUmJmU+PTA/ZTowfX1pZihuLnN0YXRlPy5pbnB1dHMpe2NvbnN0IGU9bi5tZXRhSW5mby5pbnB1dHMuZmluZCgoZT0+IklMU2NyaXB0Ij09PWUubmFtZSkpO2UmJmRlbGV0ZSBuLnN0YXRlLmlucHV0c1tlLmlkXSxkZWxldGUgbi5zdGF0ZS5pbnB1dHMuX19sb2dfbGV2ZWwsZGVsZXRlIG4uc3RhdGUuaW5wdXRzLl9fcHJvZmlsZX1jb25zdCBjPXRoaXMuc3RhdGVDdXN0b21GaWVsZHMoKTt2YXIgZDtyZXR1cm4gYyYmKG4uY3VzdG9tRmllbGRzPWMpLHQmJihkPW4pLm1ldGFJbmZvJiZkLm1ldGFJbmZvLnNjcmlwdElkUGFydCYmZC5tZXRhSW5mby5zY3JpcHRJZFBhcnQuc3RhcnRzV2l0aCgiVVNFUjsiKSYmKE9zKGQpLGZ1bmN0aW9uKGUpe2NvbnN0IHQ9KGUubWV0YUluZm8mJmUubWV0YUluZm8uaW5wdXRzfHxbXSkuZmluZCgoZT0+IklMU2NyaXB0Ij09PWUubmFtZSkpO3QmJih0LmRlZnZhbD0iIixlLnN0YXRlJiZlLnN0YXRlLmlucHV0cyYmKGUuc3RhdGUuaW5wdXRzW3QuaWRdPSIiKSxlLm1ldGFJbmZvLmRlZmF1bHRzLmlucHV0cyYmKGUubWV0YUluZm8uZGVmYXVsdHMuaW5wdXRzW3QuaWRdPSIiKSl9KGQpKSxufXN0YXRlQ3VzdG9tRmllbGRzKCl7Y29uc3QgZT10aGlzLl9jb21waWxlRXJyb3JTdGF0dXMudmFsdWUoKTtpZihlKXJldHVybntjb21waWxlRXJyb3JEZXNjcmlwdGlvbjplLmVycm9yRGVzY3JpcHRpb259fXJlc3RvcmVTdGF0ZUN1c3RvbUZpZWxkcyhlKXtjb25zdCB0PWUuY29tcGlsZUVycm9yRGVzY3JpcHRpb247dCYmdGhpcy5zZXRFcnJvckNvbXBpbGF0aW9uKFsoMCxoLmVuc3VyZURlZmluZWQpKHQuZWRpdG9yRXJyb3IpXSl9cmVzdG9yZURhdGEoZSl7dGhpcy5faW52YWxpZGF0ZUxhc3ROb25FbXB0eVBsb3RSb3dDYWNoZSgpLHRoaXMuZGF0YSgpLnJlc3RvcmVTdGF0ZShlKSx0aGlzLl9yZXNvbHZlZFN5bWJvbHM9ZS5zeW1ib2xzPz97fSx0aGlzLl9ncmFwaGljcz1lLmdyYXBoaWNzPygwLEsubG9hZFN0dWR5R3JhcGhpY3MpKGUuZ3JhcGhpY3MpOigwLEsuZW1wdHlTdHVkeUdyYXBoaWNzKSgpLHRoaXMuX3Bvc3RQcm9jZXNzR3JhcGhpY3MoKSx0aGlzLl9zZXJ2ZXJQbG90T2Zmc2V0cy5zZXRWYWx1ZShlLnBsb3RPZmZzZXRzPz97fSksdGhpcy5fc2V0U3RhdHVzKHt0eXBlOlp0LlN0dWR5U3RhdHVzVHlwZS5Db21wbGV0ZWR9LCEwKX1oYXNTdGF0ZUZvckFsZXJ0KCl7cmV0dXJuIEllLmFsZXJ0c0F2YWlsYWJsZSYmIXRoaXMuaXNGYWlsZWQoKSYmIXRoaXMuX21ldGFJbmZvLnZhbHVlKCkuaXNUVkxpYnJhcnkmJnRoaXMuX3Nlcmllcy5hbGVydENyZWF0aW9uQXZhaWxhYmxlKCkudmFsdWUoKSYmKHRoaXMuX2hhc0FsZXJ0Q29uZGl0aW9ucygpfHx0aGlzLl9oYXNBdmFpbGFibGVBbGVydFBsb3RzKCl8fHRoaXMuX2hhc0FsZXJ0RnVuY3Rpb24oKSl9c3RhdGVGb3JBbGVydCgpe2lmKHRoaXMuX3N0YXRlRm9yQWxlcnRDYWNoZSlyZXR1cm4gdGhpcy5fc3RhdGVGb3JBbGVydENhY2hlO2NvbnN0IGU9KDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hbGVydE1ldGFJbmZvKCkpLHQ9dGhpcy5fcGxvdHNGb3JBbGVydCgpLHM9dGhpcy5fY29sbGVjdERlcHNGb3JBbGVydCgpLGk9cy5pZEZvckFsZXJ0LHI9cy5zdHVkeURlcGVuZGVuY2llcyxuPXMuaW5wdXRzRm9yQWxlcnQsYT10aGlzLl9mb3JtYXR0ZXJTdGF0ZUZvckFsZXJ0KCksbz1QLnN0dWR5SWRzSGlkZUlucHV0c01vZGUuaGFzKCgwLEQuZXh0cmFjdFN0dWR5SWQpKGUuZnVsbElkKSksbD17aWQ6aSx0eXBlOigwLGguZW5zdXJlTm90TnVsbCkoKDAsQS5nZXRTdHVkeUNsYXNzTmFtZSkodGhpcy5jb25zdHJ1Y3RvcikpLHRpdGxlOnRoaXMuX3RpdGxlKFcuVGl0bGVEaXNwbGF5VGFyZ2V0LkFsZXJ0cywhMSx7fSxvLCExLCEwKSxzaG9ydFRpdGxlOnRoaXMuX3RpdGxlKFcuVGl0bGVEaXNwbGF5VGFyZ2V0LkFsZXJ0cywhMCx7fSxvLCExLCEwKSxzaG9ydERlc2NyaXB0aW9uOigwLGQuZGVjb2RlSFRNTEVudGl0aWVzKShlLnNob3J0RGVzY3JpcHRpb258fCJTdHVkeSIpLGZ1bGxJZDplLmZ1bGxJZCxpc1RWU2NyaXB0OkJvb2xlYW4oZS5pc1RWU2NyaXB0KSxoYXNBbGVydEZ1bmN0aW9uOkJvb2xlYW4oZS5oYXNBbGVydEZ1bmN0aW9uKSxwbG90czp0LGlucHV0czpuLGFsZXJ0czplLmFsZXJ0cyxzY3JpcHRJZFBhcnQ6ZS5zY3JpcHRJZFBhcnQsc2NyaXB0VmVyc2lvbjplLnBpbmU/ZS5waW5lLnZlcnNpb246Ii0xIixzdHVkeURlcGVuZGVuY2llczpyLGZvcm1hdHRlcjphLGlzRnVuZGFtZW50YWxTdHVkeTplLmlzRnVuZGFtZW50YWxTdHVkeX0sdT1lLmRlZmF1bHRTdHJhdGVneUFsZXJ0TWVzc2FnZQo7cmV0dXJuIHUmJihsLmRlZmF1bHRTdHJhdGVneUFsZXJ0TWVzc2FnZT0oMCxkLmRlY29kZUhUTUxFbnRpdGllcykodSkpLHRoaXMuX3N0YXRlRm9yQWxlcnRDYWNoZT1sLGx9YXN5bmMgc3RhdGVGb3JBbGVydEFzeW5jKCl7cmV0dXJuIHRoaXMuX2FsZXJ0TWV0YUluZm8oKXx8YXdhaXQgdGhpcy5fYXdhaXRGb3JNZXRhSW5mbygpLHRoaXMuc3RhdGVGb3JBbGVydCgpfWlkRm9yQWxlcnQoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2lkRm9yQWxlcnRDYWNoZSYmKHRoaXMuX2lkRm9yQWxlcnRDYWNoZT10aGlzLl9jb2xsZWN0RGVwc0ZvckFsZXJ0KCkuaWRGb3JBbGVydCksdGhpcy5faWRGb3JBbGVydENhY2hlfWhhc0JhckNvbG9yZXIoKXtyZXR1cm4gdGhpcy5fbWV0YUluZm8udmFsdWUoKS5wbG90cy5zb21lKFouaXNCYXJDb2xvcmVyUGxvdCl9YmFyQ29sb3Jlcigpe2NvbnN0IGU9dGhpcy5fbWV0YUluZm8udmFsdWUoKS5wbG90cztsZXQgdD1udWxsO2ZvcihsZXQgcz1lLmxlbmd0aC0xO3M+PTA7cy0tKWlmKCgwLFouaXNCYXJDb2xvcmVyUGxvdCkoZVtzXSkpe2NvbnN0IGU9bmV3IG9zKHRoaXMscyk7bnVsbD09PXQ/dD1lOnQucHVzaEJhY2tCYXJDb2xvcmVyKGUpfXJldHVybiB0fWlzU2F2ZWRJblN0dWR5VGVtcGxhdGVzKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuaW5wdXRzLmV2ZXJ5KChlPT4iYmFyX3RpbWUiIT09ZS50eXBlKSl9cmVzdGFydChlKXt0aGlzLl9yZXN0YXJ0aW5nPSEwLHRoaXMuY2xlYXJEYXRhKCksKGV8fCgwLEkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN0b3Bfc3R1ZHlfb25fcmVzdGFydCIpKSYmdGhpcy5zdG9wKCksc2V0VGltZW91dCh0aGlzLnN0YXJ0LmJpbmQodGhpcyksMCl9c3RvcChlLHQpe2lmKCEwPT09ZSYmdGhpcy5fY2hpbGRyZW4pZm9yKGNvbnN0IGUgb2YgdGhpcy5fY2hpbGRyZW4pZS5zdG9wKCEwKTt0aGlzLl9zdG9wU3R1ZHlPblNlcnZlcigpLHRoaXMuY2xlYXJEYXRhKCksdGhpcy5fdW5zdWJzY3JpYmVUb1Nlc3Npb25JZCgpLHRoaXMucmVjYWxjdWxhdGUoKX1kaXNjb25uZWN0KCl7dGhpcy5faXNTdGFydGVkPSExLHRoaXMuX21vZGVsLmlzU25hcHNob3QoKXx8KHRoaXMuX3Jlc29sdmVkU3ltYm9scz17fSx0aGlzLl9yZXNvbHZlZFN5bWJvbHNCeUlucHV0PXt9KX1zb3VyY2VJZCgpe3JldHVybiB0aGlzLl9pZC52YWx1ZSgpfXBhcmVudFNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fc291cmNlcy52YWx1ZSgpfXBhcmVudFNvdXJjZXNWVygpe3JldHVybiB0aGlzLl9zb3VyY2VzfXN5bWJvbFNvdXJjZSgpe3JldHVybiB0aGlzLl9zeW1ib2xTb3VyY2UudmFsdWUoKX1zeW1ib2xTb3VyY2VXVigpe3JldHVybiB0aGlzLl9zeW1ib2xTb3VyY2UucmVhZG9ubHkoKX12YWx1ZUF0KGUsdCl7cmV0dXJuIHRoaXMuc3ltYm9sU291cmNlKCkudmFsdWVBdChlLHQpfWJhcnNQcm92aWRlcigpe3JldHVybiB0aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkuYmFyc1Byb3ZpZGVyKCl9b3duZXJTb3VyY2UoKXtyZXR1cm4gdGhpcy5pc0NoaWxkU3R1ZHkoKT90aGlzLl9zb3VyY2VzLnZhbHVlKClbMF06c3VwZXIub3duZXJTb3VyY2UoKX1pc0NoaWxkU3R1ZHkoKXtyZXR1cm4gdGhpcy5fc291cmNlcy52YWx1ZSgpLmxlbmd0aD4wfWhhc0NoaWxkcmVuKCl7cmV0dXJuIHRoaXMuX2NoaWxkcmVuLmxlbmd0aD4wfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9pc1N0YXJ0ZWR9aXNSZXN0YXJ0aW5nKCl7cmV0dXJuIHRoaXMuX3Jlc3RhcnRpbmd9aXNBY3R1YWxJbnRlcnZhbCgpe3JldHVybiB0aGlzLl9pc0FjdHVhbEludGVydmFsfW9uSXNBY3R1YWxJbnRlcnZhbENoYW5nZSgpe3JldHVybiB0aGlzLl9vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2V9aXNWaXNpYmxlKCl7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpO2lmKHRoaXMuX21vZGVsLmNvbGxhcHNlZCgpLnZhbHVlKCl8fCFlLnZpc2libGUudmFsdWUoKXx8IXRoaXMuaXNBY3R1YWxJbnRlcnZhbCgpKXJldHVybiExO2NvbnN0IHQ9dGhpcy5tZXRhSW5mbygpO2lmKHQucGxvdHMubGVuZ3RoPjApZm9yKGxldCBzPTA7czx0LnBsb3RzLmxlbmd0aDtzKyspe2NvbnN0IGk9dC5wbG90c1tzXS5pZCxyPWUuc3R5bGVzLmNoaWxkcygpW2ldO2lmKHZvaWQgMD09PXIpY29udGludWU7aWYoci5jaGlsZHMoKS5kaXNwbGF5LnZhbHVlKCkhPT1aLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuTm9uZSlyZXR1cm4hMH1pZih0LmJhbmRzKWZvcihsZXQgcz0wO3M8dC5iYW5kcy5sZW5ndGg7cysrKWlmKGUuYmFuZHMuY2hpbGRzKClbc10uY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKXJldHVybiEwO2Zvcihjb25zdCBzIG9mIE9iamVjdC5rZXlzKHQuZ3JhcGhpY3MpKWZvcihjb25zdCBpIG9mIE9iamVjdC5rZXlzKHQuZ3JhcGhpY3Nbc10pKXtjb25zdCB0PWUuZ3JhcGhpY3MuY2hpbGRzKClbc10/LmNoaWxkcygpW2ldO2lmKHZvaWQgMCE9PXQmJih0LmNoaWxkKCJ2aXNpYmxlIik/LnZhbHVlKCk/PzEpKXJldHVybiEwfWlmKHQuZmlsbGVkQXJlYXMpZm9yKGxldCBzPTA7czx0LmZpbGxlZEFyZWFzLmxlbmd0aDtzKyspaWYoZS5maWxsZWRBcmVhc1N0eWxlLmNoaWxkcygpW3QuZmlsbGVkQXJlYXNbc10uaWRdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSlyZXR1cm4hMDtyZXR1cm4hKCF0LmlzVFZTY3JpcHRTdHJhdGVneSYmIXQuaGFzQWxlcnRGdW5jdGlvbil9YXN5bmMgc3RhcnQoZSx0LHMpe2NvbnN0IGk9dGhpcy5fbW9kZWwubWFpblNlcmllcygpO2F3YWl0IGkuc2VyaWVzQ3JlYXRlZCgpLGF3YWl0IFByb21pc2UuYWxsKHRoaXMuX3NvdXJjZXMudmFsdWUoKS5maWx0ZXIoKGU9PmUuaXNIaWJlcm5hdGVkKCkpKS5tYXAoKGU9PmUuc3RhcnQoKSkpKTtjb25zdCByPSEodGhpcy5pc0hpYmVybmF0aW9uQWxsb3dlZCgpJiYhdGhpcy5pc1Zpc2libGUoKSl8fCEwPT09dDtpZih0aGlzLl9jaGFydEFwaSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZyKXRyeXthd2FpdCB0aGlzLl9hbGxTeW1ib2xzQXJlUmVzb2x2ZWQoKSxhd2FpdCB0aGlzLl9zdGFydEFmdGVyU3ltYm9sc1Jlc29sdmVkKGUsdCkKfWNhdGNoKGUpe2NvbnN0IHQ9YEVSUk9SOiAke3RoaXMuX2RlYnVnSWQoKX0gc3RhcnQgZmFpbGVkLCAke2V9YDtTcy5sb2dFcnJvcih0KSx0aGlzLl9yZXN0YXJ0aW5nPSExLCJUb29NYW55U3R1ZGllcyI9PT1lPy5jYXVzZSYmKDAsQi5zaG93VG9vTWFueVN0dWRpZXNOb3RpY2UpKHRoaXMuX2NoYXJ0QXBpLmdldFN0dWR5Q291bnRlcigpKX1yfHx2b2lkIDAhPT10aGlzLl9pbnB1dHN8fCh0aGlzLl9pbnB1dHM9dGhpcy5fYXBpSW5wdXRzKCkpfXJlcGxhY2VEYXRhKGUsdCxzKXt0aGlzLl9pbnZhbGlkYXRlTGFzdE5vbkVtcHR5UGxvdFJvd0NhY2hlKCksdGhpcy5kYXRhKCkucmVtb3ZlKGUrMSksdGhpcy5kYXRhKCkuYWRkVGFpbChzLHQpfWlucHV0cyhlKXtjb25zdCB0PSgwLGEuZGVmYXVsdCkoKDAsdS5jbG9uZSkoQ3MpLGV8fHt9KTt0LnNraXBPcHRpb25hbEVtcHR5U3ltYm9sSW5wdXRzJiYodC5rZWVwT3B0aW9uYWxTeW1ib2xzRW1wdHk9ITApO3JldHVybiB0aGlzLl9idWlsZElucHV0cyh0KX1kYXRhKCl7cmV0dXJuIHRoaXMuX2RhdGF9bW92ZURhdGEoZSl7dGhpcy5fb25nb2luZ0RhdGFVcGRhdGU9dGhpcy5fb25nb2luZ0RhdGFVcGRhdGUudGhlbigoKCk9Pnt0aGlzLl9pbnZhbGlkYXRlTGFzdE5vbkVtcHR5UGxvdFJvd0NhY2hlKCksdGhpcy5fbW92ZURhdGEoZSksdGhpcy5kYXRhKCkuaXNFbXB0eSgpfHx0aGlzLl9vbkluZGV4RGlmZnNBcHBsaWVkKGUpfSkpfXBsb3RzKCl7cmV0dXJuIHRoaXMuZGF0YSgpfW1ldGFJbmZvKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCl9b3JpZ2luYWxNZXRhSW5mbygpe3JldHVybiB0aGlzLl9vcmlnaW5hbE1ldGFJbmZvfXN0YXR1cygpe3JldHVybiB0aGlzLl9jb21wb3VuZFN0YXR1cy52YWx1ZSgpfW5hbWUoZSl7Y29uc3QgdD10aGlzLm1ldGFJbmZvKCk7cmV0dXJuIGU/dC5zaG9ydERlc2NyaXB0aW9uPygwLGQuZGVjb2RlSFRNTEVudGl0aWVzKSh0LnNob3J0RGVzY3JpcHRpb24pOiJTdHVkeSI6dC5kZXNjcmlwdGlvbj8oMCxkLmRlY29kZUhUTUxFbnRpdGllcykodC5kZXNjcmlwdGlvbik6IlN0dWR5In10aXRsZShlLHQscyxpLHIsbil7aT12b2lkIDA9PT1pPyF0aGlzLl9zaG93U3R1ZHlBcmd1bWVudHNQcm9wZXJ0eS52YWx1ZSgpOmk7Y29uc3QgYT1KU09OLnN0cmluZ2lmeShbZSx0LHMsaSxyLG5dKTtpZih0aGlzLl90aXRsZVN0ckNhY2hlW2FdKXJldHVybiB0aGlzLl90aXRsZVN0ckNhY2hlW2FdO2lmKHRoaXMuX3RpdGxlSW5QYXJ0c0NhY2hlW2FdKXJldHVybiB0aGlzLl9qb2luVGl0bGVzUGFydHModGhpcy5fdGl0bGVJblBhcnRzQ2FjaGVbYV0pO2NvbnN0IG89dGhpcy5fdGl0bGUoZSx0LHMsaSxyLG4pO3JldHVybiB0aGlzLl90aXRsZVN0ckNhY2hlW2FdPW8sb310aXRsZUluUGFydHMoZSx0LHMsaSxyKXtpPXZvaWQgMD09PWk/IXRoaXMuX3Nob3dTdHVkeUFyZ3VtZW50c1Byb3BlcnR5LnZhbHVlKCk6aTtjb25zdCBuPUpTT04uc3RyaW5naWZ5KFtlLHQscyxpLHJdKTtpZih0aGlzLl90aXRsZUluUGFydHNDYWNoZVtuXSlyZXR1cm4gdGhpcy5fdGl0bGVJblBhcnRzQ2FjaGVbbl07Y29uc3QgYT10aGlzLl90aXRsZUluUGFydHMoZSx0LHMsaSxyKTtyZXR1cm4gdGhpcy5fdGl0bGVJblBhcnRzQ2FjaGVbbl09YSxhfWdldFNwbGl0VGl0bGUoZSl7Y29uc3QgdD1gZ2V0U3BsaXRUaXRsZToke2U/PyExfWAscz10aGlzLl9zcGxpdFRpdGxlQ2FjaGVbdF07aWYocylyZXR1cm4gcztjb25zdCBpPXRoaXMuX2dldFNwbGl0VGl0bGUoZSk7cmV0dXJuIHRoaXMuX3NwbGl0VGl0bGVDYWNoZVt0XT1pLGl9aW5wdXRzSW5QYXJ0cyhlLHQ9ITAscyxpLHIpe2NvbnN0IG49IXRoaXMuX3Nob3dTdHVkeUFyZ3VtZW50c1Byb3BlcnR5LnZhbHVlKCksYT0oMCxJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhbHdheXNfc2hvd19zdHVkeV9zeW1ib2xfaW5wdXRfdmFsdWVzX2luX2xlZ2VuZCIpLG89biYmYTtpZihuJiYhYSYmZT09PVcuVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpcmV0dXJuIG51bGw7Y29uc3QgbD1KU09OLnN0cmluZ2lmeShbZSx0LHMsaSxyXSk7aWYodGhpcy5faW5wdXRzSW5QYXJ0c0NhY2hlW2xdKXJldHVybiB0aGlzLl9pbnB1dHNJblBhcnRzQ2FjaGVbbF07Y29uc3QgYz1bXSxkPXRoaXMubWV0YUluZm8oKSxwPXRoaXMuX3RpdGxlSW5wdXRzKCgwLHlzLnRvSW5wdXREaXNwbGF5RmxhZ3MpKGUpLGksITApLF89ZC5pbnB1dHMuZmlsdGVyKChlPT5wLmhhc093blByb3BlcnR5KGUuaWQpJiYoIW98fCJzeW1ib2wiPT09ZS50eXBlfHxlPy5pc0Fsd2F5c1Nob3duSW5MZWdlbmQpKSkubWFwKChlPT57bGV0IHQ9cFtlLmlkXTtpZigic3ltYm9sIj09PWUudHlwZSl7Y29uc3Qgcz10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5jaGlsZChlLmlkKT8udmFsdWUoKTtpZihzKXtjb25zdCBlPXRoaXMuX3Jlc29sdmVkU3ltYm9sc0J5SW5wdXRbc107ZSYmKHQ9dGhpcy5fbW9kZWwuc3ltYm9sQWxpYXNTZXJ2aWNlKCk/LmdldEFsaWFzQnlQcm9OYW1lKGUucHJvX25hbWUpPy5hbGlhc05hbWU/P3QpfX1yZXR1cm57bWV0YTplLHZhbHVlOnR9fSkpLGY9e307aWYoXy5sZW5ndGg+MCl7aWYodGhpcy5pc0NoaWxkU3R1ZHkoKSlmb3IobGV0IHM9MDtzPGQuaW5wdXRzLmxlbmd0aDsrK3Mpe2NvbnN0IG49ZC5pbnB1dHNbc107aWYoIXYuU3R1ZHlNZXRhSW5mby5pc1NvdXJjZUlucHV0KG4pKWNvbnRpbnVlO2NvbnN0IGE9bi5pZCxvPSgwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGQoYSkpLnZhbHVlKCk7aWYoby5pbmRleE9mKCIkIik+PTApe2NvbnN0IHM9dGhpcy5wYXJlbnRTb3VyY2VGb3JJbnB1dChvKTtpZihzIGluc3RhbmNlb2YgVXMpe2NvbnN0IG49cy5tZXRhSW5mbygpLGE9cy50aXRsZShlLHQse30sITAsaSxyKTtpZigxPT09bi5wbG90cy5sZW5ndGgpZltvXT1hO2Vsc2V7Y29uc3QgZT1vLnNwbGl0KCIkIilbMV0sdD1uLnBsb3RzW3BhcnNlSW50KGUpXT8uaWQscz1uLnN0eWxlcyYmbi5zdHlsZXNbdF0saT1zJiZzLnRpdGxlfHx0O2Zbb109YSsiOuKAiSIraX19fX0KXy5mb3JFYWNoKCgoe21ldGE6ZSx2YWx1ZTp0fSk9PntsZXQgaTtpPSJ0aW1lIj09PWUudHlwZT9uZXcgRGF0ZSh0KS50b0lTT1N0cmluZygpOigwLHUuaXNOdW1iZXIpKHQpPygwLHBzLmdldE51bWVyaWNGb3JtYXR0ZXIpKCkuZm9ybWF0KHQpOmYmJmZbdC50b1N0cmluZygpXXx8dC50b1N0cmluZygpLHMmJnNbaS50b1N0cmluZygpXSYmKGk9c1tpLnRvU3RyaW5nKCldKSxjLnB1c2goe3RpdGxlOigwLGdzLmdldFRyYW5zbGF0ZWRJbnB1dFRpdGxlKShlLm5hbWUpLHZhbHVlOml9KX0pKX1yZXR1cm4gdGhpcy5faW5wdXRzSW5QYXJ0c0NhY2hlW2xdPWMsY31pbnZhbGlkYXRlVGl0bGVDYWNoZShlKXtpZih0aGlzLl90aXRsZVN0ckNhY2hlPXt9LHRoaXMuX3RpdGxlSW5QYXJ0c0NhY2hlPXt9LHRoaXMuX3NwbGl0VGl0bGVDYWNoZT17fSx0aGlzLl9pbnB1dHNJblBhcnRzQ2FjaGU9e30sITA9PT1lJiZ0aGlzLl9jaGlsZHJlbilmb3IobGV0IHQ9MDt0PHRoaXMuX2NoaWxkcmVuLmxlbmd0aDsrK3QpdGhpcy5fY2hpbGRyZW5bdF0uaW52YWxpZGF0ZVRpdGxlQ2FjaGUoZSl9Z3JhcGhpY3MoKXtyZXR1cm4gdGhpcy5fZ3JhcGhpY3N9Z3JhcGhpY3NJbmZvKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuZ3JhcGhpY3N9cHJpY2VMYWJlbFRleHQoZSl7Y29uc3QgdD10aGlzLl9tZXRhSW5mby52YWx1ZSgpLHM9dC5zdHlsZXMsaT10Lm9obGNQbG90cztsZXQgcjtzJiZzW2VdJiYocj1zW2VdKSxpJiZpW2VdJiYocj1pW2VdKTtjb25zdCBuPSgwLGguZW5zdXJlRGVmaW5lZCkocikudGl0bGU7bGV0IGE7cmV0dXJuIGE9MSE9PXRoaXMuX3NpbXBsZVBsb3RzQ291bnR8fCgwLFouaXNQbG90VGl0bGVEZWZpbmVkKShuKT90LmlzX3ByaWNlX3N0dWR5JiZuIT09dC5zaG9ydERlc2NyaXB0aW9uPyIiPT09bj90LnNob3J0RGVzY3JpcHRpb246dC5zaG9ydERlc2NyaXB0aW9uKyI6IituOm46dC5zaG9ydERlc2NyaXB0aW9uLCgwLGQuZGVjb2RlSFRNTEVudGl0aWVzKShhKX1zZXRPd25GaXJzdFZhbHVlKGUpe3RoaXMuX293bkZpcnN0VmFsdWU9ZX1maXJzdFZhbHVlKGUsdCl7aWYodClyZXR1cm4gdGhpcy5fc2VyaWVzLmZpcnN0VmFsdWUoKTtjb25zdCBzPXRoaXMuX21ldGFJbmZvLnZhbHVlKCk7aWYoIXRoaXMuaXNDaGlsZFN0dWR5KCkmJiJDb21wYXJlQHR2LWJhc2ljc3R1ZGllcyI9PT1zLmlkfHwhcy5pc19wcmljZV9zdHVkeSl7Y29uc3QgdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKTtpZighaS52aXNpYmxlLnZhbHVlKCl8fCF0aGlzLmlzQWN0dWFsSW50ZXJ2YWwoKXx8bnVsbCE9PXRoaXMuX3N0YXJ0TW92aW5nUG9pbnQpcmV0dXJuIHRoaXMuX293bkZpcnN0VmFsdWU7Y29uc3Qgcj10LmZpcnN0QmFyKCksbj10Lmxhc3RCYXIoKTtsZXQgYT10aGlzLl9ncmFwaGljc1ByaWNlUmFuZ2VHcm91cHM/ZnVuY3Rpb24oZSx0KXtjb25zdCBzPWUubW9kZWwoKS50aW1lU2NhbGUoKTtpZihzLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtjb25zdCBpPXMudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1pKXJldHVybiBudWxsO2NvbnN0IHI9aS5maXJzdEJhcigpLG49aS5sYXN0QmFyKCksYT1uZXcgYmU7Zm9yKGNvbnN0IGUgb2YgdCl7Y29uc3QgdD1lLmZpcnN0VmFsdWUocixuKTthLmltcHJvdmUodCl9cmV0dXJuIGEuYmVzdFByaWNlKCl9KHRoaXMsdGhpcy5fZ3JhcGhpY3NQcmljZVJhbmdlR3JvdXBzKTpudWxsO2lmKG51bGw9PT1hKXtjb25zdCB0PW5ldyBTZXQsbz1zLmZpbGxlZEFyZWFzfHxbXTtmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKyl7Y29uc3Qgcz1vW2VdO2kuZmlsbGVkQXJlYXNTdHlsZS5jaGlsZHMoKVtzLmlkXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkmJih0LmFkZChzLm9iakFJZCksdC5hZGQocy5vYmpCSWQpKX1jb25zdCBsPXMucGxvdHN8fFtdLHU9W10sYz1bXTtmb3IobGV0IGU9MDtlPGwubGVuZ3RoOysrZSl7Y29uc3Qgcj1sW2VdLG49ci5pZDtpZigoMCxaLmlzQ29sb3JlclBsb3QpKHIpfHxzLmlzUGxvdEZvcmNlT3ZlcmxheShuKSljb250aW51ZTtpZigoMCxoLmVuc3VyZURlZmluZWQpKGkuc3R5bGVzLmNoaWxkcygpW25dKS5jaGlsZHMoKS5kaXNwbGF5LnZhbHVlKCkhPT1aLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuTm9uZXx8dC5oYXMobikpe2lmKCgwLFouaXNMaW5lUGxvdCkocikpe2NvbnN0IHQ9aS5zdHlsZXMuY2hpbGRzKClbbl0uY2hpbGRzKCkucGxvdHR5cGUudmFsdWUoKTsoMCxaLmRvZXNMaW5lUGxvdFN0eWxlU3VwcG9ydEZpbGxCcmVha3MpKHQpJiZjLnB1c2goZSl9dS5wdXNoKGUpfX1pZihjLmxlbmd0aCl7Y29uc3QgdD0oMCxoLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZSgpKSxzPU1hdGguZmxvb3IodC5sZWZ0KCkpO2ZvcihsZXQgdD0wO3Q8Yy5sZW5ndGg7dCsrKXtjb25zdCBpPWNbdF0scj10aGlzLl9nZXRGaXJzdFZhbEZvclBsb3RUaGF0U3VwcG9ydEZpbGxCcmVha3MoaSxzKTtpZighKG51bGw9PT1yfHxlJiZNYXRoLmFicyhyKTwxZS0xMCkpe2E9cjticmVha319fWlmKG51bGw9PT1hJiYwIT09dS5sZW5ndGgpZm9yKGNvbnN0IHQgb2YgdGhpcy5kYXRhKCkucmFuZ2VJdGVyYXRvcihyLG4pKXtjb25zdCBzPXQudmFsdWU7Zm9yKGxldCB0PTA7dDx1Lmxlbmd0aDsrK3Qpe2NvbnN0IGk9c1t1W3RdKzFdO2lmKCEobnVsbD09aXx8ZSYmTWF0aC5hYnMoaSk8MWUtMTApKXthPWk7YnJlYWt9fWlmKG51bGwhPT1hKWJyZWFrfX1yZXR1cm4gdGhpcy5fb3duRmlyc3RWYWx1ZT1hLG51bGwhPT1hP2E6dGhpcy5fYmFuZHNGaXJzdFZhbHVlKGUpfWlmKHRoaXMuaXNDaGlsZFN0dWR5KCkpe2NvbnN0IGU9dGhpcy5fZ2V0Tm9uUHJpY2VQYXJlbnQoKTtpZihlJiZ0aGlzLnByaWNlU2NhbGUoKT09PWUucHJpY2VTY2FsZSgpKXJldHVybiBudWxsIT09ZS5fb3duRmlyc3RWYWx1ZT9lLl9vd25GaXJzdFZhbHVlOmUuZmlyc3RWYWx1ZSgpfQpyZXR1cm4gdGhpcy5fc2VyaWVzLmZpcnN0VmFsdWUoKX1kZXNpcmVkUHJpY2VTY2FsZVBvc2l0aW9uKCl7aWYodGhpcy5tZXRhSW5mbygpLmlzVFZTY3JpcHRTdHViKXJldHVybiJvdmVybGF5IjtpZih0aGlzLm1ldGFJbmZvKCkubGlua2VkVG9TZXJpZXMpcmV0dXJuImFzLXNlcmllcyI7c3dpdGNoKHRoaXMubWV0YUluZm8oKS5wcmljZVNjYWxlKXtjYXNlIDE6cmV0dXJuImxlZnQiO2Nhc2UgMDpyZXR1cm4icmlnaHQiO2Nhc2UgMjpyZXR1cm4ib3ZlcmxheSI7ZGVmYXVsdDpyZXR1cm4gbnVsbH19b2Zmc2V0KGUpe3JldHVybiB0aGlzLl9wbG90T2Zmc2V0cy52YWx1ZSgpPy5bZV0/PzB9dGFncygpe2NvbnN0IGU9dGhpcy5fbWV0YUluZm8udmFsdWUoKTtyZXR1cm4hZS5kZXNjcmlwdGlvbnx8ZS5pc1RWU2NyaXB0U3R1Ynx8ZS5pc19oaWRkZW5fc3R1ZHl8fGUuaXNUVlNjcmlwdCYmInR2LXNjcmlwdGluZyI9PT1lLnByb2R1Y3RJZD9bXTpbZS5kZXNjcmlwdGlvbl19Y29waWFibGUoKXtyZXR1cm4gUnMmJiF0aGlzLmlzQ2hpbGRTdHVkeSgpfXNldFByaWNlU2NhbGUoZSl7c3VwZXIuc2V0UHJpY2VTY2FsZShlKSwoMCxscy5lbWl0KSgic3R1ZHlfZXZlbnQiLHRoaXMuaWQoKSwicHJpY2Vfc2NhbGVfY2hhbmdlZCIpfXByaWNlUmFuZ2UoZSl7bGV0IHQ9bnVsbDtjb25zdCBzPXRoaXMuX21ldGFJbmZvLnZhbHVlKCkse3N0YXJ0VGltZVBvaW50OmksZW5kVGltZVBvaW50OnJ9PWUsbj10aGlzLl9maWxsUHJlY2FsY3VsYXRlZEF1dG9zY2FsZUluZm8oZSk7bGV0IGE9dGhpcy5kYXRhKCkubWluTWF4T25SYW5nZUNhY2hlZChpLHIsbi5maWVsZHMpO2lmKGE9KDAsZy5tZXJnZU1pbk1heCkobi5iYXNlVmFsdWVNaW5NYXgsYSksbi51c2VNYWluU2VyaWVzUmFuZ2Upe2NvbnN0IGU9W3tuYW1lOiJsb3ciLG9mZnNldDowfSx7bmFtZToiaGlnaCIsb2Zmc2V0OjB9XSx0PXRoaXMuc2VyaWVzKCkuZGF0YSgpLmJhcnMoKS5taW5NYXhPblJhbmdlQ2FjaGVkKGkscixlKTthPSgwLGcubWVyZ2VNaW5NYXgpKGEsdCl9aWYobnVsbCE9PWEmJih0PW5ldyBqLlByaWNlUmFuZ2UoYS5taW4sYS5tYXgpKSxzLmJhbmRzJiZlLnRhcmdldFByaWNlU2NhbGU9PT10aGlzLnByaWNlU2NhbGUoKSlmb3IobGV0IGU9MDtlPHMuYmFuZHMubGVuZ3RoO2UrKyl7Y29uc3Qgcz0oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuYmFuZHMuY2hpbGRzKClbZV0pLmNoaWxkcygpO2lmKHMudmlzaWJsZS52YWx1ZSgpKXtjb25zdCBlPXMudmFsdWUudmFsdWUoKTtpZighKDAsdS5pc051bWJlcikoZSkpY29udGludWU7dD90LmFwcGx5KGUsZSk6dD1uZXcgai5QcmljZVJhbmdlKGUsZSl9fWlmKHRoaXMuX2dyYXBoaWNzUHJpY2VSYW5nZUdyb3Vwcyl7Y29uc3Qgcz10aGlzLnByaWNlU2NhbGUoKT09PXRoaXMuX3Nlcmllcy5wcmljZVNjYWxlKCk/dm9pZCAwOnRoaXMucHJpY2VTY2FsZSgpIT09ZS50YXJnZXRQcmljZVNjYWxlLG49ZnVuY3Rpb24oZSx0LHMsaSl7bGV0IHI9bnVsbDtmb3IoY29uc3QgbiBvZiBlKXtjb25zdCBlPW4uZ3JvdXBQcmljZVJhbmdlKHQscyxpKTtudWxsIT09ZSYmKHI9bnVsbD09PXI/ZTpyLm1lcmdlKGUpKX1yZXR1cm4gcn0odGhpcy5fZ3JhcGhpY3NQcmljZVJhbmdlR3JvdXBzLGksciwhIWUuZm9yY2VPdmVybGF5T25seXx8cyk7biYmKHQ9dD90Lm1lcmdlKG4pOm4pfXJldHVybiB0aGlzLl9wb3N0UHJvY2Vzc1ByaWNlUmFuZ2UodCxlKX1hdXRvU2NhbGVJbmZvKGUpe2NvbnN0IHQ9dGhpcy5wcmljZVJhbmdlKGUpLHM9dGhpcy5wcmljZVNjYWxlKCk9PT10aGlzLl9zZXJpZXMucHJpY2VTY2FsZSgpP3ZvaWQgMDp0aGlzLnByaWNlU2NhbGUoKSE9PWUudGFyZ2V0UHJpY2VTY2FsZSxpPXRoaXMuX2dyYXBoaWNzUHJpY2VSYW5nZUdyb3Vwcz9mdW5jdGlvbihlLHQscyxpKXtjb25zdCByPXllKCk7Zm9yKGNvbnN0IG4gb2YgZSl7Y29uc3QgZT1uLmdyb3VwUGl4ZWxNYXJnaW5zKHQscyxpKTtyLmJvdHRvbVBpeGVsTWFyZ2luPU1hdGgubWF4KHIuYm90dG9tUGl4ZWxNYXJnaW4sZS5ib3R0b21QaXhlbE1hcmdpbiksci50b3BQaXhlbE1hcmdpbj1NYXRoLm1heChyLnRvcFBpeGVsTWFyZ2luLGUudG9wUGl4ZWxNYXJnaW4pfXJldHVybiByfSh0aGlzLl9ncmFwaGljc1ByaWNlUmFuZ2VHcm91cHMsZS5zdGFydFRpbWVQb2ludCxlLmVuZFRpbWVQb2ludCwhIWUuZm9yY2VPdmVybGF5T25seXx8cyk6e3RvcFBpeGVsTWFyZ2luOjAsYm90dG9tUGl4ZWxNYXJnaW46MH07cmV0dXJue3JhbmdlOnQsdG9wUGl4ZWxNYXJnaW46aS50b3BQaXhlbE1hcmdpbixib3R0b21QaXhlbE1hcmdpbjppLmJvdHRvbVBpeGVsTWFyZ2lufX1mb3JtYXR0ZXIoZSl7cmV0dXJuIHRoaXMuX2Zvcm1hdHRlcj8/dGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpLmZvcm1hdHRlcighMSl9ZGVmYXVsdEZvcm1hdHRlcigpe2NvbnN0IGU9dGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpO3JldHVybiB0aGlzLl9kZWZhdWx0Rm9ybWF0dGVyPz9lLmRlZmF1bHRGb3JtYXR0ZXI/LigpPz9lLmZvcm1hdHRlcigpfXBsb3RGb3JtYXR0ZXIoZSl7cmV0dXJuIHRoaXMuX3Bsb3RGb3JtYXR0ZXJzLmdldChlKT8/dGhpcy5mb3JtYXR0ZXIoKX1pc011bHRpUGFuZUF2YWlsYWJsZSgpe3JldHVybiB0aGlzLl9tZXRhSW5mby52YWx1ZSgpLmhhc0ZvcmNlT3ZlcmxheVBsb3RzKCl8fCgwLEguaGFzRm9yY2VPdmVybGF5UHJpbWl0aXZlcykodGhpcy5fbWV0YUluZm8udmFsdWUoKSl9aXNNdWx0aVBhbmVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuaGFzRm9yY2VPdmVybGF5UGxvdHMoKX11cGRhdGVBbGxWaWV3cyhlKXtjb25zdCB0PXRoaXMuX21vZGVsLnBhbmVGb3JTb3VyY2UodGhpcykscz10aGlzLl9tb2RlbC5tYWluUGFuZSgpLGk9InZpZXdwb3J0LWNoYW5nZSI9PT1lLnR5cGUmJmUucGFuZSYmZS5wYW5lIT09czsidmlld3BvcnQtY2hhbmdlIj09PWUudHlwZSYmZS5wYW5lJiZlLnBhbmUhPT10fHwodGhpcy5fcGFuZVZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSksCnRoaXMuX2xhYmVsUGFuZVZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSksdGhpcy5fZGF0YVdpbmRvd1ZpZXc/LnVwZGF0ZShlKSx0aGlzLl9sZWdlbmRWaWV3Py51cGRhdGUoZSksdGhpcy5fc3RhdHVzVmlldz8udXBkYXRlKGUpLHRoaXMuX2Zsb2F0aW5nVG9vbHRpcFZpZXc/LnVwZGF0ZShlKSx0aGlzLl9wcmljZUF4aXNWaWV3cy5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpLHRoaXMuX3ByaWNlTGluZXNBeGlzVmlld3MuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKSx0aGlzLl9pbnB1dHNMaW5lc1BhbmVWaWV3Py51cGRhdGUoZSksdGhpcy5faW5wdXRzQW5jaG9yc1BhbmVWaWV3Py51cGRhdGUoZSksdGhpcy5faW5wdXRzVGltZUF4aXNQYW5lVmlld3MuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKSx0aGlzLl9pbnB1dHNQcmljZUF4aXNQYW5lVmlld3MuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKSksaXx8KHRoaXMuX2ZvcmNlT3ZlcmxheXNQYW5lVmlld3MuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKSx0aGlzLl9mb3JjZU92ZXJsYXlMYWJlbFBhbmVWaWV3cy5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpLHRoaXMuX2ZvcmNlT3ZlcmxheVByaWNlQXhpc1ZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSkpLCJkYXRhLXNvdXJjZS1jaGFuZ2UiPT09ZS50eXBlJiZlLnNvdXJjZUlkPT09dGhpcy5pZCgpJiZlLmNsZWFyRGF0YSYmdGhpcy5fY2hpbGRyZW4uZm9yRWFjaCgoZT0+ZS51cGRhdGVBbGxWaWV3cyh7dHlwZToiZGF0YS1zb3VyY2UtY2hhbmdlIixzb3VyY2VJZDplLmlkKCksY2xlYXJEYXRhOiEwfSkpKX1yZW1vdmVCeVJlbW92ZUFsbFN0dWRpZXMoKXtyZXR1cm4hMH1zdHVkeU5hbWUoKXtyZXR1cm4gdGhpcy5fc3R1ZHlOYW1lfW5lYXJlc3RJbmRleChlLHQscyl7cmV0dXJuIHRoaXMuZGF0YSgpLnNlYXJjaChlLHQscyk/LmluZGV4fWdldE1pbkZpcnN0QmFySW5kZXhGb3JQbG90KGUpe2NvbnN0IHQ9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKSxzPXRoaXMuX21ldGFJbmZvLGk9dC5zdHlsZXMuY2hpbGRzKClbZV0/LmNoaWxkKCJzaG93TGFzdCIpPy52YWx1ZSgpPz90LmZpbGxlZEFyZWFzU3R5bGUuY2hpbGRzKClbZV0/LmNoaWxkKCJzaG93TGFzdCIpPy52YWx1ZSgpPz9zLnZhbHVlKCkuc3R5bGVzPy5bZV0/LnNob3dMYXN0Pz90Lm9obGNQbG90cy5jaGlsZHMoKVtlXT8uY2hpbGQoInNob3dMYXN0Iik/LnZhbHVlKCk/P3MudmFsdWUoKS5vaGxjUGxvdHM/LltlXT8uc2hvd0xhc3Q/P251bGw7aWYobnVsbD09PWkpcmV0dXJuLTEvMDtjb25zdCByPXRoaXMuZGF0YSgpLmxhc3RJbmRleCgpO3JldHVybiBudWxsPT09cj8tMS8wOnItaSsxfWd1aVBsb3ROYW1lKGUsdCl7Y29uc3Qgcz10aGlzLl9tZXRhSW5mby52YWx1ZSgpLGk9cy5wbG90cy5maW5kKChlPT5lLmlkPT09dCkpO2lmKHZvaWQgMCE9PWkpe2NvbnN0IHI9KDAsWi5pc09obGNQbG90KShpKT9zLm9obGNQbG90cz8uW2kudGFyZ2V0XT8udGl0bGU6cy5zdHlsZXM/Llt0XT8udGl0bGU7cmV0dXJuIHI/KDAsZC5kZWNvZGVIVE1MRW50aXRpZXMpKHIpOnRoaXMudGl0bGUoZSl9cmV0dXJuIHRoaXMudGl0bGUoZSl9Y2hpbGRTdHVkeUJ5UmViaW5kKCl7cmV0dXJuIHRoaXMuX2NoaWxkU3R1ZHlCeVJlYmluZH1pc1BpbmUoKXtyZXR1cm4gdGhpcy5fbWV0YUluZm8udmFsdWUoKS5pc1BpbmUoKX1pc1N0YW5kYXJkUGluZSgpe3JldHVybiB0aGlzLl9tZXRhSW5mby52YWx1ZSgpLmlzU3RhbmRhcmRQaW5lKCl9aXNMaW5rZWRUb1Nlcmllcygpe3JldHVybiEwPT09dGhpcy5fbWV0YUluZm8udmFsdWUoKS5saW5rZWRUb1Nlcmllc31wcmVmZXJyZWRaT3JkZXIoKXtyZXR1cm4hMT09PXRoaXMuX21ldGFJbmZvLnZhbHVlKCkuYmVoaW5kX2NoYXJ0PzA6bnVsbH1kZWZhdWx0UGxvdElkRm9yQWxlcnQoKXtyZXR1cm4gdGhpcy5fbWV0YUluZm8udmFsdWUoKS5wbG90cz8uWzBdPy5pZD8/bnVsbH1yZXNvbHZlZFN5bWJvbEluZm9CeVN5bWJvbChlKXtyZXR1cm4gdGhpcy5fcmVzb2x2ZWRTeW1ib2xzJiZlJiZ0aGlzLl9yZXNvbHZlZFN5bWJvbHNbdGhpcy5fZ2V0U3ltYm9sRm9yUmVzb2x2ZShlKV18fG51bGx9aGFzUGVuZGluZ1VucmVzb2x2ZWRTeW1ib2xzKCl7cmV0dXJuIHRoaXMuX3BlbmRpbmdSZXNvbHZlU3ltYm9scy5zaXplPjB9aGFzU3ltYm9sSW5wdXRzKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuaW5wdXRzLnNvbWUoKGU9PiJzeW1ib2wiPT09ZS50eXBlKSl9Y3VycmVuY3koKXtjb25zdCBlPXRoaXMuX2N1cnJlbmN5VW5pdFNvdXJjZVN5bWJvbEluZm8udmFsdWUoKTtpZihlKXJldHVybigwLHRzLnN5bWJvbEN1cnJlbmN5KShlKTtjb25zdCB0PXRoaXMubWV0YUluZm8oKTtyZXR1cm4gQm9vbGVhbih0KSYmdC5pc19wcmljZV9zdHVkeT90aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkuY3VycmVuY3lNZXRhZGF0YSgpLnZhbHVlKCk/LmN1cnJlbnRDdXJyZW5jeT8/bnVsbDpudWxsfWN1cnJlbmN5T3JpZ2luU291cmNlKCl7cmV0dXJuIHRoaXMuX2N1cnJlbmN5T3JpZ2luU291cmNlfWN1cnJlbmN5U291cmNlU3ltYm9sSW5mbygpe3JldHVybiB0aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvLnZhbHVlKCk/P3RoaXMuc3ltYm9sU291cmNlKCk/LnN5bWJvbEluZm8oKT8/bnVsbH11bml0KCl7Y29uc3QgZT10aGlzLm1ldGFJbmZvKCk7cmV0dXJuIEJvb2xlYW4oZSkmJmUuaXNfcHJpY2Vfc3R1ZHk/dGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpLnVuaXQoKTpudWxsfXVuaXRPcmlnaW5Tb3VyY2UoKXtyZXR1cm4gdGhpcy5fdW5pdE9yaWdpblNvdXJjZX1jYW5PdmVycmlkZU1pblRpY2soKXtyZXR1cm4hMX1kYXRhV2luZG93Vmlldygpe3JldHVybiB0aGlzLl9kYXRhV2luZG93Vmlld31zdGF0dXNWaWV3KCl7cmV0dXJuIHRoaXMuX3N0YXR1c1ZpZXd9bGVnZW5kVmlldygpe3JldHVybiB0aGlzLl9sZWdlbmRWaWV3fWNoYXJ0RmxvYXRpbmdUb29sdGlwVmlldygpe3JldHVybiB0aGlzLl9mbG9hdGluZ1Rvb2x0aXBWaWV3fXBpbmVTb3VyY2VDb2RlTW9kZWwoKXsKcmV0dXJuIHRoaXMubWV0YUluZm8oKS5waW5lPyh0aGlzLl9waW5lU291cmNlQ29kZU1vZGVsfHwodGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbD1uZXcgRS5Bc3luY1Jlc291cmNlV3JhcHBlcihQcm9taXNlLmFsbChbcy5lKDQyMDk2KSxzLmUoMjQxMDgpXSkudGhlbihzLmJpbmQocyw4MzQzNjgpKS50aGVuKChlPT50aGlzLl9pc0Rlc3Ryb3llZD9udWxsOm5ldyBlLlBpbmVTb3VyY2VDb2RlTW9kZWwodGhpcykpKSwoZT0+e2U/LmRlc3Ryb3koKX0pKSksdGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbC5wcm9taXNlKCkpOlByb21pc2UucmVzb2x2ZShudWxsKX1hbGVydFNvdXJjZU1vZGVsKCl7cmV0dXJuIHRoaXMuX2FsZXJ0U291cmNlTW9kZWx9aW5wdXRzRm9yQWxlcnRTdGF0ZSgpe3JldHVybiB0aGlzLmlucHV0cyh7Zm9yY2VUcmVhdFNvdXJjZUlucHV0c0FzRmFrZTohMH0pfXNlc3Npb25JZCgpe3JldHVybiB0aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkuc2Vzc2lvbklkKCl9c2Vzc2lvbklkQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkuc2Vzc2lvbklkQ2hhbmdlZCgpfWdldFN5bWJvbFN0cmluZyhlLHQpe3JldHVybiIiPT09ZT8iIjooMCx0ZS5lbmNvZGVFeHRlbmRlZFN5bWJvbE9yR2V0U2ltcGxlU3ltYm9sU3RyaW5nKSh0aGlzLl9nZXRTeW1ib2xPYmplY3QoZSx0KSl9b25TdGF0dXNDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3N0YXR1c0NoYW5nZWR9b25EYXRhVXBkYXRlZCgpe3JldHVybiB0aGlzLl9kYXRhVXBkYXRlZH1zeW1ib2xzUmVzb2x2ZWQoKXtyZXR1cm4gdGhpcy5fc3ltYm9sc1Jlc29sdmVkfW9uSGliZXJuYXRpb25TdGF0ZUNoYW5nZSgpe3JldHVybiB0aGlzLl9vbkhpYmVybmF0aW9uU3RhdGVDaGFuZ2V9dmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fdmFsdWVzUHJvdmlkZXJ9bGVnZW5kVmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gbmV3IFkuU3R1ZHlMZWdlbmRWYWx1ZXNQcm92aWRlcih0aGlzLHRoaXMubW9kZWwoKSl9dGFibGVWaWV3VmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fdGFibGVWaWV3VmFsdWVzUHJvdmlkZXJ9c3RhdHVzUHJvdmlkZXIoZSl7cmV0dXJuIG5ldyByZS5TdHVkeVN0YXR1c1Byb3ZpZGVyKHRoaXMpfWNoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gbmV3IG5lLlN0dWR5Q2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcih0aGlzLHRoaXMubW9kZWwoKSl9Y29ycmVjdFNjYWxlTWFyZ2lucyhlKXtpZigiVm9sdW1lIj09PXRoaXMubWV0YUluZm8oKS5zaG9ydElkKXtjb25zdCB0PXRoaXMubW9kZWwoKS5wYW5lRm9yU291cmNlKHRoaXMpO3JldHVybiBudWxsIT09dCYmdC5pc092ZXJsYXkodGhpcykmJnQuY29udGFpbnNNYWluU2VyaWVzKCk/e3RvcDouNzUsYm90dG9tOjB9Ont0b3A6ZS50b3AsYm90dG9tOjB9fXJldHVybiBlfWNhbkJlSGlkZGVuQnlHbG9iYWxGbGFnKCl7cmV0dXJuITB9aXNTb3VyY2VIaWRkZW4oKXtyZXR1cm4hdGhpcy5pc1Zpc2libGUoKXx8dGhpcy5jYW5CZUhpZGRlbkJ5R2xvYmFsRmxhZygpJiZRLmhpZGVBbGxJbmRpY2F0b3JzKCkudmFsdWUoKX13YXNDb21wbGV0ZWRCZWZvcmUoKXtyZXR1cm4gdGhpcy5fd2FzQ29tcGxldGVkQmVmb3JlfXBhbmVWaWV3cyhlKXtjb25zdCB0PXRoaXMuX21vZGVsLm1haW5QYW5lKCk7aWYodGhpcy5pc1NvdXJjZUhpZGRlbigpKXJldHVybiBudWxsO2lmKCFlLmhhc1ByaWNlRGF0YVNvdXJjZSh0aGlzKSlyZXR1cm4gZSE9PXQ/bnVsbDp0aGlzLl9mb3JjZU92ZXJsYXlzUGFuZVZpZXdzO2NvbnN0IHM9W10saT10aGlzLl9wYW5lVmlld3MuZmluZCgoZT0+e3JldHVybiB0PWUsKDAsdS5pc09iamVjdCkodCkmJiJpc1Bsb3RIaWdobGlnaHRlZCJpbiB0JiZlLmlzUGxvdEhpZ2hsaWdodGVkKCk7dmFyIHR9KSk/P251bGw7cmV0dXJuIXRoaXMuX3N0YXJ0TW92aW5nUG9pbnQmJnRoaXMuX3dhc0NvbXBsZXRlZEJlZm9yZSYmcy5wdXNoKC4uLnRoaXMuX3BhbmVWaWV3cy5maWx0ZXIoKGU9PiFlLmlzRm9yY2VPdmVybGF5Py4oKSYmZSE9PWkpKSksdGhpcy5faW5wdXRzTGluZXNQYW5lVmlldyYmKHRoaXMuX3N0YXJ0TW92aW5nUG9pbnR8fHRoaXMuX21vZGVsLnNlbGVjdGlvbigpLmlzU2VsZWN0ZWQodGhpcykpJiZzLnB1c2godGhpcy5faW5wdXRzTGluZXNQYW5lVmlldyksdGhpcy5faW5wdXRzQW5jaG9yc1BhbmVWaWV3JiZzLnB1c2godGhpcy5faW5wdXRzQW5jaG9yc1BhbmVWaWV3KSxlPT09dCYmcy5wdXNoKC4uLnRoaXMuX2ZvcmNlT3ZlcmxheXNQYW5lVmlld3MpLGkmJnMucHVzaChpKSxzfWxhYmVsUGFuZVZpZXdzKGUpe2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblBhbmUoKTtpZih0aGlzLmlzU291cmNlSGlkZGVuKCl8fCFlLmhhc1ByaWNlRGF0YVNvdXJjZSh0aGlzKSlyZXR1cm4gdGhpcy5fbWV0YUluZm8udmFsdWUoKS5oYXNGb3JjZU92ZXJsYXlQbG90cygpP2UhPT10P251bGw6dGhpcy5fZm9yY2VPdmVybGF5TGFiZWxQYW5lVmlld3M6bnVsbDtjb25zdCBzPVsuLi50aGlzLl9sYWJlbFBhbmVWaWV3c107cmV0dXJuIGU9PT10JiZzLnB1c2goLi4udGhpcy5fZm9yY2VPdmVybGF5TGFiZWxQYW5lVmlld3MpLHN9dGltZUF4aXNWaWV3cygpe3JldHVybiB0aGlzLl9tb2RlbC5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHRoaXMpP3RoaXMuX2lucHV0c1RpbWVBeGlzUGFuZVZpZXdzOm51bGx9cHJpY2VBeGlzVmlld3MoZSx0KXtpZih0IT09dGhpcy5wcmljZVNjYWxlKCkmJnQ9PT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpJiYhZS5oYXNEYXRhU291cmNlKHRoaXMpKXJldHVybiB0aGlzLl9mb3JjZU92ZXJsYXlQcmljZUF4aXNWaWV3cztjb25zdCBzPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkub2xkU2hvd0xhc3RWYWx1ZTtpZihzJiYhcy52YWx1ZSgpKXJldHVybiBudWxsO2xldCBpPXRoaXMuX3ByaWNlQXhpc1ZpZXdzLnNsaWNlKCkKO3JldHVybiB0aGlzLl9tb2RlbC5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHRoaXMpJiYoaT1pLmNvbmNhdCh0aGlzLl9pbnB1dHNQcmljZUF4aXNQYW5lVmlld3MpKSx0PT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKSYmKGk9aS5jb25jYXQodGhpcy5fZm9yY2VPdmVybGF5UHJpY2VBeGlzVmlld3MpKSxlLmZpbmRUYXJnZXRQcmljZUF4aXNWaWV3cyh0aGlzLHQsaSx0aGlzLl9wcmljZUxpbmVzQXhpc1ZpZXdzKX1tb3ZhYmxlKCl7cmV0dXJuIG51bGwhPT10aGlzLl9pbnB1dHNBbmNob3JzUGFuZVZpZXd9c3RhcnRNb3ZpbmcoZSx0LHMsaSl7dGhpcy5fc3RhcnRNb3ZpbmdQb2ludD1lfW1vdmUoZSx0LHMsaSl7aWYodm9pZCAwIT09ZS5sb2dpY2FsJiZudWxsIT09dGhpcy5fc3RhcnRNb3ZpbmdQb2ludCl7aWYoQXJyYXkuaXNBcnJheSh0KSl7Y29uc3Qgcz10O3RoaXMuX3VwZGF0ZUlucHV0VmFsdWUoZS5sb2dpY2FsLHNbMF0pLHRoaXMuX3VwZGF0ZUlucHV0VmFsdWUoZS5sb2dpY2FsLHNbMV0pfWVsc2UgdGhpcy5fdXBkYXRlSW5wdXRWYWx1ZShlLmxvZ2ljYWwsdCk7dGhpcy51cGRhdGVBbGxWaWV3cygoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKX19ZW5kTW92aW5nKGUsdCl7cmV0dXJuIHRoaXMuX3N0YXJ0TW92aW5nUG9pbnQ9bnVsbCx7aW5kZXhlc0NoYW5nZWQ6ITEscHJpY2VzQ2hhbmdlZDohMX19Y2xlYXJEYXRhKCl7dGhpcy5faW52YWxpZGF0ZUxhc3ROb25FbXB0eVBsb3RSb3dDYWNoZSgpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPXRoaXMuX29uZ29pbmdEYXRhVXBkYXRlLnRoZW4oKCgpPT57dGhpcy5fY2xlYXJEYXRhKCksdGhpcy5fZ3JhcGhpY3MgaW5zdGFuY2VvZiBLLkxpdmVTdHVkeUdyYXBoaWNzJiZ0aGlzLl9ncmFwaGljcz8uY2xlYXIoKSx0aGlzLl9zZXJ2ZXJQbG90T2Zmc2V0cy5zZXRWYWx1ZSh7fSl9KSksdGhpcy5oYXNCYXJDb2xvcmVyKCkmJnRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pbnZhbGlkYXRlQmFyU3R5bGVzQ2FjaGUoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLEouc291cmNlQ2hhbmdlRXZlbnQpKHtzb3VyY2VJZDp0aGlzLmlkKCksY2xlYXJEYXRhOiEwfSkpfWNvbnZlcnRZQ29vcmRpbmF0ZVRvUHJpY2VGb3JNb3ZpbmcoZSx0KXtjb25zdCBzPXRoaXMucHJpY2VTY2FsZSgpO2lmKCF0fHwhc3x8cy5pc0VtcHR5KCkpcmV0dXJuIG51bGw7Y29uc3QgaT10LmZpcnN0VmFsdWUoKTtyZXR1cm4gbnVsbD09PWk/bnVsbDpzLmNvb3JkaW5hdGVUb1ByaWNlKGUsaSl9cHJvY2Vzc0hpYmVybmF0ZShlKXtjb25zdCB0PXRoaXMuaXNWaXNpYmxlKCk7aWYoIXRoaXMuaXNTdGFydGVkKCkmJnQmJih0aGlzLl9zb3VyY2VzLnZhbHVlKCkuZm9yRWFjaCgoZT0+e2UucHJvY2Vzc0hpYmVybmF0ZSgpfSkpLHRoaXMuc3RhcnQodm9pZCAwLHZvaWQgMCxlKSx0aGlzLl9vbkhpYmVybmF0aW9uU3RhdGVDaGFuZ2UuZmlyZSghMSkpLHRoaXMuaXNIaWJlcm5hdGlvbkFsbG93ZWQoKSYmdGhpcy5pc1N0YXJ0ZWQoKSYmIXQpe2Zvcihjb25zdCBlIG9mIHRoaXMuX2NoaWxkcmVuKWUucHJvY2Vzc0hpYmVybmF0ZSgpO3RoaXMuc3RvcCh2b2lkIDAsZSksdGhpcy5fb25IaWJlcm5hdGlvblN0YXRlQ2hhbmdlLmZpcmUoITApfX1pc0hpYmVybmF0aW9uQWxsb3dlZCgpe3JldHVybighdGhpcy5tZXRhSW5mbygpLmhpc3RvcnlDYWxjdWxhdGlvbk1heUNoYW5nZXx8IXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSkmJighdGhpcy5oYXNDaGlsZHJlbigpfHwhIXRoaXMuX21vZGVsLmNvbGxhcHNlZCgpLnZhbHVlKCkmJnRoaXMuX2NoaWxkcmVuLmV2ZXJ5KChlPT5lLmlzSGliZXJuYXRpb25BbGxvd2VkKCkpKSl9aXNQbG90VmlzaWJsZUF0KGUsdCl7bGV0IHM7Y29uc3QgaT10aGlzLm1ldGFJbmZvKCkucGxvdHMuZmluZCgodD0+dC5pZD09PWUpKTtpZihzPXZvaWQgMCE9PWk/KDAsWi5pc09obGNQbG90KShpKT90aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLm9obGNQbG90cy5jaGlsZHMoKVtpLnRhcmdldF06dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbZV06dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5vaGxjUGxvdHMuY2hpbGRzKClbZV0sdm9pZCAwPT09cyl0aHJvdyBuZXcgRXJyb3IoYFN0dWR5IGRvZXMgbm90IGNvbnRhaW4gJHtlfSBwbG90YCk7Y29uc3Qgcj1zLmNoaWxkcygpLmRpc3BsYXkudmFsdWUoKTtyZXR1cm4gbnVsbCE9PXImJigwLHouaXNQbG90VmlzaWJsZSkocix0KX1yZWNhbGN1bGF0ZSgpe2NvbnN0IGU9dGhpcy5fbW9kZWwucGFuZUZvclNvdXJjZSh0aGlzKTt0aGlzLl9tb2RlbC5yZWNhbGN1bGF0ZVBhbmUoZSwoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyl9bWF4T2Zmc2V0KCl7cmV0dXJuIHRoaXMuX21heE9mZnNldH1vblN0YXJ0KCl7cmV0dXJuIHRoaXMuX29uU3RhcnR9b25QYXJlbnRTb3VyY2VzQ2hhbmdlcygpe3JldHVybiB0aGlzLl9vblBhcmVudFNvdXJjZXNDaGFuZ2VzfWlzSGliZXJuYXRlZCgpe3JldHVybiF0aGlzLmlzVmlzaWJsZSgpJiYhdGhpcy5pc1N0YXJ0ZWQoKX1ncmFwaGljc1ZpZXdzUmVhZHkoKXtyZXR1cm4gdGhpcy5fZ3JhcGhpY3NWaWV3c1JlYWR5fXNldExvYWRpbmdDb21waWxhdGlvbkFjdGl2ZShlKXt0aGlzLl9jb21waWxlQWN0aXZlU3RhdHVzLnNldFZhbHVlKGU/e3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLkxvYWRpbmcsc3RhcnRUaW1lOkRhdGUubm93KCl9Om51bGwpLHRoaXMuX3N0YXR1c1ZpZXc/LnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyksdGhpcy5fc3RhdHVzQ2hhbmdlZC5maXJlKHRoaXMuc3RhdHVzKCkpfXNldEVycm9yQ29tcGlsYXRpb24oZSl7e2NvbnN0IHQ9KDAsUGUuZXh0cmFjdFBpbmVJZCkodGhpcy5fbWV0YUluZm8udmFsdWUoKS5pZCkKO2lmKG51bGw9PT1lfHwwPT09ZS5sZW5ndGh8fG51bGw9PT10KXJldHVybiB0aGlzLl9jb21waWxlRXJyb3JTdGF0dXMuc2V0VmFsdWUobnVsbCksdm9pZCB0aGlzLl9zZXRTdGF0dXMoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZH0pO2NvbnN0IHM9ZVswXTt0aGlzLl9jb21waWxlRXJyb3JTdGF0dXMuc2V0VmFsdWUoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLkVycm9yLGVycm9yRGVzY3JpcHRpb246e2Vycm9yOnMubWVzc2FnZSxlZGl0b3JFcnJvcjp7Li4ucyxpZDp0fSx0aXRsZToiQ29tcGlsYXRpb24gZXJyb3IifX0pLHRoaXMuX3N0YXR1c1ZpZXc/LnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyksdGhpcy5fc3RhdHVzQ2hhbmdlZC5maXJlKHRoaXMuc3RhdHVzKCkpfX1oYXNDb21waWxlRXJyb3IoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX2NvbXBpbGVFcnJvclN0YXR1cy52YWx1ZSgpfXR1cm5hcm91bmQoZSl7aWYoIWUpcmV0dXJuIHRoaXMuX3R1cm5hcm91bmQ7Y29uc3QgdD10aGlzLl9zZXJpZXMuc2VyaWVzU291cmNlKCkudHVybmFyb3VuZCgpLHM9KDAsVGUuYnVpbGRUcmVlRm9yU3R1ZHkpKHRoaXMpO3JldHVybigwLFRlLmJ1aWxkVHVybmFyb3VuZCkodCxzKX1jYW5IYXZlQ2hpbGRyZW4oKXtyZXR1cm4gdGhpcy5fY2FuSGF2ZUNoaWxkcmVuPXRoaXMuX2NhbkhhdmVDaGlsZHJlbj8/di5TdHVkeU1ldGFJbmZvLmNhbkhhdmVDaGlsZHJlbih0aGlzLl9tZXRhSW5mby52YWx1ZSgpKSx0aGlzLl9jYW5IYXZlQ2hpbGRyZW59c2V0Q2hpbGQoZSl7LTE9PT10aGlzLl9jaGlsZHJlbi5pbmRleE9mKGUpJiZ0aGlzLl9jaGlsZHJlbi5wdXNoKGUpfXVuc2V0Q2hpbGQoZSl7Y29uc3QgdD10aGlzLl9jaGlsZHJlbi5pbmRleE9mKGUpO350JiZ0aGlzLl9jaGlsZHJlbi5zcGxpY2UodCwxKX1jaGlsZHJlbigpe3JldHVybiB0aGlzLl9jaGlsZHJlbn1nZXRBbGxDaGlsZHJlbigpe2NvbnN0IGU9dGhpcy5fY2hpbGRyZW4uc2xpY2UoKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoOysrdCl7Y29uc3Qgcz1lW3RdLmdldEFsbENoaWxkcmVuKCk7Zm9yKGxldCB0PTA7dDxzLmxlbmd0aDsrK3QpfmUuaW5kZXhPZihzW3RdKXx8ZS5wdXNoKHNbdF0pfXJldHVybiBlfXBhcmVudFNvdXJjZUZvcklucHV0KGUpe2lmKGUuaW5jbHVkZXMoIiQiKSl7Y29uc3QgdD1lLnNwbGl0KCIkIilbMF07cmV0dXJuIHRoaXMuX3NvdXJjZXMudmFsdWUoKS5maW5kKChlPT5lLmlkKCk9PT10KSk/P251bGx9cmV0dXJuIHRoaXMuX3Nlcmllc31wcmljZVN0ZXAoKXtyZXR1cm4gdGhpcy5fcHJpY2VTdGVwfHx0aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkucHJpY2VTdGVwKCExKX1yZWNyZWF0ZVByaWNlRm9ybWF0dGVyKCl7dGhpcy5fcmVjcmVhdGVQcmljZUZvcm1hdHRpbmdEZXBlbmRlbmNpZXMoKX1zZXRPd25lclNvdXJjZShlKXtzdXBlci5zZXRPd25lclNvdXJjZShlKSx0aGlzLl9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcygpfW9uVGFnc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fdGFnc0NoYW5nZWR9aGFzSGlnaGxpZ2h0ZWRQbG90cygpe3JldHVybigwLCQuaGlnaGxpZ2h0Q29udGFpbnNTb3VyY2UpKHRoaXMuX21vZGVsLmhpZ2hsaWdodGVkUGxvdEluZm8oKSx0aGlzLmlkKCkpfWdldFByb3BlcnR5RGVmaW5pdGlvbnNWaWV3TW9kZWwoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2RlZmluaXRpb25zVmlld01vZGVsP3RoaXMuX2dldFByb3BlcnR5RGVmaW5pdGlvbnNWaWV3TW9kZWxDbGFzcygpLnRoZW4oKGU9Pm51bGw9PT1lfHx0aGlzLl9pc0Rlc3Ryb3llZD9udWxsOihudWxsPT09dGhpcy5fZGVmaW5pdGlvbnNWaWV3TW9kZWwmJih0aGlzLl9kZWZpbml0aW9uc1ZpZXdNb2RlbD1uZXcgZSh0aGlzLl9tb2RlbC51bmRvTW9kZWwoKSx0aGlzKSksdGhpcy5fZGVmaW5pdGlvbnNWaWV3TW9kZWwpKSk6UHJvbWlzZS5yZXNvbHZlKHRoaXMuX2RlZmluaXRpb25zVmlld01vZGVsKX1jYWxjdWxhdGlvblRpbWUoKXtyZXR1cm4gdGhpcy5fY2FsY3VsYXRpb25UaW1lLnJlYWRvbmx5KCl9Y29udGV4dE1lbnVTdGF0TmFtZSgpe3JldHVybiJJbmRpY2F0b3JDb250ZXh0TWVudSJ9bWV0YUluZm9XVigpe3JldHVybiB0aGlzLl9tZXRhSW5mby5yZWFkb25seSgpfWFzeW5jIHBhdGNoUHJvcGVydGllc0FmdGVyUmVzZXREZWZhdWx0cygpe2NvbnN0IGU9dGhpcy5pbnB1dHMoKTtpZihPYmplY3Qua2V5cyhlKS5zb21lKChlPT4oMCxEZS5pc1N0dWR5SW5wdXREZXBlbmRzT25DaGFydCkoe2lkOmV9KSkpKXt0aGlzLl9hYm9ydFBhdGNoUHJvcHNDb250cm9sbGVyLmFib3J0KCksdGhpcy5fYWJvcnRSZXNldFBhdGNoUHJvcHNDb250cm9sbGVyLmFib3J0KCksdGhpcy5fYWJvcnRSZXNldFBhdGNoUHJvcHNDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXI7Y29uc3QgdD1uZXcgdi5TdHVkeU1ldGFJbmZvKHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuc3RhdGUoKSk7dGhpcy5fcHJldmlvdXNQYXRjaE1hcD17fSx0aGlzLl9yZXNldFByb3BlcnRpZXNQYXRjaGVkPW5ldyBQcm9taXNlKChhc3luYyBzPT57YXdhaXQoMCxGLnBhdGNoUHJvcGVydGllc0FzeW5jKSh0aGlzLl9wcm9wZXJ0aWVzLHQsZSx0aGlzLl9hYm9ydFJlc2V0UGF0Y2hQcm9wc0NvbnRyb2xsZXIuc2lnbmFsLHRoaXMuX3ByZXZpb3VzUGF0Y2hNYXAsITApLHRoaXMuX21ldGFJbmZvLnNldFZhbHVlKHQpLHMoKX0pKX19X2dldFByb3BlcnR5RGVmaW5pdGlvbnNWaWV3TW9kZWxDbGFzcygpe3JldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9X2FsZXJ0TWV0YUluZm8oKXtyZXR1cm4gdGhpcy5tZXRhSW5mbygpfV9jcmVhdGVTdHVkeU9uU2VydmVyKCl7aWYodGhpcy5faXNEZXN0cm95ZWQpcmV0dXJuITE7dGhpcy5faXNTdGFydGVkPSEwLHRoaXMuX2luY3JlbWVudFR1cm5hcm91bmQoKTtjb25zdCBlPSgwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5faW5wdXRzKTtsZXQgdAo7aWYodD10aGlzLl9jaGFydEFwaS5jcmVhdGVTdHVkeSh0aGlzLnNvdXJjZUlkKCksdGhpcy5fdHVybmFyb3VuZCwoMCxoLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Nlcmllcy5zZXJpZXNTb3VyY2UoKS5pbnN0YW5jZUlkKCkpLHRoaXMuX3N0dWR5TmFtZS52YWx1ZSgpLGUsdGhpcy5faGFuZGxlcix0aGlzLl9zdHVkeVNwZWMoKSksIXQpcmV0dXJuIHRoaXMuX2lzU3RhcnRlZD0hMSx0O2lmKHBlcmZvcm1hbmNlLm1hcmsoYGNhbGN1bGF0ZV9zdHVkeV8ke3RoaXMuX2lkLnZhbHVlKCl9YCksdm9pZCAwPT09dGhpcy5fb2xkU3R1ZHlJbnB1dHMpe2NvbnN0IGU9dGhpcy5fcHJlcGFyZUlucHV0cyhWcyk7T2JqZWN0LmtleXMoZSkuc29tZSgoZT0+KDAsRGUuaXNTdHVkeUlucHV0RGVwZW5kc09uQ2hhcnQpKHtpZDplfSkpKXx8KHRoaXMuX29sZFN0dWR5SW5wdXRzPWUpfXJldHVybiB0aGlzLl9kZWZlcnJlZFBpbmVQYXRjaFByb3BzJiYhdGhpcy5fcmVzdGFydGluZyYmdGhpcy5fcGluZVBhdGNoUHJvcHMoKSwhMH1fc3RvcFN0dWR5T25TZXJ2ZXIoKXt0aGlzLl9jaGFydEFwaSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLmlzU3RhcnRlZCgpJiYodGhpcy5fY2hhcnRBcGkucmVtb3ZlU3R1ZHkodGhpcy5zb3VyY2VJZCgpKSx0aGlzLl9zZXRTdGF0dXMoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZH0pKSxwZXJmb3JtYW5jZS5jbGVhck1hcmtzKGBjYWxjdWxhdGVfc3R1ZHlfJHt0aGlzLnNvdXJjZUlkKCl9YCksdGhpcy5faXNTdGFydGVkPSExfV9tb2RpZnlTdHVkeU9uU2VydmVyKGUsdCl7dGhpcy5fY2hhcnRBcGkubW9kaWZ5U3R1ZHkodGhpcy5zb3VyY2VJZCgpLHRoaXMuX3R1cm5hcm91bmQsZSx0aGlzLl9oYW5kbGVyLHQpLHBlcmZvcm1hbmNlLm1hcmsoYGNhbGN1bGF0ZV9zdHVkeV8ke3RoaXMuc291cmNlSWQoKX1gKX1fc2VuZE5vdGlmeUNvbW1hbmQoZSx0KXt0aGlzLl9jaGFydEFwaS5ub3RpZnlTdHVkeSh0aGlzLnNvdXJjZUlkKCksZSx0KX1fdHJhbnNmb3JtRGF0YShlKXt9X3Bsb3RzRGF0YVJhbmdlKCl7Y29uc3QgZT10aGlzLnBsb3RzKCkuZmlyc3RJbmRleCgpLHQ9dGhpcy5wbG90cygpLmxhc3RJbmRleCgpO3JldHVybiBudWxsIT09ZSYmbnVsbCE9PXQ/W2UsdF06bnVsbH1faW52YWxpZGF0ZUxhc3ROb25FbXB0eVBsb3RSb3dDYWNoZSgpe3RoaXMuX2xhc3ROb25FbXB0eVBsb3RSb3dDYWNoZT17fX1fY29sbGVjdERlcHNGb3JBbGVydCgpe2NvbnN0IGU9W3RoaXMsLi4udGhpcy5fYWxsT3duZXJTb3VyY2VzLnZhbHVlKCkuZmlsdGVyKChlPT5lIGluc3RhbmNlb2YgVXMpKV07cmV0dXJuKDAsVC5jb2xsZWN0RGVwc0ZvckFsZXJ0KShlKX1fYWxsSW5wdXRzQXJlVmFsaWQoKXtpZihudWxsPT09dGhpcy5fdmlzaWJsZVRpbWVSYW5nZUlucHV0cz8udmFsdWUoKSlyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiB0aGlzLl9tZXRhSW5mby52YWx1ZSgpLmlucHV0cylpZigiYmFyX3RpbWUiPT09ZS50eXBlKXtjb25zdCB0PWUuaWQ7aWYobnVsbD09dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKClbdF0udmFsdWUoKSlyZXR1cm4hMX1yZXR1cm4hMH1hc3luYyBfc3RhcnRBZnRlclN5bWJvbHNSZXNvbHZlZChlLHQpe2F3YWl0IFByb21pc2UuYWxsKHRoaXMuX3NvdXJjZXMudmFsdWUoKS5tYXAoKGU9PiFlLmlzU3RhcnRlZCgpfHxlLmlzUmVzdGFydGluZygpP25ldyBQcm9taXNlKCh0PT57ZS5vblN0YXJ0KCkuc3Vic2NyaWJlKHRoaXMsdCwhMCl9KSk6UHJvbWlzZS5yZXNvbHZlKCkpKSksdGhpcy5pc1N0YXJ0ZWQoKSYmIXRoaXMuX3Jlc3RhcnRpbmd8fCh0aGlzLl9yZXN0YXJ0aW5nPSExLHRoaXMuX2FsbElucHV0c0FyZVZhbGlkKCkmJiF0aGlzLm1ldGFJbmZvKCkuaXNUVlNjcmlwdFN0dWImJih0aGlzLl9pbnB1dHM9dGhpcy5fYXBpSW5wdXRzKCksdGhpcy5fY3JlYXRlU3R1ZHlPblNlcnZlcigpJiYodGhpcy5fc3Vic2NyaWJlVG9TZXNzaW9uSWQoKSx0aGlzLl9vblN0YXJ0LmZpcmUoKSwhMD09PWUmJnRoaXMuX2NoaWxkcmVuJiZhd2FpdCB0aGlzLl9jaGlsZHJlbi5tYXAoKGU9PmUuc3RhcnQoITAsdCkpKSkpKX1hc3luYyBfY2hhbmdlSW5wdXRzSW1wbChlLHQpe2NvbnN0IHM9dGhpcy5fY2FsY1NvdXJjZXMoKSxpPXRoaXMuX21ldGFJbmZvLnZhbHVlKCkscj1rcyhpLGUsdCksbj0oKT0+e2Zvcihjb25zdCBzIG9mIGkuaW5wdXRzKXtpZigic291cmNlIiE9PXMudHlwZSljb250aW51ZTtjb25zdCBpPWVbcy5pZF0udixyPXRbcy5pZF0udjtpZihpIT09cil7KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5jaGlsZChzLmlkKSkuc2V0VmFsdWUocil9fX07aWYodGhpcy5pc1N0YXJ0ZWQoKSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZyPjAmJiF0aGlzLl9jaGFydEFwaS5jYW5DcmVhdGVTdHVkeSh0aGlzLl9zdHVkeVNwZWMoITApLCEwKS5zdWNjZXNzKXtjb25zdCBlPXdpbmRvdy51c2VyLnByb19wbGFuLHQ9InByb19wcmVtaXVtX2V4cGVydCI9PT1lfHwicHJvX3ByZW1pdW1fZXhwZXJ0X3RyaWFsIj09PWU7cmV0dXJuKDAsTy5vcGVuUGF5d2FsbCkoe2ZlYXR1cmU6InN0dWR5T25TdHVkeSIsaXNNYXhQbGFuOnR9KSx2b2lkIG4oKX10aGlzLl9pbnB1dHM9ZTtsZXQgYT0hMTtjb25zdCBvPU9iamVjdC52YWx1ZXMoRGUuUmFuZ2VEZXBlbmRlbnRTdHVkeUlucHV0TmFtZXMpO2Zvcihjb25zdCBzIG9mIE9iamVjdC5rZXlzKGUpKWlmKEpTT04uc3RyaW5naWZ5KGVbc10pIT09SlNPTi5zdHJpbmdpZnkodFtzXSkmJiFvLmluY2x1ZGVzKHMpKXthPSEwO2JyZWFrfXRoaXMuX2luY3JlbWVudFR1cm5hcm91bmQoKSxhJiZ0aGlzLmRpc2FibGVQcmljZVJhbmdlUmVhZHkoKTt0cnl7YXdhaXQgdGhpcy5fdXBkYXRlUGFyZW50U291cmNlcyhzLHIsITApLHRoaXMuX21vZGlmeVN0dWR5T25TZXJ2ZXIoZSxyKSx0aGlzLl9zdHVkeU1vZGlmaWVkPSEwfWNhdGNoKGUpe1NzLmxvZ0Vycm9yKGBFcnJvciBhcHBseWluZyBwYXJlbnQgc291cmNlczogJHtlfWApLG4oKX0KdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSgpfV9nZXRTeW1ib2xTb3VyY2UoKXtyZXR1cm4gdGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpLnN5bWJvbFNvdXJjZSgpfV9nZXRDdXJyZW5jeUlucHV0UHJvcGVydHkoKXtyZXR1cm4gbnVsbH1fZ2V0VW5pdElucHV0UHJvcGVydHkoKXtyZXR1cm4gbnVsbH1fY3JlYXRlUHJpY2VBeGlzVmlldyhlKXtjb25zdCB0PXRoaXMubWV0YUluZm8oKS5wbG90cy5maW5kKCh0PT4idGFyZ2V0ImluIHQmJnQudGFyZ2V0PT09ZSkpO3JldHVybiB2b2lkIDAhPT10JiYoMCxaLmlzT2hsY1Bsb3QpKHQpP25ldyBycyh0aGlzLHtwbG90TmFtZTplfSk6bmV3IGlzLlN0dWR5UHJpY2VBeGlzVmlldyh0aGlzLHtwbG90TmFtZTplfSl9X2NyZWF0ZVByaWNlTGluZUF4aXNWaWV3KGUpe3JldHVybiBuZXcgbnMuU3R1ZHlQcmljZUxpbmVBeGlzVmlldyh0aGlzLGUpfV9jcmVhdGVTdHVkeVBsb3RQYW5lVmlldyhlKXtyZXR1cm4gbmV3IEZ0LlN0dWR5UGxvdFBhbmVWaWV3KHRoaXMsdGhpcy5fc2VyaWVzLHRoaXMuX21vZGVsLGUpfV9jcmVhdGVWaWV3cygpe3RoaXMuX3ByaWNlQXhpc1ZpZXdzQmFzZT1bXSx0aGlzLl9mb3JjZU92ZXJsYXlQcmljZUF4aXNWaWV3cz1bXSx0aGlzLl9wcmljZUxpbmVzQXhpc1ZpZXdzPVtdLHRoaXMuX3BhbmVWaWV3cz1bXSx0aGlzLl9mb3JjZU92ZXJsYXlzUGFuZVZpZXdzPVtdLHRoaXMuX2xhYmVsUGFuZVZpZXdzPVtdLHRoaXMuX2ZvcmNlT3ZlcmxheUxhYmVsUGFuZVZpZXdzPVtdO2NvbnN0IGU9bmV3IFNldCx0PXRoaXMubWV0YUluZm8oKSxzPUJvb2xlYW4odC51c2VQbG90c1pPcmRlciksaT1uZXcgTWFwLHI9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKTtpZihyLmZpbGxlZEFyZWFzU3R5bGUmJnQuZmlsbGVkQXJlYXMpZm9yKGxldCBlPTA7ZTx0LmZpbGxlZEFyZWFzLmxlbmd0aDsrK2Upe2NvbnN0IG49dC5maWxsZWRBcmVhc1tlXSxhPSgwLGguZW5zdXJlRGVmaW5lZCkoci5maWxsZWRBcmVhc1N0eWxlLmNoaWxkcygpW24uaWRdKSxvPU5zKHQsbi5pZCk7bGV0IGw7aWYoInBsb3RfcGxvdCI9PT1uLnR5cGV8fG8/bD1uZXcgV3QodGhpcyx0aGlzLm1vZGVsKCksbixhKToiaGxpbmVfaGxpbmUiPT09bi50eXBlP2w9bmV3IFl0KHRoaXMsbixhKTpTcy5sb2dXYXJuKCJVbnN1cHBvcnRlZCBmaWxsZWRBcmVhIHR5cGU6ICIrbi50eXBlKSx2b2lkIDAhPT1sKXtsZXQgZT0hMTtpZigicGxvdF9wbG90Ij09PW4udHlwZSYmKGU9dC5pc1Bsb3RGb3JjZU92ZXJsYXkobi5vYmpBSWQpKSxlKXRoaXMuX2ZvcmNlT3ZlcmxheXNQYW5lVmlld3MucHVzaChsKTtlbHNle2NvbnN0IGU9cz8oMCxoLmVuc3VyZURlZmluZWQpKG4uem9yZGVyKTppLnNpemU7RnMoZSxpKSxpLnNldChlLHtwYW5lVmlld3M6W2xdfSl9fX17bGV0IHI9LTFlNTtmb3IobGV0IG49MDtuPHQucGxvdHMubGVuZ3RoO24rKyl7Y29uc3QgYT10LnBsb3RzW25dO2xldCBvLGwsdSxjLGQscD10LmlzUGxvdEZvcmNlT3ZlcmxheShhLmlkKTtpZigoMCxaLmlzTm9uVmlzdWFsUGxvdCkoYSkpY29udGludWU7bGV0IF89YS5pZCxmPXQuc3R5bGVzO2NvbnN0IG09KDAsWi5pc0JnQ29sb3JlclBsb3QpKGEpO2lmKG0pbz1uZXcgRWUodGhpcyx0aGlzLl9zZXJpZXMsdGhpcy5fbW9kZWwsXyk7ZWxzZSBpZigoMCxaLmlzU2hhcGVzUGxvdCkoYSkpbz1uZXcgYXQodGhpcyx0aGlzLl9zZXJpZXMsdGhpcy5fbW9kZWwsXyk7ZWxzZSBpZigoMCxaLmlzQ2hhcnNQbG90KShhKSlvPW5ldyBTdCh0aGlzLHRoaXMuX3Nlcmllcyx0aGlzLl9tb2RlbCxfKTtlbHNlIGlmKCgwLFouaXNBcnJvd3NQbG90KShhKSlvPW5ldyBDdCh0aGlzLHRoaXMuX3Nlcmllcyx0aGlzLl9tb2RlbCxfKTtlbHNlIGlmKCgwLFouaXNPaGxjUGxvdCkoYSkpe2NvbnN0IHM9YS50YXJnZXQ7aWYoZS5oYXMocykpY29udGludWU7aWYocD10LmlzUGxvdEZvcmNlT3ZlcmxheShzKSxlLmFkZChzKSxUcyh0LG4pKW89bmV3IFJ0KHRoaXMsdGhpcy5fc2VyaWVzLHRoaXMuX21vZGVsLHMpO2Vsc2V7aWYoIURzKHQsbikpe1NzLmxvZ0Vycm9yKGBwbG90ICR7YS5pZH0gbG9va3MgdG8gYmUgaW52YWxpZGApO2NvbnRpbnVlfW89bmV3IFR0KHRoaXMsdGhpcy5fc2VyaWVzLHRoaXMuX21vZGVsLHMpfWM9dGhpcy5fY3JlYXRlUHJpY2VBeGlzVmlldyhzKSx1PW5ldyBEdC5QYW5lUHJpY2VBeGlzVmlldyhjLHRoaXMsdGhpcy5fbW9kZWwpLF89cyxmPXQub2hsY1Bsb3RzfWVsc2UoMCxaLmlzRGF0YVBsb3QpKGEpfHwoYz10aGlzLl9jcmVhdGVQcmljZUF4aXNWaWV3KF8pLGQ9dGhpcy5fY3JlYXRlUHJpY2VMaW5lQXhpc1ZpZXcoXyksbz10aGlzLl9jcmVhdGVTdHVkeVBsb3RQYW5lVmlldyhfKSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVtfXT8uY2hpbGQoInRyYWNrUHJpY2UiKT8udmFsdWUoKSYmKGw9bmV3IGt0KHRoaXMsXykpLHU9bmV3IGRzKGMsdGhpcyx0aGlzLl9tb2RlbCxfKSk7Y29uc3QgeT1zP20/cisrOigwLGguZW5zdXJlRGVmaW5lZCkoZj8uW19dPy56b3JkZXIpOmkuc2l6ZTtpZihGcyh5LGkpLHApYyYmdGhpcy5fZm9yY2VPdmVybGF5UHJpY2VBeGlzVmlld3MucHVzaChjKSxvJiZ0aGlzLl9mb3JjZU92ZXJsYXlzUGFuZVZpZXdzLnB1c2gobyksdSYmdGhpcy5fZm9yY2VPdmVybGF5TGFiZWxQYW5lVmlld3MucHVzaCh1KTtlbHNle2NvbnN0IGU9e3BhbmVWaWV3czp2b2lkIDAhPT1vP1tvXTpbXSxsYWJlbFZpZXc6dSxwcmljZUF4aXNWaWV3OmMscHJpY2VMaW5lQXhpc1ZpZXc6ZH07dm9pZCAwIT09bCYmZS5wYW5lVmlld3MucHVzaChsKSxpLnNldCh5LGUpfX19KHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuYmFuZHM/P1tdKS5mb3JFYWNoKCgoZSx0KT0+e2NvbnN0IG49ci5iYW5kcy5jaGlsZHMoKVt0XTtpZihuJiZuLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSl7Y29uc3QgdD1uZXcgJHQobix0aGlzKSxyPXM/KDAsaC5lbnN1cmVEZWZpbmVkKShlLnpvcmRlcik6aS5zaXplO0ZzKHIsaSksaS5zZXQocix7cGFuZVZpZXdzOlt0XX0pfX0pKSxyLmJhbmRzQmFja2dyb3VuZCYmKCgwLApoLmFzc2VydCkoIXMsIid1c2VQbG90c1pPcmRlcicgZmxhZyBkb2VzIG5vdCBzdXBwb3J0ZWQiKSxpLnNldChpLnNpemUse3BhbmVWaWV3czpbbmV3IEp0KHRoaXMpXX0pKTtjb25zdCBuPXRoaXMuX3BhbmVWaWV3cyxhPXRoaXMuX2ZvcmNlT3ZlcmxheXNQYW5lVmlld3M7dGhpcy5fY3JlYXRlR3JhcGhpY3NQYW5lVmlld3MoKS50aGVuKChlPT57Zm9yKGxldCB0PTA7dDxlLnJlZ3VsYXJQYW5lVmlld3MubGVuZ3RoO3QrKyluLnB1c2goZS5yZWd1bGFyUGFuZVZpZXdzW3RdKTtmb3IobGV0IHQ9MDt0PGUuZm9yY2VPdmVybGF5UGFuZVZpZXdzLmxlbmd0aDt0KyspYS5wdXNoKGUuZm9yY2VPdmVybGF5UGFuZVZpZXdzW3RdKTt0aGlzLl9tb2RlbC5saWdodFVwZGF0ZSgpLHRoaXMuX2dyYXBoaWNzVmlld3NSZWFkeT0hMH0pKSxyLmFyZWFCYWNrZ3JvdW5kJiYoKDAsaC5hc3NlcnQpKCFzLCIndXNlUGxvdHNaT3JkZXInIGZsYWcgZG9lcyBub3Qgc3VwcG9ydGVkIiksaS5zZXQoaS5zaXplLHtwYW5lVmlld3M6W25ldyBCdC5BcmVhQmFja2dyb3VuZFBhbmVWaWV3KHRoaXMsdGhpcy5tb2RlbCgpKV19KSk7Y29uc3Qgbz1BcnJheS5mcm9tKGkua2V5cygpKS5zb3J0KCgoZSx0KT0+ZS10KSk7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2NvbnN0IHQ9KDAsaC5lbnN1cmVEZWZpbmVkKShpLmdldChvW2VdKSk7dGhpcy5fcGFuZVZpZXdzLnB1c2goLi4udC5wYW5lVmlld3MpLHQubGFiZWxWaWV3JiZ0aGlzLl9sYWJlbFBhbmVWaWV3cy5wdXNoKHQubGFiZWxWaWV3KSx0LnByaWNlQXhpc1ZpZXcmJnRoaXMuX3ByaWNlQXhpc1ZpZXdzQmFzZS5wdXNoKHQucHJpY2VBeGlzVmlldyksdC5wcmljZUxpbmVBeGlzVmlldyYmdGhpcy5fcHJpY2VMaW5lc0F4aXNWaWV3cy5wdXNoKHQucHJpY2VMaW5lQXhpc1ZpZXcpfXRoaXMuX2RhdGFXaW5kb3dWaWV3fHwodGhpcy5fZGF0YVdpbmRvd1ZpZXc9bmV3IEd0LlN0dWR5RGF0YVdpbmRvd1ZpZXcodGhpcyx0aGlzLl9tb2RlbCkpLHRoaXMuX2xlZ2VuZFZpZXd8fCh0aGlzLl9sZWdlbmRWaWV3PW5ldyBYKHRoaXMsdGhpcy5fbW9kZWwpKSx0aGlzLl9zdGF0dXNWaWV3fHwodGhpcy5fc3RhdHVzVmlldz1uZXcgZWUuU3R1ZHlTdGF0dXNWaWV3KHRoaXMpKSx0aGlzLl9mbG9hdGluZ1Rvb2x0aXBWaWV3fHwodGhpcy5fZmxvYXRpbmdUb29sdGlwVmlldz10aGlzLl9jcmVhdGVkQ2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3KCkpLHRoaXMuX2NvbmNhdFByaWNlQXhpc1ZpZXdzKCl9X2NyZWF0ZWRDaGFydEZsb2F0aW5nVG9vbHRpcFZpZXcoKXtyZXR1cm4gbmV3IGp0LlN0dWR5Q2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3KHRoaXMsdGhpcy5fbW9kZWwpfV9vbkRhdGEoZSl7c3dpdGNoKGUubWV0aG9kKXtjYXNlInN0dWR5X2xvYWRpbmciOnRoaXMuX29uU3R1ZHlMb2FkaW5nKGUudGltZSk7YnJlYWs7Y2FzZSJzdHVkeV9lcnJvciI6dGhpcy5fb25TdHVkeUVycm9yKGUucGFyYW1zWzJdKTticmVhaztjYXNlInN0dWR5X2NvbXBsZXRlZCI6aWYoIXRoaXMuX2NoZWNrVHVybmFyb3VuZChlLnBhcmFtc1sxXSkpcmV0dXJuO3RoaXMuX29uU3R1ZHlDb21wbGV0ZWQoZS50aW1lKTticmVhaztjYXNlImRhdGFfdXBkYXRlIjppZihlLnBhcmFtcy5jdXN0b21JZCE9PXRoaXMuc291cmNlSWQoKXx8IXRoaXMuX2NoZWNrVHVybmFyb3VuZChlLnBhcmFtcy50dXJuYXJvdW5kKSlyZXR1cm47KDAsaC5hc3NlcnQpKCEhZS5wYXJhbXMubm9uc2VyaWVzLCJkYXRhLnBhcmFtcy5ub25zZXJpZXMgaXMgbWlzc2luZyIpLHRoaXMuX29uRGF0YVVwZGF0ZShlLnBhcmFtcy5wbG90cywoMCxoLmVuc3VyZURlZmluZWQpKGUucGFyYW1zLm5vbnNlcmllcyksZS5wYXJhbXMubGFzdEJhcik7YnJlYWs7Y2FzZSJjbGVhcl9kYXRhIjp0aGlzLl9jaGVja1R1cm5hcm91bmQoZS5wYXJhbXMudHVybmFyb3VuZCkmJnRoaXMuY2xlYXJEYXRhKCl9fV9nZXRUZWxlbWV0cnlPYmplY3ROYW1lKCl7cmV0dXJuInN0dWR5In1fb25EYXRhVXBkYXRlZChlLHQscyxpKXtpZih0aGlzLmhhc0JhckNvbG9yZXIoKSYmZS5sZW5ndGg+MCl7Y29uc3QgdD0oMCxoLmVuc3VyZU5vdE51bGwpKHRoaXMuYmFyQ29sb3JlcigpKS5maXJzdENvbG9yZWRCYXIoZVswXS5pbmRleCk7bnVsbCE9PXQmJnRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pbnZhbGlkYXRlQmFyU3R5bGVzQ2FjaGUodCl9bnVsbCE9PXQmJnRoaXMuX3Bvc3RQcm9jZXNzR3JhcGhpY3MoKTtjb25zdCByPXRoaXMuX21vZGVsLnBhbmVGb3JTb3VyY2UodGhpcyk7aWYodGhpcy5fbW9kZWwucmVjYWxjdWxhdGVQYW5lKHIsKDAsSi5zb3VyY2VDaGFuZ2VFdmVudCkoe3NvdXJjZUlkOnRoaXMuaWQoKSxmaXJzdFVwZGF0ZWRUaW1lUG9pbnRJbmRleDppPz92b2lkIDAsbm9uU2VyaWVzT25seTowPT09ZS5sZW5ndGh9KSksdGhpcy5fdXBkYXRlU291cmNlcygpLGUubGVuZ3RoKXtjb25zdCB0PWVbZS5sZW5ndGgtMV0uaW5kZXgscz1lWzBdLmluZGV4O3RoaXMuX2RhdGFSYW5nZVVwZGF0ZWQuZmlyZSh7dHlwZToicGFydGlhbCIsc3RhcnRJbmRleDpzLGVuZEluZGV4OnR9KX1lbHNlIHRoaXMuZGF0YSgpLmlzRW1wdHkoKSYmdGhpcy5fZGF0YVJhbmdlVXBkYXRlZC5maXJlKHt0eXBlOiJmdWxsIn0pfV90aXRsZUlucHV0cyhlLHQscyl7cmV0dXJuIHRoaXMuaW5wdXRzKHRoaXMuX3RpdGxlSW5wdXRzT3B0aW9ucyhlLHQscykpfV90aXRsZUlucHV0c09wdGlvbnMoZSx0LHMpe3JldHVybntzeW1ib2xzRm9yRGlzcGxheTohMCxza2lwSGlkZGVuSW5wdXRzOiEwLHNraXBGYWtlSW5wdXRzOiExLGZha2VJbnB1dHNGb3JEaXNwbGF5OiEwLGFzT2JqZWN0OiEwLHNraXBwZWRHcm91cHM6W10sc2tpcHBlZElucHV0czp0aGlzLl9za2lwcGVkVGl0bGVJbnB1dHMoKSxub0V4Y2hhbmdlczp0LG5vUmVzb2x1dGlvbjpzLHByaWNlSW5wdXRzRm9yRGlzcGxheTohMCxza2lwT3B0aW9uYWxFbXB0eVN5bWJvbElucHV0czpBcyxkaXNwbGF5TWFzazplfX1fcG9zdFByb2Nlc3NHcmFwaGljcygpewp0aGlzLl9ncmFwaGljc1ByaWNlQXhpc1ZpZXdzPXRoaXMuX2NyZWF0ZUdyYXBoaWNzUHJpY2VBeGlzVmlld3MoKSx0aGlzLl9jb25jYXRQcmljZUF4aXNWaWV3cygpfWFzeW5jIF9jcmVhdGVHcmFwaGljc1BhbmVWaWV3cygpe3JldHVybigwLEsuY3JlYXRlR3JhcGhpY3NQYW5lVmlld3MpKHRoaXMsdGhpcy5tb2RlbCgpKX1fY3JlYXRlR3JhcGhpY3NQcmljZUF4aXNWaWV3cygpe3JldHVybigwLEsuY3JlYXRlR3JhcGhpY3NQcmljZUF4aXNWaWV3cykodGhpcyl9X3N1YnNjcmliZVRvU2Vzc2lvbklkKCl7IXRoaXMuX2lzU3Vic2NyaWJlZFRvU2Vzc2lvbklkJiZ0aGlzLmhhc1N5bWJvbElucHV0cygpJiYodGhpcy5zZXNzaW9uSWRDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZXNzaW9uSWRDaGFuZ2VkKSx0aGlzLl9pc1N1YnNjcmliZWRUb1Nlc3Npb25JZD0hMCl9X3JlY3JlYXRlRm9ybWF0dGVyKGUpe2xldCB0PWU7aWYodCl7Y29uc3QgZT10aGlzLl9tb2RlbC5zeW1ib2xBbGlhc1NlcnZpY2UoKT8uZ2V0QWxpYXNCeVByb05hbWUodC5wcm9fbmFtZSk7ZSYmKHQ9KDAsbi5kZWZhdWx0KSh0KSwoMCxhLmRlZmF1bHQpKHQsZS5mb3JtYXR0aW5nT3B0aW9ucz8/e30pKX10aGlzLl9yZWNyZWF0ZVBsb3RzRm9ybWF0dGVycyh0KSx0aGlzLl9mb3JtYXR0ZXI9dGhpcy5fdHJ5Q3JlYXRlRm9ybWF0dGVyKHQpLHRoaXMuX2RlZmF1bHRGb3JtYXR0ZXI9dGhpcy5fdHJ5Q3JlYXRlRGVmYXVsdEZvcm1hdHRlcih0KSx0aGlzLl9mb3JtYXR0ZXJDaGFuZ2VkLmZpcmUoKTtjb25zdCBzPXRoaXMucHJpY2VTY2FsZSgpO251bGwhPT1zJiZzLnVwZGF0ZUZvcm1hdHRlcigpLHRoaXMuZ2V0QWxsQ2hpbGRyZW4oKS5mb3JFYWNoKChlPT57ZS5yZWNyZWF0ZVByaWNlRm9ybWF0dGVyKCl9KSksdGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpfV9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcyhlKXt0aGlzLl9yZWNyZWF0ZUZvcm1hdHRlcihlKSx0aGlzLl9yZWNyZWF0ZVByaWNlU3RlcCgpfV90aXRsZShlLHQscyxpLHIsbil7Y29uc3QgYT10aGlzLl90aXRsZUluUGFydHMoZSx0LHMsaSxyLG4pO3JldHVybiB0aGlzLl9qb2luVGl0bGVzUGFydHMoYSl9X2dldFNwbGl0VGl0bGUoZSl7dGhyb3cgbmV3IEVycm9yKCJnZXRTcGxpdFRpdGxlIGlzIG9ubHkgZGVmaW5lZCBmb3Igc3ltYm9sIHNvdXJjZXMgKGNvbXBhcmUvb3ZlcmxheSBzdHVkaWVzKSIpfV9wb3N0UHJvY2Vzc1ByaWNlUmFuZ2UoZSx0KXtpZihlJiZlLm1pblZhbHVlKCk9PT1lLm1heFZhbHVlKCkmJiF0aGlzLm1ldGFJbmZvKCkuaXNfcHJpY2Vfc3R1ZHkpe2NvbnN0IHQ9LjAwNSplLm1pblZhbHVlKCk7ZT1uZXcgai5QcmljZVJhbmdlKGUubWluVmFsdWUoKS10LGUubWF4VmFsdWUoKSt0KX1jb25zdCBzPXQudGFyZ2V0UHJpY2VTY2FsZTtyZXR1cm4gcyYmcy5pc0xvZygpJiZlP25ldyBqLlByaWNlUmFuZ2Uocy5wcmljZVRvTG9naWNhbChlLm1pblZhbHVlKCkpLHMucHJpY2VUb0xvZ2ljYWwoZS5tYXhWYWx1ZSgpKSk6ZX1fdGl0bGVJblBhcnRzKGUsdD0hMCxpLHIsbixhKXtjb25zdCBvPVtWLnQodGhpcy5uYW1lKHQpLHtjb250ZXh0OiJzdHVkeSJ9LHMoODg0NjkzKSldO2xldCBsPVtdO2lmKCFyfHwoMCxJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhbHdheXNfc2hvd19zdHVkeV9zeW1ib2xfaW5wdXRfdmFsdWVzX2luX2xlZ2VuZCIpKXtjb25zdCBzPXRoaXMuX2dldE1URlJlc29sdXRpb25JbnB1dFRpdGxlKCk7bnVsbCE9PXMmJnMubGVuZ3RoPjAmJm8ucHVzaChzKTtsPSh0aGlzLmlucHV0c0luUGFydHMoZSx0LGksbixhKT8/W10pLm1hcCgoZT0+ZS52YWx1ZSkpfXJldHVybiBlPT09Vy5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSYmdGhpcy5fc2hvd1BpbmVWZXJzaW9uSW5TdGF0dXNMaW5lLnZhbHVlKCkmJm8ucHVzaCgoMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX21ldGFJbmZvLnZhbHVlKCkucGluZSkudmVyc2lvbiksW28uam9pbigiIMK3ICIpLGxdfV9zZXJpZXNEYXRhUmFuZ2VUb1NhdmUoZSl7cmV0dXJuIHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVFeHRlbmRlZERhdGFSYW5nZShlLDApfV9nZXRTeW1ib2xGb3JSZXNvbHZlKGUpe3JldHVybiB0aGlzLmdldFN5bWJvbFN0cmluZyh0aGlzLl9nZXRTeW1ib2xGb3JBcGkoZSkpfV9nZXRTeW1ib2xGb3JBcGkoZSl7cmV0dXJuIGV9X2dldFN5bWJvbE9iamVjdChlLHQpe2NvbnN0IHM9e3N5bWJvbDplfSxpPXRoaXMuY3VycmVuY3koKTtyZXR1cm4gbnVsbCE9PXRoaXMuX2N1cnJlbmN5U291cmNlU3ltYm9sSW5wdXRQcm9wZXJ0eSYmbnVsbCE9PXRoaXMuX2N1cnJlbmN5VW5pdFNvdXJjZVN5bWJvbEluZm8udmFsdWUoKSYmdGhpcy5fZ2V0U3ltYm9sRm9yQXBpKHRoaXMuX2N1cnJlbmN5U291cmNlU3ltYm9sSW5wdXRQcm9wZXJ0eS52YWx1ZSgpKT09PWUmJihzWyJjdXJyZW5jeS1pZCJdPWkpLHMuc2Vzc2lvbj10aGlzLnNlc3Npb25JZCgpLHN9X29uU3ltYm9sUmVzb2x2ZWQoZSx0LHMpe3tjb25zdCBlPSgwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuYWxlcnRzV2F0Y2hlcigpKTtlLnN5bmNTb3VyY2VBbGVydExhYmVscyh0aGlzKTtjb25zdCB0PXRoaXMuZ2V0QWxsQ2hpbGRyZW4oKTtmb3IoY29uc3QgcyBvZiB0KWUuc3luY1NvdXJjZUFsZXJ0TGFiZWxzKHMpfXRoaXMuX29uQ3VycmVuY3lNYXlDaGFuZ2UoKX1fb25TeW1ib2xSZXNvbHZpbmdTdGFydChlLHQpe31fb25TeW1ib2xFcnJvcigpe31fc2V0U3RhdHVzKGUsdCl7Y29uc3Qgcz10aGlzLmlzRmFpbGVkKCk7dGhpcy5fc3RhdHVzLnNldFZhbHVlKGUpLGUudHlwZT09PVp0LlN0dWR5U3RhdHVzVHlwZS5Db21wbGV0ZWQ/dGhpcy5fd2FzQ29tcGxldGVkQmVmb3JlPSEwOmUudHlwZSE9PVp0LlN0dWR5U3RhdHVzVHlwZS5FcnJvciYmZS50eXBlIT09WnQuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZHx8KHRoaXMuX3dhc0NvbXBsZXRlZEJlZm9yZT0hMSksdHx8KHRoaXMuX3N0YXR1c1ZpZXc/LnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSwKdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpLHRoaXMuX3N0YXR1c0NoYW5nZWQuZmlyZSh0aGlzLnN0YXR1cygpKSkscyE9PXRoaXMuaXNGYWlsZWQoKSYmdGhpcy5fdXBkYXRlQWxlcnRDcmVhdGlvbkF2YWlsYWJsZSgpfV9vblByb3BlcnRpZXNDaGFuZ2VkKCl7dGhpcy5fcmVzdGFydGluZ3x8KHRoaXMuX2lucHV0cz90aGlzLl90cnlDaGFuZ2VJbnB1dHMoKTp0aGlzLl9jaGFydEFwaSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLnJlc3RhcnQoKSk7Y29uc3QgZT10aGlzLl9tZXRhSW5mby52YWx1ZSgpO2UuaXNUVlNjcmlwdCYmZS5UVlNjcmlwdE1ldGFJbmZvRXhwcnMmJiF0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkmJih0aGlzLl9yZXN0YXJ0aW5nP3RoaXMuX2RlZmVycmVkUGluZVBhdGNoUHJvcHM9ITA6dGhpcy5fcGluZVBhdGNoUHJvcHMoKSksdGhpcy5fcmVjcmVhdGVQYW5lVmlld3MoKSwoMCxscy5lbWl0KSgic3R1ZHlfcHJvcGVydGllc19jaGFuZ2VkIix0aGlzLl9pZC52YWx1ZSgpKX1fbGFzdE5vbkVtcHR5UGxvdFJvdyhlKXtpZighKDAsdS5pc0ludGVnZXIpKGUpKXJldHVybiBTcy5sb2dEZWJ1ZygiX2xhc3ROb25FbXB0eVBsb3RSb3c6IGluY29ycmVjdCBwbG90SW5kZXgiKSxudWxsO2xldCB0PXRoaXMuX2xhc3ROb25FbXB0eVBsb3RSb3dDYWNoZVtlXT8/bnVsbDtpZihudWxsIT09dClyZXR1cm4gdDtyZXR1cm4gdD10aGlzLmRhdGEoKS5maW5kTGFzdCgoKHQscyk9PnZvaWQgMCE9PXNbZV0pLDFlMyksbnVsbD09PXQ/bnVsbDoodGhpcy5fbGFzdE5vbkVtcHR5UGxvdFJvd0NhY2hlW2VdPXQsdCl9X29uQ3VycmVuY3lDaGFuZ2VkKCl7ImFsd2F5c09mZiIhPT0oMCxzcy5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudmFsdWUoKSYmdGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpLHRoaXMuaXNTdGFydGVkKCkmJnRoaXMuX3RyeUNoYW5nZUlucHV0cygpLHRoaXMuX2N1cnJlbmN5Q2hhbmdlZC5maXJlKCl9X2FwaUlucHV0cygpe3JldHVybiB0aGlzLmlucHV0cyh7a2VlcE9wdGlvbmFsU3ltYm9sc0VtcHR5OiEwfSl9YXN5bmMgX3RyeUNoYW5nZUlucHV0cygpe2NvbnN0IGU9dGhpcy5pc1N0YXJ0ZWQoKSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpLHQ9dGhpcy5fYWxsSW5wdXRzQXJlVmFsaWQoKSxzPSgwLGguZW5zdXJlRGVmaW5lZCkoKDAsdS5jbG9uZSkodGhpcy5faW5wdXRzKSksaT10aGlzLl9hcGlJbnB1dHMoKSxyPUpTT04uc3RyaW5naWZ5KGkpLG49ciE9PUpTT04uc3RyaW5naWZ5KHRoaXMuX2lucHV0cyk7aWYoZSYmdCl0cnl7aWYoYXdhaXQgdGhpcy5fYWxsU3ltYm9sc0FyZVJlc29sdmVkKCksciE9PUpTT04uc3RyaW5naWZ5KHRoaXMuX2FwaUlucHV0cygpKSlyZXR1cm4gdGhpcy5fdHJ5Q2hhbmdlSW5wdXRzKCk7aWYodGhpcy5faXNTdG9wcGVkKCkpcmV0dXJuIHZvaWQobiYmdGhpcy5kaXNhYmxlUHJpY2VSYW5nZVJlYWR5KCkpO24mJihhd2FpdCB0aGlzLl9jaGFuZ2VJbnB1dHNJbXBsKGksKDAsaC5lbnN1cmVEZWZpbmVkKSgoMCx1LmNsb25lKSh0aGlzLl9pbnB1dHMpKSksKDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLm1vZGVsKCkuYWxlcnRzV2F0Y2hlcigpKS5zeW5jU291cmNlQWxlcnRMYWJlbHModGhpcykpfWNhdGNoKGUpe1NzLmxvZ0Vycm9yKGBFUlJPUjogJHt0aGlzLl9kZWJ1Z0lkKCl9IF90cnlDaGFuZ2VJbnB1dHM6IGNhbm5vdCBtb2RpZnkgc3R1ZHksICR7ZX1gKX1lbHNlIGlmKGUmJiF0JiZ0aGlzLnN0b3AoITApLCFlJiZ0JiZ0aGlzLnN0YXJ0KCEwKSxuKXtjb25zdCBlPXRoaXMuX2NhbGNTb3VyY2VzKCksdD1rcyh0aGlzLl9tZXRhSW5mby52YWx1ZSgpLGkscyk7dGhpcy5fdXBkYXRlUGFyZW50U291cmNlcyhlLHQsITApLHRoaXMuX2lucHV0cz1pfXRoaXMuX3RhZ3NDaGFuZ2VkLmZpcmUoKX1fb25DdXJyZW5jeU1heUNoYW5nZSgpe2lmKG51bGwhPT10aGlzLl9jdXJyZW5jeVNvdXJjZVN5bWJvbElucHV0UHJvcGVydHkpe2NvbnN0IGU9dGhpcy5jdXJyZW5jeSgpO3RoaXMuX3VwZGF0ZUN1cnJlbmN5U291cmNlU3ltYm9sSW5mbygpLGUhPT10aGlzLmN1cnJlbmN5KCkmJnRoaXMuX29uQ3VycmVuY3lDaGFuZ2VkKCl9fV9maWxsUHJlY2FsY3VsYXRlZEF1dG9zY2FsZUluZm8oZSl7Y29uc3QgdD10aGlzLl9tZXRhSW5mby52YWx1ZSgpLHM9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCksaT1uZXcgU2V0LHI9dC5maWxsZWRBcmVhc3x8W107Zm9yKGxldCBlPTA7ZTxyLmxlbmd0aDtlKyspe2NvbnN0IHQ9cltlXTtzLmZpbGxlZEFyZWFzU3R5bGUuY2hpbGRzKClbdC5pZF0uY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiYoaS5hZGQodC5vYmpBSWQpLGkuYWRkKHQub2JqQklkKSl9cmV0dXJuIHQucGxvdHMuZmlsdGVyKChlPT4hKDAsWi5pc1Bsb3RXaXRoVGVjaG5pY2FsVmFsdWVzKShlKSkpLmZpbHRlcigocz0+dC5pc1Bsb3RGb3JjZU92ZXJsYXkocy5pZCk/ZS50YXJnZXRQcmljZVNjYWxlPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTplLnRhcmdldFByaWNlU2NhbGU9PT10aGlzLnByaWNlU2NhbGUoKSYmIWUuZm9yY2VPdmVybGF5T25seSkpLmZpbHRlcigoZT0+aS5oYXMoZS5pZCl8fHRoaXMuaXNQbG90VmlzaWJsZUF0KGUuaWQsWi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LlBhbmUpKSkucmVkdWNlKCgodCxzKT0+dGhpcy5fYXBwbHlQbG90VG9QcmVjYWxjdWxhdGVkQXV0b3NjYWxlSW5mbyhlLHQscykpLHtmaWVsZHM6W10sdXNlTWFpblNlcmllc1JhbmdlOiExLGJhc2VWYWx1ZU1pbk1heDpudWxsfSl9X2ZpcnN0U291cmNlT3JTZXJpZXMoKXtyZXR1cm4gdGhpcy5fc291cmNlcy52YWx1ZSgpWzBdPz90aGlzLl9zZXJpZXN9X3NraXBIaXN0b2dyYW1CYXNlT25BdXRvU2NhbGUoKXtyZXR1cm4hMX1fdHJ5Q3JlYXRlRm9ybWF0dGVyKGUpe2NvbnN0IHQ9dm9pZCAwPT09ZT90aGlzLnN5bWJvbFNvdXJjZSgpLnN5bWJvbEluZm8oKTplCjtyZXR1cm4gTHModGhpcy5fbWV0YUluZm8udmFsdWUoKS5mb3JtYXQsdGhpcy5fcHJpY2VTY2FsZUJ5UHJvcGVydGllcygpLHQsdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJlY2lzaW9uLnZhbHVlKCkpfV90cnlDcmVhdGVEZWZhdWx0Rm9ybWF0dGVyKGUpe3JldHVybiB0aGlzLl90cnlDcmVhdGVGb3JtYXR0ZXIoZSl9X21lcmdlRGF0YShlKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZUxhc3ROb25FbXB0eVBsb3RSb3dDYWNoZSgpLHRoaXMuZGF0YSgpLm1lcmdlKGUpfV9za2lwcGVkVGl0bGVJbnB1dHMoKXtyZXR1cm4gdGhpcy5faGlkZU1hdGNoZXMuZmlsdGVyKChlPT5lLnBsb3RJZHMuZXZlcnkoKGU9PnRoaXMuX2dldFBsb3REaXNwbGF5VmFsdWUoZSk9PT1aLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuTm9uZSkpKSkubWFwKChlPT5lLmlkKSl9X2dldFBsb3REaXNwbGF5VmFsdWUoZSl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpPy5jaGlsZHMoKT8uc3R5bGVzPy5jaGlsZHMoKT8uW2VdPy5jaGlsZHMoKT8uZGlzcGxheT8udmFsdWUoKX1fb25TdHVkeUVycm9yKGUpe3BlcmZvcm1hbmNlLmNsZWFyTWFya3MoYGNhbGN1bGF0ZV9zdHVkeV8ke3RoaXMuc291cmNlSWQoKX1gKSx0aGlzLl9oYW5kbGVTdHVkeUVycm9yKHRoaXMuX2NyZWF0ZVN0dWR5RXJyb3IoZSkpLHRoaXMuX2VuYWJsZVByaWNlUmFuZ2VSZWFkeSgpfV9vblN0dWR5Q29tcGxldGVkKGUpe2lmKHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoYGNhbGN1bGF0ZV9zdHVkeV8ke3RoaXMuc291cmNlSWQoKX1gKS5sZW5ndGgpe3RyeXtjb25zdCBlPXBlcmZvcm1hbmNlLm1lYXN1cmUoYG1lYXN1cmVfc3R1ZHlfJHt0aGlzLnNvdXJjZUlkKCl9YCxgY2FsY3VsYXRlX3N0dWR5XyR7dGhpcy5zb3VyY2VJZCgpfWApO3RoaXMuX2NhbGN1bGF0aW9uVGltZS5zZXRWYWx1ZShlLmR1cmF0aW9uKX1jYXRjaChlKXtTcy5sb2dFcnJvcigiRXJyb3IgZHVyaW5nIG1lYXN1cmluZyBzdHVkeSBjYWxjdWxhdGlvbiB0aW1lIil9cGVyZm9ybWFuY2UuY2xlYXJNYXJrcyhgY2FsY3VsYXRlX3N0dWR5XyR7dGhpcy5zb3VyY2VJZCgpfWApLHBlcmZvcm1hbmNlLmNsZWFyTWVhc3VyZXMoYG1lYXN1cmVfc3R1ZHlfJHt0aGlzLnNvdXJjZUlkKCl9YCl9dGhpcy5fc3R1ZHlNb2RpZmllZCYmKHRoaXMuY2xlYXJEYXRhKCksdGhpcy5fc3R1ZHlNb2RpZmllZD0hMSksdGhpcy5fc2VuZFRlbGVtZXRyeUNvdW50ZXIodGhpcy5fZ2V0VGVsZW1ldHJ5T2JqZWN0TmFtZSgpKyJfbG9hZGVkIiksdGhpcy5fc2V0U3RhdHVzKHt0eXBlOlp0LlN0dWR5U3RhdHVzVHlwZS5Db21wbGV0ZWR9KSx0aGlzLl9zdGF0dXNWaWV3Py51cGRhdGUoKDAsSi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSk7Y29uc3QgdD10aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMpO3RoaXMuX21vZGVsLnJlY2FsY3VsYXRlUGFuZSh0LCgwLEouc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHRoaXMuX3VwZGF0ZVNvdXJjZXMoKTtjb25zdCBzPWVzLkludmFsaWRhdGlvbk1hc2suZnVsbCgpO251bGwhPT10aGlzLl9tb2RlbC5hcHBsaWVkVGltZUZyYW1lKCkudmFsdWUoKSYmcy5sb2NrVmlzaWJsZVRpbWVSYW5nZU9uUmVzaXplKCksdGhpcy5fbW9kZWwuaW52YWxpZGF0ZShzKX1fY2xlYXJEYXRhKCl7dGhpcy5fZGF0YS5jbGVhcigpLHRoaXMuX2RhdGFSYW5nZVVwZGF0ZWQuZmlyZSh7dHlwZToiZnVsbCJ9KX1fbW92ZURhdGEoZSl7dGhpcy5kYXRhKCkubW92ZShlKX1fZGVmYXVsdEVycm9yVGl0bGUoKXtyZXR1cm4iUnVudGltZSBlcnJvciJ9X2hhbmRsZVJlc3RvcmluZ0ZhY3RvcnlEZWZhdWx0cygpe2NvbnN0IGU9dGhpcy5fcHJvcGVydGllcy5zdGF0ZSgpOygwLF9zLmFwcGx5RGVmYXVsdENvbG9yc1RvUHJvcHNTdGF0ZSkoZSx0aGlzLl9tZXRhSW5mby52YWx1ZSgpKSx0aGlzLl9wcm9wZXJ0aWVzLm1lcmdlKGUpfV9pbml0Q3VycmVuY3lNZXRhRGF0YSgpeygwLF8uY29tYmluZSkoKChlLHQscyk9Pntjb25zdCBpPXRoaXMuY3VycmVuY3koKTtpZihudWxsPT09aXx8dC50eXBlPT09WnQuU3R1ZHlTdGF0dXNUeXBlLkVycm9yKXJldHVybiB2b2lkIHRoaXMuX2N1cnJlbmN5TWV0YURhdGEuc2V0VmFsdWUobnVsbCk7aWYoIWV8fG51bGw9PT1zKXJldHVybiB2b2lkIHRoaXMuX2N1cnJlbmN5TWV0YURhdGEuc2V0VmFsdWUocyk7Y29uc3Qgcj1zLm9yaWdpbmFsQ3VycmVuY3k7dGhpcy5fY3VycmVuY3lNZXRhRGF0YS5zZXRWYWx1ZSh7aXNDb252ZXJ0ZWRUb090aGVyQ3VycmVuY3k6aSE9PXIsb3JpZ2luYWxDdXJyZW5jeTpyLGN1cnJlbnRDdXJyZW5jeTppLGlzQ3VycmVuY3lDb252ZXJ0aWJsZTohMCxiYXNlQ3VycmVuY3k6bnVsbCxjdXJyZW5jeU9yaWdpbk5hbWU6dGhpcy50aXRsZShXLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLCEwKX0pfSksdGhpcy5faXNDdXJyZW5jeU9yaWdpbi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fY29tcG91bmRTdGF0dXMud2Vha1JlZmVyZW5jZSgpLCgwLF8uYWNjdW11bGF0ZSkoKGU9PmVbMF0pLCgwLF8uY29tYmluZSkoKCgpPT5bdGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpLmN1cnJlbmN5TWV0YWRhdGEoKS53ZWFrUmVmZXJlbmNlKCldKSx0aGlzLl9hbGxPd25lclNvdXJjZXMud2Vha1JlZmVyZW5jZSgpKS5vd25lcnNoaXAoKSkub3duZXJzaGlwKCksKDAsQWUuY3JlYXRlV1ZGcm9tUHJvcGVydHkpKHRoaXMuX2N1cnJlbmN5SW5wdXRQcm9wZXJ0eT8/bmV3IFF0LlByb3BlcnR5KG51bGwpKS5vd25lcnNoaXAoKSl9X2luaXRVbml0TWV0YURhdGEoKXsoMCxfLmNvbWJpbmUpKCgoZSx0LHMpPT57Y29uc3QgaT10aGlzLnVuaXQoKTtpZihudWxsPT09aXx8dC50eXBlPT09WnQuU3R1ZHlTdGF0dXNUeXBlLkVycm9yKXJldHVybiB2b2lkIHRoaXMuX3VuaXRNZXRhRGF0YS5zZXRWYWx1ZShudWxsKTtpZighZXx8bnVsbD09PXMpcmV0dXJuIHZvaWQgdGhpcy5fdW5pdE1ldGFEYXRhLnNldFZhbHVlKHMpO2NvbnN0IHI9cy5vcmlnaW5hbFVuaXQ7dGhpcy5fdW5pdE1ldGFEYXRhLnNldFZhbHVlKHsKaXNDb252ZXJ0ZWRUb090aGVyVW5pdDppIT09cixjdXJyZW50VW5pdDppLG9yaWdpbmFsVW5pdDpyLGNvbnZlcnRpYmxlR3JvdXBzOnMuY29udmVydGlibGVHcm91cHMsdW5pdE9yaWdpbk5hbWU6dGhpcy50aXRsZShXLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLCEwKX0pfSksdGhpcy5faXNVbml0T3JpZ2luLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9jb21wb3VuZFN0YXR1cy53ZWFrUmVmZXJlbmNlKCksKDAsXy5hY2N1bXVsYXRlKSgoZT0+ZVswXSksKDAsXy5jb21iaW5lKSgoKCk9Plt0aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkudW5pdE1ldGFkYXRhKCkud2Vha1JlZmVyZW5jZSgpXSksdGhpcy5fYWxsT3duZXJTb3VyY2VzLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCkpLm93bmVyc2hpcCgpLCgwLEFlLmNyZWF0ZVdWRnJvbVByb3BlcnR5KSh0aGlzLl91bml0SW5wdXRQcm9wZXJ0eT8/bmV3IFF0LlByb3BlcnR5KG51bGwpKS5vd25lcnNoaXAoKSl9X2NyZWF0ZVN0dWR5RXJyb3IoZSl7bGV0IHQ7cmV0dXJuIHQ9KDAsdS5pc1N0cmluZykoZSk/e2Vycm9yOnRoaXMuX2dldFN0dWR5RXJyb3JUZXh0KGUpLHRpdGxlOmUuaW5jbHVkZXMoInN0dWR5X25vdF9hdXRoIik/IkFjY2VzcyBlcnJvciI6dGhpcy5fZGVmYXVsdEVycm9yVGl0bGUoKX06ey4uLmUsdGl0bGU6ZS50aXRsZT8/dGhpcy5fZGVmYXVsdEVycm9yVGl0bGUoKX0sKDAsWnQuY3JlYXRlU3R1ZHlFcnJvcikodCx0aGlzLnN5bWJvbFNvdXJjZSgpLnN5bWJvbEluZm8oKT8uZXhjaGFuZ2UpfV9pbmNyZW1lbnRUdXJuYXJvdW5kKCl7dGhpcy5fdHVybmFyb3VuZD0ic3QiKyArK3RoaXMuX3R1cm5hcm91bmRDb3VudGVyfV9jaGVja1R1cm5hcm91bmQoZSl7cmV0dXJuIGU9PT10aGlzLl90dXJuYXJvdW5kfHxlPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnNlcmllc1NvdXJjZSgpLnR1cm5hcm91bmQoKXx8ZT09PXRoaXMudHVybmFyb3VuZCghMCl9X3VwZGF0ZU1heE9mZnNldFZhbHVlKCl7bGV0IGU9LTEvMDtmb3IoY29uc3QgdCBvZiB0aGlzLl9tZXRhSW5mby52YWx1ZSgpLnBsb3RzKWU9TWF0aC5tYXgodGhpcy5vZmZzZXQodC5pZCksZSk7dGhpcy5fbWF4T2Zmc2V0LnNldFZhbHVlKGUpfV9yaWdodE9mZnNldFRvVW5peFRpbWUoZSl7aWYodGhpcy5fc2VyaWVzLmJhcnMoKS5zaXplKCk+PWUpe2NvbnN0IHQ9KDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXJpZXMuYmFycygpLmxhc3RJbmRleCgpKS1lO3JldHVybigwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fc2VyaWVzLmJhcnMoKS52YWx1ZUF0KHQpKVswXX1yZXR1cm4gbnVsbH1fY29uY2F0UHJpY2VBeGlzVmlld3MoKXt0aGlzLl9wcmljZUF4aXNWaWV3cz1bLi4udGhpcy5fcHJpY2VBeGlzVmlld3NCYXNlLC4uLnRoaXMuX2dyYXBoaWNzUHJpY2VBeGlzVmlld3NdfV9vblN0dWR5TG9hZGluZyhlKXt0aGlzLl9zZXRTdGF0dXMoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLkxvYWRpbmcsc3RhcnRUaW1lOkRhdGUubm93KCl9KSx0aGlzLl9zdGF0dXNWaWV3Py51cGRhdGUoKDAsSi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpfV9oYW5kbGVTdHVkeUVycm9yKGUpe3RoaXMuY2xlYXJEYXRhKCksdGhpcy5fc2V0U3RhdHVzKGUpO3tjb25zdCB0PSgwLFp0LmNvbnZlcnRTdHVkeVN0YXR1c1RvU3RyaW5nKShlKSxzPXRoaXMuX2dldFRlbGVtZXRyeUFkZGl0aW9uYWxEYXRhKCksaT10LmluZGV4T2YoIkNvbW1hbmQgaW5mbyIpO3MucmVhc29uPWk+PTA/dC5zbGljZSgwLGkpLnRyaW0oKTp0O2lmKCEvc3R1ZHkgaW4gZXJyb3Igc3RhdGV8dGhlIGRhdGEgdmVuZG9yIGRvZXNuXCd0IHByb3ZpZGUgdm9sdW1lIGRhdGEgZm9yIHRoaXMgc3ltYm9sLnxlcnJvciBpbiBzZXJpZXN8dW5zdXBwb3J0ZWQgcmVzb2x1dGlvbi9naS50ZXN0KHMucmVhc29uPy50b0xvd2VyQ2FzZSgpPz8iIikpe2NvbnN0IGU9dGhpcy5fZ2V0VGVsZW1ldHJ5T2JqZWN0TmFtZSgpO3RoaXMuX3NlbmRUZWxlbWV0cnlDb3VudGVyKGUrIl9lcnJvciIscyl9fXRoaXMuX3N0YXR1c1ZpZXc/LnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyl9X3VwZGF0ZVNvdXJjZXMoKXt0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyksdGhpcy5oYXNCYXJDb2xvcmVyKCkmJnRoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkpfV91bnN1YnNjcmliZVRvU2Vzc2lvbklkKCl7dGhpcy5faXNTdWJzY3JpYmVkVG9TZXNzaW9uSWQmJih0aGlzLnNlc3Npb25JZENoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU2Vzc2lvbklkQ2hhbmdlZCksdGhpcy5faXNTdWJzY3JpYmVkVG9TZXNzaW9uSWQ9ITEpfV9vblNlc3Npb25JZENoYW5nZWQoKXt0aGlzLnJlc3RhcnQoITApfV9yZWNyZWF0ZVByaWNlU3RlcCgpe2xldCBlPW51bGw7Y29uc3QgdD10aGlzLl9wcmljZVNjYWxlQnlQcm9wZXJ0aWVzKCk/P3RoaXMuX3ByaWNlU2NhbGVCeU1ldGFJbmZvKCk7bnVsbCE9PXQmJihlPTEvdCksdGhpcy5fcHJpY2VTdGVwIT09ZSYmKHRoaXMuX3ByaWNlU3RlcD1lLHRoaXMuX3ByaWNlU3RlcENoYW5nZWQuZmlyZSgpKX1fcmVjcmVhdGVQbG90c0Zvcm1hdHRlcnMoZSl7dGhpcy5fcGxvdEZvcm1hdHRlcnMuY2xlYXIoKTtjb25zdCB0PXRoaXMuX21ldGFJbmZvLnZhbHVlKCkscz10LmZvcm1hdCxpPXRoaXMuX3ByaWNlU2NhbGVCeVByb3BlcnRpZXMoKSxyPXZvaWQgMD09PWU/dGhpcy5zeW1ib2xTb3VyY2UoKS5zeW1ib2xJbmZvKCk6ZTtmb3IoY29uc3RbZSxuXW9mIE9iamVjdC5lbnRyaWVzKHQub2hsY1Bsb3RzPz97fSkpaWYobj8uZm9ybWF0KXtjb25zdCB0PUxzKEVzKHsuLi5zLC4uLm4/LmZvcm1hdH0pLGkscix0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wcmVjaXNpb24udmFsdWUoKSk7dCYmdGhpcy5fcGxvdEZvcm1hdHRlcnMuc2V0KGUsdCl9CmZvcihjb25zdFtlLG5db2YgT2JqZWN0LmVudHJpZXModC5zdHlsZXM/P3t9KSlpZihuPy5mb3JtYXQpe2NvbnN0IHQ9THMoRXMoey4uLnMsLi4ubj8uZm9ybWF0fSksaSxyLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnByZWNpc2lvbi52YWx1ZSgpKTt0JiZ0aGlzLl9wbG90Rm9ybWF0dGVycy5zZXQoZSx0KX1mb3IoY29uc3QgZSBvZiB0LnBsb3RzKWlmKCgwLFouaXNPaGxjUGxvdCkoZSkpe2NvbnN0IHQ9dGhpcy5fcGxvdEZvcm1hdHRlcnMuZ2V0KGUudGFyZ2V0KTt0JiZ0aGlzLl9wbG90Rm9ybWF0dGVycy5zZXQoZS5pZCx0KX19X2pvaW5UaXRsZXNQYXJ0cyhlKXtjb25zdCB0PWVbMV0/ZVsxXS5qb2luKCIsICIpOiIiO3JldHVybiBlWzBdKyh0Lmxlbmd0aD4wPyIgKCIrdCsiKSI6IiIpfV9nZXRNVEZSZXNvbHV0aW9uSW5wdXRUaXRsZSgpe2NvbnN0IGU9dGhpcy5tZXRhSW5mbygpO2ZvcihsZXQgdD0wO3Q8ZS5pbnB1dHMubGVuZ3RoO3QrKyl7Y29uc3Qgcz1lLmlucHV0c1t0XTtpZigicmVzb2x1dGlvbiI9PT1zLnR5cGUmJnMuaXNNVEZSZXNvbHV0aW9uKXJldHVybigwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGQocy5pZCkpLnZhbHVlKCl9cmV0dXJuIG51bGx9X29uRGF0YVVwZGF0ZShlLHQscyl7dGhpcy5fc3R1ZHlNb2RpZmllZCYmKHRoaXMuY2xlYXJEYXRhKCksdGhpcy5fc3R1ZHlNb2RpZmllZD0hMSk7Y29uc3QgaT0ocj10LmQsKDAseC51bnBhY2tOb25TZXJpZXNEYXRhQ29tcHJlc3NlZCkocikpO3ZhciByO3JldHVybiB0aGlzLl9vbmdvaW5nRGF0YVVwZGF0ZT10aGlzLl9vbmdvaW5nRGF0YVVwZGF0ZS50aGVuKCgoKT0+aSksKCgpPT5pKSkudGhlbih0aGlzLl9vbkRhdGFVbnBhY2tlZC5iaW5kKHRoaXMsZSx0LmluZGV4ZXMscykpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlfV9hbGxTeW1ib2xzQXJlUmVzb2x2ZWQoKXtjb25zdCBlPXRoaXMuX2lucHV0U3ltYm9scygpLHQ9W107bGV0IHM9ITE7Zm9yKGNvbnN0IGkgb2YgZSl7Y29uc3QgZT10aGlzLl9nZXRTeW1ib2xGb3JSZXNvbHZlKGkpO2lmKCIiIT09ZSlpZih0aGlzLl9yZXNvbHZlZFN5bWJvbHNbZV0pcz0hMDtlbHNle2NvbnN0IHM9dGhpcy5fcmVzb2x2ZVN5bWJvbChlLGkpO3QucHVzaChzKX19aWYoMD09PXQubGVuZ3RoKXtjb25zdCBlPVByb21pc2UucmVzb2x2ZSgpO3JldHVybiBzP2UudGhlbigoKCk9PnRoaXMuX3N5bWJvbHNSZXNvbHZlZC5maXJlKCkpKTplfXJldHVybiBQcm9taXNlLmFsbCh0KS5jYXRjaCgoZT0+KHRoaXMuX2lucHV0U3ltYm9scygpLmluY2x1ZGVzKGUpJiZ0aGlzLnN0b3AoITApLHRoaXMuX3NldFN0YXR1cyh7dHlwZTpadC5TdHVkeVN0YXR1c1R5cGUuRXJyb3IsZXJyb3JEZXNjcmlwdGlvbjp7ZXJyb3I6YnN9fSksdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpLFByb21pc2UucmVqZWN0KCJJbnZhbGlkIHN5bWJvbCwgIitlKSkpKS50aGVuKCgoKT0+e3RoaXMuX3N5bWJvbHNSZXNvbHZlZC5maXJlKCksdGhpcy5fcmVjaGVja0xpbmVUb29sc0FjdHVhbGl0eSgpfSkpfV9yZXNvbHZlU3ltYm9sKGUsdCl7aWYoIiI9PT1lKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTtsZXQgcz10aGlzLl9wZW5kaW5nUmVzb2x2ZVN5bWJvbHMuZ2V0KGUpO3JldHVybiB2b2lkIDAhPT1zfHwocz1uZXcgUHJvbWlzZSgoKHMsaSk9Pnt0aGlzLl9vblN5bWJvbFJlc29sdmluZ1N0YXJ0KGUsdCksdGhpcy5fY2hhcnRBcGkucmVzb2x2ZVN5bWJvbCgoMCxzZS5tYWtlTmV4dFN5bWJvbElkKSgpLGUsKHI9PntpZih0aGlzLl9pc0Rlc3Ryb3llZClpKCJTdHVkeSBpcyBkZXN0cm95ZWQiKTtlbHNlIHN3aXRjaCh0aGlzLl9wZW5kaW5nUmVzb2x2ZVN5bWJvbHMuZGVsZXRlKGUpLHIubWV0aG9kKXtjYXNlInN5bWJvbF9yZXNvbHZlZCI6e3RoaXMuX3NldFN0YXR1cyh7dHlwZTpadC5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfSk7Y29uc3QgaT1yLnBhcmFtc1sxXTt0aGlzLl9yZXNvbHZlZFN5bWJvbHNbZV09aSx0aGlzLl9yZXNvbHZlZFN5bWJvbHNCeUlucHV0W3RdPWksdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSghMCksdGhpcy5fb25TeW1ib2xSZXNvbHZlZChlLHQsaSkscygpO2JyZWFrfWNhc2Uic3ltYm9sX2Vycm9yIjppZih0aGlzLl9zZXRTdGF0dXMoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLkVycm9yLGVycm9yRGVzY3JpcHRpb246e2Vycm9yOnIucGFyYW1zWzFdfX0pLHRoaXMuX29uU3ltYm9sRXJyb3IoKSxyLnBhcmFtc1sxXT09PWllLnBlcm1pc3Npb25EZW5pZWQmJnIucGFyYW1zWzJdKXtpZihyLnBhcmFtc1syXSE9PWllLlN5bWJvbEVycm9yUGVybWlzc2lvbkRlbmllZFJlYXNvbi5TeW1ib2wpcmV0dXJuIHZvaWQgdGhpcy5fcmVzb2x2ZVN5bWJvbChyLnBhcmFtc1syXSx0KS50aGVuKHMpO2lmKHIucGFyYW1zWzNdKXJldHVybiB2b2lkIHRoaXMuX3Jlc29sdmVTeW1ib2woci5wYXJhbXNbM10sdCkudGhlbihzKX10aGlzLl9zZW5kVGVsZW1ldHJ5Q291bnRlcigic3ltYm9sX2Vycm9yIixPYmplY3QuYXNzaWduKHRoaXMuX2dldFRlbGVtZXRyeUFkZGl0aW9uYWxEYXRhKCkse3N5bWJvbDplLHJlYXNvbjpyLnBhcmFtc1sxXX0pKSxpKHQpfX0pKX0pKSx0aGlzLl9wZW5kaW5nUmVzb2x2ZVN5bWJvbHMuc2V0KGUscykpLHN9X3JlY2hlY2tMaW5lVG9vbHNBY3R1YWxpdHkoKXtjb25zdCBlPXRoaXMuX21vZGVsLnBhbmVGb3JTb3VyY2UodGhpcyk7bnVsbCE9PWUmJmUuc291cmNlc0J5R3JvdXAoKS5saW5lU291cmNlc0ZvckFsbFN5bWJvbHMoKS5mb3JFYWNoKChlPT57ZS5vd25lclNvdXJjZSgpPT09dGhpcyYmZS5jYWxjSXNBY3R1YWxTeW1ib2woKX0pKX1fc2VuZFRlbGVtZXRyeUNvdW50ZXIoZSx0KXt2b2lkIDA9PT10JiYodD10aGlzLl9nZXRUZWxlbWV0cnlBZGRpdGlvbmFsRGF0YSgpKTtjb25zdCBzPXtjb3VudDoxLGFkZGl0aW9uYWw6dH07dmUudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydChlLHMpfV9nZXRUZWxlbWV0cnlBZGRpdGlvbmFsRGF0YSgpe2xldCBlPSIiO2NvbnN0IHQ9dGhpcy5fbWV0YUluZm8udmFsdWUoKQo7cmV0dXJuIHQucGluZSYmdC5waW5lLnZlcnNpb24mJnQuc2hvcnRJZC5pbmRleE9mKCJVU0VSIik+PTAmJihlPSJfdiIrdC5waW5lLnZlcnNpb24pLHtzeW1ib2w6dGhpcy5zZXJpZXMoKS5hY3R1YWxTeW1ib2woKSxyZXNvbHV0aW9uOnRoaXMuc2VyaWVzKCkuaW50ZXJ2YWwoKSxzdHVkeTp0LnNob3J0SWQrZX19X29uU291cmNlRm9ybWF0dGVyQ2hhbmdlZCgpe251bGw9PT10aGlzLl9mb3JtYXR0ZXImJihudWxsIT09dGhpcy5fcHJpY2VTY2FsZSYmdGhpcy5fcHJpY2VTY2FsZS51cGRhdGVGb3JtYXR0ZXIoKSx0aGlzLl9mb3JtYXR0ZXJDaGFuZ2VkLmZpcmUoKSl9X29uU291cmNlUHJpY2VTdGVwQ2hhbmdlZCgpe251bGw9PT10aGlzLl9wcmljZVN0ZXAmJnRoaXMuX3ByaWNlU3RlcENoYW5nZWQuZmlyZSgpfV9iYW5kc0ZpcnN0VmFsdWUoZSl7Y29uc3QgdD10aGlzLl9tZXRhSW5mby52YWx1ZSgpO2lmKCF0LmJhbmRzKXJldHVybiBudWxsO2ZvcihsZXQgcz0wO3M8dC5iYW5kcy5sZW5ndGg7cysrKXtjb25zdCB0PSgwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5iYW5kcykuY2hpbGRzKClbc107aWYodC5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpe2NvbnN0IHM9dC5jaGlsZHMoKS52YWx1ZS52YWx1ZSgpO2lmKGUmJjA9PT1zKWNvbnRpbnVlO2lmKG51bGwhPT1zKXJldHVybiBzfX1yZXR1cm4gbnVsbH1fcHJlcGFyZUlucHV0cyhlKXsoMCxoLmFzc2VydCkoISFlLCJvcHRpb25zIG5vdCBzZXQiKTtjb25zdCB0PXRoaXMubWV0YUluZm8oKSxzPXt9LGk9ZS5hbGxvd2VkSW5wdXRUeXBlcz9uZXcgU2V0KGUuYWxsb3dlZElucHV0VHlwZXMpOm51bGwscj0hKCFlLmFzT2JqZWN0fHwhZS51c2VOYW1lQW5kR3JvdXBBc0tleSk7Zm9yKGxldCBuPTA7bjx0LmlucHV0cy5sZW5ndGg7bisrKXtjb25zdCBhPXQuaW5wdXRzW25dO2lmKG51bGwhPT1pJiYhaS5oYXMoYS50eXBlKSljb250aW51ZTtpZihhLmlzRmFrZSYmZS5za2lwRmFrZUlucHV0cyljb250aW51ZTtpZihhLmlzTVRGUmVzb2x1dGlvbiYmZS5ub1Jlc29sdXRpb24pY29udGludWU7aWYodm9pZCAwIT09ZS5kaXNwbGF5TWFzayYmISgoMCxoLmVuc3VyZURlZmluZWQpKGEuZGlzcGxheSkmZS5kaXNwbGF5TWFzaykpY29udGludWU7aWYoZS5za2lwSGlkZGVuSW5wdXRzJiYoIWUuZG9Ob3RTa2lwSGlkZGVuV2l0aE1pZ3JhdGV8fCFhLm1pZ3JhdGUpKXtsZXQgdD0hMTtzd2l0Y2goYS50eXBlKXtjYXNlImJvb2wiOnQ9ZS5za2lwQm9vbGVhbklucHV0czticmVhaztjYXNlImNvbG9yIjp0PWUuc2tpcENvbG9ySW5wdXRzO2JyZWFrO2Nhc2UidGltZSI6dD1lLnNraXBUaW1lSW5wdXRzO2JyZWFrO2Nhc2UidGV4dF9hcmVhIjp0PWUuc2tpcFRleHRhcmVhSW5wdXRzO2JyZWFrO2RlZmF1bHQ6dD1Cb29sZWFuKGEuaXNIaWRkZW4pfWlmKHQpY29udGludWV9aWYodm9pZCAwIT09YS5ncm91cElkJiYtMSE9PWUuc2tpcHBlZEdyb3Vwcy5pbmRleE9mKGEuZ3JvdXBJZCkpY29udGludWU7aWYoLTEhPT1lLnNraXBwZWRJbnB1dHMuaW5kZXhPZihhLmlkKSljb250aW51ZTtjb25zdCBvPXRoaXMuX3ByZXBhcmVJbnB1dChhLGUpO2lmKCJzeW1ib2wiPT09YS50eXBlJiZlLnNraXBPcHRpb25hbEVtcHR5U3ltYm9sSW5wdXRzJiYiIj09PW8pY29udGludWU7bGV0IGw7ciYmKGw9KDAsUi5nZXRTdHVkeUlucHV0TmFtZSkoYSksdm9pZCAwIT09bCYmbCBpbiBzJiYobD12b2lkIDApKSxzW2x8fGEuaWRdPSgwLHUuY2xvbmUpKG8pfXJldHVybiBzfV9wcmVwYXJlSW5wdXRWYWx1ZShlLHQpe2NvbnN0IHM9ZS5pZCxpPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7aWYodC52YWx1ZXNBc0lzRnJvbVByb3BlcnRpZXMpcmV0dXJuIGkuaW5wdXRzLmNoaWxkcygpW3NdLnZhbHVlKCk7Y29uc3Qgcj10aGlzLl9tZXRhSW5mby52YWx1ZSgpO2lmKCJzeW1ib2wiPT09ZS50eXBlKXtjb25zdCByPXQmJnQuc3ltYm9sc0ZvckRpc3BsYXksbj1pLmlucHV0cy5jaGlsZHMoKVtzXS52YWx1ZSgpO2xldCBhPXI/bjp0aGlzLl9nZXRTeW1ib2xGb3JBcGkobiksbz10aGlzLl9yZXNvbHZlZFN5bWJvbHM/Llt0aGlzLl9nZXRTeW1ib2xGb3JSZXNvbHZlKGEpXT8/bnVsbDtpZigiIj09PWEmJmUub3B0aW9uYWwpe2lmKHQmJnQua2VlcE9wdGlvbmFsU3ltYm9sc0VtcHR5KXJldHVybiBhO2E9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnN5bWJvbCgpLG89dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnN5bWJvbEluZm8oKX1pZihyKWlmKG8paWYoeHMpe3N3aXRjaCh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkoKS52YWx1ZSgpKXtjYXNlImRlc2NyaXB0aW9uIjphPW8uZGVzY3JpcHRpb247YnJlYWs7Y2FzZSJ0aWNrZXItYW5kLWRlc2NyaXB0aW9uIjphPWAke28ubmFtZX0sICR7by5kZXNjcmlwdGlvbn1gO2JyZWFrO2Nhc2UidGlja2VyIjphPW8ubmFtZX19ZWxzZSBhPSgwLHRzLnN5bWJvbFRpdGxlKShvLHQubm9FeGNoYW5nZXMpO2Vsc2UgTXMmJihhPSIiKTtlbHNlIG8mJihhPW8udGlja2VyfHxvLmZ1bGxfbmFtZSksIXRoaXMuaXNQaW5lKCkmJnQmJnQuc3ltYm9sc0ZvckNoYXJ0QXBpJiYoYT10aGlzLmdldFN5bWJvbFN0cmluZyhhKSk7cmV0dXJuIGF9aWYoImJhcl90aW1lIj09PWUudHlwZSl7bGV0IGU9aS5pbnB1dHMuY2hpbGRzKClbc10udmFsdWUoKTtpZihlPDApe2NvbnN0IHQ9dGhpcy5fcmlnaHRPZmZzZXRUb1VuaXhUaW1lKC1lKTtlPXQmJnQ+PTA/dDplfXJldHVybiBlfWlmKHIuaXNUVlNjcmlwdHx8ci5waW5lKXtpZigidGV4dCI9PT1zKXJldHVybiByLmRlZmF1bHRzLmlucHV0cz8udGV4dD8/IiI7aWYoInBpbmVJZCI9PT1zKXJldHVybiByLnNjcmlwdElkUGFydDtpZigicGluZVZlcnNpb24iPT09cylyZXR1cm4gci5waW5lP3IucGluZS52ZXJzaW9uOiItMSI7aWYoImNvbG9yIj09PWUudHlwZSYmci5pc1JHQil7Y29uc3QgZT1pLmlucHV0cy5jaGlsZHMoKVtzXS52YWx1ZSgpO3JldHVybigwLEwuY29sb3JUb0ludGVnZXIpKGUpfWlmKCJwcmljZSI9PT1lLnR5cGUpewpjb25zdCBlPWkuaW5wdXRzLmNoaWxkcygpW3NdLnZhbHVlKCk7cmV0dXJuIHQucHJpY2VJbnB1dHNGb3JEaXNwbGF5P3RoaXMuZm9ybWF0dGVyKCkuZm9ybWF0KGUpOmV9fXJldHVybiBpLmlucHV0cy5jaGlsZHMoKVtzXS52YWx1ZSgpfV9nZXRTdHVkeUlkV2l0aExhdGVzdFZlcnNpb24oKXtyZXR1cm4gdi5TdHVkeU1ldGFJbmZvLmdldFN0dWR5SWRXaXRoTGF0ZXN0VmVyc2lvbih0aGlzLm1ldGFJbmZvKCkpfV9kZWJ1Z0lkKCl7Y29uc3QgZT1bXTtlLnB1c2godGhpcy5faWQudmFsdWUoKSk7Y29uc3QgdD10aGlzLl9tZXRhSW5mby52YWx1ZSgpO3JldHVybiBlLnB1c2godC5mdWxsSWQpLGUucHVzaCh0LmRlc2NyaXB0aW9uKSxKU09OLnN0cmluZ2lmeSh7c3R1ZHk6ZX0pfV9oYXNBdmFpbGFibGVBbGVydFBsb3RzKCl7aWYobnVsbD09PXRoaXMuX2FsZXJ0TWV0YUluZm8oKSlyZXR1cm4hMTtyZXR1cm4gdGhpcy5zdGF0ZUZvckFsZXJ0KCkucGxvdHMubGVuZ3RoPjB9X2hhc0FsZXJ0Q29uZGl0aW9ucygpe2NvbnN0IGU9dGhpcy5fYWxlcnRNZXRhSW5mbygpO2lmKG51bGw9PT1lKXJldHVybiExO2lmKGUucGxvdHMuc29tZShaLmlzQWxlcnRDb25kaXRpb25QbG90KSlyZXR1cm4hMDtjb25zdCB0PXRoaXMuc3RhdGVGb3JBbGVydCgpO3JldHVybiBCb29sZWFuKHQuYWxlcnRzJiZ0LmFsZXJ0cy5jb25kaXRpb25zKX1faGFzQWxlcnRGdW5jdGlvbigpe2NvbnN0IGU9dGhpcy5fYWxlcnRNZXRhSW5mbygpO3JldHVybiBCb29sZWFuKG51bGwhPT1lJiZlLmhhc0FsZXJ0RnVuY3Rpb24pfWFzeW5jIF91cGRhdGVQYXJlbnRTb3VyY2VzKGUsdCxzKXtpZih0aGlzLl9zb3VyY2VzLnZhbHVlKCkuZm9yRWFjaCgoZT0+ZS51bnNldENoaWxkKHRoaXMpKSkscyYmYXdhaXQgUHJvbWlzZS5hbGwoZS5tYXAoKGU9PmUuaXNTdGFydGVkKCk/UHJvbWlzZS5yZXNvbHZlKCk6ZS5zdGFydCghMSwhMCkpKSksZS5mb3JFYWNoKChlPT5lLnNldENoaWxkKHRoaXMpKSksdGhpcy5fc2V0U291cmNlcyhlKSx0aGlzLl9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcygpLDAhPT10JiZ0aGlzLl9zb3VyY2VzLnZhbHVlKCkubGVuZ3RoPD0xKXtjb25zdCBlPXRoaXMuX2ZpcnN0U291cmNlT3JTZXJpZXMoKSx0PXRoaXMuX3ByaWNlU2NhbGUscz0oMCxoLmVuc3VyZU5vdE51bGwpKGUucHJpY2VTY2FsZSgpKTtpZih0IT09cyl7Y29uc3QgdD10aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMpLGk9KDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKGUpKTt0PT09aSYmaS5tb3ZlKHRoaXMscywhMCl9fX1fY2FsY1NvdXJjZXMoKXtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLnN0YXRlKCk7cmV0dXJuIHYuU3R1ZHlNZXRhSW5mby5nZXRTb3VyY2VJZHNCeUlucHV0cyh0aGlzLl9tZXRhSW5mby52YWx1ZSgpLmlucHV0cyxlKS5tYXAoKGU9PntpZigiaGlnaCI9PT1lfHwib3BlbiI9PT1lfHwibG93Ij09PWV8fCJjbG9zZSI9PT1lfHwiaGwyIj09PWV8fCJvaGwzIj09PWV8fCJvaGxjNCI9PT1lKXJldHVybiBudWxsO3JldHVybiB0aGlzLl9tb2RlbC5hbGxTdHVkaWVzKCkuZmluZCgodD0+dC5jYW5IYXZlQ2hpbGRyZW4oKSYmdC5pZCgpPT09ZSkpPz9udWxsfSkpLmZpbHRlcih1Lm5vdE51bGwpfV9pc1N0b3BwZWQoKXtyZXR1cm4hdGhpcy5pc1N0YXJ0ZWQoKX1fb25EYXRhVW5wYWNrZWQoZSx0LHMsaSl7aWYodGhpcy5faXNEZXN0cm95ZWQpcmV0dXJuOyJub2NoYW5nZSIhPT10JiZ0aGlzLl9wcm9jZXNzUGxvdE9mZnNldHMoaSksdGhpcy5fdHJhbnNmb3JtRGF0YShlKTtjb25zdCByPXRoaXMuX21lcmdlRGF0YShlKTtudWxsIT09aSYmKGkuaW5kZXhlc19yZXBsYWNlPygoMCxoLmFzc2VydCkoIm5vY2hhbmdlIiE9PXQpLHRoaXMuX2dyYXBoaWNzLnJlcGxhY2VJbmRleGVzVG8odCkpOigibm9jaGFuZ2UiIT09dCYmdGhpcy5fZ3JhcGhpY3MucmVwbGFjZUluZGV4ZXNUbyh0KSx2b2lkIDAhPT1pLmdyYXBoaWNzQ21kcyYmdGhpcy5fZ3JhcGhpY3MucHJvY2Vzc0NvbW1hbmRzKGkuZ3JhcGhpY3NDbWRzKSkpLHRoaXMuX29uRGF0YVVwZGF0ZWQoZSxpLHQsciYmci5pbmRleCksdGhpcy5wcmljZVJhbmdlUmVhZHkoKXx8dGhpcy5fZW5hYmxlUHJpY2VSYW5nZVJlYWR5KCksdGhpcy5fZGF0YVVwZGF0ZWQuZmlyZSgpfV9wcm9jZXNzUGxvdE9mZnNldHMoZSl7aWYoZSYmZS5pbmRleGVzX3JlcGxhY2UpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fc2VydmVyUGxvdE9mZnNldHMudmFsdWUoKTt0aGlzLl9zZXJ2ZXJQbG90T2Zmc2V0cy5zZXRWYWx1ZShlJiZlLm9mZnNldHN8fHt9KSwoMCxyLmRlZmF1bHQpKHQsdGhpcy5fc2VydmVyUGxvdE9mZnNldHMudmFsdWUoKSl8fHRoaXMudXBkYXRlQWxsVmlld3MoKDAsSi5zb3VyY2VDaGFuZ2VFdmVudCkoe3NvdXJjZUlkOnRoaXMuaWQoKSxjbGVhckRhdGE6ITB9KSksdGhpcy5fdXBkYXRlTWF4T2Zmc2V0VmFsdWUoKX1fYXBwbHlQbG90VG9QcmVjYWxjdWxhdGVkQXV0b3NjYWxlSW5mbyhlLHQscyl7Y29uc3QgaT1zLmlkLHI9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbaV0sbj0oMCxaLmlzU2hhcGVzUGxvdCkocyl8fCgwLFouaXNDaGFyc1Bsb3QpKHMpO3QudXNlTWFpblNlcmllc1JhbmdlPXQudXNlTWFpblNlcmllc1JhbmdlfHwoMCxaLmlzQXJyb3dzUGxvdCkocyk7bGV0IGE9KDAsWi5pc0xpbmVQbG90KShzKXx8KDAsWi5pc09obGNQbG90KShzKTtpZihuKXtjb25zdCBlPSgwLGguZW5zdXJlRGVmaW5lZCkocikuY2hpbGRzKCkubG9jYXRpb24udmFsdWUoKSxzPVtiLk1hcmtMb2NhdGlvbi5BYnNvbHV0ZSxiLk1hcmtMb2NhdGlvbi5Ub3AsYi5NYXJrTG9jYXRpb24uQm90dG9tXS5pbmRleE9mKGUpPDA7dC51c2VNYWluU2VyaWVzUmFuZ2U9dC51c2VNYWluU2VyaWVzUmFuZ2V8fG4mJnMsYT1hfHxlPT09Yi5NYXJrTG9jYXRpb24uQWJzb2x1dGV9aWYoIWEpcmV0dXJuIHQ7Y29uc3Qgbz17bmFtZTppLG9mZnNldDp0aGlzLm9mZnNldChpKX0sbD1yLmNoaWxkcygpLnBsb3R0eXBlLnZhbHVlKCkKO2lmKCgwLFouZG9lc0xpbmVQbG90U3R5bGVTdXBwb3J0RmlsbEJyZWFrcykobCkpe2NvbnN0IGk9dGhpcy5fbWV0YUluZm8udmFsdWUoKS5wbG90cy5pbmRleE9mKHMpLHI9dGhpcy5fZ2V0TWluTWF4Rm9yUGxvdFRoYXRTdXBwb3J0RmlsbEJyZWFrcyhpLGwsZSk7dC5iYXNlVmFsdWVNaW5NYXg9KDAsZy5tZXJnZU1pbk1heCkodC5iYXNlVmFsdWVNaW5NYXgscil9aWYoIXRoaXMuX3NraXBIaXN0b2dyYW1CYXNlT25BdXRvU2NhbGUoKSYmW1ouTGluZVN0dWR5UGxvdFN0eWxlLkhpc3RvZ3JhbSxaLkxpbmVTdHVkeVBsb3RTdHlsZS5Db2x1bW5zLFouTGluZVN0dWR5UGxvdFN0eWxlLkFyZWFdLmluZGV4T2YobCk+PTApe2NvbnN0IHM9KHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuc3R5bGVzPz97fSk/LltpXT8uaGlzdG9ncmFtQmFzZTtpZih2b2lkIDA9PT1zKXJldHVybiB0O2NvbnN0e3N0YXJ0VGltZVBvaW50OnIsZW5kVGltZVBvaW50Om59PWUsYT10aGlzLmRhdGEoKS5taW5NYXhPblJhbmdlQ2FjaGVkKHIsbixbb10pO3JldHVybigwLHUuaXNOdW1iZXIpKHMpJiZudWxsIT09YSYmKHQuYmFzZVZhbHVlTWluTWF4PSgwLGcubWVyZ2VNaW5NYXgpKHQuYmFzZVZhbHVlTWluTWF4LHttaW46cyxtYXg6c30pLHQuYmFzZVZhbHVlTWluTWF4PSgwLGcubWVyZ2VNaW5NYXgpKHQuYmFzZVZhbHVlTWluTWF4LGEpKSx0fXJldHVybiB0LmZpZWxkcy5wdXNoKG8pLHR9X2dldEZpcnN0VmFsRm9yUGxvdFRoYXRTdXBwb3J0RmlsbEJyZWFrcyhlLHQpe2NvbnN0IHM9dGhpcy5kYXRhKCkucGxvdHRhYmxlUmFuZ2UoKSxpPWUrMSxyPXMuc2VhcmNoKHQsUy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCxpKTtpZihyKXtpZihzLnNlYXJjaCh0LFMuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0LGkpKXJldHVybiByLnZhbHVlW2ldfXJldHVybiBudWxsfV9nZXRNaW5NYXhGb3JQbG90VGhhdFN1cHBvcnRGaWxsQnJlYWtzKGUsdCxzKXtjb25zdCBpPXRoaXMuZGF0YSgpLnBsb3R0YWJsZVJhbmdlKCkscj1lKzEsbj10PT09Wi5MaW5lU3R1ZHlQbG90U3R5bGUuU3RlcExpbmV8fHQ9PT1aLkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZVdpdGhEaWFtb25kcyxhPWU9Pntjb25zdCB0PWkuc2VhcmNoKGUsUy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCxyKTtpZih0KXtjb25zdCBzPWkuc2VhcmNoKGUsUy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQscik7aWYocyl7Y29uc3QgZT10LnZhbHVlW3JdO2lmKG4pcmV0dXJue21pbjplLG1heDplfTt7Y29uc3QgdD1zLnZhbHVlW3JdO3JldHVybnttaW46TWF0aC5taW4oZSx0KSxtYXg6TWF0aC5tYXgoZSx0KX19fX1yZXR1cm4gbnVsbH0sbz1NYXRoLmZsb29yKHMubG9naWNTdGFydFBvaW50KSxsPU1hdGguY2VpbChzLmxvZ2ljRW5kUG9pbnQpLGg9YShvKSx1PWEobCk7cmV0dXJuKDAsZy5tZXJnZU1pbk1heCkoaCx1KX1hc3luYyBfb25Tb3VyY2VJbnB1dENoYW5nZWQoKXtpZighdGhpcy5pc1N0YXJ0ZWQoKSl7Y29uc3QgZT10aGlzLl9jYWxjU291cmNlcygpO3tjb25zdCB0PTE9PT1lLmxlbmd0aCYmZVswXSE9PXRoaXMuX3NvdXJjZXMudmFsdWUoKVswXT8xOjA7dGhpcy5fdXBkYXRlUGFyZW50U291cmNlcyhlLHQsITEpfX19X2J1aWxkSW5wdXRzKGUpeygwLGguYXNzZXJ0KSghIWUsIm9wdGlvbnMgbm90IHNldCIpO2xldCB0PXt9O3RyeXt0PXRoaXMuX3ByZXBhcmVJbnB1dHMoZSl9Y2F0Y2goZSl7U3MubG9nV2FybigiRmFpbGVkIHRvIHByZXBhcmUgc3R1ZHkgaW5wdXRzOiAiK2UpfWlmKGUuYXNPYmplY3Qpe2NvbnN0IGU9e307cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goKHM9PntudWxsIT10W3NdJiYoZVtzXT10W3NdKX0pKSxlfXtjb25zdCBlPVtdO3JldHVybiBPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChzPT57bnVsbCE9dFtzXSYmZS5wdXNoKHRbc10pfSkpLGV9fV9wcmVwYXJlSW5wdXQoZSx0KXtjb25zdCBzPXRoaXMuX3ByZXBhcmVJbnB1dFZhbHVlKGUsdCk7cmV0dXJuIShlLmlzRmFrZXx8dC5mb3JjZVRyZWF0U291cmNlSW5wdXRzQXNGYWtlJiYic291cmNlIj09PWUudHlwZSl8fHQuZmFrZUlucHV0c0ZvckRpc3BsYXl8fHQub25seUF0b21WYWx1ZXM/czp0aGlzLl9jcmVhdGVFeHRlbmRlZElucHV0KHMsZS50eXBlKX1fY3JlYXRlRXh0ZW5kZWRJbnB1dChlLHQpe3JldHVybnt2OmUsZjohMCx0fX1fcGxvdHNGb3JBbGVydCgpe3JldHVybigwLFQucGxvdHNGb3JBbGVydCkodGhpcy5tZXRhSW5mbygpLHRoaXMub2Zmc2V0LmJpbmQodGhpcykpfV9mb3JtYXR0ZXJTdGF0ZUZvckFsZXJ0KCl7dHJ5e2NvbnN0IGU9dGhpcy5mb3JtYXR0ZXIoKTtyZXR1cm4gTS5Gb3JtYXR0ZXJzU2VyaWFsaXplci5pc1NlcmlhbGl6YWJsZShlKT9NLkZvcm1hdHRlcnNTZXJpYWxpemVyLnNlcmlhbGl6ZShlKTpudWxsfWNhdGNoe3JldHVybiBudWxsfX1fY2FsY0lzQWN0dWFsSW50ZXJ2YWwoKXtjb25zdCBlPXRoaXMuX2lzQWN0dWFsSW50ZXJ2YWw7dGhpcy5faXNBY3R1YWxJbnRlcnZhbD0oMCxYdC5pc0FjdHVhbEludGVydmFsKSh0aGlzLl9zZXJpZXMuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzKSxlIT09dGhpcy5faXNBY3R1YWxJbnRlcnZhbCYmKHRoaXMuX29uSXNBY3R1YWxJbnRlcnZhbENoYW5nZS5maXJlKCksdGhpcy5fdmlzaWJsZUNoYW5nZWQoKSx0aGlzLnByb2Nlc3NIaWJlcm5hdGUoKSl9X3Zpc2libGVDaGFuZ2VkKCl7dGhpcy5fc2VyaWVzLmludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGUoKX1fZ2V0Tm9uUHJpY2VQYXJlbnQoKXtjb25zdCBlPXRoaXMuX3NvdXJjZXMudmFsdWUoKTtmb3IoY29uc3QgdCBvZiBlKWlmKHQgaW5zdGFuY2VvZiBVcyl7Y29uc3QgZT10Lm1ldGFJbmZvKCk7cmV0dXJuIGUuaXNfcHJpY2Vfc3R1ZHkmJiJDb21wYXJlQHR2LWJhc2ljc3R1ZGllcyIhPT1lLmlkP3QuX2dldE5vblByaWNlUGFyZW50KCk6dH1yZXR1cm4gbnVsbH1fdXBkYXRlSW5wdXRWYWx1ZShlLHQpewpjb25zdCBzPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpO2lmKHNbdC5pZF0paWYoInByaWNlIj09PXQudHlwZSlzW3QuaWRdLnNldFZhbHVlKGUucHJpY2UpO2Vsc2UgaWYoInRpbWUiPT09dC50eXBlKXtjb25zdCBpPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmluZGV4VG9UaW1lUG9pbnQoZS5pbmRleCk7bnVsbCE9PWkmJnNbdC5pZF0uc2V0VmFsdWUoMWUzKmkpfX1faW5pdGlhbGl6ZVN0dWR5SW5wdXRzUGFuZVZpZXdzKCl7Y29uc3QgZT0oMCxEZS5lZGl0YWJsZVN0dWR5SW5wdXRzKSh0aGlzLl9tZXRhSW5mby52YWx1ZSgpLmlucHV0cyk7aWYoMD09PWUubGVuZ3RoKXJldHVybjtjb25zdCB0PXtjb252ZXJ0UHJpY2VUb0Nvb3JkaW5hdGU6ZT0+e2NvbnN0IHQ9dGhpcy5wcmljZVNjYWxlKCk7aWYobnVsbCE9PXQmJiF0LmlzRW1wdHkoKSl7Y29uc3Qgcz10aGlzLmZpcnN0VmFsdWUoKTtpZihudWxsIT09cylyZXR1cm4gdC5wcmljZVRvQ29vcmRpbmF0ZShlLHMpfXJldHVybiBudWxsfSxmb3JtYXRQcmljZTplPT57Y29uc3QgdD10aGlzLnByaWNlU2NhbGUoKTtpZihudWxsIT09dCYmIXQuaXNFbXB0eSgpKXtjb25zdCBzPXRoaXMuZmlyc3RWYWx1ZSgpO2lmKG51bGwhPT1zKXJldHVybiB0LmZvcm1hdFByaWNlKGUscyl9cmV0dXJuIiJ9LGdldElucHV0VmFsdWU6ZT0+dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGQoZSk/LnZhbHVlKCk/P251bGwsaXNTZWxlY3RlZDooKT0+dGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzKSxpc0hvdmVyZWQ6KCk9PnRoaXM9PT10aGlzLl9tb2RlbC5ob3ZlcmVkU291cmNlKCl9O1Byb21pc2UuYWxsKFtzLmUoNzMyMzQpLnRoZW4ocy5iaW5kKHMsODUyMjQ2KSkscy5lKDczMjM0KS50aGVuKHMuYmluZChzLDcyNDAwNykpLHMuZSg3MzIzNCkudGhlbihzLmJpbmQocyw1MTgwMjApKSxzLmUoNzMyMzQpLnRoZW4ocy5iaW5kKHMsNzY4OTg2KSldKS50aGVuKChzPT57Y29uc3RbaSxyLG4sYV09czt0aGlzLl9pbnB1dHNBbmNob3JzUGFuZVZpZXc9bmV3IGkuU3R1ZHlJbnB1dHNBbmNob3JzUGFuZVZpZXcoZSx0aGlzLl9tb2RlbCx0KTtjb25zdCBvPWUuZmlsdGVyKChlPT4hQXJyYXkuaXNBcnJheShlKSkpO3RoaXMuX2lucHV0c0xpbmVzUGFuZVZpZXc9bmV3IHIuU3R1ZHlJbnB1dHNMaW5lc1BhbmVWaWV3KG8sdGhpcy5fbW9kZWwsdCk7bGV0IGw9ITE7ZS5mb3JFYWNoKChlPT57aWYoQXJyYXkuaXNBcnJheShlKSl7Y29uc3Qgcz0idGltZSI9PT1lWzBdLnR5cGU/ZVswXTplWzFdLGk9InByaWNlIj09PWVbMF0udHlwZT9lWzBdOmVbMV07dGhpcy5faW5wdXRzVGltZUF4aXNQYW5lVmlld3MucHVzaChuZXcgbi5TdHVkeUlucHV0VGltZUF4aXNQYW5lVmlldyhzLHRoaXMuX21vZGVsLHQuZ2V0SW5wdXRWYWx1ZSkpLHRoaXMuX2lucHV0c1ByaWNlQXhpc1BhbmVWaWV3cy5wdXNoKG5ldyBhLlN0dWR5SW5wdXRQcmljZUF4aXNQYW5lVmlldyhpLHQpKSxsPSEwfWVsc2UidGltZSI9PT1lLnR5cGU/dGhpcy5faW5wdXRzVGltZUF4aXNQYW5lVmlld3MucHVzaChuZXcgbi5TdHVkeUlucHV0VGltZUF4aXNQYW5lVmlldyhlLHRoaXMuX21vZGVsLHQuZ2V0SW5wdXRWYWx1ZSkpOih0aGlzLl9pbnB1dHNQcmljZUF4aXNQYW5lVmlld3MucHVzaChuZXcgYS5TdHVkeUlucHV0UHJpY2VBeGlzUGFuZVZpZXcoZSx0KSksbD0hMCl9KSksbCYmdGhpcy5mb3JtYXR0ZXJDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSl9KSl9X3VwZGF0ZUN1cnJlbmN5U291cmNlU3ltYm9sSW5mbygpe31faW5pdGlhbGl6ZUN1cnJlbmN5U291cmNlKCl7Y29uc3QgZT10aGlzLm1ldGFJbmZvKCksdD0ic3ltYm9sSW5wdXRTeW1ib2xTb3VyY2UiPT09ZS5zeW1ib2xTb3VyY2U/LnR5cGUmJmUuc3ltYm9sU291cmNlPy5pbnB1dElkLHM9ZS5pbnB1dHMuZmluZCgoZT0+ZS5pZD09PXQpKTtpZigic3RyaW5nIj09dHlwZW9mIHQmJiJzeW1ib2wiPT09cz8udHlwZSYmZS5pc19wcmljZV9zdHVkeSl7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKVt0XTt2b2lkIDAhPT1lJiYoZS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkN1cnJlbmN5TWF5Q2hhbmdlKSx0aGlzLl9jdXJyZW5jeVNvdXJjZVN5bWJvbElucHV0UHJvcGVydHk9ZSl9fV9yZWNyZWF0ZVBhbmVWaWV3cygpe3RoaXMuaGFzQmFyQ29sb3JlcigpJiZ0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaW52YWxpZGF0ZUJhclN0eWxlc0NhY2hlKCksdGhpcy5fY3JlYXRlVmlld3MoKSx0aGlzLnJlY2FsY3VsYXRlKCksdGhpcy51cGRhdGVBbGxWaWV3cygoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKX1hc3luYyBfcGluZVBhdGNoUHJvcHMoKXt0aGlzLl9kZWZlcnJlZFBpbmVQYXRjaFByb3BzPSExO2NvbnN0IGU9dGhpcy5fcHJlcGFyZUlucHV0cyhWcyk7dGhpcy5fYXJlU3R1ZHlJbnB1dHNNb2RpZmllZChlKSYmKHRoaXMuX2Fib3J0UGF0Y2hQcm9wc0NvbnRyb2xsZXIuYWJvcnQoKSx0aGlzLl9wcm9wZXJ0aWVzUGF0Y2hlZD1uZXcgUHJvbWlzZSgoYXN5bmMgdD0+e3RyeXthd2FpdCB0aGlzLl9yZXNldFByb3BlcnRpZXNQYXRjaGVkfWNhdGNoKGUpe3JldHVybiB2b2lkIFNzLmxvZ0Vycm9yKGBFUlJPUjogJHt0aGlzLl9kZWJ1Z0lkKCl9IHBpbmUgaW5wdXRzIHBhdGNoaW5nIGFmdGVyIHJlc2V0IHRvIGRlZmF1bHRzIGZhaWxlZCwgcmVhc29uOiAke2V9YCl9dGhpcy5fYWJvcnRQYXRjaFByb3BzQ29udHJvbGxlcj1uZXcgQWJvcnRDb250cm9sbGVyLHRoaXMuX29sZFN0dWR5SW5wdXRzPWU7Y29uc3Qgcz1uZXcgdi5TdHVkeU1ldGFJbmZvKHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuc3RhdGUoKSksaT0oMCxGLnBhdGNoUHJvcGVydGllc0FzeW5jKSh0aGlzLl9wcm9wZXJ0aWVzLHMsZSx0aGlzLl9hYm9ydFBhdGNoUHJvcHNDb250cm9sbGVyLnNpZ25hbCx0aGlzLl9wcmV2aW91c1BhdGNoTWFwKSxyPXRoaXMuX2FsbFN5bWJvbHNBcmVSZXNvbHZlZCgpCjthd2FpdCBQcm9taXNlLmFsbChbaSxyXSkudGhlbigoKCk9Pnt0aGlzLl9tZXRhSW5mby5zZXRWYWx1ZShzKSx0aGlzLl9pc0Rlc3Ryb3llZHx8KHQoKSx0aGlzLl9jcmVhdGVWaWV3cygpLHRoaXMucmVjYWxjdWxhdGUoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLEouc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHRoaXMuaW52YWxpZGF0ZVRpdGxlQ2FjaGUoKSl9KSkuY2F0Y2goKGU9Pnt0KCksU3MubG9nRXJyb3IoYEVSUk9SOiAke3RoaXMuX2RlYnVnSWQoKX0gcGluZSBpbnB1dHMgcGF0Y2hpbmcgZmFpbGVkLCByZWFzb246ICR7ZX1gKX0pKX0pKSl9X2FyZVN0dWR5SW5wdXRzTW9kaWZpZWQoZSl7aWYoMD09PU9iamVjdC5rZXlzKGUpLmxlbmd0aClyZXR1cm4hMTtpZih2b2lkIDA9PT10aGlzLl9vbGRTdHVkeUlucHV0cylyZXR1cm4hMDtjb25zdCB0PU9iamVjdC5rZXlzKHRoaXMuX29sZFN0dWR5SW5wdXRzKTsoMCxoLmFzc2VydCkodC5sZW5ndGg9PT1PYmplY3Qua2V5cyhlKS5sZW5ndGgsImtleXMgcXVhbnRpdHkgc2hvdWxkIGJlIGVxdWFsIik7Zm9yKGNvbnN0IHMgb2YgdClpZigoMCxoLmFzc2VydCkoZS5oYXNPd25Qcm9wZXJ0eShzKSxga2V5ICcke3N9JyBzaG91bGQgZXhpc3QgaW4gc3R1ZHkgaW5wdXRzYCksKDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9vbGRTdHVkeUlucHV0cylbc10hPT1lW3NdKXJldHVybiEwO3JldHVybiExfV9vblZpc2libGVUaW1lUmFuZ2VJbnB1dHNDaGFuZ2VkKGUpe251bGwhPT1lP3RoaXMuX3VwZGF0ZVZpc2libGVUaW1lUmFuZ2VJbnB1dHMoZSk6dGhpcy5pc1N0YXJ0ZWQoKSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLnN0b3AoITApfV91cGRhdGVWaXNpYmxlVGltZVJhbmdlSW5wdXRzKGUsdD0hMCl7Y29uc3Qgcz17Zmlyc3RfdmlzaWJsZV9iYXJfdGltZTplLmZpcnN0VmlzaWJsZUJhclRpbWUsbGFzdF92aXNpYmxlX2Jhcl90aW1lOmUubGFzdFZpc2libGVCYXJUaW1lLHN1YnNjcmliZVJlYWx0aW1lOmUuc3Vic2NyaWJlUmVhbHRpbWV9LGk9dGhpcy5tZXRhSW5mbygpLmlucHV0cyxyPVtdO2Zvcihjb25zdCBlIG9mIGkpcy5oYXNPd25Qcm9wZXJ0eShlLmlkKSYmci5wdXNoKGUuaWQpO2NvbnN0IG49dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzO2Zvcihjb25zdCBlIG9mIHIpbi5jaGlsZHMoKVtlXS5zZXRWYWx1ZVNpbGVudGx5KHNbZV0pO3QmJnIubGVuZ3RoPjAmJm4uZmlyZUNoYW5nZWQoKX1fZ2V0U3R1ZHlFcnJvclRleHQoZSl7c3dpdGNoKGUubWF0Y2goL15zdHVkeV9ub3RfYXV0aDooLiopP0AuKi8pPy5bMV0pe2Nhc2UiU2NyaXB0IjpjYXNlIlN0cmF0ZWd5U2NyaXB0IjpyZXR1cm4iVGhpcyBzY3JpcHQgaXMgaW52aXRlLW9ubHkuIFRvIHJlcXVlc3QgYWNjZXNzLCBwbGVhc2UgY29udGFjdCBpdHMgYXV0aG9yLiI7Y2FzZSJWYlBTZXNzaW9ucyI6Y2FzZSJWYlBQZXJpb2RpYyI6Y2FzZSJWYlBWaXNpYmxlIjpyZXR1cm4iVm9sdW1lIFByb2ZpbGUgaW5kaWNhdG9yIGF2YWlsYWJsZSBvbmx5IG9uIG91ciB1cGdyYWRlZCBwbGFucy4ifXJldHVybiBlLnNwbGl0KCI6IiwyKVswXX1fcHJpY2VTY2FsZUJ5UHJvcGVydGllcygpe2lmKCJkZWZhdWx0Ij09PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnByZWNpc2lvbi52YWx1ZSgpKXJldHVybiBudWxsO2NvbnN0IGU9cGFyc2VJbnQodGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJlY2lzaW9uLnZhbHVlKCkpO3JldHVybiBpc0Zpbml0ZShlKT9NYXRoLnBvdygxMCxlKTpudWxsfV9wcmljZVNjYWxlQnlNZXRhSW5mbygpe2NvbnN0IGU9dGhpcy5tZXRhSW5mbygpLmZvcm1hdCx0PSJpbmhlcml0IiE9PWUudHlwZT9lLnByZWNpc2lvbjp2b2lkIDAscz0oMCx1LmlzTnVtYmVyKSh0KT9NYXRoLnBvdygxMCx0KTp2b2lkIDA7aWYoInByaWNlIj09PWUudHlwZXx8InBlcmNlbnQiPT09ZS50eXBlKXJldHVybiBzfHwxMDA7aWYoInZvbHVtZSI9PT1lLnR5cGUpe2lmKHZvaWQgMD09PWUucHJlY2lzaW9uKXtjb25zdCBlPXRoaXMuc2VyaWVzKCkuc3ltYm9sSW5mbygpO2lmKG51bGwhPT1lJiYoMCx1LmlzTnVtYmVyKShlLnZvbHVtZV9wcmVjaXNpb24pKXJldHVybiBNYXRoLnBvdygxMCxlLnZvbHVtZV9wcmVjaXNpb24pfXJldHVybiAxfXJldHVybiJpbmhlcml0Ij09PWUudHlwZXx8U3MubG9nV2FybigiVW5zdXBwb3J0ZWQgZm9ybWF0IHR5cGU6ICIrZS50eXBlKSxudWxsfV9pbnB1dFN5bWJvbHMoKXtyZXR1cm4gdGhpcy5tZXRhSW5mbygpLmlucHV0cy5maWx0ZXIoKGU9PiJzeW1ib2wiPT09ZS50eXBlKSkubWFwKChlPT4oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLmNoaWxkKGUuaWQpKS52YWx1ZSgpKSl9X3N0dWR5U3BlYyhlKXtjb25zdCB0PXRoaXMuX21ldGFJbmZvLnZhbHVlKCk7cmV0dXJue2lkOnQuaWQsY2hpbGQ6ZT8/dGhpcy5pc0NoaWxkU3R1ZHkoKSxmdW5kYW1lbnRhbDooMCx3ZS5pc0Z1bmRhbWVudGFsU3R1ZHlNZXRhSW5mbykodCksZm9yZWNhc3Q6KDAsd2UuaXNGb3JlY2FzdFN0dWR5TWV0YUluZm8pKHQpLHN0dWJUaXRsZTp0LmRlc2NyaXB0aW9ufHx0LnNob3J0RGVzY3JpcHRpb259fV9vbkZvcm1hdHRlclByb3BzQ2hhbmdlZCgpe3RoaXMuX3JlY3JlYXRlUHJpY2VGb3JtYXR0aW5nRGVwZW5kZW5jaWVzKCl9X3NldFNvdXJjZXMoZSl7dGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSgpLHRoaXMuX3NvdXJjZXMuc2V0VmFsdWUoZSksdGhpcy5fb25QYXJlbnRTb3VyY2VzQ2hhbmdlcy5maXJlKCl9YXN5bmMgX2F3YWl0Rm9yTWV0YUluZm8oKXtjb25zdCBlPXtyZXNvbHZlcjooKT0+e319LHQ9KCk9PmUucmVzb2x2ZXIoKTt0cnl7YXdhaXQgUHJvbWlzZS5yYWNlKFtuZXcgUHJvbWlzZSgoKGUsdCk9PntzZXRUaW1lb3V0KCgoKT0+dChuZXcgRXJyb3IoIlRpbWVvdXQiKSkpLDNlMyl9KSksbmV3IFByb21pc2UoKHM9PntlLnJlc29sdmVyPXMsdGhpcy5tZXRhSW5mb1dWKCkuc3Vic2NyaWJlKHQpfSkpXSl9Y2F0Y2goZSl7dGhyb3cgZX1maW5hbGx5ewp0aGlzLm1ldGFJbmZvV1YoKS51bnN1YnNjcmliZSh0KX19fX0sMzcwNjIyKGUsdCxzKXtzLmQodCx7cGxvdFNoYXBlc0RhdGE6KCk9PnJ9KTt2YXIgaT1zKDE4NTI3MSk7Y29uc3Qgcj17c2hhcGVfYXJyb3dfZG93bjp7Z3VpTmFtZTppLnQobnVsbCx2b2lkIDAscyg3MDQ0NTgpKSxpZDoic2hhcGVfYXJyb3dfZG93biIscGFuZVJlbmRlcmVyQ2xhc3M6IlBhbmVSZW5kZXJlckFycm93RG93biIscGluZU5hbWU6InNoYXBlLmFycm93ZG93biIsaWNvbjoiYXJyb3dfZG93biJ9LHNoYXBlX2Fycm93X3VwOntndWlOYW1lOmkudChudWxsLHZvaWQgMCxzKDYyMDYxKSksaWQ6InNoYXBlX2Fycm93X3VwIixwYW5lUmVuZGVyZXJDbGFzczoiUGFuZVJlbmRlcmVyQXJyb3dVcCIscGluZU5hbWU6InNoYXBlLmFycm93dXAiLGljb246ImFycm93X3VwIn0sc2hhcGVfY2lyY2xlOntndWlOYW1lOmkudChudWxsLHZvaWQgMCxzKDc5NDQwOCkpLGlkOiJzaGFwZV9jaXJjbGUiLHBhbmVSZW5kZXJlckNsYXNzOiJQYW5lUmVuZGVyZXJDaXJjbGVTaGFwZSIscGluZU5hbWU6InNoYXBlLmNpcmNsZSIsaWNvbjoiY2lyY2xlIn0sc2hhcGVfY3Jvc3M6e2d1aU5hbWU6aS50KG51bGwsdm9pZCAwLHMoNDg4MTgwKSksaWQ6InNoYXBlX2Nyb3NzIixwYW5lUmVuZGVyZXJDbGFzczoiUGFuZVJlbmRlcmVyQ3Jvc3NTaGFwZSIscGluZU5hbWU6InNoYXBlLmNyb3NzIixpY29uOiJjcm9zcyJ9LHNoYXBlX2RpYW1vbmQ6e2d1aU5hbWU6aS50KG51bGwsdm9pZCAwLHMoMjgxMjQ4KSksaWQ6InNoYXBlX2RpYW1vbmQiLHBhbmVSZW5kZXJlckNsYXNzOiJQYW5lUmVuZGVyZXJEaWFtb25kIixwaW5lTmFtZToic2hhcGUuZGlhbW9uZCIsaWNvbjoiZGlhbW9uZCJ9LHNoYXBlX2ZsYWc6e2d1aU5hbWU6aS50KG51bGwsdm9pZCAwLHMoOTcxNTI3KSksaWQ6InNoYXBlX2ZsYWciLHBhbmVSZW5kZXJlckNsYXNzOiJQYW5lUmVuZGVyZXJGbGFnU2hhcGUiLHBpbmVOYW1lOiJzaGFwZS5mbGFnIixpY29uOiJmbGFnIn0sc2hhcGVfbGFiZWxfZG93bjp7Z3VpTmFtZTppLnQobnVsbCx2b2lkIDAscygyNjI0NTgpKSxpZDoic2hhcGVfbGFiZWxfZG93biIscGFuZVJlbmRlcmVyQ2xhc3M6IlBhbmVSZW5kZXJlckxhYmVsRG93biIscGluZU5hbWU6InNoYXBlLmxhYmVsZG93biIsaWNvbjoibGFiZWxfZG93biJ9LHNoYXBlX2xhYmVsX3VwOntndWlOYW1lOmkudChudWxsLHZvaWQgMCxzKDQ2NDE1NykpLGlkOiJzaGFwZV9sYWJlbF91cCIscGFuZVJlbmRlcmVyQ2xhc3M6IlBhbmVSZW5kZXJlckxhYmVsVXAiLHBpbmVOYW1lOiJzaGFwZS5sYWJlbHVwIixpY29uOiJsYWJlbF91cCJ9LHNoYXBlX3NxdWFyZTp7Z3VpTmFtZTppLnQobnVsbCx2b2lkIDAscyg5MTYyMTUpKSxpZDoic2hhcGVfc3F1YXJlIixwYW5lUmVuZGVyZXJDbGFzczoiUGFuZVJlbmRlcmVyU3F1YXJlIixwaW5lTmFtZToic2hhcGUuc3F1YXJlIixpY29uOiJzcXVhcmUifSxzaGFwZV90cmlhbmdsZV9kb3duOntndWlOYW1lOmkudChudWxsLHZvaWQgMCxzKDQ3MTc0NSkpLGlkOiJzaGFwZV90cmlhbmdsZV9kb3duIixwYW5lUmVuZGVyZXJDbGFzczoiUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4RG93biIscGluZU5hbWU6InNoYXBlLnRyaWFuZ2xlZG93biIsaWNvbjoidHJpYW5nbGVfZG93biJ9LHNoYXBlX3RyaWFuZ2xlX3VwOntndWlOYW1lOmkudChudWxsLHZvaWQgMCxzKDM5OTY4OCkpLGlkOiJzaGFwZV90cmlhbmdsZV91cCIscGFuZVJlbmRlcmVyQ2xhc3M6IlBhbmVSZW5kZXJlclRyaWFuZ2xlQXBleFVwIixwaW5lTmFtZToic2hhcGUudHJpYW5nbGV1cCIsaWNvbjoidHJpYW5nbGVfdXAifSxzaGFwZV94Y3Jvc3M6e2d1aU5hbWU6aS50KG51bGwsdm9pZCAwLHMoODEwMjIyKSksaWQ6InNoYXBlX3hjcm9zcyIscGFuZVJlbmRlcmVyQ2xhc3M6IlBhbmVSZW5kZXJlclhDcm9zcyIscGluZU5hbWU6InNoYXBlLnhjcm9zcyIsaWNvbjoieF9jcm9zcyJ9fX0sOTIwNDc1KGUsdCxzKXtzLmQodCx7ZGVmYXVsdDooKT0+bH0pO2NvbnN0IGk9ZT0+ZSBpbnN0YW5jZW9mIERhdGUscj1lPT5udWxsIT1lJiYib2JqZWN0Ij09dHlwZW9mIGUsbj0oZSwuLi50KT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsLi4udCksYT1lPT5yKGUpJiYoZT0+MD09PU9iamVjdC5rZXlzKGUpLmxlbmd0aCkoZSksbz0oZSx0KT0+e2lmKGU9PT10KXJldHVybnt9O2lmKCFyKGUpfHwhcih0KSlyZXR1cm4gdDtjb25zdCBzPU9iamVjdC5rZXlzKGUpLnJlZHVjZSgoKGUscyk9PihuKHQscyl8fChlW3NdPXZvaWQgMCksZSkpLE9iamVjdC5jcmVhdGUobnVsbCkpO3JldHVybiBpKGUpfHxpKHQpP2UudmFsdWVPZigpPT10LnZhbHVlT2YoKT97fTp0Ok9iamVjdC5rZXlzKHQpLnJlZHVjZSgoKHMscik9PntpZighbihlLHIpKXJldHVybiBzW3JdPXRbcl0scztjb25zdCBsPW8oZVtyXSx0W3JdKTtyZXR1cm4hYShsKXx8aShsKXx8IWEoZVtyXSkmJmEodFtyXSk/KHNbcl09bCxzKTpzfSkscyl9LGw9b319XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32632.596e5348a1538a18fd4e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.118Z","timestamp":1785141584118,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32632.596e5348a1538a18fd4e.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-4fc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:20\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bf84c53889d0728ebaa5e3c8dff56efb\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1276,"size_decoded":1216,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1276), with no line terminators","md5":"4dbd9186e797320373da6c5f9843030c","sha1":"23410205367378f1c6436025ba87050084b119a4","sha256":"7efe9b338dd4970e4b6ee84a711c1bb6cc65dad73322597e03c040abdb1fa38a","sha512":"a66b0365c81f21e82e8d510923718ce9c71b8aab5c59688e1d32283b9203b9d4b79e04b000fd34cc03234913be0c316407e1d1b9b4c6360478f73081d15595ef","ssdeep":"","tlshash":"3321dfe1e790187af8a38916a788de867158fa036713fd49f7daa80e4481d78113c34d","first_seen":"2026-07-16T13:40:49.72467Z","last_seen":"2026-07-27T14:53:25.317407Z","times_seen":1162,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdWdzMTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXVnczE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnR2LXNwaW5uZXJ7YW5pbWF0aW9uOnR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUtajRKbHJZVkggLjlzIGxpbmVhciBpbmZpbml0ZTtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC11Z3MxKTtib3JkZXI6MCBzb2xpZCB2YXIoLS10di1zcGlubmVyLWNvbG9yLHZhcigtLWNvbG9yLWJyYW5kKSk7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC11Z3MxKTtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5Om5vbmU7bWFyZ2luOjAgYXV0bztwb3NpdGlvbjphYnNvbHV0ZX0udHYtc3Bpbm5lci0tc2hvd257ZGlzcGxheTpibG9ja30udHYtc3Bpbm5lci0tc2l6ZV94eHNtYWxse2JvcmRlci13aWR0aDoycHg7aGVpZ2h0OjEwcHg7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gN3B4KTt0b3A6Y2FsYyg1MCUgLSA3cHgpO3dpZHRoOjEwcHh9LnR2LXNwaW5uZXItLXNpemVfeHNtYWxse2JvcmRlci13aWR0aDoycHg7aGVpZ2h0OjE0cHg7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gOXB4KTt0b3A6Y2FsYyg1MCUgLSA5cHgpO3dpZHRoOjE0cHh9LnR2LXNwaW5uZXItLXNpemVfc21hbGx7Ym9yZGVyLXdpZHRoOjJweDtoZWlnaHQ6MjBweDtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYyg1MCUgLSAxMnB4KTt0b3A6Y2FsYyg1MCUgLSAxMnB4KTt3aWR0aDoyMHB4fS50di1zcGlubmVyLS1zaXplX21lZGl1bXtib3JkZXItd2lkdGg6M3B4O2hlaWdodDoyOHB4O2luc2V0LWlubGluZS1zdGFydDpjYWxjKDUwJSAtIDE3cHgpO3RvcDpjYWxjKDUwJSAtIDE3cHgpO3dpZHRoOjI4cHh9LnR2LXNwaW5uZXItLXNpemVfbGFyZ2V7Ym9yZGVyLXdpZHRoOjRweDtoZWlnaHQ6NTZweDtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYyg1MCUgLSAzMnB4KTt0b3A6Y2FsYyg1MCUgLSAzMnB4KTt3aWR0aDo1NnB4fS50di1zcGlubmVyOmRpcihydGwpe2FuaW1hdGlvbjp0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSCAuOXMgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgdHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1qNEpscllWSHt0b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSHt0b3t0cmFuc2Zvcm06cm90YXRlKC0xdHVybil9fQ=="}},"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/42288.47ecaeca1012ee3e1d8c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.159Z","timestamp":1785141585159,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42288.47ecaeca1012ee3e1d8c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-4efd\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:41\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ff5a6b6fc2c811ec02272d199ca2ced5\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20221,"size_decoded":8618,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3070)","md5":"146c86b697d57edadedb79e577a2b819","sha1":"fac3ccefeac950dd75b09bf983e4db643acb17cf","sha256":"e7c1e85bb4c79e48526d268113263cbed1b8dc51caa0f7ece95022ce45c6426a","sha512":"0c8f76ba43c26ac96ac8ce77228656bc32000075828146c8e3f5f6c8d83aa1124958db4a287753456a136751fe65d9fc935c7e8efead69cb7bc5587e6f54cd75","ssdeep":"384:IPLZpvbUA+tmPj2DF4ciyLHBoIUEDHfKXqEVKtwAqXrNc2G/p5RuePAU32wDP7Fb:IT78mPj0FHLHevUfKa+EwBxnJePTr6Y","tlshash":"a29219c260053875dddf6eef405b45ade33e243538055499b238adec02a9a5873a7f2f","first_seen":"2026-07-22T11:33:41.962494Z","last_seen":"2026-07-27T14:36:17.418293Z","times_seen":268,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0MjI4OF0sezIwMjA0MShlKXtlLmV4cG9ydHM9e2hpZGRlbjoiaGlkZGVuLW5NdHhYVFhfIixmYWRlSW5XcmFwcGVyOiJmYWRlSW5XcmFwcGVyLW5NdHhYVFhfIixpc0FuaW1hdGVkOiJpc0FuaW1hdGVkLW5NdHhYVFhfIn19LDU2NzI2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUZhZGVJbkNvbnRleHQ6KCk9PnJ9KTt2YXIgaT1uKDc3OTQ3NCk7big5MTQ0ODcpLG4oMjAyMDQxKTtjb25zdCBvPWkuY3JlYXRlQ29udGV4dCh7Y2hpbGRyZW46e30sc2V0SXNSZWFkeTooKT0+e319KTtmdW5jdGlvbiByKCl7Y29uc3R7c2V0SXNSZWFkeTplLGNoaWxkcmVuOnR9PSgwLGkudXNlQ29udGV4dCkobyksbj0oMCxpLnVzZVJlZikoKDAsaS51c2VJZCkoKSk7dFtuLmN1cnJlbnRdfHwodFtuLmN1cnJlbnRdPXtpc1JlYWR5OiExfSk7cmV0dXJuKDAsaS51c2VDYWxsYmFjaykoKCgpPT57dFtuLmN1cnJlbnRdLmlzUmVhZHk9ITAsZShPYmplY3QudmFsdWVzKHQpLmV2ZXJ5KChlPT5lLmlzUmVhZHkpKSl9KSxbdCxlXSl9fSwxODM1NzIoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaTtuLmQodCx7Q29sbGFwc2VEaXJlY3Rpb246KCk9Pml9KSxmdW5jdGlvbihlKXtlLlN0YXJ0Rmlyc3Q9InN0YXJ0LWZpcnN0IixlLkVuZEZpcnN0PSJlbmQtZmlyc3QifShpfHwoaT17fSkpfSwxMzc2NjkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29sbGFwc2libGVDb21tb246KCk9PmN9KTt2YXIgaT1uKDc3OTQ3NCksbz1uKDcxOTQyNSkscj1uKDMxNDcyMCkscz1uKDk5MTA5MSksbD1uKDYxNjMxMSksYT1uKDk2NDU5NCk7ZnVuY3Rpb24gYyhlKXtjb25zdHtpdGVtc0xpc3Q6dCxnZXRJdGVtSWQ6bixjYWxjVmlzaWJsZUFuZEhpZGRlbkl0ZW1zOmMsc2hvdWxkS2VlcEl0ZW1WaXNpYmxlOmQsb25NZWFzdXJlQ2FsbGJhY2s6Zixmb3JjZVVwZGF0ZTpiPSExfT1lLFtoLG1dPSgwLHMudXNlUmVmc01hcCkoKSxwPSgwLGkudXNlUmVmKShudWxsKSx2PSgwLGkudXNlUmVmKSh7d2lkdGhzTWFwOm5ldyBNYXAsY29udGFpbmVyV2lkdGg6MCxtb3JlQnV0dG9uV2lkdGg6MH0pLFtnLEldPSgwLGkudXNlU3RhdGUpKHt2aXNpYmxlOnQsaGlkZGVuOltdfSksQz0oMCxpLnVzZU1lbW8pKCgoKT0+dC5yZWR1Y2UoKChlLHQsbik9PihkKHQpJiZlLnB1c2gobiksZSkpLFtdKSksW3QsZF0pLFI9KDAsaS51c2VDYWxsYmFjaykoKCgpPT57aWYodi5jdXJyZW50LmNvbnRhaW5lcldpZHRoKXtjb25zdCBlPWModi5jdXJyZW50LEMpOyhmdW5jdGlvbihlLHQpe3JldHVybiF1KGUudmlzaWJsZSx0LnZpc2libGUpfHwhdShlLmhpZGRlbix0LmhpZGRlbil9KShnLGUpJiZJKGUpfX0pLFt2LEksZyxDLGNdKSxTPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+e3YuY3VycmVudC5tb3JlQnV0dG9uV2lkdGg9cC5jdXJyZW50PygwLHIub3V0ZXJXaWR0aCkocC5jdXJyZW50LCEwKTowO2NvbnN0IGU9bmV3IE1hcCh2LmN1cnJlbnQud2lkdGhzTWFwKTtmb3IoY29uc3QgaSBvZiB0KXtjb25zdCB0PW4oaSksbz1oLmN1cnJlbnQuZ2V0KHQpO2lmKG8pe2NvbnN0IG49KDAsci5vdXRlcldpZHRoKShvLCEwKTtlLnNldCh0LG4pfX12LmN1cnJlbnQud2lkdGhzTWFwPWUsZiYmZigpfSksW3YsdCxuLGgsZl0pLGs9KDAsaS51c2VSZWYpKG51bGwpLHk9KDAsaS51c2VDYWxsYmFjaykoKChbZV0pPT57ZS5jb250ZW50UmVjdC53aWR0aCE9PXYuY3VycmVudC5jb250YWluZXJXaWR0aCYmKGsuY3VycmVudCYmY2FuY2VsQW5pbWF0aW9uRnJhbWUoay5jdXJyZW50KSx2LmN1cnJlbnQuY29udGFpbmVyV2lkdGg9ZS5jb250ZW50UmVjdC53aWR0aCxrLmN1cnJlbnQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e1IoKX0pKSl9KSxbdixSXSksTT0oMCxpLnVzZVJlZikobnVsbCksSD0oMCxpLnVzZUNhbGxiYWNrKSgoKFtlXSk9PntNLmN1cnJlbnQmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKE0uY3VycmVudCksUygpLE0uY3VycmVudD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57UigpfSkpfSksW1MsUl0pLEE9KDAsby51c2VSZXNpemVPYnNlcnZlcikoSCksdz0oMCxvLnVzZVJlc2l6ZU9ic2VydmVyKSh5KSxUPSgwLGkudXNlUmVmKShudWxsKSxFPSgwLGEubWVyZ2VSZWZzKShbdyxUXSkseD0oMCxpLnVzZVJlZikodCksej0oMCxpLnVzZVJlZikoITApLEI9KDAsaS51c2VSZWYpKFtdKTtyZXR1cm4oMCxsLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9di5jdXJyZW50LndpZHRoc01hcC5zaXplPT09dC5sZW5ndGg7IWImJiF6LmN1cnJlbnQmJnUoeC5jdXJyZW50LHQpJiZ1KEIuY3VycmVudCxDKSYmZXx8KFMoKSxSKCksei5jdXJyZW50PSExLHguY3VycmVudD10LEIuY3VycmVudD1DKX0pLFt0LEMsYixTLFJdKSx7Y29udGFpbmVyUmVmQ2FsbGJhY2s6RSxtb3JlQnV0dG9uUmVmOnAsaW5uZXJDb250YWluZXJSZWZDYWxsYmFjazpBLGl0ZW1zUmVmczpoLHNldEl0ZW1SZWY6bSxoaWRkZW5JdGVtczpnLmhpZGRlbix2aXNpYmxlSXRlbXM6Zy52aXNpYmxlLGl0ZW1zTWVhc3VyZW1lbnRzOnZ9fWZ1bmN0aW9uIHUoZSx0KXtyZXR1cm4gZS5sZW5ndGg9PT10Lmxlbmd0aCYmZS5yZWR1Y2UoKChlLG4saSk9PmUmJm49PT10W2ldKSwhMCl9fSw4NjgzMzkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29sbGFwc2libGU6KCk9PnN9KTt2YXIgaT1uKDc3OTQ3NCksbz1uKDE4MzU3Mikscj1uKDEzNzY2OSk7ZnVuY3Rpb24gcyhlLHQsbixzPW8uQ29sbGFwc2VEaXJlY3Rpb24uRW5kRmlyc3Qpe2NvbnN0IGw9KDAsaS51c2VDYWxsYmFjaykoKChuLGkpPT57Y29uc3Qgcj1lLm1hcCgoZT0+bi53aWR0aHNNYXAuZ2V0KHQoZSkpPz8wKSk7cmV0dXJuIGZ1bmN0aW9uKHtpdGVtczplLGNvbnRhaW5lcldpZHRoOnQsZWxlbWVudHNXaWR0aHM6bixtZW51SXRlbVdpZHRoOmksa2VlcFZpc2libGU6cixkaXJlY3Rpb246c30pe2NvbnN0IGw9Wy4uLmVdLGE9W10sYz1bXTtsZXQgdT0wO2Zvcihjb25zdCBlIG9mIG4pdSs9ZQo7aWYodTw9dClyZXR1cm57dmlzaWJsZTpsLGhpZGRlbjpjfTtjb25zdCBkPVsuLi5uXTtpZih1PXIubWFwKChlPT5kW2VdKSkucmVkdWNlKCgoZSx0KT0+ZSt0KSwwKStpLHM9PT1vLkNvbGxhcHNlRGlyZWN0aW9uLkVuZEZpcnN0KWZvcihsZXQgZT0wO2U8bC5sZW5ndGg7ZSsrKXIuaW5jbHVkZXMoZSk/YS5wdXNoKGxbZV0pOih1Kz1kW2VdLHU8PXQ/YS5wdXNoKGxbZV0pOmMucHVzaChsW2VdKSk7ZWxzZSBmb3IobGV0IGU9bC5sZW5ndGgtMTtlPj0wO2UtLSlyLmluY2x1ZGVzKGUpP2EudW5zaGlmdChsW2VdKToodSs9ZFtlXSx1PD10P2EudW5zaGlmdChsW2VdKTpjLnVuc2hpZnQobFtlXSkpO3JldHVybnt2aXNpYmxlOmEsaGlkZGVuOmN9fSh7aXRlbXM6ZSxjb250YWluZXJXaWR0aDpuLmNvbnRhaW5lcldpZHRoLGVsZW1lbnRzV2lkdGhzOnIsbWVudUl0ZW1XaWR0aDpuLm1vcmVCdXR0b25XaWR0aCxrZWVwVmlzaWJsZTppLGRpcmVjdGlvbjpzfSl9KSxbZV0pO3JldHVybigwLHIudXNlQ29sbGFwc2libGVDb21tb24pKHtpdGVtc0xpc3Q6ZSxnZXRJdGVtSWQ6dCxjYWxjVmlzaWJsZUFuZEhpZGRlbkl0ZW1zOmwsc2hvdWxkS2VlcEl0ZW1WaXNpYmxlOm59KX19LDQ1NjQ4NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VEaXNjbG9zdXJlOigpPT5jfSk7dmFyIGk9big3Nzk0NzQpLG89bigxMzg2MzgpLHI9big3MjEzNjkpLHM9bigxNDU5ODQpLGw9big4MzM5MDMpLGE9big0MTkxODEpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7aWQ6dCxsaXN0Ym94SWQ6bixkaXNhYmxlZDpjLGJ1dHRvblRhYkluZGV4OnU9MCxvbkZvY3VzOmQsb25CbHVyOmYsb25DbGljazpifT1lLFtoLG1dPSgwLGkudXNlU3RhdGUpKCExKSxbcCx2XT0oMCxzLnVzZUZvY3VzKSgpLGc9cHx8aCxJPW4/P3ZvaWQgMCE9PXQ/KDAsYS5jcmVhdGVEb21JZCkodCwibGlzdGJveCIpOnZvaWQgMCxDPSgwLGkudXNlUmVmKShudWxsKSxSPSgwLGkudXNlQ2FsbGJhY2spKChlPT5DLmN1cnJlbnQ/LmZvY3VzKGUpKSxbQ10pLFM9KDAsaS51c2VSZWYpKG51bGwpLGs9KDAsaS51c2VDYWxsYmFjaykoKCgpPT4oMCxvLmVuc3VyZU5vdE51bGwpKFMuY3VycmVudCkuZm9jdXMoKSksW1NdKSx5PSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+bSghMCkpLFttXSksTT0oMCxpLnVzZUNhbGxiYWNrKSgoKGU9ITEsdD0hMSk9PnttKCExKTtjb25zdHthY3RpdmVFbGVtZW50Om59PWRvY3VtZW50O24mJigwLHIuaXNUZXh0RWRpdGluZ0ZpZWxkKShuKXx8dHx8Uih7cHJldmVudFNjcm9sbDplfSl9KSxbbSxSXSksSD0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9PntoP00oKTp5KCl9KSxbaCxNLHldKSxBPWM/W106W2Qsdi5vbkZvY3VzXSx3PWM/W106W2Ysdi5vbkJsdXJdLFQ9Yz9bXTpbYixIXSxFPSgwLGwuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoLi4uQSkseD0oMCxsLmNyZWF0ZVNhZmVNdWx0aWNhc3RFdmVudEhhbmRsZXIpKC4uLncpLHo9KDAsbC5jcmVhdGVTYWZlTXVsdGljYXN0RXZlbnRIYW5kbGVyKSguLi5UKTtyZXR1cm57bGlzdGJveElkOkksaXNPcGVuZWQ6aCxpc0ZvY3VzZWQ6ZyxidXR0b25UYWJJbmRleDpjPy0xOnUsbGlzdGJveFRhYkluZGV4Oi0xLG9wZW46eSxjbG9zZTpNLHRvZ2dsZTpILG9uT3BlbjprLGJ1dHRvbkZvY3VzQmluZGluZ3M6e29uRm9jdXM6RSxvbkJsdXI6eH0sb25CdXR0b25DbGljazp6LGJ1dHRvblJlZjpDLGxpc3Rib3hSZWY6UyxidXR0b25BcmlhOnsiYXJpYS1jb250cm9scyI6aD9JOnZvaWQgMCwiYXJpYS1leHBhbmRlZCI6aCwiYXJpYS1kaXNhYmxlZCI6Y319fX0sNzA4MjA3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUl0ZW1zS2V5Ym9hcmROYXZpZ2F0aW9uOigpPT5sfSk7dmFyIGksbz1uKDc3OTQ3NCkscj1uKDc2MzU0OSk7ZnVuY3Rpb24gcyhlLHQpe3JldHVybiBlPj0wP2UldDoodC1NYXRoLmFicyhlKSV0KSV0fSFmdW5jdGlvbihlKXtlLk5leHQ9Im5leHQiLGUuUHJldmlvdXM9InByZXZpb3VzIixlLkZpcnN0PSJmaXJzdCIsZS5MYXN0PSJsYXN0In0oaXx8KGk9e30pKTtmdW5jdGlvbiBsKGUsdCxuLGksbCxhLGM9e30sdSxkKXtjb25zdCBmPSgwLG8udXNlQ2FsbGJhY2spKChlPT57Y29uc3QgdD1uLmZpbmRJbmRleChpKTtpZih0PT09bi5sZW5ndGgtMSYmIWEpcmV0dXJuIHZvaWQodT8ub25GYWlsTmV4dCYmdS5vbkZhaWxOZXh0KGUpKTtjb25zdCBvPXModCsxLG4ubGVuZ3RoKTtsJiZsKG5bb10sIm5leHQiKX0pLFtuLGksbCxhXSksYj0oMCxvLnVzZUNhbGxiYWNrKSgoZT0+e2NvbnN0IHQ9bi5maW5kSW5kZXgoaSk7aWYoMD09PXQmJiFhKXJldHVybiB2b2lkKHU/Lm9uRmFpbFByZXYmJnUub25GYWlsUHJldihlKSk7Y29uc3Qgbz1zKHQtMSxuLmxlbmd0aCk7bCYmbChuW29dLCJwcmV2aW91cyIpfSksW24saSxsLGFdKSxoPSgwLG8udXNlQ2FsbGJhY2spKCgoKT0+e2wmJmwoblswXSwiZmlyc3QiKX0pLFtsLG5dKSxtPSgwLG8udXNlQ2FsbGJhY2spKCgoKT0+e2wmJmwobltuLmxlbmd0aC0xXSwibGFzdCIpfSksW2wsbl0pLHA9KDAsby51c2VNZW1vKSgoKCk9PihlPT4oe25leHQ6WzQwLCgpPT5lKCk/Mzc6MzldLHByZXZpb3VzOlszOCwoKT0+ZSgpPzM5OjM3XSxmaXJzdDpbMzMsKCk9PmUoKT8zNTozNl0sbGFzdDpbMzQsKCk9PmUoKT8zNjozNV19KSkodCkpLFt0XSkse25leHQ6dj1wLm5leHQscHJldmlvdXM6Zz1wLnByZXZpb3VzLGZpcnN0Okk9cC5maXJzdCxsYXN0OkM9cC5sYXN0fT1jO3JldHVybigwLHIudXNlQ29tcG9zZWRLZXlib2FyZEFjdGlvbkhhbmRsZXJzKSgoMCxyLnVzZUtleWJvYXJkQWN0aW9uSGFuZGxlcikodixmLGQ/Lm5leHQ/PygoKT0+ITApLGUpLCgwLHIudXNlS2V5Ym9hcmRBY3Rpb25IYW5kbGVyKShnLGIsZD8ucHJldmlvdXM/PygoKT0+ITApLGUpLCgwLHIudXNlS2V5Ym9hcmRBY3Rpb25IYW5kbGVyKShJLGgsKCgpPT4hMCksZSksKDAsci51c2VLZXlib2FyZEFjdGlvbkhhbmRsZXIpKEMsbSwoKCk9PiEwKSxlKSl9fSw2NjI3NjEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlS2VlcEFjdGl2ZUl0ZW1JbnRvVmlldzooKT0+c30pCjt2YXIgaT1uKDc3OTQ3NCksbz1uKDEzODYzOCkscj1uKDk5MzgzOSk7ZnVuY3Rpb24gcyhlPXt9KXtjb25zdHthY3RpdmVJdGVtOnQsZ2V0S2V5Om4sLi4uc309ZSxsPSgwLGkudXNlUmVmKShudWxsKSxhPSgwLGkudXNlUmVmKShuZXcgTWFwKSxjPSgwLHIudXNlU2Nyb2xsSW50b1ZpZXdIZWxwZXIpKGwuY3VycmVudCksdT0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9PntudWxsIT09Yy5jdXJyZW50JiZudWxsIT09bC5jdXJyZW50JiZjLmN1cnJlbnQuZ2V0Q29udGFpbmVyKCkhPT1sLmN1cnJlbnQmJmMuY3VycmVudC5zZXRDb250YWluZXIobC5jdXJyZW50KX0pLFtjLGxdKSxkPSgwLGkudXNlQ2FsbGJhY2spKChlPT57bC5jdXJyZW50PWV9KSxbbF0pLGY9KDAsaS51c2VDYWxsYmFjaykoKChlLHQpPT57Y29uc3QgaT1uP24oZSk6ZTt0P2EuY3VycmVudC5zZXQoaSx0KTphLmN1cnJlbnQuZGVsZXRlKGkpfSksW2Esbl0pLGI9KDAsaS51c2VDYWxsYmFjaykoKChlLHQpPT57aWYoIWUpcmV0dXJuO2NvbnN0IGk9bj9uKGUpOmUscj1hLmN1cnJlbnQuZ2V0KGkpO3ImJih1KCksKDAsby5lbnN1cmVOb3ROdWxsKShjLmN1cnJlbnQpLnNjcm9sbFRvKHIsdCkpfSksW2EsYyxuXSk7cmV0dXJuKDAsaS51c2VFZmZlY3QpKCgoKT0+Yih0LHMpKSxbYix0XSksW2QsZixiXX19LDQxODM4NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VNb2JpbGVUb3VjaFN0YXRlOigpPT5yfSk7dmFyIGk9big3Nzk0NzQpLG89big3Mzg0NTgpO2Z1bmN0aW9uIHIoKXtjb25zdFtlLHRdPSgwLGkudXNlU3RhdGUpKCExKTtyZXR1cm4oMCxpLnVzZUVmZmVjdCkoKCgpPT57dChvLm1vYmlsZXRvdWNoKX0pLFtdKSxlfX0sNTg2MjIzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVByZXZpb3VzOigpPT5vfSk7dmFyIGk9big3Nzk0NzQpO2Z1bmN0aW9uIG8oZSl7Y29uc3QgdD0oMCxpLnVzZVJlZikobnVsbCk7cmV0dXJuKDAsaS51c2VFZmZlY3QpKCgoKT0+e3QuY3VycmVudD1lfSksW2VdKSx0LmN1cnJlbnR9fSw5OTEwOTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlUmVmc01hcDooKT0+b30pO3ZhciBpPW4oNzc5NDc0KTtmdW5jdGlvbiBvKCl7Y29uc3QgZT0oMCxpLnVzZVJlZikobmV3IE1hcCksdD0oMCxpLnVzZUNhbGxiYWNrKSgodD0+bj0+e251bGwhPT1uP2UuY3VycmVudC5zZXQodCxuKTplLmN1cnJlbnQuZGVsZXRlKHQpfSksW2VdKTtyZXR1cm5bZSx0XX19LDk5MzgzOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VTY3JvbGxJbnRvVmlld0hlbHBlcjooKT0+c30pO3ZhciBpPW4oNzc5NDc0KSxvPW4oMTM4NjM4KSxyPW4oODY2NzQzKTtmdW5jdGlvbiBzKGUpe2NvbnN0IHQ9KDAsaS51c2VSZWYpKG51bGwpO3JldHVybigwLGkudXNlRWZmZWN0KSgoKCk9Pih0LmN1cnJlbnQ9bmV3IHIuU2Nyb2xsSW50b1ZpZXdIZWxwZXIoZSksKCk9PigwLG8uZW5zdXJlTm90TnVsbCkodC5jdXJyZW50KS5kZXN0cm95KCkpKSxbXSksdH19LDU5MTU3MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VUYWJzS2V5Ym9hcmROYXZpZ2F0aW9uOigpPT5jfSk7dmFyIGk9big3Nzk0NzQpLG89bigxMzg2MzgpLHI9big3NjM1NDkpLHM9big3MDgyMDcpO2Z1bmN0aW9uIGwoKXtyZXR1cm4hMX1mdW5jdGlvbiBhKGUsdCl7cmV0dXJue25leHQ6KCk9PnQhPT1lLmxlbmd0aC0xLHByZXZpb3VzOigpPT4wIT09dH19ZnVuY3Rpb24gYyhlKXtjb25zdHthY3RpdmF0aW9uVHlwZTp0PSJtYW51YWwifT1lLG49KDAsaS51c2VNZW1vKSgoKCk9PnQpLFtdKTtyZXR1cm4oMCxvLmFzc2VydCkodD09PW4sIkFjdGl2YXRpb24gdHlwZSBtdXN0IGJlIGludmFyaWFudC4iKSwiYXV0b21hdGljIj09PXQ/ZnVuY3Rpb24oZSl7Y29uc3R7aXNSdGw6dCxpdGVtczpuLHByZXZlbnREZWZhdWx0SWZIYW5kbGVkOm89ITAsc3RvcFByb3BhZ2F0aW9uSWZIYW5kbGVkOmM9ITEsbG9vcDp1PSEwLGlzSGlnaGxpZ2h0ZWQ6ZCxvbkhpZ2hsaWdodDpmLG9uQWN0aXZhdGU6Yixpc0NvbGxhcHNlZDpoPWwsb3JpZW50YXRpb246bX09ZSxwPSgwLGkudXNlQ2FsbGJhY2spKChlPT57ZihlKSxoKGUpfHxiKGUpfSksW2YsYixoXSksdj0hdSYmYz9hKG4sbi5maW5kSW5kZXgoZCkpOnZvaWQgMDtyZXR1cm4oMCxyLnVzZUtleWJvYXJkRXZlbnRIYW5kbGVyKShbKDAscy51c2VJdGVtc0tleWJvYXJkTmF2aWdhdGlvbikobSx0LG4sZCxwLHUse30sdm9pZCAwLHYpXSxvLGMpfShlKTpmdW5jdGlvbihlKXtjb25zdHtpc1J0bDp0LGl0ZW1zOm4scHJldmVudERlZmF1bHRJZkhhbmRsZWQ6bz0hMCxzdG9wUHJvcGFnYXRpb25JZkhhbmRsZWQ6bD0hMSxsb29wOmM9ITAsaXNIaWdobGlnaHRlZDp1LG9uSGlnaGxpZ2h0OmQsb25BY3RpdmF0ZTpmLG9yaWVudGF0aW9uOmJ9PWUsaD1uLmZpbmRJbmRleCh1KSxtPW5baF0scD0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9Pnt2b2lkIDAhPT1tJiZmKG0pfSksW20sZl0pLHY9IWMmJmw/YShuLGgpOnZvaWQgMCxnPSgwLGkudXNlQ2FsbGJhY2spKChlPT5kKGUpKSxbZF0pLEk9KDAscy51c2VJdGVtc0tleWJvYXJkTmF2aWdhdGlvbikoYix0LG4sdSxnLGMse30sdm9pZCAwLHYpLEM9KDAsci51c2VLZXlib2FyZEFjdGlvbkhhbmRsZXIpKFsxMywzMl0scCk7cmV0dXJuKDAsci51c2VLZXlib2FyZEV2ZW50SGFuZGxlcikoW0ksQ10sbyxsKX0oZSl9fSw0NTQxNzQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlVGFiczooKT0+ZH0pO3ZhciBpPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdD0iaG9yaXpvbnRhbCIsbixpLG8scil7cmV0dXJue2lkOmUscm9sZTpyPyJyYWRpb2dyb3VwIjoidGFibGlzdCIsImFyaWEtb3JpZW50YXRpb24iOnQsImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6aSwiYXJpYS1kaXNhYmxlZCI6bn19ZnVuY3Rpb24gcihlLHQsbixpLG8scixzLGwpe3JldHVybntpZDplLHJvbGU6cj8icmFkaW8iOiJ0YWIiLHRhYkluZGV4OnQ/bD8udGFiSW5kZXg/PzA6LTEsZGlzYWJsZWQ6bywiYXJpYS1zZWxlY3RlZCI6cj92b2lkIDA6biwiYXJpYS1jaGVja2VkIjpyP246dm9pZCAwLAoiYXJpYS1jb250cm9scyI6aSwiYXJpYS1kaXNhYmxlZCI6bywiYXJpYS1sYWJlbCI6cywiZGF0YS1mb2N1cy1tYW5hZ2VyIjp2b2lkIDAhPT1sP2xbImRhdGEtZm9jdXMtbWFuYWdlciJdOnZvaWQgMH19dmFyIHM9big4MzM5MDMpLGw9bigxNDU5ODQpLGE9big2NjI3NjEpLGM9big1OTE1NzIpLHU9big0MTgzODYpO2Z1bmN0aW9uIGQoZSl7Y29uc3R7aWQ6dCxpdGVtczpuLG9yaWVudGF0aW9uOmQsYWN0aXZhdGlvblR5cGU6Zj0ibWFudWFsIixkaXNhYmxlZDpiLHRhYmxpc3RMYWJlbElkOmgsdGFibGlzdExhYmVsOm0sZm9jdXNPbkhpZ2hsaWdodDpwPSEwLHByZXZlbnREZWZhdWx0SWZLZXlib2FyZEFjdGlvbkhhbmRsZWQ6dj0hMCxzdG9wUHJvcGFnYXRpb25JZktleWJvYXJkQWN0aW9uSGFuZGxlZDpnPSExLGtleWJvYXJkTmF2aWdhdGlvbkxvb3A6ST0hMCxzY3JvbGxJbnRvVmlld09wdGlvbnM6Qyxpc0FjdGl2ZTpSLG9uQWN0aXZhdGU6Uyxpc0NvbGxhcHNlZDprLGlzUnRsOnksaXNEaXNjbG9zdXJlT3BlbmVkOk0saXNSYWRpb0dyb3VwOkgsZGVmYXVsdEtleWJvYXJkRm9jdXM6QSxmb2N1c2FibGVJdGVtQXR0cmlidXRlczp3PXt9fT1lLFQ9KDAsdS51c2VNb2JpbGVUb3VjaFN0YXRlKSgpLEU9TT9udWxsOmR8fCJob3Jpem9udGFsIix4PSgwLGkudXNlUmVmKShlLml0ZW1zUmVmcz8uY3VycmVudD8/bmV3IE1hcCksW3osQl09KDAsaS51c2VTdGF0ZSkoKSxbXyxGXT0oMCxsLnVzZUZvY3VzKSgpLEs9bi5maW5kKFIpLFc9KDAsaS51c2VDYWxsYmFjaykoKGU9PmUuaWQ9PT16Py5pZCksW3pdKSxWPSgwLGkudXNlQ2FsbGJhY2spKChlPT57Y29uc3QgdD14LmN1cnJlbnQuZ2V0KGUuaWQpO3AmJnZvaWQgMCE9PXQmJnQhPT1kb2N1bWVudC5hY3RpdmVFbGVtZW50JiZ0LmZvY3VzKCl9KSxbcF0pLEQ9KDAsaS51c2VSZWYpKCksTz0oMCxpLnVzZUNhbGxiYWNrKSgoKGUsdCk9PntCKGUpLCJudW1iZXIiPT10eXBlb2YgdD8oY2xlYXJUaW1lb3V0KEQuY3VycmVudCksRC5jdXJyZW50PXNldFRpbWVvdXQoKCgpPT5WKGUpKSx0KSk6VihlKX0pLFtCLFZdKSxOPSgwLGkudXNlQ2FsbGJhY2spKChlPT57Ynx8ZS5kaXNhYmxlZHx8KFMoZSksVyhlKXx8TyhlKSl9KSxbYixTLFcsT10pLEw9KDAsYy51c2VUYWJzS2V5Ym9hcmROYXZpZ2F0aW9uKSh7aXNSdGw6eSxpdGVtczpuLGFjdGl2YXRpb25UeXBlOmYscHJldmVudERlZmF1bHRJZkhhbmRsZWQ6dixzdG9wUHJvcGFnYXRpb25JZkhhbmRsZWQ6Zyxsb29wOkksb25BY3RpdmF0ZTpOLGlzSGlnaGxpZ2h0ZWQ6VyxvbkhpZ2hsaWdodDpPLGlzQ29sbGFwc2VkOmssb3JpZW50YXRpb246RX0pOygwLGkudXNlRWZmZWN0KSgoKCk9PntUfHx2b2lkIDAhPT1LJiZCKEspfSksW0ssVF0pLCgwLGkudXNlRWZmZWN0KSgoKCk9PntffHxCKHZvaWQgMCl9KSxbX10pLCgwLGkudXNlRWZmZWN0KSgoKCk9PigpPT5jbGVhclRpbWVvdXQoRC5jdXJyZW50KSksW10pO2NvbnN0IFA9Qz8uYWRkaXRpb25hbFNjcm9sbD8/MCxbcSxYXT0oMCxhLnVzZUtlZXBBY3RpdmVJdGVtSW50b1ZpZXcpKHsuLi5DLHZpc2liaWxpdHlEZXRlY3Rpb25PZmZzZXRJbmxpbmU6UCsyNCxzbmFwVG9NaWRkbGU6ITAsYWN0aXZlSXRlbTp6Pz9LLGdldEtleTooMCxpLnVzZUNhbGxiYWNrKSgoZT0+ZS5pZCksW10pfSksVT0oMCxpLnVzZUNhbGxiYWNrKSgoKGUsdCk9PntudWxsIT09dD94LmN1cnJlbnQuc2V0KGUuaWQsdCk6eC5jdXJyZW50LmRlbGV0ZShlLmlkKSxYKGUsdCl9KSxbWF0pLHtmaXJzdEVkZ2VJdGVtSW5kZXg6RyxsYXN0RWRnZUl0ZW1JbmRleDpqfT1mdW5jdGlvbihlLHQpe2xldCBuLGk7Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDtvKyspe2NvbnN0IHI9ZS5sZW5ndGgtKG8rMSkscz12b2lkIDAhPT10JiZ0KGVbcl0pO2lmKCFlW29dLmRpc2FibGVkJiZ2b2lkIDA9PT1uJiYobj1vKSwhZVtyXS5kaXNhYmxlZCYmIXMmJnZvaWQgMD09PWkmJihpPXIpLHZvaWQgMCE9PW4mJnZvaWQgMCE9PWkpYnJlYWt9cmV0dXJue2ZpcnN0RWRnZUl0ZW1JbmRleDpuLGxhc3RFZGdlSXRlbUluZGV4Oml9fShuLGspO3JldHVybnt0YWJzQmluZGluZ3M6bi5tYXAoKChlLHQpPT57Y29uc3Qgbj1XKGUpLGk9UihlKSxvPWUuZGlzYWJsZWQ/P2I/PyExLHM9MT09PUE/Xz9uOnQ9PT1HfHx0PT09ajpfP246aTtyZXR1cm57Li4ucihlLmlkLHMsaSxlLnRhYnBhbmVsSWQsbyxILGVbImFyaWEtbGFiZWwiXSx3KSxoaWdobGlnaHRlZDpuLGFjdGl2ZTppLGhhbmRsZUl0ZW1SZWY6VX19KSksdGFibGlzdEJpbmRpbmc6ey4uLm8odCxkLGIsaCxtLEgpLG9uQmx1cjpGLm9uQmx1cixvbkZvY3VzOigwLHMuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoRi5vbkZvY3VzLChlPT57bGV0IHQ9bnVsbDtmb3IoY29uc3RbaSxvXW9mIHguY3VycmVudC5lbnRyaWVzKCkpaWYoZS50YXJnZXQ9PT1vKXt0PW4uZmluZCgoZT0+ZS5pZD09PWkpKT8/bnVsbDticmVha310JiYhVyh0KSYmKCJhdXRvbWF0aWMiPT09ZiYmayYmIWsodCk/Tih0KTpPKHQpKX0pKSxvbktleURvd246TH0sc2Nyb2xsV3JhcEJpbmRpbmc6e3JlZjpxfSxvbkFjdGl2YXRlOk4sb25IaWdobGlnaHQ6Tyxpc0hpZ2hsaWdodGVkOld9fX0sODQ2ODU4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVRhYnNNYWluSGFuZGxlcnM6KCk9Pmd9KTt2YXIgaT1uKDc3OTQ3NCksbz1uKDgzMzkwMykscj1uKDQxODM4Nikscz1uKDgwOTQzNiksbD1uKDcxNzkzMik7dmFyIGE9big4NjgzMzkpLGM9big0NTQxNzQpLHU9big0NTY0ODcpLGQ9bigzMTk2OSksZj1uKDc2MzU0OSksYj1uKDU2NzI2KSxoPW4oNTI5NDExKSxtPW4oNzE5NDI1KSxwPW4oNTg2MjIzKTt2YXIgdj1uKDM5NjQzMSk7ZnVuY3Rpb24gZyhlLHQsbil7CmNvbnN0e2lkOmcsaXRlbXM6SSxhY3RpdmF0aW9uVHlwZTpDLG9yaWVudGF0aW9uOlI9Imhvcml6b250YWwiLGRpc2FibGVkOlMsb25BY3RpdmF0ZTprLGlzQWN0aXZlOnksb3ZlcmZsb3dCZWhhdmlvdXI6TSxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczpILHRhYmxpc3RMYWJlbElkOkEsdGFibGlzdExhYmVsOncscHJldmVudERlZmF1bHRJZktleWJvYXJkQWN0aW9uSGFuZGxlZDpULHNpemU6RSxzdG9wUHJvcGFnYXRpb25JZktleWJvYXJkQWN0aW9uSGFuZGxlZDp4LGtleWJvYXJkTmF2aWdhdGlvbkxvb3A6eixkZWZhdWx0S2V5Ym9hcmRGb2N1czpCLGZvY3VzYWJsZUl0ZW1BdHRyaWJ1dGVzOl99PXQsRj0oMCxpLnVzZU1lbW8pKCgoKT0+KDAsdi50cmFuc2Zvcm1UYWJzV2l0aENvdW50ZXJzKShJLFMsRSkpLFtJLFMsRV0pLEs9KDAsci51c2VNb2JpbGVUb3VjaFN0YXRlKSgpLFc9ZnVuY3Rpb24oZSl7Y29uc3QgdD0oMCxsLnVzZVNhZmVNYXRjaE1lZGlhKShzWyJtZWRpYS1tZi1waG9uZS1sYW5kc2NhcGUiXSwhMCksbj0oMCxyLnVzZU1vYmlsZVRvdWNoU3RhdGUpKCk7cmV0dXJuIGU/PyhufHwhdD8ic2Nyb2xsIjoiY29sbGFwc2UiKX0oTSksVj0oMCxpLnVzZVJlZikoITEpLEQ9KDAsaS51c2VDYWxsYmFjaykoKGU9PmUuaWQpLFtdKSxPPUg/PyFLLE49KDAsYi51c2VGYWRlSW5Db250ZXh0KSgpLHt2aXNpYmxlSXRlbXM6TCxoaWRkZW5JdGVtczpQLGNvbnRhaW5lclJlZkNhbGxiYWNrOnEsaW5uZXJDb250YWluZXJSZWZDYWxsYmFjazpYLG1vcmVCdXR0b25SZWY6VSxzZXRJdGVtUmVmOkcsaXRlbXNNZWFzdXJlbWVudHM6an09KDAsYS51c2VDb2xsYXBzaWJsZSkoRixELHkpLEo9KDAscC51c2VQcmV2aW91cykoai5jdXJyZW50Py5jb250YWluZXJXaWR0aCk/PzAsUT0oMCxoLnVzZUlzTm9uRmlyc3RSZW5kZXIpKCksWT1qLmN1cnJlbnQ/LmNvbnRhaW5lcldpZHRoPz8wO2xldCBaPSExO2ouY3VycmVudCYmUSYmKFo9ZnVuY3Rpb24oZSx0LG4saSxvKXtpZigiY29sbGFwc2UiIT09aSlyZXR1cm4hMDtjb25zdCByPWZ1bmN0aW9uKGUsdCxuKXtjb25zdCBpPWUuZmlsdGVyKChlPT50LmZpbmQoKHQ9PnQuaWQ9PT1lWzBdKSkpKTtyZXR1cm4gdC5sZW5ndGg+MD9pWzBdWzFdK246MH0oQXJyYXkuZnJvbShlLndpZHRoc01hcC5lbnRyaWVzKCkpLHQsbykscz1lLm1vcmVCdXR0b25XaWR0aD8/MDtsZXQgbD1mdW5jdGlvbihlLHQpe3JldHVybiBlLnJlZHVjZSgoKGUsbik9PmUrKHQuZ2V0KG4uaWQpPz8wKSksMCl9KG4sZS53aWR0aHNNYXApO3JldHVybiBsKz10Lmxlbmd0aD4wP3M6MCxmdW5jdGlvbihlLHQsbixpKXtyZXR1cm4gMCE9PWU/dC1uPGUmJnQtbj5pOm48dH0ocixlLmNvbnRhaW5lcldpZHRoLGwsbyl9KGouY3VycmVudCxQLEwsVyxuLmdhcD8/MCl8fDA9PT1ZKTtjb25zdCAkPSgwLG0udXNlUmVzaXplT2JzZXJ2ZXIpKCgoW2VdKT0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PntRJiZaJiZlLmNvbnRlbnRSZWN0LndpZHRoPT09SiYmTigpfSkpfSkpLGVlPSJjb2xsYXBzZSI9PT1XP0w6Rix0ZT0oMCxpLnVzZU1lbW8pKCgoKT0+ImNvbGxhcHNlIj09PVc/UDpbXSksW1csUF0pLG5lPSgwLGkudXNlQ2FsbGJhY2spKChlPT50ZS5pbmNsdWRlcyhlKSksW3RlXSkse2lzT3BlbmVkOmllLG9wZW46b2UsY2xvc2U6cmUsb25CdXR0b25DbGljazpzZX09KDAsdS51c2VEaXNjbG9zdXJlKSh7aWQ6ZyxkaXNhYmxlZDpTfSkse3RhYnNCaW5kaW5nczpsZSx0YWJsaXN0QmluZGluZzphZSxzY3JvbGxXcmFwQmluZGluZzpjZSxvbkFjdGl2YXRlOnVlLG9uSGlnaGxpZ2h0OmRlLGlzSGlnaGxpZ2h0ZWQ6ZmV9PSgwLGMudXNlVGFicykoe2lkOmcsaXRlbXM6Wy4uLmVlLC4uLnRlXSxhY3RpdmF0aW9uVHlwZTpDLG9yaWVudGF0aW9uOlIsZGlzYWJsZWQ6Uyx0YWJsaXN0TGFiZWxJZDpBLHRhYmxpc3RMYWJlbDp3LHByZXZlbnREZWZhdWx0SWZLZXlib2FyZEFjdGlvbkhhbmRsZWQ6VCxzY3JvbGxJbnRvVmlld09wdGlvbnM6bi5zY3JvbGxJbnRvVmlld09wdGlvbnMsb25BY3RpdmF0ZTprLGlzQWN0aXZlOnksaXNDb2xsYXBzZWQ6bmUsaXNSdGw6bi5pc1J0bCxpc0Rpc2Nsb3N1cmVPcGVuZWQ6aWUsaXNSYWRpb0dyb3VwOm4uaXNSYWRpb0dyb3VwLHN0b3BQcm9wYWdhdGlvbklmS2V5Ym9hcmRBY3Rpb25IYW5kbGVkOngsa2V5Ym9hcmROYXZpZ2F0aW9uTG9vcDp6LGRlZmF1bHRLZXlib2FyZEZvY3VzOkIsZm9jdXNhYmxlSXRlbUF0dHJpYnV0ZXM6X30pLGJlPXRlLmZpbmQoZmUpLGhlPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+e2NvbnN0IGU9Ri5maW5kKHkpO2UmJmRlKGUpfSksW2RlLHksRl0pLG1lPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+e3JlKCksaGUoKSxWLmN1cnJlbnQ9ITB9KSxbcmUsaGVdKSxwZT0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9PntiZSYmKHVlKGJlKSxkZShiZSwyNTApKX0pLFt1ZSxkZSxiZV0pO2NlLnJlZj0oMCxkLnVzZU1lcmdlZFJlZnMpKFskLGNlLnJlZixxXSksYWUucmVmPSgwLGQudXNlTWVyZ2VkUmVmcykoW2FlLnJlZixYXSksYWUub25LZXlEb3duPSgwLG8uY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoKDAsZi51c2VLZXlib2FyZEV2ZW50SGFuZGxlcikoWygwLGYudXNlS2V5Ym9hcmRDbG9zZSkoaWUsbWUpLCgwLGYudXNlS2V5Ym9hcmRBY3Rpb25IYW5kbGVyKShbMTMsMzJdLHBlLCgwLGkudXNlQ2FsbGJhY2spKCgoKT0+Qm9vbGVhbihiZSkpLFtiZV0pKV0sVCksYWUub25LZXlEb3duKTtjb25zdCB2ZT0oMCxpLnVzZUNhbGxiYWNrKSgoZT0+e1YuY3VycmVudD0hMCxzZShlKX0pLFtWLHNlXSksZ2U9KDAsaS51c2VDYWxsYmFjaykoKGU9PntlJiZ1ZShlKX0pLFt1ZV0pO3JldHVybigwLGkudXNlRWZmZWN0KSgoKCk9PntWLmN1cnJlbnQ/Vi5jdXJyZW50PSExOmJlJiYhaWU/b2UoKTohYmUmJmllJiZyZSgpfSksW2JlLGllLG9lLHJlXSkse2VuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOk8sbW9yZUJ1dHRvblJlZjpVLHNldEl0ZW1SZWY6RyxnZXRCaW5kaW5nczplPT5sZS5maW5kKCh0PT50LmlkPT09ZS5pZCkpLGhhbmRsZU1vcmVCdXR0b25DbGljazp2ZSwKaGFuZGxlQ29sbGFwc2VkSXRlbUNsaWNrOmdlLHNjcm9sbFdyYXBCaW5kaW5nOmNlLG92ZXJmbG93QmVoYXZpb3VyOlcsdGFibGlzdEJpbmRpbmc6YWUsdmlzaWJsZVRhYnM6ZWUsaGlkZGVuVGFiczp0ZSxoYW5kbGVBY3RpdmF0ZTp1ZSxpc01vYmlsZVRvdWNoOkssZ2V0SXRlbUlkOkQsaXNEaXNjbG9zdXJlT3BlbmVkOmllLGlzSGlnaGxpZ2h0ZWQ6ZmUsY2xvc2VEaXNjbG9zdXJlOnJlfX19LDM5NjQzMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjb3VudGVyU2l6ZUZyb21TcXVhcmVUYWJzU2l6ZTooKT0+cyxnZXRUYWJDb3VudGVyOigpPT5yLHRyYW5zZm9ybVRhYnNXaXRoQ291bnRlcnM6KCk9Pmx9KTt2YXIgaT1uKDc3OTQ3NCksbz1uKDcyMTkxMCk7ZnVuY3Rpb24gcih7Y291bnQ6ZSxjb2xvcjp0PSJkYW5nZXIiLHNpemU6bj0ieHNtYWxsIixkaXNhYmxlZDpyfSl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChvLkNvdW50ZXIseyJhcmlhLWxhYmVsIjoiVGFiIGNvdW50ZXIiLGNvdW50OmUsc2l6ZTpuLGNvbG9yOnQsYm9yZGVyQ29sb3I6InByaW1hcnkiLGRpc2FibGVkOnJ9KX1mdW5jdGlvbiBzKGUpe3JldHVybnt4c21hbGw6InhzbWFsbCIsc21hbGw6InNtYWxsIixtZWRpdW06Im1lZGl1bSIsbWVkaXVtV2l0aFNtYWxsRm9udDoibWVkaXVtIix4bGFyZ2U6ImxhcmdlIn1bZV19ZnVuY3Rpb24gbChlLHQsbil7cmV0dXJuIGUubWFwKChlPT57Y29uc3QgaT1lLmNvdW50ZXI7cmV0dXJuIGk/ey4uLmUsZW5kVXBwZXJTbG90OnIoe2NvdW50OmkuY291bnQsY29sb3I6aS5jb2xvcixzaXplOnMobiksZGlzYWJsZWQ6dH0pLGNvdW50ZXI6dm9pZCAwfTplfSkpfX0sMjEyMTI1KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIGksbyxyLHMsbDtuLmQodCx7VGFiTmFtZXM6KCk9Pmx9KSxmdW5jdGlvbihlKXtlW2UuQWN0aXZlPTBdPSJBY3RpdmUiLGVbZS5FZGdlcz0xXT0iRWRnZXMifShpfHwoaT17fSkpLGZ1bmN0aW9uKGUpe2UuSG9yaXpvbnRhbD0iaG9yaXpvbnRhbCIsZS5WZXJ0aWNhbD0idmVydGljYWwifShvfHwobz17fSkpLGZ1bmN0aW9uKGUpe2UuQXV0b21hdGljPSJhdXRvbWF0aWMiLGUuTWFudWFsPSJtYW51YWwifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuQ29sbGFwc2U9ImNvbGxhcHNlIixlLlNjcm9sbD0ic2Nyb2xsIixlLldyYXA9IndyYXAiLGUuTm9uZT0ibm9uZSJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5TcXVhcmVCdXR0b25UYWJzPSJzcXVhcmUtYnV0dG9uLXRhYnMiLGUuVW5kZXJsaW5lQnV0dG9uVGFicz0idW5kZXJsaW5lLWJ1dHRvbi10YWJzIixlLlVuZGVybGluZUFuY2hvclRhYnM9InVuZGVybGluZS1hbmNob3ItdGFicyIsZS5Sb3VuZEFuY2hvclRhYnM9InJvdW5kLWFuY2hvci10YWJzIixlLlJvdW5kQnV0dG9uVGFicz0icm91bmQtYnV0dG9uLXRhYnMiLGUuTGlnaHRCdXR0b25UYWJzPSJsaWdodC1idXR0b24tdGFicyJ9KGx8fChsPXt9KSl9LDIzNDI5MihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG49MCl7Y29uc3QgaT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gaS50b3Atby50b3A+PTAmJm8uYm90dG9tLWkuYm90dG9tPj0wJiZpLmxlZnQtby5sZWZ0Pj1uJiZvLnJpZ2h0LWkucmlnaHQ+PW59bi5kKHQse2lzRWxlbWVudEluVmlldzooKT0+aX0pfSw4NjY3NDMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2Nyb2xsSW50b1ZpZXdIZWxwZXI6KCk9PmN9KTt2YXIgaT1uKDk1MDE5NCksbz1uKDIzNDI5Mik7Y29uc3Qgcj17ZHVyYXRpb246MjAwLGFkZGl0aW9uYWxTY3JvbGw6MH0scz17dmVydGljYWw6e3Njcm9sbFNpemU6InNjcm9sbEhlaWdodCIsY2xpZW50U2l6ZToiY2xpZW50SGVpZ2h0IixzdGFydDoidG9wIixlbmQ6ImJvdHRvbSIsc2l6ZToiaGVpZ2h0In0saG9yaXpvbnRhbDp7c2Nyb2xsU2l6ZToic2Nyb2xsV2lkdGgiLGNsaWVudFNpemU6ImNsaWVudFdpZHRoIixzdGFydDoibGVmdCIsZW5kOiJyaWdodCIsc2l6ZToid2lkdGgifX07ZnVuY3Rpb24gbChlLHQpe2NvbnN0IG49c1tlXTtyZXR1cm4gdFtuLnNjcm9sbFNpemVdPnRbbi5jbGllbnRTaXplXX1mdW5jdGlvbiBhKGUsdCxuLG8scixsKXtjb25zdCBhPWZ1bmN0aW9uKGUsdCxuLGk9MCl7Y29uc3Qgbz1zW2VdO3JldHVybntzdGFydDotMSppLG1pZGRsZTotMSooTWF0aC5mbG9vcihuW28uc2l6ZV0vMiktTWF0aC5mbG9vcih0W28uc2l6ZV0vMikpLGVuZDotMSoobltvLnNpemVdLXRbby5zaXplXSkraX19KGUsbyxyLGwuYWRkaXRpb25hbFNjcm9sbCk7bGV0IGM9MDtpZihsLnNuYXBUb01pZGRsZXx8ZnVuY3Rpb24oZSx0LG4pe2NvbnN0IGk9c1tlXTtyZXR1cm4gdFtpLnN0YXJ0XTxuW2kuc3RhcnRdLW5baS5zaXplXS8yfHx0W2kuZW5kXT5uW2kuZW5kXStuW2kuc2l6ZV0vMn0oZSxvLHIpKWM9YS5taWRkbGU7ZWxzZXtjb25zdCB0PWZ1bmN0aW9uKGUsdCxuLGk9MCl7Y29uc3Qgbz1zW2VdLHI9dFtvLnN0YXJ0XStNYXRoLmZsb29yKHRbby5zaXplXS8yKSxsPW5bby5zdGFydF0rTWF0aC5mbG9vcihuW28uc2l6ZV0vMik7cmV0dXJue3N0YXJ0OnRbby5zdGFydF0tbltvLnN0YXJ0XS1pLG1pZGRsZTpyLWwsZW5kOnRbby5lbmRdLW5bby5lbmRdK2l9fShlLG8scixsLmFkZGl0aW9uYWxTY3JvbGwpLG49ZnVuY3Rpb24oZSl7Y29uc3R7c3RhcnQ6dCxtaWRkbGU6bixlbmQ6aX09ZSxvPW5ldyBNYXAoW1tNYXRoLmFicyh0KSx7a2V5OiJzdGFydCIsdmFsdWU6TWF0aC5zaWduKHQpfV0sW01hdGguYWJzKG4pLHtrZXk6Im1pZGRsZSIsdmFsdWU6TWF0aC5zaWduKG4pfV0sW01hdGguYWJzKGkpLHtrZXk6ImVuZCIsdmFsdWU6TWF0aC5zaWduKGkpfV1dKSxyPU1hdGgubWluKC4uLm8ua2V5cygpKTtyZXR1cm4gby5nZXQocil9KHQpO2M9dm9pZCAwIT09bj9hW24ua2V5XTowfXJldHVybiBsLmFsaWduJiYoYz1hW2wuYWxpZ25dKSwoMCxpLnNjcm9sbFRvKSh7Li4ubCx0YXJnZXQ6dCx0YXJnZXRSZWN0Om8sd3JhcDpuLHdyYXBSZWN0OnIsYWRkaXRpb25hbFNjcm9sbDpjLGRpcmVjdGlvbjplfSl9Y2xhc3MgY3sKY29uc3RydWN0b3IoZT1udWxsKXt0aGlzLl9jb250YWluZXI9bnVsbCx0aGlzLl9sYXN0U2Nyb2xsZWRFbGVtZW50PW51bGwsdGhpcy5fc3RvcFZlcnRpY2FsU2Nyb2xsPW51bGwsdGhpcy5fc3RvcEhvcml6b250YWxTY3JvbGw9bnVsbCx0aGlzLl9jb250YWluZXI9ZX1zY3JvbGxUbyhlLHQ9cil7aWYobnVsbCE9PXRoaXMuX2NvbnRhaW5lciYmbnVsbCE9PWUmJiEoMCxvLmlzRWxlbWVudEluVmlldykoZSx0aGlzLl9jb250YWluZXIsdC52aXNpYmlsaXR5RGV0ZWN0aW9uT2Zmc2V0SW5saW5lKSl7Y29uc3Qgbj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGk9dGhpcy5fY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuc3RvcFNjcm9sbCgpLGwoInZlcnRpY2FsIix0aGlzLl9jb250YWluZXIpJiYodGhpcy5fc3RvcFZlcnRpY2FsU2Nyb2xsPWEoInZlcnRpY2FsIixlLHRoaXMuX2NvbnRhaW5lcixuLGksdGhpcy5fbW9kaWZ5T3B0aW9ucygidmVydGljYWwiLHQpKSksbCgiaG9yaXpvbnRhbCIsdGhpcy5fY29udGFpbmVyKSYmKHRoaXMuX3N0b3BIb3Jpem9udGFsU2Nyb2xsPWEoImhvcml6b250YWwiLGUsdGhpcy5fY29udGFpbmVyLG4saSx0aGlzLl9tb2RpZnlPcHRpb25zKCJob3Jpem9udGFsIix0KSkpfXRoaXMuX2xhc3RTY3JvbGxlZEVsZW1lbnQ9ZX1zY3JvbGxUb0xhc3RFbGVtZW50KGUpe3RoaXMuc2Nyb2xsVG8odGhpcy5fbGFzdFNjcm9sbGVkRWxlbWVudCxlKX1zdG9wU2Nyb2xsKCl7bnVsbCE9PXRoaXMuX3N0b3BWZXJ0aWNhbFNjcm9sbCYmdGhpcy5fc3RvcFZlcnRpY2FsU2Nyb2xsKCksbnVsbCE9PXRoaXMuX3N0b3BIb3Jpem9udGFsU2Nyb2xsJiZ0aGlzLl9zdG9wSG9yaXpvbnRhbFNjcm9sbCgpfWdldENvbnRhaW5lcigpe3JldHVybiB0aGlzLl9jb250YWluZXJ9c2V0Q29udGFpbmVyKGUpe3RoaXMuX2NvbnRhaW5lcj1lLHRoaXMuX2NvbnRhaW5lcj8uY29udGFpbnModGhpcy5fbGFzdFNjcm9sbGVkRWxlbWVudCl8fCh0aGlzLl9sYXN0U2Nyb2xsZWRFbGVtZW50PW51bGwpfWRlc3Ryb3koKXt0aGlzLnN0b3BTY3JvbGwoKSx0aGlzLl9jb250YWluZXI9bnVsbCx0aGlzLl9sYXN0U2Nyb2xsZWRFbGVtZW50PW51bGx9X2hhbmRsZVNjcm9sbEVuZChlKXsidmVydGljYWwiPT09ZT90aGlzLl9zdG9wVmVydGljYWxTY3JvbGw9bnVsbDp0aGlzLl9zdG9wSG9yaXpvbnRhbFNjcm9sbD1udWxsfV9tb2RpZnlPcHRpb25zKGUsdCl7cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sdCx7b25TY3JvbGxFbmQ6KCk9Pnt0aGlzLl9oYW5kbGVTY3JvbGxFbmQoZSksdm9pZCAwIT09dC5vblNjcm9sbEVuZCYmdC5vblNjcm9sbEVuZCgpfX0pfX19LDk1MDE5NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtzY3JvbGxUbzooKT0+b30pO3ZhciBpPW4oMjE4ODE0KTtmdW5jdGlvbiBvKGUpe2NvbnN0e2FkZGl0aW9uYWxTY3JvbGw6dD0wLGR1cmF0aW9uOm49aS5kdXIsZnVuYzpvPWkuZWFzaW5nRnVuYy5lYXNlSW5PdXRDdWJpYyxvblNjcm9sbEVuZDpyLHRhcmdldDpzLHdyYXA6bCxkaXJlY3Rpb246YT0idmVydGljYWwifT1lO2xldHt0YXJnZXRSZWN0OmMsd3JhcFJlY3Q6dX09ZTtjPWM/P3MuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdT11Pz9sLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2NvbnN0IGQ9KCJ2ZXJ0aWNhbCI9PT1hP2MudG9wLXUudG9wOmMubGVmdC11LmxlZnQpK3QsZj0idmVydGljYWwiPT09YT8ic2Nyb2xsVG9wIjoic2Nyb2xsTGVmdCIsYj1sP2xbZl06MDtsZXQgaCxtPTA7cmV0dXJuIG09d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoZnVuY3Rpb24gZSh0KXtsZXQgaTtpZihoP2k9dC1oOihpPTAsaD10KSxpPj1uKXJldHVybiBsW2ZdPWIrZCx2b2lkKHImJnIoKSk7Y29uc3Qgcz1iK2QqbyhpL24pO2xbZl09TWF0aC5mbG9vcihzKSxtPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZSl9KSksZnVuY3Rpb24oKXt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUobSksciYmcigpfX19fV0pOw=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css?family=Roboto:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic%7CRoboto+Slab:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic\u0026display=swap\u0026ver=7.0.2","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.893Z","timestamp":1785141582893,"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=Roboto:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic%7CRoboto+Slab:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic\u0026display=swap\u0026ver=7.0.2 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://oxlofttrd.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 08:39:42 GMT\r\ndate: Mon, 27 Jul 2026 08:39:42 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":123129,"size_decoded":3877,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1572)","md5":"725d4e1ac8ab3a2acc7596fdb86c0903","sha1":"29361c3f4df871d14f7aec27e4ca9906dddfaf06","sha256":"183acc0f61d3a0c381a60ad8386229e4433a5d0f189b54920c759dcba5457965","sha512":"11485196733a8fac7d79606762ab6b869a0cb985139b751b93a58ef77396847d63c34c11556d250df6385a148afb4616dccd38c46cdd75b68ee69467d93a773e","ssdeep":"768:yDdD9DADNDgBDUKD7DnDdAgTQgUUhaWWHncXgLUahdPuOJ+gaULUIIV1ClghUULh:GZQDSVUvWtALyl83uRt","tlshash":"d9c31d91041b5440ab834ce223cebf75fe5f92507141d0b9abfc9babaddbc62126835c","first_seen":"2026-02-19T23:35:04.827171Z","last_seen":"2026-07-27T12:12:28.818784Z","times_seen":3375,"resource_available":false,"data":"LyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0Mza2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAxMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtBbmthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0Nua2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAxMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtCWGthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogbWF0aCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAxMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtlbmthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAyLTAzMDMsIFUrMDMwNSwgVSswMzA3LTAzMDgsIFUrMDMxMCwgVSswMzEyLCBVKzAzMTUsIFUrMDMxQSwgVSswMzI2LTAzMjcsIFUrMDMyQywgVSswMzJGLTAzMzAsIFUrMDMzMi0wMzMzLCBVKzAzMzgsIFUrMDMzQSwgVSswMzQ2LCBVKzAzNEQsIFUrMDM5MS0wM0ExLCBVKzAzQTMtMDNBOSwgVSswM0IxLTAzQzksIFUrMDNEMSwgVSswM0Q1LTAzRDYsIFUrMDNGMC0wM0YxLCBVKzAzRjQtMDNGNSwgVSsyMDE2LTIwMTcsIFUrMjAzNC0yMDM4LCBVKzIwM0MsIFUrMjA0MCwgVSsyMDQzLCBVKzIwNDcsIFUrMjA1MCwgVSsyMDU3LCBVKzIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA4RSwgVSsyMDkwLTIwOUMsIFUrMjBEMC0yMERDLCBVKzIwRTEsIFUrMjBFNS0yMEVGLCBVKzIxMDAtMjExMiwgVSsyMTE0LTIxMTUsIFUrMjExNy0yMTIxLCBVKzIxMjMtMjE0RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMUFFLCBVKzIxQjAtMjFFNSwgVSsyMUYxLTIxRjIsIFUrMjFGNC0yMjExLCBVKzIyMTMtMjIxNCwgVSsyMjE2LTIyRkYsIFUrMjMwOC0yMzBCLCBVKzIzMTAsIFUrMjMxOSwgVSsyMzFDLTIzMjEsIFUrMjMzNi0yMzdBLCBVKzIzN0MsIFUrMjM5NSwgVSsyMzlCLTIzQjcsIFUrMjNEMCwgVSsyM0RDLTIzRTEsIFUrMjQ3NC0yNDc1LCBVKzI1QUYsIFUrMjVCMywgVSsyNUI3LCBVKzI1QkQsIFUrMjVDMSwgVSsyNUNBLCBVKzI1Q0MsIFUrMjVGQiwgVSsyNjZELTI2NkYsIFUrMjdDMC0yN0ZGLCBVKzI5MDAtMkFGRiwgVSsyQjBFLTJCMTEsIFUrMkIzMC0yQjRDLCBVKzJCRkUsIFUrMzAzMCwgVStGRjVCLCBVK0ZGNUQsIFUrMUQ0MDAtMUQ3RkYsIFUrMUVFMDAtMUVFRkY7Cn0KLyogc3ltYm9scyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAxMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWthSGthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAxLTAwMEMsIFUrMDAwRS0wMDFGLCBVKzAwN0YtMDA5RiwgVSsyMERELTIwRTAsIFUrMjBFMi0yMEU0LCBVKzIxNTAtMjE4RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMTk5LCBVKzIxQUYsIFUrMjFFNi0yMUYwLCBVKzIxRjMsIFUrMjIxOC0yMjE5LCBVKzIyOTksIFUrMjJDNC0yMkM2LCBVKzIzMDAtMjQzRiwgVSsyNDQwLTI0NEEsIFUrMjQ2MC0yNEZGLCBVKzI1QTAtMjdCRiwgVSsyODAwLTI4RkYsIFUrMjkyMS0yOTIyLCBVKzI5ODEsIFUrMjlCRiwgVSsyOUVCLCBVKzJCMDAtMkJGRiwgVSs0REMwLTRERkYsIFUrRkZGOS1GRkZCLCBVKzEwMTQwLTEwMThFLCBVKzEwMTkwLTEwMTlDLCBVKzEwMUEwLCBVKzEwMUQwLTEwMUZELCBVKzEwMkUwLTEwMkZCLCBVKzEwRTYwLTEwRTdFLCBVKzFEMkMwLTFEMkQzLCBVKzFEMkUwLTFEMzdGLCBVKzFGMDAwLTFGMEZGLCBVKzFGMTAwLTFGMUFELCBVKzFGMUU2LTFGMUZGLCBVKzFGMzBELTFGMzBGLCBVKzFGMzE1LCBVKzFGMzFDLCBVKzFGMzFFLCBVKzFGMzIwLTFGMzJDLCBVKzFGMzM2LCBVKzFGMzc4LCBVKzFGMzdELCBVKzFGMzgyLCBVKzFGMzkzLTFGMzlGLCBVKzFGM0E3LTFGM0E4LCBVKzFGM0FDLTFGM0FGLCBVKzFGM0MyLCBVKzFGM0M0LTFGM0M2LCBVKzFGM0NBLTFGM0NFLCBVKzFGM0Q0LTFGM0UwLCBVKzFGM0VELCBVKzFGM0YxLTFGM0YzLCBVKzFGM0Y1LTFGM0Y3LCBVKzFGNDA4LCBVKzFGNDE1LCBVKzFGNDFGLCBVKzFGNDI2LCBVKzFGNDNGLCBVKzFGNDQxLTFGNDQyLCBVKzFGNDQ0LCBVKzFGNDQ2LTFGNDQ5LCBVKzFGNDRDLTFGNDRFLCBVKzFGNDUzLCBVKzFGNDZBLCBVKzFGNDdELCBVKzFGNEEzLCBVKzFGNEIwLCBVKzFGNEIzLCBVKzFGNEI5LCBVKzFGNEJCLCBVKzFGNEJGLCBVKzFGNEM4LTFGNENCLCBVKzFGNEQ2LCBVKzFGNERBLCBVKzFGNERGLCBVKzFGNEUzLTFGNEU2LCBVKzFGNEVBLTFGNEVELCBVKzFGNEY3LCBVKzFGNEY5LTFGNEZCLCBVKzFGNEZELTFGNEZFLCBVKzFGNTAzLCBVKzFGNTA3LTFGNTBCLCBVKzFGNTBELCBVKzFGNTEyLTFGNTEzLCBVKzFGNTNFLTFGNTRBLCBVKzFGNTRGLTFGNUZBLCBVKzFGNjEwLCBVKzFGNjUwLTFGNjdGLCBVKzFGNjg3LCBVKzFGNjhELCBVKzFGNjkxLCBVKzFGNjk0LCBVKzFGNjk4LCBVKzFGNkFELCBVKzFGNkIyLCBVKzFGNkI5LTFGNkJBLCBVKzFGNkJDLCBVKzFGNkM2LTFGNkNGLCBVKzFGNkQzLTFGNkQ3LCBVKzFGNkUwLTFGNkVBLCBVKzFGNkYwLTFGNkYzLCBVKzFGNkY3LTFGNkZDLCBVKzFGNzAwLTFGN0ZGLCBVKzFGODAwLTFGODBCLCBVKzFGODEwLTFGODQ3LCBVKzFGODUwLTFGODU5LCBVKzFGODYwLTFGODg3LCBVKzFGODkwLTFGOEFELCBVKzFGOEIwLTFGOEJCLCBVKzFGOEMwLTFGOEMxLCBVKzFGOTAwLTFGOTBCLCBVKzFGOTNCLCBVKzFGOTQ2LCBVKzFGOTg0LCBVKzFGOTk2LCBVKzFGOUU5LCBVKzFGQTAwLTFGQTZGLCBVKzFGQTcwLTFGQTdDLCBVKzFGQTgwLTFGQTg5LCBVKzFGQThGLTFGQUM2LCBVKzFGQUNFLTFGQURDLCBVKzFGQURGLTFGQUU5LCBVKzFGQUYwLTFGQUY4LCBVKzFGQjAwLTFGQkZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQ1hrYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAxMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtDSGthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQm5rYS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAyMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtDM2thV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQW5rYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAyMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtDbmthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQlhrYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIG1hdGggKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rZW5rYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMi0wMzAzLCBVKzAzMDUsIFUrMDMwNy0wMzA4LCBVKzAzMTAsIFUrMDMxMiwgVSswMzE1LCBVKzAzMUEsIFUrMDMyNi0wMzI3LCBVKzAzMkMsIFUrMDMyRi0wMzMwLCBVKzAzMzItMDMzMywgVSswMzM4LCBVKzAzM0EsIFUrMDM0NiwgVSswMzRELCBVKzAzOTEtMDNBMSwgVSswM0EzLTAzQTksIFUrMDNCMS0wM0M5LCBVKzAzRDEsIFUrMDNENS0wM0Q2LCBVKzAzRjAtMDNGMSwgVSswM0Y0LTAzRjUsIFUrMjAxNi0yMDE3LCBVKzIwMzQtMjAzOCwgVSsyMDNDLCBVKzIwNDAsIFUrMjA0MywgVSsyMDQ3LCBVKzIwNTAsIFUrMjA1NywgVSsyMDVGLCBVKzIwNzAtMjA3MSwgVSsyMDc0LTIwOEUsIFUrMjA5MC0yMDlDLCBVKzIwRDAtMjBEQywgVSsyMEUxLCBVKzIwRTUtMjBFRiwgVSsyMTAwLTIxMTIsIFUrMjExNC0yMTE1LCBVKzIxMTctMjEyMSwgVSsyMTIzLTIxNEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjFBRSwgVSsyMUIwLTIxRTUsIFUrMjFGMS0yMUYyLCBVKzIxRjQtMjIxMSwgVSsyMjEzLTIyMTQsIFUrMjIxNi0yMkZGLCBVKzIzMDgtMjMwQiwgVSsyMzEwLCBVKzIzMTksIFUrMjMxQy0yMzIxLCBVKzIzMzYtMjM3QSwgVSsyMzdDLCBVKzIzOTUsIFUrMjM5Qi0yM0I3LCBVKzIzRDAsIFUrMjNEQy0yM0UxLCBVKzI0NzQtMjQ3NSwgVSsyNUFGLCBVKzI1QjMsIFUrMjVCNywgVSsyNUJELCBVKzI1QzEsIFUrMjVDQSwgVSsyNUNDLCBVKzI1RkIsIFUrMjY2RC0yNjZGLCBVKzI3QzAtMjdGRiwgVSsyOTAwLTJBRkYsIFUrMkIwRS0yQjExLCBVKzJCMzAtMkI0QywgVSsyQkZFLCBVKzMwMzAsIFUrRkY1QiwgVStGRjVELCBVKzFENDAwLTFEN0ZGLCBVKzFFRTAwLTFFRUZGOwp9Ci8qIHN5bWJvbHMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rYUhrYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMS0wMDBDLCBVKzAwMEUtMDAxRiwgVSswMDdGLTAwOUYsIFUrMjBERC0yMEUwLCBVKzIwRTItMjBFNCwgVSsyMTUwLTIxOEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjE5OSwgVSsyMUFGLCBVKzIxRTYtMjFGMCwgVSsyMUYzLCBVKzIyMTgtMjIxOSwgVSsyMjk5LCBVKzIyQzQtMjJDNiwgVSsyMzAwLTI0M0YsIFUrMjQ0MC0yNDRBLCBVKzI0NjAtMjRGRiwgVSsyNUEwLTI3QkYsIFUrMjgwMC0yOEZGLCBVKzI5MjEtMjkyMiwgVSsyOTgxLCBVKzI5QkYsIFUrMjlFQiwgVSsyQjAwLTJCRkYsIFUrNERDMC00REZGLCBVK0ZGRjktRkZGQiwgVSsxMDE0MC0xMDE4RSwgVSsxMDE5MC0xMDE5QywgVSsxMDFBMCwgVSsxMDFEMC0xMDFGRCwgVSsxMDJFMC0xMDJGQiwgVSsxMEU2MC0xMEU3RSwgVSsxRDJDMC0xRDJEMywgVSsxRDJFMC0xRDM3RiwgVSsxRjAwMC0xRjBGRiwgVSsxRjEwMC0xRjFBRCwgVSsxRjFFNi0xRjFGRiwgVSsxRjMwRC0xRjMwRiwgVSsxRjMxNSwgVSsxRjMxQywgVSsxRjMxRSwgVSsxRjMyMC0xRjMyQywgVSsxRjMzNiwgVSsxRjM3OCwgVSsxRjM3RCwgVSsxRjM4MiwgVSsxRjM5My0xRjM5RiwgVSsxRjNBNy0xRjNBOCwgVSsxRjNBQy0xRjNBRiwgVSsxRjNDMiwgVSsxRjNDNC0xRjNDNiwgVSsxRjNDQS0xRjNDRSwgVSsxRjNENC0xRjNFMCwgVSsxRjNFRCwgVSsxRjNGMS0xRjNGMywgVSsxRjNGNS0xRjNGNywgVSsxRjQwOCwgVSsxRjQxNSwgVSsxRjQxRiwgVSsxRjQyNiwgVSsxRjQzRiwgVSsxRjQ0MS0xRjQ0MiwgVSsxRjQ0NCwgVSsxRjQ0Ni0xRjQ0OSwgVSsxRjQ0Qy0xRjQ0RSwgVSsxRjQ1MywgVSsxRjQ2QSwgVSsxRjQ3RCwgVSsxRjRBMywgVSsxRjRCMCwgVSsxRjRCMywgVSsxRjRCOSwgVSsxRjRCQiwgVSsxRjRCRiwgVSsxRjRDOC0xRjRDQiwgVSsxRjRENiwgVSsxRjREQSwgVSsxRjRERiwgVSsxRjRFMy0xRjRFNiwgVSsxRjRFQS0xRjRFRCwgVSsxRjRGNywgVSsxRjRGOS0xRjRGQiwgVSsxRjRGRC0xRjRGRSwgVSsxRjUwMywgVSsxRjUwNy0xRjUwQiwgVSsxRjUwRCwgVSsxRjUxMi0xRjUxMywgVSsxRjUzRS0xRjU0QSwgVSsxRjU0Ri0xRjVGQSwgVSsxRjYxMCwgVSsxRjY1MC0xRjY3RiwgVSsxRjY4NywgVSsxRjY4RCwgVSsxRjY5MSwgVSsxRjY5NCwgVSsxRjY5OCwgVSsxRjZBRCwgVSsxRjZCMiwgVSsxRjZCOS0xRjZCQSwgVSsxRjZCQywgVSsxRjZDNi0xRjZDRiwgVSsxRjZEMy0xRjZENywgVSsxRjZFMC0xRjZFQSwgVSsxRjZGMC0xRjZGMywgVSsxRjZGNy0xRjZGQywgVSsxRjcwMC0xRjdGRiwgVSsxRjgwMC0xRjgwQiwgVSsxRjgxMC0xRjg0NywgVSsxRjg1MC0xRjg1OSwgVSsxRjg2MC0xRjg4NywgVSsxRjg5MC0xRjhBRCwgVSsxRjhCMC0xRjhCQiwgVSsxRjhDMC0xRjhDMSwgVSsxRjkwMC0xRjkwQiwgVSsxRjkzQiwgVSsxRjk0NiwgVSsxRjk4NCwgVSsxRjk5NiwgVSsxRjlFOSwgVSsxRkEwMC0xRkE2RiwgVSsxRkE3MC0xRkE3QywgVSsxRkE4MC0xRkE4OSwgVSsxRkE4Ri0xRkFDNiwgVSsxRkFDRS0xRkFEQywgVSsxRkFERi0xRkFFOSwgVSsxRkFGMC0xRkFGOCwgVSsxRkIwMC0xRkJGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDIwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0NYa2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQ0hrYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDIwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0Jua2Eud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQzNrYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0Fua2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQ25rYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0JYa2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBtYXRoICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta2Vua2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDItMDMwMywgVSswMzA1LCBVKzAzMDctMDMwOCwgVSswMzEwLCBVKzAzMTIsIFUrMDMxNSwgVSswMzFBLCBVKzAzMjYtMDMyNywgVSswMzJDLCBVKzAzMkYtMDMzMCwgVSswMzMyLTAzMzMsIFUrMDMzOCwgVSswMzNBLCBVKzAzNDYsIFUrMDM0RCwgVSswMzkxLTAzQTEsIFUrMDNBMy0wM0E5LCBVKzAzQjEtMDNDOSwgVSswM0QxLCBVKzAzRDUtMDNENiwgVSswM0YwLTAzRjEsIFUrMDNGNC0wM0Y1LCBVKzIwMTYtMjAxNywgVSsyMDM0LTIwMzgsIFUrMjAzQywgVSsyMDQwLCBVKzIwNDMsIFUrMjA0NywgVSsyMDUwLCBVKzIwNTcsIFUrMjA1RiwgVSsyMDcwLTIwNzEsIFUrMjA3NC0yMDhFLCBVKzIwOTAtMjA5QywgVSsyMEQwLTIwREMsIFUrMjBFMSwgVSsyMEU1LTIwRUYsIFUrMjEwMC0yMTEyLCBVKzIxMTQtMjExNSwgVSsyMTE3LTIxMjEsIFUrMjEyMy0yMTRGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxQUUsIFUrMjFCMC0yMUU1LCBVKzIxRjEtMjFGMiwgVSsyMUY0LTIyMTEsIFUrMjIxMy0yMjE0LCBVKzIyMTYtMjJGRiwgVSsyMzA4LTIzMEIsIFUrMjMxMCwgVSsyMzE5LCBVKzIzMUMtMjMyMSwgVSsyMzM2LTIzN0EsIFUrMjM3QywgVSsyMzk1LCBVKzIzOUItMjNCNywgVSsyM0QwLCBVKzIzREMtMjNFMSwgVSsyNDc0LTI0NzUsIFUrMjVBRiwgVSsyNUIzLCBVKzI1QjcsIFUrMjVCRCwgVSsyNUMxLCBVKzI1Q0EsIFUrMjVDQywgVSsyNUZCLCBVKzI2NkQtMjY2RiwgVSsyN0MwLTI3RkYsIFUrMjkwMC0yQUZGLCBVKzJCMEUtMkIxMSwgVSsyQjMwLTJCNEMsIFUrMkJGRSwgVSszMDMwLCBVK0ZGNUIsIFUrRkY1RCwgVSsxRDQwMC0xRDdGRiwgVSsxRUUwMC0xRUVGRjsKfQovKiBzeW1ib2xzICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta2FIa2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtDWGthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0NIa2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtCbmthLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0Mza2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtBbmthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0Nua2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtCWGthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogbWF0aCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtlbmthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAyLTAzMDMsIFUrMDMwNSwgVSswMzA3LTAzMDgsIFUrMDMxMCwgVSswMzEyLCBVKzAzMTUsIFUrMDMxQSwgVSswMzI2LTAzMjcsIFUrMDMyQywgVSswMzJGLTAzMzAsIFUrMDMzMi0wMzMzLCBVKzAzMzgsIFUrMDMzQSwgVSswMzQ2LCBVKzAzNEQsIFUrMDM5MS0wM0ExLCBVKzAzQTMtMDNBOSwgVSswM0IxLTAzQzksIFUrMDNEMSwgVSswM0Q1LTAzRDYsIFUrMDNGMC0wM0YxLCBVKzAzRjQtMDNGNSwgVSsyMDE2LTIwMTcsIFUrMjAzNC0yMDM4LCBVKzIwM0MsIFUrMjA0MCwgVSsyMDQzLCBVKzIwNDcsIFUrMjA1MCwgVSsyMDU3LCBVKzIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA4RSwgVSsyMDkwLTIwOUMsIFUrMjBEMC0yMERDLCBVKzIwRTEsIFUrMjBFNS0yMEVGLCBVKzIxMDAtMjExMiwgVSsyMTE0LTIxMTUsIFUrMjExNy0yMTIxLCBVKzIxMjMtMjE0RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMUFFLCBVKzIxQjAtMjFFNSwgVSsyMUYxLTIxRjIsIFUrMjFGNC0yMjExLCBVKzIyMTMtMjIxNCwgVSsyMjE2LTIyRkYsIFUrMjMwOC0yMzBCLCBVKzIzMTAsIFUrMjMxOSwgVSsyMzFDLTIzMjEsIFUrMjMzNi0yMzdBLCBVKzIzN0MsIFUrMjM5NSwgVSsyMzlCLTIzQjcsIFUrMjNEMCwgVSsyM0RDLTIzRTEsIFUrMjQ3NC0yNDc1LCBVKzI1QUYsIFUrMjVCMywgVSsyNUI3LCBVKzI1QkQsIFUrMjVDMSwgVSsyNUNBLCBVKzI1Q0MsIFUrMjVGQiwgVSsyNjZELTI2NkYsIFUrMjdDMC0yN0ZGLCBVKzI5MDAtMkFGRiwgVSsyQjBFLTJCMTEsIFUrMkIzMC0yQjRDLCBVKzJCRkUsIFUrMzAzMCwgVStGRjVCLCBVK0ZGNUQsIFUrMUQ0MDAtMUQ3RkYsIFUrMUVFMDAtMUVFRkY7Cn0KLyogc3ltYm9scyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWthSGthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAxLTAwMEMsIFUrMDAwRS0wMDFGLCBVKzAwN0YtMDA5RiwgVSsyMERELTIwRTAsIFUrMjBFMi0yMEU0LCBVKzIxNTAtMjE4RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMTk5LCBVKzIxQUYsIFUrMjFFNi0yMUYwLCBVKzIxRjMsIFUrMjIxOC0yMjE5LCBVKzIyOTksIFUrMjJDNC0yMkM2LCBVKzIzMDAtMjQzRiwgVSsyNDQwLTI0NEEsIFUrMjQ2MC0yNEZGLCBVKzI1QTAtMjdCRiwgVSsyODAwLTI4RkYsIFUrMjkyMS0yOTIyLCBVKzI5ODEsIFUrMjlCRiwgVSsyOUVCLCBVKzJCMDAtMkJGRiwgVSs0REMwLTRERkYsIFUrRkZGOS1GRkZCLCBVKzEwMTQwLTEwMThFLCBVKzEwMTkwLTEwMTlDLCBVKzEwMUEwLCBVKzEwMUQwLTEwMUZELCBVKzEwMkUwLTEwMkZCLCBVKzEwRTYwLTEwRTdFLCBVKzFEMkMwLTFEMkQzLCBVKzFEMkUwLTFEMzdGLCBVKzFGMDAwLTFGMEZGLCBVKzFGMTAwLTFGMUFELCBVKzFGMUU2LTFGMUZGLCBVKzFGMzBELTFGMzBGLCBVKzFGMzE1LCBVKzFGMzFDLCBVKzFGMzFFLCBVKzFGMzIwLTFGMzJDLCBVKzFGMzM2LCBVKzFGMzc4LCBVKzFGMzdELCBVKzFGMzgyLCBVKzFGMzkzLTFGMzlGLCBVKzFGM0E3LTFGM0E4LCBVKzFGM0FDLTFGM0FGLCBVKzFGM0MyLCBVKzFGM0M0LTFGM0M2LCBVKzFGM0NBLTFGM0NFLCBVKzFGM0Q0LTFGM0UwLCBVKzFGM0VELCBVKzFGM0YxLTFGM0YzLCBVKzFGM0Y1LTFGM0Y3LCBVKzFGNDA4LCBVKzFGNDE1LCBVKzFGNDFGLCBVKzFGNDI2LCBVKzFGNDNGLCBVKzFGNDQxLTFGNDQyLCBVKzFGNDQ0LCBVKzFGNDQ2LTFGNDQ5LCBVKzFGNDRDLTFGNDRFLCBVKzFGNDUzLCBVKzFGNDZBLCBVKzFGNDdELCBVKzFGNEEzLCBVKzFGNEIwLCBVKzFGNEIzLCBVKzFGNEI5LCBVKzFGNEJCLCBVKzFGNEJGLCBVKzFGNEM4LTFGNENCLCBVKzFGNEQ2LCBVKzFGNERBLCBVKzFGNERGLCBVKzFGNEUzLTFGNEU2LCBVKzFGNEVBLTFGNEVELCBVKzFGNEY3LCBVKzFGNEY5LTFGNEZCLCBVKzFGNEZELTFGNEZFLCBVKzFGNTAzLCBVKzFGNTA3LTFGNTBCLCBVKzFGNTBELCBVKzFGNTEyLTFGNTEzLCBVKzFGNTNFLTFGNTRBLCBVKzFGNTRGLTFGNUZBLCBVKzFGNjEwLCBVKzFGNjUwLTFGNjdGLCBVKzFGNjg3LCBVKzFGNjhELCBVKzFGNjkxLCBVKzFGNjk0LCBVKzFGNjk4LCBVKzFGNkFELCBVKzFGNkIyLCBVKzFGNkI5LTFGNkJBLCBVKzFGNkJDLCBVKzFGNkM2LTFGNkNGLCBVKzFGNkQzLTFGNkQ3LCBVKzFGNkUwLTFGNkVBLCBVKzFGNkYwLTFGNkYzLCBVKzFGNkY3LTFGNkZDLCBVKzFGNzAwLTFGN0ZGLCBVKzFGODAwLTFGODBCLCBVKzFGODEwLTFGODQ3LCBVKzFGODUwLTFGODU5LCBVKzFGODYwLTFGODg3LCBVKzFGODkwLTFGOEFELCBVKzFGOEIwLTFGOEJCLCBVKzFGOEMwLTFGOEMxLCBVKzFGOTAwLTFGOTBCLCBVKzFGOTNCLCBVKzFGOTQ2LCBVKzFGOTg0LCBVKzFGOTk2LCBVKzFGOUU5LCBVKzFGQTAwLTFGQTZGLCBVKzFGQTcwLTFGQTdDLCBVKzFGQTgwLTFGQTg5LCBVKzFGQThGLTFGQUM2LCBVKzFGQUNFLTFGQURDLCBVKzFGQURGLTFGQUU5LCBVKzFGQUYwLTFGQUY4LCBVKzFGQjAwLTFGQkZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQ1hrYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtDSGthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQm5rYS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtDM2thV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQW5rYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtDbmthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQlhrYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIG1hdGggKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rZW5rYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMi0wMzAzLCBVKzAzMDUsIFUrMDMwNy0wMzA4LCBVKzAzMTAsIFUrMDMxMiwgVSswMzE1LCBVKzAzMUEsIFUrMDMyNi0wMzI3LCBVKzAzMkMsIFUrMDMyRi0wMzMwLCBVKzAzMzItMDMzMywgVSswMzM4LCBVKzAzM0EsIFUrMDM0NiwgVSswMzRELCBVKzAzOTEtMDNBMSwgVSswM0EzLTAzQTksIFUrMDNCMS0wM0M5LCBVKzAzRDEsIFUrMDNENS0wM0Q2LCBVKzAzRjAtMDNGMSwgVSswM0Y0LTAzRjUsIFUrMjAxNi0yMDE3LCBVKzIwMzQtMjAzOCwgVSsyMDNDLCBVKzIwNDAsIFUrMjA0MywgVSsyMDQ3LCBVKzIwNTAsIFUrMjA1NywgVSsyMDVGLCBVKzIwNzAtMjA3MSwgVSsyMDc0LTIwOEUsIFUrMjA5MC0yMDlDLCBVKzIwRDAtMjBEQywgVSsyMEUxLCBVKzIwRTUtMjBFRiwgVSsyMTAwLTIxMTIsIFUrMjExNC0yMTE1LCBVKzIxMTctMjEyMSwgVSsyMTIzLTIxNEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjFBRSwgVSsyMUIwLTIxRTUsIFUrMjFGMS0yMUYyLCBVKzIxRjQtMjIxMSwgVSsyMjEzLTIyMTQsIFUrMjIxNi0yMkZGLCBVKzIzMDgtMjMwQiwgVSsyMzEwLCBVKzIzMTksIFUrMjMxQy0yMzIxLCBVKzIzMzYtMjM3QSwgVSsyMzdDLCBVKzIzOTUsIFUrMjM5Qi0yM0I3LCBVKzIzRDAsIFUrMjNEQy0yM0UxLCBVKzI0NzQtMjQ3NSwgVSsyNUFGLCBVKzI1QjMsIFUrMjVCNywgVSsyNUJELCBVKzI1QzEsIFUrMjVDQSwgVSsyNUNDLCBVKzI1RkIsIFUrMjY2RC0yNjZGLCBVKzI3QzAtMjdGRiwgVSsyOTAwLTJBRkYsIFUrMkIwRS0yQjExLCBVKzJCMzAtMkI0QywgVSsyQkZFLCBVKzMwMzAsIFUrRkY1QiwgVStGRjVELCBVKzFENDAwLTFEN0ZGLCBVKzFFRTAwLTFFRUZGOwp9Ci8qIHN5bWJvbHMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rYUhrYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMS0wMDBDLCBVKzAwMEUtMDAxRiwgVSswMDdGLTAwOUYsIFUrMjBERC0yMEUwLCBVKzIwRTItMjBFNCwgVSsyMTUwLTIxOEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjE5OSwgVSsyMUFGLCBVKzIxRTYtMjFGMCwgVSsyMUYzLCBVKzIyMTgtMjIxOSwgVSsyMjk5LCBVKzIyQzQtMjJDNiwgVSsyMzAwLTI0M0YsIFUrMjQ0MC0yNDRBLCBVKzI0NjAtMjRGRiwgVSsyNUEwLTI3QkYsIFUrMjgwMC0yOEZGLCBVKzI5MjEtMjkyMiwgVSsyOTgxLCBVKzI5QkYsIFUrMjlFQiwgVSsyQjAwLTJCRkYsIFUrNERDMC00REZGLCBVK0ZGRjktRkZGQiwgVSsxMDE0MC0xMDE4RSwgVSsxMDE5MC0xMDE5QywgVSsxMDFBMCwgVSsxMDFEMC0xMDFGRCwgVSsxMDJFMC0xMDJGQiwgVSsxMEU2MC0xMEU3RSwgVSsxRDJDMC0xRDJEMywgVSsxRDJFMC0xRDM3RiwgVSsxRjAwMC0xRjBGRiwgVSsxRjEwMC0xRjFBRCwgVSsxRjFFNi0xRjFGRiwgVSsxRjMwRC0xRjMwRiwgVSsxRjMxNSwgVSsxRjMxQywgVSsxRjMxRSwgVSsxRjMyMC0xRjMyQywgVSsxRjMzNiwgVSsxRjM3OCwgVSsxRjM3RCwgVSsxRjM4MiwgVSsxRjM5My0xRjM5RiwgVSsxRjNBNy0xRjNBOCwgVSsxRjNBQy0xRjNBRiwgVSsxRjNDMiwgVSsxRjNDNC0xRjNDNiwgVSsxRjNDQS0xRjNDRSwgVSsxRjNENC0xRjNFMCwgVSsxRjNFRCwgVSsxRjNGMS0xRjNGMywgVSsxRjNGNS0xRjNGNywgVSsxRjQwOCwgVSsxRjQxNSwgVSsxRjQxRiwgVSsxRjQyNiwgVSsxRjQzRiwgVSsxRjQ0MS0xRjQ0MiwgVSsxRjQ0NCwgVSsxRjQ0Ni0xRjQ0OSwgVSsxRjQ0Qy0xRjQ0RSwgVSsxRjQ1MywgVSsxRjQ2QSwgVSsxRjQ3RCwgVSsxRjRBMywgVSsxRjRCMCwgVSsxRjRCMywgVSsxRjRCOSwgVSsxRjRCQiwgVSsxRjRCRiwgVSsxRjRDOC0xRjRDQiwgVSsxRjRENiwgVSsxRjREQSwgVSsxRjRERiwgVSsxRjRFMy0xRjRFNiwgVSsxRjRFQS0xRjRFRCwgVSsxRjRGNywgVSsxRjRGOS0xRjRGQiwgVSsxRjRGRC0xRjRGRSwgVSsxRjUwMywgVSsxRjUwNy0xRjUwQiwgVSsxRjUwRCwgVSsxRjUxMi0xRjUxMywgVSsxRjUzRS0xRjU0QSwgVSsxRjU0Ri0xRjVGQSwgVSsxRjYxMCwgVSsxRjY1MC0xRjY3RiwgVSsxRjY4NywgVSsxRjY4RCwgVSsxRjY5MSwgVSsxRjY5NCwgVSsxRjY5OCwgVSsxRjZBRCwgVSsxRjZCMiwgVSsxRjZCOS0xRjZCQSwgVSsxRjZCQywgVSsxRjZDNi0xRjZDRiwgVSsxRjZEMy0xRjZENywgVSsxRjZFMC0xRjZFQSwgVSsxRjZGMC0xRjZGMywgVSsxRjZGNy0xRjZGQywgVSsxRjcwMC0xRjdGRiwgVSsxRjgwMC0xRjgwQiwgVSsxRjgxMC0xRjg0NywgVSsxRjg1MC0xRjg1OSwgVSsxRjg2MC0xRjg4NywgVSsxRjg5MC0xRjhBRCwgVSsxRjhCMC0xRjhCQiwgVSsxRjhDMC0xRjhDMSwgVSsxRjkwMC0xRjkwQiwgVSsxRjkzQiwgVSsxRjk0NiwgVSsxRjk4NCwgVSsxRjk5NiwgVSsxRjlFOSwgVSsxRkEwMC0xRkE2RiwgVSsxRkE3MC0xRkE3QywgVSsxRkE4MC0xRkE4OSwgVSsxRkE4Ri0xRkFDNiwgVSsxRkFDRS0xRkFEQywgVSsxRkFERi0xRkFFOSwgVSsxRkFGMC0xRkFGOCwgVSsxRkIwMC0xRkJGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0NYa2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQ0hrYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0Jua2Eud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQzNrYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0Fua2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQ25rYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0JYa2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBtYXRoICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta2Vua2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDItMDMwMywgVSswMzA1LCBVKzAzMDctMDMwOCwgVSswMzEwLCBVKzAzMTIsIFUrMDMxNSwgVSswMzFBLCBVKzAzMjYtMDMyNywgVSswMzJDLCBVKzAzMkYtMDMzMCwgVSswMzMyLTAzMzMsIFUrMDMzOCwgVSswMzNBLCBVKzAzNDYsIFUrMDM0RCwgVSswMzkxLTAzQTEsIFUrMDNBMy0wM0E5LCBVKzAzQjEtMDNDOSwgVSswM0QxLCBVKzAzRDUtMDNENiwgVSswM0YwLTAzRjEsIFUrMDNGNC0wM0Y1LCBVKzIwMTYtMjAxNywgVSsyMDM0LTIwMzgsIFUrMjAzQywgVSsyMDQwLCBVKzIwNDMsIFUrMjA0NywgVSsyMDUwLCBVKzIwNTcsIFUrMjA1RiwgVSsyMDcwLTIwNzEsIFUrMjA3NC0yMDhFLCBVKzIwOTAtMjA5QywgVSsyMEQwLTIwREMsIFUrMjBFMSwgVSsyMEU1LTIwRUYsIFUrMjEwMC0yMTEyLCBVKzIxMTQtMjExNSwgVSsyMTE3LTIxMjEsIFUrMjEyMy0yMTRGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxQUUsIFUrMjFCMC0yMUU1LCBVKzIxRjEtMjFGMiwgVSsyMUY0LTIyMTEsIFUrMjIxMy0yMjE0LCBVKzIyMTYtMjJGRiwgVSsyMzA4LTIzMEIsIFUrMjMxMCwgVSsyMzE5LCBVKzIzMUMtMjMyMSwgVSsyMzM2LTIzN0EsIFUrMjM3QywgVSsyMzk1LCBVKzIzOUItMjNCNywgVSsyM0QwLCBVKzIzREMtMjNFMSwgVSsyNDc0LTI0NzUsIFUrMjVBRiwgVSsyNUIzLCBVKzI1QjcsIFUrMjVCRCwgVSsyNUMxLCBVKzI1Q0EsIFUrMjVDQywgVSsyNUZCLCBVKzI2NkQtMjY2RiwgVSsyN0MwLTI3RkYsIFUrMjkwMC0yQUZGLCBVKzJCMEUtMkIxMSwgVSsyQjMwLTJCNEMsIFUrMkJGRSwgVSszMDMwLCBVK0ZGNUIsIFUrRkY1RCwgVSsxRDQwMC0xRDdGRiwgVSsxRUUwMC0xRUVGRjsKfQovKiBzeW1ib2xzICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta2FIa2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtDWGthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0NIa2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtCbmthLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0Mza2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtBbmthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0Nua2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtCWGthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogbWF0aCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtlbmthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAyLTAzMDMsIFUrMDMwNSwgVSswMzA3LTAzMDgsIFUrMDMxMCwgVSswMzEyLCBVKzAzMTUsIFUrMDMxQSwgVSswMzI2LTAzMjcsIFUrMDMyQywgVSswMzJGLTAzMzAsIFUrMDMzMi0wMzMzLCBVKzAzMzgsIFUrMDMzQSwgVSswMzQ2LCBVKzAzNEQsIFUrMDM5MS0wM0ExLCBVKzAzQTMtMDNBOSwgVSswM0IxLTAzQzksIFUrMDNEMSwgVSswM0Q1LTAzRDYsIFUrMDNGMC0wM0YxLCBVKzAzRjQtMDNGNSwgVSsyMDE2LTIwMTcsIFUrMjAzNC0yMDM4LCBVKzIwM0MsIFUrMjA0MCwgVSsyMDQzLCBVKzIwNDcsIFUrMjA1MCwgVSsyMDU3LCBVKzIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA4RSwgVSsyMDkwLTIwOUMsIFUrMjBEMC0yMERDLCBVKzIwRTEsIFUrMjBFNS0yMEVGLCBVKzIxMDAtMjExMiwgVSsyMTE0LTIxMTUsIFUrMjExNy0yMTIxLCBVKzIxMjMtMjE0RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMUFFLCBVKzIxQjAtMjFFNSwgVSsyMUYxLTIxRjIsIFUrMjFGNC0yMjExLCBVKzIyMTMtMjIxNCwgVSsyMjE2LTIyRkYsIFUrMjMwOC0yMzBCLCBVKzIzMTAsIFUrMjMxOSwgVSsyMzFDLTIzMjEsIFUrMjMzNi0yMzdBLCBVKzIzN0MsIFUrMjM5NSwgVSsyMzlCLTIzQjcsIFUrMjNEMCwgVSsyM0RDLTIzRTEsIFUrMjQ3NC0yNDc1LCBVKzI1QUYsIFUrMjVCMywgVSsyNUI3LCBVKzI1QkQsIFUrMjVDMSwgVSsyNUNBLCBVKzI1Q0MsIFUrMjVGQiwgVSsyNjZELTI2NkYsIFUrMjdDMC0yN0ZGLCBVKzI5MDAtMkFGRiwgVSsyQjBFLTJCMTEsIFUrMkIzMC0yQjRDLCBVKzJCRkUsIFUrMzAzMCwgVStGRjVCLCBVK0ZGNUQsIFUrMUQ0MDAtMUQ3RkYsIFUrMUVFMDAtMUVFRkY7Cn0KLyogc3ltYm9scyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWthSGthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAxLTAwMEMsIFUrMDAwRS0wMDFGLCBVKzAwN0YtMDA5RiwgVSsyMERELTIwRTAsIFUrMjBFMi0yMEU0LCBVKzIxNTAtMjE4RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMTk5LCBVKzIxQUYsIFUrMjFFNi0yMUYwLCBVKzIxRjMsIFUrMjIxOC0yMjE5LCBVKzIyOTksIFUrMjJDNC0yMkM2LCBVKzIzMDAtMjQzRiwgVSsyNDQwLTI0NEEsIFUrMjQ2MC0yNEZGLCBVKzI1QTAtMjdCRiwgVSsyODAwLTI4RkYsIFUrMjkyMS0yOTIyLCBVKzI5ODEsIFUrMjlCRiwgVSsyOUVCLCBVKzJCMDAtMkJGRiwgVSs0REMwLTRERkYsIFUrRkZGOS1GRkZCLCBVKzEwMTQwLTEwMThFLCBVKzEwMTkwLTEwMTlDLCBVKzEwMUEwLCBVKzEwMUQwLTEwMUZELCBVKzEwMkUwLTEwMkZCLCBVKzEwRTYwLTEwRTdFLCBVKzFEMkMwLTFEMkQzLCBVKzFEMkUwLTFEMzdGLCBVKzFGMDAwLTFGMEZGLCBVKzFGMTAwLTFGMUFELCBVKzFGMUU2LTFGMUZGLCBVKzFGMzBELTFGMzBGLCBVKzFGMzE1LCBVKzFGMzFDLCBVKzFGMzFFLCBVKzFGMzIwLTFGMzJDLCBVKzFGMzM2LCBVKzFGMzc4LCBVKzFGMzdELCBVKzFGMzgyLCBVKzFGMzkzLTFGMzlGLCBVKzFGM0E3LTFGM0E4LCBVKzFGM0FDLTFGM0FGLCBVKzFGM0MyLCBVKzFGM0M0LTFGM0M2LCBVKzFGM0NBLTFGM0NFLCBVKzFGM0Q0LTFGM0UwLCBVKzFGM0VELCBVKzFGM0YxLTFGM0YzLCBVKzFGM0Y1LTFGM0Y3LCBVKzFGNDA4LCBVKzFGNDE1LCBVKzFGNDFGLCBVKzFGNDI2LCBVKzFGNDNGLCBVKzFGNDQxLTFGNDQyLCBVKzFGNDQ0LCBVKzFGNDQ2LTFGNDQ5LCBVKzFGNDRDLTFGNDRFLCBVKzFGNDUzLCBVKzFGNDZBLCBVKzFGNDdELCBVKzFGNEEzLCBVKzFGNEIwLCBVKzFGNEIzLCBVKzFGNEI5LCBVKzFGNEJCLCBVKzFGNEJGLCBVKzFGNEM4LTFGNENCLCBVKzFGNEQ2LCBVKzFGNERBLCBVKzFGNERGLCBVKzFGNEUzLTFGNEU2LCBVKzFGNEVBLTFGNEVELCBVKzFGNEY3LCBVKzFGNEY5LTFGNEZCLCBVKzFGNEZELTFGNEZFLCBVKzFGNTAzLCBVKzFGNTA3LTFGNTBCLCBVKzFGNTBELCBVKzFGNTEyLTFGNTEzLCBVKzFGNTNFLTFGNTRBLCBVKzFGNTRGLTFGNUZBLCBVKzFGNjEwLCBVKzFGNjUwLTFGNjdGLCBVKzFGNjg3LCBVKzFGNjhELCBVKzFGNjkxLCBVKzFGNjk0LCBVKzFGNjk4LCBVKzFGNkFELCBVKzFGNkIyLCBVKzFGNkI5LTFGNkJBLCBVKzFGNkJDLCBVKzFGNkM2LTFGNkNGLCBVKzFGNkQzLTFGNkQ3LCBVKzFGNkUwLTFGNkVBLCBVKzFGNkYwLTFGNkYzLCBVKzFGNkY3LTFGNkZDLCBVKzFGNzAwLTFGN0ZGLCBVKzFGODAwLTFGODBCLCBVKzFGODEwLTFGODQ3LCBVKzFGODUwLTFGODU5LCBVKzFGODYwLTFGODg3LCBVKzFGODkwLTFGOEFELCBVKzFGOEIwLTFGOEJCLCBVKzFGOEMwLTFGOEMxLCBVKzFGOTAwLTFGOTBCLCBVKzFGOTNCLCBVKzFGOTQ2LCBVKzFGOTg0LCBVKzFGOTk2LCBVKzFGOUU5LCBVKzFGQTAwLTFGQTZGLCBVKzFGQTcwLTFGQTdDLCBVKzFGQTgwLTFGQTg5LCBVKzFGQThGLTFGQUM2LCBVKzFGQUNFLTFGQURDLCBVKzFGQURGLTFGQUU5LCBVKzFGQUYwLTFGQUY4LCBVKzFGQjAwLTFGQkZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQ1hrYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtDSGthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQm5rYS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtDM2thV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQW5rYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtDbmthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQlhrYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIG1hdGggKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rZW5rYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMi0wMzAzLCBVKzAzMDUsIFUrMDMwNy0wMzA4LCBVKzAzMTAsIFUrMDMxMiwgVSswMzE1LCBVKzAzMUEsIFUrMDMyNi0wMzI3LCBVKzAzMkMsIFUrMDMyRi0wMzMwLCBVKzAzMzItMDMzMywgVSswMzM4LCBVKzAzM0EsIFUrMDM0NiwgVSswMzRELCBVKzAzOTEtMDNBMSwgVSswM0EzLTAzQTksIFUrMDNCMS0wM0M5LCBVKzAzRDEsIFUrMDNENS0wM0Q2LCBVKzAzRjAtMDNGMSwgVSswM0Y0LTAzRjUsIFUrMjAxNi0yMDE3LCBVKzIwMzQtMjAzOCwgVSsyMDNDLCBVKzIwNDAsIFUrMjA0MywgVSsyMDQ3LCBVKzIwNTAsIFUrMjA1NywgVSsyMDVGLCBVKzIwNzAtMjA3MSwgVSsyMDc0LTIwOEUsIFUrMjA5MC0yMDlDLCBVKzIwRDAtMjBEQywgVSsyMEUxLCBVKzIwRTUtMjBFRiwgVSsyMTAwLTIxMTIsIFUrMjExNC0yMTE1LCBVKzIxMTctMjEyMSwgVSsyMTIzLTIxNEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjFBRSwgVSsyMUIwLTIxRTUsIFUrMjFGMS0yMUYyLCBVKzIxRjQtMjIxMSwgVSsyMjEzLTIyMTQsIFUrMjIxNi0yMkZGLCBVKzIzMDgtMjMwQiwgVSsyMzEwLCBVKzIzMTksIFUrMjMxQy0yMzIxLCBVKzIzMzYtMjM3QSwgVSsyMzdDLCBVKzIzOTUsIFUrMjM5Qi0yM0I3LCBVKzIzRDAsIFUrMjNEQy0yM0UxLCBVKzI0NzQtMjQ3NSwgVSsyNUFGLCBVKzI1QjMsIFUrMjVCNywgVSsyNUJELCBVKzI1QzEsIFUrMjVDQSwgVSsyNUNDLCBVKzI1RkIsIFUrMjY2RC0yNjZGLCBVKzI3QzAtMjdGRiwgVSsyOTAwLTJBRkYsIFUrMkIwRS0yQjExLCBVKzJCMzAtMkI0QywgVSsyQkZFLCBVKzMwMzAsIFUrRkY1QiwgVStGRjVELCBVKzFENDAwLTFEN0ZGLCBVKzFFRTAwLTFFRUZGOwp9Ci8qIHN5bWJvbHMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rYUhrYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMS0wMDBDLCBVKzAwMEUtMDAxRiwgVSswMDdGLTAwOUYsIFUrMjBERC0yMEUwLCBVKzIwRTItMjBFNCwgVSsyMTUwLTIxOEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjE5OSwgVSsyMUFGLCBVKzIxRTYtMjFGMCwgVSsyMUYzLCBVKzIyMTgtMjIxOSwgVSsyMjk5LCBVKzIyQzQtMjJDNiwgVSsyMzAwLTI0M0YsIFUrMjQ0MC0yNDRBLCBVKzI0NjAtMjRGRiwgVSsyNUEwLTI3QkYsIFUrMjgwMC0yOEZGLCBVKzI5MjEtMjkyMiwgVSsyOTgxLCBVKzI5QkYsIFUrMjlFQiwgVSsyQjAwLTJCRkYsIFUrNERDMC00REZGLCBVK0ZGRjktRkZGQiwgVSsxMDE0MC0xMDE4RSwgVSsxMDE5MC0xMDE5QywgVSsxMDFBMCwgVSsxMDFEMC0xMDFGRCwgVSsxMDJFMC0xMDJGQiwgVSsxMEU2MC0xMEU3RSwgVSsxRDJDMC0xRDJEMywgVSsxRDJFMC0xRDM3RiwgVSsxRjAwMC0xRjBGRiwgVSsxRjEwMC0xRjFBRCwgVSsxRjFFNi0xRjFGRiwgVSsxRjMwRC0xRjMwRiwgVSsxRjMxNSwgVSsxRjMxQywgVSsxRjMxRSwgVSsxRjMyMC0xRjMyQywgVSsxRjMzNiwgVSsxRjM3OCwgVSsxRjM3RCwgVSsxRjM4MiwgVSsxRjM5My0xRjM5RiwgVSsxRjNBNy0xRjNBOCwgVSsxRjNBQy0xRjNBRiwgVSsxRjNDMiwgVSsxRjNDNC0xRjNDNiwgVSsxRjNDQS0xRjNDRSwgVSsxRjNENC0xRjNFMCwgVSsxRjNFRCwgVSsxRjNGMS0xRjNGMywgVSsxRjNGNS0xRjNGNywgVSsxRjQwOCwgVSsxRjQxNSwgVSsxRjQxRiwgVSsxRjQyNiwgVSsxRjQzRiwgVSsxRjQ0MS0xRjQ0MiwgVSsxRjQ0NCwgVSsxRjQ0Ni0xRjQ0OSwgVSsxRjQ0Qy0xRjQ0RSwgVSsxRjQ1MywgVSsxRjQ2QSwgVSsxRjQ3RCwgVSsxRjRBMywgVSsxRjRCMCwgVSsxRjRCMywgVSsxRjRCOSwgVSsxRjRCQiwgVSsxRjRCRiwgVSsxRjRDOC0xRjRDQiwgVSsxRjRENiwgVSsxRjREQSwgVSsxRjRERiwgVSsxRjRFMy0xRjRFNiwgVSsxRjRFQS0xRjRFRCwgVSsxRjRGNywgVSsxRjRGOS0xRjRGQiwgVSsxRjRGRC0xRjRGRSwgVSsxRjUwMywgVSsxRjUwNy0xRjUwQiwgVSsxRjUwRCwgVSsxRjUxMi0xRjUxMywgVSsxRjUzRS0xRjU0QSwgVSsxRjU0Ri0xRjVGQSwgVSsxRjYxMCwgVSsxRjY1MC0xRjY3RiwgVSsxRjY4NywgVSsxRjY4RCwgVSsxRjY5MSwgVSsxRjY5NCwgVSsxRjY5OCwgVSsxRjZBRCwgVSsxRjZCMiwgVSsxRjZCOS0xRjZCQSwgVSsxRjZCQywgVSsxRjZDNi0xRjZDRiwgVSsxRjZEMy0xRjZENywgVSsxRjZFMC0xRjZFQSwgVSsxRjZGMC0xRjZGMywgVSsxRjZGNy0xRjZGQywgVSsxRjcwMC0xRjdGRiwgVSsxRjgwMC0xRjgwQiwgVSsxRjgxMC0xRjg0NywgVSsxRjg1MC0xRjg1OSwgVSsxRjg2MC0xRjg4NywgVSsxRjg5MC0xRjhBRCwgVSsxRjhCMC0xRjhCQiwgVSsxRjhDMC0xRjhDMSwgVSsxRjkwMC0xRjkwQiwgVSsxRjkzQiwgVSsxRjk0NiwgVSsxRjk4NCwgVSsxRjk5NiwgVSsxRjlFOSwgVSsxRkEwMC0xRkE2RiwgVSsxRkE3MC0xRkE3QywgVSsxRkE4MC0xRkE4OSwgVSsxRkE4Ri0xRkFDNiwgVSsxRkFDRS0xRkFEQywgVSsxRkFERi0xRkFFOSwgVSsxRkFGMC0xRkFGOCwgVSsxRkIwMC0xRkJGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0NYa2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQ0hrYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0Jua2Eud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogOTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQzNrYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0Fua2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogOTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPNUNucUV1OTJGcjFNdTUzWkVDOV9WdTNyMWdJaE9zem1rQ25rYVd6VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0JYa2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBtYXRoICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta2Vua2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDItMDMwMywgVSswMzA1LCBVKzAzMDctMDMwOCwgVSswMzEwLCBVKzAzMTIsIFUrMDMxNSwgVSswMzFBLCBVKzAzMjYtMDMyNywgVSswMzJDLCBVKzAzMkYtMDMzMCwgVSswMzMyLTAzMzMsIFUrMDMzOCwgVSswMzNBLCBVKzAzNDYsIFUrMDM0RCwgVSswMzkxLTAzQTEsIFUrMDNBMy0wM0E5LCBVKzAzQjEtMDNDOSwgVSswM0QxLCBVKzAzRDUtMDNENiwgVSswM0YwLTAzRjEsIFUrMDNGNC0wM0Y1LCBVKzIwMTYtMjAxNywgVSsyMDM0LTIwMzgsIFUrMjAzQywgVSsyMDQwLCBVKzIwNDMsIFUrMjA0NywgVSsyMDUwLCBVKzIwNTcsIFUrMjA1RiwgVSsyMDcwLTIwNzEsIFUrMjA3NC0yMDhFLCBVKzIwOTAtMjA5QywgVSsyMEQwLTIwREMsIFUrMjBFMSwgVSsyMEU1LTIwRUYsIFUrMjEwMC0yMTEyLCBVKzIxMTQtMjExNSwgVSsyMTE3LTIxMjEsIFUrMjEyMy0yMTRGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxQUUsIFUrMjFCMC0yMUU1LCBVKzIxRjEtMjFGMiwgVSsyMUY0LTIyMTEsIFUrMjIxMy0yMjE0LCBVKzIyMTYtMjJGRiwgVSsyMzA4LTIzMEIsIFUrMjMxMCwgVSsyMzE5LCBVKzIzMUMtMjMyMSwgVSsyMzM2LTIzN0EsIFUrMjM3QywgVSsyMzk1LCBVKzIzOUItMjNCNywgVSsyM0QwLCBVKzIzREMtMjNFMSwgVSsyNDc0LTI0NzUsIFUrMjVBRiwgVSsyNUIzLCBVKzI1QjcsIFUrMjVCRCwgVSsyNUMxLCBVKzI1Q0EsIFUrMjVDQywgVSsyNUZCLCBVKzI2NkQtMjY2RiwgVSsyN0MwLTI3RkYsIFUrMjkwMC0yQUZGLCBVKzJCMEUtMkIxMSwgVSsyQjMwLTJCNEMsIFUrMkJGRSwgVSszMDMwLCBVK0ZGNUIsIFUrRkY1RCwgVSsxRDQwMC0xRDdGRiwgVSsxRUUwMC0xRUVGRjsKfQovKiBzeW1ib2xzICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta2FIa2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtDWGthV3pVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzVDbnFFdTkyRnIxTXU1M1pFQzlfVnUzcjFnSWhPc3pta0NIa2FXelUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk81Q25xRXU5MkZyMU11NTNaRUM5X1Z1M3IxZ0loT3N6bWtCbmthLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNHVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAxMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzaVVCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNDVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAxMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzLVVCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogbWF0aCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAxMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF3Q1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAyLTAzMDMsIFUrMDMwNSwgVSswMzA3LTAzMDgsIFUrMDMxMCwgVSswMzEyLCBVKzAzMTUsIFUrMDMxQSwgVSswMzI2LTAzMjcsIFUrMDMyQywgVSswMzJGLTAzMzAsIFUrMDMzMi0wMzMzLCBVKzAzMzgsIFUrMDMzQSwgVSswMzQ2LCBVKzAzNEQsIFUrMDM5MS0wM0ExLCBVKzAzQTMtMDNBOSwgVSswM0IxLTAzQzksIFUrMDNEMSwgVSswM0Q1LTAzRDYsIFUrMDNGMC0wM0YxLCBVKzAzRjQtMDNGNSwgVSsyMDE2LTIwMTcsIFUrMjAzNC0yMDM4LCBVKzIwM0MsIFUrMjA0MCwgVSsyMDQzLCBVKzIwNDcsIFUrMjA1MCwgVSsyMDU3LCBVKzIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA4RSwgVSsyMDkwLTIwOUMsIFUrMjBEMC0yMERDLCBVKzIwRTEsIFUrMjBFNS0yMEVGLCBVKzIxMDAtMjExMiwgVSsyMTE0LTIxMTUsIFUrMjExNy0yMTIxLCBVKzIxMjMtMjE0RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMUFFLCBVKzIxQjAtMjFFNSwgVSsyMUYxLTIxRjIsIFUrMjFGNC0yMjExLCBVKzIyMTMtMjIxNCwgVSsyMjE2LTIyRkYsIFUrMjMwOC0yMzBCLCBVKzIzMTAsIFUrMjMxOSwgVSsyMzFDLTIzMjEsIFUrMjMzNi0yMzdBLCBVKzIzN0MsIFUrMjM5NSwgVSsyMzlCLTIzQjcsIFUrMjNEMCwgVSsyM0RDLTIzRTEsIFUrMjQ3NC0yNDc1LCBVKzI1QUYsIFUrMjVCMywgVSsyNUI3LCBVKzI1QkQsIFUrMjVDMSwgVSsyNUNBLCBVKzI1Q0MsIFUrMjVGQiwgVSsyNjZELTI2NkYsIFUrMjdDMC0yN0ZGLCBVKzI5MDAtMkFGRiwgVSsyQjBFLTJCMTEsIFUrMkIzMC0yQjRDLCBVKzJCRkUsIFUrMzAzMCwgVStGRjVCLCBVK0ZGNUQsIFUrMUQ0MDAtMUQ3RkYsIFUrMUVFMDAtMUVFRkY7Cn0KLyogc3ltYm9scyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAxMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF4S1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAxLTAwMEMsIFUrMDAwRS0wMDFGLCBVKzAwN0YtMDA5RiwgVSsyMERELTIwRTAsIFUrMjBFMi0yMEU0LCBVKzIxNTAtMjE4RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMTk5LCBVKzIxQUYsIFUrMjFFNi0yMUYwLCBVKzIxRjMsIFUrMjIxOC0yMjE5LCBVKzIyOTksIFUrMjJDNC0yMkM2LCBVKzIzMDAtMjQzRiwgVSsyNDQwLTI0NEEsIFUrMjQ2MC0yNEZGLCBVKzI1QTAtMjdCRiwgVSsyODAwLTI4RkYsIFUrMjkyMS0yOTIyLCBVKzI5ODEsIFUrMjlCRiwgVSsyOUVCLCBVKzJCMDAtMkJGRiwgVSs0REMwLTRERkYsIFUrRkZGOS1GRkZCLCBVKzEwMTQwLTEwMThFLCBVKzEwMTkwLTEwMTlDLCBVKzEwMUEwLCBVKzEwMUQwLTEwMUZELCBVKzEwMkUwLTEwMkZCLCBVKzEwRTYwLTEwRTdFLCBVKzFEMkMwLTFEMkQzLCBVKzFEMkUwLTFEMzdGLCBVKzFGMDAwLTFGMEZGLCBVKzFGMTAwLTFGMUFELCBVKzFGMUU2LTFGMUZGLCBVKzFGMzBELTFGMzBGLCBVKzFGMzE1LCBVKzFGMzFDLCBVKzFGMzFFLCBVKzFGMzIwLTFGMzJDLCBVKzFGMzM2LCBVKzFGMzc4LCBVKzFGMzdELCBVKzFGMzgyLCBVKzFGMzkzLTFGMzlGLCBVKzFGM0E3LTFGM0E4LCBVKzFGM0FDLTFGM0FGLCBVKzFGM0MyLCBVKzFGM0M0LTFGM0M2LCBVKzFGM0NBLTFGM0NFLCBVKzFGM0Q0LTFGM0UwLCBVKzFGM0VELCBVKzFGM0YxLTFGM0YzLCBVKzFGM0Y1LTFGM0Y3LCBVKzFGNDA4LCBVKzFGNDE1LCBVKzFGNDFGLCBVKzFGNDI2LCBVKzFGNDNGLCBVKzFGNDQxLTFGNDQyLCBVKzFGNDQ0LCBVKzFGNDQ2LTFGNDQ5LCBVKzFGNDRDLTFGNDRFLCBVKzFGNDUzLCBVKzFGNDZBLCBVKzFGNDdELCBVKzFGNEEzLCBVKzFGNEIwLCBVKzFGNEIzLCBVKzFGNEI5LCBVKzFGNEJCLCBVKzFGNEJGLCBVKzFGNEM4LTFGNENCLCBVKzFGNEQ2LCBVKzFGNERBLCBVKzFGNERGLCBVKzFGNEUzLTFGNEU2LCBVKzFGNEVBLTFGNEVELCBVKzFGNEY3LCBVKzFGNEY5LTFGNEZCLCBVKzFGNEZELTFGNEZFLCBVKzFGNTAzLCBVKzFGNTA3LTFGNTBCLCBVKzFGNTBELCBVKzFGNTEyLTFGNTEzLCBVKzFGNTNFLTFGNTRBLCBVKzFGNTRGLTFGNUZBLCBVKzFGNjEwLCBVKzFGNjUwLTFGNjdGLCBVKzFGNjg3LCBVKzFGNjhELCBVKzFGNjkxLCBVKzFGNjk0LCBVKzFGNjk4LCBVKzFGNkFELCBVKzFGNkIyLCBVKzFGNkI5LTFGNkJBLCBVKzFGNkJDLCBVKzFGNkM2LTFGNkNGLCBVKzFGNkQzLTFGNkQ3LCBVKzFGNkUwLTFGNkVBLCBVKzFGNkYwLTFGNkYzLCBVKzFGNkY3LTFGNkZDLCBVKzFGNzAwLTFGN0ZGLCBVKzFGODAwLTFGODBCLCBVKzFGODEwLTFGODQ3LCBVKzFGODUwLTFGODU5LCBVKzFGODYwLTFGODg3LCBVKzFGODkwLTFGOEFELCBVKzFGOEIwLTFGOEJCLCBVKzFGOEMwLTFGOEMxLCBVKzFGOTAwLTFGOTBCLCBVKzFGOTNCLCBVKzFGOTQ2LCBVKzFGOTg0LCBVKzFGOTk2LCBVKzFGOUU5LCBVKzFGQTAwLTFGQTZGLCBVKzFGQTcwLTFGQTdDLCBVKzFGQTgwLTFGQTg5LCBVKzFGQThGLTFGQUM2LCBVKzFGQUNFLTFGQURDLCBVKzFGQURGLTFGQUU5LCBVKzFGQUYwLTFGQUY4LCBVKzFGQjAwLTFGQkZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM09VQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAxMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzS1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM3lVQkEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0dVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDIwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNpVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0NVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDIwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTMtVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBtYXRoICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDIwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXdDVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDItMDMwMywgVSswMzA1LCBVKzAzMDctMDMwOCwgVSswMzEwLCBVKzAzMTIsIFUrMDMxNSwgVSswMzFBLCBVKzAzMjYtMDMyNywgVSswMzJDLCBVKzAzMkYtMDMzMCwgVSswMzMyLTAzMzMsIFUrMDMzOCwgVSswMzNBLCBVKzAzNDYsIFUrMDM0RCwgVSswMzkxLTAzQTEsIFUrMDNBMy0wM0E5LCBVKzAzQjEtMDNDOSwgVSswM0QxLCBVKzAzRDUtMDNENiwgVSswM0YwLTAzRjEsIFUrMDNGNC0wM0Y1LCBVKzIwMTYtMjAxNywgVSsyMDM0LTIwMzgsIFUrMjAzQywgVSsyMDQwLCBVKzIwNDMsIFUrMjA0NywgVSsyMDUwLCBVKzIwNTcsIFUrMjA1RiwgVSsyMDcwLTIwNzEsIFUrMjA3NC0yMDhFLCBVKzIwOTAtMjA5QywgVSsyMEQwLTIwREMsIFUrMjBFMSwgVSsyMEU1LTIwRUYsIFUrMjEwMC0yMTEyLCBVKzIxMTQtMjExNSwgVSsyMTE3LTIxMjEsIFUrMjEyMy0yMTRGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxQUUsIFUrMjFCMC0yMUU1LCBVKzIxRjEtMjFGMiwgVSsyMUY0LTIyMTEsIFUrMjIxMy0yMjE0LCBVKzIyMTYtMjJGRiwgVSsyMzA4LTIzMEIsIFUrMjMxMCwgVSsyMzE5LCBVKzIzMUMtMjMyMSwgVSsyMzM2LTIzN0EsIFUrMjM3QywgVSsyMzk1LCBVKzIzOUItMjNCNywgVSsyM0QwLCBVKzIzREMtMjNFMSwgVSsyNDc0LTI0NzUsIFUrMjVBRiwgVSsyNUIzLCBVKzI1QjcsIFUrMjVCRCwgVSsyNUMxLCBVKzI1Q0EsIFUrMjVDQywgVSsyNUZCLCBVKzI2NkQtMjY2RiwgVSsyN0MwLTI3RkYsIFUrMjkwMC0yQUZGLCBVKzJCMEUtMkIxMSwgVSsyQjMwLTJCNEMsIFUrMkJGRSwgVSszMDMwLCBVK0ZGNUIsIFUrRkY1RCwgVSsxRDQwMC0xRDdGRiwgVSsxRUUwMC0xRUVGRjsKfQovKiBzeW1ib2xzICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDIwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXhLVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAyMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzT1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDIwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNLVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAyMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzeVVCQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzR1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM2lVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzQ1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hMy1VQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIG1hdGggKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hd0NVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMi0wMzAzLCBVKzAzMDUsIFUrMDMwNy0wMzA4LCBVKzAzMTAsIFUrMDMxMiwgVSswMzE1LCBVKzAzMUEsIFUrMDMyNi0wMzI3LCBVKzAzMkMsIFUrMDMyRi0wMzMwLCBVKzAzMzItMDMzMywgVSswMzM4LCBVKzAzM0EsIFUrMDM0NiwgVSswMzRELCBVKzAzOTEtMDNBMSwgVSswM0EzLTAzQTksIFUrMDNCMS0wM0M5LCBVKzAzRDEsIFUrMDNENS0wM0Q2LCBVKzAzRjAtMDNGMSwgVSswM0Y0LTAzRjUsIFUrMjAxNi0yMDE3LCBVKzIwMzQtMjAzOCwgVSsyMDNDLCBVKzIwNDAsIFUrMjA0MywgVSsyMDQ3LCBVKzIwNTAsIFUrMjA1NywgVSsyMDVGLCBVKzIwNzAtMjA3MSwgVSsyMDc0LTIwOEUsIFUrMjA5MC0yMDlDLCBVKzIwRDAtMjBEQywgVSsyMEUxLCBVKzIwRTUtMjBFRiwgVSsyMTAwLTIxMTIsIFUrMjExNC0yMTE1LCBVKzIxMTctMjEyMSwgVSsyMTIzLTIxNEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjFBRSwgVSsyMUIwLTIxRTUsIFUrMjFGMS0yMUYyLCBVKzIxRjQtMjIxMSwgVSsyMjEzLTIyMTQsIFUrMjIxNi0yMkZGLCBVKzIzMDgtMjMwQiwgVSsyMzEwLCBVKzIzMTksIFUrMjMxQy0yMzIxLCBVKzIzMzYtMjM3QSwgVSsyMzdDLCBVKzIzOTUsIFUrMjM5Qi0yM0I3LCBVKzIzRDAsIFUrMjNEQy0yM0UxLCBVKzI0NzQtMjQ3NSwgVSsyNUFGLCBVKzI1QjMsIFUrMjVCNywgVSsyNUJELCBVKzI1QzEsIFUrMjVDQSwgVSsyNUNDLCBVKzI1RkIsIFUrMjY2RC0yNjZGLCBVKzI3QzAtMjdGRiwgVSsyOTAwLTJBRkYsIFUrMkIwRS0yQjExLCBVKzJCMzAtMkI0QywgVSsyQkZFLCBVKzMwMzAsIFUrRkY1QiwgVStGRjVELCBVKzFENDAwLTFEN0ZGLCBVKzFFRTAwLTFFRUZGOwp9Ci8qIHN5bWJvbHMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1heEtVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMS0wMDBDLCBVKzAwMEUtMDAxRiwgVSswMDdGLTAwOUYsIFUrMjBERC0yMEUwLCBVKzIwRTItMjBFNCwgVSsyMTUwLTIxOEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjE5OSwgVSsyMUFGLCBVKzIxRTYtMjFGMCwgVSsyMUYzLCBVKzIyMTgtMjIxOSwgVSsyMjk5LCBVKzIyQzQtMjJDNiwgVSsyMzAwLTI0M0YsIFUrMjQ0MC0yNDRBLCBVKzI0NjAtMjRGRiwgVSsyNUEwLTI3QkYsIFUrMjgwMC0yOEZGLCBVKzI5MjEtMjkyMiwgVSsyOTgxLCBVKzI5QkYsIFUrMjlFQiwgVSsyQjAwLTJCRkYsIFUrNERDMC00REZGLCBVK0ZGRjktRkZGQiwgVSsxMDE0MC0xMDE4RSwgVSsxMDE5MC0xMDE5QywgVSsxMDFBMCwgVSsxMDFEMC0xMDFGRCwgVSsxMDJFMC0xMDJGQiwgVSsxMEU2MC0xMEU3RSwgVSsxRDJDMC0xRDJEMywgVSsxRDJFMC0xRDM3RiwgVSsxRjAwMC0xRjBGRiwgVSsxRjEwMC0xRjFBRCwgVSsxRjFFNi0xRjFGRiwgVSsxRjMwRC0xRjMwRiwgVSsxRjMxNSwgVSsxRjMxQywgVSsxRjMxRSwgVSsxRjMyMC0xRjMyQywgVSsxRjMzNiwgVSsxRjM3OCwgVSsxRjM3RCwgVSsxRjM4MiwgVSsxRjM5My0xRjM5RiwgVSsxRjNBNy0xRjNBOCwgVSsxRjNBQy0xRjNBRiwgVSsxRjNDMiwgVSsxRjNDNC0xRjNDNiwgVSsxRjNDQS0xRjNDRSwgVSsxRjNENC0xRjNFMCwgVSsxRjNFRCwgVSsxRjNGMS0xRjNGMywgVSsxRjNGNS0xRjNGNywgVSsxRjQwOCwgVSsxRjQxNSwgVSsxRjQxRiwgVSsxRjQyNiwgVSsxRjQzRiwgVSsxRjQ0MS0xRjQ0MiwgVSsxRjQ0NCwgVSsxRjQ0Ni0xRjQ0OSwgVSsxRjQ0Qy0xRjQ0RSwgVSsxRjQ1MywgVSsxRjQ2QSwgVSsxRjQ3RCwgVSsxRjRBMywgVSsxRjRCMCwgVSsxRjRCMywgVSsxRjRCOSwgVSsxRjRCQiwgVSsxRjRCRiwgVSsxRjRDOC0xRjRDQiwgVSsxRjRENiwgVSsxRjREQSwgVSsxRjRERiwgVSsxRjRFMy0xRjRFNiwgVSsxRjRFQS0xRjRFRCwgVSsxRjRGNywgVSsxRjRGOS0xRjRGQiwgVSsxRjRGRC0xRjRGRSwgVSsxRjUwMywgVSsxRjUwNy0xRjUwQiwgVSsxRjUwRCwgVSsxRjUxMi0xRjUxMywgVSsxRjUzRS0xRjU0QSwgVSsxRjU0Ri0xRjVGQSwgVSsxRjYxMCwgVSsxRjY1MC0xRjY3RiwgVSsxRjY4NywgVSsxRjY4RCwgVSsxRjY5MSwgVSsxRjY5NCwgVSsxRjY5OCwgVSsxRjZBRCwgVSsxRjZCMiwgVSsxRjZCOS0xRjZCQSwgVSsxRjZCQywgVSsxRjZDNi0xRjZDRiwgVSsxRjZEMy0xRjZENywgVSsxRjZFMC0xRjZFQSwgVSsxRjZGMC0xRjZGMywgVSsxRjZGNy0xRjZGQywgVSsxRjcwMC0xRjdGRiwgVSsxRjgwMC0xRjgwQiwgVSsxRjgxMC0xRjg0NywgVSsxRjg1MC0xRjg1OSwgVSsxRjg2MC0xRjg4NywgVSsxRjg5MC0xRjhBRCwgVSsxRjhCMC0xRjhCQiwgVSsxRjhDMC0xRjhDMSwgVSsxRjkwMC0xRjkwQiwgVSsxRjkzQiwgVSsxRjk0NiwgVSsxRjk4NCwgVSsxRjk5NiwgVSsxRjlFOSwgVSsxRkEwMC0xRkE2RiwgVSsxRkE3MC0xRkE3QywgVSsxRkE4MC0xRkE4OSwgVSsxRkE4Ri0xRkFDNiwgVSsxRkFDRS0xRkFEQywgVSsxRkFERi0xRkFFOSwgVSsxRkFGMC0xRkFGOCwgVSsxRkIwMC0xRkJGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNPVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0tVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTN5VUJBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNHVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzaVVCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNDVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzLVVCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogbWF0aCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF3Q1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAyLTAzMDMsIFUrMDMwNSwgVSswMzA3LTAzMDgsIFUrMDMxMCwgVSswMzEyLCBVKzAzMTUsIFUrMDMxQSwgVSswMzI2LTAzMjcsIFUrMDMyQywgVSswMzJGLTAzMzAsIFUrMDMzMi0wMzMzLCBVKzAzMzgsIFUrMDMzQSwgVSswMzQ2LCBVKzAzNEQsIFUrMDM5MS0wM0ExLCBVKzAzQTMtMDNBOSwgVSswM0IxLTAzQzksIFUrMDNEMSwgVSswM0Q1LTAzRDYsIFUrMDNGMC0wM0YxLCBVKzAzRjQtMDNGNSwgVSsyMDE2LTIwMTcsIFUrMjAzNC0yMDM4LCBVKzIwM0MsIFUrMjA0MCwgVSsyMDQzLCBVKzIwNDcsIFUrMjA1MCwgVSsyMDU3LCBVKzIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA4RSwgVSsyMDkwLTIwOUMsIFUrMjBEMC0yMERDLCBVKzIwRTEsIFUrMjBFNS0yMEVGLCBVKzIxMDAtMjExMiwgVSsyMTE0LTIxMTUsIFUrMjExNy0yMTIxLCBVKzIxMjMtMjE0RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMUFFLCBVKzIxQjAtMjFFNSwgVSsyMUYxLTIxRjIsIFUrMjFGNC0yMjExLCBVKzIyMTMtMjIxNCwgVSsyMjE2LTIyRkYsIFUrMjMwOC0yMzBCLCBVKzIzMTAsIFUrMjMxOSwgVSsyMzFDLTIzMjEsIFUrMjMzNi0yMzdBLCBVKzIzN0MsIFUrMjM5NSwgVSsyMzlCLTIzQjcsIFUrMjNEMCwgVSsyM0RDLTIzRTEsIFUrMjQ3NC0yNDc1LCBVKzI1QUYsIFUrMjVCMywgVSsyNUI3LCBVKzI1QkQsIFUrMjVDMSwgVSsyNUNBLCBVKzI1Q0MsIFUrMjVGQiwgVSsyNjZELTI2NkYsIFUrMjdDMC0yN0ZGLCBVKzI5MDAtMkFGRiwgVSsyQjBFLTJCMTEsIFUrMkIzMC0yQjRDLCBVKzJCRkUsIFUrMzAzMCwgVStGRjVCLCBVK0ZGNUQsIFUrMUQ0MDAtMUQ3RkYsIFUrMUVFMDAtMUVFRkY7Cn0KLyogc3ltYm9scyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF4S1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAxLTAwMEMsIFUrMDAwRS0wMDFGLCBVKzAwN0YtMDA5RiwgVSsyMERELTIwRTAsIFUrMjBFMi0yMEU0LCBVKzIxNTAtMjE4RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMTk5LCBVKzIxQUYsIFUrMjFFNi0yMUYwLCBVKzIxRjMsIFUrMjIxOC0yMjE5LCBVKzIyOTksIFUrMjJDNC0yMkM2LCBVKzIzMDAtMjQzRiwgVSsyNDQwLTI0NEEsIFUrMjQ2MC0yNEZGLCBVKzI1QTAtMjdCRiwgVSsyODAwLTI4RkYsIFUrMjkyMS0yOTIyLCBVKzI5ODEsIFUrMjlCRiwgVSsyOUVCLCBVKzJCMDAtMkJGRiwgVSs0REMwLTRERkYsIFUrRkZGOS1GRkZCLCBVKzEwMTQwLTEwMThFLCBVKzEwMTkwLTEwMTlDLCBVKzEwMUEwLCBVKzEwMUQwLTEwMUZELCBVKzEwMkUwLTEwMkZCLCBVKzEwRTYwLTEwRTdFLCBVKzFEMkMwLTFEMkQzLCBVKzFEMkUwLTFEMzdGLCBVKzFGMDAwLTFGMEZGLCBVKzFGMTAwLTFGMUFELCBVKzFGMUU2LTFGMUZGLCBVKzFGMzBELTFGMzBGLCBVKzFGMzE1LCBVKzFGMzFDLCBVKzFGMzFFLCBVKzFGMzIwLTFGMzJDLCBVKzFGMzM2LCBVKzFGMzc4LCBVKzFGMzdELCBVKzFGMzgyLCBVKzFGMzkzLTFGMzlGLCBVKzFGM0E3LTFGM0E4LCBVKzFGM0FDLTFGM0FGLCBVKzFGM0MyLCBVKzFGM0M0LTFGM0M2LCBVKzFGM0NBLTFGM0NFLCBVKzFGM0Q0LTFGM0UwLCBVKzFGM0VELCBVKzFGM0YxLTFGM0YzLCBVKzFGM0Y1LTFGM0Y3LCBVKzFGNDA4LCBVKzFGNDE1LCBVKzFGNDFGLCBVKzFGNDI2LCBVKzFGNDNGLCBVKzFGNDQxLTFGNDQyLCBVKzFGNDQ0LCBVKzFGNDQ2LTFGNDQ5LCBVKzFGNDRDLTFGNDRFLCBVKzFGNDUzLCBVKzFGNDZBLCBVKzFGNDdELCBVKzFGNEEzLCBVKzFGNEIwLCBVKzFGNEIzLCBVKzFGNEI5LCBVKzFGNEJCLCBVKzFGNEJGLCBVKzFGNEM4LTFGNENCLCBVKzFGNEQ2LCBVKzFGNERBLCBVKzFGNERGLCBVKzFGNEUzLTFGNEU2LCBVKzFGNEVBLTFGNEVELCBVKzFGNEY3LCBVKzFGNEY5LTFGNEZCLCBVKzFGNEZELTFGNEZFLCBVKzFGNTAzLCBVKzFGNTA3LTFGNTBCLCBVKzFGNTBELCBVKzFGNTEyLTFGNTEzLCBVKzFGNTNFLTFGNTRBLCBVKzFGNTRGLTFGNUZBLCBVKzFGNjEwLCBVKzFGNjUwLTFGNjdGLCBVKzFGNjg3LCBVKzFGNjhELCBVKzFGNjkxLCBVKzFGNjk0LCBVKzFGNjk4LCBVKzFGNkFELCBVKzFGNkIyLCBVKzFGNkI5LTFGNkJBLCBVKzFGNkJDLCBVKzFGNkM2LTFGNkNGLCBVKzFGNkQzLTFGNkQ3LCBVKzFGNkUwLTFGNkVBLCBVKzFGNkYwLTFGNkYzLCBVKzFGNkY3LTFGNkZDLCBVKzFGNzAwLTFGN0ZGLCBVKzFGODAwLTFGODBCLCBVKzFGODEwLTFGODQ3LCBVKzFGODUwLTFGODU5LCBVKzFGODYwLTFGODg3LCBVKzFGODkwLTFGOEFELCBVKzFGOEIwLTFGOEJCLCBVKzFGOEMwLTFGOEMxLCBVKzFGOTAwLTFGOTBCLCBVKzFGOTNCLCBVKzFGOTQ2LCBVKzFGOTg0LCBVKzFGOTk2LCBVKzFGOUU5LCBVKzFGQTAwLTFGQTZGLCBVKzFGQTcwLTFGQTdDLCBVKzFGQTgwLTFGQTg5LCBVKzFGQThGLTFGQUM2LCBVKzFGQUNFLTFGQURDLCBVKzFGQURGLTFGQUU5LCBVKzFGQUYwLTFGQUY4LCBVKzFGQjAwLTFGQkZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM09VQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzS1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM3lVQkEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0dVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNpVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0NVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTMtVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBtYXRoICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXdDVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDItMDMwMywgVSswMzA1LCBVKzAzMDctMDMwOCwgVSswMzEwLCBVKzAzMTIsIFUrMDMxNSwgVSswMzFBLCBVKzAzMjYtMDMyNywgVSswMzJDLCBVKzAzMkYtMDMzMCwgVSswMzMyLTAzMzMsIFUrMDMzOCwgVSswMzNBLCBVKzAzNDYsIFUrMDM0RCwgVSswMzkxLTAzQTEsIFUrMDNBMy0wM0E5LCBVKzAzQjEtMDNDOSwgVSswM0QxLCBVKzAzRDUtMDNENiwgVSswM0YwLTAzRjEsIFUrMDNGNC0wM0Y1LCBVKzIwMTYtMjAxNywgVSsyMDM0LTIwMzgsIFUrMjAzQywgVSsyMDQwLCBVKzIwNDMsIFUrMjA0NywgVSsyMDUwLCBVKzIwNTcsIFUrMjA1RiwgVSsyMDcwLTIwNzEsIFUrMjA3NC0yMDhFLCBVKzIwOTAtMjA5QywgVSsyMEQwLTIwREMsIFUrMjBFMSwgVSsyMEU1LTIwRUYsIFUrMjEwMC0yMTEyLCBVKzIxMTQtMjExNSwgVSsyMTE3LTIxMjEsIFUrMjEyMy0yMTRGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxQUUsIFUrMjFCMC0yMUU1LCBVKzIxRjEtMjFGMiwgVSsyMUY0LTIyMTEsIFUrMjIxMy0yMjE0LCBVKzIyMTYtMjJGRiwgVSsyMzA4LTIzMEIsIFUrMjMxMCwgVSsyMzE5LCBVKzIzMUMtMjMyMSwgVSsyMzM2LTIzN0EsIFUrMjM3QywgVSsyMzk1LCBVKzIzOUItMjNCNywgVSsyM0QwLCBVKzIzREMtMjNFMSwgVSsyNDc0LTI0NzUsIFUrMjVBRiwgVSsyNUIzLCBVKzI1QjcsIFUrMjVCRCwgVSsyNUMxLCBVKzI1Q0EsIFUrMjVDQywgVSsyNUZCLCBVKzI2NkQtMjY2RiwgVSsyN0MwLTI3RkYsIFUrMjkwMC0yQUZGLCBVKzJCMEUtMkIxMSwgVSsyQjMwLTJCNEMsIFUrMkJGRSwgVSszMDMwLCBVK0ZGNUIsIFUrRkY1RCwgVSsxRDQwMC0xRDdGRiwgVSsxRUUwMC0xRUVGRjsKfQovKiBzeW1ib2xzICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXhLVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzT1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNLVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzeVVCQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzR1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM2lVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzQ1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hMy1VQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIG1hdGggKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hd0NVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMi0wMzAzLCBVKzAzMDUsIFUrMDMwNy0wMzA4LCBVKzAzMTAsIFUrMDMxMiwgVSswMzE1LCBVKzAzMUEsIFUrMDMyNi0wMzI3LCBVKzAzMkMsIFUrMDMyRi0wMzMwLCBVKzAzMzItMDMzMywgVSswMzM4LCBVKzAzM0EsIFUrMDM0NiwgVSswMzRELCBVKzAzOTEtMDNBMSwgVSswM0EzLTAzQTksIFUrMDNCMS0wM0M5LCBVKzAzRDEsIFUrMDNENS0wM0Q2LCBVKzAzRjAtMDNGMSwgVSswM0Y0LTAzRjUsIFUrMjAxNi0yMDE3LCBVKzIwMzQtMjAzOCwgVSsyMDNDLCBVKzIwNDAsIFUrMjA0MywgVSsyMDQ3LCBVKzIwNTAsIFUrMjA1NywgVSsyMDVGLCBVKzIwNzAtMjA3MSwgVSsyMDc0LTIwOEUsIFUrMjA5MC0yMDlDLCBVKzIwRDAtMjBEQywgVSsyMEUxLCBVKzIwRTUtMjBFRiwgVSsyMTAwLTIxMTIsIFUrMjExNC0yMTE1LCBVKzIxMTctMjEyMSwgVSsyMTIzLTIxNEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjFBRSwgVSsyMUIwLTIxRTUsIFUrMjFGMS0yMUYyLCBVKzIxRjQtMjIxMSwgVSsyMjEzLTIyMTQsIFUrMjIxNi0yMkZGLCBVKzIzMDgtMjMwQiwgVSsyMzEwLCBVKzIzMTksIFUrMjMxQy0yMzIxLCBVKzIzMzYtMjM3QSwgVSsyMzdDLCBVKzIzOTUsIFUrMjM5Qi0yM0I3LCBVKzIzRDAsIFUrMjNEQy0yM0UxLCBVKzI0NzQtMjQ3NSwgVSsyNUFGLCBVKzI1QjMsIFUrMjVCNywgVSsyNUJELCBVKzI1QzEsIFUrMjVDQSwgVSsyNUNDLCBVKzI1RkIsIFUrMjY2RC0yNjZGLCBVKzI3QzAtMjdGRiwgVSsyOTAwLTJBRkYsIFUrMkIwRS0yQjExLCBVKzJCMzAtMkI0QywgVSsyQkZFLCBVKzMwMzAsIFUrRkY1QiwgVStGRjVELCBVKzFENDAwLTFEN0ZGLCBVKzFFRTAwLTFFRUZGOwp9Ci8qIHN5bWJvbHMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1heEtVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMS0wMDBDLCBVKzAwMEUtMDAxRiwgVSswMDdGLTAwOUYsIFUrMjBERC0yMEUwLCBVKzIwRTItMjBFNCwgVSsyMTUwLTIxOEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjE5OSwgVSsyMUFGLCBVKzIxRTYtMjFGMCwgVSsyMUYzLCBVKzIyMTgtMjIxOSwgVSsyMjk5LCBVKzIyQzQtMjJDNiwgVSsyMzAwLTI0M0YsIFUrMjQ0MC0yNDRBLCBVKzI0NjAtMjRGRiwgVSsyNUEwLTI3QkYsIFUrMjgwMC0yOEZGLCBVKzI5MjEtMjkyMiwgVSsyOTgxLCBVKzI5QkYsIFUrMjlFQiwgVSsyQjAwLTJCRkYsIFUrNERDMC00REZGLCBVK0ZGRjktRkZGQiwgVSsxMDE0MC0xMDE4RSwgVSsxMDE5MC0xMDE5QywgVSsxMDFBMCwgVSsxMDFEMC0xMDFGRCwgVSsxMDJFMC0xMDJGQiwgVSsxMEU2MC0xMEU3RSwgVSsxRDJDMC0xRDJEMywgVSsxRDJFMC0xRDM3RiwgVSsxRjAwMC0xRjBGRiwgVSsxRjEwMC0xRjFBRCwgVSsxRjFFNi0xRjFGRiwgVSsxRjMwRC0xRjMwRiwgVSsxRjMxNSwgVSsxRjMxQywgVSsxRjMxRSwgVSsxRjMyMC0xRjMyQywgVSsxRjMzNiwgVSsxRjM3OCwgVSsxRjM3RCwgVSsxRjM4MiwgVSsxRjM5My0xRjM5RiwgVSsxRjNBNy0xRjNBOCwgVSsxRjNBQy0xRjNBRiwgVSsxRjNDMiwgVSsxRjNDNC0xRjNDNiwgVSsxRjNDQS0xRjNDRSwgVSsxRjNENC0xRjNFMCwgVSsxRjNFRCwgVSsxRjNGMS0xRjNGMywgVSsxRjNGNS0xRjNGNywgVSsxRjQwOCwgVSsxRjQxNSwgVSsxRjQxRiwgVSsxRjQyNiwgVSsxRjQzRiwgVSsxRjQ0MS0xRjQ0MiwgVSsxRjQ0NCwgVSsxRjQ0Ni0xRjQ0OSwgVSsxRjQ0Qy0xRjQ0RSwgVSsxRjQ1MywgVSsxRjQ2QSwgVSsxRjQ3RCwgVSsxRjRBMywgVSsxRjRCMCwgVSsxRjRCMywgVSsxRjRCOSwgVSsxRjRCQiwgVSsxRjRCRiwgVSsxRjRDOC0xRjRDQiwgVSsxRjRENiwgVSsxRjREQSwgVSsxRjRERiwgVSsxRjRFMy0xRjRFNiwgVSsxRjRFQS0xRjRFRCwgVSsxRjRGNywgVSsxRjRGOS0xRjRGQiwgVSsxRjRGRC0xRjRGRSwgVSsxRjUwMywgVSsxRjUwNy0xRjUwQiwgVSsxRjUwRCwgVSsxRjUxMi0xRjUxMywgVSsxRjUzRS0xRjU0QSwgVSsxRjU0Ri0xRjVGQSwgVSsxRjYxMCwgVSsxRjY1MC0xRjY3RiwgVSsxRjY4NywgVSsxRjY4RCwgVSsxRjY5MSwgVSsxRjY5NCwgVSsxRjY5OCwgVSsxRjZBRCwgVSsxRjZCMiwgVSsxRjZCOS0xRjZCQSwgVSsxRjZCQywgVSsxRjZDNi0xRjZDRiwgVSsxRjZEMy0xRjZENywgVSsxRjZFMC0xRjZFQSwgVSsxRjZGMC0xRjZGMywgVSsxRjZGNy0xRjZGQywgVSsxRjcwMC0xRjdGRiwgVSsxRjgwMC0xRjgwQiwgVSsxRjgxMC0xRjg0NywgVSsxRjg1MC0xRjg1OSwgVSsxRjg2MC0xRjg4NywgVSsxRjg5MC0xRjhBRCwgVSsxRjhCMC0xRjhCQiwgVSsxRjhDMC0xRjhDMSwgVSsxRjkwMC0xRjkwQiwgVSsxRjkzQiwgVSsxRjk0NiwgVSsxRjk4NCwgVSsxRjk5NiwgVSsxRjlFOSwgVSsxRkEwMC0xRkE2RiwgVSsxRkE3MC0xRkE3QywgVSsxRkE4MC0xRkE4OSwgVSsxRkE4Ri0xRkFDNiwgVSsxRkFDRS0xRkFEQywgVSsxRkFERi0xRkFFOSwgVSsxRkFGMC0xRkFGOCwgVSsxRkIwMC0xRkJGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNPVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0tVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTN5VUJBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNHVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzaVVCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNDVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzLVVCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogbWF0aCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF3Q1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAyLTAzMDMsIFUrMDMwNSwgVSswMzA3LTAzMDgsIFUrMDMxMCwgVSswMzEyLCBVKzAzMTUsIFUrMDMxQSwgVSswMzI2LTAzMjcsIFUrMDMyQywgVSswMzJGLTAzMzAsIFUrMDMzMi0wMzMzLCBVKzAzMzgsIFUrMDMzQSwgVSswMzQ2LCBVKzAzNEQsIFUrMDM5MS0wM0ExLCBVKzAzQTMtMDNBOSwgVSswM0IxLTAzQzksIFUrMDNEMSwgVSswM0Q1LTAzRDYsIFUrMDNGMC0wM0YxLCBVKzAzRjQtMDNGNSwgVSsyMDE2LTIwMTcsIFUrMjAzNC0yMDM4LCBVKzIwM0MsIFUrMjA0MCwgVSsyMDQzLCBVKzIwNDcsIFUrMjA1MCwgVSsyMDU3LCBVKzIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA4RSwgVSsyMDkwLTIwOUMsIFUrMjBEMC0yMERDLCBVKzIwRTEsIFUrMjBFNS0yMEVGLCBVKzIxMDAtMjExMiwgVSsyMTE0LTIxMTUsIFUrMjExNy0yMTIxLCBVKzIxMjMtMjE0RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMUFFLCBVKzIxQjAtMjFFNSwgVSsyMUYxLTIxRjIsIFUrMjFGNC0yMjExLCBVKzIyMTMtMjIxNCwgVSsyMjE2LTIyRkYsIFUrMjMwOC0yMzBCLCBVKzIzMTAsIFUrMjMxOSwgVSsyMzFDLTIzMjEsIFUrMjMzNi0yMzdBLCBVKzIzN0MsIFUrMjM5NSwgVSsyMzlCLTIzQjcsIFUrMjNEMCwgVSsyM0RDLTIzRTEsIFUrMjQ3NC0yNDc1LCBVKzI1QUYsIFUrMjVCMywgVSsyNUI3LCBVKzI1QkQsIFUrMjVDMSwgVSsyNUNBLCBVKzI1Q0MsIFUrMjVGQiwgVSsyNjZELTI2NkYsIFUrMjdDMC0yN0ZGLCBVKzI5MDAtMkFGRiwgVSsyQjBFLTJCMTEsIFUrMkIzMC0yQjRDLCBVKzJCRkUsIFUrMzAzMCwgVStGRjVCLCBVK0ZGNUQsIFUrMUQ0MDAtMUQ3RkYsIFUrMUVFMDAtMUVFRkY7Cn0KLyogc3ltYm9scyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF4S1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAxLTAwMEMsIFUrMDAwRS0wMDFGLCBVKzAwN0YtMDA5RiwgVSsyMERELTIwRTAsIFUrMjBFMi0yMEU0LCBVKzIxNTAtMjE4RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMTk5LCBVKzIxQUYsIFUrMjFFNi0yMUYwLCBVKzIxRjMsIFUrMjIxOC0yMjE5LCBVKzIyOTksIFUrMjJDNC0yMkM2LCBVKzIzMDAtMjQzRiwgVSsyNDQwLTI0NEEsIFUrMjQ2MC0yNEZGLCBVKzI1QTAtMjdCRiwgVSsyODAwLTI4RkYsIFUrMjkyMS0yOTIyLCBVKzI5ODEsIFUrMjlCRiwgVSsyOUVCLCBVKzJCMDAtMkJGRiwgVSs0REMwLTRERkYsIFUrRkZGOS1GRkZCLCBVKzEwMTQwLTEwMThFLCBVKzEwMTkwLTEwMTlDLCBVKzEwMUEwLCBVKzEwMUQwLTEwMUZELCBVKzEwMkUwLTEwMkZCLCBVKzEwRTYwLTEwRTdFLCBVKzFEMkMwLTFEMkQzLCBVKzFEMkUwLTFEMzdGLCBVKzFGMDAwLTFGMEZGLCBVKzFGMTAwLTFGMUFELCBVKzFGMUU2LTFGMUZGLCBVKzFGMzBELTFGMzBGLCBVKzFGMzE1LCBVKzFGMzFDLCBVKzFGMzFFLCBVKzFGMzIwLTFGMzJDLCBVKzFGMzM2LCBVKzFGMzc4LCBVKzFGMzdELCBVKzFGMzgyLCBVKzFGMzkzLTFGMzlGLCBVKzFGM0E3LTFGM0E4LCBVKzFGM0FDLTFGM0FGLCBVKzFGM0MyLCBVKzFGM0M0LTFGM0M2LCBVKzFGM0NBLTFGM0NFLCBVKzFGM0Q0LTFGM0UwLCBVKzFGM0VELCBVKzFGM0YxLTFGM0YzLCBVKzFGM0Y1LTFGM0Y3LCBVKzFGNDA4LCBVKzFGNDE1LCBVKzFGNDFGLCBVKzFGNDI2LCBVKzFGNDNGLCBVKzFGNDQxLTFGNDQyLCBVKzFGNDQ0LCBVKzFGNDQ2LTFGNDQ5LCBVKzFGNDRDLTFGNDRFLCBVKzFGNDUzLCBVKzFGNDZBLCBVKzFGNDdELCBVKzFGNEEzLCBVKzFGNEIwLCBVKzFGNEIzLCBVKzFGNEI5LCBVKzFGNEJCLCBVKzFGNEJGLCBVKzFGNEM4LTFGNENCLCBVKzFGNEQ2LCBVKzFGNERBLCBVKzFGNERGLCBVKzFGNEUzLTFGNEU2LCBVKzFGNEVBLTFGNEVELCBVKzFGNEY3LCBVKzFGNEY5LTFGNEZCLCBVKzFGNEZELTFGNEZFLCBVKzFGNTAzLCBVKzFGNTA3LTFGNTBCLCBVKzFGNTBELCBVKzFGNTEyLTFGNTEzLCBVKzFGNTNFLTFGNTRBLCBVKzFGNTRGLTFGNUZBLCBVKzFGNjEwLCBVKzFGNjUwLTFGNjdGLCBVKzFGNjg3LCBVKzFGNjhELCBVKzFGNjkxLCBVKzFGNjk0LCBVKzFGNjk4LCBVKzFGNkFELCBVKzFGNkIyLCBVKzFGNkI5LTFGNkJBLCBVKzFGNkJDLCBVKzFGNkM2LTFGNkNGLCBVKzFGNkQzLTFGNkQ3LCBVKzFGNkUwLTFGNkVBLCBVKzFGNkYwLTFGNkYzLCBVKzFGNkY3LTFGNkZDLCBVKzFGNzAwLTFGN0ZGLCBVKzFGODAwLTFGODBCLCBVKzFGODEwLTFGODQ3LCBVKzFGODUwLTFGODU5LCBVKzFGODYwLTFGODg3LCBVKzFGODkwLTFGOEFELCBVKzFGOEIwLTFGOEJCLCBVKzFGOEMwLTFGOEMxLCBVKzFGOTAwLTFGOTBCLCBVKzFGOTNCLCBVKzFGOTQ2LCBVKzFGOTg0LCBVKzFGOTk2LCBVKzFGOUU5LCBVKzFGQTAwLTFGQTZGLCBVKzFGQTcwLTFGQTdDLCBVKzFGQTgwLTFGQTg5LCBVKzFGQThGLTFGQUM2LCBVKzFGQUNFLTFGQURDLCBVKzFGQURGLTFGQUU5LCBVKzFGQUYwLTFGQUY4LCBVKzFGQjAwLTFGQkZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM09VQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzS1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM3lVQkEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0dVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNpVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0NVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTMtVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBtYXRoICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXdDVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDItMDMwMywgVSswMzA1LCBVKzAzMDctMDMwOCwgVSswMzEwLCBVKzAzMTIsIFUrMDMxNSwgVSswMzFBLCBVKzAzMjYtMDMyNywgVSswMzJDLCBVKzAzMkYtMDMzMCwgVSswMzMyLTAzMzMsIFUrMDMzOCwgVSswMzNBLCBVKzAzNDYsIFUrMDM0RCwgVSswMzkxLTAzQTEsIFUrMDNBMy0wM0E5LCBVKzAzQjEtMDNDOSwgVSswM0QxLCBVKzAzRDUtMDNENiwgVSswM0YwLTAzRjEsIFUrMDNGNC0wM0Y1LCBVKzIwMTYtMjAxNywgVSsyMDM0LTIwMzgsIFUrMjAzQywgVSsyMDQwLCBVKzIwNDMsIFUrMjA0NywgVSsyMDUwLCBVKzIwNTcsIFUrMjA1RiwgVSsyMDcwLTIwNzEsIFUrMjA3NC0yMDhFLCBVKzIwOTAtMjA5QywgVSsyMEQwLTIwREMsIFUrMjBFMSwgVSsyMEU1LTIwRUYsIFUrMjEwMC0yMTEyLCBVKzIxMTQtMjExNSwgVSsyMTE3LTIxMjEsIFUrMjEyMy0yMTRGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxQUUsIFUrMjFCMC0yMUU1LCBVKzIxRjEtMjFGMiwgVSsyMUY0LTIyMTEsIFUrMjIxMy0yMjE0LCBVKzIyMTYtMjJGRiwgVSsyMzA4LTIzMEIsIFUrMjMxMCwgVSsyMzE5LCBVKzIzMUMtMjMyMSwgVSsyMzM2LTIzN0EsIFUrMjM3QywgVSsyMzk1LCBVKzIzOUItMjNCNywgVSsyM0QwLCBVKzIzREMtMjNFMSwgVSsyNDc0LTI0NzUsIFUrMjVBRiwgVSsyNUIzLCBVKzI1QjcsIFUrMjVCRCwgVSsyNUMxLCBVKzI1Q0EsIFUrMjVDQywgVSsyNUZCLCBVKzI2NkQtMjY2RiwgVSsyN0MwLTI3RkYsIFUrMjkwMC0yQUZGLCBVKzJCMEUtMkIxMSwgVSsyQjMwLTJCNEMsIFUrMkJGRSwgVSszMDMwLCBVK0ZGNUIsIFUrRkY1RCwgVSsxRDQwMC0xRDdGRiwgVSsxRUUwMC0xRUVGRjsKfQovKiBzeW1ib2xzICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXhLVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzT1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNLVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzeVVCQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzR1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogOTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM2lVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzQ1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogOTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hMy1VQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIG1hdGggKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogOTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hd0NVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMi0wMzAzLCBVKzAzMDUsIFUrMDMwNy0wMzA4LCBVKzAzMTAsIFUrMDMxMiwgVSswMzE1LCBVKzAzMUEsIFUrMDMyNi0wMzI3LCBVKzAzMkMsIFUrMDMyRi0wMzMwLCBVKzAzMzItMDMzMywgVSswMzM4LCBVKzAzM0EsIFUrMDM0NiwgVSswMzRELCBVKzAzOTEtMDNBMSwgVSswM0EzLTAzQTksIFUrMDNCMS0wM0M5LCBVKzAzRDEsIFUrMDNENS0wM0Q2LCBVKzAzRjAtMDNGMSwgVSswM0Y0LTAzRjUsIFUrMjAxNi0yMDE3LCBVKzIwMzQtMjAzOCwgVSsyMDNDLCBVKzIwNDAsIFUrMjA0MywgVSsyMDQ3LCBVKzIwNTAsIFUrMjA1NywgVSsyMDVGLCBVKzIwNzAtMjA3MSwgVSsyMDc0LTIwOEUsIFUrMjA5MC0yMDlDLCBVKzIwRDAtMjBEQywgVSsyMEUxLCBVKzIwRTUtMjBFRiwgVSsyMTAwLTIxMTIsIFUrMjExNC0yMTE1LCBVKzIxMTctMjEyMSwgVSsyMTIzLTIxNEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjFBRSwgVSsyMUIwLTIxRTUsIFUrMjFGMS0yMUYyLCBVKzIxRjQtMjIxMSwgVSsyMjEzLTIyMTQsIFUrMjIxNi0yMkZGLCBVKzIzMDgtMjMwQiwgVSsyMzEwLCBVKzIzMTksIFUrMjMxQy0yMzIxLCBVKzIzMzYtMjM3QSwgVSsyMzdDLCBVKzIzOTUsIFUrMjM5Qi0yM0I3LCBVKzIzRDAsIFUrMjNEQy0yM0UxLCBVKzI0NzQtMjQ3NSwgVSsyNUFGLCBVKzI1QjMsIFUrMjVCNywgVSsyNUJELCBVKzI1QzEsIFUrMjVDQSwgVSsyNUNDLCBVKzI1RkIsIFUrMjY2RC0yNjZGLCBVKzI3QzAtMjdGRiwgVSsyOTAwLTJBRkYsIFUrMkIwRS0yQjExLCBVKzJCMzAtMkI0QywgVSsyQkZFLCBVKzMwMzAsIFUrRkY1QiwgVStGRjVELCBVKzFENDAwLTFEN0ZGLCBVKzFFRTAwLTFFRUZGOwp9Ci8qIHN5bWJvbHMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogOTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1heEtVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMS0wMDBDLCBVKzAwMEUtMDAxRiwgVSswMDdGLTAwOUYsIFUrMjBERC0yMEUwLCBVKzIwRTItMjBFNCwgVSsyMTUwLTIxOEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjE5OSwgVSsyMUFGLCBVKzIxRTYtMjFGMCwgVSsyMUYzLCBVKzIyMTgtMjIxOSwgVSsyMjk5LCBVKzIyQzQtMjJDNiwgVSsyMzAwLTI0M0YsIFUrMjQ0MC0yNDRBLCBVKzI0NjAtMjRGRiwgVSsyNUEwLTI3QkYsIFUrMjgwMC0yOEZGLCBVKzI5MjEtMjkyMiwgVSsyOTgxLCBVKzI5QkYsIFUrMjlFQiwgVSsyQjAwLTJCRkYsIFUrNERDMC00REZGLCBVK0ZGRjktRkZGQiwgVSsxMDE0MC0xMDE4RSwgVSsxMDE5MC0xMDE5QywgVSsxMDFBMCwgVSsxMDFEMC0xMDFGRCwgVSsxMDJFMC0xMDJGQiwgVSsxMEU2MC0xMEU3RSwgVSsxRDJDMC0xRDJEMywgVSsxRDJFMC0xRDM3RiwgVSsxRjAwMC0xRjBGRiwgVSsxRjEwMC0xRjFBRCwgVSsxRjFFNi0xRjFGRiwgVSsxRjMwRC0xRjMwRiwgVSsxRjMxNSwgVSsxRjMxQywgVSsxRjMxRSwgVSsxRjMyMC0xRjMyQywgVSsxRjMzNiwgVSsxRjM3OCwgVSsxRjM3RCwgVSsxRjM4MiwgVSsxRjM5My0xRjM5RiwgVSsxRjNBNy0xRjNBOCwgVSsxRjNBQy0xRjNBRiwgVSsxRjNDMiwgVSsxRjNDNC0xRjNDNiwgVSsxRjNDQS0xRjNDRSwgVSsxRjNENC0xRjNFMCwgVSsxRjNFRCwgVSsxRjNGMS0xRjNGMywgVSsxRjNGNS0xRjNGNywgVSsxRjQwOCwgVSsxRjQxNSwgVSsxRjQxRiwgVSsxRjQyNiwgVSsxRjQzRiwgVSsxRjQ0MS0xRjQ0MiwgVSsxRjQ0NCwgVSsxRjQ0Ni0xRjQ0OSwgVSsxRjQ0Qy0xRjQ0RSwgVSsxRjQ1MywgVSsxRjQ2QSwgVSsxRjQ3RCwgVSsxRjRBMywgVSsxRjRCMCwgVSsxRjRCMywgVSsxRjRCOSwgVSsxRjRCQiwgVSsxRjRCRiwgVSsxRjRDOC0xRjRDQiwgVSsxRjRENiwgVSsxRjREQSwgVSsxRjRERiwgVSsxRjRFMy0xRjRFNiwgVSsxRjRFQS0xRjRFRCwgVSsxRjRGNywgVSsxRjRGOS0xRjRGQiwgVSsxRjRGRC0xRjRGRSwgVSsxRjUwMywgVSsxRjUwNy0xRjUwQiwgVSsxRjUwRCwgVSsxRjUxMi0xRjUxMywgVSsxRjUzRS0xRjU0QSwgVSsxRjU0Ri0xRjVGQSwgVSsxRjYxMCwgVSsxRjY1MC0xRjY3RiwgVSsxRjY4NywgVSsxRjY4RCwgVSsxRjY5MSwgVSsxRjY5NCwgVSsxRjY5OCwgVSsxRjZBRCwgVSsxRjZCMiwgVSsxRjZCOS0xRjZCQSwgVSsxRjZCQywgVSsxRjZDNi0xRjZDRiwgVSsxRjZEMy0xRjZENywgVSsxRjZFMC0xRjZFQSwgVSsxRjZGMC0xRjZGMywgVSsxRjZGNy0xRjZGQywgVSsxRjcwMC0xRjdGRiwgVSsxRjgwMC0xRjgwQiwgVSsxRjgxMC0xRjg0NywgVSsxRjg1MC0xRjg1OSwgVSsxRjg2MC0xRjg4NywgVSsxRjg5MC0xRjhBRCwgVSsxRjhCMC0xRjhCQiwgVSsxRjhDMC0xRjhDMSwgVSsxRjkwMC0xRjkwQiwgVSsxRjkzQiwgVSsxRjk0NiwgVSsxRjk4NCwgVSsxRjk5NiwgVSsxRjlFOSwgVSsxRkEwMC0xRkE2RiwgVSsxRkE3MC0xRkE3QywgVSsxRkE4MC0xRkE4OSwgVSsxRkE4Ri0xRkFDNiwgVSsxRkFDRS0xRkFEQywgVSsxRkFERi0xRkFFOSwgVSsxRkFGMC0xRkFGOCwgVSsxRkIwMC0xRkJGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNPVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogOTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0tVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTN5VUJBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZBNXFXNTRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAxMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1Zko1cVc1NEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAxMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1ZkI1cVc1NEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmTzVxVzU0QS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAxMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1ZkM1cVc1NEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAxMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1ZkQ1cVc1NEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmTjVxVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDIwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmQTVxVzU0QS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZKNXFXNTRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZCNXFXNTRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAyMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1Zk81cVc1NEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZDNXFXNTRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZENXFXNTRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAyMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1Zk41cVUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1ZkE1cVc1NEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmSjVxVzU0QS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmQjVxVzU0QS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZPNXFXNTRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmQzVxVzU0QS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmRDVxVzU0QS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZONXFVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZBNXFXNTRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1Zko1cVc1NEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1ZkI1cVc1NEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmTzVxVzU0QS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1ZkM1cVc1NEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1ZkQ1cVc1NEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmTjVxVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmQTVxVzU0QS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZKNXFXNTRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZCNXFXNTRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1Zk81cVc1NEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZDNXFXNTRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZENXFXNTRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1Zk41cVUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1ZkE1cVc1NEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmSjVxVzU0QS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmQjVxVzU0QS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZPNXFXNTRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmQzVxVzU0QS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmRDVxVzU0QS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZONXFVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZBNXFXNTRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1Zko1cVc1NEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1ZkI1cVc1NEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmTzVxVzU0QS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1ZkM1cVc1NEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1ZkQ1cVc1NEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmTjVxVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmQTVxVzU0QS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZKNXFXNTRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZCNXFXNTRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1Zk81cVc1NEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZDNXFXNTRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZENXFXNTRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1Zk41cVUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG9zbGFiL3YzNi9CbmdNVVhaWVRYUEl2SUJnSkpTYjZ1ZkE1cVc1NEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmSjVxVzU0QS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmQjVxVzU0QS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogOTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZPNXFXNTRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmQzVxVzU0QS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90b3NsYWIvdjM2L0JuZ01VWFpZVFhQSXZJQmdKSlNiNnVmRDVxVzU0QS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogOTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3Rvc2xhYi92MzYvQm5nTVVYWllUWFBJdklCZ0pKU2I2dWZONXFVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0K"}},"time_used":97,"timings":{"blocked":-1,"dns":0,"connect":16,"send":0,"wait":50,"receive":0,"ssl":30},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.0.3","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.905Z","timestamp":1785141582905,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.0.3 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:57:40 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 4265\r\nKeep-Alive: timeout=5, max=98\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":13452,"size_decoded":4630,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (13452), with no line terminators","md5":"2912c657d0592cc532dff73d0d2ce7bb","sha1":"70a679e2769825236f83bcc56965a9d0bd86c4e9","sha256":"ddcce687729cb358abf9d0d8e1217a097859be2b0d18c23d7c851b38c87bc9c0","sha512":"9646384e65d09bf00cb20365f43e06dd41e7428e3fc6cc2737f4e69b50f006ebb25bd24a566fcd9faec2f0dcb24404e25d57ba7b8c6aba61797a29c515ad5144","ssdeep":"384:IsIRHeFJ1yQ7QdfnJgeYh7MXlsNqrBp1pgQpwOjNtqohIQ/5Z:IsIR+L1yQ7QdpYh7M1iqrBp1pgQpwOjn","tlshash":"0a52d7a1472955321eb506e391e513c1769075aef44b8aa1a898dc2e18bdcc328f3ff7","first_seen":"2024-11-04T17:50:00.022634Z","last_seen":"2026-07-27T15:02:18.28342Z","times_seen":228366,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO2NvbnN0IGU9d2luZG93LndwLmkxOG4sdD1lPT5NYXRoLmFicyhwYXJzZUludChlLDEwKSksYT0oZSx0LGEpPT57Y29uc3Qgbj1uZXcgQ3VzdG9tRXZlbnQoYHdwY2Y3JHt0fWAse2J1YmJsZXM6ITAsZGV0YWlsOmF9KTsic3RyaW5nIj09dHlwZW9mIGUmJihlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZSkpLGUuZGlzcGF0Y2hFdmVudChuKX0sbj0oZSx0KT0+e2NvbnN0IG49bmV3IE1hcChbWyJpbml0IiwiaW5pdCJdLFsidmFsaWRhdGlvbl9mYWlsZWQiLCJpbnZhbGlkIl0sWyJhY2NlcHRhbmNlX21pc3NpbmciLCJ1bmFjY2VwdGVkIl0sWyJzcGFtIiwic3BhbSJdLFsiYWJvcnRlZCIsImFib3J0ZWQiXSxbIm1haWxfc2VudCIsInNlbnQiXSxbIm1haWxfZmFpbGVkIiwiZmFpbGVkIl0sWyJzdWJtaXR0aW5nIiwic3VibWl0dGluZyJdLFsicmVzZXR0aW5nIiwicmVzZXR0aW5nIl0sWyJ2YWxpZGF0aW5nIiwidmFsaWRhdGluZyJdLFsicGF5bWVudF9yZXF1aXJlZCIsInBheW1lbnQtcmVxdWlyZWQiXV0pO24uaGFzKHQpJiYodD1uLmdldCh0KSksQXJyYXkuZnJvbShuLnZhbHVlcygpKS5pbmNsdWRlcyh0KXx8KHQ9YGN1c3RvbS0ke3Q9KHQ9dC5yZXBsYWNlKC9bXjAtOWEtel0rL2ksIiAiKS50cmltKCkpLnJlcGxhY2UoL1xzKy8sIi0iKX1gKTtjb25zdCByPWUuZ2V0QXR0cmlidXRlKCJkYXRhLXN0YXR1cyIpO2lmKGUud3BjZjcuc3RhdHVzPXQsZS5zZXRBdHRyaWJ1dGUoImRhdGEtc3RhdHVzIix0KSxlLmNsYXNzTGlzdC5hZGQodCksciYmciE9PXQpe2UuY2xhc3NMaXN0LnJlbW92ZShyKTtjb25zdCB0PXtjb250YWN0Rm9ybUlkOmUud3BjZjcuaWQscGx1Z2luVmVyc2lvbjplLndwY2Y3LnBsdWdpblZlcnNpb24sY29udGFjdEZvcm1Mb2NhbGU6ZS53cGNmNy5sb2NhbGUsdW5pdFRhZzplLndwY2Y3LnVuaXRUYWcsY29udGFpbmVyUG9zdElkOmUud3BjZjcuY29udGFpbmVyUG9zdCxzdGF0dXM6ZS53cGNmNy5zdGF0dXMscHJldlN0YXR1czpyfTthKGUsInN0YXR1c2NoYW5nZWQiLHQpfXJldHVybiB0fSxyPWU9Pntjb25zdHtyb290OnQsbmFtZXNwYWNlOmE9ImNvbnRhY3QtZm9ybS03L3YxIn09d3BjZjcuYXBpO3JldHVybiBjLnJlZHVjZVJpZ2h0KCgoZSx0KT0+YT0+dChhLGUpKSwoZT0+e2xldCBuLHIse3VybDpjLHBhdGg6byxlbmRwb2ludDpzLGhlYWRlcnM6aSxib2R5OmwsZGF0YTpwLC4uLmR9PWU7InN0cmluZyI9PXR5cGVvZiBzJiYobj1hLnJlcGxhY2UoL15cL3xcLyQvZywiIikscj1zLnJlcGxhY2UoL15cLy8sIiIpLG89cj9uKyIvIityOm4pLCJzdHJpbmciPT10eXBlb2YgbyYmKC0xIT09dC5pbmRleE9mKCI/IikmJihvPW8ucmVwbGFjZSgiPyIsIiYiKSksbz1vLnJlcGxhY2UoL15cLy8sIiIpLGM9dCtvKSxpPXtBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24sICovKjtxPTAuMSIsLi4uaX0sZGVsZXRlIGlbIlgtV1AtTm9uY2UiXSxwJiYobD1KU09OLnN0cmluZ2lmeShwKSxpWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vanNvbiIpO2NvbnN0IGY9e2NvZGU6ImZldGNoX2Vycm9yIixtZXNzYWdlOiJZb3UgYXJlIHByb2JhYmx5IG9mZmxpbmUuIn0sdT17Y29kZToiaW52YWxpZF9qc29uIixtZXNzYWdlOiJUaGUgcmVzcG9uc2UgaXMgbm90IGEgdmFsaWQgSlNPTiByZXNwb25zZS4ifTtyZXR1cm4gd2luZG93LmZldGNoKGN8fG98fHdpbmRvdy5sb2NhdGlvbi5ocmVmLHsuLi5kLGhlYWRlcnM6aSxib2R5Omx9KS50aGVuKChlPT5Qcm9taXNlLnJlc29sdmUoZSkudGhlbigoZT0+e2lmKGUuc3RhdHVzPj0yMDAmJmUuc3RhdHVzPDMwMClyZXR1cm4gZTt0aHJvdyBlfSkpLnRoZW4oKGU9PntpZigyMDQ9PT1lLnN0YXR1cylyZXR1cm4gbnVsbDtpZihlJiZlLmpzb24pcmV0dXJuIGUuanNvbigpLmNhdGNoKCgoKT0+e3Rocm93IHV9KSk7dGhyb3cgdX0pKSksKCgpPT57dGhyb3cgZn0pKX0pKShlKX0sYz1bXTtmdW5jdGlvbiBvKGUsdD17fSl7Y29uc3R7dGFyZ2V0OmEsc2NvcGU6cj1lLC4uLmN9PXQ7aWYodm9pZCAwPT09ZS53cGNmNz8uc2NoZW1hKXJldHVybjtjb25zdCBvPXsuLi5lLndwY2Y3LnNjaGVtYX07aWYodm9pZCAwIT09YSl7aWYoIWUuY29udGFpbnMoYSkpcmV0dXJuO2lmKCFhLmNsb3Nlc3QoIi53cGNmNy1mb3JtLWNvbnRyb2wtd3JhcFtkYXRhLW5hbWVdIikpcmV0dXJuO2lmKGEuY2xvc2VzdCgiLm5vdmFsaWRhdGUiKSlyZXR1cm59Y29uc3QgcD1yLnF1ZXJ5U2VsZWN0b3JBbGwoIi53cGNmNy1mb3JtLWNvbnRyb2wtd3JhcCIpLGQ9QXJyYXkuZnJvbShwKS5yZWR1Y2UoKChlLHQpPT4odC5jbG9zZXN0KCIubm92YWxpZGF0ZSIpfHx0LnF1ZXJ5U2VsZWN0b3JBbGwoIjp3aGVyZSggaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QgKTplbmFibGVkIikuZm9yRWFjaCgodD0+e2lmKHQubmFtZSlzd2l0Y2godC50eXBlKXtjYXNlImJ1dHRvbiI6Y2FzZSJpbWFnZSI6Y2FzZSJyZXNldCI6Y2FzZSJzdWJtaXQiOmJyZWFrO2Nhc2UiY2hlY2tib3giOmNhc2UicmFkaW8iOnQuY2hlY2tlZCYmZS5hcHBlbmQodC5uYW1lLHQudmFsdWUpO2JyZWFrO2Nhc2Uic2VsZWN0LW11bHRpcGxlIjpmb3IoY29uc3QgYSBvZiB0LnNlbGVjdGVkT3B0aW9ucyllLmFwcGVuZCh0Lm5hbWUsYS52YWx1ZSk7YnJlYWs7Y2FzZSJmaWxlIjpmb3IoY29uc3QgYSBvZiB0LmZpbGVzKWUuYXBwZW5kKHQubmFtZSxhKTticmVhaztkZWZhdWx0OmUuYXBwZW5kKHQubmFtZSx0LnZhbHVlKX19KSksZSkpLG5ldyBGb3JtRGF0YSksZj1lLmdldEF0dHJpYnV0ZSgiZGF0YS1zdGF0dXMiKTtQcm9taXNlLnJlc29sdmUobihlLCJ2YWxpZGF0aW5nIikpLnRoZW4oKG49PntpZih2b2lkIDAhPT1zd3Ype2NvbnN0IG49c3d2LnZhbGlkYXRlKG8sZCx0KTtmb3IoY29uc3QgdCBvZiBwKXtpZih2b2lkIDA9PT10LmRhdGFzZXQubmFtZSljb250aW51ZTtjb25zdCBjPXQuZGF0YXNldC5uYW1lO2lmKG4uaGFzKGMpKXtjb25zdHtlcnJvcjp0LHZhbGlkSW5wdXRzOmF9PW4uZ2V0KGMpO2koZSxjKSx2b2lkIDAhPT10JiZzKGUsYyx0LHtzY29wZTpyfSksbChlLGMsbnVsbCE9YT9hOltdKX1pZih0LmNvbnRhaW5zKGEpKWJyZWFrfX19KSkuZmluYWxseSgoKCk9PntuKGUsZil9KSl9ci51c2U9ZT0+e2MudW5zaGlmdChlKX07Y29uc3Qgcz0oZSx0LGEsbik9Pntjb25zdHtzY29wZTpyPWUsLi4uY309bnVsbCE9bj9uOnt9LG89YCR7ZS53cGNmNz8udW5pdFRhZ30tdmUtJHt0fWAucmVwbGFjZUFsbCgvW14wLTlhLXpfLV0rL2dpLCIiKSxzPWUucXVlcnlTZWxlY3RvcihgLndwY2Y3LWZvcm0tY29udHJvbC13cmFwW2RhdGEtbmFtZT0iJHt0fSJdIC53cGNmNy1mb3JtLWNvbnRyb2xgKTsoKCk9Pntjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7dC5zZXRBdHRyaWJ1dGUoImlkIixvKSxzJiZzLmlkP3QuaW5zZXJ0QWRqYWNlbnRIVE1MKCJiZWZvcmVlbmQiLGA8YSBocmVmPSIjJHtzLmlkfSI+JHthfTwvYT5gKTp0Lmluc2VydEFkamFjZW50VGV4dCgiYmVmb3JlZW5kIixhKSxlLndwY2Y3LnBhcmVudC5xdWVyeVNlbGVjdG9yKCIuc2NyZWVuLXJlYWRlci1yZXNwb25zZSB1bCIpLmFwcGVuZENoaWxkKHQpfSkoKSxyLnF1ZXJ5U2VsZWN0b3JBbGwoYC53cGNmNy1mb3JtLWNvbnRyb2wtd3JhcFtkYXRhLW5hbWU9IiR7dH0iXWApLmZvckVhY2goKGU9Pntjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTt0LmNsYXNzTGlzdC5hZGQoIndwY2Y3LW5vdC12YWxpZC10aXAiKSx0LnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIiksdC5pbnNlcnRBZGphY2VudFRleHQoImJlZm9yZWVuZCIsYSksZS5hcHBlbmRDaGlsZCh0KSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIlthcmlhLWludmFsaWRdIikuZm9yRWFjaCgoZT0+e2Uuc2V0QXR0cmlidXRlKCJhcmlhLWludmFsaWQiLCJ0cnVlIil9KSksZS5xdWVyeVNlbGVjdG9yQWxsKCIud3BjZjctZm9ybS1jb250cm9sIikuZm9yRWFjaCgoZT0+e2UuY2xhc3NMaXN0LmFkZCgid3BjZjctbm90LXZhbGlkIiksZS5zZXRBdHRyaWJ1dGUoImFyaWEtZGVzY3JpYmVkYnkiLG8pLCJmdW5jdGlvbiI9PXR5cGVvZiBlLnNldEN1c3RvbVZhbGlkaXR5JiZlLnNldEN1c3RvbVZhbGlkaXR5KGEpLGUuY2xvc2VzdCgiLnVzZS1mbG9hdGluZy12YWxpZGF0aW9uLXRpcCIpJiYoZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKGU9Pnt0LnNldEF0dHJpYnV0ZSgic3R5bGUiLCJkaXNwbGF5OiBub25lIil9KSksdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGU9Pnt0LnNldEF0dHJpYnV0ZSgic3R5bGUiLCJkaXNwbGF5OiBub25lIil9KSkpfSkpfSkpfSxpPShlLHQpPT57Y29uc3QgYT1gJHtlLndwY2Y3Py51bml0VGFnfS12ZS0ke3R9YC5yZXBsYWNlQWxsKC9bXjAtOWEtel8tXSsvZ2ksIiIpO2Uud3BjZjcucGFyZW50LnF1ZXJ5U2VsZWN0b3IoYC5zY3JlZW4tcmVhZGVyLXJlc3BvbnNlIHVsIGxpIyR7YX1gKT8ucmVtb3ZlKCksZS5xdWVyeVNlbGVjdG9yQWxsKGAud3BjZjctZm9ybS1jb250cm9sLXdyYXBbZGF0YS1uYW1lPSIke3R9Il1gKS5mb3JFYWNoKChlPT57ZS5xdWVyeVNlbGVjdG9yKCIud3BjZjctbm90LXZhbGlkLXRpcCIpPy5yZW1vdmUoKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIlthcmlhLWludmFsaWRdIikuZm9yRWFjaCgoZT0+e2Uuc2V0QXR0cmlidXRlKCJhcmlhLWludmFsaWQiLCJmYWxzZSIpfSkpLGUucXVlcnlTZWxlY3RvckFsbCgiLndwY2Y3LWZvcm0tY29udHJvbCIpLmZvckVhY2goKGU9PntlLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1kZXNjcmliZWRieSIpLGUuY2xhc3NMaXN0LnJlbW92ZSgid3BjZjctbm90LXZhbGlkIiksImZ1bmN0aW9uIj09dHlwZW9mIGUuc2V0Q3VzdG9tVmFsaWRpdHkmJmUuc2V0Q3VzdG9tVmFsaWRpdHkoIiIpfSkpfSkpfSxsPShlLHQsYSk9PntlLnF1ZXJ5U2VsZWN0b3JBbGwoYFtkYXRhLXJlZmxlY3Rpb24tb2Y9IiR7dH0iXWApLmZvckVhY2goKGU9PntpZigib3V0cHV0Ij09PWUudGFnTmFtZS50b0xvd2VyQ2FzZSgpKXtjb25zdCB0PWU7MD09PWEubGVuZ3RoJiZhLnB1c2godC5kYXRhc2V0LmRlZmF1bHQpLGEuc2xpY2UoMCwxKS5mb3JFYWNoKChlPT57ZSBpbnN0YW5jZW9mIEZpbGUmJihlPWUubmFtZSksdC50ZXh0Q29udGVudD1lfSkpfWVsc2UgZS5xdWVyeVNlbGVjdG9yQWxsKCJvdXRwdXQiKS5mb3JFYWNoKChlPT57ZS5oYXNBdHRyaWJ1dGUoImRhdGEtZGVmYXVsdCIpPzA9PT1hLmxlbmd0aD9lLnJlbW92ZUF0dHJpYnV0ZSgiaGlkZGVuIik6ZS5zZXRBdHRyaWJ1dGUoImhpZGRlbiIsImhpZGRlbiIpOmUucmVtb3ZlKCl9KSksYS5mb3JFYWNoKChhPT57YSBpbnN0YW5jZW9mIEZpbGUmJihhPWEubmFtZSk7Y29uc3Qgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJvdXRwdXQiKTtuLnNldEF0dHJpYnV0ZSgibmFtZSIsdCksbi50ZXh0Q29udGVudD1hLGUuYXBwZW5kQ2hpbGQobil9KSl9KSl9O2Z1bmN0aW9uIHAoZSx0PXt9KXtpZih3cGNmNy5ibG9ja2VkKXJldHVybiBkKGUpLHZvaWQgbihlLCJzdWJtaXR0aW5nIik7Y29uc3QgYz1uZXcgRm9ybURhdGEoZSk7dC5zdWJtaXR0ZXImJnQuc3VibWl0dGVyLm5hbWUmJmMuYXBwZW5kKHQuc3VibWl0dGVyLm5hbWUsdC5zdWJtaXR0ZXIudmFsdWUpO2NvbnN0IG89e2NvbnRhY3RGb3JtSWQ6ZS53cGNmNy5pZCxwbHVnaW5WZXJzaW9uOmUud3BjZjcucGx1Z2luVmVyc2lvbixjb250YWN0Rm9ybUxvY2FsZTplLndwY2Y3LmxvY2FsZSx1bml0VGFnOmUud3BjZjcudW5pdFRhZyxjb250YWluZXJQb3N0SWQ6ZS53cGNmNy5jb250YWluZXJQb3N0LHN0YXR1czplLndwY2Y3LnN0YXR1cyxpbnB1dHM6QXJyYXkuZnJvbShjLChlPT57Y29uc3QgdD1lWzBdLGE9ZVsxXTtyZXR1cm4hdC5tYXRjaCgvXl8vKSYme25hbWU6dCx2YWx1ZTphfX0pKS5maWx0ZXIoKGU9PiExIT09ZSkpLGZvcm1EYXRhOmN9O3Ioe2VuZHBvaW50OmBjb250YWN0LWZvcm1zLyR7ZS53cGNmNy5pZH0vZmVlZGJhY2tgLG1ldGhvZDoiUE9TVCIsYm9keTpjLHdwY2Y3OntlbmRwb2ludDoiZmVlZGJhY2siLGZvcm06ZSxkZXRhaWw6b319KS50aGVuKCh0PT57Y29uc3Qgcj1uKGUsdC5zdGF0dXMpO3JldHVybiBvLnN0YXR1cz10LnN0YXR1cyxvLmFwaVJlc3BvbnNlPXQsWyJpbnZhbGlkIiwidW5hY2NlcHRlZCIsInNwYW0iLCJhYm9ydGVkIl0uaW5jbHVkZXMocik/YShlLHIsbyk6WyJzZW50IiwiZmFpbGVkIl0uaW5jbHVkZXMocikmJmEoZSxgbWFpbCR7cn1gLG8pLGEoZSwic3VibWl0IixvKSx0fSkpLnRoZW4oKHQ9Pnt0LnBvc3RlZF9kYXRhX2hhc2gmJihlLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W25hbWU9Il93cGNmN19wb3N0ZWRfZGF0YV9oYXNoIl0nKS52YWx1ZT10LnBvc3RlZF9kYXRhX2hhc2gpLCJtYWlsX3NlbnQiPT09dC5zdGF0dXMmJihlLnJlc2V0KCksZS53cGNmNy5yZXNldE9uTWFpbFNlbnQ9ITApLHQuaW52YWxpZF9maWVsZHMmJnQuaW52YWxpZF9maWVsZHMuZm9yRWFjaCgodD0+e3MoZSx0LmZpZWxkLHQubWVzc2FnZSl9KSksZS53cGNmNy5wYXJlbnQucXVlcnlTZWxlY3RvcignLnNjcmVlbi1yZWFkZXItcmVzcG9uc2UgW3JvbGU9InN0YXR1cyJdJykuaW5zZXJ0QWRqYWNlbnRUZXh0KCJiZWZvcmVlbmQiLHQubWVzc2FnZSksZS5xdWVyeVNlbGVjdG9yQWxsKCIud3BjZjctcmVzcG9uc2Utb3V0cHV0IikuZm9yRWFjaCgoZT0+e2UuaW5uZXJUZXh0PXQubWVzc2FnZX0pKX0pKS5jYXRjaCgoZT0+Y29uc29sZS5lcnJvcihlKSkpfXIudXNlKCgoZSx0KT0+e2lmKGUud3BjZjcmJiJmZWVkYmFjayI9PT1lLndwY2Y3LmVuZHBvaW50KXtjb25zdHtmb3JtOnQsZGV0YWlsOnJ9PWUud3BjZjc7ZCh0KSxhKHQsImJlZm9yZXN1Ym1pdCIsciksbih0LCJzdWJtaXR0aW5nIil9cmV0dXJuIHQoZSl9KSk7Y29uc3QgZD1lPT57ZS5xdWVyeVNlbGVjdG9yQWxsKCIud3BjZjctZm9ybS1jb250cm9sLXdyYXAiKS5mb3JFYWNoKCh0PT57dC5kYXRhc2V0Lm5hbWUmJmkoZSx0LmRhdGFzZXQubmFtZSl9KSksZS53cGNmNy5wYXJlbnQucXVlcnlTZWxlY3RvcignLnNjcmVlbi1yZWFkZXItcmVzcG9uc2UgW3JvbGU9InN0YXR1cyJdJykuaW5uZXJUZXh0PSIiLGUucXVlcnlTZWxlY3RvckFsbCgiLndwY2Y3LXJlc3BvbnNlLW91dHB1dCIpLmZvckVhY2goKGU9PntlLmlubmVyVGV4dD0iIn0pKX07ZnVuY3Rpb24gZihlKXtjb25zdCB0PW5ldyBGb3JtRGF0YShlKSxjPXtjb250YWN0Rm9ybUlkOmUud3BjZjcuaWQscGx1Z2luVmVyc2lvbjplLndwY2Y3LnBsdWdpblZlcnNpb24sY29udGFjdEZvcm1Mb2NhbGU6ZS53cGNmNy5sb2NhbGUsdW5pdFRhZzplLndwY2Y3LnVuaXRUYWcsY29udGFpbmVyUG9zdElkOmUud3BjZjcuY29udGFpbmVyUG9zdCxzdGF0dXM6ZS53cGNmNy5zdGF0dXMsaW5wdXRzOkFycmF5LmZyb20odCwoZT0+e2NvbnN0IHQ9ZVswXSxhPWVbMV07cmV0dXJuIXQubWF0Y2goL15fLykmJntuYW1lOnQsdmFsdWU6YX19KSkuZmlsdGVyKChlPT4hMSE9PWUpKSxmb3JtRGF0YTp0fTtyKHtlbmRwb2ludDpgY29udGFjdC1mb3Jtcy8ke2Uud3BjZjcuaWR9L3JlZmlsbGAsbWV0aG9kOiJHRVQiLHdwY2Y3OntlbmRwb2ludDoicmVmaWxsIixmb3JtOmUsZGV0YWlsOmN9fSkudGhlbigodD0+e2Uud3BjZjcucmVzZXRPbk1haWxTZW50PyhkZWxldGUgZS53cGNmNy5yZXNldE9uTWFpbFNlbnQsbihlLCJtYWlsX3NlbnQiKSk6bihlLCJpbml0IiksYy5hcGlSZXNwb25zZT10LGEoZSwicmVzZXQiLGMpfSkpLmNhdGNoKChlPT5jb25zb2xlLmVycm9yKGUpKSl9ci51c2UoKChlLHQpPT57aWYoZS53cGNmNyYmInJlZmlsbCI9PT1lLndwY2Y3LmVuZHBvaW50KXtjb25zdHtmb3JtOnQsZGV0YWlsOmF9PWUud3BjZjc7ZCh0KSxuKHQsInJlc2V0dGluZyIpfXJldHVybiB0KGUpfSkpO2NvbnN0IHU9KGUsdCk9Pntmb3IoY29uc3QgYSBpbiB0KXtjb25zdCBuPXRbYV07ZS5xdWVyeVNlbGVjdG9yQWxsKGBpbnB1dFtuYW1lPSIke2F9Il1gKS5mb3JFYWNoKChlPT57ZS52YWx1ZT0iIn0pKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoYGltZy53cGNmNy1jYXB0Y2hhLSR7YS5yZXBsYWNlQWxsKCI6IiwiIil9YCkuZm9yRWFjaCgoZT0+e2Uuc2V0QXR0cmlidXRlKCJzcmMiLG4pfSkpO2NvbnN0IHI9LyhbMC05XSspXC4ocG5nfGdpZnxqcGVnKSQvLmV4ZWMobik7ciYmZS5xdWVyeVNlbGVjdG9yQWxsKGBpbnB1dFtuYW1lPSJfd3BjZjdfY2FwdGNoYV9jaGFsbGVuZ2VfJHthfSJdYCkuZm9yRWFjaCgoZT0+e2UudmFsdWU9clsxXX0pKX19LG09KGUsdCk9Pntmb3IoY29uc3QgYSBpbiB0KXtjb25zdCBuPXRbYV1bMF0scj10W2FdWzFdO2UucXVlcnlTZWxlY3RvckFsbChgLndwY2Y3LWZvcm0tY29udHJvbC13cmFwW2RhdGEtbmFtZT0iJHthfSJdYCkuZm9yRWFjaCgoZT0+e2UucXVlcnlTZWxlY3RvcihgaW5wdXRbbmFtZT0iJHthfSJdYCkudmFsdWU9IiIsZS5xdWVyeVNlbGVjdG9yKCIud3BjZjctcXVpei1sYWJlbCIpLnRleHRDb250ZW50PW4sZS5xdWVyeVNlbGVjdG9yKGBpbnB1dFtuYW1lPSJfd3BjZjdfcXVpel9hbnN3ZXJfJHthfSJdYCkudmFsdWU9cn0pKX19O2Z1bmN0aW9uIHcoZSl7Y29uc3QgYT1uZXcgRm9ybURhdGEoZSk7ZS53cGNmNz17aWQ6dChhLmdldCgiX3dwY2Y3IikpLHN0YXR1czplLmdldEF0dHJpYnV0ZSgiZGF0YS1zdGF0dXMiKSxwbHVnaW5WZXJzaW9uOmEuZ2V0KCJfd3BjZjdfdmVyc2lvbiIpLGxvY2FsZTphLmdldCgiX3dwY2Y3X2xvY2FsZSIpLHVuaXRUYWc6YS5nZXQoIl93cGNmN191bml0X3RhZyIpLGNvbnRhaW5lclBvc3Q6dChhLmdldCgiX3dwY2Y3X2NvbnRhaW5lcl9wb3N0IikpLHBhcmVudDplLmNsb3Nlc3QoIi53cGNmNyIpLGdldCBzY2hlbWEoKXtyZXR1cm4gd3BjZjcuc2NoZW1hcy5nZXQodGhpcy5pZCl9fSx3cGNmNy5zY2hlbWFzLnNldChlLndwY2Y3LmlkLHZvaWQgMCksZS5xdWVyeVNlbGVjdG9yQWxsKCIuaGFzLXNwaW5uZXIiKS5mb3JFYWNoKChlPT57ZS5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyZW5kIiwnPHNwYW4gY2xhc3M9IndwY2Y3LXNwaW5uZXIiPjwvc3Bhbj4nKX0pKSwoZT0+e2UucXVlcnlTZWxlY3RvckFsbCgiLndwY2Y3LWV4Y2x1c2l2ZS1jaGVja2JveCIpLmZvckVhY2goKHQ9Pnt0LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKHQ9Pntjb25zdCBhPXQudGFyZ2V0LmdldEF0dHJpYnV0ZSgibmFtZSIpO2UucXVlcnlTZWxlY3RvckFsbChgaW5wdXRbdHlwZT0iY2hlY2tib3giXVtuYW1lPSIke2F9Il1gKS5mb3JFYWNoKChlPT57ZSE9PXQudGFyZ2V0JiYoZS5jaGVja2VkPSExKX0pKX0pKX0pKX0pKGUpLChlPT57ZS5xdWVyeVNlbGVjdG9yQWxsKCIuaGFzLWZyZWUtdGV4dCIpLmZvckVhY2goKHQ9Pntjb25zdCBhPXQucXVlcnlTZWxlY3RvcigiaW5wdXQud3BjZjctZnJlZS10ZXh0Iiksbj10LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W3R5cGU9ImNoZWNrYm94Il0sIGlucHV0W3R5cGU9InJhZGlvIl0nKTthLmRpc2FibGVkPSFuLmNoZWNrZWQsZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLChlPT57YS5kaXNhYmxlZD0hbi5jaGVja2VkLGUudGFyZ2V0PT09biYmbi5jaGVja2VkJiZhLmZvY3VzKCl9KSl9KSl9KShlKSwoZT0+e2UucXVlcnlTZWxlY3RvckFsbCgiLndwY2Y3LXZhbGlkYXRlcy1hcy11cmwiKS5mb3JFYWNoKChlPT57ZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCh0PT57bGV0IGE9ZS52YWx1ZS50cmltKCk7YSYmIWEubWF0Y2goL15bYS16XVthLXowLTkuKy1dKjovaSkmJi0xIT09YS5pbmRleE9mKCIuIikmJihhPWEucmVwbGFjZSgvXlwvKy8sIiIpLGE9Imh0dHA6Ly8iK2EpLGUudmFsdWU9YX0pKX0pKX0pKGUpLChlPT57aWYoIWUucXVlcnlTZWxlY3RvcigiLndwY2Y3LWFjY2VwdGFuY2UiKXx8ZS5jbGFzc0xpc3QuY29udGFpbnMoIndwY2Y3LWFjY2VwdGFuY2UtYXMtdmFsaWRhdGlvbiIpKXJldHVybjtjb25zdCB0PSgpPT57bGV0IHQ9ITA7ZS5xdWVyeVNlbGVjdG9yQWxsKCIud3BjZjctYWNjZXB0YW5jZSIpLmZvckVhY2goKGU9PntpZighdHx8ZS5jbGFzc0xpc3QuY29udGFpbnMoIm9wdGlvbmFsIikpcmV0dXJuO2NvbnN0IGE9ZS5xdWVyeVNlbGVjdG9yKCdpbnB1dFt0eXBlPSJjaGVja2JveCJdJyk7KGUuY2xhc3NMaXN0LmNvbnRhaW5zKCJpbnZlcnQiKSYmYS5jaGVja2VkfHwhZS5jbGFzc0xpc3QuY29udGFpbnMoImludmVydCIpJiYhYS5jaGVja2VkKSYmKHQ9ITEpfSkpLGUucXVlcnlTZWxlY3RvckFsbCgiLndwY2Y3LXN1Ym1pdCIpLmZvckVhY2goKGU9PntlLmRpc2FibGVkPSF0fSkpfTt0KCksZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLChlPT57dCgpfSkpLGUuYWRkRXZlbnRMaXN0ZW5lcigid3BjZjdyZXNldCIsKGU9Pnt0KCl9KSl9KShlKSwoZT0+e2NvbnN0IGE9KGUsYSk9Pntjb25zdCBuPXQoZS5nZXRBdHRyaWJ1dGUoImRhdGEtc3RhcnRpbmctdmFsdWUiKSkscj10KGUuZ2V0QXR0cmlidXRlKCJkYXRhLW1heGltdW0tdmFsdWUiKSksYz10KGUuZ2V0QXR0cmlidXRlKCJkYXRhLW1pbmltdW0tdmFsdWUiKSksbz1lLmNsYXNzTGlzdC5jb250YWlucygiZG93biIpP24tYS52YWx1ZS50cmltKCkubGVuZ3RoOmEudmFsdWUudHJpbSgpLmxlbmd0aDtlLnNldEF0dHJpYnV0ZSgiZGF0YS1jdXJyZW50LXZhbHVlIixvKSxlLmlubmVyVGV4dD1vLHImJnI8YS52YWx1ZS5sZW5ndGg/ZS5jbGFzc0xpc3QuYWRkKCJ0b28tbG9uZyIpOmUuY2xhc3NMaXN0LnJlbW92ZSgidG9vLWxvbmciKSxjJiZhLnZhbHVlLmxlbmd0aDxjP2UuY2xhc3NMaXN0LmFkZCgidG9vLXNob3J0Iik6ZS5jbGFzc0xpc3QucmVtb3ZlKCJ0b28tc2hvcnQiKX0sbj10PT57dD17aW5pdDohMSwuLi50fSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIi53cGNmNy1jaGFyYWN0ZXItY291bnQiKS5mb3JFYWNoKChuPT57Y29uc3Qgcj1uLmdldEF0dHJpYnV0ZSgiZGF0YS10YXJnZXQtbmFtZSIpLGM9ZS5xdWVyeVNlbGVjdG9yKGBbbmFtZT0iJHtyfSJdYCk7YyYmKGMudmFsdWU9Yy5kZWZhdWx0VmFsdWUsYShuLGMpLHQuaW5pdCYmYy5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsKGU9PnthKG4sYyl9KSkpfSkpfTtuKHtpbml0OiEwfSksZS5hZGRFdmVudExpc3RlbmVyKCJ3cGNmN3Jlc2V0IiwoZT0+e24oKX0pKX0pKGUpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwodD0+e3dwY2Y3LmNhY2hlZCYmZS5yZXNldCgpfSkpLGUuYWRkRXZlbnRMaXN0ZW5lcigicmVzZXQiLCh0PT57d3BjZjcucmVzZXQoZSl9KSksZS5hZGRFdmVudExpc3RlbmVyKCJzdWJtaXQiLCh0PT57d3BjZjcuc3VibWl0KGUse3N1Ym1pdHRlcjp0LnN1Ym1pdHRlcn0pLHQucHJldmVudERlZmF1bHQoKX0pKSxlLmFkZEV2ZW50TGlzdGVuZXIoIndwY2Y3c3VibWl0IiwodD0+e3QuZGV0YWlsLmFwaVJlc3BvbnNlLmNhcHRjaGEmJnUoZSx0LmRldGFpbC5hcGlSZXNwb25zZS5jYXB0Y2hhKSx0LmRldGFpbC5hcGlSZXNwb25zZS5xdWl6JiZtKGUsdC5kZXRhaWwuYXBpUmVzcG9uc2UucXVpeil9KSksZS5hZGRFdmVudExpc3RlbmVyKCJ3cGNmN3Jlc2V0IiwodD0+e3QuZGV0YWlsLmFwaVJlc3BvbnNlLmNhcHRjaGEmJnUoZSx0LmRldGFpbC5hcGlSZXNwb25zZS5jYXB0Y2hhKSx0LmRldGFpbC5hcGlSZXNwb25zZS5xdWl6JiZtKGUsdC5kZXRhaWwuYXBpUmVzcG9uc2UucXVpeil9KSksZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCh0PT57dC50YXJnZXQuY2xvc2VzdCgiLndwY2Y3LWZvcm0tY29udHJvbCIpJiZ3cGNmNy52YWxpZGF0ZShlLHt0YXJnZXQ6dC50YXJnZXR9KX0pKSxlLmFkZEV2ZW50TGlzdGVuZXIoIndwY2Y3c3RhdHVzY2hhbmdlZCIsKHQ9Pntjb25zdCBhPXQuZGV0YWlsLnN0YXR1cztlLnF1ZXJ5U2VsZWN0b3JBbGwoIi5hY3RpdmUtb24tYW55IikuZm9yRWFjaCgoZT0+e2UucmVtb3ZlQXR0cmlidXRlKCJpbmVydCIpLGUuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlLW9uLWFueSIpfSkpLGUucXVlcnlTZWxlY3RvckFsbChgLmluZXJ0LW9uLSR7YX1gKS5mb3JFYWNoKChlPT57ZS5zZXRBdHRyaWJ1dGUoImluZXJ0IiwiaW5lcnQiKSxlLmNsYXNzTGlzdC5hZGQoImFjdGl2ZS1vbi1hbnkiKX0pKX0pKX1kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwodD0+e3ZhciBhO2lmKCJ1bmRlZmluZWQiIT10eXBlb2Ygd3BjZjcpaWYodm9pZCAwIT09d3BjZjcuYXBpKWlmKCJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3cuZmV0Y2gpaWYoImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5Gb3JtRGF0YSlpZigiZnVuY3Rpb24iPT10eXBlb2YgTm9kZUxpc3QucHJvdG90eXBlLmZvckVhY2gpaWYoImZ1bmN0aW9uIj09dHlwZW9mIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCl7d3BjZjc9e2luaXQ6dyxzdWJtaXQ6cCxyZXNldDpmLHZhbGlkYXRlOm8sc2NoZW1hczpuZXcgTWFwLC4uLm51bGwhPT0oYT13cGNmNykmJnZvaWQgMCE9PWE/YTp7fX0sZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiZm9ybSAud3BjZjdbZGF0YS13cGNmNy1pZF0iKS5mb3JFYWNoKCh0PT57Y29uc3QgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwIik7YS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwid3BjZjctZm9ybS1pbi13cm9uZy1wbGFjZSIpO2NvbnN0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3Ryb25nIik7bi5hcHBlbmQoKDAsZS5fXykoIkVycm9yOiIsImNvbnRhY3QtZm9ybS03IikpO2NvbnN0IHI9KDAsZS5fXykoIlRoaXMgY29udGFjdCBmb3JtIGlzIHBsYWNlZCBpbiB0aGUgd3JvbmcgcGxhY2UuIiwiY29udGFjdC1mb3JtLTciKTthLmFwcGVuZChuLCIgIixyKSx0LnJlcGxhY2VXaXRoKGEpfSkpLGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi53cGNmNyA+IGZvcm0iKS5mb3JFYWNoKChlPT57d3BjZjcuaW5pdChlKSxlLmNsb3Nlc3QoIi53cGNmNyIpLmNsYXNzTGlzdC5yZXBsYWNlKCJuby1qcyIsImpzIil9KSk7Zm9yKGNvbnN0IGUgb2Ygd3BjZjcuc2NoZW1hcy5rZXlzKCkpcih7ZW5kcG9pbnQ6YGNvbnRhY3QtZm9ybXMvJHtlfS9mZWVkYmFjay9zY2hlbWFgLG1ldGhvZDoiR0VUIn0pLnRoZW4oKHQ9Pnt3cGNmNy5zY2hlbWFzLnNldChlLHQpfSkpfWVsc2UgY29uc29sZS5lcnJvcigiWW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgU3RyaW5nLnJlcGxhY2VBbGwoKS4iKTtlbHNlIGNvbnNvbGUuZXJyb3IoIllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IE5vZGVMaXN0LmZvckVhY2goKS4iKTtlbHNlIGNvbnNvbGUuZXJyb3IoIllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IHdpbmRvdy5Gb3JtRGF0YSgpLiIpO2Vsc2UgY29uc29sZS5lcnJvcigiWW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgd2luZG93LmZldGNoKCkuIik7ZWxzZSBjb25zb2xlLmVycm9yKCJ3cGNmNy5hcGkgaXMgbm90IGRlZmluZWQuIik7ZWxzZSBjb25zb2xlLmVycm9yKCJ3cGNmNyBpcyBub3QgZGVmaW5lZC4iKX0pKX0pKCk7"}},"time_used":508,"timings":{"blocked":415,"dns":0,"connect":0,"send":0,"wait":93,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-includes/js/jquery/ui/core.min.js?ver=1.13.3","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.917Z","timestamp":1785141582917,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-includes/js/jquery/ui/core.min.js?ver=1.13.3 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Fri, 26 Dec 2025 09:44:01 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 7106\r\nKeep-Alive: timeout=5, max=91\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":21464,"size_decoded":7471,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (8189)","md5":"da215ae12b95b3aeeb2047667016c7f8","sha1":"480a7087aa74b5b47c47f05a11670e823a3ae4c0","sha256":"699210a5ed06e497b4730ec83bb65ac4c2269ae4a0ee8af3f24aae7ee5b66b76","sha512":"d256ddc828c06f7b84f7df706a4481928a186ea6d3e1358254a1ec02f403d72d2f3aecd682a93aad61b8f236f17dbcf7e6ca100f78c30a348682bf8ee125d8ff","ssdeep":"384:G/rsrDr8LVyraS3dtrqorqr8hrpCip8fuxNhlGX0CiS9rH/OrLrErJ29FkFvd:iS33ZdvK47kv","tlshash":"06a2d94eb246380586f7a2a5402f521fb132e25cb105c8ddf468d8da3c7eea95173f79","first_seen":"2025-04-15T23:53:17.313193Z","last_seen":"2026-07-27T15:02:18.302847Z","times_seen":333275,"resource_available":true,"data":"LyohIGpRdWVyeSBVSSAtIHYxLjEzLjMgLSAyMDI0LTA0LTI2CiogaHR0cHM6Ly9qcXVlcnl1aS5jb20KKiBJbmNsdWRlczogd2lkZ2V0LmpzLCBwb3NpdGlvbi5qcywgZGF0YS5qcywgZGlzYWJsZS1zZWxlY3Rpb24uanMsIGVmZmVjdC5qcywgZWZmZWN0cy9lZmZlY3QtYmxpbmQuanMsIGVmZmVjdHMvZWZmZWN0LWJvdW5jZS5qcywgZWZmZWN0cy9lZmZlY3QtY2xpcC5qcywgZWZmZWN0cy9lZmZlY3QtZHJvcC5qcywgZWZmZWN0cy9lZmZlY3QtZXhwbG9kZS5qcywgZWZmZWN0cy9lZmZlY3QtZmFkZS5qcywgZWZmZWN0cy9lZmZlY3QtZm9sZC5qcywgZWZmZWN0cy9lZmZlY3QtaGlnaGxpZ2h0LmpzLCBlZmZlY3RzL2VmZmVjdC1wdWZmLmpzLCBlZmZlY3RzL2VmZmVjdC1wdWxzYXRlLmpzLCBlZmZlY3RzL2VmZmVjdC1zY2FsZS5qcywgZWZmZWN0cy9lZmZlY3Qtc2hha2UuanMsIGVmZmVjdHMvZWZmZWN0LXNpemUuanMsIGVmZmVjdHMvZWZmZWN0LXNsaWRlLmpzLCBlZmZlY3RzL2VmZmVjdC10cmFuc2Zlci5qcywgZm9jdXNhYmxlLmpzLCBmb3JtLXJlc2V0LW1peGluLmpzLCBqcXVlcnktcGF0Y2guanMsIGtleWNvZGUuanMsIGxhYmVscy5qcywgc2Nyb2xsLXBhcmVudC5qcywgdGFiYmFibGUuanMsIHVuaXF1ZS1pZC5qcywgd2lkZ2V0cy9hY2NvcmRpb24uanMsIHdpZGdldHMvYXV0b2NvbXBsZXRlLmpzLCB3aWRnZXRzL2J1dHRvbi5qcywgd2lkZ2V0cy9jaGVja2JveHJhZGlvLmpzLCB3aWRnZXRzL2NvbnRyb2xncm91cC5qcywgd2lkZ2V0cy9kYXRlcGlja2VyLmpzLCB3aWRnZXRzL2RpYWxvZy5qcywgd2lkZ2V0cy9kcmFnZ2FibGUuanMsIHdpZGdldHMvZHJvcHBhYmxlLmpzLCB3aWRnZXRzL21lbnUuanMsIHdpZGdldHMvbW91c2UuanMsIHdpZGdldHMvcHJvZ3Jlc3NiYXIuanMsIHdpZGdldHMvcmVzaXphYmxlLmpzLCB3aWRnZXRzL3NlbGVjdGFibGUuanMsIHdpZGdldHMvc2VsZWN0bWVudS5qcywgd2lkZ2V0cy9zbGlkZXIuanMsIHdpZGdldHMvc29ydGFibGUuanMsIHdpZGdldHMvc3Bpbm5lci5qcywgd2lkZ2V0cy90YWJzLmpzLCB3aWRnZXRzL3Rvb2x0aXAuanMKKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yczsgTGljZW5zZWQgTUlUICovCiFmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJqcXVlcnkiXSx0KTp0KGpRdWVyeSl9KGZ1bmN0aW9uKHgpeyJ1c2Ugc3RyaWN0Ijt2YXIgdCxlLGksbixXLEMsbyxzLHIsbCxhLGgsdTtmdW5jdGlvbiBFKHQsZSxpKXtyZXR1cm5bcGFyc2VGbG9hdCh0WzBdKSooYS50ZXN0KHRbMF0pP2UvMTAwOjEpLHBhcnNlRmxvYXQodFsxXSkqKGEudGVzdCh0WzFdKT9pLzEwMDoxKV19ZnVuY3Rpb24gTCh0LGUpe3JldHVybiBwYXJzZUludCh4LmNzcyh0LGUpLDEwKXx8MH1mdW5jdGlvbiBOKHQpe3JldHVybiBudWxsIT10JiZ0PT09dC53aW5kb3d9eC51aT14LnVpfHx7fSx4LnVpLnZlcnNpb249IjEuMTMuMyIsCi8qIQogKiBqUXVlcnkgVUkgOmRhdGEgMS4xMy4zCiAqIGh0dHBzOi8vanF1ZXJ5dWkuY29tCiAqCiAqIENvcHlyaWdodCBPcGVuSlMgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4KICogaHR0cHM6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICovCnguZXh0ZW5kKHguZXhwci5wc2V1ZG9zLHtkYXRhOnguZXhwci5jcmVhdGVQc2V1ZG8/eC5leHByLmNyZWF0ZVBzZXVkbyhmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuISF4LmRhdGEodCxlKX19KTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuISF4LmRhdGEodCxpWzNdKX19KSwKLyohCiAqIGpRdWVyeSBVSSBEaXNhYmxlIFNlbGVjdGlvbiAxLjEzLjMKICogaHR0cHM6Ly9qcXVlcnl1aS5jb20KICoKICogQ29weXJpZ2h0IE9wZW5KUyBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMKICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwczovL2pxdWVyeS5vcmcvbGljZW5zZQogKi8KeC5mbi5leHRlbmQoe2Rpc2FibGVTZWxlY3Rpb246KHQ9Im9uc2VsZWN0c3RhcnQiaW4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik/InNlbGVjdHN0YXJ0IjoibW91c2Vkb3duIixmdW5jdGlvbigpe3JldHVybiB0aGlzLm9uKHQrIi51aS1kaXNhYmxlU2VsZWN0aW9uIixmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCl9KX0pLGVuYWJsZVNlbGVjdGlvbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLm9mZigiLnVpLWRpc2FibGVTZWxlY3Rpb24iKX19KSwKLyohCiAqIGpRdWVyeSBVSSBGb2N1c2FibGUgMS4xMy4zCiAqIGh0dHBzOi8vanF1ZXJ5dWkuY29tCiAqCiAqIENvcHlyaWdodCBPcGVuSlMgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4KICogaHR0cHM6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICovCngudWkuZm9jdXNhYmxlPWZ1bmN0aW9uKHQsZSl7dmFyIGksbixvLHM9dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJhcmVhIj09PXM/KG89KGk9dC5wYXJlbnROb2RlKS5uYW1lLCEoIXQuaHJlZnx8IW98fCJtYXAiIT09aS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKSYmMDwoaT14KCJpbWdbdXNlbWFwPScjIitvKyInXSIpKS5sZW5ndGgmJmkuaXMoIjp2aXNpYmxlIikpOigvXihpbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9ufG9iamVjdCkkLy50ZXN0KHMpPyhuPSF0LmRpc2FibGVkKSYmKG89eCh0KS5jbG9zZXN0KCJmaWVsZHNldCIpWzBdKSYmKG49IW8uZGlzYWJsZWQpOm49ImEiPT09cyYmdC5ocmVmfHxlLG4mJngodCkuaXMoIjp2aXNpYmxlIikmJmZ1bmN0aW9uKHQpe3ZhciBlPXQuY3NzKCJ2aXNpYmlsaXR5Iik7Zm9yKDsiaW5oZXJpdCI9PT1lOyl0PXQucGFyZW50KCksZT10LmNzcygidmlzaWJpbGl0eSIpO3JldHVybiJ2aXNpYmxlIj09PWV9KHgodCkpKX0seC5leHRlbmQoeC5leHByLnBzZXVkb3Mse2ZvY3VzYWJsZTpmdW5jdGlvbih0KXtyZXR1cm4geC51aS5mb2N1c2FibGUodCxudWxsIT14LmF0dHIodCwidGFiaW5kZXgiKSl9fSkseC5mbi5fZm9ybT1mdW5jdGlvbigpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdGhpc1swXS5mb3JtP3RoaXMuY2xvc2VzdCgiZm9ybSIpOngodGhpc1swXS5mb3JtKX0sCi8qIQogKiBqUXVlcnkgVUkgRm9ybSBSZXNldCBNaXhpbiAxLjEzLjMKICogaHR0cHM6Ly9qcXVlcnl1aS5jb20KICoKICogQ29weXJpZ2h0IE9wZW5KUyBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMKICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwczovL2pxdWVyeS5vcmcvbGljZW5zZQogKi8KeC51aS5mb3JtUmVzZXRNaXhpbj17X2Zvcm1SZXNldEhhbmRsZXI6ZnVuY3Rpb24oKXt2YXIgZT14KHRoaXMpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgdD1lLmRhdGEoInVpLWZvcm0tcmVzZXQtaW5zdGFuY2VzIik7eC5lYWNoKHQsZnVuY3Rpb24oKXt0aGlzLnJlZnJlc2goKX0pfSl9LF9iaW5kRm9ybVJlc2V0SGFuZGxlcjpmdW5jdGlvbigpe3ZhciB0O3RoaXMuZm9ybT10aGlzLmVsZW1lbnQuX2Zvcm0oKSx0aGlzLmZvcm0ubGVuZ3RoJiYoKHQ9dGhpcy5mb3JtLmRhdGEoInVpLWZvcm0tcmVzZXQtaW5zdGFuY2VzIil8fFtdKS5sZW5ndGh8fHRoaXMuZm9ybS5vbigicmVzZXQudWktZm9ybS1yZXNldCIsdGhpcy5fZm9ybVJlc2V0SGFuZGxlciksdC5wdXNoKHRoaXMpLHRoaXMuZm9ybS5kYXRhKCJ1aS1mb3JtLXJlc2V0LWluc3RhbmNlcyIsdCkpfSxfdW5iaW5kRm9ybVJlc2V0SGFuZGxlcjpmdW5jdGlvbigpe3ZhciB0O3RoaXMuZm9ybS5sZW5ndGgmJigodD10aGlzLmZvcm0uZGF0YSgidWktZm9ybS1yZXNldC1pbnN0YW5jZXMiKSkuc3BsaWNlKHguaW5BcnJheSh0aGlzLHQpLDEpLHQubGVuZ3RoP3RoaXMuZm9ybS5kYXRhKCJ1aS1mb3JtLXJlc2V0LWluc3RhbmNlcyIsdCk6dGhpcy5mb3JtLnJlbW92ZURhdGEoInVpLWZvcm0tcmVzZXQtaW5zdGFuY2VzIikub2ZmKCJyZXNldC51aS1mb3JtLXJlc2V0IikpfX0seC51aS5pZT0hIS9tc2llIFtcdy5dKy8uZXhlYyhuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkpLAovKiEKICogalF1ZXJ5IFVJIFN1cHBvcnQgZm9yIGpRdWVyeSBjb3JlIDEuOC54IGFuZCBuZXdlciAxLjEzLjMKICogaHR0cHM6Ly9qcXVlcnl1aS5jb20KICoKICogQ29weXJpZ2h0IE9wZW5KUyBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMKICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwczovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKi8KeC5leHByLnBzZXVkb3N8fCh4LmV4cHIucHNldWRvcz14LmV4cHJbIjoiXSkseC51bmlxdWVTb3J0fHwoeC51bmlxdWVTb3J0PXgudW5pcXVlKSx4LmVzY2FwZVNlbGVjdG9yfHwoZT0vKFtcMC1ceDFmXHg3Zl18Xi0/XGQpfF4tJHxbXlx4ODAtXHVGRkZGXHctXS9nLGk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZT8iXDAiPT09dD8i77+9Ijp0LnNsaWNlKDAsLTEpKyJcXCIrdC5jaGFyQ29kZUF0KHQubGVuZ3RoLTEpLnRvU3RyaW5nKDE2KSsiICI6IlxcIit0fSx4LmVzY2FwZVNlbGVjdG9yPWZ1bmN0aW9uKHQpe3JldHVybih0KyIiKS5yZXBsYWNlKGUsaSl9KSx4LmZuLmV2ZW4mJnguZm4ub2RkfHx4LmZuLmV4dGVuZCh7ZXZlbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdCUyPT0wfSl9LG9kZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdCUyPT0xfSl9fSksCi8qIQogKiBqUXVlcnkgVUkgS2V5Y29kZSAxLjEzLjMKICogaHR0cHM6Ly9qcXVlcnl1aS5jb20KICoKICogQ29weXJpZ2h0IE9wZW5KUyBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMKICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwczovL2pxdWVyeS5vcmcvbGljZW5zZQogKi8KeC51aS5rZXlDb2RlPXtCQUNLU1BBQ0U6OCxDT01NQToxODgsREVMRVRFOjQ2LERPV046NDAsRU5EOjM1LEVOVEVSOjEzLEVTQ0FQRToyNyxIT01FOjM2LExFRlQ6MzcsUEFHRV9ET1dOOjM0LFBBR0VfVVA6MzMsUEVSSU9EOjE5MCxSSUdIVDozOSxTUEFDRTozMixUQUI6OSxVUDozOH0sCi8qIQogKiBqUXVlcnkgVUkgTGFiZWxzIDEuMTMuMwogKiBodHRwczovL2pxdWVyeXVpLmNvbQogKgogKiBDb3B5cmlnaHQgT3BlbkpTIEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycwogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuCiAqIGh0dHBzOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqLwp4LmZuLmxhYmVscz1mdW5jdGlvbigpe3ZhciB0LGUsaTtyZXR1cm4gdGhpcy5sZW5ndGg/dGhpc1swXS5sYWJlbHMmJnRoaXNbMF0ubGFiZWxzLmxlbmd0aD90aGlzLnB1c2hTdGFjayh0aGlzWzBdLmxhYmVscyk6KGU9dGhpcy5lcSgwKS5wYXJlbnRzKCJsYWJlbCIpLCh0PXRoaXMuYXR0cigiaWQiKSkmJihpPShpPXRoaXMuZXEoMCkucGFyZW50cygpLmxhc3QoKSkuYWRkKChpLmxlbmd0aD9pOnRoaXMpLnNpYmxpbmdzKCkpLHQ9ImxhYmVsW2Zvcj0nIit4LmVzY2FwZVNlbGVjdG9yKHQpKyInXSIsZT1lLmFkZChpLmZpbmQodCkuYWRkQmFjayh0KSkpLHRoaXMucHVzaFN0YWNrKGUpKTp0aGlzLnB1c2hTdGFjayhbXSl9LHgudWkucGx1Z2luPXthZGQ6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLG89eC51aVt0XS5wcm90b3R5cGU7Zm9yKG4gaW4gaSlvLnBsdWdpbnNbbl09by5wbHVnaW5zW25dfHxbXSxvLnBsdWdpbnNbbl0ucHVzaChbZSxpW25dXSl9LGNhbGw6ZnVuY3Rpb24odCxlLGksbil7dmFyIG8scz10LnBsdWdpbnNbZV07aWYocyYmKG58fHQuZWxlbWVudFswXS5wYXJlbnROb2RlJiYxMSE9PXQuZWxlbWVudFswXS5wYXJlbnROb2RlLm5vZGVUeXBlKSlmb3Iobz0wO288cy5sZW5ndGg7bysrKXQub3B0aW9uc1tzW29dWzBdXSYmc1tvXVsxXS5hcHBseSh0LmVsZW1lbnQsaSl9fSwKLyohCiAqIGpRdWVyeSBVSSBQb3NpdGlvbiAxLjEzLjMKICogaHR0cHM6Ly9qcXVlcnl1aS5jb20KICoKICogQ29weXJpZ2h0IE9wZW5KUyBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMKICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwczovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBodHRwczovL2FwaS5qcXVlcnl1aS5jb20vcG9zaXRpb24vCiAqLwpXPU1hdGgubWF4LEM9TWF0aC5hYnMsbz0vbGVmdHxjZW50ZXJ8cmlnaHQvLHM9L3RvcHxjZW50ZXJ8Ym90dG9tLyxyPS9bXCtcLV1cZCsoXC5bXGRdKyk/JT8vLGw9L15cdysvLGE9LyUkLyxoPXguZm4ucG9zaXRpb24seC5wb3NpdGlvbj17c2Nyb2xsYmFyV2lkdGg6ZnVuY3Rpb24oKXt2YXIgdCxlLGk7cmV0dXJuIHZvaWQgMCE9PW4/bjooaT0oZT14KCI8ZGl2IHN0eWxlPSdkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjIwMHB4O2hlaWdodDoyMDBweDtvdmVyZmxvdzpoaWRkZW47Jz48ZGl2IHN0eWxlPSdoZWlnaHQ6MzAwcHg7d2lkdGg6YXV0bzsnPjwvZGl2PjwvZGl2PiIpKS5jaGlsZHJlbigpWzBdLHgoImJvZHkiKS5hcHBlbmQoZSksdD1pLm9mZnNldFdpZHRoLGUuY3NzKCJvdmVyZmxvdyIsInNjcm9sbCIpLHQ9PT0oaT1pLm9mZnNldFdpZHRoKSYmKGk9ZVswXS5jbGllbnRXaWR0aCksZS5yZW1vdmUoKSxuPXQtaSl9LGdldFNjcm9sbEluZm86ZnVuY3Rpb24odCl7dmFyIGU9dC5pc1dpbmRvd3x8dC5pc0RvY3VtZW50PyIiOnQuZWxlbWVudC5jc3MoIm92ZXJmbG93LXgiKSxpPXQuaXNXaW5kb3d8fHQuaXNEb2N1bWVudD8iIjp0LmVsZW1lbnQuY3NzKCJvdmVyZmxvdy15IiksZT0ic2Nyb2xsIj09PWV8fCJhdXRvIj09PWUmJnQud2lkdGg8dC5lbGVtZW50WzBdLnNjcm9sbFdpZHRoO3JldHVybnt3aWR0aDoic2Nyb2xsIj09PWl8fCJhdXRvIj09PWkmJnQuaGVpZ2h0PHQuZWxlbWVudFswXS5zY3JvbGxIZWlnaHQ/eC5wb3NpdGlvbi5zY3JvbGxiYXJXaWR0aCgpOjAsaGVpZ2h0OmU/eC5wb3NpdGlvbi5zY3JvbGxiYXJXaWR0aCgpOjB9fSxnZXRXaXRoaW5JbmZvOmZ1bmN0aW9uKHQpe3ZhciBlPXgodHx8d2luZG93KSxpPU4oZVswXSksbj0hIWVbMF0mJjk9PT1lWzBdLm5vZGVUeXBlO3JldHVybntlbGVtZW50OmUsaXNXaW5kb3c6aSxpc0RvY3VtZW50Om4sb2Zmc2V0OiFpJiYhbj94KHQpLm9mZnNldCgpOntsZWZ0OjAsdG9wOjB9LHNjcm9sbExlZnQ6ZS5zY3JvbGxMZWZ0KCksc2Nyb2xsVG9wOmUuc2Nyb2xsVG9wKCksd2lkdGg6ZS5vdXRlcldpZHRoKCksaGVpZ2h0OmUub3V0ZXJIZWlnaHQoKX19fSx4LmZuLnBvc2l0aW9uPWZ1bmN0aW9uKGYpe3ZhciBjLGQscCxnLG0sdix5LHcsYixfLHQsZTtyZXR1cm4gZiYmZi5vZj8odj0ic3RyaW5nIj09dHlwZW9mKGY9eC5leHRlbmQoe30sZikpLm9mP3goZG9jdW1lbnQpLmZpbmQoZi5vZik6eChmLm9mKSx5PXgucG9zaXRpb24uZ2V0V2l0aGluSW5mbyhmLndpdGhpbiksdz14LnBvc2l0aW9uLmdldFNjcm9sbEluZm8oeSksYj0oZi5jb2xsaXNpb258fCJmbGlwIikuc3BsaXQoIiAiKSxfPXt9LGU9OT09PShlPSh0PXYpWzBdKS5ub2RlVHlwZT97d2lkdGg6dC53aWR0aCgpLGhlaWdodDp0LmhlaWdodCgpLG9mZnNldDp7dG9wOjAsbGVmdDowfX06TihlKT97d2lkdGg6dC53aWR0aCgpLGhlaWdodDp0LmhlaWdodCgpLG9mZnNldDp7dG9wOnQuc2Nyb2xsVG9wKCksbGVmdDp0LnNjcm9sbExlZnQoKX19OmUucHJldmVudERlZmF1bHQ/e3dpZHRoOjAsaGVpZ2h0OjAsb2Zmc2V0Ont0b3A6ZS5wYWdlWSxsZWZ0OmUucGFnZVh9fTp7d2lkdGg6dC5vdXRlcldpZHRoKCksaGVpZ2h0OnQub3V0ZXJIZWlnaHQoKSxvZmZzZXQ6dC5vZmZzZXQoKX0sdlswXS5wcmV2ZW50RGVmYXVsdCYmKGYuYXQ9ImxlZnQgdG9wIiksZD1lLndpZHRoLHA9ZS5oZWlnaHQsbT14LmV4dGVuZCh7fSxnPWUub2Zmc2V0KSx4LmVhY2goWyJteSIsImF0Il0sZnVuY3Rpb24oKXt2YXIgdCxlLGk9KGZbdGhpc118fCIiKS5zcGxpdCgiICIpOyhpPTE9PT1pLmxlbmd0aD9vLnRlc3QoaVswXSk/aS5jb25jYXQoWyJjZW50ZXIiXSk6cy50ZXN0KGlbMF0pP1siY2VudGVyIl0uY29uY2F0KGkpOlsiY2VudGVyIiwiY2VudGVyIl06aSlbMF09by50ZXN0KGlbMF0pP2lbMF06ImNlbnRlciIsaVsxXT1zLnRlc3QoaVsxXSk/aVsxXToiY2VudGVyIix0PXIuZXhlYyhpWzBdKSxlPXIuZXhlYyhpWzFdKSxfW3RoaXNdPVt0P3RbMF06MCxlP2VbMF06MF0sZlt0aGlzXT1bbC5leGVjKGlbMF0pWzBdLGwuZXhlYyhpWzFdKVswXV19KSwxPT09Yi5sZW5ndGgmJihiWzFdPWJbMF0pLCJyaWdodCI9PT1mLmF0WzBdP20ubGVmdCs9ZDoiY2VudGVyIj09PWYuYXRbMF0mJihtLmxlZnQrPWQvMiksImJvdHRvbSI9PT1mLmF0WzFdP20udG9wKz1wOiJjZW50ZXIiPT09Zi5hdFsxXSYmKG0udG9wKz1wLzIpLGM9RShfLmF0LGQscCksbS5sZWZ0Kz1jWzBdLG0udG9wKz1jWzFdLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBpLHQscj14KHRoaXMpLGw9ci5vdXRlcldpZHRoKCksYT1yLm91dGVySGVpZ2h0KCksZT1MKHRoaXMsIm1hcmdpbkxlZnQiKSxuPUwodGhpcywibWFyZ2luVG9wIiksbz1sK2UrTCh0aGlzLCJtYXJnaW5SaWdodCIpK3cud2lkdGgscz1hK24rTCh0aGlzLCJtYXJnaW5Cb3R0b20iKSt3LmhlaWdodCxoPXguZXh0ZW5kKHt9LG0pLHU9RShfLm15LHIub3V0ZXJXaWR0aCgpLHIub3V0ZXJIZWlnaHQoKSk7InJpZ2h0Ij09PWYubXlbMF0/aC5sZWZ0LT1sOiJjZW50ZXIiPT09Zi5teVswXSYmKGgubGVmdC09bC8yKSwiYm90dG9tIj09PWYubXlbMV0/aC50b3AtPWE6ImNlbnRlciI9PT1mLm15WzFdJiYoaC50b3AtPWEvMiksaC5sZWZ0Kz11WzBdLGgudG9wKz11WzFdLGk9e21hcmdpbkxlZnQ6ZSxtYXJnaW5Ub3A6bn0seC5lYWNoKFsibGVmdCIsInRvcCJdLGZ1bmN0aW9uKHQsZSl7eC51aS5wb3NpdGlvbltiW3RdXSYmeC51aS5wb3NpdGlvbltiW3RdXVtlXShoLHt0YXJnZXRXaWR0aDpkLHRhcmdldEhlaWdodDpwLGVsZW1XaWR0aDpsLGVsZW1IZWlnaHQ6YSxjb2xsaXNpb25Qb3NpdGlvbjppLGNvbGxpc2lvbldpZHRoOm8sY29sbGlzaW9uSGVpZ2h0OnMsb2Zmc2V0OltjWzBdK3VbMF0sY1sxXSt1WzFdXSxteTpmLm15LGF0OmYuYXQsd2l0aGluOnksZWxlbTpyfSl9KSxmLnVzaW5nJiYodD1mdW5jdGlvbih0KXt2YXIgZT1nLmxlZnQtaC5sZWZ0LGk9ZStkLWwsbj1nLnRvcC1oLnRvcCxvPW4rcC1hLHM9e3RhcmdldDp7ZWxlbWVudDp2LGxlZnQ6Zy5sZWZ0LHRvcDpnLnRvcCx3aWR0aDpkLGhlaWdodDpwfSxlbGVtZW50OntlbGVtZW50OnIsbGVmdDpoLmxlZnQsdG9wOmgudG9wLHdpZHRoOmwsaGVpZ2h0OmF9LGhvcml6b250YWw6aTwwPyJsZWZ0IjowPGU/InJpZ2h0IjoiY2VudGVyIix2ZXJ0aWNhbDpvPDA/InRvcCI6MDxuPyJib3R0b20iOiJtaWRkbGUifTtkPGwmJkMoZStpKTxkJiYocy5ob3Jpem9udGFsPSJjZW50ZXIiKSxwPGEmJkMobitvKTxwJiYocy52ZXJ0aWNhbD0ibWlkZGxlIiksVyhDKGUpLEMoaSkpPlcoQyhuKSxDKG8pKT9zLmltcG9ydGFudD0iaG9yaXpvbnRhbCI6cy5pbXBvcnRhbnQ9InZlcnRpY2FsIixmLnVzaW5nLmNhbGwodGhpcyx0LHMpfSksci5vZmZzZXQoeC5leHRlbmQoaCx7dXNpbmc6dH0pKX0pKTpoLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0seC51aS5wb3NpdGlvbj17Zml0OntsZWZ0OmZ1bmN0aW9uKHQsZSl7dmFyIGksbj1lLndpdGhpbixvPW4uaXNXaW5kb3c/bi5zY3JvbGxMZWZ0Om4ub2Zmc2V0LmxlZnQsbj1uLndpZHRoLHM9dC5sZWZ0LWUuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luTGVmdCxyPW8tcyxsPXMrZS5jb2xsaXNpb25XaWR0aC1uLW87bjxlLmNvbGxpc2lvbldpZHRoPzA8ciYmbDw9MD8oaT10LmxlZnQrcitlLmNvbGxpc2lvbldpZHRoLW4tbyx0LmxlZnQrPXItaSk6dC5sZWZ0PSEoMDxsJiZyPD0wKSYmbDxyP28rbi1lLmNvbGxpc2lvbldpZHRoOm86MDxyP3QubGVmdCs9cjowPGw/dC5sZWZ0LT1sOnQubGVmdD1XKHQubGVmdC1zLHQubGVmdCl9LHRvcDpmdW5jdGlvbih0LGUpe3ZhciBpLG49ZS53aXRoaW4sbj1uLmlzV2luZG93P24uc2Nyb2xsVG9wOm4ub2Zmc2V0LnRvcCxvPWUud2l0aGluLmhlaWdodCxzPXQudG9wLWUuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luVG9wLHI9bi1zLGw9cytlLmNvbGxpc2lvbkhlaWdodC1vLW47bzxlLmNvbGxpc2lvbkhlaWdodD8wPHImJmw8PTA/KGk9dC50b3ArcitlLmNvbGxpc2lvbkhlaWdodC1vLW4sdC50b3ArPXItaSk6dC50b3A9ISgwPGwmJnI8PTApJiZsPHI/bitvLWUuY29sbGlzaW9uSGVpZ2h0Om46MDxyP3QudG9wKz1yOjA8bD90LnRvcC09bDp0LnRvcD1XKHQudG9wLXMsdC50b3ApfX0sZmxpcDp7bGVmdDpmdW5jdGlvbih0LGUpe3ZhciBpPWUud2l0aGluLG49aS5vZmZzZXQubGVmdCtpLnNjcm9sbExlZnQsbz1pLndpZHRoLGk9aS5pc1dpbmRvdz9pLnNjcm9sbExlZnQ6aS5vZmZzZXQubGVmdCxzPXQubGVmdC1lLmNvbGxpc2lvblBvc2l0aW9uLm1hcmdpbkxlZnQscj1zLWkscz1zK2UuY29sbGlzaW9uV2lkdGgtby1pLGw9ImxlZnQiPT09ZS5teVswXT8tZS5lbGVtV2lkdGg6InJpZ2h0Ij09PWUubXlbMF0/ZS5lbGVtV2lkdGg6MCxhPSJsZWZ0Ij09PWUuYXRbMF0/ZS50YXJnZXRXaWR0aDoicmlnaHQiPT09ZS5hdFswXT8tZS50YXJnZXRXaWR0aDowLGg9LTIqZS5vZmZzZXRbMF07cjwwPygobz10LmxlZnQrbCthK2grZS5jb2xsaXNpb25XaWR0aC1vLW4pPDB8fG88QyhyKSkmJih0LmxlZnQrPWwrYStoKTowPHMmJigwPChuPXQubGVmdC1lLmNvbGxpc2lvblBvc2l0aW9uLm1hcmdpbkxlZnQrbCthK2gtaSl8fEMobik8cykmJih0LmxlZnQrPWwrYStoKX0sdG9wOmZ1bmN0aW9uKHQsZSl7dmFyIGk9ZS53aXRoaW4sbj1pLm9mZnNldC50b3AraS5zY3JvbGxUb3Asbz1pLmhlaWdodCxpPWkuaXNXaW5kb3c/aS5zY3JvbGxUb3A6aS5vZmZzZXQudG9wLHM9dC50b3AtZS5jb2xsaXNpb25Qb3NpdGlvbi5tYXJnaW5Ub3Ascj1zLWkscz1zK2UuY29sbGlzaW9uSGVpZ2h0LW8taSxsPSJ0b3AiPT09ZS5teVsxXT8tZS5lbGVtSGVpZ2h0OiJib3R0b20iPT09ZS5teVsxXT9lLmVsZW1IZWlnaHQ6MCxhPSJ0b3AiPT09ZS5hdFsxXT9lLnRhcmdldEhlaWdodDoiYm90dG9tIj09PWUuYXRbMV0/LWUudGFyZ2V0SGVpZ2h0OjAsaD0tMiplLm9mZnNldFsxXTtyPDA/KChvPXQudG9wK2wrYStoK2UuY29sbGlzaW9uSGVpZ2h0LW8tbik8MHx8bzxDKHIpKSYmKHQudG9wKz1sK2EraCk6MDxzJiYoMDwobj10LnRvcC1lLmNvbGxpc2lvblBvc2l0aW9uLm1hcmdpblRvcCtsK2EraC1pKXx8QyhuKTxzKSYmKHQudG9wKz1sK2EraCl9fSxmbGlwZml0OntsZWZ0OmZ1bmN0aW9uKCl7eC51aS5wb3NpdGlvbi5mbGlwLmxlZnQuYXBwbHkodGhpcyxhcmd1bWVudHMpLHgudWkucG9zaXRpb24uZml0LmxlZnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSx0b3A6ZnVuY3Rpb24oKXt4LnVpLnBvc2l0aW9uLmZsaXAudG9wLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx4LnVpLnBvc2l0aW9uLmZpdC50b3AuYXBwbHkodGhpcyxhcmd1bWVudHMpfX19LHgudWkuc2FmZUFjdGl2ZUVsZW1lbnQ9ZnVuY3Rpb24oZSl7dmFyIGk7dHJ5e2k9ZS5hY3RpdmVFbGVtZW50fWNhdGNoKHQpe2k9ZS5ib2R5fXJldHVybiBpPShpPWl8fGUuYm9keSkubm9kZU5hbWU/aTplLmJvZHl9LHgudWkuc2FmZUJsdXI9ZnVuY3Rpb24odCl7dCYmImJvZHkiIT09dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiZ4KHQpLnRyaWdnZXIoImJsdXIiKX0sCi8qIQogKiBqUXVlcnkgVUkgU2Nyb2xsIFBhcmVudCAxLjEzLjMKICogaHR0cHM6Ly9qcXVlcnl1aS5jb20KICoKICogQ29weXJpZ2h0IE9wZW5KUyBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMKICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwczovL2pxdWVyeS5vcmcvbGljZW5zZQogKi8KeC5mbi5zY3JvbGxQYXJlbnQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jc3MoInBvc2l0aW9uIiksaT0iYWJzb2x1dGUiPT09ZSxuPXQ/LyhhdXRvfHNjcm9sbHxoaWRkZW4pLzovKGF1dG98c2Nyb2xsKS8sdD10aGlzLnBhcmVudHMoKS5maWx0ZXIoZnVuY3Rpb24oKXt2YXIgdD14KHRoaXMpO3JldHVybighaXx8InN0YXRpYyIhPT10LmNzcygicG9zaXRpb24iKSkmJm4udGVzdCh0LmNzcygib3ZlcmZsb3ciKSt0LmNzcygib3ZlcmZsb3cteSIpK3QuY3NzKCJvdmVyZmxvdy14IikpfSkuZXEoMCk7cmV0dXJuImZpeGVkIiE9PWUmJnQubGVuZ3RoP3Q6eCh0aGlzWzBdLm93bmVyRG9jdW1lbnR8fGRvY3VtZW50KX0sCi8qIQogKiBqUXVlcnkgVUkgVGFiYmFibGUgMS4xMy4zCiAqIGh0dHBzOi8vanF1ZXJ5dWkuY29tCiAqCiAqIENvcHlyaWdodCBPcGVuSlMgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4KICogaHR0cHM6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICovCnguZXh0ZW5kKHguZXhwci5wc2V1ZG9zLHt0YWJiYWJsZTpmdW5jdGlvbih0KXt2YXIgZT14LmF0dHIodCwidGFiaW5kZXgiKSxpPW51bGwhPWU7cmV0dXJuKCFpfHwwPD1lKSYmeC51aS5mb2N1c2FibGUodCxpKX19KSwKLyohCiAqIGpRdWVyeSBVSSBVbmlxdWUgSUQgMS4xMy4zCiAqIGh0dHBzOi8vanF1ZXJ5dWkuY29tCiAqCiAqIENvcHlyaWdodCBPcGVuSlMgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4KICogaHR0cHM6Ly9qcXVlcnkub3JnL2xpY2Vuc2UKICovCnguZm4uZXh0ZW5kKHt1bmlxdWVJZDoodT0wLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3RoaXMuaWR8fCh0aGlzLmlkPSJ1aS1pZC0iKyArK3UpfSl9KSxyZW1vdmVVbmlxdWVJZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXsvXnVpLWlkLVxkKyQvLnRlc3QodGhpcy5pZCkmJngodGhpcykucmVtb3ZlQXR0cigiaWQiKX0pfX0pOwovKiEKICogalF1ZXJ5IFVJIFdpZGdldCAxLjEzLjMKICogaHR0cHM6Ly9qcXVlcnl1aS5jb20KICoKICogQ29weXJpZ2h0IE9wZW5KUyBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMKICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgogKiBodHRwczovL2pxdWVyeS5vcmcvbGljZW5zZQogKi8KdmFyIGYsYz0wLGQ9QXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5LHA9QXJyYXkucHJvdG90eXBlLnNsaWNlO3guY2xlYW5EYXRhPShmPXguY2xlYW5EYXRhLGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpLG49MDtudWxsIT0oaT10W25dKTtuKyspKGU9eC5fZGF0YShpLCJldmVudHMiKSkmJmUucmVtb3ZlJiZ4KGkpLnRyaWdnZXJIYW5kbGVyKCJyZW1vdmUiKTtmKHQpfSkseC53aWRnZXQ9ZnVuY3Rpb24odCxpLGUpe3ZhciBuLG8scyxyPXt9LGw9dC5zcGxpdCgiLiIpWzBdLGE9bCsiLSIrKHQ9dC5zcGxpdCgiLiIpWzFdKTtyZXR1cm4gZXx8KGU9aSxpPXguV2lkZ2V0KSxBcnJheS5pc0FycmF5KGUpJiYoZT14LmV4dGVuZC5hcHBseShudWxsLFt7fV0uY29uY2F0KGUpKSkseC5leHByLnBzZXVkb3NbYS50b0xvd2VyQ2FzZSgpXT1mdW5jdGlvbih0KXtyZXR1cm4hIXguZGF0YSh0LGEpfSx4W2xdPXhbbF18fHt9LG49eFtsXVt0XSxvPXhbbF1bdF09ZnVuY3Rpb24odCxlKXtpZighdGhpc3x8IXRoaXMuX2NyZWF0ZVdpZGdldClyZXR1cm4gbmV3IG8odCxlKTthcmd1bWVudHMubGVuZ3RoJiZ0aGlzLl9jcmVhdGVXaWRnZXQodCxlKX0seC5leHRlbmQobyxuLHt2ZXJzaW9uOmUudmVyc2lvbixfcHJvdG86eC5leHRlbmQoe30sZSksX2NoaWxkQ29uc3RydWN0b3JzOltdfSksKHM9bmV3IGkpLm9wdGlvbnM9eC53aWRnZXQuZXh0ZW5kKHt9LHMub3B0aW9ucykseC5lYWNoKGUsZnVuY3Rpb24oZSxuKXtmdW5jdGlvbiBvKCl7cmV0dXJuIGkucHJvdG90eXBlW2VdLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiBzKHQpe3JldHVybiBpLnByb3RvdHlwZVtlXS5hcHBseSh0aGlzLHQpfXJbZV09ImZ1bmN0aW9uIiE9dHlwZW9mIG4/bjpmdW5jdGlvbigpe3ZhciB0LGU9dGhpcy5fc3VwZXIsaT10aGlzLl9zdXBlckFwcGx5O3JldHVybiB0aGlzLl9zdXBlcj1vLHRoaXMuX3N1cGVyQXBwbHk9cyx0PW4uYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX3N1cGVyPWUsdGhpcy5fc3VwZXJBcHBseT1pLHR9fSksby5wcm90b3R5cGU9eC53aWRnZXQuZXh0ZW5kKHMse3dpZGdldEV2ZW50UHJlZml4Om4mJnMud2lkZ2V0RXZlbnRQcmVmaXh8fHR9LHIse2NvbnN0cnVjdG9yOm8sbmFtZXNwYWNlOmwsd2lkZ2V0TmFtZTp0LHdpZGdldEZ1bGxOYW1lOmF9KSxuPyh4LmVhY2gobi5fY2hpbGRDb25zdHJ1Y3RvcnMsZnVuY3Rpb24odCxlKXt2YXIgaT1lLnByb3RvdHlwZTt4LndpZGdldChpLm5hbWVzcGFjZSsiLiIraS53aWRnZXROYW1lLG8sZS5fcHJvdG8pfSksZGVsZXRlIG4uX2NoaWxkQ29uc3RydWN0b3JzKTppLl9jaGlsZENvbnN0cnVjdG9ycy5wdXNoKG8pLHgud2lkZ2V0LmJyaWRnZSh0LG8pLG99LHgud2lkZ2V0LmV4dGVuZD1mdW5jdGlvbih0KXtmb3IodmFyIGUsaSxuPXAuY2FsbChhcmd1bWVudHMsMSksbz0wLHM9bi5sZW5ndGg7bzxzO28rKylmb3IoZSBpbiBuW29dKWk9bltvXVtlXSxkLmNhbGwobltvXSxlKSYmdm9pZCAwIT09aSYmKHguaXNQbGFpbk9iamVjdChpKT90W2VdPXguaXNQbGFpbk9iamVjdCh0W2VdKT94LndpZGdldC5leHRlbmQoe30sdFtlXSxpKTp4LndpZGdldC5leHRlbmQoe30saSk6dFtlXT1pKTtyZXR1cm4gdH0seC53aWRnZXQuYnJpZGdlPWZ1bmN0aW9uKHMsZSl7dmFyIHI9ZS5wcm90b3R5cGUud2lkZ2V0RnVsbE5hbWV8fHM7eC5mbltzXT1mdW5jdGlvbihpKXt2YXIgdD0ic3RyaW5nIj09dHlwZW9mIGksbj1wLmNhbGwoYXJndW1lbnRzLDEpLG89dGhpcztyZXR1cm4gdD90aGlzLmxlbmd0aHx8Imluc3RhbmNlIiE9PWk/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQsZT14LmRhdGEodGhpcyxyKTtyZXR1cm4iaW5zdGFuY2UiPT09aT8obz1lLCExKTplPyJmdW5jdGlvbiIhPXR5cGVvZiBlW2ldfHwiXyI9PT1pLmNoYXJBdCgwKT94LmVycm9yKCJubyBzdWNoIG1ldGhvZCAnIitpKyInIGZvciAiK3MrIiB3aWRnZXQgaW5zdGFuY2UiKToodD1lW2ldLmFwcGx5KGUsbikpIT09ZSYmdm9pZCAwIT09dD8obz10JiZ0LmpxdWVyeT9vLnB1c2hTdGFjayh0LmdldCgpKTp0LCExKTp2b2lkIDA6eC5lcnJvcigiY2Fubm90IGNhbGwgbWV0aG9kcyBvbiAiK3MrIiBwcmlvciB0byBpbml0aWFsaXphdGlvbjsgYXR0ZW1wdGVkIHRvIGNhbGwgbWV0aG9kICciK2krIiciKX0pOm89dm9pZCAwOihuLmxlbmd0aCYmKGk9eC53aWRnZXQuZXh0ZW5kLmFwcGx5KG51bGwsW2ldLmNvbmNhdChuKSkpLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0PXguZGF0YSh0aGlzLHIpO3Q/KHQub3B0aW9uKGl8fHt9KSx0Ll9pbml0JiZ0Ll9pbml0KCkpOnguZGF0YSh0aGlzLHIsbmV3IGUoaSx0aGlzKSl9KSksb319LHguV2lkZ2V0PWZ1bmN0aW9uKCl7fSx4LldpZGdldC5fY2hpbGRDb25zdHJ1Y3RvcnM9W10seC5XaWRnZXQucHJvdG90eXBlPXt3aWRnZXROYW1lOiJ3aWRnZXQiLHdpZGdldEV2ZW50UHJlZml4OiIiLGRlZmF1bHRFbGVtZW50OiI8ZGl2PiIsb3B0aW9uczp7Y2xhc3Nlczp7fSxkaXNhYmxlZDohMSxjcmVhdGU6bnVsbH0sX2NyZWF0ZVdpZGdldDpmdW5jdGlvbih0LGUpe2U9eChlfHx0aGlzLmRlZmF1bHRFbGVtZW50fHx0aGlzKVswXSx0aGlzLmVsZW1lbnQ9eChlKSx0aGlzLnV1aWQ9YysrLHRoaXMuZXZlbnROYW1lc3BhY2U9Ii4iK3RoaXMud2lkZ2V0TmFtZSt0aGlzLnV1aWQsdGhpcy5iaW5kaW5ncz14KCksdGhpcy5ob3ZlcmFibGU9eCgpLHRoaXMuZm9jdXNhYmxlPXgoKSx0aGlzLmNsYXNzZXNFbGVtZW50TG9va3VwPXt9LGUhPT10aGlzJiYoeC5kYXRhKGUsdGhpcy53aWRnZXRGdWxsTmFtZSx0aGlzKSx0aGlzLl9vbighMCx0aGlzLmVsZW1lbnQse3JlbW92ZTpmdW5jdGlvbih0KXt0LnRhcmdldD09PWUmJnRoaXMuZGVzdHJveSgpfX0pLHRoaXMuZG9jdW1lbnQ9eChlLnN0eWxlP2Uub3duZXJEb2N1bWVudDplLmRvY3VtZW50fHxlKSx0aGlzLndpbmRvdz14KHRoaXMuZG9jdW1lbnRbMF0uZGVmYXVsdFZpZXd8fHRoaXMuZG9jdW1lbnRbMF0ucGFyZW50V2luZG93KSksdGhpcy5vcHRpb25zPXgud2lkZ2V0LmV4dGVuZCh7fSx0aGlzLm9wdGlvbnMsdGhpcy5fZ2V0Q3JlYXRlT3B0aW9ucygpLHQpLHRoaXMuX2NyZWF0ZSgpLHRoaXMub3B0aW9ucy5kaXNhYmxlZCYmdGhpcy5fc2V0T3B0aW9uRGlzYWJsZWQodGhpcy5vcHRpb25zLmRpc2FibGVkKSx0aGlzLl90cmlnZ2VyKCJjcmVhdGUiLG51bGwsdGhpcy5fZ2V0Q3JlYXRlRXZlbnREYXRhKCkpLHRoaXMuX2luaXQoKX0sX2dldENyZWF0ZU9wdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm57fX0sX2dldENyZWF0ZUV2ZW50RGF0YTp4Lm5vb3AsX2NyZWF0ZTp4Lm5vb3AsX2luaXQ6eC5ub29wLGRlc3Ryb3k6ZnVuY3Rpb24oKXt2YXIgaT10aGlzO3RoaXMuX2Rlc3Ryb3koKSx4LmVhY2godGhpcy5jbGFzc2VzRWxlbWVudExvb2t1cCxmdW5jdGlvbih0LGUpe2kuX3JlbW92ZUNsYXNzKGUsdCl9KSx0aGlzLmVsZW1lbnQub2ZmKHRoaXMuZXZlbnROYW1lc3BhY2UpLnJlbW92ZURhdGEodGhpcy53aWRnZXRGdWxsTmFtZSksdGhpcy53aWRnZXQoKS5vZmYodGhpcy5ldmVudE5hbWVzcGFjZSkucmVtb3ZlQXR0cigiYXJpYS1kaXNhYmxlZCIpLHRoaXMuYmluZGluZ3Mub2ZmKHRoaXMuZXZlbnROYW1lc3BhY2UpfSxfZGVzdHJveTp4Lm5vb3Asd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudH0sb3B0aW9uOmZ1bmN0aW9uKHQsZSl7dmFyIGksbixvLHM9dDtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4geC53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyk7aWYoInN0cmluZyI9PXR5cGVvZiB0KWlmKHM9e30sdD0oaT10LnNwbGl0KCIuIikpLnNoaWZ0KCksaS5sZW5ndGgpe2ZvcihuPXNbdF09eC53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9uc1t0XSksbz0wO288aS5sZW5ndGgtMTtvKyspbltpW29dXT1uW2lbb11dfHx7fSxuPW5baVtvXV07aWYodD1pLnBvcCgpLDE9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1uW3RdP251bGw6blt0XTtuW3RdPWV9ZWxzZXtpZigxPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09dGhpcy5vcHRpb25zW3RdP251bGw6dGhpcy5vcHRpb25zW3RdO3NbdF09ZX1yZXR1cm4gdGhpcy5fc2V0T3B0aW9ucyhzKSx0aGlzfSxfc2V0T3B0aW9uczpmdW5jdGlvbih0KXtmb3IodmFyIGUgaW4gdCl0aGlzLl9zZXRPcHRpb24oZSx0W2VdKTtyZXR1cm4gdGhpc30sX3NldE9wdGlvbjpmdW5jdGlvbih0LGUpe3JldHVybiJjbGFzc2VzIj09PXQmJnRoaXMuX3NldE9wdGlvbkNsYXNzZXMoZSksdGhpcy5vcHRpb25zW3RdPWUsImRpc2FibGVkIj09PXQmJnRoaXMuX3NldE9wdGlvbkRpc2FibGVkKGUpLHRoaXN9LF9zZXRPcHRpb25DbGFzc2VzOmZ1bmN0aW9uKHQpe3ZhciBlLGksbjtmb3IoZSBpbiB0KW49dGhpcy5jbGFzc2VzRWxlbWVudExvb2t1cFtlXSx0W2VdIT09dGhpcy5vcHRpb25zLmNsYXNzZXNbZV0mJm4mJm4ubGVuZ3RoJiYoaT14KG4uZ2V0KCkpLHRoaXMuX3JlbW92ZUNsYXNzKG4sZSksaS5hZGRDbGFzcyh0aGlzLl9jbGFzc2VzKHtlbGVtZW50Omksa2V5czplLGNsYXNzZXM6dCxhZGQ6ITB9KSkpfSxfc2V0T3B0aW9uRGlzYWJsZWQ6ZnVuY3Rpb24odCl7dGhpcy5fdG9nZ2xlQ2xhc3ModGhpcy53aWRnZXQoKSx0aGlzLndpZGdldEZ1bGxOYW1lKyItZGlzYWJsZWQiLG51bGwsISF0KSx0JiYodGhpcy5fcmVtb3ZlQ2xhc3ModGhpcy5ob3ZlcmFibGUsbnVsbCwidWktc3RhdGUtaG92ZXIiKSx0aGlzLl9yZW1vdmVDbGFzcyh0aGlzLmZvY3VzYWJsZSxudWxsLCJ1aS1zdGF0ZS1mb2N1cyIpKX0sZW5hYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NldE9wdGlvbnMoe2Rpc2FibGVkOiExfSl9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2V0T3B0aW9ucyh7ZGlzYWJsZWQ6ITB9KX0sX2NsYXNzZXM6ZnVuY3Rpb24obyl7dmFyIHM9W10scj10aGlzO2Z1bmN0aW9uIHQodCxlKXtmb3IodmFyIGksbj0wO248dC5sZW5ndGg7bisrKWk9ci5jbGFzc2VzRWxlbWVudExvb2t1cFt0W25dXXx8eCgpLGk9by5hZGQ/KGZ1bmN0aW9uKCl7dmFyIGk9W107by5lbGVtZW50LmVhY2goZnVuY3Rpb24odCxlKXt4Lm1hcChyLmNsYXNzZXNFbGVtZW50TG9va3VwLGZ1bmN0aW9uKHQpe3JldHVybiB0fSkuc29tZShmdW5jdGlvbih0KXtyZXR1cm4gdC5pcyhlKX0pfHxpLnB1c2goZSl9KSxyLl9vbih4KGkpLHtyZW1vdmU6Il91bnRyYWNrQ2xhc3Nlc0VsZW1lbnQifSl9KCkseCh4LnVuaXF1ZVNvcnQoaS5nZXQoKS5jb25jYXQoby5lbGVtZW50LmdldCgpKSkpKTp4KGkubm90KG8uZWxlbWVudCkuZ2V0KCkpLHIuY2xhc3Nlc0VsZW1lbnRMb29rdXBbdFtuXV09aSxzLnB1c2godFtuXSksZSYmby5jbGFzc2VzW3Rbbl1dJiZzLnB1c2goby5jbGFzc2VzW3Rbbl1dKX1yZXR1cm4obz14LmV4dGVuZCh7ZWxlbWVudDp0aGlzLmVsZW1lbnQsY2xhc3Nlczp0aGlzLm9wdGlvbnMuY2xhc3Nlc3x8e319LG8pKS5rZXlzJiZ0KG8ua2V5cy5tYXRjaCgvXFMrL2cpfHxbXSwhMCksby5leHRyYSYmdChvLmV4dHJhLm1hdGNoKC9cUysvZyl8fFtdKSxzLmpvaW4oIiAiKX0sX3VudHJhY2tDbGFzc2VzRWxlbWVudDpmdW5jdGlvbihpKXt2YXIgbj10aGlzO3guZWFjaChuLmNsYXNzZXNFbGVtZW50TG9va3VwLGZ1bmN0aW9uKHQsZSl7LTEhPT14LmluQXJyYXkoaS50YXJnZXQsZSkmJihuLmNsYXNzZXNFbGVtZW50TG9va3VwW3RdPXgoZS5ub3QoaS50YXJnZXQpLmdldCgpKSl9KSx0aGlzLl9vZmYoeChpLnRhcmdldCkpfSxfcmVtb3ZlQ2xhc3M6ZnVuY3Rpb24odCxlLGkpe3JldHVybiB0aGlzLl90b2dnbGVDbGFzcyh0LGUsaSwhMSl9LF9hZGRDbGFzczpmdW5jdGlvbih0LGUsaSl7cmV0dXJuIHRoaXMuX3RvZ2dsZUNsYXNzKHQsZSxpLCEwKX0sX3RvZ2dsZUNsYXNzOmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciBvPSJzdHJpbmciPT10eXBlb2YgdHx8bnVsbD09PXQsZT17ZXh0cmE6bz9lOmksa2V5czpvP3Q6ZSxlbGVtZW50Om8/dGhpcy5lbGVtZW50OnQsYWRkOm49ImJvb2xlYW4iPT10eXBlb2Ygbj9uOml9O3JldHVybiBlLmVsZW1lbnQudG9nZ2xlQ2xhc3ModGhpcy5fY2xhc3NlcyhlKSxuKSx0aGlzfSxfb246ZnVuY3Rpb24obyxzLHQpe3ZhciByLGw9dGhpczsiYm9vbGVhbiIhPXR5cGVvZiBvJiYodD1zLHM9byxvPSExKSx0PyhzPXI9eChzKSx0aGlzLmJpbmRpbmdzPXRoaXMuYmluZGluZ3MuYWRkKHMpKToodD1zLHM9dGhpcy5lbGVtZW50LHI9dGhpcy53aWRnZXQoKSkseC5lYWNoKHQsZnVuY3Rpb24odCxlKXtmdW5jdGlvbiBpKCl7aWYob3x8ITAhPT1sLm9wdGlvbnMuZGlzYWJsZWQmJiF4KHRoaXMpLmhhc0NsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpKXJldHVybigic3RyaW5nIj09dHlwZW9mIGU/bFtlXTplKS5hcHBseShsLGFyZ3VtZW50cyl9InN0cmluZyIhPXR5cGVvZiBlJiYoaS5ndWlkPWUuZ3VpZD1lLmd1aWR8fGkuZ3VpZHx8eC5ndWlkKyspO3ZhciB0PXQubWF0Y2goL14oW1x3Oi1dKilccyooLiopJC8pLG49dFsxXStsLmV2ZW50TmFtZXNwYWNlLHQ9dFsyXTt0P3Iub24obix0LGkpOnMub24obixpKX0pfSxfb2ZmOmZ1bmN0aW9uKHQsZSl7ZT0oZXx8IiIpLnNwbGl0KCIgIikuam9pbih0aGlzLmV2ZW50TmFtZXNwYWNlKyIgIikrdGhpcy5ldmVudE5hbWVzcGFjZSx0Lm9mZihlKSx0aGlzLmJpbmRpbmdzPXgodGhpcy5iaW5kaW5ncy5ub3QodCkuZ2V0KCkpLHRoaXMuZm9jdXNhYmxlPXgodGhpcy5mb2N1c2FibGUubm90KHQpLmdldCgpKSx0aGlzLmhvdmVyYWJsZT14KHRoaXMuaG92ZXJhYmxlLm5vdCh0KS5nZXQoKSl9LF9kZWxheTpmdW5jdGlvbih0LGUpe3ZhciBpPXRoaXM7cmV0dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4oInN0cmluZyI9PXR5cGVvZiB0P2lbdF06dCkuYXBwbHkoaSxhcmd1bWVudHMpfSxlfHwwKX0sX2hvdmVyYWJsZTpmdW5jdGlvbih0KXt0aGlzLmhvdmVyYWJsZT10aGlzLmhvdmVyYWJsZS5hZGQodCksdGhpcy5fb24odCx7bW91c2VlbnRlcjpmdW5jdGlvbih0KXt0aGlzLl9hZGRDbGFzcyh4KHQuY3VycmVudFRhcmdldCksbnVsbCwidWktc3RhdGUtaG92ZXIiKX0sbW91c2VsZWF2ZTpmdW5jdGlvbih0KXt0aGlzLl9yZW1vdmVDbGFzcyh4KHQuY3VycmVudFRhcmdldCksbnVsbCwidWktc3RhdGUtaG92ZXIiKX19KX0sX2ZvY3VzYWJsZTpmdW5jdGlvbih0KXt0aGlzLmZvY3VzYWJsZT10aGlzLmZvY3VzYWJsZS5hZGQodCksdGhpcy5fb24odCx7Zm9jdXNpbjpmdW5jdGlvbih0KXt0aGlzLl9hZGRDbGFzcyh4KHQuY3VycmVudFRhcmdldCksbnVsbCwidWktc3RhdGUtZm9jdXMiKX0sZm9jdXNvdXQ6ZnVuY3Rpb24odCl7dGhpcy5fcmVtb3ZlQ2xhc3MoeCh0LmN1cnJlbnRUYXJnZXQpLG51bGwsInVpLXN0YXRlLWZvY3VzIil9fSl9LF90cmlnZ2VyOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbixvLHM9dGhpcy5vcHRpb25zW3RdO2lmKGk9aXx8e30sKGU9eC5FdmVudChlKSkudHlwZT0odD09PXRoaXMud2lkZ2V0RXZlbnRQcmVmaXg/dDp0aGlzLndpZGdldEV2ZW50UHJlZml4K3QpLnRvTG93ZXJDYXNlKCksZS50YXJnZXQ9dGhpcy5lbGVtZW50WzBdLG89ZS5vcmlnaW5hbEV2ZW50KWZvcihuIGluIG8pbiBpbiBlfHwoZVtuXT1vW25dKTtyZXR1cm4gdGhpcy5lbGVtZW50LnRyaWdnZXIoZSxpKSwhKCJmdW5jdGlvbiI9PXR5cGVvZiBzJiYhMT09PXMuYXBwbHkodGhpcy5lbGVtZW50WzBdLFtlXS5jb25jYXQoaSkpfHxlLmlzRGVmYXVsdFByZXZlbnRlZCgpKX19LHguZWFjaCh7c2hvdzoiZmFkZUluIixoaWRlOiJmYWRlT3V0In0sZnVuY3Rpb24ocyxyKXt4LldpZGdldC5wcm90b3R5cGVbIl8iK3NdPWZ1bmN0aW9uKGUsdCxpKXt2YXIgbixvPSh0PSJzdHJpbmciPT10eXBlb2YgdD97ZWZmZWN0OnR9OnQpPyEwIT09dCYmIm51bWJlciIhPXR5cGVvZiB0JiZ0LmVmZmVjdHx8cjpzOyJudW1iZXIiPT10eXBlb2YodD10fHx7fSk/dD17ZHVyYXRpb246dH06ITA9PT10JiYodD17fSksbj0heC5pc0VtcHR5T2JqZWN0KHQpLHQuY29tcGxldGU9aSx0LmRlbGF5JiZlLmRlbGF5KHQuZGVsYXkpLG4mJnguZWZmZWN0cyYmeC5lZmZlY3RzLmVmZmVjdFtvXT9lW3NdKHQpOm8hPT1zJiZlW29dP2Vbb10odC5kdXJhdGlvbix0LmVhc2luZyxpKTplLnF1ZXVlKGZ1bmN0aW9uKHQpe3godGhpcylbc10oKSxpJiZpLmNhbGwoZVswXSksdCgpfSl9fSl9KTs="}},"time_used":675,"timings":{"blocked":581,"dns":0,"connect":0,"send":0,"wait":94,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/15634.9ff500f40c3ec2496a9d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.807Z","timestamp":1785141584807,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/15634.9ff500f40c3ec2496a9d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-7a6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2543caa02b14b2dd212cbd2952a44de4\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1958,"size_decoded":1433,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1958), with no line terminators","md5":"1fe59f1cabe116d4c360e360391910cf","sha1":"6005a9d280a7661b640624f5309d0059e00f57a4","sha256":"4cac2a96f86db5b5ea7cc505de00925b8dff9a9b88157d33fa0832d728ab2d06","sha512":"4ce34a33edf60063dc9b5a69446b4f0f5b1870f1fa2980b7306e02ea292d73a9f2773611581f28e96d6bbf7d8c35367b6e71c21cc38b5073b921728dc3ced4b9","ssdeep":"","tlshash":"ef41545553f6b277e6b3453c6eaeb6944fb4403fab31168cb990e13847ef5500344d40","first_seen":"2026-07-22T16:00:00.46556Z","last_seen":"2026-07-27T14:53:25.860662Z","times_seen":374,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdzFiMzp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hNjAwKTstLV8xLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLV8xLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKX0uc3dpdGNoZXItbDNEdEtMc0x7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxleDowIDAgYXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ei1pbmRleDowOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uaW5wdXQtbDNEdEtMc0x7Y3Vyc29yOmRlZmF1bHQ7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxfS5pbnB1dC1sM0R0S0xzTDpjaGVja2VkLC5pbnB1dC1sM0R0S0xzTDpkaXNhYmxlZCwuaW5wdXQtbDNEdEtMc0w6Zm9jdXN7Ym9yZGVyOjA7b3V0bGluZTowfS5pbnB1dC1sM0R0S0xzTDpmb2N1cysudGh1bWJXcmFwcGVyLWwzRHRLTHNMOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmlucHV0LWwzRHRLTHNMOmZvY3VzLXZpc2libGUrLnRodW1iV3JhcHBlci1sM0R0S0xzTDphZnRlcntkaXNwbGF5OmJsb2NrfS5pbnB1dC1sM0R0S0xzTDpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpKy50aHVtYldyYXBwZXItbDNEdEtMc0w6YWZ0ZXJ7ZGlzcGxheTpub25lfS50aHVtYldyYXBwZXItbDNEdEtMc0x7ZGlzcGxheTpibG9jaztoZWlnaHQ6Zml0LWNvbnRlbnQ7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6Zml0LWNvbnRlbnR9LnRodW1iV3JhcHBlci1sM0R0S0xzTDpmb2N1c3tvdXRsaW5lOm5vbmV9LnRodW1iV3JhcHBlci1sM0R0S0xzTDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0udGh1bWJXcmFwcGVyLWwzRHRLTHNMOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6MjRweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO3otaW5kZXg6MX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpOmhvdmVyKy50aHVtYldyYXBwZXItbDNEdEtMc0x7LS11aS1saWItc3dpdGNoVmlldy1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsKX19LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpOmFjdGl2ZSsudGh1bWJXcmFwcGVyLWwzRHRLTHNMey0tdWktbGliLXN3aXRjaFZpZXctY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtbm9ybWFsKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpLmNoZWNrZWQtbDNEdEtMc0w6aG92ZXIrLnRodW1iV3JhcHBlci1sM0R0S0xzTHstLXVpLWxpYi1zd2l0Y2hWaWV3LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKX19LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpLmNoZWNrZWQtbDNEdEtMc0w6YWN0aXZlKy50aHVtYldyYXBwZXItbDNEdEtMc0x7LS11aS1saWItc3dpdGNoVmlldy1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42033.924dab781e4477f951bf.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.830Z","timestamp":1785141584830,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42033.924dab781e4477f951bf.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-546\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4cebab2e961a4fc133bee86062f3bdd7\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1350,"size_decoded":1336,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1350), with no line terminators","md5":"7c98cca7bd0ab83d00f5ad750cd683ff","sha1":"7a89c6639d621619d89ea005dbf2d00101a5da91","sha256":"4f175a5b3d47d9a959efb2afb182e6fdfe4188f1e5c50966f20d7a3c7f907de3","sha512":"c05bf66db7c0da939f8bdde39e4f9f9a3863dc04077d392f374562d984d5c23208f02a5141d9dd4b1b29dc9a4cbb3b12beeccb4507174a7ac4e5c8a215037f35","ssdeep":"","tlshash":"0621a268f28972ae9913e47f5b48a7ed1a55fc03d8025bd1f706912848ca7e711b1b8c","first_seen":"2026-06-30T21:57:43.291297Z","last_seen":"2026-07-27T12:48:39.802038Z","times_seen":222,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTFdkZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xLUxXZGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1fMi1MV2RkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtTFdkZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV8xLUxXZGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fMi1MV2RkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfS5pdGVtLVBCdHJ6WkNhe2FsbDp1bnNldDthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tXzAtTFdkZCk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87aGVpZ2h0OjEwMCU7cGFkZGluZzowIDNweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjB9Lml0ZW0tUEJ0cnpaQ2E6YmVmb3Jle2JvcmRlci1yYWRpdXM6NTAlO2JvdHRvbTowO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MjhweDtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWFyZ2luOmF1dG87b3V0bGluZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCkgbm9uZSAycHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MjhweDt6LWluZGV4Oi0xfS5pdGVtLVBCdHJ6WkNhOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi1MV2RkKTtjb250ZW50OiIifUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1QQnRyelpDYTpob3ZlcjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi1MV2RkKTtjb250ZW50OiIifX0uaXRlbS1QQnRyelpDYS5hY2Nlc3NpYmxlLVBCdHJ6WkNhOmZvY3VzLXZpc2libGU6YmVmb3Jle2NvbnRlbnQ6IiI7b3V0bGluZS1zdHlsZTpzb2xpZH0ucm91bmQtUEJ0cnpaQ2F7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLV8xLUxXZGQpO2JvcmRlci1yYWRpdXM6NTAlO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtmbGV4OjAgMCBhdXRvO2ZvbnQtc2l6ZToxMHB4O2hlaWdodDoyMHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MjBweDstLXR2LWxlYWRpbmctZW1vamktc2l6ZToxMnB4fS5hY3RpdmUtUEJ0cnpaQ2F7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSl9"}},"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/31001.c522294d3a28d9ca151c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.878Z","timestamp":1785141584878,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/31001.c522294d3a28d9ca151c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4231b8-8cb\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 29 Jun 2026 08:50:00 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/29/2026 10:50:36\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 792a587f49c6233d6c1d9de2635fcdd3\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2251,"size_decoded":1671,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2251), with no line terminators","md5":"6802e4f2b88f1b95b3c00f50a4733ffa","sha1":"647de376bdd1c6a00b3bda320180479f481eed40","sha256":"721bbd1ae2d8cabdcddb25c2c5ec1eac0fe34d80a62a58972723c006890ced6d","sha512":"47c3f5437805efa03927e47dda89e1716a920079d2309e3a9f9c91d01c60801556de3a55308e1f97f5eaa074cc0a0852bb4a7e3550f91850ebfef6726f80e95e","ssdeep":"","tlshash":"85415288f35090a77cd78cbad397560d2a08fe33d91086fee50d991892c2ae36111b18","first_seen":"2026-06-29T12:05:37.516387Z","last_seen":"2026-07-27T14:50:15.439701Z","times_seen":202,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtaG5IeTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTYwMCk7LS1fMS1obkh5OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLV8yLWhuSHk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tXzMtaG5IeTp2YXIoLS1jb2xvci10di1ibHVlLTQwMCl9LnN1YnRpdGxlLWJMVEJoQ3dKe2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIxcHh9LnN1YnRpdGxlLWJMVEJoQ3dKIC50ZXh0LWJMVEJoQ3dKe2ZsZXg6MSAwIDA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnN1bW1hcnktYkxUQmhDd0p7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMjc3ZGVnLCNmZmYwIDcwLjAyJSwjZDUwMGY5MWEgMTAwLjIxJSksbGluZWFyLWdyYWRpZW50KDI2M2RlZywjZmZmMCA2OS45MyUsIzAwZTVmZjFhKSxsaW5lYXItZ3JhZGllbnQoNzlkZWcsI2ZmZjAgNjUuODQlLCNkNTAwZjkxYSksbGluZWFyLWdyYWRpZW50KDEwMWRlZywjZmZmMCA2NS45JSwjMDBlNWZmMWEgMTAwLjEzJSk7Ym9yZGVyLXJhZGl1czo4cHg7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDttYXJnaW4tYm90dG9tOjhweDtwYWRkaW5nOjhweDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxM3B4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpO2xpbmUtaGVpZ2h0OjE4cHh9LnN1bW1hcnktYkxUQmhDd0o6Zmlyc3QtY2hpbGQ6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGVlcC1ibHVlLWEyMDApO2NvbnRlbnQ6IiAiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxOHB4Oy13ZWJraXQtbWFzay1pbWFnZTp1cmwoc2l6ZV8xOHB4X19maWxsZWRfb25fX3R5cGVfZG91YmxlLmU2M2FmZDYzMGNkYWM4Zjc0ZWM4LnN2Zyk7bWFzay1pbWFnZTp1cmwoc2l6ZV8xOHB4X19maWxsZWRfb25fX3R5cGVfZG91YmxlLmU2M2FmZDYzMGNkYWM4Zjc0ZWM4LnN2Zyk7dmVydGljYWwtYWxpZ246Ym90dG9tO3dpZHRoOjE4cHh9Lmdyb3VwLWJMVEJoQ3dKe3BhZGRpbmctdG9wOjEycHh9Lmdyb3VwSWNvbi1iTFRCaEN3Sntib3JkZXItcmFkaXVzOjlweDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjdweDt2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MThweH0uZ3JvdXBJY29uLWJMVEJoQ3dKLmJlZm9yZU1hcmtldE9wZW4tYkxUQmhDd0p7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1saWdodCk7Y29sb3I6dmFyKC0tXzAtaG5IeSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ncm91cEljb24tYkxUQmhDd0ouYmVmb3JlTWFya2V0T3Blbi1iTFRCaEN3Sjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLW5vcm1hbCl9fS5ncm91cEljb24tYkxUQmhDd0ouYWZ0ZXJNYXJrZXRDbG9zZS1iTFRCaEN3SntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbGlnaHQpO2NvbG9yOnZhcigtLV8yLWhuSHkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZ3JvdXBJY29uLWJMVEJoQ3dKLmFmdGVyTWFya2V0Q2xvc2UtYkxUQmhDd0o6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLW5vcm1hbCl9fS5ncm91cFRpdGxlLWJMVEJoQ3dKe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi40cHg7bGluZS1oZWlnaHQ6MTZweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lmdyb3VwUm93LWJMVEJoQ3dKe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3d9Lmdyb3VwQ2VsbC1iTFRCaEN3SntmbGV4OjEgMCAwfS5ncm91cC1iTFRCaEN3SiAudGV4dC1iTFRCaEN3Sntmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMnB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/31837.d368caa64d494a4087cc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.114Z","timestamp":1785141584114,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/31837.d368caa64d494a4087cc.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-5656\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3038309127a8c7d848b44e2d2027b13f\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":22102,"size_decoded":4305,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (22102), with no line terminators","md5":"723a7e925325b3ef2a66b0c084a39bdd","sha1":"6a1663dea4b2b18ff687ee9767a12412fb13768d","sha256":"8eb306a311580ce73c3d612ed0ae486994b351a828db7b8fb04c56c89824ba82","sha512":"c0282c69a16641bab7619996a69102f8dc69001ea8a81a80217b27e27aedc0c796accdbf3990fcb955facdc82faa2cb8b455065be32e8d0c3ca62c73e94d5c22","ssdeep":"192:9n/er85dIvw/pxhIJmhxiDmCtskjYzbgwH:1mQz3vgwH","tlshash":"65a236ebed91d7aeeb075f39035a9d2877519dc28a103f5ab221d0c106e2af5607f603","first_seen":"2026-03-24T10:46:27.371959Z","last_seen":"2026-07-27T14:50:15.371351Z","times_seen":1103,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAteTJaWDojZWNlY2VjOy0tXzEteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLV8yLXkyWlg6dmFyKC0tY29sb3Itd2hpdGUpOy0tXzMteTJaWDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tXzQteTJaWDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tXzUteTJaWDp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tXzYteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV83LXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fOC15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tXzkteTJaWDp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMTAteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xMS15MlpYOnZhcigtLWNvbG9yLXdoaXRlKTstLV8xMi15MlpYOnZhcigtLWNvbG9yLXdoaXRlKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1fMS15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tXzIteTJaWDp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMy15MlpYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1fNC15MlpYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1fNS15MlpYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fNi15MlpYOnZhcigtLWNvbG9yLXdoaXRlKTstLV83LXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1fOC15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzkteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xMC15MlpYOnZhcigtLWNvbG9yLXdoaXRlKTstLV8xMS15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzEyLXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9LnR2LWJ1dHRvbntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDozMnB4O21hcmdpbjowO21pbi13aWR0aDo0MHB4O3BhZGRpbmc6MXB4IDIycHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcDtmaWxsOmN1cnJlbnRDb2xvcjtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNpemluZzpib3JkZXItYm94O2N1cnNvcjpwb2ludGVyO291dGxpbmU6MDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMzVzIGVhc2UsYm9yZGVyLWNvbG9yIC4zNXMgZWFzZSxjb2xvciAuMzVzIGVhc2V9LnR2LWJ1dHRvbi50di1idXR0b24tLWRhbmdlcl9naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24udHYtYnV0dG9uLS1zdGF0ZSwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtwYWRkaW5nOjAgMjFweH0udHYtYnV0dG9uLmktYWN0aXZlLC50di1idXR0b24uaS1ob3ZlciwudHYtYnV0dG9uOmFjdGl2ZXt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b246aG92ZXJ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtYnV0dG9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LWJ1dHRvbi0tYmxvY2t7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlfS50di1idXR0b24rLnR2LWJ1dHRvbnttYXJnaW4taW5saW5lLXN0YXJ0OjE1cHh9LnR2LWJ1dHRvbi50di1idXR0b24tLW5vLWxlZnQtbWFyZ2lue21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtYnV0dG9uX190ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS50di1idXR0b25fX3RleHQtLWZ1bGwtaGVpZ2h0e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWw7d2lkdGg6MTAwJTt3b3JkLXdyYXA6YnJlYWstd29yZDtsaW5lLWhlaWdodDoxLjJlbTttYXJnaW46MTFweCA1cHh9LnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LGEudHYtYnV0dG9uLS1kZWZhdWx0OnZpc2l0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ib2R5LWJnKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYm9keS1iZyk7Y29sb3I6I2ZmZn0udHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0e2NvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpfS50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9keS1iZyk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2NvbG9yOiNmZmZ9LnR2LWJ1dHRvbi0tZGVmYXVsdC5pLWFjdGl2ZSwudHYtYnV0dG9uLS1kZWZhdWx0OmFjdGl2ZSwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LmktYWN0aXZlLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAteTJaWCk7Ym9yZGVyLWNvbG9yOnZhcigtLV8wLXkyWlgpO2NvbG9yOiNmZmY7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1kZWZhdWx0LmktaG92ZXIsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdC5pLWhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnV0dG9uLWhvdmVyLWJnKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYnV0dG9uLWhvdmVyLWJnKTtjb2xvcjojZmZmfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1kZWZhdWx0OmhvdmVyLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24taG92ZXItYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24taG92ZXItYmcpO2NvbG9yOiNmZmZ9fS50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24taG92ZXItYmcpfS50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QuaS1ob3ZlciAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6aG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojZmZmfX0udHYtYnV0dG9uLS1kZWZhdWx0LC50di1idXR0b24tLWRlZmF1bHQuaS1jaGVja2VkLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdC5pLWNoZWNrZWR7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9LnR2LWJ1dHRvbi0tZGVmYXVsdC5pLWhvdmVyLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QuaS1ob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLWRlZmF1bHQ6aG92ZXIsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9fS50di1idXR0b24tLWRlZmF1bHQuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tZGVmYXVsdDphY3RpdmUsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdC5pLWFjdGl2ZSwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0OmFjdGl2ZXtib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9LnR2LWJ1dHRvbi0tcHJpbWFyeSwudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LGEudHYtYnV0dG9uLS1wcmltYXJ5OnZpc2l0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzYteTJaWCk7Y29sb3I6dmFyKC0tXzkteTJaWCl9LnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdHtjb2xvcjp2YXIoLS1fNi15MlpYKX0udHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV82LXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fNi15MlpYKTtjb2xvcjp2YXIoLS1fOS15MlpYKX0udHYtYnV0dG9uLS1wcmltYXJ5LmktYWN0aXZlLC50di1idXR0b24tLXByaW1hcnk6YWN0aXZlLC50di1idXR0b24tLXByaW1hcnlfZ2hvc3QuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fOC15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzgteTJaWCk7Y29sb3I6dmFyKC0tXzkteTJaWCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1wcmltYXJ5LmktaG92ZXIsLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdC5pLWhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzcteTJaWCk7Ym9yZGVyLWNvbG9yOnZhcigtLV83LXkyWlgpO2NvbG9yOnZhcigtLV85LXkyWlgpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1wcmltYXJ5OmhvdmVyLC50di1idXR0b24tLXByaW1hcnlfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNy15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzcteTJaWCk7Y29sb3I6dmFyKC0tXzkteTJaWCl9fS50di1idXR0b24tLXByaW1hcnlfZ2hvc3QgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNy15MlpYKX0udHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LmktaG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fOS15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdDpob3ZlciAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV85LXkyWlgpfX0udHYtYnV0dG9uLS1zZWNvbmRhcnksLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LGEudHYtYnV0dG9uLS1zZWNvbmRhcnk6dmlzaXRlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3R7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9LnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1zZWNvbmRhcnkuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5OmFjdGl2ZSwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0OmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNkMWRiZjA7Ym9yZGVyLWNvbG9yOiNkMWRiZjA7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1zZWNvbmRhcnkuaS1ob3ZlciwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlMWU3ZjU7Ym9yZGVyLWNvbG9yOiNlMWU3ZjU7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXNlY29uZGFyeTpob3ZlciwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZTFlN2Y1O2JvcmRlci1jb2xvcjojZTFlN2Y1O2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApfX0udHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojZTFlN2Y1fS50di1idXR0b24tLXNlY29uZGFyeV9naG9zdC5pLWhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXNlY29uZGFyeV9naG9zdDpob3ZlciAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApfX0udHYtYnV0dG9uLS1zdWNjZXNzLC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsYS50di1idXR0b24tLXN1Y2Nlc3M6dmlzaXRlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzKTtjb2xvcjp2YXIoLS1fMi15MlpYKX0udHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0e2NvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpfS50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcyk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpO2NvbG9yOnZhcigtLV8yLXkyWlgpfS50di1idXR0b24tLXN1Y2Nlc3MuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tc3VjY2VzczphY3RpdmUsLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdC5pLWFjdGl2ZSwudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0OmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtYWN0aXZlKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1hY3RpdmUpO2NvbG9yOnZhcigtLV8yLXkyWlgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCl9LnR2LWJ1dHRvbi0tc3VjY2Vzcy5pLWhvdmVyLC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtaG92ZXIpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWhvdmVyKTtjb2xvcjp2YXIoLS1fMi15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3VjY2Vzczpob3ZlciwudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1ob3Zlcik7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtaG92ZXIpO2NvbG9yOnZhcigtLV8yLXkyWlgpfX0udHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0IC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1ob3Zlcil9LnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdC5pLWhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIteTJaWCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3Q6aG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi15MlpYKX19LnR2LWJ1dHRvbi0tZGFuZ2VyLC50di1idXR0b24tLWRhbmdlcl9naG9zdCxhLnR2LWJ1dHRvbi0tZGFuZ2VyOnZpc2l0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzMteTJaWCk7Y29sb3I6dmFyKC0tXzIteTJaWCl9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0e2NvbG9yOnZhcigtLV8zLXkyWlgpfS50di1idXR0b24tLWRhbmdlcl9naG9zdC5pLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzMteTJaWCk7Y29sb3I6dmFyKC0tXzIteTJaWCl9LnR2LWJ1dHRvbi0tZGFuZ2VyLmktYWN0aXZlLC50di1idXR0b24tLWRhbmdlcjphY3RpdmUsLnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LmktYWN0aXZlLC50di1idXR0b24tLWRhbmdlcl9naG9zdDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNS15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzUteTJaWCk7Y29sb3I6dmFyKC0tXzIteTJaWCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1kYW5nZXIuaS1ob3ZlciwudHYtYnV0dG9uLS1kYW5nZXJfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV80LXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fNC15MlpYKTtjb2xvcjp2YXIoLS1fMi15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tZGFuZ2VyOmhvdmVyLC50di1idXR0b24tLWRhbmdlcl9naG9zdDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV80LXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fNC15MlpYKTtjb2xvcjp2YXIoLS1fMi15MlpYKX19LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0IC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzQteTJaWCl9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LmktaG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0OmhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIteTJaWCl9fS50di1idXR0b24tLXdhcm5pbmcsLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdCxhLnR2LWJ1dHRvbi0td2FybmluZzp2aXNpdGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7Y29sb3I6I2ZmZn0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0e2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApO2NvbG9yOiNmZmZ9LnR2LWJ1dHRvbi0td2FybmluZy5pLWFjdGl2ZSwudHYtYnV0dG9uLS13YXJuaW5nOmFjdGl2ZSwudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LmktYWN0aXZlLC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3Q6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNjAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNjAwKTtjb2xvcjojZmZmO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCl9LnR2LWJ1dHRvbi0td2FybmluZy5pLWhvdmVyLC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTQwMCk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTQwMCk7Y29sb3I6I2ZmZn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0td2FybmluZzpob3ZlciwudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTtjb2xvcjojZmZmfX0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0IC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKX0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LmktaG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojZmZmfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0OmhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6I2ZmZn19LnR2LWJ1dHRvbi0tbGluaywudHYtYnV0dG9uLS1saW5rOnZpc2l0ZWR7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1saW5rOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcik7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpfX0udHYtYnV0dG9uLS1saW5rOmFjdGl2ZXtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpfS50di1idXR0b24tLWxpbms6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtYnV0dG9uLS1saW5rOmZvY3VzLXZpc2libGV7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtYnV0dG9uLS1saW5rOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZTpub25lfS50di1idXR0b24tLWRhbmdlcl9naG9zdCwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LC50di1idXR0b24tLXByaW1hcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHh9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZSwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZSwudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZSwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdle2JvcmRlci13aWR0aDoycHh9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZS50di1idXR0b24tLXRoaW4tYm9yZGVyLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLnR2LWJ1dHRvbi0tdGhpbi1ib3JkZXIsLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS10aGluLWJvcmRlciwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLnR2LWJ1dHRvbi0tdGhpbi1ib3JkZXIsLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS10aGluLWJvcmRlciwudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZS50di1idXR0b24tLXRoaW4tYm9yZGVye2JvcmRlci13aWR0aDoxcHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC15MlpYKX19LnR2LWJ1dHRvbi5pLWRpc2FibGVkLC50di1idXR0b24uaS1kaXNhYmxlZDphY3RpdmUsLnR2LWJ1dHRvbjpkaXNhYmxlZCwudHYtYnV0dG9uOmRpc2FibGVkOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fMS15MlpYKTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LWRpc2FibGVkKTtjdXJzb3I6ZGVmYXVsdH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi5pLWRpc2FibGVkOmhvdmVyLC50di1idXR0b246ZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMS15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzEteTJaWCk7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1kaXNhYmxlZCk7Y3Vyc29yOmRlZmF1bHR9fS50di1idXR0b24uaS1kaXNhYmxlZDphY3RpdmUsLnR2LWJ1dHRvbjpkaXNhYmxlZDphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnR2LWJ1dHRvbi0tc2l6ZV94c21hbGx7Ym9yZGVyLXJhZGl1czoxcHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjE1cHg7cGFkZGluZzoycHggN3B4fS50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLS1zaXplX3hzbWFsbC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV94c21hbGwudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tc3RhdGUsLnR2LWJ1dHRvbi0tc2l6ZV94c21hbGwudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtwYWRkaW5nOjFweCA2cHh9LnR2LWJ1dHRvbi0tc2l6ZV94c21hbGwrLnR2LWJ1dHRvbi0tc2l6ZV94c21hbGx7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4fS50di1idXR0b24tLXNpemVfc21hbGx7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MjVweDtwYWRkaW5nOjFweCAxMnB4fS50di1idXR0b24tLXNpemVfc21hbGwudHYtYnV0dG9uLS1kYW5nZXJfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLWRlZmF1bHQsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXByaW1hcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXNlY29uZGFyeV9naG9zdCwudHYtYnV0dG9uLS1zaXplX3NtYWxsLnR2LWJ1dHRvbi0tc3RhdGUsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3R7cGFkZGluZzowIDExcHh9LnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbCsudHYtYnV0dG9uLS1zaXplX3NtYWxse21hcmdpbi1pbmxpbmUtc3RhcnQ6MTBweH0udHYtYnV0dG9uLS1zaXplX2xhcmdle2ZvbnQtc2l6ZToxN3B4O2xpbmUtaGVpZ2h0OjQ0cHg7cGFkZGluZzoxcHggMzBweH0udHYtYnV0dG9uLS1zaXplX2xhcmdlLnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1kZWZhdWx0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZS50di1idXR0b24tLXN0YXRlLC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0e3BhZGRpbmc6MCAyOXB4fS50di1idXR0b24tLXNpemVfcHJvbW97Ym9yZGVyLXJhZGl1czoxMjBweDtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDo1NHB4O3BhZGRpbmc6MXB4IDQwcHh9LnR2LWJ1dHRvbi0tc2l6ZV9wcm9tby50di1idXR0b24tLWRhbmdlcl9naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfcHJvbW8udHYtYnV0dG9uLS1zdGF0ZSwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtwYWRkaW5nOjAgMzlweH0udHYtYnV0dG9uLS1uby1wYWRkaW5ne3BhZGRpbmc6MXB4fS50di1idXR0b24tLW5vLXBhZGRpbmcudHYtYnV0dG9uLS1kYW5nZXJfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLWRlZmF1bHQsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXByaW1hcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXNlY29uZGFyeV9naG9zdCwudHYtYnV0dG9uLS1uby1wYWRkaW5nLnR2LWJ1dHRvbi0tc3RhdGUsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXdhcm5pbmdfZ2hvc3R7cGFkZGluZzowfS50di1idXR0b24tLXN0YXRle2JhY2tncm91bmQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDt0ZXh0LWFsaWduOmNlbnRlcn0udHYtYnV0dG9uLS1zdGF0ZTphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS50di1idXR0b24tLXN0YXRlX19jaGVja2VkLC50di1idXR0b24tLXN0YXRlX191bmNoZWNrLWhpbnQsLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2tlZHtkaXNwbGF5OmJsb2NrO2hlaWdodDowO3RyYW5zaXRpb246b3BhY2l0eSAuMjYyNXMgZWFzZSx0cmFuc2Zvcm0gLjI2MjVzIGVhc2V9LnR2LWJ1dHRvbi0tc3RhdGVfX2VsbGlwc2lzLXRleHR7ZGlzcGxheTpibG9jaztvdmVyZmxvdy14OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkOmhvdmVyIC50di1idXR0b24tLXN0YXRlX19jaGVja2VkLC50di1idXR0b24tLXN0YXRlLmktY2hlY2tlZDpob3ZlciAudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVjay1oaW50LC50di1idXR0b24tLXN0YXRlLmktY2hlY2tlZDpob3ZlciAudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVja2Vke3dpbGwtY2hhbmdlOm9wYWNpdHksdHJhbnNmb3JtfX0udHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVjay1oaW50e29wYWNpdHk6MH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkOmhvdmVyIC50di1idXR0b24tLXN0YXRlX19jaGVja2Vke29wYWNpdHk6MH19LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkIC50di1idXR0b24tLXN0YXRlX19jaGVja2VkLC50di1idXR0b24tLXN0YXRlX191bmNoZWNrZWR7b3BhY2l0eToxfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQ6aG92ZXIgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2staGludHtvcGFjaXR5OjF9LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkOmhvdmVyIC50di1idXR0b24tLXN0YXRlX19jaGVja2Vke3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpfX0udHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVjay1oaW50e3RyYW5zZm9ybTp0cmFuc2xhdGVZKDVweCl9LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkIC50di1idXR0b24tLXN0YXRlX19jaGVja2Vke3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQ6aG92ZXIgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2staGludHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtjb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXN1Y2Nlc3MuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcyk7Y29sb3I6dmFyKC0tXzIteTJaWCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tc3VjY2Vzczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtaG92ZXIpO2NvbG9yOnZhcigtLV8yLXkyWlgpfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXN1Y2Nlc3M6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1hY3RpdmUpO2NvbG9yOnZhcigtLV8yLXkyWlgpfS50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tZGFuZ2Vye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtjb2xvcjp2YXIoLS1fMy15MlpYKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLWRhbmdlci5pLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApO2NvbG9yOiNmZmZ9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tZGFuZ2VyOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTtjb2xvcjojZmZmfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLWRhbmdlcjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApO2NvbG9yOiNmZmZ9LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtjb2xvcjp2YXIoLS1fMTAteTJaWCl9LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV84LXkyWlgpO2NvbG9yOnZhcigtLV8xMS15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzcteTJaWCk7Y29sb3I6dmFyKC0tXzExLXkyWlgpfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXByaW1hcnk6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzgteTJaWCk7Y29sb3I6dmFyKC0tXzExLXkyWlgpfS50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdC1ob3Zlci5pLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpO2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LWhvdmVyOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQtaG92ZXIpO2NvbG9yOnZhcigtLV8yLXkyWlgpfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXByaW1hcnlfZ2hvc3QtaG92ZXI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQtYWN0aXZlKTtjb2xvcjp2YXIoLS1fMi15MlpYKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXNlY29uZGFyeXtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1zZWNvbmRhcnkuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2UxZTdmNTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX19LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1zZWNvbmRhcnk6YWN0aXZle2JhY2tncm91bmQtY29sb3I6I2QxZGJmMDtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXdhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXdhcm5pbmcuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApO2NvbG9yOiNmZmZ9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0td2FybmluZzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTQwMCk7Y29sb3I6I2ZmZn19LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS13YXJuaW5nOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTYwMCk7Y29sb3I6I2ZmZn0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLWljb24td2l0aC10ZXh0IHN2Z3ttYXJnaW4taW5saW5lLWVuZDo2cHg7bWFyZ2luLWJvdHRvbTotOHB4O3ZlcnRpY2FsLWFsaWduOnVuc2V0fS50di1idXR0b24tLWljb257YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjM0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttaW4td2lkdGg6YXV0bztwYWRkaW5nOjAhaW1wb3J0YW50O3dpZHRoOjM0cHh9LnR2LWJ1dHRvbi0taWNvbi50di1idXR0b24tLXNpemVfeHNtYWxse2hlaWdodDoxOXB4O3dpZHRoOjE5cHh9LnR2LWJ1dHRvbi0taWNvbi50di1idXR0b24tLXNpemVfc21hbGx7aGVpZ2h0OjI3cHg7d2lkdGg6MjdweH0udHYtYnV0dG9uLS1pY29uLnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZXtoZWlnaHQ6NDZweDt3aWR0aDo0NnB4fS50di1idXR0b25fX2ljb257ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtZW5kOjdweH0udHYtYnV0dG9uLS1sb2FkZXIgLnR2LWJ1dHRvbl9fdGV4dHt0cmFuc2l0aW9uOm9wYWNpdHkgMTc1bXMgZWFzZSx0cmFuc2Zvcm0gMTc1bXMgZWFzZX0udHYtYnV0dG9uLS1sb2FkZXIuaS1zdGFydC1sb2FkIC50di1idXR0b25fX3RleHR7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpfS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fdGV4dHtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNXB4KX0udHYtYnV0dG9uLS1sb2FkZXIuaS1zdG9wLWxvYWQgLnR2LWJ1dHRvbl9fdGV4dHtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNpdGlvbi1kZWxheToxNzVtc30udHYtYnV0dG9uX19sb2FkZXJ7Ym90dG9tOjA7Zm9udC1zaXplOjA7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO21hcmdpbjowIGF1dG87b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RvcDowO3RyYW5zaXRpb246b3BhY2l0eSAuMzVzIGVhc2V9LnR2LWJ1dHRvbl9fbG9hZGVyOmFmdGVye2NvbnRlbnQ6IiI7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwMCU7dmVydGljYWwtYWxpZ246bWlkZGxlfS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fbG9hZGVyLC50di1idXR0b24tLWxvYWRlci5pLXN0YXJ0LWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVye29wYWNpdHk6MX0udHYtYnV0dG9uLS1sb2FkZXIuaS1zdG9wLWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVye29wYWNpdHk6MH0udHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xMi15MlpYKTtib3JkZXItcmFkaXVzOjEwMCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwcHg7bWFyZ2luLWlubGluZS1lbmQ6MnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMnB4KSBzY2FsZSguNik7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBjdWJpYy1iZXppZXIoLjY4LC0uNTUsLjI2NSwxLjU1KSxvcGFjaXR5IC4zNXMgZWFzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MTBweH0udHYtYnV0dG9uX19sb2FkZXItaXRlbTpudGgtY2hpbGQoMil7dHJhbnNpdGlvbi1kZWxheTouMTE2NjY2NjdzfS50di1idXR0b25fX2xvYWRlci1pdGVtOm50aC1jaGlsZCgzKXt0cmFuc2l0aW9uLWRlbGF5OjIzMy4zMzMzM21zfS50di1idXR0b24tLWRlZmF1bHQgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1sb2FkZXIuaS1sb2FkaW5nIC50di1idXR0b25fX2xvYWRlci1pdGVtLC50di1idXR0b24tLWxvYWRlci5pLXN0YXJ0LWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17b3BhY2l0eToxfS50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtvcGFjaXR5OjB9LnR2LWJ1dHRvbi0tbG9hZGVyLmktbG9hZGluZyAudHYtYnV0dG9uX19sb2FkZXItaXRlbSwudHYtYnV0dG9uLS1sb2FkZXIuaS1zdGFydC1sb2FkIC50di1idXR0b25fX2xvYWRlci1pdGVtLC50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSguNil9LnR2LWJ1dHRvbi0tbG9hZGVyLmktbG9hZGluZyAudHYtYnV0dG9uX19sb2FkZXItaXRlbSwudHYtYnV0dG9uLS1sb2FkZXIuaS1zdG9wLWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YW5pbWF0aW9uOnR2LWJ1dHRvbi1sb2FkZXItWWpkSEtzQk0gLjk2cyBlYXNlLWluLW91dCBpbmZpbml0ZSBib3RofS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW06bnRoLWNoaWxkKDIpLC50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbTpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4xNTFzfS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW06bnRoLWNoaWxkKDMpLC50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbTpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4zMnN9LnR2LWJ1dHRvbi0tbm8tYm9yZGVyLXJhZGl1c3tib3JkZXItcmFkaXVzOjB9LnR2LWJ1dHRvbi0tbm8tYm9yZGVye2JvcmRlcjpub25lfS50di1idXR0b24tLWNvbm5lY3R7Ym9yZGVyLXJhZGl1czowfS50di1idXR0b24tLWNvbm5lY3RfbGVmdHtib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowO2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6MH0udHYtYnV0dG9uLS1jb25uZWN0X3JpZ2h0e2JvcmRlci1lbmQtZW5kLXJhZGl1czowO2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9LnR2LWJ1dHRvbi0td2l0aC1pY29ue2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9QGtleWZyYW1lcyB0di1idXR0b24tbG9hZGVyLVlqZEhLc0JNezAlLHRve3RyYW5zZm9ybTpzY2FsZSguNil9NTAle3RyYW5zZm9ybTpzY2FsZSguOSl9fQ=="}},"time_used":5,"timings":{"blocked":-1,"dns":1,"connect":1,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/75217.8bfd234354863130e2e0.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.734Z","timestamp":1785141584734,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/75217.8bfd234354863130e2e0.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323ca6-c52\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:20:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:15:35\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6b835a30755d47ff9850e325c132cec8\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3154,"size_decoded":1710,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3154), with no line terminators","md5":"3769691bb164341f7e317cc239ff0c44","sha1":"30fb0806e24700cbe465c6e23625f8c54f7d81d0","sha256":"5a44f7b43f7cddd61283088bc8588ab2e403da2614a2b11033b868fe41252f57","sha512":"af441b79c8ec24b217485a344904104dfdbeeb191c486f83c61059638f6ec7ad8d10444382314e3be3339643770c1e016f64a4d41c108fe0d4c7b3ca23c23d93","ssdeep":"","tlshash":"d1512130e7e9ebbb7e1e9612f38082caa443de56da1e8cb65c87d59190d05c106313fd","first_seen":"2026-06-17T17:50:59.571321Z","last_seen":"2026-07-27T14:50:15.415812Z","times_seen":435,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTjVoMzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLU41aDM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnBvcHVwV2lkZ2V0V3JhcHBlci1BNHYwZGwxN3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpfS5wb3B1cFdpZGdldFdpZHRoLUE0djBkbDE3ey0tdWktbGliLWluLXBvc2l0aW9uZXItbWF4V2lkdGg6MzgwcHg7LS11aS1saWItaW4tcG9zaXRpb25lci1taW5XaWR0aDptaW4oMzgwcHgsdmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvcldpZHRoLDBweCkpfS5wb3B1cFdpZGdldC1BNHYwZGwxN3tib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtZW5kOmNhbGModmFyKC0tdWktbGliLXBvcG92ZXItY29udGVudC12ZXJ0aWNhbC1jYWxjdWxhdGVkLXBhZGRpbmcsIDBweCkqLTEpO21hcmdpbi1pbmxpbmUtc3RhcnQ6Y2FsYyh2YXIoLS11aS1saWItcG9wb3Zlci1jb250ZW50LXZlcnRpY2FsLWNhbGN1bGF0ZWQtcGFkZGluZywgMHB4KSotMSk7b3V0bGluZTpub25lO3BhZGRpbmc6MTZweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTc6bGFzdC1jaGlsZHtwYWRkaW5nLWJvdHRvbToxMHB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNzpmaXJzdC1jaGlsZHtwYWRkaW5nLXRvcDoxMXB4fUBtZWRpYSAobWluLXdpZHRoOjQ0MHB4KXsucG9wdXBXaWRnZXQtQTR2MGRsMTcubGFyZ2UtQTR2MGRsMTd7bWF4LXdpZHRoOjM1NHB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNy5tb2JpbGUtQTR2MGRsMTd7bWF4LXdpZHRoOjEwMCV9LnBvcHVwV2lkZ2V0LUE0djBkbDE3e21heC13aWR0aDozNDRweH19LnBvcHVwV2lkZ2V0LUE0djBkbDE3Om5vdCg6bGFzdC1jaGlsZCl7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tXzAtTjVoMyl9LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5kZXNjLUE0djBkbDE3e2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSBhdXRvO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXgtd2lkdGg6MTAwJTt3aWR0aDpjYWxjKDEwMCUgLSAxNnB4KTt3b3JkLXdyYXA6YnJlYWstd29yZDtvdmVyZmxvdzpoaWRkZW59LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5pY29uLUE0djBkbDE3e2ZsZXg6MCAwIGF1dG87bWFyZ2luLWJsb2NrOjJweCAycHg7bWFyZ2luLWlubGluZTowIDZweDtvdmVyZmxvdzpoaWRkZW59LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5pY29uLUE0djBkbDE3LnNtYWxsLUE0djBkbDE3e2JvcmRlci1yYWRpdXM6OXB4O2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5pY29uLUE0djBkbDE3Lm1lZGl1bS1BNHYwZGwxN3tib3JkZXItcmFkaXVzOjExcHg7aGVpZ2h0OjIycHg7d2lkdGg6MjJweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLmljb24tQTR2MGRsMTcubGFyZ2UtQTR2MGRsMTd7Ym9yZGVyLXJhZGl1czo4cHg7aGVpZ2h0OjI4cHg7d2lkdGg6MjhweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLnRpdGxlLUE0djBkbDE3e2FsaWduLWl0ZW1zOmNlbnRlcjtjb2x1bW4tZ2FwOjZweDtkaXNwbGF5OmZsZXg7Zm9udC13ZWlnaHQ6NjAwfS5wb3B1cFdpZGdldC1BNHYwZGwxNyAudGl0bGUtQTR2MGRsMTcuc21hbGwtQTR2MGRsMTd7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjJweDttYXJnaW4tYm90dG9tOjRweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLnRpdGxlLUE0djBkbDE3Lm1lZGl1bS1BNHYwZGwxN3tmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoyNnB4O21hcmdpbi1ib3R0b206MnB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNyAudGl0bGUtQTR2MGRsMTcubGFyZ2UtQTR2MGRsMTd7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MzJweDttYXJnaW4tYm90dG9tOjJweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLnRleHQtQTR2MGRsMTcuc21hbGwtQTR2MGRsMTd7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjFweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLnRleHQtQTR2MGRsMTcubGFyZ2UtQTR2MGRsMTcsLnBvcHVwV2lkZ2V0LUE0djBkbDE3IC50ZXh0LUE0djBkbDE3Lm1lZGl1bS1BNHYwZGwxN3tmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyNXB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNyAudGV4dC1BNHYwZGwxNyAuaXRlbS1BNHYwZGwxNzpub3QoOmxhc3QtY2hpbGQpOmFmdGVye2NvbnRlbnQ6IiAifS5wb3B1cFdpZGdldC1BNHYwZGwxNyAudGV4dC1BNHYwZGwxNyAuYm9sZEl0ZW0tQTR2MGRsMTd7Zm9udC13ZWlnaHQ6NzAwfS5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uLUE0djBkbDE3e2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKTttYXJnaW4tdG9wOjhweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLmFjdGlvbi1BNHYwZGwxNy5zbWFsbC1BNHYwZGwxN3tmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMXB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uLUE0djBkbDE3LmxhcmdlLUE0djBkbDE3LC5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uLUE0djBkbDE3Lm1lZGl1bS1BNHYwZGwxN3tmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyNXB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uLUE0djBkbDE3LmxhcmdlLUE0djBkbDE3e2N1cnNvcjpwb2ludGVyfS5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uQnRuLUE0djBkbDE3e2FsaWduLXNlbGY6c3RhcnQ7bWFyZ2luLXRvcDo4cHh9LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5hY3Rpb25zLUE0djBkbDE3e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjhweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLmFjdGlvbnMtQTR2MGRsMTcgLmFjdGlvbkJ0bi1BNHYwZGwxN3ttYXJnaW4tdG9wOjhweH0uYWRkaXRpb25hbFdpZGdldC1BNHYwZGwxN3ttYXJnaW4tYm90dG9tOjEycHg7bWFyZ2luLXRvcDoxMnB4fS5hZGRpdGlvbmFsV2lkZ2V0LUE0djBkbDE3Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/19513.8749edce64a7e2de2583.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.139Z","timestamp":1785141585139,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/19513.8749edce64a7e2de2583.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-5fd\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 800c1a6a1328c0b52c07df9f481ad5b6\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1533,"size_decoded":1278,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1533), with no line terminators","md5":"09bffc63a6ee7ea12e58d4abfb223ebe","sha1":"f1191e941d756ec4e581d83de425fc389991a49f","sha256":"fc054c2a50b7830f28594d322695b96d23418348ebb834b85514d45119966be3","sha512":"880203342496aa3d09daa815dada26ddf714ff3fd3ac994ef8f1a4b47a547113fa630bcb5606543a2283de433abbdd943e94c289ad8aaf47a4de47859bc3d6fd","ssdeep":"","tlshash":"c2315cab2134099a7cdfeea4d87b730ef7407c65d74262ea6411a9374589bb0c13e325","first_seen":"2026-07-19T21:33:33.844472Z","last_seen":"2026-07-27T12:48:39.789549Z","times_seen":57,"resource_available":false,"data":"LmxpbmtJdGVtLVNSa0ZIQWdne2N1cnNvcjpwb2ludGVyfS5zY3JvbGxXcmFwLWhyUVZfQlpze2NvbnRhaW46Y29udGVudDttYXJnaW46LTRweCBjYWxjKG1heCh2YXIoLS11aS1saWItcm91bmQtdGFicy1ob3ItcGFkZGluZywgMHB4KSwgNHB4KSotMSk7bWluLWhlaWdodDoxMDAlO3BhZGRpbmc6NHB4IG1heCh2YXIoLS11aS1saWItcm91bmQtdGFicy1ob3ItcGFkZGluZywwcHgpLDRweCk7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7d2lkdGg6MTAwJX0uc2Nyb2xsV3JhcC1oclFWX0Jacy5vdmVyZmxvd1Njcm9sbC1oclFWX0Jac3tvdmVyZmxvdy14OmF1dG87b3ZlcmZsb3cteTpoaWRkZW47LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9QHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6bm9uZSl7LnNjcm9sbFdyYXAtaHJRVl9CWnMub3ZlcmZsb3dTY3JvbGwtaHJRVl9CWnN7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9fS5zY3JvbGxXcmFwLWhyUVZfQlpzLm92ZXJmbG93U2Nyb2xsLWhyUVZfQlpzLnNiLXNjcm9sbGJhci13cmFwe2Rpc3BsYXk6bm9uZX0uc2Nyb2xsV3JhcC1oclFWX0Jacy5vdmVyZmxvd1Njcm9sbC1oclFWX0Jaczo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lO2hlaWdodDowO3dpZHRoOjB9LnNjcm9sbFdyYXAtaHJRVl9CWnMub3ZlcmZsb3dTY3JvbGwtaHJRVl9CWnM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLC5zY3JvbGxXcmFwLWhyUVZfQlpzLm92ZXJmbG93U2Nyb2xsLWhyUVZfQlpzOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tkaXNwbGF5Om5vbmV9LnNjcm9sbFdyYXAtaHJRVl9CWnMub3ZlcmZsb3dTY3JvbGwtaHJRVl9CWnM6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lcntkaXNwbGF5Om5vbmV9LnJvdW5kVGFicy1oclFWX0Jac3tkaXNwbGF5OmZsZXg7ZmxleC1mbG93OnJvdyBub3dyYXA7LS11aS1saWItcm91bmRUYWItbWFyZ2luOnZhcigtLXVpLWxpYi1yb3VuZFRhYnMtZ2FwKX0ub3ZlcmZsb3dTY3JvbGwtaHJRVl9CWnMgLnJvdW5kVGFicy1oclFWX0Jac3ttaW4td2lkdGg6bWF4LWNvbnRlbnR9Lm92ZXJmbG93U2Nyb2xsLWhyUVZfQlpzIC5yb3VuZFRhYnMtaHJRVl9CWnMuY2VudGVyLWhyUVZfQlpze21hcmdpbi1pbmxpbmUtZW5kOmNhbGMobWF4KHZhcigtLXVpLWxpYi1yb3VuZC10YWJzLWhvci1wYWRkaW5nLCAwcHgpLCA0cHgpKi0xKTtwYWRkaW5nLWlubGluZS1lbmQ6bWF4KHZhcigtLXVpLWxpYi1yb3VuZC10YWJzLWhvci1wYWRkaW5nLDBweCksNHB4KX0ub3ZlcmZsb3dXcmFwLWhyUVZfQlpzIC5yb3VuZFRhYnMtaHJRVl9CWnN7Z2FwOnZhcigtLXVpLWxpYi1yb3VuZFRhYnMtZ2FwKTstLXVpLWxpYi1yb3VuZFRhYi1tYXJnaW46MDtmbGV4LXdyYXA6d3JhcH0ucm91bmRUYWJzLWhyUVZfQlpzLnN0YXJ0LWhyUVZfQlpze2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5yb3VuZFRhYnMtaHJRVl9CWnMuY2VudGVyLWhyUVZfQlpze2p1c3RpZnktY29udGVudDpjZW50ZXJ9"}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/uploads/elementor/css/post-8.css?ver=1784318891","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.887Z","timestamp":1785141582887,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/uploads/elementor/css/post-8.css?ver=1784318891 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://oxlofttrd.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Fri, 17 Jul 2026 20:08:11 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 377\r\nKeep-Alive: timeout=5, max=99\r\nConnection: Keep-Alive\r\nContent-Type: text/css\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":1164,"size_decoded":727,"mime_type":"text/css","magic":"ASCII text, with very long lines (1164), with no line terminators","md5":"6e39de4d75d1192a752aa223bc305c3a","sha1":"6e450d239f6c023827df423ea5e267dd6def3a3e","sha256":"866f8137fe531b923de0cf6bb6f83c40b3e93c0803c821984897cc9ccd85d9f7","sha512":"6936b4df887ec36d569884dc5ade6512c0db6c10198cd3dd355c4837fe167247d1a7a671c825d11368bff4c8236742e84f47574ee4090c09db678afc19cdd5e5","ssdeep":"","tlshash":"482137457a23d432e17b093f91c3b02c112cd85fa25fcadff41d8649f9bea462268643","first_seen":"2025-01-02T19:21:53.195049Z","last_seen":"2026-07-27T12:12:28.796177Z","times_seen":1116,"resource_available":false,"data":"LmVsZW1lbnRvci1raXQtOHstLWUtZ2xvYmFsLWNvbG9yLXByaW1hcnk6IzZFQzFFNDstLWUtZ2xvYmFsLWNvbG9yLXNlY29uZGFyeTojNTQ1OTVGOy0tZS1nbG9iYWwtY29sb3ItdGV4dDojN0E3QTdBOy0tZS1nbG9iYWwtY29sb3ItYWNjZW50OiM2MUNFNzA7LS1lLWdsb2JhbC10eXBvZ3JhcGh5LXByaW1hcnktZm9udC1mYW1pbHk6IlJvYm90byI7LS1lLWdsb2JhbC10eXBvZ3JhcGh5LXByaW1hcnktZm9udC13ZWlnaHQ6NjAwOy0tZS1nbG9iYWwtdHlwb2dyYXBoeS1zZWNvbmRhcnktZm9udC1mYW1pbHk6IlJvYm90byBTbGFiIjstLWUtZ2xvYmFsLXR5cG9ncmFwaHktc2Vjb25kYXJ5LWZvbnQtd2VpZ2h0OjQwMDstLWUtZ2xvYmFsLXR5cG9ncmFwaHktdGV4dC1mb250LWZhbWlseToiUm9ib3RvIjstLWUtZ2xvYmFsLXR5cG9ncmFwaHktdGV4dC1mb250LXdlaWdodDo0MDA7LS1lLWdsb2JhbC10eXBvZ3JhcGh5LWFjY2VudC1mb250LWZhbWlseToiUm9ib3RvIjstLWUtZ2xvYmFsLXR5cG9ncmFwaHktYWNjZW50LWZvbnQtd2VpZ2h0OjUwMDt9LmVsZW1lbnRvci1zZWN0aW9uLmVsZW1lbnRvci1zZWN0aW9uLWJveGVkID4gLmVsZW1lbnRvci1jb250YWluZXJ7bWF4LXdpZHRoOjExNDBweDt9LmUtY29uey0tY29udGFpbmVyLW1heC13aWR0aDoxMTQwcHg7fS5lbGVtZW50b3Itd2lkZ2V0Om5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWJsb2NrLWVuZDoyMHB4O30uZWxlbWVudG9yLWVsZW1lbnR7LS13aWRnZXRzLXNwYWNpbmc6MjBweCAyMHB4Oy0td2lkZ2V0cy1zcGFjaW5nLXJvdzoyMHB4Oy0td2lkZ2V0cy1zcGFjaW5nLWNvbHVtbjoyMHB4O317fWgxLmVudHJ5LXRpdGxle2Rpc3BsYXk6dmFyKC0tcGFnZS10aXRsZS1kaXNwbGF5KTt9QG1lZGlhKG1heC13aWR0aDoxMDI0cHgpey5lbGVtZW50b3Itc2VjdGlvbi5lbGVtZW50b3Itc2VjdGlvbi1ib3hlZCA+IC5lbGVtZW50b3ItY29udGFpbmVye21heC13aWR0aDoxMDI0cHg7fS5lLWNvbnstLWNvbnRhaW5lci1tYXgtd2lkdGg6MTAyNHB4O319QG1lZGlhKG1heC13aWR0aDo3NjdweCl7LmVsZW1lbnRvci1zZWN0aW9uLmVsZW1lbnRvci1zZWN0aW9uLWJveGVkID4gLmVsZW1lbnRvci1jb250YWluZXJ7bWF4LXdpZHRoOjc2N3B4O30uZS1jb257LS1jb250YWluZXItbWF4LXdpZHRoOjc2N3B4O319"}},"time_used":147,"timings":{"blocked":54,"dns":0,"connect":0,"send":0,"wait":93,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/runtime-embed_advanced_chart.2adadf1cc0ec57097803.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.132Z","timestamp":1785141584132,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/runtime-embed_advanced_chart.2adadf1cc0ec57097803.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-132f5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b6a959459012704d3614f00a9523540e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":78581,"size_decoded":34908,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (14472)","md5":"14bf3ff2a3107514a76ce3b64ebfadc7","sha1":"cdbe48a268d7b51c28606b399cb8586afee97128","sha256":"99f49c837d9b9a85e81174053a80d5738c2d7c21a53faa30b396f377724df1ba","sha512":"e917564b665e35938d9d86ea200951191fa25a923f4012992d87c30408c3fe4188962849136025458fb8143a64842308d4783c9ae847f84f0720cd7f86a1301f","ssdeep":"1536:Hf6kU6QbwU/pS8wcbXbUFrGAMt6GYvlW1naSzKr1vhheth+47z:Hfy0yLBAK+v4nrD9z","tlshash":"32735cacd23c99b776f02e781c6bac52a33820537d6182ed4397736409b7ef4c666543","first_seen":"2026-07-24T11:36:48.051243Z","last_seen":"2026-07-27T14:50:15.38221Z","times_seen":191,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO3ZhciBlLGEsYyxkLGYsYixfPXt9LG89e307ZnVuY3Rpb24gdChlKXt2YXIgYT1vW2VdO2lmKHZvaWQgMCE9PWEpcmV0dXJuIGEuZXhwb3J0czt2YXIgYz1vW2VdPXtpZDplLGxvYWRlZDohMSxleHBvcnRzOnt9fTtyZXR1cm4gX1tlXS5jYWxsKGMuZXhwb3J0cyxjLGMuZXhwb3J0cyx0KSxjLmxvYWRlZD0hMCxjLmV4cG9ydHN9dC5tPV8sdC5jPW8sdC5fcGx1cmFsPXthcjooZSxhPTYsYz0oMD09ZT8wOjE9PWU/MToyPT1lPzI6ZSUxMDA+PTMmJmUlMTAwPD0xMD8zOmUlMTAwPj0xMSYmZSUxMDA8PTk5PzQ6NSkpPT5udWxsPT1lPzA6K2MsY3M6KGUsYT0zLGM9KDE9PWU/MDplPj0yJiZlPD00PzE6MikpPT5udWxsPT1lPzA6K2MscnU6KGUsYT0zLGM9KGUlMTA9PTEmJmUlMTAwIT0xMT8wOmUlMTA+PTImJmUlMTA8PTQmJihlJTEwMDwxMHx8ZSUxMDA+PTIwKT8xOjIpKT0+bnVsbD09ZT8wOitjLHJvOihlLGE9MyxjPSgxPT1lPzA6ZSUxMDA+MTl8fGUlMTAwPT0wJiYwIT1lPzI6MSkpPT5udWxsPT1lPzA6K2MscGw6KGUsYT0zLGM9KDE9PWU/MDplJTEwPj0yJiZlJTEwPD00JiYoZSUxMDA8MTB8fGUlMTAwPj0yMCk/MToyKSk9Pm51bGw9PWU/MDorYyxwdDooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLGRlOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsZW46KGUsYT0yLGM9MSE9ZSk9Pm51bGw9PWU/MDorYyxlczooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLHN2OihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsaXQ6KGUsYT0yLGM9MSE9ZSk9Pm51bGw9PWU/MDorYyx0cjooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLGVsOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsZnI6KGUsYT0yLGM9ZT4xKT0+bnVsbD09ZT8wOitjLGZhOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2MsamE6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyxrbzooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLHRoOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2Msdmk6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyx6aDooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLGhlX0lMOihlLGE9NCxjPSgxPT1lPzA6Mj09ZT8xOmU+MTAmJmUlMTA9PTA/MjozKSk9Pm51bGw9PWU/MDorYyxjYV9FUzooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLG5sX05MOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsaHVfSFU6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyxpZF9JRDooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLG1zX01ZOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2MsemhfVFc6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorY30sdC5hbWREPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJkZWZpbmUgY2Fubm90IGJlIHVzZWQgaW5kaXJlY3QiKX0sZT1bXSx0Lk89KGEsYyxkLGYpPT57aWYoIWMpe3ZhciBiPTEvMDtmb3IoaT0wO2k8ZS5sZW5ndGg7aSsrKXtmb3IodmFyW2MsZCxmXT1lW2ldLF89ITAsbz0wO288Yy5sZW5ndGg7bysrKSghMSZmfHxiPj1mKSYmT2JqZWN0LmtleXModC5PKS5ldmVyeSgoZT0+dC5PW2VdKGNbb10pKSk/Yy5zcGxpY2Uoby0tLDEpOihfPSExLGY8YiYmKGI9ZikpO2lmKF8pe2Uuc3BsaWNlKGktLSwxKTt2YXIgcz1kKCk7dm9pZCAwIT09cyYmKGE9cyl9fXJldHVybiBhfWY9Znx8MDtmb3IodmFyIGk9ZS5sZW5ndGg7aT4wJiZlW2ktMV1bMl0+ZjtpLS0pZVtpXT1lW2ktMV07ZVtpXT1bYyxkLGZdfSx0LkY9e30sdC5FPWU9PntPYmplY3Qua2V5cyh0LkYpLm1hcCgoYT0+e3QuRlthXShlKX0pKX0sdC5IPXt9LHQuRz1lPT57T2JqZWN0LmtleXModC5IKS5tYXAoKGE9Pnt0LkhbYV0oZSl9KSl9LHQubj1lPT57dmFyIGE9ZSYmZS5fX2VzTW9kdWxlPygpPT5lLmRlZmF1bHQ6KCk9PmU7cmV0dXJuIHQuZChhLHthfSksYX0sYz1PYmplY3QuZ2V0UHJvdG90eXBlT2Y/ZT0+T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpOmU9PmUuX19wcm90b19fLHQudD1mdW5jdGlvbihlLGQpe2lmKDEmZCYmKGU9dGhpcyhlKSksOCZkKXJldHVybiBlO2lmKCJvYmplY3QiPT10eXBlb2YgZSYmZSl7aWYoNCZkJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7aWYoMTYmZCYmImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbilyZXR1cm4gZX12YXIgZj1PYmplY3QuY3JlYXRlKG51bGwpO3QucihmKTt2YXIgYj17fTthPWF8fFtudWxsLGMoe30pLGMoW10pLGMoYyldO2Zvcih2YXIgXz0yJmQmJmU7KCJvYmplY3QiPT10eXBlb2YgX3x8ImZ1bmN0aW9uIj09dHlwZW9mIF8pJiYhfmEuaW5kZXhPZihfKTtfPWMoXykpT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoXykuZm9yRWFjaCgoYT0+YlthXT0oKT0+ZVthXSkpO3JldHVybiBiLmRlZmF1bHQ9KCk9PmUsdC5kKGYsYiksZn0sdC5kPShlLGEpPT57Zm9yKHZhciBjIGluIGEpdC5vKGEsYykmJiF0Lm8oZSxjKSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYyx7ZW51bWVyYWJsZTohMCxnZXQ6YVtjXX0pfSx0LmY9e30sdC5lPWU9PlByb21pc2UuYWxsKE9iamVjdC5rZXlzKHQuZikucmVkdWNlKCgoYSxjKT0+KHQuZltjXShlLGEpLGEpKSxbXSkpLAp0LnU9ZT0+Mjg4MzE9PT1lPyJfX0xBTkdfXy4iK2UrIi5mOWU3MzU2ZmY5MWY4MzdmNDdjNy5qcyI6MjM1Njc9PT1lPyJfX0xBTkdfXy4iK2UrIi41ZmRkYzE1OTk4MTQyY2JjNjFlZi5qcyI6ODk2MTg9PT1lPyJfX0xBTkdfXy4iK2UrIi5lOGRiMTlkODEzNzZkNDg2ZTI4OC5qcyI6NTQ4NTI9PT1lPyJfX0xBTkdfXy4iK2UrIi43NzI4Y2RlOWMwMTIyNTk0NWQxMC5qcyI6MTYxOTM9PT1lPyJfX0xBTkdfXy4iK2UrIi5iYTA3NWY4OTVjNmVkMDU3YzExYy5qcyI6OTU1NT09PWU/Il9fTEFOR19fLjk1NTUuNmU0NWM3ZjAyOGQ0NTU0Y2E3MjUuanMiOjg0NjkzPT09ZT8iX19MQU5HX18uIitlKyIuNzE1Y2I3YjI3MzJmMjBjNGM5NjEuanMiOjQ5Njg0PT09ZT8iX19MQU5HX18uIitlKyIuNDk5Y2ZiZDczNDdlOTc0NzIyMjguanMiOjU0OTg9PT1lPyJfX0xBTkdfXy41NDk4LjhlNGNjYzdjZWY4YmZhZjM5Mzk5LmpzIjo4NTUzNz09PWU/Il9fTEFOR19fLiIrZSsiLjQ5ZmRhMTNlMTg3NjEyNDYzZjg0LmpzIjo0OTM4MD09PWU/Il9fTEFOR19fLiIrZSsiLjc1NTNlZDk4YThkZDViYjg0NmI1LmpzIjoyNjk3Mz09PWU/Il9fTEFOR19fLiIrZSsiLjlhZTU2ZDYyMWE1ZjI5ODI3ZTAwLmpzIjo3MTIzNz09PWU/Il9fTEFOR19fLiIrZSsiLjAyYjAzZmQwNDU4MzAzMTQ1MGE3LmpzIjo2MzU1Mz09PWU/Il9fTEFOR19fLiIrZSsiLmQxZWU2MTk4YjcwMjg0NzhkZDYyLmpzIjo3MTcwOT09PWU/Il9fTEFOR19fLiIrZSsiLmVlMDU4NjY3MzBiMTY4YWJkMTM1LmpzIjozMDA3MD09PWU/Il9fTEFOR19fLiIrZSsiLjJiMTIzZWEwZDkyZTk0NGFjOWZiLmpzIjoxMTE1MT09PWU/Il9fTEFOR19fLiIrZSsiLjI1NTk0YzI3MDY2NTkxZTJiYzdiLmpzIjozMzIyNT09PWU/Il9fTEFOR19fLiIrZSsiLjQyOTVmMzJiMWM4ZmRjNzRjMDU2LmpzIjozMjc4PT09ZT8iX19MQU5HX18uMzI3OC5mMjMyMmNiMDExOWQ5MjRjY2Q2NC5qcyI6MjcwNDA9PT1lPyJfX0xBTkdfXy4iK2UrIi45MmRkNThmZDRiZDMwZGUwYmI2ZC5qcyI6MzQyODQ9PT1lPyJfX0xBTkdfXy4iK2UrIi40M2Y0NjA1YmI3MmQ2OWIzZWQ0My5qcyI6Mjc4MjA9PT1lPyJfX0xBTkdfXy4iK2UrIi5jMjJjYmU2NmQ0Y2E0MmE3ZTEyYy5qcyI6MzE2NjE9PT1lPyJfX0xBTkdfXy4iK2UrIi40MmYzMmIxNWExNzcxYTJkZmRlZC5qcyI6MTQ2OTM9PT1lPyJfX0xBTkdfXy4iK2UrIi4xYWZmZmM3MzFkN2NjM2YzYzZjMy5qcyI6NTI4ODI9PT1lPyJfX0xBTkdfXy4iK2UrIi4yODk4ZTYzOGE2ODE4MGVkNmRmNC5qcyI6NzQxMTQ9PT1lPyJfX0xBTkdfXy4iK2UrIi45MGY2N2UzNjU4YWIzMTNiYjVmYi5qcyI6OTA5MDc9PT1lPyJfX0xBTkdfXy4iK2UrIi41ZTkxYTllMWU2OWVlNGZkODkwZS5qcyI6ODM0NTA9PT1lPyJfX0xBTkdfXy4iK2UrIi5hNGQwYWNmYWQxOGNhMzVjNmYyOC5qcyI6NDk2Nzc9PT1lPyJfX0xBTkdfXy4iK2UrIi4wOTg2ODhiMzdmNzg1NWI0Yzc5Yi5qcyI6MjA1NzY9PT1lPyJfX0xBTkdfXy4iK2UrIi4wZTE2ZjI3YzQ3ZTdkZmEwOWE4MC5qcyI6ODEwMTU9PT1lPyJfX0xBTkdfXy4iK2UrIi4yMTUzNzJkNzBjMzNhOGFiNWQ1NC5qcyI6NDA1Mjg9PT1lPyJfX0xBTkdfXy4iK2UrIi4yODljYmViODYzMmM3OGJlYjA1OC5qcyI6Nzk2Njc9PT1lPyJfX0xBTkdfXy4iK2UrIi4zOGI0MDBiN2JjZDcxMjY1ZGU3ZS5qcyI6NjIyNz09PWU/Il9fTEFOR19fLjYyMjcuNDg5YTZlMWQxMjI0YmEwNDk3YzcuanMiOjU1MDc5PT09ZT8iX19MQU5HX18uIitlKyIuY2ZhODA4MmFhY2NlYTk1OTM2MDYuanMiOjM3MDEyPT09ZT8iX19MQU5HX18uIitlKyIuZWRlMGZjM2Q2ODU4N2Q4MTdlZDUuanMiOjE3NjYyPT09ZT8iX19MQU5HX18uIitlKyIuNDdmNWM5Y2FmNjYwYzRkMGU4MDQuanMiOjkyNDE5PT09ZT8iX19MQU5HX18uIitlKyIuOTk2ZmFkZGRmY2EzZTZjMjc2ZDcuanMiOjg4OTk3PT09ZT8iX19MQU5HX18uIitlKyIuMjU5OTFkYTU5ZTIwYTc5NmVkYWEuanMiOjExMzc4PT09ZT8iX19MQU5HX18uIitlKyIuOTdjYWQ3ZGZkZjllNDdhYjRmZjMuanMiOjE2NDYxPT09ZT8iX19MQU5HX18uIitlKyIuMGQ5MTBhNGVhY2VlNTU4NGNkN2YuanMiOjQ1MTE3PT09ZT8iX19MQU5HX18uIitlKyIuZGEwZmRjMGExNDllMTczOGJhNjYuanMiOjIyNjQ5PT09ZT8iX19MQU5HX18uIitlKyIuNmQ0YTQ3MWMxYTNjMTZlNjk1MzQuanMiOjczNjI2PT09ZT8iX19MQU5HX18uIitlKyIuZWZiY2ZlYmEzYjg1MTZkYWZjN2MuanMiOjY4OTUyPT09ZT8iX19MQU5HX18uIitlKyIuM2NhMDljZWIwY2I0MGQ5MjJmZmYuanMiOjE5MTkzPT09ZT8iX19MQU5HX18uIitlKyIuNjBiZDcxMWQ4MzhjNzUxZDY5OTAuanMiOjk5NzU4PT09ZT8iX19MQU5HX18uIitlKyIuOTllM2U2MTdhMWI2NmRkZmY2ZDQuanMiOjI5NDc3PT09ZT8iX19MQU5HX18uIitlKyIuNGJjOTY5OTY3ZTA4OGVmOWRhOTguanMiOjI1OTI0PT09ZT8iX19MQU5HX18uIitlKyIuYjJiOGZkMzA4ZTc2MDZmMDRkZGEuanMiOjkyMDc9PT1lPyJfX0xBTkdfXy45MjA3LmViMmEyYWU2ZDcwYjFhMzA0ZmZjLmpzIjo2MzU2MD09PWU/Il9fTEFOR19fLiIrZSsiLjIwM2YzYzA0YWFmZGE5MTk3OGM2LmpzIjo3NTkwNT09PWU/Il9fTEFOR19fLiIrZSsiLmM0NTQ4NWI5NWZlNjc2YzczNDhjLmpzIjo5ODQ3OT09PWU/Il9fTEFOR19fLiIrZSsiLjA3YjMyZjY5NTBmNWZhYTJkNWRiLmpzIjo3MDk4Mz09PWU/Il9fTEFOR19fLiIrZSsiLmQwYWNjZDU3MWQyNTNjYmU3ZmQ2LmpzIjo5NDE3NT09PWU/Il9fTEFOR19fLiIrZSsiLmMyZjAwM2JkZTQ0NWU2ZjA1Nzg3LmpzIjo4NDM2ND09PWU/Il9fTEFOR19fLiIrZSsiLmRmNWY3OTc0ZWY2NjVlZTBjYTliLmpzIjo2MzU5MT09PWU/Il9fTEFOR19fLiIrZSsiLjRkODFkMjUzMGMzOTQ2MjExMWU5LmpzIjozNjEyMT09PWU/Il9fTEFOR19fLiIrZSsiLjY3MjhmNDhmNTY5Y2I2MTAyZmFjLmpzIjoxNDkwPT09ZT8iX19MQU5HX18uMTQ5MC5mNzFkZGJlNDAxNDk2ZTU1YTVlZS5qcyI6NDQxMzY9PT1lPyJfX0xBTkdfXy4iK2UrIi5hZjczZWIyY2Q2Y2M5ZmVlM2FhMS5qcyI6NjU3ODI9PT1lPyJfX0xBTkdfXy4iK2UrIi41NTA5YmFiYmQ0ZWY1OWMyZmM5NC5qcyI6MTU3MTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4xOTA5NjVlMWJiYTQxOTkzNWI1OS5qcyI6ODU3OTA9PT1lPyJfX0xBTkdfXy4iK2UrIi45YzMzZWI2MDExM2JiYjY1ZDYzOS5qcyI6ODE0NTY9PT1lPyJfX0xBTkdfXy4iK2UrIi4wMTM4MjRkMjYzNDY2NjI3YTZmYS5qcyI6ODc4OTQ9PT1lPyJfX0xBTkdfXy4iK2UrIi45NWVkNGI5ZjMzYTdiZjcwY2NiMy5qcyI6ODMzMzk9PT1lPyJfX0xBTkdfXy4iK2UrIi44ZDM5ZTc2MDFhMjU4ZTY4N2E5MS5qcyI6NjIxOTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4zY2RjMmRiMWJjMTcxNmRjZDM5YS5qcyI6NDgwMzE9PT1lPyJfX0xBTkdfXy4iK2UrIi44Y2ExMDY5ODQ5ZjA5Y2YwZDlkNy5qcyI6Njk3MzA9PT1lPyJfX0xBTkdfXy4iK2UrIi4yODFiMjM5YWY3ZTA0MzU0MDNkZC5qcyI6Nzc1ODI9PT1lPyJfX0xBTkdfXy4iK2UrIi41MDcwYTFkMTc0MjQxNDNjNTc0NC5qcyI6NzgwMTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4zYTJiMTIxZDJlNGUxNDA3ZTc1OS5qcyI6NTc4Njk9PT1lPyJfX0xBTkdfXy4iK2UrIi5jZjg2NDNjYTU3MWIwZjFjNGIxMS5qcyI6MjUwMjg9PT1lPyJfX0xBTkdfXy4iK2UrIi5iY2VkNzNlZDg3MDAxNWZjOWViYS5qcyI6NzA5MDk9PT1lPyJfX0xBTkdfXy4iK2UrIi5kYWY2ZjJjZjA2MTRiODYzMWQ4Ni5qcyI6MjU3ODg9PT1lPyJfX0xBTkdfXy4iK2UrIi44MDU3NTA4MGFlMzZmNjU3MTYwYi5qcyI6NjA2NTg9PT1lPyJfX0xBTkdfXy4iK2UrIi5jNzZjYzZiMWY2ZTRkZGZjYTc4MC5qcyI6MzQ1OTI9PT1lPyJfX0xBTkdfXy4iK2UrIi42MGY2ODI5YWYzNjU5NmMyN2NiMS5qcyI6OTUxMDI9PT1lPyJfX0xBTkdfXy4iK2UrIi4wNzNiMzVkMzA4YTZlMjU1NmJmOC5qcyI6ODc5MTM9PT1lPyJfX0xBTkdfXy4iK2UrIi5lZmYyYWU4NTBkZDhkYjM1ZTkwOS5qcyI6NTgzMzE9PT1lPyJfX0xBTkdfXy4iK2UrIi45NjhlY2JkZGNkNDAyNzg3YjliMy5qcyI6MjU0MzU9PT1lPyJfX0xBTkdfXy4iK2UrIi4xOTlmMGRlNjI3NjllMDM4ODIzYS5qcyI6MzUwMDc9PT1lPyJfX0xBTkdfXy4iK2UrIi5lMzgxYTZlMjRkOGNlZTNmODQ2MC5qcyI6MTcxMzg9PT1lPyJfX0xBTkdfXy4iK2UrIi42MGQ5OWRhZGIxOTZlZTc5MWZiMS5qcyI6OTY0MzE9PT1lPyJfX0xBTkdfXy4iK2UrIi5mZjNhYTNmYzQ1OTNkNTU1ZGQzZi5qcyI6NzI0Njc9PT1lPyJfX0xBTkdfXy4iK2UrIi40ZWZkNzdkYWJhYjJlZmUxYjcyZC5qcyI6NzY4MTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4zODk4NDUzYjhjYmEzYzBlMTE1NS5qcyI6Mjk0Mzk9PT1lPyJfX0xBTkdfXy4iK2UrIi5lZWJlYTcxZTljZmEwYjM1OTJiOS5qcyI6MTM5MzY9PT1lPyJfX0xBTkdfXy4iK2UrIi45MDZhMGEyMjMxYWUxY2JkOWNkMy5qcyI6NTQwNDA9PT1lPyJfX0xBTkdfXy4iK2UrIi42MTFiYWNjNTI2YTI3YWFlMWEzYS5qcyI6NzMxMT09PWU/Il9fTEFOR19fLjczMTEuZmI1ZDA0OTRlZjg1NzNiZDkwNjguanMiOjc1NTI9PT1lPyJfX0xBTkdfXy43NTUyLmJjMDAyMDE5Mjk3Nzc3MWQ3MTE5LmpzIjoxNjU5OD09PWU/Il9fTEFOR19fLiIrZSsiLmIwYWI1YzJjMmRjNTQ0NGNkZWViLmpzIjoyMjUxMD09PWU/Il9fTEFOR19fLiIrZSsiLmM2MjcyNDU5YTE3YzUzOThmZDdiLmpzIjo1NTgwMT09PWU/Il9fTEFOR19fLiIrZSsiLmQ5NDk2ZGI4Y2QwYTUzZGRlMDJjLmpzIjoxMDc3Nj09PWU/Il9fTEFOR19fLiIrZSsiLjY0YzQxMjNlN2MwY2NjMzkwNWJhLmpzIjo3ODAzND09PWU/Il9fTEFOR19fLiIrZSsiLjgwMGIyY2VlNjQ5OGE2YzRiNDRhLmpzIjozOTE4Mj09PWU/Il9fTEFOR19fLiIrZSsiLjE4YjMxYTU4ZDRiNTc5NmQ5YjBkLmpzIjoyNDQxPT09ZT8iX19MQU5HX18uMjQ0MS4xYjQzNWE0M2RiMTY1ODAyNzdjMi5qcyI6MjcyOTI9PT1lPyJfX0xBTkdfXy4iK2UrIi5hNDUzMTNkNDlkZDc3NWJhZDI1Zi5qcyI6NTUzOD09PWU/Il9fTEFOR19fLjU1MzguYTdlNmE5YjliZDRlZGI4ODVmNzUuanMiOjk2Njc4PT09ZT8iX19MQU5HX18uIitlKyIuYzEwNmIyNjA0OWU5YjAyYmU3NzkuanMiOjg2NTkzPT09ZT8iX19MQU5HX18uIitlKyIuODIxODlmNjM2ODQ5YTUxZDA1NjkuanMiOjQ5MzA3PT09ZT8iX19MQU5HX18uIitlKyIuYzhkOGEyYjQ2NWY0MjBjMzZjOWQuanMiOjQyMDk2PT09ZT8iX19MQU5HX18uIitlKyIuODVhMWYyY2IzY2U2NzU3MTZjZjYuanMiOjIxNzg0PT09ZT8iX19MQU5HX18uIitlKyIuM2E4NzY3MGVmNDFlZGZkYzg4NWMuanMiOjc4NDQ9PT1lPyJfX0xBTkdfXy43ODQ0LmM3NDhlNzFlYWYxNzExODBhY2ZmLmpzIjo4NzIzOD09PWU/Il9fTEFOR19fLiIrZSsiLjdlNzczMDk3MzM3YTM0YmU2NjUyLmpzIjoyMDMzNz09PWU/Il9fTEFOR19fLiIrZSsiLjMwMTVkYjVlMGE1MjE5NjIzY2ZiLmpzIjo5Mzc0NT09PWU/Il9fTEFOR19fLiIrZSsiLjlkOTkxMTY3ZWY2ZDg5MjZiOTFlLmpzIjo2NjAwMj09PWU/Il9fTEFOR19fLiIrZSsiLmQxMWM0NDk1NTYxMjg0ZTg3MjI3LmpzIjoyMTg3MD09PWU/Il9fTEFOR19fLiIrZSsiLjdkMzdmZmE1M2RmYmJjMTg0MDg4LmpzIjo4NTAxND09PWU/Il9fTEFOR19fLiIrZSsiLjIzMzc2MTVhNGJkMmMzMDNjMDQ2LmpzIjo3Mzc3PT09ZT8iX19MQU5HX18uNzM3Ny5kYzEwMzEyNTJiZjkyY2ZiNDFmYi5qcyI6OTY4MjM9PT1lPyJfX0xBTkdfXy4iK2UrIi4xMjI2NWRkODhhNWQwOGQ2NmE4Yi5qcyI6Mjc1NzE9PT1lPyJfX0xBTkdfXy4iK2UrIi4yYTZjMzcwMmZiYzUxZTk0YzYyNi5qcyI6MzUyNTQ9PT1lPyJfX0xBTkdfXy4iK2UrIi5mMzE3NDgxOWIxNDBiNmE3ZDJlNy5qcyI6Njk2OTQ9PT1lPyJfX0xBTkdfXy4iK2UrIi4wOGEzMGYwN2JhMTk1YjVlODM0Zi5qcyI6ODU4Nzk9PT1lPyJfX0xBTkdfXy4iK2UrIi4zMTg5YjcwN2E5MTY1YzY1ZDlmYS5qcyI6MjY5NjA9PT1lPyJfX0xBTkdfXy4iK2UrIi4zMzcxZGJiZGEwM2Y5Y2EwZGUyOS5qcyI6OTgxMTE9PT1lPyJfX0xBTkdfXy4iK2UrIi44YzZiYTU1Nzk0YjY0YWQ3Zjg3Zi5qcyI6NTk4Mjk9PT1lPyJfX0xBTkdfXy4iK2UrIi4xODU0YTZiY2I5NjUxOTNjODkyZi5qcyI6OTQyNDQ9PT1lPyJfX0xBTkdfXy4iK2UrIi5iYTg5Yzc1NDA0MWMzNGI2YWVmMy5qcyI6MTIwODA9PT1lPyJfX0xBTkdfXy4iK2UrIi45MjM1MWEzNzc4MDEzMmM5ZTlmZC5qcyI6OTkxMjQ9PT1lPyJfX0xBTkdfXy4iK2UrIi43MTI5ZTA1N2M3NDQ0ZGYyNTk5NC5qcyI6MjcxNzQ9PT1lPyJfX0xBTkdfXy4iK2UrIi4yODQ4NDY0ZDVjMGNhNmMzMmE0My5qcyI6NDAxNTc9PT1lPyJfX0xBTkdfXy4iK2UrIi4wYjk5ZDU0NTMyYWIwNDAxNmJjYS5qcyI6NTQ4Nj09PWU/Il9fTEFOR19fLjU0ODYuMWIxZTMwODg0NGNkM2YwNDdiMDcuanMiOjYxOTUwPT09ZT8iX19MQU5HX18uIitlKyIuOGJiNWU5MDIwYTY0MmY3OTZjOTMuanMiOjE0OTI2PT09ZT8iX19MQU5HX18uIitlKyIuOTM2NDNhMjRkYjhiM2NkYmU1YzQuanMiOjk4MzgzPT09ZT8iX19MQU5HX18uIitlKyIuMmQ0MTY5YzRhZTMyMmFkYjc0MGUuanMiOjMzMTc2PT09ZT8iX19MQU5HX18uIitlKyIuMjkwMGIxNzFiNmFmY2JlNWZjYzQuanMiOjE0NT09PWU/Il9fTEFOR19fLjE0NS44MTJjOTAzYTA1Y2FhYTJjYTEyNS5qcyI6MTI2NjM9PT1lPyJfX0xBTkdfXy4iK2UrIi43NDE5MzQyMzU0ZWNhMmZmZTMxNy5qcyI6MTE1MjY9PT1lPyJfX0xBTkdfXy4iK2UrIi4xN2RkMTM5ZjYwNGEyZDk4M2M3Ny5qcyI6NDI1MzU9PT1lPyJfX0xBTkdfXy4iK2UrIi5iNDg3NjY3ZDMzMzE4MmMxZWI1Zi5qcyI6Njk4MTI9PT1lPyJfX0xBTkdfXy4iK2UrIi44MzM3NmJlMzMxZWJkZTk4YTU0ZC5qcyI6NDY4MzE9PT1lPyJfX0xBTkdfXy4iK2UrIi40ZGY5Y2Q3NDdjZWZjMjRmMTg0Yy5qcyI6MjEwODA9PT1lPyJfX0xBTkdfXy4iK2UrIi5jNzM3M2UxOGM3ZDc4MDc0ZTQwYS5qcyI6MTQ5OTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4wN2Q2ZTg1YjZkMDU4ODE1MmJhYS5qcyI6NTQ5MDQ9PT1lPyJfX0xBTkdfXy4iK2UrIi40YWZkZmI5MGNjNzVkYWQ2ZThjYS5qcyI6MzkzNz09PWU/Il9fTEFOR19fLjM5MzcuY2IxM2QyZjQ0MWU5NjNiOGY4NTEuanMiOjM3MDkxPT09ZT8iX19MQU5HX18uIitlKyIuODg5OTAzZmE0MTgwYTQwYmI3MWYuanMiOjM5ODM9PT1lPyJfX0xBTkdfXy4zOTgzLjZmOWJlZmFhMDVhNjg1YzcwNjg0LmpzIjo0MzA2MD09PWU/Il9fTEFOR19fLiIrZSsiLjRjZWU5ZGJmZGY0ZmVjN2I0ZjM4LmpzIjoxMDg0MT09PWU/Il9fTEFOR19fLiIrZSsiLjc2NmY5NjY4NzhiN2Y4NzI2ZDc0LmpzIjo3OTk3OT09PWU/Il9fTEFOR19fLiIrZSsiLjNkYTNmZmQyNzExMGViODg5MGQzLmpzIjo5MzI5MD09PWU/Il9fTEFOR19fLiIrZSsiLmZhMDEwZTQyNmY5YWYwOGRkNDNlLmpzIjo0MjE2Nz09PWU/Il9fTEFOR19fLiIrZSsiLmM2ZTM1MWI0MTc1Y2YyZjg4NjhhLmpzIjoxOTI2ND09PWU/Il9fTEFOR19fLiIrZSsiLmE5NDdkNjMxODJlZjE1ZDg3MTgzLmpzIjo4ODQzMj09PWU/Il9fTEFOR19fLiIrZSsiLjQ0MDYwYWRkMjE2MjgwY2ZhMGQzLmpzIjoxMjY1Mz09PWU/Il9fTEFOR19fLiIrZSsiLjYzNTc2NjU5MmI0NmRlNzQ4ZThkLmpzIjoxNzEyMz09PWU/Il9fTEFOR19fLiIrZSsiLmFkNGQ4ZTc2ODNlMzQ2ZjEyZTEyLmpzIjoyNTc1Mz09PWU/Il9fTEFOR19fLiIrZSsiLjczN2Y2NTNhN2IxM2YwNmE5ZmNlLmpzIjozNDkwOD09PWU/Il9fTEFOR19fLiIrZSsiLjQ4OGNkMTQ3MzYwMTljZWYyN2JjLmpzIjo3MzcyNT09PWU/Il9fTEFOR19fLiIrZSsiLmFiNzNlOTU0ZDJjZDFiZTM2ZGM0LmpzIjo0MDg5Mj09PWU/Il9fTEFOR19fLiIrZSsiLjc2ZWUzYzUyNDE3YTYwZmIwOTMxLmpzIjo0ODgzNz09PWU/Il9fTEFOR19fLiIrZSsiLmVkNjU2NzNlNTgzN2NkODY3MzdhLmpzIjo5NjQ0OD09PWU/Il9fTEFOR19fLiIrZSsiLmEyMzA5M2IyMGMyZTQ4YWFjMTJiLmpzIjo2MDkzOT09PWU/Il9fTEFOR19fLiIrZSsiLmVlNmNiZWVmODZkZDhmZjEwOTY0LmpzIjo0OTIxNT09PWU/Il9fTEFOR19fLiIrZSsiLjJjMjE1NmZhMGU4NTQ1Y2JjYWFiLmpzIjoyMDg2Nj09PWU/Il9fTEFOR19fLiIrZSsiLjNkYjhlOGVlZWU2ODZhNTA5YjIwLmpzIjo0MTI4MD09PWU/Il9fTEFOR19fLiIrZSsiLjJhYTNjZDA3ZDYwMGViOTZjYmJjLmpzIjo4MTM5NT09PWU/Il9fTEFOR19fLiIrZSsiLmI2ZDgzYzc0ODhkZjQ5MDM5NGY4LmpzIjoyNjc3MT09PWU/Il9fTEFOR19fLiIrZSsiLmUzYjAzNTVjZmZkMDc3YmRlMjQyLmpzIjoxMDY3ND09PWU/Il9fTEFOR19fLiIrZSsiLjY1YWNkY2NmZWYwZjNmNDk4MmUwLmpzIjo0OTc0Nz09PWU/Il9fTEFOR19fLiIrZSsiLjlmZGRlOGRmYmQ0NTY2MzhmMzExLmpzIjozODUzNT09PWU/Il9fTEFOR19fLiIrZSsiLjI2OTE4OTI3NWFkZGQxZjc2N2I1LmpzIjo1OTMxPT09ZT8iX19MQU5HX18uNTkzMS4yZDAwYTEwNjc4ZTc4Y2Q2NmM5Mi5qcyI6ODYzMT09PWU/Il9fTEFOR19fLjg2MzEuN2FjZjJiYTQ0MjE2MzMyM2E2ZWMuanMiOjg0OTAwPT09ZT8iX19MQU5HX18uIitlKyIuMGQzNzYyZmQwY2U3MjNlNTQxZGIuanMiOjM5OTg4PT09ZT8iX19MQU5HX18uIitlKyIuM2M5ZDQ2ZDY5ZjVhZDcyMTA5YTAuanMiOjM5NTA0PT09ZT8iX19MQU5HX18uIitlKyIuZWI3Yzg1OGEyMzEwOGFjYTdmZWUuanMiOjgyMDAzPT09ZT8iX19MQU5HX18uIitlKyIuZDc0OGI4Njg4MDM4ZTcyOWVmMDkuanMiOjE4OTExPT09ZT8iX19MQU5HX18uIitlKyIuNjk4MTkzOGIxMTQzYWFhNjE1NzcuanMiOjUzNzg5PT09ZT8iX19MQU5HX18uIitlKyIuZTQ1ODQ1YmYwMDRlNjRhNzFmNmIuanMiOjU0NjQ9PT1lPyJfX0xBTkdfXy41NDY0LjFkNmMzNjI2ZTQ4NTNmYWUzN2ZlLmpzIjo4OTUzND09PWU/Il9fTEFOR19fLiIrZSsiLjE4N2FiMTllNDViNjZjNzk0MmMzLmpzIjo4Njg3MT09PWU/Il9fTEFOR19fLiIrZSsiLmJlN2JmMGEyYjM0YjM3Yjg1ZjRiLmpzIjoyMTg4OD09PWU/Il9fTEFOR19fLiIrZSsiLjliM2QzZmNjYjgyZDI1ODc2MzMyLmpzIjo3ODM9PT1lPyJfX0xBTkdfXy43ODMuNmI4ZDMzZmFiZjYwYmE1MzE1MDcuanMiOjI2NzY0PT09ZT8iX19MQU5HX18uIitlKyIuZDhmZjZlMjlmYWU1ZTJlNDMxNDguanMiOjE3MDkyPT09ZT8iX19MQU5HX18uIitlKyIuODlkOGUwYmY1MWE3N2Q2Y2U3MzEuanMiOjUzNDExPT09ZT8iX19MQU5HX18uIitlKyIuZTgwM2YzZDcyOWI5NTViZTZlMzYuanMiOjg2MjM4PT09ZT8iX19MQU5HX18uIitlKyIuZGIwNzUwYTcwZDM2NzhiM2ExMmQuanMiOjg2MzI0PT09ZT8iX19MQU5HX18uIitlKyIuZDkzN2I2NzRlMmUwYTY1MGZjMDkuanMiOjI0NTA9PT1lPyJfX0xBTkdfXy4yNDUwLjYxM2I4MWRmYjc1MDZkZjdjNTk5LmpzIjo3Mjc1PT09ZT8iX19MQU5HX18uNzI3NS43NTFmNzU4NzU0MDUwNDg4NzEyMy5qcyI6NTY4MDE9PT1lPyJfX0xBTkdfXy4iK2UrIi43MDAwZjcwOGViNmY0NzFiMGQ3Zi5qcyI6MzQ0NzE9PT1lPyJfX0xBTkdfXy4iK2UrIi5kODg0ZTE0ZDQzMjYxM2UxNzU5Yi5qcyI6OTQyNTg9PT1lPyJfX0xBTkdfXy4iK2UrIi5lYTFiMzM0MzhlYTEwOGNiNDcxZi5qcyI6ODQ5Mzk9PT1lPyJfX0xBTkdfXy4iK2UrIi4xZmNkMTM1ZGViODM4ZjdmOTFkYi5qcyI6ODc0Njg9PT1lPyJfX0xBTkdfXy4iK2UrIi44NWFjZDc2OTQyNzM2NzFhNWUxZS5qcyI6ODcwMDc9PT1lPyJfX0xBTkdfXy4iK2UrIi5jMGZmMDQ0NTQwZmNmMmZkZGYwNi5qcyI6Mjc3NjE9PT1lPyJfX0xBTkdfXy4iK2UrIi5jMzdiOTUxMGZlZjNhZjI4MDk5Mi5qcyI6NDkzOTQ9PT1lPyJfX0xBTkdfXy4iK2UrIi4yZWYyNTYyNTJjMjMxZDY5MzVhMi5qcyI6NDM1NzY9PT1lPyJfX0xBTkdfXy4iK2UrIi5iOGYyOGE1MjRjNzUxM2RjZjA1Zi5qcyI6MTMzOT09PWU/Il9fTEFOR19fLjEzMzkuZjkwZWUwZWNkMmM3NzZmNmRjMDcuanMiOjY5Nzc3PT09ZT8iX19MQU5HX18uIitlKyIuYWQyZmU0ZmM3YzJjMGYyZjRiMDEuanMiOjg4MDM9PT1lPyJfX0xBTkdfXy44ODAzLjIxYzJjYTgyOTEyMmU5MTVkZjIzLmpzIjoxOTkxNj09PWU/Il9fTEFOR19fLiIrZSsiLjQyZWUxZTk4ZDc1MzBhYTU2NTUzLmpzIjo2MTA4OD09PWU/Il9fTEFOR19fLiIrZSsiLjA4MzNmM2YxNzM1OGRkMTdlN2ZkLmpzIjozNTE1MD09PWU/Il9fTEFOR19fLiIrZSsiLjdiMGNmM2YwZmIwZDQ4YTU0MTg2LmpzIjoxNTk5OD09PWU/Il9fTEFOR19fLiIrZSsiLjVmYjFlN2JlYzc1NTcyYzAxMGExLmpzIjo2NTI1OT09PWU/Il9fTEFOR19fLiIrZSsiLmE2Njg5MzUwNTZhYWU5OWMzMzQxLmpzIjo4NTk0Mz09PWU/Il9fTEFOR19fLiIrZSsiLjM1Y2UwN2ZlOWViYzQ4NmIwMzAxLmpzIjo4NjgwOD09PWU/Il9fTEFOR19fLiIrZSsiLjQ4NzJlNjU3MmZlYTMwNDE0NWI5LmpzIjo0OTUwMT09PWU/Il9fTEFOR19fLiIrZSsiLjQwMzRjYWU3ZWFhZDVjZjY5Y2IyLmpzIjo4NzU0Mj09PWU/Il9fTEFOR19fLiIrZSsiLmExYTRhMDBmNGI2YmE0NDFkNmUyLmpzIjo3NzI2Mz09PWU/Il9fTEFOR19fLiIrZSsiLjcwMGYzYTAwYjI5MmRkMjg4YmI4LmpzIjo4MzA4Mz09PWU/Il9fTEFOR19fLiIrZSsiLjg4NDAxNmY2ZGJhMWEwOTRlYzU0LmpzIjo2MzA1MT09PWU/Il9fTEFOR19fLiIrZSsiLmQxN2Y3MmJkZjA4ZTAxOTdiMjJiLmpzIjo1MjMyND09PWU/Il9fTEFOR19fLiIrZSsiLjYyNjVlMDA0ZTAzNjE5NDY5ZmE2LmpzIjo2NTc1MD09PWU/Il9fTEFOR19fLiIrZSsiLmUwN2Y4NmZkZjY3ODE2ZDU4YTk3LmpzIjo2NzQzNj09PWU/Il9fTEFOR19fLiIrZSsiLmE3OTc2NTQ4OWE4NjJiYWY5NTNhLmpzIjo1NDI0OD09PWU/Il9fTEFOR19fLiIrZSsiLmI1MjVjMzAxNWM4NjE4Y2U3NDA4LmpzIjo1NDc4MT09PWU/Il9fTEFOR19fLiIrZSsiLjdhNzNjMTMzYjg4OGUxNmEzYWVjLmpzIjo3MzcwPT09ZT8iX19MQU5HX18uNzM3MC5hMGJmODgwN2RhOGQzNTlhMTQ5Yy5qcyI6MTQyMj09PWU/Il9fTEFOR19fLjE0MjIuYzU2MWU0NTkyN2M2Njg4MzhkM2EuanMiOjE3ODU5PT09ZT8iX19MQU5HX18uIitlKyIuNGE1ODBhY2U0OTE0ZjExNWNkMDcuanMiOjE2Mzc3PT09ZT8iX19MQU5HX18uIitlKyIuNGVhZDdiYmRlM2VlZDljYjJlY2IuanMiOjQyMjM2PT09ZT8iX19MQU5HX18uIitlKyIuZTg4NTUwNjljNzBlZTZiNjRlYzcuanMiOjM4NTU1PT09ZT8iX19MQU5HX18uIitlKyIuODQ3NzIyMDc2ZmQwMjExNjQyNmYuanMiOjk5MjIwPT09ZT8iX19MQU5HX18uIitlKyIuNWJmNGZlOTdkYTk2YzZkNGE4OTQuanMiOjYxOTEzPT09ZT8iX19MQU5HX18uIitlKyIuNmQ4MTczNzYyNzA5MzMzYzdhZGEuanMiOjY0MzYxPT09ZT8iX19MQU5HX18uIitlKyIuMzVkZjNiMjdkNDVlZTgyNjI0ZmUuanMiOjUxMzE0PT09ZT8iX19MQU5HX18uIitlKyIuMTAzMTQzYTZiMjg3ZmVkZWMwYzIuanMiOjk1NzcyPT09ZT8iX19MQU5HX18uIitlKyIuYzI4NDVlN2Q2YTIzYjU0NTliYTUuanMiOjY4NjcyPT09ZT8iX19MQU5HX18uIitlKyIuMjUzMzhhYjE2NzBlMDMwNzUyZWIuanMiOjI4ODc1PT09ZT8iX19MQU5HX18uIitlKyIuZWRlMWI3MjE4MTY5M2QxYWNmNGYuanMiOjczMTkwPT09ZT8iX19MQU5HX18uIitlKyIuNDI3NzkyYzcxOGEzZjU5MThkMDUuanMiOjk0NzAyPT09ZT8iX19MQU5HX18uIitlKyIuNmM1ZDUyOWVhY2Y1OGYxY2QyYzEuanMiOjEyMzkzPT09ZT8iX19MQU5HX18uIitlKyIuOGNhMDRmYTc4ZjA0M2E4Yjk5YWMuanMiOjQ3MDMwPT09ZT8iX19MQU5HX18uIitlKyIuOWFhNmUwZmY0ZWRkYTE2ODc1MzYuanMiOjkwMjUxPT09ZT8iX19MQU5HX18uIitlKyIuMjkxYzVkMGYxZWYwOTdiMDljMTguanMiOjQwNTU3PT09ZT8iX19MQU5HX18uIitlKyIuNzRlYzZhZjVmMTg5ZWExYjRiYmEuanMiOjI5NjE4PT09ZT8iX19MQU5HX18uIitlKyIuZGQyMDhmYTlkMjZlNzMyODEwOWMuanMiOjQ0MDY2PT09ZT8iX19MQU5HX18uIitlKyIuNjg4ODFlZTU3ZjMwYzQwM2JiMDMuanMiOjQyNTE9PT1lPyJfX0xBTkdfXy40MjUxLmVhZGNlODIwZTIwODFlNDFmZTM2LmpzIjoyOTgyMT09PWU/Il9fTEFOR19fLiIrZSsiLmEwOTkxMWZmNDhmYmIwN2JiNzdkLmpzIjo2MTA2Nj09PWU/Il9fTEFOR19fLiIrZSsiLjNjYjZjNjQyM2M2YjFmYTAxMGRmLmpzIjo3NjM4NT09PWU/Il9fTEFOR19fLiIrZSsiLmEzOGM4ZTkyMTk2MGNlYTQ0MDE5LmpzIjoyNjA1PT09ZT8iX19MQU5HX18uMjYwNS5mNzAwYWY2Y2I4MGIwNmU1NTRkZC5qcyI6OTk4NjU9PT1lPyJfX0xBTkdfXy4iK2UrIi41NTg4ZjJiZGYzNDkxMmVjMTQ0OC5qcyI6OTk3NjU9PT1lPyJfX0xBTkdfXy4iK2UrIi42ZGE2YmRiYjA4ZjZmN2I5YzFkZC5qcyI6MzA1OTc9PT1lPyJfX0xBTkdfXy4iK2UrIi44NGE0YjNlM2NjYjZkN2MyZjIyYS5qcyI6NDU1MjI9PT1lPyJfX0xBTkdfXy4iK2UrIi4zYTY2MGExNDIxMjRhZGY0NTA0My5qcyI6MTAzMz09PWU/Il9fTEFOR19fLjEwMzMuNzM0YmQ3ZGFmZTc3N2NmMmRmNjEuanMiOjg4ODkxPT09ZT8iX19MQU5HX18uIitlKyIuMmY2NjNiZDEyNWRiMjhmMWNiZGEuanMiOjg4NDI9PT1lPyJfX0xBTkdfXy44ODQyLmY0ODQ0YjQ0MDc4MWIxOWU0NTA4LmpzIjoxOTAzND09PWU/Il9fTEFOR19fLiIrZSsiLjMwNTE3MjA0N2U3ZmFiYjUzNDgxLmpzIjoxNjcyPT09ZT8iX19MQU5HX18uMTY3Mi5mY2Y2OTljNDJjYmY2ZGEwNTAzZC5qcyI6MjEzOTc9PT1lPyJfX0xBTkdfXy4iK2UrIi4zNDFmNmM3Yjc2NTdlNTU1NGRmMC5qcyI6MjkxNjk9PT1lPyJfX0xBTkdfXy4iK2UrIi5jMzU3M2RkMzNhYmVlZWViZWYwNC5qcyI6MTg4OTg9PT1lPyJfX0xBTkdfXy4iK2UrIi5kZjg2NzhmYjFmZWY3NzFiNTNhYS5qcyI6MTg2Mjg9PT1lPyJfX0xBTkdfXy4iK2UrIi4zMmIwYmMyMDhkNWUxOTBhMzczMy5qcyI6NzM2MzM9PT1lPyJfX0xBTkdfXy4iK2UrIi4wNWI1ZWZmNDZkNTkxNTcxNGZmYy5qcyI6Njc5NDk9PT1lPyJfX0xBTkdfXy4iK2UrIi45NDAxYWZjYjdiZDQ3N2UzMTlhMS5qcyI6Njg4NjA9PT1lPyJfX0xBTkdfXy4iK2UrIi4zNzY2ZDExMDc4ODEyZDdmMTQ1Ny5qcyI6MTg3ODE9PT1lPyJfX0xBTkdfXy4iK2UrIi4zOGYxMDNjZWIzNTFkNjhjMmY4Zi5qcyI6NDg5MTI9PT1lPyJfX0xBTkdfXy4iK2UrIi4wN2YxM2U2OTRkZGY1NGI0ZGVlYi5qcyI6NjQ0NDE9PT1lPyJfX0xBTkdfXy4iK2UrIi42ZDNhMDdiOWE4MTQwODczMWNjNC5qcyI6MzMzOTE9PT1lPyJfX0xBTkdfXy4iK2UrIi5hZWRkMWQzY2VlZmJlNGNlNjgwMi5qcyI6NTUwMzg9PT1lPyJfX0xBTkdfXy4iK2UrIi5jYWZjZDVlNTA1M2YxMDhlZTYzMS5qcyI6OTM3NTM9PT1lPyJfX0xBTkdfXy4iK2UrIi5iNmRlZWE5OWMyYTlkOTU5NWIzZi5qcyI6Njc1ND09PWU/Il9fTEFOR19fLjY3NTQuYmQxZGNiNWU1MzhkNzVhN2QxN2YuanMiOjkzOTA1PT09ZT8iX19MQU5HX18uIitlKyIuYzhmNjE0YzQxYzIzZjJmYTMwYjMuanMiOjgxNzQ2PT09ZT8iX19MQU5HX18uIitlKyIuNzNlNmU5ZmEzNzEyOTkyYWRmODEuanMiOjc4MzY1PT09ZT8iX19MQU5HX18uIitlKyIuYmEzMDJjMTI0NmY3ODJhZmJmZWUuanMiOjgyMjQyPT09ZT8iX19MQU5HX18uIitlKyIuZTJkZjJhNWQxMzYyZjZjNGEzOTYuanMiOjkxMjc4PT09ZT8iX19MQU5HX18uIitlKyIuNTVjOTRkZTIzNjQxZTBhZmU5NmEuanMiOjIxMDY2PT09ZT8iX19MQU5HX18uIitlKyIuYTgxOWE2MzE4MDEwYTBkOTkyZGMuanMiOjk0MjM3PT09ZT8iX19MQU5HX18uIitlKyIuZTlkZTczNGMwMDBjZTY3MDYxM2IuanMiOjYyNTc0PT09ZT8iX19MQU5HX18uIitlKyIuZDBiODNmZDliODM0YjBiY2MzNzUuanMiOjI0NDUwPT09ZT8iX19MQU5HX18uIitlKyIuZGQzMTBiZmNkNzBkM2JkMWVjMjAuanMiOjkyOTY0PT09ZT8iX19MQU5HX18uIitlKyIuYWE2NzBkZGZkMTY1OTU5NjRhZWIuanMiOjQ1NTk3PT09ZT8iX19MQU5HX18uIitlKyIuNThmYzJlMjJhZjhmMTAyYTQ2MGEuanMiOjEwMzgyPT09ZT8iX19MQU5HX18uIitlKyIuYThlM2Y3MzYzNzY4M2YwN2IxNWIuanMiOjcwODU3PT09ZT8iX19MQU5HX18uIitlKyIuNDAzZTRlM2JiOWI1OTZhZDAzOTcuanMiOjYwMzY1PT09ZT8iX19MQU5HX18uIitlKyIuYjQwN2FkMTYxOGFiNjViOWUxNjYuanMiOjYxODAzPT09ZT8iX19MQU5HX18uIitlKyIuZmY1ODc4OWM0MzVhMDk3MDZjZTkuanMiOjMyOTA9PT1lPyJfX0xBTkdfXy4zMjkwLjE3ZDk1OTMyOGQzYmMwN2Y0M2IxLmpzIjo5MjY1MT09PWU/Il9fTEFOR19fLiIrZSsiLjA4NDNiZjM4YmVlODMxMWM2NzdiLmpzIjo1ODgyMD09PWU/Il9fTEFOR19fLiIrZSsiLjA5YjQxZDJlZDg0Yjc5ZjRmZTI0LmpzIjo2NDUwPT09ZT8iX19MQU5HX18uNjQ1MC42NDc1NTY5ZjYxNGQyOTMyMTY4OC5qcyI6MTc0NDM9PT1lPyJfX0xBTkdfXy4iK2UrIi5iMzVkN2MwZmYxMDA5ZTM0ZTcyNC5qcyI6KHsKMTU1OiJzaG93LXJlcG9ydC1kaWFsb2ctaW1wbCIsMzM4OiJzdHVkeS1lbGxpb3R0LXdhdmUiLDU3NzoiY29udmVyc2lvbi1jb250ZXh0Iiw5OTM6ImxpbmUtdG9vbC1iZXppZXItY3ViaWMiLDExMDA6ImxpbmUtdG9vbC1yZWdyZXNzaW9uLXRyZW5kIiwxMjAzOiJmaW5hbmNpYWxzLXBlcmlvZC1kb2N1bWVudHMtZGlhbG9nIiwxNDA5OiJiYWNrdGVzdGluZy1pbXBsIiwxNDM4OiJsaWdodHdlaWdodC1hbmFseXNpcy1jaGFydC1kZXBzIiwxNDY0OiJzY3JpcHQtdmlldyIsMTUyMToienhjdmJuRW5QYWNrYWdlIiwxNjQ2OiJsZWdlbmQtdmlldy1yZW5kZXJlciIsMTY5OToiY2hhcnQtcmVuZGVyZXIiLDE4MjY6ImxpbmUtdG9vbC12ZXJ0aWNhbC1saW5lIiwyMjg0OiJyZWd3YWxscy1tYW5hZ2VyIiwyNTAxOiJsaW5lLXRvb2wtNXBvaW50cy1wYXR0ZXJucyIsMjg1OToidmlkZW8tanMtc3R5bGVzIiwzMDM5OiJuZXctY29uZmlybS1pbnB1dHMtZGlhbG9nIiwzNTI0OiJsaW5lLXRvb2wtc2lnbnBvc3QiLDM4NTE6InVzZXItYmFuLWZsb3ciLDM5NjE6InByb2ZpbGUtYXBpIiw0ODU1OiJjaGFydC1uZXdzIiw0OTg3OiJwaW5lLXZpZXdlci1pbXBsIiw1MzMxOiJvcGVuLXNoYXJlLXBvcHVwLWltcGwiLDUzNDM6Im9wZW4tYmxvY2staW5mby1tZW51LWltcGwiLDU5MTc6ImxpbmUtdG9vbC10ZXh0LW5vdGUiLDU5Nzk6ImhpcDMtZGlzY2xhaW1lciIsNjQyNToidGhlbWVzIiw2NDg5OiJzaG93LXN0b2NrLWJvbmRzLWRpYWxvZyIsNjg1MjoibGluZS10b29sLWhvcml6b250YWwtbGluZSIsNzM5NzoicGVyaW9kLWZvcm1hdHRlciIsNzYzNzoibGluZS10b29sLXNpbmUtbGluZSIsNzcxODoicGluZS5tb25hcmNoLnY1Iiw4MjA4OiJzaG93LWV0ZnMtZGlhbG9nIiw4Mjk3OiJjdXJyZW5jeS1sYWJlbC1tZW51Iiw4MzM2OiJsaW5lLXRvb2wtZmxhdC1ib3R0b20iLDg2MDg6InN1cHBvcnQtZGlhbG9nLWltcGwiLDg3MDc6InNlcmllcy1jaGFydC1iYXNlIiw5MDc1OiJsaW5lLXRvb2wtYXJyb3ctbWFya2VyIiw5MTA3OiJwdWJsaWNhdGlvbi12aWV3LXBvcHVwLXJlbmRlciIsOTU5OToiY29udGFjdC1hZHZhbmNlZC1jaGFydHMtZGlhbG9nIiwxMDMyNToiZm9ybSIsMTA1MDU6ImxpbmUtdG9vbC1lbGxpcHNlIiwxMDY0MzoibGluZS10b29sLWNhbGxvdXQiLDEwNzA0OiJjcmVhdGUtZGlhbG9nIiwxMDc4ODoibGluZS10b29sLXRyZW5kLWJhc2VkLWZpYi1leHRlbnNpb24iLDExMzA0OiJzaG93LWVjb25vbXktaW5kaWNhdG9yLWRpYWxvZyIsMTE0MzU6Im5vdGVzLWRpYWxvZyIsMTE5MTE6ImxpbmUtdG9vbC1mbGFnLW1hcmsiLDEyMDYwOiJzb3VyY2UtcHJvcGVydGllcy1lZGl0b3IiLDEyMTM2OiJpZGVhLXZpZXciLDEyMjI3OiJ2b2x1bWUtZm9vdHByaW50LXN0dWR5IiwxMjQ0ODoiZGVsYXktc3RhdHVzLXBhbmUtdmlldyIsMTNlMzoiZWRpdGNoYXRyb29tZGlhbG9nIiwxMzEyMzoiZWFybHktYmlyZC1iYW5uZXIiLDEzNjA5OiJnZXQtY2hhdGlkLWJ5LXVzZXIiLDEzNzE5OiJwaG9uZS1jaGFuZ2UtZmxvdyIsMTM3MzI6ImZ1bGxzY3JlZW4taW1hZ2UtZGlhbG9nLWltcGwiLDEzODM0OiJzaG93LXdhdGNobGlzdHMtZGlhbG9nIiwxMzk4MjoicGluZS1kaWFsb2ciLDEzOTkzOiJwdXNoc3RyZWFtLW11bHRpcGxleGVyIiwxNTE2MDoic2hvdy1hbmFseXNpcy1kaWFsb2ciLDE1MTczOiJmaXJlcy1hY3Rpb24tY3JlYXRvcnMiLDE1MTk2OiJzdnAtc3R1ZHkiLDE1NzM0OiJsaW5lLXRvb2wtcG9seS1saW5lIiwxNTc2NzoienhjdmJuQ29tbW9uUGFja2FnZSIsMTYxMjY6ImNhbnZhcy1yZW5kZXJpbmctY29udGV4dC1zYXZlLXJlc3RvcmUtbGVha3MtdXRpbHMiLDE2MjkyOiJtb25hY28uZWRpdG9yLmxvY2FsZS5kZSIsMTY2Nzg6InNjcmlwdC1hY2Nlc3MtcmVxdWlyZWQtZGlhbG9nIiwxNjgxMzoidHJhZGluZ3ZpZXctY29weXJpZ2h0LXdpdGgtYm9yZGVyLWRhdGEtaW1wbCIsMTY5NDk6InN0dWR5LXRlY2huaWNhbHMtc2VhcmNoLWRpYWxvZyIsMTcwMjg6ImRvY3VtZW50LWVhcm5pbmctcG9wdXAtY29udGVudCIsMTcyMjY6InNob3dNYXhGb2xsb3dpbmdzRXhjZWVkRGlhbG9nIiwxNzMzNjoiY29tcGFyZS1tb2RlbCIsMTc1MTU6ImxpbmV0b29scy1saW1pdC1leGNlZWRlZC1kaWFsb2ciLDE3NjMzOiJsaW5lLXRvb2xzLXNwbGl0LWFkanVzdGVyIiwxNzkwOToic2NyaXB0LWZvcm0iLDE4MzA0OiJsdC1pY29ucy1hdGxhcyIsMTgzMTE6InNjcmlwdC1wcmVmZXRjaGVyIiwxOTAxMjoibW9uYXJjaC5jb2xvcml6ZXIiLDE5MTQzOiJtb25hY28uZWRpdG9yLmxvY2FsZS56aC1oYW5zIiwxOTIxMzoicHVibGljYXRpb24tdmlldy1pZGVhIiwxOTMxMToidGFrZS1zY3JlZW5zaG90IiwxOTMxNDoib3Blbi1kZWZhdWx0LXNjcmlwdC1kaWFsb2ciLDE5NzIyOiJmbG9hdGluZy10b29sYmFycyIsMTk3Njk6InN1YnNjcmlwdGlvbi1oYXMtY2hhbmdlZC1kaWFsb2ciLDE5ODE2OiJ0b2FzdC1sYXllciIsMTk5Mzg6InN5bWJvbC1saXN0LXNlcnZpY2UiLDIwMjQ3OiJsaW5lLXRvb2wtdHdlZXQiLDIxMTA2OiJtaW5kLXBvcHVwLWVtcHR5LXN0YXRlIiwyMTI2MDoibnNkLXVucGFjay1pbXBsIiwyMTU5NjoibGluZS10b29sLWZpYi1zcGVlZC1yZXNpc3RhbmNlLWZhbiIsMjE3NjY6ImRyYXdpbmctaGludHMtcmVuZGVyZXIiLDIxOTc3OiJsaW5lLXRvb2wtdHJpYW5nbGUiLDIyMDIwOiJzaG93LXBvcnRmb2xpby1kaWFsb2ciLDIyMTYzOiJsaW5lLXRvb2wtdGVtcGxhdGVzLWxpc3QiLDIyMzQ3OiJhZGQtY29tcGFyZS1kaWFsb2ciLDIyNTMyOiJjaGFydC1zb3VyY2UtaWRzLWdldHRlciIsMjI1NDc6ImdvcHJvLWRpYWxvZyIsMjMxMTQ6ImxpbmUtdG9vbC1pY29uIiwyMzc2OToic3VwcG9ydC13aXphcmQtc2hvcnRjdXQtcGFnZSIsMjQwMTM6ImxpbmUtdG9vbC1wcmljZS1ub3RlIiwyNDA0NDoiY29va2llcy1ub3RpZmljYXRpb24iLDI0MTA4OiJvcGVuLXBpbmUtZWRpdG9yLXNvdXJjZS1jb2RlIiwyNDEzNzoibGluZS10b29sLWZpYi1yZXRyYWNlbWVudCIsMjQyNjk6Im1vbmFjby5sYW5ndWFnZS5jbGllbnQiLAoyNDk5MDoibW9uYWNvLmVkaXRvci5sb2NhbGUuamEiLDI1MjM3OiJuZXctZWRpdC1vYmplY3QtZGlhbG9nIiwyNTQ2Mzoic2hvdy13YXJuaW5nLWFsZXJ0cy1tYXgtdG90YWwtY291bnQtZXhjZWVkZWQiLDI1NTU3OiJzaG93LW92ZXJhbGwtd2F0Y2hsaXN0LWFsZXJ0cy1saW1pdC1wb3B1cCIsMjU2Mjg6InNuYWNrYmFyLW1hbmFnZXIiLDI1NjM0OiJsaW5lLXRvb2wtYXJyb3ctbWFyayIsMjU2NDg6ImxpbmUtdG9vbC1yaXNrLXJld2FyZCIsMjYwNjY6ImNvbnRhY3QtcHJpdmFjeS1wb2xpY2llcy1kaWFsb2ciLDI2MDcwOiJsaW5lLXRvb2wtZmliLXNwZWVkLXJlc2lzdGFuY2UtYXJjcyIsMjcwNTI6ImxpbmUtdG9vbC10cmVuZC1hbmdsZSIsMjcxMTg6InRvb2x0aXAtY2hhcnQtY2FyZCIsMjc4OTE6InNlbmQtbWVzc2FnZS1kaWFsb2ctaW1wbCIsMjg0OTg6InByaXZhY3ktcHJlZmVyZW5jZS1kaWFsb2ciLDI4NTA3OiJnZXQtZXJyb3ItY2FyZCIsMjg2NjA6ImZ1bGwtdG9vbHRpcHMtcG9wdXAiLDI4NzE1OiJtb25hY28uZWRpdG9yLmxvY2FsZS56aC1oYW50IiwyODcxODoiZ28tdG8tZGF0ZS1kaWFsb2ctaW1wbCIsMjkwNzQ6InN0dWR5LXppZy16YWciLDI5NzY1OiJpbmRpY2F0b3ItdGVtcGxhdGVzLWRpYWxvZyIsMjk3OTg6ImRvY3VtZW50LWNhcmQtcG9wdXAiLDMwMDM0OiJtb25hY28uZWRpdG9yLmxvY2FsZS5wdC1iciIsMzAzMDQ6ImNvbnRhY3QtZWR1Y2F0aW9uYWwtZGlhbG9nIiwzMDc3NDoibGluZS10b29sLXN0aWNrZXIiLDMwOTQ2OiJhbGVydHMtcmVzdC1hcGkiLDMxMTUyOiJtb25hY28ubGFuZ3VhZ2Uuc2VydmljZXMiLDMyMjczOiJzdHVkeS1waXZvdC1wb2ludHMtaGlnaC1sb3ciLDMyNjEzOiJjb250YWN0LWVudGVycHJpc2UtcGxhbnMtZGlhbG9nIiwzMzEyNDoibGluZS10b29sLXJlY3RhbmdsZSIsMzM0MTA6InBlcmZvcm1hbmNlLXRlc3QtbW9kZS0xIiwzNDE4OToiYnVnLWRpYWxvZy1jcmVhdGlvbi1oYW5kbGVyIiwzNDU1NToic2hvdy1jb250cmFjdHMtZGlhbG9nIiwzNDY0NzoibGluZS1yYW5nZS10b29scyIsMzQ2NTQ6ImxheW91dC1jaGFydC1zeW5jIiwzNDg3OToiaW50ZXJydXB0LWNvbmZpcm0tbW9kYWwiLDM0OTU0OiJzaG93LW9wdGlvbnMtZGlhbG9nIiwzNTM0NDoicHVibGljYXRpb24tY29tbWVudHMtY29udGFpbmVyIiwzNTQ4NToidHBvLXN0eWxlLXByb3BlcnR5LWRlZmluaXRpb25zIiwzNTUzNToidXNlci1wb3B1cCIsMzU1OTI6ImVycm9yLWxvdHRpZS1hbmltYXRpb24iLDM1NzkwOiJwb3BvdmVyLW1lbnUiLDM1OTIyOiJmYXZvcml0ZS1pbmRpY2F0b3JzIiwzNTk4MDoiY2xlYXItb2xkLXNldHRpbmdzIiwzNjM2NzoiYmFja3Rlc3Rpbmctc3RyYXRlZ3ktZmFjYWRlIiwzNjgwNDoiY2hhcnQtd2FybmluZy1oaW50IiwzNzIxMzoic2hvdy1ib25kLXlpZWxkLWN1cnZlLWRpYWxvZyIsMzc3NTY6ImV4Y2hhbmdlLWFncmVlbWVudC1kaWFsb2ciLDM3ODc3OiJpbnNlcnQtaW1hZ2UtZGlhbG9nIiwzODMzMzoiYm9vdHN0cmFwLW1vbmFjbyIsMzg0NDI6ImNoYXJ0LWFsZXJ0cy1mYWNhZGUiLDM4NDQ5OiJzaG93LXNlYXNvbmFscy1kaWFsb2ciLDM4Nzg3OiJwYWdlLXNuYXBzaG90IiwzOTIwMzoicGluZS1kaWFsb2ctb3Blbi1zdGF0ZSIsMzkyMzk6ImN1cnZlLWNoYXJ0LWNvbnRlbnQtdXRpbHMiLDM5MjUxOiJnZW5lcmF0ZS1hbGVydHMtZmlyZXMtY3N2LWZpbGUtaW1wbCIsMzk0NDI6ImNvbnZlcnQtbWVkaWF0b3Itc3RvcnkiLDM5ODQzOiJsaW5lLXRvb2wtdGFibGUiLDM5ODU5OiJmb290cHJpbnQtcGFuZS12aWV3Iiw0MDEwMToidHYtY29pbnMtZGlhbG9nIiw0MDI0MzoibGluZS10b29sLWFyYyIsNDAyNjY6InB1Ymxpc2gtdG9vbHMiLDQxMDYxOiJtb25hY28uZWRpdG9yLmxvY2FsZS5lcyIsNDEzMjg6InNlcmllcy1pY29ucy1tYXAiLDQxNTI0OiJoaXAzLWRpc2NsYWltZXItZGlhbG9nIiw0MTY3MjoibG9sbGlwb3AtdG9vbHRpcC1yZW5kZXJlciIsNDE4MTQ6InRvYXN0LWFkIiw0MjQwMjoidHJhY2stZXZlbnRzIiw0MjQ0MToic29sdXRpb24taWQtbWFwIiw0MjYyODoibGluZS10b29sLWFuY2hvcmVkLXZ3YXAiLDQyNzA2OiJzaW1wbGUtZGlhbG9nIiw0MjgzNjoid3JhcC1waW5lLXRhZ3MiLDQyOTM0OiJ3aWRnZXQtc2lkZXRvb2xiYXIiLDQzMTgwOiJjaGFydC1zY3JlZW5zaG90LWhpbnQiLDQzNDU4OiJhbGVydC11dGlscy1oYXMtdXNlci1hY2Nlc3MtdG8tZGF0YS1zb3VyY2UiLDQzNDk2OiJsaW5lLXRvb2wtcGF0aCIsNDM5MjY6IndpZGdldC10b3B0b29sYmFyIiw0NDE2MjoidGltZS1mcmFtZS12aWV3LXJlbmRlcmVyIiw0NDE2NToibGluZS10b29sLWNpcmNsZSIsNDQ0Njg6ImxpbmUtdG9vbC1yb3RhdGVkLXJlY3RhbmdsZSIsNDUzMjI6ImxpZ2h0d2VpZ2h0LWNoYXJ0LXByaWNlLXRpbWUtdG9vbHRpcCIsNDU5NDc6ImxpbmUtdG9vbC1nYW5uLXNxdWFyZSIsNDYxNjk6InVwZ3JhZGVEaWFsb2ciLDQ2MjUwOiJsaW5lLXRvb2wtcGFyYWxsZWwtY2hhbm5lbCIsNDYyNjA6InB1Ymxpc2hlZC1pZGVhLWJhbm5lciIsNDYzODM6ImNyZWF0ZS1lcnJvci1kaWFsb2ciLDQ2NjUwOiJ0YWJsZS12aWV3LWRpYWxvZyIsNDY3Mzk6ImxpbmUtdG9vbC1maWItd2VkZ2UiLDQ2NzcyOiJjaGFuZ2UtaW50ZXJ2YWwtZGlhbG9nIiw0NjgzMjoiYWdncmVnYXRlZC1iYXJzLWNoYXJ0Iiw0Njg4MjoidGFibGVjb250ZXh0LW1lbnUiLDQ3MzkwOiJsaW5lLXRvb2wtdGltZS1jeWNsZXMiLDQ3NTM4OiJzdHVkaWVzIiw0NzU1OToibWFuYWdlLWRyYXdpbmdzLWRpYWxvZyIsNDc1Nzc6InNob3ctbmV3cy1kaWFsb2ciLDQ3NjkyOiJsaW5lLXRvb2wtaW1hZ2UiLDQ3NzIzOiJjaGFydC1hY3Rpb25zLXByb3ZpZGVyIiw0Nzk2MToiZGVjbGFyYXRpb24iLDQ4MDAyOiJjb250YWN0LXdpZGdldHMtZGlhbG9nIiw0ODAyNzoidHJpYWwtY2FuY2VsZWQiLDQ4MTc4OiJzdXBwb3J0LXdpemFyZC13YXJuaW5ncyIsNDgyNTU6ImNoYXJ0LWZsb2F0aW5nLXRvb2x0aXAtYWN0aXZhdGlvbi1oaW50Iiw0ODQxMzoic3VwcG9ydC13aXphcmQtaGlnaC12b2x1bWUtaW5mbyIsCjQ4NTUyOiJ2aWRlby1iYW5uZXItZGlhbG9nIiw0OTY1MjoibW9uYWNvLm1vZGVsLnNlcnZpY2UiLDQ5ODM5OiJzb3VyY2UtdGFnLXBvcG92ZXIiLDQ5ODgzOiJicmFuZGluZy1zb3VyY2UiLDQ5OTc0OiJsaW5lLXRvb2wtYmFsbG9vbiIsNTAxODI6Imdsb2JhbC1ub3RpZmljYXRpb24iLDUwMjY5OiJjaGFydC10ZXh0LWVkaXRvci1yZW5kZXJlciIsNTAzMTc6ImxpbmUtdG9vbC1waXRjaGZvcmsiLDUwNjI1OiJnZW5lcmFsLWNoYXJ0LXByb3BlcnRpZXMtZGlhbG9nIiw1MDkyNzoibGluZS10b29sLWdob3N0LWZlZWQiLDUxMjYzOiJ2aWRlby5qcyIsNTE2ODY6ImN1c3RvbS1pbnRlcnZhbHMtYWRkLWRpYWxvZyIsNTIwODY6ImxpbmUtdG9vbC1nYW5uLWNvbXBsZXgiLDUyMDk0OiJzeW1ib2wtbGlzdC1jb250ZXh0LW1lbnUiLDUzNTQ3OiJwcm9tb3Rpb24tZGlhbG9nIiw1Mzc3MDoiZ2V0LW1lZGlhdG9yLWFwaSIsNTM4ODE6ImdvLXRvLXRyYWRpbmd2aWV3LXJlZmVycmFsLWRpYWxvZyIsNTQxNjA6InNob3ctcGluZS1kaWFsb2ciLDU0NjE1OiJyZWZlcnJhbC13ZWxjb21lIiw1NTM1NjoiZ2xvYmFsLW5vdGlmaWNhdGlvbi10b29scyIsNTUzODE6ImNoYXJ0LWJvdHRvbS10b29sYmFyIiw1NTk2MDoiY29udGFjdC1zZWN1cml0eS1yZXBvcnQtZGlhbG9nIiw1NjAwODoibmV3cy1kZXNjcmlwdGlvbi1kaWFsb2ciLDU2MzgyOiJ3aWRnZXRiYXIiLDU2NDA5OiJsaW5lLXRvb2wtZ2Fubi1mYW4iLDU2OTQ2OiJvcGVuLXJlcGxheS1wcm9wZXJ0aWVzLWRpYWxvZyIsNTcyMzQ6ImxpbmUtdG9vbC1maWItc3BpcmFsIiw1NzQ4NDoicHJvZHVjdHMtYnV0dG9uIiw1NzYzOToibWluaS1jaGFydC1zeW1ib2wtZGF0YSIsNTc2NzQ6ImFsZXJ0cy1jaGFydC1hY3Rpb24tY3JlYXRvcnMiLDU3NzE0OiJ1c2VyLXN0YXR1cy1kZWNsYXJhdGlvbiIsNTg0MTg6InNob3ctZG9jdW1lbnRzLWRpYWxvZyIsNTg2MTM6ImNoYW5nZS1wbGFuLWRpYWxvZy1pbXBsIiw1ODgxNzoidmFsaWRhdGUtaW50bC1hZGRyZXNzLWRpYWxvZyIsNTkzMjg6Imx0LXByb3BlcnR5LXBhZ2VzLXdpdGgtZGVmaW5pdGlvbnMiLDU5NTA3OiJwdWJsaWNhdGlvbi1hZHZlcnRpc2VtZW50Iiw1OTYzMDoiYXN5bmMtZ3ppcC53b3JrZXIiLDYwMzE3OiJiYWNrdGVzdGluZy1zdGF0aWMiLDYwNDkzOiJ3YXRjaGxpc3Qtd2lkZ2V0Iiw2MDU0ODoiZWRpdG9yLndvcmtlciIsNjA5Njk6ImVycm9yLXJlbmRlcmVyIiw2MTEyNjoiZ2V0LXNjYW4tZGF0YSIsNjE1MzM6InN0b3J5LWl0ZW0tdHJhbnNmb3JtIiw2MTg3NzoibGluZS10b29sLWJlemllci1xdWFkcm8iLDYyMDY4OiJmaW5hbmNpYWxzLXNvbHV0aW9uLWlkLW1hcCIsNjIyMzQ6Im5zZC1pbmZsYXRlLXBha28iLDYyMzYzOiJtb25hY28uZWRpdG9yLmxvY2FsZS50ciIsNjI1NTc6InN1cHBvcnQtd2l6YXJkLXdoYXRzLW5ldy1wYWdlIiw2MjgxMToid2FybmluZy1wb3B1cC1pbXBsIiw2MjkxNDoidm9sdW1lLWZvb3RwcmludC1zdHlsZS1wcm9wZXJ0eS1kZWZpbml0aW9ucyIsNjI5NDM6InJlYWN0LXBvcHBlciIsNjI5OTc6ImxvbGxpcG9wLWNoYXJ0LWV2ZW50cyIsNjMwODg6InBpbmUubW9uYXJjaC52MyIsNjMwOTQ6InN5bWJvbC1kZXRhaWxzIiw2MzE1OToic3RhY2tlZC1jb21wYXJlLXN5bWJvbHMtY2hhcnQiLDYzNTk1OiJ1c2VybmFtZS1oaW50cy1saXN0Iiw2MzYwNDoibGluZS10b29sLXBvc2l0aW9uIiw2Mzg3NToiY3JlYXRlLXB1Ymxpc2gtdW50cnVzdGVkLXN0cmF0ZWd5LWRpYWxvZyIsNjM4ODU6ImN1cnJlbmN5LWxhYmVsLW1lbnUtZXZlbnRzIiw2Mzk2ODoic3ltYm9sLWluZm8tZGlhbG9nLWltcGwiLDY0MTU4OiJsaW5lLXRvb2wtY3Jvc3MtbGluZSIsNjQxODU6Im1vbmFjby5lZGl0b3IubG9jYWxlLnBsIiw2NDU4ODoibGluZS10b29sLWZpYi10aW1lem9uZSIsNjQ2MzI6Im9mZmVyLWJ1dHRvbi1sb2dpbi1zdGF0ZS1jaGFuZ2UtaW1wbCIsNjQ2NDQ6InJlYWN0Iiw2NDg5MDoibGluZS10b29sLWJhcnMtcGF0dGVybiIsNjU1ODg6ImNoYXJ0LXdpZGdldC1ndWkiLDY1NjIzOiJwb3Atb3ZlciIsNjU2NDY6ImZvcmVjYXN0LXF1b3Rlcy1zbmFwc2hvdGVyIiw2NTkwOToicGVyc2lzdGVudC1sb2dnZXIiLDY1OTQ3OiJ2YWxpZGF0ZS1hZGRyZXNzLWRpYWxvZyIsNjYwNDA6ImxpbmUtdG9vbC1jb21tZW50Iiw2NjI4NDoibWFuYWdlLWFjY2Vzcy1kaWFsb2ctY29udGFpbmVyIiw2NjM5OToic25vd3Bsb3ctdHJhY2tlciIsNjY0NzI6InB1YmxpY2F0aW9uLXZpZXctcG9wdXAtbWFuYWdlciIsNjY2ODc6InJlY2FwdGNoYS1wb3B1cCIsNjY4NjY6InRwby1zdHVkeSIsNjc0ODQ6InNob3ctYWx0ZXJuYXRpdmUtZW1haWwtcG9wdXAiLDY3OTU4OiJwaW5lLWVkaXRvci1kaWFsb2ciLDY4MTU1OiJpbWFnZS1kaWFsb2ciLDY4MjAxOiJob3RsaXN0LXdpZGdldCIsNjgzODE6InN0dWR5LXByb3BlcnR5LXBhZ2VzLXdpdGgtZGVmaW5pdGlvbnMiLDY4NDgxOiJzeW1ib2wtc2VhcmNoLWRpYWxvZyIsNjg1MTk6InNob3ctZm9yd2FyZC1jdXJ2ZS1kaWFsb2ciLDY4OTgyOiJhbGVydHMtd2FybmluZy1kaWFsb2ciLDY5MjQxOiJtb25hY28uY29uZmlndXJhdGlvbi5zZXJ2aWNlIiw2OTQ4NjoiY2xlYXItY29udmVyc2F0aW9uLW1vZGFsIiw2OTg3NDoibG90dGllLndvcmtlciIsNjk4ODE6Indyb25nLWFjY291bnQtZGlhbG9nIiw3MDA1OToibGluZS10b29sLXZvbHVtZS1wcm9maWxlIiw3MDUzMjoiaW52b2tlLWFsZXJ0LWVkaXRvciIsNzA5MTc6ImVkaXRvci1iYXNlLWxheW91dCIsNzExODU6ImJhc2ljLXF1b3Rlcy1zbmFwc2hvdGVyIiw3MTE5MjoicXVvdGUtdGlja2VyIiw3MTMxOToiYWxlcnRzLWNvbGxlY3Rpb24iLDcxMzc1OiJwcmljZS1zY2FsZS1tb2RlLWJ1dHRvbnMtcmVuZGVyZXIiLDcxNTY1OiJwdWJsaWNhdGlvbi12aWV3LXNjcmlwdCIsNzE1OTY6ImxpbmUtdG9vbC1nYW5uLWZpeGVkIiw3MTYzMjoibGluZS10b29sLXRyaWFuZ2xlLXBhdHRlcm4iLDcxNjYyOiJsaW5lLXRvb2wtaG9yaXpvbnRhbC1yYXkiLDcxNzUzOiJjaGFydC1leHBvcnQtZGlhbG9nIiw3MjExMToicGluZS5tb25hcmNoLnY0IiwKNzIxODY6ImxpbmUtdG9vbC1wcmVkaWN0aW9uIiw3MjI2NDoiYWxlcnRzLWVycm9yLXByZXNlbnRlciIsNzMyMzQ6InN0dWR5LWlucHV0cy1wYW5lLXZpZXdzIiw3MzIzNjoicGxheWVyLWN1c3RvbWl6ZXIiLDczMzAwOiJjb250YWN0LWJyb2tlcmFnZS1pbnRlZ3JhdGlvbi1kaWFsb2ciLDczMzk3OiJsaW5lLXRvb2wtcHJpY2UtbGFiZWwiLDczNDgwOiJmaXJlcy1hY3Rpb25zIiw3MzY0NDoiaWdub3JlLXVzZXJzLWRpYWxvZy1saXN0Iiw3MzY3ODoiZGV0YWlscy1tZXRyaWNzLWFjdGlvbiIsNzQyMTg6ImFsZXJ0LWxhYmVsLWNvbnRleHQtbWVudS1hY3Rpb25zIiw3NDM0MToidGVjaG5pY2Fscy1kaWFsb2ctY29udHJvbGxlciIsNzQzNjQ6ImNvbnRleHQtbWVudS1yZW5kZXJlciIsNzQ0MDk6ImxpbmUtdG9vbC10cmVuZC1saW5lIiw3NDUyMzoic2hvdy1mb3JlY2FzdC1kaWFsb2ciLDc0NTcwOiJsaW5lLXRvb2wtZWxsaW90dCIsNzQ4Nzg6ImxpbmUtdG9vbC1maWItY2hhbm5lbCIsNzQ5NjI6InNob3ctdGVjaG5pY2Fscy1kaWFsb2ciLDc1NDM5OiJnZW5lcmFsLXByb3BlcnR5LXBhZ2UiLDc2Mjc0OiJzaG93LWZpbmFuY2lhbHMtZGlhbG9nIiw3NjY2MzoibW9uYWNvLmtleWJpbmRpbmcuc2VydmljZSIsNzc0Nzk6ImxpbmUtdG9vbC1icnVzaCIsNzc1ODg6ImNoYXJ0LWV2ZW50LWhpbnQiLDc4NzE3OiJwaW5lLm1vbmFyY2gudjYiLDc4ODQxOiJtYXRjaGVyUHduZWRGYWN0b3J5Iiw3ODg3NzoicGF5bWVudC1vcmRlci1kaWFsb2ciLDc4OTA1OiJzZWFzb25hbHMtY2hhcnQiLDc5MTM0OiJsaW5lLXRvb2wtcHJvamVjdGlvbiIsNzk0NzY6ImFsZXJ0cy10cmFja2VycyIsNzk2MTU6InZlcnNpb24taGlzdG9yeS1kaWFsb2ciLDc5NjcxOiJzaG93LXRoZW1lLXNhdmUtZGlhbG9nIiw3OTkwMjoibHQtc3RpY2tlcnMtYXRsYXMiLDgwNzYyOiJjaGFydC1mbG9hdGluZy10b29sdGlwIiw4MDkxMjoiZGV0YWlscy1kaWFsb2ctcmVuZGVyZXIiLDgwOTM5OiJ0cmFuc2xhdGVkLXN5bWJvbC1kZXNjcmlwdGlvbiIsODEwNzY6Im1vZGVyYXRvci1hY3Rpb25zLWNvbnRhaW5lciIsODEwOTc6ImFsZXJ0LWxhYmVsLWFjdGlvbi1jcmVhdG9ycyIsODE0OTU6Imx0LXBhbmUtdmlld3MiLDgxNTU0OiJtb25hY28uZWRpdG9yLmxvY2FsZS5ydSIsODE2MDU6ImFkdmFuY2VkLWNoYXJ0LWxvbGxpcG9wcyIsODE3NTg6ImxpbmUtdG9vbC1jeWNsaWMtbGluZXMiLDgzMTE5OiJsaW5lLXRvb2wtaGVhZC1hbmQtc2hvdWxkZXJzIiw4MzE3OToiY2hhdC1tZXNzYWdlIiw4MzQwODoib24tcHJpdmF0ZS1tZXNzYWdlLWJ1dHRvbi1hY3Rpb24iLDg0MDcwOiJzaG93LWVycm9yLWRpYWxvZyIsODQyMDY6InRpbWVyLndvcmtlciIsODQ0MzY6ImxpbmUtdG9vbC1pZGVhIiw4NDY5MjoibHNwLndvcmtlciIsODQ4Mjc6InB1Ymxpc2hlZC1jaGFydHMtdGltZWxpbmUtdG9vbHRpcCIsODQ5NTI6Im9iamVjdC10cmVlLWRpYWxvZyIsODUwNTc6ImFsZXJ0cy1zZXNzaW9uIiw4NTIyNzoib3BlbmVkLXNjcmlwdHMiLDg1NDgwOiJhbGVydHMtYWN0aW9ucyIsODU2NTI6ImhhbW1lcmpzIiw4NTk3NDoic2lnbmluLWRpYWxvZyIsODYwMDE6InBheXdhbGwtbWFuYWdlciIsODYyMzc6ImxpbmUtdG9vbC1hYmNkIiw4NjQxMzoicHVibGljYXRpb24tdmlldy12aWRlbyIsODY3NDA6InBlcmZvcm1hbmNlLXRlc3QtbW9kZSIsODY5MTQ6InNwaW5uZXIiLDg3MTk2OiJsaWdodHdlaWdodC1taW5pY2hhcnQtc3R1ZHktZGF0YS1zb3VyY2UiLDg3NTA5OiJtZXNzYWdlLWRpYWxvZyIsODc2MDc6ImxpbmUtdG9vbC1kaXNqb2ludC1jaGFubmVsIiw4Nzg1MToic3ZwLXN0eWxlLXByb3BlcnR5LWRlZmluaXRpb25zIiw4ODExNjoiaW52aXRlLW9ubHktZGlhbG9nIiw4ODM1ODoic2VyaWVzLXBhbmUtdmlld3MiLDg4NDgzOiJsaW5lLXRvb2wtb3JkZXIiLDg4NTkwOiJvcGVuLXByaWNpbmciLDg4NjQwOiJzdXBwb3J0LXdpemFyZC1tYWluLXByb2JsZW0iLDg4Njk3OiJsaW5lLXRvb2wtZW1vamkiLDg5NDY3OiJjb21wYXJlLXN5bWJvbHMtY2hhcnQiLDg5OTYzOiJtaW5kLXBvcHVwLXJlbmRlciIsOTA0MTU6InN5bXBob255LWNvbW11bmljYXRpb24iLDkwNDcwOiJsaW5lLXRvb2wtdHJlbmQtYmFzZWQtZmliLXRpbWUiLDkwNTU4OiJsaXF1aWRhdGlvbi12b2x1bWUtc3RyZWFtIiw5MDgxMDoiYWRkLW1pbmktY2hhcnQtY29weXJpZ2h0LWltcGwiLDkwODY0OiJ1c2UtdXNlci10aGVtZSIsOTA4ODA6InJlbmRlci11bnN1YnNjcmliZS1kaWFsb2ciLDkxMjkyOiJwYXl3YWxsLW9wZW4iLDkxNjY4OiJzdHVkeS1wYW5lLXZpZXdzIiw5MTgzMzoiZW5kLW9mLXNlcmllcy1iYW5uZXIiLDkyMjI5OiJhbGVydHMtYWN0aW9uLWNyZWF0b3JzIiw5Mjc0Njoib3Blbi1zY3JpcHQtZGlhbG9nIiw5Mjc4NjoicmVhZG9ubHktbGlzdC1ub3RpZmljYXRpb24iLDkyODE3OiJtb25hY28uZWRpdG9yLmxvY2FsZS5mciIsOTI5MTY6Im9wZW4taW1hZ2UtZGlhbG9nIiw5Mjk2ODoiY2hhdGJvdCIsOTMwNjY6ImRpc2Nvbm5lY3QtbWVzc2FnZXMiLDkzMTU4OiJtb25hY28uZWRpdG9yLmxvY2FsZS5pdCIsOTMyMDY6InB1YmxpY2F0aW9uLXZpZXctZXJyb3IiLDkzMjQ4OiJhbGVydHMtcmVzcG9uc2UtbW9ja3MiLDkzMjc5OiJtaW5pLWNoYXJ0LWJhci1idWlsZGVyIiw5MzM0MDoiZGVsZXRlLWxvY2tlZC1saW5lLWNvbmZpcm0tZGlhbG9nLWNvbnRlbnQiLDkzNTI4OiJ0YWtlLWNoYXJ0LWltYWdlLWltcGwiLDkzNzY1OiJsaW5lLXRvb2wtdGhyZWUtZHJpdmVycyIsOTM4MDE6InRwby1wYW5lLXZpZXciLDk0MDg1OiJzaG93LWNvbW11bml0eS1kaWFsb2ciLDk0ODIyOiJzaG93LWRlcml2YXRpdmVzLWRpYWxvZyIsOTUwNjI6ImxvbGxpcG9wLWZ1dHVyZXMtY29udHJhY3QtZXhwaXJhdGlvbiIsOTUyMDc6InNub3dwbG93LXRyYWNrZXItYmFzZSIsOTU2MzQ6InBpbmUtcmVmZXJlbmNlLWRpYWxvZyIsOTU3NTY6InR2LWNvaW5zIiw5NTc2MDoibGF0ZXN0LXVwZGF0ZXMtdG9vbHRpcC1zdHlsZXMiLDk2MDc1OiJsb2xsaXBvcC1sYXRlc3QtdXBkYXRlcyIsCjk2MTExOiJkZWxheS1zdGF0dXMtdmlldy1tb2RlbCIsOTYzMzc6ImNvbnRhY3QtdHJhZGluZy1lZGl0aW9uLWRpYWxvZyIsOTY0Mjc6Im1vbmFjby5lZGl0b3IubG9jYWxlLmtvIiw5NjUxMzoibW9uYWNvLnZzY29kZS5sYW5ndWFnZS5jbGllbnQiLDk2NzI3OiJsYXp5LWpxdWVyeS11aSIsOTcyMDI6ImdvcHJvLW9yZGVyLWRpYWxvZyIsOTg1NTc6ImxpbmUtdG9vbC1ub3RlIiw5ODgzMDoidHdvLWZhY3Rvci1hcGkiLDk5ODA1OiJjb250YWN0LWFkdmVydGlzaW5nLWRpYWxvZyJ9W2VdfHxlKSsiLiIrezE1NToiYzhkODlmY2ZkZDdmNzFlMjE2ZDciLDMzODoiMTFjMTZhNzFkNGY1Mzk2OGQzNWIiLDU3NzoiOWEzOTYxYzE0ZjIyOTNmOTA5ZWMiLDk5MzoiYTc4YTRkY2E4ZTI0NDhmOGM2NzgiLDExMDA6IjMxN2VmZGMyOTg4ZjNhNGY2NzA5IiwxMTI4OiIzYTJmZDE3MzYzM2Y0NmY5YTBmYiIsMTIwMzoiOTYwMjRkNzJkYTQzNmUxZGIzMjciLDEzMzE6IjU0ZmQyYTU5NTJjODhmMzU1NWMxIiwxMzU4OiIzZGI3YjVmZWUwNTZlZjc1ZDdkZiIsMTQwOToiNTI4YTIyNDg2YmJjZmQ5ZmMzODEiLDE0Mzg6Ijk5ODQxNzkzMDg0YmNkNjdlNGMyIiwxNDY0OiI1Y2RhNGNkODg1ZDE5MzVjNWRlZiIsMTUyMToiNzI0YjUwYjBhMDg2YThiMWVmYzAiLDE1MzQ6Ijc0ZmZlMWU3MjVhNDY1ZDQzNDFlIiwxNjQ2OiI4YzgwMDA1YWYyMTU4YmQwODNkYyIsMTY2MDoiNTM4NGFmMmRmYTAzMDQ3ZTVkNTIiLDE2OTk6IjI1YjUzYTkyODVmMGExODhkNDA3IiwxODI2OiJhYjMwOGEyNjYwMWQ0ZmRmYzg5YiIsMjI4NDoiYzQ0YWE5MjY3YmU4ZGMxYzcxNzkiLDI1MDE6IjkzMmQ5NTRhMjY5M2Q4OGY2NWU2IiwyODUxOiJlNmJmMjAwMGQ0ZmI0YzgxMDAxMiIsMjg1OToiYjQwODQwYzU3ODA0YTRmZWY5Y2YiLDI5Nzc6IjQ4ODYzODRhYTZhOWYxZDE4Y2I0IiwzMDM5OiIyZmUyODdmYWJmZGU1ODgzYWU0NyIsMzM2NzoiYjdjMTI1MWZkMGI2OWMzMjE2NDIiLDM0MTc6IjVmZmNmN2Y2YTM2MTI1NDljYjVkIiwzNDY3OiI4OTU1MGMyYjkxZGRjNDgwMjkwOSIsMzUyNDoiYjJhYWFiOWVhMWFhMzIyMzA0MzUiLDM4MDY6ImE0ZTIyZjk0ZTRhNmY1ZDM5YWYwIiwzODUxOiJiYjNkNzkxZjgzZGUzNjZlZjZhMiIsMzk2MToiZjNiMGNlZjNhYzljZDhkMTEwMGQiLDQzMjM6ImY2MWNiNTIzYzllNWExZTBjNTNmIiw0NTUyOiJjOWRhYWZmZTMyOGQxNTRiYmJkNSIsNDg1NToiZThlYmE5YzZkNTMzM2YzNDVjOGUiLDQ4NzY6IjI3NGQ1NWEwMmQzMjQwODc2ODc2Iiw0OTg3OiIxYmY1YzI0NWZjYjkyMDEwODA4YiIsNTMzMToiN2U2ZmE2NGYxMGE0NDE4NGI3MGEiLDUzNDM6Ijc2YWI5NzQwYTFiMzRkZjQyODcwIiw1MzU1OiIyZWEzYzQ4YTMxOWVlMGZmNWI3OCIsNTgwODoiZjQ4MDBmYTkyNDZmNDA0NjIxZWUiLDU5MTc6ImMxMDAzZjM2ZjBiNDMwMTk0ZDNiIiw1OTc5OiI0ZjNlM2JmOWMzNDVjM2YzZTA3YSIsNjQyNToiYjcyZGI1MGM2OTUxZjZlM2U5OWQiLDY0ODk6IjdiZWQyMGU0NmNjZDdkYjlmZDM3Iiw2Nzc5OiI3Y2M3NGQ1MzNlOTFiZTJlZTdkOCIsNjg1MjoiMWQ1MDVjZTI2M2Y0ZWYxNGU1YWIiLDcyMTE6IjJmOTM0YjMwY2YzODY1MTcxNDQ2Iiw3Mjg1OiI4YmM4MjkyNjY1MjhmYTc0YWY1YyIsNzM5NzoiMDU5ZTYyMjkyNDAyMzI3MDE2YzQiLDc0OTE6Ijc4MTQ0MTczOGE2Y2QwNjE4ZmRjIiw3NTA0OiIxMjg4ZDFkMjhiMmY0N2Y3YWM0MyIsNzYwODoiOWRkMTQ2NDkyMmMxZTY1MTU2YTgiLDc2Mzc6IjNhMjY1OGEwYzIzM2ZiYjY0N2YxIiw3Njc2OiIwYWYxNjc3MzE5ZGI3MGE3MWNkZCIsNzcxODoiOWExZTRkODM4ZTIyMmEzYTI3M2UiLDgyMDg6ImE2MzYzYmNhYTNiMDIwNWRjYjRmIiw4Mjk3OiI4MGI0YzAwNzhmMjdlN2UzODYxOSIsODMzNjoiMDg4MDU0OWZiNGY5OWMxYWI0MWQiLDg0Njc6IjA4M2RkN2E1MTNkNzdkYjNkMzQ0Iiw4NjA4OiJkYTRjNjljMmFmODRmYjhmYzYyNiIsODcwNzoiMWFhYjlhNTFmNjVmOTQ5NTVjMDEiLDg5Mjc6ImNmYmZjMDM3OGY2ZGVjNjVhMTg0Iiw4OTQ2OiIwYmUyMGNmNWI1NjgzOGJkMWNkZCIsOTA3NToiYWEyZGNhYjQ4MzJkZDgyYjQ5YTIiLDkxMDc6ImY0MTQ5ZjMxOTYzZGNlZjNhNTg0Iiw5MjE0OiJlYWY4MWQ2MTRhMjAxODI0NGY1NyIsOTI3MDoiMzI5MTA2MzViYjM5YzY4NmY1YmUiLDk1OTk6ImU4NjZmYzcxYTRmNjlhZmVhMDliIiwxMDA0MToiYzMwZmRkZmVjNjk0ZGFhNjZlZjQiLDEwMjkwOiIxZjJmMTZkYWM4YTFiNDI5MTA5NCIsMTAzMjI6IjYxZTU3ZWZlMmZiNDA4OGZjYWU1IiwxMDMyNToiMDU0M2M4ODdlYTJiZTYzNzdkOGYiLDEwNTA1OiI5NjJmNmNlYjIyMGIzNjA4OTE3NiIsMTA2NDM6IjY2YTM3YTczMGQwMDdiMDNhYmYwIiwxMDcwNDoiN2ExYThhZDc0NzNkMWVkN2RlODYiLDEwNzg4OiJlYTYwMjk4MjhjOWMwODNkNDJlNyIsMTA5OTk6ImY3MjhjZTEyYmFiMGQxNWRlMWZhIiwxMTMwNDoiM2JkOTU0OGRmMWMxMjgxN2FmZWMiLDExNDM1OiIzNTM1OWU3NDU4YjgyMTI0NWY0NiIsMTE5MTE6IjNhMjM5ZTAyNGNlNjU0YjAxOTg5IiwxMjA2MDoiZGQxYTU2ZWMzMmIyMGYyOTg5YjciLDEyMTM2OiIxMmIwNTVkYTc0MTM1MzVjYjg5NCIsMTIyMjc6IjlkYzY3NjBjYjAzYmE0MWQ2OGYxIiwxMjQ0ODoiNGMxZTQzZGVhMDA4YjkzN2JmYzgiLDEyOTY1OiI0MDZlZTU5ZmEwMDlmMGU5YzI2YiIsMTNlMzoiOWNjMDgxNGQ2NWZjOWMxNDAyM2EiLDEzMDI1OiJhNjBjNDg5MWJmOTllYTQ3NjNjMiIsMTMxMjM6IjMzYzAxZjlkNTBiYTNjZmUxZGFhIiwxMzYwOToiNjQwYWUxNDQzNDkwYjZlZGM0YTUiLDEzNzE5OiIzMzIwOGFkMDk1Y2UyODI0MGE2OCIsMTM3MzI6IjVhZjFlZWE1ZTIwNDg4ZTI5MjA0IiwxMzgwNToiOWEyMDI5ZmIxYTM3N2Y4NmMyNGQiLDEzODM0OiIxMWZjNjU1YmQ5Y2VlNTM4ODQ4ZiIsMTM5ODI6IjAwMTQ0YzE1ODc1MDZjZWY2NWEzIiwxMzk5MzoiM2IxOTljNmFkOGJmNWMzY2FjNjciLDE0ODg5OiI2MjEwYjFjNTZkYzNiMjBjOGZmYiIsMTUxNjA6IjRiZDQzOGFlMjEyNTFlNWRjMDc2IiwxNTE3MzoiZmY5NzNmNDZmZWRjYzIwMWU5ZDAiLAoxNTE5NjoiYjdjZmUzNTk4OTg5ZDQ4ZmEzNzUiLDE1MzI3OiJlMGRhZjA2ZmJkMTc5NjE5ZjI1YyIsMTUzOTQ6ImZhY2Y3NTNlOGNkZmI5YjkwODMxIiwxNTQ1NzoiOGIwMDMxMGNiNTc4YzdhYmJkYmIiLDE1NzM0OiJhZGMyOTQ0N2UzYmVkZWZkYzAwZSIsMTU3Njc6Ijk4ZjhmZTk2YmI3OGZlNTA4ZTA3IiwxNjAzMToiOTk4Njg0NmIwNDNmYjExYjZmYTgiLDE2MDc2OiI2YTYyYTY0YTVhYmYxNTIyNDNhNCIsMTYxMjY6IjY2N2YxZjVhZmIxY2NhOWExNzVhIiwxNjI5MjoiMmE4ZWIxNzM5ZTU4ZGI1YzFlMDYiLDE2Njc4OiIwMzdjMTdmZDZlYWNhNTgxOGVjNiIsMTY4MTM6IjdlNDUyN2JjNTUyMTllYTNhZDc2IiwxNjk0OToiMThhMjU2ZWEzNjUxYzkyNGUzNDYiLDE3MDI4OiI0NjQ5NTg4YzAyYjBmZGE0MmY5ZiIsMTcyMjY6ImFiOTVmZDg4YjJkMTNlN2Y5ZDkwIiwxNzMzNjoiODY3ZTViOTE2NjBhYjQ0ZDExYjMiLDE3NTE1OiI0MTg2MmViMWY5YWJjZDc5ZGUxOCIsMTc2MzM6ImNkMzIwYTA4ZDdhZmI1YTdhZGE1IiwxNzc3NzoiMTQ2MTFhOGQzNDYwNGU5YWNiMDEiLDE3Nzk3OiJiMmYyOTQ1MDAwYWNhYWYyZDE2NSIsMTc5MDk6IjQ3NWVlYzBlNTA0ZjExZTVjMDc2IiwxNzk5MToiYTMwN2JmZTAwMjM0ZGM0MTliZmQiLDE4MzA0OiI0MTZmMGI3NGNiNGY1N2JjMzY2NiIsMTgzMTE6IjM2ZDE3MjNkZDVmMmNmOTY3MjIzIiwxODUxMjoiYTNiY2RjNzFjNjg2MDFiN2RiZmMiLDE5MDEyOiJiNzZjNTlmZGFjYmFiYWJhZjM0OCIsMTkxNDM6Ijk3NjQwYjk2YTg2NTMyNWVjODkwIiwxOTIxMzoiODFlMjk4Nzc5MDgyNDdjZTRjZGUiLDE5MjYxOiJiZDMzYmIxMDcwNDc4N2I3ZDVlZSIsMTkzMTE6IjYyOGM2ZDNmNzZkYWM4ODJlODJkIiwxOTMxNDoiMjNmNGQ0NDhhMGNmNjBhMjNjNzMiLDE5NDYzOiJjYjlhODI1NzdjZTgxYjQ2OTJkMyIsMTk3MjI6ImJlMjY5ZmQ0OWU5YzI1OGUyZDkyIiwxOTc2OToiYmVlM2NhZjYyMTY4YTk5YjFkZTYiLDE5Nzc2OiIzMjViMjUyMGFjOTBkNTdjNmNmZCIsMTk4MDA6Ijk4ODI0N2E0M2I5MzcwMjFhN2I4IiwxOTgxNjoiZmI3MzI4MmJlNmJhZWE0N2UyM2QiLDE5OTM4OiI1ZTU0MWY5MGJjZWIxYTdhNzU1YiIsMjAyNDc6Ijk1MDg1ZWEwOTJmM2EzYmJhNTA4IiwyMDMzMToiNzQwMzVmZTkyOTcxODFhMTI3ZGIiLDIxMTA2OiI1NGMyODc3ZDZhZGY0MjdkZmJjNyIsMjEyNjA6ImQwOTU1YWFlNzVmODdkM2JkNDIxIiwyMTQyNjoiMTgyNWU3YTg1MGIzZjk1MzllNTgiLDIxNTk2OiJmNDk5YmQwMTM2ZDg4NGVjOGYwMCIsMjE3NjY6IjMzNjQ5ZGY0ODlkMGI4YzMyNDc0IiwyMTk3NzoiOGY1NDE4MDMzYzliZWI5MGU4ZmMiLDIyMDIwOiJlYTZkMDM1ZjRmZGU3YWZhNWQ0ZiIsMjIxNjM6IjMxZDc3NmM3ZDdjYTY2YWI3Njg3IiwyMjI3MToiZWM1M2ExMDUxMjdlNGM0MmQ0YTEiLDIyMzQ3OiI2YTAwNzFhMzkwNzAxOWQ2ZjNmNSIsMjI1MzI6IjBjYTk2ZDBlNWUyNjM2NTA3NWFhIiwyMjU0NzoiMjBjNWM4YWQ3NTg3NzQxNWUxNDkiLDIzMTE0OiIyZWRjYjc5NTRlN2Q4MGE5ZWU2YiIsMjMzNjQ6IjgwMmNkYWRhNzQ4NDU3Y2JmZGQ5IiwyMzc0MzoiNDczMzEzN2FmMmYyMzJhNmEzNGEiLDIzNzY5OiI2NmNlZTY1YTJhODYwYTMwNmQ4OCIsMjQwMTM6IjVjODcyNDUzODI5YTY1MGFiYmZlIiwyNDA0NDoiMzk3NDVhYzQ3ODlkOThkOWY2MDAiLDI0MTA4OiI3NDliNDBkMGMwNjFhMmEwNDUzNiIsMjQxMzc6IjM5NjBiYWRhNGIzZTBiNDdjZTNmIiwyNDI2OToiYzBhNzBlMmU2YTRhZTkxODYzMDQiLDI0Njk4OiJiZDk1NzA3MzA5NWJhYjdkYTU5NiIsMjQ4Nzk6ImNlN2ZlYmRiNGIwZjMwN2UyMWU4IiwyNDk5MDoiNDg2NjlmNWZjODk3YTY3YTNlNzciLDI1MjM3OiJhNmQxMDY4ZWNiZmZjMjA1MDY2OCIsMjU0NjM6IjI1N2E0MGQ0YjRjMWFiYTEwYjdkIiwyNTQ4MjoiYzVlZmZkZDI3MTAxODExMTY1NTgiLDI1NTU3OiI0Yzc4MTkzN2MxMTE0YmRmOTNkYyIsMjU2Mjg6IjA3YjhjYWNkZTliNTBkZTkxOGQwIiwyNTYzNDoiZjNlYTQzMzA4NGI2ZDRlNmMxMTMiLDI1NjQ4OiIzYTUwYTFlZjk4YzJmNTliMzRmMyIsMjU4NTQ6ImE2N2M2ZDVjZjMwZWIyYzkxYzk5IiwyNjA2NjoiMGYxZjFjYjE5YWY5ZmYzYWY4Y2MiLDI2MDcwOiI2NmMzMzk1MzFiODZmOGNkMmNmNyIsMjYxMTg6IjNmNGIwZTVkZTA0NWQ2YmQ4Mjk1IiwyNjE0NToiNzIxMWZmNTgwOGYwYTE4YTFlOWQiLDI2NDczOiJlNjkyZWM0YTUzMjljY2U2MWFjMyIsMjY1MDE6IjVlYzk4NjI0ZWQ3OTE0NjFjZDhhIiwyNjcyMzoiOGE2ODA3MmM3N2VjMDAyNjc5MDUiLDI3MDUyOiJiMzc2OTg1MjEzZGI3NDU5Y2Y3OSIsMjcxMTg6IjhmOTM4NjhlZTZkZGJmNjllNWQ2IiwyNzg5MToiYzBkMjY2YjY2MzJjMGRiODU4NzgiLDI3OTEzOiIyOTE4NjEyMjcyMmNmMGNjYjlkYyIsMjgxNzY6IjIxMzQyODY1ZTc0ZmZiZWZmZjQ0IiwyODQ0MjoiMGIwZTc4YzA4NzVkYjg0NDA3ZDciLDI4NDk4OiJjM2U3ZjQzMDhlMzc4ODU5MDYxMiIsMjg1MDc6ImU5ZTVlZWQxMDhkYzliMGJiNGE3IiwyODY2MDoiNDkzNTFjMjNiNGQyMDkxNmJlOTkiLDI4NzE1OiJlZDI5NmNhNGNlMTA2OTYyN2Y4YiIsMjg3MTg6IjRiMTlmMWZhMGIwOGE5MjkzMGZjIiwyODg2NDoiZjI4ZThlOTQzOGIwMGY5ZDYxZmEiLDI5MDc0OiIxMWYxYTM4ZWJkNmQxNjEzZTQxYSIsMjk3NjU6ImNjNDMwZjQ4OTczZmY4ZDYyZWM2IiwyOTc5ODoiMGFmMGMzNDRmNzRlYjE3YjEwMDUiLDI5ODQ0OiJhOWNjN2U5NzA0ZjkzMWQ2MmJlMSIsMjk4OTY6ImM4MjZlMDIzNTQ3MzVkZTk0ZTk4IiwzMDAzNDoiMWU0NDMxYjg0MDI0ZjExYmRlY2UiLDMwMzA0OiI4OTZiZTI1YWE5MjFhODIxNGUyNCIsMzA0MjE6IjQxMmMzMTlkZGJhZGNjOTk1YzcxIiwzMDY5OToiMTM4NmRmYWE3OGU2ZTVmNmM4N2MiLDMwNzc0OiIzNjliM2I1NjM0NGIzMTQ3ZGRhMSIsMzA5NDY6IjdlYWExZDdmOThlZmZjNTBjZjQ4IiwzMTE1MjoiZmEyMjI3MWVmMzYzMTNkZGMyNjkiLDMyMjczOiIzMjVlMGM3ZTVkY2UwNzVhNjg4YSIsMzIzODc6IjQ3YWNlODNjNjFhODg0MzQxY2Q2IiwKMzI2MTM6IjcyMzBkNzNlZGE2NDk1ZjlhOTBkIiwzMjk3NToiOTgwNzhhNmRmYTFjYzliNjRjYjkiLDMzMTI0OiJhZTUwYTg5ZWI5ODU1MGJhOGE2NSIsMzM0MTA6ImNjZWVhZjc4NWNkOTdlMDgzN2U2IiwzNDA0OToiNTc2MjlkMjM3ZGZhOTAxZDEyMjMiLDM0MTAxOiIwZDA0Y2RiYTM5ZTMzMTNlNDdiMSIsMzQxODk6IjAxNmJjODQ5ZjQ2MGI2ZGNjZjQzIiwzNDU1NToiODI1OWYzYTM4OWFhYzhjNDk2NTEiLDM0NjQ1OiI4NDFlYTYxNjg4ZWViYmJkNjk2YSIsMzQ2NDc6ImE4YWEyZTYwMzdjMmJiMTBlZmUyIiwzNDY1NDoiYTQ3YjBiMjMyZWVjMDZiZTYyMTgiLDM0ODc5OiIxZTZjZjFmNWE5MzU4ODgxZGU2NyIsMzQ5Mjk6IjQwNDkxN2UyNTEyY2ZiOGQxMjdjIiwzNDk1NDoiZWY5ZTY3MGJkMmYxNGM1NTNiOTgiLDM1MjUyOiIzOGI1N2EyYjdhYTA1MWMxMDA5ZiIsMzUzNDQ6IjM5OWQ1ODMwMmUyNWFlMzlmZGRiIiwzNTM5MDoiMjQxZmIxNDFhY2Q2NTVhNWRkYjAiLDM1NDg1OiIwMTZkMGJhY2RhNTJhYTM4ZjBhNyIsMzU1MzU6ImRiNDlkMDNiYzdiMDRkMTk3Mjk0IiwzNTU5MjoiZTI3MTFmNjViNWU0ZTQyNmM5MGQiLDM1NzkwOiIxOTNjZDhhMjg0YjVmNWFkZjE1ZCIsMzU5MjI6ImNiZWU1ZDY2ZDIyMGYzZTg1ZjA1IiwzNTk2NDoiNjc0YmE3ZDI2M2JhOTA0YTcyZmUiLDM1OTgwOiJjMzQwNDJhNGExMGNiNWZiMmUzZCIsMzYzNjc6IjJjODc5NWQzY2FkMzZkYTkzZWUyIiwzNjY4NToiNjkxN2ZjZmY5NjIzNzA3MDY0OTUiLDM2ODA0OiI2ZTdlYjAzYmFmZjhhYzU5Y2YwZiIsMzY5Mzg6IjU4NDU2ZGEwY2RiNGJiOWJiNDg1IiwzNzEwNjoiOWZhYTBkNTlkM2NmMWJiOGY5NzgiLDM3MjEzOiJiYWI3YmMxN2YyZTQzNjM4ODMyYyIsMzcyNTk6ImMyNzQ5MDZkY2EwY2U3OTNiOWQwIiwzNzc1NjoiY2RiZGZhYjRiZjdiMTcxYjZkYTAiLDM3ODc3OiIxYTcxZGNjOTBmOWQwZjI3YTcxOCIsMzgwMTY6IjkwZmY3MTRlMjMzNGRhOGE0NWFhIiwzODA4NjoiOTkwYjAxM2FlMzI1YTliNTA5OWEiLDM4MzMzOiIwY2I1NDE5NzdiYzdlMjk2NTc4ZCIsMzgzOTg6IjAyNTUwYzFhNDhhYzkzNjBjYTlhIiwzODQ0MjoiYjA5ZDkxOTRmOGU0MGU5MDFmMGEiLDM4NDQ5OiJjYjdkMGU1YmVjYWQ1N2NkMzYzYSIsMzg3ODc6ImVlZmFiMWQzYWZiYjMzMjhmZWQ2IiwzODk3MzoiMzc2MmJjZjQ1ZWY5OGJjMTg1MDEiLDM5MTY2OiIyMTM0MzIwOWQ4NzUwZGEzNjkzYSIsMzkyMDM6ImJlMzhjNzdhOTE3ODE2NGI4M2RiIiwzOTIzOToiNTQ0OTViMTFiODEyZTRhZTBjZDEiLDM5MjUxOiIxZTg4OGQ4YTVmYzUxZDRhMjk0MiIsMzk0NDI6IjI3NDA5NjNiNzhlZTRhNGU5NjQwIiwzOTYwNjoiYzkzYzc2NWVmNWM1MWEzMGQwN2QiLDM5NjA5OiI4Y2UwZDc5M2IyYjYwYmU3YTRkNSIsMzk4NDM6IjFkNTZjYTNkYTA0ZjEzYmQwY2UwIiwzOTg1OToiNzgyMDViYTBhYWFiMWFjNTRkNDEiLDQwMTAxOiI0YzFiZGEyYWJiZmFiODQ3MzgyZCIsNDAxNTI6IjY4NjkwMDVlM2EzMzZhNDkyYTk4Iiw0MDI0MzoiOTYyM2Y0ZTRlNTVmYTYzNzViZDMiLDQwMjY2OiIyZmQwNjdjZmY3MDA1ZDExNjQ3NiIsNDA3NTQ6IjczNTY3ZjQ1Y2UzOGMxNWFjYWZkIiw0MTA2MToiNDIyNzJjNzIxODY3NTliZDVlY2EiLDQxMzI4OiJlN2MzNDgxZjNhMDY5ZmFhNmZkMiIsNDE1MjQ6IjUxZjkxMmVmMjA5NWQ3YTJjYTRmIiw0MTY3MjoiOWFlYmZhZDcyMzQ1Yzk1ODYwMjMiLDQxODE0OiJmZWQ1YjgyOGMwMzlmMzYzMjUxZiIsNDIxNzE6IjFjMDVkODE0N2MyMzBkODZiNGZhIiw0MjIxMjoiNDc1NGMyODA0YWI5YTk3OTc3NmIiLDQyMjg4OiI0N2VjYWVjYTEwMTJlZTNlMWQ4YyIsNDIzMjc6IjgxMzc4NmRhZmI5Y2M3YjA2NWNlIiw0MjQwMjoiMWZlN2M3ODE2NzZhNWZlMzllMTYiLDQyNDQxOiI5ZjY2NDM0ZTBkYTUwNWIzMjA5YSIsNDI0NTc6IjMyOGE4NTIzNzdkNjQ0NTcwYjBjIiw0MjYyODoiZGZjNTE2Y2JlYjUxZDVmYzQ2MWMiLDQyNzA2OiI2YjExNWU3Mzc3MjU0M2Y0YmMzMCIsNDI4MzY6Ijg1N2UwNTFmYmY4OGI4ZDcwODljIiw0MjkzNDoiOGQ2Y2EzMGM1N2JjNjYyNzI2NjYiLDQzMTgwOiI5N2YwNmFlYmUyMTA2Yzc0MDIzNCIsNDM0NTg6IjkzNGMxYzdkMjg2Mzg4MTBlNzIxIiw0MzQ5NjoiZjFkOWQ4NTFkOTE4ODJmNTg1MmMiLDQzODI3OiI2OThlZGJjMWQ5ZmM5ZjlmOThhOSIsNDM5MjY6ImQ3ZWQ3Y2RlNWViMzVmMGZlNGI4Iiw0NDE2MjoiMWU2MmJjNzNkZWQ4NTgxMmYzNDMiLDQ0MTY1OiJlNWZjNDJhMWE5MWZkYjY0Y2RjMSIsNDQ0Njg6IjEwZmUzNmExZjczYmJmN2EyMWJmIiw0NDc4MDoiNzlkMjA1MWQzYjg0Y2FlYWI0ZTYiLDQ1Mjc3OiJlYzZlMzYxOTNkMTM5YzVjNWY3YiIsNDUzMjI6Ijg4NTFhMmQyZTE1ZGI5MjFkNDhhIiw0NTk0NzoiYmQ4NWM2ZGRiMDZhMGFkNTAxN2QiLDQ2MTY5OiIxOTAzODc5YzIyMjFmY2FkY2JhOCIsNDYyMTc6IjNkODY0YmI0YTcwZDRkM2Q4NDBmIiw0NjI1MDoiYmRlZWIyMDAwYTdiZThjZmYzNmUiLDQ2MjYwOiI5YWEzM2I1MzEwNjcwMTVjNTM4NCIsNDYzODM6IjZkMGJlYTAxNGUyNDZhOWUwZjJkIiw0NjYwMDoiMjQzMmE4NTNlZjg1YjM1ZDRlMmYiLDQ2NjUwOiI3MTk2ZmFjNGY3NmRhZjVjMGYwMSIsNDY3Mzk6IjVlMDFhY2U0NThhZGMxNjMyNWViIiw0Njc3MjoiN2ExZTIwNWFkOWFkNTk1ZGMyOGMiLDQ2ODIzOiJhYmE1MWJkMTFkMjNkOWNmNjFlMiIsNDY4MzI6IjgyOGVkODY1NGU0OGRjY2ExYzkwIiw0Njg4MjoiMjJiYTExNTNlYTBmZmY3NTUyNzciLDQ3MzkwOiI0MWEwNmI5YTgzMjgwYTgyZTdkZCIsNDc1Mzg6ImM1MGYyOGViOWEzNDZlMDkzMjUyIiw0NzU1OToiZTQxMTYyNzM1YzU4NzdmNzYzZmUiLDQ3NTc3OiJhM2IyNjRmNWQxZDUwM2E1YmFiMyIsNDc2OTI6ImZiZTM4Yzc0N2M4ODk4Mjg3ZTgyIiw0NzcxMToiNzFkMTgwZDliMWI2ODFhYTQxZTgiLDQ3NzIzOiI4ZTcyYjRlZWQxMDY5NTM5YzcxMSIsNDc5NjE6IjdjNjk1YmVmZGQwMDc3MWZjNGVkIiw0ODAwMjoiYmE1MWRkODM2MjFiMGE0MDgzMDciLDQ4MDI3OiI2M2NlZGMzMzZmN2IxMDYzNzAwZCIsCjQ4MTc4OiI1MzlkNTQ2ZDNkZDQ5NjVjNzJkZCIsNDgyNTU6ImY5MjVlZWU4ZGFjMTVhMWQ2YWNhIiw0ODQxMzoiZjNmMWMxNzJlMTU0Mjk0ZDE3NjIiLDQ4NTUyOiI5MzRjZDE0N2JhMzJhNzVmYzQ3OSIsNDg2MjA6IjFkY2Q1MmE5NGQwNGE3ZTEwN2RjIiw0ODY1MjoiOTQ4NzE0OGNhOTczYThjZTRjYWEiLDQ4ODU0OiJiMDczZjRmNTljZTlkZGMwOWRmNCIsNDk2NTI6IjU5OTg4NTU3YjAzYjNjYmVjNGIzIiw0OTgzOToiMjZmZmRlNjk3NTAyNTJhNGQyMmYiLDQ5ODgzOiI4M2I3ZGJjZjMyYzRjY2I0NjZiYyIsNDk5NzQ6ImYwZGJkOGIxYWRiY2ZlZGYxM2Q0Iiw1MDA0OToiNGNjOTBmNWQ3MjY4N2MxZjkyNDgiLDUwMDc3OiIxNjA3YjBiNGM3MzUzOTJjYjc4NyIsNTAxODI6ImE3YTlkNDExYWUyNzNmMzA1MTMyIiw1MDI2OToiZGU3OWZhOTU5M2I1ZWJmNjg2YWIiLDUwMzE3OiIxOWQ1YzcyZDU3NDBkODFhNjg0OSIsNTA2MjU6IjAzZDc3NjI1MGM0ZmZkNGRhMTNjIiw1MDkyNzoiNWY0ZDI1ZDEwZmI2ZjcxNTY3ZTUiLDUxMjYzOiIwY2JiMzBkMTk3NmU4ZmU3MTZiMiIsNTE2ODY6ImE1NWM4ODM1MGU4NTQ3ZTFhNDQyIiw1MjA4NjoiOTNkNTQ5MTgzNmMwODcyY2MwOWEiLDUyMDk0OiIyYWViOGQyZjI3NzgwZmQxMjBjYiIsNTI1MDA6IjAwNTlkOGUwZDFiYmRkMGY5NDhjIiw1MjUwOToiNDA2NTk0NzBlNTFiMDY1ZDUxMzkiLDUyODExOiIyODcwMGQ0MWY0Njg3YmU4MTU5NyIsNTI4NDM6ImEyOTk1ODU2MGVhYjYyY2Q5ZjA3Iiw1MzI5NzoiYTZmNjU0N2NkYWQ4ZDM3OTcxZmMiLDUzNTQ3OiI2MDg3NmQ2ZGQyZWY5Y2IzOWIzYSIsNTM2NTM6IjAzMGFkNTQ5OTcwMTUzNDMwZjkwIiw1Mzc3MDoiYmNjZGYyODhjYTFmMjA1NGUxNDUiLDUzODgxOiIzYmNjMmU0ZmJhM2RiZWVjNjkxMCIsNTQxNjA6IjM4ZGFjYjFlZDNiZTBiMGYwMThhIiw1NDYxNToiYTQ2ZDM5M2NlY2Q1MGMwMjZmOTkiLDU1MjI5OiIyNTcyMTg4MTlmYWE2NjM5YTM4OSIsNTUyNTM6ImEyYWVmZjhhYTliNTk2MzM0YjJmIiw1NTM1NjoiNjU4NTkxOWQ4ZTlkOWU5Yzc4NWMiLDU1MzgxOiI4ZGMzODYwZjViZTVmZWQ5MDRmZCIsNTU5NjA6IjMwZTY0ZjM2MTZiZTIyNTYwY2MyIiw1NjAwODoiNjUxOWMxNDg1ZWNiOWE2ZTc5OWIiLDU2MjE3OiJkZGI4ZDBkZTRhNjkwZWJiMDBlZiIsNTYzODI6ImRiMThlN2M0YzkxZGFmNjkxZGUyIiw1NjQwOToiOGYyNzhjNTM1YzRkOGY5MGU3ZjUiLDU2OTQ2OiIwZmU3MmNhYTk3ZTBhYzJkZTgyMyIsNTcwODI6IjZmY2M2YTU1YjVmMjg0YTljMmMxIiw1NzA5MzoiMjY2MDBjOTNiNjE3MWQ5OWI3MDAiLDU3MjM0OiI1YWRlM2M3ZjQ5MTU1NmJlZmQzYiIsNTc0ODQ6ImE3MGUxZjkyZDQ0MTgzNjk5ODlmIiw1NzQ4NToiODRmNzhiMGYxMzU5YmRlNWNjZTEiLDU3NjM4OiJiZWI4OTg5M2QzNGM3YzM3OTgyNiIsNTc2Mzk6IjM0OWNiZmE3OGQ2MTNjZDRmYjM1Iiw1NzY3NDoiM2IzMzdlMjI3MTYzNjZmZGEyNjEiLDU3NzE0OiIzMjU0ZDkwMDY5MTNhMjY4ZjU2OCIsNTg0MTg6IjdiODdiMDBhNDNjZGI1NjU4MTQ0Iiw1ODYxMzoiMzI3N2RkYTBiMmVhODkyOTY2YmIiLDU4ODE3OiI3ZTY1NDM0MTFiNmMxMzVjN2E4ZiIsNTkzMjg6IjEyNTRkN2ZmN2RkNmI1MTQ0NzM4Iiw1OTUwNzoiN2ZmZWIwZjliMmQyYTU3ZDA4OWYiLDU5NjE5OiJlZTYxN2U5MWY1YmRhMTRjNmFkMiIsNTk2MzA6IjFkYjgxNWUzNWE1MDk5ZDg0ZTI3Iiw1OTY0OToiOTJkZjVjNjY2MDU3MDcxNmM4M2IiLDYwMDExOiIxZTNjMzU0ZDY3MjlhOTgyZWVjNyIsNjAzMTc6IjA3NjY4ZTFkZmRhMWM0YjgyZjgzIiw2MDQ1MzoiMmYzNzY4NGNhNjhkODIzYmQ1N2QiLDYwNDkzOiI1ZTg2NjUzZTI5NTAzNzQ5NjAwYiIsNjA1NDg6IjE0NGMzMGQzMWQyMjhkMTJiNTUxIiw2MDg2NDoiZDE4NjQ5NDJhYzE4MjVjMzA1NjUiLDYwOTY5OiJkYzJjZTcxN2QwZTUwMjhiMzVmYyIsNjExMjY6ImQyMzExMjNlMDBiZWMxMzMwY2RiIiw2MTE4MzoiN2NiZDE2ZmJjN2M1MTkxNTkzNGYiLDYxNDk1OiIzN2VlN2QxODJjZjg0Y2FhNzY4MSIsNjE1MzM6ImFlZjE3MGE2NTM0MWM2OWQ2NmM2Iiw2MTY0NzoiZTkzN2U1Nzc5YmExNWIwOGJiOTIiLDYxODc3OiJmZWRkYjM4MWU0YjNkNThjNTU1MiIsNjIwNjg6IjdmYjVjMzhjMWVjYzQxMjU1ZjJmIiw2MjIzNDoiMjIwYjAxYTQyMmQxZGRjOWE2ZTIiLDYyMzYzOiI5NmEzYjM5MWZhMzRhNmNjYzk3ZSIsNjI1NTc6ImNkMmFiMTNkYjk0YzRiODNjNjliIiw2MjgxMToiYjQ0ZTc1NDFmYjY5N2NiOGE3MTMiLDYyOTE0OiI3ZTU4Nzc5YTdhNDBjZjViYjUyYyIsNjI5NDM6IjU3ODAyMDQzNzRmNGQ5ZjMwODE3Iiw2Mjk5NzoiMTk3ODJhYjY1NjE0ZjZiOWIxYTciLDYzMDg4OiIxNGVkNmExZjNmODBkZmFkYTkxNSIsNjMwOTQ6ImQzNTFmYjg3NjM2MTIyYjAwNjIwIiw2MzE1OToiNmU3ZmYwYjZiYmJhNjYxZGUxM2YiLDYzMjkwOiIyYTMyY2I2YTliMmNmYmIyYTU0OCIsNjM0MDI6ImQzMGMxZTAwM2IwNTQ5MzBkMzJjIiw2MzU5NToiY2IxZjVkYjNiYzY3Mjc5MGIyOWEiLDYzNjA0OiJiYWM0NDhjYmE2NjZmMDNjOTM3OCIsNjM4NzU6IjRmMDVjMTNlNjQ1NDNlMzVkOGE1Iiw2Mzg4NToiNDRiY2FlOGY1NTYyMjUwOTJmMjYiLDYzOTY4OiI0NjNiZDJiZTM5ZjMzNWU4ODIxYiIsNjQwMjQ6IjUxOWMwYTNlZTdhZGFlMmJhYWExIiw2NDE1ODoiMjk0NjNmZmVmZTQ0ODU3YzBjNDAiLDY0MTg1OiI0ZDA2YTEyNDQ2MDlhY2Q0YzNkZCIsNjQ1ODg6IjY0YTVjYTM2ODc2MGU1ZWM1ZWY3Iiw2NDYzMjoiZDlhZjkyMzVjOWJjZmYzOWZjZmUiLDY0NjQ0OiI5MDk5MmM5ZDBkNWRjOTJjODliNyIsNjQ2NDg6IjM2MDkxNjE5Zjg3Yjk3OTI1NjYzIiw2NDcxNToiNWY0OTE0OWNjMzJlOWVmYTE5N2IiLDY0ODkwOiI1ZTljMjVkNDllNGI5NGFiNjc1ZCIsNjUxMDA6ImY0MjJlMWFkMDYwMTZkYjBkNDdhIiw2NTU4ODoiMTM0NjhlNjllMDRhODA1Zjk3Y2YiLDY1NjIzOiJmZjRmYjc0ODQyNWQyYzViOTZkOSIsNjU2NDY6IjFkZTdmYWJiMGQ0ZmUwOWU1ZTU3Iiw2NTkwOToiNWRmNDMyOTk1YTkxYzIzNzQ3N2IiLAo2NTk0NzoiMmVlMGE3MmMxZjI4YjQ5MjNiYjIiLDY2MDQwOiJiM2MzMzIxMjE2YWJhZDIyMThmZiIsNjYyMzU6IjIzYTgwYTJiZmZjY2Y1NDlkZmNkIiw2NjI4NDoiNDI1ODdiYTJmZDk5MGYxMTEzZTMiLDY2Mzk5OiIzZjY4NjU3ZDVmZmUyOWIyMWY2MiIsNjY0NzI6IjVlNjVkNGFlMDc2MjFhZmZlZjVlIiw2NjY4NzoiNjYxNzRhNmJhOWFiMjdhNGMxNWYiLDY2ODY2OiI1YjY0NjBiZGRhZmNkN2ZhNTk1NyIsNjY4ODg6IjA2MDFjYmE1ZGQ4MmY5OGFhZmQwIiw2NjkzMzoiYzFiMWVkN2Y5NzVhYmRlNTY1OWMiLDY2OTg4OiI4NDU4YjZhMGI2YjZkYWI1NGVhNCIsNjcxMjA6ImE1NDk5NTVlOGRkMTY0NmU3YTQ4Iiw2NzIwODoiMTY0YmM1YmQzMzViM2NlNzI5NDIiLDY3NDg0OiI4ZDhiYzUzNGMwZmQyNmU1OTlkYSIsNjc4MTI6Ijg4OThlODQzY2ZhOWZjMWMzZDViIiw2Nzg1MzoiODBmZWEyMzkzMWJmNDY5YjExODciLDY3OTMwOiJmMGQ3N2MxNzIxZGM4ZmEwZDMzMyIsNjc5NTg6ImNlNTVmMjhhZWE4NWFhNThmZmUyIiw2ODE1NToiY2ZhNDAzZmQwZGVhZWU3ZjZjMjMiLDY4MjAxOiJkM2I2NmUxMzJmNTRkNWZlZjUwZCIsNjgzMDQ6ImY2NjU5NjkyNGRmNmU4OTE2M2JlIiw2ODM4MToiZGQzODJjNTdmNDZlYmQ0ZTBiMjEiLDY4NDgxOiIyYmQ1YWQ0YTUwZjExYzU1MTgxZCIsNjg1MTk6IjczNDlmNDBkODcyNzlmZGUyYjgzIiw2ODcyNToiZGY0NmQxNDBmZmNjZTVjYmVkYmYiLDY4NzQxOiJjYjhjMjQ0YmZiNjE0MGNjMTNiZiIsNjg5ODI6IjY4MWIwODk2ZjcwYzQ0MjU1YmE2Iiw2OTAzMjoiNzkyMTgwZDUxZWFhOGQ5OGI5ZTIiLDY5MTIwOiIzMjJhOGEzMTAzZDZmYzBiMTlkZSIsNjkyNDE6IjI3OGJmOWQyNjIxNGEwODU1NDg2Iiw2OTQ4NjoiOGZjMWM3MDg5YjJhNjg0NmJjMDkiLDY5Njk3OiI5NGY3YTNjNjhlNWI3MWU5MGFkMCIsNjk4NzQ6IjBhMjFlODBiNDQxOTY5OWFlODMyIiw2OTg4MToiMDY3N2UxNWMyOGRhZjVkNWVhZmQiLDcwMDU5OiI0NGVlMmQ0NzBmYjdmNWZjMDkyYiIsNzA1MzI6IjY2YjYwYWZhYWZkOWQzYzQyNGQzIiw3MDU5MDoiMDE3ODNiZDliMjRiMTU1YzhlMWUiLDcwNjQ0OiI0NDg3NDNkZWYzMjVmZWI2MTk2NyIsNzA3MTI6IjkyODAyOGM0M2JhOWI3MDdlODExIiw3MDkxNzoiOTI1MDVjYTk4YzhjM2ZlMWM5M2YiLDcwOTU3OiI1ZGVjMmFiYTdmZTY1MDYzMTczZiIsNzExODU6ImI0ZDIxMjJmYmZjMzA3YTFmNzcyIiw3MTE5MjoiM2Y1YmZhNTYwZjNkODY3NmFhMGUiLDcxMzAwOiJiNjcwOTQzMzk0MDMzOWRjMWY2NiIsNzEzMTk6ImZlNjMxMWI4MjJlMDc4ZjNjYzJkIiw3MTM3NToiM2Y2MTY2MTc5Mzc4OTU1OWI2MDUiLDcxNTY1OiI3MzRiMjc2Nzk1NGZhMjM0NDZlYiIsNzE1OTY6IjQ5OTViODZjYzgxYzE5NTA0ZTcyIiw3MTYzMjoiMTcxYjE0ZWQ1ZTc5MGFmZmQ5MzUiLDcxNjYyOiJlOTQ2MWJmODZlZGViZDllNDQxYSIsNzE3NTM6IjNjNGZlNmJmOGE2ZjJjOTljZWIzIiw3MjExMToiNDRlNzk2NGFiMzgxYmNiNTRkYTUiLDcyMTQxOiJkODE3ZjRiZTNiMTE4NWQwZWY0ZSIsNzIxODY6ImE1NmYxOGQ3MjVlYWFlMWZkMDcxIiw3MjI2NDoiZjFhNzNhNTY4MDUwOWVkNDYyZTciLDcyNjc0OiJkY2MxNzUyNTRlMGM2NjYyZGQxNCIsNzMyMzQ6IjhlMzFmMDU1OGFjNTc3NGQwYTJlIiw3MzIzNjoiY2I4MGU5YjM5NDJjOWQxMjZlY2UiLDczMzAwOiI2Mzk1NDI2MDFmN2RmNzgzY2MwNyIsNzMzOTc6ImRhNmRiMDY1NGM3MzhkMThiMDlkIiw3MzQ4MDoiMGNjYTU3MTFhNjIwMTAyNDk3NTIiLDczNTM1OiI5YWY2NTBlMDY5ZDNhYWZkNGY0YyIsNzM1NzM6ImMyMGViZmRiZDkzNzY4OTZmMzhhIiw3MzY0NDoiMmRkNWVmMWNiMWQ1YWIzYTVlNzMiLDczNjc4OiJkYmYxYWM0NmQwYzAwNzljZmY0YiIsNzQyMTg6IjhiZTcwODcyYTYwNWM4ZTZjNzc1Iiw3NDM0MToiMzM0NTUxN2Y2Nzk5ZWU2NDdjMzEiLDc0MzY0OiJkNTFjZWI4ZDEwNmE0OTUxY2NmMyIsNzQ0MDk6ImFkYmQ1ZmEwNzQyOTIyMGYxODUwIiw3NDUyMzoiMTBhYjlhM2UzYzYwOTBmYWI2MmMiLDc0NTcwOiI0Y2M3Njk4YjIzNjdhNjlkMzY0ZCIsNzQ4Nzg6ImNkMjI0NTA0MWNhZGYxYzcwZTBmIiw3NDk2MjoiNDJjYTY2ZDMwM2RkYzcxOGNhN2IiLDc1NDM5OiJhMzJjZTk2Zjg4NTUzNjliMjY0MCIsNzU0ODk6ImQ5YzA5MWUxYWVjMjQzY2FiMWE3Iiw3NTkzMDoiMTQzYzNiMjQxNmE1MDk4OTM3YzkiLDc2MDMzOiI0NTdmYzZhOWRlYTkzYWJjNjRhNiIsNzYyNzQ6ImJkYjEzNzJhNWI2MzYyYjZiMjg4Iiw3NjY2MzoiM2JkZjExYjk4ZGNiM2U0NTQ2NDMiLDc2NzU1OiI5MjFkNjdhNWEwYTg0MTU3OWI5ZSIsNzcwODg6ImZkYjRkYzk1MjgzODgxYTA0MzNhIiw3NzQ3OToiYmFiMDhkZTkyMWRiNmI2YjFhMWUiLDc3NTc4OiJmNmRiNDYwZWQxZThjZTMxZWE4NiIsNzc1ODg6IjRiZWViMjA1OTNlYzM4M2E1N2YxIiw3ODEwOToiNGFlYmYzYjdhYmFmM2E0MzBlMzYiLDc4MzEyOiIwOTBkOGEwMDJiOTQzZDI4YTgyNiIsNzg3MTc6ImMzYzBhYTk1MGNjMmFiZDE0ZDdhIiw3ODg0MToiMmRmOWM2OGUyYjI3ZTg1OTIwYmIiLDc4ODc3OiJkMjAwM2JiOGIzMTNjOGJlODU4OSIsNzg5MDU6Ijk3MTlmZTI1NWQ4YzQzNDg0ZmY5Iiw3OTEzNDoiZDJjNDNhNjdiNzU2Y2U2ZjVmNWEiLDc5MzI2OiJkMGQ1ZTA1NGMyODRmNWRjMGViMCIsNzk0NzY6IjI0MmIxY2U1NWEyOTc5ZmJiYjZiIiw3OTYxNToiYmNhZDZjZmU3ODk3MTBiM2QxNTMiLDc5NjcxOiI3NGMyYzcwNDgwNmU1MjZkMjE4MiIsNzk5MDI6ImRiNzM2MjNjYmNjOTI0OGZjZDM1Iiw3OTk5NjoiMWE3MWFiNWQyNjNjZGJhYTk0OGIiLDgwMjA3OiIzZTVlN2Q2OGM4NzViMzY3Y2FkMCIsODA3NjI6IjY4NzUzMDViNWYzMmU4NTlhM2Q0Iiw4MDkxMjoiMWFiZjRkNmYzZWE5NmU0YjE4NTkiLDgwOTE1OiI2OTQwNGZkYThhYWZjMjc0MmM1NSIsODA5Mzk6ImNlYzVlMzJiNjBkYmM0Mzc5ZTc2Iiw4MTA3NjoiZjBhMDdhMWM5MzY3Yzg1YzZlMjciLDgxMDk3OiJlMjZiZjk1ZjlmMjhkYTI2ZThjOCIsODExODk6IjE3YWNjMmZkYmYyMTk5NWJlNDY2IiwKODE0OTU6IjBhZjUyNjk4ZGI5ZWQzZTg4YWRlIiw4MTU0NDoiYWM5YThiMTUxNTQzZWMzZTE0ZDYiLDgxNTU0OiIyYzMyZjEzN2U1ZThkMzU3MTE1YyIsODE2MDU6ImIxNGNiZjBjMzg0ODQ4ODhjM2M2Iiw4MTc1MDoiMDc4NmZlYTYwN2QwMDdlNzZmMGYiLDgxNzU4OiIyZWE2MTJhZjI4N2MyMzY0Mzk4ZSIsODE4Njg6Ijk2YmUxZDBhNzI4NjNkY2M0N2I5Iiw4MjIzNzoiZGVhODI4NTkxMWQwM2ZiMDZjNWIiLDgzMTE5OiI1ZjRmNzU3MGE0OWQyZGU2NTc4YSIsODMxNTQ6IjhjZjllYzRmMTljNWMwNzAxNjBjIiw4MzE3OToiODBkY2M4OGUzN2VlMjE2Y2E3ZjIiLDgzMjI1OiJhNzgwNTk0OWZiNWE2MzdhOGU0OSIsODM0MDg6IjUwNmZlNjVmMTcwOGU5ZDc5M2Y5Iiw4Mzc4MToiYTQzMjNiMGYwMTgxZTlkZGZhNjAiLDgzOTM1OiIyZWVkNDVhOWNjNjQ3NmFmZDAzNSIsODQwNzA6IjNmZmIwMDcwNjhlMGNjN2M1MDdjIiw4NDIwNjoiODQ2YjJkODY1ODAzOTZhYzBjNzkiLDg0MjY1OiI0YzZkOGY3NzJkNTM4ZjUyODU5OCIsODQzNzE6IjI1NjU0NTJjYWVjYWI5OTgyNTVjIiw4NDQzNjoiMjI0YTgyZTcyZWQ4ZTQ3ZDYxZTgiLDg0NjkyOiJkZmU2NTkwODUwZGQ0NTg3NWQ4ZSIsODQ4Mjc6IjJlNzMyM2JhNTk5NGZlN2EwMDMyIiw4NDk1MjoiYmU3ZTI0ZTkxMjQwYjIyYmYxYmUiLDg1MDU3OiI1NDI0MDFkNmVlYzY5ZmE1Mjc1MSIsODUxMDg6IjVhNjNlMjg0MzY3YzYyOTY2ZDliIiw4NTIyNzoiNWUwZGNkZDc5OTUyNzU5YTgzZGEiLDg1NDM0OiJiODViNzVkZjkxYjIyYmFjOGQzOSIsODU0ODA6ImY1MGViYjk5Zjk2NzVkY2RkNDFkIiw4NTY1MjoiOGYyZmY0M2I2OGJmZTZlYTEyZmQiLDg1OTc0OiJhZWU2MjQ0NDA2NTU4Y2MxNTdkMyIsODYwMDE6IjA4MzcwYWRkNWIwNzgxZjk1OTI4Iiw4NjIzNzoiNDJjNDk3ZDYwMGUzYTQ0NTQ0ODYiLDg2NDEzOiJiNDE2NjYzZWUzYmI0Y2RiZjQ4OSIsODY3NDA6IjQxYjQwYWNkY2Q5MWI0ZGMxZWZkIiw4Njg2MDoiNDc0ODc3YmUwYjIzNWRjOGNiNGMiLDg2OTE0OiJmNjMxNDcxZmFiMDM4MzcxYmFkMCIsODcxOTY6ImIwOGYyYWEyOGJmNDA2OWE4ZjRjIiw4NzUwOToiNTdmMTVhMWZjZDJmNWY2ZjJkY2EiLDg3NTYzOiI0YTM5NDgxNzdjNjQyMGIyOGQ0NSIsODc2MDc6Ijg4MTgzY2U2MTE2MWJmYTYyMDc0Iiw4Nzg1MToiMjVkNDRhMzY5MGNmZGVjOTE4YzIiLDg3ODU4OiI2OTEzN2U2MmJiZDVlMGE2M2FmNCIsODc5OTU6IjkxMWIyNjE4MTc3OGZlY2M0YjRlIiw4ODExNjoiOWNjZjU2ZjA1NzI1MmY1MmU2OTQiLDg4MTcyOiIzYTgxOTA0YWU5NDEyMTkwMmZmZSIsODgzNTg6IjdlOTQ4ODgwNjJjMmU3Njg0YzMxIiw4ODQ4MzoiNzFkOGZmMDVjZTMxMDViYjI4MjIiLDg4NTkwOiIyZjVlMjA0YzdlM2RkOTA2ODc4ZCIsODg2NDA6IjFiNTM5OTA0NDBiMjMxYjcwZjJlIiw4ODY5NzoiY2ZjYjVlNTU4Y2ZhMjMxOWE3NTAiLDg5NDY3OiJmMjUzYjUwNzMwNmU1ZDU1ZTliNyIsODk5NjM6ImIzN2RiNTk0MmE3YjA5NmM2ODdjIiw5MDQxNToiOGUyYWMxZWMyMmEwYTMzNjI0NTIiLDkwNDcwOiJmYzc5MDJiNTQ5ZTg5ZTM1YTU5ZCIsOTA1NTg6Ijg2MzRiYzdjMWVmMjFkNDY1MjM0Iiw5MDgxMDoiZDVjZGE2NGMzYmU5MmNjNTMwNWEiLDkwODY0OiJlMzE4ZDQxZTY0MTMxYTZkNzgyOSIsOTA4ODA6IjkyNTBjMGY0YzY2OTNmZjFjOTUwIiw5MTI5MjoiNjUxNmJhYmEzYTVkOThlNTBiYTkiLDkxNjY4OiI2NjNjNWQ5YjIxZGM1ZTYxODk5OCIsOTE4MzM6IjcyZjhkY2MzYjk4NmQ4OTM1NjM4Iiw5MTk0NDoiY2Q1MWI0OGZhNGQ3NDJhMTE3MjYiLDkyMjI5OiJkZmZkZWZhZTY3ZmI3YWQzM2MwYyIsOTI3NDY6IjQyOTY4NmYxZDRkY2FhMzE0MmFlIiw5Mjc4NjoiMTIwMzQ5NmI3NDM3ZDk2MDU1ZTQiLDkyODE3OiIxZTczZDFmZDk3NTU5YjEzNjI3NiIsOTI5MTY6IjIzOTk2Y2U4MDNkOWExM2U1MDg3Iiw5Mjk2ODoiNGM0NTM2ZDBjNzE2MjJlOTdhYTMiLDkzMDY2OiI1MDk3YjcwYTZjZTE5NjY5OGEyYyIsOTMxNTg6Ijk4ZGZiZWQ0MDMyNjQyYjlmOGFhIiw5MzIwNjoiYWIyNjVmOTEyYjg1YTM5Nzg4YjAiLDkzMjQ4OiJhZmRlNTQ4ZGZlMDkxMTliNjliOSIsOTMyNzc6IjMyZTI3NDExMGE2OGViOGE1NDNlIiw5MzI3OToiZjMzYjA1ZDNmZmMyNGE2MTUxMjYiLDkzMzQwOiJhNjNjN2JjNzE1NzY2NjAzZDgwMSIsOTM1Mjg6IjgwMGE1MDk1MWYxY2FhYmFmN2Q0Iiw5Mzc2NToiMzA4NmFhNDJlZjIzNDZkOGNjNDQiLDkzODAxOiI2ZDQ1ZWI4ZDViZWU0YWZlN2RiNyIsOTQwODU6IjUwNGY0NWUxZDU4MTM4MWQzZWMxIiw5NDE4MjoiMjBkY2M3OGMwZTg0ODFkNDM0NzAiLDk0NTYwOiIzMmUzMDRhYThlMzkzN2Q4MDQxNCIsOTQ4MjI6IjdmYWQyMTE4NzI1MDhmYWIxMjI1Iiw5NTA2MjoiNGFkZTExYjE5MDFlYWI1MDY5YmIiLDk1MjA3OiI0NjVmOGFmMWFhNzJhYzNhMWMzMiIsOTUyNzM6ImZkMTE4MDJlMzIxYjE3N2I0ZDc1Iiw5NTU1NDoiZjljZTMzMmUxOWZjY2NmMzc1NTYiLDk1NjM0OiJiM2Q5YjdlYjFlN2Q4ODk5M2Y0MSIsOTU3NTY6ImVhMjMzMTQzNTI4M2QyNTMwNGE1Iiw5NTc2MDoiMzJmZmRlNjYxOWQyOTFjMzA3YzEiLDk2MDc1OiJmMjk2NDEzODQ5M2RhMTkwNWEwMCIsOTYwNzg6IjNhOTMyMTJhOWM0YjY0MGVjYzVlIiw5NjExMToiNGZjYzU0NGUxNmY4NzRmNWEyMjkiLDk2MzM3OiI4NmMzY2M2MTJjOThmN2U3NzQ4ZCIsOTY0Mjc6IjhhNjk3NGY5YzU3NGMyNTU2NDkwIiw5NjUxMzoiNjljNjNlNWQ0Y2Q3MjQ1ODg4YTQiLDk2NzI3OiIxOWM4ODgxZDhmMDBiZjkxNjkwZSIsOTY5NzA6ImE0YzUxNjMxMmEwYzIxMDdiZWM3Iiw5NzIwMjoiMzIzYzExY2RhZmRjYTMyZDRhZDciLDk3MjcyOiIzYmZiZmM4ZGFhYmNhMDQwY2Y3MyIsOTc0OTM6IjQ5YjdmNTMzZGNjNTQ4MWQ4ZDBiIiw5NzU1ODoiOTRiYjBjMjY0M2Q3NGViNmY4YTkiLDk3NjQ3OiI2NGZhMDdlZTc0ZmQ2NjVkNmUxOSIsOTc4Nzk6IjA2MjkwZWZkOGFiMWM1OWM3ZGQ0Iiw5ODU1NzoiNzMxYzFhMmUzMDM5YWMzM2QxNWUiLDk4ODMwOiI0OTZiZWRiM2U5MDcwZWRiNTkyYiIsCjk5MzA5OiJjYTRhYzE5YjhhYjM3Njc5ZjI1MSIsOTk4MDU6Ijk5NTVhNzc0NWY4NDk3NDE3MTgyIiw5OTkzNjoiYmRmZGE5NjBkNDhkZTQ1YjI2ZGUifVtlXSsiLmpzIix0Lm1pbmlDc3NGPWU9Pjg0MzA2PT09ZT9lKyIuMzFkNmNmZTBkMTZhZTkzMWI3M2MuY3NzIjo1MjM5Nj09PWU/ZSsiLmVkNzZjYWYyZmZlMDE0NDYwYmE2LmNzcyI6MjAzNTQ9PT1lP2UrIi4yZGRmOTM0ZjhlZGMyODAyZDkwYS5jc3MiOjEzNDkyPT09ZT9lKyIuMmM3NzczMGQxMTI1YTQ5ODViZGMuY3NzIjozNzc0Nj09PWU/ZSsiLjM0NTIyN2JiMTZlMGQ4YmM5YmQ1LmNzcyI6MTIzODU9PT1lP2UrIi43ODU2MWViZGVmMDVjZTY0OGI1ZC5jc3MiOjgxMDcyPT09ZT9lKyIuMjkyN2ExNzcyMzFmZGQwZTI0YzEuY3NzIjo5NDIzMj09PWU/ZSsiLmFiNjczMWI2OThhOGMyODU0YTkwLmNzcyI6MTcwODc9PT1lP2UrIi5hNWVhZWIzMGY3ZDI2OWY5N2I0MS5jc3MiOjQ2OTA3PT09ZT9lKyIuYzVhZjhhYTdiNTA4MmIxODc1YTUuY3NzIjo5NDk0OD09PWU/ZSsiLjBmYzg4ZmE2M2MwNTRhOGQ3Njg0LmNzcyI6MjM2MjQ9PT1lP2UrIi5kMjM5MGQxN2IxNTA5YjAxODgyNi5jc3MiOjUxODQ9PT1lPyI1MTg0LjBmYjQ1NzRjYWNlYzE2ZjYzNjVkLmNzcyI6Njc3OTk9PT1lP2UrIi5lMjQ5NTY5MWNlYTE3YjNhODFjMi5jc3MiOjI0NTgxPT09ZT9lKyIuNDVkZjAyMTgxYzQ1MDk3MzJkMjAuY3NzIjo4NjQyMz09PWU/ZSsiLjc5NzgzYWE3MmI2ZTI5MjUyZDBjLmNzcyI6NDA4MzU9PT1lP2UrIi43NmExYzc5MjNhMmM5ODZiZTlhYy5jc3MiOjc4NjUyPT09ZT9lKyIuNGI0ZTA5N2EzMDNkMjFiYzk3ODEuY3NzIjozNTc5ND09PWU/ZSsiLjBhMjczYmFmYzVkZTUwYTBkMjFkLmNzcyI6ODkyMDQ9PT1lP2UrIi5mNjQxOGZiYTczZDM5N2IyOTY0MS5jc3MiOjU1MDExPT09ZT9lKyIuZjljMGEzYzA5ZjdiODc3OWFhMzcuY3NzIjoxNTYzND09PWU/ZSsiLjlmZjUwMGY0MGMzZWMyNDk2YTlkLmNzcyI6NzUzMDQ9PT1lP2UrIi4xNzQ0OTZkYmY2MmJjOTBkYjU5YS5jc3MiOjUyMDk1PT09ZT9lKyIuZTZlYjUzMGExM2IyZmViZDJjZDMuY3NzIjo0NDAzMT09PWU/ZSsiLjI2OTFmYzJjMzQ2ODI5M2JmZDE2LmNzcyI6OTUwND09PWU/Ijk1MDQuOTAzNzdmN2Q1OTQ2Y2YzMjU0ZjAuY3NzIjoxMTIxOD09PWU/ZSsiLjExZmU3ZThmZGEzMDE5YWFjMWFmLmNzcyI6NzI2NjY9PT1lP2UrIi4yMjI5MTczYmY0ZDY3NDQ4NDYzNy5jc3MiOjM2MjIyPT09ZT9lKyIuZTliZTlhNzMzZTExNDczMGE0ZWEuY3NzIjo4MzQ4OD09PWU/ZSsiLjJhMzUzNzdmZDU0ZjBhZjQwODc0LmNzcyI6MTE0NjE9PT1lP2UrIi5lMjdjYjRlY2YzMDQ5MmFjMTFmNi5jc3MiOjk2NTg3PT09ZT9lKyIuOTdmZGQ2NWYyMDEyMTA2ZmYxMWUuY3NzIjozNzUxMz09PWU/ZSsiLmRlMTU3NGIzMzg5ODAwYzkzZWJjLmNzcyI6OTM0MjE9PT1lP2UrIi45NTM4MWY4ZTAwNGQwZDJmYThjZi5jc3MiOjQ3NjMyPT09ZT9lKyIuMzNkMmEzNzQ1YWY0OTdlM2RhNWQuY3NzIjo3NjY1PT09ZT8iNzY2NS45ZjFmMzJiMTc3M2IwNTRmZGYwNy5jc3MiOjMyODE2PT09ZT9lKyIuMzU1ZDc1YjIxYWU0YjUzNGE4NDkuY3NzIjoyNzUxNz09PWU/ZSsiLjczNjEzNzRkZWUyYjUyZmQxZjhlLmNzcyI6OTgwODQ9PT1lP2UrIi43Njk0ODc2NDAxNGFlMWQ0Y2NmYi5jc3MiOjUwMjIxPT09ZT9lKyIuZjQ5ZGEyYTcyNzk3NzRhYTVmZTguY3NzIjozMzUxNT09PWU/ZSsiLjg1MDA0NDgxZTRhZTY2MjRhOTg1LmNzcyI6MTY3Nj09PWU/IjE2NzYuMzQ4ODRiZWI4ZTZkYzRjNmMwYjEuY3NzIjo4MzA0MT09PWU/ZSsiLjljNTQ1Zjk4NjgyMDRjNzcwMGYyLmNzcyI6NzE1Mjg9PT1lP2UrIi43YzZjMDhjOGVlZDAxZDg0MTA1Mi5jc3MiOjQzNzkyPT09ZT9lKyIuZTFiZDA2MTEyNDA0ZjA5MDFhNjYuY3NzIjo1MDAzNT09PWU/ZSsiLjAyMjdjMDllOGRlM2I0MDA4Mzk1LmNzcyI6OTE4NTU9PT1lP2UrIi4wMDk3NjRkYTYxYmQ4YzhjNDRiZS5jc3MiOjc0NDYxPT09ZT9lKyIuNmNjNTEyYzQyMTlhMTVlMzU3NzMuY3NzIjozODAwMj09PWU/ZSsiLjg2ZDI4MGZlZWFiYWI2OTgzNjBiLmNzcyI6NzAzNjQ9PT1lP2UrIi42NDRjYjkzNDQxNjkwYzgyOWFiOS5jc3MiOjY1Njc1PT09ZT9lKyIuYjIyZTg2Mzg0ZGE5NWE0Mjc0ODUuY3NzIjo0MzY0ND09PWU/ZSsiLjBmN2MxNDAwMTlhNjdmZDUwYmU2LmNzcyI6NTgwNTE9PT1lP2UrIi5jNTQ0MDY2NWMzYjMyZTZjNmRlOC5jc3MiOjQ1MzY4PT09ZT9lKyIuOWZmMDBhM2UzODIxMjAyOWJhNTUuY3NzIjoxODQ3Mj09PWU/ZSsiLmQ5NDE5YjZkY2I2NGM4ODU2NGMxLmNzcyI6MjU4MDk9PT1lP2UrIi44ZGY0ZWE3YjA5OWFkYzE1ZDA2Ni5jc3MiOjI2MTAwPT09ZT9lKyIuNzY3N2ZjN2ZmOGZjNGEwZDc1ZjEuY3NzIjozNjk4Nj09PWU/ZSsiLmNlNzdjYmQ2NmU2MDUyNTBkNGZmLmNzcyI6MjcwODU9PT1lP2UrIi5jYjIyMjI5NTgwOTkzZTg2MWMxZi5jc3MiOjE0Njk3PT09ZT9lKyIuZjFkYzE5MTc0NDhkMjE4OTE5OGYuY3NzIjo0MzMyNT09PWU/ZSsiLjI1NmZhNWE1MjEzYjljYjcwZjVjLmNzcyI6MjY1OTI9PT1lP2UrIi4xYzYxMjM5MDJiYzg4ZWJhOWQ1Ny5jc3MiOjM3ODY3PT09ZT9lKyIuZWM3MzFhZDEwMmRiNjc2MmU0MGMuY3NzIjo2MjYzMD09PWU/ZSsiLjUzNzMyZGFlYTgxNzg0NDczOTNmLmNzcyI6NDE2MDg9PT1lP2UrIi5kOTg5ZTQ5NDBiMGVhMTI4NmRiYy5jc3MiOjk0ODg9PT1lPyI5NDg4LjA5ZjI2OWY4YjI2YjJiMDBhOGI3LmNzcyI6ZSsiLiIrezIwMjoiMDcyZTk5MGM3NjY0MTA2OGQ4ZTMiLDY0NToiZmIzNTBkOWFjOWM3ODJlNWU0MzkiLDY0NjoiZWUyOGIyYjE5Y2M4ODMyNzY0YjUiLDY1NzoiMjlkZGQ0ZjA0ZTZlYzUwZGE3MGIiLDE1MDk6IjI3YzRmMDExYzI1OTdhZGQ3Mjc2IiwxNjc4OiI5ZTk5YzZjN2MxNDI0NGZhZTc0ZSIsMjAxMzoiOTZhMmNmY2UzMWFmOTE0MTk4N2EiLDIzMzE6ImE0MTczYWZhMTVjYTg1YWQyZjY1IiwyMzcyOiIwMzQ4ODE1ZjIwOTZmMzc1MTY3NSIsMjUxMToiZmRjZWJmMjIxNTMyNjY5NTRjZWQiLDMzMTA6IjNlMzNlZGU2NTI2ZjBiYTg1NTI0IiwKMzMyMzoiM2RhNzk4ZGEzNTgwNmY4Njc5YTAiLDM3MTk6IjJkYzAwOTRlNTIzODFmNzQ1OTYwIiwzOTE2OiI1NDgxMjYxYjk1MTI3MTc0NjBmZSIsNDA0MjoiZmE5NDk2ODBhMmFkZjllMWFiODQiLDQxMjc6ImZhMWMxM2Q5YzMwNmY2NzdiYzA3Iiw0NDc3OiI1MTJjMDQ3MDlhMzI1OWJkMTEyNCIsNDY2MDoiMGYzMzJjMGE0Yzc1MTcxMDZlMTkiLDQ5Mjk6IjZkZDYxZDViZjk2YWIyMzQzZDk4Iiw0OTY5OiJjM2FkYjFhMTA4YmYyYmFmOWNiMyIsNTE4NjoiODNjMTM2MTFlNjYyNzdlYTc1OTciLDUzMjI6ImVmY2U2Yzg4YjkxZmY0NTczZWVjIiw1NTM5OiI5N2I0NGNmYWNhMzJiNDcyNmU1MyIsNTYwMzoiYjAyZDYxYTE4YjA4ZGI1ZWQ2OGQiLDU2ODk6IjA3ZDBkODUyNGJhNGI5YWY0YWRiIiw1NzU2OiJlNTY3NDBmYTNhZTA1OTlkYmE0MCIsNjA3MDoiMmJlYzRiOTY5ZTE3YzgzOTVhZmMiLDYwODI6ImUwMmI4OGY1NGY2OGNiYTQyNDcxIiw2NTgzOiJiY2M1NzQzZTIzNmZmYzViN2NjZiIsNjYwNToiMWU4OTQyMzE5YjQ4NWFmYzFmNzUiLDY2NDc6ImFkNDU4MDU4ZGQ1Yzg4MjgzM2I2Iiw3MTExOiJmNDE4NTFkNTQ1YmFjZWFjNzVhNCIsNzE2MzoiZWM0ZTdiY2MwYzc5ZTJlNjA3NGQiLDczODc6IjNkN2Q4NjQwMjJjODRmOTI4YWRhIiw3NDQ1OiI3ZGE5NjZhNDQwMTZhZTdhMDJmOCIsNzQ1NjoiMDZlNzBmNzY1OTY2Y2VlZDIxODEiLDc4NjM6ImQ1ODBlMjI1YzMyMmNiYTFlNmVjIiw3ODk5OiI0N2FhZDA1ZWFhMjBiZjMwMTJmNyIsNzkyNzoiZjczYjI5NjY5ZWQzYzNlZGMzZGIiLDgyMTY6ImQ3ZjIxZmUyNDg5ZGRmY2JjNDE4Iiw4NTc5OiI2ZjY1MThiZTQyOTM4MjI3ODZlMCIsOWUzOiJmODZlMWZkMTA1ZDhjYzdhZWNmNCIsOTE0MDoiNTEyODM4ZDdlNmUxMDdmMDczOGQiLDk3NDQ6IjcwYjUxMjY0OTVmN2FkY2NhZjJmIiwxMDM2NjoiMDdlMjBlN2JiZWUyN2M5ZDVmYmMiLDEwMzg1OiI4NzQ0ZDRmODY3MGRhYzMxMGQxZiIsMTEwMDg6IjUyYWZhNWVlZDRhMWNmNjZiZWQ2IiwxMTI1NzoiZTc5ZjBmNzk5NTg4NDA0NzNkMzEiLDExNDg5OiI1NDdlMzAzZTI5MmY1NDgxNGRiNCIsMTE1Mzc6IjYxYzc5NzI4NjhmZGRkNTJiNmU0IiwxMTcyNToiMzFlODBiMjNkMTUxNjIyMzJjNDgiLDEyMDUxOiJiODRiZTc4MWJiOTBkNDU3ZjFkZiIsMTI0MTI6IjEwMzgxYjNkM2UzN2NiOTA4NTJjIiwxMjUyNzoiZGJjMjBjMmI4YmM5NTQzMmE4OWEiLDEyNTY1OiIxZDQwNTM2Nzk3YTI5NDE5YzY2ZSIsMTI2NjY6IjdiNTZiOTQ0NWZkNTgyN2MwYzA4IiwxMzAzOToiZDYzN2FkMTI0ZTI0NmFjNTYzYmYiLDEzNjc3OiJkNThlOGQ2M2Q4YTNmZDc3NGM0MyIsMTQxOTM6ImZmZTZmMWY3M2RjYjE4ZjI5YjU1IiwxNDYyNToiYWRhNjEyY2NlZmRlZjc3OWUyOTUiLDE0NjQwOiJmNGUxODExMzgxYTVlMTQ5NDQ4YyIsMTQ2NTc6IjQwZGFhYzRiMzhiYmQ5NTViNWYyIiwxNTM4MzoiYzNhZGM1Mzg5MDAwMmVmNWVjYTAiLDE1NTI2OiJjODI5YzUyZmVkMjU5ODU1YmI5NiIsMTYzOTk6IjZkYWE5MGUyOWEwZDE5OWI5ZDMyIiwxNjQyMToiMzFkNmNmZTBkMTZhZTkzMWI3M2MiLDE3NjkzOiJiNTI5MzM0YzhjNzYwZWUzNTFkYSIsMTc3NTE6ImM5MmI4MDVlMDg3MzQ3ZjdmMTVlIiwxNzg2MToiMTllMTAzM2U5MmY1NDRiZDY4NWUiLDE3ODY1OiJhOGRkMzkxNzRhYTdiN2EwZjU5NyIsMTgxNjI6ImQwNjE4NGJjOTcxZWNiZGRhM2IzIiwxODQwMDoiNGYzMWU3ZDk4MGIwNDhlOTU3MmMiLDE4NDQyOiJiMzM2Y2QxMTdiYzE3Y2ExN2MwMiIsMTg2NzQ6ImJkMjEzYmJiNjk5MGY3MjNkNGQzIiwxOTQ0NzoiZGQ3MDRjOTk1ZTY5NjNhNjRjYTQiLDE5NTEzOiI4NzQ5ZWRjZTY0YTdlMmRlMjU4MyIsMTk1OTU6ImQ5NjJhYjc1YmQzZTFiYWE1YWFlIiwxOTU5ODoiNzhlMmRiMjFiNjlmMTQ1M2Q3MGMiLDE5NjMxOiI2YjRmZjUwNThjZGI2Y2Q0YjE5OSIsMTk3ODc6ImJiYjY2ZmEwZmQyYmQwNGQwODc1IiwxOTgzMzoiYTliOGZmNDRhOGM2NzYzMzA3OWEiLDIwMDg1OiJiNjg4MGUwNzg1NDBhNDFlY2RjMyIsMjAxNTM6Ijk3Y2JiMDNlNTMzNTVjM2M4ODY5IiwyMDI3MToiMGMxNGYxMjZlMzhmNmI0NjA3N2UiLDIwMzcwOiJmOTI1NDIyYmE0ZWIwYjYxMmM3YiIsMjA1NjQ6IjEzZTZlZmIzOGVhYWIwYTUyNjgzIiwyMDU5MDoiMDE4YzdkNmIwMTRlMTJiNGQ1ZmYiLDIwOTcxOiJkNDZhMzc4MGI0MDA1ZDk0N2Q3NCIsMjA5ODY6IjQwZTM0ZTIxYjNkODE5ZGY0OWU1IiwyMTI0NToiNTg2ZmE4ZDA0YWJhMGQ2YWRiYzgiLDIxNTgxOiIyZDU0NWRlZDViZjgwMDU0MDEzZiIsMjIwNzA6IjdiZDFiMWE5MTVjMjRlMTIzZTJmIiwyMjE0NDoiZGEyN2UyOWZhNDUwYWExNzIxNGEiLDIyNDA1OiJmMzBiNWNjNTU0OTBjYTM2Mjk2NyIsMjI0NjQ6Ijc2ZjMyNmVkMWQwNTA4NmUzZDA1IiwyMzI1NDoiMzA0M2Y2ZmYxMzk2ZjUwNjVjMmEiLDIzMzY5OiIzMTc4MjkzYjY1NGFjMDFmNGZhOCIsMjM2Njk6ImE2MTk3MWQ4NDI1N2MzNDZiZDVmIiwyNDMxNjoiYzg1OWI2NDBmODU2MDNjMjZkNjkiLDI0NDA4OiI4NmU0NWVjZjA4ODRiZTZhNmVlMyIsMjQ2MDM6ImRjMzA1ZTU1ZTgxNDgxOTgyNThhIiwyNTE0MjoiZTExNTA4NjI2ZTM5MGRkMDQzNDUiLDI1NDg1OiJmOTZhOWZkYWFkMTRiMGQ3NWQzNCIsMjU1NTQ6Ijc1ZWMxOTk5ZjVhYzk2NmQ4ODYzIiwyNTU2MjoiODYxYzQ0YWMzNzRkYzI3OGQyZGQiLDI1NjQ3OiIzZDQzMDE5OGM0MjIyMzlhNWY5MSIsMjU2OTg6Ijc2MDVhNTgyM2NhNmQyNWZlZTQ2IiwyNTg5NToiZTlkOTg2MjNkYzk1OWJhNTY3NjQiLDI2OTg5OiI3NzMyNWIzM2FhZGE5NDdjZTc3OCIsMjcyMTc6IjkyNWYxMTkxYTAwMGIwMmMwYWQ1IiwyNzMzNzoiZWRjYTYxZWZjZGIyMzBiYTY2M2EiLDI3NDQ2OiI0YjYzYmI4ZTkxMDliMzNiZDlkYiIsMjc1MTM6Ijg1MGU5MjAwMTNhZGFiNTI1MjQ4IiwyNzU0OToiM2VhNjQ3NWM3OWFiOGUxMWU5MDUiLDI3NjY1OiIwMTNmZGI2ZjA5ZmUxMjE3MDViMiIsMjc2OTY6IjEwZGU2MWZkNmM0M2JmNjNjZmQwIiwyNzczNjoiMjkzZDk0NzdjMTk1NGYxOTc3YTciLDI4MDE3OiJmZTc5OGY0ZDdjY2YwMjRiYmIxNSIsCjI4OTM2OiI4YzJmMTU1NzViYjE3OWYzYjEyNyIsMjg5OTU6IjA0YjQzNDVhNTNmMjAyMDA2YjM4IiwyOTEzMzoiYmRmYTE2NzA5M2YwNWRmYjI0ZDAiLDI5Mjk2OiJiNDA4ZjI4MjJmYTViOTU2OWJhYyIsMjkzMTU6ImRhOTc2ZGY0NWZlYzAxMDczN2Q3IiwyOTMyNzoiNWE2MjNmZTQ5ODgyYjljZjUxZTciLDI5MzQ4OiI4M2I3YjRkY2E4MGRkOWViMDdiOCIsMjk0ODk6IjA5ZmJmYWZiOWZmNTllMDQyYTNiIiwyOTUzNjoiNzM2ZjQ3MWE4ZDY0YTgxMjJmZDgiLDI5NzE0OiIzNzg4YzRhMzNkOTQ1MzZlOGNlYSIsMjk5NDM6IjJmMzM3MzNkZDY0OGI4MmM0NmZiIiwyOTk5MzoiOWQ5MjU4MjgwMTAwZDAyODBjMjAiLDMwMDI5OiI2Yzk4MTUxNjIxZWFlODNhNTU5ZSIsMzAzNzM6ImRlMzJhM2NkY2FlMTJiMTVkNmRmIiwzMDc0NToiZTc4ZDgxYmYyNTBjZDZlNDMwNjgiLDMwNzg5OiIyOTdlMGZiNmM3Mjk3MWU5NGI0YSIsMzA5MjI6IjUzYmJjNDVlZmRjNDljMDY5YTA3IiwzMDk2MDoiNTQ3MTA5OGJkMjdmOTBmMzExNWQiLDMxMDAxOiJjNTIyMjk0ZDNhMjhkOWNhMTUxYyIsMzEyNjI6IjI2MGI2MTg3OGUwNTlhNDJlNzlhIiwzMTU1NzoiZTZhZWY1MWYxMDkzNDJiNTk5MWMiLDMyMTc2OiI3YzU3Yzk4OTMzYjhjZmQzZjhlNyIsMzI0Mjc6IjZkMTY2Zjg3YjczNjcyZTU2MWRhIiwzMjc0ODoiMmRkMThlMjA5YTc3MmVhNGYxZDciLDMyODU3OiJlNDk2OGNjOTA2YWM1NzY5OTA2YSIsMzMxMjA6IjNlNmQxYzMzZDZjNTI1YzA3NzFmIiwzMzIyMToiZjQyY2M1NWE5MGM5ODg0MTIxZTUiLDMzMzY4OiJmMTVkZmNiYzBmNzE5NmQ3ZDY3NiIsMzM1NTM6IjBkZjliMzUyY2JjNmZhMDNjY2E4IiwzNDc1ODoiODgwZDk3M2JmNmNiYmM0ODIxNzQiLDM1MDczOiJiODU2MzJlYWEyMmNmMTllN2NkMiIsMzUxOTg6IjIyYTU2NTVmNTNlMDkxYTJmYjczIiwzNTM0MjoiN2Q2MWE3ZWM3NjRiYTZiMmM2YmQiLDM1Mzk5OiI1ZTZkMTQ5MTllZTBjODZmNjliMCIsMzU2MzA6IjhiOWVlMjVjNWUyZDIzNGQ5OTUxIiwzNjE3MzoiMzBhYjA3N2ExMGYxYWJhNDdkMmEiLDM2MzU2OiI2OGU2NmJmNzRmZGIyNDNkNDMyYSIsMzY1MjE6IjhlYTE5ZDE4YzZmMGIyNmFlMjUwIiwzNjU0NToiZmM0ZWIzNzExMmUzNWUwOGQwMmMiLDM3NTY3OiJmNzQyMzY2YTUwMmExZWQ3MzYxZiIsMzc3Njc6IjQ0MDI5NjA2YzczYTY4M2U3YjBjIiwzODI2MjoiYjQwZTdlNzgwNjQxNjNjZGMwZDIiLDM4NDc5OiIyNmUyZDUzYzA0MTAwZWE0MDE2YyIsMzg3ODI6IjNiMjY2ZDZhODE1MzgwNmI3MzFlIiwzODg2ODoiNWVlNzQxZmQ2Mzg2NjZkNDQ1ZGMiLDM5Nzg2OiIyYjAwZGMyMWVmOTQ2MDBlMDk2OCIsNDAxNjg6IjgwY2QyMjQyOWIxNDVhOGNiODIyIiw0MDIyMDoiZTBiZTM3OTczNDVjNmUyNGNlY2EiLDQwODY3OiI0OTU2YzYxNWZkZWFkODFkY2QxMSIsNDA5MDI6IjU2NDViOGVmZGQyYmRkN2JjNTdmIiw0MDkxNDoiYThkZDY5NmJlN2RkZTZjZTZkZGIiLDQxNTA2OiI0ZTQ4MWNmZTNkN2RjYzkxMTNkZiIsNDE1ODg6ImE0ZDFmYmJmYmMxM2JhZTc2MGQwIiw0MTgxMToiZTIxMjY3YjUxZjE0YWFhYjU0YzciLDQxOTgwOiI3NWJmNmUyZjNjMTI2NzliMDQ4YSIsNDIwMzM6IjkyNGRhYjc4MWU0NDc3Zjk1MWJmIiw0MjMwMToiMjI1MmQxY2NjYjQwMzUxYmQ1ODEiLDQyNzIxOiIzZWFhZTU3MWU3NTg2Zjk2N2Y3YyIsNDM0MzM6IjdiNjRlOTE4MjAyNTZkZGJiOTVlIiw0MzQ0MToiYWM2MDM1MGM4NmM1NzgxMWYyMjMiLDQzNDg2OiI2ZWRhYjk0YjBmNTJiZTQ3OTQzYiIsNDM4MDg6IjVhZDM2NTFhMzg2MzBmNzc1NDQyIiw0Mzg0MToiMzg2MzgyODcwNTVmNjg1MzlhOTIiLDQzOTE5OiI1NzNhYTE3YmRiNzc1NmYwNWNhOSIsNDM5Mzk6ImJhYmI2YzEzYWQyYTIzYzBhZjczIiw0NDQ2MDoiMWE0YjM5NTZjNTk5Mzk1OWVjMDUiLDQ0OTQ2OiIxOTY4MGRkNGU1YzQzZDlmNzE2MiIsNDUyNDI6IjhmNmM5MTBlZjgzZGM5ZGJhMTkxIiw0NTMzMToiYjRkNmY1MjQ5Mjk5NmRkMjliYzYiLDQ1NDE4OiIwNmQ3MTg1ODI1NjE2MWQ1NGZlOCIsNDU3ODM6IjRlYzU3ZjUzM2M1YWM1MDE1ODk4Iiw0NTk0NToiNWM5ZWNjZDI4MWNhN2YyZDc5ZTAiLDQ2MDM0OiI3ZmU1ZDY1NTVkMzUyMzg4NzIxNCIsNDYwNTU6IjAyMzJmNWExOTRkMGU2NDZlMDg5Iiw0NjI0NToiYjFmMDRlMzFkOGU4NzQ4ZTkwMjAiLDQ2NTkxOiI4ZDAzMzM5NGI4M2I2MTZiZjA2NiIsNDY3NTY6ImJlYzU1ZmEwNTBhMTFkYjgwYjFlIiw0NzAyMToiZWQxMTM0OTdlZjMyYTY1MjZlNTAiLDQ3MDkyOiJjNTcyMzg5MzRhMmY3YTM2YTBjMCIsNDcyMDE6IjQyODBhYTBjM2NmMTJjYWM5ZDZkIiw0NzMxNjoiZDIxNzQ0ZmY2ODlhYTZkYTYxNmIiLDQ3NDU3OiJhNmMxMTZjZTUxMTY5MTk2NGRkNiIsNDc1NTE6IjhkMmNlNTI0YjM4ZTRhOTI1NDdmIiw0NzU3OToiZGMzODc5MTkxYzA0YjkzOGZkM2YiLDQ4MzEyOiJhZmRjYzM4MmE5MjhiYzAyZmU2NSIsNDg2ODI6IjZmZjIzZDVhYzFjYjcwZDAyMzlmIiw0ODg2NDoiYzdiMmFmOThkOTE0ZWJkODMyN2MiLDQ5MTQ5OiI2MTBkOThlYWQ1Y2IwNmFiMzhmYSIsNDkyOTc6ImNhNDAwZTVmMmRkMDY4ZDc4YmNjIiw0OTQ5MDoiZDM5OGFiNGEyZTRiMDRmOGZjODMiLDQ5NTM2OiJjYmEyMDdhNWJhY2Y3YTE1M2EzZiIsNDk1ODg6IjE1NDI2YjIyMjc5NTYxZDk4ODBiIiw0OTk5NzoiNjhiZDc1OWI0YWRkNjVjZjc2NjAiLDUwMzE2OiIzMWQ2Y2ZlMGQxNmFlOTMxYjczYyIsNTAzMjU6IjU3N2NkMTE0NjE2MmJjZjA1YzJiIiw1MDU4ODoiYTI3MTE4NjIwNmU1M2ZjOTg3NGIiLDUwNjIyOiI1ZjA1ZWY1MWFiMDIzOGRhYTM2YSIsNTA3NDM6ImMwMzFkNTc0OTZmZmY3YmU5NWUyIiw1MDgwMDoiODBmOTBlMDQ0OWVmMjBmMzg5ODYiLDUxMDE3OiI0M2ViYWViNGQ2ZDg5OTBkOGM3ZiIsNTEwMzA6ImI3ZjUzZWQ2MzViMDkyZmQxNjkxIiw1MTE4NDoiOTkyMzI0MGQyODA2ZjBlMjU4ZjAiLDUxMjEzOiI2ZGIxOGY1NDVlOGZjYTg1OTFkMyIsNTEyNTY6IjgwY2MwMDFlMjFhYzg0N2U2NDJkIiw1MTMwOToiNmYwMmVhYzE0YmYwMjJkYzJhNDciLAo1MTY4MjoiMTVkMDEzNDcyYjg1Y2Q5ODUxN2EiLDUxODUwOiIzMGFmM2EzZDFmYTU3MjUyZDczYSIsNTE4ODA6ImNmODA5NmFkOWNmNjY1ZThmM2JiIiw1MjA2NToiZGU5ZWRkYjMzOWFjNzdkMWRiZjgiLDUyMTc4OiI0ZDU2MmEyNWFkM2MxMzc5MjFlMSIsNTI2ODA6IjhlZmE2YjRkOTk4MTg2ZjM5Y2JhIiw1MjkyMDoiMzBiYTA1ZDZhNTM5M2UzMzE4MjciLDUyOTYxOiJjZjY1MzhjNDFmN2Q4ZmUxNjc0MSIsNTMyMjg6ImQ1N2IxY2M5NDdkNTFkNTRmNGMwIiw1MzMyOToiMDNhNmQzNDAzNWMxNzY4ZmI3ZDUiLDUzNTIxOiJkYzliYzcwYTZhODBmMmM5NGY1NSIsNTM3MTM6IjQ5ZDg4M2M3N2IzZDc0ZjQ3YzEyIiw1MzkyMzoiZmEzMmI0NjhiZjcyYmU5MGE3M2QiLDU0MDkzOiJkODBjMGZmYjIzNDU3ZmY4NWVmNCIsNTQzMTA6ImNkZDAyMmZkYWZlNDRmYzJjNTg5Iiw1NDMzOToiY2FlZWU1MGNkMGIxZDBhYjRlOGMiLDU1MjkwOiIxODZjZTMzOGQyZTI3OGVkZjFmNCIsNTUzMzY6ImZhYTc3MTY0YTU2MzZkODI2NDc1Iiw1NjEyMToiYmQ2NGJkNTI5MGUxNzhlNThlNmUiLDU2MjEzOiIwMGQyNWZlOGFkMTY5ZTMxOGIyZSIsNTYyNTI6IjJiODJmNTc1YmExY2ViNTRmYTI5Iiw1NzI1NDoiMWQ3ZTg5NzFkOTJlYmI5NTcxMjQiLDU3MzAwOiJjMWY1ZmM0ZTE1OTkwNjg1ZmI3MyIsNTc1MDQ6ImM3Zjc1ZjYwMzlmN2NhNDc4YjJlIiw1NzYyNjoiOWE4YzNiOWQ5ZDRiM2YxM2MxZWIiLDU4MDQzOiJhMmFmMGRiYjQ1ZDBlMmNiMDM3NCIsNTgzODQ6IjY2YTYwYjVlYmIzZTA0NmY4MmQxIiw1ODkzMzoiYjNhZTUxYjliMzgzZjNhYzk1NjQiLDU5MzUwOiJiNjYzNjNkMTk5ODQxZWJmOGI4NiIsNTk0Mzc6ImI3MmM1MGI1MDVmMTJjOTljNzJlIiw1OTgzMDoiZWI3YzE4M2QzMzFiODVlOGFmNjAiLDYwMDYyOiI0OTU0NDRhN2ZhYzE3M2ZiMjhjZCIsNjAwOTA6ImRmMGExNDk4ZDQzOTI5YmE5MTBkIiw2MDc2OToiYzZiNTk2NmU5ZGY1NWRkMTlhYmYiLDYxMTkyOiIyMmQ1NDJiODYzM2Q1YTRhNTg3ZCIsNjE0MTM6IjRmYmY4ZDMzNTYyMGMwZWY4Mjc1Iiw2MTgyMToiZjY0ZDFlMmM2YjFlMzBkZmQ1NGUiLDYyNjAwOiI2MTA2MzU2Y2I4MTZmYjc0YjE3YiIsNjI3OTA6IjBjZDJiOTE3ZjdhNzE2OTBlNzQ1Iiw2MjgwNjoiYWU3Yjk5MmJkNTMxZTc2ZjhlNzYiLDYyODkyOiI2NWEwMzU1MGFjNGIzNmQ4Mzg4YyIsNjMwMzM6ImY5MmE4NzQ3MWU1ZTEwMWM4YzU1Iiw2MzEwMDoiMzYyMWZlYjhiZmFiZDRhYzVhNjQiLDYzNzIzOiIxYzY1YTA5YzIwYjYxZTM0NDcwOCIsNjQxMTM6IjAzYTJlNDc1YzQ1YTUzNzMxMjVkIiw2NDE5NToiNzIxNTFiYTJlNjczNDczZjcyYTQiLDY0NTAzOiJlYTZlMzRmMWYyN2JhZDdkZjhkMiIsNjQ2NDM6IjVlZjNiZGJhYTBjNmM0ODg5ZjRlIiw2NDY3NDoiNjZkNWEzY2I1Zjg0MDYzMzQ0N2EiLDY1NTI4OiI5ZGNjMTkxYTRhYjQ4N2QwYjEwYyIsNjU2MTM6ImM5OWYzYjY5MTBmMGY1ZWIyZWQzIiw2NTY0MzoiM2M5NjU5MTYyMmRlZmMwYWJkMDYiLDY1NjkyOiIyZjM4OWQ0NDNkOTc1Y2NiMDM1ZSIsNjU4NTY6IjZjZjI3MzA2NDUxNmNkODEyOWMwIiw2NjIyOToiMDkwYWQ1NGMyZmMzM2UxZjFmZjciLDY2MjcwOiIwMGY3ZTAyNzMwYjQ1NmFiZjI2ZCIsNjY0NzM6IjIxODIyZWI1YmE2ZDhiZDUwYzZlIiw2NjUyMjoiNjYxYTk3MTYxYzNjYWQ5NjkwZDIiLDY3MjEyOiI3Y2ExMmFiN2VjY2YxYzQ4YWVhMSIsNjcyNDQ6ImY5ZmYxMzY3YjE0MjNmNGEwNWVhIiw2NzU0MzoiZGNkYmE4OTk0OWMwMGJmNTc1ZDYiLDY3Njg1OiIxMzc1NTI5NmQ3ZDI2ZWI3ZGJjYyIsNjc3ODQ6IjIzYjc0NTZjMjEyODQ5ZTViN2U4Iiw2NzkyNDoiMTgwNTAwODZhOTQ2OGVjNGQwMTkiLDY3OTI1OiJjZGQ3N2E2OTcyNzg3Nzg5YTYxNiIsNjg1Nzk6ImMwMTg3NGFlOTNmY2VlOTRiMzg4Iiw2ODY4NjoiMjUxMTRiZWE1ZmZlZDBlZTIxNzEiLDY4OTQyOiI0OWNlMzVlMDhkZmJiN2I5OGU1YSIsNjg5NjQ6Ijk0MjViNTg3MzBkZjEzODA2ZmY2Iiw2OTE4NToiMjhlMGQ0MTJjNjQzNjk1N2I1ZjEiLDY5MjA5OiIxMTIxNGQxZmIxMGEzYTc2YTAwYiIsNjk3NDc6IjAzMWQyNTU0MjRiMGRlMWQzZmMyIiw2OTc2NjoiMTg5OWMwNzkyZGYwOWNjYTVlYTQiLDY5ODAzOiI2ZWQ3Yzc4MzA1ZmVlMGFiM2I3MiIsNjk4MDk6IjQyNDU3YmZiNjUxMjI1NmIyYzA4Iiw2OTg2MToiODdlMjBhODk1MWNlZWNjNDYxZDgiLDcwMjU1OiI1YzlhMWVlNDAyZjMxYjc2YzE4OSIsNzAyODA6ImZmMzJmOGU2MDg0NDBmMDU3YTI5Iiw3MDY1NjoiY2U0ZmI0ZGZkOTU5ZWVmYzg0YzciLDcwNzU2OiIyYzE2ZWJkYTk3ZGJmZTE3NDgyOSIsNzA4MTU6IjNjZTZkNmEyNjg2ZTg4OTA3YWIzIiw3MTE5MDoiOGY1YmYyYWU5NDg4ZDY1ZDMyNWEiLDcxMzUwOiJhZTI5ZGNiMzBjODJjOGQ4YzFmMyIsNzE0MTQ6ImUzNDVlZDc1MmQzYTIwZDE5NDY3Iiw3MTQzNzoiMTc2ZGI4ZGQ2ZTlhMGJkY2M4Y2MiLDcxNDgyOiIxZjBhZGE5MTYwZjNmOWZjZWMwMyIsNzE5MDE6IjQzZDViNDhkOTY0MzY1NmJmZDJjIiw3MTk5MToiZmM2MTlmNzViYWRiOTIwMTUyNzgiLDcyMjQ5OiI4NGJjNzg2N2Y1ZjEwNGJiYWQyNiIsNzI1MTI6IjYxOTMxMDJlMzE1MjgwNmI4YjBmIiw3MjY4MDoiZjc5YTU3MTYwY2Q3MjRhZGZkZmMiLDcyOTAyOiI3NzZkYmI0NDY5ZDE5NTRmNWM2YSIsNzM0MjU6ImFlYWI5MTI5ZThkZDM5YjVhMjQ0Iiw3MzU1MToiMzI4MmUwNTI1YTkzNTgyMGI0ZjciLDczOTYwOiIzMzRiMTNkYWM5ZjU1MjliMmU0NSIsNzQyMzM6IjFlNzc2MWE4MWM0ZWM1Zjk5ODc2Iiw3NDI3MzoiNjY3NDNmYjM2ODdjNzdjMTVjYTEiLDc0MzgxOiJmZDZiOTAxNTNjNmMxNmIyYmM5YSIsNzQ0MjI6IjNkNzg4NWI0MTQyY2Y1ZjA4YjA4Iiw3NDQ3MToiY2QxOTI3ZDIzYzE1NmIxZGYzMzciLDc0NjM2OiJiMGRlYTE2NWY0NDVmNDA5MDlmYSIsNzQ4MzA6IjRmNTBkMDBmYmY5NWMxZTI5Njk1Iiw3NTE3MjoiYjFkM2ZmZGVkZTk0ZWUzZWI0YmMiLDc1MjE3OiI4YmZkMjM0MzU0ODYzMTMwZTJlMCIsNzU2MDM6ImRlNDNjYmU1OWFkZDg5ZTkyY2M1IiwKNzYyNzg6IjQwOTJiMDM4NjgxYzUwZjFlN2Y2Iiw3NjMyOToiYzU3ZDE2ZDM1MGRkNmY0YWE3YWQiLDc2NjY0OiI5OWMxYzQ0M2M0NWI2NzRjMzQyZSIsNzY5MTI6ImYwNTUzYzUyODNjOWRhMTI1YjQ5Iiw3NzI2NDoiNzNkMTBjZmI1ZWMwZjEwNjcyN2MiLDc4MTgyOiI5MmZkZmNlMTAwZTgxMjIwNDZmYyIsNzgyMzc6ImU4OTZhOGJlYTkyNWQ2NWY2ZWZmIiw3ODM0MToiMDVhOGU0MzQ5MjM0YzYxOTI5MmUiLDc4NDA0OiJiNWVjZDZkYzY1ZjEzZGVmNWVhYiIsNzg0MzQ6IjU4MGY1ZDIyNWY0YjBmM2E3NjIzIiw3ODQ3MToiMDUyZjk2MzMwMzQ2MThiMDE1NjEiLDc4ODk5OiJiYjVmODFkOTRiZTViNWE3YmJkMSIsNzkxOTE6IjQ4MjM4YzczZTQwMzZjNDcyMzQwIiw3OTI0NDoiZmFkYzYxNGYwYTQwNWZkNGM0OWIiLDc5Mzk4OiI5ZjcwZTEwMTc1MjRlZDkzMDEzNiIsNzk0Mzk6IjE4ZDhiYWE1YTIzMDIyMTU1MGJmIiw3OTc5MToiMTYzYzFiYjA3YzYwNDI5NDQzZGYiLDc5ODkyOiJkM2Q5MGQ1ZjVlZTU0MGY1MzQyZSIsODAwNDE6ImZmMmUzZGY5NjNkNThjMTc3MWY1Iiw4MDYzOToiOTM0MDJjMDA5YTI3YjQ2NjBjN2IiLDgwNzMxOiJmOTY4Mzg1YmUyZTIwMDYyYmVkYSIsODA3NjE6IjE5MzFkYTk0Zjk0ODI1ZGJhYWY4Iiw4MDc4MjoiOTc1ZmI0MWQ0MmFlMmQ1MWMwOGIiLDgxMDAxOiJhZmY4NGJjMDRhMDNiMTdiNTQ2ZCIsODExMDc6IjFiYmE1OWUyMDg5ZTU4MzQ3ODU5Iiw4MTIxMDoiMGIxZWI3MTYxMzQ1ZDMzNDAwNDIiLDgxMjQ3OiI3MDU5MDYzYmE0ZDNiMzczMDJkYyIsODE1Mjk6Ijk2NTI0YjAzOTNjZjg2OTVkOWNmIiw4MTgxODoiNzY0N2UzNzljMDhjZmFkYzNhMGEiLDgxOTAzOiIyY2E2NzZiYmU0NjM4MmU2YzFmZiIsODIyNzA6IjUyMDAzODQwODAyYTdhMTVkNGY5Iiw4MjI3MToiYzAyMWJhZTQ0NDY2NWEzNDg1M2YiLDgyNTg2OiJkZTlhMmVhNTE1Yjk2MGUwNTQ3ZSIsODMyNjE6ImI0NWNkOTQyMzI4Y2Q5YjBlYWZhIiw4MzUyOToiZDk2ZWE1YzFmOWM4Mzc1ZmJjMTgiLDgzNjc1OiI1ZWQwMTg0ODI3MjNhYmFmOWU4NiIsODQyMjQ6IjMyNzgzNWMyMDIwZTlkN2U0YWQ4Iiw4NDMzNToiYjZjNThmZTViYjNhMDk5YzFmNjUiLDg0OTQ4OiIxZjA1ZDJlNjM4Nzc5MzFhNGExMSIsODU1MTE6ImJjMDAxNWM3MzY4MzBkYmI0MzkxIiw4NjA4NzoiOGRhNTZjMTMzNGU0MzZkZDNhOTEiLDg2MTc4OiJlNmZiZWM5MGFmNWJhNjIxMDM2OCIsODYzNjA6ImE5NDkyZDM3NzRhYmE3NjAzNDc5Iiw4NjU0NDoiOGU0YzYyODA0YjZmYjA3ZGNhNTUiLDg2OTk3OiJkOWExYjJhY2EwMGE2MjA5ZmU2MSIsODcyNTY6IjNmNWUwNWRjNDRkMjcwNmE5MDI2Iiw4NzQ3NDoiYmUyOGY5ZTAwM2UwYzQ3M2I5MWQiLDg3NDk4OiJlNTk0MDAyYTJjN2ViMzAxYWZhNSIsODc2NzM6ImFmZDEwMWJkOTczZGU0MzVmZTRhIiw4NzcyMToiZDQ4YzAyNjczMzZkYzY2OTEwN2QiLDg3NzQwOiI1ZTFhNzY3OTBlZTQ5YTM3OTVmYSIsODc3Njc6ImVkZWNmNDM5NTA0OGI3NDExYTg1Iiw4ODM4NToiMDg1NTFmMjAwZmVhMGZkMDNjZDUiLDg4NjQxOiIwNDE0MzhkMTFjNDZmY2U5ZDA4OSIsODkwNDQ6IjEyMjg4NjU5MWRiM2ZhNmZkYzAzIiw4OTE5NToiZjFlYmMyNGEwZGQ2YzllMDQ1NTIiLDg5NDMwOiIzOGJmODZiODVjOTg4MzE4ZmM3MiIsODk1NTg6Ijk4MWEzNGIxOWI0MWZhZDkyYjg4Iiw5MDMzMDoiYWFmMTYyMWU5ZTY4YjMxZjNjNmUiLDkwMzc4OiI4YjNhYjJjYWM5ZDBmZjkyN2ViZCIsOTA3NDE6ImFmMmI0ODE3MGQ2NDU0NzQwOGZmIiw5MDk2MDoiZWM5NDFhY2NmYWEzZWQyY2Q2ZTIiLDkxMjAwOiI5YTUyZjlmOTE4ZmMxOTZiYTQ0YSIsOTE2NzA6ImU4ZDNlZThkYmQ0MzVlMDM2ZWRlIiw5MTY3ODoiZTMwZDRjZGNkYzY4ODM3ZmY0ZDEiLDkyMzkzOiJmYmI4YzI3MWJjNGEwYjc1MTI2OSIsOTMxODg6IjgzMTJiOWEzNzZiNTU4ZTAwMzI0Iiw5MzQxNjoiOTA4MThkNzNlMGUzYTlhOWZlMmEiLDk0MDU0OiJkNTBlOTNlZjQzYzE4NGE1MTNlZiIsOTUxNTg6IjUzYmU2ZWU2NjRlNTA1MTg0NWY4Iiw5NTgzMToiZjA5ODQ4NjI4NDVlNTliYWY5MDUiLDk1ODUzOiI5YjIyODIxZWUzYjBlMzg3OTBjMCIsOTYxODE6ImFiNDljNzE0YTVkMmQ1MDMyMGRjIiw5NjM1MjoiODU2NGI0YWRmMTRlNDdlMDUxYWYiLDk3MTQ5OiI2NWQyNWE1Y2M5YjJhZTUxNjk2OCIsOTc2NjA6ImFlOWYzZDRlNTY5NmY1ZDExOWE3Iiw5Nzg0NToiZjJkYjRkYzgyMDIzZWQ0MjIwZmMiLDk4NDMzOiI1MTM4ZmFmM2FhZjE0ZjJhNGE3OCIsOTg0NzU6IjMzNzhmN2ExMjMwNjliMmU3ZjBmIiw5ODUwOToiZjhkNmFjMzg1NTgxOTY4MDBkODEiLDk4Njk2OiJlMTBjZWVjZmQ0NDUzNWQ2ZWExYSIsOTk0NDg6IjNlY2Q1MWNjNDRjMTZlNWZlMDRmIiw5OTU5MzoiYjRmOGFlMTdjMGZiNjhmMmZiMDAiLDk5OTA4OiJmM2Y3MmYyZTk3M2ZiZDlkYTkxZSIsOTk5NDQ6ImVmZjMyODgyYzdhZGU4ZDkwZTVmIn1bZV0rIi5jc3MiLHQuZz1mdW5jdGlvbigpe2lmKCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcylyZXR1cm4gZ2xvYmFsVGhpczt0cnl7cmV0dXJuIHRoaXN8fG5ldyBGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpfWNhdGNoKGUpe2lmKCJvYmplY3QiPT10eXBlb2Ygd2luZG93KXJldHVybiB3aW5kb3d9fSgpLHQubz0oZSxhKT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsYSksZD17fSxmPSJ0cmFkaW5ndmlldzoiLHQubD0oZSxhLGMsYik9PntpZihkW2VdKWRbZV0ucHVzaChhKTtlbHNle3ZhciBfLG87aWYodm9pZCAwIT09Yylmb3IodmFyIHM9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpLGk9MDtpPHMubGVuZ3RoO2krKyl7dmFyIHI9c1tpXTtpZihyLmdldEF0dHJpYnV0ZSgic3JjIik9PWV8fHIuZ2V0QXR0cmlidXRlKCJkYXRhLXdlYnBhY2siKT09ZitjKXtfPXI7YnJlYWt9fV98fChvPSEwLChfPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpKS5jaGFyc2V0PSJ1dGYtOCIsdC5uYyYmXy5zZXRBdHRyaWJ1dGUoIm5vbmNlIix0Lm5jKSxfLnNldEF0dHJpYnV0ZSgiZGF0YS13ZWJwYWNrIixmK2MpLApfLnNyYz1lLDAhPT1fLnNyYy5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4rIi8iKSYmKF8uY3Jvc3NPcmlnaW49ImFub255bW91cyIpKSxkW2VdPVthXTt2YXIgbj0oYSxjKT0+e18ub25lcnJvcj1fLm9ubG9hZD1udWxsLGNsZWFyVGltZW91dChsKTt2YXIgZj1kW2VdO2lmKGRlbGV0ZSBkW2VdLF8ucGFyZW50Tm9kZSYmXy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKF8pLGYmJmYuZm9yRWFjaCgoZT0+ZShjKSkpLGEpcmV0dXJuIGEoYyl9LGw9c2V0VGltZW91dChuLmJpbmQobnVsbCx2b2lkIDAse3R5cGU6InRpbWVvdXQiLHRhcmdldDpffSksMTJlNCk7Xy5vbmVycm9yPW4uYmluZChudWxsLF8ub25lcnJvciksXy5vbmxvYWQ9bi5iaW5kKG51bGwsXy5vbmxvYWQpLG8mJmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoXyl9fSx0LnI9ZT0+eyJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LHQubm1kPWU9PihlLnBhdGhzPVtdLGUuY2hpbGRyZW58fChlLmNoaWxkcmVuPVtdKSxlKSx0Lmo9Nzk3OTUsKCgpPT57dmFyIGU7dC5nLmltcG9ydFNjcmlwdHMmJihlPXQuZy5sb2NhdGlvbisiIik7dmFyIGE9dC5nLmRvY3VtZW50O2lmKCFlJiZhJiYoYS5jdXJyZW50U2NyaXB0JiYiU0NSSVBUIj09PWEuY3VycmVudFNjcmlwdC50YWdOYW1lLnRvVXBwZXJDYXNlKCkmJihlPWEuY3VycmVudFNjcmlwdC5zcmMpLCFlKSl7dmFyIGM9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0Iik7aWYoYy5sZW5ndGgpZm9yKHZhciBkPWMubGVuZ3RoLTE7ZD4tMSYmKCFlfHwhL15odHRwKHM/KTovLnRlc3QoZSkpOyllPWNbZC0tXS5zcmN9aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJBdXRvbWF0aWMgcHVibGljUGF0aCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoaXMgYnJvd3NlciIpO2U9ZS5yZXBsYWNlKC9eYmxvYjovLCIiKS5yZXBsYWNlKC8jLiokLywiIikucmVwbGFjZSgvXD8uKiQvLCIiKS5yZXBsYWNlKC9cL1teXC9dKyQvLCIvIiksdC5wPWV9KSgpLHQuZy5sb2NhdGlvbiYmdC5wLnN0YXJ0c1dpdGgodC5nLmxvY2F0aW9uLm9yaWdpbikmJih0LnA9dC5wLnNsaWNlKHQuZy5sb2NhdGlvbi5vcmlnaW4ubGVuZ3RoKSksKCgpPT57Y29uc3QgZT10LnU7dC51PWE9PmUoYSkucmVwbGFjZSgiX19MQU5HX18iLHQuZy5sYW5ndWFnZSl9KSgpLCgoKT0+e3ZhciBlPXQuZSxhPU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gYyhhLGQpe3JldHVybiBlKGEpLmNhdGNoKChmdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZil7dmFyIGI9ZnVuY3Rpb24oKXtzZWxmLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9ubGluZSIsYiwhMSksITE9PT1uYXZpZ2F0b3Iub25MaW5lP3NlbGYuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIixiLCExKTpmKGQ8Mj9jKGEsZCsxKTplKGEpKX07c2V0VGltZW91dChiLGQqZCoxZTMpfSkpfSkpfXQuZT1mdW5jdGlvbihlKXtpZighYVtlXSl7YVtlXT1jKGUsMCk7dmFyIGQ9ZnVuY3Rpb24oKXtkZWxldGUgYVtlXX07YVtlXS50aGVuKGQsZCl9cmV0dXJuIGFbZV19fSkoKSwoKCk9PntpZigidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50KXt2YXIgZT1lPT5uZXcgUHJvbWlzZSgoKGEsYyk9Pnt2YXIgZD10Lm1pbmlDc3NGKGUpLGY9dC5wK2Q7aWYoKChlLGEpPT57Zm9yKHZhciBjPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIiksZD0wO2Q8Yy5sZW5ndGg7ZCsrKXt2YXIgZj0oXz1jW2RdKS5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpfHxfLmdldEF0dHJpYnV0ZSgiaHJlZiIpO2lmKCJzdHlsZXNoZWV0Ij09PV8ucmVsJiYoZj09PWV8fGY9PT1hKSlyZXR1cm4gX312YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3R5bGUiKTtmb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKXt2YXIgXztpZigoZj0oXz1iW2RdKS5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpKT09PWV8fGY9PT1hKXJldHVybiBffX0pKGQsZikpcmV0dXJuIGEoKTsoKGUsYSxjLGQsZik9Pnt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7Yi5yZWw9InN0eWxlc2hlZXQiLGIudHlwZT0idGV4dC9jc3MiLGIub25lcnJvcj1iLm9ubG9hZD1jPT57aWYoYi5vbmVycm9yPWIub25sb2FkPW51bGwsImxvYWQiPT09Yy50eXBlKWQoKTtlbHNle3ZhciBfPWMmJigibG9hZCI9PT1jLnR5cGU/Im1pc3NpbmciOmMudHlwZSksbz1jJiZjLnRhcmdldCYmYy50YXJnZXQuaHJlZnx8YSx0PW5ldyBFcnJvcigiTG9hZGluZyBDU1MgY2h1bmsgIitlKyIgZmFpbGVkLlxuKCIrbysiKSIpO3QuY29kZT0iQ1NTX0NIVU5LX0xPQURfRkFJTEVEIix0LnR5cGU9Xyx0LnJlcXVlc3Q9byxiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKSxmKHQpfX0sYi5ocmVmPWEsMCE9PWIuaHJlZi5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4rIi8iKSYmKGIuY3Jvc3NPcmlnaW49ImFub255bW91cyIpLGM/Yy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShiLGMubmV4dFNpYmxpbmcpOmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYil9KShlLGYsbnVsbCxhLGMpfSkpLGE9ezc5Nzk1OjB9O3QuZi5taW5pQ3NzPShjLGQpPT57YVtjXT9kLnB1c2goYVtjXSk6MCE9PWFbY10mJnsyMDI6MSw2NDU6MSw2NDY6MSw2NTc6MSwxNTA5OjEsMTY3NjoxLDE2Nzg6MSwyMDEzOjEsMjMzMToxLDIzNzI6MSwyNTExOjEsMzMxMDoxLDMzMjM6MSwzNzE5OjEsMzkxNjoxLDQwNDI6MSw0MTI3OjEsNDQ3NzoxLDQ2NjA6MSw0OTI5OjEsNDk2OToxLDUxODQ6MSw1MTg2OjEsNTMyMjoxLDU1Mzk6MSw1NjAzOjEsNTY4OToxLDU3NTY6MSw2MDcwOjEsNjA4MjoxLDY1ODM6MSw2NjA1OjEsNjY0NzoxLDcxMTE6MSw3MTYzOjEsNzM4NzoxLDc0NDU6MSw3NDU2OjEsNzY2NToxLDc4NjM6MSw3ODk5OjEsNzkyNzoxLDgyMTY6MSw4NTc5OjEsOWUzOjEsOTE0MDoxLDk0ODg6MSwKOTUwNDoxLDk3NDQ6MSwxMDM2NjoxLDEwMzg1OjEsMTEwMDg6MSwxMTIxODoxLDExMjU3OjEsMTE0NjE6MSwxMTQ4OToxLDExNTM3OjEsMTE3MjU6MSwxMjA1MToxLDEyMzg1OjEsMTI0MTI6MSwxMjUyNzoxLDEyNTY1OjEsMTI2NjY6MSwxMzAzOToxLDEzNDkyOjEsMTM2Nzc6MSwxNDE5MzoxLDE0NjI1OjEsMTQ2NDA6MSwxNDY1NzoxLDE0Njk3OjEsMTUzODM6MSwxNTUyNjoxLDE1NjM0OjEsMTYzOTk6MSwxNjQyMToxLDE3MDg3OjEsMTc2OTM6MSwxNzc1MToxLDE3ODYxOjEsMTc4NjU6MSwxODE2MjoxLDE4NDAwOjEsMTg0NDI6MSwxODQ3MjoxLDE4Njc0OjEsMTk0NDc6MSwxOTUxMzoxLDE5NTk1OjEsMTk1OTg6MSwxOTYzMToxLDE5Nzg3OjEsMTk4MzM6MSwyMDA4NToxLDIwMTUzOjEsMjAyNzE6MSwyMDM1NDoxLDIwMzcwOjEsMjA1NjQ6MSwyMDU5MDoxLDIwOTcxOjEsMjA5ODY6MSwyMTI0NToxLDIxNTgxOjEsMjIwNzA6MSwyMjE0NDoxLDIyNDA1OjEsMjI0NjQ6MSwyMzI1NDoxLDIzMzY5OjEsMjM2MjQ6MSwyMzY2OToxLDI0MzE2OjEsMjQ0MDg6MSwyNDU4MToxLDI0NjAzOjEsMjUxNDI6MSwyNTQ4NToxLDI1NTU0OjEsMjU1NjI6MSwyNTY0NzoxLDI1Njk4OjEsMjU4MDk6MSwyNTg5NToxLDI2MTAwOjEsMjY1OTI6MSwyNjk4OToxLDI3MDg1OjEsMjcyMTc6MSwyNzMzNzoxLDI3NDQ2OjEsMjc1MTM6MSwyNzUxNzoxLDI3NTQ5OjEsMjc2NjU6MSwyNzY5NjoxLDI3NzM2OjEsMjgwMTc6MSwyODkzNjoxLDI4OTk1OjEsMjkxMzM6MSwyOTI5NjoxLDI5MzE1OjEsMjkzMjc6MSwyOTM0ODoxLDI5NDg5OjEsMjk1MzY6MSwyOTcxNDoxLDI5OTQzOjEsMjk5OTM6MSwzMDAyOToxLDMwMzczOjEsMzA3NDU6MSwzMDc4OToxLDMwOTIyOjEsMzA5NjA6MSwzMTAwMToxLDMxMjYyOjEsMzE1NTc6MSwzMjE3NjoxLDMyNDI3OjEsMzI3NDg6MSwzMjgxNjoxLDMyODU3OjEsMzMxMjA6MSwzMzIyMToxLDMzMzY4OjEsMzM1MTU6MSwzMzU1MzoxLDM0NzU4OjEsMzUwNzM6MSwzNTE5ODoxLDM1MzQyOjEsMzUzOTk6MSwzNTYzMDoxLDM1Nzk0OjEsMzYxNzM6MSwzNjIyMjoxLDM2MzU2OjEsMzY1MjE6MSwzNjU0NToxLDM2OTg2OjEsMzc1MTM6MSwzNzU2NzoxLDM3NzQ2OjEsMzc3Njc6MSwzNzg2NzoxLDM4MDAyOjEsMzgyNjI6MSwzODQ3OToxLDM4NzgyOjEsMzg4Njg6MSwzOTc4NjoxLDQwMTY4OjEsNDAyMjA6MSw0MDgzNToxLDQwODY3OjEsNDA5MDI6MSw0MDkxNDoxLDQxNTA2OjEsNDE1ODg6MSw0MTYwODoxLDQxODExOjEsNDE5ODA6MSw0MjAzMzoxLDQyMzAxOjEsNDI3MjE6MSw0MzMyNToxLDQzNDMzOjEsNDM0NDE6MSw0MzQ4NjoxLDQzNjQ0OjEsNDM3OTI6MSw0MzgwODoxLDQzODQxOjEsNDM5MTk6MSw0MzkzOToxLDQ0MDMxOjEsNDQ0NjA6MSw0NDk0NjoxLDQ1MjQyOjEsNDUzMzE6MSw0NTM2ODoxLDQ1NDE4OjEsNDU3ODM6MSw0NTk0NToxLDQ2MDM0OjEsNDYwNTU6MSw0NjI0NToxLDQ2NTkxOjEsNDY3NTY6MSw0NjkwNzoxLDQ3MDIxOjEsNDcwOTI6MSw0NzIwMToxLDQ3MzE2OjEsNDc0NTc6MSw0NzU1MToxLDQ3NTc5OjEsNDc2MzI6MSw0ODMxMjoxLDQ4NjgyOjEsNDg4NjQ6MSw0OTE0OToxLDQ5Mjk3OjEsNDk0OTA6MSw0OTUzNjoxLDQ5NTg4OjEsNDk5OTc6MSw1MDAzNToxLDUwMjIxOjEsNTAzMTY6MSw1MDMyNToxLDUwNTg4OjEsNTA2MjI6MSw1MDc0MzoxLDUwODAwOjEsNTEwMTc6MSw1MTAzMDoxLDUxMTg0OjEsNTEyMTM6MSw1MTI1NjoxLDUxMzA5OjEsNTE2ODI6MSw1MTg1MDoxLDUxODgwOjEsNTIwNjU6MSw1MjA5NToxLDUyMTc4OjEsNTIzOTY6MSw1MjY4MDoxLDUyOTIwOjEsNTI5NjE6MSw1MzIyODoxLDUzMzI5OjEsNTM1MjE6MSw1MzcxMzoxLDUzOTIzOjEsNTQwOTM6MSw1NDMxMDoxLDU0MzM5OjEsNTUwMTE6MSw1NTI5MDoxLDU1MzM2OjEsNTYxMjE6MSw1NjIxMzoxLDU2MjUyOjEsNTcyNTQ6MSw1NzMwMDoxLDU3NTA0OjEsNTc2MjY6MSw1ODA0MzoxLDU4MDUxOjEsNTgzODQ6MSw1ODkzMzoxLDU5MzUwOjEsNTk0Mzc6MSw1OTgzMDoxLDYwMDYyOjEsNjAwOTA6MSw2MDc2OToxLDYxMTkyOjEsNjE0MTM6MSw2MTgyMToxLDYyNjAwOjEsNjI2MzA6MSw2Mjc5MDoxLDYyODA2OjEsNjI4OTI6MSw2MzAzMzoxLDYzMTAwOjEsNjM3MjM6MSw2NDExMzoxLDY0MTk1OjEsNjQ1MDM6MSw2NDY0MzoxLDY0Njc0OjEsNjU1Mjg6MSw2NTYxMzoxLDY1NjQzOjEsNjU2NzU6MSw2NTY5MjoxLDY1ODU2OjEsNjYyMjk6MSw2NjI3MDoxLDY2NDczOjEsNjY1MjI6MSw2NzIxMjoxLDY3MjQ0OjEsNjc1NDM6MSw2NzY4NToxLDY3Nzg0OjEsNjc3OTk6MSw2NzkyNDoxLDY3OTI1OjEsNjg1Nzk6MSw2ODY4NjoxLDY4OTQyOjEsNjg5NjQ6MSw2OTE4NToxLDY5MjA5OjEsNjk3NDc6MSw2OTc2NjoxLDY5ODAzOjEsNjk4MDk6MSw2OTg2MToxLDcwMjU1OjEsNzAyODA6MSw3MDM2NDoxLDcwNjU2OjEsNzA3NTY6MSw3MDgxNToxLDcxMTkwOjEsNzEzNTA6MSw3MTQxNDoxLDcxNDM3OjEsNzE0ODI6MSw3MTUyODoxLDcxOTAxOjEsNzE5OTE6MSw3MjI0OToxLDcyNTEyOjEsNzI2NjY6MSw3MjY4MDoxLDcyOTAyOjEsNzM0MjU6MSw3MzU1MToxLDczOTYwOjEsNzQyMzM6MSw3NDI3MzoxLDc0MzgxOjEsNzQ0MjI6MSw3NDQ2MToxLDc0NDcxOjEsNzQ2MzY6MSw3NDgzMDoxLDc1MTcyOjEsNzUyMTc6MSw3NTMwNDoxLDc1NjAzOjEsNzYyNzg6MSw3NjMyOToxLDc2NjY0OjEsNzY5MTI6MSw3NzI2NDoxLDc4MTgyOjEsNzgyMzc6MSw3ODM0MToxLDc4NDA0OjEsNzg0MzQ6MSw3ODQ3MToxLDc4NjUyOjEsNzg4OTk6MSw3OTE5MToxLDc5MjQ0OjEsNzkzOTg6MSw3OTQzOToxLDc5NzkxOjEsNzk4OTI6MSw4MDA0MToxLDgwNjM5OjEsODA3MzE6MSw4MDc2MToxLDgwNzgyOjEsODEwMDE6MSw4MTA3MjoxLDgxMTA3OjEsODEyMTA6MSw4MTI0NzoxLDgxNTI5OjEsODE4MTg6MSw4MTkwMzoxLDgyMjcwOjEsODIyNzE6MSw4MjU4NjoxLDgzMDQxOjEsODMyNjE6MSw4MzQ4ODoxLDgzNTI5OjEsODM2NzU6MSw4NDIyNDoxLDg0MzA2OjEsODQzMzU6MSw4NDk0ODoxLDg1NTExOjEsODYwODc6MSw4NjE3ODoxLDg2MzYwOjEsODY0MjM6MSw4NjU0NDoxLAo4Njk5NzoxLDg3MjU2OjEsODc0NzQ6MSw4NzQ5ODoxLDg3NjczOjEsODc3MjE6MSw4Nzc0MDoxLDg3NzY3OjEsODgzODU6MSw4ODY0MToxLDg5MDQ0OjEsODkxOTU6MSw4OTIwNDoxLDg5NDMwOjEsODk1NTg6MSw5MDMzMDoxLDkwMzc4OjEsOTA3NDE6MSw5MDk2MDoxLDkxMjAwOjEsOTE2NzA6MSw5MTY3ODoxLDkxODU1OjEsOTIzOTM6MSw5MzE4ODoxLDkzNDE2OjEsOTM0MjE6MSw5NDA1NDoxLDk0MjMyOjEsOTQ5NDg6MSw5NTE1ODoxLDk1ODMxOjEsOTU4NTM6MSw5NjE4MToxLDk2MzUyOjEsOTY1ODc6MSw5NzE0OToxLDk3NjYwOjEsOTc4NDU6MSw5ODA4NDoxLDk4NDMzOjEsOTg0NzU6MSw5ODUwOToxLDk4Njk2OjEsOTk0NDg6MSw5OTU5MzoxLDk5OTA4OjEsOTk5NDQ6MX1bY10mJmQucHVzaChhW2NdPWUoYykudGhlbigoKCk9PnthW2NdPTB9KSwoZT0+e3Rocm93IGRlbGV0ZSBhW2NdLGV9KSkpfX19KSgpLHQuaTE4bmV4dD0oZSxhPXt9LGMsZD10LmcubGFuZ3VhZ2UpPT57aWYobnVsbD09PWUpe2lmKEFycmF5LmlzQXJyYXkoYykpcmV0dXJuIGNbdm9pZCAwPT09YS5jb3VudD8wOnQuX3BsdXJhbFtkXShhLmNvdW50KV0ucmVwbGFjZSgveyhcdyspfS9nLCgoZSxjKT0+dm9pZCAwIT09KGEucmVwbGFjZXx8YSlbY10/KGEucmVwbGFjZXx8YSlbY106ZSkpO2lmKCJvYmplY3QiPT10eXBlb2YgYylyZXR1cm4gY1t0LmcubGFuZ3VhZ2VdP3QuaTE4bmV4dChudWxsLGEsY1t0LmcubGFuZ3VhZ2VdKTp0LmkxOG5leHQobnVsbCxhLGMuZW4sImVuIil9ZWxzZSBpZihjJiZlKXtjb25zdCBkPWAke2V9JHthLmNvbnRleHQ/YF8ke2EuY29udGV4dH1gOiIifWA7aWYoY1tkXSlyZXR1cm4gdC5pMThuZXh0KG51bGwsYSxjW2RdKX1yZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/ZS50b1N0cmluZygpOiJzdHJpbmciIT10eXBlb2YgZT8iIjplfSwoKCk9Pnt0LmI9InVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCYmZG9jdW1lbnQuYmFzZVVSSXx8c2VsZi5sb2NhdGlvbi5ocmVmO3ZhciBlPXs3OTc5NTowLDM5MDU6MCw1NDY4MTowLDMxODM3OjAsNTE1MDg6MCw0OTUxODowLDMyNjMyOjAsODQwODowLDk5NTI3OjAsMTE0MDk6MCwzMDIwMDowLDUyODQyOjAsODg5MDY6MCwxMzgwOTowLDg1NTEwOjAsMzM3MzU6MH07dC5mLmo9KGEsYyk9Pnt2YXIgZD10Lm8oZSxhKT9lW2FdOnZvaWQgMAo7aWYoMCE9PWQpaWYoZCljLnB1c2goZFsyXSk7ZWxzZSBpZigvXigxKDAzKDY2fDg1KXwxKDQoMDl8NjF8ODkpfDAwOHwyMTh8MjU3fDUzN3w3MjUpfDIoMDUxfDM4NXw0MTJ8NTI3fDU2NXw2NjYpfDMoMDM5fDQ5Mnw2Nzd8ODA5KXw0KDYoMjV8NDB8NTd8OTcpfDE5Myl8NSgwOXwzODN8NTI2fDYzNCl8NigzOTl8NDIxfDc2fDc4KXw3KDg2WzE1XXwwODd8NjkzfDc1MSl8OCg0KDAwfDQyfDcyKXwxNjJ8Njc0KXw5KDUoMTN8OTV8OTgpfDQ0N3w2MzF8Nzg3fDgzMykpfDIoMChbMjldNzF8MDg1fDEzfDE1M3wyfDM1NHwzNzB8NTY0fDU5MHw5ODYpfDIoMDcwfDE0NHw0MDV8NDY0KXwzKFszNl02OXwyNTR8MzF8NjI0fDcyKXw0KDMxNnw0MDh8NTgxfDYwMyl8NSgxMXwxNDJ8NDg1fDU1NHw1NjJ8NjQ3fDY5OHw4MDl8ODk1KXw2KDEwMHw1OTJ8OTg5KXw3KDUoMTN8MTd8NDkpfCg0NHw2OXw3Myk2fDA4NXwyMTd8MzM3fDY2NSl8OCgwMTd8OTM2fDk5NSl8OSgzKDE1fDI3fDQ4KXwoMTN8OTR8OTkpM3wyOTZ8NDg5fDUzNnw3MTQpfDEyNDV8MTU4MSl8MygwKDAyOXwyMDB8MzczfDc0NXw3ODl8OTIyfDk2MCl8MSgwMDF8MjYyfDU1N3w4MzcpfDIoMTc2fDQyN3w2MzJ8NzQ4fDgxNnw4NTcpfDMoMTB8MTIwfDIyMXwyM3wzNjh8NTE1fDU1M3w3MzUpfDUoMDczfDE5OHwzNDJ8Mzk5fDYzMHw3OTQpfDYoMTczfDIyMnwzNTZ8NTIxfDU0NXw5ODYpfDcoWzU3OF02N3wxOXw1MTN8NzQ2KXw4KCgwMHwyNnw3OCkyfDQ3OXw4NjgpfDkoMDV8MTZ8Nzg2KXw0NzU4KXw0KDAoMTY4fDIyMHw0Mnw4MzV8ODY3fDkwMnw5MTQpfDEoMjd8NTA2fDU4OHw2MDh8ODExfDk4MCl8MigwMzN8MzAxfDcyMSl8Myg0KDMzfDQxfDg2KXwzMjV8NjQ0fDc5Mnw4MDh8ODQxfDkxOXw5MzkpfDQoMDMxfDQ2MHw3N3w5NDYpfDUoMjQyfDMzMXwzNjh8NDE4fDc4M3w5NDUpfDYoMDM0fDA1NXwyNDV8NTkxfDYwfDc1Nnw5MDcpfDcoKDAyfDIwfDU1KTF8MDkyfDMxNnw0NTd8NTc5fDYzMil8OCgzMTJ8NjgyfDg2NCl8OSgyOSh8Nyl8NSgxOHwzNnw4OCl8MTQ5fDQ5MHw2OXw5OTcpKXw1KDAoMDM1fDIyMXwzMTZ8MzI1fDU4OHw2MjJ8NzQzfDgwMCl8MSg4KDR8NTB8Nnw4MCl8MDE3fDAzMHwxODR8MjEzfDI1NnwzMDl8NTA4fDY4Mil8MigwNjV8MDk1fDE3OHwzOTZ8NjgwfDg0Mnw5MjB8OTYxKXwzKDIyKHw4KXwzMjl8NTIxfDcxM3w5MjMpfDQoMDkzfDMxMHwzMzl8NjgxKXw1KDAxMXwyOTB8MzM2fDM5KXw2KDAzfDEyMXwyMTN8MjUyfDg5KXw3KDI1NHwzMDB8NTA0fDU2fDYyNil8OCgwNDN8MDUxfDM4NHw5MzMpfDkoMzUwfDQzN3w4MzApKXw2KDAoMDYyfDA5MHw3MHw3Njl8ODIpfDEoMTkyfDQxM3w4MjEpfDIoKDYwfDYzfDc5KTB8ODA2fDg5Mil8MygwMzN8MTAwfDcyMyl8NCg2KHw0M3w3NCl8MTEzfDE5NXw1fDUwMyl8NSg2KDEzfDQzfDc1fDkyKXw1Mjh8N3w4M3w4NTYpfDYoNDcofDMpfDA1fDIyOXwyNzB8NTIyKXw3KDkyWzQ1XXwyMTJ8MjQ0fDU0M3w2ODV8Nzg0fDc5OSl8OCg1Nzl8Njg2fDk0Mnw5NjQpfDkoOCgwM3wwOXw2MSl8MTg1fDIwOXw3NDd8NzY2KSl8NygwKFs2N101NnwyNTV8MjgwfDM2NHw4MTUpfDEoNCgxNHwzN3w4Mil8KDF8OTB8OTkpMXwxOTB8MzUwfDUyOHw2Myl8MigyNDl8NTEyfDY2Nnw2ODB8OTAyKXwzKDQyNXw1NTF8ODd8OTYwKXw0KDQoMjJ8NXw2MXw3MSl8MjMzfDI3M3wzODF8NTZ8NjM2fDgzMCl8NSgxNzJ8MjE3fDMwNHw2MDMpfDYoMjc4fDMyOXw2NXw2NjR8OTEyKXw4KDQoMDR8MzR8NzEpfCh8OCk5OXwxODJ8MjM3fDM0MXw2M3w2NTIpfDkoNzlbMTVdfDE5MXwyNDR8Mjd8Mzk4fDQzOXw4OTIpfDcyNjQpfDgoMCg3KDMxfDYxfDgyKXwwNDF8NjM5KXwxKDAwMXwwNzJ8MTA3fDIxMHwyNDd8NTI5fDgxOHw5MDMpfDIoMjdbMDFdfDE2fDU4Nil8MygwNDF8MjYxfDQ4OHw1Mjl8Njc1KXw0KDA4fDIyNHwzMDZ8MzM1fDk0OCl8NSg1MVswMV18NzkpfDYoMDg3fDE3OHwzNjB8NDIzfDU0NHw5OTcpfDcoNygyMXw0MHw2Nyl8MjU2fDQ3NHw0OTh8NjczKXw4KDM4NXw2NDF8OTA2KXw5KDA0NHwxOTV8MjA0fDQzMHw1NTgpKXw5KDAoKDB8MzN8OTYpMHwzNzh8NzQxKXwxKDY3WzA4XXwyMDB8NDB8ODU1KXwzKDE4OHw0MTZ8NDIxKXw0KDA1NHwyMzJ8ODh8OTQ4KXw1KDA0fDE1OHw4MzF8ODUzKXw2KDE4MXwzNTJ8NTg3KXw3KDE0OXw0NHw2NjB8ODQ1KXw4KDA4NHw0MzN8NDc1fDUwOXw2OTYpfDkoNDQ4fDUyN3w1OTN8OTA4fDk0NCl8MjM5MykpJC8udGVzdChhKSllW2FdPTA7ZWxzZXt2YXIgZj1uZXcgUHJvbWlzZSgoKGMsZik9PmQ9ZVthXT1bYyxmXSkpO2MucHVzaChkWzJdPWYpO3ZhciBiPXQucCt0LnUoYSksXz1uZXcgRXJyb3I7dC5sKGIsKGM9PntpZih0Lm8oZSxhKSYmKDAhPT0oZD1lW2FdKSYmKGVbYV09dm9pZCAwKSxkKSl7dmFyIGY9YyYmKCJsb2FkIj09PWMudHlwZT8ibWlzc2luZyI6Yy50eXBlKSxiPWMmJmMudGFyZ2V0JiZjLnRhcmdldC5zcmM7Xy5tZXNzYWdlPSJMb2FkaW5nIGNodW5rICIrYSsiIGZhaWxlZC5cbigiK2YrIjogIitiKyIpIixfLm5hbWU9IkNodW5rTG9hZEVycm9yIixfLnR5cGU9ZixfLnJlcXVlc3Q9YixkWzFdKF8pfX0pLCJjaHVuay0iK2EsYSl9fSx0LkYuaj1hPT57CmlmKCEodC5vKGUsYSkmJnZvaWQgMCE9PWVbYV18fC9eKDEoMDMoNjZ8ODUpfDEoNCgwOXw2MXw4OSl8MDA4fDIxOHwyNTd8NTM3fDcyNSl8MigwNTF8Mzg1fDQxMnw1Mjd8NTY1fDY2Nil8MygwMzl8NDkyfDY3N3w4MDkpfDQoNigyNXw0MHw1N3w5Nyl8MTkzKXw1KDA5fDM4M3w1MjZ8NjM0KXw2KDM5OXw0MjF8NzZ8NzgpfDcoODZbMTVdfDA4N3w2OTN8NzUxKXw4KDQoMDB8NDJ8NzIpfDE2Mnw2NzQpfDkoNSgxM3w5NXw5OCl8NDQ3fDYzMXw3ODd8ODMzKSl8MigwKFsyOV03MXwwODV8MTN8MTUzfDJ8MzU0fDM3MHw1NjR8NTkwfDk4Nil8MigwNzB8MTQ0fDQwNXw0NjQpfDMoWzM2XTY5fDI1NHwzMXw2MjR8NzIpfDQoMzE2fDQwOHw1ODF8NjAzKXw1KDExfDE0Mnw0ODV8NTU0fDU2Mnw2NDd8Njk4fDgwOXw4OTUpfDYoMTAwfDU5Mnw5ODkpfDcoNSgxM3wxN3w0OSl8KDQ0fDY5fDczKTZ8MDg1fDIxN3wzMzd8NjY1KXw4KDAxN3w5MzZ8OTk1KXw5KDMoMTV8Mjd8NDgpfCgxM3w5NHw5OSkzfDI5Nnw0ODl8NTM2fDcxNCl8MTI0NXwxNTgxKXwzKDAoMDI5fDIwMHwzNzN8NzQ1fDc4OXw5MjJ8OTYwKXwxKDAwMXwyNjJ8NTU3fDgzNyl8MigxNzZ8NDI3fDYzMnw3NDh8ODE2fDg1Nyl8MygxMHwxMjB8MjIxfDIzfDM2OHw1MTV8NTUzfDczNSl8NSgwNzN8MTk4fDM0MnwzOTl8NjMwfDc5NCl8NigxNzN8MjIyfDM1Nnw1MjF8NTQ1fDk4Nil8NyhbNTc4XTY3fDE5fDUxM3w3NDYpfDgoKDAwfDI2fDc4KTJ8NDc5fDg2OCl8OSgwNXwxNnw3ODYpfDQ3NTgpfDQoMCgxNjh8MjIwfDQyfDgzNXw4Njd8OTAyfDkxNCl8MSgyN3w1MDZ8NTg4fDYwOHw4MTF8OTgwKXwyKDAzM3wzMDF8NzIxKXwzKDQoMzN8NDF8ODYpfDMyNXw2NDR8NzkyfDgwOHw4NDF8OTE5fDkzOSl8NCgwMzF8NDYwfDc3fDk0Nil8NSgyNDJ8MzMxfDM2OHw0MTh8NzgzfDk0NSl8NigwMzR8MDU1fDI0NXw1OTF8NjB8NzU2fDkwNyl8NygoMDJ8MjB8NTUpMXwwOTJ8MzE2fDQ1N3w1Nzl8NjMyKXw4KDMxMnw2ODJ8ODY0KXw5KDI5KHw3KXw1KDE4fDM2fDg4KXwxNDl8NDkwfDY5fDk5NykpfDUoMCgwMzV8MjIxfDMxNnwzMjV8NTg4fDYyMnw3NDN8ODAwKXwxKDgoNHw1MHw2fDgwKXwwMTd8MDMwfDE4NHwyMTN8MjU2fDMwOXw1MDh8NjgyKXwyKDA2NXwwOTV8MTc4fDM5Nnw2ODB8ODQyfDkyMHw5NjEpfDMoMjIofDgpfDMyOXw1MjF8NzEzfDkyMyl8NCgwOTN8MzEwfDMzOXw2ODEpfDUoMDExfDI5MHwzMzZ8MzkpfDYoMDN8MTIxfDIxM3wyNTJ8ODkpfDcoMjU0fDMwMHw1MDR8NTZ8NjI2KXw4KDA0M3wwNTF8Mzg0fDkzMyl8OSgzNTB8NDM3fDgzMCkpfDYoMCgwNjJ8MDkwfDcwfDc2OXw4Mil8MSgxOTJ8NDEzfDgyMSl8MigoNjB8NjN8NzkpMHw4MDZ8ODkyKXwzKDAzM3wxMDB8NzIzKXw0KDYofDQzfDc0KXwxMTN8MTk1fDV8NTAzKXw1KDYoMTN8NDN8NzV8OTIpfDUyOHw3fDgzfDg1Nil8Nig0Nyh8Myl8MDV8MjI5fDI3MHw1MjIpfDcoOTJbNDVdfDIxMnwyNDR8NTQzfDY4NXw3ODR8Nzk5KXw4KDU3OXw2ODZ8OTQyfDk2NCl8OSg4KDAzfDA5fDYxKXwxODV8MjA5fDc0N3w3NjYpKXw3KDAoWzY3XTU2fDI1NXwyODB8MzY0fDgxNSl8MSg0KDE0fDM3fDgyKXwoMXw5MHw5OSkxfDE5MHwzNTB8NTI4fDYzKXwyKDI0OXw1MTJ8NjY2fDY4MHw5MDIpfDMoNDI1fDU1MXw4N3w5NjApfDQoNCgyMnw1fDYxfDcxKXwyMzN8MjczfDM4MXw1Nnw2MzZ8ODMwKXw1KDE3MnwyMTd8MzA0fDYwMyl8NigyNzh8MzI5fDY1fDY2NHw5MTIpfDgoNCgwNHwzNHw3MSl8KHw4KTk5fDE4MnwyMzd8MzQxfDYzfDY1Mil8OSg3OVsxNV18MTkxfDI0NHwyN3wzOTh8NDM5fDg5Mil8NzI2NCl8OCgwKDcoMzF8NjF8ODIpfDA0MXw2MzkpfDEoMDAxfDA3MnwxMDd8MjEwfDI0N3w1Mjl8ODE4fDkwMyl8MigyN1swMV18MTZ8NTg2KXwzKDA0MXwyNjF8NDg4fDUyOXw2NzUpfDQoMDh8MjI0fDMwNnwzMzV8OTQ4KXw1KDUxWzAxXXw3OSl8NigwODd8MTc4fDM2MHw0MjN8NTQ0fDk5Nyl8Nyg3KDIxfDQwfDY3KXwyNTZ8NDc0fDQ5OHw2NzMpfDgoMzg1fDY0MXw5MDYpfDkoMDQ0fDE5NXwyMDR8NDMwfDU1OCkpfDkoMCgoMHwzM3w5NikwfDM3OHw3NDEpfDEoNjdbMDhdfDIwMHw0MHw4NTUpfDMoMTg4fDQxNnw0MjEpfDQoMDU0fDIzMnw4OHw5NDgpfDUoMDR8MTU4fDgzMXw4NTMpfDYoMTgxfDM1Mnw1ODcpfDcoMTQ5fDQ0fDY2MHw4NDUpfDgoMDg0fDQzM3w0NzV8NTA5fDY5Nil8OSg0NDh8NTI3fDU5M3w5MDh8OTQ0KXwyMzkzKSkkLy50ZXN0KGEpKSl7ZVthXT1udWxsO3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtjLmNoYXJzZXQ9InV0Zi04IixjLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiLHQubmMmJmMuc2V0QXR0cmlidXRlKCJub25jZSIsdC5uYyksYy5yZWw9InByZWZldGNoIixjLmFzPSJzY3JpcHQiLGMuaHJlZj10LnArdC51KGEpLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYyl9fSx0Lkguaj1hPT57CmlmKCEodC5vKGUsYSkmJnZvaWQgMCE9PWVbYV18fC9eKDEoMDMoNjZ8ODUpfDEoNCgwOXw2MXw4OSl8MDA4fDIxOHwyNTd8NTM3fDcyNSl8MigwNTF8Mzg1fDQxMnw1Mjd8NTY1fDY2Nil8MygwMzl8NDkyfDY3N3w4MDkpfDQoNigyNXw0MHw1N3w5Nyl8MTkzKXw1KDA5fDM4M3w1MjZ8NjM0KXw2KDM5OXw0MjF8NzZ8NzgpfDcoODZbMTVdfDA4N3w2OTN8NzUxKXw4KDQoMDB8NDJ8NzIpfDE2Mnw2NzQpfDkoNSgxM3w5NXw5OCl8NDQ3fDYzMXw3ODd8ODMzKSl8MigwKFsyOV03MXwwODV8MTN8MTUzfDJ8MzU0fDM3MHw1NjR8NTkwfDk4Nil8MigwNzB8MTQ0fDQwNXw0NjQpfDMoWzM2XTY5fDI1NHwzMXw2MjR8NzIpfDQoMzE2fDQwOHw1ODF8NjAzKXw1KDExfDE0Mnw0ODV8NTU0fDU2Mnw2NDd8Njk4fDgwOXw4OTUpfDYoMTAwfDU5Mnw5ODkpfDcoNSgxM3wxN3w0OSl8KDQ0fDY5fDczKTZ8MDg1fDIxN3wzMzd8NjY1KXw4KDAxN3w5MzZ8OTk1KXw5KDMoMTV8Mjd8NDgpfCgxM3w5NHw5OSkzfDI5Nnw0ODl8NTM2fDcxNCl8MTI0NXwxNTgxKXwzKDAoMDI5fDIwMHwzNzN8NzQ1fDc4OXw5MjJ8OTYwKXwxKDAwMXwyNjJ8NTU3fDgzNyl8MigxNzZ8NDI3fDYzMnw3NDh8ODE2fDg1Nyl8MygxMHwxMjB8MjIxfDIzfDM2OHw1MTV8NTUzfDczNSl8NSgwNzN8MTk4fDM0MnwzOTl8NjMwfDc5NCl8NigxNzN8MjIyfDM1Nnw1MjF8NTQ1fDk4Nil8NyhbNTc4XTY3fDE5fDUxM3w3NDYpfDgoKDAwfDI2fDc4KTJ8NDc5fDg2OCl8OSgwNXwxNnw3ODYpfDQ3NTgpfDQoMCgxNjh8MjIwfDQyfDgzNXw4Njd8OTAyfDkxNCl8MSgyN3w1MDZ8NTg4fDYwOHw4MTF8OTgwKXwyKDAzM3wzMDF8NzIxKXwzKDQoMzN8NDF8ODYpfDMyNXw2NDR8NzkyfDgwOHw4NDF8OTE5fDkzOSl8NCgwMzF8NDYwfDc3fDk0Nil8NSgyNDJ8MzMxfDM2OHw0MTh8NzgzfDk0NSl8NigwMzR8MDU1fDI0NXw1OTF8NjB8NzU2fDkwNyl8NygoMDJ8MjB8NTUpMXwwOTJ8MzE2fDQ1N3w1Nzl8NjMyKXw4KDMxMnw2ODJ8ODY0KXw5KDI5KHw3KXw1KDE4fDM2fDg4KXwxNDl8NDkwfDY5fDk5NykpfDUoMCgwMzV8MjIxfDMxNnwzMjV8NTg4fDYyMnw3NDN8ODAwKXwxKDgoNHw1MHw2fDgwKXwwMTd8MDMwfDE4NHwyMTN8MjU2fDMwOXw1MDh8NjgyKXwyKDA2NXwwOTV8MTc4fDM5Nnw2ODB8ODQyfDkyMHw5NjEpfDMoMjIofDgpfDMyOXw1MjF8NzEzfDkyMyl8NCgwOTN8MzEwfDMzOXw2ODEpfDUoMDExfDI5MHwzMzZ8MzkpfDYoMDN8MTIxfDIxM3wyNTJ8ODkpfDcoMjU0fDMwMHw1MDR8NTZ8NjI2KXw4KDA0M3wwNTF8Mzg0fDkzMyl8OSgzNTB8NDM3fDgzMCkpfDYoMCgwNjJ8MDkwfDcwfDc2OXw4Mil8MSgxOTJ8NDEzfDgyMSl8MigoNjB8NjN8NzkpMHw4MDZ8ODkyKXwzKDAzM3wxMDB8NzIzKXw0KDYofDQzfDc0KXwxMTN8MTk1fDV8NTAzKXw1KDYoMTN8NDN8NzV8OTIpfDUyOHw3fDgzfDg1Nil8Nig0Nyh8Myl8MDV8MjI5fDI3MHw1MjIpfDcoOTJbNDVdfDIxMnwyNDR8NTQzfDY4NXw3ODR8Nzk5KXw4KDU3OXw2ODZ8OTQyfDk2NCl8OSg4KDAzfDA5fDYxKXwxODV8MjA5fDc0N3w3NjYpKXw3KDAoWzY3XTU2fDI1NXwyODB8MzY0fDgxNSl8MSg0KDE0fDM3fDgyKXwoMXw5MHw5OSkxfDE5MHwzNTB8NTI4fDYzKXwyKDI0OXw1MTJ8NjY2fDY4MHw5MDIpfDMoNDI1fDU1MXw4N3w5NjApfDQoNCgyMnw1fDYxfDcxKXwyMzN8MjczfDM4MXw1Nnw2MzZ8ODMwKXw1KDE3MnwyMTd8MzA0fDYwMyl8NigyNzh8MzI5fDY1fDY2NHw5MTIpfDgoNCgwNHwzNHw3MSl8KHw4KTk5fDE4MnwyMzd8MzQxfDYzfDY1Mil8OSg3OVsxNV18MTkxfDI0NHwyN3wzOTh8NDM5fDg5Mil8NzI2NCl8OCgwKDcoMzF8NjF8ODIpfDA0MXw2MzkpfDEoMDAxfDA3MnwxMDd8MjEwfDI0N3w1Mjl8ODE4fDkwMyl8MigyN1swMV18MTZ8NTg2KXwzKDA0MXwyNjF8NDg4fDUyOXw2NzUpfDQoMDh8MjI0fDMwNnwzMzV8OTQ4KXw1KDUxWzAxXXw3OSl8NigwODd8MTc4fDM2MHw0MjN8NTQ0fDk5Nyl8Nyg3KDIxfDQwfDY3KXwyNTZ8NDc0fDQ5OHw2NzMpfDgoMzg1fDY0MXw5MDYpfDkoMDQ0fDE5NXwyMDR8NDMwfDU1OCkpfDkoMCgoMHwzM3w5NikwfDM3OHw3NDEpfDEoNjdbMDhdfDIwMHw0MHw4NTUpfDMoMTg4fDQxNnw0MjEpfDQoMDU0fDIzMnw4OHw5NDgpfDUoMDR8MTU4fDgzMXw4NTMpfDYoMTgxfDM1Mnw1ODcpfDcoMTQ5fDQ0fDY2MHw4NDUpfDgoMDg0fDQzM3w0NzV8NTA5fDY5Nil8OSg0NDh8NTI3fDU5M3w5MDh8OTQ0KXwyMzkzKSkkLy50ZXN0KGEpKSl7ZVthXT1udWxsO3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtjLmNoYXJzZXQ9InV0Zi04Iix0Lm5jJiZjLnNldEF0dHJpYnV0ZSgibm9uY2UiLHQubmMpLGMucmVsPSJwcmVsb2FkIixjLmFzPSJzY3JpcHQiLGMuaHJlZj10LnArdC51KGEpLDAhPT1jLmhyZWYuaW5kZXhPZih3aW5kb3cubG9jYXRpb24ub3JpZ2luKyIvIikmJihjLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGMpfX0sdC5PLmo9YT0+MD09PWVbYV07dmFyIGE9KGEsYyk9Pnt2YXIgZCxmLFtiLF8sb109YyxzPTA7aWYoYi5zb21lKChhPT4wIT09ZVthXSkpKXtmb3IoZCBpbiBfKXQubyhfLGQpJiYodC5tW2RdPV9bZF0pO2lmKG8pdmFyIGk9byh0KX1mb3IoYSYmYShjKTtzPGIubGVuZ3RoO3MrKylmPWJbc10sdC5vKGUsZikmJmVbZl0mJmVbZl1bMF0oKSxlW2ZdPTA7cmV0dXJuIHQuTyhpKX0sYz1zZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdO2MuZm9yRWFjaChhLmJpbmQobnVsbCwwKSksYy5wdXNoPWEuYmluZChudWxsLGMucHVzaC5iaW5kKGMpKX0pKCksdC5wPXQuZyYmdC5nLldFQlBBQ0tfUFVCTElDX1BBVEh8fHQucCxiPXsxNTE3MzpbODQ2OTMsODg5OTcsMzA2OTksNDYyMTcsNjY5MzMsNzEzMTldLDU2MzgyOls4NDY5Myw4ODk5NywzMDY5OSw0NjIxNyw2NjkzMyw3MTMxOV0sNzA1MzI6Wzg0NjkzLDg4OTk3LDMwNjk5LDQ2MjE3LDY2OTMzLDcxMzE5XSw5MjIyOTpbODQ2OTMsODg5OTcsMzA2OTksNDYyMTcsNjY5MzMsNzEzMTldLAo5Mjk2ODpbODQ2OTMsODg5OTcsMzA2OTksNDYyMTcsNjY5MzMsNzEzMTldfSx0LmYucHJlZmV0Y2g9KGUsYSk9PlByb21pc2UuYWxsKGEpLnRoZW4oKCgpPT57dmFyIGE9YltlXTtBcnJheS5pc0FycmF5KGEpJiZhLm1hcCh0LkUpfSkpLCgoKT0+e3ZhciBlPXsxOTIxMzpbNTY4MDEsMTMwMzksMTY5OV0sNzE1NjU6WzU2ODAxLDEzMDM5LDE2OTldLDg2NDEzOls1NjgwMSwxMzAzOSwxNjk5XX07dC5mLnByZWxvYWQ9YT0+e3ZhciBjPWVbYV07QXJyYXkuaXNBcnJheShjKSYmYy5tYXAodC5HKX19KSgpfSkoKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/86178.e6fbec90af5ba6210368.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.880Z","timestamp":1785141584880,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/86178.e6fbec90af5ba6210368.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 115\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a476ed7-73\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 03 Jul 2026 08:12:07 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/03/2026 10:54:54\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0888346c0900848585d130934d5dcf09\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":115,"size_decoded":900,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"4b00738e1f848898dbd917e3aa80b190","sha1":"c2535efbabf6d725903e58f0696fdf8adbdc8279","sha256":"25731497d819094baf761b28529348e662eb9894ff5da4667f4164b2968604c1","sha512":"197696b9cdc9294feef121c1e6aa1f9e3f72dbccfa762b6e1b3d69b961a5843bdc3a1ee3c6ca753be4b766255fcc1395b98c4031846970f426aee7f57e48c8d3","ssdeep":"","tlshash":"0eb092aa719c8a614d13ea2ec394c90ea6503981ab10e784fa0ab1014cc3fe22142710","first_seen":"2026-07-03T16:22:04.423218Z","last_seen":"2026-07-27T14:50:15.287506Z","times_seen":170,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdVN0eTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9Lm9wZXJhdG9yLUlITlFWQVFJe2NvbG9yOnZhcigtLV8wLXVTdHkpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/48652.9487148ca973a8ce4caa.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.167Z","timestamp":1785141585167,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/48652.9487148ca973a8ce4caa.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-afdb\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:30\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 70e52970d86c179f4330a8316e1fc8a1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":45019,"size_decoded":15866,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"84e3cbc8f2cc7d16bc14251dee5f916d","sha1":"4515c758e4180ad4b3e4de054f1010b89337c5d3","sha256":"d71c6cd3abef8e38419d743ed4851ee893ff6bc105108ae88885f8524ac780a9","sha512":"166e2773f21cfcd6f793984bb2321a0513fe16cb22296e7f7a0e81915f6b387f2961404e6b1cad8c8fe209c02411ea7a4c468f0c7216b1327f2fa2ccde80acb8","ssdeep":"768:VHqwOWJaoTqN6riNXBxFRJLTiIjsxIU1azbsYttLhqpTLuvD/XV0xwk3LlEYZZBq:5qwOW0MmiMKCkLctYz3LauFKEP9mC7Oj","tlshash":"af13d68035a1b02887e6409ad07e4546f7792bd1b48a5579f0fcc8ce3e5898df136bbe","first_seen":"2026-07-23T14:00:31.480629Z","last_seen":"2026-07-27T12:48:39.650739Z","times_seen":57,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0ODY1Miw2MTEyNl0sezk3Nzc3KHQpe3QuZXhwb3J0cz17YmFkZ2U6ImJhZGdlLXg0VVZaYWJNIixoYXNDaGlsZHJlbjoiaGFzQ2hpbGRyZW4teDRVVlphYk0iLGNvbnRlbnQ6ImNvbnRlbnQteDRVVlphYk0iLHNsb3Q6InNsb3QteDRVVlphYk0iLHhzbWFsbDoieHNtYWxsLXg0VVZaYWJNIixzbWFsbDoic21hbGwteDRVVlphYk0iLG1lZGl1bToibWVkaXVtLXg0VVZaYWJNIixsYXJnZToibGFyZ2UteDRVVlphYk0iLHhsYXJnZToieGxhcmdlLXg0VVZaYWJNIix4eGxhcmdlOiJ4eGxhcmdlLXg0VVZaYWJNIn19LDIyOTU0MSh0KXt0LmV4cG9ydHM9e2ludGVyc2VjdGlvblpvbmU6ImludGVyc2VjdGlvblpvbmUtRUlWMl9SZDAiLGludGVyc2VjdGlvbkRldGVjdG9yOiJpbnRlcnNlY3Rpb25EZXRlY3Rvci1FSVYyX1JkMCIsbGVmdDoibGVmdC1FSVYyX1JkMCIscmlnaHQ6InJpZ2h0LUVJVjJfUmQwIn19LDQ3OTU1NSh0KXt0LmV4cG9ydHM9e2Fycm93OiJhcnJvdy1tSkFpMVQwaSIsb3Blbjoib3Blbi1tSkFpMVQwaSIsYWN0aXZlOiJhY3RpdmUtbUpBaTFUMGkiLG5vbkFjdGl2ZToibm9uQWN0aXZlLW1KQWkxVDBpIn19LDk0MDAwMyh0KXt0LmV4cG9ydHM9e3BpbGxJY29uOiJwaWxsSWNvbi1qNU5HMFZWVCIsYWN0aXZlOiJhY3RpdmUtajVORzBWVlQiLG5vbkFjdGl2ZToibm9uQWN0aXZlLWo1TkcwVlZUIn19LDk2MTA4Mih0KXt0LmV4cG9ydHM9e2xheW91dDoibGF5b3V0LXBlSlVTUmRaIixzdHJldGNoOiJzdHJldGNoLXBlSlVTUmRaIixzcGFjZToic3BhY2UtcGVKVVNSZFoiLGVuZFRleHRTbG90OiJlbmRUZXh0U2xvdC1wZUpVU1JkWiIsc3RhcnRUZXh0U2xvdDoic3RhcnRUZXh0U2xvdC1wZUpVU1JkWiJ9fSw2MjY2MzEodCl7dC5leHBvcnRzPXt3cmFwOiJ3cmFwLVBvWGFjRHBYIn19LDE2MzU0NSh0KXt0LmV4cG9ydHM9e3JhZGlvQnV0dG9uVmlldzoicmFkaW9CdXR0b25WaWV3LU9MWFpReHViIixjaGVja2VkOiJjaGVja2VkLU9MWFpReHViIixkaXNhYmxlZDoiZGlzYWJsZWQtT0xYWlF4dWIifX0sMzEyNDModCl7dC5leHBvcnRzPXt0cjoidHItSTdiWmhWZnkiLHRkOiJ0ZC1JN2JaaFZmeSIsYWxpZ25MZWZ0OiJhbGlnbkxlZnQtSTdiWmhWZnkiLGFsaWduQ2VudGVyOiJhbGlnbkNlbnRlci1JN2JaaFZmeSIsY29sb3JJblRoZU1vbmV5OiJjb2xvckluVGhlTW9uZXktSTdiWmhWZnkiLGNlbnRlcjoiY2VudGVyLUk3YlpoVmZ5IixzZWxlY3RlZDoic2VsZWN0ZWQtSTdiWmhWZnkiLG5hdmlnYXRlZDoibmF2aWdhdGVkLUk3YlpoVmZ5IixmbGFzaEhpZ2hsaWdodDoiZmxhc2hIaWdobGlnaHQtSTdiWmhWZnkiLCJmbGFzaEhpZ2hsaWdodC1hbmltYXRpb24iOiJmbGFzaEhpZ2hsaWdodC1hbmltYXRpb24tSTdiWmhWZnkifX0sNTAyMTQ0KHQpe3QuZXhwb3J0cz17c2tlbGV0b25Db250YWluZXI6InNrZWxldG9uQ29udGFpbmVyLWlqUmhFd3VZIixvcHRpb25zQ2hhaW46Im9wdGlvbnNDaGFpbi1palJoRXd1WSIsc2tlbGV0b25SZWN0YW5nbGU6InNrZWxldG9uUmVjdGFuZ2xlLWlqUmhFd3VZIixzZXJpZXNHcm91cENlbGw6InNlcmllc0dyb3VwQ2VsbC1palJoRXd1WSJ9fSw1MzI3MjgodCl7dC5leHBvcnRzPXtjZWxsOiJjZWxsLUF0UllySlBuIixzb3J0QWN0aXZlOiJzb3J0QWN0aXZlLUF0UllySlBuIixzb3J0SWNvbjoic29ydEljb24tQXRSWXJKUG4iLHNvcnREZXNjOiJzb3J0RGVzYy1BdFJZckpQbiJ9fSw1NTIxNTModCl7dC5leHBvcnRzPXtmaXJzdFJvd0hlYWQ6ImZpcnN0Um93SGVhZC1sQ2t1U3RUayIsZmlyc3RSb3dUZXh0OiJmaXJzdFJvd1RleHQtbENrdVN0VGsiLHNlY29uZFJvd0hlYWQ6InNlY29uZFJvd0hlYWQtbENrdVN0VGsiLHRoOiJ0aC1sQ2t1U3RUayIsY2VudHJhbDoiY2VudHJhbC1sQ2t1U3RUayIsYWxpZ25MZWZ0OiJhbGlnbkxlZnQtbENrdVN0VGsiLGFsaWduQ2VudGVyOiJhbGlnbkNlbnRlci1sQ2t1U3RUayIsYWxpZ25SaWdodDoiYWxpZ25SaWdodC1sQ2t1U3RUayJ9fSw2MjQ2OTIodCl7dC5leHBvcnRzPXtyb290OiJyb290LVdNTE55NV93In19LDcwMjcxMCh0KXt0LmV4cG9ydHM9e2NvbnRhaW5lcjoiY29udGFpbmVyLUVmSjlJSFZhIix3cmFwcGVyOiJ3cmFwcGVyLUVmSjlJSFZhIix0YWJsZToidGFibGUtRWZKOUlIVmEiLGZvb3RlckNlbGw6ImZvb3RlckNlbGwtRWZKOUlIVmEifX0sNjI2MDgyKHQpe3QuZXhwb3J0cz17YmxvY2s6ImJsb2NrLXNoS3hzenN4IixlbXB0eVN0YXRlSWNvbjoiZW1wdHlTdGF0ZUljb24tc2hLeHN6c3gifX0sNTI0ODU4KHQpe3QuZXhwb3J0cz17aXRlbToiaXRlbS16Z3RVQkU0VyIsaXRlbUNvbnRlbnQ6Iml0ZW1Db250ZW50LXpndFVCRTRXIixjb3VudGVyOiJjb3VudGVyLXpndFVCRTRXIn19LDg4NjgxMCh0KXt0LmV4cG9ydHM9e3Jvb3Q6InJvb3QteUJLQ2VBTnEiLHNjcm9sbENvbnRhaW5lcjoic2Nyb2xsQ29udGFpbmVyLXlCS0NlQU5xIixncm91cDoiZ3JvdXAteUJLQ2VBTnEiLGdyb3VwVGl0bGU6Imdyb3VwVGl0bGUteUJLQ2VBTnEiLGl0ZW1zOiJpdGVtcy15QktDZUFOcSIsaXRlbToiaXRlbS15QktDZUFOcSJ9fSw2MDk4NzYodCl7dC5leHBvcnRzPXtyb290OiJyb290LURyNzM5UnM0IixzY3JvbGxDb250YWluZXI6InNjcm9sbENvbnRhaW5lci1EcjczOVJzNCIsZ3JvdXA6Imdyb3VwLURyNzM5UnM0IixzdWJncm91cDoic3ViZ3JvdXAtRHI3MzlSczQiLGdyb3VwVGl0bGU6Imdyb3VwVGl0bGUtRHI3MzlSczQiLGxlZnRGYWRlOiJsZWZ0RmFkZS1EcjczOVJzNCIscmlnaHRGYWRlOiJyaWdodEZhZGUtRHI3MzlSczQiLG9uZUdyb3VwOiJvbmVHcm91cC1EcjczOVJzNCIsbGVmdEFycm93OiJsZWZ0QXJyb3ctRHI3MzlSczQiLHJpZ2h0QXJyb3c6InJpZ2h0QXJyb3ctRHI3MzlSczQiLGl0ZW1zOiJpdGVtcy1EcjczOVJzNCJ9fSw2MTY2NDModCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7dXNlVGhlbWU6KCk9Pml9KTt2YXIgcz1yKDEwNjkwMCksbj1yKDIwMDY2Nik7ZnVuY3Rpb24gaSgpe3JldHVybigwLApzLnVzZVdhdGNoZWRWYWx1ZVJlYWRvbmx5KSh7d2F0Y2hlZFZhbHVlOm4ud2F0Y2hlZFRoZW1lfSl9fSw1OTA0ODYodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7QmFkZ2U6KCk9PmN9KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDkxNDQ4NyksaT1yLm4obiksbz1yKDk3Nzc3KSxhPXIubihvKTtmdW5jdGlvbiBsKHtocmVmOnQsb25DbGljazplLHJlZmVyZW5jZTpyLC4uLm59KXtyZXR1cm4gdD9zLmNyZWF0ZUVsZW1lbnQoImEiLHtocmVmOnQsb25DbGljazplLHRhcmdldDoiX2JsYW5rIixyZWY6ciwuLi5ufSk6ZT9zLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse29uQ2xpY2s6ZSxyZWY6ciwuLi5ufSk6cy5jcmVhdGVFbGVtZW50KCJzcGFuIix7cmVmOnIsLi4ubn0pfWZ1bmN0aW9uIGMoe2NsYXNzTmFtZTp0LHNpemU6ZSxsZWZ0U2xvdDpyLHJpZ2h0U2xvdDpuLGNoaWxkcmVuOm8sLi4uY30pe2NvbnN0IHU9aSgpKHQsYSgpLmJhZGdlLGUmJmEoKVtlXSxvJiZhKCkuaGFzQ2hpbGRyZW4pO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQobCx7Y2xhc3NOYW1lOnUsLi4uY30sciYmcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpLnNsb3R9LHIpLG8mJnMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTphKCkuY29udGVudH0sbyksbiYmcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpLnNsb3R9LG4pKX19LDIzNDYzNih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBzO3IuZChlLHtCYWRnZVNpemU6KCk9PnN9KSxmdW5jdGlvbih0KXt0LlhTbWFsbD0ieHNtYWxsIix0LlNtYWxsPSJzbWFsbCIsdC5NZWRpdW09Im1lZGl1bSIsdC5MYXJnZT0ibGFyZ2UiLHQuWExhcmdlPSJ4bGFyZ2UifShzfHwocz17fSkpfSwyODQ1OCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHt1c2VJbnRlcnNlY3Rpb25PYnNlcnZlcjooKT0+b30pO3ZhciBzPXIoNzc5NDc0KSxuPXIoMTY3NTAyKSxpPXIoNzg3ODk1KTtmdW5jdGlvbiBvKHQsZT17fSxyPVtdKXtjb25zdCBvPSgwLHMudXNlUmVmKShudWxsKSxhPSgwLHMudXNlUmVmKSh0KTthLmN1cnJlbnQ9dDtjb25zdHtyZWY6bD1udWxsLC4uLmN9PWUsdT0oMCxzLnVzZVJlZikoYyk7KDAsbi5kZWZhdWx0KShlLHUuY3VycmVudCl8fCh1LmN1cnJlbnQ9ZSk7Y29uc3QgaD0oMCxpLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKGwpLGQ9KDAscy51c2VDYWxsYmFjaykoKHQ9PntoKHQpLG51bGwhPT1vLmN1cnJlbnQmJihvLmN1cnJlbnQuZGlzY29ubmVjdCgpLG51bGwhPT10JiZvLmN1cnJlbnQub2JzZXJ2ZSh0KSl9KSxbaCxvXSk7cmV0dXJuKDAscy51c2VFZmZlY3QpKCgoKT0+KG8uY3VycmVudD1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKCh0LGUpPT5hLmN1cnJlbnQodCxlKSksey4uLnUuY3VycmVudCxyb290OnUuY3VycmVudD8ucm9vdD8uY3VycmVudH0pLGguY3VycmVudCYmZChoLmN1cnJlbnQpLCgpPT57by5jdXJyZW50Py5kaXNjb25uZWN0KCl9KSksW2gsdS5jdXJyZW50LC4uLnJdKSxkfX0sMTY0MjQyKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse0ludGVyc2VjdGlvblpvbmU6KCk9PmR9KTt2YXIgcyxuPXIoNzc5NDc0KSxpPXIoOTE0NDg3KSxvPXIubihpKSxhPXIoMjg0NTgpLGw9cigyMjk1NDEpLGM9ci5uKGwpOyFmdW5jdGlvbih0KXt0W3QuTGVmdD0tMV09IkxlZnQiLHRbdC5SaWdodD0xXT0iUmlnaHQifShzfHwocz17fSkpO2NvbnN0IHU9MSxoPXtbLTFdOmMoKS5sZWZ0LDE6YygpLnJpZ2h0fTtmdW5jdGlvbiBkKHQpe2NvbnN0e2ludGVyc2VjdGlvbkNiOmUscG9zaXRpb246cixjbGFzc05hbWU6cyxpbnRlcnNlY3Rpb25XaWR0aDppPXUscm9vdDpsLHJvb3RNYXJnaW46ZH09dCxtPSgwLG4udXNlQ2FsbGJhY2spKCh0PT5lKHRbdC5sZW5ndGgtMV0pKSxbXSkscD0oMCxhLnVzZUludGVyc2VjdGlvbk9ic2VydmVyKShtLHtyb290Omwscm9vdE1hcmdpbjpkfSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOm8oKShjKCkuaW50ZXJzZWN0aW9uWm9uZSxzKX0sbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7cmVmOnAsY2xhc3NOYW1lOm8oKShjKCkuaW50ZXJzZWN0aW9uRGV0ZWN0b3IsaFtyXSksc3R5bGU6e3dpZHRoOml9fSkpfX0sNDkxNjQwKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse0Fycm93SWNvblBpbGxQYXJ0OigpPT5ofSk7dmFyIHM9cig3Nzk0NzQpLG49cig5MTQ0ODcpLGk9ci5uKG4pLG89cigyMTcyNzQpLGE9cig3ODYyNjgpLGw9ci5uKGEpLGM9cig0Nzk1NTUpLHU9ci5uKGMpO2Z1bmN0aW9uIGgodCl7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChvLkJsb2NrSWNvbix7Y2xhc3NOYW1lOmkoKSh1KCkuYXJyb3csdC5vcGVuJiZ1KCkub3Blbix0LmFjdGl2ZT91KCkuYWN0aXZlOnUoKS5ub25BY3RpdmUpLGljb246bCgpfSl9fSw2MjY3MDQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7U3ZnSWNvblBpbGxQYXJ0OigpPT5jfSk7dmFyIHM9cig3Nzk0NzQpLG49cig5MTQ0ODcpLGk9ci5uKG4pLG89cigyMTcyNzQpLGE9cig5NDAwMDMpLGw9ci5uKGEpO2Z1bmN0aW9uIGModCl7Y29uc3R7aWNvblN2ZzplfT10O3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoby5CbG9ja0ljb24se2NsYXNzTmFtZTppKCkobCgpLnBpbGxJY29uLHQuYWN0aXZlP2woKS5hY3RpdmU6bCgpLm5vbkFjdGl2ZSksaWNvbjplfSl9fSwyMDcyNDEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7UGlsbExheW91dFVuaXZlcnNhbDooKT0+Y30pO3ZhciBzLG49cig3Nzk0NzQpLGk9cig5MTQ0ODcpLG89ci5uKGkpLGE9cig5NjEwODIpLGw9ci5uKGEpO2Z1bmN0aW9uIGModCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4hISgodC5zcGFjZUJldHdlZW4/PzApJmUpfXJldHVybiBuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkobCgpLmxheW91dCx0LnN0cmV0Y2gmJmwoKS5zdHJldGNoKX0sdC5zdGFydEljb25TbG90JiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCwiICIsdC5zdGFydEljb25TbG90LCIgIiksZShzLlN0YXJ0KSYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpLnNwYWNlCn0pLHQuc3RhcnRUZXh0U2xvdCYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpLnN0YXJ0VGV4dFNsb3R9LHQuc3RhcnRUZXh0U2xvdCksZShzLlN0YXJ0TWlkZGxlKSYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpLnNwYWNlfSksdC5taWRkbGVJY29uU2xvdCYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsIiAiLHQubWlkZGxlSWNvblNsb3QsIiAiKSxlKHMuTWlkZGxlRW5kKSYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpLnNwYWNlfSksdC5lbmRUZXh0U2xvdCYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpLmVuZFRleHRTbG90fSx0LmVuZFRleHRTbG90KSxlKHMuRW5kKSYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpLnNwYWNlfSksdC5lbmRJY29uU2xvdCYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsIiAiLHQuZW5kSWNvblNsb3QsIiAiKSl9IWZ1bmN0aW9uKHQpe3RbdC5TdGFydD0xXT0iU3RhcnQiLHRbdC5TdGFydE1pZGRsZT0yXT0iU3RhcnRNaWRkbGUiLHRbdC5NaWRkbGVFbmQ9NF09Ik1pZGRsZUVuZCIsdFt0LkVuZD04XT0iRW5kIn0oc3x8KHM9e30pKX0sNTU3NTM0KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse1JhZGlvYnV0dG9uUG9wb3Zlckl0ZW06KCk9Pmx9KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDk3MjczNCksaT1yKDc5NTk1Niksbz1yKDYyNjYzMSksYT1yLm4obyk7ZnVuY3Rpb24gbCh0KXtjb25zdHtwb3BvdmVySXRlbVJlZjplLHBvcG92ZXJJdGVtQnV0dG9uUmVmOnIscG9wb3Zlckl0ZW1CdXR0b25JZDpvLHJvbGU6bCx0aXRsZTpjLGRlc2NyaXB0aW9uOnUsY2hlY2tlZDpoLGRpc2FibGVkOmQsb25DbGljazptLGFyaWFDaGVja2VkOnAsdGFiSW5kZXg6ZyxyaWdodFNsb3Q6ZixzaXplOnksZGF0YVFhSWQ6dn09dDtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KG4uUG9wb3Zlckl0ZW0se3BvcG92ZXJJdGVtUmVmOmUscG9wb3Zlckl0ZW1CdXR0b25SZWY6cixwb3BvdmVySXRlbUJ1dHRvbklkOm8sYXJpYUNoZWNrZWQ6cCxyb2xlOmwsdGl0bGU6YyxkZXNjcmlwdGlvbjp1LGxlZnRTbG90OnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEoKS53cmFwfSxzLmNyZWF0ZUVsZW1lbnQoaS5SYWRpb0J1dHRvblZpZXcse2NoZWNrZWQ6aH0pKSxyaWdodFNsb3Q6ZixvbkNsaWNrOm0sdGFiSW5kZXg6ZyxzaXplOnksZGlzYWJsZWQ6ZCxkYXRhUWFJZDp2fSl9fSw3OTU5NTYodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7UmFkaW9CdXR0b25WaWV3OigpPT5sfSk7dmFyIHM9cig3Nzk0NzQpLG49cig5MTQ0ODcpLGk9ci5uKG4pLG89cigxNjM1NDUpLGE9ci5uKG8pO2Z1bmN0aW9uIGwodCl7Y29uc3R7ZGlzYWJsZWQ6ZSxjaGVja2VkOnJ9PXQ7cmV0dXJuIHMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTppKCkoYSgpLnJhZGlvQnV0dG9uVmlldyxlJiZhKCkuZGlzYWJsZWQsciYmYSgpLmNoZWNrZWQpfSl9fSw4Mzg5MDIodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7aXNBc2NpaU9ubHk6KCk9Pm4sbWF0Y2hBbGw6KCk9Pm8scmVnZXhwRXNjYXBlOigpPT5pfSk7Y29uc3Qgcz0vXltcdTAwMDAtXHUwMDdmXSokLztmdW5jdGlvbiBuKHQpe3JldHVybiBzLnRlc3QodCl9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdC5yZXBsYWNlKC9bIS0vWy1eey19P10vZywiXFwkJiIpfWZ1bmN0aW9uIG8odCxlKXtjb25zdCByPVtdO2xldCBzPWUuZXhlYyh0KTtmb3IoO251bGwhPT1zOylyLnB1c2gocykscz1lLmV4ZWModCk7cmV0dXJuIHJ9fSw2MTg4NjQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7QWN0aXZpdHlUcmFja2VyOigpPT5pfSk7Y29uc3Qgcz1bIndoZWVsIiwiY2xpY2siLCJtb3VzZXVwIiwibW91c2Vkb3duIiwibW91c2Vtb3ZlIiwia2V5cHJlc3MiLCJrZXlkb3duIiwia2V5dXAiLCJ0b3VjaGVuZCIsInRvdWNoc3RhcnQiXSxuPVsicmVzaXplIiwiZm9jdXMiLCJibHVyIl07Y2xhc3MgaXtjb25zdHJ1Y3Rvcih0PTFlMyl7dGhpcy5fYWN0aXZpdHlTdGF0ZT17bGFzdEFjdGl2aXR5VGltZTowLHRvdGFsQWN0aXZlVGltZTowfSx0aGlzLl9hbGxFdmVudHNBYm9ydENvbnRyb2xsZXI9bmV3IEFib3J0Q29udHJvbGxlcix0aGlzLl9hY3Rpdml0eURlYm91bmNlPXR9c3RhcnRUcmFja2luZygpe3RoaXMuX2FsbEV2ZW50c0Fib3J0Q29udHJvbGxlci5zaWduYWwuYWJvcnRlZCYmKHRoaXMuX2FsbEV2ZW50c0Fib3J0Q29udHJvbGxlcj1uZXcgQWJvcnRDb250cm9sbGVyKSx0aGlzLl9yZXNldEFjdGl2aXR5U3RhdGUoKSx0aGlzLl9zdWJzY3JpYmVUb0FsbEV2ZW50cygpfXN0b3BUcmFja2luZygpe3RoaXMuX3Jlc2V0QWN0aXZpdHlTdGF0ZSgpLHRoaXMuX3Vuc3Vic2NyaWJlRnJvbUFsbEV2ZW50cygpfWdldEN1cnJlbnRBY3Rpdml0eVRpbWUoKXtyZXR1cm4gdGhpcy5fYWN0aXZpdHlTdGF0ZS50b3RhbEFjdGl2ZVRpbWV9X2V2ZW50SGFuZGxlcigpe2NvbnN0IHQ9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dGhpcy5fYWN0aXZpdHlTdGF0ZS5sYXN0QWN0aXZpdHlUaW1lK3RoaXMuX2FjdGl2aXR5RGVib3VuY2U8dCYmKHRoaXMuX2FjdGl2aXR5U3RhdGUubGFzdEFjdGl2aXR5VGltZT10LHRoaXMuX2FjdGl2aXR5U3RhdGUudG90YWxBY3RpdmVUaW1lKz0xKX1fc3Vic2NyaWJlVG9BbGxFdmVudHMoKXtzLmZvckVhY2goKHQ9Pntkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHQsdGhpcy5fZXZlbnRIYW5kbGVyLmJpbmQodGhpcykse3NpZ25hbDp0aGlzLl9hbGxFdmVudHNBYm9ydENvbnRyb2xsZXIuc2lnbmFsLHBhc3NpdmU6ITB9KX0pKSxuLmZvckVhY2goKHQ9Pnt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcih0LHRoaXMuX2V2ZW50SGFuZGxlci5iaW5kKHRoaXMpLHtzaWduYWw6dGhpcy5fYWxsRXZlbnRzQWJvcnRDb250cm9sbGVyLnNpZ25hbCxwYXNzaXZlOiEwfSl9KSl9X3Jlc2V0QWN0aXZpdHlTdGF0ZSgpe3RoaXMuX2FjdGl2aXR5U3RhdGUubGFzdEFjdGl2aXR5VGltZT0obmV3IERhdGUpLmdldFRpbWUoKSwKdGhpcy5fYWN0aXZpdHlTdGF0ZS50b3RhbEFjdGl2ZVRpbWU9MH1fdW5zdWJzY3JpYmVGcm9tQWxsRXZlbnRzKCl7dGhpcy5fYWxsRXZlbnRzQWJvcnRDb250cm9sbGVyLmFib3J0KCl9fX0sNjMyMDYwKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse1NjYW5uZXJVdGlsczooKT0+c30pO2NsYXNzIHN7c3RhdGljIG1hcFNjYW5uZXJTeW1ib2wodCxlKXtjb25zdCByPXtuYW1lOmUuc307Zm9yKGxldCBzPTA7czx0Lmxlbmd0aDtzKyspclt0W3NdXT1lLmZbc107cmV0dXJuIHJ9c3RhdGljIGlzT3B0aW9uVHlwZSh0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQmJlsiY2FsbCIsInB1dCJdLmluY2x1ZGVzKHQpfXN0YXRpYyBpc0V4cGlyYXRpb24odCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0fXN0YXRpYyBpc1Jvb3QodCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0fXN0YXRpYyBpc1N0cmlrZSh0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHR9c3RhdGljIHBhcnNlTnVtYmVyKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdD90Om51bGx9c3RhdGljIHBhcnNlU3RyaW5nKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD90Om51bGx9c3RhdGljIHBhcnNlVHlwZSh0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/dDoidW5kZWZpbmVkIn1zdGF0aWMgcGFyc2VFeHBpcmF0aW9uKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdD90Om51bGx9fX0sMzE1MzIwKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse3VzZUtleWJvYXJkTmF2aWdhdGlvbjooKT0+YX0pO3ZhciBzPXIoOTY5MTY4KSxuPXIoMjM1NzI0KSxpPXIoNzc5NDc0KTtjb25zdCBvPXs0MDo0MCwzNzozOSwzOTozNywzODozOCwzNTozNSwzNjozNiwzNDozNCwzMzozM307ZnVuY3Rpb24gYSh0LGUscixhLGMsdSl7Y29uc3RbaCxkXT0oMCxpLnVzZVN0YXRlKSgoKCk9PmwoZSxyLGMpKSksW20scF09ZnVuY3Rpb24odCxlKXtjb25zdFtyLHNdPSgwLGkudXNlU3RhdGUpKCExKSxuPSgwLGkudXNlUmVmKShlKTtyZXR1cm4gbi5jdXJyZW50PWUsKDAsaS51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9dC5jdXJyZW50O2lmKGUpcmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHIpLGUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsaSksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixyKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLGkpfTtmdW5jdGlvbiByKHQpe3QudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnQudGFyZ2V0Lm1hdGNoZXMoIjpmb2N1cy12aXNpYmxlIikmJihzKCEwKSxuLmN1cnJlbnQoKSl9ZnVuY3Rpb24gaSgpe3MoITEpfX0pLFt0XSksW3Isc119KHQsKCgpPT5oJiZhKGgpKSk7KDAsaS51c2VFZmZlY3QpKCgoKT0+e2QobChlLHIsYykpfSksW2UsY10pO2NvbnN0IGc9KDAsaS51c2VNZW1vKSgoKCk9Pntjb25zdCB0PXt9LGU9W107Zm9yKGxldCB0PTA7dDxyLmxlbmd0aDt0Kyspe2NvbnN0IHM9clt0XSxuPXJbdC0xXT8uZ3JvdXBJZD8/cy5ncm91cElkLGk9clt0KzFdPy5ncm91cElkPz9zLmdyb3VwSWQ7aWYoZS5wdXNoKHtyb3c6W3MuZ3JvdXBJZF0scHJldkdyb3VwOm4sbmV4dEdyb3VwOml9KSwhdT8uW3MuZ3JvdXBJZF0pZm9yKGNvbnN0IHQgb2Ygcy5yb3dzKSh0LmNhbGxJZHx8dC5wdXRJZCkmJigiY2FsbHMiPT09YyYmdC5jYWxsSWQ/ZS5wdXNoKHtyb3c6W3QuY2FsbElkXSxwcmV2R3JvdXA6bixuZXh0R3JvdXA6aX0pOiJwdXRzIj09PWMmJnQucHV0SWQ/ZS5wdXNoKHtyb3c6W3QucHV0SWRdLHByZXZHcm91cDpuLG5leHRHcm91cDppfSk6Y3x8ZS5wdXNoKHtyb3c6W3QuY2FsbElkLHQucHV0SWRdLmZpbHRlcihCb29sZWFuKSxwcmV2R3JvdXA6bixuZXh0R3JvdXA6aX0pKX1mb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKylmb3IobGV0IG49MDtuPGVbc10ucm93Lmxlbmd0aDtuKyspdFtlW3NdLnJvd1tuXV09ezQwOmVbcysxXT8ucm93W25dPz9lW3MrMV0/LnJvd1swXT8/ZVtzXS5yb3dbbl0sMzc6ZVtzXS5yb3dbbi0xXT8/ZVtzXS5yb3dbbl0sMzk6ZVtzXS5yb3dbbisxXT8/ZVtzXS5yb3dbbl0sMzg6ZVtzLTFdPy5yb3dbbl0/P2Vbcy0xXT8ucm93WzBdPz9lW3NdLnJvd1tuXSwzNTpyW3IubGVuZ3RoLTFdLmdyb3VwSWQsMzY6clswXS5ncm91cElkLDM0OmVbc10ubmV4dEdyb3VwLDMzOmVbc10ucHJldkdyb3VwfTtyZXR1cm4gdH0pLFtyLHUsY10pO3JldHVybntoYW5kbGVUYWJsZUtleURvd246KDAsaS51c2VDYWxsYmFjaykoKGU9PntpZihlLmRlZmF1bHRQcmV2ZW50ZWR8fCFofHwhdC5jdXJyZW50KXJldHVybjtjb25zdCByPWdbaF07aWYoIXIpcmV0dXJuO2NvbnN0IGk9KDAsbi5oYXNoRnJvbUV2ZW50KShlKTtzd2l0Y2goaSl7Y2FzZSA0MDpjYXNlIDM3OmNhc2UgMzk6Y2FzZSAzODpjYXNlIDM1OmNhc2UgMzY6Y2FzZSAzNDpjYXNlIDMzOntlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgdD1yWygwLHMuaXNSdGwpKCk/b1tpXTppXTtkKHQpLGEodCkscCghMCk7YnJlYWt9Y2FzZSAzMjpjYXNlIDEzOntlLnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgcj10LmN1cnJlbnQucXVlcnlTZWxlY3RvcihgW2RhdGEtY2VsbC1pZD0iJHtofSJdYCk7ciBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZyLmNsaWNrKCk7YnJlYWt9fX0pLFtoLGcsYSx0LHBdKSxuYXZpZ2F0ZWRJZDptP2g6bnVsbCx0YWJsZVRhYkluZGV4OjB9fWZ1bmN0aW9uIGwodCxlLHIpe2lmKHQpcmV0dXJuIHQ7Zm9yKGNvbnN0IHQgb2YgZSlmb3IoY29uc3QgZSBvZiB0LnJvd3Mpe2lmKCJwdXRzIiE9PXImJmUuY2FsbElkKXJldHVybiBlLmNhbGxJZDtpZigiY2FsbHMiIT09ciYmZS5wdXRJZClyZXR1cm4gZS5wdXRJZH1yZXR1cm4gbnVsbH19LDQ4ODc4Mih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtPcHRpb25zQ2hhaW5PcHRpb25Sb3c6KCk9Pmx9KTt2YXIgcz1yKDkxNDQ4Nyksbj1yLm4ocyksaT1yKDc3OTQ3NCksbz1yKDcwNjA1MCksYT1yKDMxMjQzKTtjb25zdCBsPWkubWVtbygoZnVuY3Rpb24odCl7CmNvbnN0e2NhbGxDb2xvcjplLGNhbGxOYXZpZ2F0ZWQ6cixjYWxsU2VsZWN0ZWQ6cyxjb2xzRGF0YTpsLHB1dENvbG9yOnUscHV0TmF2aWdhdGVkOmgscHV0U2VsZWN0ZWQ6ZCxyb3dEYXRhOm0sZmxhc2hIaWdobGlnaHQ6cCxvbkNlbGxDbGljazpnfT10LHtzaWRlQ29sczpmLGNlbnRyYWxDb2xzOnksc2lkZUNvbHNEYXRhOnYsY2VudHJhbENvbHNEYXRhOmIsc2hvd09ubHk6X309bCxDPSgwLGkudXNlUmVmKShudWxsKSxFPXQ9PntDLmN1cnJlbnQmJihDLmN1cnJlbnQuZGF0YXNldC5ob3ZlclBhcnQ9dC5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuY2VsbFBhcnQpfSxTPXQ9PntDLmN1cnJlbnQmJmRlbGV0ZSBDLmN1cnJlbnQuZGF0YXNldC5ob3ZlclBhcnR9O3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoInRyIix7cmVmOkMsY2xhc3NOYW1lOm4oKShhLnRyLHtbYS5mbGFzaEhpZ2hsaWdodF06cH0pLCJkYXRhLXN0cmlrZSI6bS5zdHJpa2V9LCgwLG8ucmVuZGVyU2hvd09ubHkpKF8se2NlbnRyYWw6KCk9PnkubWFwKCh0PT5jKHtrZXk6dCxhbGlnbjooMCxvLmdldENvbHVtbkRhdGFBbGlnbikoYlt0XS5hbGlnbiwiY2VudHJhbCIsXyksY2hpbGRyZW46bS5jZW50cmFsW3RdLGNvbG9yOiJjZW50ZXIiLGN1c3RvbUNvbnRlbnRSZW5kZXI6Ylt0XS5jdXN0b21Db250ZW50UmVuZGVyLHBhcnQ6ImNlbnRyYWwiLHJvd0lkOm0uc3RyaWtlLnRvU3RyaW5nKCl9KSkpLGNhbGxzOigpPT5mLm1hcCgodD0+Yyh7a2V5OnQsYWxpZ246KDAsby5nZXRDb2x1bW5EYXRhQWxpZ24pKHZbdF0uYWxpZ24sImNhbGwiLF8pLGNlbGxJZDptLmNhbGxJZCxjaGlsZHJlbjptLmNhbGxbdF0sY29sb3I6ZT8/bS5jYWxsUGFydENvbG9yLGN1c3RvbUNvbnRlbnRSZW5kZXI6dlt0XS5jdXN0b21Db250ZW50UmVuZGVyLG5hdmlnYXRlZDpyLG9uQ2xpY2s6Zyxvbk1vdXNlRW50ZXI6RSxvbk1vdXNlTGVhdmU6UyxwYXJ0OiJjYWxsIixyb3dJZDptLnN0cmlrZS50b1N0cmluZygpLHNlbGVjdGVkOnN9KSkpLHB1dHM6KCk9PmYubWFwKCh0PT5jKHtrZXk6dCxhbGlnbjooMCxvLmdldENvbHVtbkRhdGFBbGlnbikodlt0XS5hbGlnbiwicHV0IixfKSxjZWxsSWQ6bS5wdXRJZCxjaGlsZHJlbjptLnB1dFt0XSxjb2xvcjp1Pz9tLnB1dFBhcnRDb2xvcixjdXN0b21Db250ZW50UmVuZGVyOnZbdF0uY3VzdG9tQ29udGVudFJlbmRlcixuYXZpZ2F0ZWQ6aCxvbkNsaWNrOmcsb25Nb3VzZUVudGVyOkUsb25Nb3VzZUxlYXZlOlMscGFydDoicHV0Iixyb3dJZDptLnN0cmlrZS50b1N0cmluZygpLHNlbGVjdGVkOmR9KSkpfSkpfSkpO2Z1bmN0aW9uIGModCl7Y29uc3R7a2V5OmUsY3VzdG9tQ29udGVudFJlbmRlcjpyLG9uQ2xpY2s6cyxvbk1vdXNlRW50ZXI6byxvbk1vdXNlTGVhdmU6bCwuLi5jfT10LHthbGlnbjp1PSJyaWdodCIsY2VsbElkOmgsY2hpbGRyZW46ZCxjb2xvcjptPSJpbi10aGUtbW9uZXkiLG5hdmlnYXRlZDpwLHBhcnQ6Zyxyb3dJZDpmLHNlbGVjdGVkOnl9PWM7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgidGQiLHtrZXk6ZSwiZGF0YS1jZWxsLWlkIjpoLCJkYXRhLWNlbGwtcGFydCI6ZywiZGF0YS1yb3ctaWQiOmYsImRhdGEtc2VsZWN0ZWQiOnk/InRydWUiOnZvaWQgMCxvbkNsaWNrOnMsb25Nb3VzZUVudGVyOm8sb25Nb3VzZUxlYXZlOmwsY2xhc3NOYW1lOm4oKShhLnRkLHtbYS5hbGlnbkxlZnRdOiJsZWZ0Ij09PXUsW2EuYWxpZ25DZW50ZXJdOiJjZW50ZXIiPT09dSxbYS5zZWxlY3RlZF06eSxbYS5uYXZpZ2F0ZWRdOnAsW2EuY29sb3JJblRoZU1vbmV5XToiaW4tdGhlLW1vbmV5Ij09PW0sW2EuY2VudGVyXToiY2VudGVyIj09PW19KX0scj9yKGMpOmQpfX0sOTMxNzU3KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse09wdGlvbnNDaGFpblNrZWxldG9uOigpPT5kfSk7dmFyIHM9cig2MTYzMTEpLG49cig0MDE4NjIpLGk9cig5MTQ0ODcpLG89ci5uKGkpLGE9cig3Nzk0NzQpLGw9cigxNDkyMDApLGM9cig0ODg3ODIpLHU9cig3MDYwNTApLGg9cig1MDIxNDQpO2Z1bmN0aW9uIGQodCl7Y29uc3R7Y2VudHJhbENvbHNDb3VudDplPTIsc2lkZUNvbHNDb3VudDpyPTEwLGNsYXNzTmFtZTppLHJvd3NDb3VudDpkPTUwfT10LHtjb2xzRGF0YTptLHJvd3NEYXRhOnAsdG90YWxDb2x1bW5zOmd9PSgwLGEudXNlTWVtbykoKCgpPT5mdW5jdGlvbih7Y2VudHJhbENvbHNDb3VudDp0LHNpZGVDb2xzQ291bnQ6ZSxyb3dzQ291bnQ6cn0pe2NvbnN0IHM9e2FsaWduOiJyaWdodCIsdGl0bGU6YS5jcmVhdGVFbGVtZW50KG4uU2tlbGV0b24uUmVjdGFuZ2xlLHtjbGFzc05hbWU6aC5za2VsZXRvblJlY3RhbmdsZX0pLGN1c3RvbUNvbnRlbnRSZW5kZXI6KCk9PmEuY3JlYXRlRWxlbWVudChuLlNrZWxldG9uLlJlY3RhbmdsZSx7Y2xhc3NOYW1lOmguc2tlbGV0b25SZWN0YW5nbGV9KX0saT1bLi4uQXJyYXkodCkua2V5cygpXS5tYXAoU3RyaW5nKSxvPVsuLi5BcnJheShlKS5rZXlzKCldLm1hcChTdHJpbmcpLGw9e2NlbnRyYWxDb2xzOmksY2VudHJhbENvbHNEYXRhOmkucmVkdWNlKCgodCxlKT0+KHsuLi50LFtlXTpzfSkpLHt9KSxzaWRlQ29sczpvLHNpZGVDb2xzRGF0YTpvLnJlZHVjZSgoKHQsZSk9Pih7Li4udCxbZV06c30pKSx7fSl9LGM9Wy4uLkFycmF5KHIpLmtleXMoKV0ubWFwKCh0PT4oe3R5cGU6Im9wdGlvbiIsc3RyaWtlOjAsdW5kZXJseWluZzoiIixjYWxsOnt9LGNhbGxJZDoiY2FsbCIrdCxwdXQ6e30scHV0SWQ6InB1dCIrdCxjZW50cmFsOnt9fSkpKSxkPSgwLHUuZ2V0VG90YWxDb2x1bW5zKShsKTtyZXR1cm57Y29sc0RhdGE6bCxyb3dzRGF0YTpjLHRvdGFsQ29sdW1uczpkfX0oe2NlbnRyYWxDb2xzQ291bnQ6ZSxzaWRlQ29sc0NvdW50OnIscm93c0NvdW50OmR9KSksW2UsZCxyXSksZj0oMCxhLnVzZVJlZikobnVsbCk7cmV0dXJuKDAscy51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9PntmLmN1cnJlbnQmJmYuY3VycmVudC5zY3JvbGxUbygoZi5jdXJyZW50LnNjcm9sbFdpZHRoLWYuY3VycmVudC5jbGllbnRXaWR0aCkvMiwwKX0pLFtdKSxhLmNyZWF0ZUVsZW1lbnQobi5Ta2VsZXRvbix7CmNsYXNzTmFtZTpvKCkoaSxoLnNrZWxldG9uQ29udGFpbmVyKX0sYS5jcmVhdGVFbGVtZW50KGwuT3B0aW9uc0NoYWluLHtjbGFzc05hbWU6aC5vcHRpb25zQ2hhaW4sY29sc0RhdGE6bSxzY3JvbGxDb250YWluZXJSZWY6Zn0sYS5jcmVhdGVFbGVtZW50KCJ0Ym9keSIsbnVsbCxhLmNyZWF0ZUVsZW1lbnQoInRyIixudWxsLGEuY3JlYXRlRWxlbWVudCgidGQiLHtjbGFzc05hbWU6aC5zZXJpZXNHcm91cENlbGwsY29sU3BhbjpnfSkpLHAubWFwKCgodCxlKT0+YS5jcmVhdGVFbGVtZW50KGMuT3B0aW9uc0NoYWluT3B0aW9uUm93LHtrZXk6ZSxjb2xzRGF0YTptLHJvd0RhdGE6dH0pKSkpKSl9fSw4MTAwNTkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7T3B0aW9uc0NoYWluU29ydGFibGVDZWxsOigpPT51fSk7dmFyIHM9cigyMTcyNzQpLG49cig5MTQ0ODcpLGk9ci5uKG4pLG89cig3Nzk0NzQpLGE9cig1OTk1NDYpLGw9cigzODYyNjEpLGM9cig1MzI3MjgpO2Z1bmN0aW9uIHUodCl7Y29uc3R7Y2hpbGRyZW46ZSxzb3J0QWN0aXZlOnIsc29ydERlc2M6bixvbkNsaWNrOnV9PXQ7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShjLmNlbGwse1tjLnNvcnRBY3RpdmVdOnJ9KSxvbkNsaWNrOnV9LG8uY3JlYXRlRWxlbWVudChzLkJsb2NrSWNvbix7Y2xhc3NOYW1lOmkoKShjLnNvcnRJY29uLG4mJmMuc29ydERlc2MpLGljb246cj9hOmx9KSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6Yy50aXRsZX0sZSkpfX0sMTIzNjMxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse09wdGlvbnNDaGFpbldyYXBwZXI6KCk9PmF9KTt2YXIgcz1yKDkxNDQ4Nyksbj1yLm4ocyksaT1yKDc3OTQ3NCksbz1yKDYyNDY5Mik7ZnVuY3Rpb24gYSh0KXtjb25zdHtjaGlsZHJlbjplLGNsYXNzTmFtZTpyfT10O3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpuKCkoby5yb290LHIpfSxlKX19LDE0OTIwMCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtPcHRpb25zQ2hhaW46KCk9Pm19KTt2YXIgcz1yKDkxNDQ4Nyksbj1yLm4ocyksaT1yKDE3NzUpLG89cig3Nzk0NzQpLGE9cigxODUyNzEpLGw9cig3MDYwNTApLGM9cig1NTIxNTMpO2NvbnN0IHU9by5tZW1vKChmdW5jdGlvbih0KXtjb25zdHtjb2xzRGF0YTplLGNvbHNXaWR0aHM6cz17fX09dCx7c2lkZUNvbHM6bixjZW50cmFsQ29sczppLHNpZGVDb2xzRGF0YTp1LGNlbnRyYWxDb2xzRGF0YTpkLHNob3dPbmx5Om19PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgidGhlYWQiLG51bGwsby5jcmVhdGVFbGVtZW50KCJ0ciIse2NsYXNzTmFtZTpjLmZpcnN0Um93SGVhZH0sKDAsbC5yZW5kZXJTaG93T25seSkobSx7Y2VudHJhbDooKT0+by5jcmVhdGVFbGVtZW50KCJ0aCIse2tleToiY2VudHJhbCIsImRhdGEtY29sdW1uIjoiY2VudHJhbCIsY29sU3BhbjppLmxlbmd0aH0pLGNhbGxzOigpPT5uLmxlbmd0aD4wJiZvLmNyZWF0ZUVsZW1lbnQoInRoIix7a2V5OiJjYWxscyIsImRhdGEtY29sdW1uIjoiY2FsbHMiLGNvbFNwYW46bi5sZW5ndGh9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpjLmZpcnN0Um93VGV4dH0sYS50KG51bGwse2NvbnRleHQ6Im9wdGlvbnNfdHlwZSJ9LHIoNzM4NTUpKSkpLHB1dHM6KCk9Pm4ubGVuZ3RoPjAmJm8uY3JlYXRlRWxlbWVudCgidGgiLHtrZXk6InB1dHMiLCJkYXRhLWNvbHVtbiI6InB1dHMiLGNvbFNwYW46bi5sZW5ndGh9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpjLmZpcnN0Um93VGV4dH0sYS50KG51bGwse2NvbnRleHQ6Im9wdGlvbnNfdHlwZSJ9LHIoOTE1Nzg3KSkpKX0pKSxvLmNyZWF0ZUVsZW1lbnQoInRyIix7Y2xhc3NOYW1lOmMuc2Vjb25kUm93SGVhZH0sKDAsbC5yZW5kZXJTaG93T25seSkobSx7Y2VudHJhbDooKT0+aS5tYXAoKHQ9Pm8uY3JlYXRlRWxlbWVudChoLHtrZXk6dCx3aWR0aDpzW3RdLGFsaWduOigwLGwuZ2V0Q29sdW1uRGF0YUFsaWduKShkW3RdLmFsaWduLCJjZW50cmFsIixtKSxzb3J0OmRbdF0uc29ydCx0b29sdGlwOmRbdF0udG9vbHRpcCxjZW50cmFsOiEwfSxkW3RdLnRpdGxlKSkpLGNhbGxzOigpPT5uLm1hcCgodD0+by5jcmVhdGVFbGVtZW50KGgse2tleTp0LHdpZHRoOnNbdF0sYWxpZ246KDAsbC5nZXRDb2x1bW5EYXRhQWxpZ24pKHVbdF0uYWxpZ24sImNhbGwiLG0pLHNvcnQ6dVt0XS5zb3J0LHRvb2x0aXA6dVt0XS50b29sdGlwfSx1W3RdLnRpdGxlKSkpLHB1dHM6KCk9Pm4ubWFwKCh0PT5vLmNyZWF0ZUVsZW1lbnQoaCx7a2V5OnQsd2lkdGg6c1t0XSxhbGlnbjooMCxsLmdldENvbHVtbkRhdGFBbGlnbikodVt0XS5hbGlnbiwicHV0IixtKSxzb3J0OnVbdF0uc29ydCx0b29sdGlwOnVbdF0udG9vbHRpcH0sdVt0XS50aXRsZSkpKX0pKSl9KSk7Y29uc3QgaD1vLm1lbW8oKGZ1bmN0aW9uKHQpe2NvbnN0e3dpZHRoOmUsYWxpZ246cixjZW50cmFsOnMsY2hpbGRyZW46aSxzb3J0OmEsdG9vbHRpcDpsfT10O3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoInRoIix7ImFyaWEtc29ydCI6YSx0aXRsZTpsLGNsYXNzTmFtZTpuKCkoYy50aCx7W2MuY2VudHJhbF06cyxbYy5hbGlnbkxlZnRdOiJsZWZ0Ij09PXIsW2MuYWxpZ25DZW50ZXJdOiJjZW50ZXIiPT09cixbYy5hbGlnblJpZ2h0XToicmlnaHQiPT09ciwiYXBwbHktY29tbW9uLXRvb2x0aXAiOmx9KSxzdHlsZTp7Ii0tY29sdW1uLXdpZHRoIjplfX0saSl9KSk7dmFyIGQ9cig3MDI3MTApO2QudGFibGU7Y29uc3QgbT1vLm1lbW8oKGZ1bmN0aW9uKHQpe2NvbnN0e2NoaWxkcmVuOmUsY2xhc3NOYW1lOnIsY29sc0RhdGE6cyxjb2xzV2lkdGhzOmEsc2Nyb2xsQ29udGFpbmVyUmVmOmMsdGFibGVSZWY6aCx0YWJsZVRhYkluZGV4Om0sb25UYWJsZUtleURvd246cH09dCxnPSgwLGwuZ2V0VG90YWxDb2x1bW5zKShzKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGkuT3ZlcmxheVNjcm9sbFdyYXBwZXIse2NsYXNzTmFtZTpuKCkocixkLmNvbnRhaW5lciksImRhdGEtcWEtaWQiOiJvcHRpb25zLWNoYWluIixzY3JvbGxDb250YWluZXJSZWY6YywKd3JhcHBlckNsYXNzTmFtZTpkLndyYXBwZXJ9LG8uY3JlYXRlRWxlbWVudCgidGFibGUiLHtjbGFzc05hbWU6ZC50YWJsZSxvbktleURvd246cCxyZWY6aCx0YWJJbmRleDptfSxvLmNyZWF0ZUVsZW1lbnQodSx7Y29sc0RhdGE6cyxjb2xzV2lkdGhzOmF9KSxlLG8uY3JlYXRlRWxlbWVudCgidGZvb3QiLG51bGwsby5jcmVhdGVFbGVtZW50KCJ0ciIsbnVsbCxvLmNyZWF0ZUVsZW1lbnQoInRkIix7Y29sU3BhbjpnLGNsYXNzTmFtZTpkLmZvb3RlckNlbGx9KSkpKSl9KSl9LDg2NjcxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse3Njcm9sbFRvUm93OigpPT5ufSk7dmFyIHM9cig5NjkxNjgpO2Z1bmN0aW9uIG4odCxlLHI9ImNlbnRlciIpe2lmKCFlKXJldHVybjtjb25zdCBuPWUucXVlcnlTZWxlY3RvcihgdGRbZGF0YS1jZWxsLWlkPSIke3R9Il1gKTtpZighKG4gaW5zdGFuY2VvZiBIVE1MVGFibGVDZWxsRWxlbWVudCkpcmV0dXJuO2NvbnN0IGk9bi5jbG9zZXN0KCJ0ciIpO2lmKCEoaSBpbnN0YW5jZW9mIEhUTUxUYWJsZVJvd0VsZW1lbnQpKXJldHVybjtjb25zdCBvPWUucXVlcnlTZWxlY3RvcigidGhlYWQiKTtpZighKG8gaW5zdGFuY2VvZiBIVE1MVGFibGVTZWN0aW9uRWxlbWVudCkpcmV0dXJuO2NvbnN0IGE9aS5vZmZzZXRUb3AtZS5vZmZzZXRIZWlnaHQvMitpLm9mZnNldEhlaWdodC8yLW8ub2Zmc2V0SGVpZ2h0LzI7ImNlbnRlciI9PT1yP2Uuc2Nyb2xsVG8oKCgwLHMuaXNSdGwpKCk/LTE6MSkqKGUuc2Nyb2xsV2lkdGgtZS5jbGllbnRXaWR0aCkvMixhKToibGVmdCI9PT1yJiZlLnNjcm9sbFRvKDAsYSl9fSw3MDYwNTAodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7Y2hhaW5Gb3JtYXROdW1iZXI6KCk9Pm4sY2hhaW5Gb3JtYXRTcHJlYWQ6KCk9PmksZ2V0Q29sdW1uRGF0YUFsaWduOigpPT5sLGdldFRvdGFsQ29sdW1uczooKT0+YSxyZW5kZXJTaG93T25seTooKT0+b30pO3ZhciBzPXIoMjUyODY2KTtmdW5jdGlvbiBuKHQsZSl7aWYobnVsbD09dClyZXR1cm4gcy5FTVBUWV9WQUxVRTtjb25zdCByPWUuZm9ybWF0KHQpO3JldHVybiAwPT09TnVtYmVyKHIpPyIwIjpyfWZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gMD09PXQ/cy5FTVBUWV9WQUxVRTpuKHQsZSl9ZnVuY3Rpb24gbyh0LGUpe2lmKCJjYWxscyI9PT10KXJldHVybltlLmNlbnRyYWwoKSxlLmNhbGxzKCldO2lmKCJwdXRzIj09PXQpcmV0dXJuW2UuY2VudHJhbCgpLGUucHV0cygpXTtjb25zdCByPWUuY2FsbHMoKTtyZXR1cm4gQXJyYXkuaXNBcnJheShyKSYmci5yZXZlcnNlKCksW3IsZS5jZW50cmFsKCksZS5wdXRzKCldfWZ1bmN0aW9uIGEodCl7cmV0dXJuKHQuc2hvd09ubHk/MToyKSp0LnNpZGVDb2xzLmxlbmd0aCt0LmNlbnRyYWxDb2xzLmxlbmd0aH1mdW5jdGlvbiBsKHQsZSxyKXtyZXR1cm4ic2lkZS1zdGFydCI9PT10PyJjYWxsIiE9PWV8fHI/ImxlZnQiOiJyaWdodCI6dH19LDM0OTM0MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtFbXB0eVN5bWJvbFF1b3RlczooKT0+dX0pO3ZhciBzPXIoOTE0NDg3KSxuPXIubihzKSxpPXIoMTg1MjcxKSxvPXIoNzc5NDc0KSxhPXIoNzY1OTE0KSxsPXIoNjI2MDgyKTtmdW5jdGlvbiBjKHQpe2NvbnN0e2NsYXNzTmFtZTplLHRpdGxlOnIsdGV4dDpzfT10O3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoYS5FbXB0eVN0YXRlQmxvY2sse2NsYXNzTmFtZTpuKCkoZSxsLmJsb2NrKSxpY29uQ2xhc3M6bC5lbXB0eVN0YXRlSWNvbix0ZXh0OnMsdGl0bGU6cn0pfWZ1bmN0aW9uIHUodCl7Y29uc3R7Y2xhc3NOYW1lOmV9PXQ7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChjLHtjbGFzc05hbWU6ZSx0ZXh0OmkudChudWxsLHZvaWQgMCxyKDk4NDIzNikpLHRpdGxlOmkudChudWxsLHtjb250ZXh0OiJlbXB0eSBzdGF0ZSB0aXRsZSJ9LHIoOTA0NzA0KSl9KX19LDc2NTU5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse1BpY2tlclNrZWxldG9uOigpPT5jfSk7dmFyIHM9cig0MDE4NjIpLG49cig5MTQ0ODcpLGk9ci5uKG4pLG89cig3Nzk0NzQpLGE9cig4ODY4MTApO2NvbnN0IGw9W3trZXk6MSxpdGVtczpbLi4uQXJyYXkoNikua2V5cygpXX0se2tleToyLGl0ZW1zOlsuLi5BcnJheSg4KS5rZXlzKCldfSx7a2V5OjMsaXRlbXM6Wy4uLkFycmF5KDUpLmtleXMoKV19LHtrZXk6NCxpdGVtczpbLi4uQXJyYXkoNCkua2V5cygpXX0se2tleTo1LGl0ZW1zOlsuLi5BcnJheSgzKS5rZXlzKCldfSx7a2V5OjYsaXRlbXM6Wy4uLkFycmF5KDEpLmtleXMoKV19XTtmdW5jdGlvbiBjKHQpe2NvbnN0e2NsYXNzTmFtZTplfT10O3JldHVybiBvLmNyZWF0ZUVsZW1lbnQocy5Ta2VsZXRvbix7Y2xhc3NOYW1lOmkoKShlLGEucm9vdCl9LG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEuc2Nyb2xsQ29udGFpbmVyfSxsLm1hcCgodD0+by5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YS5ncm91cCxrZXk6dC5rZXl9LG8uY3JlYXRlRWxlbWVudChzLlNrZWxldG9uLlJlY3RhbmdsZSx7Y2xhc3NOYW1lOmEuZ3JvdXBUaXRsZX0pLG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEuaXRlbXN9LHQuaXRlbXMubWFwKCh0PT5vLmNyZWF0ZUVsZW1lbnQocy5Ta2VsZXRvbi5SZWN0YW5nbGUse2tleTp0LGNsYXNzTmFtZTphLml0ZW19KSkpKSkpKSkpfX0sMTM2NzUxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse1BpY2tlcjooKT0+X30pO3ZhciBzPXIoODU0ODIwKSxuPXIoNjE2MzExKSxpPXIoMjczMzEwKSxvPXIoMTY0MjQyKSxhPXIoOTE0NDg3KSxsPXIubihhKSxjPXIoNzc5NDc0KSx1PXIoMzI5NjY4KSxoPXIoOTY5MTY4KSxkPXIoOTA4MDM0KSxtPXIoMjk1NzQ0KSxwPXIoNzIxOTEwKSxnPXIoMTgyMzA4KSxmPXIoNTI0ODU4KTtmdW5jdGlvbiB5KHQpe2NvbnN0e2Rpc2FibGVkOmUsaXRlbTpyLHNlbGVjdGVkOnMsb25DbGljazpufT10LFtpLG9dPSgwLGcudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KShudWxsKTtyZXR1cm4gci5jdXN0b21Db250ZW50P2MuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmYuaXRlbQp9LHIuY3VzdG9tQ29udGVudCk6Yy5jcmVhdGVFbGVtZW50KG0uU3F1YXJlQnV0dG9uLHsiYXJpYS1zZWxlY3RlZCI6cyxjbGFzc05hbWU6bCgpKCJhcHBseS1jb21tb24tdG9vbHRpcCIsZi5pdGVtKSxjb2xvcjpzPyJibGFjayI6ImdyYXkiLGRpc2FibGVkOmUsb25DbGljazpuLHJlZmVyZW5jZTppLHNpemU6InhzbWFsbCIsdGFiSW5kZXg6byx0aXRsZTpyLnRvb2x0aXB9LGMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpmLml0ZW1Db250ZW50fSxyLnRpdGxlLHIuY291bnQmJmMuY3JlYXRlRWxlbWVudChwLkNvdW50ZXIse2NsYXNzTmFtZTpmLmNvdW50ZXIsY29sb3I6cz8ibmV1dHJhbCI6Im5ldXRyYWwtYm9sZCIsY291bnQ6ci5jb3VudCxzaXplOiJ4c21hbGwifSkpKX12YXIgdj1yKDIzNjE0NiksYj1yKDYwOTg3Nik7Y29uc3QgXz0oMCxjLm1lbW8pKChmdW5jdGlvbih0KXtjb25zdHtjbGFzc05hbWU6ZSxncm91cHM6cixtYXhTZWxlY3RlZEl0ZW1zOmE9NSxtb2RlOmg9Im11bHRpLXNlbGVjdCIsb25DaGFuZ2U6bSxvblJlbW92ZTpwLG9uU2VsZWN0OmcsdmFsdWVzOmY9W10sLi4uX309dCxbRSxTXT0oMCxkLnVzZVJvd3NOYXZpZ2F0aW9uKSgpLFtrLHddPSgwLGMudXNlU3RhdGUpKCExKSxbUixJXT0oMCxjLnVzZVN0YXRlKSghMSksVD0oMCxjLnVzZVJlZikoITApO3JldHVybigwLG4udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57VC5jdXJyZW50PSEwfSksW3JdKSwoMCxuLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QpKCgoKT0+e2lmKEUuY3VycmVudCYmVC5jdXJyZW50JiZmLmxlbmd0aD4wKXtjb25zdCB0PUUuY3VycmVudC5xdWVyeVNlbGVjdG9yKCdbYXJpYS1zZWxlY3RlZD0idHJ1ZSJdJyk7dCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYoKDAsdS5iZWNvbWVNYWluRWxlbWVudCkodCksRS5jdXJyZW50LnNjcm9sbFRvKHtsZWZ0OnQub2Zmc2V0TGVmdC1FLmN1cnJlbnQuY2xpZW50V2lkdGgvMit0LmNsaWVudFdpZHRoLzJ9KSksVC5jdXJyZW50PSExfX0pLFtFLGZdKSxjLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoZSxiLnJvb3Qse1tiLnJpZ2h0RmFkZV06UixbYi5sZWZ0RmFkZV06a30pLC4uLl99LGMuY3JlYXRlRWxlbWVudChzLkxpZ2h0QnV0dG9uLHtkYXRhUWFJZDoicGlja2VyLWxlZnQiLGNsYXNzTmFtZTpiLmxlZnRBcnJvdyxzaXplOiJ4c21hbGwiLHZhcmlhbnQ6InNlY29uZGFyeSIsc3RhcnRTbG90OmMuY3JlYXRlRWxlbWVudChpLkljb24se2ljb246dn0pLG9uQ2xpY2s6KCk9PkMoInRvLWxlZnQiLEUuY3VycmVudCksdGFiSW5kZXg6az92b2lkIDA6LTF9KSxjLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpiLnNjcm9sbENvbnRhaW5lcixyZWY6RSxvbktleURvd246U30sYy5jcmVhdGVFbGVtZW50KG8uSW50ZXJzZWN0aW9uWm9uZSx7cG9zaXRpb246LTEsaW50ZXJzZWN0aW9uQ2I6ZnVuY3Rpb24odCl7dyghdC5pc0ludGVyc2VjdGluZyl9fSksci5tYXAoKHQ9PmMuY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtcWEtaWQiOiJwaWNrZXItZ3JvdXAiLGtleTp0LmlkLGNsYXNzTmFtZTpsKCkoYi5ncm91cCx7W2Iuc3ViZ3JvdXBdOnQuc3ViZ3JvdXAsW2Iub25lR3JvdXBdOjE9PT1yLmxlbmd0aH0pfSxjLmNyZWF0ZUVsZW1lbnQoImRpdiIseyJkYXRhLXFhLWlkIjoicGlja2VyLWdyb3VwLXRpdGxlIixjbGFzc05hbWU6Yi5ncm91cFRpdGxlfSxjLmNyZWF0ZUVsZW1lbnQoInNwYW4iLG51bGwsdC50aXRsZSkpLGMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmIuaXRlbXN9LHQuaXRlbXMubWFwKCh0PT5jLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OnQudmFsdWUsZGlzYWJsZWQ6Zi5sZW5ndGg+PWEmJiFmLmluY2x1ZGVzKHQudmFsdWUpLGl0ZW06dCxvbkNsaWNrOmU9PigodCxlKT0+e2lmKGYuaW5jbHVkZXMoZSkpe2lmKGYubGVuZ3RoPD0xKXJldHVybjtwPy4oZSksInNpbmdsZS1zZWxlY3QiPT09aD9tPy4oW10pOiJtdWx0aS1zZWxlY3QiPT09aCYmbT8uKGYuZmlsdGVyKCh0PT5lIT09dCkpKX1lbHNlIGc/LihlKSx0LmN1cnJlbnRUYXJnZXQuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOiJzbW9vdGgiLGlubGluZToibmVhcmVzdCIsYmxvY2s6Im5lYXJlc3QifSksInNpbmdsZS1zZWxlY3QiPT09aD9tPy4oW2VdKToibXVsdGktc2VsZWN0Ij09PWgmJm0/LihbLi4uZixlXSl9KShlLHQudmFsdWUpLHNlbGVjdGVkOmYuaW5jbHVkZXModC52YWx1ZSl9KSkpKSkpKSxjLmNyZWF0ZUVsZW1lbnQoby5JbnRlcnNlY3Rpb25ab25lLHtwb3NpdGlvbjoxLGludGVyc2VjdGlvbkNiOmZ1bmN0aW9uKHQpe0koIXQuaXNJbnRlcnNlY3RpbmcpfX0pKSxjLmNyZWF0ZUVsZW1lbnQocy5MaWdodEJ1dHRvbix7ZGF0YVFhSWQ6InBpY2tlci1yaWdodCIsY2xhc3NOYW1lOmIucmlnaHRBcnJvdyxzaXplOiJ4c21hbGwiLHZhcmlhbnQ6InNlY29uZGFyeSIsc3RhcnRTbG90OmMuY3JlYXRlRWxlbWVudChpLkljb24se2ljb246dn0pLG9uQ2xpY2s6KCk9PkMoInRvLXJpZ2h0IixFLmN1cnJlbnQpLHRhYkluZGV4OlI/dm9pZCAwOi0xfSkpfSkpO2Z1bmN0aW9uIEModCxlKXtpZihudWxsPT09ZSlyZXR1cm47Y29uc3Qgcj0uNDUqZS5jbGllbnRXaWR0aDsidG8tbGVmdCI9PT10P2Uuc2Nyb2xsVG8oe2xlZnQ6KDAsaC5pc1J0bCkoKT9lLnNjcm9sbExlZnQrcjplLnNjcm9sbExlZnQtcixiZWhhdmlvcjoic21vb3RoIn0pOiJ0by1yaWdodCI9PT10JiZlLnNjcm9sbFRvKHtsZWZ0OigwLGguaXNSdGwpKCk/ZS5zY3JvbGxMZWZ0LXI6ZS5zY3JvbGxMZWZ0K3IsYmVoYXZpb3I6InNtb290aCJ9KX19LDU0NjU1OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHt1c2VBY3Rpdml0eVRpbWVUcmFja2luZzooKT0+b30pO3ZhciBzPXIoNzc5NDc0KSxuPXIoNjE4ODY0KSxpPXIoNjA3MzQ1KTtmdW5jdGlvbiBvKHQpe2NvbnN0IGU9KDAsaS51c2VPcHRpb25zRXZlbnRUcmFja2VyKSgpOygwLHMudXNlRWZmZWN0KSgoKCk9Pntjb25zdCByPW5ldyBBYm9ydENvbnRyb2xsZXIscz1uZXcgbi5BY3Rpdml0eVRyYWNrZXI7cy5zdGFydFRyYWNraW5nKCkKO2NvbnN0IGk9KCk9PntlKHQscy5nZXRDdXJyZW50QWN0aXZpdHlUaW1lKCkudG9TdHJpbmcoKSl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIiwoKCk9PnsiaGlkZGVuIj09PWRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT8oaSgpLHMuc3RvcFRyYWNraW5nKCkpOnMuc3RhcnRUcmFja2luZygpfSkse3NpZ25hbDpyLnNpZ25hbH0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgoKT0+ci5hYm9ydCgpKSx7c2lnbmFsOnIuc2lnbmFsfSksci5zaWduYWwuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgoKT0+e2koKSxzLnN0b3BUcmFja2luZygpfSkpLCgpPT57ci5hYm9ydCgpfX0pLFt0LGVdKX19LDM3MDY0Mih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHt1c2VPcGVuVHJhY2tpbmc6KCk9Pml9KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDYwNzM0NSk7ZnVuY3Rpb24gaSh0KXtjb25zdCBlPSgwLG4udXNlT3B0aW9uc0V2ZW50VHJhY2tlcikoKTsoMCxzLnVzZUVmZmVjdCkoKCgpPT57ZSh0KX0pLFt0LGVdKX19LDYwNzM0NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHt1c2VPcHRpb25zRXZlbnRUcmFja2VyOigpPT5sfSk7dmFyIHM9cig3Nzk0NzQpLG49cigyMjEwNjEpLGk9cigzNjIyMzkpO2NvbnN0IG89KDAsbi5nZXRMb2dnZXIpKCJPcHRpb25zLlRyYWNrT3B0aW9uc0V2ZW50Iik7dmFyIGE9cig0ODAyODQpO2Z1bmN0aW9uIGwoKXtjb25zdCB0PSgwLGEudXNlT3B0aW9uc1NvdXJjZVRyYWNrRXZlbnQpKCk7cmV0dXJuKDAscy51c2VDYWxsYmFjaykoKChlLHIpPT57IWZ1bmN0aW9uKHQsZSxyKXsoMCxpLmdldFRyYWNrZXIpKCkudGhlbigocz0+e251bGwhPT1zJiZzLnRyYWNrT3B0aW9uc0V2ZW50KHtzb3VyY2U6dCxlbGVtZW50X2lkOmUsZGF0YV9pZDpyPz9udWxsfSl9KSkuY2F0Y2goKCgpPT57by5sb2dFcnJvcigiU25vd3Bsb3cgdHJhY2tlciBsb2FkIGVycm9yIil9KSl9KHQsZSxyKX0pLFt0XSl9fSw3OTExNDAodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7dXNlVFZTZXR0aW5nczooKT0+aX0pO3ZhciBzPXIoNzc5NDc0KSxuPXIoOTMwNTY2KTtmdW5jdGlvbiBpKHQsZSl7Y29uc3Qgcj0oMCxzLnVzZVJlZikoZSk7ci5jdXJyZW50PWU7Y29uc3QgaT0oMCxzLnVzZUNhbGxiYWNrKSgoKCk9PnIuY3VycmVudChuLmdldEpTT04odCkpKSxbdF0pLFtvLGFdPSgwLHMudXNlU3RhdGUpKGkpOygwLHMudXNlRWZmZWN0KSgoKCk9PntmdW5jdGlvbiB0KCl7YShpKCkpfXJldHVybiB3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS5zdWJzY3JpYmUobnVsbCx0KSwoKT0+d2luZG93LmxvZ2luU3RhdGVDaGFuZ2UudW5zdWJzY3JpYmUobnVsbCx0KX0pLFtpXSk7cmV0dXJuW28sKDAscy51c2VDYWxsYmFjaykoKGU9PnthKChyPT57Y29uc3Qgcz1lIGluc3RhbmNlb2YgRnVuY3Rpb24/ZShyKTplO3JldHVybiBuLnNldEpTT04odCxzKSxzfSkpfSksW3RdKV19aS5ib29sZWFuPWZ1bmN0aW9uKHQsZT0hMSl7cmV0dXJuIGkodCwodD0+ImJvb2xlYW4iPT10eXBlb2YgdD90OmUpKX0saS5udW1iZXI9ZnVuY3Rpb24odCxlPTApe3JldHVybiBpKHQsKHQ9PiJudW1iZXIiPT10eXBlb2YgdD90OmUpKX0saS5zdHJpbmc9ZnVuY3Rpb24odCxlPSIiKXtyZXR1cm4gaSh0LCh0PT4ic3RyaW5nIj09dHlwZW9mIHQ/dDplKSl9fSw3MDEyNTkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7Y3JlYXRlU2NhblBhcmFtTWFuYWdlcjooKT0+bn0pO3ZhciBzPXIoMTgwNjY3KTtmdW5jdGlvbiBuKHQpe2NvbnN0IGU9bmV3IHMuU2NhblBhcmFtc01hbmFnZXI7cmV0dXJuIGUuc2V0UGFyYW1zKHQpLGV9fSw4ODQ2MzQodCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztyLmQoZSx7RmlsdGVyT3BlcmF0aW9uOigpPT5zfSksZnVuY3Rpb24odCl7dC5MZXNzPSJsZXNzIix0LkdyZWF0ZXI9ImdyZWF0ZXIiLHQuRXF1YWw9ImVxdWFsIix0Lk5vdEVxdWFsPSJuZXF1YWwiLHQuRXF1YWxPckxlc3M9ImVsZXNzIix0LkVxdWFsT3JHcmVhdGVyPSJlZ3JlYXRlciIsdC5JblJhbmdlPSJpbl9yYW5nZSIsdC5Ob3RJblJhbmdlPSJub3RfaW5fcmFuZ2UiLHQuRW1wdHk9ImVtcHR5Iix0Lk5vdEVtcHR5PSJuZW1wdHkiLHQuQ3Jvc3Nlcz0iY3Jvc3NlcyIsdC5Dcm9zc2VzQWJvdmU9ImNyb3NzZXNfYWJvdmUiLHQuQ3Jvc3Nlc0JlbG93PSJjcm9zc2VzX2JlbG93Iix0Lk1hdGNoPSJtYXRjaCIsdC5Ob3RNYXRjaD0ibm1hdGNoIix0LlNpbXBsZU1hdGNoPSJzbWF0Y2giLHQuSGFzPSJoYXMiLHQuSGFzTm9uZU9mPSJoYXNfbm9uZV9vZiIsdC5BYm92ZVBlcmNlbnQ9ImFib3ZlJSIsdC5CZWxvd1BlcmNlbnQ9ImJlbG93JSIsdC5JblJhbmdlUGVyY2VudD0iaW5fcmFuZ2UlIix0LkluRGF5UmFuZ2U9ImluX2RheV9yYW5nZSIsdC5JbldlZWtSYW5nZT0iaW5fd2Vla19yYW5nZSIsdC5Jbk1vbnRoUmFuZ2U9ImluX21vbnRoX3JhbmdlIix0LkluWWVhclJhbmdlPSJpbl95ZWFyX3JhbmdlIn0oc3x8KHM9e30pKX0sODI3MDI5KHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIHMsbixpO3IuZChlLHtFVV9NQVJLRVRTOigpPT5vLEdsb2JhbE1hcmtldDooKT0+aSxOb25TdG9ja01hcmtldDooKT0+bixTdG9ja01hcmtldDooKT0+c30pLGZ1bmN0aW9uKHQpe3QuQW1lcmljYT0iYW1lcmljYSIsdC5BcmdlbnRpbmE9ImFyZ2VudGluYSIsdC5BdXN0cmFsaWE9ImF1c3RyYWxpYSIsdC5BdXN0cmlhPSJhdXN0cmlhIix0LkJhaHJhaW49ImJhaHJhaW4iLHQuQmFuZ2xhZGVzaD0iYmFuZ2xhZGVzaCIsdC5CZWxnaXVtPSJiZWxnaXVtIix0LkJ1bGdhcmlhPSJidWxnYXJpYSIsdC5CcmF6aWw9ImJyYXppbCIsdC5DYW5hZGE9ImNhbmFkYSIsdC5DaGlsZT0iY2hpbGUiLHQuQ2hpbmE9ImNoaW5hIix0LkNvbG9tYmlhPSJjb2xvbWJpYSIsdC5Dcm9hdGlhPSJjcm9hdGlhIix0LkN5cHJ1cz0iY3lwcnVzIix0LkN6ZWNoPSJjemVjaCIsdC5EZW5tYXJrPSJkZW5tYXJrIix0LkVneXB0PSJlZ3lwdCIsdC5Fc3RvbmlhPSJlc3RvbmlhIix0LkZpbmxhbmQ9ImZpbmxhbmQiLHQuRnJhbmNlPSJmcmFuY2UiLAp0Lkdlcm1hbnk9Imdlcm1hbnkiLHQuR3JlZWNlPSJncmVlY2UiLHQuSG9uZ0tvbmc9Imhvbmdrb25nIix0Lkh1bmdhcnk9Imh1bmdhcnkiLHQuSWNlbGFuZD0iaWNlbGFuZCIsdC5JbmRpYT0iaW5kaWEiLHQuSW5kb25lc2lhPSJpbmRvbmVzaWEiLHQuSXJlbGFuZD0iaXJlbGFuZCIsdC5Jc3JhZWw9ImlzcmFlbCIsdC5JdGFseT0iaXRhbHkiLHQuSmFwYW49ImphcGFuIix0LktlbnlhPSJrZW55YSIsdC5LdXdhaXQ9Imt1d2FpdCIsdC5MYXR2aWE9ImxhdHZpYSIsdC5MaXRodWFuaWE9ImxpdGh1YW5pYSIsdC5MdXhlbWJvdXJnPSJsdXhlbWJvdXJnIix0Lk1hbGF5c2lhPSJtYWxheXNpYSIsdC5NZXhpY289Im1leGljbyIsdC5Nb3JvY2NvPSJtb3JvY2NvIix0Lk5ldGhlcmxhbmRzPSJuZXRoZXJsYW5kcyIsdC5OZXdaZWFsYW5kPSJuZXd6ZWFsYW5kIix0Lk5pZ2VyaWE9Im5pZ2VyaWEiLHQuTm9yd2F5PSJub3J3YXkiLHQuUGFraXN0YW49InBha2lzdGFuIix0LlBlcnU9InBlcnUiLHQuUGhpbGlwcGluZXM9InBoaWxpcHBpbmVzIix0LlBvbGFuZD0icG9sYW5kIix0LlBvcnR1Z2FsPSJwb3J0dWdhbCIsdC5RYXRhcj0icWF0YXIiLHQuUm9tYW5pYT0icm9tYW5pYSIsdC5SdXNzaWE9InJ1c3NpYSIsdC5TYXVkaUFyYWJpYT0ia3NhIix0LlNlcmJpYT0ic2VyYmlhIix0LlNpbmdhcG9yZT0ic2luZ2Fwb3JlIix0LlNsb3Zha2lhPSJzbG92YWtpYSIsdC5TbG92ZW5pYT0ic2xvdmVuaWEiLHQuU291dGhBZnJpY2E9InJzYSIsdC5Tb3V0aEtvcmVhPSJrb3JlYSIsdC5TcGFpbj0ic3BhaW4iLHQuU3JpTGFua2E9InNyaWxhbmthIix0LlN3ZWRlbj0ic3dlZGVuIix0LlN3aXR6ZXJsYW5kPSJzd2l0emVybGFuZCIsdC5UYWl3YW49InRhaXdhbiIsdC5UaGFpbGFuZD0idGhhaWxhbmQiLHQuVHVuaXNpYT0idHVuaXNpYSIsdC5UdXJrZXk9InR1cmtleSIsdC5VQUU9InVhZSIsdC5VSz0idWsiLHQuVmVuZXp1ZWxhPSJ2ZW5lenVlbGEiLHQuVmlldG5hbT0idmlldG5hbSJ9KHN8fChzPXt9KSksZnVuY3Rpb24odCl7dC5Gb3JleD0iZm9yZXgiLHQuQ3J5cHRvPSJjcnlwdG8iLHQuQ29pbj0iY29pbiIsdC5DRkQ9ImNmZCIsdC5Cb25kcz0iYm9uZHMiLHQuQm9uZD0iYm9uZCIsdC5GdXR1cmVzPSJmdXR1cmVzIix0Lk9wdGlvbnM9Im9wdGlvbnMifShufHwobj17fSkpLGZ1bmN0aW9uKHQpe3QuR2xvYmFsPSJnbG9iYWwifShpfHwoaT17fSkpO3MuQmVsZ2l1bSxzLkN5cHJ1cyxzLkRlbm1hcmsscy5Fc3RvbmlhLHMuRmlubGFuZCxzLkZyYW5jZSxzLkdlcm1hbnkscy5HcmVlY2Uscy5IdW5nYXJ5LHMuSWNlbGFuZCxzLkl0YWx5LHMuTGF0dmlhLHMuTGl0aHVhbmlhLHMuTHV4ZW1ib3VyZyxzLk5ldGhlcmxhbmRzLHMuTm9yd2F5LHMuUG9sYW5kLHMuUG9ydHVnYWwscy5Sb21hbmlhLHMuUnVzc2lhLHMuU2VyYmlhLHMuU2xvdmFraWEscy5TcGFpbixzLlN3ZWRlbixzLlN3aXR6ZXJsYW5kLHMuVHVya2V5LHMuVUs7Y29uc3Qgbz1bcy5CZWxnaXVtLHMuQ3lwcnVzLHMuRGVubWFyayxzLkVzdG9uaWEscy5GaW5sYW5kLHMuRnJhbmNlLHMuR2VybWFueSxzLkdyZWVjZSxzLkh1bmdhcnkscy5JdGFseSxzLkxhdHZpYSxzLkxpdGh1YW5pYSxzLkx1eGVtYm91cmcscy5OZXRoZXJsYW5kcyxzLlBvbGFuZCxzLlBvcnR1Z2FsLHMuUm9tYW5pYSxzLlNsb3Zha2lhLHMuU3BhaW4scy5Td2VkZW5dfSw1OTU1MTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7Z2V0U2NhbjJEYXRhOigpPT5kLGdldFNjYW5EYXRhOigpPT5ofSk7dmFyIHM9cigzODQwMTcpLG49cigyMTYwNzkpLGk9cigxNTg3NjMpLG89cigzMjYwNDgpLGE9cigxMzM4NzQpO2NvbnN0IGw9InVzZXIgZG9lcyBub3QgaGF2ZSByaWdodHMgdG8gd2F0Y2hsaXN0IjtjbGFzcyBjIGV4dGVuZHMgYS5FcnJvclJlc3BvbnNle2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpLHRoaXMubmFtZT0iV2F0Y2hsaXN0UmlnaHRzRXJyb3IiLHQuZXJyb3I/dGhpcy5tZXNzYWdlPWw6dGhpcy5tZXNzYWdlPSJ1bmtub3duIGVycm9yIn19ZnVuY3Rpb24gdSh0LGUscixhLHUsaD17QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn0pe2NvbnN0IGQ9ci5nZXRNYXJrZXRzKCksbT1uZXcgVVJMKCgwLG4uZ2V0QmFja2VuZFVybCkoZCxhKSt0KTt1JiZtLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxhYmVsLXByb2R1Y3QiLHUpO2NvbnN0IHA9SlNPTi5zdHJpbmdpZnkoci5nZXRQYXJhbXMoKSk7cmV0dXJuKDAscy5mZXRjaCkobS50b1N0cmluZygpLHtzaWduYWw6ZSxtZXRob2Q6IlBPU1QiLGJvZHk6cCxjcmVkZW50aWFsczoiaW5jbHVkZSIsaGVhZGVyczpofSkudGhlbigodD0+e2lmKDQwMD09PXQuc3RhdHVzKXtjb25zdHtzdGF0dXM6ZSxzdGF0dXNUZXh0OnJ9PXQ7cmV0dXJuIHQuanNvbigpLnRoZW4oKHQ9Pntjb25zdCBzPXQuZXJyb3I7aWYodm9pZCAwIT09KG49cykmJm4uaW5jbHVkZXMobCkpdGhyb3cgbmV3IGMoe3N0YXR1czplLHN0YXR1c1RleHQ6cixlcnJvcjpzfSk7dmFyIG47dGhyb3cgbmV3IG8uQmFkUmVxdWVzdEVycm9yUmVzcG9uc2Uoe3N0YXR1czplLHN0YXR1c1RleHQ6cixlcnJvcjpzfSl9KSl9aWYodC5vaylyZXR1cm4gdC5qc29uKCkudGhlbigodD0+dCkpO3Rocm93IG5ldyBpLkh0dHBFcnJvclJlc3BvbnNlKHQpfSkpfWZ1bmN0aW9uIGgodCxlLHIscyl7cmV0dXJuIHUoInNjYW4iLHQsZSxyLHMpfWZ1bmN0aW9uIGQodCxlLHIscyl7cmV0dXJuIHUoInNjYW4yIix0LGUscixzKX19LDM5MjU3Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtDb2x1bW5zQ29sbGVjdGlvbjooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoKXt0aGlzLl9jb2x1bW5zPW5ldyBTZXR9c2V0U3RhdGUodCl7cmV0dXJuIHRoaXMuX2NvbHVtbnMuY2xlYXIoKSx0LmZvckVhY2godGhpcy5fY29sdW1ucy5hZGQsdGhpcy5fY29sdW1ucyksdGhpc31hZGRDb2x1bW4odCl7cmV0dXJuIHRoaXMuX2NvbHVtbnMuYWRkKHQpLHRoaXN9ZGVsZXRlQ29sdW1uKHQpe3JldHVybiB0aGlzLl9jb2x1bW5zLmRlbGV0ZSh0KSx0aGlzfWdldFN0YXRlKCl7cmV0dXJuWy4uLnRoaXMuX2NvbHVtbnNdfXJlc2V0U3RhdGUoKXsKcmV0dXJuIHRoaXMuX2NvbHVtbnMuY2xlYXIoKSx0aGlzfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX2NvbHVtbnMuc2l6ZX19fSwyNDgyNih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtGaWx0ZXJDb2xsZWN0aW9uOigpPT5zfSk7Y2xhc3Mgc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2ZpbHRlcnM9bmV3IFNldH1pc0VtcHR5KCl7cmV0dXJuIDA9PT10aGlzLl9maWx0ZXJzLnNpemV9Y2xvbmUoKXtyZXR1cm4obmV3IHMpLnNldFN0YXRlKHRoaXMuZ2V0U3RhdGUoKSl9Z2V0U3RhdGUoKXtyZXR1cm5bLi4udGhpcy5fZmlsdGVyc119c2V0U3RhdGUodCl7cmV0dXJuIHRoaXMuX3Jld3JpdGVGaWx0ZXJTZXQodGhpcy5fZmlsdGVycyx0KSx0aGlzfXJlc2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fZmlsdGVycy5jbGVhcigpLHRoaXN9YWRkQ29uZGl0aW9uKHQpe2NvbnN0IGU9QXJyYXkuaXNBcnJheSh0KT90Olt0XTtmb3IoY29uc3QgdCBvZiBlKXRoaXMuX2ZpbHRlcnMuYWRkKHQpO3JldHVybiB0aGlzfWRlbGV0ZUNvbmRpdGlvbih0KXtyZXR1cm4gdGhpcy5fZmlsdGVycy5kZWxldGUodCksdGhpc31fcmV3cml0ZUZpbHRlclNldCh0LGUpe3QuY2xlYXIoKSxlLmZvckVhY2godC5hZGQsdCl9fX0sODEyNTgzKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse0ZpbHRlcjI6KCk9PnN9KTtjbGFzcyBze2NvbnN0cnVjdG9yKCl7dGhpcy5fZmlsdGVyPXZvaWQgMH1yZXNldEZpbHRlcigpe3JldHVybiB0aGlzLl9maWx0ZXI9dm9pZCAwLHRoaXN9Z2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fZmlsdGVyP0pTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5fZmlsdGVyKSk6dm9pZCAwfXNldFN0YXRlKHQpe3JldHVybiB0aGlzLl9maWx0ZXI9dCx0aGlzfWFkZEZpbHRlcjIodCl7Y29uc3QgZT10aGlzLmdldFN0YXRlKCk7aWYoIWUpcmV0dXJuIHRoaXMuc2V0U3RhdGUoe29wZXJhdG9yOnQub3BlcmF0b3Isb3BlcmFuZHM6dC5vcGVyYW5kc30pLHRoaXM7Y29uc3R7b3BlcmF0b3I6cixvcGVyYW5kczpzfT1lO3JldHVybiB0aGlzLnNldFN0YXRlKHtvcGVyYXRvcjpyLG9wZXJhbmRzOlsuLi5zLC4uLnQub3BlcmFuZHNdfSksdGhpc319fSwyMTgxNDUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7T3B0aW9uczooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoKXt0aGlzLl9vcHRpb25zPXt9fXNldFN0YXRlKHQpe3JldHVybiB0aGlzLl9vcHRpb25zPXQsdGhpc31yZXN0cmljdEVvZCgpe3JldHVybiB0aGlzLl9vcHRpb25zLmRhdGFfcmVzdHJpY3Rpb25zPSJQUkVWX0JBUiIsdGhpc31ub0VvZFJlc3RyaWN0aW9uKCl7cmV0dXJuIGRlbGV0ZSB0aGlzLl9vcHRpb25zLmRhdGFfcmVzdHJpY3Rpb25zLHRoaXN9c2V0TGFuZyh0KXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5sYW5nPXQsdGhpc31yZXNldExhbmcoKXtyZXR1cm4gZGVsZXRlIHRoaXMuX29wdGlvbnMubGFuZyx0aGlzfWdldFN0YXRlKCl7cmV0dXJuey4uLnRoaXMuX29wdGlvbnN9fXJlc2V0T3B0aW9ucygpe3JldHVybiB0aGlzLl9vcHRpb25zPXt9LHRoaXN9aXNFbXB0eSgpe3JldHVybiAwPT09T2JqZWN0LnZhbHVlcyh0aGlzLl9vcHRpb25zKS5sZW5ndGh9fX0sMTk1MjIzKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse1NjYW5QcmljZUNvbnZlcnNpb246KCk9PnN9KTtjbGFzcyBze2NvbnN0cnVjdG9yKCl7dGhpcy5fcHJpY2VDb252ZXJzaW9uPXt9fXNldFByaWNlQ29udmVyc2lvbih0KXtyZXR1cm4gdGhpcy5fcHJpY2VDb252ZXJzaW9uPXQsdGhpc31nZXRTdGF0ZSgpe3JldHVybnsuLi52b2lkIDAhPT10aGlzLl9wcmljZUNvbnZlcnNpb24udG9fc3ltYm9sP3t0b19zeW1ib2w6dGhpcy5fcHJpY2VDb252ZXJzaW9uLnRvX3N5bWJvbH06e30sLi4udm9pZCAwIT09dGhpcy5fcHJpY2VDb252ZXJzaW9uLnRvX2N1cnJlbmN5P3t0b19jdXJyZW5jeTp0aGlzLl9wcmljZUNvbnZlcnNpb24udG9fY3VycmVuY3l9Ont9LC4uLnZvaWQgMCE9PXRoaXMuX3ByaWNlQ29udmVyc2lvbi5kaXNhYmxlZD97ZGlzYWJsZWQ6dGhpcy5fcHJpY2VDb252ZXJzaW9uLmRpc2FibGVkfTp7fX19cmVzZXQoKXtyZXR1cm4gdGhpcy5fcHJpY2VDb252ZXJzaW9uPXt9LHRoaXN9aXNFbXB0eSgpe3JldHVybiAwPT09T2JqZWN0LnZhbHVlcyh0aGlzLl9wcmljZUNvbnZlcnNpb24pLmxlbmd0aH19fSw4MjQ1MDIodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7UmFuZ2U6KCk9PnN9KTtjbGFzcyBze2NvbnN0cnVjdG9yKCl7dGhpcy5fcmFuZ2U9W119Z2V0U3RhdGUoKXtyZXR1cm5bLi4udGhpcy5fcmFuZ2VdfXNldFN0YXRlKHQpe3JldHVybiB0aGlzLl9yYW5nZT10LHRoaXN9cmVzZXRTdGF0ZSgpe3JldHVybiB0aGlzLl9yYW5nZT1bXSx0aGlzfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX3JhbmdlLmxlbmd0aH19fSwxODA2NjcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7U2NhblBhcmFtc01hbmFnZXI6KCk9Pmh9KTt2YXIgcz1yKDI0ODI2KSxuPXIoMjE4MTQ1KSxpPXIoMTk1MjIzKSxvPXIoNzM4ODEpLGE9cigzOTI1NzMpLGw9cig4MjQ1MDIpLGM9cigzMjMwMjcpLHU9cig4MTI1ODMpO2NsYXNzIGh7Y29uc3RydWN0b3IoKXt0aGlzLl9maWx0ZXJDb2xsZWN0aW9uPW5ldyBzLkZpbHRlckNvbGxlY3Rpb24sdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SPW5ldyBzLkZpbHRlckNvbGxlY3Rpb24sdGhpcy5fY29sdW1ucz1uZXcgYS5Db2x1bW5zQ29sbGVjdGlvbix0aGlzLl9pZ25vcmVVbmtub3duRmllbGRzPSExLHRoaXMuX29wdGlvbnM9bmV3IG4uT3B0aW9ucyx0aGlzLl9wcmljZUNvbnZlcnNpb249bmV3IGkuU2NhblByaWNlQ29udmVyc2lvbix0aGlzLl9yYW5nZT1uZXcgbC5SYW5nZSx0aGlzLl9zb3J0PW5ldyBjLlNvcnQsdGhpcy5fc3ltYm9scz1uZXcgby5TeW1ib2xzLHRoaXMuX21hcmtldHM9W119Z2V0UGFyYW1zKCl7Y29uc3QgdD10aGlzLmdldEZpbHRlcjIoKSxlPXQ/e2ZpbHRlcjI6dH06dm9pZCAwLHI9dGhpcy5nZXRQcmVzZXQoKSxzPXI/e3ByZXNldDpyfTp2b2lkIDA7cmV0dXJuewpjb2x1bW5zOnRoaXMuaXNDb2x1bW5zRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRDb2x1bW5zKCksZmlsdGVyOnRoaXMuaXNGaWx0ZXJzRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRGaWx0ZXJzKCksZmlsdGVyT1I6dGhpcy5pc0ZpbHRlck9yRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRGaWx0ZXJPUigpLGlnbm9yZV91bmtub3duX2ZpZWxkczp0aGlzLmdldElnbm9yZVVua25vd25GaWVsZHMoKSxvcHRpb25zOnRoaXMuaXNPcHRpb25zRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRPcHRpb25zKCkscHJpY2VfY29udmVyc2lvbjp0aGlzLmlzUHJpY2VDb252ZXJzaW9uc0VtcHR5KCk/dm9pZCAwOnRoaXMuZ2V0UHJpY2VDb252ZXJzaW9uKCkscmFuZ2U6dGhpcy5pc1JhbmdlRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRSYW5nZSgpLHNvcnQ6dGhpcy5pc1NvcnRFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldFNvcnQoKSxzeW1ib2xzOnRoaXMuaXNTeW1ib2xzRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRTeW1ib2xzKCksbWFya2V0czp0aGlzLmlzTWFya2V0c0VtcHR5KCk/dm9pZCAwOnRoaXMuZ2V0TWFya2V0cygpLGluZGV4X2ZpbHRlcnM6dGhpcy5nZXRJbmRleEZpbHRlcnMoKSwuLi5zLC4uLmV9fWNsb25lKCl7Y29uc3QgdD1uZXcgaCxlPXRoaXMuZ2V0UGFyYW1zKCk7cmV0dXJuIHQuc2V0UGFyYW1zKGUpLHR9Z2V0RmlsdGVyc0NvbGxlY3Rpb25DbG9uZSgpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLmNsb25lKCl9c2V0UGFyYW1zKHQpe2NvbnN0IGU9e2NvbHVtbnM6KCk9PnRoaXMuc2V0Q29sdW1ucyh0LmNvbHVtbnMpLGZpbHRlcjI6KCk9PnRoaXMuc2V0RmlsdGVyMih0LmZpbHRlcjIpLGZpbHRlcjooKT0+dGhpcy5zZXRGaWx0ZXJzKHQuZmlsdGVyKSxmaWx0ZXJPUjooKT0+dGhpcy5zZXRGaWx0ZXJPUih0LmZpbHRlck9SKSxpZ25vcmVfdW5rbm93bl9maWVsZHM6KCk9PnQuaWdub3JlX3Vua25vd25fZmllbGRzP3RoaXMuaWdub3JlVW5rbm93bkZpZWxkcygpOnRoaXMuZG9Ob3RJZ25vcmVVbmtub3duRmllbGRzKCksbWFya2V0czooKT0+dGhpcy5zZXRNYXJrZXRzKHQubWFya2V0cyksb3B0aW9uczooKT0+dGhpcy5zZXRPcHRpb25zKHQub3B0aW9ucykscHJpY2VfY29udmVyc2lvbjooKT0+dGhpcy5zZXRQcmljZUNvbnZlcnNpb24odC5wcmljZV9jb252ZXJzaW9uKSxyYW5nZTooKT0+dGhpcy5zZXRSYW5nZSh0LnJhbmdlKSxzb3J0OigpPT50aGlzLnNldFNvcnQodC5zb3J0KSxzeW1ib2xzOigpPT50aGlzLnNldFN5bWJvbHModC5zeW1ib2xzKSxwcmVzZXQ6KCk9PnRoaXMuc2V0UHJlc2V0KHQucHJlc2V0KSxpbmRleF9maWx0ZXJzOigpPT50aGlzLnNldEluZGV4RmlsdGVycyh0LmluZGV4X2ZpbHRlcnMpfTtmb3IoY29uc3RbcixzXW9mIE9iamVjdC5lbnRyaWVzKGUpKXQuaGFzT3duUHJvcGVydHkocikmJnZvaWQgMCE9PXRbcl0mJnMoKTtyZXR1cm4gdGhpc31zZXRGaWx0ZXJzKHQpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLnNldFN0YXRlKHQpLHRoaXN9YWRkRmlsdGVyKHQpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLmFkZENvbmRpdGlvbih0KSx0aGlzfWdldEZpbHRlcnMoKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbi5nZXRTdGF0ZSgpfWRlbGV0ZUZpbHRlcih0KXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbi5kZWxldGVDb25kaXRpb24odCksdGhpc31yZXNldEZpbHRlcnMoKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbi5yZXNldFN0YXRlKCksdGhpc31pc0ZpbHRlcnNFbXB0eSgpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLmlzRW1wdHkoKX1zZXRGaWx0ZXJPUih0KXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLnNldFN0YXRlKHQpLHRoaXN9YWRkRmlsdGVyT1IodCl7cmV0dXJuIHRoaXMuX2ZpbHRlckNvbGxlY3Rpb25PUi5hZGRDb25kaXRpb24odCksdGhpc31nZXRGaWx0ZXJPUigpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uT1IuZ2V0U3RhdGUoKX1kZWxldGVGaWx0ZXJPUih0KXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLmRlbGV0ZUNvbmRpdGlvbih0KSx0aGlzfXJlc2V0RmlsdGVyT1IoKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLnJlc2V0U3RhdGUoKSx0aGlzfWlzRmlsdGVyT3JFbXB0eSgpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uT1IuaXNFbXB0eSgpfXNldEZpbHRlcjIodCl7cmV0dXJuIHRoaXMuX2ZpbHRlcjJ8fCh0aGlzLl9maWx0ZXIyPW5ldyB1LkZpbHRlcjIpLHRoaXMuX2ZpbHRlcjIuc2V0U3RhdGUodCksdGhpc31hZGRGaWx0ZXIyKHQpe3JldHVybiB0aGlzLl9maWx0ZXIyfHwodGhpcy5fZmlsdGVyMj1uZXcgdS5GaWx0ZXIyKSx0aGlzLl9maWx0ZXIyLmFkZEZpbHRlcjIodCksdGhpc31nZXRGaWx0ZXIyKCl7aWYodGhpcy5fZmlsdGVyMilyZXR1cm4gdGhpcy5fZmlsdGVyMi5nZXRTdGF0ZSgpfXJlc2V0RmlsdGVyMigpe3JldHVybiB0aGlzLl9maWx0ZXIyJiZ0aGlzLl9maWx0ZXIyLnJlc2V0RmlsdGVyKCksdGhpc31nZXRPcHRpb25zKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuZ2V0U3RhdGUoKX1zZXRPcHRpb25zKHQpe3JldHVybiB0aGlzLl9vcHRpb25zLnNldFN0YXRlKHQpLHRoaXN9cmVzZXRPcHRpb25zKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMucmVzZXRPcHRpb25zKCksdGhpc31yZXN0cmljdEVvZCgpe3JldHVybiB0aGlzLl9vcHRpb25zLnJlc3RyaWN0RW9kKCksdGhpc31ub0VvZFJlc3RyaWN0aW9uKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMubm9Fb2RSZXN0cmljdGlvbigpLHRoaXN9c2V0T3B0aW9uc0xhbmcodCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuc2V0TGFuZyh0KSx0aGlzfXJlc2V0T3B0aW9uc0xhbmcoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5yZXNldExhbmcoKSx0aGlzfWlzT3B0aW9uc0VtcHR5KCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuaXNFbXB0eSgpfWdldFN5bWJvbHMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5nZXRTdGF0ZSgpfXNldFN5bWJvbHModCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc2V0U3RhdGUodCksdGhpc30KcmVzZXRTeW1ib2xzKCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMucmVzZXRTdGF0ZSgpLHRoaXN9c2V0VGlja2Vycyh0KXtyZXR1cm4gdGhpcy5fc3ltYm9scy5zZXRUaWNrZXJzKHQpLHRoaXN9cmVzZXRUaWNrZXJzKCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMucmVzZXRUaWNrZXJzKCksdGhpc31zZXRTeW1ib2xzZXQodCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc2V0U3ltYm9sc2V0KHQpLHRoaXN9cmVzZXRTeW1ib2xzZXQoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5yZXNldFN5bWJvbHNldCgpLHRoaXN9c2V0VHlwZXModCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc2V0VHlwZXModCksdGhpc31yZXNldFR5cGVzKCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMucmVzZXRUeXBlcygpLHRoaXN9c2V0R3JvdXBzKHQpe3JldHVybiB0aGlzLl9zeW1ib2xzLnNldEdyb3Vwcyh0KSx0aGlzfWlzU3ltYm9sc0VtcHR5KCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuaXNFbXB0eSgpfWdldENvbHVtbnMoKXtyZXR1cm4gdGhpcy5fY29sdW1ucy5nZXRTdGF0ZSgpfWFkZENvbHVtbnModCl7Y29uc3QgZT1BcnJheS5pc0FycmF5KHQpP3Q6W3RdO2Zvcihjb25zdCB0IG9mIGUpdGhpcy5fY29sdW1ucy5hZGRDb2x1bW4odCk7cmV0dXJuIHRoaXN9c2V0Q29sdW1ucyh0KXtyZXR1cm4gdGhpcy5fY29sdW1ucy5zZXRTdGF0ZSh0KSx0aGlzfXJlc2V0Q29sdW1ucygpe3JldHVybiB0aGlzLl9jb2x1bW5zLnJlc2V0U3RhdGUoKSx0aGlzfWRlbGV0ZUNvbHVtbih0KXtyZXR1cm4gdGhpcy5fY29sdW1ucy5kZWxldGVDb2x1bW4odCksdGhpc31pc0NvbHVtbnNFbXB0eSgpe3JldHVybiB0aGlzLl9jb2x1bW5zLmlzRW1wdHkoKX1zZXRSYW5nZSh0KXtyZXR1cm4gdGhpcy5fcmFuZ2Uuc2V0U3RhdGUodCksdGhpc31nZXRSYW5nZSgpe3JldHVybiB0aGlzLl9yYW5nZS5nZXRTdGF0ZSgpfXJlc2V0UmFuZ2UoKXtyZXR1cm4gdGhpcy5fcmFuZ2UucmVzZXRTdGF0ZSgpLHRoaXN9aXNSYW5nZUVtcHR5KCl7cmV0dXJuIHRoaXMuX3JhbmdlLmlzRW1wdHkoKX1zZXRTb3J0KHQpe3JldHVybiB0aGlzLl9zb3J0LnNldFN0YXRlKHQpLHRoaXN9Z2V0U29ydCgpe3JldHVybiB0aGlzLl9zb3J0LmdldFN0YXRlKCl9cmVzZXRTb3J0KCl7cmV0dXJuIHRoaXMuX3NvcnQucmVzZXRTdGF0ZSgpLHRoaXN9c29ydEFzYygpe3JldHVybiB0aGlzLl9zb3J0LnNvcnRBc2MoKSx0aGlzfXNvcnREZXNjKCl7cmV0dXJuIHRoaXMuX3NvcnQuc29ydERlc2MoKSx0aGlzfXNvcnRCeSh0KXtyZXR1cm4gdGhpcy5fc29ydC5zb3J0QnkodCksdGhpc31pc1NvcnRFbXB0eSgpe3JldHVybiB0aGlzLl9zb3J0LmlzRW1wdHkoKX1zZXRQcmljZUNvbnZlcnNpb24odCl7cmV0dXJuIHRoaXMuX3ByaWNlQ29udmVyc2lvbi5zZXRQcmljZUNvbnZlcnNpb24odCksdGhpc31nZXRQcmljZUNvbnZlcnNpb24oKXtyZXR1cm4gdGhpcy5fcHJpY2VDb252ZXJzaW9uLmdldFN0YXRlKCl9cmVzZXRQcmljZUNvbnZlcnNpb24oKXtyZXR1cm4gdGhpcy5fcHJpY2VDb252ZXJzaW9uLnJlc2V0KCksdGhpc31pc1ByaWNlQ29udmVyc2lvbnNFbXB0eSgpe3JldHVybiB0aGlzLl9wcmljZUNvbnZlcnNpb24uaXNFbXB0eSgpfXNldFByZXNldCh0KXtyZXR1cm4gdGhpcy5fcHJlc2V0PXQsdGhpc31nZXRQcmVzZXQoKXtyZXR1cm4gdGhpcy5fcHJlc2V0fXJlc2V0UHJlc2V0KCl7cmV0dXJuIGRlbGV0ZSB0aGlzLl9wcmVzZXQsdGhpc31zZXRJbmRleEZpbHRlcnModCl7cmV0dXJuIHRoaXMuX2luZGV4RmlsdGVycz10LHRoaXN9Z2V0SW5kZXhGaWx0ZXJzKCl7cmV0dXJuIHRoaXMuX2luZGV4RmlsdGVyc31yZXNldEluZGV4RmlsdGVycygpe3JldHVybiBkZWxldGUgdGhpcy5faW5kZXhGaWx0ZXJzLHRoaXN9ZG9Ob3RJZ25vcmVVbmtub3duRmllbGRzKCl7cmV0dXJuIHRoaXMuX2lnbm9yZVVua25vd25GaWVsZHM9ITEsdGhpc31pZ25vcmVVbmtub3duRmllbGRzKCl7cmV0dXJuIHRoaXMuX2lnbm9yZVVua25vd25GaWVsZHM9ITAsdGhpc31nZXRJZ25vcmVVbmtub3duRmllbGRzKCl7cmV0dXJuIHRoaXMuX2lnbm9yZVVua25vd25GaWVsZHN9c2V0TWFya2V0cyh0KXtyZXR1cm4gdGhpcy5fbWFya2V0cz1bLi4udF0sdGhpc31nZXRNYXJrZXRzKCl7cmV0dXJuIHRoaXMuX21hcmtldHN9aXNNYXJrZXRzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX21hcmtldHMubGVuZ3RofWdldFdhdGNobGlzdCgpe3JldHVybiB0aGlzLmdldFN5bWJvbHMoKS53YXRjaGxpc3R9c2V0V2F0Y2hsaXN0KHQpe3JldHVybiB0aGlzLnNldFN5bWJvbHMoey4uLnRoaXMuZ2V0U3ltYm9scygpLHdhdGNobGlzdDp0fSksdGhpc31yZXNldFdhdGNobGlzdCgpe3JldHVybiB0aGlzLl9zeW1ib2xzLnJlc2V0V2F0Y2hsaXN0KCksdGhpc31yZXNldFBhcmFtcygpe3JldHVybiB0aGlzLl9maWx0ZXIyPXZvaWQgMCx0aGlzLmRvTm90SWdub3JlVW5rbm93bkZpZWxkcygpLHRoaXMucmVzZXRDb2x1bW5zKCksdGhpcy5yZXNldEZpbHRlcnMoKSx0aGlzLnJlc2V0RmlsdGVyT1IoKSx0aGlzLnJlc2V0T3B0aW9ucygpLHRoaXMucmVzZXRQcmljZUNvbnZlcnNpb24oKSx0aGlzLnJlc2V0UmFuZ2UoKSx0aGlzLnJlc2V0U3ltYm9scygpLHRoaXMucmVzZXRJbmRleEZpbHRlcnMoKSx0aGlzLnJlc2V0V2F0Y2hsaXN0KCksdGhpc319fSwzMjMwMjcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7U29ydDooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoKXt0aGlzLl9zb3J0PXt9fXNldFN0YXRlKHQpe3JldHVybiB0aGlzLl9zb3J0PXQsdGhpc31nZXRTdGF0ZSgpe3JldHVybnsuLi50aGlzLl9zb3J0fX1zb3J0QnkodCl7cmV0dXJuIHRoaXMuX3NvcnQuc29ydEJ5PXQsdGhpcy5fc29ydC5zb3J0T3JkZXJ8fHRoaXMuc29ydERlc2MoKSx0aGlzfXNvcnRBc2MoKXtyZXR1cm4gdGhpcy5fc29ydC5zb3J0QnkmJih0aGlzLl9zb3J0LnNvcnRPcmRlcj0iYXNjIiksdGhpc31zb3J0RGVzYygpe3JldHVybiB0aGlzLl9zb3J0LnNvcnRCeSYmKHRoaXMuX3NvcnQuc29ydE9yZGVyPSJkZXNjIiksdGhpc31yZXNldFN0YXRlKCl7cmV0dXJuIHRoaXMuX3NvcnQ9e30sdGhpc30KaXNFbXB0eSgpe3JldHVybiAwPT09T2JqZWN0LnZhbHVlcyh0aGlzLl9zb3J0KS5sZW5ndGh9fX0sNzM4ODEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7U3ltYm9sczooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoKXt0aGlzLl9zeW1ib2xzPXt9fXNldFN0YXRlKHQpe3JldHVybiB0aGlzLl9zeW1ib2xzPXQsdGhpc31nZXRTdGF0ZSgpe2NvbnN0IHQ9dGhpcy5fc3ltYm9scy5xdWVyeT97cXVlcnk6ey4uLnRoaXMuX3N5bWJvbHMucXVlcnl9fTp7fSxlPXRoaXMuX3N5bWJvbHMudGlja2Vycz97dGlja2VyczpbLi4udGhpcy5fc3ltYm9scy50aWNrZXJzXX06W10scj10aGlzLl9zeW1ib2xzLmdyb3Vwcz97Z3JvdXBzOnRoaXMuX3N5bWJvbHMuZ3JvdXBzLm1hcCgodD0+KHt0eXBlOnQudHlwZSx2YWx1ZXM6Wy4uLnQudmFsdWVzXX0pKSl9Ont9LHM9dGhpcy5fc3ltYm9scy5zeW1ib2xzZXQ/e3N5bWJvbHNldDpbLi4udGhpcy5fc3ltYm9scy5zeW1ib2xzZXRdfTpbXSxuPXRoaXMuX3N5bWJvbHMud2F0Y2hsaXN0P3t3YXRjaGxpc3Q6e2lkOnRoaXMuX3N5bWJvbHMud2F0Y2hsaXN0LmlkfX06e307cmV0dXJuey4uLnQsLi4uZSwuLi5yLC4uLnMsLi4udm9pZCAwPT09dGhpcy5fc3ltYm9scy5ibGFja19saXN0X3N5bWJvbHM/e306e2JsYWNrX2xpc3Rfc3ltYm9sczp0aGlzLl9zeW1ib2xzLmJsYWNrX2xpc3Rfc3ltYm9sc30sLi4ubn19c2V0VGlja2Vycyh0KXtyZXR1cm4gdGhpcy5fc3ltYm9scy50aWNrZXJzPXQsdGhpc31yZXNldFRpY2tlcnMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy50aWNrZXJzPVtdLHRoaXN9c2V0VHlwZXModCl7cmV0dXJuIHRoaXMuX3N5bWJvbHM9ey4uLnRoaXMuX3N5bWJvbHMscXVlcnk6ey4uLnRoaXMuX3N5bWJvbHMucXVlcnksdHlwZXM6dH19LHRoaXN9cmVzZXRUeXBlcygpe3JldHVybiB0aGlzLl9zeW1ib2xzPXsuLi50aGlzLl9zeW1ib2xzLHF1ZXJ5OnsuLi50aGlzLl9zeW1ib2xzLnF1ZXJ5LHR5cGVzOltdfX0sdGhpc31yZXNldFN0YXRlKCl7cmV0dXJuIHRoaXMuX3N5bWJvbHM9e30sdGhpc31zZXRHcm91cHModCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuZ3JvdXBzPXQsdGhpc31yZXNldEdyb3Vwcygpe3JldHVybiBkZWxldGUgdGhpcy5fc3ltYm9scy5ncm91cHMsdGhpc31zZXRTeW1ib2xzZXQodCl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc3ltYm9sc2V0PXQsdGhpc31yZXNldFN5bWJvbHNldCgpe3JldHVybiB0aGlzLl9zeW1ib2xzLnN5bWJvbHNldD1bXSx0aGlzfXJlc2V0V2F0Y2hsaXN0KCl7Y29uc3R7d2F0Y2hsaXN0OnQsLi4uZX09dGhpcy5fc3ltYm9scztyZXR1cm4gdGhpcy5fc3ltYm9scz1lLHRoaXN9aXNFbXB0eSgpe3JldHVybiAwPT09T2JqZWN0LnZhbHVlcyh0aGlzLl9zeW1ib2xzKS5sZW5ndGh9fX0sMTY4ODI0KHQsZSxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyh0KXtjb25zdFtlLHIsc109ZnVuY3Rpb24odCl7Y29uc3QgZT10LnRvU3RyaW5nKCk7cmV0dXJuW051bWJlcihlLnNsaWNlKDAsNCkpLE51bWJlcihlLnNsaWNlKDQsNikpLE51bWJlcihlLnNsaWNlKDYpKV19KHQpO3JldHVybiBuZXcgRGF0ZShlLHItMSxzKX1yLmQoZSx7Z2V0RGF0ZUZyb21ZWVlZTU1ERDooKT0+c30pfSw5MDgwMzQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7dXNlUm93c05hdmlnYXRpb246KCk9Pmh9KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDEzODYzOCksaT1yKDk4MzYxNiksbz1yKDIzNTcyNCksYT1yKDMyOTY2OCksbD1yKDY4MjM4MSksYz1yKDYxNjMxMSk7Y29uc3QgdT1bMzcsMzksMzgsNDBdO2Z1bmN0aW9uIGgodCl7Y29uc3QgZT0oMCxzLnVzZVJlZikobnVsbCk7cmV0dXJuKDAsYy51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pntjb25zdCB0PSgwLG4uZW5zdXJlTm90TnVsbCkoZS5jdXJyZW50KSxyPSgpPT57Y29uc3Qgcj0oMCxpLnF1ZXJ5VGFiYmFibGVFbGVtZW50cykodCkuc29ydChpLm5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3IpO2lmKDA9PT1yLmxlbmd0aHx8clswXS5wYXJlbnRFbGVtZW50JiYhcChyWzBdLnBhcmVudEVsZW1lbnQsKDAsbi5lbnN1cmVOb3ROdWxsKShlLmN1cnJlbnQpKSl7Y29uc3Qgcz1mdW5jdGlvbih0KXtjb25zdCByPW0odCkuc29ydChpLm5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3IpLHM9ci5maW5kKCh0PT5wKHQsKDAsbi5lbnN1cmVOb3ROdWxsKShlLmN1cnJlbnQpKSkpO2lmKCFzKXJldHVybiBudWxsO2NvbnN0IG89QXJyYXkuZnJvbShzLmNoaWxkcmVuKTtpZighby5sZW5ndGgpcmV0dXJuIG51bGw7cmV0dXJuIG9bMF19KHQpO2lmKG51bGw9PT1zKXJldHVybjtpZigoMCxhLmJlY29tZU1haW5FbGVtZW50KShzKSxyLmxlbmd0aD4wKWZvcihjb25zdCB0IG9mIHIpKDAsYS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KSh0KX19O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5Ym9hcmQtbmF2aWdhdGlvbi1hY3RpdmF0aW9uIixyKSxyKCksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlib2FyZC1uYXZpZ2F0aW9uLWFjdGl2YXRpb24iLHIpfSksW10pLFtlLGZ1bmN0aW9uKGUpe2lmKGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47Y29uc3Qgcj0oMCxvLmhhc2hGcm9tRXZlbnQpKGUpO2lmKCF1LmluY2x1ZGVzKHIpKXJldHVybjtjb25zdCBzPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7aWYoIShzIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKXJldHVybjtjb25zdCBuPWUuY3VycmVudFRhcmdldDtsZXQgYSxjO2lmKHQpe2NvbnN0IHQ9cy5wYXJlbnRFbGVtZW50O2E9dD9BcnJheS5mcm9tKHQuY2hpbGRyZW4pOltdLGM9YS5pbmRleE9mKHMpfWVsc2UgYT0oaD1uLEFycmF5LmZyb20oaC5xdWVyeVNlbGVjdG9yQWxsKCdidXR0b246bm90KDpkaXNhYmxlZCk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSknKSkuZmlsdGVyKCgwLGwuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKGgpKSkuc29ydChpLm5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3IpLGM9YS5pbmRleE9mKHMpO3ZhciBoO2lmKDA9PT1hLmxlbmd0aHx8LTE9PT1jKXJldHVybjtjb25zdCBwPSgwLAppLm1hcEtleUNvZGVUb0RpcmVjdGlvbikocik7c3dpdGNoKHApe2Nhc2UiaW5saW5lUHJldiI6aWYoZS5wcmV2ZW50RGVmYXVsdCgpLCF0JiYwPT09YylicmVhaztnKGQoYSxjLC0xKSk7YnJlYWs7Y2FzZSJpbmxpbmVOZXh0IjppZihlLnByZXZlbnREZWZhdWx0KCksIXQmJmM9PT1hLmxlbmd0aC0xKWJyZWFrO2coZChhLGMsMSkpO2JyZWFrO2Nhc2UiYmxvY2tQcmV2IjpjYXNlImJsb2NrTmV4dCI6KHI9PntpZighZG9jdW1lbnQuYWN0aXZlRWxlbWVudClyZXR1cm47Y29uc3Qgcz1tKG4pLGk9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O2lmKCFpKXJldHVybjtjb25zdCBvPUFycmF5LmZyb20oaS5jaGlsZHJlbikuaW5kZXhPZihkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtpZigtMT09PW8pcmV0dXJuO2NvbnN0IGE9c1siYmxvY2tOZXh0Ij09PXI/cy5pbmRleE9mKGkpKzE6cy5pbmRleE9mKGkpLTFdO2lmKCFhKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgbD1BcnJheS5mcm9tKGEuY2hpbGRyZW4pO2wubGVuZ3RoJiYoIXQmJm88PWwubGVuZ3RoLTE/ZyhsW29dKTpnKGxbMF0pKX0pKHApfX1dfWZ1bmN0aW9uIGQodCxlLHIpe3JldHVybiB0WyhlK3QubGVuZ3RoK3IpJXQubGVuZ3RoXX1mdW5jdGlvbiBtKHQpe3JldHVybiBBcnJheS5mcm9tKHQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtcm9sZT0icm93Il0nKSkuZmlsdGVyKCgwLGwuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKHQpKX1mdW5jdGlvbiBwKHQsZSl7Y29uc3Qgcj0oMCxuLmVuc3VyZU5vdE51bGwpKHQucGFyZW50RWxlbWVudCkub2Zmc2V0VG9wLHM9cisoMCxuLmVuc3VyZU5vdE51bGwpKHQucGFyZW50RWxlbWVudCkuY2xpZW50SGVpZ2h0LGk9ZS5zY3JvbGxUb3Asbz1pK2UuY2xpZW50SGVpZ2h0O3JldHVybiByPj1pJiZzPD1vfWZ1bmN0aW9uIGcodCl7ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCYmKDAsYS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShkb2N1bWVudC5hY3RpdmVFbGVtZW50KSwoMCxhLmJlY29tZU1haW5FbGVtZW50KSh0KSx0LmZvY3VzKCl9fSw0MDEwNzgodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7dXNlU3ltYm9sUXVvdGVzOigpPT5pfSk7dmFyIHM9cig3Nzk0NzQpLG49cigxNTk1MTMpO2Z1bmN0aW9uIGkodCxlPSEwKXtjb25zdFtyLGldPSgwLHMudXNlU3RhdGUpKG51bGw9PT10P3tjb21wbGV0ZWQ6ITAsaW52YWxpZDohMCxxdW90ZXM6bnVsbCxzeW1ib2w6dH06e2NvbXBsZXRlZDohMSxpbnZhbGlkOiExLHF1b3RlczpudWxsLHN5bWJvbDp0fSk7cmV0dXJuKDAscy51c2VFZmZlY3QpKCgoKT0+e2lmKG51bGw9PT10KXJldHVybiB2b2lkIGkoe2NvbXBsZXRlZDohMCxpbnZhbGlkOiEwLHF1b3RlczpudWxsLHN5bWJvbDp0fSk7aSh7Y29tcGxldGVkOiExLGludmFsaWQ6ITEscXVvdGVzOm51bGwsc3ltYm9sOnR9KTtjb25zdCByPSgwLG4uZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJmdWxsIik7bGV0IHM9ITE7Y29uc3Qgbz1yPT57Y29uc3R7dmFsdWVzOnMsY29tcGxldGU6bixzdGF0dXM6b309cjtpKHtpbnZhbGlkOiJlcnJvciI9PT1vLHF1b3Rlczp7Li4uc30sY29tcGxldGVkOnZvaWQgMCE9PW58fCJlcnJvciI9PT1vLHN5bWJvbDp0fSksdm9pZCAwPT09biYmImVycm9yIiE9PW98fCFlfHxhKCl9LGE9KCk9PntzfHwocz0hMCxyLnVuc3Vic2NyaWJlKCJ1c2VTeW1ib2xRdW90ZXMiLHQsbykpfTtyZXR1cm4gci5zdWJzY3JpYmUoInVzZVN5bWJvbFF1b3RlcyIsdCxvKSwoKT0+e2EoKX19KSxbdF0pLHJ9fSw1OTk1NDYodCl7dC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTkgMTQuNSA0LjUtMy45NC0xLTEuMTItMi43NSAyLjRWNGgtMS41djcuODVMNS40OSA5LjQ0bC0uOTggMS4xMkw5IDE0LjVaIi8+PC9zdmc+J30sMzg2MjYxKHQpe3QuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im05LjUgMTQuMTYtLjM0LS4yOC00LTMuNS42Ni0uNzYgMy4xNyAyLjc4VjRIMTB2OC40bDMuMTYtMi43OC42Ni43Ni00IDMuNS0uMzMuMjhoLjAxWiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/symbol-search-dialog.2bd5ad4a50f11c55181d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.169Z","timestamp":1785141585169,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/symbol-search-dialog.2bd5ad4a50f11c55181d.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-f1ae\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b3c825ede7009f9877ad39d96c8875f7\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":61870,"size_decoded":24219,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (8724)","md5":"a33d79b36d31bad99801ac951429ec12","sha1":"0132a8f4734c731690767f7346c30377761aed71","sha256":"42e14e00fdcb59805d9b1fc3225db0713e0a8ce22f25639326da817409380856","sha512":"b85e7f37730215e956573da5116e3901e2dc95b7c20bf9dba114b73817e363a0af560933b8f1193dae05ec6d87310bb3f73d9facec95f9521a846a4a0bacee6f","ssdeep":"768:1VZTM7OTm7FZkgTGJPrOvJ1UKxQcGhXEwpMALDw0Iv6CCVmXRfoUUUh3W//YWXgK:1MT2AbUKuXEgMPCVmpRK","tlshash":"0353f953b3045e4e75abe1e7ce2d8d49978e50a3304ac234f5efaed8229647fd623844","first_seen":"2026-07-24T15:28:44.934306Z","last_seen":"2026-07-27T12:48:39.654284Z","times_seen":55,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2ODQ4MV0sezQ3NDEzNihlLGQsdSl7InVzZSBzdHJpY3QiO3UuZChkLHthcnJheTooKT0+bCxjaGFubmVsOigpPT5mLGZ1bmM6KCk9Pm8saXRlcmF0b3I6KCk9PmksbXVsdGljYXN0OigpPT5wLG5vdFVuZGVmOigpPT5uLHBhdHRlcm46KCk9PnMscHJvbWlzZTooKT0+cixzdHJpbmc6KCk9PmEsc3RyaW5nYWJsZUZ1bmM6KCk9Pm0sc3ltYm9sOigpPT5oLHVuZGVmOigpPT5jfSk7dmFyIHQ9dSg1NjQ1MjEpLGM9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWV9LG49ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWV9LG89ZnVuY3Rpb24oZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV9LGE9ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlfSxsPUFycmF5LmlzQXJyYXkscj1mdW5jdGlvbihlKXtyZXR1cm4gZSYmbyhlLnRoZW4pfSxpPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZvKGUubmV4dCkmJm8oZS50aHJvdyl9LHM9ZnVuY3Rpb24gZShkKXtyZXR1cm4gZCYmKGEoZCl8fGgoZCl8fG8oZCl8fGwoZCkmJmQuZXZlcnkoZSkpfSxmPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZvKGUudGFrZSkmJm8oZS5jbG9zZSl9LG09ZnVuY3Rpb24oZSl7cmV0dXJuIG8oZSkmJmUuaGFzT3duUHJvcGVydHkoInRvU3RyaW5nIil9LGg9ZnVuY3Rpb24oZSl7cmV0dXJuIEJvb2xlYW4oZSkmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlfSxwPWZ1bmN0aW9uKGUpe3JldHVybiBmKGUpJiZlW3QuTVVMVElDQVNUXX19LDIzNTgyNyhlKXtlLmV4cG9ydHM9e2ljb25XcmFwOiJpY29uV3JhcC1HY3pxM2FMWSIsc2ZXYXJuaW5nSWNvbjoic2ZXYXJuaW5nSWNvbi1HY3pxM2FMWSJ9fSw2OTg1MDEoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci1aVVc2YnBSMCJ9fSwxMjc5MShlKXtlLmV4cG9ydHM9e2J1YmJsZXM6ImJ1YmJsZXMtZFJBc1hWdmEiLG11bHRpTGluZToibXVsdGlMaW5lLWRSQXNYVnZhIixidWJibGU6ImJ1YmJsZS1kUkFzWFZ2YSJ9fSw4MTA3ODUoZSl7ZS5leHBvcnRzPXtidWJibGU6ImJ1YmJsZS1BVTloT3dFcyIsYW5pbWF0ZWQ6ImFuaW1hdGVkLUFVOWhPd0VzIixjb250ZW50OiJjb250ZW50LUFVOWhPd0VzIiwiYXBwZWFyYW5jZS1kZWZhdWx0IjoiYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzIixhY3RpdmU6ImFjdGl2ZS1BVTloT3dFcyIsZ3JheToiZ3JheS1BVTloT3dFcyIscmVkOiJyZWQtQVU5aE93RXMiLGJsdWU6ImJsdWUtQVU5aE93RXMiLGdyZWVuOiJncmVlbi1BVTloT3dFcyIsb3JhbmdlOiJvcmFuZ2UtQVU5aE93RXMiLHB1cnBsZToicHVycGxlLUFVOWhPd0VzIixjeWFuOiJjeWFuLUFVOWhPd0VzIixwaW5rOiJwaW5rLUFVOWhPd0VzIiwiYXBwZWFyYW5jZS10ZXh0IjoiYXBwZWFyYW5jZS10ZXh0LUFVOWhPd0VzIiwiZm9udFNpemUtcyI6ImZvbnRTaXplLXMtQVU5aE93RXMiLCJmb250U2l6ZS1tIjoiZm9udFNpemUtbS1BVTloT3dFcyIsInNpemUtbSI6InNpemUtbS1BVTloT3dFcyIsInNpemUtbCI6InNpemUtbC1BVTloT3dFcyJ9fSw5MjEwMzEoZSl7ZS5leHBvcnRzPXtzeW1ib2xMaXN0OiJzeW1ib2xMaXN0LVJveWpBbVI0In19LDg1NjQwMChlKXtlLmV4cG9ydHM9e2RpYWxvZzoiZGlhbG9nLWlpcWhEY2NzIix0YWJsZXREaWFsb2c6InRhYmxldERpYWxvZy1paXFoRGNjcyIsZGVza3RvcERpYWxvZzoiZGVza3RvcERpYWxvZy1paXFoRGNjcyJ9fSw0MjgwOTcoZSl7ZS5leHBvcnRzPXtlbW9qaToiZW1vamktQnNFUkdjWjEiLGNsZWFyQnV0dG9uOiJjbGVhckJ1dHRvbi1Cc0VSR2NaMSJ9fSw0MDIyMyhlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItbXowODY2TTIiLGhvdmVyZWQ6ImhvdmVyZWQtbXowODY2TTIifX0sOTk1ODUxKGUpe2UuZXhwb3J0cz17ZW1vamlXcmFwOiJlbW9qaVdyYXAtUjJDVHBtSHIiLGVtb2ppOiJlbW9qaS1SMkNUcG1IciIsdG9vbHRpcEVtb2ppOiJ0b29sdGlwRW1vamktUjJDVHBtSHIiLHRvb2x0aXBFbW9qaVdyYXA6InRvb2x0aXBFbW9qaVdyYXAtUjJDVHBtSHIifX0sMjI4NTgxKGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24tdzZsVmVfb0kiLGhvdmVyZWQ6ImhvdmVyZWQtdzZsVmVfb0kiLGRpc2FibGVkOiJkaXNhYmxlZC13NmxWZV9vSSJ9fSw1MDg3NDcoZSxkLHUpeyJ1c2Ugc3RyaWN0Ijt1LmQoZCx7U1lNQk9MX0xJU1RfUkVQT1NJVE9SWV9CQUNLRU5EX1NFUlZJQ0U6KCk9PnR9KTtjb25zdCB0PSgwLHUoNDczMDY4KS5jcmVhdGVTZXJ2aWNlRGVzY3JpcHRvcikoIlN5bWJvbExpc3RSZXBvc2l0b3J5QmFja2VuZCIpfSwyNTMyNShlLGQsdSl7InVzZSBzdHJpY3QiO3UuZChkLHtTeW1ib2xTZWFyY2hXYXRjaGxpc3RDb250ZXh0OigpPT5ufSk7dmFyIHQsYz11KDc3OTQ3NCk7IWZ1bmN0aW9uKGUpe2VbZS5BZGQ9MF09IkFkZCIsZVtlLkZpbmQ9MV09IkZpbmQiLGVbZS5SZW1vdmU9Ml09IlJlbW92ZSJ9KHR8fCh0PXt9KSk7Y29uc3Qgbj1jLmNyZWF0ZUNvbnRleHQobnVsbCl9LDgyODc0NyhlLGQsdSl7InVzZSBzdHJpY3QiO3UucihkKSx1LmQoZCx7Q29tcG9uZW50czooKT0+UmUsc2hvd0RlZmF1bHRTZWFyY2hEaWFsb2c6KCk9Pl9lLHNob3dTeW1ib2xTZWFyY2hJdGVtc0RpYWxvZzooKT0+bX0pO3ZhciB0PXUoMjI1Mjk4KSxjPXUoNzM4NDU4KSxuPXUoMjQzOTM4KSxvPXUoMjc5NDA1KSxhPXUoNzc5NDc0KSxsPXUoNjA3ODMyKSxyPXUoODYzNDQpLGk9dSg2MTM4NzApLHM9dSg1OTc2NTQpLGY9dSg1NzEzMDApO2Z1bmN0aW9uIG0oZSl7CmNvbnN0e2luaXRpYWxNb2RlOmQ9InN5bWJvbFNlYXJjaCIsYXV0b2ZvY3VzOnU9ITAsZGVmYXVsdFZhbHVlOnQsc2hvd1NwcmVhZEFjdGlvbnM6YyxzZWxlY3RTZWFyY2hPbkluaXQ6bixvblNlYXJjaENvbXBsZXRlOm8sZGlhbG9nVGl0bGU6bSxwbGFjZWhvbGRlcjpoLGZ1bGxzY3JlZW46cCxpbml0aWFsU2NyZWVuOmIsd3JhcHBlcjpnLGRpYWxvZzp2LGNvbnRlbnRJdGVtOlMsb25DbG9zZTp5LG9uT3Blbjp3LGZvb3RlcjpFLHN5bWJvbFR5cGVzOkMsc2VhcmNoSW5wdXQ6eCxlbXB0eVN0YXRlOkksaGlkZU1hcmtlZExpc3RGbGFnOkEsZGlhbG9nV2lkdGg6ej0iYXV0byIsbWFuYWdlcjpULHNob3VsZFJldHVybkZvY3VzOk0sb25TeW1ib2xGaWx0ZXJzUGFyYW1zQ2hhbmdlOmssb25FbXB0eVJlc3VsdHM6RCxjdXN0b21TZWFyY2hTeW1ib2xzOk4sZW5hYmxlT3B0aW9uc0NoYWluOkwsZGlzYWJsZVJlY2VudHM6aixvdmVycmlkZVF1ZXJ5UGFyYW1zOl8saGlkZGVuRmlsdGVySWRzOlIsc2hvd1JlY2VudHM6VyxzZWFyY2hJbml0aWF0aW9uUG9pbnQ6TyxzZWxlY3RlZFN5bWJvbFNldHRpbmdzS2V5OkYsZmlsdGVyVmFsdWVzU2V0dGluZ3NLZXk6SH09ZTtpZihyLmRpYWxvZ3NPcGVuZXJNYW5hZ2VyLmlzT3BlbmVkKCJTeW1ib2xTZWFyY2giKXx8ci5kaWFsb2dzT3BlbmVyTWFuYWdlci5pc09wZW5lZCgiQ2hhbmdlSW50ZXJ2YWxEaWFsb2ciKXx8KDAsaS5pc1NpZ25Nb2RhbE9wZW4pKCkpcmV0dXJuO2NvbnN0IFY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksUD1hLmNyZWF0ZUVsZW1lbnQobC5TbG90Q29udGV4dC5Qcm92aWRlcix7dmFsdWU6VD8/bnVsbH0sYS5jcmVhdGVFbGVtZW50KHMuU3ltYm9sU2VhcmNoSXRlbXNEaWFsb2cse29uQ2xvc2U6VSxpbml0aWFsTW9kZTpkLGRlZmF1bHRWYWx1ZTp0LHNob3dTcHJlYWRBY3Rpb25zOmMsaGlkZU1hcmtlZExpc3RGbGFnOkEsc2VsZWN0U2VhcmNoT25Jbml0Om4sb25TZWFyY2hDb21wbGV0ZTpvLGRpYWxvZ1RpdGxlOm0scGxhY2Vob2xkZXI6aCxmdWxsc2NyZWVuOnAsaW5pdGlhbFNjcmVlbjpiLHdyYXBwZXI6ZyxkaWFsb2c6dixjb250ZW50SXRlbTpTLGZvb3RlcjpFLHN5bWJvbFR5cGVzOkMsc2VhcmNoSW5wdXQ6eCxlbXB0eVN0YXRlOkksYXV0b2ZvY3VzOnUsZGlhbG9nV2lkdGg6eixzaG91bGRSZXR1cm5Gb2N1czpNLG9uU3ltYm9sRmlsdGVyc1BhcmFtc0NoYW5nZTprLG9uRW1wdHlSZXN1bHRzOkQsY3VzdG9tU2VhcmNoU3ltYm9sczpOLGVuYWJsZU9wdGlvbnNDaGFpbjpMLGRpc2FibGVSZWNlbnRzOmosb3ZlcnJpZGVRdWVyeVBhcmFtczpfLGhpZGRlbkZpbHRlcklkczpSLHNob3dSZWNlbnRzOlcsc2VhcmNoSW5pdGlhdGlvblBvaW50Ok8sc2VsZWN0ZWRTeW1ib2xTZXR0aW5nc0tleTpGLGZpbHRlclZhbHVlc1NldHRpbmdzS2V5Okh9KSksQj0oMCxmLmNyZWF0ZVJlYWN0Um9vdCkoUCxWKTtmdW5jdGlvbiBVKCl7Qi51bm1vdW50KCksci5kaWFsb2dzT3BlbmVyTWFuYWdlci5zZXRBc0Nsb3NlZCgiU3ltYm9sU2VhcmNoIikseSYmeSgpfXJldHVybiByLmRpYWxvZ3NPcGVuZXJNYW5hZ2VyLnNldEFzT3BlbmVkKCJTeW1ib2xTZWFyY2giKSx3JiZ3KCkse2Nsb3NlOlV9fXZhciBoLHAsYixnPXUoMjMyMzY0KSx2PXUoOTMwMjMxKSxTPXUoMTM4NjM4KSx5PXUoMzg2OTMxKSx3PXUoOTE0NDg3KSxFPXUubih3KSxDPXUoMzQ1MTE2KSx4PXUoODEwNzg1KTtmdW5jdGlvbiBJKGUpe2NvbnN0e3RpdGxlOmQsaXNBY3RpdmU6dSxpc0FuaW1hdGVkOnQsYWN0aXZlQ29sb3I6YyxzaXplOm49Im0iLGFwcGVhcmFuY2U6bz0iZGVmYXVsdCIsZm9udFNpemU6YT0ibSIsZ3JheVN0eWxlczpsLGNsYXNzTmFtZTpyfT1lO3JldHVybiBFKCkoeC5idWJibGUsdSYmeC5hY3RpdmUsYyYmeFtjXSxkJiYiYXBwbHktY29tbW9uLXRvb2x0aXAiLG4mJnhbYHNpemUtJHtufWBdLGEmJnhbYGZvbnRTaXplLSR7YX1gXSxvJiZ4W2BhcHBlYXJhbmNlLSR7b31gXSx0JiZ4LmFuaW1hdGVkLGwmJnguZ3JheSxyKX1mdW5jdGlvbiBBKGUpe2NvbnN0e2lkOmQsdGl0bGU6dSx0YWJJbmRleDp0LHJvbGU6Yyxjb250ZW50Q2xhc3NOYW1lOm4sY2hpbGRyZW46byxvbkNsaWNrOmwsb25Nb3VzZURvd246cixyZWZlcmVuY2U6aSxncmF5U3R5bGVzOnMsLi4uZn09ZTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Li4uKDAsQy5maWx0ZXJBcmlhUHJvcHMpKGYpLC4uLigwLEMuZmlsdGVyRGF0YVByb3BzKShmKSxpZDpkLHRpdGxlOnUsdGFiSW5kZXg6dCxyb2xlOmMsY2xhc3NOYW1lOkkoZSksb25DbGljazpsLG9uTW91c2VEb3duOnIscmVmOml9LGEuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpFKCkoeC5jb250ZW50LG4pfSxvKSl9IWZ1bmN0aW9uKGUpe2UuTWVkaXVtPSJtIixlLkxhcmdlPSJsIn0oaHx8KGg9e30pKSxmdW5jdGlvbihlKXtlLkRlZmF1bHQ9ImRlZmF1bHQiLGUuVGV4dD0idGV4dCJ9KHB8fChwPXt9KSksZnVuY3Rpb24oZSl7ZS5TbWFsbD0icyIsZS5NZWRpdW09Im0ifShifHwoYj17fSkpO3ZhciB6PXUoMTI3OTEpO2Z1bmN0aW9uIFQoZSl7Y29uc3R7Y2xhc3NOYW1lOmQsaXRlbUNsYXNzTmFtZTp1LGl0ZW1Db250ZW50Q2xhc3NOYW1lOnQsaXRlbXM6YyxnZXRJdGVtVGl0bGU6bixnZXRJdGVtVG9vbHRpcDpvLGdldEl0ZW1LZXk6bCxjaGVja0l0ZW1Jc0FjdGl2ZTpyLGdldEl0ZW1Db2xvcjppLG9uQnViYmxlQ2xpY2s6cyxtdWx0aWxpbmU6ZixjaGlsZHJlbjptLEJ1YmJsZUNvbXBvbmVudDpoPUEscmVmZXJlbmNlOnAsZm9udFNpemU6YixncmF5U3R5bGVzOmd9PWU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkUoKShkLHouYnViYmxlcyxmJiZ6Lm11bHRpTGluZSkscmVmOnB9LGMubWFwKCgoZSxkKT0+YS5jcmVhdGVFbGVtZW50KGgse2tleTpsP2woZSk6ZCxpZDpsP2woZSk6ZC50b1N0cmluZygpLGNsYXNzTmFtZTpFKCkoei5idWJibGUsdSksY29udGVudENsYXNzTmFtZTp0LG9uQ2xpY2s6ZnVuY3Rpb24oKXtzKGUpfSxvbk1vdXNlRG93bjpmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCl9LAppc0FjdGl2ZTohIXImJnIoZSksYWN0aXZlQ29sb3I6aT9pKGUpOnZvaWQgMCxmb250U2l6ZTpiLHRpdGxlOm8/byhlKTp2b2lkIDAsZ3JheVN0eWxlczpnfSxuKGUpKSkpLG0pfWNvbnN0IE09bmV3IFNldChbInR5cGUiLCJzaG9ydF9uYW1lIiwiZXhjaGFuZ2UiLCJ1cGRhdGVfbW9kZSIsImxvZ28iLCJjdXJyZW5jeV9jb2RlIiwidHlwZXNwZWNzIiwicHJvX25hbWUiLCJsYW5ndWFnZSIsImRlc2NyaXB0aW9uIiwibG9jYWxfZGVzY3JpcHRpb24iLCJzaG9ydF9kZXNjcmlwdGlvbiJdKTt2YXIgaz11KDIwMTk2MSksRD11KDQ1NjcwNSksTj11KDkxOTk4NSksTD11KDkyOTQ4OCksaj11KDEzNjYzKSxfPXUoNzgzMjU0KSxSPXUoNTI4Mzk2KSxXPXUoMzQ0MTAzKSxPPXUoNjk3NDcyKSxGPXUoNjY0Mzg2KSxIPXUoNjQzOTAzKSxWPXUoMjczMzEwKSxQPXUoMTU2ODI5KSxCPXUoMTI4ODE0KTtjb25zdCBVPSgwLHUoNjIzNTExKS5sYXp5VmFsdWUpKCgoKT0+bmV3IEIuUXVvdGVTZXNzaW9uU25hcHNob3Rlcih7bmFtZToic3ltYm9sLXNlYXJjaC13YXRjaGxpc3QiLGZpZWxkczpbLi4uTV0sYXBpOndpbmRvdy5DaGFydEFwaUluc3RhbmNlfSkpKTt2YXIgRyxLPXUoMTAxNzEyKSwkPXUoNDk4NjUxKSxZPXUoNDc5MzQpLHE9dSg1NjEyMDUpLFo9dSg2MDA1MzgpLEo9dSgyMzU4MjcpO2Z1bmN0aW9uIFEoZSl7Y29uc3R7c3ltYm9sOmQsb25DbGljazpjfT1lLHthY3RpdmVTeW1ib2w6bn09KDAsai51c2VFbnN1cmVkQ29udGV4dCkocS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpLFtvLGxdPSgwLGEudXNlU3RhdGUpKCgoKT0+e2NvbnN0IGU9VSgpLmdldFNuYXBzaG90U3luYyhkLE0pO3JldHVybiBudWxsPT09ZT9HLkxvYWRpbmc6ImVycm9yIj09PWUuc3RhdHVzP0cuSW52YWxpZDpHLlJlc29sdmVkfSkpO2lmKCgwLGEudXNlRWZmZWN0KSgoKCk9PntpZihvPT09Ry5Mb2FkaW5nKXtsZXQgZT0hMDtyZXR1cm4gVSgpLmdldFNuYXBzaG90KGQsTSkudGhlbigoKCk9PntlJiZsKEcuUmVzb2x2ZWQpfSkpLCgpPT5lPSExfXJldHVybigpPT57fX0pLFtdKSxvPT09Ry5Mb2FkaW5nKXJldHVybiBhLmNyZWF0ZUVsZW1lbnQoRi5TeW1ib2xTZWFyY2hEaWFsb2dDb250ZW50SXRlbSx7dGl0bGU6KDAsSC5zYWZlU2hvcnROYW1lKShkKSxkYW5nZXJvdXNEZXNjcmlwdGlvbkhUTUw6IiAiLG9uQ2xpY2s6RSxpc0FjdGl2ZTohMSxoaWRlRXhjaGFuZ2U6ITAsaGlkZU1hcmtlZExpc3RGbGFnOiEwLHNob3J0TmFtZTooMCxILnNhZmVTaG9ydE5hbWUpKGQpfSk7Y29uc3Qgcj1VKCkuZ2V0U25hcHNob3RTeW5jKGQsTSk7aWYobz09PUcuSW52YWxpZHx8bnVsbD09PXJ8fCJlcnJvciI9PT1yLnN0YXR1cylyZXR1cm4gYS5jcmVhdGVFbGVtZW50KEYuU3ltYm9sU2VhcmNoRGlhbG9nQ29udGVudEl0ZW0se3RpdGxlOigwLEguc2FmZVNob3J0TmFtZSkoZCksc2hvcnROYW1lOigwLEguc2FmZVNob3J0TmFtZSkoZCksaW52YWxpZDohMH0pO2NvbnN0IGk9bj9uPT09ci52YWx1ZXMucHJvX25hbWU6dm9pZCAwO2lmKCEoMCxZLmVuYWJsZWQpKCJJRENfQVZBSUxBQkxFX0RFTEFZIikmJigoMCxLLmlzU2ZRdW90ZURhdGEpKHIpfHwoMCwkLmlzSURDRXhjaGFuZ2UpKCgwLFcuZ2V0RXhjaGFuZ2UpKHIuc3ltYm9sbmFtZSkpKSlyZXR1cm4gYS5jcmVhdGVFbGVtZW50KEYuU3ltYm9sU2VhcmNoRGlhbG9nQ29udGVudEl0ZW0se3RpdGxlOmEuY3JlYXRlRWxlbWVudChYLG51bGwsKDAsSC5zYWZlU2hvcnROYW1lKShkKSksZGFuZ2Vyb3VzRGVzY3JpcHRpb25IVE1MOl8udChudWxsLHZvaWQgMCx1KDc0NDg3MCkpLnRvVXBwZXJDYXNlKCksb25DbGljazpFLGlzQWN0aXZlOmksaGlkZUV4Y2hhbmdlOiEwLGhpZGVNYXJrZWRMaXN0RmxhZzohMCxzaG9ydE5hbWU6KDAsSC5zYWZlU2hvcnROYW1lKShkKX0pO2NvbnN0IHM9ci52YWx1ZXMudXBkYXRlX21vZGUse3R5cGU6Zix0eXBlc3BlY3M6bSxzaG9ydF9uYW1lOmgsZXhjaGFuZ2U6cCxsb2dvOmJ9PXIudmFsdWVzLGc9KDAsUi5nZXRUcmFuc2xhdGVkU3ltYm9sRGVzY3JpcHRpb24pKHIudmFsdWVzKSx2PSgwLFcuZ2V0RXhjaGFuZ2UpKGQpLFM9KDAsTy5nZXRFeGNoYW5nZXMpKCkuZmluZCgoZT0+ZS52YWx1ZT09PXYpKSx3PSgwLFAuaGFzQ3J5cHRvVHlwZXNwZWMpKG0/P1tdKT8iY3J5cHRvIjpmO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoRi5TeW1ib2xTZWFyY2hEaWFsb2dDb250ZW50SXRlbSx7dGl0bGU6aCxmdWxsU3ltYm9sTmFtZTpkLGlzRW9kOiJlbmRvZmRheSI9PT1zJiYiZWNvbm9taWMiIT09ZixkYW5nZXJvdXNEZXNjcmlwdGlvbkhUTUw6ZyxvbkNsaWNrOkUsaXNBY3RpdmU6aSxzb3VyY2VMb2dvczpbe2NvdW50cnk6Uz8uY291bnRyeSxwcm92aWRlcklkOlM/LnByb3ZpZGVySWR9XSxleGNoYW5nZU5hbWU6cCxtYXJrZXRUeXBlOncsaGlkZU1hcmtlZExpc3RGbGFnOiEwLGxvZ29EYXRhOmIsdHlwZTpmLHNob3J0TmFtZTooMCxILnNhZmVTaG9ydE5hbWUpKGQpfSk7ZnVuY3Rpb24gRSgpeygwLHkudHJhY2tFdmVudCkoIldhdGNobGlzdCIsIk1vYmlsZSBTUyIsIlNlbGVjdCBzeW1ib2wiKSxvIT09Ry5JbnZhbGlkJiZ0Lmxpbmtpbmcuc2V0U3ltYm9sQW5kTG9nSW5pdGlhdG9yKGQsInN5bWJvbCBzZWFyY2giKSxjJiZjKCl9fWZ1bmN0aW9uIFgoZSl7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkouaWNvbldyYXB9LGUuY2hpbGRyZW4sYS5jcmVhdGVFbGVtZW50KFYuSWNvbix7aWNvbjpaLGNsYXNzTmFtZTpKLnNmV2FybmluZ0ljb259KSl9IWZ1bmN0aW9uKGUpe2UuTG9hZGluZz0ibG9hZGluZyIsZS5SZXNvbHZlZD0icmVzb2x2ZWQiLGUuSW52YWxpZD0iaW52YWxpZCJ9KEd8fChHPXt9KSk7dmFyIGVlPXUoNjk4NTAxKTtmdW5jdGlvbiBkZShlKXtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6ZWUuY29udGFpbmVyfSxlLmNoaWxkcmVuKX12YXIgdWU9dSg3MzI1MzMpLHRlPXUoMzY2MjYyKSxjZT11KDQyOTk5MiksbmU9dSg3Nzk5MzkpLG9lPXUoNzYwMzkwKSxhZT11KDUxMDU5OCksbGU9dSg5MjEwMzEpCjtmdW5jdGlvbiByZShlKXtjb25zdFtkLHVdPSgwLGEudXNlU3RhdGUpKFtdKSx7c2VhcmNoUmVmOnQsb25DbG9zZTpjfT0oMCxqLnVzZUVuc3VyZWRDb250ZXh0KShxLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCksW24sb109KDAsYS51c2VTdGF0ZSkobnVsbCksW2wscl09KDAsYS51c2VTdGF0ZSkoW10pLGk9KDAsYS51c2VSZWYpKG51bGwpLHM9KDAsYS51c2VSZWYpKG51bGwpLGY9KDAsYS51c2VNZW1vKSgoKCk9PmQubWFwKChlPT4oMCxMLmlzU2VwYXJhdG9ySXRlbSkoZSk/YS5jcmVhdGVFbGVtZW50KGRlLHtrZXk6ZSxzeW1ib2w6ZSxjaGlsZHJlbjooMCxOLnNlcGFyYXRvclZhbFRvRGlzcGxheVZhbCkoZSl9KTphLmNyZWF0ZUVsZW1lbnQoUSx7a2V5OmUsc3ltYm9sOmUsb25DbGljazpjfSkpKSksW2RdKSxtPSgwLGEudXNlQ2FsbGJhY2spKChlPT4oMCxMLmlzU2VwYXJhdG9ySXRlbSkoZFtlXSk/MzY6dWUuUk9XX0hFSUdIVCksW2RdKTtyZXR1cm4oMCxhLnVzZUVmZmVjdCkoKCgpPT57bGV0IGUsZD0hMDtyZXR1cm4oMCxELmluaXRTeW1ib2xMaXN0U2VydmljZSkoKS50aGVuKCh1PT57aWYoIWQpcmV0dXJuO2NvbnN0e3N0b3JlOnR9PXUsYz10LmdldFN0YXRlKCksbj0oMCx0ZS5nZXRHbG9iYWxBY3RpdmVJRCkoYyk7KDAsdGUuZ2V0SXNSZWFkeUN1c3RvbUxpc3RzKShjKSYmbnVsbCE9PW4/cChjKTooZT10LnN1YnNjcmliZSgoKCk9PntpZighZClyZXR1cm47Y29uc3QgdT10LmdldFN0YXRlKCksYz0oMCx0ZS5nZXRHbG9iYWxBY3RpdmVJRCkodSk7KDAsdGUuZ2V0SXNSZWFkeUN1c3RvbUxpc3RzKSh1KSYmbnVsbCE9PWMmJigoMCxTLmVuc3VyZURlZmluZWQpKGUpKCkscCh1KSl9KSksdC5kaXNwYXRjaCgoMCxuZS5nZXRDdXN0b21XYXRjaGxpc3RzVGh1bmspKG51bGwpKSx0LmRpc3BhdGNoKCgwLG5lLmdldEFjdGl2ZVdhdGNobGlzdFRodW5rKShudWxsKSkpfSkpLCgpPT57ZD0hMSxlJiZlKCl9fSksW10pLGEuY3JlYXRlRWxlbWVudChhLkZyYWdtZW50LG51bGwsYS5jcmVhdGVFbGVtZW50KFQse2l0ZW1DbGFzc05hbWU6bGUuc3ltYm9sTGlzdCxpdGVtczpsLGdldEl0ZW1UaXRsZTplPT5hLmNyZWF0ZUVsZW1lbnQoYWUuTGVhZGluZ0Vtb2ppVGV4dCx7dGV4dDooMCxOLmdldFRyYW5zbGF0ZWRMaXN0VGl0bGUpKGUpfSksZ2V0SXRlbUtleTplPT5lLmlkLGNoZWNrSXRlbUlzQWN0aXZlOmU9PmUuaWQ9PT1uLGdldEl0ZW1Db2xvcjplPT4iY3VzdG9tIj09PWUudHlwZT9udWxsOmUuY29sb3Isb25CdWJibGVDbGljazpmdW5jdGlvbihlKXtoKGUuaWQsZS5zeW1ib2xzKSwoMCx5LnRyYWNrRXZlbnQpKCJXYXRjaGxpc3QiLCJNb2JpbGUgU1MiLCJTZWxlY3QgbGlzdCIpfSxncmF5U3R5bGVzOiEwfSksYS5jcmVhdGVFbGVtZW50KGsuU3ltYm9sU2VhcmNoRmVlZCx7dmlydHVhbExpc3RLZXk6bnx8dm9pZCAwLGxpc3RXcmFwUmVmOnMsbGlzdFJlZjppLG9uVG91Y2hNb3ZlOmZ1bmN0aW9uKCl7dC5jdXJyZW50Py5ibHVyKCl9LGl0ZW1zOmYsZ2V0SXRlbVNpemU6bX0pKTtmdW5jdGlvbiBoKGUsZCl7Y29uc3QgdD1kLmZpbHRlcigoZT0+ISgwLEwuaXNTZXBhcmF0b3JJdGVtKShlKSkpO1UoKS5nZXRTbmFwc2hvdHNGb3JBbGwodCxNKSxvKGUpLHUoZCksaS5jdXJyZW50Py5zY3JvbGxUbygwKX1mdW5jdGlvbiBwKGUpe2NvbnN0IGQ9KDAsdGUuZ2V0R2xvYmFsQWN0aXZlSUQpKGUpO2lmKCFkKXJldHVybjtjb25zdCB1PVsuLi4oMCxjZS5nZXRNYXJrZWRMaXN0cykoZSksLi4uKDAsdGUuZ2V0Q3VzdG9tTGlzdHMpKGUpXS5maWx0ZXIoKGU9PnZvaWQgMCE9PWUmJmUuc3ltYm9scy5sZW5ndGg+MCkpLnNvcnQoZnVuY3Rpb24oZSl7cmV0dXJuKGQsdSk9PigwLG9lLmlzRGVsZXRlZFN5bWJvbHNMaXN0KShkLmlkKSYmZC5pZCE9PWU/MTooMCxvZS5pc0RlbGV0ZWRTeW1ib2xzTGlzdCkoZC5pZCkmJnUuaWQhPT1lfHxkLmlkPT09ZT8tMTp1LmlkPT09ZT8xOiJjb2xvcmVkIj09PWQudHlwZSYmImNvbG9yZWQiIT09dS50eXBlPy0xOiJjb2xvcmVkIj09PXUudHlwZSYmImNvbG9yZWQiIT09ZC50eXBlPzE6ImN1c3RvbSI9PT1kLnR5cGUmJiJjdXN0b20iPT09dS50eXBlP2QubmFtZS5sb2NhbGVDb21wYXJlKHUubmFtZSk6MH0oZCkpO2lmKHIodSksIXUubGVuZ3RoKXJldHVybiB2b2lkIHQuY3VycmVudD8uZm9jdXMoKTtjb25zdCBjPXUuZmluZCgoZT0+ZS5pZD09PWQpKSxuPXZvaWQgMCE9PWM/Yy5zeW1ib2xzOltdO2lmKG4ubGVuZ3RoKWgoZCxuKTtlbHNle2NvbnN0IGU9dS5maW5kKChlPT5lLnN5bWJvbHMubGVuZ3RoKSk7ZSYmaChlLmlkLGUuc3ltYm9scyl9fX12YXIgaWU9dSgzNjY1OTcpLHNlPXUoNzIwNjc3KSxmZT11KDUwNDA3KTtmdW5jdGlvbiBtZShlKXtjb25zdHttb2RlOmQsc2V0TW9kZTp1LHNlYXJjaFJlZjp0LHNlYXJjaFNwcmVhZHM6YyxzZWxlY3RlZFN5bWJvbFR5cGU6bixzZWxlY3RlZFNlYXJjaFNvdXJjZTpvLGNhY2hlZElucHV0VmFsdWU6bH09KDAsai51c2VFbnN1cmVkQ29udGV4dCkocS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpLHtyZXNldFJlY29tbWVuZHM6cix1cGRhdGVSZWNvbW1lbmRzOmksbGlzdFJlZjpzLHNlYXJjaFRva2VuOmYsaXNCcm9rZXJDaGVja2VkOm0saXNBY2NvdW50RmlsdGVyQ2hlY2tlZDpofT0oMCxqLnVzZUVuc3VyZWRDb250ZXh0KShmZS5TeW1ib2xTZWFyY2hEaWFsb2dCb2R5Q29udGV4dCk7cmV0dXJuKDAsYS51c2VFZmZlY3QpKCgoKT0+e3ZvaWQgMCE9PWYmJnImJmkmJigiIiE9PWYudHJpbSgpfHxjP2koZixuLG8pOnIoKSxiKCkpfSksW2YsYyxuLG8sbSxoXSksKDAsdi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iik/YS5jcmVhdGVFbGVtZW50KGllLkRpYWxvZ1NlYXJjaCx7Li4uZSxjaGlsZHJlbjp2b2lkIDAsb25DYW5jZWw6InN5bWJvbFNlYXJjaCI9PT1kP3A6dm9pZCAwfSk6YS5jcmVhdGVFbGVtZW50KHNlLlNlYXJjaElucHV0LHsuLi5lLGVuZFNsb3Q6dm9pZCAwLG9uUmVzZXQ6cCxzaG93Q2xlYXJBbHdheXM6InN5bWJvbFNlYXJjaCI9PT1kfSk7ZnVuY3Rpb24gcCgpe2Uub25SZXNldD8uKCksCiJzeW1ib2xTZWFyY2giPT09ZCYmdC5jdXJyZW50JiZyJiYodC5jdXJyZW50LmJsdXIoKSx1KCJ3YXRjaGxpc3QiKSxyKCksYigpLGwmJmwuY3VycmVudCYmKGwuY3VycmVudD0iIikpfWZ1bmN0aW9uIGIoKXtzPy5jdXJyZW50Py5zY3JvbGxUbygwKX19dmFyIGhlPXUoNzE3MjYzKTtmdW5jdGlvbiBwZShlKXtjb25zdHttb2RlOmQsc3ltYm9sU2VhcmNoQ29udGVudDp0fT0oMCxqLnVzZUVuc3VyZWRDb250ZXh0KShxLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCkse2VtcHR5VGV4dENsYXNzTmFtZTpjLHN5bWJvbFNlYXJjaFN0YXRlOm59PSgwLGoudXNlRW5zdXJlZENvbnRleHQpKGZlLlN5bWJvbFNlYXJjaERpYWxvZ0JvZHlDb250ZXh0KTtyZXR1cm4icmVzZXRGaWx0ZXIiPT09bnx8InJlc2V0VGFiRmlsdGVyIj09PW4/YS5jcmVhdGVFbGVtZW50KGhlLlN5bWJvbFNlYXJjaE5vUmVzdWx0LHsuLi5lLGNsYXNzTmFtZTp2b2lkIDB9KTphLmNyZWF0ZUVsZW1lbnQoaGUuU3ltYm9sU2VhcmNoTm9SZXN1bHQsbnVsbCxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpjfSxmdW5jdGlvbigpe2lmKCJleGNoYW5nZSI9PT1kKXJldHVybiBfLnQobnVsbCx2b2lkIDAsdSg0NzIyOTkpKTtyZXR1cm4iIiE9PXQudG9rZW4udHJpbSgpP18udChudWxsLHZvaWQgMCx1KDQxNzc3KSk6Xy50KG51bGwsdm9pZCAwLHUoMTkyOTEwKSl9KCkpKX12YXIgYmUsZ2UsdmUsU2U9dSgzNjIyMzkpO2FzeW5jIGZ1bmN0aW9uIHllKGUpe2NvbnN0e3NlYXJjaFR5cGU6ZCxzZWFyY2hSZXN1bHQ6dT0iIixpbnB1dFZhbHVlOnQ9IiJ9PWUsYz1hd2FpdCgwLFNlLmdldFRyYWNrZXIpKCk7YyYmYy50cmFja1NlYXJjaFRvb2xiYXIoZCx0LHUsZnVuY3Rpb24oZSl7Y29uc3R7ZmlsdGVyUGFyYW1zOmQsYWN0aW9uOnUsbnVtYmVySW5MaXN0OnQsdGFyZ2V0OmMsZmVhdHVyZWRTeW1ib2xOYW1lOm4sc2VhcmNoUmVzdWx0Om99PWUsYT17YWN0aW9uOnV9O3ZvaWQgMCE9PWMmJihhLnRhcmdldD1jKTt2b2lkIDAhPT1uJiYoYS5zaG93X2ZlYXR1cmVkX3N5bWJvbD1uLGEuc2VsZWN0X2ZlYXR1cmVkX3N5bWJvbD1uPT09bz9uOm51bGwpO3ZvaWQgMCE9PXQmJihhLnNlbGVjdGVkX2lkeF9vYmplY3Q9dCk7ZC5yZXN1bHRfbGlzdD8ubGVuZ3RoJiYoYS5udW1iZXJfb2ZfcmVzdWx0X2xpc3Q9ZC5yZXN1bHRfbGlzdC5sZW5ndGgpO3JldHVybiBPYmplY3Qua2V5cyhkKS5mb3JFYWNoKChlPT57InJlc3VsdF9saXN0Ij09PWU/ZFtlXT8ubGVuZ3RoJiYoYVtlXT1kW2VdKTphW2VdPWRbZV0/ZFtlXToiQWxsIn0pKSxKU09OLnN0cmluZ2lmeShhKX0oZSkpfSFmdW5jdGlvbihlKXtlLkNsaWNrPSJjbGljayIsZS5FbnRlcj0iZW50ZXIiLGUuRW1wdHk9ImVtcHR5X3Jlc3VsdCJ9KGJlfHwoYmU9e30pKSxmdW5jdGlvbihlKXtlLlJlc3VsdExpc3Q9InJlc3VsdF9saXN0IixlLkNvdW50cnk9ImNvdW50cnkiLGUuRXhjaGFuZ2U9ImV4Y2hhbmdlIn0oZ2V8fChnZT17fSkpLGZ1bmN0aW9uKGUpe2UuRW1wdHlSZXN1bHRNZW51PSJlbXB0eV9yZXN1bHRfX21lbnUiLGUuRW1wdHlSZXN1bHRDaGFydD0iZW1wdHlfcmVzdWx0X19zdXBlcmNoYXJ0cyJ9KHZlfHwodmU9e30pKTt2YXIgd2U9dSgyNTMyNSksRWU9dSg0OTI5NzgpLENlPXUoNTU4OTc5KSx4ZT11KDU4Mzg0MiksSWU9dSgzODQxNTQpLEFlPXUoMzg0NDU4KTtmdW5jdGlvbiB6ZShlKXtjb25zdHtpc1NlbGVjdGVkOmQsZXhpc3RJbldhdGNobGlzdDp0LGZpbmRJbldhdGNobGlzdDpjLGFkZFRvV2F0Y2hsaXN0Om4scmVtb3ZlRnJvbVdhdGNobGlzdDpvfT1lLHtzZWxlY3RlZEFjdGlvbjpsfT0oMCxTLmVuc3VyZU5vdE51bGwpKCgwLGEudXNlQ29udGV4dCkod2UuU3ltYm9sU2VhcmNoV2F0Y2hsaXN0Q29udGV4dCkpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoYS5GcmFnbWVudCxudWxsLHQ/YS5jcmVhdGVFbGVtZW50KGEuRnJhZ21lbnQsbnVsbCxhLmNyZWF0ZUVsZW1lbnQoRWUuTGlzdEl0ZW1CdXR0b24se2NsYXNzTmFtZTpFKCkoQWUuYWN0aW9uLEFlLnJlbW92ZUFjdGlvbixkJiYyPT09bCYmQWUuc2VsZWN0ZWQsImFwcGx5LWNvbW1vbi10b29sdGlwIiksb25DbGljazpvLGljb246Q2UsdGl0bGU6Xy50KG51bGwsdm9pZCAwLHUoOTY4MDQ3KSl9KSxhLmNyZWF0ZUVsZW1lbnQoRWUuTGlzdEl0ZW1CdXR0b24se2NsYXNzTmFtZTpFKCkoQWUuYWN0aW9uLEFlLnRhcmdldEFjdGlvbixkJiYxPT09bCYmQWUuc2VsZWN0ZWQsImFwcGx5LWNvbW1vbi10b29sdGlwIiksb25DbGljazpjLGljb246SWUsdGl0bGU6Xy50KG51bGwsdm9pZCAwLHUoNzY2NjIyKSl9KSk6YS5jcmVhdGVFbGVtZW50KEVlLkxpc3RJdGVtQnV0dG9uLHtjbGFzc05hbWU6RSgpKEFlLmFjdGlvbixBZS5hZGRBY3Rpb24sZCYmMD09PWwmJkFlLnNlbGVjdGVkLCJhcHBseS1jb21tb24tdG9vbHRpcCIpLG9uQ2xpY2s6bixpY29uOnhlLHRpdGxlOl8udChudWxsLHZvaWQgMCx1KDQxODIzOCkpfSkpfXZhciBUZT11KDIzNTcyNCksTWU9dSg1MTk1MTUpLGtlPXUoNjU0NjM2KTt2YXIgRGU9dSg5NjQzNjEpLE5lPXUoOTgzNjE2KSxMZT11KDg1NjQwMCk7Y29uc3QgamU9KDAsdSgxNTM1ODIpLmlzUGxhdGZvcm1Nb2JpbGUpKCk7ZnVuY3Rpb24gX2UoZSl7Y29uc3QgZD1uZXcgZy5XYXRjaGVkVmFsdWUoe30pLHU9KDAsby5nZXRTeW1ib2xTZWFyY2hDb21wbGV0ZU92ZXJyaWRlRnVuY3Rpb24pKCkse2RlZmF1bHRWYWx1ZTphLHNob3dTcHJlYWRBY3Rpb25zOmwsc291cmNlOnIsb25TZWFyY2hDb21wbGV0ZTppLHRyYWNrUmVzdWx0c09wdGlvbnM6cyxzZXRTeW1ib2w6Zj0oZSxkKT0+dC5saW5raW5nLnNldFN5bWJvbEFuZExvZ0luaXRpYXRvcihlLnN5bWJvbCxkKSxzZWFyY2hUeXBlOmgsLi4ucH09ZSxiPXsuLi5wLHNob3dTcHJlYWRBY3Rpb25zOmw/PygwLG4uY2FuU2hvd1NwcmVhZEFjdGlvbnMpKCksb25TeW1ib2xGaWx0ZXJzUGFyYW1zQ2hhbmdlOnM/LnRyYWNrUmVzdWx0cz9lPT5kLnNldFZhbHVlKGUpOnZvaWQgMCxvblNlYXJjaENvbXBsZXRlOihlLHQpPT57Y29uc3QgYz10Py5zeW1ib2xUeXBlCjt1KGVbMF0uc3ltYm9sLGVbMF0ucmVzdWx0KS50aGVuKChlPT57ZihlLCJzeW1ib2wgc2VhcmNoIiksaT8uKGUpLCgwLHkudHJhY2tFdmVudCkoIk5ldyBTUyIsIiI9PT1jPyJBbGwiOigwLFMuZW5zdXJlRGVmaW5lZCkoYyksIkNoYXJ0IiksciYmYSE9PWUuc3ltYm9sJiYoMCxTZS5nZXRUcmFja2VyKSgpLnRoZW4oKGQ9PntudWxsIT09ZCYmZC50cmFja0NoYW5nZVN5bWJvbChlLnN5bWJvbCxyKX0pKSwhcz8udHJhY2tSZXN1bHRzfHx0Py5pc1NwcmVhZHx8Im9wdGlvbnMiPT09YyYmcC5lbmFibGVPcHRpb25zQ2hhaW58fHllKHsuLi50LGZpbHRlclBhcmFtczpkLnZhbHVlKCksc2VhcmNoUmVzdWx0OmUuc3ltYm9sLHNlYXJjaFR5cGU6aCxhY3Rpb246dD8uaXNLZXlib2FyZEV2ZW50PyJlbnRlciI6ImNsaWNrIn0pfSkpfSxvbkVtcHR5UmVzdWx0czpzPy50cmFja1Jlc3VsdHM/ZnVuY3Rpb24oZSl7eWUoe2lucHV0VmFsdWU6ZSxmaWx0ZXJQYXJhbXM6ZC52YWx1ZSgpLHNlYXJjaFR5cGU6KDAsUy5lbnN1cmVEZWZpbmVkKShzKS5lbXB0eVNlYXJjaFR5cGUsYWN0aW9uOiJlbXB0eV9yZXN1bHQifSl9OnZvaWQgMH07amUmJiEoMCx2LmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT9tKHsuLi5iLGluaXRpYWxNb2RlOiJ3YXRjaGxpc3QiLGluaXRpYWxTY3JlZW46cmUsc2VhcmNoSW5wdXQ6bWUsZW1wdHlTdGF0ZTpwZSxmdWxsc2NyZWVuOiEwLGRpYWxvZ1dpZHRoOiJmaXhlZCIsYXV0b2ZvY3VzOiFjLm1vYmlsZXRvdWNofSk6bSh7Li4uYixkZWZhdWx0VmFsdWU6YX0pfWNvbnN0IFJlPXtTeW1ib2xTZWFyY2hXYXRjaGxpc3REaWFsb2dDb250ZW50SXRlbTpmdW5jdGlvbihlKXtjb25zdHthZGRUb1dhdGNobGlzdDpkLHJlbW92ZUZyb21XYXRjaGxpc3Q6dSxmaW5kSW5XYXRjaGxpc3Q6dCxleGlzdEluV2F0Y2hsaXN0Om4saXNTZWxlY3RlZDpvLGZ1bGxTeW1ib2xOYW1lOmwsLi4ucn09ZSx7b25DbG9zZTppLHNlYXJjaFJlZjpzLHNlYXJjaFNwcmVhZHM6Zn09KDAsUy5lbnN1cmVOb3ROdWxsKSgoMCxhLnVzZUNvbnRleHQpKHEuU3ltYm9sU2VhcmNoSXRlbXNEaWFsb2dDb250ZXh0KSkse3NldFNlbGVjdGVkQWN0aW9uOm0saXNTcHJlYWRPck11bHRpcGxlTW9kZTpoLGFkZEFmdGVyOnAsY2xlYXJUYXJnZXRTeW1ib2w6YixoaWdobGlnaHRlZDpnLGhpZ2hsaWdodDp2fT0oMCxTLmVuc3VyZU5vdE51bGwpKCgwLGEudXNlQ29udGV4dCkod2UuU3ltYm9sU2VhcmNoV2F0Y2hsaXN0Q29udGV4dCkpLHc9aChmLHMpO3JldHVybigwLGEudXNlTGF5b3V0RWZmZWN0KSgoKCk9PntvJiZtKHZvaWQgMCE9PW4/bj8yOjA6bnVsbCl9KSxbbyxuXSksYS5jcmVhdGVFbGVtZW50KEYuU3ltYm9sU2VhcmNoRGlhbG9nQ29udGVudEl0ZW0sey4uLnIsZnVsbFN5bWJvbE5hbWU6bCxvbkNsaWNrOnc/ZS5vbkNsaWNrOmZ1bmN0aW9uKHUpe2lmKHZvaWQgMD09PWwpcmV0dXJuO2lmKHZvaWQgMD09PW4pcmV0dXJuIHZvaWQoMCxTLmVuc3VyZURlZmluZWQpKGUub25DbGljaykodSk7bj8oeCgpLEMoIndhdGNobGlzdCByZW1vdmUgY2xpY2siLHUpLHA9PT1sJiZiKCkpOigoMCxrZS5ydW5PclNpZ25JbldpdGhQcm9tbykoIndhdGNoTGlzdCIse3NvdXJjZToiYWRkIHN5bWJvbCB0byB3YXRjaGxpc3QifSwoKCk9PntkKE1lLldBVENITElTVF9XSURHRVRfSUQsW2xdLHApLGUuaWQmJnYoZS5pZCl9KSksQygid2F0Y2hsaXN0IGFkZCBjbGljayIsdSkpO0UodSl9LGlzSGlnaGxpZ2h0ZWQ6Zz09PWUuaWQsaXNTZWxlY3RlZDpvLGFjdGlvbnM6dm9pZCAwPT09bnx8dz92b2lkIDA6YS5jcmVhdGVFbGVtZW50KHplLHtpc1NlbGVjdGVkOm8sZXhpc3RJbldhdGNobGlzdDpuLGFkZFRvV2F0Y2hsaXN0OmZ1bmN0aW9uKHUpe2lmKHUuc3RvcFByb3BhZ2F0aW9uKCksdm9pZCAwPT09bClyZXR1cm47KDAsa2UucnVuT3JTaWduSW5XaXRoUHJvbW8pKCJ3YXRjaExpc3QiLHtzb3VyY2U6ImFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0In0sKCgpPT57ZChNZS5XQVRDSExJU1RfV0lER0VUX0lELFtsXSxwKSxlLmlkJiZ2KGUuaWQpfSkpLEUodSksQygid2F0Y2hsaXN0IGFkZCBidXR0b24iLHUpfSxyZW1vdmVGcm9tV2F0Y2hsaXN0OmZ1bmN0aW9uKGUpe2lmKGUuc3RvcFByb3BhZ2F0aW9uKCksdm9pZCAwPT09bClyZXR1cm47eCgpLEUoZSksQygid2F0Y2hsaXN0IHJlbW92ZSBidXR0b24iLGUpLHA9PT1sJiZiKCl9LGZpbmRJbldhdGNobGlzdDpmdW5jdGlvbihlKXtpZihlLnN0b3BQcm9wYWdhdGlvbigpLHZvaWQgMD09PWwpcmV0dXJuO3QoTWUuV0FUQ0hMSVNUX1dJREdFVF9JRCxsKSxpKCksQygid2F0Y2hsaXN0IGdvdG8gYnV0dG9uIil9fSl9KTtmdW5jdGlvbiBFKGUpe2UmJigwLFRlLm1vZGlmaWVyc0Zyb21FdmVudCkoZSk9PT1UZS5Nb2RpZmllcnMuU2hpZnQ/aSgpOmMubW9iaWxldG91Y2h8fHMuY3VycmVudD8uc2VsZWN0KCl9ZnVuY3Rpb24gQyhlLGQpe2xldCB1PWU7ZCYmKDAsVGUubW9kaWZpZXJzRnJvbUV2ZW50KShkKT09PVRlLk1vZGlmaWVycy5TaGlmdCYmKHUrPSIgc2hpZnQiKSwoMCx5LnRyYWNrRXZlbnQpKCJHVUkiLCJTUyIsdSl9ZnVuY3Rpb24geCgpe3ZvaWQgMCE9PWwmJnUoTWUuV0FUQ0hMSVNUX1dJREdFVF9JRCxbbF0sdm9pZCAwLCEwKX19LFN5bWJvbFNlYXJjaFdhdGNobGlzdERpYWxvZzpmdW5jdGlvbihlKXtjb25zdHthZGRUb1dhdGNobGlzdDpkLHJlbW92ZUZyb21XYXRjaGxpc3Q6dSxmaW5kSW5XYXRjaGxpc3Q6dCwuLi5jfT1lLHtmZWVkSXRlbXM6bixzZWFyY2hSZWY6byxzZWFyY2hTcHJlYWRzOmwsc2VsZWN0ZWRJbmRleDpyLG9uU3VibWl0Omksb3BlbmVkSXRlbXM6cyxzZXRTZWxlY3RlZEluZGV4OmYsb25DbG9zZTptLGlzTW9iaWxlOmgsaXNUYWJsZXQ6cCxtb2RlOmIsc2V0TW9kZTpnLHN5bWJvbFNlYXJjaFN0YXRlOnYsdG9nZ2xlRXhwYW5kOnl9PSgwLFMuZW5zdXJlTm90TnVsbCkoKDAsCmEudXNlQ29udGV4dCkocS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpKSx7c2VsZWN0ZWRBY3Rpb246dyxzZXRTZWxlY3RlZEFjdGlvbjpDLGlzU3ByZWFkT3JNdWx0aXBsZU1vZGU6eCxhZGRBZnRlcjpJLGNsZWFyVGFyZ2V0U3ltYm9sOkEsaGlnaGxpZ2h0Onp9PSgwLFMuZW5zdXJlTm90TnVsbCkoKDAsYS51c2VDb250ZXh0KSh3ZS5TeW1ib2xTZWFyY2hXYXRjaGxpc3RDb250ZXh0KSksVD1uW3JdLE09ImV4Y2hhbmdlIj09PWI7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChEZS5BZGFwdGl2ZVBvcHVwRGlhbG9nLHsuLi5jLGNsYXNzTmFtZTpFKCkoTGUuZGlhbG9nLCFoJiYocD9MZS50YWJsZXREaWFsb2c6TGUuZGVza3RvcERpYWxvZykpLGRhdGFOYW1lOiJ3YXRjaGxpc3Qtc3ltYm9sLXNlYXJjaC1kaWFsb2ciLG9uS2V5RG93bjpmdW5jdGlvbihlKXtpZihlLnRhcmdldCYmZS50YXJnZXQhPT1vLmN1cnJlbnQpcmV0dXJuO2NvbnN0IGQ9KDAsVGUuaGFzaEZyb21FdmVudCkoZSk7c3dpdGNoKGQpe2Nhc2UgMTM6cmV0dXJuIHgobCxvKT92b2lkIGkoITApOihUP2soITEpOmkoITEpLHZvaWQgby5jdXJyZW50Py5zZWxlY3QoKSk7Y2FzZSAxMytUZS5Nb2RpZmllcnMuU2hpZnQ6cmV0dXJuIHgobCxvKT92b2lkIGkoITApOnZvaWQoVD9rKCEwKTppKCEwKSk7Y2FzZSAyNzpyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpLE0/dm9pZCBnKCJzeW1ib2xTZWFyY2giKTp2b2lkIG0oKX1zd2l0Y2goKDAsTmUubWFwS2V5Q29kZVRvRGlyZWN0aW9uKShkKSl7Y2FzZSJibG9ja1ByZXYiOmlmKGUucHJldmVudERlZmF1bHQoKSwwPT09cnx8Imdvb2QiIT09dilyZXR1cm47aWYoLTE9PT1yKXJldHVybiB2b2lkIGYoMCk7ZihyLTEpO2JyZWFrO2Nhc2UiYmxvY2tOZXh0IjppZihlLnByZXZlbnREZWZhdWx0KCkscj09PW4ubGVuZ3RoLTF8fCJnb29kIiE9PXYpcmV0dXJuO2YocisxKTticmVhaztjYXNlImlubGluZVByZXYiOmlmKCFUKXJldHVybjtpZihULmlkJiZULm9uRXhwYW5kQ2xpY2smJnMuaGFzKFQuaWQpJiYoMj09PXd8fDA9PT13KSlyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpLHZvaWQgeShULmlkKTsxPT09dyYmKGUucHJldmVudERlZmF1bHQoKSxDKDIpKTticmVhaztjYXNlImlubGluZU5leHQiOmlmKCFUKXJldHVybjtpZihULmlkJiZULm9uRXhwYW5kQ2xpY2smJiFzLmhhcyhULmlkKSYmKDE9PT13fHwwPT09dykpcmV0dXJuIGUucHJldmVudERlZmF1bHQoKSx2b2lkIHkoVC5pZCk7Mj09PXcmJihlLnByZXZlbnREZWZhdWx0KCksQygxKSl9fSxiYWNrZHJvcDohMCxkcmFnZ2FibGU6ITF9KTtmdW5jdGlvbiBrKGUpe2lmKCFUfHx2b2lkIDA9PT1ULmZ1bGxTeW1ib2xOYW1lKXJldHVybjtjb25zdHtmdWxsU3ltYm9sTmFtZTpjfT1UO3N3aXRjaCh3KXtjYXNlIDA6KDAsa2UucnVuT3JTaWduSW5XaXRoUHJvbW8pKCJ3YXRjaExpc3QiLHtzb3VyY2U6ImFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0In0sKCgpPT57ZChNZS5XQVRDSExJU1RfV0lER0VUX0lELFtjXSxJKSxULmlkJiZ6KFQuaWQpfSkpO2JyZWFrO2Nhc2UgMTpyZXR1cm4gdChNZS5XQVRDSExJU1RfV0lER0VUX0lELGMpLHZvaWQgbSgpO2Nhc2UgMjp1KE1lLldBVENITElTVF9XSURHRVRfSUQsW2NdKSxJPT09YyYmQSgpfWUmJm0oKX19fX0sNDI3NzczKGUsZCx1KXsidXNlIHN0cmljdCI7dS5kKGQse0VNUFRZX0VNT0pJOigpPT50fSk7Y29uc3QgdD0iIn0sMzE1MTU0KGUsZCx1KXsidXNlIHN0cmljdCI7dS5kKGQse2Vtb2ppR3JvdXBzOigpPT5OLGlzU3VwcG9ydGVkRW1vamk6KCk9Pk0sbG9jYWxlQ29tcGFyZUVtb2ppVGl0bGVzOigpPT5ELHJlbW92ZVVuYXZhaWxhYmxlRW1vamk6KCk9PlQsc2VwYXJhdGVFbW9qaTooKT0+a30pO3ZhciB0PXUoNzc5NDc0KSxjPXUoMTg1MjcxKSxuPXUoNjYzMDQ2KSxvPXUoNjQxNTkzKSxhPXUoMTM4NjM4KSxsPXUoMjczNzMyKSxyPXUoODE0NjcwKSxpPXUoNjIwNzgxKSxzPXUoMTYxMTc3KSxmPXUoMTg1NjA1KSxtPXUoMjAyNTExKSxoPXUoNzUwNzY5KSxwPXUoNjk0NTMyKSxiPXUoOTAwMzExKSxnPXUoNTY5Nzg1KQo7Y29uc3Qgdj1bIvCfmIAiLCLwn5iDIiwi8J+YhCIsIvCfmIEiLCLwn5iGIiwi8J+YhSIsIvCfmIIiLCLwn6SjIiwi4pi677iPIiwi8J+YiiIsIvCfmIciLCLwn5mCIiwi8J+ZgyIsIvCfmIkiLCLwn5iMIiwi8J+YjSIsIvCfpbAiLCLwn5iYIiwi8J+YlyIsIvCfmJkiLCLwn5iaIiwi8J+YiyIsIvCfmJsiLCLwn5idIiwi8J+YnCIsIvCfpKoiLCLwn6SoIiwi8J+nkCIsIvCfpJMiLCLwn5iOIiwi8J+kqSIsIvCfpbMiLCLwn5iPIiwi8J+YkiIsIvCfmJ4iLCLwn5iUIiwi8J+YnyIsIvCfmJUiLCLwn5mBIiwi4pi577iPIiwi8J+YoyIsIvCfmJYiLCLwn5irIiwi8J+YqSIsIvCfpboiLCLwn5iiIiwi8J+YrSIsIvCfmKQiLCLwn5igIiwi8J+YoSIsIvCfpKwiLCLwn6SvIiwi8J+YsyIsIvCfpbUiLCLwn6W2Iiwi8J+YsSIsIvCfmKgiLCLwn5iwIiwi8J+YpSIsIvCfmJMiLCLwn6SXIiwi8J+klCIsIvCfpK0iLCLwn6SrIiwi8J+kpSIsIvCfmLYiLCLwn5iQIiwi8J+YkSIsIvCfmKwiLCLwn5mEIiwi8J+YryIsIvCfmKYiLCLwn5inIiwi8J+YriIsIvCfmLIiLCLwn6WxIiwi8J+YtCIsIvCfpKQiLCLwn5iqIiwi8J+YtSIsIvCfpJAiLCLwn6W0Iiwi8J+koiIsIvCfpK4iLCLwn6SnIiwi8J+YtyIsIvCfpJIiLCLwn6SVIiwi8J+kkSIsIvCfpKAiLCLwn5iIIiwi8J+RvyIsIvCfkbkiLCLwn5G6Iiwi8J+koSIsIvCfkqkiLCLwn5G7Iiwi8J+SgCIsIuKYoO+4jyIsIvCfkb0iLCLwn5G+Iiwi8J+kliIsIvCfjoMiLCLwn5i6Iiwi8J+YuCIsIvCfmLkiLCLwn5i7Iiwi8J+YvCIsIvCfmL0iLCLwn5mAIiwi8J+YvyIsIvCfmL4iLCLwn5GLIiwi8J+kmiIsIvCflpAiLCLinIsiLCLwn5aWIiwi8J+RjCIsIvCfpI8iLCLinIzvuI8iLCLwn6SeIiwi8J+knyIsIvCfpJgiLCLwn6SZIiwi8J+RiCIsIvCfkYkiLCLwn5GGIiwi8J+WlSIsIvCfkYciLCLimJ3vuI8iLCLwn5GNIiwi8J+RjiIsIuKciiIsIvCfkYoiLCLwn6SbIiwi8J+knCIsIvCfkY8iLCLwn5mMIiwi8J+RkCIsIvCfpLIiLCLwn6SdIiwi8J+ZjyIsIuKcje+4jyIsIvCfkoUiLCLwn6SzIiwi8J+SqiIsIvCfpr4iLCLwn6a1Iiwi8J+mvyIsIvCfprYiLCLwn5GCIiwi8J+muyIsIvCfkYMiLCLwn6egIiwi8J+mtyIsIvCfprQiLCLwn5GAIiwi8J+RgSIsIvCfkYUiLCLwn5GEIiwi8J+SiyIsIvCfqbgiLCLwn5G2Iiwi8J+nkiIsIvCfkaYiLCLwn5GnIiwi8J+nkSIsIvCfkbEiLCLwn5GoIiwi8J+nlCIsIvCfkajigI3wn6awIiwi8J+RqOKAjfCfprEiLCLwn5Go4oCN8J+msyIsIvCfkajigI3wn6ayIiwi8J+RqSIsIvCfkanigI3wn6awIiwi8J+nkeKAjfCfprAiLCLwn5Gp4oCN8J+msSIsIvCfp5HigI3wn6axIiwi8J+RqeKAjfCfprMiLCLwn6eR4oCN8J+msyIsIvCfkanigI3wn6ayIiwi8J+nkeKAjfCfprIiLCLwn5Gx4oCN4pmA77iPIiwi8J+RseKAjeKZgu+4jyIsIvCfp5MiLCLwn5G0Iiwi8J+RtSIsIvCfmY0iLCLwn5mN4oCN4pmC77iPIiwi8J+ZjeKAjeKZgO+4jyIsIvCfmY4iLCLwn5mO4oCN4pmC77iPIiwi8J+ZjuKAjeKZgO+4jyIsIvCfmYUiLCLwn5mF4oCN4pmC77iPIiwi8J+ZheKAjeKZgO+4jyIsIvCfmYYiLCLwn5mG4oCN4pmC77iPIiwi8J+ZhuKAjeKZgO+4jyIsIvCfkoEiLCLwn5KB4oCN4pmC77iPIiwi8J+SgeKAjeKZgO+4jyIsIvCfmYsiLCLwn5mL4oCN4pmC77iPIiwi8J+Zi+KAjeKZgO+4jyIsIvCfp48iLCLwn6eP4oCN4pmC77iPIiwi8J+nj+KAjeKZgO+4jyIsIvCfmYciLCLwn5mH4oCN4pmC77iPIiwi8J+Zh+KAjeKZgO+4jyIsIvCfpKYiLCLwn6Sm4oCN4pmC77iPIiwi8J+kpuKAjeKZgO+4jyIsIvCfpLciLCLwn6S34oCN4pmC77iPIiwi8J+kt+KAjeKZgO+4jyIsIvCfp5HigI3impXvuI8iLCLwn5Go4oCN4pqV77iPIiwi8J+RqeKAjeKale+4jyIsIvCfp5HigI3wn46TIiwi8J+RqOKAjfCfjpMiLCLwn5Gp4oCN8J+OkyIsIvCfp5HigI3wn4+rIiwi8J+RqOKAjfCfj6siLCLwn5Gp4oCN8J+PqyIsIvCfp5HigI3impbvuI8iLCLwn5Go4oCN4pqW77iPIiwi8J+RqeKAjeKalu+4jyIsIvCfp5HigI3wn4y+Iiwi8J+RqOKAjfCfjL4iLCLwn5Gp4oCN8J+MviIsIvCfp5HigI3wn42zIiwi8J+RqOKAjfCfjbMiLCLwn5Gp4oCN8J+NsyIsIvCfp5HigI3wn5SnIiwi8J+RqOKAjfCflKciLCLwn5Gp4oCN8J+UpyIsIvCfp5HigI3wn4+tIiwi8J+RqOKAjfCfj60iLCLwn5Gp4oCN8J+PrSIsIvCfp5HigI3wn5K8Iiwi8J+RqOKAjfCfkrwiLCLwn5Gp4oCN8J+SvCIsIvCfp5HigI3wn5SsIiwi8J+RqOKAjfCflKwiLCLwn5Gp4oCN8J+UrCIsIvCfp5HigI3wn5K7Iiwi8J+RqOKAjfCfkrsiLCLwn5Gp4oCN8J+SuyIsIvCfp5HigI3wn46kIiwi8J+RqOKAjfCfjqQiLCLwn5Gp4oCN8J+OpCIsIvCfp5HigI3wn46oIiwi8J+RqOKAjfCfjqgiLCLwn5Gp4oCN8J+OqCIsIvCfp5HigI3inIjvuI8iLCLwn5Go4oCN4pyI77iPIiwi8J+RqeKAjeKciO+4jyIsIvCfp5HigI3wn5qAIiwi8J+RqOKAjfCfmoAiLCLwn5Gp4oCN8J+agCIsIvCfp5HigI3wn5qSIiwi8J+RqOKAjfCfmpIiLCLwn5Gp4oCN8J+akiIsIvCfka4iLCLwn5Gu4oCN4pmC77iPIiwi8J+RruKAjeKZgO+4jyIsIvCflbUiLCLwn5W177iP4oCN4pmC77iPIiwi8J+Vte+4j+KAjeKZgO+4jyIsIvCfkoIiLCLwn5KC4oCN4pmC77iPIiwi8J+SguKAjeKZgO+4jyIsIvCfkbciLCLwn5G34oCN4pmC77iPIiwi8J+Rt+KAjeKZgO+4jyIsIvCfpLQiLCLwn5G4Iiwi8J+RsyIsIvCfkbPigI3imYLvuI8iLCLwn5Gz4oCN4pmA77iPIiwi8J+RsiIsIvCfp5UiLCLwn6S1Iiwi8J+RsCIsIvCfpLAiLCLwn6SxIiwi8J+RvCIsIvCfjoUiLCLwn6S2Iiwi8J+muCIsIvCfprjigI3imYLvuI8iLCLwn6a44oCN4pmA77iPIiwi8J+muSIsIvCfprnigI3imYLvuI8iLCLwn6a54oCN4pmA77iPIiwi8J+nmSIsIvCfp5nigI3imYLvuI8iLCLwn6eZ4oCN4pmA77iPIiwi8J+nmiIsIvCfp5rigI3imYLvuI8iLCLwn6ea4oCN4pmA77iPIiwi8J+nmyIsIvCfp5vigI3imYLvuI8iLCLwn6eb4oCN4pmA77iPIiwi8J+nnCIsIvCfp5zigI3imYLvuI8iLCLwn6ec4oCN4pmA77iPIiwi8J+nnSIsIvCfp53igI3imYLvuI8iLCLwn6ed4oCN4pmA77iPIiwi8J+nniIsIvCfp57igI3imYLvuI8iLCLwn6ee4oCN4pmA77iPIiwi8J+nnyIsIvCfp5/igI3imYLvuI8iLCLwn6ef4oCN4pmA77iPIiwi8J+ShiIsIvCfkobigI3imYLvuI8iLCLwn5KG4oCN4pmA77iPIiwi8J+ShyIsIvCfkofigI3imYLvuI8iLCLwn5KH4oCN4pmA77iPIiwi8J+atiIsIvCfmrbigI3imYLvuI8iLCLwn5q24oCN4pmA77iPIiwi8J+njSIsIvCfp43igI3imYLvuI8iLCLwn6eN4oCN4pmA77iPIiwi8J+njiIsIvCfp47igI3imYLvuI8iLCLwn6eO4oCN4pmA77iPIiwi8J+nkeKAjfCfpq8iLCLwn5Go4oCN8J+mryIsIvCfkanigI3wn6avIiwi8J+nkeKAjfCfprwiLCLwn5Go4oCN8J+mvCIsIvCfkanigI3wn6a8Iiwi8J+nkeKAjfCfpr0iLCLwn5Go4oCN8J+mvSIsIvCfkanigI3wn6a9Iiwi8J+PgyIsIvCfj4PigI3imYLvuI8iLCLwn4+D4oCN4pmA77iPIiwi8J+SgyIsIvCflboiLCLwn5W0Iiwi8J+RryIsIvCfka/igI3imYLvuI8iLCLwn5Gv4oCN4pmA77iPIiwi8J+nliIsIvCfp5bigI3imYLvuI8iLCLwn6eW4oCN4pmA77iPIiwi8J+nkeKAjfCfpJ3igI3wn6eRIiwi8J+RrSIsIvCfkasiLCLwn5GsIiwi8J+SjyIsIvCfkajigI3inaTvuI/igI3wn5KL4oCN8J+RqCIsIvCfkanigI3inaTvuI/igI3wn5KL4oCN8J+RqSIsIvCfkpEiLCLwn5Go4oCN4p2k77iP4oCN8J+RqCIsIvCfkanigI3inaTvuI/igI3wn5GpIiwi8J+RqiIsIvCfkajigI3wn5Gp4oCN8J+RpiIsIvCfkajigI3wn5Gp4oCN8J+RpyIsIvCfkajigI3wn5Gp4oCN8J+Rp+KAjfCfkaYiLCLwn5Go4oCN8J+RqeKAjfCfkabigI3wn5GmIiwi8J+RqOKAjfCfkanigI3wn5Gn4oCN8J+RpyIsIvCfkajigI3wn5Go4oCN8J+RpiIsIvCfkajigI3wn5Go4oCN8J+RpyIsIvCfkajigI3wn5Go4oCN8J+Rp+KAjfCfkaYiLCLwn5Go4oCN8J+RqOKAjfCfkabigI3wn5GmIiwi8J+RqOKAjfCfkajigI3wn5Gn4oCN8J+RpyIsIvCfkanigI3wn5Gp4oCN8J+RpiIsIvCfkanigI3wn5Gp4oCN8J+RpyIsIvCfkanigI3wn5Gp4oCN8J+Rp+KAjfCfkaYiLCLwn5Gp4oCN8J+RqeKAjfCfkabigI3wn5GmIiwi8J+RqeKAjfCfkanigI3wn5Gn4oCN8J+RpyIsIvCfkajigI3wn5GmIiwi8J+RqOKAjfCfkabigI3wn5GmIiwi8J+RqOKAjfCfkaciLCLwn5Go4oCN8J+Rp+KAjfCfkaYiLCLwn5Go4oCN8J+Rp+KAjfCfkaciLCLwn5Gp4oCN8J+RpiIsIvCfkanigI3wn5Gm4oCN8J+RpiIsIvCfkanigI3wn5GnIiwi8J+RqeKAjfCfkafigI3wn5GmIiwi8J+RqeKAjfCfkafigI3wn5GnIiwi8J+XoyIsIvCfkaQiLCLwn5GlIiwi8J+RoyJdLFM9WyLwn5C2Iiwi8J+QsSIsIvCfkK0iLCLwn5C5Iiwi8J+QsCIsIvCfpooiLCLwn5C7Iiwi8J+QvCIsIvCfkKgiLCLwn5CvIiwi8J+mgSIsIvCfkK4iLCLwn5C3Iiwi8J+QvSIsIvCfkLgiLCLwn5C1Iiwi8J+ZiCIsIvCfmYkiLCLwn5mKIiwi8J+QkiIsIvCfkJQiLCLwn5CnIiwi8J+QpiIsIvCfkKQiLCLwn5CjIiwi8J+QpSIsIvCfpoYiLCLwn6aFIiwi8J+miSIsIvCfpociLCLwn5C6Iiwi8J+QlyIsIvCfkLQiLCLwn6aEIiwi8J+QnSIsIvCfkJsiLCLwn6aLIiwi8J+QjCIsIvCfkJ4iLCLwn5CcIiwi8J+mnyIsIvCfppciLCLwn5W3Iiwi8J+VuCIsIvCfpoIiLCLwn5CiIiwi8J+QjSIsIvCfpo4iLCLwn6aWIiwi8J+mlSIsIvCfkJkiLCLwn6aRIiwi8J+mkCIsIvCfpp4iLCLwn6aAIiwi8J+QoSIsIvCfkKAiLCLwn5CfIiwi8J+QrCIsIvCfkLMiLCLwn5CLIiwi8J+miCIsIvCfkIoiLCLwn5CFIiwi8J+QhiIsIvCfppMiLCLwn6aNIiwi8J+mpyIsIvCfkJgiLCLwn6abIiwi8J+mjyIsIvCfkKoiLCLwn5CrIiwi8J+mkiIsIvCfppgiLCLwn5CDIiwi8J+QgiIsIvCfkIQiLCLwn5COIiwi8J+QliIsIvCfkI8iLCLwn5CRIiwi8J+mmSIsIvCfkJAiLCLwn6aMIiwi8J+QlSIsIvCfkKkiLCLwn6auIiwi8J+QleKAjfCfproiLCLwn5CIIiwi8J+QkyIsIvCfpoMiLCLwn6aaIiwi8J+mnCIsIvCfpqIiLCLwn6apIiwi8J+ViiIsIvCfkIciLCLwn6adIiwi8J+mqCIsIvCfpqEiLCLwn6amIiwi8J+mpSIsIvCfkIEiLCLwn5CAIiwi8J+QvyIsIvCfppQiLCLwn5C+Iiwi8J+QiSIsIvCfkLIiLCLwn4y1Iiwi8J+OhCIsIvCfjLIiLCLwn4yzIiwi8J+MtCIsIvCfjLEiLCLwn4y/Iiwi4piY77iPIiwi8J+NgCIsIvCfjo0iLCLwn46LIiwi8J+NgyIsIvCfjYIiLCLwn42BIiwi8J+NhCIsIvCfkJoiLCLwn4y+Iiwi8J+SkCIsIvCfjLciLCLwn4y5Iiwi8J+lgCIsIvCfjLoiLCLwn4y4Iiwi8J+MvCIsIvCfjLsiLCLwn4yeIiwi8J+MnSIsIvCfjJsiLCLwn4ycIiwi8J+MmiIsIvCfjJUiLCLwn4yWIiwi8J+MlyIsIvCfjJgiLCLwn4yRIiwi8J+MkiIsIvCfjJMiLCLwn4yUIiwi8J+MmSIsIvCfjI4iLCLwn4yNIiwi8J+MjyIsIvCfqpAiLCLwn5KrIiwi4q2Q77iPIiwi8J+MnyIsIuKcqCIsIuKaoe+4jyIsIuKYhO+4jyIsIvCfkqUiLCLwn5SlIiwi8J+MqiIsIvCfjIgiLCLimIDvuI8iLCLwn4ykIiwi4puF77iPIiwi8J+MpSIsIuKYge+4jyIsIvCfjKYiLCLwn4ynIiwi4puIIiwi8J+MqSIsIvCfjKgiLCLinYTvuI8iLCLimIPvuI8iLCLim4TvuI8iLCLwn4ysIiwi8J+SqCIsIvCfkqciLCLwn5KmIiwi4piU77iPIiwi8J+MiiIsIvCfjKsiXSx5PVsi8J+NjyIsIvCfjY4iLCLwn42QIiwi8J+NiiIsIvCfjYsiLCLwn42MIiwi8J+NiSIsIvCfjYciLCLwn42TIiwi8J+NiCIsIvCfjZIiLCLwn42RIiwi8J+lrSIsIvCfjY0iLCLwn6WlIiwi8J+lnSIsIvCfjYUiLCLwn42GIiwi8J+lkSIsIvCfpaYiLCLwn6WsIiwi8J+lkiIsIvCfjLYiLCLwn4y9Iiwi8J+llSIsIvCfp4QiLCLwn6eFIiwi8J+llCIsIvCfjaAiLCLwn6WQIiwi8J+lryIsIvCfjZ4iLCLwn6WWIiwi8J+lqCIsIvCfp4AiLCLwn6WaIiwi8J+NsyIsIvCfp4giLCLwn6WeIiwi8J+nhyIsIvCfpZMiLCLwn6WpIiwi8J+NlyIsIvCfjZYiLCLwn4ytIiwi8J+NlCIsIvCfjZ8iLCLwn42VIiwi8J+lqiIsIvCfpZkiLCLwn6eGIiwi8J+MriIsIvCfjK8iLCLwn6WXIiwi8J+lmCIsIvCfpasiLCLwn42dIiwi8J+NnCIsIvCfjbIiLCLwn42bIiwi8J+NoyIsIvCfjbEiLCLwn6WfIiwi8J+mqiIsIvCfjaQiLCLwn42ZIiwi8J+NmiIsIvCfjZgiLCLwn42lIiwi8J+loCIsIvCfpa4iLCLwn42iIiwi8J+NoSIsIvCfjaciLCLwn42oIiwi8J+NpiIsIvCfpaciLCLwn6eBIiwi8J+NsCIsIvCfjoIiLCLwn42uIiwi8J+NrSIsIvCfjawiLCLwn42rIiwi8J+NvyIsIvCfjakiLCLwn42qIiwi8J+MsCIsIvCfpZwiLCLwn42vIiwi8J+lmyIsIvCfjbwiLCLimJXvuI8iLCLwn421Iiwi8J+ngyIsIvCfpaQiLCLwn422Iiwi8J+NuiIsIvCfjbsiLCLwn6WCIiwi8J+NtyIsIvCfpYMiLCLwn424Iiwi8J+NuSIsIvCfp4kiLCLwn42+Iiwi8J+niiIsIvCfpYQiLCLwn420Iiwi8J+NvSIsIvCfpaMiLCLwn6WhIiwi8J+loiIsIvCfp4IiXSx3PVsi4pq977iPIiwi8J+PgCIsIvCfj4giLCLimr7vuI8iLCLwn6WOIiwi8J+OviIsIvCfj5AiLCLwn4+JIiwi8J+ljyIsIvCfjrEiLCLwn6qAIiwi8J+PkyIsIvCfj7giLCLwn4+SIiwi8J+PkSIsIvCfpY0iLCLwn4+PIiwi8J+lhSIsIuKbs++4jyIsIvCfqoEiLCLwn4+5Iiwi8J+OoyIsIvCfpL8iLCLwn6WKIiwi8J+liyIsIvCfjr0iLCLwn5u5Iiwi8J+btyIsIuKbuCIsIvCfpYwiLCLwn46/Iiwi4pu3Iiwi8J+PgiIsIvCfqoIiLCLwn4+L77iPIiwi8J+Pi++4j+KAjeKZgu+4jyIsIvCfj4vvuI/igI3imYDvuI8iLCLwn6S8Iiwi8J+kvOKAjeKZgu+4jyIsIvCfpLzigI3imYDvuI8iLCLwn6S44oCN4pmA77iPIiwi8J+kuCIsIvCfpLjigI3imYLvuI8iLCLim7nvuI8iLCLim7nvuI/igI3imYLvuI8iLCLim7nvuI/igI3imYDvuI8iLCLwn6S6Iiwi8J+kviIsIvCfpL7igI3imYLvuI8iLCLwn6S+4oCN4pmA77iPIiwi8J+PjO+4jyIsIvCfj4zvuI/igI3imYLvuI8iLCLwn4+M77iP4oCN4pmA77iPIiwi8J+PhyIsIvCfp5giLCLwn6eY4oCN4pmC77iPIiwi8J+nmOKAjeKZgO+4jyIsIvCfj4QiLCLwn4+E4oCN4pmC77iPIiwi8J+PhOKAjeKZgO+4jyIsIvCfj4oiLCLwn4+K4oCN4pmC77iPIiwi8J+PiuKAjeKZgO+4jyIsIvCfpL0iLCLwn6S94oCN4pmC77iPIiwi8J+kveKAjeKZgO+4jyIsIvCfmqMiLCLwn5qj4oCN4pmC77iPIiwi8J+ao+KAjeKZgO+4jyIsIvCfp5ciLCLwn6eX4oCN4pmC77iPIiwi8J+nl+KAjeKZgO+4jyIsIvCfmrUiLCLwn5q14oCN4pmC77iPIiwi8J+ateKAjeKZgO+4jyIsIvCfmrQiLCLwn5q04oCN4pmC77iPIiwi8J+atOKAjeKZgO+4jyIsIvCfj4YiLCLwn6WHIiwi8J+liCIsIvCfpYkiLCLwn4+FIiwi8J+OliIsIvCfj7UiLCLwn46XIiwi8J+OqyIsIvCfjp8iLCLwn46qIiwi8J+kuSIsIvCfpLnigI3imYLvuI8iLCLwn6S54oCN4pmA77iPIiwi8J+OrSIsIvCfjqgiLCLwn46sIiwi8J+OpCIsIvCfjqciLCLwn468Iiwi8J+OuSIsIvCfpYEiLCLwn463Iiwi8J+OuiIsIvCfjrgiLCLwn6qVIiwi8J+OuyIsIvCfjrIiLCLwn46vIiwi8J+OsyIsIvCfjq4iLCLwn46wIiwi8J+nqSJdLEU9WyLwn5qXIiwi8J+alSIsIvCfmpkiLCLwn5qMIiwi8J+ajiIsIvCfj44iLCLwn5qTIiwi8J+akSIsIvCfmpIiLCLwn5qQIiwi8J+amiIsIvCfmpsiLCLwn5qcIiwi8J+mryIsIvCfpr0iLCLwn6a8Iiwi8J+btCIsIvCfmrIiLCLwn5u1Iiwi8J+PjSIsIvCfm7oiLCLwn5qoIiwi8J+alCIsIvCfmo0iLCLwn5qYIiwi8J+aliIsIvCfmqEiLCLwn5qgIiwi8J+anyIsIvCfmoMiLCLwn5qLIiwi8J+aniIsIvCfmp0iLCLwn5qEIiwi8J+ahSIsIvCfmogiLCLwn5qCIiwi8J+ahiIsIvCfmociLCLwn5qKIiwi8J+aiSIsIuKciO+4jyIsIvCfm6siLCLwn5usIiwi8J+bqSIsIvCfkroiLCLwn5uwIiwi8J+agCIsIvCfm7giLCLwn5qBIiwi8J+btiIsIuKbte+4jyIsIvCfmqQiLCLwn5ulIiwi8J+bsyIsIuKbtCIsIvCfmqIiLCLimpPvuI8iLCLim73vuI8iLCLwn5qnIiwi8J+apiIsIvCfmqUiLCLwn5qPIiwi8J+XuiIsIvCfl78iLCLwn5e9Iiwi8J+XvCIsIvCfj7AiLCLwn4+vIiwi8J+PnyIsIvCfjqEiLCLwn46iIiwi8J+OoCIsIuKbsu+4jyIsIuKbsSIsIvCfj5YiLCLwn4+dIiwi8J+PnCIsIvCfjIsiLCLim7AiLCLwn4+UIiwi8J+XuyIsIvCfj5UiLCLim7rvuI8iLCLwn4+gIiwi8J+PoSIsIvCfj5giLCLwn4+aIiwi8J+PlyIsIvCfj60iLCLwn4+iIiwi8J+PrCIsIvCfj6MiLCLwn4+kIiwi8J+PpSIsIvCfj6YiLCLwn4+oIiwi8J+PqiIsIvCfj6siLCLwn4+pIiwi8J+SkiIsIvCfj5siLCLim6rvuI8iLCLwn5WMIiwi8J+VjSIsIvCfm5UiLCLwn5WLIiwi4pupIiwi8J+bpCIsIvCfm6MiLCLwn5e+Iiwi8J+OkSIsIvCfj54iLCLwn4yFIiwi8J+MhCIsIvCfjKAiLCLwn46HIiwi8J+OhiIsIvCfjIciLCLwn4yGIiwi8J+PmSIsIvCfjIMiLCLwn4yMIiwi8J+MiSIsIvCfjIEiXSxDPVsi4oya77iPIiwi8J+TsSIsIvCfk7IiLCLwn5K7Iiwi4oyo77iPIiwi8J+WpSIsIvCflqgiLCLwn5axIiwi8J+WsiIsIvCflbkiLCLwn5ecIiwi8J+SvSIsIvCfkr4iLCLwn5K/Iiwi8J+TgCIsIvCfk7wiLCLwn5O3Iiwi8J+TuCIsIvCfk7kiLCLwn46lIiwi8J+TvSIsIvCfjp4iLCLwn5OeIiwi4piO77iPIiwi8J+TnyIsIvCfk6AiLCLwn5O6Iiwi8J+TuyIsIvCfjpkiLCLwn46aIiwi8J+OmyIsIvCfp60iLCLij7EiLCLij7IiLCLij7AiLCLwn5WwIiwi4oyb77iPIiwi4o+zIiwi8J+ToSIsIvCflIsiLCLwn5SMIiwi8J+SoSIsIvCflKYiLCLwn5WvIiwi8J+qlCIsIvCfp68iLCLwn5uiIiwi8J+SuCIsIvCfkrUiLCLwn5K0Iiwi8J+StiIsIvCfkrciLCLwn5KwIiwi8J+SsyIsIvCfko4iLCLimpbvuI8iLCLwn6ewIiwi8J+UpyIsIvCflKgiLCLimpIiLCLwn5ugIiwi4puPIiwi8J+UqSIsIuKame+4jyIsIvCfp7EiLCLim5MiLCLwn6eyIiwi8J+UqyIsIvCfkqMiLCLwn6eoIiwi8J+qkyIsIvCflKoiLCLwn5ehIiwi4pqU77iPIiwi8J+boSIsIvCfmqwiLCLimrDvuI8iLCLimrHvuI8iLCLwn4+6Iiwi8J+UriIsIvCfk78iLCLwn6e/Iiwi8J+SiCIsIuKal++4jyIsIvCflK0iLCLwn5SsIiwi8J+VsyIsIvCfqbkiLCLwn6m6Iiwi8J+SiiIsIvCfkokiLCLwn6esIiwi8J+moCIsIvCfp6siLCLwn6eqIiwi8J+MoSIsIvCfp7kiLCLwn6e6Iiwi8J+nuyIsIvCfmr0iLCLwn5qwIiwi8J+avyIsIvCfm4EiLCLwn5uAIiwi8J+nvCIsIvCfqpIiLCLwn6e9Iiwi8J+ntCIsIvCfm44iLCLwn5SRIiwi8J+XnSIsIvCfmqoiLCLwn6qRIiwi8J+biyIsIvCfm48iLCLwn5uMIiwi8J+nuCIsIvCflrwiLCLwn5uNIiwi8J+bkiIsIvCfjoEiLCLwn46IIiwi8J+OjyIsIvCfjoAiLCLwn46KIiwi8J+OiSIsIvCfjo4iLCLwn4+uIiwi8J+OkCIsIvCfp6ciLCLinInvuI8iLCLwn5OpIiwi8J+TqCIsIvCfk6ciLCLwn5KMIiwi8J+TpSIsIvCfk6QiLCLwn5OmIiwi8J+PtyIsIvCfk6oiLCLwn5OrIiwi8J+TrCIsIvCfk60iLCLwn5OuIiwi8J+TryIsIvCfk5wiLCLwn5ODIiwi8J+ThCIsIvCfk5EiLCLwn6e+Iiwi8J+TiiIsIvCfk4giLCLwn5OJIiwi8J+XkiIsIvCfl5MiLCLwn5OGIiwi8J+ThSIsIvCfl5EiLCLwn5OHIiwi8J+XgyIsIvCfl7MiLCLwn5eEIiwi8J+TiyIsIvCfk4EiLCLwn5OCIiwi8J+XgiIsIvCfl54iLCLwn5OwIiwi8J+TkyIsIvCfk5QiLCLwn5OSIiwi8J+TlSIsIvCfk5ciLCLwn5OYIiwi8J+TmSIsIvCfk5oiLCLwn5OWIiwi8J+UliIsIvCfp7ciLCLwn5SXIiwi8J+TjiIsIvCflociLCLwn5OQIiwi8J+TjyIsIvCfp64iLCLwn5OMIiwi8J+TjSIsIuKcgu+4jyIsIvCflooiLCLwn5aLIiwi4pyS77iPIiwi8J+WjCIsIvCflo0iLCLwn5OdIiwi4pyP77iPIiwi8J+UjSIsIvCflI4iLCLwn5SPIiwi8J+UkCIsIvCflJIiLCLwn5STIiwi8J+nsyIsIvCfjIIiLCLimILvuI8iLCLwn6e1Iiwi8J+ntiIsIvCfkZMiLCLwn5W2Iiwi8J+lvSIsIvCfpbwiLCLwn6a6Iiwi8J+RlCIsIvCfkZUiLCLwn5GWIiwi8J+noyIsIvCfp6QiLCLwn6elIiwi8J+npiIsIvCfkZciLCLwn5GYIiwi8J+luyIsIvCfqbEiLCLwn6myIiwi8J+psyIsIvCfkZkiLCLwn5GaIiwi8J+RmyIsIvCfkZwiLCLwn5GdIiwi8J+OkiIsIvCfkZ4iLCLwn5GfIiwi8J+lviIsIvCfpb8iLCLwn5GgIiwi8J+RoSIsIvCfqbAiLCLwn5GiIiwi8J+RkSIsIvCfkZIiLCLwn46pIiwi8J+OkyIsIvCfp6IiLCLim5EiLCLwn5KEIiwi8J+SjSIsIvCfkrwiXSx4PVsi4p2k77iPIiwi8J+noSIsIvCfkpsiLCLwn5KaIiwi8J+SmSIsIvCfkpwiLCLwn5akIiwi8J+kjSIsIvCfpI4iLCLwn5KUIiwi4p2j77iPIiwi8J+SlSIsIvCfkp4iLCLwn5KTIiwi8J+SlyIsIvCfkpYiLCLwn5KYIiwi8J+SnSIsIvCfkp8iLCLimK7vuI8iLCLinJ3vuI8iLCLimKrvuI8iLCLwn5WJIiwi4pi477iPIiwi4pyh77iPIiwi8J+UryIsIvCflY4iLCLimK/vuI8iLCLimKbvuI8iLCLwn5uQIiwi4puOIiwi4pmI77iPIiwi4pmJ77iPIiwi4pmK77iPIiwi4pmL77iPIiwi4pmM77iPIiwi4pmN77iPIiwi4pmO77iPIiwi4pmP77iPIiwi4pmQ77iPIiwi4pmR77iPIiwi4pmS77iPIiwi4pmT77iPIiwi8J+GlCIsIuKam++4jyIsIvCfiZEiLCLimKLvuI8iLCLimKPvuI8iLCLwn5O0Iiwi8J+TsyIsIvCfiLYiLCLwn4ia77iPIiwi8J+IuCIsIvCfiLoiLCLwn4i377iPIiwi4py077iPIiwi8J+GmiIsIvCfkq4iLCLwn4mQIiwi44qZ77iPIiwi44qX77iPIiwi8J+ItCIsIvCfiLUiLCLwn4i5Iiwi8J+IsiIsIvCfhbDvuI8iLCLwn4Wx77iPIiwi8J+GjiIsIvCfhpEiLCLwn4W+77iPIiwi8J+GmCIsIuKdjCIsIuKtle+4jyIsIvCfm5EiLCLim5TvuI8iLCLwn5ObIiwi8J+aqyIsIvCfkq8iLCLwn5KiIiwi4pmo77iPIiwi8J+atyIsIvCfmq8iLCLwn5qzIiwi8J+asSIsIvCflJ4iLCLwn5O1Iiwi8J+arSIsIuKdl++4jyIsIuKdlSIsIuKdkyIsIuKdlCIsIuKAvO+4jyIsIuKBie+4jyIsIvCflIUiLCLwn5SGIiwi44C977iPIiwi4pqg77iPIiwi8J+auCIsIvCflLEiLCLimpzvuI8iLCLwn5SwIiwi4pm777iPIiwi4pyFIiwi8J+Ir++4jyIsIvCfkrkiLCLinYfvuI8iLCLinLPvuI8iLCLinY4iLCLwn4yQIiwi8J+SoCIsIuKTgu+4jyIsIvCfjIAiLCLwn5KkIiwi8J+PpyIsIvCfmr4iLCLimb/vuI8iLCLwn4W/77iPIiwi8J+IsyIsIvCfiILvuI8iLCLwn5uCIiwi8J+bgyIsIvCfm4QiLCLwn5uFIiwi8J+auSIsIvCfmroiLCLwn5q8Iiwi8J+auyIsIvCfmq4iLCLwn46mIiwi8J+TtiIsIvCfiIEiLCLwn5SjIiwi4oS577iPIiwi8J+UpCIsIvCflKEiLCLwn5SgIiwi8J+GliIsIvCfhpciLCLwn4aZIiwi8J+GkiIsIvCfhpUiLCLwn4aTIiwiMO+4j+KDoyIsIjHvuI/ig6MiLCIy77iP4oOjIiwiM++4j+KDoyIsIjTvuI/ig6MiLCI177iP4oOjIiwiNu+4j+KDoyIsIjfvuI/ig6MiLCI477iP4oOjIiwiOe+4j+KDoyIsIvCflJ8iLCLwn5SiIiwiI++4j+KDoyIsIirvuI/ig6MiLCLij4/vuI8iLCLilrbvuI8iLCLij7giLCLij68iLCLij7kiLCLij7oiLCLij60iLCLij64iLCLij6kiLCLij6oiLCLij6siLCLij6wiLCLil4DvuI8iLCLwn5S8Iiwi8J+UvSIsIuKeoe+4jyIsIuKshe+4jyIsIuKshu+4jyIsIuKsh++4jyIsIuKGl++4jyIsIuKGmO+4jyIsIuKGme+4jyIsIuKGlu+4jyIsIuKGle+4jyIsIuKGlO+4jyIsIuKGqu+4jyIsIuKGqe+4jyIsIuKktO+4jyIsIuKkte+4jyIsIvCflIAiLCLwn5SBIiwi8J+UgiIsIvCflIQiLCLwn5SDIiwi8J+OtSIsIvCfjrYiLCLinpUiLCLinpYiLCLinpciLCLinJbvuI8iLCLimb4iLCLwn5KyIiwi8J+SsSIsIuKEou+4jyIsIsKp77iPIiwiwq7vuI8iLCLjgLDvuI8iLCLinrAiLCLinr8iLCLwn5SaIiwi8J+UmSIsIvCflJsiLCLwn5SdIiwi8J+UnCIsIuKclO+4jyIsIuKYke+4jyIsIvCflJgiLCLwn5S0Iiwi8J+foCIsIvCfn6EiLCLwn5+iIiwi8J+UtSIsIvCfn6MiLCLimqvvuI8iLCLimqrvuI8iLCLwn5+kIiwi8J+UuiIsIvCflLsiLCLwn5S4Iiwi8J+UuSIsIvCflLYiLCLwn5S3Iiwi8J+UsyIsIvCflLIiLCLilqrvuI8iLCLilqvvuI8iLCLil77vuI8iLCLil73vuI8iLCLil7zvuI8iLCLil7vvuI8iLCLwn5+lIiwi8J+fpyIsIvCfn6giLCLwn5+pIiwi8J+fpiIsIvCfn6oiLCLirJvvuI8iLCLirJzvuI8iLCLwn5+rIiwi8J+UiCIsIvCflIciLCLwn5SJIiwi8J+UiiIsIvCflJQiLCLwn5SVIiwi8J+ToyIsIvCfk6IiLCLwn5GB4oCN8J+XqCIsIvCfkqwiLCLwn5KtIiwi8J+XryIsIuKZoO+4jyIsIuKZo++4jyIsIuKZpe+4jyIsIuKZpu+4jyIsIvCfg48iLCLwn460Iiwi8J+AhO+4jyIsIvCflZAiLCLwn5WRIiwi8J+VkiIsIvCflZMiLCLwn5WUIiwi8J+VlSIsIvCflZYiLCLwn5WXIiwi8J+VmCIsIvCflZkiLCLwn5WaIiwi8J+VmyIsIvCflZwiLCLwn5WdIiwi8J+VniIsIvCflZ8iLCLwn5WgIiwi8J+VoSIsIvCflaIiLCLwn5WjIiwi8J+VpCIsIvCflaUiLCLwn5WmIiwi8J+VpyJdLEk9WyLwn4+z77iPIiwi8J+PtCIsIvCfj4EiLCLwn5qpIiwi8J+Ps++4j+KAjfCfjIgiLCLwn4+04oCN4pig77iPIiwi8J+HpvCfh6siLCLwn4em8J+HvSIsIvCfh6bwn4exIiwi8J+HqfCfh78iLCLwn4em8J+HuCIsIvCfh6bwn4epIiwi8J+HpvCfh7QiLCLwn4em8J+HriIsIvCfh6bwn4e2Iiwi8J+HpvCfh6wiLCLwn4em8J+HtyIsIvCfh6bwn4eyIiwi8J+HpvCfh7wiLCLwn4em8J+HuiIsIvCfh6bwn4e5Iiwi8J+HpvCfh78iLCLwn4en8J+HuCIsIvCfh6fwn4etIiwi8J+Hp/Cfh6kiLCLwn4en8J+HpyIsIvCfh6fwn4e+Iiwi8J+Hp/Cfh6oiLCLwn4en8J+HvyIsIvCfh6fwn4evIiwi8J+Hp/Cfh7IiLCLwn4en8J+HuSIsIvCfh6fwn4e0Iiwi8J+Hp/Cfh6YiLCLwn4en8J+HvCIsIvCfh6fwn4e3Iiwi8J+HrvCfh7QiLCLwn4e78J+HrCIsIvCfh6fwn4ezIiwi8J+Hp/Cfh6wiLCLwn4en8J+HqyIsIvCfh6fwn4euIiwi8J+HsPCfh60iLCLwn4eo8J+HsiIsIvCfh6jwn4emIiwi8J+HrvCfh6giLCLwn4eo8J+HuyIsIvCfh6fwn4e2Iiwi8J+HsPCfh74iLCLwn4eo8J+HqyIsIvCfh7nwn4epIiwi8J+HqPCfh7EiLCLwn4eo8J+HsyIsIvCfh6jwn4e9Iiwi8J+HqPCfh6giLCLwn4eo8J+HtCIsIvCfh7Dwn4eyIiwi8J+HqPCfh6wiLCLwn4eo8J+HqSIsIvCfh6jwn4ewIiwi8J+HqPCfh7ciLCLwn4eo8J+HriIsIvCfh63wn4e3Iiwi8J+HqPCfh7oiLCLwn4eo8J+HvCIsIvCfh6jwn4e+Iiwi8J+HqPCfh78iLCLwn4ep8J+HsCIsIvCfh6nwn4evIiwi8J+HqfCfh7IiLCLwn4ep8J+HtCIsIvCfh6rwn4eoIiwi8J+HqvCfh6wiLCLwn4e48J+HuyIsIvCfh6zwn4e2Iiwi8J+HqvCfh7ciLCLwn4eq8J+HqiIsIvCfh6rwn4e5Iiwi8J+HqvCfh7oiLCLwn4er8J+HsCIsIvCfh6vwn4e0Iiwi8J+Hq/Cfh68iLCLwn4er8J+HriIsIvCfh6vwn4e3Iiwi8J+HrPCfh6siLCLwn4e18J+HqyIsIvCfh7nwn4erIiwi8J+HrPCfh6YiLCLwn4es8J+HsiIsIvCfh6zwn4eqIiwi8J+HqfCfh6oiLCLwn4es8J+HrSIsIvCfh6zwn4euIiwi8J+HrPCfh7ciLCLwn4es8J+HsSIsIvCfh6zwn4epIiwi8J+HrPCfh7UiLCLwn4es8J+HuiIsIvCfh6zwn4e5Iiwi8J+HrPCfh6wiLCLwn4es8J+HsyIsIvCfh6zwn4e8Iiwi8J+HrPCfh74iLCLwn4et8J+HuSIsIvCfh63wn4ezIiwi8J+HrfCfh7AiLCLwn4et8J+HuiIsIvCfh67wn4e4Iiwi8J+HrvCfh7MiLCLwn4eu8J+HqSIsIvCfh67wn4e3Iiwi8J+HrvCfh7YiLCLwn4eu8J+HqiIsIvCfh67wn4eyIiwi8J+HrvCfh7EiLCLwn4eu8J+HuSIsIvCfh6/wn4eyIiwi8J+Hr/Cfh7UiLCLwn46MIiwi8J+Hr/Cfh6oiLCLwn4ev8J+HtCIsIvCfh7Dwn4e/Iiwi8J+HsPCfh6oiLCLwn4ew8J+HriIsIvCfh73wn4ewIiwi8J+HsPCfh7wiLCLwn4ew8J+HrCIsIvCfh7Hwn4emIiwi8J+HsfCfh7siLCLwn4ex8J+HpyIsIvCfh7Hwn4e4Iiwi8J+HsfCfh7ciLCLwn4ex8J+HviIsIvCfh7Hwn4euIiwi8J+HsfCfh7kiLCLwn4ex8J+HuiIsIvCfh7Lwn4e0Iiwi8J+HsvCfh7AiLCLwn4ey8J+HrCIsIvCfh7Lwn4e8Iiwi8J+HsvCfh74iLCLwn4ey8J+HuyIsIvCfh7Lwn4exIiwi8J+HsvCfh7kiLCLwn4ey8J+HrSIsIvCfh7Lwn4e2Iiwi8J+HsvCfh7ciLCLwn4ey8J+HuiIsIvCfh77wn4e5Iiwi8J+HsvCfh70iLCLwn4er8J+HsiIsIvCfh7Lwn4epIiwi8J+HsvCfh6giLCLwn4ey8J+HsyIsIvCfh7Lwn4eqIiwi8J+HsvCfh7giLCLwn4ey8J+HpiIsIvCfh7Lwn4e/Iiwi8J+HsvCfh7IiLCLwn4ez8J+HpiIsIvCfh7Pwn4e3Iiwi8J+Hs/Cfh7UiLCLwn4ez8J+HsSIsIvCfh7Pwn4eoIiwi8J+Hs/Cfh78iLCLwn4ez8J+HriIsIvCfh7Pwn4eqIiwi8J+Hs/Cfh6wiLCLwn4ez8J+HuiIsIvCfh7Pwn4erIiwi8J+HsPCfh7UiLCLwn4ey8J+HtSIsIvCfh7Pwn4e0Iiwi8J+HtPCfh7IiLCLwn4e18J+HsCIsIvCfh7Xwn4e8Iiwi8J+HtfCfh7giLCLwn4e18J+HpiIsIvCfh7Xwn4esIiwi8J+HtfCfh74iLCLwn4e18J+HqiIsIvCfh7Xwn4etIiwi8J+HtfCfh7MiLCLwn4e18J+HsSIsIvCfh7Xwn4e5Iiwi8J+HtfCfh7ciLCLwn4e28J+HpiIsIvCfh7fwn4eqIiwi8J+Ht/Cfh7QiLCLwn4e38J+HuiIsIvCfh7fwn4e8Iiwi8J+HvPCfh7giLCLwn4e48J+HsiIsIvCfh7jwn4emIiwi8J+HuPCfh7MiLCLwn4e38J+HuCIsIvCfh7jwn4eoIiwi8J+HuPCfh7EiLCLwn4e48J+HrCIsIvCfh7jwn4e9Iiwi8J+HuPCfh7AiLCLwn4e48J+HriIsIvCfh6zwn4e4Iiwi8J+HuPCfh6ciLCLwn4e48J+HtCIsIvCfh7/wn4emIiwi8J+HsPCfh7ciLCLwn4e48J+HuCIsIvCfh6rwn4e4Iiwi8J+HsfCfh7AiLCLwn4en8J+HsSIsIvCfh7jwn4etIiwi8J+HsPCfh7MiLCLwn4ex8J+HqCIsIvCfh7Xwn4eyIiwi8J+Hu/Cfh6giLCLwn4e48J+HqSIsIvCfh7jwn4e3Iiwi8J+HuPCfh78iLCLwn4e48J+HqiIsIvCfh6jwn4etIiwi8J+HuPCfh74iLCLwn4e58J+HvCIsIvCfh7nwn4evIiwi8J+HufCfh78iLCLwn4e58J+HrSIsIvCfh7nwn4exIiwi8J+HufCfh6wiLCLwn4e58J+HsCIsIvCfh7nwn4e0Iiwi8J+HufCfh7kiLCLwn4e58J+HsyIsIvCfh7nwn4e3Iiwi8J+HufCfh7IiLCLwn4e58J+HqCIsIvCfh7nwn4e7Iiwi8J+Hu/Cfh64iLCLwn4e68J+HrCIsIvCfh7rwn4emIiwi8J+HpvCfh6oiLCLwn4es8J+HpyIsIvCfj7TzoIGn86CBovOggaXzoIGu86CBp/Oggb8iLCLwn4+086CBp/OggaLzoIGz86CBo/OggbTzoIG/Iiwi8J+PtPOggafzoIGi86CBt/OggazzoIGz86CBvyIsIvCfh7rwn4ezIiwi8J+HuvCfh7giLCLwn4e68J+HviIsIvCfh7rwn4e/Iiwi8J+Hu/Cfh7oiLCLwn4e78J+HpiIsIvCfh7vwn4eqIiwi8J+Hu/Cfh7MiLCLwn4e88J+HqyIsIvCfh6rwn4etIiwi8J+HvvCfh6oiLCLwn4e/8J+HsiIsIvCfh7/wn4e8Il0sQT1bLi4udiwuLi5TLC4uLnksLi4udywuLi5FLC4uLkMsLi4ueCwuLi5JXSx6PW5ldyBTZXQoQSkKO2Z1bmN0aW9uIFQoZSl7cmV0dXJuIGUuZmlsdGVyKChlPT56LmhhcyhlKSkpfWZ1bmN0aW9uIE0oZSl7cmV0dXJuIHouaGFzKGUpfWNvbnN0IGs9KDAsbi5kZWZhdWx0KSgoZT0+e2NvbnN0IGQ9KDAsby5nZXRGaXJzdFNlZ21lbnRPckNvZGVQb2ludFN0cmluZykoZSksdT1udWxsIT09ZCYmTShkKT9kOiIiO3JldHVybntlbW9qaTp1LGVtb2ppTGVzc1N0cmluZzplLnJlcGxhY2UodSwiIil9fSkpO2Z1bmN0aW9uIEQoZSxkLC4uLnUpe2NvbnN0IHQ9aygoMCxhLmVuc3VyZU5vdE51bGwpKGUpKS5lbW9qaUxlc3NTdHJpbmcudHJpbSgpLGM9aygoMCxhLmVuc3VyZU5vdE51bGwpKGQpKS5lbW9qaUxlc3NTdHJpbmcudHJpbSgpO3JldHVybiB0PT09Yz9lLmxvY2FsZUNvbXBhcmUoZCwuLi51KTp0LmxvY2FsZUNvbXBhcmUoYywuLi51KX1jb25zdCBOPSgpPT5be3RpdGxlOmMudChudWxsLHtjb250ZXh0OiJlbW9qaV9ncm91cCJ9LHUoNDY1NDU2KSksZW1vamlzOltdLGNvbnRlbnQ6dC5jcmVhdGVFbGVtZW50KGwuSWNvbkl0ZW0se2ljb246cn0pfSx7dGl0bGU6Yy50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sdSgzMDYwNzApKSxlbW9qaXM6dixjb250ZW50OnQuY3JlYXRlRWxlbWVudChsLkljb25JdGVtLHtpY29uOml9KX0se3RpdGxlOmMudChudWxsLHtjb250ZXh0OiJlbW9qaV9ncm91cCJ9LHUoNjY4NDQ5KSksZW1vamlzOlMsY29udGVudDp0LmNyZWF0ZUVsZW1lbnQobC5JY29uSXRlbSx7aWNvbjpzfSl9LHt0aXRsZTpjLnQobnVsbCx7Y29udGV4dDoiZW1vamlfZ3JvdXAifSx1KDE0NzUwMCkpLGVtb2ppczp5LGNvbnRlbnQ6dC5jcmVhdGVFbGVtZW50KGwuSWNvbkl0ZW0se2ljb246Zn0pfSx7dGl0bGU6Yy50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sdSg1NzQ3MTUpKSxlbW9qaXM6dyxjb250ZW50OnQuY3JlYXRlRWxlbWVudChsLkljb25JdGVtLHtpY29uOm19KX0se3RpdGxlOmMudChudWxsLHtjb250ZXh0OiJlbW9qaV9ncm91cCJ9LHUoMTIzMTM4KSksZW1vamlzOkUsY29udGVudDp0LmNyZWF0ZUVsZW1lbnQobC5JY29uSXRlbSx7aWNvbjpofSl9LHt0aXRsZTpjLnQobnVsbCx7Y29udGV4dDoiZW1vamlfZ3JvdXAifSx1KDk0MzM5MykpLGVtb2ppczpDLGNvbnRlbnQ6dC5jcmVhdGVFbGVtZW50KGwuSWNvbkl0ZW0se2ljb246cH0pfSx7dGl0bGU6Yy50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sdSgyNzY2MDkpKSxlbW9qaXM6eCxjb250ZW50OnQuY3JlYXRlRWxlbWVudChsLkljb25JdGVtLHtpY29uOmJ9KX0se3RpdGxlOmMudChudWxsLHtjb250ZXh0OiJlbW9qaV9ncm91cCJ9LHUoMTc0MTc4KSksZW1vamlzOkksY29udGVudDp0LmNyZWF0ZUVsZW1lbnQobC5JY29uSXRlbSx7aWNvbjpnfSl9XX0sNDI4OTI0KGUsZCx1KXsidXNlIHN0cmljdCI7dS5kKGQse0Vtb2ppSXRlbTooKT0+Zn0pO3ZhciB0PXUoNzc5NDc0KSxjPXUoOTE0NDg3KSxuPXUubihjKSxvPXUoMjczMzEwKSxhPXUoMTg1MjcxKSxsPXUoMzMzMzEyKSxyPXUoNDI3NzczKSxpPXUoNDI4MDk3KSxzPXUoODg5NTQ2KTtmdW5jdGlvbiBmKGUpe2NvbnN0e2Vtb2ppOmQsY2xhc3NOYW1lOmN9PWU7aWYoZD09PXIuRU1QVFlfRU1PSkkpcmV0dXJuIHQuY3JlYXRlRWxlbWVudChvLkljb24se2NsYXNzTmFtZTpuKCkoYyxpLmNsZWFyQnV0dG9uLCJhcHBseS1jb21tb24tdG9vbHRpcCIpLGljb246cyx0aXRsZTphLnQobnVsbCx2b2lkIDAsdSg3NTQzODIpKX0pO2NvbnN0IGY9KDAsbC5nZXRUd2Vtb2ppVXJsKShkLCJwbmciKTtyZXR1cm4gdC5jcmVhdGVFbGVtZW50KCJpbWciLHtjbGFzc05hbWU6bigpKGMsaS5lbW9qaSksc3JjOmYsZGVjb2Rpbmc6ImFzeW5jIix3aWR0aDoiMjQiLGhlaWdodDoiMjQiLGFsdDoiIixkcmFnZ2FibGU6ITEsb25Db250ZXh0TWVudTpmdW5jdGlvbihlKXtpZihlLnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQmJmUudGFyZ2V0LmNsb3Nlc3QoImEiKSlyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpfX0pfX0sMjczNzMyKGUsZCx1KXsidXNlIHN0cmljdCI7dS5kKGQse0ljb25JdGVtOigpPT5sfSk7dmFyIHQ9dSg3Nzk0NzQpLGM9dSg5MTQ0ODcpLG49dS5uKGMpLG89dSgyNzMzMTApLGE9dSg0MDIyMyk7ZnVuY3Rpb24gbChlKXtyZXR1cm4gdC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bigpKGEud3JhcHBlcixlLmNsYXNzTmFtZSl9LHQuY3JlYXRlRWxlbWVudChvLkljb24se2ljb246ZS5pY29ufSkpfX0sNTEwNTk4KGUsZCx1KXsidXNlIHN0cmljdCI7dS5kKGQse0xlYWRpbmdFbW9qaVRleHQ6KCk9PmF9KTt2YXIgdD11KDc3OTQ3NCksYz11KDI0OWUzKSxuPXUoNDI4OTI0KSxvPXUoOTk1ODUxKTtmdW5jdGlvbiBhKGUpe2NvbnN0e3RleHQ6ZCx0ZXh0UmVuZGVyOnUsZmlyc3RTZWdtZW50T25seTphPSExLHNwYWNlQWZ0ZXJFbW9qaTpsPSEwfT1lLHtsZWFkaW5nRW1vamk6cixwcm9jZXNzZWRUZXh0Oml9PSgwLHQudXNlTWVtbykoKCgpPT4oMCxjLnByb2Nlc3NUZXh0V2l0aExlYWRpbmdFbW9qaSkoe3RleHQ6ZCx0ZXh0UmVuZGVyOnUsZmlyc3RTZWdtZW50T25seTphfSkpLFtkLHUsYV0pO3JldHVybiByP3QuY3JlYXRlRWxlbWVudCh0LkZyYWdtZW50LG51bGwsdC5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm8uZW1vamlXcmFwfSwiwqAiLHQuY3JlYXRlRWxlbWVudChuLkVtb2ppSXRlbSx7Y2xhc3NOYW1lOm8uZW1vamksZW1vamk6cn0pKSwiIiE9PWkmJnQuY3JlYXRlRWxlbWVudCh0LkZyYWdtZW50LG51bGwsbCYmdC5jcmVhdGVFbGVtZW50KHQuRnJhZ21lbnQsbnVsbCwiwqAiKSxpKSk6dC5jcmVhdGVFbGVtZW50KHQuRnJhZ21lbnQsbnVsbCxpKX19LDI0OWUzKGUsZCx1KXsidXNlIHN0cmljdCI7dS5kKGQse2dldExlYWRpbmdFbW9qaUh0bWw6KCk9PnMscHJvY2Vzc1RleHRXaXRoTGVhZGluZ0Vtb2ppOigpPT5pfSk7dmFyIHQ9dSg2NDE1OTMpLGM9dSg5MzAyMzEpLG49dSgzMTUxNTQpLG89dSg0Mjc3NzMpLGE9dSgzMzMzMTIpLGw9dSg5OTU4NTEpO2NvbnN0IHI9KDAsCmMuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyIpO2Z1bmN0aW9uIGkoZSl7Y29uc3R7dGV4dDpkLHRleHRSZW5kZXI6dT1lPT5lLGZpcnN0U2VnbWVudE9ubHk6Yz0hMX09ZSxhPSgwLHQuZ2V0Rmlyc3RTZWdtZW50T3JDb2RlUG9pbnRTdHJpbmcpKGQpLGw9bnVsbCE9PWEmJigwLG4uaXNTdXBwb3J0ZWRFbW9qaSkoYSk/YTpvLkVNUFRZX0VNT0pJLGk9Yz9hfHwiIjpkO2lmKCFyfHxsPT09by5FTVBUWV9FTU9KSSlyZXR1cm57bGVhZGluZ0Vtb2ppOiIiLHByb2Nlc3NlZFRleHQ6dShpKX07cmV0dXJue2xlYWRpbmdFbW9qaTpsLHByb2Nlc3NlZFRleHQ6dShpLnJlcGxhY2UobCwiIikpfX1mdW5jdGlvbiBzKGUpe2NvbnN0e3Byb2Nlc3NlZFRleHQ6ZCxsZWFkaW5nRW1vamk6dX09aSh7dGV4dDplfSksYz0oMCx0Lmh0bWxFc2NhcGUpKGQpO2lmKCF1KXJldHVybiBjO3JldHVybmAke2Z1bmN0aW9uKGUpe2NvbnN0IGQ9KDAsYS5nZXRUd2Vtb2ppVXJsKShlLCJwbmciKTtyZXR1cm5gPHNwYW4gY2xhc3M9JHtsLnRvb2x0aXBFbW9qaVdyYXB9PiZuYnNwPGltZyBjbGFzcz0ke2wudG9vbHRpcEVtb2ppfSBzcmM9JHtkfSBkZWNvZGluZz0iYXN5bmMiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgYWx0PSIiIGRyYWdnYWJsZT0iZmFsc2UiLz48L3NwYW4+YH0odSl9Jm5ic3A7JHtjfWB9fSw0OTI5NzgoZSxkLHUpeyJ1c2Ugc3RyaWN0Ijt1LmQoZCx7TGlzdEl0ZW1CdXR0b246KCk9Pmx9KTt2YXIgdD11KDc3OTQ3NCksYz11KDkxNDQ4Nyksbj11Lm4oYyksbz11KDI3MzMxMCksYT11KDIyODU4MSk7ZnVuY3Rpb24gbChlKXtjb25zdHtjbGFzc05hbWU6ZCxkaXNhYmxlZDp1LC4uLmN9PWU7cmV0dXJuIHQuY3JlYXRlRWxlbWVudChvLkljb24se2NsYXNzTmFtZTpuKCkoYS5idXR0b24sdSYmYS5kaXNhYmxlZCxkKSwuLi5jfSl9fSwzMzMzMTIoZSxkLHUpeyJ1c2Ugc3RyaWN0Ijt1LmQoZCx7Z2V0VHdlbW9qaVVybDooKT0+Y30pO3ZhciB0PXUoMjYwNjAzKTtmdW5jdGlvbiBjKGUsZCl7bGV0IHU9IiI7cmV0dXJuIHQuZGVmYXVsdC5wYXJzZShlLChlPT4odT10LmRlZmF1bHQuYmFzZSsoInN2ZyI9PT1kP2BzdmcvJHtlfS5zdmdgOmA3Mng3Mi8ke2V9LnBuZ2ApLCExKSkpLHV9dC5kZWZhdWx0LmJhc2U9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3R3ZW1vamkvMTMuMC4xLyJ9LDYwMDUzOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiPjxjaXJjbGUgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGN4PSI2IiBjeT0iNiIgcj0iNS41Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNS4xIDIuOTk1YS45MDUuOTA1IDAgMCAxIDEuODAxIDBMNi41IDdoLTFsLS40LTQuMDA1eiIvPjxyZWN0IHdpZHRoPSIyIiBoZWlnaHQ9IjIiIGZpbGw9ImN1cnJlbnRDb2xvciIgcng9IjEiIHg9IjUiIHk9IjgiLz48L3N2Zz4nfSw4ODk1NDYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTcuMzMyIDYuNTQ4IDIxLjQyIDIwLjcwNEE5Ljk2MiA5Ljk2MiAwIDAgMCAyNCAxNGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwYTkuOTYxIDkuOTYxIDAgMCAwLTYuNjY4IDIuNTQ4Wm0xMy4zODEgMTQuODY0TDYuNjIxIDcuMjUyQTkuOTYyIDkuOTYyIDAgMCAwIDQgMTRjMCA1LjUyMyA0LjQ3NyAxMCAxMCAxMCAyLjU4NCAwIDQuOTM4LS45OCA2LjcxMy0yLjU4OFpNNi4yNjMgNi4xODFBMTAuOTY3IDEwLjk2NyAwIDAgMSAxNCAzYzYuMDc1IDAgMTEgNC45MjUgMTEgMTEgMCAzLjAzNi0xLjIzIDUuNzg1LTMuMjE4IDcuNzc1QTEwLjk2NyAxMC45NjcgMCAwIDEgMTQgMjVDNy45MjUgMjUgMyAyMC4wNzUgMyAxNGMwLTMuMDU4IDEuMjQ5LTUuODI2IDMuMjYzLTcuODJaIi8+PC9zdmc+J30sNTgzODQyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTMuOSAxNC4xVjIyaDEuMnYtNy45SDIzdi0xLjJoLTcuOVY1aC0xLjJ2Ny45SDZ2MS4yaDcuOXoiLz48L3N2Zz4nfSwzODQxNTQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNCA5LjVhLjUuNSAwIDAgMCAxIDBWNy4wMkE2LjUgNi41IDAgMCAxIDIwLjk4IDEzSDE4LjVhLjUuNSAwIDAgMCAwIDFoMi40OEE2LjUgNi41IDAgMCAxIDE1IDE5Ljk4VjE3LjVhLjUuNSAwIDAgMC0xIDB2Mi40OEE2LjUgNi41IDAgMCAxIDguMDIgMTRoMi40OGEuNS41IDAgMCAwIDAtMUg4LjAyQTYuNSA2LjUgMCAwIDEgMTQgNy4wMlY5LjV6bTEtMy40OFY0LjVhLjUuNSAwIDAgMC0xIDB2MS41MkE3LjUgNy41IDAgMCAwIDcuMDIgMTNINS41YS41LjUgMCAwIDAgMCAxaDEuNTJBNy41IDcuNSAwIDAgMCAxNCAyMC45OHYxLjUyYS41LjUgMCAwIDAgMSAwdi0xLjUyQTcuNSA3LjUgMCAwIDAgMjEuOTggMTRoMS41MmEuNS41IDAgMCAwIDAtMWgtMS41MkE3LjUgNy41IDAgMCAwIDE1IDYuMDJ6Ii8+PC9zdmc+J30sMjAyNTExKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy45OCA2LjAyTDE0LjUgNmMyLjE4IDAgNC4xNi44IDUuNjYgMi4xNGwtNS42NiA1LjY1LTIuMzEtMi4zYTguNDMgOC40MyAwIDAgMCAxLjU1LTMuNjQgMTQuMDEgMTQuMDEgMCAwIDAgLjI0LTEuODN6bS0xLjAxLjEyYTguNDUgOC40NSAwIDAgMC00LjEzIDJsMi42NCAyLjYzYTcuNTkgNy41OSAwIDAgMCAxLjI4LTMuMTJjLjEyLS41OS4xOC0xLjEyLjItMS41MXptLTQuODMgMi43YTguNDUgOC40NSAwIDAgMC0yIDQuMTNjLjM5LS4wMy45Mi0uMSAxLjUxLS4yMWE3LjU5IDcuNTkgMCAwIDAgMy4xMi0xLjI4TDguMTQgOC44NHptLTIuMTIgNS4xNGE4LjQ4IDguNDggMCAwIDAgMi4xMiA2LjE4bDUuNjUtNS42Ni0yLjMtMi4zMWE4LjQzIDguNDMgMCAwIDEtMy42NCAxLjU1IDE0LjAzIDE0LjAzIDAgMCAxLTEuODMuMjR6bTIuODIgNi44OGE4LjQ2IDguNDYgMCAwIDAgNS4xMyAyLjEydi0uMDdBOC45NSA4Ljk1IDAgMCAxIDE2LjMgMTdsLTEuOC0xLjgtNS42NiA1LjY1ek0xNC45NyAyM2MyLS4xIDMuOC0uOSA1LjE5LTIuMTNMMTcgMTcuNzJhNy45NCA3Ljk0IDAgMCAwLTIuMDQgNS4yN3ptNS45LTIuODNhOC40NiA4LjQ2IDAgMCAwIDIuMTEtNS4xM2gtLjAyYTEwLjYyIDEwLjYyIDAgMCAwLTUuMiAybDMuMSAzLjEzem0yLjEyLTYuMTNjLS4xLTItLjktMy44LTIuMTMtNS4xOWwtNS42NSA1LjY2IDEuODMgMS44M2ExMS42IDExLjYgMCAwIDEgNS45NS0yLjN6TTE0LjUgNUE5LjQ2IDkuNDYgMCAwIDAgNSAxNC41YzAgNS4yOCA0LjIyIDkuNSA5LjUgOS41czkuNS00LjIyIDkuNS05LjVTMTkuNzggNSAxNC41IDV6Ii8+PC9zdmc+J30sMTYxMTc3KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNC41NCAzLjJsLjc4LS41OSA1LjQ5IDQuNSAxLjQzIDEuMDdhNS4yOCA1LjI4IDAgMCAxIDIuMTktMi4zIDkuMTkgOS4xOSAwIDAgMSAxLjg4LS44NWguMDRsLjAxLS4wMS4xNC40OC40Mi0uMjh2LjAxbC4wMS4wMmEzLjE0IDMuMTQgMCAwIDEgLjE2LjI2bC4zNy43MmMuMi40NS40IDEuMDIuNSAxLjY0YTIuMTMgMi4xMyAwIDAgMSAxLjg5LjQ2bC4xOC4xNi4wMy4wMi4xOC4xNmMuMjIuMTYuNDIuMjcuODEuMjVhNS45IDUuOSAwIDAgMCAyLjItLjg2bC42Ni0uMzYuMDkuNzVhNS45OCA1Ljk4IDAgMCAxLTEuNyA1LjEgNi44NyA2Ljg3IDAgMCAxLTEuNyAxLjIzIDE5Ljk3IDE5Ljk3IDAgMCAxIC40OCAyLjQ4Yy4yNSAxLjczLjQyIDQuMDguMDYgNi41QTEuNDYgMS40NiAwIDAgMSAxOS42OCAyNWgtNy43MWExLjUgMS41IDAgMCAxLTEuNC0yLjA2bDEtMi40N2MtLjE4LjAyLS4zNy4wMy0uNTguMDNhMyAzIDAgMCAxLTEuNTMtLjQgNi44NCA2Ljg0IDAgMCAxLTEuNi42NGMtMS4wOC4yNy0yLjU1LjI5LTMuNzItLjg5YTQuMDYgNC4wNiAwIDAgMS0uOTYtMyA1LjEgNS4xIDAgMCAxIDItMy43NCA5OC41IDk4LjUgMCAwIDAgMi43LTIuMjRMNC41NSAzLjJ6TTE2LjUgNS41bC0uMTQtLjQ4LjM1LS4xLjIuMy0uNDEuMjh6bS03Ljg3IDYuMDZhNTcuNDggNTcuNDggMCAwIDEtMi4xOSAxLjgybC40OS4yNmMuNjUuMzcgMS40OC45IDEuOTcgMS41NmE1Ljc4IDUuNzggMCAwIDEgMS4xNCA0LjA3bC4wNi4wM2MuMTkuMS40OS4yLjkuMi42OCAwIC45NS0uMTEgMS4wMy0uMTZ2LS4wM2wuOTcuMTloLS41LjV2LjAzYS43NS43NSAwIDAgMS0uMDEuMS43NC43NCAwIDAgMS0uMDkuMjFsLTEuMzkgMy40N2EuNS41IDAgMCAwIC40Ny42OWg3LjcxYy4yNCAwIC40My0uMTcuNDctLjM4YTIyIDIyIDAgMCAwLS4wNi02LjIyIDI0LjQgMjQuNCAwIDAgMC0uNTYtMi43MSAxMS4zNSAxMS4zNSAwIDAgMC0uOTQtMS41MiA3LjEgNy4xIDAgMCAwLTIuMzEtMi4yMmwtLjYyLS4zMS40OS0uNUEzLjAzIDMuMDMgMCAwIDAgMTcgOC42YTEuMiAxLjIgMCAwIDAgLjAxLS4xYzAtLjY1LS4yMi0xLjMzLS40Ni0xLjg2LS4xLS4yMS0uMTgtLjQtLjI2LS41NGE4LjA3IDguMDcgMCAwIDAtMS4zNC42NGMtLjkuNTQtMS43NCAxLjMyLTEuOTUgMi4zNnYuMDNsLS4wMi4wM0wxMi41IDlsLjQ3LjE2di4wMmEyLjk3IDIuOTcgMCAwIDEtLjEuMjYgNS45IDUuOSAwIDAgMS0uMzEuNjJjLS4yNy40Ni0uNyAxLjA3LTEuMzQgMS4zOS0uNjMuMzEtMS4zOC4zLTEuOS4yM2E1LjgzIDUuODMgMCAwIDEtLjctLjEyem0zLjI2LTIuMzlMMTAuMiA3LjlsLS4wMi0uMDFMNi4zIDQuN2wyLjU3IDUuODhoLjAxYy4xNC4wNC4zNC4wOC41Ny4xMS40Ny4wNi45Ny4wNSAxLjM0LS4xNC4zNi0uMTguNjgtLjU3LjkxLS45OS4wOC0uMTQuMTUtLjI3LjItLjM5em04LjMyIDQuNjhhNS40NyA1LjQ3IDAgMCAwIDEuMzctMS4wMiA0Ljg4IDQuODggMCAwIDAgMS40Ni0zLjUzYy0uOC4zOS0xLjQxLjU4LTEuOTIuNjEtLjcuMDUtMS4xNC0uMTgtMS40OS0uNDVhNS42IDUuNiAwIDAgMS0uMjItLjE5bC0uMDMtLjAzLS4xNy0uMTNhMS40IDEuNCAwIDAgMC0uMzMtLjIyYy0uMTgtLjA3LS40NC0uMTItLjkzIDBsLS4xLjRjLS4xLjMtLjI4LjY5LS41OCAxLjA5Ljg3LjU5IDEuNiAxLjQ2IDIuMTQgMi4yYTE0LjkyIDE0LjkyIDAgMCAxIC44IDEuMjd6TTkuMDUgMTkuMTl2LS4wOWE0Ljc4IDQuNzggMCAwIDAtLjk2LTMuMyA1LjU2IDUuNTYgMCAwIDAtMS42NS0xLjI5Yy0uMy0uMTctLjYtLjMtLjgtLjRsLS4wNS0uMDNhNC4wNSA0LjA1IDAgMCAwLTEuNCAyLjgyIDMuMSAzLjEgMCAwIDAgLjY2IDIuMjVjLjgzLjgyIDEuODYuODQgMi43OC42MmE1LjcxIDUuNzEgMCAwIDAgMS40Mi0uNTh6bTQuMjYtNS44N2MtLjMuMjQtLjc0LjU0LTEuMTguNjYtLjM3LjEtLjgxLjEtMS4xMi4wOGE2Ljk1IDYuOTUgMCAwIDEtLjU0LS4wNmgtLjA1bC4wOC0uNS4wOC0uNS4wMy4wMWE1LjAyIDUuMDIgMCAwIDAgMS4yNiAwYy4yNC0uMDYuNTQtLjI1LjgzLS40N2E2LjEgNi4xIDAgMCAwIC40Mi0uMzdsLjAyLS4wMi4zNi4zNS4zNS4zNmgtLjAxbC0uMDMuMDRhNi4wOSA2LjA5IDAgMCAxLS41LjQyek02IDE3aDF2LTFINnYxeiIvPjwvc3ZnPid9LDU2OTc4NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik03LjUgMjR2LTUuNW0wIDBzMi43LTEuMSA0LjUtMWMyLjEuMTIgMi45IDEuODggNSAyIDEuOC4xIDQuNS0xIDQuNS0xdi02bS0xNCA2di02bTAgMHYtNnMyLjctMS4xIDQuNS0xYzIuMS4xMiAyLjkgMS44OCA1IDIgMS44LjEgNC41LTEgNC41LTF2Nm0tMTQgMHMyLjctMS4xIDQuNS0xYzIuMS4xMiAyLjkgMS44OCA1IDIgMS44LjEgNC41LTEgNC41LTEiLz48L3N2Zz4nfSwxODU2MDUoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyLjUgOGgxLjM2bC0uODUtMy4zOC45OC0uMjQuOSAzLjYyaDcuNjRhMS4zNCAxLjM0IDAgMCAxIC4yLjAyYy4xMy4wMi4zMS4wNy41LjE2LjE4LjA5LjM4LjI0LjUzLjQ2LjE1LjI0LjI0LjUyLjI0Ljg2IDAgLjM0LS4wOS42Mi0uMjQuODZhMS4zOCAxLjM4IDAgMCAxLS43OS41NkwyMiAyNC41NGwtLjAzLjQ2SDYuNWMtMSAwLTEuNjQtLjY4LTEuOTktMS4yM2E0LjQgNC40IDAgMCAxLS4zOC0uNzhsLS4wMS0uMDRjLS4xLS4wMy0uMjItLjA3LS4zNC0uMTNhMS4zNiAxLjM2IDAgMCAxLS41NC0uNDZBMS41MSAxLjUxIDAgMCAxIDMgMjEuNWMwLS4zNC4wOS0uNjIuMjQtLjg2LjE1LS4yMi4zNS0uMzcuNTQtLjQ2LjEtLjA1LjItLjA5LjI4LS4xMWE2LjYgNi42IDAgMCAxIC45Ni0yLjM0QzUuOTIgMTYuMzUgNy41NiAxNSAxMC41IDE1Yy43MiAwIDEuMzYuMDggMS45My4yMmwtLjQtNC4zYTEuMzggMS4zOCAwIDAgMS0uOC0uNTdBMS41MSAxLjUxIDAgMCAxIDExIDkuNWMwLS4zNC4wOS0uNjIuMjQtLjg2LjE1LS4yMi4zNS0uMzcuNTQtLjQ2YTEuNzMgMS43MyAwIDAgMSAuNy0uMThoLjAydi41Vjh6bS45NiA3LjU3YTUuNzMgNS43MyAwIDAgMSAyLjUyIDIuMTYgNi44NiA2Ljg2IDAgMCAxIC45NSAyLjM0IDEuMzggMS4zOCAwIDAgMSAuODIuNThjLjE2LjIzLjI1LjUxLjI1Ljg1IDAgLjM0LS4wOS42Mi0uMjQuODYtLjE1LjIyLS4zNS4zNy0uNTQuNDYtLjEyLjA2LS4yNC4xLS4zNC4xM2wtLjAxLjA0YTQuNCA0LjQgMCAwIDEtLjU0IDEuMDFoNC43bC45My0xM2gtOC45MWwuNDEgNC41N3pNMTQuNSA5aDhhLjczLjczIDAgMCAxIC4yOC4wN2MuMDYuMDQuMTEuMDguMTUuMTMuMDMuMDUuMDcuMTQuMDcuMyAwIC4xNi0uMDQuMjUtLjA3LjNhLjM4LjM4IDAgMCAxLS4xNS4xMy43My43MyAwIDAgMS0uMjcuMDdIMTIuNWEuNzMuNzMgMCAwIDEtLjI4LS4wNy4zOC4zOCAwIDAgMS0uMTUtLjEzLjUyLjUyIDAgMCAxLS4wNy0uM2MwLS4xNi4wNC0uMjUuMDctLjMuMDQtLjA1LjA5LS4xLjE1LS4xM0EuNzMuNzMgMCAwIDEgMTIuNSA5aDIuMDF6bTEuNCAxMWE1LjggNS44IDAgMCAwLS43Ni0xLjczQzE0LjQxIDE3LjE1IDEzLjA2IDE2IDEwLjUgMTZjLTIuNTYgMC0zLjkxIDEuMTUtNC42NCAyLjI3QTUuODYgNS44NiAwIDAgMCA1LjEgMjBoMTAuNzh6TTQuNSAyMWEuNzIuNzIgMCAwIDAtLjI4LjA3LjM4LjM4IDAgMCAwLS4xNS4xMy41Mi41MiAwIDAgMC0uMDcuM2MwIC4xNi4wNC4yNS4wNy4zLjA0LjA1LjA5LjEuMTUuMTNhLjczLjczIDAgMCAwIC4yNy4wN0gxNi41YS43Mi43MiAwIDAgMCAuMjgtLjA3LjM4LjM4IDAgMCAwIC4xNS0uMTMuNTIuNTIgMCAwIDAgLjA3LS4zLjUyLjUyIDAgMCAwLS4wNy0uMy4zOC4zOCAwIDAgMC0uMTUtLjEzLjczLjczIDAgMCAwLS4yNy0uMDdINC41em0uNzMgMmwuMTMuMjNjLjI4LjQ1LjY1Ljc3IDEuMTQuNzdoOGMuNSAwIC44Ni0uMzIgMS4xNC0uNzcuMDUtLjA3LjEtLjE1LjEzLS4yM0g1LjIzek0xMSAxN3YxaC0xdi0xaDF6bS0zIDFoMXYxSDh2LTF6bTQgMXYtMWgxdjFoLTF6Ii8+PC9zdmc+J30sNjk0NTMyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05LjUgMjFIOWguNXptOCAwSDE3aC41em0tNi0xMEgxMXYxaC41di0xem00IDFoLjV2LTFoLS41djF6bTIgNy41aC41LS41em0uMjktMS41OUE3Ljk3IDcuOTcgMCAwIDAgMjEgMTEuNWgtMWE2Ljk3IDYuOTcgMCAwIDEtMi43OSA1LjU5bC41OC44MnpNMjEgMTEuNUE3LjUgNy41IDAgMCAwIDEzLjUgNHYxYTYuNSA2LjUgMCAwIDEgNi41IDYuNWgxek0xMy41IDRBNy41IDcuNSAwIDAgMCA2IDExLjVoMUE2LjUgNi41IDAgMCAxIDEzLjUgNVY0ek02IDExLjVhNy45OCA3Ljk4IDAgMCAwIDMuMjEgNi40MWwuNTctLjgyQTYuOTggNi45OCAwIDAgMSA3IDExLjVINnpNOSAyMWExIDEgMCAwIDAgMSAxdi0xSDl6bTggMWExIDEgMCAwIDAgMS0xaC0xdjF6bS02LS41VjIzaDF2LTEuNWgtMXptMCAxLjVhMSAxIDAgMCAwIDEgMXYtMWgtMXptMSAxaDN2LTFoLTN2MXptMyAwYTEgMSAwIDAgMCAxLTFoLTF2MXptMS0xdi0xLjVoLTFWMjNoMXptLTMtMTEuNXY2aDF2LTZoLTF6TTkuNSAyMGg4di0xaC04djF6TTkgMTcuNXYyaDF2LTJIOXptMCAyVjIxaDF2LTEuNUg5em05IDEuNXYtMS41aC0xVjIxaDF6bTAtMS41di0yaC0xdjJoMXpNOS41IDE4aDR2LTFoLTR2MXptNCAwaDR2LTFoLTR2MXptLTItNmgydi0xaC0ydjF6bTIgMGgydi0xaC0ydjF6TTEwIDIyaDEuNXYtMUgxMHYxem0xLjUgMGg0di0xaC00djF6bTQgMEgxN3YtMWgtMS41djF6Ii8+PC9zdmc+J30sODE0NjcwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik02IDE0LjVDNiA5Ljc4IDkuNzggNiAxNC41IDZjNC43MiAwIDguNSAzLjc4IDguNSA4LjUgMCA0LjcyLTMuNzggOC41LTguNSA4LjVBOC40NiA4LjQ2IDAgMCAxIDYgMTQuNXpNMTQuNSA1QTkuNDYgOS40NiAwIDAgMCA1IDE0LjVjMCA1LjI4IDQuMjIgOS41IDkuNSA5LjVzOS41LTQuMjIgOS41LTkuNVMxOS43OCA1IDE0LjUgNXpNMTQgMTZWOWgxdjZoNHYxaC01eiIvPjwvc3ZnPid9LDYyMDc4MShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTYgMTQuNUM2IDkuNzggOS43OCA2IDE0LjUgNmM0LjcyIDAgOC41IDMuNzggOC41IDguNSAwIDQuNzItMy43OCA4LjUtOC41IDguNUE4LjQ2IDguNDYgMCAwIDEgNiAxNC41ek0xNC41IDVBOS40NiA5LjQ2IDAgMCAwIDUgMTQuNWMwIDUuMjggNC4yMiA5LjUgOS41IDkuNXM5LjUtNC4yMiA5LjUtOS41UzE5Ljc4IDUgMTQuNSA1ek0xMiAxMmExIDEgMCAxIDAgMCAyIDEgMSAwIDAgMCAwLTJ6bTQgMWExIDEgMCAxIDEgMiAwIDEgMSAwIDAgMS0yIDB6bS02IDRsLS40My4yNnYuMDFsLjAzLjAzYTMuNTUgMy41NSAwIDAgMCAuMy40IDUuNyA1LjcgMCAwIDAgOS4yMiAwIDUuNDIgNS40MiAwIDAgMCAuMjgtLjRsLjAyLS4wM3YtLjAxTDE5IDE3bC0uNDMtLjI2di4wMmEyLjQ1IDIuNDUgMCAwIDEtLjI0LjMyYy0uMTcuMjEtLjQzLjUtLjc4Ljc5YTQuNzEgNC43MSAwIDAgMS02Ljg4LS44IDQuMzIgNC4zMiAwIDAgMS0uMjMtLjMxbC0uMDEtLjAyTDEwIDE3eiIvPjwvc3ZnPid9LDkwMDMxMShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjYgMTUuNDNBNi4xOSA2LjE5IDAgMCAxIDE0IDYuMzZhNi4xOSA2LjE5IDAgMCAxIDguNCA5LjA4bC0uMDMuMDItNy4zIDcuMzFhMS41IDEuNSAwIDAgMS0yLjEzIDBsLTcuMy03LjMtLjAzLS4wM20uNzEtLjd2LS4wMWE1LjE5IDUuMTkgMCAwIDEgNy4zMy03LjM0di4wMWMuMi4yLjUxLjE5LjcgMGE1LjE5IDUuMTkgMCAwIDEgNy4zNCA3LjMzbC0uMDMuMDItNy4zIDcuMzFhLjUuNSAwIDAgMS0uNzEgMGwtNy4zLTcuMy0uMDMtLjAyeiIvPjwvc3ZnPid9LDc1MDc2OShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjIuODcgNi40NGMuMDktLjc4LS41My0xLjQtMS4zLTEuMzEtMS40My4xNS0zLjQzLjQ4LTUuNDIgMS4yYTExLjggMTEuOCAwIDAgMC01LjIzIDMuNDRMOS44NiAxMS45bDYuMjQgNi4yNCAyLjEzLTEuMDZhMTEuOCAxMS44IDAgMCAwIDMuNDQtNS4yM2MuNzItMS45OSAxLjA1LTQgMS4yLTUuNDF6bS00LjkzIDExLjlsLTEuNzIuODYtLjA0LjAyaC0uMDRsLTIuMi42N3YuMDFhMTkuNjggMTkuNjggMCAwIDAtLjEzIDMuMzNjLjAxLjE0LjA4LjIyLjE3LjI2LjA4LjA0LjIuMDUuMzItLjAzYTE4LjgzIDE4LjgzIDAgMCAwIDIuNzktMi4yNiA4LjE4IDguMTggMCAwIDAgLjQ0LTEuMWMuMTYtLjUxLjMzLTEuMTIuNDEtMS43NnptLS40NCAzLjE2bC4zNS4zNS0uMDEuMDItLjA1LjA1YTE2Ljg1IDE2Ljg1IDAgMCAxLS44My43NmMtLjU0LjQ3LTEuMyAxLjA4LTIuMSAxLjYxYTEuMyAxLjMgMCAwIDEtMi4wNS0uOTggMTYuNDYgMTYuNDYgMCAwIDEgLjA5LTMuMDhsLS4xNi4wNWExLjUgMS41IDAgMCAxLTEuNTMtLjM2bC0zLjEzLTMuMTNjLS40LS40LS41NC0xLS4zNi0xLjUzbC4wNS0uMTYtLjM2LjA0Yy0uNy4wNi0xLjYyLjExLTIuNTQuMDZhMS4zIDEuMyAwIDAgMS0xLjEzLS44Yy0uMTgtLjQyLS4xMy0uOTQuMTctMS4zNWE4Ny41NSA4Ny41NSAwIDAgMSAyLjE1LTIuOGwuMDQtLjA0di0uMDJsLjQuMzEtLjIyLS40NS4wMy0uMDFhNS45MyA1LjkzIDAgMCAxIC4zNC0uMTZjLjIzLS4xLjU1LS4yMi45NC0uMzVBOS43NyA5Ljc3IDAgMCAxIDEwLjI2IDlhMTIuOSAxMi45IDAgMCAxIDUuNTUtMy42MWMyLjA5LS43NiA0LjE4LTEuMSA1LjY1LTEuMjYgMS40MS0uMTUgMi41NiAxIDIuNCAyLjQxYTI0LjA0IDI0LjA0IDAgMCAxLTEuMjUgNS42NUExMi45IDEyLjkgMCAwIDEgMTkgMTcuNzRhOS43NyA5Ljc3IDAgMCAxLS44OCAzLjYxIDkuMTggOS4xOCAwIDAgMS0uMTYuMzR2LjAzaC0uMDFsLS40NS0uMjJ6bTAgMGwuNDUuMjItLjA0LjA4LS4wNi4wNS0uMzUtLjM1em0tMTEtMTFsLS40LS4zMS4wOC0uMDkuMS0uMDUuMjIuNDV6bTMuMTYtLjQ0YTkuNjEgOS42MSAwIDAgMC0yLjg0Ljg0bC0uMTMuMTZhMTA5LjgzIDEwOS44MyAwIDAgMC0xLjk3IDIuNTguNC40IDAgMCAwLS4wNi4zOGMuMDQuMS4xMi4xNy4yNy4xOGExNi4wNSAxNi4wNSAwIDAgMCAzLjE4LS4xNWwuNjYtMi4yLjAxLS4wMy4wMi0uMDQuODYtMS43MnptNS40IDguNDVsLTUuNTctNS41Ni0uNTEgMS43LS4zMS45MmEuNS41IDAgMCAwIC4xMi41MWwzLjEzIDMuMTNhLjUuNSAwIDAgMCAuNS4xMmwuOTItLjNoLjAybDEuNy0uNTJ6bS0xMC45MS42NGwyLTIgLjcuNy0yIDItLjctLjd6bTAgNGw0LTQgLjcuNy00IDQtLjctLjd6bTQgMGwyLTIgLjcuNy0yIDItLjctLjd6TTE2IDEwLjVhMS41IDEuNSAwIDEgMSAzIDAgMS41IDEuNSAwIDAgMS0zIDB6TTE3LjUgOGEyLjUgMi41IDAgMSAwIDAgNSAyLjUgMi41IDAgMCAwIDAtNXoiLz48L3N2Zz4nfSwyNjA2MDMoZSxkLHUpeyJ1c2Ugc3RyaWN0Ijt1LmQoZCx7ZGVmYXVsdDooKT0+dH0pO2NvbnN0IHQ9ZnVuY3Rpb24oKXt2YXIgZT17YmFzZToiaHR0cHM6Ly90d2Vtb2ppLm1heGNkbi5jb20vdi8xMy4wLjEvIixleHQ6Ii5wbmciLHNpemU6IjcyeDcyIixjbGFzc05hbWU6ImVtb2ppIixjb252ZXJ0Ontmcm9tQ29kZVBvaW50OmZ1bmN0aW9uKGUpe3ZhciBkPSJzdHJpbmciPT10eXBlb2YgZT9wYXJzZUludChlLDE2KTplO2lmKGQ8NjU1MzYpcmV0dXJuIGEoZCk7cmV0dXJuIGEoNTUyOTYrKChkLT02NTUzNik+PjEwKSw1NjMyMCsoMTAyMyZkKSl9LHRvQ29kZVBvaW50Omd9LG9uZXJyb3I6ZnVuY3Rpb24oKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQobCh0aGlzLmFsdCwhMSksdGhpcyl9LApwYXJzZTpmdW5jdGlvbihkLHUpe3UmJiJmdW5jdGlvbiIhPXR5cGVvZiB1fHwodT17Y2FsbGJhY2s6dX0pO3JldHVybigic3RyaW5nIj09dHlwZW9mIGQ/bTpmKShkLHtjYWxsYmFjazp1LmNhbGxiYWNrfHxyLGF0dHJpYnV0ZXM6ImZ1bmN0aW9uIj09dHlwZW9mIHUuYXR0cmlidXRlcz91LmF0dHJpYnV0ZXM6cCxiYXNlOiJzdHJpbmciPT10eXBlb2YgdS5iYXNlP3UuYmFzZTplLmJhc2UsZXh0OnUuZXh0fHxlLmV4dCxzaXplOnUuZm9sZGVyfHwodD11LnNpemV8fGUuc2l6ZSwibnVtYmVyIj09dHlwZW9mIHQ/dCsieCIrdDp0KSxjbGFzc05hbWU6dS5jbGFzc05hbWV8fGUuY2xhc3NOYW1lLG9uZXJyb3I6dS5vbmVycm9yfHxlLm9uZXJyb3J9KTt2YXIgdH0scmVwbGFjZTpiLHRlc3Q6ZnVuY3Rpb24oZSl7dS5sYXN0SW5kZXg9MDt2YXIgZD11LnRlc3QoZSk7cmV0dXJuIHUubGFzdEluZGV4PTAsZH19LGQ9eyImIjoiJmFtcDsiLCI8IjoiJmx0OyIsIj4iOiImZ3Q7IiwiJyI6IiYjMzk7IiwnIic6IiZxdW90OyIKfSx1PS8oPzpcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmJcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZjLVx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZjXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYlx1ZGZmZC1cdWRmZmZdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmZFx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmJcdWRmZmNcdWRmZmVcdWRmZmZdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmZVx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZkXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmZcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZV18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZiXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYy1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmYlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmMtXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmNcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiXHVkZmZkLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZjXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYlx1ZGZmZC1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZFx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmJcdWRmZmNcdWRmZmVcdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZFx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmJcdWRmZmNcdWRmZmVcdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZVx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZkXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmVcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiLVx1ZGZmZFx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZmXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmVdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmItXHVkZmZlXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmJcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZjXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmZFx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmVcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZmXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMXxcdWQ4M2RcdWRjNmJcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkXHVkYzZjXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFx1ZGM2ZFx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RbXHVkYzZiLVx1ZGM2ZF0pfCg/Olx1ZDgzZFtcdWRjNjhcdWRjNjldfFx1ZDgzZVx1ZGRkMSkoPzpcdWQ4M2NbXHVkZmZiLVx1ZGZmZl0pP1x1MjAwZCg/Olx1MjY5NVx1ZmUwZnxcdTI2OTZcdWZlMGZ8XHUyNzA4XHVmZTBmfFx1ZDgzY1tcdWRmM2VcdWRmNzNcdWRmN2NcdWRmODRcdWRmOTNcdWRmYTRcdWRmYThcdWRmZWJcdWRmZWRdfFx1ZDgzZFtcdWRjYmJcdWRjYmNcdWRkMjdcdWRkMmNcdWRlODBcdWRlOTJdfFx1ZDgzZVtcdWRkYWYtXHVkZGIzXHVkZGJjXHVkZGJkXSl8KD86XHVkODNjW1x1ZGZjYlx1ZGZjY118XHVkODNkW1x1ZGQ3NFx1ZGQ3NV18XHUyNmY5KSgoPzpcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVmZTBmKVx1MjAwZFtcdTI2NDBcdTI2NDJdXHVmZTBmKXwoPzpcdWQ4M2NbXHVkZmMzXHVkZmM0XHVkZmNhXXxcdWQ4M2RbXHVkYzZlXHVkYzcwXHVkYzcxXHVkYzczXHVkYzc3XHVkYzgxXHVkYzgyXHVkYzg2XHVkYzg3XHVkZTQ1LVx1ZGU0N1x1ZGU0Ylx1ZGU0ZFx1ZGU0ZVx1ZGVhM1x1ZGViNC1cdWRlYjZdfFx1ZDgzZVtcdWRkMjZcdWRkMzVcdWRkMzctXHVkZDM5XHVkZDNkXHVkZDNlXHVkZGI4XHVkZGI5XHVkZGNkLVx1ZGRjZlx1ZGRkNi1cdWRkZGRdKSg/Olx1ZDgzY1tcdWRmZmItXHVkZmZmXSk/XHUyMDBkW1x1MjY0MFx1MjY0Ml1cdWZlMGZ8KD86XHVkODNkXHVkYzY4XHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzhiXHUyMDBkXHVkODNkXHVkYzY4fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NnxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjZ8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY5XHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzhiXHUyMDBkXHVkODNkW1x1ZGM2OFx1ZGM2OV18XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2fFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OFx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM2OHxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjZ8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY5XHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkW1x1ZGM2OFx1ZGM2OV18XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2fFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzY1x1ZGZmM1x1ZmUwZlx1MjAwZFx1MjZhN1x1ZmUwZnxcdWQ4M2NcdWRmZjNcdWZlMGZcdTIwMGRcdWQ4M2NcdWRmMDh8XHVkODNjXHVkZmY0XHUyMDBkXHUyNjIwXHVmZTBmfFx1ZDgzZFx1ZGMxNVx1MjAwZFx1ZDgzZVx1ZGRiYXxcdWQ4M2RcdWRjM2JcdTIwMGRcdTI3NDRcdWZlMGZ8XHVkODNkXHVkYzQxXHUyMDBkXHVkODNkXHVkZGU4fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2Zlx1MjAwZFx1MjY0MFx1ZmUwZnxcdWQ4M2RcdWRjNmZcdTIwMGRcdTI2NDJcdWZlMGZ8XHVkODNlXHVkZDNjXHUyMDBkXHUyNjQwXHVmZTBmfFx1ZDgzZVx1ZGQzY1x1MjAwZFx1MjY0Mlx1ZmUwZnxcdWQ4M2VcdWRkZGVcdTIwMGRcdTI2NDBcdWZlMGZ8XHVkODNlXHVkZGRlXHUyMDBkXHUyNjQyXHVmZTBmfFx1ZDgzZVx1ZGRkZlx1MjAwZFx1MjY0MFx1ZmUwZnxcdWQ4M2VcdWRkZGZcdTIwMGRcdTI2NDJcdWZlMGZ8XHVkODNkXHVkYzA4XHUyMDBkXHUyYjFiKXxbIyowLTldXHVmZTBmP1x1MjBlM3woPzpbwqnCrlx1MjEyMlx1MjY1Zl1cdWZlMGYpfCg/Olx1ZDgzY1tcdWRjMDRcdWRkNzBcdWRkNzFcdWRkN2VcdWRkN2ZcdWRlMDJcdWRlMWFcdWRlMmZcdWRlMzdcdWRmMjFcdWRmMjQtXHVkZjJjXHVkZjM2XHVkZjdkXHVkZjk2XHVkZjk3XHVkZjk5LVx1ZGY5Ylx1ZGY5ZVx1ZGY5Zlx1ZGZjZFx1ZGZjZVx1ZGZkNC1cdWRmZGZcdWRmZjNcdWRmZjVcdWRmZjddfFx1ZDgzZFtcdWRjM2ZcdWRjNDFcdWRjZmRcdWRkNDlcdWRkNGFcdWRkNmZcdWRkNzBcdWRkNzNcdWRkNzYtXHVkZDc5XHVkZDg3XHVkZDhhLVx1ZGQ4ZFx1ZGRhNVx1ZGRhOFx1ZGRiMVx1ZGRiMlx1ZGRiY1x1ZGRjMi1cdWRkYzRcdWRkZDEtXHVkZGQzXHVkZGRjLVx1ZGRkZVx1ZGRlMVx1ZGRlM1x1ZGRlOFx1ZGRlZlx1ZGRmM1x1ZGRmYVx1ZGVjYlx1ZGVjZC1cdWRlY2ZcdWRlZTAtXHVkZWU1XHVkZWU5XHVkZWYwXHVkZWYzXXxbXHUyMDNjXHUyMDQ5XHUyMTM5XHUyMTk0LVx1MjE5OVx1MjFhOVx1MjFhYVx1MjMxYVx1MjMxYlx1MjMyOFx1MjNjZlx1MjNlZC1cdTIzZWZcdTIzZjFcdTIzZjJcdTIzZjgtXHUyM2ZhXHUyNGMyXHUyNWFhXHUyNWFiXHUyNWI2XHUyNWMwXHUyNWZiLVx1MjVmZVx1MjYwMC1cdTI2MDRcdTI2MGVcdTI2MTFcdTI2MTRcdTI2MTVcdTI2MThcdTI2MjBcdTI2MjJcdTI2MjNcdTI2MjZcdTI2MmFcdTI2MmVcdTI2MmZcdTI2MzgtXHUyNjNhXHUyNjQwXHUyNjQyXHUyNjQ4LVx1MjY1M1x1MjY2MFx1MjY2M1x1MjY2NVx1MjY2Nlx1MjY2OFx1MjY3Ylx1MjY3Zlx1MjY5Mi1cdTI2OTdcdTI2OTlcdTI2OWJcdTI2OWNcdTI2YTBcdTI2YTFcdTI2YTdcdTI2YWFcdTI2YWJcdTI2YjBcdTI2YjFcdTI2YmRcdTI2YmVcdTI2YzRcdTI2YzVcdTI2YzhcdTI2Y2ZcdTI2ZDFcdTI2ZDNcdTI2ZDRcdTI2ZTlcdTI2ZWFcdTI2ZjAtXHUyNmY1XHUyNmY4XHUyNmZhXHUyNmZkXHUyNzAyXHUyNzA4XHUyNzA5XHUyNzBmXHUyNzEyXHUyNzE0XHUyNzE2XHUyNzFkXHUyNzIxXHUyNzMzXHUyNzM0XHUyNzQ0XHUyNzQ3XHUyNzU3XHUyNzYzXHUyNzY0XHUyN2ExXHUyOTM0XHUyOTM1XHUyYjA1LVx1MmIwN1x1MmIxYlx1MmIxY1x1MmI1MFx1MmI1NVx1MzAzMFx1MzAzZFx1MzI5N1x1MzI5OV0pKD86XHVmZTBmfCg/IVx1ZmUwZSkpfCg/Oig/Olx1ZDgzY1tcdWRmY2JcdWRmY2NdfFx1ZDgzZFtcdWRkNzRcdWRkNzVcdWRkOTBdfFtcdTI2MWRcdTI2ZjdcdTI2ZjlcdTI3MGNcdTI3MGRdKSg/Olx1ZmUwZnwoPyFcdWZlMGUpKXwoPzpcdWQ4M2NbXHVkZjg1XHVkZmMyLVx1ZGZjNFx1ZGZjN1x1ZGZjYV18XHVkODNkW1x1ZGM0Mlx1ZGM0M1x1ZGM0Ni1cdWRjNTBcdWRjNjYtXHVkYzY5XHVkYzZlXHVkYzcwLVx1ZGM3OFx1ZGM3Y1x1ZGM4MS1cdWRjODNcdWRjODUtXHVkYzg3XHVkY2FhXHVkZDdhXHVkZDk1XHVkZDk2XHVkZTQ1LVx1ZGU0N1x1ZGU0Yi1cdWRlNGZcdWRlYTNcdWRlYjQtXHVkZWI2XHVkZWMwXHVkZWNjXXxcdWQ4M2VbXHVkZDBjXHVkZDBmXHVkZDE4LVx1ZGQxY1x1ZGQxZVx1ZGQxZlx1ZGQyNlx1ZGQzMC1cdWRkMzlcdWRkM2RcdWRkM2VcdWRkNzdcdWRkYjVcdWRkYjZcdWRkYjhcdWRkYjlcdWRkYmJcdWRkY2QtXHVkZGNmXHVkZGQxLVx1ZGRkZF18W1x1MjcwYVx1MjcwYl0pKSg/Olx1ZDgzY1tcdWRmZmItXHVkZmZmXSk/fCg/Olx1ZDgzY1x1ZGZmNFx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM2Mlx1ZGI0MFx1ZGM2NVx1ZGI0MFx1ZGM2ZVx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM3ZnxcdWQ4M2NcdWRmZjRcdWRiNDBcdWRjNjdcdWRiNDBcdWRjNjJcdWRiNDBcdWRjNzNcdWRiNDBcdWRjNjNcdWRiNDBcdWRjNzRcdWRiNDBcdWRjN2Z8XHVkODNjXHVkZmY0XHVkYjQwXHVkYzY3XHVkYjQwXHVkYzYyXHVkYjQwXHVkYzc3XHVkYjQwXHVkYzZjXHVkYjQwXHVkYzczXHVkYjQwXHVkYzdmfFx1ZDgzY1x1ZGRlNlx1ZDgzY1tcdWRkZTgtXHVkZGVjXHVkZGVlXHVkZGYxXHVkZGYyXHVkZGY0XHVkZGY2LVx1ZGRmYVx1ZGRmY1x1ZGRmZFx1ZGRmZl18XHVkODNjXHVkZGU3XHVkODNjW1x1ZGRlNlx1ZGRlN1x1ZGRlOS1cdWRkZWZcdWRkZjEtXHVkZGY0XHVkZGY2LVx1ZGRmOVx1ZGRmYlx1ZGRmY1x1ZGRmZVx1ZGRmZl18XHVkODNjXHVkZGU4XHVkODNjW1x1ZGRlNlx1ZGRlOFx1ZGRlOVx1ZGRlYi1cdWRkZWVcdWRkZjAtXHVkZGY1XHVkZGY3XHVkZGZhLVx1ZGRmZl18XHVkODNjXHVkZGU5XHVkODNjW1x1ZGRlYVx1ZGRlY1x1ZGRlZlx1ZGRmMFx1ZGRmMlx1ZGRmNFx1ZGRmZl18XHVkODNjXHVkZGVhXHVkODNjW1x1ZGRlNlx1ZGRlOFx1ZGRlYVx1ZGRlY1x1ZGRlZFx1ZGRmNy1cdWRkZmFdfFx1ZDgzY1x1ZGRlYlx1ZDgzY1tcdWRkZWUtXHVkZGYwXHVkZGYyXHVkZGY0XHVkZGY3XXxcdWQ4M2NcdWRkZWNcdWQ4M2NbXHVkZGU2XHVkZGU3XHVkZGU5LVx1ZGRlZVx1ZGRmMS1cdWRkZjNcdWRkZjUtXHVkZGZhXHVkZGZjXHVkZGZlXXxcdWQ4M2NcdWRkZWRcdWQ4M2NbXHVkZGYwXHVkZGYyXHVkZGYzXHVkZGY3XHVkZGY5XHVkZGZhXXxcdWQ4M2NcdWRkZWVcdWQ4M2NbXHVkZGU4LVx1ZGRlYVx1ZGRmMS1cdWRkZjRcdWRkZjYtXHVkZGY5XXxcdWQ4M2NcdWRkZWZcdWQ4M2NbXHVkZGVhXHVkZGYyXHVkZGY0XHVkZGY1XXxcdWQ4M2NcdWRkZjBcdWQ4M2NbXHVkZGVhXHVkZGVjLVx1ZGRlZVx1ZGRmMlx1ZGRmM1x1ZGRmNVx1ZGRmN1x1ZGRmY1x1ZGRmZVx1ZGRmZl18XHVkODNjXHVkZGYxXHVkODNjW1x1ZGRlNi1cdWRkZThcdWRkZWVcdWRkZjBcdWRkZjctXHVkZGZiXHVkZGZlXXxcdWQ4M2NcdWRkZjJcdWQ4M2NbXHVkZGU2XHVkZGU4LVx1ZGRlZFx1ZGRmMC1cdWRkZmZdfFx1ZDgzY1x1ZGRmM1x1ZDgzY1tcdWRkZTZcdWRkZThcdWRkZWEtXHVkZGVjXHVkZGVlXHVkZGYxXHVkZGY0XHVkZGY1XHVkZGY3XHVkZGZhXHVkZGZmXXxcdWQ4M2NcdWRkZjRcdWQ4M2NcdWRkZjJ8XHVkODNjXHVkZGY1XHVkODNjW1x1ZGRlNlx1ZGRlYS1cdWRkZWRcdWRkZjAtXHVkZGYzXHVkZGY3LVx1ZGRmOVx1ZGRmY1x1ZGRmZV18XHVkODNjXHVkZGY2XHVkODNjXHVkZGU2fFx1ZDgzY1x1ZGRmN1x1ZDgzY1tcdWRkZWFcdWRkZjRcdWRkZjhcdWRkZmFcdWRkZmNdfFx1ZDgzY1x1ZGRmOFx1ZDgzY1tcdWRkZTYtXHVkZGVhXHVkZGVjLVx1ZGRmNFx1ZGRmNy1cdWRkZjlcdWRkZmJcdWRkZmQtXHVkZGZmXXxcdWQ4M2NcdWRkZjlcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGU5XHVkZGViLVx1ZGRlZFx1ZGRlZi1cdWRkZjRcdWRkZjdcdWRkZjlcdWRkZmJcdWRkZmNcdWRkZmZdfFx1ZDgzY1x1ZGRmYVx1ZDgzY1tcdWRkZTZcdWRkZWNcdWRkZjJcdWRkZjNcdWRkZjhcdWRkZmVcdWRkZmZdfFx1ZDgzY1x1ZGRmYlx1ZDgzY1tcdWRkZTZcdWRkZThcdWRkZWFcdWRkZWNcdWRkZWVcdWRkZjNcdWRkZmFdfFx1ZDgzY1x1ZGRmY1x1ZDgzY1tcdWRkZWJcdWRkZjhdfFx1ZDgzY1x1ZGRmZFx1ZDgzY1x1ZGRmMHxcdWQ4M2NcdWRkZmVcdWQ4M2NbXHVkZGVhXHVkZGY5XXxcdWQ4M2NcdWRkZmZcdWQ4M2NbXHVkZGU2XHVkZGYyXHVkZGZjXXxcdWQ4M2NbXHVkY2NmXHVkZDhlXHVkZDkxLVx1ZGQ5YVx1ZGRlNi1cdWRkZmZcdWRlMDFcdWRlMzItXHVkZTM2XHVkZTM4LVx1ZGUzYVx1ZGU1MFx1ZGU1MVx1ZGYwMC1cdWRmMjBcdWRmMmQtXHVkZjM1XHVkZjM3LVx1ZGY3Y1x1ZGY3ZS1cdWRmODRcdWRmODYtXHVkZjkzXHVkZmEwLVx1ZGZjMVx1ZGZjNVx1ZGZjNlx1ZGZjOFx1ZGZjOVx1ZGZjZi1cdWRmZDNcdWRmZTAtXHVkZmYwXHVkZmY0XHVkZmY4LVx1ZGZmZl18XHVkODNkW1x1ZGMwMC1cdWRjM2VcdWRjNDBcdWRjNDRcdWRjNDVcdWRjNTEtXHVkYzY1XHVkYzZhXHVkYzZmXHVkYzc5LVx1ZGM3Ylx1ZGM3ZC1cdWRjODBcdWRjODRcdWRjODgtXHVkY2E5XHVkY2FiLVx1ZGNmY1x1ZGNmZi1cdWRkM2RcdWRkNGItXHVkZDRlXHVkZDUwLVx1ZGQ2N1x1ZGRhNFx1ZGRmYi1cdWRlNDRcdWRlNDgtXHVkZTRhXHVkZTgwLVx1ZGVhMlx1ZGVhNC1cdWRlYjNcdWRlYjctXHVkZWJmXHVkZWMxLVx1ZGVjNVx1ZGVkMC1cdWRlZDJcdWRlZDUtXHVkZWQ3XHVkZWViXHVkZWVjXHVkZWY0LVx1ZGVmY1x1ZGZlMC1cdWRmZWJdfFx1ZDgzZVtcdWRkMGRcdWRkMGVcdWRkMTAtXHVkZDE3XHVkZDFkXHVkZDIwLVx1ZGQyNVx1ZGQyNy1cdWRkMmZcdWRkM2FcdWRkM2NcdWRkM2YtXHVkZDQ1XHVkZDQ3LVx1ZGQ3Nlx1ZGQ3OFx1ZGQ3YS1cdWRkYjRcdWRkYjdcdWRkYmFcdWRkYmMtXHVkZGNiXHVkZGQwXHVkZGRlLVx1ZGRmZlx1ZGU3MC1cdWRlNzRcdWRlNzgtXHVkZTdhXHVkZTgwLVx1ZGU4Nlx1ZGU5MC1cdWRlYThcdWRlYjAtXHVkZWI2XHVkZWMwLVx1ZGVjMlx1ZGVkMC1cdWRlZDZdfFtcdTIzZTktXHUyM2VjXHUyM2YwXHUyM2YzXHUyNjdlXHUyNmNlXHUyNzA1XHUyNzI4XHUyNzRjXHUyNzRlXHUyNzUzLVx1Mjc1NVx1Mjc5NS1cdTI3OTdcdTI3YjBcdTI3YmZcdWU1MGFdKXxcdWZlMGYvZyx0PS9cdUZFMEYvZyxjPVN0cmluZy5mcm9tQ2hhckNvZGUoODIwNSksbj0vWyY8PiciXS9nLG89L14oPzppZnJhbWV8bm9mcmFtZXN8bm9zY3JpcHR8c2NyaXB0fHNlbGVjdHxzdHlsZXx0ZXh0YXJlYSkkLyxhPVN0cmluZy5mcm9tQ2hhckNvZGUKO3JldHVybiBlO2Z1bmN0aW9uIGwoZSxkKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZD9lLnJlcGxhY2UodCwiIik6ZSl9ZnVuY3Rpb24gcihlLGQpe3JldHVybiIiLmNvbmNhdChkLmJhc2UsZC5zaXplLCIvIixlLGQuZXh0KX1mdW5jdGlvbiBpKGUsZCl7Zm9yKHZhciB1LHQsYz1lLmNoaWxkTm9kZXMsbj1jLmxlbmd0aDtuLS07KTM9PT0odD0odT1jW25dKS5ub2RlVHlwZSk/ZC5wdXNoKHUpOjEhPT10fHwib3duZXJTVkdFbGVtZW50ImluIHV8fG8udGVzdCh1Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpfHxpKHUsZCk7cmV0dXJuIGR9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZyhlLmluZGV4T2YoYyk8MD9lLnJlcGxhY2UodCwiIik6ZSl9ZnVuY3Rpb24gZihlLGQpe2Zvcih2YXIgdCxjLG4sbyxhLHIsZixtLGgscCxiLGcsdixTPWkoZSxbXSkseT1TLmxlbmd0aDt5LS07KXtmb3Iobj0hMSxvPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxyPShhPVNbeV0pLm5vZGVWYWx1ZSxtPTA7Zj11LmV4ZWMocik7KXtpZigoaD1mLmluZGV4KSE9PW0mJm8uYXBwZW5kQ2hpbGQobChyLnNsaWNlKG0saCksITApKSxnPXMoYj1mWzBdKSxtPWgrYi5sZW5ndGgsdj1kLmNhbGxiYWNrKGcsZCksZyYmdil7Zm9yKGMgaW4ocD1uZXcgSW1hZ2UpLm9uZXJyb3I9ZC5vbmVycm9yLHAuc2V0QXR0cmlidXRlKCJkcmFnZ2FibGUiLCJmYWxzZSIpLHQ9ZC5hdHRyaWJ1dGVzKGIsZykpdC5oYXNPd25Qcm9wZXJ0eShjKSYmMCE9PWMuaW5kZXhPZigib24iKSYmIXAuaGFzQXR0cmlidXRlKGMpJiZwLnNldEF0dHJpYnV0ZShjLHRbY10pO3AuY2xhc3NOYW1lPWQuY2xhc3NOYW1lLHAuYWx0PWIscC5zcmM9dixuPSEwLG8uYXBwZW5kQ2hpbGQocCl9cHx8by5hcHBlbmRDaGlsZChsKGIsITEpKSxwPW51bGx9biYmKG08ci5sZW5ndGgmJm8uYXBwZW5kQ2hpbGQobChyLnNsaWNlKG0pLCEwKSksYS5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChvLGEpKX1yZXR1cm4gZX1mdW5jdGlvbiBtKGUsZCl7cmV0dXJuIGIoZSwoZnVuY3Rpb24oZSl7dmFyIHUsdCxjPWUsbz1zKGUpLGE9ZC5jYWxsYmFjayhvLGQpO2lmKG8mJmEpe2Zvcih0IGluIGM9IjxpbWcgIi5jb25jYXQoJ2NsYXNzPSInLGQuY2xhc3NOYW1lLCciICcsJ2RyYWdnYWJsZT0iZmFsc2UiICcsJ2FsdD0iJyxlLCciJywnIHNyYz0iJyxhLCciJyksdT1kLmF0dHJpYnV0ZXMoZSxvKSl1Lmhhc093blByb3BlcnR5KHQpJiYwIT09dC5pbmRleE9mKCJvbiIpJiYtMT09PWMuaW5kZXhPZigiICIrdCsiPSIpJiYoYz1jLmNvbmNhdCgiICIsdCwnPSInLHVbdF0ucmVwbGFjZShuLGgpLCciJykpO2M9Yy5jb25jYXQoIi8+Iil9cmV0dXJuIGN9KSl9ZnVuY3Rpb24gaChlKXtyZXR1cm4gZFtlXX1mdW5jdGlvbiBwKCl7cmV0dXJuIG51bGx9ZnVuY3Rpb24gYihlLGQpe3JldHVybiBTdHJpbmcoZSkucmVwbGFjZSh1LGQpfWZ1bmN0aW9uIGcoZSxkKXtmb3IodmFyIHU9W10sdD0wLGM9MCxuPTA7bjxlLmxlbmd0aDspdD1lLmNoYXJDb2RlQXQobisrKSxjPyh1LnB1c2goKDY1NTM2KyhjLTU1Mjk2PDwxMCkrKHQtNTYzMjApKS50b1N0cmluZygxNikpLGM9MCk6NTUyOTY8PXQmJnQ8PTU2MzE5P2M9dDp1LnB1c2godC50b1N0cmluZygxNikpO3JldHVybiB1LmpvaW4oZHx8Ii0iKX19KCl9fV0pOw=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/95244.9da889c136d2506a3d81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.158Z","timestamp":1785141584158,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/95244.9da889c136d2506a3d81.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-93db\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 922544d65a85b6220dd81e39551f7ecb\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":37851,"size_decoded":12352,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3061)","md5":"b0a9dc3ad75e03716e75c6158c6665eb","sha1":"cc52478acf48fcf65d13e1af2f686a604445c191","sha256":"4c5253886cb97a3488ee3431d937a5bb8ba43a1d9e958f64a58c74058ee89d79","sha512":"40b53df94ba71d18618cbe094f77f3272fb81b6d85327e7180dc360e098dd978c5a43d011cd4d7d200c9e4960019921ca1ae6049edfcd9c72b60d66665a07806","ssdeep":"768:CY0sz5iGWN4Y9mdwv5ltpbE6n6GVfW5tXlGh2rIT1E1ab2IX73BMuLXggXUDvHLA:ZiwihpQehg5tXlGAS1E1yVzPIpsh","tlshash":"c203e775f2b2707122aa4093c8bb015387ae05fb5045112cf76dd5de2b6dc59fa3ab38","first_seen":"2026-07-23T13:54:09.077158Z","last_seen":"2026-07-27T14:50:15.500826Z","times_seen":294,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTUyNDRdLHs3NjI4NTEoZSx0LHMpe2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUrIuKApiJ9cy5kKHQse2FwcGVuZEVsbGlwc2lzOigpPT5ufSl9LDk1MjkwMChlLHQscyl7cy5kKHQse2FjY3VtdWxhdGU6KCk9PmEsYWNjdW11bGF0ZURlZmVycmVkOigpPT5sLGNvbWJpbmU6KCk9Pm8sY29tYmluZVdpdGhGaWx0ZXJlZFVwZGF0ZTooKT0+cn0pO3ZhciBuPXMoMjMyMzY0KTtmdW5jdGlvbiBpKGUsdCwuLi5zKXtsZXQgaT1udWxsO2NvbnN0IHI9KC4uLnQpPT5lKC4uLnQubWFwKChlPT5lLnZhbHVlKCkpKSxpPy52YWx1ZSgpKSxvPWk9bmV3IG4uV2F0Y2hlZFZhbHVlKHIoLi4ucykpLGE9KCk9Pntjb25zdCBlPXMubWFwKCgoZSx0KT0+ZS52YWx1ZSgpKSk7dCguLi5lKSYmby5zZXRWYWx1ZShyKC4uLnMpKX0sbD1zLm1hcCgoZT0+ZS5zcGF3bigpKSk7Zm9yKGNvbnN0IGUgb2YgbCllLnN1YnNjcmliZShhKTtyZXR1cm4gby5yZWFkb25seSgpLnNwYXduKCgoKT0+e2wuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxzLmZvckVhY2goKGU9PmUucmVsZWFzZSgpKSl9KSl9ZnVuY3Rpb24gcihlLHQsLi4ucyl7cmV0dXJuIGkoZSx0LC4uLnMpfWZ1bmN0aW9uIG8oZSwuLi50KXtyZXR1cm4gaShlLCgoKT0+ITApLC4uLnQpfWZ1bmN0aW9uIGEoZSx0LC4uLnMpe2xldCBpPW51bGw7Y29uc3Qgcj1vKCgoLi4uZSk9PihlLnNwbGljZSgtMSksZSkpLC4uLnMpLGE9dC5zcGF3bigpLGw9KHQsLi4ucyk9Pntjb25zdCBuPXQubWFwKChlPT5lLnZhbHVlKCkpKTtyZXR1cm4gZShuLC4uLnMsaT8udmFsdWUoKSl9LHU9aT1uZXcgbi5XYXRjaGVkVmFsdWUobChhLnZhbHVlKCksLi4uci52YWx1ZSgpKSk7bGV0IGM9W107Y29uc3QgaD0oKT0+e3Uuc2V0VmFsdWUobChjLC4uLnIudmFsdWUoKSkpfSxkPWU9PntjLmZvckVhY2goKGU9PmUuZGVzb3koKSkpLGM9ZS5tYXAoKGU9PmUuc3Bhd24oKSkpLGMuZm9yRWFjaCgoZT0+ZS5zdWJzY3JpYmUoaCkpKSxoKCl9O2QoYS52YWx1ZSgpKSxhLnN1YnNjcmliZShkKSxyLnN1YnNjcmliZShoKTtyZXR1cm4gdS5yZWFkb25seSgpLnNwYXduKCgoKT0+e2MuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxhLmRlc3Ryb3koKSxyLmRlc3Ryb3koKSx0LnJlbGVhc2UoKX0pKX1mdW5jdGlvbiBsKGUsdCwuLi5zKXtsZXQgaT1udWxsLHI9bnVsbDtjb25zdCBhPW8oKCguLi5lKT0+KGUuc3BsaWNlKC0xKSxlKSksLi4ucyksbD10LnNwYXduKCksdT0odCwuLi5zKT0+e2NvbnN0IG49dC5tYXAoKGU9PmUudmFsdWUoKSkpO3JldHVybiBlKG4sLi4ucyxpPy52YWx1ZSgpKX0sYz1pPW5ldyBuLldhdGNoZWRWYWx1ZSh1KGwudmFsdWUoKSwuLi5hLnZhbHVlKCkpKTtsZXQgaD1bXTtjb25zdCBkPWU9PnNldFRpbWVvdXQoZSwwKSx5PSgpPT57ciYmY2xlYXJUaW1lb3V0KHIpLHI9ZCgoKCk9Pntjb25zdCBlPXUoaCwuLi5hLnZhbHVlKCkpO3I9ZCgoKCk9PntjLnNldFZhbHVlKGUpfSkpfSkpfSxiPWU9PntoLmZvckVhY2goKGU9PmUuZGVzdHJveSgpKSksaD1lLm1hcCgoZT0+ZS5zcGF3bigpKSksaC5mb3JFYWNoKChlPT5lLnN1YnNjcmliZSh5KSkpLHkoKX07YihsLnZhbHVlKCkpLGwuc3Vic2NyaWJlKGIpLGEuc3Vic2NyaWJlKHkpO3JldHVybiBjLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT57ciYmY2xlYXJUaW1lb3V0KHIpLGguZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxsLmRlc3Ryb3koKSxhLmRlc3Ryb3koKSx0LnJlbGVhc2UoKX0pKX19LDI0MTk1NihlLHQscyl7cy5kKHQse2NyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbjooKT0+aX0pO3ZhciBuPXMoMjMyMzY0KTtmdW5jdGlvbiBpKGUsdCl7Y29uc3Qgcz1uZXcgbi5XYXRjaGVkVmFsdWUoZSgpKSxpPXt9O3Quc3Vic2NyaWJlKGksKCgpPT57cy5zZXRWYWx1ZShlKHMudmFsdWUoKSkpfSkpO3JldHVybiBzLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT50LnVuc3Vic2NyaWJlQWxsKGkpKSl9fSw4NTI5ODAoZSx0LHMpe2Z1bmN0aW9uIG4oZSx0LHMsbixpKXtjb25zdHtwYXlBdHRlbnRpb25Ub1RpY2tlck5vdFN5bWJvbDpyLHVzZVRpY2tlck9uU3ltYm9sSW5mb1VwZGF0ZTpvLGNoYXJ0aW5nTGlicmFyeVNpbmdsZVN5bWJvbFJlcXVlc3Q6YSx1cHBlcmNhc2VJbnN0cnVtZW50TmFtZXM6bH09ZTtsZXQgdT10JiYobiYmdC5wcm9fbmFtZXx8dC5mdWxsX25hbWV8fHQubmFtZSk7cmV0dXJuIGEmJnM/dT1zOihvfHwhaSYmcikmJnQmJnQudGlja2VyJiYodT10LnRpY2tlciksbCYmdSYmKHU9dS50b1VwcGVyQ2FzZSgpKSx1fXMuZCh0LHtleHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvOigpPT5ufSl9LDU5NjcwNihlLHQscyl7cy5kKHQse2lzQ0ZEU3ltYm9sOigpPT5uLGlzQ3J5cHRvU3ltYm9sOigpPT5yLGlzSGlwM1N5bWJvbDooKT0+byxpc1N0b2NrU3ltYm9sOigpPT5pfSk7ZnVuY3Rpb24gbihlLHQpe3JldHVybiBCb29sZWFuKHQ/LmluY2x1ZGVzKCJjZmQiKSkmJlsiY29tbW9kaXR5IiwiZnV0dXJlcyIsImluZGV4Iiwic3RvY2siLCJmdW5kIl0uaW5jbHVkZXMoZSl9ZnVuY3Rpb24gaShlLHQpe3JldHVybiJzdG9jayI9PT1lJiZ2b2lkIDAhPT10JiYhdC5pbmNsdWRlcygiY2ZkIikmJiF0LmluY2x1ZGVzKCJuZGYiKX1mdW5jdGlvbiByKGUpe3JldHVybiB2b2lkIDAhPT1lJiZlLmluY2x1ZGVzKCJjcnlwdG8iKX1mdW5jdGlvbiBvKGUpe3JldHVybiB2b2lkIDAhPT1lJiZlLmluY2x1ZGVzKCJoaXAzIil9fSwyMjUyOTgoZSx0LHMpe3MuZCh0LHtsaW5raW5nOigpPT5XfSk7dmFyIG49cyg1NDc4NTEpLGk9cygxMzg2MzgpLHI9cygyMjEwNjEpLG89KHMoOTMwMjMxKSxzKDIzMjM2NCkpLGE9cygyNTQ2NzMpLGw9cygxMjg5OTgpLHU9cyg5NTI5MDApLGM9cygyNDE5NTYpO3ZhciBoPXMoOTMwNTY2KSxkPXMoNjMxNjM0KSx5PXMoNzk4MzgpLGI9cyg3Nzg5NDYpLG09cyg3NzQ1MDcpLHA9cygzNjIyMzkpCjt2YXIgUz1zKDM4MzM1MSksXz1zKDcwMTUwNiksZz1zKDY4Mjc3OSksdj1zKDIwOTM5KTtjb25zdCB3PSgwLHIuZ2V0TG9nZ2VyKSgiTGlua2luZyIpO3ZhciBmLEM7IWZ1bmN0aW9uKGUpe2VbZS5Ob3RCb3VuZD0wXT0iTm90Qm91bmQiLGVbZS5Cb3VuZFRvV2lkZ2V0PTFdPSJCb3VuZFRvV2lkZ2V0IixlW2UuQm91bmRUb01vZGVsPTJdPSJCb3VuZFRvTW9kZWwifShmfHwoZj17fSkpLGZ1bmN0aW9uKGUpe2VbZS5TeW1ib2w9MF09IlN5bWJvbCIsZVtlLlJlc29sdXRpb249MV09IlJlc29sdXRpb24ifShDfHwoQz17fSkpO2NsYXNzIGt7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMud2F0Y2hlZFN5bWJvbHM9bmV3IG8uV2F0Y2hlZFZhbHVlKFtdKSx0aGlzLndhdGNoZWRTeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuc2VyaWVzU2hvcnRTeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMucHJvU3ltYm9sPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLmVuc3VyZWRQcm9TeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZEludGVydmFsPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLndhdGNoZWRJbnRyYWRheT1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy53YXRjaGVkU2Vjb25kcz1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy53YXRjaGVkVGlja3M9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLndhdGNoZWRSYW5nZT1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy53YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnM9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLnN5bWJvbE5hbWVzTGlzdD1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPW51bGwsdGhpcy5fY2hhcnRXaWRnZXRCaW5kaW5nU3RhdGU9MCx0aGlzLl9hY3RpdmVDaGFydFdpZGdldD1udWxsLHRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cz1udWxsLHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQ9bnVsbCx0aGlzLl93YXRjaGVkU3ltYm9sTGlzdGVuZXJCb3VuZD10aGlzLl93YXRjaGVkU3ltYm9sTGlzdGVuZXIuYmluZCh0aGlzKSx0aGlzLl93YXRjaGVkSW50ZXJ2YWxMaXN0ZW5lckJvdW5kPXRoaXMuX3dhdGNoZWRJbnRlcnZhbExpc3RlbmVyLmJpbmQodGhpcyksdGhpcy5fc2V0R3JvdXBTeW1ib2xDYW5jZWxsYXRpb25Ub2tlbj17Y2FuY2VsbGVkOiExfSx0aGlzLl9tdXRlZD0hMSx0aGlzLnVwZGF0ZUJvdW5kQ2hhcnRXaWRnZXQ9KCk9Pntjb25zdCBlPXRoaXMuX2NoYXJ0VG9CaW5kKCk7ZSE9PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQmJihudWxsPT09ZT90aGlzLnVuYmluZEZyb21DaGFydFdpZGdldCgpOnRoaXMuYmluZFRvQ2hhcnRXaWRnZXQoZSkpfSx0aGlzLl91cGRhdGVBbGxHcm91cENoYXJ0V2lkZ2V0cz0oKT0+e3RoaXMuX2Rlc3Ryb3lTeW1ib2xJbnRlcnZhbFByb3BlcnR5U3Vic2NyaXB0aW9ucz8uKCk7Y29uc3QgZT0oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cykudmFsdWUoKSx0PVtdLHM9W107Zm9yKGNvbnN0IG4gb2YgZSl7Y29uc3QgZT1uLnN5bWJvbFdWKCkuc3Bhd24oKSxpPW4ucmVzb2x1dGlvbldWKCkuc3Bhd24oKTtlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTeW1ib2xCeVByb3BlcnR5LmJpbmQodGhpcyxuKSksaS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSW50ZXJ2YWxCeVByb3BlcnR5LmJpbmQodGhpcyxuKSksdC5wdXNoKGUpLHMucHVzaChpKX10aGlzLl9kZXN0cm95U3ltYm9sSW50ZXJ2YWxQcm9wZXJ0eVN1YnNjcmlwdGlvbnM9KCk9Pnt0LmZvckVhY2goKGU9PmUuZGVzdHJveSgpKSkscy5mb3JFYWNoKChlPT5lLmRlc3Ryb3koKSkpLHRoaXMuX2Rlc3Ryb3lTeW1ib2xJbnRlcnZhbFByb3BlcnR5U3Vic2NyaXB0aW9ucz12b2lkIDB9O2NvbnN0IG49dGhpcy53YXRjaGVkU3ltYm9sLnZhbHVlKCk7ZS5sZW5ndGg+MSYmdGhpcy5fbmVlZEFwcGx5U3ltYm9sKG4pJiYhdGhpcy5fbXV0ZWQmJnRoaXMuX3NldEdyb3VwU3ltYm9sKG4pO2NvbnN0IHI9dGhpcy53YXRjaGVkSW50ZXJ2YWwudmFsdWUoKTtlLmxlbmd0aD4xJiZ0aGlzLl9uZWVkQXBwbHlJbnRlcnZhbChyKSYmIXRoaXMuX211dGVkJiZ0aGlzLl9zZXRHcm91cEludGVydmFsKHIpLHRoaXMudXBkYXRlQm91bmRDaGFydFdpZGdldCgpfSx0aGlzLl9ncm91cEluZGV4PWU7Y29uc3Qgbj0oZSx0KT0+e2Uuc3Vic2NyaWJlKChlPT57cygpPT09dGhpcyYmdC5zZXRWYWx1ZShlKX0pLHtjYWxsV2l0aExhc3Q6ITB9KX07bih0aGlzLndhdGNoZWRTeW1ib2xzLHQud2F0Y2hlZFN5bWJvbHMpLG4odGhpcy53YXRjaGVkU3ltYm9sLHQud2F0Y2hlZFN5bWJvbCksbih0aGlzLnNlcmllc1Nob3J0U3ltYm9sLHQuc2VyaWVzU2hvcnRTeW1ib2wpLG4odGhpcy5wcm9TeW1ib2wsdC5wcm9TeW1ib2wpLG4odGhpcy5lbnN1cmVkUHJvU3ltYm9sLHQuZW5zdXJlZFByb1N5bWJvbCksbih0aGlzLndhdGNoZWRJbnRlcnZhbCx0LndhdGNoZWRJbnRlcnZhbCksbih0aGlzLndhdGNoZWRJbnRyYWRheSx0LndhdGNoZWRJbnRyYWRheSksbih0aGlzLndhdGNoZWRTZWNvbmRzLHQud2F0Y2hlZFNlY29uZHMpLG4odGhpcy53YXRjaGVkVGlja3MsdC53YXRjaGVkVGlja3MpLG4odGhpcy53YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24sdC53YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24pLG4odGhpcy53YXRjaGVkUmFuZ2UsdC53YXRjaGVkUmFuZ2UpLG4odGhpcy53YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMsdC53YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMpLG4odGhpcy53YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMsdC53YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMpLG4odGhpcy5zeW1ib2xOYW1lc0xpc3QsdC5zeW1ib2xOYW1lc0xpc3QpLHRoaXMud2F0Y2hlZFN5bWJvbC5zdWJzY3JpYmUoKGU9PnsKdGhpcy5fYm91bmRDaGFydFdpZGdldCYmdGhpcy5fYm91bmRDaGFydFdpZGdldC5oYXNNb2RlbCgpJiZ0aGlzLm1haW5TZXJpZXMoKS5zeW1ib2xTYW1lQXNDdXJyZW50KGUpfHx0aGlzLnByb1N5bWJvbC5zZXRWYWx1ZShlKX0pLHtjYWxsV2l0aExhc3Q6ITB9KX1tdXRlKGUpe3RoaXMuX211dGVkPWV9YmluZFRvQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKGUpe3RoaXMudW5iaW5kRnJvbUNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1lLHRoaXMuX2FjdGl2ZUNoYXJ0V2lkZ2V0PWUuYWN0aXZlQ2hhcnRXaWRnZXQuc3Bhd24oKSx0aGlzLl9hY3RpdmVDaGFydFdpZGdldC5zdWJzY3JpYmUodGhpcy51cGRhdGVCb3VuZENoYXJ0V2lkZ2V0KSx0aGlzLl9saW5raW5nR3JvdXBDaGFydHM9ZS5saW5raW5nR3JvdXBzQ2hhcnRzKHRoaXMuX2dyb3VwSW5kZXgpLnNwYXduKCksdGhpcy5fbGlua2luZ0dyb3VwQ2hhcnRzLnN1YnNjcmliZSh0aGlzLl91cGRhdGVBbGxHcm91cENoYXJ0V2lkZ2V0cyksdGhpcy51cGRhdGVCb3VuZENoYXJ0V2lkZ2V0KCksdGhpcy5fdXBkYXRlQWxsR3JvdXBDaGFydFdpZGdldHMoKTtjb25zdCB0PWZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsdS5jb21iaW5lKSgoKCk9PmUuZ2V0QWxsKCkuZmlsdGVyKChlPT5lLmlzVmlzaWJsZSgpJiZlLmhhc01vZGVsKCkpKS5tYXAoKGU9PigwLGMuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoKCk9PmUubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sKCkpLGUubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sUmVzb2x2ZWQoKSkub3duZXJzaGlwKCkpKSksZS5jaGFydE1vZGVscygpLndlYWtSZWZlcmVuY2UoKSxlLmxheW91dC53ZWFrUmVmZXJlbmNlKCkpO3JldHVybigwLHUuYWNjdW11bGF0ZSkoKGU9PmUpLHQub3duZXJzaGlwKCkpfShlKTt0LnN1YnNjcmliZSgoZT0+e3RoaXMud2F0Y2hlZFN5bWJvbHMuc2V0VmFsdWUoZSl9KSksdGhpcy53YXRjaGVkU3ltYm9scy5zZXRWYWx1ZSh0LnZhbHVlKCkpfXVuYmluZEZyb21DaGFydFdpZGdldENvbGxlY3Rpb24oKXt0aGlzLnVuYmluZEZyb21DaGFydFdpZGdldCgpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1udWxsLHRoaXMuX2FjdGl2ZUNoYXJ0V2lkZ2V0Py5kZXN0cm95KCksdGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXQ9bnVsbCx0aGlzLl9saW5raW5nR3JvdXBDaGFydHM/LmRlc3Ryb3koKSx0aGlzLl9saW5raW5nR3JvdXBDaGFydHM9bnVsbCx0aGlzLl9kZXN0cm95U3ltYm9sSW50ZXJ2YWxQcm9wZXJ0eVN1YnNjcmlwdGlvbnM/LigpfWJpbmRUb0NoYXJ0V2lkZ2V0KGUpe2lmKHRoaXMudW5iaW5kRnJvbUNoYXJ0V2lkZ2V0KCksdGhpcy5fYm91bmRDaGFydFdpZGdldD1lLGUuaGFzTW9kZWwoKSlyZXR1cm4gdm9pZCB0aGlzLl9vbkNoYXJ0TW9kZWxDcmVhdGVkKGUubW9kZWwoKSk7ZS5tb2RlbENyZWF0ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYXJ0TW9kZWxDcmVhdGVkLCEwKSx0aGlzLl9jaGFydFdpZGdldEJpbmRpbmdTdGF0ZT0xO2NvbnN0IHQ9ZS5tYWluU2VyaWVzUHJvcGVydGllcygpLmNoaWxkcygpO3RoaXMud2F0Y2hlZFN5bWJvbC5zZXRWYWx1ZSh0LnN5bWJvbC52YWx1ZSgpKSx0aGlzLndhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZSh0LmludGVydmFsLnZhbHVlKCkpLHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQubGlua2luZ0dyb3VwSW5kZXgoKS5zdWJzY3JpYmUodGhpcy51cGRhdGVCb3VuZENoYXJ0V2lkZ2V0KX11bmJpbmRGcm9tQ2hhcnRXaWRnZXQoKXtjb25zdCBlPXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQ7aWYobnVsbCE9PWUpe3N3aXRjaCh0aGlzLl9jaGFydFdpZGdldEJpbmRpbmdTdGF0ZSl7Y2FzZSAxOmUubW9kZWxDcmVhdGVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyk7YnJlYWs7Y2FzZSAyOnRoaXMud2F0Y2hlZFN5bWJvbC51bnN1YnNjcmliZSh0aGlzLl93YXRjaGVkU3ltYm9sTGlzdGVuZXJCb3VuZCk7Y29uc3QgdD10aGlzLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCk7dC5zeW1ib2xSZXNvbHZlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHQuc3ltYm9sRXJyb3IoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLm1haW5TZXJpZXMoKS5vbkludGVydmFsQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMud2F0Y2hlZEludGVydmFsLnVuc3Vic2NyaWJlKHRoaXMuX3dhdGNoZWRJbnRlcnZhbExpc3RlbmVyQm91bmQpLGRlbGV0ZSB0aGlzLndhdGNoZWRTeW1ib2wud3JpdGVMb2NrfWUubGlua2luZ0dyb3VwSW5kZXgoKS51bnN1YnNjcmliZSh0aGlzLnVwZGF0ZUJvdW5kQ2hhcnRXaWRnZXQpLHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQ9bnVsbCx0aGlzLl9jaGFydFdpZGdldEJpbmRpbmdTdGF0ZT0wfX1ib3VuZENoYXJ0V2lkZ2V0KCl7cmV0dXJuIHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXR9bWFpblNlcmllcygpe2lmKCF0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0KXRocm93IG5ldyBFcnJvcigiQ2hhcnRXaWRnZXQgaXMgdW5kZWZpbmVkIik7cmV0dXJuIHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQubW9kZWwoKS5tYWluU2VyaWVzKCl9X3dhdGNoZWRTeW1ib2xMaXN0ZW5lcihlKXt0aGlzLl9uZWVkQXBwbHlTeW1ib2woZSkmJiF0aGlzLl9tdXRlZCYmdGhpcy5fc2V0R3JvdXBTeW1ib2woZSl9X3VwZGF0ZVN5bWJvbEJ5UHJvcGVydHkoZSx0KXtjb25zdCBzPXRoaXMuX3N5bWJvbExvY2soKTtzJiZ0aGlzLl9uZWVkQXBwbHlTeW1ib2wodCkmJiF0aGlzLl9tdXRlZCYmdGhpcy5fc2V0R3JvdXBTeW1ib2wodCksKHN8fGU9PT10aGlzLl9ib3VuZENoYXJ0V2lkZ2V0KSYmdGhpcy53YXRjaGVkU3ltYm9sLnNldFZhbHVlKHQpfV93YXRjaGVkSW50ZXJ2YWxMaXN0ZW5lcihlKXtjb25zdCB0PWEuSW50ZXJ2YWwubm9ybWFsaXplKGUpO3QmJnRoaXMuX25lZWRBcHBseUludGVydmFsKHQpJiYhdGhpcy5fbXV0ZWQmJnRoaXMuX3NldEdyb3VwSW50ZXJ2YWwodCl9X3VwZGF0ZUludGVydmFsQnlQcm9wZXJ0eShlLHQpewpjb25zdCBzPXRoaXMuX2ludGVydmFsTG9jaygpLG49YS5JbnRlcnZhbC5ub3JtYWxpemUodCk7cyYmbiYmdGhpcy5fbmVlZEFwcGx5SW50ZXJ2YWwobikmJiF0aGlzLl9tdXRlZCYmdGhpcy5fc2V0R3JvdXBJbnRlcnZhbChuKSwoc3x8ZT09PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpJiZ0aGlzLndhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZShuPz90KX1fdXBkYXRlU2VyaWVzU3ltYm9sSW5mbygpe3RoaXMuc2VyaWVzU2hvcnRTeW1ib2wuc2V0VmFsdWUoKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0KS5nZXRTeW1ib2woITApKTtjb25zdCBlPXRoaXMubWFpblNlcmllcygpLnN5bWJvbEluZm8oKTtpZihlKXtjb25zdCB0PWUucHJvX25hbWV8fCExO3RoaXMucHJvU3ltYm9sLnNldFZhbHVlKHR8fHRoaXMud2F0Y2hlZFN5bWJvbC52YWx1ZSgpKSx0aGlzLmVuc3VyZWRQcm9TeW1ib2wuc2V0VmFsdWUodGhpcy5wcm9TeW1ib2wudmFsdWUoKSksZS5hbGlhc2VzJiZ0aGlzLnN5bWJvbE5hbWVzTGlzdC5zZXRWYWx1ZShlLmFsaWFzZXMpO2xldCBzPSgwLF8uYWxsQ2hhcnRTdHlsZXMpKCk7KCgwLGwuaXNDbG9zZUJhc2VkU3ltYm9sKShlKXx8dGhpcy5tYWluU2VyaWVzKCkuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmlzMVRpY2soKSkmJihzPXMuZmlsdGVyKChlPT4oMCxsLmlzU2luZ2xlVmFsdWVCYXNlZFN0eWxlKShlKSkpKSwiaGxjIj09PWUudmlzaWJsZV9wbG90c19zZXQmJihzPXMuZmlsdGVyKChlPT4oMCxsLmlzSExDQmFzZWRTdHlsZSkoZSl8fCgwLGwuaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGUpKGUpKSkpLHRoaXMud2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzLnNldFZhbHVlKHMpLHRoaXMud2F0Y2hlZEludHJhZGF5LnNldFZhbHVlKCEhZS5oYXNfaW50cmFkYXkpLHRoaXMud2F0Y2hlZFNlY29uZHMuc2V0VmFsdWUoISFlLmhhc19zZWNvbmRzKSx0aGlzLndhdGNoZWRUaWNrcy5zZXRWYWx1ZSghKDAsbC5pc0Nsb3NlQmFzZWRTeW1ib2wpKGUpJiYhIWVbImlzLXRpY2tiYXJzLWF2YWlsYWJsZSJdKSx0aGlzLndhdGNoZWRSYW5nZS5zZXRWYWx1ZSghKDAsbC5pc0Nsb3NlQmFzZWRTeW1ib2wpKGUpKTtjb25zdCBuPWUuZGF0YV9mcmVxdWVuY3k/ZS5kYXRhX2ZyZXF1ZW5jeTp2b2lkIDA7dGhpcy53YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24uc2V0VmFsdWUobil9ZWxzZSB0aGlzLndhdGNoZWRJbnRyYWRheS5zZXRWYWx1ZSghMSksdGhpcy53YXRjaGVkU2Vjb25kcy5zZXRWYWx1ZSghMSksdGhpcy53YXRjaGVkVGlja3Muc2V0VmFsdWUoITEpLHRoaXMud2F0Y2hlZFJhbmdlLnNldFZhbHVlKCExKSx0aGlzLm1haW5TZXJpZXMoKS5pc0ZhaWxlZCgpJiZ0aGlzLmVuc3VyZWRQcm9TeW1ib2wuc2V0VmFsdWUodGhpcy5wcm9TeW1ib2wudmFsdWUoKSl9X29uQ2hhcnRNb2RlbENyZWF0ZWQoZSl7aWYoIXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpdGhyb3cgbmV3IEVycm9yKCJDaGFydFdpZGdldCBpcyB1bmRlZmluZWQiKTt0aGlzLl9jaGFydFdpZGdldEJpbmRpbmdTdGF0ZT0yLHRoaXMud2F0Y2hlZFN5bWJvbC5zZXRWYWx1ZSh0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0LnN5bWJvbFdWKCkudmFsdWUoKSksdGhpcy53YXRjaGVkU3ltYm9sLnN1YnNjcmliZSh0aGlzLl93YXRjaGVkU3ltYm9sTGlzdGVuZXJCb3VuZCk7Y29uc3QgdD1lLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCk7dC5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVNlcmllc1N5bWJvbEluZm8pLHQuc3ltYm9sRXJyb3IoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVTZXJpZXNTeW1ib2xJbmZvKSxlLm1haW5TZXJpZXMoKS5vbkludGVydmFsQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVNlcmllc1N5bWJvbEluZm8pLHRoaXMuX3VwZGF0ZVNlcmllc1N5bWJvbEluZm8oKSx0aGlzLndhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZSh0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0LnJlc29sdXRpb25XVigpLnZhbHVlKCkpLHRoaXMud2F0Y2hlZEludGVydmFsLnN1YnNjcmliZSh0aGlzLl93YXRjaGVkSW50ZXJ2YWxMaXN0ZW5lckJvdW5kKSx0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0LnJlYWRPbmx5KCkmJih0aGlzLndhdGNoZWRTeW1ib2wud3JpdGVMb2NrPSEwKX1fY2hhcnRUb0JpbmQoKXtjb25zdCBlPXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjtyZXR1cm4gbnVsbD09PWU/bnVsbDplLmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCkubGlua2luZ0dyb3VwSW5kZXgoKS52YWx1ZSgpPT09dGhpcy5fZ3JvdXBJbmRleD9lLmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCk6bnVsbCE9PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQmJnRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQubGlua2luZ0dyb3VwSW5kZXgoKS52YWx1ZSgpPT09dGhpcy5fZ3JvdXBJbmRleD90aGlzLl9ib3VuZENoYXJ0V2lkZ2V0OmUuZ2V0QWxsKCkuZmluZCgoZT0+ZS5saW5raW5nR3JvdXBJbmRleCgpLnZhbHVlKCk9PT10aGlzLl9ncm91cEluZGV4KSk/P251bGx9X3N5bWJvbExvY2soKXtyZXR1cm4hIXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8ubG9jay5zeW1ib2wudmFsdWUoKX1faW50ZXJ2YWxMb2NrKCl7cmV0dXJuISF0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24/LmxvY2suaW50ZXJ2YWwudmFsdWUoKX1fY2hhcnRzRm9yTG9jayhlKXtyZXR1cm4oMD09PWU/dGhpcy5fc3ltYm9sTG9jaygpOnRoaXMuX2ludGVydmFsTG9jaygpKT8oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cykudmFsdWUoKTp0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0P1t0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0XTpbXX1fc2V0R3JvdXBTeW1ib2woZSl7dGhpcy5tdXRlKCEwKSx0aGlzLl9zZXRHcm91cFN5bWJvbENhbmNlbGxhdGlvblRva2VuLmNhbmNlbGxlZD0hMDtjb25zdCB0PXRoaXMuX3NldEdyb3VwU3ltYm9sQ2FuY2VsbGF0aW9uVG9rZW49e2NhbmNlbGxlZDohMX07KDAsCmkuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uKS5zZXRTeW1ib2woZSx0aGlzLl9ncm91cEluZGV4LCgwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5fYm91bmRDaGFydFdpZGdldCkpLmZpbmFsbHkoKCgpPT57aWYodGhpcy5fYm91bmRDaGFydFdpZGdldCYmIXQuY2FuY2VsbGVkKXtjb25zdCB0PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQubW9kZWwoKS5tYWluU2VyaWVzKCk7dC5zeW1ib2xTYW1lQXNDdXJyZW50KGUpfHwodGhpcy53YXRjaGVkU3ltYm9sLnNldFZhbHVlKHQuc3ltYm9sKCkpLHRoaXMucHJvU3ltYm9sLnNldFZhbHVlKHQucHJvU3ltYm9sKCkpKX19KSksdGhpcy5tdXRlKCExKX1fbmVlZEFwcGx5U3ltYm9sKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnRzRm9yTG9jaygwKSxzPXQuZmluZCgodD0+dC5oYXNNb2RlbCgpJiZ0Lm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbEluZm8oKSYmdC5tb2RlbCgpLm1haW5TZXJpZXMoKS5zeW1ib2xTYW1lQXNSZXNvbHZlZChlKSkpO2lmKHMpe2NvbnN0IGU9cy5tb2RlbCgpLm1haW5TZXJpZXMoKTtpZih0LmV2ZXJ5KCh0PT5lLnN5bWJvbFNhbWVBc1Jlc29sdmVkKHQuc3ltYm9sV1YoKS52YWx1ZSgpKSkpKXJldHVybiExfXJldHVybiB0LnNvbWUoKHQ9PnQuc3ltYm9sV1YoKS52YWx1ZSgpIT09ZSkpfV9zZXRHcm91cEludGVydmFsKGUpe3RoaXMubXV0ZSghMCksKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24pLnNldFJlc29sdXRpb24oZSx0aGlzLl9ncm91cEluZGV4KS5maW5hbGx5KCgoKT0+e2lmKHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpe2NvbnN0IHQ9dGhpcy5fYm91bmRDaGFydFdpZGdldC5yZXNvbHV0aW9uV1YoKS52YWx1ZSgpO2EuSW50ZXJ2YWwuaXNFcXVhbCh0LGUpfHx0aGlzLndhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZSh0KX19KSksdGhpcy5tdXRlKCExKX1fbmVlZEFwcGx5SW50ZXJ2YWwoZSl7cmV0dXJuIHRoaXMuX2NoYXJ0c0ZvckxvY2soMSkuc29tZSgodD0+IWEuSW50ZXJ2YWwuaXNFcXVhbCh0LnJlc29sdXRpb25XVigpLnZhbHVlKCksZSkpKX19Y29uc3QgVz1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLl93YXRjaGVkU3ltYm9scz1uZXcgby5XYXRjaGVkVmFsdWUoW10pLHRoaXMuX3dhdGNoZWRTeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX3Nlcmllc1Nob3J0U3ltYm9sPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLl9wcm9TeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX2Vuc3VyZWRQcm9TeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX3dhdGNoZWRJbnRlcnZhbD1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy5fd2F0Y2hlZEludHJhZGF5PW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkU2Vjb25kcz1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy5fd2F0Y2hlZFRpY2tzPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb249bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX3dhdGNoZWRSYW5nZT1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy5fd2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXM9bmV3IG8uV2F0Y2hlZFZhbHVlKFtdKSx0aGlzLl9zeW1ib2xOYW1lc0xpc3Q9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1udWxsLHRoaXMuX29uU3ltYm9sTGlua0JvdW5kPXRoaXMuX29uU3ltYm9sTGluay5iaW5kKHRoaXMpLHRoaXMuX3NlYXJjaENoYXJ0cz1udWxsLHRoaXMuX3NlYXJjaENoYXJ0c0xvYWREZWJvdW5jZWQ9bnVsbCx0aGlzLl9zZWxmRW1pdD0hMSx0aGlzLl9wcmV2ZW50RmVlZEJ5U3ltYm9sPSExLHRoaXMuX2ZlZWRCeVN5bWJvbERlYm91bmNlQ291bnRlcj0wLHRoaXMuX2xpbmtpbmdHcm91cHM9bmV3IE1hcCx0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXA9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cEluZGV4PW51bGwsdGhpcy5fdXBkYXRlTGlua2luZ0dyb3Vwcz0oKT0+eygwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uKS5hbGxMaW5raW5nR3JvdXBzKCkudmFsdWUoKS5mb3JFYWNoKChlPT50aGlzLl9saW5raW5nR3JvdXAoZSkpKSx0aGlzLl9saW5raW5nR3JvdXBzLmZvckVhY2goKGU9PmUudXBkYXRlQm91bmRDaGFydFdpZGdldCgpKSl9LHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC5zZXRWYWx1ZSh0aGlzLl9saW5raW5nR3JvdXAobnVsbCkpO2NvbnN0IGU9KGUsdCk9PntlLnN1YnNjcmliZSgoZT0+dCgpLnNldFZhbHVlKGUpKSx7Y2FsbFdpdGhMYXN0OiEwfSl9O2UodGhpcy5fd2F0Y2hlZFN5bWJvbHMsKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS53YXRjaGVkU3ltYm9scykpLGUodGhpcy5fd2F0Y2hlZFN5bWJvbCwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRTeW1ib2wpKSxlKHRoaXMuX3Nlcmllc1Nob3J0U3ltYm9sLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkuc2VyaWVzU2hvcnRTeW1ib2wpKSxlKHRoaXMuX3Byb1N5bWJvbCwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLnByb1N5bWJvbCkpLGUodGhpcy5fZW5zdXJlZFByb1N5bWJvbCwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLmVuc3VyZWRQcm9TeW1ib2wpKSxlKHRoaXMuX3dhdGNoZWRJbnRlcnZhbCwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRJbnRlcnZhbCkpLGUodGhpcy5fd2F0Y2hlZEludHJhZGF5LCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZEludHJhZGF5KSksZSh0aGlzLl93YXRjaGVkU2Vjb25kcywoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRTZWNvbmRzKSksCmUodGhpcy5fd2F0Y2hlZFRpY2tzLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZFRpY2tzKSksZSh0aGlzLl93YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24sKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS53YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24pKSxlKHRoaXMuX3dhdGNoZWRSYW5nZSwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRSYW5nZSkpLGUodGhpcy5fd2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zKSksZSh0aGlzLl93YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMsKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS53YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMpKSxlKHRoaXMuX3N5bWJvbE5hbWVzTGlzdCwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLnN5bWJvbE5hbWVzTGlzdCkpO2NvbnN0IHQ9ZT0+e3RoaXMuX3dhdGNoZWRTeW1ib2wuc2V0VmFsdWUoZS53YXRjaGVkU3ltYm9sLnZhbHVlKCkpLHRoaXMuX3Nlcmllc1Nob3J0U3ltYm9sLnNldFZhbHVlKGUuc2VyaWVzU2hvcnRTeW1ib2wudmFsdWUoKSksdGhpcy5fcHJvU3ltYm9sLnNldFZhbHVlKGUucHJvU3ltYm9sLnZhbHVlKCkpLHRoaXMuX2Vuc3VyZWRQcm9TeW1ib2wuc2V0VmFsdWUoZS5lbnN1cmVkUHJvU3ltYm9sLnZhbHVlKCkpLHRoaXMuX3dhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZShlLndhdGNoZWRJbnRlcnZhbC52YWx1ZSgpKSx0aGlzLl93YXRjaGVkSW50cmFkYXkuc2V0VmFsdWUoZS53YXRjaGVkSW50cmFkYXkudmFsdWUoKSksdGhpcy5fd2F0Y2hlZFNlY29uZHMuc2V0VmFsdWUoZS53YXRjaGVkU2Vjb25kcy52YWx1ZSgpKSx0aGlzLl93YXRjaGVkVGlja3Muc2V0VmFsdWUoZS53YXRjaGVkVGlja3MudmFsdWUoKSksdGhpcy5fd2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnNldFZhbHVlKGUud2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnZhbHVlKCkpLHRoaXMuX3dhdGNoZWRSYW5nZS5zZXRWYWx1ZShlLndhdGNoZWRSYW5nZS52YWx1ZSgpKSx0aGlzLl93YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMuc2V0VmFsdWUoZS53YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMudmFsdWUoKSksdGhpcy5fd2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzLnNldFZhbHVlKGUud2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzLnZhbHVlKCkpLHRoaXMuX3N5bWJvbE5hbWVzTGlzdC5zZXRWYWx1ZShlLnN5bWJvbE5hbWVzTGlzdC52YWx1ZSgpKX07dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnN1YnNjcmliZSh0KSx0KHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpKSwoMCx2LnNldE11dGVMaW5raW5nR3JvdXApKCgoZSx0KT0+eyJhbGwiPT09ZT90aGlzLl9saW5raW5nR3JvdXBzLmZvckVhY2goKGU9PmUubXV0ZSh0KSkpOnRoaXMuX2xpbmtpbmdHcm91cChlKS5tdXRlKHQpfSkpfWdldCBzeW1ib2xzKCl7cmV0dXJuIHRoaXMuX3dhdGNoZWRTeW1ib2xzfWdldCBzeW1ib2woKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFN5bWJvbH1nZXQgcHJvU3ltYm9sKCl7cmV0dXJuIHRoaXMuX3Byb1N5bWJvbC5yZWFkb25seSgpfXN5bWJvbFN5bmNFbmFibGVkKCl7cmV0dXJuISF0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24/LmxvY2suc3ltYm9sLnZhbHVlKCl9Z2V0IGVuc3VyZWRQcm9TeW1ib2woKXtyZXR1cm4gdGhpcy5fZW5zdXJlZFByb1N5bWJvbC5yZWFkb25seSgpfWdldCBzeW1ib2xOYW1lc0xpc3QoKXtyZXR1cm4gdGhpcy5fc3ltYm9sTmFtZXNMaXN0LnJlYWRvbmx5KCl9Z2V0IHNlcmllc1Nob3J0U3ltYm9sKCl7cmV0dXJuIHRoaXMuX3Nlcmllc1Nob3J0U3ltYm9sLnJlYWRvbmx5KCl9Z2V0IGludGVydmFsKCl7cmV0dXJuIHRoaXMuX3dhdGNoZWRJbnRlcnZhbH1pbnRlcnZhbFN5bmNFbmFibGVkKCl7cmV0dXJuISF0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24/LmxvY2suaW50ZXJ2YWwudmFsdWUoKX1nZXQgaW50cmFkYXkoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZEludHJhZGF5LnJlYWRvbmx5KCl9Z2V0IHNlY29uZHMoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFNlY29uZHMucmVhZG9ubHkoKX1nZXQgdGlja3MoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFRpY2tzLnJlYWRvbmx5KCl9Z2V0IHJhbmdlKCl7cmV0dXJuIHRoaXMuX3dhdGNoZWRSYW5nZS5yZWFkb25seSgpfWdldCBzdXBwb3J0ZWRSZXNvbHV0aW9ucygpe3JldHVybiB0aGlzLl93YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMucmVhZG9ubHkoKX1nZXQgc3VwcG9ydGVkQ2hhcnRTdHlsZXMoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzLnJlYWRvbmx5KCl9Z2V0IHByZXZlbnRGZWVkQnlTeW1ib2woKXtyZXR1cm4gdGhpcy5fcHJldmVudEZlZWRCeVN5bWJvbH1nZXQgZGF0YUZyZXF1ZW5jeVJlc29sdXRpb24oKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnJlYWRvbmx5KCl9YWN0aXZlTGlua2luZ0dyb3VwKCl7cmV0dXJuIHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC5yZWFkb25seSgpfWdldENoYXJ0V2lkZ2V0KCl7cmV0dXJuIHRoaXMuYWN0aXZlTGlua2luZ0dyb3VwKCkudmFsdWUoKS5ib3VuZENoYXJ0V2lkZ2V0KCl9YmluZFRvQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKGUpe3RoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8ub25BYm91dFRvQmVEZXN0cm95ZWQudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fdW5iaW5kRnJvbUNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1lLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5vbkFib3V0VG9CZURlc3Ryb3llZC5zdWJzY3JpYmUodGhpcyx0aGlzLl91bmJpbmRGcm9tQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKSwKdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmFsbExpbmtpbmdHcm91cHMoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTGlua2luZ0dyb3VwcyksdGhpcy5fdXBkYXRlTGlua2luZ0dyb3VwcygpLHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cEluZGV4PWUuYWN0aXZlTGlua2luZ0dyb3VwKCkuc3Bhd24oKSx0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXBJbmRleC5zdWJzY3JpYmUoKGU9Pnt0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAuc2V0VmFsdWUodGhpcy5fbGlua2luZ0dyb3VwKGUpKX0pLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9saW5raW5nR3JvdXBzLmZvckVhY2goKHQ9PnQuYmluZFRvQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKGUpKSl9YmluZFRvU2VhcmNoQ2hhcnRzKGUpe3RoaXMudW5iaW5kRnJvbVNlYXJjaENoYXJ0cygpLHRoaXMuX3NlYXJjaENoYXJ0cz1lLGUub25TZWFyY2hCeVN5bWJvbC5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNlYXJjaEJ5U3ltYm9sKSxlLmxvYWRpbmdTeW1ib2wuc3Vic2NyaWJlKChlPT57ITE9PT1lJiYodGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyPTApfSkpLHRoaXMuX3dhdGNoZWRTeW1ib2wuc3Vic2NyaWJlKHRoaXMuX29uU3ltYm9sTGlua0JvdW5kKX11bmJpbmRGcm9tU2VhcmNoQ2hhcnRzKCl7dGhpcy5fc2VhcmNoQ2hhcnRzJiYodGhpcy5fc2VhcmNoQ2hhcnRzLm9uU2VhcmNoQnlTeW1ib2wudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNlYXJjaEJ5U3ltYm9sKSx0aGlzLl93YXRjaGVkU3ltYm9sLnVuc3Vic2NyaWJlKHRoaXMuX29uU3ltYm9sTGlua0JvdW5kKSx0aGlzLl9zZWFyY2hDaGFydHM9bnVsbCl9c2V0UHJldmVudEZlZWRCeVN5bWJvbChlKXt0aGlzLl9wcmV2ZW50RmVlZEJ5U3ltYm9sPWV9c2V0U3ltYm9sQW5kTG9nSW5pdGlhdG9yKGUsdCxzLG4saSl7Y29uc3Qgcj12b2lkIDAhPT1pP3RoaXMuX2xpbmtpbmdHcm91cChpLmxpbmtpbmdHcm91cEluZGV4KCkudmFsdWUoKSk6dGhpcy5hY3RpdmVMaW5raW5nR3JvdXAoKS52YWx1ZSgpO3ZhciBvLGEsbCx1OyhyLndhdGNoZWRTeW1ib2wudmFsdWUoKSE9PWV8fHMpJiYody5sb2dJbmZvKGBDaGFuZ2UgbGlua2luZyBzeW1ib2wgdG8gJHtlfSwgaW5pdGlhdG9yOiAke3R9YCksci53YXRjaGVkU3ltYm9sLnNldFZhbHVlKGUscyksbnx8bnVsbD09PXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbnx8KG89ci5tYWluU2VyaWVzKCksYT10aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24ubGF5b3V0LnZhbHVlKCksbD10aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24ubWV0YUluZm8udWlkLnZhbHVlKCl8fCIiLHU9dCx3aW5kb3cudXNlci5kb19ub3RfdHJhY2t8fG8uc3ltYm9sUmVzb2x2aW5nQWN0aXZlKCkuc3Vic2NyaWJlKChlPT57aWYoZSlyZXR1cm47Y29uc3QgdD1vLnN5bWJvbEluZm8oKTt0JiYoMCxwLmdldFRyYWNrZXIpKCkudGhlbigoZT0+e251bGwhPT1lJiZlLnRyYWNrQ2hhcnRTeW1ib2xzKHtzeW1ib2xOYW1lOnQucHJvX25hbWUsc3ltYm9sVHlwZTp0LnR5cGUscmVzb2x1dGlvbjpvLmludGVydmFsKCksbGF5b3V0VHlwZTphLGNoYXJ0SWQ6bCxjaGFydFN0eWxlczp5LlNUWUxFX1NIT1JUX05BTUVTW28uc3R5bGUoKV0sb3BlblNvdXJjZTp1LHBsYXRmb3JtOigwLGIuZ2V0UGxhdGZvcm0pKCksaXNFeHBlcnQ6d2luZG93LnVzZXIuZGVjbGFyZWRfc3RhdHVzPT09bS5Vc2VyU3RhdHVzLlByb30pfSkpfSkse29uY2U6ITB9KSkpfXNldEludGVydmFsQW5kTG9nSW5pdGlhdG9yKGUsdCxzLG4pe2NvbnN0IGk9dm9pZCAwIT09bj90aGlzLl9saW5raW5nR3JvdXAobi5saW5raW5nR3JvdXBJbmRleCgpLnZhbHVlKCkpOnRoaXMuYWN0aXZlTGlua2luZ0dyb3VwKCkudmFsdWUoKTthLkludGVydmFsLmlzRXF1YWwoaS53YXRjaGVkSW50ZXJ2YWwudmFsdWUoKSxlKXx8KHcubG9nSW5mbyhgQ2hhbmdlIGxpbmtpbmcgaW50ZXJ2YWwgdG8gJHtlfSwgaW5pdGlhdG9yOiAke3R9YCksc3x8KDAsUy50cmFja0ludGVydmFsQ2hhbmdpbmcpKGUsdCksaS53YXRjaGVkSW50ZXJ2YWwuc2V0VmFsdWUoZSkpfV9vblNlYXJjaEJ5U3ltYm9sKGUpe2lmKCFlLnJlc29sdmVkX3N5bWJvbCl0aHJvdyBuZXcgRXJyb3IoIm5vIHJlc29sdmVkX3N5bWJvbCIpO3RoaXMuX3NlbGZFbWl0PSEwLHRoaXMuX3dhdGNoZWRTeW1ib2wuc2V0VmFsdWUoZS5yZXNvbHZlZF9zeW1ib2wpLHRoaXMuX3NlbGZFbWl0PSExfV9vblN5bWJvbExpbmsoZSl7aWYoIXRoaXMuX3NlbGZFbWl0KXtpZighdGhpcy5fc2VhcmNoQ2hhcnRzKXtjb25zdCBlPSJObyBzZWFyY2ggY2hhcnRzIGRlZmluZWQiO3Rocm93IHcubG9nRXJyb3IoZSksbmV3IEVycm9yKGUpfXRoaXMuX3ByZXZlbnRGZWVkQnlTeW1ib2x8fHRoaXMuX2xvYWRTZWFyY2hDaGFydHMoZSl9fV9sb2FkU2VhcmNoQ2hhcnRzKGUpe2lmKCF0aGlzLl9zZWFyY2hDaGFydHMpe2NvbnN0IGU9Ik5vIHNlYXJjaCBjaGFydHMgZGVmaW5lZCI7dGhyb3cgdy5sb2dFcnJvcihlKSxuZXcgRXJyb3IoZSl9aWYodGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZClyZXR1cm4gdm9pZCh0aGlzLl9mZWVkQnlTeW1ib2xEZWJvdW5jZUNvdW50ZXI8MTAwJiYodGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyKyssdGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZChlKSkpO2NvbnN0IHQ9ZT0+dGhpcy5fc2VhcmNoQ2hhcnRzPyghMD09PXRoaXMuX3NlYXJjaENoYXJ0cy5sb2FkaW5nU3ltYm9sLnZhbHVlKCk/dGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyPDEwMCYmKHRoaXMuX2ZlZWRCeVN5bWJvbERlYm91bmNlQ291bnRlcisrLHRoaXMuX3NlYXJjaENoYXJ0c0xvYWREZWJvdW5jZWQ9KDAsbi5kZWZhdWx0KSh0LDJlMyksdGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZChlKSk6dGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZD1udWxsLHRoaXMuX3NlYXJjaENoYXJ0cy5mZWVkQnlTeW1ib2wuY2FsbCh0aGlzLl9zZWFyY2hDaGFydHMsZSkpOigpPT57fQo7ITA9PT10aGlzLl9zZWFyY2hDaGFydHMubG9hZGluZ1N5bWJvbC52YWx1ZSgpP3RoaXMuX2ZlZWRCeVN5bWJvbERlYm91bmNlQ291bnRlcjwxMDAmJih0aGlzLl9mZWVkQnlTeW1ib2xEZWJvdW5jZUNvdW50ZXIrKyx0aGlzLl9zZWFyY2hDaGFydHNMb2FkRGVib3VuY2VkPSgwLG4uZGVmYXVsdCkodCwyZTMpLHRoaXMuX3NlYXJjaENoYXJ0c0xvYWREZWJvdW5jZWQoZSkpOnRoaXMuX3NlYXJjaENoYXJ0cy5mZWVkQnlTeW1ib2woZSl9X2xpbmtpbmdHcm91cChlKXtsZXQgdD10aGlzLl9saW5raW5nR3JvdXBzLmdldChlKTtpZih2b2lkIDA9PT10KXtjb25zdCBzPXt3YXRjaGVkU3ltYm9sczp0aGlzLl93YXRjaGVkU3ltYm9scyx3YXRjaGVkU3ltYm9sOnRoaXMuX3dhdGNoZWRTeW1ib2wsc2VyaWVzU2hvcnRTeW1ib2w6dGhpcy5fc2VyaWVzU2hvcnRTeW1ib2wscHJvU3ltYm9sOnRoaXMuX3Byb1N5bWJvbCxlbnN1cmVkUHJvU3ltYm9sOnRoaXMuX2Vuc3VyZWRQcm9TeW1ib2wsd2F0Y2hlZEludGVydmFsOnRoaXMuX3dhdGNoZWRJbnRlcnZhbCx3YXRjaGVkSW50cmFkYXk6dGhpcy5fd2F0Y2hlZEludHJhZGF5LHdhdGNoZWRTZWNvbmRzOnRoaXMuX3dhdGNoZWRTZWNvbmRzLHdhdGNoZWRUaWNrczp0aGlzLl93YXRjaGVkVGlja3Msd2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uOnRoaXMuX3dhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbix3YXRjaGVkUmFuZ2U6dGhpcy5fd2F0Y2hlZFJhbmdlLHdhdGNoZWRTdXBwb3J0ZWRSZXNvbHV0aW9uczp0aGlzLl93YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMsd2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzOnRoaXMuX3dhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcyxzeW1ib2xOYW1lc0xpc3Q6dGhpcy5fc3ltYm9sTmFtZXNMaXN0fTt0PW5ldyBrKGUscywoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpKSksdGhpcy5fbGlua2luZ0dyb3Vwcy5zZXQoZSx0KSx0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24mJnQuYmluZFRvQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbil9cmV0dXJuIHR9X3VuYmluZEZyb21DaGFydFdpZGdldENvbGxlY3Rpb24oKXtudWxsIT09dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uJiYodGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwSW5kZXg/LmRlc3Ryb3koKSx0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXBJbmRleD1udWxsLHRoaXMuX2xpbmtpbmdHcm91cHMuZm9yRWFjaCgoZT0+ZS51bmJpbmRGcm9tQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkpKSx0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24uYWxsTGlua2luZ0dyb3VwcygpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUxpbmtpbmdHcm91cHMpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1udWxsKX19O3tjb25zdCBlPSgwLGQuZ2V0RnJlc2hJbml0RGF0YSkoKS5zeW1ib2xJbmZvLHQ9ZT9lLnByb19zeW1ib2w6aC5nZXRWYWx1ZSgiZWRpdGNoYXJ0Lm1vZGVsLnN5bWJvbCIsKDAsZy5nZXREZWZhdWx0U3ltYm9sKSgpKTtXLnNldFN5bWJvbEFuZExvZ0luaXRpYXRvcih0LCJpbml0aWFsIGRhdGEiLCExLCEwKX13aW5kb3cuVHJhZGluZ1ZpZXdBcGl8fCh3aW5kb3cuVHJhZGluZ1ZpZXdBcGk9e2xpbmtpbmc6V30pfSwyMDkzOShlLHQscyl7bGV0IG47ZnVuY3Rpb24gaShlLHQpe24/LihlLHQpfWZ1bmN0aW9uIHIoZSl7bj1lfXMuZCh0LHttdXRlTGlua2luZ0dyb3VwOigpPT5pLHNldE11dGVMaW5raW5nR3JvdXA6KCk9PnJ9KX0sMzU1MTIzKGUsdCxzKXtzLmQodCx7c3BhcnNlVXNlcnNUcmFja2luZ0NvZWZmaWNpZW50OigpPT5hfSk7dmFyIG49cyg5MzIzNjUpO2NvbnN0IGk9InNwYXJzZVVzZXJzVHJhY2tpbmdDb2VmZmljaWVudCIscj0oMCxzKDE2MDI5NikuaXNQcm9kKSgpP251bGw6bi5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGkpO2xldCBvPW51bGwhPT1yP3BhcnNlRmxvYXQocik6bnVsbDtudWxsIT09byYmKCFOdW1iZXIuaXNGaW5pdGUobyl8fG88MHx8bz4xKSYmKG89bnVsbCxuLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oaSkpO2NvbnN0IGE9bz8/LjF9LDM4MzM1MShlLHQscyl7cy5kKHQse3RyYWNrSW50ZXJ2YWxDaGFuZ2luZzooKT0+b30pO3ZhciBuPXMoODU2MTk2KSxpPXMoMzYyMjM5KSxyPXMoMzU1MTIzKTtmdW5jdGlvbiBvKGUsdCl7d2luZG93LnVzZXIuZG9fbm90X3RyYWNrfHwoMCxuLnNob3VsZEFmZmVjdFVzZXIpKCJJbnRlcnZhbENoYW5naW5nIixyLnNwYXJzZVVzZXJzVHJhY2tpbmdDb2VmZmljaWVudCkmJigwLGkuZ2V0VHJhY2tlcikoKS50aGVuKChzPT57bnVsbCE9PXMmJnMudHJhY2tDaGFydEludGVydmFsQ2hhbmdpbmcoZSx0KX0pKX19LDcwMTUwNihlLHQscyl7cy5kKHQse2FsbENoYXJ0U3R5bGVzOigpPT5yfSk7dmFyIG49cyg5MzAyMzEpO2NvbnN0IGk9KDAscygzMTg5NzQpLm9uV2lkZ2V0KSgpO2Z1bmN0aW9uIHIoKXtyZXR1cm4gZnVuY3Rpb24oKXtjb25zdCBlPVswLDEsOSwxMywyLDE0LDE1LDMsMTYsMTBdO3JldHVybiBlLnB1c2goMTIpLGl8fGUucHVzaCgxNyksaXx8ZS5wdXNoKDE4KSxpfHxlLnB1c2goMjApLGl8fGUucHVzaCgxOSksZX0oKS5jb25jYXQoZnVuY3Rpb24oKXtjb25zdCBlPVs4XTtyZXR1cm4oMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiKSYmKGUucHVzaCg0LDcsNSw2KSxlLnB1c2goMTEpKSxlfSgpKX19LDMxNDkxNChlLHQscyl7cy5kKHQse2V4dHJhY3RTeW1ib2xOYW1lRnJvbVN5bWJvbEluZm86KCk9PnV9KTt2YXIgbj1zKDg1Mjk4MCksaT1zKDkzMDIzMSk7Y29uc3Qgcj0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJwYXlfYXR0ZW50aW9uX3RvX3RpY2tlcl9ub3Rfc3ltYm9sIiksbz0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydGluZ19saWJyYXJ5X3NpbmdsZV9zeW1ib2xfcmVxdWVzdCIpLGE9KDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXNlX3RpY2tlcl9vbl9zeW1ib2xfaW5mb191cGRhdGUiKSxsPSgwLAppLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyIpLHU9bi5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvLmJpbmQobnVsbCx7cGF5QXR0ZW50aW9uVG9UaWNrZXJOb3RTeW1ib2w6cixjaGFydGluZ0xpYnJhcnlTaW5nbGVTeW1ib2xSZXF1ZXN0Om8sdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOmEsdXBwZXJjYXNlSW5zdHJ1bWVudE5hbWVzOmx9KX0sNTgwMzcoZSx0LHMpe3ZhciBuLGk7IWZ1bmN0aW9uKGUpe2VbZS5PZmZsaW5lPTBdPSJPZmZsaW5lIixlW2UuUmVzb2x2aW5nPTFdPSJSZXNvbHZpbmciLGVbZS5Mb2FkaW5nPTJdPSJMb2FkaW5nIixlW2UuUmVhZHk9M109IlJlYWR5IixlW2UuSW52YWxpZFN5bWJvbD00XT0iSW52YWxpZFN5bWJvbCIsZVtlLlNuYXBzaG90PTVdPSJTbmFwc2hvdCIsZVtlLkVPRD02XT0iRU9EIixlW2UuUHVsc2U9N109IlB1bHNlIixlW2UuRGVsYXllZD04XT0iRGVsYXllZCIsZVtlLkRlbGF5ZWRTdGVhbWluZz05XT0iRGVsYXllZFN0ZWFtaW5nIixlW2UuTm9CYXJzPTEwXT0iTm9CYXJzIixlW2UuUmVwbGF5PTExXT0iUmVwbGF5IixlW2UuRXJyb3I9MTJdPSJFcnJvciIsZVtlLkNhbGN1bGF0aW9uRXJyb3I9MTNdPSJDYWxjdWxhdGlvbkVycm9yIixlW2UuVW5zdXBwb3J0ZWRSZXNvbHV0aW9uPTE0XT0iVW5zdXBwb3J0ZWRSZXNvbHV0aW9uIn0obnx8KG49e30pKSxmdW5jdGlvbihlKXtlW2UuTWFya2Vycz0wXT0iTWFya2VycyIsZVtlLlN0ZXBsaW5lPTFdPSJTdGVwbGluZSIsZVtlLlNpbXBsZT0yXT0iU2ltcGxlIn0oaXx8KGk9e30pKX0sNzk4MzgoZSx0LHMpe3MuZCh0LHtTRVJJRVNfU1RBVFVTX1RFWFQ6KCk9PkMsU1RZTEVfU0hPUlRfTkFNRVM6KCk9PmssU1lNQk9MX1NUUklOR19EQVRBOigpPT5WLGNoYXJ0U3R5bGVzV2l0aEF0dGFjaGVkU3R1ZGllczooKT0+TCxpc0NoYXJ0U3R5bGVTdHVkeUluZm9Db21wbGV4OigpPT5XLHNlcmllc0xvYWRpbmdTdGF0dXNlczooKT0+ZixzZXJpZXNSZWFkeVN0YXR1c2VzOigpPT53fSk7cyg1ODAzNyk7dmFyIG49cyg3Mjg0MzYpLGk9cyg3Nzc2NjEpLHI9cyg1NTAzOTMpO2NvbnN0IG89MCxhPTEsbD0yLHU9MyxjPTQsaD01LGQ9Nix5PTcsYj04LG09OSxwPTEwLFM9MTEsXz0xMixnPTEzLHY9MTQsdz1uZXcgU2V0KFszLDYsNyw4LDksMTFdKSxmPW5ldyBTZXQoWzEsMl0pLEM9e1tvXToiY29ubmVjdGluZyIsW2FdOiJsb2FkaW5nIixbbF06ImxvYWRpbmciLFt1XToicmVhbHRpbWUiLFtjXToiaW52YWxpZCIsW2hdOiJzbmFwc2hvdCIsW2RdOiJlbmRvZmRheSIsW3ldOiJlbmRvZmRheSIsW2JdOiJkZWxheWVkIixbbV06ImRlbGF5ZWRfc3RyZWFtaW5nIixbcF06ImZvcmJpZGRlbiIsW1NdOiJyZXBsYXkiLFtfXToiZXJyb3IiLFtnXToiY2FsY3VsYXRpb25fZXJyb3IiLFt2XToidW5zdXBwb3J0ZWRfcmVzb2x1dGlvbiJ9LGs9ezA6ImJhciIsMToiY2FuZGxlIiw5OiJob2xsb3dDYW5kbGUiLDI6ImxpbmUiLDE0OiJsaW5lV2l0aE1hcmtlcnMiLDE1OiJzdGVwbGluZSIsMzoiYXJlYSIsMTY6ImhsY0FyZWEiLDQ6InJlbmtvIiw3OiJwYiIsNToia2FnaSIsNjoicG5mIiw4OiJoYSIsMTA6ImJhc2VsaW5lIiwxMToicmFuZ2UiLDEyOiJoaWxvIiwxMzoiY29sdW1uIiwxNzoidm9sRm9vdHByaW50IiwxODoidHBvIiwxOToidm9sQ2FuZGxlcyIsMjA6InN2cCIsMjE6ImhsY0JhcnMifTtmdW5jdGlvbiBXKGUpe3JldHVybiJ2YXJpYW50cyJpbiBlfWNvbnN0IEk9W3t0eXBlOmkuc3R1ZHlUcG9QcmVyaW9kaWNJZCxiYXNpY1N0dWR5VmVyc2lvbjoxMDR9LHt0eXBlOmkuc3R1ZHlUcG9TZXNzaW9uc0lkLGJhc2ljU3R1ZHlWZXJzaW9uOjEwNH1dLFY9ezQ6e3R5cGU6IkJhclNldFJlbmtvQHR2LXByb3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjczfSw3Ont0eXBlOiJCYXJTZXRQcmljZUJyZWFrQHR2LXByb3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjM0fSw1Ont0eXBlOiJCYXJTZXRLYWdpQHR2LXByb3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjczfSw2Ont0eXBlOiJCYXJTZXRQbkZAdHYtcHJvc3R1ZGllcyIsYmFzaWNTdHVkeVZlcnNpb246NzN9LDg6e3R5cGU6IkJhclNldEhlaWtlbkFzaGlAdHYtYmFzaWNzdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjo2MH0sMTE6e3R5cGU6IkJhclNldFJhbmdlQHR2LWJhc2ljc3R1ZGllcyIsYmFzaWNTdHVkeVZlcnNpb246NzJ9LDE3Ont0eXBlOm4uc3R1ZHlWb2xGb290cHJpbnRJZCxiYXNpY1N0dWR5VmVyc2lvbjoxMDR9LDE4Ont2YXJpYW50czpJLHNlbGVjdG9yOmU9Pntjb25zdCB0PWU7cmV0dXJuIkRheSI9PT10LnBlcmlvZCYmMT09PXQucGVyaW9kc051bT9JWzFdOklbMF19fSwyMDp7dHlwZTpyLnN0dWR5VmJQU2Vzc2lvbnNJZCxiYXNpY1N0dWR5VmVyc2lvbjoxMjZ9fSxMPS9eKDc5Nzk1fDk0Mzg5KSQvLnRlc3Qocy5qKT9bMTcsMTgsMjBdOm51bGx9LDEyODk5OChlLHQscyl7aWYocy5kKHQse2FjdHVhbFN5bWJvbDooKT0+d2UsY2hhcnRTdHlsZVN0dWR5SWQ6KCk9PiQsY3JlYXRlU2VyaWVzRm9ybWF0dGVyOigpPT5ZLGRpc3BsYXllZFN5bWJvbEV4Y2hhbmdlOigpPT52ZSxkaXNwbGF5ZWRTeW1ib2xOYW1lOigpPT5nZSxleHRyYWN0TGluZVRvb2xTeW1ib2xGcm9tU3ltYm9sSW5mbzooKT0+YmUsZ2V0Q2hhcnRTdHlsZUJ5UmVzb2x1dGlvbjooKT0+cSxnZXREZWZhdWx0U3R5bGU6KCk9Pk8sZ2V0TGFzdFVzZWRNZXRyaWM6KCk9PlUsZ2V0TGFzdFVzZWRSYXdEYXRhU3R5bGU6KCk9PlAsZ2V0TGFzdFVzZWRTaW5nbGVWYWx1ZUJhc2VkU3R5bGU6KCk9PkEsZ2V0TGFzdFVzZWRTdHlsZTooKT0+TSxnZXRTZXJpZXNEaXNwbGF5RXJyb3JXVjooKT0+eGUsZ2V0U2VyaWVzUHJpY2VGb3JtYXR0aW5nU3RhdGU6KCk9PnosZ2V0U291cmNlRm9yRWNvbm9teVN5bWJvbDooKT0+U2UsZ2V0U3ltYm9sRGVsYXlTZWNvbmRzOigpPT5EZSxnZXRTeW1ib2xMaXN0ZWRFeGNoYW5nZTooKT0+UmUsZ2V0U3ltYm9sVHJhZGVkRXhjaGFuZ2U6KCk9PlRlLGdldFRyYW5zbGF0ZWRDaGFydFN0eWxlTmFtZTooKT0+aywKaGFzVm9sdW1lOigpPT5MZSxpc0Nsb3NlQmFzZWRTeW1ib2w6KCk9PldlLGlzQ29udmVydGVkVG9PdGhlckN1cnJlbmN5OigpPT5aLGlzQ29udmVydGVkVG9PdGhlck1ldHJpYzooKT0+b2UsaXNDb252ZXJ0ZWRUb090aGVyVW5pdDooKT0+cmUsaXNFY29ub21pY1N5bWJvbDooKT0+QmUsaXNGdXR1cmVDb250aW51b3VzU3ltYm9sV2l0aEJhY2thanVzdG1lbnQ6KCk9PkZlLGlzRnV0dXJlc0NvbnRyYWN0U3ltYm9sOigpPT5FZSxpc0hMQ0Jhc2VkU3R5bGU6KCk9PkYsaXNNZWFzdXJlVW5pdFN5bWJvbDooKT0+SWUsaXNNZXRyaWNBY3RpdmU6KCk9PmFlLGlzUHJpY2VTb3VyY2VTdHlsZTooKT0+SCxpc1JhbmdlQmFzZWRTdHlsZTooKT0+SSxpc1JhbmdlU3R5bGU6KCk9PkwsaXNSYXdEYXRhU3R5bGU6KCk9PkUsaXNSZWd1bGFyU2Vzc2lvbklkOigpPT5DZSxpc1JlcXVpcmluZ1Jlc3RhcnRTZXJpZXNTdHlsZXM6KCk9PlcsaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGU6KCk9PlQsaXNTcHJlYWRTeW1ib2xXaXRoTWFueUxlZ3M6KCk9PkdlLGlzU3RvY2syNGhTZXNzaW9uSWQ6KCk9PmtlLGlzU3R5bGVTdXBwb3J0ZWRGb3JSZXBsYXk6KCk9PkcsaXNUaW1lQmFzZWRTdHlsZTooKT0+Qixpc1ZhbGlkU3R5bGU6KCk9PlIsbWVhc3VyZVVuaXRJZDooKT0+VmUscHJlcGFyZVByaWNlQXhpc1Byb3BlcnRpZXM6KCk9PmoscHJvU3ltYm9sOigpPT5mZSxzZXRMYXN0VXNlZE1ldHJpYzooKT0+TixzZXRMYXN0VXNlZFJhd0RhdGFTdHlsZTooKT0+RCxzZXRMYXN0VXNlZFN0eWxlOigpPT54LHN0eWxlQ2hhbmdlUmVxdWlyZXNSZXN0YXJ0OigpPT5WLHN5bWJvbEJhc2VDdXJyZW5jeTooKT0+USxzeW1ib2xDdXJyZW5jeTooKT0+WCxzeW1ib2xDdXJyZW5jeUNvbnZlcnRpYmxlOigpPT5LLHN5bWJvbEhhc0Vjb25vbWljRXZlbnRzOigpPT55ZSxzeW1ib2xIYXNFbGVjdHJvbmljU2Vzc2lvbjooKT0+aGUsc3ltYm9sSGFzTmlnaHRNYXJrZXQ6KCk9PmNlLHN5bWJvbEhhc1ByZU9yUG9zdE1hcmtldDooKT0+dWUsc3ltYm9sSGFzU2V2ZXJhbFNlc3Npb25zOigpPT5kZSxzeW1ib2xNZXRyaWM6KCk9Pm5lLHN5bWJvbE9yaWdpbmFsQ3VycmVuY3k6KCk9Pkosc3ltYm9sT3JpZ2luYWxNZXRyaWM6KCk9PmllLHN5bWJvbE9yaWdpbmFsVW5pdDooKT0+c2Usc3ltYm9sVGl0bGU6KCk9Pl9lLHN5bWJvbFRpdGxlU2VwYXJhdG9yOigpPT5wZSxzeW1ib2xUb1NhdmVJblN0YXRlOigpPT5tZSxzeW1ib2xVbml0OigpPT50ZSxzeW1ib2xVbml0Q29udmVydGlibGVHcm91cHNJZkV4aXN0OigpPT5sZX0pLC9eKDc5Nzk1fDk0Mzg5KSQvLnRlc3Qocy5qKSl2YXIgbj1zKDk1MjkwMCk7aWYoL14oNzk3OTV8OTQzODkpJC8udGVzdChzLmopKXZhciBpPXMoMjU0NjczKTt2YXIgcj1zKDE4NTI3MSksbz1zKDkzMDIzMSksYT1zKDkzMDU2NiksbD1zKDMxODk3NCksdT1zKDE1NjgyOSksYz1zKDc5ODM4KSxoPXMoNzU1NjI3KSxkPXMoOTg0Mzc2KSx5PXMoMTI1MjE4KTtpZigvXig3OTc5NXw5NDM4OSkkLy50ZXN0KHMuaikpdmFyIGI9cyg1OTY3MDYpO2lmKC9eKDc5Nzk1fDk0Mzg5KSQvLnRlc3Qocy5qKSl2YXIgbT1zKDI0MTk1Nik7dmFyIHA9cygzMTQ5MTQpO2NvbnN0IFM9KDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXBwZXJjYXNlX2luc3RydW1lbnRfbmFtZXMiKSxfPSgwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfb2JqZWN0X3RyZWVfYW5kX3ByaWNlX3NjYWxlX2V4Y2hhbmdlX2xhYmVsIik7dmFyIGc7IWZ1bmN0aW9uKGUpe2UuTGFzdFVzZWRTdHlsZUtleT0iY2hhcnQubGFzdFVzZWRTdHlsZSIsZS5MYXN0VXNlZFNpbmdsZVZhbHVlQmFzZWRTdHlsZT0iY2hhcnQubGFzdFVzZWRTaW5nbGVWYWx1ZUJhc2VkU3R5bGUiLGUuTGFzdFVzZWRSYXdEYXRhU3R5bGU9ImNoYXJ0LnJhd0RhdGFTdHlsZSIsZS5MYXN0VXNlZE1ldHJpYz0iY2hhcnQubGFzdFVzZWRNZXRyaWMifShnfHwoZz17fSkpO2NvbnN0IHY9L14oNzk3OTV8OTQzODkpJC8udGVzdChzLmopP1s0LDUsNiw3LDhdOm51bGwsdz0vXig3OTc5NXw5NDM4OSkkLy50ZXN0KHMuaik/WzQsNSw2LDcsMTFdOm51bGwsZj0vXig3OTc5NXw5NDM4OSkkLy50ZXN0KHMuaik/WzAsMSw5LDE5LDIsMTQsMTUsMywxNiwyMSwxMCw4LDEyLDEzLDE4LDE3LDIwXTpudWxsLEM9L14oNzk3OTV8OTQzODkpJC8udGVzdChzLmopP1syLDE0LDE1LDEwLDMsMTMsMThdOm51bGw7ZnVuY3Rpb24gayhlKXtyZXR1cm57MDpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDk0MTYyOSkpLDE6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scygxMTg0OTEpKSwyOnIudChudWxsLHtjb250ZXh0OiJDaGFydCBzdHlsZSJ9LHMoMjEwNDk5KSksMTQ6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scygxODYxNDcpKSwxNTpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDkxNjE0OCkpLDM6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg3OTYwOTMpKSwxNjpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDk2Nzg0MSkpLDk6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scygzMzE4MjQpKSwxMDpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDUyNTMzMSkpLDEyOnIudChudWxsLHtjb250ZXh0OiJDaGFydCBzdHlsZSJ9LHMoOTUyODEwKSksMTM6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg2MTczNDApKSw0OnIudChudWxsLHtjb250ZXh0OiJDaGFydCBzdHlsZSJ9LHMoNDYxNzM4KSksNzpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDMwNzQzNikpLDU6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg0MTM0MykpLDY6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg4NjcwMjEpKSwxMTpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDE4ODM1MikpLDg6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg4MzU1NDMpKSwxNzpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDIwMTA3MykpLAoxODpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDExNzk4NCkpLDE5OnIudChudWxsLHtjb250ZXh0OiJDaGFydCBzdHlsZSJ9LHMoODkyMzc1KSksMjA6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg2ODc5NTEpKSwyMTpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDY4MzAwKSl9W2VdfWZ1bmN0aW9uIFcoZSl7cmV0dXJuLTEhPT12LmluZGV4T2YoZSl9ZnVuY3Rpb24gSShlKXtyZXR1cm4tMSE9PXcuaW5kZXhPZihlKX1mdW5jdGlvbiBWKGUsdCl7cmV0dXJuIUwoZSkmJiFMKHQpJiYhKGU9PT10fHwhVyhlKSYmIVcodCkpfWZ1bmN0aW9uIEwoZSl7cmV0dXJuIDExPT09ZX1mdW5jdGlvbiBCKGUpe3JldHVybi0xIT09Zi5pbmRleE9mKGUpfWZ1bmN0aW9uIEcoZSl7cmV0dXJuIDE3IT09ZSYmMTghPT1lJiYyMCE9PWUmJkIoZSl9ZnVuY3Rpb24gUihlKXtyZXR1cm4gSShlKXx8QihlKX1mdW5jdGlvbiBUKGUpe3N3aXRjaChlKXtjYXNlIDM6Y2FzZSAxMDpjYXNlIDI6Y2FzZSAxNDpjYXNlIDE1OmNhc2UgMTM6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gRihlKXtzd2l0Y2goZSl7Y2FzZSAxNjpjYXNlIDIxOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIEUoZSl7cmV0dXJuIWMuU1lNQk9MX1NUUklOR19EQVRBW2VdfWZ1bmN0aW9uIHgoZSx0KXtSKGUpJiYoMTEhPT1lJiZhLnNldFZhbHVlKCJjaGFydC5sYXN0VXNlZFN0eWxlIixlKSxFKGUpJiZEKGUpLFdlKHQpJiZUKGUpJiZhLnNldFZhbHVlKCJjaGFydC5sYXN0VXNlZFNpbmdsZVZhbHVlQmFzZWRTdHlsZSIsZSkpfWZ1bmN0aW9uIEQoZSl7YS5zZXRWYWx1ZSgiY2hhcnQucmF3RGF0YVN0eWxlIixlKX1mdW5jdGlvbiBNKCl7Y29uc3QgZT1hLmdldEludCgiY2hhcnQubGFzdFVzZWRTdHlsZSIpO3JldHVybiB2b2lkIDA9PT1lPzE6ZX1mdW5jdGlvbiBBKCl7Y29uc3QgZT1hLmdldEludCgiY2hhcnQubGFzdFVzZWRTaW5nbGVWYWx1ZUJhc2VkU3R5bGUiKTtyZXR1cm4gdm9pZCAwPT09ZT8xNDplfWZ1bmN0aW9uIFAoKXtyZXR1cm4gYS5nZXRJbnQoImNoYXJ0LnJhd0RhdGFTdHlsZSIsMSl9ZnVuY3Rpb24gTihlKXthLnNldFZhbHVlKCJjaGFydC5sYXN0VXNlZE1ldHJpYyIsZSl9ZnVuY3Rpb24gVSgpe3JldHVybiBhLmdldFZhbHVlKCJjaGFydC5sYXN0VXNlZE1ldHJpYyIpPz9udWxsfWZ1bmN0aW9uIE8oZSl7cmV0dXJuIGU/MTE6MX1mdW5jdGlvbiBxKGUsdCl7Y29uc3Qgcz1MKHQpLG49aS5JbnRlcnZhbC5pc1JhbmdlKGUpO3JldHVybiFzJiZuP08oITApOnMmJiFuP08oITEpOnR9ZnVuY3Rpb24gJChlLHQscyl7Y29uc3Qgbj1jLlNZTUJPTF9TVFJJTkdfREFUQVtlXTtpZih2b2lkIDA9PT1uKXJldHVybiBudWxsO2NvbnN0IGk9KDAsYy5pc0NoYXJ0U3R5bGVTdHVkeUluZm9Db21wbGV4KShuKT9uLnNlbGVjdG9yKHM/P3t9KTpuO3JldHVybiB0P2Ake2kudHlwZX0tJHtpLmJhc2ljU3R1ZHlWZXJzaW9ufWA6aS50eXBlfWZ1bmN0aW9uIGooZSl7Y29uc3QgdD1lLnByaWNlQXhpc1Byb3BlcnRpZXMscz10LmxvY2tTY2FsZS52YWx1ZSgpLG49Nj09PWUuc3R5bGUudmFsdWUoKTsobnx8cykmJih0LmxvZy5zZXRWYWx1ZSghMSksdC5wZXJjZW50YWdlLnNldFZhbHVlKCExKSksdC5sb2dEaXNhYmxlZC5zZXRWYWx1ZSghKCFuJiYhcykpLHQucGVyY2VudGFnZURpc2FibGVkLnNldFZhbHVlKCEoIW4mJiFzKSl9ZnVuY3Rpb24gSChlKXtyZXR1cm4gQy5pbmNsdWRlcyhlKX1mdW5jdGlvbiB6KGUsdD0iZGVmYXVsdCIscz0hMSl7bGV0IG4saSxyLG8sYT0xMDAsbD0xO2lmKCJkZWZhdWx0Ij09PXQpbnVsbCE9ZSYmKCh7cHJpY2VzY2FsZTphLG1pbm1vdjpsLG1pbm1vdmUyOmksZnJhY3Rpb25hbDpufT1lKSxyPWUudmFyaWFibGVfdGlja19zaXplfHx2b2lkIDApO2Vsc2V7bGV0IGU9dC5zcGxpdCgiLCIpOzMhPT1lLmxlbmd0aCYmKGU9WyIxMDAiLCIxIiwiZmFsc2UiXSksYT1wYXJzZUludChlWzBdKSxsPXBhcnNlSW50KGVbMV0pLG49InRydWUiPT09ZVsyXSxvPSEwfXJldHVybiBzJiYobD0xKSx7cHJpY2VTY2FsZTphLG1pbk1vdmU6bCxmcmFjdGlvbmFsOm4sbWluTW92ZTI6aSx2YXJpYWJsZU1pblRpY2s6cixpZ25vcmVNaW5Nb3ZlOnMsbm9FeHBvbmVudGlhbEZvcm06b319ZnVuY3Rpb24gWShlLHQscz0hMSl7Y29uc3R7cHJpY2VTY2FsZTpuLG1pbk1vdmU6aSxmcmFjdGlvbmFsOnIsbWluTW92ZTI6byx2YXJpYWJsZU1pblRpY2s6YSxub0V4cG9uZW50aWFsRm9ybTpsfT16KGUsdCxzKTtpZihudWxsIT1lKXtjb25zdCBsPWUuZm9ybWF0O2lmKCJkZWZhdWx0Ij09PXQmJiJ2b2x1bWUiPT09bClyZXR1cm4gbmV3IGQuVm9sdW1lRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pO2lmKCJwZXJjZW50Ij09PWwpcmV0dXJuIG5ldyB5LlBlcmNlbnRhZ2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6bixtaW5Nb3ZlOmksZnJhY3Rpb25hbDpyLG1pbk1vdmUyOm8sdmFyaWFibGVNaW5UaWNrOmEsaWdub3JlTWluTW92ZTpzfSl9cmV0dXJuIG5ldyBoLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOm4sbWluTW92ZTppLGZyYWN0aW9uYWw6cixtaW5Nb3ZlMjpvLHZhcmlhYmxlTWluVGljazphLGlnbm9yZU1pbk1vdmU6cyxub0V4cG9uZW50aWFsRm9ybTpsfSl9ZnVuY3Rpb24gSyhlKXtyZXR1cm4gbnVsbCE9PWUmJiEoMCx1LmlzU3ByZWFkKShlLnR5cGUpfWZ1bmN0aW9uIFgoZSx0LHMpe2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IG49IXR8fHM/ZS5jdXJyZW5jeV9pZDplLmN1cnJlbmN5X2NvZGU7cmV0dXJuIHZvaWQgMD09PW58fCIiPT09bnx8InBjdCI9PT1uP251bGw6bn1mdW5jdGlvbiBKKGUsdCl7Y29uc3Qgcz10P2Uub3JpZ2luYWxfY3VycmVuY3lfY29kZTplLm9yaWdpbmFsX2N1cnJlbmN5X2lkO3JldHVybiJwY3QiPT09cz9udWxsOnM/P1goZSx0KX1mdW5jdGlvbiBRKGUpe3JldHVybiBlLmJhc2VfY3VycmVuY3lfaWR8fG51bGx9ZnVuY3Rpb24gWihlKXtpZihudWxsPT09ZXx8IUsoZSkpcmV0dXJuITE7Y29uc3QgdD1KKGUpCjtyZXR1cm4gbnVsbCE9PXQmJnQhPT1YKGUpfWZ1bmN0aW9uIGVlKGUsdCl7cmV0dXJuIHQmJm51bGwhPT1lJiYhKDAsdS5pc1NwcmVhZCkoZS50eXBlKX1mdW5jdGlvbiB0ZShlLHQpe2lmKG51bGw9PT1lfHwhdClyZXR1cm4gbnVsbDtjb25zdCBzPWUudW5pdF9pZDtyZXR1cm4gdm9pZCAwPT09c3x8IiI9PT1zP251bGw6c31mdW5jdGlvbiBzZShlLHQpe3JldHVybiB0P2Uub3JpZ2luYWxfdW5pdF9pZHx8dGUoZSx0KTpudWxsfWZ1bmN0aW9uIG5lKGUsdCl7cmV0dXJuIHQmJmUubWV0cmljcz8uY3VycmVudHx8bnVsbH1mdW5jdGlvbiBpZShlLHQpe3JldHVybiB0P2UubWV0cmljcz8uZGVmYXVsdHx8bmUoZSx0KTpudWxsfWZ1bmN0aW9uIHJlKGUsdCl7cmV0dXJuIShudWxsPT09ZXx8IWVlKGUsdCkpJiYodm9pZCAwIT09ZS5vcmlnaW5hbF91bml0X2lkJiZlLm9yaWdpbmFsX3VuaXRfaWQhPT1lLnVuaXRfaWQpfWZ1bmN0aW9uIG9lKGUsdCl7cmV0dXJuIShudWxsPT09ZXx8IXQpJiYodm9pZCAwIT09ZT8ubWV0cmljcz8uZGVmYXVsdCYmZT8ubWV0cmljcz8uZGVmYXVsdCE9PWU/Lm1ldHJpY3M/LmN1cnJlbnQpfWZ1bmN0aW9uIGFlKGUpe3JldHVybiBCb29sZWFuKGU/Lm1ldHJpY3M/LmN1cnJlbnQmJiJwcmljZSIhPT1lLm1ldHJpY3MuY3VycmVudCl9ZnVuY3Rpb24gbGUoZSx0KXtyZXR1cm4gbnVsbCE9PWUmJmVlKGUsdCk/ZS51bml0X2NvbnZlcnNpb25fdHlwZXN8fG51bGw6W119ZnVuY3Rpb24gdWUoZSl7cmV0dXJuIG51bGwhPT1lJiZ2b2lkIDAhPT1lLnN1YnNlc3Npb25zJiZlLnN1YnNlc3Npb25zLnNvbWUoKGU9PiJwcmVtYXJrZXQiPT09ZS5pZHx8InBvc3RtYXJrZXQiPT09ZS5pZCkpfWZ1bmN0aW9uIGNlKGUpe3JldHVybiBudWxsIT09ZSYmdm9pZCAwIT09ZS5zdWJzZXNzaW9ucyYmZS5zdWJzZXNzaW9ucy5zb21lKChlPT4iMjRoIj09PWUuaWQpKX1mdW5jdGlvbiBoZShlKXtyZXR1cm4gbnVsbCE9PWUmJnZvaWQgMCE9PWUuc3Vic2Vzc2lvbnMmJihlLnN1YnNlc3Npb25zLnNvbWUoKGU9PiJyZWd1bGFyIj09PWUuaWQpKSYmZS5zdWJzZXNzaW9ucy5zb21lKChlPT4idXNfcmVndWxhciI9PT1lLmlkKSkpfWZ1bmN0aW9uIGRlKGUpe3JldHVybiBudWxsIT09ZSYmdm9pZCAwIT09ZS5zdWJzZXNzaW9ucyYmZS5zdWJzZXNzaW9ucy5maWx0ZXIoKGU9PiFlLnByaXZhdGUpKS5sZW5ndGg+MX1mdW5jdGlvbiB5ZShlKXtyZXR1cm4gbnVsbCE9PWUmJigoMCx1LmlzRm9yZXhTeW1ib2wpKGUudHlwZSl8fCgwLGIuaXNDRkRTeW1ib2wpKGUudHlwZSxlLnR5cGVzcGVjcyl8fCgwLHUuaGFzQ3J5cHRvVHlwZXNwZWMpKGUudHlwZXNwZWNzfHxbXSkpfWZ1bmN0aW9uIGJlKGUsdCl7cmV0dXJuKDAscC5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvKShlLG51bGwsITAsITApfHx0fWZ1bmN0aW9uIG1lKGUsdCl7cmV0dXJuIGU/ZS50aWNrZXI/P2UucHJvX25hbWU/P3Q6dH1jb25zdCBwZT0iwrciO2Z1bmN0aW9uIFNlKGUsdCl7cmV0dXJuIEJlKGUpP2Uuc291cmNlMj8uZGVzY3JpcHRpb24/P251bGw6bnVsbH1mdW5jdGlvbiBfZShlLHQpe2NvbnN0IHM9UmUoZSk7cmV0dXJuIHR8fF8/ZS5uYW1lOmAke2UubmFtZX0gJHtwZX0gJHtzfWB9ZnVuY3Rpb24gZ2UoZSl7bGV0IHQ9ZSYmKGZ1bmN0aW9uKGUpe3JldHVybigwLHUuaXNGdXR1cmVzKShlLnR5cGUpJiZlLmZyb250X2NvbnRyYWN0fHxudWxsfShlKXx8ZS5uYW1lKXx8IiI7cmV0dXJuIHQubGVuZ3RoPjQwJiYodD10LnN1YnN0cmluZygwLDM3KSsiLi4uIiksdC50cmltKCl9ZnVuY3Rpb24gdmUoZSl7Y29uc3QgdD1lP2UuZXhjaGFuZ2U6IiI7cmV0dXJuIFM/dC50b1VwcGVyQ2FzZSgpOnR9ZnVuY3Rpb24gd2UoZSx0KXtyZXR1cm4gbnVsbCE9PWU/ZS5mdWxsX25hbWU6dH1mdW5jdGlvbiBmZShlLHQpe3JldHVybiBlPy5wcm9fbmFtZT8/dH1mdW5jdGlvbiBDZShlLHQpe3dpbmRvdztyZXR1cm5bInN0b2NrIiwiZnVuZCIsImluZGV4IiwiZHIiXS5pbmNsdWRlcyh0LnR5cGUpJiYicmVndWxhciI9PT1lfHwoMCx1LmlzRnV0dXJlcykodC50eXBlKSYmInVzX3JlZ3VsYXIiPT09ZX1mdW5jdGlvbiBrZShlKXtyZXR1cm4iMjRoIj09PWV9ZnVuY3Rpb24gV2UoZSl7cmV0dXJuImMiPT09ZT8udmlzaWJsZV9wbG90c19zZXR9ZnVuY3Rpb24gSWUoZSl7cmV0dXJuIG51bGwhPT1lJiYoInVuaXQiPT09ZS5tZWFzdXJlJiZudWxsIT09VmUoZSkpfWZ1bmN0aW9uIFZlKGUpe3JldHVybiBlPy52YWx1ZV91bml0X2lkPz9udWxsfWZ1bmN0aW9uIExlKGUpe3JldHVybiJvaGxjdiI9PT1lLnZpc2libGVfcGxvdHNfc2V0fWZ1bmN0aW9uIEJlKGUpe3JldHVybiBudWxsIT09ZSYmKDAsdS5pc0Vjb25vbWljU3ltYm9sKShlLnR5cGUpfWZ1bmN0aW9uIEdlKGUpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9PWUmJigwLHUuaXNTcHJlYWQpKGUudHlwZSl9KGUpJiYoZT8ubGVncz8/W10pLmxlbmd0aD4xfWZ1bmN0aW9uIFJlKGUpe2NvbnN0IHQ9U2UoZSk7aWYobnVsbCE9PXQpcmV0dXJuIHQ7cmV0dXJuKDAsbC5vbldpZGdldCkoKXx8KDAsdS5pc0ZvcmV4U3ltYm9sKShlLnR5cGUpP2UuZXhjaGFuZ2U6ZS5leGNoYW5nZV9saXN0ZWRfbmFtZT8/ZS5leGNoYW5nZX1mdW5jdGlvbiBUZShlKXtyZXR1cm4gZS5leGNoYW5nZX1mdW5jdGlvbiBGZShlKXtyZXR1cm4gbnVsbCE9PWUmJigwLHUuaXNGdXR1cmVzKShlLnR5cGUpJiZCb29sZWFuKGUuaGFzX2JhY2thZGp1c3RtZW50JiZlLnR5cGVzcGVjcz8uaW5jbHVkZXMoImNvbnRpbnVvdXMiKSl9ZnVuY3Rpb24gRWUoZSl7cmV0dXJuIG51bGwhPT1lJiYoMCx1LmlzRnV0dXJlcykoZS50eXBlKSYmIUJvb2xlYW4oZS50eXBlc3BlY3M/LmluY2x1ZGVzKCJjb250aW51b3VzIikpfWZ1bmN0aW9uIHhlKGUpe3JldHVybigwLG4uY29tYmluZSkoKCh0LHMsbik9Pntzd2l0Y2godCl7Y2FzZSA0Ontjb25zdCB0PWUuc2VyaWVzRXJyb3JNZXNzYWdlKCkKO3JldHVybiBudWxsIT09dCYmKCJyZXNvbHV0aW9uX25vdF9lbnRpdGxlZCI9PT10fHwiY3VzdG9tX3Jlc29sdXRpb24iPT09dHx8InNlY29uZHNfbm90X2VudGl0bGVkIj09PXR8fCJ0aWNrc19ub3RfZW50aXRsZWQiPT09dHx8dC5zdGFydHNXaXRoKCJzdHVkeV9ub3RfYXV0aDoiKSk/bnVsbDp7dHlwZToiaW52YWxpZF9zeW1ib2wifX1jYXNlIDEzOntjb25zdCB0PWUuc2VyaWVzRXJyb3JNZXNzYWdlKCk7cmV0dXJuIG51bGw9PT10P251bGw6e3R5cGU6ImNhbGN1bGF0aW9uc19lcnJvciIsZXJyb3JNZXNzYWdlOnR9fWNhc2UgMTQ6e2NvbnN0IHQ9ZS51bnN1cHBvcnRlZFJlc29sdXRpb25TdGF0ZSgpLnZhbHVlKCk7cmV0dXJuIG51bGw9PT10P251bGw6e3R5cGU6InVuc3VwcG9ydGVkX3Jlc29sdXRpb24iLHJlYXNvbjp0LnJlYXNvbn19Y2FzZSAxOmNhc2UgMjpyZXR1cm4gbnVsbDtkZWZhdWx0OmlmKHMpcmV0dXJuIG4/e3R5cGU6Imlwb19wcmljZWQifTp7dHlwZToibm9fZGF0YSJ9fXJldHVybiBudWxsfSksZS5zdGF0dXNXVigpLndlYWtSZWZlcmVuY2UoKSwoMCxtLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKHQ9PnZvaWQgMCE9PXQmJighZS5iYXJzKCkuc2l6ZSgpJiYhZS5uc0JhcnMoKS5zaXplKCkmJiFlLmlzSW5SZXBsYXkoKS52YWx1ZSgpKSksZS5kYXRhRXZlbnRzKCkuZGF0YVVwZGF0ZWQoKSkub3duZXJzaGlwKCksKDAsbi5jb21iaW5lKSgoKGUsdCk9PnQ/InByaWNlZCI9PT1lPy5pcG9fb2ZmZXJfc3RhdHVzOm51bGwpLGUucXVvdGVzUHJvdmlkZXIoKS5xdW90ZXMoKS53ZWFrUmVmZXJlbmNlKCksZS5xdW90ZXNQcm92aWRlcigpLmNvbXBsZXRlZCgpLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCkpfWZ1bmN0aW9uIERlKGUpe3JldHVybiBNYXRoLm1heCgwLGU/LmRlbGF5Pz8wKX19LDc3NzY2MShlLHQscyl7cy5kKHQse3N0dWR5VHBvUHJlcmlvZGljSWQ6KCk9Pm4sc3R1ZHlUcG9TZXNzaW9uc0lkOigpPT5pfSk7Y29uc3Qgbj0iVFBPUGVyaW9kaWNAdHYtdm9sdW1lYnlwcmljZSIsaT0iVFBPU2Vzc2lvbnNAdHYtdm9sdW1lYnlwcmljZSJ9LDcyODQzNihlLHQscyl7cy5kKHQse3N0dWR5Vm9sRm9vdHByaW50SWQ6KCk9Pm59KTtjb25zdCBuPSJGb290cHJpbnRAdHYtdm9sdW1lYnlwcmljZSJ9LDU1MDM5MyhlLHQscyl7cy5kKHQse3N0dWR5VmJQU2Vzc2lvbnNJZDooKT0+bn0pO2NvbnN0IG49IlZiUFNlc3Npb25zQHR2LXZvbHVtZWJ5cHJpY2UifSw3Nzg5NDYoZSx0LHMpe3ZhciBuO3MuZCh0LHtnZXRQbGF0Zm9ybTooKT0+b30pLGZ1bmN0aW9uKGUpe2UuRGVza3RvcD0iZGVza3RvcCIsZS5XZWI9IndlYiIsZS5JT1M9ImlvcyIsZS5BbmRyb2lkPSJhbmRyb2lkIn0obnx8KG49e30pKTt2YXIgaT1zKDExNzMxMykscj1zKDMxODk3NCk7ZnVuY3Rpb24gbygpe3JldHVybigwLHIuaXNEZXNrdG9wQXBwKSgpPyJkZXNrdG9wIjooMCxpLmlzT25Nb2JpbGVBcHBQYWdlKSgib2xkIik/ImlvcyI6KDAsaS5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpPyJhbmRyb2lkIjoid2ViIn19fV0pOw=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/hip3-disclaimer.4f3e3bf9c345c3f3e07a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.611Z","timestamp":1785141584611,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/hip3-disclaimer.4f3e3bf9c345c3f3e07a.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fca-602\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:50 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5b5c5b0f3ddcba7e9068950f2e0d52e2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1538,"size_decoded":1517,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (1538), with no line terminators","md5":"ca16eedb4932efab6658de430f67af2a","sha1":"fce9eb628927ab71953c562e3a65fe13ca72be21","sha256":"14234f0a1c16909a4af2c7348f8265146e98794a1c52017555b2d96561ba5459","sha512":"40ed5707b4aab15ea10be9fe2d32430f9597821ea08af6d9bdfbaa33010702af2e601fdfc65223136d87284c27acb6ee7fdb3f1897206295648d507f3a43b779","ssdeep":"","tlshash":"bb31125030b2245c20ac9bea967b6637860091547645e33cb3ee3cec479de1cbeb167b","first_seen":"2026-06-30T14:35:40.516552Z","last_seen":"2026-07-27T14:50:15.374177Z","times_seen":320,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTk3OV0sezM2MzY1MyhlLHMsbyl7by5kKHMse0hpcDNEaXNjbGFpbWVyOigpPT5hfSk7dmFyIHQ9byg1OTY3MDYpLGw9byg5NTY0MzcpLG49byg5MzA1NjYpO2Z1bmN0aW9uIGkoZSl7bnVsbCE9PWUmJigwLHQuaXNIaXAzU3ltYm9sKShlLnR5cGVzcGVjcykmJihCb29sZWFuKG4uZ2V0Qm9vbCgiaGlwMy5kaXNjbGFpbWVyQWNjZXB0ZWQiKSl8fFByb21pc2UuYWxsKFtvLmUoODcwMDcpLG8uZSg0NjYwKSxvLmUoNDE1MjQpXSkudGhlbihvLmJpbmQobywzMTkwMTEpKS50aGVuKChlPT5lLnNob3dIaXAzRGlzY2xhaW1lckRpYWxvZyh7b25BY2NlcHQ6KCk9Pm4uc2V0VmFsdWUoImhpcDMuZGlzY2xhaW1lckFjY2VwdGVkIiwhMCx7Zm9yY2VGbHVzaDohMH0pfSkpKSl9Y2xhc3MgYXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9zeW1ib2xJbmZvU3Bhd25zPVtdLHRoaXMuX2F0dGFjaGVkTW9kZWw9bnVsbCx0aGlzLl9vbk1vZGVsQ2hhbmdlZD1lPT57dGhpcy5fZGV0YWNoRnJvbU1vZGVsKCksdGhpcy5fYXR0YWNoZWRNb2RlbD1lLG51bGwhPT1lJiYoZS5tb2RlbCgpLmRhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3N5bmNTeW1ib2xJbmZvU3Bhd25zKSx0aGlzLl9zeW5jU3ltYm9sSW5mb1NwYXducygpKX0sdGhpcy5fc3luY1N5bWJvbEluZm9TcGF3bnM9KCk9PntpZih0aGlzLl9yZWxlYXNlU3ltYm9sSW5mb1NwYXducygpLG51bGw9PT10aGlzLl9hdHRhY2hlZE1vZGVsKXJldHVybjtjb25zdCBlPXRoaXMuX2F0dGFjaGVkTW9kZWwubW9kZWwoKSxzPW5ldyBTZXQoW2UubWFpblNlcmllcygpLC4uLmUuZGF0YVNvdXJjZXMoKS5maWx0ZXIobC5pc0NvbXBhcmVPck92ZXJsYXlTdHVkeSldKTtmb3IoY29uc3QgZSBvZiBzKXtjb25zdCBzPWUuc3ltYm9sSW5mb1dWKCkuc3Bhd25Pd25lcnNoaXAoKTtzLnN1YnNjcmliZShpKSx0aGlzLl9zeW1ib2xJbmZvU3Bhd25zLnB1c2gocyl9fSx0aGlzLl9tb2RlbFdWPWUsdGhpcy5fbW9kZWxXVi5zdWJzY3JpYmUodGhpcy5fb25Nb2RlbENoYW5nZWQse2NhbGxXaXRoTGFzdDohMH0pfWRlc3Ryb3koKXt0aGlzLl9tb2RlbFdWLnVuc3Vic2NyaWJlKHRoaXMuX29uTW9kZWxDaGFuZ2VkKSx0aGlzLl9kZXRhY2hGcm9tTW9kZWwoKSx0aGlzLl9tb2RlbFdWLnJlbGVhc2UoKX1fZGV0YWNoRnJvbU1vZGVsKCl7dGhpcy5fYXR0YWNoZWRNb2RlbD8ubW9kZWwoKS5kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX3N5bmNTeW1ib2xJbmZvU3Bhd25zKSx0aGlzLl9yZWxlYXNlU3ltYm9sSW5mb1NwYXducygpLHRoaXMuX2F0dGFjaGVkTW9kZWw9bnVsbH1fcmVsZWFzZVN5bWJvbEluZm9TcGF3bnMoKXt0aGlzLl9zeW1ib2xJbmZvU3Bhd25zLmZvckVhY2goKGU9PmUucmVsZWFzZSgpKSksdGhpcy5fc3ltYm9sSW5mb1NwYXducy5sZW5ndGg9MH19fX1dKTs="}},"time_used":3,"timings":{"blocked":0,"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/93421.95381f8e004d0d2fa8cf.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.788Z","timestamp":1785141584788,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/93421.95381f8e004d0d2fa8cf.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1dc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d1be2c1599818496beb3d70d36214a7c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":476,"size_decoded":971,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (476), with no line terminators","md5":"37bae040f1b0c84be3c545c1c2303cd1","sha1":"4d4cca3a184846ae3b3aa7cacecbc00873e0f411","sha256":"d021bcce768a1fe978903b5a9ff7b2120d90ea6df9ef981ace4d7edc9904ab6e","sha512":"a722c067825d0bfc7bb3e24a0bd456d26d0abff0921bee7e68e4a4a0e8a3d44340c2674fe3aa8a445ab5bc9d5de47a7c827600a20ca4edb6a83709dded14d6f7","ssdeep":"","tlshash":"06f0e99652ccbf337da011a7e2d2421b5388bc24fe2a658d9affd91a05d527050b9846","first_seen":"2026-07-17T14:15:58.317943Z","last_seen":"2026-07-27T14:27:22.645893Z","times_seen":158,"resource_available":false,"data":"LmNvbnRleHRBY3Rpb25zLXVCSmhqVVY4e2Rpc3BsYXk6ZmxleH0uaGlkZUlmTm9Ib3Zlci11QkpoalVWOHstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWlzLWhvdmVyZWQtb3ItZm9jdXNlZDptaW4oMSx2YXIoLS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1pcy1ob3ZlcmVkLDApICsgdmFyKC0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0taXMtZm9jdXNlZC12aXNpYmxlLDApKX1AbWVkaWEgbm90IChhbnktcG9pbnRlcjpjb2Fyc2Upey5oaWRlSWZOb0hvdmVyLXVCSmhqVVY4e29wYWNpdHk6bWluKDEsdmFyKC0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0taXMtaG92ZXJlZC1vci1mb2N1c2VkLDApICsgdmFyKC0tdWktbGliLXByaXZhdGUtY29udGV4dEFjdGlvbi1mb3JjZVZpc2libGUsMCkpfX0uc29tZUNvbnRleHRBY3Rpb25Gb2N1c2VkLXVCSmhqVVY4ey0tdWktbGliLXByaXZhdGUtY29udGV4dEFjdGlvbi1mb3JjZVZpc2libGU6MX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/66522.661a97161c3cad9690d2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.010Z","timestamp":1785141585010,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/66522.661a97161c3cad9690d2.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b74-3a7\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e91aaea55b4a11848db8cb9da923238c\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":935,"size_decoded":1222,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (935), with no line terminators","md5":"9295c27fd4daa554b8dc928ab0c03a98","sha1":"2f33253bdbb14763a9e94d92768f77ec5ec2416f","sha256":"1936404f933cb5460b13710ba8fbe6e85d647437100f0ab98916d094a14d0bdf","sha512":"e4fbc74b9e0e953c709284d47e4093018617cabcd5525629f6f8152d3b8dd8fe175c8281e80fdfea7c397d218d86b578389aab6640dc1cb9a6cd7d0c37679c80","ssdeep":"","tlshash":"4b115631f150ca2d7c67a8290781d28e6128ec0e66c7a65dbb16e22948cf7d32263318","first_seen":"2026-02-24T15:20:08.929924Z","last_seen":"2026-07-27T14:50:15.383152Z","times_seen":610,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtQktiLTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLUJLYi06dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9LmRpYWxvZy1VR2RDNjlzd3ttaW4td2lkdGg6MjU0cHg7cGFkZGluZzo0MHB4O3dpZHRoOmF1dG99LmRpYWxvZ0lubmVyLVVHZEM2OXN3e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS50aXRsZVdyYXBwZXItVUdkQzY5c3d7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1ib3R0b206MTZweDttYXgtd2lkdGg6MTAwJX0udGl0bGUtVUdkQzY5c3d7Y29sb3I6dmFyKC0tXzAtQktiLSk7Y3Vyc29yOmRlZmF1bHQ7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjI4cHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcH0uaW5mb0hpbnQtVUdkQzY5c3d7Y29sb3I6dmFyKC0tY29sb3ItZGVmYXVsdC1ncmF5KTtoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjhweDt3aWR0aDoxOHB4fS5mb3JtLVVHZEM2OXN3e2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MjAwcHg7d2lkdGg6MTAwJX0uaW5wdXRXcmFwcGVyLVVHZEM2OXN3e2ZsZXgtZ3JvdzoxfS5pbnB1dC1VR2RDNjlzd3tmb250LXNpemU6MjRweDt0ZXh0LWFsaWduOmNlbnRlcn0uaGludC1VR2RDNjlzd3tjb2xvcjp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpO2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE4cHg7bWFyZ2luLXRvcDozcHg7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcH0uZXJyb3ItVUdkQzY5c3d7Y29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKX0="}},"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/6605.1e8942319b485afc1f75.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.124Z","timestamp":1785141585124,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/6605.1e8942319b485afc1f75.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b71-1c7\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d27934d1c117246f0276d9faaef86731\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":455,"size_decoded":1058,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (455), with no line terminators","md5":"d2ca4d9cab95479c91e8f31c8229afbb","sha1":"cede3b6337ec4629cebf14c946dc59dd6f6c156a","sha256":"0e87fa3009dc8f3432528e0b70da28015ba4e896241e7531f9086e06e71e7eca","sha512":"c3e0d4a1c9c9021120c05d783907844dd92838a00db5e2832aa6c276691d5c8c7ac6f4fc63f895e0628afbf2a76efda4aa1982fc5335ed69f5b960eee35b446c","ssdeep":"","tlshash":"99f027136cdd9a1fa41b302dcbc44b09d0d98902b70d4bf9bc16e260a28a7922a33060","first_seen":"2026-02-24T21:05:06.368121Z","last_seen":"2026-07-27T12:48:39.794945Z","times_seen":231,"resource_available":false,"data":"LmRpYWxvZy1iOFN4TW56WHtkaXNwbGF5OmJsb2NrO21heC13aWR0aDo1NTBweDttaW4td2lkdGg6MzgwcHg7d2lkdGg6YXV0b31AbWVkaWEgKG1heC13aWR0aDozNzlweCl7LmRpYWxvZy1iOFN4TW56WHttaW4taGVpZ2h0OmF1dG87bWluLXdpZHRoOjEwMCV9fS53cmFwcGVyLWI4U3hNbnpYe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47aGVpZ2h0OjEwMCV9LmRpYWxvZy1iOFN4TW56WCAuc2VwYXJhdG9yLWI4U3hNbnpYe2ZsZXg6bm9uZTttYXJnaW4tYmxvY2s6MCAycHg7bWFyZ2luLWlubGluZTowIDB9LnNlcGFyYXRvci1iOFN4TW56WHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLWRpYWxvZy1oZWFkZXItc2VwYXJhdG9yLHZhcigtLWNvbG9yLWRpdmlkZXIpKX0uYm91bmRlZC1iOFN4TW56WHtib3gtc2hhZG93OjAgMCAwIDFweCB2YXIoLS1jb2xvci1kaXZpZGVyKX0="}},"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/92393.fbb8c271bc4a0b751269.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.144Z","timestamp":1785141585144,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/92393.fbb8c271bc4a0b751269.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-4e2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c814fdd700e87cbd7d80d85f0f605600\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1250,"size_decoded":1281,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1250), with no line terminators","md5":"44a088ea878be9ce5aba8c7f81e9689f","sha1":"ada9e67c39474bb0afa4cca99f793d6fa037703d","sha256":"9c6e69b8a3f0eeb5446efa6b4454704151bdfd2b988224abf442ff34c21a12b3","sha512":"eb51b789ac77ae0a0fd05bbb7fab8d16a1474adefa9ffb58c0cb76e42f9436f216d665f04b87d63e4b75867d4720e5c36eb0e85fe6d4a7f29b3ce134846d5298","ssdeep":"","tlshash":"042142d2533421b9f3f3c51b360af7865b02aa1be472368ce3d9aca450c32d216c8c02","first_seen":"2026-07-19T21:33:34.07639Z","last_seen":"2026-07-27T12:48:39.775442Z","times_seen":56,"resource_available":false,"data":"LmJ1dHRvbi1Pd2JHVnlhM3std2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2NvbG9yOmluaGVyaXQ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudCk7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6aW5oZXJpdDtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LXRyYW5zZm9ybTppbmhlcml0fS5idXR0b24tT3diR1Z5YTM6Zm9jdXN7b3V0bGluZTpub25lfS5idXR0b24tT3diR1Z5YTM6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJ1dHRvbi1Pd2JHVnlhMzphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO3otaW5kZXg6MX0uYnV0dG9uLU93YkdWeWEzOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1Pd2JHVnlhMzpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1Pd2JHVnlhMzpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnV0dG9uLU93YkdWeWEzOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6OHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLU93YkdWeWEzOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpO2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiAiO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCl9fS5idXR0b24tT3diR1Z5YTM6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LWJvbGQpfS50ZXh0LU93YkdWeWEze3Bvc2l0aW9uOnJlbGF0aXZlO3doaXRlLXNwYWNlOm5vd3JhcH0="}},"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":"oxlofttrd.com/wp-content/uploads/elementor/css/post-15.css?ver=1784319534","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.892Z","timestamp":1785141582892,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/uploads/elementor/css/post-15.css?ver=1784319534 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://oxlofttrd.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Fri, 17 Jul 2026 20:18:54 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 979\r\nKeep-Alive: timeout=5, max=97\r\nConnection: Keep-Alive\r\nContent-Type: text/css\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":8452,"size_decoded":1329,"mime_type":"text/css","magic":"ASCII text, with very long lines (8452), with no line terminators","md5":"f676ba737ec878f89a809e0ec964e562","sha1":"a2f8e62e8c6e73dd7284ceb6bc1dd45245a81187","sha256":"5bb04e1ccbe5ee5adbfba99fbb8d983934581a911335b8a90abd564cf10fe595","sha512":"0bd01bbce9e77c2fc8e8b6750fcf302dc2ca3dd7557f47e7a1214b46ee442c51f92b70978752cacdff01ad942d6ca9e1d7daa19bf1117207f63952c3e6aba6cd","ssdeep":"192:4iduHNJy0ma2uY/228/NVY/mpg4A/+2YgNgu:oJQcgAgNgu","tlshash":"fa02f2643d435a29b62f206f0053a69c25348ccdea3e7adafd676127f0b9dc13790a5c","first_seen":"2026-07-27T06:14:34.064344Z","last_seen":"2026-07-27T12:12:28.853174Z","times_seen":5,"resource_available":false,"data":"LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtOGM0NTNkOSA+IC5lbGVtZW50b3ItY29udGFpbmVyID4gLmVsZW1lbnRvci1jb2x1bW4gPiAuZWxlbWVudG9yLXdpZGdldC13cmFwe2FsaWduLWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt9LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtOGM0NTNkOXtwYWRkaW5nOjExMHB4IDBweCAxMTBweCAwcHg7fS5lbGVtZW50b3ItMTUgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LWQ5MTE3NDkgPiAuZWxlbWVudG9yLWVsZW1lbnQtcG9wdWxhdGVke3BhZGRpbmc6MCUgMzAlIDAlIDAlO30uZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0xNmU3ZDk4e3RleHQtYWxpZ246bGVmdDt9LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtOThmMzE3Znt0ZXh0LWFsaWduOmxlZnQ7fS5lbGVtZW50b3ItMTUgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTI4NzRiZmF7LS1kaXNwbGF5OmZsZXg7LS1mbGV4LWRpcmVjdGlvbjpyb3c7LS1jb250YWluZXItd2lkZ2V0LXdpZHRoOmluaXRpYWw7LS1jb250YWluZXItd2lkZ2V0LWhlaWdodDoxMDAlOy0tY29udGFpbmVyLXdpZGdldC1mbGV4LWdyb3c6MTstLWNvbnRhaW5lci13aWRnZXQtYWxpZ24tc2VsZjpzdHJldGNoOy0tZmxleC13cmFwLW1vYmlsZTp3cmFwOy0tZ2FwOjBweCAwcHg7LS1yb3ctZ2FwOjBweDstLWNvbHVtbi1nYXA6MHB4O30uZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC1lNmJmZTBkey0tZGlzcGxheTpmbGV4O30uZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC05YmIzNjRhey0tZGlzcGxheTpmbGV4Oy0tZ2FwOjBweCAwcHg7LS1yb3ctZ2FwOjBweDstLWNvbHVtbi1nYXA6MHB4Oy0tcGFkZGluZy10b3A6MHB4Oy0tcGFkZGluZy1ib3R0b206MHB4Oy0tcGFkZGluZy1sZWZ0OjBweDstLXBhZGRpbmctcmlnaHQ6MHB4O30uZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC1hOWY1ZTFhey0tZGlzcGxheTpmbGV4O30uZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC05NjUyZTU0ey0tZGlzcGxheTpmbGV4O30uZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC1mNGFjZjEwey0tZGlzcGxheTpmbGV4Oy0tZmxleC1kaXJlY3Rpb246cm93Oy0tY29udGFpbmVyLXdpZGdldC13aWR0aDppbml0aWFsOy0tY29udGFpbmVyLXdpZGdldC1oZWlnaHQ6MTAwJTstLWNvbnRhaW5lci13aWRnZXQtZmxleC1ncm93OjE7LS1jb250YWluZXItd2lkZ2V0LWFsaWduLXNlbGY6c3RyZXRjaDstLWZsZXgtd3JhcC1tb2JpbGU6d3JhcDstLWdhcDowcHggMHB4Oy0tcm93LWdhcDowcHg7LS1jb2x1bW4tZ2FwOjBweDt9LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtNTM1ZGFhM3stLWRpc3BsYXk6ZmxleDstLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstLWNvbnRhaW5lci13aWRnZXQtd2lkdGg6MTAwJTstLWNvbnRhaW5lci13aWRnZXQtaGVpZ2h0OmluaXRpYWw7LS1jb250YWluZXItd2lkZ2V0LWZsZXgtZ3JvdzowOy0tY29udGFpbmVyLXdpZGdldC1hbGlnbi1zZWxmOmluaXRpYWw7LS1mbGV4LXdyYXAtbW9iaWxlOndyYXA7fS5lbGVtZW50b3ItMTUgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LWM4MTJmMGR7LS1kaXNwbGF5OmZsZXg7LS1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LS1jb250YWluZXItd2lkZ2V0LXdpZHRoOjEwMCU7LS1jb250YWluZXItd2lkZ2V0LWhlaWdodDppbml0aWFsOy0tY29udGFpbmVyLXdpZGdldC1mbGV4LWdyb3c6MDstLWNvbnRhaW5lci13aWRnZXQtYWxpZ24tc2VsZjppbml0aWFsOy0tZmxleC13cmFwLW1vYmlsZTp3cmFwO30uZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0xZDRkM2Rley0tZGlzcGxheTpmbGV4Oy0tZmxleC1kaXJlY3Rpb246Y29sdW1uOy0tY29udGFpbmVyLXdpZGdldC13aWR0aDoxMDAlOy0tY29udGFpbmVyLXdpZGdldC1oZWlnaHQ6aW5pdGlhbDstLWNvbnRhaW5lci13aWRnZXQtZmxleC1ncm93OjA7LS1jb250YWluZXItd2lkZ2V0LWFsaWduLXNlbGY6aW5pdGlhbDstLWZsZXgtd3JhcC1tb2JpbGU6d3JhcDt9LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtN2U0M2MyNnstLWRpc3BsYXk6ZmxleDstLWZsZXgtZGlyZWN0aW9uOnJvdzstLWNvbnRhaW5lci13aWRnZXQtd2lkdGg6aW5pdGlhbDstLWNvbnRhaW5lci13aWRnZXQtaGVpZ2h0OjEwMCU7LS1jb250YWluZXItd2lkZ2V0LWZsZXgtZ3JvdzoxOy0tY29udGFpbmVyLXdpZGdldC1hbGlnbi1zZWxmOnN0cmV0Y2g7LS1mbGV4LXdyYXAtbW9iaWxlOndyYXA7LS1nYXA6MHB4IDBweDstLXJvdy1nYXA6MHB4Oy0tY29sdW1uLWdhcDowcHg7LS1mbGV4LXdyYXA6d3JhcDt9LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtN2U0M2MyNjpub3QoLmVsZW1lbnRvci1tb3Rpb24tZWZmZWN0cy1lbGVtZW50LXR5cGUtYmFja2dyb3VuZCksIC5lbGVtZW50b3ItMTUgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTdlNDNjMjYgPiAuZWxlbWVudG9yLW1vdGlvbi1lZmZlY3RzLWNvbnRhaW5lciA+IC5lbGVtZW50b3ItbW90aW9uLWVmZmVjdHMtbGF5ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoImh0dHBzOi8vb3hsb2Z0dHJkLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8wMS80LUMtQmFja2dyb3VuZDEucG5nIik7fS5lbGVtZW50b3ItMTUgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTdlNDNjMjYgPiAuZWxlbWVudG9yLXNoYXBlLXRvcCBzdmcsIC5lbGVtZW50b3ItMTUgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTdlNDNjMjYgPiAuZS1jb24taW5uZXIgPiAuZWxlbWVudG9yLXNoYXBlLXRvcCBzdmd7d2lkdGg6Y2FsYygxMDAlICsgMS4zcHgpO2hlaWdodDoyM3B4O30uZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0yMGNlOTI1ey0tZGlzcGxheTpmbGV4Oy0tZmxleC1kaXJlY3Rpb246Y29sdW1uOy0tY29udGFpbmVyLXdpZGdldC13aWR0aDoxMDAlOy0tY29udGFpbmVyLXdpZGdldC1oZWlnaHQ6aW5pdGlhbDstLWNvbnRhaW5lci13aWRnZXQtZmxleC1ncm93OjA7LS1jb250YWluZXItd2lkZ2V0LWFsaWduLXNlbGY6aW5pdGlhbDstLWZsZXgtd3JhcC1tb2JpbGU6d3JhcDt9LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtM2MwOTEwMiAuZWxlbWVudG9yLWljb24td3JhcHBlcnt0ZXh0LWFsaWduOmNlbnRlcjt9LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtM2MwOTEwMi5lbGVtZW50b3Itdmlldy1zdGFja2VkIC5lbGVtZW50b3ItaWNvbntiYWNrZ3JvdW5kLWNvbG9yOiNGRkZGRkY7fS5lbGVtZW50b3ItMTUgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTNjMDkxMDIuZWxlbWVudG9yLXZpZXctZnJhbWVkIC5lbGVtZW50b3ItaWNvbiwgLmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtM2MwOTEwMi5lbGVtZW50b3Itdmlldy1kZWZhdWx0IC5lbGVtZW50b3ItaWNvbntjb2xvcjojRkZGRkZGO2JvcmRlci1jb2xvcjojRkZGRkZGO30uZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0zYzA5MTAyLmVsZW1lbnRvci12aWV3LWZyYW1lZCAuZWxlbWVudG9yLWljb24sIC5lbGVtZW50b3ItMTUgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTNjMDkxMDIuZWxlbWVudG9yLXZpZXctZGVmYXVsdCAuZWxlbWVudG9yLWljb24gc3Zne2ZpbGw6I0ZGRkZGRjt9LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtY2FiYmY2OHtjb2xvcjojRkZGRkZGO30uZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC1lMTFhYjk3ey0tZGlzcGxheTpmbGV4Oy0tZmxleC1kaXJlY3Rpb246Y29sdW1uOy0tY29udGFpbmVyLXdpZGdldC13aWR0aDoxMDAlOy0tY29udGFpbmVyLXdpZGdldC1oZWlnaHQ6aW5pdGlhbDstLWNvbnRhaW5lci13aWRnZXQtZmxleC1ncm93OjA7LS1jb250YWluZXItd2lkZ2V0LWFsaWduLXNlbGY6aW5pdGlhbDstLWZsZXgtd3JhcC1tb2JpbGU6d3JhcDt9LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtNTRlNTU0NSAuZWxlbWVudG9yLWljb24td3JhcHBlcnt0ZXh0LWFsaWduOmNlbnRlcjt9LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtNTRlNTU0NS5lbGVtZW50b3Itdmlldy1zdGFja2VkIC5lbGVtZW50b3ItaWNvbntiYWNrZ3JvdW5kLWNvbG9yOiNGRkZGRkY7fS5lbGVtZW50b3ItMTUgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTU0ZTU1NDUuZWxlbWVudG9yLXZpZXctZnJhbWVkIC5lbGVtZW50b3ItaWNvbiwgLmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtNTRlNTU0NS5lbGVtZW50b3Itdmlldy1kZWZhdWx0IC5lbGVtZW50b3ItaWNvbntjb2xvcjojRkZGRkZGO2JvcmRlci1jb2xvcjojRkZGRkZGO30uZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC01NGU1NTQ1LmVsZW1lbnRvci12aWV3LWZyYW1lZCAuZWxlbWVudG9yLWljb24sIC5lbGVtZW50b3ItMTUgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTU0ZTU1NDUuZWxlbWVudG9yLXZpZXctZGVmYXVsdCAuZWxlbWVudG9yLWljb24gc3Zne2ZpbGw6I0ZGRkZGRjt9LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtNjE1N2VkOXtjb2xvcjojRkZGRkZGO30uZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0zNWVkYWJley0tZGlzcGxheTpmbGV4Oy0tZmxleC1kaXJlY3Rpb246Y29sdW1uOy0tY29udGFpbmVyLXdpZGdldC13aWR0aDoxMDAlOy0tY29udGFpbmVyLXdpZGdldC1oZWlnaHQ6aW5pdGlhbDstLWNvbnRhaW5lci13aWRnZXQtZmxleC1ncm93OjA7LS1jb250YWluZXItd2lkZ2V0LWFsaWduLXNlbGY6aW5pdGlhbDstLWZsZXgtd3JhcC1tb2JpbGU6d3JhcDt9LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtZGNmZjJjOCAuZWxlbWVudG9yLWljb24td3JhcHBlcnt0ZXh0LWFsaWduOmNlbnRlcjt9LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtZGNmZjJjOC5lbGVtZW50b3Itdmlldy1zdGFja2VkIC5lbGVtZW50b3ItaWNvbntiYWNrZ3JvdW5kLWNvbG9yOiNGRkZGRkY7fS5lbGVtZW50b3ItMTUgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LWRjZmYyYzguZWxlbWVudG9yLXZpZXctZnJhbWVkIC5lbGVtZW50b3ItaWNvbiwgLmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtZGNmZjJjOC5lbGVtZW50b3Itdmlldy1kZWZhdWx0IC5lbGVtZW50b3ItaWNvbntjb2xvcjojRkZGRkZGO2JvcmRlci1jb2xvcjojRkZGRkZGO30uZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC1kY2ZmMmM4LmVsZW1lbnRvci12aWV3LWZyYW1lZCAuZWxlbWVudG9yLWljb24sIC5lbGVtZW50b3ItMTUgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LWRjZmYyYzguZWxlbWVudG9yLXZpZXctZGVmYXVsdCAuZWxlbWVudG9yLWljb24gc3Zne2ZpbGw6I0ZGRkZGRjt9LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMDVmMTMwYXtjb2xvcjojRkZGRkZGO30uZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0yNmYzZDNley0tZGlzcGxheTpmbGV4Oy0tZmxleC1kaXJlY3Rpb246Y29sdW1uOy0tY29udGFpbmVyLXdpZGdldC13aWR0aDoxMDAlOy0tY29udGFpbmVyLXdpZGdldC1oZWlnaHQ6aW5pdGlhbDstLWNvbnRhaW5lci13aWRnZXQtZmxleC1ncm93OjA7LS1jb250YWluZXItd2lkZ2V0LWFsaWduLXNlbGY6aW5pdGlhbDstLWZsZXgtd3JhcC1tb2JpbGU6d3JhcDt9LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMTFmYTUzYSAuZWxlbWVudG9yLWljb24td3JhcHBlcnt0ZXh0LWFsaWduOmNlbnRlcjt9LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMTFmYTUzYS5lbGVtZW50b3Itdmlldy1zdGFja2VkIC5lbGVtZW50b3ItaWNvbntiYWNrZ3JvdW5kLWNvbG9yOiNGRkZGRkY7fS5lbGVtZW50b3ItMTUgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTExZmE1M2EuZWxlbWVudG9yLXZpZXctZnJhbWVkIC5lbGVtZW50b3ItaWNvbiwgLmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMTFmYTUzYS5lbGVtZW50b3Itdmlldy1kZWZhdWx0IC5lbGVtZW50b3ItaWNvbntjb2xvcjojRkZGRkZGO2JvcmRlci1jb2xvcjojRkZGRkZGO30uZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0xMWZhNTNhLmVsZW1lbnRvci12aWV3LWZyYW1lZCAuZWxlbWVudG9yLWljb24sIC5lbGVtZW50b3ItMTUgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTExZmE1M2EuZWxlbWVudG9yLXZpZXctZGVmYXVsdCAuZWxlbWVudG9yLWljb24gc3Zne2ZpbGw6I0ZGRkZGRjt9LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtNjU4NTQ4Zntjb2xvcjojRkZGRkZGO31AbWVkaWEobWF4LXdpZHRoOjEwMjRweCl7LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtOGM0NTNkOXtwYWRkaW5nOjgwcHggMHB4IDgwcHggMHB4O30uZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC1kOTExNzQ5ID4gLmVsZW1lbnRvci1lbGVtZW50LXBvcHVsYXRlZHttYXJnaW46MHB4IDBweCA3MHB4IDBweDstLWUtY29sdW1uLW1hcmdpbi1yaWdodDowcHg7LS1lLWNvbHVtbi1tYXJnaW4tbGVmdDowcHg7cGFkZGluZzowJSAwJSAwJSAwJTt9fUBtZWRpYShtaW4td2lkdGg6NzY4cHgpey5lbGVtZW50b3ItMTUgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LWQ5MTE3NDl7d2lkdGg6NTguMzMzJTt9LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtZWYwNzFkNXt3aWR0aDo0MS42NjY2NjY2NyU7fS5lbGVtZW50b3ItMTUgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LWU2YmZlMGR7LS13aWR0aDo1MCU7fS5lbGVtZW50b3ItMTUgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTliYjM2NGF7LS13aWR0aDo1MCU7fS5lbGVtZW50b3ItMTUgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTUzNWRhYTN7LS13aWR0aDozMy4zMzMzJTt9LmVsZW1lbnRvci0xNSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtYzgxMmYwZHstLXdpZHRoOjY2LjY2NjYlO30uZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0yMGNlOTI1ey0td2lkdGg6NTAlO30uZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC1lMTFhYjk3ey0td2lkdGg6NTAlO30uZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0zNWVkYWJley0td2lkdGg6NTAlO30uZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0yNmYzZDNley0td2lkdGg6NTAlO319QG1lZGlhKG1heC13aWR0aDoxMDI0cHgpIGFuZCAobWluLXdpZHRoOjc2OHB4KXsuZWxlbWVudG9yLTE1IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC1kOTExNzQ5e3dpZHRoOjEwMCU7fS5lbGVtZW50b3ItMTUgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LWVmMDcxZDV7d2lkdGg6MTAwJTt9fQ=="}},"time_used":331,"timings":{"blocked":239,"dns":0,"connect":0,"send":0,"wait":92,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/themes/ashley/assets/js/magnific-popup.js?ver=1.0.0","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.911Z","timestamp":1785141582911,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/themes/ashley/assets/js/magnific-popup.js?ver=1.0.0 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:55:08 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 12491\r\nKeep-Alive: timeout=5, max=97\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":41742,"size_decoded":12857,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text","md5":"26285dc2ff2950266d433073d1e7b665","sha1":"f2c5bfd3a8299597deda30bb725ee42614fcd6cb","sha256":"90dc2a2901cff726d7a79fc830370f91b298138cb375d9a5bb733f506f2b2935","sha512":"09428a3d61249417e67b89e72055419bbb27f72f8cf9949c04899e395aa70302706e6bc1b4b2089799a968919170fb23da5ebf0aa5972cee21d808f86799bf2d","ssdeep":"768:11x9gvJxzPtwiurw50N12C7xSS8XUOU/YDUUevb7g1H:11x9gvJxzPtwiTeN/8S8kR/YDUUez01H","tlshash":"df1374d4f7ac215782b2336c9c5e11cd6e3ce132da138cafbc99226810d596c9379e79","first_seen":"2023-03-07T12:28:14Z","last_seen":"2026-07-27T12:12:28.846161Z","times_seen":284,"resource_available":true,"data":"LyohIE1hZ25pZmljIFBvcHVwIC0gdjEuMS4wIC0gMjAxNi0wMi0yMAoqIGh0dHA6Ly9kaW1zZW1lbm92LmNvbS9wbHVnaW5zL21hZ25pZmljLXBvcHVwLwoqIENvcHlyaWdodCAoYykgMjAxNiBEbWl0cnkgU2VtZW5vdjsgKi8KOyhmdW5jdGlvbiAoZmFjdG9yeSkgeyAKaWYgKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCkgeyAKIC8vIEFNRC4gUmVnaXN0ZXIgYXMgYW4gYW5vbnltb3VzIG1vZHVsZS4gCiBkZWZpbmUoWydqcXVlcnknXSwgZmFjdG9yeSk7IAogfSBlbHNlIGlmICh0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpIHsgCiAvLyBOb2RlL0NvbW1vbkpTIAogZmFjdG9yeShyZXF1aXJlKCdqcXVlcnknKSk7IAogfSBlbHNlIHsgCiAvLyBCcm93c2VyIGdsb2JhbHMgCiBmYWN0b3J5KHdpbmRvdy5qUXVlcnkgfHwgd2luZG93LlplcHRvKTsgCiB9IAogfShmdW5jdGlvbigkKSB7IAoKLyo+PmNvcmUqLwovKioKICogCiAqIE1hZ25pZmljIFBvcHVwIENvcmUgSlMgZmlsZQogKiAKICovCgoKLyoqCiAqIFByaXZhdGUgc3RhdGljIGNvbnN0YW50cwogKi8KdmFyIENMT1NFX0VWRU5UID0gJ0Nsb3NlJywKCUJFRk9SRV9DTE9TRV9FVkVOVCA9ICdCZWZvcmVDbG9zZScsCglBRlRFUl9DTE9TRV9FVkVOVCA9ICdBZnRlckNsb3NlJywKCUJFRk9SRV9BUFBFTkRfRVZFTlQgPSAnQmVmb3JlQXBwZW5kJywKCU1BUktVUF9QQVJTRV9FVkVOVCA9ICdNYXJrdXBQYXJzZScsCglPUEVOX0VWRU5UID0gJ09wZW4nLAoJQ0hBTkdFX0VWRU5UID0gJ0NoYW5nZScsCglOUyA9ICdtZnAnLAoJRVZFTlRfTlMgPSAnLicgKyBOUywKCVJFQURZX0NMQVNTID0gJ21mcC1yZWFkeScsCglSRU1PVklOR19DTEFTUyA9ICdtZnAtcmVtb3ZpbmcnLAoJUFJFVkVOVF9DTE9TRV9DTEFTUyA9ICdtZnAtcHJldmVudC1jbG9zZSc7CgoKLyoqCiAqIFByaXZhdGUgdmFycyAKICovCi8qanNoaW50IC1XMDc5ICovCnZhciBtZnAsIC8vIEFzIHdlIGhhdmUgb25seSBvbmUgaW5zdGFuY2Ugb2YgTWFnbmlmaWNQb3B1cCBvYmplY3QsIHdlIGRlZmluZSBpdCBsb2NhbGx5IHRvIG5vdCB0byB1c2UgJ3RoaXMnCglNYWduaWZpY1BvcHVwID0gZnVuY3Rpb24oKXt9LAoJX2lzSlEgPSAhISh3aW5kb3cualF1ZXJ5KSwKCV9wcmV2U3RhdHVzLAoJX3dpbmRvdyA9ICQod2luZG93KSwKCV9kb2N1bWVudCwKCV9wcmV2Q29udGVudFR5cGUsCglfd3JhcENsYXNzZXMsCglfY3VyclBvcHVwVHlwZTsKCgovKioKICogUHJpdmF0ZSBmdW5jdGlvbnMKICovCnZhciBfbWZwT24gPSBmdW5jdGlvbihuYW1lLCBmKSB7CgkJbWZwLmV2Lm9uKE5TICsgbmFtZSArIEVWRU5UX05TLCBmKTsKCX0sCglfZ2V0RWwgPSBmdW5jdGlvbihjbGFzc05hbWUsIGFwcGVuZFRvLCBodG1sLCByYXcpIHsKCQl2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKCQllbC5jbGFzc05hbWUgPSAnbWZwLScrY2xhc3NOYW1lOwoJCWlmKGh0bWwpIHsKCQkJZWwuaW5uZXJIVE1MID0gaHRtbDsKCQl9CgkJaWYoIXJhdykgewoJCQllbCA9ICQoZWwpOwoJCQlpZihhcHBlbmRUbykgewoJCQkJZWwuYXBwZW5kVG8oYXBwZW5kVG8pOwoJCQl9CgkJfSBlbHNlIGlmKGFwcGVuZFRvKSB7CgkJCWFwcGVuZFRvLmFwcGVuZENoaWxkKGVsKTsKCQl9CgkJcmV0dXJuIGVsOwoJfSwKCV9tZnBUcmlnZ2VyID0gZnVuY3Rpb24oZSwgZGF0YSkgewoJCW1mcC5ldi50cmlnZ2VySGFuZGxlcihOUyArIGUsIGRhdGEpOwoKCQlpZihtZnAuc3QuY2FsbGJhY2tzKSB7CgkJCS8vIGNvbnZlcnRzICJtZnBFdmVudE5hbWUiIHRvICJldmVudE5hbWUiIGNhbGxiYWNrIGFuZCB0cmlnZ2VycyBpdCBpZiBpdCdzIHByZXNlbnQKCQkJZSA9IGUuY2hhckF0KDApLnRvTG93ZXJDYXNlKCkgKyBlLnNsaWNlKDEpOwoJCQlpZihtZnAuc3QuY2FsbGJhY2tzW2VdKSB7CgkJCQltZnAuc3QuY2FsbGJhY2tzW2VdLmFwcGx5KG1mcCwgJC5pc0FycmF5KGRhdGEpID8gZGF0YSA6IFtkYXRhXSk7CgkJCX0KCQl9Cgl9LAoJX2dldENsb3NlQnRuID0gZnVuY3Rpb24odHlwZSkgewoJCWlmKHR5cGUgIT09IF9jdXJyUG9wdXBUeXBlIHx8ICFtZnAuY3VyclRlbXBsYXRlLmNsb3NlQnRuKSB7CgkJCW1mcC5jdXJyVGVtcGxhdGUuY2xvc2VCdG4gPSAkKCBtZnAuc3QuY2xvc2VNYXJrdXAucmVwbGFjZSgnJXRpdGxlJScsIG1mcC5zdC50Q2xvc2UgKSApOwoJCQlfY3VyclBvcHVwVHlwZSA9IHR5cGU7CgkJfQoJCXJldHVybiBtZnAuY3VyclRlbXBsYXRlLmNsb3NlQnRuOwoJfSwKCS8vIEluaXRpYWxpemUgTWFnbmlmaWMgUG9wdXAgb25seSB3aGVuIGNhbGxlZCBhdCBsZWFzdCBvbmNlCglfY2hlY2tJbnN0YW5jZSA9IGZ1bmN0aW9uKCkgewoJCWlmKCEkLm1hZ25pZmljUG9wdXAuaW5zdGFuY2UpIHsKCQkJLypqc2hpbnQgLVcwMjAgKi8KCQkJbWZwID0gbmV3IE1hZ25pZmljUG9wdXAoKTsKCQkJbWZwLmluaXQoKTsKCQkJJC5tYWduaWZpY1BvcHVwLmluc3RhbmNlID0gbWZwOwoJCX0KCX0sCgkvLyBDU1MgdHJhbnNpdGlvbiBkZXRlY3Rpb24sIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNzI2NDg5OS9kZXRlY3QtY3NzLXRyYW5zaXRpb25zLXVzaW5nLWphdmFzY3JpcHQtYW5kLXdpdGhvdXQtbW9kZXJuaXpyCglzdXBwb3J0c1RyYW5zaXRpb25zID0gZnVuY3Rpb24oKSB7CgkJdmFyIHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJykuc3R5bGUsIC8vICdzJyBmb3Igc3R5bGUuIGJldHRlciB0byBjcmVhdGUgYW4gZWxlbWVudCBpZiBib2R5IHlldCB0byBleGlzdAoJCQl2ID0gWydtcycsJ08nLCdNb3onLCdXZWJraXQnXTsgLy8gJ3YnIGZvciB2ZW5kb3IKCgkJaWYoIHNbJ3RyYW5zaXRpb24nXSAhPT0gdW5kZWZpbmVkICkgewoJCQlyZXR1cm4gdHJ1ZTsgCgkJfQoJCQkKCQl3aGlsZSggdi5sZW5ndGggKSB7CgkJCWlmKCB2LnBvcCgpICsgJ1RyYW5zaXRpb24nIGluIHMgKSB7CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoJCX0KCQkJCQoJCXJldHVybiBmYWxzZTsKCX07CgoKCi8qKgogKiBQdWJsaWMgZnVuY3Rpb25zCiAqLwpNYWduaWZpY1BvcHVwLnByb3RvdHlwZSA9IHsKCgljb25zdHJ1Y3RvcjogTWFnbmlmaWNQb3B1cCwKCgkvKioKCSAqIEluaXRpYWxpemVzIE1hZ25pZmljIFBvcHVwIHBsdWdpbi4gCgkgKiBUaGlzIGZ1bmN0aW9uIGlzIHRyaWdnZXJlZCBvbmx5IG9uY2Ugd2hlbiAkLmZuLm1hZ25pZmljUG9wdXAgb3IgJC5tYWduaWZpY1BvcHVwIGlzIGV4ZWN1dGVkCgkgKi8KCWluaXQ6IGZ1bmN0aW9uKCkgewoJCXZhciBhcHBWZXJzaW9uID0gbmF2aWdhdG9yLmFwcFZlcnNpb247CgkJbWZwLmlzTG93SUUgPSBtZnAuaXNJRTggPSBkb2N1bWVudC5hbGwgJiYgIWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXI7CgkJbWZwLmlzQW5kcm9pZCA9ICgvYW5kcm9pZC9naSkudGVzdChhcHBWZXJzaW9uKTsKCQltZnAuaXNJT1MgPSAoL2lwaG9uZXxpcGFkfGlwb2QvZ2kpLnRlc3QoYXBwVmVyc2lvbik7CgkJbWZwLnN1cHBvcnRzVHJhbnNpdGlvbiA9IHN1cHBvcnRzVHJhbnNpdGlvbnMoKTsKCgkJLy8gV2UgZGlzYWJsZSBmaXhlZCBwb3NpdGlvbmVkIGxpZ2h0Ym94IG9uIGRldmljZXMgdGhhdCBkb24ndCBoYW5kbGUgaXQgbmljZWx5LgoJCS8vIElmIHlvdSBrbm93IGEgYmV0dGVyIHdheSBvZiBkZXRlY3RpbmcgdGhpcyAtIGxldCBtZSBrbm93LgoJCW1mcC5wcm9iYWJseU1vYmlsZSA9IChtZnAuaXNBbmRyb2lkIHx8IG1mcC5pc0lPUyB8fCAvKE9wZXJhIE1pbmkpfEtpbmRsZXx3ZWJPU3xCbGFja0JlcnJ5fChPcGVyYSBNb2JpKXwoV2luZG93cyBQaG9uZSl8SUVNb2JpbGUvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICk7CgkJX2RvY3VtZW50ID0gJChkb2N1bWVudCk7CgoJCW1mcC5wb3B1cHNDYWNoZSA9IHt9OwoJfSwKCgkvKioKCSAqIE9wZW5zIHBvcHVwCgkgKiBAcGFyYW0gIGRhdGEgW2Rlc2NyaXB0aW9uXQoJICovCglvcGVuOiBmdW5jdGlvbihkYXRhKSB7CgoJCXZhciBpOwoKCQlpZihkYXRhLmlzT2JqID09PSBmYWxzZSkgeyAKCQkJLy8gY29udmVydCBqUXVlcnkgY29sbGVjdGlvbiB0byBhcnJheSB0byBhdm9pZCBjb25mbGljdHMgbGF0ZXIKCQkJbWZwLml0ZW1zID0gZGF0YS5pdGVtcy50b0FycmF5KCk7CgoJCQltZnAuaW5kZXggPSAwOwoJCQl2YXIgaXRlbXMgPSBkYXRhLml0ZW1zLAoJCQkJaXRlbTsKCQkJZm9yKGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHsKCQkJCWl0ZW0gPSBpdGVtc1tpXTsKCQkJCWlmKGl0ZW0ucGFyc2VkKSB7CgkJCQkJaXRlbSA9IGl0ZW0uZWxbMF07CgkJCQl9CgkJCQlpZihpdGVtID09PSBkYXRhLmVsWzBdKSB7CgkJCQkJbWZwLmluZGV4ID0gaTsKCQkJCQlicmVhazsKCQkJCX0KCQkJfQoJCX0gZWxzZSB7CgkJCW1mcC5pdGVtcyA9ICQuaXNBcnJheShkYXRhLml0ZW1zKSA/IGRhdGEuaXRlbXMgOiBbZGF0YS5pdGVtc107CgkJCW1mcC5pbmRleCA9IGRhdGEuaW5kZXggfHwgMDsKCQl9CgoJCS8vIGlmIHBvcHVwIGlzIGFscmVhZHkgb3BlbmVkIC0gd2UganVzdCB1cGRhdGUgdGhlIGNvbnRlbnQKCQlpZihtZnAuaXNPcGVuKSB7CgkJCW1mcC51cGRhdGVJdGVtSFRNTCgpOwoJCQlyZXR1cm47CgkJfQoJCQoJCW1mcC50eXBlcyA9IFtdOyAKCQlfd3JhcENsYXNzZXMgPSAnJzsKCQlpZihkYXRhLm1haW5FbCAmJiBkYXRhLm1haW5FbC5sZW5ndGgpIHsKCQkJbWZwLmV2ID0gZGF0YS5tYWluRWwuZXEoMCk7CgkJfSBlbHNlIHsKCQkJbWZwLmV2ID0gX2RvY3VtZW50OwoJCX0KCgkJaWYoZGF0YS5rZXkpIHsKCQkJaWYoIW1mcC5wb3B1cHNDYWNoZVtkYXRhLmtleV0pIHsKCQkJCW1mcC5wb3B1cHNDYWNoZVtkYXRhLmtleV0gPSB7fTsKCQkJfQoJCQltZnAuY3VyclRlbXBsYXRlID0gbWZwLnBvcHVwc0NhY2hlW2RhdGEua2V5XTsKCQl9IGVsc2UgewoJCQltZnAuY3VyclRlbXBsYXRlID0ge307CgkJfQoKCgoJCW1mcC5zdCA9ICQuZXh0ZW5kKHRydWUsIHt9LCAkLm1hZ25pZmljUG9wdXAuZGVmYXVsdHMsIGRhdGEgKTsgCgkJbWZwLmZpeGVkQ29udGVudFBvcyA9IG1mcC5zdC5maXhlZENvbnRlbnRQb3MgPT09ICdhdXRvJyA/ICFtZnAucHJvYmFibHlNb2JpbGUgOiBtZnAuc3QuZml4ZWRDb250ZW50UG9zOwoKCQlpZihtZnAuc3QubW9kYWwpIHsKCQkJbWZwLnN0LmNsb3NlT25Db250ZW50Q2xpY2sgPSBmYWxzZTsKCQkJbWZwLnN0LmNsb3NlT25CZ0NsaWNrID0gZmFsc2U7CgkJCW1mcC5zdC5zaG93Q2xvc2VCdG4gPSBmYWxzZTsKCQkJbWZwLnN0LmVuYWJsZUVzY2FwZUtleSA9IGZhbHNlOwoJCX0KCQkKCgkJLy8gQnVpbGRpbmcgbWFya3VwCgkJLy8gbWFpbiBjb250YWluZXJzIGFyZSBjcmVhdGVkIG9ubHkgb25jZQoJCWlmKCFtZnAuYmdPdmVybGF5KSB7CgoJCQkvLyBEYXJrIG92ZXJsYXkKCQkJbWZwLmJnT3ZlcmxheSA9IF9nZXRFbCgnYmcnKS5vbignY2xpY2snK0VWRU5UX05TLCBmdW5jdGlvbigpIHsKCQkJCW1mcC5jbG9zZSgpOwoJCQl9KTsKCgkJCW1mcC53cmFwID0gX2dldEVsKCd3cmFwJykuYXR0cigndGFiaW5kZXgnLCAtMSkub24oJ2NsaWNrJytFVkVOVF9OUywgZnVuY3Rpb24oZSkgewoJCQkJaWYobWZwLl9jaGVja0lmQ2xvc2UoZS50YXJnZXQpKSB7CgkJCQkJbWZwLmNsb3NlKCk7CgkJCQl9CgkJCX0pOwoKCQkJbWZwLmNvbnRhaW5lciA9IF9nZXRFbCgnY29udGFpbmVyJywgbWZwLndyYXApOwoJCX0KCgkJbWZwLmNvbnRlbnRDb250YWluZXIgPSBfZ2V0RWwoJ2NvbnRlbnQnKTsKCQlpZihtZnAuc3QucHJlbG9hZGVyKSB7CgkJCW1mcC5wcmVsb2FkZXIgPSBfZ2V0RWwoJ3ByZWxvYWRlcicsIG1mcC5jb250YWluZXIsIG1mcC5zdC50TG9hZGluZyk7CgkJfQoKCgkJLy8gSW5pdGlhbGl6aW5nIG1vZHVsZXMKCQl2YXIgbW9kdWxlcyA9ICQubWFnbmlmaWNQb3B1cC5tb2R1bGVzOwoJCWZvcihpID0gMDsgaSA8IG1vZHVsZXMubGVuZ3RoOyBpKyspIHsKCQkJdmFyIG4gPSBtb2R1bGVzW2ldOwoJCQluID0gbi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIG4uc2xpY2UoMSk7CgkJCW1mcFsnaW5pdCcrbl0uY2FsbChtZnApOwoJCX0KCQlfbWZwVHJpZ2dlcignQmVmb3JlT3BlbicpOwoKCgkJaWYobWZwLnN0LnNob3dDbG9zZUJ0bikgewoJCQkvLyBDbG9zZSBidXR0b24KCQkJaWYoIW1mcC5zdC5jbG9zZUJ0bkluc2lkZSkgewoJCQkJbWZwLndyYXAuYXBwZW5kKCBfZ2V0Q2xvc2VCdG4oKSApOwoJCQl9IGVsc2UgewoJCQkJX21mcE9uKE1BUktVUF9QQVJTRV9FVkVOVCwgZnVuY3Rpb24oZSwgdGVtcGxhdGUsIHZhbHVlcywgaXRlbSkgewoJCQkJCXZhbHVlcy5jbG9zZV9yZXBsYWNlV2l0aCA9IF9nZXRDbG9zZUJ0bihpdGVtLnR5cGUpOwoJCQkJfSk7CgkJCQlfd3JhcENsYXNzZXMgKz0gJyBtZnAtY2xvc2UtYnRuLWluJzsKCQkJfQoJCX0KCgkJaWYobWZwLnN0LmFsaWduVG9wKSB7CgkJCV93cmFwQ2xhc3NlcyArPSAnIG1mcC1hbGlnbi10b3AnOwoJCX0KCgkKCgkJaWYobWZwLmZpeGVkQ29udGVudFBvcykgewoJCQltZnAud3JhcC5jc3MoewoJCQkJb3ZlcmZsb3c6IG1mcC5zdC5vdmVyZmxvd1ksCgkJCQlvdmVyZmxvd1g6ICdoaWRkZW4nLAoJCQkJb3ZlcmZsb3dZOiBtZnAuc3Qub3ZlcmZsb3dZCgkJCX0pOwoJCX0gZWxzZSB7CgkJCW1mcC53cmFwLmNzcyh7IAoJCQkJdG9wOiBfd2luZG93LnNjcm9sbFRvcCgpLAoJCQkJcG9zaXRpb246ICdhYnNvbHV0ZScKCQkJfSk7CgkJfQoJCWlmKCBtZnAuc3QuZml4ZWRCZ1BvcyA9PT0gZmFsc2UgfHwgKG1mcC5zdC5maXhlZEJnUG9zID09PSAnYXV0bycgJiYgIW1mcC5maXhlZENvbnRlbnRQb3MpICkgewoJCQltZnAuYmdPdmVybGF5LmNzcyh7CgkJCQloZWlnaHQ6IF9kb2N1bWVudC5oZWlnaHQoKSwKCQkJCXBvc2l0aW9uOiAnYWJzb2x1dGUnCgkJCX0pOwoJCX0KCgkJCgoJCWlmKG1mcC5zdC5lbmFibGVFc2NhcGVLZXkpIHsKCQkJLy8gQ2xvc2Ugb24gRVNDIGtleQoJCQlfZG9jdW1lbnQub24oJ2tleXVwJyArIEVWRU5UX05TLCBmdW5jdGlvbihlKSB7CgkJCQlpZihlLmtleUNvZGUgPT09IDI3KSB7CgkJCQkJbWZwLmNsb3NlKCk7CgkJCQl9CgkJCX0pOwoJCX0KCgkJX3dpbmRvdy5vbigncmVzaXplJyArIEVWRU5UX05TLCBmdW5jdGlvbigpIHsKCQkJbWZwLnVwZGF0ZVNpemUoKTsKCQl9KTsKCgoJCWlmKCFtZnAuc3QuY2xvc2VPbkNvbnRlbnRDbGljaykgewoJCQlfd3JhcENsYXNzZXMgKz0gJyBtZnAtYXV0by1jdXJzb3InOwoJCX0KCQkKCQlpZihfd3JhcENsYXNzZXMpCgkJCW1mcC53cmFwLmFkZENsYXNzKF93cmFwQ2xhc3Nlcyk7CgoKCQkvLyB0aGlzIHRyaWdnZXJzIHJlY2FsY3VsYXRpb24gb2YgbGF5b3V0LCBzbyB3ZSBnZXQgaXQgb25jZSB0byBub3QgdG8gdHJpZ2dlciB0d2ljZQoJCXZhciB3aW5kb3dIZWlnaHQgPSBtZnAud0ggPSBfd2luZG93LmhlaWdodCgpOwoKCQkKCQl2YXIgd2luZG93U3R5bGVzID0ge307CgoJCWlmKCBtZnAuZml4ZWRDb250ZW50UG9zICkgewogICAgICAgICAgICBpZihtZnAuX2hhc1Njcm9sbEJhcih3aW5kb3dIZWlnaHQpKXsKICAgICAgICAgICAgICAgIHZhciBzID0gbWZwLl9nZXRTY3JvbGxiYXJTaXplKCk7CiAgICAgICAgICAgICAgICBpZihzKSB7CiAgICAgICAgICAgICAgICAgICAgd2luZG93U3R5bGVzLm1hcmdpblJpZ2h0ID0gczsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCgkJaWYobWZwLmZpeGVkQ29udGVudFBvcykgewoJCQlpZighbWZwLmlzSUU3KSB7CgkJCQl3aW5kb3dTdHlsZXMub3ZlcmZsb3cgPSAnaGlkZGVuJzsKCQkJfSBlbHNlIHsKCQkJCS8vIGllNyBkb3VibGUtc2Nyb2xsIGJ1ZwoJCQkJJCgnYm9keSwgaHRtbCcpLmNzcygnb3ZlcmZsb3cnLCAnaGlkZGVuJyk7CgkJCX0KCQl9CgoJCQoJCQoJCXZhciBjbGFzc2VzVG9hZGQgPSBtZnAuc3QubWFpbkNsYXNzOwoJCWlmKG1mcC5pc0lFNykgewoJCQljbGFzc2VzVG9hZGQgKz0gJyBtZnAtaWU3JzsKCQl9CgkJaWYoY2xhc3Nlc1RvYWRkKSB7CgkJCW1mcC5fYWRkQ2xhc3NUb01GUCggY2xhc3Nlc1RvYWRkICk7CgkJfQoKCQkvLyBhZGQgY29udGVudAoJCW1mcC51cGRhdGVJdGVtSFRNTCgpOwoKCQlfbWZwVHJpZ2dlcignQnVpbGRDb250cm9scycpOwoKCQkvLyByZW1vdmUgc2Nyb2xsYmFyLCBhZGQgbWFyZ2luIGUudC5jCgkJJCgnaHRtbCcpLmNzcyh3aW5kb3dTdHlsZXMpOwoJCQoJCS8vIGFkZCBldmVyeXRoaW5nIHRvIERPTQoJCW1mcC5iZ092ZXJsYXkuYWRkKG1mcC53cmFwKS5wcmVwZW5kVG8oIG1mcC5zdC5wcmVwZW5kVG8gfHwgJChkb2N1bWVudC5ib2R5KSApOwoKCQkvLyBTYXZlIGxhc3QgZm9jdXNlZCBlbGVtZW50CgkJbWZwLl9sYXN0Rm9jdXNlZEVsID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsKCQkKCQkvLyBXYWl0IGZvciBuZXh0IGN5Y2xlIHRvIGFsbG93IENTUyB0cmFuc2l0aW9uCgkJc2V0VGltZW91dChmdW5jdGlvbigpIHsKCQkJCgkJCWlmKG1mcC5jb250ZW50KSB7CgkJCQltZnAuX2FkZENsYXNzVG9NRlAoUkVBRFlfQ0xBU1MpOwoJCQkJbWZwLl9zZXRGb2N1cygpOwoJCQl9IGVsc2UgewoJCQkJLy8gaWYgY29udGVudCBpcyBub3QgZGVmaW5lZCAobm90IGxvYWRlZCBlLnQuYykgd2UgYWRkIGNsYXNzIG9ubHkgZm9yIEJHCgkJCQltZnAuYmdPdmVybGF5LmFkZENsYXNzKFJFQURZX0NMQVNTKTsKCQkJfQoJCQkKCQkJLy8gVHJhcCB0aGUgZm9jdXMgaW4gcG9wdXAKCQkJX2RvY3VtZW50Lm9uKCdmb2N1c2luJyArIEVWRU5UX05TLCBtZnAuX29uRm9jdXNJbik7CgoJCX0sIDE2KTsKCgkJbWZwLmlzT3BlbiA9IHRydWU7CgkJbWZwLnVwZGF0ZVNpemUod2luZG93SGVpZ2h0KTsKCQlfbWZwVHJpZ2dlcihPUEVOX0VWRU5UKTsKCgkJcmV0dXJuIGRhdGE7Cgl9LAoKCS8qKgoJICogQ2xvc2VzIHRoZSBwb3B1cAoJICovCgljbG9zZTogZnVuY3Rpb24oKSB7CgkJaWYoIW1mcC5pc09wZW4pIHJldHVybjsKCQlfbWZwVHJpZ2dlcihCRUZPUkVfQ0xPU0VfRVZFTlQpOwoKCQltZnAuaXNPcGVuID0gZmFsc2U7CgkJLy8gZm9yIENTUzMgYW5pbWF0aW9uCgkJaWYobWZwLnN0LnJlbW92YWxEZWxheSAmJiAhbWZwLmlzTG93SUUgJiYgbWZwLnN1cHBvcnRzVHJhbnNpdGlvbiApICB7CgkJCW1mcC5fYWRkQ2xhc3NUb01GUChSRU1PVklOR19DTEFTUyk7CgkJCXNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CgkJCQltZnAuX2Nsb3NlKCk7CgkJCX0sIG1mcC5zdC5yZW1vdmFsRGVsYXkpOwoJCX0gZWxzZSB7CgkJCW1mcC5fY2xvc2UoKTsKCQl9Cgl9LAoKCS8qKgoJICogSGVscGVyIGZvciBjbG9zZSgpIGZ1bmN0aW9uCgkgKi8KCV9jbG9zZTogZnVuY3Rpb24oKSB7CgkJX21mcFRyaWdnZXIoQ0xPU0VfRVZFTlQpOwoKCQl2YXIgY2xhc3Nlc1RvUmVtb3ZlID0gUkVNT1ZJTkdfQ0xBU1MgKyAnICcgKyBSRUFEWV9DTEFTUyArICcgJzsKCgkJbWZwLmJnT3ZlcmxheS5kZXRhY2goKTsKCQltZnAud3JhcC5kZXRhY2goKTsKCQltZnAuY29udGFpbmVyLmVtcHR5KCk7CgoJCWlmKG1mcC5zdC5tYWluQ2xhc3MpIHsKCQkJY2xhc3Nlc1RvUmVtb3ZlICs9IG1mcC5zdC5tYWluQ2xhc3MgKyAnICc7CgkJfQoKCQltZnAuX3JlbW92ZUNsYXNzRnJvbU1GUChjbGFzc2VzVG9SZW1vdmUpOwoKCQlpZihtZnAuZml4ZWRDb250ZW50UG9zKSB7CgkJCXZhciB3aW5kb3dTdHlsZXMgPSB7bWFyZ2luUmlnaHQ6ICcnfTsKCQkJaWYobWZwLmlzSUU3KSB7CgkJCQkkKCdib2R5LCBodG1sJykuY3NzKCdvdmVyZmxvdycsICcnKTsKCQkJfSBlbHNlIHsKCQkJCXdpbmRvd1N0eWxlcy5vdmVyZmxvdyA9ICcnOwoJCQl9CgkJCSQoJ2h0bWwnKS5jc3Mod2luZG93U3R5bGVzKTsKCQl9CgkJCgkJX2RvY3VtZW50Lm9mZigna2V5dXAnICsgRVZFTlRfTlMgKyAnIGZvY3VzaW4nICsgRVZFTlRfTlMpOwoJCW1mcC5ldi5vZmYoRVZFTlRfTlMpOwoKCQkvLyBjbGVhbiB1cCBET00gZWxlbWVudHMgdGhhdCBhcmVuJ3QgcmVtb3ZlZAoJCW1mcC53cmFwLmF0dHIoJ2NsYXNzJywgJ21mcC13cmFwJykucmVtb3ZlQXR0cignc3R5bGUnKTsKCQltZnAuYmdPdmVybGF5LmF0dHIoJ2NsYXNzJywgJ21mcC1iZycpOwoJCW1mcC5jb250YWluZXIuYXR0cignY2xhc3MnLCAnbWZwLWNvbnRhaW5lcicpOwoKCQkvLyByZW1vdmUgY2xvc2UgYnV0dG9uIGZyb20gdGFyZ2V0IGVsZW1lbnQKCQlpZihtZnAuc3Quc2hvd0Nsb3NlQnRuICYmCgkJKCFtZnAuc3QuY2xvc2VCdG5JbnNpZGUgfHwgbWZwLmN1cnJUZW1wbGF0ZVttZnAuY3Vyckl0ZW0udHlwZV0gPT09IHRydWUpKSB7CgkJCWlmKG1mcC5jdXJyVGVtcGxhdGUuY2xvc2VCdG4pCgkJCQltZnAuY3VyclRlbXBsYXRlLmNsb3NlQnRuLmRldGFjaCgpOwoJCX0KCgoJCWlmKG1mcC5zdC5hdXRvRm9jdXNMYXN0ICYmIG1mcC5fbGFzdEZvY3VzZWRFbCkgewoJCQkkKG1mcC5fbGFzdEZvY3VzZWRFbCkuZm9jdXMoKTsgLy8gcHV0IHRhYiBmb2N1cyBiYWNrCgkJfQoJCW1mcC5jdXJySXRlbSA9IG51bGw7CQoJCW1mcC5jb250ZW50ID0gbnVsbDsKCQltZnAuY3VyclRlbXBsYXRlID0gbnVsbDsKCQltZnAucHJldkhlaWdodCA9IDA7CgoJCV9tZnBUcmlnZ2VyKEFGVEVSX0NMT1NFX0VWRU5UKTsKCX0sCgkKCXVwZGF0ZVNpemU6IGZ1bmN0aW9uKHdpbkhlaWdodCkgewoKCQlpZihtZnAuaXNJT1MpIHsKCQkJLy8gZml4ZXMgaU9TIG5hdiBiYXJzIGh0dHBzOi8vZ2l0aHViLmNvbS9kaW1zZW1lbm92L01hZ25pZmljLVBvcHVwL2lzc3Vlcy8yCgkJCXZhciB6b29tTGV2ZWwgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggLyB3aW5kb3cuaW5uZXJXaWR0aDsKCQkJdmFyIGhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodCAqIHpvb21MZXZlbDsKCQkJbWZwLndyYXAuY3NzKCdoZWlnaHQnLCBoZWlnaHQpOwoJCQltZnAud0ggPSBoZWlnaHQ7CgkJfSBlbHNlIHsKCQkJbWZwLndIID0gd2luSGVpZ2h0IHx8IF93aW5kb3cuaGVpZ2h0KCk7CgkJfQoJCS8vIEZpeGVzICM4NDogcG9wdXAgaW5jb3JyZWN0bHkgcG9zaXRpb25lZCB3aXRoIHBvc2l0aW9uOnJlbGF0aXZlIG9uIGJvZHkKCQlpZighbWZwLmZpeGVkQ29udGVudFBvcykgewoJCQltZnAud3JhcC5jc3MoJ2hlaWdodCcsIG1mcC53SCk7CgkJfQoKCQlfbWZwVHJpZ2dlcignUmVzaXplJyk7CgoJfSwKCgkvKioKCSAqIFNldCBjb250ZW50IG9mIHBvcHVwIGJhc2VkIG9uIGN1cnJlbnQgaW5kZXgKCSAqLwoJdXBkYXRlSXRlbUhUTUw6IGZ1bmN0aW9uKCkgewoJCXZhciBpdGVtID0gbWZwLml0ZW1zW21mcC5pbmRleF07CgoJCS8vIERldGFjaCBhbmQgcGVyZm9ybSBtb2RpZmljYXRpb25zCgkJbWZwLmNvbnRlbnRDb250YWluZXIuZGV0YWNoKCk7CgoJCWlmKG1mcC5jb250ZW50KQoJCQltZnAuY29udGVudC5kZXRhY2goKTsKCgkJaWYoIWl0ZW0ucGFyc2VkKSB7CgkJCWl0ZW0gPSBtZnAucGFyc2VFbCggbWZwLmluZGV4ICk7CgkJfQoKCQl2YXIgdHlwZSA9IGl0ZW0udHlwZTsKCgkJX21mcFRyaWdnZXIoJ0JlZm9yZUNoYW5nZScsIFttZnAuY3Vyckl0ZW0gPyBtZnAuY3Vyckl0ZW0udHlwZSA6ICcnLCB0eXBlXSk7CgkJLy8gQmVmb3JlQ2hhbmdlIGV2ZW50IHdvcmtzIGxpa2Ugc286CgkJLy8gX21mcE9uKCdCZWZvcmVDaGFuZ2UnLCBmdW5jdGlvbihlLCBwcmV2VHlwZSwgbmV3VHlwZSkgeyB9KTsKCgkJbWZwLmN1cnJJdGVtID0gaXRlbTsKCgkJaWYoIW1mcC5jdXJyVGVtcGxhdGVbdHlwZV0pIHsKCQkJdmFyIG1hcmt1cCA9IG1mcC5zdFt0eXBlXSA/IG1mcC5zdFt0eXBlXS5tYXJrdXAgOiBmYWxzZTsKCgkJCS8vIGFsbG93cyB0byBtb2RpZnkgbWFya3VwCgkJCV9tZnBUcmlnZ2VyKCdGaXJzdE1hcmt1cFBhcnNlJywgbWFya3VwKTsKCgkJCWlmKG1hcmt1cCkgewoJCQkJbWZwLmN1cnJUZW1wbGF0ZVt0eXBlXSA9ICQobWFya3VwKTsKCQkJfSBlbHNlIHsKCQkJCS8vIGlmIHRoZXJlIGlzIG5vIG1hcmt1cCBmb3VuZCB3ZSBqdXN0IGRlZmluZSB0aGF0IHRlbXBsYXRlIGlzIHBhcnNlZAoJCQkJbWZwLmN1cnJUZW1wbGF0ZVt0eXBlXSA9IHRydWU7CgkJCX0KCQl9CgoJCWlmKF9wcmV2Q29udGVudFR5cGUgJiYgX3ByZXZDb250ZW50VHlwZSAhPT0gaXRlbS50eXBlKSB7CgkJCW1mcC5jb250YWluZXIucmVtb3ZlQ2xhc3MoJ21mcC0nK19wcmV2Q29udGVudFR5cGUrJy1ob2xkZXInKTsKCQl9CgoJCXZhciBuZXdDb250ZW50ID0gbWZwWydnZXQnICsgdHlwZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHR5cGUuc2xpY2UoMSldKGl0ZW0sIG1mcC5jdXJyVGVtcGxhdGVbdHlwZV0pOwoJCW1mcC5hcHBlbmRDb250ZW50KG5ld0NvbnRlbnQsIHR5cGUpOwoKCQlpdGVtLnByZWxvYWRlZCA9IHRydWU7CgoJCV9tZnBUcmlnZ2VyKENIQU5HRV9FVkVOVCwgaXRlbSk7CgkJX3ByZXZDb250ZW50VHlwZSA9IGl0ZW0udHlwZTsKCgkJLy8gQXBwZW5kIGNvbnRhaW5lciBiYWNrIGFmdGVyIGl0cyBjb250ZW50IGNoYW5nZWQKCQltZnAuY29udGFpbmVyLnByZXBlbmQobWZwLmNvbnRlbnRDb250YWluZXIpOwoKCQlfbWZwVHJpZ2dlcignQWZ0ZXJDaGFuZ2UnKTsKCX0sCgoKCS8qKgoJICogU2V0IEhUTUwgY29udGVudCBvZiBwb3B1cAoJICovCglhcHBlbmRDb250ZW50OiBmdW5jdGlvbihuZXdDb250ZW50LCB0eXBlKSB7CgkJbWZwLmNvbnRlbnQgPSBuZXdDb250ZW50OwoKCQlpZihuZXdDb250ZW50KSB7CgkJCWlmKG1mcC5zdC5zaG93Q2xvc2VCdG4gJiYgbWZwLnN0LmNsb3NlQnRuSW5zaWRlICYmCgkJCQltZnAuY3VyclRlbXBsYXRlW3R5cGVdID09PSB0cnVlKSB7CgkJCQkvLyBpZiB0aGVyZSBpcyBubyBtYXJrdXAsIHdlIGp1c3QgYXBwZW5kIGNsb3NlIGJ1dHRvbiBlbGVtZW50IGluc2lkZQoJCQkJaWYoIW1mcC5jb250ZW50LmZpbmQoJy5tZnAtY2xvc2UnKS5sZW5ndGgpIHsKCQkJCQltZnAuY29udGVudC5hcHBlbmQoX2dldENsb3NlQnRuKCkpOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJbWZwLmNvbnRlbnQgPSBuZXdDb250ZW50OwoJCQl9CgkJfSBlbHNlIHsKCQkJbWZwLmNvbnRlbnQgPSAnJzsKCQl9CgoJCV9tZnBUcmlnZ2VyKEJFRk9SRV9BUFBFTkRfRVZFTlQpOwoJCW1mcC5jb250YWluZXIuYWRkQ2xhc3MoJ21mcC0nK3R5cGUrJy1ob2xkZXInKTsKCgkJbWZwLmNvbnRlbnRDb250YWluZXIuYXBwZW5kKG1mcC5jb250ZW50KTsKCX0sCgoKCS8qKgoJICogQ3JlYXRlcyBNYWduaWZpYyBQb3B1cCBkYXRhIG9iamVjdCBiYXNlZCBvbiBnaXZlbiBkYXRhCgkgKiBAcGFyYW0gIHtpbnR9IGluZGV4IEluZGV4IG9mIGl0ZW0gdG8gcGFyc2UKCSAqLwoJcGFyc2VFbDogZnVuY3Rpb24oaW5kZXgpIHsKCQl2YXIgaXRlbSA9IG1mcC5pdGVtc1tpbmRleF0sCgkJCXR5cGU7CgoJCWlmKGl0ZW0udGFnTmFtZSkgewoJCQlpdGVtID0geyBlbDogJChpdGVtKSB9OwoJCX0gZWxzZSB7CgkJCXR5cGUgPSBpdGVtLnR5cGU7CgkJCWl0ZW0gPSB7IGRhdGE6IGl0ZW0sIHNyYzogaXRlbS5zcmMgfTsKCQl9CgoJCWlmKGl0ZW0uZWwpIHsKCQkJdmFyIHR5cGVzID0gbWZwLnR5cGVzOwoKCQkJLy8gY2hlY2sgZm9yICdtZnAtVFlQRScgY2xhc3MKCQkJZm9yKHZhciBpID0gMDsgaSA8IHR5cGVzLmxlbmd0aDsgaSsrKSB7CgkJCQlpZiggaXRlbS5lbC5oYXNDbGFzcygnbWZwLScrdHlwZXNbaV0pICkgewoJCQkJCXR5cGUgPSB0eXBlc1tpXTsKCQkJCQlicmVhazsKCQkJCX0KCQkJfQoKCQkJaXRlbS5zcmMgPSBpdGVtLmVsLmF0dHIoJ2RhdGEtbWZwLXNyYycpOwoJCQlpZighaXRlbS5zcmMpIHsKCQkJCWl0ZW0uc3JjID0gaXRlbS5lbC5hdHRyKCdocmVmJyk7CgkJCX0KCQl9CgoJCWl0ZW0udHlwZSA9IHR5cGUgfHwgbWZwLnN0LnR5cGUgfHwgJ2lubGluZSc7CgkJaXRlbS5pbmRleCA9IGluZGV4OwoJCWl0ZW0ucGFyc2VkID0gdHJ1ZTsKCQltZnAuaXRlbXNbaW5kZXhdID0gaXRlbTsKCQlfbWZwVHJpZ2dlcignRWxlbWVudFBhcnNlJywgaXRlbSk7CgoJCXJldHVybiBtZnAuaXRlbXNbaW5kZXhdOwoJfSwKCgoJLyoqCgkgKiBJbml0aWFsaXplcyBzaW5nbGUgcG9wdXAgb3IgYSBncm91cCBvZiBwb3B1cHMKCSAqLwoJYWRkR3JvdXA6IGZ1bmN0aW9uKGVsLCBvcHRpb25zKSB7CgkJdmFyIGVIYW5kbGVyID0gZnVuY3Rpb24oZSkgewoJCQllLm1mcEVsID0gdGhpczsKCQkJbWZwLl9vcGVuQ2xpY2soZSwgZWwsIG9wdGlvbnMpOwoJCX07CgoJCWlmKCFvcHRpb25zKSB7CgkJCW9wdGlvbnMgPSB7fTsKCQl9CgoJCXZhciBlTmFtZSA9ICdjbGljay5tYWduaWZpY1BvcHVwJzsKCQlvcHRpb25zLm1haW5FbCA9IGVsOwoKCQlpZihvcHRpb25zLml0ZW1zKSB7CgkJCW9wdGlvbnMuaXNPYmogPSB0cnVlOwoJCQllbC5vZmYoZU5hbWUpLm9uKGVOYW1lLCBlSGFuZGxlcik7CgkJfSBlbHNlIHsKCQkJb3B0aW9ucy5pc09iaiA9IGZhbHNlOwoJCQlpZihvcHRpb25zLmRlbGVnYXRlKSB7CgkJCQllbC5vZmYoZU5hbWUpLm9uKGVOYW1lLCBvcHRpb25zLmRlbGVnYXRlICwgZUhhbmRsZXIpOwoJCQl9IGVsc2UgewoJCQkJb3B0aW9ucy5pdGVtcyA9IGVsOwoJCQkJZWwub2ZmKGVOYW1lKS5vbihlTmFtZSwgZUhhbmRsZXIpOwoJCQl9CgkJfQoJfSwKCV9vcGVuQ2xpY2s6IGZ1bmN0aW9uKGUsIGVsLCBvcHRpb25zKSB7CgkJdmFyIG1pZENsaWNrID0gb3B0aW9ucy5taWRDbGljayAhPT0gdW5kZWZpbmVkID8gb3B0aW9ucy5taWRDbGljayA6ICQubWFnbmlmaWNQb3B1cC5kZWZhdWx0cy5taWRDbGljazsKCgoJCWlmKCFtaWRDbGljayAmJiAoIGUud2hpY2ggPT09IDIgfHwgZS5jdHJsS2V5IHx8IGUubWV0YUtleSB8fCBlLmFsdEtleSB8fCBlLnNoaWZ0S2V5ICkgKSB7CgkJCXJldHVybjsKCQl9CgoJCXZhciBkaXNhYmxlT24gPSBvcHRpb25zLmRpc2FibGVPbiAhPT0gdW5kZWZpbmVkID8gb3B0aW9ucy5kaXNhYmxlT24gOiAkLm1hZ25pZmljUG9wdXAuZGVmYXVsdHMuZGlzYWJsZU9uOwoKCQlpZihkaXNhYmxlT24pIHsKCQkJaWYoJC5pc0Z1bmN0aW9uKGRpc2FibGVPbikpIHsKCQkJCWlmKCAhZGlzYWJsZU9uLmNhbGwobWZwKSApIHsKCQkJCQlyZXR1cm4gdHJ1ZTsKCQkJCX0KCQkJfSBlbHNlIHsgLy8gZWxzZSBpdCdzIG51bWJlcgoJCQkJaWYoIF93aW5kb3cud2lkdGgoKSA8IGRpc2FibGVPbiApIHsKCQkJCQlyZXR1cm4gdHJ1ZTsKCQkJCX0KCQkJfQoJCX0KCgkJaWYoZS50eXBlKSB7CgkJCWUucHJldmVudERlZmF1bHQoKTsKCgkJCS8vIFRoaXMgd2lsbCBwcmV2ZW50IHBvcHVwIGZyb20gY2xvc2luZyBpZiBlbGVtZW50IGlzIGluc2lkZSBhbmQgcG9wdXAgaXMgYWxyZWFkeSBvcGVuZWQKCQkJaWYobWZwLmlzT3BlbikgewoJCQkJZS5zdG9wUHJvcGFnYXRpb24oKTsKCQkJfQoJCX0KCgkJb3B0aW9ucy5lbCA9ICQoZS5tZnBFbCk7CgkJaWYob3B0aW9ucy5kZWxlZ2F0ZSkgewoJCQlvcHRpb25zLml0ZW1zID0gZWwuZmluZChvcHRpb25zLmRlbGVnYXRlKTsKCQl9CgkJbWZwLm9wZW4ob3B0aW9ucyk7Cgl9LAoKCgkvKioKCSAqIFVwZGF0ZXMgdGV4dCBvbiBwcmVsb2FkZXIKCSAqLwoJdXBkYXRlU3RhdHVzOiBmdW5jdGlvbihzdGF0dXMsIHRleHQpIHsKCgkJaWYobWZwLnByZWxvYWRlcikgewoJCQlpZihfcHJldlN0YXR1cyAhPT0gc3RhdHVzKSB7CgkJCQltZnAuY29udGFpbmVyLnJlbW92ZUNsYXNzKCdtZnAtcy0nK19wcmV2U3RhdHVzKTsKCQkJfQoKCQkJaWYoIXRleHQgJiYgc3RhdHVzID09PSAnbG9hZGluZycpIHsKCQkJCXRleHQgPSBtZnAuc3QudExvYWRpbmc7CgkJCX0KCgkJCXZhciBkYXRhID0gewoJCQkJc3RhdHVzOiBzdGF0dXMsCgkJCQl0ZXh0OiB0ZXh0CgkJCX07CgkJCS8vIGFsbG93cyB0byBtb2RpZnkgc3RhdHVzCgkJCV9tZnBUcmlnZ2VyKCdVcGRhdGVTdGF0dXMnLCBkYXRhKTsKCgkJCXN0YXR1cyA9IGRhdGEuc3RhdHVzOwoJCQl0ZXh0ID0gZGF0YS50ZXh0OwoKCQkJbWZwLnByZWxvYWRlci5odG1sKHRleHQpOwoKCQkJbWZwLnByZWxvYWRlci5maW5kKCdhJykub24oJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoJCQkJZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsKCQkJfSk7CgoJCQltZnAuY29udGFpbmVyLmFkZENsYXNzKCdtZnAtcy0nK3N0YXR1cyk7CgkJCV9wcmV2U3RhdHVzID0gc3RhdHVzOwoJCX0KCX0sCgoKCS8qCgkJIlByaXZhdGUiIGhlbHBlcnMgdGhhdCBhcmVuJ3QgcHJpdmF0ZSBhdCBhbGwKCSAqLwoJLy8gQ2hlY2sgdG8gY2xvc2UgcG9wdXAgb3Igbm90CgkvLyAidGFyZ2V0IiBpcyBhbiBlbGVtZW50IHRoYXQgd2FzIGNsaWNrZWQKCV9jaGVja0lmQ2xvc2U6IGZ1bmN0aW9uKHRhcmdldCkgewoKCQlpZigkKHRhcmdldCkuaGFzQ2xhc3MoUFJFVkVOVF9DTE9TRV9DTEFTUykpIHsKCQkJcmV0dXJuOwoJCX0KCgkJdmFyIGNsb3NlT25Db250ZW50ID0gbWZwLnN0LmNsb3NlT25Db250ZW50Q2xpY2s7CgkJdmFyIGNsb3NlT25CZyA9IG1mcC5zdC5jbG9zZU9uQmdDbGljazsKCgkJaWYoY2xvc2VPbkNvbnRlbnQgJiYgY2xvc2VPbkJnKSB7CgkJCXJldHVybiB0cnVlOwoJCX0gZWxzZSB7CgoJCQkvLyBXZSBjbG9zZSB0aGUgcG9wdXAgaWYgY2xpY2sgaXMgb24gY2xvc2UgYnV0dG9uIG9yIG9uIHByZWxvYWRlci4gT3IgaWYgdGhlcmUgaXMgbm8gY29udGVudC4KCQkJaWYoIW1mcC5jb250ZW50IHx8ICQodGFyZ2V0KS5oYXNDbGFzcygnbWZwLWNsb3NlJykgfHwgKG1mcC5wcmVsb2FkZXIgJiYgdGFyZ2V0ID09PSBtZnAucHJlbG9hZGVyWzBdKSApIHsKCQkJCXJldHVybiB0cnVlOwoJCQl9CgoJCQkvLyBpZiBjbGljayBpcyBvdXRzaWRlIHRoZSBjb250ZW50CgkJCWlmKCAgKHRhcmdldCAhPT0gbWZwLmNvbnRlbnRbMF0gJiYgISQuY29udGFpbnMobWZwLmNvbnRlbnRbMF0sIHRhcmdldCkpICApIHsKCQkJCWlmKGNsb3NlT25CZykgewoJCQkJCS8vIGxhc3QgY2hlY2ssIGlmIHRoZSBjbGlja2VkIGVsZW1lbnQgaXMgaW4gRE9NLCAoaW4gY2FzZSBpdCdzIHJlbW92ZWQgb25jbGljaykKCQkJCQlpZiggJC5jb250YWlucyhkb2N1bWVudCwgdGFyZ2V0KSApIHsKCQkJCQkJcmV0dXJuIHRydWU7CgkJCQkJfQoJCQkJfQoJCQl9IGVsc2UgaWYoY2xvc2VPbkNvbnRlbnQpIHsKCQkJCXJldHVybiB0cnVlOwoJCQl9CgoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9LAoJX2FkZENsYXNzVG9NRlA6IGZ1bmN0aW9uKGNOYW1lKSB7CgkJbWZwLmJnT3ZlcmxheS5hZGRDbGFzcyhjTmFtZSk7CgkJbWZwLndyYXAuYWRkQ2xhc3MoY05hbWUpOwoJfSwKCV9yZW1vdmVDbGFzc0Zyb21NRlA6IGZ1bmN0aW9uKGNOYW1lKSB7CgkJdGhpcy5iZ092ZXJsYXkucmVtb3ZlQ2xhc3MoY05hbWUpOwoJCW1mcC53cmFwLnJlbW92ZUNsYXNzKGNOYW1lKTsKCX0sCglfaGFzU2Nyb2xsQmFyOiBmdW5jdGlvbih3aW5IZWlnaHQpIHsKCQlyZXR1cm4gKCAgKG1mcC5pc0lFNyA/IF9kb2N1bWVudC5oZWlnaHQoKSA6IGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0KSA+ICh3aW5IZWlnaHQgfHwgX3dpbmRvdy5oZWlnaHQoKSkgKTsKCX0sCglfc2V0Rm9jdXM6IGZ1bmN0aW9uKCkgewoJCShtZnAuc3QuZm9jdXMgPyBtZnAuY29udGVudC5maW5kKG1mcC5zdC5mb2N1cykuZXEoMCkgOiBtZnAud3JhcCkuZm9jdXMoKTsKCX0sCglfb25Gb2N1c0luOiBmdW5jdGlvbihlKSB7CgkJaWYoIGUudGFyZ2V0ICE9PSBtZnAud3JhcFswXSAmJiAhJC5jb250YWlucyhtZnAud3JhcFswXSwgZS50YXJnZXQpICkgewoJCQltZnAuX3NldEZvY3VzKCk7CgkJCXJldHVybiBmYWxzZTsKCQl9Cgl9LAoJX3BhcnNlTWFya3VwOiBmdW5jdGlvbih0ZW1wbGF0ZSwgdmFsdWVzLCBpdGVtKSB7CgkJdmFyIGFycjsKCQlpZihpdGVtLmRhdGEpIHsKCQkJdmFsdWVzID0gJC5leHRlbmQoaXRlbS5kYXRhLCB2YWx1ZXMpOwoJCX0KCQlfbWZwVHJpZ2dlcihNQVJLVVBfUEFSU0VfRVZFTlQsIFt0ZW1wbGF0ZSwgdmFsdWVzLCBpdGVtXSApOwoKCQkkLmVhY2godmFsdWVzLCBmdW5jdGlvbihrZXksIHZhbHVlKSB7CgkJCWlmKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IGZhbHNlKSB7CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoJCQlhcnIgPSBrZXkuc3BsaXQoJ18nKTsKCQkJaWYoYXJyLmxlbmd0aCA+IDEpIHsKCQkJCXZhciBlbCA9IHRlbXBsYXRlLmZpbmQoRVZFTlRfTlMgKyAnLScrYXJyWzBdKTsKCgkJCQlpZihlbC5sZW5ndGggPiAwKSB7CgkJCQkJdmFyIGF0dHIgPSBhcnJbMV07CgkJCQkJaWYoYXR0ciA9PT0gJ3JlcGxhY2VXaXRoJykgewoJCQkJCQlpZihlbFswXSAhPT0gdmFsdWVbMF0pIHsKCQkJCQkJCWVsLnJlcGxhY2VXaXRoKHZhbHVlKTsKCQkJCQkJfQoJCQkJCX0gZWxzZSBpZihhdHRyID09PSAnaW1nJykgewoJCQkJCQlpZihlbC5pcygnaW1nJykpIHsKCQkJCQkJCWVsLmF0dHIoJ3NyYycsIHZhbHVlKTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCWVsLnJlcGxhY2VXaXRoKCAkKCc8aW1nPicpLmF0dHIoJ3NyYycsIHZhbHVlKS5hdHRyKCdjbGFzcycsIGVsLmF0dHIoJ2NsYXNzJykpICk7CgkJCQkJCX0KCQkJCQl9IGVsc2UgewoJCQkJCQllbC5hdHRyKGFyclsxXSwgdmFsdWUpOwoJCQkJCX0KCQkJCX0KCgkJCX0gZWxzZSB7CgkJCQl0ZW1wbGF0ZS5maW5kKEVWRU5UX05TICsgJy0nK2tleSkuaHRtbCh2YWx1ZSk7CgkJCX0KCQl9KTsKCX0sCgoJX2dldFNjcm9sbGJhclNpemU6IGZ1bmN0aW9uKCkgewoJCS8vIHRoeCBEYXZpZAoJCWlmKG1mcC5zY3JvbGxiYXJTaXplID09PSB1bmRlZmluZWQpIHsKCQkJdmFyIHNjcm9sbERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwoJCQlzY3JvbGxEaXYuc3R5bGUuY3NzVGV4dCA9ICd3aWR0aDogOTlweDsgaGVpZ2h0OiA5OXB4OyBvdmVyZmxvdzogc2Nyb2xsOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTk5OTlweDsnOwoJCQlkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcm9sbERpdik7CgkJCW1mcC5zY3JvbGxiYXJTaXplID0gc2Nyb2xsRGl2Lm9mZnNldFdpZHRoIC0gc2Nyb2xsRGl2LmNsaWVudFdpZHRoOwoJCQlkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHNjcm9sbERpdik7CgkJfQoJCXJldHVybiBtZnAuc2Nyb2xsYmFyU2l6ZTsKCX0KCn07IC8qIE1hZ25pZmljUG9wdXAgY29yZSBwcm90b3R5cGUgZW5kICovCgoKCgovKioKICogUHVibGljIHN0YXRpYyBmdW5jdGlvbnMKICovCiQubWFnbmlmaWNQb3B1cCA9IHsKCWluc3RhbmNlOiBudWxsLAoJcHJvdG86IE1hZ25pZmljUG9wdXAucHJvdG90eXBlLAoJbW9kdWxlczogW10sCgoJb3BlbjogZnVuY3Rpb24ob3B0aW9ucywgaW5kZXgpIHsKCQlfY2hlY2tJbnN0YW5jZSgpOwoKCQlpZighb3B0aW9ucykgewoJCQlvcHRpb25zID0ge307CgkJfSBlbHNlIHsKCQkJb3B0aW9ucyA9ICQuZXh0ZW5kKHRydWUsIHt9LCBvcHRpb25zKTsKCQl9CgoJCW9wdGlvbnMuaXNPYmogPSB0cnVlOwoJCW9wdGlvbnMuaW5kZXggPSBpbmRleCB8fCAwOwoJCXJldHVybiB0aGlzLmluc3RhbmNlLm9wZW4ob3B0aW9ucyk7Cgl9LAoKCWNsb3NlOiBmdW5jdGlvbigpIHsKCQlyZXR1cm4gJC5tYWduaWZpY1BvcHVwLmluc3RhbmNlICYmICQubWFnbmlmaWNQb3B1cC5pbnN0YW5jZS5jbG9zZSgpOwoJfSwKCglyZWdpc3Rlck1vZHVsZTogZnVuY3Rpb24obmFtZSwgbW9kdWxlKSB7CgkJaWYobW9kdWxlLm9wdGlvbnMpIHsKCQkJJC5tYWduaWZpY1BvcHVwLmRlZmF1bHRzW25hbWVdID0gbW9kdWxlLm9wdGlvbnM7CgkJfQoJCSQuZXh0ZW5kKHRoaXMucHJvdG8sIG1vZHVsZS5wcm90byk7CgkJdGhpcy5tb2R1bGVzLnB1c2gobmFtZSk7Cgl9LAoKCWRlZmF1bHRzOiB7CgoJCS8vIEluZm8gYWJvdXQgb3B0aW9ucyBpcyBpbiBkb2NzOgoJCS8vIGh0dHA6Ly9kaW1zZW1lbm92LmNvbS9wbHVnaW5zL21hZ25pZmljLXBvcHVwL2RvY3VtZW50YXRpb24uaHRtbCNvcHRpb25zCgoJCWRpc2FibGVPbjogMCwKCgkJa2V5OiBudWxsLAoKCQltaWRDbGljazogZmFsc2UsCgoJCW1haW5DbGFzczogJycsCgoJCXByZWxvYWRlcjogdHJ1ZSwKCgkJZm9jdXM6ICcnLCAvLyBDU1Mgc2VsZWN0b3Igb2YgaW5wdXQgdG8gZm9jdXMgYWZ0ZXIgcG9wdXAgaXMgb3BlbmVkCgoJCWNsb3NlT25Db250ZW50Q2xpY2s6IGZhbHNlLAoKCQljbG9zZU9uQmdDbGljazogdHJ1ZSwKCgkJY2xvc2VCdG5JbnNpZGU6IHRydWUsCgoJCXNob3dDbG9zZUJ0bjogdHJ1ZSwKCgkJZW5hYmxlRXNjYXBlS2V5OiB0cnVlLAoKCQltb2RhbDogZmFsc2UsCgoJCWFsaWduVG9wOiBmYWxzZSwKCgkJcmVtb3ZhbERlbGF5OiAwLAoKCQlwcmVwZW5kVG86IG51bGwsCgoJCWZpeGVkQ29udGVudFBvczogJ2F1dG8nLAoKCQlmaXhlZEJnUG9zOiAnYXV0bycsCgoJCW92ZXJmbG93WTogJ2F1dG8nLAoKCQljbG9zZU1hcmt1cDogJzxidXR0b24gdGl0bGU9IiV0aXRsZSUiIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Im1mcC1jbG9zZSI+JiMyMTU7PC9idXR0b24+JywKCgkJdENsb3NlOiAnQ2xvc2UgKEVzYyknLAoKCQl0TG9hZGluZzogJ0xvYWRpbmcuLi4nLAoKCQlhdXRvRm9jdXNMYXN0OiB0cnVlCgoJfQp9OwoKCgokLmZuLm1hZ25pZmljUG9wdXAgPSBmdW5jdGlvbihvcHRpb25zKSB7CglfY2hlY2tJbnN0YW5jZSgpOwoKCXZhciBqcUVsID0gJCh0aGlzKTsKCgkvLyBXZSBjYWxsIHNvbWUgQVBJIG1ldGhvZCBvZiBmaXJzdCBwYXJhbSBpcyBhIHN0cmluZwoJaWYgKHR5cGVvZiBvcHRpb25zID09PSAic3RyaW5nIiApIHsKCgkJaWYob3B0aW9ucyA9PT0gJ29wZW4nKSB7CgkJCXZhciBpdGVtcywKCQkJCWl0ZW1PcHRzID0gX2lzSlEgPyBqcUVsLmRhdGEoJ21hZ25pZmljUG9wdXAnKSA6IGpxRWxbMF0ubWFnbmlmaWNQb3B1cCwKCQkJCWluZGV4ID0gcGFyc2VJbnQoYXJndW1lbnRzWzFdLCAxMCkgfHwgMDsKCgkJCWlmKGl0ZW1PcHRzLml0ZW1zKSB7CgkJCQlpdGVtcyA9IGl0ZW1PcHRzLml0ZW1zW2luZGV4XTsKCQkJfSBlbHNlIHsKCQkJCWl0ZW1zID0ganFFbDsKCQkJCWlmKGl0ZW1PcHRzLmRlbGVnYXRlKSB7CgkJCQkJaXRlbXMgPSBpdGVtcy5maW5kKGl0ZW1PcHRzLmRlbGVnYXRlKTsKCQkJCX0KCQkJCWl0ZW1zID0gaXRlbXMuZXEoIGluZGV4ICk7CgkJCX0KCQkJbWZwLl9vcGVuQ2xpY2soe21mcEVsOml0ZW1zfSwganFFbCwgaXRlbU9wdHMpOwoJCX0gZWxzZSB7CgkJCWlmKG1mcC5pc09wZW4pCgkJCQltZnBbb3B0aW9uc10uYXBwbHkobWZwLCBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpKTsKCQl9CgoJfSBlbHNlIHsKCQkvLyBjbG9uZSBvcHRpb25zIG9iagoJCW9wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwgb3B0aW9ucyk7CgoJCS8qCgkJICogQXMgWmVwdG8gZG9lc24ndCBzdXBwb3J0IC5kYXRhKCkgbWV0aG9kIGZvciBvYmplY3RzCgkJICogYW5kIGl0IHdvcmtzIG9ubHkgaW4gbm9ybWFsIGJyb3dzZXJzCgkJICogd2UgYXNzaWduICJvcHRpb25zIiBvYmplY3QgZGlyZWN0bHkgdG8gdGhlIERPTSBlbGVtZW50LiBGVFchCgkJICovCgkJaWYoX2lzSlEpIHsKCQkJanFFbC5kYXRhKCdtYWduaWZpY1BvcHVwJywgb3B0aW9ucyk7CgkJfSBlbHNlIHsKCQkJanFFbFswXS5tYWduaWZpY1BvcHVwID0gb3B0aW9uczsKCQl9CgoJCW1mcC5hZGRHcm91cChqcUVsLCBvcHRpb25zKTsKCgl9CglyZXR1cm4ganFFbDsKfTsKCi8qPj5jb3JlKi8KCi8qPj5pbmxpbmUqLwoKdmFyIElOTElORV9OUyA9ICdpbmxpbmUnLAoJX2hpZGRlbkNsYXNzLAoJX2lubGluZVBsYWNlaG9sZGVyLAoJX2xhc3RJbmxpbmVFbGVtZW50LAoJX3B1dElubGluZUVsZW1lbnRzQmFjayA9IGZ1bmN0aW9uKCkgewoJCWlmKF9sYXN0SW5saW5lRWxlbWVudCkgewoJCQlfaW5saW5lUGxhY2Vob2xkZXIuYWZ0ZXIoIF9sYXN0SW5saW5lRWxlbWVudC5hZGRDbGFzcyhfaGlkZGVuQ2xhc3MpICkuZGV0YWNoKCk7CgkJCV9sYXN0SW5saW5lRWxlbWVudCA9IG51bGw7CgkJfQoJfTsKCiQubWFnbmlmaWNQb3B1cC5yZWdpc3Rlck1vZHVsZShJTkxJTkVfTlMsIHsKCW9wdGlvbnM6IHsKCQloaWRkZW5DbGFzczogJ2hpZGUnLCAvLyB3aWxsIGJlIGFwcGVuZGVkIHdpdGggYG1mcC1gIHByZWZpeAoJCW1hcmt1cDogJycsCgkJdE5vdEZvdW5kOiAnQ29udGVudCBub3QgZm91bmQnCgl9LAoJcHJvdG86IHsKCgkJaW5pdElubGluZTogZnVuY3Rpb24oKSB7CgkJCW1mcC50eXBlcy5wdXNoKElOTElORV9OUyk7CgoJCQlfbWZwT24oQ0xPU0VfRVZFTlQrJy4nK0lOTElORV9OUywgZnVuY3Rpb24oKSB7CgkJCQlfcHV0SW5saW5lRWxlbWVudHNCYWNrKCk7CgkJCX0pOwoJCX0sCgoJCWdldElubGluZTogZnVuY3Rpb24oaXRlbSwgdGVtcGxhdGUpIHsKCgkJCV9wdXRJbmxpbmVFbGVtZW50c0JhY2soKTsKCgkJCWlmKGl0ZW0uc3JjKSB7CgkJCQl2YXIgaW5saW5lU3QgPSBtZnAuc3QuaW5saW5lLAoJCQkJCWVsID0gJChpdGVtLnNyYyk7CgoJCQkJaWYoZWwubGVuZ3RoKSB7CgoJCQkJCS8vIElmIHRhcmdldCBlbGVtZW50IGhhcyBwYXJlbnQgLSB3ZSByZXBsYWNlIGl0IHdpdGggcGxhY2Vob2xkZXIgYW5kIHB1dCBpdCBiYWNrIGFmdGVyIHBvcHVwIGlzIGNsb3NlZAoJCQkJCXZhciBwYXJlbnQgPSBlbFswXS5wYXJlbnROb2RlOwoJCQkJCWlmKHBhcmVudCAmJiBwYXJlbnQudGFnTmFtZSkgewoJCQkJCQlpZighX2lubGluZVBsYWNlaG9sZGVyKSB7CgkJCQkJCQlfaGlkZGVuQ2xhc3MgPSBpbmxpbmVTdC5oaWRkZW5DbGFzczsKCQkJCQkJCV9pbmxpbmVQbGFjZWhvbGRlciA9IF9nZXRFbChfaGlkZGVuQ2xhc3MpOwoJCQkJCQkJX2hpZGRlbkNsYXNzID0gJ21mcC0nK19oaWRkZW5DbGFzczsKCQkJCQkJfQoJCQkJCQkvLyByZXBsYWNlIHRhcmdldCBpbmxpbmUgZWxlbWVudCB3aXRoIHBsYWNlaG9sZGVyCgkJCQkJCV9sYXN0SW5saW5lRWxlbWVudCA9IGVsLmFmdGVyKF9pbmxpbmVQbGFjZWhvbGRlcikuZGV0YWNoKCkucmVtb3ZlQ2xhc3MoX2hpZGRlbkNsYXNzKTsKCQkJCQl9CgoJCQkJCW1mcC51cGRhdGVTdGF0dXMoJ3JlYWR5Jyk7CgkJCQl9IGVsc2UgewoJCQkJCW1mcC51cGRhdGVTdGF0dXMoJ2Vycm9yJywgaW5saW5lU3QudE5vdEZvdW5kKTsKCQkJCQllbCA9ICQoJzxkaXY+Jyk7CgkJCQl9CgoJCQkJaXRlbS5pbmxpbmVFbGVtZW50ID0gZWw7CgkJCQlyZXR1cm4gZWw7CgkJCX0KCgkJCW1mcC51cGRhdGVTdGF0dXMoJ3JlYWR5Jyk7CgkJCW1mcC5fcGFyc2VNYXJrdXAodGVtcGxhdGUsIHt9LCBpdGVtKTsKCQkJcmV0dXJuIHRlbXBsYXRlOwoJCX0KCX0KfSk7CgovKj4+aW5saW5lKi8KCi8qPj5hamF4Ki8KdmFyIEFKQVhfTlMgPSAnYWpheCcsCglfYWpheEN1ciwKCV9yZW1vdmVBamF4Q3Vyc29yID0gZnVuY3Rpb24oKSB7CgkJaWYoX2FqYXhDdXIpIHsKCQkJJChkb2N1bWVudC5ib2R5KS5yZW1vdmVDbGFzcyhfYWpheEN1cik7CgkJfQoJfSwKCV9kZXN0cm95QWpheFJlcXVlc3QgPSBmdW5jdGlvbigpIHsKCQlfcmVtb3ZlQWpheEN1cnNvcigpOwoJCWlmKG1mcC5yZXEpIHsKCQkJbWZwLnJlcS5hYm9ydCgpOwoJCX0KCX07CgokLm1hZ25pZmljUG9wdXAucmVnaXN0ZXJNb2R1bGUoQUpBWF9OUywgewoKCW9wdGlvbnM6IHsKCQlzZXR0aW5nczogbnVsbCwKCQljdXJzb3I6ICdtZnAtYWpheC1jdXInLAoJCXRFcnJvcjogJzxhIGhyZWY9IiV1cmwlIj5UaGUgY29udGVudDwvYT4gY291bGQgbm90IGJlIGxvYWRlZC4nCgl9LAoKCXByb3RvOiB7CgkJaW5pdEFqYXg6IGZ1bmN0aW9uKCkgewoJCQltZnAudHlwZXMucHVzaChBSkFYX05TKTsKCQkJX2FqYXhDdXIgPSBtZnAuc3QuYWpheC5jdXJzb3I7CgoJCQlfbWZwT24oQ0xPU0VfRVZFTlQrJy4nK0FKQVhfTlMsIF9kZXN0cm95QWpheFJlcXVlc3QpOwoJCQlfbWZwT24oJ0JlZm9yZUNoYW5nZS4nICsgQUpBWF9OUywgX2Rlc3Ryb3lBamF4UmVxdWVzdCk7CgkJfSwKCQlnZXRBamF4OiBmdW5jdGlvbihpdGVtKSB7CgoJCQlpZihfYWpheEN1cikgewoJCQkJJChkb2N1bWVudC5ib2R5KS5hZGRDbGFzcyhfYWpheEN1cik7CgkJCX0KCgkJCW1mcC51cGRhdGVTdGF0dXMoJ2xvYWRpbmcnKTsKCgkJCXZhciBvcHRzID0gJC5leHRlbmQoewoJCQkJdXJsOiBpdGVtLnNyYywKCQkJCXN1Y2Nlc3M6IGZ1bmN0aW9uKGRhdGEsIHRleHRTdGF0dXMsIGpxWEhSKSB7CgkJCQkJdmFyIHRlbXAgPSB7CgkJCQkJCWRhdGE6ZGF0YSwKCQkJCQkJeGhyOmpxWEhSCgkJCQkJfTsKCgkJCQkJX21mcFRyaWdnZXIoJ1BhcnNlQWpheCcsIHRlbXApOwoKCQkJCQltZnAuYXBwZW5kQ29udGVudCggJCh0ZW1wLmRhdGEpLCBBSkFYX05TICk7CgoJCQkJCWl0ZW0uZmluaXNoZWQgPSB0cnVlOwoKCQkJCQlfcmVtb3ZlQWpheEN1cnNvcigpOwoKCQkJCQltZnAuX3NldEZvY3VzKCk7CgoJCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CgkJCQkJCW1mcC53cmFwLmFkZENsYXNzKFJFQURZX0NMQVNTKTsKCQkJCQl9LCAxNik7CgoJCQkJCW1mcC51cGRhdGVTdGF0dXMoJ3JlYWR5Jyk7CgoJCQkJCV9tZnBUcmlnZ2VyKCdBamF4Q29udGVudEFkZGVkJyk7CgkJCQl9LAoJCQkJZXJyb3I6IGZ1bmN0aW9uKCkgewoJCQkJCV9yZW1vdmVBamF4Q3Vyc29yKCk7CgkJCQkJaXRlbS5maW5pc2hlZCA9IGl0ZW0ubG9hZEVycm9yID0gdHJ1ZTsKCQkJCQltZnAudXBkYXRlU3RhdHVzKCdlcnJvcicsIG1mcC5zdC5hamF4LnRFcnJvci5yZXBsYWNlKCcldXJsJScsIGl0ZW0uc3JjKSk7CgkJCQl9CgkJCX0sIG1mcC5zdC5hamF4LnNldHRpbmdzKTsKCgkJCW1mcC5yZXEgPSAkLmFqYXgob3B0cyk7CgoJCQlyZXR1cm4gJyc7CgkJfQoJfQp9KTsKCi8qPj5hamF4Ki8KCi8qPj5pbWFnZSovCnZhciBfaW1nSW50ZXJ2YWwsCglfZ2V0VGl0bGUgPSBmdW5jdGlvbihpdGVtKSB7CgkJaWYoaXRlbS5kYXRhICYmIGl0ZW0uZGF0YS50aXRsZSAhPT0gdW5kZWZpbmVkKQoJCQlyZXR1cm4gaXRlbS5kYXRhLnRpdGxlOwoKCQl2YXIgc3JjID0gbWZwLnN0LmltYWdlLnRpdGxlU3JjOwoKCQlpZihzcmMpIHsKCQkJaWYoJC5pc0Z1bmN0aW9uKHNyYykpIHsKCQkJCXJldHVybiBzcmMuY2FsbChtZnAsIGl0ZW0pOwoJCQl9IGVsc2UgaWYoaXRlbS5lbCkgewoJCQkJcmV0dXJuIGl0ZW0uZWwuYXR0cihzcmMpIHx8ICcnOwoJCQl9CgkJfQoJCXJldHVybiAnJzsKCX07CgokLm1hZ25pZmljUG9wdXAucmVnaXN0ZXJNb2R1bGUoJ2ltYWdlJywgewoKCW9wdGlvbnM6IHsKCQltYXJrdXA6ICc8ZGl2IGNsYXNzPSJtZnAtZmlndXJlIj4nKwoJCQkJCSc8ZGl2IGNsYXNzPSJtZnAtY2xvc2UiPjwvZGl2PicrCgkJCQkJJzxmaWd1cmU+JysKCQkJCQkJJzxkaXYgY2xhc3M9Im1mcC1pbWciPjwvZGl2PicrCgkJCQkJCSc8ZmlnY2FwdGlvbj4nKwoJCQkJCQkJJzxkaXYgY2xhc3M9Im1mcC1ib3R0b20tYmFyIj4nKwoJCQkJCQkJCSc8ZGl2IGNsYXNzPSJtZnAtdGl0bGUiPjwvZGl2PicrCgkJCQkJCQkJJzxkaXYgY2xhc3M9Im1mcC1jb3VudGVyIj48L2Rpdj4nKwoJCQkJCQkJJzwvZGl2PicrCgkJCQkJCSc8L2ZpZ2NhcHRpb24+JysKCQkJCQknPC9maWd1cmU+JysKCQkJCSc8L2Rpdj4nLAoJCWN1cnNvcjogJ21mcC16b29tLW91dC1jdXInLAoJCXRpdGxlU3JjOiAndGl0bGUnLAoJCXZlcnRpY2FsRml0OiB0cnVlLAoJCXRFcnJvcjogJzxhIGhyZWY9IiV1cmwlIj5UaGUgaW1hZ2U8L2E+IGNvdWxkIG5vdCBiZSBsb2FkZWQuJwoJfSwKCglwcm90bzogewoJCWluaXRJbWFnZTogZnVuY3Rpb24oKSB7CgkJCXZhciBpbWdTdCA9IG1mcC5zdC5pbWFnZSwKCQkJCW5zID0gJy5pbWFnZSc7CgoJCQltZnAudHlwZXMucHVzaCgnaW1hZ2UnKTsKCgkJCV9tZnBPbihPUEVOX0VWRU5UK25zLCBmdW5jdGlvbigpIHsKCQkJCWlmKG1mcC5jdXJySXRlbS50eXBlID09PSAnaW1hZ2UnICYmIGltZ1N0LmN1cnNvcikgewoJCQkJCSQoZG9jdW1lbnQuYm9keSkuYWRkQ2xhc3MoaW1nU3QuY3Vyc29yKTsKCQkJCX0KCQkJfSk7CgoJCQlfbWZwT24oQ0xPU0VfRVZFTlQrbnMsIGZ1bmN0aW9uKCkgewoJCQkJaWYoaW1nU3QuY3Vyc29yKSB7CgkJCQkJJChkb2N1bWVudC5ib2R5KS5yZW1vdmVDbGFzcyhpbWdTdC5jdXJzb3IpOwoJCQkJfQoJCQkJX3dpbmRvdy5vZmYoJ3Jlc2l6ZScgKyBFVkVOVF9OUyk7CgkJCX0pOwoKCQkJX21mcE9uKCdSZXNpemUnK25zLCBtZnAucmVzaXplSW1hZ2UpOwoJCQlpZihtZnAuaXNMb3dJRSkgewoJCQkJX21mcE9uKCdBZnRlckNoYW5nZScsIG1mcC5yZXNpemVJbWFnZSk7CgkJCX0KCQl9LAoJCXJlc2l6ZUltYWdlOiBmdW5jdGlvbigpIHsKCQkJdmFyIGl0ZW0gPSBtZnAuY3Vyckl0ZW07CgkJCWlmKCFpdGVtIHx8ICFpdGVtLmltZykgcmV0dXJuOwoKCQkJaWYobWZwLnN0LmltYWdlLnZlcnRpY2FsRml0KSB7CgkJCQl2YXIgZGVjciA9IDA7CgkJCQkvLyBmaXggYm94LXNpemluZyBpbiBpZTcvOAoJCQkJaWYobWZwLmlzTG93SUUpIHsKCQkJCQlkZWNyID0gcGFyc2VJbnQoaXRlbS5pbWcuY3NzKCdwYWRkaW5nLXRvcCcpLCAxMCkgKyBwYXJzZUludChpdGVtLmltZy5jc3MoJ3BhZGRpbmctYm90dG9tJyksMTApOwoJCQkJfQoJCQkJaXRlbS5pbWcuY3NzKCdtYXgtaGVpZ2h0JywgbWZwLndILWRlY3IpOwoJCQl9CgkJfSwKCQlfb25JbWFnZUhhc1NpemU6IGZ1bmN0aW9uKGl0ZW0pIHsKCQkJaWYoaXRlbS5pbWcpIHsKCgkJCQlpdGVtLmhhc1NpemUgPSB0cnVlOwoKCQkJCWlmKF9pbWdJbnRlcnZhbCkgewoJCQkJCWNsZWFySW50ZXJ2YWwoX2ltZ0ludGVydmFsKTsKCQkJCX0KCgkJCQlpdGVtLmlzQ2hlY2tpbmdJbWdTaXplID0gZmFsc2U7CgoJCQkJX21mcFRyaWdnZXIoJ0ltYWdlSGFzU2l6ZScsIGl0ZW0pOwoKCQkJCWlmKGl0ZW0uaW1nSGlkZGVuKSB7CgkJCQkJaWYobWZwLmNvbnRlbnQpCgkJCQkJCW1mcC5jb250ZW50LnJlbW92ZUNsYXNzKCdtZnAtbG9hZGluZycpOwoKCQkJCQlpdGVtLmltZ0hpZGRlbiA9IGZhbHNlOwoJCQkJfQoKCQkJfQoJCX0sCgoJCS8qKgoJCSAqIEZ1bmN0aW9uIHRoYXQgbG9vcHMgdW50aWwgdGhlIGltYWdlIGhhcyBzaXplIHRvIGRpc3BsYXkgZWxlbWVudHMgdGhhdCByZWx5IG9uIGl0IGFzYXAKCQkgKi8KCQlmaW5kSW1hZ2VTaXplOiBmdW5jdGlvbihpdGVtKSB7CgoJCQl2YXIgY291bnRlciA9IDAsCgkJCQlpbWcgPSBpdGVtLmltZ1swXSwKCQkJCW1mcFNldEludGVydmFsID0gZnVuY3Rpb24oZGVsYXkpIHsKCgkJCQkJaWYoX2ltZ0ludGVydmFsKSB7CgkJCQkJCWNsZWFySW50ZXJ2YWwoX2ltZ0ludGVydmFsKTsKCQkJCQl9CgkJCQkJLy8gZGVjZWxlcmF0aW5nIGludGVydmFsIHRoYXQgY2hlY2tzIGZvciBzaXplIG9mIGFuIGltYWdlCgkJCQkJX2ltZ0ludGVydmFsID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7CgkJCQkJCWlmKGltZy5uYXR1cmFsV2lkdGggPiAwKSB7CgkJCQkJCQltZnAuX29uSW1hZ2VIYXNTaXplKGl0ZW0pOwoJCQkJCQkJcmV0dXJuOwoJCQkJCQl9CgoJCQkJCQlpZihjb3VudGVyID4gMjAwKSB7CgkJCQkJCQljbGVhckludGVydmFsKF9pbWdJbnRlcnZhbCk7CgkJCQkJCX0KCgkJCQkJCWNvdW50ZXIrKzsKCQkJCQkJaWYoY291bnRlciA9PT0gMykgewoJCQkJCQkJbWZwU2V0SW50ZXJ2YWwoMTApOwoJCQkJCQl9IGVsc2UgaWYoY291bnRlciA9PT0gNDApIHsKCQkJCQkJCW1mcFNldEludGVydmFsKDUwKTsKCQkJCQkJfSBlbHNlIGlmKGNvdW50ZXIgPT09IDEwMCkgewoJCQkJCQkJbWZwU2V0SW50ZXJ2YWwoNTAwKTsKCQkJCQkJfQoJCQkJCX0sIGRlbGF5KTsKCQkJCX07CgoJCQltZnBTZXRJbnRlcnZhbCgxKTsKCQl9LAoKCQlnZXRJbWFnZTogZnVuY3Rpb24oaXRlbSwgdGVtcGxhdGUpIHsKCgkJCXZhciBndWFyZCA9IDAsCgoJCQkJLy8gaW1hZ2UgbG9hZCBjb21wbGV0ZSBoYW5kbGVyCgkJCQlvbkxvYWRDb21wbGV0ZSA9IGZ1bmN0aW9uKCkgewoJCQkJCWlmKGl0ZW0pIHsKCQkJCQkJaWYgKGl0ZW0uaW1nWzBdLmNvbXBsZXRlKSB7CgkJCQkJCQlpdGVtLmltZy5vZmYoJy5tZnBsb2FkZXInKTsKCgkJCQkJCQlpZihpdGVtID09PSBtZnAuY3Vyckl0ZW0pewoJCQkJCQkJCW1mcC5fb25JbWFnZUhhc1NpemUoaXRlbSk7CgoJCQkJCQkJCW1mcC51cGRhdGVTdGF0dXMoJ3JlYWR5Jyk7CgkJCQkJCQl9CgoJCQkJCQkJaXRlbS5oYXNTaXplID0gdHJ1ZTsKCQkJCQkJCWl0ZW0ubG9hZGVkID0gdHJ1ZTsKCgkJCQkJCQlfbWZwVHJpZ2dlcignSW1hZ2VMb2FkQ29tcGxldGUnKTsKCgkJCQkJCX0KCQkJCQkJZWxzZSB7CgkJCQkJCQkvLyBpZiBpbWFnZSBjb21wbGV0ZSBjaGVjayBmYWlscyAyMDAgdGltZXMgKDIwIHNlYyksIHdlIGFzc3VtZSB0aGF0IHRoZXJlIHdhcyBhbiBlcnJvci4KCQkJCQkJCWd1YXJkKys7CgkJCQkJCQlpZihndWFyZCA8IDIwMCkgewoJCQkJCQkJCXNldFRpbWVvdXQob25Mb2FkQ29tcGxldGUsMTAwKTsKCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJb25Mb2FkRXJyb3IoKTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0KCQkJCX0sCgoJCQkJLy8gaW1hZ2UgZXJyb3IgaGFuZGxlcgoJCQkJb25Mb2FkRXJyb3IgPSBmdW5jdGlvbigpIHsKCQkJCQlpZihpdGVtKSB7CgkJCQkJCWl0ZW0uaW1nLm9mZignLm1mcGxvYWRlcicpOwoJCQkJCQlpZihpdGVtID09PSBtZnAuY3Vyckl0ZW0pewoJCQkJCQkJbWZwLl9vbkltYWdlSGFzU2l6ZShpdGVtKTsKCQkJCQkJCW1mcC51cGRhdGVTdGF0dXMoJ2Vycm9yJywgaW1nU3QudEVycm9yLnJlcGxhY2UoJyV1cmwlJywgaXRlbS5zcmMpICk7CgkJCQkJCX0KCgkJCQkJCWl0ZW0uaGFzU2l6ZSA9IHRydWU7CgkJCQkJCWl0ZW0ubG9hZGVkID0gdHJ1ZTsKCQkJCQkJaXRlbS5sb2FkRXJyb3IgPSB0cnVlOwoJCQkJCX0KCQkJCX0sCgkJCQlpbWdTdCA9IG1mcC5zdC5pbWFnZTsKCgoJCQl2YXIgZWwgPSB0ZW1wbGF0ZS5maW5kKCcubWZwLWltZycpOwoJCQlpZihlbC5sZW5ndGgpIHsKCQkJCXZhciBpbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTsKCQkJCWltZy5jbGFzc05hbWUgPSAnbWZwLWltZyc7CgkJCQlpZihpdGVtLmVsICYmIGl0ZW0uZWwuZmluZCgnaW1nJykubGVuZ3RoKSB7CgkJCQkJaW1nLmFsdCA9IGl0ZW0uZWwuZmluZCgnaW1nJykuYXR0cignYWx0Jyk7CgkJCQl9CgkJCQlpdGVtLmltZyA9ICQoaW1nKS5vbignbG9hZC5tZnBsb2FkZXInLCBvbkxvYWRDb21wbGV0ZSkub24oJ2Vycm9yLm1mcGxvYWRlcicsIG9uTG9hZEVycm9yKTsKCQkJCWltZy5zcmMgPSBpdGVtLnNyYzsKCgkJCQkvLyB3aXRob3V0IGNsb25lKCkgImVycm9yIiBldmVudCBpcyBub3QgZmlyaW5nIHdoZW4gSU1HIGlzIHJlcGxhY2VkIGJ5IG5ldyBJTUcKCQkJCS8vIFRPRE86IGZpbmQgYSB3YXkgdG8gYXZvaWQgc3VjaCBjbG9uaW5nCgkJCQlpZihlbC5pcygnaW1nJykpIHsKCQkJCQlpdGVtLmltZyA9IGl0ZW0uaW1nLmNsb25lKCk7CgkJCQl9CgoJCQkJaW1nID0gaXRlbS5pbWdbMF07CgkJCQlpZihpbWcubmF0dXJhbFdpZHRoID4gMCkgewoJCQkJCWl0ZW0uaGFzU2l6ZSA9IHRydWU7CgkJCQl9IGVsc2UgaWYoIWltZy53aWR0aCkgewoJCQkJCWl0ZW0uaGFzU2l6ZSA9IGZhbHNlOwoJCQkJfQoJCQl9CgoJCQltZnAuX3BhcnNlTWFya3VwKHRlbXBsYXRlLCB7CgkJCQl0aXRsZTogX2dldFRpdGxlKGl0ZW0pLAoJCQkJaW1nX3JlcGxhY2VXaXRoOiBpdGVtLmltZwoJCQl9LCBpdGVtKTsKCgkJCW1mcC5yZXNpemVJbWFnZSgpOwoKCQkJaWYoaXRlbS5oYXNTaXplKSB7CgkJCQlpZihfaW1nSW50ZXJ2YWwpIGNsZWFySW50ZXJ2YWwoX2ltZ0ludGVydmFsKTsKCgkJCQlpZihpdGVtLmxvYWRFcnJvcikgewoJCQkJCXRlbXBsYXRlLmFkZENsYXNzKCdtZnAtbG9hZGluZycpOwoJCQkJCW1mcC51cGRhdGVTdGF0dXMoJ2Vycm9yJywgaW1nU3QudEVycm9yLnJlcGxhY2UoJyV1cmwlJywgaXRlbS5zcmMpICk7CgkJCQl9IGVsc2UgewoJCQkJCXRlbXBsYXRlLnJlbW92ZUNsYXNzKCdtZnAtbG9hZGluZycpOwoJCQkJCW1mcC51cGRhdGVTdGF0dXMoJ3JlYWR5Jyk7CgkJCQl9CgkJCQlyZXR1cm4gdGVtcGxhdGU7CgkJCX0KCgkJCW1mcC51cGRhdGVTdGF0dXMoJ2xvYWRpbmcnKTsKCQkJaXRlbS5sb2FkaW5nID0gdHJ1ZTsKCgkJCWlmKCFpdGVtLmhhc1NpemUpIHsKCQkJCWl0ZW0uaW1nSGlkZGVuID0gdHJ1ZTsKCQkJCXRlbXBsYXRlLmFkZENsYXNzKCdtZnAtbG9hZGluZycpOwoJCQkJbWZwLmZpbmRJbWFnZVNpemUoaXRlbSk7CgkJCX0KCgkJCXJldHVybiB0ZW1wbGF0ZTsKCQl9Cgl9Cn0pOwoKLyo+PmltYWdlKi8KCi8qPj56b29tKi8KdmFyIGhhc01velRyYW5zZm9ybSwKCWdldEhhc01velRyYW5zZm9ybSA9IGZ1bmN0aW9uKCkgewoJCWlmKGhhc01velRyYW5zZm9ybSA9PT0gdW5kZWZpbmVkKSB7CgkJCWhhc01velRyYW5zZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKS5zdHlsZS5Nb3pUcmFuc2Zvcm0gIT09IHVuZGVmaW5lZDsKCQl9CgkJcmV0dXJuIGhhc01velRyYW5zZm9ybTsKCX07CgokLm1hZ25pZmljUG9wdXAucmVnaXN0ZXJNb2R1bGUoJ3pvb20nLCB7CgoJb3B0aW9uczogewoJCWVuYWJsZWQ6IGZhbHNlLAoJCWVhc2luZzogJ2Vhc2UtaW4tb3V0JywKCQlkdXJhdGlvbjogMzAwLAoJCW9wZW5lcjogZnVuY3Rpb24oZWxlbWVudCkgewoJCQlyZXR1cm4gZWxlbWVudC5pcygnaW1nJykgPyBlbGVtZW50IDogZWxlbWVudC5maW5kKCdpbWcnKTsKCQl9Cgl9LAoKCXByb3RvOiB7CgoJCWluaXRab29tOiBmdW5jdGlvbigpIHsKCQkJdmFyIHpvb21TdCA9IG1mcC5zdC56b29tLAoJCQkJbnMgPSAnLnpvb20nLAoJCQkJaW1hZ2U7CgoJCQlpZighem9vbVN0LmVuYWJsZWQgfHwgIW1mcC5zdXBwb3J0c1RyYW5zaXRpb24pIHsKCQkJCXJldHVybjsKCQkJfQoKCQkJdmFyIGR1cmF0aW9uID0gem9vbVN0LmR1cmF0aW9uLAoJCQkJZ2V0RWxUb0FuaW1hdGUgPSBmdW5jdGlvbihpbWFnZSkgewoJCQkJCXZhciBuZXdJbWcgPSBpbWFnZS5jbG9uZSgpLnJlbW92ZUF0dHIoJ3N0eWxlJykucmVtb3ZlQXR0cignY2xhc3MnKS5hZGRDbGFzcygnbWZwLWFuaW1hdGVkLWltYWdlJyksCgkJCQkJCXRyYW5zaXRpb24gPSAnYWxsICcrKHpvb21TdC5kdXJhdGlvbi8xMDAwKSsncyAnICsgem9vbVN0LmVhc2luZywKCQkJCQkJY3NzT2JqID0gewoJCQkJCQkJcG9zaXRpb246ICdmaXhlZCcsCgkJCQkJCQl6SW5kZXg6IDk5OTksCgkJCQkJCQlsZWZ0OiAwLAoJCQkJCQkJdG9wOiAwLAoJCQkJCQkJJy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eSc6ICdoaWRkZW4nCgkJCQkJCX0sCgkJCQkJCXQgPSAndHJhbnNpdGlvbic7CgoJCQkJCWNzc09ialsnLXdlYmtpdC0nK3RdID0gY3NzT2JqWyctbW96LScrdF0gPSBjc3NPYmpbJy1vLScrdF0gPSBjc3NPYmpbdF0gPSB0cmFuc2l0aW9uOwoKCQkJCQluZXdJbWcuY3NzKGNzc09iaik7CgkJCQkJcmV0dXJuIG5ld0ltZzsKCQkJCX0sCgkJCQlzaG93TWFpbkNvbnRlbnQgPSBmdW5jdGlvbigpIHsKCQkJCQltZnAuY29udGVudC5jc3MoJ3Zpc2liaWxpdHknLCAndmlzaWJsZScpOwoJCQkJfSwKCQkJCW9wZW5UaW1lb3V0LAoJCQkJYW5pbWF0ZWRJbWc7CgoJCQlfbWZwT24oJ0J1aWxkQ29udHJvbHMnK25zLCBmdW5jdGlvbigpIHsKCQkJCWlmKG1mcC5fYWxsb3dab29tKCkpIHsKCgkJCQkJY2xlYXJUaW1lb3V0KG9wZW5UaW1lb3V0KTsKCQkJCQltZnAuY29udGVudC5jc3MoJ3Zpc2liaWxpdHknLCAnaGlkZGVuJyk7CgoJCQkJCS8vIEJhc2ljYWxseSwgYWxsIGNvZGUgYmVsb3cgZG9lcyBpcyBjbG9uZXMgZXhpc3RpbmcgaW1hZ2UsIHB1dHMgaW4gb24gdG9wIG9mIHRoZSBjdXJyZW50IG9uZSBhbmQgYW5pbWF0ZWQgaXQKCgkJCQkJaW1hZ2UgPSBtZnAuX2dldEl0ZW1Ub1pvb20oKTsKCgkJCQkJaWYoIWltYWdlKSB7CgkJCQkJCXNob3dNYWluQ29udGVudCgpOwoJCQkJCQlyZXR1cm47CgkJCQkJfQoKCQkJCQlhbmltYXRlZEltZyA9IGdldEVsVG9BbmltYXRlKGltYWdlKTsKCgkJCQkJYW5pbWF0ZWRJbWcuY3NzKCBtZnAuX2dldE9mZnNldCgpICk7CgoJCQkJCW1mcC53cmFwLmFwcGVuZChhbmltYXRlZEltZyk7CgoJCQkJCW9wZW5UaW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKCQkJCQkJYW5pbWF0ZWRJbWcuY3NzKCBtZnAuX2dldE9mZnNldCggdHJ1ZSApICk7CgkJCQkJCW9wZW5UaW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKCgkJCQkJCQlzaG93TWFpbkNvbnRlbnQoKTsKCgkJCQkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCQkJCWFuaW1hdGVkSW1nLnJlbW92ZSgpOwoJCQkJCQkJCWltYWdlID0gYW5pbWF0ZWRJbWcgPSBudWxsOwoJCQkJCQkJCV9tZnBUcmlnZ2VyKCdab29tQW5pbWF0aW9uRW5kZWQnKTsKCQkJCQkJCX0sIDE2KTsgLy8gYXZvaWQgYmxpbmsgd2hlbiBzd2l0Y2hpbmcgaW1hZ2VzCgoJCQkJCQl9LCBkdXJhdGlvbik7IC8vIHRoaXMgdGltZW91dCBlcXVhbHMgYW5pbWF0aW9uIGR1cmF0aW9uCgoJCQkJCX0sIDE2KTsgLy8gYnkgYWRkaW5nIHRoaXMgdGltZW91dCB3ZSBhdm9pZCBzaG9ydCBnbGl0Y2ggYXQgdGhlIGJlZ2lubmluZyBvZiBhbmltYXRpb24KCgoJCQkJCS8vIExvdHMgb2YgdGltZW91dHMuLi4KCQkJCX0KCQkJfSk7CgkJCV9tZnBPbihCRUZPUkVfQ0xPU0VfRVZFTlQrbnMsIGZ1bmN0aW9uKCkgewoJCQkJaWYobWZwLl9hbGxvd1pvb20oKSkgewoKCQkJCQljbGVhclRpbWVvdXQob3BlblRpbWVvdXQpOwoKCQkJCQltZnAuc3QucmVtb3ZhbERlbGF5ID0gZHVyYXRpb247CgoJCQkJCWlmKCFpbWFnZSkgewoJCQkJCQlpbWFnZSA9IG1mcC5fZ2V0SXRlbVRvWm9vbSgpOwoJCQkJCQlpZighaW1hZ2UpIHsKCQkJCQkJCXJldHVybjsKCQkJCQkJfQoJCQkJCQlhbmltYXRlZEltZyA9IGdldEVsVG9BbmltYXRlKGltYWdlKTsKCQkJCQl9CgoJCQkJCWFuaW1hdGVkSW1nLmNzcyggbWZwLl9nZXRPZmZzZXQodHJ1ZSkgKTsKCQkJCQltZnAud3JhcC5hcHBlbmQoYW5pbWF0ZWRJbWcpOwoJCQkJCW1mcC5jb250ZW50LmNzcygndmlzaWJpbGl0eScsICdoaWRkZW4nKTsKCgkJCQkJc2V0VGltZW91dChmdW5jdGlvbigpIHsKCQkJCQkJYW5pbWF0ZWRJbWcuY3NzKCBtZnAuX2dldE9mZnNldCgpICk7CgkJCQkJfSwgMTYpOwoJCQkJfQoKCQkJfSk7CgoJCQlfbWZwT24oQ0xPU0VfRVZFTlQrbnMsIGZ1bmN0aW9uKCkgewoJCQkJaWYobWZwLl9hbGxvd1pvb20oKSkgewoJCQkJCXNob3dNYWluQ29udGVudCgpOwoJCQkJCWlmKGFuaW1hdGVkSW1nKSB7CgkJCQkJCWFuaW1hdGVkSW1nLnJlbW92ZSgpOwoJCQkJCX0KCQkJCQlpbWFnZSA9IG51bGw7CgkJCQl9CgkJCX0pOwoJCX0sCgoJCV9hbGxvd1pvb206IGZ1bmN0aW9uKCkgewoJCQlyZXR1cm4gbWZwLmN1cnJJdGVtLnR5cGUgPT09ICdpbWFnZSc7CgkJfSwKCgkJX2dldEl0ZW1Ub1pvb206IGZ1bmN0aW9uKCkgewoJCQlpZihtZnAuY3Vyckl0ZW0uaGFzU2l6ZSkgewoJCQkJcmV0dXJuIG1mcC5jdXJySXRlbS5pbWc7CgkJCX0gZWxzZSB7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9LAoKCQkvLyBHZXQgZWxlbWVudCBwb3N0aW9uIHJlbGF0aXZlIHRvIHZpZXdwb3J0CgkJX2dldE9mZnNldDogZnVuY3Rpb24oaXNMYXJnZSkgewoJCQl2YXIgZWw7CgkJCWlmKGlzTGFyZ2UpIHsKCQkJCWVsID0gbWZwLmN1cnJJdGVtLmltZzsKCQkJfSBlbHNlIHsKCQkJCWVsID0gbWZwLnN0Lnpvb20ub3BlbmVyKG1mcC5jdXJySXRlbS5lbCB8fCBtZnAuY3Vyckl0ZW0pOwoJCQl9CgoJCQl2YXIgb2Zmc2V0ID0gZWwub2Zmc2V0KCk7CgkJCXZhciBwYWRkaW5nVG9wID0gcGFyc2VJbnQoZWwuY3NzKCdwYWRkaW5nLXRvcCcpLDEwKTsKCQkJdmFyIHBhZGRpbmdCb3R0b20gPSBwYXJzZUludChlbC5jc3MoJ3BhZGRpbmctYm90dG9tJyksMTApOwoJCQlvZmZzZXQudG9wIC09ICggJCh3aW5kb3cpLnNjcm9sbFRvcCgpIC0gcGFkZGluZ1RvcCApOwoKCgkJCS8qCgoJCQlBbmltYXRpbmcgbGVmdCArIHRvcCArIHdpZHRoL2hlaWdodCBsb29rcyBnbGl0Y2h5IGluIEZpcmVmb3gsIGJ1dCBwZXJmZWN0IGluIENocm9tZS4gQW5kIHZpY2UtdmVyc2EuCgoJCQkgKi8KCQkJdmFyIG9iaiA9IHsKCQkJCXdpZHRoOiBlbC53aWR0aCgpLAoJCQkJLy8gZml4IFplcHRvIGhlaWdodCtwYWRkaW5nIGlzc3VlCgkJCQloZWlnaHQ6IChfaXNKUSA/IGVsLmlubmVySGVpZ2h0KCkgOiBlbFswXS5vZmZzZXRIZWlnaHQpIC0gcGFkZGluZ0JvdHRvbSAtIHBhZGRpbmdUb3AKCQkJfTsKCgkJCS8vIEkgaGF0ZSB0byBkbyB0aGlzLCBidXQgdGhlcmUgaXMgbm8gYW5vdGhlciBvcHRpb24KCQkJaWYoIGdldEhhc01velRyYW5zZm9ybSgpICkgewoJCQkJb2JqWyctbW96LXRyYW5zZm9ybSddID0gb2JqWyd0cmFuc2Zvcm0nXSA9ICd0cmFuc2xhdGUoJyArIG9mZnNldC5sZWZ0ICsgJ3B4LCcgKyBvZmZzZXQudG9wICsgJ3B4KSc7CgkJCX0gZWxzZSB7CgkJCQlvYmoubGVmdCA9IG9mZnNldC5sZWZ0OwoJCQkJb2JqLnRvcCA9IG9mZnNldC50b3A7CgkJCX0KCQkJcmV0dXJuIG9iajsKCQl9CgoJfQp9KTsKCgoKLyo+Pnpvb20qLwoKLyo+PmlmcmFtZSovCgp2YXIgSUZSQU1FX05TID0gJ2lmcmFtZScsCglfZW1wdHlQYWdlID0gJy8vYWJvdXQ6YmxhbmsnLAoKCV9maXhJZnJhbWVCdWdzID0gZnVuY3Rpb24oaXNTaG93aW5nKSB7CgkJaWYobWZwLmN1cnJUZW1wbGF0ZVtJRlJBTUVfTlNdKSB7CgkJCXZhciBlbCA9IG1mcC5jdXJyVGVtcGxhdGVbSUZSQU1FX05TXS5maW5kKCdpZnJhbWUnKTsKCQkJaWYoZWwubGVuZ3RoKSB7CgkJCQkvLyByZXNldCBzcmMgYWZ0ZXIgdGhlIHBvcHVwIGlzIGNsb3NlZCB0byBhdm9pZCAidmlkZW8ga2VlcHMgcGxheWluZyBhZnRlciBwb3B1cCBpcyBjbG9zZWQiIGJ1ZwoJCQkJaWYoIWlzU2hvd2luZykgewoJCQkJCWVsWzBdLnNyYyA9IF9lbXB0eVBhZ2U7CgkJCQl9CgoJCQkJLy8gSUU4IGJsYWNrIHNjcmVlbiBidWcgZml4CgkJCQlpZihtZnAuaXNJRTgpIHsKCQkJCQllbC5jc3MoJ2Rpc3BsYXknLCBpc1Nob3dpbmcgPyAnYmxvY2snIDogJ25vbmUnKTsKCQkJCX0KCQkJfQoJCX0KCX07CgokLm1hZ25pZmljUG9wdXAucmVnaXN0ZXJNb2R1bGUoSUZSQU1FX05TLCB7CgoJb3B0aW9uczogewoJCW1hcmt1cDogJzxkaXYgY2xhc3M9Im1mcC1pZnJhbWUtc2NhbGVyIj4nKwoJCQkJCSc8ZGl2IGNsYXNzPSJtZnAtY2xvc2UiPjwvZGl2PicrCgkJCQkJJzxpZnJhbWUgY2xhc3M9Im1mcC1pZnJhbWUiIHNyYz0iLy9hYm91dDpibGFuayIgZnJhbWVib3JkZXI9IjAiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4nKwoJCQkJJzwvZGl2PicsCgoJCXNyY0FjdGlvbjogJ2lmcmFtZV9zcmMnLAoKCQkvLyB3ZSBkb24ndCBjYXJlIGFuZCBzdXBwb3J0IG9ubHkgb25lIGRlZmF1bHQgdHlwZSBvZiBVUkwgYnkgZGVmYXVsdAoJCXBhdHRlcm5zOiB7CgkJCXlvdXR1YmU6IHsKCQkJCWluZGV4OiAneW91dHViZS5jb20nLAoJCQkJaWQ6ICd2PScsCgkJCQlzcmM6ICdodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8laWQlP2F1dG9wbGF5PTEnCgkJCX0sCgkJCXZpbWVvOiB7CgkJCQlpbmRleDogJ3ZpbWVvLmNvbS8nLAoJCQkJaWQ6ICcvJywKCQkJCXNyYzogJ2h0dHBzOi8vcGxheWVyLnZpbWVvLmNvbS92aWRlby8laWQlP2F1dG9wbGF5PTEnCgkJCX0sCgkJCWdtYXBzOiB7CgkJCQlpbmRleDogJy8vbWFwcy5nb29nbGUuJywKCQkJCXNyYzogJyVpZCUmb3V0cHV0PWVtYmVkJwoJCQl9CgkJfQoJfSwKCglwcm90bzogewoJCWluaXRJZnJhbWU6IGZ1bmN0aW9uKCkgewoJCQltZnAudHlwZXMucHVzaChJRlJBTUVfTlMpOwoKCQkJX21mcE9uKCdCZWZvcmVDaGFuZ2UnLCBmdW5jdGlvbihlLCBwcmV2VHlwZSwgbmV3VHlwZSkgewoJCQkJaWYocHJldlR5cGUgIT09IG5ld1R5cGUpIHsKCQkJCQlpZihwcmV2VHlwZSA9PT0gSUZSQU1FX05TKSB7CgkJCQkJCV9maXhJZnJhbWVCdWdzKCk7IC8vIGlmcmFtZSBpZiByZW1vdmVkCgkJCQkJfSBlbHNlIGlmKG5ld1R5cGUgPT09IElGUkFNRV9OUykgewoJCQkJCQlfZml4SWZyYW1lQnVncyh0cnVlKTsgLy8gaWZyYW1lIGlzIHNob3dpbmcKCQkJCQl9CgkJCQl9Ly8gZWxzZSB7CgkJCQkJLy8gaWZyYW1lIHNvdXJjZSBpcyBzd2l0Y2hlZCwgZG9uJ3QgZG8gYW55dGhpbmcKCQkJCS8vfQoJCQl9KTsKCgkJCV9tZnBPbihDTE9TRV9FVkVOVCArICcuJyArIElGUkFNRV9OUywgZnVuY3Rpb24oKSB7CgkJCQlfZml4SWZyYW1lQnVncygpOwoJCQl9KTsKCQl9LAoKCQlnZXRJZnJhbWU6IGZ1bmN0aW9uKGl0ZW0sIHRlbXBsYXRlKSB7CgkJCXZhciBlbWJlZFNyYyA9IGl0ZW0uc3JjOwoJCQl2YXIgaWZyYW1lU3QgPSBtZnAuc3QuaWZyYW1lOwoKCQkJJC5lYWNoKGlmcmFtZVN0LnBhdHRlcm5zLCBmdW5jdGlvbigpIHsKCQkJCWlmKGVtYmVkU3JjLmluZGV4T2YoIHRoaXMuaW5kZXggKSA+IC0xKSB7CgkJCQkJaWYodGhpcy5pZCkgewoJCQkJCQlpZih0eXBlb2YgdGhpcy5pZCA9PT0gJ3N0cmluZycpIHsKCQkJCQkJCWVtYmVkU3JjID0gZW1iZWRTcmMuc3Vic3RyKGVtYmVkU3JjLmxhc3RJbmRleE9mKHRoaXMuaWQpK3RoaXMuaWQubGVuZ3RoLCBlbWJlZFNyYy5sZW5ndGgpOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJZW1iZWRTcmMgPSB0aGlzLmlkLmNhbGwoIHRoaXMsIGVtYmVkU3JjICk7CgkJCQkJCX0KCQkJCQl9CgkJCQkJZW1iZWRTcmMgPSB0aGlzLnNyYy5yZXBsYWNlKCclaWQlJywgZW1iZWRTcmMgKTsKCQkJCQlyZXR1cm4gZmFsc2U7IC8vIGJyZWFrOwoJCQkJfQoJCQl9KTsKCgkJCXZhciBkYXRhT2JqID0ge307CgkJCWlmKGlmcmFtZVN0LnNyY0FjdGlvbikgewoJCQkJZGF0YU9ialtpZnJhbWVTdC5zcmNBY3Rpb25dID0gZW1iZWRTcmM7CgkJCX0KCQkJbWZwLl9wYXJzZU1hcmt1cCh0ZW1wbGF0ZSwgZGF0YU9iaiwgaXRlbSk7CgoJCQltZnAudXBkYXRlU3RhdHVzKCdyZWFkeScpOwoKCQkJcmV0dXJuIHRlbXBsYXRlOwoJCX0KCX0KfSk7CgoKCi8qPj5pZnJhbWUqLwoKLyo+PmdhbGxlcnkqLwovKioKICogR2V0IGxvb3BlZCBpbmRleCBkZXBlbmRpbmcgb24gbnVtYmVyIG9mIHNsaWRlcwogKi8KdmFyIF9nZXRMb29wZWRJZCA9IGZ1bmN0aW9uKGluZGV4KSB7CgkJdmFyIG51bVNsaWRlcyA9IG1mcC5pdGVtcy5sZW5ndGg7CgkJaWYoaW5kZXggPiBudW1TbGlkZXMgLSAxKSB7CgkJCXJldHVybiBpbmRleCAtIG51bVNsaWRlczsKCQl9IGVsc2UgIGlmKGluZGV4IDwgMCkgewoJCQlyZXR1cm4gbnVtU2xpZGVzICsgaW5kZXg7CgkJfQoJCXJldHVybiBpbmRleDsKCX0sCglfcmVwbGFjZUN1cnJUb3RhbCA9IGZ1bmN0aW9uKHRleHQsIGN1cnIsIHRvdGFsKSB7CgkJcmV0dXJuIHRleHQucmVwbGFjZSgvJWN1cnIlL2dpLCBjdXJyICsgMSkucmVwbGFjZSgvJXRvdGFsJS9naSwgdG90YWwpOwoJfTsKCiQubWFnbmlmaWNQb3B1cC5yZWdpc3Rlck1vZHVsZSgnZ2FsbGVyeScsIHsKCglvcHRpb25zOiB7CgkJZW5hYmxlZDogZmFsc2UsCgkJYXJyb3dNYXJrdXA6ICc8YnV0dG9uIHRpdGxlPSIldGl0bGUlIiB0eXBlPSJidXR0b24iIGNsYXNzPSJtZnAtYXJyb3cgbWZwLWFycm93LSVkaXIlIj48L2J1dHRvbj4nLAoJCXByZWxvYWQ6IFswLDJdLAoJCW5hdmlnYXRlQnlJbWdDbGljazogdHJ1ZSwKCQlhcnJvd3M6IHRydWUsCgoJCXRQcmV2OiAnUHJldmlvdXMgKExlZnQgYXJyb3cga2V5KScsCgkJdE5leHQ6ICdOZXh0IChSaWdodCBhcnJvdyBrZXkpJywKCQl0Q291bnRlcjogJyVjdXJyJSBvZiAldG90YWwlJwoJfSwKCglwcm90bzogewoJCWluaXRHYWxsZXJ5OiBmdW5jdGlvbigpIHsKCgkJCXZhciBnU3QgPSBtZnAuc3QuZ2FsbGVyeSwKCQkJCW5zID0gJy5tZnAtZ2FsbGVyeSc7CgoJCQltZnAuZGlyZWN0aW9uID0gdHJ1ZTsgLy8gdHJ1ZSAtIG5leHQsIGZhbHNlIC0gcHJldgoKCQkJaWYoIWdTdCB8fCAhZ1N0LmVuYWJsZWQgKSByZXR1cm4gZmFsc2U7CgoJCQlfd3JhcENsYXNzZXMgKz0gJyBtZnAtZ2FsbGVyeSc7CgoJCQlfbWZwT24oT1BFTl9FVkVOVCtucywgZnVuY3Rpb24oKSB7CgoJCQkJaWYoZ1N0Lm5hdmlnYXRlQnlJbWdDbGljaykgewoJCQkJCW1mcC53cmFwLm9uKCdjbGljaycrbnMsICcubWZwLWltZycsIGZ1bmN0aW9uKCkgewoJCQkJCQlpZihtZnAuaXRlbXMubGVuZ3RoID4gMSkgewoJCQkJCQkJbWZwLm5leHQoKTsKCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJfQoJCQkJCX0pOwoJCQkJfQoKCQkJCV9kb2N1bWVudC5vbigna2V5ZG93bicrbnMsIGZ1bmN0aW9uKGUpIHsKCQkJCQlpZiAoZS5rZXlDb2RlID09PSAzNykgewoJCQkJCQltZnAucHJldigpOwoJCQkJCX0gZWxzZSBpZiAoZS5rZXlDb2RlID09PSAzOSkgewoJCQkJCQltZnAubmV4dCgpOwoJCQkJCX0KCQkJCX0pOwoJCQl9KTsKCgkJCV9tZnBPbignVXBkYXRlU3RhdHVzJytucywgZnVuY3Rpb24oZSwgZGF0YSkgewoJCQkJaWYoZGF0YS50ZXh0KSB7CgkJCQkJZGF0YS50ZXh0ID0gX3JlcGxhY2VDdXJyVG90YWwoZGF0YS50ZXh0LCBtZnAuY3Vyckl0ZW0uaW5kZXgsIG1mcC5pdGVtcy5sZW5ndGgpOwoJCQkJfQoJCQl9KTsKCgkJCV9tZnBPbihNQVJLVVBfUEFSU0VfRVZFTlQrbnMsIGZ1bmN0aW9uKGUsIGVsZW1lbnQsIHZhbHVlcywgaXRlbSkgewoJCQkJdmFyIGwgPSBtZnAuaXRlbXMubGVuZ3RoOwoJCQkJdmFsdWVzLmNvdW50ZXIgPSBsID4gMSA/IF9yZXBsYWNlQ3VyclRvdGFsKGdTdC50Q291bnRlciwgaXRlbS5pbmRleCwgbCkgOiAnJzsKCQkJfSk7CgoJCQlfbWZwT24oJ0J1aWxkQ29udHJvbHMnICsgbnMsIGZ1bmN0aW9uKCkgewoJCQkJaWYobWZwLml0ZW1zLmxlbmd0aCA+IDEgJiYgZ1N0LmFycm93cyAmJiAhbWZwLmFycm93TGVmdCkgewoJCQkJCXZhciBtYXJrdXAgPSBnU3QuYXJyb3dNYXJrdXAsCgkJCQkJCWFycm93TGVmdCA9IG1mcC5hcnJvd0xlZnQgPSAkKCBtYXJrdXAucmVwbGFjZSgvJXRpdGxlJS9naSwgZ1N0LnRQcmV2KS5yZXBsYWNlKC8lZGlyJS9naSwgJ2xlZnQnKSApLmFkZENsYXNzKFBSRVZFTlRfQ0xPU0VfQ0xBU1MpLAoJCQkJCQlhcnJvd1JpZ2h0ID0gbWZwLmFycm93UmlnaHQgPSAkKCBtYXJrdXAucmVwbGFjZSgvJXRpdGxlJS9naSwgZ1N0LnROZXh0KS5yZXBsYWNlKC8lZGlyJS9naSwgJ3JpZ2h0JykgKS5hZGRDbGFzcyhQUkVWRU5UX0NMT1NFX0NMQVNTKTsKCgkJCQkJYXJyb3dMZWZ0LmNsaWNrKGZ1bmN0aW9uKCkgewoJCQkJCQltZnAucHJldigpOwoJCQkJCX0pOwoJCQkJCWFycm93UmlnaHQuY2xpY2soZnVuY3Rpb24oKSB7CgkJCQkJCW1mcC5uZXh0KCk7CgkJCQkJfSk7CgoJCQkJCW1mcC5jb250YWluZXIuYXBwZW5kKGFycm93TGVmdC5hZGQoYXJyb3dSaWdodCkpOwoJCQkJfQoJCQl9KTsKCgkJCV9tZnBPbihDSEFOR0VfRVZFTlQrbnMsIGZ1bmN0aW9uKCkgewoJCQkJaWYobWZwLl9wcmVsb2FkVGltZW91dCkgY2xlYXJUaW1lb3V0KG1mcC5fcHJlbG9hZFRpbWVvdXQpOwoKCQkJCW1mcC5fcHJlbG9hZFRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCW1mcC5wcmVsb2FkTmVhcmJ5SW1hZ2VzKCk7CgkJCQkJbWZwLl9wcmVsb2FkVGltZW91dCA9IG51bGw7CgkJCQl9LCAxNik7CgkJCX0pOwoKCgkJCV9tZnBPbihDTE9TRV9FVkVOVCtucywgZnVuY3Rpb24oKSB7CgkJCQlfZG9jdW1lbnQub2ZmKG5zKTsKCQkJCW1mcC53cmFwLm9mZignY2xpY2snK25zKTsKCQkJCW1mcC5hcnJvd1JpZ2h0ID0gbWZwLmFycm93TGVmdCA9IG51bGw7CgkJCX0pOwoKCQl9LAoJCW5leHQ6IGZ1bmN0aW9uKCkgewoJCQltZnAuZGlyZWN0aW9uID0gdHJ1ZTsKCQkJbWZwLmluZGV4ID0gX2dldExvb3BlZElkKG1mcC5pbmRleCArIDEpOwoJCQltZnAudXBkYXRlSXRlbUhUTUwoKTsKCQl9LAoJCXByZXY6IGZ1bmN0aW9uKCkgewoJCQltZnAuZGlyZWN0aW9uID0gZmFsc2U7CgkJCW1mcC5pbmRleCA9IF9nZXRMb29wZWRJZChtZnAuaW5kZXggLSAxKTsKCQkJbWZwLnVwZGF0ZUl0ZW1IVE1MKCk7CgkJfSwKCQlnb1RvOiBmdW5jdGlvbihuZXdJbmRleCkgewoJCQltZnAuZGlyZWN0aW9uID0gKG5ld0luZGV4ID49IG1mcC5pbmRleCk7CgkJCW1mcC5pbmRleCA9IG5ld0luZGV4OwoJCQltZnAudXBkYXRlSXRlbUhUTUwoKTsKCQl9LAoJCXByZWxvYWROZWFyYnlJbWFnZXM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgcCA9IG1mcC5zdC5nYWxsZXJ5LnByZWxvYWQsCgkJCQlwcmVsb2FkQmVmb3JlID0gTWF0aC5taW4ocFswXSwgbWZwLml0ZW1zLmxlbmd0aCksCgkJCQlwcmVsb2FkQWZ0ZXIgPSBNYXRoLm1pbihwWzFdLCBtZnAuaXRlbXMubGVuZ3RoKSwKCQkJCWk7CgoJCQlmb3IoaSA9IDE7IGkgPD0gKG1mcC5kaXJlY3Rpb24gPyBwcmVsb2FkQWZ0ZXIgOiBwcmVsb2FkQmVmb3JlKTsgaSsrKSB7CgkJCQltZnAuX3ByZWxvYWRJdGVtKG1mcC5pbmRleCtpKTsKCQkJfQoJCQlmb3IoaSA9IDE7IGkgPD0gKG1mcC5kaXJlY3Rpb24gPyBwcmVsb2FkQmVmb3JlIDogcHJlbG9hZEFmdGVyKTsgaSsrKSB7CgkJCQltZnAuX3ByZWxvYWRJdGVtKG1mcC5pbmRleC1pKTsKCQkJfQoJCX0sCgkJX3ByZWxvYWRJdGVtOiBmdW5jdGlvbihpbmRleCkgewoJCQlpbmRleCA9IF9nZXRMb29wZWRJZChpbmRleCk7CgoJCQlpZihtZnAuaXRlbXNbaW5kZXhdLnByZWxvYWRlZCkgewoJCQkJcmV0dXJuOwoJCQl9CgoJCQl2YXIgaXRlbSA9IG1mcC5pdGVtc1tpbmRleF07CgkJCWlmKCFpdGVtLnBhcnNlZCkgewoJCQkJaXRlbSA9IG1mcC5wYXJzZUVsKCBpbmRleCApOwoJCQl9CgoJCQlfbWZwVHJpZ2dlcignTGF6eUxvYWQnLCBpdGVtKTsKCgkJCWlmKGl0ZW0udHlwZSA9PT0gJ2ltYWdlJykgewoJCQkJaXRlbS5pbWcgPSAkKCc8aW1nIGNsYXNzPSJtZnAtaW1nIiAvPicpLm9uKCdsb2FkLm1mcGxvYWRlcicsIGZ1bmN0aW9uKCkgewoJCQkJCWl0ZW0uaGFzU2l6ZSA9IHRydWU7CgkJCQl9KS5vbignZXJyb3IubWZwbG9hZGVyJywgZnVuY3Rpb24oKSB7CgkJCQkJaXRlbS5oYXNTaXplID0gdHJ1ZTsKCQkJCQlpdGVtLmxvYWRFcnJvciA9IHRydWU7CgkJCQkJX21mcFRyaWdnZXIoJ0xhenlMb2FkRXJyb3InLCBpdGVtKTsKCQkJCX0pLmF0dHIoJ3NyYycsIGl0ZW0uc3JjKTsKCQkJfQoKCgkJCWl0ZW0ucHJlbG9hZGVkID0gdHJ1ZTsKCQl9Cgl9Cn0pOwoKLyo+PmdhbGxlcnkqLwoKLyo+PnJldGluYSovCgp2YXIgUkVUSU5BX05TID0gJ3JldGluYSc7CgokLm1hZ25pZmljUG9wdXAucmVnaXN0ZXJNb2R1bGUoUkVUSU5BX05TLCB7CglvcHRpb25zOiB7CgkJcmVwbGFjZVNyYzogZnVuY3Rpb24oaXRlbSkgewoJCQlyZXR1cm4gaXRlbS5zcmMucmVwbGFjZSgvXC5cdyskLywgZnVuY3Rpb24obSkgeyByZXR1cm4gJ0AyeCcgKyBtOyB9KTsKCQl9LAoJCXJhdGlvOiAxIC8vIEZ1bmN0aW9uIG9yIG51bWJlci4gIFNldCB0byAxIHRvIGRpc2FibGUuCgl9LAoJcHJvdG86IHsKCQlpbml0UmV0aW5hOiBmdW5jdGlvbigpIHsKCQkJaWYod2luZG93LmRldmljZVBpeGVsUmF0aW8gPiAxKSB7CgoJCQkJdmFyIHN0ID0gbWZwLnN0LnJldGluYSwKCQkJCQlyYXRpbyA9IHN0LnJhdGlvOwoKCQkJCXJhdGlvID0gIWlzTmFOKHJhdGlvKSA/IHJhdGlvIDogcmF0aW8oKTsKCgkJCQlpZihyYXRpbyA+IDEpIHsKCQkJCQlfbWZwT24oJ0ltYWdlSGFzU2l6ZScgKyAnLicgKyBSRVRJTkFfTlMsIGZ1bmN0aW9uKGUsIGl0ZW0pIHsKCQkJCQkJaXRlbS5pbWcuY3NzKHsKCQkJCQkJCSdtYXgtd2lkdGgnOiBpdGVtLmltZ1swXS5uYXR1cmFsV2lkdGggLyByYXRpbywKCQkJCQkJCSd3aWR0aCc6ICcxMDAlJwoJCQkJCQl9KTsKCQkJCQl9KTsKCQkJCQlfbWZwT24oJ0VsZW1lbnRQYXJzZScgKyAnLicgKyBSRVRJTkFfTlMsIGZ1bmN0aW9uKGUsIGl0ZW0pIHsKCQkJCQkJaXRlbS5zcmMgPSBzdC5yZXBsYWNlU3JjKGl0ZW0sIHJhdGlvKTsKCQkJCQl9KTsKCQkJCX0KCQkJfQoKCQl9Cgl9Cn0pOwoKLyo+PnJldGluYSovCiBfY2hlY2tJbnN0YW5jZSgpOyB9KSk7"}},"time_used":601,"timings":{"blocked":508,"dns":0,"connect":0,"send":0,"wait":93,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/89204.f6418fba73d397b29641.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.795Z","timestamp":1785141584795,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/89204.f6418fba73d397b29641.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b78-142\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:28 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2cf537282b4f2e147e7cc88c13e02f2e\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":322,"size_decoded":1004,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (322), with no line terminators","md5":"563945a9dc3f312146a5c158aa6e6ee9","sha1":"78cb43846e5dba44427d564e9102bc8b42099d12","sha256":"3eb3c2fc923c9e7a63bb29f65516f6a81786dbac6ef260ef42320d8dd906a9e0","sha512":"affae07e66af435a2825898cc8a27eee49f9e507ab4e765b0af5a96af6b4e80cfc8cedec4bd0c8b89033e405e0630ae24042553f017bb1f29360d57fbd1aa04d","ssdeep":"","tlshash":"5de07d062634443ec48b4a39bec34337c874c641dee27a9ba113b10611b223507f530f","first_seen":"2026-04-10T04:33:31.665375Z","last_seen":"2026-07-27T12:54:15.374279Z","times_seen":644,"resource_available":false,"data":"Lmljb24tV0IyeTBFblB7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjI3NSl9Lmljb24tV0IyeTBFblAgc3Zne2Rpc3BsYXk6YmxvY2s7ZmlsbDpjdXJyZW50Q29sb3I7aGVpZ2h0OjRweDt3aWR0aDo4cHh9Lmljb24tV0IyeTBFblAuZHJvcHBlZC1XQjJ5MEVuUHt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9Lmljb24tV0IyeTBFblAuZHJvcHBlZC1XQjJ5MEVuUDpkaXIocnRsKXt0cmFuc2Zvcm06cm90YXRlKC0xODBkZWcpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/657.29ddd4f04e6ec50da70b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.131Z","timestamp":1785141585131,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/657.29ddd4f04e6ec50da70b.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 60\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b75-3c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2ce26486f8bbcb855a0c5ce2f43a6184\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":60,"size_decoded":844,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"df18085a2070c3224e444c71713a95bc","sha1":"144d76cfc0df49820ea9adff3d08089670097e0e","sha256":"41b689f65b61467ec344afc1b82582ad1aca4134488ceb2f506e8f80e6ba919c","sha512":"f498445a0b87460528dde1423c9e61047aa43ac1d298895e5ce55ad2ec4f8bb9e3a40c41434d71c573e693ac551d5865326e39fd2a4735648b7637f8d41a88fc","ssdeep":"","tlshash":"16a0020653c51f358913d92307962717115454258912d6b58a03caa6964d78879261ec","first_seen":"2026-02-24T21:05:06.310249Z","last_seen":"2026-07-27T12:48:39.711626Z","times_seen":236,"resource_available":false,"data":"LmxvZ28tZDB2Vm1HdlR7ZGlzcGxheTpmbGV4O2ZsZXg6bm9uZTttYXJnaW4taW5saW5lLWVuZDo4cHh9"}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/98509.f8d6ac38558196800d81.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.833Z","timestamp":1785141584833,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/98509.f8d6ac38558196800d81.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-181\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f45a50c331f5f3f290cd216c0be4405a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":385,"size_decoded":994,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (385), with no line terminators","md5":"4133913207f831470f93a99259fc2199","sha1":"c85ac4b4dbb31362d3a803db2b1855a07a4432fc","sha256":"9a30cb5d3c50528598c10ec6bae54bbf4d41abaf88730d8b4b3bfacde808f6e2","sha512":"de719b99e4d591ec8c62d29bdcc5df5117829386ba6c1f8df9ccabcc679d0c237405c185c4cd9f4a9bce56a877b1bcdbc786c24ee8d22d20384bdf29bb5516ff","ssdeep":"","tlshash":"6ce061a1c294a1ddbb73d3218741f1d47225b5b6a8255e18f6c5319580c6447145843f","first_seen":"2026-06-30T21:57:43.334683Z","last_seen":"2026-07-27T12:48:39.721039Z","times_seen":222,"resource_available":false,"data":"LmJ1dHRvbi1yMHBvUnYwUnthbGw6dW5zZXQ7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5idXR0b24tcjBwb1J2MFI6YmVmb3Jle2JvcmRlci1yYWRpdXM6NHB4O2NvbnRlbnQ6bm9uZTtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtvdXRsaW5lOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSBub25lIDJweDtvdXRsaW5lLW9mZnNldDotMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9LmJ1dHRvbi1yMHBvUnYwUjpmb2N1cy12aXNpYmxlOmJlZm9yZXtjb250ZW50OiIiO291dGxpbmUtc3R5bGU6c29saWR9LmJ1dHRvbi1yMHBvUnYwUi5hY3RpdmUtcjBwb1J2MFI6YmVmb3Jle291dGxpbmUtY29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfQ=="}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32427.6d166f87b73672e561da.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.835Z","timestamp":1785141584835,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32427.6d166f87b73672e561da.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fcb-6854\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:51 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2ffa3b60ba0c9a8ed31348ad8dd26c1d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":26708,"size_decoded":6118,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (26708), with no line terminators","md5":"32fcdfd8c316846fd66f3170427e7c77","sha1":"6cd395666698972688086231acc7c92869c526c2","sha256":"611cc3a9b9a962bd86a58946c40f4db83ee7464d2fd0f96e5bdc128adc47279e","sha512":"c87b402782fb530431f851e0cdf6eea7fe311cf40f98235daa0427b63b098ffd61cf0bfac44287a5cacf81a5e799f4807074eb6a6d868fd6f35e7dd1313f3154","ssdeep":"384:NuoYQ+hStFKAD8LjW2KegDJbJiSFCJvkJrTKbA:YSPqW2KeuTKk","tlshash":"81c2e68af340717eba0b963c8746e1ec2748ec66d9024efef971e19045c27e652b6d1c","first_seen":"2026-06-30T21:57:43.46701Z","last_seen":"2026-07-27T12:48:39.683893Z","times_seen":222,"resource_available":false,"data":"LndyYXAtVWZER3loNUt7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4OjEgMCBhdXRvO2ZsZXgtZGlyZWN0aW9uOnJvdztoZWlnaHQ6MTAwJX0uYnV0dG9uLUk4ckFuWFRSLndpdGhUZXh0LUk4ckFuWFRSe3BhZGRpbmctYmxvY2s6MCAwO3BhZGRpbmctaW5saW5lOjVweCAxMHB4fS5idXR0b24tSThyQW5YVFIud2l0aG91dFRleHQtSThyQW5YVFIsLmJ1dHRvbi1oRHRJb3hqVXtwYWRkaW5nOjAgNXB4fS5ncm91cC1oRHRJb3hqVXtkaXNwbGF5OmNvbnRlbnRzfS5tZW51LWhEdElveGpVOm9ubHktY2hpbGR7cGFkZGluZzowIDVweH0uYmV0YUJhZGdlLWhEdElveGpVLC5uZXdCYWRnZS1oRHRJb3hqVXstLXVpLWxpYi1iYWRnZS1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLXdoaXRlKTttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0uYmV0YUJhZGdlLWhEdElveGpVOmZpcnN0LWNoaWxkLC5uZXdCYWRnZS1oRHRJb3hqVTpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0OjZweH0uYmV0YUJhZGdlLWhEdElveGpVey0tdWktbGliLWJhZGdlLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCl9LmxhYmVsLWhEdElveGpVe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0b30uY29udGFpbmVyLWhEdElveGpVLm5ld1ZpZXctaER0SW94alV7cGFkZGluZzowIDZweDstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjA7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjF9LmNvbnRhaW5lci1oRHRJb3hqVS5uZXdWaWV3LWhEdElveGpVLmRlc2t0b3AtaER0SW94alV7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcDoxOy0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZTowfS5mdWxsLXVfUkFwbmlOLmxhc3QtdV9SQXBuaU4sLm1lZGl1bS11X1JBcG5pTi5sYXN0LXVfUkFwbmlOe21hcmdpbi1pbmxpbmUtZW5kOjdweH0uZHJvcGRvd24tTWJ3Qk1XRHl7bWluLXdpZHRoOjIwMHB4fS5kcm9wZG93bi1NYndCTVdEeS5uZXdWaWV3LU1id0JNV0R5e3BhZGRpbmc6MCA2cHg7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcDoxOy0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZTowfS5kcm9wZG93bi1NYndCTVdEeS5uZXdWaWV3LU1id0JNV0R5LnNtYWxsV2lkdGhXcmFwcGVyLU1id0JNV0R5ey0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3A6MDstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGU6MX0ubWVudS1NYndCTVdEeXttYXgtd2lkdGg6MzE0cHh9LmxhYmVsLU1id0JNV0R5e292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uc21hbGxXaWR0aFRpdGxlLU1id0JNV0R5e21hcmdpbi1ib3R0b206OHB4O21hcmdpbi10b3A6MnB4O3BhZGRpbmctaW5saW5lLWVuZDoyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9LnNtYWxsV2lkdGhNZW51SXRlbS1NYndCTVdEeXtwYWRkaW5nOjZweCAxNnB4fS5zbWFsbFdpZHRoV3JhcHBlci1NYndCTVdEeTpub3QoLm5ld1ZpZXctTWJ3Qk1XRHkpe3BhZGRpbmctdG9wOjhweH0uc3RhdGVUaXRsZS1ya3ZrRll6Mntjb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZSx2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZSkpO2ZvbnQtc2l6ZToxMHB4O2xpbmUtaGVpZ2h0OjEwcHh9LnN0YXRlVGl0bGUtcmt2a0ZZejIuaGlkZGVuLXJrdmtGWXoye2hlaWdodDowO292ZXJmbG93OmhpZGRlbn0ubG9hZGVyLXJrdmtGWXoyey0tdWktbGliLWxvYWRlci1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLXNhdmUtbGF5b3V0LWxvYWRlcix2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpKX0udmFsdWUtZHIzdkdpblR7Zm9udC1zaXplOjE0cHg7dGV4dC1hbGlnbjpzdGFydH0udmFsdWUtZHIzdkdpblQuc2VsZWN0ZWQtZHIzdkdpblR7Y29sb3I6dmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1hY3RpdmUpfS5wb3B1cEl0ZW1Sb3dUYWJsZXRTbWFsbC1FWEdfMGhhSjpmaXJzdC1jaGlsZHttYXJnaW4tYm90dG9tOjZweDttYXJnaW4tdG9wOjZweDtwYWRkaW5nLWlubGluZS1zdGFydDoxMnB4fS5sYXlvdXRJdGVtLUVYR18waGFKe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzo0cHggMH0ubGF5b3V0SXRlbS1FWEdfMGhhSiAubGF5b3V0TWV0YS1FWEdfMGhhSntmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsO21hcmdpbi10b3A6MnB4Oy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjEycHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTZweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LnRvb2xib3gtRVhHXzBoYUp7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O3BhZGRpbmctdG9wOjNweH0udG9vbGJveFNtYWxsLUVYR18waGFKe2FsaWduLXNlbGY6ZmxleC1zdGFydDtwYWRkaW5nLXRvcDo5cHh9LmxheW91dFRpdGxlLUVYR18waGFKe2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0ubGF5b3V0SXRlbVdyYXAtRVhHXzBoYUp7cGFkZGluZy1ibG9jazoycHggMnB4O3BhZGRpbmctaW5saW5lOjhweCAxMHB4fS5sYXlvdXRJdGVtV3JhcFNtYWxsLUVYR18waGFKe3BhZGRpbmctaW5saW5lLWVuZDoyMHB4fS5sYXlvdXRUaXRsZVNtYWxsLUVYR18waGFKe2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0uZWxsaXBzaXMtRVhHXzBoYUp7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5zbWFsbFdpZHRoTWVudUl0ZW0tcldCY2Qxak17cGFkZGluZzo2cHggMTZweH0ubWVudUl0ZW0tcldCY2Qxak06aGFzKDpmb2N1cy12aXNpYmxlKSAucmVtb3ZlLXJXQmNkMWpNe3Zpc2liaWxpdHk6dmlzaWJsZX0ubWVudUl0ZW0tcldCY2Qxak0uc2lnbmFsLXJXQmNkMWpNe2FuaW1hdGlvbi1kdXJhdGlvbjouOHM7YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkczthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7YW5pbWF0aW9uLW5hbWU6aGlnaGxpZ2h0LWFuaW1hdGlvbi1yV0JjZDFqTTstLW1peGluLWlubmVyLWJhc2UtY29sb3I6IzAwMDA7LS1taXhpbi1pbm5lci1oaWdobGlnaHQtY29sb3I6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXNlY29uZGFyeSl9QGtleWZyYW1lcyBoaWdobGlnaHQtYW5pbWF0aW9uLXJXQmNkMWpNezAle2JhY2tncm91bmQtY29sb3I6dmFyKC0tbWl4aW4taW5uZXItYmFzZS1jb2xvcil9MzAle2JhY2tncm91bmQtY29sb3I6dmFyKC0tbWl4aW4taW5uZXItaGlnaGxpZ2h0LWNvbG9yKX02MCV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1taXhpbi1pbm5lci1iYXNlLWNvbG9yKX10b3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW1peGluLWlubmVyLWhpZ2hsaWdodC1jb2xvcil9fS5zaGFyaW5nTGFiZWxXcmFwLV9VQ2xRVHQ2e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS50aXRsZVNoYXJpbmdMYWJlbC1fVUNsUVR0NntvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lmljb25XcmFwLV9VQ2xRVHQ2e21hcmdpbi1pbmxpbmUtc3RhcnQ6N3B4fS5pbmZvSWNvbi1fVUNsUVR0Nntjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodCk7ZGlzcGxheTpmbGV4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaW5mb0ljb24tX1VDbFFUdDY6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItZGVmYXVsdC1ncmF5KX19LmFjY2Vzc2libGVMYWJlbC1fVUNsUVR0NntvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uYWNjZXNzaWJsZUxhYmVsLV9VQ2xRVHQ2OmZvY3Vze291dGxpbmU6bm9uZX0uYWNjZXNzaWJsZUxhYmVsLV9VQ2xRVHQ2OmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5hY2Nlc3NpYmxlTGFiZWwtX1VDbFFUdDY6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4OjF9LmFjY2Vzc2libGVMYWJlbC1fVUNsUVR0Njpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5hY2Nlc3NpYmxlTGFiZWwtX1VDbFFUdDY6Zm9jdXMtdmlzaWJsZTphZnRlcntkaXNwbGF5OmJsb2NrfS5hY2Nlc3NpYmxlTGFiZWwtX1VDbFFUdDY6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9LmFjY2Vzc2libGVMYWJlbC1fVUNsUVR0NjphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApO2JvcmRlci1yYWRpdXM6NnB4fS5oaW50LV9VQ2xRVHQ2e2Rpc3BsYXk6ZmxleH0uYWNjZXNzaWJsZS1tRUdaQmZ1THtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uYWNjZXNzaWJsZS1tRUdaQmZ1TDpmb2N1c3tvdXRsaW5lOm5vbmV9LmFjY2Vzc2libGUtbUVHWkJmdUw6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmFjY2Vzc2libGUtbUVHWkJmdUw6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTt6LWluZGV4OjF9LmFjY2Vzc2libGUtbUVHWkJmdUw6Zm9jdXM6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWNjZXNzaWJsZS1tRUdaQmZ1TDpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmFjY2Vzc2libGUtbUVHWkJmdUw6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9LmFjY2Vzc2libGUtbUVHWkJmdUw6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTtib3JkZXItcmFkaXVzOjZweH0udGl0bGUtdHNUb2JzeXB7Y3Vyc29yOmRlZmF1bHR9LnNtYWxsVGFibGV0U2VjdGlvblRpdGxlLW91SkpzVlU2LC50aXRsZS10c1RvYnN5cHtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQpKTtmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouNHB4O2xpbmUtaGVpZ2h0OjE2cHg7cGFkZGluZzoxMHB4IDIwcHggOHB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uc21hbGxUYWJsZXRTZWN0aW9uVGl0bGUtb3VKSnNWVTZ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5jb3B5TGluay1lM0JabVpYSHtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxOHB4O21hcmdpbjowIDEycHggNnB4fS5jb3B5TGluay1lM0JabVpYSCwuY29weUxpbmstZTNCWm1aWEg6dmlzaXRlZHtjb2xvcjp2YXIoLS1jb2xvci1icmFuZCk7ZmlsbDp2YXIoLS1jb2xvci1icmFuZCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb3B5TGluay1lM0JabVpYSDpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1icmFuZC1ob3Zlcik7ZmlsbDp2YXIoLS1jb2xvci1icmFuZC1ob3Zlcil9fS5jb3B5TGluay1lM0JabVpYSDphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2ZpbGw6dmFyKC0tY29sb3ItYnJhbmQpfS5jb3B5TGluay1lM0JabVpYSDpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS5jb3B5TGluay1lM0JabVpYSDpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LmNvcHlMaW5rLWUzQlptWlhIOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZTpub25lfS5jb3B5TGluay1lM0JabVpYSC5jb3B5TGlua01vYmlsZS1lM0JabVpYSHttYXJnaW46MCAyMHB4fS5hY2Nlc3NpYmxlTGFiZWwtZTNCWm1aWEh7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9LmFjY2Vzc2libGVMYWJlbC1lM0JabVpYSDpmb2N1c3tvdXRsaW5lOm5vbmV9LmFjY2Vzc2libGVMYWJlbC1lM0JabVpYSDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uYWNjZXNzaWJsZUxhYmVsLWUzQlptWlhIOmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxfS5hY2Nlc3NpYmxlTGFiZWwtZTNCWm1aWEg6Zm9jdXM6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWNjZXNzaWJsZUxhYmVsLWUzQlptWlhIOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWNjZXNzaWJsZUxhYmVsLWUzQlptWlhIOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5hY2Nlc3NpYmxlTGFiZWwtZTNCWm1aWEg6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTtib3JkZXItcmFkaXVzOjZweH0uc2VjdGlvbi1DcVBRQmc0WnttYXJnaW46LTJweCAwfS5zZWN0aW9uLUNxUFFCZzRaOmZpcnN0LWNoaWxke21hcmdpbi10b3A6NHB4fS5zZWN0aW9uLUNxUFFCZzRaW2RhdGEtb3Blbj10cnVlXXttYXJnaW4tYm90dG9tOjRweH0uYWRkQ3VzdG9tSW50ZXJ2YWwtQ3FQUUJnNFp7cGFkZGluZy1ib3R0b206NnB4O3BhZGRpbmctdG9wOjZweH0uYWRkQ3VzdG9tSW50ZXJ2YWxEZXNrdG9wLUNxUFFCZzRae3BhZGRpbmctYm90dG9tOjNweDtwYWRkaW5nLXRvcDozcHh9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtVXVQdjp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1VdVB2OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtVXVQdjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV8xLVV1UHY6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCl9Lm1lbnVCdG5XcmFwLXphcExoMHJSe2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOmF1dG99Lm1lbnUtemFwTGgwclJ7bWF4LXdpZHRoOjM0MHB4fS5uZXdNZW51V3JhcHBlci16YXBMaDByUntwYWRkaW5nOjAgNnB4Oy0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3A6MDstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGU6MX0ubmV3TWVudVdyYXBwZXItemFwTGgwclIuZGVza3RvcC16YXBMaDByUnstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjE7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjB9Lm9wZW5lZC16YXBMaDByUi5ob3Zlci16YXBMaDByUjpiZWZvcmUsLm9wZW5lZC16YXBMaDByUjphY3RpdmU6YmVmb3JlLC5vcGVuZWQtemFwTGgwclI6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1leHBhbmRlZCx2YXIoLS1jb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnKSk7Ym9yZGVyLXJhZGl1czp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLWJvcmRlci1yYWRpdXMsMCk7Ym90dG9tOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbnNldC1pbmxpbmUtZW5kOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO2luc2V0LWlubGluZS1zdGFydDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7ei1pbmRleDotMX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm9wZW5lZC16YXBMaDByUjpob3ZlcjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWV4cGFuZGVkLHZhcigtLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmcpKTtib3JkZXItcmFkaXVzOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItYm9yZGVyLXJhZGl1cywwKTtib3R0b206dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTt6LWluZGV4Oi0xfX0ub3BlbmVkLXphcExoMHJSLmNsaWNrZWQtemFwTGgwclI6YmVmb3JlLC5vcGVuZWQtemFwTGgwclI6YWN0aXZlOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtY2xpY2tlZCx2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWV4cGFuZGVkLHZhcigtLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmcpKSk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrfS5hdXRvU2F2ZVdyYXBwZXItemFwTGgwclIsLnNoYXJpbmdXcmFwcGVyLXphcExoMHJSe21pbi13aWR0aDpjYWxjKDEwMCUgLSAyMnB4KTt3aWR0aDoxOTJweH0uYnV0dG9uLXphcExoMHJSLmJ1dHRvblNtYWxsUGFkZGluZy16YXBMaDByUntwYWRkaW5nLWlubGluZS1lbmQ6NnB4fS5idXR0b24temFwTGgwclJ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWluLXdpZHRoOjY1cHh9LmhpbnRQbGFjZUhvbGRlci16YXBMaDByUntoZWlnaHQ6MTI4cHh9LnNtYWxsSGludFBsYWNlSG9sZGVyLXphcExoMHJSe2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LnBvcHVwSXRlbVJvd1RhYmxldFNtYWxsLXphcExoMHJSOmZpcnN0LWNoaWxke21hcmdpbi1ib3R0b206NnB4O21hcmdpbi10b3A6NnB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjEycHh9LnNob3J0Y3V0LXphcExoMHJSe2ZsZXgtc2hyaW5rOjA7bWFyZ2luLWlubGluZS1lbmQ6MDt0ZXh0LWFsaWduOmVuZH0udG9vbFRpdGxlLXphcExoMHJSe3BhZGRpbmc6NHB4IDEycHh9LnRvb2xUaXRsZU1vYmlsZS16YXBMaDByUntwYWRkaW5nOjhweCAyMHB4fS50ZXh0V3JhcC16YXBMaDByUnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0udGV4dC16YXBMaDByUnttYXgtd2lkdGg6MTAwcHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LndpdGhJY29uLXphcExoMHJSe3BhZGRpbmctYm90dG9tOjJweDtwYWRkaW5nLXRvcDoycHh9LnN3aXRjaGVyTGFiZWwtemFwTGgwclJ7b3ZlcmZsb3c6dmlzaWJsZX0uZWxsaXBzaXMtemFwTGgwclJ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5idXR0b24tVTliMFRBczR7cGFkZGluZzowIDZweH0ubWVudUJ0bi1VOWIwVEFzNDpvbmx5LWNoaWxke3BhZGRpbmc6MCAxMHB4fS5kcm9wZG93bi1VOWIwVEFzNHttaW4td2lkdGg6MTQwcHh9LmRyb3Bkb3duLVU5YjBUQXM0Lm5ld1ZpZXctVTliMFRBczR7cGFkZGluZzowIDZweDstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjA7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjF9LmRyb3Bkb3duLVU5YjBUQXM0Lm5ld1ZpZXctVTliMFRBczQuZGVza3RvcC1VOWIwVEFzNHstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjE7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjB9Lm1lbnVDb250ZW50LVU5YjBUQXM0e2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lmdyb3VwLVU5YjBUQXM0e2Rpc3BsYXk6Y29udGVudHN9LmJ1dHRvbi13X2dES243Ty5pc0Rpc2FibGVkLXdfZ0RLbjdPe29wYWNpdHk6MSFpbXBvcnRhbnR9LmJ1dHRvbi13b0szVnhtbXtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjM3cHh9Lm5ld1ZpZXctcDVBbkcwR097cGFkZGluZzowIDZweDstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjA7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjF9Lm5ld1ZpZXctcDVBbkcwR08uZGVza3RvcC1wNUFuRzBHT3stLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjE7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjB9LmNvbnRhaW5lci1KUVowSEtENHtoZWlnaHQ6MjhweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5idXR0b24tSlFaMEhLRDR7YWxsOnVuc2V0O2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCk7Ym9yZGVyLXJhZGl1czoxNHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cGFkZGluZy1pbmxpbmUtZW5kOjMwcHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MTJweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5idXR0b24tSlFaMEhLRDQ6Zm9jdXN7b3V0bGluZTpub25lfS5idXR0b24tSlFaMEhLRDQ6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJ1dHRvbi1KUVowSEtENDphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO3otaW5kZXg6MX0uYnV0dG9uLUpRWjBIS0Q0OmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1KUVowSEtENDpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1KUVowSEtENDpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnV0dG9uLUpRWjBIS0Q0OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1KUVowSEtENDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpfS5idXR0b24tSlFaMEhLRDQ6aG92ZXIgLnZhbHVlLUpRWjBIS0Q0OmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjNGE0YTRhMDAgMCx2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSAxMDAlKX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tSlFaMEhLRDQ6aG92ZXIgLnZhbHVlLUpRWjBIS0Q0OmJlZm9yZTpkaXIocnRsKXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgtOTBkZWcsIzRhNGE0YTAwIDAsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCkgMTAwJSl9fS5idXR0b24tSlFaMEhLRDQ6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KX0uYnV0dG9uLUpRWjBIS0Q0OmFjdGl2ZSAudmFsdWUtSlFaMEhLRDQ6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMzZDNkM2QwMCAwLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkgMTAwJSl9LmJ1dHRvbi1KUVowSEtENDphY3RpdmUgLnZhbHVlLUpRWjBIS0Q0OmJlZm9yZTpkaXIocnRsKXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgtOTBkZWcsIzNkM2QzZDAwIDAsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSAxMDAlKX0udmFsdWUtSlFaMEhLRDR7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjYwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS52YWx1ZS1KUVowSEtENDpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzNkM2QzZDAwIDAsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSAxMDAlKTtjb250ZW50OiIiO2hlaWdodDoxOHB4O2luc2V0LWlubGluZS1lbmQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS52YWx1ZS1KUVowSEtENDpiZWZvcmU6ZGlyKHJ0bCl7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoLTkwZGVnLCMzZDNkM2QwMCAwLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkgMTAwJSl9LmFjdGlvbi1KUVowSEtENHthbGw6dW5zZXQ7Ym9yZGVyLXJhZGl1czo1MCU7aGVpZ2h0OjI0cHg7aW5zZXQtaW5saW5lLWVuZDowO291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3BhZGRpbmc6MnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjI0cHh9LmFjdGlvbi1KUVowSEtENDpmb2N1c3tvdXRsaW5lOm5vbmV9LmFjdGlvbi1KUVowSEtENDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uYWN0aW9uLUpRWjBIS0Q0OmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxfS5hY3Rpb24tSlFaMEhLRDQ6Zm9jdXM6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWN0aW9uLUpRWjBIS0Q0OmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWN0aW9uLUpRWjBIS0Q0OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5hY3Rpb24tSlFaMEhLRDQ6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZSk7Ym9yZGVyLXJhZGl1czpjYWxjKDUwJSArIDRweCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5hY3Rpb24tSlFaMEhLRDQ6aG92ZXIgLmljb24tSlFaMEhLRDR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKX19LmFjdGlvbi1KUVowSEtENDphY3RpdmUgLmljb24tSlFaMEhLRDR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktaW52ZXJzZSl9Lmljb24tSlFaMEhLRDR7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYWN0aW9uLWljb24tYmFja2dyb3VuZC1jb2xvcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktaW52ZXJzZSkpO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi13aWR0aDoyNHB4O3dpZHRoOjI0cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pY29uLUpRWjBIS0Q0OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCl9fS5pY29uLUpRWjBIS0Q0OmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1pbnZlcnNlKX0uYnV0dG9uLW80MHQ5TDVue3BhZGRpbmc6NXB4IDEwcHg7d2lkdGg6MTAwcHh9LmJ1dHRvbi1vNDB0OUw1bi5zbWFsbExlZnRQYWRkaW5nLW80MHQ5TDVue3BhZGRpbmctaW5saW5lLXN0YXJ0OjhweH0udGV4dC1vNDB0OUw1bntmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NjAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7b3ZlcmZsb3c6aGlkZGVufS5zZWFyY2hCdXR0b24tbzQwdDlMNW4sLnRleHQtbzQwdDlMNW57bWFyZ2luOjAgNHB4O3dpZHRoOjEyOHB4fS5tZW51T3BlbmVkLW80MHQ5TDVuey0tY29sb3ItYWN0aW9uLWljb24tYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKX0udXBwZXJjYXNlLW80MHQ5TDVue3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uZGVzY3JpcHRpb24taFZTM0k5cnN7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1zZWNvbmRhcnktdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0KSk7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MThweDttYXgtd2lkdGg6MjgwcHg7bWluLXdpZHRoOjE3MHB4O3BhZGRpbmctYm90dG9tOjRweDt3aGl0ZS1zcGFjZTpub3JtYWw7d29yZC13cmFwOmJyZWFrLXdvcmR9W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtaVpHNDojMDAwMH0ubGFiZWxSb3ctX3VYalNTUTV7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6Y2FsYygxMDAlIC0gNjBweCl9LnRvb2xib3gtX3VYalNTUTV7bWFyZ2luLWlubGluZS1zdGFydDphdXRvfS5kZXNjcmlwdGlvbi1fdVhqU1NRNXtwYWRkaW5nOjB9LmRlc2NyaXB0aW9uVGFibGV0U21hbGwtX3VYalNTUTV7bWF4LXdpZHRoOjEwMCU7cGFkZGluZy1pbmxpbmUtZW5kOjU2cHh9Lml0ZW0tX3VYalNTUTV7bWFyZ2luLXRvcDotM3B4O3BhZGRpbmctYm90dG9tOjhweDtwYWRkaW5nLXRvcDowfS5pdGVtLV91WGpTU1E1OmJlZm9yZXtjb250ZW50Om5vbmV9Lml0ZW0tX3VYalNTUTUsLml0ZW0tX3VYalNTUTU6YWN0aXZlLC50aXRsZUl0ZW0tX3VYalNTUTUsLnRpdGxlSXRlbS1fdVhqU1NRNTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1pWkc0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lml0ZW0tX3VYalNTUTU6aG92ZXIsLnRpdGxlSXRlbS1fdVhqU1NRNTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLWlaRzQpfX0udGl0bGVJdGVtLV91WGpTU1E1e3Bvc2l0aW9uOnN0YXRpY30udGl0bGVJdGVtLV91WGpTU1E1OmZvY3VzLXdpdGhpbiAucmVtb3ZlLV91WGpTU1E1e3Zpc2liaWxpdHk6dmlzaWJsZX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnRpdGxlSXRlbS1fdVhqU1NRNSAucmVtb3ZlLV91WGpTU1E1LmFjdGl2ZS1fdVhqU1NRNTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKTtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlKX19Lml0ZW1UYWJsZXRTbWFsbC1fdVhqU1NRNTpiZWZvcmUsLnRpdGxlSXRlbVRhYmxldFNtYWxsLV91WGpTU1E1OmJlZm9yZXtjb250ZW50Om5vbmV9Lml0ZW1UYWJsZXRTbWFsbC1fdVhqU1NRNSwuaXRlbVRhYmxldFNtYWxsLV91WGpTU1E1OmFjdGl2ZSwudGl0bGVJdGVtVGFibGV0U21hbGwtX3VYalNTUTUsLnRpdGxlSXRlbVRhYmxldFNtYWxsLV91WGpTU1E1OmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLWlaRzQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbVRhYmxldFNtYWxsLV91WGpTU1E1OmhvdmVyLC50aXRsZUl0ZW1UYWJsZXRTbWFsbC1fdVhqU1NRNTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLWlaRzQpfX0udGl0bGVJdGVtVGFibGV0U21hbGwtX3VYalNTUTV7bGluZS1oZWlnaHQ6MjRweDtwYWRkaW5nLWJsb2NrOjRweCAwO3BhZGRpbmctaW5saW5lOjE2cHggMjBweH0uaXRlbVRhYmxldFNtYWxsLV91WGpTU1E1e2xpbmUtaGVpZ2h0OjE3cHg7cGFkZGluZy1ibG9jazoxcHggOHB4O3BhZGRpbmctaW5saW5lOjE2cHggMjBweH0uaXRlbUxhYmVsVGFibGV0U21hbGwtX3VYalNTUTV7Zm9udC1zaXplOjE2cHh9LndyYXAtX3VYalNTUTV7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpO3Bvc2l0aW9uOnJlbGF0aXZlfS53cmFwLV91WGpTU1E1LmhvdmVyZWQtX3VYalNTUTUsLndyYXAtX3VYalNTUTU6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LndyYXAtX3VYalNTUTU6aG92ZXJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfX0ud3JhcC1fdVhqU1NRNS5ob3ZlcmVkLV91WGpTU1E1e2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsud3JhcC1fdVhqU1NRNTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX19LndyYXAtX3VYalNTUTU6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkpfS53cmFwLXJCdEVmWlFJe3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweH0udGl0bGVXcmFwLXJCdEVmWlFJe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmluZGljYXRvcnMtckJ0RWZaUUl7bWFyZ2luLWlubGluZS1lbmQ6MTJweDttYXJnaW4taW5saW5lLXN0YXJ0OjMzcHh9LnRpdGxlLXJCdEVmWlFJe2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzt3aGl0ZS1zcGFjZTpub3dyYXB9LnRpdGxlLXJCdEVmWlFJIC5pY29uLXJCdEVmWlFJe2Rpc3BsYXk6ZmxleDtmbGV4Om5vbmV9LnRpdGxlLXJCdEVmWlFJIC50ZXh0LXJCdEVmWlFJe2ZvbnQtc2l6ZToxNHB4O21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZTo1cHggMjBweH0udGl0bGVUYWJsZXRTbWFsbC1yQnRFZlpRSXtwYWRkaW5nLWJvdHRvbTo0cHg7cGFkZGluZy10b3A6NHB4fS50aXRsZVRhYmxldFNtYWxsLXJCdEVmWlFJIC50ZXh0LXJCdEVmWlFJe2ZvbnQtc2l6ZToxNnB4fS5sYWJlbFJvdy1yQnRFZlpRSXtmbGV4OjEgMCAxMDAlO21pbi13aWR0aDoxMDAlfS5sYWJlbC1yQnRFZlpRSXtmbGV4OjAgMCAxMDAlO21pbi13aWR0aDoxMDAlfS5tZW51LXNXUDJYV0Ewe21heC13aWR0aDozNDBweH0ubWVudS1zV1AyWFdBMC5uZXdWaWV3LXNXUDJYV0Ewe3BhZGRpbmc6MCA2cHg7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcDowOy0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZToxfS5tZW51LXNXUDJYV0EwLm5ld1ZpZXctc1dQMlhXQTAuZGVza3RvcC1zV1AyWFdBMHstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjE7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjB9Lm1lbnVTbWFsbFRhYmxldC1zV1AyWFdBMHttYXgtd2lkdGg6MTAwJX0ubWVudUl0ZW1IZWFkZXJUYWJsZXRTbWFsbC1zV1AyWFdBMHtwYWRkaW5nOjEwcHggMjBweCAycHh9Lm1lbnVJdGVtSGVhZGVyVGFibGV0U21hbGwtc1dQMlhXQTAubmV3Vmlldy1zV1AyWFdBMHtwYWRkaW5nLWlubGluZToxNnB4fS5tZW51SXRlbUhlYWRlci1zV1AyWFdBMHtjdXJzb3I6ZGVmYXVsdDttYXJnaW46MDtwYWRkaW5nLWJvdHRvbTozcHg7cGFkZGluZy10b3A6NHB4fS5tZW51SXRlbUhlYWRlci1zV1AyWFdBMC5uZXdWaWV3LXNXUDJYV0Ewe3BhZGRpbmctaW5saW5lOjhweH0ud3JhcC1ISjdTM1A0OS5mdWxsLUhKN1MzUDQ5IC5maXJzdC1ISjdTM1A0OXttYXJnaW4taW5saW5lLXN0YXJ0OjB9LndyYXAtSEo3UzNQNDkuZnVsbC1ISjdTM1A0OSAubGFzdC1ISjdTM1A0OXttYXJnaW4taW5saW5lLWVuZDo3cHh9LndyYXAtSEo3UzNQNDkubWVkaXVtLUhKN1MzUDQ5IC5maXJzdC1ISjdTM1A0OXttYXJnaW4taW5saW5lLXN0YXJ0OjB9LndyYXAtSEo3UzNQNDkubWVkaXVtLUhKN1MzUDQ5IC5sYXN0LUhKN1MzUDQ5e21hcmdpbi1pbmxpbmUtZW5kOjdweH0uYnV0dG9uV2l0aEZhdm9yaXRlcy1ISjdTM1A0OXtwYWRkaW5nLWlubGluZS1lbmQ6N3B4fS5pY29uLW9ORGlRQ21Oe3BhZGRpbmc6NXB4fS5yb3ctWDZTMDNPVmp7cGFkZGluZzowIDEycHh9LnJvdy1YNlMwM09WajpsYXN0LWNoaWxke3BhZGRpbmc6MH0ucm93LVg2UzAzT1ZqOmxhc3QtY2hpbGQgLnJvd0lubmVyLVg2UzAzT1Zqe3BhZGRpbmctaW5saW5lLXN0YXJ0OjEycHh9LnNtYWxsUm93LVg2UzAzT1Zqe3BhZGRpbmc6MCAyMHB4fS5zbWFsbFJvdy1YNlMwM09WajpsYXN0LWNoaWxkIC5yb3dJbm5lci1YNlMwM09WantwYWRkaW5nLWlubGluZS1zdGFydDoyMHB4fS5yb3dJbm5lci1YNlMwM09WanthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O3BhZGRpbmctdG9wOjFweH0ucm93TGFiZWwtWDZTMDNPVmp7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1zZWNvbmRhcnktdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0KSk7Zm9udC1zaXplOjEzcHg7d2lkdGg6MThweH0uc21hbGxSb3dMYWJlbC1YNlMwM09Wantmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxNnB4O3dpZHRoOjE0cHh9LnJvd0J1dHRvbnMtWDZTMDNPVmp7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0ubGF5b3V0QnV0dG9uV3JhcC1YNlMwM09WanthbGw6dW5zZXQ7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtZW5kOjEwcHg7bWluLXdpZHRoOjIwcHg7cG9zaXRpb246cmVsYXRpdmV9LmxheW91dEJ1dHRvbldyYXAtWDZTMDNPVmouYWNjZXNzaWJsZS1YNlMwM09WajpiZWZvcmV7Ym9yZGVyLXJhZGl1czo0cHg7Y29udGVudDoiIjtoZWlnaHQ6MjdweDtvdXRsaW5lOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSBub25lIDJweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjI5cHh9LmxheW91dEJ1dHRvbldyYXAtWDZTMDNPVmouYWNjZXNzaWJsZS1YNlMwM09Wajpmb2N1cy12aXNpYmxlLmxheW91dEJ1dHRvbldyYXAtWDZTMDNPVmouYWNjZXNzaWJsZS1YNlMwM09WajpiZWZvcmV7b3V0bGluZS1zdHlsZTpzb2xpZH0uc21hbGxXaWR0aC1YNlMwM09WanttYXJnaW4taW5saW5lLWVuZDo3cHh9LnNtYWxsV2lkdGgtWDZTMDNPVmo6bGFzdC1jaGlsZHttYXJnaW4taW5saW5lLWVuZDowfS5sYXlvdXRCdXR0b24tWDZTMDNPVmp7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpO3BhZGRpbmc6NHB4fS5sYXlvdXRCdXR0b24tWDZTMDNPVmogc3Zne2Rpc3BsYXk6YmxvY2t9LmxheW91dEJ1dHRvbi1YNlMwM09Wai5ob3ZlcmVkLVg2UzAzT1ZqLC5sYXlvdXRCdXR0b24tWDZTMDNPVmo6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxheW91dEJ1dHRvbi1YNlMwM09Wajpob3Zlcntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9fS5sYXlvdXRCdXR0b24tWDZTMDNPVmouaG92ZXJlZC1YNlMwM09WantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxheW91dEJ1dHRvbi1YNlMwM09Wajpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX19LmxheW91dEJ1dHRvbi1YNlMwM09WajphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSl9LmxheW91dEJ1dHRvbi1YNlMwM09Wai5pc0FjdGl2ZS1YNlMwM09WantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9LnNtYWxsV2lkdGhMYXlvdXRCdXR0b24tWDZTMDNPVmp7cGFkZGluZzo3LjVweCA2LjVweH0ubGF5b3V0QnV0dG9ucy1YNlMwM09WanttYXJnaW4tYm90dG9tOjEwcHh9LmxheW91dEJ1dHRvbnMtWDZTMDNPVmosLnRvZ2dsZXItcDVHaTJoSTF7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0udG9nZ2xlci1wNUdpMmhJMXthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSk7cGFkZGluZzoxNHB4IDE0cHggMTJweH0udG9nZ2xlci1wNUdpMmhJMS5ob3ZlcmVkLXA1R2kyaEkxLC50b2dnbGVyLXA1R2kyaEkxOmFjdGl2ZXtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50b2dnbGVyLXA1R2kyaEkxOmhvdmVye2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX19LnRvZ2dsZXItcDVHaTJoSTEuaG92ZXJlZC1wNUdpMmhJMXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnRvZ2dsZXItcDVHaTJoSTE6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9fS50b2dnbGVyLXA1R2kyaEkxOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpKX0udG9nZ2xlci1wNUdpMmhJMSAubGFiZWwtcDVHaTJoSTF7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWlubGluZS1lbmQ6MTRweH0udG9nZ2xlci1wNUdpMmhJMSAubGFiZWwtcDVHaTJoSTEuY2VudGVyZWQtcDVHaTJoSTF7bWFyZ2luLWlubGluZS1zdGFydDo0MXB4O3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEwMCV9LnRvZ2dsZXItcDVHaTJoSTEuY2hlY2tlZC1wNUdpMmhJMXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZSkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1hY3RpdmUsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWFjdGl2ZSkpfS50b2dnbGVyLXA1R2kyaEkxLmNoZWNrZWQtcDVHaTJoSTEuaG92ZXJlZC1wNUdpMmhJMSwudG9nZ2xlci1wNUdpMmhJMS5jaGVja2VkLXA1R2kyaEkxOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnRvZ2dsZXItcDVHaTJoSTEuY2hlY2tlZC1wNUdpMmhJMTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIpKX19LnRvZ2dsZXItcDVHaTJoSTEuY2hlY2tlZC1wNUdpMmhJMSBzdmd7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS50b2dnbGVyLXA1R2kyaEkxIHN2Z3tjb2xvcjp2YXIoLS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbik7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfWh0bWwudGhlbWUtZGFyayAudG9nZ2xlci1wNUdpMmhJMS5jaGVja2VkLXA1R2kyaEkxIHN2Z3tjb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9LnN3aXRjaGVyTGFiZWwtcDVHaTJoSTF7b3ZlcmZsb3c6dmlzaWJsZX0uYnV0dG9uLVBWTHhLaElJe2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjM4cHh9LmRyb3Bkb3duLVBWTHhLaElJe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApO2N1cnNvcjpkZWZhdWx0O21hcmdpbi1ib3R0b206LTZweDttYXJnaW4tdG9wOjdweH0ubGF5b3V0VHlwZS1QVkx4S2hJSXttYXJnaW4tYm90dG9tOjNweDtwYWRkaW5nOjEwcHggMTJweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnRpdGxlLVBWTHhLaElJe2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1zZWNvbmRhcnktdGV4dCkpO2ZvbnQtc2l6ZToxMnB4O2xldHRlci1zcGFjaW5nOjEuNHB4O21hcmdpbi10b3A6OHB4O3BhZGRpbmc6MTJweDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnN5bmNDaGFydHMtUFZMeEtoSUl7bWFyZ2luLXRvcDo4cHg7cGFkZGluZzoxMHB4IDEycHh9LnN5bmNDaGFydHMtUFZMeEtoSUkubW9iaWxlLVBWTHhLaElJe3BhZGRpbmc6MTBweCAyMHB4fS50YWJsZXRXcmFwcGVyLVBWTHhLaElJe3BhZGRpbmctYmxvY2s6MCAxNnB4O3BhZGRpbmctaW5saW5lOjAgMH0uaWNvbi1QVkx4S2hJSXtkaXNwbGF5OmJsb2NrfS5pY29uLVBWTHhLaElJIHN2Z3tkaXNwbGF5OmJsb2NrO3BvaW50ZXItZXZlbnRzOm5vbmV9LnN5bmNMaXN0V3JhcHBlci1QVkx4S2hJSXttYXJnaW4tYm90dG9tOjEwcHh9LnN3aXRjaGVyLVBWTHhLaElJe2FsaWduLWl0ZW1zOmNlbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2hlaWdodDozMnB4O3BhZGRpbmc6NXB4IDEycHh9LnN3aXRjaGVyLVBWTHhLaElJLm1vYmlsZS1QVkx4S2hJSXtoZWlnaHQ6NDBweDtwYWRkaW5nOjEwcHggMjBweH0uc3dpdGNoTGFiZWxXcmFwLVBWTHhLaElJe2Rpc3BsYXk6ZmxleH0uc3dpdGNoTGFiZWwtUFZMeEtoSUl7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MThweH0uaWNvbldyYXAtUFZMeEtoSUl7bWFyZ2luLWlubGluZS1zdGFydDo3cHh9LmluZm9JY29uLVBWTHhLaElJe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTtkaXNwbGF5OmZsZXh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pbmZvSWNvbi1QVkx4S2hJSTpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpfX0uYWNjZXNzaWJsZUxhYmVsLVBWTHhLaElJe291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5hY2Nlc3NpYmxlTGFiZWwtUFZMeEtoSUk6Zm9jdXN7b3V0bGluZTpub25lfS5hY2Nlc3NpYmxlTGFiZWwtUFZMeEtoSUk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmFjY2Vzc2libGVMYWJlbC1QVkx4S2hJSTphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO3otaW5kZXg6MX0uYWNjZXNzaWJsZUxhYmVsLVBWTHhLaElJOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmFjY2Vzc2libGVMYWJlbC1QVkx4S2hJSTpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmFjY2Vzc2libGVMYWJlbC1QVkx4S2hJSTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYWNjZXNzaWJsZUxhYmVsLVBWTHhLaElJOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7Ym9yZGVyLXJhZGl1czo2cHh9LmN1c3RvbVRyYWRpbmdWaWV3U3R5bGVCdXR0b24tRTJ2N1didW4ud2l0aG91dEljb24tRTJ2N1didW57cGFkZGluZzowIDVweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/5808.f4800fa9246f404621ee.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.851Z","timestamp":1785141584851,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/5808.f4800fa9246f404621ee.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-2fe65\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 76aa359aab9c0c3e24736f1ffd856487\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":196197,"size_decoded":57470,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"a42e731f659fd23cc846fd90733fa22d","sha1":"a69e6df547aeb0964b5451ccfff0fec9703fbc6a","sha256":"fd721044f40446ca3ab1b478372b4b3034a3345ec03c626e1fe2f2b651cacdf0","sha512":"0364a69a0cf76f3925709f12c0a99bdbc8ad070fc9be0d8000eb0a227f26f4281051036b7118c8f8a747e61921f63669c785bb607f506ef1a1e602e472fb9dad","ssdeep":"3072:TTXg/EZYyk/ubQwm+HxiXEPx7CfJ3pVgk822xZgN9u7lUbjAvDWnSO8IMiL5K:TmEZYT/ubQwm+HxiXyx7CfJ3pVgk822F","tlshash":"71143a507318a44c59cb51aaca3a0956e39e629cf485407cf9fcddfc21e9d89e13e738","first_seen":"2026-07-24T11:36:48.024996Z","last_seen":"2026-07-27T12:48:39.653718Z","times_seen":95,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1ODA4LDQxMzI4LDY0NjQ0LDk0NTYwXSx7OTE0NDg3KGUsdCl7dmFyIG47IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBhPXt9Lmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGkoKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPWFyZ3VtZW50c1t0XTtpZihuKXt2YXIgbz10eXBlb2YgbjtpZigic3RyaW5nIj09PW98fCJudW1iZXIiPT09byllLnB1c2gobik7ZWxzZSBpZihBcnJheS5pc0FycmF5KG4pJiZuLmxlbmd0aCl7dmFyIHM9aS5hcHBseShudWxsLG4pO3MmJmUucHVzaChzKX1lbHNlIGlmKCJvYmplY3QiPT09bylmb3IodmFyIGwgaW4gbilhLmNhbGwobixsKSYmbltsXSYmZS5wdXNoKGwpfX1yZXR1cm4gZS5qb2luKCIgIil9ZS5leHBvcnRzPyhpLmRlZmF1bHQ9aSxlLmV4cG9ydHM9aSk6dm9pZCAwPT09KG49ZnVuY3Rpb24oKXtyZXR1cm4gaX0uYXBwbHkodCxbXSkpfHwoZS5leHBvcnRzPW4pfSgpfSw4NjQ3MzYoZSl7ZS5leHBvcnRzPXtjb250ZXh0QWN0aW9uczoiY29udGV4dEFjdGlvbnMtdUJKaGpVVjgiLGhpZGVJZk5vSG92ZXI6ImhpZGVJZk5vSG92ZXItdUJKaGpVVjgiLHNvbWVDb250ZXh0QWN0aW9uRm9jdXNlZDoic29tZUNvbnRleHRBY3Rpb25Gb2N1c2VkLXVCSmhqVVY4In19LDkwNDQzNChlKXtlLmV4cG9ydHM9e2Zvb3RlcjoiZm9vdGVyLVlCSk16QV9sIn19LDU0MDU5NShlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLWhEdElveGpVIixncm91cDoiZ3JvdXAtaER0SW94alUiLG1lbnU6Im1lbnUtaER0SW94alUiLGJldGFCYWRnZToiYmV0YUJhZGdlLWhEdElveGpVIixuZXdCYWRnZToibmV3QmFkZ2UtaER0SW94alUiLGxhYmVsOiJsYWJlbC1oRHRJb3hqVSIsY29udGFpbmVyOiJjb250YWluZXItaER0SW94alUiLG5ld1ZpZXc6Im5ld1ZpZXctaER0SW94alUiLGRlc2t0b3A6ImRlc2t0b3AtaER0SW94alUifX0sNzExMjgzKGUpe2UuZXhwb3J0cz17Y3VzdG9tVHJhZGluZ1ZpZXdTdHlsZUJ1dHRvbjoiY3VzdG9tVHJhZGluZ1ZpZXdTdHlsZUJ1dHRvbi1FMnY3V2J1biIsd2l0aG91dEljb246IndpdGhvdXRJY29uLUUydjdXYnVuIn19LDg4OTgwOShlKXtlLmV4cG9ydHM9e2Ryb3Bkb3duOiJkcm9wZG93bi1NYndCTVdEeSIsbmV3VmlldzoibmV3Vmlldy1NYndCTVdEeSIsc21hbGxXaWR0aFdyYXBwZXI6InNtYWxsV2lkdGhXcmFwcGVyLU1id0JNV0R5IixtZW51OiJtZW51LU1id0JNV0R5IixsYWJlbDoibGFiZWwtTWJ3Qk1XRHkiLHNtYWxsV2lkdGhUaXRsZToic21hbGxXaWR0aFRpdGxlLU1id0JNV0R5IixzbWFsbFdpZHRoTWVudUl0ZW06InNtYWxsV2lkdGhNZW51SXRlbS1NYndCTVdEeSJ9fSw3MTk5KGUpe2UuZXhwb3J0cz17c21hbGxUYWJsZXRTZWN0aW9uVGl0bGU6InNtYWxsVGFibGV0U2VjdGlvblRpdGxlLW91SkpzVlU2In19LDI1MTcyMyhlKXtlLmV4cG9ydHM9e3ZhbHVlOiJ2YWx1ZS1kcjN2R2luVCIsc2VsZWN0ZWQ6InNlbGVjdGVkLWRyM3ZHaW5UIn19LDk3MzY5KGUpe2UuZXhwb3J0cz17c21hbGxXaWR0aE1lbnVJdGVtOiJzbWFsbFdpZHRoTWVudUl0ZW0tcldCY2Qxak0iLG1lbnVJdGVtOiJtZW51SXRlbS1yV0JjZDFqTSIscmVtb3ZlOiJyZW1vdmUtcldCY2Qxak0iLHNpZ25hbDoic2lnbmFsLXJXQmNkMWpNIiwiaGlnaGxpZ2h0LWFuaW1hdGlvbiI6ImhpZ2hsaWdodC1hbmltYXRpb24tcldCY2Qxak0ifX0sNjU3ODA5KGUpe2UuZXhwb3J0cz17c2VjdGlvbjoic2VjdGlvbi1DcVBRQmc0WiIsYWRkQ3VzdG9tSW50ZXJ2YWw6ImFkZEN1c3RvbUludGVydmFsLUNxUFFCZzRaIixhZGRDdXN0b21JbnRlcnZhbERlc2t0b3A6ImFkZEN1c3RvbUludGVydmFsRGVza3RvcC1DcVBRQmc0WiJ9fSw0NTAyNzEoZSl7ZS5leHBvcnRzPXtidXR0b246ImJ1dHRvbi1VOWIwVEFzNCIsbWVudUJ0bjoibWVudUJ0bi1VOWIwVEFzNCIsZHJvcGRvd246ImRyb3Bkb3duLVU5YjBUQXM0IixuZXdWaWV3OiJuZXdWaWV3LVU5YjBUQXM0IixkZXNrdG9wOiJkZXNrdG9wLVU5YjBUQXM0IixtZW51Q29udGVudDoibWVudUNvbnRlbnQtVTliMFRBczQiLGdyb3VwOiJncm91cC1VOWIwVEFzNCJ9fSw5OTAwMTQoZSl7ZS5leHBvcnRzPXtyb3c6InJvdy1YNlMwM09WaiIscm93SW5uZXI6InJvd0lubmVyLVg2UzAzT1ZqIixzbWFsbFJvdzoic21hbGxSb3ctWDZTMDNPVmoiLHJvd0xhYmVsOiJyb3dMYWJlbC1YNlMwM09WaiIsc21hbGxSb3dMYWJlbDoic21hbGxSb3dMYWJlbC1YNlMwM09WaiIscm93QnV0dG9uczoicm93QnV0dG9ucy1YNlMwM09WaiIsbGF5b3V0QnV0dG9uV3JhcDoibGF5b3V0QnV0dG9uV3JhcC1YNlMwM09WaiIsYWNjZXNzaWJsZToiYWNjZXNzaWJsZS1YNlMwM09WaiIsc21hbGxXaWR0aDoic21hbGxXaWR0aC1YNlMwM09WaiIsbGF5b3V0QnV0dG9uOiJsYXlvdXRCdXR0b24tWDZTMDNPVmoiLGhvdmVyZWQ6ImhvdmVyZWQtWDZTMDNPVmoiLGlzQWN0aXZlOiJpc0FjdGl2ZS1YNlMwM09WaiIsc21hbGxXaWR0aExheW91dEJ1dHRvbjoic21hbGxXaWR0aExheW91dEJ1dHRvbi1YNlMwM09WaiIsbGF5b3V0QnV0dG9uczoibGF5b3V0QnV0dG9ucy1YNlMwM09WaiJ9fSw0NTY1MjUoZSl7ZS5leHBvcnRzPXt0b2dnbGVyOiJ0b2dnbGVyLXA1R2kyaEkxIixob3ZlcmVkOiJob3ZlcmVkLXA1R2kyaEkxIixsYWJlbDoibGFiZWwtcDVHaTJoSTEiLGNlbnRlcmVkOiJjZW50ZXJlZC1wNUdpMmhJMSIsY2hlY2tlZDoiY2hlY2tlZC1wNUdpMmhJMSIsc3dpdGNoZXJMYWJlbDoic3dpdGNoZXJMYWJlbC1wNUdpMmhJMSJ9fSw0NTI2MTcoZSl7ZS5leHBvcnRzPXtidXR0b246ImJ1dHRvbi1QVkx4S2hJSSIsZHJvcGRvd246ImRyb3Bkb3duLVBWTHhLaElJIixsYXlvdXRUeXBlOiJsYXlvdXRUeXBlLVBWTHhLaElJIix0aXRsZToidGl0bGUtUFZMeEtoSUkiLHN5bmNDaGFydHM6InN5bmNDaGFydHMtUFZMeEtoSUkiLG1vYmlsZToibW9iaWxlLVBWTHhLaElJIix0YWJsZXRXcmFwcGVyOiJ0YWJsZXRXcmFwcGVyLVBWTHhLaElJIiwKaWNvbjoiaWNvbi1QVkx4S2hJSSIsc3luY0xpc3RXcmFwcGVyOiJzeW5jTGlzdFdyYXBwZXItUFZMeEtoSUkiLHN3aXRjaGVyOiJzd2l0Y2hlci1QVkx4S2hJSSIsc3dpdGNoTGFiZWxXcmFwOiJzd2l0Y2hMYWJlbFdyYXAtUFZMeEtoSUkiLHN3aXRjaExhYmVsOiJzd2l0Y2hMYWJlbC1QVkx4S2hJSSIsaWNvbldyYXA6Imljb25XcmFwLVBWTHhLaElJIixpbmZvSWNvbjoiaW5mb0ljb24tUFZMeEtoSUkiLGFjY2Vzc2libGVMYWJlbDoiYWNjZXNzaWJsZUxhYmVsLVBWTHhLaElJIn19LDg1NTEwNyhlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLXdvSzNWeG1tIn19LDQzNTQ0NyhlKXtlLmV4cG9ydHM9e2Z1bGw6ImZ1bGwtdV9SQXBuaU4iLGxhc3Q6Imxhc3QtdV9SQXBuaU4iLG1lZGl1bToibWVkaXVtLXVfUkFwbmlOIn19LDExNDMwNyhlKXtlLmV4cG9ydHM9e3BvcHVwSXRlbVJvd1RhYmxldFNtYWxsOiJwb3B1cEl0ZW1Sb3dUYWJsZXRTbWFsbC1FWEdfMGhhSiIsbGF5b3V0SXRlbToibGF5b3V0SXRlbS1FWEdfMGhhSiIsbGF5b3V0TWV0YToibGF5b3V0TWV0YS1FWEdfMGhhSiIsdG9vbGJveDoidG9vbGJveC1FWEdfMGhhSiIsdG9vbGJveFNtYWxsOiJ0b29sYm94U21hbGwtRVhHXzBoYUoiLGxheW91dFRpdGxlOiJsYXlvdXRUaXRsZS1FWEdfMGhhSiIsbGF5b3V0SXRlbVdyYXA6ImxheW91dEl0ZW1XcmFwLUVYR18waGFKIixsYXlvdXRJdGVtV3JhcFNtYWxsOiJsYXlvdXRJdGVtV3JhcFNtYWxsLUVYR18waGFKIixsYXlvdXRUaXRsZVNtYWxsOiJsYXlvdXRUaXRsZVNtYWxsLUVYR18waGFKIixlbGxpcHNpczoiZWxsaXBzaXMtRVhHXzBoYUoifX0sNzYxMTc1KGUpe2UuZXhwb3J0cz17c2hhcmluZ0xhYmVsV3JhcDoic2hhcmluZ0xhYmVsV3JhcC1fVUNsUVR0NiIsdGl0bGVTaGFyaW5nTGFiZWw6InRpdGxlU2hhcmluZ0xhYmVsLV9VQ2xRVHQ2IixpY29uV3JhcDoiaWNvbldyYXAtX1VDbFFUdDYiLGluZm9JY29uOiJpbmZvSWNvbi1fVUNsUVR0NiIsYWNjZXNzaWJsZUxhYmVsOiJhY2Nlc3NpYmxlTGFiZWwtX1VDbFFUdDYiLGhpbnQ6ImhpbnQtX1VDbFFUdDYifX0sNDY1MDY0KGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24td19nREtuN08iLGlzRGlzYWJsZWQ6ImlzRGlzYWJsZWQtd19nREtuN08ifX0sNDcwOTAxKGUpe2UuZXhwb3J0cz17bWVudUJ0bldyYXA6Im1lbnVCdG5XcmFwLXphcExoMHJSIixtZW51OiJtZW51LXphcExoMHJSIixuZXdNZW51V3JhcHBlcjoibmV3TWVudVdyYXBwZXItemFwTGgwclIiLGRlc2t0b3A6ImRlc2t0b3AtemFwTGgwclIiLG9wZW5lZDoib3BlbmVkLXphcExoMHJSIixob3ZlcjoiaG92ZXItemFwTGgwclIiLGNsaWNrZWQ6ImNsaWNrZWQtemFwTGgwclIiLGF1dG9TYXZlV3JhcHBlcjoiYXV0b1NhdmVXcmFwcGVyLXphcExoMHJSIixzaGFyaW5nV3JhcHBlcjoic2hhcmluZ1dyYXBwZXItemFwTGgwclIiLGJ1dHRvbjoiYnV0dG9uLXphcExoMHJSIixidXR0b25TbWFsbFBhZGRpbmc6ImJ1dHRvblNtYWxsUGFkZGluZy16YXBMaDByUiIsaGludFBsYWNlSG9sZGVyOiJoaW50UGxhY2VIb2xkZXItemFwTGgwclIiLHNtYWxsSGludFBsYWNlSG9sZGVyOiJzbWFsbEhpbnRQbGFjZUhvbGRlci16YXBMaDByUiIscG9wdXBJdGVtUm93VGFibGV0U21hbGw6InBvcHVwSXRlbVJvd1RhYmxldFNtYWxsLXphcExoMHJSIixzaG9ydGN1dDoic2hvcnRjdXQtemFwTGgwclIiLHRvb2xUaXRsZToidG9vbFRpdGxlLXphcExoMHJSIix0b29sVGl0bGVNb2JpbGU6InRvb2xUaXRsZU1vYmlsZS16YXBMaDByUiIsdGV4dFdyYXA6InRleHRXcmFwLXphcExoMHJSIix0ZXh0OiJ0ZXh0LXphcExoMHJSIix3aXRoSWNvbjoid2l0aEljb24temFwTGgwclIiLHN3aXRjaGVyTGFiZWw6InN3aXRjaGVyTGFiZWwtemFwTGgwclIiLGVsbGlwc2lzOiJlbGxpcHNpcy16YXBMaDByUiJ9fSwxMTc3MjkoZSl7ZS5leHBvcnRzPXtuZXdWaWV3OiJuZXdWaWV3LXA1QW5HMEdPIixkZXNrdG9wOiJkZXNrdG9wLXA1QW5HMEdPIn19LDk4ODQxNihlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLW80MHQ5TDVuIixzbWFsbExlZnRQYWRkaW5nOiJzbWFsbExlZnRQYWRkaW5nLW80MHQ5TDVuIix0ZXh0OiJ0ZXh0LW80MHQ5TDVuIixzZWFyY2hCdXR0b246InNlYXJjaEJ1dHRvbi1vNDB0OUw1biIsbWVudU9wZW5lZDoibWVudU9wZW5lZC1vNDB0OUw1biIsdXBwZXJjYXNlOiJ1cHBlcmNhc2UtbzQwdDlMNW4ifX0sODg3MDE4KGUpe2UuZXhwb3J0cz17ZGVzY3JpcHRpb246ImRlc2NyaXB0aW9uLWhWUzNJOXJzIn19LDc3MTk4MyhlKXtlLmV4cG9ydHM9e3dyYXA6IndyYXAtckJ0RWZaUUkiLHRpdGxlV3JhcDoidGl0bGVXcmFwLXJCdEVmWlFJIixpbmRpY2F0b3JzOiJpbmRpY2F0b3JzLXJCdEVmWlFJIix0aXRsZToidGl0bGUtckJ0RWZaUUkiLGljb246Imljb24tckJ0RWZaUUkiLHRleHQ6InRleHQtckJ0RWZaUUkiLHRpdGxlVGFibGV0U21hbGw6InRpdGxlVGFibGV0U21hbGwtckJ0RWZaUUkiLGxhYmVsUm93OiJsYWJlbFJvdy1yQnRFZlpRSSIsbGFiZWw6ImxhYmVsLXJCdEVmWlFJIn19LDc4Mzc4MShlKXtlLmV4cG9ydHM9e21lbnU6Im1lbnUtc1dQMlhXQTAiLG5ld1ZpZXc6Im5ld1ZpZXctc1dQMlhXQTAiLGRlc2t0b3A6ImRlc2t0b3Atc1dQMlhXQTAiLG1lbnVTbWFsbFRhYmxldDoibWVudVNtYWxsVGFibGV0LXNXUDJYV0EwIixtZW51SXRlbUhlYWRlclRhYmxldFNtYWxsOiJtZW51SXRlbUhlYWRlclRhYmxldFNtYWxsLXNXUDJYV0EwIixtZW51SXRlbUhlYWRlcjoibWVudUl0ZW1IZWFkZXItc1dQMlhXQTAifX0sMjU3NjkxKGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC1ISjdTM1A0OSIsZnVsbDoiZnVsbC1ISjdTM1A0OSIsZmlyc3Q6ImZpcnN0LUhKN1MzUDQ5IixsYXN0OiJsYXN0LUhKN1MzUDQ5IixtZWRpdW06Im1lZGl1bS1ISjdTM1A0OSIsYnV0dG9uV2l0aEZhdm9yaXRlczoiYnV0dG9uV2l0aEZhdm9yaXRlcy1ISjdTM1A0OSJ9fSw1NzA2ODMoZSl7ZS5leHBvcnRzPXtpY29uOiJpY29uLW9ORGlRQ21OIn19LDE4OTUzMChlKXtlLmV4cG9ydHM9e3N1bW1hcnk6InN1bW1hcnktRTZ0eklRa1IiLApob3ZlcmVkOiJob3ZlcmVkLUU2dHpJUWtSIixjYXJldDoiY2FyZXQtRTZ0eklRa1IifX0sNjI1MTU2KGUpe2UuZXhwb3J0cz17Y29weUxpbms6ImNvcHlMaW5rLWUzQlptWlhIIixjb3B5TGlua01vYmlsZToiY29weUxpbmtNb2JpbGUtZTNCWm1aWEgiLGFjY2Vzc2libGVMYWJlbDoiYWNjZXNzaWJsZUxhYmVsLWUzQlptWlhIIn19LDc1ODg4MihlKXtlLmV4cG9ydHM9e2l0ZW06Iml0ZW0tUEJ0cnpaQ2EiLGFjY2Vzc2libGU6ImFjY2Vzc2libGUtUEJ0cnpaQ2EiLHJvdW5kOiJyb3VuZC1QQnRyelpDYSIsYWN0aXZlOiJhY3RpdmUtUEJ0cnpaQ2EifX0sMzYzODA4KGUpe2UuZXhwb3J0cz17YWNjZXNzaWJsZToiYWNjZXNzaWJsZS1tRUdaQmZ1TCJ9fSw1ODcwOTQoZSl7ZS5leHBvcnRzPXtidXR0b246ImJ1dHRvbi1yMHBvUnYwUiIsYWN0aXZlOiJhY3RpdmUtcjBwb1J2MFIifX0sNTczNDUwKGUpe2UuZXhwb3J0cz17dGl0bGU6InRpdGxlLXRzVG9ic3lwIn19LDk0MTkxOChlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLUk4ckFuWFRSIix3aXRoVGV4dDoid2l0aFRleHQtSThyQW5YVFIiLHdpdGhvdXRUZXh0OiJ3aXRob3V0VGV4dC1JOHJBblhUUiJ9fSw2NjE1MChlKXtlLmV4cG9ydHM9e3NwaW5uZXJXcmFwOiJzcGlubmVyV3JhcC1aWnR1RklQcCJ9fSw1MDY4MzgoZSl7ZS5leHBvcnRzPXt3cmFwOiJ3cmFwLVVmREd5aDVLIn19LDE2NTQxMihlKXtlLmV4cG9ydHM9e2xhYmVsUm93OiJsYWJlbFJvdy1fdVhqU1NRNSIsdG9vbGJveDoidG9vbGJveC1fdVhqU1NRNSIsZGVzY3JpcHRpb246ImRlc2NyaXB0aW9uLV91WGpTU1E1IixkZXNjcmlwdGlvblRhYmxldFNtYWxsOiJkZXNjcmlwdGlvblRhYmxldFNtYWxsLV91WGpTU1E1IixpdGVtOiJpdGVtLV91WGpTU1E1Iix0aXRsZUl0ZW06InRpdGxlSXRlbS1fdVhqU1NRNSIscmVtb3ZlOiJyZW1vdmUtX3VYalNTUTUiLGFjdGl2ZToiYWN0aXZlLV91WGpTU1E1Iix0aXRsZUl0ZW1UYWJsZXRTbWFsbDoidGl0bGVJdGVtVGFibGV0U21hbGwtX3VYalNTUTUiLGl0ZW1UYWJsZXRTbWFsbDoiaXRlbVRhYmxldFNtYWxsLV91WGpTU1E1IixpdGVtTGFiZWxUYWJsZXRTbWFsbDoiaXRlbUxhYmVsVGFibGV0U21hbGwtX3VYalNTUTUiLHdyYXA6IndyYXAtX3VYalNTUTUiLGhvdmVyZWQ6ImhvdmVyZWQtX3VYalNTUTUifX0sMTc2NDMyKGUpe2UuZXhwb3J0cz17c3RhdGVUaXRsZToic3RhdGVUaXRsZS1ya3ZrRll6MiIsaGlkZGVuOiJoaWRkZW4tcmt2a0ZZejIiLGxvYWRlcjoibG9hZGVyLXJrdmtGWXoyIn19LDQ0NDU1MChlKXtlLmV4cG9ydHM9e2NvbnRhaW5lcjoiY29udGFpbmVyLUpRWjBIS0Q0IixidXR0b246ImJ1dHRvbi1KUVowSEtENCIsdmFsdWU6InZhbHVlLUpRWjBIS0Q0IixhY3Rpb246ImFjdGlvbi1KUVowSEtENCIsaWNvbjoiaWNvbi1KUVowSEtENCJ9fSw1NDEyMTIoZSl7ZS5leHBvcnRzPXttZW51OiJtZW51LVR6ODRvUGVRIn19LDk5NTg1MShlKXtlLmV4cG9ydHM9e2Vtb2ppV3JhcDoiZW1vamlXcmFwLVIyQ1RwbUhyIixlbW9qaToiZW1vamktUjJDVHBtSHIiLHRvb2x0aXBFbW9qaToidG9vbHRpcEVtb2ppLVIyQ1RwbUhyIix0b29sdGlwRW1vamlXcmFwOiJ0b29sdGlwRW1vamlXcmFwLVIyQ1RwbUhyIn19LDg0NDg3MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTZWN0aW9uTGlzdEl0ZW06KCk9Pmx9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDkzNTUzNSksbz1uKDE0NzkwMSkscz1uKDM0NTExNik7ZnVuY3Rpb24gbChlKXtjb25zdHtpZDp0LHRpdGxlOm4sY2hpbGRyZW46bCxpdGVtUm9sZTpyLGFyaWFMYWJlbDpkLHJpZ2h0U2xvdDp1LHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OmMsZGF0YVFhSWQ6aCxvbkNsaWNrOnYsb25LZXlEb3duOm0saXNXcmFwcGVkOnAsLi4uZn09ZSxnPSgwLHMuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoZiksYj0oMCxhLnVzZUlkKSgpLHc9KDAsYS51c2VJZCkoKSxDPXZvaWQgMCE9PW47cmV0dXJuIGEuY3JlYXRlRWxlbWVudChhLkZyYWdtZW50LG51bGwsQyYmYS5jcmVhdGVFbGVtZW50KGkuVGl0bGVMaXN0SXRlbSx7ZGF0YVFhSWQ6KDAsby5jb25jYXRJZk5vdE51bGwpKGAke28uVUlfTElCX0RBVEFfUUFfSURfUFJFRklYfWxpc3Qtc2VjdGlvbi10aXRsZWAsaCksaWQ6dCx0aXRsZTpuLHJvbGU6cixyaWdodFNsb3Q6dSxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTpjLGFyaWFMYWJlbDpkLHZhcmlhbnQ6InNlY29uZGFyeSIsYXJpYUNvbnRyb2xzOnZvaWQgMCE9PXA/dzp2b2lkIDAsdGl0bGVJZDpiLHdyYXBwZWQ6cCxvbkNsaWNrOnYsb25LZXlEb3duOm0sLi4uZ30pLGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToiZ3JvdXAiLCJhcmlhLWxhYmVsbGVkYnkiOmIsaWQ6dywiZGF0YS1xYS1pZCI6KDAsby5jb25jYXRJZk5vdE51bGwpKGAke28uVUlfTElCX0RBVEFfUUFfSURfUFJFRklYfWxpc3Qtc2VjdGlvbi1jb250ZW50YCxoKX0sIXAmJmwpKX19LDQyMjc3NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VIb3Jpem9udGFsTWVudUtleWJvYXJkTmF2aWdhdGlvbjooKT0+ZH0pO3ZhciBhPW4oOTg4MDY4KSxpPW4oNDQ1NDkzKSxvPW4oODA3ODczKSxzPW4oMjg0NjkwKTtjb25zdCBsPWBbJHthLkRBVEFfSVNfQ09OVEVYVF9BQ1RJT059XWAscj1vLkNPTlRFWFRfQUNUSU9OX0ZPQ1VTQUJMRV9UQUdTLm1hcCgoZT0+YCR7bH0gJHtlfWApKS5qb2luKCIsIiksZD0oKT0+e2NvbnN0e2lzUnRsOmV9PSgwLGkudXNlUG9wb3ZlckNvbnRleHQpKCk7cmV0dXJuKDAscy5nZXRMaW5lYXJLZXlib2FyZE5hdmlnYXRpb24pKHIrYCxbJHthLkRBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTn1dYCx7aG9yaXpvbnRhbDohMCxpc1J0bDplLGFsbG93TmVzdGVkRm9jdXNhYmxlOiEwfSl9fSw4MDc4NzMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q09OVEVYVF9BQ1RJT05fRk9DVVNBQkxFX1RBR1M6KCk9PmMsQ29udGV4dEFjdGlvbjooKT0+dn0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxvPW4ubihpKSxzPW4oMjk2Nzg2KSxsPW4oOTg4MDY4KSxyPW4oODY0NzM2KSxkPW4ubihyKTtjb25zdCB1PXsKW2wuREFUQV9JU19DT05URVhUX0FDVElPTl06ITB9LGM9WyJhW2hyZWZdIiwiYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIiwiaW5wdXQ6bm90KDpkaXNhYmxlZCkiLCdbcm9sZT0iYnV0dG9uIl0nXSxoPWMuam9pbigiLCIpO2Z1bmN0aW9uIHYoZSl7Y29uc3R7Y2hpbGRyZW46dCxkYXRhUWFJZDpuLHByZXZlbnRDbGlja1Byb3BhZ2F0aW9uOmk9ITB9PWUse2lkOmwsaGlkZUNvbnRleHRBY3Rpb25zSWZOb0hvdmVyOnIsZm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjpjLHNldEZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6dn09KDAscy51c2VDb250ZXh0QWN0aW9uKSgpLG09KDAsYS51c2VSZWYpKG51bGwpO3JldHVybigwLGEudXNlRWZmZWN0KSgoKCk9Pntjb25zdCBlPW0uY3VycmVudDtpZighZSlyZXR1cm47Y29uc3QgdD1lLnF1ZXJ5U2VsZWN0b3IoaCk7cmV0dXJuIHQ/ZnVuY3Rpb24oZSx0KXtjb25zdCBuPSgpPT57dCgoZT0+ZSsxKSl9LGE9KCk9Pnt0KChlPT5lLTEpKX07cmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLG4pLGUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsYSksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixuKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLGEpfX0odCx2KTp2b2lkIDB9KSxbdCx2XSksYS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Li4udSxpZDpsLHJlZjptLG9uQ2xpY2s6ZT0+e2kmJmUuc3RvcFByb3BhZ2F0aW9uKCl9LGNsYXNzTmFtZTpvKCkoZCgpLmNvbnRleHRBY3Rpb25zLHImJmQoKS5oaWRlSWZOb0hvdmVyLGM+MCYmZCgpLnNvbWVDb250ZXh0QWN0aW9uRm9jdXNlZCksImRhdGEtcWEtaWQiOm59LHQpfX0sMjk2Nzg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUNvbnRleHRBY3Rpb246KCk9PnMsdXNlV3JhcHBlZEludG9Db250ZXh0QWN0aW9uc0NvbnRleHQ6KCk9Pm99KTt2YXIgYT1uKDc3OTQ3NCk7Y29uc3QgaT0oMCxhLmNyZWF0ZUNvbnRleHQpKHtzZXRJZHM6KCk9Pnt9LGhpZGVDb250ZXh0QWN0aW9uc0lmTm9Ib3ZlcjohMSxmb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOjAsc2V0Rm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjooKT0+e319KTtmdW5jdGlvbiBvKGUsdCxuKXtjb25zdFtvLHNdPSgwLGEudXNlU3RhdGUpKDApLGw9KDAsYS51c2VNZW1vKSgoKCk9Pih7Zm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjpvLHNldEZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6cyxzZXRJZHM6dCxoaWRlQ29udGV4dEFjdGlvbnNJZk5vSG92ZXI6ISFufSkpLFtvLHMsdCxuXSk7cmV0dXJuKDAsYS51c2VNZW1vKSgoKCk9PmU/YS5jcmVhdGVFbGVtZW50KGkuUHJvdmlkZXIse3ZhbHVlOmx9LGUpOnZvaWQgMCksW2UsbF0pfWZ1bmN0aW9uIHMoKXtjb25zdHtzZXRJZHM6ZSxoaWRlQ29udGV4dEFjdGlvbnNJZk5vSG92ZXI6dCxmb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOm4sc2V0Rm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjpvfT0oMCxhLnVzZUNvbnRleHQpKGkpLHM9KDAsYS51c2VJZCkoKTtyZXR1cm4oMCxhLnVzZUVmZmVjdCkoKCgpPT4oZSgoZT0+Wy4uLmUsc10pKSwoKT0+e2UoKGU9PmUuZmlsdGVyKChlPT5lIT09cykpKSl9KSksW2Usc10pLHtpZDpzLGhpZGVDb250ZXh0QWN0aW9uc0lmTm9Ib3Zlcjp0LGZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6bixzZXRGb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOm99fX0sMzkxOTE0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NlY3Rpb25Qb3BvdmVySXRlbTooKT0+cn0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oNDQ1NDkzKSxvPW4oODQ0ODcxKSxzPW4oOTg4MDY4KSxsPW4oNDIyNzc3KTtmdW5jdGlvbiByKGUpe2NvbnN0e2lkOnQsdGl0bGU6bixjaGlsZHJlbjpyLGl0ZW1Sb2xlOmQsd3JhcHBhYmxlOnUsZGVmYXVsdFdyYXBwZWQ6YyxvbldyYXBwZWRDaGFuZ2VkOmgsYXJpYUxhYmVsOnYscmlnaHRTbG90Om0scmlnaHRTbG90QXJpYUxhYmVsbGVkYnk6cCxkYXRhUWFJZDpmfT1lLFtnLGJdPSgwLGEudXNlU3RhdGUpKGM/PyExKSx7b25LZXlEb3duOnd9PSgwLGwudXNlSG9yaXpvbnRhbE1lbnVLZXlib2FyZE5hdmlnYXRpb24pKCksQz1ufHx2b2lkIDAse29uUG9wb3ZlckNvbnRlbnRSZXNpemU6X309KDAsaS51c2VQb3BvdmVyQ29udGV4dCkoKTsoMCxhLnVzZUxheW91dEVmZmVjdCkoKCgpPT57Xz8uKCl9KSxbXyxnXSk7Y29uc3QgeT0oMCxhLnVzZUNhbGxiYWNrKSgoKCk9PntiKChlPT57Y29uc3QgdD0hZTtyZXR1cm4gaD8uKHQpLHR9KSl9KSxbaF0pO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoYS5GcmFnbWVudCxudWxsLGEuY3JlYXRlRWxlbWVudChvLlNlY3Rpb25MaXN0SXRlbSx7aWQ6dCx0aXRsZTpDLGNoaWxkcmVuOnIsaXRlbVJvbGU6ZCxhcmlhTGFiZWw6dixyaWdodFNsb3Q6bSxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTpwLGRhdGFRYUlkOmYsaXNXcmFwcGVkOnU/Zzp2b2lkIDAsb25DbGljazp1P3k6dm9pZCAwLG9uS2V5RG93bjp3LFtzLkRBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTl06dXx8bT8idHJ1ZSI6dm9pZCAwfSkpfX0sOTIwNjMxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3Nob3dEZXJpdmF0aXZlc0RpYWxvZzooKT0+aX0pO3ZhciBhPW4oODkwODM1KTtmdW5jdGlvbiBpKGUpe2EuY3VycmVudExheW91dC52YWx1ZSgpPy5zaG93QW5hbHlzaXNWaWV3KCJkZXJpdmF0aXZlcyIsZSl9fSw5MTYxMjEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0U3R1ZHlQYWNrYWdlTmFtZTooKT0+b30pO3ZhciBhPW4oNzkxNDI3KSxpPW4oNjMyNDQ0KTtmdW5jdGlvbiBvKGUsdCl7aWYodD8uaXNDaGFydFBhdHRlcm4pcmV0dXJuInR2LWNoYXJ0X3BhdHRlcm5zIjtpZih0Py5pc0F1dG8pcmV0dXJuImF1dG8tc3RhbmRhcmQiO2lmKCFmdW5jdGlvbihlKXtyZXR1cm4oMCxpLmlzUGluZUlkU3RyaW5nKShlKX0oZSkpcmV0dXJuIGEuU3R1ZHlNZXRhSW5mby5nZXRQYWNrYWdlTmFtZShlKTtjb25zdCBuPSgwLGkuZXh0cmFjdFBpbmVJZCkoZSk7aWYobiYmKDAsCmkuaXNDdXN0b21QaW5lSWQpKG4pKXJldHVybiJTY3JpcHQkVVNFUiI7aWYobiYmKDAsaS5pc1B1Ymxpc2hlZFBpbmVJZCkobikpcmV0dXJuIlNjcmlwdCRQVUIiO2lmKG4mJigwLGkuaXNDYW5kbGVTdGlja0lkKShuKSlyZXR1cm4iY2FuZGxlc3RpY2stcGF0dGVybnMiO2lmKG4mJigwLGkuaXNTdGFuZGFyZFBpbmVJZCkobikpcmV0dXJuIlNjcmlwdCRTVEQiO2NvbnN0W29dPWUuc3BsaXQoIkAiKTtpZihvLmluY2x1ZGVzKCJfIikpe2NvbnN0IGU9IlNjcmlwdCQiLFt0XT1vLnNwbGl0KCJfIik7cmV0dXJuIHQuaW5jbHVkZXMoZSk/dDplK3R9cmV0dXJuIG99fSw4NDE2NTUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3ltYm9sU2VhcmNoRGlhbG9nRm9vdGVyOigpPT5sfSk7dmFyIGE9big3Nzk0NzQpLGk9big5MTQ0ODcpLG89bi5uKGkpLHM9big5MDQ0MzQpO2Z1bmN0aW9uIGwoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsY2hpbGRyZW46bn09ZTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bygpKHMuZm9vdGVyLHQpfSxuKX19LDMzMDcyMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRSZXN0cmljdGVkVG9vbFNldDooKT0+RWl9KTt2YXIgYT1uKDkzMDIzMSksaT1uKDc3OTQ3NCksbz1uKDIyMTg5Nikscz1uKDkxNDQ4NyksbD1uLm4ocykscj1uKDI3MzMxMCksZD1uKDczMjczMSksdT1uKDE4NTI3MSksYz1uKDIyNTI5OCksaD1uKDc5ODM4KSx2PW4oMjY3MDI4KSxtPW4oNzcxMjg1KSxwPW4oODY0NjgxKSxmPW4oMjQ2NzI3KTtjbGFzcyBnIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9oYW5kbGVDbGljaz0oKT0+e2NvbnN0e29uQ2xpY2s6ZSxvbkNsaWNrQXJnOnR9PXRoaXMucHJvcHM7ZSYmZSh0KX19cmVuZGVyKCl7Y29uc3R7Y2xhc3NOYW1lOmUsaWNvbjp0LGhpbnQ6bix0ZXh0OmEsaXNEaXNhYmxlZDpvLGlzQWN0aXZlOnMsb25DbGljazpsLG9uQ2xpY2tBcmc6ciwuLi5kfT10aGlzLnByb3BzO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoZi5Ub29sYmFyQnV0dG9uLHsuLi5kLGljb246dCx0ZXh0OmEsdG9vbHRpcDpuLGlzRGlzYWJsZWQ6byxpc0FjdGl2ZTpzLGlzR3JvdXBlZDohMCxvbkNsaWNrOnRoaXMuX2hhbmRsZUNsaWNrLGNsYXNzTmFtZTplfSl9fXZhciBiPW4oNjE4NjcyKSx3PW4oNDA2MTEwKSxDPW4oNjA5NTI4KSxfPW4oMzkxNTA0KSx5PW4oNTY5NjUyKSxTPW4oNzAxNTA2KSx4PW4oMTI4OTk4KSxFPW4oODMzOTAzKSxNPW4oMjM1NzI0KSxrPW4oOTgzNjE2KSxJPW4oNjgyMzgxKTtmdW5jdGlvbiBUKGUpe2NvbnN0e29yaWVudGF0aW9uOnQsb25LZXlEb3duOm4sLi4uYX09ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5hLHJvbGU6InJhZGlvZ3JvdXAiLCJhcmlhLW9yaWVudGF0aW9uIjp0LG9uS2V5RG93bjooMCxFLmNyZWF0ZVNhZmVNdWx0aWNhc3RFdmVudEhhbmRsZXIpKChmdW5jdGlvbihlKXtpZihlLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2lmKCEoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlyZXR1cm47Y29uc3Qgbj0oMCxNLmhhc2hGcm9tRXZlbnQpKGUpO2lmKCJ2ZXJ0aWNhbCIhPT10JiYzOCE9PW4mJjQwIT09bilyZXR1cm47aWYoInZlcnRpY2FsIj09PXQmJjM3IT09biYmMzkhPT1uKXJldHVybjtjb25zdCBhPShpPWUuY3VycmVudFRhcmdldCxBcnJheS5mcm9tKGkucXVlcnlTZWxlY3RvckFsbCgnW3JvbGU9InJhZGlvIl06bm90KFtkaXNhYmxlZF0pOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pJykpLmZpbHRlcigoMCxJLmNyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyKShpKSkpLnNvcnQoay5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKTt2YXIgaTtpZigwPT09YS5sZW5ndGgpcmV0dXJuO2NvbnN0IG89YS5pbmRleE9mKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpO2lmKC0xPT09bylyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IHM9KCk9Pntjb25zdCBlPShvK2EubGVuZ3RoLTEpJWEubGVuZ3RoO2Fbb10uZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIpKSxhW2VdLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IikpLGFbZV0uZm9jdXMoKX0sbD0oKT0+e2NvbnN0IGU9KG8rYS5sZW5ndGgrMSklYS5sZW5ndGg7YVtvXS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50IikpLGFbZV0uZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiKSksYVtlXS5mb2N1cygpfTtzd2l0Y2gobil7Y2FzZSAzODoidmVydGljYWwiIT09dCYmcygpO2JyZWFrO2Nhc2UgNDA6InZlcnRpY2FsIiE9PXQmJmwoKTticmVhaztjYXNlIDM3OiJ2ZXJ0aWNhbCI9PT10JiZzKCk7YnJlYWs7Y2FzZSAzOToidmVydGljYWwiPT09dCYmbCgpfX0pLG4pfSl9dmFyIEE9big4NTAxMDgpLEg9big2MTkxMDUpLFY9big2Mzg4NzIpLFI9bigzMTMxMTApLEY9big5Nzk3NDIpLEw9bigxMDMxNjApLFo9big1OTA0ODYpLE49bigyMzQ2MzYpLHo9big3MDM4MTQpLEI9big1NDA1OTUpO2Z1bmN0aW9uIE8oZSl7Y29uc3R7aWQ6dCxpY29uOm4sbmFtZTphLGlzQmV0YVN0eWxlOm8saXNOZXdTdHlsZTpzLGlzU2VsZWN0ZWQ6bCxpc0Rpc2FibGVkOnIsaXNGYXZvcml0ZTpkLGlzRmF2b3JpdGluZ0FsbG93ZWQ6dSxvbkNsaWNrOmMsb25DbGlja0Zhdm9yaXRlOnYsLi4ubX09ZSxwPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+dih0KSksW3YsdF0pLGY9KDAsaS51c2VDYWxsYmFjaykoKCgpPT5jKHQpKSxbYyx0XSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChSLk1lbnVJdGVtLHsuLi5tLHJvbGU6InJvdyIsYXJpYUxldmVsOjEsc2l6ZToibGFyZ2UiLGFyaWFTZWxlY3RlZDpsLHNlbGVjdGVkOmwsZGlzYWJsZWQ6cixhcmlhTGFiZWw6YSxvbkNsaWNrOmYsCmxlZnRTbG90Om4/aS5jcmVhdGVFbGVtZW50KFYuU3ZnSWNvbkxpc3RJdGVtUGFydCx7aWNvblN2ZzpufSk6bnVsbCxyaWdodFNsb3Q6W3UmJmkuY3JlYXRlRWxlbWVudChMLkNvbnRleHRBY3Rpb24se2tleToiZmF2b3JpdGUiLGhpZGVJZk5vSG92ZXI6IWQscm9sZToiZ3JpZGNlbGwifSxpLmNyZWF0ZUVsZW1lbnQoRi5GYXZvcml0ZUljb25CdXR0b24se2lzRmF2b3JpdGU6ISFkLG9uQ2xpY2s6cH0pKV0sdGl0bGU6aS5jcmVhdGVFbGVtZW50KCJkaXYiLHtyb2xlOiJncmlkY2VsbCIsImFyaWEtY29sc3BhbiI6dT8yOjMsY2xhc3NOYW1lOkIubGFiZWx9LGEsbyYmaS5jcmVhdGVFbGVtZW50KFouQmFkZ2Use2NsYXNzTmFtZTpCLmJldGFCYWRnZSxzaXplOk4uQmFkZ2VTaXplLlhTbWFsbH0sIkJFVEEiKSxzJiZpLmNyZWF0ZUVsZW1lbnQoei5CYWRnZU5ldyx7Y2xhc3NOYW1lOkIubmV3QmFkZ2V9KSksImRhdGEtdmFsdWUiOmguU1RZTEVfU0hPUlRfTkFNRVNbdF0sImRhdGEtcm9sZSI6Im1lbnVpdGVtIixkYXRhUWFJZDoiY2hhcnQtc3R5bGUtbWVudS1pdGVtIn0pfXZhciBEPW4oMjE2MDgzKTtjb25zdCBXPSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtmdW5jdGlvbiBQKGUpe3JldHVybiFjLmxpbmtpbmcuc3VwcG9ydGVkQ2hhcnRTdHlsZXMudmFsdWUoKT8uaW5jbHVkZXMoZSl9Y29uc3QgVT0iSVRFTVNfRElWSURFUiIsaj1bWzAsMSw5LDE5LDIxXSxbMiwxNCwxNV0sWzMsMTYsMTBdLFsxMywxMl0sWzE3LDE4LDIwXSxbOCw0LDcsNSw2LDExXV0sSz1uZXcgU2V0KFtdKSxRPW5ldyBTZXQoW10pO2NsYXNzIHEgZXh0ZW5kcyBpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuX2hhbmRsZUNoYW5nZVN0eWxlPWU9Pntjb25zdHtmYXZvcml0ZXM6dCxsYXN0U2VsZWN0ZWROb3RGYXZvcml0ZTpuLGFjdGl2ZVN0eWxlOmF9PXRoaXMuc3RhdGU7dGhpcy5zZXRTdGF0ZSh7YWN0aXZlU3R5bGU6ZSxsYXN0U2VsZWN0ZWROb3RGYXZvcml0ZTp0LmluY2x1ZGVzKGEpP246YX0pfSx0aGlzLl9oYW5kbGVTZWxlY3RTdHlsZT1lPT57Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOnR9PXRoaXMuY29udGV4dDtlIT09dC5hY3RpdmVDaGFydFN0eWxlLnZhbHVlKCkmJnQuc2V0Q2hhcnRTdHlsZVRvV2lkZ2V0KGUpfSx0aGlzLl9oYW5kbGVDbGlja0Zhdm9yaXRlPWU9Pnt0aGlzLl9pc1N0eWxlRmF2b3JpdGVkKGUpP3RoaXMuX2hhbmRsZVJlbW92ZUZhdm9yaXRlKGUpOnRoaXMuX2hhbmRsZUFkZEZhdm9yaXRlKGUpfSx0aGlzLl9ib3VuZEZvcmNlVXBkYXRlPSgpPT57dGhpcy5mb3JjZVVwZGF0ZSgpfSx0aGlzLl9oYW5kbGVRdWlja0NsaWNrPWU9Pnt0aGlzLl9oYW5kbGVTZWxlY3RTdHlsZShlKSx0aGlzLl90cmFja0NsaWNrKCl9LCgwLHkudmFsaWRhdGVSZWdpc3RyeSkodCx7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOm8uYW55LmlzUmVxdWlyZWQsZmF2b3JpdGVDaGFydFN0eWxlc1NlcnZpY2U6by5hbnkuaXNSZXF1aXJlZH0pO2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpuLGZhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlOmF9PXQsaT1uLmFjdGl2ZUNoYXJ0U3R5bGUudmFsdWUoKSxzPWEuZ2V0KCksbD1uZXcgU2V0KCgwLFMuYWxsQ2hhcnRTdHlsZXMpKCkpO3RoaXMuc3RhdGU9e2FjdGl2ZVN0eWxlOmksZmF2b3JpdGVzOnMsc3R5bGVzOmoucmVkdWNlKCgoZSx0KT0+e2NvbnN0IG49dC5maWx0ZXIoKGU9PmwuaGFzKGUpKSk7cmV0dXJuIG4ubGVuZ3RoJiYoZS5sZW5ndGgmJm4udW5zaGlmdChVKSxlLnB1c2goLi4ubikpLGV9KSxbXSl9fWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmUsZmF2b3JpdGVDaGFydFN0eWxlc1NlcnZpY2U6dH09dGhpcy5jb250ZXh0O2UuYWN0aXZlQ2hhcnRTdHlsZS5zdWJzY3JpYmUodGhpcy5faGFuZGxlQ2hhbmdlU3R5bGUpLHQuZ2V0T25DaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVDaGFuZ2VTZXR0aW5ncyksYy5saW5raW5nLnN1cHBvcnRlZENoYXJ0U3R5bGVzLnN1YnNjcmliZSh0aGlzLl9ib3VuZEZvcmNlVXBkYXRlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjplLGZhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlOnR9PXRoaXMuY29udGV4dDtlLmFjdGl2ZUNoYXJ0U3R5bGUudW5zdWJzY3JpYmUodGhpcy5faGFuZGxlQ2hhbmdlU3R5bGUpLHQuZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUNoYW5nZVNldHRpbmdzKSxjLmxpbmtpbmcuc3VwcG9ydGVkQ2hhcnRTdHlsZXMudW5zdWJzY3JpYmUodGhpcy5fYm91bmRGb3JjZVVwZGF0ZSl9cmVuZGVyKCl7Y29uc3R7aXNTaG93blF1aWNrczplLGRpc3BsYXlNb2RlOnQ9ImZ1bGwiLGlkOm99PXRoaXMucHJvcHMse2FjdGl2ZVN0eWxlOnMsZmF2b3JpdGVzOmQsc3R5bGVzOmMsbGFzdFNlbGVjdGVkTm90RmF2b3JpdGU6Zn09dGhpcy5zdGF0ZSxiPSJzbWFsbCIhPT10JiZlJiYwIT09ZC5sZW5ndGgsXz1bLi4uZF07Xy5pbmNsdWRlcyhzKT92b2lkIDAhPT1mJiZfLnB1c2goZik6Xy5wdXNoKHMpO2NvbnN0IHk9YiYmXy5sZW5ndGg+MTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KHcuTWF0Y2hNZWRpYSx7cnVsZTpDLkRpYWxvZ0JyZWFrcG9pbnRzLlRhYmxldFNtYWxsfSwoZT0+e2NvbnN0IHQ9Yy5tYXAoKCh0LG4pPT50PT09VT90aGlzLl9yZW5kZXJEaXZpZGVyKGBzZXBhcmF0b3ItJHtufWApOnRoaXMuX3JlbmRlclBvcHVwTWVudUl0ZW0odCx0PT09cyxlKSkpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQocC5Ub29sV2lkZ2V0Um93V3JhcCx7aWQ6b30seSYmaS5jcmVhdGVFbGVtZW50KFQse29yaWVudGF0aW9uOiJob3Jpem9udGFsIixjbGFzc05hbWU6Qi5ncm91cH0sXy5tYXAoKChlLHQpPT5pLmNyZWF0ZUVsZW1lbnQoZyx7cm9sZToicmFkaW8iLGNsYXNzTmFtZTpCLmJ1dHRvbixpY29uOnYuU0VSSUVTX0lDT05TW2VdLCJhcmlhLWNoZWNrZWQiOmImJnM9PT1lLGlzQWN0aXZlOmImJnM9PT1lLGlzRGlzYWJsZWQ6UChlKSxrZXk6dCxoaW50OigwLAp4LmdldFRyYW5zbGF0ZWRDaGFydFN0eWxlTmFtZSkoZSksb25DbGljazpiP3RoaXMuX2hhbmRsZVF1aWNrQ2xpY2s6dm9pZCAwLG9uQ2xpY2tBcmc6ZSwiZGF0YS12YWx1ZSI6aC5TVFlMRV9TSE9SVF9OQU1FU1tlXX0pKSkpLGkuY3JlYXRlRWxlbWVudChtLlRvb2xiYXJNZW51QnV0dG9uLHthcnJvdzpCb29sZWFuKHkpLGNvbnRlbnQ6eT92b2lkIDA6aS5jcmVhdGVFbGVtZW50KHAuVG9vbFdpZGdldFJvd1dyYXAsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtpY29uOnYuU0VSSUVTX0lDT05TW3NdfSkpLHRvb2x0aXA6eT91LnQobnVsbCx2b2lkIDAsbig4MzM5MzQpKTooMCx4LmdldFRyYW5zbGF0ZWRDaGFydFN0eWxlTmFtZSkocyksY2xhc3NOYW1lOkIubWVudSxpc0RyYXdlcjplLG9uQ2xpY2s6dGhpcy5fdHJhY2tDbGljayxlbmFibGVTY3JvbGxDb21wZW5zYXRpb246KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpLG1lbnVSb2xlOiJ0cmVlZ3JpZCJ9LGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShCLmNvbnRhaW5lciwoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIikmJkIubmV3VmlldywhZSYmQi5kZXNrdG9wKX0sdCkpKX0pKX1fcmVuZGVyRGl2aWRlcihlKXtyZXR1cm4oMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIik/aS5jcmVhdGVFbGVtZW50KGQuRGl2aWRlckxpc3RJdGVtLHtrZXk6ZSxyb2xlOiJzZXBhcmF0b3IifSk6aS5jcmVhdGVFbGVtZW50KGIuUG9wdXBNZW51U2VwYXJhdG9yLHtrZXk6ZX0pfV9yZW5kZXJQb3B1cE1lbnVJdGVtKGUsdCxuKXtjb25zdHtpc0Zhdm9yaXRpbmdBbGxvd2VkOm99PXRoaXMucHJvcHMscz10aGlzLl9pc1N0eWxlRmF2b3JpdGVkKGUpO3JldHVybigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKT9pLmNyZWF0ZUVsZW1lbnQoTyx7a2V5OmBjaGFydC10eXBlLSR7ZX1gLGlkOmUsbmFtZTooMCx4LmdldFRyYW5zbGF0ZWRDaGFydFN0eWxlTmFtZSkoZSksaWNvbjp2LlNFUklFU19JQ09OU1tlXSxpc0Rpc2FibGVkOlAoZSksaXNTZWxlY3RlZDp0LGlzRmF2b3JpdGU6cyxpc0JldGFTdHlsZTpRLmhhcyhlKSxpc05ld1N0eWxlOksuaGFzKGUpLGlzRmF2b3JpdGluZ0FsbG93ZWQ6byxvbkNsaWNrOnRoaXMuX2hhbmRsZVNlbGVjdFN0eWxlLG9uQ2xpY2tGYXZvcml0ZTp0aGlzLl9oYW5kbGVDbGlja0Zhdm9yaXRlLCJhcmlhLXNlbGVjdGVkIjp0fSk6aS5jcmVhdGVFbGVtZW50KEEuQWNjZXNzaWJsZU1lbnVJdGVtLHtrZXk6YGNoYXJ0LXR5cGUtJHtlfWAscm9sZToicm93Iix0aGVtZTpuP18ubXVsdGlsaW5lTGFiZWxXaXRoSWNvbkFuZFRvb2xib3hUaGVtZTp2b2lkIDAsaWNvbjp2LlNFUklFU19JQ09OU1tlXSxpc0FjdGl2ZTp0LCJhcmlhLXNlbGVjdGVkIjp0LGlzRGlzYWJsZWQ6UChlKSxsYWJlbDppLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpCLmxhYmVsfSwoMCx4LmdldFRyYW5zbGF0ZWRDaGFydFN0eWxlTmFtZSkoZSl8fCIiLFEuaGFzKGUpJiZpLmNyZWF0ZUVsZW1lbnQoWi5CYWRnZSx7Y2xhc3NOYW1lOkIuYmV0YUJhZGdlLHNpemU6Ti5CYWRnZVNpemUuWFNtYWxsfSwiQkVUQSIpLEsuaGFzKGUpJiZpLmNyZWF0ZUVsZW1lbnQoei5CYWRnZU5ldyx7Y2xhc3NOYW1lOkIubmV3QmFkZ2V9KSksb25DbGljazp0aGlzLl9oYW5kbGVTZWxlY3RTdHlsZSxvbkNsaWNrQXJnOmUsc2hvd1Rvb2xib3hPbkhvdmVyOiFzLHNob3dUb29sYm94T25Gb2N1czohMCx0b29sYm94Om8mJmkuY3JlYXRlRWxlbWVudChILk1lbnVGYXZvcml0ZUJ1dHRvbix7aXNBY3RpdmU6dCxpc0ZpbGxlZDpzLG9uQ2xpY2s6KCk9PnRoaXMuX2hhbmRsZUNsaWNrRmF2b3JpdGUoZSl9KSwiZGF0YS12YWx1ZSI6aC5TVFlMRV9TSE9SVF9OQU1FU1tlXX0pfV9oYW5kbGVDaGFuZ2VTZXR0aW5ncyhlKXt0aGlzLnNldFN0YXRlKHtsYXN0U2VsZWN0ZWROb3RGYXZvcml0ZTp2b2lkIDAsZmF2b3JpdGVzOmV9KX1faXNTdHlsZUZhdm9yaXRlZChlKXtyZXR1cm4tMSE9PXRoaXMuc3RhdGUuZmF2b3JpdGVzLmluZGV4T2YoZSl9X2hhbmRsZUFkZEZhdm9yaXRlKGUpe2NvbnN0e2Zhdm9yaXRlczp0fT10aGlzLnN0YXRlLHtmYXZvcml0ZUNoYXJ0U3R5bGVzU2VydmljZTpufT10aGlzLmNvbnRleHQ7bi5zZXQoWy4uLnQsZV0pfV9oYW5kbGVSZW1vdmVGYXZvcml0ZShlKXtjb25zdHtmYXZvcml0ZXM6dH09dGhpcy5zdGF0ZSx7ZmF2b3JpdGVDaGFydFN0eWxlc1NlcnZpY2U6bn09dGhpcy5jb250ZXh0O24uc2V0KHQuZmlsdGVyKCh0PT50IT09ZSkpKX1fdHJhY2tDbGljaygpeygwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwiY2hhcnQgc3R5bGUiKX19cS5jb250ZXh0VHlwZT1XO3ZhciAkPW4oMTg2MDk3KSxYPW4oMzg2OTMxKSxHPW4oODQ4OTg4KSxKPW4oNzY1Njk1KTtjb25zdCBZPSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBlZSBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fdXBkYXRlU3RhdGU9ZT0+e3RoaXMuc2V0U3RhdGUoe2lzQWN0aXZlOmV9KX0sdGhpcy5faGFuZGxlQ2xpY2s9ZT0+eygwLFgudHJhY2tFdmVudCkoIkdVSSIsIkNoYXJ0IEhlYWRlciBUb29sYmFyIiwiY29tcGFyZSIpLCgwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwiY29tcGFyZSIpLHRoaXMuX2NvbXBhcmVEaWFsb2dSZW5kZXJlcj8uc2hvdyh7c2hvdWxkUmV0dXJuRm9jdXM6KDAsRy5pc0tleWJvYXJkQ2xpY2spKGUpfSl9LCgwLHkudmFsaWRhdGVSZWdpc3RyeSkodCx7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOm8uYW55LmlzUmVxdWlyZWR9KSx0aGlzLnN0YXRlPXtpc0FjdGl2ZTohMX0sCnRoaXMuX2NvbXBhcmVEaWFsb2dSZW5kZXJlcj10aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmdldENvbXBhcmVEaWFsb2dSZW5kZXJlcigpfWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5fY29tcGFyZURpYWxvZ1JlbmRlcmVyPy52aXNpYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX2NvbXBhcmVEaWFsb2dSZW5kZXJlcj8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1yZW5kZXIoKXtjb25zdHtpc0FjdGl2ZTplfT10aGlzLnN0YXRlO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoJC5Ub29sYmFyQ29sbGFwc2libGVCdXR0b24sey4uLnRoaXMucHJvcHMsaWNvbjpKLGlzT3BlbmVkOmUsb25DbGljazp0aGlzLl9oYW5kbGVDbGljayxjb2xsYXBzZVdoZW46WyJmdWxsIiwibWVkaXVtIiwic21hbGwiXSx0b29sdGlwOnUudChudWxsLHtjb250ZXh0OiJ0b29sYmFyX2NvbXBhcmVfc3ltYm9sc190b29sdGlwIn0sbig4NzM4MjApKSwiYXJpYS1oYXNwb3B1cCI6ImRpYWxvZyJ9KX19ZWUuY29udGV4dFR5cGU9WTt2YXIgdGU9big2ODg2MzIpLG5lPW4oMTM4NjM4KSxhZT1uKDE1MzczNCksaWU9big4NjExODgpLG9lPW4oMzQ1MTUxKSxzZT1uKDYwNTI1NyksbGU9big2ODU5NzkpLHJlPW4oNDEzNDEpLGRlPW4oNjMyNDQ0KTtjb25zdCB1ZT0oMCxuKDIyMTA2MSkuZ2V0TG9nZ2VyKSgiRmF2b3JpdGVzSW5mbyIpO2Z1bmN0aW9uIGNlKGUpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTt1ZS5sb2dOb3JtYWwoIlJlcXVlc3RpbmcgZmF2b3JpdGVzIGluZm8iKTtjb25zdCB0PVtdLG49bmV3IE1hcCxhPW5ldyBNYXAsaT1uZXcgTWFwO3JldHVybiBlLmZvckVhY2goKGU9Pntzd2l0Y2goZS50eXBlKXtjYXNlImphdmEiOmkuc2V0KGUuc3R1ZHlJZCxlKTticmVhaztjYXNlInBpbmUiOigwLGRlLmlzUHVibGlzaGVkUGluZUlkKShlLnBpbmVJZCk/bi5zZXQoZS5waW5lSWQsZSk6YS5zZXQoZS5waW5lSWQsZSk7YnJlYWs7ZGVmYXVsdDooMCxuZS5hc3NlcnQpKCExLGB1bmtub3duIGZhdm9yaXRlIHR5cGUgJHtKU09OLnN0cmluZ2lmeShlKX1gKX19KSksMCE9PWkuc2l6ZSYmdC5wdXNoKCgwLHNlLnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLmZpbmRBbGxKYXZhU3R1ZGllcygpLnRoZW4oKGU9Pntjb25zdCB0PW5ldyBNYXA7Zm9yKGNvbnN0IG4gb2YgZSkhbi5pc19oaWRkZW5fc3R1ZHkmJmkuaGFzKG4uaWQpJiZ0LnNldChuLmlkLHtuYW1lOm4uZGVzY3JpcHRpb24sbG9jYWxpemVkTmFtZTpuLmRlc2NyaXB0aW9uX2xvY2FsaXplZCxleHRyYTpuLmV4dHJhLHN0dWR5TWFya2V0U2hpdHR5T2JqZWN0Om59KTtyZXR1cm4gdH0pKS50aGVuKChlPT57Y29uc3QgdD1oZShpLGUpO2lmKDAhPT10Lm5vdEZvdW5kSXRlbXMubGVuZ3RoKXtjb25zdCBlPXQubm90Rm91bmRJdGVtcy5tYXAoKGU9PmUuc3R1ZHlJZCkpO3VlLmxvZ1dhcm4oYENhbm5vdCBmaW5kIGphdmEgc2NyaXB0czogJHtKU09OLnN0cmluZ2lmeShlKX1gKX1yZXR1cm4gdC5pdGVtc30pKSksdC5wdXNoKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IE1hcDtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0KTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGxlLmluZm8oZSkucHJvbWlzZSgpKS50aGVuKChlPT57aWYodm9pZCAwIT09ZSlmb3IoY29uc3QgbiBvZiBlKXQuc2V0KG4uc2NyaXB0SWRQYXJ0LHtuYW1lOm4uc2NyaXB0TmFtZSxhZ3JlZUNvdW50Om4uYWdyZWVDb3VudCxhdXRob3JVc2VybmFtZTpuLmF1dGhvci51c2VybmFtZSxzdHVkeU1hcmtldFNoaXR0eU9iamVjdDpufSk7cmV0dXJuIHR9KSl9KEFycmF5LmZyb20obi5rZXlzKCkpKS50aGVuKChlPT57Y29uc3QgdD1oZShuLGUpO2lmKDAhPT10Lm5vdEZvdW5kSXRlbXMubGVuZ3RoKXtjb25zdCBlPXQubm90Rm91bmRJdGVtcy5tYXAoKGU9PmUucGluZUlkKSk7dWUubG9nV2FybihgQ2Fubm90IGZpbmQgcHViIHNjcmlwdHM6ICR7SlNPTi5zdHJpbmdpZnkoZSl9YCl9cmV0dXJuIHQuaXRlbXN9KSkpLHQucHVzaChmdW5jdGlvbihlKXtjb25zdCB0PW5ldyBNYXA7cmV0dXJuIG5ldyBQcm9taXNlKChuPT57KGZ1bmN0aW9uKGUpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGUpO3JldHVybiBQcm9taXNlLnJlc29sdmUoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZmlsdGVyKChlPT4oMCxkZS5pc1N0YW5kYXJkUGluZUlkKShlKXx8KDAsZGUuaXNDdXN0b21QaW5lSWQpKGUpKSl9KGUpKX0pKGUpLnRoZW4oKGU9PntpZigwPT09ZS5sZW5ndGgpcmV0dXJuIG4odCk7KDAscmUucmVxdWVzdEluZm9Gb3JTY3JpcHRzKShlKS50aGVuKChhPT57Y29uc3QgaT1uZXcgU2V0KGUpO2Zvcihjb25zdCBlIG9mIGEpaS5oYXMoZS5zY3JpcHRJZFBhcnQpJiZ0LnNldChlLnNjcmlwdElkUGFydCx7bmFtZTplLnNjcmlwdE5hbWUsZXh0cmE6ZS5leHRyYSxzdHVkeU1hcmtldFNoaXR0eU9iamVjdDplfSk7bih0KX0pKX0pKX0pKX0oQXJyYXkuZnJvbShhLmtleXMoKSkpLnRoZW4oKGU9Pntjb25zdCB0PWhlKGEsZSk7aWYoMCE9PXQubm90Rm91bmRJdGVtcy5sZW5ndGgpe2NvbnN0IGU9dC5ub3RGb3VuZEl0ZW1zLm1hcCgoZT0+ZS5waW5lSWQpKTt1ZS5sb2dXYXJuKGBDYW5ub3QgZmluZCBwaW5lIHNjcmlwdHM6ICR7SlNPTi5zdHJpbmdpZnkoZSl9YCl9cmV0dXJuIHQuaXRlbXN9KSkpLFByb21pc2UuYWxsKHQpLnRoZW4oKGU9Pih1ZS5sb2dOb3JtYWwoIlJlcXVlc3RpbmcgZmF2b3JpdGVzIGluZm8gZmluaXNoZWQiKSxlLnJlZHVjZSgoKGUsdCk9PmUuY29uY2F0KHQpKSxbXSkpKSl9ZnVuY3Rpb24gaGUoZSx0KXtjb25zdCBuPXtpdGVtczpbXSxub3RGb3VuZEl0ZW1zOltdfTtyZXR1cm4gZS5mb3JFYWNoKCgoZSxhKT0+e2NvbnN0IGk9dC5nZXQoYSk7dm9pZCAwIT09aT9uLml0ZW1zLnB1c2goe2l0ZW06ZSxpbmZvOml9KTpuLm5vdEZvdW5kSXRlbXMucHVzaChlKX0pKSxufQp2YXIgdmU9bigzNjgxMTApLG1lPW4oNjc4Mjg1KSxwZT1uKDE5OTE3MiksZmU9big2NDgwMDkpLGdlPW4oMTc5NzcxKSxiZT1uKDgwMDkxNCksd2U9big5MTYxMjEpLENlPW4oNjU1NTg0KSxfZT1uKDYyMTkyNik7ZnVuY3Rpb24geWUoZSx0LG4peyFmdW5jdGlvbihlLHQsbil7aWYoInR2LXZvbHVtZWJ5cHJpY2UiPT09ZSl7bGV0IGU9IlRWX1ZPTFVNRUJZUFJJQ0UiLGE9InZvbHVtZVByb2ZpbGUiO2NvbnN0W2ldPXQuc3BsaXQoIkAiKTtyZXR1cm5bIlRQT1BlcmlvZGljIiwiVFBPU2Vzc2lvbnMiXS5pbmNsdWRlcyhpKSYmKGU9IlRQT19QRVJJT0RJQyIsYT0iVFBPUGVyaW9kaWMiKSx2b2lkKDAsQ2UucnVuT3JHb1BybykobixlLHtmZWF0dXJlOmF9KX0idHYtY2hhcnRwYXR0ZXJucyIhPT1lPyJ0di1jaGFydF9wYXR0ZXJucyIhPT1lPygwLF9lLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKG4se3NvdXJjZToic3R1ZHktbWFya2V0LWFwcGx5LXN0dWR5IixmZWF0dXJlOiJpbmRpY2F0b3JzIn0pOigwLENlLnJ1bk9yR29Qcm8pKG4sIkNIQVJUX1BBVFRFUk5TIix7ZmVhdHVyZToiY2hhcnRQYXR0ZXJucyJ9KTooMCxDZS5ydW5PckdvUHJvKShuLCJUVl9QUk9TVFVESUVTIix7ZmVhdHVyZToiY2hhcnRQYXR0ZXJucyJ9KX0oKDAsd2UuZ2V0U3R1ZHlQYWNrYWdlTmFtZSkoZSx0KSxlLG4pfXZhciBTZT1uKDMxMzgyMikseGU9bigyNTYzMTQpO2Z1bmN0aW9uIEVlKGUpe2xldCB0PXUudChlLnNjcmlwdE5hbWV8fCIiLHtjb250ZXh0OiJzdHVkeSJ9LG4oODg0NjkzKSk7Y29uc3QgYT1lLmV4dHJhLmZpbmFuY2lhbFBlcmlvZDtyZXR1cm4gYSYmISgwLHhlLmlzTm9BZ2dyZWdhdGVkRmluYW5jaWFsUGVyaW9kKShhKSYmKHQrPWAgwrcgJHsoMCx4ZS5maW5hbmNpYWxQZXJpb2RUb1N0cmluZykoYSl9YCksdH1uKDExMzc4NCk7dmFyIE1lPW4oODQ2NzQ5KSxrZT1uKDg4OTgwOSk7Y29uc3QgSWU9KDAsb2UuaG90S2V5U2VyaWFsaXplKSh7a2V5czpbIi8iXSx0ZXh0OiJ7MH0ifSksVGU9KDAseS5yZWdpc3RyeUNvbnRleHRUeXBlKSgpO2NsYXNzIEFlIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9wcm9taXNlPW51bGwsdGhpcy5fbWVudT1pLmNyZWF0ZVJlZigpLHRoaXMuX21lbnVJdGVtc0NvbnRhaW5lcj1pLmNyZWF0ZVJlZigpLHRoaXMuX2Zhdm9yaXRlRnVuZGFtZW50YWxzTW9kZWw9U2UuRmF2b3JpdGVGdW5kYW1lbnRhbHMuZ2V0SW5zdGFuY2UoKSx0aGlzLl9zZXRBY3RpdmVTdGF0ZT1lPT57dGhpcy5zZXRTdGF0ZSh7aXNBY3RpdmU6ZX0pfSx0aGlzLl9yZW5kZXJGYXZvcml0ZXNMaXN0T3JFbXB0eVN0YXRlPShlLHQsYSk9Pntjb25zdCBvPXRoaXMuX3JlbmRlckZhdm9yaXRlc0NvbnRlbnQoZSx0LGEpO2lmKCF0KXJldHVybiBvO2lmKG51bGw9PT1vKXJldHVybiBudWxsO2NvbnN0IHM9dS50KG51bGwse2NvbnRleHQ6ImluZGljYXRvcnNfbWVudSJ9LG4oNjI5Mzg0KSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChiZS5TZWN0aW9uTGlzdEl0ZW0se2tleToiZmF2b3JpdGUtaW5kaWNhdG9ycy1zZWN0aW9uIix0aXRsZTpzLGFyaWFMYWJlbDpzLGdyb3VwUm9sZToiZ3JvdXAifSxvKX0sdGhpcy5fcmVuZGVyRmF2b3JpdGVzQ29udGVudD0oZSx0LGEpPT57aWYoYSlyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGZlLlRvb2xXaWRnZXRNZW51U3Bpbm5lcixudWxsKTtpZih0aGlzLnN0YXRlLmluZm9zLmxlbmd0aD4wKXJldHVybiB0aGlzLnN0YXRlLmluZm9zLm1hcCgobj0+dGhpcy5fcmVuZGVyRmF2b3JpdGVJdGVtKG4sZSx0KSkpO2lmKG51bGwhPT10aGlzLl9wcm9taXNlKXtjb25zdCBlPXUudChudWxsLHtjb250ZXh0OiJpbmRpY2F0b3JzX21lbnUifSxuKDQzNDA3NikpO3JldHVybiB0P2kuY3JlYXRlRWxlbWVudChSLk1lbnVJdGVtLHtkaXNhYmxlZDohMCx0aXRsZTplfSk6aS5jcmVhdGVFbGVtZW50KGFlLlBvcHVwTWVudUl0ZW0se2lzRGlzYWJsZWQ6ITAsbGFiZWw6ZX0pfXJldHVybiBudWxsfSx0aGlzLl9yZW5kZXJGYXZvcml0ZUl0ZW09KGUsdCxuKT0+e2NvbnN0IGE9ImphdmEiPT09ZS5pdGVtLnR5cGU/ZS5pdGVtLnN0dWR5SWQ6ZS5pdGVtLnBpbmVJZCxvPUhlKGUpLHM9aS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmwoKSghdCYma2UubGFiZWwsdCYma2Uuc21hbGxXaWR0aExhYmVsLCJhcHBseS1vdmVyZmxvdy10b29sdGlwIil9LG8pO3JldHVybiBuP2kuY3JlYXRlRWxlbWVudChSLk1lbnVJdGVtLHtrZXk6YSxyb2xlOiJtZW51aXRlbSIsb25DbGljazooKT0+dGhpcy5faGFuZGxlU2VsZWN0SW5kaWNhdG9yKGUpLHRpdGxlOm8sYXJpYUxhYmVsOm8sImRhdGEtcm9sZSI6Im1lbnVpdGVtIixlbGxpcHNpczohdH0pOmkuY3JlYXRlRWxlbWVudChBLkFjY2Vzc2libGVNZW51SXRlbSx7cm9sZToibWVudWl0ZW0iLGNsYXNzTmFtZTpsKCkodCYma2Uuc21hbGxXaWR0aE1lbnVJdGVtKSx0aGVtZTp0P18ubXVsdGlsaW5lTGFiZWxXaXRoSWNvbkFuZFRvb2xib3hUaGVtZTp2b2lkIDAsa2V5OmEsb25DbGljazp0aGlzLl9oYW5kbGVTZWxlY3RJbmRpY2F0b3Isb25DbGlja0FyZzplLGxhYmVsOnN9KX0sdGhpcy5faGFuZGxlQ2xpY2s9ZT0+e2NvbnN0e3N0dWR5TWFya2V0OnR9PXRoaXMucHJvcHM7dGhpcy5zZXRTdGF0ZSh7aXNBY3RpdmU6ITB9LCgoKT0+e3QudmlzaWJsZSgpLnZhbHVlKCk/dC5oaWRlKCk6dC5zaG93KHtzaG91bGRSZXR1cm5Gb2N1czooMCxHLmlzS2V5Ym9hcmRDbGljaykoZSl9KX0pKSx0aGlzLl90cmFja0NsaWNrKCl9LHRoaXMuX2hhbmRsZVNlbGVjdEluZGljYXRvcj1lPT57ZT0oMCxuZS5lbnN1cmVEZWZpbmVkKShlKSx0aGlzLl90cmFja0Zhdm9yaXRlQWN0aW9uKCJGYXZvcml0ZSBpbmRpY2F0b3IgZnJvbSB0b29sYmFyIik7eWUoImphdmEiPT09ZS5pdGVtLnR5cGU/ZS5pdGVtLnN0dWR5SWQ6ZS5pdGVtLnBpbmVJZCxlLmluZm8uZXh0cmEsKGFzeW5jKCk9PntlPSgwLG5lLmVuc3VyZURlZmluZWQpKGUpO2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjp0fT10aGlzLmNvbnRleHQKO2lmKCJqYXZhIj09PWUuaXRlbS50eXBlKXtjb25zdCB0PSgwLHZlLnRyeUZpbmRTdHVkeUxpbmVUb29sTmFtZUJ5U3R1ZHlJZCkoZS5pdGVtLnN0dWR5SWQpO2lmKG51bGwhPT10KXJldHVybiBhd2FpdCgwLHZlLmluaXRMaW5lVG9vbCkodCksdm9pZCBtZS50b29sLnNldFZhbHVlKHQpfXQuYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKS5pbnNlcnRTdHVkeShlLml0ZW0sW10se2V2ZW50U291cmNlOiJ0b29sYmFyX2Zhdm9yaXRlcyJ9KX0pKX0sdGhpcy5faGFuZGxlRmF2b3JpdGVJbmRpY2F0b3JzQ2hhbmdlPSgpPT57Y29uc3R7ZmF2b3JpdGVTY3JpcHRzTW9kZWw6ZX09dGhpcy5jb250ZXh0LHQ9Wy4uLigwLG5lLmVuc3VyZURlZmluZWQpKGUpLmZhdm9yaXRlcygpXTt0aGlzLnNldFN0YXRlKHtmYXZvcml0ZXM6dH0pLHRoaXMuX2NsZWFyQ2FjaGUoKX0sdGhpcy5faGFuZGxlRmF2b3JpdGVGdW5kYW1lbnRhbHNDaGFuZ2U9KCk9Pntjb25zdCBlPW5ldyBTZXQodGhpcy5fZmF2b3JpdGVGdW5kYW1lbnRhbHNNb2RlbD8uZmF2b3JpdGVzKCl8fFtdKTt0aGlzLnNldFN0YXRlKHtmYXZvcml0ZUZ1bmRhbWVudGFsczplfSksdGhpcy5fY2xlYXJDYWNoZSgpfSx0aGlzLl9oYW5kbGVNb3VzZUVudGVyPSgpPT57dGhpcy5fcHJlZmV0Y2hGYXZvcml0ZXMoKX0sdGhpcy5faGFuZGxlV3JhcENsaWNrPSgpPT57dGhpcy5fcHJlZmV0Y2hGYXZvcml0ZXMoKX0sdGhpcy5faGFuZGxlQ2hhbmdlQWN0aXZlV2lkZ2V0PSgpPT57dGhpcy5fY2xlYXJDYWNoZSgpfSx0aGlzLl9jbGVhckNhY2hlPSgpPT57dGhpcy5fcHJvbWlzZT1udWxsLHRoaXMuc2V0U3RhdGUoe2luZm9zOltdfSl9LHRoaXMuX2hhbmRsZVNjcmlwdFJlbmFtZWQ9ZT0+e2NvbnN0e2Zhdm9yaXRlU2NyaXB0c01vZGVsOnR9PXRoaXMuY29udGV4dDt2b2lkIDAhPT10JiZ0LmlzRmF2KGUuc2NyaXB0SWRQYXJ0KSYmdGhpcy5fY2xlYXJDYWNoZSgpfSx0aGlzLl9oYW5kbGVGYXZvcml0ZU1lbnVDbGljaz0oKT0+e3RoaXMuX3RyYWNrQ2xpY2soKSx0aGlzLl90cmFja0Zhdm9yaXRlQWN0aW9uKCJTZWxlY3QgZmF2b3JpdGUgaW5kaWNhdG9ycyBkcm9wZG93biIpfSwoMCx5LnZhbGlkYXRlUmVnaXN0cnkpKHQse2Zhdm9yaXRlU2NyaXB0c01vZGVsOm8uYW55LGNoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpvLmFueS5pc1JlcXVpcmVkfSk7Y29uc3R7ZmF2b3JpdGVTY3JpcHRzTW9kZWw6YX09dCxzPXZvaWQgMCE9PWE/YS5mYXZvcml0ZXMoKTpbXTt0aGlzLnN0YXRlPXtpc0FjdGl2ZTohMSxpc0xvYWRpbmc6ITEsZmF2b3JpdGVzOnMsZmF2b3JpdGVGdW5kYW1lbnRhbHM6bmV3IFNldCh0aGlzLl9mYXZvcml0ZUZ1bmRhbWVudGFsc01vZGVsPy5mYXZvcml0ZXMoKSksaW5mb3M6W119fWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7c3R1ZHlNYXJrZXQ6ZX09dGhpcy5wcm9wcyx7ZmF2b3JpdGVTY3JpcHRzTW9kZWw6dCxjaGFydFdpZGdldENvbGxlY3Rpb246bn09dGhpcy5jb250ZXh0O2UudmlzaWJsZSgpLnN1YnNjcmliZSh0aGlzLl9zZXRBY3RpdmVTdGF0ZSksdm9pZCAwIT09dCYmKHQuZmF2b3JpdGVzQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUZhdm9yaXRlSW5kaWNhdG9yc0NoYW5nZSksbi5hY3RpdmVDaGFydFdpZGdldC5zdWJzY3JpYmUodGhpcy5faGFuZGxlQ2hhbmdlQWN0aXZlV2lkZ2V0KSksdGhpcy5fZmF2b3JpdGVGdW5kYW1lbnRhbHNNb2RlbD8uZmF2b3JpdGVzQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUZhdm9yaXRlRnVuZGFtZW50YWxzQ2hhbmdlKSxnZS5vbigiVFZTY3JpcHRSZW5hbWVkIix0aGlzLl9oYW5kbGVTY3JpcHRSZW5hbWVkLG51bGwpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7c3R1ZHlNYXJrZXQ6ZX09dGhpcy5wcm9wcyx7ZmF2b3JpdGVTY3JpcHRzTW9kZWw6dCxjaGFydFdpZGdldENvbGxlY3Rpb246bn09dGhpcy5jb250ZXh0O2UudmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3NldEFjdGl2ZVN0YXRlKSx2b2lkIDAhPT10JiYodC5mYXZvcml0ZXNDaGFuZ2VkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVGYXZvcml0ZUluZGljYXRvcnNDaGFuZ2UpLG4uYWN0aXZlQ2hhcnRXaWRnZXQudW5zdWJzY3JpYmUodGhpcy5faGFuZGxlQ2hhbmdlQWN0aXZlV2lkZ2V0KSksdGhpcy5fZmF2b3JpdGVGdW5kYW1lbnRhbHNNb2RlbD8uZmF2b3JpdGVzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5faGFuZGxlRmF2b3JpdGVGdW5kYW1lbnRhbHNDaGFuZ2UpLGdlLnVuc3Vic2NyaWJlKCJUVlNjcmlwdFJlbmFtZWQiLHRoaXMuX2hhbmRsZVNjcmlwdFJlbmFtZWQsbnVsbCksdGhpcy5fcHJvbWlzZT1udWxsfXJlbmRlcigpe2NvbnN0e2lzQWN0aXZlOmUsZmF2b3JpdGVzOnQsZmF2b3JpdGVGdW5kYW1lbnRhbHM6byxpc0xvYWRpbmc6c309dGhpcy5zdGF0ZSx7Y2xhc3NOYW1lOnIsZGlzcGxheU1vZGU6ZCxpZDpjfT10aGlzLnByb3BzLHtjaGFydFdpZGdldENvbGxlY3Rpb246aH09dGhpcy5jb250ZXh0LHY9KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoaS5GcmFnbWVudCxudWxsLGkuY3JlYXRlRWxlbWVudChwLlRvb2xXaWRnZXRSb3dXcmFwLHtpZDpjLG9uTW91c2VFbnRlcjp0aGlzLl9oYW5kbGVNb3VzZUVudGVyLG9uQ2xpY2s6dGhpcy5faGFuZGxlV3JhcENsaWNrfSxpLmNyZWF0ZUVsZW1lbnQoJC5Ub29sYmFyQ29sbGFwc2libGVCdXR0b24se2Rpc3BsYXlNb2RlOmQsY2xhc3NOYW1lOnIsaWNvbjpNZSxpc09wZW5lZDplLG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2ssdGV4dDp1LnQobnVsbCx2b2lkIDAsbig4NDgzOTQpKSwiZGF0YS1yb2xlIjoiYnV0dG9uIiwiZGF0YS1uYW1lIjoib3Blbi1pbmRpY2F0b3JzLWRpYWxvZyIsdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAsbigxNzQ0ODIpKSwiZGF0YS10b29sdGlwLWhvdGtleSI6SWUsY29sbGFwc2VXaGVuOigwLAphLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoZWFkZXJfaW5kaWNhdG9yc19pY29uX29ubHkiKT9bImZ1bGwiXTp2b2lkIDB9KSxCb29sZWFuKHQubGVuZ3RoPjB8fG8/LnNpemUpJiZpLmNyZWF0ZUVsZW1lbnQody5NYXRjaE1lZGlhLHtydWxlOiIobWF4LXdpZHRoOiA0NDBweCkifSwoZT0+aS5jcmVhdGVFbGVtZW50KG0uVG9vbGJhck1lbnVCdXR0b24se2tleTpoLmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCkuaWQoKSxhcnJvdzohMCxjbG9zZU9uQ2xpY2tPdXRzaWRlOiEwLGlzRHJhd2VyOmUsZHJhd2VyUG9zaXRpb246IkJvdHRvbSIscmVmOnRoaXMuX21lbnUsbWVudVJlZmVyZW5jZTp0aGlzLl9tZW51SXRlbXNDb250YWluZXIsb25DbGljazp0aGlzLl9oYW5kbGVGYXZvcml0ZU1lbnVDbGljaywiZGF0YS1uYW1lIjoic2hvdy1mYXZvcml0ZS1pbmRpY2F0b3JzIix0b29sdGlwOnUudChudWxsLHtjb250ZXh0OiJ0b29sYmFyX2Zhdm9yaXRlX2luZGljYXRvcnNfdG9vbHRpcCJ9LG4oMTMzOTcpKSxtZW51Um9sZToibWVudSIsbWVudUNsYXNzTmFtZTprZS5tZW51LGVuYWJsZVNjcm9sbENvbXBlbnNhdGlvbjp2fSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoa2UuZHJvcGRvd24sZSYma2Uuc21hbGxXaWR0aFdyYXBwZXIsdiYma2UubmV3Vmlldyl9LCF2JiZpLmNyZWF0ZUVsZW1lbnQocGUuVG9vbFdpZGdldE1lbnVTdW1tYXJ5LHtjbGFzc05hbWU6ZSYma2Uuc21hbGxXaWR0aFRpdGxlfSx1LnQobnVsbCx7Y29udGV4dDoiaW5kaWNhdG9yc19tZW51In0sbig2MjkzODQpKSksdGhpcy5fcmVuZGVyRmF2b3JpdGVzTGlzdE9yRW1wdHlTdGF0ZShlLHYscykpKSkpKSl9X3ByZWZldGNoRmF2b3JpdGVzKCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dDtpZihudWxsIT09dGhpcy5fcHJvbWlzZXx8IXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKXJldHVybjtpZighZS5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpLmhhc01vZGVsKCkpcmV0dXJuO3RoaXMuc2V0U3RhdGUoe2lzTG9hZGluZzohMH0pO2NvbnN0IHQ9dGhpcy5zdGF0ZS5mYXZvcml0ZUZ1bmRhbWVudGFscyxuPXRoaXMuX3Byb21pc2U9UHJvbWlzZS5hbGwoW2NlKHRoaXMuc3RhdGUuZmF2b3JpdGVzKSx0P1Byb21pc2UucmVzb2x2ZSgoMCxyZS5yZXF1ZXN0RnVuZGFtZW50YWxTY3JpcHRzKSgpKTp2b2lkIDBdKS50aGVuKChlPT57aWYobiE9PXRoaXMuX3Byb21pc2UpcmV0dXJuO2NvbnN0W3QsYV09ZTtsZXQgaT1bLi4udF07aWYoYSl7Y29uc3QgZT1hLmZpbHRlcigoZT0+dGhpcy5zdGF0ZS5mYXZvcml0ZUZ1bmRhbWVudGFscz8uaGFzKGUuc2NyaXB0SWRQYXJ0KSkpLm1hcCh0aGlzLl9tYXBGdW5kYW1lbnRhbFRvRmF2b3JpdGVJdGVtSW5mbyk7aS5wdXNoKC4uLmUpfWk9Wy4uLmldLnNvcnQoKChlLHQpPT5IZShlKS5sb2NhbGVDb21wYXJlKEhlKHQpKSkpLHRoaXMuc2V0U3RhdGUoe2luZm9zOmksaXNMb2FkaW5nOiExfSwoKCk9Pnt0aGlzLl9tZW51LmN1cnJlbnQ/LnVwZGF0ZSgpLHRoaXMuX21lbnVJdGVtc0NvbnRhaW5lci5jdXJyZW50JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09dGhpcy5fbWVudUl0ZW1zQ29udGFpbmVyLmN1cnJlbnQmJigwLGllLmZvY3VzRmlyc3RNZW51SXRlbSkodGhpcy5fbWVudUl0ZW1zQ29udGFpbmVyLmN1cnJlbnQpfSkpfSkpfV90cmFja0NsaWNrKCl7KDAsRC50cmFja0J1dHRvbkNsaWNrKSgidG9wIHRvb2xiYXIiLCJpbmRpY2F0b3JzIix2b2lkIDAsITApfV90cmFja0Zhdm9yaXRlQWN0aW9uKGUpeygwLFgudHJhY2tFdmVudCkoIkdVSSIsIkNoYXJ0IEhlYWRlciBUb29sYmFyIixlKX1fbWFwRnVuZGFtZW50YWxUb0Zhdm9yaXRlSXRlbUluZm8oZSl7cmV0dXJue2l0ZW06e3R5cGU6InBpbmUiLHBpbmVJZDplLnNjcmlwdElkUGFydH0saW5mbzp7bmFtZTplLnNjcmlwdE5hbWUsbG9jYWxpemVkTmFtZTpFZShlKSxzdHVkeU1hcmtldFNoaXR0eU9iamVjdDp2b2lkIDB9fX19ZnVuY3Rpb24gSGUoZSl7cmV0dXJuIGUuaW5mby5sb2NhbGl6ZWROYW1lfHx1LnQoZS5pbmZvLm5hbWUse2NvbnRleHQ6InN0dWR5In0sbig4ODQ2OTMpKX1BZS5jb250ZXh0VHlwZT1UZTt2YXIgVmU9big0NjUxMzcpLFJlPW4oMjU0NjczKSxGZT1uKDI1MTcyMyk7ZnVuY3Rpb24gTGUoZSl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShGZS52YWx1ZSx7W0ZlLnNlbGVjdGVkXTplLmlzU2VsZWN0ZWR9KX0sZS52YWx1ZSxlLm1ldHJpYyl9dmFyIFplPW4oOTQ4MzgwKSxOZT1uKDYzMjk5MiksemU9bigyNzYwMTkpLEJlPW4oMjY0MzE4KSxPZT1uKDE4MjMwOCk7ZnVuY3Rpb24gRGUoZSl7Y29uc3RbdCxuXT0oMCxPZS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoQmUuQ2xpY2thYmxlSWNvbkJ1dHRvbix7Li4uZSxyZWY6dCx0YWJJbmRleDpufSl9dmFyIFdlPW4oNDYyNzA0KTtmdW5jdGlvbiBQZShlKXtjb25zdHtpbnRlcnZhbDp0LGhpbnQ6YSxhcmlhTGV2ZWw6byxpc1NlbGVjdGVkOnMsaXNEaXNhYmxlZDpsLGlzRmF2b3JpdGU6cixpc1JlbW92YWJsZTpkLGlzRmF2b3JpdGluZ0FsbG93ZWQ6Yyxpc1NpZ25hbGluZzpoLG9uQ2xpY2s6dixvbkNsaWNrUmVtb3ZlOm0sb25DbGlja0Zhdm9yaXRlOnAsc2Nyb2xsQ29udGFpbmVyUmVmOmZ9PWUsZz0oMCxpLnVzZUNhbGxiYWNrKSgoZT0+bSh0LGUpKSxbbSx0XSksYj0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9PnAodCkpLFtwLHRdKSx3PSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+dih0KSksW3YsdF0pLEM9My0oKGQ/MTowKSsoYz8xOjApKSxfPSgwLGkudXNlUmVmKShudWxsKTtyZXR1cm4oMCxpLnVzZUVmZmVjdCkoKCgpPT57aWYoaCl7Y29uc3QgZT1fLmN1cnJlbnQ7aWYoZSYmZi5jdXJyZW50KXtjb25zdCB0PWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj1mLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7KG4udG9wPnQudG9wfHxuLmJvdHRvbTx0LmJvdHRvbSkmJmUuc2Nyb2xsSW50b1ZpZXcoKX19fSksW2gsZl0pLAppLmNyZWF0ZUVsZW1lbnQoUi5NZW51SXRlbSx7cm9sZToicm93IixhcmlhTGV2ZWw6byxhcmlhU2VsZWN0ZWQ6cyxzZWxlY3RlZDpzLGRpc2FibGVkOmwsb25DbGljazp3LHJpZ2h0U2xvdDpmdW5jdGlvbigpe2lmKCFkJiYhYylyZXR1cm4gbnVsbDtyZXR1cm5bZCYmaS5jcmVhdGVFbGVtZW50KEwuQ29udGV4dEFjdGlvbix7a2V5OiJyZW1vdmUiLGhpZGVJZk5vSG92ZXI6ITAscm9sZToiZ3JpZGNlbGwifSxpLmNyZWF0ZUVsZW1lbnQoRGUse3JvbGU6ImJ1dHRvbiIsb25DbGljazpnLHRpdGxlOnUudChudWxsLHtjb250ZXh0OiJoZWFkZXIgdG9vbGJhciBpbnRlcnZhbHMgbWVudSBpdGVtIn0sbig0NDAyNTEpKSxpY29uOldlLGRhdGFRYUlkOiJyZW1vdmUtaW50ZXJ2YWwtYnV0dG9uIn0pKSxjJiZpLmNyZWF0ZUVsZW1lbnQoTC5Db250ZXh0QWN0aW9uLHtrZXk6ImZhdm9yaXRlIixoaWRlSWZOb0hvdmVyOiFyLHJvbGU6ImdyaWRjZWxsIn0saS5jcmVhdGVFbGVtZW50KEYuRmF2b3JpdGVJY29uQnV0dG9uLHtpc0Zhdm9yaXRlOiEhcixvbkNsaWNrOmJ9KSldfSgpLHRpdGxlOmkuY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6ImdyaWRjZWxsIiwiYXJpYS1jb2xzcGFuIjpDfSxhKSxhcmlhTGFiZWw6YSwiZGF0YS12YWx1ZSI6dCwiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGxpc3RJdGVtUmVmOl8sZGF0YVFhSWQ6ImludGVydmFsLW1lbnUtaXRlbSJ9KX12YXIgVWU9big2ODk4OTQpLGplPW4oMzYzMjY5KSxLZT1uKDkxNzgxNyksUWU9big5NzM2OSk7ZnVuY3Rpb24gcWUoZSl7Y29uc3R7cm9sZTp0LGludGVydmFsOm4saGludDphLGlzQWN0aXZlOm8saXNEaXNhYmxlZDpzLGlzRmF2b3JpdGU6cixpc1JlbW92YWJsZTpkLGlzRmF2b3JpdGluZ0FsbG93ZWQ6dSxpc1NpZ25hbGluZzpjLG9uQ2xpY2s6aCxvbkNsaWNrUmVtb3ZlOnYsb25DbGlja0Zhdm9yaXRlOm0saXNTbWFsbFRhYmxldDpwLHNjcm9sbENvbnRhaW5lclJlZjpmLC4uLmd9PWUsW2Isd109KDAsVWUudXNlSG92ZXJEZXByZWNhdGVkKSgpLEM9aS51c2VDYWxsYmFjaygoZT0+dihuLGUpKSxbdixuXSkseT1pLnVzZUNhbGxiYWNrKCgoKT0+bShuKSksW20sbl0pLFM9KDAsaS51c2VSZWYpKG51bGwpO3JldHVybigwLGkudXNlRWZmZWN0KSgoKCk9PntpZihjKXtjb25zdCBlPVMuY3VycmVudDtpZihlJiZmLmN1cnJlbnQpe2NvbnN0IHQ9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsobi50b3A+dC50b3B8fG4uYm90dG9tPHQuYm90dG9tKSYmZS5zY3JvbGxJbnRvVmlldygpfX19KSxbYyxmXSksaS5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi53LHJlZjpTfSxpLmNyZWF0ZUVsZW1lbnQoQS5BY2Nlc3NpYmxlTWVudUl0ZW0sey4uLmcscm9sZTp0LGNsYXNzTmFtZTpsKCkoUWUubWVudUl0ZW0scCYmUWUuc21hbGxXaWR0aE1lbnVJdGVtLGMmJlFlLnNpZ25hbCksdGhlbWU6cD9fLm11bHRpbGluZUxhYmVsV2l0aEljb25BbmRUb29sYm94VGhlbWU6dm9pZCAwLGlzQWN0aXZlOm8saXNEaXNhYmxlZDpzLG9uQ2xpY2s6aCxvbkNsaWNrQXJnOm4sdG9vbGJveDpmdW5jdGlvbigpe2NvbnN0IGU9aS5jcmVhdGVFbGVtZW50KEtlLk1lbnVSZW1vdmVCdXR0b24se2tleToicmVtb3ZlIixpc0FjdGl2ZTpvLGhpZGRlbjohamUudG91Y2gmJiFiLG9uQ2xpY2s6QyxjbGFzc05hbWU6UWUucmVtb3ZlLGRhdGFRYUlkOiJyZW1vdmUtaW50ZXJ2YWwtYnV0dG9uIn0pLHQ9aS5jcmVhdGVFbGVtZW50KEguTWVudUZhdm9yaXRlQnV0dG9uLHtrZXk6ImZhdm9yaXRlIixpc0FjdGl2ZTpvLGlzRmlsbGVkOnIsb25DbGljazp5fSk7cmV0dXJuW2QmJmUsdSYmdF19KCksc2hvd1Rvb2xib3hPbkhvdmVyOiFyLHNob3dUb29sYm94T25Gb2N1czohMCxsYWJlbDphLGRhdGFRYUlkOiJpbnRlcnZhbC1tZW51LWl0ZW0ifSkpfXZhciAkZT1uKDM1OTg0NiksWGU9big3NjI4NTEpLEdlPW4oNzc4MDc3KSxKZT1uKDM2MzgwOCk7ZnVuY3Rpb24gWWUoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsLi4ubn09ZSxbYSxvXT0oMCxPZS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoR2UuQ29sbGFwc2libGVTZWN0aW9uLHsuLi5uLHJlZjphLHRhYkluZGV4Om8sImRhdGEtcm9sZSI6Im1lbnVpdGVtIixjbGFzc05hbWU6bCgpKEplLmFjY2Vzc2libGUsdCksb25LZXlEb3duOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsTS5oYXNoRnJvbUV2ZW50KShlKTsxMyE9PXQmJjMyIT09dHx8KGUucHJldmVudERlZmF1bHQoKSxhLmN1cnJlbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmYS5jdXJyZW50LmNsaWNrKCkpfX0pfXZhciBldD1uKDcxOTkpO2Z1bmN0aW9uIHR0KGUpe2NvbnN0e2NoaWxkcmVuOnQsdGl0bGU6bixjbGFzc05hbWU6YX09ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YX0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6ZXQuc21hbGxUYWJsZXRTZWN0aW9uVGl0bGV9LG4pLHQpfXZhciBudD1uKDY1NzgwOSksYXQ9bigyNjYxMDApO2Z1bmN0aW9uIGl0KGUpe2NvbnN0e2ludGVydmFsczp0LGlzQ3VzdG9tSW50ZXJ2YWxzRW5hYmxlZDphLGlzRmF2b3JpdGluZ0FsbG93ZWQ6byxhY3RpdmVJbnRlcnZhbDpzLGxhc3RBZGRlZEludGVydmFsOnIsbWVudVZpZXdTdGF0ZTpjLGludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlOmgsc2Nyb2xsQ29udGFpbmVyUmVmOnYsb25PcGVuQWRkSW50ZXJ2YWxEaWFsb2c6bSxvblNlbGVjdEludGVydmFsOnAsb25SZW1vdmVJbnRlcnZhbDpmLG9uQ2xpY2tGYXZvcml0ZTpnLG9uU2VjdGlvblN0YXRlQ2hhbmdlOncsaXNJbnRlcnZhbEZhdm9yaXRlOkMsaXNJbnRlcnZhbERlZmF1bHQ6Xyxpc1NtYWxsVGFibGV0Onksdmlld01vZGU6U309ZSx4PSgwLCRlLnNvcnRSZXNvbHV0aW9uc0J5Q2F0ZWdvcmllcykodCksRT1hPzE6MCxNPXgubGVuZ3RoK0U7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsZnVuY3Rpb24oKXtpZighYSlyZXR1cm5bXTtjb25zdCBlPXUudChudWxsLHsKY29udGV4dDoiaGVhZGVyIHRvb2xiYXIgaW50ZXJ2YWxzIG1lbnUgaXRlbSJ9LG4oNTcyMjM5KSk7aWYoImxlZ2FjeSI9PT1TKXJldHVybltpLmNyZWF0ZUVsZW1lbnQoQS5BY2Nlc3NpYmxlTWVudUl0ZW0se2tleToiYWRkLWRpYWxvZyIscm9sZToicm93IiwiYXJpYS1oYXNwb3B1cCI6ImRpYWxvZyIsImFyaWEtbGV2ZWwiOjEsImFyaWEtcG9zaW5zZXQiOjEsImFyaWEtc2V0c2l6ZSI6TSxjbGFzc05hbWU6bCgpKG50LmFkZEN1c3RvbUludGVydmFsLCF5JiZudC5hZGRDdXN0b21JbnRlcnZhbERlc2t0b3ApLG9uQ2xpY2s6bSxsYWJlbDooMCxYZS5hcHBlbmRFbGxpcHNpcykoZSksaWNvbjphdCxkb250Q2xvc2VQb3B1cDohMCxkYXRhUWFJZDoiYWRkLWN1c3RvbS1pbnRlcnZhbC1idXR0b24ifSksaygiY3VzdG9tLWludGVydmFsLXNlcGFyYXRvciIpXTtyZXR1cm5baS5jcmVhdGVFbGVtZW50KFIuTWVudUl0ZW0se2tleToiYWRkLWRpYWxvZyIscm9sZToicm93IixhcmlhSGFzcG9wdXA6ImRpYWxvZyIsYXJpYUxhYmVsOmUsYXJpYUxldmVsOjEsdGl0bGU6aS5jcmVhdGVFbGVtZW50KCJzcGFuIix7cm9sZToiZ3JpZGNlbGwiLCJhcmlhLWNvbHNwYW4iOjN9LCgwLFhlLmFwcGVuZEVsbGlwc2lzKShlKSksbGVmdFNsb3Q6aS5jcmVhdGVFbGVtZW50KFYuU3ZnSWNvbkxpc3RJdGVtUGFydCx7aWNvblN2ZzphdH0pLG9uQ2xpY2s6bSxkb250Q2xvc2VQb3B1cDohMCwiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGRhdGFRYUlkOiJhZGQtY3VzdG9tLWludGVydmFsLWJ1dHRvbiJ9KSxrKCJjdXN0b20taW50ZXJ2YWwtZGl2aWRlciIpXX0oKSxmdW5jdGlvbigpe2NvbnN0IGU9MT09PXgubGVuZ3RoLHQ9eC5tYXAoKCh0LG4pPT5mdW5jdGlvbihlKXtjb25zdHtncm91cDp0LGlzU2luZ2xlOm4sYXJpYVBvc0luU2V0OmEsYXJpYVNldFNpemU6bH09ZSxkPVtdLHU9bj8xOjIsbT10Lml0ZW1zLm1hcCgoKGUsbik9PmZ1bmN0aW9uKGUpe2NvbnN0e2ludGVydmFsOnQsYXJpYUxldmVsOm4sYXJpYVBvc0luU2V0OmEsYXJpYVNldFNpemU6bH09ZSxkPXQ9PT1zO2lmKCJsZWdhY3kiPT09UylyZXR1cm4gaS5jcmVhdGVFbGVtZW50KHFlLHtrZXk6dCxyb2xlOiJyb3ciLCJhcmlhLWxldmVsIjpuLCJhcmlhLXBvc2luc2V0IjphLCJhcmlhLXNldHNpemUiOmwsImFyaWEtc2VsZWN0ZWQiOmQsaXNTbWFsbFRhYmxldDp5LGludGVydmFsOnQsaGludDooMCxWZS5nZXRUcmFuc2xhdGVkUmVzb2x1dGlvbk1vZGVsKSh0KS5oaW50LGlzU2lnbmFsaW5nOnI9PT10LGlzRmF2b3JpdGluZ0FsbG93ZWQ6byxpc0Rpc2FibGVkOiEoMCxWZS5pc0F2YWlsYWJsZSkodCksaXNGYXZvcml0ZTpDKHQpLGlzUmVtb3ZhYmxlOiFfKHQpLGlzQWN0aXZlOmQsb25DbGljazpwLG9uQ2xpY2tSZW1vdmU6ZixvbkNsaWNrRmF2b3JpdGU6ZyxzY3JvbGxDb250YWluZXJSZWY6diwiZGF0YS12YWx1ZSI6dH0pO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoUGUse2tleTp0LGludGVydmFsOnQsYXJpYUxldmVsOm4saGludDooMCxWZS5nZXRUcmFuc2xhdGVkUmVzb2x1dGlvbk1vZGVsKSh0KS5oaW50LGlzU2lnbmFsaW5nOnI9PT10LGlzRmF2b3JpdGluZ0FsbG93ZWQ6byxpc0Rpc2FibGVkOiEoMCxWZS5pc0F2YWlsYWJsZSkodCksaXNGYXZvcml0ZTpDKHQpLGlzUmVtb3ZhYmxlOiFfKHQpLGlzU2VsZWN0ZWQ6ZCxvbkNsaWNrOnAsb25DbGlja1JlbW92ZTpmLG9uQ2xpY2tGYXZvcml0ZTpnLHNjcm9sbENvbnRhaW5lclJlZjp2fSl9KHtpbnRlcnZhbDplLGFyaWFMZXZlbDp1LGFyaWFQb3NJblNldDpuKzEsYXJpYVNldFNpemU6dC5pdGVtcy5sZW5ndGh9KSkpO2lmKG4pZC5wdXNoKC4uLm0pO2Vsc2UgaWYoImxlZ2FjeSI9PT1TJiZ5KWQucHVzaChpLmNyZWF0ZUVsZW1lbnQodHQse2tleTp0LmlkLHRpdGxlOnQubmFtZX0sbSkpO2Vsc2UgaWYoImxlZ2FjeSI9PT1TKXtpZighaC5pc0FsbG93ZWQodC5pZCkpcmV0dXJuW107ZC5wdXNoKGkuY3JlYXRlRWxlbWVudChZZSx7a2V5OnQuaWQscm9sZToicm93IiwiYXJpYS1wb3NpbnNldCI6YSwiYXJpYS1zZXRzaXplIjpsLCJhcmlhLWxldmVsIjoxLGNsYXNzTmFtZTpudC5zZWN0aW9uLHN1bW1hcnk6dC5uYW1lLG9wZW46IWNbdC5pZF0sb25TdGF0ZUNoYW5nZTp3KHQuaWQpfSxtKSl9ZWxzZXtpZighaC5pc0FsbG93ZWQodC5pZCkpcmV0dXJuW107Y29uc3QgZT10LmlkLG49IXksYT1jW2VdPz8hMSxvPW4/KCk9PncoZSkoYSk6dm9pZCAwO2QucHVzaChpLmNyZWF0ZUVsZW1lbnQoYmUuU2VjdGlvbkxpc3RJdGVtLHtrZXk6ZSx0aXRsZTppLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJncmlkY2VsbCIsImFyaWEtY29sc3BhbiI6M30sdC5uYW1lKSxhcmlhTGFiZWw6dC5uYW1lLGlzV3JhcHBlZDpuP2E6dm9pZCAwLG9uQ2xpY2s6bj9vOnZvaWQgMCxpdGVtUm9sZToicm93IiwiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGdyb3VwUm9sZToicm93Z3JvdXAiLGFyaWFMZXZlbDoxfSxtKSl9KCF0Lm1heU9taXRTZXBhcmF0b3J8fHQuaXRlbXMubGVuZ3RoPjEpJiYoZC51bnNoaWZ0KGsoYGJlZ2luLSR7dC5uYW1lfWApKSxkLnB1c2goayhgZW5kLSR7dC5uYW1lfWApKSk7cmV0dXJuIGR9KHtncm91cDp0LGlzU2luZ2xlOmUsYXJpYVBvc0luU2V0Om4rMStFLGFyaWFTZXRTaXplOk19KSkpLG49W10uY29uY2F0KC4uLnQpO3JldHVybigwLCRlLmNvbGxhcHNlU2VwYXJhdG9ycykobil9KCkpO2Z1bmN0aW9uIGsoZSl7cmV0dXJuImxlZ2FjeSI9PT1TP2kuY3JlYXRlRWxlbWVudChiLlBvcHVwTWVudVNlcGFyYXRvcix7a2V5OmV9KTppLmNyZWF0ZUVsZW1lbnQoZC5EaXZpZGVyTGlzdEl0ZW0se3JvbGU6InNlcGFyYXRvciIsa2V5OmV9KX19dmFyIG90PW4oNDUwMjcxKTtjb25zdCBzdD17dGltZUludGVydmFsOnUudChudWxsLHZvaWQgMCxuKDY5NDYzNykpfSxsdD0oMCxvZS5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOlsiLCJdLHRleHQ6dS50KG51bGwsdm9pZCAwLG4oNTQ4NjkwKSl9KSxydD0oMCx5LnJlZ2lzdHJ5Q29udGV4dFR5cGUpKCksZHQ9bmV3IFplLkRlbGVnYXRlLHV0PWkubGF6eSgoYXN5bmMoKT0+KHsKZGVmYXVsdDooYXdhaXQgUHJvbWlzZS5hbGwoW24uZSg2NDM2MSksbi5lKDI5Mjk2KSxuLmUoNTIzOTYpLG4uZSg2MDA2Miksbi5lKDIwMzU0KSxuLmUoMTM0OTIpLG4uZSgzNzc0Niksbi5lKDE5NTk1KSxuLmUoMTk3ODcpLG4uZSg4NTc5KSxuLmUoMTAzODUpLG4uZSg1MjA2NSksbi5lKDY2MDUpLG4uZSg3NDM4MSksbi5lKDU3MzAwKSxuLmUoNDA4NjcpLG4uZSg1MDgwMCksbi5lKDI3MzM3KSxuLmUoNDkxNDkpLG4uZSgzOTYwOSksbi5lKDY4MzA0KSxuLmUoNTE2ODYpXSkudGhlbihuLmJpbmQobiwyNTAwMjUpKSkuVG9vbFdpZGdldEludGVydmFsc0FkZERpYWxvZ30pKSk7Y2xhc3MgY3QgZXh0ZW5kcyBpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuX2RlZmF1bHRJbnRlcnZhbHM9W10sdGhpcy5fbWVudT1pLmNyZWF0ZVJlZigpLHRoaXMuX21lbnVJdGVtc0NvbnRhaW5lclJlZj1pLmNyZWF0ZVJlZigpLHRoaXMuX2RyYXdlckNvbnRhaW5lclJlZj1pLmNyZWF0ZVJlZigpLHRoaXMuX2hhbmRsZUNoYW5nZUludGVydmFsPSgpPT57Y29uc3QgZT1jLmxpbmtpbmcuaW50ZXJ2YWwudmFsdWUoKSx7YWN0aXZlSW50ZXJ2YWw6dCxsYXN0Tm90UXVpY2tlZDpufT10aGlzLnN0YXRlLGE9dGhpcy5fZ2V0UXVpY2tzKCk7dGhpcy5zZXRTdGF0ZSh7YWN0aXZlSW50ZXJ2YWw6KDAsVmUubm9ybWFsaXplSW50ZXJ2YWxTdHJpbmcpKGUpLGxhc3ROb3RRdWlja2VkOnZvaWQgMD09PXR8fGEuaW5jbHVkZXModCk/bjp0fSl9LHRoaXMuX2hhbmRsZUNoYW5nZVN1cHBvcnRlZFJlc29sdXRpb25zPWU9Pnt0aGlzLl91cGRhdGVEZWZhdWx0SW50ZXJ2YWxzKCksdGhpcy5mb3JjZVVwZGF0ZSgpfSx0aGlzLl9iaW5kZWRGb3JjZVVwZGF0ZT0oKT0+e3RoaXMuZm9yY2VVcGRhdGUoKX0sdGhpcy5faXNJbnRlcnZhbERlZmF1bHQ9ZT0+dGhpcy5fZGVmYXVsdEludGVydmFscy5pbmNsdWRlcyhlKSx0aGlzLl9pc0ludGVydmFsRmF2b3JpdGU9ZT0+dGhpcy5zdGF0ZS5mYXZvcml0ZXMuaW5jbHVkZXMoZSksdGhpcy5faGFuZGxlU2VsZWN0SW50ZXJ2YWw9KGUsdCxuKT0+e2NvbnN0IGE9Yy5saW5raW5nLmludGVydmFsLnZhbHVlKCk7dm9pZCAwPT09ZXx8UmUuSW50ZXJ2YWwuaXNFcXVhbChlLGEpfHxjLmxpbmtpbmcuc2V0SW50ZXJ2YWxBbmRMb2dJbml0aWF0b3IoZSxuPz8iSGVhZGVyIHRvb2xiYXIiKSxlJiYoMCxYLnRyYWNrRXZlbnQpKCJHVUkiLCJUaW1lIEludGVydmFsIixlKX0sdGhpcy5faGFuZGxlQ2xpY2tGYXZvcml0ZT1lPT57ZT0oMCxuZS5lbnN1cmVEZWZpbmVkKShlKSx0aGlzLl9pc0ludGVydmFsRmF2b3JpdGUoZSk/dGhpcy5faGFuZGxlUmVtb3ZlRmF2b3JpdGUoZSk6dGhpcy5faGFuZGxlQWRkRmF2b3JpdGUoZSl9LHRoaXMuX2hhbmRsZUFkZEZhdm9yaXRlPWU9Pntjb25zdHtmYXZvcml0ZXM6dH09dGhpcy5zdGF0ZTt0aGlzLmNvbnRleHQuZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlLnNldChbLi4udCxlXSl9LHRoaXMuX2hhbmRsZVJlbW92ZUZhdm9yaXRlPWU9Pntjb25zdHtmYXZvcml0ZXM6dH09dGhpcy5zdGF0ZTt0aGlzLmNvbnRleHQuZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlLnNldCh0LmZpbHRlcigodD0+dCE9PWUpKSl9LHRoaXMuX2hhbmRsZUFkZEludGVydmFsPShlLHQpPT57Y29uc3R7aW50ZXJ2YWxTZXJ2aWNlOm4saW50ZXJ2YWxzTWVudVZpZXdTdGF0ZVNlcnZpY2U6YX09dGhpcy5jb250ZXh0LHttZW51Vmlld1N0YXRlOml9PXRoaXMuc3RhdGUsbz1uLmFkZChlLHQpO2lmKG8pe3RoaXMuc2V0U3RhdGUoe2xhc3RBZGRlZEludGVydmFsOm99KTtjb25zdCBlPVJlLkludGVydmFsLnBhcnNlRXh0KG8pO2lmKGUuaW50ZXJ2YWwuaXNNaW51dGVIb3VycygpKXJldHVybiB2b2lkIGEuc2V0KHsuLi5pLFtSZS5TcGVjaWFsUmVzb2x1dGlvbktpbmQuSG91cnNdOiExfSk7Y29uc3QgdD1lLmd1aVJlc29sdXRpb25LaW5kO2lmKHQ9PT1SZS5SZXNvbHV0aW9uS2luZC5EYXlzfHx0PT09UmUuUmVzb2x1dGlvbktpbmQuV2Vla3N8fHQ9PT1SZS5SZXNvbHV0aW9uS2luZC5Nb250aHMpcmV0dXJuIHZvaWQgYS5zZXQoey4uLmksW1JlLlJlc29sdXRpb25LaW5kLkRheXNdOiExfSk7YS5zZXQoey4uLmksW3RdOiExfSl9fSx0aGlzLl9oYW5kbGVSZW1vdmVJbnRlcnZhbD0oZSx0KT0+e2NvbnN0e2ludGVydmFsU2VydmljZTpufT10aGlzLmNvbnRleHQsYT10aGlzLl9tZW51SXRlbXNDb250YWluZXJSZWYuY3VycmVudDtpZihlKXtpZih0JiYoMCxHLmlzS2V5Ym9hcmRDbGljaykodCkmJmEpe2NvbnN0IHQ9KDAsaWUucXVlcnlNZW51RWxlbWVudHMpKGEpLG49dC5maW5kSW5kZXgoKHQ9PnQubWF0Y2hlcyhgW2RhdGEtdmFsdWU9IiR7ZX0iXWApKSk7aWYoLTEhPT1uKXtjb25zdCBlPXRbbisxXT8/dFtuLTFdO2U/ZS5mb2N1cygpOigwLGllLmZvY3VzRmlyc3RNZW51SXRlbSkoYSl9fW4ucmVtb3ZlKGUpLHRoaXMuX2hhbmRsZVJlbW92ZUZhdm9yaXRlKGUpfX0sdGhpcy5fZ2V0SGFuZGxlU2VjdGlvblN0YXRlQ2hhbmdlPWU9PnQ9Pntjb25zdHttZW51Vmlld1N0YXRlOm59PXRoaXMuc3RhdGUse2ludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlOmF9PXRoaXMuY29udGV4dDthLnNldCh7Li4ubixbZV06IXR9KX0sdGhpcy5faGFuZGxlT3BlbkFkZEludGVydmFsRGlhbG9nPSgpPT57dGhpcy5zZXRTdGF0ZSh7aXNBZGRJbnRlcnZhbERpYWxvZ09wZW5lZDohMH0pfSx0aGlzLl9oYW5kbGVDbG9zZUFkZEludGVydmFsRGlhbG9nPSgpPT57dGhpcy5zZXRTdGF0ZSh7aXNBZGRJbnRlcnZhbERpYWxvZ09wZW5lZDohMX0pfSx0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZT0oKT0+e2NvbnN0e2lzRmFrZTplfT10aGlzLnByb3BzLHtpc0FkZEludGVydmFsRGlhbG9nT3BlbmVkOnR9PXRoaXMuc3RhdGU7ZXx8dHx8ZHQuZmlyZSgpfSx0aGlzLl9oYW5kZVF1aWNrQ2xpY2s9ZT0+e3RoaXMuX2hhbmRsZVNlbGVjdEludGVydmFsKGUsdm9pZCAwLCJGYXZvcml0ZXMiKSx0aGlzLl90cmFja0NsaWNrKCl9LCgwLHkudmFsaWRhdGVSZWdpc3RyeSkodCx7CmNoYXJ0QXBpSW5zdGFuY2U6by5hbnkuaXNSZXF1aXJlZCxmYXZvcml0ZUludGVydmFsc1NlcnZpY2U6by5hbnkuaXNSZXF1aXJlZCxpbnRlcnZhbFNlcnZpY2U6by5hbnkuaXNSZXF1aXJlZCxpbnRlcnZhbHNNZW51Vmlld1N0YXRlU2VydmljZTpvLmFueS5pc1JlcXVpcmVkfSk7Y29uc3R7ZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlOm4saW50ZXJ2YWxTZXJ2aWNlOnMsaW50ZXJ2YWxzTWVudVZpZXdTdGF0ZVNlcnZpY2U6bH09dDt0aGlzLl9jdXN0b21JbnRlcnZhbHM9KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY3VzdG9tX3Jlc29sdXRpb25zIik7Y29uc3Qgcj1jLmxpbmtpbmcuaW50ZXJ2YWwudmFsdWUoKSxkPXImJigwLFZlLm5vcm1hbGl6ZUludGVydmFsU3RyaW5nKShyKSx1PW4uZ2V0KCksaD1zLmdldEN1c3RvbUludGVydmFscygpLHY9bC5nZXQoKTt0aGlzLl91cGRhdGVEZWZhdWx0SW50ZXJ2YWxzKCksdGhpcy5zdGF0ZT17YWN0aXZlSW50ZXJ2YWw6ZCxmYXZvcml0ZXM6dSxjdXN0b21zOmgsbWVudVZpZXdTdGF0ZTp2LGlzQWRkSW50ZXJ2YWxEaWFsb2dPcGVuZWQ6ITF9fWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7ZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlOmUsaW50ZXJ2YWxTZXJ2aWNlOnQsaW50ZXJ2YWxzTWVudVZpZXdTdGF0ZVNlcnZpY2U6bn09dGhpcy5jb250ZXh0O2UuZ2V0T25DaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVDaGFuZ2VGYXZvcml0ZXMpLG4uZ2V0T25DaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVDaGFuZ2VNZW51Vmlld1N0YXRlKSx0LmdldE9uQ2hhbmdlKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5faGFuZGxlQ2hhbmdlQ3VzdG9tcyksYy5saW5raW5nLmludGVydmFsLnN1YnNjcmliZSh0aGlzLl9oYW5kbGVDaGFuZ2VJbnRlcnZhbCksYy5saW5raW5nLmludHJhZGF5LnN1YnNjcmliZSh0aGlzLl9iaW5kZWRGb3JjZVVwZGF0ZSksYy5saW5raW5nLnNlY29uZHMuc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSxjLmxpbmtpbmcudGlja3Muc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSxjLmxpbmtpbmcucmFuZ2Uuc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSxjLmxpbmtpbmcuc3VwcG9ydGVkUmVzb2x1dGlvbnMuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZUNoYW5nZVN1cHBvcnRlZFJlc29sdXRpb25zKSxjLmxpbmtpbmcuZGF0YUZyZXF1ZW5jeVJlc29sdXRpb24uc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSx6ZS5nbG9iYWxDbG9zZURlbGVnYXRlLnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2NvbnN0e2Zhdm9yaXRlSW50ZXJ2YWxzU2VydmljZTplLGludGVydmFsU2VydmljZTp0LGludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlOm59PXRoaXMuY29udGV4dDtlLmdldE9uQ2hhbmdlKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVDaGFuZ2VGYXZvcml0ZXMpLG4uZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUNoYW5nZU1lbnVWaWV3U3RhdGUpLHQuZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUNoYW5nZUN1c3RvbXMpLGMubGlua2luZy5pbnRlcnZhbC51bnN1YnNjcmliZSh0aGlzLl9oYW5kbGVDaGFuZ2VJbnRlcnZhbCksYy5saW5raW5nLmludHJhZGF5LnVuc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSxjLmxpbmtpbmcuc2Vjb25kcy51bnN1YnNjcmliZSh0aGlzLl9iaW5kZWRGb3JjZVVwZGF0ZSksYy5saW5raW5nLnRpY2tzLnVuc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSxjLmxpbmtpbmcucmFuZ2UudW5zdWJzY3JpYmUodGhpcy5fYmluZGVkRm9yY2VVcGRhdGUpLGMubGlua2luZy5zdXBwb3J0ZWRSZXNvbHV0aW9ucy51bnN1YnNjcmliZSh0aGlzLl9oYW5kbGVDaGFuZ2VTdXBwb3J0ZWRSZXNvbHV0aW9ucyksYy5saW5raW5nLmRhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnVuc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSx6ZS5nbG9iYWxDbG9zZURlbGVnYXRlLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5faGFuZGxlR2xvYmFsQ2xvc2UpfWNvbXBvbmVudERpZFVwZGF0ZShlLHQpe3RoaXMuc3RhdGUubGFzdEFkZGVkSW50ZXJ2YWwmJnNldFRpbWVvdXQoKCgpPT50aGlzLnNldFN0YXRlKHtsYXN0QWRkZWRJbnRlcnZhbDp2b2lkIDB9KSksMTYwMCl9cmVuZGVyKCl7Y29uc3R7aXNTaG93blF1aWNrczplLGlkOnR9PXRoaXMucHJvcHMse2FjdGl2ZUludGVydmFsOm4sY3VzdG9tczpvLGxhc3ROb3RRdWlja2VkOnMsaXNBZGRJbnRlcnZhbERpYWxvZ09wZW5lZDpyfT10aGlzLnN0YXRlLGQ9dGhpcy5fZ2V0UXVpY2tzKCksdT0oMCxWZS5zb3J0UmVzb2x1dGlvbnMpKFsuLi5kXSk7dm9pZCAwIT09biYmdS5pbmNsdWRlcyhuKT92b2lkIDAhPT1zJiZ1LnB1c2gocyk6dm9pZCAwIT09biYmdS5wdXNoKG4pO2NvbnN0IGM9KCEoIWV8fDA9PT1kLmxlbmd0aCl8fHZvaWQgMCkmJnUubGVuZ3RoPjEsaD17fSx2PSgwLFZlLm1lcmdlUmVzb2x1dGlvbnMpKHRoaXMuX2RlZmF1bHRJbnRlcnZhbHMsbyksZj12b2lkIDAhPT1uP3YuY29uY2F0KG4pOnY7KHZvaWQgMCE9PXM/Zi5jb25jYXQocyk6ZikuZmlsdGVyKFZlLmlzQXZhaWxhYmxlKS5mb3JFYWNoKChlPT5oW2VdPSEwKSk7Y29uc3QgYj12b2lkIDAhPT1uPygwLFZlLmdldFRyYW5zbGF0ZWRSZXNvbHV0aW9uTW9kZWwpKG4pOm51bGw7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChwLlRvb2xXaWRnZXRSb3dXcmFwLHtpZDp0fSxjJiZpLmNyZWF0ZUVsZW1lbnQoVCx7Y2xhc3NOYW1lOm90Lmdyb3VwLG9yaWVudGF0aW9uOiJob3Jpem9udGFsIn0sdS5tYXAoKChlLHQpPT57Y29uc3QgYT0oMCxWZS5nZXRUcmFuc2xhdGVkUmVzb2x1dGlvbk1vZGVsKShlKTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGcse2tleTp0LHJvbGU6InJhZGlvIixjbGFzc05hbWU6b3QuYnV0dG9uLHRleHQ6aS5jcmVhdGVFbGVtZW50KExlLHsKdmFsdWU6YS5tYXlPbWl0TXVsdGlwbGllcj92b2lkIDA6YS5tdWx0aXBsaWVyLG1ldHJpYzphLnNob3J0S2luZH0pLGhpbnQ6YS5oaW50LCJhcmlhLWNoZWNrZWQiOm49PT1lLGlzQWN0aXZlOm49PT1lLGlzRGlzYWJsZWQ6IWhbZV0sb25DbGljazp0aGlzLl9oYW5kZVF1aWNrQ2xpY2ssb25DbGlja0FyZzplLCJkYXRhLXZhbHVlIjplfSl9KSkpLGkuY3JlYXRlRWxlbWVudCh3Lk1hdGNoTWVkaWEse3J1bGU6Qy5EaWFsb2dCcmVha3BvaW50cy5UYWJsZXRTbWFsbH0sKGU9PmkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsaS5jcmVhdGVFbGVtZW50KE5lLkNsb3NlRGVsZWdhdGVDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpkdH0saS5jcmVhdGVFbGVtZW50KG0uVG9vbGJhck1lbnVCdXR0b24se2Fycm93OkJvb2xlYW4oYyksY2xvc2VPbkNsaWNrT3V0c2lkZTohcixjb250ZW50OmN8fG51bGw9PT1iP3ZvaWQgMDppLmNyZWF0ZUVsZW1lbnQocC5Ub29sV2lkZ2V0Um93V3JhcCx7Y2xhc3NOYW1lOm90Lm1lbnVDb250ZW50fSxpLmNyZWF0ZUVsZW1lbnQoTGUse3ZhbHVlOmIubWF5T21pdE11bHRpcGxpZXI/dm9pZCAwOmIubXVsdGlwbGllcixtZXRyaWM6Yi5zaG9ydEtpbmR9KSksaG90S2V5OmM/bHQ6dm9pZCAwLGNsYXNzTmFtZTpvdC5tZW51QnRuLHJlZjp0aGlzLl9tZW51LGlzRHJhd2VyOmUsb25DbGljazp0aGlzLl90cmFja0NsaWNrLHRvb2x0aXA6Y3x8bnVsbD09PWI/c3QudGltZUludGVydmFsOmIuaGludCxtZW51UmVmZXJlbmNlOnRoaXMuX21lbnVJdGVtc0NvbnRhaW5lclJlZixtZW51Um9sZToidHJlZWdyaWQiLGRyYXdlclJlZmVyZW5jZTp0aGlzLl9kcmF3ZXJDb250YWluZXJSZWYsZW5hYmxlU2Nyb2xsQ29tcGVuc2F0aW9uOigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKX0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKG90LmRyb3Bkb3duLCgwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKSYmb3QubmV3VmlldywhZSYmb3QuZGVza3RvcCl9LGkuY3JlYXRlRWxlbWVudChpdCx7aW50ZXJ2YWxzOnYsaXNDdXN0b21JbnRlcnZhbHNFbmFibGVkOnRoaXMuX2N1c3RvbUludGVydmFscyxpc0Zhdm9yaXRpbmdBbGxvd2VkOnRoaXMucHJvcHMuaXNGYXZvcml0aW5nQWxsb3dlZCxhY3RpdmVJbnRlcnZhbDp0aGlzLnN0YXRlLmFjdGl2ZUludGVydmFsLGxhc3RBZGRlZEludGVydmFsOnRoaXMuc3RhdGUubGFzdEFkZGVkSW50ZXJ2YWwsbWVudVZpZXdTdGF0ZTp0aGlzLnN0YXRlLm1lbnVWaWV3U3RhdGUsaW50ZXJ2YWxzTWVudVZpZXdTdGF0ZVNlcnZpY2U6dGhpcy5jb250ZXh0LmludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlLHNjcm9sbENvbnRhaW5lclJlZjplP3RoaXMuX2RyYXdlckNvbnRhaW5lclJlZjp0aGlzLl9tZW51SXRlbXNDb250YWluZXJSZWYsb25PcGVuQWRkSW50ZXJ2YWxEaWFsb2c6dGhpcy5faGFuZGxlT3BlbkFkZEludGVydmFsRGlhbG9nLG9uU2VsZWN0SW50ZXJ2YWw6dGhpcy5faGFuZGxlU2VsZWN0SW50ZXJ2YWwsb25SZW1vdmVJbnRlcnZhbDp0aGlzLl9oYW5kbGVSZW1vdmVJbnRlcnZhbCxvbkNsaWNrRmF2b3JpdGU6dGhpcy5faGFuZGxlQ2xpY2tGYXZvcml0ZSxvblNlY3Rpb25TdGF0ZUNoYW5nZTp0aGlzLl9nZXRIYW5kbGVTZWN0aW9uU3RhdGVDaGFuZ2UsaXNJbnRlcnZhbEZhdm9yaXRlOnRoaXMuX2lzSW50ZXJ2YWxGYXZvcml0ZSxpc0ludGVydmFsRGVmYXVsdDp0aGlzLl9pc0ludGVydmFsRGVmYXVsdCxpc1NtYWxsVGFibGV0OmUsdmlld01vZGU6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpPyJuZXciOiJsZWdhY3kifSkpKSksciYmaS5jcmVhdGVFbGVtZW50KGkuU3VzcGVuc2Use2ZhbGxiYWNrOm51bGx9LGkuY3JlYXRlRWxlbWVudCh1dCx7b25BZGQ6dGhpcy5faGFuZGxlQWRkSW50ZXJ2YWwsb25DbG9zZTp0aGlzLl9oYW5kbGVDbG9zZUFkZEludGVydmFsRGlhbG9nLG9uVW5tb3VudDp0aGlzLl9oYW5kbGVDbG9zZUFkZEludGVydmFsRGlhbG9nLGludGVydmFsU2VydmljZTp0aGlzLmNvbnRleHQuaW50ZXJ2YWxTZXJ2aWNlLGlzU21hbGxUYWJsZXQ6ZX0pKSkpKSl9X3VwZGF0ZURlZmF1bHRJbnRlcnZhbHMoKXt0aGlzLl9kZWZhdWx0SW50ZXJ2YWxzPXRoaXMuY29udGV4dC5jaGFydEFwaUluc3RhbmNlLmRlZmF1bHRSZXNvbHV0aW9ucygpLmZpbHRlcihWZS5pc0ludGVydmFsRW5hYmxlZCkubWFwKFZlLm5vcm1hbGl6ZUludGVydmFsU3RyaW5nKX1faGFuZGxlQ2hhbmdlRmF2b3JpdGVzKGUpe3RoaXMuc2V0U3RhdGUoe2xhc3ROb3RRdWlja2VkOnZvaWQgMCxmYXZvcml0ZXM6ZX0pfV9oYW5kbGVDaGFuZ2VDdXN0b21zKGUpe3RoaXMuc2V0U3RhdGUoe2N1c3RvbXM6ZX0pfV9oYW5kbGVDaGFuZ2VNZW51Vmlld1N0YXRlKGUpe3RoaXMuc2V0U3RhdGUoe21lbnVWaWV3U3RhdGU6ZX0sKCgpPT57dGhpcy5fbWVudS5jdXJyZW50JiZ0aGlzLl9tZW51LmN1cnJlbnQudXBkYXRlKCl9KSl9X2dldFF1aWNrcyhlKXtyZXR1cm4gdGhpcy5wcm9wcy5pc1Nob3duUXVpY2tzJiYic21hbGwiIT09dGhpcy5wcm9wcy5kaXNwbGF5TW9kZT92b2lkIDA9PT1lP3RoaXMuc3RhdGUuZmF2b3JpdGVzOmU6W119X3RyYWNrQ2xpY2soKXsoMCxELnRyYWNrQnV0dG9uQ2xpY2spKCJ0b3AgdG9vbGJhciIsImludGVydmFsIil9fWN0LmNvbnRleHRUeXBlPXJ0O3ZhciBodD1uKDk2NzA1KSx2dD1uKDg1NTEwNyksbXQ9bigzNDY1NTEpO2NvbnN0IHB0PSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBmdCBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5faGFuZGxlQ2xpY2s9KCk9Pntjb25zdHtjaGFydFdpZGdldENvbGxlY3Rpb246ZSx3aW5kb3dNZXNzYWdlU2VydmljZTp0LGlzRnVuZGFtZW50YWw6bn09dGhpcy5jb250ZXh0LGE9ZS5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpCjtjb25zdCBpPWZ1bmN0aW9uKCl7Y29uc3QgZT1uZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKSx0PUpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGUuaGFzaC5zbGljZSgxKSkpO3JldHVybiBkZWxldGUgdC5zaG93X3BvcHVwX2J1dHRvbixlLmhhc2g9YCMke2VuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeSh0KSl9YCxlLnRvU3RyaW5nKCl9KCk7YS53aXRoTW9kZWwobnVsbCwoKCk9Pnt0LnBvc3QocGFyZW50LCJvcGVuQ2hhcnRJblBvcHVwIix7c3ltYm9sOmEubW9kZWwoKS5tYWluU2VyaWVzKCkuYWN0dWFsU3ltYm9sKCksaW50ZXJ2YWw6YS5tb2RlbCgpLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpLGZ1bmRhbWVudGFsOm4sdXJsOml9KX0pKX0sKDAseS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtpc0Z1bmRhbWVudGFsOm8uYW55LGNoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpvLmFueS5pc1JlcXVpcmVkLHdpbmRvd01lc3NhZ2VTZXJ2aWNlOm8uYW55LmlzUmVxdWlyZWR9KX1yZW5kZXIoKXtjb25zdHtjbGFzc05hbWU6ZX09dGhpcy5wcm9wcztyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGh0LlRvb2xiYXJJY29uQnV0dG9uLHtjbGFzc05hbWU6bCgpKGUsdnQuYnV0dG9uKSxpY29uOm10LG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2ssdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAsbig3NTYwMDkpKX0pfX1mdC5jb250ZXh0VHlwZT1wdDt2YXIgZ3Q9big5NDY5NDIpO2NvbnN0IGJ0PSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyB3dCBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fdXBkYXRlU3RhdGU9ZT0+e3RoaXMuc2V0U3RhdGUoe2lzT3BlbmVkOmV9KX0sdGhpcy5faGFuZGxlQ2xpY2s9ZT0+e2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjp0fT10aGlzLmNvbnRleHQsbj10LmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCk7KDAsWC50cmFja0V2ZW50KSgiR1VJIiwiQ2hhcnQgSGVhZGVyIFRvb2xiYXIiLCJjaGFydCBwcm9wZXJ0aWVzIiksKDAsRC50cmFja0J1dHRvbkNsaWNrKSgidG9wIHRvb2xiYXIiLCJjaGFydCBzZXR0aW5ncyIpLG4uc2hvd0dlbmVyYWxDaGFydFByb3BlcnRpZXModm9pZCAwLHtzaG91bGRSZXR1cm5Gb2N1czooMCxHLmlzS2V5Ym9hcmRDbGljaykoZSl9KX0sKDAseS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtjaGFydFdpZGdldENvbGxlY3Rpb246by5hbnkuaXNSZXF1aXJlZH0pLHRoaXMuc3RhdGU9e2lzT3BlbmVkOiExfSx0aGlzLl9wcm9wZXJ0aWVzRGlhbG9nUmVuZGVyZXI9dGhpcy5jb250ZXh0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5nZXRDaGFydFByb3BlcnRpZXNEaWFsb2dSZW5kZXJlcigpfWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5fcHJvcGVydGllc0RpYWxvZ1JlbmRlcmVyPy52aXNpYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX3Byb3BlcnRpZXNEaWFsb2dSZW5kZXJlcj8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1yZW5kZXIoKXtjb25zdHtpc09wZW5lZDplfT10aGlzLnN0YXRlO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoaHQuVG9vbGJhckljb25CdXR0b24sey4uLnRoaXMucHJvcHMsaWNvbjpndCxpc09wZW5lZDplLG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2ssdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAsbig3MzA1ODYpKX0pfX13dC5jb250ZXh0VHlwZT1idDt2YXIgQ3Q9bigzMTg5NzQpLF90PW4oNzM3MTE2KSx5dD1uKDcyNzA5KSxTdD1uKDkwNjY4MykseHQ9big2NjY0NDEpO2NvbnN0IEV0PSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBNdCBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fZXhwb3J0RGlhbG9nUHJvbWlzZT1udWxsLHRoaXMuX3JlY2VudExheW91dHNBYm9ydENvbnRyb2xsZXI9bnVsbCx0aGlzLl9yZXF1ZXN0UmVjZW50TGF5b3V0cz0oKT0+e2lmKHRoaXMuX3JlY2VudExheW91dHNBYm9ydENvbnRyb2xsZXI/LmFib3J0KCksIXRoaXMuc3RhdGUuaXNBdXRoZW50aWNhdGVkKXJldHVybjtjb25zdHtsb2FkQ2hhcnRTZXJ2aWNlOmV9PXRoaXMuY29udGV4dDt0aGlzLl9yZWNlbnRMYXlvdXRzQWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsZS5nZXRSZWNlbnRDaGFydHModGhpcy5fcmVjZW50TGF5b3V0c0Fib3J0Q29udHJvbGxlci5zaWduYWwpfSx0aGlzLl91cGRhdGVTdGF0ZT1lPT57dGhpcy5zZXRTdGF0ZSgodD0+KHsuLi50LC4uLmV9KSkpfSx0aGlzLl9oYW5kbGVFeHBvcnREYXRhPSgpPT57e2NvbnN0IGU9dGhpcy5fZXhwb3J0RGlhbG9nUHJvbWlzZT0oMCxfdC5sb2FkQ2hhcnRFeHBvcnREaWFsb2dNb2R1bGUpKCkudGhlbigodD0+e3RoaXMuX2V4cG9ydERpYWxvZ1Byb21pc2U9PT1lJiZ0LnNob3dDaGFydEV4cG9ydERpYWxvZ09yTm90aWZpY2F0aW9uKHRoaXMuY29udGV4dC5jaGFydFdpZGdldENvbGxlY3Rpb24sKCgpPT50aGlzLl90cmFja0V2ZW50KCJFeHBvcnQgY2hhcnQgZGF0YSIpKSl9KSl9fSx0aGlzLl9vblNhdmVEaWFsb2dWaXNpYmxlQ2hhbmdlPWU9Pnt0aGlzLnNldFN0YXRlKHtpc1NhdmVEaWFsb2dPcGVuZWQ6ZX0pfSx0aGlzLl9zeW5jU3RhdGU9ZT0+e3RoaXMuc2V0U3RhdGUoZSl9LHRoaXMuX29uQ2hhbmdlSGFzQ2hhbmdlcz1lPT57dGhpcy5zdGF0ZS53YXNDaGFuZ2VzIT09ZSYmdGhpcy5zZXRTdGF0ZSh7d2FzQ2hhbmdlczplfSl9LHRoaXMuX29uQ2hhbmdlQXV0b1NhdmVFbmFibGVkPWU9Pnt0aGlzLnNldFN0YXRlKHtpc0F1dG9TYXZlRW5hYmxlZDplfSl9LHRoaXMuX29uQ2hhbmdlU2hhcmluZ0VuYWJsZWQ9ZT0+e3RoaXMuc2V0U3RhdGUoe2lzU2hhcmluZ0VuYWJsZWQ6ZX0pfSx0aGlzLl9vbkNoYW5nZVRpdGxlPWU9Pnt0aGlzLnNldFN0YXRlKHt0aXRsZTplfSl9LHRoaXMuX29uQ2hhbmdlSWQ9ZT0+e3RoaXMuc2V0U3RhdGUoe2lkOmV9KX0sdGhpcy5fb25DaGFydEFib3V0VG9CZVNhdmVkPSgpPT57dGhpcy5zZXRTdGF0ZSh7CmlzUHJvY2Vzc2luZzohMH0pfSx0aGlzLl9vbkNoYXJ0U2F2ZWQ9KCk9Pnt0aGlzLnNldFN0YXRlKHtpc1Byb2Nlc3Npbmc6ITF9KX0sdGhpcy5faGFuZGxlQXV0b1NhdmVFbmFibGVkPWU9PnsoMCxYLnRyYWNrRXZlbnQpKCJBdXRvc2F2ZSIsZT8iT24iOiJPZmYiKSx0aGlzLmNvbnRleHQuc2F2ZUNoYXJ0U2VydmljZS5zZXRBdXRvU2F2ZUVuYWJsZWQoZSl9LHRoaXMuX2hhbmRsZVNoYXJpbmdFbmFibGVkPWU9PntpZih0aGlzLmNvbnRleHQuc2hhcmluZ0NoYXJ0U2VydmljZSl7Y29uc3QgdD1lPyJvbiI6Im9mZiI7KDAsWC50cmFja0V2ZW50KSgiR1VJIixgVHVybiBzaGFyaW5nIGNoYXJ0ICR7dH1gKSx0aGlzLmNvbnRleHQuc2hhcmluZ0NoYXJ0U2VydmljZS5zZXRTaGFyaW5nRW5hYmxlZChlKX19LHRoaXMuX2hhbmRsZUNsaWNrU2F2ZT0oKT0+e3RoaXMuY29udGV4dC5zYXZlQ2hhcnRTZXJ2aWNlLnNhdmVDaGFydE9yU2hvd1RpdGxlRGlhbG9nKCksdGhpcy5fdHJhY2tFdmVudCgiU2F2ZSBjbGljayIpfSx0aGlzLl9oYW5kbGVPcGVuTWVudT0oKT0+e3RoaXMuX3JlcXVlc3RSZWNlbnRMYXlvdXRzKCl9LHRoaXMuX2hhbmRsZUNsaWNrU2F2ZUZyb21NZW51PSgpPT57dGhpcy5jb250ZXh0LnNhdmVDaGFydFNlcnZpY2Uuc2F2ZUNoYXJ0T3JTaG93VGl0bGVEaWFsb2coKSx0aGlzLl90cmFja0V2ZW50KCJTYXZlIEZyb20gTWVudSIpfSx0aGlzLl9oYW5kbGVDbGlja0Nsb25lPSgpPT57dGhpcy5jb250ZXh0LnNhdmVDaGFydFNlcnZpY2UuY2xvbmVDaGFydCgpfSx0aGlzLl9oYW5kbGVDbGlja1NhdmVBcz0oKT0+e3RoaXMuY29udGV4dC5zYXZlQ2hhcnRTZXJ2aWNlLnNhdmVDaGFydEFzKCksdGhpcy5fdHJhY2tFdmVudCgiTWFrZSBhIGNvcHkiKX0sdGhpcy5faGFuZGxlQ2xpY2tOZXc9KCk9Pnt3aW5kb3cucnVuT3JTaWduSW4oKCgpPT57dGhpcy5jb250ZXh0LnNhdmVDaGFydFNlcnZpY2UuY3JlYXRlRW1wdHlDaGFydCgpfSkse3NvdXJjZToiY3JlYXRlX2VtcHR5X2NoYXJ0In0pLHRoaXMuX3RyYWNrRXZlbnQoIk5ldyBjaGFydCBsYXlvdXQiKX0sdGhpcy5faGFuZGxlQ2xpY2tMb2FkPSgpPT57dGhpcy5jb250ZXh0LmxvYWRDaGFydFNlcnZpY2Uuc2hvd0xvYWREaWFsb2coKSx0aGlzLl90cmFja0V2ZW50KCJMb2FkIGNoYXJ0IGxheW91dCIpfSx0aGlzLl9oYW5kbGVIb3RrZXk9KCk9Pnt0aGlzLmNvbnRleHQubG9hZENoYXJ0U2VydmljZS5zaG93TG9hZERpYWxvZygpfSx0aGlzLl9oYW5kbGVDbGlja1JlbmFtZT0oKT0+e3RoaXMuY29udGV4dC5zYXZlQ2hhcnRTZXJ2aWNlLnJlbmFtZUNoYXJ0KCksdGhpcy5fdHJhY2tFdmVudCgiUmVuYW1lIil9LCgwLHkudmFsaWRhdGVSZWdpc3RyeSkodCx7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOm8uYW55LmlzUmVxdWlyZWQsY2hhcnRDaGFuZ2VzV2F0Y2hlcjpvLmFueS5pc1JlcXVpcmVkLHNhdmVDaGFydFNlcnZpY2U6by5hbnkuaXNSZXF1aXJlZCxzaGFyaW5nQ2hhcnRTZXJ2aWNlOigwLEN0LmlzU3ltcGhvbnlFbWJlZCkoKT9vLmFueTpvLmFueS5pc1JlcXVpcmVkLGxvYWRDaGFydFNlcnZpY2U6by5hbnkuaXNSZXF1aXJlZH0pO2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpuLGNoYXJ0Q2hhbmdlc1dhdGNoZXI6YSxzYXZlQ2hhcnRTZXJ2aWNlOmksc2hhcmluZ0NoYXJ0U2VydmljZTpzLGxvYWRDaGFydFNlcnZpY2U6bH09dDt0aGlzLl9sb2FkQ2hhcnRTZXJ2aWNlU3RhdGU9bC5zdGF0ZSgpLHRoaXMuc3RhdGU9e2lzQXV0aGVudGljYXRlZDp3aW5kb3cuaXNfYXV0aGVudGljYXRlZCxpc1Byb2Nlc3Npbmc6ITEsaWQ6bi5tZXRhSW5mby5pZC52YWx1ZSgpLHRpdGxlOm4ubWV0YUluZm8ubmFtZS52YWx1ZSgpLHdhc0NoYW5nZXM6YS5oYXNDaGFuZ2VzKCksaXNBdXRvU2F2ZUVuYWJsZWQ6aS5hdXRvU2F2ZUVuYWJsZWQoKS52YWx1ZSgpLGlzU2hhcmluZ0VuYWJsZWQ6ISFzJiZzLnNoYXJpbmdFbmFibGVkKCkudmFsdWUoKSxyZWNlbnRMYXlvdXRzOltdLGljb25Ib3ZlcmVkOiExLGlzU2F2ZURpYWxvZ09wZW5lZDohMSwuLi50aGlzLl9sb2FkQ2hhcnRTZXJ2aWNlU3RhdGUudmFsdWUoKX19Y29tcG9uZW50RGlkTW91bnQoKXtjb25zdHtjaGFydFNhdmVyOmUsaXNGYWtlOnQsc3RhdGVTeW5jRW1pdHRlcjphfT10aGlzLnByb3BzLHtjaGFydFdpZGdldENvbGxlY3Rpb246aSxjaGFydENoYW5nZXNXYXRjaGVyOm8sc2F2ZUNoYXJ0U2VydmljZTpzLHNoYXJpbmdDaGFydFNlcnZpY2U6bCxsb2FkQ2hhcnRTZXJ2aWNlOnJ9PXRoaXMuY29udGV4dDt0P2Eub24oImNoYW5nZSIsdGhpcy5fc3luY1N0YXRlKTooby5nZXRPbkNoYW5nZSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhbmdlSGFzQ2hhbmdlcykscy5hdXRvU2F2ZUVuYWJsZWQoKS5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VBdXRvU2F2ZUVuYWJsZWQpLGw/LnNoYXJpbmdFbmFibGVkKCkuc3Vic2NyaWJlKHRoaXMuX29uQ2hhbmdlU2hhcmluZ0VuYWJsZWQpLGkubWV0YUluZm8ubmFtZS5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VUaXRsZSksaS5tZXRhSW5mby5pZC5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VJZCksdGhpcy5faG90a2V5cz0oMCx5dC5jcmVhdGVHcm91cCkoe2Rlc2M6IlNhdmUvTG9hZCJ9KSx0aGlzLl9ob3RrZXlzLmFkZCh7ZGVzYzp1LnQobnVsbCx2b2lkIDAsbigyNDI5MTMpKSxoYW5kbGVyOnRoaXMuX2hhbmRsZUhvdGtleSxob3RrZXk6MTkwfSksZS5jaGFydFNhdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25DaGFydFNhdmVkKSxlLmNoYXJ0QWJvdXRUb0JlU2F2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYXJ0QWJvdXRUb0JlU2F2ZWQpLHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTG9naW5TdGF0ZUNoYW5nZSksdGhpcy5jb250ZXh0LnNhdmVDaGFydFNlcnZpY2UuZ2V0Q3JlYXRlQ29udHJvbGxlcigpLnZpc2libGUoKS5zdWJzY3JpYmUodGhpcy5fb25TYXZlRGlhbG9nVmlzaWJsZUNoYW5nZSksdGhpcy5fbG9hZENoYXJ0U2VydmljZVN0YXRlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0ZSksCnh0LnNob3dGYXZvcml0ZUxheW91dHMmJnIucmVmcmVzaENoYXJ0TGlzdCgpKX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXt0aGlzLnByb3BzLmlzRmFrZXx8dCE9PXRoaXMuc3RhdGUmJnRoaXMucHJvcHMuc3RhdGVTeW5jRW1pdHRlci5lbWl0KCJjaGFuZ2UiLHRoaXMuc3RhdGUpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7Y2hhcnRTYXZlcjplLGlzRmFrZTp0LHN0YXRlU3luY0VtaXR0ZXI6bn09dGhpcy5wcm9wcyx7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmEsY2hhcnRDaGFuZ2VzV2F0Y2hlcjppLHNhdmVDaGFydFNlcnZpY2U6byxzaGFyaW5nQ2hhcnRTZXJ2aWNlOnN9PXRoaXMuY29udGV4dDt0P24ub2ZmKCJjaGFuZ2UiLHRoaXMuX3N5bmNTdGF0ZSk6KGkuZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhbmdlSGFzQ2hhbmdlcyksby5hdXRvU2F2ZUVuYWJsZWQoKS51bnN1YnNjcmliZSh0aGlzLl9vbkNoYW5nZUF1dG9TYXZlRW5hYmxlZCkscz8uc2hhcmluZ0VuYWJsZWQoKS51bnN1YnNjcmliZSh0aGlzLl9vbkNoYW5nZVNoYXJpbmdFbmFibGVkKSxhLm1ldGFJbmZvLm5hbWUudW5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VUaXRsZSksYS5tZXRhSW5mby5pZC51bnN1YnNjcmliZSh0aGlzLl9vbkNoYW5nZUlkKSwoMCxuZS5lbnN1cmVEZWZpbmVkKSh0aGlzLl9ob3RrZXlzKS5kZXN0cm95KCksZS5jaGFydFNhdmVkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYXJ0U2F2ZWQpLGUuY2hhcnRBYm91dFRvQmVTYXZlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25DaGFydEFib3V0VG9CZVNhdmVkKSx3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTG9naW5TdGF0ZUNoYW5nZSksdGhpcy5fcmVjZW50TGF5b3V0c0Fib3J0Q29udHJvbGxlcj8uYWJvcnQoKSx0aGlzLmNvbnRleHQuc2F2ZUNoYXJ0U2VydmljZS5nZXRDcmVhdGVDb250cm9sbGVyKCkudmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX29uU2F2ZURpYWxvZ1Zpc2libGVDaGFuZ2UpLHRoaXMuX2xvYWRDaGFydFNlcnZpY2VTdGF0ZS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0ZSkpfXJlbmRlcigpe2NvbnN0e2lzUmVhZE9ubHk6ZSxkaXNwbGF5TW9kZTp0LGlkOm4saXNGYWtlOm99PXRoaXMucHJvcHMse2lzUHJvY2Vzc2luZzpzLGlzQXV0aGVudGljYXRlZDpsLHRpdGxlOnIsaWQ6ZCx3YXNDaGFuZ2VzOnUsaXNBdXRvU2F2ZUVuYWJsZWQ6Yyxpc1NoYXJpbmdFbmFibGVkOmgsaXNTYXZlRGlhbG9nT3BlbmVkOnYsZmF2b3JpdGVzOm0sY2hhcnRMaXN0OnAscmVjZW50czpmfT10aGlzLnN0YXRlLGc9e2Rpc3BsYXlNb2RlOnQsaXNSZWFkT25seTplLGlzQXV0aGVudGljYXRlZDpsLGlzUHJvY2Vzc2luZzpzLHdhc0NoYW5nZXM6dSx0aXRsZTpyLGlkOm4saXNTYXZlRGlhbG9nT3BlbmVkOnYsZmF2b3JpdGVzOm0sY2hhcnRMaXN0OnAsY2hhcnRJZDpudWxsIT09ZD9kOnZvaWQgMCxkYXRhTmFtZVNhdmVNZW51Om8/dm9pZCAwOiJzYXZlLWxvYWQtbWVudSIsb25DbG9uZUNoYXJ0OnRoaXMuX2hhbmRsZUNsaWNrQ2xvbmUsb25TYXZlQ2hhcnQ6dGhpcy5faGFuZGxlQ2xpY2tTYXZlLG9uU2F2ZUNoYXJ0RnJvbU1lbnU6dGhpcy5faGFuZGxlQ2xpY2tTYXZlRnJvbU1lbnUsb25SZW5hbWVDaGFydDp0aGlzLl9oYW5kbGVDbGlja1JlbmFtZSxvblNhdmVBc0NoYXJ0OnRoaXMuX2hhbmRsZUNsaWNrU2F2ZUFzLG9uTG9hZENoYXJ0OnRoaXMuX2hhbmRsZUNsaWNrTG9hZCxpc05ld1ZpZXc6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpfTtyZXR1cm4gZy5vbk5ld0NoYXJ0PXRoaXMuX2hhbmRsZUNsaWNrTmV3LGcub25FeHBvcnREYXRhPXRoaXMuX2hhbmRsZUV4cG9ydERhdGEsZy5vbkF1dG9TYXZlQ2hhbmdlZD10aGlzLl9oYW5kbGVBdXRvU2F2ZUVuYWJsZWQsZy5vblNoYXJpbmdDaGFuZ2VkPXRoaXMuX2hhbmRsZVNoYXJpbmdFbmFibGVkLGcuaXNBdXRvU2F2ZUVuYWJsZWQ9YyxnLmlzU2hhcmluZ0VuYWJsZWQ9aCxnLnJlY2VudEl0ZW1zPWYsZy5vbk9wZW5NZW51PXRoaXMuX2hhbmRsZU9wZW5NZW51LGcuYXV0b1NhdmVJZD1vP3ZvaWQgMDoiY2hhcnQtYXV0by1zYXZlIixpLmNyZWF0ZUVsZW1lbnQody5NYXRjaE1lZGlhLHtydWxlOkMuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGx9LChlPT5pLmNyZWF0ZUVsZW1lbnQoU3QuVG9vbFdpZGdldFNhdmVMb2FkVmlldyx7Li4uZyxpc1RhYmxldFNtYWxsOmV9KSkpfV9vbkxvZ2luU3RhdGVDaGFuZ2UoKXtjb25zdCBlPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkO3RoaXMuc2V0U3RhdGUoe2lzQXV0aGVudGljYXRlZDplfSkseHQuc2hvd0Zhdm9yaXRlTGF5b3V0cyYmdGhpcy5jb250ZXh0LmxvYWRDaGFydFNlcnZpY2UucmVmcmVzaENoYXJ0TGlzdCgpfV90cmFja0V2ZW50KGUpeygwLFgudHJhY2tFdmVudCkoIkdVSSIsIk1hbmFnZSBjaGFydCBsYXlvdXQiLGUpfX1NdC5jb250ZXh0VHlwZT1FdDt2YXIga3Q9big2NTkzNjUpLEl0PW4oMzMyMzcxKSxUdD1uKDk5NTcxOSksQXQ9bigxMTczMTMpLEh0PW4oOTcxNjU5KTtmdW5jdGlvbiBWdChlKXtjb25zdFt0LG5dPSgwLGkudXNlU3RhdGUpKCExKSxhPSgwLEh0LnVzZUlzTW91bnRlZCkoKSxvPSgwLGkudXNlQ2FsbGJhY2spKChhc3luYygpPT57bighMCksYXdhaXQgZS5zZXJ2ZXJTbmFwc2hvdCgpLGEuY3VycmVudCYmbighMSl9KSxbZS5zZXJ2ZXJTbmFwc2hvdF0pO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoVHQuVG9vbFdpZGdldEJ1dHRvbix7aWQ6ZS5pZCxjbGFzc05hbWU6ZS5jbGFzc05hbWUsaXNEaXNhYmxlZDp0LG9uQ2xpY2s6byx0aXRsZTplLnRvb2x0aXAsaWNvbjplLmljb259KX12YXIgUnQ9big3OTU5ODYpLEZ0PW4oMTE3NzI5KSxMdD1uLm4oRnQpO2NvbnN0IFp0PSgwLGt0LmJpbmRTY3JlZW5zaG90KSgoZnVuY3Rpb24oZSl7cmV0dXJuKDAsQXQuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKT9pLmNyZWF0ZUVsZW1lbnQoVnQsey4uLmUsaWNvbjpSdAp9KTppLmNyZWF0ZUVsZW1lbnQobS5Ub29sYmFyTWVudUJ1dHRvbix7Y29udGVudDppLmNyZWF0ZUVsZW1lbnQoVHQuVG9vbFdpZGdldEJ1dHRvbix7dGFnOiJkaXYiLGlkOmUuaWQsY2xhc3NOYW1lOmUuY2xhc3NOYW1lLGljb246UnR9KSxkcmF3ZXJCcmVha3BvaW50OkMuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGwsYXJyb3c6ITEsb25DbGljazpmdW5jdGlvbigpeygwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwic25hcHNob3QiKX0sdG9vbHRpcDplLnRvb2x0aXAsZW5hYmxlU2Nyb2xsQ29tcGVuc2F0aW9uOigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKSxtZW51Um9sZToidHJlZWdyaWQifSwoKHtpc0RyYXdlcjp0fSk9PmkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKSgoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIikmJkx0KCkubmV3VmlldywhdCYmTHQoKS5kZXNrdG9wKX0saS5jcmVhdGVFbGVtZW50KEl0LlRvb2xXaWRnZXRTY3JlZW5zaG90Q29udGVudCx7Li4uZX0pKSkpfSkpO3ZhciBOdD1uKDU1NzA2NSksenQ9bigzODcyMzEpLEJ0PW4oMjQzOTM4KSxPdD1uKDg0MTY1NSksRHQ9big2MTQzODApLFd0PW4oODUxNDU4KSxQdD1uKDQ0NDU1MCk7ZnVuY3Rpb24gVXQoZSl7Y29uc3R7aWQ6dCxjbGFzc05hbWU6bix0b29sdGlwOmEsdmFsdWU6byxvbkNsaWNrOnMsYWN0aW9uOmR9PWUsW3UsY109KDAsT2UudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KShudWxsKSxbaCx2XT0oMCxPZS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKGQucmVmZXJlbmNlPz9udWxsKTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKFB0LmNvbnRhaW5lcixuKX0saS5jcmVhdGVFbGVtZW50KCJidXR0b24iLHtpZDp0LHJlZjp1LHRhYkluZGV4OmMsY2xhc3NOYW1lOmwoKShQdC5idXR0b24sImFwcGx5LWNvbW1vbi10b29sdGlwIiksdGl0bGU6YSxvbkNsaWNrOmZ1bmN0aW9uKGUpe2lmKGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpLHMoZSl9fSxpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6UHQudmFsdWV9LG8pKSxpLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse2lkOmQuaWQscmVmOmgsdGFiSW5kZXg6dixjbGFzc05hbWU6bCgpKFB0LmFjdGlvbiwiYXBwbHktY29tbW9uLXRvb2x0aXAiKSx0aXRsZTpkLnRvb2x0aXAsb25DbGljazpmdW5jdGlvbihlKXtpZihlLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSxkLm9uQ2xpY2soZSl9fSxpLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtjbGFzc05hbWU6UHQuaWNvbixpY29uOmQuaWNvbn0pKSl9dmFyIGp0PW4oMzIwNTUpLEt0PW4oNjQzOTAzKSxRdD1uKDQ5MDIwNCkscXQ9big3ODQ1MTMpLCR0PW4oMjE0MzIpLFh0PW4oOTcxMTgzKSxHdD1uKDI3MzUwOSksSnQ9big2MTU1NDcpLFl0PW4oNDExOTkyKSxlbj1uKDE1OTUxMyksdG49bigyNTg0OSksbm49bigxNTY4MjkpO2NvbnN0IGFuPSgwLGkuZm9yd2FyZFJlZikoKGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1mdW5jdGlvbihlKXtjb25zdHtzeW1ib2w6dCxwcm92aWRlckxhYmVsOm59PWUsW2Esb109KDAsaS51c2VTdGF0ZSkoe30pLHM9KDAsdG4udXNlRGlhbG9nQWN0aW9ucykoKTtyZXR1cm4oMCxpLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT1uZXcgSnQuRGV0YWlsc0RhdGFQcm92aWRlcih7c3ltYm9sOnQscXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXJJbnN0YW5jZTooMCxlbi5nZXRRdW90ZVNlc3Npb25JbnN0YW5jZSkoKSxsYWJlbDpufSk7cmV0dXJuIGUuc2V0SGFuZGxlcigoZnVuY3Rpb24odCl7aWYodCl7aWYoImVycm9yIj09PXQuc3RhdHVzKXJldHVybiBvKHt9KSx2b2lkIGUuZGVzdHJveSgpO2lmKHQuYm9uZHNDb21wbGV0ZSYmdC5jb21wbGV0ZSl7Y29uc3QgZT1Cb29sZWFuKHQudmFsdWVzLmFnZ3JlZ2F0ZWQuYm9uZHMmJnQudmFsdWVzLmFnZ3JlZ2F0ZWQuYm9uZHMubGVuZ3RoPjAmJigwLG5uLmlzWWllbGQpKHt0eXBlc3BlY3M6dC52YWx1ZXMucXVvdGVzLnR5cGVzcGVjc30pKTtvKCh0PT4oey4uLnQsaGFzWWllbGRDdXJ2ZTplfSkpKX1pZih0LmZ1dHVyZXNDb21wbGV0ZSl7Y29uc3QgZT1Cb29sZWFuKHQudmFsdWVzLmFnZ3JlZ2F0ZWQuZnV0dXJlcyYmdC52YWx1ZXMuYWdncmVnYXRlZC5mdXR1cmVzLmxlbmd0aD4wKTtvKCh0PT4oey4uLnQsaGFzQ29udHJhY3RzOmUsaGFzRm9yd2FyZEN1cnZlOmV9KSkpfWlmKHQuY3J5cHRvRGVyaXZhdGl2ZUNvbXBsZXRlKXtjb25zdCBlPUJvb2xlYW4odC52YWx1ZXMuYWdncmVnYXRlZC5jcnlwdG9fZGVyaXZhdGl2ZV9kYXRhJiYhMCk7bygodD0+KHsuLi50LGhhc0Rlcml2YXRpdmVzOmV9KSkpfWlmKHQuY29tcGxldGUpe2NvbnN0IGU9dC52YWx1ZXMucXVvdGVzO28oKHQ9Pih7Li4udCxsaXN0ZWRFeGNoYW5nZTplLmxpc3RlZF9leGNoYW5nZSx0eXBlOmUudHlwZSxwcmljZXNjYWxlOmUucHJpY2VzY2FsZSx0eXBlc3BlY3M6ZS50eXBlc3BlY3MsaGFzRmluYW5jaWFsczooMCxZdC5oYXNGaW5hbmNpYWxzQnlBdmFpbGFiaWxpdHlGbGFncykoe2ZpbmFuY2lhbHNfYXZhaWxhYmlsaXR5OmUuZmluYW5jaWFsc19hdmFpbGFiaWxpdHksZGl2aWRlbmRzX2F2YWlsYWJpbGl0eTplLmRpdmlkZW5kc19hdmFpbGFiaWxpdHksZWFybmluZ3NfYXZhaWxhYmlsaXR5OmUuZWFybmluZ3NfYXZhaWxhYmlsaXR5fSxlLnR5cGUsZS50eXBlc3BlY3MpfSkpKX1pZih0LmNvbXBsZXRlJiZ0LmNvbXBsZXRlU2NyZWVuZXIpe2NvbnN0IGU9dC52YWx1ZXMuc2NyZWVuZXI/LlsiUmVjb21tZW5kLkFsbCJdLG49dC52YWx1ZXMucXVvdGVzO28oKHQ9Pih7Li4udCxoYXNUZWNobmljYWxzOkJvb2xlYW4obnVsbCE9ZSYmbi5kZXNjcmlwdGlvbiYmbi5saXN0ZWRfZXhjaGFuZ2UmJm4udHlwZSl9KSkpfQp0LmZ1dHVyZXNDb21wbGV0ZSYmdC5ib25kc0NvbXBsZXRlJiZ0LmNyeXB0b0Rlcml2YXRpdmVDb21wbGV0ZSYmdC5jb21wbGV0ZSYmdC5jb21wbGV0ZVNjcmVlbmVyJiZlLmRlc3Ryb3koKX19KSksKCk9PntlLmRlc3Ryb3koKX19KSxbdF0pLHsuLi5hLC4uLnN9fSh7c3ltYm9sOmUuc3ltYm9sLHByb3ZpZGVyTGFiZWw6ZS5wcm92aWRlckxhYmVsfSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChHdC5Db250ZW50TWVudSx7Li4uZSxyZWY6dCxkYXRhOm59KX0pKTt2YXIgb249bigxMzk2NDIpLHNuPW4oNjA0OTEyKSxsbj1uKDk4ODQxNik7Y29uc3Qgcm49KDAsenQubWVyZ2VUaGVtZXMpKGYuREVGQVVMVF9UT09MQkFSX0JVVFRPTl9USEVNRSxsbiksZG49KDAseS5yZWdpc3RyeUNvbnRleHRUeXBlKSgpLHVuPSEoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtjbGFzcyBjbiBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fY29udGVudE1lbnVCdXR0b25SZWY9aS5jcmVhdGVSZWYoKSx0aGlzLl9tZW51UmVmPWkuY3JlYXRlUmVmKCksdGhpcy5faXNDb250ZW50TWVudU9wZW5lZEJ5S2V5Ym9hcmQ9ITEsdGhpcy5fb25Db250ZW50TWVudUNsb3NlPSgpPT57dGhpcy5faXNDb250ZW50TWVudU9wZW5lZEJ5S2V5Ym9hcmQmJm51bGwhPT10aGlzLl9tZW51UmVmLmN1cnJlbnQmJnRoaXMuX21lbnVSZWYuY3VycmVudC5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmdGhpcy5fY29udGVudE1lbnVCdXR0b25SZWYuY3VycmVudD8uZm9jdXMoKSx0aGlzLnNldFN0YXRlKHtpc0NvbnRlbnRNZW51T3BlbmVkOiExfSl9LHRoaXMuX3RvZ2dsZUNvbnRlbnRNZW51PWU9Pntjb25zdCB0PSF0aGlzLnN0YXRlLmlzQ29udGVudE1lbnVPcGVuZWQ7dCYmKHRoaXMuX2lzQ29udGVudE1lbnVPcGVuZWRCeUtleWJvYXJkPSgwLEcuaXNLZXlib2FyZENsaWNrKShlKSksdGhpcy5zZXRTdGF0ZSh7aXNDb250ZW50TWVudU9wZW5lZDp0fSl9LHRoaXMuX29wZW5TeW1ib2xTZWFyY2hEaWFsb2c9YXN5bmMgZT0+e2lmKCgwLE0ubW9kaWZpZXJzRnJvbUV2ZW50KShlKT09PU0uTW9kaWZpZXJzLkFsdClyZXR1cm4gdm9pZCgwLE50LmdldENsaXBib2FyZCkoKS53cml0ZVRleHQodGhpcy5zdGF0ZS5zeW1ib2wpO2lmKHRoaXMuc3RhdGUuaXNTU09wZW5lZClyZXR1cm47Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOnR9PXRoaXMuY29udGV4dCxvPXQ/LmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCkubW9kZWwoKS5tb2RlbCgpLHM9bz8ubWFpblNlcmllcygpLnN5bWJvbEluZm8oKSxsPSJvcHRpb24iPT09cz8udHlwZTt0cnl7KDAsWC50cmFja0V2ZW50KSgiR1VJIiwiU1MiLCJtYWluIHNlYXJjaCIpLCgwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwic3ltYm9sIHNlYXJjaCIpO2xldCB0PXRoaXMuX2lzU3ByZWFkKHRoaXMuc3RhdGUuc3ltYm9sKT90aGlzLnN0YXRlLnN5bWJvbDp0aGlzLnN0YXRlLnNob3J0TmFtZTtpZigoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpJiZsKXtjb25zdCBlPWF3YWl0KDAsUXQucmVzb2x2ZVVuZGVybHlpbmdTeW1ib2wpKHRoaXMuc3RhdGUuc3ltYm9sKTtlJiYodD17dHlwZToib3B0aW9uIix2YWx1ZTp0aGlzLnN0YXRlLnN5bWJvbCx1bmRlcmx5aW5nOmV9KX1hd2FpdChuZXcgRHQuU3ltYm9sU2VhcmNoVUkpLnNob3coe3RyYWNrUmVzdWx0c09wdGlvbnM6e3RyYWNrUmVzdWx0czohKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IiksZW1wdHlTZWFyY2hUeXBlOiJlbXB0eV9yZXN1bHRfX3N1cGVyY2hhcnRzIn0sb25DbG9zZTooKT0+e3RoaXMuc2V0U3RhdGUoe2lzU1NPcGVuZWQ6ITF9KX0sb25PcGVuOigpPT57dGhpcy5zZXRTdGF0ZSh7aXNTU09wZW5lZDohMH0pfSxzaG91bGRSZXR1cm5Gb2N1czooMCxHLmlzS2V5Ym9hcmRDbGljaykoZSksZGVmYXVsdFZhbHVlOnQsc2hvd1NwcmVhZEFjdGlvbnM6KDAsQnQuY2FuU2hvd1NwcmVhZEFjdGlvbnMpKCkmJnRoaXMucHJvcHMuaXNBY3Rpb25zVmlzaWJsZSxzb3VyY2U6InNlYXJjaEJhciIsZW5hYmxlT3B0aW9uc0NoYWluOigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfb3B0aW9uX2NoYWluX3NlbGVjdG9yIiksc2VhcmNoVHlwZToic3VwZXJjaGFydHMiLGZvb3RlcjpqZS5tb2JpbGV0b3VjaD92b2lkIDA6aS5jcmVhdGVFbGVtZW50KE90LlN5bWJvbFNlYXJjaERpYWxvZ0Zvb3RlcixudWxsLCgwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpP3UudChudWxsLHZvaWQgMCxuKDM5MDE5OCkpOnUudChudWxsLHZvaWQgMCxuKDk2NzI1NykpKX0pfWNhdGNoKGUpe319LHRoaXMuX2lzU3ByZWFkPWU9Pntjb25zdCB0PSgwLFd0LnRva2VuaXplKShlKTtyZXR1cm4oMCxXdC5pc1NwcmVhZCkodCl9LHRoaXMuX29uU3ltYm9sSW5mb1Jlc29sdmVkPSgpPT57Y29uc3QgZT1jLmxpbmtpbmcucHJvU3ltYm9sLnZhbHVlKCk7dGhpcy5zZXRTdGF0ZSh7c3ltYm9sOmUsc2hvcnROYW1lOmhuKCl9KX0sdGhpcy5fb25BY3R1YWxDb250ZW50Q2hhbmdlZD0oKT0+e3RoaXMuc2V0U3RhdGUoe2FjdHVhbENvbnRlbnRJZDpxdC5hY3R1YWxDb250ZW50LnZhbHVlKCl9KX0sdGhpcy5fb25TeW1ib2xDaGFuZ2VkPSgpPT57Y29uc3QgZT1jLmxpbmtpbmcucHJvU3ltYm9sLnZhbHVlKCk7ZT09PXRoaXMuc3RhdGUuc3ltYm9sP3RoaXMuc2V0U3RhdGUoe3N5bWJvbDplLHNob3J0TmFtZTpobigpfSk6dGhpcy5fdXBkYXRlUXVvdGVzKGUpfSwoMCx5LnZhbGlkYXRlUmVnaXN0cnkpKHQse2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpvLmFueS5pc1JlcXVpcmVkfSksdGhpcy5zdGF0ZT17c3ltYm9sOmMubGlua2luZy5wcm9TeW1ib2wudmFsdWUoKSxzaG9ydE5hbWU6aG4oKSxhY3R1YWxDb250ZW50SWQ6dW4/cXQuYWN0dWFsQ29udGVudC52YWx1ZSgpOm51bGwsaXNTU09wZW5lZDohMSxpc0NvbnRlbnRNZW51T3BlbmVkOiExfX1jb21wb25lbnREaWRNb3VudCgpewppZihjLmxpbmtpbmcucHJvU3ltYm9sLnN1YnNjcmliZSh0aGlzLl9vblN5bWJvbENoYW5nZWQpLHVuJiZxdC5hY3R1YWxDb250ZW50LnN1YnNjcmliZSh0aGlzLl9vbkFjdHVhbENvbnRlbnRDaGFuZ2VkKSwoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2Vfc3ltYm9sX25hbWVfZm9yX2hlYWRlcl90b29sYmFyIikpe2NvbnN0IGU9Yy5saW5raW5nLmdldENoYXJ0V2lkZ2V0KCk7ZSYmZS53aXRoTW9kZWwobnVsbCwoKCk9PntlLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKG51bGwsdGhpcy5fb25TeW1ib2xJbmZvUmVzb2x2ZWQsITEpfSkpfUR0LlN5bWJvbFNlYXJjaFVJLnByZWxvYWQoKSx0aGlzLl91cGRhdGVRdW90ZXMoYy5saW5raW5nLnByb1N5bWJvbC52YWx1ZSgpKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2lmKGMubGlua2luZy5wcm9TeW1ib2wudW5zdWJzY3JpYmUodGhpcy5fb25TeW1ib2xDaGFuZ2VkKSx1biYmcXQuYWN0dWFsQ29udGVudC51bnN1YnNjcmliZSh0aGlzLl9vbkFjdHVhbENvbnRlbnRDaGFuZ2VkKSwoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2Vfc3ltYm9sX25hbWVfZm9yX2hlYWRlcl90b29sYmFyIikpe2NvbnN0IGU9Yy5saW5raW5nLmdldENoYXJ0V2lkZ2V0KCk7ZT8uaGFzTW9kZWwoKSYmZS5tb2RlbCgpLm1haW5TZXJpZXMoKS5zeW1ib2xSZXNvbHZlZCgpLnVuc3Vic2NyaWJlKG51bGwsdGhpcy5fb25TeW1ib2xJbmZvUmVzb2x2ZWQpfX1yZW5kZXIoKXtjb25zdHtpZDplLGNsYXNzTmFtZTp0LGlzRmFrZTpvfT10aGlzLnByb3BzO2lmKCF1bilyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGYuVG9vbGJhckJ1dHRvbix7aWQ6ZSxjbGFzc05hbWU6bCgpKHQsKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXBwZXJjYXNlX2luc3RydW1lbnRfbmFtZXMiKSYmbG4udXBwZXJjYXNlLGxuLnNtYWxsTGVmdFBhZGRpbmcpLHRoZW1lOnJuLGljb246c24saXNPcGVuZWQ6dGhpcy5zdGF0ZS5pc1NTT3BlbmVkLHRleHQ6dGhpcy5zdGF0ZS5zaG9ydE5hbWUsb25DbGljazp0aGlzLl9vcGVuU3ltYm9sU2VhcmNoRGlhbG9nLHRvb2x0aXA6dS50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2gifSxuKDYwNDAxKSl9KTtjb25zdHtjaGFydFdpZGdldENvbGxlY3Rpb246c309dGhpcy5jb250ZXh0LHI9cz8uYWN0aXZlQ2hhcnRXaWRnZXQsZD1yPy52YWx1ZSgpLm9wdGlvbnMoKS5zaG93RmluYW5jaWFsc0VuYWJsZWQ7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsaS5jcmVhdGVFbGVtZW50KFV0LHtpZDplLGNsYXNzTmFtZTpsKCkobG4uc2VhcmNoQnV0dG9uLHRoaXMuc3RhdGUuaXNDb250ZW50TWVudU9wZW5lZCYmbG4ubWVudU9wZW5lZCksdG9vbHRpcDp1LnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaCJ9LG4oNjA0MDEpKSxhY3Rpb246e2lkOm8/dm9pZCAwOiJoZWFkZXItdG9vbGJhci1zd2l0Y2gtZGF0YS10eXBlIixpY29uOnRoaXMuc3RhdGUuYWN0dWFsQ29udGVudElkPyR0LkNPTlRFTlRfQlVUVE9OX0lDT05TW3RoaXMuc3RhdGUuYWN0dWFsQ29udGVudElkXT8/b246b24sb25DbGljazp0aGlzLl90b2dnbGVDb250ZW50TWVudSxyZWZlcmVuY2U6dGhpcy5fY29udGVudE1lbnVCdXR0b25SZWYsdG9vbHRpcDp1LnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaCJ9LG4oNDc1MDI4KSl9LG9uQ2xpY2s6dGhpcy5fb3BlblN5bWJvbFNlYXJjaERpYWxvZyx2YWx1ZTp0aGlzLnN0YXRlLnNob3J0TmFtZX0pLCFvJiZpLmNyZWF0ZUVsZW1lbnQoYW4se3N5bWJvbDp0aGlzLnN0YXRlLnN5bWJvbCxwcm92aWRlckxhYmVsOlh0LkxhYmVsUHJvZHVjdC5TeW1ib2xTZWFyY2hCdXR0b24sdHJhY2tpbmdEYXRhOntzb3VyY2U6ImNoYXJ0X3Rvb2xiYXIiLHByaW1hcnlfbWVudToiQ29udGVudE1lbnUifSxwbGFjZW1lbnRSdWxlczpbe2FuY2hvclBvaW50Ont4OjAseToxfSxjb250ZW50UG9pbnQ6e3g6MCx5OjB9LG9mZnNldDp7eDoyLHk6NX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn1dLHNob3dGaW5hbmNpYWxzOmQsb25DbG9zZTp0aGlzLl9vbkNvbnRlbnRNZW51Q2xvc2UsYW5jaG9yZWQ6e3R5cGU6ImVsZW1lbnQiLGF0OnRoaXMuX2NvbnRlbnRNZW51QnV0dG9uUmVmfSxpc09wZW46dGhpcy5zdGF0ZS5pc0NvbnRlbnRNZW51T3BlbmVkLGFjdHVhbENvbnRlbnRJZDp0aGlzLnN0YXRlLmFjdHVhbENvbnRlbnRJZCxyZWY6dGhpcy5fbWVudVJlZixzaG93Q2hhcnQ6ITB9KSl9YXN5bmMgX3VwZGF0ZVF1b3RlcyhlKXtpZighZSlyZXR1cm47Y29uc3QgdD1hd2FpdCgwLGp0LnNuYXBzaG90ZXIpKCkuZ2V0U25hcHNob3QoZSxuZXcgU2V0KFsic2hvcnRfbmFtZSJdKSk7aWYoZT09PWMubGlua2luZy5wcm9TeW1ib2wudmFsdWUoKSlpZigiZXJyb3IiPT09dC5zdGF0dXMpdGhpcy5zZXRTdGF0ZSh7c3ltYm9sOmUsc2hvcnROYW1lOmhuKCl9KTtlbHNle2NvbnN0e3ZhbHVlczpufT10O3RoaXMuc2V0U3RhdGUoe3N5bWJvbDplLHNob3J0TmFtZTpuLnNob3J0X25hbWV8fGhuKCl9KX19fWZ1bmN0aW9uIGhuKCl7Y29uc3QgZT1jLmxpbmtpbmcucHJvU3ltYm9sLnZhbHVlKCk7cmV0dXJuKDAsS3Quc2FmZVNob3J0TmFtZSkoZSl9Y24uY29udGV4dFR5cGU9ZG47dmFyIHZuPW4oOTcxNTQ1KSxtbj1uKDg4NzAxOCk7ZnVuY3Rpb24gcG4oZSl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShtbi5kZXNjcmlwdGlvbixlLmNsYXNzTmFtZSl9LGUuY2hpbGRyZW4pfXZhciBmbj1uKDUxMDU5OCksZ249bigxNjU0MTIpO2NvbnN0IGJuPSgwLHp0Lm1lcmdlVGhlbWVzKShhZS5ERUZBVUxUX1BPUFVQX01FTlVfSVRFTV9USEVNRSx7bGFiZWxSb3c6Z24ubGFiZWxSb3csdG9vbGJveDpnbi50b29sYm94LGl0ZW06Z24udGl0bGVJdGVtfSksd249KDAsenQubWVyZ2VUaGVtZXMpKGFlLkRFRkFVTFRfUE9QVVBfTUVOVV9JVEVNX1RIRU1FLHtsYWJlbFJvdzpnbi5sYWJlbFJvdyx0b29sYm94OmduLnRvb2xib3gsCml0ZW06Z24udGl0bGVJdGVtVGFibGV0U21hbGx9KSxDbj0oMCx6dC5tZXJnZVRoZW1lcykoYWUuREVGQVVMVF9QT1BVUF9NRU5VX0lURU1fVEhFTUUse2l0ZW06Z24uaXRlbX0pLF9uPSgwLHp0Lm1lcmdlVGhlbWVzKShhZS5ERUZBVUxUX1BPUFVQX01FTlVfSVRFTV9USEVNRSx7aXRlbTpnbi5pdGVtVGFibGV0U21hbGx9KTtmdW5jdGlvbiB5bihlKXtjb25zdHtyb2xlOnQsY2xhc3NOYW1lOm4saXRlbTphLGRlc2NyaXB0aW9uOm8sZmF2b3JpdGU6cyxpc0Zhdm9yaXRpbmdBbGxvd2VkOnIsaXNUYWJsZXRTbWFsbDpkLG9uQXBwbHk6dSxvblJlbW92ZTpjLG9uRmF2b3I6aCxpc0FjdGl2ZTp2LGRlc2NyaXB0aW9uRGF0YU5hbWU6bSwuLi5wfT1lLGY9cCxbZyxiXT0oMCxVZS51c2VIb3ZlckRlcHJlY2F0ZWQpKCksdz1kP3duOmJuLEM9ZD9fbjpDbixfPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+dShhKSksW3UsYV0pLHk9KDAsaS51c2VDYWxsYmFjaykoKGU9PmMoYSxlKSksW2MsYV0pLFM9KDAsaS51c2VDYWxsYmFjaykoKCgpPT57aCYmaChhKX0pLFtoLGFdKTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5iLC4uLmYsY2xhc3NOYW1lOmwoKShuLGduLndyYXApfSxpLmNyZWF0ZUVsZW1lbnQoQS5BY2Nlc3NpYmxlTWVudUl0ZW0se3JvbGU6dCx0aGVtZTp3LGxhYmVsOmkuY3JlYXRlRWxlbWVudChmbi5MZWFkaW5nRW1vamlUZXh0LHt0ZXh0OmEubmFtZX0pLGxhYmVsUm93Q2xhc3NOYW1lOmwoKShkJiZnbi5pdGVtTGFiZWxUYWJsZXRTbWFsbCksc2hvd1Rvb2xib3hPbkhvdmVyOiFzJiYhZyxzaG93VG9vbGJveE9uRm9jdXM6ITAsb25DbGljazpfLGlzQWN0aXZlOnYsdG9vbGJveDppLmNyZWF0ZUVsZW1lbnQoaS5GcmFnbWVudCxudWxsLCFhLmlzRGVmYXVsdCYmaS5jcmVhdGVFbGVtZW50KEtlLk1lbnVSZW1vdmVCdXR0b24se2tleToicmVtb3ZlIixoaWRkZW46IWplLnRvdWNoJiYhZyxvbkNsaWNrOnksY2xhc3NOYW1lOmwoKShnbi5yZW1vdmUsdiYmZ24uYWN0aXZlKX0pLEJvb2xlYW4oaCkmJnImJmkuY3JlYXRlRWxlbWVudChILk1lbnVGYXZvcml0ZUJ1dHRvbix7a2V5OiJmYXZvcml0ZSIsaXNGaWxsZWQ6Qm9vbGVhbihzKSxvbkNsaWNrOlN9KSl9KSxvJiZpLmNyZWF0ZUVsZW1lbnQoYWUuUG9wdXBNZW51SXRlbSx7dGhlbWU6QyxsYWJlbDppLmNyZWF0ZUVsZW1lbnQocG4se2NsYXNzTmFtZTpsKCkoZ24uZGVzY3JpcHRpb24sZCYmZ24uZGVzY3JpcHRpb25UYWJsZXRTbWFsbCl9LG8pLG9uQ2xpY2s6Xyxpc0FjdGl2ZTp2LCJkYXRhLW5hbWUiOm19KSl9dmFyIFNuPW4oODI0NTkwKTtmdW5jdGlvbiB4bihlKXtjb25zdHtpdGVtOnQsb25GYXZvcjpvLG9uQXBwbHk6cyxvblJlbW92ZTpsLGlzUmVtb3ZhYmxlOnIsaXNGYXZvcmFibGU6ZCxpc0Zhdm9yaXRlOmMsaXNUYWJsZXRTbWFsbDpoLC4uLnZ9PWUsbT10Lm1ldGFfaW5mbyxwPW0/KDAsU24uZ2V0U3R1ZHlUZW1wbGF0ZURlc2NTdHJpbmcpKG0uaW5kaWNhdG9ycyk6dm9pZCAwLGY9KHI/MTowKSsoZD8xOjApLGc9KDAsaS51c2VDYWxsYmFjaykoKCgpPT5vPy4odCkpLFtvLHRdKSxiPSgwLGkudXNlQ2FsbGJhY2spKChlPT5sPy4odCxlKSksW2wsdF0pLHc9KDAsaS51c2VDYWxsYmFjaykoKCgpPT5zKHQpKSxbcyx0XSk7cmV0dXJuKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpP2kuY3JlYXRlRWxlbWVudChSLk1lbnVJdGVtLHsuLi52LHJvbGU6InJvdyIsb25DbGljazp3LGFyaWFMZXZlbDoyLHJpZ2h0U2xvdDpmdW5jdGlvbigpe2lmKCFkJiYhcilyZXR1cm4gbnVsbDtyZXR1cm5bciYmaS5jcmVhdGVFbGVtZW50KEwuQ29udGV4dEFjdGlvbix7a2V5OiJyZW1vdmUiLGhpZGVJZk5vSG92ZXI6ITAscm9sZToiZ3JpZGNlbGwifSxpLmNyZWF0ZUVsZW1lbnQoRGUse3JvbGU6ImJ1dHRvbiIsb25DbGljazpiLHRpdGxlOnUudChudWxsLHtjb250ZXh0OiJoZWFkZXIgdG9vbGJhciBpbmRpY2F0b3IgdGVtcGxhdGVzIG1lbnUgaXRlbSJ9LG4oMzkzMjczKSksaWNvbjpXZSxkYXRhUWFJZDoicmVtb3ZlLWluZGljYXRvci10ZW1wbGF0ZS1idXR0b24ifSkpLGQmJmkuY3JlYXRlRWxlbWVudChMLkNvbnRleHRBY3Rpb24se2tleToiZmF2b3JpdGUiLGhpZGVJZk5vSG92ZXI6IWMscm9sZToiZ3JpZGNlbGwifSxpLmNyZWF0ZUVsZW1lbnQoRi5GYXZvcml0ZUljb25CdXR0b24se2lzRmF2b3JpdGU6ISFjLG9uQ2xpY2s6Z30pKV19KCksYXJpYUxhYmVsOnQubmFtZSxkZXNjcmlwdGlvbjpwLGVsbGlwc2lzOiExLHRpdGxlOmkuY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6ImdyaWRjZWxsIiwiYXJpYS1jb2xzcGFuIjozLWZ9LGkuY3JlYXRlRWxlbWVudChmbi5MZWFkaW5nRW1vamlUZXh0LHt0ZXh0OnQubmFtZX0pKSwiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGRhdGFRYUlkOnQubmFtZX0pOmkuY3JlYXRlRWxlbWVudCh5bix7Li4uZSxyb2xlOiJyb3ciLGlzRmF2b3JpdGluZ0FsbG93ZWQ6ZCxmYXZvcml0ZTpjLGRlc2NyaXB0aW9uOnAsaXRlbTp7Li4udCxpc0RlZmF1bHQ6dC5pc19kZWZhdWx0fSwiZGF0YS1uYW1lIjp0Lm5hbWUsImRhdGEtaWQiOnQuaWR9KX12YXIgRW49big3NzE5ODMpO2NvbnN0IE1uPSgwLHp0Lm1lcmdlVGhlbWVzKShhZS5ERUZBVUxUX1BPUFVQX01FTlVfSVRFTV9USEVNRSxFbik7ZnVuY3Rpb24ga24oZSl7Y29uc3R7b25DbGljazp0LGlzVGFibGV0U21hbGw6bixjbGFzc05hbWU6byxpY29uOnMsdGl0bGU6ZCwuLi51fT1lO3JldHVybigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKT9pLmNyZWF0ZUVsZW1lbnQoUi5NZW51SXRlbSx7Li4udSxyb2xlOiJyb3ciLG9uQ2xpY2s6KCk9PnQoKSxsZWZ0U2xvdDpzP2kuY3JlYXRlRWxlbWVudChWLlN2Z0ljb25MaXN0SXRlbVBhcnQse2ljb25Tdmc6c30pOm51bGwsdGl0bGU6aS5jcmVhdGVFbGVtZW50KCJzcGFuIix7cm9sZToiZ3JpZGNlbGwiLCJhcmlhLWNvbHNwYW4iOjN9LGQpLGFyaWFMYWJlbDpkLGFyaWFMZXZlbDoxLAoiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGRhdGFRYUlkOiJpbmRpY2F0b3JzLWFjdGlvbi1tZW51LWl0ZW0ifSk6aS5jcmVhdGVFbGVtZW50KEEuQWNjZXNzaWJsZU1lbnVJdGVtLHsuLi51LHJvbGU6InJvdyIsdGhlbWU6TW4sY2xhc3NOYW1lOmwoKShvLEVuLndyYXApLGxhYmVsOmkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkVuLnRpdGxlV3JhcH0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKEVuLnRpdGxlLG4mJkVuLnRpdGxlVGFibGV0U21hbGwpfSxpLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtjbGFzc05hbWU6RW4uaWNvbixpY29uOnN9KSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpFbi50ZXh0fSxkKSkpLG9uQ2xpY2s6dH0pfXZhciBJbj1uKDM0MjI2MSksVG49big2ODEyMjQpO2NvbnN0IEFuPWkuY3JlYXRlQ29udGV4dChudWxsKTt2YXIgSG49big5OTU1NDkpLFZuPW4oNzYxOTcxKSxSbj1uKDc4Mzc4MSk7ZnVuY3Rpb24gRm4oZSl7Y29uc3R7dGVtcGxhdGVzOnQscmVjZW50czpvLG9uVGVtcGxhdGVTYXZlOnMsb25UZW1wbGF0ZVJlbW92ZTpyLG9uVGVtcGxhdGVTZWxlY3Q6ZCxvblRlbXBsYXRlRmF2b3JpdGU6Yyxpc1RhYmxldFNtYWxsOmgsaXNMb2FkaW5nOnYsb25PcGVuVGVtcGxhdGVzRGlhbG9nOm19PWUscD0oMCxpLnVzZU1lbW8pKCgoKT0+dC5maWx0ZXIoKGU9PmUuaXNfZGVmYXVsdCkpKSxbdF0pLGY9KDAsaS51c2VNZW1vKSgoKCk9PnQuZmlsdGVyKChlPT4hZS5pc19kZWZhdWx0KSkpLFt0XSksZz0oMCxpLnVzZUNvbnRleHQpKEFuKSxiPSgwLGkudXNlQ29udGV4dCkoVG4uTWVudUNvbnRleHQpLHc9KDAsSW4udXNlRm9yY2VVcGRhdGUpKCk7KDAsaS51c2VFZmZlY3QpKCgoKT0+e2lmKG51bGwhPT1nKXtjb25zdCBlPXt9O3JldHVybiBnLmdldE9uQ2hhbmdlKCkuc3Vic2NyaWJlKGUsKCgpPT57dygpLGImJmIudXBkYXRlKCl9KSksKCk9PmcuZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZUFsbChlKX1yZXR1cm4oKT0+e319KSxbXSk7Y29uc3QgQz0oZSx0KT0+aS5jcmVhdGVFbGVtZW50KHhuLHtrZXk6ZS5uYW1lLGl0ZW06ZSxpc0Zhdm9yYWJsZTpCb29sZWFuKGMpLGlzUmVtb3ZhYmxlOiFlLmlzX2RlZmF1bHQsaXNGYXZvcml0ZTpudWxsIT09ZS5mYXZvcml0ZV9kYXRlLG9uQXBwbHk6ZT0+ZChlLGZ1bmN0aW9uKGUpe2lmKCJyZWNlbnQiPT09ZSlyZXR1cm4idGVtcGxhdGVzX3JlY2VudCI7cmV0dXJufSh0KSksb25GYXZvcjpjLG9uUmVtb3ZlOnIsaXNUYWJsZXRTbWFsbDpoLCJkYXRhLWdyb3VwLW5hbWUiOnQsImRhdGEtaXMtZGVmYXVsdCI6ZS5pc19kZWZhdWx0fSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToidHJlZWdyaWQiLGNsYXNzTmFtZTpsKCkoUm4ubWVudSwoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIikmJlJuLm5ld1ZpZXcsaCYmUm4ubWVudVNtYWxsVGFibGV0LCFoJiZSbi5kZXNrdG9wKX0saS5jcmVhdGVFbGVtZW50KGtuLHtvbkNsaWNrOnMsaXNUYWJsZXRTbWFsbDpoLGljb246SG4sdGl0bGU6KDAsWGUuYXBwZW5kRWxsaXBzaXMpKHUudChudWxsLHtjb250ZXh0OiJ0b29sYmFyX2luZGljYXRvcnNfYWN0aW9uX21lbnUifSxuKDI0NDA4MCkpKSwiYXJpYS1oYXNwb3B1cCI6ImRpYWxvZyJ9KSx2JiZpLmNyZWF0ZUVsZW1lbnQoaS5GcmFnbWVudCxudWxsLGkuY3JlYXRlRWxlbWVudChMbixudWxsKSxpLmNyZWF0ZUVsZW1lbnQoZmUuVG9vbFdpZGdldE1lbnVTcGlubmVyLG51bGwpKSwhdiYmKCgwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKT9pLmNyZWF0ZUVsZW1lbnQoem4se2RlZmF1bHRzOnAsY3VzdG9tczpmLHJlY2VudHM6byxyZW5kZXI6QyxzdGF0ZTpoP3ZvaWQgMDpnfSk6aD9pLmNyZWF0ZUVsZW1lbnQoWm4se2RlZmF1bHRzOnAsY3VzdG9tczpmLHJlY2VudHM6byxyZW5kZXI6Q30pOmkuY3JlYXRlRWxlbWVudChObix7ZGVmYXVsdHM6cCxjdXN0b21zOmYscmVjZW50czpvLHJlbmRlcjpDLHN0YXRlOmd9KSksaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoTG4sbnVsbCksaS5jcmVhdGVFbGVtZW50KGtuLHtvbkNsaWNrOm0saXNUYWJsZXRTbWFsbDpoLGljb246Vm4sdGl0bGU6KDAsWGUuYXBwZW5kRWxsaXBzaXMpKHUudChudWxsLHZvaWQgMCxuKDgwNjYzNikpKSwiYXJpYS1oYXNwb3B1cCI6ImRpYWxvZyJ9KSkpfWZ1bmN0aW9uIExuKCl7cmV0dXJuKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpP2kuY3JlYXRlRWxlbWVudChkLkRpdmlkZXJMaXN0SXRlbSx7cm9sZToic2VwYXJhdG9yIn0pOmkuY3JlYXRlRWxlbWVudChiLlBvcHVwTWVudVNlcGFyYXRvcixudWxsKX1mdW5jdGlvbiBabihlKXtjb25zdHtkZWZhdWx0czp0LGN1c3RvbXM6YSxyZWNlbnRzOm8scmVuZGVyOnN9PWU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsby5sZW5ndGg+MCYmaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoYi5Qb3B1cE1lbnVTZXBhcmF0b3IsbnVsbCksaS5jcmVhdGVFbGVtZW50KHBlLlRvb2xXaWRnZXRNZW51U3VtbWFyeSx7Y2xhc3NOYW1lOlJuLm1lbnVJdGVtSGVhZGVyVGFibGV0U21hbGx9LHUudChudWxsLHZvaWQgMCxuKDM1ODI5MSkpKSxvLm1hcCgoZT0+cyhlLCJyZWNlbnQiKSkpKSl9ZnVuY3Rpb24gTm4oZSl7Y29uc3R7ZGVmYXVsdHM6dCxjdXN0b21zOmEscmVjZW50czpvLHJlbmRlcjpzLHN0YXRlOmx9PWU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsby5sZW5ndGg+MCYmaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoYi5Qb3B1cE1lbnVTZXBhcmF0b3IsbnVsbCksaS5jcmVhdGVFbGVtZW50KHBlLlRvb2xXaWRnZXRNZW51U3VtbWFyeSx7Y2xhc3NOYW1lOlJuLm1lbnVJdGVtSGVhZGVyCn0sdS50KG51bGwsdm9pZCAwLG4oMzU4MjkxKSkpLG8ubWFwKChlPT5zKGUsInJlY2VudCIpKSkpKX1mdW5jdGlvbiB6bihlKXtjb25zdHtkZWZhdWx0czp0LGN1c3RvbXM6YSxyZWNlbnRzOm8scmVuZGVyOnMsc3RhdGU6bH09ZSxyPShhLmxlbmd0aD4wJiZ0Lmxlbmd0aCx1LnQobnVsbCx7Y29udGV4dDoiaGVhZGVyIHRvb2xiYXIgaW5kaWNhdG9yIHRlbXBsYXRlIHNlY3Rpb24gaXRlbSJ9LG4oNTE4MjQ5KSkpO3UudChudWxsLHtjb250ZXh0OiJoZWFkZXIgdG9vbGJhciBpbmRpY2F0b3IgdGVtcGxhdGUgc2VjdGlvbiBpdGVtIn0sbigzMjU5MTApKSx1LnQobnVsbCx7Y29udGV4dDoiaGVhZGVyIHRvb2xiYXIgaW5kaWNhdG9yIHRlbXBsYXRlIHNlY3Rpb24gaXRlbSJ9LG4oNDI3NDQyKSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsby5sZW5ndGg+MCYmaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoZC5EaXZpZGVyTGlzdEl0ZW0se3JvbGU6InNlcGFyYXRvciJ9KSxpLmNyZWF0ZUVsZW1lbnQoYmUuU2VjdGlvbkxpc3RJdGVtLHt0aXRsZTppLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJncmlkY2VsbCIsImFyaWEtY29sc3BhbiI6M30sciksYXJpYUxhYmVsOnIsZ3JvdXBSb2xlOiJyb3dncm91cCIsYXJpYUxldmVsOjF9LG8ubWFwKChlPT5zKGUsInJlY2VudCIpKSkpKSl9dmFyIEJuPW4oMjMyMzY0KSxPbj1uKDQzMDgxNCk7Y2xhc3MgRG57Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9pc0Zhdm9yaXRlRW5hYmxlZD0oMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJpdGVtc19mYXZvcml0aW5nIiksdGhpcy5oYW5kbGVGYXZvclRlbXBsYXRlPWU9PntpZighdGhpcy5faXNGYXZvcml0ZUVuYWJsZWQpcmV0dXJuO2NvbnN0e2lkOnQsaXNfZGVmYXVsdDpuLGZhdm9yaXRlX2RhdGU6YX09ZTtudWxsIT09YT90aGlzLl9yZW1vdmVGYXZvcml0ZVRlbXBsYXRlKHQsbik6dGhpcy5fYWRkRmF2b3JpdGVUZW1wbGF0ZSh0LG4pfSx0aGlzLmhhbmRsZURyb3Bkb3duT3Blbj0oKT0+e3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYodGhpcy5fc2V0U3RhdGUoe2lzTG9hZGluZzohMH0pLHRoaXMuX3N0dWR5VGVtcGxhdGVzLmludmFsaWRhdGUoKSx0aGlzLl9zdHVkeVRlbXBsYXRlcy5yZWZyZXNoU3R1ZHlUZW1wbGF0ZUxpc3QoKCgpPT50aGlzLl9zZXRTdGF0ZSh7aXNMb2FkaW5nOiExfSkpKSl9LHRoaXMuaGFuZGxlQXBwbHlUZW1wbGF0ZT0oZSx0KT0+e3RoaXMuX3N0dWR5VGVtcGxhdGVzLmFwcGx5VGVtcGxhdGUoZS5uYW1lLHQpLHRoaXMuX3JlY2VudFN0dWR5VGVtcGxhdGVzU2VydmljZSYmdGhpcy5fcmVjZW50U3R1ZHlUZW1wbGF0ZXNTZXJ2aWNlLmFkZChlLmlkKX0sdGhpcy5oYW5kbGVSZW1vdmVUZW1wbGF0ZT0oZSx0LG4pPT57dGhpcy5fc3R1ZHlUZW1wbGF0ZXMuZGVsZXRlU3R1ZHlUZW1wbGF0ZShlLm5hbWUsdCxuKX0sdGhpcy5oYW5kbGVTYXZlVGVtcGxhdGU9ZT0+e3RoaXMuX3N0dWR5VGVtcGxhdGVzLnNob3dTYXZlQXNEaWFsb2coZSl9LHRoaXMuX3N0dWR5VGVtcGxhdGVzPWUsdGhpcy5fcmVjZW50U3R1ZHlUZW1wbGF0ZXNTZXJ2aWNlPXQ7Y29uc3Qgbj10aGlzLl9yZWNlbnRTdHVkeVRlbXBsYXRlc1NlcnZpY2U/LmdldCgpfHxbXSxpPXRoaXMuX3N0dWR5VGVtcGxhdGVzLmxpc3QoKTt0aGlzLl9zdGF0ZT1uZXcgQm4uV2F0Y2hlZFZhbHVlKHtpc0xvYWRpbmc6ITEsc3R1ZHlUZW1wbGF0ZXNMaXN0OmkscmVjZW50czpufSksdGhpcy5fc3R1ZHlUZW1wbGF0ZXMuZ2V0T25DaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVUZW1wbGF0ZXNDaGFuZ2UpLHRoaXMuX3JlY2VudFN0dWR5VGVtcGxhdGVzU2VydmljZT8uZ2V0T25DaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVSZWNlbnRzQ2hhbmdlKSx0aGlzLl9zdHVkeVRlbXBsYXRlcy5yZWZyZXNoU3R1ZHlUZW1wbGF0ZUxpc3QoKX1kZXN0cm95KCl7dGhpcy5fc3R1ZHlUZW1wbGF0ZXMuZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZVRlbXBsYXRlc0NoYW5nZSksdGhpcy5fcmVjZW50U3R1ZHlUZW1wbGF0ZXNTZXJ2aWNlPy5nZXRPbkNoYW5nZSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5faGFuZGxlUmVjZW50c0NoYW5nZSl9c3RhdGUoKXtyZXR1cm4gdGhpcy5fc3RhdGUucmVhZG9ubHkoKX1nZXRTb3J0ZWRGYXZvcml0ZXNTdHVkeVRlbXBsYXRlcyhlKXtyZXR1cm4gZS5maWx0ZXIoKGU9Pm51bGwhPT1lLmZhdm9yaXRlX2RhdGUpKS5zb3J0KCgoZSx0KT0+bnVsbCE9PWUuZmF2b3JpdGVfZGF0ZSYmbnVsbCE9PXQuZmF2b3JpdGVfZGF0ZSYmZS5mYXZvcml0ZV9kYXRlPnQuZmF2b3JpdGVfZGF0ZT8xOi0xKSl9Z2V0VmFsaWRSZWNlbnRzKGUpe2NvbnN0IHQ9ZS5yZWR1Y2UoKChlLHQpPT4oZVt0LmlkXT10LGUpKSx7fSk7cmV0dXJuIHRoaXMuX3N0YXRlLnZhbHVlKCkucmVjZW50cy5tYXAoKGU9PnRbZV0pKS5maWx0ZXIoKGU9PnZvaWQgMCE9PWUpKX1fc2V0U3RhdGUoZSl7dGhpcy5fc3RhdGUuc2V0VmFsdWUoey4uLnRoaXMuX3N0YXRlLnZhbHVlKCksLi4uZX0pfV9oYW5kbGVUZW1wbGF0ZXNDaGFuZ2UoKXt0aGlzLl9zZXRTdGF0ZSh7c3R1ZHlUZW1wbGF0ZXNMaXN0OnRoaXMuX3N0dWR5VGVtcGxhdGVzLmxpc3QoKX0pfV9oYW5kbGVSZWNlbnRzQ2hhbmdlKCl7dGhpcy5fc2V0U3RhdGUoe3JlY2VudHM6dGhpcy5fcmVjZW50U3R1ZHlUZW1wbGF0ZXNTZXJ2aWNlPy5nZXQoKXx8W119KX1fcmVtb3ZlRmF2b3JpdGVUZW1wbGF0ZShlLHQpe2NvbnN0IG49dD9Pbi5iYWNrZW5kLmZhdm9yU3RhbmRhcmRTdHVkeVRlbXBsYXRlOk9uLmJhY2tlbmQuZmF2b3JTdHVkeVRlbXBsYXRlO3RoaXMuX3JlcGxhY2VPbGRGYXZvcml0ZVN0dWR5VGVtcGxhdGUoZSxudWxsLHQpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZuKGUsITEpfV9hZGRGYXZvcml0ZVRlbXBsYXRlKGUsdCl7CmNvbnN0IG49dGhpcy5nZXRTb3J0ZWRGYXZvcml0ZXNTdHVkeVRlbXBsYXRlcyh0aGlzLl9zdGF0ZS52YWx1ZSgpLnN0dWR5VGVtcGxhdGVzTGlzdCksYT1uLmxlbmd0aD9uW24ubGVuZ3RoLTFdLmZhdm9yaXRlX2RhdGU6MCxpPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkP0RhdGUubm93KCk6YSsxLG89dD9Pbi5iYWNrZW5kLmZhdm9yU3RhbmRhcmRTdHVkeVRlbXBsYXRlOk9uLmJhY2tlbmQuZmF2b3JTdHVkeVRlbXBsYXRlO3RoaXMuX3JlcGxhY2VPbGRGYXZvcml0ZVN0dWR5VGVtcGxhdGUoZSxpLHQpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZvKGUsITApfV9yZXBsYWNlT2xkRmF2b3JpdGVTdHVkeVRlbXBsYXRlKGUsdCxuKXtjb25zdCBhPXRoaXMuX3N0YXRlLnZhbHVlKCkuc3R1ZHlUZW1wbGF0ZXNMaXN0Lm1hcCgoYT0+YS5pZD09PWUmJmEuaXNfZGVmYXVsdD09PW4/ey4uLmEsZmF2b3JpdGVfZGF0ZTp0fTphKSk7dGhpcy5fc2V0U3RhdGUoe3N0dWR5VGVtcGxhdGVzTGlzdDphfSl9fXZhciBXbj1uKDYyNzA0NSk7dmFyIFBuPW4oMTU5ODc3KSxVbj1uKDI1NzY5MSk7Y29uc3Qgam49KDAseS5yZWdpc3RyeUNvbnRleHRUeXBlKSgpO2NsYXNzIEtuIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl91cGRhdGVTdGF0ZT1lPT57dGhpcy5zZXRTdGF0ZSh7Li4uZSxpc0FjdGl2ZTp0aGlzLnN0YXRlLmlzQWN0aXZlfSl9LHRoaXMuX2hhbmRsZUFwcGx5VGVtcGxhdGU9KGUsdCk9Pnt0aGlzLl9oYW5kbGVDbG9zZSgpLHRoaXMuX21vZGVsLmhhbmRsZUFwcGx5VGVtcGxhdGUoZSx0KX0sdGhpcy5faGFuZGxlUmVtb3ZlVGVtcGxhdGU9KGUsdCxuKT0+e3RoaXMuX2hhbmRsZUNsb3NlKCksdGhpcy5fbW9kZWwuaGFuZGxlUmVtb3ZlVGVtcGxhdGUoZSx0LG4pfSx0aGlzLl9oYW5kbGVDbG9zZT0oKT0+e3RoaXMuX2hhbmRsZVRvZ2dsZURyb3Bkb3duKCExKX0sdGhpcy5faGFuZGxlVG9nZ2xlRHJvcGRvd249ZT0+e2NvbnN0e2lzQWN0aXZlOnR9PXRoaXMuc3RhdGUsbj0iYm9vbGVhbiI9PXR5cGVvZiBlP2U6IXQ7dGhpcy5zZXRTdGF0ZSh7aXNBY3RpdmU6bn0pfSx0aGlzLl9oYW5kbGVPcGVuVGVtcGxhdGVzRGlhbG9nPSgpPT57KGFzeW5jIGZ1bmN0aW9uKGUpeyhhd2FpdCBQcm9taXNlLmFsbChbbi5lKDUxMzE0KSxuLmUoMjkyOTYpLG4uZSg1MjM5Niksbi5lKDYwMDYyKSxuLmUoMjAzNTQpLG4uZSgxMzQ5Miksbi5lKDM3NzQ2KSxuLmUoODM0ODgpLG4uZSg5NTA0KSxuLmUoNzI2NjYpLG4uZSg5ODA4NCksbi5lKDEwMzg1KSxuLmUoNTIwNjUpLG4uZSg0NzYzMiksbi5lKDY2MDUpLG4uZSg5MTg1NSksbi5lKDMyMTc2KSxuLmUoNDI3MjEpLG4uZSg0NzIwMSksbi5lKDkxNjcwKSxuLmUoNTUzOSksbi5lKDIzNzIpLG4uZSgzOTYwOSksbi5lKDQyMjg4KSxuLmUoOTMyNzcpLG4uZSgyOTc2NSldKS50aGVuKG4uYmluZChuLDMzMDM2OSkpKS5JbmRpY2F0b3JUZW1wbGF0ZXNEaWFsb2dSZW5kZXJlci5nZXRJbnN0YW5jZSgpLnNob3coe21vZGVsOmV9KX0pKHRoaXMuX21vZGVsKX0sKDAseS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtzdHVkeVRlbXBsYXRlczpvLmFueS5pc1JlcXVpcmVkLHRlbXBsYXRlc01lbnVWaWV3U3RhdGVTZXJ2aWNlOm8uYW55LHJlY2VudFN0dWR5VGVtcGxhdGVzU2VydmljZTpvLmFueX0pO2NvbnN0e3JlY2VudFN0dWR5VGVtcGxhdGVzU2VydmljZTphLHN0dWR5VGVtcGxhdGVzOml9PXQ7dGhpcy5fbW9kZWw9bmV3IERuKGksYSksdGhpcy5zdGF0ZT17Li4udGhpcy5fbW9kZWwuc3RhdGUoKS52YWx1ZSgpLGlzQWN0aXZlOiExfX1jb21wb25lbnREaWRNb3VudCgpe3RoaXMuX21vZGVsLnN0YXRlKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX21vZGVsLnN0YXRlKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdGUpLHRoaXMuX21vZGVsLmRlc3Ryb3koKX1yZW5kZXIoKXtjb25zdHtzdHVkeVRlbXBsYXRlc0xpc3Q6ZX09dGhpcy5zdGF0ZSx7aXNTaG93blF1aWNrczp0LGNsYXNzTmFtZTpuLGRpc3BsYXlNb2RlOmEsaWQ6b309dGhpcy5wcm9wcyxzPXRoaXMuX21vZGVsLmdldFNvcnRlZEZhdm9yaXRlc1N0dWR5VGVtcGxhdGVzKGUpLGw9dGhpcy5fbW9kZWwuZ2V0VmFsaWRSZWNlbnRzKGUpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoQW4uUHJvdmlkZXIse3ZhbHVlOnRoaXMuY29udGV4dC50ZW1wbGF0ZXNNZW51Vmlld1N0YXRlU2VydmljZXx8bnVsbH0saS5jcmVhdGVFbGVtZW50KFFuLHtpZDpvLGNsYXNzTmFtZTpuLG1vZGU6YSx0ZW1wbGF0ZXM6ZSxmYXZvcml0ZXM6cyxyZWNlbnRzOmwsb25NZW51T3Blbjp0aGlzLl9tb2RlbC5oYW5kbGVEcm9wZG93bk9wZW4sb25UZW1wbGF0ZUZhdm9yaXRlOnQ/dGhpcy5fbW9kZWwuaGFuZGxlRmF2b3JUZW1wbGF0ZTp2b2lkIDAsb25UZW1wbGF0ZVNlbGVjdDp0aGlzLl9oYW5kbGVBcHBseVRlbXBsYXRlLG9uVGVtcGxhdGVSZW1vdmU6dGhpcy5faGFuZGxlUmVtb3ZlVGVtcGxhdGUsb25UZW1wbGF0ZVNhdmU6dGhpcy5fbW9kZWwuaGFuZGxlU2F2ZVRlbXBsYXRlLG9uT3BlblRlbXBsYXRlc0RpYWxvZzp0aGlzLl9oYW5kbGVPcGVuVGVtcGxhdGVzRGlhbG9nfSkpfX1mdW5jdGlvbiBRbihlKXtjb25zdHtpZDp0LGNsYXNzTmFtZTpvLG1vZGU6cyx0ZW1wbGF0ZXM6cixmYXZvcml0ZXM6ZCxyZWNlbnRzOmMsaXNNZW51T3BlbjpoLG9uVGVtcGxhdGVTZWxlY3Q6dixvblRlbXBsYXRlU2F2ZTpmLG9uVGVtcGxhdGVGYXZvcml0ZTpnLG9uVGVtcGxhdGVSZW1vdmU6Yixvbk9wZW5UZW1wbGF0ZXNEaWFsb2c6X309ZSx5PSgwLGkudXNlUmVmKShudWxsKSxTPSgwLGkudXNlUmVmKShudWxsKSx4PWwoKShvLFVuLndyYXAse1tVbi5mdWxsXToiZnVsbCI9PT1zLFtVbi5tZWRpdW1dOiJtZWRpdW0iPT09c30pLEU9InNtYWxsIiE9PXMmJmcmJmQubGVuZ3RoPjA7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChwLlRvb2xXaWRnZXRSb3dXcmFwLHtpZDp0LGNsYXNzTmFtZTp4fSxpLmNyZWF0ZUVsZW1lbnQody5NYXRjaE1lZGlhLHsKcnVsZTpDLkRpYWxvZ0JyZWFrcG9pbnRzLlRhYmxldFNtYWxsfSwodD0+aS5jcmVhdGVFbGVtZW50KG0uVG9vbGJhck1lbnVCdXR0b24se3JlZjp5LG1lbnVSZWZlcmVuY2U6Uyxvbk9wZW46ZS5vbk1lbnVPcGVuLGlzRHJhd2VyOnQsZHJhd2VyUG9zaXRpb246IkJvdHRvbSIsYXJyb3c6ITEsY29udGVudDppLmNyZWF0ZUVsZW1lbnQodm4uVG9vbFdpZGdldENvbGxhcHNpYmxlQnV0dG9uLHt0YWc6ImRpdiIsY2xhc3NOYW1lOmwoKShFJiZVbi5idXR0b25XaXRoRmF2b3JpdGVzKSxkaXNwbGF5TW9kZTpzLGlzT3BlbmVkOmgsaWNvbjpQbixmb3JjZUludGVyYWN0aXZlOiEwLGNvbGxhcHNlV2hlbjpbImZ1bGwiLCJtZWRpdW0iLCJzbWFsbCJdfSksb25DbGljazprLHRvb2x0aXA6dS50KG51bGwsdm9pZCAwLG4oNjE2OSkpLGVuYWJsZVNjcm9sbENvbXBlbnNhdGlvbjooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIiksbWVudURhdGFOYW1lOiJpbmRpY2F0b3ItdGVtcGxhdGVzLW1lbnUifSxpLmNyZWF0ZUVsZW1lbnQoRm4se29uVGVtcGxhdGVTYXZlOmYsb25UZW1wbGF0ZVNlbGVjdDp2LG9uVGVtcGxhdGVSZW1vdmU6TSxvblRlbXBsYXRlRmF2b3JpdGU6Zyx0ZW1wbGF0ZXM6cixyZWNlbnRzOmMsaXNUYWJsZXRTbWFsbDp0LG9uT3BlblRlbXBsYXRlc0RpYWxvZzpffSkpKSksRSYmaS5jcmVhdGVFbGVtZW50KHFuLHtmYXZvcml0ZXM6ZCxvblRlbXBsYXRlU2VsZWN0OmZ1bmN0aW9uKGUpe3YoZSwidGVtcGxhdGVzX2Zhdm9yaXRlcyIpLGsoKX19KSk7ZnVuY3Rpb24gTShlLHQpe2lmKHQmJigwLEcuaXNLZXlib2FyZENsaWNrKSh0KSYmUy5jdXJyZW50KXtjb25zdCB0PSgwLGllLnF1ZXJ5TWVudUVsZW1lbnRzKShTLmN1cnJlbnQpLG49dC5maW5kSW5kZXgoKHQ9Pm51bGwhPT10LmNsb3Nlc3QoYFtkYXRhLWlkPSIke2UuaWR9Il1gKSkpO2IoZSxudWxsLCgoKT0+e2lmKC0xIT09biYmUy5jdXJyZW50KXtjb25zdCBlPXRbbisxXT8/dFtuLTFdO2U/ZS5mb2N1cygpOigwLGllLmZvY3VzRmlyc3RNZW51SXRlbSkoUy5jdXJyZW50KSx5LmN1cnJlbnQ/LnVwZGF0ZSgpfX0pKX1lbHNlIGIoZSl9ZnVuY3Rpb24gaygpeygwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwiaW5kaWNhdG9yIHRlbXBsYXRlcyIpfX1mdW5jdGlvbiBxbihlKXtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxlLmZhdm9yaXRlcy5tYXAoKCh0LG4sYSk9PmkuY3JlYXRlRWxlbWVudChXbi5GYXZvcml0ZUl0ZW0se2tleTp0Lm5hbWUsaXRlbTp0LG9uQXBwbHk6ZS5vblRlbXBsYXRlU2VsZWN0LGNsYXNzTmFtZTpsKCkoe1tVbi5maXJzdF06MD09PW4sW1VuLmxhc3RdOm49PT1hLmxlbmd0aC0xfSl9KSkpKX1Lbi5jb250ZXh0VHlwZT1qbjtuKDgyOTE4MCk7dmFyICRuPW4oMTc1Mzk1KSxYbj1uKDQ5OTcyNCksR249big3NjIwMiksSm49big1NzA2ODMpO2NvbnN0IFluPXt1bmRvSG90S2V5OigwLG9lLmhvdEtleVNlcmlhbGl6ZSkoe2tleXM6WygwLE0uaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoTS5Nb2RpZmllcnMuTW9kLCExKSwiWiJdLHRleHQ6InswfSArIHsxfSJ9KSxyZWRvSG90S2V5OigwLG9lLmhvdEtleVNlcmlhbGl6ZSkoe2tleXM6WygwLE0uaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoTS5Nb2RpZmllcnMuTW9kLCExKSwiWSJdLHRleHQ6InswfSArIHsxfSJ9KX0sZWE9KDAsenQubWVyZ2VUaGVtZXMpKGYuREVGQVVMVF9UT09MQkFSX0JVVFRPTl9USEVNRSxKbiksdGE9KDAseS5yZWdpc3RyeUNvbnRleHRUeXBlKSgpO2NsYXNzIG5hIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9iYXRjaGVkPW51bGwsdGhpcy5faGFuZGxlQ2xpY2tVbmRvPSgpPT57KDAsWC50cmFja0V2ZW50KSgiR1VJIiwiVW5kbyIpLCgwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwidW5kbyIpO2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjplfT10aGlzLmNvbnRleHQ7ZS51bmRvSGlzdG9yeS51bmRvKCl9LHRoaXMuX2hhbmRsZUNsaWNrUmVkbz0oKT0+eygwLFgudHJhY2tFdmVudCkoIkdVSSIsIlJlZG8iKSwoMCxELnRyYWNrQnV0dG9uQ2xpY2spKCJ0b3AgdG9vbGJhciIsInJlZG8iKTtjb25zdHtjaGFydFdpZGdldENvbGxlY3Rpb246ZX09dGhpcy5jb250ZXh0O2UudW5kb0hpc3RvcnkucmVkbygpfSwoMCx5LnZhbGlkYXRlUmVnaXN0cnkpKHQse2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpvLmFueS5pc1JlcXVpcmVkfSksdGhpcy5zdGF0ZT10aGlzLl9nZXRTdGF0ZUZyb21VbmRvSGlzdG9yeSgpfWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dDtlLnVuZG9IaXN0b3J5LnJlZG9TdGFjaygpLm9uQ2hhbmdlKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25DaGFuZ2VTdGFjayksZS51bmRvSGlzdG9yeS51bmRvU3RhY2soKS5vbkNoYW5nZSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhbmdlU3RhY2spfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dDtlLnVuZG9IaXN0b3J5LnJlZG9TdGFjaygpLm9uQ2hhbmdlKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYW5nZVN0YWNrKSxlLnVuZG9IaXN0b3J5LnVuZG9TdGFjaygpLm9uQ2hhbmdlKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYW5nZVN0YWNrKSx0aGlzLl9iYXRjaGVkPW51bGx9cmVuZGVyKCl7Y29uc3R7aWQ6ZX09dGhpcy5wcm9wcyx7aXNFbmFibGVkUmVkbzp0LGlzRW5hYmxlZFVuZG86YSxyZWRvU3RhY2s6byx1bmRvU3RhY2s6c309dGhpcy5zdGF0ZTtsZXQgbCxyLGQsYztyZXR1cm4gYSYmKGw9KDAsJG4uY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKSh1LnQobnVsbCx7cmVwbGFjZTp7aGludDpzfSxjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LG4oNzMxNjQ5KSkpLHI9WW4udW5kb0hvdEtleSksdCYmKGQ9KDAsJG4uY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKSh1LnQobnVsbCx7CnJlcGxhY2U6e2hpbnQ6b30sY29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxuKDQ1MzI2MykpKSxjPVluLnJlZG9Ib3RLZXkpLGkuY3JlYXRlRWxlbWVudChwLlRvb2xXaWRnZXRSb3dXcmFwLHtpZDplfSxpLmNyZWF0ZUVsZW1lbnQoZi5Ub29sYmFyQnV0dG9uLHtpY29uOlhuLGlzRGlzYWJsZWQ6IWEsb25DbGljazp0aGlzLl9oYW5kbGVDbGlja1VuZG8sdGhlbWU6ZWEsdG9vbHRpcDpsLCJkYXRhLXRvb2x0aXAtaG90a2V5IjpyfSksaS5jcmVhdGVFbGVtZW50KGYuVG9vbGJhckJ1dHRvbix7aWNvbjpHbixpc0Rpc2FibGVkOiF0LG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2tSZWRvLHRoZW1lOmVhLHRvb2x0aXA6ZCwiZGF0YS10b29sdGlwLWhvdGtleSI6Y30pKX1fb25DaGFuZ2VTdGFjaygpe251bGw9PT10aGlzLl9iYXRjaGVkJiYodGhpcy5fYmF0Y2hlZD1Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e2lmKG51bGw9PT10aGlzLl9iYXRjaGVkKXJldHVybjt0aGlzLl9iYXRjaGVkPW51bGw7Y29uc3QgZT10aGlzLl9nZXRTdGF0ZUZyb21VbmRvSGlzdG9yeSgpO3RoaXMuc2V0U3RhdGUoZSl9KSkpfV9nZXRTdGF0ZUZyb21VbmRvSGlzdG9yeSgpe2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjplfT10aGlzLmNvbnRleHQsdD1lLnVuZG9IaXN0b3J5LnVuZG9TdGFjaygpLG49ZS51bmRvSGlzdG9yeS5yZWRvU3RhY2soKSxhPW4uaGVhZCgpLGk9dC5oZWFkKCk7cmV0dXJue2lzRW5hYmxlZFJlZG86IW4uaXNFbXB0eSgpLGlzRW5hYmxlZFVuZG86IXQuaXNFbXB0eSgpLHJlZG9TdGFjazphP2EudGV4dCgpLnRyYW5zbGF0ZWRUZXh0KCk6IiIsdW5kb1N0YWNrOmk/aS50ZXh0KCkudHJhbnNsYXRlZFRleHQoKToiIn19fW5hLmNvbnRleHRUeXBlPXRhO3ZhciBhYT1uKDM0NDc4NSksaWE9big0Mjk0NjUpLG9hPW4oOTkwMDE0KTtmdW5jdGlvbiBzYShlKXtjb25zdHt0aXRsZTp0LGNoaWxkcmVuOm4saXNTbWFsbFdpZHRoOmEsc2VwYXJhdG9yOm8sY2xhc3NOYW1lOnN9PWU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToiZ3JvdXAiLGNsYXNzTmFtZTpsKCkocyxvYS5yb3csYSYmb2Euc21hbGxSb3cpfSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvYS5yb3dJbm5lcn0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKG9hLnJvd0xhYmVsLGEmJm9hLnNtYWxsUm93TGFiZWwpfSx0KSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvYS5yb3dCdXR0b25zLCJkYXRhLXJvbGUiOiJyb3cifSxuKSksbyl9ZnVuY3Rpb24gbGEoZSl7Y29uc3R7aXNBY3RpdmU6dCxpY29uOm4saXNTbWFsbFdpZHRoOmEsY2xhc3NOYW1lOm8sbGF5b3V0OnMsb25DbGljazpkLGlzRmlyc3RJdGVtSW5Sb3c6dSwuLi5jfT1lLGg9YyxbdixtXT0oMCxPZS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse3JvbGU6Im1lbnVpdGVtcmFkaW8iLGNsYXNzTmFtZTpsKCkobyxvYS5sYXlvdXRCdXR0b25XcmFwLGEmJm9hLnNtYWxsV2lkdGgsb2EuYWNjZXNzaWJsZSksdHlwZToiYnV0dG9uIiwiYXJpYS1jaGVja2VkIjp0LCJhcmlhLWxhYmVsIjpzLCJkYXRhLXJvbGUiOnU/Im1lbnVpdGVtIjp2b2lkIDAscmVmOnYsdGFiSW5kZXg6bSxvbkNsaWNrOmZ1bmN0aW9uKCl7ZChzKX0sLi4uaH0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKG9hLmxheW91dEJ1dHRvbix0JiZvYS5pc0FjdGl2ZSxhJiZvYS5zbWFsbFdpZHRoTGF5b3V0QnV0dG9uKX0saS5jcmVhdGVFbGVtZW50KHIuSWNvbix7aWNvbjpufSkpKX12YXIgcmE9bigyOTc4NDkpLGRhPW4oNjE1NDI0KSx1YT1uKDY3Mjg4NiksY2E9bigzNzYxNjMpLGhhPW4oNDU3OTg5KSx2YT1uKDY3MDI2NCksbWE9big1OTU2MjUpLHBhPW4oMjIxMTU4KSxmYT1uKDU5NDg0NiksZ2E9big5NDUyMzgpLGJhPW4oNDA4OTY0KSx3YT1uKDEyNDg1KSxDYT1uKDQ2NzE0NSksX2E9bigxMjYxNjYpLHlhPW4oMjczNzc1KSxTYT1uKDc2MzU1NSkseGE9big5MDYwNTApLEVhPW4oNzg5MTA4KSxNYT1uKDcyMDI5Myksa2E9big2NTYzMDQpLElhPW4oMTkxNTY1KSxUYT1uKDIyMzIyNyksQWE9big2NjMyMjIpLEhhPW4oNDIyNTk4KSxWYT1uKDc2NTU3MiksUmE9big5NzQ1NiksRmE9big2NDc2OTIpLExhPW4oNTYzNDg3KSxaYT1uKDczNzAxNyksTmE9big4NjA4NTIpLHphPW4oOTIwNTIpLEJhPW4oMTAwNDYzKSxPYT1uKDUyNzcyMyksRGE9big4MjY3MTkpLFdhPW4oOTk4Mjg2KSxQYT1uKDU2Mjk5NCksVWE9bigxNjQ0NSksamE9big4NjY4MjYpLEthPW4oNTc1MTAwKSxRYT1uKDg4MDg5MykscWE9big1MTM5MTIpLCRhPW4oOTQ0NTgpLFhhPW4oODY4NzY2KSxHYT1uKDU3NDE1OSksSmE9big2OTc3NTMpLFlhPW4oMzk2NzUwKTtjb25zdCBlaT17czpyYSwiMmgiOmRhLCIydiI6dWEsIjNoIjpjYSwiM3YiOmhhLCIzcyI6dmEsIjNyIjptYSwiMi0xIjpwYSwiMS0yIjpmYSw0OmdhLCI0diI6YmEsIjRoIjp3YSwiNHMiOkNhLCI0cy1sIjpfYSwiMS0zIjp5YSwiMy0xIjpTYSwiMi0yLWwiOnhhLCIyLTItciI6RWEsIjItMiI6TWEsIjEtNCI6a2EsIjVoIjpJYSwiNXYiOlRhLCI1cyI6QWEsIjVzLWwiOkhhLCIyLTMiOlZhLCIzLTIiOlJhLCI0LTEiOkZhLCIyLTMtbCI6TGEsIjItMy1yIjpaYSw2Ok5hLCI2aCI6emEsIjZ2IjpHYSwiNmMiOkJhLCIyLTQiOk9hLCI0LTIiOkRhLCI0LTMiOldhLCI3aCI6SmEsIjdzIjpuKDc0MjUwOSksODpQYSwiOGMiOlVhLCI4aCI6SmEsIjh2IjpHYSwiOXMiOmphLCI1LTQiOkthLCI5aCI6SmEsIjl2IjpHYSwiMTBjNSI6UWEsIjEwaCI6SmEsIjEwdiI6R2EsIjEyYzYiOnFhLCIxMmM0IjokYSwiMTJoIjpKYSwiMTRjNyI6WWEsIjE2YzgiOllhLCIxNmM0IjpYYX07dmFyIHRpPW4oMjU1MzI5KSxuaT1uKDM3NDMwNCksYWk9big0NTY1MjUpO2NvbnN0IGlpPSgwLHp0Lm1lcmdlVGhlbWVzKShuaS5tZW51SXRlbVN3aXRjaGVyTW9iaWxlVGhlbWUse2xhYmVsOmFpLnN3aXRjaGVyTGFiZWx9KQo7Y2xhc3Mgb2kgZXh0ZW5kcyBpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fb25DaGFuZ2U9KCk9Pnt0aGlzLnNldFN0YXRlKHtpc0NoZWNrZWQ6dGhpcy5wcm9wcy53YXRjaGVkVmFsdWUudmFsdWUoKX0pfSx0aGlzLl9oYW5kbGVDbGljaz0oKT0+e2NvbnN0e29uQ2xpY2s6ZSx3YXRjaGVkVmFsdWU6dH09dGhpcy5wcm9wcztlKHQpfSx0aGlzLnN0YXRlPXtpc0NoZWNrZWQ6dGhpcy5wcm9wcy53YXRjaGVkVmFsdWUudmFsdWUoKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLnByb3BzLndhdGNoZWRWYWx1ZS5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2UpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5wcm9wcy53YXRjaGVkVmFsdWUudW5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2UpfXJlbmRlcigpe2NvbnN0e3JvbGU6ZSxsYWJlbDp0LHZhbHVlOm4sY2xhc3NOYW1lOmF9PXRoaXMucHJvcHMse2lzQ2hlY2tlZDpvfT10aGlzLnN0YXRlO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQodGkuTWVudUl0ZW1Td2l0Y2hlcix7cm9sZTplLHRoZW1lOmlpLGxhYmVsOnQsY2hlY2tlZDpvLHZhbHVlOm4sb25DaGFuZ2U6dGhpcy5faGFuZGxlQ2xpY2ssY2xhc3NOYW1lOmF9KX19dmFyIHNpPW4oOTA4MDM0KSxsaT1uKDUyNzIxOSkscmk9big0NTI2MTcpO2xldCBkaT1be2xheW91dHM6WyJzIl0sdGl0bGU6IjEifSx7bGF5b3V0czpbIjJoIiwiMnYiXSx0aXRsZToiMiJ9LHtsYXlvdXRzOlsiM2giLCIzdiIsIjNzIiwiM3IiLCIyLTEiLCIxLTIiXSx0aXRsZToiMyJ9LHtsYXlvdXRzOlsiNCIsIjR2IiwiNGgiLCI0cyIsIjRzLWwiLCIxLTMiLCIzLTEiLCIyLTItbCIsIjItMi1yIiwiMi0yIl0sdGl0bGU6IjQifSx7bGF5b3V0czpbIjEtNCIsIjVoIiwiNXYiLCI1cyIsIjVzLWwiLCIyLTMiLCIzLTIiLCI0LTEiLCIyLTMtbCIsIjItMy1yIl0sdGl0bGU6IjUifSx7bGF5b3V0czpbIjYiLCI2aCIsIjZ2IiwiNmMiLCIyLTQiLCI0LTIiXSx0aXRsZToiNiJ9LHtsYXlvdXRzOlsiNC0zIiwiN2giLCI3cyJdLHRpdGxlOiI3In0se2xheW91dHM6WyI4IiwiOGMiLCI4aCIsIjh2Il0sdGl0bGU6IjgifV07ZGk9Wy4uLmRpLHtsYXlvdXRzOlsiOXMiLCI1LTQiLCI5aCIsIjl2Il0sdGl0bGU6IjkifSx7bGF5b3V0czpbIjEwYzUiLCIxMGgiLCIxMHYiXSx0aXRsZToiMTAifSx7bGF5b3V0czpbIjEyYzYiLCIxMmM0IiwiMTJoIl0sdGl0bGU6IjEyIn0se2xheW91dHM6WyIxNGM3Il0sdGl0bGU6IjE0In0se2xheW91dHM6WyIxNmM4IiwiMTZjNCJdLHRpdGxlOiIxNiJ9XTtjb25zdCB1aT17bGF5b3V0VHlwZTp1LnQobnVsbCx2b2lkIDAsbig5Mjc3MDUpKSxzeW5jR3JvdXBUaXRsZTp1LnQobnVsbCx2b2lkIDAsbig3Mzk5MzYpKSxzeW5jQ3Jvc3NoYWlyTGFiZWw6dS50KG51bGwsdm9pZCAwLG4oNzM3MjE1KSksc3luY0Nyb3NzaGFpckhpbnQ6dS50KG51bGwsdm9pZCAwLG4oMTI0NzgpKSxzeW5jSW50ZXJ2YWxMYWJlbDp1LnQobnVsbCx2b2lkIDAsbigxMjc1NjkpKSxzeW5jSW50ZXJ2YWxIaW50OnUudChudWxsLHZvaWQgMCxuKDQwNTk0NikpLHN5bmNEYXRlUmFuZ2VMYWJlbDp1LnQobnVsbCx2b2lkIDAsbig0Mjc0OTQpKSxzeW5jRGF0ZVJhbmdlSGludDp1LnQobnVsbCx2b2lkIDAsbigxMDQ1NTkpKSxzeW5jU3ltYm9sTGFiZWw6dS50KG51bGwsdm9pZCAwLG4oNjEzMTYzKSksc3luY1N5bWJvbEhpbnQ6dS50KG51bGwsdm9pZCAwLG4oNDgyMjI1KSksc3luY1RyYWNrTGFiZWw6dS50KG51bGwsdm9pZCAwLG4oODYyMTE5KSksc3luY1RyYWNrSGludDp1LnQobnVsbCx2b2lkIDAsbig1MjAzODcpKX07ZnVuY3Rpb24gY2koZSl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOnQsaXNTbWFsbFdpZHRoOm59PWUsW2Esb109KDAsaS51c2VTdGF0ZSkoInMiKSxbcyxyXT0oMCxzaS51c2VSb3dzTmF2aWdhdGlvbikoITApO3JldHVybigwLGkudXNlRWZmZWN0KSgoKCk9PntmdW5jdGlvbiBlKGUpe28oZXx8dC5sYXlvdXQudmFsdWUoKSl9cmV0dXJuIHQubGF5b3V0LnN1YnNjcmliZShlLHtjYWxsV2l0aExhc3Q6ITB9KSwoKT0+dC5sYXlvdXQudW5zdWJzY3JpYmUoZSl9KSxbdF0pLGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnJpLmRyb3Bkb3dufSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpzLHJvbGU6Im1lbnUiLG9uS2V5RG93bjpyLCJkYXRhLW5hbWUiOiJsYXlvdXRzLWxpc3QifSxuJiZpLmNyZWF0ZUVsZW1lbnQoaWEuVG9vbFRpdGxlLHt0ZXh0OnVpLmxheW91dFR5cGV9KSxkaS5tYXAoKChlLHQpPT5pLmNyZWF0ZUVsZW1lbnQoc2Ese2tleTplLnRpdGxlLGlzU21hbGxXaWR0aDpuLHRpdGxlOmUudGl0bGUsc2VwYXJhdG9yOnQhPT1kaS5sZW5ndGgtMSYmaS5jcmVhdGVFbGVtZW50KGIuUG9wdXBNZW51U2VwYXJhdG9yLG51bGwpfSxlLmxheW91dHMubWFwKCgoZSx0KT0+aS5jcmVhdGVFbGVtZW50KGxhLHtrZXk6ZSxsYXlvdXQ6ZSxpY29uOmVpW2VdLG9uQ2xpY2s6dSxpc0FjdGl2ZTplPT09YSxpc1NtYWxsV2lkdGg6bixpc0ZpcnN0SXRlbUluUm93OjA9PT10LCJkYXRhLXFhLWlkIjpgbGF5b3V0cy1saXN0LWl0ZW0tJHtlfWB9KSkpKSkpKSksaS5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsbiYmaS5jcmVhdGVFbGVtZW50KGIuUG9wdXBNZW51U2VwYXJhdG9yLHtzaXplOiJub3JtYWwifSkpLGkuY3JlYXRlRWxlbWVudCgiZGl2IixudWxsLGkuY3JlYXRlRWxlbWVudChpYS5Ub29sVGl0bGUse3RleHQ6dWkuc3luY0dyb3VwVGl0bGUsY2xhc3NOYW1lOmwoKShyaS5zeW5jQ2hhcnRzLG4mJnJpLm1vYmlsZSl9KSxmdW5jdGlvbigpe2NvbnN0IGU9bCgpKHJpLnN3aXRjaGVyLG4mJnJpLm1vYmlsZSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToiZ3JpZCIsImFyaWEtbXVsdGlzZWxlY3RhYmxlIjohMCxjbGFzc05hbWU6cmkuc3luY0xpc3RXcmFwcGVyfSxpLmNyZWF0ZUVsZW1lbnQob2kse3JvbGU6InJvdyIsbGFiZWw6aS5jcmVhdGVFbGVtZW50KGhpLHt0aXRsZTp1aS5zeW5jU3ltYm9sTGFiZWwsCmhpbnQ6dWkuc3luY1N5bWJvbEhpbnQsaXNTbWFsbFdpZHRoOm59KSxvbkNsaWNrOmQsdmFsdWU6InN5bmNTeW1ib2xMYWJlbCIsd2F0Y2hlZFZhbHVlOnQubG9jay5zeW1ib2wsY2xhc3NOYW1lOmV9KSxpLmNyZWF0ZUVsZW1lbnQob2kse3JvbGU6InJvdyIsbGFiZWw6aS5jcmVhdGVFbGVtZW50KGhpLHt0aXRsZTp1aS5zeW5jSW50ZXJ2YWxMYWJlbCxoaW50OnVpLnN5bmNJbnRlcnZhbEhpbnQsaXNTbWFsbFdpZHRoOm59KSxvbkNsaWNrOmQsdmFsdWU6InN5bmNJbnRlcnZhbExhYmVsIix3YXRjaGVkVmFsdWU6dC5sb2NrLmludGVydmFsLGNsYXNzTmFtZTplfSksaS5jcmVhdGVFbGVtZW50KG9pLHtyb2xlOiJyb3ciLGxhYmVsOmkuY3JlYXRlRWxlbWVudChoaSx7dGl0bGU6dWkuc3luY0Nyb3NzaGFpckxhYmVsLGhpbnQ6dWkuc3luY0Nyb3NzaGFpckhpbnQsaXNTbWFsbFdpZHRoOm59KSx3YXRjaGVkVmFsdWU6dC5sb2NrLmNyb3NzaGFpcix2YWx1ZToic3luY0Nyb3NzaGFpckxhYmVsIixvbkNsaWNrOmQsY2xhc3NOYW1lOmV9KSxpLmNyZWF0ZUVsZW1lbnQob2kse3JvbGU6InJvdyIsbGFiZWw6aS5jcmVhdGVFbGVtZW50KGhpLHt0aXRsZTp1aS5zeW5jVHJhY2tMYWJlbCxoaW50OnVpLnN5bmNUcmFja0hpbnQsaXNTbWFsbFdpZHRoOm59KSx3YXRjaGVkVmFsdWU6dC5sb2NrLnRyYWNrVGltZSx2YWx1ZToic3luY1RyYWNrTGFiZWwiLG9uQ2xpY2s6ZCxjbGFzc05hbWU6ZX0pLGkuY3JlYXRlRWxlbWVudChvaSx7cm9sZToicm93IixsYWJlbDppLmNyZWF0ZUVsZW1lbnQoaGkse3RpdGxlOnVpLnN5bmNEYXRlUmFuZ2VMYWJlbCxoaW50OnVpLnN5bmNEYXRlUmFuZ2VIaW50LGlzU21hbGxXaWR0aDpufSksb25DbGljazpkLHZhbHVlOiJzeW5jRGF0ZVJhbmdlTGFiZWwiLHdhdGNoZWRWYWx1ZTp0LmxvY2suZGF0ZVJhbmdlLGNsYXNzTmFtZTplfSkpfSgpKSk7ZnVuY3Rpb24gZChlKXtjb25zdCB0PSFlLnZhbHVlKCk7ZS5zZXRWYWx1ZSh0KX1mdW5jdGlvbiB1KGUpeygwLHplLmdsb2JhbENsb3NlTWVudSkoKSx0LmxheW91dC52YWx1ZSgpPT09ZT90LnJldmVydFRvSW5saW5lKCk6dC5zZXRDaGFydExheW91dFdpdGhVbmRvKGUpfX1mdW5jdGlvbiBoaShlKXtjb25zdHt0aXRsZTp0LGhpbnQ6bixpc1NtYWxsV2lkdGg6YX09ZSxbbyxzXT0oMCxPZS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyaS5zd2l0Y2hMYWJlbFdyYXB9LGkuY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6InJvd2hlYWRlciIsY2xhc3NOYW1lOnJpLnN3aXRjaExhYmVsfSx0KSwhYSYmaS5jcmVhdGVFbGVtZW50KCJzcGFuIix7cm9sZToiY2VsbCIsY2xhc3NOYW1lOmwoKShyaS5pY29uV3JhcCwiYXBwbHktY29tbW9uLXRvb2x0aXAiLHJpLmFjY2Vzc2libGVMYWJlbCksdGl0bGU6biwiYXJpYS1sYWJlbCI6bixvbkZvY3VzOigpPT4oMCxhYS5zaG93T25FbGVtZW50KSgoMCxuZS5lbnN1cmVOb3ROdWxsKShvLmN1cnJlbnQpKSxvbkJsdXI6KCk9PigwLGFhLmhpZGUpKCksdGFiSW5kZXg6cyxyZWY6b30saS5jcmVhdGVFbGVtZW50KHIuSWNvbix7Y2xhc3NOYW1lOnJpLmluZm9JY29uLGljb246bGl9KSkpfWNvbnN0IHZpPSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBtaSBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fb25VcGRhdGVMYXlvdXQ9ZT0+e2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjp0fT10aGlzLmNvbnRleHQ7dGhpcy5zZXRTdGF0ZSh7Y3VycmVudElkOmV8fHQubGF5b3V0LnZhbHVlKCl9KX0sdGhpcy5faGFuZGxlT3BlbkxheW91dD0oKT0+eygwLFgudHJhY2tFdmVudCkoIkdVSSIsIkNoYXJ0IEhlYWRlciBUb29sYmFyIiwic2VsZWN0IGxheW91dCIpLCgwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwibGF5b3V0IHR5cGUiKX0sKDAseS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtjaGFydFdpZGdldENvbGxlY3Rpb246by5hbnkuaXNSZXF1aXJlZH0pLHRoaXMuc3RhdGU9e2N1cnJlbnRJZDoicyJ9fWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dDtlLmxheW91dC5zdWJzY3JpYmUodGhpcy5fb25VcGRhdGVMYXlvdXQse2NhbGxXaXRoTGFzdDohMH0pfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dDtlLmxheW91dC51bnN1YnNjcmliZSh0aGlzLl9vblVwZGF0ZUxheW91dCl9cmVuZGVyKCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dCx7Y2xhc3NOYW1lOnQsaWQ6YX09dGhpcy5wcm9wcyx7Y3VycmVudElkOm99PXRoaXMuc3RhdGU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCh3Lk1hdGNoTWVkaWEse3J1bGU6Qy5EaWFsb2dCcmVha3BvaW50cy5UYWJsZXRTbWFsbH0sKHM9PmkuY3JlYXRlRWxlbWVudChtLlRvb2xiYXJNZW51QnV0dG9uLHtpZDphLGFycm93OiExLGNvbnRlbnQ6aS5jcmVhdGVFbGVtZW50KHIuSWNvbix7Y2xhc3NOYW1lOnJpLmljb24saWNvbjplaVtvXX0pLGNsYXNzTmFtZTpsKCkodCxyaS5idXR0b24pLGlzRHJhd2VyOnMsZHJhd2VyUG9zaXRpb246IkJvdHRvbSIsb25PcGVuOnRoaXMuX2hhbmRsZU9wZW5MYXlvdXQsdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAsbig5NzQyMTQpKSwiZGF0YS1xYS1pZCI6InN0cmluZyI9PXR5cGVvZiBhPyJsYXlvdXRzLW1lbnUtYnV0dG9uIjp2b2lkIDB9LGkuY3JlYXRlRWxlbWVudChjaSx7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmUsaXNTbWFsbFdpZHRoOnN9KSkpKX19bWkuY29udGV4dFR5cGU9dmk7Y29uc3QgcGk9ZT0+e2lmKChlPT4iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI9PT1lPy5uYW1lc3BhY2VVUkkpKGUpJiYidHJ1ZSIhPT1lLmRhdGFzZXQuaW50ZXJuYWxBbGxvd0tleWJvYXJkTmF2aWdhdGlvbil7ZS50YWJJbmRleD0tMSxlLmFyaWFEaXNhYmxlZD0idHJ1ZSIKO2ZvcihsZXQgdD0wO3Q8ZS5jaGlsZHJlbi5sZW5ndGg7dCsrKXBpKGUuY2hpbGRyZW4uaXRlbSh0KSl9fTtjbGFzcyBmaSBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fd3JhcHBlckVsZW1lbnQ9bnVsbCx0aGlzLl9yZXNpemVPYnNlcnZlcj1udWxsLHRoaXMuX211dGF0aW9uT2JzZXJ2ZXI9bnVsbCx0aGlzLl91cGRhdGU9KCk9Pnt0aGlzLmZvcmNlVXBkYXRlKCl9LHRoaXMuX3NldFJlZj1lPT57dGhpcy5fd3JhcHBlckVsZW1lbnQ9ZX0sdGhpcy5faGFuZGxlTWVhc3VyZT0oW2VdKT0+e3RoaXMucHJvcHMud2lkdGguc2V0VmFsdWUoZS5jb250ZW50UmVjdC53aWR0aCl9LHRoaXMuX2hhbmRsZU11dGF0aW9uPShbZV0pPT57ImNoaWxkTGlzdCI9PT1lLnR5cGUmJnBpKHRoaXMucHJvcHMuZWxlbWVudCl9fWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7ZWxlbWVudDplLGlzRmFrZTp0LHdpZHRoOm59PXRoaXMucHJvcHM7IXQmJnRoaXMuX3dyYXBwZXJFbGVtZW50Pyh0aGlzLl9yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5faGFuZGxlTWVhc3VyZSksdGhpcy5fbXV0YXRpb25PYnNlcnZlcj1uZXcgTXV0YXRpb25PYnNlcnZlcih0aGlzLl9oYW5kbGVNdXRhdGlvbiksdGhpcy5fd3JhcHBlckVsZW1lbnQuYXBwZW5kQ2hpbGQoZSksdGhpcy5fcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl93cmFwcGVyRWxlbWVudCksdGhpcy5fbXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKGUse3N1YnRyZWU6ITAsY2hpbGRMaXN0OiEwfSkpOm4uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXtjb25zdHt3aWR0aDplLGlzRmFrZTp0fT10aGlzLnByb3BzO3QmJmUudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlKSx0aGlzLl9yZXNpemVPYnNlcnZlciYmdGhpcy5fd3JhcHBlckVsZW1lbnQmJnRoaXMuX3Jlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLl93cmFwcGVyRWxlbWVudCksdGhpcy5fbXV0YXRpb25PYnNlcnZlciYmKHRoaXMuX211dGF0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMuX211dGF0aW9uT2JzZXJ2ZXI9bnVsbCl9cmVuZGVyKCl7Y29uc3R7aXNGYWtlOmU9ITEsd2lkdGg6dH09dGhpcy5wcm9wcztyZXR1cm4gaS5jcmVhdGVFbGVtZW50KHAuVG9vbFdpZGdldFJvd1dyYXAse3JlZjp0aGlzLl9zZXRSZWYsc3R5bGU6ZT97d2lkdGg6dC52YWx1ZSgpfTp2b2lkIDAsImRhdGEtaXMtY3VzdG9tLWhlYWRlci1lbGVtZW50IjohMH0pfX1mdW5jdGlvbiBnaShlKXtjb25zdHtkaXNwbGF5TW9kZTp0LHBhcmFtczpufT1lO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQobS5Ub29sYmFyTWVudUJ1dHRvbix7Y29udGVudDppLmNyZWF0ZUVsZW1lbnQodm4uVG9vbFdpZGdldENvbGxhcHNpYmxlQnV0dG9uLHtjb2xsYXBzZVdoZW46dm9pZCAwIT09bi5pY29uP3ZvaWQgMDpbXSxkaXNwbGF5TW9kZTp0LGljb246bi5pY29uLHRleHQ6bi50aXRsZSwiZGF0YS1uYW1lIjoiZHJvcGRvd24iLCJkYXRhLWlzLWN1c3RvbS1oZWFkZXItZWxlbWVudCI6ITB9KSxkcmF3ZXJQb3NpdGlvbjoiQm90dG9tIixkcmF3ZXJCcmVha3BvaW50OkMuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGwsYXJyb3c6ITEsdG9vbHRpcDpuLnRvb2x0aXB9LG4uaXRlbXMubWFwKCgoZSx0KT0+aS5jcmVhdGVFbGVtZW50KGFlLlBvcHVwTWVudUl0ZW0se2tleTp0LGxhYmVsOmUudGl0bGUsaWNvbjplLmljb24sb25DbGljazooKT0+ZS5vblNlbGVjdCgpLCJkYXRhLW5hbWUiOiJkcm9wZG93bi1pdGVtIn0pKSkpfXZhciBiaT1uKDcxMTI4Myk7ZnVuY3Rpb24gd2koZSl7Y29uc3R7Y2xhc3NOYW1lOnQsdGl0bGU6biwuLi5hfT1lO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoJC5Ub29sYmFyQ29sbGFwc2libGVCdXR0b24sey4uLmEsY2xhc3NOYW1lOmwoKSh0LGJpLmN1c3RvbVRyYWRpbmdWaWV3U3R5bGVCdXR0b24sYmkud2l0aG91dEljb24pLGNvbGxhcHNlV2hlbjpbXSwiZGF0YS1uYW1lIjoiY3VzdG9tLXRyYWRpbmd2aWV3LXN0eWxlZC1idXR0b24iLHRvb2x0aXA6bn0pfXZhciBDaT1uKDYwOTUzNCk7Y29uc3QgX2k9KDAsb2UuaG90S2V5U2VyaWFsaXplKSh7a2V5czpbKDAsTS5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShNLk1vZGlmaWVycy5Nb2QsITEpLCJLIl0sdGV4dDoiezB9ICsgezF9In0pLHlpPSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBTaSBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUpLHRoaXMuX2RpYWxvZz1udWxsLHRoaXMuX3VwZGF0ZVN0YXRlPWU9Pnt0aGlzLnNldFN0YXRlKHtpc09wZW5lZDplfSl9LHRoaXMuX2hhbmRsZUNsaWNrPWU9Pntjb25zdHtvcGVuR2xvYmFsU2VhcmNoOnR9PXRoaXMuY29udGV4dDt0KHtzaG91bGRSZXR1cm5Gb2N1czooMCxHLmlzS2V5Ym9hcmRDbGljaykoZSl9KS50aGVuKChlPT57dGhpcy5fZGlhbG9nPy52aXNpYmxlKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdGUpLHRoaXMuX2RpYWxvZz1lLGUudmlzaWJsZSgpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0ZSl9KSl9LCgwLHkudmFsaWRhdGVSZWdpc3RyeSkodCx7b3Blbkdsb2JhbFNlYXJjaDpvLmFueS5pc1JlcXVpcmVkfSksdGhpcy5zdGF0ZT17aXNPcGVuZWQ6ITF9fWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fZGlhbG9nPy52aXNpYmxlKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdGUpfXJlbmRlcigpe3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoaHQuVG9vbGJhckljb25CdXR0b24sey4uLnRoaXMucHJvcHMsaWNvbjpDaSxpc09wZW5lZDp0aGlzLnN0YXRlLmlzT3BlbmVkLG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2ssImRhdGEtdG9vbHRpcC1ob3RrZXkiOl9pLHRvb2x0aXA6dS50KG51bGwse2NvbnRleHQ6InRvb2xiYXJfcXVpY2tfc2VhcmNoX3Rvb2x0aXAifSxuKDkwOTg0NykpfSl9fVNpLmNvbnRleHRUeXBlPXlpO3ZhciB4aT1uKDU2OTM5OCk7ZnVuY3Rpb24gRWkoKXtsZXQgZTtyZXR1cm4gZT0oMCwKYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2xheW91dHRvZ2dsZSIpP21pOnZvaWQgMCx7QmFyczooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoZWFkZXJfY2hhcnRfdHlwZSIpP3E6dm9pZCAwLENvbXBhcmU6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2NvbXBhcmUiKT9lZTp2b2lkIDAsQ3VzdG9tOmZpLEN1c3RvbVRyYWRpbmdWaWV3U3R5bGVkQnV0dG9uOndpLEZ1bGxzY3JlZW46KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2Z1bGxzY3JlZW5fYnV0dG9uIikmJihDdC5DaGVja01vYmlsZS5hbnkoKSYmISgwLHhpLmlzRmVhdHVyZUVuYWJsZWQpKCJoaWRlX2Z1bGxzY3JlZW5fbW9kZV9vbl9tb2JpbGUiKXx8IUN0LkNoZWNrTW9iaWxlLmFueSgpKT90ZS5Ub29sV2lkZ2V0RnVsbHNjcmVlbjp2b2lkIDAsSW5kaWNhdG9yczooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoZWFkZXJfaW5kaWNhdG9ycyIpP0FlOnZvaWQgMCxJbnRlcnZhbHM6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3Jlc29sdXRpb25zIik/Y3Q6dm9pZCAwLE9wZW5Qb3B1cDpmdCxQcm9wZXJ0aWVzOigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhlYWRlcl9zZXR0aW5ncyIpJiYoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiKT93dDp2b2lkIDAsU2F2ZUxvYWQ6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3NhdmVsb2FkIik/TXQ6dm9pZCAwLFNjcmVlbnNob3Q6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3NjcmVlbnNob3QiKT9adDp2b2lkIDAsU3ltYm9sU2VhcmNoOigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhlYWRlcl9zeW1ib2xfc2VhcmNoIik/Y246dm9pZCAwLFRlbXBsYXRlczooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzdHVkeV90ZW1wbGF0ZXMiKT9Lbjp2b2lkIDAsRHJvcGRvd246Z2ksVW5kb1JlZG86KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3VuZG9fcmVkbyIpP25hOnZvaWQgMCxMYXlvdXQ6ZSxRdWlja1NlYXJjaDpDdC5DaGVja01vYmlsZS5hbnkoKXx8KDAsQXQuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKXx8KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iil8fCEoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoZWFkZXJfcXVpY2tfc2VhcmNoIik/dm9pZCAwOlNpfX19LDY4ODYzMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sV2lkZ2V0RnVsbHNjcmVlbjooKT0+Z30pO3ZhciBhPW4oNzc5NDc0KSxpPW4oMjIxODk2KSxvPW4oOTE0NDg3KSxzPW4ubihvKSxsPW4oMTg1MjcxKSxyPW4oOTY3MDUpLGQ9big1Njk2NTIpLHU9bigzNDUxNTEpLGM9bigyMzU3MjQpLGg9bigyMTYwODMpLHY9big0MzQwMzcpLG09bigxNzU0NjcpO2NvbnN0IHA9KDAsdS5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOlsoMCxjLmh1bWFuUmVhZGFibGVNb2RpZmllcnMpKGMuTW9kaWZpZXJzLlNoaWZ0LCExKSwiRiJdLHRleHQ6InswfSArIHsxfSJ9KSxmPSgwLGQucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBnIGV4dGVuZHMgYS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl91cGRhdGVTdGF0ZT0oKT0+e3RoaXMuc2V0U3RhdGUoe2lzRnVsbHNjcmVlbjp0aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmZ1bGxzY3JlZW4oKS52YWx1ZSgpfSl9LHRoaXMuX2hhbmRsZUNsaWNrPSgpPT57Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dCx7Y2xpY2tBcmVhOnR9PXRoaXMucHJvcHM7ZS5mdWxsc2NyZWVuKCkudmFsdWUoKT9lLmV4aXRGdWxsc2NyZWVuKCk6ZS5zdGFydEZ1bGxzY3JlZW4oKSx0JiYoMCxoLnRyYWNrQnV0dG9uQ2xpY2spKHQsImZ1bGxzY3JlZW4gbW9kZSIpfSwoMCxkLnZhbGlkYXRlUmVnaXN0cnkpKHQse2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjppLmFueS5pc1JlcXVpcmVkfSksdGhpcy5zdGF0ZT17aXNGdWxsc2NyZWVuOnRoaXMuY29udGV4dC5jaGFydFdpZGdldENvbGxlY3Rpb24uZnVsbHNjcmVlbigpLnZhbHVlKCl9LHRoaXMuX3N1YnNjcmliZSgpfXJlbmRlcigpe2NvbnN0e2NsYXNzTmFtZTplLGlkOnQsaXNBY3RpdmU6aX09dGhpcy5wcm9wcyx7aXNGdWxsc2NyZWVuOm99PXRoaXMuc3RhdGU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChyLlRvb2xiYXJJY29uQnV0dG9uLHtpZDp0LGljb246bz9tOnYsb25DbGljazp0aGlzLl9oYW5kbGVDbGljayxjbGFzc05hbWU6cygpKGUpLHRvb2x0aXA6bC50KG51bGwsdm9pZCAwLG4oNTIyOTExKSksImRhdGEtdG9vbHRpcC1ob3RrZXkiOnAsaXNBY3RpdmU6aX0pfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fdW5zdWJzY3JpYmUoKX1fc3Vic2NyaWJlKCl7dGhpcy5jb250ZXh0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5mdWxsc2NyZWVuKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1fdW5zdWJzY3JpYmUoKXt0aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmZ1bGxzY3JlZW4oKS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0ZSl9fWcuY29udGV4dFR5cGU9Zn0sMzU5ODQ2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2NvbGxhcHNlU2VwYXJhdG9yczooKT0+dSxzb3J0UmVzb2x1dGlvbnNCeUNhdGVnb3JpZXM6KCk9PnJ9KTt2YXIgYT1uKDE4NTI3MSksaT1uKDI1NDY3Myksbz1uKDYxODY3Mikscz1uKDczMjczMSk7Y29uc3QgbD17W2kuUmVzb2x1dGlvbktpbmQuVGlja3NdOmEudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9ncm91cF9uYW1lIn0sbig4NzAzMDEpKSxbaS5SZXNvbHV0aW9uS2luZC5TZWNvbmRzXTphLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfZ3JvdXBfbmFtZSJ9LG4oNzUyNzAwKSksW2kuUmVzb2x1dGlvbktpbmQuTWludXRlc106YS50KG51bGwse2NvbnRleHQ6ImludGVydmFsX2dyb3VwX25hbWUifSxuKDIzMDkwOSkpLFtpLlNwZWNpYWxSZXNvbHV0aW9uS2luZC5Ib3Vyc106YS50KG51bGwse2NvbnRleHQ6ImludGVydmFsX2dyb3VwX25hbWUiCn0sbigxMjY5MTcpKSxbaS5SZXNvbHV0aW9uS2luZC5EYXlzXTphLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfZ3JvdXBfbmFtZSJ9LG4oMjAyODkxKSksW2kuUmVzb2x1dGlvbktpbmQuV2Vla3NdOmEudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9ncm91cF9uYW1lIn0sbig0MzM5OTQpKSxbaS5SZXNvbHV0aW9uS2luZC5Nb250aHNdOmEudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9ncm91cF9uYW1lIn0sbigzNDQ3NDcpKSxbaS5SZXNvbHV0aW9uS2luZC5SYW5nZV06YS50KG51bGwse2NvbnRleHQ6ImludGVydmFsX2dyb3VwX25hbWUifSxuKDI4ODAzNCkpLFtpLlJlc29sdXRpb25LaW5kLkludmFsaWRdOiIifTtmdW5jdGlvbiByKGUpe2NvbnN0IHQ9ZChpLlJlc29sdXRpb25LaW5kLlRpY2tzKSxuPWQoaS5SZXNvbHV0aW9uS2luZC5TZWNvbmRzKSxhPWQoaS5SZXNvbHV0aW9uS2luZC5NaW51dGVzKSxvPWQoaS5TcGVjaWFsUmVzb2x1dGlvbktpbmQuSG91cnMpLHM9ZChpLlJlc29sdXRpb25LaW5kLkRheXMpLGw9ZChpLlJlc29sdXRpb25LaW5kLlJhbmdlKTtlLmZvckVhY2goKGU9Pntjb25zdCByPWkuSW50ZXJ2YWwucGFyc2UoZSk7ci5pc01pbnV0ZUhvdXJzKCk/by5pdGVtcy5wdXNoKGUpOnIuaXNNaW51dGVzKCk/KDAsaS5pc0hvdXIpKE51bWJlcihyLm11bHRpcGxpZXIoKSkpP28uaXRlbXMucHVzaChlKTphLml0ZW1zLnB1c2goZSk6ci5pc1NlY29uZHMoKT9uLml0ZW1zLnB1c2goZSk6ci5pc0RXTSgpP3MuaXRlbXMucHVzaChlKTpyLmlzUmFuZ2UoKT9sLml0ZW1zLnB1c2goZSk6ci5pc1RpY2tzKCkmJnQuaXRlbXMucHVzaChlKX0pKTtyZXR1cm5bdCxuLGEsbyxzLGxdLmZpbHRlcigoZT0+MCE9PWUuaXRlbXMubGVuZ3RoKSl9ZnVuY3Rpb24gZChlLHQ9ITEpe3JldHVybntpZDplLG5hbWU6bFtlXSxpdGVtczpbXSxtYXlPbWl0U2VwYXJhdG9yOnR9fWZ1bmN0aW9uIHUoZSl7bGV0IHQ9ITE7cmV0dXJuIGUuZmlsdGVyKCgoZSxuLGEpPT57bGV0IGk9ITA7Y29uc3QgbD1lLnR5cGU9PT1vLlBvcHVwTWVudVNlcGFyYXRvcnx8ZS50eXBlPT09cy5EaXZpZGVyTGlzdEl0ZW07cmV0dXJuIGwmJigwIT09biYmbiE9PWEubGVuZ3RoLTF8fChpPSExKSx0JiYoaT0hMSkpLHQ9bCxpfSkpfX0sOTA2NjgzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Rvb2xXaWRnZXRTYXZlTG9hZFZpZXc6KCk9Pk1lfSk7dmFyIGE9bigxODUyNzEpLGk9big3Nzk0NzQpLG89big5MTQ0ODcpLHM9bi5uKG8pLGw9big1NTcwNjUpLHI9big5MzAyMzEpLGQ9bigyMzU3MjQpLHU9bigzMTg5NzQpLGM9bigxNTM3MzQpLGg9big4NTAxMDgpLHY9big2MTg2NzIpLG09big4NjQ2ODEpLHA9bigxODYwOTcpLGY9big3NzEyODUpLGc9bigzODcyMzEpLGI9big1MTA1OTgpLHc9big3MzI3MzEpLEM9bigzMTMxMTApLF89big3MjM5ODYpLHk9big4MDA5MTQpLFM9big2Mzg4NzIpLHg9bigyNTUzMjkpLEU9KG4oODI5MTgwKSxuKDIyMTg5NikpLE09big1Njk2NTIpLGs9big2MjcwNDUpLEk9big1NTgwNzUpO2NvbnN0IFQ9KDAsTS5yZWdpc3RyeUNvbnRleHRUeXBlKSgpO2NsYXNzIEEgZXh0ZW5kcyBpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuX2hhbmRsZUFjdGl2ZT1lPT57dGhpcy5zZXRTdGF0ZSh7aXNBY3RpdmU6dGhpcy5wcm9wcy5pdGVtLmlkPT09ZX0pfSx0aGlzLl9oYW5kbGVBcHBseT0oKT0+e3RoaXMucHJvcHMuaXRlbS5vcGVuQWN0aW9uKCExKX0sKDAsTS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtjaGFydFdpZGdldENvbGxlY3Rpb246RS5hbnkuaXNSZXF1aXJlZH0pLHRoaXMuc3RhdGU9e2lzQWN0aXZlOmUuaXRlbS5hY3RpdmUoKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uPy5tZXRhSW5mby5pZC5zdWJzY3JpYmUodGhpcy5faGFuZGxlQWN0aXZlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuY29udGV4dC5jaGFydFdpZGdldENvbGxlY3Rpb24/Lm1ldGFJbmZvLmlkLnVuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZUFjdGl2ZSl9cmVuZGVyKCl7Y29uc3R7aXNBY3RpdmU6ZX09dGhpcy5zdGF0ZSx7aXRlbTp0LGNsYXNzTmFtZTpufT10aGlzLnByb3BzLGE9dC51cmw/KDAsSS5nZW5lcmF0ZUNoYXJ0VXJsKSh7Y2hhcnRJZDp0LnVybH0pOnZvaWQgMDtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGsuRmF2b3JpdGVJdGVtLHtpdGVtOnQsaXNBY3RpdmU6ZSx0YXJnZXQ6Il9zZWxmIixocmVmOmEsb25BcHBseTp0aGlzLl9oYW5kbGVBcHBseSxjbGFzc05hbWU6bn0pfX1BLmNvbnRleHRUeXBlPVQ7dmFyIEg9big0MzU0NDcpO2Z1bmN0aW9uIFYoZSl7Y29uc3R7ZmF2b3JpdGVzOnQsZGlzcGxheU1vZGU6bn09ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCx0Lm1hcCgoKGUsdCxhKT0+aS5jcmVhdGVFbGVtZW50KEEse2tleTplLmlkLGl0ZW06ZSxjbGFzc05hbWU6cygpKHtbSC5mdWxsXToiZnVsbCI9PT1uLFtILm1lZGl1bV06Im1lZGl1bSI9PT1uLFtILmZpcnN0XTowPT09dCxbSC5sYXN0XTp0PT09YS5sZW5ndGgtMX0pfSkpKSl9dmFyIFI9bigzNDUxNTEpLEY9bigyNzMzMTApLEw9big5OTU3MTkpLFo9bigzNzQzMDQpLE49bigzOTE1MDQpLHo9big3NjI4NTEpLEI9big2NDkxNjYpLE89bigxNzY0MzIpO2Z1bmN0aW9uIEQoZSl7Y29uc3R7aXNWaXNpYmxlOnQsaXNMb2FkaW5nOm4sbGFiZWw6YSxjbGFzc05hbWU6b309ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShPLnN0YXRlVGl0bGUsIXQmJiFuJiZPLmhpZGRlbixvKX0sbj9pLmNyZWF0ZUVsZW1lbnQoQi5Mb2FkZXIse2NsYXNzTmFtZTpPLmxvYWRlcixzaXplOiJzbWFsbCIsc3RhdGljUG9zaXRpb246ITB9KTphKX12YXIgVz1uKDY2NjQ0MSksUD1uKDk3OTc0MiksVT1uKDEwMzE2MCksaj1uKDYxOTEwNSksSz1uKDExNDMwNyk7Y29uc3QgUT0oMCxnLm1lcmdlVGhlbWVzKShjLkRFRkFVTFRfUE9QVVBfTUVOVV9JVEVNX1RIRU1FLHt0b29sYm94OksudG9vbGJveH0pLHE9KDAsCmcubWVyZ2VUaGVtZXMpKGMuREVGQVVMVF9QT1BVUF9NRU5VX0lURU1fVEhFTUUse3Rvb2xib3g6Sy50b29sYm94U21hbGx9KTtmdW5jdGlvbiAkKGUpe2NvbnN0e2xheW91dDp0LGNoYXJ0SWQ6bixmYXZvcml0ZXM6YSxpc1RhYmxldFNtYWxsOm8saXNOZXdWaWV3Omx9PWUscj1OdW1iZXIodC5pZCk9PT1uLHU9Qm9vbGVhbihhPy5bdC5pZF0pLGM9YC9jaGFydC8ke3QudXJsfSR7d2luZG93LmxvY2F0aW9uLnNlYXJjaH1gLHY9Qm9vbGVhbihXLnNob3dGYXZvcml0ZUxheW91dHMmJmEpLG09dj8xOjA7cmV0dXJuIGw/aS5jcmVhdGVFbGVtZW50KEMuTWVudUl0ZW0se2tleTp0LmlkLHJvbGU6InJvdyIsdGl0bGU6aS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKSghbyYmSy5lbGxpcHNpcywiYXBwbHktb3ZlcmZsb3ctdG9vbHRpcCIpLHJvbGU6ImdyaWRjZWxsIiwiYXJpYS1jb2xzcGFuIjoyLW19LGkuY3JlYXRlRWxlbWVudChiLkxlYWRpbmdFbW9qaVRleHQse3RleHQ6dC5uYW1lfSkpLGRlc2NyaXB0aW9uOmAke3Quc3ltYm9sfSwgJHt0LmludGVydmFsfWAsImRhdGEtcm9sZSI6Im1lbnVpdGVtIixlbGxpcHNpczohbyxkYXRhUWFJZDoic2F2ZS1sb2FkLW1lbnUtaXRlbS1yZWNlbnQiLG9uQ2xpY2s6ZT0+ZihyLGUpLHNlbGVjdGVkOnIsaHJlZjpyP3ZvaWQgMDpjLHJpZ2h0U2xvdDp2P2kuY3JlYXRlRWxlbWVudChVLkNvbnRleHRBY3Rpb24se2tleToiZmF2b3JpdGUiLGhpZGVJZk5vSG92ZXI6IXUscm9sZToiZ3JpZGNlbGwifSxpLmNyZWF0ZUVsZW1lbnQoUC5GYXZvcml0ZUljb25CdXR0b24se2lzRmF2b3JpdGU6dSxvbkNsaWNrOnB9KSk6dm9pZCAwfSk6aS5jcmVhdGVFbGVtZW50KGguQWNjZXNzaWJsZU1lbnVJdGVtLHtrZXk6dC5pZCxyb2xlOiJyb3ciLGNsYXNzTmFtZTpzKCkoSy5sYXlvdXRJdGVtV3JhcCxvJiZLLmxheW91dEl0ZW1XcmFwU21hbGwsciYmSy5hY3RpdmUpLGlzQWN0aXZlOnIsbGFiZWxSb3dDbGFzc05hbWU6cygpKEsubGFiZWxSb3csbyYmSy5wb3B1cEl0ZW1Sb3dUYWJsZXRTbWFsbCksbGluazpyP3ZvaWQgMDpjLG9uQ2xpY2s6ZixvbkNsaWNrQXJnOnIsbGFiZWw6aS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Sy5sYXlvdXRJdGVtfSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoSy5sYXlvdXRUaXRsZSxvJiZLLmxheW91dFRpdGxlU21hbGwpfSxpLmNyZWF0ZUVsZW1lbnQoYi5MZWFkaW5nRW1vamlUZXh0LHt0ZXh0OnQubmFtZX0pKSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpLLmxheW91dE1ldGF9LHQuc3ltYm9sLCIsICIsdC5pbnRlcnZhbCkpLHRvb2xib3g6dj9pLmNyZWF0ZUVsZW1lbnQoai5NZW51RmF2b3JpdGVCdXR0b24se2lzQWN0aXZlOnIsaXNGaWxsZWQ6dSxvbkNsaWNrOnB9KTp2b2lkIDAsdGhlbWU6bz9xOlEsc2hvd1Rvb2xib3hPbkZvY3VzOiEwLHNob3dUb29sYm94T25Ib3ZlcjohdX0pO2Z1bmN0aW9uIHAoZSl7ZT8ucHJldmVudERlZmF1bHQoKSx0LmZhdm9yaXRlQWN0aW9uKCl9ZnVuY3Rpb24gZihlLG4pe3J8fCgwLGQubW9kaWZpZXJzRnJvbUV2ZW50KShuKSE9PWQuTW9kaWZpZXJzLk5vbmV8fCJidXR0b24iaW4gbiYmMT09PW4uYnV0dG9ufHwobi5wcmV2ZW50RGVmYXVsdCgpLHQub3BlbkFjdGlvbighMSkpfX12YXIgWD1uKDEzODYzOCksRz1uKDExNzMxMyksSj1uKDE4MjMwOCksWT1uKDEzODk5NCksZWU9bigzNDQ3ODUpLHRlPW4oMzcyMjM4KSxuZT1uKDc2MTE3NSk7ZnVuY3Rpb24gYWUoe2lzVGFibGV0U21hbGw6ZSxpc05ld1ZpZXc6dH0pe2NvbnN0W28sbF09KDAsSi51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpLHI9YS50KG51bGwsdm9pZCAwLG4oNjY2OTQ0KSk7cmV0dXJuIHQ/aS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJyb3doZWFkZXIiLGNsYXNzTmFtZTpuZS50aXRsZVNoYXJpbmdMYWJlbH0sYS50KG51bGwse2NvbnRleHQ6Im1lbnVfaXRlbSJ9LG4oMjI0ODkpKSksIWUmJiEoMCxHLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55IikmJmkuY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6ImdyaWRjZWxsIixjbGFzc05hbWU6bmUuaGludH0saS5jcmVhdGVFbGVtZW50KFkuSWNvblF1ZXN0aW9uSW5mb3JtYXRpb24se2ljb246ImluZm8iLGFyaWFMYWJlbDpyLHRvb2x0aXA6cixyZWY6byx0YWJJbmRleDpsfSkpKTppLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpuZS5zaGFyaW5nTGFiZWxXcmFwfSxpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJyb3doZWFkZXIiLGNsYXNzTmFtZTpuZS50aXRsZVNoYXJpbmdMYWJlbH0sYS50KG51bGwse2NvbnRleHQ6Im1lbnVfaXRlbSJ9LG4oNzQ1Njc2KSkpLCFlJiYhKDAsRy5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpJiZpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJncmlkY2VsbCIsY2xhc3NOYW1lOnMoKShuZS5pY29uV3JhcCwiYXBwbHktY29tbW9uLXRvb2x0aXAiLG5lLmFjY2Vzc2libGVMYWJlbCksdGl0bGU6ciwiYXJpYS1sYWJlbCI6cixvbkZvY3VzOigpPT4oMCxlZS5zaG93T25FbGVtZW50KSgoMCxYLmVuc3VyZU5vdE51bGwpKG8uY3VycmVudCkpLG9uQmx1cjooKT0+KDAsZWUuaGlkZSkoKSx0YWJJbmRleDpsLHJlZjpvfSxpLmNyZWF0ZUVsZW1lbnQoRi5JY29uLHtjbGFzc05hbWU6bmUuaW5mb0ljb24saWNvbjp0ZX0pKSl9dmFyIGllPW4oMjE2MDgzKSxvZT1uKDQyOTQ2NSksc2U9bigyNjE5MzYpLGxlPW4oMjE1MjkyKSxyZT1uKDExMjY2NSksZGU9big1ODM4NDIpLHVlPW4oNzgzMjU0KSxjZT1uKDYyNTE1Nik7Y29uc3QgaGU9KDAsaS5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtyb2xlOmEsaXNTbWFsbDpvLG9uQ2xpY2s6bH09ZSxbcix1XT0oMCxKLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkodCk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOnIscm9sZTphLGNsYXNzTmFtZTpzKCkoY2UuY29weUxpbmssbyYmY2UuY29weUxpbmtNb2JpbGUsY2UuYWNjZXNzaWJsZUxhYmVsKSxvbkNsaWNrOmwsCnRhYkluZGV4OnUsb25LZXlEb3duOmZ1bmN0aW9uKGUpe2lmKGUudGFyZ2V0IT09ZS5jdXJyZW50VGFyZ2V0KXJldHVybjtjb25zdCB0PSgwLGQuaGFzaEZyb21FdmVudCkoZSk7MTMhPT10JiYzMiE9PXR8fChlLnByZXZlbnREZWZhdWx0KCksci5jdXJyZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnIuY3VycmVudC5jbGljaygpKX0sImRhdGEtcm9sZSI6Im1lbnVpdGVtIn0sdWUudChudWxsLHZvaWQgMCxuKDYwODk5MikpKX0pKTt2YXIgdmU9bigzNDc5NzMpLG1lPW4oNzYxOTcxKSxwZT1uKDE0ODM4NyksZmU9big0NzA5MDEpLGdlPW4oNDY1MDY0KSxiZT1uKDczNTQ2Mik7Y29uc3Qgd2U9KDAsci5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IiksQ2U9KCgwLHIuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNhdmVfc2hvcnRjdXQiKSwoMCxnLm1lcmdlVGhlbWVzKShMLkRFRkFVTFRfVE9PTF9XSURHRVRfQlVUVE9OX1RIRU1FLGdlKSksX2U9KDAsZy5tZXJnZVRoZW1lcykoYy5ERUZBVUxUX1BPUFVQX01FTlVfSVRFTV9USEVNRSx7c2hvcnRjdXQ6ZmUuc2hvcnRjdXQsd2l0aEljb246ZmUud2l0aEljb259KSx5ZT1hLnQobnVsbCx2b2lkIDAsbig2MTgwMzkpKSxTZT1hLnQobnVsbCx2b2lkIDAsbig5MzkwNzQpKSx4ZT1bXSxFZT0oMCxSLmhvdEtleVNlcmlhbGl6ZSkoe2tleXM6WygwLGQuaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoZC5Nb2RpZmllcnMuTW9kLCExKSwiUyJdLHRleHQ6InswfSArIHsxfSJ9KTtjbGFzcyBNZSBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9jb3B5RWxSZWY9aS5jcmVhdGVSZWYoKSx0aGlzLl9tZW51UmVmPWkuY3JlYXRlUmVmKCksdGhpcy5faGFuZGxlQ29weUxpbmtDbGljaz0oKT0+e2NvbnN0IGU9d2luZG93LmxvY2F0aW9uLmhyZWY7cmV0dXJuKDAsbC5nZXRDbGlwYm9hcmQpKCkud3JpdGVUZXh0KGUpLnRoZW4oKCgpPT57dGhpcy5fY29weUVsUmVmLmN1cnJlbnQmJigoMCxzZS5zaG93VG9vbHRpcCkodGhpcy5fY29weUVsUmVmLmN1cnJlbnQse2luaXRpYWxEZWxheTowLGxlYXZlT25Nb3VzZU91dDohMH0pLCgwLHNlLmRlYm91bmNlSGlkZVRvb2x0aXApKCkpfSkpfSx0aGlzLl9oYW5kbGVDbG9uZUNsaWNrPSgpPT57dGhpcy5wcm9wcy5vbkNsb25lQ2hhcnQ/LigpLCgwLGllLnRyYWNrQnV0dG9uQ2xpY2spKCJ0b3AgdG9vbGJhciIsImNvcHkiLHZvaWQgMCwhMCl9LHRoaXMuX2hhbmRsZVNhdmVDbGljaz0oKT0+e3RoaXMucHJvcHMub25TYXZlQ2hhcnQ/LigpLHRoaXMuX3RyYWNrQ2xpY2soKX0sdGhpcy5faGFuZGxlU2F2ZUFzQ2xpY2s9KCk9Pnt0aGlzLnByb3BzLm9uU2F2ZUFzQ2hhcnQ/LigpLCgwLGllLnRyYWNrQnV0dG9uQ2xpY2spKCJtYW5hZ2UgbGF5b3V0IiwibWFrZSBhIGNvcHkiLHZvaWQgMCwhMCl9LHRoaXMuc3RhdGU9e2lzU2F2aW5nOiExfX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXtlLmlzUHJvY2Vzc2luZyYmIXRoaXMucHJvcHMuaXNQcm9jZXNzaW5nJiYoY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpLHRoaXMuX3RpbWVvdXQ9dm9pZCAwLHRoaXMuc2V0U3RhdGUoe2lzU2F2aW5nOiExfSkpLCghZS5yZWNlbnRJdGVtcz8ubGVuZ3RoJiZ0aGlzLnByb3BzLnJlY2VudEl0ZW1zPy5sZW5ndGh8fGUuaXNTaGFyaW5nRW5hYmxlZCE9PXRoaXMucHJvcHMuaXNTaGFyaW5nRW5hYmxlZCkmJnRoaXMuX21lbnVSZWYuY3VycmVudD8udXBkYXRlKCksIWUuaXNQcm9jZXNzaW5nJiZ0aGlzLnByb3BzLmlzUHJvY2Vzc2luZyYmKHRoaXMuX3RpbWVvdXQ9c2V0VGltZW91dCgoKCk9Pnt0aGlzLnNldFN0YXRlKHtpc1NhdmluZzohMH0pfSksMWUzKSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLl90aW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCl9cmVuZGVyKCl7Y29uc3R7aWQ6ZSxpc1JlYWRPbmx5OnQsZGlzcGxheU1vZGU6byxpc1Byb2Nlc3Npbmc6bCx0aXRsZTpyLHdhc0NoYW5nZXM6ZCxoaWRlTWVudTp1LGlzVGFibGV0U21hbGw6Yyxvbk9wZW5NZW51OmgsZGF0YU5hbWVTYXZlTWVudTp2LGlzU2F2ZURpYWxvZ09wZW5lZDpnLGNoYXJ0TGlzdDp3LGZhdm9yaXRlczpDLGlzTmV3VmlldzpffT10aGlzLnByb3BzLHk9IXQmJiF1O2xldCBTPVtdO1cuc2hvd0Zhdm9yaXRlTGF5b3V0cyYmdyYmQyYmKFM9dy5maWx0ZXIoKGU9PkNbZS5pZF0pKS5zb3J0KCgoZSx0KT0+ZS5uYW1lLmxvY2FsZUNvbXBhcmUodC5uYW1lKSkpKTtjb25zdCB4PSEoZHx8IXJ8fHRoaXMuc3RhdGUuaXNTYXZpbmcpLEU9aS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6ZmUudGV4dFdyYXB9LGkuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpmZS50ZXh0fSxpLmNyZWF0ZUVsZW1lbnQoYi5MZWFkaW5nRW1vamlUZXh0LHt0ZXh0OnJ8fGEudChudWxsLHZvaWQgMCxuKDYxMjY1NSkpfSkpLGkuY3JlYXRlRWxlbWVudChELHtpc0xvYWRpbmc6dGhpcy5zdGF0ZS5pc1NhdmluZyxpc1Zpc2libGU6ZCxsYWJlbDphLnQobnVsbCx7Y29udGV4dDoic2F2ZV9idXR0b24ifSxuKDQ3Mzc4MikpfSkpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQobS5Ub29sV2lkZ2V0Um93V3JhcCxudWxsLHQ/aS5jcmVhdGVFbGVtZW50KG0uVG9vbFdpZGdldFJvd1dyYXAsbnVsbCxpLmNyZWF0ZUVsZW1lbnQocC5Ub29sYmFyQ29sbGFwc2libGVCdXR0b24se2lkOmUsZGlzcGxheU1vZGU6byxpY29uOmkuY3JlYXRlRWxlbWVudChGLkljb24se2ljb246dmV9KSxpc0Rpc2FibGVkOmwsb25DbGljazp0aGlzLl9oYW5kbGVDbG9uZUNsaWNrLHRleHQ6YS50KG51bGwsdm9pZCAwLG4oMTI5MjE0KSksY29sbGFwc2VXaGVuOnhlLHRvb2x0aXA6eWV9KSk6aS5jcmVhdGVFbGVtZW50KG0uVG9vbFdpZGdldFJvd1dyYXAsbnVsbCxpLmNyZWF0ZUVsZW1lbnQocC5Ub29sYmFyQ29sbGFwc2libGVCdXR0b24se2lkOmUsImRhdGEtcWEtaWQiOmUsY2xhc3NOYW1lOnMoKShmZS5idXR0b24seSYmZmUuYnV0dG9uU21hbGxQYWRkaW5nKSxkaXNwbGF5TW9kZTpvLCJhcmlhLWRpc2FibGVkIjohIXh8fHZvaWQgMCxpc0Rpc2FibGVkOmwsCm9uQ2xpY2s6eD92b2lkIDA6dGhpcy5faGFuZGxlU2F2ZUNsaWNrLHRleHQ6RSx0aGVtZTpDZSxjb2xsYXBzZVdoZW46eGUsaXNPcGVuZWQ6Zyx0b29sdGlwOng/YS50KG51bGwsdm9pZCAwLG4oMzkzOSkpOmEudChudWxsLHZvaWQgMCxuKDgyMDMpKSwiZGF0YS10b29sdGlwLWhvdGtleSI6d2V8fHg/IiI6RWV9KSx5JiZpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmZS5tZW51QnRuV3JhcH0saS5jcmVhdGVFbGVtZW50KGYuVG9vbGJhck1lbnVCdXR0b24seyJkYXRhLW5hbWUiOnYsYXJyb3c6ITAscmVmOnRoaXMuX21lbnVSZWYsaXNEcmF3ZXI6YyxkcmF3ZXJQb3NpdGlvbjoiQm90dG9tIixvbkNsaWNrOnRoaXMuX3RyYWNrQ2xpY2ssb25PcGVuOmgsdG9vbHRpcDphLnQobnVsbCx2b2lkIDAsbigyMzY2NjApKSxtZW51Q2xhc3NOYW1lOmZlLm1lbnUsbWVudVJvbGU6ImdyaWQiLGVuYWJsZVNjcm9sbENvbXBlbnNhdGlvbjpffSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoIWMmJmZlLmRlc2t0b3AsXyYmZmUubmV3TWVudVdyYXBwZXIpfSx0aGlzLl9yZW5kZXJNZW51SXRlbXMoQm9vbGVhbihjKSxfKSkpKSxTLmxlbmd0aD4wJiZpLmNyZWF0ZUVsZW1lbnQoVix7ZGlzcGxheU1vZGU6byxmYXZvcml0ZXM6U30pKSl9X3JlbmRlclNlcGFyYXRvcihlLHQpe3JldHVybiB0P2kuY3JlYXRlRWxlbWVudCh3LkRpdmlkZXJMaXN0SXRlbSx7cm9sZToic2VwYXJhdG9yIixrZXk6ZX0pOmkuY3JlYXRlRWxlbWVudCh2LlBvcHVwTWVudVNlcGFyYXRvcix7a2V5OmV9KX1fcmVuZGVyT3ZlcmZsb3dUaXRsZShlLHQpe3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpKCF0JiZmZS5lbGxpcHNpcywiYXBwbHktb3ZlcmZsb3ctdG9vbHRpcCIpLHJvbGU6ImdyaWRjZWxsIiwiYXJpYS1jb2xzcGFuIjoyfSxlKX1fcmVuZGVyQWN0aW9uSXRlbShlLHQsbyl7Y29uc3QgbD10P04ubXVsdGlsaW5lTGFiZWxXaXRoSWNvbkFuZFRvb2xib3hUaGVtZTpfZSxyPWUud2l0aEVsbGlwc2lzPygwLHouYXBwZW5kRWxsaXBzaXMpKGUubGFiZWwpOmUubGFiZWw7aWYoIW8pe2NvbnN0IG89ZS5ob3RrZXk/MTkwPT09ZS5ob3RrZXk/YS50KG51bGwse2NvbnRleHQ6ImhvdGtleSJ9LG4oOTEwNDc2KSk6KDAsZC5odW1hblJlYWRhYmxlSGFzaCkoZS5ob3RrZXkpOnZvaWQgMDtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGguQWNjZXNzaWJsZU1lbnVJdGVtLHtrZXk6ZS5rZXkscm9sZToicm93Iixpc0Rpc2FibGVkOmUuaXNEaXNhYmxlZCxpY29uOmUuaWNvbixsYWJlbDpyLG9uQ2xpY2s6ZS5vbkNsaWNrLGxhYmVsUm93Q2xhc3NOYW1lOnMoKSh0JiZmZS5wb3B1cEl0ZW1Sb3dUYWJsZXRTbWFsbCksdGhlbWU6bCxzaG9ydGN1dDpvLCJkYXRhLW5hbWUiOmUuZGF0YVFhSWQsImFyaWEtaGFzcG9wdXAiOmUuYXJpYUhhc3BvcHVwLGRvbnRDbG9zZVBvcHVwOmUuZG9udENsb3NlUG9wdXAscmVmZXJlbmNlOmUucmVmfSl9cmV0dXJuIGkuY3JlYXRlRWxlbWVudChDLk1lbnVJdGVtLHtrZXk6ZS5rZXkscm9sZToicm93IixkaXNhYmxlZDplLmlzRGlzYWJsZWQsYXJpYUhhc3BvcHVwOmUuYXJpYUhhc3BvcHVwLGxlZnRTbG90OmUuaWNvbj9pLmNyZWF0ZUVsZW1lbnQoUy5TdmdJY29uTGlzdEl0ZW1QYXJ0LHtpY29uU3ZnOmUuaWNvbn0pOnZvaWQgMCxvbkNsaWNrOmUub25DbGljayx0aXRsZTp0aGlzLl9yZW5kZXJPdmVyZmxvd1RpdGxlKHIsdCksYXJpYUxhYmVsOmUubGFiZWwsaG90a2V5OmUuaG90a2V5LCJkYXRhLXJvbGUiOiJtZW51aXRlbSIsZWxsaXBzaXM6IXQsZGF0YVFhSWQ6ZS5kYXRhUWFJZCxkb250Q2xvc2VQb3B1cDplLmRvbnRDbG9zZVBvcHVwLGxpc3RJdGVtUmVmOmUucmVmfSl9X3JlbmRlck1lbnVJdGVtcyhlLHQpe2NvbnN0e3dhc0NoYW5nZXM6byxpc1Byb2Nlc3Npbmc6bCxjaGFydElkOnIsb25TYXZlQ2hhcnRGcm9tTWVudTpjLG9uUmVuYW1lQ2hhcnQ6aCxvbkxvYWRDaGFydDp2LG9uTmV3Q2hhcnQ6bSxpc0F1dG9TYXZlRW5hYmxlZDpwLGF1dG9TYXZlSWQ6ZixzaGFyaW5nSWQ6YixvbkF1dG9TYXZlQ2hhbmdlZDp3LGlzU2hhcmluZ0VuYWJsZWQ6QyxvblNoYXJpbmdDaGFuZ2VkOlMscmVjZW50SXRlbXM6RSxvbkV4cG9ydERhdGE6TSxpc0F1dGhlbnRpY2F0ZWQ6ayxmYXZvcml0ZXM6SX09dGhpcy5wcm9wcyxUPWU/Wi5tZW51SXRlbVN3aXRjaGVyTW9iaWxlVGhlbWU6YmUsQT1bXSxIPWsmJkUmJkUubGVuZ3RoPjA/dD9baS5jcmVhdGVFbGVtZW50KHkuU2VjdGlvbkxpc3RJdGVtLHtrZXk6InJlY2VudGx5LXVzZWQiLHRpdGxlOnRoaXMuX3JlbmRlck92ZXJmbG93VGl0bGUoYS50KG51bGwse2NvbnRleHQ6Im1lbnVfaXRlbSJ9LG4oNjIzMjQ0KSksZSksYXJpYUxhYmVsOmEudChudWxsLHtjb250ZXh0OiJtZW51X2l0ZW0ifSxuKDYyMzI0NCkpLGdyb3VwUm9sZToicm93Z3JvdXAiLGl0ZW1Sb2xlOiJyb3cifSxFLm1hcCgobj0+aS5jcmVhdGVFbGVtZW50KCQse2tleTpuLmlkLGxheW91dDpuLGNoYXJ0SWQ6cixmYXZvcml0ZXM6SSxpc1RhYmxldFNtYWxsOmUsaXNOZXdWaWV3OnR9KSkpKV06W2kuY3JlYXRlRWxlbWVudChvZS5Ub29sVGl0bGUse2tleToicmVjZW50bHktdXNlZCIsY2xhc3NOYW1lOnMoKShmZS50b29sVGl0bGUsZSYmZmUudG9vbFRpdGxlTW9iaWxlKSx0ZXh0OmEudChudWxsLHtjb250ZXh0OiJtZW51X2l0ZW0ifSxuKDYyMzI0NCkpfSksLi4uRS5tYXAoKG49PmkuY3JlYXRlRWxlbWVudCgkLHtrZXk6bi5pZCxsYXlvdXQ6bixjaGFydElkOnIsZmF2b3JpdGVzOkksaXNUYWJsZXRTbWFsbDplLGlzTmV3Vmlldzp0fSkpKV06bnVsbDtBLnB1c2godGhpcy5fcmVuZGVyQWN0aW9uSXRlbSh7a2V5OiJzYXZlIixpc0Rpc2FibGVkOkJvb2xlYW4obHx8IW8mJnIpLGxhYmVsOlNlLG9uQ2xpY2s6Yyxob3RrZXk6ZT92b2lkIDA6ZC5Nb2RpZmllcnMuTW9kKzgzLGRhdGFRYUlkOiJzYXZlLWxvYWQtbWVudS1pdGVtLXNhdmUiLHdpdGhFbGxpcHNpczohMX0sZSx0KSk7ewpjb25zdCBvPXIsbD0oKT0+dm9pZCAwIT09cCYmdm9pZCAwIT09dyYmbz90P2kuY3JlYXRlRWxlbWVudChfLk1lbnVTd2l0Y2hlckl0ZW0se2tleToiYXV0by1zYXZlIixyb2xlOiJyb3ciLHZhbHVlOnAsb25DbGljazooKT0+dyghcCksdGl0bGU6dGhpcy5fcmVuZGVyT3ZlcmZsb3dUaXRsZShhLnQobnVsbCx7Y29udGV4dDoibWVudV9pdGVtIn0sbig0Nzk3MSkpLGUpLGFyaWFMYWJlbDphLnQobnVsbCx7Y29udGV4dDoibWVudV9pdGVtIn0sbig0Nzk3MSkpLCJkYXRhLXJvbGUiOiJtZW51aXRlbSIsZWxsaXBzaXM6IWUsZGF0YVFhSWQ6InNhdmUtbG9hZC1tZW51LWl0ZW0tYXV0by1zYXZlIn0pOmkuY3JlYXRlRWxlbWVudCh4Lk1lbnVJdGVtU3dpdGNoZXIse2tleToiYXV0by1zYXZlIixyb2xlOiJyb3ciLGNoZWNrZWQ6cCxvbkNoYW5nZTp3LGNsYXNzTmFtZTpzKCkoIWUmJmZlLmF1dG9TYXZlV3JhcHBlciksaWQ6Zix0aGVtZTpULGxhYmVsOmEudChudWxsLHZvaWQgMCxuKDU1NjM5OSkpLHZhbHVlOiJhdXRvU2F2ZVN3aXRjaGVyIn0pOm51bGw7QS5wdXNoKGwoKSl9aWYodm9pZCAwIT09cil7aWYodm9pZCAwIT09QyYmdm9pZCAwIT09UyYmISgwLHUuaXNTeW1waG9ueUVtYmVkKSgpKXtjb25zdCBvPWkuY3JlYXRlRWxlbWVudChhZSx7aXNUYWJsZXRTbWFsbDplLGlzTmV3Vmlldzp0fSk7aWYodClBLnB1c2goaS5jcmVhdGVFbGVtZW50KF8uTWVudVN3aXRjaGVySXRlbSx7a2V5OiJzaGFyaW5nIixyb2xlOiJyb3ciLHZhbHVlOkMsb25DbGljazooKT0+UyghQyksdGl0bGU6byxhcmlhTGFiZWw6YS50KG51bGwse2NvbnRleHQ6Im1lbnVfaXRlbSJ9LG4oMjI0ODkpKSwiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGVsbGlwc2lzOiFlLGRhdGFRYUlkOiJzYXZlLWxvYWQtbWVudS1pdGVtLXNoYXJpbmcifSkpLEMmJkEucHVzaCh0aGlzLl9yZW5kZXJBY3Rpb25JdGVtKHtrZXk6ImNvcHktbGluayIsaWNvbjpwZSxsYWJlbDphLnQobnVsbCx7Y29udGV4dDoibWVudV9pdGVtIn0sbig1OTA4ODQpKSxvbkNsaWNrOnRoaXMuX2hhbmRsZUNvcHlMaW5rQ2xpY2ssZGF0YVFhSWQ6InNhdmUtbG9hZC1tZW51LWl0ZW0tY29weS1saW5rIix3aXRoRWxsaXBzaXM6ITAsZG9udENsb3NlUG9wdXA6ITAscmVmOnRoaXMuX2NvcHlFbFJlZn0sZSx0KSk7ZWxzZXtjb25zdCB0PSgwLGcubWVyZ2VUaGVtZXMpKFQse2xhYmVsOmZlLnN3aXRjaGVyTGFiZWx9KTtBLnB1c2goaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQse2tleToic2hhcmluZyJ9LGkuY3JlYXRlRWxlbWVudCh4Lk1lbnVJdGVtU3dpdGNoZXIse3JvbGU6InJvdyIsY2hlY2tlZDpDLG9uQ2hhbmdlOlMsY2xhc3NOYW1lOnMoKSghZSYmZmUuc2hhcmluZ1dyYXBwZXIpLGlkOmIsdGhlbWU6dCxsYWJlbDpvLHZhbHVlOiJzaGFyaW5nU3dpdGNoZXIifSksQyYmaS5jcmVhdGVFbGVtZW50KGhlLHtyb2xlOiJyb3ciLGlzU21hbGw6ZSxvbkNsaWNrOnRoaXMuX2hhbmRsZUNvcHlMaW5rQ2xpY2sscmVmOnRoaXMuX2NvcHlFbFJlZn0pKSl9fUEucHVzaCh0aGlzLl9yZW5kZXJBY3Rpb25JdGVtKHtrZXk6InNhdmUtYXMiLGljb246dmUsbGFiZWw6eWUsb25DbGljazp0aGlzLl9oYW5kbGVTYXZlQXNDbGljayxkYXRhUWFJZDoic2F2ZS1sb2FkLW1lbnUtaXRlbS1jbG9uZSIsYXJpYUhhc3BvcHVwOiJkaWFsb2ciLHdpdGhFbGxpcHNpczohMH0sZSx0KSx0aGlzLl9yZW5kZXJBY3Rpb25JdGVtKHtrZXk6InJlbmFtZSIsaWNvbjpsZSxsYWJlbDphLnQobnVsbCx7Y29udGV4dDoibWVudV9pdGVtIn0sbig1NjU0NTEpKSxvbkNsaWNrOmgsZGF0YVFhSWQ6InNhdmUtbG9hZC1tZW51LWl0ZW0tcmVuYW1lIixhcmlhSGFzcG9wdXA6ImRpYWxvZyIsd2l0aEVsbGlwc2lzOiEwfSxlLHQpKX1yZXR1cm4oMCxHLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iil8fEEucHVzaCh0aGlzLl9yZW5kZXJBY3Rpb25JdGVtKHtrZXk6ImV4cG9ydC1jaGFydC1kYXRhIixpY29uOnJlLGxhYmVsOmEudChudWxsLHtjb250ZXh0OiJleHBvcnQgY2hhcnQncyBkYXRhIn0sbig3NjM5MzQpKSxvbkNsaWNrOk0sYXJpYUhhc3BvcHVwOiJkaWFsb2ciLGRhdGFRYUlkOiJzYXZlLWxvYWQtbWVudS1pdGVtLWRvd25sb2FkIix3aXRoRWxsaXBzaXM6ITB9LGUsdCkpLEEucHVzaCh0aGlzLl9yZW5kZXJTZXBhcmF0b3IoIm5ldy1jaGFydC1zZXBhcmF0b3IiLHQpLHRoaXMuX3JlbmRlckFjdGlvbkl0ZW0oe2tleToibmV3LWNoYXJ0IixpY29uOmRlLGxhYmVsOmEudChudWxsLHtjb250ZXh0OiJtZW51X2l0ZW0ifSxuKDkzODQ5NykpLG9uQ2xpY2s6bSxhcmlhSGFzcG9wdXA6ImRpYWxvZyIsZGF0YVFhSWQ6InNhdmUtbG9hZC1tZW51LWl0ZW0tY3JlYXRlIix3aXRoRWxsaXBzaXM6ITB9LGUsdCkpLEgmJkEucHVzaCh0aGlzLl9yZW5kZXJTZXBhcmF0b3IoInJlY2VudC1sYXlvdXRzIix0KSwuLi5IKSxBLnB1c2godGhpcy5fcmVuZGVyU2VwYXJhdG9yKCJhbGwtbGF5b3V0cy1zZXBhcmF0b3IiLHQpLHRoaXMuX3JlbmRlckFjdGlvbkl0ZW0oe2tleToiYWxsLWxheW91dHMiLGxhYmVsOmEudChudWxsLHtjb250ZXh0OiJtZW51X2l0ZW0ifSxuKDYxMzUxNikpLG9uQ2xpY2s6dixpY29uOm1lLGhvdGtleTplP3ZvaWQgMDoxOTAsZGF0YVFhSWQ6InNhdmUtbG9hZC1tZW51LWl0ZW0tbG9hZCIsYXJpYUhhc3BvcHVwOiJkaWFsb2ciLHdpdGhFbGxpcHNpczohMH0sZSx0KSksQX1fdHJhY2tDbGljaygpeygwLGllLnRyYWNrQnV0dG9uQ2xpY2spKCJ0b3AgdG9vbGJhciIsIm1hbmFnZSBsYXlvdXRzIil9fX0sNjY2NDQxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3Nob3dGYXZvcml0ZUxheW91dHM6KCk9PmF9KTtjb25zdCBhPSgwLG4oNTY5Mzk4KS5pc0ZlYXR1cmVFbmFibGVkKSgic2hvd19mYXZvcml0ZV9sYXlvdXRzIil9LDkyOTY0OShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtBY2Nlc3NpYmxlSWNvbkJ1dHRvbjooKT0+b30pO3ZhciBhPW4oNzc5NDc0KSxpPW4oNDA4NDEpO2NvbnN0IG89KDAsYS5mb3J3YXJkUmVmKSgoZnVuY3Rpb24oZSx0KXtjb25zdHt0b29sdGlwOm4sLi4ub309ZQo7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChpLlRvb2xXaWRnZXRJY29uQnV0dG9uLHsiYXJpYS1sYWJlbCI6biwuLi5vLHRhZzoiYnV0dG9uIixyZWY6dCwiZGF0YS10b29sdGlwIjpuLCJkYXRhLXRvb2x0aXAtc2hvdy1vbi1mb2N1cyI6InRydWUifSl9KSl9LDkzNDkyOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtBY2Nlc3NpYmxlTWVudUJ1dHRvbjooKT0+bH0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oNzg3ODk1KSxvPW4oMjk2NDQ5KSxzPW4oODYxMTg4KTtjb25zdCBsPSgwLGEuZm9yd2FyZFJlZikoKGZ1bmN0aW9uKGUsdCl7Y29uc3R7dG9vbHRpcDpuLHRhZzpsLGJ1dHRvblJlZjpyLHJlZmVyZW5jZTpkLC4uLnV9PWUsYz0oMCxpLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKGQ/P251bGwpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoby5Ub29sV2lkZ2V0TWVudSx7ImFyaWEtbGFiZWwiOm4sLi4udSxyZWY6dCx0YWc6bD8/ImJ1dHRvbiIscmVmZXJlbmNlOnI/P2MsImRhdGEtdG9vbHRpcCI6bixvbk1lbnVLZXlEb3duOnMuaGFuZGxlQWNjZXNzaWJsZU1lbnVLZXlEb3duLG9uTWVudUZvY3VzOmU9PigwLHMuaGFuZGxlQWNjZXNzaWJsZU1lbnVGb2N1cykoZSxyPz9jKX0pfSkpfSw3NzgwNzcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q29sbGFwc2libGVTZWN0aW9uOigpPT5yfSk7dmFyIGE9big3Nzk0NzQpLGk9big5MTQ0ODcpLG89bi5uKGkpLHM9big3MDg4NDIpLGw9bigxODk1MzApO2NvbnN0IHI9KDAsYS5mb3J3YXJkUmVmKSgoZnVuY3Rpb24oZSx0KXtjb25zdHtvcGVuOm4sc3VtbWFyeTppLGNoaWxkcmVuOnIsb25TdGF0ZUNoYW5nZTpkLHRhYkluZGV4OnUsY2xhc3NOYW1lOmMsLi4uaH09ZTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KGEuRnJhZ21lbnQsbnVsbCxhLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLmgsY2xhc3NOYW1lOm8oKShjLGwuc3VtbWFyeSksb25DbGljazpmdW5jdGlvbigpe2QmJmQoIW4pfSwiZGF0YS1vcGVuIjpuLCJhcmlhLWV4cGFuZGVkIjpuLHJlZjp0LHRhYkluZGV4OnV9LGksYS5jcmVhdGVFbGVtZW50KHMuVG9vbFdpZGdldENhcmV0LHtjbGFzc05hbWU6bC5jYXJldCxkcm9wcGVkOkJvb2xlYW4obil9KSksbiYmcil9KSl9LDYyNzA0NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtGYXZvcml0ZUl0ZW06KCk9PmN9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDkxNDQ4Nyksbz1uLm4oaSkscz1uKDIzNTcyNCksbD1uKDE4MjMwOCkscj1uKDI0OWUzKSxkPW4oNTEwNTk4KSx1PW4oNzU4ODgyKTtmdW5jdGlvbiBjKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGNoaWxkcmVuOm4saXRlbTppLG9uQXBwbHk6Yyxpc0FjdGl2ZTpoLGhyZWY6dix0YXJnZXQ6bX09ZSxwPWkubmFtZT8udHJpbSgpPz8iICIsW2YsZ109KDAsbC51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpLGI9dj8iYSI6Yz8iYnV0dG9uIjoiZGl2Iix3PWkudG9vbHRpcD8/cCxDPSgwLHIuZ2V0TGVhZGluZ0Vtb2ppSHRtbCkodyk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChiLHtyZWY6Zix0eXBlOmMmJiF2PyJidXR0b24iOnZvaWQgMCxjbGFzc05hbWU6bygpKHQsdS5pdGVtLHUuYWNjZXNzaWJsZSwiYXBwbHktY29tbW9uLXRvb2x0aXAiLCJjb21tb24tdG9vbHRpcC1odG1sIiksb25DbGljazpmdW5jdGlvbihlKXtpZihlLnN0b3BQcm9wYWdhdGlvbigpLGMmJnYpe2lmKCgwLHMubW9kaWZpZXJzRnJvbUV2ZW50KShlKSE9PXMuTW9kaWZpZXJzLk5vbmV8fDE9PT1lLmJ1dHRvbilyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpfWM/LihpKX0sb25LZXlEb3duOiJhIj09PWI/ZnVuY3Rpb24oZSl7MzI9PT0oMCxzLmhhc2hGcm9tRXZlbnQpKGUpJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGYuY3VycmVudD8uY2xpY2soKSl9OnZvaWQgMCwiZGF0YS10b29sdGlwIjpDLCJhcmlhLWxhYmVsIjp3LHRhYkluZGV4OmcsaHJlZjoiYSI9PT1iP3Y6dm9pZCAwLHRhcmdldDoiYSI9PT1iP206dm9pZCAwfSxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkodS5yb3VuZCxoJiZ1LmFjdGl2ZSl9LG58fGEuY3JlYXRlRWxlbWVudChkLkxlYWRpbmdFbW9qaVRleHQse3RleHQ6cCxmaXJzdFNlZ21lbnRPbmx5OiEwfSkpKX19LDkxNzgxNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNZW51UmVtb3ZlQnV0dG9uOigpPT5jfSk7dmFyIGE9big3Nzk0NzQpLGk9big5MTQ0ODcpLG89bi5uKGkpLHM9bigxODUyNzEpLGw9bigxODIzMDgpLHI9big1NDU0MjIpLGQ9big0NjI3MDQpLHU9big1ODcwOTQpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7b25DbGljazp0LGlzQWN0aXZlOmksb25LZXlEb3duOmMsLi4uaH09ZSxbdixtXT0oMCxsLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkobnVsbCk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7cmVmOnYsdGFiSW5kZXg6bSxvbkNsaWNrOnQsb25LZXlEb3duOmMsY2xhc3NOYW1lOm8oKSh1LmJ1dHRvbixpJiZ1LmFjdGl2ZSwiYXBwbHktY29tbW9uLXRvb2x0aXAiKSwiYXJpYS1sYWJlbCI6cy50KG51bGwsdm9pZCAwLG4oOTExMjYpKSwiZGF0YS10b29sdGlwIjpzLnQobnVsbCx2b2lkIDAsbig5MTEyNikpLHR5cGU6ImJ1dHRvbiJ9LGEuY3JlYXRlRWxlbWVudChyLlJlbW92ZUJ1dHRvbix7Li4uaCxpc0FjdGl2ZTppLHRpdGxlOiIiLGljb246ZH0pKX19LDQyOTQ2NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sVGl0bGU6KCk9Pmx9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDkxNDQ4Nyksbz1uLm4oaSkscz1uKDU3MzQ1MCk7ZnVuY3Rpb24gbChlKXtjb25zdHtjbGFzc05hbWU6dCx0ZXh0Om4saWQ6aSxyb2xlOmwsYXJpYUhpZGRlbjpyfT1lO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkocy50aXRsZSx0KSxpZDppLHJvbGU6bCwiYXJpYS1oaWRkZW4iOnJ9LG4pfX0sOTcxNTQ1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Rvb2xXaWRnZXRDb2xsYXBzaWJsZUJ1dHRvbjooKT0+ZH0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxvPW4ubihpKSxzPW4oOTk1NzE5KSxsPW4oOTQxOTE4KQo7Y29uc3Qgcj1bIm1lZGl1bSIsInNtYWxsIl0sZD0oMCxhLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe2NvbnN0e3RleHQ6bixjbGFzc05hbWU6aSxkaXNwbGF5TW9kZTpkLGNvbGxhcHNlV2hlbjp1PXIsLi4uY309ZSxoPSF1LmluY2x1ZGVzKGQpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQocy5Ub29sV2lkZ2V0QnV0dG9uLHsuLi5jLHJlZjp0LHRleHQ6aD9uOnZvaWQgMCxjbGFzc05hbWU6bygpKGksbC5idXR0b24saD9sLndpdGhUZXh0Omwud2l0aG91dFRleHQpfSl9KSl9LDY0ODAwOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sV2lkZ2V0TWVudVNwaW5uZXI6KCk9PnJ9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDkxNDQ4Nyksbz1uLm4oaSkscz1uKDY0OTE2NiksbD1uKDY2MTUwKTtmdW5jdGlvbiByKGUpe2NvbnN0e2NsYXNzTmFtZTp0fT1lO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkobC5zcGlubmVyV3JhcCx0KX0sYS5jcmVhdGVFbGVtZW50KHMuTG9hZGVyLG51bGwpKX19LDg2NDY4MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sV2lkZ2V0Um93V3JhcDooKT0+bH0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxvPW4ubihpKSxzPW4oNTA2ODM4KTtjb25zdCBsPWEuZm9yd2FyZFJlZigoKGUsdCk9Pntjb25zdHtjaGlsZHJlbjpuLGNsYXNzTmFtZTppLC4uLmx9PWU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOm8oKShpLHMud3JhcCkscmVmOnQsLi4ubH0sbil9KSl9LDI0NjcyNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtERUZBVUxUX1RPT0xCQVJfQlVUVE9OX1RIRU1FOigpPT5zLFRvb2xiYXJCdXR0b246KCk9Pmx9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDk5NTcxOSksbz1uKDE4MjMwOCk7Y29uc3Qgcz1pLkRFRkFVTFRfVE9PTF9XSURHRVRfQlVUVE9OX1RIRU1FLGw9KDAsYS5mb3J3YXJkUmVmKSgoZnVuY3Rpb24oZSx0KXtjb25zdHt0b29sdGlwOm4sLi4uc309ZSxbbCxyXT0oMCxvLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkodCk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChpLlRvb2xXaWRnZXRCdXR0b24seyJhcmlhLWxhYmVsIjpuLC4uLnMsdGFnOiJidXR0b24iLHJlZjpsLHRhYkluZGV4OnIsImRhdGEtdG9vbHRpcCI6bn0pfSkpfSwxODYwOTcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VG9vbGJhckNvbGxhcHNpYmxlQnV0dG9uOigpPT5zfSk7dmFyIGE9big3Nzk0NzQpLGk9bigxODIzMDgpLG89big5NzE1NDUpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7dG9vbHRpcDp0LC4uLm59PWUsW3MsbF09KDAsaS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoby5Ub29sV2lkZ2V0Q29sbGFwc2libGVCdXR0b24seyJhcmlhLWxhYmVsIjp0LC4uLm4sdGFnOiJidXR0b24iLHRhYkluZGV4OmwscmVmOnMsImRhdGEtdG9vbHRpcCI6dH0pfX0sOTY3MDUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VG9vbGJhckljb25CdXR0b246KCk9PnN9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDE4MjMwOCksbz1uKDkyOTY0OSk7Y29uc3Qgcz0oMCxhLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe2NvbnN0W24sc109KDAsaS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKHQpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoby5BY2Nlc3NpYmxlSWNvbkJ1dHRvbix7Li4uZSxyZWY6bix0YWJJbmRleDpzfSl9KSl9LDc3MTI4NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sYmFyTWVudUJ1dHRvbjooKT0+cn0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oNzg3ODk1KSxvPW4oMTgyMzA4KSxzPW4oNDUwMTQwKSxsPW4oOTM0OTI5KTtjb25zdCByPSgwLGEuZm9yd2FyZFJlZikoKGZ1bmN0aW9uKGUsdCl7Y29uc3R7dG9vbHRpcDpuLG1lbnVSZWZlcmVuY2U6cj1udWxsLC4uLmR9PWUsW3UsY109KDAsby51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpLGg9KDAsaS51c2VGdW5jdGlvbmFsUmVmT2JqZWN0KShyKTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KGwuQWNjZXNzaWJsZU1lbnVCdXR0b24seyJhcmlhLWxhYmVsIjpuLCJhcmlhLWhhc3BvcHVwIjoibWVudSIsLi4ucy5Nb3VzZUNsaWNrQXV0b0JsdXJIYW5kbGVyLmF0dHJpYnV0ZXMoKSwuLi5kLHJlZjp0LHRhZzoiYnV0dG9uIixidXR0b25SZWY6dSx0YWJJbmRleDpjLG1lbnVSZWZlcmVuY2U6aCx0b29sdGlwOm59KX0pKX0sNzM3MTE2KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYSgpe3JldHVybiBQcm9taXNlLmFsbChbbi5lKDczNzApLG4uZSg4NDMwNiksbi5lKDI5Mjk2KSxuLmUoNTIzOTYpLG4uZSg2MDA2Miksbi5lKDIwMzU0KSxuLmUoMTM0OTIpLG4uZSgzNzc0Niksbi5lKDgxMDcyKSxuLmUoMjM2MjQpLG4uZSg5NDIzMiksbi5lKDE5NTk1KSxuLmUoMTk3ODcpLG4uZSg1NzMwMCksbi5lKDEyMDUxKSxuLmUoNDA4NjcpLG4uZSg1MDgwMCksbi5lKDQ3MzE2KSxuLmUoMzk2MDkpLG4uZSg3MTc1MyldKS50aGVuKG4uYmluZChuLDE2NDk1NykpfW4uZCh0LHtsb2FkQ2hhcnRFeHBvcnREaWFsb2dNb2R1bGU6KCk9PmF9KX0sMjczNTA5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvbnRlbnRNZW51OigpPT5nfSk7dmFyIGE9big3ODMyNTQpLGk9big3Nzk0NzQpLG89bigyMDgwODApLHM9bigzOTE5MTQpLGw9big5NzI3MzQpLHI9big3MzI3MzEpLGQ9bigyNzMzMTApLHU9big3ODQ1MTMpLGM9bigyMTQzMiksaD1uKDU1MzY2OSksdj1uKDEzNjYzKTtjb25zdCBtPWkuY3JlYXRlQ29udGV4dChudWxsKTt2YXIgcD1uKDk1NTU4OSksZj1uKDU0MTIxMik7Y29uc3QgZz0oMCxpLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe2NvbnN0e2RhdGE6cyxzeW1ib2w6aCxpc09wZW46dixvbkNsb3NlOmcsYW5jaG9yZWQ6dyx0cmFja2luZ0RhdGE6QyxwbGFjZW1lbnRSdWxlczpfLGFjdHVhbENvbnRlbnRJZDp5LHNob3dGaW5hbmNpYWxzOlM9ITEsc2hvd0NoYXJ0Ong9ITF9PWUsRT0oMCxjLnVzZU1lbnVHcm91cHMpKHtkYXRhOnMsc2hvd0ZpbmFuY2lhbHM6U30pCjtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KG0uUHJvdmlkZXIse3ZhbHVlOntzeW1ib2w6aCxzeW1ib2xUeXBlOnMudHlwZSx0cmFja2luZ0RhdGE6QyxvblNlbGVjdDpnfX0saS5jcmVhdGVFbGVtZW50KG8uUG9wb3ZlcktleWJvYXJkTmF2aWdhdG9yLHtpc09wZW46dixwbGFjZW1lbnRSdWxlczpfLG9uQ2xvc2U6ZyxhbmNob3JlZDp3LHdpZHRoOlt7Ynk6ImNsYXNzIixjbGFzc05hbWU6Zi5tZW51fSx7Ynk6ImNvbnRlbnQifV19LGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImNvbnRlbnRzIn0scmVmOnR9LHgmJmkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsaS5jcmVhdGVFbGVtZW50KGwuUG9wb3Zlckl0ZW0se3RpdGxlOmEudChudWxsLHtjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDY4MTkyMSkpLHNlbGVjdGVkOiEoeSYmYy5DT05URU5UX0JVVFRPTl9JQ09OU1t5XSksbGVmdFNsb3Q6aS5jcmVhdGVFbGVtZW50KGQuSWNvbix7aWNvbjpwfSksb25DbGljazooKT0+e2coKSx1LmFjdHVhbENvbnRlbnQuc2V0VmFsdWUobnVsbCl9fSksQm9vbGVhbihFLmxlbmd0aCkmJmkuY3JlYXRlRWxlbWVudChyLkRpdmlkZXJMaXN0SXRlbSxudWxsKSksRS5tYXAoKChlLHQpPT5pLmNyZWF0ZUVsZW1lbnQoaS5GcmFnbWVudCx7a2V5OmUuYW5hbHl0aWNzU3ViTWVudX0saS5jcmVhdGVFbGVtZW50KGIsey4uLmV9KSx0IT09RS5sZW5ndGgtMSYmaS5jcmVhdGVFbGVtZW50KHIuRGl2aWRlckxpc3RJdGVtLG51bGwpKSkpKSkpfSkpO2Z1bmN0aW9uIGIoZSl7Y29uc3R7c3ltYm9sOnQsc3ltYm9sVHlwZTpuLHRyYWNraW5nRGF0YTphLG9uU2VsZWN0Om99PSgwLHYudXNlRW5zdXJlZENvbnRleHQpKG0pO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQocy5TZWN0aW9uUG9wb3Zlckl0ZW0se3RpdGxlOmUudGl0bGV9LGUuaXRlbXMubWFwKChzPT5pLmNyZWF0ZUVsZW1lbnQobC5Qb3BvdmVySXRlbSx7a2V5OnMuaWQsdGl0bGU6cy50aXRsZSxzZWxlY3RlZDpzLmlzU2VsZWN0ZWQsbGVmdFNsb3Q6aS5jcmVhdGVFbGVtZW50KGQuSWNvbix7aWNvbjpzLmljb259KSxvbkNsaWNrOigpPT57cy5pc1NlbGVjdGVkfHwoKDAsaC50cmFja01ldHJpY3NNZW51QWN0aW9uKSh7Li4uYSxzeW1ib2xfdHlwZTpuPz9udWxsLHN5bWJvbDp0LHN1Yl9tZW51OmUuYW5hbHl0aWNzU3ViTWVudSxtZW51X2l0ZW06cy5hbmFseXRpY3NOYW1lfSksbygpLHMub25DbGljaygpKX19KSkpKX19LDIxNDMyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NPTlRFTlRfQlVUVE9OX0lDT05TOigpPT5MLHVzZU1lbnVHcm91cHM6KCk9Plp9KTt2YXIgYT1uKDc4MzI1NCksaT1uKDEzODYzOCksbz1uKDg4OTM5Nykscz1uKDc4NDUxMyksbD1uKDgzMzQwOSkscj1uKDE5OTc0KSxkPW4oOTIwNjMxKSx1PW4oMzE1ODUwKSxjPW4oNjMxMjU0KSxoPW4oMTA2OTAwKSx2PW4oODk4Mzc3KSxtPW4oOTAyODI5KSxwPW4oMjc1ODM1KSxmPW4oMzkxMTgyKSxnPW4oNTA2NzY3KSxiPW4oOTU3ODQ2KSx3PW4oMjM2NDI5KSxDPW4oNTUxMjgyKSxfPW4oMjA1NDcyKSx5PW4oOTIwODgpLFM9big1MTQxNDIpLHg9bigyOTIzNjApLEU9big5ODc5OTIpLE09big5MDc5MTEpLGs9bigxNTkyNDUpLEk9big3OTE2OTMpLFQ9big3MjcyNjkpLEE9big2MDQ5MDEpLEg9big2MjcwNDEpLFY9big2NjQ0ODEpLFI9bigzMTA5MjcpLEY9big3NTUyOTQpO2NvbnN0IEw9e2ZpbmFuY2lhbHM6dyxkb2N1bWVudHM6QyxuZXdzOl8saWRlYXM6VixzZWFzb25hbHM6eSxhbmFseXNpczpTLHRlY2huaWNhbHM6eCxmb3JlY2FzdDpSLCJmb3J3YXJkLWN1cnZlIjpFLGNvbnRyYWN0czpNLCJ5aWVsZC1jdXJ2ZSI6aywiZWNvbm9teS1pbmRpY2F0b3JzIjpJLG9wdGlvbnM6VCxib25kczpBLGV0ZnM6SCxjb21tdW5pdHk6Rn07ZnVuY3Rpb24gWihlKXtjb25zdHtkYXRhOnQsc2hvd0ZpbmFuY2lhbHM6d309ZSxDPSgwLGgudXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6cy5hY3R1YWxDb250ZW50fSk7cmV0dXJuW3t0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig5OTU2MDIpKSxhbmFseXRpY3NTdWJNZW51OiJGdW5kYW1lbnRhbHMiLGl0ZW1zOk4oW3tpZDoiZmluYW5jaWFscyIsdGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oMzgwMTU4KSksYW5hbHl0aWNzTmFtZToiRmluYW5jaWFscyIsaWNvbjp2LG9uQ2xpY2s6KCk9PigwLG8uc2hvd0ZpbmFuY2lhbHNEaWFsb2cpKCksaGlkZGVuOiEodyYmdC5oYXNGaW5hbmNpYWxzKSxpc1NlbGVjdGVkOiJmaW5hbmNpYWxzIj09PUN9LHtpZDoiZG9jdW1lbnRzIix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig3ODc0NDIpKSxhbmFseXRpY3NOYW1lOiJEb2N1bWVudHMiLGljb246dC5kb2N1bWVudHNBY3Rpb24/LmdldFN0YXRlKCkuaWNvbixvbkNsaWNrOigpPT4oMCxpLmVuc3VyZU5vdE51bGwpKHQuZG9jdW1lbnRzQWN0aW9uKS5leGVjdXRlKCksaGlkZGVuOnQuZG9jdW1lbnRzQWN0aW9uPy5pc0Rpc2FibGVkKCk/PyEwLGlzU2VsZWN0ZWQ6ImRvY3VtZW50cyI9PT1DfSx7aWQ6ImFuYWx5c2lzIix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig5MjE2NDIpKSxhbmFseXRpY3NOYW1lOiJQcm9maWxlIixpY29uOnQuYW5hbHlzaXNBY3Rpb24/LmdldFN0YXRlKCkuaWNvbixvbkNsaWNrOigpPT4oMCxpLmVuc3VyZU5vdE51bGwpKHQuYW5hbHlzaXNBY3Rpb24pLmV4ZWN1dGUoKSxoaWRkZW46dC5hbmFseXNpc0FjdGlvbj8uaXNEaXNhYmxlZCgpPz8hMCxpc1NlbGVjdGVkOiJhbmFseXNpcyI9PT1DfSx7aWQ6ImRlcml2YXRpdmVzIix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig1NTgwNjcpKSxhbmFseXRpY3NOYW1lOiJEZXJpdmF0aXZlcyIsaWNvbjpnLG9uQ2xpY2s6KCk9PigwLGQuc2hvd0Rlcml2YXRpdmVzRGlhbG9nKSgpLGhpZGRlbjohdC5oYXNEZXJpdmF0aXZlcyxpc1NlbGVjdGVkOiJkZXJpdmF0aXZlcyI9PT1DfV0pfSx7dGl0bGU6YS50KG51bGwsewpjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDMzNDQxNSkpLGFuYWx5dGljc1N1Yk1lbnU6IkFuYWx5c2lzIixpdGVtczpOKFt7aWQ6InRlY2huaWNhbHMiLHRpdGxlOmEudChudWxsLHtjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDEyMTI3MCkpLGFuYWx5dGljc05hbWU6IlRlY2huaWNhbHMiLGljb246YixvbkNsaWNrOigpPT4oMCxsLnNob3dUZWNobmljYWxzRGlhbG9nKSh7c25hcHNob3Q6dC5saXN0ZWRFeGNoYW5nZSYmdC50eXBlP3tsaXN0ZWRfZXhjaGFuZ2U6dC5saXN0ZWRFeGNoYW5nZSx0eXBlOnQudHlwZSx0eXBlc3BlY3M6dC50eXBlc3BlY3MscHJpY2VzY2FsZTp0LnByaWNlc2NhbGV9OnZvaWQgMCxzaG91bGRGb3JjZUZvY3VzOiExfSksaGlkZGVuOiF0Lmhhc1RlY2huaWNhbHMsaXNTZWxlY3RlZDoidGVjaG5pY2FscyI9PT1DfSx7aWQ6InNlYXNvbmFscyIsdGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oMzc4NzUwKSksYW5hbHl0aWNzTmFtZToiU2Vhc29uYWxzIixpY29uOnQuc2Vhc29uYWxzQWN0aW9uPy5nZXRTdGF0ZSgpLmljb24sb25DbGljazooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0LnNlYXNvbmFsc0FjdGlvbikuZXhlY3V0ZSgpLGhpZGRlbjp0LnNlYXNvbmFsc0FjdGlvbj8uaXNEaXNhYmxlZCgpPz8hMCxpc1NlbGVjdGVkOiJzZWFzb25hbHMiPT09Q30se2lkOiJmb3J3YXJkLWN1cnZlIix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig2Njg2ODApKSxhbmFseXRpY3NOYW1lOiJGb3J3YXJkIGN1cnZlIixpY29uOmYsb25DbGljazooKT0+KDAsci5zaG93Rm9yd2FyZEN1cnZlRGlhbG9nKSgpLGhpZGRlbjohdC5oYXNGb3J3YXJkQ3VydmUsaXNTZWxlY3RlZDoiZm9yd2FyZC1jdXJ2ZSI9PT1DfSx7aWQ6InlpZWxkLWN1cnZlIix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig2MTYxODApKSxhbmFseXRpY3NOYW1lOiJZaWVsZCBjdXJ2ZSIsaWNvbjptLG9uQ2xpY2s6KCk9PigwLGMuc2hvd0JvbmRZaWVsZEN1cnZlRGlhbG9nKSgpLGhpZGRlbjohdC5oYXNZaWVsZEN1cnZlLGlzU2VsZWN0ZWQ6InlpZWxkLWN1cnZlIj09PUN9LHtpZDoibmV3cyIsdGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oODQzNTIwKSksYW5hbHl0aWNzTmFtZToiTmV3cyIsaWNvbjp0Lm5ld3NBY3Rpb24/LmdldFN0YXRlKCkuaWNvbixvbkNsaWNrOigpPT4oMCxpLmVuc3VyZU5vdE51bGwpKHQubmV3c0FjdGlvbikuZXhlY3V0ZSgpLGhpZGRlbjp0Lm5ld3NBY3Rpb24/LmlzRGlzYWJsZWQoKT8/ITAsaXNTZWxlY3RlZDoibmV3cyI9PT1DfSx7aWQ6ImZvcmVjYXN0Iix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig1MzQwMjcpKSxhbmFseXRpY3NOYW1lOiJGb3JlY2FzdCIsaWNvbjp0LmZvcmVjYXN0QWN0aW9uPy5nZXRTdGF0ZSgpLmljb24sb25DbGljazooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0LmZvcmVjYXN0QWN0aW9uKS5leGVjdXRlKCksaGlkZGVuOnQuZm9yZWNhc3RBY3Rpb24/LmlzRGlzYWJsZWQoKT8/ITAsaXNTZWxlY3RlZDoiZm9yZWNhc3QiPT09Q30se2lkOiJlY29ub215LWluZGljYXRvcnMiLHRpdGxlOmEudChudWxsLHtjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDM4ODc4NikpLGFuYWx5dGljc05hbWU6IkVjb25vbXkgaW5kaWNhdG9ycyIsaWNvbjp0LmVjb25vbXlJbmRpY2F0b3JzQWN0aW9uPy5nZXRTdGF0ZSgpLmljb24sb25DbGljazooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0LmVjb25vbXlJbmRpY2F0b3JzQWN0aW9uKS5leGVjdXRlKCksaGlkZGVuOnQuZWNvbm9teUluZGljYXRvcnNBY3Rpb24/LmlzRGlzYWJsZWQoKT8/ITAsaXNTZWxlY3RlZDoiZWNvbm9teS1pbmRpY2F0b3JzIj09PUN9LHtpZDoiY29tbXVuaXR5Iix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig3MTM5MDUpKSxhbmFseXRpY3NOYW1lOiJDb21tdW5pdHkiLGljb246dC5jb21tdW5pdHlBY3Rpb24/LmdldFN0YXRlKCkuaWNvbixvbkNsaWNrOigpPT4oMCxpLmVuc3VyZU5vdE51bGwpKHQuY29tbXVuaXR5QWN0aW9uKS5leGVjdXRlKCksaGlkZGVuOnQuY29tbXVuaXR5QWN0aW9uPy5pc0Rpc2FibGVkKCk/PyEwLGlzU2VsZWN0ZWQ6ImNvbW11bml0eSI9PT1DfV0pfSx7dGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oNjEyNTUpKSxhbmFseXRpY3NTdWJNZW51OiJJbnN0cnVtZW50cyIsaXRlbXM6Tihbe2lkOiJjb250cmFjdHMiLHRpdGxlOmEudChudWxsLHtjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDI0NTE0NykpLGFuYWx5dGljc05hbWU6IkNvbnRyYWN0cyIsaWNvbjpwLG9uQ2xpY2s6KCk9PigwLHUuc2hvd0NvbnRyYWN0c0RpYWxvZykoKSxoaWRkZW46IXQuaGFzQ29udHJhY3RzLGlzU2VsZWN0ZWQ6ImNvbnRyYWN0cyI9PT1DfSx7aWQ6Im9wdGlvbnMiLHRpdGxlOmEudChudWxsLHtjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDk1NDExMSkpLGFuYWx5dGljc05hbWU6Ik9wdGlvbnMiLGljb246dC5vcHRpb25zQWN0aW9uPy5nZXRTdGF0ZSgpLmljb24sb25DbGljazooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0Lm9wdGlvbnNBY3Rpb24pLmV4ZWN1dGUoKSxoaWRkZW46dC5vcHRpb25zQWN0aW9uPy5pc0Rpc2FibGVkKCk/PyEwLGlzU2VsZWN0ZWQ6Im9wdGlvbnMiPT09Q30se2lkOiJib25kcyIsdGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oNjAyMTEzKSksYW5hbHl0aWNzTmFtZToiQm9uZHMiLGljb246dC5zdG9ja0JvbmRzQWN0aW9uPy5nZXRTdGF0ZSgpLmljb24sb25DbGljazooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0LnN0b2NrQm9uZHNBY3Rpb24pLmV4ZWN1dGUoKSxoaWRkZW46dC5zdG9ja0JvbmRzQWN0aW9uPy5pc0Rpc2FibGVkKCk/PyEwLGlzU2VsZWN0ZWQ6ImJvbmRzIj09PUN9LHtpZDoiZXRmcyIsdGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oOTI3ODkpKSxhbmFseXRpY3NOYW1lOiJFVEZzIiwKaWNvbjp0LmV0ZnNBY3Rpb24/LmdldFN0YXRlKCkuaWNvbixvbkNsaWNrOigpPT4oMCxpLmVuc3VyZU5vdE51bGwpKHQuZXRmc0FjdGlvbikuZXhlY3V0ZSgpLGhpZGRlbjp0LmV0ZnNBY3Rpb24/LmlzRGlzYWJsZWQoKT8/ITAsaXNTZWxlY3RlZDoiZXRmcyI9PT1DfV0pfV0uZmlsdGVyKChlPT5lLml0ZW1zLmxlbmd0aCkpfWZ1bmN0aW9uIE4oZSl7cmV0dXJuIGUuZmlsdGVyKChlPT4hZS5oaWRkZW58fGUuaXNTZWxlY3RlZCkpfX0sMzE1ODUwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3Nob3dDb250cmFjdHNEaWFsb2c6KCk9Pml9KTt2YXIgYT1uKDg5MDgzNSk7ZnVuY3Rpb24gaShlKXthLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiY29udHJhY3RzIixlKX19LDQ5MDIwNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtyZXNvbHZlVW5kZXJseWluZ1N5bWJvbDooKT0+aX0pO3ZhciBhPW4oMzIwNTUpO2FzeW5jIGZ1bmN0aW9uIGkoZSl7Y29uc3QgdD1hd2FpdCgwLGEuc25hcHNob3RlcikoKS5nZXRTbmFwc2hvdChlLG5ldyBTZXQoWyJ1bmRlcmx5aW5nLXN5bWJvbCJdKSk7aWYoImVycm9yIj09PXQuc3RhdHVzKXJldHVybiBudWxsO2NvbnN0IG49dC52YWx1ZXNbInVuZGVybHlpbmctc3ltYm9sIl07cmV0dXJuIG58fG51bGx9fSw1MTA1OTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TGVhZGluZ0Vtb2ppVGV4dDooKT0+bH0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oMjQ5ZTMpLG89big0Mjg5MjQpLHM9big5OTU4NTEpO2Z1bmN0aW9uIGwoZSl7Y29uc3R7dGV4dDp0LHRleHRSZW5kZXI6bixmaXJzdFNlZ21lbnRPbmx5Omw9ITEsc3BhY2VBZnRlckVtb2ppOnI9ITB9PWUse2xlYWRpbmdFbW9qaTpkLHByb2Nlc3NlZFRleHQ6dX09KDAsYS51c2VNZW1vKSgoKCk9PigwLGkucHJvY2Vzc1RleHRXaXRoTGVhZGluZ0Vtb2ppKSh7dGV4dDp0LHRleHRSZW5kZXI6bixmaXJzdFNlZ21lbnRPbmx5Omx9KSksW3QsbixsXSk7cmV0dXJuIGQ/YS5jcmVhdGVFbGVtZW50KGEuRnJhZ21lbnQsbnVsbCxhLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cy5lbW9qaVdyYXB9LCLCoCIsYS5jcmVhdGVFbGVtZW50KG8uRW1vamlJdGVtLHtjbGFzc05hbWU6cy5lbW9qaSxlbW9qaTpkfSkpLCIiIT09dSYmYS5jcmVhdGVFbGVtZW50KGEuRnJhZ21lbnQsbnVsbCxyJiZhLmNyZWF0ZUVsZW1lbnQoYS5GcmFnbWVudCxudWxsLCLCoCIpLHUpKTphLmNyZWF0ZUVsZW1lbnQoYS5GcmFnbWVudCxudWxsLHUpfX0sMjQ5ZTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0TGVhZGluZ0Vtb2ppSHRtbDooKT0+Yyxwcm9jZXNzVGV4dFdpdGhMZWFkaW5nRW1vamk6KCk9PnV9KTt2YXIgYT1uKDY0MTU5MyksaT1uKDkzMDIzMSksbz1uKDMxNTE1NCkscz1uKDQyNzc3MyksbD1uKDMzMzMxMikscj1uKDk5NTg1MSk7Y29uc3QgZD0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhZHZhbmNlZF9lbW9qaV9pbl90aXRsZXMiKTtmdW5jdGlvbiB1KGUpe2NvbnN0e3RleHQ6dCx0ZXh0UmVuZGVyOm49ZT0+ZSxmaXJzdFNlZ21lbnRPbmx5Omk9ITF9PWUsbD0oMCxhLmdldEZpcnN0U2VnbWVudE9yQ29kZVBvaW50U3RyaW5nKSh0KSxyPW51bGwhPT1sJiYoMCxvLmlzU3VwcG9ydGVkRW1vamkpKGwpP2w6cy5FTVBUWV9FTU9KSSx1PWk/bHx8IiI6dDtpZighZHx8cj09PXMuRU1QVFlfRU1PSkkpcmV0dXJue2xlYWRpbmdFbW9qaToiIixwcm9jZXNzZWRUZXh0Om4odSl9O3JldHVybntsZWFkaW5nRW1vamk6cixwcm9jZXNzZWRUZXh0Om4odS5yZXBsYWNlKHIsIiIpKX19ZnVuY3Rpb24gYyhlKXtjb25zdHtwcm9jZXNzZWRUZXh0OnQsbGVhZGluZ0Vtb2ppOm59PXUoe3RleHQ6ZX0pLGk9KDAsYS5odG1sRXNjYXBlKSh0KTtpZighbilyZXR1cm4gaTtyZXR1cm5gJHtmdW5jdGlvbihlKXtjb25zdCB0PSgwLGwuZ2V0VHdlbW9qaVVybCkoZSwicG5nIik7cmV0dXJuYDxzcGFuIGNsYXNzPSR7ci50b29sdGlwRW1vamlXcmFwfT4mbmJzcDxpbWcgY2xhc3M9JHtyLnRvb2x0aXBFbW9qaX0gc3JjPSR7dH0gZGVjb2Rpbmc9ImFzeW5jIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGFsdD0iIiBkcmFnZ2FibGU9ImZhbHNlIi8+PC9zcGFuPmB9KG4pfSZuYnNwOyR7aX1gfX0sOTk0MTc4KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIGE9big5NjcxMjEpO2Z1bmN0aW9uIGkoKXt9ZnVuY3Rpb24gbygpe31vLnJlc2V0V2FybmluZ0NhY2hlPWksZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQsbixpLG8scyl7aWYocyE9PWEpe3ZhciBsPW5ldyBFcnJvcigiQ2FsbGluZyBQcm9wVHlwZXMgdmFsaWRhdG9ycyBkaXJlY3RseSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBgcHJvcC10eXBlc2AgcGFja2FnZS4gVXNlIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcygpIHRvIGNhbGwgdGhlbS4gUmVhZCBtb3JlIGF0IGh0dHA6Ly9mYi5tZS91c2UtY2hlY2stcHJvcC10eXBlcyIpO3Rocm93IGwubmFtZT0iSW52YXJpYW50IFZpb2xhdGlvbiIsbH19ZnVuY3Rpb24gdCgpe3JldHVybiBlfWUuaXNSZXF1aXJlZD1lO3ZhciBuPXthcnJheTplLGJvb2w6ZSxmdW5jOmUsbnVtYmVyOmUsb2JqZWN0OmUsc3RyaW5nOmUsc3ltYm9sOmUsYW55OmUsYXJyYXlPZjp0LGVsZW1lbnQ6ZSxlbGVtZW50VHlwZTplLGluc3RhbmNlT2Y6dCxub2RlOmUsb2JqZWN0T2Y6dCxvbmVPZjp0LG9uZU9mVHlwZTp0LHNoYXBlOnQsZXhhY3Q6dCxjaGVja1Byb3BUeXBlczpvLHJlc2V0V2FybmluZ0NhY2hlOml9O3JldHVybiBuLlByb3BUeXBlcz1uLG59fSwyMjE4OTYoZSx0LG4pe2UuZXhwb3J0cz1uKDk5NDE3OCkoKX0sOTY3MTIxKGUpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9IlNFQ1JFVF9ET19OT1RfUEFTU19USElTX09SX1lPVV9XSUxMX0JFX0ZJUkVEIn0sMTI5MzY1KGUsdCxuKXsidXNlIHN0cmljdCI7IWZ1bmN0aW9uIGUoKXsKaWYoInVuZGVmaW5lZCIhPXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0oKSxlLmV4cG9ydHM9big1MzIzODcpfSwxMjI3NDkoZSx0KXsidXNlIHN0cmljdCI7dmFyIG49U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLGE9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksaT1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLG89U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxzPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksbD1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLHI9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGQ9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSx1PVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksYz1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksaD1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5Iiksdj1TeW1ib2wuaXRlcmF0b3I7dmFyIG09e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LHA9T2JqZWN0LmFzc2lnbixmPXt9O2Z1bmN0aW9uIGcoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zix0aGlzLnVwZGF0ZXI9bnx8bX1mdW5jdGlvbiBiKCl7fWZ1bmN0aW9uIHcoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zix0aGlzLnVwZGF0ZXI9bnx8bX1nLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LGcucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0sZy5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LGIucHJvdG90eXBlPWcucHJvdG90eXBlO3ZhciBDPXcucHJvdG90eXBlPW5ldyBiO0MuY29uc3RydWN0b3I9dyxwKEMsZy5wcm90b3R5cGUpLEMuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIF89QXJyYXkuaXNBcnJheSx5PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksUz17Y3VycmVudDpudWxsfSx4PXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24gRShlLHQsYSl7dmFyIGksbz17fSxzPW51bGwsbD1udWxsO2lmKG51bGwhPXQpZm9yKGkgaW4gdm9pZCAwIT09dC5yZWYmJihsPXQucmVmKSx2b2lkIDAhPT10LmtleSYmKHM9IiIrdC5rZXkpLHQpeS5jYWxsKHQsaSkmJiF4Lmhhc093blByb3BlcnR5KGkpJiYob1tpXT10W2ldKTt2YXIgcj1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PXIpby5jaGlsZHJlbj1hO2Vsc2UgaWYoMTxyKXtmb3IodmFyIGQ9QXJyYXkociksdT0wO3U8cjt1KyspZFt1XT1hcmd1bWVudHNbdSsyXTtvLmNoaWxkcmVuPWR9aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKGkgaW4gcj1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1vW2ldJiYob1tpXT1yW2ldKTtyZXR1cm57JCR0eXBlb2Y6bix0eXBlOmUsa2V5OnMscmVmOmwscHJvcHM6byxfb3duZXI6Uy5jdXJyZW50fX1mdW5jdGlvbiBNKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1ufXZhciBrPS9cLysvZztmdW5jdGlvbiBJKGUsdCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/ZnVuY3Rpb24oZSl7dmFyIHQ9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrZS5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfSkpfSgiIitlLmtleSk6dC50b1N0cmluZygzNil9ZnVuY3Rpb24gVChlLHQsaSxvLHMpe3ZhciBsPXR5cGVvZiBlOyJ1bmRlZmluZWQiIT09bCYmImJvb2xlYW4iIT09bHx8KGU9bnVsbCk7dmFyIHI9ITE7aWYobnVsbD09PWUpcj0hMDtlbHNlIHN3aXRjaChsKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOnI9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIG46Y2FzZSBhOnI9ITB9fWlmKHIpcmV0dXJuIHM9cyhyPWUpLGU9IiI9PT1vPyIuIitJKHIsMCk6byxfKHMpPyhpPSIiLG51bGwhPWUmJihpPWUucmVwbGFjZShrLCIkJi8iKSsiLyIpLFQocyx0LGksIiIsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpKTpudWxsIT1zJiYoTShzKSYmKHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6bix0eXBlOmUudHlwZSxrZXk6dCxyZWY6ZS5yZWYscHJvcHM6ZS5wcm9wcyxfb3duZXI6ZS5fb3duZXJ9fShzLGkrKCFzLmtleXx8ciYmci5rZXk9PT1zLmtleT8iIjooIiIrcy5rZXkpLnJlcGxhY2UoaywiJCYvIikrIi8iKStlKSksdC5wdXNoKHMpKSwxO2lmKHI9MCxvPSIiPT09bz8iLiI6bysiOiIsXyhlKSlmb3IodmFyIGQ9MDtkPGUubGVuZ3RoO2QrKyl7dmFyIHU9bytJKGw9ZVtkXSxkKTtyKz1UKGwsdCxpLHUscyl9ZWxzZSBpZih1PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKGU9diYmZVt2XXx8ZVsiQEBpdGVyYXRvciJdKT9lOm51bGx9KGUpLCJmdW5jdGlvbiI9PXR5cGVvZiB1KWZvcihlPXUuY2FsbChlKSwKZD0wOyEobD1lLm5leHQoKSkuZG9uZTspcis9VChsPWwudmFsdWUsdCxpLHU9bytJKGwsZCsrKSxzKTtlbHNlIGlmKCJvYmplY3QiPT09bCl0aHJvdyB0PVN0cmluZyhlKSxFcnJvcigiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiAiKygiW29iamVjdCBPYmplY3RdIj09PXQ/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXMoZSkuam9pbigiLCAiKSsifSI6dCkrIikuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC4iKTtyZXR1cm4gcn1mdW5jdGlvbiBBKGUsdCxuKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciBhPVtdLGk9MDtyZXR1cm4gVChlLGEsIiIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwobixlLGkrKyl9KSksYX1mdW5jdGlvbiBIKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD1lLl9yZXN1bHQ7KHQ9dCgpKS50aGVuKChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pKSwtMT09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZigxPT09ZS5fc3RhdHVzKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIFY9e2N1cnJlbnQ6bnVsbH0sUj17dHJhbnNpdGlvbjpudWxsfSxGPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOlYsUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6UixSZWFjdEN1cnJlbnRPd25lcjpTfTt0LkNoaWxkcmVuPXttYXA6QSxmb3JFYWNoOmZ1bmN0aW9uKGUsdCxuKXtBKGUsKGZ1bmN0aW9uKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxuKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4gQShlLChmdW5jdGlvbigpe3QrK30pKSx0fSx0b0FycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBBKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighTShlKSl0aHJvdyBFcnJvcigiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuIik7cmV0dXJuIGV9fSx0LkNvbXBvbmVudD1nLHQuRnJhZ21lbnQ9aSx0LlByb2ZpbGVyPXMsdC5QdXJlQ29tcG9uZW50PXcsdC5TdHJpY3RNb2RlPW8sdC5TdXNwZW5zZT11LHQuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9Rix0LmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQsYSl7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIGk9cCh7fSxlLnByb3BzKSxvPWUua2V5LHM9ZS5yZWYsbD1lLl9vd25lcjtpZihudWxsIT10KXtpZih2b2lkIDAhPT10LnJlZiYmKHM9dC5yZWYsbD1TLmN1cnJlbnQpLHZvaWQgMCE9PXQua2V5JiYobz0iIit0LmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzKXZhciByPWUudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKGQgaW4gdCl5LmNhbGwodCxkKSYmIXguaGFzT3duUHJvcGVydHkoZCkmJihpW2RdPXZvaWQgMD09PXRbZF0mJnZvaWQgMCE9PXI/cltkXTp0W2RdKX12YXIgZD1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWQpaS5jaGlsZHJlbj1hO2Vsc2UgaWYoMTxkKXtyPUFycmF5KGQpO2Zvcih2YXIgdT0wO3U8ZDt1Kyspclt1XT1hcmd1bWVudHNbdSsyXTtpLmNoaWxkcmVuPXJ9cmV0dXJueyQkdHlwZW9mOm4sdHlwZTplLnR5cGUsa2V5Om8scmVmOnMscHJvcHM6aSxfb3duZXI6bH19LHQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6cixfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6bCxfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9LHQuY3JlYXRlRWxlbWVudD1FLHQuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD1FLmJpbmQobnVsbCxlKTtyZXR1cm4gdC50eXBlPWUsdH0sdC5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sdC5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpkLHJlbmRlcjplfX0sdC5pc1ZhbGlkRWxlbWVudD1NLHQubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6aCxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0Okh9fSx0Lm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6Yyx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LHQuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PVIudHJhbnNpdGlvbjtSLnRyYW5zaXRpb249e307dHJ5e2UoKX1maW5hbGx5e1IudHJhbnNpdGlvbj10fX0sdC51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0sdC51c2VDYWxsYmFjaz1mdW5jdGlvbihlLHQpe3JldHVybiBWLmN1cnJlbnQudXNlQ2FsbGJhY2soZSx0KX0sdC51c2VDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBWLmN1cnJlbnQudXNlQ29udGV4dChlKX0sdC51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSx0LnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24oZSl7cmV0dXJuIFYuY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKGUpfSx0LnVzZUVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBWLmN1cnJlbnQudXNlRWZmZWN0KGUsdCl9LHQudXNlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gVi5jdXJyZW50LnVzZUlkKCl9LHQudXNlSW1wZXJhdGl2ZUhhbmRsZT1mdW5jdGlvbihlLHQsbil7CnJldHVybiBWLmN1cnJlbnQudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQsbil9LHQudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFYuY3VycmVudC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sdC51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVi5jdXJyZW50LnVzZUxheW91dEVmZmVjdChlLHQpfSx0LnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVi5jdXJyZW50LnVzZU1lbW8oZSx0KX0sdC51c2VSZWR1Y2VyPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gVi5jdXJyZW50LnVzZVJlZHVjZXIoZSx0LG4pfSx0LnVzZVJlZj1mdW5jdGlvbihlKXtyZXR1cm4gVi5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gVi5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gVi5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxuKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIFYuY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sNzc5NDc0KGUsdCxuKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPW4oMTIyNzQ5KX0sMjY3MDI4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NFUklFU19JQ09OUzooKT0+eH0pO3ZhciBhPW4oNzIyNzYzKSxpPW4oOTE3Njk2KSxvPW4oNzczMjY1KSxzPW4oNDU1NjM4KSxsPW4oNjU5NTA1KSxyPW4oNjQ3NjMwKSxkPW4oMTkyNDgyKSx1PW4oOTg3MDIxKSxjPW4oOTU5MjMpLGg9big4Njc1NDUpLHY9big1MjI5NDYpLG09bigyMTYzMzUpLHA9bigzNzYxNiksZj1uKDUwMDUwNyksZz1uKDM4MTkyMyksYj1uKDQyMDM0MCksdz1uKDk2NTYzNSksQz1uKDI0MzQwMiksXz1uKDg0MjA1MSkseT1uKDIxNTQ4MCksUz1uKDQ0MzE2Nyk7Y29uc3QgeD17MzpoLDE2OnYsMDptLDE6cCw4OmYsOTpnLDI6YiwxNDp3LDE1OkMsMTA6XywxMjp5LDEzOlN9O3hbNF09YSx4WzZdPWkseFs3XT1vLHhbNV09cyx4WzE5XT1sLHhbMTFdPXIseFsxN109ZCx4WzE4XT11LHhbMjBdPWN9LDgyNDU5MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRTdHVkeVRlbXBsYXRlRGVzY1N0cmluZzooKT0+YX0pO24oOTQzOTUpO2Z1bmN0aW9uIGEoZSl7Y29uc3QgdD1uZXcgTWFwO3JldHVybiBlLmZvckVhY2goKGU9Pntjb25zdFtuLGFdPXQuZ2V0KGUuaWQpfHxbZS5kZXNjcmlwdGlvbiwwXTt0LnNldChlLmlkLFtuLGErMV0pfSkpLEFycmF5LmZyb20odC52YWx1ZXMoKSkubWFwKCgoW2UsdF0pPT5gJHtlfSR7dD4xP2AgeCAke3R9YDoiIn1gKSkuam9pbigiLCAiKX19LDMxMzgyMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtGYXZvcml0ZUZ1bmRhbWVudGFsczooKT0+cn0pO3ZhciBhPW4oOTMwNTY2KSxpPW4oMTUyNjk5KSxvPW4oOTQ4MzgwKTtjb25zdCBzPSJmdW5kYW1lbnRhbHMuZmF2b3JpdGVzIjtsZXQgbD1udWxsO2NsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLl9mYXZvcml0ZXM9W10sdGhpcy5fZmF2b3JpdGVzQ2hhbmdlZD1uZXcgby5EZWxlZ2F0ZSxpLlRWWFdpbmRvd0V2ZW50cy5vbigiRnVuZEZhdm9yaXRlc0NoYW5nZWQiLChlPT57Y29uc3QgdD1KU09OLnBhcnNlKGUpO3RoaXMuX2xvYWRGcm9tU3RhdGUodHx8W10pfSkpLGEub25TeW5jLnN1YnNjcmliZSh0aGlzLHRoaXMuX2xvYWRGYXZzKSx0aGlzLl9sb2FkRmF2cygpfWlzRmF2KGUpe3JldHVybi0xIT09dGhpcy5fZmluZEZhdkluZGV4KGUpfXRvZ2dsZUZhdm9yaXRlKGUpe3RoaXMuaXNGYXYoZSk/dGhpcy5yZW1vdmVGYXZvcml0ZShlKTp0aGlzLmFkZEZhdm9yaXRlKGUpfXRvZ2dsZUZhdm9yaXRlQXJyYXkoZSl7Y29uc3QgdD1lLnNvbWUoKGU9PnRoaXMuaXNGYXYoZSkpKTtlLmZvckVhY2goKGU9PntpZih0KXtjb25zdCB0PXRoaXMuX2ZpbmRGYXZJbmRleChlKTstMSE9PXQmJnRoaXMuX2Zhdm9yaXRlcy5zcGxpY2UodCwxKX1lbHNlIHRoaXMuX2Zhdm9yaXRlcy5wdXNoKGUpfSkpLHRoaXMuX2Zhdm9yaXRlc0NoYW5nZWQuZmlyZSgpLHRoaXMuX3NhdmVGYXZzKCl9YWRkRmF2b3JpdGUoZSl7dGhpcy5fZmF2b3JpdGVzLnB1c2goZSksdGhpcy5fZmF2b3JpdGVzQ2hhbmdlZC5maXJlKCksdGhpcy5fc2F2ZUZhdnMoKX1yZW1vdmVGYXZvcml0ZShlKXtjb25zdCB0PXRoaXMuX2ZpbmRGYXZJbmRleChlKTstMSE9PXQmJih0aGlzLl9mYXZvcml0ZXMuc3BsaWNlKHQsMSksdGhpcy5fZmF2b3JpdGVzQ2hhbmdlZC5maXJlKCkpLHRoaXMuX3NhdmVGYXZzKCl9ZmF2b3JpdGVzKCl7cmV0dXJuIHRoaXMuX2Zhdm9yaXRlc31mYXZvcml0ZXNDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX2Zhdm9yaXRlc0NoYW5nZWR9c3RhdGljIGdldEluc3RhbmNlKCl7cmV0dXJuIG51bGw9PT1sJiYobD1uZXcgciksbH1fbG9hZEZhdnMoKXtjb25zdCBlPWEuZ2V0SlNPTihzLFtdKTt0aGlzLl9sb2FkRnJvbVN0YXRlKGUpfV9zYXZlRmF2cygpe2Euc2V0SlNPTihzLHRoaXMuX2Zhdm9yaXRlcyx7Zm9yY2VGbHVzaDohMH0pLGkuVFZYV2luZG93RXZlbnRzLmVtaXQoIkZ1bmRGYXZvcml0ZXNDaGFuZ2VkIixKU09OLnN0cmluZ2lmeSh0aGlzLl9mYXZvcml0ZXMpKX1fbG9hZEZyb21TdGF0ZShlKXt0aGlzLl9mYXZvcml0ZXM9ZSx0aGlzLl9mYXZvcml0ZXNDaGFuZ2VkLmZpcmUoKX1fZmluZEZhdkluZGV4KGUpe3JldHVybiB0aGlzLl9mYXZvcml0ZXMuaW5kZXhPZihlKX19fSw2ODU5NzkoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgYSxpLG89big0ODI1MDQpLHtjbG9uZTpzfT1uKDYwMTg0MSksbD0oYT17fSxpPW5ldyBTZXQse3N1Z2dlc3Q6ZnVuY3Rpb24oZSx0KXt2YXIgbj1vLmFqYXgoe3VybDp0fHwiL3B1YnNjcmlwdHMtc3VnZ2VzdC1qc29uLyIsdHlwZToiR0VUIixkYXRhOntzZWFyY2g6ZX0sZGF0YVR5cGU6Impzb24ifSk7cmV0dXJuIG4uZG9uZSgoZnVuY3Rpb24oZSl7CmlmKGUmJmUucmVzdWx0cylmb3IodmFyIHQ9MDt0PGUucmVzdWx0cy5sZW5ndGg7dCsrKWFbZS5yZXN1bHRzW3RdLnNjcmlwdElkUGFydF18fChhW2UucmVzdWx0c1t0XS5zY3JpcHRJZFBhcnRdPXMoZS5yZXN1bHRzW3RdKSl9KSksbn0saW5mbzpmdW5jdGlvbihlLHQ9ITEpe2Zvcih2YXIgbj1vLkRlZmVycmVkKCksbD1bXSxyPVtdLGQ9MDtkPGUubGVuZ3RoO2QrKyl7dmFyIHU9ZVtkXSxjPXR8fCFpLmhhcyh1KTthW3VdP2wucHVzaChzKGFbdV0pKTpyLmxlbmd0aDwzZTMmJmMmJnIucHVzaCh1KX1pZighci5sZW5ndGgpcmV0dXJuIG4ucmVzb2x2ZShsKS5wcm9taXNlKCk7dmFyIGg9e3NjcmlwdElkUGFydDpyLmpvaW4oIiwiKSxzaG93X2hpZGRlbjp0fTtyZXR1cm4gby5hamF4KHt1cmw6Ii9wdWJzY3JpcHRzLWdldC8iLHR5cGU6IlBPU1QiLGRhdGE6aCxkYXRhVHlwZToianNvbiJ9KS5kb25lKChmdW5jdGlvbihlKXtlPWV8fFtdO3ZhciB0PW5ldyBTZXQocik7Zm9yKHZhciBvIGluIGUpe3ZhciBkPWVbb107YVtkLnNjcmlwdElkUGFydF09cyhkKSxsLnB1c2goZCksdC5oYXMoZC5zY3JpcHRJZFBhcnQpJiZ0LmRlbGV0ZShkLnNjcmlwdElkUGFydCl9dC5mb3JFYWNoKChmdW5jdGlvbihlKXtpLmFkZChlKX0pKSxuLnJlc29sdmUobCl9KSkuZmFpbCgoZnVuY3Rpb24oKXtuLnJlamVjdCgpfSkpLG59LGludmFsaWRhdGVDYWNoZTpmdW5jdGlvbihlKXtlLmZvckVhY2goKGZ1bmN0aW9uKGUpe2RlbGV0ZSBhW2VdfSkpfSxjbGVhbkNhY2hlOmZ1bmN0aW9uKCl7YT1bXX19KTtlLmV4cG9ydHM9bH0sNjA0OTEyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zLjUgOGE0LjUgNC41IDAgMSAxIDkgMCA0LjUgNC41IDAgMCAxLTkgMFpNOCAyYTYgNiAwIDEgMCAzLjY1IDEwLjc2bDMuNTggMy41OCAxLjA2LTEuMDYtMy41Ny0zLjU3QTYgNiAwIDAgMCA4IDJaIi8+PC9zdmc+J30sNTIyOTQ2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMiA1aDF2MWgtMXptLTEgMlY2aDF2MXptLTEgMVY3aDF2MXptLTEgMVY4aDF2MXptLTEgMVY5aDF2MXptLTEgMXYtMWgxdjF6bS0xIDF2LTFoMXYxem0tMSAwaDF2MWgtMXptLTEtMWgxdjFoLTF6bS0xLTFoMXYxaC0xem0tMS0xaDF2MWgtMXptLTEtMWgxdjFoLTF6bS0xIDBWN2gxdjF6TTkgOVY4aDF2MXptLTEgMVY5aDF2MXptLTEgMXYtMWgxdjF6bS0xIDF2LTFoMXYxem0tMSAxdi0xaDF2MXptMCAwdjFINHYtMXoiLz48cGF0aCBkPSJNMjMuMzQgMTAuMzcgMTUuNSAxNy43bC01LTUtNS4xNSA0LjY3LS42OC0uNzQgNS44Ni01LjMyIDUgNSA3LjE0LTYuNjd6TTYgMjFINXYxaDF6bTEtMXYxSDZ2LTF6bTEtMUg3djFoMXptMS0xdjFIOHYtMXoiLz48cGF0aCBkPSJNMTAgMTdIOXYxaDF6bTEgMGgtMXYtMWgxem0xIDFoLTF2LTFoMXptMSAxdi0xaC0xdjF6bTEgMWgtMXYtMWgxem0xIDF2LTFoLTF2MXptMSAwdjFoLTF2LTF6bTEtMXYxaC0xdi0xem0xLTF2MWgtMXYtMXptMS0xaC0xdjFoMXptMS0xdjFoLTF2LTF6bTEtMWgtMXYxaDF6bTEtMXYxaC0xdi0xem0xLTFoLTF2MWgxem0wIDBoMXYtMWgtMXoiLz48L3N2Zz4nfSw3NjE5NzEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTUgNy41QzUgNi42NyA1LjY3IDYgNi41IDZoNC4ybDIgMmg4LjhjLjgzIDAgMS41LjY3IDEuNSAxLjV2MTBjMCAuODMtLjY3IDEuNS0xLjUgMS41aC0xNUExLjUgMS41IDAgMCAxIDUgMTkuNXYtMTJaTTYuNSA3YS41LjUgMCAwIDAtLjUuNVYxMWgxNlY5LjVhLjUuNSAwIDAgMC0uNS0uNWgtOS4ybC0yLTJINi41Wk0yMiAxMkg2djcuNWMwIC4yOC4yMi41LjUuNWgxNWEuNS41IDAgMCAwIC41LS41VjEyWiIvPjwvc3ZnPid9LDI2NjEwMChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTMuOSAxNC4xVjIyaDEuMnYtNy45SDIzdi0xLjJoLTcuOVY1aC0xLjJ2Ny45SDZ2MS4yaDcuOVoiLz48L3N2Zz4nfSw2MDk1MzQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTE3IDR2NGgyYTEgMSAwIDAgMSAuODMgMS41NWwtNCA2QTEgMSAwIDAgMSAxNCAxNXYtNGgtMmExIDEgMCAwIDEtLjgzLTEuNTVsNC02QTEgMSAwIDAgMSAxNyA0bS0yIDExIDQtNmgtM1Y0bC00IDZoM3oiLz48cGF0aCBkPSJNNSAxMy41YTcuNSA3LjUgMCAwIDEgNi03LjM1djEuMDJBNi41IDYuNSAwIDEgMCAxOC45OCAxM2gxbC4wMi41YTcuNDcgNy40NyAwIDAgMS0xLjg1IDQuOTRMMjMgMjMuMjlsLS43MS43LTQuODUtNC44NEE3LjUgNy41IDAgMCAxIDUgMTMuNSIvPjwvc3ZnPid9LDE1OTg3NyhlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOCA3aDNhMSAxIDAgMCAxIDEgMXYzYTEgMSAwIDAgMS0xIDFIOGExIDEgMCAwIDEtMS0xVjhhMSAxIDAgMCAxIDEtMXpNNiA4YzAtMS4xLjktMiAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkg4YTIgMiAwIDAgMS0yLTJWOHptMTEtMWgzYTEgMSAwIDAgMSAxIDF2M2ExIDEgMCAwIDEtMSAxaC0zYTEgMSAwIDAgMS0xLTFWOGExIDEgMCAwIDEgMS0xem0tMiAxYzAtMS4xLjktMiAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMmgtM2EyIDIgMCAwIDEtMi0yVjh6bS00IDhIOGExIDEgMCAwIDAtMSAxdjNhMSAxIDAgMCAwIDEgMWgzYTEgMSAwIDAgMCAxLTF2LTNhMSAxIDAgMCAwLTEtMXptLTMtMWEyIDIgMCAwIDAtMiAydjNjMCAxLjEuOSAyIDIgMmgzYTIgMiAwIDAgMCAyLTJ2LTNhMiAyIDAgMCAwLTItMkg4em05IDFoM2ExIDEgMCAwIDEgMSAxdjNhMSAxIDAgMCAxLTEgMWgtM2ExIDEgMCAwIDEtMS0xdi0zYTEgMSAwIDAgMSAxLTF6bS0yIDFjMC0xLjEuOS0yIDItMmgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtMiAyaC0zYTIgMiAwIDAgMS0yLTJ2LTN6Ii8+PC9zdmc+J30sNDM0MDM3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03IDE4LjVBMi41IDIuNSAwIDAgMCA5LjUgMjFIMTJ2MUg5LjVBMy41IDMuNSAwIDAgMSA2IDE4LjVWMTZoMXptMTUgMGEzLjUgMy41IDAgMCAxLTMuNSAzLjVIMTZ2LTFoMi41YTIuNSAyLjUgMCAwIDAgMi41LTIuNVYxNmgxek0xMiA3SDkuNUEyLjUgMi41IDAgMCAwIDcgOS41VjEySDZWOS41QTMuNSAzLjUgMCAwIDEgOS41IDZIMTJ6bTYuNS0xQTMuNSAzLjUgMCAwIDEgMjIgOS41VjEyaC0xVjkuNUEyLjUgMi41IDAgMCAwIDE4LjUgN0gxNlY2eiIvPjwvc3ZnPid9LDE3NTQ2NyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOC41IDE3YTIuNSAyLjUgMCAwIDEgMi41IDIuNVYyMmgtMXYtMi41QTEuNSAxLjUgMCAwIDAgOC41IDE4SDZ2LTF6TTIyIDE4aC0yLjVhMS41IDEuNSAwIDAgMC0xLjUgMS41VjIyaC0xdi0yLjVhMi41IDIuNSAwIDAgMSAyLjUtMi41SDIyek0xMSA4LjVBMi41IDIuNSAwIDAgMSA4LjUgMTFINnYtMWgyLjVBMS41IDEuNSAwIDAgMCAxMCA4LjVWNmgxem03IDBhMS41IDEuNSAwIDAgMCAxLjUgMS41SDIydjFoLTIuNUEyLjUgMi41IDAgMCAxIDE3IDguNVY2aDF6Ii8+PC9zdmc+J30sNzU1Mjk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03IDEwYTMgMyAwIDAgMSAzIDNIOWEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMkgxYTMgMyAwIDAgMSAzLTN6bTcgMGEzIDMgMCAwIDEgMyAzaC0xYTIgMiAwIDAgMC0yLTJoLTR2LTF6TTUuODU3IDQuMDA1YTIuMyAyLjMgMCAwIDEgMi4xMzggMi4xMzhDOCA2LjIyIDggNi4zMTUgOCA2LjVzMCAuMjgtLjAwNS4zNTdsLS4wMjQuMjEyYTIuMyAyLjMgMCAwIDEtMi4xMTQgMS45MjZMNS41IDlsLS4zNTctLjAwNUEyLjMgMi4zIDAgMCAxIDMuMDI5IDcuMDdsLS4wMjQtLjIxMkMzIDYuNzggMyA2LjY4NSAzIDYuNXMwLS4yOC4wMDUtLjM1N2EyLjMgMi4zIDAgMCAxIDIuMTM4LTIuMTM4QzUuMjIgNCA1LjMxNSA0IDUuNSA0cy4yOCAwIC4zNTcuMDA1bTcgMGEyLjMgMi4zIDAgMCAxIDIuMTM4IDIuMTM4QzE1IDYuMjIgMTUgNi4zMTUgMTUgNi41czAgLjI4LS4wMDUuMzU3bC0uMDI0LjIxMmEyLjMgMi4zIDAgMCAxLTIuMTE0IDEuOTI2TDEyLjUgOWwtLjM1Ny0uMDA1YTIuMyAyLjMgMCAwIDEtMi4xMTQtMS45MjZsLS4wMjQtLjIxMkMxMCA2Ljc4IDEwIDYuNjg1IDEwIDYuNXMwLS4yOC4wMDUtLjM1N2EyLjMgMi4zIDAgMCAxIDIuMTM4LTIuMTM4QzEyLjIyIDQgMTIuMzE1IDQgMTIuNSA0cy4yOCAwIC4zNTcuMDA1bS03LjY0Ni45OThBMS4zIDEuMyAwIDAgMCA0LjAwMyA2LjIxIDYgNiAwIDAgMCA0IDYuNWMwIC4yMDEgMCAuMjUzLjAwMy4yOUExLjMgMS4zIDAgMCAwIDUuMjEgNy45OTZDNS4yNDcgOCA1LjI5OCA4IDUuNSA4cy4yNTMgMCAuMjktLjAwM0ExLjMgMS4zIDAgMCAwIDYuOTk2IDYuNzlDNyA2Ljc1MyA3IDYuNzAxIDcgNi41czAtLjI1My0uMDAzLS4yODlBMS4zIDEuMyAwIDAgMCA1Ljc5IDUuMDAzIDYgNiAwIDAgMCA1LjUgNWE2IDYgMCAwIDAtLjI5LjAwM203IDBhMS4zIDEuMyAwIDAgMC0xLjIwOCAxLjIwOEE2IDYgMCAwIDAgMTEgNi41YzAgLjIwMSAwIC4yNTMuMDAzLjI5YTEuMyAxLjMgMCAwIDAgMS4yMDggMS4yMDdjLjAzNi4wMDMuMDg3LjAwMy4yODkuMDAzcy4yNTMgMCAuMjktLjAwM2ExLjMgMS4zIDAgMCAwIDEuMjA3LTEuMjA4QzE0IDYuNzUzIDE0IDYuNzAxIDE0IDYuNXMwLS4yNTMtLjAwMy0uMjg5YTEuMyAxLjMgMCAwIDAtMS4yMDgtMS4yMDhBNiA2IDAgMCAwIDEyLjUgNWMtLjIwMiAwLS4yNTMgMC0uMjkuMDAzIi8+PC9zdmc+J30sMjc1ODM1KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjIgMjRINlY0aDE2ek03IDIzaDE0VjVIN3ptMTItNS4zMzVMMTUuODYzIDIxbC0yLjEyOS0xLjUzMS41NzktLjgxNiAxLjQxOCAxLjAwOEwxOC4yNTQgMTd6TTE1IDE0SDl2LTFoNnptNC0zSDl2LTFoMTB6bTAtM0g5VjdoMTB6Ii8+PC9zdmc+J30sNTA2NzY3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMi41IDdhMi41IDIuNSAwIDEgMS0yLjQ1IDNIMTguNWEuNS41IDAgMCAwLS41LjV2N2EuNS41IDAgMCAwIC41LjVoMS41NWEyLjUwMSAyLjUwMSAwIDEgMSAwIDFIMTguNWExLjUgMS41IDAgMCAxLTEuNS0xLjV2LTNoLTIuMDIzQTUuOTk5IDUuOTk5IDAgMCAxIDMgMTRhNiA2IDAgMCAxIDExLjk3OC0uNUgxN3YtM0ExLjUgMS41IDAgMCAxIDE4LjUgOWgxLjU1YTIuNSAyLjUgMCAwIDEgMi40NS0ybTAgMTBhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTNNOSA5YTUgNSAwIDEgMCAwIDEwQTUgNSAwIDAgMCA5IDltLjUgMi4wMTNhMS43IDEuNyAwIDAgMSAxLjUgMS42ODhoLTFhLjcuNyAwIDAgMC0uNy0uN2gtLjU1YS43NS43NSAwIDAgMCAwIDEuNTAxaC41YTEuNzQ5IDEuNzQ5IDAgMCAxIC4yNSAzLjQ3OFYxOGgtMXYtMS4wMTJBMS42OSAxLjY5IDAgMCAxIDcgMTUuMzExaDFjMCAuMzguMzA5LjY5LjY5LjY5aC41NmEuNzUuNzUgMCAwIDAgMC0xLjQ5OWgtLjVhMS43NSAxLjc1IDAgMCAxLS4yNS0zLjQ4MlYxMGgxek0yMi41IDhhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTMiLz48L3N2Zz4nfSwxMTI2NjUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTcgMTd2NC41YS41LjUgMCAwIDAgLjUuNWgxNGEuNS41IDAgMCAwIC41LS41VjE3aDF2NC41YTEuNSAxLjUgMCAwIDEtMS41IDEuNWgtMTRBMS41IDEuNSAwIDAgMSA2IDIxLjVWMTd6bTgtMTF2MTEuMjkzbDMuMTQ2LTMuMTQ2LjcwNy43MDctNC4zNTMgNC4zNTMtNC4zNTMtNC4zNTMuNzA3LS43MDdMMTQgMTcuMjkzVjZ6Ii8+PC9zdmc+J30sODk4Mzc3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMiA3djE1SDV2LTZoNHYtNmg1djNoM1Y3ek02IDIxaDN2LTRINnptNC0xMHYxMGgzVjExem00IDEwaDN2LTdoLTN6bTQgMGgzVjhoLTN6Ii8+PC9zdmc+J30sMzEwOTI3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMCAxNUg5di0yaDF6bTYuMDAxLTZoLTFWNi42NDhsLTUuMzI0IDQuOTU2LS4zMzQtLjI1LTMuMzE3LTIuNDc3TDIuNjgyIDEyIDIgMTEuMjdsMy45NTYtMy42OTQgMy42NSAyLjcyN0wxNC4yMyA2SDEyVjVoNC4wMDF6TTEwIDhIOVY2aDF6bTAtNEg5VjJoMXoiLz48L3N2Zz4nfSw2NjQ0ODEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgMmMzLjI5NSAwIDYgMi41NzUgNiA1Ljc5MiAwIDEuNzUzLS43MjMgMy4zNC0yIDQuNDA4VjE0aC0xLjk5djJINy4wMDZ2LTJINS4wMDR2LTEuNzY1QzMuNzggMTEuMTQ4IDMgOS40OTQgMyA3Ljc5MiAzLjAwMSA0LjU3NSA1LjcwNSAyIDkgMm0tLjk5NCAxM2gyLjAwNHYtMUg4LjAwNnptLTIuMDAyLTN2MUgxMnYtMXpNOSAzQzYuMjIgMyA0LjAwMSA1LjE2MyA0LjAwMSA3Ljc5MmMwIDEuMTc4LjQ1NSAyLjMzNSAxLjE5MiAzLjIwOGgzLjMxNVY4SDYuMDA0VjdoNi4wMDh2MUg5LjUwOHYzaDMuM0MxMy41NyAxMC4xNTYgMTQgOS4wMzQgMTQgNy43OTIgMTQgNS4xNjMgMTEuNzggMyA5IDMiLz48L3N2Zz4nfSwxNDgzODcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTkuNTU0IDEyLjUwNy0zLjMyMyAzLjMyNGE0LjIgNC4yIDAgMCAwIDUuOTQgNS45NGwzLjMyMy0zLjMyNC43MDcuNzA3LTMuMzI0IDMuMzIzYTUuMiA1LjIgMCAwIDEtNy4zNTMtNy4zNTNMOC44NDcgMTEuOHptNy43NTQtMS4xMDctNS45MDcgNS45MDctLjcwNy0uNzA3IDUuOTA3LTUuOTA3em0tMi4xODQtNS44NzZhNS4xOTkgNS4xOTkgMCAxIDEgNy4zNTMgNy4zNTNMMTkuMTU1IDE2LjJsLS43MDgtLjcwNyAzLjMyMy0zLjMyNGE0LjE5OSA0LjE5OSAwIDEgMC01LjkzOS01LjkzOGwtMy4zMjMgMy4zMjItLjcwNy0uNzA3eiIvPjwvc3ZnPid9LDEzOTY0MihlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE3IDguMiA5IDE2IDEgOC4yIDMuNjY3IDNoMTAuNjY2ek0yLjIyNiA4IDkgMTQuNjAyIDE1Ljc3MyA4bC0yLjA1LTRINC4yNzd6TTkuNSA3SDExdjNIOS41djJoLTF2LTJIN1Y3aDEuNVY1aDF6Ii8+PC9zdmc+J30sOTU1NTg5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yNSAxMy4xODIgMTQgMjUgMyAxMy4xODIgNi42NjcgNWgxNC42NjZ6bS0yMC44MTctLjE5N0wxNCAyMy41MzFsOS44MTYtMTAuNTQ2TDIwLjY4NiA2SDcuMzE0ek0xNC41IDEwSDE2djZoLTEuNXYyaC0xdi0ySDEydi02aDEuNVY4aDF6TTEzIDE1aDJ2LTRoLTJ6Ii8+PC9zdmc+J30sMzkxMTgyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDIwaDE1djFIOHY0SDdWM2gxek0yMi4wMDUgNWMwIDQuOTAzLS44MyA4LjE1LTIuMjM1IDEwLjE4MkMxOC4zNCAxNy4yNDkgMTYuMzU3IDE4IDE0LjI0MSAxOGMtMS40NTYgMC0yLjk2Mi0uMzgtNC4yMzktMS4xMzZsLjUxLS44NjFjMS4xMTIuNjU4IDIuNDQuOTk3IDMuNzMuOTk3IDEuODQ3IDAgMy40OTUtLjYzNiA0LjcwNi0yLjM4NyAxLjIzNi0xLjc4NiAyLjA1Ny00Ljc5IDIuMDU3LTkuNjEzeiIvPjwvc3ZnPid9LDkwMjgyOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNSAyNkg0VjJoMXpNMjMgOC41MDFsLTMuMzI4IDMuMDAxLS4zMzUtLjM3MS0uMzM1LS4zNzJMMjAuOTUyIDlIMjAuNWMtMy45MzggMC03LjQxMyAxLjk4LTkuNDg1IDQuOTk4IDIuMDcyIDMuMDE5IDUuNTQ1IDUgOS40ODMgNS4wMDFoLjQ1MkwxOSAxNy4yNDJsLjY3LS43NDIgMy4zMjggMy0zLjMyOCAzLjAwMi0uNjctLjc0NEwyMC45NSAyMGgtLjQ1MmExMi40OCAxMi40OCAwIDAgMS0xMC4wNTYtNS4wNzhBMTEuNDUgMTEuNDUgMCAwIDAgOSAyMC41VjIzSDh2LTIuNDk5YzAtNi45MDMgNS41OTctMTIuNSAxMi41LTEyLjVoLjQ1MmwtMS45NS0xLjc1OC42Ny0uNzQzek04Ljk5OCA3LjUwMmMwIDEuNjM1LjM0NCAzLjE4OS45NTkgNC41OTdxLS4zNTUuNDUyLS42NjcuOTM2YTEyLjQ1IDEyLjQ1IDAgMCAxLTEuMjkyLTUuNTMzdi0yLjVoLjVsLjUtLjAwMXoiLz48L3N2Zz4nfSw4Njc1NDUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJtMjUuMzUgNS4zNS05LjUgOS41LS4zNS4zNi0uMzUtLjM2LTQuNjUtNC42NC04LjE1IDguMTQtLjctLjcgOC41LTguNS4zNS0uMzYuMzUuMzYgNC42NSA0LjY0IDkuMTUtOS4xNC43LjdaTTIgMjFoMXYxSDJ2LTFabTItMUgzdjFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoLTF2LTFoMXYtMWgtMXYtMWgxdi0xaC0xdi0xaDF2LTFoLTF2LTFoMXYtMWgtMXYtMWgxdi0xaC0xdi0xaDFWOWgtMXYxaC0xdjFoLTF2MWgtMXYxaC0xdjFoLTF2MWgtMXYxaC0xdjFoLTF2MWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYxSDl2MUg4djFIN3YxSDZ2MUg1djFINHYxWm0xIDB2MUg0di0xaDFabTEgMEg1di0xaDF2MVptMSAwdjFINnYtMWgxWm0wLTFINnYtMWgxdjFabTEgMEg3djFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYtMWgtMXYtMWgxdi0xaC0xdi0xaDF2LTFoLTF2LTFoMXYtMWgtMXYtMWgxdi0xaC0xdjFoLTF2MWgtMXYxaC0xdjFoLTF2MWgtMXYxaC0xdjFoLTF2MWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYxSDl2MUg4djFIN3YxaDF2MVptMSAwdjFIOHYtMWgxWm0wLTFIOHYtMWgxdjFabTEgMEg5djFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoLTF2LTFoLTF2LTFoLTF2LTFoLTF2LTFoLTF2MUg5djFoMXYxWm0xIDB2MWgtMXYtMWgxWm0wLTF2LTFoLTF2MWgxWm0wIDB2MWgxdjFoMXYtMWgtMXYtMWgtMVptNiAydi0xaDF2MWgtMVptMiAwdjFoLTF2LTFoMVptMC0xaC0xdi0xaDF2MVptMSAwaC0xdjFoMXYxaDF2LTFoMXYxaDF2LTFoLTF2LTFoMXYtMWgtMXYtMWgxdi0xaC0xdi0xaDF2LTFoLTF2MWgtMXYxaC0xdjFoLTF2MWgxdjFabTEgMGgtMXYxaDF2LTFabTAtMWgxdjFoLTF2LTFabTAtMWgxdi0xaC0xdjFabTAgMHYxaC0xdi0xaDFabS00IDN2MWgtMXYtMWgxWiIvPjwvc3ZnPid9LDIxNjMzNShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTkgNmgtMXY3aC0zdjFoM3Y4aDF2LTNoM3YtMWgtM1Y2Wk0xMSA3aC0xdjEzSDd2MWgzdjJoMVYxMGgzVjloLTNWN1oiLz48L3N2Zz4nfSw4NDIwNTEoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0xMC40OSA3LjU1LS40Mi43LTIuMSAzLjUuODYuNSAxLjY4LTIuOCAxLjggMi44Mi44NC0uNTQtMi4yMy0zLjUtLjQzLS42OFptMTIuMzIgNC43Mi0uODQtLjU0IDIuNjEtNCAuODQuNTQtMi42MSA0Wm0tNS4zIDYuMyAxLjItMS44NC44NC41NC0xLjYzIDIuNS0uNDMuNjUtLjQxLS42NS0xLjYtMi41Ljg1LS41NCAxLjE3IDEuODVaTTQuOTYgMTYuNzVsLjg2LjUyLTIuNCA0LS44Ni0uNTIgMi40LTRaTTMgMTR2MWgxdi0xSDNabTIgMGgxdjFINXYtMVptMiAwdjFoMXYtMUg3Wm0yIDBoMXYxSDl2LTFabTIgMHYxaDF2LTFoLTFabTIgMGgxdjFoLTF2LTFabTIgMHYxaDF2LTFoLTFabTIgMGgxdjFoLTF2LTFabTIgMHYxaDF2LTFoLTFabTIgMGgxdjFoLTF2LTFabTIgMHYxaDF2LTFoLTFabTIgMGgxdjFoLTF2LTFaIi8+PC9zdmc+J30sMzc2MTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTE3IDExdjZoM3YtNmgtM3ptLS41LTFoNGEuNS41IDAgMCAxIC41LjV2N2EuNS41IDAgMCAxLS41LjVoLTRhLjUuNSAwIDAgMS0uNS0uNXYtN2EuNS41IDAgMCAxIC41LS41eiIvPjxwYXRoIGQ9Ik0xOCA3aDF2My41aC0xem0wIDEwLjVoMVYyMWgtMXoiLz48cGF0aCBkPSJNOSA4djEyaDNWOEg5em0tLjUtMWg0YS41LjUgMCAwIDEgLjUuNXYxM2EuNS41IDAgMCAxLS41LjVoLTRhLjUuNSAwIDAgMS0uNS0uNXYtMTNhLjUuNSAwIDAgMSAuNS0uNXoiLz48cGF0aCBkPSJNMTAgNGgxdjMuNWgtMXptMCAxNi41aDFWMjRoLTF6Ii8+PC9zdmc+J30sNjQ3NjMwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48ZyBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTEwLjUgOXYxMk03IDE4LjVoMy41TTE0IDkuNWgtMy41TTE5LjUgM3YxMk0xNiA2LjVoMy41TTIzIDE0LjVoLTMuNU0xOC41IDE5LjVoMmExIDEgMCAxIDAgMC0yaC0yVjIydi0yLjV6TTIxLjUgMjJMMjAgMTkuNSIvPjwvZz48L3N2Zz4nfSw5OTU1NDkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48ZyBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTExIDIwLjVINy41YTUgNSAwIDEgMSAuNDItOS45OCA3LjUgNy41IDAgMCAxIDE0LjU3IDIuMSA0IDQgMCAwIDEtMSA3Ljg3N0gxOCIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMTQuNSAyNFYxMi41TTExIDE2bDMuNS0zLjVMMTggMTYiLz48L2c+PC9zdmc+J30sNDQzMTY3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDd2MTRoNVY3aC01Wm00IDFoLTN2MTJoM1Y4Wk0xOSAxNXY2aDV2LTZoLTVabTQgMWgtM3Y0aDN2LTRaTTUgMTJoNXY5SDV2LTlabTEgMWgzdjdINnYtN1oiLz48L3N2Zz4nfSw3NjU2OTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEzLjUgNmE4LjUgOC41IDAgMSAwIDAgMTcgOC41IDguNSAwIDAgMCAwLTE3ek00IDE0LjVhOS41IDkuNSAwIDEgMSAxOSAwIDkuNSA5LjUgMCAwIDEtMTkgMHoiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDE0aDR2LTRoMXY0aDR2MWgtNHY0aC0xdi00SDl2LTF6Ii8+PC9zdmc+J30sNTAwNTA3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik05IDh2MTJoM1Y4SDl6bS0xLS41MDJDOCA3LjIyMyA4LjIxNSA3IDguNDk4IDdoNC4wMDRjLjI3NSAwIC40OTguMjIuNDk4LjQ5OHYxMy4wMDRhLjQ5My40OTMgMCAwIDEtLjQ5OC40OThIOC40OThBLjQ5Ni40OTYgMCAwIDEgOCAyMC41MDJWNy40OTh6Ii8+PHBhdGggZD0iTTEwIDRoMXYzLjVoLTF6Ii8+PHBhdGggZD0iTTE3IDZ2NmgzVjZoLTN6bS0xLS41YzAtLjI3Ni4yMTUtLjUuNDk4LS41aDQuMDA0Yy4yNzUgMCAuNDk4LjIzLjQ5OC41djdjMCAuMjc2LS4yMTUuNS0uNDk4LjVoLTQuMDA0YS41MDMuNTAzIDAgMCAxLS40OTgtLjV2LTd6Ii8+PHBhdGggZD0iTTE4IDJoMXYzLjVoLTF6Ii8+PC9zdmc+J30sMjE1NDgwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuNSA3SDd2MTRoNVY3SDcuNXpNOCAyMFY4aDN2MTJIOHptNy41LTExSDE1djEwaDVWOWgtNC41em0uNSA5di04aDN2OGgtM3oiLz48L3N2Zz4nfSwzODE5MjMoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNyAxMXY2aDN2LTZoLTN6bS0uNS0xaDRhLjUuNSAwIDAgMSAuNS41djdhLjUuNSAwIDAgMS0uNS41aC00YS41LjUgMCAwIDEtLjUtLjV2LTdhLjUuNSAwIDAgMSAuNS0uNXoiLz48cGF0aCBkPSJNMTggN2gxdjMuNWgtMXptMCAxMC41aDFWMjFoLTF6Ii8+PHBhdGggZD0iTTkgOHYxMWgzVjhIOXptLS41LTFoNGEuNS41IDAgMCAxIC41LjV2MTJhLjUuNSAwIDAgMS0uNS41aC00YS41LjUgMCAwIDEtLjUtLjV2LTEyYS41LjUgMCAwIDEgLjUtLjV6Ii8+PHBhdGggZD0iTTEwIDRoMXY1aC0xem0wIDE0aDF2NWgtMXpNOC41IDlIMTB2MUg4LjV6TTExIDloMS41djFIMTF6bS0xIDFoMXYxaC0xem0tMS41IDFIMTB2MUg4LjV6bTIuNSAwaDEuNXYxSDExem0tMSAxaDF2MWgtMXptLTEuNSAxSDEwdjFIOC41em0yLjUgMGgxLjV2MUgxMXptLTEgMWgxdjFoLTF6bS0xLjUgMUgxMHYxSDguNXptMi41IDBoMS41djFIMTF6bS0xIDFoMXYxaC0xem0tMS41IDFIMTB2MUg4LjV6bTIuNSAwaDEuNXYxSDExeiIvPjwvc3ZnPid9LDg0Njc0OShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik02IDEybDQuOC00LjhhMSAxIDAgMCAxIDEuNCAwbDIuNyAyLjdhMSAxIDAgMCAwIDEuMy4xTDIzIDUiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE5IDEyYTEgMSAwIDAgMC0xIDF2NGgtM3YtMWExIDEgMCAwIDAtMS0xaC0zYTEgMSAwIDAgMC0xIDF2Mkg3YTEgMSAwIDAgMC0xIDF2NGgxN1YxM2ExIDEgMCAwIDAtMS0xaC0zem0wIDEwaDN2LTloLTN2OXptLTEgMHYtNGgtM3Y0aDN6bS00LTQuNVYyMmgtM3YtNmgzdjEuNXpNMTAgMjJ2LTNIN3YzaDN6Ii8+PC9zdmc+J30sMTEzNzg0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTIwIDE3bC01IDVNMTUgMTdsNSA1TTkgMTEuNWg3TTE3LjUgOGEyLjUgMi41IDAgMCAwLTUgMHYxMWEyLjUgMi41IDAgMCAxLTUgMCIvPjwvc3ZnPid9LDQ1NTYzOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTEgNWgzdjEyaDVWOGgzdjEzaDFWN2gtNXY5aC0zVjRoLTV2MThIN3YtNUg2djZoNXoiLz48L3N2Zz4nfSw1OTQ4NDYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxaDE0Yy44MyAwIDEuNS42NyAxLjUgMS41VjhIMVYyLjVaTTEgOXY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVIOVY5SDFabTkgN2g2LjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTh2N1pNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSwyNzM3NzUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxaDE0Yy44MyAwIDEuNS42NyAxLjUgMS41VjhIMVYyLjVaTTEgOXY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVINlY5SDFabTYgN2g1VjlIN3Y3Wm02IDBoMy41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVY5aC01djdaTTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMGgtMTRaIi8+PC9zdmc+J30sNjU2MzA0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xIC0xIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMSAyLjVDMSAxLjY3IDEuNjcgMSAyLjUgMWgxNGMuODMgMCAxLjUuNjcgMS41IDEuNVY4SDFWMi41Wk0xIDl2NS41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDRWOUgxWm00IDdoNFY5SDV2N1ptNSAwaDRWOWgtNHY3Wm01IDBoMS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVY5aC0zdjdaTTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMGgtMTRaIi8+PC9zdmc+J30sODgwODkzKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDMuNUMyIDIuNjcgMi42NyAyIDMuNSAySDR2N0gyVjMuNVpNMiAxMHY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVINHYtN0gyWm0zIDdoM3YtN0g1djdabTQgMGgzdi03SDl2N1ptNCAwaDN2LTdoLTN2N1ptNCAwaC41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxMGgtMnY3Wm0yLThWMy41YzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxN3Y3aDJabS0zLTdoLTN2N2gzVjJabS00IDBIOXY3aDNWMlpNOCAySDV2N2gzVjJaTTMuNSAxQTIuNSAyLjUgMCAwIDAgMSAzLjV2MTJBMi41IDIuNSAwIDAgMCAzLjUgMThoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE3LjUgMWgtMTRaIi8+PC9zdmc+J30sOTQ0NTgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMiAzLjVDMiAyLjY3IDIuNjcgMiAzLjUgMkg3djNIMnYxaDV2M0gydjFoNXYzSDJ2MWg1djNIMy41QTEuNSAxLjUgMCAwIDEgMiAxNS41di0xMlpNOCAxNHYzaDV2LTNIOFptNiAwdjNoMy41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxNGgtNVptNS0xaC01di0zaDV2M1ptLTYgMEg4di0zaDV2M1pNOCA5aDVWNkg4djNabTYgMGg1VjZoLTV2M1ptLTEtNEg4VjJoNXYzWm0xIDEzSDMuNUEyLjUgMi41IDAgMCAxIDEgMTUuNXYtMTJBMi41IDIuNSAwIDAgMSAzLjUgMWgxNEEyLjUgMi41IDAgMCAxIDIwIDMuNXYxMmEyLjUgMi41IDAgMCAxLTIuNSAyLjVIMTRabTAtMTNWMmgzLjVjLjgzIDAgMS41LjY3IDEuNSAxLjVWNWgtNVoiLz48L3N2Zz4nfSw1MTM5MTIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMiAzLjVDMiAyLjY3IDIuNjcgMiAzLjUgMkg0djdIMlYzLjVaTTIgMTB2NS41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDR2LTdIMlptMyA3aDJ2LTdINXY3Wm0zIDBoMnYtN0g4djdabTMgMGgydi03aC0ydjdabTMgMGgydi03aC0ydjdabTMgMGguNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVWMTBoLTJ2N1ptMi04VjMuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTd2N2gyWm0tMy03aC0ydjdoMlYyWm0tMyAwaC0ydjdoMlYyWm0tMyAwSDh2N2gyVjJaTTcgMkg1djdoMlYyWk0zLjUgMUEyLjUgMi41IDAgMCAwIDEgMy41djEyQTIuNSAyLjUgMCAwIDAgMy41IDE4aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNy41IDFoLTE0WiIvPjwvc3ZnPid9LDg2ODc2NihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjUgMkMyLjY3IDIgMiAyLjY3IDIgMy41djEyYzAgLjgzLjY3IDEuNSAxLjUgMS41SDV2LTNIMnYtMWgzdi0zSDJWOWgzVjZIMlY1aDNWMkgzLjVaTTYgMTR2M2g0di0zSDZabTQtMUg2di0zaDR2M1ptMSAxdjNoNHYtM2gtNFptNC0xaC00di0zaDR2M1ptMSAxdjNoMS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxNGgtM1ptMy0xaC0zdi0zaDN2M1ptLTgtNGg0VjZoLTR2M1ptNS0zdjNoM1Y2aC0zWk02IDloNFY2SDZ2M1ptMC00aDRWMkg2djNabTEwIDEzSDMuNUEyLjUgMi41IDAgMCAxIDEgMTUuNXYtMTJBMi41IDIuNSAwIDAgMSAzLjUgMWgxNEEyLjUgMi41IDAgMCAxIDIwIDMuNXYxMmEyLjUgMi41IDAgMCAxLTIuNSAyLjVIMTZabTAtMTNWMmgxLjVjLjgzIDAgMS41LjY3IDEuNSAxLjVWNWgtM1ptLTEtM2gtNHYzaDRWMloiLz48L3N2Zz4nfSwyMjExNTgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2N0gxVjIuNVpNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNWgxNGMuODMgMCAxLjUtLjY3IDEuNS0xLjVWOUgxWm0xNy0xVjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2N2g4Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDkwNjA1MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTkgMTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIxNyI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjUgMUMxLjY3IDEgMSAxLjY3IDEgMi41djEyYzAgLjgzLjY3IDEuNSAxLjUgMS41SDVWMXpNMTAgMTZINlYxaDR2MTVtMSAwaDUuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVWOWgtN3ptNy04VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTF2N3pNMCAyLjVBMi41IDIuNSAwIDAgMSAyLjUgMGgxNEEyLjUgMi41IDAgMCAxIDE5IDIuNXYxMmEyLjUgMi41IDAgMCAxLTIuNSAyLjVoLTE0QTIuNSAyLjUgMCAwIDEgMCAxNC41eiIvPjwvc3ZnPid9LDc4OTEwOChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE5IDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMTciPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTYuNSAxSDE0djE1aDIuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEyYzAtLjgzLS42Ny0xLjUtMS41LTEuNU05IDFoNHYxNUg5VjFNOCAxSDIuNUMxLjY3IDEgMSAxLjY3IDEgMi41VjhoN3pNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNUg4Vjl6bTEuNS05QTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMHoiLz48L3N2Zz4nfSw3MjAyOTMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2N0gxVjIuNVpNMSA5djNoMTdWOUgxWm0xNy0xVjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2N2g4Wm0wIDVIMXYxLjVjMCAuODMuNjcgMS41IDEuNSAxLjVoMTRjLjgzIDAgMS41LS42NyAxLjUtMS41VjEzWk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDU2MzQ4NyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTkgMTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIxNyI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAxSDZ2MTVoNFYxbTEgMHY0aDdWMi41YzAtLjgzLS42Ny0xLjUtMS41LTEuNXptNyA1aC03djVoN3ptMCA2aC03djRoNS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNXpNMi41IDFINXYxNUgyLjVBMS41IDEuNSAwIDAgMSAxIDE0LjV2LTEyQzEgMS42NyAxLjY3IDEgMi41IDFtMC0xQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMHoiLz48L3N2Zz4nfSw3MzcwMTcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE5IDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMTciPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTYuNSAxSDE0djE1aDIuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEyYzAtLjgzLS42Ny0xLjUtMS41LTEuNU05IDFoNHYxNUg5VjFNOCAxSDIuNUMxLjY3IDEgMSAxLjY3IDEgMi41VjVoN3pNMSA2djVoN1Y2em0wIDZ2Mi41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDh2LTR6TTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMHoiLz48L3N2Zz4nfSw3NjU1NzIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2N0gxVjIuNVpNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNUg2VjlIMVptNiA3aDVWOUg3djdabTYgMGgzLjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTV2N1ptNS04VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2N2g4Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDUyNzcyMyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDMuNUEyLjUgMi41IDAgMCAxIDMuNSAxaDE0QTIuNSAyLjUgMCAwIDEgMjAgMy41djEyYTIuNSAyLjUgMCAwIDEtMi41IDIuNWgtMTRBMi41IDIuNSAwIDAgMSAxIDE1LjV2LTEyWk0xMSAyaDYuNWMuODMgMCAxLjUuNjcgMS41IDEuNVY5aC04VjJabS0xIDBIMy41QzIuNjcgMiAyIDIuNjcgMiAzLjVWOWg4VjJabS04IDh2NS41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDV2LTdIMlptNCA3aDR2LTdINnY3Wm01IDBoNHYtN2gtNHY3Wm01IDBoMS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxMGgtM3Y3WiIvPjwvc3ZnPid9LDYxNTQyNChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFIOXYxNUgyLjVBMS41IDEuNSAwIDAgMSAxIDE0LjV2LTEyWk0xMCAxNmg2LjVjLjgzIDAgMS41LS42NyAxLjUtMS41di0xMmMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2MTVaTTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMGgtMTRaIi8+PC9zdmc+J30sNjcyODg2KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFoMTRjLjgzIDAgMS41LjY3IDEuNSAxLjVWOEgxVjIuNVpNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNWgxNGMuODMgMCAxLjUtLjY3IDEuNS0xLjVWOUgxWm0xLjUtOUEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDc2MzU1NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5IiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDApIiB2ZXJzaW9uPSIxLjEiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFoMTRjLjgzIDAgMS41LjY3IDEuNSAxLjVWOEgxVjIuNVpNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNUg2VjlIMVptNiA3aDVWOUg3djdabTYgMGgzLjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTV2N1pNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw5NzQ1NihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDMuNUMyIDIuNjcgMi42NyAyIDMuNSAySDd2N0gyVjMuNVpNMiAxMHY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVoMTRjLjgzIDAgMS41LS42NyAxLjUtMS41VjEwaC04djdoLTF2LTdIMlptMTctMVYzLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41SDE0djdoNVptLTYtN0g4djdoNVYyWk0zLjUgMUEyLjUgMi41IDAgMCAwIDEgMy41djEyQTIuNSAyLjUgMCAwIDAgMy41IDE4aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNy41IDFoLTE0WiIvPjwvc3ZnPid9LDM3NjE2MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFINnYxNUgyLjVBMS41IDEuNSAwIDAgMSAxIDE0LjV2LTEyWk03IDE2aDVWMUg3djE1Wm02LTE1djE1aDMuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEyYzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxM1pNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw1OTU2MjUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2N0gxVjIuNVpNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNUg5VjlIMVptOSA3aDYuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEyYzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxMHYxNVpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw2NzAyNjQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2MTVIMi41QTEuNSAxLjUgMCAwIDEgMSAxNC41di0xMlpNMTAgMTZoNi41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVY5aC04djdabTgtOFYyLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41SDEwdjdoOFpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw0NTc5ODkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxaDE0Yy44MyAwIDEuNS42NyAxLjUgMS41VjVIMVYyLjVaTTEgNnY1aDE3VjZIMVptMTcgNkgxdjIuNWMwIC44My42NyAxLjUgMS41IDEuNWgxNGMuODMgMCAxLjUtLjY3IDEuNS0xLjVWMTJaTTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMGgtMTRaIi8+PC9zdmc+J30sNjQ3NjkyKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5IiB0cmFuc2Zvcm09Im1hdHJpeCgtMSwwLDAsLTEsMCwwKSIgdmVyc2lvbj0iMS4xIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxaDE0Yy44MyAwIDEuNS42NyAxLjUgMS41VjhIMVYyLjVaTTEgOXY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVINFY5SDFabTQgN2g0VjlINXY3Wm01IDBoNFY5aC00djdabTUgMGgxLjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTN2N1pNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw4MjY3MTkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE5IDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMTciPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTUgMWgxLjVjLjgzIDAgMS41LjY3IDEuNSAxLjV2NWgtM3ptLTEgMGgtNHY2LjVoNHpNOSAxSDV2Ni41aDR6TTQgMUgyLjVDMS42NyAxIDEgMS42NyAxIDIuNXY1aDN6TTEgOC41djZjMCAuODMuNjcgMS41IDEuNSAxLjVIOVY4LjVIMW05IDcuNWg2LjVjLjgzIDAgMS41LS42NyAxLjUtMS41di02aC04ek0wIDIuNUEyLjUgMi41IDAgMCAxIDIuNSAwaDE0QTIuNSAyLjUgMCAwIDEgMTkgMi41djEyYTIuNSAyLjUgMCAwIDEtMi41IDIuNWgtMTRBMi41IDIuNSAwIDAgMSAwIDE0LjV6Ii8+PC9zdmc+J30sOTk4Mjg2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOSAxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjE3Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE0IDFoLTR2N2g0em0xIDhoLTJ2N2gzLjVjLjgzIDAgMS41LS42NyAxLjUtMS41Vjl6bS0zIDdWOUg3djd6TTUgOWgxdjdIMi41QTEuNSAxLjUgMCAwIDEgMSAxNC41VjloNG0xMy0xVjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTV2N3pNMSA4aDNWMUgyLjVDMS42NyAxIDEgMS42NyAxIDIuNXptNCAwaDRWMUg1ek0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDB6Ii8+PC9zdmc+J30sOTQ1MjM4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xIC0xIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMSAyLjVDMSAxLjY3IDEuNjcgMSAyLjUgMUg5djdIMVYyLjVaTTEgOXY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVIOVY5SDFabTkgN2g2LjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTh2N1ptOC04VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2N2g4Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDEyNDg1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xIC0xIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMSAyLjVDMSAxLjY3IDEuNjcgMSAyLjUgMUg0djE1SDIuNUExLjUgMS41IDAgMCAxIDEgMTQuNXYtMTJaTTUgMTZoNFYxSDV2MTVabTUtMTV2MTVoNFYxaC00Wm01IDB2MTVoMS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNXYtMTJjMC0uODMtLjY3LTEuNS0xLjUtMS41SDE1Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDEyNjE2NihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDMuNUMyIDIuNjcgMi42NyAyIDMuNSAySDExdjRIMlYzLjVaTTIgN3Y1aDlWN0gyWm0wIDZ2Mi41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDExdi00SDJabTEwIDRoNS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNXYtMTJjMC0uODMtLjY3LTEuNS0xLjUtMS41SDEydjE1Wk0zLjUgMUEyLjUgMi41IDAgMCAwIDEgMy41djEyQTIuNSAyLjUgMCAwIDAgMy41IDE4aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNy41IDFoLTE0WiIvPjwvc3ZnPid9LDQ2NzE0NShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2MTVIMi41QTEuNSAxLjUgMCAwIDEgMSAxNC41di0xMlpNMTAgMTZoNi41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxMmgtOHY0Wm04LTVWNmgtOHY1aDhabTAtNlYyLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41SDEwdjRoOFpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw0MDg5NjQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxaDE0Yy44MyAwIDEuNS42NyAxLjUgMS41VjRIMVYyLjVaTTEgNXYzaDE3VjVIMVptMTcgNEgxdjNoMTdWOVptMCA0SDF2MS41YzAgLjgzLjY3IDEuNSAxLjUgMS41aDE0Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxM1pNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw1NzUxMDAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE5IDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMTciPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNyAxSDR2N2gzem0xIDB2N2gzVjF6bTQgMHY3aDNWMXptMCA4aC0ydjdoNFY5em0zIDBoM3Y1LjVjMCAuODMtLjY3IDEuNS0xLjUgMS41SDE1em0xLTh2N2gyVjIuNWMwLS44My0uNjctMS41LTEuNS0xLjV6TTggOUg1djdoNFY5ek0yLjUgMUgzdjdIMVYyLjVDMSAxLjY3IDEuNjcgMSAyLjUgMU0xIDloM3Y3SDIuNUExLjUgMS41IDAgMCAxIDEgMTQuNXptMS41LTlBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAweiIvPjwvc3ZnPid9LDE5MTU2NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xOSAzLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41SDE3djE1aC41Yy44MyAwIDEuNS0uNjcgMS41LTEuNXYtMTJabS0xNyAxMmMwIC44My42NyAxLjUgMS41IDEuNUg0VjJoLS41QzIuNjcgMiAyIDIuNjcgMiAzLjV2MTJaTTEuMDEgMy4yNEEyLjUgMi41IDAgMCAxIDMuNSAxaDE0QTIuNSAyLjUgMCAwIDEgMjAgMy41djEyYTIuNSAyLjUgMCAwIDEtMi41IDIuNWgtMTRBMi41IDIuNSAwIDAgMSAxIDE1LjV2LTEybC4wMS0uMjZaTTUgMTdoM1YySDV2MTVabTExIDBoLTNWMmgzdjE1Wk0xMiAydjE1SDlWMmgzWiIvPjwvc3ZnPid9LDQyMjU5OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5IiB0cmFuc2Zvcm09Im1hdHJpeCgtMSwwLDAsLTEsMCwwKSIgdmVyc2lvbj0iMS4xIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2MTVIMi41QTEuNSAxLjUgMCAwIDEgMSAxNC41di0xMlpNMTAgMTZoNi41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxM2gtOHYzWm04LTRWOWgtOHYzaDhabTAtNFY1aC04djNoOFptMC00VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2M2g4Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDY2MzIyMihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFIOXYxNUgyLjVBMS41IDEuNSAwIDAgMSAxIDE0LjV2LTEyWk0xMCAxNmg2LjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjEzaC04djNabTgtNFY5aC04djNoOFptMC00VjVoLTh2M2g4Wm0wLTRWMi41YzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxMHYzaDhaTTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMGgtMTRaIi8+PC9zdmc+J30sMjIzMjI3KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDMuNUEyLjUgMi41IDAgMCAxIDMuNSAxaDE0QTIuNSAyLjUgMCAwIDEgMjAgMy41djEyYTIuNSAyLjUgMCAwIDEtMi41IDIuNWgtMTRBMi41IDIuNSAwIDAgMSAxIDE1LjV2LTEyWk0zLjUgMmgxNGMuODMgMCAxLjUuNjcgMS41IDEuNVY0SDJ2LS41QzIgMi42NyAyLjY3IDIgMy41IDJaTTIgNXYyaDE3VjVIMlptMTcgM0gydjNoMTdWOFptMCA0SDJ2MmgxN3YtMlptMCAzSDJ2LjVjMCAuODMuNjcgMS41IDEuNSAxLjVoMTRjLjgzIDAgMS41LS42NyAxLjUtMS41VjE1WiIvPjwvc3ZnPid9LDg2MDg1MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFINnY3SDFWMi41Wk0xIDl2NS41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDZWOUgxWm02IDdoNVY5SDd2N1ptNiAwaDMuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVWOWgtNXY3Wm01LThWMi41YzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxM3Y3aDVabS02LTdIN3Y3aDVWMVpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSwxMDA0NjMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2NEgxVjIuNVpNMSA2djVoOFY2SDFabTAgNnYyLjVjMCAuODMuNjcgMS41IDEuNSAxLjVIOXYtNEgxWm05IDRoNi41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxMmgtOHY0Wm04LTVWNmgtOHY1aDhabTAtNlYyLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41SDEwdjRoOFpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw5MjA1MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDMuNUMyIDIuNjcgMi42NyAyIDMuNSAySDR2MTVoLS41QTEuNSAxLjUgMCAwIDEgMiAxNS41di0xMlpNNSAxN2gyVjJINXYxNVpNOCAydjE1aDJWMkg4Wm0zIDB2MTVoMlYyaC0yWm0zIDB2MTVoMlYyaC0yWm0zIDB2MTVoLjVjLjgzIDAgMS41LS42NyAxLjUtMS41di0xMmMwLS44My0uNjctMS41LTEuNS0xLjVIMTdaTTMuNSAxQTIuNSAyLjUgMCAwIDAgMSAzLjV2MTJBMi41IDIuNSAwIDAgMCAzLjUgMThoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE3LjUgMWgtMTRaIi8+PC9zdmc+J30sNTYyOTk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xIC0xIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMSAyLjVDMSAxLjY3IDEuNjcgMSAyLjUgMUg0djdIMVYyLjVaTTEgOXY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVINFY5SDFabTQgN2g0VjlINXY3Wm01IDBoNFY5aC00djdabTUgMGgxLjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTN2N1ptMy04VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTV2N2gzWm0tNC03aC00djdoNFYxWk05IDFINXY3aDRWMVpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSwxNjQ0NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFIOXYzSDFWMi41Wk0xIDV2M2g4VjVIMVptMCA0djNoOFY5SDFabTAgNHYxLjVjMCAuODMuNjcgMS41IDEuNSAxLjVIOXYtM0gxWm05IDNoNi41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxM2gtOHYzWm04LTRWOWgtOHYzaDhabTAtNFY1aC04djNoOFptMC00VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2M2g4Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDg2NjgyNihlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMy41IDFBMi41IDIuNSAwIDAgMCAxIDMuNXYxMkEyLjUgMi41IDAgMCAwIDMuNSAxOGgxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTcuNSAxaC0xNFpNNyAySDMuNUMyLjY3IDIgMiAyLjY3IDIgMy41VjZoNVYyWm0xIDB2NGg1VjJIOFptMCA1aDV2NUg4VjdabS0xIDVWN0gydjVoNVptLTUgMWg1djRIMy41QTEuNSAxLjUgMCAwIDEgMiAxNS41VjEzWm02IDBoNXY0SDh2LTRabTYgMHY0aDMuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVWMTNoLTVabTUtMVY3aC01djVoNVpNMTQgMnY0aDVWMy41YzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxNFoiLz48L3N2Zz4nfSwzOTY3NTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiIGZpbGw9Im5vbmUiPjxyZWN0IHdpZHRoPSIxOCIgaGVpZ2h0PSIxNiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHJ4PSIyIiB4PSIxLjUiIHk9IjEuNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE5IDEwSDJWOWgxN3YxWiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQgMTdWMmgxdjE1SDRaIi8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNyAxN1YyaDF2MTVIN1oiIG9wYWNpdHk9Ii44NSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEwIDE3VjJoMXYxNWgtMVoiIG9wYWNpdHk9Ii42NSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEzIDE3VjJoMXYxNWgtMVoiIG9wYWNpdHk9Ii4yNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE2IDE4VjJoMXYxNmgtMVoiIG9wYWNpdHk9Ii4wNSIvPjwvc3ZnPid9LDY5Nzc1MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjE4IiBoZWlnaHQ9IjE2IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgcng9IjIiIHg9IjEuNSIgeT0iMS41Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNCAxN1YyaDF2MTVINFoiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03IDE3VjJoMXYxNUg3WiIgb3BhY2l0eT0iLjg1Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTAgMTdWMmgxdjE1aC0xWiIgb3BhY2l0eT0iLjY1Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTMgMTdWMmgxdjE1aC0xWiIgb3BhY2l0eT0iLjI1Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTYgMTdWMmgxdjE1aC0xWiIgb3BhY2l0eT0iLjA1Ii8+PC9zdmc+J30sNTc0MTU5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5IiBmaWxsPSJub25lIj48cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTYiIHN0cm9rZT0iY3VycmVudENvbG9yIiByeD0iMiIgeD0iMS41IiB5PSIxLjUiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xLjUgNGgxOHYxaC0xOFY0WiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTIgN2gxOHYxSDJWN1oiIG9wYWNpdHk9Ii42NSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEuNSAxMGgxOHYxaC0xOHYtMVoiIG9wYWNpdHk9Ii4yNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEuNSAxM2gxOHYxaC0xOHYtMVoiIG9wYWNpdHk9Ii4wNSIvPjwvc3ZnPid9LDc0MjUwOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTkgMTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIxNyIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNi41IDFoLTE0QzEuNjcgMSAxIDEuNjcgMSAyLjV2MTJjMCAuODMuNjcgMS41IDEuNSAxLjVoMTRjLjgzIDAgMS41LS42NyAxLjUtMS41di0xMmMwLS44My0uNjctMS41LTEuNS0xLjVtLTE0LTFBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAweiIvPjxwYXRoIGQ9Ik05IDNoOXYxSDl6Ii8+PHBhdGggZD0iTTkgMTdWMWgxdjE2eiIvPjxwYXRoIGQ9Ik05IDZoOXYxSDl6IiBvcGFjaXR5PSIuNjUiLz48cGF0aCBkPSJNOSA5aDl2MUg5eiIgb3BhY2l0eT0iLjI1Ii8+PHBhdGggZD0iTTkgMTJoOXYxSDl6IiBvcGFjaXR5PSIuMDUiLz48L3N2Zz4nfSwyOTc4NDkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMi41IDFDMS42NyAxIDEgMS42NyAxIDIuNXYxMmMwIC44My42NyAxLjUgMS41IDEuNWgxNGMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEyYzAtLjgzLS42Ny0xLjUtMS41LTEuNWgtMTRaTTAgMi41QTIuNSAyLjUgMCAwIDEgMi41IDBoMTRBMi41IDIuNSAwIDAgMSAxOSAyLjV2MTJhMi41IDIuNSAwIDAgMS0yLjUgMi41aC0xNEEyLjUgMi41IDAgMCAxIDAgMTQuNXYtMTJaIi8+PC9zdmc+J30sOTY1NjM1KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Im0xOC40MyAxNS45MSA2Ljk2LTguNi0uNzgtLjYyLTYuOTYgOC42YTIuNDkgMi40OSAwIDAgMC0yLjYzLjJsLTIuMjEtMi4wMkEyLjUgMi41IDAgMCAwIDEwLjUgMTBhMi41IDIuNSAwIDEgMCAxLjczIDQuM2wyLjEyIDEuOTJhMi41IDIuNSAwIDEgMCA0LjA4LS4zMVpNMTAuNSAxNGExLjUgMS41IDAgMSAwIDAtMyAxLjUgMS41IDAgMCAwIDAgM1ptNy41IDMuNWExLjUgMS41IDAgMSAxLTMgMCAxLjUgMS41IDAgMCAxIDMgMFoiLz48cGF0aCBkPSJNOC4zNyAxMy44Yy4xNy4zLjQuNTQuNjguNzRsLTUuNjcgNi43OC0uNzYtLjY0IDUuNzUtNi44OFoiLz48L3N2Zz4nfSw0MjAzNDAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTI1LjM5IDcuMzEtOC44MyAxMC45Mi02LjAyLTUuNDctNy4xNiA4LjU2LS43Ni0uNjQgNy44Mi05LjM2IDYgNS40NUwyNC42MSA2LjdsLjc4LjYyWiIvPjwvc3ZnPid9LDc3MzI2NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTggMjRoM1YxMmgtM3YxMnptLTEtMTNoNXYxNGgtNVYxMXptLTQtOHY3aDNWM2gtM3ptLTEtMWg1djloLTVWMnpNOCAxOWgzdi03SDh2N3ptLTEtOGg1djlIN3YtOXoiLz48L3N2Zz4nfSwzNDY1NTEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIxIDIxIiB3aWR0aD0iMjEiIGhlaWdodD0iMjEiPjxnIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIj48cGF0aCBkPSJNMTguNSAxMXY1LjVhMiAyIDAgMCAxLTIgMmgtMTNhMiAyIDAgMCAxLTItMnYtMTNhMiAyIDAgMCAxIDItMkg5Ii8+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTE4IDJsLTguNSA4LjVtNC05aDV2NSIvPjwvZz48L3N2Zz4nfSw5MTc2OTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTE0LjUgMTZhMi41IDIuNSAwIDEgMSAwLTUgMi41IDIuNSAwIDAgMSAwIDV6bTAtMWExLjUgMS41IDAgMSAwIDAtMyAxLjUgMS41IDAgMCAwIDAgM3ptMCA3YTIuNSAyLjUgMCAxIDEgMC01IDIuNSAyLjUgMCAwIDEgMCA1em0wLTFhMS41IDEuNSAwIDEgMCAwLTMgMS41IDEuNSAwIDAgMCAwIDN6bTMuMjkzLTE1LjVsNC43MDcgNC43MDcuNzA3LS43MDdMMTguNSA0Ljc5M3oiLz48cGF0aCBkPSJNMTguNSAxMC4yMDdMMjMuMjA3IDUuNWwtLjcwNy0uNzA3TDE3Ljc5MyA5LjV6bS0uNzA3IDEuMjkzbDQuNzA3IDQuNzA3LjcwNy0uNzA3LTQuNzA3LTQuNzA3eiIvPjxwYXRoIGQ9Ik0xOC41IDE2LjIwN2w0LjcwNy00LjcwNy0uNzA3LS43MDctNC43MDcgNC43MDd6TTUuNzkzIDE3LjVsNC43MDcgNC43MDcuNzA3LS43MDdMNi41IDE2Ljc5M3oiLz48cGF0aCBkPSJNNi41IDIyLjIwN2w0LjcwNy00LjcwNy0uNzA3LS43MDdMNS43OTMgMjEuNXpNNS43OTMgNS41bDQuNzA3IDQuNzA3LjcwNy0uNzA3TDYuNSA0Ljc5M3oiLz48cGF0aCBkPSJNNi41IDEwLjIwN0wxMS4yMDcgNS41bC0uNzA3LS43MDdMNS43OTMgOS41ek01Ljc5MyAxMS41bDQuNzA3IDQuNzA3LjcwNy0uNzA3TDYuNSAxMC43OTN6Ii8+PHBhdGggZD0iTTYuNSAxNi4yMDdsNC43MDctNC43MDctLjcwNy0uNzA3TDUuNzkzIDE1LjV6Ii8+PC9zdmc+J30sNzYyMDIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE4LjI5MyAxM2wtMi42NDcgMi42NDYuNzA3LjcwOCAzLjg1NC0zLjg1NC0zLjg1NC0zLjg1NC0uNzA3LjcwOEwxOC4yOTMgMTJIMTIuNUE1LjUgNS41IDAgMCAwIDcgMTcuNVYxOWgxdi0xLjVhNC41IDQuNSAwIDAgMSA0LjUtNC41aDUuNzkzeiIvPjwvc3ZnPid9LDcyMjc2MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTggNXY1aDNWNWgtM3ptLTEtMWg1djdoLTVWNHptLTQgMTNoM3YtNWgtM3Y1em0tMS02aDV2N2gtNXYtN3pNOCAyNGgzdi01SDh2NXptLTEtNmg1djdIN3YtN3oiLz48L3N2Zz4nfSwyNDM0MDIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTE5IDVoNXYxaC00djEzaC02di03aC00djEySDV2LTFoNFYxMWg2djdoNFY1WiIvPjwvc3ZnPid9LDk1OTIzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTYgNWg2djRoNHY0aDd2NWgtNXY0SDZWNVptMSAxaDR2M0g3VjZabTAgNHYzaDh2LTNIN1ptMTUgNHYzSDd2LTNoMTVabS01IDd2LTNIN3YzaDEwWiIvPjwvc3ZnPid9LDk4NzAyMShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTEgOWg4djRoNHY1aC00djRINlY1aDV2NFptLTEtM0g3djNoM1Y2Wm04IDEydjNoLTN2LTNoM1ptMS00djNoM3YtM2gtM1ptLTEtMXYtM2gtM3YzaDNabS0zIDFoM3YzaC0zdi0zWm0tMSAwdjNoLTN2LTNoM1ptMCA0djNoLTN2LTNoM1ptMC01aC0zdi0zaDN2M1ptLTQgOHYtM0g3djNoM1ptMC00SDd2LTNoM3YzWm0wLTd2M0g3di0zaDNaIi8+PC9zdmc+J30sNDk5NzI0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04LjcwNyAxM2wyLjY0NyAyLjY0Ni0uNzA3LjcwOEw2Ljc5MiAxMi41bDMuODUzLTMuODU0LjcwOC43MDhMOC43MDcgMTJIMTQuNWE1LjUgNS41IDAgMCAxIDUuNSA1LjVWMTloLTF2LTEuNWE0LjUgNC41IDAgMCAwLTQuNS00LjVIOC43MDd6Ii8+PC9zdmc+J30sNjU5NTA1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE4IDRoMXYzaDMuNWMuMjggMCAuNS4yMi41LjV2MTNhLjUuNSAwIDAgMS0uNS41SDE5djNoLTF2LTNoLTMuNWEuNS41IDAgMCAxLS41LS41di0xM2MwLS4yOC4yMi0uNS41LS41SDE4VjRabS0zIDE2aDdWOGgtN3YxMlpNMTAgN0g5djNINy41YS41LjUgMCAwIDAtLjUuNXY4YzAgLjI4LjIyLjUuNS41SDl2M2gxdi0zaDEuNWEuNS41IDAgMCAwIC41LS41di04YS41LjUgMCAwIDAtLjUtLjVIMTBWN1ptLTEgNEg4djdoM3YtN0g5WiIvPjwvc3ZnPid9LDE5MjQ4MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDRIOHYzSDYuNWEuNS41IDAgMCAwLS41LjV2MTJhLjUuNSAwIDAgMCAuNS41SDh2M2gxdi0zaDEuNWEuNS41IDAgMCAwIC41LS41di0xMmEuNS41IDAgMCAwLS41LS41SDlWNFpNNyA4djExaDNWOEg3Wm03LTFoOXYxaC05VjdabTkgNGgtOXYxaDl2LTFabS05IDRoOXYxaC05di0xWm05IDRoLTl2MWg5di0xWiIvPjwvc3ZnPid9LDM3MjIzOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOSAxN0E4IDggMCAxIDAgOSAxYTggOCAwIDAgMCAwIDE2Wk04IDZhMSAxIDAgMSAxIDIgMCAxIDEgMCAwIDEtMiAwWm0xIDJjLjQ5IDAgMSAuNTkgMSAxdjMuMDFjMCAuNDItLjUxLjk5LTEgLjk5cy0xLS41Ny0xLS45OVY5YzAtLjQxLjUxLTEgMS0xWiIvPjwvc3ZnPid9LDU4Mzg0MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEzLjkgMTQuMVYyMmgxLjJ2LTcuOUgyM3YtMS4yaC03LjlWNWgtMS4ydjcuOUg2djEuMmg3Ljl6Ii8+PC9zdmc+J30sNjA0OTAxKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNCAxNUg0VjNoMTB6bS05LTFoOFY0SDV6bTQuNS04YTIgMiAwIDAgMSAyIDJoLTFhMSAxIDAgMCAwLTEtMUg4LjI1YS43NS43NSAwIDAgMCAwIDEuNWgxLjVhMS43NSAxLjc1IDAgMSAxIDAgMy41SDkuNXYxaC0xdi0xYTIgMiAwIDAgMS0yLTJoMWExIDEgMCAwIDAgMSAxaDEuMjVhLjc1Ljc1IDAgMCAwIDAtMS41aC0xLjVhMS43NSAxLjc1IDAgMSAxIDAtMy41aC4yNVY1aDF6Ii8+PC9zdmc+J30sOTA3OTExKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNCAxNUg0VjNoMTB6bS05LTFoOFY0SDV6bTctMy4yOS0yLjMzIDIuM0w4IDExLjZsLjY1LS43Ny45Ni44MUwxMS4zIDEwek05IDlINlY4aDN6bTMtMkg2VjZoNnoiLz48L3N2Zz4nfSw1NTEyODIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE0IDYuNVYxNUg0VjNoNi41ek01IDE0aDhWNi45MUwxMC4wOSA0SDV6bTQtM0g2di0xaDN6bTMtMkg2VjhoNnoiLz48L3N2Zz4nfSw2MjcwNDEoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0xMS4wNSA2LjE3IDEuMDcgMUE2IDYgMCAwIDEgMTQgMTEuNTVWMTRhMiAyIDAgMCAxLTEuOCAxLjk5TDEyIDE2SDZsLS4yLS4wMUEyIDIgMCAwIDEgNCAxNHYtMi40NkE2IDYgMCAwIDEgNS42NiA3LjRsLjIyLS4yMiAxLjA3LTEuMDFMNiAzaDZ6TTYuNTcgNy45QTUgNSAwIDAgMCA1IDExLjU0VjE0YTEgMSAwIDAgMCAxIDFoNmExIDEgMCAwIDAgMS0xdi0yLjQ2YTUgNSAwIDAgMC0xLjU3LTMuNjNMMTAuNDggN0g3LjUyek03Ljk0IDZoMi4xMmwuNi0ySDcuMzR6Ii8+PC9zdmc+J30sMjM2NDI5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNCAxNEg0VjloM1Y3aDNWNGg0em0tOS0xaDJ2LTNINXptMyAwaDJWOEg4em0zIDBoMlY1aC0yeiIvPjwvc3ZnPid9LDUxNDE0MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNi41IDRjLjg5IDAgMS43Mi4xOCAyLjM1LjUuNi4yOSAxLjE1LjggMS4xNSAxLjV2Mi41OGwuMTYtLjA5QzEwLjc4IDguMTggMTEuNiA4IDEyLjUgOHMxLjcyLjE4IDIuMzUuNWMuNi4yOSAxLjE1LjggMS4xNSAxLjV2Mi4xYzAgLjctLjU5IDEuMTctMS4xNyAxLjQ0LS42Mi4zLTEuNDUuNDYtMi4zMy40NnMtMS43MS0uMTctMi4zMy0uNDZDOS41OSAxMy4yNyA5IDEyLjggOSAxMi4xdi0uNjRsLS4xNy4wOGMtLjYyLjMtMS40NS40Ni0yLjMzLjQ2cy0xLjcxLS4xNy0yLjMzLS40NkMzLjU4IDExLjI3IDMgMTAuOCAzIDEwLjFWNmMwLS43LjU2LTEuMjEgMS4xNi0xLjVDNC43OCA0LjE3IDUuNiA0IDYuNSA0bTMuNSA4LjFjMCAuMDguMDkuMy41OS41My40Ni4yMiAxLjE0LjM3IDEuOTEuMzdzMS40NS0uMTUgMS45MS0uMzdjLjUtLjIzLjU5LS40NS41OS0uNTN2LS42OGwtLjE1LjA5Yy0uNjMuMzEtMS40Ni40OS0yLjM1LjQ5cy0xLjcyLS4xOC0yLjM0LS41bC0uMTYtLjA4ek0xMi41IDljLS43NyAwLTEuNDQuMTYtMS45LjM5LS40OS4yNC0uNi40OS0uNi42MXMuMTEuMzcuNi42MWMuNDYuMjMgMS4xMy4zOSAxLjkuMzlzMS40NC0uMTYgMS45LS4zOWMuNDgtLjI0LjYtLjQ4LjYtLjZWMTBjMC0uMTItLjExLS4zNy0uNi0uNjFBNC40IDQuNCAwIDAgMCAxMi41IDltLTMuNjcuNTRjLS42Mi4zLTEuNDUuNDYtMi4zMy40NkE2IDYgMCAwIDEgNCA5LjQ2di42NGMwIC4wOC4wOS4zLjU5LjUzLjQ2LjIyIDEuMTQuMzcgMS45MS4zN3MxLjQ1LS4xNSAxLjkxLS4zN2MuNS0uMjMuNTktLjQ1LjU5LS41M3YtLjY0ek00IDguMWMwIC4wOC4wOS4zLjU5LjUzLjQ2LjIyIDEuMTQuMzcgMS45MS4zN3MxLjQ1LS4xNSAxLjkxLS4zN2MuNS0uMjMuNTktLjQ1LjU5LS41M3YtLjY4bC0uMTUuMDlDOC4yMiA3LjgyIDcuMzkgOCA2LjUgOHMtMS43Mi0uMTgtMi4zNC0uNUw0IDcuNDN6TTYuNSA1Yy0uNzcgMC0xLjQ0LjE2LTEuOS4zOS0uNDkuMjQtLjYuNDktLjYuNjFzLjExLjM3LjYuNjFjLjQ2LjIzIDEuMTMuMzkgMS45LjM5czEuNDQtLjE2IDEuOS0uMzljLjQ4LS4yNC42LS40OC42LS42VjZjMC0uMTItLjExLS4zNy0uNi0uNjFBNC40IDQuNCAwIDAgMCA2LjUgNSIvPjwvc3ZnPid9LDIwNTQ3MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTQgOWgydjRhMiAyIDAgMCAxLTIgMkg1bC0uMi0uMDFBMiAyIDAgMCAxIDMgMTMuMkwzIDEzVjNoMTF6TTQgMTNhMSAxIDAgMCAwIDEgMWg4VjRINHptMTAgMWExIDEgMCAwIDAgMS0xdi0zaC0xem0tMi0ySDV2LTFoN3pNOCA5SDVWNmgzem00IDBIOVY4aDN6TTYgOGgxVjdINnptNi0xSDlWNmgzeiIvPjwvc3ZnPid9LDcyNzI2OShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNSA4aDUuNDNsMi43LTQuOTguODkuNDgtNS4wMyA5LjI0YS41LjUgMCAwIDEtLjQ0LjI2SDV2M0g0VjJoMXptMCA0aDMuMjVsMS42My0zSDV6bTExLTNoLTMuODdsLjU3LTFIMTZ6Ii8+PC9zdmc+J30sOTIwODgoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0xMy4wNCA2LjQ0LjIuNGMuNDYuOTQuNTggMiAuMzYgMyAuNjUtLjEgMS4yNSAwIDEuOS4yMWwuNS4xNi0uMTguNDhhNC40IDQuNCAwIDAgMS0yLjMgMi40NXEuMzIuNDUuNTIuODZsLjI0LjQzLS40NC4yNHEtLjYzLjM0LTEuMy4zM2MtLjguMDEtMS42LS4zLTIuMi0uODNMMTAgMTVsLS45My0uMzcuMzEtLjc2YTMuMSAzLjEgMCAwIDEtMi45Ny0xLjgxbC0uMTktLjQ2LjQ2LS4ycS40LS4xNy44OC0uMzFhNCA0IDAgMCAxLS4xNy0zLjMybC4xNi0uNDUuNDUuMTRjLjY1LjIgMS4yNC40OCAxLjcuOTlhNSA1IDAgMCAxIDIuMi0yLjAybC40OC0uMjMuNDQtLjJ6bS0uODguOThhNCA0IDAgMCAwLTEuODggMi4xbC0uMDUuMTQtLjQ1IDEuMTUtLjQ4LTEuMTNhMiAyIDAgMCAwLTEuMS0xLjA5Yy0uMjIuOTUtLjAzIDEuODIuNiAyLjUzbC43NC44M2gtMS4xcS0uNDIuMDItLjgzLjE3Yy41NS42NSAxLjU2LjkzIDIuNDIuNjRsLjM3LS4xMy4yMS4zM2EyLjMgMi4zIDAgMCAwIDIuMjcgMS4wMSAyIDIgMCAwIDAtLjU2LS42MmwtMS4wMS0uNjUgMS4xNy0uMjVjLjgtLjE4IDEuNjctLjc3IDIuMTYtMS42YTMgMyAwIDAgMC0xLjYxLjE2bC0xLjEuNDMuNDYtMS4wOC4wNS0uMTNjLjM5LS45NC4zNi0yLS4wOC0yLjkxek04IDQuMDRxLjkxLjEzIDEuNjEuNjdsMS40Mi0xLjQyLjcuNy0xLjQyIDEuNDMtLjcyLjcyYTIuNSAyLjUgMCAxIDAtMy41IDMuNDNsLTEuMDUgMS4xLS42Ni42Ni0uNDguNDgtLjctLjdMNC43IDkuNnEtLjUyLS43LS42Ni0xLjZIMlY3aDIuMDRxLjEzLS44NC42LTEuNTFsLTEuNS0xLjUuNy0uNyAxLjQ4IDEuNDdBMy41IDMuNSAwIDAgMSA3IDQuMDRWMmgxeiIvPjwvc3ZnPid9LDI5MjM2MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOSAzYTcuMDIgNy4wMiAwIDAgMSA2LjUyIDkuNmwtLjE1LjQtMi4zNi0uNTQuMjItLjk4IDEuNS4zNWE2IDYgMCAwIDAtLjE3LTQuMDdsLTEuMTguNjgtLjUtLjg3IDEuMjItLjdhNiA2IDAgMCAwLTQuNi0yLjg1VjUuNWgtMVY0LjAyYTYgNiAwIDAgMC00LjYgMi44NWwxLjIyLjctLjUuODctMS4xOC0uNjhhNiA2IDAgMCAwLS4xNyA0LjA3bDEuNS0uMzUuMTIuNDkuMTEuNDktMS45NS40NC0uNDIuMS0uMTUtLjRBNy4wNiA3LjA2IDAgMCAxIDkgM20zIDMuNTctMi4xIDNBMSAxIDAgMCAxIDkgMTFhMSAxIDAgMSAxIC4wOC0ybDIuMS0zeiIvPjwvc3ZnPid9LDc5MTY5MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNSAxNEg0di0zaDF6bTMgMEg3VjloMXptMyAwaC0xdi0zaDF6bTMgMGgtMVY5aDF6bTEtOS4xOEwxMC4zOCA4IDYuOTkgNS42IDMuNjIgOC4wMyAzIDcuMmw0LTIuODQgMy4zOSAyLjQyTDE0LjQ1IDR6Ii8+PC9zdmc+J30sOTg3OTkyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik01IDEyaDExdjFINXYzSDRWMmgxem05LThjMCAyLjc2LS41MSA0LjUzLTEuNDQgNS42MS0uOTQgMS4xLTIuMjMgMS4zOC0zLjUgMS4zOC0uODggMC0yLjA3LS4yLTMuMDYtLjc2bC41LS44N2MuOC40NSAxLjguNjMgMi41Ny42MyAxLjEzIDAgMi4wNi0uMjQgMi43My0xLjAzLjctLjggMS4yLTIuMjggMS4yLTQuOTZ6Ii8+PC9zdmc+J30sMTU5MjQ1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik01IDE2SDRWMmgxek0xNSA1LjVsLTIuNjYgMi40OS0uNjgtLjczTDEyLjkgNi4xQTcgNyAwIDAgMCA4LjI3IDlhNyA3IDAgMCAwIDQuNjQgMi45MWwtMS4yNS0xLjE3LjY4LS43M0wxNSAxMi41IDEyLjM0IDE1bC0uNjgtLjc0IDEuNC0xLjMyYTggOCAwIDAgMS01LjM0LTNBNyA3IDAgMCAwIDcgMTMuMDJWMTRINnYtLjk3YzAtNC4xMSAzLjA5LTcuNSA3LjA2LTcuOTdsLTEuNC0xLjMyLjY4LS43NHpNNyA0di45NnEwIDEuMS4zMSAyLjEtLjM5LjQyLS43My45YTggOCAwIDAgMS0uNTgtM1Y0eiIvPjwvc3ZnPid9LDI2MDYwMyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5hfSk7Y29uc3QgYT1mdW5jdGlvbigpe3ZhciBlPXtiYXNlOiJodHRwczovL3R3ZW1vamkubWF4Y2RuLmNvbS92LzEzLjAuMS8iLGV4dDoiLnBuZyIsc2l6ZToiNzJ4NzIiLGNsYXNzTmFtZToiZW1vamkiLGNvbnZlcnQ6e2Zyb21Db2RlUG9pbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9InN0cmluZyI9PXR5cGVvZiBlP3BhcnNlSW50KGUsMTYpOmU7aWYodDw2NTUzNilyZXR1cm4gbCh0KTtyZXR1cm4gbCg1NTI5NisoKHQtPTY1NTM2KT4+MTApLDU2MzIwKygxMDIzJnQpKX0sdG9Db2RlUG9pbnQ6Z30sb25lcnJvcjpmdW5jdGlvbigpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChyKHRoaXMuYWx0LCExKSx0aGlzKX0scGFyc2U6ZnVuY3Rpb24odCxuKXtuJiYiZnVuY3Rpb24iIT10eXBlb2Ygbnx8KG49e2NhbGxiYWNrOm59KTtyZXR1cm4oInN0cmluZyI9PXR5cGVvZiB0P3Y6aCkodCx7Y2FsbGJhY2s6bi5jYWxsYmFja3x8ZCxhdHRyaWJ1dGVzOiJmdW5jdGlvbiI9PXR5cGVvZiBuLmF0dHJpYnV0ZXM/bi5hdHRyaWJ1dGVzOnAsYmFzZToic3RyaW5nIj09dHlwZW9mIG4uYmFzZT9uLmJhc2U6ZS5iYXNlLApleHQ6bi5leHR8fGUuZXh0LHNpemU6bi5mb2xkZXJ8fChhPW4uc2l6ZXx8ZS5zaXplLCJudW1iZXIiPT10eXBlb2YgYT9hKyJ4IithOmEpLGNsYXNzTmFtZTpuLmNsYXNzTmFtZXx8ZS5jbGFzc05hbWUsb25lcnJvcjpuLm9uZXJyb3J8fGUub25lcnJvcn0pO3ZhciBhfSxyZXBsYWNlOmYsdGVzdDpmdW5jdGlvbihlKXtuLmxhc3RJbmRleD0wO3ZhciB0PW4udGVzdChlKTtyZXR1cm4gbi5sYXN0SW5kZXg9MCx0fX0sdD17IiYiOiImYW1wOyIsIjwiOiImbHQ7IiwiPiI6IiZndDsiLCInIjoiJiMzOTsiLCciJzoiJnF1b3Q7Igp9LG49Lyg/Olx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmYlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmMtXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmNcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiXHVkZmZkLVx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZkXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYlx1ZGZmY1x1ZGZmZVx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZlXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmRcdWRmZmZdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmZlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZlXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmJcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZjLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZiXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYy1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmY1x1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmJcdWRmZmQtXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmNcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiXHVkZmZkLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZkXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYlx1ZGZmY1x1ZGZmZVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZkXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYlx1ZGZmY1x1ZGZmZVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZlXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmRcdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZVx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmItXHVkZmZkXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmZcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZV18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZmXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYi1cdWRmZmVdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmYlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmNcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZkXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmZVx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmZcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNlXHVkZGQxXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxfFx1ZDgzZFx1ZGM2Ylx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RcdWRjNmNcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkXHVkYzZkXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFtcdWRjNmItXHVkYzZkXSl8KD86XHVkODNkW1x1ZGM2OFx1ZGM2OV18XHVkODNlXHVkZGQxKSg/Olx1ZDgzY1tcdWRmZmItXHVkZmZmXSk/XHUyMDBkKD86XHUyNjk1XHVmZTBmfFx1MjY5Nlx1ZmUwZnxcdTI3MDhcdWZlMGZ8XHVkODNjW1x1ZGYzZVx1ZGY3M1x1ZGY3Y1x1ZGY4NFx1ZGY5M1x1ZGZhNFx1ZGZhOFx1ZGZlYlx1ZGZlZF18XHVkODNkW1x1ZGNiYlx1ZGNiY1x1ZGQyN1x1ZGQyY1x1ZGU4MFx1ZGU5Ml18XHVkODNlW1x1ZGRhZi1cdWRkYjNcdWRkYmNcdWRkYmRdKXwoPzpcdWQ4M2NbXHVkZmNiXHVkZmNjXXxcdWQ4M2RbXHVkZDc0XHVkZDc1XXxcdTI2ZjkpKCg/Olx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWZlMGYpXHUyMDBkW1x1MjY0MFx1MjY0Ml1cdWZlMGYpfCg/Olx1ZDgzY1tcdWRmYzNcdWRmYzRcdWRmY2FdfFx1ZDgzZFtcdWRjNmVcdWRjNzBcdWRjNzFcdWRjNzNcdWRjNzdcdWRjODFcdWRjODJcdWRjODZcdWRjODdcdWRlNDUtXHVkZTQ3XHVkZTRiXHVkZTRkXHVkZTRlXHVkZWEzXHVkZWI0LVx1ZGViNl18XHVkODNlW1x1ZGQyNlx1ZGQzNVx1ZGQzNy1cdWRkMzlcdWRkM2RcdWRkM2VcdWRkYjhcdWRkYjlcdWRkY2QtXHVkZGNmXHVkZGQ2LVx1ZGRkZF0pKD86XHVkODNjW1x1ZGZmYi1cdWRmZmZdKT9cdTIwMGRbXHUyNjQwXHUyNjQyXVx1ZmUwZnwoPzpcdWQ4M2RcdWRjNjhcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjOGJcdTIwMGRcdWQ4M2RcdWRjNjh8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NnxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjOGJcdTIwMGRcdWQ4M2RbXHVkYzY4XHVkYzY5XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjZ8XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY4XHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzY4fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NnxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RbXHVkYzY4XHVkYzY5XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjZ8XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNjXHVkZmYzXHVmZTBmXHUyMDBkXHUyNmE3XHVmZTBmfFx1ZDgzY1x1ZGZmM1x1ZmUwZlx1MjAwZFx1ZDgzY1x1ZGYwOHxcdWQ4M2NcdWRmZjRcdTIwMGRcdTI2MjBcdWZlMGZ8XHVkODNkXHVkYzE1XHUyMDBkXHVkODNlXHVkZGJhfFx1ZDgzZFx1ZGMzYlx1MjAwZFx1Mjc0NFx1ZmUwZnxcdWQ4M2RcdWRjNDFcdTIwMGRcdWQ4M2RcdWRkZTh8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzZmXHUyMDBkXHUyNjQwXHVmZTBmfFx1ZDgzZFx1ZGM2Zlx1MjAwZFx1MjY0Mlx1ZmUwZnxcdWQ4M2VcdWRkM2NcdTIwMGRcdTI2NDBcdWZlMGZ8XHVkODNlXHVkZDNjXHUyMDBkXHUyNjQyXHVmZTBmfFx1ZDgzZVx1ZGRkZVx1MjAwZFx1MjY0MFx1ZmUwZnxcdWQ4M2VcdWRkZGVcdTIwMGRcdTI2NDJcdWZlMGZ8XHVkODNlXHVkZGRmXHUyMDBkXHUyNjQwXHVmZTBmfFx1ZDgzZVx1ZGRkZlx1MjAwZFx1MjY0Mlx1ZmUwZnxcdWQ4M2RcdWRjMDhcdTIwMGRcdTJiMWIpfFsjKjAtOV1cdWZlMGY/XHUyMGUzfCg/OlvCqcKuXHUyMTIyXHUyNjVmXVx1ZmUwZil8KD86XHVkODNjW1x1ZGMwNFx1ZGQ3MFx1ZGQ3MVx1ZGQ3ZVx1ZGQ3Zlx1ZGUwMlx1ZGUxYVx1ZGUyZlx1ZGUzN1x1ZGYyMVx1ZGYyNC1cdWRmMmNcdWRmMzZcdWRmN2RcdWRmOTZcdWRmOTdcdWRmOTktXHVkZjliXHVkZjllXHVkZjlmXHVkZmNkXHVkZmNlXHVkZmQ0LVx1ZGZkZlx1ZGZmM1x1ZGZmNVx1ZGZmN118XHVkODNkW1x1ZGMzZlx1ZGM0MVx1ZGNmZFx1ZGQ0OVx1ZGQ0YVx1ZGQ2Zlx1ZGQ3MFx1ZGQ3M1x1ZGQ3Ni1cdWRkNzlcdWRkODdcdWRkOGEtXHVkZDhkXHVkZGE1XHVkZGE4XHVkZGIxXHVkZGIyXHVkZGJjXHVkZGMyLVx1ZGRjNFx1ZGRkMS1cdWRkZDNcdWRkZGMtXHVkZGRlXHVkZGUxXHVkZGUzXHVkZGU4XHVkZGVmXHVkZGYzXHVkZGZhXHVkZWNiXHVkZWNkLVx1ZGVjZlx1ZGVlMC1cdWRlZTVcdWRlZTlcdWRlZjBcdWRlZjNdfFtcdTIwM2NcdTIwNDlcdTIxMzlcdTIxOTQtXHUyMTk5XHUyMWE5XHUyMWFhXHUyMzFhXHUyMzFiXHUyMzI4XHUyM2NmXHUyM2VkLVx1MjNlZlx1MjNmMVx1MjNmMlx1MjNmOC1cdTIzZmFcdTI0YzJcdTI1YWFcdTI1YWJcdTI1YjZcdTI1YzBcdTI1ZmItXHUyNWZlXHUyNjAwLVx1MjYwNFx1MjYwZVx1MjYxMVx1MjYxNFx1MjYxNVx1MjYxOFx1MjYyMFx1MjYyMlx1MjYyM1x1MjYyNlx1MjYyYVx1MjYyZVx1MjYyZlx1MjYzOC1cdTI2M2FcdTI2NDBcdTI2NDJcdTI2NDgtXHUyNjUzXHUyNjYwXHUyNjYzXHUyNjY1XHUyNjY2XHUyNjY4XHUyNjdiXHUyNjdmXHUyNjkyLVx1MjY5N1x1MjY5OVx1MjY5Ylx1MjY5Y1x1MjZhMFx1MjZhMVx1MjZhN1x1MjZhYVx1MjZhYlx1MjZiMFx1MjZiMVx1MjZiZFx1MjZiZVx1MjZjNFx1MjZjNVx1MjZjOFx1MjZjZlx1MjZkMVx1MjZkM1x1MjZkNFx1MjZlOVx1MjZlYVx1MjZmMC1cdTI2ZjVcdTI2ZjhcdTI2ZmFcdTI2ZmRcdTI3MDJcdTI3MDhcdTI3MDlcdTI3MGZcdTI3MTJcdTI3MTRcdTI3MTZcdTI3MWRcdTI3MjFcdTI3MzNcdTI3MzRcdTI3NDRcdTI3NDdcdTI3NTdcdTI3NjNcdTI3NjRcdTI3YTFcdTI5MzRcdTI5MzVcdTJiMDUtXHUyYjA3XHUyYjFiXHUyYjFjXHUyYjUwXHUyYjU1XHUzMDMwXHUzMDNkXHUzMjk3XHUzMjk5XSkoPzpcdWZlMGZ8KD8hXHVmZTBlKSl8KD86KD86XHVkODNjW1x1ZGZjYlx1ZGZjY118XHVkODNkW1x1ZGQ3NFx1ZGQ3NVx1ZGQ5MF18W1x1MjYxZFx1MjZmN1x1MjZmOVx1MjcwY1x1MjcwZF0pKD86XHVmZTBmfCg/IVx1ZmUwZSkpfCg/Olx1ZDgzY1tcdWRmODVcdWRmYzItXHVkZmM0XHVkZmM3XHVkZmNhXXxcdWQ4M2RbXHVkYzQyXHVkYzQzXHVkYzQ2LVx1ZGM1MFx1ZGM2Ni1cdWRjNjlcdWRjNmVcdWRjNzAtXHVkYzc4XHVkYzdjXHVkYzgxLVx1ZGM4M1x1ZGM4NS1cdWRjODdcdWRjYWFcdWRkN2FcdWRkOTVcdWRkOTZcdWRlNDUtXHVkZTQ3XHVkZTRiLVx1ZGU0Zlx1ZGVhM1x1ZGViNC1cdWRlYjZcdWRlYzBcdWRlY2NdfFx1ZDgzZVtcdWRkMGNcdWRkMGZcdWRkMTgtXHVkZDFjXHVkZDFlXHVkZDFmXHVkZDI2XHVkZDMwLVx1ZGQzOVx1ZGQzZFx1ZGQzZVx1ZGQ3N1x1ZGRiNVx1ZGRiNlx1ZGRiOFx1ZGRiOVx1ZGRiYlx1ZGRjZC1cdWRkY2ZcdWRkZDEtXHVkZGRkXXxbXHUyNzBhXHUyNzBiXSkpKD86XHVkODNjW1x1ZGZmYi1cdWRmZmZdKT98KD86XHVkODNjXHVkZmY0XHVkYjQwXHVkYzY3XHVkYjQwXHVkYzYyXHVkYjQwXHVkYzY1XHVkYjQwXHVkYzZlXHVkYjQwXHVkYzY3XHVkYjQwXHVkYzdmfFx1ZDgzY1x1ZGZmNFx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM2Mlx1ZGI0MFx1ZGM3M1x1ZGI0MFx1ZGM2M1x1ZGI0MFx1ZGM3NFx1ZGI0MFx1ZGM3ZnxcdWQ4M2NcdWRmZjRcdWRiNDBcdWRjNjdcdWRiNDBcdWRjNjJcdWRiNDBcdWRjNzdcdWRiNDBcdWRjNmNcdWRiNDBcdWRjNzNcdWRiNDBcdWRjN2Z8XHVkODNjXHVkZGU2XHVkODNjW1x1ZGRlOC1cdWRkZWNcdWRkZWVcdWRkZjFcdWRkZjJcdWRkZjRcdWRkZjYtXHVkZGZhXHVkZGZjXHVkZGZkXHVkZGZmXXxcdWQ4M2NcdWRkZTdcdWQ4M2NbXHVkZGU2XHVkZGU3XHVkZGU5LVx1ZGRlZlx1ZGRmMS1cdWRkZjRcdWRkZjYtXHVkZGY5XHVkZGZiXHVkZGZjXHVkZGZlXHVkZGZmXXxcdWQ4M2NcdWRkZThcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGU5XHVkZGViLVx1ZGRlZVx1ZGRmMC1cdWRkZjVcdWRkZjdcdWRkZmEtXHVkZGZmXXxcdWQ4M2NcdWRkZTlcdWQ4M2NbXHVkZGVhXHVkZGVjXHVkZGVmXHVkZGYwXHVkZGYyXHVkZGY0XHVkZGZmXXxcdWQ4M2NcdWRkZWFcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGVhXHVkZGVjXHVkZGVkXHVkZGY3LVx1ZGRmYV18XHVkODNjXHVkZGViXHVkODNjW1x1ZGRlZS1cdWRkZjBcdWRkZjJcdWRkZjRcdWRkZjddfFx1ZDgzY1x1ZGRlY1x1ZDgzY1tcdWRkZTZcdWRkZTdcdWRkZTktXHVkZGVlXHVkZGYxLVx1ZGRmM1x1ZGRmNS1cdWRkZmFcdWRkZmNcdWRkZmVdfFx1ZDgzY1x1ZGRlZFx1ZDgzY1tcdWRkZjBcdWRkZjJcdWRkZjNcdWRkZjdcdWRkZjlcdWRkZmFdfFx1ZDgzY1x1ZGRlZVx1ZDgzY1tcdWRkZTgtXHVkZGVhXHVkZGYxLVx1ZGRmNFx1ZGRmNi1cdWRkZjldfFx1ZDgzY1x1ZGRlZlx1ZDgzY1tcdWRkZWFcdWRkZjJcdWRkZjRcdWRkZjVdfFx1ZDgzY1x1ZGRmMFx1ZDgzY1tcdWRkZWFcdWRkZWMtXHVkZGVlXHVkZGYyXHVkZGYzXHVkZGY1XHVkZGY3XHVkZGZjXHVkZGZlXHVkZGZmXXxcdWQ4M2NcdWRkZjFcdWQ4M2NbXHVkZGU2LVx1ZGRlOFx1ZGRlZVx1ZGRmMFx1ZGRmNy1cdWRkZmJcdWRkZmVdfFx1ZDgzY1x1ZGRmMlx1ZDgzY1tcdWRkZTZcdWRkZTgtXHVkZGVkXHVkZGYwLVx1ZGRmZl18XHVkODNjXHVkZGYzXHVkODNjW1x1ZGRlNlx1ZGRlOFx1ZGRlYS1cdWRkZWNcdWRkZWVcdWRkZjFcdWRkZjRcdWRkZjVcdWRkZjdcdWRkZmFcdWRkZmZdfFx1ZDgzY1x1ZGRmNFx1ZDgzY1x1ZGRmMnxcdWQ4M2NcdWRkZjVcdWQ4M2NbXHVkZGU2XHVkZGVhLVx1ZGRlZFx1ZGRmMC1cdWRkZjNcdWRkZjctXHVkZGY5XHVkZGZjXHVkZGZlXXxcdWQ4M2NcdWRkZjZcdWQ4M2NcdWRkZTZ8XHVkODNjXHVkZGY3XHVkODNjW1x1ZGRlYVx1ZGRmNFx1ZGRmOFx1ZGRmYVx1ZGRmY118XHVkODNjXHVkZGY4XHVkODNjW1x1ZGRlNi1cdWRkZWFcdWRkZWMtXHVkZGY0XHVkZGY3LVx1ZGRmOVx1ZGRmYlx1ZGRmZC1cdWRkZmZdfFx1ZDgzY1x1ZGRmOVx1ZDgzY1tcdWRkZTZcdWRkZThcdWRkZTlcdWRkZWItXHVkZGVkXHVkZGVmLVx1ZGRmNFx1ZGRmN1x1ZGRmOVx1ZGRmYlx1ZGRmY1x1ZGRmZl18XHVkODNjXHVkZGZhXHVkODNjW1x1ZGRlNlx1ZGRlY1x1ZGRmMlx1ZGRmM1x1ZGRmOFx1ZGRmZVx1ZGRmZl18XHVkODNjXHVkZGZiXHVkODNjW1x1ZGRlNlx1ZGRlOFx1ZGRlYVx1ZGRlY1x1ZGRlZVx1ZGRmM1x1ZGRmYV18XHVkODNjXHVkZGZjXHVkODNjW1x1ZGRlYlx1ZGRmOF18XHVkODNjXHVkZGZkXHVkODNjXHVkZGYwfFx1ZDgzY1x1ZGRmZVx1ZDgzY1tcdWRkZWFcdWRkZjldfFx1ZDgzY1x1ZGRmZlx1ZDgzY1tcdWRkZTZcdWRkZjJcdWRkZmNdfFx1ZDgzY1tcdWRjY2ZcdWRkOGVcdWRkOTEtXHVkZDlhXHVkZGU2LVx1ZGRmZlx1ZGUwMVx1ZGUzMi1cdWRlMzZcdWRlMzgtXHVkZTNhXHVkZTUwXHVkZTUxXHVkZjAwLVx1ZGYyMFx1ZGYyZC1cdWRmMzVcdWRmMzctXHVkZjdjXHVkZjdlLVx1ZGY4NFx1ZGY4Ni1cdWRmOTNcdWRmYTAtXHVkZmMxXHVkZmM1XHVkZmM2XHVkZmM4XHVkZmM5XHVkZmNmLVx1ZGZkM1x1ZGZlMC1cdWRmZjBcdWRmZjRcdWRmZjgtXHVkZmZmXXxcdWQ4M2RbXHVkYzAwLVx1ZGMzZVx1ZGM0MFx1ZGM0NFx1ZGM0NVx1ZGM1MS1cdWRjNjVcdWRjNmFcdWRjNmZcdWRjNzktXHVkYzdiXHVkYzdkLVx1ZGM4MFx1ZGM4NFx1ZGM4OC1cdWRjYTlcdWRjYWItXHVkY2ZjXHVkY2ZmLVx1ZGQzZFx1ZGQ0Yi1cdWRkNGVcdWRkNTAtXHVkZDY3XHVkZGE0XHVkZGZiLVx1ZGU0NFx1ZGU0OC1cdWRlNGFcdWRlODAtXHVkZWEyXHVkZWE0LVx1ZGViM1x1ZGViNy1cdWRlYmZcdWRlYzEtXHVkZWM1XHVkZWQwLVx1ZGVkMlx1ZGVkNS1cdWRlZDdcdWRlZWJcdWRlZWNcdWRlZjQtXHVkZWZjXHVkZmUwLVx1ZGZlYl18XHVkODNlW1x1ZGQwZFx1ZGQwZVx1ZGQxMC1cdWRkMTdcdWRkMWRcdWRkMjAtXHVkZDI1XHVkZDI3LVx1ZGQyZlx1ZGQzYVx1ZGQzY1x1ZGQzZi1cdWRkNDVcdWRkNDctXHVkZDc2XHVkZDc4XHVkZDdhLVx1ZGRiNFx1ZGRiN1x1ZGRiYVx1ZGRiYy1cdWRkY2JcdWRkZDBcdWRkZGUtXHVkZGZmXHVkZTcwLVx1ZGU3NFx1ZGU3OC1cdWRlN2FcdWRlODAtXHVkZTg2XHVkZTkwLVx1ZGVhOFx1ZGViMC1cdWRlYjZcdWRlYzAtXHVkZWMyXHVkZWQwLVx1ZGVkNl18W1x1MjNlOS1cdTIzZWNcdTIzZjBcdTIzZjNcdTI2N2VcdTI2Y2VcdTI3MDVcdTI3MjhcdTI3NGNcdTI3NGVcdTI3NTMtXHUyNzU1XHUyNzk1LVx1Mjc5N1x1MjdiMFx1MjdiZlx1ZTUwYV0pfFx1ZmUwZi9nLGE9L1x1RkUwRi9nLGk9U3RyaW5nLmZyb21DaGFyQ29kZSg4MjA1KSxvPS9bJjw+JyJdL2cscz0vXig/OmlmcmFtZXxub2ZyYW1lc3xub3NjcmlwdHxzY3JpcHR8c2VsZWN0fHN0eWxlfHRleHRhcmVhKSQvLGw9U3RyaW5nLmZyb21DaGFyQ29kZQo7cmV0dXJuIGU7ZnVuY3Rpb24gcihlLHQpe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0P2UucmVwbGFjZShhLCIiKTplKX1mdW5jdGlvbiBkKGUsdCl7cmV0dXJuIiIuY29uY2F0KHQuYmFzZSx0LnNpemUsIi8iLGUsdC5leHQpfWZ1bmN0aW9uIHUoZSx0KXtmb3IodmFyIG4sYSxpPWUuY2hpbGROb2RlcyxvPWkubGVuZ3RoO28tLTspMz09PShhPShuPWlbb10pLm5vZGVUeXBlKT90LnB1c2gobik6MSE9PWF8fCJvd25lclNWR0VsZW1lbnQiaW4gbnx8cy50ZXN0KG4ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl8fHUobix0KTtyZXR1cm4gdH1mdW5jdGlvbiBjKGUpe3JldHVybiBnKGUuaW5kZXhPZihpKTwwP2UucmVwbGFjZShhLCIiKTplKX1mdW5jdGlvbiBoKGUsdCl7Zm9yKHZhciBhLGksbyxzLGwsZCxoLHYsbSxwLGYsZyxiLHc9dShlLFtdKSxDPXcubGVuZ3RoO0MtLTspe2ZvcihvPSExLHM9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLGQ9KGw9d1tDXSkubm9kZVZhbHVlLHY9MDtoPW4uZXhlYyhkKTspe2lmKChtPWguaW5kZXgpIT09diYmcy5hcHBlbmRDaGlsZChyKGQuc2xpY2UodixtKSwhMCkpLGc9YyhmPWhbMF0pLHY9bStmLmxlbmd0aCxiPXQuY2FsbGJhY2soZyx0KSxnJiZiKXtmb3IoaSBpbihwPW5ldyBJbWFnZSkub25lcnJvcj10Lm9uZXJyb3IscC5zZXRBdHRyaWJ1dGUoImRyYWdnYWJsZSIsImZhbHNlIiksYT10LmF0dHJpYnV0ZXMoZixnKSlhLmhhc093blByb3BlcnR5KGkpJiYwIT09aS5pbmRleE9mKCJvbiIpJiYhcC5oYXNBdHRyaWJ1dGUoaSkmJnAuc2V0QXR0cmlidXRlKGksYVtpXSk7cC5jbGFzc05hbWU9dC5jbGFzc05hbWUscC5hbHQ9ZixwLnNyYz1iLG89ITAscy5hcHBlbmRDaGlsZChwKX1wfHxzLmFwcGVuZENoaWxkKHIoZiwhMSkpLHA9bnVsbH1vJiYodjxkLmxlbmd0aCYmcy5hcHBlbmRDaGlsZChyKGQuc2xpY2UodiksITApKSxsLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKHMsbCkpfXJldHVybiBlfWZ1bmN0aW9uIHYoZSx0KXtyZXR1cm4gZihlLChmdW5jdGlvbihlKXt2YXIgbixhLGk9ZSxzPWMoZSksbD10LmNhbGxiYWNrKHMsdCk7aWYocyYmbCl7Zm9yKGEgaW4gaT0iPGltZyAiLmNvbmNhdCgnY2xhc3M9IicsdC5jbGFzc05hbWUsJyIgJywnZHJhZ2dhYmxlPSJmYWxzZSIgJywnYWx0PSInLGUsJyInLCcgc3JjPSInLGwsJyInKSxuPXQuYXR0cmlidXRlcyhlLHMpKW4uaGFzT3duUHJvcGVydHkoYSkmJjAhPT1hLmluZGV4T2YoIm9uIikmJi0xPT09aS5pbmRleE9mKCIgIithKyI9IikmJihpPWkuY29uY2F0KCIgIixhLCc9IicsblthXS5yZXBsYWNlKG8sbSksJyInKSk7aT1pLmNvbmNhdCgiLz4iKX1yZXR1cm4gaX0pKX1mdW5jdGlvbiBtKGUpe3JldHVybiB0W2VdfWZ1bmN0aW9uIHAoKXtyZXR1cm4gbnVsbH1mdW5jdGlvbiBmKGUsdCl7cmV0dXJuIFN0cmluZyhlKS5yZXBsYWNlKG4sdCl9ZnVuY3Rpb24gZyhlLHQpe2Zvcih2YXIgbj1bXSxhPTAsaT0wLG89MDtvPGUubGVuZ3RoOylhPWUuY2hhckNvZGVBdChvKyspLGk/KG4ucHVzaCgoNjU1MzYrKGktNTUyOTY8PDEwKSsoYS01NjMyMCkpLnRvU3RyaW5nKDE2KSksaT0wKTo1NTI5Njw9YSYmYTw9NTYzMTk/aT1hOm4ucHVzaChhLnRvU3RyaW5nKDE2KSk7cmV0dXJuIG4uam9pbih0fHwiLSIpfX0oKX0sODU2NzcwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse25hbm9pZDooKT0+YX0pO2xldCBhPShlPTIxKT0+Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheShlKSkucmVkdWNlKCgoZSx0KT0+ZSs9KHQmPTYzKTwzNj90LnRvU3RyaW5nKDM2KTp0PDYyPyh0LTI2KS50b1N0cmluZygzNikudG9VcHBlckNhc2UoKTp0PjYyPyItIjoiXyIpLCIiKX19XSk7"}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/9744.70b5126495f7adccaf2f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.135Z","timestamp":1785141585135,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/9744.70b5126495f7adccaf2f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-24e5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5d59531f9c8410f9f7da7191a3889d24\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9445,"size_decoded":2374,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (9445), with no line terminators","md5":"e85054f61b2aae19eb5655a8b5753ccf","sha1":"adb2ce277cc485f09be120c0ae884d4b9154b140","sha256":"d7a8f00301eac644b8cac4b8ea7b0b04dbacddbc688774477d9e983a3557804a","sha512":"8e005752074215525bc16172bb9fcaf43c941243421c2f5189315000b76070bd45d1c97eaab71581d488e40e5871ea500899ad0811f59a24b82200d206d31161","ssdeep":"192:eYck2zebkPJJYrCkF9oCNkElJuBqr3i7h:aBJCrT9oIlJuBqji7h","tlshash":"0412cceb77506c7cb92b753a1b2c61e11bc09d3dba12efb7fe395c2901c27121099626","first_seen":"2026-07-19T21:33:33.835152Z","last_seen":"2026-07-27T12:48:39.77979Z","times_seen":57,"resource_available":false,"data":"LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04ze2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4OjAgMCBhdXRvO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWF4LXdpZHRoOjEwMCU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdWktbGliLXJvdW5kVGFiLWNvbG9yLWJnLHZhcigtLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnKSk7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1yb3VuZFRhYi1jb2xvci1ib3JkZXIsdmFyKC0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItYm9yZGVyKSk7Y29sb3I6dmFyKC0tdWktbGliLXJvdW5kVGFiLWNvbG9yLWNvbnRlbnQsdmFyKC0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItY29udGVudCkpO291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMzpmb2N1c3tvdXRsaW5lOm5vbmV9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMzphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDEwcHgpO2luc2V0LWlubGluZS1zdGFydDotNXB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi01cHg7d2lkdGg6Y2FsYygxMDAlICsgMTBweCk7ei1pbmRleDoxfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMzpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMzpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMzphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKX0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuZGlzYWJsZUZvY3VzT3V0bGluZS1XYTZUbUdOMzphZnRlcntkaXNwbGF5Om5vbmV9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmVuYWJsZUN1cnNvclBvaW50ZXItV2E2VG1HTjN7Y3Vyc29yOnBvaW50ZXJ9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtc3RhcnQ6dmFyKC0tdWktbGliLXJvdW5kVGFiLW1hcmdpbil9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmxhcmdlLVdhNlRtR04ze2JvcmRlci1yYWRpdXM6MjRweDtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMjNweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMubGFyZ2UtV2E2VG1HTjM6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czoyOHB4fS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5sYXJnZS1XYTZUbUdOMy5pY29uT25seS1XYTZUbUdOMywucm91bmRUYWJCdXR0b24tV2E2VG1HTjMubGFyZ2UtV2E2VG1HTjMud2l0aFN0YXJ0SWNvbi1XYTZUbUdOM3twYWRkaW5nLWlubGluZS1zdGFydDoxNXB4fS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5sYXJnZS1XYTZUbUdOMy5pY29uT25seS1XYTZUbUdOMywucm91bmRUYWJCdXR0b24tV2E2VG1HTjMubGFyZ2UtV2E2VG1HTjMud2l0aEVuZEljb24tV2E2VG1HTjN7cGFkZGluZy1pbmxpbmUtZW5kOjE1cHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmxhcmdlLVdhNlRtR04zOm5vdCguaWNvbk9ubHktV2E2VG1HTjMpIC5zdGFydEljb25XcmFwLVdhNlRtR04ze21hcmdpbi1pbmxpbmUtZW5kOjRweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMubGFyZ2UtV2E2VG1HTjMgLmVuZEljb25XcmFwLVdhNlRtR04ze21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5zbWFsbC1XYTZUbUdOM3tib3JkZXItcmFkaXVzOjE3cHg7aGVpZ2h0OjM0cHg7cGFkZGluZzowIDE1cHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnNtYWxsLVdhNlRtR04zOmFmdGVye2JvcmRlci1yYWRpdXM6MjFweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuc21hbGwtV2E2VG1HTjMuaWNvbk9ubHktV2E2VG1HTjMsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnNtYWxsLVdhNlRtR04zLndpdGhTdGFydEljb24tV2E2VG1HTjN7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MTFweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuc21hbGwtV2E2VG1HTjMuaWNvbk9ubHktV2E2VG1HTjMsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnNtYWxsLVdhNlRtR04zLndpdGhFbmRJY29uLVdhNlRtR04ze3BhZGRpbmctaW5saW5lLWVuZDoxMXB4fS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5zbWFsbC1XYTZUbUdOMzpub3QoLmljb25Pbmx5LVdhNlRtR04zKSAuc3RhcnRJY29uV3JhcC1XYTZUbUdOM3ttYXJnaW4taW5saW5lLWVuZDo0cHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnNtYWxsLVdhNlRtR04zIC5lbmRJY29uV3JhcC1XYTZUbUdOM3ttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMueHNtYWxsLVdhNlRtR04ze2JvcmRlci1yYWRpdXM6MTRweDtoZWlnaHQ6MjhweDtwYWRkaW5nOjAgMTFweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMueHNtYWxsLVdhNlRtR04zOmFmdGVye2JvcmRlci1yYWRpdXM6MThweH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMueHNtYWxsLVdhNlRtR04zLmljb25Pbmx5LVdhNlRtR04zLC5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy54c21hbGwtV2E2VG1HTjMud2l0aFN0YXJ0SWNvbi1XYTZUbUdOM3twYWRkaW5nLWlubGluZS1zdGFydDo3cHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnhzbWFsbC1XYTZUbUdOMy5pY29uT25seS1XYTZUbUdOMywucm91bmRUYWJCdXR0b24tV2E2VG1HTjMueHNtYWxsLVdhNlRtR04zLndpdGhFbmRJY29uLVdhNlRtR04ze3BhZGRpbmctaW5saW5lLWVuZDo3cHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnhzbWFsbC1XYTZUbUdOMzpub3QoLmljb25Pbmx5LVdhNlRtR04zKSAuc3RhcnRJY29uV3JhcC1XYTZUbUdOM3ttYXJnaW4taW5saW5lLWVuZDo0cHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnhzbWFsbC1XYTZUbUdOMyAuZW5kSWNvbldyYXAtV2E2VG1HTjN7bWFyZ2luLWlubGluZS1zdGFydDoycHh9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmxhcmdlLVdhNlRtR04ze2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMubGFyZ2UtV2E2VG1HTjMsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnNtYWxsLVdhNlRtR04ze2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5zbWFsbC1XYTZUbUdOM3tmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDB9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnhzbWFsbC1XYTZUbUdOM3tmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnByaW1hcnktV2E2VG1HTjN7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpOy0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucm91bmRUYWJCdXR0b24tV2E2VG1HTjMucHJpbWFyeS1XYTZUbUdOMzpob3Zlcjpub3QoLmRpc2FibGVkLVdhNlRtR04zKTpub3QoLnNlbGVjdGVkLVdhNlRtR04zKXstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkKX19LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnByaW1hcnktV2E2VG1HTjM6YWN0aXZlOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLVdhNlRtR04zKTpub3QoLmRpc2FibGVkLVdhNlRtR04zKXstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpOy0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpOy0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQpfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5wcmltYXJ5LVdhNlRtR04zLnNlbGVjdGVkLVdhNlRtR04zLC5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5wcmltYXJ5LVdhNlRtR04zLnNlbGVjdGVkLVdhNlRtR04zOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLVdhNlRtR04zKTpub3QoLmRpc2FibGVkLVdhNlRtR04zKXstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5naG9zdC1XYTZUbUdOM3stLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5naG9zdC1XYTZUbUdOMzpob3Zlcjpub3QoLmRpc2FibGVkLVdhNlRtR04zKTpub3QoLnNlbGVjdGVkLVdhNlRtR04zKXstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkKX19LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmdob3N0LVdhNlRtR04zOmFjdGl2ZTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1XYTZUbUdOMyk6bm90KC5kaXNhYmxlZC1XYTZUbUdOMyl7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkKX0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuZ2hvc3QtV2E2VG1HTjMuc2VsZWN0ZWQtV2E2VG1HTjMsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmdob3N0LVdhNlRtR04zLnNlbGVjdGVkLVdhNlRtR04zOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLVdhNlRtR04zKTpub3QoLmRpc2FibGVkLVdhNlRtR04zKXstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1oZWF2eSk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5wcmltYXJ5LVdhNlRtR04zLmRpc2FibGVkLVdhNlRtR04zLC5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5wcmltYXJ5LVdhNlRtR04zW2FyaWEtZGlzYWJsZWQ9dHJ1ZV17Y3Vyc29yOmRlZmF1bHR9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnByaW1hcnktV2E2VG1HTjMuZGlzYWJsZWQtV2E2VG1HTjMsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnByaW1hcnktV2E2VG1HTjMuZGlzYWJsZWQtV2E2VG1HTjM6bGluaywucm91bmRUYWJCdXR0b24tV2E2VG1HTjMucHJpbWFyeS1XYTZUbUdOMy5kaXNhYmxlZC1XYTZUbUdOMzp2aXNpdGVkLC5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5wcmltYXJ5LVdhNlRtR04zW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLnByaW1hcnktV2E2VG1HTjNbYXJpYS1kaXNhYmxlZD10cnVlXTpsaW5rLC5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5wcmltYXJ5LVdhNlRtR04zW2FyaWEtZGlzYWJsZWQ9dHJ1ZV06dmlzaXRlZHstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItcm91bmRUYWItZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfS5yb3VuZFRhYkJ1dHRvbi1XYTZUbUdOMy5naG9zdC1XYTZUbUdOMy5kaXNhYmxlZC1XYTZUbUdOMywucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuZ2hvc3QtV2E2VG1HTjNbYXJpYS1kaXNhYmxlZD10cnVlXXtjdXJzb3I6ZGVmYXVsdH0ucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuZ2hvc3QtV2E2VG1HTjMuZGlzYWJsZWQtV2E2VG1HTjMsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmdob3N0LVdhNlRtR04zLmRpc2FibGVkLVdhNlRtR04zOmxpbmssLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmdob3N0LVdhNlRtR04zLmRpc2FibGVkLVdhNlRtR04zOnZpc2l0ZWQsLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmdob3N0LVdhNlRtR04zW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sLnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmdob3N0LVdhNlRtR04zW2FyaWEtZGlzYWJsZWQ9dHJ1ZV06bGluaywucm91bmRUYWJCdXR0b24tV2E2VG1HTjMuZ2hvc3QtV2E2VG1HTjNbYXJpYS1kaXNhYmxlZD10cnVlXTp2aXNpdGVkey0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1yb3VuZFRhYi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLXJvdW5kVGFiLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodCl9LnJvdW5kVGFiQnV0dG9uLVdhNlRtR04zLmZha2UtV2E2VG1HTjN7aW5zZXQtaW5saW5lLXN0YXJ0Oi05OTk5OTlweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTF9LmVuZEljb25XcmFwLVdhNlRtR04zLC5zdGFydEljb25XcmFwLVdhNlRtR04ze2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWF4LWhlaWdodDoyOHB4O21heC13aWR0aDoyOHB4O21pbi1oZWlnaHQ6MThweDttaW4td2lkdGg6MThweH0uY2FyZXQtV2E2VG1HTjN7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBlYXNlfS5zZWxlY3RlZC1XYTZUbUdOMyAuY2FyZXQtV2E2VG1HTjN7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5zZWxlY3RlZC1XYTZUbUdOMyAuY2FyZXQtV2E2VG1HTjM6ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKX0udmlzdWFsbHlIaWRkZW4tV2E2VG1HTjN7Ym9yZGVyOjA7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2NsaXA6cmVjdCgwIDAgMCAwKTtvdmVyZmxvdzpoaWRkZW59LmNvbnRlbnQtV2E2VG1HTjN7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfQ=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/55336.faa77164a5636d826475.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.143Z","timestamp":1785141585143,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/55336.faa77164a5636d826475.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-8a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 461dc2e29f94985663bcc1f0e6c295ed\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":138,"size_decoded":889,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"0544a458ada451b97e30c69ee63c6f81","sha1":"a6e623567e1609a80edc508f1d47db9800a14af0","sha256":"530451344ff3515d2f243dc1cd99982591d52f0fc236ceb85250915a3da2b23f","sha512":"c7030783cfc707898043c42dc44e5fc708725b674e2e74c8a55f57b261bdc297dc6134710476f7d1c3f652681b04ccdc97e0f7e5ca7991363fefa55243a7b98f","ssdeep":"","tlshash":"edc02b370b02be1d8f30d9b0bf347b18c0c0d0a2c583904e80052b2f80cd28a08b1788","first_seen":"2026-07-19T21:33:33.9239Z","last_seen":"2026-07-27T12:48:39.810704Z","times_seen":56,"resource_available":false,"data":"LndyYXAtUG9YYWNEcFh7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLWlubGluZS1lbmQ6MnB4O3dpZHRoOjI4cHh9"}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/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/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.122Z","timestamp":1785141584122,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/99527.15c5c25d27a56a0df772.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\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: 97f9a9ecb7405d5c3087ca69949f93f9\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":103264,"size_decoded":14015,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (65536), with no line terminators","md5":"3ae28448cb02ee3491028f82c9e212b5","sha1":"840f868063e33818424634685f83f5dc9c54fd85","sha256":"6d8af262e85da3952f96074c40841361fe81de28292a6654a4b6a5c8c0d9a1b6","sha512":"615657ad93d0166da77c83a566e60f1d4002b7a4a1c811227c935f2a4ea91b16e01893aba5c708e2a1b40c39c6e773c08d99e62560bcc1c8df301a3b9f1b3821","ssdeep":"768:ywlwokCcAfM0x/2bcVtmUK6ogvY0FGhgiU4vWQs/WQ2das9:oIVtmUK6ouY0FGhgi1vjs/WQ2day","tlshash":"dea335bcf95192bb5e9b587f4398f6697648f943fd066f86bf00c00020c6ee710e5a5a","first_seen":"2026-04-20T12:30:34.890238Z","last_seen":"2026-07-27T15:03:44.260548Z","times_seen":5649,"resource_available":false,"data":"aHRtbHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5e2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOjE0cHg7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbn1odG1sW2xhbmc9dmldIGJvZHl7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZn1ib2R5LGh0bWx7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDoxMDAlfWJvZHksZGlyLGgxLGgyLGgzLGg0LGg1LGg2LGh0bWwsbGksbWVudSxvbCxwLHVse21hcmdpbjowO3BhZGRpbmc6MH1he3RleHQtZGVjb3JhdGlvbjpub25lfWE6YWN0aXZle291dGxpbmU6MH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7YTpob3ZlcntvdXRsaW5lOjB9fWgxe2ZvbnQtc2l6ZToyZW19c3ViLHN1cHtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246aW5pdGlhbH1zdXB7dG9wOi0uMjVlbX1zdWJ7Ym90dG9tOi0uMjVlbX1maWd1cmV7bWFyZ2luOjB9cHJle292ZXJmbG93OmF1dG99Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLG1vbm9zcGFjZTtmb250LXNpemU6MWVtfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Y29sb3I6aW5oZXJpdDtmb250OmluaGVyaXQ7bWFyZ2luOjB9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfWJ1dHRvbixpbnB1dFt0eXBlPWJ1dHRvbl0saW5wdXRbdHlwZT1yZXNldF0saW5wdXRbdHlwZT1zdWJtaXRdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Y3Vyc29yOmRlZmF1bHR9aW5wdXRbZGlzYWJsZWRde2N1cnNvcjpkZWZhdWx0fWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MDtwYWRkaW5nOjB9aW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31pbnB1dFt0eXBlPXNlYXJjaF17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDtib3gtc2l6aW5nOmluaXRpYWx9aW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLGlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX1maWVsZHNldHtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9dGQsdGh7cGFkZGluZzowfTpyb290ey0tY29sb3Itd2hpdGU6I2ZmZjstLWNvbG9yLWJsYWNrOiMwMDA7LS1jb2xvci10cmFuc3BhcmVudDojMDAwMDstLWNvbG9yLWNvbGQtZ3JheS01MDojZjlmOWY5Oy0tY29sb3ItY29sZC1ncmF5LTEwMDojZjJmMmYyOy0tY29sb3ItY29sZC1ncmF5LTE1MDojZWJlYmViOy0tY29sb3ItY29sZC1ncmF5LTIwMDojZGJkYmRiOy0tY29sb3ItY29sZC1ncmF5LTI1MDojYzljOWM5Oy0tY29sb3ItY29sZC1ncmF5LTMwMDojYjhiOGI4Oy0tY29sb3ItY29sZC1ncmF5LTM1MDojYThhOGE4Oy0tY29sb3ItY29sZC1ncmF5LTQwMDojOWM5YzljOy0tY29sb3ItY29sZC1ncmF5LTQ1MDojOGM4YzhjOy0tY29sb3ItY29sZC1ncmF5LTUwMDpncmV5Oy0tY29sb3ItY29sZC1ncmF5LTU1MDojNzA3MDcwOy0tY29sb3ItY29sZC1ncmF5LTYwMDojNjM2MzYzOy0tY29sb3ItY29sZC1ncmF5LTY1MDojNTc1NzU3Oy0tY29sb3ItY29sZC1ncmF5LTcwMDojNGE0YTRhOy0tY29sb3ItY29sZC1ncmF5LTc1MDojM2QzZDNkOy0tY29sb3ItY29sZC1ncmF5LTgwMDojMmUyZTJlOy0tY29sb3ItY29sZC1ncmF5LTg1MDojMWYxZjFmOy0tY29sb3ItY29sZC1ncmF5LTkwMDojMGYwZjBmOy0tY29sb3ItY29sZC1ncmF5LTk1MDojMDAwOy0tY29sb3ItcmlwZS1yZWQtNTA6I2ZmZWJlYzstLWNvbG9yLXJpcGUtcmVkLTEwMDojZmNjYmNkOy0tY29sb3ItcmlwZS1yZWQtMjAwOiNmYWExYTQ7LS1jb2xvci1yaXBlLXJlZC0zMDA6I2Y3N2M4MDstLWNvbG9yLXJpcGUtcmVkLTQwMDojZjc1MjVmOy0tY29sb3ItcmlwZS1yZWQtNTAwOiNmMjM2NDU7LS1jb2xvci1yaXBlLXJlZC02MDA6I2NjMmYzYzstLWNvbG9yLXJpcGUtcmVkLTcwMDojYjIyODMzOy0tY29sb3ItcmlwZS1yZWQtODAwOiM5OTFmMjk7LS1jb2xvci1yaXBlLXJlZC05MDA6IzgwMTkyMjstLWNvbG9yLXJpcGUtcmVkLWExMDA6I2ZmODA4MDstLWNvbG9yLXJpcGUtcmVkLWEyMDA6I2ZmNTI1MjstLWNvbG9yLXJpcGUtcmVkLWE0MDA6I2YzMzstLWNvbG9yLXJpcGUtcmVkLWE2MDA6I2NjMjkyOTstLWNvbG9yLXJpcGUtcmVkLWE3MDA6IzgwMjAyODstLWNvbG9yLXJpcGUtcmVkLWE4MDA6IzRkMTkxZDstLWNvbG9yLXJpcGUtcmVkLWE5MDA6IzMzMWYyMDstLWNvbG9yLXRhbi1vcmFuZ2UtNTA6I2ZmZjNlMDstLWNvbG9yLXRhbi1vcmFuZ2UtMTAwOiNmZmUwYjI7LS1jb2xvci10YW4tb3JhbmdlLTIwMDojZmZjYzgwOy0tY29sb3ItdGFuLW9yYW5nZS0zMDA6I2ZmYjc0ZDstLWNvbG9yLXRhbi1vcmFuZ2UtNDAwOiNmZmE3MjY7LS1jb2xvci10YW4tb3JhbmdlLTUwMDojZmY5ODAwOy0tY29sb3ItdGFuLW9yYW5nZS02MDA6I2ZiOGMwMDstLWNvbG9yLXRhbi1vcmFuZ2UtNzAwOiNmNTdjMDA7LS1jb2xvci10YW4tb3JhbmdlLTgwMDojZWY2YzAwOy0tY29sb3ItdGFuLW9yYW5nZS05MDA6I2U2NTEwMDstLWNvbG9yLXRhbi1vcmFuZ2UtYTEwMDojZmZkMTgwOy0tY29sb3ItdGFuLW9yYW5nZS1hMjAwOiNmZmFiNDA7LS1jb2xvci10YW4tb3JhbmdlLWE0MDA6I2ZmOTEwMDstLWNvbG9yLXRhbi1vcmFuZ2UtYTUwMDojZTU3ZTE3Oy0tY29sb3ItdGFuLW9yYW5nZS1hNjAwOiNjYzcwMTQ7LS1jb2xvci10YW4tb3JhbmdlLWE3MDA6IzhjNTQxYzstLWNvbG9yLXRhbi1vcmFuZ2UtYTgwMDojNTkzYTFiOy0tY29sb3ItdGFuLW9yYW5nZS1hOTAwOiMzMzI2MWE7LS1jb2xvci1pZ3VhbmEtZ3JlZW4tNTA6I2U4ZjVlOTstLWNvbG9yLWlndWFuYS1ncmVlbi0xMDA6I2M4ZTZjOTstLWNvbG9yLWlndWFuYS1ncmVlbi0yMDA6I2E1ZDZhNzstLWNvbG9yLWlndWFuYS1ncmVlbi0zMDA6IzgxYzc4NDstLWNvbG9yLWlndWFuYS1ncmVlbi00MDA6IzY2YmI2YTstLWNvbG9yLWlndWFuYS1ncmVlbi01MDA6IzRjYWY1MDstLWNvbG9yLWlndWFuYS1ncmVlbi02MDA6IzQzYTA0NzstLWNvbG9yLWlndWFuYS1ncmVlbi03MDA6IzM4OGUzYzstLWNvbG9yLWlndWFuYS1ncmVlbi04MDA6IzJlN2QzMjstLWNvbG9yLWlndWFuYS1ncmVlbi05MDA6IzFiNWUyMDstLWNvbG9yLWlndWFuYS1ncmVlbi1hMTAwOiNiOWY2Y2E7LS1jb2xvci1pZ3VhbmEtZ3JlZW4tYTIwMDojNjlmMGFlOy0tY29sb3ItaWd1YW5hLWdyZWVuLWE0MDA6IzAwZTY3NjstLWNvbG9yLWlndWFuYS1ncmVlbi1hNzAwOiMwMGM4NTM7LS1jb2xvci1iYW5hbmEteWVsbG93LTUwOiNmZmZkZTc7LS1jb2xvci1iYW5hbmEteWVsbG93LTEwMDojZmZmOWM0Oy0tY29sb3ItYmFuYW5hLXllbGxvdy0yMDA6I2ZmZjU5ZDstLWNvbG9yLWJhbmFuYS15ZWxsb3ctMzAwOiNmZmYxNzY7LS1jb2xvci1iYW5hbmEteWVsbG93LTQwMDojZmZlZTU4Oy0tY29sb3ItYmFuYW5hLXllbGxvdy01MDA6I2ZmZWIzYjstLWNvbG9yLWJhbmFuYS15ZWxsb3ctNjAwOiNmZGQ4MzU7LS1jb2xvci1iYW5hbmEteWVsbG93LTcwMDojZmJjMDJkOy0tY29sb3ItYmFuYW5hLXllbGxvdy04MDA6I2Y5YTgyNTstLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwOiNmNTdmMTc7LS1jb2xvci1iYW5hbmEteWVsbG93LWExMDA6I2ZmZmY4ZDstLWNvbG9yLWJhbmFuYS15ZWxsb3ctYTIwMDojZmYwOy0tY29sb3ItYmFuYW5hLXllbGxvdy1hNDAwOiNmZmVhMDA7LS1jb2xvci1iYW5hbmEteWVsbG93LWE3MDA6I2VlZGEwMTstLWNvbG9yLXR2LWJsdWUtNTA6I2UzZWZmZDstLWNvbG9yLXR2LWJsdWUtMTAwOiNiYmQ5ZmI7LS1jb2xvci10di1ibHVlLTIwMDojOTBiZmY5Oy0tY29sb3ItdHYtYmx1ZS0zMDA6IzViOWNmNjstLWNvbG9yLXR2LWJsdWUtNDAwOiMzMTc5ZjU7LS1jb2xvci10di1ibHVlLTUwMDojMjk2MmZmOy0tY29sb3ItdHYtYmx1ZS02MDA6IzFlNTNlNTstLWNvbG9yLXR2LWJsdWUtNzAwOiMxODQ4Y2M7LS1jb2xvci10di1ibHVlLTgwMDojMTQzZWIyOy0tY29sb3ItdHYtYmx1ZS05MDA6IzBjMzI5OTstLWNvbG9yLXR2LWJsdWUtYTEwMDojODJiMWZmOy0tY29sb3ItdHYtYmx1ZS1hMjAwOiM0NDhhZmY7LS1jb2xvci10di1ibHVlLWE0MDA6IzI5NzlmZjstLWNvbG9yLXR2LWJsdWUtYTYwMDojMjk2MmZmOy0tY29sb3ItdHYtYmx1ZS1hNzAwOiMxNDNhODc7LS1jb2xvci10di1ibHVlLWE4MDA6IzE0MmU2MTstLWNvbG9yLXR2LWJsdWUtYTkwMDojMTMyMDQyOy0tY29sb3ItZGVlcC1ibHVlLTUwOiNlZGU3ZjY7LS1jb2xvci1kZWVwLWJsdWUtMTAwOiNkMWM0ZTk7LS1jb2xvci1kZWVwLWJsdWUtMjAwOiNiMzlkZGI7LS1jb2xvci1kZWVwLWJsdWUtMzAwOiM5NTc1Y2Q7LS1jb2xvci1kZWVwLWJsdWUtNDAwOiM3ZTU3YzI7LS1jb2xvci1kZWVwLWJsdWUtNTAwOiM2NzNhYjc7LS1jb2xvci1kZWVwLWJsdWUtNjAwOiM1ZTM1YjE7LS1jb2xvci1kZWVwLWJsdWUtNzAwOiM1MTJkYTg7LS1jb2xvci1kZWVwLWJsdWUtODAwOiM0NTI3YTA7LS1jb2xvci1kZWVwLWJsdWUtOTAwOiMzMTFiOTI7LS1jb2xvci1kZWVwLWJsdWUtYTEwMDojYjM4OGZmOy0tY29sb3ItZGVlcC1ibHVlLWEyMDA6IzdjNGRmZjstLWNvbG9yLWRlZXAtYmx1ZS1hNDAwOiM2NTFmZmY7LS1jb2xvci1kZWVwLWJsdWUtYTcwMDojNjIwMGVhOy0tY29sb3ItbWludHktZ3JlZW4tNTA6I2RhZjJlZTstLWNvbG9yLW1pbnR5LWdyZWVuLTEwMDojYWNlNWRjOy0tY29sb3ItbWludHktZ3JlZW4tMjAwOiM3MGNjYmQ7LS1jb2xvci1taW50eS1ncmVlbi0zMDA6IzQyYmRhODstLWNvbG9yLW1pbnR5LWdyZWVuLTQwMDojMjJhYjk0Oy0tY29sb3ItbWludHktZ3JlZW4tNTAwOiMwODk5ODE7LS1jb2xvci1taW50eS1ncmVlbi02MDA6IzA2ODA2YjstLWNvbG9yLW1pbnR5LWdyZWVuLTcwMDojMDU2NjU2Oy0tY29sb3ItbWludHktZ3JlZW4tODAwOiMwMDRkNDA7LS1jb2xvci1taW50eS1ncmVlbi05MDA6IzAwMzMyYTstLWNvbG9yLW1pbnR5LWdyZWVuLWExMDA6I2E3ZmZmMDstLWNvbG9yLW1pbnR5LWdyZWVuLWEyMDA6IzQ1ZTVjYjstLWNvbG9yLW1pbnR5LWdyZWVuLWE0MDA6IzJiZDliYzstLWNvbG9yLW1pbnR5LWdyZWVuLWE2MDA6IzI0YjI5YjstLWNvbG9yLW1pbnR5LWdyZWVuLWE3MDA6IzFiNzY2NzstLWNvbG9yLW1pbnR5LWdyZWVuLWE4MDA6IzEwNDQzYjstLWNvbG9yLW1pbnR5LWdyZWVuLWE5MDA6IzA4MjYyMTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNTA6I2YzZTVmNTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtMTAwOiNlMWJlZTc7LS1jb2xvci1ncmFwZXMtcHVycGxlLTIwMDojY2U5M2Q4Oy0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDA6I2JhNjhjODstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNDAwOiNhYjQ3YmM7LS1jb2xvci1ncmFwZXMtcHVycGxlLTUwMDojOWMyN2IwOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS02MDA6IzhlMjRhYTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwOiM3YjFmYTI7LS1jb2xvci1ncmFwZXMtcHVycGxlLTgwMDojNmExYjlhOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS05MDA6IzRhMTQ4YzstLWNvbG9yLWdyYXBlcy1wdXJwbGUtYTEwMDojZWE4MGZjOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS1hMjAwOiNlMDQwZmI7LS1jb2xvci1ncmFwZXMtcHVycGxlLWE0MDA6I2Q1MDBmOTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtYTcwMDojYTBmOy0tY29sb3ItYmVycnktcGluay01MDojZmNlNGVjOy0tY29sb3ItYmVycnktcGluay0xMDA6I2Y4YmJkMDstLWNvbG9yLWJlcnJ5LXBpbmstMjAwOiNmNDhmYjE7LS1jb2xvci1iZXJyeS1waW5rLTMwMDojZjA2MjkyOy0tY29sb3ItYmVycnktcGluay00MDA6I2VjNDA3YTstLWNvbG9yLWJlcnJ5LXBpbmstNTAwOiNlOTFlNjM7LS1jb2xvci1iZXJyeS1waW5rLTYwMDojZDgxYjYwOy0tY29sb3ItYmVycnktcGluay03MDA6I2MyMTg1YjstLWNvbG9yLWJlcnJ5LXBpbmstODAwOiNhZDE0NTc7LS1jb2xvci1iZXJyeS1waW5rLTkwMDojODgwZTRmOy0tY29sb3ItYmVycnktcGluay1hMTAwOiNmZjgwYWI7LS1jb2xvci1iZXJyeS1waW5rLWEyMDA6I2ZmNDA4MTstLWNvbG9yLWJlcnJ5LXBpbmstYTQwMDojZjUwMDU3Oy0tY29sb3ItYmVycnktcGluay1hNzAwOiNjNTExNjI7LS1jb2xvci1za3ktYmx1ZS01MDojZTBmN2ZhOy0tY29sb3Itc2t5LWJsdWUtMTAwOiNiMmViZjI7LS1jb2xvci1za3ktYmx1ZS0yMDA6IzgwZGVlYTstLWNvbG9yLXNreS1ibHVlLTMwMDojNGRkMGUxOy0tY29sb3Itc2t5LWJsdWUtNDAwOiMyNmM2ZGE7LS1jb2xvci1za3ktYmx1ZS01MDA6IzAwYmNkNDstLWNvbG9yLXNreS1ibHVlLTYwMDojMDBhY2MxOy0tY29sb3Itc2t5LWJsdWUtNzAwOiMwMDk3YTc7LS1jb2xvci1za3ktYmx1ZS04MDA6IzAwODM4ZjstLWNvbG9yLXNreS1ibHVlLTkwMDojMDA2MDY0Oy0tY29sb3Itc2t5LWJsdWUtYTEwMDojODRmZmZmOy0tY29sb3Itc2t5LWJsdWUtYTIwMDojMThmZmZmOy0tY29sb3Itc2t5LWJsdWUtYTQwMDojMDBlNWZmOy0tY29sb3Itc2t5LWJsdWUtYTcwMDojMDBiOGQ0Oy0tY29sb3ItZm9yZXN0LWdyZWVuLTUwOiNkYWYyZTY7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMTAwOiNhY2U1Yzk7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMjAwOiM3MGNjOWU7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwOiM0MmJkN2Y7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNDAwOiMyMmFiNjc7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwOiMwODk5NTA7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNjAwOiMwNjgwNDM7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwOiMwNTY2MzY7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tODAwOiMwMDRkMjc7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwOiMxYTMzMjY7LS1jb2xvci1mYWNlYm9vazojMTg3N2YyOy0tY29sb3ItZGVlcC1mYWNlYm9vazojMTU2NGNhOy0tY29sb3ItdHdpdHRlcjojMWRhMWYyOy0tY29sb3ItZGVlcC10d2l0dGVyOiMxODhjZDM7LS1jb2xvci15b3V0dWJlOnJlZDstLWNvbG9yLWxpbmtlZGluOiMwMDdiYjU7LS1jb2xvci1zZWVraW5nLWFscGhhLWJyYW5kOiNmZjcyMDB9W2RhdGEtdGhlbWU9bGlnaHRdey0tY29sb3ItaGVhZGVyLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvZHktYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYm9keS1zZWNvbmRhcnktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iZy1wcmltYXJ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJnLXByaW1hcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iZy1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmctaGlnaGxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWxlZ2FjeS1iZy13aWRnZXQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItdGV4dC1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10ZXh0LXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApOy0tY29sb3ItdGV4dC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWFjY2VudC1jb250ZW50OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYm94LXNoYWRvdzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWRpdmlkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1kaXZpZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItZGl2aWRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1hY3RpdmUtaG92ZXItdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWFsZXJ0LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1ib3JkZXItdGFibGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1icmFuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1icmFuZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYnJhbmQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY2hhcnQtcGFnZS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWNvbW1vbi10b29sdGlwLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGlnaGxpZ2h0LW5ldzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwKTstLWNvbG9yLWlucHV0LWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWlucHV0LXB1Ymxpc2gtYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItbGluazp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1saW5rLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWxpbmstYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1wYW5lLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXBhbmUtc2Vjb25kYXJ5LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItcG9wdXAtbWVudS1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItcG9wdXAtbWVudS1zZXBhcmF0b3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1wcmltYXJ5LXN5bWJvbDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3Itc2NyZWVuZXItZGVzY3JpcHRpb246dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1zZWNvbmRhcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWljb246dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItdG9vbGJhci1kaXZpZGVyLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LWhpbnQtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLXRvb2x0aXAtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10di1kaWFsb2ctY2FwdGlvbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci11bmRlcmxpbmVkLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci13aWRnZXQtcGFnZXMtYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3Itd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1ncm93aW5nOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1mYWxsaW5nOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1mb3JleC1pY29uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItbGlzdC1pdGVtLWFjdGl2ZS1iZzp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1saXN0LWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1saXN0LWl0ZW0tdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXByaWNlLWF4aXMtbGFiZWwtYmFjazp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXByaWNlLWF4aXMtbGFiZWwtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXByaWNlLWF4aXMtZ2Vhcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXByaWNlLWF4aXMtZ2Vhci1ob3Zlcjp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1wcmljZS1heGlzLWhpZ2hsaWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJpZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1ib3JkZXItY2hhdC1maWVsZHM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1idXR0b24taG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1kZXB0aHJlbmRlcmVyLWZpbGwtc3R5bGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZGlzYWJsZWQtaW5wdXQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1lbXB0eS1jb250YWluZXItbWVzc2FnZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWljb25zOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItaXRlbS1hY3RpdmUtYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaXRlbS1ob3Zlci1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWl0ZW0tc2VsZWN0ZWQtYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGlzdC1pdGVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItbmV3cy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItcGxhY2Vob2xkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci1yb3ctaG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itc2Itc2Nyb2xsYmFyLWJvZHktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1zZXBhcmF0b3ItdGFibGUtY2hhdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXRhZy1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10YWctaG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci10ZXh0LXJlZ3VsYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci10di1idXR0b24tY2hlY2tlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXNjcm9sbC1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLXNjcm9sbC1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci13aWRnZXQtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itc2Nyb2xsLWJ1dHRvbnMtYXJyb3c6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXByaW1hcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1jb250cm9sLWludGVudC1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWdvdG8tbGFiZWwtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXByZS1tYXJrZXQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItcG9zdC1tYXJrZXQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3Itbm90YWNjdXJhdGUtbW9kZTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTYwMCk7LS1jb2xvci1kZWxheS1tb2RlOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWRlbGF5LW1vZGUtYmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS00MDApOy0tY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItbGlzdC1pdGVtLWJnLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWxpc3QtaXRlbS1iZy1oaWdobGlnaHRlZC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZy1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLW1hcmtlci1mbGFnZ2VkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1tYXJrZXItZmxhZ2dlZC1ob3ZlcmVkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1hc2s6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLXNlbGw6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWJ1eTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItcHJvOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1wcm8taG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXByby1wbHVzOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXByby1wbHVzLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXByby1wcmVtaXVtOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXByby1wcmVtaXVtLWhvdmVyOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLXRyaWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdHJpYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1tb2Q6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLW1vZC1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYWQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItYnJva2VyLWZlYXR1cmVkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1icm9rZXItZmVhdHVyZWQtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy1zdG9wcGVkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1hbGVydC1zdGF0dXMtdHJpZ2dlcmVkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLW92ZXJsYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci1zZWFyY2gtYnV0dG9uLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1ib29zdC1idXR0b24tYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXJlcGxheS1kYXRhLW1vZGU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWxlZ2FjeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb2xsYXBzZS10YWJzLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3IteC10d2l0dGVyLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jYXJkLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWNhcmQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXByaW1hcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3Itc3Ryb2tlLXNwZWNpYWwtcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXNlbGVjdGlvbi1iZzp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1kZWZhdWx0LWdyYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLWNvbG9yLWJhY2tncm91bmQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXNwZWNpYWwtdGVydGlhcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYmFja2dyb3VuZC1wYWdlLXBsYXRmb3JtOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJhY2tncm91bmQtcGFnZS1wcm9tbzp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2Utc29jaWFsOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJhY2tncm91bmQtZGlhbG9nLXNpbXBsZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1jb21wbGljYXRlZDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1wcm9tbzp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1mdWxsc2NyZWVuOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtc2Vjb25kYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1pY29ucy10ZXJ0aWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1wcm9tby1wcmltYXJ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1wcm9tby1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1zb2NpYWwtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1kaXZpZGVyLWxpbmUtcHJpbWFyeS1zcGVjaWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeS1zcGVjaWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWRpdmlkZXItbGluZS1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItbGluay1zZWNvbmRhcnktaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItbGluay1zZWNvbmRhcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudDp2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7LS1jb2xvci1zdGF0aWMtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1zdGF0aWMtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1zdGF0aWMtaGlnaGxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3Itc3RhdGljLW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1zdGF0aWMtc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktZGFuZ2VyLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1saWdodC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktZGFuZ2VyLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWZvY3VzLW5vdC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZm9jdXMtcmVhZC1vbmx5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXJlYWQtb25seTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItd2l0aC12YWx1ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtZm9jdXMtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWVycm9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWxpbms6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sZWZ0LXNsb3QtaWNvbi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdGV4dC1maWVsZC1sZWZ0LXNsb3QtaWNvbi1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzUwKTstLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1hcnJvd3MtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1maWVsZC12YWx1ZS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1maWVsZC12YWx1ZS1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1kYW5nZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1maWxsLWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY291bnRlci1jb250ZW50LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY291bnRlci1ib3JkZXItcHJpbWFyeTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWJvcmRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1ib3JkZXItdGVydGlhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaXNPcGVuZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1jaGVja2VkLWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1jaGVja2VkLW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItbm90LWNoZWNrZWQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1pc09wZW5lZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1ub3QtY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtcG9zaXRpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctcG9zaXRpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50OiNmZmYwOy0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQtNjA6I2ZmZjk7LS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OiMwMDAzOy0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXNoYWRvdy1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLW90aGVyLW1vZGFsLWJhY2tncm91bmQ6I2QxZDFkMTRkOy0tY29sb3Itb3RoZXItc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eTojMDAwMzstLWNvbG9yLW90aGVyLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1vdGhlci1zaGFkb3ctc2Vjb25kYXJ5LW5ldXRyYWwtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktcHJpbWFyeTp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3Itb3RoZXItYmxhY2stZnJpZGF5LXNlY29uZGFyeTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itb3RoZXItYmxhY2stZnJpZGF5LXRlcnRpYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1vdGhlci1jeWJlci1tb25kYXktcHJpbWFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNDAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS1zZWNvbmRhcnk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTIwMCk7LS1jb2xvci1vdGhlci1jeWJlci1tb25kYXktdGVydGlhcnk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTEwMCk7LS1jb2xvci1zZWFyY2gtaGlnaGxpZ2h0LXByaW1hcnktbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXNlYXJjaC1oaWdobGlnaHQtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsYWNrOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3Itd2hpdGU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ub3JtYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWFsdDEtbm9ybWFsOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS1hNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWFsdDItYm9sZDp2YXIoLS1jb2xvci1za3ktYmx1ZS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1ub3JtYWw6dmFyKC0tY29sb3ItcmlwZS1yZWQtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC10aGluOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0xMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLW5vcm1hbDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1leHRyYS1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctbm9ybWFsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVhdGVybmFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW46dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtc2VtaS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktZGFuZ2VyLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLWE2MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1aW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1oZWF2eTp2YXIoLS1jb2xvci1za3ktYmx1ZS05MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQ6dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTgwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTgwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1tZWRpdW06dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXdhcm5pbmctYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE3MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItYmVycnktcGluay04MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGVudC1xdWF0ZXJuYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tY29sb3ItY29udGVudC1xdWF0ZXJuYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250ZW50LXF1aW5hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXF1aW5hcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItYm9yZGVyLXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXItdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodDojMjk2MmZmMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLW5vcm1hbDojMjk2MmZmNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWJvbGQ6IzI5NjJmZjY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMi1saWdodDojMDBhY2MxMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLW5vcm1hbDojMDBhY2MxNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLWJvbGQ6IzAwYWNjMTY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodDojOWMyN2IwMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLW5vcm1hbDojOWMyN2IwNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQ6IzljMjdiMDY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1saWdodDojNWUzNWIxMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LW5vcm1hbDojNWUzNWIxNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LWJvbGQ6IzVlMzViMTY2Oy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0OiNjYzJmM2MyNjstLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ub3JtYWw6I2NjMmYzYzRkOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQ6I2NjMmYzYzY2Oy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLWxpZ2h0OiNlOTFlNjMyNjstLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1ub3JtYWw6I2U5MWU2MzRkOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLWJvbGQ6I2U5MWU2MzY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQ6IzYzNjM2MzI2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbm9ybWFsOiM2MzYzNjM0ZDstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQ6IzYzNjM2MzY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTItbGlnaHQ6IzAwMDAwMDI2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTItbm9ybWFsOiMwMDAwMDA0ZDstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0yLWJvbGQ6IzAwMDY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbGlnaHQ6IzA4OTk4MTI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLW5vcm1hbDojMDg5OTgxNGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtYm9sZDojMDg5OTgxNjY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTItbGlnaHQ6IzA4OTk1MDI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLW5vcm1hbDojMDg5OTUwNGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTItYm9sZDojMDg5OTUwNjY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtbGlnaHQ6IzQzYTA0NzI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLW5vcm1hbDojNDNhMDQ3NGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtYm9sZDojNDNhMDQ3NjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1saWdodDojZmY5ODAwMjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1ub3JtYWw6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtYm9sZDojZmY5ODAwNjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMi1saWdodDojZmRkODM1MjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMi1ub3JtYWw6I2ZkZDgzNTRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItYm9sZDojZmRkODM1NjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMy1saWdodDojZmY5ODAwMjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMy1ub3JtYWw6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtYm9sZDojZmY5ODAwNjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMy1saWdodDojNjM2MzYzMjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMy1ub3JtYWw6IzYzNjM2MzRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtYm9sZDojNjM2MzYzNjY7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtODAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1taW51czItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtemVyby1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yNTApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLXBsdXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1wbHVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXhsOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLW06dmFyKC0tY29sb3ItcmlwZS1yZWQtMzAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1zOnZhcigtLWNvbG9yLXJpcGUtcmVkLTEwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmV1dHJhbDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUteGw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1tOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLXM6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTEwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC1taW51czItZGVmYXVsdDojZGU4MTJmOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czMtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtemVyby1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXBsdXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtbW9ub2Nocm9tZS1wbHVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXYxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjItZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjMtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjUtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjYtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXY3LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUteGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZWdhdGl2ZS1sOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLXM6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZXV0cmFsOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUteGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNjAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS00MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS1tOnZhcigtLWNvbG9yLXNreS1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LXBvc2l0aXZlLXM6dmFyKC0tY29sb3Itc2t5LWJsdWUtMTAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhzOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXM6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0zMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS14eGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS05MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWJvcmRlcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLXhzOnZhcigtLWNvbG9yLXNreS1ibHVlLTUwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtczp2YXIoLS1jb2xvci1za3ktYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1tOnZhcigtLWNvbG9yLXNreS1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUteGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUteHhsOnZhcigtLWNvbG9yLXNreS1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1ib3JkZXI6dmFyKC0tY29sb3Itc2t5LWJsdWUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXhzOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS01MCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS1zOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtbTp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMzAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTQwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS14bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtNjAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXh4bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtYm9yZGVyOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhzOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXM6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLW06dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWw6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhsOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS14eGw6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWJvcmRlcjp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteHM6dmFyKC0tY29sb3ItYmVycnktcGluay01MCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstczp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTEwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstbTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTMwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstbDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTUwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteGw6dmFyKC0tY29sb3ItYmVycnktcGluay03MDApOy0tY29sb3ItaGVhdG1hcC1iZXJyeS1waW5rLXh4bDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTkwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstYm9yZGVyOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstOTAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXhzOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi01MCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tbTp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14czp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi1sOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXhsOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTkwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteHM6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS01MCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtczp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTEwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtbTp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtbDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTUwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteGw6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tY29sb3ItaGVhdG1hcC1ncmFwZXMtcHVycGxlLXh4bDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtYm9yZGVyOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLWNvbG9yLWhlYWRlci1iZzp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib2R5LWJnOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYmctcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJnLXByaW1hcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1iZy1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iZy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWxlZ2FjeS1iZy13aWRnZXQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10ZXh0LXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10ZXh0LXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci10ZXh0LWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItYWNjZW50LWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZGl2aWRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWRpdmlkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1kaXZpZGVyLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJveC1zaGFkb3c6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1hY3RpdmUtaG92ZXItdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWFsZXJ0LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib3JkZXItY2hhdC1maWVsZHM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1ib3JkZXItdGFibGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1icmFuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1icmFuZC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1icmFuZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYnV0dG9uLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItY2hhcnQtcGFnZS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbW1vbi10b29sdGlwLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItZmlsbC1zdHlsZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWRpc2FibGVkLWlucHV0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1oaWdobGlnaHQtbmV3OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1pY29uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWlucHV0LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItaW5wdXQtcHVibGlzaC1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWl0ZW0tYWN0aXZlLWJsdWU6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaXRlbS1ob3Zlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWl0ZW0taG92ZXItYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaXRlbS1zZWxlY3RlZC1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGluazp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1saW5rLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWxpbmstYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpc3QtaXRlbTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItbmV3cy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wYW5lLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItcGFuZS1zZWNvbmRhcnktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1wbGFjZWhvbGRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXBvcHVwLW1lbnUtaXRlbS1ob3Zlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItcHJpbWFyeS1zeW1ib2w6dmFyKC0tY29sb3Itc2t5LWJsdWUtNTAwKTstLWNvbG9yLXJvdy1ob3Zlci1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1zYi1zY3JvbGxiYXItYm9keS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXNjcmVlbmVyLWRlc2NyaXB0aW9uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc2VhcmNoLWJ1dHRvbi1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLXNlcGFyYXRvci10YWJsZS1jaGF0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3Itc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3Itc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLXRhZy1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10YWctaG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10ZXh0LXJlZ3VsYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLXNlY29uZGFyeS1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXRvb2xiYXItaW50ZXJhY3RpdmUtZWxlbWVudC10ZXh0LW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10b29sYmFyLWRpdmlkZXItYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLXBvcHVwLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLXRvb2x0aXAtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10di1idXR0b24tY2hlY2tlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXR2LWRpYWxvZy1jYXB0aW9uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10di1kcm9wZG93bi1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdW5kZXJsaW5lZC10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itd2lkZ2V0LXBhZ2VzLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3Itd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTcwMCk7LS1jb2xvci1mb3JleC1pY29uOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWxpc3QtaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGlzdC1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItbGlzdC1pdGVtLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wcmljZS1heGlzLWxhYmVsLWJhY2s6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wcmljZS1heGlzLWxhYmVsLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci1wcmljZS1heGlzLWdlYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wcmljZS1heGlzLWdlYXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci1wcmljZS1heGlzLWhpZ2hsaWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJpZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1zY3JvbGwtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1zY3JvbGwtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3Itd2lkZ2V0LWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXNjcm9sbC1idXR0b25zLWFycm93OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250cm9sLWludGVudC1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1jb250cm9sLWludGVudC1wcmltYXJ5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1ncm93aW5nOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1mYWxsaW5nOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1nb3RvLWxhYmVsLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1wcmUtbWFya2V0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLXBvc3QtbWFya2V0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLW5vdGFjY3VyYXRlLW1vZGU6dmFyKC0tY29sb3ItYmVycnktcGluay1hMjAwKTstLWNvbG9yLWRlbGF5LW1vZGU6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItZGVsYXktbW9kZS1iZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTQwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZy1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLW92ZXJsYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCk7LS1jb2xvci1ib29zdC1idXR0b24tY29udGVudC1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1ib29zdC1idXR0b24tY29udGVudC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib29zdC1idXR0b24tYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3IteC10d2l0dGVyLWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY2FyZC1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1jYXJkLWJvcmRlci1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1wcmltYXJ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLXN0cm9rZS1zcGVjaWFsLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1zZWxlY3Rpb24tYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWRlZmF1bHQtZ3JheTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS1iZzp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJhY2tncm91bmQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXNlY29uZGFyeTp2YXIoLS1jb2xvci10di1ibHVlLWE5MDApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXRlcnRpYXJ5OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2UtcGxhdGZvcm06dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2UtcHJvbW86dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYmFja2dyb3VuZC1wYWdlLXNvY2lhbDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1zaW1wbGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1jb21wbGljYXRlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJhY2tncm91bmQtZGlhbG9nLXByb21vOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItYmFja2dyb3VuZC1kaWFsb2ctZnVsbHNjcmVlbjp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb250ZW50LWljb25zLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LWljb25zLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tcHJpbWFyeTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tc2Vjb25kYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC10ZXh0LXByb21vLXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItY29udGVudC10ZXh0LXNvY2lhbC1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC10ZXh0LXNvY2lhbC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItZGl2aWRlci1saW5lLXByaW1hcnktc3BlY2lhbDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1kaXZpZGVyLWxpbmUtc2Vjb25kYXJ5LXNwZWNpYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWRpdmlkZXItbGluZS1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMjAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1zdGF0aWMtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1zdGF0aWMtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1zdGF0aWMtaGlnaGxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1zdGF0aWMtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXN0YXRpYy1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudDp2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZm9jdXMtbm90LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1mb2N1cy1yZWFkLW9ubHk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci13aXRoLXZhbHVlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWRlc2NyaXB0aW9uLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1maWxsLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1mb2N1cy1yZWFkLW9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1saW5rOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtbGFiZWwtc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtbGVmdC1zbG90LWljb24tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtZmllbGQtbGVmdC1zbG90LWljb24tZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWFycm93cy1iZy1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWFycm93cy1iZy1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtaWNvbnMtYW5kLXRleHQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtaWNvbnMtYW5kLXRleHQtZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtdmFsdWUtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtdmFsdWUtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb3VudGVyLWZpbGwtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtZGFuZ2VyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY291bnRlci1jb250ZW50LWFjY2VudDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWZpbGwtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1jb250ZW50LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY291bnRlci1ib3JkZXItcHJpbWFyeTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb3VudGVyLWJvcmRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb3VudGVyLWJvcmRlci10ZXJ0aWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItY2hlY2tlZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWlzT3BlbmVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWlzT3BlbmVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtbm90LWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtbm90LWNoZWNrZWQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQ6IzAwMDA7LS1jb2xvci1vdGhlci10cmFuc3BhcmVudC02MDojMDAwOTstLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6IzAwMDY7LS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3Itb3RoZXItbW9kYWwtYmFja2dyb3VuZDojMDAwMDAwNGQ7LS1jb2xvci1vdGhlci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OiMwMDA2Oy0tY29sb3Itb3RoZXItc2hhZG93LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLW90aGVyLXNoYWRvdy1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLW90aGVyLWJsYWNrLWZyaWRheS1wcmltYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktc2Vjb25kYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktdGVydGlhcnk6dmFyKC0tY29sb3ItcmlwZS1yZWQtMzAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS1wcmltYXJ5OnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tY29sb3Itb3RoZXItY3liZXItbW9uZGF5LXNlY29uZGFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hMjAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS10ZXJ0aWFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hMTAwKTstLWNvbG9yLXNlYXJjaC1oaWdobGlnaHQtcHJpbWFyeS1ub3JtYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3Itc2VhcmNoLWhpZ2hsaWdodC1wcmltYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmxhY2s6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci13aGl0ZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXRlcnRpYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYWx0MS1ub3JtYWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLWExMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYWx0Mi1ib2xkOnZhcigtLWNvbG9yLXNreS1ibHVlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLW5vcm1hbDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtdGhpbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1tZWRpdW06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3Mtbm9ybWFsOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLWE3MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1leHRyYS1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE5MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nLWxpZ2h0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctbm9ybWFsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1YXRlcm5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtYTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW46dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtaGVhdnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LWRhbmdlci1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktc3VjY2Vzcy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWExMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1oZWF2eTp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQ6dmFyKC0tY29sb3Itc2t5LWJsdWUtMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYXR0ZW50aW9uOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtc2VtaS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTQwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWEyMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLWExMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtbWVkaXVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS13YXJuaW5nLWJvbGQ6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItYmVycnktcGluay1hMjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtcXVhdGVybmFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMTAwKTstLWNvbG9yLWNvbnRlbnQtcXVhdGVybmFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTstLWNvbG9yLWNvbnRlbnQtcXVpbmFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1ib3JkZXItdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0OiM0NDhhZmYzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsOiM0NDhhZmY0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtYm9sZDojNDQ4YWZmNjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLWxpZ2h0OiMwMGJjZDQzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbm9ybWFsOiMwMGJjZDQ0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTItYm9sZDojMDBiY2Q0NjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWxpZ2h0OiNlYTgwZmMzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsOiNlYTgwZmM0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtYm9sZDojZWE4MGZjNjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LWxpZ2h0OiNiMzg4ZmYzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTQtbm9ybWFsOiNiMzg4ZmY0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTQtYm9sZDojYjM4OGZmNjY7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQ6I2YyMzY0NTMzOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbDojZjIzNjQ1NGQ7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZDojZjIzNjQ1NjY7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItbGlnaHQ6I2ZmNDA4MTMzOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLW5vcm1hbDojZmY0MDgxNGQ7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItYm9sZDojZmY0MDgxNjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodDojYjhiOGI4MzM7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ub3JtYWw6I2I4YjhiODRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtYm9sZDojYjhiOGI4NjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMi1saWdodDojZmZmMzstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0yLW5vcm1hbDojZmZmZmZmNGQ7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMi1ib2xkOiNmZmY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWxpZ2h0OiMyMmFiOTQzMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMS1ub3JtYWw6IzIyYWI5NDRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWJvbGQ6IzIyYWI5NDY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLWxpZ2h0OiMyMmFiNjczMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMi1ub3JtYWw6IzIyYWI2NzRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLWJvbGQ6IzIyYWI2NzY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWxpZ2h0OiM0Y2FmNTAzMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWw6IzRjYWY1MDRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWJvbGQ6IzRjYWY1MDY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbGlnaHQ6I2ZmOTgwMDMzOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsOiNmZjk4MDA0ZDstLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWJvbGQ6I2ZmOTgwMDY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItbGlnaHQ6I2ZkZDgzNTMzOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItbm9ybWFsOiNmZGQ4MzU0ZDstLWNvbG9yLW92ZXJsYXktd2FybmluZy0yLWJvbGQ6I2ZkZDgzNTY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtbGlnaHQ6I2ZmOTgwMDFhOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtbm9ybWFsOiNmZjk4MDAzMzstLWNvbG9yLW92ZXJsYXktd2FybmluZy0zLWJvbGQ6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtbGlnaHQ6IzJlMmUyZTY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtbm9ybWFsOiMyZTJlMmVjYzstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0zLWJvbGQ6IzJlMmUyZTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1taW51czMtZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLW1pbnVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1wbHVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLXBsdXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUteGw6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1sOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXM6dmFyKC0tY29sb3ItcmlwZS1yZWQtOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZXV0cmFsOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLW06dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNDAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLW1pbnVzMi1kZWZhdWx0OiNhYTYzMjQ7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLXBsdXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLXBsdXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXplcm8tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWhlYXRtYXAtbW9ub2Nocm9tZS1wbHVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXBsdXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtcGx1czMtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtcG9zaXRpdmUtb25seS12MS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXYyLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtcG9zaXRpdmUtb25seS12My1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjUtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjYtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjctZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLXhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTYwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLWw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE4MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZWdhdGl2ZS1zOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5ldXRyYWw6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS1zOnZhcigtLWNvbG9yLXNreS1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LXBvc2l0aXZlLW06dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS02MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS14bDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhzOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXRhbi1vcmFuZ2Utczp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE4MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1sOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS14bDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXRhbi1vcmFuZ2UteHhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMjAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1ib3JkZXI6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14czp2YXIoLS1jb2xvci1za3ktYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1zOnZhcigtLWNvbG9yLXNreS1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLW06dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14bDp2YXIoLS1jb2xvci1za3ktYmx1ZS0zMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14eGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWJvcmRlcjp2YXIoLS1jb2xvci1za3ktYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUteHM6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS1zOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS03MDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtbTp2YXIoLS1jb2xvci1kZWVwLWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTQwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS14bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMzAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXh4bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtYm9yZGVyOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhzOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXR2LWJsdWUtczp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLW06dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1sOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS14bDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXR2LWJsdWUteHhsOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1ib3JkZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1iZXJyeS1waW5rLXhzOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstOTAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1zOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstODAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1tOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNzAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1sOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNTAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay14bDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTMwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteHhsOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1ib3JkZXI6dmFyKC0tY29sb3ItYmVycnktcGluay0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4teHM6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTkwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi04MDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tbTp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMjAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14czp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hOTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hODAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hNzAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14bDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14eGw6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMjAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLWJvcmRlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1ncmFwZXMtcHVycGxlLXhzOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1zOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtODAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1tOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1sOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNTAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS14bDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteHhsOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMjAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1ib3JkZXI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0xMDApOy0tY29sb3ItbWFya2VyLWZsYWdnZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLW1hcmtlci1mbGFnZ2VkLWhvdmVyZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWFzazp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itc2VsbDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItYnV5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1wcm86dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKTstLWNvbG9yLXByby1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItcHJvLXBsdXM6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItcHJvLXBsdXMtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItcHJvLXByZW1pdW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItcHJvLXByZW1pdW0taG92ZXI6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItdHJpYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10cmlhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLW1vZDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItbW9kLWhvdmVyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1hZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1icm9rZXItZmVhdHVyZWQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKTstLWNvbG9yLWJyb2tlci1mZWF0dXJlZC1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItYWxlcnQtc3RhdHVzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYWxlcnQtc3RhdHVzLXN0b3BwZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy10cmlnZ2VyZWQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXJlcGxheS1kYXRhLW1vZGU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWxlZ2FjeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb2xsYXBzZS10YWJzLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApfQ=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/widget-toptoolbar.d7ed7cde5eb35f0fe4b8.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.864Z","timestamp":1785141584864,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/widget-toptoolbar.d7ed7cde5eb35f0fe4b8.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-cc58\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 39dbcb28608db0d73ede228b4a9aa5c5\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":52312,"size_decoded":18239,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"b35e59efb0bd11483b985f2bd44f849a","sha1":"c6462f8d45b288692eefab16cfce1bde8633a682","sha256":"aa5adcee7d49a8b57e50e07d14931f3c5213ddbe82695bbab124f86371af9dfa","sha512":"ef350f2c4925c583157615f8d1dd4471e1f6fd1336c82a65652400776b43fba8fc75a96d410457e518e6a1dbd3f932f6386b6c178959ff9de6c112734a06ac42","ssdeep":"1536:q/H3qVRbkqWN+plfUCCCsHllfltQO45eQjF4ff1qcfTjD5NQcj1kfBZoBIgd6:q/H3qXkCp8R7Igd6","tlshash":"013308547175b0384ad720aed43b0407b36a68a9b41f51a8f2f49ddd35edd8cd22ab3c","first_seen":"2026-07-24T11:36:48.152611Z","last_seen":"2026-07-27T12:48:39.764568Z","times_seen":96,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0MzkyNiw2NDY0NF0sezkxNDQ4NyhlLHQpe3ZhciByOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgcz17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBuKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1hcmd1bWVudHNbdF07aWYocil7dmFyIGk9dHlwZW9mIHI7aWYoInN0cmluZyI9PT1pfHwibnVtYmVyIj09PWkpZS5wdXNoKHIpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShyKSYmci5sZW5ndGgpe3ZhciBhPW4uYXBwbHkobnVsbCxyKTthJiZlLnB1c2goYSl9ZWxzZSBpZigib2JqZWN0Ij09PWkpZm9yKHZhciBvIGluIHIpcy5jYWxsKHIsbykmJnJbb10mJmUucHVzaChvKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8obi5kZWZhdWx0PW4sZS5leHBvcnRzPW4pOnZvaWQgMD09PShyPWZ1bmN0aW9uKCl7cmV0dXJuIG59LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1yKX0oKX0sODQ2MDExKGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC1xWW00eDJ1dSIsd3JhcFdpdGhBcnJvd3NPdXRpbmc6IndyYXBXaXRoQXJyb3dzT3V0aW5nLXFZbTR4MnV1Iix3cmFwT3ZlcmZsb3c6IndyYXBPdmVyZmxvdy1xWW00eDJ1dSIsc2Nyb2xsV3JhcDoic2Nyb2xsV3JhcC1xWW00eDJ1dSIsbm9TY3JvbGxCYXI6Im5vU2Nyb2xsQmFyLXFZbTR4MnV1IixpY29uOiJpY29uLXFZbTR4MnV1IixzY3JvbGxMZWZ0OiJzY3JvbGxMZWZ0LXFZbTR4MnV1IixzY3JvbGxSaWdodDoic2Nyb2xsUmlnaHQtcVltNHgydXUiLGlzVmlzaWJsZToiaXNWaXNpYmxlLXFZbTR4MnV1IixpY29uV3JhcDoiaWNvbldyYXAtcVltNHgydXUiLGZhZGVMZWZ0OiJmYWRlTGVmdC1xWW00eDJ1dSIsZmFkZVJpZ2h0OiJmYWRlUmlnaHQtcVltNHgydXUifX0sNTc1MTM3KGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS1oZWFkZXItdG9vbGJhci1oZWlnaHQiOiIzOHB4In19LDYzMzI5KGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS1oZWFkZXItdG9vbGJhci1oZWlnaHQiOiIzOHB4Iix0b29sYmFyOiJ0b29sYmFyLU5DWXlvemhoIixpc0hpZGRlbjoiaXNIaWRkZW4tTkNZeW96aGgiLG92ZXJmbG93V3JhcDoib3ZlcmZsb3dXcmFwLU5DWXlvemhoIixjdXN0b21CdXR0b246ImN1c3RvbUJ1dHRvbi1OQ1l5b3poaCIsaG92ZXI6ImhvdmVyLU5DWXlvemhoIixjbGlja2VkOiJjbGlja2VkLU5DWXlvemhoIn19LDM3MDc3NShlKXtlLmV4cG9ydHM9e3dyYXA6IndyYXAtVUwzRklwc2UiLGljb246Imljb24tVUwzRklwc2UifX0sMjE4NjAzKGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS1oZWFkZXItdG9vbGJhci1oZWlnaHQiOiIzOHB4Iixpbm5lcldyYXA6ImlubmVyV3JhcC1kbEZETjBaZCIsaW5uZXI6ImlubmVyLWRsRkROMFpkIixmYWtlOiJmYWtlLWRsRkROMFpkIixmaWxsOiJmaWxsLWRsRkROMFpkIixjb2xsYXBzZToiY29sbGFwc2UtZGxGRE4wWmQiLGJ1dHRvbjoiYnV0dG9uLWRsRkROMFpkIixpY29uQnV0dG9uOiJpY29uQnV0dG9uLWRsRkROMFpkIixoaWRkZW46ImhpZGRlbi1kbEZETjBaZCIsY29udGVudDoiY29udGVudC1kbEZETjBaZCIsZGVza3RvcFRyYWRlOiJkZXNrdG9wVHJhZGUtZGxGRE4wWmQiLGRlc2t0b3BQdWJsaXNoOiJkZXNrdG9wUHVibGlzaC1kbEZETjBaZCIsbW9iaWxlVHJhZGU6Im1vYmlsZVRyYWRlLWRsRkROMFpkIixtb2JpbGVQdWJsaXNoOiJtb2JpbGVQdWJsaXNoLWRsRkROMFpkIn19LDI3OTUzMihlKXtlLmV4cG9ydHM9e2dyb3VwOiJncm91cC1MTFpBYnMwRyIsc2VwYXJhdG9yOiJzZXBhcmF0b3ItTExaQWJzMEciLG5vTGVmdERlY29yYXRpb246Im5vTGVmdERlY29yYXRpb24tTExaQWJzMEciLG5vUmlnaHREZWNvcmF0aW9uOiJub1JpZ2h0RGVjb3JhdGlvbi1MTFpBYnMwRyIsbm9NaW5pbWFsV2lkdGg6Im5vTWluaW1hbFdpZHRoLUxMWkFiczBHIixzZXBhcmF0b3JXcmFwOiJzZXBhcmF0b3JXcmFwLUxMWkFiczBHIn19LDE2NDU2NihlKXtlLmV4cG9ydHM9e3NlcGFyYXRvcjoic2VwYXJhdG9yLWxsdXF1ZlZxIn19LDUwOTk5MChlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtNZWFzdXJlOigpPT5ufSk7dmFyIHM9cig3MTk0MjUpO2Z1bmN0aW9uIG4oZSl7Y29uc3R7Y2hpbGRyZW46dCxvblJlc2l6ZTpyfT1lO3JldHVybiB0KCgwLHMudXNlUmVzaXplT2JzZXJ2ZXIpKHJ8fCgoKT0+e30pLFtudWxsPT09cl0pKX19LDc4Nzg5NShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHt1c2VGdW5jdGlvbmFsUmVmT2JqZWN0OigpPT5pfSk7dmFyIHM9cig3Nzk0NzQpLG49cig2MTYzMTEpO2Z1bmN0aW9uIGkoZSl7Y29uc3QgdD0oMCxzLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSl7Y29uc3QgdD1yPT57ZShyKSx0LmN1cnJlbnQ9cn07cmV0dXJuIHQuY3VycmVudD1udWxsLHR9KChlPT57by5jdXJyZW50KGUpfSkpKSxbXSkscj0oMCxzLnVzZVJlZikobnVsbCksaT10PT57aWYobnVsbD09PXQpcmV0dXJuIGEoci5jdXJyZW50LHQpLHZvaWQoci5jdXJyZW50PW51bGwpO3IuY3VycmVudCE9PWUmJihyLmN1cnJlbnQ9ZSxhKHIuY3VycmVudCx0KSl9LG89KDAscy51c2VSZWYpKGkpO3JldHVybiBvLmN1cnJlbnQ9aSwoMCxuLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QpKCgoKT0+e2lmKG51bGwhPT10LmN1cnJlbnQpcmV0dXJuIG8uY3VycmVudCh0LmN1cnJlbnQpLCgpPT5vLmN1cnJlbnQobnVsbCl9KSxbZV0pLHR9ZnVuY3Rpb24gYShlLHQpe251bGwhPT1lJiYoImZ1bmN0aW9uIj09dHlwZW9mIGU/ZSh0KTplLmN1cnJlbnQ9dCl9fSw2ODk4OTQoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7aG92ZXJNb3VzZUV2ZW50RmlsdGVyOigpPT5hLHVzZUFjY3VyYXRlSG92ZXI6KCk9Pm8sdXNlSG92ZXI6KCk9Pm4sdXNlSG92ZXJEZXByZWNhdGVkOigpPT5pfSk7dmFyIHM9cig3Nzk0NzQpO2Z1bmN0aW9uIG4oKXtjb25zdFtlLHRdPSgwLHMudXNlU3RhdGUpKCExKTtyZXR1cm5bZSx7b25Nb3VzZUVudGVyOmZ1bmN0aW9uKGUpe3QoITApfSwKb25Nb3VzZUxlYXZlOmZ1bmN0aW9uKGUpe3QoITEpfX1dfWZ1bmN0aW9uIGkoKXtjb25zdFtlLHRdPSgwLHMudXNlU3RhdGUpKCExKTtyZXR1cm5bZSx7b25Nb3VzZU92ZXI6ZnVuY3Rpb24oZSl7YShlKSYmdCghMCl9LG9uTW91c2VPdXQ6ZnVuY3Rpb24oZSl7YShlKSYmdCghMSl9fV19ZnVuY3Rpb24gYShlKXtyZXR1cm4hZS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCl9ZnVuY3Rpb24gbyhlKXtjb25zdFt0LHJdPSgwLHMudXNlU3RhdGUpKCExKTtyZXR1cm4oMCxzLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgdD10PT57aWYobnVsbD09PWUuY3VycmVudClyZXR1cm47Y29uc3Qgcz1lLmN1cnJlbnQuY29udGFpbnModC50YXJnZXQpO3Iocyl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHQpLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHQpfSksW10pLHR9fSw3MTk0MjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7dXNlUmVzaXplT2JzZXJ2ZXI6KCk9PmF9KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDYxNjMxMSksaT1yKDc4Nzg5NSk7ZnVuY3Rpb24gYShlLHQ9W10pe2NvbnN0e2NhbGxiYWNrOnIscmVmOmE9bnVsbH09ZnVuY3Rpb24oZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGU/e2NhbGxiYWNrOmV9OmV9KGUpLG89KDAscy51c2VSZWYpKG51bGwpLGw9KDAscy51c2VSZWYpKHIpO2wuY3VycmVudD1yO2NvbnN0IGM9KDAsaS51c2VGdW5jdGlvbmFsUmVmT2JqZWN0KShhKSx1PSgwLHMudXNlQ2FsbGJhY2spKChlPT57YyhlKSxudWxsIT09by5jdXJyZW50JiYoby5jdXJyZW50LmRpc2Nvbm5lY3QoKSxudWxsIT09ZSYmby5jdXJyZW50Lm9ic2VydmUoZSkpfSksW2Msb10pO3JldHVybigwLG4udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT4oby5jdXJyZW50PW5ldyBSZXNpemVPYnNlcnZlcigoKGUsdCk9PntsLmN1cnJlbnQoZSx0KX0pKSxjLmN1cnJlbnQmJnUoYy5jdXJyZW50KSwoKT0+e28uY3VycmVudD8uZGlzY29ubmVjdCgpfSkpLFtjLC4uLnRdKSx1fX0sMjczMzEwKGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse0ljb246KCk9Pm59KTt2YXIgcz1yKDc3OTQ3NCk7Y29uc3Qgbj1zLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjpyPSIiLHRpdGxlOm4sYXJpYUxhYmVsOmksYXJpYUxhYmVsbGVkYnk6YSxhcmlhSGlkZGVuOm8sLi4ubH09ZSxjPSEhKG58fGl8fGEpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJpbWciLC4uLmwscmVmOnQsImFyaWEtbGFiZWwiOmksImFyaWEtbGFiZWxsZWRieSI6YSwiYXJpYS1oaWRkZW4iOm98fCFjLHRpdGxlOm4sZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpyfX0pfSkpfSw4MzM5MDMoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKC4uLmUpe3JldHVybiB0PT57Zm9yKGNvbnN0IHIgb2YgZSl2b2lkIDAhPT1yJiZyKHQpfX1yLmQodCx7Y3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcjooKT0+c30pfSwzNjUyMTcoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7SEVBREVSX1RPT0xCQVJfSEVJR0hUX0NPTExBUFNFRDooKT0+aSxIRUFERVJfVE9PTEJBUl9IRUlHSFRfRVhQQU5ERUQ6KCk9Pm59KTt2YXIgcz1yKDU3NTEzNyk7Y29uc3Qgbj1wYXJzZUludChzWyJjc3MtdmFsdWUtaGVhZGVyLXRvb2xiYXItaGVpZ2h0Il0pLGk9M30sNTIzODAxKGUsdCxyKXsidXNlIHN0cmljdCI7ci5yKHQpLHIuZCh0LHtIZWFkZXJUb29sYmFyOigpPT5fZX0pO3ZhciBzPXIoNzc5NDc0KSxuPXIoOTE0NDg3KSxpPXIubihuKSxhPXIoNTI3MzIzKSxvPXIubihhKSxsPXIoNTg3MTY4KSxjPXIoMzA0MjIxKTtjb25zdCB1PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lfTt2YXIgZD1yKDEzODYzOCksaD1yKDIzMjM2NCksbT1yKDkzMDIzMSksdj1yKDE3OTc3MSkscD1yKDIyMTg5NiksZj1yKDM2MzI2OSksUz1yKDk5ODE1OCksYj1yKDE2NDU2Nik7ZnVuY3Rpb24gZyhlKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKGIuc2VwYXJhdG9yLGUuY2xhc3NOYW1lKX0pfXZhciBfPXIoMjc5NTMyKTtmdW5jdGlvbiB5KGUpe2NvbnN0e2NoaWxkcmVuOnQsY2xhc3NOYW1lOnIsbm9MZWZ0RGVjb3JhdGlvbjpuLG5vUmlnaHREZWNvcmF0aW9uOmEsbm9NaW5pbWFsV2lkdGg6byxvbkNsaWNrOmwscmVtb3ZlU2VwYXJhdG9yOmN9PWU7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwsIWMmJnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOl8uc2VwYXJhdG9yV3JhcH0scy5jcmVhdGVFbGVtZW50KGcse2NsYXNzTmFtZTpfLnNlcGFyYXRvcn0pKSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTppKCkocixfLmdyb3VwLHtbXy5ub01pbmltYWxXaWR0aF06byxbXy5ub0xlZnREZWNvcmF0aW9uXTpuLFtfLm5vUmlnaHREZWNvcmF0aW9uXTphfSksb25DbGljazpsfSx0KSl9dmFyIEU9cig1MDk5OTApLEM9cigxODUyNzEpLFQ9cigyNzMzMTApLHc9cigzNzA3NzUpLEQ9cigzMDE2MDcpO2NvbnN0IE09e3RleHQ6Qy50KG51bGwsdm9pZCAwLHIoNTQwOTEwKSl9O2Z1bmN0aW9uIFIoZSl7cmV0dXJuIHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOncud3JhcH0scy5jcmVhdGVFbGVtZW50KFQuSWNvbix7Y2xhc3NOYW1lOncuaWNvbixpY29uOkR9KSxNLnRleHQpfXZhciBrPXIoMjE4ODE0KSxJPXIoMTE1MjkzKSxGPXIoMzQyNzgpLE89cigzOTE4OTApLEE9cig4NDYwMTEpO2NvbnN0IFY9e2lzVmlzaWJsZVNjcm9sbGJhcjohMCxzaG91bGRNZWFzdXJlOiEwLGhpZGVCdXR0b25zRnJvbToxfTtmdW5jdGlvbiBOKGUpe3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTppKCkoQS5mYWRlTGVmdCxlLmNsYXNzTmFtZSx7W0EuaXNWaXNpYmxlXTplLmlzVmlzaWJsZX0pfSl9ZnVuY3Rpb24gTChlKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKEEuZmFkZVJpZ2h0LGUuY2xhc3NOYW1lLHsKW0EuaXNWaXNpYmxlXTplLmlzVmlzaWJsZX0pfSl9ZnVuY3Rpb24geChlKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KEIsey4uLmUsY2xhc3NOYW1lOkEuc2Nyb2xsTGVmdH0pfWZ1bmN0aW9uIFcoZSl7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChCLHsuLi5lLGNsYXNzTmFtZTpBLnNjcm9sbFJpZ2h0fSl9ZnVuY3Rpb24gQihlKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKGUuY2xhc3NOYW1lLHtbQS5pc1Zpc2libGVdOmUuaXNWaXNpYmxlfSksb25DbGljazplLm9uQ2xpY2t9LHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkEuaWNvbldyYXB9LHMuY3JlYXRlRWxlbWVudChULkljb24se2ljb246TyxjbGFzc05hbWU6QS5pY29ufSkpKX1jb25zdCBQPWZ1bmN0aW9uKGU9eCx0PVcscj1OLG49TCl7dmFyIGE7cmV0dXJuKGE9Y2xhc3MgZXh0ZW5kcyBzLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fc2Nyb2xsPXMuY3JlYXRlUmVmKCksdGhpcy5faGFuZGxlU2Nyb2xsTGVmdD0oKT0+e2lmKHRoaXMucHJvcHMub25TY3JvbGxCdXR0b25DbGljaylyZXR1cm4gdm9pZCB0aGlzLnByb3BzLm9uU2Nyb2xsQnV0dG9uQ2xpY2soImxlZnQiKTtjb25zdCBlPXRoaXMucHJvcHMuc2Nyb2xsU3RlcFNpemV8fHRoaXMuc3RhdGUud2lkdGhXcmFwLTUwO3RoaXMuYW5pbWF0ZVRvKE1hdGgubWF4KDAsdGhpcy5jdXJyZW50UG9zaXRpb24oKS1lKSl9LHRoaXMuX2hhbmRsZVNjcm9sbFJpZ2h0PSgpPT57aWYodGhpcy5wcm9wcy5vblNjcm9sbEJ1dHRvbkNsaWNrKXJldHVybiB2b2lkIHRoaXMucHJvcHMub25TY3JvbGxCdXR0b25DbGljaygicmlnaHQiKTtjb25zdCBlPXRoaXMucHJvcHMuc2Nyb2xsU3RlcFNpemV8fHRoaXMuc3RhdGUud2lkdGhXcmFwLTUwO3RoaXMuYW5pbWF0ZVRvKE1hdGgubWluKCh0aGlzLnN0YXRlLndpZHRoQ29udGVudHx8MCktKHRoaXMuc3RhdGUud2lkdGhXcmFwfHwwKSx0aGlzLmN1cnJlbnRQb3NpdGlvbigpK2UpKX0sdGhpcy5faGFuZGxlUmVzaXplV3JhcD0oW2VdKT0+e2NvbnN0IHQ9ZS50YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5wcm9wcy5vbk1lYXN1cmVXcmFwJiZ0aGlzLnByb3BzLm9uTWVhc3VyZVdyYXAodCksdGhpcy5zZXRTdGF0ZSh7d2lkdGhXcmFwOnQud2lkdGh9KSx0aGlzLl9jaGVja0J1dHRvbnNWaXNpYmlsaXR5KCl9LHRoaXMuX2hhbmRsZVJlc2l6ZUNvbnRlbnQ9KFtlXSk9Pntjb25zdCB0PWUudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMucHJvcHMub25NZWFzdXJlQ29udGVudCYmdGhpcy5wcm9wcy5vbk1lYXN1cmVDb250ZW50KHQpO2NvbnN0e3Nob3VsZERlY3JlYXNlV2lkdGhDb250ZW50OnIsYnV0dG9uc1dpZHRoSWZEZWNyZWFzZWRXaWR0aENvbnRlbnQ6c309dGhpcy5wcm9wcztyJiZzP3RoaXMuc2V0U3RhdGUoe3dpZHRoQ29udGVudDp0LndpZHRoKzIqc30pOnRoaXMuc2V0U3RhdGUoe3dpZHRoQ29udGVudDp0LndpZHRofSl9LHRoaXMuX2hhbmRsZVNjcm9sbD0oKT0+e2NvbnN0e29uU2Nyb2xsOmV9PXRoaXMucHJvcHM7ZSYmZSh0aGlzLmN1cnJlbnRQb3NpdGlvbigpLHRoaXMuaXNBdExlZnQoKSx0aGlzLmlzQXRSaWdodCgpKSx0aGlzLl9jaGVja0J1dHRvbnNWaXNpYmlsaXR5KCl9LHRoaXMuX2NoZWNrQnV0dG9uc1Zpc2liaWxpdHk9KCk9Pntjb25zdHtpc1Zpc2libGVMZWZ0QnV0dG9uOmUsaXNWaXNpYmxlUmlnaHRCdXR0b246dH09dGhpcy5zdGF0ZSxyPXRoaXMuaXNBdExlZnQoKSxzPXRoaXMuaXNBdFJpZ2h0KCk7cnx8ZT9yJiZlJiZ0aGlzLnNldFN0YXRlKHtpc1Zpc2libGVMZWZ0QnV0dG9uOiExfSk6dGhpcy5zZXRTdGF0ZSh7aXNWaXNpYmxlTGVmdEJ1dHRvbjohMH0pLHN8fHQ/cyYmdCYmdGhpcy5zZXRTdGF0ZSh7aXNWaXNpYmxlUmlnaHRCdXR0b246ITF9KTp0aGlzLnNldFN0YXRlKHtpc1Zpc2libGVSaWdodEJ1dHRvbjohMH0pfSx0aGlzLnN0YXRlPXt3aWR0aENvbnRlbnQ6MCx3aWR0aFdyYXA6MCxpc1Zpc2libGVSaWdodEJ1dHRvbjohMSxpc1Zpc2libGVMZWZ0QnV0dG9uOiExfX1jb21wb25lbnREaWRNb3VudCgpe3RoaXMuX2NoZWNrQnV0dG9uc1Zpc2liaWxpdHkoKX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXt0LndpZHRoV3JhcD09PXRoaXMuc3RhdGUud2lkdGhXcmFwJiZ0LndpZHRoQ29udGVudD09PXRoaXMuc3RhdGUud2lkdGhDb250ZW50fHx0aGlzLl9oYW5kbGVTY3JvbGwoKX1jdXJyZW50UG9zaXRpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsLmN1cnJlbnQ/KDAsSS5pc1J0bCkoKT8oMCxJLmdldExUUlNjcm9sbExlZnQpKHRoaXMuX3Njcm9sbC5jdXJyZW50KTp0aGlzLl9zY3JvbGwuY3VycmVudC5zY3JvbGxMZWZ0OjB9aXNBdExlZnQoKXtyZXR1cm4hdGhpcy5faXNPdmVyZmxvd2VkKCl8fHRoaXMuY3VycmVudFBvc2l0aW9uKCk8PSgwLGQuZW5zdXJlRGVmaW5lZCkodGhpcy5wcm9wcy5oaWRlQnV0dG9uc0Zyb20pfWlzQXRSaWdodCgpe3JldHVybiF0aGlzLl9pc092ZXJmbG93ZWQoKXx8dGhpcy5jdXJyZW50UG9zaXRpb24oKSt0aGlzLnN0YXRlLndpZHRoV3JhcD49dGhpcy5zdGF0ZS53aWR0aENvbnRlbnQtKDAsZC5lbnN1cmVEZWZpbmVkKSh0aGlzLnByb3BzLmhpZGVCdXR0b25zRnJvbSl9YW5pbWF0ZVRvKGUsdD1rLmR1cil7Y29uc3Qgcj10aGlzLl9zY3JvbGwuY3VycmVudDtyJiYoKDAsSS5pc1J0bCkoKSYmKGU9KDAsSS5nZXRMVFJTY3JvbGxMZWZ0T2Zmc2V0KShyLGUpKSx0PD0wP3Iuc2Nyb2xsTGVmdD1NYXRoLnJvdW5kKGUpOigwLEYuZG9BbmltYXRlKSh7b25TdGVwKGUsdCl7ci5zY3JvbGxMZWZ0PU1hdGgucm91bmQodCl9LGZyb206ci5zY3JvbGxMZWZ0LHRvOk1hdGgucm91bmQoZSksZWFzaW5nOmsuZWFzaW5nRnVuYy5lYXNlSW5PdXRDdWJpYyxkdXJhdGlvbjp0fSkpfXJlbmRlcigpewpjb25zdHtjaGlsZHJlbjphLGlzVmlzaWJsZVNjcm9sbGJhcjpvLGlzVmlzaWJsZUZhZGU6bCxpc1Zpc2libGVCdXR0b25zOmMsc2hvdWxkTWVhc3VyZTp1LHNob3VsZERlY3JlYXNlV2lkdGhDb250ZW50OmQsYnV0dG9uc1dpZHRoSWZEZWNyZWFzZWRXaWR0aENvbnRlbnQ6aCxvbk1vdXNlT3ZlcjptLG9uTW91c2VPdXQ6dixzY3JvbGxXcmFwQ2xhc3NOYW1lOnAsZmFkZUNsYXNzTmFtZTpmfT10aGlzLnByb3BzLHtpc1Zpc2libGVSaWdodEJ1dHRvbjpTLGlzVmlzaWJsZUxlZnRCdXR0b246Yn09dGhpcy5zdGF0ZSxnPWQmJmg7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChFLk1lYXN1cmUse29uUmVzaXplOnU/dGhpcy5faGFuZGxlUmVzaXplV3JhcDpudWxsfSwoZD0+cy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6QS53cmFwT3ZlcmZsb3csb25Nb3VzZU92ZXI6bSxvbk1vdXNlT3V0OnYscmVmOmR9LHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShBLndyYXAsZz9BLndyYXBXaXRoQXJyb3dzT3V0aW5nOiIiKX0scy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKEEuc2Nyb2xsV3JhcCxwLHtbQS5ub1Njcm9sbEJhcl06IW99KSxvblNjcm9sbDp0aGlzLl9oYW5kbGVTY3JvbGwscmVmOnRoaXMuX3Njcm9sbH0scy5jcmVhdGVFbGVtZW50KEUuTWVhc3VyZSx7b25SZXNpemU6dT90aGlzLl9oYW5kbGVSZXNpemVDb250ZW50Om51bGx9LGEpKSxsJiZzLmNyZWF0ZUVsZW1lbnQocix7aXNWaXNpYmxlOmIsY2xhc3NOYW1lOmZ9KSxsJiZzLmNyZWF0ZUVsZW1lbnQobix7aXNWaXNpYmxlOlMsY2xhc3NOYW1lOmZ9KSxjJiZzLmNyZWF0ZUVsZW1lbnQoZSx7b25DbGljazp0aGlzLl9oYW5kbGVTY3JvbGxMZWZ0LGlzVmlzaWJsZTpifSksYyYmcy5jcmVhdGVFbGVtZW50KHQse29uQ2xpY2s6dGhpcy5faGFuZGxlU2Nyb2xsUmlnaHQsaXNWaXNpYmxlOlN9KSkpKSl9X2lzT3ZlcmZsb3dlZCgpe2NvbnN0e3dpZHRoQ29udGVudDplLHdpZHRoV3JhcDp0fT10aGlzLnN0YXRlO3JldHVybiBlPnR9fSkuZGVmYXVsdFByb3BzPVYsYX0oeCxXLE4sTCk7dmFyIEgsej1yKDUxODc1KTshZnVuY3Rpb24oZSl7ZS5TeW1ib2xTZWFyY2g9ImhlYWRlci10b29sYmFyLXN5bWJvbC1zZWFyY2giLGUuSW50ZXJ2YWxzPSJoZWFkZXItdG9vbGJhci1pbnRlcnZhbHMiLGUuQ2hhcnRTdHlsZXM9ImhlYWRlci10b29sYmFyLWNoYXJ0LXN0eWxlcyIsZS5Db21wYXJlPSJoZWFkZXItdG9vbGJhci1jb21wYXJlIixlLkluZGljYXRvcnM9ImhlYWRlci10b29sYmFyLWluZGljYXRvcnMiLGUuU3R1ZHlUZW1wbGF0ZXM9ImhlYWRlci10b29sYmFyLXN0dWR5LXRlbXBsYXRlcyIsZS5Ecm9wZG93bj0iaGVhZGVyLXRvb2xiYXItZHJvcGRvd24iLGUuQWxlcnRzPSJoZWFkZXItdG9vbGJhci1hbGVydHMiLGUuTGF5b3V0cz0iaGVhZGVyLXRvb2xiYXItbGF5b3V0cyIsZS5TYXZlTG9hZD0iaGVhZGVyLXRvb2xiYXItc2F2ZS1sb2FkIixlLlVuZG9SZWRvPSJoZWFkZXItdG9vbGJhci11bmRvLXJlZG8iLGUuUHJvcGVydGllcz0iaGVhZGVyLXRvb2xiYXItcHJvcGVydGllcyIsZS5RdWlja1NlYXJjaD0iaGVhZGVyLXRvb2xiYXItcXVpY2stc2VhcmNoIixlLlRyYWRlRGVza3RvcD0iaGVhZGVyLXRvb2xiYXItdHJhZGUtZGVza3RvcCIsZS5UcmFkZU1vYmlsZT0iaGVhZGVyLXRvb2xiYXItdHJhZGUtbW9iaWxlIixlLlB1Ymxpc2hEZXNrdG9wPSJoZWFkZXItdG9vbGJhci1wdWJsaXNoLWRlc2t0b3AiLGUuUHVibGlzaE1vYmlsZT0iaGVhZGVyLXRvb2xiYXItcHVibGlzaC1tb2JpbGUiLGUuRnVsbHNjcmVlbj0iaGVhZGVyLXRvb2xiYXItZnVsbHNjcmVlbiIsZS5TY3JlZW5zaG90PSJoZWFkZXItdG9vbGJhci1zY3JlZW5zaG90IixlLlRlbGVncmFtU2hhcmU9ImhlYWRlci10b29sYmFyLXRlbGVncmFtLXNoYXJlIixlLlJlcGxheT0iaGVhZGVyLXRvb2xiYXItcmVwbGF5IixlLkZpbmFuY2lhbHM9ImhlYWRlci10b29sYmFyLWZpbmFuY2lhbHMifShIfHwoSD17fSkpO3ZhciBxPXIoNjg5ODk0KSxqPXIoNTY5NjUyKSxHPXIoNzMwMDA5KSxVPXIoNTY5Mzk4KSxLPXIoMzE4OTc0KSwkPXIoMzg2OTMxKSxZPXIoNzAxMTU2KSxKPXIoMjE4NjAzKTtjb25zdCBaPSgwLGoucmVnaXN0cnlDb250ZXh0VHlwZSkoKSxYPSgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpO2NsYXNzIFEgZXh0ZW5kcyBzLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuX2hhbmRsZU1vdXNlT3Zlcj1lPT57KDAscS5ob3Zlck1vdXNlRXZlbnRGaWx0ZXIpKGUpJiZ0aGlzLnNldFN0YXRlKHtpc0hvdmVyZWQ6ITB9KX0sdGhpcy5faGFuZGxlTW91c2VPdXQ9ZT0+eygwLHEuaG92ZXJNb3VzZUV2ZW50RmlsdGVyKShlKSYmdGhpcy5zZXRTdGF0ZSh7aXNIb3ZlcmVkOiExfSl9LHRoaXMuX2hhbmRsZUlubmVyUmVzaXplPShbZV0pPT57Y29uc3QgdD1lLmNvbnRlbnRSZWN0LndpZHRoLHtvbldpZHRoQ2hhbmdlOnJ9PXRoaXMucHJvcHM7ciYmcih0KX0sdGhpcy5faGFuZGxlTWVhc3VyZUF2YWlsYWJsZVNwYWNlPWU9Pntjb25zdHtvbkF2YWlsYWJsZVNwYWNlQ2hhbmdlOnR9PXRoaXMucHJvcHM7dCYmdChlLndpZHRoKX0sdGhpcy5fcHJvY2Vzc0N1c3RvbXM9KGUsdD0hMSk9Pntjb25zdHtpc0Zha2U6cixkaXNwbGF5TW9kZTpufT10aGlzLnByb3BzLHt0b29sczppfT10aGlzLmNvbnRleHQ7cmV0dXJuIGUubWFwKChlPT5zLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OmUuaWQscmVtb3ZlU2VwYXJhdG9yOnR9LChlPT57c3dpdGNoKGUudHlwZSl7Y2FzZSJCdXR0b24iOnJldHVybiBzLmNyZWF0ZUVsZW1lbnQoaS5DdXN0b20sey4uLmUucGFyYW1zLGlzRmFrZTpyfSk7Y2FzZSJUcmFkaW5nVmlld1N0eWxlZEJ1dHRvbiI6cmV0dXJuIHMuY3JlYXRlRWxlbWVudChpLkN1c3RvbVRyYWRpbmdWaWV3U3R5bGVkQnV0dG9uLHsuLi5lLnBhcmFtcyxjbGFzc05hbWU6Si5idXR0b24sZGlzcGxheU1vZGU6bn0pO2Nhc2UiRHJvcGRvd24iOnJldHVybiBzLmNyZWF0ZUVsZW1lbnQoaS5Ecm9wZG93bix7ZGlzcGxheU1vZGU6biwKcGFyYW1zOmUucGFyYW1zfSk7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KShlKSkpKX0sdGhpcy5fZml4TGFzdEdyb3VwPShlLHQscik9PntpZih0PT09ci5sZW5ndGgtMSYmcy5pc1ZhbGlkRWxlbWVudChlKSYmZS50eXBlPT09eSl7Y29uc3QgdD12b2lkIDAhPT10aGlzLmNvbnRleHQudG9vbHMuUHVibGlzaCYmIXRoaXMucHJvcHMucmVhZE9ubHk7cmV0dXJuIHMuY2xvbmVFbGVtZW50KGUse25vUmlnaHREZWNvcmF0aW9uOnR9KX1yZXR1cm4gZX0sdGhpcy5faGFuZGxlRGlhbG9nVG9vbHNDaGFuZ2U9ZT0+e3RoaXMuc2V0U3RhdGUoe2FjdGl2ZURpYWxvZ1Rvb2xzQ29uZmlnOmV9KX0sKDAsai52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHt0b29sczpwLmFueS5pc1JlcXVpcmVkfSksdGhpcy5zdGF0ZT17aXNIb3ZlcmVkOiExLGFjdGl2ZURpYWxvZ1Rvb2xzQ29uZmlnOm51bGx9fWNvbXBvbmVudERpZE1vdW50KCl7KDAsWS5nZXREaWFsb2dUb29sc01hbmFnZXIpKCk/LmdldEFjdGl2ZURpYWxvZ1Rvb2xzKCkuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZURpYWxvZ1Rvb2xzQ2hhbmdlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpeygwLFkuZ2V0RGlhbG9nVG9vbHNNYW5hZ2VyKSgpPy5nZXRBY3RpdmVEaWFsb2dUb29scygpLnVuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZURpYWxvZ1Rvb2xzQ2hhbmdlKX1yZW5kZXIoKXtjb25zdHt0b29sczplfT10aGlzLmNvbnRleHQse3JlYWRPbmx5OnQsc2hvd1Njcm9sbGJhcldoZW46cixkaXNwbGF5TW9kZTpuLGlzRmFrZTphPSExfT10aGlzLnByb3BzLHtpc0hvdmVyZWQ6b309dGhpcy5zdGF0ZSxsPXIuaW5jbHVkZXMobik7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChHLlRvb2xiYXIse2NsYXNzTmFtZTppKCkoSi5pbm5lcix7W0ouZmFrZV06YX0pLG9uQ29udGV4dE1lbnU6ei5wcmV2ZW50RGVmYXVsdEZvckNvbnRleHRNZW51LCJkYXRhLWlzLWZha2UtbWFpbi1wYW5lbCI6YSwiYXJpYS1oaWRkZW4iOmF9LHMuY3JlYXRlRWxlbWVudChQLHtpc1Zpc2libGVGYWRlOmYubW9iaWxldG91Y2gmJmwsaXNWaXNpYmxlQnV0dG9uczohZi5tb2JpbGV0b3VjaCYmbCYmbyxpc1Zpc2libGVTY3JvbGxiYXI6ITEsc2hvdWxkTWVhc3VyZTohYSxvbk1vdXNlT3Zlcjp0aGlzLl9oYW5kbGVNb3VzZU92ZXIsb25Nb3VzZU91dDp0aGlzLl9oYW5kbGVNb3VzZU91dCxvbk1lYXN1cmVXcmFwOnRoaXMuX2hhbmRsZU1lYXN1cmVBdmFpbGFibGVTcGFjZX0sKGU9PnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkouY29udGVudCxyZWY6ZSxyb2xlOiJub25lIn0scy5jcmVhdGVFbGVtZW50KEUuTWVhc3VyZSx7b25SZXNpemU6YT90aGlzLl9oYW5kbGVJbm5lclJlc2l6ZTpudWxsfSwoZT0+cy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Si5pbm5lcldyYXAscmVmOmV9LHRoaXMuc3RhdGUuYWN0aXZlRGlhbG9nVG9vbHNDb25maWc/dGhpcy5fcmVuZGVyRGlhbG9nVG9vbHMoKTpzLmNyZWF0ZUVsZW1lbnQoUy5GcmFnbWVudE1hcCx7bWFwOnRoaXMuX2ZpeExhc3RHcm91cH0sdGhpcy5fcmVuZGVyTGVmdFRvb2xzKCksdGhpcy5fcmVuZGVyUmlnaHRUb29scygpKSkpKSkpKSwhdCYmIWEmJiF0aGlzLnN0YXRlLmFjdGl2ZURpYWxvZ1Rvb2xzQ29uZmlnJiZzLmNyZWF0ZUVsZW1lbnQocy5GcmFnbWVudCxudWxsLCEoMCxLLmlzU3ltcGhvbnlFbWJlZCkoKSYmZS5UcmFkZSYmcy5jcmVhdGVFbGVtZW50KGUuVHJhZGUse2lkOkguVHJhZGVEZXNrdG9wLGNsYXNzTmFtZTpKLmRlc2t0b3BUcmFkZX0pLGUuUHVibGlzaCYmISgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfcHVibGlzaF9idXR0b24iKSYmcy5jcmVhdGVFbGVtZW50KGUuUHVibGlzaCx7aWQ6SC5QdWJsaXNoRGVza3RvcCxjbGFzc05hbWU6Si5kZXNrdG9wUHVibGlzaH0pKSl9X3RyYWNrRnVsbHNjcmVlbkJ1dHRvbkNsaWNrKCl7KDAsJC50cmFja0V2ZW50KSgiR1VJIiwiQ2hhcnQgSGVhZGVyIFRvb2xiYXIiLCJmdWxsc2NyZWVuIil9X3JlbmRlckxlZnRUb29scygpe2NvbnN0e3Rvb2xzOmV9PXRoaXMuY29udGV4dCx7ZmVhdHVyZXM6dCxkaXNwbGF5TW9kZTpyLHN0dWR5TWFya2V0Om4sbGVmdEN1c3RvbUVsZW1lbnRzOmkscmVhZE9ubHk6YSxpc0Zha2U6bz0hMX09dGhpcy5wcm9wcztpZihhKXJldHVybiBudWxsO2NvbnN0IGw9dGhpcy5fcHJvY2Vzc0N1c3RvbXMoaSk7cmV0dXJuIHMuQ2hpbGRyZW4udG9BcnJheShbKGUuU3ltYm9sU2VhcmNofHwhWCYmZS5Db21wYXJlKSYmcy5jcmVhdGVFbGVtZW50KHkse2tleToic3ltYm9sIn0sZS5TeW1ib2xTZWFyY2gmJnMuY3JlYXRlRWxlbWVudChlLlN5bWJvbFNlYXJjaCx7aWQ6bz92b2lkIDA6SC5TeW1ib2xTZWFyY2gsaXNGYWtlOm8saXNBY3Rpb25zVmlzaWJsZTp0LmFsbG93U3ltYm9sU2VhcmNoU3ByZWFkfSksZS5Db21wYXJlJiZzLmNyZWF0ZUVsZW1lbnQoZS5Db21wYXJlLHtpZDpvP3ZvaWQgMDpILkNvbXBhcmUsY2xhc3NOYW1lOkouYnV0dG9uLGRpc3BsYXlNb2RlOnJ9KSksZS5EYXRlUmFuZ2UmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InJhbmdlIn0scy5jcmVhdGVFbGVtZW50KGUuRGF0ZVJhbmdlLG51bGwpKSxlLkludGVydmFscyYmcy5jcmVhdGVFbGVtZW50KHkse2tleToiaW50ZXJ2YWxzIn0scy5jcmVhdGVFbGVtZW50KGUuSW50ZXJ2YWxzLHtpZDpvP3ZvaWQgMDpILkludGVydmFscyxpc1Nob3duUXVpY2tzOnQuYWxsb3dGYXZvcml0aW5nLGlzRmF2b3JpdGluZ0FsbG93ZWQ6dC5hbGxvd0Zhdm9yaXRpbmcsZGlzcGxheU1vZGU6cixpc0Zha2U6b30pKSxlLkJhcnMmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InN0eWxlcyJ9LHMuY3JlYXRlRWxlbWVudChlLkJhcnMse2lkOm8/dm9pZCAwOkguQ2hhcnRTdHlsZXMsaXNTaG93blF1aWNrczp0LmFsbG93RmF2b3JpdGluZyxpc0Zhdm9yaXRpbmdBbGxvd2VkOnQuYWxsb3dGYXZvcml0aW5nLGRpc3BsYXlNb2RlOnIsaXNGYWtlOm99KSksWCYmZS5Db21wYXJlJiYhZS5TeW1ib2xTZWFyY2gmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6ImNvbXBhcmUifSxzLmNyZWF0ZUVsZW1lbnQoZS5Db21wYXJlLHsKaWQ6bz92b2lkIDA6SC5Db21wYXJlLGNsYXNzTmFtZTpKLmJ1dHRvbixkaXNwbGF5TW9kZTpyfSkpLGUuSW5kaWNhdG9ycyYmcy5jcmVhdGVFbGVtZW50KHkse2tleToiaW5kaWNhdG9ycyJ9LHMuY3JlYXRlRWxlbWVudChlLkluZGljYXRvcnMse2lkOm8/dm9pZCAwOkguSW5kaWNhdG9ycyxjbGFzc05hbWU6Si5idXR0b24sc3R1ZHlNYXJrZXQ6bixkaXNwbGF5TW9kZTpyfSksZS5UZW1wbGF0ZXMmJnMuY3JlYXRlRWxlbWVudChlLlRlbXBsYXRlcyx7aWQ6bz92b2lkIDA6SC5TdHVkeVRlbXBsYXRlcyxpc1Nob3duUXVpY2tzOnQuYWxsb3dGYXZvcml0aW5nLGlzRmF2b3JpdGluZ0FsbG93ZWQ6dC5hbGxvd0Zhdm9yaXRpbmcsZGlzcGxheU1vZGU6cn0pKSxlLkFsZXJ0JiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJhbGVydCJ9LHMuY3JlYXRlRWxlbWVudChlLkFsZXJ0LHtpZDpvP3ZvaWQgMDpILkFsZXJ0cyxjbGFzc05hbWU6Si5idXR0b24sZGlzcGxheU1vZGU6cn0pLGUuUmVwbGF5JiZzLmNyZWF0ZUVsZW1lbnQoZS5SZXBsYXkse2lkOm8/dm9pZCAwOkguUmVwbGF5LGNsYXNzTmFtZTpKLmJ1dHRvbixkaXNwbGF5TW9kZTpyfSkpLGUuQWxlcnRSZWZlcnJhbCYmISgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfYWxlcnRfcmVmZXJyYWxfdG9vbCIpJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJhbGVydC1yZWZlcnJhbCJ9LHMuY3JlYXRlRWxlbWVudChlLkFsZXJ0UmVmZXJyYWwse2NsYXNzTmFtZTpKLmJ1dHRvbixkaXNwbGF5TW9kZTpyfSkpLGUuU2NhbGVQZXJjZW50YWdlJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJwZXJjZW50YWdlIn0scy5jcmVhdGVFbGVtZW50KGUuU2NhbGVQZXJjZW50YWdlLG51bGwpKSxlLlNjYWxlTG9nYXJpdGhtJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJsb2dhcml0aG0ifSxzLmNyZWF0ZUVsZW1lbnQoZS5TY2FsZUxvZ2FyaXRobSxudWxsKSksLi4ubF0pfV9yZW5kZXJSaWdodFRvb2xzKCl7Y29uc3R7dG9vbHM6ZX09dGhpcy5jb250ZXh0LHtmZWF0dXJlczp0LGRpc3BsYXlNb2RlOnIsY2hhcnRTYXZlcjpuLHJlYWRPbmx5OmEsc2F2ZUxvYWRTeW5jRW1pdHRlcjpvLHJpZ2h0Q3VzdG9tRWxlbWVudHM6bCxpc0Zha2U6Yz0hMX09dGhpcy5wcm9wcyx1PXRoaXMuX3Byb2Nlc3NDdXN0b21zKGwpO3JldHVybiB0ZShzLkNoaWxkcmVuLnRvQXJyYXkoW2EmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InZpZXctb25seS1iYWRnZSIscmVtb3ZlU2VwYXJhdG9yOiEwfSxzLmNyZWF0ZUVsZW1lbnQoUixudWxsKSksIWEmJmUuVW5kb1JlZG8mJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InVuZG8tcmVkbyJ9LHMuY3JlYXRlRWxlbWVudChlLlVuZG9SZWRvLHtpZDpjP3ZvaWQgMDpILlVuZG9SZWRvfSkpLHMuY3JlYXRlRWxlbWVudCh5LHtyZW1vdmVTZXBhcmF0b3I6ITAsa2V5OiJnYXAtMSIsY2xhc3NOYW1lOmkoKShKLmZpbGwsYyYmSi5jb2xsYXBzZSl9KSwoZS5MYXlvdXR8fGUuU2F2ZUxvYWQpJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJsYXlvdXQiLHJlbW92ZVNlcGFyYXRvcjohMH0sIWEmJmUuTGF5b3V0JiZzLmNyZWF0ZUVsZW1lbnQoZS5MYXlvdXQse2lkOmM/dm9pZCAwOkguTGF5b3V0c30pLGUuU2F2ZUxvYWQmJnMuY3JlYXRlRWxlbWVudChlLlNhdmVMb2FkLHtpZDpjP3ZvaWQgMDpILlNhdmVMb2FkLGNoYXJ0U2F2ZXI6bixpc1JlYWRPbmx5OmEsZGlzcGxheU1vZGU6cixpc0Zha2U6YyxzdGF0ZVN5bmNFbWl0dGVyOm99KSksZS5TYXZlTG9hZFJlZmVycmFsJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJzYXZlLWxvYWQtcmVmZXJyYWwifSxzLmNyZWF0ZUVsZW1lbnQoZS5TYXZlTG9hZFJlZmVycmFsLHtpc1JlYWRPbmx5OmEsZGlzcGxheU1vZGU6cn0pKSx0LnNob3dMYXVuY2hJblBvcHVwQnV0dG9uJiZlLk9wZW5Qb3B1cCYmISgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfb3Blbl9wb3B1cF9idXR0b24iKSYmcy5jcmVhdGVFbGVtZW50KHkse2tleToicG9wdXAifSxzLmNyZWF0ZUVsZW1lbnQoZS5PcGVuUG9wdXAsbnVsbCkpLCFhJiYhWCYmKGUuUHJvcGVydGllc3x8ZS5GdWxsc2NyZWVufHxlLlNjcmVlbnNob3QpJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJwcm9wZXJ0aWVzIn0sIWEmJmUuUXVpY2tTZWFyY2gmJnMuY3JlYXRlRWxlbWVudChlLlF1aWNrU2VhcmNoLHtpZDpjP3ZvaWQgMDpILlF1aWNrU2VhcmNoLGNsYXNzTmFtZTpKLmljb25CdXR0b259KSwhYSYmZS5Qcm9wZXJ0aWVzJiZzLmNyZWF0ZUVsZW1lbnQoZS5Qcm9wZXJ0aWVzLHtpZDpjP3ZvaWQgMDpILlByb3BlcnRpZXMsY2xhc3NOYW1lOkouaWNvbkJ1dHRvbn0pLHMuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwsIWEmJmUuRnVsbHNjcmVlbiYmcy5jcmVhdGVFbGVtZW50KHkse2tleToiZnVsbHNjcmVlbiIsb25DbGljazp0aGlzLl90cmFja0Z1bGxzY3JlZW5CdXR0b25DbGljayxyZW1vdmVTZXBhcmF0b3I6ITB9LHMuY3JlYXRlRWxlbWVudChlLkZ1bGxzY3JlZW4se2lkOmM/dm9pZCAwOkguRnVsbHNjcmVlbixjbGlja0FyZWE6InRvcCB0b29sYmFyIn0pKSwhWCYmZS5TY3JlZW5zaG90JiZzLmNyZWF0ZUVsZW1lbnQoZS5TY3JlZW5zaG90LHtpZDpjP3ZvaWQgMDpILlNjcmVlbnNob3QsY2xhc3NOYW1lOkouaWNvbkJ1dHRvbn0pKSksWCYmIWEmJmUuRnVsbHNjcmVlbiYmcy5jcmVhdGVFbGVtZW50KHkse2tleToiZnVsbHNjcmVlbiIsb25DbGljazp0aGlzLl90cmFja0Z1bGxzY3JlZW5CdXR0b25DbGljayxyZW1vdmVTZXBhcmF0b3I6ITB9LHMuY3JlYXRlRWxlbWVudChlLkZ1bGxzY3JlZW4se2lkOmM/dm9pZCAwOkguRnVsbHNjcmVlbixjbGlja0FyZWE6InRvcCB0b29sYmFyIn0pKSxYJiZlLlNjcmVlbnNob3QmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InNjcmVlbnNob3QiLHJlbW92ZVNlcGFyYXRvcjohMH0scy5jcmVhdGVFbGVtZW50KGUuU2NyZWVuc2hvdCx7aWQ6Yz92b2lkIDA6SC5TY3JlZW5zaG90LGNsYXNzTmFtZTpKLmljb25CdXR0b259KSksWCYmZS5UZWxlZ3JhbVNoYXJlJiYoISgwLApVLmlzRmVhdHVyZUVuYWJsZWQpKCJ0ZWxlZ3JhbV9taW5pX2FwcF9kaXNhYmxlX3NoYXJlX2xhc3RfcHJpY2UiKXx8ISgwLFUuaXNGZWF0dXJlRW5hYmxlZCkoInRlbGVncmFtX21pbmlfYXBwX2Rpc2FibGVfc2hhcmVfc25hcHNob3QiKSkmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InRlbGVncmFtc2hhcmUiLHJlbW92ZVNlcGFyYXRvcjohMH0scy5jcmVhdGVFbGVtZW50KGUuVGVsZWdyYW1TaGFyZSx7aWQ6Yz92b2lkIDA6SC5UZWxlZ3JhbVNoYXJlLGNsYXNzTmFtZTpKLmljb25CdXR0b259KSksIWEmJiEoMCxLLmlzU3ltcGhvbnlFbWJlZCkoKSYmZS5UcmFkZSYmcy5jcmVhdGVFbGVtZW50KHkse2tleToidHJhZGUiLGNsYXNzTmFtZTpKLm1vYmlsZVRyYWRlLHJlbW92ZVNlcGFyYXRvcjohMH0scy5jcmVhdGVFbGVtZW50KGUuVHJhZGUse2lkOmM/dm9pZCAwOkguVHJhZGVNb2JpbGUsbW9iaWxlOiEwfSkpLCFhJiZlLlB1Ymxpc2gmJiEoMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3B1Ymxpc2hfYnV0dG9uIikmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InB1Ymxpc2giLGNsYXNzTmFtZTpKLm1vYmlsZVB1Ymxpc2gscmVtb3ZlU2VwYXJhdG9yOiEwfSxzLmNyZWF0ZUVsZW1lbnQoZS5QdWJsaXNoLHtpZDpjP3ZvaWQgMDpILlB1Ymxpc2hNb2JpbGV9KSksLi4udV0pKX1fcmVuZGVyRGlhbG9nVG9vbHMoKXtjb25zdHt0b29sczplfT10aGlzLmNvbnRleHQse2lzRmFrZTp0LGZlYXR1cmVzOnJ9PXRoaXMucHJvcHMse2FjdGl2ZURpYWxvZ1Rvb2xzQ29uZmlnOm59PXRoaXMuc3RhdGU7aWYoIW4pcmV0dXJuIG51bGw7Y29uc3QgYT10aGlzLl9wcm9jZXNzQ3VzdG9tcyhuLmN1c3RvbUVsZW1lbnRzLCEwKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KHMuRnJhZ21lbnQsbnVsbCxzLmNyZWF0ZUVsZW1lbnQoUy5GcmFnbWVudE1hcCx7bWFwOnRoaXMuX2ZpeExhc3RHcm91cH0scy5DaGlsZHJlbi50b0FycmF5KFtlLlN5bWJvbFNlYXJjaCYmcy5jcmVhdGVFbGVtZW50KHkse2tleToic3ltYm9sIn0scy5jcmVhdGVFbGVtZW50KGUuU3ltYm9sU2VhcmNoLHtpc0Zha2U6dCxpZDp0P3ZvaWQgMDpILlN5bWJvbFNlYXJjaCxpc0FjdGlvbnNWaXNpYmxlOnIuYWxsb3dTeW1ib2xTZWFyY2hTcHJlYWR9KSksLi4uYV0pLHRlKHMuQ2hpbGRyZW4udG9BcnJheShbcy5jcmVhdGVFbGVtZW50KHkse3JlbW92ZVNlcGFyYXRvcjohMCxrZXk6ImdhcC0xIixjbGFzc05hbWU6aSgpKEouZmlsbCx0JiZKLmNvbGxhcHNlKX0pXSkpKSl9fXZhciBlZTtmdW5jdGlvbiB0ZShlKXtyZXR1cm5bZS5maW5kSW5kZXgoKGU9PnMuaXNWYWxpZEVsZW1lbnQoZSkmJiEhZS5rZXkmJi0xIT09ZS5rZXkudG9TdHJpbmcoKS5pbmRleE9mKCJ2aWV3LW9ubHktYmFkZ2UiKSkpXS5maWx0ZXIoKGU9PmU+PTApKS5mb3JFYWNoKCh0PT57ZT1zLkNoaWxkcmVuLm1hcChlLCgoZSxyKT0+e2lmKHMuaXNWYWxpZEVsZW1lbnQoZSkpe3N3aXRjaChbdC0xLHQsdCsxXS5pbmRleE9mKHIpKXtjYXNlIDA6Y29uc3QgdD17bm9SaWdodERlY29yYXRpb246ITB9O2U9cy5jbG9uZUVsZW1lbnQoZSx0KTticmVhaztjYXNlIDE6Y29uc3Qgcj17bm9MZWZ0RGVjb3JhdGlvbjohMCxub1JpZ2h0RGVjb3JhdGlvbjohMH07ZT1zLmNsb25lRWxlbWVudChlLHIpO2JyZWFrO2Nhc2UgMjpjb25zdCBuPXtub0xlZnREZWNvcmF0aW9uOiEwfTtlPXMuY2xvbmVFbGVtZW50KGUsbil9fXJldHVybiBlfSkpfSkpLGV9US5jb250ZXh0VHlwZT1aLGZ1bmN0aW9uKGUpe2VbZS5MZWZ0PTBdPSJMZWZ0IixlW2UuU2VsZj0xXT0iU2VsZiIsZVtlLlJpZ2h0PTJdPSJSaWdodCJ9KGVlfHwoZWU9e30pKTt2YXIgcmU9cig3MDIxNTMpLHNlPXIoNjMzMzE4KSxuZT1yKDQyNjA3NSksaWU9cigxNTI2OTkpLGFlPXIoOTMwNTY2KSxvZT1yKDM2NTIxNyksbGU9cigzNDQ1MzYpLGNlPXIoMjU0NjczKSx1ZT1yKDM3NTI2Mik7Y29uc3QgZGU9e1tjZS5SZXNvbHV0aW9uS2luZC5UaWNrc106ITEsW2NlLlJlc29sdXRpb25LaW5kLlNlY29uZHNdOiExLFtjZS5SZXNvbHV0aW9uS2luZC5NaW51dGVzXTohMSxbY2UuU3BlY2lhbFJlc29sdXRpb25LaW5kLkhvdXJzXTohMSxbY2UuUmVzb2x1dGlvbktpbmQuRGF5c106ITEsW2NlLlJlc29sdXRpb25LaW5kLlJhbmdlXTohMX07Y2xhc3MgaGUgZXh0ZW5kcyB1ZS5Db21tb25Kc29uU3RvcmVTZXJ2aWNle2NvbnN0cnVjdG9yKGUsdCxyPWRlKXtzdXBlcihlLHQsIklOVEVSVkFMU19NRU5VX1ZJRVdfU1RBVEVfQ0hBTkdFRCIsIkludGVydmFsV2lkZ2V0Lm1lbnUudmlld1N0YXRlIixyKX1pc0FsbG93ZWQoZSl7cmV0dXJuIE9iamVjdC5rZXlzKGRlKS5pbmNsdWRlcyhlKX19Y29uc3QgbWU9e2RlZmF1bHRzQ29sbGFwc2VkOiExfTtjbGFzcyB2ZSBleHRlbmRzIHVlLkNvbW1vbkpzb25TdG9yZVNlcnZpY2V7Y29uc3RydWN0b3IoZSx0LHI9bWUpe3N1cGVyKGUsdCwiVEVNUExBVEVTX01FTlVfVklFV19TVEFURV9DSEFOR0VEIiwiVGVtcGxhdGVzV2lkZ2V0Lm1lbnUudmlld1N0YXRlIixyKX19dmFyIHBlPXIoNDgwMDYxKTtjb25zdCBmZT17dG9vbHM6cC5hbnkuaXNSZXF1aXJlZCxpc0Z1bmRhbWVudGFsOnAuYW55LGNoYXJ0QXBpSW5zdGFuY2U6cC5hbnksYXZhaWxhYmxlVGltZUZyYW1lczpwLmFueSxjaGFydFdpZGdldENvbGxlY3Rpb246cC5hbnksd2luZG93TWVzc2FnZVNlcnZpY2U6cC5hbnksZmF2b3JpdGVDaGFydFN0eWxlc1NlcnZpY2U6cC5hbnksZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlOnAuYW55LGludGVydmFsU2VydmljZTpwLmFueSxyZWNlbnRTdHVkeVRlbXBsYXRlc1NlcnZpY2U6cC5hbnksc3R1ZHlUZW1wbGF0ZXM6cC5hbnksY2hhcnRDaGFuZ2VzV2F0Y2hlcjpwLmFueSxzYXZlQ2hhcnRTZXJ2aWNlOnAuYW55LHNoYXJpbmdDaGFydFNlcnZpY2U6cC5hbnksbG9hZENoYXJ0U2VydmljZTpwLmFueSxjaGFydFdpZGdldDpwLmFueSxmYXZvcml0ZVNjcmlwdHNNb2RlbDpwLmFueSxpbnRlcnZhbHNNZW51Vmlld1N0YXRlU2VydmljZTpwLmFueSx0ZW1wbGF0ZXNNZW51Vmlld1N0YXRlU2VydmljZTpwLmFueSwKb3Blbkdsb2JhbFNlYXJjaDpwLmFueSxzbmFwc2hvdFVybDpwLmFueSxnZXRUcmFkaW5nRmVhdHVyZUZsYWdzU2VydmljZTpwLmFueX07dmFyIFNlPXIoNDQzNTU3KSxiZT1yKDYzMzI5KTtjb25zdCBnZT1bXTtjbGFzcyBfZSBleHRlbmRzIHMuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9zYXZlTG9hZFN5bmNFbWl0dGVyPW5ldyhvKCkpLHRoaXMuX2hhbmRsZUZ1bGxXaWR0aENoYW5nZT1lPT57dGhpcy5fZnVsbFdpZHRoPWUsdGhpcy5zZXRTdGF0ZSh7bWVhc3VyZVZhbGlkOiExfSl9LHRoaXMuX2hhbmRsZUZhdm9yaXRlc1dpZHRoQ2hhbmdlPWU9Pnt0aGlzLl9mYXZvcml0ZXNXaWR0aD1lLHRoaXMuc2V0U3RhdGUoe21lYXN1cmVWYWxpZDohMX0pfSx0aGlzLl9oYW5kbGVDb2xsYXBzZVdpZHRoQ2hhbmdlPWU9Pnt0aGlzLl9jb2xsYXBzZVdpZHRoPWUsdGhpcy5zZXRTdGF0ZSh7bWVhc3VyZVZhbGlkOiExfSl9LHRoaXMuX2hhbmRsZU1lYXN1cmU9ZT0+e3RoaXMuc2V0U3RhdGUoe2F2YWlsYWJsZVdpZHRoOmUsbWVhc3VyZVZhbGlkOiExfSl9O2NvbnN0e3Rvb2xzOnQsd2luZG93TWVzc2FnZVNlcnZpY2U6cixjaGFydFdpZGdldENvbGxlY3Rpb246cyxjaGFydEFwaUluc3RhbmNlOm4sYXZhaWxhYmxlVGltZUZyYW1lczppLGlzRnVuZGFtZW50YWw6YSxmYXZvcml0ZUludGVydmFsc1NlcnZpY2U6YyxmYXZvcml0ZUNoYXJ0U3R5bGVzU2VydmljZTp1LHJlY2VudFN0dWR5VGVtcGxhdGVzU2VydmljZTpoLHN0dWR5VGVtcGxhdGVzOnYsc2F2ZUNoYXJ0U2VydmljZTpwLHNoYXJpbmdDaGFydFNlcnZpY2U6Zixsb2FkQ2hhcnRTZXJ2aWNlOlMsc25hcHNob3RVcmw6YixvcGVuR2xvYmFsU2VhcmNoOmd9PWU7dGhpcy5fc2hvd1Njcm9sbGJhcldoZW49KDAsZC5lbnN1cmVEZWZpbmVkKShlLmFsbG93ZWRNb2Rlcykuc2xpY2UoLTEpLHRoaXMucmVzaXplckJyaWRnZT1lLnJlc2l6ZXJCcmlkZ2UsdGhpcy5fcGFuZWxXaWR0aENoYW5nZUhhbmRsZXJzPXtmdWxsOnRoaXMuX2hhbmRsZUZ1bGxXaWR0aENoYW5nZSxtZWRpdW06dGhpcy5faGFuZGxlRmF2b3JpdGVzV2lkdGhDaGFuZ2Usc21hbGw6dGhpcy5faGFuZGxlQ29sbGFwc2VXaWR0aENoYW5nZX07Y29uc3R7Y2hhcnRDaGFuZ2VzV2F0Y2hlcjpffT1lO3RoaXMuX2NoYXJ0Q2hhbmdlc1dhdGNoZXI9Xztjb25zdCB5PSgwLHBlLmdldERlZmF1bHRGYXZvcml0ZUNoYXJ0U3R5bGVzKSh0aGlzLnByb3BzLmRlZmF1bHRGYXZvcml0ZVN0eWxlcyk7dGhpcy5fZmF2b3JpdGVDaGFydFN0eWxlc1NlcnZpY2U9dXx8bmV3IHJlLkZhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlKGllLlRWWFdpbmRvd0V2ZW50cyxhZSx5KTtjb25zdCBFPSgwLHBlLmdldERlZmF1bHRGYXZvcml0ZVJlc29sdXRpb25zKSh0aGlzLnByb3BzLmRlZmF1bHRGYXZvcml0ZUludGVydmFscyk7dGhpcy5fZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlPWN8fG5ldyBzZS5GYXZvcml0ZUludGVydmFsc1NlcnZpY2UoaWUuVFZYV2luZG93RXZlbnRzLGFlLEUpLHRoaXMuX2ludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlPW5ldyBoZShpZS5UVlhXaW5kb3dFdmVudHMsYWUpLHRoaXMuX2ludGVydmFsU2VydmljZT1uZXcgbmUuSW50ZXJ2YWxzU2VydmljZShuLmRlZmF1bHRSZXNvbHV0aW9ucyksdGhpcy5fdGVtcGxhdGVzTWVudVZ1ZXdTdGF0ZVNlcnZpY2U9bmV3IHZlKGllLlRWWFdpbmRvd0V2ZW50cyxhZSksdGhpcy5fcmVnaXN0cnk9e3Rvb2xzOnQsaXNGdW5kYW1lbnRhbDphLGNoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpzLHdpbmRvd01lc3NhZ2VTZXJ2aWNlOnIsY2hhcnRBcGlJbnN0YW5jZTpuLGF2YWlsYWJsZVRpbWVGcmFtZXM6aSxyZWNlbnRTdHVkeVRlbXBsYXRlc1NlcnZpY2U6aCxzdHVkeVRlbXBsYXRlczp2LHNhdmVDaGFydFNlcnZpY2U6cCxzaGFyaW5nQ2hhcnRTZXJ2aWNlOmYsbG9hZENoYXJ0U2VydmljZTpTLGludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlOnRoaXMuX2ludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlLGZhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlOnRoaXMuX2Zhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlLGZhdm9yaXRlSW50ZXJ2YWxzU2VydmljZTp0aGlzLl9mYXZvcml0ZUludGVydmFsc1NlcnZpY2UsaW50ZXJ2YWxTZXJ2aWNlOnRoaXMuX2ludGVydmFsU2VydmljZSxjaGFydENoYW5nZXNXYXRjaGVyOnRoaXMuX2NoYXJ0Q2hhbmdlc1dhdGNoZXIsY2hhcnRXaWRnZXQ6cy5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpLGZhdm9yaXRlU2NyaXB0c01vZGVsOmxlLkZhdm9yaXRlU2NyaXB0c01vZGVsLmdldEluc3RhbmNlKCksdGVtcGxhdGVzTWVudVZpZXdTdGF0ZVNlcnZpY2U6dGhpcy5fdGVtcGxhdGVzTWVudVZ1ZXdTdGF0ZVNlcnZpY2Usc25hcHNob3RVcmw6YixvcGVuR2xvYmFsU2VhcmNoOmcsZ2V0VHJhZGluZ0ZlYXR1cmVGbGFnc1NlcnZpY2U6ZS5nZXRUcmFkaW5nRmVhdHVyZUZsYWdzU2VydmljZX0sdGhpcy5zdGF0ZT17aXNWaXNpYmxlOiEwLGF2YWlsYWJsZVdpZHRoOjAsZGlzcGxheU1vZGU6ImZ1bGwiLG1lYXN1cmVWYWxpZDohMSxsZWZ0Q3VzdG9tRWxlbWVudHM6W10scmlnaHRDdXN0b21FbGVtZW50czpbXX0sdGhpcy5fcmVhZE9ubHk9cy5yZWFkT25seSgpLHRoaXMuX2ZlYXR1cmVzPXthbGxvd0Zhdm9yaXRpbmc6KDAsbS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaXRlbXNfZmF2b3JpdGluZyIpLHNob3dJZGVhc0J1dHRvbjpCb29sZWFuKHRoaXMucHJvcHMuaWRlYXMpLHNob3dMYXVuY2hJblBvcHVwQnV0dG9uOkJvb2xlYW4odGhpcy5wcm9wcy5wb3B1cEJ1dHRvbiksYWxsb3dTeW1ib2xTZWFyY2hTcHJlYWQ6KDAsbS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3N5bWJvbF9zZWFyY2giKSYmITAsYWxsb3dUb29sYmFySGlkaW5nOigwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImNvbGxhcHNpYmxlX2hlYWRlciIpfSx0aGlzLl9zZXREaXNwbGF5TW9kZT0oMCxsLmRlZmF1bHQpKHRoaXMuX3NldERpc3BsYXlNb2RlLDEwMCksdGhpcy5fbmVnb3RpYXRlUmVzaXplcigpfQpjb21wb25lbnREaWRVcGRhdGUoZSx0KXtjb25zdHtpc1Zpc2libGU6cixtZWFzdXJlVmFsaWQ6c309dGhpcy5zdGF0ZTtyIT09dC5pc1Zpc2libGUmJih2LmVtaXQoInRvZ2dsZV9oZWFkZXIiLHIpLHRoaXMuX25lZ290aWF0ZVJlc2l6ZXIoKSksc3x8dGhpcy5fc2V0RGlzcGxheU1vZGUoKX1yZW5kZXIoKXtjb25zdHtyZXNpemVyQnJpZGdlOmUsYWxsb3dlZE1vZGVzOnQsLi4ucn09dGhpcy5wcm9wcyx7ZGlzcGxheU1vZGU6bixpc1Zpc2libGU6YSxsZWZ0Q3VzdG9tRWxlbWVudHM6byxyaWdodEN1c3RvbUVsZW1lbnRzOmx9PXRoaXMuc3RhdGUsYz17ZmVhdHVyZXM6dGhpcy5fZmVhdHVyZXMscmVhZE9ubHk6dGhpcy5fcmVhZE9ubHksaXNGYWtlOiExLHNhdmVMb2FkU3luY0VtaXR0ZXI6dGhpcy5fc2F2ZUxvYWRTeW5jRW1pdHRlcixsZWZ0Q3VzdG9tRWxlbWVudHM6byxyaWdodEN1c3RvbUVsZW1lbnRzOmwsLi4ucn0sdT17Li4uYyxpc0Zha2U6ITAsc2hvd1Njcm9sbGJhcldoZW46Z2V9LGg9KDAsZC5lbnN1cmVEZWZpbmVkKSh0KSxtPXRoaXMucHJvcHMudG9vbHMuUHVibGlzaEJ1dHRvbk1hbmFnZXJ8fHMuRnJhZ21lbnQ7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChqLlJlZ2lzdHJ5UHJvdmlkZXIse3ZhbHVlOnRoaXMuX3JlZ2lzdHJ5LHZhbGlkYXRpb246ZmV9LHMuY3JlYXRlRWxlbWVudChtLG51bGwscy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKGJlLnRvb2xiYXIse1tiZS5pc0hpZGRlbl06IWF9KSxvbkNsaWNrOnRoaXMucHJvcHMub25DbGlja30scy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YmUub3ZlcmZsb3dXcmFwfSxoLm1hcCgoZT0+cy5jcmVhdGVFbGVtZW50KFEse2tleTplLGRpc3BsYXlNb2RlOmUsb25XaWR0aENoYW5nZTp0aGlzLl9wYW5lbFdpZHRoQ2hhbmdlSGFuZGxlcnNbZV0sLi4udX0pKSkscy5jcmVhdGVFbGVtZW50KFEse2tleToibGl2ZSIsc2hvd1Njcm9sbGJhcldoZW46dGhpcy5fc2hvd1Njcm9sbGJhcldoZW4sZGlzcGxheU1vZGU6bixvbkF2YWlsYWJsZVNwYWNlQ2hhbmdlOnRoaXMuX2hhbmRsZU1lYXN1cmUsLi4uY30pKSkpKX1hZGRCdXR0b24oZSx0KXtpZighdC51c2VUcmFkaW5nVmlld1N0eWxlKXJldHVybiB0aGlzLl9hZGRDdXN0b21IVE1MQnV0dG9uKGUsdC5hbGlnbik7dGhpcy5fYWRkQ3VzdG9tVHJhZGluZ1ZpZXdTdHlsZWRCdXR0b24oZSx0KX1yZW1vdmVCdXR0b24oZSl7Y29uc3R7bGVmdEN1c3RvbUVsZW1lbnRzOnQscmlnaHRDdXN0b21FbGVtZW50czpyfT10aGlzLnN0YXRlO2lmKCgwLGMuZGVmYXVsdCkoZSkpdGhpcy5fcmVtb3ZlQ3VzdG9tRWxlbWVudFRvU3RhdGUoZSk7ZWxzZXtjb25zdCBzPXQ9PiJlbGVtZW50ImluIHQucGFyYW1zJiZ0LnBhcmFtcy5lbGVtZW50PT09ZSxuPXQuZmluZChzKT8uaWQ/P3IuZmluZChzKT8uaWQ7dShuKXx8dGhpcy5fcmVtb3ZlQ3VzdG9tRWxlbWVudFRvU3RhdGUobil9fWFkZERyb3Bkb3duKGUsdCl7Y29uc3R7bGVmdEN1c3RvbUVsZW1lbnRzOnIscmlnaHRDdXN0b21FbGVtZW50czpzfT10aGlzLnN0YXRlLG49e3R5cGU6IkRyb3Bkb3duIixpZDplLHBhcmFtczp0fTsibGVmdCI9PT10LmFsaWduP3RoaXMuc2V0U3RhdGUoe2xlZnRDdXN0b21FbGVtZW50czpbLi4ucixuXX0pOnRoaXMuc2V0U3RhdGUoe3JpZ2h0Q3VzdG9tRWxlbWVudHM6Wy4uLnMsbl19KX11cGRhdGVEcm9wZG93bihlLHQpe2NvbnN0IHI9dD0+IkRyb3Bkb3duIj09PXQudHlwZSYmdC5pZD09PWUscz10aGlzLnN0YXRlLmxlZnRDdXN0b21FbGVtZW50cy5maW5kKHIpfHx0aGlzLnN0YXRlLnJpZ2h0Q3VzdG9tRWxlbWVudHMuZmluZChyKTt2b2lkIDAhPT1zJiYocy5wYXJhbXM9ey4uLnMucGFyYW1zLC4uLnR9LHRoaXMuc2V0U3RhdGUoe2xlZnRDdXN0b21FbGVtZW50czp0aGlzLnN0YXRlLmxlZnRDdXN0b21FbGVtZW50cy5zbGljZSgpLHJpZ2h0Q3VzdG9tRWxlbWVudHM6dGhpcy5zdGF0ZS5yaWdodEN1c3RvbUVsZW1lbnRzLnNsaWNlKCl9KSl9cmVtb3ZlRHJvcGRvd24oZSl7Y29uc3QgdD10PT4iRHJvcGRvd24iPT09dC50eXBlJiZ0LmlkIT09ZSxyPXRoaXMuc3RhdGUubGVmdEN1c3RvbUVsZW1lbnRzLmZpbHRlcih0KSxzPXRoaXMuc3RhdGUucmlnaHRDdXN0b21FbGVtZW50cy5maWx0ZXIodCk7dGhpcy5zZXRTdGF0ZSh7bGVmdEN1c3RvbUVsZW1lbnRzOnIscmlnaHRDdXN0b21FbGVtZW50czpzfSl9X25lZ290aWF0ZVJlc2l6ZXIoKXt0aGlzLnByb3BzLnJlc2l6ZXJCcmlkZ2UubmVnb3RpYXRlSGVpZ2h0KHRoaXMuc3RhdGUuaXNWaXNpYmxlP29lLkhFQURFUl9UT09MQkFSX0hFSUdIVF9FWFBBTkRFRDpvZS5IRUFERVJfVE9PTEJBUl9IRUlHSFRfQ09MTEFQU0VEKX1fc2V0RGlzcGxheU1vZGUoKXtjb25zdHthdmFpbGFibGVXaWR0aDplfT10aGlzLnN0YXRlLHthbGxvd2VkTW9kZXM6dH09dGhpcy5wcm9wcyxyPXtmdWxsOnRoaXMuX2Z1bGxXaWR0aCxtZWRpdW06dGhpcy5fZmF2b3JpdGVzV2lkdGgsc21hbGw6dGhpcy5fY29sbGFwc2VXaWR0aH0scz0oMCxkLmVuc3VyZURlZmluZWQpKHQpO2xldCBuPXMubWFwKChlPT5yW2VdKSkuZmluZEluZGV4KCh0PT5lPj10KSk7LTE9PT1uJiYobj1zLmxlbmd0aC0xKTtjb25zdCBpPXNbbl07dGhpcy5zZXRTdGF0ZSh7bWVhc3VyZVZhbGlkOiEwLGRpc3BsYXlNb2RlOml9KX1fYWRkQ3VzdG9tSFRNTEJ1dHRvbihlLHQ9ImxlZnQiKXtjb25zdCByPW5ldyBoLldhdGNoZWRWYWx1ZSgwKSxzPSgwLFNlLnBhcnNlSHRtbEVsZW1lbnQpKGA8ZGl2IGNsYXNzPSJhcHBseS1jb21tb24tdG9vbHRpcCAke2JlLmN1c3RvbUJ1dHRvbn0iPmApLG49e3R5cGU6IkJ1dHRvbiIsaWQ6ZSxwYXJhbXM6e2tleTpOdW1iZXIobmV3IERhdGUpLGVsZW1lbnQ6cyx3aWR0aDpyfX07cmV0dXJuIHRoaXMuX2FkZEN1c3RvbUVsZW1lbnRUb1N0YXRlKHQsbiksc31fYWRkQ3VzdG9tVHJhZGluZ1ZpZXdTdHlsZWRCdXR0b24oZSx0KXtjb25zdCByPXt0eXBlOiJUcmFkaW5nVmlld1N0eWxlZEJ1dHRvbiIsaWQ6ZSxwYXJhbXM6e2tleTpOdW1iZXIobmV3IERhdGUpLHRleHQ6dC50ZXh0LAp0aXRsZTp0LnRpdGxlLG9uQ2xpY2s6dC5vbkNsaWNrfX07dGhpcy5fYWRkQ3VzdG9tRWxlbWVudFRvU3RhdGUodC5hbGlnbixyKX1fYWRkQ3VzdG9tRWxlbWVudFRvU3RhdGUoZSx0KXtjb25zdHtsZWZ0Q3VzdG9tRWxlbWVudHM6cixyaWdodEN1c3RvbUVsZW1lbnRzOnN9PXRoaXMuc3RhdGU7ImxlZnQiPT09ZT90aGlzLnNldFN0YXRlKHtsZWZ0Q3VzdG9tRWxlbWVudHM6Wy4uLnIsdF19KTp0aGlzLnNldFN0YXRlKHtyaWdodEN1c3RvbUVsZW1lbnRzOlsuLi5zLHRdfSl9X3JlbW92ZUN1c3RvbUVsZW1lbnRUb1N0YXRlKGUpe3RoaXMuc2V0U3RhdGUoe2xlZnRDdXN0b21FbGVtZW50czp0aGlzLnN0YXRlLmxlZnRDdXN0b21FbGVtZW50cy5maWx0ZXIoKHQ9PnQuaWQhPT1lKSkscmlnaHRDdXN0b21FbGVtZW50czp0aGlzLnN0YXRlLnJpZ2h0Q3VzdG9tRWxlbWVudHMuZmlsdGVyKCh0PT50LmlkIT09ZSkpfSl9fV9lLmRlZmF1bHRQcm9wcz17YWxsb3dlZE1vZGVzOlsiZnVsbCIsIm1lZGl1bSJdfX0sNzAyMTUzKGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse0Zhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlOigpPT5ufSk7dmFyIHM9cigzNzUyNjIpO2NsYXNzIG4gZXh0ZW5kcyBzLkNvbW1vbkpzb25TdG9yZVNlcnZpY2V7Y29uc3RydWN0b3IoZSx0LHI9W10pe3N1cGVyKGUsdCwiRkFWT1JJVEVfQ0hBUlRfU1RZTEVTX0NIQU5HRUQiLCJTdHlsZVdpZGdldC5xdWlja3MiLHIpfX19LDMwNTA2MShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtDdXN0b21JbnRlcnZhbHNTZXJ2aWNlOigpPT5oLGN1c3RvbUludGVydmFsc1NlcnZpY2VJbnN0YW5jZTooKT0+bX0pO3ZhciBzPXIoOTMwNTY2KSxuPXIoMTUyNjk5KSxpPXIoNzM2MDYzKSxhPXIoNjU1NTg0KSxvPXIoMzE4OTc0KSxsPXIoMzc1MjYyKSxjPXIoNDY1MTM3KSx1PXIoMTc2ODUxKTtjb25zdCBkPVsiMiIsIjEwIl07Y2xhc3MgaCBleHRlbmRzIGwuQWJzdHJhY3RKc29uU3RvcmVTZXJ2aWNle2NvbnN0cnVjdG9yKGUsdCxyPSgoMCxvLm9uV2lkZ2V0KSgpP1tdOmQpKXtzdXBlcihlLHQsIkNVU1RPTV9JTlRFUlZBTFNfQ0hBTkdFRCIsIkludGVydmFsV2lkZ2V0LmludGVydmFscyIscil9c2V0KGUsdCl7KDAsaS50cmFja0dvUHJvRmVhdHVyZSkoImN1c3RvbUludGVydmFscyIpO2NvbnN0IHI9KCk9PnsoMCxvLm9uV2lkZ2V0KSgpfHx0aGlzLl9qc29uS2V5VmFsdWVTdG9yZS5zZXRKU09OKCJJbnRlcnZhbFdpZGdldC5pbnRlcnZhbHNEZWZhdWx0czJhbmQxME1pbnV0ZXNNaWdyYXRpb24iLCEwKSxzdXBlci5zZXQoZSx0KX07ZS5sZW5ndGg8dGhpcy5nZXQoKS5sZW5ndGg/cigpOigwLGEucnVuT3JHb1BybykoKCgpPT5yKCkpLCJDVVNUT01fSU5URVJWQUxTIix7ZmVhdHVyZToiY3VzdG9tSW50ZXJ2YWxzIn0pfV9zZXJpYWxpemUoZSl7cmV0dXJuKDAsdS51bmlxKShlLm1hcChjLm5vcm1hbGl6ZUludGVydmFsU3RyaW5nKSl9X2Rlc2VyaWFsaXplKGUpe2NvbnN0IHQ9W107cmV0dXJuKDAsby5vbldpZGdldCkoKXx8dGhpcy5fanNvbktleVZhbHVlU3RvcmUuZ2V0SlNPTigiSW50ZXJ2YWxXaWRnZXQuaW50ZXJ2YWxzRGVmYXVsdHMyYW5kMTBNaW51dGVzTWlncmF0aW9uIiwhMSl8fHQucHVzaCguLi5kKSwoMCx1LnVuaXEpKFsuLi50LC4uLigwLGMuY29udmVydFJlc29sdXRpb25zRnJvbVNldHRpbmdzKShlKS5maWx0ZXIoYy5pc1Jlc29sdXRpb25NdWx0aXBsaWVyVmFsaWQpLm1hcChjLm5vcm1hbGl6ZUludGVydmFsU3RyaW5nKV0pfX1jb25zdCBtPW5ldyBoKG4uVFZYV2luZG93RXZlbnRzLHMpfSw2MzMzMTgoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7RmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlOigpPT5hfSk7dmFyIHM9cigzNzUyNjIpLG49cig0NjUxMzcpLGk9cigxNzY4NTEpO2NsYXNzIGEgZXh0ZW5kcyBzLkFic3RyYWN0SnNvblN0b3JlU2VydmljZXtjb25zdHJ1Y3RvcihlLHQscil7c3VwZXIoZSx0LCJGQVZPUklURV9JTlRFUlZBTFNfQ0hBTkdFRCIsIkludGVydmFsV2lkZ2V0LnF1aWNrcyIscil9X3NlcmlhbGl6ZShlKXtyZXR1cm4oMCxpLnVuaXEpKGUubWFwKG4ubm9ybWFsaXplSW50ZXJ2YWxTdHJpbmcpKX1fZGVzZXJpYWxpemUoZSl7cmV0dXJuKDAsaS51bmlxKSgoMCxuLmNvbnZlcnRSZXNvbHV0aW9uc0Zyb21TZXR0aW5ncykoZSkuZmlsdGVyKG4uaXNSZXNvbHV0aW9uTXVsdGlwbGllclZhbGlkKS5tYXAobi5ub3JtYWxpemVJbnRlcnZhbFN0cmluZykpfX19LDQyNjA3NShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtJbnRlcnZhbHNTZXJ2aWNlOigpPT5sfSk7dmFyIHM9cigyMjUyOTgpLG49cig5NDgzODApLGk9cigzMDUwNjEpLGE9cig3MzE5MzkpLG89cig0NjUxMzcpO2NsYXNzIGx7Y29uc3RydWN0b3IoZSl7dGhpcy5fY3VzdG9tSW50ZXJ2YWxzU2VydmljZT1pLmN1c3RvbUludGVydmFsc1NlcnZpY2VJbnN0YW5jZSx0aGlzLl9zdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2U9bmV3IG4uRGVsZWdhdGUsdGhpcy5fZmlyZVN1cHBvcnRlZEludGVydmFsc01heUNoYW5nZT0oKT0+e3RoaXMuX3N1cHBvcnRlZEludGVydmFsc01heUNoYW5nZS5maXJlKCl9LHRoaXMuX3Jlc29sdXRpb25HZXR0ZXI9KCk9PltdLHRoaXMuX3Jlc29sdXRpb25HZXR0ZXI9ZSxzLmxpbmtpbmcuc3VwcG9ydGVkUmVzb2x1dGlvbnMuc3Vic2NyaWJlKHRoaXMuX2ZpcmVTdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2UpLHMubGlua2luZy5yYW5nZS5zdWJzY3JpYmUodGhpcy5fZmlyZVN1cHBvcnRlZEludGVydmFsc01heUNoYW5nZSkscy5saW5raW5nLnNlY29uZHMuc3Vic2NyaWJlKHRoaXMuX2ZpcmVTdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2UpLHMubGlua2luZy50aWNrcy5zdWJzY3JpYmUodGhpcy5fZmlyZVN1cHBvcnRlZEludGVydmFsc01heUNoYW5nZSkscy5saW5raW5nLmludHJhZGF5LnN1YnNjcmliZSh0aGlzLl9maXJlU3VwcG9ydGVkSW50ZXJ2YWxzTWF5Q2hhbmdlKSxzLmxpbmtpbmcuZGF0YUZyZXF1ZW5jeVJlc29sdXRpb24uc3Vic2NyaWJlKHRoaXMuX2ZpcmVTdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2UpfWRlc3Ryb3koKXsKcy5saW5raW5nLnN1cHBvcnRlZFJlc29sdXRpb25zLnVuc3Vic2NyaWJlKHRoaXMuX2ZpcmVTdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2UpLHMubGlua2luZy5yYW5nZS51bnN1YnNjcmliZSh0aGlzLl9maXJlU3VwcG9ydGVkSW50ZXJ2YWxzTWF5Q2hhbmdlKSxzLmxpbmtpbmcuc2Vjb25kcy51bnN1YnNjcmliZSh0aGlzLl9maXJlU3VwcG9ydGVkSW50ZXJ2YWxzTWF5Q2hhbmdlKSxzLmxpbmtpbmcudGlja3MudW5zdWJzY3JpYmUodGhpcy5fZmlyZVN1cHBvcnRlZEludGVydmFsc01heUNoYW5nZSkscy5saW5raW5nLmludHJhZGF5LnVuc3Vic2NyaWJlKHRoaXMuX2ZpcmVTdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2UpLHMubGlua2luZy5kYXRhRnJlcXVlbmN5UmVzb2x1dGlvbi51bnN1YnNjcmliZSh0aGlzLl9maXJlU3VwcG9ydGVkSW50ZXJ2YWxzTWF5Q2hhbmdlKX1nZXREZWZhdWx0SW50ZXJ2YWxzKCl7cmV0dXJuIHRoaXMuX3Jlc29sdXRpb25HZXR0ZXI/dGhpcy5fcmVzb2x1dGlvbkdldHRlcigpLm1hcChvLm5vcm1hbGl6ZUludGVydmFsU3RyaW5nKTpbXX1nZXRDdXN0b21JbnRlcnZhbHMoKXtyZXR1cm4gdGhpcy5fY3VzdG9tSW50ZXJ2YWxzU2VydmljZS5nZXQoKX1hZGQoZSx0LHIpe2lmKCF3aW5kb3cudXNlci5pc19wcm8mJnIpcmV0dXJuIHIoKSxudWxsO2lmKCF0aGlzLmlzVmFsaWRJbnRlcnZhbChlLHQpKXJldHVybiBudWxsO2NvbnN0IHM9KDAsby5ub3JtYWxpemVJbnRlcnZhbFN0cmluZykoYCR7ZX0ke3R9YCksbj10aGlzLmdldEN1c3RvbUludGVydmFscygpO3JldHVybiB0aGlzLl9pc0ludGVydmFsRGVmYXVsdChzKXx8bi5pbmNsdWRlcyhzKT9udWxsOih0aGlzLl9jdXN0b21JbnRlcnZhbHNTZXJ2aWNlLnNldCgoMCxvLnNvcnRSZXNvbHV0aW9ucykoWy4uLm4sc10pKSxzKX1yZW1vdmUoZSl7dGhpcy5fY3VzdG9tSW50ZXJ2YWxzU2VydmljZS5zZXQodGhpcy5nZXRDdXN0b21JbnRlcnZhbHMoKS5maWx0ZXIoKHQ9PnQhPT1lKSkpfWlzVmFsaWRJbnRlcnZhbChlLHQpe3JldHVybigwLG8uaXNSZXNvbHV0aW9uTXVsdGlwbGllclZhbGlkKShgJHtlfSR7dH1gKX1pc1N1cHBvcnRlZEludGVydmFsKGUpe3JldHVybigwLG8uaXNBdmFpbGFibGUpKGUpfXN1cHBvcnRlZEludGVydmFsc01heUNoYW5nZSgpe3JldHVybiB0aGlzLl9zdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2V9Z2V0T25DaGFuZ2UoKXtyZXR1cm4gdGhpcy5fY3VzdG9tSW50ZXJ2YWxzU2VydmljZS5nZXRPbkNoYW5nZSgpfWdldFBvc3NpYmxlSW50ZXJ2YWxzKCl7cmV0dXJuIGEuSU5URVJWQUxTfWdldFJlc29sdXRpb25VdGlscygpe3JldHVybntnZXRNYXhSZXNvbHV0aW9uVmFsdWU6by5nZXRNYXhSZXNvbHV0aW9uVmFsdWUsZ2V0VHJhbnNsYXRlZFJlc29sdXRpb25Nb2RlbDpvLmdldFRyYW5zbGF0ZWRSZXNvbHV0aW9uTW9kZWwsbWVyZ2VSZXNvbHV0aW9uczpvLm1lcmdlUmVzb2x1dGlvbnMsc29ydFJlc29sdXRpb25zOm8uc29ydFJlc29sdXRpb25zfX1faXNJbnRlcnZhbERlZmF1bHQoZSl7cmV0dXJuIHRoaXMuZ2V0RGVmYXVsdEludGVydmFscygpLmluY2x1ZGVzKGUpfX19LDczMTkzOShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtJTlRFUlZBTFM6KCk9Pml9KTt2YXIgcz1yKDE4NTI3MSksbj1yKDU2OTM5OCk7Y29uc3QgaT1be25hbWU6IiIsbGFiZWw6cy50KG51bGwse2NvbnRleHQ6ImludGVydmFsIn0scigzNDM3NTcpKX0se25hbWU6IkgiLGxhYmVsOnMudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbCJ9LHIoODAwMDA5KSl9LHtuYW1lOiJEIixsYWJlbDpzLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWwifSxyKDMxNzI5KSl9LHtuYW1lOiJXIixsYWJlbDpzLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWwifSxyKDU0ODM3NCkpfSx7bmFtZToiTSIsbGFiZWw6cy50KG51bGwse2NvbnRleHQ6ImludGVydmFsIn0scig1NTQ2NTEpKX1dO2kucHVzaCh7bmFtZToiUiIsbGFiZWw6cy50KG51bGwse2NvbnRleHQ6ImludGVydmFsIn0scig5NzMzNDcpKX0pLCgwLG4uaXNGZWF0dXJlRW5hYmxlZCkoImN1c3RvbV90aWNrcyIpJiZpLnB1c2goe25hbWU6IlQiLGxhYmVsOnMudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbCJ9LHIoMzY5MTI5KSl9KX0sNzAxMTU2KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse2dldERpYWxvZ1Rvb2xzTWFuYWdlcjooKT0+b30pO3ZhciBzPXIoODM5NDI2KSxuPXIoOTMwMjMxKSxpPXIoMjMyMzY0KTtjbGFzcyBhe2NvbnN0cnVjdG9yKCl7dGhpcy5fYWN0aXZlRGlhbG9nVG9vbHM9bmV3IGkuV2F0Y2hlZFZhbHVlKG51bGwpfXJlZ2lzdGVyRGlhbG9nVG9vbHMoZSl7dGhpcy5fYWN0aXZlRGlhbG9nVG9vbHMuc2V0VmFsdWUoZSl9Y2xlYXJEaWFsb2dUb29scyhlKXtjb25zdCB0PXRoaXMuX2FjdGl2ZURpYWxvZ1Rvb2xzLnZhbHVlKCk7dCYmdC5kaWFsb2dJZD09PWUmJnRoaXMuX2FjdGl2ZURpYWxvZ1Rvb2xzLnNldFZhbHVlKG51bGwpfWdldEFjdGl2ZURpYWxvZ1Rvb2xzKCl7cmV0dXJuIHRoaXMuX2FjdGl2ZURpYWxvZ1Rvb2xzfWhhc0FjdGl2ZURpYWxvZ1Rvb2xzKCl7cmV0dXJuIG51bGwhPT10aGlzLl9hY3RpdmVEaWFsb2dUb29scy52YWx1ZSgpfX1jb25zdCBvPSgwLHMuZGVmYXVsdCkoKCgpPT4oMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT9udWxsOm5ldyBhKSl9LDMyOTY2OChlLHQscil7InVzZSBzdHJpY3QiO3ZhciBzO2Z1bmN0aW9uIG4oZSl7ZS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCIpKX1mdW5jdGlvbiBpKGUpe2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIpKX1yLmQodCx7YmVjb21lTWFpbkVsZW1lbnQ6KCk9Pm4sYmVjb21lU2Vjb25kYXJ5RWxlbWVudDooKT0+aX0pLGZ1bmN0aW9uKGUpe2UuTWFpbkVsZW1lbnQ9InJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiLGUuU2Vjb25kYXJ5RWxlbWVudD0icm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50In0oc3x8KHM9e30pKX0sCjk4MzYxNihlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHttYXBLZXlDb2RlVG9EaXJlY3Rpb246KCk9PnUsbmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvcjooKT0+YSxxdWVyeUZvY3VzYWJsZUVsZW1lbnRzOigpPT5sLHF1ZXJ5VGFiYmFibGVFbGVtZW50czooKT0+byx1cGRhdGVUYWJJbmRleGVzOigpPT5jfSk7dmFyIHMsbj1yKDk2OTE2OCksaT1yKDY4MjM4MSk7ZnVuY3Rpb24gYShlLHQpe3JldHVybiBlPT09dD8wOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc/LTE6MX1mdW5jdGlvbiBvKGUpe3JldHVybiBBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pOm5vdChbdGFiaW5kZXg9Ii0xIl0pLCBbdGFiaW5kZXhdOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW3RhYmluZGV4PSItMSJdKScpKS5maWx0ZXIoKDAsaS5jcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcikoZSkpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIEFycmF5LmZyb20oZS5xdWVyeVNlbGVjdG9yQWxsKCdidXR0b246bm90KDpkaXNhYmxlZCk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSk6bm90KFthcmlhLWRpc2FibGVkPSIiXSksIFt0YWJpbmRleF06bm90KFtkaXNhYmxlZF0pOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pOm5vdChbYXJpYS1kaXNhYmxlZD0iIl0pJykpLmZpbHRlcigoMCxpLmNyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyKShlKSl9ZnVuY3Rpb24gYygpe3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgia2V5Ym9hcmQtbmF2aWdhdGlvbi1hY3RpdmF0aW9uIix7YnViYmxlczohMH0pKX1mdW5jdGlvbiB1KGUpe2NvbnN0IHQ9KDAsbi5pc1J0bCkoKTtzd2l0Y2goZSl7Y2FzZSAzODpyZXR1cm4iYmxvY2tQcmV2IjtjYXNlIDQwOnJldHVybiJibG9ja05leHQiO2Nhc2UgMzc6cmV0dXJuIHQ/ImlubGluZU5leHQiOiJpbmxpbmVQcmV2IjtjYXNlIDM5OnJldHVybiB0PyJpbmxpbmVQcmV2IjoiaW5saW5lTmV4dCI7ZGVmYXVsdDpyZXR1cm4gbnVsbH19IWZ1bmN0aW9uKGUpe2UuQmxvY2tQcmV2PSJibG9ja1ByZXYiLGUuQmxvY2tOZXh0PSJibG9ja05leHQiLGUuSW5saW5lUHJldj0iaW5saW5lUHJldiIsZS5JbmxpbmVOZXh0PSJpbmxpbmVOZXh0In0oc3x8KHM9e30pKX0sNzMwMDA5KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse1Rvb2xiYXI6KCk9PmR9KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDEzODYzOCksaT1yKDgzMzkwMyksYT1yKDIzNTcyNCksbz1yKDk4MzYxNiksbD1yKDMyOTY2OCksYz1yKDc4Nzg5NSksdT1yKDQ1MDE0MCk7Y29uc3QgZD0oMCxzLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe2NvbnN0e29uS2V5RG93bjpyLG9yaWVudGF0aW9uOmQsYmx1ck9uRXNjS2V5ZG93bjpoPSEwLGJsdXJPbkNsaWNrOm09ITAsLi4udn09ZSxwPSgwLGMudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkodCk7cmV0dXJuKDAscy51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9KDAsbi5lbnN1cmVOb3ROdWxsKShwLmN1cnJlbnQpLHQ9KCk9Pntjb25zdCB0PSgwLG8ucXVlcnlUYWJiYWJsZUVsZW1lbnRzKShlKS5zb3J0KG8ubmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvcik7aWYoMD09PXQubGVuZ3RoKXtjb25zdFt0XT0oMCxvLnF1ZXJ5Rm9jdXNhYmxlRWxlbWVudHMpKGUpLnNvcnQoby5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKTtpZih2b2lkIDA9PT10KXJldHVybjsoMCxsLmJlY29tZU1haW5FbGVtZW50KSh0KX1pZih0Lmxlbmd0aD4xKXtjb25zdFssLi4uZV09dDtmb3IoY29uc3QgdCBvZiBlKSgwLGwuYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkodCl9fTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWJvYXJkLW5hdmlnYXRpb24tYWN0aXZhdGlvbiIsdCksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlib2FyZC1uYXZpZ2F0aW9uLWFjdGl2YXRpb24iLHQpfSksW10pLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Li4udS5Nb3VzZUNsaWNrQXV0b0JsdXJIYW5kbGVyLmF0dHJpYnV0ZXMobSksLi4udixyb2xlOiJ0b29sYmFyIiwiYXJpYS1vcmllbnRhdGlvbiI6ZCxyZWY6cCxvbktleURvd246KDAsaS5jcmVhdGVTYWZlTXVsdGljYXN0RXZlbnRIYW5kbGVyKSgoZnVuY3Rpb24oZSl7aWYoZS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtpZighKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpcmV0dXJuO2NvbnN0IHQ9KDAsYS5oYXNoRnJvbUV2ZW50KShlKTtpZihoJiYyNz09PXQpcmV0dXJuIGUucHJldmVudERlZmF1bHQoKSx2b2lkIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpO2lmKCJ2ZXJ0aWNhbCIhPT1kJiYzNyE9PXQmJjM5IT09dClyZXR1cm47aWYoInZlcnRpY2FsIj09PWQmJjM4IT09dCYmNDAhPT10KXJldHVybjtjb25zdCByPWUuY3VycmVudFRhcmdldCxzPSgwLG8ucXVlcnlGb2N1c2FibGVFbGVtZW50cykocikuc29ydChvLm5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3IpO2lmKDA9PT1zLmxlbmd0aClyZXR1cm47Y29uc3Qgbj1zLmluZGV4T2YoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7aWYoLTE9PT1uKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgaT0oKT0+e2NvbnN0IGU9KG4rcy5sZW5ndGgtMSklcy5sZW5ndGg7KDAsbC5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShzW25dKSwoMCxsLmJlY29tZU1haW5FbGVtZW50KShzW2VdKSxzW2VdLmZvY3VzKCl9LGM9KCk9Pntjb25zdCBlPShuK3MubGVuZ3RoKzEpJXMubGVuZ3RoOygwLGwuYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkoc1tuXSksKDAsbC5iZWNvbWVNYWluRWxlbWVudCkoc1tlXSksc1tlXS5mb2N1cygpfTtzd2l0Y2goKDAsby5tYXBLZXlDb2RlVG9EaXJlY3Rpb24pKHQpKXtjYXNlImlubGluZVByZXYiOiJ2ZXJ0aWNhbCIhPT1kJiZpKCk7YnJlYWs7Y2FzZSJpbmxpbmVOZXh0IjoKInZlcnRpY2FsIiE9PWQmJmMoKTticmVhaztjYXNlImJsb2NrUHJldiI6InZlcnRpY2FsIj09PWQmJmkoKTticmVhaztjYXNlImJsb2NrTmV4dCI6InZlcnRpY2FsIj09PWQmJmMoKX19KSxyKSwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOiJ0cnVlIn0pfSkpfSw1Njk2NTIoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7UmVnaXN0cnlQcm92aWRlcjooKT0+bCxyZWdpc3RyeUNvbnRleHRUeXBlOigpPT51LHVzZVJlZ2lzdHJ5OigpPT5jLHZhbGlkYXRlUmVnaXN0cnk6KCk9Pm99KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDIyMTg5NiksaT1yLm4obik7Y29uc3QgYT1zLmNyZWF0ZUNvbnRleHQoe30pO2Z1bmN0aW9uIG8oZSx0KXtpKCkuY2hlY2tQcm9wVHlwZXModCxlLCJjb250ZXh0IiwiUmVnaXN0cnlDb250ZXh0Iil9ZnVuY3Rpb24gbChlKXtjb25zdHt2YWxpZGF0aW9uOnQsdmFsdWU6cn09ZTtyZXR1cm4gbyhyLHQpLHMuY3JlYXRlRWxlbWVudChhLlByb3ZpZGVyLHt2YWx1ZTpyfSxlLmNoaWxkcmVuKX1mdW5jdGlvbiBjKGUpe2NvbnN0IHQ9KDAscy51c2VDb250ZXh0KShhKTtyZXR1cm4gbyh0LGUpLHR9ZnVuY3Rpb24gdSgpe3JldHVybiBhfX0sNjE2MzExKGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse3VzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3Q6KCk9Pm59KTt2YXIgcz1yKDc3OTQ3NCk7ZnVuY3Rpb24gbihlLHQpeygidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz9zLnVzZUVmZmVjdDpzLnVzZUxheW91dEVmZmVjdCkoZSx0KX19LDk5ODE1OChlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtGcmFnbWVudE1hcDooKT0+bn0pO3ZhciBzPXIoNzc5NDc0KTtmdW5jdGlvbiBuKGUpe2lmKGUubWFwKXtyZXR1cm4gcy5DaGlsZHJlbi50b0FycmF5KGUuY2hpbGRyZW4pLm1hcChlLm1hcCl9cmV0dXJuIGUuY2hpbGRyZW59fSw5OTQxNzgoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgcz1yKDk2NzEyMSk7ZnVuY3Rpb24gbigpe31mdW5jdGlvbiBpKCl7fWkucmVzZXRXYXJuaW5nQ2FjaGU9bixlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCxyLG4saSxhKXtpZihhIT09cyl7dmFyIG89bmV3IEVycm9yKCJDYWxsaW5nIFByb3BUeXBlcyB2YWxpZGF0b3JzIGRpcmVjdGx5IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGBwcm9wLXR5cGVzYCBwYWNrYWdlLiBVc2UgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKCkgdG8gY2FsbCB0aGVtLiBSZWFkIG1vcmUgYXQgaHR0cDovL2ZiLm1lL3VzZS1jaGVjay1wcm9wLXR5cGVzIik7dGhyb3cgby5uYW1lPSJJbnZhcmlhbnQgVmlvbGF0aW9uIixvfX1mdW5jdGlvbiB0KCl7cmV0dXJuIGV9ZS5pc1JlcXVpcmVkPWU7dmFyIHI9e2FycmF5OmUsYm9vbDplLGZ1bmM6ZSxudW1iZXI6ZSxvYmplY3Q6ZSxzdHJpbmc6ZSxzeW1ib2w6ZSxhbnk6ZSxhcnJheU9mOnQsZWxlbWVudDplLGVsZW1lbnRUeXBlOmUsaW5zdGFuY2VPZjp0LG5vZGU6ZSxvYmplY3RPZjp0LG9uZU9mOnQsb25lT2ZUeXBlOnQsc2hhcGU6dCxleGFjdDp0LGNoZWNrUHJvcFR5cGVzOmkscmVzZXRXYXJuaW5nQ2FjaGU6bn07cmV0dXJuIHIuUHJvcFR5cGVzPXIscn19LDIyMTg5NihlLHQscil7ZS5leHBvcnRzPXIoOTk0MTc4KSgpfSw5NjcxMjEoZSl7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz0iU0VDUkVUX0RPX05PVF9QQVNTX1RISVNfT1JfWU9VX1dJTExfQkVfRklSRUQifSwxMjkzNjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjshZnVuY3Rpb24gZSgpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fJiYiZnVuY3Rpb24iPT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoZSl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX19KCksZS5leHBvcnRzPXIoNTMyMzg3KX0sMTIyNzQ5KGUsdCl7InVzZSBzdHJpY3QiO3ZhciByPVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxzPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLG49U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxpPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksYT1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLG89U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKSxsPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxjPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksdT1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLGQ9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLGg9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpLG09U3ltYm9sLml0ZXJhdG9yO3ZhciB2PXtpc01vdW50ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oKXt9fSxwPU9iamVjdC5hc3NpZ24sZj17fTtmdW5jdGlvbiBTKGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5yZWZzPWYsdGhpcy51cGRhdGVyPXJ8fHZ9ZnVuY3Rpb24gYigpe31mdW5jdGlvbiBnKGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5yZWZzPWYsdGhpcy51cGRhdGVyPXJ8fHZ9Uy5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD17fSxTLnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbihlLHQpe2lmKCJvYmplY3QiIT10eXBlb2YgZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUmJm51bGwhPWUpdGhyb3cgRXJyb3IoInNldFN0YXRlKC4uLik6IHRha2VzIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMgdG8gdXBkYXRlIG9yIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzLiIpO3RoaXMudXBkYXRlci5lbnF1ZXVlU2V0U3RhdGUodGhpcyxlLHQsInNldFN0YXRlIil9LFMucHJvdG90eXBlLmZvcmNlVXBkYXRlPWZ1bmN0aW9uKGUpe3RoaXMudXBkYXRlci5lbnF1ZXVlRm9yY2VVcGRhdGUodGhpcyxlLCJmb3JjZVVwZGF0ZSIpfSwKYi5wcm90b3R5cGU9Uy5wcm90b3R5cGU7dmFyIF89Zy5wcm90b3R5cGU9bmV3IGI7Xy5jb25zdHJ1Y3Rvcj1nLHAoXyxTLnByb3RvdHlwZSksXy5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgeT1BcnJheS5pc0FycmF5LEU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxDPXtjdXJyZW50Om51bGx9LFQ9e2tleTohMCxyZWY6ITAsX19zZWxmOiEwLF9fc291cmNlOiEwfTtmdW5jdGlvbiB3KGUsdCxzKXt2YXIgbixpPXt9LGE9bnVsbCxvPW51bGw7aWYobnVsbCE9dClmb3IobiBpbiB2b2lkIDAhPT10LnJlZiYmKG89dC5yZWYpLHZvaWQgMCE9PXQua2V5JiYoYT0iIit0LmtleSksdClFLmNhbGwodCxuKSYmIVQuaGFzT3duUHJvcGVydHkobikmJihpW25dPXRbbl0pO3ZhciBsPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09bClpLmNoaWxkcmVuPXM7ZWxzZSBpZigxPGwpe2Zvcih2YXIgYz1BcnJheShsKSx1PTA7dTxsO3UrKyljW3VdPWFyZ3VtZW50c1t1KzJdO2kuY2hpbGRyZW49Y31pZihlJiZlLmRlZmF1bHRQcm9wcylmb3IobiBpbiBsPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PWlbbl0mJihpW25dPWxbbl0pO3JldHVybnskJHR5cGVvZjpyLHR5cGU6ZSxrZXk6YSxyZWY6byxwcm9wczppLF9vd25lcjpDLmN1cnJlbnR9fWZ1bmN0aW9uIEQoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmZS4kJHR5cGVvZj09PXJ9dmFyIE09L1wvKy9nO2Z1bmN0aW9uIFIoZSx0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZudWxsIT1lLmtleT9mdW5jdGlvbihlKXt2YXIgdD17Ij0iOiI9MCIsIjoiOiI9MiJ9O3JldHVybiIkIitlLnJlcGxhY2UoL1s9Ol0vZywoZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KSl9KCIiK2Uua2V5KTp0LnRvU3RyaW5nKDM2KX1mdW5jdGlvbiBrKGUsdCxuLGksYSl7dmFyIG89dHlwZW9mIGU7InVuZGVmaW5lZCIhPT1vJiYiYm9vbGVhbiIhPT1vfHwoZT1udWxsKTt2YXIgbD0hMTtpZihudWxsPT09ZSlsPSEwO2Vsc2Ugc3dpdGNoKG8pe2Nhc2Uic3RyaW5nIjpjYXNlIm51bWJlciI6bD0hMDticmVhaztjYXNlIm9iamVjdCI6c3dpdGNoKGUuJCR0eXBlb2Ype2Nhc2UgcjpjYXNlIHM6bD0hMH19aWYobClyZXR1cm4gYT1hKGw9ZSksZT0iIj09PWk/Ii4iK1IobCwwKTppLHkoYSk/KG49IiIsbnVsbCE9ZSYmKG49ZS5yZXBsYWNlKE0sIiQmLyIpKyIvIiksayhhLHQsbiwiIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGV9KSkpOm51bGwhPWEmJihEKGEpJiYoYT1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjpyLHR5cGU6ZS50eXBlLGtleTp0LHJlZjplLnJlZixwcm9wczplLnByb3BzLF9vd25lcjplLl9vd25lcn19KGEsbisoIWEua2V5fHxsJiZsLmtleT09PWEua2V5PyIiOigiIithLmtleSkucmVwbGFjZShNLCIkJi8iKSsiLyIpK2UpKSx0LnB1c2goYSkpLDE7aWYobD0wLGk9IiI9PT1pPyIuIjppKyI6Iix5KGUpKWZvcih2YXIgYz0wO2M8ZS5sZW5ndGg7YysrKXt2YXIgdT1pK1Iobz1lW2NdLGMpO2wrPWsobyx0LG4sdSxhKX1lbHNlIGlmKHU9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGU/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoZT1tJiZlW21dfHxlWyJAQGl0ZXJhdG9yIl0pP2U6bnVsbH0oZSksImZ1bmN0aW9uIj09dHlwZW9mIHUpZm9yKGU9dS5jYWxsKGUpLGM9MDshKG89ZS5uZXh0KCkpLmRvbmU7KWwrPWsobz1vLnZhbHVlLHQsbix1PWkrUihvLGMrKyksYSk7ZWxzZSBpZigib2JqZWN0Ij09PW8pdGhyb3cgdD1TdHJpbmcoZSksRXJyb3IoIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogIisoIltvYmplY3QgT2JqZWN0XSI9PT10PyJvYmplY3Qgd2l0aCBrZXlzIHsiK09iamVjdC5rZXlzKGUpLmpvaW4oIiwgIikrIn0iOnQpKyIpLiBJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5IGluc3RlYWQuIik7cmV0dXJuIGx9ZnVuY3Rpb24gSShlLHQscil7aWYobnVsbD09ZSlyZXR1cm4gZTt2YXIgcz1bXSxuPTA7cmV0dXJuIGsoZSxzLCIiLCIiLChmdW5jdGlvbihlKXtyZXR1cm4gdC5jYWxsKHIsZSxuKyspfSkpLHN9ZnVuY3Rpb24gRihlKXtpZigtMT09PWUuX3N0YXR1cyl7dmFyIHQ9ZS5fcmVzdWx0Oyh0PXQoKSkudGhlbigoZnVuY3Rpb24odCl7MCE9PWUuX3N0YXR1cyYmLTEhPT1lLl9zdGF0dXN8fChlLl9zdGF0dXM9MSxlLl9yZXN1bHQ9dCl9KSwoZnVuY3Rpb24odCl7MCE9PWUuX3N0YXR1cyYmLTEhPT1lLl9zdGF0dXN8fChlLl9zdGF0dXM9MixlLl9yZXN1bHQ9dCl9KSksLTE9PT1lLl9zdGF0dXMmJihlLl9zdGF0dXM9MCxlLl9yZXN1bHQ9dCl9aWYoMT09PWUuX3N0YXR1cylyZXR1cm4gZS5fcmVzdWx0LmRlZmF1bHQ7dGhyb3cgZS5fcmVzdWx0fXZhciBPPXtjdXJyZW50Om51bGx9LEE9e3RyYW5zaXRpb246bnVsbH0sVj17UmVhY3RDdXJyZW50RGlzcGF0Y2hlcjpPLFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOkEsUmVhY3RDdXJyZW50T3duZXI6Q307dC5DaGlsZHJlbj17bWFwOkksZm9yRWFjaDpmdW5jdGlvbihlLHQscil7SShlLChmdW5jdGlvbigpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfSkscil9LGNvdW50OmZ1bmN0aW9uKGUpe3ZhciB0PTA7cmV0dXJuIEkoZSwoZnVuY3Rpb24oKXt0Kyt9KSksdH0sdG9BcnJheTpmdW5jdGlvbihlKXtyZXR1cm4gSShlLChmdW5jdGlvbihlKXtyZXR1cm4gZX0pKXx8W119LG9ubHk6ZnVuY3Rpb24oZSl7aWYoIUQoZSkpdGhyb3cgRXJyb3IoIlJlYWN0LkNoaWxkcmVuLm9ubHkgZXhwZWN0ZWQgdG8gcmVjZWl2ZSBhIHNpbmdsZSBSZWFjdCBlbGVtZW50IGNoaWxkLiIpO3JldHVybiBlfX0sdC5Db21wb25lbnQ9Uyx0LkZyYWdtZW50PW4sdC5Qcm9maWxlcj1hLHQuUHVyZUNvbXBvbmVudD1nLHQuU3RyaWN0TW9kZT1pLHQuU3VzcGVuc2U9dSx0Ll9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEPVYsdC5jbG9uZUVsZW1lbnQ9ZnVuY3Rpb24oZSx0LHMpewppZihudWxsPT1lKXRocm93IEVycm9yKCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCAiK2UrIi4iKTt2YXIgbj1wKHt9LGUucHJvcHMpLGk9ZS5rZXksYT1lLnJlZixvPWUuX293bmVyO2lmKG51bGwhPXQpe2lmKHZvaWQgMCE9PXQucmVmJiYoYT10LnJlZixvPUMuY3VycmVudCksdm9pZCAwIT09dC5rZXkmJihpPSIiK3Qua2V5KSxlLnR5cGUmJmUudHlwZS5kZWZhdWx0UHJvcHMpdmFyIGw9ZS50eXBlLmRlZmF1bHRQcm9wcztmb3IoYyBpbiB0KUUuY2FsbCh0LGMpJiYhVC5oYXNPd25Qcm9wZXJ0eShjKSYmKG5bY109dm9pZCAwPT09dFtjXSYmdm9pZCAwIT09bD9sW2NdOnRbY10pfXZhciBjPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09YyluLmNoaWxkcmVuPXM7ZWxzZSBpZigxPGMpe2w9QXJyYXkoYyk7Zm9yKHZhciB1PTA7dTxjO3UrKylsW3VdPWFyZ3VtZW50c1t1KzJdO24uY2hpbGRyZW49bH1yZXR1cm57JCR0eXBlb2Y6cix0eXBlOmUudHlwZSxrZXk6aSxyZWY6YSxwcm9wczpuLF9vd25lcjpvfX0sdC5jcmVhdGVDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybihlPXskJHR5cGVvZjpsLF9jdXJyZW50VmFsdWU6ZSxfY3VycmVudFZhbHVlMjplLF90aHJlYWRDb3VudDowLFByb3ZpZGVyOm51bGwsQ29uc3VtZXI6bnVsbCxfZGVmYXVsdFZhbHVlOm51bGwsX2dsb2JhbE5hbWU6bnVsbH0pLlByb3ZpZGVyPXskJHR5cGVvZjpvLF9jb250ZXh0OmV9LGUuQ29uc3VtZXI9ZX0sdC5jcmVhdGVFbGVtZW50PXcsdC5jcmVhdGVGYWN0b3J5PWZ1bmN0aW9uKGUpe3ZhciB0PXcuYmluZChudWxsLGUpO3JldHVybiB0LnR5cGU9ZSx0fSx0LmNyZWF0ZVJlZj1mdW5jdGlvbigpe3JldHVybntjdXJyZW50Om51bGx9fSx0LmZvcndhcmRSZWY9ZnVuY3Rpb24oZSl7cmV0dXJueyQkdHlwZW9mOmMscmVuZGVyOmV9fSx0LmlzVmFsaWRFbGVtZW50PUQsdC5sYXp5PWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpoLF9wYXlsb2FkOntfc3RhdHVzOi0xLF9yZXN1bHQ6ZX0sX2luaXQ6Rn19LHQubWVtbz1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjpkLHR5cGU6ZSxjb21wYXJlOnZvaWQgMD09PXQ/bnVsbDp0fX0sdC5zdGFydFRyYW5zaXRpb249ZnVuY3Rpb24oZSl7dmFyIHQ9QS50cmFuc2l0aW9uO0EudHJhbnNpdGlvbj17fTt0cnl7ZSgpfWZpbmFsbHl7QS50cmFuc2l0aW9uPXR9fSx0LnVuc3RhYmxlX2FjdD1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJhY3QoLi4uKSBpcyBub3Qgc3VwcG9ydGVkIGluIHByb2R1Y3Rpb24gYnVpbGRzIG9mIFJlYWN0LiIpfSx0LnVzZUNhbGxiYWNrPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE8uY3VycmVudC51c2VDYWxsYmFjayhlLHQpfSx0LnVzZUNvbnRleHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIE8uY3VycmVudC51c2VDb250ZXh0KGUpfSx0LnVzZURlYnVnVmFsdWU9ZnVuY3Rpb24oKXt9LHQudXNlRGVmZXJyZWRWYWx1ZT1mdW5jdGlvbihlKXtyZXR1cm4gTy5jdXJyZW50LnVzZURlZmVycmVkVmFsdWUoZSl9LHQudXNlRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE8uY3VycmVudC51c2VFZmZlY3QoZSx0KX0sdC51c2VJZD1mdW5jdGlvbigpe3JldHVybiBPLmN1cnJlbnQudXNlSWQoKX0sdC51c2VJbXBlcmF0aXZlSGFuZGxlPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gTy5jdXJyZW50LnVzZUltcGVyYXRpdmVIYW5kbGUoZSx0LHIpfSx0LnVzZUluc2VydGlvbkVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBPLmN1cnJlbnQudXNlSW5zZXJ0aW9uRWZmZWN0KGUsdCl9LHQudXNlTGF5b3V0RWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE8uY3VycmVudC51c2VMYXlvdXRFZmZlY3QoZSx0KX0sdC51c2VNZW1vPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE8uY3VycmVudC51c2VNZW1vKGUsdCl9LHQudXNlUmVkdWNlcj1mdW5jdGlvbihlLHQscil7cmV0dXJuIE8uY3VycmVudC51c2VSZWR1Y2VyKGUsdCxyKX0sdC51c2VSZWY9ZnVuY3Rpb24oZSl7cmV0dXJuIE8uY3VycmVudC51c2VSZWYoZSl9LHQudXNlU3RhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIE8uY3VycmVudC51c2VTdGF0ZShlKX0sdC51c2VTeW5jRXh0ZXJuYWxTdG9yZT1mdW5jdGlvbihlLHQscil7cmV0dXJuIE8uY3VycmVudC51c2VTeW5jRXh0ZXJuYWxTdG9yZShlLHQscil9LHQudXNlVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiBPLmN1cnJlbnQudXNlVHJhbnNpdGlvbigpfSx0LnZlcnNpb249IjE4LjIuMCJ9LDc3OTQ3NChlLHQscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1yKDEyMjc0OSl9LDM3NTI2MihlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtBYnN0cmFjdEpzb25TdG9yZVNlcnZpY2U6KCk9PmksQ29tbW9uSnNvblN0b3JlU2VydmljZTooKT0+YX0pO3ZhciBzPXIoOTQ4MzgwKTtjb25zdCBuPVN5bWJvbCgiTk9fVkFMVUVfU0VOVElORUwiKTtjbGFzcyBpe2NvbnN0cnVjdG9yKGUsdCxyLG4saSl7dGhpcy5fb25DaGFuZ2U9bmV3IHMuRGVsZWdhdGUsdGhpcy5faGFuZGxlQ2hhbmdlPSgpPT57dGhpcy5fb25DaGFuZ2UuZmlyZSh0aGlzLmdldCgpKX0sdGhpcy5fY3Jvc3NUYWJFdmVudHM9ZSx0aGlzLl9qc29uS2V5VmFsdWVTdG9yZT10LHRoaXMuQ1JPU1NUQUJfRVZFTlRfTkFNRT1yLHRoaXMuSlNPTl9TVE9SRV9LRVk9bix0aGlzLmRlZmF1bHRTdG9yZVZhbHVlPXRoaXMuX3NlcmlhbGl6ZShpKSx0aGlzLl9zdWJzY3JpYmUoKX1nZXQoKXtjb25zdCBlPXRoaXMuX2pzb25LZXlWYWx1ZVN0b3JlLmdldEpTT04odGhpcy5KU09OX1NUT1JFX0tFWSx0aGlzLmRlZmF1bHRTdG9yZVZhbHVlKTtyZXR1cm4gdGhpcy5fZGVzZXJpYWxpemUoZSl9c2V0KGUsdCl7Y29uc3Qgcj10aGlzLl9zZXJpYWxpemUoZSk7dGhpcy5fanNvbktleVZhbHVlU3RvcmUuc2V0SlNPTih0aGlzLkpTT05fU1RPUkVfS0VZLHIsdCksdGhpcy5fY3Jvc3NUYWJFdmVudHMuZW1pdCh0aGlzLkNST1NTVEFCX0VWRU5UX05BTUUpLHRoaXMuX29uQ2hhbmdlLmZpcmUoZSl9aGFzVmFsdWUoKXsKcmV0dXJuIHRoaXMuX2pzb25LZXlWYWx1ZVN0b3JlLmdldEpTT04odGhpcy5KU09OX1NUT1JFX0tFWSxuKSE9PW59Z2V0T25DaGFuZ2UoKXtyZXR1cm4gdGhpcy5fb25DaGFuZ2V9ZGVzdHJveSgpe3RoaXMuX3Vuc3Vic2NyaWJlKCksdGhpcy5fb25DaGFuZ2UuZGVzdHJveSgpLGRlbGV0ZSB0aGlzLl9vbkNoYW5nZX1fc3Vic2NyaWJlKCl7dGhpcy5fY3Jvc3NUYWJFdmVudHMub24odGhpcy5DUk9TU1RBQl9FVkVOVF9OQU1FLHRoaXMuX2hhbmRsZUNoYW5nZSksdGhpcy5fanNvbktleVZhbHVlU3RvcmUub25TeW5jLnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUNoYW5nZSl9X3Vuc3Vic2NyaWJlKCl7dGhpcy5fY3Jvc3NUYWJFdmVudHMub2ZmKHRoaXMuQ1JPU1NUQUJfRVZFTlRfTkFNRSx0aGlzLl9oYW5kbGVDaGFuZ2UpLHRoaXMuX2pzb25LZXlWYWx1ZVN0b3JlLm9uU3luYy51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUNoYW5nZSl9fWNsYXNzIGEgZXh0ZW5kcyBpe19zZXJpYWxpemUoZSl7cmV0dXJuIGV9X2Rlc2VyaWFsaXplKGUpe3JldHVybiBlfX19LDQ4MDA2MShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtmYXZvcml0ZUludGVydmFsc1NlcnZpY2U6KCk9Pm0sZ2V0RGVmYXVsdEZhdm9yaXRlQ2hhcnRTdHlsZXM6KCk9PmQsZ2V0RGVmYXVsdEZhdm9yaXRlUmVzb2x1dGlvbnM6KCk9Pmh9KTt2YXIgcz1yKDE1MjY5OSksbj1yKDkzMDU2NiksaT1yKDkzMDIzMSksYT1yKDQ2NTEzNyksbz1yKDYzMzMxOCksbD1yKDcwMjE1Myk7Y29uc3QgYz17QXJlYTozLCJITEMgYXJlYSI6MTYsQmFyczowLENhbmRsZXM6MSwiSGVpa2VuIEFzaGkiOjgsIkhvbGxvdyBDYW5kbGVzIjo5LExpbmU6MixSZW5rbzo0LEthZ2k6NSwiUG9pbnQgJiBmaWd1cmUiOjYsIkxpbmUgQnJlYWsiOjcsQmFzZWxpbmU6MTAsTGluZVdpdGhNYXJrZXJzOjE0LFN0ZXBsaW5lOjE1LENvbHVtbnM6MTMsIkhpZ2gtbG93IjoxMn0sdT1bIjEiLCIzMCIsIjYwIl07ZnVuY3Rpb24gZChlPVtdKXtsZXQgdD1lLm1hcCgoZT0+Y1tlXSkpfHxbMSw0LDUsNl07cmV0dXJuKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IikmJih0PVswLDEsM10pLHR9ZnVuY3Rpb24gaChlPVtdKXtyZXR1cm4oMCxhLm1lcmdlUmVzb2x1dGlvbnMpKGUsKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic3Rhcl9zb21lX2ludGVydmFsc19ieV9kZWZhdWx0Iik/dTpbXSl9Y29uc3QgbT1uZXcgby5GYXZvcml0ZUludGVydmFsc1NlcnZpY2Uocy5UVlhXaW5kb3dFdmVudHMsbixoKCkpO25ldyBsLkZhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlKHMuVFZYV2luZG93RXZlbnRzLG4sZCgpKX0sMzQ0NTM2KGUsdCxyKXsidXNlIHN0cmljdCI7ci5yKHQpLHIuZCh0LHtGYXZvcml0ZVNjcmlwdHNNb2RlbDooKT0+ZH0pO3ZhciBzPXIoOTMwNTY2KSxuPXIoMTUyNjk5KSxpPXIoNjM0ODYpLGE9cig2MzI0NDQpCjtjb25zdCBvPUpTT04ucGFyc2UoJ3siQUNDREB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7QWNjdW11bGF0aW9uX0Rpc3RyaWJ1dGlvbiIsInN0dWR5QURSQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtBZHZhbmNlX0RlY2xpbmVfUmF0aW9fQmFycyIsIkFST09OQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtBcm9vbiIsIkFUUkB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7QXZlcmFnZV9UcnVlX1JhbmdlIiwiQXdlc29tZU9zY2lsbGF0b3JAdHYtYmFzaWNzdHVkaWVzIjoiU1REO0F3ZXNvbWVfT3NjaWxsYXRvciIsIkJCQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtCb2xsaW5nZXJfQmFuZHMiLCJCb2xsaW5nZXJCYW5kc1JAdHYtYmFzaWNzdHVkaWVzIjoiU1REO0JvbGxpbmdlcl9CYW5kc19CIiwiQm9sbGluZ2VyQmFuZHNXaWR0aEB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7Qm9sbGluZ2VyX0JhbmRzX1dpZHRoIiwiQ01GQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtDaGFpa2luX01vbmV5X0Zsb3ciLCJDaGFpa2luT3NjaWxsYXRvckB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7Q2hhaWtpbl9Pc2NpbGxhdG9yIiwiQ2hvcHBpbmVzc0luZGV4QHR2LWJhc2ljc3R1ZGllcyI6IlNURDtDaG9wcGluZXNzX0luZGV4IiwiRG91YmxlRU1BQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtERU1BIiwiV2lsbGlhbVJAdHYtYmFzaWNzdHVkaWVzIjoiU1REO1dpbGxhbXNfUiIsIkNDSUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7Q0NJIiwiQ1JTSUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7Q29ubm9yc19SU0kiLCJEZXRyZW5kZWRQcmljZU9zY2lsbGF0b3JAdHYtYmFzaWNzdHVkaWVzIjoiU1REO0RQTyIsIkRNQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtETUkiLCJET05DSEB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7RG9uY2hpYW5fQ2hhbm5lbHMiLCJFYXNlT2ZNb3ZlbWVudEB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7RU9NIiwiRUZJQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtFRkkiLCJFTlZAdHYtYmFzaWNzdHVkaWVzIjoiU1REO0VOViIsIkZpc2hlclRyYW5zZm9ybUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7RmlzaGVyX1RyYW5zZm9ybSIsIkhWQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtIaXN0b3JpY2FsX1ZvbGF0aWxpdHkiLCJLTFROUkB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7S2VsdG5lcl9DaGFubmVscyIsIk1PTUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7TW9tZW50dW0iLCJNRkB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7TW9uZXlfRmxvdyIsIlVsdGltYXRlT3NjQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtVbHRpbWF0ZV9Pc2NpbGxhdG9yIiwiVHJpeEB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7VFJJWCIsIlN0b2NoYXN0aWNAdHYtYmFzaWNzdHVkaWVzIjoiU1REO1N0b2NoYXN0aWMiLCJTdG9jaGFzdGljUlNJQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtTdG9jaGFzdGljX1JTSSIsIlJTSUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7UlNJIiwiUk9DQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtST0MiLCJQcmljZU9zY0B0di1iYXNpY3N0dWRpZXMiOiJTVEQ7UHJpY2VfT3NjaWxsYXRvciIsIk1BU2ltcGxlQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtTTUEiLCJPQlZAdHYtYmFzaWNzdHVkaWVzIjoiU1REO09uX0JhbGFuY2VfVm9sdW1lIiwiUFNBUkB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7UFNBUiIsIlZpZ29ySW5kZXhAdHYtYmFzaWNzdHVkaWVzIjoiU1REO1JlbGF0aXZlX1ZpZ29yX0luZGV4IiwiVm9sYXRpbGl0eUluZGV4QHR2LWJhc2ljc3R1ZGllcyI6IlNURDtSZWxhdGl2ZV9Wb2xhdGlsaXR5X0luZGV4IiwiU01JRXJnb2RpY0luZGljYXRvckB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7U01JX0VyZ29kaWNfSW5kaWNhdG9yX09zY2lsbGF0b3IiLCJTTUlFcmdvZGljT3NjaWxsYXRvckB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7U01JX0VyZ29kaWNfT3NjaWxsYXRvciIsIk1BQ0RAdHYtYmFzaWNzdHVkaWVzIjoiU1REO01BQ0QiLCJNQVdlaWdodGVkQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtXTUEiLCJNQUV4cEB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7RU1BIiwiaHVsbE1BQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtIdWxsJTFNQSIsImNoYW5kZU1PQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtDaGFuZGVfTW9tZW50dW1fT3NjaWxsYXRvciIsIlRyaXBsZUVNQUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7VEVNQSIsIk1BVm9sdW1lV2VpZ2h0ZWRAdHYtYmFzaWNzdHVkaWVzIjoiU1REO1ZXTUEiLCJXaWxsaWFtc0FsbGlnYXRvckB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7V2lsbGlhbXNfQWxsaWdhdG9yIiwiV2lsbGlhbXNGcmFjdGFsQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtXaGlsbGlhbXNfRnJhY3RhbHMifScpO3ZhciBsPXIoOTQ4MzgwKTtjb25zdCBjPW87bGV0IHU9bnVsbDtjbGFzcyBke2NvbnN0cnVjdG9yKGU9cyl7dGhpcy5fZmF2b3JpdGVzPVtdLHRoaXMuX2Zhdm9yaXRlc0NoYW5nZWQ9bmV3IGwuRGVsZWdhdGUsdGhpcy5fc2V0dGluZ3M9ZSxuLlRWWFdpbmRvd0V2ZW50cy5vbigiU3R1ZHlGYXZvcml0ZXNDaGFuZ2VkIiwoZT0+e2NvbnN0IHQ9SlNPTi5wYXJzZShlKTt0aGlzLl9sb2FkRnJvbVN0YXRlKHQuZmF2b3JpdGVzfHxbXSl9KSksdGhpcy5fc2V0dGluZ3Mub25TeW5jLnN1YnNjcmliZSh0aGlzLHRoaXMuX2xvYWRGYXZzKSx0aGlzLl9sb2FkRmF2cygpfWlzRmF2KGUpe2NvbnN0IHQ9dGhpcy5mYXZJZChlKTtyZXR1cm4tMSE9PXRoaXMuX2ZpbmRGYXZJbmRleCh0KX10b2dnbGVGYXZvcml0ZShlKXt0aGlzLmlzRmF2KGUpP3RoaXMucmVtb3ZlRmF2b3JpdGUoZSk6dGhpcy5hZGRGYXZvcml0ZShlKX1hZGRGYXZvcml0ZShlKXtjb25zdCB0PXRoaXMuZmF2SWQoZSk7dGhpcy5fZmF2b3JpdGVzLnB1c2gobSh0KSksdGhpcy5fZmF2b3JpdGVzQ2hhbmdlZC5maXJlKHQpLHRoaXMuX3NhdmVGYXZzKCl9cmVtb3ZlRmF2b3JpdGUoZSl7Y29uc3QgdD10aGlzLmZhdklkKGUpLHI9dGhpcy5fZmluZEZhdkluZGV4KHQpOy0xIT09ciYmKHRoaXMuX2Zhdm9yaXRlcy5zcGxpY2UociwxKSx0aGlzLl9mYXZvcml0ZXNDaGFuZ2VkLmZpcmUodCkpLHRoaXMuX3NhdmVGYXZzKCl9ZmF2SWQoZSl7CnJldHVybigwLGEuaXNQaW5lSWRTdHJpbmcpKGUpP2U6KDAsYS5leHRyYWN0UGluZUlkKShlKXx8KDAsaS5leHRyYWN0U3R1ZHlJZCkoZSl9ZmF2b3JpdGVzKCl7cmV0dXJuIHRoaXMuX2Zhdm9yaXRlc31mYXZvcml0ZVBpbmVJZHMoKXtyZXR1cm4gdGhpcy5fZmF2b3JpdGVzLmZpbHRlcigoZT0+InBpbmUiPT09ZS50eXBlKSkubWFwKChlPT5lLnBpbmVJZCkpfWZhdm9yaXRlc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fZmF2b3JpdGVzQ2hhbmdlZH1zdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gbnVsbD09PXUmJih1PW5ldyBkKSx1fXN0YXRpYyBjcmVhdGUoZSl7cmV0dXJuIG5ldyBkKGUpfV9sb2FkRmF2cygpe2NvbnN0IGU9dGhpcy5fc2V0dGluZ3MuZ2V0SlNPTigic3R1ZHlNYXJrZXQuZmF2b3JpdGVzIixbXSk7dGhpcy5fbG9hZEZyb21TdGF0ZShlKX1fc2F2ZUZhdnMoKXtjb25zdCBlPXRoaXMuX3N0YXRlVG9TYXZlKCk7dGhpcy5fc2V0dGluZ3Muc2V0SlNPTigic3R1ZHlNYXJrZXQuZmF2b3JpdGVzIixlLHtmb3JjZUZsdXNoOiEwfSksbi5UVlhXaW5kb3dFdmVudHMuZW1pdCgiU3R1ZHlGYXZvcml0ZXNDaGFuZ2VkIixKU09OLnN0cmluZ2lmeSh7ZmF2b3JpdGVzOmV9KSl9X3N0YXRlVG9TYXZlKCl7cmV0dXJuIHRoaXMuX2Zhdm9yaXRlcy5tYXAoaCl9X2xvYWRGcm9tU3RhdGUoZSl7dGhpcy5fZmF2b3JpdGVzPWUubWFwKChlPT5tKGZ1bmN0aW9uKGUpe3JldHVybiBlIGluIGM/Y1tlXTplfShlKSkpKSx0aGlzLl9mYXZvcml0ZXNDaGFuZ2VkLmZpcmUoKX1fZmluZEZhdkluZGV4KGUpe3JldHVybiB0aGlzLl9mYXZvcml0ZXMuZmluZEluZGV4KCh0PT5lPT09aCh0KSkpfX1mdW5jdGlvbiBoKGUpe3JldHVybiJqYXZhIj09PWUudHlwZT9lLnN0dWR5SWQ6ZS5waW5lSWR9ZnVuY3Rpb24gbShlKXtyZXR1cm4oMCxhLmlzUGluZUlkU3RyaW5nKShlKT97dHlwZToicGluZSIscGluZUlkOmV9Ont0eXBlOiJqYXZhIixzdHVkeUlkOmV9fX0sMzkxODkwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjEwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiIGQ9Ik0yIDFsOCA4IDgtOCIvPjwvc3ZnPid9LDMwMTYwNyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNC41NiAxNGExMC4wNSAxMC4wNSAwIDAwLjUyLjkxYy40MS42OSAxLjA0IDEuNiAxLjg1IDIuNUM4LjU4IDE5LjI1IDEwLjk1IDIxIDE0IDIxYzMuMDUgMCA1LjQyLTEuNzYgNy4wNy0zLjU4QTE3LjE4IDE3LjE4IDAgMDAyMy40NCAxNGE5LjQ3IDkuNDcgMCAwMC0uNTItLjkxYy0uNDEtLjY5LTEuMDQtMS42LTEuODUtMi41QzE5LjQyIDguNzUgMTcuMDUgNyAxNCA3Yy0zLjA1IDAtNS40MiAxLjc2LTcuMDcgMy41OEExNy4xOCAxNy4xOCAwIDAwNC41NiAxNHpNMjQgMTRsLjQ1LS4yMS0uMDEtLjAzYTcuMDMgNy4wMyAwIDAwLS4xNi0uMzJjLS4xMS0uMi0uMjgtLjUxLS41LS44Ny0uNDQtLjcyLTEuMS0xLjY5LTEuOTctMi42NUMyMC4wOCA3Ljk5IDE3LjQ1IDYgMTQgNmMtMy40NSAwLTYuMDggMi03LjggMy45MmExOC4xOCAxOC4xOCAwIDAwLTIuNjQgMy44NHYuMDJoLS4wMUw0IDE0bC0uNDUtLjIxLS4xLjIxLjEuMjFMNCAxNGwtLjQ1LjIxLjAxLjAzYTUuODUgNS44NSAwIDAwLjE2LjMyYy4xMS4yLjI4LjUxLjUuODcuNDQuNzIgMS4xIDEuNjkgMS45NyAyLjY1QzcuOTIgMjAuMDEgMTAuNTUgMjIgMTQgMjJjMy40NSAwIDYuMDgtMiA3LjgtMy45MmExOC4xOCAxOC4xOCAwIDAwMi42NC0zLjg0di0uMDJoLjAxTDI0IDE0em0wIDBsLjQ1LjIxLjEtLjIxLS4xLS4yMUwyNCAxNHptLTEwLTNhMyAzIDAgMTAwIDYgMyAzIDAgMDAwLTZ6bS00IDNhNCA0IDAgMTE4IDAgNCA0IDAgMDEtOCAweiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.22510.c6272459a17c5398fd7b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.927Z","timestamp":1785141584927,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.22510.c6272459a17c5398fd7b.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-dd\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:50\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 892ceb42d9b424e2d42a5c44e0e80901\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":221,"size_decoded":957,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"6c6c88b45a73669efaf42c1d23109bd6","sha1":"436efe5bac23cb6e61761f6ca2f625eb2bd05c43","sha256":"24f8d2b3db85b1adf9680eac2aecc1bdae2d614e4af27d8f1c977a97af861c18","sha512":"a1cae379741ea70a2f6d31f79de4a9ac3b5ef084207b06a5a6238b4dc5c8a38fe401c62c5b95f25478d60ed7a24806226720d381990de06e495774959d3cbe35","ssdeep":"","tlshash":"d0d01223f025e8e57a7a895473509ef07cb4a58411f2d4d373b48b18611692415b4e7c","first_seen":"2026-05-05T12:17:23.617466Z","last_seen":"2026-07-27T14:50:15.521721Z","times_seen":384,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syMjUxMF0sezQ5OTM5MihlKXtlLmV4cG9ydHM9WyJBIl19LDQyMDE4NihlKXtlLmV4cG9ydHM9WyJMIl19LDM3MjcxOShlKXtlLmV4cG9ydHM9WyJUb2dnbGUgYXV0byBzY2FsZSJdfSwyMDY0NTEoZSl7ZS5leHBvcnRzPVsiVG9nZ2xlIGxvZyBzY2FsZSJdfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/85510.de862f9d26db7cf3cd08.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.129Z","timestamp":1785141584129,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/85510.de862f9d26db7cf3cd08.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-2a9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3fd8fd2ca2f125d9b07c9cedfe2efb03\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":681,"size_decoded":1161,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (681), with no line terminators","md5":"7cce80372e7f07843410b6d3a692a4f6","sha1":"3cc8e6874df4c8b769ce175f1cf67a8b1fa114d4","sha256":"9e6faf03deaf6681c70ad58cacf7014b703268bb2e6f9326ac6a9ab19327c194","sha512":"a5bec448adb1e1a1ed9c61badc3c8fb561d66ed8e50d2df941272a9b32b1ca7ef284b0b57331f216ac91538d5cf440a39338d472034d87083cdc909c5e11b446","ssdeep":"","tlshash":"c501cb55704e9069b80be13e1b6cb28ce551f009ce438facf934f4108ac6aec1061ace","first_seen":"2026-03-24T10:46:27.25807Z","last_seen":"2026-07-27T14:50:15.400612Z","times_seen":1099,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtVFdVdDp2YXIoLS1jb2xvci13aGl0ZSl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1UV1V0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfWJvZHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ib2R5LWJnKX1ib2R5LmV4dGVuc2lvbnttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW59aW1ne2JvcmRlcjpub25lfXRleHRhcmVhe3Jlc2l6ZTpub25lfTpmb2N1c3tvdXRsaW5lOm5vbmV9aW5wdXQsdGV4dGFyZWF7Ym9yZGVyLXJhZGl1czowfS51bnNlbGVjdGFibGV7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnNlbGVjdGFibGUsaW5wdXQsdGV4dGFyZWF7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0O3VzZXItc2VsZWN0OnRleHR9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS5sb2FkaW5nLWluZGljYXRvcntiYWNrZ3JvdW5kOnZhcigtLV8wLVRXVXQpO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxNTB9LmZhbGxpbmcsLmdyb3dpbmd7Y29sb3I6I2ZmZn0uZ3Jvd2luZ3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWxlZ2FjeS1zdWNjZXNzKX0uZmFsbGluZ3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94825.8a90c0c3ebd413eb9c81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.154Z","timestamp":1785141584154,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94825.8a90c0c3ebd413eb9c81.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-846c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ced0ea641a8b2cf1dc4520277377a0a8\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":33900,"size_decoded":11131,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"321406610467d6dffd30c75b9184e9df","sha1":"eb120d6cc348265cbed0295dd3cfab7428c5425f","sha256":"3f94fcd41f3f37d9d46697679761c3bf1712a0f67a22b38bc5e3c44b47eb56b5","sha512":"8d1b1035b2fe029452f0a7de35ef2793e6da96377c589956a5e21eaf23f3b2ae7bcedfe568a74bb8ba9a46109cdc8876912e2d73814beca47bbfa286c3081136","ssdeep":"768:QmBTez9037WM2rFgD0Nm7YLSxeUf4DK4uA8JUJESLb/XW4xmmInIPxHgask+vvw4:Q4Ow7uxNVvpPpghBT4Uf","tlshash":"17e2b693b3f9a02966ded0dad8341403e31924447884046cf27dbdde6b5dd88b2b9b7e","first_seen":"2026-07-23T13:38:20.509185Z","last_seen":"2026-07-27T14:50:15.393454Z","times_seen":622,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTQ4MjVdLHs0MDIwNDUoZSx0LHMpe3MuZCh0LHtXYXRjaGVkT2JqZWN0OigpPT5vfSk7dmFyIHI9cyg2MDE4NDEpLGk9cygyMzIzNjQpO2Z1bmN0aW9uIGEoZSx0KXtyZXR1cm4oMCxyLmRlZXBFcXVhbHMpKGUsdClbMF19Y2xhc3MgbyBleHRlbmRzIGkuV2F0Y2hlZFZhbHVle2NvbnN0cnVjdG9yKGUsdD1hKXtzdXBlcihlKSx0aGlzLl9jb21wYXJhdG9yPXR9c2V0VmFsdWUoZSx0KXshdCYmdGhpcy5fY29tcGFyYXRvcih0aGlzLnZhbHVlKCksZSl8fHN1cGVyLnNldFZhbHVlKGUsdCl9fX0sNjI0Njc4KGUsdCxzKXtzLmQodCx7RGF0ZUZvcm1hdHRlcjooKT0+YX0pO3ZhciByPXMoNDkxMTY1KTtjbGFzcyBpe2NvbnN0cnVjdG9yKGU9Inl5eXktTU0tZGQiLHQ9ITEscz0iVVRDIil7dGhpcy5fZGF0ZUZvcm1hdEZ1bmM9dD8oMCxyLmdldERhdGVGb3JtYXRXaXRoV2Vla2RheSkoZSxzKTpyLmRhdGVGb3JtYXRGdW5jdGlvbnNbZV19Zm9ybWF0KGUpe3JldHVybiB0aGlzLl9kYXRlRm9ybWF0RnVuYyhlLCExKX1mb3JtYXRMb2NhbChlKXtyZXR1cm4gdGhpcy5fZGF0ZUZvcm1hdEZ1bmMoZSwhMCl9cGFyc2UoZSl7cmV0dXJuIiI9PT1lP3tyZXM6ITF9OntyZXM6ITAsdmFsdWU6ZX19fWNsYXNzIGF7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMuX2RhdGVGb3JtYXR0ZXJJbnN0YW5jZT1uZXcgaShlLHQscyl9Zm9ybWF0KGUpe3JldHVybiBhLl9jdXN0b21Gb3JtYXR0ZXI/YS5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdChlKTp0aGlzLl9kYXRlRm9ybWF0dGVySW5zdGFuY2UuZm9ybWF0KGUpfWZvcm1hdExvY2FsKGUpe3JldHVybiBhLl9jdXN0b21Gb3JtYXR0ZXI/YS5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpOnRoaXMuX2RhdGVGb3JtYXR0ZXJJbnN0YW5jZS5mb3JtYXRMb2NhbChlKX1wYXJzZShlKXtyZXR1cm4gYS5fY3VzdG9tRm9ybWF0dGVyP2EuX2N1c3RvbUZvcm1hdHRlci5wYXJzZShlKTp0aGlzLl9kYXRlRm9ybWF0dGVySW5zdGFuY2UucGFyc2UoZSl9c3RhdGljIHNldEN1c3RvbUZvcm1hdHRlcihlKXthLl9jdXN0b21Gb3JtYXR0ZXI9ZX19YS5fY3VzdG9tRm9ybWF0dGVyPW51bGx9LDgyNjE1NihlLHQscyl7cy5kKHQse0RhdGVUaW1lRm9ybWF0dGVyOigpPT5ufSk7dmFyIHI9cygyMzgxMDMpLGk9cyg2MjQ2NzgpLGE9cygyOTcxMTEpO2NvbnN0IG89e2RhdGVGb3JtYXQ6Inl5eXktTU0tZGQiLHdpdGhXZWVrZGF5OiExLHRpbWVGb3JtYXQ6ci5ob3VyTWludXRlU2Vjb25kRm9ybWF0LGRhdGVUaW1lU2VwYXJhdG9yOiIgIn07Y2xhc3Mgbntjb25zdHJ1Y3RvcihlPXt9KXtjb25zdCB0PU9iamVjdC5hc3NpZ24oe30sbyxlKTt0aGlzLl9kYXRlRm9ybWF0dGVyPW5ldyBpLkRhdGVGb3JtYXR0ZXIodC5kYXRlRm9ybWF0LHQud2l0aFdlZWtkYXksdC50aW1lem9uZSksdGhpcy5fdGltZUZvcm1hdHRlcj1uZXcgYS5UaW1lRm9ybWF0dGVyKHQudGltZUZvcm1hdCksdGhpcy5fc2VwYXJhdG9yPXQuZGF0ZVRpbWVTZXBhcmF0b3J9Zm9ybWF0KGUsdCl7Y29uc3Qgcz10Py5kYXRlVGltZVNlcGFyYXRvcj8/dGhpcy5fc2VwYXJhdG9yO3JldHVybmAke3RoaXMuX2RhdGVGb3JtYXR0ZXIuZm9ybWF0KGUpfSR7c30ke3RoaXMuX3RpbWVGb3JtYXR0ZXIuZm9ybWF0KGUpfWB9Zm9ybWF0TG9jYWwoZSx0KXtjb25zdCBzPXQ/LmRhdGVUaW1lU2VwYXJhdG9yPz90aGlzLl9zZXBhcmF0b3I7cmV0dXJuYCR7dGhpcy5fZGF0ZUZvcm1hdHRlci5mb3JtYXRMb2NhbChlKX0ke3N9JHt0aGlzLl90aW1lRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpfWB9fX0sMjM4MTAzKGUsdCxzKXtzLmQodCx7aG91ck1pbnV0ZUZvcm1hdDooKT0+byxob3VyTWludXRlTm9uWmVyb1NlY29uZEZvcm1hdDooKT0+aSxob3VyTWludXRlU2Vjb25kRm9ybWF0OigpPT5yLGhvdXJNaW51dGVTZWNvbmRNaWxsaXNlY0Zvcm1hdDooKT0+YSx0d2VsdmVIb3VyTWludXRlRm9ybWF0OigpPT5sLHR3ZWx2ZUhvdXJNaW51dGVOb25aZXJvU2Vjb25kRm9ybWF0OigpPT5kLHR3ZWx2ZUhvdXJNaW51dGVTZWNvbmRGb3JtYXQ6KCk9Pm59KTtjb25zdCByPSIlaDolbTolcyIsaT0iJWg6JW06JXMrIixhPSIlaDolbTolcy4lc3MrIixvPSIlaDolbSIsbj0iJWg6JW06JXMgJWFtcG0iLGQ9IiVoOiVtOiVzKyAlYW1wbSIsbD0iJWg6JW0gJWFtcG0iO3ZhciBoOyFmdW5jdGlvbihlKXtlLlR3ZW50eUZvdXJIb3Vycz0iMjQtaG91cnMiLGUuVHdlbHZlSG91cnM9IjEyLWhvdXJzIn0oaHx8KGg9e30pKX0sMjk3MTExKGUsdCxzKXtzLmQodCx7VGltZUZvcm1hdHRlcjooKT0+b30pO3ZhciByPXMoMjM4MTAzKSxpPXMoODIyNDMxKTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2lzVHdlbHZlSG91cnNGb3JtYXQ9ITEsdGhpcy5fdmFsdWVzQW5kRGVsaW1pdGVycz1bXTtjb25zdCB0PWV8fHIuaG91ck1pbnV0ZVNlY29uZEZvcm1hdCxzPW5ldyBSZWdFeHAoIiVofCVtfCVzXFwrfCVzc1xcK3wlc3N8JWFtcG18JXMiLCJnIik7bGV0IGk9cy5leGVjKHQpLGE9MDtmb3IoO251bGwhPT1pOyl7Y29uc3QgZT1pWzBdOyIlYW1wbSI9PT1lJiYodGhpcy5faXNUd2VsdmVIb3Vyc0Zvcm1hdD0hMCk7Y29uc3Qgcj10LnN1YnN0cmluZyhhLGkuaW5kZXgpOyIiIT09ciYmdGhpcy5fdmFsdWVzQW5kRGVsaW1pdGVycy5wdXNoKHIpLHRoaXMuX3ZhbHVlc0FuZERlbGltaXRlcnMucHVzaChlKSxhPWkuaW5kZXgrZS5sZW5ndGgsaT1zLmV4ZWModCl9fWZvcm1hdChlKXtyZXR1cm4gdGhpcy5fZm9ybWF0VGltZShlKX1mb3JtYXRMb2NhbChlKXtyZXR1cm4gdGhpcy5fZm9ybWF0VGltZShlLCEwKX1fZm9ybWF0VGltZShlLHQ9ITEpe2xldCBzPXQ/ZS5nZXRIb3VycygpOmUuZ2V0VVRDSG91cnMoKTtjb25zdCByPXQ/ZS5nZXRNaW51dGVzKCk6ZS5nZXRVVENNaW51dGVzKCksYT10P2UuZ2V0U2Vjb25kcygpOmUuZ2V0VVRDU2Vjb25kcygpLG89dD9lLmdldE1pbGxpc2Vjb25kcygpOmUuZ2V0VVRDTWlsbGlzZWNvbmRzKCk7bGV0IG49IiIKO3RoaXMuX2lzVHdlbHZlSG91cnNGb3JtYXQmJihuPXM+PTEyPyJQTSI6IkFNIixzJT0xMixzPXN8fDEyKTtsZXQgZD0iIixsPSExO2ZvcihsZXQgZT10aGlzLl92YWx1ZXNBbmREZWxpbWl0ZXJzLmxlbmd0aC0xO2U+PTA7ZS0tKXtjb25zdCB0PXRoaXMuX3ZhbHVlc0FuZERlbGltaXRlcnNbZV07bGV0IGg7c3dpdGNoKHQpe2Nhc2UiJWgiOmg9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykocywyKTticmVhaztjYXNlIiVtIjpoPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKHIsMik7YnJlYWs7Y2FzZSIlcysiOjAhPT1hP2g9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYSwyKTooaD0iIixsPSEwKTticmVhaztjYXNlIiVzIjpoPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGEsMik7YnJlYWs7Y2FzZSIlc3MiOmg9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobywzKTticmVhaztjYXNlIiVzcysiOjAhPT1vP2g9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobywzKTooaD0iIixsPSEwKTticmVhaztjYXNlIiVhbXBtIjpoPW47YnJlYWs7ZGVmYXVsdDppZihsKXtsPSExO2NvbnRpbnVlfWg9dH1kPWgrZH1yZXR1cm4gZH19Y2xhc3Mgb3tjb25zdHJ1Y3RvcihlKXt0aGlzLl90aW1lRm9ybWF0dGVySW5zdGFuY2U9bmV3IGEoZSl9Zm9ybWF0KGUpe3JldHVybiBvLl9jdXN0b21Gb3JtYXR0ZXI/by5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdChlKTp0aGlzLl90aW1lRm9ybWF0dGVySW5zdGFuY2UuZm9ybWF0KGUpfWZvcm1hdExvY2FsKGUpe3JldHVybiBvLl9jdXN0b21Gb3JtYXR0ZXI/by5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpOnRoaXMuX3RpbWVGb3JtYXR0ZXJJbnN0YW5jZS5mb3JtYXRMb2NhbChlKX1zdGF0aWMgc2V0Q3VzdG9tRm9ybWF0dGVyKGUpe28uX2N1c3RvbUZvcm1hdHRlcj1lfX1vLl9jdXN0b21Gb3JtYXR0ZXI9bnVsbH0sNDU5OTk0KGUsdCxzKXtzLmQodCx7Q2hhcnRTZXNzaW9uOigpPT5jfSk7dmFyIHI9cyg5NDgzODApLGk9cygxMzg2MzgpLGE9cygyMzIzNjQpLG89cygyMjEwNjEpLG49cygxNTAxNTApO2NvbnN0IGQ9KDAsby5nZXRMb2dnZXIpKCJDaGFydEFwaS5BYnN0cmFjdFNlc3Npb24iKTt2YXIgbDshZnVuY3Rpb24oZSl7ZVtlLkRpc2Nvbm5lY3RlZD0wXT0iRGlzY29ubmVjdGVkIixlW2UuUmVnaXN0ZXJlZD0xXT0iUmVnaXN0ZXJlZCIsZVtlLkNvbm5lY3RlZD0yXT0iQ29ubmVjdGVkIn0obHx8KGw9e30pKTtjbGFzcyBoe2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLl9pc0Nvbm5lY3RlZD1uZXcgYS5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3N0YXRlPTAsdGhpcy5faXNDb25uZWN0Rm9yYmlkZGVuPSExLHRoaXMuX3Nlc3Npb25JZD0iIix0aGlzLl9zZXNzaW9uSWRDaGFuZ2VkPW5ldyByLkRlbGVnYXRlLHRoaXMuX2NoYXJ0QXBpPWUsdGhpcy5fc2Vzc2lvblByZWZpeD10LHRoaXMuX3Nob3VsZFJlY29ubmVjdEFmdGVyQ3JpdGljYWxFcnJvcj1zfWRlc3Ryb3koKXt0aGlzLl9sb2dOb3JtYWwoIkRlc3Ryb3lpbmcgc2Vzc2lvbiIpLHRoaXMuX2lzQ29ubmVjdGVkLnVuc3Vic2NyaWJlKCksdGhpcy5kaXNjb25uZWN0KCksdGhpcy5fc2Vzc2lvbklkQ2hhbmdlZC5kZXN0cm95KCksZGVsZXRlIHRoaXMuX2NoYXJ0QXBpLHRoaXMuX2xvZ05vcm1hbCgiU2Vzc2lvbiBoYXMgYmVlbiBkZXN0cm95ZWQiKX1pc0Nvbm5lY3RlZCgpe3JldHVybiB0aGlzLl9pc0Nvbm5lY3RlZH1zZXNzaW9uSWQoKXtyZXR1cm4gdGhpcy5fc2Vzc2lvbklkfW9uU2Vzc2lvbklkQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zZXNzaW9uSWRDaGFuZ2VkfWNvbm5lY3QoKXswPT09dGhpcy5fc3RhdGUmJigoMCxpLmFzc2VydCkoIXRoaXMuX2lzQ29ubmVjdEZvcmJpZGRlbiwiQ2Fubm90IGNhbGwgY29ubmVjdCBiZWNhdXNlIGl0IGlzIGZvcmJpZGRlbiBhdCB0aGlzIG1vbWVudCIpLHRoaXMuX3NldFNlc3Npb25JZChgJHt0aGlzLl9zZXNzaW9uUHJlZml4fV8keygwLG4ucmFuZG9tSGFzaCkoKX1gKSx0aGlzLl9sb2dOb3JtYWwoIkNvbm5lY3Rpbmcgc2Vzc2lvbiAtIHdhaXQgdW50aWwgdHJhbnNwb3J0IHN0YXkgY29ubmVjdGVkIiksdGhpcy5fc3RhdGU9MSx0aGlzLl9jaGFydEFwaS5jcmVhdGVTZXNzaW9uKHRoaXMuX3Nlc3Npb25JZCx0aGlzKSl9ZGlzY29ubmVjdCgpezAhPT10aGlzLl9zdGF0ZSYmKCgwLGkuYXNzZXJ0KSgiIiE9PXRoaXMuX3Nlc3Npb25JZCwic2Vzc2lvbklkIG11c3Qgbm90IGJlIGludmFsaWQiKSx0aGlzLl9sb2dOb3JtYWwoIkRpc2Nvbm5lY3Rpbmcgc2Vzc2lvbi4uLiIpLHRoaXMuX2ZvcmJpZENvbm5lY3RXaGlsZSgoKCk9Pnt0aGlzLl9jaGFydEFwaS5jb25uZWN0ZWQoKSYmdGhpcy5fc2VuZFJlbW92ZVNlc3Npb24oKSx0aGlzLl9wcm9jZXNzRGVzdHJveWluZ09uU2VydmVyKCl9KSkpfW9uTWVzc2FnZShlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2UiY29ubmVjdGVkIjpyZXR1cm4gdm9pZCB0aGlzLl9vbkNoYXJ0QXBpQ29ubmVjdGVkKCk7Y2FzZSJkaXNjb25uZWN0ZWQiOnJldHVybiB2b2lkIHRoaXMuX29uQ2hhcnRBcGlEaXNjb25uZWN0ZWQoKTtjYXNlImNyaXRpY2FsX2Vycm9yIjpjb25zdCB0PVN0cmluZyhlLnBhcmFtc1swXSkscz1TdHJpbmcoZS5wYXJhbXNbMV0pO3JldHVybiB2b2lkIHRoaXMuX29uQ3JpdGljYWxFcnJvcih0LHMpfXRoaXMuX29uTWVzc2FnZShlKX1zZXJ2ZXJUaW1lKCl7cmV0dXJuIHRoaXMuX2NoYXJ0QXBpLnNlcnZlclRpbWUoKX1fZ2V0Q2hhcnRBcGkoKXtyZXR1cm4gdGhpcy5fY2hhcnRBcGl9X2dlbmVyYXRlTG9nTWVzc2FnZShlKXtyZXR1cm5gWyR7dGhpcy5fc2Vzc2lvbklkfV0gJHtlfWB9X29uQ3JpdGljYWxFcnJvcihlLHQpe3RoaXMuX2xvZ0Vycm9yKGBDcml0aWNhbCBlcnJvci4gUmVhc29uPSR7ZX0sIGluZm89JHt0fS5gKSx0aGlzLl9mb3JiaWRDb25uZWN0V2hpbGUoKCgpPT57dGhpcy5fcHJvY2Vzc0Rlc3Ryb3lpbmdPblNlcnZlcigpfSkpLAp0aGlzLl9zaG91bGRSZWNvbm5lY3RBZnRlckNyaXRpY2FsRXJyb3I/KHRoaXMuX2xvZ05vcm1hbCgiUmVjb25uZWN0aW5nIGFmdGVyIGNyaXRpY2FsIGVycm9yLi4uIiksdGhpcy5jb25uZWN0KCkpOnRoaXMuX2xvZ05vcm1hbCgiUmVjb25uZWN0aW5nIGFmdGVyIGNyaXRpY2FsIGVycm9yIHNraXBwZWQiKX1fb25DaGFydEFwaUNvbm5lY3RlZCgpeygwLGkuYXNzZXJ0KSgxPT09dGhpcy5fc3RhdGUsIlNlc3Npb24gaXMgbm90IHJlZ2lzdGVyZWQiKSx0aGlzLl9sb2dOb3JtYWwoIlRyYW5zcG9ydCBpcyBjb25uZWN0ZWQuIENyZWF0aW5nIHNlc3Npb24gb24gdGhlIHNlcnZlciIpLHRoaXMuX3NlbmRDcmVhdGVTZXNzaW9uKCksdGhpcy5fc3RhdGU9Mix0aGlzLl9pc0Nvbm5lY3RlZC5zZXRWYWx1ZSghMCl9X29uQ2hhcnRBcGlEaXNjb25uZWN0ZWQoKXt0aGlzLl9sb2dOb3JtYWwoIlRyYW5zcG9ydCBpcyBkaXNjb25uZWN0ZWQuIFJlY29ubmVjdGluZy4uLiIpLHRoaXMuX2ZvcmJpZENvbm5lY3RXaGlsZSgoKCk9Pnt0aGlzLl9wcm9jZXNzRGVzdHJveWluZ09uU2VydmVyKCl9KSksdGhpcy5jb25uZWN0KCl9X3NldFNlc3Npb25JZChlKXtjb25zdCB0PXRoaXMuX3Nlc3Npb25JZDt0aGlzLl9sb2dOb3JtYWwoYENoYW5naW5nIHNlc3Npb25JZDogb2xkPSR7dH0sIG5ldz0ke2V9YCksdGhpcy5fc2Vzc2lvbklkPWUsdGhpcy5fc2Vzc2lvbklkQ2hhbmdlZC5maXJlKGUsdCl9X2xvZ05vcm1hbChlKXtkLmxvZ05vcm1hbCh0aGlzLl9nZW5lcmF0ZUxvZ01lc3NhZ2UoZSkpfV9sb2dFcnJvcihlKXtkLmxvZ0Vycm9yKHRoaXMuX2dlbmVyYXRlTG9nTWVzc2FnZShlKSl9X3Byb2Nlc3NEZXN0cm95aW5nT25TZXJ2ZXIoKXt0aGlzLl9zdGF0ZT0wLHRoaXMuX2lzQ29ubmVjdGVkLnNldFZhbHVlKCExKSx0aGlzLl9jaGFydEFwaS5yZW1vdmVTZXNzaW9uKHRoaXMuX3Nlc3Npb25JZCksdGhpcy5fc2V0U2Vzc2lvbklkKCIiKX1fZm9yYmlkQ29ubmVjdFdoaWxlKGUpe3RoaXMuX2lzQ29ubmVjdEZvcmJpZGRlbj0hMCxlKCksdGhpcy5faXNDb25uZWN0Rm9yYmlkZGVuPSExfX1jbGFzcyBjIGV4dGVuZHMgaHtjb25zdHJ1Y3RvcihlLHQ9ITEpe3N1cGVyKGUsImNzIiwhMSksdGhpcy5fc2Vzc2lvbkRpc2FibGVkPSExLHRoaXMuX2hhbmRsZXI9bnVsbCx0aGlzLl9jcml0aWNhbEVycm9yPW5ldyByLkRlbGVnYXRlLHRoaXMuX3N5bWJvbFJlc29sdmVNYXA9bmV3IE1hcCx0aGlzLl9sYXN0U3ltYm9sUmVzb2x2ZUluZm9NYXA9bmV3IE1hcCx0aGlzLl9kaXNhYmxlU3RhdGlzdGljcz10fWRlc3Ryb3koKXt0aGlzLl9jcml0aWNhbEVycm9yLmRlc3Ryb3koKSx0aGlzLl9oYW5kbGVyPW51bGwsdGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5jbGVhcigpLHN1cGVyLmRlc3Ryb3koKX1zd2l0Y2hUaW1lem9uZShlKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5zd2l0Y2hUaW1lem9uZSh0aGlzLnNlc3Npb25JZCgpLGUpfWRlZmF1bHRSZXNvbHV0aW9ucygpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmRlZmF1bHRSZXNvbHV0aW9ucygpfWF2YWlsYWJsZUN1cnJlbmNpZXMoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVDdXJyZW5jaWVzKCl9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVVbml0cygpfWF2YWlsYWJsZU1ldHJpY3MoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVNZXRyaWNzKCl9YXZhaWxhYmxlUHJpY2VTb3VyY2VzKGUpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmF2YWlsYWJsZVByaWNlU291cmNlcyhlKX1yZXNvbHZlU3ltYm9sKGUsdCxzKXtpZih0aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmhhcyh0KSl7Y29uc3RbZSxyXT10aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmdldCh0KTtyZXR1cm4gQXJyYXkuaXNBcnJheShyKT9yLnB1c2gocyk6ci50aGVuKHMpLGV9e2NvbnN0IHI9W3NdO3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLnJlc29sdmVTeW1ib2wodGhpcy5zZXNzaW9uSWQoKSxlLHQsKHM9PntpZigic3ltYm9sX2Vycm9yIj09PXMubWV0aG9kKXRoaXMuX3N5bWJvbFJlc29sdmVNYXAuZGVsZXRlKHQpO2Vsc2V7dGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5zZXQodCxbZSxQcm9taXNlLnJlc29sdmUocyldKTtjb25zdFsscl09cy5wYXJhbXMsaT17cHJvX25hbWU6ci5wcm9fbmFtZSx0aWNrZXI6ci50aWNrZXJ9O3RoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQodCxpKSxpLnByb19uYW1lJiZ0aGlzLl9sYXN0U3ltYm9sUmVzb2x2ZUluZm9NYXAuc2V0KGkucHJvX25hbWUsaSksci5mdWxsX25hbWUmJnRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQoci5mdWxsX25hbWUsaSksaS50aWNrZXImJnRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQoaS50aWNrZXIsaSl9ci5mb3JFYWNoKChlPT5lKHMpKSl9KSksdGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5zZXQodCxbZSxyXSksZX19cmVxdWVzdEZpcnN0QmFyVGltZShlLHQscyl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVxdWVzdEZpcnN0QmFyVGltZSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzKX1sYXN0U3ltYm9sUmVzb2x2ZUluZm8oZSl7cmV0dXJuIHRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5nZXQoZSk/P251bGx9Y3JlYXRlU2VyaWVzKGUsdCxzLHIsaSxhLG8pe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVNlcmllcyh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsaSxhLG8pfW1vZGlmeVNlcmllcyhlLHQscyxyLGksYSxvKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5tb2RpZnlTZXJpZXModGhpcy5zZXNzaW9uSWQoKSxlLHQscyxyLGksYSxvKX1yZW1vdmVTZXJpZXMoZSl7cmV0dXJuISF0aGlzLmlzQ29ubmVjdGVkKCkudmFsdWUoKSYmdGhpcy5fZ2V0Q2hhcnRBcGkoKS5yZW1vdmVTZXJpZXModGhpcy5zZXNzaW9uSWQoKSxlKX1yZXF1ZXN0TW9yZURhdGEoZSx0LHMpewpyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/dGhpcy5fZ2V0Q2hhcnRBcGkoKS5yZXF1ZXN0TW9yZURhdGEodGhpcy5zZXNzaW9uSWQoKSxlKTp0aGlzLl9nZXRDaGFydEFwaSgpLnJlcXVlc3RNb3JlRGF0YSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzKX1yZXF1ZXN0TW9yZVRpY2ttYXJrcyhlLHQscyl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVxdWVzdE1vcmVUaWNrbWFya3ModGhpcy5zZXNzaW9uSWQoKSxlLHQscyl9c2V0RnV0dXJlVGlja21hcmtzTW9kZShlKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5zZXRGdXR1cmVUaWNrbWFya3NNb2RlKHRoaXMuc2Vzc2lvbklkKCksZSl9Y2FuQ3JlYXRlU3R1ZHkoZSx0KXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5jYW5DcmVhdGVTdHVkeSh0aGlzLnNlc3Npb25JZCgpLGUsdCl9Z2V0U3R1ZHlDb3VudGVyKCl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkuZ2V0U3R1ZHlDb3VudGVyKHRoaXMuc2Vzc2lvbklkKCkpfWdldEZ1bmRhbWVudGFsQ291bnRlcigpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmdldEZ1bmRhbWVudGFsQ291bnRlcih0aGlzLnNlc3Npb25JZCgpKX1nZXRDaGlsZFN0dWR5Q291bnRlcigpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmdldENoaWxkU3R1ZHlDb3VudGVyKHRoaXMuc2Vzc2lvbklkKCkpfWNyZWF0ZVN0dWR5KGUsdCxzLHIsaSxhLG8pe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscixpLGEsbyl9bW9kaWZ5U3R1ZHkoZSx0LHMscixpKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5tb2RpZnlTdHVkeSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsaSl9bm90aWZ5U3R1ZHkoZSx0LHMpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLm5vdGlmeVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMpfXJlbW92ZVN0dWR5KGUpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLnJlbW92ZVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSl9Y3JlYXRlUG9pbnRzZXQoZSx0LHMscixpLGEpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVBvaW50c2V0KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscixpLGEpfW1vZGlmeVBvaW50c2V0KGUsdCxzLHIpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLm1vZGlmeVBvaW50c2V0KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscil9cmVtb3ZlUG9pbnRzZXQoZSl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVtb3ZlUG9pbnRzZXQodGhpcy5zZXNzaW9uSWQoKSxlKX1zZXRWaXNpYmxlVGltZVJhbmdlKGUsdCxzLHIsaSxhLG8pe3RoaXMuX2dldENoYXJ0QXBpKCkuc2V0VmlzaWJsZVRpbWVSYW5nZSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsITAsaSxhLHZvaWQgMCxvKX1jcml0aWNhbEVycm9yKCl7cmV0dXJuIHRoaXMuX2NyaXRpY2FsRXJyb3J9Y29ubmVjdChlPW51bGwpe251bGwhPT1lJiYodGhpcy5faGFuZGxlcj1lKSx0aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmNsZWFyKCksc3VwZXIuY29ubmVjdCgpfXNldEhhbmRsZXIoZSl7dGhpcy5faGFuZGxlcj1lfWNvbm5lY3RlZCgpe3JldHVybiB0aGlzLmlzQ29ubmVjdGVkKCkudmFsdWUoKSYmIXRoaXMuX3Nlc3Npb25EaXNhYmxlZH1kaXNhYmxlKCl7dGhpcy5fc2Vzc2lvbkRpc2FibGVkPSEwfWNoYXJ0QXBpKCl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCl9X3NlbmRDcmVhdGVTZXNzaW9uKCl7T2JqZWN0LmtleXModGhpcykuZm9yRWFjaCgoZT0+ey9eKHN8c3R8c3ltYm9sXylcZCskLy50ZXN0KGUpJiZkZWxldGUgdGhpc1tlXX0pKSx0aGlzLl9nZXRDaGFydEFwaSgpLmNoYXJ0Q3JlYXRlU2Vzc2lvbih0aGlzLnNlc3Npb25JZCgpLHRoaXMuX2Rpc2FibGVTdGF0aXN0aWNzKX1fc2VuZFJlbW92ZVNlc3Npb24oKXt0aGlzLl9nZXRDaGFydEFwaSgpLmNoYXJ0RGVsZXRlU2Vzc2lvbih0aGlzLnNlc3Npb25JZCgpKX1fb25NZXNzYWdlKGUpe3RoaXMuX2hhbmRsZXImJnRoaXMuX2hhbmRsZXIoZSl9X29uQ3JpdGljYWxFcnJvcihlLHQpe3RoaXMuX2NyaXRpY2FsRXJyb3IuZmlyZShlLHQpLHN1cGVyLl9vbkNyaXRpY2FsRXJyb3IoZSx0KX19fSw0NzU0NzgoZSx0LHMpe3MuZCh0LHtDb25mbGF0ZWRDaHVua3NCdWlsZGVyOigpPT5vfSk7dmFyIHI9cygxMzg2MzgpLGk9cygxOTg5MDEpO2NvbnN0IGE9W3tiYXJzVG9NZXJnZToxMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjouMDN9LHtiYXJzVG9NZXJnZTozMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjouMDF9LHtiYXJzVG9NZXJnZToxMDAsZm9yQmFyc3BhY2luZ0xhcmdlclRoZW46LjAwM30se2JhcnNUb01lcmdlOjUwMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjowfV07Y2xhc3Mgb3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3Bsb3RzPWUsdGhpcy5fc3RhdGU9e2NodW5rczpuZXcgTWFwLHByaWNlU291cmNlOm51bGwscHJpY2VTb3VyY2VzUHJvdmlkZXI6dH0sdGhpcy5fc2V0RW1wdHlDb25mbGF0ZWRDaHVua3MoKX1jb25mbGF0ZWRDaHVua3MoZSx0KXtpZih0IT09dGhpcy5fc3RhdGUucHJpY2VTb3VyY2Upe3RoaXMuX3N0YXRlLnByaWNlU291cmNlPXQ7Y29uc3QgZT10aGlzLl9wbG90cy5maXJzdCgpO2UmJih0aGlzLl9zZXRFbXB0eUNvbmZsYXRlZENodW5rcygpLHRoaXMuX3JlYnVpbGRDb25mbGF0ZWRDaHVua3MoZSkpfWNvbnN0IHM9KDAsci5lbnN1cmVEZWZpbmVkKShhLmZpbmQoKHQ9PnQuZm9yQmFyc3BhY2luZ0xhcmdlclRoZW48PWUpKSk7cmV0dXJuKDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdGF0ZS5jaHVua3MuZ2V0KHMuYmFyc1RvTWVyZ2UpKX1tZXJnZURhdGEoZSl7Y29uc3QgdD10aGlzLl9wbG90cy5zaXplKCkscz10aGlzLl9wbG90cy5tZXJnZShlKTtyZXR1cm4gcyYmbnVsbCE9PXRoaXMuX3N0YXRlLnByaWNlU291cmNlJiYodD09PXRoaXMuX3Bsb3RzLnNpemUoKSYmcy5pbmRleD09PXRoaXMuX3Bsb3RzLmxhc3RJbmRleCgpP3RoaXMuX3VwZGF0ZUxhdGVzdENodW5rcygpOnRoaXMuX3JlYnVpbGRDb25mbGF0ZWRDaHVua3MocykpLHN9bW92ZURhdGEoZSl7CnRoaXMuX3Bsb3RzLm1vdmUoZSksdGhpcy5fcGxvdHMuc2l6ZSgpPjAmJnRoaXMuX2NsZWFyU3RhdGUoKX1jbGVhckRhdGEoKXt0aGlzLl9wbG90cy5jbGVhcigpLHRoaXMuX2NsZWFyU3RhdGUoKX1fcmVidWlsZENvbmZsYXRlZENodW5rcyhlKXtjb25zdCB0PXRoaXMuX3N0YXRlLnByaWNlU291cmNlO2lmKG51bGw9PT10KXJldHVybjtjb25zdCBzPWUuaW5kZXgsbz10aGlzLl9zdGF0ZS5wcmljZVNvdXJjZXNQcm92aWRlcih0KSxuPShlLHQscyk9PntsZXQgcj1udWxsO2Zvcihjb25zdCBpIG9mIGUpe2NvbnN0IGU9byhpLnZhbHVlKTtyJiZpLmluZGV4LXIuc3RhcnRUaW1lPj1zLmJhcnNUb01lcmdlJiYodC5wdXNoKHIpLHI9bnVsbCkscj8oci5lbmRUaW1lPWkuaW5kZXgsci5oaWdoPU1hdGgubWF4KHIuaGlnaCxlKSxyLmxvdz1NYXRoLm1pbihyLmxvdyxlKSxyLmNsb3NlPWUpOnI9e3N0YXJ0VGltZTppLmluZGV4LGVuZFRpbWU6aS5pbmRleCxvcGVuOmUsaGlnaDplLGxvdzplLGNsb3NlOmV9fXImJnQucHVzaChyKX07YS5mb3JFYWNoKChlPT57Y29uc3QgdD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0YXRlLmNodW5rcy5nZXQoZS5iYXJzVG9NZXJnZSkpLGE9KDAsaS5sb3dlcmJvdW5kKSh0LHMsKChlLHQpPT5lLmVuZFRpbWU8dCkpO2lmKDA9PT1hJiZ0Lmxlbmd0aD4wKXtjb25zdCBzPXRbMF0uc3RhcnRUaW1lLTEsaT0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Bsb3RzLmZpcnN0SW5kZXgoKSksYT10aGlzLl9wbG90cy5yYW5nZUl0ZXJhdG9yKGkscyksbz1bXTtuKGEsbyxlKTtjb25zdCBkPW8uY29uY2F0KHQpO3RoaXMuX3N0YXRlLmNodW5rcy5zZXQoZS5iYXJzVG9NZXJnZSxkKX1lbHNle2NvbnN0IHM9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wbG90cy5sYXN0SW5kZXgoKSk7dC5zcGxpY2UoYSk7bGV0IGk9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wbG90cy5maXJzdEluZGV4KCkpO3QubGVuZ3RoJiYoaT10W3QubGVuZ3RoLTFdLmVuZFRpbWUrMSk7Y29uc3Qgbz10aGlzLl9wbG90cy5yYW5nZUl0ZXJhdG9yKGkscyk7bihvLHQsZSl9fSkpfV91cGRhdGVMYXRlc3RDaHVua3MoKXtjb25zdCBlPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fcGxvdHMubGFzdCgpKSx0PXRoaXMuX3N0YXRlLnByaWNlU291cmNlc1Byb3ZpZGVyKCJjbG9zZSIpO2EuZm9yRWFjaCgocz0+e2NvbnN0IGk9KDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdGF0ZS5jaHVua3MuZ2V0KHMuYmFyc1RvTWVyZ2UpKSxhPXQoZS52YWx1ZSksbz1pW2kubGVuZ3RoLTFdO28uaGlnaD1NYXRoLm1heChvLmhpZ2gsYSksby5sb3c9TWF0aC5taW4oby5sb3csYSksby5jbG9zZT1hLG8uZW5kVGltZT1lLmluZGV4fSkpfV9zZXRFbXB0eUNvbmZsYXRlZENodW5rcygpe2EuZm9yRWFjaCgoZT0+dGhpcy5fc3RhdGUuY2h1bmtzLnNldChlLmJhcnNUb01lcmdlLFtdKSkpfV9jbGVhclN0YXRlKCl7dGhpcy5fc3RhdGUuY2h1bmtzLmNsZWFyKCksdGhpcy5fc3RhdGUucHJpY2VTb3VyY2U9bnVsbH19fSw5MzYzMjYoZSx0LHMpe3ZhciByO3MuZCh0LHtQbG90Um93U2VhcmNoTW9kZTooKT0+cn0pLGZ1bmN0aW9uKGUpe2VbZS5OZWFyZXN0TGVmdD0tMV09Ik5lYXJlc3RMZWZ0IixlW2UuRXhhY3Q9MF09IkV4YWN0IixlW2UuTmVhcmVzdFJpZ2h0PTFdPSJOZWFyZXN0UmlnaHQifShyfHwocj17fSkpfSw3OTE1MjEoZSx0LHMpe3ZhciByO3MuZCh0LHtTeW1ib2xFcnJvclBlcm1pc3Npb25EZW5pZWRSZWFzb246KCk9PnIsaW52YWxpZFN5bWJvbDooKT0+YSxwZXJtaXNzaW9uRGVuaWVkOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5TeW1ib2w9InN5bWJvbCIsZS5Hcm91cFBlcm1pc3Npb249Imdyb3VwIn0ocnx8KHI9e30pKTtjb25zdCBpPSJwZXJtaXNzaW9uIGRlbmllZCIsYT0iaW52YWxpZCBzeW1ib2wifSw4NDg2MDEoZSx0LHMpe3MuZCh0LHtwYXJzZU5vblNlcmllc0VudmVsb3BlOigpPT5hfSk7dmFyIHI9cyg2MDE4NDEpLGk9cyg5OTU2NTUpO2Z1bmN0aW9uIGEoZSl7aWYoIiI9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtpZighKDAsci5pc09iamVjdCkodCl8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigiTm9uLW9iamVjdCBjb250ZW50IGluIHRoZSBub24tc2VyaWVzIGVudmVsb3BlIik7aWYoKDAsci5oYXNQcm9wZXJ0eSkodCwiaW5kZXhlc19yZXBsYWNlIikpcmV0dXJue25zRGF0YTp7aW5kZXhlc19yZXBsYWNlOiEwfSxwYXJzZWREYXRhOnR9O2NvbnN0IHM9e2luZGV4ZXNfcmVwbGFjZTohMX07aWYoKDAsci5oYXNQcm9wZXJ0eSkodCwib2Zmc2V0cyIpJiYocy5vZmZzZXRzPXQub2Zmc2V0cyksKDAsci5oYXNQcm9wZXJ0eSkodCwiaXNVcGRhdGUiKSl7aWYoImJvb2xlYW4iIT10eXBlb2YgdC5pc1VwZGF0ZSl0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdHlwZSBvZiAiaXNVcGRhdGUiIGZpZWxkJyk7cy5pc1VwZGF0ZT10LmlzVXBkYXRlfXJldHVybigwLHIuaGFzUHJvcGVydHkpKHQsImRhdGEiKSYmKHMuZGF0YT10LmRhdGEpLCgwLHIuaGFzUHJvcGVydHkpKHQsImdyYXBoaWNzQ21kcyIpJiYocy5ncmFwaGljc0NtZHM9KDAsaS52YWxpZGF0ZUdyYXBoaWNzQ29tbWFuZHMpKHQuZ3JhcGhpY3NDbWRzKSkse25zRGF0YTpzLHBhcnNlZERhdGE6dH19fSw1NTA5MDQoZSx0LHMpe3MuZCh0LHt1bnBhY2tOb25TZXJpZXNEYXRhOigpPT5pfSk7dmFyIHI9cyg4NDg2MDEpO2FzeW5jIGZ1bmN0aW9uIGkoZSl7cmV0dXJuKDAsci5wYXJzZU5vblNlcmllc0VudmVsb3BlKShlKT8ubnNEYXRhPz9udWxsfX0sMTU2OTA4KGUsdCxzKXtzLmQodCx7REVGQVVMVF9OVU1CQVJTOigpPT5pLGluaXRpYWxSZXF1ZXN0T3B0aW9uc1RvTnVtQmFyczooKT0+YX0pO3ZhciByPXMoMTM4NjM4KTtjb25zdCBpPTMwMDtmdW5jdGlvbiBhKGUpe3JldHVybiBlLnN0YXJ0RGF0ZT9lLmVuZERhdGV8fGUuY291bnQ/ZS5lbmREYXRlP1siZnJvbV90byIsZS5zdGFydERhdGUsZS5lbmREYXRlXTpbImJhcl9jb3VudCIsZS5zdGFydERhdGUsKDAsCnIuZW5zdXJlKShlLmNvdW50KV06WyJmcm9tX3RvIixlLnN0YXJ0RGF0ZV06ZS5jb3VudHx8aX19LDg3MTAzNyhlLHQscyl7YXN5bmMgZnVuY3Rpb24gcihlLHQpe2lmKHZvaWQgMD09PWUpcmV0dXJue3Byb2plY3Rpb25QbG90czpbXSxib3hTaXplOm51bGx9O2lmKCIiPT09ZS5kfHwibm9jaGFuZ2UiPT09ZS5pbmRleGVzKXJldHVybiBudWxsO2NvbnN0IHM9YXdhaXQgdChlLmQpO2lmKG51bGw9PT1zfHxzLmluZGV4ZXNfcmVwbGFjZSlyZXR1cm4gbnVsbDtjb25zdCByPWUuaW5kZXhlcyx7YmFyczppPVtdLHByaWNlOmEsYm94U2l6ZTpvLHJldmVyc2FsQW1vdW50Om59PXMuZGF0YTtyZXR1cm57bGFzdFByaWNlOmEscHJvamVjdGlvblBsb3RzOmkubWFwKChlPT57bGV0IHQ7cmV0dXJuImZhY3RvciJpbiBlP3Q9ZS5mYWN0b3I6ImFkZGl0aW9uYWxQcmljZSJpbiBlJiYodD1lLmFkZGl0aW9uYWxQcmljZSkse2luZGV4OnJbZS50aW1lXSx2YWx1ZTpbMCxlLm9wZW4sZS5oaWdoLGUubG93LGUuY2xvc2UsZS52b2x1bWUsdF19fSkpLHJldmVyc2FsQW1vdW50Om4sYm94U2l6ZTpvfX1zLmQodCx7cGFyc2VKYXBhbmVzZVByb2plY3Rpb25CYXJzOigpPT5yfSl9LDkzNTI0MChlLHQscyl7cy5kKHQse1Nlcmllc0RhdGFTb3VyY2U6KCk9PkN9KTt2YXIgcj1zKDEzODYzOCksaT1zKDYwMTg0MSksYT1zKDIyMTA2MSksbz1zKDI1NDY3Myksbj1zKDYxOTE2NSksZD1zKDc5MTUyMSksbD1zKDU1MDkwNCksaD1zKDE1NjkwOCksYz1zKDExMTk1MyksdT1zKDk0ODM4MCk7Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2NyZWF0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fbW9kaWZpZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fY2xlYXJlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9sb2FkaW5nPW5ldyB1LkRlbGVnYXRlLHRoaXMuX2NvbXBsZXRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9lcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xFcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xSZXNvbHZlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZXJpZXNFcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fc3ltYm9sSW52YWxpZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9jaGFydFR5cGVOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5faW50cmFkYXlTcHJlYWROb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZWNvbmRzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fdGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9iYXJSZWNlaXZlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZXJpZXNUaW1lRnJhbWU9bmV3IHUuRGVsZWdhdGUsdGhpcy5fZGF0YVVwZGF0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uUmVxdWVzdGVkPW5ldyB1LkRlbGVnYXRlfWRlc3Ryb3koKXt0aGlzLl9jcmVhdGVkLmRlc3Ryb3koKSx0aGlzLl9tb2RpZmllZC5kZXN0cm95KCksdGhpcy5fbG9hZGluZy5kZXN0cm95KCksdGhpcy5fY29tcGxldGVkLmRlc3Ryb3koKSx0aGlzLl9lcnJvci5kZXN0cm95KCksdGhpcy5fc3ltYm9sRXJyb3IuZGVzdHJveSgpLHRoaXMuX3N5bWJvbFJlc29sdmVkLmRlc3Ryb3koKSx0aGlzLl9zZXJpZXNFcnJvci5kZXN0cm95KCksdGhpcy5fc3ltYm9sSW52YWxpZC5kZXN0cm95KCksdGhpcy5fc3ltYm9sTm90UGVybWl0dGVkLmRlc3Ryb3koKSx0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fY2hhcnRUeXBlTm90UGVybWl0dGVkLmRlc3Ryb3koKSx0aGlzLl9pbnRyYWRheVNwcmVhZE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fY3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQuZGVzdHJveSgpLHRoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fdGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fYmFyUmVjZWl2ZWQuZGVzdHJveSgpLHRoaXMuX3Nlcmllc1RpbWVGcmFtZS5kZXN0cm95KCksdGhpcy5fZGF0YVVwZGF0ZWQuZGVzdHJveSgpLHRoaXMuX3Vuc3VwcG9ydGVkUmVzb2x1dGlvblJlcXVlc3RlZC5kZXN0cm95KCl9Y3JlYXRlZCgpe3JldHVybiB0aGlzLl9jcmVhdGVkfW1vZGlmaWVkKCl7cmV0dXJuIHRoaXMuX21vZGlmaWVkfWNsZWFyZWQoKXtyZXR1cm4gdGhpcy5fY2xlYXJlZH1sb2FkaW5nKCl7cmV0dXJuIHRoaXMuX2xvYWRpbmd9Y29tcGxldGVkKCl7cmV0dXJuIHRoaXMuX2NvbXBsZXRlZH1lcnJvcigpe3JldHVybiB0aGlzLl9lcnJvcn1zeW1ib2xFcnJvcigpe3JldHVybiB0aGlzLl9zeW1ib2xFcnJvcn1zeW1ib2xSZXNvbHZlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xSZXNvbHZlZH1zZXJpZXNFcnJvcigpe3JldHVybiB0aGlzLl9zZXJpZXNFcnJvcn1zeW1ib2xJbnZhbGlkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbEludmFsaWR9c3ltYm9sTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbE5vdFBlcm1pdHRlZH1zeW1ib2xHcm91cE5vdFBlcm1pdHRlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZH1jaGFydFR5cGVOb3RQZXJtaXR0ZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRUeXBlTm90UGVybWl0dGVkfWludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX2ludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkfWludHJhZGF5RXhjaGFuZ2VOb3RQZXJtaXR0ZWQoKXtyZXR1cm4gdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZH1jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZCgpewpyZXR1cm4gdGhpcy5fY3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWR9c2Vjb25kc0ludGVydmFsTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZH10aWNrc0ludGVydmFsTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3RpY2tzSW50ZXJ2YWxOb3RQZXJtaXR0ZWR9YmFyUmVjZWl2ZWQoKXtyZXR1cm4gdGhpcy5fYmFyUmVjZWl2ZWR9c2VyaWVzVGltZUZyYW1lKCl7cmV0dXJuIHRoaXMuX3Nlcmllc1RpbWVGcmFtZX1kYXRhVXBkYXRlZCgpe3JldHVybiB0aGlzLl9kYXRhVXBkYXRlZH11bnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKXtyZXR1cm4gdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uUmVxdWVzdGVkfWZpcmVDb21wbGV0ZWQoZSl7dGhpcy5fY29tcGxldGVkLmZpcmUoZSl9ZmlyZUNyZWF0ZWQoZSl7dGhpcy5fY3JlYXRlZC5maXJlKGUpfWZpcmVNb2RpZmllZCgpe3RoaXMuX21vZGlmaWVkLmZpcmUoKX1maXJlQ2xlYXJlZCgpe3RoaXMuX2NsZWFyZWQuZmlyZSgpfWZpcmVMb2FkaW5nKGUpe3RoaXMuX2xvYWRpbmcuZmlyZShlKX1maXJlRXJyb3IoKXt0aGlzLl9lcnJvci5maXJlKCl9ZmlyZVN5bWJvbEVycm9yKGUpe3RoaXMuX3N5bWJvbEVycm9yLmZpcmUoZSksdGhpcy5maXJlRXJyb3IoKX1maXJlU3ltYm9sUmVzb2x2ZWQoZSl7dGhpcy5fc3ltYm9sUmVzb2x2ZWQuZmlyZShlKX1maXJlU2VyaWVzRXJyb3IoZSl7dGhpcy5fc2VyaWVzRXJyb3IuZmlyZShlKSx0aGlzLmZpcmVFcnJvcigpfWZpcmVTeW1ib2xJbnZhbGlkKCl7dGhpcy5fc3ltYm9sSW52YWxpZC5maXJlKCl9ZmlyZVN5bWJvbE5vdFBlcm1pdHRlZChlKXt0aGlzLl9zeW1ib2xOb3RQZXJtaXR0ZWQuZmlyZShlKX1maXJlU3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQoZSl7dGhpcy5fc3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQuZmlyZShlKX1maXJlQ2hhcnRUeXBlTm90UGVybWl0dGVkKGUpe3RoaXMuX2NoYXJ0VHlwZU5vdFBlcm1pdHRlZC5maXJlKGUpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCl7dGhpcy5faW50cmFkYXlTcHJlYWROb3RQZXJtaXR0ZWQuZmlyZSgpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUludHJhZGF5RXhjaGFuZ2VOb3RQZXJtaXR0ZWQoKXt0aGlzLl9pbnRyYWRheUV4Y2hhbmdlTm90UGVybWl0dGVkLmZpcmUoKSx0aGlzLmZpcmVFcnJvcigpfWZpcmVDdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZChlKXt0aGlzLl9jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZC5maXJlKGUpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZVNlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZCgpe3RoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZC5maXJlKCksdGhpcy5maXJlRXJyb3IoKX1maXJlVGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZCgpe3RoaXMuX3RpY2tzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQuZmlyZSgpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUJhclJlY2VpdmVkKGUpe3RoaXMuX2JhclJlY2VpdmVkLmZpcmUoZSl9ZmlyZVNlcmllc1RpbWVGcmFtZShlLHQscyxyLGkpe3RoaXMuX3Nlcmllc1RpbWVGcmFtZS5maXJlKGUsdCxzLHIsaSl9ZmlyZURhdGFVcGRhdGVkKGUsdCxzLHIsaSl7dGhpcy5fZGF0YVVwZGF0ZWQuZmlyZShlLHQscyxyLGkpfWZpcmVVbnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKXt0aGlzLl91bnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQuZmlyZSgpfX12YXIgbT1zKDg3MTAzNykscD1zKDg1Mjk4MCkseT1zKDMyMjU1NCk7Y29uc3QgZz0veyhcdyspfS9nO2NvbnN0IGI9KDAsYS5nZXRMb2dnZXIpKCJDaGFydC5TZXJpZXNEYXRhU291cmNlIik7dmFyIGY7IWZ1bmN0aW9uKGUpe2VbZS5JZGxlPTBdPSJJZGxlIixlW2UuQXdhaXRpbmdDb25uZWN0aW9uPTFdPSJBd2FpdGluZ0Nvbm5lY3Rpb24iLGVbZS5Bd2FpdGluZ0ZpcnN0RGF0YVVwZGF0ZT0yXT0iQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUiLGVbZS5BY3RpdmU9M109IkFjdGl2ZSJ9KGZ8fChmPXt9KSk7bGV0IFM9MTtsZXQgdj0xO2Z1bmN0aW9uIEkoZSl7cmV0dXJuKDAsYy5leHRyYWN0RXh0ZW5kZWRTeW1ib2wpKGUpLnN5bWJvbH1jbGFzcyBDe2NvbnN0cnVjdG9yKGUsdCxzLHIpe3RoaXMuX2V4dFN5bWJvbD1udWxsLHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbD0iIix0aGlzLl9jcmVhdGVTZXJpZXNPdmVycmlkZGVuUGFyYW1zPTAsdGhpcy5faW5zdGFuY2VJZD1udWxsLHRoaXMuX3N5bWJvbEluc3RhbmNlSWQ9bnVsbCx0aGlzLl9yZXNvbHV0aW9uPW51bGwsdGhpcy5fdGltZUZyYW1lPW51bGwsdGhpcy5fZGF0YT1uZXcgbi5TZXJpZXNEYXRhLHRoaXMuX2RhdGFFdmVudHM9bmV3IF8sdGhpcy5fc3RhdHVzPWYuSWRsZSx0aGlzLl90dXJuYXJvdW5kQ291bnRlcj0xLHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkPXRoaXMuX29uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZC5iaW5kKHRoaXMpLHRoaXMuX2JvdW5kT25NZXNzYWdlPXRoaXMuX29uTWVzc2FnZS5iaW5kKHRoaXMpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuX2dhdGV3YXk9ZSx0aGlzLl90dXJuYXJvdW5kUHJlZml4PXQsdGhpcy5fY3JlYXRlU2VyaWVzUGFyYW1zPSgwLGguaW5pdGlhbFJlcXVlc3RPcHRpb25zVG9OdW1CYXJzKShzPz97Y291bnQ6aC5ERUZBVUxUX05VTUJBUlN9KSx0aGlzLl90aW1lRnJhbWU9cnx8bnVsbCx0aGlzLl9nYXRld2F5LmlzQ29ubmVjdGVkKCkuc3Vic2NyaWJlKHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkKX1kZXN0cm95KCl7dGhpcy5zdG9wKCksdGhpcy5fZ2F0ZXdheS5pc0Nvbm5lY3RlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkKSx0aGlzLl9kYXRhRXZlbnRzLmRlc3Ryb3koKX1jYW5Nb2RpZnlTZXJpZXMoZSx0KXtjb25zdCBzPSEoMCwKaS5kZWVwRXF1YWxzKSh0aGlzLl9leHRTeW1ib2wsZSlbMF0scj1udWxsPT09dGhpcy5fcmVzb2x1dGlvbnx8IW8uSW50ZXJ2YWwuaXNFcXVhbCh0aGlzLl9yZXNvbHV0aW9uLHQpO3JldHVybiBzfHxyfW1vZGlmeVNlcmllcyhlLHQscz1udWxsLGE9ITEsbj1udWxsKXthJiYoYi5sb2dOb3JtYWwoIkR1ZSB0byBmb3JjZSBmbGFnIGNsZWFyaW5nIHN5bWJvbCAmIHJlc29sdXRpb24gdG8gZm9yY2UgcmUtcmVxdWVzdGluZyBkYXRhLiIpLHRoaXMuX2V4dFN5bWJvbD1udWxsLHRoaXMuX3Jlc29sdXRpb249bnVsbCk7Y29uc3QgZD1JKGUpLGw9IXRoaXMuc3ltYm9sU2FtZUFzUmVzb2x2ZWQoZCk7aWYobCYmKHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbD0iIiksdGhpcy5fZXh0U3ltYm9sJiYhbCl7Y29uc3QgdD1JKHRoaXMuX2V4dFN5bWJvbCk7KDAsYy5yZXBsYWNlRXh0ZW5kZWRTeW1ib2wpKGUsdCl9Y29uc3QgaD10aGlzLl9leHRTeW1ib2wsdT10aGlzLl9yZXNvbHV0aW9uO2lmKHRoaXMuX2V4dFN5bWJvbD1lLHRoaXMuX3Jlc29sdXRpb249dCxudWxsPT09dGhpcy5faW5zdGFuY2VJZClyZXR1cm4gdm9pZCh0aGlzLl90aW1lRnJhbWU9cyk7Y29uc3QgXz0hKDAsaS5kZWVwRXF1YWxzKShoLGUpWzBdO18mJigwLGMucmVwbGFjZUV4dGVuZGVkU3ltYm9sKSh0aGlzLl9leHRTeW1ib2wsZCk7Y29uc3QgbT1udWxsPT09dXx8IW8uSW50ZXJ2YWwuaXNFcXVhbCh1LHQpOyhffHxtfHxudWxsIT09cykmJih0aGlzLl90aW1lRnJhbWU9bnVsbCwoX3x8bSkmJnRoaXMuX3R1cm5hcm91bmRDb3VudGVyKyssXyYmdGhpcy5fcmVzb2x2ZVN5bWJvbCgpLHRoaXMuX2dhdGV3YXkubW9kaWZ5U2VyaWVzKHRoaXMuX2luc3RhbmNlSWQsdGhpcy50dXJuYXJvdW5kKCksKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zeW1ib2xJbnN0YW5jZUlkKSx0aGlzLl9yZXNvbHV0aW9uLG4scyx0aGlzLl9ib3VuZE9uTWVzc2FnZSksdGhpcy5fZGF0YUV2ZW50cy5maXJlTW9kaWZpZWQoKSl9cmVxdWVzdE1vcmVEYXRhKGUpe251bGwhPT10aGlzLl9pbnN0YW5jZUlkJiZ0aGlzLl9nYXRld2F5LnJlcXVlc3RNb3JlRGF0YSh0aGlzLl9pbnN0YW5jZUlkLGUsdGhpcy5fYm91bmRPbk1lc3NhZ2UpfXJlcXVlc3RNb3JlVGlja21hcmtzKGUpe251bGwhPT10aGlzLl9pbnN0YW5jZUlkJiZ0aGlzLl9nYXRld2F5LnJlcXVlc3RNb3JlVGlja21hcmtzKHRoaXMuX2luc3RhbmNlSWQsZSx0aGlzLl9ib3VuZE9uTWVzc2FnZSl9c2V0RnV0dXJlVGlja21hcmtzTW9kZShlKXtudWxsIT09dGhpcy5faW5zdGFuY2VJZCYmdGhpcy5fZ2F0ZXdheS5zZXRGdXR1cmVUaWNrbWFya3NNb2RlKGUpfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zdGF0dXMhPT1mLklkbGV9aXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5fc3RhdHVzPT09Zi5BY3RpdmV9cmVzb2x1dGlvbigpe3JldHVybiB0aGlzLl9yZXNvbHV0aW9ufXN0YXJ0KCl7dGhpcy5pc1N0YXJ0ZWQoKT9iLmxvZ05vcm1hbCgic3RhcnQ6IGRhdGEgc291cmNlIGlzIGFscmVhZHkgc3RhcnRlZCwgbm90aGluZyB0byBkbyIpOigoMCxyLmFzc2VydCkobnVsbCE9PXRoaXMuX2V4dFN5bWJvbCwic3ltYm9sIG11c3QgYmUgc2V0IGJlZm9yZSBzdGFydCIpLCgwLHIuYXNzZXJ0KShudWxsIT09dGhpcy5fcmVzb2x1dGlvbiwicmVzb2x1dGlvbiBtdXN0IGJlIHNldCBiZWZvcmUgc3RhcnQiKSx0aGlzLl9nYXRld2F5LmlzQ29ubmVjdGVkKCkudmFsdWUoKT90aGlzLl9jcmVhdGVTZXJpZXMoKTp0aGlzLl9jaGFuZ2VTdGF0dXNUbyhmLkF3YWl0aW5nQ29ubmVjdGlvbikpfXN0b3AoKXt0aGlzLmlzU3RhcnRlZCgpPyhudWxsIT09dGhpcy5faW5zdGFuY2VJZCYmKHRoaXMuX2dhdGV3YXkucmVtb3ZlU2VyaWVzKHRoaXMuX2luc3RhbmNlSWQpLHRoaXMuX2luc3RhbmNlSWQ9bnVsbCksdGhpcy5fc3ltYm9sSW5zdGFuY2VJZD1udWxsLHRoaXMuX2NoYW5nZVN0YXR1c1RvKGYuSWRsZSkpOmIubG9nTm9ybWFsKCJzdG9wOiBkYXRhIHNvdXJjZSBpcyBhbHJlYWR5IHN0b3BwZWQsIG5vdGhpbmcgdG8gZG8iKX1pbnN0YW5jZUlkKCl7cmV0dXJuIHRoaXMuX2luc3RhbmNlSWR9ZGF0YSgpe3JldHVybiB0aGlzLl9kYXRhfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfXNldFRpbWVmcmFtZShlKXt0aGlzLl90aW1lRnJhbWU9ZX1jbGVhckRhdGEoKXt0aGlzLmlzU3RhcnRlZCgpP3RoaXMuX2VucXVldWVVcGRhdGUoKCgpPT50aGlzLl9jbGVhckRhdGFJbXBsKCkpKTp0aGlzLl9jbGVhckRhdGFJbXBsKCl9ZGF0YUV2ZW50cygpe3JldHVybiB0aGlzLl9kYXRhRXZlbnRzfXR1cm5hcm91bmQoKXtyZXR1cm5gJHt0aGlzLl90dXJuYXJvdW5kUHJlZml4fSR7dGhpcy5fdHVybmFyb3VuZENvdW50ZXJ9YH1zeW1ib2xJbnN0YW5jZUlkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbEluc3RhbmNlSWR9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX2V4dFN5bWJvbH11cGRhdGVFeHRTeW1ib2woZSl7dGhpcy5fZXh0U3ltYm9sPWV9bW92ZURhdGEoZSl7cmV0dXJuIHRoaXMuX2VucXVldWVVcGRhdGUoKCgpPT50aGlzLl9kYXRhLm1vdmVEYXRhKGUpKSl9c2V0SW5pdGlhbFJlcXVlc3RPcHRpb25zKGUpe3RoaXMuX2NyZWF0ZVNlcmllc092ZXJyaWRkZW5QYXJhbXM9KDAsaC5pbml0aWFsUmVxdWVzdE9wdGlvbnNUb051bUJhcnMpKGUpfXN5bWJvbFNhbWVBc1Jlc29sdmVkKGUpe3JldHVybiBudWxsIT09dGhpcy5fZXh0U3ltYm9sJiYoMCx5LnN5bWJvbFNhbWVBc1Jlc29sdmVkKShlLEkodGhpcy5fZXh0U3ltYm9sKSx0aGlzLl9sYXN0UmVzb2x2ZWRTeW1ib2wpfXJlc29sdmVkU3ltYm9sKCl7cmV0dXJuIG51bGw9PT10aGlzLl9leHRTeW1ib2w/bnVsbDpJKHRoaXMuX2V4dFN5bWJvbCl9c3RhdGljIHNldE5vblNlcmllc0RhdGFVbnBhY2tlcihlKXtDLl9ub25TZXJpZXNEYXRhVW5wYWNrZXI9ZX1zdGF0aWMgc2V0U3ltYm9sRW5jb2RlcihlKXtDLl9lbmNvZGVTeW1ib2w9ZX1zdGF0aWMgc2V0RXh0cmFjdFN5bWJvbEZlYXR1cmVzZXRzKGUpe0MuX2V4dHJhY3RTeW1ib2xOYW1lRmVhdHVyZXNldHM9ZX1fcmVzb2x2ZVN5bWJvbCgpewpudWxsIT09dGhpcy5fZXh0U3ltYm9sJiYodGhpcy5fc3ltYm9sSW5zdGFuY2VJZD10aGlzLl9nYXRld2F5LnJlc29sdmVTeW1ib2woInNkc19zeW1fIitTKyssQy5fZW5jb2RlU3ltYm9sKHRoaXMuX2V4dFN5bWJvbCksdGhpcy5fYm91bmRPbk1lc3NhZ2UpKX1fY2xlYXJEYXRhSW1wbCgpe3RoaXMuX2RhdGEuY2xlYXIoKSx0aGlzLl9kYXRhRXZlbnRzLmZpcmVDbGVhcmVkKCl9X2NoYW5nZVN0YXR1c1RvKGUpeygwLHIuYXNzZXJ0KSh0aGlzLl9zdGF0dXMhPT1lLCJTb3VyY2UgYW5kIGRlc3RpbmF0aW9uIHN0YXR1cyBzaG91bGQgYmUgZGlzdGluY3QiKSxiLmxvZ05vcm1hbChgU3RhdHVzIGNoYW5nZWQgZnJvbSAke2ZbdGhpcy5fc3RhdHVzXX0gdG8gJHtmW2VdfWApLHRoaXMuX3N0YXR1cz1lfV9jcmVhdGVTZXJpZXMoKXsoMCxyLmFzc2VydCkodGhpcy5fc3RhdHVzIT09Zi5BY3RpdmUsJ1N0YXR1cyBzaG91bGQgbm90IGJlICJBY3RpdmUiIHdoZW4gY3JlYXRpbmcgYSBzdHVkeScpLHRoaXMuX2luc3RhbmNlSWQ9InNkc18iK3YrKyx0aGlzLl9yZXNvbHZlU3ltYm9sKCk7Y29uc3QgZT10aGlzLl9jcmVhdGVTZXJpZXNPdmVycmlkZGVuUGFyYW1zfHx0aGlzLl9jcmVhdGVTZXJpZXNQYXJhbXM7dGhpcy5fY3JlYXRlU2VyaWVzT3ZlcnJpZGRlblBhcmFtcyYmKHRoaXMuX2NyZWF0ZVNlcmllc092ZXJyaWRkZW5QYXJhbXM9MCksdGhpcy5fZ2F0ZXdheS5jcmVhdGVTZXJpZXModGhpcy5faW5zdGFuY2VJZCx0aGlzLnR1cm5hcm91bmQoKSwoMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N5bWJvbEluc3RhbmNlSWQpLCgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fcmVzb2x1dGlvbiksZSx0aGlzLl90aW1lRnJhbWUsdGhpcy5fYm91bmRPbk1lc3NhZ2UpLHRoaXMuX3RpbWVGcmFtZT1udWxsLHRoaXMuX2NoYW5nZVN0YXR1c1RvKGYuQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUpLHRoaXMuX2RhdGFFdmVudHMuZmlyZUNyZWF0ZWQodGhpcy5faW5zdGFuY2VJZCl9X29uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZChlKXtlP3RoaXMuX29uR2F0ZXdheUNvbm5lY3RlZCgpOnRoaXMuX29uR2F0ZXdheURpc2Nvbm5lY3RlZCgpfV9vbkdhdGV3YXlDb25uZWN0ZWQoKXt0aGlzLl9zdGF0dXM9PT1mLkF3YWl0aW5nQ29ubmVjdGlvbiYmdGhpcy5fY3JlYXRlU2VyaWVzKCl9X29uR2F0ZXdheURpc2Nvbm5lY3RlZCgpe3RoaXMuX3N0YXR1cyE9PWYuSWRsZSYmdGhpcy5fc3RhdHVzIT09Zi5Bd2FpdGluZ0Nvbm5lY3Rpb24mJih0aGlzLl9pbnN0YW5jZUlkPW51bGwsdGhpcy5fY2hhbmdlU3RhdHVzVG8oZi5Bd2FpdGluZ0Nvbm5lY3Rpb24pKSx0aGlzLl90dXJuYXJvdW5kQ291bnRlcj0xfV9vbk1lc3NhZ2UoZSl7dGhpcy5fZW5xdWV1ZVVwZGF0ZSgoKCk9PnRoaXMuX29uTWVzc2FnZUltcGwoZSkpKX1hc3luYyBfb25NZXNzYWdlSW1wbChlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2Uic3ltYm9sX3Jlc29sdmVkIjp7Y29uc3RbdCxzXT1lLnBhcmFtcztpZih0IT09dGhpcy5fc3ltYm9sSW5zdGFuY2VJZCl7bnVsbCE9PXRoaXMuX3N5bWJvbEluc3RhbmNlSWQmJmIubG9nTm9ybWFsKGBSZXNvbHZlIGZvciBvbGQgc3ltYm9sLCBleHBlY3RlZDogJHt0aGlzLl9zeW1ib2xJbnN0YW5jZUlkfSwgYWN0dWFsICR7ZS5wYXJhbXNbMF19YCk7YnJlYWt9dGhpcy5fb25TeW1ib2xSZXNvbHZlZChzKTticmVha31jYXNlInN5bWJvbF9lcnJvciI6aWYoZS5wYXJhbXNbMF0hPT10aGlzLl9zeW1ib2xJbnN0YW5jZUlkKXtudWxsIT09dGhpcy5fc3ltYm9sSW5zdGFuY2VJZCYmYi5sb2dOb3JtYWwoYFN5bWJvbCBlcnJvciBmb3Igb2xkIHN5bWJvbCwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0sIGFjdHVhbCAke2UucGFyYW1zWzBdfWApO2JyZWFrfXRoaXMuX29uU3ltYm9sRXJyb3IoZSk7YnJlYWs7Y2FzZSJzZXJpZXNfdGltZWZyYW1lIjp7Y29uc3RbdCxzLHIsaSxhLG8sbl09ZS5wYXJhbXM7aWYoIXRoaXMuX2NoZWNrVHVybmFyb3VuZCh0LHMpKXtiLmxvZ05vcm1hbChgVGltZSBmcmFtZSBmb3Igb2xkIGRhdGEsIGV4cGVjdGVkOiAke3RoaXMuX3N5bWJvbEluc3RhbmNlSWR9ICgke3RoaXMudHVybmFyb3VuZCgpfSksIGFjdHVhbCAke3R9ICgke3N9KWApO2JyZWFrfXRoaXMuX29uU2VyaWVzVGltZUZyYW1lKHIsaSxhLG8sbik7YnJlYWt9Y2FzZSJzZXJpZXNfZXJyb3IiOntjb25zdFt0LHNdPWUucGFyYW1zO2lmKCF0aGlzLl9jaGVja1R1cm5hcm91bmQodCxzKSl7Yi5sb2dOb3JtYWwoYFNlcmllcyBlcnJvciBmb3Igb2xkIGRhdGEsIGV4cGVjdGVkOiAke3RoaXMuX3N5bWJvbEluc3RhbmNlSWR9ICgke3RoaXMudHVybmFyb3VuZCgpfSksIGFjdHVhbCAke3R9ICgke3N9KWApO2JyZWFrfXRoaXMuX29uU2VyaWVzRXJyb3IoZS5wYXJhbXNbMl0pO2JyZWFrfWNhc2Uic2VyaWVzX2xvYWRpbmciOntjb25zdFt0LHNdPWUucGFyYW1zO2lmKCF0aGlzLl9jaGVja1R1cm5hcm91bmQodCxzKSlicmVhazt0aGlzLl9vblNlcmllc0xvYWRpbmcoZS50aW1lKTticmVha31jYXNlInNlcmllc19jb21wbGV0ZWQiOntjb25zdFt0LHMscixpXT1lLnBhcmFtcztpZighdGhpcy5fY2hlY2tUdXJuYXJvdW5kKHQscikpe2IubG9nTm9ybWFsKGBTZXJpZXMgY29tcGxldGVkIGZvciBvbGQgZGF0YSwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0gKCR7dGhpcy50dXJuYXJvdW5kKCl9KSwgYWN0dWFsICR7dH0gKCR7cn0pYCk7YnJlYWt9dGhpcy5fb25TZXJpZXNDb21wbGV0ZWQocyxlLnRpbWUsaSk7YnJlYWt9Y2FzZSJkYXRhX3VwZGF0ZSI6aWYoIXRoaXMuX2NoZWNrVHVybmFyb3VuZChlLnBhcmFtcy5jdXN0b21JZCxlLnBhcmFtcy50dXJuYXJvdW5kKSl7Yi5sb2dOb3JtYWwoYERhdGEgdXBkYXRlIGZvciBvbGQgZGF0YSwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0gKCR7dGhpcy50dXJuYXJvdW5kKCl9KSwgYWN0dWFsICR7ZS5wYXJhbXMuY3VzdG9tSWR9ICgke2UucGFyYW1zLnR1cm5hcm91bmR9KWApO2JyZWFrfQphd2FpdCB0aGlzLl9vbkRhdGFVcGRhdGUoZS5wYXJhbXMucGxvdHMsZS5wYXJhbXMubm9uc2VyaWVzLGUucGFyYW1zLmxhc3RCYXIpO2JyZWFrO2Nhc2UiY2xlYXJfZGF0YSI6e2lmKGUucGFyYW1zLnR1cm5hcm91bmQhPT10aGlzLnR1cm5hcm91bmQoKSl7Yi5sb2dOb3JtYWwoYENsZWFyIGRhdGEgZm9yIG9sZCBkYXRhLCBleHBlY3RlZDogJHt0aGlzLnR1cm5hcm91bmQoKX0sIGFjdHVhbCAke2UucGFyYW1zLnR1cm5hcm91bmR9YCk7YnJlYWt9Y29uc3QgdD10aGlzLl9kYXRhLmZpcnN0KCk7dGhpcy5fY2xlYXJEYXRhSW1wbCgpLHRoaXMuX2RhdGFFdmVudHMuZmlyZURhdGFVcGRhdGVkKHZvaWQgMCwhMSxudWxsLCExLHQpO2JyZWFrfX19X29uU2VyaWVzRXJyb3IoZSl7bGV0IHQscztpZigic3RyaW5nIj09dHlwZW9mIGUpcz17ZXJyb3I6ZX0sdD1lO2Vsc2UgaWYocz1lLGUuY3R4KXtjb25zdCBzPXt9O09iamVjdC5lbnRyaWVzKGUuY3R4KS5mb3JFYWNoKCgoW2UsdF0pPT57c1tlXT10LnRvU3RyaW5nKCl9KSksaT1lLmVycm9yLGE9cyx0PWkucmVwbGFjZShnLCgoZSx0KT0+dm9pZCAwIT09YVt0XT9hW3RdOmUpKX1lbHNlIHQ9ZS5lcnJvcjt2YXIgaSxhO2lmKHQuc3RhcnRzV2l0aCgic3R1ZHlfbm90X2F1dGg6Iikpe2NvbnN0IGU9dC5zcGxpdCgiOiIsMilbMV0uc3BsaXQoIkAiLDIpWzBdO2lmKFsiQmFyU2V0UmVua28iLCJCYXJTZXRQcmljZUJyZWFrIiwiQmFyU2V0S2FnaSIsIkJhclNldFBuRiJdLmluY2x1ZGVzKGUpKXRoaXMuX2RhdGFFdmVudHMuZmlyZUNoYXJ0VHlwZU5vdFBlcm1pdHRlZChlKTtlbHNle2lmKCJCYXJTZXRTcHJlYWQiPT09ZSlyZXR1cm4gdm9pZCB0aGlzLl9kYXRhRXZlbnRzLmZpcmVJbnRyYWRheVNwcmVhZE5vdFBlcm1pdHRlZCgpO2lmKCJCYXJTZXRSYW5nZSI9PT1lKXtjb25zdCBlPWAkeygwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fZXh0U3ltYm9sKS5pbnB1dHMucmFuZ2V9UmA7dGhpcy5fZGF0YUV2ZW50cy5maXJlQ3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoZSl9fX1lbHNle2lmKHQuc3RhcnRzV2l0aCgidW5zdXBwb3J0ZWQiKSlyZXR1cm4gdm9pZCB0aGlzLl9kYXRhRXZlbnRzLmZpcmVVbnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKTsicmVzb2x1dGlvbl9ub3RfZW50aXRsZWQiPT09dD90aGlzLl9kYXRhRXZlbnRzLmZpcmVJbnRyYWRheUV4Y2hhbmdlTm90UGVybWl0dGVkKCk6ImN1c3RvbV9yZXNvbHV0aW9uIj09PXQ/dGhpcy5fZGF0YUV2ZW50cy5maXJlQ3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yZXNvbHV0aW9uKSk6InNlY29uZHNfbm90X2VudGl0bGVkIj09PXQ/dGhpcy5fZGF0YUV2ZW50cy5maXJlU2Vjb25kc0ludGVydmFsTm90UGVybWl0dGVkKCk6InRpY2tzX25vdF9lbnRpdGxlZCI9PT10JiZ0aGlzLl9kYXRhRXZlbnRzLmZpcmVUaWNrc0ludGVydmFsTm90UGVybWl0dGVkKCl9dGhpcy5fZGF0YUV2ZW50cy5maXJlU2VyaWVzRXJyb3Iocyl9X29uU2VyaWVzVGltZUZyYW1lKGUsdCxzLHIsaSl7dGhpcy5fZGF0YUV2ZW50cy5maXJlU2VyaWVzVGltZUZyYW1lKGUsdCxzLHI/PyEwLGkpfV9vblN5bWJvbEVycm9yKGUpe2lmKGUucGFyYW1zWzFdPT09ZC5wZXJtaXNzaW9uRGVuaWVkKXN3aXRjaChlLnBhcmFtc1syXSl7Y2FzZSBkLlN5bWJvbEVycm9yUGVybWlzc2lvbkRlbmllZFJlYXNvbi5TeW1ib2w6dGhpcy5fZGF0YUV2ZW50cy5maXJlU3ltYm9sTm90UGVybWl0dGVkKGUucGFyYW1zWzNdKTticmVhaztjYXNlIGQuU3ltYm9sRXJyb3JQZXJtaXNzaW9uRGVuaWVkUmVhc29uLkdyb3VwUGVybWlzc2lvbjp0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xHcm91cE5vdFBlcm1pdHRlZChlLnBhcmFtc1szXSk7YnJlYWs7ZGVmYXVsdDp0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xOb3RQZXJtaXR0ZWQoZS5wYXJhbXNbMl0pfWVsc2UgZS5wYXJhbXNbMV09PT1kLmludmFsaWRTeW1ib2wmJnRoaXMuX2RhdGFFdmVudHMuZmlyZVN5bWJvbEludmFsaWQoKTt0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xFcnJvcihlLnBhcmFtc1sxXSl9X29uU3ltYm9sUmVzb2x2ZWQoZSl7dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sPSgwLHIuZW5zdXJlTm90TnVsbCkoKDAscC5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvKShDLl9leHRyYWN0U3ltYm9sTmFtZUZlYXR1cmVzZXRzLGUsIiIpKSx0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xSZXNvbHZlZChlKX1hc3luYyBfb25EYXRhVXBkYXRlKGUsdCxzKXt0aGlzLl9vbkRhdGFVbnBhY2tlZChlLHMsYXdhaXQoMCxtLnBhcnNlSmFwYW5lc2VQcm9qZWN0aW9uQmFycykodCxDLl9ub25TZXJpZXNEYXRhVW5wYWNrZXIpKX1fZW5xdWV1ZVVwZGF0ZShlKXtyZXR1cm4gdGhpcy5fb25nb2luZ0RhdGFVcGRhdGU9dGhpcy5fb25nb2luZ0RhdGFVcGRhdGUudGhlbihlLGUpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlfV9vbkRhdGFVbnBhY2tlZChlLHQscyl7aWYodGhpcy5fc3RhdHVzPT09Zi5JZGxlKXJldHVybjt0aGlzLl9zdGF0dXM9PT1mLkF3YWl0aW5nRmlyc3REYXRhVXBkYXRlJiYodGhpcy5fY2hhbmdlU3RhdHVzVG8oZi5BY3RpdmUpLHRoaXMuX2NsZWFyRGF0YUltcGwoKSk7Y29uc3Qgcj10aGlzLl9kYXRhLmJhcnMoKS5zaXplKCksaT10aGlzLl9kYXRhLmZpcnN0KCksYT10aGlzLl9kYXRhLmJhcnMoKS5maXJzdEluZGV4KCksbz10aGlzLl9kYXRhLm1lcmdlUmVndWxhckJhcnMoZSk7bnVsbCE9PXMmJih0aGlzLl9kYXRhLm5zQmFycygpLmNsZWFyKCksdGhpcy5fZGF0YS5uc0JhcnMoKS5tZXJnZShzLnByb2plY3Rpb25QbG90cyksdGhpcy5fZGF0YS5sYXN0UHJvamVjdGlvblByaWNlPXMubGFzdFByaWNlLG51bGwhPT1zLmJveFNpemUmJih0aGlzLl9kYXRhLmJveFNpemU9cy5ib3hTaXplKSx0aGlzLl9kYXRhLnJldmVyc2FsQW1vdW50PXMucmV2ZXJzYWxBbW91bnQpO2NvbnN0IG49bnVsbD09PWEsZD1ufHxudWxsIT09byYmby5pbmRleDxhO3RoaXMuX2RhdGFFdmVudHMuZmlyZURhdGFVcGRhdGVkKHQsZCxvLG4saSksCnIhPT10aGlzLl9kYXRhLmJhcnMoKS5zaXplKCkmJm51bGwhPT1vJiZ0aGlzLl9kYXRhRXZlbnRzLmZpcmVCYXJSZWNlaXZlZChvKX1fb25TZXJpZXNMb2FkaW5nKGUpe3RoaXMuX2RhdGFFdmVudHMuZmlyZUxvYWRpbmcoZSl9X29uU2VyaWVzQ29tcGxldGVkKGUsdCxzKXt0aGlzLl9kYXRhRXZlbnRzLmZpcmVDb21wbGV0ZWQoe3VwZGF0ZU1vZGU6ZSx0aW1lOnQsZmxhZ3M6c30pfV9jaGVja1R1cm5hcm91bmQoZSx0KXtyZXR1cm4gdGhpcy5faW5zdGFuY2VJZD09PWUmJih2b2lkIDA9PT10fHx0PT09dGhpcy50dXJuYXJvdW5kKCkpfX1DLl9ub25TZXJpZXNEYXRhVW5wYWNrZXI9bC51bnBhY2tOb25TZXJpZXNEYXRhLEMuX2VuY29kZVN5bWJvbD1jLmVuY29kZUV4dGVuZGVkU3ltYm9sLEMuX2V4dHJhY3RTeW1ib2xOYW1lRmVhdHVyZXNldHM9e3BheUF0dGVudGlvblRvVGlja2VyTm90U3ltYm9sOiExLGNoYXJ0aW5nTGlicmFyeVNpbmdsZVN5bWJvbFJlcXVlc3Q6ITEsdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOiExLHVwcGVyY2FzZUluc3RydW1lbnROYW1lczohMX19LDEyMTQ3OShlLHQscyl7cy5kKHQse2dldFNlcnZlckludGVydmFsOigpPT5pfSk7dmFyIHI9cygyNTQ2NzMpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHIuSW50ZXJ2YWwuaXNSYW5nZShlKT8iMSI6ZX19LDk5NTY1NShlLHQscyl7cy5kKHQse3ZhbGlkYXRlR3JhcGhpY3NDb21tYW5kczooKT0+YX0pO3ZhciByPXMoNjAxODQxKSxpPXMoMTM4NjM4KTtmdW5jdGlvbiBhKGUpe2lmKCEoMCxyLmlzT2JqZWN0KShlKSl0aHJvdyBuZXcgRXJyb3IoIkdyYXBoaWNzIGNvbW1hbmRzIHNob3VsZCBiZSB3cmFwcGVkIGluIGFuIG9iamVjdCIpO2lmKCgwLHIuaGFzUHJvcGVydHkpKGUsImNyZWF0ZSIpLCgwLHIuaGFzUHJvcGVydHkpKGUsImVyYXNlIikpe2NvbnN0IHQ9ZS5lcmFzZTsoMCxpLmFzc2VydCkoQXJyYXkuaXNBcnJheSh0KSwiQ29sbGVjdGlvbiBvZiBlcmFzZSBjb21tYW5kcyBzaG91bGQgYmUgYXJyYXkiKTtmb3IoY29uc3QgZSBvZiB0KXtpZighKDAsci5pc09iamVjdCkoZSl8fCEoMCxyLmhhc1Byb3BlcnR5KShlLCJhY3Rpb24iKSl0aHJvdyBuZXcgRXJyb3IoIkNvbW1hbmQgc2hvdWxkIGJlIGFuIG9iamVjdCB3aXRoICdhY3Rpb24nIHByb3BlcnR5Iik7KDAsaS5hc3NlcnQpKCJhbGwiPT09ZS5hY3Rpb258fCJvbmUiPT09ZS5hY3Rpb24sIkVyYXNlIGNvbW1hbmQgYWN0aW9uIHNob3VsZCBiZSAnYWxsJyBvciAnb25lJyIpfX1yZXR1cm4gZX19LDMyMjU1NChlLHQscyl7ZnVuY3Rpb24gcihlLHQscyl7cmV0dXJuIGU9PT10fHxlPT09c31zLmQodCx7c3ltYm9sU2FtZUFzUmVzb2x2ZWQ6KCk9PnJ9KX0sODE0NTg5KGUsdCxzKXtzLmQodCx7SU5WQUxJRF9USU1FX1BPSU5UX0lOREVYOigpPT5yLFVOUExPVFRBQkxFX1RJTUVfUE9JTlRfSU5ERVg6KCk9Pml9KTtjb25zdCByPS0yZTYsaT0tMWU2fSw4NjY3NDgoZSx0LHMpe2FzeW5jIGZ1bmN0aW9uIHIoZSl7Y29uc3Rbe2luZmxhdGVabGliOnQsaW5mbGF0ZVJhdzpyfSx7dW5wYWNrSW1wbDppfV09YXdhaXQgUHJvbWlzZS5hbGwoWyJmdW5jdGlvbiI9PXR5cGVvZiBEZWNvbXByZXNzaW9uU3RyZWFtP3MuZSgyMTI2MCkudGhlbihzLmJpbmQocyw3MzUwOTkpKTpQcm9taXNlLmFsbChbcy5lKDI0Njk4KSxzLmUoNjIyMzQpXSkudGhlbihzLmJpbmQocywyOTU4NzMpKSxzLmUoMjEyNjApLnRoZW4ocy5iaW5kKHMsMjk0NDgzKSldKTtyZXR1cm4gaSh0LHIsZSl9cy5kKHQse3VucGFjazooKT0+cn0pfSwxODk4NjMoZSx0LHMpe3MuZCh0LHtTcGlubmVyOigpPT5hfSk7cyg4NDU1NzcpO3ZhciByPXMoNDQzNTU3KSxpPXMoNTY3NDc5KTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMuX3Nob3duPSExLHRoaXMuX2VsPSgwLHIucGFyc2VIdG1sRWxlbWVudCkoZnVuY3Rpb24oZT0iIil7cmV0dXJuYDxkaXYgY2xhc3M9InR2LXNwaW5uZXIgJHtlfSIgcm9sZT0icHJvZ3Jlc3NiYXIiPjwvZGl2PmB9KCkpLHRoaXMuc2V0U2l6ZShpLnNwaW5uZXJTaXplTWFwW2V8fGkuREVGQVVMVF9TSVpFXSl9c3BpbihlKXtyZXR1cm4gdGhpcy5fZWwuY2xhc3NMaXN0LmFkZCgidHYtc3Bpbm5lci0tc2hvd24iKSx2b2lkIDA9PT10aGlzLl9jb250YWluZXImJih0aGlzLl9jb250YWluZXI9ZSx2b2lkIDAhPT1lJiZlLmFwcGVuZENoaWxkKHRoaXMuX2VsKSksdGhpcy5fc2hvd249ITAsdGhpc31zdG9wKGUpe3JldHVybiBlJiZ2b2lkIDAhPT10aGlzLl9jb250YWluZXImJnRoaXMuX2NvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzLl9lbCksdGhpcy5fZWwmJnRoaXMuX2VsLmNsYXNzTGlzdC5yZW1vdmUoInR2LXNwaW5uZXItLXNob3duIiksdGhpcy5fc2hvd249ITEsdGhpc31zZXRTdHlsZShlKXtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e2NvbnN0IHM9ZVt0XTt2b2lkIDAhPT1zJiZ0aGlzLl9lbC5zdHlsZS5zZXRQcm9wZXJ0eSh0LHMpfSkpLHRoaXN9c3R5bGUoKXtyZXR1cm4gdGhpcy5fZWwuc3R5bGV9c2V0U2l6ZShlKXtjb25zdCB0PXZvaWQgMCE9PWU/YHR2LXNwaW5uZXItLXNpemVfJHtlfWA6IiI7cmV0dXJuIHRoaXMuX2VsLmNsYXNzTmFtZT1gdHYtc3Bpbm5lciAke3R9ICR7dGhpcy5fc2hvd24/InR2LXNwaW5uZXItLXNob3duIjoiIn1gLHRoaXN9Z2V0RWwoKXtyZXR1cm4gdGhpcy5fZWx9ZGVzdHJveSgpe3RoaXMuc3RvcCgpLGRlbGV0ZSB0aGlzLl9lbCxkZWxldGUgdGhpcy5fY29udGFpbmVyfX19LDIyNjkzNyhlLHQscyl7cy5kKHQse0FzeW5jUmVzb3VyY2VXcmFwcGVyOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9jYWxsYmFja3M9W10sdGhpcy5fcmVzb3VyY2U9e3BlbmRpbmdSZXNvdXJjZTplfSx0aGlzLl9kZXN0cm95Rm49dCxlLnRoZW4oKGU9PntpZih0aGlzLl9kZXN0cm95ZWQpdGhpcy5fZGVzdHJveUZuPy4oZSk7ZWxzZXt0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZT1lO2Zvcihjb25zdCB0IG9mIHRoaXMuX2NhbGxiYWNrcyl0KGUpfX0pKS5maW5hbGx5KCgoKT0+e3RoaXMuX2NhbGxiYWNrcz1bXX0pKX0KZGVzdHJveSgpe3RoaXMuX3Jlc291cmNlLnJlc291cmNlJiZ0aGlzLl9kZXN0cm95Rm4/Lih0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZSksdGhpcy5fcmVzb3VyY2U9e3BlbmRpbmdSZXNvdXJjZTpQcm9taXNlLnJlamVjdCgiUmVzb3VyY2UgaXMgZGVzdHJveWVkIikuY2F0Y2goKCgpPT57fSkpfSx0aGlzLl9jYWxsYmFja3M9W10sdGhpcy5fZGVzdHJveWVkPSEwfWNhbGxGdW5jdGlvbihlKXt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZT9lKHRoaXMuX3Jlc291cmNlLnJlc291cmNlKTp0aGlzLl9jYWxsYmFja3MucHVzaChlKSl9Z2V0KCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZHx8IXRoaXMuX3Jlc291cmNlLnJlc291cmNlP251bGw6dGhpcy5fcmVzb3VyY2UucmVzb3VyY2V9cHJvbWlzZSgpe3JldHVybiB0aGlzLl9yZXNvdXJjZS5wZW5kaW5nUmVzb3VyY2V9fX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/37513.de1574b3389800c93ebc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.785Z","timestamp":1785141584785,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/37513.de1574b3389800c93ebc.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-f9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0c81b9f8bd3d96dffd6d6a3e91e8b097\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":249,"size_decoded":921,"mime_type":"text/css; charset=utf-8","magic":"assembler source, ASCII text, with no line terminators","md5":"2609ad9fbf4035b2a6560fc3dc9d6ea8","sha1":"bdfe0d65ef3fe93359d3b4c44d38f0c71a542575","sha256":"f77d49b20494fbd63705f7a88a3710886adb7e234fa5e484f24ce7a7da5e7e24","sha512":"bbc4fff59f180264dcbd742c54b6c269770c18d10946ccb1842a3a4eb4207d6c4157c253f72cde3e06cf38c4d3c7b7b7fbefd05c61e9fbe4de303b7f06283c7a","ssdeep":"","tlshash":"e9d01787a1d04f313c13aa6d19f9263921b9ac745e22198e30206e225ae3aaa0011daf","first_seen":"2026-07-17T14:15:58.496983Z","last_seen":"2026-07-27T14:27:22.666503Z","times_seen":158,"resource_available":false,"data":"LmV2ZW50V3JhcHBlci1fRThVWFZLMXthbGw6dW5zZXQhaW1wb3J0YW50O2Rpc3BsYXk6Y29udGVudHMhaW1wb3J0YW50fS5wa24tY1RwX3VuVjh7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcDp2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItaXNBbmNob3JQb3NpdGlvbmVyKTstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGU6dmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWlzTW9iaWxlUG9zaXRpb25lcil9"}},"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/97558.94bb0c2643d74eb6f8a9.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.886Z","timestamp":1785141584886,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/97558.94bb0c2643d74eb6f8a9.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd31-6018\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:16:17 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9ae6d5479c8c169524fc3895c77aae7c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":24600,"size_decoded":7957,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"d746cbb1cbb3033c0484bc6acc81a55f","sha1":"25835aa4b4538d7962fa37c481b6f7bfcda4defb","sha256":"32489cc5023595f6e286bacc217f9666840467c5cb7f6a71e6fb993778a0f9f6","sha512":"88e18428248f514fce026ba9332b9229d8c5a25977939e792b749ec42051dc847c18d6dcc6d9880fff271e42f1b5e048da19ecc06a555fd9b1e0b749752b605e","ssdeep":"768:ncRuzQtjfXqCO3EDR9kE9OO4f5B1i/RHUFLqhBRso7HiqZEFhSoO0JJyERE+wOjb:nPanOeH9TO+eFNrWJfeZP","tlshash":"83b29612655d58eb97f207a3ad70284bd2339da71b0fad54309d44df3cae821227eb71","first_seen":"2026-07-20T16:56:18.378997Z","last_seen":"2026-07-27T14:50:15.323935Z","times_seen":92,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTc1NThdLHs5NjA0NjQoZSx0LG4pe3ZhciBpO24uZCh0LHtNYXJrTG9jYXRpb246KCk9Pml9KSxmdW5jdGlvbihlKXtlLkFib3ZlQmFyPSJBYm92ZUJhciIsZS5CZWxvd0Jhcj0iQmVsb3dCYXIiLGUuVG9wPSJUb3AiLGUuQm90dG9tPSJCb3R0b20iLGUuUmlnaHQ9IlJpZ2h0IixlLkxlZnQ9IkxlZnQiLGUuQWJzb2x1dGU9IkFic29sdXRlIixlLkFic29sdXRlVXA9IkFic29sdXRlVXAiLGUuQWJzb2x1dGVEb3duPSJBYnNvbHV0ZURvd24ifShpfHwoaT17fSkpfSw1MTI0MzcoZSx0LG4pe24uZCh0LHtUZXh0SW1hZ2VDYWNoZXNDb250YWluZXI6KCk9PmR9KTt2YXIgaSxvPW4oMTM4NjM4KSxyPW4oMTQxNjUpLHM9big1OTA4OTQpOyFmdW5jdGlvbihlKXtlLkxlZnQ9ImxlZnQiLGUuQ2VudGVyPSJjZW50ZXIiLGUuUmlnaHQ9InJpZ2h0In0oaXx8KGk9e30pKTt2YXIgYT1uKDkxODc3OSksaD1uKDE1MTIxKTtjb25zdCBsPSgwLGguY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzKShkb2N1bWVudCwoMCxhLnNpemUpKHt3aWR0aDowLGhlaWdodDowfSksMSk7Y2xhc3MgY3tjb25zdHJ1Y3RvcihlLHQsbixpLHIsYT0iY2VudGVyIixoPTApe3RoaXMuX2xpbmVzPWUuc3BsaXQoL1teXFNcclxuXSooPzpcclxufFxyfFxuKS8pLHRoaXMuX2ZvbnQ9ZnVuY3Rpb24oZSx0LG4saSl7cmV0dXJuKDAscy5tYWtlRm9udCkoaSxuLGAke2U/ImJvbGQgIjoiIn0ke3Q/Iml0YWxpYyAiOiIifWApfSh0LG4saSxyKSx0aGlzLl9mb250U2l6ZT1yLHRoaXMuX3ZlcnRpY2FsUGFkZGluZz1+fihyLzYpLHRoaXMuX3RleHRBbGlnbj1hLHRoaXMuX2xpbmVTcGFjaW5nPWg7Y29uc3QgYz0oMCxvLmVuc3VyZU5vdE51bGwpKGwuZ2V0Q29udGV4dCgiMmQiKSk7Yy5mb250PXRoaXMuX2ZvbnQsYy50ZXh0QmFzZWxpbmU9InRvcCI7bGV0IGQ9MDtmb3IobGV0IGU9MDtlPHRoaXMuX2xpbmVzLmxlbmd0aDsrK2Upe2NvbnN0IHQ9dGhpcy5fbGluZXNbZV0sbj1jLm1lYXN1cmVUZXh0KHQpLndpZHRoO2Q9TWF0aC5tYXgoZCxuKX10aGlzLnRleHRJbWFnZVdpZHRoPWQrMSx0aGlzLnRleHRJbWFnZUhlaWdodD10aGlzLl9saW5lcy5sZW5ndGgqcisodGhpcy5fbGluZXMubGVuZ3RoLTEpKnRoaXMuX2xpbmVTcGFjaW5nK3RoaXMuX3ZlcnRpY2FsUGFkZGluZ31wYWludFRvKGUsdCl7Y29uc3R7Y29udGV4dDpuLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOm99PWU7bi5zYXZlKCk7Y29uc3Qgcj10LmxvY2F0aW9uO24udHJhbnNsYXRlKE1hdGgucm91bmQoZnVuY3Rpb24oZSx0LG4pe2xldCBpPWU7c3dpdGNoKHQpe2Nhc2UibGVmdCI6YnJlYWs7Y2FzZSJyaWdodCI6aS09bjticmVhaztjYXNlImNlbnRlciI6aS09bi8yfXJldHVybiBNYXRoLnJvdW5kKGkpfShyLngsci5ob3J6QWxpZ24sdGhpcy50ZXh0SW1hZ2VXaWR0aCkqaSksTWF0aC5yb3VuZChmdW5jdGlvbihlLHQsbil7bGV0IGk9ZTtzd2l0Y2godCl7Y2FzZSJ0b3AiOmJyZWFrO2Nhc2UiYm90dG9tIjppLT1uO2JyZWFrO2Nhc2UibWlkZGxlIjppLT1uLzJ9cmV0dXJuIE1hdGgucm91bmQoaSl9KHIueSxyLnZlcnRBbGlnbix0aGlzLnRleHRJbWFnZUhlaWdodCkqbykpO2NvbnN0IHM9dC5zdHlsZTtsZXQgYTtzd2l0Y2gobi50ZXh0QmFzZWxpbmU9InRvcCIsbi5mb250PXRoaXMuX2ZvbnQsbi5saW5lSm9pbj0icm91bmQiLG4uZmlsbFN0eWxlPXMuZmlsbFN0eWxlLHMuc3Ryb2tlU3R5bGUmJihuLnN0cm9rZVN0eWxlPXMuc3Ryb2tlU3R5bGUpLHMubGluZVdpZHRoJiYobi5saW5lV2lkdGg9cy5saW5lV2lkdGgpLHRoaXMuX3RleHRBbGlnbil7Y2FzZSJsZWZ0IjphPTAsbi50ZXh0QWxpZ249ImxlZnQiO2JyZWFrO2Nhc2UicmlnaHQiOmE9dGhpcy50ZXh0SW1hZ2VXaWR0aC0xLG4udGV4dEFsaWduPSJyaWdodCI7YnJlYWs7ZGVmYXVsdDphPXRoaXMudGV4dEltYWdlV2lkdGgvMixuLnRleHRBbGlnbj0iY2VudGVyIn1sZXQgbD10aGlzLl92ZXJ0aWNhbFBhZGRpbmc7KDAsaC5kcmF3U2NhbGVkKShuLGksbywoKCk9Pntmb3IoY29uc3QgZSBvZiB0aGlzLl9saW5lcylzLnN0cm9rZVN0eWxlJiZuLnN0cm9rZVRleHQoZSxhLGwpLG4uZmlsbFRleHQoZSxhLGwpLGwrPXRoaXMuX2ZvbnRTaXplLGwrPXRoaXMuX2xpbmVTcGFjaW5nfSkpLG4ucmVzdG9yZSgpfX1jbGFzcyBkIGV4dGVuZHMgci5BYnN0cmFjdE1hcENvbnRhaW5lcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX21heFNpemU9ZSx0aGlzLl9rZXlzUXVldWU9W119Z2V0KGUpe2NvbnN0e2ZvbnRTaXplOnQsdGV4dDpuLGFsaWduOmksZm9udDpvLGJvbGQ6YSxpdGFsaWM6aCxsaW5lU3BhY2luZzpsPTB9PWU7aWYoIW58fCF0fHwhaSlyZXR1cm4gbnVsbDtjb25zdCBkPSgwLHMubWFrZUZvbnQpKHQsbyxoPyJpdGFsaWMiOiIiLGE/ImJvbGQiOiIiKSxmPSgwLHIuZ2V0RGVmYXVsdDMpKHRoaXMuX21hcCxsLGksZCxuZXcgTWFwKTtsZXQgZz1mLmdldChuKTtyZXR1cm4gdm9pZCAwIT09Z3x8KHRoaXMuX3NpemU+PXRoaXMuX21heFNpemU/dGhpcy5fZGVsZXRlRmlyc3RLZXkoKTorK3RoaXMuX3NpemUsdGhpcy5fa2V5c1F1ZXVlLnB1c2goW2QsaSxsLG5dKSxnPW5ldyBjKG4sYSxoLG8sdCxpLGwpLGYuc2V0KG4sZykpLGd9X2RlbGV0ZUZpcnN0S2V5KCl7Y29uc3QgZT10aGlzLl9rZXlzUXVldWUuc2hpZnQoKSxbdCxuLGkscl09ZSxzPSgwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5fbWFwLmdldChpKSksYT0oMCxvLmVuc3VyZURlZmluZWQpKHMuZ2V0KG4pKSxoPSgwLG8uZW5zdXJlRGVmaW5lZCkoYS5nZXQodCkpO2guZGVsZXRlKHIpLDA9PT1oLnNpemUmJmEuZGVsZXRlKHQpLDA9PT1hLnNpemUmJnMuZGVsZXRlKG4pLDA9PT1zLnNpemUmJnRoaXMuX21hcC5kZWxldGUoaSl9fX0sMjkzNDE4KGUsdCxuKXtuLmQodCx7Y29udmVydFBvaW50c1RvU2NyZWVuRGltZW5zaW9uOigpPT5hLGRvZXNJdGVtQWZmZWN0VmlzaWJsZVJhbmdlOigpPT5oLAppc0V4dGVuZEluU2FtZURpcmVjdGlvbjooKT0+c30pO3ZhciBpPW4oMTM4NjM4KSxvPW4oMTc5Njc0KTtmdW5jdGlvbiByKGUsdCl7cmV0dXJuIGU9PT1vLkR3Z0V4dGVuZC5Ob25lP3Q6dD09PW8uRHdnRXh0ZW5kLk5vbmU/ZTplPT09by5Ed2dFeHRlbmQuQm90aHx8dD09PW8uRHdnRXh0ZW5kLkJvdGg/by5Ed2dFeHRlbmQuQm90aDplPT09dD90Om8uRHdnRXh0ZW5kLkJvdGh9ZnVuY3Rpb24gcyhlLHQpe3JldHVybiBlPT09by5Ed2dFeHRlbmQuQm90aHx8ZT09PXR9ZnVuY3Rpb24gYShlLHQsbixzLGEsaCxsLGMsZCxmKXtsZXQgZyx4O2lmKG51bGw9PT1lJiZudWxsPT09bil7aWYoYSE9PW8uRHdnRXh0ZW5kLlJpZ2h0JiZhIT09by5Ed2dFeHRlbmQuQm90aClyZXR1cm4gbnVsbDthPW8uRHdnRXh0ZW5kLkJvdGgsZz0wLHg9Y31lbHNlIG51bGw9PT1lPyhnPWwuaW5kZXhUb0Nvb3JkaW5hdGUoKDAsaS5lbnN1cmVOb3ROdWxsKShuKS0xKSxhPXIoYSxvLkR3Z0V4dGVuZC5MZWZ0KSk6Zz1sLmluZGV4VG9Db29yZGluYXRlKGUpLG51bGw9PT1uPyh4PWwuaW5kZXhUb0Nvb3JkaW5hdGUoKDAsaS5lbnN1cmVOb3ROdWxsKShlKS0xKSxhPXIoYSxvLkR3Z0V4dGVuZC5SaWdodCkpOng9bC5pbmRleFRvQ29vcmRpbmF0ZShuKTtjb25zdCB1PWcsXz1oLnByaWNlVG9Db29yZGluYXRlKHQsZCksdz14LHA9aC5wcmljZVRvQ29vcmRpbmF0ZShzLGQpO3JldHVybiB2b2lkIDAhPT1mPyhmLngxPXUsZi55MT1fLGYueDI9dyxmLnkyPXAsZi5leHRlbmQ9YSxmKTp7eDE6dSx5MTpfLHgyOncseTI6cCxleHRlbmQ6YX19ZnVuY3Rpb24gaChlLHQsbixpLHIpe2xldCBzPSExO3N3aXRjaChuKXtjYXNlIG8uRHdnRXh0ZW5kLkJvdGg6cz0hMDticmVhaztjYXNlIG8uRHdnRXh0ZW5kLlJpZ2h0OnM9bnVsbD09PXR8fG51bGw9PT1lfHxlPD1yO2JyZWFrO2Nhc2Ugby5Ed2dFeHRlbmQuTGVmdDpzPW51bGw9PT10fHx0Pj1pO2JyZWFrO2RlZmF1bHQ6bnVsbCE9PWUmJm51bGwhPT10P3M9KGU+PWl8fHQ+PWkpJiYoZTw9cnx8dDw9cik6bnVsbCE9PWUmJm51bGw9PT10P3M9ZTw9cjpudWxsPT09ZSYmbnVsbCE9PXQmJihzPXQ+PWkpfXJldHVybiBzfX0sNDc3Mzg4KGUsdCxuKXtuLmQodCx7RHdnTGFiZWxQYW5lVmlld0NvbnN0YW50czooKT0+aSxjYWxjdWxhdGVEd2dMYWJlbHNNYXJnaW5zOigpPT5hLGNhbGN1bGF0ZUxhYmVsSGVpZ2h0OigpPT5zfSk7dmFyIGksbz1uKDU4OTUxMSkscj1uKDU0ODU2MCk7ZnVuY3Rpb24gcyhlLHQsbil7bGV0IHI9bjtzd2l0Y2godCl7Y2FzZSBvLlBsb3RTeW1ib2xTaXplLlRpbnk6cj0uNiplO2JyZWFrO2Nhc2Ugby5QbG90U3ltYm9sU2l6ZS5TbWFsbDpyPS44KmU7YnJlYWs7Y2FzZSBvLlBsb3RTeW1ib2xTaXplLk5vcm1hbDpyPWU7YnJlYWs7Y2FzZSBvLlBsb3RTeW1ib2xTaXplLkxhcmdlOnI9MS41KmU7YnJlYWs7Y2FzZSBvLlBsb3RTeW1ib2xTaXplLkh1Z2U6cj0yKmU7YnJlYWs7ZGVmYXVsdDoibnVtYmVyIj09dHlwZW9mIHQmJnQ+MCYmKHI9dC9pLkZPTlRfU0laRV9NVUxUKX1yZXR1cm4gcn1mdW5jdGlvbiBhKGUsdCxuKXtjb25zdCBvPWUubW9kZWwoKS50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCksYT1NYXRoLnJvdW5kKG8qaS5BVVRPX1NJWkVfTVVMVCksaD1zKGkuTk9STUFMX1NJWkUsdC5zaXplLGEpKmkuU0hBUEVfSEVJR0hUX01VTFQsbD1NYXRoLnJvdW5kKGgvMik7c3dpdGNoKHQuc3R5bGUpe2Nhc2Ugci5Ed2dMYWJlbFN0eWxlLkxhYmVsVXA6Y2FzZSByLkR3Z0xhYmVsU3R5bGUuTGFiZWxMZWZ0VXA6Y2FzZSByLkR3Z0xhYmVsU3R5bGUuTGFiZWxSaWdodFVwOnJldHVybntib3R0b21QaXhlbE1hcmdpbjpsLHRvcFBpeGVsTWFyZ2luOjB9O2Nhc2Ugci5Ed2dMYWJlbFN0eWxlLkxhYmVsRG93bjpjYXNlIHIuRHdnTGFiZWxTdHlsZS5MYWJlbExlZnREb3duOmNhc2Ugci5Ed2dMYWJlbFN0eWxlLkxhYmVsUmlnaHREb3duOnJldHVybntib3R0b21QaXhlbE1hcmdpbjowLHRvcFBpeGVsTWFyZ2luOmx9O2Nhc2Ugci5Ed2dMYWJlbFN0eWxlLkxhYmVsTGVmdDpjYXNlIHIuRHdnTGFiZWxTdHlsZS5MYWJlbFJpZ2h0OmNhc2Ugci5Ed2dMYWJlbFN0eWxlLkxhYmVsQ2VudGVyOnJldHVybntib3R0b21QaXhlbE1hcmdpbjpsLHRvcFBpeGVsTWFyZ2luOmx9fXJldHVybntib3R0b21QaXhlbE1hcmdpbjowLHRvcFBpeGVsTWFyZ2luOjB9fSFmdW5jdGlvbihlKXtlLk5PUk1BTF9TSVpFPTUwLGUuQVVUT19TSVpFX01VTFQ9MSxlLlNIQVBFX0hFSUdIVF9NVUxUPS41LGUuU0hBUEVfV0lEVEhfTVVMVD0uNixlLkZPTlRfU0laRV9NVUxUPS4yNH0oaXx8KGk9e30pKX0sODc0MTM1KGUsdCxuKXtuLmQodCx7UGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGU6KCk9PncsUGFuZVJlbmRlcmVyQWJzdHJhY3RTaGFwZTooKT0+dSxQYW5lUmVuZGVyZXJBYnN0cmFjdFN0cm9rZVNoYXBlOigpPT5ffSk7dmFyIGksbz1uKDEzODYzOCkscj1uKDczNjUzMSkscz1uKDc2ODMwNSksYT1uKDYwMTg0MSksaD1uKDg4NDI4KSxsPW4oNzYzKSxjPW4oNTEyNDM3KSxkPW4oOTI2MTQ5KSxmPW4oOTM0MzA1KSxnPW4oMTUxMjEpLHg9bigzMTg5NzQpOyFmdW5jdGlvbihlKXtlLlRyYW5zcGFyZW50PSJyZ2JhKDAsIDAsIDAsIDApIn0oaXx8KGk9e30pKTtjbGFzcyB1IGV4dGVuZHMgZi5CaXRtYXBDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3RvcihlLHQ9e3NraXBSZW5kZXJpbmdPcHRpbWl6YXRpb25zOiExfSl7c3VwZXIoKSx0aGlzLl9pdGVtcz1bXSx0aGlzLl9iYXJTcGFjaW5nPTAsdGhpcy5fdmVydE9mZnNldD0wLHRoaXMuX3RleHRDYWNoZT10LnRleHRDYWNoZXx8bmV3IGMuVGV4dEltYWdlQ2FjaGVzQ29udGFpbmVyKDVlMyksdGhpcy5fZHJhd09wZXJhdGlvbj10LnNraXBSZW5kZXJpbmdPcHRpbWl6YXRpb25zP3RoaXMuX2RyYXdXaXRob3V0T3B0aW1pemF0aW9ucy5iaW5kKHRoaXMpOnRoaXMuX2RyYXdXaXRoT3B0aW1pemF0aW9ucy5iaW5kKHRoaXMpLG51bGwhPT1lJiZ0aGlzLnNldERhdGEoZSl9aGl0VGVzdChlKXtjb25zdCB0PWwuSGl0VGFyZ2V0LlJlZ3VsYXI7bGV0IG49bnVsbAo7Zm9yKGNvbnN0IGkgb2YgdGhpcy5faXRlbXMpe2lmKCFpKWNvbnRpbnVlO2NvbnN0IG89dGhpcy5fY2FsY0JvdW5kaW5nQm94KGkpO2lmKG8mJigwLHMucG9pbnRJbkJveCkoZSxvKSl7Y29uc3QgZT17dG9vbHRpcDp0aGlzLl9nZXRUb29sdGlwKGksbyl9O249bmV3IGwuSGl0VGVzdFJlc3VsdCh0LGUpfX1yZXR1cm4gbn1zZXREYXRhKGUpe2lmKHRoaXMuX2hlaWdodD12b2lkIDAhPT1lLmhlaWdodD9lLmhlaWdodDplLndpZHRoLHRoaXMuX3dpZHRoPXZvaWQgMCE9PWUud2lkdGg/ZS53aWR0aDplLmhlaWdodCx0aGlzLl9jb2xvcj1lLmNvbG9yLHRoaXMuX2JvcmRlckNvbG9yPWUuYm9yZGVyQ29sb3IsdGhpcy5fdmVydE9mZnNldD1lLnZlcnRPZmZzZXR8fDAsZS50ZXh0JiYodGhpcy5fdGV4dD1lLnRleHQsdGhpcy5fZm9udFNpemU9ZS5mb250U2l6ZSx0aGlzLl9saW5lU3BhY2luZz1lLmxpbmVTcGFjaW5nLHRoaXMuX3RleHRDb2xvcj1lLnRleHRDb2xvcix0aGlzLl90ZXh0QWxpZ249ZS50ZXh0QWxpZ258fCJjZW50ZXIiKSx2b2lkIDAhPT1lLml0ZW1zJiZ2b2lkIDAhPT1lLmJhclNwYWNpbmcpe2NvbnN0IHQ9ZS52aXNpYmxlSXRlbXNSYW5nZT8uc3RhcnRJdGVtSW5kZXg/PzAsbj1lLnZpc2libGVJdGVtc1JhbmdlPy5lbmRJdGVtSW5kZXg/P2UuaXRlbXMubGVuZ3RoO3RoaXMuc2V0SXRlbXMobj50P2UuaXRlbXMuc2xpY2UodCxuKTpbXSxlLmJhclNwYWNpbmcpfX1zZXRJdGVtcyhlLHQpe3RoaXMuX3NldEJhc2VEYXRhKGUsdCl9X2RyYXdJbXBsKGUpe3RoaXMuX3ByZURyYXdJbml0KCksdGhpcy5fZHJhd09wZXJhdGlvbihlKX1fY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9ZS52ZXJ0T2Zmc2V0LG49dGhpcy5fZ2V0VGV4dENhY2hlKGUpO2lmKCFuKXJldHVybjtjb25zdCBpPW4udGV4dEltYWdlV2lkdGgsbz1uLnRleHRJbWFnZUhlaWdodCxzPWkvMixhPWUueSt0K2UudGV4dFZlcnRPZmZzZXQsaD10PjA/MDotbyxsPXQ+MD9vOjAsYz1uZXcgci5Qb2ludChlLmNlbnRlci1zLGEraCksZD1uZXcgci5Qb2ludChlLmNlbnRlcitzLGErbCk7cmV0dXJuKDAsci5ib3gpKGMsZCl9X3VuaW9uQm94KGUsdCl7Y29uc3Qgbj1NYXRoLm1pbihlLm1pbi54LHQubWluLngpLGk9TWF0aC5tYXgoZS5tYXgueCx0Lm1heC54KSxvPU1hdGgubWluKGUubWluLnksdC5taW4ueSkscz1NYXRoLm1heChlLm1heC55LHQubWF4LnkpLGE9bmV3IHIuUG9pbnQobixvKSxoPW5ldyByLlBvaW50KGkscyk7cmV0dXJuKDAsci5ib3gpKGEsaCl9X2dldFRvb2x0aXAoZSx0KXtpZihlLnRvb2x0aXApcmV0dXJue2NvbnRlbnQ6e3R5cGU6InRleHQiLGRhdGE6ZS50b29sdGlwfSx0b29sdGlwRGVsYXk6MjAwLGV4dGVuZE1hcmdpbjohMCxyZWN0Ont4OnQubWluLngseTp0Lm1pbi55LHc6TWF0aC5hYnModC5tYXgueC10Lm1pbi54KSxoOk1hdGguYWJzKHQubWF4LnktdC5taW4ueSl9fX1fc2V0QmFzZURhdGEoZSx0KXt0aGlzLl9pdGVtcy5sZW5ndGg9MCx0aGlzLl9iYXJTcGFjaW5nPXQ7Zm9yKGNvbnN0IHQgb2YgZSl7aWYoKDAsYS5pc05hTikodC55KSljb250aW51ZTtjb25zdCBlPXZvaWQgMD09PXQud2lkdGg/KDAsby5lbnN1cmVEZWZpbmVkKSh0aGlzLl93aWR0aCk6dC53aWR0aCxuPXZvaWQgMD09PXQuaGVpZ2h0PygwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5faGVpZ2h0KTp0LmhlaWdodCxpPXZvaWQgMD09PXQudmVydE9mZnNldD90aGlzLl92ZXJ0T2Zmc2V0OnQudmVydE9mZnNldCxyPWk+MD9uOi1uO3RoaXMuX2l0ZW1zLnB1c2goe3dpZHRoOmUsaGVpZ2h0Om4sdmVydE9mZnNldDppLHRleHRWZXJ0T2Zmc2V0OnIsc2hhcGVXaWR0aDowLHNoYXBlSGVpZ2h0OjAsc3RlcFg6MCxzdGVwWTowLC4uLnR9KX19X2RyYXdJdGVtVGV4dChlLHQpe2NvbnN0IG49dGhpcy5fZ2V0VGV4dENhY2hlKHQpO2lmKG51bGw9PT1uKXJldHVybjtjb25zdCBpPXQuY2VudGVyLG89dC52ZXJ0T2Zmc2V0LHI9dC55K28rdC50ZXh0VmVydE9mZnNldDtsZXQgcztzPXQuc3R5bGUmJnZvaWQgMCE9PXQuc3R5bGUudGV4dENvbG9yP3Quc3R5bGUudGV4dENvbG9yOnRoaXMuX3RleHRDb2xvcjtjb25zdCBhPXtzdHlsZTp7ZmlsbFN0eWxlOnN9LGxvY2F0aW9uOnt4OmkseTpyLGhvcnpBbGlnbjpoLkhvcml6b250YWxBbGlnbi5DZW50ZXIsdmVydEFsaWduOm8+MD9oLlZlcnRpY2FsQWxpZ24uVG9wOmguVmVydGljYWxBbGlnbi5Cb3R0b219fTtuLnBhaW50VG8oZSxhKX1fZHJhd1dpdGhPcHRpbWl6YXRpb25zKGUpe2xldCB0LG4saT1udWxsLG89ITE7Zm9yKGNvbnN0IHIgb2YgdGhpcy5faXRlbXMpKDAsYS5pc05hTikoci55KXx8KHIuc3R5bGUmJnZvaWQgMCE9PXIuc3R5bGUuY29sb3I/KHQ9ci5zdHlsZS5jb2xvcnx8InJnYmEoMCwgMCwgMCwgMCkiLG49ci5zdHlsZS5ib3JkZXJDb2xvcnx8InJnYmEoMCwgMCwgMCwgMCkiKToodD10aGlzLl9jb2xvcixuPXRoaXMuX2JvcmRlckNvbG9yKSwoaSE9PXR8fHguaXNTYWZhcmkpJiYoaT10LG8mJnRoaXMuX2VuZFBhdGgoZSksdGhpcy5fc3RhcnRQYXRoKGUsdCxuKSksdGhpcy5fZHJhd0l0ZW1TaGFwZShlLHIpLG89ITApO28mJnRoaXMuX2VuZFBhdGgoZSk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5faXRlbXMpKDAsYS5pc05hTikodC55KXx8dGhpcy5fZHJhd0l0ZW1UZXh0KGUsdCl9X2RyYXdXaXRob3V0T3B0aW1pemF0aW9ucyhlKXtsZXQgdCxuO2Zvcihjb25zdCBpIG9mIHRoaXMuX2l0ZW1zKXtpZigoMCxhLmlzTmFOKShpLnkpKWNvbnRpbnVlO2NvbnN0IHI9KDAsby5lbnN1cmVEZWZpbmVkKShpLnN0eWxlKTt0PXIuY29sb3J8fCJyZ2JhKDAsIDAsIDAsIDApIixuPXIuYm9yZGVyQ29sb3J8fCJyZ2JhKDAsIDAsIDAsIDApIix0aGlzLl9zdGFydFBhdGgoZSx0LG4pLHRoaXMuX2RyYXdJdGVtU2hhcGUoZSxpKSx0aGlzLl9lbmRQYXRoKGUpLHRoaXMuX2RyYXdJdGVtVGV4dChlLGkpfX1fZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpvfT1lOygwLApnLmRyYXdTY2FsZWQpKG4saSxvLCgoKT0+dGhpcy5fZHJhd0l0ZW1TaGFwZVVzaW5nQ1NTUGl4ZWxzKG4sdCkpKX1fZHJhd0l0ZW1TaGFwZVVzaW5nQ1NTUGl4ZWxzKGUsdCl7fV9wcmVEcmF3SW5pdCgpe31fc3RhcnRQYXRoKGUsdCxuKXt9X2VuZFBhdGgoZSl7fV9nZXRUZXh0Q2FjaGUoZSl7Y29uc3QgdD1lLnRleHR8fHRoaXMuX3RleHQsbj1lLmZvbnRTaXplfHx0aGlzLl9mb250U2l6ZSxpPWUubGluZVNwYWNpbmc/P3RoaXMuX2xpbmVTcGFjaW5nLG89ZS50ZXh0QWxpZ258fHRoaXMuX3RleHRBbGlnbixyPWUuZm9udD8/ZC5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLHM9ZS5ib2xkPz8hMSxhPWUuaXRhbGljPz8hMTtyZXR1cm4gdGhpcy5fdGV4dENhY2hlLmdldCh7dGV4dDp0LGJvbGQ6cyxpdGFsaWM6YSxmb250OnIsZm9udFNpemU6bixsaW5lU3BhY2luZzppLGFsaWduOm99KX19Y2xhc3MgXyBleHRlbmRzIHV7X3N0YXJ0UGF0aChlLHQsbil7Y29uc3QgaT1lLmNvbnRleHQ7aS5iZWdpblBhdGgoKSxpLmxpbmVXaWR0aD10aGlzLl9saW5lV2lkdGgoZSksaS5saW5lQ2FwPSJidXR0IixpLnN0cm9rZVN0eWxlPXR9X2VuZFBhdGgoZSl7ZS5jb250ZXh0LnN0cm9rZSgpfV9saW5lV2lkdGgoZSl7cmV0dXJuIE1hdGgubWF4KDEsTWF0aC5mbG9vcigyKmUuaG9yaXpvbnRhbFBpeGVsUmF0aW8pKX19Y2xhc3MgdyBleHRlbmRzIHV7X3N0YXJ0UGF0aChlLHQsbil7Y29uc3QgaT1lLmNvbnRleHQ7aS5iZWdpblBhdGgoKSxpLmxpbmVXaWR0aD10aGlzLl9saW5lV2lkdGgoZSksaS5saW5lQ2FwPSJidXR0IixpLmZpbGxTdHlsZT10LGkuc3Ryb2tlU3R5bGU9bn1fZW5kUGF0aChlKXtjb25zdCB0PWUuY29udGV4dDt0LmZpbGwoKSx0LnN0cm9rZSgpfV9saW5lV2lkdGgoZSl7cmV0dXJuIE1hdGgubWF4KDEsTWF0aC5mbG9vcihlLmhvcml6b250YWxQaXhlbFJhdGlvKSl9fX0sNjUxOTY2KGUsdCxuKXtuLmQodCx7UGFuZVJlbmRlcmVyQXJyb3dEb3duOigpPT5oLFBhbmVSZW5kZXJlckFycm93VXA6KCk9PmF9KTt2YXIgaT1uKDczNjUzMSksbz1uKDg3NDEzNSkscj1uKDY0MDc0NCk7Y2xhc3MgcyBleHRlbmRzIG8uUGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3NpZ249MCx0aGlzLl90aGluQXJyb3c9ITEsdGhpcy5fdGhpbkFycm93TGluZVdpZHRoPTAsdGhpcy5faGVhZEhlaWdodD0wLHRoaXMuX2Fycm93V2lkdGg9MH1zZXRJdGVtcyhlLHQpe3RoaXMuX3NldEJhc2VEYXRhKGUsdCl9X2RyYXdJdGVtU2hhcGUoZSx0KXtjb25zdHtjb250ZXh0Om4saG9yaXpvbnRhbFBpeGVsUmF0aW86aSx2ZXJ0aWNhbFBpeGVsUmF0aW86b309ZSxzPXRoaXMuX2xpbmVXaWR0aChlKSUyPy41OjAsYT10aGlzLl9zaWduLGg9dGhpcy5fYXJyb3dXaWR0aCxsPXRoaXMuX2hlYWRIZWlnaHQsYz1NYXRoLmFicyh0LmhlaWdodCksZD1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK3MsZj10LnZlcnRPZmZzZXQsZz1NYXRoLnJvdW5kKCh0LnkrZithKmMvMikqbykrcyx4PSgwLHIuY2VpbGVkRXZlbikoaCppKSx1PXgvMixfPU1hdGgucm91bmQoYypvKSx3PU1hdGgucm91bmQobCpvKTtuLnRyYW5zbGF0ZShkLGcpLHRoaXMuX3RoaW5BcnJvdz8obi5tb3ZlVG8oMCwwKSxuLmxpbmVUbygtdSwtdSphKSxuLm1vdmVUbygwLDApLG4ubGluZVRvKHUsLXUqYSksbi5tb3ZlVG8oMCwwKSxuLmxpbmVUbygwLC1fKmEpLG4ubW92ZVRvKC11LC1fKmEpLG4ubGluZVRvKHUsLV8qYSkpOihuLm1vdmVUbygwLDApLF88dz8obi5saW5lVG8oeCwtXyphKSxuLmxpbmVUbygteCwtXyphKSk6KG4ubGluZVRvKHgsLXcqYSksbi5saW5lVG8odSwtdyphKSxuLmxpbmVUbyh1LC1fKmEpLG4ubGluZVRvKC11LC1fKmEpLG4ubGluZVRvKC11LC13KmEpLG4ubGluZVRvKC14LC13KmEpKSxuLmxpbmVUbygwLDApKSxuLnRyYW5zbGF0ZSgtZCwtZyl9X3ByZURyYXdJbml0KCl7Y29uc3QgZT10aGlzLl9jYWxjdWxhdGVXaWR0aCgpO3RoaXMuX2Fycm93V2lkdGg9ZSx0aGlzLl9zaWduPXRoaXMuX2lzVXAoKT8tMToxLHRoaXMuX3RoaW5BcnJvdz1lPDQsdGhpcy5fdGhpbkFycm93TGluZVdpZHRoPU1hdGgubWF4KGUvMiwxKSx0aGlzLl9oZWFkSGVpZ2h0PU1hdGgucm91bmQoZSl9X3N0YXJ0UGF0aChlLHQsbil7Y29uc3QgaT1lLmNvbnRleHQ7aS5iZWdpblBhdGgoKSxpLmZpbGxTdHlsZT10LGkuc3Ryb2tlU3R5bGU9bixpLmxpbmVXaWR0aD10aGlzLl9saW5lV2lkdGgoZSl9X2xpbmVXaWR0aChlKXtyZXR1cm4gdGhpcy5fdGhpbkFycm93P3RoaXMuX3RoaW5BcnJvd0xpbmVXaWR0aDpzdXBlci5fbGluZVdpZHRoKGUpfV9jYWxjQm91bmRpbmdCb3goZSl7Y29uc3QgdD1lLnZlcnRPZmZzZXQsbj10aGlzLl9zaWduLG89dGhpcy5fYXJyb3dXaWR0aCxyPXRoaXMuX2hlYWRIZWlnaHQscz1NYXRoLmFicyhlLmhlaWdodCksYT1lLmNlbnRlci1vLGg9YSsyKm8sbD1lLnkrdCtuKk1hdGgucm91bmQocy8yKSxjPWwrKC1zLXIpKm4sZD1uZXcgaS5Qb2ludChhLGwpLGY9bmV3IGkuUG9pbnQoaCxjKTtsZXQgZz0oMCxpLmJveCkoZCxmKTtjb25zdCB4PXN1cGVyLl9jYWxjQm91bmRpbmdCb3goZSk7cmV0dXJuIHgmJihnPXRoaXMuX3VuaW9uQm94KGcseCkpLGd9X2NhbGN1bGF0ZVdpZHRoKCl7cmV0dXJuIE1hdGgucm91bmQodGhpcy5fYmFyU3BhY2luZy80KX19Y2xhc3MgYSBleHRlbmRzIHN7X2lzVXAoKXtyZXR1cm4hMH19Y2xhc3MgaCBleHRlbmRzIHN7X2lzVXAoKXtyZXR1cm4hMX19fSwzMzA4NjEoZSx0LG4pe24uZCh0LHtQYW5lUmVuZGVyZXJDaXJjbGVTaGFwZTooKT0+c30pO3ZhciBpPW4oNzM2NTMxKSxvPW4oODc0MTM1KTtjb25zdCByPTIqTWF0aC5QSTtjbGFzcyBzIGV4dGVuZHMgby5QYW5lUmVuZGVyZXJBYnN0cmFjdEZpbGxTdHJva2VTaGFwZXtfZHJhd0l0ZW1TaGFwZVVzaW5nQ1NTUGl4ZWxzKGUsdCl7Y29uc3Qgbj1NYXRoLm1heCh0LndpZHRoLHQuaGVpZ2h0KS8yLGk9dC5jZW50ZXIsbz10LnZlcnRPZmZzZXQscz10LnkrbztlLm1vdmVUbyhpK24scyksCmUuYXJjKGkscyxuLDAsciwhMSl9X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PU1hdGgubWF4KGUud2lkdGgsZS5oZWlnaHQpLzIsbj1lLmNlbnRlcixvPWUudmVydE9mZnNldCxyPWUueStvLHM9bi10LGE9bit0LGg9ci10LGw9cit0LGM9bmV3IGkuUG9pbnQocyxoKSxkPW5ldyBpLlBvaW50KGEsbCk7bGV0IGY9KDAsaS5ib3gpKGMsZCk7Y29uc3QgZz1zdXBlci5fY2FsY0JvdW5kaW5nQm94KGUpO3JldHVybiBnJiYoZj10aGlzLl91bmlvbkJveChmLGcpKSxmfX19LDMwMjQ2OShlLHQsbil7bi5kKHQse1BhbmVSZW5kZXJlckNyb3NzU2hhcGU6KCk9PnJ9KTt2YXIgaT1uKDczNjUzMSksbz1uKDg3NDEzNSk7Y2xhc3MgciBleHRlbmRzIG8uUGFuZVJlbmRlcmVyQWJzdHJhY3RTdHJva2VTaGFwZXtfZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpvfT1lLHI9dC53aWR0aCxzPXQuaGVpZ2h0LGE9dC5jZW50ZXItci8yLGg9dC52ZXJ0T2Zmc2V0LGw9dC55LXMvMitoLGM9dGhpcy5fbGluZVdpZHRoKGUpLGQ9YyUyPy41OjAsZj1NYXRoLnJvdW5kKGEqaSk7bGV0IGc9TWF0aC5yb3VuZCgoYStyKSppKTsoZy1mKSUyIT1jJTImJihnKz0xKTtjb25zdCB4PU1hdGguZmxvb3IoKGYrZykvMikrZCx1PU1hdGgucm91bmQobCpvKTtsZXQgXz1NYXRoLnJvdW5kKChsK3MpKm8pOyhfLXUpJTIhPWMlMiYmKF8rPTEpO2NvbnN0IHc9TWF0aC5mbG9vcigodStfKS8yKStkO24ubW92ZVRvKHgsdSksbi5saW5lVG8oeCxfKSxuLm1vdmVUbyhmLHcpLG4ubGluZVRvKGcsdyl9X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUud2lkdGgsbj1lLmhlaWdodCxvPWUuY2VudGVyLXQvMixyPWUudmVydE9mZnNldCxzPWUueS1uLzIrcixhPW8saD1vK3QsbD1zLGM9cytuLGQ9bmV3IGkuUG9pbnQoYSxsKSxmPW5ldyBpLlBvaW50KGgsYyk7bGV0IGc9KDAsaS5ib3gpKGQsZik7Y29uc3QgeD1zdXBlci5fY2FsY0JvdW5kaW5nQm94KGUpO3JldHVybiB4JiYoZz10aGlzLl91bmlvbkJveChnLHgpKSxnfX19LDc0NzQ2NShlLHQsbil7bi5kKHQse1BhbmVSZW5kZXJlckRpYW1vbmQ6KCk9PnJ9KTt2YXIgaT1uKDczNjUzMSksbz1uKDg3NDEzNSk7Y2xhc3MgciBleHRlbmRzIG8uUGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGV7X2RyYXdJdGVtU2hhcGVVc2luZ0NTU1BpeGVscyhlLHQpe2NvbnN0IG49TWF0aC5yb3VuZCh0LmhlaWdodC8yKSxpPXQuY2VudGVyLG89dC52ZXJ0T2Zmc2V0LHI9dC55K287ZS5tb3ZlVG8oaSxyLW4pLGUubGluZVRvKGkrbixyKSxlLmxpbmVUbyhpLHIrbiksZS5saW5lVG8oaS1uLHIpLGUubGluZVRvKGksci1uKX1fY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9TWF0aC5yb3VuZChlLmhlaWdodC8yKSxuPWUuY2VudGVyLG89ZS52ZXJ0T2Zmc2V0LHI9ZS55K28scz1uLXQsYT1uK3QsaD1yLXQsbD1yK3QsYz1uZXcgaS5Qb2ludChzLGgpLGQ9bmV3IGkuUG9pbnQoYSxsKTtsZXQgZj0oMCxpLmJveCkoYyxkKTtjb25zdCBnPXN1cGVyLl9jYWxjQm91bmRpbmdCb3goZSk7cmV0dXJuIGcmJihmPXRoaXMuX3VuaW9uQm94KGYsZykpLGZ9fX0sNTQ0MjQzKGUsdCxuKXtuLmQodCx7UGFuZVJlbmRlcmVyRmxhZ1NoYXBlOigpPT5yfSk7dmFyIGk9big3MzY1MzEpLG89big4NzQxMzUpO2NsYXNzIHIgZXh0ZW5kcyBvLlBhbmVSZW5kZXJlckFic3RyYWN0RmlsbFN0cm9rZVNoYXBle19kcmF3SXRlbVNoYXBlVXNpbmdDU1NQaXhlbHMoZSx0KXtjb25zdCBuPXQud2lkdGgsaT10LmhlaWdodCxvPWkvMixyPShuLTMpLzMscz10LmNlbnRlci1uLzIsYT10LnZlcnRPZmZzZXQsaD10LnktbythO2UubW92ZVRvKHMsaCksZS5saW5lVG8ocyszLGgpLGUuYmV6aWVyQ3VydmVUbyhzK3IsaC1yLHMrMipyLGgrcixzK24saCksZS5saW5lVG8ocytuLGgrbyksZS5iZXppZXJDdXJ2ZVRvKHMrbi1yLGgrbytyLHMrbi0yKnIsaCtvLXIscyszLGgrbyksZS5saW5lVG8ocyszLGgraSksZS5saW5lVG8ocyxoK2kpLGUubGluZVRvKHMsaCl9X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUud2lkdGgsbj1lLmhlaWdodCxvPW4vMixyPWUuY2VudGVyLXQvMixzPWUudmVydE9mZnNldCxhPWUueS1vK3MsaD1yLGw9cit0LGM9YSxkPWErbixmPW5ldyBpLlBvaW50KGgsYyksZz1uZXcgaS5Qb2ludChsLGQpO2xldCB4PSgwLGkuYm94KShmLGcpO2NvbnN0IHU9c3VwZXIuX2NhbGNCb3VuZGluZ0JveChlKTtyZXR1cm4gdSYmKHg9dGhpcy5fdW5pb25Cb3goeCx1KSkseH19fSw4NDY1MjkoZSx0LG4pe24uZCh0LHtDb3JuZXJWZWN0b3JzQ2xvY2t3aXNlOigpPT5pLFBhbmVSZW5kZXJlckxhYmVsQmFzZTooKT0+YX0pO3ZhciBpLG89bigxMzg2MzgpLHI9big4ODQyOCkscz1uKDg3NDEzNSk7Y2xhc3MgYSBleHRlbmRzIHMuUGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGV7c2V0SXRlbXMoZSx0KXt0aGlzLl9zZXRCYXNlRGF0YShlLHQpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2l0ZW1zKXtpZihlLmZvbnRTaXplKXtjb25zdCB0PWUuZm9udFNpemU7ZS5zdGVwWD1NYXRoLnJvdW5kKHQvMS41KSxlLnN0ZXBZPU1hdGgucm91bmQodC8yKS0xfWVsc2V7Y29uc3QgdD1lLmhlaWdodDtlLnN0ZXBYPU1hdGgucm91bmQodC8yKi42NSkrLjUsZS5zdGVwWT1lLnN0ZXBYfWUudmVydE9mZnNldD10aGlzLl9jYWxjVmVydE9mZnNldChlKTtjb25zdCB0PXRoaXMuX2dldFRleHRDYWNoZShlKTtpZihudWxsPT09dCl7ZS5zaGFwZVdpZHRoPTIqZS5zdGVwWCxlLnNoYXBlSGVpZ2h0PTIuNSplLnN0ZXBZO2NvbnRpbnVlfWNvbnN0IG49dC50ZXh0SW1hZ2VXaWR0aCxpPXQudGV4dEltYWdlSGVpZ2h0O2Uuc2hhcGVXaWR0aD1uKzIqZS5zdGVwWCxlLnNoYXBlSGVpZ2h0PWkrMiplLnN0ZXBZLGUudmVydE9mZnNldD10aGlzLl9jYWxjVmVydE9mZnNldChlKSxlLnRleHRIb3Jpek9mZnNldD10aGlzLl9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKSxlLnRleHRWZXJ0T2Zmc2V0PXRoaXMuX2dldFZlcnRpY2FsVGV4dE9mZnNldChlKX19Cl9jYWxjVmVydE9mZnNldChlKXtyZXR1cm4gZS52ZXJ0T2Zmc2V0fV9kcmF3Q29ybmVyKGUsdCxuLGkpe2NvbnN0e2NvbnRleHQ6byxob3Jpem9udGFsUGl4ZWxSYXRpbzpyfT1lLHM9TWF0aC5tYXgoMSxNYXRoLmZsb29yKDIqcikpO28ubGluZVRvKHQtcyppLnByZXZQb2ludFNpZ25YLG4tcyppLnByZXZQb2ludFNpZ25ZKSxvLmFyY1RvKHQsbix0K3MqaS5uZXh0UG9pbnRTaWduWCxuK3MqaS5uZXh0UG9pbnRTaWduWSxzKX1fZ2V0QXJyb3dTaXplKGUpe3JldHVybiBlLnN0ZXBYfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4gMH1fZ2V0VmVydGljYWxUZXh0T2Zmc2V0KGUpe3JldHVybiAwfV9oYXNUZXh0KGUpe3JldHVybiBCb29sZWFuKGUudGV4dCl8fEJvb2xlYW4odGhpcy5fdGV4dCl9X2RyYXdJdGVtVGV4dChlLHQpe2NvbnN0IG49dGhpcy5fZ2V0VGV4dENhY2hlKHQpO2lmKG51bGw9PT1uKXJldHVybjtjb25zdCBpPXQudGV4dEhvcml6T2Zmc2V0fHwwLHM9dC5jZW50ZXIraSxhPXQudmVydE9mZnNldCxoPXQueSthK3QudGV4dFZlcnRPZmZzZXQsbD10LnN0eWxlPy50ZXh0Q29sb3J8fHRoaXMuX3RleHRDb2xvcixjPXtzdHlsZTp7ZmlsbFN0eWxlOigwLG8uZW5zdXJlRGVmaW5lZCkobCl9LGxvY2F0aW9uOnt4OnMseTpNYXRoLmZsb29yKGgpLGhvcnpBbGlnbjpyLkhvcml6b250YWxBbGlnbi5DZW50ZXIsdmVydEFsaWduOnIuVmVydGljYWxBbGlnbi5NaWRkbGV9fTtuLnBhaW50VG8oZSxjKX19Y2xhc3MgaHtjb25zdHJ1Y3RvcihlLHQsbixpKXt0aGlzLnByZXZQb2ludFNpZ25YPWUsdGhpcy5wcmV2UG9pbnRTaWduWT10LHRoaXMubmV4dFBvaW50U2lnblg9bix0aGlzLm5leHRQb2ludFNpZ25ZPWl9fSFmdW5jdGlvbihlKXtlLnJpZ2h0VXA9bmV3IGgoMSwwLDAsMSksZS5yaWdodERvd249bmV3IGgoMCwxLC0xLDApLGUubGVmdERvd249bmV3IGgoLTEsMCwwLC0xKSxlLmxlZnRVcD1uZXcgaCgwLC0xLDEsMCl9KGl8fChpPXt9KSl9LDE2ODQ4NyhlLHQsbil7bi5kKHQse1BhbmVSZW5kZXJlckxhYmVsQ2VudGVyOigpPT5sLFBhbmVSZW5kZXJlckxhYmVsRG93bjooKT0+cyxQYW5lUmVuZGVyZXJMYWJlbExlZnQ6KCk9PmEsUGFuZVJlbmRlcmVyTGFiZWxSaWdodDooKT0+aCxQYW5lUmVuZGVyZXJMYWJlbFVwOigpPT5yfSk7dmFyIGk9big3MzY1MzEpLG89big4NDY1MjkpO2NsYXNzIHIgZXh0ZW5kcyBvLlBhbmVSZW5kZXJlckxhYmVsQmFzZXtfY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9ZS5jZW50ZXItZS5zaGFwZVdpZHRoLzIsbj1lLmNlbnRlcitlLnNoYXBlV2lkdGgvMixvPWUueStlLnZlcnRPZmZzZXQscj1lLnkrZS5zaGFwZUhlaWdodCtlLnZlcnRPZmZzZXQscz1uZXcgaS5Qb2ludCh0LG8pLGE9bmV3IGkuUG9pbnQobixyKTtyZXR1cm4oMCxpLmJveCkocyxhKX1fZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpyfT1lLHM9dGhpcy5fbGluZVdpZHRoKGUpJTI/LjU6MCxhPU1hdGgubWF4KDEsTWF0aC5mbG9vcihpKSklMj8uNTowLGg9dGhpcy5fZ2V0QXJyb3dTaXplKHQpO2xldCBsPU1hdGgucm91bmQoaCppKTsoYStsKSUxIT1zJTEmJihsKz0uNSk7bGV0IGM9TWF0aC5yb3VuZCh0LnNoYXBlV2lkdGgvMippKTsoYStjKSUxIT1zJTEmJihjKz0uNSk7Y29uc3QgZD1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK2EsZj1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KSpyKStzLGc9ZC1sLHg9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCtoKSpyKStzLHU9ZCtsLF89ZCtjLHc9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCtoK3Quc2hhcGVIZWlnaHQpKnIpK3MscD1kLWM7bi5tb3ZlVG8oZyx4KSxuLmxpbmVUbyhkLGYpLG4ubGluZVRvKHUseCksdC5zaGFwZVdpZHRoPD0yKmg/KG4ubGluZVRvKF8seCksdGhpcy5fZHJhd0Nvcm5lcihlLF8sdyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHREb3duKSx0aGlzLl9kcmF3Q29ybmVyKGUscCx3LG8uQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5sZWZ0RG93biksbi5saW5lVG8ocCx4KSk6KHRoaXMuX2RyYXdDb3JuZXIoZSxfLHgsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0VXApLHRoaXMuX2RyYXdDb3JuZXIoZSxfLHcsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0RG93biksdGhpcy5fZHJhd0Nvcm5lcihlLHAsdyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdERvd24pLHRoaXMuX2RyYXdDb3JuZXIoZSxwLHgsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnRVcCkpLG4ubGluZVRvKGcseCl9X2dldFZlcnRpY2FsVGV4dE9mZnNldChlKXtyZXR1cm4gZS5zaGFwZUhlaWdodC8yK3RoaXMuX2dldEFycm93U2l6ZShlKX1fY2FsY1ZlcnRPZmZzZXQoZSl7cmV0dXJuIE1hdGguc2lnbihlLnZlcnRPZmZzZXQpPj0wP2UudmVydE9mZnNldDplLnZlcnRPZmZzZXQtZS5zaGFwZUhlaWdodH19Y2xhc3MgcyBleHRlbmRzIG8uUGFuZVJlbmRlcmVyTGFiZWxCYXNle19jYWxjQm91bmRpbmdCb3goZSl7Y29uc3QgdD1lLmNlbnRlci1lLnNoYXBlV2lkdGgvMixuPWUuY2VudGVyK2Uuc2hhcGVXaWR0aC8yLG89ZS55LWUuc2hhcGVIZWlnaHQrZS52ZXJ0T2Zmc2V0LHI9ZS55K2UudmVydE9mZnNldCxzPW5ldyBpLlBvaW50KHQsbyksYT1uZXcgaS5Qb2ludChuLHIpO3JldHVybigwLGkuYm94KShzLGEpfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3R7Y29udGV4dDpuLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnJ9PWUscz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGkpKSUyPy41OjAsaD10aGlzLl9nZXRBcnJvd1NpemUodCk7bGV0IGw9TWF0aC5yb3VuZChoKmkpOyhhK2wpJTEhPXMlMSYmKGwrPS41KTtsZXQgYz1NYXRoLnJvdW5kKHQuc2hhcGVXaWR0aC8yKmkpOyhhK2MpJTEhPXMlMSYmKGMrPS41KQo7Y29uc3QgZD1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK2EsZj1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KSpyKStzLGc9ZCtsLHg9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldC1oKSpyKStzLHU9ZC1sLF89ZCtjLHc9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldC10LnNoYXBlSGVpZ2h0LWgpKnIpK3MscD1kLWM7bi5tb3ZlVG8oZyx4KSxuLmxpbmVUbyhkLGYpLG4ubGluZVRvKHUseCksdC5zaGFwZVdpZHRoPD0yKmg/KG4ubGluZVRvKHAseCksdGhpcy5fZHJhd0Nvcm5lcihlLHAsdyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdFVwKSx0aGlzLl9kcmF3Q29ybmVyKGUsXyx3LG8uQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5yaWdodFVwKSxuLmxpbmVUbyhfLHgpKToodGhpcy5fZHJhd0Nvcm5lcihlLHAseCxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdERvd24pLHRoaXMuX2RyYXdDb3JuZXIoZSxwLHcsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnRVcCksdGhpcy5fZHJhd0Nvcm5lcihlLF8sdyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHRVcCksdGhpcy5fZHJhd0Nvcm5lcihlLF8seCxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHREb3duKSksbi5saW5lVG8oZyx4KX1fZ2V0VmVydGljYWxUZXh0T2Zmc2V0KGUpe3JldHVybi1lLnNoYXBlSGVpZ2h0LzItdGhpcy5fZ2V0QXJyb3dTaXplKGUpfV9jYWxjVmVydE9mZnNldChlKXtyZXR1cm4gTWF0aC5zaWduKGUudmVydE9mZnNldCk8PTA/ZS52ZXJ0T2Zmc2V0OmUudmVydE9mZnNldCtlLnNoYXBlSGVpZ2h0fX1jbGFzcyBhIGV4dGVuZHMgby5QYW5lUmVuZGVyZXJMYWJlbEJhc2V7X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUuY2VudGVyLG49ZS5jZW50ZXIrZS5zaGFwZVdpZHRoLG89ZS55LWUuc2hhcGVIZWlnaHQvMitlLnZlcnRPZmZzZXQscj1lLnkrZS5zaGFwZUhlaWdodC8yK2UudmVydE9mZnNldCxzPW5ldyBpLlBvaW50KHQsbyksYT1uZXcgaS5Qb2ludChuLHIpO3JldHVybigwLGkuYm94KShzLGEpfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3R7Y29udGV4dDpuLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnJ9PWUscz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9dGhpcy5fZ2V0QXJyb3dTaXplKHQpLGg9dGhpcy5faGFzVGV4dCh0KSxsPWg/dC5zaGFwZUhlaWdodC8yOmEsYz1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK3MsZD1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KSpyKStzLGY9TWF0aC5yb3VuZCgodC5jZW50ZXIrYSkqaSkrcyxnPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQrYSkqcikrcyx4PU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtYSkqcikrcyx1PU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtbCkqcikrcyxfPU1hdGgucm91bmQoKHQuY2VudGVyK3Quc2hhcGVXaWR0aCthKSppKStzLHc9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCtsKSpyKStzO24ubW92ZVRvKGYsZyksbi5saW5lVG8oYyxkKSxuLmxpbmVUbyhmLHgpLGg/dGhpcy5fZHJhd0Nvcm5lcihlLGYsdSxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdFVwKTpuLmxpbmVUbyhmLHUpLHRoaXMuX2RyYXdDb3JuZXIoZSxfLHUsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0VXApLHRoaXMuX2RyYXdDb3JuZXIoZSxfLHcsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0RG93biksaD90aGlzLl9kcmF3Q29ybmVyKGUsZix3LG8uQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5sZWZ0RG93bik6bi5saW5lVG8oZix3KSxuLmxpbmVUbyhmLGcpfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4gZS5zaGFwZVdpZHRoLzIrdGhpcy5fZ2V0QXJyb3dTaXplKGUpfX1jbGFzcyBoIGV4dGVuZHMgby5QYW5lUmVuZGVyZXJMYWJlbEJhc2V7X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUuY2VudGVyLWUuc2hhcGVXaWR0aCxuPWUuY2VudGVyLG89ZS55LWUuc2hhcGVIZWlnaHQvMitlLnZlcnRPZmZzZXQscj1lLnkrZS5zaGFwZUhlaWdodC8yK2UudmVydE9mZnNldCxzPW5ldyBpLlBvaW50KHQsbyksYT1uZXcgaS5Qb2ludChuLHIpO3JldHVybigwLGkuYm94KShzLGEpfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3R7Y29udGV4dDpuLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnJ9PWUscz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9dGhpcy5fZ2V0QXJyb3dTaXplKHQpLGg9dGhpcy5faGFzVGV4dCh0KSxsPWg/dC5zaGFwZUhlaWdodC8yOmEsYz1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK3MsZD1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KSpyKStzLGY9TWF0aC5yb3VuZCgodC5jZW50ZXItYSkqaSkrcyxnPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtYSkqcikrcyx4PU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQrYSkqcikrcyx1PU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtbCkqcikrcyxfPU1hdGgucm91bmQoKHQuY2VudGVyLXQuc2hhcGVXaWR0aC1hKSppKStzLHc9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCtsKSpyKStzO24ubW92ZVRvKGYsZyksbi5saW5lVG8oYyxkKSxuLmxpbmVUbyhmLHgpLGg/dGhpcy5fZHJhd0Nvcm5lcihlLGYsdyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHREb3duKTpuLmxpbmVUbyhmLHcpLHRoaXMuX2RyYXdDb3JuZXIoZSxfLHcsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnREb3duKSx0aGlzLl9kcmF3Q29ybmVyKGUsXyx1LG8uQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5sZWZ0VXApLGg/dGhpcy5fZHJhd0Nvcm5lcihlLGYsdSxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHRVcCk6bi5saW5lVG8oZix1KSxuLmxpbmVUbyhmLGcpfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4tZS5zaGFwZVdpZHRoLzItdGhpcy5fZ2V0QXJyb3dTaXplKGUpfX1jbGFzcyBsIGV4dGVuZHMgby5QYW5lUmVuZGVyZXJMYWJlbEJhc2V7X2NhbGNCb3VuZGluZ0JveChlKXsKY29uc3QgdD1lLmNlbnRlci1lLnNoYXBlV2lkdGgvMixuPWUuY2VudGVyK2Uuc2hhcGVXaWR0aC8yLG89ZS55LWUuc2hhcGVIZWlnaHQvMitlLnZlcnRPZmZzZXQscj1lLnkrZS5zaGFwZUhlaWdodC8yK2UudmVydE9mZnNldCxzPW5ldyBpLlBvaW50KHQsbyksYT1uZXcgaS5Qb2ludChuLHIpO3JldHVybigwLGkuYm94KShzLGEpfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3R7Y29udGV4dDpuLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnJ9PWUscz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9dC5zaGFwZUhlaWdodC8yLGg9dC5zaGFwZVdpZHRoLzIsbD1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK3MsYz1NYXRoLnJvdW5kKCh0LmNlbnRlci1oKSppKStzLGQ9TWF0aC5yb3VuZCgodC5jZW50ZXIraCkqaSkrcyxmPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtYSkqcikrcyxnPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQrYSkqcikrcztuLm1vdmVUbyhsLGYpLHRoaXMuX2RyYXdDb3JuZXIoZSxkLGYsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0VXApLHRoaXMuX2RyYXdDb3JuZXIoZSxkLGcsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0RG93biksdGhpcy5fZHJhd0Nvcm5lcihlLGMsZyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdERvd24pLHRoaXMuX2RyYXdDb3JuZXIoZSxjLGYsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnRVcCksbi5saW5lVG8obCxmKX19fSw0MDc1ODQoZSx0LG4pe24uZCh0LHtQYW5lUmVuZGVyZXJTcXVhcmU6KCk9PnJ9KTt2YXIgaT1uKDczNjUzMSksbz1uKDg3NDEzNSk7Y2xhc3MgciBleHRlbmRzIG8uUGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGV7X2RyYXdJdGVtU2hhcGUoZSx0KXtjb25zdHtjb250ZXh0Om4saG9yaXpvbnRhbFBpeGVsUmF0aW86aSx2ZXJ0aWNhbFBpeGVsUmF0aW86b309ZSxyPU1hdGgubWF4KDEsTWF0aC5mbG9vcihpKSklMj8uNTowLHM9dGhpcy5fbGluZVdpZHRoKGUpJTI/LjU6MDtsZXQgYT1NYXRoLnJvdW5kKHQuaGVpZ2h0LzIqbyk7KHIrYSklMSE9cyUxJiYoYSs9LjUpO2NvbnN0IGg9TWF0aC5yb3VuZCh0LmNlbnRlcippKStyLGw9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCkqbykrcixjPWgtYSxkPWwtYSxmPWgrYSxnPWwrYTtuLnJlY3QoYyxkLGYtYyxnLWQpfV9jYWxjQm91bmRpbmdCb3goZSl7Y29uc3QgdD1lLmhlaWdodCxuPU1hdGgucm91bmQodC8yKSxvPWUuY2VudGVyLW4scj1lLnZlcnRPZmZzZXQscz1lLnkrci1uLGE9byxoPW8rdCxsPXMsYz1zK3QsZD1uZXcgaS5Qb2ludChhLGwpLGY9bmV3IGkuUG9pbnQoaCxjKTtsZXQgZz0oMCxpLmJveCkoZCxmKTtjb25zdCB4PXN1cGVyLl9jYWxjQm91bmRpbmdCb3goZSk7cmV0dXJuIHgmJihnPXRoaXMuX3VuaW9uQm94KGcseCkpLGd9fX0sMTE4NzUyKGUsdCxuKXtuLmQodCx7UGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4RG93bjooKT0+YSxQYW5lUmVuZGVyZXJUcmlhbmdsZUFwZXhVcDooKT0+c30pO3ZhciBpPW4oNzM2NTMxKSxvPW4oODc0MTM1KTtjbGFzcyByIGV4dGVuZHMgby5QYW5lUmVuZGVyZXJBYnN0cmFjdEZpbGxTdHJva2VTaGFwZXtfY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9ZS53aWR0aCxuPWUuaGVpZ2h0LG89dC8yLHI9TWF0aC5yb3VuZChuLzMpLHM9ZS5jZW50ZXIsYT1lLnZlcnRPZmZzZXQtMipyLGg9ZS55K2EsbD1zLW8sYz1zK28sZD1oLGY9aCtuLGc9bmV3IGkuUG9pbnQobCxkKSx4PW5ldyBpLlBvaW50KGMsZik7bGV0IHU9KDAsaS5ib3gpKGcseCk7Y29uc3QgXz1zdXBlci5fY2FsY0JvdW5kaW5nQm94KGUpO3JldHVybiBfJiYodT10aGlzLl91bmlvbkJveCh1LF8pKSx1fX1jbGFzcyBzIGV4dGVuZHMgcntfZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpvfT1lLHI9dC53aWR0aCxzPXQuaGVpZ2h0LGE9TWF0aC5yb3VuZChzLzMpLGg9dC52ZXJ0T2Zmc2V0LTIqYSxsPXRoaXMuX2xpbmVXaWR0aChlKSUyPy41OjAsYz1NYXRoLm1heCgxLE1hdGguZmxvb3IoaSkpLGQ9YyUyPy41OjA7bGV0IGY9TWF0aC5yb3VuZChyKmkpO2YlMiE9YyUyJiYoZis9MSk7Y29uc3QgZz1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK2QseD1NYXRoLnJvdW5kKCh0LnkraCkqbyksdT1nK2YvMixfPU1hdGgucm91bmQoKHQueStoK3MpKm8pK2wsdz1nLWYvMjtuLm1vdmVUbyhnLHgpLG4ubGluZVRvKHUsXyksbi5saW5lVG8odyxfKSxuLmxpbmVUbyhnLHgpfX1jbGFzcyBhIGV4dGVuZHMgcntfZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpvfT1lLHI9dC53aWR0aCxzPXQuaGVpZ2h0LGE9TWF0aC5yb3VuZChzLzMpLGg9dC52ZXJ0T2Zmc2V0LWEsbD10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGM9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGkpKSxkPWMlMj8uNTowO2xldCBmPU1hdGgucm91bmQocippKTtmJTIhPWMlMiYmKGYrPTEpO2NvbnN0IGc9TWF0aC5yb3VuZCh0LmNlbnRlcippKStkLHg9TWF0aC5yb3VuZCgodC55K2gpKm8pK2wsdT1nK2YvMixfPU1hdGgucm91bmQoKHQueStoK3MpKm8pLHc9Zy1mLzI7bi5tb3ZlVG8odyx4KSxuLmxpbmVUbyh1LHgpLG4ubGluZVRvKGcsXyksbi5saW5lVG8odyx4KX19fSwzNjMzMjYoZSx0LG4pe24uZCh0LHtQYW5lUmVuZGVyZXJYQ3Jvc3M6KCk9PnJ9KTt2YXIgaT1uKDczNjUzMSksbz1uKDg3NDEzNSk7Y2xhc3MgciBleHRlbmRzIG8uUGFuZVJlbmRlcmVyQWJzdHJhY3RTdHJva2VTaGFwZXtfZHJhd0l0ZW1TaGFwZVVzaW5nQ1NTUGl4ZWxzKGUsdCl7Y29uc3Qgbj10LndpZHRoLGk9dC5oZWlnaHQsbz10LmNlbnRlci1uLzIscj10LnZlcnRPZmZzZXQscz10LnktaS8yK3I7ZS5tb3ZlVG8obyxzKSxlLmxpbmVUbyhvK24scytpKSxlLm1vdmVUbyhvLHMraSksZS5saW5lVG8obytuLHMpfV9jYWxjQm91bmRpbmdCb3goZSl7CmNvbnN0IHQ9ZS53aWR0aCxuPWUuaGVpZ2h0LG89ZS5jZW50ZXItdC8yLHI9ZS52ZXJ0T2Zmc2V0LHM9ZS55LW4vMityLGE9byxoPW8rdCxsPXMsYz1zK24sZD1uZXcgaS5Qb2ludChhLGwpLGY9bmV3IGkuUG9pbnQoaCxjKTtsZXQgZz0oMCxpLmJveCkoZCxmKTtjb25zdCB4PXN1cGVyLl9jYWxjQm91bmRpbmdCb3goZSk7cmV0dXJuIHgmJihnPXRoaXMuX3VuaW9uQm94KGcseCkpLGd9fX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/89044.122886591db3fa6fdc03.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.711Z","timestamp":1785141584711,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/89044.122886591db3fa6fdc03.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-20da\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 43ebc2ff6ebdaebcb77dbea47210ff9a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":8410,"size_decoded":1653,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (8410), with no line terminators","md5":"d899c42dfb29ba1d8f8fc0f1e2b5cc00","sha1":"6ce7cc3eb3c8a94d03f0c12ff43b89ab13091bed","sha256":"5a3314d5c89727aff3426af5332b4c993aa516924153a2e614a7c9f48388e29c","sha512":"30c065a6fb6b82f89ea006b3367e4933eab1a6dbc5d5e2718058a7b0687755d5138f9e34c64646365a7b5d7503ec191016cd0ca012194d8ddfe911ab16a5ba75","ssdeep":"192:WMfEuIn0/i43AoFOMfEuIn0/i43AoFUaaQloN:WMQnA3AMQnA3maaQloN","tlshash":"f502e79de75851768ada97ae337d966c43166543ff008aa97f31c00210c6ff2ed8ba0d","first_seen":"2026-07-22T16:00:00.399176Z","last_seen":"2026-07-27T14:50:15.368601Z","times_seen":107,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtWER2Ujp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjUwKTstLV8xLVhEdlI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1fMi1YRHZSOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tXzMtWER2Ujp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLV80LVhEdlI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1fNS1YRHZSOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tXzYtWER2Ujp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV83LVhEdlI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLV84LVhEdlI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLV85LVhEdlI6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzEwLVhEdlI6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMTEtWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV8xMi1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8xMy1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV8xNC1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8xNS1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8xNi1YRHZSOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzE3LVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMTgtWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMTktWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCk7LS1fMjAtWER2Ujp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8yMS1YRHZSOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fMjItWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzIzLVhEdlI6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzI0LVhEdlI6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMjUtWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV8yNi1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8yNy1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV8yOC1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8yOS1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8zMC1YRHZSOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzMxLVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMzItWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMzMtWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCk7LS1fMzQtWER2Ujp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8zNS1YRHZSOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fMzYtWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzM3LVhEdlI6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzM4LVhEdlI6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMzktWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV80MC1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV80MS1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV80Mi1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV80My1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV80NC1YRHZSOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzQ1LVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fNDYtWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fNDctWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1YRHZSOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tXzEtWER2Ujp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjUwKTstLV8yLVhEdlI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1fMy1YRHZSOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tXzQtWER2Ujp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLV81LVhEdlI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1fNi1YRHZSOnZhcigtLWNvbG9yLXJpcGUtcmVkLWEyMDApOy0tXzctWER2Ujp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tXzgtWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzktWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1fMTAtWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV8xMS1YRHZSOnZhcigtLWNvbG9yLWlndWFuYS1ncmVlbi02MDApOy0tXzEyLVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tXzEzLVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy05MDApOy0tXzE0LVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDApOy0tXzE1LVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tXzE2LVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTQwMCk7LS1fMTctWER2Ujp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNzAwKTstLV8xOC1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLV8xOS1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNDAwKTstLV8yMC1YRHZSOnZhcigtLWNvbG9yLXJpcGUtcmVkLWEyMDApOy0tXzIxLVhEdlI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLV8yMi1YRHZSOnZhcigtLWNvbG9yLXR2LWJsdWUtYTQwMCk7LS1fMjMtWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1fMjQtWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV8yNS1YRHZSOnZhcigtLWNvbG9yLWlndWFuYS1ncmVlbi02MDApOy0tXzI2LVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tXzI3LVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy05MDApOy0tXzI4LVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDApOy0tXzI5LVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tXzMwLVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTQwMCk7LS1fMzEtWER2Ujp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNzAwKTstLV8zMi1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLV8zMy1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNDAwKTstLV8zNC1YRHZSOnZhcigtLWNvbG9yLXJpcGUtcmVkLWEyMDApOy0tXzM1LVhEdlI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLV8zNi1YRHZSOnZhcigtLWNvbG9yLXR2LWJsdWUtYTQwMCk7LS1fMzctWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1fMzgtWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV8zOS1YRHZSOnZhcigtLWNvbG9yLWlndWFuYS1ncmVlbi02MDApOy0tXzQwLVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tXzQxLVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy05MDApOy0tXzQyLVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDApOy0tXzQzLVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tXzQ0LVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTQwMCk7LS1fNDUtWER2Ujp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNzAwKTstLV80Ni1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLV80Ny1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNDAwKX0ud3JhcC1ZWnc4UlhlaXtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZX0udWlNYXJrZXItWVp3OFJYZWl7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLV8wLVhEdlIpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxNXB4fS51aU1hcmtlci1ZWnc4UlhlaSBzdmd7aGVpZ2h0OjEzcHg7d2lkdGg6MTJweH0udWlNYXJrZXItWVp3OFJYZWkgc3ZnOmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0udWlNYXJrZXItWVp3OFJYZWkucmVkLVladzhSWGVpe2NvbG9yOnZhcigtLV8zNC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVpTWFya2VyLVladzhSWGVpLnJlZC1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fMzUtWER2Uil9fS51aU1hcmtlci1ZWnc4UlhlaS5ibHVlLVladzhSWGVpe2NvbG9yOnZhcigtLV8zNi1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVpTWFya2VyLVladzhSWGVpLmJsdWUtWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzM3LVhEdlIpfX0udWlNYXJrZXItWVp3OFJYZWkuZ3JlZW4tWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzM4LVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudWlNYXJrZXItWVp3OFJYZWkuZ3JlZW4tWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzM5LVhEdlIpfX0udWlNYXJrZXItWVp3OFJYZWkub3JhbmdlLVladzhSWGVpe2NvbG9yOnZhcigtLV80MC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVpTWFya2VyLVladzhSWGVpLm9yYW5nZS1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNDEtWER2Uil9fS51aU1hcmtlci1ZWnc4UlhlaS5wdXJwbGUtWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzQyLVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudWlNYXJrZXItWVp3OFJYZWkucHVycGxlLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV80My1YRHZSKX19LnVpTWFya2VyLVladzhSWGVpLmN5YW4tWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzQ0LVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudWlNYXJrZXItWVp3OFJYZWkuY3lhbi1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNDUtWER2Uil9fS51aU1hcmtlci1ZWnc4UlhlaS5waW5rLVladzhSWGVpe2NvbG9yOnZhcigtLV80Ni1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVpTWFya2VyLVladzhSWGVpLnBpbmstWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzQ3LVhEdlIpfS51aU1hcmtlci1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fMy1YRHZSKX19LnVpTWFya2VyX19zbWFsbC1ZWnc4UlhlaXt3aWR0aDoxMnB4fS51aU1hcmtlcl9fc21hbGwtWVp3OFJYZWkgc3Zne2hlaWdodDoxMnB4fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IC51aU1hcmtlci1ZWnc4UlhlaXtjb2xvcjp2YXIoLS1fMS1YRHZSKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkucmVkLVladzhSWGVpe2NvbG9yOnZhcigtLV8zNC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtbGlnaHQgLnVpTWFya2VyLVladzhSWGVpLnJlZC1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fMzUtWER2Uil9fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IC51aU1hcmtlci1ZWnc4UlhlaS5ibHVlLVladzhSWGVpe2NvbG9yOnZhcigtLV8zNi1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtbGlnaHQgLnVpTWFya2VyLVladzhSWGVpLmJsdWUtWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzM3LVhEdlIpfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkuZ3JlZW4tWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzM4LVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkuZ3JlZW4tWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzM5LVhEdlIpfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkub3JhbmdlLVladzhSWGVpe2NvbG9yOnZhcigtLV80MC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtbGlnaHQgLnVpTWFya2VyLVladzhSWGVpLm9yYW5nZS1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNDEtWER2Uil9fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IC51aU1hcmtlci1ZWnc4UlhlaS5wdXJwbGUtWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzQyLVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkucHVycGxlLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV80My1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtbGlnaHQgLnVpTWFya2VyLVladzhSWGVpLmN5YW4tWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzQ0LVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkuY3lhbi1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNDUtWER2Uil9fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IC51aU1hcmtlci1ZWnc4UlhlaS5waW5rLVladzhSWGVpe2NvbG9yOnZhcigtLV80Ni1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtbGlnaHQgLnVpTWFya2VyLVladzhSWGVpLnBpbmstWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzQ3LVhEdlIpfS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IC51aU1hcmtlci1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNC1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzItWER2Uil9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkucmVkLVladzhSWGVpe2NvbG9yOnZhcigtLV8zNC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkucmVkLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV8zNS1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkuYmx1ZS1ZWnc4UlhlaXtjb2xvcjp2YXIoLS1fMzYtWER2Uil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnVpTWFya2VyLVladzhSWGVpLmJsdWUtWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzM3LVhEdlIpfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC51aU1hcmtlci1ZWnc4UlhlaS5ncmVlbi1ZWnc4UlhlaXtjb2xvcjp2YXIoLS1fMzgtWER2Uil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnVpTWFya2VyLVladzhSWGVpLmdyZWVuLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV8zOS1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkub3JhbmdlLVladzhSWGVpe2NvbG9yOnZhcigtLV80MC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkub3JhbmdlLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV80MS1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkucHVycGxlLVladzhSWGVpe2NvbG9yOnZhcigtLV80Mi1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkucHVycGxlLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV80My1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkuY3lhbi1ZWnc4UlhlaXtjb2xvcjp2YXIoLS1fNDQtWER2Uil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnVpTWFya2VyLVladzhSWGVpLmN5YW4tWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzQ1LVhEdlIpfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC51aU1hcmtlci1ZWnc4UlhlaS5waW5rLVladzhSWGVpe2NvbG9yOnZhcigtLV80Ni1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkucGluay1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNDctWER2Uil9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzUtWER2Uil9fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32176.7c57c98933b8cfd3f8e7.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.134Z","timestamp":1785141585134,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32176.7c57c98933b8cfd3f8e7.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 47\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-2f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 042b5d40fc01073391c68034ad4c2fc4\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":47,"size_decoded":831,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"285050ec431662602ebff1a7403d840d","sha1":"e46274ce870b7b93f851b2764c3f0d6dca88cbfe","sha256":"e7051ebd49847be7a2594441481b75d8893d862ca965a4b10ef38bd60fcaf512","sha512":"2d5d3c21c502edac88ccc711982ef21cd411a476d72776ad784c143b582646a57b9eb034d9f364c322df558128497a522f08998f24c3835b07483eb7cd29b19d","ssdeep":"","tlshash":"b8900284aa2099524912905e13c8d05debc45dc016810fb2a514415454d15d31082110","first_seen":"2026-07-19T21:33:33.874532Z","last_seen":"2026-07-27T12:48:39.806589Z","times_seen":56,"resource_available":false,"data":"LmhpZ2hsaWdodGVkLVVzVHFua0wwe2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX0="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/shared-kb1yqHaA.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.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://oxlofttrd.com/","date":"2026-07-27T08:39:47.513Z","timestamp":1785141587513,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/shared-kb1yqHaA.js HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://oxlofttrd.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 08:39:47 GMT\r\ncontent-type: application/javascript\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a670743-42705\"\r\nexpires: Tue, 27 Jul 2027 07:27:08 GMT\r\nlast-modified: Mon, 27 Jul 2026 07:22:43 GMT\r\nx-77-nzt: k42BV0vd6s46WdtzSI16mOYVcCLumAyVmwziYlztNNT9Ha5pl5oR9MsXZtpd1zCkYb9ZKXA\r\nx-77-nzt-ray: e2f75420e61480335319676a02e3c21e\r\nage: 19\r\nx-77-cache: HIT\r\nx-77-age: 4325\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":272133,"size_decoded":92600,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (44710)","md5":"4a99d6fd0e84ed566d578d0ed5dea128","sha1":"c729468068793db7ca783d243b2ec065b6e2f202","sha256":"99501ff83cea2d37fb29f4ff7e0bfc1a93655e56db91bce74171fe29f0821884","sha512":"fcab2b13f37fe49c7a500be1285445ec1dfb120ed4f6d909925ea5616ee9f62d999fe83c1f8210dcc1742528ee3469e5671b34191317836ab4ed3b020ade8608","ssdeep":"6144:mLjnOEIL18ad2jJKaQF+tRkYcuBa+y+mFJW:iOEIZRd29Uqj4r+mF4","tlshash":"b3443ad53294b03543db51e6906f1106b33e5c58580d812cf269ede638baec8a2f7fb8","first_seen":"2026-07-27T07:28:16.16312Z","last_seen":"2026-07-27T15:05:49.47744Z","times_seen":902,"resource_available":true,"data":"dmFyIGU9T2JqZWN0LmNyZWF0ZSx0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iscj1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyxpPU9iamVjdC5nZXRQcm90b3R5cGVPZixhPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksbz0oZSx0KT0+KCk9PihlJiYodD1lKGU9MCkpLHQpLHM9KGUsdCk9PigpPT4odHx8KGUoKHQ9e2V4cG9ydHM6e319KS5leHBvcnRzLHQpLGU9bnVsbCksdC5leHBvcnRzKSxjPShlLG4pPT57bGV0IHI9e307Zm9yKHZhciBpIGluIGUpdChyLGkse2dldDplW2ldLGVudW1lcmFibGU6ITB9KTtyZXR1cm4gbnx8dChyLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6YE1vZHVsZWB9KSxyfSxsPShlLGksbyxzKT0+e2lmKGkmJnR5cGVvZiBpPT1gb2JqZWN0YHx8dHlwZW9mIGk9PWBmdW5jdGlvbmApZm9yKHZhciBjPXIoaSksbD0wLHU9Yy5sZW5ndGgsZDtsPHU7bCsrKWQ9Y1tsXSwhYS5jYWxsKGUsZCkmJmQhPT1vJiZ0KGUsZCx7Z2V0OihlPT5pW2VdKS5iaW5kKG51bGwsZCksZW51bWVyYWJsZTohKHM9bihpLGQpKXx8cy5lbnVtZXJhYmxlfSk7cmV0dXJuIGV9LHU9KG4scixhKT0+KGE9bj09bnVsbD97fTplKGkobikpLGwocnx8IW58fCFuLl9fZXNNb2R1bGU/dChhLGBkZWZhdWx0YCx7dmFsdWU6bixlbnVtZXJhYmxlOiEwfSk6YSxuKSksZD1lPT5hLmNhbGwoZSxgbW9kdWxlLmV4cG9ydHNgKT9lW2Btb2R1bGUuZXhwb3J0c2BdOmwodCh7fSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZSksZj1BcnJheS5pc0FycmF5LHA9QXJyYXkucHJvdG90eXBlLmluZGV4T2YsbT1BcnJheS5wcm90b3R5cGUuaW5jbHVkZXMsaD1BcnJheS5mcm9tLGc9T2JqZWN0LmRlZmluZVByb3BlcnR5LF89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcix2PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzLHk9T2JqZWN0LnByb3RvdHlwZSxlZT1BcnJheS5wcm90b3R5cGUsYj1PYmplY3QuZ2V0UHJvdG90eXBlT2YsdGU9T2JqZWN0LmlzRXh0ZW5zaWJsZTtmdW5jdGlvbiBuZShlKXtyZXR1cm4gdHlwZW9mIGU9PWBmdW5jdGlvbmB9dmFyIHg9KCk9Pnt9O2Z1bmN0aW9uIHJlKGUpe3JldHVybiBlKCl9ZnVuY3Rpb24gaWUoZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0KyspZVt0XSgpfWZ1bmN0aW9uIGFlKCl7dmFyIGUsdDtyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZSgobixyKT0+e2U9bix0PXJ9KSxyZXNvbHZlOmUscmVqZWN0OnR9fXZhciBvZT0xPDwyNCxzZT0xMDI0LGNlPTIwNDgsbGU9NDA5Nix1ZT04MTkyLGRlPTE2Mzg0LGZlPTMyNzY4LHBlPTE8PDI1LG1lPTY1NTM2LGhlPTE8PDE5LGdlPTE8PDIwLF9lPTE8PDI1LHZlPTY1NTM2LHllPTE8PDIxLGJlPTE8PDIyLHhlPTE8PDIzLFNlPVN5bWJvbChgJHN0YXRlYCksQ2U9U3ltYm9sKGBsZWdhY3kgcHJvcHNgKSx3ZT1TeW1ib2woYGApLFRlPW5ldyBjbGFzcyBleHRlbmRzIEVycm9ye25hbWU9YFN0YWxlUmVhY3Rpb25FcnJvcmA7bWVzc2FnZT0iVGhlIHJlYWN0aW9uIHRoYXQgY2FsbGVkIGBnZXRBYm9ydFNpZ25hbCgpYCB3YXMgcmUtcnVuIG9yIGRlc3Ryb3llZCJ9LEVlPSEhZ2xvYmFsVGhpcy5kb2N1bWVudD8uY29udGVudFR5cGUmJmdsb2JhbFRoaXMuZG9jdW1lbnQuY29udGVudFR5cGUuaW5jbHVkZXMoYHhtbGApO2Z1bmN0aW9uIERlKGUpe3Rocm93IEVycm9yKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9saWZlY3ljbGVfb3V0c2lkZV9jb21wb25lbnRgKX1mdW5jdGlvbiBPZSgpe3Rocm93IEVycm9yKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9hc3luY19kZXJpdmVkX29ycGhhbmApfWZ1bmN0aW9uIGtlKGUsdCxuKXt0aHJvdyBFcnJvcihgaHR0cHM6Ly9zdmVsdGUuZGV2L2UvZWFjaF9rZXlfZHVwbGljYXRlYCl9ZnVuY3Rpb24gQWUoZSl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL2VmZmVjdF9pbl90ZWFyZG93bmApfWZ1bmN0aW9uIGplKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL2VmZmVjdF9pbl91bm93bmVkX2Rlcml2ZWRgKX1mdW5jdGlvbiBNZShlKXt0aHJvdyBFcnJvcihgaHR0cHM6Ly9zdmVsdGUuZGV2L2UvZWZmZWN0X29ycGhhbmApfWZ1bmN0aW9uIE5lKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL2VmZmVjdF91cGRhdGVfZGVwdGhfZXhjZWVkZWRgKX1mdW5jdGlvbiBQZShlKXt0aHJvdyBFcnJvcihgaHR0cHM6Ly9zdmVsdGUuZGV2L2UvcHJvcHNfaW52YWxpZF92YWx1ZWApfWZ1bmN0aW9uIEZlKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3NldF9jb250ZXh0X2FmdGVyX2luaXRgKX1mdW5jdGlvbiBJZSgpe3Rocm93IEVycm9yKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9zdGF0ZV9kZXNjcmlwdG9yc19maXhlZGApfWZ1bmN0aW9uIExlKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3N0YXRlX3Byb3RvdHlwZV9maXhlZGApfWZ1bmN0aW9uIFJlKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3N0YXRlX3Vuc2FmZV9tdXRhdGlvbmApfWZ1bmN0aW9uIHplKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3N2ZWx0ZV9ib3VuZGFyeV9yZXNldF9vbmVycm9yYCl9dmFyIEJlPXt9LFM9U3ltYm9sKCksVmU9YGh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWxgLEhlPWBodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z2AsVWU9YGh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUxgO2Z1bmN0aW9uIFdlKCl7Y29uc29sZS53YXJuKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9kZXJpdmVkX2luZXJ0YCl9ZnVuY3Rpb24gR2UoZSl7Y29uc29sZS53YXJuKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9oeWRyYXRpb25fbWlzbWF0Y2hgKX1mdW5jdGlvbiBLZSgpe2NvbnNvbGUud2FybihgaHR0cHM6Ly9zdmVsdGUuZGV2L2Uvc2VsZWN0X211bHRpcGxlX2ludmFsaWRfdmFsdWVgKX1mdW5jdGlvbiBxZSgpe2NvbnNvbGUud2FybihgaHR0cHM6Ly9zdmVsdGUuZGV2L2Uvc3ZlbHRlX2JvdW5kYXJ5X3Jlc2V0X25vb3BgKX12YXIgQz0hMTtmdW5jdGlvbiBKZShlKXtDPWV9dmFyIHc7ZnVuY3Rpb24gVChlKXtpZihlPT09bnVsbCl0aHJvdyBHZSgpLEJlO3JldHVybiB3PWV9ZnVuY3Rpb24gWWUoKXtyZXR1cm4gVChCbih3KSl9ZnVuY3Rpb24gWGUoZSl7aWYoQyl7aWYoQm4odykhPT1udWxsKXRocm93IEdlKCksQmU7dz1lfX1mdW5jdGlvbiBaZShlPTEpe2lmKEMpe2Zvcih2YXIgdD1lLG49dzt0LS07KW49Qm4obik7dz1ufX1mdW5jdGlvbiBRZShlPSEwKXtmb3IodmFyIHQ9MCxuPXc7Oyl7aWYobi5ub2RlVHlwZT09PTgpe3ZhciByPW4uZGF0YTtpZihyPT09YF1gKXtpZih0PT09MClyZXR1cm4gbjstLXR9ZWxzZSAocj09PWBbYHx8cj09PWBbIWB8fHJbMF09PT1gW2AmJiFpc05hTihOdW1iZXIoci5zbGljZSgxKSkpKSYmKHQrPTEpfXZhciBpPUJuKG4pO2UmJm4ucmVtb3ZlKCksbj1pfX1mdW5jdGlvbiAkZShlKXtpZighZXx8ZS5ub2RlVHlwZSE9PTgpdGhyb3cgR2UoKSxCZTtyZXR1cm4gZS5kYXRhfWZ1bmN0aW9uIGV0KGUpe3JldHVybiBlPT09dGhpcy52fWZ1bmN0aW9uIHR0KGUsdCl7cmV0dXJuIGU9PWU/ZSE9PXR8fHR5cGVvZiBlPT1gb2JqZWN0YCYmISFlfHx0eXBlb2YgZT09YGZ1bmN0aW9uYDp0PT10fWZ1bmN0aW9uIG50KGUpe3JldHVybiF0dChlLHRoaXMudil9dmFyIHJ0PSExLGl0PSExO2Z1bmN0aW9uIGF0KCl7aXQ9ITB9dmFyIEU9bnVsbDtmdW5jdGlvbiBvdChlKXtFPWV9ZnVuY3Rpb24gc3QoZSl7cmV0dXJuIGZ0KGBnZXRDb250ZXh0YCkuZ2V0KGUpfWZ1bmN0aW9uIGN0KGUsdCl7bGV0IG49ZnQoYHNldENvbnRleHRgKTtpZihydCl7dmFyIHI9SS5mOyFGJiZyJjMyJiYhRS5pfHxGZSgpfXJldHVybiBuLnNldChlLHQpLHR9ZnVuY3Rpb24gbHQoZSx0PSExLG4pe0U9e3A6RSxpOiExLGM6bnVsbCxlOm51bGwsczplLHg6bnVsbCxyOkksbDppdCYmIXQ/e3M6bnVsbCx1Om51bGwsJDpbXX06bnVsbH19ZnVuY3Rpb24gdXQoZSl7dmFyIHQ9RSxuPXQuZTtpZihuIT09bnVsbCl7dC5lPW51bGw7Zm9yKHZhciByIG9mIG4pc3Iocil9cmV0dXJuIGUhPT12b2lkIDAmJih0Lng9ZSksdC5pPSEwLEU9dC5wLGU/P3t9fWZ1bmN0aW9uIGR0KCl7cmV0dXJuIWl0fHxFIT09bnVsbCYmRS5sPT09bnVsbH1mdW5jdGlvbiBmdChlKXtyZXR1cm4gRT09PW51bGwmJkRlKGUpLEUuYz8/PW5ldyBNYXAocHQoRSl8fHZvaWQgMCl9ZnVuY3Rpb24gcHQoZSl7bGV0IHQ9ZS5wO2Zvcig7dCE9PW51bGw7KXtsZXQgZT10LmM7aWYoZSE9PW51bGwpcmV0dXJuIGU7dD10LnB9cmV0dXJuIG51bGx9dmFyIG10PVtdO2Z1bmN0aW9uIGh0KCl7dmFyIGU9bXQ7bXQ9W10saWUoZSl9ZnVuY3Rpb24gZ3QoZSl7aWYobXQubGVuZ3RoPT09MCYmIXp0KXt2YXIgdD1tdDtxdWV1ZU1pY3JvdGFzaygoKT0+e3Q9PT1tdCYmaHQoKX0pfW10LnB1c2goZSl9ZnVuY3Rpb24gX3QoKXtmb3IoO210Lmxlbmd0aD4wOylodCgpfWZ1bmN0aW9uIHZ0KGUpe3ZhciB0PUk7aWYodD09PW51bGwpcmV0dXJuIEYuZnw9eGUsZTtpZighKHQuZiYzMjc2OCkmJiEodC5mJjQpKXRocm93IGU7eXQoZSx0KX1mdW5jdGlvbiB5dChlLHQpe2Zvcig7dCE9PW51bGw7KXtpZih0LmYmMTI4KXtpZighKHQuZiYzMjc2OCkpdGhyb3cgZTt0cnl7dC5iLmVycm9yKGUpO3JldHVybn1jYXRjaCh0KXtlPXR9fXQ9dC5wYXJlbnR9dGhyb3cgZX12YXIgYnQ9fihjZXxsZXxzZSk7ZnVuY3Rpb24gRChlLHQpe2UuZj1lLmYmYnR8dH1mdW5jdGlvbiB4dChlKXtlLmYmNTEyfHxlLmRlcHM9PT1udWxsP0QoZSxzZSk6RChlLGxlKX1mdW5jdGlvbiBTdChlKXtpZihlIT09bnVsbClmb3IobGV0IHQgb2YgZSkhKHQuZiYyKXx8ISh0LmYmNjU1MzYpfHwodC5mXj12ZSxTdCh0LmRlcHMpKX1mdW5jdGlvbiBDdChlLHQsbil7ZS5mJjIwNDg/dC5hZGQoZSk6ZS5mJjQwOTYmJm4uYWRkKGUpLFN0KGUuZGVwcyksRChlLHNlKX1mdW5jdGlvbiB3dChlLHQsbil7aWYoZT09bnVsbClyZXR1cm4gdCh2b2lkIDApLG4mJm4odm9pZCAwKSx4O2xldCByPSRyKCgpPT5lLnN1YnNjcmliZSh0LG4pKTtyZXR1cm4gci51bnN1YnNjcmliZT8oKT0+ci51bnN1YnNjcmliZSgpOnJ9dmFyIFR0PVtdO2Z1bmN0aW9uIEV0KGUsdCl7cmV0dXJue3N1YnNjcmliZTpPKGUsdCkuc3Vic2NyaWJlfX1mdW5jdGlvbiBPKGUsdD14KXtsZXQgbj1udWxsLHI9bmV3IFNldDtmdW5jdGlvbiBpKHQpe2lmKHR0KGUsdCkmJihlPXQsbikpe2xldCB0PSFUdC5sZW5ndGg7Zm9yKGxldCB0IG9mIHIpdFsxXSgpLFR0LnB1c2godCxlKTtpZih0KXtmb3IobGV0IGU9MDtlPFR0Lmxlbmd0aDtlKz0yKVR0W2VdWzBdKFR0W2UrMV0pO1R0Lmxlbmd0aD0wfX19ZnVuY3Rpb24gYSh0KXtpKHQoZSkpfWZ1bmN0aW9uIG8obyxzPXgpe2xldCBjPVtvLHNdO3JldHVybiByLmFkZChjKSxyLnNpemU9PT0xJiYobj10KGksYSl8fHgpLG8oZSksKCk9PntyLmRlbGV0ZShjKSxyLnNpemU9PT0wJiZuJiYobigpLG49bnVsbCl9fXJldHVybntzZXQ6aSx1cGRhdGU6YSxzdWJzY3JpYmU6b319ZnVuY3Rpb24gayhlLHQsbil7bGV0IHI9IUFycmF5LmlzQXJyYXkoZSksaT1yP1tlXTplO2lmKCFpLmV2ZXJ5KEJvb2xlYW4pKXRocm93IEVycm9yKGBkZXJpdmVkKCkgZXhwZWN0cyBzdG9yZXMgYXMgaW5wdXQsIGdvdCBhIGZhbHN5IHZhbHVlYCk7bGV0IGE9dC5sZW5ndGg8MjtyZXR1cm4gRXQobiwoZSxuKT0+e2xldCBvPSExLHM9W10sYz0wLGw9eCx1PSgpPT57aWYoYylyZXR1cm47bCgpO2xldCBpPXQocj9zWzBdOnMsZSxuKTthP2UoaSk6bD10eXBlb2YgaT09YGZ1bmN0aW9uYD9pOnh9LGQ9aS5tYXAoKGUsdCk9Pnd0KGUsZT0+e3NbdF09ZSxjJj1+KDE8PHQpLG8mJnUoKX0sKCk9PntjfD0xPDx0fSkpO3JldHVybiBvPSEwLHUoKSxmdW5jdGlvbigpe2llKGQpLGwoKSxvPSExfX0pfWZ1bmN0aW9uIEEoZSl7bGV0IHQ7cmV0dXJuIHd0KGUsZT0+dD1lKSgpLHR9dmFyIER0PSExLE90PSExLGt0PVN5bWJvbCgpO2Z1bmN0aW9uIEF0KGUsdCxuKXtsZXQgcj1uW3RdPz89e3N0b3JlOm51bGwsc291cmNlOnduKHZvaWQgMCksdW5zdWJzY3JpYmU6eH07aWYoci5zdG9yZSE9PWUmJiEoa3QgaW4gbikpaWYoci51bnN1YnNjcmliZSgpLHIuc3RvcmU9ZT8/bnVsbCxlPT1udWxsKXIuc291cmNlLnY9dm9pZCAwLHIudW5zdWJzY3JpYmU9eDtlbHNle3ZhciBpPSEwO3IudW5zdWJzY3JpYmU9d3QoZSxlPT57aT9yLnNvdXJjZS52PWU6VG4oci5zb3VyY2UsZSl9KSxpPSExfXJldHVybiBlJiZrdCBpbiBuP0EoZSk6UihyLnNvdXJjZSl9ZnVuY3Rpb24ganQoZSx0KXtyZXR1cm4gTnQoZSx0KSx0fWZ1bmN0aW9uIE10KCl7bGV0IGU9e307ZnVuY3Rpb24gdCgpe2FyKCgpPT57Zm9yKHZhciB0IGluIGUpZVt0XS51bnN1YnNjcmliZSgpO2coZSxrdCx7ZW51bWVyYWJsZTohMSx2YWx1ZTohMH0pfSl9cmV0dXJuW2UsdF19ZnVuY3Rpb24gTnQoZSx0KXtEdD0hMDt0cnl7ZS5zZXQodCl9ZmluYWxseXtEdD0hMX19ZnVuY3Rpb24gUHQoZSx0LG4pe3JldHVybiBOdChlLG4pLHR9ZnVuY3Rpb24gRnQoZSl7dmFyIHQ9T3Q7dHJ5e3JldHVybiBPdD0hMSxbZSgpLE90XX1maW5hbGx5e090PXR9fXZhciBJdD1uZXcgU2V0LGo9bnVsbCxMdD1udWxsLE09bnVsbCxSdD1udWxsLHp0PSExLEJ0PSExLFZ0PW51bGwsSHQ9bnVsbCxVdD0wLFd0PTEsR3Q9Y2xhc3MgZXtpZD1XdCsrO2N1cnJlbnQ9bmV3IE1hcDtwcmV2aW91cz1uZXcgTWFwOyNlPW5ldyBTZXQ7I3Q9bmV3IFNldDsjbj1uZXcgU2V0OyNyPW5ldyBNYXA7I2k9bmV3IE1hcDsjYT1udWxsOyNvPVtdOyNzPVtdOyNjPW5ldyBTZXQ7I2w9bmV3IFNldDsjdT1uZXcgTWFwOyNkPW5ldyBTZXQ7aXNfZm9yaz0hMTsjZj0hMTsjcD1uZXcgU2V0OyNtKCl7cmV0dXJuIHRoaXMuaXNfZm9ya3x8dGhpcy4jaS5zaXplPjB9I2goKXtmb3IobGV0IG4gb2YgdGhpcy4jcClmb3IobGV0IHIgb2Ygbi4jaS5rZXlzKCkpe2Zvcih2YXIgZT0hMSx0PXI7dC5wYXJlbnQhPT1udWxsOyl7aWYodGhpcy4jdS5oYXModCkpe2U9ITA7YnJlYWt9dD10LnBhcmVudH1pZighZSlyZXR1cm4hMH1yZXR1cm4hMX1za2lwX2VmZmVjdChlKXt0aGlzLiN1LmhhcyhlKXx8dGhpcy4jdS5zZXQoZSx7ZDpbXSxtOltdfSksdGhpcy4jZC5kZWxldGUoZSl9dW5za2lwX2VmZmVjdChlLHQ9ZT0+dGhpcy5zY2hlZHVsZShlKSl7dmFyIG49dGhpcy4jdS5nZXQoZSk7aWYobil7dGhpcy4jdS5kZWxldGUoZSk7Zm9yKHZhciByIG9mIG4uZClEKHIsY2UpLHQocik7Zm9yKHIgb2Ygbi5tKUQocixsZSksdChyKX10aGlzLiNkLmFkZChlKX0jZygpe2lmKFV0Kys+MWUzJiYoSXQuZGVsZXRlKHRoaXMpLHF0KCkpLCF0aGlzLiNtKCkpe2ZvcihsZXQgZSBvZiB0aGlzLiNjKXRoaXMuI2wuZGVsZXRlKGUpLEQoZSxjZSksdGhpcy5zY2hlZHVsZShlKTtmb3IobGV0IGUgb2YgdGhpcy4jbClEKGUsbGUpLHRoaXMuc2NoZWR1bGUoZSl9bGV0IHQ9dGhpcy4jbzt0aGlzLiNvPVtdLHRoaXMuYXBwbHkoKTt2YXIgbj1WdD1bXSxyPVtdLGk9SHQ9W107Zm9yKGxldCBlIG9mIHQpdHJ5e3RoaXMuI18oZSxuLHIpfWNhdGNoKHQpe3Rocm93IGVuKGUpLHR9aWYoaj1udWxsLGkubGVuZ3RoPjApe3ZhciBhPWUuZW5zdXJlKCk7Zm9yKGxldCBlIG9mIGkpYS5zY2hlZHVsZShlKX1pZihWdD1udWxsLEh0PW51bGwsdGhpcy4jbSgpfHx0aGlzLiNoKCkpe3RoaXMuI3YociksdGhpcy4jdihuKTtmb3IobGV0W2UsdF1vZiB0aGlzLiN1KSR0KGUsdCl9ZWxzZXt0aGlzLiNyLnNpemU9PT0wJiZJdC5kZWxldGUodGhpcyksdGhpcy4jYy5jbGVhcigpLHRoaXMuI2wuY2xlYXIoKTtmb3IobGV0IGUgb2YgdGhpcy4jZSllKHRoaXMpO3RoaXMuI2UuY2xlYXIoKSxMdD10aGlzLFl0KHIpLFl0KG4pLEx0PW51bGwsdGhpcy4jYT8ucmVzb2x2ZSgpfXZhciBvPWo7aWYodGhpcy4jby5sZW5ndGg+MCl7bGV0IGU9bz8/PXRoaXM7ZS4jby5wdXNoKC4uLnRoaXMuI28uZmlsdGVyKHQ9PiFlLiNvLmluY2x1ZGVzKHQpKSl9byE9PW51bGwmJihJdC5hZGQobyksby4jZygpKSxydCYmIUl0Lmhhcyh0aGlzKSYmdGhpcy4jeSgpfSNfKGUsdCxuKXtlLmZePXNlO2Zvcih2YXIgcj1lLmZpcnN0O3IhPT1udWxsOyl7dmFyIGk9ci5mLGE9KGkmOTYpIT0wO2lmKCEoYSYmaSYxMDI0fHxpJjgxOTJ8fHRoaXMuI3UuaGFzKHIpKSYmci5mbiE9PW51bGwpe2E/ci5mXj1zZTppJjQ/dC5wdXNoKHIpOnJ0JiZpJjE2Nzc3MjI0P24ucHVzaChyKTpXcihyKSYmKGkmMTYmJnRoaXMuI2wuYWRkKHIpLFlyKHIpKTt2YXIgbz1yLmZpcnN0O2lmKG8hPT1udWxsKXtyPW87Y29udGludWV9fWZvcig7ciE9PW51bGw7KXt2YXIgcz1yLm5leHQ7aWYocyE9PW51bGwpe3I9czticmVha31yPXIucGFyZW50fX19I3YoZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kz0xKUN0KGVbdF0sdGhpcy4jYyx0aGlzLiNsKX1jYXB0dXJlKGUsdCxuPSExKXtlLnYhPT1TJiYhdGhpcy5wcmV2aW91cy5oYXMoZSkmJnRoaXMucHJldmlvdXMuc2V0KGUsZS52KSxlLmYmODM4ODYwOHx8KHRoaXMuY3VycmVudC5zZXQoZSxbdCxuXSksTT8uc2V0KGUsdCkpLHRoaXMuaXNfZm9ya3x8KGUudj10KX1hY3RpdmF0ZSgpe2o9dGhpc31kZWFjdGl2YXRlKCl7aj1udWxsLE09bnVsbH1mbHVzaCgpe3RyeXtCdD0hMCxqPXRoaXMsdGhpcy4jZygpfWZpbmFsbHl7VXQ9MCxSdD1udWxsLFZ0PW51bGwsSHQ9bnVsbCxCdD0hMSxqPW51bGwsTT1udWxsLGJuLmNsZWFyKCl9fWRpc2NhcmQoKXtmb3IobGV0IGUgb2YgdGhpcy4jdCllKHRoaXMpO3RoaXMuI3QuY2xlYXIoKSx0aGlzLiNuLmNsZWFyKCksSXQuZGVsZXRlKHRoaXMpfXJlZ2lzdGVyX2NyZWF0ZWRfZWZmZWN0KGUpe3RoaXMuI3MucHVzaChlKX0jeSgpe2ZvcihsZXQgbCBvZiBJdCl7dmFyIGU9bC5pZDx0aGlzLmlkLHQ9W107Zm9yKGxldFtyLFtpLGFdXW9mIHRoaXMuY3VycmVudCl7aWYobC5jdXJyZW50LmhhcyhyKSl7dmFyIG49bC5jdXJyZW50LmdldChyKVswXTtpZihlJiZpIT09bilsLmN1cnJlbnQuc2V0KHIsW2ksYV0pO2Vsc2UgY29udGludWV9dC5wdXNoKHIpfXZhciByPVsuLi5sLmN1cnJlbnQua2V5cygpXS5maWx0ZXIoZT0+IXRoaXMuY3VycmVudC5oYXMoZSkpO2lmKHIubGVuZ3RoPT09MCllJiZsLmRpc2NhcmQoKTtlbHNlIGlmKHQubGVuZ3RoPjApe2lmKGUpZm9yKGxldCBlIG9mIHRoaXMuI2QpbC51bnNraXBfZWZmZWN0KGUsZT0+e2UuZiY0MTk0MzIwP2wuc2NoZWR1bGUoZSk6bC4jdihbZV0pfSk7bC5hY3RpdmF0ZSgpO3ZhciBpPW5ldyBTZXQsYT1uZXcgTWFwO2Zvcih2YXIgbyBvZiB0KVh0KG8scixpLGEpO2E9bmV3IE1hcDt2YXIgcz1bLi4ubC5jdXJyZW50LmtleXMoKV0uZmlsdGVyKGU9PnRoaXMuY3VycmVudC5oYXMoZSk/dGhpcy5jdXJyZW50LmdldChlKVswXSE9PWU6ITApO2ZvcihsZXQgZSBvZiB0aGlzLiNzKSEoZS5mJjE1NTY0OCkmJlp0KGUscyxhKSYmKGUuZiY0MTk0MzIwPyhEKGUsY2UpLGwuc2NoZWR1bGUoZSkpOmwuI2MuYWRkKGUpKTtpZihsLiNvLmxlbmd0aD4wKXtsLmFwcGx5KCk7Zm9yKHZhciBjIG9mIGwuI28pbC4jXyhjLFtdLFtdKTtsLiNvPVtdfWwuZGVhY3RpdmF0ZSgpfX1mb3IobGV0IGUgb2YgSXQpZS4jcC5oYXModGhpcykmJihlLiNwLmRlbGV0ZSh0aGlzKSxlLiNwLnNpemU9PT0wJiYhZS4jbSgpJiYoZS5hY3RpdmF0ZSgpLGUuI2coKSkpfWluY3JlbWVudChlLHQpe2xldCBuPXRoaXMuI3IuZ2V0KHQpPz8wO2lmKHRoaXMuI3Iuc2V0KHQsbisxKSxlKXtsZXQgZT10aGlzLiNpLmdldCh0KT8/MDt0aGlzLiNpLnNldCh0LGUrMSl9fWRlY3JlbWVudChlLHQsbil7bGV0IHI9dGhpcy4jci5nZXQodCk/PzA7aWYocj09PTE/dGhpcy4jci5kZWxldGUodCk6dGhpcy4jci5zZXQodCxyLTEpLGUpe2xldCBlPXRoaXMuI2kuZ2V0KHQpPz8wO2U9PT0xP3RoaXMuI2kuZGVsZXRlKHQpOnRoaXMuI2kuc2V0KHQsZS0xKX10aGlzLiNmfHxufHwodGhpcy4jZj0hMCxndCgoKT0+e3RoaXMuI2Y9ITEsdGhpcy5mbHVzaCgpfSkpfXRyYW5zZmVyX2VmZmVjdHMoZSx0KXtmb3IobGV0IHQgb2YgZSl0aGlzLiNjLmFkZCh0KTtmb3IobGV0IGUgb2YgdCl0aGlzLiNsLmFkZChlKTtlLmNsZWFyKCksdC5jbGVhcigpfW9uY29tbWl0KGUpe3RoaXMuI2UuYWRkKGUpfW9uZGlzY2FyZChlKXt0aGlzLiN0LmFkZChlKX1vbl9mb3JrX2NvbW1pdChlKXt0aGlzLiNuLmFkZChlKX1ydW5fZm9ya19jb21taXRfY2FsbGJhY2tzKCl7Zm9yKGxldCBlIG9mIHRoaXMuI24pZSh0aGlzKTt0aGlzLiNuLmNsZWFyKCl9c2V0dGxlZCgpe3JldHVybih0aGlzLiNhPz89YWUoKSkucHJvbWlzZX1zdGF0aWMgZW5zdXJlKCl7aWYoaj09PW51bGwpe2xldCB0PWo9bmV3IGU7QnR8fChJdC5hZGQoaiksenR8fGd0KCgpPT57aj09PXQmJnQuZmx1c2goKX0pKX1yZXR1cm4gan1hcHBseSgpe2lmKCFydHx8IXRoaXMuaXNfZm9yayYmSXQuc2l6ZT09PTEpe009bnVsbDtyZXR1cm59TT1uZXcgTWFwO2ZvcihsZXRbZSxbdF1db2YgdGhpcy5jdXJyZW50KU0uc2V0KGUsdCk7Zm9yKGxldCBuIG9mIEl0KWlmKCEobj09PXRoaXN8fG4uaXNfZm9yaykpe3ZhciBlPSExLHQ9ITE7aWYobi5pZDx0aGlzLmlkKWZvcihsZXRbcixbLGldXW9mIG4uY3VycmVudClpfHwoZXx8PXRoaXMuY3VycmVudC5oYXMociksdHx8PSF0aGlzLmN1cnJlbnQuaGFzKHIpKTtpZihlJiZ0KXRoaXMuI3AuYWRkKG4pO2Vsc2UgZm9yKGxldFtlLHRdb2Ygbi5wcmV2aW91cylNLmhhcyhlKXx8TS5zZXQoZSx0KX19c2NoZWR1bGUoZSl7aWYoUnQ9ZSxlLmI/LmlzX3BlbmRpbmcmJmUuZiYxNjc3NzIyOCYmIShlLmYmMzI3NjgpKXtlLmIuZGVmZXJfZWZmZWN0KGUpO3JldHVybn1mb3IodmFyIHQ9ZTt0LnBhcmVudCE9PW51bGw7KXt0PXQucGFyZW50O3ZhciBuPXQuZjtpZihWdCE9PW51bGwmJnQ9PT1JJiYocnR8fChGPT09bnVsbHx8IShGLmYmMikpJiYhRHQpKXJldHVybjtpZihuJjk2KXtpZighKG4mMTAyNCkpcmV0dXJuO3QuZl49c2V9fXRoaXMuI28ucHVzaCh0KX19O2Z1bmN0aW9uIEt0KGUpe3ZhciB0PXp0O3p0PSEwO3RyeXt2YXIgbjtmb3IoZSYmKGohPT1udWxsJiYhai5pc19mb3JrJiZqLmZsdXNoKCksbj1lKCkpOzspe2lmKF90KCksaj09PW51bGwpcmV0dXJuIG47ai5mbHVzaCgpfX1maW5hbGx5e3p0PXR9fWZ1bmN0aW9uIHF0KCl7dHJ5e05lKCl9Y2F0Y2goZSl7eXQoZSxSdCl9fXZhciBKdD1udWxsO2Z1bmN0aW9uIFl0KGUpe3ZhciB0PWUubGVuZ3RoO2lmKHQhPT0wKXtmb3IodmFyIG49MDtuPHQ7KXt2YXIgcj1lW24rK107aWYoIShyLmYmMjQ1NzYpJiZXcihyKSYmKEp0PW5ldyBTZXQsWXIociksci5kZXBzPT09bnVsbCYmci5maXJzdD09PW51bGwmJnIubm9kZXM9PT1udWxsJiZyLnRlYXJkb3duPT09bnVsbCYmci5hYz09PW51bGwmJnhyKHIpLEp0Py5zaXplPjApKXtibi5jbGVhcigpO2ZvcihsZXQgZSBvZiBKdCl7aWYoZS5mJjI0NTc2KWNvbnRpbnVlO2xldCB0PVtlXSxuPWUucGFyZW50O2Zvcig7biE9PW51bGw7KUp0LmhhcyhuKSYmKEp0LmRlbGV0ZShuKSx0LnB1c2gobikpLG49bi5wYXJlbnQ7Zm9yKGxldCBlPXQubGVuZ3RoLTE7ZT49MDtlLS0pe2xldCBuPXRbZV07bi5mJjI0NTc2fHxZcihuKX19SnQuY2xlYXIoKX19SnQ9bnVsbH19ZnVuY3Rpb24gWHQoZSx0LG4scil7aWYoIW4uaGFzKGUpJiYobi5hZGQoZSksZS5yZWFjdGlvbnMhPT1udWxsKSlmb3IobGV0IGkgb2YgZS5yZWFjdGlvbnMpe2xldCBlPWkuZjtlJjI/WHQoaSx0LG4scik6ZSY0MTk0MzIwJiYhKGUmMjA0OCkmJlp0KGksdCxyKSYmKEQoaSxjZSksUXQoaSkpfX1mdW5jdGlvbiBadChlLHQsbil7bGV0IHI9bi5nZXQoZSk7aWYociE9PXZvaWQgMClyZXR1cm4gcjtpZihlLmRlcHMhPT1udWxsKWZvcihsZXQgciBvZiBlLmRlcHMpe2lmKG0uY2FsbCh0LHIpKXJldHVybiEwO2lmKHIuZiYyJiZadChyLHQsbikpcmV0dXJuIG4uc2V0KHIsITApLCEwfXJldHVybiBuLnNldChlLCExKSwhMX1mdW5jdGlvbiBRdChlKXtqLnNjaGVkdWxlKGUpfWZ1bmN0aW9uICR0KGUsdCl7aWYoIShlLmYmMzImJmUuZiYxMDI0KSl7ZS5mJjIwNDg/dC5kLnB1c2goZSk6ZS5mJjQwOTYmJnQubS5wdXNoKGUpLEQoZSxzZSk7Zm9yKHZhciBuPWUuZmlyc3Q7biE9PW51bGw7KSR0KG4sdCksbj1uLm5leHR9fWZ1bmN0aW9uIGVuKGUpe0QoZSxzZSk7Zm9yKHZhciB0PWUuZmlyc3Q7dCE9PW51bGw7KWVuKHQpLHQ9dC5uZXh0fWZ1bmN0aW9uIHRuKGUpe2xldCB0PTAsbj1TbigwKSxyO3JldHVybigpPT57aXIoKSYmKFIobiksZnIoKCk9Pih0PT09MCYmKHI9JHIoKCk9PmUoKCk9PmtuKG4pKSkpLHQrPTEsKCk9PntndCgoKT0+ey0tdCx0PT09MCYmKHI/LigpLHI9dm9pZCAwLGtuKG4pKX0pfSkpKX19dmFyIG5uPW1lfGhlO2Z1bmN0aW9uIHJuKGUsdCxuLHIpe25ldyBhbihlLHQsbixyKX12YXIgYW49Y2xhc3N7cGFyZW50O2lzX3BlbmRpbmc9ITE7dHJhbnNmb3JtX2Vycm9yOyNlOyN0PUM/dzpudWxsOyNuOyNyOyNpOyNhPW51bGw7I289bnVsbDsjcz1udWxsOyNjPW51bGw7I2w9MDsjdT0wOyNkPSExOyNmPW5ldyBTZXQ7I3A9bmV3IFNldDsjbT1udWxsOyNoPXRuKCgpPT4odGhpcy4jbT1Tbih0aGlzLiNsKSwoKT0+e3RoaXMuI209bnVsbH0pKTtjb25zdHJ1Y3RvcihlLHQsbixyKXt0aGlzLiNlPWUsdGhpcy4jbj10LHRoaXMuI3I9ZT0+e3ZhciB0PUk7dC5iPXRoaXMsdC5mfD0xMjgsbihlKX0sdGhpcy5wYXJlbnQ9SS5iLHRoaXMudHJhbnNmb3JtX2Vycm9yPXI/P3RoaXMucGFyZW50Py50cmFuc2Zvcm1fZXJyb3I/PyhlPT5lKSx0aGlzLiNpPW1yKCgpPT57aWYoQyl7bGV0IGU9dGhpcy4jdDtZZSgpO2xldCB0PWUuZGF0YT09PWBbIWA7aWYoZS5kYXRhLnN0YXJ0c1dpdGgoYFs/YCkpe2xldCB0PUpTT04ucGFyc2UoZS5kYXRhLnNsaWNlKDIpKTt0aGlzLiNfKHQpfWVsc2UgdD90aGlzLiN2KCk6dGhpcy4jZygpfWVsc2UgdGhpcy4jeSgpfSxubiksQyYmKHRoaXMuI2U9dyl9I2coKXt0cnl7dGhpcy4jYT1ncigoKT0+dGhpcy4jcih0aGlzLiNlKSl9Y2F0Y2goZSl7dGhpcy5lcnJvcihlKX19I18oZSl7bGV0IHQ9dGhpcy4jbi5mYWlsZWQ7dCYmKHRoaXMuI3M9Z3IoKCk9Pnt0KHRoaXMuI2UsKCk9PmUsKCk9PigpPT57fSl9KSl9I3YoKXtsZXQgZT10aGlzLiNuLnBlbmRpbmc7ZSYmKHRoaXMuaXNfcGVuZGluZz0hMCx0aGlzLiNvPWdyKCgpPT5lKHRoaXMuI2UpKSxndCgoKT0+e3ZhciBlPXRoaXMuI2M9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLHQ9em4oKTtlLmFwcGVuZCh0KSx0aGlzLiNhPXRoaXMuI3goKCk9PmdyKCgpPT50aGlzLiNyKHQpKSksdGhpcy4jdT09PTAmJih0aGlzLiNlLmJlZm9yZShlKSx0aGlzLiNjPW51bGwsU3IodGhpcy4jbywoKT0+e3RoaXMuI289bnVsbH0pLHRoaXMuI2IoaikpfSkpfSN5KCl7dHJ5e2lmKHRoaXMuaXNfcGVuZGluZz10aGlzLmhhc19wZW5kaW5nX3NuaXBwZXQoKSx0aGlzLiN1PTAsdGhpcy4jbD0wLHRoaXMuI2E9Z3IoKCk9Pnt0aGlzLiNyKHRoaXMuI2UpfSksdGhpcy4jdT4wKXt2YXIgZT10aGlzLiNjPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtFcih0aGlzLiNhLGUpO2xldCB0PXRoaXMuI24ucGVuZGluZzt0aGlzLiNvPWdyKCgpPT50KHRoaXMuI2UpKX1lbHNlIHRoaXMuI2Ioail9Y2F0Y2goZSl7dGhpcy5lcnJvcihlKX19I2IoZSl7dGhpcy5pc19wZW5kaW5nPSExLGUudHJhbnNmZXJfZWZmZWN0cyh0aGlzLiNmLHRoaXMuI3ApfWRlZmVyX2VmZmVjdChlKXtDdChlLHRoaXMuI2YsdGhpcy4jcCl9aXNfcmVuZGVyZWQoKXtyZXR1cm4hdGhpcy5pc19wZW5kaW5nJiYoIXRoaXMucGFyZW50fHx0aGlzLnBhcmVudC5pc19yZW5kZXJlZCgpKX1oYXNfcGVuZGluZ19zbmlwcGV0KCl7cmV0dXJuISF0aGlzLiNuLnBlbmRpbmd9I3goZSl7dmFyIHQ9SSxuPUYscj1FO05yKHRoaXMuI2kpLE1yKHRoaXMuI2kpLG90KHRoaXMuI2kuY3R4KTt0cnl7cmV0dXJuIEd0LmVuc3VyZSgpLGUoKX1jYXRjaChlKXtyZXR1cm4gdnQoZSksbnVsbH1maW5hbGx5e05yKHQpLE1yKG4pLG90KHIpfX0jUyhlLHQpe2lmKCF0aGlzLmhhc19wZW5kaW5nX3NuaXBwZXQoKSl7dGhpcy5wYXJlbnQmJnRoaXMucGFyZW50LiNTKGUsdCk7cmV0dXJufXRoaXMuI3UrPWUsdGhpcy4jdT09PTAmJih0aGlzLiNiKHQpLHRoaXMuI28mJlNyKHRoaXMuI28sKCk9Pnt0aGlzLiNvPW51bGx9KSx0aGlzLiNjJiY9KHRoaXMuI2UuYmVmb3JlKHRoaXMuI2MpLG51bGwpKX11cGRhdGVfcGVuZGluZ19jb3VudChlLHQpe3RoaXMuI1MoZSx0KSx0aGlzLiNsKz1lLCEoIXRoaXMuI218fHRoaXMuI2QpJiYodGhpcy4jZD0hMCxndCgoKT0+e3RoaXMuI2Q9ITEsdGhpcy4jbSYmRW4odGhpcy4jbSx0aGlzLiNsKX0pKX1nZXRfZWZmZWN0X3BlbmRpbmcoKXtyZXR1cm4gdGhpcy4jaCgpLFIodGhpcy4jbSl9ZXJyb3IoZSl7aWYoIXRoaXMuI24ub25lcnJvciYmIXRoaXMuI24uZmFpbGVkKXRocm93IGU7aj8uaXNfZm9yaz8odGhpcy4jYSYmai5za2lwX2VmZmVjdCh0aGlzLiNhKSx0aGlzLiNvJiZqLnNraXBfZWZmZWN0KHRoaXMuI28pLHRoaXMuI3MmJmouc2tpcF9lZmZlY3QodGhpcy4jcyksai5vbl9mb3JrX2NvbW1pdCgoKT0+e3RoaXMuI0MoZSl9KSk6dGhpcy4jQyhlKX0jQyhlKXt0aGlzLiNhJiY9KFAodGhpcy4jYSksbnVsbCksdGhpcy4jbyYmPShQKHRoaXMuI28pLG51bGwpLHRoaXMuI3MmJj0oUCh0aGlzLiNzKSxudWxsKSxDJiYoVCh0aGlzLiN0KSxaZSgpLFQoUWUoKSkpO3ZhciB0PXRoaXMuI24ub25lcnJvcjtsZXQgbj10aGlzLiNuLmZhaWxlZDt2YXIgcj0hMSxpPSExO2xldCBhPSgpPT57aWYocil7cWUoKTtyZXR1cm59cj0hMCxpJiZ6ZSgpLHRoaXMuI3MhPT1udWxsJiZTcih0aGlzLiNzLCgpPT57dGhpcy4jcz1udWxsfSksdGhpcy4jeCgoKT0+e3RoaXMuI3koKX0pfSxvPWU9Pnt0cnl7aT0hMCx0Py4oZSxhKSxpPSExfWNhdGNoKGUpe3l0KGUsdGhpcy4jaSYmdGhpcy4jaS5wYXJlbnQpfW4mJih0aGlzLiNzPXRoaXMuI3goKCk9Pnt0cnl7cmV0dXJuIGdyKCgpPT57dmFyIHQ9STt0LmI9dGhpcyx0LmZ8PTEyOCxuKHRoaXMuI2UsKCk9PmUsKCk9PmEpfSl9Y2F0Y2goZSl7cmV0dXJuIHl0KGUsdGhpcy4jaS5wYXJlbnQpLG51bGx9fSkpfTtndCgoKT0+e3ZhciB0O3RyeXt0PXRoaXMudHJhbnNmb3JtX2Vycm9yKGUpfWNhdGNoKGUpe3l0KGUsdGhpcy4jaSYmdGhpcy4jaS5wYXJlbnQpO3JldHVybn10eXBlb2YgdD09YG9iamVjdGAmJnQmJnR5cGVvZiB0LnRoZW49PWBmdW5jdGlvbmA/dC50aGVuKG8sZT0+eXQoZSx0aGlzLiNpJiZ0aGlzLiNpLnBhcmVudCkpOm8odCl9KX19O2Z1bmN0aW9uIG9uKGUsdCxuLHIpe2xldCBpPWR0KCk/dW46cG47dmFyIGE9ZS5maWx0ZXIoZT0+IWUuc2V0dGxlZCk7aWYobi5sZW5ndGg9PT0wJiZhLmxlbmd0aD09PTApe3IodC5tYXAoaSkpO3JldHVybn12YXIgbz1JLHM9c24oKSxjPWEubGVuZ3RoPT09MT9hWzBdLnByb21pc2U6YS5sZW5ndGg+MT9Qcm9taXNlLmFsbChhLm1hcChlPT5lLnByb21pc2UpKTpudWxsO2Z1bmN0aW9uIGwoZSl7cygpO3RyeXtyKGUpfWNhdGNoKGUpe28uZiYxNjM4NHx8eXQoZSxvKX1jbigpfWlmKG4ubGVuZ3RoPT09MCl7Yy50aGVuKCgpPT5sKHQubWFwKGkpKSk7cmV0dXJufXZhciB1PWxuKCk7ZnVuY3Rpb24gZCgpe1Byb21pc2UuYWxsKG4ubWFwKGU9PmRuKGUpKSkudGhlbihlPT5sKFsuLi50Lm1hcChpKSwuLi5lXSkpLmNhdGNoKGU9Pnl0KGUsbykpLmZpbmFsbHkoKCk9PnUoKSl9Yz9jLnRoZW4oKCk9PntzKCksZCgpLGNuKCl9KTpkKCl9ZnVuY3Rpb24gc24oKXt2YXIgZT1JLHQ9RixuPUUscj1qO3JldHVybiBmdW5jdGlvbihpPSEwKXtOcihlKSxNcih0KSxvdChuKSxpJiYhKGUuZiYxNjM4NCkmJihyPy5hY3RpdmF0ZSgpLHI/LmFwcGx5KCkpfX1mdW5jdGlvbiBjbihlPSEwKXtOcihudWxsKSxNcihudWxsKSxvdChudWxsKSxlJiZqPy5kZWFjdGl2YXRlKCl9ZnVuY3Rpb24gbG4oKXt2YXIgZT1JLHQ9ZS5iLG49aixyPXQuaXNfcmVuZGVyZWQoKTtyZXR1cm4gdC51cGRhdGVfcGVuZGluZ19jb3VudCgxLG4pLG4uaW5jcmVtZW50KHIsZSksKGk9ITEpPT57dC51cGRhdGVfcGVuZGluZ19jb3VudCgtMSxuKSxuLmRlY3JlbWVudChyLGUsaSl9fWZ1bmN0aW9uIHVuKGUpe3ZhciB0PTJ8Y2U7cmV0dXJuIEkhPT1udWxsJiYoSS5mfD1oZSkse2N0eDpFLGRlcHM6bnVsbCxlZmZlY3RzOm51bGwsZXF1YWxzOmV0LGY6dCxmbjplLHJlYWN0aW9uczpudWxsLHJ2OjAsdjpTLHd2OjAscGFyZW50OkksYWM6bnVsbH19ZnVuY3Rpb24gZG4oZSx0LG4pe2xldCByPUk7cj09PW51bGwmJk9lKCk7dmFyIGk9dm9pZCAwLGE9U24oUyksbz0hRixzPW5ldyBNYXA7cmV0dXJuIGRyKCgpPT57dmFyIHQ9SSxuPWFlKCk7aT1uLnByb21pc2U7dHJ5e1Byb21pc2UucmVzb2x2ZShlKCkpLnRoZW4obi5yZXNvbHZlLG4ucmVqZWN0KS5maW5hbGx5KGNuKX1jYXRjaChlKXtuLnJlamVjdChlKSxjbigpfXZhciBjPWo7aWYobyl7aWYodC5mJjMyNzY4KXZhciBsPWxuKCk7aWYoci5iLmlzX3JlbmRlcmVkKCkpcy5nZXQoYyk/LnJlamVjdChUZSkscy5kZWxldGUoYyk7ZWxzZXtmb3IobGV0IGUgb2Ygcy52YWx1ZXMoKSllLnJlamVjdChUZSk7cy5jbGVhcigpfXMuc2V0KGMsbil9bGV0IHU9KGUsbj12b2lkIDApPT57aWYobCYmbChuPT09VGUpLCEobj09PVRlfHx0LmYmMTYzODQpKXtpZihjLmFjdGl2YXRlKCksbilhLmZ8PXhlLEVuKGEsbik7ZWxzZXthLmYmODM4ODYwOCYmKGEuZl49eGUpLEVuKGEsZSk7Zm9yKGxldFtlLHRdb2Ygcyl7aWYocy5kZWxldGUoZSksZT09PWMpYnJlYWs7dC5yZWplY3QoVGUpfX1jLmRlYWN0aXZhdGUoKX19O24ucHJvbWlzZS50aGVuKHUsZT0+dShudWxsLGV8fGB1bmtub3duYCkpfSksYXIoKCk9Pntmb3IobGV0IGUgb2Ygcy52YWx1ZXMoKSllLnJlamVjdChUZSl9KSxuZXcgUHJvbWlzZShlPT57ZnVuY3Rpb24gdChuKXtmdW5jdGlvbiByKCl7bj09PWk/ZShhKTp0KGkpfW4udGhlbihyLHIpfXQoaSl9KX1mdW5jdGlvbiBmbihlKXtsZXQgdD11bihlKTtyZXR1cm4gcnR8fEZyKHQpLHR9ZnVuY3Rpb24gcG4oZSl7bGV0IHQ9dW4oZSk7cmV0dXJuIHQuZXF1YWxzPW50LHR9ZnVuY3Rpb24gbW4oZSl7dmFyIHQ9ZS5lZmZlY3RzO2lmKHQhPT1udWxsKXtlLmVmZmVjdHM9bnVsbDtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rPTEpUCh0W25dKX19ZnVuY3Rpb24gaG4oZSl7dmFyIHQsbj1JLHI9ZS5wYXJlbnQ7aWYoIWtyJiZyIT09bnVsbCYmci5mJjI0NTc2KXJldHVybiBXZSgpLGUudjtOcihyKTt0cnl7ZS5mJj1+dmUsbW4oZSksdD1LcihlKX1maW5hbGx5e05yKG4pfXJldHVybiB0fWZ1bmN0aW9uIGduKGUpe3ZhciB0PWhuKGUpO2lmKCFlLmVxdWFscyh0KSYmKGUud3Y9VXIoKSwoIWo/LmlzX2Zvcmt8fGUuZGVwcz09PW51bGwpJiYoaj09PW51bGw/ZS52PXQ6ai5jYXB0dXJlKGUsdCwhMCksZS5kZXBzPT09bnVsbCkpKXtEKGUsc2UpO3JldHVybn1rcnx8KE09PT1udWxsP3h0KGUpOihpcigpfHxqPy5pc19mb3JrKSYmTS5zZXQoZSx0KSl9ZnVuY3Rpb24gX24oZSl7aWYoZS5lZmZlY3RzIT09bnVsbClmb3IobGV0IHQgb2YgZS5lZmZlY3RzKSh0LnRlYXJkb3dufHx0LmFjKSYmKHQudGVhcmRvd24/LigpLHQuYWM/LmFib3J0KFRlKSx0LnRlYXJkb3duPXgsdC5hYz1udWxsLEpyKHQsMCksdnIodCkpfWZ1bmN0aW9uIHZuKGUpe2lmKGUuZWZmZWN0cyE9PW51bGwpZm9yKGxldCB0IG9mIGUuZWZmZWN0cyl0LnRlYXJkb3duJiZZcih0KX12YXIgeW49bmV3IFNldCxibj1uZXcgTWFwLHhuPSExO2Z1bmN0aW9uIFNuKGUsdCl7cmV0dXJue2Y6MCx2OmUscmVhY3Rpb25zOm51bGwsZXF1YWxzOmV0LHJ2OjAsd3Y6MH19ZnVuY3Rpb24gQ24oZSx0KXtsZXQgbj1TbihlLHQpO3JldHVybiBGcihuKSxufWZ1bmN0aW9uIHduKGUsdD0hMSxuPSEwKXtsZXQgcj1TbihlKTtyZXR1cm4gdHx8KHIuZXF1YWxzPW50KSxpdCYmbiYmRSE9PW51bGwmJkUubCE9PW51bGwmJihFLmwucz8/PVtdKS5wdXNoKHIpLHJ9ZnVuY3Rpb24gVG4oZSx0LG49ITEpe3JldHVybiBGIT09bnVsbCYmKCFqcnx8Ri5mJjEzMTA3MikmJmR0KCkmJkYuZiY0MzI1Mzk0JiYoUHI9PT1udWxsfHwhbS5jYWxsKFByLGUpKSYmUmUoKSxFbihlLG4/am4odCk6dCxIdCl9ZnVuY3Rpb24gRW4oZSx0LG49bnVsbCl7aWYoIWUuZXF1YWxzKHQpKXtibi5zZXQoZSxrcj90OmUudik7dmFyIHI9R3QuZW5zdXJlKCk7aWYoci5jYXB0dXJlKGUsdCksZS5mJjIpe2xldCB0PWU7ZS5mJjIwNDgmJmhuKHQpLE09PT1udWxsJiZ4dCh0KX1lLnd2PVVyKCksQW4oZSxjZSxuKSxkdCgpJiZJIT09bnVsbCYmSS5mJjEwMjQmJiEoSS5mJjk2KSYmKExyPT09bnVsbD9ScihbZV0pOkxyLnB1c2goZSkpLCFyLmlzX2ZvcmsmJnluLnNpemU+MCYmIXhuJiZEbigpfXJldHVybiB0fWZ1bmN0aW9uIERuKCl7eG49ITE7Zm9yKGxldCBlIG9mIHluKWUuZiYxMDI0JiZEKGUsbGUpLFdyKGUpJiZZcihlKTt5bi5jbGVhcigpfWZ1bmN0aW9uIE9uKGUsdD0xKXt2YXIgbj1SKGUpLHI9dD09PTE/bisrOm4tLTtyZXR1cm4gVG4oZSxuKSxyfWZ1bmN0aW9uIGtuKGUpe1RuKGUsZS52KzEpfWZ1bmN0aW9uIEFuKGUsdCxuKXt2YXIgcj1lLnJlYWN0aW9ucztpZihyIT09bnVsbClmb3IodmFyIGk9ZHQoKSxhPXIubGVuZ3RoLG89MDtvPGE7bysrKXt2YXIgcz1yW29dLGM9cy5mO2lmKCEoIWkmJnM9PT1JKSl7dmFyIGw9KGMmY2UpPT09MDtpZihsJiZEKHMsdCksYyYyKXt2YXIgdT1zO00/LmRlbGV0ZSh1KSxjJjY1NTM2fHwoYyY1MTImJihJPT09bnVsbHx8IShJLmYmMjA5NzE1MikpJiYocy5mfD12ZSksQW4odSxsZSxuKSl9ZWxzZSBpZihsKXt2YXIgZD1zO2MmMTYmJkp0IT09bnVsbCYmSnQuYWRkKGQpLG49PT1udWxsP1F0KGQpOm4ucHVzaChkKX19fX1mdW5jdGlvbiBqbihlKXtpZih0eXBlb2YgZSE9YG9iamVjdGB8fCFlfHxTZSBpbiBlKXJldHVybiBlO2xldCB0PWIoZSk7aWYodCE9PXkmJnQhPT1lZSlyZXR1cm4gZTt2YXIgbj1uZXcgTWFwLHI9ZihlKSxpPUNuKDApLGE9bnVsbCxvPVZyLHM9ZT0+e2lmKFZyPT09bylyZXR1cm4gZSgpO3ZhciB0PUYsbj1WcjtNcihudWxsKSxIcihvKTt2YXIgcj1lKCk7cmV0dXJuIE1yKHQpLEhyKG4pLHJ9O3JldHVybiByJiZuLnNldChgbGVuZ3RoYCxDbihlLmxlbmd0aCxhKSksbmV3IFByb3h5KGUse2RlZmluZVByb3BlcnR5KGUsdCxyKXsoIShgdmFsdWVgaW4gcil8fHIuY29uZmlndXJhYmxlPT09ITF8fHIuZW51bWVyYWJsZT09PSExfHxyLndyaXRhYmxlPT09ITEpJiZJZSgpO3ZhciBpPW4uZ2V0KHQpO3JldHVybiBpPT09dm9pZCAwP3MoKCk9Pnt2YXIgZT1DbihyLnZhbHVlLGEpO3JldHVybiBuLnNldCh0LGUpLGV9KTpUbihpLHIudmFsdWUsITApLCEwfSxkZWxldGVQcm9wZXJ0eShlLHQpe3ZhciByPW4uZ2V0KHQpO2lmKHI9PT12b2lkIDApe2lmKHQgaW4gZSl7bGV0IGU9cygoKT0+Q24oUyxhKSk7bi5zZXQodCxlKSxrbihpKX19ZWxzZSBUbihyLFMpLGtuKGkpO3JldHVybiEwfSxnZXQodCxyLGkpe2lmKHI9PT1TZSlyZXR1cm4gZTt2YXIgbz1uLmdldChyKSxjPXIgaW4gdDtpZihvPT09dm9pZCAwJiYoIWN8fF8odCxyKT8ud3JpdGFibGUpJiYobz1zKCgpPT5DbihqbihjP3Rbcl06UyksYSkpLG4uc2V0KHIsbykpLG8hPT12b2lkIDApe3ZhciBsPVIobyk7cmV0dXJuIGw9PT1TP3ZvaWQgMDpsfXJldHVybiBSZWZsZWN0LmdldCh0LHIsaSl9LGdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpe3ZhciByPVJlZmxlY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCk7aWYociYmYHZhbHVlYGluIHIpe3ZhciBpPW4uZ2V0KHQpO2kmJihyLnZhbHVlPVIoaSkpfWVsc2UgaWYocj09PXZvaWQgMCl7dmFyIGE9bi5nZXQodCksbz1hPy52O2lmKGEhPT12b2lkIDAmJm8hPT1TKXJldHVybntlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx2YWx1ZTpvLHdyaXRhYmxlOiEwfX1yZXR1cm4gcn0saGFzKGUsdCl7aWYodD09PVNlKXJldHVybiEwO3ZhciByPW4uZ2V0KHQpLGk9ciE9PXZvaWQgMCYmci52IT09U3x8UmVmbGVjdC5oYXMoZSx0KTtyZXR1cm4ociE9PXZvaWQgMHx8SSE9PW51bGwmJighaXx8XyhlLHQpPy53cml0YWJsZSkpJiYocj09PXZvaWQgMCYmKHI9cygoKT0+Q24oaT9qbihlW3RdKTpTLGEpKSxuLnNldCh0LHIpKSxSKHIpPT09Uyk/ITE6aX0sc2V0KGUsdCxvLGMpe3ZhciBsPW4uZ2V0KHQpLHU9dCBpbiBlO2lmKHImJnQ9PT1gbGVuZ3RoYClmb3IodmFyIGQ9bztkPGwudjtkKz0xKXt2YXIgZj1uLmdldChkK2BgKTtmPT09dm9pZCAwP2QgaW4gZSYmKGY9cygoKT0+Q24oUyxhKSksbi5zZXQoZCtgYCxmKSk6VG4oZixTKX1pZihsPT09dm9pZCAwKSghdXx8XyhlLHQpPy53cml0YWJsZSkmJihsPXMoKCk9PkNuKHZvaWQgMCxhKSksVG4obCxqbihvKSksbi5zZXQodCxsKSk7ZWxzZXt1PWwudiE9PVM7dmFyIHA9cygoKT0+am4obykpO1RuKGwscCl9dmFyIG09UmVmbGVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KTtpZihtPy5zZXQmJm0uc2V0LmNhbGwoYyxvKSwhdSl7aWYociYmdHlwZW9mIHQ9PWBzdHJpbmdgKXt2YXIgaD1uLmdldChgbGVuZ3RoYCksZz1OdW1iZXIodCk7TnVtYmVyLmlzSW50ZWdlcihnKSYmZz49aC52JiZUbihoLGcrMSl9a24oaSl9cmV0dXJuITB9LG93bktleXMoZSl7UihpKTt2YXIgdD1SZWZsZWN0Lm93bktleXMoZSkuZmlsdGVyKGU9Pnt2YXIgdD1uLmdldChlKTtyZXR1cm4gdD09PXZvaWQgMHx8dC52IT09U30pO2Zvcih2YXJbcixhXW9mIG4pYS52IT09UyYmIShyIGluIGUpJiZ0LnB1c2gocik7cmV0dXJuIHR9LHNldFByb3RvdHlwZU9mKCl7TGUoKX19KX1mdW5jdGlvbiBNbihlKXt0cnl7aWYodHlwZW9mIGU9PWBvYmplY3RgJiZlJiZTZSBpbiBlKXJldHVybiBlW1NlXX1jYXRjaHt9cmV0dXJuIGV9ZnVuY3Rpb24gTm4oZSx0KXtyZXR1cm4gT2JqZWN0LmlzKE1uKGUpLE1uKHQpKX12YXIgUG4sRm4sSW4sTG47ZnVuY3Rpb24gUm4oKXtpZihQbj09PXZvaWQgMCl7UG49d2luZG93LEZuPS9GaXJlZm94Ly50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO3ZhciBlPUVsZW1lbnQucHJvdG90eXBlLHQ9Tm9kZS5wcm90b3R5cGUsbj1UZXh0LnByb3RvdHlwZTtJbj1fKHQsYGZpcnN0Q2hpbGRgKS5nZXQsTG49Xyh0LGBuZXh0U2libGluZ2ApLmdldCx0ZShlKSYmKGUuX19jbGljaz12b2lkIDAsZS5fX2NsYXNzTmFtZT12b2lkIDAsZS5fX2F0dHJpYnV0ZXM9bnVsbCxlLl9fc3R5bGU9dm9pZCAwLGUuX19lPXZvaWQgMCksdGUobikmJihuLl9fdD12b2lkIDApfX1mdW5jdGlvbiB6bihlPWBgKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZSl9ZnVuY3Rpb24gTihlKXtyZXR1cm4gSW4uY2FsbChlKX1mdW5jdGlvbiBCbihlKXtyZXR1cm4gTG4uY2FsbChlKX1mdW5jdGlvbiBWbihlLHQpe2lmKCFDKXJldHVybiBOKGUpO3ZhciBuPU4odyk7aWYobj09PW51bGwpbj13LmFwcGVuZENoaWxkKHpuKCkpO2Vsc2UgaWYodCYmbi5ub2RlVHlwZSE9PTMpe3ZhciByPXpuKCk7cmV0dXJuIG4/LmJlZm9yZShyKSxUKHIpLHJ9cmV0dXJuIHQmJkpuKG4pLFQobiksbn1mdW5jdGlvbiBIbihlLHQ9ITEpe2lmKCFDKXt2YXIgbj1OKGUpO3JldHVybiBuIGluc3RhbmNlb2YgQ29tbWVudCYmbi5kYXRhPT09YGA/Qm4obik6bn1pZih0KXtpZih3Py5ub2RlVHlwZSE9PTMpe3ZhciByPXpuKCk7cmV0dXJuIHc/LmJlZm9yZShyKSxUKHIpLHJ9Sm4odyl9cmV0dXJuIHd9ZnVuY3Rpb24gVW4oZSx0PTEsbj0hMSl7bGV0IHI9Qz93OmU7Zm9yKHZhciBpO3QtLTspaT1yLHI9Qm4ocik7aWYoIUMpcmV0dXJuIHI7aWYobil7aWYocj8ubm9kZVR5cGUhPT0zKXt2YXIgYT16bigpO3JldHVybiByPT09bnVsbD9pPy5hZnRlcihhKTpyLmJlZm9yZShhKSxUKGEpLGF9Sm4ocil9cmV0dXJuIFQocikscn1mdW5jdGlvbiBXbihlKXtlLnRleHRDb250ZW50PWBgfWZ1bmN0aW9uIEduKCl7cmV0dXJuIXJ0fHxKdCE9PW51bGw/ITE6KEkuZiZmZSkhPT0wfWZ1bmN0aW9uIEtuKGUsdCxuKXtsZXQgcj1uP3tpczpufTp2b2lkIDA7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyh0Pz9gaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbGAsZSxyKX1mdW5jdGlvbiBxbihlPWBgKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudChlKX1mdW5jdGlvbiBKbihlKXtpZihlLm5vZGVWYWx1ZS5sZW5ndGg8NjU1MzYpcmV0dXJuO2xldCB0PWUubmV4dFNpYmxpbmc7Zm9yKDt0IT09bnVsbCYmdC5ub2RlVHlwZT09PTM7KXQucmVtb3ZlKCksZS5ub2RlVmFsdWUrPXQubm9kZVZhbHVlLHQ9ZS5uZXh0U2libGluZ31mdW5jdGlvbiBZbihlLHQpe2lmKHQpe2xldCB0PWRvY3VtZW50LmJvZHk7ZS5hdXRvZm9jdXM9ITAsZ3QoKCk9Pntkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09dCYmZS5mb2N1cygpfSl9fWZ1bmN0aW9uIFhuKGUpe0MmJk4oZSkhPT1udWxsJiZXbihlKX12YXIgWm49ITE7ZnVuY3Rpb24gUW4oKXtabnx8KFpuPSEwLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoYHJlc2V0YCxlPT57UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e2lmKCFlLmRlZmF1bHRQcmV2ZW50ZWQpZm9yKGxldCB0IG9mIGUudGFyZ2V0LmVsZW1lbnRzKXQuX19vbl9yPy4oKX0pfSx7Y2FwdHVyZTohMH0pKX1mdW5jdGlvbiAkbihlKXt2YXIgdD1GLG49STtNcihudWxsKSxOcihudWxsKTt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e01yKHQpLE5yKG4pfX1mdW5jdGlvbiBlcihlLHQsbixyPW4pe2UuYWRkRXZlbnRMaXN0ZW5lcih0LCgpPT4kbihuKSk7bGV0IGk9ZS5fX29uX3I7aT9lLl9fb25fcj0oKT0+e2koKSxyKCEwKX06ZS5fX29uX3I9KCk9PnIoITApLFFuKCl9ZnVuY3Rpb24gdHIoZSl7ST09PW51bGwmJihGPT09bnVsbCYmTWUoZSksamUoKSksa3ImJkFlKGUpfWZ1bmN0aW9uIG5yKGUsdCl7dmFyIG49dC5sYXN0O249PT1udWxsP3QubGFzdD10LmZpcnN0PWU6KG4ubmV4dD1lLGUucHJldj1uLHQubGFzdD1lKX1mdW5jdGlvbiBycihlLHQpe3ZhciBuPUk7biE9PW51bGwmJm4uZiY4MTkyJiYoZXw9dWUpO3ZhciByPXtjdHg6RSxkZXBzOm51bGwsbm9kZXM6bnVsbCxmOmV8Y2V8NTEyLGZpcnN0Om51bGwsZm46dCxsYXN0Om51bGwsbmV4dDpudWxsLHBhcmVudDpuLGI6biYmbi5iLHByZXY6bnVsbCx0ZWFyZG93bjpudWxsLHd2OjAsYWM6bnVsbH07aj8ucmVnaXN0ZXJfY3JlYXRlZF9lZmZlY3Qocik7dmFyIGk9cjtpZihlJjQpVnQ9PT1udWxsP0d0LmVuc3VyZSgpLnNjaGVkdWxlKHIpOlZ0LnB1c2gocik7ZWxzZSBpZih0IT09bnVsbCl7dHJ5e1lyKHIpfWNhdGNoKGUpe3Rocm93IFAociksZX1pLmRlcHM9PT1udWxsJiZpLnRlYXJkb3duPT09bnVsbCYmaS5ub2Rlcz09PW51bGwmJmkuZmlyc3Q9PT1pLmxhc3QmJiEoaS5mJjUyNDI4OCkmJihpPWkuZmlyc3QsZSYxNiYmZSY2NTUzNiYmaSE9PW51bGwmJihpLmZ8PW1lKSl9aWYoaSE9PW51bGwmJihpLnBhcmVudD1uLG4hPT1udWxsJiZucihpLG4pLEYhPT1udWxsJiZGLmYmMiYmIShlJjY0KSkpe3ZhciBhPUY7KGEuZWZmZWN0cz8/PVtdKS5wdXNoKGkpfXJldHVybiByfWZ1bmN0aW9uIGlyKCl7cmV0dXJuIEYhPT1udWxsJiYhanJ9ZnVuY3Rpb24gYXIoZSl7bGV0IHQ9cnIoOCxudWxsKTtyZXR1cm4gRCh0LHNlKSx0LnRlYXJkb3duPWUsdH1mdW5jdGlvbiBvcihlKXt0cihgJGVmZmVjdGApO3ZhciB0PUkuZjtpZighRiYmdCYzMiYmISh0JjMyNzY4KSl7dmFyIG49RTsobi5lPz89W10pLnB1c2goZSl9ZWxzZSByZXR1cm4gc3IoZSl9ZnVuY3Rpb24gc3IoZSl7cmV0dXJuIHJyKDR8Z2UsZSl9ZnVuY3Rpb24gY3IoZSl7cmV0dXJuIHRyKGAkZWZmZWN0LnByZWApLHJyKDh8Z2UsZSl9ZnVuY3Rpb24gbHIoZSl7R3QuZW5zdXJlKCk7bGV0IHQ9cnIoNjR8aGUsZSk7cmV0dXJuKGU9e30pPT5uZXcgUHJvbWlzZShuPT57ZS5vdXRybz9Tcih0LCgpPT57UCh0KSxuKHZvaWQgMCl9KTooUCh0KSxuKHZvaWQgMCkpfSl9ZnVuY3Rpb24gdXIoZSl7cmV0dXJuIHJyKDQsZSl9ZnVuY3Rpb24gZHIoZSl7cmV0dXJuIHJyKGJlfGhlLGUpfWZ1bmN0aW9uIGZyKGUsdD0wKXtyZXR1cm4gcnIoOHx0LGUpfWZ1bmN0aW9uIHByKGUsdD1bXSxuPVtdLHI9W10pe29uKHIsdCxuLHQ9Pntycig4LCgpPT5lKC4uLnQubWFwKFIpKSl9KX1mdW5jdGlvbiBtcihlLHQ9MCl7cmV0dXJuIHJyKDE2fHQsZSl9ZnVuY3Rpb24gaHIoZSx0PTApe3JldHVybiBycihvZXx0LGUpfWZ1bmN0aW9uIGdyKGUpe3JldHVybiBycigzMnxoZSxlKX1mdW5jdGlvbiBfcihlKXt2YXIgdD1lLnRlYXJkb3duO2lmKHQhPT1udWxsKXtsZXQgZT1rcixuPUY7QXIoITApLE1yKG51bGwpO3RyeXt0LmNhbGwobnVsbCl9ZmluYWxseXtBcihlKSxNcihuKX19fWZ1bmN0aW9uIHZyKGUsdD0hMSl7dmFyIG49ZS5maXJzdDtmb3IoZS5maXJzdD1lLmxhc3Q9bnVsbDtuIT09bnVsbDspe2xldCBlPW4uYWM7ZSE9PW51bGwmJiRuKCgpPT57ZS5hYm9ydChUZSl9KTt2YXIgcj1uLm5leHQ7bi5mJjY0P24ucGFyZW50PW51bGw6UChuLHQpLG49cn19ZnVuY3Rpb24geXIoZSl7Zm9yKHZhciB0PWUuZmlyc3Q7dCE9PW51bGw7KXt2YXIgbj10Lm5leHQ7dC5mJjMyfHxQKHQpLHQ9bn19ZnVuY3Rpb24gUChlLHQ9ITApe3ZhciBuPSExOyh0fHxlLmYmMjYyMTQ0KSYmZS5ub2RlcyE9PW51bGwmJmUubm9kZXMuZW5kIT09bnVsbCYmKGJyKGUubm9kZXMuc3RhcnQsZS5ub2Rlcy5lbmQpLG49ITApLEQoZSxwZSksdnIoZSx0JiYhbiksSnIoZSwwKTt2YXIgcj1lLm5vZGVzJiZlLm5vZGVzLnQ7aWYociE9PW51bGwpZm9yKGxldCBlIG9mIHIpZS5zdG9wKCk7X3IoZSksZS5mXj1wZSxlLmZ8PWRlO3ZhciBpPWUucGFyZW50O2khPT1udWxsJiZpLmZpcnN0IT09bnVsbCYmeHIoZSksZS5uZXh0PWUucHJldj1lLnRlYXJkb3duPWUuY3R4PWUuZGVwcz1lLmZuPWUubm9kZXM9ZS5hYz1lLmI9bnVsbH1mdW5jdGlvbiBicihlLHQpe2Zvcig7ZSE9PW51bGw7KXt2YXIgbj1lPT09dD9udWxsOkJuKGUpO2UucmVtb3ZlKCksZT1ufX1mdW5jdGlvbiB4cihlKXt2YXIgdD1lLnBhcmVudCxuPWUucHJldixyPWUubmV4dDtuIT09bnVsbCYmKG4ubmV4dD1yKSxyIT09bnVsbCYmKHIucHJldj1uKSx0IT09bnVsbCYmKHQuZmlyc3Q9PT1lJiYodC5maXJzdD1yKSx0Lmxhc3Q9PT1lJiYodC5sYXN0PW4pKX1mdW5jdGlvbiBTcihlLHQsbj0hMCl7dmFyIHI9W107Q3IoZSxyLCEwKTt2YXIgaT0oKT0+e24mJlAoZSksdCYmdCgpfSxhPXIubGVuZ3RoO2lmKGE+MCl7dmFyIG89KCk9Pi0tYXx8aSgpO2Zvcih2YXIgcyBvZiByKXMub3V0KG8pfWVsc2UgaSgpfWZ1bmN0aW9uIENyKGUsdCxuKXtpZighKGUuZiY4MTkyKSl7ZS5mXj11ZTt2YXIgcj1lLm5vZGVzJiZlLm5vZGVzLnQ7aWYociE9PW51bGwpZm9yKGxldCBlIG9mIHIpKGUuaXNfZ2xvYmFsfHxuKSYmdC5wdXNoKGUpO2Zvcih2YXIgaT1lLmZpcnN0O2khPT1udWxsOyl7dmFyIGE9aS5uZXh0O2lmKCEoaS5mJjY0KSl7dmFyIG89KGkuZiY2NTUzNikhPTB8fChpLmYmMzIpIT0wJiYoZS5mJjE2KSE9MDtDcihpLHQsbz9uOiExKX1pPWF9fX1mdW5jdGlvbiB3cihlKXtUcihlLCEwKX1mdW5jdGlvbiBUcihlLHQpe2lmKGUuZiY4MTkyKXtlLmZePXVlLGUuZiYxMDI0fHwoRChlLGNlKSxHdC5lbnN1cmUoKS5zY2hlZHVsZShlKSk7Zm9yKHZhciBuPWUuZmlyc3Q7biE9PW51bGw7KXt2YXIgcj1uLm5leHQsaT0obi5mJjY1NTM2KSE9MHx8KG4uZiYzMikhPTA7VHIobixpP3Q6ITEpLG49cn12YXIgYT1lLm5vZGVzJiZlLm5vZGVzLnQ7aWYoYSE9PW51bGwpZm9yKGxldCBlIG9mIGEpKGUuaXNfZ2xvYmFsfHx0KSYmZS5pbigpfX1mdW5jdGlvbiBFcihlLHQpe2lmKGUubm9kZXMpZm9yKHZhciBuPWUubm9kZXMuc3RhcnQscj1lLm5vZGVzLmVuZDtuIT09bnVsbDspe3ZhciBpPW49PT1yP251bGw6Qm4obik7dC5hcHBlbmQobiksbj1pfX12YXIgRHI9bnVsbCxPcj0hMSxrcj0hMTtmdW5jdGlvbiBBcihlKXtrcj1lfXZhciBGPW51bGwsanI9ITE7ZnVuY3Rpb24gTXIoZSl7Rj1lfXZhciBJPW51bGw7ZnVuY3Rpb24gTnIoZSl7ST1lfXZhciBQcj1udWxsO2Z1bmN0aW9uIEZyKGUpe0YhPT1udWxsJiYoIXJ0fHxGLmYmMikmJihQcj09PW51bGw/UHI9W2VdOlByLnB1c2goZSkpfXZhciBMPW51bGwsSXI9MCxMcj1udWxsO2Z1bmN0aW9uIFJyKGUpe0xyPWV9dmFyIHpyPTEsQnI9MCxWcj1CcjtmdW5jdGlvbiBIcihlKXtWcj1lfWZ1bmN0aW9uIFVyKCl7cmV0dXJuKyt6cn1mdW5jdGlvbiBXcihlKXt2YXIgdD1lLmY7aWYodCYyMDQ4KXJldHVybiEwO2lmKHQmMiYmKGUuZiY9fnZlKSx0JjQwOTYpe2Zvcih2YXIgbj1lLmRlcHMscj1uLmxlbmd0aCxpPTA7aTxyO2krKyl7dmFyIGE9bltpXTtpZihXcihhKSYmZ24oYSksYS53dj5lLnd2KXJldHVybiEwfXQmNTEyJiZNPT09bnVsbCYmRChlLHNlKX1yZXR1cm4hMX1mdW5jdGlvbiBHcihlLHQsbj0hMCl7dmFyIHI9ZS5yZWFjdGlvbnM7aWYociE9PW51bGwmJiEoIXJ0JiZQciE9PW51bGwmJm0uY2FsbChQcixlKSkpZm9yKHZhciBpPTA7aTxyLmxlbmd0aDtpKyspe3ZhciBhPXJbaV07YS5mJjI/R3IoYSx0LCExKTp0PT09YSYmKG4/RChhLGNlKTphLmYmMTAyNCYmRChhLGxlKSxRdChhKSl9fWZ1bmN0aW9uIEtyKGUpe3ZhciB0PUwsbj1JcixyPUxyLGk9RixhPVByLG89RSxzPWpyLGM9VnIsbD1lLmY7TD1udWxsLElyPTAsTHI9bnVsbCxGPWwmOTY/bnVsbDplLFByPW51bGwsb3QoZS5jdHgpLGpyPSExLFZyPSsrQnIsZS5hYyE9PW51bGwmJigkbigoKT0+e2UuYWMuYWJvcnQoVGUpfSksZS5hYz1udWxsKTt0cnl7ZS5mfD15ZTt2YXIgdT1lLmZuLGQ9dSgpO2UuZnw9ZmU7dmFyIGY9ZS5kZXBzLHA9aj8uaXNfZm9yaztpZihMIT09bnVsbCl7dmFyIG07aWYocHx8SnIoZSxJciksZiE9PW51bGwmJklyPjApZm9yKGYubGVuZ3RoPUlyK0wubGVuZ3RoLG09MDttPEwubGVuZ3RoO20rKylmW0lyK21dPUxbbV07ZWxzZSBlLmRlcHM9Zj1MO2lmKGlyKCkmJmUuZiY1MTIpZm9yKG09SXI7bTxmLmxlbmd0aDttKyspKGZbbV0ucmVhY3Rpb25zPz89W10pLnB1c2goZSl9ZWxzZSAhcCYmZiE9PW51bGwmJklyPGYubGVuZ3RoJiYoSnIoZSxJciksZi5sZW5ndGg9SXIpO2lmKGR0KCkmJkxyIT09bnVsbCYmIWpyJiZmIT09bnVsbCYmIShlLmYmNjE0NikpZm9yKG09MDttPExyLmxlbmd0aDttKyspR3IoTHJbbV0sZSk7aWYoaSE9PW51bGwmJmkhPT1lKXtpZihCcisrLGkuZGVwcyE9PW51bGwpZm9yKGxldCBlPTA7ZTxuO2UrPTEpaS5kZXBzW2VdLnJ2PUJyO2lmKHQhPT1udWxsKWZvcihsZXQgZSBvZiB0KWUucnY9QnI7THIhPT1udWxsJiYocj09PW51bGw/cj1McjpyLnB1c2goLi4uTHIpKX1yZXR1cm4gZS5mJjgzODg2MDgmJihlLmZePXhlKSxkfWNhdGNoKGUpe3JldHVybiB2dChlKX1maW5hbGx5e2UuZl49eWUsTD10LElyPW4sTHI9cixGPWksUHI9YSxvdChvKSxqcj1zLFZyPWN9fWZ1bmN0aW9uIHFyKGUsdCl7bGV0IG49dC5yZWFjdGlvbnM7aWYobiE9PW51bGwpe3ZhciByPXAuY2FsbChuLGUpO2lmKHIhPT0tMSl7dmFyIGk9bi5sZW5ndGgtMTtpPT09MD9uPXQucmVhY3Rpb25zPW51bGw6KG5bcl09bltpXSxuLnBvcCgpKX19aWYobj09PW51bGwmJnQuZiYyJiYoTD09PW51bGx8fCFtLmNhbGwoTCx0KSkpe3ZhciBhPXQ7YS5mJjUxMiYmKGEuZl49NTEyLGEuZiY9fnZlKSxhLnYhPT1TJiZ4dChhKSxfbihhKSxKcihhLDApfX1mdW5jdGlvbiBKcihlLHQpe3ZhciBuPWUuZGVwcztpZihuIT09bnVsbClmb3IodmFyIHI9dDtyPG4ubGVuZ3RoO3IrKylxcihlLG5bcl0pfWZ1bmN0aW9uIFlyKGUpe3ZhciB0PWUuZjtpZighKHQmMTYzODQpKXtEKGUsc2UpO3ZhciBuPUkscj1PcjtJPWUsT3I9ITA7dHJ5e3QmMTY3NzcyMzI/eXIoZSk6dnIoZSksX3IoZSk7dmFyIGk9S3IoZSk7ZS50ZWFyZG93bj10eXBlb2YgaT09YGZ1bmN0aW9uYD9pOm51bGwsZS53dj16cn1maW5hbGx5e09yPXIsST1ufX19YXN5bmMgZnVuY3Rpb24gWHIoKXtpZihydClyZXR1cm4gbmV3IFByb21pc2UoZT0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+ZSgpKSxzZXRUaW1lb3V0KCgpPT5lKCkpfSk7YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCksS3QoKX1mdW5jdGlvbiBSKGUpe3ZhciB0PShlLmYmMikhPTA7aWYoRHI/LmFkZChlKSxGIT09bnVsbCYmIWpyJiYhKEkhPT1udWxsJiZJLmYmMTYzODQpJiYoUHI9PT1udWxsfHwhbS5jYWxsKFByLGUpKSl7dmFyIG49Ri5kZXBzO2lmKEYuZiYyMDk3MTUyKWUucnY8QnImJihlLnJ2PUJyLEw9PT1udWxsJiZuIT09bnVsbCYmbltJcl09PT1lP0lyKys6TD09PW51bGw/TD1bZV06TC5wdXNoKGUpKTtlbHNleyhGLmRlcHM/Pz1bXSkucHVzaChlKTt2YXIgcj1lLnJlYWN0aW9ucztyPT09bnVsbD9lLnJlYWN0aW9ucz1bRl06bS5jYWxsKHIsRil8fHIucHVzaChGKX19aWYoa3ImJmJuLmhhcyhlKSlyZXR1cm4gYm4uZ2V0KGUpO2lmKHQpe3ZhciBpPWU7aWYoa3Ipe3ZhciBhPWkudjtyZXR1cm4oIShpLmYmMTAyNCkmJmkucmVhY3Rpb25zIT09bnVsbHx8UXIoaSkpJiYoYT1obihpKSksYm4uc2V0KGksYSksYX12YXIgbz0oaS5mJjUxMik9PTAmJiFqciYmRiE9PW51bGwmJihPcnx8KEYuZiY1MTIpIT0wKSxzPShpLmYmZmUpPT09MDtXcihpKSYmKG8mJihpLmZ8PTUxMiksZ24oaSkpLG8mJiFzJiYodm4oaSksWnIoaSkpfWlmKE0/LmhhcyhlKSlyZXR1cm4gTS5nZXQoZSk7aWYoZS5mJjgzODg2MDgpdGhyb3cgZS52O3JldHVybiBlLnZ9ZnVuY3Rpb24gWnIoZSl7aWYoZS5mfD01MTIsZS5kZXBzIT09bnVsbClmb3IobGV0IHQgb2YgZS5kZXBzKSh0LnJlYWN0aW9ucz8/PVtdKS5wdXNoKGUpLHQuZiYyJiYhKHQuZiY1MTIpJiYodm4odCksWnIodCkpfWZ1bmN0aW9uIFFyKGUpe2lmKGUudj09PVMpcmV0dXJuITA7aWYoZS5kZXBzPT09bnVsbClyZXR1cm4hMTtmb3IobGV0IHQgb2YgZS5kZXBzKWlmKGJuLmhhcyh0KXx8dC5mJjImJlFyKHQpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uICRyKGUpe3ZhciB0PWpyO3RyeXtyZXR1cm4ganI9ITAsZSgpfWZpbmFsbHl7anI9dH19ZnVuY3Rpb24gZWkoZSl7aWYoISh0eXBlb2YgZSE9YG9iamVjdGB8fCFlfHxlIGluc3RhbmNlb2YgRXZlbnRUYXJnZXQpKXtpZihTZSBpbiBlKXRpKGUpO2Vsc2UgaWYoIUFycmF5LmlzQXJyYXkoZSkpZm9yKGxldCB0IGluIGUpe2xldCBuPWVbdF07dHlwZW9mIG49PWBvYmplY3RgJiZuJiZTZSBpbiBuJiZ0aShuKX19fWZ1bmN0aW9uIHRpKGUsdD1uZXcgU2V0KXtpZih0eXBlb2YgZT09YG9iamVjdGAmJmUmJiEoZSBpbnN0YW5jZW9mIEV2ZW50VGFyZ2V0KSYmIXQuaGFzKGUpKXt0LmFkZChlKSxlIGluc3RhbmNlb2YgRGF0ZSYmZS5nZXRUaW1lKCk7Zm9yKGxldCBuIGluIGUpdHJ5e3RpKGVbbl0sdCl9Y2F0Y2h7fWxldCBuPWIoZSk7aWYobiE9PU9iamVjdC5wcm90b3R5cGUmJm4hPT1BcnJheS5wcm90b3R5cGUmJm4hPT1NYXAucHJvdG90eXBlJiZuIT09U2V0LnByb3RvdHlwZSYmbiE9PURhdGUucHJvdG90eXBlKXtsZXQgdD12KG4pO2ZvcihsZXQgbiBpbiB0KXtsZXQgcj10W25dLmdldDtpZihyKXRyeXtyLmNhbGwoZSl9Y2F0Y2h7fX19fX1mdW5jdGlvbiBuaShlKXtyZXR1cm4gZS5lbmRzV2l0aChgY2FwdHVyZWApJiZlIT09YGdvdHBvaW50ZXJjYXB0dXJlYCYmZSE9PWBsb3N0cG9pbnRlcmNhcHR1cmVgfXZhciByaT1bYGJlZm9yZWlucHV0YCxgY2xpY2tgLGBjaGFuZ2VgLGBkYmxjbGlja2AsYGNvbnRleHRtZW51YCxgZm9jdXNpbmAsYGZvY3Vzb3V0YCxgaW5wdXRgLGBrZXlkb3duYCxga2V5dXBgLGBtb3VzZWRvd25gLGBtb3VzZW1vdmVgLGBtb3VzZW91dGAsYG1vdXNlb3ZlcmAsYG1vdXNldXBgLGBwb2ludGVyZG93bmAsYHBvaW50ZXJtb3ZlYCxgcG9pbnRlcm91dGAsYHBvaW50ZXJvdmVyYCxgcG9pbnRlcnVwYCxgdG91Y2hlbmRgLGB0b3VjaG1vdmVgLGB0b3VjaHN0YXJ0YF07ZnVuY3Rpb24gaWkoZSl7cmV0dXJuIHJpLmluY2x1ZGVzKGUpfXZhciBhaT1gYWxsb3dmdWxsc2NyZWVuLmFzeW5jLmF1dG9mb2N1cy5hdXRvcGxheS5jaGVja2VkLmNvbnRyb2xzLmRlZmF1bHQuZGlzYWJsZWQuZm9ybW5vdmFsaWRhdGUuaW5kZXRlcm1pbmF0ZS5pbmVydC5pc21hcC5sb29wLm11bHRpcGxlLm11dGVkLm5vbW9kdWxlLm5vdmFsaWRhdGUub3Blbi5wbGF5c2lubGluZS5yZWFkb25seS5yZXF1aXJlZC5yZXZlcnNlZC5zZWFtbGVzcy5zZWxlY3RlZC53ZWJraXRkaXJlY3RvcnkuZGVmZXIuZGlzYWJsZXBpY3R1cmVpbnBpY3R1cmUuZGlzYWJsZXJlbW90ZXBsYXliYWNrYC5zcGxpdChgLmApLG9pPXtmb3Jtbm92YWxpZGF0ZTpgZm9ybU5vVmFsaWRhdGVgLGlzbWFwOmBpc01hcGAsbm9tb2R1bGU6YG5vTW9kdWxlYCxwbGF5c2lubGluZTpgcGxheXNJbmxpbmVgLHJlYWRvbmx5OmByZWFkT25seWAsZGVmYXVsdHZhbHVlOmBkZWZhdWx0VmFsdWVgLGRlZmF1bHRjaGVja2VkOmBkZWZhdWx0Q2hlY2tlZGAsc3Jjb2JqZWN0OmBzcmNPYmplY3RgLG5vdmFsaWRhdGU6YG5vVmFsaWRhdGVgLGFsbG93ZnVsbHNjcmVlbjpgYWxsb3dGdWxsc2NyZWVuYCxkaXNhYmxlcGljdHVyZWlucGljdHVyZTpgZGlzYWJsZVBpY3R1cmVJblBpY3R1cmVgLGRpc2FibGVyZW1vdGVwbGF5YmFjazpgZGlzYWJsZVJlbW90ZVBsYXliYWNrYH07ZnVuY3Rpb24gc2koZSl7cmV0dXJuIGU9ZS50b0xvd2VyQ2FzZSgpLG9pW2VdPz9lfVsuLi5haV07dmFyIGNpPVtgdG91Y2hzdGFydGAsYHRvdWNobW92ZWBdO2Z1bmN0aW9uIGxpKGUpe3JldHVybiBjaS5pbmNsdWRlcyhlKX12YXIgdWk9U3ltYm9sKGBldmVudHNgKSxkaT1uZXcgU2V0LGZpPW5ldyBTZXQ7ZnVuY3Rpb24gcGkoZSl7aWYoIUMpcmV0dXJuO2UucmVtb3ZlQXR0cmlidXRlKGBvbmxvYWRgKSxlLnJlbW92ZUF0dHJpYnV0ZShgb25lcnJvcmApO2xldCB0PWUuX19lO3QhPT12b2lkIDAmJihlLl9fZT12b2lkIDAscXVldWVNaWNyb3Rhc2soKCk9PntlLmlzQ29ubmVjdGVkJiZlLmRpc3BhdGNoRXZlbnQodCl9KSl9ZnVuY3Rpb24gbWkoZSx0LG4scj17fSl7ZnVuY3Rpb24gaShlKXtpZihyLmNhcHR1cmV8fHlpLmNhbGwodCxlKSwhZS5jYW5jZWxCdWJibGUpcmV0dXJuICRuKCgpPT5uPy5jYWxsKHRoaXMsZSkpfXJldHVybiBlLnN0YXJ0c1dpdGgoYHBvaW50ZXJgKXx8ZS5zdGFydHNXaXRoKGB0b3VjaGApfHxlPT09YHdoZWVsYD9ndCgoKT0+e3QuYWRkRXZlbnRMaXN0ZW5lcihlLGkscil9KTp0LmFkZEV2ZW50TGlzdGVuZXIoZSxpLHIpLGl9ZnVuY3Rpb24gaGkoZSx0LG4scixpKXt2YXIgYT17Y2FwdHVyZTpyLHBhc3NpdmU6aX0sbz1taShlLHQsbixhKTsodD09PWRvY3VtZW50LmJvZHl8fHQ9PT13aW5kb3d8fHQ9PT1kb2N1bWVudHx8dCBpbnN0YW5jZW9mIEhUTUxNZWRpYUVsZW1lbnQpJiZhcigoKT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG8sYSl9KX1mdW5jdGlvbiBnaShlLHQsbil7KHRbdWldPz89e30pW2VdPW59ZnVuY3Rpb24gX2koZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0KyspZGkuYWRkKGVbdF0pO2Zvcih2YXIgbiBvZiBmaSluKGUpfXZhciB2aT1udWxsO2Z1bmN0aW9uIHlpKGUpe3ZhciB0PXRoaXMsbj10Lm93bmVyRG9jdW1lbnQscj1lLnR5cGUsaT1lLmNvbXBvc2VkUGF0aD8uKCl8fFtdLGE9aVswXXx8ZS50YXJnZXQ7dmk9ZTt2YXIgbz0wLHM9dmk9PT1lJiZlW3VpXTtpZihzKXt2YXIgYz1pLmluZGV4T2Yocyk7aWYoYyE9PS0xJiYodD09PWRvY3VtZW50fHx0PT09d2luZG93KSl7ZVt1aV09dDtyZXR1cm59dmFyIGw9aS5pbmRleE9mKHQpO2lmKGw9PT0tMSlyZXR1cm47Yzw9bCYmKG89Yyl9aWYoYT1pW29dfHxlLnRhcmdldCxhIT09dCl7ZyhlLGBjdXJyZW50VGFyZ2V0YCx7Y29uZmlndXJhYmxlOiEwLGdldCgpe3JldHVybiBhfHxufX0pO3ZhciB1PUYsZD1JO01yKG51bGwpLE5yKG51bGwpO3RyeXtmb3IodmFyIGYscD1bXTthIT09bnVsbDspe3ZhciBtPWEuYXNzaWduZWRTbG90fHxhLnBhcmVudE5vZGV8fGEuaG9zdHx8bnVsbDt0cnl7dmFyIGg9YVt1aV0/LltyXTtoIT1udWxsJiYoIWEuZGlzYWJsZWR8fGUudGFyZ2V0PT09YSkmJmguY2FsbChhLGUpfWNhdGNoKGUpe2Y/cC5wdXNoKGUpOmY9ZX1pZihlLmNhbmNlbEJ1YmJsZXx8bT09PXR8fG09PT1udWxsKWJyZWFrO2E9bX1pZihmKXtmb3IobGV0IGUgb2YgcClxdWV1ZU1pY3JvdGFzaygoKT0+e3Rocm93IGV9KTt0aHJvdyBmfX1maW5hbGx5e2VbdWldPXQsZGVsZXRlIGUuY3VycmVudFRhcmdldCxNcih1KSxOcihkKX19fXZhciBiaT1nbG9iYWxUaGlzPy53aW5kb3c/LnRydXN0ZWRUeXBlcyYmZ2xvYmFsVGhpcy53aW5kb3cudHJ1c3RlZFR5cGVzLmNyZWF0ZVBvbGljeShgc3ZlbHRlLXRydXN0ZWQtaHRtbGAse2NyZWF0ZUhUTUw6ZT0+ZX0pO2Z1bmN0aW9uIHhpKGUpe3JldHVybiBiaT8uY3JlYXRlSFRNTChlKT8/ZX1mdW5jdGlvbiBTaShlKXt2YXIgdD1LbihgdGVtcGxhdGVgKTtyZXR1cm4gdC5pbm5lckhUTUw9eGkoZS5yZXBsYWNlQWxsKGA8IT5gLGA8IS0tLS0+YCkpLHQuY29udGVudH1mdW5jdGlvbiBDaShlLHQpe3ZhciBuPUk7bi5ub2Rlcz09PW51bGwmJihuLm5vZGVzPXtzdGFydDplLGVuZDp0LGE6bnVsbCx0Om51bGx9KX1mdW5jdGlvbiB3aShlLHQpe3ZhciBuPSh0JjEpIT0wLHI9KHQmMikhPTAsaSxhPSFlLnN0YXJ0c1dpdGgoYDwhPmApO3JldHVybigpPT57aWYoQylyZXR1cm4gQ2kodyxudWxsKSx3O2k9PT12b2lkIDAmJihpPVNpKGE/ZTpgPCE+YCtlKSxufHwoaT1OKGkpKSk7dmFyIHQ9cnx8Rm4/ZG9jdW1lbnQuaW1wb3J0Tm9kZShpLCEwKTppLmNsb25lTm9kZSghMCk7aWYobil7dmFyIG89Tih0KSxzPXQubGFzdENoaWxkO0NpKG8scyl9ZWxzZSBDaSh0LHQpO3JldHVybiB0fX1mdW5jdGlvbiBUaShlLHQsbj1gc3ZnYCl7dmFyIHI9IWUuc3RhcnRzV2l0aChgPCE+YCksaT0odCYxKSE9MCxhPWA8JHtufT4ke3I/ZTpgPCE+YCtlfTwvJHtufT5gLG87cmV0dXJuKCk9PntpZihDKXJldHVybiBDaSh3LG51bGwpLHc7aWYoIW8pe3ZhciBlPU4oU2koYSkpO2lmKGkpZm9yKG89ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO04oZSk7KW8uYXBwZW5kQ2hpbGQoTihlKSk7ZWxzZSBvPU4oZSl9dmFyIHQ9by5jbG9uZU5vZGUoITApO2lmKGkpe3ZhciBuPU4odCkscj10Lmxhc3RDaGlsZDtDaShuLHIpfWVsc2UgQ2kodCx0KTtyZXR1cm4gdH19ZnVuY3Rpb24gRWkoZSx0KXtyZXR1cm4gVGkoZSx0LGBzdmdgKX1mdW5jdGlvbiBEaShlPWBgKXtpZighQyl7dmFyIHQ9em4oZStgYCk7cmV0dXJuIENpKHQsdCksdH12YXIgbj13O3JldHVybiBuLm5vZGVUeXBlPT09Mz9KbihuKToobi5iZWZvcmUobj16bigpKSxUKG4pKSxDaShuLG4pLG59ZnVuY3Rpb24gT2koKXtpZihDKXJldHVybiBDaSh3LG51bGwpLHc7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLHQ9ZG9jdW1lbnQuY3JlYXRlQ29tbWVudChgYCksbj16bigpO3JldHVybiBlLmFwcGVuZCh0LG4pLENpKHQsbiksZX1mdW5jdGlvbiBraShlLHQpe2lmKEMpe3ZhciBuPUk7KCEobi5mJjMyNzY4KXx8bi5ub2Rlcy5lbmQ9PT1udWxsKSYmKG4ubm9kZXMuZW5kPXcpLFllKCk7cmV0dXJufWUhPT1udWxsJiZlLmJlZm9yZSh0KX12YXIgQWk9ITA7ZnVuY3Rpb24gamkoZSx0KXt2YXIgbj10PT1udWxsP2BgOnR5cGVvZiB0PT1gb2JqZWN0YD9gJHt0fWA6dDtuIT09KGUuX190Pz89ZS5ub2RlVmFsdWUpJiYoZS5fX3Q9bixlLm5vZGVWYWx1ZT1gJHtufWApfWZ1bmN0aW9uIE1pKGUsdCl7cmV0dXJuIFBpKGUsdCl9dmFyIE5pPW5ldyBNYXA7ZnVuY3Rpb24gUGkoZSx7dGFyZ2V0OnQsYW5jaG9yOm4scHJvcHM6cj17fSxldmVudHM6aSxjb250ZXh0OmEsaW50cm86bz0hMCx0cmFuc2Zvcm1FcnJvcjpzfSl7Um4oKTt2YXIgYz12b2lkIDAsbD1scigoKT0+e3ZhciBsPW4/P3QuYXBwZW5kQ2hpbGQoem4oKSk7cm4obCx7cGVuZGluZzooKT0+e319LHQ9PntsdCh7fSk7dmFyIG49RTtpZihhJiYobi5jPWEpLGkmJihyLiQkZXZlbnRzPWkpLEMmJkNpKHQsbnVsbCksQWk9byxjPWUodCxyKXx8e30sQWk9ITAsQyYmKEkubm9kZXMuZW5kPXcsdz09PW51bGx8fHcubm9kZVR5cGUhPT04fHx3LmRhdGEhPT1gXWApKXRocm93IEdlKCksQmU7dXQoKX0scyk7dmFyIHU9bmV3IFNldCxkPWU9Pntmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIHI9ZVtuXTtpZighdS5oYXMocikpe3UuYWRkKHIpO3ZhciBpPWxpKHIpO2ZvcihsZXQgZSBvZlt0LGRvY3VtZW50XSl7dmFyIGE9TmkuZ2V0KGUpO2E9PT12b2lkIDAmJihhPW5ldyBNYXAsTmkuc2V0KGUsYSkpO3ZhciBvPWEuZ2V0KHIpO289PT12b2lkIDA/KGUuYWRkRXZlbnRMaXN0ZW5lcihyLHlpLHtwYXNzaXZlOml9KSxhLnNldChyLDEpKTphLnNldChyLG8rMSl9fX19O3JldHVybiBkKGgoZGkpKSxmaS5hZGQoZCksKCk9Pntmb3IodmFyIGUgb2YgdSlmb3IobGV0IG4gb2ZbdCxkb2N1bWVudF0pe3ZhciByPU5pLmdldChuKSxpPXIuZ2V0KGUpOy0taT09MD8obi5yZW1vdmVFdmVudExpc3RlbmVyKGUseWkpLHIuZGVsZXRlKGUpLHIuc2l6ZT09PTAmJk5pLmRlbGV0ZShuKSk6ci5zZXQoZSxpKX1maS5kZWxldGUoZCksbCE9PW4mJmwucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQobCl9fSk7cmV0dXJuIEZpLnNldChjLGwpLGN9dmFyIEZpPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIElpKGUsdCl7bGV0IG49RmkuZ2V0KGUpO3JldHVybiBuPyhGaS5kZWxldGUoZSksbih0KSk6UHJvbWlzZS5yZXNvbHZlKCl9dmFyIExpPWNsYXNze2FuY2hvcjsjZT1uZXcgTWFwOyN0PW5ldyBNYXA7I249bmV3IE1hcDsjcj1uZXcgU2V0OyNpPSEwO2NvbnN0cnVjdG9yKGUsdD0hMCl7dGhpcy5hbmNob3I9ZSx0aGlzLiNpPXR9I2E9ZT0+e2lmKHRoaXMuI2UuaGFzKGUpKXt2YXIgdD10aGlzLiNlLmdldChlKSxuPXRoaXMuI3QuZ2V0KHQpO2lmKG4pd3IobiksdGhpcy4jci5kZWxldGUodCk7ZWxzZXt2YXIgcj10aGlzLiNuLmdldCh0KTtyJiYodGhpcy4jdC5zZXQodCxyLmVmZmVjdCksdGhpcy4jbi5kZWxldGUodCksci5mcmFnbWVudC5sYXN0Q2hpbGQucmVtb3ZlKCksdGhpcy5hbmNob3IuYmVmb3JlKHIuZnJhZ21lbnQpLG49ci5lZmZlY3QpfWZvcihsZXRbdCxuXW9mIHRoaXMuI2Upe2lmKHRoaXMuI2UuZGVsZXRlKHQpLHQ9PT1lKWJyZWFrO2xldCByPXRoaXMuI24uZ2V0KG4pO3ImJihQKHIuZWZmZWN0KSx0aGlzLiNuLmRlbGV0ZShuKSl9Zm9yKGxldFtlLHJdb2YgdGhpcy4jdCl7aWYoZT09PXR8fHRoaXMuI3IuaGFzKGUpKWNvbnRpbnVlO2xldCBpPSgpPT57aWYoQXJyYXkuZnJvbSh0aGlzLiNlLnZhbHVlcygpKS5pbmNsdWRlcyhlKSl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO0VyKHIsdCksdC5hcHBlbmQoem4oKSksdGhpcy4jbi5zZXQoZSx7ZWZmZWN0OnIsZnJhZ21lbnQ6dH0pfWVsc2UgUChyKTt0aGlzLiNyLmRlbGV0ZShlKSx0aGlzLiN0LmRlbGV0ZShlKX07dGhpcy4jaXx8IW4/KHRoaXMuI3IuYWRkKGUpLFNyKHIsaSwhMSkpOmkoKX19fTsjbz1lPT57dGhpcy4jZS5kZWxldGUoZSk7bGV0IHQ9QXJyYXkuZnJvbSh0aGlzLiNlLnZhbHVlcygpKTtmb3IobGV0W2Usbl1vZiB0aGlzLiNuKXQuaW5jbHVkZXMoZSl8fChQKG4uZWZmZWN0KSx0aGlzLiNuLmRlbGV0ZShlKSl9O2Vuc3VyZShlLHQpe3ZhciBuPWoscj1HbigpO2lmKHQmJiF0aGlzLiN0LmhhcyhlKSYmIXRoaXMuI24uaGFzKGUpKWlmKHIpe3ZhciBpPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxhPXpuKCk7aS5hcHBlbmQoYSksdGhpcy4jbi5zZXQoZSx7ZWZmZWN0OmdyKCgpPT50KGEpKSxmcmFnbWVudDppfSl9ZWxzZSB0aGlzLiN0LnNldChlLGdyKCgpPT50KHRoaXMuYW5jaG9yKSkpO2lmKHRoaXMuI2Uuc2V0KG4sZSkscil7Zm9yKGxldFt0LHJdb2YgdGhpcy4jdCl0PT09ZT9uLnVuc2tpcF9lZmZlY3Qocik6bi5za2lwX2VmZmVjdChyKTtmb3IobGV0W3Qscl1vZiB0aGlzLiNuKXQ9PT1lP24udW5za2lwX2VmZmVjdChyLmVmZmVjdCk6bi5za2lwX2VmZmVjdChyLmVmZmVjdCk7bi5vbmNvbW1pdCh0aGlzLiNhKSxuLm9uZGlzY2FyZCh0aGlzLiNvKX1lbHNlIEMmJih0aGlzLmFuY2hvcj13KSx0aGlzLiNhKG4pfX07ZnVuY3Rpb24gUmkoZSx0LG49ITEpe3ZhciByO0MmJihyPXcsWWUoKSk7dmFyIGk9bmV3IExpKGUpLGE9bj9tZTowO2Z1bmN0aW9uIG8oZSx0KXtpZihDKXt2YXIgbj0kZShyKTtpZihlIT09cGFyc2VJbnQobi5zdWJzdHJpbmcoMSkpKXt2YXIgYT1RZSgpO1QoYSksaS5hbmNob3I9YSxKZSghMSksaS5lbnN1cmUoZSx0KSxKZSghMCk7cmV0dXJufX1pLmVuc3VyZShlLHQpfW1yKCgpPT57dmFyIGU9ITE7dCgodCxuPTApPT57ZT0hMCxvKG4sdCl9KSxlfHxvKC0xLG51bGwpfSxhKX12YXIgemk9U3ltYm9sKGBOYU5gKTtmdW5jdGlvbiBCaShlLHQsbil7QyYmWWUoKTt2YXIgcj1uZXcgTGkoZSksaT0hZHQoKTttcigoKT0+e3ZhciBlPXQoKTtlIT09ZSYmKGU9emkpLGkmJnR5cGVvZiBlPT1gb2JqZWN0YCYmZSYmKGU9e30pLHIuZW5zdXJlKGUsbil9KX1mdW5jdGlvbiBWaShlLHQpe3JldHVybiB0fWZ1bmN0aW9uIEhpKGUsdCxuKXtmb3IodmFyIHI9W10saT10Lmxlbmd0aCxhLG89dC5sZW5ndGgscz0wO3M8aTtzKyspe2xldCBuPXRbc107U3IobiwoKT0+e2lmKGEpe2lmKGEucGVuZGluZy5kZWxldGUobiksYS5kb25lLmFkZChuKSxhLnBlbmRpbmcuc2l6ZT09PTApe3ZhciB0PWUub3V0cm9ncm91cHM7VWkoZSxoKGEuZG9uZSkpLHQuZGVsZXRlKGEpLHQuc2l6ZT09PTAmJihlLm91dHJvZ3JvdXBzPW51bGwpfX1lbHNlIC0tb30sITEpfWlmKG89PT0wKXt2YXIgYz1yLmxlbmd0aD09PTAmJm4hPT1udWxsO2lmKGMpe3ZhciBsPW4sdT1sLnBhcmVudE5vZGU7V24odSksdS5hcHBlbmQobCksZS5pdGVtcy5jbGVhcigpfVVpKGUsdCwhYyl9ZWxzZSBhPXtwZW5kaW5nOm5ldyBTZXQodCksZG9uZTpuZXcgU2V0fSwoZS5vdXRyb2dyb3Vwcz8/PW5ldyBTZXQpLmFkZChhKX1mdW5jdGlvbiBVaShlLHQsbj0hMCl7dmFyIHI7aWYoZS5wZW5kaW5nLnNpemU+MCl7cj1uZXcgU2V0O2ZvcihsZXQgdCBvZiBlLnBlbmRpbmcudmFsdWVzKCkpZm9yKGxldCBuIG9mIHQpci5hZGQoZS5pdGVtcy5nZXQobikuZSl9Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBhPXRbaV07cj8uaGFzKGEpPyhhLmZ8PV9lLEVyKGEsZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpKSk6UCh0W2ldLG4pfX12YXIgV2k7ZnVuY3Rpb24gR2koZSx0LG4scixpLGE9bnVsbCl7dmFyIG89ZSxzPW5ldyBNYXA7aWYodCY0KXt2YXIgYz1lO289Qz9UKE4oYykpOmMuYXBwZW5kQ2hpbGQoem4oKSl9QyYmWWUoKTt2YXIgbD1udWxsLHU9cG4oKCk9Pnt2YXIgZT1uKCk7cmV0dXJuIGYoZSk/ZTplPT1udWxsP1tdOmgoZSl9KSxkLHA9bmV3IE1hcCxtPSEwO2Z1bmN0aW9uIGcoZSl7di5lZmZlY3QuZiYxNjM4NHx8KHYucGVuZGluZy5kZWxldGUoZSksdi5mYWxsYmFjaz1sLHFpKHYsZCxvLHQsciksbCE9PW51bGwmJihkLmxlbmd0aD09PTA/bC5mJjMzNTU0NDMyPyhsLmZePV9lLFlpKGwsbnVsbCxvKSk6d3IobCk6U3IobCwoKT0+e2w9bnVsbH0pKSl9ZnVuY3Rpb24gXyhlKXt2LnBlbmRpbmcuZGVsZXRlKGUpfXZhciB2PXtlZmZlY3Q6bXIoKCk9PntkPVIodSk7dmFyIGU9ZC5sZW5ndGg7bGV0IGM9ITE7QyYmJGUobyk9PT1gWyFgIT0oZT09PTApJiYobz1RZSgpLFQobyksSmUoITEpLGM9ITApO2Zvcih2YXIgZj1uZXcgU2V0LGg9aix2PUduKCkseT0wO3k8ZTt5Kz0xKXtDJiZ3Lm5vZGVUeXBlPT09OCYmdy5kYXRhPT09YF1gJiYobz13LGM9ITAsSmUoITEpKTt2YXIgZWU9ZFt5XSxiPXIoZWUseSksdGU9bT9udWxsOnMuZ2V0KGIpO3RlPyh0ZS52JiZFbih0ZS52LGVlKSx0ZS5pJiZFbih0ZS5pLHkpLHYmJmgudW5za2lwX2VmZmVjdCh0ZS5lKSk6KHRlPUppKHMsbT9vOldpPz89em4oKSxlZSxiLHksaSx0LG4pLG18fCh0ZS5lLmZ8PV9lKSxzLnNldChiLHRlKSksZi5hZGQoYil9aWYoZT09PTAmJmEmJiFsJiYobT9sPWdyKCgpPT5hKG8pKToobD1ncigoKT0+YShXaT8/PXpuKCkpKSxsLmZ8PV9lKSksZT5mLnNpemUmJmtlKGBgLGBgLGBgKSxDJiZlPjAmJlQoUWUoKSksIW0paWYocC5zZXQoaCxmKSx2KXtmb3IobGV0W2UsdF1vZiBzKWYuaGFzKGUpfHxoLnNraXBfZWZmZWN0KHQuZSk7aC5vbmNvbW1pdChnKSxoLm9uZGlzY2FyZChfKX1lbHNlIGcoaCk7YyYmSmUoITApLFIodSl9KSxmbGFnczp0LGl0ZW1zOnMscGVuZGluZzpwLG91dHJvZ3JvdXBzOm51bGwsZmFsbGJhY2s6bH07bT0hMSxDJiYobz13KX1mdW5jdGlvbiBLaShlKXtmb3IoO2UhPT1udWxsJiYhKGUuZiYzMik7KWU9ZS5uZXh0O3JldHVybiBlfWZ1bmN0aW9uIHFpKGUsdCxuLHIsaSl7dmFyIGE9KHImOCkhPTAsbz10Lmxlbmd0aCxzPWUuaXRlbXMsYz1LaShlLmVmZmVjdC5maXJzdCksbCx1PW51bGwsZCxmPVtdLHA9W10sbSxnLF8sdjtpZihhKWZvcih2PTA7djxvO3YrPTEpbT10W3ZdLGc9aShtLHYpLF89cy5nZXQoZykuZSxfLmYmMzM1NTQ0MzJ8fChfLm5vZGVzPy5hPy5tZWFzdXJlKCksKGQ/Pz1uZXcgU2V0KS5hZGQoXykpO2Zvcih2PTA7djxvO3YrPTEpe2lmKG09dFt2XSxnPWkobSx2KSxfPXMuZ2V0KGcpLmUsZS5vdXRyb2dyb3VwcyE9PW51bGwpZm9yKGxldCB0IG9mIGUub3V0cm9ncm91cHMpdC5wZW5kaW5nLmRlbGV0ZShfKSx0LmRvbmUuZGVsZXRlKF8pO2lmKF8uZiY4MTkyJiYod3IoXyksYSYmKF8ubm9kZXM/LmE/LnVuZml4KCksKGQ/Pz1uZXcgU2V0KS5kZWxldGUoXykpKSxfLmYmMzM1NTQ0MzIpaWYoXy5mXj1fZSxfPT09YylZaShfLG51bGwsbik7ZWxzZXt2YXIgeT11P3UubmV4dDpjO189PT1lLmVmZmVjdC5sYXN0JiYoZS5lZmZlY3QubGFzdD1fLnByZXYpLF8ucHJldiYmKF8ucHJldi5uZXh0PV8ubmV4dCksXy5uZXh0JiYoXy5uZXh0LnByZXY9Xy5wcmV2KSxYaShlLHUsXyksWGkoZSxfLHkpLFlpKF8seSxuKSx1PV8sZj1bXSxwPVtdLGM9S2kodS5uZXh0KTtjb250aW51ZX1pZihfIT09Yyl7aWYobCE9PXZvaWQgMCYmbC5oYXMoXykpe2lmKGYubGVuZ3RoPHAubGVuZ3RoKXt2YXIgZWU9cFswXSxiO3U9ZWUucHJldjt2YXIgdGU9ZlswXSxuZT1mW2YubGVuZ3RoLTFdO2ZvcihiPTA7YjxmLmxlbmd0aDtiKz0xKVlpKGZbYl0sZWUsbik7Zm9yKGI9MDtiPHAubGVuZ3RoO2IrPTEpbC5kZWxldGUocFtiXSk7WGkoZSx0ZS5wcmV2LG5lLm5leHQpLFhpKGUsdSx0ZSksWGkoZSxuZSxlZSksYz1lZSx1PW5lLC0tdixmPVtdLHA9W119ZWxzZSBsLmRlbGV0ZShfKSxZaShfLGMsbiksWGkoZSxfLnByZXYsXy5uZXh0KSxYaShlLF8sdT09PW51bGw/ZS5lZmZlY3QuZmlyc3Q6dS5uZXh0KSxYaShlLHUsXyksdT1fO2NvbnRpbnVlfWZvcihmPVtdLHA9W107YyE9PW51bGwmJmMhPT1fOykobD8/PW5ldyBTZXQpLmFkZChjKSxwLnB1c2goYyksYz1LaShjLm5leHQpO2lmKGM9PT1udWxsKWNvbnRpbnVlfV8uZiYzMzU1NDQzMnx8Zi5wdXNoKF8pLHU9XyxjPUtpKF8ubmV4dCl9aWYoZS5vdXRyb2dyb3VwcyE9PW51bGwpe2ZvcihsZXQgdCBvZiBlLm91dHJvZ3JvdXBzKXQucGVuZGluZy5zaXplPT09MCYmKFVpKGUsaCh0LmRvbmUpKSxlLm91dHJvZ3JvdXBzPy5kZWxldGUodCkpO2Uub3V0cm9ncm91cHMuc2l6ZT09PTAmJihlLm91dHJvZ3JvdXBzPW51bGwpfWlmKGMhPT1udWxsfHxsIT09dm9pZCAwKXt2YXIgeD1bXTtpZihsIT09dm9pZCAwKWZvcihfIG9mIGwpXy5mJjgxOTJ8fHgucHVzaChfKTtmb3IoO2MhPT1udWxsOykhKGMuZiY4MTkyKSYmYyE9PWUuZmFsbGJhY2smJngucHVzaChjKSxjPUtpKGMubmV4dCk7dmFyIHJlPXgubGVuZ3RoO2lmKHJlPjApe3ZhciBpZT1yJjQmJm89PT0wP246bnVsbDtpZihhKXtmb3Iodj0wO3Y8cmU7dis9MSl4W3ZdLm5vZGVzPy5hPy5tZWFzdXJlKCk7Zm9yKHY9MDt2PHJlO3YrPTEpeFt2XS5ub2Rlcz8uYT8uZml4KCl9SGkoZSx4LGllKX19YSYmZ3QoKCk9PntpZihkIT09dm9pZCAwKWZvcihfIG9mIGQpXy5ub2Rlcz8uYT8uYXBwbHkoKX0pfWZ1bmN0aW9uIEppKGUsdCxuLHIsaSxhLG8scyl7dmFyIGM9byYxP28mMTY/U24obik6d24obiwhMSwhMSk6bnVsbCxsPW8mMj9TbihpKTpudWxsO3JldHVybnt2OmMsaTpsLGU6Z3IoKCk9PihhKHQsYz8/bixsPz9pLHMpLCgpPT57ZS5kZWxldGUocil9KSl9fWZ1bmN0aW9uIFlpKGUsdCxuKXtpZihlLm5vZGVzKWZvcih2YXIgcj1lLm5vZGVzLnN0YXJ0LGk9ZS5ub2Rlcy5lbmQsYT10JiYhKHQuZiYzMzU1NDQzMik/dC5ub2Rlcy5zdGFydDpuO3IhPT1udWxsOyl7dmFyIG89Qm4ocik7aWYoYS5iZWZvcmUocikscj09PWkpcmV0dXJuO3I9b319ZnVuY3Rpb24gWGkoZSx0LG4pe3Q9PT1udWxsP2UuZWZmZWN0LmZpcnN0PW46dC5uZXh0PW4sbj09PW51bGw/ZS5lZmZlY3QubGFzdD10Om4ucHJldj10fWZ1bmN0aW9uIFppKGUsdCxuPSExLHI9ITEsaT0hMSxhPSExKXt2YXIgbz1lLHM9YGA7aWYobil7dmFyIGM9ZTtDJiYobz1UKE4oYykpKX1wcigoKT0+e3ZhciBlPUk7aWYocz09PShzPXQoKT8/YGApKXtDJiZZZSgpO3JldHVybn1pZihuJiYhQyl7ZS5ub2Rlcz1udWxsLGMuaW5uZXJIVE1MPXMscyE9PWBgJiZDaShOKGMpLGMubGFzdENoaWxkKTtyZXR1cm59aWYoZS5ub2RlcyE9PW51bGwmJihicihlLm5vZGVzLnN0YXJ0LGUubm9kZXMuZW5kKSxlLm5vZGVzPW51bGwpLHMhPT1gYCl7aWYoQyl7Zm9yKHZhciBhPXcuZGF0YSxsPVllKCksdT1sO2whPT1udWxsJiYobC5ub2RlVHlwZSE9PTh8fGwuZGF0YSE9PWBgKTspdT1sLGw9Qm4obCk7aWYobD09PW51bGwpdGhyb3cgR2UoKSxCZTtDaSh3LHUpLG89VChsKTtyZXR1cm59dmFyIGQ9S24ocj9gc3ZnYDppP2BtYXRoYDpgdGVtcGxhdGVgLHI/SGU6aT9VZTp2b2lkIDApO2QuaW5uZXJIVE1MPXM7dmFyIGY9cnx8aT9kOmQuY29udGVudDtpZihDaShOKGYpLGYubGFzdENoaWxkKSxyfHxpKWZvcig7TihmKTspby5iZWZvcmUoTihmKSk7ZWxzZSBvLmJlZm9yZShmKX19KX1mdW5jdGlvbiBRaShlLHQsLi4ubil7dmFyIHI9bmV3IExpKGUpO21yKCgpPT57bGV0IGU9dCgpPz9udWxsO3IuZW5zdXJlKGUsZSYmKHQ9PmUodCwuLi5uKSkpfSxtZSl9ZnVuY3Rpb24gJGkoZSx0LG4pe3ZhciByO0MmJihyPXcsWWUoKSk7dmFyIGk9bmV3IExpKGUpO21yKCgpPT57dmFyIGU9dCgpPz9udWxsO2lmKEMmJiRlKHIpPT09YFtgIT0oZSE9PW51bGwpKXt2YXIgYT1RZSgpO1QoYSksaS5hbmNob3I9YSxKZSghMSksaS5lbnN1cmUoZSxlJiYodD0+bih0LGUpKSksSmUoITApO3JldHVybn1pLmVuc3VyZShlLGUmJih0PT5uKHQsZSkpKX0sbWUpfXZhciBlYT0oKT0+cGVyZm9ybWFuY2Uubm93KCksdGE9e3RpY2s6ZT0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGUpLG5vdzooKT0+ZWEoKSx0YXNrczpuZXcgU2V0fTtmdW5jdGlvbiBuYSgpe2xldCBlPXRhLm5vdygpO3RhLnRhc2tzLmZvckVhY2godD0+e3QuYyhlKXx8KHRhLnRhc2tzLmRlbGV0ZSh0KSx0LmYoKSl9KSx0YS50YXNrcy5zaXplIT09MCYmdGEudGljayhuYSl9ZnVuY3Rpb24gcmEoZSl7bGV0IHQ7cmV0dXJuIHRhLnRhc2tzLnNpemU9PT0wJiZ0YS50aWNrKG5hKSx7cHJvbWlzZTpuZXcgUHJvbWlzZShuPT57dGEudGFza3MuYWRkKHQ9e2M6ZSxmOm59KX0pLGFib3J0KCl7dGEudGFza3MuZGVsZXRlKHQpfX19ZnVuY3Rpb24gaWEoZSx0KXskbigoKT0+e2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQodCkpfSl9ZnVuY3Rpb24gYWEoZSl7aWYoZT09PWBmbG9hdGApcmV0dXJuYGNzc0Zsb2F0YDtpZihlPT09YG9mZnNldGApcmV0dXJuYGNzc09mZnNldGA7aWYoZS5zdGFydHNXaXRoKGAtLWApKXJldHVybiBlO2xldCB0PWUuc3BsaXQoYC1gKTtyZXR1cm4gdC5sZW5ndGg9PT0xP3RbMF06dFswXSt0LnNsaWNlKDEpLm1hcChlPT5lWzBdLnRvVXBwZXJDYXNlKCkrZS5zbGljZSgxKSkuam9pbihgYCl9ZnVuY3Rpb24gb2EoZSl7bGV0IHQ9e30sbj1lLnNwbGl0KGA7YCk7Zm9yKGxldCBlIG9mIG4pe2xldFtuLHJdPWUuc3BsaXQoYDpgKTtpZighbnx8cj09PXZvaWQgMClicmVhaztsZXQgaT1hYShuLnRyaW0oKSk7dFtpXT1yLnRyaW0oKX1yZXR1cm4gdH12YXIgc2E9ZT0+ZTtmdW5jdGlvbiBjYShlLHQsbixyKXt2YXIgaT0oZSYxKSE9MCxhPShlJjIpIT0wLG89aSYmYSxzPShlJjQpIT0wLGM9bz9gYm90aGA6aT9gaW5gOmBvdXRgLGwsdT10LmluZXJ0LGQ9dC5zdHlsZS5vdmVyZmxvdyxmLHA7ZnVuY3Rpb24gbSgpe3JldHVybiAkbigoKT0+bD8/PW4oKSh0LHI/LigpPz97fSx7ZGlyZWN0aW9uOmN9KSl9dmFyIGg9e2lzX2dsb2JhbDpzLGluKCl7aWYodC5pbmVydD11LCFpKXtwPy5hYm9ydCgpLHA/LnJlc2V0Py4oKTtyZXR1cm59YXx8Zj8uYWJvcnQoKSxmPWxhKHQsbSgpLHAsMSwoKT0+e2lhKHQsYGludHJvc3RhcnRgKX0sKCk9PntpYSh0LGBpbnRyb2VuZGApLGY/LmFib3J0KCksZj1sPXZvaWQgMCx0LnN0eWxlLm92ZXJmbG93PWR9KX0sb3V0KGUpe2lmKCFhKXtlPy4oKSxsPXZvaWQgMDtyZXR1cm59dC5pbmVydD0hMCxwPWxhKHQsbSgpLGYsMCwoKT0+e2lhKHQsYG91dHJvc3RhcnRgKX0sKCk9PntpYSh0LGBvdXRyb2VuZGApLGU/LigpfSl9LHN0b3A6KCk9PntmPy5hYm9ydCgpLHA/LmFib3J0KCl9fSxnPUk7aWYoKGcubm9kZXMudD8/PVtdKS5wdXNoKGgpLGkmJkFpKXt2YXIgXz1zO2lmKCFfKXtmb3IodmFyIHY9Zy5wYXJlbnQ7diYmdi5mJjY1NTM2Oylmb3IoOyh2PXYucGFyZW50KSYmISh2LmYmMTYpOyk7Xz0hdnx8KHYuZiYzMjc2OCkhPTB9XyYmdXIoKCk9PnskcigoKT0+aC5pbigpKX0pfX1mdW5jdGlvbiBsYShlLHQsbixyLGksYSl7dmFyIG89cj09PTE7aWYobmUodCkpe3ZhciBzLGM9ITE7cmV0dXJuIGd0KCgpPT57Y3x8KHM9bGEoZSx0KHtkaXJlY3Rpb246bz9gaW5gOmBvdXRgfSksbixyLGksYSkpfSkse2Fib3J0OigpPT57Yz0hMCxzPy5hYm9ydCgpfSxkZWFjdGl2YXRlOigpPT5zLmRlYWN0aXZhdGUoKSxyZXNldDooKT0+cy5yZXNldCgpLHQ6KCk9PnMudCgpfX1pZihuPy5kZWFjdGl2YXRlKCksIXQ/LmR1cmF0aW9uJiYhdD8uZGVsYXkpcmV0dXJuIGkoKSxhKCkse2Fib3J0OngsZGVhY3RpdmF0ZTp4LHJlc2V0OngsdDooKT0+cn07bGV0e2RlbGF5Omw9MCxjc3M6dSx0aWNrOmQsZWFzaW5nOmY9c2F9PXQ7dmFyIHA9W107aWYobyYmbj09PXZvaWQgMCYmKGQmJmQoMCwxKSx1KSl7dmFyIG09b2EodSgwLDEpKTtwLnB1c2gobSxtKX12YXIgaD0oKT0+MS1yLGc9ZS5hbmltYXRlKHAse2R1cmF0aW9uOmwsZmlsbDpgZm9yd2FyZHNgfSk7cmV0dXJuIGcub25maW5pc2g9KCk9PntnLmNhbmNlbCgpLGkoKTt2YXIgbz1uPy50KCk/PzEtcjtuPy5hYm9ydCgpO3ZhciBzPXItbyxjPXQuZHVyYXRpb24qTWF0aC5hYnMocyksbD1bXTtpZihjPjApe3ZhciBwPSExO2lmKHUpZm9yKHZhciBtPU1hdGguY2VpbChjLygxZTMvNjApKSxfPTA7Xzw9bTtfKz0xKXt2YXIgdj1vK3MqZihfL20pLHk9b2EodSh2LDEtdikpO2wucHVzaCh5KSxwfHw9eS5vdmVyZmxvdz09PWBoaWRkZW5gfXAmJihlLnN0eWxlLm92ZXJmbG93PWBoaWRkZW5gKSxoPSgpPT57dmFyIGU9Zy5jdXJyZW50VGltZTtyZXR1cm4gbytzKmYoZS9jKX0sZCYmcmEoKCk9PntpZihnLnBsYXlTdGF0ZSE9PWBydW5uaW5nYClyZXR1cm4hMTt2YXIgZT1oKCk7cmV0dXJuIGQoZSwxLWUpLCEwfSl9Zz1lLmFuaW1hdGUobCx7ZHVyYXRpb246YyxmaWxsOmBmb3J3YXJkc2B9KSxnLm9uZmluaXNoPSgpPT57aD0oKT0+cixkPy4ociwxLXIpLGEoKX19LHthYm9ydDooKT0+e2cmJihnLmNhbmNlbCgpLGcuZWZmZWN0PW51bGwsZy5vbmZpbmlzaD14KX0sZGVhY3RpdmF0ZTooKT0+e2E9eH0scmVzZXQ6KCk9PntyPT09MCYmZD8uKDEsMCl9LHQ6KCk9PmgoKX19ZnVuY3Rpb24gdWEoZSx0LG4pe3VyKCgpPT57dmFyIHI9JHIoKCk9PnQoZSxuPy4oKSl8fHt9KTtpZihuJiZyPy51cGRhdGUpe3ZhciBpPSExLGE9e307ZnIoKCk9Pnt2YXIgZT1uKCk7ZWkoZSksaSYmdHQoYSxlKSYmKGE9ZSxyLnVwZGF0ZShlKSl9KSxpPSEwfWlmKHI/LmRlc3Ryb3kpcmV0dXJuKCk9PnIuZGVzdHJveSgpfSl9ZnVuY3Rpb24gZGEoZSx0KXt2YXIgbj12b2lkIDAscjtocigoKT0+e24hPT0obj10KCkpJiYociYmPShQKHIpLG51bGwpLG4mJihyPWdyKCgpPT57dXIoKCk9Pm4oZSkpfSkpKX0pfWZ1bmN0aW9uIGZhKGUpe3ZhciB0LG4scj1gYDtpZih0eXBlb2YgZT09YHN0cmluZ2B8fHR5cGVvZiBlPT1gbnVtYmVyYClyKz1lO2Vsc2UgaWYodHlwZW9mIGU9PWBvYmplY3RgKWlmKEFycmF5LmlzQXJyYXkoZSkpe3ZhciBpPWUubGVuZ3RoO2Zvcih0PTA7dDxpO3QrKyllW3RdJiYobj1mYShlW3RdKSkmJihyJiYocis9YCBgKSxyKz1uKX1lbHNlIGZvcihuIGluIGUpZVtuXSYmKHImJihyKz1gIGApLHIrPW4pO3JldHVybiByfWZ1bmN0aW9uIHBhKCl7Zm9yKHZhciBlLHQsbj0wLHI9YGAsaT1hcmd1bWVudHMubGVuZ3RoO248aTtuKyspKGU9YXJndW1lbnRzW25dKSYmKHQ9ZmEoZSkpJiYociYmKHIrPWAgYCkscis9dCk7cmV0dXJuIHJ9ZnVuY3Rpb24gbWEoZSl7cmV0dXJuIHR5cGVvZiBlPT1gb2JqZWN0YD9wYShlKTplPz9gYH12YXIgaGE9Wy4uLmAgCQpcclxmXHhBMFx277u/YF07ZnVuY3Rpb24gZ2EoZSx0LG4pe3ZhciByPWU9PW51bGw/YGA6YGArZTtpZih0JiYocj1yP3IrYCBgK3Q6dCksbil7Zm9yKHZhciBpIG9mIE9iamVjdC5rZXlzKG4pKWlmKG5baV0pcj1yP3IrYCBgK2k6aTtlbHNlIGlmKHIubGVuZ3RoKWZvcih2YXIgYT1pLmxlbmd0aCxvPTA7KG89ci5pbmRleE9mKGksbykpPj0wOyl7dmFyIHM9bythOyhvPT09MHx8aGEuaW5jbHVkZXMocltvLTFdKSkmJihzPT09ci5sZW5ndGh8fGhhLmluY2x1ZGVzKHJbc10pKT9yPShvPT09MD9gYDpyLnN1YnN0cmluZygwLG8pKStyLnN1YnN0cmluZyhzKzEpOm89c319cmV0dXJuIHI9PT1gYD9udWxsOnJ9ZnVuY3Rpb24gX2EoZSx0PSExKXt2YXIgbj10P2AgIWltcG9ydGFudDtgOmA7YCxyPWBgO2Zvcih2YXIgaSBvZiBPYmplY3Qua2V5cyhlKSl7dmFyIGE9ZVtpXTthIT1udWxsJiZhIT09YGAmJihyKz1gIGAraStgOiBgK2Erbil9cmV0dXJuIHJ9ZnVuY3Rpb24gdmEoZSl7cmV0dXJuIGVbMF0hPT1gLWB8fGVbMV0hPT1gLWA/ZS50b0xvd2VyQ2FzZSgpOmV9ZnVuY3Rpb24geWEoZSx0KXtpZih0KXt2YXIgbj1gYCxyLGk7aWYoQXJyYXkuaXNBcnJheSh0KT8ocj10WzBdLGk9dFsxXSk6cj10LGUpe2U9U3RyaW5nKGUpLnJlcGxhY2VBbGwoL1xzKlwvXCouKj9cKlwvXHMqL2csYGApLnRyaW0oKTt2YXIgYT0hMSxvPTAscz0hMSxjPVtdO3ImJmMucHVzaCguLi5PYmplY3Qua2V5cyhyKS5tYXAodmEpKSxpJiZjLnB1c2goLi4uT2JqZWN0LmtleXMoaSkubWFwKHZhKSk7dmFyIGw9MCx1PS0xO2xldCB0PWUubGVuZ3RoO2Zvcih2YXIgZD0wO2Q8dDtkKyspe3ZhciBmPWVbZF07aWYocz9mPT09YC9gJiZlW2QtMV09PT1gKmAmJihzPSExKTphP2E9PT1mJiYoYT0hMSk6Zj09PWAvYCYmZVtkKzFdPT09YCpgP3M9ITA6Zj09PWAiYHx8Zj09PWAnYD9hPWY6Zj09PWAoYD9vKys6Zj09PWApYCYmby0tLCFzJiZhPT09ITEmJm89PT0wKXtpZihmPT09YDpgJiZ1PT09LTEpdT1kO2Vsc2UgaWYoZj09PWA7YHx8ZD09PXQtMSl7aWYodSE9PS0xKXt2YXIgcD12YShlLnN1YnN0cmluZyhsLHUpLnRyaW0oKSk7aWYoIWMuaW5jbHVkZXMocCkpe2YhPT1gO2AmJmQrKzt2YXIgbT1lLnN1YnN0cmluZyhsLGQpLnRyaW0oKTtuKz1gIGArbStgO2B9fWw9ZCsxLHU9LTF9fX19cmV0dXJuIHImJihuKz1fYShyKSksaSYmKG4rPV9hKGksITApKSxuPW4udHJpbSgpLG49PT1gYD9udWxsOm59cmV0dXJuIGU9PW51bGw/bnVsbDpTdHJpbmcoZSl9ZnVuY3Rpb24gYmEoZSx0LG4scixpLGEpe3ZhciBvPWUuX19jbGFzc05hbWU7aWYoQ3x8byE9PW58fG89PT12b2lkIDApe3ZhciBzPWdhKG4scixhKTsoIUN8fHMhPT1lLmdldEF0dHJpYnV0ZShgY2xhc3NgKSkmJihzPT1udWxsP2UucmVtb3ZlQXR0cmlidXRlKGBjbGFzc2ApOnQ/ZS5jbGFzc05hbWU9czplLnNldEF0dHJpYnV0ZShgY2xhc3NgLHMpKSxlLl9fY2xhc3NOYW1lPW59ZWxzZSBpZihhJiZpIT09YSlmb3IodmFyIGMgaW4gYSl7dmFyIGw9ISFhW2NdOyhpPT1udWxsfHxsIT09ISFpW2NdKSYmZS5jbGFzc0xpc3QudG9nZ2xlKGMsbCl9cmV0dXJuIGF9ZnVuY3Rpb24geGEoZSx0PXt9LG4scil7Zm9yKHZhciBpIGluIG4pe3ZhciBhPW5baV07dFtpXSE9PWEmJihuW2ldPT1udWxsP2Uuc3R5bGUucmVtb3ZlUHJvcGVydHkoaSk6ZS5zdHlsZS5zZXRQcm9wZXJ0eShpLGEscikpfX1mdW5jdGlvbiBTYShlLHQsbixyKXt2YXIgaT1lLl9fc3R5bGU7aWYoQ3x8aSE9PXQpe3ZhciBhPXlhKHQscik7KCFDfHxhIT09ZS5nZXRBdHRyaWJ1dGUoYHN0eWxlYCkpJiYoYT09bnVsbD9lLnJlbW92ZUF0dHJpYnV0ZShgc3R5bGVgKTplLnN0eWxlLmNzc1RleHQ9YSksZS5fX3N0eWxlPXR9ZWxzZSByJiYoQXJyYXkuaXNBcnJheShyKT8oeGEoZSxuPy5bMF0sclswXSkseGEoZSxuPy5bMV0sclsxXSxgaW1wb3J0YW50YCkpOnhhKGUsbixyKSk7cmV0dXJuIHJ9ZnVuY3Rpb24gQ2EoZSx0LG49ITEpe2lmKGUubXVsdGlwbGUpe2lmKHQ9PW51bGwpcmV0dXJuO2lmKCFmKHQpKXJldHVybiBLZSgpO2Zvcih2YXIgciBvZiBlLm9wdGlvbnMpci5zZWxlY3RlZD10LmluY2x1ZGVzKEVhKHIpKTtyZXR1cm59Zm9yKHIgb2YgZS5vcHRpb25zKWlmKE5uKEVhKHIpLHQpKXtyLnNlbGVjdGVkPSEwO3JldHVybn0oIW58fHQhPT12b2lkIDApJiYoZS5zZWxlY3RlZEluZGV4PS0xKX1mdW5jdGlvbiB3YShlKXt2YXIgdD1uZXcgTXV0YXRpb25PYnNlcnZlcigoKT0+e0NhKGUsZS5fX3ZhbHVlKX0pO3Qub2JzZXJ2ZShlLHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMCxhdHRyaWJ1dGVzOiEwLGF0dHJpYnV0ZUZpbHRlcjpbYHZhbHVlYF19KSxhcigoKT0+e3QuZGlzY29ubmVjdCgpfSl9ZnVuY3Rpb24gVGEoZSx0LG49dCl7dmFyIHI9bmV3IFdlYWtTZXQsaT0hMDtlcihlLGBjaGFuZ2VgLHQ9Pnt2YXIgaT10P2Bbc2VsZWN0ZWRdYDpgOmNoZWNrZWRgLGE7aWYoZS5tdWx0aXBsZSlhPVtdLm1hcC5jYWxsKGUucXVlcnlTZWxlY3RvckFsbChpKSxFYSk7ZWxzZXt2YXIgbz1lLnF1ZXJ5U2VsZWN0b3IoaSk/P2UucXVlcnlTZWxlY3Rvcihgb3B0aW9uOm5vdChbZGlzYWJsZWRdKWApO2E9byYmRWEobyl9bihhKSxlLl9fdmFsdWU9YSxqIT09bnVsbCYmci5hZGQoail9KSx1cigoKT0+e3ZhciBhPXQoKTtpZihlPT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCl7dmFyIG89cnQ/THQ6ajtpZihyLmhhcyhvKSlyZXR1cm59aWYoQ2EoZSxhLGkpLGkmJmE9PT12b2lkIDApe3ZhciBzPWUucXVlcnlTZWxlY3RvcihgOmNoZWNrZWRgKTtzIT09bnVsbCYmKGE9RWEocyksbihhKSl9ZS5fX3ZhbHVlPWEsaT0hMX0pLHdhKGUpfWZ1bmN0aW9uIEVhKGUpe3JldHVybmBfX3ZhbHVlYGluIGU/ZS5fX3ZhbHVlOmUudmFsdWV9dmFyIERhPVN5bWJvbChgY2xhc3NgKSxPYT1TeW1ib2woYHN0eWxlYCksa2E9U3ltYm9sKGBpcyBjdXN0b20gZWxlbWVudGApLEFhPVN5bWJvbChgaXMgaHRtbGApLGphPUVlP2BsaW5rYDpgTElOS2AsTWE9RWU/YGlucHV0YDpgSU5QVVRgLE5hPUVlP2BvcHRpb25gOmBPUFRJT05gLFBhPUVlP2BzZWxlY3RgOmBTRUxFQ1RgLEZhPUVlP2Bwcm9ncmVzc2A6YFBST0dSRVNTYDtmdW5jdGlvbiBJYShlKXtpZihDKXt2YXIgdD0hMSxuPSgpPT57aWYoIXQpe2lmKHQ9ITAsZS5oYXNBdHRyaWJ1dGUoYHZhbHVlYCkpe3ZhciBuPWUudmFsdWU7emEoZSxgdmFsdWVgLG51bGwpLGUudmFsdWU9bn1pZihlLmhhc0F0dHJpYnV0ZShgY2hlY2tlZGApKXt2YXIgcj1lLmNoZWNrZWQ7emEoZSxgY2hlY2tlZGAsbnVsbCksZS5jaGVja2VkPXJ9fX07ZS5fX29uX3I9bixndChuKSxRbigpfX1mdW5jdGlvbiBMYShlLHQpe3ZhciBuPUhhKGUpO24udmFsdWU9PT0obi52YWx1ZT10Pz92b2lkIDApfHxlLnZhbHVlPT09dCYmKHQhPT0wfHxlLm5vZGVOYW1lIT09RmEpfHwoZS52YWx1ZT10Pz9gYCl9ZnVuY3Rpb24gUmEoZSx0KXt0P2UuaGFzQXR0cmlidXRlKGBzZWxlY3RlZGApfHxlLnNldEF0dHJpYnV0ZShgc2VsZWN0ZWRgLGBgKTplLnJlbW92ZUF0dHJpYnV0ZShgc2VsZWN0ZWRgKX1mdW5jdGlvbiB6YShlLHQsbixyKXt2YXIgaT1IYShlKTtDJiYoaVt0XT1lLmdldEF0dHJpYnV0ZSh0KSx0PT09YHNyY2B8fHQ9PT1gc3Jjc2V0YHx8dD09PWBocmVmYCYmZS5ub2RlTmFtZT09PWphKXx8aVt0XSE9PShpW3RdPW4pJiYodD09PWBsb2FkaW5nYCYmKGVbd2VdPW4pLG49PW51bGw/ZS5yZW1vdmVBdHRyaWJ1dGUodCk6dHlwZW9mIG4hPWBzdHJpbmdgJiZXYShlKS5pbmNsdWRlcyh0KT9lW3RdPW46ZS5zZXRBdHRyaWJ1dGUodCxuKSl9ZnVuY3Rpb24gQmEoZSx0LG4scixpPSExLGE9ITEpe2lmKEMmJmkmJmUubm9kZU5hbWU9PT1NYSl7dmFyIG89ZTsoby50eXBlPT09YGNoZWNrYm94YD9gZGVmYXVsdENoZWNrZWRgOmBkZWZhdWx0VmFsdWVgKWluIG58fElhKG8pfXZhciBzPUhhKGUpLGM9c1trYV0sbD0hc1tBYV07bGV0IHU9QyYmYzt1JiZKZSghMSk7dmFyIGQ9dHx8e30sZj1lLm5vZGVOYW1lPT09TmE7Zm9yKHZhciBwIGluIHQpcCBpbiBufHwobltwXT1udWxsKTtuLmNsYXNzP24uY2xhc3M9bWEobi5jbGFzcyk6KHJ8fG5bRGFdKSYmKG4uY2xhc3M9bnVsbCksbltPYV0mJihuLnN0eWxlPz89bnVsbCk7dmFyIG09V2EoZSk7Zm9yKGxldCBpIGluIG4pe2xldCBvPW5baV07aWYoZiYmaT09PWB2YWx1ZWAmJm89PW51bGwpe2UudmFsdWU9ZS5fX3ZhbHVlPWBgLGRbaV09bztjb250aW51ZX1pZihpPT09YGNsYXNzYCl7YmEoZSxlLm5hbWVzcGFjZVVSST09PWBodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sYCxvLHIsdD8uW0RhXSxuW0RhXSksZFtpXT1vLGRbRGFdPW5bRGFdO2NvbnRpbnVlfWlmKGk9PT1gc3R5bGVgKXtTYShlLG8sdD8uW09hXSxuW09hXSksZFtpXT1vLGRbT2FdPW5bT2FdO2NvbnRpbnVlfXZhciBoPWRbaV07aWYoIShvPT09aCYmIShvPT09dm9pZCAwJiZlLmhhc0F0dHJpYnV0ZShpKSkpKXtkW2ldPW87dmFyIGc9aVswXStpWzFdO2lmKGchPT1gJCRgKWlmKGc9PT1gb25gKXtsZXQgdD17fSxuPWAkJGAraSxyPWkuc2xpY2UoMik7dmFyIF89aWkocik7aWYobmkocikmJihyPXIuc2xpY2UoMCwtNyksdC5jYXB0dXJlPSEwKSwhXyYmaCl7aWYobyE9bnVsbCljb250aW51ZTtlLnJlbW92ZUV2ZW50TGlzdGVuZXIocixkW25dLHQpLGRbbl09bnVsbH1pZihfKWdpKHIsZSxvKSxfaShbcl0pO2Vsc2UgaWYobyE9bnVsbCl7ZnVuY3Rpb24gYShlKXtkW2ldLmNhbGwodGhpcyxlKX1kW25dPW1pKHIsZSxhLHQpfX1lbHNlIGlmKGk9PT1gc3R5bGVgKXphKGUsaSxvKTtlbHNlIGlmKGk9PT1gYXV0b2ZvY3VzYClZbihlLCEhbyk7ZWxzZSBpZighYyYmKGk9PT1gX192YWx1ZWB8fGk9PT1gdmFsdWVgJiZvIT1udWxsKSllLnZhbHVlPWUuX192YWx1ZT1vO2Vsc2UgaWYoaT09PWBzZWxlY3RlZGAmJmYpUmEoZSxvKTtlbHNle3ZhciB2PWk7bHx8KHY9c2kodikpO3ZhciB5PXY9PT1gZGVmYXVsdFZhbHVlYHx8dj09PWBkZWZhdWx0Q2hlY2tlZGA7aWYobz09bnVsbCYmIWMmJiF5KWlmKHNbaV09bnVsbCx2PT09YHZhbHVlYHx8dj09PWBjaGVja2VkYCl7bGV0IG49ZSxyPXQ9PT12b2lkIDA7aWYodj09PWB2YWx1ZWApe2xldCBlPW4uZGVmYXVsdFZhbHVlO24ucmVtb3ZlQXR0cmlidXRlKHYpLG4uZGVmYXVsdFZhbHVlPWUsbi52YWx1ZT1uLl9fdmFsdWU9cj9lOm51bGx9ZWxzZXtsZXQgZT1uLmRlZmF1bHRDaGVja2VkO24ucmVtb3ZlQXR0cmlidXRlKHYpLG4uZGVmYXVsdENoZWNrZWQ9ZSxuLmNoZWNrZWQ9cj9lOiExfX1lbHNlIGUucmVtb3ZlQXR0cmlidXRlKGkpO2Vsc2UgeXx8bS5pbmNsdWRlcyh2KSYmKGN8fHR5cGVvZiBvIT1gc3RyaW5nYCk/KGVbdl09byx2IGluIHMmJihzW3ZdPVMpKTp0eXBlb2YgbyE9YGZ1bmN0aW9uYCYmemEoZSx2LG8sYSl9fX1yZXR1cm4gdSYmSmUoITApLGR9ZnVuY3Rpb24gVmEoZSx0LG49W10scj1bXSxpPVtdLGEsbz0hMSxzPSExKXtvbihpLG4scixuPT57dmFyIHI9dm9pZCAwLGk9e30sYz1lLm5vZGVOYW1lPT09UGEsbD0hMTtpZihocigoKT0+e3ZhciB1PXQoLi4ubi5tYXAoUikpLGQ9QmEoZSxyLHUsYSxvLHMpO2wmJmMmJmB2YWx1ZWBpbiB1JiZDYShlLHUudmFsdWUpO2ZvcihsZXQgZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGkpKXVbZV18fFAoaVtlXSk7Zm9yKGxldCB0IG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModSkpe3ZhciBmPXVbdF07dC5kZXNjcmlwdGlvbj09PWBAYXR0YWNoYCYmKCFyfHxmIT09clt0XSkmJihpW3RdJiZQKGlbdF0pLGlbdF09Z3IoKCk9PmRhKGUsKCk9PmYpKSksZFt0XT1mfXI9ZH0pLGMpe3ZhciB1PWU7dXIoKCk9PntDYSh1LHIudmFsdWUsITApLHdhKHUpfSl9bD0hMH0pfWZ1bmN0aW9uIEhhKGUpe3JldHVybiBlLl9fYXR0cmlidXRlcz8/PXtba2FdOmUubm9kZU5hbWUuaW5jbHVkZXMoYC1gKSxbQWFdOmUubmFtZXNwYWNlVVJJPT09VmV9fXZhciBVYT1uZXcgTWFwO2Z1bmN0aW9uIFdhKGUpe3ZhciB0PWUuZ2V0QXR0cmlidXRlKGBpc2ApfHxlLm5vZGVOYW1lLG49VWEuZ2V0KHQpO2lmKG4pcmV0dXJuIG47VWEuc2V0KHQsbj1bXSk7Zm9yKHZhciByLGk9ZSxhPUVsZW1lbnQucHJvdG90eXBlO2EhPT1pOyl7Zm9yKHZhciBvIGluIHI9dihpKSxyKXJbb10uc2V0JiZuLnB1c2gobyk7aT1iKGkpfXJldHVybiBufXZhciBHYT1udWxsO2Z1bmN0aW9uIEthKCl7aWYoR2E9PT1udWxsKXt2YXIgZT1Lbihgc2VsZWN0YCk7ZS5pbm5lckhUTUw9eGkoYDxvcHRpb24+PHNwYW4+dDwvc3Bhbj48L29wdGlvbj5gKSxHYT1lLmZpcnN0Q2hpbGQ/LmZpcnN0Q2hpbGQ/Lm5vZGVUeXBlPT09MX1yZXR1cm4gR2F9ZnVuY3Rpb24gcWEoZSx0KXt2YXIgbj1DO0thKCl8fChKZSghMSksZS50ZXh0Q29udGVudD1gYCxlLmFwcGVuZChxbihgYCkpKTt0cnl7dCgpfWZpbmFsbHl7biYmKEM/WGUoZSk6KEplKCEwKSxUKGUpKSl9fWZ1bmN0aW9uIEphKGUsdCxuPXQpe3ZhciByPW5ldyBXZWFrU2V0O2VyKGUsYGlucHV0YCxhc3luYyBpPT57dmFyIGE9aT9lLmRlZmF1bHRWYWx1ZTplLnZhbHVlO2lmKGE9WGEoZSk/WmEoYSk6YSxuKGEpLGohPT1udWxsJiZyLmFkZChqKSxhd2FpdCBYcigpLGEhPT0oYT10KCkpKXt2YXIgbz1lLnNlbGVjdGlvblN0YXJ0LHM9ZS5zZWxlY3Rpb25FbmQsYz1lLnZhbHVlLmxlbmd0aDtpZihlLnZhbHVlPWE/P2BgLHMhPT1udWxsKXt2YXIgbD1lLnZhbHVlLmxlbmd0aDtvPT09cyYmcz09PWMmJmw+Yz8oZS5zZWxlY3Rpb25TdGFydD1sLGUuc2VsZWN0aW9uRW5kPWwpOihlLnNlbGVjdGlvblN0YXJ0PW8sZS5zZWxlY3Rpb25FbmQ9TWF0aC5taW4ocyxsKSl9fX0pLChDJiZlLmRlZmF1bHRWYWx1ZSE9PWUudmFsdWV8fCRyKHQpPT1udWxsJiZlLnZhbHVlKSYmKG4oWGEoZSk/WmEoZS52YWx1ZSk6ZS52YWx1ZSksaiE9PW51bGwmJnIuYWRkKGopKSxmcigoKT0+e3ZhciBuPXQoKTtpZihlPT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCl7dmFyIGk9cnQ/THQ6ajtpZihyLmhhcyhpKSlyZXR1cm59WGEoZSkmJm49PT1aYShlLnZhbHVlKXx8ZS50eXBlPT09YGRhdGVgJiYhbiYmIWUudmFsdWV8fG4hPT1lLnZhbHVlJiYoZS52YWx1ZT1uPz9gYCl9KX1mdW5jdGlvbiBZYShlLHQsbj10KXtlcihlLGBjaGFuZ2VgLHQ9PntuKHQ/ZS5kZWZhdWx0Q2hlY2tlZDplLmNoZWNrZWQpfSksKEMmJmUuZGVmYXVsdENoZWNrZWQhPT1lLmNoZWNrZWR8fCRyKHQpPT1udWxsKSYmbihlLmNoZWNrZWQpLGZyKCgpPT57ZS5jaGVja2VkPSEhdCgpfSl9ZnVuY3Rpb24gWGEoZSl7dmFyIHQ9ZS50eXBlO3JldHVybiB0PT09YG51bWJlcmB8fHQ9PT1gcmFuZ2VgfWZ1bmN0aW9uIFphKGUpe3JldHVybiBlPT09YGA/bnVsbDorZX1mdW5jdGlvbiBRYShlLHQpe3JldHVybiBlPT09dHx8ZT8uW1NlXT09PXR9ZnVuY3Rpb24gJGEoZT17fSx0LG4scil7dmFyIGk9RS5yLGE9STtyZXR1cm4gdXIoKCk9Pnt2YXIgbyxzO3JldHVybiBmcigoKT0+e289cyxzPXI/LigpfHxbXSwkcigoKT0+e2UhPT1uKC4uLnMpJiYodChlLC4uLnMpLG8mJlFhKG4oLi4ubyksZSkmJnQobnVsbCwuLi5vKSl9KX0pLCgpPT57bGV0IHI9YTtmb3IoO3IhPT1pJiZyLnBhcmVudCE9PW51bGwmJnIucGFyZW50LmYmMzM1NTQ0MzI7KXI9ci5wYXJlbnQ7bGV0IG89KCk9PntzJiZRYShuKC4uLnMpLGUpJiZ0KG51bGwsLi4ucyl9LGM9ci50ZWFyZG93bjtyLnRlYXJkb3duPSgpPT57bygpLGM/LigpfX19KSxlfWZ1bmN0aW9uIGVvKGU9ITEpe2xldCB0PUUsbj10LmwudTtpZighbilyZXR1cm47bGV0IHI9KCk9PmVpKHQucyk7aWYoZSl7bGV0IGU9MCxuPXt9LGk9dW4oKCk9PntsZXQgcj0hMSxpPXQucztmb3IobGV0IGUgaW4gaSlpW2VdIT09bltlXSYmKG5bZV09aVtlXSxyPSEwKTtyZXR1cm4gciYmZSsrLGV9KTtyPSgpPT5SKGkpfW4uYi5sZW5ndGgmJmNyKCgpPT57dG8odCxyKSxpZShuLmIpfSksb3IoKCk9PntsZXQgZT0kcigoKT0+bi5tLm1hcChyZSkpO3JldHVybigpPT57Zm9yKGxldCB0IG9mIGUpdHlwZW9mIHQ9PWBmdW5jdGlvbmAmJnQoKX19KSxuLmEubGVuZ3RoJiZvcigoKT0+e3RvKHQsciksaWUobi5hKX0pfWZ1bmN0aW9uIHRvKGUsdCl7aWYoZS5sLnMpZm9yKGxldCB0IG9mIGUubC5zKVIodCk7dCgpfXZhciBubz17Z2V0KGUsdCl7aWYoIWUuZXhjbHVkZS5pbmNsdWRlcyh0KSlyZXR1cm4gZS5wcm9wc1t0XX0sc2V0KGUsdCl7cmV0dXJuITF9LGdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpe2lmKCFlLmV4Y2x1ZGUuaW5jbHVkZXModCkmJnQgaW4gZS5wcm9wcylyZXR1cm57ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsdmFsdWU6ZS5wcm9wc1t0XX19LGhhcyhlLHQpe3JldHVybiBlLmV4Y2x1ZGUuaW5jbHVkZXModCk/ITE6dCBpbiBlLnByb3BzfSxvd25LZXlzKGUpe3JldHVybiBSZWZsZWN0Lm93bktleXMoZS5wcm9wcykuZmlsdGVyKHQ9PiFlLmV4Y2x1ZGUuaW5jbHVkZXModCkpfX07ZnVuY3Rpb24gcm8oZSx0LG4pe3JldHVybiBuZXcgUHJveHkoe3Byb3BzOmUsZXhjbHVkZTp0fSxubyl9dmFyIGlvPXtnZXQoZSx0KXtsZXQgbj1lLnByb3BzLmxlbmd0aDtmb3IoO24tLTspe2xldCByPWUucHJvcHNbbl07aWYobmUocikmJihyPXIoKSksdHlwZW9mIHI9PWBvYmplY3RgJiZyJiZ0IGluIHIpcmV0dXJuIHJbdF19fSxzZXQoZSx0LG4pe2xldCByPWUucHJvcHMubGVuZ3RoO2Zvcig7ci0tOyl7bGV0IGk9ZS5wcm9wc1tyXTtuZShpKSYmKGk9aSgpKTtsZXQgYT1fKGksdCk7aWYoYSYmYS5zZXQpcmV0dXJuIGEuc2V0KG4pLCEwfXJldHVybiExfSxnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KXtsZXQgbj1lLnByb3BzLmxlbmd0aDtmb3IoO24tLTspe2xldCByPWUucHJvcHNbbl07aWYobmUocikmJihyPXIoKSksdHlwZW9mIHI9PWBvYmplY3RgJiZyJiZ0IGluIHIpe2xldCBlPV8ocix0KTtyZXR1cm4gZSYmIWUuY29uZmlndXJhYmxlJiYoZS5jb25maWd1cmFibGU9ITApLGV9fX0saGFzKGUsdCl7aWYodD09PVNlfHx0PT09Q2UpcmV0dXJuITE7Zm9yKGxldCBuIG9mIGUucHJvcHMpaWYobmUobikmJihuPW4oKSksbiE9bnVsbCYmdCBpbiBuKXJldHVybiEwO3JldHVybiExfSxvd25LZXlzKGUpe2xldCB0PVtdO2ZvcihsZXQgbiBvZiBlLnByb3BzKWlmKG5lKG4pJiYobj1uKCkpLG4pe2ZvcihsZXQgZSBpbiBuKXQuaW5jbHVkZXMoZSl8fHQucHVzaChlKTtmb3IobGV0IGUgb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhuKSl0LmluY2x1ZGVzKGUpfHx0LnB1c2goZSl9cmV0dXJuIHR9fTtmdW5jdGlvbiBhbyguLi5lKXtyZXR1cm4gbmV3IFByb3h5KHtwcm9wczplfSxpbyl9ZnVuY3Rpb24gb28oZSx0LG4scil7dmFyIGk9IWl0fHwobiYyKSE9MCxhPShuJjgpIT0wLG89KG4mMTYpIT0wLHM9cixjPSEwLGw9KCk9PihjJiYoYz0hMSxzPW8/JHIocik6cikscyk7bGV0IHU7aWYoYSl7dmFyIGQ9U2UgaW4gZXx8Q2UgaW4gZTt1PV8oZSx0KT8uc2V0Pz8oZCYmdCBpbiBlP249PmVbdF09bjp2b2lkIDApfXZhciBmLHA9ITE7YT9bZixwXT1GdCgoKT0+ZVt0XSk6Zj1lW3RdLGY9PT12b2lkIDAmJnIhPT12b2lkIDAmJihmPWwoKSx1JiYoaSYmUGUodCksdShmKSkpO3ZhciBtPWk/KCk9Pnt2YXIgbj1lW3RdO3JldHVybiBuPT09dm9pZCAwP2woKTooYz0hMCxuKX06KCk9Pnt2YXIgbj1lW3RdO3JldHVybiBuIT09dm9pZCAwJiYocz12b2lkIDApLG49PT12b2lkIDA/czpufTtpZihpJiYhKG4mNCkpcmV0dXJuIG07aWYodSl7dmFyIGg9ZS4kJGxlZ2FjeTtyZXR1cm4oZnVuY3Rpb24oZSx0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wPygoIWl8fCF0fHxofHxwKSYmdSh0P20oKTplKSxlKTptKCl9KX12YXIgZz0hMSx2PShuJjE/dW46cG4pKCgpPT4oZz0hMSxtKCkpKTthJiZSKHYpO3ZhciB5PUk7cmV0dXJuKGZ1bmN0aW9uKGUsdCl7aWYoYXJndW1lbnRzLmxlbmd0aD4wKXtsZXQgbj10P1Iodik6aSYmYT9qbihlKTplO3JldHVybiBUbih2LG4pLGc9ITAscyE9PXZvaWQgMCYmKHM9biksZX1yZXR1cm4ga3ImJmd8fHkuZiYxNjM4ND92LnY6Uih2KX0pfWZ1bmN0aW9uIHNvKGUpe0U9PT1udWxsJiZEZShgb25Nb3VudGApLGl0JiZFLmwhPT1udWxsP2xvKEUpLm0ucHVzaChlKTpvcigoKT0+e2xldCB0PSRyKGUpO2lmKHR5cGVvZiB0PT1gZnVuY3Rpb25gKXJldHVybiB0fSl9ZnVuY3Rpb24gY28oZSl7RT09PW51bGwmJkRlKGBvbkRlc3Ryb3lgKSxzbygoKT0+KCk9PiRyKGUpKX1mdW5jdGlvbiBsbyhlKXt2YXIgdD1lLmw7cmV0dXJuIHQudT8/PXthOltdLGI6W10sbTpbXX19dmFyIHo9KCgpPT57bGV0IGU9bmV3IE1hcDtyZXR1cm4gT2JqZWN0LmZyZWV6ZSh7b246KHQsbik9PntsZXQgcj1lLmdldCh0KTtyP3IucHVzaChuKTplLnNldCh0LFtuXSl9LG9mZjoodCxuKT0+e2xldCByPWUuZ2V0KHQpO3ImJmUuc2V0KHQsci5maWx0ZXIoZT0+ZSE9PW4pKX0sZW1pdDoodCxuKT0+e2xldCByPWUuZ2V0KHQpO3ImJnIuZm9yRWFjaChlPT5lKG4pKX19KX0pKCksdW89YGRhdGEtc21hcnRzdXBwLWlkYCxmbz0oKT0+d2luZG93LnRvcD8/d2luZG93LnBhcmVudCxCPSgpPT53aW5kb3cucGFyZW50LHBvPSgpPT5CKCkuZG9jdW1lbnQsbW89ZT0+ZSYmZS5vd25lckRvY3VtZW50fHxkb2N1bWVudCxobz0oe3ZpZDplfSk9PntsZXQgdD1CKCkuc21hcnRzdXBwfHx7fTt0LnZpZD1lLEIoKS5zbWFydHN1cHA9dH0sZ289YGRlYnVnYCxfbz1lPT57dHJ5e2xldCB0PUIoKS5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShnbyk7aWYoIXQpcmV0dXJuITE7aWYodD09PWV8fHQ9PT1gKmApcmV0dXJuITA7bGV0IG49ZS5tYXRjaCgvXlx3KzovZyk7cmV0dXJuIG4/dD09PWAke25bMF19KmA6ITF9Y2F0Y2h7cmV0dXJuITF9fSx2bz0oKGUsdCk9PihuLC4uLnIpPT57X28oZSkmJmNvbnNvbGUuZGVidWcoYCVjJHtlfWAsYGNvbG9yOiAke3R9O2AsbiwuLi5yKX0pKGBzbWFydHN1cHA6d2lkZ2V0YCxgIzEyMzNkZmApLFY9KCgpPT57bGV0IGU9bnVsbCx0PVtdO3JldHVybiBPYmplY3QuZnJlZXplKHtpbml0Om49PntlPW4sdm8oYHdpZGdldCBvcHRpb25zYCxuKSx0LmZvckVhY2goZT0+ZShuKSl9LGdldE9wdGlvbnM6KCk9PntpZighZSl0aHJvdyBFcnJvcihgV2lkZ2V0IG9wdGlvbnMgbm90IGluaXRpYWxpemVkYCk7cmV0dXJuIGV9LGF3YWl0T3B0aW9uczphc3luYygpPT5lfHxuZXcgUHJvbWlzZShlPT57dC5wdXNoKGUpfSksdXBkYXRlT3B0aW9uczp0PT57ZT17Li4uZSwuLi50fX19KX0pKCkseW89ZT0+e2xldCB0PWUuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYGJvZHlgKVswXS5nZXRBdHRyaWJ1dGUodW8pO2lmKCF0KXRocm93IEVycm9yKGBNaXNzaW5nIGNoYXQgSUQgYXR0cmlidXRlIG9uIGJvZHkgZWxlbWVudC5gKTtpZighZS5wYXJlbnQuJHNtYXJ0c3VwcCl0aHJvdyBFcnJvcihgU29tZXRoaW5nIHdlbnQgd3JvbmcuIFNlZW1zIGxpa2UgbG9hZGVyLmpzIGRpZCBub3QgaW5pdGlhbGl6ZSB3aWRnZXQuYCk7aWYoIWUucGFyZW50LiRzbWFydHN1cHAuZ2V0V2lkZ2V0KXRocm93IEVycm9yKGBHZXQgd2lkZ2V0IGZ1bmN0aW9uIHdhcyBub3Qgc3VwcGxpZWQgYnkgbG9hZGVyLmpzLmApO3JldHVybiBlLnBhcmVudC4kc21hcnRzdXBwLmdldFdpZGdldCh0KX07ZnVuY3Rpb24gYm8oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49YXJndW1lbnRzW3RdO2Zvcih2YXIgciBpbiBuKWVbcl09bltyXX1yZXR1cm4gZX12YXIgeG89e3JlYWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMF09PT1gImAmJihlPWUuc2xpY2UoMSwtMSkpLGUucmVwbGFjZSgvKCVbXGRBLUZdezJ9KSsvZ2ksZGVjb2RlVVJJQ29tcG9uZW50KX0sd3JpdGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChlKS5yZXBsYWNlKC8lKDJbMzQ2QkZdfDNbQUMtRl18NDB8NVtCREVdfDYwfDdbQkNEXSkvZyxkZWNvZGVVUklDb21wb25lbnQpfX07ZnVuY3Rpb24gU28oZSx0KXtmdW5jdGlvbiBuKG4scixpKXtpZighKHR5cGVvZiBkb2N1bWVudD5gdWApKXtpPWJvKHt9LHQsaSksdHlwZW9mIGkuZXhwaXJlcz09YG51bWJlcmAmJihpLmV4cGlyZXM9bmV3IERhdGUoRGF0ZS5ub3coKStpLmV4cGlyZXMqODY0ZTUpKSxpLmV4cGlyZXMmJj1pLmV4cGlyZXMudG9VVENTdHJpbmcoKSxuPWVuY29kZVVSSUNvbXBvbmVudChuKS5yZXBsYWNlKC8lKDJbMzQ2Ql18NUV8NjB8N0MpL2csZGVjb2RlVVJJQ29tcG9uZW50KS5yZXBsYWNlKC9bKCldL2csZXNjYXBlKTt2YXIgYT1gYDtmb3IodmFyIG8gaW4gaSlpW29dJiYoYSs9YDsgYCtvLGlbb10hPT0hMCYmKGErPWA9YCtpW29dLnNwbGl0KGA7YClbMF0pKTtyZXR1cm4gZG9jdW1lbnQuY29va2llPW4rYD1gK2Uud3JpdGUocixuKSthfX1mdW5jdGlvbiByKHQpe2lmKCEodHlwZW9mIGRvY3VtZW50PmB1YHx8YXJndW1lbnRzLmxlbmd0aCYmIXQpKXtmb3IodmFyIG49ZG9jdW1lbnQuY29va2llP2RvY3VtZW50LmNvb2tpZS5zcGxpdChgOyBgKTpbXSxyPXt9LGk9MDtpPG4ubGVuZ3RoO2krKyl7dmFyIGE9bltpXS5zcGxpdChgPWApLG89YS5zbGljZSgxKS5qb2luKGA9YCk7dHJ5e3ZhciBzPWRlY29kZVVSSUNvbXBvbmVudChhWzBdKTtpZihyW3NdPWUucmVhZChvLHMpLHQ9PT1zKWJyZWFrfWNhdGNoe319cmV0dXJuIHQ/clt0XTpyfX1yZXR1cm4gT2JqZWN0LmNyZWF0ZSh7c2V0Om4sZ2V0OnIscmVtb3ZlOmZ1bmN0aW9uKGUsdCl7bihlLGBgLGJvKHt9LHQse2V4cGlyZXM6LTF9KSl9LHdpdGhBdHRyaWJ1dGVzOmZ1bmN0aW9uKGUpe3JldHVybiBTbyh0aGlzLmNvbnZlcnRlcixibyh7fSx0aGlzLmF0dHJpYnV0ZXMsZSkpfSx3aXRoQ29udmVydGVyOmZ1bmN0aW9uKGUpe3JldHVybiBTbyhibyh7fSx0aGlzLmNvbnZlcnRlcixlKSx0aGlzLmF0dHJpYnV0ZXMpfX0se2F0dHJpYnV0ZXM6e3ZhbHVlOk9iamVjdC5mcmVlemUodCl9LGNvbnZlcnRlcjp7dmFsdWU6T2JqZWN0LmZyZWV6ZShlKX19KX12YXIgQ289U28oeG8se3BhdGg6YC9gfSksd289YHNzdXBwYCxUbz0oZT0xODIpPT4oe2V4cGlyZXM6ZSxkb21haW46Vi5nZXRPcHRpb25zKCkuY29va2llRG9tYWluLHBhdGg6Vi5nZXRPcHRpb25zKCkuY29va2llUGF0aHx8YC9gLHNhbWVTaXRlOmBzdHJpY3RgLHNlY3VyZTpCKCkubG9jYXRpb24ucHJvdG9jb2w9PT1gaHR0cHM6YH0pLEVvPWU9PmAke1YuZ2V0T3B0aW9ucygpLmNvb2tpZVByZWZpeHx8YGB9JHt3b30uJHtlfWAsRG89KHtuYW1lOmUsdmFsdWU6dCxleHBpcmF0aW9uSW5EYXlzOm49MTgyLG9wdGlvbnM6cn0pPT57Q28uc2V0KEVvKGUpLHQsey4uLlRvKG4pLC4uLnJ9KX0sT289ZT0+Q28uZ2V0KEVvKGUpKSxrbz1lPT57bGV0IHQ9RW8oZSk7aWYoQ28uZ2V0KHQpKXtsZXR7cGF0aDplLGRvbWFpbjpufT1UbygpO0NvLnJlbW92ZSh0LHtwYXRoOmUsZG9tYWluOm59KX19LEFvPWU9Pih0LC4uLm4pPT57ZShgW1NtYXJ0c3VwcF0gJHt0fWAsLi4ubil9LEg9QW8oY29uc29sZS53YXJuKSxqbz1Bbyhjb25zb2xlLmVycm9yKSxNbz0oKT0+e2xldHtrZXk6ZX09Vi5nZXRPcHRpb25zKCk7cmV0dXJuYCR7QigpLlNNQVJUU1VQUF9BVVRPQ1JFQVRFPT09ITE/YCR7eW8od2luZG93KS5pZH1fJHt3b31gOndvfV8ke2V9YH0sTm89ZT0+YCR7TW8oKX0ke2U/YF8ke2V9YDpgYH1gLFBvPWU9Pnt0cnl7bGV0IHQ9d2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKE5vKGUpKT8/YHt9YDtyZXR1cm4gSlNPTi5wYXJzZSh0KX1jYXRjaHtyZXR1cm57fX19LEZvPShlLHQpPT57dHJ5e3dpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShObyh0KSxKU09OLnN0cmluZ2lmeShlKSl9Y2F0Y2goZSl7SChgU2V0IHRvIGxvY2FsIHN0b3JhZ2UgZmFpbGVkYCxlKX19LElvPShlLHQpPT57Rm8oey4uLlBvKCksW2VdOlN0cmluZyh0KX0pfSxMbz1lPT57bGV0IHQ9UG8oKTt0W2VdJiYoZGVsZXRlIHRbZV0sRm8odCkpfSxSbz0oKT0+e3dpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShObygpKSx3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oTm8oYGNhcmRzYCkpfSxVPWZ1bmN0aW9uKGUpe3JldHVybiBlLkFuYWx5dGljc0NvbnNlbnQ9YGFuYWx5dGljc0NvbnNlbnRgLGUuQXV0aEZvcm09YGF1dGhGb3JtYCxlLklzTWVzc2VuZ2VyRnJhbWVFeHBhbmRlZD1gaXNNZXNzZW5nZXJGcmFtZUV4cGFuZGVkYCxlLklzTWVzc2VuZ2VyRnJhbWVPcGVuZWQ9YG9wZW5lZGAsZS5NYXJrZXRpbmdDb25zZW50PWBtYXJrZXRpbmdDb25zZW50YCxlLk1lc3NhZ2U9YG1lc3NhZ2VgLGUuUG9wdXBDbG9zZWRBdD1gcG9wdXBDbG9zZWRBdGAsZS5SYXRpbmdUZXh0PWByYXRpbmdUZXh0YCxlLlNvdW5kc0VuYWJsZWQ9YGVuYWJsZVNvdW5kc2AsZS5WaXNpdG9ySWQ9YHZpZGAsZS5WaXNpdHM9YHZpc2l0c2AsZS5UaWNrZXRGb3JtPWB0aWNrZXRGb3JtYCxlLlNlc3Npb25JZD1gc2Vzc2lvbklkYCxlfSh7fSksem89ZT0+e2xldCB0PWBgO3JldHVybiBlPT09VS5WaXNpdG9ySWQmJlYuZ2V0T3B0aW9ucygpLmNvb2tpZURvbWFpbiYmKHQ9T28oZSkpLHR8fFBvKClbZV19LEJvPSh7bmFtZTplLHZhbHVlOnR9KT0+e2U9PT1VLlZpc2l0b3JJZCYmVi5nZXRPcHRpb25zKCkuY29va2llRG9tYWluJiZEbyh7bmFtZTplLHZhbHVlOnR9KSxJbyhlLHQpfSxWbz1lPT57TG8oZSl9O3oub24oYGFuYWx5dGljc0NvbnNlbnRDaGFuZ2VkYCxlPT57Qm8oe25hbWU6VS5BbmFseXRpY3NDb25zZW50LHZhbHVlOlN0cmluZyhlKX0pfSksei5vbihgbWFya2V0aW5nQ29uc2VudENoYW5nZWRgLGU9PntCbyh7bmFtZTpVLk1hcmtldGluZ0NvbnNlbnQsdmFsdWU6U3RyaW5nKGUpfSl9KTt2YXIgSG89KCk9PiEhVi5nZXRPcHRpb25zKCkuY29uc2VudE1vZGVFbmFibGVkLFVvPSgpPT57bGV0IGU9em8oVS5BbmFseXRpY3NDb25zZW50KT09PWB0cnVlYDtyZXR1cm4hKEhvKCkmJiFlKX0sV289KCk9PntsZXQgZT16byhVLk1hcmtldGluZ0NvbnNlbnQpPT09YHRydWVgO3JldHVybiEoSG8oKSYmIWUpfSxHbz1gbW9kdWxlcHJlbG9hZGAsS289ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IFVSTChlLHQpLmhyZWZ9LHFvPXt9LEpvPWZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1Qcm9taXNlLnJlc29sdmUoKTtpZih0JiZ0Lmxlbmd0aD4wKXtsZXQgZT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShgbGlua2ApLGk9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbWV0YVtwcm9wZXJ0eT1jc3Atbm9uY2VdYCksYT1pPy5ub25jZXx8aT8uZ2V0QXR0cmlidXRlKGBub25jZWApO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIFByb21pc2UuYWxsKGUubWFwKGU9PlByb21pc2UucmVzb2x2ZShlKS50aGVuKGU9Pih7c3RhdHVzOmBmdWxmaWxsZWRgLHZhbHVlOmV9KSxlPT4oe3N0YXR1czpgcmVqZWN0ZWRgLHJlYXNvbjplfSkpKSl9cj1vKHQubWFwKHQ9PntpZih0PUtvKHQsbiksdCBpbiBxbylyZXR1cm47cW9bdF09ITA7bGV0IHI9dC5lbmRzV2l0aChgLmNzc2ApLGk9cj9gW3JlbD0ic3R5bGVzaGVldCJdYDpgYDtpZihuKWZvcihsZXQgbj1lLmxlbmd0aC0xO24+PTA7bi0tKXtsZXQgaT1lW25dO2lmKGkuaHJlZj09PXQmJighcnx8aS5yZWw9PT1gc3R5bGVzaGVldGApKXJldHVybn1lbHNlIGlmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYGxpbmtbaHJlZj0iJHt0fSJdJHtpfWApKXJldHVybjtsZXQgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGBsaW5rYCk7aWYoby5yZWw9cj9gc3R5bGVzaGVldGA6R28scnx8KG8uYXM9YHNjcmlwdGApLG8uY3Jvc3NPcmlnaW49YGAsby5ocmVmPXQsYSYmby5zZXRBdHRyaWJ1dGUoYG5vbmNlYCxhKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG8pLHIpcmV0dXJuIG5ldyBQcm9taXNlKChlLG4pPT57by5hZGRFdmVudExpc3RlbmVyKGBsb2FkYCxlKSxvLmFkZEV2ZW50TGlzdGVuZXIoYGVycm9yYCwoKT0+bihFcnJvcihgVW5hYmxlIHRvIHByZWxvYWQgQ1NTIGZvciAke3R9YCkpKX0pfSkpfWZ1bmN0aW9uIGkoZSl7bGV0IHQ9bmV3IEV2ZW50KGB2aXRlOnByZWxvYWRFcnJvcmAse2NhbmNlbGFibGU6ITB9KTtpZih0LnBheWxvYWQ9ZSx3aW5kb3cuZGlzcGF0Y2hFdmVudCh0KSwhdC5kZWZhdWx0UHJldmVudGVkKXRocm93IGV9cmV0dXJuIHIudGhlbih0PT57Zm9yKGxldCBlIG9mIHR8fFtdKWUuc3RhdHVzPT09YHJlamVjdGVkYCYmaShlLnJlYXNvbik7cmV0dXJuIGUoKS5jYXRjaChpKX0pfSxZbz0oKT0+ISFWLmdldE9wdGlvbnMoKS5jcm9zc0RvbWFpbkVuYWJsZWQsWG89KCk9PlYuZ2V0T3B0aW9ucygpLmFsbG93ZWREb21haW5zLmxlbmd0aD4wLFpvPWFzeW5jKCk9Pnt0cnl7bGV0IGU9YXdhaXQgbmV3KGF3YWl0KEpvKCgpPT5pbXBvcnQoYC4vdGh1bWJtYXJrLmVzbS1DUDRDVTB5TC5qc2ApLFtdLGltcG9ydC5tZXRhLnVybCkpKS5UaHVtYm1hcmsoKS5nZXQoKTtyZXR1cm4gdm8oYFZpc2l0b3IgZmluZ2VycHJpbnQgY3JlYXRlZGAsZS50aHVtYm1hcmspLGUudGh1bWJtYXJrfWNhdGNoKGUpe0goYEZhaWxlZCB0byBnZW5lcmF0ZSBmaW5nZXJwcmludDpgLGUpfX0sUW89YXN5bmMoKT0+e2lmKCEoIVlvKCl8fCFYbygpKSlyZXR1cm4gWm8oKX0sJG89KCk9PnpvKFUuVmlzaXRvcklkKXx8bnVsbCxlcz1lPT5Cbyh7bmFtZTpVLlZpc2l0b3JJZCx2YWx1ZTpTdHJpbmcoZSl9KSx0cz0oKT0+e2lmKFdvKCkpcmV0dXJuIHpvKFUuVmlzaXRzKT9OdW1iZXIoem8oVS5WaXNpdHMpKTowfSxucz1lPT57V28oKSYmQm8oe25hbWU6VS5WaXNpdHMsdmFsdWU6U3RyaW5nKGUpfSl9O3oub24oYG1hcmtldGluZ0NvbnNlbnRDaGFuZ2VkYCxlPT57ZXx8Vm8oVS5WaXNpdHMpfSk7dmFyIHJzPShlLHQsbik9PntsZXR7c2V0OnIsc3Vic2NyaWJlOml9PU8odCx0PT57bGV0IHI9em8oZSk7ciYmdChuP24ocik6cil9KSxhPXQ9PntCbyh7bmFtZTplLHZhbHVlOlN0cmluZyh0KX0pfTtyZXR1cm57c2V0OmU9PnthKGUpLHIoZSl9LHN1YnNjcmliZTppfX0saXM9KCk9PmBvbnRvdWNoc3RhcnRgaW4gd2luZG93fHxuYXZpZ2F0b3IubXNNYXhUb3VjaFBvaW50cz4wLGFzPSgpPT5bYGlQYWQgU2ltdWxhdG9yYCxgaVBob25lIFNpbXVsYXRvcmAsYGlQb2QgU2ltdWxhdG9yYCxgaVBhZGAsYGlQaG9uZWAsYGlQb2RgXS5pbmNsdWRlcyhuYXZpZ2F0b3IucGxhdGZvcm0pfHxuYXZpZ2F0b3IudXNlckFnZW50LmluY2x1ZGVzKGBNYWNgKSYmYG9udG91Y2hlbmRgaW4gZG9jdW1lbnQsb3M9TyhudWxsKSxzcz1rKFtvcyxPKHt3aWR0aDpCKCkuaW5uZXJXaWR0aCxoZWlnaHQ6QigpLmlubmVySGVpZ2h0fSldLChbZSx0XSk9PntsZXR7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOm59PVYuZ2V0T3B0aW9ucygpO2lmKG4/LmVuZm9yY2VEZXNrdG9wTW9kZSlyZXR1cm4hMTtpZihlKXtsZXR7aXNNb2JpbGU6dCxpc1RhYmxldDpufT1lO2lmKG4pcmV0dXJuITE7aWYodClyZXR1cm4hMH1yZXR1cm4gdC53aWR0aDw0NTB8fHQuaGVpZ2h0PDUwMH0pLGNzPWsoW3NzXSwoW2VdKT0+e2xldHtmdWxsU2NyZWVuRW5hYmxlZDp0fT1WLmdldE9wdGlvbnMoKTtyZXR1cm4hIShlfHx0KX0pLGxzPWsoW29zXSwoW2VdKT0+ZT8hIWU/LmlzRGVza3RvcCYmIWFzKCk6IWlzKCkpLHVzPWsoW2xzLGNzXSwoW2UsdF0pPT5lJiYhdCk7ayhbb3NdLChbZV0pPT4hIWU/LmlzVGFibGV0KTt2YXIgZHM9KCgpPT57bGV0IGU9Tyh7fSkse3N1YnNjcmliZTp0LHVwZGF0ZTpufT1lO3JldHVybntzdWJzY3JpYmU6dCxhZGQ6ZT0+e24odD0+KHsuLi50LFtlLmlkXTplfSkpfSxyZW1vdmU6ZT0+e24odD0+e2xldHtbZV06biwuLi5yfT10O3JldHVybiByfSl9LGZpbmQ6dD0+QShlKVt0XXx8bnVsbH19KSgpLGZzPWsoW2RzXSwoW2VdKT0+T2JqZWN0LnZhbHVlcyhlKSkscHM9ZT0+KHQsbj0zZTMpPT57bGV0IHI9YGZtLSR7ZX0tJHt0fWAsaT1kcy5maW5kKHIpLGE9MTtpJiYoY2xlYXJUaW1lb3V0KGkudGltZW91dCksYT1pLnJlY3VycmVuY2UrMSk7bGV0IG87cmV0dXJuIG4+MCYmKG89d2luZG93LnNldFRpbWVvdXQoKCk9PnttcyhyKX0sbikpLGRzLmFkZCh7aWQ6cix0eXBlOmUsdGV4dDp0LHRpbWVvdXQ6byxyZWN1cnJlbmNlOmF9KSwoKT0+bXMocil9LG1zPWU9Pntkcy5yZW1vdmUoZSl9LGhzPXBzKGBzdWNjZXNzYCksZ3M9cHMoYGVycm9yYCksX3M9cHMoYHdhcm5pbmdgKSx2cz1mdW5jdGlvbihlKXtyZXR1cm4gZVtlLkdvb2Q9NV09YEdvb2RgLGVbZS5Ob3JtYWw9M109YE5vcm1hbGAsZVtlLkJhZD0xXT1gQmFkYCxlfSh7fSkseXM9e1t2cy5Hb29kXTp7dmFsdWU6dnMuR29vZCx0ZXh0OmBhZ2VudFJhdGluZy5nb29kLmZvcm1UZXh0YCxuYW1lOmBnb29kYH0sW3ZzLk5vcm1hbF06e3ZhbHVlOnZzLk5vcm1hbCx0ZXh0OmBhZ2VudFJhdGluZy5ub3JtYWwuZm9ybVRleHRgLG5hbWU6YG5ldXRyYWxgfSxbdnMuQmFkXTp7dmFsdWU6dnMuQmFkLHRleHQ6YGFnZW50UmF0aW5nLmJhZC5mb3JtVGV4dGAsbmFtZTpgYmFkYH19LGJzPU9iamVjdC52YWx1ZXMoeXMpLnNvcnQoKGUsdCk9PnQudmFsdWUtZS52YWx1ZSkseHM9YHJhdGVfZm9ybV9pZGAsU3M9e2lkOnhzLHR5cGU6YG1lc3NhZ2VgLHN1YlR5cGU6YHN5c3RlbWAsY2hhbm5lbDp7dHlwZTpgZGVmYXVsdGAsaWQ6bnVsbH0sY2hhdElkOmBgLHZpc2l0b3JJZDpgYCxncm91cElkOm51bGwsYWdlbnRJZDpudWxsLHRyaWdnZXI6bnVsbCxjcmVhdGVkQXQ6YGAsY29udGVudDp7dHlwZTpgcmF0ZV9mb3JtYCxkYXRhOnt9fSxhdHRhY2htZW50czpbXSxzdWJqZWN0Om51bGwsZm9yd2FyZGVkTWVzc2FnZUlkOm51bGwscGFydGljaXBhbnRzOltdLHJlcGx5VG9NZXNzYWdlSWQ6bnVsbCxkZWxldGVkQXQ6bnVsbCx3aWRnZXRPcHRpb25zOntkaXNhYmxlSW5wdXQ6ITEsZGlzYWJsZUF1dGhlbnRpY2F0aW9uOiExLGRpc2FibGVBdHRhY2htZW50czohMX19LENzPU8obnVsbCksd3M9cygoKGUsdCk9Pnt2YXIgbj0xZTMscj1uKjYwLGk9cio2MCxhPWkqMjQsbz1hKjcscz1hKjM2NS4yNTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt0fHw9e307dmFyIG49dHlwZW9mIGU7aWYobj09PWBzdHJpbmdgJiZlLmxlbmd0aD4wKXJldHVybiBjKGUpO2lmKG49PT1gbnVtYmVyYCYmaXNGaW5pdGUoZSkpcmV0dXJuIHQubG9uZz91KGUpOmwoZSk7dGhyb3cgRXJyb3IoYHZhbCBpcyBub3QgYSBub24tZW1wdHkgc3RyaW5nIG9yIGEgdmFsaWQgbnVtYmVyLiB2YWw9YCtKU09OLnN0cmluZ2lmeShlKSl9O2Z1bmN0aW9uIGMoZSl7aWYoZT1TdHJpbmcoZSksIShlLmxlbmd0aD4xMDApKXt2YXIgdD0vXigtPyg/OlxkKyk/XC4/XGQrKSAqKG1pbGxpc2Vjb25kcz98bXNlY3M/fG1zfHNlY29uZHM/fHNlY3M/fHN8bWludXRlcz98bWlucz98bXxob3Vycz98aHJzP3xofGRheXM/fGR8d2Vla3M/fHd8eWVhcnM/fHlycz98eSk/JC9pLmV4ZWMoZSk7aWYodCl7dmFyIGM9cGFyc2VGbG9hdCh0WzFdKTtzd2l0Y2goKHRbMl18fGBtc2ApLnRvTG93ZXJDYXNlKCkpe2Nhc2VgeWVhcnNgOmNhc2VgeWVhcmA6Y2FzZWB5cnNgOmNhc2VgeXJgOmNhc2VgeWA6cmV0dXJuIGMqcztjYXNlYHdlZWtzYDpjYXNlYHdlZWtgOmNhc2Vgd2A6cmV0dXJuIGMqbztjYXNlYGRheXNgOmNhc2VgZGF5YDpjYXNlYGRgOnJldHVybiBjKmE7Y2FzZWBob3Vyc2A6Y2FzZWBob3VyYDpjYXNlYGhyc2A6Y2FzZWBocmA6Y2FzZWBoYDpyZXR1cm4gYyppO2Nhc2VgbWludXRlc2A6Y2FzZWBtaW51dGVgOmNhc2VgbWluc2A6Y2FzZWBtaW5gOmNhc2VgbWA6cmV0dXJuIGMqcjtjYXNlYHNlY29uZHNgOmNhc2Vgc2Vjb25kYDpjYXNlYHNlY3NgOmNhc2Vgc2VjYDpjYXNlYHNgOnJldHVybiBjKm47Y2FzZWBtaWxsaXNlY29uZHNgOmNhc2VgbWlsbGlzZWNvbmRgOmNhc2VgbXNlY3NgOmNhc2VgbXNlY2A6Y2FzZWBtc2A6cmV0dXJuIGM7ZGVmYXVsdDpyZXR1cm59fX19ZnVuY3Rpb24gbChlKXt2YXIgdD1NYXRoLmFicyhlKTtyZXR1cm4gdD49YT9NYXRoLnJvdW5kKGUvYSkrYGRgOnQ+PWk/TWF0aC5yb3VuZChlL2kpK2BoYDp0Pj1yP01hdGgucm91bmQoZS9yKStgbWA6dD49bj9NYXRoLnJvdW5kKGUvbikrYHNgOmUrYG1zYH1mdW5jdGlvbiB1KGUpe3ZhciB0PU1hdGguYWJzKGUpO3JldHVybiB0Pj1hP2QoZSx0LGEsYGRheWApOnQ+PWk/ZChlLHQsaSxgaG91cmApOnQ+PXI/ZChlLHQscixgbWludXRlYCk6dD49bj9kKGUsdCxuLGBzZWNvbmRgKTplK2AgbXNgfWZ1bmN0aW9uIGQoZSx0LG4scil7dmFyIGk9dD49bioxLjU7cmV0dXJuIE1hdGgucm91bmQoZS9uKStgIGArcisoaT9gc2A6YGApfX0pKSxUcz1zKCgoZSx0KT0+e2Z1bmN0aW9uIG4oZSl7bi5kZWJ1Zz1uLG4uZGVmYXVsdD1uLG4uY29lcmNlPWMsbi5kaXNhYmxlPW8sbi5lbmFibGU9aSxuLmVuYWJsZWQ9cyxuLmh1bWFuaXplPXdzKCksbi5kZXN0cm95PWwsT2JqZWN0LmtleXMoZSkuZm9yRWFjaCh0PT57blt0XT1lW3RdfSksbi5uYW1lcz1bXSxuLnNraXBzPVtdLG4uZm9ybWF0dGVycz17fTtmdW5jdGlvbiB0KGUpe2xldCB0PTA7Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspdD0odDw8NSktdCtlLmNoYXJDb2RlQXQobiksdHw9MDtyZXR1cm4gbi5jb2xvcnNbTWF0aC5hYnModCklbi5jb2xvcnMubGVuZ3RoXX1uLnNlbGVjdENvbG9yPXQ7ZnVuY3Rpb24gbihlKXtsZXQgdCxpPW51bGwsYSxvO2Z1bmN0aW9uIHMoLi4uZSl7aWYoIXMuZW5hYmxlZClyZXR1cm47bGV0IHI9cyxpPU51bWJlcihuZXcgRGF0ZSk7ci5kaWZmPWktKHR8fGkpLHIucHJldj10LHIuY3Vycj1pLHQ9aSxlWzBdPW4uY29lcmNlKGVbMF0pLHR5cGVvZiBlWzBdIT1gc3RyaW5nYCYmZS51bnNoaWZ0KGAlT2ApO2xldCBhPTA7ZVswXT1lWzBdLnJlcGxhY2UoLyUoW2EtekEtWiVdKS9nLCh0LGkpPT57aWYodD09PWAlJWApcmV0dXJuYCVgO2ErKztsZXQgbz1uLmZvcm1hdHRlcnNbaV07aWYodHlwZW9mIG89PWBmdW5jdGlvbmApe2xldCBuPWVbYV07dD1vLmNhbGwocixuKSxlLnNwbGljZShhLDEpLGEtLX1yZXR1cm4gdH0pLG4uZm9ybWF0QXJncy5jYWxsKHIsZSksKHIubG9nfHxuLmxvZykuYXBwbHkocixlKX1yZXR1cm4gcy5uYW1lc3BhY2U9ZSxzLnVzZUNvbG9ycz1uLnVzZUNvbG9ycygpLHMuY29sb3I9bi5zZWxlY3RDb2xvcihlKSxzLmV4dGVuZD1yLHMuZGVzdHJveT1uLmRlc3Ryb3ksT2JqZWN0LmRlZmluZVByb3BlcnR5KHMsYGVuYWJsZWRgLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMSxnZXQ6KCk9Pmk9PT1udWxsPyhhIT09bi5uYW1lc3BhY2VzJiYoYT1uLm5hbWVzcGFjZXMsbz1uLmVuYWJsZWQoZSkpLG8pOmksc2V0OmU9PntpPWV9fSksdHlwZW9mIG4uaW5pdD09YGZ1bmN0aW9uYCYmbi5pbml0KHMpLHN9ZnVuY3Rpb24gcihlLHQpe2xldCByPW4odGhpcy5uYW1lc3BhY2UrKHQ9PT12b2lkIDA/YDpgOnQpK2UpO3JldHVybiByLmxvZz10aGlzLmxvZyxyfWZ1bmN0aW9uIGkoZSl7bi5zYXZlKGUpLG4ubmFtZXNwYWNlcz1lLG4ubmFtZXM9W10sbi5za2lwcz1bXTtsZXQgdD0odHlwZW9mIGU9PWBzdHJpbmdgP2U6YGApLnRyaW0oKS5yZXBsYWNlKC9ccysvZyxgLGApLnNwbGl0KGAsYCkuZmlsdGVyKEJvb2xlYW4pO2ZvcihsZXQgZSBvZiB0KWVbMF09PT1gLWA/bi5za2lwcy5wdXNoKGUuc2xpY2UoMSkpOm4ubmFtZXMucHVzaChlKX1mdW5jdGlvbiBhKGUsdCl7bGV0IG49MCxyPTAsaT0tMSxhPTA7Zm9yKDtuPGUubGVuZ3RoOylpZihyPHQubGVuZ3RoJiYodFtyXT09PWVbbl18fHRbcl09PT1gKmApKXRbcl09PT1gKmA/KGk9cixhPW4scisrKToobisrLHIrKyk7ZWxzZSBpZihpIT09LTEpcj1pKzEsYSsrLG49YTtlbHNlIHJldHVybiExO2Zvcig7cjx0Lmxlbmd0aCYmdFtyXT09PWAqYDspcisrO3JldHVybiByPT09dC5sZW5ndGh9ZnVuY3Rpb24gbygpe2xldCBlPVsuLi5uLm5hbWVzLC4uLm4uc2tpcHMubWFwKGU9PmAtYCtlKV0uam9pbihgLGApO3JldHVybiBuLmVuYWJsZShgYCksZX1mdW5jdGlvbiBzKGUpe2ZvcihsZXQgdCBvZiBuLnNraXBzKWlmKGEoZSx0KSlyZXR1cm4hMTtmb3IobGV0IHQgb2Ygbi5uYW1lcylpZihhKGUsdCkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIEVycm9yP2Uuc3RhY2t8fGUubWVzc2FnZTplfWZ1bmN0aW9uIGwoKXtjb25zb2xlLndhcm4oIkluc3RhbmNlIG1ldGhvZCBgZGVidWcuZGVzdHJveSgpYCBpcyBkZXByZWNhdGVkIGFuZCBubyBsb25nZXIgZG9lcyBhbnl0aGluZy4gSXQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gb2YgYGRlYnVnYC4iKX1yZXR1cm4gbi5lbmFibGUobi5sb2FkKCkpLG59dC5leHBvcnRzPW59KSksRXM9cygoKGUsdCk9PntlLmZvcm1hdEFyZ3M9cixlLnNhdmU9aSxlLmxvYWQ9YSxlLnVzZUNvbG9ycz1uLGUuc3RvcmFnZT1vKCksZS5kZXN0cm95PSgoKT0+e2xldCBlPSExO3JldHVybigpPT57ZXx8KGU9ITAsY29uc29sZS53YXJuKCJJbnN0YW5jZSBtZXRob2QgYGRlYnVnLmRlc3Ryb3koKWAgaXMgZGVwcmVjYXRlZCBhbmQgbm8gbG9uZ2VyIGRvZXMgYW55dGhpbmcuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIG9mIGBkZWJ1Z2AuIikpfX0pKCksZS5jb2xvcnM9YCMwMDAwQ0MuIzAwMDBGRi4jMDAzM0NDLiMwMDMzRkYuIzAwNjZDQy4jMDA2NkZGLiMwMDk5Q0MuIzAwOTlGRi4jMDBDQzAwLiMwMENDMzMuIzAwQ0M2Ni4jMDBDQzk5LiMwMENDQ0MuIzAwQ0NGRi4jMzMwMENDLiMzMzAwRkYuIzMzMzNDQy4jMzMzM0ZGLiMzMzY2Q0MuIzMzNjZGRi4jMzM5OUNDLiMzMzk5RkYuIzMzQ0MwMC4jMzNDQzMzLiMzM0NDNjYuIzMzQ0M5OS4jMzNDQ0NDLiMzM0NDRkYuIzY2MDBDQy4jNjYwMEZGLiM2NjMzQ0MuIzY2MzNGRi4jNjZDQzAwLiM2NkNDMzMuIzk5MDBDQy4jOTkwMEZGLiM5OTMzQ0MuIzk5MzNGRi4jOTlDQzAwLiM5OUNDMzMuI0NDMDAwMC4jQ0MwMDMzLiNDQzAwNjYuI0NDMDA5OS4jQ0MwMENDLiNDQzAwRkYuI0NDMzMwMC4jQ0MzMzMzLiNDQzMzNjYuI0NDMzM5OS4jQ0MzM0NDLiNDQzMzRkYuI0NDNjYwMC4jQ0M2NjMzLiNDQzk5MDAuI0NDOTkzMy4jQ0NDQzAwLiNDQ0NDMzMuI0ZGMDAwMC4jRkYwMDMzLiNGRjAwNjYuI0ZGMDA5OS4jRkYwMENDLiNGRjAwRkYuI0ZGMzMwMC4jRkYzMzMzLiNGRjMzNjYuI0ZGMzM5OS4jRkYzM0NDLiNGRjMzRkYuI0ZGNjYwMC4jRkY2NjMzLiNGRjk5MDAuI0ZGOTkzMy4jRkZDQzAwLiNGRkNDMzNgLnNwbGl0KGAuYCk7ZnVuY3Rpb24gbigpe2lmKHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cucHJvY2VzcyYmKHdpbmRvdy5wcm9jZXNzLnR5cGU9PT1gcmVuZGVyZXJgfHx3aW5kb3cucHJvY2Vzcy5fX253anMpKXJldHVybiEwO2lmKHR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhlZGdlfHRyaWRlbnQpXC8oXGQrKS8pKXJldHVybiExO2xldCBlO3JldHVybiB0eXBlb2YgZG9jdW1lbnQ8YHVgJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLldlYmtpdEFwcGVhcmFuY2V8fHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cuY29uc29sZSYmKHdpbmRvdy5jb25zb2xlLmZpcmVidWd8fHdpbmRvdy5jb25zb2xlLmV4Y2VwdGlvbiYmd2luZG93LmNvbnNvbGUudGFibGUpfHx0eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmKGU9bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9maXJlZm94XC8oXGQrKS8pKSYmcGFyc2VJbnQoZVsxXSwxMCk+PTMxfHx0eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9hcHBsZXdlYmtpdFwvKFxkKykvKX1mdW5jdGlvbiByKGUpe2lmKGVbMF09KHRoaXMudXNlQ29sb3JzP2AlY2A6YGApK3RoaXMubmFtZXNwYWNlKyh0aGlzLnVzZUNvbG9ycz9gICVjYDpgIGApK2VbMF0rKHRoaXMudXNlQ29sb3JzP2AlYyBgOmAgYCkrYCtgK3QuZXhwb3J0cy5odW1hbml6ZSh0aGlzLmRpZmYpLCF0aGlzLnVzZUNvbG9ycylyZXR1cm47bGV0IG49YGNvbG9yOiBgK3RoaXMuY29sb3I7ZS5zcGxpY2UoMSwwLG4sYGNvbG9yOiBpbmhlcml0YCk7bGV0IHI9MCxpPTA7ZVswXS5yZXBsYWNlKC8lW2EtekEtWiVdL2csZT0+e2UhPT1gJSVgJiYocisrLGU9PT1gJWNgJiYoaT1yKSl9KSxlLnNwbGljZShpLDAsbil9ZS5sb2c9Y29uc29sZS5kZWJ1Z3x8Y29uc29sZS5sb2d8fCgoKT0+e30pO2Z1bmN0aW9uIGkodCl7dHJ5e3Q/ZS5zdG9yYWdlLnNldEl0ZW0oYGRlYnVnYCx0KTplLnN0b3JhZ2UucmVtb3ZlSXRlbShgZGVidWdgKX1jYXRjaHt9fWZ1bmN0aW9uIGEoKXtsZXQgdDt0cnl7dD1lLnN0b3JhZ2UuZ2V0SXRlbShgZGVidWdgKXx8ZS5zdG9yYWdlLmdldEl0ZW0oYERFQlVHYCl9Y2F0Y2h7fXJldHVybiF0JiZ0eXBlb2YgcHJvY2VzczxgdWAmJmBlbnZgaW4gcHJvY2VzcyYmKHQ9e30uREVCVUcpLHR9ZnVuY3Rpb24gbygpe3RyeXtyZXR1cm4gbG9jYWxTdG9yYWdlfWNhdGNoe319dC5leHBvcnRzPVRzKCkoZSk7dmFye2Zvcm1hdHRlcnM6c309dC5leHBvcnRzO3Muaj1mdW5jdGlvbihlKXt0cnl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGUpfWNhdGNoKGUpe3JldHVybmBbVW5leHBlY3RlZEpTT05QYXJzZUVycm9yXTogYCtlLm1lc3NhZ2V9fX0pKSxEcz1zKChlPT57dmFyIHQ9ZSYmZS5fX2V4dGVuZHN8fChmdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKHQsbil7cmV0dXJuIGU9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGUsdCl7ZS5fX3Byb3RvX189dH18fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJihlW25dPXRbbl0pfSxlKHQsbil9O3JldHVybiBmdW5jdGlvbih0LG4pe2lmKHR5cGVvZiBuIT1gZnVuY3Rpb25gJiZuIT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoYENsYXNzIGV4dGVuZHMgdmFsdWUgYCtTdHJpbmcobikrYCBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsYCk7ZSh0LG4pO2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9dC5wcm90b3R5cGU9bj09PW51bGw/T2JqZWN0LmNyZWF0ZShuKTooci5wcm90b3R5cGU9bi5wcm90b3R5cGUsbmV3IHIpfX0pKCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLGUuY3JlYXRlRW1pdHRlcj1lLmNyZWF0ZUNhbGxiYWNrPWUuYm91bmQ9ZS5jcmVhdGVTb2NrZXRFcnJvcj1lLlNvY2tldEVycm9yPWUuZGVidWc9dm9pZCAwLGUuZGVidWc9bigpO2Z1bmN0aW9uIG4oKXt0cnl7cmV0dXJuIEVzKCkoYHNtYXJ0c3VwcDpjbGllbnRgKX1jYXRjaHtyZXR1cm4gZnVuY3Rpb24oKXt9fX12YXIgcj1mdW5jdGlvbihlKXt0KG4sZSk7ZnVuY3Rpb24gbih0LHIpe3ZhciBpPWUuY2FsbCh0aGlzLHQpfHx0aGlzO3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2YoaSxuLnByb3RvdHlwZSksaS5uYW1lPWkuY29uc3RydWN0b3IubmFtZSxpLmNvZGU9ci5jb2RlLGkudHlwZT1yLnR5cGUsaS5ldmVudD1yLmV2ZW50LHImJnIuc3RhY2smJihpLnN0YWNrPWAke2kuc3RhY2t9CkNhdXNlZCBCeTogJHtyLnN0YWNrfWApLGl9cmV0dXJuIG59KEVycm9yKTtlLlNvY2tldEVycm9yPXI7ZnVuY3Rpb24gaShlKXtyZXR1cm4gbmV3IHIoZS5tZXNzYWdlLGUpfWUuY3JlYXRlU29ja2V0RXJyb3I9aTtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49Wy4uLmFyZ3VtZW50c107ZVt0XS5hcHBseShlLG4pfX1lLmJvdW5kPWE7ZnVuY3Rpb24gbyhlLHQpe3JldHVybiBmdW5jdGlvbihuLHIpe24/dChpKG4pKTplKHIpfX1lLmNyZWF0ZUNhbGxiYWNrPW87ZnVuY3Rpb24gcyhlLHQpe3JldHVybiBmdW5jdGlvbihuKXtlLmVtaXQodCxuKX19ZS5jcmVhdGVFbWl0dGVyPXN9KSksT3M9cygoKGUsdCk9Pnt2YXIgbj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LHI9YH5gO2Z1bmN0aW9uIGkoKXt9T2JqZWN0LmNyZWF0ZSYmKGkucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobnVsbCksbmV3IGkoKS5fX3Byb3RvX198fChyPSExKSk7ZnVuY3Rpb24gYShlLHQsbil7dGhpcy5mbj1lLHRoaXMuY29udGV4dD10LHRoaXMub25jZT1ufHwhMX1mdW5jdGlvbiBvKGUsdCxuLGksbyl7aWYodHlwZW9mIG4hPWBmdW5jdGlvbmApdGhyb3cgVHlwZUVycm9yKGBUaGUgbGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uYCk7dmFyIHM9bmV3IGEobixpfHxlLG8pLGM9cj9yK3Q6dDtyZXR1cm4gZS5fZXZlbnRzW2NdP2UuX2V2ZW50c1tjXS5mbj9lLl9ldmVudHNbY109W2UuX2V2ZW50c1tjXSxzXTplLl9ldmVudHNbY10ucHVzaChzKTooZS5fZXZlbnRzW2NdPXMsZS5fZXZlbnRzQ291bnQrKyksZX1mdW5jdGlvbiBzKGUsdCl7LS1lLl9ldmVudHNDb3VudD09PTA/ZS5fZXZlbnRzPW5ldyBpOmRlbGV0ZSBlLl9ldmVudHNbdF19ZnVuY3Rpb24gYygpe3RoaXMuX2V2ZW50cz1uZXcgaSx0aGlzLl9ldmVudHNDb3VudD0wfWMucHJvdG90eXBlLmV2ZW50TmFtZXM9ZnVuY3Rpb24oKXt2YXIgZT1bXSx0LGk7aWYodGhpcy5fZXZlbnRzQ291bnQ9PT0wKXJldHVybiBlO2ZvcihpIGluIHQ9dGhpcy5fZXZlbnRzKW4uY2FsbCh0LGkpJiZlLnB1c2gocj9pLnNsaWNlKDEpOmkpO3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzP2UuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCkpOmV9LGMucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdD1yP3IrZTplLG49dGhpcy5fZXZlbnRzW3RdO2lmKCFuKXJldHVybltdO2lmKG4uZm4pcmV0dXJuW24uZm5dO2Zvcih2YXIgaT0wLGE9bi5sZW5ndGgsbz1BcnJheShhKTtpPGE7aSsrKW9baV09bltpXS5mbjtyZXR1cm4gb30sYy5wcm90b3R5cGUubGlzdGVuZXJDb3VudD1mdW5jdGlvbihlKXt2YXIgdD1yP3IrZTplLG49dGhpcy5fZXZlbnRzW3RdO3JldHVybiBuP24uZm4/MTpuLmxlbmd0aDowfSxjLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKGUsdCxuLGksYSxvKXt2YXIgcz1yP3IrZTplO2lmKCF0aGlzLl9ldmVudHNbc10pcmV0dXJuITE7dmFyIGM9dGhpcy5fZXZlbnRzW3NdLGw9YXJndW1lbnRzLmxlbmd0aCx1LGQ7aWYoYy5mbil7c3dpdGNoKGMub25jZSYmdGhpcy5yZW1vdmVMaXN0ZW5lcihlLGMuZm4sdm9pZCAwLCEwKSxsKXtjYXNlIDE6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQpLCEwO2Nhc2UgMjpyZXR1cm4gYy5mbi5jYWxsKGMuY29udGV4dCx0KSwhMDtjYXNlIDM6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQsdCxuKSwhMDtjYXNlIDQ6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQsdCxuLGkpLCEwO2Nhc2UgNTpyZXR1cm4gYy5mbi5jYWxsKGMuY29udGV4dCx0LG4saSxhKSwhMDtjYXNlIDY6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQsdCxuLGksYSxvKSwhMH1mb3IoZD0xLHU9QXJyYXkobC0xKTtkPGw7ZCsrKXVbZC0xXT1hcmd1bWVudHNbZF07Yy5mbi5hcHBseShjLmNvbnRleHQsdSl9ZWxzZXt2YXIgZj1jLmxlbmd0aCxwO2ZvcihkPTA7ZDxmO2QrKylzd2l0Y2goY1tkXS5vbmNlJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGUsY1tkXS5mbix2b2lkIDAsITApLGwpe2Nhc2UgMTpjW2RdLmZuLmNhbGwoY1tkXS5jb250ZXh0KTticmVhaztjYXNlIDI6Y1tkXS5mbi5jYWxsKGNbZF0uY29udGV4dCx0KTticmVhaztjYXNlIDM6Y1tkXS5mbi5jYWxsKGNbZF0uY29udGV4dCx0LG4pO2JyZWFrO2Nhc2UgNDpjW2RdLmZuLmNhbGwoY1tkXS5jb250ZXh0LHQsbixpKTticmVhaztkZWZhdWx0OmlmKCF1KWZvcihwPTEsdT1BcnJheShsLTEpO3A8bDtwKyspdVtwLTFdPWFyZ3VtZW50c1twXTtjW2RdLmZuLmFwcGx5KGNbZF0uY29udGV4dCx1KX19cmV0dXJuITB9LGMucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbyh0aGlzLGUsdCxuLCExKX0sYy5wcm90b3R5cGUub25jZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIG8odGhpcyxlLHQsbiwhMCl9LGMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCxuLGkpe3ZhciBhPXI/citlOmU7aWYoIXRoaXMuX2V2ZW50c1thXSlyZXR1cm4gdGhpcztpZighdClyZXR1cm4gcyh0aGlzLGEpLHRoaXM7dmFyIG89dGhpcy5fZXZlbnRzW2FdO2lmKG8uZm4pby5mbj09PXQmJighaXx8by5vbmNlKSYmKCFufHxvLmNvbnRleHQ9PT1uKSYmcyh0aGlzLGEpO2Vsc2V7Zm9yKHZhciBjPTAsbD1bXSx1PW8ubGVuZ3RoO2M8dTtjKyspKG9bY10uZm4hPT10fHxpJiYhb1tjXS5vbmNlfHxuJiZvW2NdLmNvbnRleHQhPT1uKSYmbC5wdXNoKG9bY10pO2wubGVuZ3RoP3RoaXMuX2V2ZW50c1thXT1sLmxlbmd0aD09PTE/bFswXTpsOnModGhpcyxhKX1yZXR1cm4gdGhpc30sYy5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiBlPyh0PXI/citlOmUsdGhpcy5fZXZlbnRzW3RdJiZzKHRoaXMsdCkpOih0aGlzLl9ldmVudHM9bmV3IGksdGhpcy5fZXZlbnRzQ291bnQ9MCksdGhpc30sYy5wcm90b3R5cGUub2ZmPWMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyLGMucHJvdG90eXBlLmFkZExpc3RlbmVyPWMucHJvdG90eXBlLm9uLGMucHJlZml4ZWQ9cixjLkV2ZW50RW1pdHRlcj1jLHQhPT12b2lkIDAmJih0LmV4cG9ydHM9Yyl9KSksa3M9cygoKGUsdCk9Pnt2YXIgbj0vXig/Oig/IVteOkBdKzpbXjpAXC9dKkApKGh0dHB8aHR0cHN8d3N8d3NzKTpcL1wvKT8oKD86KChbXjpAXSopKD86OihbXjpAXSopKT8pP0ApPygoPzpbYS1mMC05XXswLDR9Oil7Miw3fVthLWYwLTldezAsNH18W146XC8/I10qKSg/OjooXGQqKSk/KSgoKFwvKD86W14/I10oPyFbXj8jXC9dKlwuW14/I1wvLl0rKD86Wz8jXXwkKSkpKlwvPyk/KFtePyNcL10qKSkoPzpcPyhbXiNdKikpPyg/OiMoLiopKT8pLyxyPVtgc291cmNlYCxgcHJvdG9jb2xgLGBhdXRob3JpdHlgLGB1c2VySW5mb2AsYHVzZXJgLGBwYXNzd29yZGAsYGhvc3RgLGBwb3J0YCxgcmVsYXRpdmVgLGBwYXRoYCxgZGlyZWN0b3J5YCxgZmlsZWAsYHF1ZXJ5YCxgYW5jaG9yYF07dC5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PWUsaT1lLmluZGV4T2YoYFtgKSxhPWUuaW5kZXhPZihgXWApO2khPS0xJiZhIT0tMSYmKGU9ZS5zdWJzdHJpbmcoMCxpKStlLnN1YnN0cmluZyhpLGEpLnJlcGxhY2UoLzovZyxgO2ApK2Uuc3Vic3RyaW5nKGEsZS5sZW5ndGgpKTtmb3IodmFyIG89bi5leGVjKGV8fGBgKSxzPXt9LGM9MTQ7Yy0tOylzW3JbY11dPW9bY118fGBgO3JldHVybiBpIT0tMSYmYSE9LTEmJihzLnNvdXJjZT10LHMuaG9zdD1zLmhvc3Quc3Vic3RyaW5nKDEscy5ob3N0Lmxlbmd0aC0xKS5yZXBsYWNlKC87L2csYDpgKSxzLmF1dGhvcml0eT1zLmF1dGhvcml0eS5yZXBsYWNlKGBbYCxgYCkucmVwbGFjZShgXWAsYGApLnJlcGxhY2UoLzsvZyxgOmApLHMuaXB2NnVyaT0hMCksc319KSksQXM9cygoKGUsdCk9PntmdW5jdGlvbiBuKGUpe24uZGVidWc9bixuLmRlZmF1bHQ9bixuLmNvZXJjZT1sLG4uZGlzYWJsZT1vLG4uZW5hYmxlPWEsbi5lbmFibGVkPXMsbi5odW1hbml6ZT13cygpLE9iamVjdC5rZXlzKGUpLmZvckVhY2godD0+e25bdF09ZVt0XX0pLG4uaW5zdGFuY2VzPVtdLG4ubmFtZXM9W10sbi5za2lwcz1bXSxuLmZvcm1hdHRlcnM9e307ZnVuY3Rpb24gdChlKXtsZXQgdD0wO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXQ9KHQ8PDUpLXQrZS5jaGFyQ29kZUF0KG4pLHR8PTA7cmV0dXJuIG4uY29sb3JzW01hdGguYWJzKHQpJW4uY29sb3JzLmxlbmd0aF19bi5zZWxlY3RDb2xvcj10O2Z1bmN0aW9uIG4oZSl7bGV0IGE7ZnVuY3Rpb24gbyguLi5lKXtpZighby5lbmFibGVkKXJldHVybjtsZXQgdD1vLHI9TnVtYmVyKG5ldyBEYXRlKTt0LmRpZmY9ci0oYXx8ciksdC5wcmV2PWEsdC5jdXJyPXIsYT1yLGVbMF09bi5jb2VyY2UoZVswXSksdHlwZW9mIGVbMF0hPWBzdHJpbmdgJiZlLnVuc2hpZnQoYCVPYCk7bGV0IGk9MDtlWzBdPWVbMF0ucmVwbGFjZSgvJShbYS16QS1aJV0pL2csKHIsYSk9PntpZihyPT09YCUlYClyZXR1cm4gcjtpKys7bGV0IG89bi5mb3JtYXR0ZXJzW2FdO2lmKHR5cGVvZiBvPT1gZnVuY3Rpb25gKXtsZXQgbj1lW2ldO3I9by5jYWxsKHQsbiksZS5zcGxpY2UoaSwxKSxpLS19cmV0dXJuIHJ9KSxuLmZvcm1hdEFyZ3MuY2FsbCh0LGUpLCh0LmxvZ3x8bi5sb2cpLmFwcGx5KHQsZSl9cmV0dXJuIG8ubmFtZXNwYWNlPWUsby5lbmFibGVkPW4uZW5hYmxlZChlKSxvLnVzZUNvbG9ycz1uLnVzZUNvbG9ycygpLG8uY29sb3I9dChlKSxvLmRlc3Ryb3k9cixvLmV4dGVuZD1pLHR5cGVvZiBuLmluaXQ9PWBmdW5jdGlvbmAmJm4uaW5pdChvKSxuLmluc3RhbmNlcy5wdXNoKG8pLG99ZnVuY3Rpb24gcigpe2xldCBlPW4uaW5zdGFuY2VzLmluZGV4T2YodGhpcyk7cmV0dXJuIGU9PT0tMT8hMToobi5pbnN0YW5jZXMuc3BsaWNlKGUsMSksITApfWZ1bmN0aW9uIGkoZSx0KXtsZXQgcj1uKHRoaXMubmFtZXNwYWNlKyh0PT09dm9pZCAwP2A6YDp0KStlKTtyZXR1cm4gci5sb2c9dGhpcy5sb2cscn1mdW5jdGlvbiBhKGUpe24uc2F2ZShlKSxuLm5hbWVzPVtdLG4uc2tpcHM9W107bGV0IHQscj0odHlwZW9mIGU9PWBzdHJpbmdgP2U6YGApLnNwbGl0KC9bXHMsXSsvKSxpPXIubGVuZ3RoO2Zvcih0PTA7dDxpO3QrKylyW3RdJiYoZT1yW3RdLnJlcGxhY2UoL1wqL2csYC4qP2ApLGVbMF09PT1gLWA/bi5za2lwcy5wdXNoKFJlZ0V4cChgXmArZS5zdWJzdHIoMSkrYCRgKSk6bi5uYW1lcy5wdXNoKFJlZ0V4cChgXmArZStgJGApKSk7Zm9yKHQ9MDt0PG4uaW5zdGFuY2VzLmxlbmd0aDt0Kyspe2xldCBlPW4uaW5zdGFuY2VzW3RdO2UuZW5hYmxlZD1uLmVuYWJsZWQoZS5uYW1lc3BhY2UpfX1mdW5jdGlvbiBvKCl7bGV0IGU9Wy4uLm4ubmFtZXMubWFwKGMpLC4uLm4uc2tpcHMubWFwKGMpLm1hcChlPT5gLWArZSldLmpvaW4oYCxgKTtyZXR1cm4gbi5lbmFibGUoYGApLGV9ZnVuY3Rpb24gcyhlKXtpZihlW2UubGVuZ3RoLTFdPT09YCpgKXJldHVybiEwO2xldCB0LHI7Zm9yKHQ9MCxyPW4uc2tpcHMubGVuZ3RoO3Q8cjt0KyspaWYobi5za2lwc1t0XS50ZXN0KGUpKXJldHVybiExO2Zvcih0PTAscj1uLm5hbWVzLmxlbmd0aDt0PHI7dCsrKWlmKG4ubmFtZXNbdF0udGVzdChlKSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBjKGUpe3JldHVybiBlLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDIsZS50b1N0cmluZygpLmxlbmd0aC0yKS5yZXBsYWNlKC9cLlwqXD8kLyxgKmApfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBFcnJvcj9lLnN0YWNrfHxlLm1lc3NhZ2U6ZX1yZXR1cm4gbi5lbmFibGUobi5sb2FkKCkpLG59dC5leHBvcnRzPW59KSksanM9cygoKGUsdCk9PntlLmxvZz1pLGUuZm9ybWF0QXJncz1yLGUuc2F2ZT1hLGUubG9hZD1vLGUudXNlQ29sb3JzPW4sZS5zdG9yYWdlPXMoKSxlLmNvbG9ycz1gIzAwMDBDQy4jMDAwMEZGLiMwMDMzQ0MuIzAwMzNGRi4jMDA2NkNDLiMwMDY2RkYuIzAwOTlDQy4jMDA5OUZGLiMwMENDMDAuIzAwQ0MzMy4jMDBDQzY2LiMwMENDOTkuIzAwQ0NDQy4jMDBDQ0ZGLiMzMzAwQ0MuIzMzMDBGRi4jMzMzM0NDLiMzMzMzRkYuIzMzNjZDQy4jMzM2NkZGLiMzMzk5Q0MuIzMzOTlGRi4jMzNDQzAwLiMzM0NDMzMuIzMzQ0M2Ni4jMzNDQzk5LiMzM0NDQ0MuIzMzQ0NGRi4jNjYwMENDLiM2NjAwRkYuIzY2MzNDQy4jNjYzM0ZGLiM2NkNDMDAuIzY2Q0MzMy4jOTkwMENDLiM5OTAwRkYuIzk5MzNDQy4jOTkzM0ZGLiM5OUNDMDAuIzk5Q0MzMy4jQ0MwMDAwLiNDQzAwMzMuI0NDMDA2Ni4jQ0MwMDk5LiNDQzAwQ0MuI0NDMDBGRi4jQ0MzMzAwLiNDQzMzMzMuI0NDMzM2Ni4jQ0MzMzk5LiNDQzMzQ0MuI0NDMzNGRi4jQ0M2NjAwLiNDQzY2MzMuI0NDOTkwMC4jQ0M5OTMzLiNDQ0NDMDAuI0NDQ0MzMy4jRkYwMDAwLiNGRjAwMzMuI0ZGMDA2Ni4jRkYwMDk5LiNGRjAwQ0MuI0ZGMDBGRi4jRkYzMzAwLiNGRjMzMzMuI0ZGMzM2Ni4jRkYzMzk5LiNGRjMzQ0MuI0ZGMzNGRi4jRkY2NjAwLiNGRjY2MzMuI0ZGOTkwMC4jRkY5OTMzLiNGRkNDMDAuI0ZGQ0MzM2Auc3BsaXQoYC5gKTtmdW5jdGlvbiBuKCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cucHJvY2VzcyYmKHdpbmRvdy5wcm9jZXNzLnR5cGU9PT1gcmVuZGVyZXJgfHx3aW5kb3cucHJvY2Vzcy5fX253anMpPyEwOnR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhlZGdlfHRyaWRlbnQpXC8oXGQrKS8pPyExOnR5cGVvZiBkb2N1bWVudDxgdWAmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuV2Via2l0QXBwZWFyYW5jZXx8dHlwZW9mIHdpbmRvdzxgdWAmJndpbmRvdy5jb25zb2xlJiYod2luZG93LmNvbnNvbGUuZmlyZWJ1Z3x8d2luZG93LmNvbnNvbGUuZXhjZXB0aW9uJiZ3aW5kb3cuY29uc29sZS50YWJsZSl8fHR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goL2ZpcmVmb3hcLyhcZCspLykmJnBhcnNlSW50KFJlZ0V4cC4kMSwxMCk+PTMxfHx0eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9hcHBsZXdlYmtpdFwvKFxkKykvKX1mdW5jdGlvbiByKGUpe2lmKGVbMF09KHRoaXMudXNlQ29sb3JzP2AlY2A6YGApK3RoaXMubmFtZXNwYWNlKyh0aGlzLnVzZUNvbG9ycz9gICVjYDpgIGApK2VbMF0rKHRoaXMudXNlQ29sb3JzP2AlYyBgOmAgYCkrYCtgK3QuZXhwb3J0cy5odW1hbml6ZSh0aGlzLmRpZmYpLCF0aGlzLnVzZUNvbG9ycylyZXR1cm47bGV0IG49YGNvbG9yOiBgK3RoaXMuY29sb3I7ZS5zcGxpY2UoMSwwLG4sYGNvbG9yOiBpbmhlcml0YCk7bGV0IHI9MCxpPTA7ZVswXS5yZXBsYWNlKC8lW2EtekEtWiVdL2csZT0+e2UhPT1gJSVgJiYocisrLGU9PT1gJWNgJiYoaT1yKSl9KSxlLnNwbGljZShpLDAsbil9ZnVuY3Rpb24gaSguLi5lKXtyZXR1cm4gdHlwZW9mIGNvbnNvbGU9PWBvYmplY3RgJiZjb25zb2xlLmxvZyYmY29uc29sZS5sb2coLi4uZSl9ZnVuY3Rpb24gYSh0KXt0cnl7dD9lLnN0b3JhZ2Uuc2V0SXRlbShgZGVidWdgLHQpOmUuc3RvcmFnZS5yZW1vdmVJdGVtKGBkZWJ1Z2ApfWNhdGNoe319ZnVuY3Rpb24gbygpe2xldCB0O3RyeXt0PWUuc3RvcmFnZS5nZXRJdGVtKGBkZWJ1Z2ApfWNhdGNoe31yZXR1cm4hdCYmdHlwZW9mIHByb2Nlc3M8YHVgJiZgZW52YGluIHByb2Nlc3MmJih0PXt9LkRFQlVHKSx0fWZ1bmN0aW9uIHMoKXt0cnl7cmV0dXJuIGxvY2FsU3RvcmFnZX1jYXRjaHt9fXQuZXhwb3J0cz1BcygpKGUpO3Zhcntmb3JtYXR0ZXJzOmN9PXQuZXhwb3J0cztjLmo9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeShlKX1jYXRjaChlKXtyZXR1cm5gW1VuZXhwZWN0ZWRKU09OUGFyc2VFcnJvcl06IGArZS5tZXNzYWdlfX19KSksTXM9cygoKGUsdCk9Pnt2YXIgbj1rcygpLHI9anMoKShgc29ja2V0LmlvLWNsaWVudDp1cmxgKTt0LmV4cG9ydHM9aTtmdW5jdGlvbiBpKGUsdCl7dmFyIGk9ZTt0fHw9dHlwZW9mIGxvY2F0aW9uPGB1YCYmbG9jYXRpb24sZT8/PXQucHJvdG9jb2wrYC8vYCt0Lmhvc3QsdHlwZW9mIGU9PWBzdHJpbmdgJiYoZS5jaGFyQXQoMCk9PT1gL2AmJihlPWUuY2hhckF0KDEpPT09YC9gP3QucHJvdG9jb2wrZTp0Lmhvc3QrZSksL14oaHR0cHM/fHdzcz8pOlwvXC8vLnRlc3QoZSl8fChyKGBwcm90b2NvbC1sZXNzIHVybCAlc2AsZSksZT10PT09dm9pZCAwP2BodHRwczovL2ArZTp0LnByb3RvY29sK2AvL2ArZSkscihgcGFyc2UgJXNgLGUpLGk9bihlKSksaS5wb3J0fHwoL14oaHR0cHx3cykkLy50ZXN0KGkucHJvdG9jb2wpP2kucG9ydD1gODBgOi9eKGh0dHB8d3MpcyQvLnRlc3QoaS5wcm90b2NvbCkmJihpLnBvcnQ9YDQ0M2ApKSxpLnBhdGg9aS5wYXRofHxgL2A7dmFyIGE9aS5ob3N0LmluZGV4T2YoYDpgKT09PS0xP2kuaG9zdDpgW2AraS5ob3N0K2BdYDtyZXR1cm4gaS5pZD1pLnByb3RvY29sK2A6Ly9gK2ErYDpgK2kucG9ydCxpLmhyZWY9aS5wcm90b2NvbCtgOi8vYCthKyh0JiZ0LnBvcnQ9PT1pLnBvcnQ/YGA6YDpgK2kucG9ydCksaX19KSksTnM9cygoKGUsdCk9Pnt2YXIgbj0xZTMscj1uKjYwLGk9cio2MCxhPWkqMjQsbz1hKjM2NS4yNTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt0fHw9e307dmFyIG49dHlwZW9mIGU7aWYobj09PWBzdHJpbmdgJiZlLmxlbmd0aD4wKXJldHVybiBzKGUpO2lmKG49PT1gbnVtYmVyYCYmaXNOYU4oZSk9PT0hMSlyZXR1cm4gdC5sb25nP2woZSk6YyhlKTt0aHJvdyBFcnJvcihgdmFsIGlzIG5vdCBhIG5vbi1lbXB0eSBzdHJpbmcgb3IgYSB2YWxpZCBudW1iZXIuIHZhbD1gK0pTT04uc3RyaW5naWZ5KGUpKX07ZnVuY3Rpb24gcyhlKXtpZihlPVN0cmluZyhlKSwhKGUubGVuZ3RoPjEwMCkpe3ZhciB0PS9eKCg/OlxkKyk/XC4/XGQrKSAqKG1pbGxpc2Vjb25kcz98bXNlY3M/fG1zfHNlY29uZHM/fHNlY3M/fHN8bWludXRlcz98bWlucz98bXxob3Vycz98aHJzP3xofGRheXM/fGR8eWVhcnM/fHlycz98eSk/JC9pLmV4ZWMoZSk7aWYodCl7dmFyIHM9cGFyc2VGbG9hdCh0WzFdKTtzd2l0Y2goKHRbMl18fGBtc2ApLnRvTG93ZXJDYXNlKCkpe2Nhc2VgeWVhcnNgOmNhc2VgeWVhcmA6Y2FzZWB5cnNgOmNhc2VgeXJgOmNhc2VgeWA6cmV0dXJuIHMqbztjYXNlYGRheXNgOmNhc2VgZGF5YDpjYXNlYGRgOnJldHVybiBzKmE7Y2FzZWBob3Vyc2A6Y2FzZWBob3VyYDpjYXNlYGhyc2A6Y2FzZWBocmA6Y2FzZWBoYDpyZXR1cm4gcyppO2Nhc2VgbWludXRlc2A6Y2FzZWBtaW51dGVgOmNhc2VgbWluc2A6Y2FzZWBtaW5gOmNhc2VgbWA6cmV0dXJuIHMqcjtjYXNlYHNlY29uZHNgOmNhc2Vgc2Vjb25kYDpjYXNlYHNlY3NgOmNhc2Vgc2VjYDpjYXNlYHNgOnJldHVybiBzKm47Y2FzZWBtaWxsaXNlY29uZHNgOmNhc2VgbWlsbGlzZWNvbmRgOmNhc2VgbXNlY3NgOmNhc2VgbXNlY2A6Y2FzZWBtc2A6cmV0dXJuIHM7ZGVmYXVsdDpyZXR1cm59fX19ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZT49YT9NYXRoLnJvdW5kKGUvYSkrYGRgOmU+PWk/TWF0aC5yb3VuZChlL2kpK2BoYDplPj1yP01hdGgucm91bmQoZS9yKStgbWA6ZT49bj9NYXRoLnJvdW5kKGUvbikrYHNgOmUrYG1zYH1mdW5jdGlvbiBsKGUpe3JldHVybiB1KGUsYSxgZGF5YCl8fHUoZSxpLGBob3VyYCl8fHUoZSxyLGBtaW51dGVgKXx8dShlLG4sYHNlY29uZGApfHxlK2AgbXNgfWZ1bmN0aW9uIHUoZSx0LG4pe2lmKCEoZTx0KSlyZXR1cm4gZTx0KjEuNT9NYXRoLmZsb29yKGUvdCkrYCBgK246TWF0aC5jZWlsKGUvdCkrYCBgK24rYHNgfX0pKSxQcz1zKCgoZSx0KT0+e2U9dC5leHBvcnRzPXIuZGVidWc9ci5kZWZhdWx0PXIsZS5jb2VyY2U9YyxlLmRpc2FibGU9byxlLmVuYWJsZT1hLGUuZW5hYmxlZD1zLGUuaHVtYW5pemU9TnMoKSxlLmluc3RhbmNlcz1bXSxlLm5hbWVzPVtdLGUuc2tpcHM9W10sZS5mb3JtYXR0ZXJzPXt9O2Z1bmN0aW9uIG4odCl7dmFyIG49MCxyO2ZvcihyIGluIHQpbj0objw8NSktbit0LmNoYXJDb2RlQXQociksbnw9MDtyZXR1cm4gZS5jb2xvcnNbTWF0aC5hYnMobiklZS5jb2xvcnMubGVuZ3RoXX1mdW5jdGlvbiByKHQpe3ZhciByO2Z1bmN0aW9uIGEoKXtpZihhLmVuYWJsZWQpe3ZhciB0PWEsbj0rbmV3IERhdGU7dC5kaWZmPW4tKHJ8fG4pLHQucHJldj1yLHQuY3Vycj1uLHI9bjtmb3IodmFyIGk9QXJyYXkoYXJndW1lbnRzLmxlbmd0aCksbz0wO288aS5sZW5ndGg7bysrKWlbb109YXJndW1lbnRzW29dO2lbMF09ZS5jb2VyY2UoaVswXSksdHlwZW9mIGlbMF0hPWBzdHJpbmdgJiZpLnVuc2hpZnQoYCVPYCk7dmFyIHM9MDtpWzBdPWlbMF0ucmVwbGFjZSgvJShbYS16QS1aJV0pL2csZnVuY3Rpb24obixyKXtpZihuPT09YCUlYClyZXR1cm4gbjtzKys7dmFyIGE9ZS5mb3JtYXR0ZXJzW3JdO2lmKHR5cGVvZiBhPT1gZnVuY3Rpb25gKXt2YXIgbz1pW3NdO249YS5jYWxsKHQsbyksaS5zcGxpY2UocywxKSxzLS19cmV0dXJuIG59KSxlLmZvcm1hdEFyZ3MuY2FsbCh0LGkpLChhLmxvZ3x8ZS5sb2d8fGNvbnNvbGUubG9nLmJpbmQoY29uc29sZSkpLmFwcGx5KHQsaSl9fXJldHVybiBhLm5hbWVzcGFjZT10LGEuZW5hYmxlZD1lLmVuYWJsZWQodCksYS51c2VDb2xvcnM9ZS51c2VDb2xvcnMoKSxhLmNvbG9yPW4odCksYS5kZXN0cm95PWksdHlwZW9mIGUuaW5pdD09YGZ1bmN0aW9uYCYmZS5pbml0KGEpLGUuaW5zdGFuY2VzLnB1c2goYSksYX1mdW5jdGlvbiBpKCl7dmFyIHQ9ZS5pbnN0YW5jZXMuaW5kZXhPZih0aGlzKTtyZXR1cm4gdD09PS0xPyExOihlLmluc3RhbmNlcy5zcGxpY2UodCwxKSwhMCl9ZnVuY3Rpb24gYSh0KXtlLnNhdmUodCksZS5uYW1lcz1bXSxlLnNraXBzPVtdO3ZhciBuLHI9KHR5cGVvZiB0PT1gc3RyaW5nYD90OmBgKS5zcGxpdCgvW1xzLF0rLyksaT1yLmxlbmd0aDtmb3Iobj0wO248aTtuKyspcltuXSYmKHQ9cltuXS5yZXBsYWNlKC9cKi9nLGAuKj9gKSx0WzBdPT09YC1gP2Uuc2tpcHMucHVzaChSZWdFeHAoYF5gK3Quc3Vic3RyKDEpK2AkYCkpOmUubmFtZXMucHVzaChSZWdFeHAoYF5gK3QrYCRgKSkpO2ZvcihuPTA7bjxlLmluc3RhbmNlcy5sZW5ndGg7bisrKXt2YXIgYT1lLmluc3RhbmNlc1tuXTthLmVuYWJsZWQ9ZS5lbmFibGVkKGEubmFtZXNwYWNlKX19ZnVuY3Rpb24gbygpe2UuZW5hYmxlKGBgKX1mdW5jdGlvbiBzKHQpe2lmKHRbdC5sZW5ndGgtMV09PT1gKmApcmV0dXJuITA7dmFyIG4scjtmb3Iobj0wLHI9ZS5za2lwcy5sZW5ndGg7bjxyO24rKylpZihlLnNraXBzW25dLnRlc3QodCkpcmV0dXJuITE7Zm9yKG49MCxyPWUubmFtZXMubGVuZ3RoO248cjtuKyspaWYoZS5uYW1lc1tuXS50ZXN0KHQpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBFcnJvcj9lLnN0YWNrfHxlLm1lc3NhZ2U6ZX19KSksRnM9cygoKGUsdCk9PntlPXQuZXhwb3J0cz1QcygpLGUubG9nPWksZS5mb3JtYXRBcmdzPXIsZS5zYXZlPWEsZS5sb2FkPW8sZS51c2VDb2xvcnM9bixlLnN0b3JhZ2U9dHlwZW9mIGNocm9tZTxgdWAmJmNocm9tZS5zdG9yYWdlIT09dm9pZCAwP2Nocm9tZS5zdG9yYWdlLmxvY2FsOnMoKSxlLmNvbG9ycz1gIzAwMDBDQy4jMDAwMEZGLiMwMDMzQ0MuIzAwMzNGRi4jMDA2NkNDLiMwMDY2RkYuIzAwOTlDQy4jMDA5OUZGLiMwMENDMDAuIzAwQ0MzMy4jMDBDQzY2LiMwMENDOTkuIzAwQ0NDQy4jMDBDQ0ZGLiMzMzAwQ0MuIzMzMDBGRi4jMzMzM0NDLiMzMzMzRkYuIzMzNjZDQy4jMzM2NkZGLiMzMzk5Q0MuIzMzOTlGRi4jMzNDQzAwLiMzM0NDMzMuIzMzQ0M2Ni4jMzNDQzk5LiMzM0NDQ0MuIzMzQ0NGRi4jNjYwMENDLiM2NjAwRkYuIzY2MzNDQy4jNjYzM0ZGLiM2NkNDMDAuIzY2Q0MzMy4jOTkwMENDLiM5OTAwRkYuIzk5MzNDQy4jOTkzM0ZGLiM5OUNDMDAuIzk5Q0MzMy4jQ0MwMDAwLiNDQzAwMzMuI0NDMDA2Ni4jQ0MwMDk5LiNDQzAwQ0MuI0NDMDBGRi4jQ0MzMzAwLiNDQzMzMzMuI0NDMzM2Ni4jQ0MzMzk5LiNDQzMzQ0MuI0NDMzNGRi4jQ0M2NjAwLiNDQzY2MzMuI0NDOTkwMC4jQ0M5OTMzLiNDQ0NDMDAuI0NDQ0MzMy4jRkYwMDAwLiNGRjAwMzMuI0ZGMDA2Ni4jRkYwMDk5LiNGRjAwQ0MuI0ZGMDBGRi4jRkYzMzAwLiNGRjMzMzMuI0ZGMzM2Ni4jRkYzMzk5LiNGRjMzQ0MuI0ZGMzNGRi4jRkY2NjAwLiNGRjY2MzMuI0ZGOTkwMC4jRkY5OTMzLiNGRkNDMDAuI0ZGQ0MzM2Auc3BsaXQoYC5gKTtmdW5jdGlvbiBuKCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cucHJvY2VzcyYmd2luZG93LnByb2Nlc3MudHlwZT09PWByZW5kZXJlcmA/ITA6dHlwZW9mIG5hdmlnYXRvcjxgdWAmJm5hdmlnYXRvci51c2VyQWdlbnQmJm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKGVkZ2V8dHJpZGVudClcLyhcZCspLyk/ITE6dHlwZW9mIGRvY3VtZW50PGB1YCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5XZWJraXRBcHBlYXJhbmNlfHx0eXBlb2Ygd2luZG93PGB1YCYmd2luZG93LmNvbnNvbGUmJih3aW5kb3cuY29uc29sZS5maXJlYnVnfHx3aW5kb3cuY29uc29sZS5leGNlcHRpb24mJndpbmRvdy5jb25zb2xlLnRhYmxlKXx8dHlwZW9mIG5hdmlnYXRvcjxgdWAmJm5hdmlnYXRvci51c2VyQWdlbnQmJm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvZmlyZWZveFwvKFxkKykvKSYmcGFyc2VJbnQoUmVnRXhwLiQxLDEwKT49MzF8fHR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goL2FwcGxld2Via2l0XC8oXGQrKS8pfWUuZm9ybWF0dGVycy5qPWZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSl9Y2F0Y2goZSl7cmV0dXJuYFtVbmV4cGVjdGVkSlNPTlBhcnNlRXJyb3JdOiBgK2UubWVzc2FnZX19O2Z1bmN0aW9uIHIodCl7dmFyIG49dGhpcy51c2VDb2xvcnM7aWYodFswXT0obj9gJWNgOmBgKSt0aGlzLm5hbWVzcGFjZSsobj9gICVjYDpgIGApK3RbMF0rKG4/YCVjIGA6YCBgKStgK2ArZS5odW1hbml6ZSh0aGlzLmRpZmYpLG4pe3ZhciByPWBjb2xvcjogYCt0aGlzLmNvbG9yO3Quc3BsaWNlKDEsMCxyLGBjb2xvcjogaW5oZXJpdGApO3ZhciBpPTAsYT0wO3RbMF0ucmVwbGFjZSgvJVthLXpBLVolXS9nLGZ1bmN0aW9uKGUpe2UhPT1gJSVgJiYoaSsrLGU9PT1gJWNgJiYoYT1pKSl9KSx0LnNwbGljZShhLDAscil9fWZ1bmN0aW9uIGkoKXtyZXR1cm4gdHlwZW9mIGNvbnNvbGU9PWBvYmplY3RgJiZjb25zb2xlLmxvZyYmRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZS5sb2csY29uc29sZSxhcmd1bWVudHMpfWZ1bmN0aW9uIGEodCl7dHJ5e3Q9PW51bGw/ZS5zdG9yYWdlLnJlbW92ZUl0ZW0oYGRlYnVnYCk6ZS5zdG9yYWdlLmRlYnVnPXR9Y2F0Y2h7fX1mdW5jdGlvbiBvKCl7dmFyIHQ7dHJ5e3Q9ZS5zdG9yYWdlLmRlYnVnfWNhdGNoe31yZXR1cm4hdCYmdHlwZW9mIHByb2Nlc3M8YHVgJiZgZW52YGluIHByb2Nlc3MmJih0PXt9LkRFQlVHKSx0fWUuZW5hYmxlKG8oKSk7ZnVuY3Rpb24gcygpe3RyeXtyZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZX1jYXRjaHt9fX0pKSxJcz1zKCgoZSx0KT0+e3QhPT12b2lkIDAmJih0LmV4cG9ydHM9bik7ZnVuY3Rpb24gbihlKXtpZihlKXJldHVybiByKGUpfWZ1bmN0aW9uIHIoZSl7Zm9yKHZhciB0IGluIG4ucHJvdG90eXBlKWVbdF09bi5wcm90b3R5cGVbdF07cmV0dXJuIGV9bi5wcm90b3R5cGUub249bi5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzfHx7fSwodGhpcy5fY2FsbGJhY2tzW2AkYCtlXT10aGlzLl9jYWxsYmFja3NbYCRgK2VdfHxbXSkucHVzaCh0KSx0aGlzfSxuLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbigpe3RoaXMub2ZmKGUsbiksdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIG4uZm49dCx0aGlzLm9uKGUsbiksdGhpc30sbi5wcm90b3R5cGUub2ZmPW4ucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPW4ucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1uLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sYXJndW1lbnRzLmxlbmd0aD09MClyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXt9LHRoaXM7dmFyIG49dGhpcy5fY2FsbGJhY2tzW2AkYCtlXTtpZighbilyZXR1cm4gdGhpcztpZihhcmd1bWVudHMubGVuZ3RoPT0xKXJldHVybiBkZWxldGUgdGhpcy5fY2FsbGJhY2tzW2AkYCtlXSx0aGlzO2Zvcih2YXIgcixpPTA7aTxuLmxlbmd0aDtpKyspaWYocj1uW2ldLHI9PT10fHxyLmZuPT09dCl7bi5zcGxpY2UoaSwxKTticmVha31yZXR1cm4gbi5sZW5ndGg9PT0wJiZkZWxldGUgdGhpcy5fY2FsbGJhY2tzW2AkYCtlXSx0aGlzfSxuLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKGUpe3RoaXMuX2NhbGxiYWNrcz10aGlzLl9jYWxsYmFja3N8fHt9O2Zvcih2YXIgdD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTEpLG49dGhpcy5fY2FsbGJhY2tzW2AkYCtlXSxyPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3ItMV09YXJndW1lbnRzW3JdO2lmKG4pe249bi5zbGljZSgwKTtmb3IodmFyIHI9MCxpPW4ubGVuZ3RoO3I8aTsrK3IpbltyXS5hcHBseSh0aGlzLHQpfXJldHVybiB0aGlzfSxuLnByb3RvdHlwZS5saXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2NhbGxiYWNrcz10aGlzLl9jYWxsYmFja3N8fHt9LHRoaXMuX2NhbGxiYWNrc1tgJGArZV18fFtdfSxuLnByb3RvdHlwZS5oYXNMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuISF0aGlzLmxpc3RlbmVycyhlKS5sZW5ndGh9fSkpLExzPXMoKChlLHQpPT57dmFyIG49e30udG9TdHJpbmc7dC5leHBvcnRzPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiBuLmNhbGwoZSk9PWBbb2JqZWN0IEFycmF5XWB9fSkpLFJzPXMoKChlLHQpPT57dC5leHBvcnRzPWE7dmFyIG49dHlwZW9mIEJ1ZmZlcj09YGZ1bmN0aW9uYCYmdHlwZW9mIEJ1ZmZlci5pc0J1ZmZlcj09YGZ1bmN0aW9uYCxyPXR5cGVvZiBBcnJheUJ1ZmZlcj09YGZ1bmN0aW9uYCxpPWZ1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3PT1gZnVuY3Rpb25gP0FycmF5QnVmZmVyLmlzVmlldyhlKTplLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfTtmdW5jdGlvbiBhKGUpe3JldHVybiBuJiZCdWZmZXIuaXNCdWZmZXIoZSl8fHImJihlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fGkoZSkpfX0pKSx6cz1zKChlPT57dmFyIHQ9THMoKSxuPVJzKCkscj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGk9dHlwZW9mIEJsb2I9PWBmdW5jdGlvbmB8fHR5cGVvZiBCbG9iPGB1YCYmci5jYWxsKEJsb2IpPT09YFtvYmplY3QgQmxvYkNvbnN0cnVjdG9yXWAsYT10eXBlb2YgRmlsZT09YGZ1bmN0aW9uYHx8dHlwZW9mIEZpbGU8YHVgJiZyLmNhbGwoRmlsZSk9PT1gW29iamVjdCBGaWxlQ29uc3RydWN0b3JdYDtlLmRlY29uc3RydWN0UGFja2V0PWZ1bmN0aW9uKGUpe3ZhciB0PVtdLG49ZS5kYXRhLHI9ZTtyZXR1cm4gci5kYXRhPW8obix0KSxyLmF0dGFjaG1lbnRzPXQubGVuZ3RoLHtwYWNrZXQ6cixidWZmZXJzOnR9fTtmdW5jdGlvbiBvKGUscil7aWYoIWUpcmV0dXJuIGU7aWYobihlKSl7dmFyIGk9e19wbGFjZWhvbGRlcjohMCxudW06ci5sZW5ndGh9O3JldHVybiByLnB1c2goZSksaX1lbHNlIGlmKHQoZSkpe2Zvcih2YXIgYT1BcnJheShlLmxlbmd0aCkscz0wO3M8ZS5sZW5ndGg7cysrKWFbc109byhlW3NdLHIpO3JldHVybiBhfWVsc2UgaWYodHlwZW9mIGU9PWBvYmplY3RgJiYhKGUgaW5zdGFuY2VvZiBEYXRlKSl7dmFyIGE9e307Zm9yKHZhciBjIGluIGUpYVtjXT1vKGVbY10scik7cmV0dXJuIGF9cmV0dXJuIGV9ZS5yZWNvbnN0cnVjdFBhY2tldD1mdW5jdGlvbihlLHQpe3JldHVybiBlLmRhdGE9cyhlLmRhdGEsdCksZS5hdHRhY2htZW50cz12b2lkIDAsZX07ZnVuY3Rpb24gcyhlLG4pe2lmKCFlKXJldHVybiBlO2lmKGUmJmUuX3BsYWNlaG9sZGVyPT09ITApe2lmKHR5cGVvZiBlLm51bT09YG51bWJlcmAmJmUubnVtPj0wJiZlLm51bTxuLmxlbmd0aClyZXR1cm4gbltlLm51bV07dGhyb3cgRXJyb3IoYGlsbGVnYWwgYXR0YWNobWVudHNgKX1lbHNlIGlmKHQoZSkpZm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspZVtyXT1zKGVbcl0sbik7ZWxzZSBpZih0eXBlb2YgZT09YG9iamVjdGApZm9yKHZhciBpIGluIGUpZVtpXT1zKGVbaV0sbik7cmV0dXJuIGV9ZS5yZW1vdmVCbG9icz1mdW5jdGlvbihlLHIpe2Z1bmN0aW9uIG8oZSxsLHUpe2lmKCFlKXJldHVybiBlO2lmKGkmJmUgaW5zdGFuY2VvZiBCbG9ifHxhJiZlIGluc3RhbmNlb2YgRmlsZSl7cysrO3ZhciBkPW5ldyBGaWxlUmVhZGVyO2Qub25sb2FkPWZ1bmN0aW9uKCl7dT91W2xdPXRoaXMucmVzdWx0OmM9dGhpcy5yZXN1bHQsLS1zfHxyKGMpfSxkLnJlYWRBc0FycmF5QnVmZmVyKGUpfWVsc2UgaWYodChlKSlmb3IodmFyIGY9MDtmPGUubGVuZ3RoO2YrKylvKGVbZl0sZixlKTtlbHNlIGlmKHR5cGVvZiBlPT1gb2JqZWN0YCYmIW4oZSkpZm9yKHZhciBwIGluIGUpbyhlW3BdLHAsZSl9dmFyIHM9MCxjPWU7byhjKSxzfHxyKGMpfX0pKSxCcz1zKChlPT57dmFyIHQ9RnMoKShgc29ja2V0LmlvLXBhcnNlcmApLG49SXMoKSxyPXpzKCksaT1McygpLGE9UnMoKTtlLnByb3RvY29sPTQsZS50eXBlcz1bYENPTk5FQ1RgLGBESVNDT05ORUNUYCxgRVZFTlRgLGBBQ0tgLGBFUlJPUmAsYEJJTkFSWV9FVkVOVGAsYEJJTkFSWV9BQ0tgXSxlLkNPTk5FQ1Q9MCxlLkRJU0NPTk5FQ1Q9MSxlLkVWRU5UPTIsZS5BQ0s9MyxlLkVSUk9SPTQsZS5CSU5BUllfRVZFTlQ9NSxlLkJJTkFSWV9BQ0s9NixlLkVuY29kZXI9byxlLkRlY29kZXI9ZDtmdW5jdGlvbiBvKCl7fXZhciBzPWUuRVJST1IrYCJlbmNvZGUgZXJyb3IiYDtvLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24obixyKXt0KGBlbmNvZGluZyBwYWNrZXQgJWpgLG4pLGUuQklOQVJZX0VWRU5UPT09bi50eXBlfHxlLkJJTkFSWV9BQ0s9PT1uLnR5cGU/dShuLHIpOnIoW2MobildKX07ZnVuY3Rpb24gYyhuKXt2YXIgcj1gYCtuLnR5cGU7aWYoKGUuQklOQVJZX0VWRU5UPT09bi50eXBlfHxlLkJJTkFSWV9BQ0s9PT1uLnR5cGUpJiYocis9bi5hdHRhY2htZW50cytgLWApLG4ubnNwJiZuLm5zcCE9PWAvYCYmKHIrPW4ubnNwK2AsYCksbi5pZCE9bnVsbCYmKHIrPW4uaWQpLG4uZGF0YSE9bnVsbCl7dmFyIGk9bChuLmRhdGEpO2lmKGkhPT0hMSlyKz1pO2Vsc2UgcmV0dXJuIHN9cmV0dXJuIHQoYGVuY29kZWQgJWogYXMgJXNgLG4scikscn1mdW5jdGlvbiBsKGUpe3RyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSl9Y2F0Y2h7cmV0dXJuITF9fWZ1bmN0aW9uIHUoZSx0KXtmdW5jdGlvbiBuKGUpe3ZhciBuPXIuZGVjb25zdHJ1Y3RQYWNrZXQoZSksaT1jKG4ucGFja2V0KSxhPW4uYnVmZmVyczthLnVuc2hpZnQoaSksdChhKX1yLnJlbW92ZUJsb2JzKGUsbil9ZnVuY3Rpb24gZCgpe3RoaXMucmVjb25zdHJ1Y3Rvcj1udWxsfW4oZC5wcm90b3R5cGUpLGQucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXt2YXIgbjtpZih0eXBlb2YgdD09YHN0cmluZ2Ape2lmKHRoaXMucmVjb25zdHJ1Y3Rvcil0aHJvdyBFcnJvcihgZ290IHBsYWludGV4dCBkYXRhIHdoZW4gcmVjb25zdHJ1Y3RpbmcgYSBwYWNrZXRgKTtuPWYodCksZS5CSU5BUllfRVZFTlQ9PT1uLnR5cGV8fGUuQklOQVJZX0FDSz09PW4udHlwZT8odGhpcy5yZWNvbnN0cnVjdG9yPW5ldyBtKG4pLHRoaXMucmVjb25zdHJ1Y3Rvci5yZWNvblBhY2suYXR0YWNobWVudHM9PT0wJiZ0aGlzLmVtaXQoYGRlY29kZWRgLG4pKTp0aGlzLmVtaXQoYGRlY29kZWRgLG4pfWVsc2UgaWYoYSh0KXx8dC5iYXNlNjQpaWYodGhpcy5yZWNvbnN0cnVjdG9yKW49dGhpcy5yZWNvbnN0cnVjdG9yLnRha2VCaW5hcnlEYXRhKHQpLG4mJih0aGlzLnJlY29uc3RydWN0b3I9bnVsbCx0aGlzLmVtaXQoYGRlY29kZWRgLG4pKTtlbHNlIHRocm93IEVycm9yKGBnb3QgYmluYXJ5IGRhdGEgd2hlbiBub3QgcmVjb25zdHJ1Y3RpbmcgYSBwYWNrZXRgKTtlbHNlIHRocm93IEVycm9yKGBVbmtub3duIHR5cGU6IGArdCl9O2Z1bmN0aW9uIGYobil7dmFyIHI9MCxhPXt0eXBlOk51bWJlcihuLmNoYXJBdCgwKSl9O2lmKGUudHlwZXNbYS50eXBlXT09bnVsbClyZXR1cm4gaChgdW5rbm93biBwYWNrZXQgdHlwZSBgK2EudHlwZSk7aWYoZS5CSU5BUllfRVZFTlQ9PT1hLnR5cGV8fGUuQklOQVJZX0FDSz09PWEudHlwZSl7Zm9yKHZhciBvPXIrMTtuLmNoYXJBdCgrK3IpIT09YC1gJiZyIT1uLmxlbmd0aDspO3ZhciBzPW4uc3Vic3RyaW5nKG8scik7aWYocyE9TnVtYmVyKHMpfHxuLmNoYXJBdChyKSE9PWAtYCl0aHJvdyBFcnJvcihgSWxsZWdhbCBhdHRhY2htZW50c2ApO2EuYXR0YWNobWVudHM9TnVtYmVyKHMpfWlmKG4uY2hhckF0KHIrMSk9PT1gL2Ape2Zvcih2YXIgbz1yKzE7KytyOyl7dmFyIGM9bi5jaGFyQXQocik7aWYoYz09PWAsYHx8cj09PW4ubGVuZ3RoKWJyZWFrfWEubnNwPW4uc3Vic3RyaW5nKG8scil9ZWxzZSBhLm5zcD1gL2A7dmFyIGw9bi5jaGFyQXQocisxKTtpZihsIT09YGAmJk51bWJlcihsKT09bCl7Zm9yKHZhciBvPXIrMTsrK3I7KXt2YXIgYz1uLmNoYXJBdChyKTtpZihjPT1udWxsfHxOdW1iZXIoYykhPWMpey0tcjticmVha31pZihyPT09bi5sZW5ndGgpYnJlYWt9YS5pZD1OdW1iZXIobi5zdWJzdHJpbmcobyxyKzEpKX1pZihuLmNoYXJBdCgrK3IpKXt2YXIgdT1wKG4uc3Vic3RyKHIpKTtpZih1IT09ITEmJihhLnR5cGU9PT1lLkVSUk9SfHxpKHUpKSlhLmRhdGE9dTtlbHNlIHJldHVybiBoKGBpbnZhbGlkIHBheWxvYWRgKX1yZXR1cm4gdChgZGVjb2RlZCAlcyBhcyAlamAsbixhKSxhfWZ1bmN0aW9uIHAoZSl7dHJ5e3JldHVybiBKU09OLnBhcnNlKGUpfWNhdGNoe3JldHVybiExfX1kLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5yZWNvbnN0cnVjdG9yJiZ0aGlzLnJlY29uc3RydWN0b3IuZmluaXNoZWRSZWNvbnN0cnVjdGlvbigpfTtmdW5jdGlvbiBtKGUpe3RoaXMucmVjb25QYWNrPWUsdGhpcy5idWZmZXJzPVtdfW0ucHJvdG90eXBlLnRha2VCaW5hcnlEYXRhPWZ1bmN0aW9uKGUpe2lmKHRoaXMuYnVmZmVycy5wdXNoKGUpLHRoaXMuYnVmZmVycy5sZW5ndGg9PT10aGlzLnJlY29uUGFjay5hdHRhY2htZW50cyl7dmFyIHQ9ci5yZWNvbnN0cnVjdFBhY2tldCh0aGlzLnJlY29uUGFjayx0aGlzLmJ1ZmZlcnMpO3JldHVybiB0aGlzLmZpbmlzaGVkUmVjb25zdHJ1Y3Rpb24oKSx0fXJldHVybiBudWxsfSxtLnByb3RvdHlwZS5maW5pc2hlZFJlY29uc3RydWN0aW9uPWZ1bmN0aW9uKCl7dGhpcy5yZWNvblBhY2s9bnVsbCx0aGlzLmJ1ZmZlcnM9W119O2Z1bmN0aW9uIGgodCl7cmV0dXJue3R5cGU6ZS5FUlJPUixkYXRhOmBwYXJzZXIgZXJyb3I6IGArdH19fSkpLFZzPXMoKChlLHQpPT57dHJ5e3QuZXhwb3J0cz10eXBlb2YgWE1MSHR0cFJlcXVlc3Q8YHVgJiZgd2l0aENyZWRlbnRpYWxzYGluIG5ldyBYTUxIdHRwUmVxdWVzdH1jYXRjaHt0LmV4cG9ydHM9ITF9fSkpLEhzPXMoKChlLHQpPT57dC5leHBvcnRzPShmdW5jdGlvbigpe3JldHVybiB0eXBlb2Ygc2VsZjxgdWA/c2VsZjp0eXBlb2Ygd2luZG93PGB1YD93aW5kb3c6RnVuY3Rpb24oYHJldHVybiB0aGlzYCkoKX0pKCl9KSksVXM9cygoKGUsdCk9Pnt2YXIgbj1WcygpLHI9SHMoKTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS54ZG9tYWluLGk9ZS54c2NoZW1lLGE9ZS5lbmFibGVzWERSO3RyeXtpZih0eXBlb2YgWE1MSHR0cFJlcXVlc3Q8YHVgJiYoIXR8fG4pKXJldHVybiBuZXcgWE1MSHR0cFJlcXVlc3R9Y2F0Y2h7fXRyeXtpZih0eXBlb2YgWERvbWFpblJlcXVlc3Q8YHVgJiYhaSYmYSlyZXR1cm4gbmV3IFhEb21haW5SZXF1ZXN0fWNhdGNoe31pZighdCl0cnl7cmV0dXJuIG5ldyByW1tgQWN0aXZlYCxgT2JqZWN0YF0uam9pbihgWGApXShgTWljcm9zb2Z0LlhNTEhUVFBgKX1jYXRjaHt9fX0pKSxXcz1zKCgoZSx0KT0+e3QuZXhwb3J0cz1PYmplY3Qua2V5c3x8ZnVuY3Rpb24oZSl7dmFyIHQ9W10sbj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Zvcih2YXIgciBpbiBlKW4uY2FsbChlLHIpJiZ0LnB1c2gocik7cmV0dXJuIHR9fSkpLEdzPXMoKChlLHQpPT57dmFyIG49THMoKSxyPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsaT10eXBlb2YgQmxvYj09YGZ1bmN0aW9uYHx8dHlwZW9mIEJsb2I8YHVgJiZyLmNhbGwoQmxvYik9PT1gW29iamVjdCBCbG9iQ29uc3RydWN0b3JdYCxhPXR5cGVvZiBGaWxlPT1gZnVuY3Rpb25gfHx0eXBlb2YgRmlsZTxgdWAmJnIuY2FsbChGaWxlKT09PWBbb2JqZWN0IEZpbGVDb25zdHJ1Y3Rvcl1gO3QuZXhwb3J0cz1vO2Z1bmN0aW9uIG8oZSl7aWYoIWV8fHR5cGVvZiBlIT1gb2JqZWN0YClyZXR1cm4hMTtpZihuKGUpKXtmb3IodmFyIHQ9MCxyPWUubGVuZ3RoO3Q8cjt0KyspaWYobyhlW3RdKSlyZXR1cm4hMDtyZXR1cm4hMX1pZih0eXBlb2YgQnVmZmVyPT1gZnVuY3Rpb25gJiZCdWZmZXIuaXNCdWZmZXImJkJ1ZmZlci5pc0J1ZmZlcihlKXx8dHlwZW9mIEFycmF5QnVmZmVyPT1gZnVuY3Rpb25gJiZlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fGkmJmUgaW5zdGFuY2VvZiBCbG9ifHxhJiZlIGluc3RhbmNlb2YgRmlsZSlyZXR1cm4hMDtpZihlLnRvSlNPTiYmdHlwZW9mIGUudG9KU09OPT1gZnVuY3Rpb25gJiZhcmd1bWVudHMubGVuZ3RoPT09MSlyZXR1cm4gbyhlLnRvSlNPTigpLCEwKTtmb3IodmFyIHMgaW4gZSlpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxzKSYmbyhlW3NdKSlyZXR1cm4hMDtyZXR1cm4hMX19KSksS3M9cygoKGUsdCk9Pnt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUuYnl0ZUxlbmd0aDtpZih0fHw9MCxufHw9cixlLnNsaWNlKXJldHVybiBlLnNsaWNlKHQsbik7aWYodDwwJiYodCs9ciksbjwwJiYobis9ciksbj5yJiYobj1yKSx0Pj1yfHx0Pj1ufHxyPT09MClyZXR1cm4gbmV3IEFycmF5QnVmZmVyKDApO2Zvcih2YXIgaT1uZXcgVWludDhBcnJheShlKSxhPW5ldyBVaW50OEFycmF5KG4tdCksbz10LHM9MDtvPG47bysrLHMrKylhW3NdPWlbb107cmV0dXJuIGEuYnVmZmVyfX0pKSxxcz1zKCgoZSx0KT0+e3QuZXhwb3J0cz1uO2Z1bmN0aW9uIG4oZSx0LG4pe3ZhciBpPSExO3JldHVybiBufHw9cixhLmNvdW50PWUsZT09PTA/dCgpOmE7ZnVuY3Rpb24gYShlLHIpe2lmKGEuY291bnQ8PTApdGhyb3cgRXJyb3IoYGFmdGVyIGNhbGxlZCB0b28gbWFueSB0aW1lc2ApOy0tYS5jb3VudCxlPyhpPSEwLHQoZSksdD1uKTphLmNvdW50PT09MCYmIWkmJnQobnVsbCxyKX19ZnVuY3Rpb24gcigpe319KSksSnM9cygoKGUsdCk9Pnt2YXIgbj1TdHJpbmcuZnJvbUNoYXJDb2RlO2Z1bmN0aW9uIHIoZSl7Zm9yKHZhciB0PVtdLG49MCxyPWUubGVuZ3RoLGksYTtuPHI7KWk9ZS5jaGFyQ29kZUF0KG4rKyksaT49NTUyOTYmJmk8PTU2MzE5JiZuPHI/KGE9ZS5jaGFyQ29kZUF0KG4rKyksKGEmNjQ1MTIpPT01NjMyMD90LnB1c2goKChpJjEwMjMpPDwxMCkrKGEmMTAyMykrNjU1MzYpOih0LnB1c2goaSksbi0tKSk6dC5wdXNoKGkpO3JldHVybiB0fWZ1bmN0aW9uIGkoZSl7Zm9yKHZhciB0PWUubGVuZ3RoLHI9LTEsaSxhPWBgOysrcjx0OylpPWVbcl0saT42NTUzNSYmKGktPTY1NTM2LGErPW4oaT4+PjEwJjEwMjN8NTUyOTYpLGk9NTYzMjB8aSYxMDIzKSxhKz1uKGkpO3JldHVybiBhfWZ1bmN0aW9uIGEoZSx0KXtpZihlPj01NTI5NiYmZTw9NTczNDMpe2lmKHQpdGhyb3cgRXJyb3IoYExvbmUgc3Vycm9nYXRlIFUrYCtlLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpK2AgaXMgbm90IGEgc2NhbGFyIHZhbHVlYCk7cmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gbyhlLHQpe3JldHVybiBuKGU+PnQmNjN8MTI4KX1mdW5jdGlvbiBzKGUsdCl7aWYoIShlJjQyOTQ5NjcxNjgpKXJldHVybiBuKGUpO3ZhciByPWBgO3JldHVybiBlJjQyOTQ5NjUyNDg/ZSY0Mjk0OTAxNzYwP2UmNDI5Mjg3MDE0NHx8KHI9bihlPj4xOCY3fDI0MCkscis9byhlLDEyKSxyKz1vKGUsNikpOihhKGUsdCl8fChlPTY1NTMzKSxyPW4oZT4+MTImMTV8MjI0KSxyKz1vKGUsNikpOnI9bihlPj42JjMxfDE5Mikscis9bihlJjYzfDEyOCkscn1mdW5jdGlvbiBjKGUsdCl7dHx8PXt9O2Zvcih2YXIgbj0hMSE9PXQuc3RyaWN0LGk9cihlKSxhPWkubGVuZ3RoLG89LTEsYyxsPWBgOysrbzxhOyljPWlbb10sbCs9cyhjLG4pO3JldHVybiBsfWZ1bmN0aW9uIGwoKXtpZihwPj1mKXRocm93IEVycm9yKGBJbnZhbGlkIGJ5dGUgaW5kZXhgKTt2YXIgZT1kW3BdJjI1NTtpZihwKyssKGUmMTkyKT09MTI4KXJldHVybiBlJjYzO3Rocm93IEVycm9yKGBJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlYCl9ZnVuY3Rpb24gdShlKXt2YXIgdCxuLHIsaSxvO2lmKHA+Zil0aHJvdyBFcnJvcihgSW52YWxpZCBieXRlIGluZGV4YCk7aWYocD09ZilyZXR1cm4hMTtpZih0PWRbcF0mMjU1LHArKywhKHQmMTI4KSlyZXR1cm4gdDtpZigodCYyMjQpPT0xOTIpe2lmKG49bCgpLG89KHQmMzEpPDw2fG4sbz49MTI4KXJldHVybiBvO3Rocm93IEVycm9yKGBJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlYCl9aWYoKHQmMjQwKT09MjI0KXtpZihuPWwoKSxyPWwoKSxvPSh0JjE1KTw8MTJ8bjw8NnxyLG8+PTIwNDgpcmV0dXJuIGEobyxlKT9vOjY1NTMzO3Rocm93IEVycm9yKGBJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlYCl9aWYoKHQmMjQ4KT09MjQwJiYobj1sKCkscj1sKCksaT1sKCksbz0odCY3KTw8MTh8bjw8MTJ8cjw8NnxpLG8+PTY1NTM2JiZvPD0xMTE0MTExKSlyZXR1cm4gbzt0aHJvdyBFcnJvcihgSW52YWxpZCBVVEYtOCBkZXRlY3RlZGApfXZhciBkLGYscDtmdW5jdGlvbiBtKGUsdCl7dHx8PXt9O3ZhciBuPSExIT09dC5zdHJpY3Q7ZD1yKGUpLGY9ZC5sZW5ndGgscD0wO2Zvcih2YXIgYT1bXSxvOyhvPXUobikpIT09ITE7KWEucHVzaChvKTtyZXR1cm4gaShhKX10LmV4cG9ydHM9e3ZlcnNpb246YDIuMS4yYCxlbmNvZGU6YyxkZWNvZGU6bX19KSksWXM9cygoZT0+eyhmdW5jdGlvbih0KXtlLmVuY29kZT1mdW5jdGlvbihlKXt2YXIgbj1uZXcgVWludDhBcnJheShlKSxyLGk9bi5sZW5ndGgsYT1gYDtmb3Iocj0wO3I8aTtyKz0zKWErPXRbbltyXT4+Ml0sYSs9dFsobltyXSYzKTw8NHxuW3IrMV0+PjRdLGErPXRbKG5bcisxXSYxNSk8PDJ8bltyKzJdPj42XSxhKz10W25bcisyXSY2M107cmV0dXJuIGklMz09Mj9hPWEuc3Vic3RyaW5nKDAsYS5sZW5ndGgtMSkrYD1gOmklMz09MSYmKGE9YS5zdWJzdHJpbmcoMCxhLmxlbmd0aC0yKStgPT1gKSxhfSxlLmRlY29kZT1mdW5jdGlvbihlKXt2YXIgbj1lLmxlbmd0aCouNzUscj1lLmxlbmd0aCxpLGE9MCxvLHMsYyxsO2VbZS5sZW5ndGgtMV09PT1gPWAmJihuLS0sZVtlLmxlbmd0aC0yXT09PWA9YCYmbi0tKTt2YXIgdT1uZXcgQXJyYXlCdWZmZXIobiksZD1uZXcgVWludDhBcnJheSh1KTtmb3IoaT0wO2k8cjtpKz00KW89dC5pbmRleE9mKGVbaV0pLHM9dC5pbmRleE9mKGVbaSsxXSksYz10LmluZGV4T2YoZVtpKzJdKSxsPXQuaW5kZXhPZihlW2krM10pLGRbYSsrXT1vPDwyfHM+PjQsZFthKytdPShzJjE1KTw8NHxjPj4yLGRbYSsrXT0oYyYzKTw8NnxsJjYzO3JldHVybiB1fX0pKGBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvYCl9KSksWHM9cygoKGUsdCk9Pnt2YXIgbj1uPT09dm9pZCAwP3R5cGVvZiBXZWJLaXRCbG9iQnVpbGRlcjxgdWA/V2ViS2l0QmxvYkJ1aWxkZXI6dHlwZW9mIE1TQmxvYkJ1aWxkZXI8YHVgP01TQmxvYkJ1aWxkZXI6dHlwZW9mIE1vekJsb2JCdWlsZGVyPGB1YD9Nb3pCbG9iQnVpbGRlcjohMTpuLHI9KGZ1bmN0aW9uKCl7dHJ5e3JldHVybiBuZXcgQmxvYihbYGhpYF0pLnNpemU9PT0yfWNhdGNoe3JldHVybiExfX0pKCksaT1yJiYoZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBCbG9iKFtuZXcgVWludDhBcnJheShbMSwyXSldKS5zaXplPT09Mn1jYXRjaHtyZXR1cm4hMX19KSgpLGE9biYmbi5wcm90b3R5cGUuYXBwZW5kJiZuLnByb3RvdHlwZS5nZXRCbG9iO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIGUubWFwKGZ1bmN0aW9uKGUpe2lmKGUuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpe3ZhciB0PWUuYnVmZmVyO2lmKGUuYnl0ZUxlbmd0aCE9PXQuYnl0ZUxlbmd0aCl7dmFyIG49bmV3IFVpbnQ4QXJyYXkoZS5ieXRlTGVuZ3RoKTtuLnNldChuZXcgVWludDhBcnJheSh0LGUuYnl0ZU9mZnNldCxlLmJ5dGVMZW5ndGgpKSx0PW4uYnVmZmVyfXJldHVybiB0fXJldHVybiBlfSl9ZnVuY3Rpb24gcyhlLHQpe3R8fD17fTt2YXIgcj1uZXcgbjtyZXR1cm4gbyhlKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3IuYXBwZW5kKGUpfSksdC50eXBlP3IuZ2V0QmxvYih0LnR5cGUpOnIuZ2V0QmxvYigpfWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4gbmV3IEJsb2IobyhlKSx0fHx7fSl9dHlwZW9mIEJsb2I8YHVgJiYocy5wcm90b3R5cGU9QmxvYi5wcm90b3R5cGUsYy5wcm90b3R5cGU9QmxvYi5wcm90b3R5cGUpLHQuZXhwb3J0cz0oZnVuY3Rpb24oKXtpZihyKXJldHVybiBpP0Jsb2I6YztpZihhKXJldHVybiBzfSkoKX0pKSxacz1zKChlPT57dmFyIHQ9V3MoKSxuPUdzKCkscj1LcygpLGk9cXMoKSxhPUpzKCksbzt0eXBlb2YgQXJyYXlCdWZmZXI8YHVgJiYobz1ZcygpKTt2YXIgcz10eXBlb2YgbmF2aWdhdG9yPGB1YCYmL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGM9dHlwZW9mIG5hdmlnYXRvcjxgdWAmJi9QaGFudG9tSlMvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGw9c3x8YztlLnByb3RvY29sPTM7dmFyIHU9ZS5wYWNrZXRzPXtvcGVuOjAsY2xvc2U6MSxwaW5nOjIscG9uZzozLG1lc3NhZ2U6NCx1cGdyYWRlOjUsbm9vcDo2fSxkPXQodSksZj17dHlwZTpgZXJyb3JgLGRhdGE6YHBhcnNlciBlcnJvcmB9LHA9WHMoKTtlLmVuY29kZVBhY2tldD1mdW5jdGlvbihlLHQsbixyKXt0eXBlb2YgdD09YGZ1bmN0aW9uYCYmKHI9dCx0PSExKSx0eXBlb2Ygbj09YGZ1bmN0aW9uYCYmKHI9bixuPW51bGwpO3ZhciBpPWUuZGF0YT09PXZvaWQgMD92b2lkIDA6ZS5kYXRhLmJ1ZmZlcnx8ZS5kYXRhO2lmKHR5cGVvZiBBcnJheUJ1ZmZlcjxgdWAmJmkgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gaChlLHQscik7aWYocCE9PXZvaWQgMCYmaSBpbnN0YW5jZW9mIHApcmV0dXJuIF8oZSx0LHIpO2lmKGkmJmkuYmFzZTY0KXJldHVybiBtKGUscik7dmFyIG89dVtlLnR5cGVdO3JldHVybiBlLmRhdGEhPT12b2lkIDAmJihvKz1uP2EuZW5jb2RlKFN0cmluZyhlLmRhdGEpLHtzdHJpY3Q6ITF9KTpTdHJpbmcoZS5kYXRhKSkscihgYCtvKX07ZnVuY3Rpb24gbSh0LG4pe3JldHVybiBuKGBiYCtlLnBhY2tldHNbdC50eXBlXSt0LmRhdGEuZGF0YSl9ZnVuY3Rpb24gaCh0LG4scil7aWYoIW4pcmV0dXJuIGUuZW5jb2RlQmFzZTY0UGFja2V0KHQscik7dmFyIGk9dC5kYXRhLGE9bmV3IFVpbnQ4QXJyYXkoaSksbz1uZXcgVWludDhBcnJheSgxK2kuYnl0ZUxlbmd0aCk7b1swXT11W3QudHlwZV07Zm9yKHZhciBzPTA7czxhLmxlbmd0aDtzKyspb1tzKzFdPWFbc107cmV0dXJuIHIoby5idWZmZXIpfWZ1bmN0aW9uIGcodCxuLHIpe2lmKCFuKXJldHVybiBlLmVuY29kZUJhc2U2NFBhY2tldCh0LHIpO3ZhciBpPW5ldyBGaWxlUmVhZGVyO3JldHVybiBpLm9ubG9hZD1mdW5jdGlvbigpe2UuZW5jb2RlUGFja2V0KHt0eXBlOnQudHlwZSxkYXRhOmkucmVzdWx0fSxuLCEwLHIpfSxpLnJlYWRBc0FycmF5QnVmZmVyKHQuZGF0YSl9ZnVuY3Rpb24gXyh0LG4scil7aWYoIW4pcmV0dXJuIGUuZW5jb2RlQmFzZTY0UGFja2V0KHQscik7aWYobClyZXR1cm4gZyh0LG4scik7dmFyIGk9bmV3IFVpbnQ4QXJyYXkoMSk7cmV0dXJuIGlbMF09dVt0LnR5cGVdLHIobmV3IHAoW2kuYnVmZmVyLHQuZGF0YV0pKX1lLmVuY29kZUJhc2U2NFBhY2tldD1mdW5jdGlvbih0LG4pe3ZhciByPWBiYCtlLnBhY2tldHNbdC50eXBlXTtpZihwIT09dm9pZCAwJiZ0LmRhdGEgaW5zdGFuY2VvZiBwKXt2YXIgaT1uZXcgRmlsZVJlYWRlcjtyZXR1cm4gaS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgZT1pLnJlc3VsdC5zcGxpdChgLGApWzFdO24ocitlKX0saS5yZWFkQXNEYXRhVVJMKHQuZGF0YSl9dmFyIGE7dHJ5e2E9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLG5ldyBVaW50OEFycmF5KHQuZGF0YSkpfWNhdGNoe2Zvcih2YXIgbz1uZXcgVWludDhBcnJheSh0LmRhdGEpLHM9QXJyYXkoby5sZW5ndGgpLGM9MDtjPG8ubGVuZ3RoO2MrKylzW2NdPW9bY107YT1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwscyl9cmV0dXJuIHIrPWJ0b2EoYSksbihyKX0sZS5kZWNvZGVQYWNrZXQ9ZnVuY3Rpb24odCxuLGkpe2lmKHQ9PT12b2lkIDApcmV0dXJuIGY7aWYodHlwZW9mIHQ9PWBzdHJpbmdgKXtpZih0LmNoYXJBdCgwKT09PWBiYClyZXR1cm4gZS5kZWNvZGVCYXNlNjRQYWNrZXQodC5zdWJzdHIoMSksbik7aWYoaSYmKHQ9dih0KSx0PT09ITEpKXJldHVybiBmO3ZhciBhPXQuY2hhckF0KDApO3JldHVybiBOdW1iZXIoYSkhPWF8fCFkW2FdP2Y6dC5sZW5ndGg+MT97dHlwZTpkW2FdLGRhdGE6dC5zdWJzdHJpbmcoMSl9Ont0eXBlOmRbYV19fXZhciBhPW5ldyBVaW50OEFycmF5KHQpWzBdLG89cih0LDEpO3JldHVybiBwJiZuPT09YGJsb2JgJiYobz1uZXcgcChbb10pKSx7dHlwZTpkW2FdLGRhdGE6b319O2Z1bmN0aW9uIHYoZSl7dHJ5e2U9YS5kZWNvZGUoZSx7c3RyaWN0OiExfSl9Y2F0Y2h7cmV0dXJuITF9cmV0dXJuIGV9ZS5kZWNvZGVCYXNlNjRQYWNrZXQ9ZnVuY3Rpb24oZSx0KXt2YXIgbj1kW2UuY2hhckF0KDApXTtpZighbylyZXR1cm57dHlwZTpuLGRhdGE6e2Jhc2U2NDohMCxkYXRhOmUuc3Vic3RyKDEpfX07dmFyIHI9by5kZWNvZGUoZS5zdWJzdHIoMSkpO3JldHVybiB0PT09YGJsb2JgJiZwJiYocj1uZXcgcChbcl0pKSx7dHlwZTpuLGRhdGE6cn19LGUuZW5jb2RlUGF5bG9hZD1mdW5jdGlvbih0LHIsaSl7dHlwZW9mIHI9PWBmdW5jdGlvbmAmJihpPXIscj1udWxsKTt2YXIgYT1uKHQpO2lmKHImJmEpcmV0dXJuIHAmJiFsP2UuZW5jb2RlUGF5bG9hZEFzQmxvYih0LGkpOmUuZW5jb2RlUGF5bG9hZEFzQXJyYXlCdWZmZXIodCxpKTtpZighdC5sZW5ndGgpcmV0dXJuIGkoYDA6YCk7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZS5sZW5ndGgrYDpgK2V9ZnVuY3Rpb24gcyh0LG4pe2UuZW5jb2RlUGFja2V0KHQsYT9yOiExLCExLGZ1bmN0aW9uKGUpe24obnVsbCxvKGUpKX0pfXkodCxzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkodC5qb2luKGBgKSl9KX07ZnVuY3Rpb24geShlLHQsbil7Zm9yKHZhciByPUFycmF5KGUubGVuZ3RoKSxhPWkoZS5sZW5ndGgsbiksbz1mdW5jdGlvbihlLG4saSl7dChuLGZ1bmN0aW9uKHQsbil7cltlXT1uLGkodCxyKX0pfSxzPTA7czxlLmxlbmd0aDtzKyspbyhzLGVbc10sYSl9ZS5kZWNvZGVQYXlsb2FkPWZ1bmN0aW9uKHQsbixyKXtpZih0eXBlb2YgdCE9YHN0cmluZ2ApcmV0dXJuIGUuZGVjb2RlUGF5bG9hZEFzQmluYXJ5KHQsbixyKTt0eXBlb2Ygbj09YGZ1bmN0aW9uYCYmKHI9bixuPW51bGwpO3ZhciBpO2lmKHQ9PT1gYClyZXR1cm4gcihmLDAsMSk7Zm9yKHZhciBhPWBgLG8scyxjPTAsbD10Lmxlbmd0aDtjPGw7YysrKXt2YXIgdT10LmNoYXJBdChjKTtpZih1IT09YDpgKXthKz11O2NvbnRpbnVlfWlmKGE9PT1gYHx8YSE9KG89TnVtYmVyKGEpKXx8KHM9dC5zdWJzdHIoYysxLG8pLGEhPXMubGVuZ3RoKSlyZXR1cm4gcihmLDAsMSk7aWYocy5sZW5ndGgpe2lmKGk9ZS5kZWNvZGVQYWNrZXQocyxuLCExKSxmLnR5cGU9PT1pLnR5cGUmJmYuZGF0YT09PWkuZGF0YSlyZXR1cm4gcihmLDAsMSk7aWYoITE9PT1yKGksYytvLGwpKXJldHVybn1jKz1vLGE9YGB9aWYoYSE9PWBgKXJldHVybiByKGYsMCwxKX0sZS5lbmNvZGVQYXlsb2FkQXNBcnJheUJ1ZmZlcj1mdW5jdGlvbih0LG4pe2lmKCF0Lmxlbmd0aClyZXR1cm4gbihuZXcgQXJyYXlCdWZmZXIoMCkpO2Z1bmN0aW9uIHIodCxuKXtlLmVuY29kZVBhY2tldCh0LCEwLCEwLGZ1bmN0aW9uKGUpe3JldHVybiBuKG51bGwsZSl9KX15KHQscixmdW5jdGlvbihlLHQpe3ZhciByPXQucmVkdWNlKGZ1bmN0aW9uKGUsdCl7dmFyIG49dHlwZW9mIHQ9PWBzdHJpbmdgP3QubGVuZ3RoOnQuYnl0ZUxlbmd0aDtyZXR1cm4gZStuLnRvU3RyaW5nKCkubGVuZ3RoK24rMn0sMCksaT1uZXcgVWludDhBcnJheShyKSxhPTA7cmV0dXJuIHQuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD10eXBlb2YgZT09YHN0cmluZ2Asbj1lO2lmKHQpe2Zvcih2YXIgcj1uZXcgVWludDhBcnJheShlLmxlbmd0aCksbz0wO288ZS5sZW5ndGg7bysrKXJbb109ZS5jaGFyQ29kZUF0KG8pO249ci5idWZmZXJ9dD9pW2ErK109MDppW2ErK109MTtmb3IodmFyIHM9bi5ieXRlTGVuZ3RoLnRvU3RyaW5nKCksbz0wO288cy5sZW5ndGg7bysrKWlbYSsrXT1wYXJzZUludChzW29dKTtpW2ErK109MjU1O2Zvcih2YXIgcj1uZXcgVWludDhBcnJheShuKSxvPTA7bzxyLmxlbmd0aDtvKyspaVthKytdPXJbb119KSxuKGkuYnVmZmVyKX0pfSxlLmVuY29kZVBheWxvYWRBc0Jsb2I9ZnVuY3Rpb24odCxuKXtmdW5jdGlvbiByKHQsbil7ZS5lbmNvZGVQYWNrZXQodCwhMCwhMCxmdW5jdGlvbihlKXt2YXIgdD1uZXcgVWludDhBcnJheSgxKTtpZih0WzBdPTEsdHlwZW9mIGU9PWBzdHJpbmdgKXtmb3IodmFyIHI9bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgpLGk9MDtpPGUubGVuZ3RoO2krKylyW2ldPWUuY2hhckNvZGVBdChpKTtlPXIuYnVmZmVyLHRbMF09MH1mb3IodmFyIGE9KGUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcj9lLmJ5dGVMZW5ndGg6ZS5zaXplKS50b1N0cmluZygpLG89bmV3IFVpbnQ4QXJyYXkoYS5sZW5ndGgrMSksaT0wO2k8YS5sZW5ndGg7aSsrKW9baV09cGFyc2VJbnQoYVtpXSk7b1thLmxlbmd0aF09MjU1LHAmJm4obnVsbCxuZXcgcChbdC5idWZmZXIsby5idWZmZXIsZV0pKX0pfXkodCxyLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIG4obmV3IHAodCkpfSl9LGUuZGVjb2RlUGF5bG9hZEFzQmluYXJ5PWZ1bmN0aW9uKHQsbixpKXt0eXBlb2Ygbj09YGZ1bmN0aW9uYCYmKGk9bixuPW51bGwpO2Zvcih2YXIgYT10LG89W107YS5ieXRlTGVuZ3RoPjA7KXtmb3IodmFyIHM9bmV3IFVpbnQ4QXJyYXkoYSksYz1zWzBdPT09MCxsPWBgLHU9MTtzW3VdIT09MjU1O3UrKyl7aWYobC5sZW5ndGg+MzEwKXJldHVybiBpKGYsMCwxKTtsKz1zW3VdfWE9cihhLDIrbC5sZW5ndGgpLGw9cGFyc2VJbnQobCk7dmFyIGQ9cihhLDAsbCk7aWYoYyl0cnl7ZD1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsbmV3IFVpbnQ4QXJyYXkoZCkpfWNhdGNoe3ZhciBwPW5ldyBVaW50OEFycmF5KGQpO2Q9YGA7Zm9yKHZhciB1PTA7dTxwLmxlbmd0aDt1KyspZCs9U3RyaW5nLmZyb21DaGFyQ29kZShwW3VdKX1vLnB1c2goZCksYT1yKGEsbCl9dmFyIG09by5sZW5ndGg7by5mb3JFYWNoKGZ1bmN0aW9uKHQscil7aShlLmRlY29kZVBhY2tldCh0LG4sITApLHIsbSl9KX19KSksUXM9cygoKGUsdCk9Pnt2YXIgbj1acygpLHI9SXMoKTt0LmV4cG9ydHM9aTtmdW5jdGlvbiBpKGUpe3RoaXMucGF0aD1lLnBhdGgsdGhpcy5ob3N0bmFtZT1lLmhvc3RuYW1lLHRoaXMucG9ydD1lLnBvcnQsdGhpcy5zZWN1cmU9ZS5zZWN1cmUsdGhpcy5xdWVyeT1lLnF1ZXJ5LHRoaXMudGltZXN0YW1wUGFyYW09ZS50aW1lc3RhbXBQYXJhbSx0aGlzLnRpbWVzdGFtcFJlcXVlc3RzPWUudGltZXN0YW1wUmVxdWVzdHMsdGhpcy5yZWFkeVN0YXRlPWBgLHRoaXMuYWdlbnQ9ZS5hZ2VudHx8ITEsdGhpcy5zb2NrZXQ9ZS5zb2NrZXQsdGhpcy5lbmFibGVzWERSPWUuZW5hYmxlc1hEUix0aGlzLndpdGhDcmVkZW50aWFscz1lLndpdGhDcmVkZW50aWFscyx0aGlzLnBmeD1lLnBmeCx0aGlzLmtleT1lLmtleSx0aGlzLnBhc3NwaHJhc2U9ZS5wYXNzcGhyYXNlLHRoaXMuY2VydD1lLmNlcnQsdGhpcy5jYT1lLmNhLHRoaXMuY2lwaGVycz1lLmNpcGhlcnMsdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ9ZS5yZWplY3RVbmF1dGhvcml6ZWQsdGhpcy5mb3JjZU5vZGU9ZS5mb3JjZU5vZGUsdGhpcy5pc1JlYWN0TmF0aXZlPWUuaXNSZWFjdE5hdGl2ZSx0aGlzLmV4dHJhSGVhZGVycz1lLmV4dHJhSGVhZGVycyx0aGlzLmxvY2FsQWRkcmVzcz1lLmxvY2FsQWRkcmVzc31yKGkucHJvdG90eXBlKSxpLnByb3RvdHlwZS5vbkVycm9yPWZ1bmN0aW9uKGUsdCl7dmFyIG49RXJyb3IoZSk7cmV0dXJuIG4udHlwZT1gVHJhbnNwb3J0RXJyb3JgLG4uZGVzY3JpcHRpb249dCx0aGlzLmVtaXQoYGVycm9yYCxuKSx0aGlzfSxpLnByb3RvdHlwZS5vcGVuPWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zZWRgfHx0aGlzLnJlYWR5U3RhdGU9PT1gYCkmJih0aGlzLnJlYWR5U3RhdGU9YG9wZW5pbmdgLHRoaXMuZG9PcGVuKCkpLHRoaXN9LGkucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuaW5nYHx8dGhpcy5yZWFkeVN0YXRlPT09YG9wZW5gKSYmKHRoaXMuZG9DbG9zZSgpLHRoaXMub25DbG9zZSgpKSx0aGlzfSxpLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGUpe2lmKHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuYCl0aGlzLndyaXRlKGUpO2Vsc2UgdGhyb3cgRXJyb3IoYFRyYW5zcG9ydCBub3Qgb3BlbmApfSxpLnByb3RvdHlwZS5vbk9wZW49ZnVuY3Rpb24oKXt0aGlzLnJlYWR5U3RhdGU9YG9wZW5gLHRoaXMud3JpdGFibGU9ITAsdGhpcy5lbWl0KGBvcGVuYCl9LGkucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbihlKXt2YXIgdD1uLmRlY29kZVBhY2tldChlLHRoaXMuc29ja2V0LmJpbmFyeVR5cGUpO3RoaXMub25QYWNrZXQodCl9LGkucHJvdG90eXBlLm9uUGFja2V0PWZ1bmN0aW9uKGUpe3RoaXMuZW1pdChgcGFja2V0YCxlKX0saS5wcm90b3R5cGUub25DbG9zZT1mdW5jdGlvbigpe3RoaXMucmVhZHlTdGF0ZT1gY2xvc2VkYCx0aGlzLmVtaXQoYGNsb3NlYCl9fSkpLCRzPXMoKGU9PntlLmVuY29kZT1mdW5jdGlvbihlKXt2YXIgdD1gYDtmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodC5sZW5ndGgmJih0Kz1gJmApLHQrPWVuY29kZVVSSUNvbXBvbmVudChuKStgPWArZW5jb2RlVVJJQ29tcG9uZW50KGVbbl0pKTtyZXR1cm4gdH0sZS5kZWNvZGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PXt9LG49ZS5zcGxpdChgJmApLHI9MCxpPW4ubGVuZ3RoO3I8aTtyKyspe3ZhciBhPW5bcl0uc3BsaXQoYD1gKTt0W2RlY29kZVVSSUNvbXBvbmVudChhWzBdKV09ZGVjb2RlVVJJQ29tcG9uZW50KGFbMV0pfXJldHVybiB0fX0pKSxlYz1zKCgoZSx0KT0+e3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciBuPWZ1bmN0aW9uKCl7fTtuLnByb3RvdHlwZT10LnByb3RvdHlwZSxlLnByb3RvdHlwZT1uZXcgbixlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lfX0pKSx0Yz1zKCgoZSx0KT0+e3ZhciBuPWAwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ei1fYC5zcGxpdChgYCkscj02NCxpPXt9LGE9MCxvPTAscztmdW5jdGlvbiBjKGUpe3ZhciB0PWBgO2RvIHQ9bltlJXJdK3QsZT1NYXRoLmZsb29yKGUvcik7d2hpbGUoZT4wKTtyZXR1cm4gdH1mdW5jdGlvbiBsKGUpe3ZhciB0PTA7Zm9yKG89MDtvPGUubGVuZ3RoO28rKyl0PXQqcitpW2UuY2hhckF0KG8pXTtyZXR1cm4gdH1mdW5jdGlvbiB1KCl7dmFyIGU9YygrbmV3IERhdGUpO3JldHVybiBlPT09cz9lK2AuYCtjKGErKyk6KGE9MCxzPWUpfWZvcig7bzxyO28rKylpW25bb11dPW87dS5lbmNvZGU9Yyx1LmRlY29kZT1sLHQuZXhwb3J0cz11fSkpLG5jPXMoKChlLHQpPT57dmFyIG49UXMoKSxyPSRzKCksaT1acygpLGE9ZWMoKSxvPXRjKCkscz1GcygpKGBlbmdpbmUuaW8tY2xpZW50OnBvbGxpbmdgKTt0LmV4cG9ydHM9bDt2YXIgYz0oZnVuY3Rpb24oKXtyZXR1cm4gbmV3KFVzKCkpKHt4ZG9tYWluOiExfSkucmVzcG9uc2VUeXBlIT1udWxsfSkoKTtmdW5jdGlvbiBsKGUpe3ZhciB0PWUmJmUuZm9yY2VCYXNlNjQ7KCFjfHx0KSYmKHRoaXMuc3VwcG9ydHNCaW5hcnk9ITEpLG4uY2FsbCh0aGlzLGUpfWEobCxuKSxsLnByb3RvdHlwZS5uYW1lPWBwb2xsaW5nYCxsLnByb3RvdHlwZS5kb09wZW49ZnVuY3Rpb24oKXt0aGlzLnBvbGwoKX0sbC5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0aGlzLnJlYWR5U3RhdGU9YHBhdXNpbmdgO2Z1bmN0aW9uIG4oKXtzKGBwYXVzZWRgKSx0LnJlYWR5U3RhdGU9YHBhdXNlZGAsZSgpfWlmKHRoaXMucG9sbGluZ3x8IXRoaXMud3JpdGFibGUpe3ZhciByPTA7dGhpcy5wb2xsaW5nJiYocyhgd2UgYXJlIGN1cnJlbnRseSBwb2xsaW5nIC0gd2FpdGluZyB0byBwYXVzZWApLHIrKyx0aGlzLm9uY2UoYHBvbGxDb21wbGV0ZWAsZnVuY3Rpb24oKXtzKGBwcmUtcGF1c2UgcG9sbGluZyBjb21wbGV0ZWApLC0tcnx8bigpfSkpLHRoaXMud3JpdGFibGV8fChzKGB3ZSBhcmUgY3VycmVudGx5IHdyaXRpbmcgLSB3YWl0aW5nIHRvIHBhdXNlYCkscisrLHRoaXMub25jZShgZHJhaW5gLGZ1bmN0aW9uKCl7cyhgcHJlLXBhdXNlIHdyaXRpbmcgY29tcGxldGVgKSwtLXJ8fG4oKX0pKX1lbHNlIG4oKX0sbC5wcm90b3R5cGUucG9sbD1mdW5jdGlvbigpe3MoYHBvbGxpbmdgKSx0aGlzLnBvbGxpbmc9ITAsdGhpcy5kb1BvbGwoKSx0aGlzLmVtaXQoYHBvbGxgKX0sbC5wcm90b3R5cGUub25EYXRhPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cyhgcG9sbGluZyBnb3QgZGF0YSAlc2AsZSksaS5kZWNvZGVQYXlsb2FkKGUsdGhpcy5zb2NrZXQuYmluYXJ5VHlwZSxmdW5jdGlvbihlLG4scil7aWYodC5yZWFkeVN0YXRlPT09YG9wZW5pbmdgJiZ0Lm9uT3BlbigpLGUudHlwZT09PWBjbG9zZWApcmV0dXJuIHQub25DbG9zZSgpLCExO3Qub25QYWNrZXQoZSl9KSx0aGlzLnJlYWR5U3RhdGUhPT1gY2xvc2VkYCYmKHRoaXMucG9sbGluZz0hMSx0aGlzLmVtaXQoYHBvbGxDb21wbGV0ZWApLHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuYD90aGlzLnBvbGwoKTpzKGBpZ25vcmluZyBwb2xsIC0gdHJhbnNwb3J0IHN0YXRlICIlcyJgLHRoaXMucmVhZHlTdGF0ZSkpfSxsLnByb3RvdHlwZS5kb0Nsb3NlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztmdW5jdGlvbiB0KCl7cyhgd3JpdGluZyBjbG9zZSBwYWNrZXRgKSxlLndyaXRlKFt7dHlwZTpgY2xvc2VgfV0pfXRoaXMucmVhZHlTdGF0ZT09PWBvcGVuYD8ocyhgdHJhbnNwb3J0IG9wZW4gLSBjbG9zaW5nYCksdCgpKToocyhgdHJhbnNwb3J0IG5vdCBvcGVuIC0gZGVmZXJyaW5nIGNsb3NlYCksdGhpcy5vbmNlKGBvcGVuYCx0KSl9LGwucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dGhpcy53cml0YWJsZT0hMTt2YXIgbj1mdW5jdGlvbigpe3Qud3JpdGFibGU9ITAsdC5lbWl0KGBkcmFpbmApfTtpLmVuY29kZVBheWxvYWQoZSx0aGlzLnN1cHBvcnRzQmluYXJ5LGZ1bmN0aW9uKGUpe3QuZG9Xcml0ZShlLG4pfSl9LGwucHJvdG90eXBlLnVyaT1mdW5jdGlvbigpe3ZhciBlPXRoaXMucXVlcnl8fHt9LHQ9dGhpcy5zZWN1cmU/YGh0dHBzYDpgaHR0cGAsbj1gYDshMSE9PXRoaXMudGltZXN0YW1wUmVxdWVzdHMmJihlW3RoaXMudGltZXN0YW1wUGFyYW1dPW8oKSksIXRoaXMuc3VwcG9ydHNCaW5hcnkmJiFlLnNpZCYmKGUuYjY0PTEpLGU9ci5lbmNvZGUoZSksdGhpcy5wb3J0JiYodD09PWBodHRwc2AmJk51bWJlcih0aGlzLnBvcnQpIT09NDQzfHx0PT09YGh0dHBgJiZOdW1iZXIodGhpcy5wb3J0KSE9PTgwKSYmKG49YDpgK3RoaXMucG9ydCksZS5sZW5ndGgmJihlPWA/YCtlKTt2YXIgaT10aGlzLmhvc3RuYW1lLmluZGV4T2YoYDpgKSE9PS0xO3JldHVybiB0K2A6Ly9gKyhpP2BbYCt0aGlzLmhvc3RuYW1lK2BdYDp0aGlzLmhvc3RuYW1lKStuK3RoaXMucGF0aCtlfX0pKSxyYz1zKCgoZSx0KT0+e3ZhciBuPVVzKCkscj1uYygpLGk9SXMoKSxhPWVjKCksbz1GcygpKGBlbmdpbmUuaW8tY2xpZW50OnBvbGxpbmcteGhyYCkscz1IcygpO3QuZXhwb3J0cz1sLHQuZXhwb3J0cy5SZXF1ZXN0PXU7ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKGUpe2lmKHIuY2FsbCh0aGlzLGUpLHRoaXMucmVxdWVzdFRpbWVvdXQ9ZS5yZXF1ZXN0VGltZW91dCx0aGlzLmV4dHJhSGVhZGVycz1lLmV4dHJhSGVhZGVycyx0eXBlb2YgbG9jYXRpb248YHVgKXt2YXIgdD1sb2NhdGlvbi5wcm90b2NvbD09PWBodHRwczpgLG49bG9jYXRpb24ucG9ydDtufHw9dD80NDM6ODAsdGhpcy54ZD10eXBlb2YgbG9jYXRpb248YHVgJiZlLmhvc3RuYW1lIT09bG9jYXRpb24uaG9zdG5hbWV8fG4hPT1lLnBvcnQsdGhpcy54cz1lLnNlY3VyZSE9PXR9fWEobCxyKSxsLnByb3RvdHlwZS5zdXBwb3J0c0JpbmFyeT0hMCxsLnByb3RvdHlwZS5yZXF1ZXN0PWZ1bmN0aW9uKGUpe3JldHVybiBlfHw9e30sZS51cmk9dGhpcy51cmkoKSxlLnhkPXRoaXMueGQsZS54cz10aGlzLnhzLGUuYWdlbnQ9dGhpcy5hZ2VudHx8ITEsZS5zdXBwb3J0c0JpbmFyeT10aGlzLnN1cHBvcnRzQmluYXJ5LGUuZW5hYmxlc1hEUj10aGlzLmVuYWJsZXNYRFIsZS53aXRoQ3JlZGVudGlhbHM9dGhpcy53aXRoQ3JlZGVudGlhbHMsZS5wZng9dGhpcy5wZngsZS5rZXk9dGhpcy5rZXksZS5wYXNzcGhyYXNlPXRoaXMucGFzc3BocmFzZSxlLmNlcnQ9dGhpcy5jZXJ0LGUuY2E9dGhpcy5jYSxlLmNpcGhlcnM9dGhpcy5jaXBoZXJzLGUucmVqZWN0VW5hdXRob3JpemVkPXRoaXMucmVqZWN0VW5hdXRob3JpemVkLGUucmVxdWVzdFRpbWVvdXQ9dGhpcy5yZXF1ZXN0VGltZW91dCxlLmV4dHJhSGVhZGVycz10aGlzLmV4dHJhSGVhZGVycyxuZXcgdShlKX0sbC5wcm90b3R5cGUuZG9Xcml0ZT1mdW5jdGlvbihlLHQpe3ZhciBuPXR5cGVvZiBlIT1gc3RyaW5nYCYmZSE9PXZvaWQgMCxyPXRoaXMucmVxdWVzdCh7bWV0aG9kOmBQT1NUYCxkYXRhOmUsaXNCaW5hcnk6bn0pLGk9dGhpcztyLm9uKGBzdWNjZXNzYCx0KSxyLm9uKGBlcnJvcmAsZnVuY3Rpb24oZSl7aS5vbkVycm9yKGB4aHIgcG9zdCBlcnJvcmAsZSl9KSx0aGlzLnNlbmRYaHI9cn0sbC5wcm90b3R5cGUuZG9Qb2xsPWZ1bmN0aW9uKCl7byhgeGhyIHBvbGxgKTt2YXIgZT10aGlzLnJlcXVlc3QoKSx0PXRoaXM7ZS5vbihgZGF0YWAsZnVuY3Rpb24oZSl7dC5vbkRhdGEoZSl9KSxlLm9uKGBlcnJvcmAsZnVuY3Rpb24oZSl7dC5vbkVycm9yKGB4aHIgcG9sbCBlcnJvcmAsZSl9KSx0aGlzLnBvbGxYaHI9ZX07ZnVuY3Rpb24gdShlKXt0aGlzLm1ldGhvZD1lLm1ldGhvZHx8YEdFVGAsdGhpcy51cmk9ZS51cmksdGhpcy54ZD0hIWUueGQsdGhpcy54cz0hIWUueHMsdGhpcy5hc3luYz0hMSE9PWUuYXN5bmMsdGhpcy5kYXRhPWUuZGF0YT09PXZvaWQgMD9udWxsOmUuZGF0YSx0aGlzLmFnZW50PWUuYWdlbnQsdGhpcy5pc0JpbmFyeT1lLmlzQmluYXJ5LHRoaXMuc3VwcG9ydHNCaW5hcnk9ZS5zdXBwb3J0c0JpbmFyeSx0aGlzLmVuYWJsZXNYRFI9ZS5lbmFibGVzWERSLHRoaXMud2l0aENyZWRlbnRpYWxzPWUud2l0aENyZWRlbnRpYWxzLHRoaXMucmVxdWVzdFRpbWVvdXQ9ZS5yZXF1ZXN0VGltZW91dCx0aGlzLnBmeD1lLnBmeCx0aGlzLmtleT1lLmtleSx0aGlzLnBhc3NwaHJhc2U9ZS5wYXNzcGhyYXNlLHRoaXMuY2VydD1lLmNlcnQsdGhpcy5jYT1lLmNhLHRoaXMuY2lwaGVycz1lLmNpcGhlcnMsdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ9ZS5yZWplY3RVbmF1dGhvcml6ZWQsdGhpcy5leHRyYUhlYWRlcnM9ZS5leHRyYUhlYWRlcnMsdGhpcy5jcmVhdGUoKX1pZihpKHUucHJvdG90eXBlKSx1LnByb3RvdHlwZS5jcmVhdGU9ZnVuY3Rpb24oKXt2YXIgZT17YWdlbnQ6dGhpcy5hZ2VudCx4ZG9tYWluOnRoaXMueGQseHNjaGVtZTp0aGlzLnhzLGVuYWJsZXNYRFI6dGhpcy5lbmFibGVzWERSfTtlLnBmeD10aGlzLnBmeCxlLmtleT10aGlzLmtleSxlLnBhc3NwaHJhc2U9dGhpcy5wYXNzcGhyYXNlLGUuY2VydD10aGlzLmNlcnQsZS5jYT10aGlzLmNhLGUuY2lwaGVycz10aGlzLmNpcGhlcnMsZS5yZWplY3RVbmF1dGhvcml6ZWQ9dGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ7dmFyIHQ9dGhpcy54aHI9bmV3IG4oZSkscj10aGlzO3RyeXtvKGB4aHIgb3BlbiAlczogJXNgLHRoaXMubWV0aG9kLHRoaXMudXJpKSx0Lm9wZW4odGhpcy5tZXRob2QsdGhpcy51cmksdGhpcy5hc3luYyk7dHJ5e2lmKHRoaXMuZXh0cmFIZWFkZXJzKWZvcih2YXIgaSBpbiB0LnNldERpc2FibGVIZWFkZXJDaGVjayYmdC5zZXREaXNhYmxlSGVhZGVyQ2hlY2soITApLHRoaXMuZXh0cmFIZWFkZXJzKXRoaXMuZXh0cmFIZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiZ0LnNldFJlcXVlc3RIZWFkZXIoaSx0aGlzLmV4dHJhSGVhZGVyc1tpXSl9Y2F0Y2h7fWlmKHRoaXMubWV0aG9kPT09YFBPU1RgKXRyeXt0aGlzLmlzQmluYXJ5P3Quc2V0UmVxdWVzdEhlYWRlcihgQ29udGVudC10eXBlYCxgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYCk6dC5zZXRSZXF1ZXN0SGVhZGVyKGBDb250ZW50LXR5cGVgLGB0ZXh0L3BsYWluO2NoYXJzZXQ9VVRGLThgKX1jYXRjaHt9dHJ5e3Quc2V0UmVxdWVzdEhlYWRlcihgQWNjZXB0YCxgKi8qYCl9Y2F0Y2h7fWB3aXRoQ3JlZGVudGlhbHNgaW4gdCYmKHQud2l0aENyZWRlbnRpYWxzPXRoaXMud2l0aENyZWRlbnRpYWxzKSx0aGlzLnJlcXVlc3RUaW1lb3V0JiYodC50aW1lb3V0PXRoaXMucmVxdWVzdFRpbWVvdXQpLHRoaXMuaGFzWERSKCk/KHQub25sb2FkPWZ1bmN0aW9uKCl7ci5vbkxvYWQoKX0sdC5vbmVycm9yPWZ1bmN0aW9uKCl7ci5vbkVycm9yKHQucmVzcG9uc2VUZXh0KX0pOnQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYodC5yZWFkeVN0YXRlPT09Mil0cnl7dmFyIGU9dC5nZXRSZXNwb25zZUhlYWRlcihgQ29udGVudC1UeXBlYCk7KHIuc3VwcG9ydHNCaW5hcnkmJmU9PT1gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYHx8ZT09PWBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07IGNoYXJzZXQ9VVRGLThgKSYmKHQucmVzcG9uc2VUeXBlPWBhcnJheWJ1ZmZlcmApfWNhdGNoe310LnJlYWR5U3RhdGU9PT00JiYodC5zdGF0dXM9PT0yMDB8fHQuc3RhdHVzPT09MTIyMz9yLm9uTG9hZCgpOnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyLm9uRXJyb3IodHlwZW9mIHQuc3RhdHVzPT1gbnVtYmVyYD90LnN0YXR1czowKX0sMCkpfSxvKGB4aHIgZGF0YSAlc2AsdGhpcy5kYXRhKSx0LnNlbmQodGhpcy5kYXRhKX1jYXRjaChlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5vbkVycm9yKGUpfSwwKTtyZXR1cm59dHlwZW9mIGRvY3VtZW50PGB1YCYmKHRoaXMuaW5kZXg9dS5yZXF1ZXN0c0NvdW50KyssdS5yZXF1ZXN0c1t0aGlzLmluZGV4XT10aGlzKX0sdS5wcm90b3R5cGUub25TdWNjZXNzPWZ1bmN0aW9uKCl7dGhpcy5lbWl0KGBzdWNjZXNzYCksdGhpcy5jbGVhbnVwKCl9LHUucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbihlKXt0aGlzLmVtaXQoYGRhdGFgLGUpLHRoaXMub25TdWNjZXNzKCl9LHUucHJvdG90eXBlLm9uRXJyb3I9ZnVuY3Rpb24oZSl7dGhpcy5lbWl0KGBlcnJvcmAsZSksdGhpcy5jbGVhbnVwKCEwKX0sdS5wcm90b3R5cGUuY2xlYW51cD1mdW5jdGlvbihlKXtpZighKHRoaXMueGhyPT09dm9pZCAwfHx0aGlzLnhocj09PW51bGwpKXtpZih0aGlzLmhhc1hEUigpP3RoaXMueGhyLm9ubG9hZD10aGlzLnhoci5vbmVycm9yPWM6dGhpcy54aHIub25yZWFkeXN0YXRlY2hhbmdlPWMsZSl0cnl7dGhpcy54aHIuYWJvcnQoKX1jYXRjaHt9dHlwZW9mIGRvY3VtZW50PGB1YCYmZGVsZXRlIHUucmVxdWVzdHNbdGhpcy5pbmRleF0sdGhpcy54aHI9bnVsbH19LHUucHJvdG90eXBlLm9uTG9hZD1mdW5jdGlvbigpe3ZhciBlO3RyeXt2YXIgdDt0cnl7dD10aGlzLnhoci5nZXRSZXNwb25zZUhlYWRlcihgQ29udGVudC1UeXBlYCl9Y2F0Y2h7fWU9KHQ9PT1gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYHx8dD09PWBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07IGNoYXJzZXQ9VVRGLThgKSYmdGhpcy54aHIucmVzcG9uc2V8fHRoaXMueGhyLnJlc3BvbnNlVGV4dH1jYXRjaChlKXt0aGlzLm9uRXJyb3IoZSl9ZSE9bnVsbCYmdGhpcy5vbkRhdGEoZSl9LHUucHJvdG90eXBlLmhhc1hEUj1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgWERvbWFpblJlcXVlc3Q8YHVgJiYhdGhpcy54cyYmdGhpcy5lbmFibGVzWERSfSx1LnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbigpe3RoaXMuY2xlYW51cCgpfSx1LnJlcXVlc3RzQ291bnQ9MCx1LnJlcXVlc3RzPXt9LHR5cGVvZiBkb2N1bWVudDxgdWApe2lmKHR5cGVvZiBhdHRhY2hFdmVudD09YGZ1bmN0aW9uYClhdHRhY2hFdmVudChgb251bmxvYWRgLGYpO2Vsc2UgaWYodHlwZW9mIGFkZEV2ZW50TGlzdGVuZXI9PWBmdW5jdGlvbmApe3ZhciBkPWBvbnBhZ2VoaWRlYGluIHM/YHBhZ2VoaWRlYDpgdW5sb2FkYDthZGRFdmVudExpc3RlbmVyKGQsZiwhMSl9fWZ1bmN0aW9uIGYoKXtmb3IodmFyIGUgaW4gdS5yZXF1ZXN0cyl1LnJlcXVlc3RzLmhhc093blByb3BlcnR5KGUpJiZ1LnJlcXVlc3RzW2VdLmFib3J0KCl9fSkpLGljPXMoKChlLHQpPT57dmFyIG49bmMoKSxyPWVjKCksaT1IcygpO3QuZXhwb3J0cz1sO3ZhciBhPS9cbi9nLG89L1xcbi9nLHM7ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKGUpe24uY2FsbCh0aGlzLGUpLHRoaXMucXVlcnk9dGhpcy5xdWVyeXx8e30sc3x8PWkuX19fZWlvPWkuX19fZWlvfHxbXSx0aGlzLmluZGV4PXMubGVuZ3RoO3ZhciB0PXRoaXM7cy5wdXNoKGZ1bmN0aW9uKGUpe3Qub25EYXRhKGUpfSksdGhpcy5xdWVyeS5qPXRoaXMuaW5kZXgsdHlwZW9mIGFkZEV2ZW50TGlzdGVuZXI9PWBmdW5jdGlvbmAmJmFkZEV2ZW50TGlzdGVuZXIoYGJlZm9yZXVubG9hZGAsZnVuY3Rpb24oKXt0LnNjcmlwdCYmKHQuc2NyaXB0Lm9uZXJyb3I9Yyl9LCExKX1yKGwsbiksbC5wcm90b3R5cGUuc3VwcG9ydHNCaW5hcnk9ITEsbC5wcm90b3R5cGUuZG9DbG9zZT1mdW5jdGlvbigpe3RoaXMuc2NyaXB0JiY9KHRoaXMuc2NyaXB0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5zY3JpcHQpLG51bGwpLHRoaXMuZm9ybSYmKHRoaXMuZm9ybS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZm9ybSksdGhpcy5mb3JtPW51bGwsdGhpcy5pZnJhbWU9bnVsbCksbi5wcm90b3R5cGUuZG9DbG9zZS5jYWxsKHRoaXMpfSxsLnByb3RvdHlwZS5kb1BvbGw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgc2NyaXB0YCk7dGhpcy5zY3JpcHQmJj0odGhpcy5zY3JpcHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnNjcmlwdCksbnVsbCksdC5hc3luYz0hMCx0LnNyYz10aGlzLnVyaSgpLHQub25lcnJvcj1mdW5jdGlvbih0KXtlLm9uRXJyb3IoYGpzb25wIHBvbGwgZXJyb3JgLHQpfTt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShgc2NyaXB0YClbMF07bj9uLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHQsbik6KGRvY3VtZW50LmhlYWR8fGRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKHQpLHRoaXMuc2NyaXB0PXQsdHlwZW9mIG5hdmlnYXRvcjxgdWAmJi9nZWNrby9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkmJnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGBpZnJhbWVgKTtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZSl9LDEwMCl9LGwucHJvdG90eXBlLmRvV3JpdGU9ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzO2lmKCF0aGlzLmZvcm0pe3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYGZvcm1gKSxpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYHRleHRhcmVhYCkscz10aGlzLmlmcmFtZUlkPWBlaW9faWZyYW1lX2ArdGhpcy5pbmRleCxjO3IuY2xhc3NOYW1lPWBzb2NrZXRpb2Asci5zdHlsZS5wb3NpdGlvbj1gYWJzb2x1dGVgLHIuc3R5bGUudG9wPWAtMTAwMHB4YCxyLnN0eWxlLmxlZnQ9YC0xMDAwcHhgLHIudGFyZ2V0PXMsci5tZXRob2Q9YFBPU1RgLHIuc2V0QXR0cmlidXRlKGBhY2NlcHQtY2hhcnNldGAsYHV0Zi04YCksaS5uYW1lPWBkYCxyLmFwcGVuZENoaWxkKGkpLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQociksdGhpcy5mb3JtPXIsdGhpcy5hcmVhPWl9dGhpcy5mb3JtLmFjdGlvbj10aGlzLnVyaSgpO2Z1bmN0aW9uIGwoKXt1KCksdCgpfWZ1bmN0aW9uIHUoKXtpZihuLmlmcmFtZSl0cnl7bi5mb3JtLnJlbW92ZUNoaWxkKG4uaWZyYW1lKX1jYXRjaChlKXtuLm9uRXJyb3IoYGpzb25wIHBvbGxpbmcgaWZyYW1lIHJlbW92YWwgZXJyb3JgLGUpfXRyeXt2YXIgZT1gPGlmcmFtZSBzcmM9ImphdmFzY3JpcHQ6MCIgbmFtZT0iYCtuLmlmcmFtZUlkK2AiPmA7Yz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGUpfWNhdGNoe2M9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgaWZyYW1lYCksYy5uYW1lPW4uaWZyYW1lSWQsYy5zcmM9YGphdmFzY3JpcHQ6MGB9Yy5pZD1uLmlmcmFtZUlkLG4uZm9ybS5hcHBlbmRDaGlsZChjKSxuLmlmcmFtZT1jfXUoKSxlPWUucmVwbGFjZShvLGBcXApgKSx0aGlzLmFyZWEudmFsdWU9ZS5yZXBsYWNlKGEsYFxcbmApO3RyeXt0aGlzLmZvcm0uc3VibWl0KCl9Y2F0Y2h7fXRoaXMuaWZyYW1lLmF0dGFjaEV2ZW50P3RoaXMuaWZyYW1lLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe24uaWZyYW1lLnJlYWR5U3RhdGU9PT1gY29tcGxldGVgJiZsKCl9OnRoaXMuaWZyYW1lLm9ubG9hZD1sfX0pKSxhYz1zKCgoZSx0KT0+e3QuZXhwb3J0cz17fX0pKSxvYz1zKCgoZSx0KT0+e3ZhciBuPVFzKCkscj1acygpLGk9JHMoKSxhPWVjKCksbz10YygpLHM9RnMoKShgZW5naW5lLmlvLWNsaWVudDp3ZWJzb2NrZXRgKSxjLGw7aWYodHlwZW9mIFdlYlNvY2tldDxgdWA/Yz1XZWJTb2NrZXQ6dHlwZW9mIHNlbGY8YHVgJiYoYz1zZWxmLldlYlNvY2tldHx8c2VsZi5Nb3pXZWJTb2NrZXQpLHR5cGVvZiB3aW5kb3c+YHVgKXRyeXtsPWFjKCl9Y2F0Y2h7fXZhciB1PWN8fGw7dC5leHBvcnRzPWQ7ZnVuY3Rpb24gZChlKXtlJiZlLmZvcmNlQmFzZTY0JiYodGhpcy5zdXBwb3J0c0JpbmFyeT0hMSksdGhpcy5wZXJNZXNzYWdlRGVmbGF0ZT1lLnBlck1lc3NhZ2VEZWZsYXRlLHRoaXMudXNpbmdCcm93c2VyV2ViU29ja2V0PWMmJiFlLmZvcmNlTm9kZSx0aGlzLnByb3RvY29scz1lLnByb3RvY29scyx0aGlzLnVzaW5nQnJvd3NlcldlYlNvY2tldHx8KHU9bCksbi5jYWxsKHRoaXMsZSl9YShkLG4pLGQucHJvdG90eXBlLm5hbWU9YHdlYnNvY2tldGAsZC5wcm90b3R5cGUuc3VwcG9ydHNCaW5hcnk9ITAsZC5wcm90b3R5cGUuZG9PcGVuPWZ1bmN0aW9uKCl7aWYodGhpcy5jaGVjaygpKXt2YXIgZT10aGlzLnVyaSgpLHQ9dGhpcy5wcm90b2NvbHMsbj17fTt0aGlzLmlzUmVhY3ROYXRpdmV8fChuLmFnZW50PXRoaXMuYWdlbnQsbi5wZXJNZXNzYWdlRGVmbGF0ZT10aGlzLnBlck1lc3NhZ2VEZWZsYXRlLG4ucGZ4PXRoaXMucGZ4LG4ua2V5PXRoaXMua2V5LG4ucGFzc3BocmFzZT10aGlzLnBhc3NwaHJhc2Usbi5jZXJ0PXRoaXMuY2VydCxuLmNhPXRoaXMuY2Esbi5jaXBoZXJzPXRoaXMuY2lwaGVycyxuLnJlamVjdFVuYXV0aG9yaXplZD10aGlzLnJlamVjdFVuYXV0aG9yaXplZCksdGhpcy5leHRyYUhlYWRlcnMmJihuLmhlYWRlcnM9dGhpcy5leHRyYUhlYWRlcnMpLHRoaXMubG9jYWxBZGRyZXNzJiYobi5sb2NhbEFkZHJlc3M9dGhpcy5sb2NhbEFkZHJlc3MpO3RyeXt0aGlzLndzPXRoaXMudXNpbmdCcm93c2VyV2ViU29ja2V0JiYhdGhpcy5pc1JlYWN0TmF0aXZlP3Q/bmV3IHUoZSx0KTpuZXcgdShlKTpuZXcgdShlLHQsbil9Y2F0Y2goZSl7cmV0dXJuIHRoaXMuZW1pdChgZXJyb3JgLGUpfXRoaXMud3MuYmluYXJ5VHlwZT09PXZvaWQgMCYmKHRoaXMuc3VwcG9ydHNCaW5hcnk9ITEpLHRoaXMud3Muc3VwcG9ydHMmJnRoaXMud3Muc3VwcG9ydHMuYmluYXJ5Pyh0aGlzLnN1cHBvcnRzQmluYXJ5PSEwLHRoaXMud3MuYmluYXJ5VHlwZT1gbm9kZWJ1ZmZlcmApOnRoaXMud3MuYmluYXJ5VHlwZT1gYXJyYXlidWZmZXJgLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcnMoKX19LGQucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLndzLm9ub3Blbj1mdW5jdGlvbigpe2Uub25PcGVuKCl9LHRoaXMud3Mub25jbG9zZT1mdW5jdGlvbigpe2Uub25DbG9zZSgpfSx0aGlzLndzLm9ubWVzc2FnZT1mdW5jdGlvbih0KXtlLm9uRGF0YSh0LmRhdGEpfSx0aGlzLndzLm9uZXJyb3I9ZnVuY3Rpb24odCl7ZS5vbkVycm9yKGB3ZWJzb2NrZXQgZXJyb3JgLHQpfX0sZC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0aGlzLndyaXRhYmxlPSExO2Zvcih2YXIgbj1lLmxlbmd0aCxpPTAsYT1uO2k8YTtpKyspKGZ1bmN0aW9uKGUpe3IuZW5jb2RlUGFja2V0KGUsdC5zdXBwb3J0c0JpbmFyeSxmdW5jdGlvbihyKXtpZighdC51c2luZ0Jyb3dzZXJXZWJTb2NrZXQpe3ZhciBpPXt9O2Uub3B0aW9ucyYmKGkuY29tcHJlc3M9ZS5vcHRpb25zLmNvbXByZXNzKSx0LnBlck1lc3NhZ2VEZWZsYXRlJiYodHlwZW9mIHI9PWBzdHJpbmdgP0J1ZmZlci5ieXRlTGVuZ3RoKHIpOnIubGVuZ3RoKTx0LnBlck1lc3NhZ2VEZWZsYXRlLnRocmVzaG9sZCYmKGkuY29tcHJlc3M9ITEpfXRyeXt0LnVzaW5nQnJvd3NlcldlYlNvY2tldD90LndzLnNlbmQocik6dC53cy5zZW5kKHIsaSl9Y2F0Y2h7cyhgd2Vic29ja2V0IGNsb3NlZCBiZWZvcmUgb25jbG9zZSBldmVudGApfS0tbnx8bygpfSl9KShlW2ldKTtmdW5jdGlvbiBvKCl7dC5lbWl0KGBmbHVzaGApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LndyaXRhYmxlPSEwLHQuZW1pdChgZHJhaW5gKX0sMCl9fSxkLnByb3RvdHlwZS5vbkNsb3NlPWZ1bmN0aW9uKCl7bi5wcm90b3R5cGUub25DbG9zZS5jYWxsKHRoaXMpfSxkLnByb3RvdHlwZS5kb0Nsb3NlPWZ1bmN0aW9uKCl7dGhpcy53cyE9PXZvaWQgMCYmdGhpcy53cy5jbG9zZSgpfSxkLnByb3RvdHlwZS51cmk9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnF1ZXJ5fHx7fSx0PXRoaXMuc2VjdXJlP2B3c3NgOmB3c2Asbj1gYDt0aGlzLnBvcnQmJih0PT09YHdzc2AmJk51bWJlcih0aGlzLnBvcnQpIT09NDQzfHx0PT09YHdzYCYmTnVtYmVyKHRoaXMucG9ydCkhPT04MCkmJihuPWA6YCt0aGlzLnBvcnQpLHRoaXMudGltZXN0YW1wUmVxdWVzdHMmJihlW3RoaXMudGltZXN0YW1wUGFyYW1dPW8oKSksdGhpcy5zdXBwb3J0c0JpbmFyeXx8KGUuYjY0PTEpLGU9aS5lbmNvZGUoZSksZS5sZW5ndGgmJihlPWA/YCtlKTt2YXIgcj10aGlzLmhvc3RuYW1lLmluZGV4T2YoYDpgKSE9PS0xO3JldHVybiB0K2A6Ly9gKyhyP2BbYCt0aGlzLmhvc3RuYW1lK2BdYDp0aGlzLmhvc3RuYW1lKStuK3RoaXMucGF0aCtlfSxkLnByb3RvdHlwZS5jaGVjaz1mdW5jdGlvbigpe3JldHVybiEhdSYmIShgX19pbml0aWFsaXplYGluIHUmJnRoaXMubmFtZT09PWQucHJvdG90eXBlLm5hbWUpfX0pKSxzYz1zKChlPT57dmFyIHQ9VXMoKSxuPXJjKCkscj1pYygpLGk9b2MoKTtlLnBvbGxpbmc9YSxlLndlYnNvY2tldD1pO2Z1bmN0aW9uIGEoZSl7dmFyIGksYT0hMSxvPSExLHM9ITEhPT1lLmpzb25wO2lmKHR5cGVvZiBsb2NhdGlvbjxgdWApe3ZhciBjPWxvY2F0aW9uLnByb3RvY29sPT09YGh0dHBzOmAsbD1sb2NhdGlvbi5wb3J0O2x8fD1jPzQ0Mzo4MCxhPWUuaG9zdG5hbWUhPT1sb2NhdGlvbi5ob3N0bmFtZXx8bCE9PWUucG9ydCxvPWUuc2VjdXJlIT09Y31pZihlLnhkb21haW49YSxlLnhzY2hlbWU9byxpPW5ldyB0KGUpLGBvcGVuYGluIGkmJiFlLmZvcmNlSlNPTlApcmV0dXJuIG5ldyBuKGUpO2lmKCFzKXRocm93IEVycm9yKGBKU09OUCBkaXNhYmxlZGApO3JldHVybiBuZXcgcihlKX19KSksY2M9cygoKGUsdCk9Pnt2YXIgbj1bXS5pbmRleE9mO3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKG4pcmV0dXJuIGUuaW5kZXhPZih0KTtmb3IodmFyIHI9MDtyPGUubGVuZ3RoOysrcilpZihlW3JdPT09dClyZXR1cm4gcjtyZXR1cm4tMX19KSksbGM9cygoKGUsdCk9Pnt2YXIgbj0vXig/Oig/IVteOkBdKzpbXjpAXC9dKkApKGh0dHB8aHR0cHN8d3N8d3NzKTpcL1wvKT8oKD86KChbXjpAXSopKD86OihbXjpAXSopKT8pP0ApPygoPzpbYS1mMC05XXswLDR9Oil7Miw3fVthLWYwLTldezAsNH18W146XC8/I10qKSg/OjooXGQqKSk/KSgoKFwvKD86W14/I10oPyFbXj8jXC9dKlwuW14/I1wvLl0rKD86Wz8jXXwkKSkpKlwvPyk/KFtePyNcL10qKSkoPzpcPyhbXiNdKikpPyg/OiMoLiopKT8pLyxyPVtgc291cmNlYCxgcHJvdG9jb2xgLGBhdXRob3JpdHlgLGB1c2VySW5mb2AsYHVzZXJgLGBwYXNzd29yZGAsYGhvc3RgLGBwb3J0YCxgcmVsYXRpdmVgLGBwYXRoYCxgZGlyZWN0b3J5YCxgZmlsZWAsYHF1ZXJ5YCxgYW5jaG9yYF07dC5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PWUsbz1lLmluZGV4T2YoYFtgKSxzPWUuaW5kZXhPZihgXWApO28hPS0xJiZzIT0tMSYmKGU9ZS5zdWJzdHJpbmcoMCxvKStlLnN1YnN0cmluZyhvLHMpLnJlcGxhY2UoLzovZyxgO2ApK2Uuc3Vic3RyaW5nKHMsZS5sZW5ndGgpKTtmb3IodmFyIGM9bi5leGVjKGV8fGBgKSxsPXt9LHU9MTQ7dS0tOylsW3JbdV1dPWNbdV18fGBgO3JldHVybiBvIT0tMSYmcyE9LTEmJihsLnNvdXJjZT10LGwuaG9zdD1sLmhvc3Quc3Vic3RyaW5nKDEsbC5ob3N0Lmxlbmd0aC0xKS5yZXBsYWNlKC87L2csYDpgKSxsLmF1dGhvcml0eT1sLmF1dGhvcml0eS5yZXBsYWNlKGBbYCxgYCkucmVwbGFjZShgXWAsYGApLnJlcGxhY2UoLzsvZyxgOmApLGwuaXB2NnVyaT0hMCksbC5wYXRoTmFtZXM9aShsLGwucGF0aCksbC5xdWVyeUtleT1hKGwsbC5xdWVyeSksbH07ZnVuY3Rpb24gaShlLHQpe3ZhciBuPXQucmVwbGFjZSgvXC97Miw5fS9nLGAvYCkuc3BsaXQoYC9gKTtyZXR1cm4odC5zdWJzdHIoMCwxKT09YC9gfHx0Lmxlbmd0aD09PTApJiZuLnNwbGljZSgwLDEpLHQuc3Vic3RyKHQubGVuZ3RoLTEsMSk9PWAvYCYmbi5zcGxpY2Uobi5sZW5ndGgtMSwxKSxufWZ1bmN0aW9uIGEoZSx0KXt2YXIgbj17fTtyZXR1cm4gdC5yZXBsYWNlKC8oPzpefCYpKFteJj1dKik9PyhbXiZdKikvZyxmdW5jdGlvbihlLHQscil7dCYmKG5bdF09cil9KSxufX0pKSx1Yz1zKCgoZSx0KT0+e3ZhciBuPXNjKCkscj1JcygpLGk9RnMoKShgZW5naW5lLmlvLWNsaWVudDpzb2NrZXRgKSxhPWNjKCksbz1acygpLHM9bGMoKSxjPSRzKCk7dC5leHBvcnRzPWw7ZnVuY3Rpb24gbChlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGwpKXJldHVybiBuZXcgbChlLHQpO3R8fD17fSxlJiZ0eXBlb2YgZT09YG9iamVjdGAmJih0PWUsZT1udWxsKSxlPyhlPXMoZSksdC5ob3N0bmFtZT1lLmhvc3QsdC5zZWN1cmU9ZS5wcm90b2NvbD09PWBodHRwc2B8fGUucHJvdG9jb2w9PT1gd3NzYCx0LnBvcnQ9ZS5wb3J0LGUucXVlcnkmJih0LnF1ZXJ5PWUucXVlcnkpKTp0Lmhvc3QmJih0Lmhvc3RuYW1lPXModC5ob3N0KS5ob3N0KSx0aGlzLnNlY3VyZT10LnNlY3VyZT09bnVsbD90eXBlb2YgbG9jYXRpb248YHVgJiZsb2NhdGlvbi5wcm90b2NvbD09PWBodHRwczpgOnQuc2VjdXJlLHQuaG9zdG5hbWUmJiF0LnBvcnQmJih0LnBvcnQ9dGhpcy5zZWN1cmU/YDQ0M2A6YDgwYCksdGhpcy5hZ2VudD10LmFnZW50fHwhMSx0aGlzLmhvc3RuYW1lPXQuaG9zdG5hbWV8fCh0eXBlb2YgbG9jYXRpb248YHVgP2xvY2F0aW9uLmhvc3RuYW1lOmBsb2NhbGhvc3RgKSx0aGlzLnBvcnQ9dC5wb3J0fHwodHlwZW9mIGxvY2F0aW9uPGB1YCYmbG9jYXRpb24ucG9ydD9sb2NhdGlvbi5wb3J0OnRoaXMuc2VjdXJlPzQ0Mzo4MCksdGhpcy5xdWVyeT10LnF1ZXJ5fHx7fSx0eXBlb2YgdGhpcy5xdWVyeT09YHN0cmluZ2AmJih0aGlzLnF1ZXJ5PWMuZGVjb2RlKHRoaXMucXVlcnkpKSx0aGlzLnVwZ3JhZGU9ITEhPT10LnVwZ3JhZGUsdGhpcy5wYXRoPSh0LnBhdGh8fGAvZW5naW5lLmlvYCkucmVwbGFjZSgvXC8kLyxgYCkrYC9gLHRoaXMuZm9yY2VKU09OUD0hIXQuZm9yY2VKU09OUCx0aGlzLmpzb25wPSExIT09dC5qc29ucCx0aGlzLmZvcmNlQmFzZTY0PSEhdC5mb3JjZUJhc2U2NCx0aGlzLmVuYWJsZXNYRFI9ISF0LmVuYWJsZXNYRFIsdGhpcy53aXRoQ3JlZGVudGlhbHM9ITEhPT10LndpdGhDcmVkZW50aWFscyx0aGlzLnRpbWVzdGFtcFBhcmFtPXQudGltZXN0YW1wUGFyYW18fGB0YCx0aGlzLnRpbWVzdGFtcFJlcXVlc3RzPXQudGltZXN0YW1wUmVxdWVzdHMsdGhpcy50cmFuc3BvcnRzPXQudHJhbnNwb3J0c3x8W2Bwb2xsaW5nYCxgd2Vic29ja2V0YF0sdGhpcy50cmFuc3BvcnRPcHRpb25zPXQudHJhbnNwb3J0T3B0aW9uc3x8e30sdGhpcy5yZWFkeVN0YXRlPWBgLHRoaXMud3JpdGVCdWZmZXI9W10sdGhpcy5wcmV2QnVmZmVyTGVuPTAsdGhpcy5wb2xpY3lQb3J0PXQucG9saWN5UG9ydHx8ODQzLHRoaXMucmVtZW1iZXJVcGdyYWRlPXQucmVtZW1iZXJVcGdyYWRlfHwhMSx0aGlzLmJpbmFyeVR5cGU9bnVsbCx0aGlzLm9ubHlCaW5hcnlVcGdyYWRlcz10Lm9ubHlCaW5hcnlVcGdyYWRlcyx0aGlzLnBlck1lc3NhZ2VEZWZsYXRlPSExPT09dC5wZXJNZXNzYWdlRGVmbGF0ZT8hMTp0LnBlck1lc3NhZ2VEZWZsYXRlfHx7fSwhMD09PXRoaXMucGVyTWVzc2FnZURlZmxhdGUmJih0aGlzLnBlck1lc3NhZ2VEZWZsYXRlPXt9KSx0aGlzLnBlck1lc3NhZ2VEZWZsYXRlJiZ0aGlzLnBlck1lc3NhZ2VEZWZsYXRlLnRocmVzaG9sZD09bnVsbCYmKHRoaXMucGVyTWVzc2FnZURlZmxhdGUudGhyZXNob2xkPTEwMjQpLHRoaXMucGZ4PXQucGZ4fHxudWxsLHRoaXMua2V5PXQua2V5fHxudWxsLHRoaXMucGFzc3BocmFzZT10LnBhc3NwaHJhc2V8fG51bGwsdGhpcy5jZXJ0PXQuY2VydHx8bnVsbCx0aGlzLmNhPXQuY2F8fG51bGwsdGhpcy5jaXBoZXJzPXQuY2lwaGVyc3x8bnVsbCx0aGlzLnJlamVjdFVuYXV0aG9yaXplZD10LnJlamVjdFVuYXV0aG9yaXplZD09PXZvaWQgMD8hMDp0LnJlamVjdFVuYXV0aG9yaXplZCx0aGlzLmZvcmNlTm9kZT0hIXQuZm9yY2VOb2RlLHRoaXMuaXNSZWFjdE5hdGl2ZT10eXBlb2YgbmF2aWdhdG9yPGB1YCYmdHlwZW9mIG5hdmlnYXRvci5wcm9kdWN0PT1gc3RyaW5nYCYmbmF2aWdhdG9yLnByb2R1Y3QudG9Mb3dlckNhc2UoKT09PWByZWFjdG5hdGl2ZWAsKHR5cGVvZiBzZWxmPmB1YHx8dGhpcy5pc1JlYWN0TmF0aXZlKSYmKHQuZXh0cmFIZWFkZXJzJiZPYmplY3Qua2V5cyh0LmV4dHJhSGVhZGVycykubGVuZ3RoPjAmJih0aGlzLmV4dHJhSGVhZGVycz10LmV4dHJhSGVhZGVycyksdC5sb2NhbEFkZHJlc3MmJih0aGlzLmxvY2FsQWRkcmVzcz10LmxvY2FsQWRkcmVzcykpLHRoaXMuaWQ9bnVsbCx0aGlzLnVwZ3JhZGVzPW51bGwsdGhpcy5waW5nSW50ZXJ2YWw9bnVsbCx0aGlzLnBpbmdUaW1lb3V0PW51bGwsdGhpcy5waW5nSW50ZXJ2YWxUaW1lcj1udWxsLHRoaXMucGluZ1RpbWVvdXRUaW1lcj1udWxsLHRoaXMub3BlbigpfWwucHJpb3JXZWJzb2NrZXRTdWNjZXNzPSExLHIobC5wcm90b3R5cGUpLGwucHJvdG9jb2w9by5wcm90b2NvbCxsLlNvY2tldD1sLGwuVHJhbnNwb3J0PVFzKCksbC50cmFuc3BvcnRzPXNjKCksbC5wYXJzZXI9WnMoKSxsLnByb3RvdHlwZS5jcmVhdGVUcmFuc3BvcnQ9ZnVuY3Rpb24oZSl7aShgY3JlYXRpbmcgdHJhbnNwb3J0ICIlcyJgLGUpO3ZhciB0PXUodGhpcy5xdWVyeSk7dC5FSU89by5wcm90b2NvbCx0LnRyYW5zcG9ydD1lO3ZhciByPXRoaXMudHJhbnNwb3J0T3B0aW9uc1tlXXx8e307cmV0dXJuIHRoaXMuaWQmJih0LnNpZD10aGlzLmlkKSxuZXcgbltlXSh7cXVlcnk6dCxzb2NrZXQ6dGhpcyxhZ2VudDpyLmFnZW50fHx0aGlzLmFnZW50LGhvc3RuYW1lOnIuaG9zdG5hbWV8fHRoaXMuaG9zdG5hbWUscG9ydDpyLnBvcnR8fHRoaXMucG9ydCxzZWN1cmU6ci5zZWN1cmV8fHRoaXMuc2VjdXJlLHBhdGg6ci5wYXRofHx0aGlzLnBhdGgsZm9yY2VKU09OUDpyLmZvcmNlSlNPTlB8fHRoaXMuZm9yY2VKU09OUCxqc29ucDpyLmpzb25wfHx0aGlzLmpzb25wLGZvcmNlQmFzZTY0OnIuZm9yY2VCYXNlNjR8fHRoaXMuZm9yY2VCYXNlNjQsZW5hYmxlc1hEUjpyLmVuYWJsZXNYRFJ8fHRoaXMuZW5hYmxlc1hEUix3aXRoQ3JlZGVudGlhbHM6ci53aXRoQ3JlZGVudGlhbHN8fHRoaXMud2l0aENyZWRlbnRpYWxzLHRpbWVzdGFtcFJlcXVlc3RzOnIudGltZXN0YW1wUmVxdWVzdHN8fHRoaXMudGltZXN0YW1wUmVxdWVzdHMsdGltZXN0YW1wUGFyYW06ci50aW1lc3RhbXBQYXJhbXx8dGhpcy50aW1lc3RhbXBQYXJhbSxwb2xpY3lQb3J0OnIucG9saWN5UG9ydHx8dGhpcy5wb2xpY3lQb3J0LHBmeDpyLnBmeHx8dGhpcy5wZngsa2V5OnIua2V5fHx0aGlzLmtleSxwYXNzcGhyYXNlOnIucGFzc3BocmFzZXx8dGhpcy5wYXNzcGhyYXNlLGNlcnQ6ci5jZXJ0fHx0aGlzLmNlcnQsY2E6ci5jYXx8dGhpcy5jYSxjaXBoZXJzOnIuY2lwaGVyc3x8dGhpcy5jaXBoZXJzLHJlamVjdFVuYXV0aG9yaXplZDpyLnJlamVjdFVuYXV0aG9yaXplZHx8dGhpcy5yZWplY3RVbmF1dGhvcml6ZWQscGVyTWVzc2FnZURlZmxhdGU6ci5wZXJNZXNzYWdlRGVmbGF0ZXx8dGhpcy5wZXJNZXNzYWdlRGVmbGF0ZSxleHRyYUhlYWRlcnM6ci5leHRyYUhlYWRlcnN8fHRoaXMuZXh0cmFIZWFkZXJzLGZvcmNlTm9kZTpyLmZvcmNlTm9kZXx8dGhpcy5mb3JjZU5vZGUsbG9jYWxBZGRyZXNzOnIubG9jYWxBZGRyZXNzfHx0aGlzLmxvY2FsQWRkcmVzcyxyZXF1ZXN0VGltZW91dDpyLnJlcXVlc3RUaW1lb3V0fHx0aGlzLnJlcXVlc3RUaW1lb3V0LHByb3RvY29sczpyLnByb3RvY29sc3x8dm9pZCAwLGlzUmVhY3ROYXRpdmU6dGhpcy5pc1JlYWN0TmF0aXZlfSl9O2Z1bmN0aW9uIHUoZSl7dmFyIHQ9e307Zm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRbbl09ZVtuXSk7cmV0dXJuIHR9bC5wcm90b3R5cGUub3Blbj1mdW5jdGlvbigpe3ZhciBlO2lmKHRoaXMucmVtZW1iZXJVcGdyYWRlJiZsLnByaW9yV2Vic29ja2V0U3VjY2VzcyYmdGhpcy50cmFuc3BvcnRzLmluZGV4T2YoYHdlYnNvY2tldGApIT09LTEpZT1gd2Vic29ja2V0YDtlbHNlIGlmKHRoaXMudHJhbnNwb3J0cy5sZW5ndGg9PT0wKXt2YXIgdD10aGlzO3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0LmVtaXQoYGVycm9yYCxgTm8gdHJhbnNwb3J0cyBhdmFpbGFibGVgKX0sMCk7cmV0dXJufWVsc2UgZT10aGlzLnRyYW5zcG9ydHNbMF07dGhpcy5yZWFkeVN0YXRlPWBvcGVuaW5nYDt0cnl7ZT10aGlzLmNyZWF0ZVRyYW5zcG9ydChlKX1jYXRjaHt0aGlzLnRyYW5zcG9ydHMuc2hpZnQoKSx0aGlzLm9wZW4oKTtyZXR1cm59ZS5vcGVuKCksdGhpcy5zZXRUcmFuc3BvcnQoZSl9LGwucHJvdG90eXBlLnNldFRyYW5zcG9ydD1mdW5jdGlvbihlKXtpKGBzZXR0aW5nIHRyYW5zcG9ydCAlc2AsZS5uYW1lKTt2YXIgdD10aGlzO3RoaXMudHJhbnNwb3J0JiYoaShgY2xlYXJpbmcgZXhpc3RpbmcgdHJhbnNwb3J0ICVzYCx0aGlzLnRyYW5zcG9ydC5uYW1lKSx0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoKSksdGhpcy50cmFuc3BvcnQ9ZSxlLm9uKGBkcmFpbmAsZnVuY3Rpb24oKXt0Lm9uRHJhaW4oKX0pLm9uKGBwYWNrZXRgLGZ1bmN0aW9uKGUpe3Qub25QYWNrZXQoZSl9KS5vbihgZXJyb3JgLGZ1bmN0aW9uKGUpe3Qub25FcnJvcihlKX0pLm9uKGBjbG9zZWAsZnVuY3Rpb24oKXt0Lm9uQ2xvc2UoYHRyYW5zcG9ydCBjbG9zZWApfSl9LGwucHJvdG90eXBlLnByb2JlPWZ1bmN0aW9uKGUpe2koYHByb2JpbmcgdHJhbnNwb3J0ICIlcyJgLGUpO3ZhciB0PXRoaXMuY3JlYXRlVHJhbnNwb3J0KGUse3Byb2JlOjF9KSxuPSExLHI9dGhpcztsLnByaW9yV2Vic29ja2V0U3VjY2Vzcz0hMTtmdW5jdGlvbiBhKCl7aWYoci5vbmx5QmluYXJ5VXBncmFkZXMpe3ZhciBhPSF0aGlzLnN1cHBvcnRzQmluYXJ5JiZyLnRyYW5zcG9ydC5zdXBwb3J0c0JpbmFyeTtufHw9YX1ufHwoaShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgb3BlbmVkYCxlKSx0LnNlbmQoW3t0eXBlOmBwaW5nYCxkYXRhOmBwcm9iZWB9XSksdC5vbmNlKGBwYWNrZXRgLGZ1bmN0aW9uKGEpe2lmKCFuKWlmKGEudHlwZT09PWBwb25nYCYmYS5kYXRhPT09YHByb2JlYCl7aWYoaShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgcG9uZ2AsZSksci51cGdyYWRpbmc9ITAsci5lbWl0KGB1cGdyYWRpbmdgLHQpLCF0KXJldHVybjtsLnByaW9yV2Vic29ja2V0U3VjY2Vzcz10Lm5hbWU9PT1gd2Vic29ja2V0YCxpKGBwYXVzaW5nIGN1cnJlbnQgdHJhbnNwb3J0ICIlcyJgLHIudHJhbnNwb3J0Lm5hbWUpLHIudHJhbnNwb3J0LnBhdXNlKGZ1bmN0aW9uKCl7bnx8ci5yZWFkeVN0YXRlIT09YGNsb3NlZGAmJihpKGBjaGFuZ2luZyB0cmFuc3BvcnQgYW5kIHNlbmRpbmcgdXBncmFkZSBwYWNrZXRgKSxmKCksci5zZXRUcmFuc3BvcnQodCksdC5zZW5kKFt7dHlwZTpgdXBncmFkZWB9XSksci5lbWl0KGB1cGdyYWRlYCx0KSx0PW51bGwsci51cGdyYWRpbmc9ITEsci5mbHVzaCgpKX0pfWVsc2V7aShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgZmFpbGVkYCxlKTt2YXIgbz1FcnJvcihgcHJvYmUgZXJyb3JgKTtvLnRyYW5zcG9ydD10Lm5hbWUsci5lbWl0KGB1cGdyYWRlRXJyb3JgLG8pfX0pKX1mdW5jdGlvbiBvKCl7bnx8KG49ITAsZigpLHQuY2xvc2UoKSx0PW51bGwpfWZ1bmN0aW9uIHMobil7dmFyIGE9RXJyb3IoYHByb2JlIGVycm9yOiBgK24pO2EudHJhbnNwb3J0PXQubmFtZSxvKCksaShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgZmFpbGVkIGJlY2F1c2Ugb2YgZXJyb3I6ICVzYCxlLG4pLHIuZW1pdChgdXBncmFkZUVycm9yYCxhKX1mdW5jdGlvbiBjKCl7cyhgdHJhbnNwb3J0IGNsb3NlZGApfWZ1bmN0aW9uIHUoKXtzKGBzb2NrZXQgY2xvc2VkYCl9ZnVuY3Rpb24gZChlKXt0JiZlLm5hbWUhPT10Lm5hbWUmJihpKGAiJXMiIHdvcmtzIC0gYWJvcnRpbmcgIiVzImAsZS5uYW1lLHQubmFtZSksbygpKX1mdW5jdGlvbiBmKCl7dC5yZW1vdmVMaXN0ZW5lcihgb3BlbmAsYSksdC5yZW1vdmVMaXN0ZW5lcihgZXJyb3JgLHMpLHQucmVtb3ZlTGlzdGVuZXIoYGNsb3NlYCxjKSxyLnJlbW92ZUxpc3RlbmVyKGBjbG9zZWAsdSksci5yZW1vdmVMaXN0ZW5lcihgdXBncmFkaW5nYCxkKX10Lm9uY2UoYG9wZW5gLGEpLHQub25jZShgZXJyb3JgLHMpLHQub25jZShgY2xvc2VgLGMpLHRoaXMub25jZShgY2xvc2VgLHUpLHRoaXMub25jZShgdXBncmFkaW5nYCxkKSx0Lm9wZW4oKX0sbC5wcm90b3R5cGUub25PcGVuPWZ1bmN0aW9uKCl7aWYoaShgc29ja2V0IG9wZW5gKSx0aGlzLnJlYWR5U3RhdGU9YG9wZW5gLGwucHJpb3JXZWJzb2NrZXRTdWNjZXNzPXRoaXMudHJhbnNwb3J0Lm5hbWU9PT1gd2Vic29ja2V0YCx0aGlzLmVtaXQoYG9wZW5gKSx0aGlzLmZsdXNoKCksdGhpcy5yZWFkeVN0YXRlPT09YG9wZW5gJiZ0aGlzLnVwZ3JhZGUmJnRoaXMudHJhbnNwb3J0LnBhdXNlKXtpKGBzdGFydGluZyB1cGdyYWRlIHByb2Jlc2ApO2Zvcih2YXIgZT0wLHQ9dGhpcy51cGdyYWRlcy5sZW5ndGg7ZTx0O2UrKyl0aGlzLnByb2JlKHRoaXMudXBncmFkZXNbZV0pfX0sbC5wcm90b3R5cGUub25QYWNrZXQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5yZWFkeVN0YXRlPT09YG9wZW5pbmdgfHx0aGlzLnJlYWR5U3RhdGU9PT1gb3BlbmB8fHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zaW5nYClzd2l0Y2goaShgc29ja2V0IHJlY2VpdmU6IHR5cGUgIiVzIiwgZGF0YSAiJXMiYCxlLnR5cGUsZS5kYXRhKSx0aGlzLmVtaXQoYHBhY2tldGAsZSksdGhpcy5lbWl0KGBoZWFydGJlYXRgKSxlLnR5cGUpe2Nhc2Vgb3BlbmA6dGhpcy5vbkhhbmRzaGFrZShKU09OLnBhcnNlKGUuZGF0YSkpO2JyZWFrO2Nhc2VgcG9uZ2A6dGhpcy5zZXRQaW5nKCksdGhpcy5lbWl0KGBwb25nYCk7YnJlYWs7Y2FzZWBlcnJvcmA6dmFyIHQ9RXJyb3IoYHNlcnZlciBlcnJvcmApO3QuY29kZT1lLmRhdGEsdGhpcy5vbkVycm9yKHQpO2JyZWFrO2Nhc2VgbWVzc2FnZWA6dGhpcy5lbWl0KGBkYXRhYCxlLmRhdGEpLHRoaXMuZW1pdChgbWVzc2FnZWAsZS5kYXRhKTticmVha31lbHNlIGkoYHBhY2tldCByZWNlaXZlZCB3aXRoIHNvY2tldCByZWFkeVN0YXRlICIlcyJgLHRoaXMucmVhZHlTdGF0ZSl9LGwucHJvdG90eXBlLm9uSGFuZHNoYWtlPWZ1bmN0aW9uKGUpe3RoaXMuZW1pdChgaGFuZHNoYWtlYCxlKSx0aGlzLmlkPWUuc2lkLHRoaXMudHJhbnNwb3J0LnF1ZXJ5LnNpZD1lLnNpZCx0aGlzLnVwZ3JhZGVzPXRoaXMuZmlsdGVyVXBncmFkZXMoZS51cGdyYWRlcyksdGhpcy5waW5nSW50ZXJ2YWw9ZS5waW5nSW50ZXJ2YWwsdGhpcy5waW5nVGltZW91dD1lLnBpbmdUaW1lb3V0LHRoaXMub25PcGVuKCksdGhpcy5yZWFkeVN0YXRlIT09YGNsb3NlZGAmJih0aGlzLnNldFBpbmcoKSx0aGlzLnJlbW92ZUxpc3RlbmVyKGBoZWFydGJlYXRgLHRoaXMub25IZWFydGJlYXQpLHRoaXMub24oYGhlYXJ0YmVhdGAsdGhpcy5vbkhlYXJ0YmVhdCkpfSxsLnByb3RvdHlwZS5vbkhlYXJ0YmVhdD1mdW5jdGlvbihlKXtjbGVhclRpbWVvdXQodGhpcy5waW5nVGltZW91dFRpbWVyKTt2YXIgdD10aGlzO3QucGluZ1RpbWVvdXRUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC5yZWFkeVN0YXRlIT09YGNsb3NlZGAmJnQub25DbG9zZShgcGluZyB0aW1lb3V0YCl9LGV8fHQucGluZ0ludGVydmFsK3QucGluZ1RpbWVvdXQpfSxsLnByb3RvdHlwZS5zZXRQaW5nPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztjbGVhclRpbWVvdXQoZS5waW5nSW50ZXJ2YWxUaW1lciksZS5waW5nSW50ZXJ2YWxUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aShgd3JpdGluZyBwaW5nIHBhY2tldCAtIGV4cGVjdGluZyBwb25nIHdpdGhpbiAlc21zYCxlLnBpbmdUaW1lb3V0KSxlLnBpbmcoKSxlLm9uSGVhcnRiZWF0KGUucGluZ1RpbWVvdXQpfSxlLnBpbmdJbnRlcnZhbCl9LGwucHJvdG90eXBlLnBpbmc9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuc2VuZFBhY2tldChgcGluZ2AsZnVuY3Rpb24oKXtlLmVtaXQoYHBpbmdgKX0pfSxsLnByb3RvdHlwZS5vbkRyYWluPWZ1bmN0aW9uKCl7dGhpcy53cml0ZUJ1ZmZlci5zcGxpY2UoMCx0aGlzLnByZXZCdWZmZXJMZW4pLHRoaXMucHJldkJ1ZmZlckxlbj0wLHRoaXMud3JpdGVCdWZmZXIubGVuZ3RoPT09MD90aGlzLmVtaXQoYGRyYWluYCk6dGhpcy5mbHVzaCgpfSxsLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe3RoaXMucmVhZHlTdGF0ZSE9PWBjbG9zZWRgJiZ0aGlzLnRyYW5zcG9ydC53cml0YWJsZSYmIXRoaXMudXBncmFkaW5nJiZ0aGlzLndyaXRlQnVmZmVyLmxlbmd0aCYmKGkoYGZsdXNoaW5nICVkIHBhY2tldHMgaW4gc29ja2V0YCx0aGlzLndyaXRlQnVmZmVyLmxlbmd0aCksdGhpcy50cmFuc3BvcnQuc2VuZCh0aGlzLndyaXRlQnVmZmVyKSx0aGlzLnByZXZCdWZmZXJMZW49dGhpcy53cml0ZUJ1ZmZlci5sZW5ndGgsdGhpcy5lbWl0KGBmbHVzaGApKX0sbC5wcm90b3R5cGUud3JpdGU9bC5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMuc2VuZFBhY2tldChgbWVzc2FnZWAsZSx0LG4pLHRoaXN9LGwucHJvdG90eXBlLnNlbmRQYWNrZXQ9ZnVuY3Rpb24oZSx0LG4scil7aWYodHlwZW9mIHQ9PWBmdW5jdGlvbmAmJihyPXQsdD12b2lkIDApLHR5cGVvZiBuPT1gZnVuY3Rpb25gJiYocj1uLG49bnVsbCksISh0aGlzLnJlYWR5U3RhdGU9PT1gY2xvc2luZ2B8fHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zZWRgKSl7bnx8PXt9LG4uY29tcHJlc3M9ITEhPT1uLmNvbXByZXNzO3ZhciBpPXt0eXBlOmUsZGF0YTp0LG9wdGlvbnM6bn07dGhpcy5lbWl0KGBwYWNrZXRDcmVhdGVgLGkpLHRoaXMud3JpdGVCdWZmZXIucHVzaChpKSxyJiZ0aGlzLm9uY2UoYGZsdXNoYCxyKSx0aGlzLmZsdXNoKCl9fSxsLnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe2lmKHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuaW5nYHx8dGhpcy5yZWFkeVN0YXRlPT09YG9wZW5gKXt0aGlzLnJlYWR5U3RhdGU9YGNsb3NpbmdgO3ZhciBlPXRoaXM7dGhpcy53cml0ZUJ1ZmZlci5sZW5ndGg/dGhpcy5vbmNlKGBkcmFpbmAsZnVuY3Rpb24oKXt0aGlzLnVwZ3JhZGluZz9yKCk6dCgpfSk6dGhpcy51cGdyYWRpbmc/cigpOnQoKX1mdW5jdGlvbiB0KCl7ZS5vbkNsb3NlKGBmb3JjZWQgY2xvc2VgKSxpKGBzb2NrZXQgY2xvc2luZyAtIHRlbGxpbmcgdHJhbnNwb3J0IHRvIGNsb3NlYCksZS50cmFuc3BvcnQuY2xvc2UoKX1mdW5jdGlvbiBuKCl7ZS5yZW1vdmVMaXN0ZW5lcihgdXBncmFkZWAsbiksZS5yZW1vdmVMaXN0ZW5lcihgdXBncmFkZUVycm9yYCxuKSx0KCl9ZnVuY3Rpb24gcigpe2Uub25jZShgdXBncmFkZWAsbiksZS5vbmNlKGB1cGdyYWRlRXJyb3JgLG4pfXJldHVybiB0aGlzfSxsLnByb3RvdHlwZS5vbkVycm9yPWZ1bmN0aW9uKGUpe2koYHNvY2tldCBlcnJvciAlamAsZSksbC5wcmlvcldlYnNvY2tldFN1Y2Nlc3M9ITEsdGhpcy5lbWl0KGBlcnJvcmAsZSksdGhpcy5vbkNsb3NlKGB0cmFuc3BvcnQgZXJyb3JgLGUpfSxsLnByb3RvdHlwZS5vbkNsb3NlPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5yZWFkeVN0YXRlPT09YG9wZW5pbmdgfHx0aGlzLnJlYWR5U3RhdGU9PT1gb3BlbmB8fHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zaW5nYCl7aShgc29ja2V0IGNsb3NlIHdpdGggcmVhc29uOiAiJXMiYCxlKTt2YXIgbj10aGlzO2NsZWFyVGltZW91dCh0aGlzLnBpbmdJbnRlcnZhbFRpbWVyKSxjbGVhclRpbWVvdXQodGhpcy5waW5nVGltZW91dFRpbWVyKSx0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoYGNsb3NlYCksdGhpcy50cmFuc3BvcnQuY2xvc2UoKSx0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoKSx0aGlzLnJlYWR5U3RhdGU9YGNsb3NlZGAsdGhpcy5pZD1udWxsLHRoaXMuZW1pdChgY2xvc2VgLGUsdCksbi53cml0ZUJ1ZmZlcj1bXSxuLnByZXZCdWZmZXJMZW49MH19LGwucHJvdG90eXBlLmZpbHRlclVwZ3JhZGVzPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPTAscj1lLmxlbmd0aDtuPHI7bisrKX5hKHRoaXMudHJhbnNwb3J0cyxlW25dKSYmdC5wdXNoKGVbbl0pO3JldHVybiB0fX0pKSxkYz1zKCgoZSx0KT0+e3QuZXhwb3J0cz11YygpLHQuZXhwb3J0cy5wYXJzZXI9WnMoKX0pKSxmYz1zKCgoZSx0KT0+e3QhPT12b2lkIDAmJih0LmV4cG9ydHM9bik7ZnVuY3Rpb24gbihlKXtpZihlKXJldHVybiByKGUpfWZ1bmN0aW9uIHIoZSl7Zm9yKHZhciB0IGluIG4ucHJvdG90eXBlKWVbdF09bi5wcm90b3R5cGVbdF07cmV0dXJuIGV9bi5wcm90b3R5cGUub249bi5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzfHx7fSwodGhpcy5fY2FsbGJhY2tzW2AkYCtlXT10aGlzLl9jYWxsYmFja3NbYCRgK2VdfHxbXSkucHVzaCh0KSx0aGlzfSxuLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbigpe3RoaXMub2ZmKGUsbiksdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIG4uZm49dCx0aGlzLm9uKGUsbiksdGhpc30sbi5wcm90b3R5cGUub2ZmPW4ucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPW4ucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1uLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sYXJndW1lbnRzLmxlbmd0aD09MClyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXt9LHRoaXM7dmFyIG49dGhpcy5fY2FsbGJhY2tzW2AkYCtlXTtpZighbilyZXR1cm4gdGhpcztpZihhcmd1bWVudHMubGVuZ3RoPT0xKXJldHVybiBkZWxldGUgdGhpcy5fY2FsbGJhY2tzW2AkYCtlXSx0aGlzO2Zvcih2YXIgcixpPTA7aTxuLmxlbmd0aDtpKyspaWYocj1uW2ldLHI9PT10fHxyLmZuPT09dCl7bi5zcGxpY2UoaSwxKTticmVha31yZXR1cm4gdGhpc30sbi5wcm90b3R5cGUuZW1pdD1mdW5jdGlvbihlKXt0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzfHx7fTt2YXIgdD1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxuPXRoaXMuX2NhbGxiYWNrc1tgJGArZV07aWYobil7bj1uLnNsaWNlKDApO2Zvcih2YXIgcj0wLGk9bi5sZW5ndGg7cjxpOysrciluW3JdLmFwcGx5KHRoaXMsdCl9cmV0dXJuIHRoaXN9LG4ucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sdGhpcy5fY2FsbGJhY2tzW2AkYCtlXXx8W119LG4ucHJvdG90eXBlLmhhc0xpc3RlbmVycz1mdW5jdGlvbihlKXtyZXR1cm4hIXRoaXMubGlzdGVuZXJzKGUpLmxlbmd0aH19KSkscGM9cygoKGUsdCk9Pnt0LmV4cG9ydHM9bjtmdW5jdGlvbiBuKGUsdCl7dmFyIG49W107dHx8PTA7Zm9yKHZhciByPXR8fDA7cjxlLmxlbmd0aDtyKyspbltyLXRdPWVbcl07cmV0dXJuIG59fSkpLG1jPXMoKChlLHQpPT57dC5leHBvcnRzPW47ZnVuY3Rpb24gbihlLHQsbil7cmV0dXJuIGUub24odCxuKSx7ZGVzdHJveTpmdW5jdGlvbigpe2UucmVtb3ZlTGlzdGVuZXIodCxuKX19fX0pKSxoYz1zKCgoZSx0KT0+e3ZhciBuPVtdLnNsaWNlO3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKHR5cGVvZiB0PT1gc3RyaW5nYCYmKHQ9ZVt0XSksdHlwZW9mIHQhPWBmdW5jdGlvbmApdGhyb3cgRXJyb3IoYGJpbmQoKSByZXF1aXJlcyBhIGZ1bmN0aW9uYCk7dmFyIHI9bi5jYWxsKGFyZ3VtZW50cywyKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShlLHIuY29uY2F0KG4uY2FsbChhcmd1bWVudHMpKSl9fX0pKSxnYz1zKChlPT57ZS5lbmNvZGU9ZnVuY3Rpb24oZSl7dmFyIHQ9YGA7Zm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHQubGVuZ3RoJiYodCs9YCZgKSx0Kz1lbmNvZGVVUklDb21wb25lbnQobikrYD1gK2VuY29kZVVSSUNvbXBvbmVudChlW25dKSk7cmV0dXJuIHR9LGUuZGVjb2RlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD17fSxuPWUuc3BsaXQoYCZgKSxyPTAsaT1uLmxlbmd0aDtyPGk7cisrKXt2YXIgYT1uW3JdLnNwbGl0KGA9YCk7dFtkZWNvZGVVUklDb21wb25lbnQoYVswXSldPWRlY29kZVVSSUNvbXBvbmVudChhWzFdKX1yZXR1cm4gdH19KSksX2M9cygoKGUsdCk9Pnt2YXIgbj1CcygpLHI9ZmMoKSxpPXBjKCksYT1tYygpLG89aGMoKSxzPWpzKCkoYHNvY2tldC5pby1jbGllbnQ6c29ja2V0YCksYz1nYygpLGw9R3MoKTt0LmV4cG9ydHM9ZT1mO3ZhciB1PXtjb25uZWN0OjEsY29ubmVjdF9lcnJvcjoxLGNvbm5lY3RfdGltZW91dDoxLGNvbm5lY3Rpbmc6MSxkaXNjb25uZWN0OjEsZXJyb3I6MSxyZWNvbm5lY3Q6MSxyZWNvbm5lY3RfYXR0ZW1wdDoxLHJlY29ubmVjdF9mYWlsZWQ6MSxyZWNvbm5lY3RfZXJyb3I6MSxyZWNvbm5lY3Rpbmc6MSxwaW5nOjEscG9uZzoxfSxkPXIucHJvdG90eXBlLmVtaXQ7ZnVuY3Rpb24gZihlLHQsbil7dGhpcy5pbz1lLHRoaXMubnNwPXQsdGhpcy5qc29uPXRoaXMsdGhpcy5pZHM9MCx0aGlzLmFja3M9e30sdGhpcy5yZWNlaXZlQnVmZmVyPVtdLHRoaXMuc2VuZEJ1ZmZlcj1bXSx0aGlzLmNvbm5lY3RlZD0hMSx0aGlzLmRpc2Nvbm5lY3RlZD0hMCx0aGlzLmZsYWdzPXt9LG4mJm4ucXVlcnkmJih0aGlzLnF1ZXJ5PW4ucXVlcnkpLHRoaXMuaW8uYXV0b0Nvbm5lY3QmJnRoaXMub3BlbigpfXIoZi5wcm90b3R5cGUpLGYucHJvdG90eXBlLnN1YkV2ZW50cz1mdW5jdGlvbigpe2lmKCF0aGlzLnN1YnMpe3ZhciBlPXRoaXMuaW87dGhpcy5zdWJzPVthKGUsYG9wZW5gLG8odGhpcyxgb25vcGVuYCkpLGEoZSxgcGFja2V0YCxvKHRoaXMsYG9ucGFja2V0YCkpLGEoZSxgY2xvc2VgLG8odGhpcyxgb25jbG9zZWApKV19fSxmLnByb3RvdHlwZS5vcGVuPWYucHJvdG90eXBlLmNvbm5lY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25uZWN0ZWQ/dGhpczoodGhpcy5zdWJFdmVudHMoKSx0aGlzLmlvLm9wZW4oKSx0aGlzLmlvLnJlYWR5U3RhdGU9PT1gb3BlbmAmJnRoaXMub25vcGVuKCksdGhpcy5lbWl0KGBjb25uZWN0aW5nYCksdGhpcyl9LGYucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oKXt2YXIgZT1pKGFyZ3VtZW50cyk7cmV0dXJuIGUudW5zaGlmdChgbWVzc2FnZWApLHRoaXMuZW1pdC5hcHBseSh0aGlzLGUpLHRoaXN9LGYucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24oZSl7aWYodS5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gZC5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpczt2YXIgdD1pKGFyZ3VtZW50cykscj17dHlwZToodGhpcy5mbGFncy5iaW5hcnk9PT12b2lkIDA/bCh0KTp0aGlzLmZsYWdzLmJpbmFyeSk/bi5CSU5BUllfRVZFTlQ6bi5FVkVOVCxkYXRhOnR9O3JldHVybiByLm9wdGlvbnM9e30sci5vcHRpb25zLmNvbXByZXNzPSF0aGlzLmZsYWdzfHwhMSE9PXRoaXMuZmxhZ3MuY29tcHJlc3MsdHlwZW9mIHRbdC5sZW5ndGgtMV09PWBmdW5jdGlvbmAmJihzKGBlbWl0dGluZyBwYWNrZXQgd2l0aCBhY2sgaWQgJWRgLHRoaXMuaWRzKSx0aGlzLmFja3NbdGhpcy5pZHNdPXQucG9wKCksci5pZD10aGlzLmlkcysrKSx0aGlzLmNvbm5lY3RlZD90aGlzLnBhY2tldChyKTp0aGlzLnNlbmRCdWZmZXIucHVzaChyKSx0aGlzLmZsYWdzPXt9LHRoaXN9LGYucHJvdG90eXBlLnBhY2tldD1mdW5jdGlvbihlKXtlLm5zcD10aGlzLm5zcCx0aGlzLmlvLnBhY2tldChlKX0sZi5wcm90b3R5cGUub25vcGVuPWZ1bmN0aW9uKCl7aWYocyhgdHJhbnNwb3J0IGlzIG9wZW4gLSBjb25uZWN0aW5nYCksdGhpcy5uc3AhPT1gL2ApaWYodGhpcy5xdWVyeSl7dmFyIGU9dHlwZW9mIHRoaXMucXVlcnk9PWBvYmplY3RgP2MuZW5jb2RlKHRoaXMucXVlcnkpOnRoaXMucXVlcnk7cyhgc2VuZGluZyBjb25uZWN0IHBhY2tldCB3aXRoIHF1ZXJ5ICVzYCxlKSx0aGlzLnBhY2tldCh7dHlwZTpuLkNPTk5FQ1QscXVlcnk6ZX0pfWVsc2UgdGhpcy5wYWNrZXQoe3R5cGU6bi5DT05ORUNUfSl9LGYucHJvdG90eXBlLm9uY2xvc2U9ZnVuY3Rpb24oZSl7cyhgY2xvc2UgKCVzKWAsZSksdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5kaXNjb25uZWN0ZWQ9ITAsZGVsZXRlIHRoaXMuaWQsdGhpcy5lbWl0KGBkaXNjb25uZWN0YCxlKX0sZi5wcm90b3R5cGUub25wYWNrZXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5uc3A9PT10aGlzLm5zcCxyPWUudHlwZT09PW4uRVJST1ImJmUubnNwPT09YC9gO2lmKCEoIXQmJiFyKSlzd2l0Y2goZS50eXBlKXtjYXNlIG4uQ09OTkVDVDp0aGlzLm9uY29ubmVjdCgpO2JyZWFrO2Nhc2Ugbi5FVkVOVDp0aGlzLm9uZXZlbnQoZSk7YnJlYWs7Y2FzZSBuLkJJTkFSWV9FVkVOVDp0aGlzLm9uZXZlbnQoZSk7YnJlYWs7Y2FzZSBuLkFDSzp0aGlzLm9uYWNrKGUpO2JyZWFrO2Nhc2Ugbi5CSU5BUllfQUNLOnRoaXMub25hY2soZSk7YnJlYWs7Y2FzZSBuLkRJU0NPTk5FQ1Q6dGhpcy5vbmRpc2Nvbm5lY3QoKTticmVhaztjYXNlIG4uRVJST1I6dGhpcy5lbWl0KGBlcnJvcmAsZS5kYXRhKTticmVha319LGYucHJvdG90eXBlLm9uZXZlbnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5kYXRhfHxbXTtzKGBlbWl0dGluZyBldmVudCAlamAsdCksZS5pZCE9bnVsbCYmKHMoYGF0dGFjaGluZyBhY2sgY2FsbGJhY2sgdG8gZXZlbnRgKSx0LnB1c2godGhpcy5hY2soZS5pZCkpKSx0aGlzLmNvbm5lY3RlZD9kLmFwcGx5KHRoaXMsdCk6dGhpcy5yZWNlaXZlQnVmZmVyLnB1c2godCl9LGYucHJvdG90eXBlLmFjaz1mdW5jdGlvbihlKXt2YXIgdD10aGlzLHI9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIXIpe3I9ITA7dmFyIGE9aShhcmd1bWVudHMpO3MoYHNlbmRpbmcgYWNrICVqYCxhKSx0LnBhY2tldCh7dHlwZTpsKGEpP24uQklOQVJZX0FDSzpuLkFDSyxpZDplLGRhdGE6YX0pfX19LGYucHJvdG90eXBlLm9uYWNrPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuYWNrc1tlLmlkXTt0eXBlb2YgdD09YGZ1bmN0aW9uYD8ocyhgY2FsbGluZyBhY2sgJXMgd2l0aCAlamAsZS5pZCxlLmRhdGEpLHQuYXBwbHkodGhpcyxlLmRhdGEpLGRlbGV0ZSB0aGlzLmFja3NbZS5pZF0pOnMoYGJhZCBhY2sgJXNgLGUuaWQpfSxmLnByb3RvdHlwZS5vbmNvbm5lY3Q9ZnVuY3Rpb24oKXt0aGlzLmNvbm5lY3RlZD0hMCx0aGlzLmRpc2Nvbm5lY3RlZD0hMSx0aGlzLmVtaXQoYGNvbm5lY3RgKSx0aGlzLmVtaXRCdWZmZXJlZCgpfSxmLnByb3RvdHlwZS5lbWl0QnVmZmVyZWQ9ZnVuY3Rpb24oKXt2YXIgZTtmb3IoZT0wO2U8dGhpcy5yZWNlaXZlQnVmZmVyLmxlbmd0aDtlKyspZC5hcHBseSh0aGlzLHRoaXMucmVjZWl2ZUJ1ZmZlcltlXSk7Zm9yKHRoaXMucmVjZWl2ZUJ1ZmZlcj1bXSxlPTA7ZTx0aGlzLnNlbmRCdWZmZXIubGVuZ3RoO2UrKyl0aGlzLnBhY2tldCh0aGlzLnNlbmRCdWZmZXJbZV0pO3RoaXMuc2VuZEJ1ZmZlcj1bXX0sZi5wcm90b3R5cGUub25kaXNjb25uZWN0PWZ1bmN0aW9uKCl7cyhgc2VydmVyIGRpc2Nvbm5lY3QgKCVzKWAsdGhpcy5uc3ApLHRoaXMuZGVzdHJveSgpLHRoaXMub25jbG9zZShgaW8gc2VydmVyIGRpc2Nvbm5lY3RgKX0sZi5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe2lmKHRoaXMuc3Vicyl7Zm9yKHZhciBlPTA7ZTx0aGlzLnN1YnMubGVuZ3RoO2UrKyl0aGlzLnN1YnNbZV0uZGVzdHJveSgpO3RoaXMuc3Vicz1udWxsfXRoaXMuaW8uZGVzdHJveSh0aGlzKX0sZi5wcm90b3R5cGUuY2xvc2U9Zi5wcm90b3R5cGUuZGlzY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbm5lY3RlZCYmKHMoYHBlcmZvcm1pbmcgZGlzY29ubmVjdCAoJXMpYCx0aGlzLm5zcCksdGhpcy5wYWNrZXQoe3R5cGU6bi5ESVNDT05ORUNUfSkpLHRoaXMuZGVzdHJveSgpLHRoaXMuY29ubmVjdGVkJiZ0aGlzLm9uY2xvc2UoYGlvIGNsaWVudCBkaXNjb25uZWN0YCksdGhpc30sZi5wcm90b3R5cGUuY29tcHJlc3M9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZmxhZ3MuY29tcHJlc3M9ZSx0aGlzfSxmLnByb3RvdHlwZS5iaW5hcnk9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZmxhZ3MuYmluYXJ5PWUsdGhpc319KSksdmM9cygoKGUsdCk9Pnt0LmV4cG9ydHM9bjtmdW5jdGlvbiBuKGUpe2V8fD17fSx0aGlzLm1zPWUubWlufHwxMDAsdGhpcy5tYXg9ZS5tYXh8fDFlNCx0aGlzLmZhY3Rvcj1lLmZhY3Rvcnx8Mix0aGlzLmppdHRlcj1lLmppdHRlcj4wJiZlLmppdHRlcjw9MT9lLmppdHRlcjowLHRoaXMuYXR0ZW1wdHM9MH1uLnByb3RvdHlwZS5kdXJhdGlvbj1mdW5jdGlvbigpe3ZhciBlPXRoaXMubXMqdGhpcy5mYWN0b3IqKisgdGhpcy5hdHRlbXB0cysrO2lmKHRoaXMuaml0dGVyKXt2YXIgdD1NYXRoLnJhbmRvbSgpLG49TWF0aC5mbG9vcih0KnRoaXMuaml0dGVyKmUpO2U9TWF0aC5mbG9vcih0KjEwKSYxP2UrbjplLW59cmV0dXJuIE1hdGgubWluKGUsdGhpcy5tYXgpfDB9LG4ucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5hdHRlbXB0cz0wfSxuLnByb3RvdHlwZS5zZXRNaW49ZnVuY3Rpb24oZSl7dGhpcy5tcz1lfSxuLnByb3RvdHlwZS5zZXRNYXg9ZnVuY3Rpb24oZSl7dGhpcy5tYXg9ZX0sbi5wcm90b3R5cGUuc2V0Sml0dGVyPWZ1bmN0aW9uKGUpe3RoaXMuaml0dGVyPWV9fSkpLHljPXMoKChlLHQpPT57dmFyIG49ZGMoKSxyPV9jKCksaT1mYygpLGE9QnMoKSxvPW1jKCkscz1oYygpLGM9anMoKShgc29ja2V0LmlvLWNsaWVudDptYW5hZ2VyYCksbD1jYygpLHU9dmMoKSxkPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dC5leHBvcnRzPWY7ZnVuY3Rpb24gZihlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGYpKXJldHVybiBuZXcgZihlLHQpO2UmJnR5cGVvZiBlPT1gb2JqZWN0YCYmKHQ9ZSxlPXZvaWQgMCksdHx8PXt9LHQucGF0aD10LnBhdGh8fGAvc29ja2V0LmlvYCx0aGlzLm5zcHM9e30sdGhpcy5zdWJzPVtdLHRoaXMub3B0cz10LHRoaXMucmVjb25uZWN0aW9uKHQucmVjb25uZWN0aW9uIT09ITEpLHRoaXMucmVjb25uZWN0aW9uQXR0ZW1wdHModC5yZWNvbm5lY3Rpb25BdHRlbXB0c3x8MS8wKSx0aGlzLnJlY29ubmVjdGlvbkRlbGF5KHQucmVjb25uZWN0aW9uRGVsYXl8fDFlMyksdGhpcy5yZWNvbm5lY3Rpb25EZWxheU1heCh0LnJlY29ubmVjdGlvbkRlbGF5TWF4fHw1ZTMpLHRoaXMucmFuZG9taXphdGlvbkZhY3Rvcih0LnJhbmRvbWl6YXRpb25GYWN0b3J8fC41KSx0aGlzLmJhY2tvZmY9bmV3IHUoe21pbjp0aGlzLnJlY29ubmVjdGlvbkRlbGF5KCksbWF4OnRoaXMucmVjb25uZWN0aW9uRGVsYXlNYXgoKSxqaXR0ZXI6dGhpcy5yYW5kb21pemF0aW9uRmFjdG9yKCl9KSx0aGlzLnRpbWVvdXQodC50aW1lb3V0PT1udWxsPzJlNDp0LnRpbWVvdXQpLHRoaXMucmVhZHlTdGF0ZT1gY2xvc2VkYCx0aGlzLnVyaT1lLHRoaXMuY29ubmVjdGluZz1bXSx0aGlzLmxhc3RQaW5nPW51bGwsdGhpcy5lbmNvZGluZz0hMSx0aGlzLnBhY2tldEJ1ZmZlcj1bXTt2YXIgbj10LnBhcnNlcnx8YTt0aGlzLmVuY29kZXI9bmV3IG4uRW5jb2Rlcix0aGlzLmRlY29kZXI9bmV3IG4uRGVjb2Rlcix0aGlzLmF1dG9Db25uZWN0PXQuYXV0b0Nvbm5lY3QhPT0hMSx0aGlzLmF1dG9Db25uZWN0JiZ0aGlzLm9wZW4oKX1mLnByb3RvdHlwZS5lbWl0QWxsPWZ1bmN0aW9uKCl7Zm9yKHZhciBlIGluIHRoaXMuZW1pdC5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5uc3BzKWQuY2FsbCh0aGlzLm5zcHMsZSkmJnRoaXMubnNwc1tlXS5lbWl0LmFwcGx5KHRoaXMubnNwc1tlXSxhcmd1bWVudHMpfSxmLnByb3RvdHlwZS51cGRhdGVTb2NrZXRJZHM9ZnVuY3Rpb24oKXtmb3IodmFyIGUgaW4gdGhpcy5uc3BzKWQuY2FsbCh0aGlzLm5zcHMsZSkmJih0aGlzLm5zcHNbZV0uaWQ9dGhpcy5nZW5lcmF0ZUlkKGUpKX0sZi5wcm90b3R5cGUuZ2VuZXJhdGVJZD1mdW5jdGlvbihlKXtyZXR1cm4oZT09PWAvYD9gYDplK2AjYCkrdGhpcy5lbmdpbmUuaWR9LGkoZi5wcm90b3R5cGUpLGYucHJvdG90eXBlLnJlY29ubmVjdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5fcmVjb25uZWN0aW9uPSEhZSx0aGlzKTp0aGlzLl9yZWNvbm5lY3Rpb259LGYucHJvdG90eXBlLnJlY29ubmVjdGlvbkF0dGVtcHRzPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl9yZWNvbm5lY3Rpb25BdHRlbXB0cz1lLHRoaXMpOnRoaXMuX3JlY29ubmVjdGlvbkF0dGVtcHRzfSxmLnByb3RvdHlwZS5yZWNvbm5lY3Rpb25EZWxheT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5fcmVjb25uZWN0aW9uRGVsYXk9ZSx0aGlzLmJhY2tvZmYmJnRoaXMuYmFja29mZi5zZXRNaW4oZSksdGhpcyk6dGhpcy5fcmVjb25uZWN0aW9uRGVsYXl9LGYucHJvdG90eXBlLnJhbmRvbWl6YXRpb25GYWN0b3I9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3JhbmRvbWl6YXRpb25GYWN0b3I9ZSx0aGlzLmJhY2tvZmYmJnRoaXMuYmFja29mZi5zZXRKaXR0ZXIoZSksdGhpcyk6dGhpcy5fcmFuZG9taXphdGlvbkZhY3Rvcn0sZi5wcm90b3R5cGUucmVjb25uZWN0aW9uRGVsYXlNYXg9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3JlY29ubmVjdGlvbkRlbGF5TWF4PWUsdGhpcy5iYWNrb2ZmJiZ0aGlzLmJhY2tvZmYuc2V0TWF4KGUpLHRoaXMpOnRoaXMuX3JlY29ubmVjdGlvbkRlbGF5TWF4fSxmLnByb3RvdHlwZS50aW1lb3V0PWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl90aW1lb3V0PWUsdGhpcyk6dGhpcy5fdGltZW91dH0sZi5wcm90b3R5cGUubWF5YmVSZWNvbm5lY3RPbk9wZW49ZnVuY3Rpb24oKXshdGhpcy5yZWNvbm5lY3RpbmcmJnRoaXMuX3JlY29ubmVjdGlvbiYmdGhpcy5iYWNrb2ZmLmF0dGVtcHRzPT09MCYmdGhpcy5yZWNvbm5lY3QoKX0sZi5wcm90b3R5cGUub3Blbj1mLnByb3RvdHlwZS5jb25uZWN0PWZ1bmN0aW9uKGUsdCl7aWYoYyhgcmVhZHlTdGF0ZSAlc2AsdGhpcy5yZWFkeVN0YXRlKSx+dGhpcy5yZWFkeVN0YXRlLmluZGV4T2YoYG9wZW5gKSlyZXR1cm4gdGhpcztjKGBvcGVuaW5nICVzYCx0aGlzLnVyaSksdGhpcy5lbmdpbmU9bih0aGlzLnVyaSx0aGlzLm9wdHMpO3ZhciByPXRoaXMuZW5naW5lLGk9dGhpczt0aGlzLnJlYWR5U3RhdGU9YG9wZW5pbmdgLHRoaXMuc2tpcFJlY29ubmVjdD0hMTt2YXIgYT1vKHIsYG9wZW5gLGZ1bmN0aW9uKCl7aS5vbm9wZW4oKSxlJiZlKCl9KSxzPW8ocixgZXJyb3JgLGZ1bmN0aW9uKHQpe2lmKGMoYGNvbm5lY3RfZXJyb3JgKSxpLmNsZWFudXAoKSxpLnJlYWR5U3RhdGU9YGNsb3NlZGAsaS5lbWl0QWxsKGBjb25uZWN0X2Vycm9yYCx0KSxlKXt2YXIgbj1FcnJvcihgQ29ubmVjdGlvbiBlcnJvcmApO24uZGF0YT10LGUobil9ZWxzZSBpLm1heWJlUmVjb25uZWN0T25PcGVuKCl9KTtpZighMSE9PXRoaXMuX3RpbWVvdXQpe3ZhciBsPXRoaXMuX3RpbWVvdXQ7YyhgY29ubmVjdCBhdHRlbXB0IHdpbGwgdGltZW91dCBhZnRlciAlZGAsbCk7dmFyIHU9c2V0VGltZW91dChmdW5jdGlvbigpe2MoYGNvbm5lY3QgYXR0ZW1wdCB0aW1lZCBvdXQgYWZ0ZXIgJWRgLGwpLGEuZGVzdHJveSgpLHIuY2xvc2UoKSxyLmVtaXQoYGVycm9yYCxgdGltZW91dGApLGkuZW1pdEFsbChgY29ubmVjdF90aW1lb3V0YCxsKX0sbCk7dGhpcy5zdWJzLnB1c2goe2Rlc3Ryb3k6ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQodSl9fSl9cmV0dXJuIHRoaXMuc3Vicy5wdXNoKGEpLHRoaXMuc3Vicy5wdXNoKHMpLHRoaXN9LGYucHJvdG90eXBlLm9ub3Blbj1mdW5jdGlvbigpe2MoYG9wZW5gKSx0aGlzLmNsZWFudXAoKSx0aGlzLnJlYWR5U3RhdGU9YG9wZW5gLHRoaXMuZW1pdChgb3BlbmApO3ZhciBlPXRoaXMuZW5naW5lO3RoaXMuc3Vicy5wdXNoKG8oZSxgZGF0YWAscyh0aGlzLGBvbmRhdGFgKSkpLHRoaXMuc3Vicy5wdXNoKG8oZSxgcGluZ2Ascyh0aGlzLGBvbnBpbmdgKSkpLHRoaXMuc3Vicy5wdXNoKG8oZSxgcG9uZ2Ascyh0aGlzLGBvbnBvbmdgKSkpLHRoaXMuc3Vicy5wdXNoKG8oZSxgZXJyb3JgLHModGhpcyxgb25lcnJvcmApKSksdGhpcy5zdWJzLnB1c2gobyhlLGBjbG9zZWAscyh0aGlzLGBvbmNsb3NlYCkpKSx0aGlzLnN1YnMucHVzaChvKHRoaXMuZGVjb2RlcixgZGVjb2RlZGAscyh0aGlzLGBvbmRlY29kZWRgKSkpfSxmLnByb3RvdHlwZS5vbnBpbmc9ZnVuY3Rpb24oKXt0aGlzLmxhc3RQaW5nPW5ldyBEYXRlLHRoaXMuZW1pdEFsbChgcGluZ2ApfSxmLnByb3RvdHlwZS5vbnBvbmc9ZnVuY3Rpb24oKXt0aGlzLmVtaXRBbGwoYHBvbmdgLG5ldyBEYXRlLXRoaXMubGFzdFBpbmcpfSxmLnByb3RvdHlwZS5vbmRhdGE9ZnVuY3Rpb24oZSl7dGhpcy5kZWNvZGVyLmFkZChlKX0sZi5wcm90b3R5cGUub25kZWNvZGVkPWZ1bmN0aW9uKGUpe3RoaXMuZW1pdChgcGFja2V0YCxlKX0sZi5wcm90b3R5cGUub25lcnJvcj1mdW5jdGlvbihlKXtjKGBlcnJvcmAsZSksdGhpcy5lbWl0QWxsKGBlcnJvcmAsZSl9LGYucHJvdG90eXBlLnNvY2tldD1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMubnNwc1tlXTtpZighbil7bj1uZXcgcih0aGlzLGUsdCksdGhpcy5uc3BzW2VdPW47dmFyIGk9dGhpcztuLm9uKGBjb25uZWN0aW5nYCxhKSxuLm9uKGBjb25uZWN0YCxmdW5jdGlvbigpe24uaWQ9aS5nZW5lcmF0ZUlkKGUpfSksdGhpcy5hdXRvQ29ubmVjdCYmYSgpfWZ1bmN0aW9uIGEoKXt+bChpLmNvbm5lY3Rpbmcsbil8fGkuY29ubmVjdGluZy5wdXNoKG4pfXJldHVybiBufSxmLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKGUpe3ZhciB0PWwodGhpcy5jb25uZWN0aW5nLGUpO350JiZ0aGlzLmNvbm5lY3Rpbmcuc3BsaWNlKHQsMSksIXRoaXMuY29ubmVjdGluZy5sZW5ndGgmJnRoaXMuY2xvc2UoKX0sZi5wcm90b3R5cGUucGFja2V0PWZ1bmN0aW9uKGUpe2MoYHdyaXRpbmcgcGFja2V0ICVqYCxlKTt2YXIgdD10aGlzO2UucXVlcnkmJmUudHlwZT09PTAmJihlLm5zcCs9YD9gK2UucXVlcnkpLHQuZW5jb2Rpbmc/dC5wYWNrZXRCdWZmZXIucHVzaChlKToodC5lbmNvZGluZz0hMCx0aGlzLmVuY29kZXIuZW5jb2RlKGUsZnVuY3Rpb24obil7Zm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspdC5lbmdpbmUud3JpdGUobltyXSxlLm9wdGlvbnMpO3QuZW5jb2Rpbmc9ITEsdC5wcm9jZXNzUGFja2V0UXVldWUoKX0pKX0sZi5wcm90b3R5cGUucHJvY2Vzc1BhY2tldFF1ZXVlPWZ1bmN0aW9uKCl7aWYodGhpcy5wYWNrZXRCdWZmZXIubGVuZ3RoPjAmJiF0aGlzLmVuY29kaW5nKXt2YXIgZT10aGlzLnBhY2tldEJ1ZmZlci5zaGlmdCgpO3RoaXMucGFja2V0KGUpfX0sZi5wcm90b3R5cGUuY2xlYW51cD1mdW5jdGlvbigpe2MoYGNsZWFudXBgKTtmb3IodmFyIGU9dGhpcy5zdWJzLmxlbmd0aCx0PTA7dDxlO3QrKyl0aGlzLnN1YnMuc2hpZnQoKS5kZXN0cm95KCk7dGhpcy5wYWNrZXRCdWZmZXI9W10sdGhpcy5lbmNvZGluZz0hMSx0aGlzLmxhc3RQaW5nPW51bGwsdGhpcy5kZWNvZGVyLmRlc3Ryb3koKX0sZi5wcm90b3R5cGUuY2xvc2U9Zi5wcm90b3R5cGUuZGlzY29ubmVjdD1mdW5jdGlvbigpe2MoYGRpc2Nvbm5lY3RgKSx0aGlzLnNraXBSZWNvbm5lY3Q9ITAsdGhpcy5yZWNvbm5lY3Rpbmc9ITEsdGhpcy5yZWFkeVN0YXRlPT09YG9wZW5pbmdgJiZ0aGlzLmNsZWFudXAoKSx0aGlzLmJhY2tvZmYucmVzZXQoKSx0aGlzLnJlYWR5U3RhdGU9YGNsb3NlZGAsdGhpcy5lbmdpbmUmJnRoaXMuZW5naW5lLmNsb3NlKCl9LGYucHJvdG90eXBlLm9uY2xvc2U9ZnVuY3Rpb24oZSl7Yyhgb25jbG9zZWApLHRoaXMuY2xlYW51cCgpLHRoaXMuYmFja29mZi5yZXNldCgpLHRoaXMucmVhZHlTdGF0ZT1gY2xvc2VkYCx0aGlzLmVtaXQoYGNsb3NlYCxlKSx0aGlzLl9yZWNvbm5lY3Rpb24mJiF0aGlzLnNraXBSZWNvbm5lY3QmJnRoaXMucmVjb25uZWN0KCl9LGYucHJvdG90eXBlLnJlY29ubmVjdD1mdW5jdGlvbigpe2lmKHRoaXMucmVjb25uZWN0aW5nfHx0aGlzLnNraXBSZWNvbm5lY3QpcmV0dXJuIHRoaXM7dmFyIGU9dGhpcztpZih0aGlzLmJhY2tvZmYuYXR0ZW1wdHM+PXRoaXMuX3JlY29ubmVjdGlvbkF0dGVtcHRzKWMoYHJlY29ubmVjdCBmYWlsZWRgKSx0aGlzLmJhY2tvZmYucmVzZXQoKSx0aGlzLmVtaXRBbGwoYHJlY29ubmVjdF9mYWlsZWRgKSx0aGlzLnJlY29ubmVjdGluZz0hMTtlbHNle3ZhciB0PXRoaXMuYmFja29mZi5kdXJhdGlvbigpO2MoYHdpbGwgd2FpdCAlZG1zIGJlZm9yZSByZWNvbm5lY3QgYXR0ZW1wdGAsdCksdGhpcy5yZWNvbm5lY3Rpbmc9ITA7dmFyIG49c2V0VGltZW91dChmdW5jdGlvbigpe2Uuc2tpcFJlY29ubmVjdHx8KGMoYGF0dGVtcHRpbmcgcmVjb25uZWN0YCksZS5lbWl0QWxsKGByZWNvbm5lY3RfYXR0ZW1wdGAsZS5iYWNrb2ZmLmF0dGVtcHRzKSxlLmVtaXRBbGwoYHJlY29ubmVjdGluZ2AsZS5iYWNrb2ZmLmF0dGVtcHRzKSwhZS5za2lwUmVjb25uZWN0JiZlLm9wZW4oZnVuY3Rpb24odCl7dD8oYyhgcmVjb25uZWN0IGF0dGVtcHQgZXJyb3JgKSxlLnJlY29ubmVjdGluZz0hMSxlLnJlY29ubmVjdCgpLGUuZW1pdEFsbChgcmVjb25uZWN0X2Vycm9yYCx0LmRhdGEpKTooYyhgcmVjb25uZWN0IHN1Y2Nlc3NgKSxlLm9ucmVjb25uZWN0KCkpfSkpfSx0KTt0aGlzLnN1YnMucHVzaCh7ZGVzdHJveTpmdW5jdGlvbigpe2NsZWFyVGltZW91dChuKX19KX19LGYucHJvdG90eXBlLm9ucmVjb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5iYWNrb2ZmLmF0dGVtcHRzO3RoaXMucmVjb25uZWN0aW5nPSExLHRoaXMuYmFja29mZi5yZXNldCgpLHRoaXMudXBkYXRlU29ja2V0SWRzKCksdGhpcy5lbWl0QWxsKGByZWNvbm5lY3RgLGUpfX0pKSxiYz1zKCgoZSx0KT0+e3ZhciBuPU1zKCkscj1CcygpLGk9eWMoKSxhPWpzKCkoYHNvY2tldC5pby1jbGllbnRgKTt0LmV4cG9ydHM9ZT1zO3ZhciBvPWUubWFuYWdlcnM9e307ZnVuY3Rpb24gcyhlLHQpe3R5cGVvZiBlPT1gb2JqZWN0YCYmKHQ9ZSxlPXZvaWQgMCksdHx8PXt9O3ZhciByPW4oZSkscz1yLnNvdXJjZSxjPXIuaWQsbD1yLnBhdGgsdT1vW2NdJiZsIGluIG9bY10ubnNwcyxkPXQuZm9yY2VOZXd8fHRbYGZvcmNlIG5ldyBjb25uZWN0aW9uYF18fCExPT09dC5tdWx0aXBsZXh8fHUsZjtyZXR1cm4gZD8oYShgaWdub3Jpbmcgc29ja2V0IGNhY2hlIGZvciAlc2AscyksZj1pKHMsdCkpOihvW2NdfHwoYShgbmV3IGlvIGluc3RhbmNlIGZvciAlc2Ascyksb1tjXT1pKHMsdCkpLGY9b1tjXSksci5xdWVyeSYmIXQucXVlcnkmJih0LnF1ZXJ5PXIucXVlcnkpLGYuc29ja2V0KHIucGF0aCx0KX1lLnByb3RvY29sPXIucHJvdG9jb2wsZS5jb25uZWN0PXMsZS5NYW5hZ2VyPXljKCksZS5Tb2NrZXQ9X2MoKX0pKSx4Yz1jKHtkZWZhdWx0OigpPT5TY30pO2Z1bmN0aW9uIFNjKGUsdCl7cmV0dXJuIHR8fD17fSxuZXcgUHJvbWlzZShmdW5jdGlvbihuLHIpe3ZhciBpPW5ldyBYTUxIdHRwUmVxdWVzdCxhPVtdLG89W10scz17fSxjPWZ1bmN0aW9uKCl7cmV0dXJue29rOihpLnN0YXR1cy8xMDB8MCk9PTIsc3RhdHVzVGV4dDppLnN0YXR1c1RleHQsc3RhdHVzOmkuc3RhdHVzLHVybDppLnJlc3BvbnNlVVJMLHRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGkucmVzcG9uc2VUZXh0KX0sanNvbjpmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlc29sdmUoaS5yZXNwb25zZVRleHQpLnRoZW4oSlNPTi5wYXJzZSl9LGJsb2I6ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5ldyBCbG9iKFtpLnJlc3BvbnNlXSkpfSxjbG9uZTpjLGhlYWRlcnM6e2tleXM6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sZW50cmllczpmdW5jdGlvbigpe3JldHVybiBvfSxnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHNbZS50b0xvd2VyQ2FzZSgpXX0saGFzOmZ1bmN0aW9uKGUpe3JldHVybiBlLnRvTG93ZXJDYXNlKClpbiBzfX19fTtmb3IodmFyIGwgaW4gaS5vcGVuKHQubWV0aG9kfHxgZ2V0YCxlLCEwKSxpLm9ubG9hZD1mdW5jdGlvbigpe2kuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkucmVwbGFjZSgvXiguKj8pOlteXFNcbl0qKFtcc1xTXSo/KSQvZ20sZnVuY3Rpb24oZSx0LG4pe2EucHVzaCh0PXQudG9Mb3dlckNhc2UoKSksby5wdXNoKFt0LG5dKSxzW3RdPXNbdF0/c1t0XStgLGArbjpufSksbihjKCkpfSxpLm9uZXJyb3I9cixpLndpdGhDcmVkZW50aWFscz10LmNyZWRlbnRpYWxzPT1gaW5jbHVkZWAsdC5oZWFkZXJzKWkuc2V0UmVxdWVzdEhlYWRlcihsLHQuaGVhZGVyc1tsXSk7aS5zZW5kKHQuYm9keXx8bnVsbCl9KX12YXIgQ2M9bygoKCk9Pnt9KSksd2M9cygoKGUsdCk9Pnt0LmV4cG9ydHM9c2VsZi5mZXRjaHx8KHNlbGYuZmV0Y2g9KENjKCksZCh4YykpLmRlZmF1bHR8fChDYygpLGQoeGMpKSl9KSksVGM9cygoZT0+e3ZhciB0PWUmJmUuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLmZldGNoQmFsYW5jZXJDb25maWc9dm9pZCAwO3ZhciBuPURzKCkscj10KHdjKCkpO2UuZmV0Y2hCYWxhbmNlckNvbmZpZz1mdW5jdGlvbihlKXtyZXR1cm4oMCxuLmRlYnVnKShgdXNpbmcgYmFsYW5jZXIgJHtlfSB0byBnZXQgd2Vic29ja2V0IHVybGApLCgwLHIuZGVmYXVsdCkoYCR7ZX1gKS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGU/LnVybCYmZT8udG9rZW4/KCgwLG4uZGVidWcpKGBiYWxhbmNlciByZXR1cm5zIHVybCAke2U/LnVybH0gYW5kIHRva2VuICR7ZT8udG9rZW59YCksZSk6KCgwLG4uZGVidWcpKGBiYWxhbmNlciByZXR1cm5zIGludmFsaWQgcmVzcG9uc2VgKSxudWxsKX0pLmNhdGNoKGZ1bmN0aW9uKGUpe3JldHVybigwLG4uZGVidWcpKGBmYWlsZWQgdG8gcmVzb2x2ZSB1cmw6ICR7ZS5tZXNzYWdlfWApLG51bGx9KX19KSksRWM9cygoZT0+e3ZhciB0PWUmJmUuX19leHRlbmRzfHwoZnVuY3Rpb24oKXt2YXIgZT1mdW5jdGlvbih0LG4pe3JldHVybiBlPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihlLHQpe2UuX19wcm90b19fPXR9fHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgbiBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pJiYoZVtuXT10W25dKX0sZSh0LG4pfTtyZXR1cm4gZnVuY3Rpb24odCxuKXtpZih0eXBlb2YgbiE9YGZ1bmN0aW9uYCYmbiE9PW51bGwpdGhyb3cgVHlwZUVycm9yKGBDbGFzcyBleHRlbmRzIHZhbHVlIGArU3RyaW5nKG4pK2AgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbGApO2UodCxuKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fXQucHJvdG90eXBlPW49PT1udWxsP09iamVjdC5jcmVhdGUobik6KHIucHJvdG90eXBlPW4ucHJvdG90eXBlLG5ldyByKX19KSgpLG49ZSYmZS5fX3NwcmVhZEFycmF5fHxmdW5jdGlvbihlLHQsbil7aWYobnx8YXJndW1lbnRzLmxlbmd0aD09PTIpZm9yKHZhciByPTAsaT10Lmxlbmd0aCxhO3I8aTtyKyspKGF8fCEociBpbiB0KSkmJihhfHw9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCwwLHIpLGFbcl09dFtyXSk7cmV0dXJuIGUuY29uY2F0KGF8fEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQpKX0scj1lJiZlLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Tb2NrZXRNb2NrPXZvaWQgMDt2YXIgaT1EcygpO2UuU29ja2V0TW9jaz1mdW5jdGlvbihlKXt0KHIsZSk7ZnVuY3Rpb24gcih0KXt2YXIgbj1lLmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIG4ub3B0aW9ucz10LG4uaWQ9YG1vY2tgLG4uY29ubmVjdGVkPSExLG4uZGlzY29ubmVjdGVkPSEwLG4uYmluYXJ5VHlwZT1gYmxvYmAsbn1yZXR1cm4gci5wcm90b3R5cGUub3Blbj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuKDAsaS5kZWJ1ZykoYFNvY2tldElPTW9jazogY29ubmVjdGApLHRoaXMub25jZShgdmlzaXRvci5jb25uZWN0YCxmdW5jdGlvbih0LG4pe24obnVsbCxlLm9wdGlvbnMuY29ubmVjdERhdGEpfSksdGhpcy5jb25uZWN0ZWQ9ITAsdGhpcy5kaXNjb25uZWN0ZWQ9ITEsdGhpcy5lbWl0KGBjb25uZWN0YCksdGhpc30sci5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oKXtyZXR1cm4oMCxpLmRlYnVnKShgU29ja2V0SU9Nb2NrOiBkaXNjb25uZWN0YCksdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5kaXNjb25uZWN0ZWQ9ITEsdGhpcy5lbWl0KGBkaXNjb25uZWN0YCxgaW8gY2xpZW50IGRpc2Nvbm5lY3RgKSx0aGlzfSxyLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKHQpe3ZhciByPVsuLi5hcmd1bWVudHNdLnNsaWNlKDEpO3JldHVybiBpLmRlYnVnLmFwcGx5KHZvaWQgMCxuKFtgU29ja2V0SU9Nb2NrOiBlbWl0YF0sciwhMSkpLCh0PT09YGNvbm5lY3RgfHx0PT09YGRpc2Nvbm5lY3RgfHx0PT09YHZpc2l0b3IuY29ubmVjdGApJiZlLnByb3RvdHlwZS5lbWl0LmFwcGx5KHRoaXMsbihbdF0sciwhMSkpLHRoaXN9LHIucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oKXt2YXIgZT1bLi4uYXJndW1lbnRzXTtyZXR1cm4gdGhpcy5lbWl0LmFwcGx5KHRoaXMsbihbZVswXV0sZS5zbGljZSgxKSwhMSkpfSxyLnByb3RvdHlwZS5jb21wcmVzcz1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxyLnByb3RvdHlwZS5jb25uZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3BlbigpfSxyLnByb3RvdHlwZS5kaXNjb25uZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvc2UoKX0sci5wcm90b3R5cGUuaGFzTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmxpc3RlbmVyQ291bnQoZSk9PT0wfSxyLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuYWRkTGlzdGVuZXIoZSx0KSx0aGlzfSxyLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMucmVtb3ZlTGlzdGVuZXIoZSx0KSx0aGlzfSxyfShyKE9zKCkpLmRlZmF1bHQpfSkpLERjPXMoKGU9Pnt2YXIgdD1lJiZlLl9fYXNzaWdufHxmdW5jdGlvbigpe3JldHVybiB0PU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPTEscj1hcmd1bWVudHMubGVuZ3RoO248cjtuKyspZm9yKHZhciBpIGluIHQ9YXJndW1lbnRzW25dLHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsaSkmJihlW2ldPXRbaV0pO3JldHVybiBlfSx0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sbj1lJiZlLl9fY3JlYXRlQmluZGluZ3x8KE9iamVjdC5jcmVhdGU/KGZ1bmN0aW9uKGUsdCxuLHIpe3I9PT12b2lkIDAmJihyPW4pO3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxuKTsoIWl8fChgZ2V0YGluIGk/IXQuX19lc01vZHVsZTppLndyaXRhYmxlfHxpLmNvbmZpZ3VyYWJsZSkpJiYoaT17ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdFtuXX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLGkpfSk6KGZ1bmN0aW9uKGUsdCxuLHIpe3I9PT12b2lkIDAmJihyPW4pLGVbcl09dFtuXX0pKSxyPWUmJmUuX19leHBvcnRTdGFyfHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiBlKXIhPT1gZGVmYXVsdGAmJiFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmbih0LGUscil9LGk9ZSYmZS5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKGUsdCxuLHIpe2Z1bmN0aW9uIGkoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBuP2U6bmV3IG4oZnVuY3Rpb24odCl7dChlKX0pfXJldHVybiBuZXcobnx8PVByb21pc2UpKGZ1bmN0aW9uKG4sYSl7ZnVuY3Rpb24gbyhlKXt0cnl7YyhyLm5leHQoZSkpfWNhdGNoKGUpe2EoZSl9fWZ1bmN0aW9uIHMoZSl7dHJ5e2Moci50aHJvdyhlKSl9Y2F0Y2goZSl7YShlKX19ZnVuY3Rpb24gYyhlKXtlLmRvbmU/bihlLnZhbHVlKTppKGUudmFsdWUpLnRoZW4obyxzKX1jKChyPXIuYXBwbHkoZSx0fHxbXSkpLm5leHQoKSl9KX0sYT1lJiZlLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbihlLHQpe3ZhciBuPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZihhWzBdJjEpdGhyb3cgYVsxXTtyZXR1cm4gYVsxXX0sdHJ5czpbXSxvcHM6W119LHIsaSxhLG89T2JqZWN0LmNyZWF0ZSgodHlwZW9mIEl0ZXJhdG9yPT1gZnVuY3Rpb25gP0l0ZXJhdG9yOk9iamVjdCkucHJvdG90eXBlKTtyZXR1cm4gby5uZXh0PXMoMCksby50aHJvdz1zKDEpLG8ucmV0dXJuPXMoMiksdHlwZW9mIFN5bWJvbD09YGZ1bmN0aW9uYCYmKG9bU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksbztmdW5jdGlvbiBzKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gYyhbZSx0XSl9fWZ1bmN0aW9uIGMocyl7aWYocil0aHJvdyBUeXBlRXJyb3IoYEdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5gKTtmb3IoO28mJihvPTAsc1swXSYmKG49MCkpLG47KXRyeXtpZihyPTEsaSYmKGE9c1swXSYyP2kucmV0dXJuOnNbMF0/aS50aHJvd3x8KChhPWkucmV0dXJuKSYmYS5jYWxsKGkpLDApOmkubmV4dCkmJiEoYT1hLmNhbGwoaSxzWzFdKSkuZG9uZSlyZXR1cm4gYTtzd2l0Y2goaT0wLGEmJihzPVtzWzBdJjIsYS52YWx1ZV0pLHNbMF0pe2Nhc2UgMDpjYXNlIDE6YT1zO2JyZWFrO2Nhc2UgNDpyZXR1cm4gbi5sYWJlbCsrLHt2YWx1ZTpzWzFdLGRvbmU6ITF9O2Nhc2UgNTpuLmxhYmVsKyssaT1zWzFdLHM9WzBdO2NvbnRpbnVlO2Nhc2UgNzpzPW4ub3BzLnBvcCgpLG4udHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKChhPW4udHJ5cywhKGE9YS5sZW5ndGg+MCYmYVthLmxlbmd0aC0xXSkpJiYoc1swXT09PTZ8fHNbMF09PT0yKSl7bj0wO2NvbnRpbnVlfWlmKHNbMF09PT0zJiYoIWF8fHNbMV0+YVswXSYmc1sxXTxhWzNdKSl7bi5sYWJlbD1zWzFdO2JyZWFrfWlmKHNbMF09PT02JiZuLmxhYmVsPGFbMV0pe24ubGFiZWw9YVsxXSxhPXM7YnJlYWt9aWYoYSYmbi5sYWJlbDxhWzJdKXtuLmxhYmVsPWFbMl0sbi5vcHMucHVzaChzKTticmVha31hWzJdJiZuLm9wcy5wb3AoKSxuLnRyeXMucG9wKCk7Y29udGludWV9cz10LmNhbGwoZSxuKX1jYXRjaChlKXtzPVs2LGVdLGk9MH1maW5hbGx5e3I9YT0wfWlmKHNbMF0mNSl0aHJvdyBzWzFdO3JldHVybnt2YWx1ZTpzWzBdP3NbMV06dm9pZCAwLGRvbmU6ITB9fX0sbz1lJiZlLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Tb2NrZXRFcnJvcj12b2lkIDA7dmFyIHM9RHMoKSxjPW8oT3MoKSksbD1vKGJjKCkpLHU9VGMoKSxkPXt0cmFuc3BvcnRzOltgd2Vic29ja2V0YF0scGF0aDpgL3NvY2tldGAscmVjb25uZWN0aW9uOiEwLHJlY29ubmVjdGlvbkRlbGF5OjFlMyxyZWNvbm5lY3Rpb25EZWxheU1heDo1ZTMscmVjb25uZWN0aW9uQXR0ZW1wdHM6MS8wfTtlLmRlZmF1bHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3RoaXMub3B0aW9ucz1lLHRoaXMuaW5pdGlhbGl6ZWQ9ITEsdGhpcy5mb3JjZVJlY29ubmVjdD0hMSx0aGlzLmlkZW50aXR5PW51bGwsdGhpcy5jb25uZWN0aW9uPW51bGwsdGhpcy5jb25uZWN0Q2FsbGJhY2s9bnVsbCx0aGlzLmRpc2Nvbm5lY3RDYWxsYmFjaz1udWxsLHRoaXMuaW5pdERhdGE9bnVsbCx0aGlzLmludGVybmFsUmVjb25uZWN0aW9uPSExLHRoaXMuaW50ZXJuYWxSZWNvbm5lY3Rpbmc9ITEsdGhpcy5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQ9MCx0aGlzLmVtaXR0ZXI9bmV3IGMuZGVmYXVsdCx0aGlzLnNlbmRCdWZmZXI9W10sdGhpcy5vcHRpb25zLm9wdGlvbnM9dCh0KHQoe30sZCksdGhpcy5vcHRpb25zLm9wdGlvbnMpLHthdXRvQ29ubmVjdDohMX0pfXJldHVybiBlLnByb3RvdHlwZS5pbml0Q29ubmVjdGlvbj1mdW5jdGlvbigpe3JldHVybiBpKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlO3JldHVybiBhKHRoaXMsZnVuY3Rpb24obil7c3dpdGNoKG4ubGFiZWwpe2Nhc2UgMDppZih0aGlzLmNvbm5lY3Rpb24pdGhyb3cgRXJyb3IoYENvbm5lY3Rpb24gYWxyZWFkeSBleGlzdHNgKTtyZXR1cm4gdGhpcy5vcHRpb25zLnNvY2tldD8oKDAscy5kZWJ1ZykoYHVzaW5nIHNvY2tldCAke3RoaXMub3B0aW9ucy5zb2NrZXQuaWR9YCksdGhpcy5pbnRlcm5hbFJlY29ubmVjdGlvbj0hMSx0aGlzLnNldENvbm5lY3Rpb24odGhpcy5vcHRpb25zLnNvY2tldCksWzMsNF0pOlszLDFdO2Nhc2UgMTpyZXR1cm4gdGhpcy5vcHRpb25zLmJhbGFuY2VyVXJsP1s0LCgwLHUuZmV0Y2hCYWxhbmNlckNvbmZpZykodGhpcy5vcHRpb25zLmJhbGFuY2VyVXJsKV06WzMsM107Y2FzZSAyOnJldHVybiBlPW4uc2VudCgpLCgwLHMuZGVidWcpKGBjcmVhdGluZyBzb2NrZXQgdG8gJHtlLnVybH0gd2l0aCB0b2tlbiAke2UudG9rZW59YCksdGhpcy5pbnRlcm5hbFJlY29ubmVjdGlvbj0hMCx0aGlzLnNldENvbm5lY3Rpb24oKDAsbC5kZWZhdWx0KShlLnVybCx0KHQoe30sdGhpcy5vcHRpb25zLm9wdGlvbnMpLHthdXRvQ29ubmVjdDohMSxyZWNvbm5lY3Rpb246ITEscXVlcnk6e3Rva2VuOmUudG9rZW59fSkpLCEwKSxbMyw0XTtjYXNlIDM6aWYodGhpcy5vcHRpb25zLnVybCkoMCxzLmRlYnVnKShgY3JlYXRpbmcgc29ja2V0IHRvICR7dGhpcy5vcHRpb25zLnVybH1gKSx0aGlzLmludGVybmFsUmVjb25uZWN0aW9uPSExLHRoaXMuc2V0Q29ubmVjdGlvbigoMCxsLmRlZmF1bHQpKHRoaXMub3B0aW9ucy51cmwsdCh0KHt9LHRoaXMub3B0aW9ucy5vcHRpb25zKSx7YXV0b0Nvbm5lY3Q6ITF9KSkpO2Vsc2UgdGhyb3cgRXJyb3IoYE1pc3NpbmcgcmVxdWlyZWQgcGFyYW1ldGVyIHVybGApO24ubGFiZWw9NDtjYXNlIDQ6cmV0dXJuWzJdfX0pfSl9LGUucHJvdG90eXBlLnNldENvbm5lY3Rpb249ZnVuY3Rpb24oZSxuKXt2YXIgcj10aGlzO249PT12b2lkIDAmJihuPSExKSx0aGlzLmNvbm5lY3Rpb249ZSx0aGlzLmZvcmNlUmVjb25uZWN0PSExLHRoaXMuaW50ZXJuYWxSZWNvbm5lY3Rpb249bixlLm9uKGBjb25uZWN0X2Vycm9yYCxmdW5jdGlvbihlKXtyLmludGVybmFsUmVjb25uZWN0aW9uJiYoci5jb25uZWN0Q2FsbGJhY2s9bnVsbCwoMCxzLmRlYnVnKShgY29ubmVjdGlvbiB3YXMgbm90IHJlY29ubmVjdGVkYCksci5lbWl0dGVyLmVtaXQoYHJlY29ubmVjdF9lcnJvcmAsZSksci5vcHRpb25zLm9wdGlvbnMucmVjb25uZWN0aW9uQXR0ZW1wdHM+ci5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQrMT9yLnJlY29ubmVjdChyLmludGVybmFsUmVjb25uZWN0aW5nQXR0ZW1wdCsxKTpyLmVtaXR0ZXIuZW1pdChgcmVjb25uZWN0X2ZhaWxlZGAsci5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQpKX0pLGUub24oYGNvbm5lY3RgLGZ1bmN0aW9uKCl7KDAscy5kZWJ1ZykoYHNvY2tldCB3YXMgY29ubmVjdGVkYCksci5pbml0aWFsaXplZD0hMSxyLmludGVybmFsUmVjb25uZWN0aW5nPygoMCxzLmRlYnVnKShgY29ubmVjdGlvbiBpcyByZWNvbm5lY3RlZGApLHIuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RgKSxyLmludGVybmFsUmVjb25uZWN0aW5nPSExLHIuaW50ZXJuYWxSZWNvbm5lY3RpbmdBdHRlbXB0PTApOnIuZW1pdHRlci5lbWl0KGBjb25uZWN0YCksci5pbml0aWFsaXplKCkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4oMCxzLmRlYnVnKShgc29ja2V0IHdhcyBpbml0aWFsaXplZGApLHIub25Jbml0aWFsaXplZChlKSxyLmNvbm5lY3RDYWxsYmFjayYmPShyLmNvbm5lY3RDYWxsYmFjayhudWxsLGUpLG51bGwpLGV9KS5jYXRjaChmdW5jdGlvbihlKXsoMCxzLmRlYnVnKShgc29ja2V0IHdhcyBub3QgaW5pdGlhbGl6ZWQgYCx0KHt9LGUpKSxyLm9uSW5pdGlhbGl6ZUVycm9yKGUpLHIuY29ubmVjdENhbGxiYWNrJiY9KHIuY29ubmVjdENhbGxiYWNrKGUpLG51bGwpfSl9KSxlLm9uKGBkaXNjb25uZWN0YCxmdW5jdGlvbihlKXsoMCxzLmRlYnVnKShgc29ja2V0IHdhcyBkaXNjb25uZWN0ZWQgcmVhc29uPScke2V9J2ApLHIuaW5pdGlhbGl6ZWQ9ITEsKCFyLmludGVybmFsUmVjb25uZWN0aW5nfHxyLmludGVybmFsUmVjb25uZWN0aW5nQXR0ZW1wdD09PTEpJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5lbWl0dGVyLmVtaXQoYGRpc2Nvbm5lY3RgLGUpLHIuZGlzY29ubmVjdENhbGxiYWNrJiY9KHIuZGlzY29ubmVjdENhbGxiYWNrKCksbnVsbCl9LDEwMCksci5vcHRpb25zLm9wdGlvbnMucmVjb25uZWN0aW9uJiZyLmludGVybmFsUmVjb25uZWN0aW9uJiYhci5pbnRlcm5hbFJlY29ubmVjdGluZyYmKHIuZm9yY2VSZWNvbm5lY3R8fGUhPT1gaW8gc2VydmVyIGRpc2Nvbm5lY3RgKSYmci5yZWNvbm5lY3QoKX0pLGUub24oYHJlY29ubmVjdGluZ2AsZnVuY3Rpb24oZSl7ci5lbWl0dGVyLmVtaXQoYHJlY29ubmVjdGluZ2AsZSl9KSxlLm9uKGByZWNvbm5lY3RgLGZ1bmN0aW9uKCl7ci5lbWl0dGVyLmVtaXQoYHJlY29ubmVjdGApfSksZS5vbihgcmVjb25uZWN0X2F0dGVtcHRgLGZ1bmN0aW9uKGUpe3IuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RfYXR0ZW1wdGAsZSl9KSxlLm9uKGByZWNvbm5lY3RfZXJyb3JgLGZ1bmN0aW9uKGUpe3IuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RfZXJyb3JgLGUpfSksZS5vbihgcmVjb25uZWN0X2ZhaWxlZGAsZnVuY3Rpb24oKXtyLmVtaXR0ZXIuZW1pdChgcmVjb25uZWN0X2ZhaWxlZGApfSksZS5vbihgZm9yY2VfcmVjb25uZWN0YCxmdW5jdGlvbigpeygwLHMuZGVidWcpKGByZWNlaXZlZCBldmVudCBmb3JjZV9yZWNvbm5lY3QsIHNldHRpbmcgZmxhZyBmb3JjZVJlY29ubmVjdCA9IHRydWVgKSxyLmZvcmNlUmVjb25uZWN0PSEwfSl9LGUucHJvdG90eXBlLmdldENvbm5lY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25uZWN0aW9ufSxlLnByb3RvdHlwZS5pc0Nvbm5lY3RlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbm5lY3Rpb24/LmNvbm5lY3RlZHx8ITF9LGUucHJvdG90eXBlLmlzSW5pdGlhbGl6ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbml0aWFsaXplZH0sZS5wcm90b3R5cGUuZ2V0SW5pdERhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbml0RGF0YX0sZS5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiBpKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGEodGhpcyxmdW5jdGlvbih0KXtzd2l0Y2godC5sYWJlbCl7Y2FzZSAwOnJldHVybiB0aGlzLmNvbm5lY3Rpb24/WzMsMl06WzQsdGhpcy5pbml0Q29ubmVjdGlvbigpXTtjYXNlIDE6dC5zZW50KCksdC5sYWJlbD0yO2Nhc2UgMjpyZXR1cm5bMixuZXcgUHJvbWlzZShmdW5jdGlvbih0LG4pe2UuaW5pdGlhbGl6ZWQ/dChlLmluaXREYXRhKTooKDAscy5kZWJ1ZykoYHN0YXJ0aW5nIGNvbm5lY3RpbmdgKSxlLmNvbm5lY3RDYWxsYmFjaz0oMCxzLmNyZWF0ZUNhbGxiYWNrKSh0LG4pLGUuY29ubmVjdGlvbi5vcGVuKCkpfSldfX0pfSl9LGUucHJvdG90eXBlLmRpc2Nvbm5lY3Q9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbih0LG4peyFlLmNvbm5lY3Rpb258fGUuY29ubmVjdGlvbi5kaXNjb25uZWN0ZWQ/KGUuY29ubmVjdGlvbj1udWxsLHQoKSk6KCgwLHMuZGVidWcpKGBzdGFydGluZyBkaXNjb25uZWN0aW5nYCksZS5kaXNjb25uZWN0Q2FsbGJhY2s9KDAscy5jcmVhdGVDYWxsYmFjaykodCxuKSxlLmNvbm5lY3Rpb24uY2xvc2UoKSxlLmNvbm5lY3Rpb249bnVsbCl9KX0sZS5wcm90b3R5cGUucmVjb25uZWN0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIGU9PT12b2lkIDAmJihlPTEpLHRoaXMuaW50ZXJuYWxSZWNvbm5lY3Rpbmc9ITAsdGhpcy5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQ9ZSx0aGlzLmRpc2Nvbm5lY3QoKS50aGVuKGZ1bmN0aW9uKCl7dmFyIG49TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKih0Lm9wdGlvbnMub3B0aW9ucy5yZWNvbm5lY3Rpb25EZWxheU1heC10Lm9wdGlvbnMub3B0aW9ucy5yZWNvbm5lY3Rpb25EZWxheSkrdC5vcHRpb25zLm9wdGlvbnMucmVjb25uZWN0aW9uRGVsYXkpO3JldHVybigwLHMuZGVidWcpKGBjb25uZWN0aW9uIHdpbGwgcmVjb25uZWN0IGluICR7bn1tc2ApLHQuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RpbmdgLGUpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe3NldFRpbWVvdXQoZSxuKX0pfSkudGhlbihmdW5jdGlvbigpe3JldHVybigwLHMuZGVidWcpKGBjb25uZWN0aW9uIGlzIHN0YXJ0aW5nIHJlY29ubmVjdGApLHQuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RfYXR0ZW1wdGAsZSksdC5jb25uZWN0KCl9KX0sZS5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihlKXtlKHt9KX0pfSxlLnByb3RvdHlwZS5vbkluaXRpYWxpemVkPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dGhpcy5pbml0aWFsaXplZHx8KHRoaXMuaW5pdGlhbGl6ZWQ9ITAsdGhpcy5pbml0RGF0YT1lLCgwLHMuZGVidWcpKGBlbWl0IGluaXRpYWxpemVkYCksdGhpcy5lbWl0dGVyLmVtaXQoYGluaXRpYWxpemVkYCxlKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYodC5zZW5kQnVmZmVyLmxlbmd0aD4wKXsoMCxzLmRlYnVnKShgc2VuZGluZyBidWZmZXJlZCAke3Quc2VuZEJ1ZmZlci5sZW5ndGh9IGV2ZW50c2ApO2Zvcih2YXIgZT0wO2U8dC5zZW5kQnVmZmVyLmxlbmd0aDtlKyspe3ZhciBuPXQuc2VuZEJ1ZmZlcltlXTt0LmNvbm5lY3Rpb24uZW1pdChuLm5hbWUsbi5kYXRhLG4uY2FsbGJhY2spfXQuc2VuZEJ1ZmZlcj1bXX19LDEpKX0sZS5wcm90b3R5cGUub25Jbml0aWFsaXplRXJyb3I9ZnVuY3Rpb24oZSl7dGhpcy5kaXNjb25uZWN0KCksKDAscy5kZWJ1ZykoYGVtaXQgaW5pdGlhbGl6ZV9lcnJvcmAsdCh7fSxlKSksdGhpcy5lbWl0dGVyLmVtaXQoYGluaXRpYWxpemVfZXJyb3JgLGUpfSxlLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGUsdCxuKXt0aGlzLmluaXRpYWxpemVkP3RoaXMuY29ubmVjdGlvbi5lbWl0KGUsdCxuKTp0aGlzLnNlbmRCdWZmZXIucHVzaCh7bmFtZTplLGRhdGE6dCxjYWxsYmFjazpufSl9LGUucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZW1pdHRlci5vbihlLHQpLHRoaXN9LGUucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9uY2UoZSx0KSx0aGlzfSxlLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24oKXtmb3IodmFyIGUsdD1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0W25dPWFyZ3VtZW50c1tuXTtyZXR1cm4oZT10aGlzLmVtaXR0ZXIpLnJlbW92ZUFsbExpc3RlbmVycy5hcHBseShlLHQpLHRoaXN9LGV9KCk7dmFyIGY9RHMoKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgU29ja2V0RXJyb3JgLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmLlNvY2tldEVycm9yfX0pLHIoRWMoKSxlKX0pKSxPYz1zKChlPT57dmFyIHQ9ZSYmZS5fX2V4dGVuZHN8fChmdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKHQsbil7cmV0dXJuIGU9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGUsdCl7ZS5fX3Byb3RvX189dH18fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJihlW25dPXRbbl0pfSxlKHQsbil9O3JldHVybiBmdW5jdGlvbih0LG4pe2lmKHR5cGVvZiBuIT1gZnVuY3Rpb25gJiZuIT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoYENsYXNzIGV4dGVuZHMgdmFsdWUgYCtTdHJpbmcobikrYCBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsYCk7ZSh0LG4pO2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9dC5wcm90b3R5cGU9bj09PW51bGw/T2JqZWN0LmNyZWF0ZShuKTooci5wcm90b3R5cGU9bi5wcm90b3R5cGUsbmV3IHIpfX0pKCksbj1lJiZlLl9fYXNzaWdufHxmdW5jdGlvbigpe3JldHVybiBuPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPTEscj1hcmd1bWVudHMubGVuZ3RoO248cjtuKyspZm9yKHZhciBpIGluIHQ9YXJndW1lbnRzW25dLHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsaSkmJihlW2ldPXRbaV0pO3JldHVybiBlfSxuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0scj1lJiZlLl9fYXdhaXRlcnx8ZnVuY3Rpb24oZSx0LG4scil7ZnVuY3Rpb24gaShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIG4/ZTpuZXcgbihmdW5jdGlvbih0KXt0KGUpfSl9cmV0dXJuIG5ldyhufHw9UHJvbWlzZSkoZnVuY3Rpb24obixhKXtmdW5jdGlvbiBvKGUpe3RyeXtjKHIubmV4dChlKSl9Y2F0Y2goZSl7YShlKX19ZnVuY3Rpb24gcyhlKXt0cnl7YyhyLnRocm93KGUpKX1jYXRjaChlKXthKGUpfX1mdW5jdGlvbiBjKGUpe2UuZG9uZT9uKGUudmFsdWUpOmkoZS52YWx1ZSkudGhlbihvLHMpfWMoKHI9ci5hcHBseShlLHR8fFtdKSkubmV4dCgpKX0pfSxpPWUmJmUuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKGUsdCl7dmFyIG49e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKGFbMF0mMSl0aHJvdyBhWzFdO3JldHVybiBhWzFdfSx0cnlzOltdLG9wczpbXX0scixpLGEsbz1PYmplY3QuY3JlYXRlKCh0eXBlb2YgSXRlcmF0b3I9PWBmdW5jdGlvbmA/SXRlcmF0b3I6T2JqZWN0KS5wcm90b3R5cGUpO3JldHVybiBvLm5leHQ9cygwKSxvLnRocm93PXMoMSksby5yZXR1cm49cygyKSx0eXBlb2YgU3ltYm9sPT1gZnVuY3Rpb25gJiYob1tTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxvO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBjKFtlLHRdKX19ZnVuY3Rpb24gYyhzKXtpZihyKXRocm93IFR5cGVFcnJvcihgR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLmApO2Zvcig7byYmKG89MCxzWzBdJiYobj0wKSksbjspdHJ5e2lmKHI9MSxpJiYoYT1zWzBdJjI/aS5yZXR1cm46c1swXT9pLnRocm93fHwoKGE9aS5yZXR1cm4pJiZhLmNhbGwoaSksMCk6aS5uZXh0KSYmIShhPWEuY2FsbChpLHNbMV0pKS5kb25lKXJldHVybiBhO3N3aXRjaChpPTAsYSYmKHM9W3NbMF0mMixhLnZhbHVlXSksc1swXSl7Y2FzZSAwOmNhc2UgMTphPXM7YnJlYWs7Y2FzZSA0OnJldHVybiBuLmxhYmVsKysse3ZhbHVlOnNbMV0sZG9uZTohMX07Y2FzZSA1Om4ubGFiZWwrKyxpPXNbMV0scz1bMF07Y29udGludWU7Y2FzZSA3OnM9bi5vcHMucG9wKCksbi50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoKGE9bi50cnlzLCEoYT1hLmxlbmd0aD4wJiZhW2EubGVuZ3RoLTFdKSkmJihzWzBdPT09Nnx8c1swXT09PTIpKXtuPTA7Y29udGludWV9aWYoc1swXT09PTMmJighYXx8c1sxXT5hWzBdJiZzWzFdPGFbM10pKXtuLmxhYmVsPXNbMV07YnJlYWt9aWYoc1swXT09PTYmJm4ubGFiZWw8YVsxXSl7bi5sYWJlbD1hWzFdLGE9czticmVha31pZihhJiZuLmxhYmVsPGFbMl0pe24ubGFiZWw9YVsyXSxuLm9wcy5wdXNoKHMpO2JyZWFrfWFbMl0mJm4ub3BzLnBvcCgpLG4udHJ5cy5wb3AoKTtjb250aW51ZX1zPXQuY2FsbChlLG4pfWNhdGNoKGUpe3M9WzYsZV0saT0wfWZpbmFsbHl7cj1hPTB9aWYoc1swXSY1KXRocm93IHNbMV07cmV0dXJue3ZhbHVlOnNbMF0/c1sxXTp2b2lkIDAsZG9uZTohMH19fSxhPWUmJmUuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLldlYnNvY2tldFZpc2l0b3JDbGllbnQ9dm9pZCAwO3ZhciBvPWEoRGMoKSkscz1EcygpLGM9ZnVuY3Rpb24oZSl7dChhLGUpO2Z1bmN0aW9uIGEodCl7dmFyIG49ZS5jYWxsKHRoaXMsdC5jb25uZWN0aW9uKXx8dGhpcztyZXR1cm4gbi5zZXJ2ZXJWZXJzaW9uPW51bGwsbi51cGRhdGVkVmFsdWVzPXt9LG4uY29ubmVjdERhdGE9dC5kYXRhLG4uaWRlbnRpdHk9bnVsbCxufXJldHVybiBhLnByb3RvdHlwZS5zZXRDb25uZWN0aW9uPWZ1bmN0aW9uKHQpe2UucHJvdG90eXBlLnNldENvbm5lY3Rpb24uY2FsbCh0aGlzLHQpLHQub24oYHNlcnZlci5lcnJvcmAsKDAscy5ib3VuZCkodGhpcyxgb25TZXJ2ZXJFcnJvcmApKSx0Lm9uKGBhY2NvdW50LnVwZGF0ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBhY2NvdW50LnVwZGF0ZWRgKSksdC5vbihgYWdlbnQudXBkYXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGFnZW50LnVwZGF0ZWRgKSksdC5vbihgYWdlbnQuc3RhdHVzX3VwZGF0ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBhZ2VudC5zdGF0dXNfdXBkYXRlZGApKSx0Lm9uKGBhZ2VudC5yZW1vdmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgYWdlbnQucmVtb3ZlZGApKSx0Lm9uKGB2aXNpdG9yLnVwZGF0ZWRgLCgwLHMuYm91bmQpKHRoaXMsYG9uVmlzaXRvclVwZGF0ZWRgKSksdC5vbihgY2hhdC51cGRhdGVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC51cGRhdGVkYCkpLHQub24oYGNoYXQuYWdlbnRfam9pbmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5hZ2VudF9qb2luZWRgKSksdC5vbihgY2hhdC5hZ2VudF9hc3NpZ25lZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuYWdlbnRfYXNzaWduZWRgKSksdC5vbihgY2hhdC5hZ2VudF91bmFzc2lnbmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5hZ2VudF91bmFzc2lnbmVkYCkpLHQub24oYGNoYXQuYWdlbnRfbGVmdGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuYWdlbnRfbGVmdGApKSx0Lm9uKGBjaGF0Lm9wZW5lZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQub3BlbmVkYCkpLHQub24oYGNoYXQuc2VydmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5zZXJ2ZWRgKSksdC5vbihgY2hhdC5jbG9zZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0LmNsb3NlZGApKSx0Lm9uKGBjaGF0LnZpc2l0b3JfY2xvc2VkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC52aXNpdG9yX2Nsb3NlZGApKSx0Lm9uKGBjaGF0Lm1lc3NhZ2VfcmVjZWl2ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0Lm1lc3NhZ2VfcmVjZWl2ZWRgKSksdC5vbihgY2hhdC5tZXNzYWdlX3VwZGF0ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0Lm1lc3NhZ2VfdXBkYXRlZGApKSx0Lm9uKGBjaGF0Lm1lc3NhZ2VfZGVsZXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQubWVzc2FnZV9kZWxldGVkYCkpLHQub24oYGNoYXQuYWdlbnRfdHlwaW5nYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5hZ2VudF90eXBpbmdgKSksdC5vbihgY2hhdC5yYXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQucmF0ZWRgKSksdC5vbihgY2hhdC5yYXRpbmdfY2FuY2VsbGVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5yYXRpbmdfY2FuY2VsbGVkYCkpLHQub24oYGNoYXQucmF0aW5nX3N1Z2dlc3RlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQucmF0aW5nX3N1Z2dlc3RlZGApKSx0Lm9uKGBjaGF0LmNvbnRhY3RfcmVhZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuY29udGFjdF9yZWFkYCkpLHQub24oYGNoYXQuZGVsZXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuZGVsZXRlZGApKSx0Lm9uKGBjaGF0LnRpY2tldF9mb3JtX2ZpbmlzaGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQudGlja2V0X2Zvcm1fZmluaXNoYCkpLHQub24oYGNoYXQudHJhbnNjcmlwdF9wZGZgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0LnRyYW5zY3JpcHRfcGRmYCkpLHQub24oYGNvbnRhY3QuYWNxdWlyZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjb250YWN0LmFjcXVpcmVkYCkpLHQub24oYGlkZW50aXR5LnN0YXR1c191cGRhdGVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgaWRlbnRpdHkuc3RhdHVzX3VwZGF0ZWRgKSl9LGEucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZW1pdHRlci5vbihlLHQpLHRoaXN9LGEucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9uY2UoZSx0KSx0aGlzfSxhLnByb3RvdHlwZS5nZXRJZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlkZW50aXR5P3RoaXMuaWRlbnRpdHkuaWQ6bnVsbH0sYS5wcm90b3R5cGUuZ2V0SWRlbnRpdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pZGVudGl0eX0sYS5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiBlLnByb3RvdHlwZS5jb25uZWN0LmNhbGwodGhpcyl9LGEucHJvdG90eXBlLmRpc2Nvbm5lY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gcih0aGlzLGFyZ3VtZW50cyx2b2lkIDAsZnVuY3Rpb24odCl7dmFyIG49dGhpcztyZXR1cm4gdD09PXZvaWQgMCYmKHQ9ITEpLGkodGhpcyxmdW5jdGlvbihyKXtzd2l0Y2goci5sYWJlbCl7Y2FzZSAwOnJldHVybiB0P1s0LG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUsdCl7bi5zZW5kKGB2aXNpdG9yLmxvZ291dGAse30sKDAscy5jcmVhdGVDYWxsYmFjaykoZSx0KSl9KV06WzMsMl07Y2FzZSAxOnIuc2VudCgpLHIubGFiZWw9MjtjYXNlIDI6cmV0dXJuWzIsZS5wcm90b3R5cGUuZGlzY29ubmVjdC5jYWxsKHRoaXMpXX19KX0pfSxhLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0IGluIGU9PT12b2lkIDAmJihlPXt9KSx0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLGUpdGhpcy5pZGVudGl0eVt0XT1lW3RdLHRoaXMudXBkYXRlZFZhbHVlc1t0XT1lW3RdO3RoaXMuc2F2ZVZpc2l0b3JWYWx1ZXMoKX0sYS5wcm90b3R5cGUuYXV0aGVudGljYXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYHZpc2l0b3IuYXV0aGVudGljYXRlYCx7dmFsdWVzOmV9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLm5vdGlmeT1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXM7cmV0dXJuIHQ9PT12b2lkIDAmJih0PW51bGwpLHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24ocixpKXtuLnNlbmQoYHZpc2l0b3Iubm90aWZ5YCx7bmFtZTplLHZhbHVlOnR9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKHIsaSkpfSl9LGEucHJvdG90eXBlLmNoYXRSZWFkPWZ1bmN0aW9uKCl7dGhpcy5jaGVja1NlcnZlclZlcnNpb24oKSx0aGlzLnNlbmQoYGNoYXQucmVhZGAsbnVsbCl9LGEucHJvdG90eXBlLmNoYXRUeXBpbmc9ZnVuY3Rpb24oZSx0KXt0PT09dm9pZCAwJiYodD1udWxsKSx0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLHRoaXMuc2VuZChgY2hhdC50eXBpbmdgLHt0eXBpbmc6e2lzOmUsdGV4dDp0fX0pfSxhLnByb3RvdHlwZS5jaGF0TWVzc2FnZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKG4scil7dC5zZW5kKGBjaGF0Lm1lc3NhZ2VgLGUsKDAscy5jcmVhdGVDYWxsYmFjaykobixyKSl9KX0sYS5wcm90b3R5cGUuY2hhdENsb3NlPWZ1bmN0aW9uKGUpe2U9PT12b2lkIDAmJihlPW51bGwpLHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksdGhpcy5zZW5kKGBjaGF0LmNsb3NlYCx7dHlwZTplfSl9LGEucHJvdG90eXBlLmNoYXRVcGxvYWRJbml0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gdGhpcy5jaGVja1NlcnZlclZlcnNpb24oKSxuZXcgUHJvbWlzZShmdW5jdGlvbih0LG4pe2Uuc2VuZChgY2hhdC51cGxvYWRfaW5pdGAsbnVsbCwoMCxzLmNyZWF0ZUNhbGxiYWNrKSh0LG4pKX0pfSxhLnByb3RvdHlwZS5jaGF0VXBsb2FkRmluaXNoPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYGNoYXQudXBsb2FkX2ZpbmlzaGAse3VwbG9hZFRva2VuOmV9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLmNoYXRUcmFuc2NyaXB0PWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcztyZXR1cm4gdGhpcy5jaGVja1NlcnZlclZlcnNpb24oKSxuZXcgUHJvbWlzZShmdW5jdGlvbihyLGkpe24uc2VuZChgY2hhdC50cmFuc2NyaXB0YCx7ZW1haWw6ZSxsYW5nOnR9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKHIsaSkpfSl9LGEucHJvdG90eXBlLmNoYXRUaWNrZXRGb3JtRmluaXNoPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYGNoYXQudGlja2V0X2Zvcm1fZmluaXNoYCxlLCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLmNoYXRSYXRlSW5pdD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24odCxuKXtlLnNlbmQoYGNoYXQucmF0ZV9pbml0YCxudWxsLCgwLHMuY3JlYXRlQ2FsbGJhY2spKHQsbikpfSl9LGEucHJvdG90eXBlLmNoYXRSYXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYGNoYXQucmF0ZWAsZSwoMCxzLmNyZWF0ZUNhbGxiYWNrKShuLHIpKX0pfSxhLnByb3RvdHlwZS5jaGF0VHJhbnNjcmlwdFBkZj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24odCxuKXtlLnNlbmQoYGNoYXQudHJhbnNjcmlwdF9wZGZgLG51bGwsKDAscy5jcmVhdGVDYWxsYmFjaykodCxuKSl9KX0sYS5wcm90b3R5cGUubGlua09wZW5lZD1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKG4scil7dC5zZW5kKGBjaGF0Lmxpbmtfb3BlbmVkYCxlLCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLnZpc2l0b3JDb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PW4oe3ZlcnNpb246YS5DTElFTlRfVkVSU0lPTn0sdGhpcy5jb25uZWN0RGF0YSk7Zm9yKHZhciByIGluIHRoaXMudXBkYXRlZFZhbHVlcyl0W3JdPXRoaXMudXBkYXRlZFZhbHVlc1tyXTtpZih0aGlzLnVwZGF0ZWRWYWx1ZXM9e30sdGhpcy5pZGVudGl0eSlmb3IodmFyIHIgaW4gdGhpcy5pZGVudGl0eSlbYGJhbm5lZEF0YCxgY2hhdElkYCxgc3RhdHVzYF0uaW5jbHVkZXMocil8fCh0W3JdPXRoaXMuaWRlbnRpdHlbcl0pO3JldHVybiB0aGlzLmVtaXR0ZXIuZW1pdChgaW5pdGlhbGl6ZWAsdCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXtlLmNvbm5lY3Rpb24uZW1pdChgdmlzaXRvci5jb25uZWN0YCx0LCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLnZpc2l0b3JEaXNjb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24odCxuKXtlLmNvbm5lY3Rpb24uZW1pdChgdmlzaXRvci5kaXNjb25uZWN0YCx7fSwoMCxzLmNyZWF0ZUNhbGxiYWNrKSh0LG4pKX0pfSxhLnByb3RvdHlwZS5vblZpc2l0b3JVcGRhdGVkPWZ1bmN0aW9uKGUpe3ZhciB0PXt9O2Zvcih2YXIgbiBpbiBlLmNoYW5nZXMpYS5pZGVudGl0eVByb3BlcnRpZXMuaW5jbHVkZXMobikmJih0aGlzLmlkZW50aXR5JiYodGhpcy5pZGVudGl0eVtuXT1lLmNoYW5nZXNbbl0pLHRbbl09ZS5jaGFuZ2VzW25dKTtPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KS5sZW5ndGg+MCYmdGhpcy5lbWl0dGVyLmVtaXQoYHZpc2l0b3IudXBkYXRlZGAsdCl9LGEucHJvdG90eXBlLm9uU2VydmVyRXJyb3I9ZnVuY3Rpb24oZSl7dmFyIHQ9KDAscy5jcmVhdGVTb2NrZXRFcnJvcikoZSk7dGhpcy5lbWl0dGVyLmVtaXQoYGVycm9yYCx0KX0sYS5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMudmlzaXRvckNvbm5lY3QoKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBlLnNlcnZlclZlcnNpb249dC5zZXJ2ZXJWZXJzaW9uLGUuaWRlbnRpdHk9bihuKHt9LHQudmlzaXRvcikse3ZhcmlhYmxlczpuKHt9LHQudmlzaXRvci52YXJpYWJsZXMpfSksdH0pfSxhLnByb3RvdHlwZS5zYXZlVmlzaXRvclZhbHVlcz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5pbml0aWFsaXplZCYmc2V0VGltZW91dChmdW5jdGlvbigpe2lmKCEoIWUuaW5pdGlhbGl6ZWR8fE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGUudXBkYXRlZFZhbHVlcykubGVuZ3RoPT09MCkpe3ZhciB0PXt9O2Zvcih2YXIgbiBpbiBlLnVwZGF0ZWRWYWx1ZXMpdFtuXT1lLnVwZGF0ZWRWYWx1ZXNbbl07ZS5zZW5kKGB2aXNpdG9yLnVwZGF0ZWAse3ZhbHVlczp0fSksZS51cGRhdGVkVmFsdWVzPXt9fX0sMSl9LGEucHJvdG90eXBlLmNoZWNrU2VydmVyVmVyc2lvbj1mdW5jdGlvbigpe2lmKHRoaXMuc2VydmVyVmVyc2lvbj09PW51bGwpdGhyb3cgRXJyb3IoYENsaWVudCBub3QgeWV0IGNvbm5lY3RlZCB0byBzZXJ2ZXJgKX0sYS5DTElFTlRfVkVSU0lPTj02LGEuaWRlbnRpdHlQcm9wZXJ0aWVzPVtgaWRgLGBuYW1lYCxgZW1haWxgLGBwaG9uZWAsYGNoYXRJZGAsYHZhcmlhYmxlc2AsYGxhbmdgLGBncm91cGAsYGJhbm5lZEF0YCxgdHJpZ2dlcmFibGVgLGB2aXNpdHNgLGBnZHByQXBwcm92ZWRgXSxhfShvLmRlZmF1bHQpO2UuV2Vic29ja2V0VmlzaXRvckNsaWVudD1jLChmdW5jdGlvbihlKXsoZnVuY3Rpb24oZSl7ZS5XaWRnZXRPcGVuPWB3aWRnZXRfb3BlbmAsZS5XaWRnZXRTaG93PWB3aWRnZXRfc2hvd2AsZS5WaXNpdG9yQWN0aXZlPWB2aXNpdG9yX2FjdGl2ZWAsZS5WaXNpdG9ySW5hY3RpdmU9YHZpc2l0b3JfaW5hY3RpdmVgfSkoZS5FdmVudE5hbWV8fD17fSl9KShjfHwoZS5XZWJzb2NrZXRWaXNpdG9yQ2xpZW50PWM9e30pKX0pKSxrYz1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pfSkpLEFjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5SYXRpbmdUYXJnZXQ9dm9pZCAwO3ZhciB0OyhmdW5jdGlvbihlKXtlLkFnZW50PWBhZ2VudGAsZS5BaT1gYWlgfSkodHx8KGUuUmF0aW5nVGFyZ2V0PXQ9e30pKX0pKSxqYz1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLGUuTWVzc2FnZURlbGl2ZXJ5RmFpbFJlYXNvbj1lLk1lc3NhZ2VEZWxpdmVyeVN0YXR1cz1lLkFnZW50RGV2aWNlUGxhdGZvcm09ZS5BZ2VudERldmljZVR5cGU9ZS5WaXNpdG9yU3RhdHVzPWUuQ2hhdFJlYWRJbmZvVHlwZT1lLkNoYXRTdGF0dXM9ZS5BZ2VudFN0YXR1cz1lLkFjY291bnRTdGF0dXM9dm9pZCAwLGUuQWNjb3VudFN0YXR1cz17T25saW5lOmBvbmxpbmVgLE9mZmxpbmU6YG9mZmxpbmVgLE9mZmxpbmVXaXRoQUk6YG9mZmxpbmVXaXRoQWlgfSxlLkFnZW50U3RhdHVzPXtPbmxpbmU6YG9ubGluZWAsT2ZmbGluZTpgb2ZmbGluZWB9LGUuQ2hhdFN0YXR1cz17UGVuZGluZzpgcGVuZGluZ2AsT3Blbjpgb3BlbmAsQ2xvc2VkOmBjbG9zZWRgLFNlcnZlZDpgc2VydmVkYH0sZS5DaGF0UmVhZEluZm9UeXBlPXtBZ2VudDpgYWdlbnRgLENvbnRhY3Q6YGNvbnRhY3RgfSxlLlZpc2l0b3JTdGF0dXM9e0FjdGl2ZTpgYWN0aXZlYCxDbGlja2VkOmBjbGlja2VkYCxJZGxlOmBpZGxlYCxTZXJ2ZWQ6YHNlcnZlZGAsVW5zZXJ2ZWQ6YHVuc2VydmVkYCxUcmlnZ2VyZWQ6YHRyaWdnZXJlZGB9LGUuQWdlbnREZXZpY2VUeXBlPXtCcm93c2VyOmBicm93c2VyYCxNb2JpbGU6YG1vYmlsZWAsWG1wcDpgeG1wcGAsT3RoZXI6YG90aGVyYH0sZS5BZ2VudERldmljZVBsYXRmb3JtPXtJT1M6YGlvc2AsQU5EUk9JRDpgYW5kcm9pZGB9LGUuTWVzc2FnZURlbGl2ZXJ5U3RhdHVzPXtPazpgb2tgLFBlcm1hbmVudEZhaWw6YHBlcm1hbmVudF9mYWlsYCxUZW1wb3JhcnlGYWlsOmB0ZW1wb3JhcnlfZmFpbGAsQ29tcGxhaW5lZDpgY29tcGxhaW5lZGAsU2Vlbjpgc2VlbmB9LGUuTWVzc2FnZURlbGl2ZXJ5RmFpbFJlYXNvbj17RmFjZWJvb2syNGhXaW5kb3c6YGZhY2Vib29rLm91dHNpZGVfYWxsb3dlZF93aW5kb3dgLEluc3RhZ3JhbUV4Y2VlZGVkRmlsZVNpemU6YGluc3RhZ3JhbS5leGNlZWRlZF9maWxlX3NpemVgLEluc3RhZ3JhbVVua25vd246YGluc3RhZ3JhbS51bmtub3duYCxJbnN0YWdyYW1VbnN1cHBvcnRlZEZpbGVUeXBlOmBpbnN0YWdyYW0udW5zdXBwb3J0ZWRfZmlsZV90eXBlYCxXaGF0c2FwcFVuc3VwcG9ydGVkRmlsZTpgd2hhdHNhcHAudW5zdXBwb3J0ZWRfZmlsZV90eXBlYCxXaGF0c2FwcFVua25vd246YHdoYXRzYXBwLnVua25vd25gfX0pKSxNYz1zKChlPT57dmFyIHQ9ZSYmZS5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlPyhmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKTt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsbik7KCFpfHwoYGdldGBpbiBpPyF0Ll9fZXNNb2R1bGU6aS53cml0YWJsZXx8aS5jb25maWd1cmFibGUpKSYmKGk9e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscixpKX0pOihmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKSxlW3JdPXRbbl19KSksbj1lJiZlLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHIgaW4gZSlyIT09YGRlZmF1bHRgJiYhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJnQobixlLHIpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Tb2NrZXRFcnJvcj1lLmRlZmF1bHQ9dm9pZCAwO3ZhciByPU9jKCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYGRlZmF1bHRgLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByLldlYnNvY2tldFZpc2l0b3JDbGllbnR9fSksbihPYygpLGUpLG4oa2MoKSxlKSxuKEFjKCksZSk7dmFyIGk9RHMoKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgU29ja2V0RXJyb3JgLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpLlNvY2tldEVycm9yfX0pLG4oamMoKSxlKX0pKSxOYz1PKG51bGwpLFBjPU8oITEpLEZjPU8oW10pLEljPWU9PntGYy51cGRhdGUodD0+Wy4uLnQsZV0pfSxMYz0oKT0+e2xldCBlO3JldHVybiBGYy51cGRhdGUodD0+KGU9dC5wb3AoKSx0KSksZT8/bnVsbH0sUmM9KCk9PkEoRmMpLmxlbmd0aD09PTAsemM9ayhOYyxlPT5lIT09bnVsbCksQmM9KGUse3VzZVN0YWNrOnQ9ITF9PXt9KT0+e05jLnVwZGF0ZShuPT4odCYmbiYmSWMobiksUGMuc2V0KG4hPT1udWxsKSxlKSl9LFZjPSgpPT57bGV0IGU9bnVsbDtSYygpfHwoZT1MYygpKSxOYy5zZXQoZSl9LEhjPWZ1bmN0aW9uKGUpe3JldHVybiBlW2UuT3B0aW9ucz0wXT1gT3B0aW9uc2AsZVtlLkdkcHJBbmRQcml2YWN5PTFdPWBHZHByQW5kUHJpdmFjeWAsZVtlLkF1dGhGb3JtPTJdPWBBdXRoRm9ybWAsZVtlLkNsb3NlQ2hhdD0zXT1gQ2xvc2VDaGF0YCxlW2UuQ2hhdFJhdGluZz00XT1gQ2hhdFJhdGluZ2AsZVtlLlRpY2tldEZvcm09NV09YFRpY2tldEZvcm1gLGV9KHt9KSxVYz0xZTMsV2M9U3ltYm9sKGBjb250ZW50TGlzdEl0ZW1gKSxHYz1TeW1ib2woYGNvbnRlbnRNZXNzYWdlQXR0YWNobWVudGApLEtjPWAtcmVwbGllc2AscWM9LjM1LEpjPTVlMyxZYz1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pfSkpLFhjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5DYXJkQWN0aW9uVHlwZT1lLkNhcmRzTGF5b3V0PXZvaWQgMCxlLkNhcmRzTGF5b3V0PXtDYXJvdXNlbDpgY2Fyb3VzZWxgfSxlLkNhcmRBY3Rpb25UeXBlPXtPcGVuVXJsOmBvcGVuX3VybGB9fSkpLFpjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSl9KSksUWM9cygoZT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLlJhdGluZ1RhcmdldD1lLkdyb3VwVHlwZT1lLkNoYW5uZWxUeXBlPWUuTWVzc2FnZVN1YlR5cGU9ZS5NZXNzYWdlVHlwZT1lLkF0dGFjaG1lbnRJbnZhbGlkUmVhc29uPWUuQXR0YWNobWVudFR5cGU9ZS5NZXNzYWdlQWN0aW9uVHlwZT12b2lkIDAsZS5NZXNzYWdlQWN0aW9uVHlwZT17VGV4dDpgdGV4dGAsT3BlblVybDpgb3Blbl91cmxgfSxlLkF0dGFjaG1lbnRUeXBlPXtDYXJkczpgY2FyZHNgLEZpbGU6YGZpbGVgLEltYWdlOmBpbWFnZWAsTWVkaWE6YG1lZGlhYCxJbnZhbGlkOmBpbnZhbGlkYH0sZS5BdHRhY2htZW50SW52YWxpZFJlYXNvbj17SW52YWxpZFNpemU6YGludmFsaWRfc2l6ZWAsSW52YWxpZFR5cGU6YGludmFsaWRfdHlwZWB9LGUuTWVzc2FnZVR5cGU9e01lc3NhZ2U6YG1lc3NhZ2VgLE5vdGU6YG5vdGVgLEV2ZW50OmBldmVudGAsSGVscDpgaGVscGB9LGUuTWVzc2FnZVN1YlR5cGU9e0FnZW50OmBhZ2VudGAsQ29udGFjdDpgY29udGFjdGAsVHJpZ2dlcjpgdHJpZ2dlcmAsQm90OmBib3RgLFN5c3RlbTpgc3lzdGVtYCxBZ2VudEV4dGVybmFsOmBhZ2VudF9leHRlcm5hbGAsRm91bmRFbWFpbDpgZm91bmRfZW1haWxgLENoYXRSZXNvbHZlOmBjaGF0X3Jlc29sdmVgLEVtYWlsOmBlbWFpbGB9LGUuQ2hhbm5lbFR5cGU9e0RlZmF1bHQ6YGRlZmF1bHRgLEVtYWlsOmBlbWFpbGAsRW1haWxJbnRlZ3JhdGlvbjpgZW1haWxfaW50ZWdyYXRpb25gLEZhY2Vib29rTWVzc2VuZ2VyOmBmYWNlYm9va19tZXNzZW5nZXJgLEdtYWlsOmBnbWFpbGAsU21hcnRzdXBwOmBzbWFydHN1cHBgLEluc3RhZ3JhbTpgaW5zdGFncmFtYCxXaGF0c2FwcDpgd2hhdHNhcHBgfTt2YXIgdDsoZnVuY3Rpb24oZSl7ZS5haT1gYWlgLGUuY2hhdGJvdD1gY2hhdGJvdGAsZS5tZXNzYWdlPWBtZXNzYWdlYH0pKHR8fChlLkdyb3VwVHlwZT10PXt9KSk7dmFyIG47KGZ1bmN0aW9uKGUpe2UuQWdlbnQ9YGFnZW50YCxlLkFpPWBhaWB9KShufHwoZS5SYXRpbmdUYXJnZXQ9bj17fSkpfSkpLCRjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5QYXJ0aWNpcGFudFR5cGU9dm9pZCAwO3ZhciB0OyhmdW5jdGlvbihlKXtlLmZyb209YGZyb21gLGUudG89YHRvYCxlLmNjPWBjY2AsZS5iY2M9YGJjY2B9KSh0fHwoZS5QYXJ0aWNpcGFudFR5cGU9dD17fSkpfSkpLGVsPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5NZXNzYWdlQ29udGVudFR5cGU9ZS5NZXNzYWdlQ29udGVudD12b2lkIDA7dmFyIHQ7KGZ1bmN0aW9uKGUpeyhmdW5jdGlvbihlKXtlLlR5cGU9e1RleHQ6YHRleHRgLFVwbG9hZDpgdXBsb2FkYCxSYXRlRm9ybTpgcmF0ZV9mb3JtYCxUaWNrZXRGb3JtOmB0aWNrZXRfZm9ybWAsRW1haWw6YGVtYWlsYH19KShlLk1lc3NhZ2V8fD17fSksKGZ1bmN0aW9uKGUpe2UuVHlwZT17QWdlbnRKb2luOmBhZ2VudF9qb2luYCxBZ2VudEFzc2lnbjpgYWdlbnRfYXNzaWduYCxBZ2VudFVuYXNzaWduOmBhZ2VudF91bmFzc2lnbmAsQWdlbnRMZWF2ZTpgYWdlbnRfbGVhdmVgLENoYXRDbG9zZTpgY2hhdF9jbG9zZWAsQ2hhdFZpc2l0b3JDbG9zZTpgY2hhdF92aXNpdG9yX2Nsb3NlYH19KShlLkV2ZW50fHw9e30pLChmdW5jdGlvbihlKXtlLlR5cGU9e1RleHQ6YHRleHRgLEZvdW5kRW1haWw6YGZvdW5kX2VtYWlsYH19KShlLkhlbHB8fD17fSl9KSh0fHwoZS5NZXNzYWdlQ29udGVudD10PXt9KSksZS5NZXNzYWdlQ29udGVudFR5cGU9ey4uLnQuTWVzc2FnZS5UeXBlLC4uLnQuRXZlbnQuVHlwZSwuLi50LkhlbHAuVHlwZX19KSksdGw9cygoZT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KX0pKSxubD1zKChlPT57dmFyIHQ9ZSYmZS5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlPyhmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKTt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsbik7KCFpfHwoYGdldGBpbiBpPyF0Ll9fZXNNb2R1bGU6aS53cml0YWJsZXx8aS5jb25maWd1cmFibGUpKSYmKGk9e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscixpKX0pOihmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKSxlW3JdPXRbbl19KSksbj1lJiZlLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHIgaW4gZSlyIT09YGRlZmF1bHRgJiYhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJnQobixlLHIpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksbihZYygpLGUpLG4oWGMoKSxlKSxuKFpjKCksZSksbihRYygpLGUpLG4oJGMoKSxlKSxuKGVsKCksZSksbih0bCgpLGUpfSkpLHJsPShlLHQpPT57bGV0IG49e307Zm9yKGxldCByIG9mIHQpe2xldCB0PVN0cmluZyhyW2VdKTtuW3RdPXJ9cmV0dXJuIG59LGlsPSgoKT0+e2xldHtzdWJzY3JpYmU6ZSxzZXQ6dH09Tyh7fSk7cmV0dXJue3N1YnNjcmliZTplLHNldEdyb3VwczplPT57dChybChga2V5YCxlKSl9fX0pKCksYWw9ayhbaWxdLChbZV0pPT5PYmplY3QudmFsdWVzKGUpKSxvbD17YXV0aEZvcm1EcmF3ZXI6YGF1dGhGb3JtRHJhd2VyYCxhdXRoRm9ybVByaXZhY3lOb3RpY2U6YGF1dGhGb3JtUHJpdmFjeU5vdGljZWAsYXV0aEZvcm1Qcml2YWN5Tm90aWNlU3dpdGNoOmBhdXRoRm9ybVByaXZhY3lOb3RpY2VTd2l0Y2hgLGF1dGhGb3JtU3VibWl0QnV0dG9uOmBhdXRoRm9ybVN1Ym1pdEJ1dHRvbmAsYXZhdGFyQWdlbnQ6YGF2YXRhckFnZW50YCxhdmF0YXJCb3Q6YGF2YXRhckJvdGAsYXZhdGFyR3JvdXA6YGF2YXRhckdyb3VwYCxhdmF0YXJJbmZvOmBhdmF0YXJJbmZvYCxidXR0b25BdHRhY2htZW50OmBidXR0b25BdHRhY2htZW50YCxidXR0b25DbG9zZUNoYXQ6YGJ1dHRvbkNsb3NlQ2hhdGAsYnV0dG9uQ2xvc2VEcmF3ZXI6YGJ1dHRvbkNsb3NlRHJhd2VyYCxidXR0b25Db2xsYXBzZUNoYXQ6YGJ1dHRvbkNvbGxhcHNlQ2hhdGAsYnV0dG9uRW1vamk6YGJ1dHRvbkVtb2ppYCxidXR0b25FeHBhbmRDaGF0OmBidXR0b25FeHBhbmRDaGF0YCxidXR0b25NaW5pbWl6ZUNoYXQ6YGJ1dHRvbk1pbmltaXplQ2hhdGAsYnV0dG9uT3B0aW9uczpgYnV0dG9uT3B0aW9uc2AsYnV0dG9uU2VuZDpgYnV0dG9uU2VuZGAsY2hhdFJhdGluZ0RyYXdlcjpgY2hhdFJhdGluZ0RyYXdlcmAsY2hhdFJhdGluZ0Vtb2ppQnV0dG9uOmBjaGF0UmF0aW5nRW1vamlgLGNoYXRSYXRpbmdTZW5kQnV0dG9uOmBjaGF0UmF0aW5nU2VuZEJ1dHRvbmAsY2hhdFJhdGluZ1RleHRhcmVhOmBjaGF0UmF0aW5nVGV4dGFyZWFgLGNoYXRSYXRpbmdGZWVkYmFja0J1dHRvbjpgY2hhdFJhdGluZ0ZlZWRiYWNrQnV0dG9uYCxjaGF0UmF0aW5nQnV0dG9uQWk6YGNoYXRSYXRpbmdCdXR0b25BaWAsY2hhdFJhdGluZ0J1dHRvbkFnZW50OmBjaGF0UmF0aW5nQnV0dG9uQWdlbnRgLGNsb3NlQ2hhdENvbmZpcm1CdXR0b246YGNsb3NlQ2hhdENvbmZpcm1CdXR0b25gLGNsb3NlQ2hhdERlY2xpbmVCdXR0b246YGNsb3NlQ2hhdERlY2xpbmVCdXR0b25gLGNsb3NlQ2hhdERyYXdlcjpgY2xvc2VDaGF0RHJhd2VyYCxmbGFzaE1lc3NhZ2U6YGZsYXNoTWVzc2FnZWAsZ2RwckRyYXdlcjpgZ2RwckRyYXdlcmAsaGVhZGVyVGl0bGU6YGhlYWRlclRpdGxlYCxoZWFkZXJTdGF0dXM6YGhlYWRlclN0YXR1c2AsaGVhZGVyQmFkZ2U6YGhlYWRlckJhZGdlYCxpbmxpbmVFbW9qaVBpY2tlcjpgaW5saW5lRW1vamlQaWNrZXJgLG1lc3NhZ2VBdHRhY2htZW50OmBtZXNzYWdlQXR0YWNobWVudGAsbWVzc2FnZUFnZW50OmBtZXNzYWdlQWdlbnRgLG1lc3NhZ2VCb3Q6YG1lc3NhZ2VCb3RgLG1lc3NhZ2VCb3RSZXBseTpgbWVzc2FnZUJvdFJlcGx5YCxtZXNzYWdlQm90QmFjazpgbWVzc2FnZUJvdEJhY2tgLG1lc3NhZ2VDb250YWN0OmBtZXNzYWdlQ29udGFjdGAsbWVzc2FnZUZpbGU6YG1lc3NhZ2VGaWxlYCxtZXNzYWdlR3JvdXA6YG1lc3NhZ2VHcm91cGAsbWVzc2FnZUltYWdlOmBtZXNzYWdlSW1hZ2VgLG9wdGlvbnNBY2Nlc3NpYmlsaXR5OmBvcHRpb25zQWNjZXNzaWJpbGl0eWAsb3B0aW9uc0RyYXdlcjpgb3B0aW9uc0RyYXdlcmAsb3B0aW9uc0V4cGFuZENoYXQ6YG9wdGlvbnNFeHBhbmRDaGF0YCxvcHRpb25zUHJpdmFjeU5vdGljZTpgb3B0aW9uc1ByaXZhY3lOb3RpY2VgLG9wdGlvbnNTb3VuZHM6YG9wdGlvbnNTb3VuZHNgLG9wdGlvbnNUcmFuc2NyaXB0OmBvcHRpb25zVHJhbnNjcmlwdGAscG9wdXA6YHBvcHVwYCxwb3B1cE1lc3NhZ2U6YHBvcHVwTWVzc2FnZWAscG9wdXBCdXR0b246YHBvcHVwQnV0dG9uYCxwb3B1cEJ1dHRvbkNsb3NlOmBwb3B1cEJ1dHRvbkNsb3NlYCxwcm9kdWN0Q2FyZDpgcHJvZHVjdENhcmRgLHByb2R1Y3RDYXJkQXJyb3dMZWZ0OmBwcm9kdWN0Q2FyZEFycm93TGVmdGAscHJvZHVjdENhcmRBcnJvd1JpZ2h0OmBwcm9kdWN0Q2FyZEFycm93UmlnaHRgLHByb2R1Y3RDYXJkQnV0dG9uOmBwcm9kdWN0Q2FyZEJ1dHRvbmAscHJvZHVjdENhcmRDYXJvdXNlbDpgcHJvZHVjdENhcmRDYXJvdXNlbGAscHJvZHVjdENhcmREZXNjcmlwdGlvbjpgcHJvZHVjdENhcmREZXNjcmlwdGlvbmAscHJvZHVjdENhcmRJbWFnZTpgcHJvZHVjdENhcmRJbWFnZWAscHJvZHVjdENhcmRJbmZvOmBwcm9kdWN0Q2FyZEluZm9gLHByb2R1Y3RDYXJkVGl0bGU6YHByb2R1Y3RDYXJkVGl0bGVgLHN5c3RlbU1lc3NhZ2U6YHN5c3RlbU1lc3NhZ2VgLHRleHRhcmVhOmB0ZXh0YXJlYWAsdGV4dGFyZWFQcmV2aWV3RmlsZTpgdGV4dGFyZWFQcmV2aWV3RmlsZWAsdGV4dGFyZWFQcmV2aWV3SW1hZ2U6YHRleHRhcmVhUHJldmlld0ltYWdlYCx0cmFuc2NyaXB0SW5wdXQ6YHRyYW5zY3JpcHRJbnB1dGAsdHJhbnNjcmlwdFNlbmRCdXR0b246YHRyYW5zY3JpcHRTZW5kYCx0aWNrZXRGb3JtRHJhd2VyOmB0aWNrZXRGb3JtRHJhd2VyYCx0aWNrZXRGb3JtU3VibWl0QnV0dG9uOmB0aWNrZXRGb3JtU3VibWl0QnV0dG9uYCx3aWRnZXRCdXR0b246YHdpZGdldEJ1dHRvbmAsd2lkZ2V0QnV0dG9uRnJhbWU6YHdpZGdldEJ1dHRvbkZyYW1lYCx3aWRnZXRCdXR0b25UZXh0OmB3aWRnZXRCdXR0b250ZXh0YCx3aWRnZXRJbWFnZVByZXZpZXc6YHdpZGdldEltYWdlUHJldmlld2Asd2lkZ2V0TWVzc2VuZ2VyOmB3aWRnZXRNZXNzZW5nZXJgLHdpZGdldE1lc3NlbmdlckZyYW1lOmB3aWRnZXRNZXNzZW5nZXJGcmFtZWAsd2lkZ2V0T25saW5lQmFkZ2U6YHdpZGdldE9ubGluZUJhZGdlYCx3aWRnZXRQb3B1cEZyYW1lOmB3aWRnZXRQb3B1cEZyYW1lYCx3aWRnZXRUeXBpbmdGcmFtZTpgd2lkZ2V0VHlwaW5nRnJhbWVgLHdpZGdldFVucmVhZE1lc3NhZ2VzQmFkZ2U6YHdpZGdldFVucmVhZE1lc3NhZ2VzQmFkZ2VgLHdpZGdldEhlYWRlcjpgd2lkZ2V0SGVhZGVyYH0sc2w9YGh0dHBzOi8vd3d3LnNtYXJ0c3VwcC5jb21gLGNsPWAvcG93ZXJlZC1ieS1zbWFydHN1cHBgLGxsPVtgY3NgLGBlc2AsYGZyYCxgaHVgLGBpdGAsYGRlYCxgbmxgLGBwbGBdLHVsPWBodHRwczovL3d3dy5zbWFydHN1cHAuY29tL215LWRhdGEtYW5kLWdkcHJgLGRsPU8oITEpLGZsPXJzKFUuU2Vzc2lvbklkLGBgKSxwbD0oKT0+e2xldHtwcm90b2NvbDplLGhvc3Q6dH09Vi5nZXRPcHRpb25zKCk7cmV0dXJuYCR7ZT09PWBodHRwYD9gaHR0cGA6YGh0dHBzYH06Ly8ke3R9YH0sbWw9KCk9PntsZXR7bW9iaWxlU2RrOmUsdmlzaXRvcklkOnR9PVYuZ2V0T3B0aW9ucygpO2lmKGUmJnQpcmV0dXJuIHQ7dHJ5e3JldHVybiAkbygpfWNhdGNoKGUpe3JldHVybiBIKFN0cmluZyhlKSksbnVsbH19LGhsPShlLHQpPT57bGV0IG49Zm8oKS5sb2NhdGlvbi5ocmVmO3JldHVybiBlJiZ0JiYobj1gJHtufSR7bi5pbmNsdWRlcyhgP2ApP2AmYDpgP2B9c3MtYm90LXJ1bj0ke3R9YCksbn0sZ2w9KCk9PntKLmNsZWFyTWVzc2FnZXMoKSxtZCgpLEd1LmNsZWFyQXNzaWduZWRBZ2VudElkcygpLFJvKCksa28oVS5WaXNpdG9ySWQpfSxfbD1lPT57dHJ5e2VzKGUpfWNhdGNoKGUpe0goU3RyaW5nKGUpKX19LHZsPWFzeW5jKGU9ITEpPT57bGV0e2tleTp0LGxhbmc6bixpc1ByZXZpZXdNb2RlOnIscHJldmlld1dpdGhvdXRSZXNldDppLHNpdGVQbGF0Zm9ybTphLHRyaWdnZXJhYmxlOm8sX2NoYXRNYXhSZW9wZW5UaW1lOnMsYm90SWQ6Y309Vi5nZXRPcHRpb25zKCk7KHImJiFpfHxlKSYmZ2woKTtsZXQgbD1tbCgpLHU9QShsYik7cmV0dXJue2tleTp0LGlkOmwsY2xpZW50RmluZ2VycHJpbnQ6YXdhaXQgUW8oKSxpc1ByZXZpZXdNb2RlOnIsc2l0ZVBsYXRmb3JtOmEsdHJpZ2dlcmFibGU6byxfY2hhdE1heFJlb3BlblRpbWU6cyxuYW1lOnUubmFtZSxlbWFpbDp1LmVtYWlsLHBob25lOnUucGhvbmUsZ3JvdXA6dS5ncm91cCxsYW5nOnUubGFuZz8/bix2YXJpYWJsZXM6dS52YXJpYWJsZXMsd2lkZ2V0VmVyc2lvbjpgMy4wYCx2aXNpdHM6dHMoKSxpc1dpZGdldFZpc2libGU6QShSXyksaXNXaWRnZXRPcGVuOkEoWCkscGFnZVVybDpobChyLGMpLHBhZ2VUaXRsZTpmbygpLmRvY3VtZW50LnRpdGxlLGRvbWFpbjpmbygpLmxvY2F0aW9uLmhvc3RuYW1lfHxgdW5rbm93bmAscmVmZXJlcjpmbygpLmRvY3VtZW50LnJlZmVycmVyLGJ1bmRsZVZlcnNpb246YGUwN2MyMDhhMzhlNmY1MDg0YzhlYjQ2MGI5NThhNDJmNzc4YTU5NjVgfX0seWw9KGUsdCk9PntsZXR7aXNQcmV2aWV3TW9kZTpufT1WLmdldE9wdGlvbnMoKTshZSYmdCE9PUEoZmwpJiYhbiYmKGdsKCksQShYKSYmWC5zZXQoITEpKSxmbC5zZXQodCl9LGJsPSgoKT0+e2xldHtzdWJzY3JpYmU6ZSxzZXQ6dH09TygpO3JldHVybntzdWJzY3JpYmU6ZSxpbml0aWFsaXplOmU9PnQoZSl9fSkoKSx4bD1gRklMRWAsU2w9MmUzLENsPWU9PmUuc3BsaXQoYC9gKVswXT09PWBpbWFnZWAsd2w9ZT0+ISFlLm1hdGNoKC9edmlkZW9cLyg/Om1wNHx3ZWJtfG9nZyl7MX0kLyk7YXN5bmMgZnVuY3Rpb24gVGwoZSl7aWYoIUZpbGVSZWFkZXIpcmV0dXJuIGpvKGBGaWxlUmVhZGVyIG5vdCBzdXBwb3J0ZWRgKSxudWxsO2xldCB0PW5ldyBGaWxlUmVhZGVyO3JldHVybiBuZXcgUHJvbWlzZShuPT57dC5vbmxvYWQ9KCk9PntpZighdC5yZXN1bHQpe24obnVsbCk7cmV0dXJufW4odHlwZW9mIHQucmVzdWx0PT1gc3RyaW5nYCYmdC5yZXN1bHQuc3RhcnRzV2l0aChgZGF0YTppbWFnZWApP3QucmVzdWx0Om51bGwpfSx0Lm9uZXJyb3I9KCk9PntqbyhgRmFpbGVkIHRvIGxvYWQgaW1hZ2UgZGF0YWApLG4obnVsbCl9LHQucmVhZEFzRGF0YVVSTChlKX0pfWFzeW5jIGZ1bmN0aW9uIEVsKGUpe3JldHVybiBuZXcgUHJvbWlzZSh0PT57bGV0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgaW1nYCk7bi5vbmxvYWQ9KCk9Pnt0KHt3aWR0aDpuLndpZHRoLGhlaWdodDpuLmhlaWdodH0pfSxuLm9uZXJyb3I9KCk9PntqbyhgRmFpbGVkIHRvIG9idGFpbiBpbWFnZSBkaW1lbnNpb25zYCksdChudWxsKX0sbi5zcmM9ZX0pfWZ1bmN0aW9uIERsKGUpe3JldHVybntob3Jpem9udGFsOmUud2lkdGg+ZS5oZWlnaHQsdmVydGljYWw6ZS5oZWlnaHQ+ZS53aWR0aH19dmFyIE9sPWBhci5hei5iZy5ici5icy5jYS5jbi5jcy5kYS5kZS5lbC5lbi5lcy5ldC5mYS5maS5maWwuZnIuaGUuaGkuaHIuaHUuaXMuaXQuamEua2EubHQubHYubWsubmwubm8ucGwucHQucm8ucnUuc2suc2wuc3Iuc3YudGgudHIudHcudWtgLnNwbGl0KGAuYCksa2w9cygoZT0+e3ZhciB0PWUmJmUuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLkZldGNoQWRhcHRlcj12b2lkIDA7dmFyIG49dChhYygpKTtlLkZldGNoQWRhcHRlcj1jbGFzcyBle2NvbnN0cnVjdG9yKGUpe3RoaXMub3B0aW9ucz17fSx0aGlzLm9wdGlvbnM9ZX1hc3luYyByZXF1ZXN0KGUsdCxyLGksYSl7bGV0IG89ey4uLnRoaXMub3B0aW9ucywuLi5hfSxzPWk/YD9gK24uZGVmYXVsdC5zdHJpbmdpZnkoaSk6YGA7dHJ5e2xldCBuPWF3YWl0IGZldGNoKGAke28uYmFzZVVSTHx8YGB9JHt0fSR7c31gLHttZXRob2Q6ZSxib2R5OnI/SlNPTi5zdHJpbmdpZnkocik6bnVsbCwuLi5vfSk7cmV0dXJue3N0YXR1czpuLnN0YXR1cyxzdGF0dXNUZXh0Om4uc3RhdHVzVGV4dCxkYXRhOmF3YWl0IG4uanNvbigpLGhlYWRlcnM6Wy4uLm4uaGVhZGVycy5lbnRyaWVzKCldLnJlZHVjZSgoZSxbdCxuXSk9PihlW3RdPW4sZSkse30pfX1jYXRjaChlKXt0aHJvdyBlLmlzT3BlbkFwaUVycm9yPSEwLGV9fXdpdGhPcHRpb25zKHQpe3JldHVybiBuZXcgZSh0KX19fSkpLEFsPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Qcm9qZWN0TmFtZT1lLkVycm9yQ29kZT12b2lkIDAsZS5FcnJvckNvZGU9e0JhZFJlcXVlc3Q6YGJhZF9yZXF1ZXN0YCxOb3RBbGxvd2VkOmBub3RfYWxsb3dlZGAsTm90Rm91bmQ6YG5vdF9mb3VuZGAsRm9yYmlkZGVuOmBmb3JiaWRkZW5gLFRvb01hbnlSZXF1ZXN0czpgdG9vX21hbnlfcmVxdWVzdHNgLFVuYXV0aG9yaXplZDpgdW5hdXRob3JpemVkYCxVbnByb2Nlc3NhYmxlOmB1bnByb2Nlc3NhYmxlYH0sZS5Qcm9qZWN0TmFtZT17V2lkZ2V0OmB3aWRnZXRgLENoYXRib3Q6YGNoYXRib3RgfX0pKSxqbD1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLGUuVHJhbnNsYXRpb25zQ2xpZW50UmF3PWUuVHJhbnNsYXRpb25zQ2xpZW50PXZvaWQgMCxlLlRyYW5zbGF0aW9uc0NsaWVudD1jbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLmFkYXB0ZXI9ZSx0aGlzLnJhdz1uZXcgdCh0aGlzLmFkYXB0ZXIpfWdldERlZmF1bHRzKGUsdCxyKXtyZXR1cm4gdGhpcy5hZGFwdGVyLnJlcXVlc3QoYGdldGAsYC8ke2V9L3RyYW5zbGF0aW9ucy9sYW5nLyR7dH0vZGVmYXVsdHNgLG51bGwsbnVsbCxyKS50aGVuKG4pfX07dmFyIHQ9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5hZGFwdGVyPWV9Z2V0RGVmYXVsdHMoZSx0LG4pe3JldHVybiB0aGlzLmFkYXB0ZXIucmVxdWVzdChgZ2V0YCxgLyR7ZX0vdHJhbnNsYXRpb25zL2xhbmcvJHt0fS9kZWZhdWx0c2AsbnVsbCxudWxsLG4pfX07ZS5UcmFuc2xhdGlvbnNDbGllbnRSYXc9dDtmdW5jdGlvbiBuKGUpe3JldHVybiBlLmRhdGF9fSkpLE1sPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5TbWFydHN1cHBUcmFuc2xhdGlvbnNDbGllbnRBcGk9dm9pZCAwO3ZhciB0PWpsKCksbj1jbGFzcyBle2NvbnN0cnVjdG9yKGUpe3RoaXMuYWRhcHRlcj1lLHRoaXMudHJhbnNsYXRpb25zPW5ldyB0LlRyYW5zbGF0aW9uc0NsaWVudChlKX13aXRoT3B0aW9ucyh0KXtyZXR1cm4gbmV3IGUodGhpcy5hZGFwdGVyLndpdGhPcHRpb25zKHQpKX19O2UuU21hcnRzdXBwVHJhbnNsYXRpb25zQ2xpZW50QXBpPW4sZS5kZWZhdWx0PW59KSksTmw9cygoZT0+e3ZhciB0PWUmJmUuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT8oZnVuY3Rpb24oZSx0LG4scil7cj09PXZvaWQgMCYmKHI9bik7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LG4pOyghaXx8KGBnZXRgaW4gaT8hdC5fX2VzTW9kdWxlOmkud3JpdGFibGV8fGkuY29uZmlndXJhYmxlKSkmJihpPXtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W25dfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIsaSl9KTooZnVuY3Rpb24oZSx0LG4scil7cj09PXZvaWQgMCYmKHI9biksZVtyXT10W25dfSkpLG49ZSYmZS5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKGUsbil7Zm9yKHZhciByIGluIGUpciE9PWBkZWZhdWx0YCYmIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLHIpJiZ0KG4sZSxyKX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLG4oQWwoKSxlKSxuKE1sKCksZSksbihqbCgpLGUpLGUuZGVmYXVsdD1NbCgpLlNtYXJ0c3VwcFRyYW5zbGF0aW9uc0NsaWVudEFwaX0pKSxQbD1rbCgpLEZsPU5sKCksSWw9ZT0+T2wuaW5jbHVkZXMoZSksTGw9ZT0+SWwoZSk/ZTpgZW5gLFJsPSgpPT57bGV0e2xhbmc6ZX09Vi5nZXRPcHRpb25zKCkse2xhbmc6dH09QShsYik7cmV0dXJuIExsKHQ/P2UpfTtmdW5jdGlvbiB6bCgpe3JldHVybiBuZXcgRmwuVHJhbnNsYXRpb25zQ2xpZW50KG5ldyBQbC5GZXRjaEFkYXB0ZXIoe2Jhc2VVUkw6YCR7Vi5nZXRPcHRpb25zKCkudHJhbnNsYXRpb25zQmFzZVVybH0vYXBpL3YxYH0pKX12YXIgQmw9YXN5bmMgZT0+emwoKS5nZXREZWZhdWx0cyhGbC5Qcm9qZWN0TmFtZS5XaWRnZXQsZSksVmw9KGUsdCk9PntsZXR7dHJhbnNsYXRlczpufT1WLmdldE9wdGlvbnMoKTtyZXR1cm57Li4uZSwuLi5uW3RdJiZuW3RdfX0sSGw9TyhgZW5gKSxVbD1PKHt9KSxXbD1hc3luYyBlPT57dHJ5e2xldCB0PVZsKGF3YWl0IEJsKGUpLGUpO1VsLnVwZGF0ZShuPT4oey4uLm4sW2VdOnR9KSl9Y2F0Y2h7am8oYEZldGNoIHRyYW5zbGF0aW9ucyBvZiAnJHtlfScgbGFuZ3VhZ2UgZmFpbGVkLmApfX0sR2w9YXN5bmMgZT0+e0EoVWwpW2VdfHxhd2FpdCBXbChlKSxIbC5zZXQoZSl9LEtsPWFzeW5jKCk9PntsZXQgZT1SbCgpO0hsLnNldChlKSxhd2FpdCBXbChlKX0scWw9ZT0+e2xldCB0PUEoSGwpLG49ey4uLkEoVWwpW3RdLC4uLmV9O1VsLnVwZGF0ZShlPT4oey4uLmUsW3RdOm59KSl9LEpsPShlLHQsbik9PntsZXQgcj1BKFVsKSxpPWB8JHt0fXxgO2lmKE9iamVjdC5rZXlzKHIpLmxlbmd0aD09PTApcmV0dXJuIGk7bGV0IGE9cltlXT8uW3RdfHxpO3JldHVybiBPYmplY3Qua2V5cyhuKS5tYXAoZT0+e2xldCB0PVJlZ0V4cChgeyR7ZX19YCxgZ2ApO2E9YS5yZXBsYWNlKHQsbltlXSl9KSxhfSxXPWsoW0hsLFVsXSwoW2VdKT0+KHQsbj17fSk9PkpsKGUsdCxuKSksWWw9KCgpPT57bGV0IGU9TyhbXSkse3N1YnNjcmliZTp0LHVwZGF0ZTpufT1lLHI9KCk9PkEoZSkubWFwKGU9PmUuZmlsZSksaT0odCxuKT0+KG58fEEoZSkpLmZpbmQoZT0+ZS5maWxlLm5hbWU9PT10KXx8bnVsbCxhPWU9Pih7ZmlsZTplLHByZXZpZXc6e30scHJldmlld1N0YXRlOmBub25lYCx1cGxvYWRTdGF0dXM6YG5vbmVgfSksbz1lPT57bGV0IHQ9QXJyYXkuaXNBcnJheShlKT9lOltlXTtuKGU9PmUubGVuZ3RoK3QubGVuZ3RoPjU/KGdzKGAke0EoVykoYGZpbGVVcGxvYWQudG9vTWFueUZpbGVzYCl9IDVgKSxlKTpbLi4uZSwuLi50Lm1hcChhKV0pLG0odCl9LHM9ZT0+e24odD0+dC5maWx0ZXIodD0+dC5maWxlIT09ZSkpfSxjPSgpPT5BKGUpLmxlbmd0aCxsPSgpPT5jKCk+PTUsdT0oKT0+ZS5zZXQoW10pLGQ9KCk9PntlLnVwZGF0ZShlPT4oZS5mb3JFYWNoKGU9PmUudXBsb2FkU3RhdHVzPWBpbi1wcm9ncmVzc2ApLGUpKX0sZj10PT57ZS51cGRhdGUoZT0+e2xldCBuPWkodCxlKTtyZXR1cm4gbiYmKG4udXBsb2FkU3RhdHVzPWBkb25lYCksZX0pfSxwPWU9PmkoZS5uYW1lKT8ucHJldmlld1N0YXRlIT09YG5vbmVgLG09ZT0+e2UuZm9yRWFjaChlPT52b2lkIGgoZSkpfSxoPWFzeW5jIHQ9PntpZihwKHQpKXJldHVybjtsZXQgbj1hd2FpdCBUbCh0KSxyPW4/YXdhaXQgRWwobik6bnVsbCxhPXI/RGwocik6bnVsbDtlLnVwZGF0ZShlPT57bGV0IG89aSh0Lm5hbWUsZSk7cmV0dXJuIG8/KG8ucHJldmlld1N0YXRlPWByZWFkeWAsby5wcmV2aWV3PXtkYXRhOm4sZGltZW5zaW9uczpyLG9yaWVudGF0aW9uOmF9LFsuLi5lXSk6ZX0pfTtyZXR1cm57c3Vic2NyaWJlOnQsZ2V0RmlsZXM6cixmaW5kOmksYWRkOm8scmVtb3ZlOnMsY291bnQ6Yyxpc0xpbWl0UmVhY2hlZDpsLGNsZWFyOnUsc2V0VXBsb2FkaW5nU3RhdHVzOmQsc2V0RmlsZVVwbG9hZGVkOmZ9fSkoKSxYbD0oKCk9PntsZXQgZT1bXTtyZXR1cm4gT2JqZWN0LmZyZWV6ZSh7cHVzaDp0PT57ZS5wdXNoKHQpfSxleGVjdXRlQWxsOigpPT57Zm9yKDtlLmxlbmd0aD4wOyl7bGV0IHQ9ZS5zaGlmdCgpO3QmJnQoKX19fSl9KSgpLFpsPSgpPT57bGV0e3dpZGdldFYzVXJsOmV9PVYuZ2V0T3B0aW9ucygpO3JldHVybmAke2V9L2Fzc2V0cy9pbWFnZXMvZGVmYXVsdC1haS1pZGVudGl0eS5wbmdgfSxRbD1lPT4oey4uLmUsYXZhdGFyVXJsOmUuYXZhdGFyVXJsfHxabCgpfSksJGw9KCgpPT57bGV0e3VwZGF0ZTplLHN1YnNjcmliZTp0LHNldDpufT1PKHt9KTtyZXR1cm57c3Vic2NyaWJlOnQsc2V0SWRlbnRpdGllczplPT57bihybChgaWRgLGUubWFwKFFsKSkpfSxhZGRJZGVudGl0eTp0PT57ZShlPT4oey4uLmUsW3QuaWRdOnR9KSl9LHVwZGF0ZUlkZW50aXR5Oih0LG4pPT57ZShlPT5lW3RdP3suLi5lLFt0XTp7Li4uZVt0XSwuLi5ufX06ZSl9fX0pKCksRz1ubCgpLEs9dShNYygpLDEpLGV1PWU9Pnt2byhgaW5pdCBkYXRhYCxlKSxkbC5zZXQoITApLHlsKGUuY2hhdCxlLnNlc3Npb25JZCk7bGV0IHQ9ZS52aXNpdG9yLmlkO19sKHQpLG5zKGUudmlzaXRvci52aXNpdHMpLE11LnNldFZpc2l0b3JEYXRhKGUudmlzaXRvciksaG8oe3ZpZDp0fSksYmwuaW5pdGlhbGl6ZShlLmZpbGVVcGxvYWQpLG9zLnNldChlLmJyb3dzZXIpLEJ1LnNldEFnZW50cyhlLmFjY291bnQuYWdlbnRzKSwkbC5zZXRJZGVudGl0aWVzKGUuYWNjb3VudC5ib3RJZGVudGl0aWVzKSxlLmNoYXQ/LnZpcnR1YWxBZ2VudCE9PXZvaWQgMCYmQnUuc2V0VmlydHVhbEFnZW50KGUuY2hhdD8udmlydHVhbEFnZW50KSxpbC5zZXRHcm91cHMoZS5hY2NvdW50Lmdyb3VwcyksaGQoZS5hY2NvdW50LnN0YXR1cyksZS5jaGF0JiYocXAoKSYmaWQuc2V0KGUuY2hhdC5yYXRpbmdTdWdnZXN0ZWRUYXJnZXR8fG51bGwpLGVkLnNldChlLmNoYXQuc3RhdHVzKSxkZChlLmNoYXQuaXNDbG9zZWQpLHJkLnNldChlLmNoYXQudW5yZWFkSW5mby5sYXN0UmVhZEF0KSxKLnNldE1lc3NhZ2VzKGUuY2hhdC5tZXNzYWdlcy5maWx0ZXIoZT0+IVpmKGUpKSksR3Uuc2V0QXNzaWduZWRBZ2VudElkcyhlLmNoYXQuYXNzaWduZWRJZHM/P1tdKSxlLmNoYXQud2lkZ2V0T3B0aW9ucyYmWHUudXBkYXRlR2VuZXJhbE9wdGlvbnMoZS5jaGF0LndpZGdldE9wdGlvbnMpKSxDXy5zZXQoITApLHouZW1pdChgd2lkZ2V0SW5pdGAsITApLFhsLmV4ZWN1dGVBbGwoKX0sdHU9ZT0+e2NvbnNvbGUuZXJyb3IoZSl9LG51PSgpPT57ZGwuc2V0KCExKX0scnU9KHtjaGF0SWQ6ZX0pPT57TXAuc2V0KCExKSxhZC5zZXQoZSksZWQuc2V0KEsuQ2hhdFN0YXR1cy5PcGVuKSxYdS5zZXRNZXNzYWdlT3B0aW9ucyh7ZGlzYWJsZUF0dGFjaG1lbnRzOiExfSl9LGl1PSgpPT57ZWQuc2V0KEsuQ2hhdFN0YXR1cy5TZXJ2ZWQpLGRkKCExKX0sYXU9KHttZXNzYWdlOmV9KT0+e2xldHtjbG9zZVR5cGU6dCxhZ2VudElkOm59PWUuY29udGVudC5kYXRhOyh0PT09YGFnZW50X2Nsb3NlYHx8dD09PWBib3RfY2xvc2VgKSYmKEd1LnNldEFzc2lnbmVkQWdlbnRJZHMoW10pLGVkLnNldChLLkNoYXRTdGF0dXMuQ2xvc2VkKSxKLmFkZE1lc3NhZ2UoZSksei5lbWl0KGBjaGF0Q2xvc2VkYCxlKSx0PT09YGFnZW50X2Nsb3NlYCYmUW0obj9BKFZ1KG4pKT8uZnVsbG5hbWU6dm9pZCAwKSl9LG91PSh7bWVzc2FnZTplfSk9PntxcCgpJiZZcCh4cyksZGQoITAse2J5VmlzaXRvcjohMH0pLEouYWRkTWVzc2FnZShlKSx6LmVtaXQoYGNoYXRWaXNpdG9yQ2xvc2VkYCxlKSxabSgpfSxzdT0oe2NoYW5nZXM6ZX0pPT57ZS53aWRnZXRPcHRpb25zJiZYdS51cGRhdGVHZW5lcmFsT3B0aW9ucyhlLndpZGdldE9wdGlvbnMpLGUuaXNDbG9zZWQhPT12b2lkIDAmJmRkKGUuaXNDbG9zZWQpLGUudmlydHVhbEFnZW50IT09dm9pZCAwJiZCdS5zZXRWaXJ0dWFsQWdlbnQoZS52aXJ0dWFsQWdlbnQpfSxjdT1hc3luYyh7bWVzc2FnZTplfSk9PntpZihaZihlKSlyZXR1cm47bGV0IHQ9QSh6XykmJllmKGUpOyFBKFgpJiZRZihlKSYmIXQ/QXAoZSk6YXdhaXQgSi5hZGRNZXNzYWdlKGUpLF9kKCksZS53aWRnZXRPcHRpb25zJiZYdS5zZXRNZXNzYWdlT3B0aW9ucyhlLndpZGdldE9wdGlvbnMpLHQmJlVfKCksei5lbWl0KGBtZXNzYWdlUmVjZWl2ZWRgLGUpfSxsdT1lPT57Y3UoZSl9LHV1PSh7bWVzc2FnZUlkOmUsZGVsZXRlZEF0OnR9KT0+e0EoSilbZV0/LnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkNoYXRSZXNvbHZlP0ouZGVsZXRlTWVzc2FnZShlKTpKLm1hcmtNZXNzYWdlQXNEZWxldGVkKGUsdCl9LGR1PSh7bWVzc2FnZTplfSk9PntKLnJlcGxhY2VNZXNzYWdlKGUpLGUud2lkZ2V0T3B0aW9ucyYmZS5pZD09PUEoQnApJiZYdS5zZXRNZXNzYWdlT3B0aW9ucyhlLndpZGdldE9wdGlvbnMpfSxmdT0oe21lc3NhZ2U6ZSxhZ2VudDp0fSk9PntHdS5hZGRBc3NpZ25lZEFnZW50SWQoZS5jb250ZW50LmRhdGEuYWdlbnRJZCksSi5hZGRNZXNzYWdlKGUpLHouZW1pdChgYWdlbnRKb2luZWRgLHQpfSxwdT0oe21lc3NhZ2U6ZX0pPT57R3UucmVtb3ZlQXNzaWduZWRBZ2VudElkKGUuY29udGVudC5kYXRhLmFnZW50SWQpLEouYWRkTWVzc2FnZShlKX0sbXU9KHttZXNzYWdlOmV9KT0+e0d1LmFkZEFzc2lnbmVkQWdlbnRJZChlLmNvbnRlbnQuZGF0YS5hc3NpZ25lZCksSi5hZGRNZXNzYWdlKGUpfSxodT0oe21lc3NhZ2U6ZX0pPT57R3UucmVtb3ZlQXNzaWduZWRBZ2VudElkKGUuY29udGVudC5kYXRhLnVuYXNzaWduZWQpLEouYWRkTWVzc2FnZShlKX0sZ3U9ZT0+eyFlLnR5cGluZy5pcyYmQShNcCl8fG5kLnNldChlLnR5cGluZy5pcyl9LF91PWU9PntyZC5zZXQoZS5sYXN0UmVhZEF0KX0sdnU9KHttZXNzYWdlOmUscmF0aW5nOnR9KT0+e0oudXBkYXRlTWVzc2FnZVJhdGluZyhlKSx6LmVtaXQoYGNoYXRSYXRlZGAsdCl9LHl1PWU9Pnt6LmVtaXQoYHRyYW5zY3JpcHRQZGZgLGUpfSxidT0oe2lkOmUsY2hhbmdlczp0fSk9PntCdS51cGRhdGVBZ2VudChlLHQpfSx4dT0oe2lkOmUsc3RhdHVzOnR9KT0+e0J1LnVwZGF0ZUFnZW50KGUse3N0YXR1czp0fSl9LFN1PSh7c3RhdHVzOmV9KT0+e2hkKGUpfSxDdT1lPT57TXUudXBkYXRlVmlzaXRvckRhdGEoZSl9LHd1PWU9Pnt6LmVtaXQoYGNvbnRhY3RBY3F1aXJlZGAsZSl9LFR1PWU9PnsocXAoKXx8SnAoKSkmJmlkLnNldChlLnJhdGluZ1N1Z2dlc3RlZFRhcmdldCl9LEV1PSgpPT57QShpZCkmJmlkLnNldChudWxsKX0sRHU9KHtpZDplLGlzQWN0aXZlOnR9KT0+eyRsLnVwZGF0ZUlkZW50aXR5KGUse2lzQWN0aXZlOnR9KX0sT3U9RGMoKSxrdT1hc3luYyBlPT57bGV0IHQ9YXdhaXQgVi5hd2FpdE9wdGlvbnMoKTtyZXR1cm4gbmV3IEsuV2Vic29ja2V0VmlzaXRvckNsaWVudCh7ZGF0YTplLGNvbm5lY3Rpb246e3VybDpwbCgpLHNvY2tldDp0Lm1vY2s/bmV3IE91LlNvY2tldE1vY2sodC5tb2NrKTp2b2lkIDAsYmFsYW5jZXJVcmw6dC5iYWxhbmNlclVybCxvcHRpb25zOntwYXRoOmAvc29ja2V0YCxhdXRvQ29ubmVjdDohMSxyZWNvbm5lY3Rpb246ITB9fX0pfSxBdT0oKT0+e2xldCBlPW51bGwsdD0oKT0+ISFlLG49KCk9PntpZighZSl0aHJvdyBFcnJvcihgVmlzaXRvciBjbGllbnQgaXMgbm90IGluaXRpYWxpemVkYCk7cmV0dXJuIGV9LHI9YXN5bmMgdD0+e2U9YXdhaXQga3UoYXdhaXQgdmwodCkpLGUmJihqdShlKSxhd2FpdCBlLmNvbm5lY3QoKS5jYXRjaChlPT57am8oYEZhaWxlZCBjb25uZWN0IHRvIHNlcnZlci5gLGUpfSkpfTtyZXR1cm4gT2JqZWN0LmZyZWV6ZSh7Z2V0Q2xpZW50Om4saW5pdENsaWVudDpyLHJlbG9hZENsaWVudDphc3luYyh0LG4pPT57YXdhaXQgZT8uZGlzY29ubmVjdCgpLHQmJlYudXBkYXRlT3B0aW9ucyh7bW9jazp0fSksYXdhaXQgcihuKX0saXNJbml0aWFsaXplZDp0fSl9LGp1PWU9PntlLm9uKGBpbml0aWFsaXplZGAsZXUpLGUub24oYGVycm9yYCx0dSksZS5vbihgZGlzY29ubmVjdGAsbnUpLGUub24oYGNoYXQub3BlbmVkYCxydSksZS5vbihgY2hhdC5zZXJ2ZWRgLGl1KSxlLm9uKGBjaGF0LmNsb3NlZGAsYXUpLGUub24oYGNoYXQudmlzaXRvcl9jbG9zZWRgLG91KSxlLm9uKGBjaGF0LnVwZGF0ZWRgLHN1KSxlLm9uKGBjaGF0Lm1lc3NhZ2VfcmVjZWl2ZWRgLGx1KSxlLm9uKGBjaGF0Lm1lc3NhZ2VfdXBkYXRlZGAsZHUpLGUub24oYGNoYXQubWVzc2FnZV9kZWxldGVkYCx1dSksZS5vbihgY2hhdC5hZ2VudF9qb2luZWRgLGZ1KSxlLm9uKGBjaGF0LmFnZW50X2xlZnRgLHB1KSxlLm9uKGBjaGF0LmFnZW50X2Fzc2lnbmVkYCxtdSksZS5vbihgY2hhdC5hZ2VudF91bmFzc2lnbmVkYCxodSksZS5vbihgY2hhdC5hZ2VudF90eXBpbmdgLGd1KSxlLm9uKGBjaGF0LmNvbnRhY3RfcmVhZGAsX3UpLGUub24oYGNoYXQucmF0ZWRgLHZ1KSxlLm9uKGBjaGF0LnJhdGluZ19zdWdnZXN0ZWRgLFR1KSxlLm9uKGBjaGF0LnJhdGluZ19jYW5jZWxsZWRgLEV1KSxlLm9uKGBjaGF0LnRyYW5zY3JpcHRfcGRmYCx5dSksZS5vbihgYWdlbnQudXBkYXRlZGAsYnUpLGUub24oYGFnZW50LnN0YXR1c191cGRhdGVkYCx4dSksZS5vbihgYWNjb3VudC51cGRhdGVkYCxTdSksZS5vbihgdmlzaXRvci51cGRhdGVkYCxDdSksZS5vbihgY29udGFjdC5hY3F1aXJlZGAsd3UpLGUub24oYGlkZW50aXR5LnN0YXR1c191cGRhdGVkYCxEdSl9LHE9QXUoKSxNdT0oKCk9PntsZXQgZT1PKG51bGwpLHtzdWJzY3JpYmU6dCxzZXQ6bix1cGRhdGU6cn09ZSxpPWU9PntuKGUpfSxhPWU9PntyKHQ9PnQ/ey4uLnQsLi4uZX06bnVsbCl9LG89KGUsdCk9Pnt0cnl7cS5nZXRDbGllbnQoKS51cGRhdGUoe1tlXTp0fSl9Y2F0Y2godCl7am8oYFVwZGF0ZSBvZiB2aXNpdG9yIHByb3BlcnR5ICcke2V9JyBmYWlsZWQuYCxTdHJpbmcodCkpfX07cmV0dXJue3N1YnNjcmliZTp0LHNldFZpc2l0b3JEYXRhOmksdXBkYXRlVmlzaXRvckRhdGE6YSx1cGRhdGVWaXNpdG9yUHJvcGVydHk6KGUsdCk9PntpZighQShDXykpe3ViKGUsdCk7cmV0dXJufWEoe1tlXTp0fSksbyhlLHQpfSx1cGRhdGVWaXNpdG9yVmFyaWFibGVzOnQ9PntpZighQShDXykpe3ViKGB2YXJpYWJsZXNgLHQpO3JldHVybn1sZXQgbj1BKGUpO2lmKCFuKXJldHVybjtsZXQgcj1uLnZhcmlhYmxlczthKHt2YXJpYWJsZXM6ey4uLnIsLi4udH19KTtsZXQgaT17fTtPYmplY3Qua2V5cyh0KS5mb3JFYWNoKGU9Pnt0W2VdIT09cltlXSYmKGk9ey4uLmksW2VdOnRbZV19KX0pLE9iamVjdC5rZXlzKGkpLmxlbmd0aCE9PTAmJm8oYHZhcmlhYmxlc2AsaSl9LHVwZGF0ZVZpc2l0b3JDb250YWN0RGF0YTp0PT57aWYoIUEoQ18pKXt1YihgY29udGFjdERhdGFgLHtwcm9wZXJ0aWVzOnR9KTtyZXR1cm59bGV0IG49QShlKTtpZighbilyZXR1cm47bGV0IHI9bj8uY29udGFjdERhdGE/LnByb3BlcnRpZXM7YSh7dmFyaWFibGVzOnsuLi5yLC4uLnR9fSk7bGV0IGk9e307T2JqZWN0LmtleXModCkuZm9yRWFjaChlPT57KCFyfHx0W2VdIT09cltlXSkmJihpPXsuLi5pLFtlXTp0W2VdfSl9KSxPYmplY3Qua2V5cyhpKS5sZW5ndGghPT0wJiZvKGBjb250YWN0RGF0YWAse3Byb3BlcnRpZXM6dH0pfX19KSgpLE51PShlLHQpPT5lLmhhc093blByb3BlcnR5KHQpLFB1PWU9PnR5cGVvZiBlPT1gYm9vbGVhbmAsRnU9ZT0+dHlwZW9mIGU9PWBudW1iZXJgLEl1PWU9PnR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiYhQXJyYXkuaXNBcnJheShlKSxMdT1lPT50eXBlb2YgZT09YHN0cmluZ2B8fGUgaW5zdGFuY2VvZiBTdHJpbmcsUnU9ZT0+THUoZSl8fEZ1KGUpfHxQdShlKSx6dT1lPT57bGV0IHQ9e307cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2gobj0+e2xldCByPWVbbl07UnUocik/dFtuXT1yOkl1KHIpJiZOdShyLGB2YWx1ZWApJiZSdShyLnZhbHVlKSYmKHRbbl09ci52YWx1ZSl9KSx0fSxCdT0oKCk9PntsZXR7dXBkYXRlOmUsc3Vic2NyaWJlOnQsc2V0Om59PU8oe30pO3JldHVybntzdWJzY3JpYmU6dCxzZXRBZ2VudHM6ZT0+e24ocmwoYGlkYCxlKSl9LGFkZEFnZW50OnQ9PntlKGU9Pih7Li4uZSxbdC5pZF06dH0pKX0sdXBkYXRlQWdlbnQ6KHQsbik9PntlKGU9PmVbdF0/ey4uLmUsW3RdOnsuLi5lW3RdLC4uLm59fTplKX0sc2V0VmlydHVhbEFnZW50OnQ9PntsZXR7ZGVzY3JpcHRpb246bixhdmF0YXI6cixuYW1lOml9PXQsYT17fTtuJiYoYS5kZXNjcmlwdGlvbj1uKSxyJiYoYS5hdmF0YXI9ciksaSYmKGEuZnVsbG5hbWU9aSksZShlPT4oT2JqZWN0LmtleXMoZSkuZm9yRWFjaCh0PT57ZVt0XT17Li4uZVt0XSwuLi5hfX0pLGUpKX19fSkoKSxWdT1lPT5rKFtCdV0sKFt0XSk9PnRbZV0/P251bGwpLEh1PWsoW2soW0J1XSwoW2VdKT0+T2JqZWN0LnZhbHVlcyhlKS5maWx0ZXIoZT0+IWUuZGlzYWJsZWQpKSxNdV0sKFtlLHRdKT0+e2xldCBuPXQ/Lmdyb3VwO3JldHVybiFufHxuPT09YGRlZmF1bHRgP2U6ZS5maWx0ZXIoZT0+ZS5ncm91cHMubGVuZ3RoPT09MHx8ZS5ncm91cHMuaW5jbHVkZXMobikpfSksVXU9ayhbSHVdLChbZV0pPT5lLmZpbHRlcihlPT5lLnN0YXR1cz09PUsuQWdlbnRTdGF0dXMuT25saW5lKSksV3U9ZT0+e2lmKGUpcmV0dXJuYCR7ZX0/c2l6ZT04MGA7bGV0e3dpZGdldFYzVXJsOnR9PVYuZ2V0T3B0aW9ucygpO3JldHVybmAke3R9L2Fzc2V0cy9pbWFnZXMvZGVmYXVsdC1hdmF0YXIucG5nYH0sR3U9KCgpPT57bGV0e3N1YnNjcmliZTplLHNldDp0LHVwZGF0ZTpufT1PKFtdKTtyZXR1cm57c3Vic2NyaWJlOmUsc2V0QXNzaWduZWRBZ2VudElkczplPT57dChlKX0sYWRkQXNzaWduZWRBZ2VudElkOmU9PntuKHQ9PlsuLi5uZXcgU2V0KFsuLi50LGVdKV0pfSxyZW1vdmVBc3NpZ25lZEFnZW50SWQ6ZT0+e24odD0+dC5maWx0ZXIodD0+dCE9PWUpKX0sY2xlYXJBc3NpZ25lZEFnZW50SWRzOigpPT57dChbXSl9fX0pKCksS3U9ayhbR3UsQnVdLChbZSx0XSk9PmUubWFwKGU9PnRbZV0pLmZpbHRlcihCb29sZWFuKSkscXU9ayhbS3VdLChbZV0pPT5lLmxlbmd0aD4wKSxKdT1rKFtLdV0sKFtlXSk9PmUuZmlsdGVyKGU9PiFlLmRpc2FibGVkKSksWXU9ayhbS3VdLChbZV0pPT5lLnNvbWUoZT0+ZS5zdGF0dXM9PT1LLkFnZW50U3RhdHVzLk9ubGluZSkpLFh1PSgoKT0+e2xldCBlPU8oe2Rpc2FibGVBdHRhY2htZW50czohMSxkaXNhYmxlQXV0aGVudGljYXRpb246ITEsZGlzYWJsZUlucHV0OiExfSksdD1PKHt9KTtyZXR1cm57c3Vic2NyaWJlOmsoW2UsdF0sKFtlLHRdKT0+KHsuLi5lLC4uLnR9KSkuc3Vic2NyaWJlLHVwZGF0ZUdlbmVyYWxPcHRpb25zOnQ9PntlLnVwZGF0ZShlPT4oey4uLmUsLi4udH0pKX0sc2V0TWVzc2FnZU9wdGlvbnM6ZT0+e3Quc2V0KGUpfX19KSgpLFp1PWsoW1h1XSwoW2VdKT0+ZS5kaXNhYmxlQXR0YWNobWVudHMpLFF1PWZ1bmN0aW9uKGUpe3JldHVybiBlW2UuT3Blbj0wXT1gT3BlbmAsZVtlLkNsb3NlZD0xXT1gQ2xvc2VkYCxlW2UuQ2xvc2VkQnlWaXNpdG9yPTJdPWBDbG9zZWRCeVZpc2l0b3JgLGV9KHt9KSwkdT1PKEsuQWNjb3VudFN0YXR1cy5PZmZsaW5lKSxlZD1PKG51bGwpLHRkPU8oUXUuT3BlbiksbmQ9TyghMSkscmQ9TyhudWxsKSxpZD1PKG51bGwpLGFkPU8oYGApLG9kPWsoW2VkXSwoW2VdKT0+ZT09PUsuQ2hhdFN0YXR1cy5QZW5kaW5nKTtrKFtlZF0sKFtlXSk9PmUhPT1udWxsKTt2YXIgc2Q9ayhbZWRdLChbZV0pPT5lPT09Sy5DaGF0U3RhdHVzLlNlcnZlZCksY2Q9ayhbZWRdLChbZV0pPT5lPT09Sy5DaGF0U3RhdHVzLk9wZW4pLGxkPWsoW2VkXSwoW2VdKT0+ZT09PUsuQ2hhdFN0YXR1cy5DbG9zZWQpLHVkPWsoW3NkLHRkXSwoW2UsdF0pPT5lJiZ0PT09UXUuT3BlbiksZGQ9KGUse2J5VmlzaXRvcjp0PSExfT17fSk9PntlP3RkLnNldCh0P1F1LkNsb3NlZEJ5VmlzaXRvcjpRdS5DbG9zZWQpOnRkLnNldChRdS5PcGVuKX0sZmQ9ayhbJHUsSnVdLChbZSx0XSk9PnQubGVuZ3RoPT09MD9lPT09Sy5BY2NvdW50U3RhdHVzLk9ubGluZTp0LnNvbWUoZT0+ZS5zdGF0dXM9PT1LLkFnZW50U3RhdHVzLk9ubGluZSkpLHBkPWsoW1h1XSwoW2VdKT0+ZS5kaXNhYmxlQXV0aGVudGljYXRpb24pLG1kPSgpPT57bmQuc2V0KCExKSxlZC5zZXQobnVsbCksZGQoITEpLHJkLnNldChudWxsKX0saGQ9ZT0+e2U9PT1LLkFjY291bnRTdGF0dXMuT2ZmbGluZVdpdGhBST8kdS5zZXQoSy5BY2NvdW50U3RhdHVzLk9ubGluZSk6JHUuc2V0KGUpfSxnZD0oKT0+e3JkLnNldChuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpLHEuZ2V0Q2xpZW50KCkuY2hhdFJlYWQoKX0sX2Q9KCk9PntsZXQgZT1wbygpLnZpc2liaWxpdHlTdGF0ZT09PWB2aXNpYmxlYDshQShMcCl8fCFBKFgpfHwhZXx8IUEoTl8pfHxnZCgpfSx2ZD1lPT4oey4uLlNzLGNoYXRJZDpBKGFkKSxjcmVhdGVkQXQ6bmV3IERhdGUoKS50b0lTT1N0cmluZygpLGNvbnRlbnQ6ey4uLlNzLmNvbnRlbnQsZGF0YTp7dGFyZ2V0OmV9fX0pLHlkPSgpPT57ZGQoITAse2J5VmlzaXRvcjohMH0pLHEuZ2V0Q2xpZW50KCkuY2hhdENsb3NlKCksVmMoKSxxcCgpfHxXXygpfSxiZD1hc3luYyBlPT57YXdhaXQgSi5hZGRNZXNzYWdlKHZkKGUpKX0seGQ9KCk9PntKLmRlbGV0ZU1lc3NhZ2UoeHMpfTtmdW5jdGlvbiBTZChlKXtyZXR1cm4gZS5sZW5ndGg9PT0wP251bGw6ZVtlLmxlbmd0aC0xXX12YXIgQ2Q9ZT0+ZS5zbGljZSgoZS5sYXN0SW5kZXhPZihgLmApLTE+Pj4wKSsyKS50b0xvd2VyQ2FzZSgpLHdkPWU9PntsZXQgdD1lLG49MCxyPVtgQmAsYEtCYCxgTUJgLGBHQmBdO2Zvcig7dD49MTAyNCYmbjxyLmxlbmd0aC0xOyl0Lz0xMDI0LG4rKztyZXR1cm57c2l6ZTpNYXRoLmZsb29yKHQpLHVuaXQ6cltuXX19LFRkPWU9PntsZXQgdD1TZChlLnNwbGl0KGAuYCkpO3JldHVybiB0P3QudG9VcHBlckNhc2UoKTp4bH0sRWQ9KGUsdCk9PmAke2V9P25hbWU9JHt0fWAsRGQ9YXN5bmMoZSx0KT0+e2xldCBuPXEuZ2V0Q2xpZW50KCkscj1bXTtmb3IobGV0e2ZpbGU6aX1vZiBlKXtsZXQgZT1hd2FpdCBuLmNoYXRVcGxvYWRJbml0KCksYT1uZXcgRm9ybURhdGE7YS5hcHBlbmQoYGZpbGVgLGksaS5uYW1lKTt0cnl7aWYoIShhd2FpdCBmZXRjaChlLnVybCx7bWV0aG9kOmBwb3N0YCxib2R5OmF9KSkub2spdGhyb3cgRXJyb3IoYFVwbG9hZCBmYWlsZWRgKTtyLnB1c2goZS50b2tlbil9Y2F0Y2h7am8oYEZpbGUgWyR7aS5uYW1lfV0gdXBsb2FkIGZhaWxlZGApLGdzKEEoVykoYGZpbGVVcGxvYWQuZmlsZXNXZXJlbnRQcm9jZXNzZWRgKSl9ZmluYWxseXt0KGkpfX1yZXR1cm4gcn0sT2Q9YXN5bmMgZT0+e2xldCB0PXEuZ2V0Q2xpZW50KCk7dHJ5e2F3YWl0IHQuY2hhdFVwbG9hZEZpbmlzaChlKX1jYXRjaHtqbyhgRmFpbGVkIHRvIGZpbmlzaCBmaWxlIHVwbG9hZCBmb3IgJHtlfWApfX0sa2Q9MWUzLEFkPTZlNCxqZD0zNmU1LE1kPTg2NGU1LE5kPTI2MjhlNixQZD0zMTUzNmU2LEZkPWU9Pk1hdGguZmxvb3IoZS9BZCkqQWQsSWQ9KGUsdCk9PkZkKG5ldyBEYXRlKGUpLmdldFRpbWUoKSk9PT1GZChuZXcgRGF0ZSh0KS5nZXRUaW1lKCkpLExkPShlLHQpPT57bGV0IG49bmV3IERhdGUoZSkscj1uZXcgRGF0ZSh0KTtyZXR1cm4gbi5nZXREYXRlKCk9PT1yLmdldERhdGUoKSYmbi5nZXRNb250aCgpPT09ci5nZXRNb250aCgpJiZuLmdldEZ1bGxZZWFyKCk9PT1yLmdldEZ1bGxZZWFyKCl9LFJkPShlLHQpPT5lLmdldFRpbWUoKS10LmdldFRpbWUoKSx6ZD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse2hvdXI6YG51bWVyaWNgLG1pbnV0ZTpgbnVtZXJpY2B9KSxCZD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse3llYXI6YG51bWVyaWNgLG1vbnRoOmBudW1lcmljYCxkYXk6YG51bWVyaWNgLGhvdXI6YG51bWVyaWNgLG1pbnV0ZTpgbnVtZXJpY2B9KSxWZD1lPT5MZChuZXcgRGF0ZSxlKT96ZDpCZCxIZD0oKT0+dHlwZW9mIEludGw8YHVgJiZgUmVsYXRpdmVUaW1lRm9ybWF0YGluIEludGwsVWQ9ZT0+SGQoKT9uZXcgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQoZSx7bnVtZXJpYzpgYXV0b2B9KTpudWxsLFdkPVt7dW5pdDpgeWVhcmAsYW1vdW50OlBkfSx7dW5pdDpgbW9udGhgLGFtb3VudDpOZH0se3VuaXQ6YGRheWAsYW1vdW50Ok1kfSx7dW5pdDpgaG91cmAsYW1vdW50OmpkfSx7dW5pdDpgbWludXRlYCxhbW91bnQ6QWR9LHt1bml0OmBzZWNvbmRgLGFtb3VudDprZH1dLEdkPShlLHQpPT57bGV0IG49VWQodCk7aWYoIW4pcmV0dXJuIEgoYFJlbGF0aXZlIHRpbWUgZm9ybWF0IG5vdCBzdXBwb3J0ZWRgKSxgYDtmb3IobGV0e3VuaXQ6dCxhbW91bnQ6cn1vZiBXZCl7aWYodD09PWBzZWNvbmRgKXJldHVybiBuLmZvcm1hdCgwLGBzZWNvbmRgKTtpZihNYXRoLmFicyhlKT5yKXJldHVybiBuLmZvcm1hdChNYXRoLnJvdW5kKGUvciksdCl9cmV0dXJuYGB9LEtkPShlLHQ9MzAwKT0+e2xldCBuO3JldHVybiguLi5yKT0+e258fD0oZSguLi5yKSxzZXRUaW1lb3V0KCgpPT5uPW51bGwsdCkpfX0scWQ9L1tcMC1cdUQ3RkZcdUUwMDAtXHVGRkZGXXxbXHVEODAwLVx1REJGRl1bXHVEQzAwLVx1REZGRl18W1x1RDgwMC1cdURCRkZdKD8hW1x1REMwMC1cdURGRkZdKXwoPzpbXlx1RDgwMC1cdURCRkZdfF4pW1x1REMwMC1cdURGRkZdLyxKZD0vW1wwLVx4MUZceDdGLVx4OUZdLyxZZD0vWyEtIyUtXCosLVwvOjtcP0BcWy1cXV9ce1x9XHhBMVx4QTdceEFCXHhCNlx4QjdceEJCXHhCRlx1MDM3RVx1MDM4N1x1MDU1QS1cdTA1NUZcdTA1ODlcdTA1OEFcdTA1QkVcdTA1QzBcdTA1QzNcdTA1QzZcdTA1RjNcdTA1RjRcdTA2MDlcdTA2MEFcdTA2MENcdTA2MERcdTA2MUJcdTA2MUQtXHUwNjFGXHUwNjZBLVx1MDY2RFx1MDZENFx1MDcwMC1cdTA3MERcdTA3RjctXHUwN0Y5XHUwODMwLVx1MDgzRVx1MDg1RVx1MDk2NFx1MDk2NVx1MDk3MFx1MDlGRFx1MEE3Nlx1MEFGMFx1MEM3N1x1MEM4NFx1MERGNFx1MEU0Rlx1MEU1QVx1MEU1Qlx1MEYwNC1cdTBGMTJcdTBGMTRcdTBGM0EtXHUwRjNEXHUwRjg1XHUwRkQwLVx1MEZENFx1MEZEOVx1MEZEQVx1MTA0QS1cdTEwNEZcdTEwRkJcdTEzNjAtXHUxMzY4XHUxNDAwXHUxNjZFXHUxNjlCXHUxNjlDXHUxNkVCLVx1MTZFRFx1MTczNVx1MTczNlx1MTdENC1cdTE3RDZcdTE3RDgtXHUxN0RBXHUxODAwLVx1MTgwQVx1MTk0NFx1MTk0NVx1MUExRVx1MUExRlx1MUFBMC1cdTFBQTZcdTFBQTgtXHUxQUFEXHUxQjVBLVx1MUI2MFx1MUI3RFx1MUI3RVx1MUJGQy1cdTFCRkZcdTFDM0ItXHUxQzNGXHUxQzdFXHUxQzdGXHUxQ0MwLVx1MUNDN1x1MUNEM1x1MjAxMC1cdTIwMjdcdTIwMzAtXHUyMDQzXHUyMDQ1LVx1MjA1MVx1MjA1My1cdTIwNUVcdTIwN0RcdTIwN0VcdTIwOERcdTIwOEVcdTIzMDgtXHUyMzBCXHUyMzI5XHUyMzJBXHUyNzY4LVx1Mjc3NVx1MjdDNVx1MjdDNlx1MjdFNi1cdTI3RUZcdTI5ODMtXHUyOTk4XHUyOUQ4LVx1MjlEQlx1MjlGQ1x1MjlGRFx1MkNGOS1cdTJDRkNcdTJDRkVcdTJDRkZcdTJENzBcdTJFMDAtXHUyRTJFXHUyRTMwLVx1MkU0Rlx1MkU1Mi1cdTJFNURcdTMwMDEtXHUzMDAzXHUzMDA4LVx1MzAxMVx1MzAxNC1cdTMwMUZcdTMwMzBcdTMwM0RcdTMwQTBcdTMwRkJcdUE0RkVcdUE0RkZcdUE2MEQtXHVBNjBGXHVBNjczXHVBNjdFXHVBNkYyLVx1QTZGN1x1QTg3NC1cdUE4NzdcdUE4Q0VcdUE4Q0ZcdUE4RjgtXHVBOEZBXHVBOEZDXHVBOTJFXHVBOTJGXHVBOTVGXHVBOUMxLVx1QTlDRFx1QTlERVx1QTlERlx1QUE1Qy1cdUFBNUZcdUFBREVcdUFBREZcdUFBRjBcdUFBRjFcdUFCRUJcdUZEM0VcdUZEM0ZcdUZFMTAtXHVGRTE5XHVGRTMwLVx1RkU1Mlx1RkU1NC1cdUZFNjFcdUZFNjNcdUZFNjhcdUZFNkFcdUZFNkJcdUZGMDEtXHVGRjAzXHVGRjA1LVx1RkYwQVx1RkYwQy1cdUZGMEZcdUZGMUFcdUZGMUJcdUZGMUZcdUZGMjBcdUZGM0ItXHVGRjNEXHVGRjNGXHVGRjVCXHVGRjVEXHVGRjVGLVx1RkY2NV18XHVEODAwW1x1REQwMC1cdUREMDJcdURGOUZcdURGRDBdfFx1RDgwMVx1REQ2RnxcdUQ4MDJbXHVEQzU3XHVERDFGXHVERDNGXHVERTUwLVx1REU1OFx1REU3Rlx1REVGMC1cdURFRjZcdURGMzktXHVERjNGXHVERjk5LVx1REY5Q118XHVEODAzW1x1REVBRFx1REY1NS1cdURGNTlcdURGODYtXHVERjg5XXxcdUQ4MDRbXHVEQzQ3LVx1REM0RFx1RENCQlx1RENCQ1x1RENCRS1cdURDQzFcdURENDAtXHVERDQzXHVERDc0XHVERDc1XHVEREM1LVx1RERDOFx1RERDRFx1REREQlx1RERERC1cdUREREZcdURFMzgtXHVERTNEXHVERUE5XXxcdUQ4MDVbXHVEQzRCLVx1REM0Rlx1REM1QVx1REM1Qlx1REM1RFx1RENDNlx1RERDMS1cdURERDdcdURFNDEtXHVERTQzXHVERTYwLVx1REU2Q1x1REVCOVx1REYzQy1cdURGM0VdfFx1RDgwNltcdURDM0JcdURENDQtXHVERDQ2XHVEREUyXHVERTNGLVx1REU0Nlx1REU5QS1cdURFOUNcdURFOUUtXHVERUEyXHVERjAwLVx1REYwOV18XHVEODA3W1x1REM0MS1cdURDNDVcdURDNzBcdURDNzFcdURFRjdcdURFRjhcdURGNDMtXHVERjRGXHVERkZGXXxcdUQ4MDlbXHVEQzcwLVx1REM3NF18XHVEODBCW1x1REZGMVx1REZGMl18XHVEODFBW1x1REU2RVx1REU2Rlx1REVGNVx1REYzNy1cdURGM0JcdURGNDRdfFx1RDgxQltcdURFOTctXHVERTlBXHVERkUyXXxcdUQ4MkZcdURDOUZ8XHVEODM2W1x1REU4Ny1cdURFOEJdfFx1RDgzQVtcdURENUVcdURENUZdLyxYZD0vWyBceEEwXHUxNjgwXHUyMDAwLVx1MjAwQVx1MjAyOFx1MjAyOVx1MjAyRlx1MjA1Rlx1MzAwMF0vO2Z1bmN0aW9uIFpkKGUpe2xldCB0PXt9O2V8fD17fSx0LnNyY19Bbnk9cWQuc291cmNlLHQuc3JjX0NjPUpkLnNvdXJjZSx0LnNyY19aPVhkLnNvdXJjZSx0LnNyY19QPVlkLnNvdXJjZSx0LnNyY19aUENjPVt0LnNyY19aLHQuc3JjX1AsdC5zcmNfQ2NdLmpvaW4oYHxgKSx0LnNyY19aQ2M9W3Quc3JjX1osdC5zcmNfQ2NdLmpvaW4oYHxgKTtsZXQgbj1gWz48772cXWA7cmV0dXJuIHQuc3JjX3BzZXVkb19sZXR0ZXI9YCg/Oig/IWArbitgfGArdC5zcmNfWlBDYytgKWArdC5zcmNfQW55K2ApYCx0LnNyY19pcDQ9YCg/OigyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pXFwuKXszfSgyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pYCx0LnNyY19hdXRoPWAoPzooPzooPyFgK3Quc3JjX1pDYytgfFtAL1xcW1xcXSgpXSkuKStAKT9gLHQuc3JjX3BvcnQ9YCg/OjooPzo2KD86WzAtNF1cXGR7M318NSg/OlswLTRdXFxkezJ9fDUoPzpbMC0yXVxcZHwzWzAtNV0pKSl8WzEtNV0/XFxkezEsNH0pKT9gLHQuc3JjX2hvc3RfdGVybWluYXRvcj1gKD89JHxgK24rYHxgK3Quc3JjX1pQQ2MrYCkoPyFgKyhlW2AtLS1gXT9gLSg/IS0tKXxgOmAtfGApK2BffDpcXGR8XFwuLXxcXC4oPyEkfGArdC5zcmNfWlBDYytgKSlgLHQuc3JjX3BhdGg9YCg/OlsvPyNdKD86KD8hYCt0LnNyY19aQ2MrYHxbPjzvvZxdfFsoKVtcXF17fS4sIic/IVxcLTtdKS58XFxbKD86KD8hYCt0LnNyY19aQ2MrYHxcXF0pLikqXFxdfFxcKCg/Oig/IWArdC5zcmNfWkNjK2B8WyldKS4pKlxcKXxcXHsoPzooPyFgK3Quc3JjX1pDYytgfFt9XSkuKSpcXH18XFwiKD86KD8hYCt0LnNyY19aQ2MrYHxbIl0pLikrXFwifFxcJyg/Oig/IWArdC5zcmNfWkNjK2B8WyddKS4pK1xcJ3xcXCcoPz1gK3Quc3JjX3BzZXVkb19sZXR0ZXIrYHxbLV0pfFxcLnsyLH1bYS16QS1aMC05JS8mXXxcXC4oPyFgK3Quc3JjX1pDYytgfFsuXXwkKXxgKyhlW2AtLS1gXT9gXFwtKD8hLS0oPzpbXi1dfCQpKSg/Oi0qKXxgOmBcXC0rfGApK2AsKD8hYCt0LnNyY19aQ2MrYHwkKXw7KD8hYCt0LnNyY19aQ2MrYHwkKXxcXCErKD8hYCt0LnNyY19aQ2MrYHxbIV18JCl8XFw/KD8hYCt0LnNyY19aQ2MrYHxbP118JCkpK3xcXC8pP2AsdC5zcmNfZW1haWxfbmFtZT1gW1xcLTs6Jj1cXCtcXCQsXFwuYS16QS1aMC05X11bXFwtOzomPVxcK1xcJCxcXCJcXC5hLXpBLVowLTlfXSpgLHQuc3JjX3huPWB4bi0tW2EtejAtOVxcLV17MSw1OX1gLHQuc3JjX2RvbWFpbl9yb290PWAoPzpgK3Quc3JjX3huK2B8YCt0LnNyY19wc2V1ZG9fbGV0dGVyK2B7MSw2M30pYCx0LnNyY19kb21haW49YCg/OmArdC5zcmNfeG4rYHwoPzpgK3Quc3JjX3BzZXVkb19sZXR0ZXIrYCl8KD86YCt0LnNyY19wc2V1ZG9fbGV0dGVyK2AoPzotfGArdC5zcmNfcHNldWRvX2xldHRlcitgKXswLDYxfWArdC5zcmNfcHNldWRvX2xldHRlcitgKSlgLHQuc3JjX2hvc3Q9YCg/Oig/Oig/Oig/OmArdC5zcmNfZG9tYWluK2ApXFwuKSpgK3Quc3JjX2RvbWFpbitgKSlgLHQudHBsX2hvc3RfZnV6enk9YCg/OmArdC5zcmNfaXA0K2B8KD86KD86KD86YCt0LnNyY19kb21haW4rYClcXC4pKyg/OiVUTERTJSkpKWAsdC50cGxfaG9zdF9ub19pcF9mdXp6eT1gKD86KD86KD86YCt0LnNyY19kb21haW4rYClcXC4pKyg/OiVUTERTJSkpYCx0LnNyY19ob3N0X3N0cmljdD10LnNyY19ob3N0K3Quc3JjX2hvc3RfdGVybWluYXRvcix0LnRwbF9ob3N0X2Z1enp5X3N0cmljdD10LnRwbF9ob3N0X2Z1enp5K3Quc3JjX2hvc3RfdGVybWluYXRvcix0LnNyY19ob3N0X3BvcnRfc3RyaWN0PXQuc3JjX2hvc3QrdC5zcmNfcG9ydCt0LnNyY19ob3N0X3Rlcm1pbmF0b3IsdC50cGxfaG9zdF9wb3J0X2Z1enp5X3N0cmljdD10LnRwbF9ob3N0X2Z1enp5K3Quc3JjX3BvcnQrdC5zcmNfaG9zdF90ZXJtaW5hdG9yLHQudHBsX2hvc3RfcG9ydF9ub19pcF9mdXp6eV9zdHJpY3Q9dC50cGxfaG9zdF9ub19pcF9mdXp6eSt0LnNyY19wb3J0K3Quc3JjX2hvc3RfdGVybWluYXRvcix0LnRwbF9ob3N0X2Z1enp5X3Rlc3Q9YGxvY2FsaG9zdHx3d3dcXC58XFwuXFxkezEsM31cXC58KD86XFwuKD86JVRMRFMlKSg/OmArdC5zcmNfWlBDYytgfD58JCkpYCx0LnRwbF9lbWFpbF9mdXp6eT1gKF58YCtuK2B8InxcXCh8YCt0LnNyY19aQ2MrYCkoYCt0LnNyY19lbWFpbF9uYW1lK2BAYCt0LnRwbF9ob3N0X2Z1enp5X3N0cmljdCtgKWAsdC50cGxfbGlua19mdXp6eT0iKF58KD8hWy46L1xcLV9AXSkoPzpbJCs8PT5eYHzvvZxdfCIrdC5zcmNfWlBDYysiKSkoKD8hWyQrPD0+XmB8772cXSkiK3QudHBsX2hvc3RfcG9ydF9mdXp6eV9zdHJpY3QrdC5zcmNfcGF0aCtgKWAsdC50cGxfbGlua19ub19pcF9mdXp6eT0iKF58KD8hWy46L1xcLV9AXSkoPzpbJCs8PT5eYHzvvZxdfCIrdC5zcmNfWlBDYysiKSkoKD8hWyQrPD0+XmB8772cXSkiK3QudHBsX2hvc3RfcG9ydF9ub19pcF9mdXp6eV9zdHJpY3QrdC5zcmNfcGF0aCtgKWAsdH1mdW5jdGlvbiBRZChlKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLmZvckVhY2goZnVuY3Rpb24odCl7dCYmT2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihuKXtlW25dPXRbbl19KX0pLGV9ZnVuY3Rpb24gJGQoZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX1mdW5jdGlvbiBlZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBTdHJpbmddYH1mdW5jdGlvbiB0ZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBPYmplY3RdYH1mdW5jdGlvbiBuZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBSZWdFeHBdYH1mdW5jdGlvbiByZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBGdW5jdGlvbl1gfWZ1bmN0aW9uIGFmKGUpe3JldHVybiBlLnJlcGxhY2UoL1suPyorXiRbXF1cXCgpe318LV0vZyxgXFwkJmApfXZhciBvZj17ZnV6enlMaW5rOiEwLGZ1enp5RW1haWw6ITAsZnV6enlJUDohMX07ZnVuY3Rpb24gc2YoZSl7cmV0dXJuIE9iamVjdC5rZXlzKGV8fHt9KS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZXx8b2YuaGFzT3duUHJvcGVydHkodCl9LCExKX12YXIgY2Y9eyJodHRwOiI6e3ZhbGlkYXRlOmZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLnNsaWNlKHQpO3JldHVybiBuLnJlLmh0dHB8fChuLnJlLmh0dHA9UmVnRXhwKGBeXFwvXFwvYCtuLnJlLnNyY19hdXRoK24ucmUuc3JjX2hvc3RfcG9ydF9zdHJpY3Qrbi5yZS5zcmNfcGF0aCxgaWApKSxuLnJlLmh0dHAudGVzdChyKT9yLm1hdGNoKG4ucmUuaHR0cClbMF0ubGVuZ3RoOjB9fSwiaHR0cHM6IjpgaHR0cDpgLCJmdHA6IjpgaHR0cDpgLCIvLyI6e3ZhbGlkYXRlOmZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLnNsaWNlKHQpO3JldHVybiBuLnJlLm5vX2h0dHB8fChuLnJlLm5vX2h0dHA9UmVnRXhwKGBeYCtuLnJlLnNyY19hdXRoK2AoPzpsb2NhbGhvc3R8KD86KD86YCtuLnJlLnNyY19kb21haW4rYClcXC4pK2Arbi5yZS5zcmNfZG9tYWluX3Jvb3QrYClgK24ucmUuc3JjX3BvcnQrbi5yZS5zcmNfaG9zdF90ZXJtaW5hdG9yK24ucmUuc3JjX3BhdGgsYGlgKSksbi5yZS5ub19odHRwLnRlc3Qocik/dD49MyYmZVt0LTNdPT09YDpgfHx0Pj0zJiZlW3QtM109PT1gL2A/MDpyLm1hdGNoKG4ucmUubm9faHR0cClbMF0ubGVuZ3RoOjB9fSwibWFpbHRvOiI6e3ZhbGlkYXRlOmZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLnNsaWNlKHQpO3JldHVybiBuLnJlLm1haWx0b3x8KG4ucmUubWFpbHRvPVJlZ0V4cChgXmArbi5yZS5zcmNfZW1haWxfbmFtZStgQGArbi5yZS5zcmNfaG9zdF9zdHJpY3QsYGlgKSksbi5yZS5tYWlsdG8udGVzdChyKT9yLm1hdGNoKG4ucmUubWFpbHRvKVswXS5sZW5ndGg6MH19fSxsZj1gYVtjZGVmZ2lsbW5vcXJzdHV3eHpdfGJbYWJkZWZnaGlqbW5vcnN0dnd5el18Y1thY2RmZ2hpa2xtbm9ydXZ3eHl6XXxkW2Vqa21vel18ZVtjZWdyc3R1XXxmW2lqa21vcl18Z1thYmRlZmdoaWxtbnBxcnN0dXd5XXxoW2ttbnJ0dV18aVtkZWxtbm9xcnN0XXxqW2Vtb3BdfGtbZWdoaW1ucHJ3eXpdfGxbYWJjaWtyc3R1dnldfG1bYWNkZWdoa2xtbm9wcXJzdHV2d3h5el18blthY2VmZ2lsb3BydXpdfG9tfHBbYWVmZ2hrbG1ucnN0d3ldfHFhfHJbZW9zdXddfHNbYWJjZGVnaGlqa2xtbm9ydHV2eHl6XXx0W2NkZmdoamtsbW5vcnR2d3pdfHVbYWdrc3l6XXx2W2FjZWdpbnVdfHdbZnNdfHlbZXRdfHpbYW13XWAsdWY9YGJpenxjb218ZWR1fGdvdnxuZXR8b3JnfHByb3x3ZWJ8eHh4fGFlcm98YXNpYXxjb29wfGluZm98bXVzZXVtfG5hbWV8c2hvcHzRgNGEYC5zcGxpdChgfGApO2Z1bmN0aW9uIGRmKGUpe2UuX19pbmRleF9fPS0xLGUuX190ZXh0X2NhY2hlX189YGB9ZnVuY3Rpb24gZmYoZSl7cmV0dXJuIGZ1bmN0aW9uKHQsbil7bGV0IHI9dC5zbGljZShuKTtyZXR1cm4gZS50ZXN0KHIpP3IubWF0Y2goZSlbMF0ubGVuZ3RoOjB9fWZ1bmN0aW9uIHBmKCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7dC5ub3JtYWxpemUoZSl9fWZ1bmN0aW9uIG1mKGUpe2xldCB0PWUucmU9WmQoZS5fX29wdHNfXyksbj1lLl9fdGxkc19fLnNsaWNlKCk7ZS5vbkNvbXBpbGUoKSxlLl9fdGxkc19yZXBsYWNlZF9ffHxuLnB1c2gobGYpLG4ucHVzaCh0LnNyY194biksdC5zcmNfdGxkcz1uLmpvaW4oYHxgKTtmdW5jdGlvbiByKGUpe3JldHVybiBlLnJlcGxhY2UoYCVUTERTJWAsdC5zcmNfdGxkcyl9dC5lbWFpbF9mdXp6eT1SZWdFeHAocih0LnRwbF9lbWFpbF9mdXp6eSksYGlgKSx0LmxpbmtfZnV6enk9UmVnRXhwKHIodC50cGxfbGlua19mdXp6eSksYGlgKSx0Lmxpbmtfbm9faXBfZnV6enk9UmVnRXhwKHIodC50cGxfbGlua19ub19pcF9mdXp6eSksYGlgKSx0Lmhvc3RfZnV6enlfdGVzdD1SZWdFeHAocih0LnRwbF9ob3N0X2Z1enp5X3Rlc3QpLGBpYCk7bGV0IGk9W107ZS5fX2NvbXBpbGVkX189e307ZnVuY3Rpb24gYShlLHQpe3Rocm93IEVycm9yKGAoTGlua2lmeUl0KSBJbnZhbGlkIHNjaGVtYSAiYCtlK2AiOiBgK3QpfU9iamVjdC5rZXlzKGUuX19zY2hlbWFzX18pLmZvckVhY2goZnVuY3Rpb24odCl7bGV0IG49ZS5fX3NjaGVtYXNfX1t0XTtpZihuPT09bnVsbClyZXR1cm47bGV0IHI9e3ZhbGlkYXRlOm51bGwsbGluazpudWxsfTtpZihlLl9fY29tcGlsZWRfX1t0XT1yLHRmKG4pKXtuZihuLnZhbGlkYXRlKT9yLnZhbGlkYXRlPWZmKG4udmFsaWRhdGUpOnJmKG4udmFsaWRhdGUpP3IudmFsaWRhdGU9bi52YWxpZGF0ZTphKHQsbikscmYobi5ub3JtYWxpemUpP3Iubm9ybWFsaXplPW4ubm9ybWFsaXplOm4ubm9ybWFsaXplP2EodCxuKTpyLm5vcm1hbGl6ZT1wZigpO3JldHVybn1pZihlZihuKSl7aS5wdXNoKHQpO3JldHVybn1hKHQsbil9KSxpLmZvckVhY2goZnVuY3Rpb24odCl7ZS5fX2NvbXBpbGVkX19bZS5fX3NjaGVtYXNfX1t0XV0mJihlLl9fY29tcGlsZWRfX1t0XS52YWxpZGF0ZT1lLl9fY29tcGlsZWRfX1tlLl9fc2NoZW1hc19fW3RdXS52YWxpZGF0ZSxlLl9fY29tcGlsZWRfX1t0XS5ub3JtYWxpemU9ZS5fX2NvbXBpbGVkX19bZS5fX3NjaGVtYXNfX1t0XV0ubm9ybWFsaXplKX0pLGUuX19jb21waWxlZF9fW2BgXT17dmFsaWRhdGU6bnVsbCxub3JtYWxpemU6cGYoKX07bGV0IG89T2JqZWN0LmtleXMoZS5fX2NvbXBpbGVkX18pLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdC5sZW5ndGg+MCYmZS5fX2NvbXBpbGVkX19bdF19KS5tYXAoYWYpLmpvaW4oYHxgKTtlLnJlLnNjaGVtYV90ZXN0PVJlZ0V4cChgKF58KD8hXykoPzpbPjzvvZxdfGArdC5zcmNfWlBDYytgKSkoYCtvK2ApYCxgaWApLGUucmUuc2NoZW1hX3NlYXJjaD1SZWdFeHAoYChefCg/IV8pKD86Wz48772cXXxgK3Quc3JjX1pQQ2MrYCkpKGArbytgKWAsYGlnYCksZS5yZS5zY2hlbWFfYXRfc3RhcnQ9UmVnRXhwKGBeYCtlLnJlLnNjaGVtYV9zZWFyY2guc291cmNlLGBpYCksZS5yZS5wcmV0ZXN0PVJlZ0V4cChgKGArZS5yZS5zY2hlbWFfdGVzdC5zb3VyY2UrYCl8KGArZS5yZS5ob3N0X2Z1enp5X3Rlc3Quc291cmNlK2ApfEBgLGBpYCksZGYoZSl9ZnVuY3Rpb24gaGYoZSx0KXtsZXQgbj1lLl9faW5kZXhfXyxyPWUuX19sYXN0X2luZGV4X18saT1lLl9fdGV4dF9jYWNoZV9fLnNsaWNlKG4scik7dGhpcy5zY2hlbWE9ZS5fX3NjaGVtYV9fLnRvTG93ZXJDYXNlKCksdGhpcy5pbmRleD1uK3QsdGhpcy5sYXN0SW5kZXg9cit0LHRoaXMucmF3PWksdGhpcy50ZXh0PWksdGhpcy51cmw9aX1mdW5jdGlvbiBnZihlLHQpe2xldCBuPW5ldyBoZihlLHQpO3JldHVybiBlLl9fY29tcGlsZWRfX1tuLnNjaGVtYV0ubm9ybWFsaXplKG4sZSksbn1mdW5jdGlvbiBfZihlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIF9mKSlyZXR1cm4gbmV3IF9mKGUsdCk7dHx8c2YoZSkmJih0PWUsZT17fSksdGhpcy5fX29wdHNfXz1RZCh7fSxvZix0KSx0aGlzLl9faW5kZXhfXz0tMSx0aGlzLl9fbGFzdF9pbmRleF9fPS0xLHRoaXMuX19zY2hlbWFfXz1gYCx0aGlzLl9fdGV4dF9jYWNoZV9fPWBgLHRoaXMuX19zY2hlbWFzX189UWQoe30sY2YsZSksdGhpcy5fX2NvbXBpbGVkX189e30sdGhpcy5fX3RsZHNfXz11Zix0aGlzLl9fdGxkc19yZXBsYWNlZF9fPSExLHRoaXMucmU9e30sbWYodGhpcyl9X2YucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9fc2NoZW1hc19fW2VdPXQsbWYodGhpcyksdGhpc30sX2YucHJvdG90eXBlLnNldD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fX29wdHNfXz1RZCh0aGlzLl9fb3B0c19fLGUpLHRoaXN9LF9mLnByb3RvdHlwZS50ZXN0PWZ1bmN0aW9uKGUpe2lmKHRoaXMuX190ZXh0X2NhY2hlX189ZSx0aGlzLl9faW5kZXhfXz0tMSwhZS5sZW5ndGgpcmV0dXJuITE7bGV0IHQsbixyLGksYSxvLHMsYyxsO2lmKHRoaXMucmUuc2NoZW1hX3Rlc3QudGVzdChlKSl7Zm9yKHM9dGhpcy5yZS5zY2hlbWFfc2VhcmNoLHMubGFzdEluZGV4PTA7KHQ9cy5leGVjKGUpKSE9PW51bGw7KWlmKGk9dGhpcy50ZXN0U2NoZW1hQXQoZSx0WzJdLHMubGFzdEluZGV4KSxpKXt0aGlzLl9fc2NoZW1hX189dFsyXSx0aGlzLl9faW5kZXhfXz10LmluZGV4K3RbMV0ubGVuZ3RoLHRoaXMuX19sYXN0X2luZGV4X189dC5pbmRleCt0WzBdLmxlbmd0aCtpO2JyZWFrfX1yZXR1cm4gdGhpcy5fX29wdHNfXy5mdXp6eUxpbmsmJnRoaXMuX19jb21waWxlZF9fW2BodHRwOmBdJiYoYz1lLnNlYXJjaCh0aGlzLnJlLmhvc3RfZnV6enlfdGVzdCksYz49MCYmKHRoaXMuX19pbmRleF9fPDB8fGM8dGhpcy5fX2luZGV4X18pJiYobj1lLm1hdGNoKHRoaXMuX19vcHRzX18uZnV6enlJUD90aGlzLnJlLmxpbmtfZnV6enk6dGhpcy5yZS5saW5rX25vX2lwX2Z1enp5KSkhPT1udWxsJiYoYT1uLmluZGV4K25bMV0ubGVuZ3RoLCh0aGlzLl9faW5kZXhfXzwwfHxhPHRoaXMuX19pbmRleF9fKSYmKHRoaXMuX19zY2hlbWFfXz1gYCx0aGlzLl9faW5kZXhfXz1hLHRoaXMuX19sYXN0X2luZGV4X189bi5pbmRleCtuWzBdLmxlbmd0aCkpKSx0aGlzLl9fb3B0c19fLmZ1enp5RW1haWwmJnRoaXMuX19jb21waWxlZF9fW2BtYWlsdG86YF0mJihsPWUuaW5kZXhPZihgQGApLGw+PTAmJihyPWUubWF0Y2godGhpcy5yZS5lbWFpbF9mdXp6eSkpIT09bnVsbCYmKGE9ci5pbmRleCtyWzFdLmxlbmd0aCxvPXIuaW5kZXgrclswXS5sZW5ndGgsKHRoaXMuX19pbmRleF9fPDB8fGE8dGhpcy5fX2luZGV4X198fGE9PT10aGlzLl9faW5kZXhfXyYmbz50aGlzLl9fbGFzdF9pbmRleF9fKSYmKHRoaXMuX19zY2hlbWFfXz1gbWFpbHRvOmAsdGhpcy5fX2luZGV4X189YSx0aGlzLl9fbGFzdF9pbmRleF9fPW8pKSksdGhpcy5fX2luZGV4X18+PTB9LF9mLnByb3RvdHlwZS5wcmV0ZXN0PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnJlLnByZXRlc3QudGVzdChlKX0sX2YucHJvdG90eXBlLnRlc3RTY2hlbWFBdD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMuX19jb21waWxlZF9fW3QudG9Mb3dlckNhc2UoKV0/dGhpcy5fX2NvbXBpbGVkX19bdC50b0xvd2VyQ2FzZSgpXS52YWxpZGF0ZShlLG4sdGhpcyk6MH0sX2YucHJvdG90eXBlLm1hdGNoPWZ1bmN0aW9uKGUpe2xldCB0PVtdLG49MDt0aGlzLl9faW5kZXhfXz49MCYmdGhpcy5fX3RleHRfY2FjaGVfXz09PWUmJih0LnB1c2goZ2YodGhpcyxuKSksbj10aGlzLl9fbGFzdF9pbmRleF9fKTtsZXQgcj1uP2Uuc2xpY2Uobik6ZTtmb3IoO3RoaXMudGVzdChyKTspdC5wdXNoKGdmKHRoaXMsbikpLHI9ci5zbGljZSh0aGlzLl9fbGFzdF9pbmRleF9fKSxuKz10aGlzLl9fbGFzdF9pbmRleF9fO3JldHVybiB0Lmxlbmd0aD90Om51bGx9LF9mLnByb3RvdHlwZS5tYXRjaEF0U3RhcnQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5fX3RleHRfY2FjaGVfXz1lLHRoaXMuX19pbmRleF9fPS0xLCFlLmxlbmd0aClyZXR1cm4gbnVsbDtsZXQgdD10aGlzLnJlLnNjaGVtYV9hdF9zdGFydC5leGVjKGUpO2lmKCF0KXJldHVybiBudWxsO2xldCBuPXRoaXMudGVzdFNjaGVtYUF0KGUsdFsyXSx0WzBdLmxlbmd0aCk7cmV0dXJuIG4/KHRoaXMuX19zY2hlbWFfXz10WzJdLHRoaXMuX19pbmRleF9fPXQuaW5kZXgrdFsxXS5sZW5ndGgsdGhpcy5fX2xhc3RfaW5kZXhfXz10LmluZGV4K3RbMF0ubGVuZ3RoK24sZ2YodGhpcywwKSk6bnVsbH0sX2YucHJvdG90eXBlLnRsZHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT1BcnJheS5pc0FycmF5KGUpP2U6W2VdLHQ/KHRoaXMuX190bGRzX189dGhpcy5fX3RsZHNfXy5jb25jYXQoZSkuc29ydCgpLmZpbHRlcihmdW5jdGlvbihlLHQsbil7cmV0dXJuIGUhPT1uW3QtMV19KS5yZXZlcnNlKCksbWYodGhpcyksdGhpcyk6KHRoaXMuX190bGRzX189ZS5zbGljZSgpLHRoaXMuX190bGRzX3JlcGxhY2VkX189ITAsbWYodGhpcyksdGhpcyl9LF9mLnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24oZSl7ZS5zY2hlbWF8fChlLnVybD1gaHR0cDovL2ArZS51cmwpLGUuc2NoZW1hPT09YG1haWx0bzpgJiYhL15tYWlsdG86L2kudGVzdChlLnVybCkmJihlLnVybD1gbWFpbHRvOmArZS51cmwpfSxfZi5wcm90b3R5cGUub25Db21waWxlPWZ1bmN0aW9uKCl7fTt2YXIgdmY9SlNPTi5wYXJzZShgWyJhYWEiLCJhYXJwIiwiYWJiIiwiYWJib3R0IiwiYWJidmllIiwiYWJjIiwiYWJsZSIsImFib2dhZG8iLCJhYnVkaGFiaSIsImFjIiwiYWNhZGVteSIsImFjY2VudHVyZSIsImFjY291bnRhbnQiLCJhY2NvdW50YW50cyIsImFjbyIsImFjdG9yIiwiYWQiLCJhZHMiLCJhZHVsdCIsImFlIiwiYWVnIiwiYWVybyIsImFldG5hIiwiYWYiLCJhZmwiLCJhZnJpY2EiLCJhZyIsImFnYWtoYW4iLCJhZ2VuY3kiLCJhaSIsImFpZyIsImFpcmJ1cyIsImFpcmZvcmNlIiwiYWlydGVsIiwiYWtkbiIsImFsIiwiYWxpYmFiYSIsImFsaXBheSIsImFsbGZpbmFueiIsImFsbHN0YXRlIiwiYWxseSIsImFsc2FjZSIsImFsc3RvbSIsImFtIiwiYW1hem9uIiwiYW1lcmljYW5leHByZXNzIiwiYW1lcmljYW5mYW1pbHkiLCJhbWV4IiwiYW1mYW0iLCJhbWljYSIsImFtc3RlcmRhbSIsImFuYWx5dGljcyIsImFuZHJvaWQiLCJhbnF1YW4iLCJhbnoiLCJhbyIsImFvbCIsImFwYXJ0bWVudHMiLCJhcHAiLCJhcHBsZSIsImFxIiwiYXF1YXJlbGxlIiwiYXIiLCJhcmFiIiwiYXJhbWNvIiwiYXJjaGkiLCJhcm15IiwiYXJwYSIsImFydCIsImFydGUiLCJhcyIsImFzZGEiLCJhc2lhIiwiYXNzb2NpYXRlcyIsImF0IiwiYXRobGV0YSIsImF0dG9ybmV5IiwiYXUiLCJhdWN0aW9uIiwiYXVkaSIsImF1ZGlibGUiLCJhdWRpbyIsImF1c3Bvc3QiLCJhdXRob3IiLCJhdXRvIiwiYXV0b3MiLCJhdyIsImF3cyIsImF4IiwiYXhhIiwiYXoiLCJhenVyZSIsImJhIiwiYmFieSIsImJhaWR1IiwiYmFuYW1leCIsImJhbmQiLCJiYW5rIiwiYmFyIiwiYmFyY2Vsb25hIiwiYmFyY2xheWNhcmQiLCJiYXJjbGF5cyIsImJhcmVmb290IiwiYmFyZ2FpbnMiLCJiYXNlYmFsbCIsImJhc2tldGJhbGwiLCJiYXVoYXVzIiwiYmF5ZXJuIiwiYmIiLCJiYmMiLCJiYnQiLCJiYnZhIiwiYmNnIiwiYmNuIiwiYmQiLCJiZSIsImJlYXRzIiwiYmVhdXR5IiwiYmVlciIsImJlcmxpbiIsImJlc3QiLCJiZXN0YnV5IiwiYmV0IiwiYmYiLCJiZyIsImJoIiwiYmhhcnRpIiwiYmkiLCJiaWJsZSIsImJpZCIsImJpa2UiLCJiaW5nIiwiYmluZ28iLCJiaW8iLCJiaXoiLCJiaiIsImJsYWNrIiwiYmxhY2tmcmlkYXkiLCJibG9ja2J1c3RlciIsImJsb2ciLCJibG9vbWJlcmciLCJibHVlIiwiYm0iLCJibXMiLCJibXciLCJibiIsImJucHBhcmliYXMiLCJibyIsImJvYXRzIiwiYm9laHJpbmdlciIsImJvZmEiLCJib20iLCJib25kIiwiYm9vIiwiYm9vayIsImJvb2tpbmciLCJib3NjaCIsImJvc3RpayIsImJvc3RvbiIsImJvdCIsImJvdXRpcXVlIiwiYm94IiwiYnIiLCJicmFkZXNjbyIsImJyaWRnZXN0b25lIiwiYnJvYWR3YXkiLCJicm9rZXIiLCJicm90aGVyIiwiYnJ1c3NlbHMiLCJicyIsImJ0IiwiYnVpbGQiLCJidWlsZGVycyIsImJ1c2luZXNzIiwiYnV5IiwiYnV6eiIsImJ2IiwiYnciLCJieSIsImJ6IiwiYnpoIiwiY2EiLCJjYWIiLCJjYWZlIiwiY2FsIiwiY2FsbCIsImNhbHZpbmtsZWluIiwiY2FtIiwiY2FtZXJhIiwiY2FtcCIsImNhbm9uIiwiY2FwZXRvd24iLCJjYXBpdGFsIiwiY2FwaXRhbG9uZSIsImNhciIsImNhcmF2YW4iLCJjYXJkcyIsImNhcmUiLCJjYXJlZXIiLCJjYXJlZXJzIiwiY2FycyIsImNhc2EiLCJjYXNlIiwiY2FzaCIsImNhc2lubyIsImNhdCIsImNhdGVyaW5nIiwiY2F0aG9saWMiLCJjYmEiLCJjYm4iLCJjYnJlIiwiY2MiLCJjZCIsImNlbnRlciIsImNlbyIsImNlcm4iLCJjZiIsImNmYSIsImNmZCIsImNnIiwiY2giLCJjaGFuZWwiLCJjaGFubmVsIiwiY2hhcml0eSIsImNoYXNlIiwiY2hhdCIsImNoZWFwIiwiY2hpbnRhaSIsImNocmlzdG1hcyIsImNocm9tZSIsImNodXJjaCIsImNpIiwiY2lwcmlhbmkiLCJjaXJjbGUiLCJjaXNjbyIsImNpdGFkZWwiLCJjaXRpIiwiY2l0aWMiLCJjaXR5IiwiY2siLCJjbCIsImNsYWltcyIsImNsZWFuaW5nIiwiY2xpY2siLCJjbGluaWMiLCJjbGluaXF1ZSIsImNsb3RoaW5nIiwiY2xvdWQiLCJjbHViIiwiY2x1Ym1lZCIsImNtIiwiY24iLCJjbyIsImNvYWNoIiwiY29kZXMiLCJjb2ZmZWUiLCJjb2xsZWdlIiwiY29sb2duZSIsImNvbSIsImNvbW1iYW5rIiwiY29tbXVuaXR5IiwiY29tcGFueSIsImNvbXBhcmUiLCJjb21wdXRlciIsImNvbXNlYyIsImNvbmRvcyIsImNvbnN0cnVjdGlvbiIsImNvbnN1bHRpbmciLCJjb250YWN0IiwiY29udHJhY3RvcnMiLCJjb29raW5nIiwiY29vbCIsImNvb3AiLCJjb3JzaWNhIiwiY291bnRyeSIsImNvdXBvbiIsImNvdXBvbnMiLCJjb3Vyc2VzIiwiY3BhIiwiY3IiLCJjcmVkaXQiLCJjcmVkaXRjYXJkIiwiY3JlZGl0dW5pb24iLCJjcmlja2V0IiwiY3Jvd24iLCJjcnMiLCJjcnVpc2UiLCJjcnVpc2VzIiwiY3UiLCJjdWlzaW5lbGxhIiwiY3YiLCJjdyIsImN4IiwiY3kiLCJjeW1ydSIsImN5b3UiLCJjeiIsImRhZCIsImRhbmNlIiwiZGF0YSIsImRhdGUiLCJkYXRpbmciLCJkYXRzdW4iLCJkYXkiLCJkY2xrIiwiZGRzIiwiZGUiLCJkZWFsIiwiZGVhbGVyIiwiZGVhbHMiLCJkZWdyZWUiLCJkZWxpdmVyeSIsImRlbGwiLCJkZWxvaXR0ZSIsImRlbHRhIiwiZGVtb2NyYXQiLCJkZW50YWwiLCJkZW50aXN0IiwiZGVzaSIsImRlc2lnbiIsImRldiIsImRobCIsImRpYW1vbmRzIiwiZGlldCIsImRpZ2l0YWwiLCJkaXJlY3QiLCJkaXJlY3RvcnkiLCJkaXNjb3VudCIsImRpc2NvdmVyIiwiZGlzaCIsImRpeSIsImRqIiwiZGsiLCJkbSIsImRucCIsImRvIiwiZG9jcyIsImRvY3RvciIsImRvZyIsImRvbWFpbnMiLCJkb3QiLCJkb3dubG9hZCIsImRyaXZlIiwiZHR2IiwiZHViYWkiLCJkdXBvbnQiLCJkdXJiYW4iLCJkdmFnIiwiZHZyIiwiZHoiLCJlYXJ0aCIsImVhdCIsImVjIiwiZWNvIiwiZWRla2EiLCJlZHUiLCJlZHVjYXRpb24iLCJlZSIsImVnIiwiZW1haWwiLCJlbWVyY2siLCJlbmVyZ3kiLCJlbmdpbmVlciIsImVuZ2luZWVyaW5nIiwiZW50ZXJwcmlzZXMiLCJlcHNvbiIsImVxdWlwbWVudCIsImVyIiwiZXJpY3Nzb24iLCJlcm5pIiwiZXMiLCJlc3EiLCJlc3RhdGUiLCJldCIsImV1IiwiZXVyb3Zpc2lvbiIsImV1cyIsImV2ZW50cyIsImV4Y2hhbmdlIiwiZXhwZXJ0IiwiZXhwb3NlZCIsImV4cHJlc3MiLCJleHRyYXNwYWNlIiwiZmFnZSIsImZhaWwiLCJmYWlyd2luZHMiLCJmYWl0aCIsImZhbWlseSIsImZhbiIsImZhbnMiLCJmYXJtIiwiZmFybWVycyIsImZhc2hpb24iLCJmYXN0IiwiZmVkZXgiLCJmZWVkYmFjayIsImZlcnJhcmkiLCJmZXJyZXJvIiwiZmkiLCJmaWRlbGl0eSIsImZpZG8iLCJmaWxtIiwiZmluYWwiLCJmaW5hbmNlIiwiZmluYW5jaWFsIiwiZmlyZSIsImZpcmVzdG9uZSIsImZpcm1kYWxlIiwiZmlzaCIsImZpc2hpbmciLCJmaXQiLCJmaXRuZXNzIiwiZmoiLCJmayIsImZsaWNrciIsImZsaWdodHMiLCJmbGlyIiwiZmxvcmlzdCIsImZsb3dlcnMiLCJmbHkiLCJmbSIsImZvIiwiZm9vIiwiZm9vZCIsImZvb3RiYWxsIiwiZm9yZCIsImZvcmV4IiwiZm9yc2FsZSIsImZvcnVtIiwiZm91bmRhdGlvbiIsImZveCIsImZyIiwiZnJlZSIsImZyZXNlbml1cyIsImZybCIsImZyb2dhbnMiLCJmcm9udGllciIsImZ0ciIsImZ1aml0c3UiLCJmdW4iLCJmdW5kIiwiZnVybml0dXJlIiwiZnV0Ym9sIiwiZnlpIiwiZ2EiLCJnYWwiLCJnYWxsZXJ5IiwiZ2FsbG8iLCJnYWxsdXAiLCJnYW1lIiwiZ2FtZXMiLCJnYXAiLCJnYXJkZW4iLCJnYXkiLCJnYiIsImdiaXoiLCJnZCIsImdkbiIsImdlIiwiZ2VhIiwiZ2VudCIsImdlbnRpbmciLCJnZW9yZ2UiLCJnZiIsImdnIiwiZ2dlZSIsImdoIiwiZ2kiLCJnaWZ0IiwiZ2lmdHMiLCJnaXZlcyIsImdpdmluZyIsImdsIiwiZ2xhc3MiLCJnbGUiLCJnbG9iYWwiLCJnbG9ibyIsImdtIiwiZ21haWwiLCJnbWJoIiwiZ21vIiwiZ214IiwiZ24iLCJnb2RhZGR5IiwiZ29sZCIsImdvbGRwb2ludCIsImdvbGYiLCJnb28iLCJnb29keWVhciIsImdvb2ciLCJnb29nbGUiLCJnb3AiLCJnb3QiLCJnb3YiLCJncCIsImdxIiwiZ3IiLCJncmFpbmdlciIsImdyYXBoaWNzIiwiZ3JhdGlzIiwiZ3JlZW4iLCJncmlwZSIsImdyb2NlcnkiLCJncm91cCIsImdzIiwiZ3QiLCJndSIsImd1Y2NpIiwiZ3VnZSIsImd1aWRlIiwiZ3VpdGFycyIsImd1cnUiLCJndyIsImd5IiwiaGFpciIsImhhbWJ1cmciLCJoYW5nb3V0IiwiaGF1cyIsImhibyIsImhkZmMiLCJoZGZjYmFuayIsImhlYWx0aCIsImhlYWx0aGNhcmUiLCJoZWxwIiwiaGVsc2lua2kiLCJoZXJlIiwiaGVybWVzIiwiaGlwaG9wIiwiaGlzYW1pdHN1IiwiaGl0YWNoaSIsImhpdiIsImhrIiwiaGt0IiwiaG0iLCJobiIsImhvY2tleSIsImhvbGRpbmdzIiwiaG9saWRheSIsImhvbWVkZXBvdCIsImhvbWVnb29kcyIsImhvbWVzIiwiaG9tZXNlbnNlIiwiaG9uZGEiLCJob3JzZSIsImhvc3BpdGFsIiwiaG9zdCIsImhvc3RpbmciLCJob3QiLCJob3RlbHMiLCJob3RtYWlsIiwiaG91c2UiLCJob3ciLCJociIsImhzYmMiLCJodCIsImh1IiwiaHVnaGVzIiwiaHlhdHQiLCJoeXVuZGFpIiwiaWJtIiwiaWNiYyIsImljZSIsImljdSIsImlkIiwiaWUiLCJpZWVlIiwiaWZtIiwiaWthbm8iLCJpbCIsImltIiwiaW1hbWF0IiwiaW1kYiIsImltbW8iLCJpbW1vYmlsaWVuIiwiaW4iLCJpbmMiLCJpbmR1c3RyaWVzIiwiaW5maW5pdGkiLCJpbmZvIiwiaW5nIiwiaW5rIiwiaW5zdGl0dXRlIiwiaW5zdXJhbmNlIiwiaW5zdXJlIiwiaW50IiwiaW50ZXJuYXRpb25hbCIsImludHVpdCIsImludmVzdG1lbnRzIiwiaW8iLCJpcGlyYW5nYSIsImlxIiwiaXIiLCJpcmlzaCIsImlzIiwiaXNtYWlsaSIsImlzdCIsImlzdGFuYnVsIiwiaXQiLCJpdGF1IiwiaXR2IiwiamFndWFyIiwiamF2YSIsImpjYiIsImplIiwiamVlcCIsImpldHp0IiwiamV3ZWxyeSIsImppbyIsImpsbCIsImptIiwiam1wIiwiam5qIiwiam8iLCJqb2JzIiwiam9idXJnIiwiam90Iiwiam95IiwianAiLCJqcG1vcmdhbiIsImpwcnMiLCJqdWVnb3MiLCJqdW5pcGVyIiwia2F1ZmVuIiwia2RkaSIsImtlIiwia2Vycnlob3RlbHMiLCJrZXJyeXByb3BlcnRpZXMiLCJrZmgiLCJrZyIsImtoIiwia2kiLCJraWEiLCJraWRzIiwia2ltIiwia2luZGxlIiwia2l0Y2hlbiIsImtpd2kiLCJrbSIsImtuIiwia29lbG4iLCJrb21hdHN1Iiwia29zaGVyIiwia3AiLCJrcG1nIiwia3BuIiwia3IiLCJrcmQiLCJrcmVkIiwia3Vva2dyb3VwIiwia3ciLCJreSIsImt5b3RvIiwia3oiLCJsYSIsImxhY2FpeGEiLCJsYW1ib3JnaGluaSIsImxhbWVyIiwibGFuZCIsImxhbmRyb3ZlciIsImxhbnhlc3MiLCJsYXNhbGxlIiwibGF0IiwibGF0aW5vIiwibGF0cm9iZSIsImxhdyIsImxhd3llciIsImxiIiwibGMiLCJsZHMiLCJsZWFzZSIsImxlY2xlcmMiLCJsZWZyYWsiLCJsZWdhbCIsImxlZ28iLCJsZXh1cyIsImxnYnQiLCJsaSIsImxpZGwiLCJsaWZlIiwibGlmZWluc3VyYW5jZSIsImxpZmVzdHlsZSIsImxpZ2h0aW5nIiwibGlrZSIsImxpbGx5IiwibGltaXRlZCIsImxpbW8iLCJsaW5jb2xuIiwibGluayIsImxpdmUiLCJsaXZpbmciLCJsayIsImxsYyIsImxscCIsImxvYW4iLCJsb2FucyIsImxvY2tlciIsImxvY3VzIiwibG9sIiwibG9uZG9uIiwibG90dGUiLCJsb3R0byIsImxvdmUiLCJscGwiLCJscGxmaW5hbmNpYWwiLCJsciIsImxzIiwibHQiLCJsdGQiLCJsdGRhIiwibHUiLCJsdW5kYmVjayIsImx1eGUiLCJsdXh1cnkiLCJsdiIsImx5IiwibWEiLCJtYWRyaWQiLCJtYWlmIiwibWFpc29uIiwibWFrZXVwIiwibWFuIiwibWFuYWdlbWVudCIsIm1hbmdvIiwibWFwIiwibWFya2V0IiwibWFya2V0aW5nIiwibWFya2V0cyIsIm1hcnJpb3R0IiwibWFyc2hhbGxzIiwibWF0dGVsIiwibWJhIiwibWMiLCJtY2tpbnNleSIsIm1kIiwibWUiLCJtZWQiLCJtZWRpYSIsIm1lZXQiLCJtZWxib3VybmUiLCJtZW1lIiwibWVtb3JpYWwiLCJtZW4iLCJtZW51IiwibWVyY2ttc2QiLCJtZyIsIm1oIiwibWlhbWkiLCJtaWNyb3NvZnQiLCJtaWwiLCJtaW5pIiwibWludCIsIm1pdCIsIm1pdHN1YmlzaGkiLCJtayIsIm1sIiwibWxiIiwibWxzIiwibW0iLCJtbWEiLCJtbiIsIm1vIiwibW9iaSIsIm1vYmlsZSIsIm1vZGEiLCJtb2UiLCJtb2kiLCJtb20iLCJtb25hc2giLCJtb25leSIsIm1vbnN0ZXIiLCJtb3Jtb24iLCJtb3J0Z2FnZSIsIm1vc2NvdyIsIm1vdG8iLCJtb3RvcmN5Y2xlcyIsIm1vdiIsIm1vdmllIiwibXAiLCJtcSIsIm1yIiwibXMiLCJtc2QiLCJtdCIsIm10biIsIm10ciIsIm11IiwibXVzZXVtIiwibXVzaWMiLCJtdiIsIm13IiwibXgiLCJteSIsIm16IiwibmEiLCJuYWIiLCJuYWdveWEiLCJuYW1lIiwibmF2eSIsIm5iYSIsIm5jIiwibmUiLCJuZWMiLCJuZXQiLCJuZXRiYW5rIiwibmV0ZmxpeCIsIm5ldHdvcmsiLCJuZXVzdGFyIiwibmV3IiwibmV3cyIsIm5leHQiLCJuZXh0ZGlyZWN0IiwibmV4dXMiLCJuZiIsIm5mbCIsIm5nIiwibmdvIiwibmhrIiwibmkiLCJuaWNvIiwibmlrZSIsIm5pa29uIiwibmluamEiLCJuaXNzYW4iLCJuaXNzYXkiLCJubCIsIm5vIiwibm9raWEiLCJub3J0b24iLCJub3ciLCJub3dydXoiLCJub3d0diIsIm5wIiwibnIiLCJucmEiLCJucnciLCJudHQiLCJudSIsIm55YyIsIm56Iiwib2JpIiwib2JzZXJ2ZXIiLCJvZmZpY2UiLCJva2luYXdhIiwib2xheWFuIiwib2xheWFuZ3JvdXAiLCJvbGxvIiwib20iLCJvbWVnYSIsIm9uZSIsIm9uZyIsIm9ubCIsIm9ubGluZSIsIm9vbyIsIm9wZW4iLCJvcmFjbGUiLCJvcmFuZ2UiLCJvcmciLCJvcmdhbmljIiwib3JpZ2lucyIsIm9zYWthIiwib3RzdWthIiwib3R0Iiwib3ZoIiwicGEiLCJwYWdlIiwicGFuYXNvbmljIiwicGFyaXMiLCJwYXJzIiwicGFydG5lcnMiLCJwYXJ0cyIsInBhcnR5IiwicGF5IiwicGNjdyIsInBlIiwicGV0IiwicGYiLCJwZml6ZXIiLCJwZyIsInBoIiwicGhhcm1hY3kiLCJwaGQiLCJwaGlsaXBzIiwicGhvbmUiLCJwaG90byIsInBob3RvZ3JhcGh5IiwicGhvdG9zIiwicGh5c2lvIiwicGljcyIsInBpY3RldCIsInBpY3R1cmVzIiwicGlkIiwicGluIiwicGluZyIsInBpbmsiLCJwaW9uZWVyIiwicGl6emEiLCJwayIsInBsIiwicGxhY2UiLCJwbGF5IiwicGxheXN0YXRpb24iLCJwbHVtYmluZyIsInBsdXMiLCJwbSIsInBuIiwicG5jIiwicG9obCIsInBva2VyIiwicG9saXRpZSIsInBvcm4iLCJwb3N0IiwicHIiLCJwcmF4aSIsInByZXNzIiwicHJpbWUiLCJwcm8iLCJwcm9kIiwicHJvZHVjdGlvbnMiLCJwcm9mIiwicHJvZ3Jlc3NpdmUiLCJwcm9tbyIsInByb3BlcnRpZXMiLCJwcm9wZXJ0eSIsInByb3RlY3Rpb24iLCJwcnUiLCJwcnVkZW50aWFsIiwicHMiLCJwdCIsInB1YiIsInB3IiwicHdjIiwicHkiLCJxYSIsInFwb24iLCJxdWViZWMiLCJxdWVzdCIsInJhY2luZyIsInJhZGlvIiwicmUiLCJyZWFkIiwicmVhbGVzdGF0ZSIsInJlYWx0b3IiLCJyZWFsdHkiLCJyZWNpcGVzIiwicmVkIiwicmVkdW1icmVsbGEiLCJyZWhhYiIsInJlaXNlIiwicmVpc2VuIiwicmVpdCIsInJlbGlhbmNlIiwicmVuIiwicmVudCIsInJlbnRhbHMiLCJyZXBhaXIiLCJyZXBvcnQiLCJyZXB1YmxpY2FuIiwicmVzdCIsInJlc3RhdXJhbnQiLCJyZXZpZXciLCJyZXZpZXdzIiwicmV4cm90aCIsInJpY2giLCJyaWNoYXJkbGkiLCJyaWNvaCIsInJpbCIsInJpbyIsInJpcCIsInJvIiwicm9ja3MiLCJyb2RlbyIsInJvZ2VycyIsInJvb20iLCJycyIsInJzdnAiLCJydSIsInJ1Z2J5IiwicnVociIsInJ1biIsInJ3IiwicndlIiwicnl1a3l1Iiwic2EiLCJzYWFybGFuZCIsInNhZmUiLCJzYWZldHkiLCJzYWt1cmEiLCJzYWxlIiwic2Fsb24iLCJzYW1zY2x1YiIsInNhbXN1bmciLCJzYW5kdmlrIiwic2FuZHZpa2Nvcm9tYW50Iiwic2Fub2ZpIiwic2FwIiwic2FybCIsInNhcyIsInNhdmUiLCJzYXhvIiwic2IiLCJzYmkiLCJzYnMiLCJzYyIsInNjYiIsInNjaGFlZmZsZXIiLCJzY2htaWR0Iiwic2Nob2xhcnNoaXBzIiwic2Nob29sIiwic2NodWxlIiwic2Nod2FyeiIsInNjaWVuY2UiLCJzY290Iiwic2QiLCJzZSIsInNlYXJjaCIsInNlYXQiLCJzZWN1cmUiLCJzZWN1cml0eSIsInNlZWsiLCJzZWxlY3QiLCJzZW5lciIsInNlcnZpY2VzIiwic2V2ZW4iLCJzZXciLCJzZXgiLCJzZXh5Iiwic2ZyIiwic2ciLCJzaCIsInNoYW5ncmlsYSIsInNoYXJwIiwic2hlbGwiLCJzaGlhIiwic2hpa3NoYSIsInNob2VzIiwic2hvcCIsInNob3BwaW5nIiwic2hvdWppIiwic2hvdyIsInNpIiwic2lsayIsInNpbmEiLCJzaW5nbGVzIiwic2l0ZSIsInNqIiwic2siLCJza2kiLCJza2luIiwic2t5Iiwic2t5cGUiLCJzbCIsInNsaW5nIiwic20iLCJzbWFydCIsInNtaWxlIiwic24iLCJzbmNmIiwic28iLCJzb2NjZXIiLCJzb2NpYWwiLCJzb2Z0YmFuayIsInNvZnR3YXJlIiwic29odSIsInNvbGFyIiwic29sdXRpb25zIiwic29uZyIsInNvbnkiLCJzb3kiLCJzcGEiLCJzcGFjZSIsInNwb3J0Iiwic3BvdCIsInNyIiwic3JsIiwic3MiLCJzdCIsInN0YWRhIiwic3RhcGxlcyIsInN0YXIiLCJzdGF0ZWJhbmsiLCJzdGF0ZWZhcm0iLCJzdGMiLCJzdGNncm91cCIsInN0b2NraG9sbSIsInN0b3JhZ2UiLCJzdG9yZSIsInN0cmVhbSIsInN0dWRpbyIsInN0dWR5Iiwic3R5bGUiLCJzdSIsInN1Y2tzIiwic3VwcGxpZXMiLCJzdXBwbHkiLCJzdXBwb3J0Iiwic3VyZiIsInN1cmdlcnkiLCJzdXp1a2kiLCJzdiIsInN3YXRjaCIsInN3aXNzIiwic3giLCJzeSIsInN5ZG5leSIsInN5c3RlbXMiLCJzeiIsInRhYiIsInRhaXBlaSIsInRhbGsiLCJ0YW9iYW8iLCJ0YXJnZXQiLCJ0YXRhbW90b3JzIiwidGF0YXIiLCJ0YXR0b28iLCJ0YXgiLCJ0YXhpIiwidGMiLCJ0Y2kiLCJ0ZCIsInRkayIsInRlYW0iLCJ0ZWNoIiwidGVjaG5vbG9neSIsInRlbCIsInRlbWFzZWsiLCJ0ZW5uaXMiLCJ0ZXZhIiwidGYiLCJ0ZyIsInRoIiwidGhkIiwidGhlYXRlciIsInRoZWF0cmUiLCJ0aWFhIiwidGlja2V0cyIsInRpZW5kYSIsInRpcHMiLCJ0aXJlcyIsInRpcm9sIiwidGoiLCJ0am1heHgiLCJ0angiLCJ0ayIsInRrbWF4eCIsInRsIiwidG0iLCJ0bWFsbCIsInRuIiwidG8iLCJ0b2RheSIsInRva3lvIiwidG9vbHMiLCJ0b3AiLCJ0b3JheSIsInRvc2hpYmEiLCJ0b3RhbCIsInRvdXJzIiwidG93biIsInRveW90YSIsInRveXMiLCJ0ciIsInRyYWRlIiwidHJhZGluZyIsInRyYWluaW5nIiwidHJhdmVsIiwidHJhdmVsZXJzIiwidHJhdmVsZXJzaW5zdXJhbmNlIiwidHJ1c3QiLCJ0cnYiLCJ0dCIsInR1YmUiLCJ0dWkiLCJ0dW5lcyIsInR1c2h1IiwidHYiLCJ0dnMiLCJ0dyIsInR6IiwidWEiLCJ1YmFuayIsInVicyIsInVnIiwidWsiLCJ1bmljb20iLCJ1bml2ZXJzaXR5IiwidW5vIiwidW9sIiwidXBzIiwidXMiLCJ1eSIsInV6IiwidmEiLCJ2YWNhdGlvbnMiLCJ2YW5hIiwidmFuZ3VhcmQiLCJ2YyIsInZlIiwidmVnYXMiLCJ2ZW50dXJlcyIsInZlcmlzaWduIiwidmVybcO2Z2Vuc2JlcmF0ZXIiLCJ2ZXJtw7ZnZW5zYmVyYXR1bmciLCJ2ZXJzaWNoZXJ1bmciLCJ2ZXQiLCJ2ZyIsInZpIiwidmlhamVzIiwidmlkZW8iLCJ2aWciLCJ2aWtpbmciLCJ2aWxsYXMiLCJ2aW4iLCJ2aXAiLCJ2aXJnaW4iLCJ2aXNhIiwidmlzaW9uIiwidml2YSIsInZpdm8iLCJ2bGFhbmRlcmVuIiwidm4iLCJ2b2RrYSIsInZvbHZvIiwidm90ZSIsInZvdGluZyIsInZvdG8iLCJ2b3lhZ2UiLCJ2dSIsIndhbGVzIiwid2FsbWFydCIsIndhbHRlciIsIndhbmciLCJ3YW5nZ291Iiwid2F0Y2giLCJ3YXRjaGVzIiwid2VhdGhlciIsIndlYXRoZXJjaGFubmVsIiwid2ViY2FtIiwid2ViZXIiLCJ3ZWJzaXRlIiwid2VkIiwid2VkZGluZyIsIndlaWJvIiwid2VpciIsIndmIiwid2hvc3dobyIsIndpZW4iLCJ3aWtpIiwid2lsbGlhbWhpbGwiLCJ3aW4iLCJ3aW5kb3dzIiwid2luZSIsIndpbm5lcnMiLCJ3bWUiLCJ3b2x0ZXJza2x1d2VyIiwid29vZHNpZGUiLCJ3b3JrIiwid29ya3MiLCJ3b3JsZCIsIndvdyIsIndzIiwid3RjIiwid3RmIiwieGJveCIsInhlcm94IiwieGlodWFuIiwieGluIiwieHh4IiwieHl6IiwieWFjaHRzIiwieWFob28iLCJ5YW1heHVuIiwieWFuZGV4IiwieWUiLCJ5b2RvYmFzaGkiLCJ5b2dhIiwieW9rb2hhbWEiLCJ5b3UiLCJ5b3V0dWJlIiwieXQiLCJ5dW4iLCJ6YSIsInphcHBvcyIsInphcmEiLCJ6ZXJvIiwiemlwIiwiem0iLCJ6b25lIiwienVlcmljaCIsInp3IiwizrXOuyIsIs61z4UiLCLQsdCzIiwi0LHQtdC7Iiwi0LTQtdGC0LgiLCLQtdGOIiwi0LrQsNGC0L7Qu9C40LoiLCLQutC+0LwiLCLQvNC60LQiLCLQvNC+0L0iLCLQvNC+0YHQutCy0LAiLCLQvtC90LvQsNC50L0iLCLQvtGA0LMiLCLRgNGD0YEiLCLRgNGEIiwi0YHQsNC50YIiLCLRgdGA0LEiLCLRg9C60YAiLCLSm9Cw0LciLCLVsNWh1bUiLCLXmdep16jXkNecIiwi16fXldedIiwi2KfYqNmI2LjYqNmKIiwi2KfYsdin2YXZg9mIIiwi2KfZhNin2LHYr9mGIiwi2KfZhNio2K3YsdmK2YYiLCLYp9mE2KzYstin2KbYsSIsItin2YTYs9i52YjYr9mK2KkiLCLYp9mE2LnZhNmK2KfZhiIsItin2YTZhdi62LHYqCIsItin2YXYp9ix2KfYqiIsItin24zYsdin2YYiLCLYqNin2LHYqiIsItio2KfYstin2LEiLCLYqNmK2KrZgyIsItio2r7Yp9ix2KoiLCLYqtmI2YbYsyIsItiz2YjYr9in2YYiLCLYs9mI2LHZitipIiwi2LTYqNmD2KkiLCLYudix2KfZgiIsIti52LHYqCIsIti52YXYp9mGIiwi2YHZhNiz2LfZitmGIiwi2YLYt9ixIiwi2YPYp9ir2YjZhNmK2YMiLCLZg9mI2YUiLCLZhdi12LEiLCLZhdmE2YrYs9mK2KciLCLZhdmI2LHZitiq2KfZhtmK2KciLCLZhdmI2YLYuSIsItmH2YXYsdin2YciLCLZvtin2qnYs9iq2KfZhiIsItqA2KfYsdiqIiwi4KSV4KWJ4KSuIiwi4KSo4KWH4KSfIiwi4KSt4KS+4KSw4KSkIiwi4KSt4KS+4KSw4KSk4KSu4KWNIiwi4KSt4KS+4KSw4KWL4KSkIiwi4KS44KSC4KSX4KSg4KSoIiwi4Kas4Ka+4KaC4Kay4Ka+Iiwi4Kat4Ka+4Kaw4KakIiwi4Kat4Ka+4Kew4KakIiwi4Kit4Ki+4Kiw4KikIiwi4Kqt4Kq+4Kqw4KqkIiwi4Kyt4Ky+4Kyw4KykIiwi4K6H4K6o4K+N4K6k4K6/4K6v4K6+Iiwi4K6H4K6y4K6Z4K+N4K6V4K+IIiwi4K6a4K6/4K6Z4K+N4K6V4K6q4K+N4K6q4K+C4K6w4K+NIiwi4LCt4LC+4LCw4LCk4LGNIiwi4LKt4LK+4LKw4LKkIiwi4LSt4LS+4LSw4LSk4LSCIiwi4La94LaC4Laa4LePIiwi4LiE4Lit4LihIiwi4LmE4LiX4LiiIiwi4Lql4Lqy4LqnIiwi4YOS4YOUIiwi44G/44KT44GqIiwi44Ki44Oe44K+44OzIiwi44Kv44Op44Km44OJIiwi44Kw44O844Kw44OrIiwi44Kz44OgIiwi44K544OI44KiIiwi44K744O844OrIiwi44OV44Kh44OD44K344On44OzIiwi44Od44Kk44Oz44OIIiwi5LiW55WMIiwi5Lit5L+hIiwi5Lit5Zu9Iiwi5Lit5ZyLIiwi5Lit5paH572RIiwi5Lqa6ams6YCKIiwi5LyB5LiaIiwi5L2b5bGxIiwi5L+h5oGvIiwi5YGl5bq3Iiwi5YWr5Y2mIiwi5YWs5Y+4Iiwi5YWs55uKIiwi5Y+w5rm+Iiwi5Y+w54GjIiwi5ZWG5Z+OIiwi5ZWG5bqXIiwi5ZWG5qCHIiwi5ZiJ6YeMIiwi5ZiJ6YeM5aSn6YWS5bqXIiwi5Zyo57q/Iiwi5aSn5ou/Iiwi5aSp5Li75pWZIiwi5aix5LmQIiwi5a626Zu7Iiwi5bm/5LicIiwi5b6u5Y2aIiwi5oWI5ZaEIiwi5oiR54ix5L2gIiwi5omL5py6Iiwi5oub6IGYIiwi5pS/5YqhIiwi5pS/5bqcIiwi5paw5Yqg5Z2hIiwi5paw6Ze7Iiwi5pe25bCaIiwi5pu457GNIiwi5py65p6EIiwi5reh6ams6ZShIiwi5ri45oiPIiwi5r6z6ZaAIiwi54K555yLIiwi56e75YqoIiwi57uE57uH5py65p6EIiwi572R5Z2AIiwi572R5bqXIiwi572R56uZIiwi572R57ucIiwi6IGU6YCaIiwi6LC35q2MIiwi6LSt54mpIiwi6YCa6LKpIiwi6ZuG5ZuiIiwi6Zu76KiK55uI56eRIiwi6aOe5Yip5rWmIiwi6aOf5ZOBIiwi6aSQ5Y6FIiwi6aaZ5qC86YeM5ouJIiwi6aaZ5rivIiwi64u364S3Iiwi64u37Lu0Iiwi7IK87ISxIiwi7ZWc6rWtIl1gKSx5Zj0vXlstISMkJSYnKisvMC05PT9BLVpeX2EtemB7fH1+XShcLj9bLSEjJCUmJyorLzAtOT0/QS1aXl9hLXpge3x9fl0pKkBbYS16QS1aMC05XSgtKlwuP1thLXpBLVowLTldKSpcLlthLXpBLVpdKC0/W2EtekEtWjAtOV0pKyQvLGJmPS8oKD86d3d3Lik/W15ccy5dK1wuW15ccy9dK1wvW15ccy5dKykvLHhmPS9bJjw+IiddL2csU2Y9ZT0+e2xldCB0PXsiJiI6YCZhbXA7YCwiPCI6YCZsdDtgLCI+IjpgJmd0O2AsJyInOmAmcXVvdDtgLCInIjpgJiMzOTtgfSxuPVJlZ0V4cCh4Zi5zb3VyY2UpO3JldHVybiBlJiZuLnRlc3QoZSk/ZS5yZXBsYWNlKHhmLGU9PnRbZV0pOmV8fGBgfSxDZj1gb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94OyAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOyAtd2Via2l0LWxpbmUtY2xhbXA6IDE7IGxpbmUtY2xhbXA6IDE7IHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtgLHdmPW5ldyBfZigpLnRsZHModmYpLnNldCh7ZnV6enlJUDohMH0pLFRmPW5ldyBfZigpLnRsZHModmYpLEVmPShlLHQsbik9PntsZXQgcj1CKCkubG9jYXRpb24uaG9zdG5hbWU7cmV0dXJuYDxhIGhyZWY9IiR7ZX0iIHRhcmdldD0iJHtyLmxlbmd0aD4wJiZlLmluY2x1ZGVzKHIpP2BfcGFyZW50YDpgX2JsYW5rYH0iIHJlbD0ibm9yZWZlcnJlciBub29wZW5lciIgdGl0bGU9IiR7ZX0iIHN0eWxlPSIke24/LmNsYW1wJiYhbj8ucmVwbGFjZVRleHQ/Q2Y6YGB9Ij4ke3R9PC9hPmB9LERmPShlLHQpPT57aWYoZT09PWBgKXJldHVybiBlO2xldCBuPXdmLm1hdGNoKGUpO2lmKCFuKXJldHVybiBTZihlKTtsZXQgcj1gYCxpPTA7cmV0dXJuIG4uZm9yRWFjaChuPT57bGV0IGE9YGAsbz1gYCxzPU9mKGUsbiksYz10Py5jbGFtcCYmbi50ZXh0Lmxlbmd0aD4zMCYmIXM7bi5pbmRleD5pJiYoYT1lLnN1YnN0cmluZyhpLG4uaW5kZXgpKSxvPUVmKG4udXJsLG4udGV4dCx7Li4udCxjbGFtcDpjfSksaT1uLmxhc3RJbmRleCxzJiYoYT1hLnN1YnN0cmluZygwLGEubGVuZ3RoLTEpLGkrPTEpLGMmJiFrZihlLG4pJiYobz1gXG4ke299XG5gLGE9YS50cmltRW5kKCksZVtpXT8ubWF0Y2goL1xzLykmJihpKz0xKSkscis9U2YoYSkrb30pLGUubGVuZ3RoPmkmJihyKz1TZihlLnN1YnN0cmluZyhpKSkpLHJ9LE9mPShlLHQpPT5lW3QuaW5kZXgtMV09PT1gImAmJmVbdC5sYXN0SW5kZXhdPT09YCJgLGtmPShlLHQpPT4hISh0LmluZGV4PD0xJiZlLnN1YnN0cmluZyh0Lmxhc3RJbmRleCx0Lmxhc3RJbmRleCszKS5tYXRjaCgvW1xuXHJdKy8pfHxlLnN1YnN0cmluZyh0LmluZGV4LTMsdC5pbmRleCkubWF0Y2goL1tcblxyXSsvKSYmZS5zdWJzdHJpbmcodC5sYXN0SW5kZXgsdC5sYXN0SW5kZXgrMykubWF0Y2goL1tcblxyXSsvKXx8ZS5zdWJzdHJpbmcodC5pbmRleC0zLHQuaW5kZXgpLm1hdGNoKC9bXG5ccl0rLykmJnQubGFzdEluZGV4PmUubGVuZ3RoLTN8fHQuaW5kZXg8PTEmJnQubGFzdEluZGV4Pj1lLmxlbmd0aC0yKSxBZj1lPT5lLnJlcGxhY2UoL15odHRwcz86XC9cLy8sYGApLnJlcGxhY2UoL153d3dcLi8sYGApLnJlcGxhY2UoL1wvKyQvLGBgKS50b0xvd2VyQ2FzZSgpLGpmPWU9PntsZXQgdD1bYG1haWx0bzpgLGBmdHA6YCxgLy9gXSxuPVRmLm1hdGNoKGUpO2lmKCFuKXJldHVybiBudWxsO2xldCByPW5ldyBTZXQ7cmV0dXJuIG4uZmlsdGVyKGU9PntpZih0LmluY2x1ZGVzKGUuc2NoZW1hKSlyZXR1cm4hMTtsZXQgbj1BZihlLnVybCk7cmV0dXJuIHIuaGFzKG4pPyExOihyLmFkZChuKSwhMCl9KX0sTWY9KCk9PlBvKGBjYXJkc2ApLE5mPWU9PntGbyh7Li4uZX0sYGNhcmRzYCl9LFBmPWFzeW5jIGU9PntsZXQgdD1uZXcgSGVhZGVycyx7d2lkZ2V0QXBpVXJsOm59PVYuZ2V0T3B0aW9ucygpO3QuYXBwZW5kKGBDb250ZW50LVR5cGVgLGBhcHBsaWNhdGlvbi9qc29uYCk7bGV0IHI9SlNPTi5zdHJpbmdpZnkoe2xpbmtzOmV9KTt0cnl7bGV0IGU9YXdhaXQgZmV0Y2goYCR7bn0vbGlua3MvcHJldmlld2Ase21ldGhvZDpgUE9TVGAsaGVhZGVyczp0LGJvZHk6cn0pO3JldHVybiBlLm9rJiZlLmpzb24/YXdhaXQgZS5qc29uKCk6bnVsbH1jYXRjaHtyZXR1cm4gbnVsbH19LEZmPWU9PmUuZmluZChlPT5lLnR5cGU9PT1gb3Blbl91cmxgKT8udmFsdWV8fGBgLElmPWU9PntsZXQgdD1lLmZpbHRlcihlPT5lLnRpdGxlJiZlLmltYWdlJiYhUmYoRmYoZS5hY3Rpb25zKSkpO3JldHVybiB0Lmxlbmd0aCYmZS5sZW5ndGg+MT9lOnQubGVuZ3RoPT09MT90OltdfSxMZj1lPT57bGV0IHQ9bmV3IERhdGUoKS5nZXRUaW1lKCk7cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2gobj0+eyghZVtuXS5leHBpcmF0aW9ufHxlW25dLmV4cGlyYXRpb24mJmVbbl0uZXhwaXJhdGlvbjx0KSYmZGVsZXRlIGVbbl19KSxlfSxSZj1lPT57bGV0e2FjY2VwdGVkRmlsZUV4dGVuc2lvbnM6dH09QShibCksbj1lLm1hdGNoKC8oXC4pKFteLl17Myw0fSkkL20pO3JldHVybiBuJiZuWzJdJiZ0LmluY2x1ZGVzKG5bMl0pfSx6Zj1hc3luYyBlPT57dHJ5e2F3YWl0IHEuZ2V0Q2xpZW50KCkubGlua09wZW5lZCh7dXJsOmV9KX1jYXRjaChlKXtqbyhgU2VuZGluZyBsaW5rIG9wZW5lZCBhbmFseXRpY3MgZXZlbnQgZmFpbGVkYCxTdHJpbmcoZSkpfX0sQmY9KGUsdCk9PntpZighdClyZXR1cm47bGV0IG49YXN5bmMgbj0+e2xldCByPW4udGFyZ2V0LmNsb3Nlc3QoYGFgKTtyJiZlLmNvbnRhaW5zKHIpJiZ0JiZhd2FpdCB6ZihyLmhyZWYpfSxyPWU9PnZvaWQgbihlKSxpPWU9PntlLmJ1dHRvbiE9PTImJm4oZSl9LGE9ZT0+dm9pZCBuKGUpO3JldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIoYGNsaWNrYCxyKSxlLmFkZEV2ZW50TGlzdGVuZXIoYGF1eGNsaWNrYCxpKSxlLmFkZEV2ZW50TGlzdGVuZXIoYGNvbnRleHRtZW51YCxhKSx7ZGVzdHJveSgpe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcihgY2xpY2tgLHIpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihgYXV4Y2xpY2tgLGkpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihgY29udGV4dG1lbnVgLGEpfX19LFZmPSExLEhmPU8oKSxVZj1PKCExKSxXZj1PKCExKSxHZj0oZSx0LG4pPT57bGV0IHI9e30saT1uZXcgRGF0ZSgpLmdldFRpbWUoKStNZDtlLmZvckVhY2goKGUsbik9PnJbZV09e2V4cGlyYXRpb246aSxjYXJkOnRbbl19KTtsZXQgYT17Li4ubiwuLi5yfTtIZi5zZXQoYSksTmYoYSl9LEtmPWFzeW5jKGUsdCxuPSExKT0+e2xldCByPVtdLGk9e3R5cGU6YGNhcmRzYCxsYXlvdXQ6YGNhcm91c2VsYCxpdGVtczpbXX07VmZ8fD0oSGYuc2V0KE1mKCkpLCEwKTtsZXQgYT1qZihlKTtpZighYSlyZXR1cm4gbnVsbDtsZXQgbz1MZihBKEhmKSkscz1bXTtpZihhLmZvckVhY2godD0+e09mKGUsdCl8fChvW3QudXJsXT9yLnB1c2gob1t0LnVybF0uY2FyZCk6cy5wdXNoKHQudXJsKSl9KSxzLmxlbmd0aD4wKXt0JiZVZi5zZXQoITApLG4mJldmLnNldCghMCk7bGV0IGU9YXdhaXQgUGYocyk7ZSYmKEdmKHMsZSxvKSxyPVsuLi5yLC4uLmVdKX1yZXR1cm4gaS5pdGVtcz1JZihyKSxVZi5zZXQoITEpLFdmLnNldCghMSksaS5pdGVtcy5sZW5ndGg+MD9pOm51bGx9LHFmPWZ1bmN0aW9uKGUpe3JldHVybiBlLkNvbnRhY3RNZXNzYWdlPWBjb250YWN0LW1lc3NhZ2VgLGUuQWdlbnRNZXNzYWdlPWBhZ2VudC1tZXNzYWdlYCxlLkJvdE1lc3NhZ2U9YGJvdC1tZXNzYWdlYCxlLkJvdFJlcGxpZXM9YGJvdC1yZXBsaWVzYCxlfSh7fSksSmY9YXN5bmMoe3RleHQ6ZSxxdWlja1JlcGx5OnR9KT0+e3RyeXtsZXQgbj1CKCkubG9jYXRpb24uaHJlZjtyZXR1cm4gYXdhaXQgcS5nZXRDbGllbnQoKS5jaGF0TWVzc2FnZSh7Y29udGVudDp7dHlwZTpHLk1lc3NhZ2VDb250ZW50VHlwZS5UZXh0LHRleHQ6ZX0scXVpY2tSZXBseTp0LHBhZ2VVcmw6bn0pPz9udWxsfWNhdGNoe3JldHVybiBudWxsfX0sWWY9ZT0+ZS5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Cb3R8fGUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuVHJpZ2dlcixYZj1lPT5lLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlN5c3RlbSxaZj1lPT5lLnR5cGU9PT1HLk1lc3NhZ2VUeXBlLk5vdGUsUWY9ZT0+IWUuZGVsZXRlZEF0JiYhWmYoZSkmJihlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkFnZW50fHxZZihlKSksJGY9ZT0+YGh0bWxgaW4gZSYmISFlLmh0bWwsZXA9ZT0+YHRleHRgaW4gZSYmISFlLnRleHQsdHA9KGUsdCk9Pm5ldyBEYXRlKGUuY3JlYXRlZEF0KS5nZXRUaW1lKCktbmV3IERhdGUodC5jcmVhdGVkQXQpLmdldFRpbWUoKSxucD0oZSx0KT0+dD09PXFmLkJvdFJlcGxpZXM/YCR7ZS5pZH0tcmVwbGllc2A6ZS5pZCxycD1lPT57bGV0IHQ9e2lzUmlnaHQ6ITEsaXNMZWZ0OiExfSxuPXtpc1ByaW1hcnk6ITEsaXNTZWNvbmRhcnk6ITF9O3N3aXRjaChlKXtjYXNlIHFmLkNvbnRhY3RNZXNzYWdlOnQuaXNSaWdodD0hMCxuLmlzUHJpbWFyeT0hMDticmVhaztkZWZhdWx0OnQuaXNMZWZ0PSEwLG4uaXNTZWNvbmRhcnk9ITB9cmV0dXJue2FsaWduOnQsdmFyaWFudDpufX0saXA9ZT0+ISFlLmFnZW50SWR8fGUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90JiZlLmNvbnRlbnQudHlwZSE9PUcuTWVzc2FnZUNvbnRlbnRUeXBlLlRpY2tldEZvcm0sYXA9KGUsdCk9PmUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuU3lzdGVtfHx0PT09cWYuQm90UmVwbGllc3x8ZS5jb250ZW50LnR5cGU9PT1HLk1lc3NhZ2VDb250ZW50VHlwZS5UaWNrZXRGb3JtLG9wPWU9PntsZXQgdD1bXSxuPW51bGwscj1udWxsO2ZvcihsZXQgaSBvZiBlKXtpZihpLmNvbnRlbnQudHlwZT09PUcuTWVzc2FnZUNvbnRlbnRUeXBlLlJhdGVGb3JtJiYoaS5jb250ZW50LmRhdGEudGFyZ2V0PT09Ry5SYXRpbmdUYXJnZXQuQWkmJiFKcCgpfHxpLmNvbnRlbnQuZGF0YS50YXJnZXQ9PT1HLlJhdGluZ1RhcmdldC5BZ2VudCYmIXFwKCkpKWNvbnRpbnVlO24mJiFocChpLG4pJiYodC5wdXNoKG4pLG49bnVsbCxyPW51bGwpLG58fD1zcChpKTtsZXQgZT1scChpLG4pO2lmKHIpe2xldCB0PV9wKHIpLG49ZHAocik7ZS5uZWlnaGJvcnMuaGFzVG9wPXQsbi5hbnkubmVpZ2hib3JzLmhhc0JvdHRvbT10LG4uYXR0YWNobWVudENvbnRleHQmJihuLmF0dGFjaG1lbnRDb250ZXh0LmV4dHJhU3BhY2VzLmhhc0JvdHRvbT15cChuLmF0dGFjaG1lbnRDb250ZXh0LmF0dGFjaG1lbnQpKX1sZXQgYT1mcChpKTtpZihhJiZ1cChhLGUsciksbi5tZXNzYWdlc0NvbnRleHQucHVzaChlKSxyPWUsKFlmKGkpfHxYZihpKSkmJlRwKGkpKXt0LnB1c2gobik7bGV0IGU9Y3AoaSk7ZS5tZXNzYWdlc0NvbnRleHQucHVzaChscChpLGUpKSx0LnB1c2goZSksbj1udWxsfX1yZXR1cm4gbiYmdC5wdXNoKG4pLHR9LHNwPWU9PntsZXQgdD1ncChlKSxuPWUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90fHxlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlRyaWdnZXIse2FsaWduOnIsdmFyaWFudDppfT1ycCh0KTtyZXR1cm57dHlwZTp0LGlzQm90Om4saWQ6bnAoZSx0KSxkYXRlOmUuY3JlYXRlZEF0LGFnZW50SWQ6ZS5hZ2VudElkLGFsaWduOnIsdmFyaWFudDppLG1lc3NhZ2VzQ29udGV4dDpbXSxzaG93QXZhdGFyOmlwKGUpLHVzZUZ1bGxXaWR0aDphcChlLHQpfX0sY3A9ZT0+e2xldCB0PXFmLkJvdFJlcGxpZXMse2FsaWduOm4sdmFyaWFudDpyfT1ycCh0KTtyZXR1cm57dHlwZTpxZi5Cb3RSZXBsaWVzLGlzQm90OiEwLGlkOm5wKGUsdCksZGF0ZTplLmNyZWF0ZWRBdCxhZ2VudElkOmUuYWdlbnRJZCxhbGlnbjpuLHZhcmlhbnQ6cixtZXNzYWdlc0NvbnRleHQ6W10sc2hvd0F2YXRhcjohMSx1c2VGdWxsV2lkdGg6YXAoZSx0KX19LGxwPShlLHQpPT4oe2dyb3VwOnQsbWVzc2FnZTplLG5laWdoYm9yczp7aGFzVG9wOiExLGhhc0JvdHRvbTohMX0sYXR0YWNobWVudHNDb250ZXh0OltdfSksdXA9KGUsdCxuKT0+e2xldCByPW51bGw7Zm9yKGxldCBpIG9mIGUpe2xldCBlPXZwKGkpLGE9e2hhc1RvcDohMSxoYXNCb3R0b206ITF9LG89eXAoaSkscz17aGFzVG9wOm8saGFzQm90dG9tOiExfTtpZihyKXtsZXQgdD12cChyLmF0dGFjaG1lbnQpLG49eXAoci5hdHRhY2htZW50KTtyLm5laWdoYm9ycy5oYXNCb3R0b209dCYmZSxhLmhhc1RvcD10JiZlLHIuZXh0cmFTcGFjZXMuaGFzQm90dG9tPSFvJiZufWVsc2UgaWYodC5uZWlnaGJvcnMuaGFzQm90dG9tPWUsYS5oYXNUb3A9ZSxwcCh0Lm1lc3NhZ2UpKWlmKGEuaGFzVG9wPSExLHQubmVpZ2hib3JzLmhhc1RvcD0hMSx0Lm5laWdoYm9ycy5oYXNCb3R0b209ITEsbil7bGV0IHQ9X3Aobikscj1kcChuKTthLmhhc1RvcD10JiZlLHIuYW55Lm5laWdoYm9ycy5oYXNCb3R0b209dCYmZTtsZXQgaT1yLmF0dGFjaG1lbnRDb250ZXh0O2kmJihpLmV4dHJhU3BhY2VzLmhhc0JvdHRvbT0hbyYmeXAoaS5hdHRhY2htZW50KSl9ZWxzZSBzLmhhc1RvcD0hMTtsZXQgYz17YXR0YWNobWVudDppLG5laWdoYm9yczphLGV4dHJhU3BhY2VzOnMsbWVzc2FnZUNvbnRleHQ6dH07dC5hdHRhY2htZW50c0NvbnRleHQucHVzaChjKSxyPXsuLi5jfX19LGRwPWU9PntsZXQgdD1TZChlLmF0dGFjaG1lbnRzQ29udGV4dCl8fHZvaWQgMDtyZXR1cm57YXR0YWNobWVudENvbnRleHQ6dCxhbnk6dHx8ZX19LGZwPWU9PmU/ZS5jb250ZW50Py50eXBlPT09Ry5NZXNzYWdlQ29udGVudFR5cGUuVXBsb2FkP1tlLmNvbnRlbnQuZGF0YV06ZS5hdHRhY2htZW50czpbXSxwcD1lPT4hZS5jb250ZW50LnRleHQsbXA9ZT0+e3RyeXtsZXQgdD1CKCkubG9jYXRpb24uaG9zdG5hbWUsbj1uZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGUsYHRleHQvaHRtbGApO3JldHVybiBuLnF1ZXJ5U2VsZWN0b3JBbGwoYGFbaHJlZl1gKS5mb3JFYWNoKGU9PntsZXQgbj1lLmdldEF0dHJpYnV0ZShgaHJlZmApfHxgYDtuPW4ucmVwbGFjZSgvXmh0dHBzPzpcL1wvIj9odHRwcz86XC9cLy8sYGh0dHBzOi8vYCksbj1uLnJlcGxhY2UoL14iK3wiKyQvZyxgYCksZS5zZXRBdHRyaWJ1dGUoYGhyZWZgLG4pO2xldCByPXQubGVuZ3RoPjAmJm4uaW5jbHVkZXModCk7ZS5oYXNBdHRyaWJ1dGUoYHRhcmdldGApfHxlLnNldEF0dHJpYnV0ZShgdGFyZ2V0YCxyP2BfcGFyZW50YDpgX2JsYW5rYCksZS5oYXNBdHRyaWJ1dGUoYHJlbGApfHxlLnNldEF0dHJpYnV0ZShgcmVsYCxgbm9vcGVuZXIgbm9yZWZlcnJlcmApfSksbi5ib2R5LmlubmVySFRNTH1jYXRjaHtyZXR1cm4gZX19LGhwPShlLHQpPT57bGV0IG49Z3AoZSkscj1uPT09cWYuQWdlbnRNZXNzYWdlJiZlLmFnZW50SWQ9PT10LmFnZW50SWQsaT1uPT09cWYuQ29udGFjdE1lc3NhZ2UsYT1lLnN1YlR5cGUhPT1HLk1lc3NhZ2VTdWJUeXBlLkJvdHx8KGUuY29udGVudC5xdWlja1JlcGxpZXN8fFtdKS5sZW5ndGg9PT0wO3JldHVybiB0LnR5cGU9PT1uJiYocnx8aSkmJmEmJklkKHQuZGF0ZSxlLmNyZWF0ZWRBdCl9LGdwPWU9Pntzd2l0Y2goZS5zdWJUeXBlKXtjYXNlIEcuTWVzc2FnZVN1YlR5cGUuQWdlbnQ6cmV0dXJuIHFmLkFnZW50TWVzc2FnZTtjYXNlIEcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdDpyZXR1cm4gcWYuQ29udGFjdE1lc3NhZ2U7Y2FzZSBHLk1lc3NhZ2VTdWJUeXBlLkJvdDpyZXR1cm4gcWYuQm90TWVzc2FnZX1yZXR1cm4gbnVsbH0sX3A9ZT0+e2xldCB0PWUuYXR0YWNobWVudHNDb250ZXh0Lmxlbmd0aDtyZXR1cm4hKHQ+MCYmZS5hdHRhY2htZW50c0NvbnRleHRbdC0xXS5hdHRhY2htZW50LnR5cGU9PT1HLkF0dGFjaG1lbnRUeXBlLkZpbGUpfSx2cD1lPT5lLnR5cGUhPT1HLkF0dGFjaG1lbnRUeXBlLkZpbGUmJmUudHlwZSE9PUcuQXR0YWNobWVudFR5cGUuQ2FyZHMseXA9ZT0+ISFlJiYoZS50eXBlPT09Ry5BdHRhY2htZW50VHlwZS5GaWxlfHxlLnR5cGU9PT1HLkF0dGFjaG1lbnRUeXBlLkNhcmRzKSxicD0oKT0+e2xldCBlPWdfKCk7ZS52b2x1bWU9cWMsZS5hZGRFdmVudExpc3RlbmVyKGBjYW5wbGF5dGhyb3VnaGAsKCk9PntlLnBsYXkoKS5jYXRjaChlPT5IKGBDb3VsZCBub3QgcGxheSBtZXNzYWdlIHNvdW5kLmAsZSkpfSl9LHhwPUtkKGJwLEpjKSxTcD1lPT5lLmZpbHRlcihlPT5lLnR5cGU9PT1HLk1lc3NhZ2VUeXBlLk1lc3NhZ2UmJihlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkFnZW50fHxlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkNvbnRhY3QpKSxDcD0oZSx0PSEwKT0+e2xldCBuPWUucmVkdWNlKChlLHQpPT4oZS5wdXNoKHQpLHQuY29udGVudC50eXBlPT09Ry5NZXNzYWdlQ29udGVudFR5cGUuQ2hhdENsb3NlfHx0LmNvbnRlbnQudHlwZT09PUcuTWVzc2FnZUNvbnRlbnRUeXBlLkNoYXRWaXNpdG9yQ2xvc2U/W106ZSksW10pO3JldHVybiB0P24uZmlsdGVyKGU9PmUudHlwZT09PUcuTWVzc2FnZVR5cGUuTWVzc2FnZSYmZS5zdWJUeXBlIT09Ry5NZXNzYWdlU3ViVHlwZS5TeXN0ZW0pOm59LHdwPWU9PntsZXQgdD17fTtyZXR1cm4gZS5mb3JFYWNoKGU9PntlLnRyaWdnZXImJih0W2UudHJpZ2dlci5pZF09e3NlbnQ6ITB9KX0pLHR9LFRwPWU9PiEhKGUuY29udGVudC5xdWlja1JlcGxpZXMmJmUuY29udGVudC5xdWlja1JlcGxpZXMubGVuZ3RoPjApLEVwPWFzeW5jKGUsdD0hMSk9PntsZXQgbj1RZihlKSxyPSF0JiZuO2lmKGBodG1sYGluIGUuY29udGVudCYmZS5jb250ZW50Lmh0bWwmJihlLmNvbnRlbnQuaHRtbD1tcChlLmNvbnRlbnQuaHRtbCkpLGUuY29udGVudD8udGV4dCYmVi5nZXRPcHRpb25zKCkudXJsQ2FyZHNFbmFibGVkJiZlLmF0dGFjaG1lbnRzLmxlbmd0aD09PTApe2xldCB0PWF3YWl0IEtmKGUuY29udGVudC50ZXh0LGUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdCxyKTt0JiZ0Lml0ZW1zLmxlbmd0aD4wJiZlLmF0dGFjaG1lbnRzLnB1c2godCl9cmV0dXJuIG5kLnNldCghMSksZX0sRHA9YXN5bmMgZT0+KFYuZ2V0T3B0aW9ucygpLnVybENhcmRzRW5hYmxlZCYmYXdhaXQgUHJvbWlzZS5hbGwoZS5tYXAoYXN5bmMgZT0+YXdhaXQgRXAoZSkpKSxlKSxPcD1lPT5lLmZpbmRJbmRleChlPT5lLm1lc3NhZ2UuY2hhbm5lbC50eXBlPT09YGVtYWlsYCk+LTEsa3A9ZT0+ZS5maW5kKGU9PmUubWVzc2FnZT8udHJpZ2dlcj8uaWRlbnRpdHlJZCk/Lm1lc3NhZ2U/LnRyaWdnZXI/LmlkZW50aXR5SWQsSj0oKCk9PntsZXQgZT1PKHt9KSx7c3Vic2NyaWJlOnQsdXBkYXRlOm4sc2V0OnJ9PWUsaT1hc3luYyBlPT57cihybChgaWRgLGF3YWl0IERwKGUpKSl9LGE9YXN5bmMgZT0+e2xldCB0PWF3YWl0IEVwKGUpO1lmKGUpJiZNcC5zZXQoITEpLG4obj0+KHsuLi5uLFtlLmlkXTp0fSkpLGpwKHQpfSxvPWFzeW5jIGU9PntpZighQShScCkuc29tZSh0PT50LmlkPT09ZS5pZCkpcmV0dXJuO2xldCB0PUEoQnApPT09ZS5pZD9hd2FpdCBFcChlLCEwKTplO24obj0+KHsuLi5uLFtlLmlkXTp0fSkpfTtyZXR1cm57c3Vic2NyaWJlOnQsc2V0TWVzc2FnZXM6aSxhZGRNZXNzYWdlOmEsZGVsZXRlTWVzc2FnZTplPT57bih0PT57bGV0e1tlXTpuLC4uLnJ9PXQ7cmV0dXJuIHJ9KX0sbWFya01lc3NhZ2VBc0RlbGV0ZWQ6KHQscik9PntsZXQgaT1BKGUpW3RdO2kmJm4oZT0+KHsuLi5lLFtpLmlkXTp7Li4uaSxkZWxldGVkQXQ6cj8/bmV3IERhdGUoKS50b0lTT1N0cmluZygpfX0pKX0scmVwbGFjZU1lc3NhZ2U6byx1cGRhdGVNZXNzYWdlUmF0aW5nOmU9PntBKGlkKT09PWUuY29udGVudC5kYXRhPy50YXJnZXQmJnhkKCksbih0PT4hZXx8ZS5jb250ZW50LnR5cGUhPT1HLk1lc3NhZ2VDb250ZW50VHlwZS5SYXRlRm9ybT97Li4udH06KHRbZS5pZF18fFlwKGUuaWQpLHsuLi50LFtlLmlkXTplfSkpfSxzZW5kTWVzc2FnZTphc3luYyhlLHQpPT57S3Auc2V0KGUpO2xldCBuPWF3YWl0IEpmKHt0ZXh0OmV9KTtuJiYoS3Auc2V0KG51bGwpLGF3YWl0IGEobiksei5lbWl0KGBtZXNzYWdlU2VudGAsbiksd2goQSgkdSkpKSxhd2FpdCBQcm9taXNlLmFsbCh0Lm1hcChlPT5PZChlKSkpfSxzZW5kQm90UmVwbHk6YXN5bmMoZSx0LG4pPT57bGV0IHI9YXdhaXQgSmYoe3RleHQ6dCxxdWlja1JlcGx5OntyZXBseVRvOmUscGF5bG9hZDpufX0pO24uaXNHb0JhY2tCdXR0b258fEptKHQpLHImJmF3YWl0IG8ocil9LGNsZWFyTWVzc2FnZXM6KCk9PntyKHt9KX19fSkoKSxBcD1lPT57QShSXyl8fElfKCksUV8oKSxzZXRUaW1lb3V0KCgpPT57Si5hZGRNZXNzYWdlKGUpLCRfKCl9LDE2MDApfSxqcD1lPT57ZSYmQShEXykmJkEoUl8pJiYhKEEoa18pJiZBKFgpKSYmX18oZSkmJnhwKCl9LE1wPU8oITEpLE5wPWsoW0pdLChbZV0pPT57bGV0IHQ9T2JqZWN0LnZhbHVlcyhlKS5maWx0ZXIoUWYpO3JldHVybiB0P1NkKHQuc29ydCgoZSx0KT0+bmV3IERhdGUoZS5jcmVhdGVkQXQpLmdldFRpbWUoKS1uZXcgRGF0ZSh0LmNyZWF0ZWRBdCkuZ2V0VGltZSgpKSk6bnVsbH0pLFBwPWsoW0oscmRdLChbZSx0XSk9PntsZXQgbj1PYmplY3QudmFsdWVzKGUpLmZpbHRlcihRZik7cmV0dXJuIHQ/bi5maWx0ZXIoZT0+bmV3IERhdGUoZS5jcmVhdGVkQXQpPm5ldyBEYXRlKHQpKTpufSksRnA9ayhbUHBdLChbZV0pPT5TZChlKSksSXA9ayhbUHBdLChbZV0pPT5lLmxlbmd0aCksTHA9ayhbSXBdLChbZV0pPT5lPjApLFJwPWsoW0pdLChbZV0pPT5PYmplY3QudmFsdWVzKGUpLnNvcnQodHApKSx6cD1rKFtScF0sKFtlXSk9Pm9wKGUpKSxCcD1rKFtScF0sKFtlXSk9PlNkKGUpPy5pZD8/bnVsbCksVnA9ayhbSl0sKFtlXSk9PlNkKE9iamVjdC52YWx1ZXMoZSkuZmlsdGVyKGU9PnR5cGVvZiBlLndpZGdldE9wdGlvbnM/LmRpc2FibGVJbnB1dD09YGJvb2xlYW5gKSk/LndpZGdldE9wdGlvbnM/LmRpc2FibGVJbnB1dD8/ITEpLEhwPWsoW0pdLChbZV0pPT5PYmplY3QudmFsdWVzKGUpLmZpbHRlcihlPT5lLnN1YlR5cGU9PT1gY29udGFjdGB8fGUuc3ViVHlwZT09PWBhZ2VudGApLmxlbmd0aD4wKSxVcD1rKFtKXSwoW2VdKT0+T2JqZWN0LnZhbHVlcyhlKS5maWx0ZXIoZT0+ZS5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0KS5sZW5ndGg+MCksV3A9ayhbSixDc10sKFtlLHRdLG4pPT57aWYodCl7bGV0IHI9ZVt0XTtyJiZyLmNvbnRlbnQudHlwZT09PUcuTWVzc2FnZUNvbnRlbnRUeXBlLlJhdGVGb3JtJiZuKHttZXNzYWdlSWQ6ci5pZCx2YWx1ZTpyLmNvbnRlbnQuZGF0YT8udmFsdWUsdGV4dDpyLmNvbnRlbnQuZGF0YT8udGV4dCx0YXJnZXQ6ci5jb250ZW50LmRhdGE/LnRhcmdldH0pfWVsc2UgbihudWxsKX0pLEdwPWsoW1JwXSwoW2VdKT0+ZS5zbGljZSgpLnJldmVyc2UoKS5maW5kKGU9PmUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdCl8fG51bGwpLEtwPU8obnVsbCkscXA9KCk9PiEhVi5nZXRPcHRpb25zKCkucmF0aW5nRW5hYmxlZCxKcD0oKT0+ISFWLmdldE9wdGlvbnMoKS5haVJhdGluZ0VuYWJsZWQsWXA9ZT0+e0NzLnNldChlKSxCYyhIYy5DaGF0UmF0aW5nKX0sWHA9YXN5bmMoe21lc3NhZ2VJZDplLHJhdGluZzp7dGV4dDp0LHZhbHVlOm59LG9uU3VjY2VzczpyfSk9PntsZXQgaT1BKEopW2VdLGE9ZT09PWByYXRlX2Zvcm1faWRgP3ZvaWQgMDplO3RyeXthd2FpdCBxLmdldENsaWVudCgpLmNoYXRSYXRlKHttZXNzYWdlSWQ6YSx2YWx1ZTpuLHRleHQ6dD8/dm9pZCAwfSksciYmcigpfWNhdGNoKGUpe2kmJmF3YWl0IEoucmVwbGFjZU1lc3NhZ2UoaSksam8oYENoYXQgcmF0aW5nIGZhaWxlZC5gLFN0cmluZyhlKSksZ3MoQShXKShgZm9ybS5zdWJtaXQuZXJyb3JgKSl9fSxacD1lPT57bGV0e3dpZGdldFYzVXJsOnR9PVYuZ2V0T3B0aW9ucygpO3JldHVybmAke3R9L2Fzc2V0cy9pbWFnZXMvcmF0aW5nLyR7ZX0uc3ZnYH0sUXA9LyhHLShbQS1aLDAtOV0qKSkvZywkcD1bXSxlbT0hMSx0bSxubT0hMSxybSxpbT1lPT5lLm1hdGNoKFFwKSxhbT0oKT0+e2xldHtnb29nbGVBbmFseXRpY3NFbmFibGVkOmV9PVYuZ2V0T3B0aW9ucygpO3RtPXdpbmRvdy50b3B8fHdpbmRvdyxlJiYodG0uZ3RhZyYmKHJtPXRtLmd0YWcsbm09ITApLHoub24oYGFuYWx5dGljc0NvbnNlbnRDaGFuZ2VkYCxvbSksIWVtJiZVbygpJiZzbSgpKX0sb209ZT0+eyFlbSYmZSYmc20oKX0sc209KCk9PntsZXR7Z2FLZXk6ZSxnYU9wdGlvbnM6dCxnb29nbGVBbmFseXRpY3NNYW51YWw6bixnb29nbGVBbmFseXRpY3NNZWFzdXJlbWVudElkczpyfT1WLmdldE9wdGlvbnMoKSxpPXR8fHtjb29raWVEb21haW46YGF1dG9gfTtpZihlKWltKGUpJiYkcC5wdXNoKHtrZXk6ZSxvcHRpb25zOml9KTtlbHNlIGlmKG4mJnIpci5mb3JFYWNoKGU9PntpbShlKSYmJHAucHVzaCh7a2V5OmUsb3B0aW9uczppfSl9KTtlbHNlIHRyeXskcC5wdXNoKC4uLmNtKCkpfWNhdGNoKGUpe3ZvKGBFcnJvciBkdXJpbmcgZ2V0dGluZyBHQSB0b3AgdHJhY2tlcnNgLGUgaW5zdGFuY2VvZiBFcnJvcj9lLm1lc3NhZ2U6ZSl9JHAubGVuZ3RoPjAmJiFubSYmbG0oKSwkcC5sZW5ndGg9PT0wP3ZvKGBObyBHQSB0byBzZXR1cGApOihkbSgpLGVtPSEwLHZvKGBHQSBpbml0aWFsaXplZGApKX0sY209KCk9PntsZXQgZT1bXTtyZXR1cm4gdG0uZ29vZ2xlX3RhZ19tYW5hZ2VyJiZPYmplY3Qua2V5cyh0bS5nb29nbGVfdGFnX21hbmFnZXIpLmZvckVhY2godD0+e2ltKHQpJiZlLnB1c2goe2tleTp0LG9wdGlvbnM6e2Nvb2tpZURvbWFpbjpgYXV0b2B9fSl9KSxlfSxsbT0oKT0+e2xldCBlPXRtLmRvY3VtZW50LHtoZWFkOnR9PWUsbj1lLmNyZWF0ZUVsZW1lbnQoYHNjcmlwdGApO24uaWQ9YGd0YWdgLG4udHlwZT1gdGV4dC9qYXZhc2NyaXB0YCxuLmFzeW5jPSEwLG4uc3JjPWBodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzYCx0Lmluc2VydEJlZm9yZShuLHQuZmlyc3RDaGlsZCksdG0uZGF0YUxheWVyPXRtLmRhdGFMYXllcnx8W10sdG0uZ3RhZz1mdW5jdGlvbigpe3RtLmRhdGFMYXllci5wdXNoKGFyZ3VtZW50cyl9LHJtPXRtLmd0YWcscm0oYGpzYCxuZXcgRGF0ZSl9LHVtPSgpPT57bGV0IGU9W107aWYobm0pe2xldCB0PWNtKCk7JHAuZm9yRWFjaChuPT57dC5maW5kKCh7a2V5OmV9KT0+ZT09PW4ua2V5KXx8ZS5wdXNoKG4pfSl9ZWxzZSBlPVsuLi4kcF07cmV0dXJuIGV9LGRtPSgpPT57dW0oKS5mb3JFYWNoKGU9PntsZXR7a2V5OnQsb3B0aW9uczpufT1lLHI9e307bj8ocj17Y29va2llX2RvbWFpbjpuLmNvb2tpZURvbWFpbn0sbi5uYW1lJiYoci5uYW1lPW4ubmFtZSkpOnI9e2Nvb2tpZV9kb21haW46dG0/LmxvY2F0aW9uLmhvc3RuYW1lfHxgYH0sci5zZW5kX3BhZ2Vfdmlldz0hMSxybShgY29uZmlnYCx0LHIpfSl9LGZtPShlLHQpPT57bGV0e2dvb2dsZUFuYWx5dGljc0VuYWJsZWQ6bn09Vi5nZXRPcHRpb25zKCk7aWYoISghbnx8IXRtLmd0YWd8fCFVbygpfHx0bS5kb2N1bWVudC5oaWRkZW4pKXRyeXskcC5mb3JFYWNoKG49Pnt0LnNlbmRfdG89bi5rZXkscm0oYGV2ZW50YCxlLHQpLHZvKGBTbWFydHN1cHA6IEdBIGV2ZW50ICR7ZX0gLSAke0pTT04uc3RyaW5naWZ5KHQpfWApfSl9Y2F0Y2goZSl7dm8oYFNtYXJ0c3VwcDogR0EgZXJyb3I6YCxlIGluc3RhbmNlb2YgRXJyb3I/ZS5tZXNzYWdlOmUpfX0scG09YFZpc2l0b3Jfc3RhcnRlZF9jb252ZXJzYXRpb25gLG1tPWBWaXNpdG9yX2Nsb3NlZF9jb252ZXJzYXRpb25gLGhtPWBUcmlnZ2VyX21lc3NhZ2Vfc2VudGAsZ209YFRyaWdnZXJfbWVzc2FnZV92aWV3ZWRgLF9tPWBUcmlnZ2VyX3Zpc2l0b3JfcmVhY3Rpb25gLHZtPWBBdXRvX21lc3NhZ2Vfc2VudGAseW09YEF1dG9fbWVzc2FnZV92aWV3ZWRgLGJtPWBBdXRvX21lc3NhZ2VfdmlzaXRvcl9yZWFjdGlvbmAseG09YENoYXRib3Rfc2VudGAsU209YENoYXRib3Rfdmlld2VkYCxDbT1gQ2hhdGJvdF9pbnRlcmFjdGlvbmAsd209YENoYXRib3RfYnV0dG9uX2ludGVyYWN0aW9uYCxUbT1gQ2hhdGJvdF92aXNpdG9yX3JlYWN0aW9uYCxFbT1gQWlfY2hhdGJvdF9zZW50YCxEbT1gQWlfY2hhdGJvdF9pbnRlcmFjdGlvbmAsT209YEFpX2NoYXRib3RfdmlzaXRvcl9yZWFjdGlvbmAsa209YEFnZW50X3NlcnZlZF9jb252ZXJzYXRpb25gLEFtPWBBZ2VudF9jbG9zZWRfY29udmVyc2F0aW9uYCxqbT1gQ29udGFjdF9hY3F1aXJlZGAsTW09YEF1dGhfZm9ybV9maWxsZWRgLE5tPWBPZmZsaW5lX21lc3NhZ2Vfc2VudGAsUG09YEZlZWRiYWNrX3NlbnRgLEZtPWBGZWVkYmFja190ZXh0X3NlbnRgLEltPWBVcmxfY2FyZF9vcGVuZWRgLExtPWBDaGF0Ym94X29wZW5lZGAsUm09e2V2ZW50X2NhdGVnb3J5OmBTbWFydHN1cHBfdjNgLG5vbl9pbnRlcmFjdGlvbjohMH0sWT0oZSx0KT0+e2ZtKGUsey4uLlJtLC4uLnR9KX0sem09KGU9YGApPT5ZKGhtLHtldmVudF9sYWJlbDplfSksQm09ZT0+WShnbSx7ZXZlbnRfbGFiZWw6ZX0pLFZtPShlPWBgKT0+WShfbSx7ZXZlbnRfbGFiZWw6ZX0pLEhtPShlPWBgKT0+WSh2bSx7ZXZlbnRfbGFiZWw6ZX0pLFVtPWU9PlkoeW0se2V2ZW50X2xhYmVsOmV9KSxXbT0oZT1gYCk9PlkoYm0se2V2ZW50X2xhYmVsOmV9KSxHbT0oZT1gYCk9PlkoeG0se2V2ZW50X2xhYmVsOmV9KSxLbT1lPT5ZKFNtLHtldmVudF9sYWJlbDplfSkscW09KGU9YGApPT5ZKENtLHtldmVudF9sYWJlbDplfSksSm09KGU9YGApPT5ZKHdtLHtldmVudF9sYWJlbDplfSksWW09KGU9YGApPT5ZKFRtLHtldmVudF9sYWJlbDplfSksWG09KCk9PlkocG0pLFptPSgpPT5ZKG1tKSxRbT1lPT5ZKEFtLHtldmVudF9sYWJlbDplfSksJG09ZT0+WShrbSx7ZXZlbnRfbGFiZWw6ZX0pLGVoPSgpPT5ZKE1tKSx0aD0oKT0+WShObSksbmg9KGUsdCk9PntsZXQgbj17ZXZlbnRfbGFiZWw6dHx8dnNbZV18fGBgLHZhbHVlOmV9O1kodD9GbTpQbSxuKX0scmg9ZT0+WShqbSx7ZXZlbnRfbGFiZWw6ZX0pLGloPWU9PlkoSW0se2V2ZW50X2xhYmVsOmV9KSxhaD0oZT1gYCk9PlkoRW0se2V2ZW50X2xhYmVsOmV9KSxvaD0oZT1gYCk9PlkoRG0se2V2ZW50X2xhYmVsOmV9KSxzaD0oZT1gYCk9PlkoT20se2V2ZW50X2xhYmVsOmV9KSxjaD0oKT0+WShMbSksbGg9ITEsdWg9e30sZGg9KCk9PntsaD0hMX0sZmg9KCk9Pnt1aD13cChBKFJwKSl9LHBoPShlLHQpPT5saD8hMTpDcChlKS5sZW5ndGg9PT0xJiZ0PT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0PyhsaD0hMCwhMCk6ITEsbWg9KGUsdCk9PntsZXQgbj1lLnRyaWdnZXI/LmlkfHxgYDtyZXR1cm4gdC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0JiZlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlRyaWdnZXImJiF1aFtuXT8udmlzaXRvclJlc3BvbmRlZD8odWhbbl0udmlzaXRvclJlc3BvbmRlZD0hMCwhMCk6ITF9LGhoPShlLHQpPT57bGV0IG49ZS50cmlnZ2VyPy5pZHx8YGA7cmV0dXJuIHQuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdCYmISh0LmNvbnRlbnQucXVpY2tSZXBsaWVzfHx0LmNvbnRlbnQucXVpY2tSZXBseSkmJmUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90JiYhdWhbbl0/LnZpc2l0b3JSZXNwb25kZWQmJm4/KHVoW25dLnZpc2l0b3JSZXNwb25kZWQ9ITAsITApOiExfSxnaD0oZSx0KT0+e2xldCBuPWUudHJpZ2dlcj8uaWR8fGBgO3JldHVybiB0LnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkNvbnRhY3QmJmUudHJpZ2dlcj8uZ3JvdXBUeXBlPT09Ry5Hcm91cFR5cGUuY2hhdGJvdCYmIXVoW25dPy5yZWFjdGVkPyh1aFtuXS5yZWFjdGVkPSEwLCEwKTohMX0sX2g9ZT0+e2xldCB0PWUudHJpZ2dlcj8uaWR8fGBgO3JldHVybiBlLnRyaWdnZXI/Lmdyb3VwVHlwZT09PUcuR3JvdXBUeXBlLmFpJiYhdWhbdF0/LnJlYWN0ZWQ/KHVoW3RdLnJlYWN0ZWQ9ITAsITApOiExfSx2aD0oZSx0LG49ITEpPT57aWYoZS5sZW5ndGg+MCYmIW4pe2xldCB0PWUuc2xpY2UoLTIpLmZpbHRlcihlPT5lLnRyaWdnZXIpO3JldHVybiB0P3RbdC5sZW5ndGgtMV0udHJpZ2dlcj8ubmFtZTpgYH1lbHNlIHJldHVybiB0LnRyaWdnZXI/dC50cmlnZ2VyLm5hbWU6YGB9LHloPWU9PntsZXQgdD1BKFJwKTt4aCh0LGUpLFNoKHQsZSkscGgodCxlLnN1YlR5cGUpJiZYbSgpfSxiaD1lPT57bGV0IHQ9ZSxuPUEoUnApLmZpbHRlcihlPT5lLnRyaWdnZXIpO24mJm4ubGVuZ3RoPjAmJih0PW5bbi5sZW5ndGgtMV0udHJpZ2dlcj8ubmFtZT8/ZSkscmgodCl9LHhoPShlLHQpPT57bGV0IG49dC50cmlnZ2VyPy5pZHx8YGA7dC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Cb3QmJiF1aFtuXT8uc2VudCYmKHQudHJpZ2dlcj8uZ3JvdXBUeXBlPT09Ry5Hcm91cFR5cGUuY2hhdGJvdCYmKEdtKHZoKGUsdCwhMCkpLHVoW25dPXtzZW50OiEwfSksdC50cmlnZ2VyPy5ncm91cFR5cGU9PT1HLkdyb3VwVHlwZS5tZXNzYWdlJiYoSG0odmgoZSx0LCEwKSksdWhbbl09e3NlbnQ6ITB9KSx0LnRyaWdnZXI/Lmdyb3VwVHlwZT09PUcuR3JvdXBUeXBlLmFpJiYoYWgodmgoZSx0LCEwKSksdWhbbl09e3NlbnQ6ITB9KSk7bGV0IHI9ZS5sZW5ndGg+MT9lW2UubGVuZ3RoLTJdOnZvaWQgMDtyJiYoaGgocix0KT8oci50cmlnZ2VyPy5ncm91cFR5cGU9PT1HLkdyb3VwVHlwZS5jaGF0Ym90JiZZbSh2aChlLHQpKSxyLnRyaWdnZXI/Lmdyb3VwVHlwZT09PUcuR3JvdXBUeXBlLm1lc3NhZ2UmJldtKHZoKGUsdCkpLHIudHJpZ2dlcj8uZ3JvdXBUeXBlPT09Ry5Hcm91cFR5cGUuYWkmJnNoKHZoKGUsdCkpKTpnaChyLHQpP3FtKHZoKGUsdCkpOl9oKHQpJiZvaCh2aChlLHQpKSl9LFNoPShlLHQpPT57dC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5UcmlnZ2VyJiYoem0odD8udHJpZ2dlcj8ubmFtZSksdWhbdC50cmlnZ2VyPy5pZHx8YGBdPXtzZW50OiEwfSk7bGV0IG49ZS5sZW5ndGg+MT9lW2UubGVuZ3RoLTJdOnZvaWQgMDtuJiZtaChuLHQpJiZWbSh2aChlLHQpKX0sQ2g9KCk9PntsZXQgZT1BKFBwKS5maWx0ZXIoZT0+ZS50cmlnZ2VyKSx0PWVbZS5sZW5ndGgtMV07dCYmdC50cmlnZ2VyJiYodC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Cb3QmJnQuY29udGVudC5xdWlja1JlcGxpZXM/S20odC50cmlnZ2VyLm5hbWUpOnQuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90P1VtKHQudHJpZ2dlci5uYW1lKTp0LnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlRyaWdnZXImJkJtKHQudHJpZ2dlci5uYW1lKSl9LHdoPWU9PntlPT09Sy5BY2NvdW50U3RhdHVzLk9mZmxpbmUmJnRoKCl9O3oub24oYG1lc3NhZ2VSZWNlaXZlZGAseWgpLHoub24oYGFnZW50Sm9pbmVkYCxlPT57JG0oZS5mdWxsbmFtZSl9KSx6Lm9uKGBjaGF0UmF0ZWRgLGU9PntuaChlLnZhbHVlLGUudGV4dCl9KSx6Lm9uKGBjaGF0Q2xvc2VkYCwoKT0+e2RoKCl9KSx6Lm9uKGBjaGF0VmlzaXRvckNsb3NlZGAsKCk9PntkaCgpfSksei5vbihgY29udGFjdEFjcXVpcmVkYCwoe2FjcXVpcmVkQnk6ZX0pPT57YmgoZSl9KSxYbC5wdXNoKGZoKTt2YXIgVGg9e0Fycm93RG93bjpgQXJyb3dEb3duYCxBcnJvd1VwOmBBcnJvd1VwYCxFbnRlcjpgRW50ZXJgLEVzY2FwZTpgRXNjYXBlYCxUYWI6YFRhYmB9LEVoPTJlMyxEaD0yZTMsT2g9ZT0+ZS5maWx0ZXIoZT0+IWUuaXNIaWRkZW4pLnJlZHVjZSgoZSx0KT0+KGVbdC5uYW1lXT10LnZhbHVlLGUpLHt9KSxraD1lPT5lLnJlZHVjZSgoZSx0KT0+KGVbdC5uYW1lXT10LnZhbGlkYXRvcnMsZSkse30pLEFoPShlLHQsbik9PntlLnVwZGF0ZShlPT4oey4uLmUsW3RdOm59KSl9LGpoPShlLHQpPT57bGV0IG49e307Zm9yKGxldCByIGluIGUpbltyXT10O3JldHVybiBufSxNaD0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNiksTmg9ZT0+e2lmKCFlKXJldHVybiExO2xldCB0PWUuc3BsaXQoYEBgKTtpZih0Lmxlbmd0aCE9PTIpcmV0dXJuITE7bGV0IG49dFswXSxyPXRbMV07cmV0dXJuIG4ubGVuZ3RoPjY0fHxyLmxlbmd0aD4yNTV8fHIuc3BsaXQoYC5gKS5zb21lKGU9PmUubGVuZ3RoPjYzKT8hMTp5Zi50ZXN0KGUpfSxQaD1udWxsLEZoPWU9PntsZXQgdD1lLmluaXRpYWxWYWx1ZXN8fHt9LHt2YWxpZGF0b3JzOm4sb25DaGFuZ2U6cixvblN1Ym1pdDppfT1lLGE9KCk9Pih7Li4udH0pLG89amgodCxQaCkscz1PKGEoKSksYz1PKG8pLGw9TyhqaCh0LCExKSksdT1PKCExKSxkPWsoYyxlPT5PYmplY3QudmFsdWVzKGUpLmV2ZXJ5KGU9PmU9PT1QaCkpLGY9KCk9PntPYmplY3QuZW50cmllcyhBKHMpKS5mb3JFYWNoKChbZSx0XSk9PntlZShlLHQpfSl9LHA9ZT0+e2xldCB0PWUudGFyZ2V0O3QmJl8odC5uYW1lfHx0LmlkLHQudmFsdWUpfSxtPWFzeW5jIGU9PntpZihlJiZlLnByZXZlbnREZWZhdWx0JiZlLnByZXZlbnREZWZhdWx0KCksdS5zZXQoITApLGYoKSwhQShkKSl7dS5zZXQoITEpO3JldHVybn1jLnNldChvKSxhd2FpdCBpKEEocykpLHUuc2V0KCExKX0saD0oZSx7c2hvdWxkVmFsaWRhdGU6dD0hMX09e30pPT57cy51cGRhdGUodD0+KHsuLi50LC4uLmV9KSksdCYmZigpfSxnPShlLHQpPT57XyhlLHQpfSxfPShlLHQpPT57dihlLHQpLGVlKGUsdCksciYmcihlLHQpfSx2PShlLHQpPT57QWgocyxlLHQpfSx5PShlLHQpPT57QWgobCxlLHQpfSxlZT0oZSx0KT0+e3koZSx0KTtsZXQgcj1uW2VdO2lmKHIpZm9yKGxldCBuIG9mIHIpe2xldHt0eXBlOnIsaXNWYWxpZDppfT1uKHQpO2lmKEFoKGMsZSxpP1BoOnIpLCFpKXJldHVybn19O3JldHVybntmb3JtOnMsZXJyb3JzOmMsaXNWYWxpZDpkLGlzU3VibWl0dGluZzp1LGhhbmRsZUNoYW5nZTpwLGhhbmRsZVN1Ym1pdDptLHNldEZpZWxkVmFsdWU6ZyxzZXRWYWx1ZXM6aH19LEloPWZ1bmN0aW9uKGUpe3JldHVybiBlLlRleHQ9YHRleHRgLGUuQ2hlY2tib3g9YGNoZWNrYm94YCxlLlNlbGVjdD1gc2VsZWN0YCxlfSh7fSksTGg9KCk9PmU9PntsZXQgdD0hMDtyZXR1cm4gZT8/KHQ9ITEpLEx1KGUpJiYodD1lLnRyaW0oKS5sZW5ndGg+MCkse3R5cGU6YHJlcXVpcmVkYCxpc1ZhbGlkOnR9fSxSaD0oKT0+ZT0+KHt0eXBlOmBjaGVja2VkYCxpc1ZhbGlkOkx1KGUpP2U9PT1gdHJ1ZWA6ZT09PSEwfSksemg9KCk9PmU9Pih7dHlwZTpgZW1haWxgLGlzVmFsaWQ6TmgoU3RyaW5nKGUpKX0pLEJoPSgpPT5lPT4oe3R5cGU6YHBob25lYCxpc1ZhbGlkOi9eWytdKlsoXXswLDF9WzAtOV17MSw0fVspXXswLDF9Wy1zLi8wLTldKiQvLnRlc3QoU3RyaW5nKGUpKX0pLFZoPU8odm9pZCAwKSxIaD1lPT57bGV0e2VtYWlsQ29udHJvbDp0fT1WLmdldE9wdGlvbnMoKSxuPSEhZT8uZW1haWw7cmV0dXJuIHQmJiFufSxVaD1lPT57bGV0e25hbWVDb250cm9sOnR9PVYuZ2V0T3B0aW9ucygpLG49ISFlPy5uYW1lO3JldHVybiB0JiYhbn0sV2g9ZT0+e2xldHtudW1iZXJDb250cm9sOnR9PVYuZ2V0T3B0aW9ucygpLG49ISFlPy5waG9uZTtyZXR1cm4hIXQmJiFufSxHaD0oKT0+e2xldHtncm91cFNlbGVjdEVuYWJsZWQ6ZX09Vi5nZXRPcHRpb25zKCksdD1BKGFsKTtyZXR1cm4hIWUmJnQubGVuZ3RoPjB9LEtoPSgpPT57bGV0e3ByaXZhY3lOb3RpY2VFbmFibGVkOmUscHJpdmFjeU5vdGljZUNoZWNrUmVxdWlyZWQ6dH09Vi5nZXRPcHRpb25zKCksbj1jZygpO3JldHVybiEhZSYmdCYmIW59LHFoPWU9PntsZXR7cHJpdmFjeU5vdGljZUVuYWJsZWQ6dH09Vi5nZXRPcHRpb25zKCksbj0hIWU/LnZhcmlhYmxlcz8ucGVyc29uYWxEYXRhUHJvY2Vzc2luZ0NvbnNlbnQ7cmV0dXJuISF0JiYhbn0sSmg9KCk9Pih7dHlwZTpJaC5UZXh0LHN1YlR5cGU6YGVtYWlsYCxuYW1lOmBlbWFpbGAsbGFiZWw6YGF1dGhGb3JtLmxhYmVsLmVtYWlsYCxwbGFjZWhvbGRlcjpgYXV0aEZvcm0ueW91ckVtYWlsYCx2YWx1ZTpgYCx2YWxpZGF0b3JzOltMaCgpLHpoKCldLG1heExlbmd0aDoyNTV9KSxZaD0oKT0+KHt0eXBlOkloLlRleHQsc3ViVHlwZTpgdGV4dGAsbmFtZTpgbmFtZWAsbGFiZWw6YGF1dGhGb3JtLmxhYmVsLm5hbWVgLHBsYWNlaG9sZGVyOmBhdXRoRm9ybS55b3VyTmFtZWAsdmFsdWU6YGAsdmFsaWRhdG9yczpbTGgoKV0sbWF4TGVuZ3RoOjI1NX0pLFhoPSgpPT4oe3R5cGU6SWguVGV4dCxzdWJUeXBlOmB0ZWxgLG5hbWU6YHBob25lYCxsYWJlbDpgYXV0aEZvcm0ubGFiZWwucGhvbmVgLHBsYWNlaG9sZGVyOmBhdXRoRm9ybS55b3VyUGhvbmVgLHZhbHVlOmBgLHZhbGlkYXRvcnM6W0xoKCksQmgoKV0sbWF4TGVuZ3RoOjMyfSksWmg9ZT0+e2xldCB0PUEoYWwpO3JldHVybnt0eXBlOkloLlNlbGVjdCxuYW1lOmBncm91cGAsbGFiZWw6YGF1dGhGb3JtLmxhYmVsLmdyb3VwYCxwbGFjZWhvbGRlcjpgYXV0aEZvcm0uZ3JvdXBgLHZhbHVlOmU/Lmdyb3VwPz9gYCx2YWxpZGF0b3JzOltMaCgpXSxvcHRpb25zOnQubWFwKGU9Pih7dGV4dDplLm5hbWUsdmFsdWU6ZS5rZXl9KSl9fSxRaD0oKT0+KHt0eXBlOkloLkNoZWNrYm94LG5hbWU6YHBlcnNvbmFsRGF0YVByb2Nlc3NpbmdDb25zZW50YCxsYWJlbDpgYXV0aEZvcm0uYWNjZXB0VGVybXNgLHZhbHVlOiExLHZhbGlkYXRvcnM6W1JoKCldfSksJGg9KCk9Pih7dHlwZTpJaC5DaGVja2JveCxuYW1lOmBwZXJzb25hbERhdGFQcm9jZXNzaW5nQ29uc2VudGAsbGFiZWw6YHRvcEJhci5nZHByVGl0bGVgLHZhbHVlOiExLHZhbGlkYXRvcnM6W10saXNIaWRkZW46ITB9KSxlZz1lPT4oe3Nob3dFbWFpbDpIaChlKSxzaG93TmFtZTpVaChlKSxzaG93UGhvbmU6V2goZSksc2hvd0dyb3VwczpHaCgpLHNob3dDb25zZW50OktoKCl9KSx0Zz1lPT4oe3Nob3dFbWFpbDohIWUuZW1haWxDb250cm9sLHNob3dOYW1lOiEhZS5uYW1lQ29udHJvbCxzaG93UGhvbmU6ISFlLm51bWJlckNvbnRyb2wsc2hvd0dyb3VwczohIWUuZ3JvdXBTZWxlY3RFbmFibGVkLHNob3dDb25zZW50OiEhZS5wcml2YWN5Tm90aWNlRW5hYmxlZCYmZS5wcml2YWN5Tm90aWNlQ2hlY2tSZXF1aXJlZH0pLG5nPWU9Pk9iamVjdC52YWx1ZXMoZWcoZSkpLnNvbWUoZT0+ZSkscmc9KGUsdCk9PntsZXQgbj1bXSx7c2hvd0VtYWlsOnIsc2hvd05hbWU6aSxzaG93UGhvbmU6YSxzaG93R3JvdXBzOm8sc2hvd0NvbnNlbnQ6c309dD90Zyh0KTplZyhlKTtyZXR1cm4gaSYmbi5wdXNoKFloKCkpLHImJm4ucHVzaChKaCgpKSxhJiZuLnB1c2goWGgoKSksbyYmbi5wdXNoKFpoKGUpKSxzP24ucHVzaChRaCgpKTpuLmxlbmd0aD4wJiYodD90Py5wcml2YWN5Tm90aWNlRW5hYmxlZDpxaChlKSkmJm4ucHVzaCgkaCgpKSxufSxpZz0oKT0+e2xldCBlPXpvKFUuQXV0aEZvcm0pO2lmKCFlKXJldHVybiBudWxsO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaHtyZXR1cm4gbnVsbH19LGFnPShlLHQpPT57bGV0IG49aWcoKSxyPXtbZV06dH0saT1uP3suLi5uLC4uLnJ9OnI7Qm8oe25hbWU6VS5BdXRoRm9ybSx2YWx1ZTpKU09OLnN0cmluZ2lmeShpKX0pfSxvZz0oKT0+e0xvKFUuQXV0aEZvcm0pfSxzZz0oKT0+ISFBKE11KT8udmFyaWFibGVzPy5hdXRoZW50aWNhdGVkLGNnPSgpPT5BKE11KT8uZ2RwckFwcHJvdmVkfHwhMSxsZz0oKT0+e2xldHtpc1ByZXZpZXdNb2RlOmV9PVYuZ2V0T3B0aW9ucygpO2lmKGV8fEEocGQpfHxzZygpfHwhbmcoQShNdSkpKXJldHVybiExO2xldHtyZXF1aXJlTG9naW46dH09Vi5nZXRPcHRpb25zKCksbj1BKCR1KT09PUsuQWNjb3VudFN0YXR1cy5PZmZsaW5lLHI9QShVdSkubGVuZ3RoPjA7cmV0dXJuISF0fHxufHwhbiYmIXJ9LHVnPWFzeW5jIGU9PntsZXR7cHJpdmFjeU5vdGljZUNoZWNrUmVxdWlyZWQ6dH09Vi5nZXRPcHRpb25zKCksbj1BKE11KSxyPW4/Lm5hbWU/P2UubmFtZSxpPW4/LmVtYWlsPz9lLmVtYWlsLGE9bj8ucGhvbmU/P2UucGhvbmUsbz1lLmdyb3VwPz9uPy5ncm91cCxzPWUucGVyc29uYWxEYXRhUHJvY2Vzc2luZ0NvbnNlbnQsYz17Li4uciYme25hbWU6cn0sLi4uaSYme2VtYWlsOml9LC4uLmEmJntwaG9uZTphfSwuLi5vJiZ7Z3JvdXA6b30sLi4ucyYmdCYme3BlcnNvbmFsRGF0YVByb2Nlc3NpbmdDb25zZW50OnN9fTthd2FpdCBxLmdldENsaWVudCgpLmF1dGhlbnRpY2F0ZShjKSxlaCgpLGF3YWl0IHVfKCksVmMoKX0sZGc9YGh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vQGVtb2ppLW1hcnQvZGF0YWAsZmc9UmVnRXhwKGA6KFthLXpBLVowLTlfLV0rKTpgLGBnYCkscGc9bnVsbCxtZz1udWxsLGhnPW51bGwsZ2c9TyhbXSksX2c9YXN5bmMoKT0+cGd8fGhnfHwoaGc9ZmV0Y2goZGcpLnRoZW4oZT0+ZS5qc29uKCkpLnRoZW4oZT0+KHBnPWUsZSkpLmNhdGNoKGU9Pnt0aHJvdyB2byhgRmFpbGVkIHRvIGxvYWQgZW1vamkgZGF0YWAsZSksaGc9bnVsbCxlfSksaGcpLHZnPWU9Pk9iamVjdC52YWx1ZXMoZS5lbW9qaXMpLm1hcChlPT4oe2lkOmUuaWQsbmFtZTplLm5hbWUsbmF0aXZlOmUuc2tpbnNbMF0/Lm5hdGl2ZT8/YGAsa2V5d29yZHM6ZS5rZXl3b3Jkcz8/W119KSkseWc9e3N1YnNjcmliZTpnZy5zdWJzY3JpYmUsYXN5bmMgbG9hZFJhd0RhdGEoKXtyZXR1cm4gX2coKX0sYXN5bmMgbG9hZERhdGEoKXtyZXR1cm4gbWd8fChtZz12Zyhhd2FpdCBfZygpKSxnZy5zZXQobWcpLG1nKX0sZ2V0QnlJZChlKXtsZXQgdD1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIG1nPy5maW5kKGU9PmUuaWQudG9Mb3dlckNhc2UoKT09PXQpfSxpc0xvYWRlZCgpe3JldHVybiBtZyE9PW51bGx9fSxiZz1lPT55Zy5pc0xvYWRlZCgpP2UucmVwbGFjZShmZywoZSx0KT0+e2xldCBuPXlnLmdldEJ5SWQodCk7cmV0dXJuIG4/bi5uYXRpdmU6ZX0pOmUseGc9MjAsU2c9eyI6KSI6YPCfmYJgLCI6LSkiOmDwn5mCYCwiOkQiOmDwn5iAYCwiOi1EIjpg8J+YgGAsIjspIjpg8J+YiWAsIjstKSI6YPCfmIlgLCI8MyI6YOKdpO+4j2AsIjooIjpg8J+YnmAsIjotKCI6YPCfmJ5gLCI6UCI6YPCfmJtgLCI6LVAiOmDwn5ibYCwiOi1vIjpg8J+YrmAsIjpPIjpg8J+YrmAsIjovIjpg8J+YlWAsIjotLyI6YPCfmJVgfSxDZz1lPT57bGV0IHQ9YCgke2U/YCR8YDpgYH0gKWA7cmV0dXJuIG5ldyBSZWdFeHAoT2JqZWN0LmtleXMoU2cpLm1hcChlPT5gJHtlLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXVxcXS9nLGBcXCQmYCl9JHt0fWApLmpvaW4oYHxgKSxgZ2lgKX0sd2c9KGUsdD0hMSk9PntsZXQgbj1DZyh0KTtyZXR1cm4gZS5yZXBsYWNlKG4sZT0+e2xldCB0PU9iamVjdC5rZXlzKFNnKS5maW5kKHQ9PmUudG9VcHBlckNhc2UoKS5pbmNsdWRlcyh0KSk7aWYoIXQpcmV0dXJuIGU7bGV0IG49ZS5lbmRzV2l0aChgIGApP2AgYDpgYDtyZXR1cm5gJHtTZ1t0XX0ke259YH0pfSxUZz0oZSx0LG49eGcpPT57aWYoIWV8fGUubGVuZ3RoPDIpcmV0dXJuW107bGV0IHI9ZS50b0xvd2VyQ2FzZSgpLGk9W10sYT1bXSxvPVtdLHM9W107Zm9yKGxldCBlIG9mIHQpe2xldCB0PWUuaWQudG9Mb3dlckNhc2UoKSxuPWUubmFtZS50b0xvd2VyQ2FzZSgpO2lmKHQuc3RhcnRzV2l0aChyKSl7aS5wdXNoKGUpO2NvbnRpbnVlfWlmKHQuaW5jbHVkZXMocikpe2EucHVzaChlKTtjb250aW51ZX1pZihuLmluY2x1ZGVzKHIpKXtvLnB1c2goZSk7Y29udGludWV9ZS5rZXl3b3Jkcy5zb21lKGU9PmUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhyKSkmJnMucHVzaChlKX1yZXR1cm5bLi4uaSwuLi5hLC4uLm8sLi4uc10uc2xpY2UoMCxuKX0sRWc9KGUsdCk9PntsZXQgbj1lLnNsaWNlKDAsdCkscj1uLmxhc3RJbmRleE9mKGA6YCk7aWYocj09PS0xKXJldHVybiBudWxsO2xldCBpPW4uc2xpY2UocisxKTtyZXR1cm4gUmVnRXhwKGBeW2EtekEtWjAtOV8tXSokYCkudGVzdChpKSYmaS5sZW5ndGg+PTI/aTpudWxsfSxEZz0oZSx0LG4pPT57bGV0IHI9ZS5zbGljZSgwLHQpLGk9ZS5zbGljZSh0KSxhPXIubGFzdEluZGV4T2YoYDpgKTtpZihhPT09LTEpcmV0dXJue25ld1RleHQ6ZSxuZXdDdXJzb3JQb3NpdGlvbjp0fTtsZXQgbz1lLnNsaWNlKDAsYSkscz1pLmxlbmd0aD09PTA/bitgIGA6bjtyZXR1cm57bmV3VGV4dDpvK3MraSxuZXdDdXJzb3JQb3NpdGlvbjphK3MubGVuZ3RofX0sT2c9KGUsdD0zMDApPT57bGV0IG47cmV0dXJuKC4uLnIpPT57Y2xlYXJUaW1lb3V0KG4pLG49c2V0VGltZW91dCgoKT0+ZSguLi5yKSx0KX19LGtnPTNlMyxBZz1bYHNtYXJ0c3VwcC5kZXZgLGBzbWFydHN1cHBjaGF0LmxvY2BdLGpnPWZ1bmN0aW9uKGUpe3JldHVybiBlLkRlZmF1bHQ9YGJsYWNrYmVycnkyLm1wM2AsZX0oe30pLE1nPWZ1bmN0aW9uKGUpe3JldHVybiBlLkNvbm5lY3Rpbmc9YGNvbm5lY3RpbmdgLGUuQ29ubmVjdGVkPWBjb25uZWN0ZWRgLGUuRGlzY29ubmVjdGVkPWBkaXNjb25uZWN0ZWRgLGV9KHt9KSxOZz1mdW5jdGlvbihlKXtyZXR1cm4gZS5JbWFnZT1gaW1hZ2VgLGUuVmlkZW89YHZpZGVvYCxlfSh7fSksUGc9TyghMSksRmc9TyghMSksSWc9TyghMSk7QigpLmFkZEV2ZW50TGlzdGVuZXIoYG9mZmxpbmVgLCgpPT5QZy5zZXQoITApKSxCKCkuYWRkRXZlbnRMaXN0ZW5lcihgb25saW5lYCwoKT0+UGcuc2V0KCExKSk7dmFyIExnPWsoW2RsLFBnLElnXSwoW2UsdCxuXSk9Pm4/TWcuQ29ubmVjdGVkOiFlfHx0P01nLkRpc2Nvbm5lY3RlZDpNZy5Db25uZWN0ZWQsTWcuQ29ubmVjdGluZyksUmcsemc9T2coZT0+e2UmJiFSZyYmKFJnPV9zKEEoVykoYGVycm9yLm5vSW50ZXJuZXRgKSwwKSksIWUmJlJnJiYoUmcoKSxSZz12b2lkIDApfSxrZyk7TGcuc3Vic2NyaWJlKGU9PntlPT09TWcuRGlzY29ubmVjdGVkJiYoRmcuc2V0KCEwKSx6ZyghMCkpLGU9PT1NZy5Db25uZWN0ZWQmJihGZy5zZXQoITEpLHpnKCExKSl9KTt2YXIgQmc9KGUsdCxuKT0+ZT09PU1nLkRpc2Nvbm5lY3RlZHx8IXR8fG4sVmc9KCk9PkJnKEEoTGcpLEEoSHApLEEoWHUpLmRpc2FibGVBdHRhY2htZW50cyksSGc9TyghMSksVWc9ZT0+e2lmKEEoSGcpKXtIKGBUaGVyZSBpcyBhbHJlYWR5IGZpbGUgdXBsb2FkIGluIHByb2dyZXNzYCk7cmV0dXJufWlmKGUubGVuZ3RoPT09MClyZXR1cm47bGV0IHQ9V2coZSk7dC5sZW5ndGg+MCYmWWwuYWRkKHQpfSxXZz1lPT5lLmxlbmd0aD41PyhncyhgJHtBKFcpKGBmaWxlVXBsb2FkLnRvb01hbnlGaWxlc2ApfSA1YCksW10pOmUuZmlsdGVyKGU9PkdnKGUpKSxHZz1lPT57bGV0e2FjY2VwdGVkRmlsZUV4dGVuc2lvbnM6dCxhY2NlcHRlZEZpbGVUeXBlczpuLG1heEZpbGVTaXplOnJ9PUEoYmwpO2lmKCFlKXJldHVybiExO2xldCBpPXQuaW5jbHVkZXMoQ2QoZS5uYW1lKSksYT1uLnNvbWUodD0+dD09PWUudHlwZSk7aWYoVmcoKSlyZXR1cm4gSChgRmlsZSB1cGxvYWQgaXMgZGlzYWJsZWRgKSwhMTtpZighQShIcCkpcmV0dXJuIGdzKEEoVykoYHdhcm5pbmdCYXIudXBsb2FkRmlsZU5vdEZpcnN0YCkpLCExO2lmKGUuc2l6ZT5yKXtsZXQgZT13ZChyKTtyZXR1cm4gZ3MoYCR7QShXKShgZmlsZVVwbG9hZC5maWxlVG9vQmlnYCl9ICR7ZS5zaXplfSAke2UudW5pdH1gKSwhMX1yZXR1cm4gaXx8YT8hMDooZ3MoQShXKShgZmlsZVVwbG9hZC5iYWRGaWxlVHlwZWApKSwhMSl9LEtnPSgpPT5ZbC5jb3VudCgpPT09MD9bXTooWWwuc2V0VXBsb2FkaW5nU3RhdHVzKCksRGQoQShZbCksZT0+WWwuc2V0RmlsZVVwbG9hZGVkKGUubmFtZSkpKSxxZz0xMCxKZz0xZTQsWWc9M2U0LFhnPTIwLFpnPWU9PntpZihlLmxlbmd0aD4wJiZlLmxlbmd0aCVxZz09PTApe2xldCB0PWUuc2xpY2UoLXFnKSxuPW5ldyBEYXRlKGVbZS5sZW5ndGgtMV0uY3JlYXRlZEF0KS5nZXRUaW1lKCk7aWYobmV3IERhdGUoKS5nZXRUaW1lKCktbj5ZZ3x8IXQuZXZlcnkoZT0+ZS5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0KSlyZXR1cm4hMTtpZihuLW5ldyBEYXRlKHRbMF0uY3JlYXRlZEF0KS5nZXRUaW1lKCk8SmcpcmV0dXJuITB9cmV0dXJuITF9LFFnPWU9PntsZXQgdD1qZihlKTtyZXR1cm4gdD90Lmxlbmd0aD5YZzohMX0sJGc9TygpLGVfPU8oITEpLHRfPU8oKSxuXz0yMDAscl89TyghMSksaV89ayhbJGddLChbZV0pPT5lPT09dm9pZCAwP3pvKFUuTWVzc2FnZSk/P2BgOmUpLGFfPWsoW2lfXSwoW2VdKT0+ZS50cmltKCkubGVuZ3RoPT09MCksb189ZT0+eyRnLnNldChiZyh3ZyhlKSkpfSxzXz0oZSx0KT0+e2xldCBuPUEoaV8pPz9gYCxyPWAke24uc2xpY2UoMCx0KX0ke2V9JHtuLnNsaWNlKHQpfWA7JGcuc2V0KHIpfSxjXz0oKT0+e0EoZV8pfHwocS5nZXRDbGllbnQoKS5jaGF0VHlwaW5nKCEwKSxlXy5zZXQoITApKX0sbF89KCk9PntBKGVfKSYmKHEuZ2V0Q2xpZW50KCkuY2hhdFR5cGluZyghMSksZV8uc2V0KCExKSl9LHVfPWFzeW5jKGU9W10pPT57aWYoQShhXykmJmUubGVuZ3RoPT09MClyZXR1cm47bGV0IHQ9Ymcod2coQShpXyksITApKS50cmltKCk7YXdhaXQgSi5zZW5kTWVzc2FnZSh0LGUpLG9fKGBgKSxsXygpLHJfLnNldCghMCksZ2QoKX0sZF89T2coYXN5bmMoKT0+e2xldCBlPVlsLmNvdW50KCk+MDtpZihBKGFfKSYmIWUpcmV0dXJuO2lmKCFBKFgpJiZsZygpJiZVXygpLGZfKCkmJiFlKXtfcyhBKFcpKGB3YXJuaW5nQmFyLnNhbWVNZXNzYWdlVHdpY2VgKSk7cmV0dXJufWlmKFpnKEEoUnApKSl7X3MoQShXKShgd2FybmluZ0Jhci5zcGFtUHJvdGVjdGlvbmApKTtyZXR1cm59aWYoQShIZykpe2pvKEEoVykoYGNoYXQuZmlsZVVwbG9hZC5lcnJvci5zdGlsbFVwbG9hZGluZ2ApKTtyZXR1cm59aWYoQShVZikpe19zKEEoVykoYGNhcmQuc2VuZGluZ0luUHJvZ3Jlc3NgKSk7cmV0dXJufWlmKFFnKEEoaV8pKSl7X3MoQShXKShgY2FyZC5saW5rc0xpbWl0UmVhY2hlZGApKTtyZXR1cm59aWYobGcoKSl7QmMoSGMuQXV0aEZvcm0pO3JldHVybn1sZXQgdD1bXTtlJiYoSGcuc2V0KCEwKSx0PWF3YWl0IEtnKCksWWwuY2xlYXIoKSxIZy5zZXQoITEpKSxhd2FpdCB1Xyh0KX0sbl8pLGZfPSgpPT57bGV0IGU9QShHcCksdD1BKEtwKSxuPUEoaV8pLnRyaW0oKTtyZXR1cm4gZSYmbj09PWUuY29udGVudC50ZXh0fHx0JiZuPT09dH0scF89ZT0+e2xldCB0PSgpPT57X2QoKX07c28oKCk9PihlLmFkZEV2ZW50TGlzdGVuZXIoYHZpc2liaWxpdHljaGFuZ2VgLHQpLCgpPT5lLnJlbW92ZUV2ZW50TGlzdGVuZXIoYHZpc2liaWxpdHljaGFuZ2VgLHQpKSl9LG1fPWU9PntsZXQgdD0oKT0+e0EoWCkmJldfKCEwKX07c28oKCk9PihlLmFkZEV2ZW50TGlzdGVuZXIoYHBvcHN0YXRlYCx0KSwoKT0+ZS5yZW1vdmVFdmVudExpc3RlbmVyKGBwb3BzdGF0ZWAsdCkpKX0saF89KCk9PntsZXQgZT1CKCkuX3NtYXJ0c3VwcHx8e307ZS5hcHBWZXJzaW9uPWAwLjAuMWAsZS5jb21taXRIYXNoPWBlMDdjMjA4YTM4ZTZmNTA4NGM4ZWI0NjBiOTU4YTQyZjc3OGE1OTY1YCxlLmNvbW1pdEluZm89YGUwN2MyMDhhMzhlNmY1MDg0YzhlYjQ2MGI5NThhNDJmNzc4YTU5NjUgLSBNZXJnZSBwdWxsIHJlcXVlc3QgIzQ1NyBmcm9tIHNtYXJ0c3VwcC9kZXZlbG9wIC0gMjAyNi0wNy0yNyAwOToxOTozMiArMDIwMGAsQigpLl9zbWFydHN1cHA9ZX0sZ189KGU9amcuRGVmYXVsdCk9PntsZXR7d2lkZ2V0VjNVcmw6dH09Vi5nZXRPcHRpb25zKCksbj1uZXcgQXVkaW8oYCR7dH0vYXNzZXRzL3NvdW5kcy8ke2V9YCk7cmV0dXJuIG4uY3Jvc3NPcmlnaW49YGFub255bW91c2Asbi5sb2FkKCksbn0sX189ZT0+ZS5zdWJUeXBlIT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0JiYhW0cuTWVzc2FnZUNvbnRlbnRUeXBlLlJhdGVGb3JtLEcuTWVzc2FnZUNvbnRlbnRUeXBlLkFnZW50Sm9pbixHLk1lc3NhZ2VDb250ZW50VHlwZS5BZ2VudExlYXZlLEcuTWVzc2FnZUNvbnRlbnRUeXBlLkFnZW50QXNzaWduLEcuTWVzc2FnZUNvbnRlbnRUeXBlLkFnZW50VW5hc3NpZ25dLmluY2x1ZGVzKGUuY29udGVudC50eXBlKSx2Xz1lPT57cS5pc0luaXRpYWxpemVkKCkmJnEuZ2V0Q2xpZW50KCkubm90aWZ5KGUpfSx5Xz0oKT0+e1YuZ2V0T3B0aW9ucygpLmlzUHJldmlld01vZGV8fHZfKEsuV2Vic29ja2V0VmlzaXRvckNsaWVudC5FdmVudE5hbWUuV2lkZ2V0T3Blbil9LGJfPSgpPT52XyhLLldlYnNvY2tldFZpc2l0b3JDbGllbnQuRXZlbnROYW1lLldpZGdldFNob3cpLHhfPSgpPT5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT1gdmlzaWJsZWAsU189KCk9PntpZihBKHNzKSl7VF8uc2V0KCEwKTtsZXQgZT1CKCk7ZS5oaXN0b3J5LnB1c2hTdGF0ZShudWxsLGBgLGUubG9jYXRpb24uaHJlZil9fSxDXz1PKCExKSx3Xz1PKCExKSxUXz1PKCExKSxFXz1lPT4hIUFnLmZpbmQodD0+ZS5pbmNsdWRlcyh0KSksRF89TyghMCk7Vi5hd2FpdE9wdGlvbnMoKS50aGVuKGU9PntsZXQgdD16byhVLlNvdW5kc0VuYWJsZWQpO3Q/RF8uc2V0KHQ9PT1gdHJ1ZWApOnR5cGVvZiBlLmVuYWJsZVNvdW5kcz09YGJvb2xlYW5gJiZEXy5zZXQoZS5lbmFibGVTb3VuZHMpLHdfLnNldChFXyhlLmJvb3RzdHJhcFVybCkpfSk7dmFyIE9fPWU9PntEXy5zZXQoZSksQm8oe25hbWU6VS5Tb3VuZHNFbmFibGVkLHZhbHVlOmUudG9TdHJpbmcoKX0pLGUmJmJwKCl9LGtfPU8oeF8oKSksQV89T2coKCk9PmtfLnNldCh4XygpKSw1MDApO0IoKS5hZGRFdmVudExpc3RlbmVyKGB2aXNpYmlsaXR5Y2hhbmdlYCwoKT0+e0FfKCl9KTt2YXIgal89TygwKSxNXz0oKT0+al8udXBkYXRlKGU9PmUrMSksTl89TyghMCksUF89KGUsdCk9Pih2byhgd2lkZ2V0IHZpc2libGU6ICR7U3RyaW5nKHQpfSA9PiByZWFzb246ICR7ZX1gKSx0JiZ0IT09QShSXykmJmJfKCksdCksRl89TygpLElfPSgpPT5GXy5zZXQoITApLExfPSgpPT5GXy5zZXQoITEpLFJfPWsoW011LHNzLEZfLGVkLG9kLGsoWyR1LFJwLGFfLG9kXSwoW2UsdCxuLHJdKT0+e2xldHtoaWRlT2ZmbGluZUNoYXQ6aSxpc1ByZXZpZXdNb2RlOmF9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBlPT09Sy5BY2NvdW50U3RhdHVzLk9mZmxpbmUmJiEhaSYmU3AodCkubGVuZ3RoPT09MCYmbiYmIXImJiFhfSldLChbZSx0LG4scixpLGFdKT0+e2xldHtoaWRlTW9iaWxlV2lkZ2V0Om8saGlkZVdpZGdldDpzfT1WLmdldE9wdGlvbnMoKTtyZXR1cm4gZT8uYmFubmVkQXQ/UF8oYHZpc2l0b3IgaXMgYmFubmVkYCwhMSk6dCYmbz9QXyhgb3B0aW9uICdoaWRlTW9iaWxlV2lkZ2V0JyBpcyB0cnVlYCwhMSk6dHlwZW9mIG49PWBib29sZWFuYD9QXyhgc2V0IGJ5IEFQSSBjb21tYW5kYCxuKTpyJiYhaT9QXyhgY2hhdCBzdGF0dXMgaXMgbm90IHBlbmRpbmdgLCEwKTphP1BfKGBvcHRpb24gJ2hpZGVPZmZsaW5lQ2hhdCcgaXMgdHJ1ZWAsITEpOlBfKGBvcHRpb24gJ2hpZGVXaWRnZXQnIGlzICR7U3RyaW5nKHMpfWAsIXMpfSksel89ayhbc3NdLChbZV0pPT57bGV0e29wZW5PblRyaWdnZXI6dH09Vi5nZXRPcHRpb25zKCk7cmV0dXJuIHQmJiFlfSksQl89W10sVl89ZT0+KEJfLnB1c2goZSksKCk9PntsZXQgdD1CXy5pbmRleE9mKGUpO3QhPT0tMSYmQl8uc3BsaWNlKHQsMSl9KSxIXz0oKT0+Ql8ubGVuZ3RoPT09MD8hMTooQl8ucG9wKCkoKSwhMCksWD1ycyhVLklzTWVzc2VuZ2VyRnJhbWVPcGVuZWQsITEsZT0+IUEoc3MpJiZlPT09YHRydWVgKSxVXz0oZT0hMSk9PntsZXR7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOnR9PVYuZ2V0T3B0aW9ucygpO3Q/LmRpc2FibGVPcGVuTWVzc2VuZ2VyJiYhZXx8KGNoKCksU18oKSxYLnNldCghMCksZXYoKSxDaCgpLHlfKCkpfSxXXz1lPT57aWYoQShzcykmJkEoVF8pJiYhZSlyZXR1cm4gVF8uc2V0KCExKSxCKCkuaGlzdG9yeS5iYWNrKCk7ei5lbWl0KGBtZXNzZW5nZXJDbG9zZWAsITApLFguc2V0KCExKX0sR189ZT0+e2lmKCFlKXJldHVybjtsZXR7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOnR9PVYuZ2V0T3B0aW9ucygpLG49ZT0+e2lmKGUua2V5PT09VGguRXNjYXBlKXtpZihIXygpfHx0Py5kaXNhYmxlQ2xvc2VCdXR0b24pcmV0dXJuO1dfKCl9fSxyPWUub3duZXJEb2N1bWVudDtyZXR1cm4gci5hZGRFdmVudExpc3RlbmVyKGBrZXlkb3duYCxuLCEwKSx7ZGVzdHJveSgpe3IucmVtb3ZlRXZlbnRMaXN0ZW5lcihga2V5ZG93bmAsbiwhMCl9fX0sS189ayhbQ18sUl8sWF0sKFtlLHQsbl0pPT5lJiZ0JiZuKTtmdW5jdGlvbiBxXygpe2xldCBlPU8oITEpLHtzdWJzY3JpYmU6dH09ZSxuPW51bGw7cmV0dXJue3N1YnNjcmliZTp0LGhhbmRsZURyYWdPdmVyOih0LHI9ITApPT57ciYmdC5wcmV2ZW50RGVmYXVsdCgpLEEoZSl8fGUuc2V0KCEwKSxuJiZjbGVhclRpbWVvdXQobiksbj13aW5kb3cuc2V0VGltZW91dCgoKT0+e2Uuc2V0KCExKX0sMjAwKX0saGFuZGxlRHJvcDp0PT57dC5wcmV2ZW50RGVmYXVsdCgpLG4mJmNsZWFyVGltZW91dChuKSxlLnNldCghMSk7bGV0IHI9dC5kYXRhVHJhbnNmZXI/LmZpbGVzP1suLi50LmRhdGFUcmFuc2Zlci5maWxlc106W107cmV0dXJuIHIubGVuZ3RoPT09MCYmX3MoYERyb3BwZWQgaXRlbShzKSBhcmUgbm90IHByb2Nlc3NhYmxlIGZpbGVzYCkse2Ryb3BwZWRGaWxlczpyfX19fXZhciBKXz1xXygpLFlfPWsoW0NfLFJfLFhdLChbZSx0LG5dKT0+ZSYmdCYmIW4pLFhfPU8oITEpLFpfPU8oITEpLFFfPSgpPT57WF8uc2V0KCEwKSxaXy5zZXQoITEpfSwkXz0oKT0+e1pfLnNldCghMCksWF8uc2V0KCExKX0sZXY9KGU9ITEpPT57Wl8uc2V0KCExKSxlJiZCbyh7bmFtZTpVLlBvcHVwQ2xvc2VkQXQsdmFsdWU6bmV3IERhdGUoKS50b0lTT1N0cmluZygpfSl9LHR2PWsoW3NzXSwoW2VdKT0+e2xldHttb2JpbGVQb3B1cHNFbmFibGVkOnR9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBlPyEhdDohMH0pLG52PWsoW05wXSwoW2VdKT0+e2xldCB0PXpvKFUuUG9wdXBDbG9zZWRBdCk/P251bGw7cmV0dXJuIXR8fCFlPyEwOm5ldyBEYXRlKGUuY3JlYXRlZEF0KS5nZXRUaW1lKCk+bmV3IERhdGUodCkuZ2V0VGltZSgpfSkscnY9ayhbQ18sUl8sWF8sWCx0dl0sKFtlLHQsbixyLGldKT0+ZSYmdCYmbiYmIXImJmkpLGl2PWsoW0NfLFJfLFpfLFgsTnAsbnYsdHYsV2ZdLChbZSx0LG4scixpLGEsbyxzXSk9PmUmJnQmJm4mJmkmJmEmJiFyJiZvJiYhcyksYXY9e3doaXRlOmAjZmZmZmZmYCxzbGF0ZTEwMDpgI2YxZjVmOWAsc2xhdGUyMDA6YCNlMmU4ZjBgLHNsYXRlMzAwOmAjY2JkNWUxYCxzbGF0ZTkwMDpgIzBmMTcyYWAsYmx1ZTcwMDpgIzFkNGVkOGAsc21hcnRzdXBwQmx1ZTpgIzEyMzNkZmB9O2Z1bmN0aW9uIFooZSx0KXtzdihlKSYmKGU9YDEwMCVgKTtsZXQgbj1jdihlKTtyZXR1cm4gZT10PT09MzYwP2U6TWF0aC5taW4odCxNYXRoLm1heCgwLHBhcnNlRmxvYXQoZSkpKSxuJiYoZT1wYXJzZUludChTdHJpbmcoZSp0KSwxMCkvMTAwKSxNYXRoLmFicyhlLXQpPDFlLTY/MTooZT10PT09MzYwPyhlPDA/ZSV0K3Q6ZSV0KS9wYXJzZUZsb2F0KFN0cmluZyh0KSk6ZSV0L3BhcnNlRmxvYXQoU3RyaW5nKHQpKSxlKX1mdW5jdGlvbiBvdihlKXtyZXR1cm4gTWF0aC5taW4oMSxNYXRoLm1heCgwLGUpKX1mdW5jdGlvbiBzdihlKXtyZXR1cm4gdHlwZW9mIGU9PWBzdHJpbmdgJiZlLmluZGV4T2YoYC5gKSE9PS0xJiZwYXJzZUZsb2F0KGUpPT09MX1mdW5jdGlvbiBjdihlKXtyZXR1cm4gdHlwZW9mIGU9PWBzdHJpbmdgJiZlLmluZGV4T2YoYCVgKSE9PS0xfWZ1bmN0aW9uIGx2KGUpe3JldHVybiBlPXBhcnNlRmxvYXQoZSksKGlzTmFOKGUpfHxlPDB8fGU+MSkmJihlPTEpLGV9ZnVuY3Rpb24gdXYoZSl7cmV0dXJuIE51bWJlcihlKTw9MT9gJHtOdW1iZXIoZSkqMTAwfSVgOmV9ZnVuY3Rpb24gZHYoZSl7cmV0dXJuIGUubGVuZ3RoPT09MT9gMGArZTpTdHJpbmcoZSl9ZnVuY3Rpb24gZnYoZSx0LG4pe3JldHVybntyOlooZSwyNTUpKjI1NSxnOloodCwyNTUpKjI1NSxiOloobiwyNTUpKjI1NX19ZnVuY3Rpb24gcHYoZSx0LG4pe2U9WihlLDI1NSksdD1aKHQsMjU1KSxuPVoobiwyNTUpO2xldCByPU1hdGgubWF4KGUsdCxuKSxpPU1hdGgubWluKGUsdCxuKSxhPTAsbz0wLHM9KHIraSkvMjtpZihyPT09aSlvPTAsYT0wO2Vsc2V7bGV0IGM9ci1pO3N3aXRjaChvPXM+LjU/Yy8oMi1yLWkpOmMvKHIraSkscil7Y2FzZSBlOmE9KHQtbikvYysodDxuPzY6MCk7YnJlYWs7Y2FzZSB0OmE9KG4tZSkvYysyO2JyZWFrO2Nhc2UgbjphPShlLXQpL2MrNDticmVhaztkZWZhdWx0OmJyZWFrfWEvPTZ9cmV0dXJue2g6YSxzOm8sbDpzfX1mdW5jdGlvbiBtdihlLHQsbil7cmV0dXJuIG48MCYmKG4rPTEpLG4+MSYmLS1uLG48MS82P2UrKHQtZSkqKDYqbik6bjwxLzI/dDpuPDIvMz9lKyh0LWUpKigyLzMtbikqNjplfWZ1bmN0aW9uIGh2KGUsdCxuKXtsZXQgcixpLGE7aWYoZT1aKGUsMzYwKSx0PVoodCwxMDApLG49WihuLDEwMCksdD09PTApaT1uLGE9bixyPW47ZWxzZXtsZXQgbz1uPC41P24qKDErdCk6bit0LW4qdCxzPTIqbi1vO3I9bXYocyxvLGUrMS8zKSxpPW12KHMsbyxlKSxhPW12KHMsbyxlLTEvMyl9cmV0dXJue3I6cioyNTUsZzppKjI1NSxiOmEqMjU1fX1mdW5jdGlvbiBndihlLHQsbil7ZT1aKGUsMjU1KSx0PVoodCwyNTUpLG49WihuLDI1NSk7bGV0IHI9TWF0aC5tYXgoZSx0LG4pLGk9TWF0aC5taW4oZSx0LG4pLGE9MCxvPXIscz1yLWksYz1yPT09MD8wOnMvcjtpZihyPT09aSlhPTA7ZWxzZXtzd2l0Y2gocil7Y2FzZSBlOmE9KHQtbikvcysodDxuPzY6MCk7YnJlYWs7Y2FzZSB0OmE9KG4tZSkvcysyO2JyZWFrO2Nhc2UgbjphPShlLXQpL3MrNDticmVhaztkZWZhdWx0OmJyZWFrfWEvPTZ9cmV0dXJue2g6YSxzOmMsdjpvfX1mdW5jdGlvbiBfdihlLHQsbil7ZT1aKGUsMzYwKSo2LHQ9Wih0LDEwMCksbj1aKG4sMTAwKTtsZXQgcj1NYXRoLmZsb29yKGUpLGk9ZS1yLGE9biooMS10KSxvPW4qKDEtaSp0KSxzPW4qKDEtKDEtaSkqdCksYz1yJTYsbD1bbixvLGEsYSxzLG5dW2NdLHU9W3MsbixuLG8sYSxhXVtjXSxkPVthLGEscyxuLG4sb11bY107cmV0dXJue3I6bCoyNTUsZzp1KjI1NSxiOmQqMjU1fX1mdW5jdGlvbiB2dihlLHQsbixyKXtsZXQgaT1bZHYoTWF0aC5yb3VuZChlKS50b1N0cmluZygxNikpLGR2KE1hdGgucm91bmQodCkudG9TdHJpbmcoMTYpKSxkdihNYXRoLnJvdW5kKG4pLnRvU3RyaW5nKDE2KSldO3JldHVybiByJiZpWzBdLnN0YXJ0c1dpdGgoaVswXS5jaGFyQXQoMSkpJiZpWzFdLnN0YXJ0c1dpdGgoaVsxXS5jaGFyQXQoMSkpJiZpWzJdLnN0YXJ0c1dpdGgoaVsyXS5jaGFyQXQoMSkpP2lbMF0uY2hhckF0KDApK2lbMV0uY2hhckF0KDApK2lbMl0uY2hhckF0KDApOmkuam9pbihgYCl9ZnVuY3Rpb24geXYoZSx0LG4scixpKXtsZXQgYT1bZHYoTWF0aC5yb3VuZChlKS50b1N0cmluZygxNikpLGR2KE1hdGgucm91bmQodCkudG9TdHJpbmcoMTYpKSxkdihNYXRoLnJvdW5kKG4pLnRvU3RyaW5nKDE2KSksZHYoU3YocikpXTtyZXR1cm4gaSYmYVswXS5zdGFydHNXaXRoKGFbMF0uY2hhckF0KDEpKSYmYVsxXS5zdGFydHNXaXRoKGFbMV0uY2hhckF0KDEpKSYmYVsyXS5zdGFydHNXaXRoKGFbMl0uY2hhckF0KDEpKSYmYVszXS5zdGFydHNXaXRoKGFbM10uY2hhckF0KDEpKT9hWzBdLmNoYXJBdCgwKSthWzFdLmNoYXJBdCgwKSthWzJdLmNoYXJBdCgwKSthWzNdLmNoYXJBdCgwKTphLmpvaW4oYGApfWZ1bmN0aW9uIGJ2KGUsdCxuLHIpe2xldCBpPWUvMTAwLGE9dC8xMDAsbz1uLzEwMCxzPXIvMTAwO3JldHVybntyOjI1NSooMS1pKSooMS1zKSxnOjI1NSooMS1hKSooMS1zKSxiOjI1NSooMS1vKSooMS1zKX19ZnVuY3Rpb24geHYoZSx0LG4pe2xldCByPTEtZS8yNTUsaT0xLXQvMjU1LGE9MS1uLzI1NSxvPU1hdGgubWluKHIsaSxhKTtyZXR1cm4gbz09PTE/KHI9MCxpPTAsYT0wKToocj0oci1vKS8oMS1vKSoxMDAsaT0oaS1vKS8oMS1vKSoxMDAsYT0oYS1vKS8oMS1vKSoxMDApLG8qPTEwMCx7YzpNYXRoLnJvdW5kKHIpLG06TWF0aC5yb3VuZChpKSx5Ok1hdGgucm91bmQoYSksazpNYXRoLnJvdW5kKG8pfX1mdW5jdGlvbiBTdihlKXtyZXR1cm4gTWF0aC5yb3VuZChwYXJzZUZsb2F0KGUpKjI1NSkudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIEN2KGUpe3JldHVybiB3dihlKS8yNTV9ZnVuY3Rpb24gd3YoZSl7cmV0dXJuIHBhcnNlSW50KGUsMTYpfWZ1bmN0aW9uIFR2KGUpe3JldHVybntyOmU+PjE2LGc6KGUmNjUyODApPj44LGI6ZSYyNTV9fXZhciBFdj17YWxpY2VibHVlOmAjZjBmOGZmYCxhbnRpcXVld2hpdGU6YCNmYWViZDdgLGFxdWE6YCMwMGZmZmZgLGFxdWFtYXJpbmU6YCM3ZmZmZDRgLGF6dXJlOmAjZjBmZmZmYCxiZWlnZTpgI2Y1ZjVkY2AsYmlzcXVlOmAjZmZlNGM0YCxibGFjazpgIzAwMDAwMGAsYmxhbmNoZWRhbG1vbmQ6YCNmZmViY2RgLGJsdWU6YCMwMDAwZmZgLGJsdWV2aW9sZXQ6YCM4YTJiZTJgLGJyb3duOmAjYTUyYTJhYCxidXJseXdvb2Q6YCNkZWI4ODdgLGNhZGV0Ymx1ZTpgIzVmOWVhMGAsY2hhcnRyZXVzZTpgIzdmZmYwMGAsY2hvY29sYXRlOmAjZDI2OTFlYCxjb3JhbDpgI2ZmN2Y1MGAsY29ybmZsb3dlcmJsdWU6YCM2NDk1ZWRgLGNvcm5zaWxrOmAjZmZmOGRjYCxjcmltc29uOmAjZGMxNDNjYCxjeWFuOmAjMDBmZmZmYCxkYXJrYmx1ZTpgIzAwMDA4YmAsZGFya2N5YW46YCMwMDhiOGJgLGRhcmtnb2xkZW5yb2Q6YCNiODg2MGJgLGRhcmtncmF5OmAjYTlhOWE5YCxkYXJrZ3JlZW46YCMwMDY0MDBgLGRhcmtncmV5OmAjYTlhOWE5YCxkYXJra2hha2k6YCNiZGI3NmJgLGRhcmttYWdlbnRhOmAjOGIwMDhiYCxkYXJrb2xpdmVncmVlbjpgIzU1NmIyZmAsZGFya29yYW5nZTpgI2ZmOGMwMGAsZGFya29yY2hpZDpgIzk5MzJjY2AsZGFya3JlZDpgIzhiMDAwMGAsZGFya3NhbG1vbjpgI2U5OTY3YWAsZGFya3NlYWdyZWVuOmAjOGZiYzhmYCxkYXJrc2xhdGVibHVlOmAjNDgzZDhiYCxkYXJrc2xhdGVncmF5OmAjMmY0ZjRmYCxkYXJrc2xhdGVncmV5OmAjMmY0ZjRmYCxkYXJrdHVycXVvaXNlOmAjMDBjZWQxYCxkYXJrdmlvbGV0OmAjOTQwMGQzYCxkZWVwcGluazpgI2ZmMTQ5M2AsZGVlcHNreWJsdWU6YCMwMGJmZmZgLGRpbWdyYXk6YCM2OTY5NjlgLGRpbWdyZXk6YCM2OTY5NjlgLGRvZGdlcmJsdWU6YCMxZTkwZmZgLGZpcmVicmljazpgI2IyMjIyMmAsZmxvcmFsd2hpdGU6YCNmZmZhZjBgLGZvcmVzdGdyZWVuOmAjMjI4YjIyYCxmdWNoc2lhOmAjZmYwMGZmYCxnYWluc2Jvcm86YCNkY2RjZGNgLGdob3N0d2hpdGU6YCNmOGY4ZmZgLGdvbGRlbnJvZDpgI2RhYTUyMGAsZ29sZDpgI2ZmZDcwMGAsZ3JheTpgIzgwODA4MGAsZ3JlZW46YCMwMDgwMDBgLGdyZWVueWVsbG93OmAjYWRmZjJmYCxncmV5OmAjODA4MDgwYCxob25leWRldzpgI2YwZmZmMGAsaG90cGluazpgI2ZmNjliNGAsaW5kaWFucmVkOmAjY2Q1YzVjYCxpbmRpZ286YCM0YjAwODJgLGl2b3J5OmAjZmZmZmYwYCxraGFraTpgI2YwZTY4Y2AsbGF2ZW5kZXJibHVzaDpgI2ZmZjBmNWAsbGF2ZW5kZXI6YCNlNmU2ZmFgLGxhd25ncmVlbjpgIzdjZmMwMGAsbGVtb25jaGlmZm9uOmAjZmZmYWNkYCxsaWdodGJsdWU6YCNhZGQ4ZTZgLGxpZ2h0Y29yYWw6YCNmMDgwODBgLGxpZ2h0Y3lhbjpgI2UwZmZmZmAsbGlnaHRnb2xkZW5yb2R5ZWxsb3c6YCNmYWZhZDJgLGxpZ2h0Z3JheTpgI2QzZDNkM2AsbGlnaHRncmVlbjpgIzkwZWU5MGAsbGlnaHRncmV5OmAjZDNkM2QzYCxsaWdodHBpbms6YCNmZmI2YzFgLGxpZ2h0c2FsbW9uOmAjZmZhMDdhYCxsaWdodHNlYWdyZWVuOmAjMjBiMmFhYCxsaWdodHNreWJsdWU6YCM4N2NlZmFgLGxpZ2h0c2xhdGVncmF5OmAjNzc4ODk5YCxsaWdodHNsYXRlZ3JleTpgIzc3ODg5OWAsbGlnaHRzdGVlbGJsdWU6YCNiMGM0ZGVgLGxpZ2h0eWVsbG93OmAjZmZmZmUwYCxsaW1lOmAjMDBmZjAwYCxsaW1lZ3JlZW46YCMzMmNkMzJgLGxpbmVuOmAjZmFmMGU2YCxtYWdlbnRhOmAjZmYwMGZmYCxtYXJvb246YCM4MDAwMDBgLG1lZGl1bWFxdWFtYXJpbmU6YCM2NmNkYWFgLG1lZGl1bWJsdWU6YCMwMDAwY2RgLG1lZGl1bW9yY2hpZDpgI2JhNTVkM2AsbWVkaXVtcHVycGxlOmAjOTM3MGRiYCxtZWRpdW1zZWFncmVlbjpgIzNjYjM3MWAsbWVkaXVtc2xhdGVibHVlOmAjN2I2OGVlYCxtZWRpdW1zcHJpbmdncmVlbjpgIzAwZmE5YWAsbWVkaXVtdHVycXVvaXNlOmAjNDhkMWNjYCxtZWRpdW12aW9sZXRyZWQ6YCNjNzE1ODVgLG1pZG5pZ2h0Ymx1ZTpgIzE5MTk3MGAsbWludGNyZWFtOmAjZjVmZmZhYCxtaXN0eXJvc2U6YCNmZmU0ZTFgLG1vY2Nhc2luOmAjZmZlNGI1YCxuYXZham93aGl0ZTpgI2ZmZGVhZGAsbmF2eTpgIzAwMDA4MGAsb2xkbGFjZTpgI2ZkZjVlNmAsb2xpdmU6YCM4MDgwMDBgLG9saXZlZHJhYjpgIzZiOGUyM2Asb3JhbmdlOmAjZmZhNTAwYCxvcmFuZ2VyZWQ6YCNmZjQ1MDBgLG9yY2hpZDpgI2RhNzBkNmAscGFsZWdvbGRlbnJvZDpgI2VlZThhYWAscGFsZWdyZWVuOmAjOThmYjk4YCxwYWxldHVycXVvaXNlOmAjYWZlZWVlYCxwYWxldmlvbGV0cmVkOmAjZGI3MDkzYCxwYXBheWF3aGlwOmAjZmZlZmQ1YCxwZWFjaHB1ZmY6YCNmZmRhYjlgLHBlcnU6YCNjZDg1M2ZgLHBpbms6YCNmZmMwY2JgLHBsdW06YCNkZGEwZGRgLHBvd2RlcmJsdWU6YCNiMGUwZTZgLHB1cnBsZTpgIzgwMDA4MGAscmViZWNjYXB1cnBsZTpgIzY2MzM5OWAscmVkOmAjZmYwMDAwYCxyb3N5YnJvd246YCNiYzhmOGZgLHJveWFsYmx1ZTpgIzQxNjllMWAsc2FkZGxlYnJvd246YCM4YjQ1MTNgLHNhbG1vbjpgI2ZhODA3MmAsc2FuZHlicm93bjpgI2Y0YTQ2MGAsc2VhZ3JlZW46YCMyZThiNTdgLHNlYXNoZWxsOmAjZmZmNWVlYCxzaWVubmE6YCNhMDUyMmRgLHNpbHZlcjpgI2MwYzBjMGAsc2t5Ymx1ZTpgIzg3Y2VlYmAsc2xhdGVibHVlOmAjNmE1YWNkYCxzbGF0ZWdyYXk6YCM3MDgwOTBgLHNsYXRlZ3JleTpgIzcwODA5MGAsc25vdzpgI2ZmZmFmYWAsc3ByaW5nZ3JlZW46YCMwMGZmN2ZgLHN0ZWVsYmx1ZTpgIzQ2ODJiNGAsdGFuOmAjZDJiNDhjYCx0ZWFsOmAjMDA4MDgwYCx0aGlzdGxlOmAjZDhiZmQ4YCx0b21hdG86YCNmZjYzNDdgLHR1cnF1b2lzZTpgIzQwZTBkMGAsdmlvbGV0OmAjZWU4MmVlYCx3aGVhdDpgI2Y1ZGViM2Asd2hpdGU6YCNmZmZmZmZgLHdoaXRlc21va2U6YCNmNWY1ZjVgLHllbGxvdzpgI2ZmZmYwMGAseWVsbG93Z3JlZW46YCM5YWNkMzJgfTtmdW5jdGlvbiBEdihlKXtsZXQgdD17cjowLGc6MCxiOjB9LG49MSxyPW51bGwsaT1udWxsLGE9bnVsbCxvPSExLHM9ITE7cmV0dXJuIHR5cGVvZiBlPT1gc3RyaW5nYCYmKGU9TXYoZSkpLHR5cGVvZiBlPT1gb2JqZWN0YCYmKE52KGUucikmJk52KGUuZykmJk52KGUuYik/KHQ9ZnYoZS5yLGUuZyxlLmIpLG89ITAscz1TdHJpbmcoZS5yKS5zdWJzdHIoLTEpPT09YCVgP2BwcmdiYDpgcmdiYCk6TnYoZS5oKSYmTnYoZS5zKSYmTnYoZS52KT8ocj11dihlLnMpLGk9dXYoZS52KSx0PV92KGUuaCxyLGkpLG89ITAscz1gaHN2YCk6TnYoZS5oKSYmTnYoZS5zKSYmTnYoZS5sKT8ocj11dihlLnMpLGE9dXYoZS5sKSx0PWh2KGUuaCxyLGEpLG89ITAscz1gaHNsYCk6TnYoZS5jKSYmTnYoZS5tKSYmTnYoZS55KSYmTnYoZS5rKSYmKHQ9YnYoZS5jLGUubSxlLnksZS5rKSxvPSEwLHM9YGNteWtgKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxgYWApJiYobj1lLmEpKSxuPWx2KG4pLHtvazpvLGZvcm1hdDplLmZvcm1hdHx8cyxyOk1hdGgubWluKDI1NSxNYXRoLm1heCh0LnIsMCkpLGc6TWF0aC5taW4oMjU1LE1hdGgubWF4KHQuZywwKSksYjpNYXRoLm1pbigyNTUsTWF0aC5tYXgodC5iLDApKSxhOm59fXZhciBPdj1gKD86Wy1cXCtdP1xcZCpcXC5cXGQrJT8pfCg/OlstXFwrXT9cXGQrJT8pYCxrdj1gW1xcc3xcXChdKyhgK092K2ApWyx8XFxzXSsoKD86Wy1cXCtdP1xcZCpcXC5cXGQrJT8pfCg/OlstXFwrXT9cXGQrJT8pKVssfFxcc10rKCg/OlstXFwrXT9cXGQqXFwuXFxkKyU/KXwoPzpbLVxcK10/XFxkKyU/KSlcXHMqXFwpP2AsQXY9YFtcXHN8XFwoXSsoYCtPditgKVssfFxcc10rKCg/OlstXFwrXT9cXGQqXFwuXFxkKyU/KXwoPzpbLVxcK10/XFxkKyU/KSlbLHxcXHNdKygoPzpbLVxcK10/XFxkKlxcLlxcZCslPyl8KD86Wy1cXCtdP1xcZCslPykpWyx8XFxzXSsoKD86Wy1cXCtdP1xcZCpcXC5cXGQrJT8pfCg/OlstXFwrXT9cXGQrJT8pKVxccypcXCk/YCxqdj17Q1NTX1VOSVQ6bmV3IFJlZ0V4cChPdikscmdiOlJlZ0V4cChgcmdiYCtrdikscmdiYTpSZWdFeHAoYHJnYmFgK0F2KSxoc2w6UmVnRXhwKGBoc2xgK2t2KSxoc2xhOlJlZ0V4cChgaHNsYWArQXYpLGhzdjpSZWdFeHAoYGhzdmAra3YpLGhzdmE6UmVnRXhwKGBoc3ZhYCtBdiksY215azpSZWdFeHAoYGNteWtgK0F2KSxoZXgzOi9eIz8oWzAtOWEtZkEtRl17MX0pKFswLTlhLWZBLUZdezF9KShbMC05YS1mQS1GXXsxfSkkLyxoZXg2Oi9eIz8oWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkkLyxoZXg0Oi9eIz8oWzAtOWEtZkEtRl17MX0pKFswLTlhLWZBLUZdezF9KShbMC05YS1mQS1GXXsxfSkoWzAtOWEtZkEtRl17MX0pJC8saGV4ODovXiM/KFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkoWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KSQvfTtmdW5jdGlvbiBNdihlKXtpZihlPWUudHJpbSgpLnRvTG93ZXJDYXNlKCksZS5sZW5ndGg9PT0wKXJldHVybiExO2xldCB0PSExO2lmKEV2W2VdKWU9RXZbZV0sdD0hMDtlbHNlIGlmKGU9PT1gdHJhbnNwYXJlbnRgKXJldHVybntyOjAsZzowLGI6MCxhOjAsZm9ybWF0OmBuYW1lYH07bGV0IG49anYucmdiLmV4ZWMoZSk7cmV0dXJuIG4/e3I6blsxXSxnOm5bMl0sYjpuWzNdfToobj1qdi5yZ2JhLmV4ZWMoZSksbj97cjpuWzFdLGc6blsyXSxiOm5bM10sYTpuWzRdfToobj1qdi5oc2wuZXhlYyhlKSxuP3toOm5bMV0sczpuWzJdLGw6blszXX06KG49anYuaHNsYS5leGVjKGUpLG4/e2g6blsxXSxzOm5bMl0sbDpuWzNdLGE6bls0XX06KG49anYuaHN2LmV4ZWMoZSksbj97aDpuWzFdLHM6blsyXSx2Om5bM119OihuPWp2LmhzdmEuZXhlYyhlKSxuP3toOm5bMV0sczpuWzJdLHY6blszXSxhOm5bNF19OihuPWp2LmNteWsuZXhlYyhlKSxuP3tjOm5bMV0sbTpuWzJdLHk6blszXSxrOm5bNF19OihuPWp2LmhleDguZXhlYyhlKSxuP3tyOnd2KG5bMV0pLGc6d3YoblsyXSksYjp3dihuWzNdKSxhOkN2KG5bNF0pLGZvcm1hdDp0P2BuYW1lYDpgaGV4OGB9OihuPWp2LmhleDYuZXhlYyhlKSxuP3tyOnd2KG5bMV0pLGc6d3YoblsyXSksYjp3dihuWzNdKSxmb3JtYXQ6dD9gbmFtZWA6YGhleGB9OihuPWp2LmhleDQuZXhlYyhlKSxuP3tyOnd2KG5bMV0rblsxXSksZzp3dihuWzJdK25bMl0pLGI6d3YoblszXStuWzNdKSxhOkN2KG5bNF0rbls0XSksZm9ybWF0OnQ/YG5hbWVgOmBoZXg4YH06KG49anYuaGV4My5leGVjKGUpLG4/e3I6d3YoblsxXStuWzFdKSxnOnd2KG5bMl0rblsyXSksYjp3dihuWzNdK25bM10pLGZvcm1hdDp0P2BuYW1lYDpgaGV4YH06ITEpKSkpKSkpKSkpfWZ1bmN0aW9uIE52KGUpe3JldHVybiB0eXBlb2YgZT09YG51bWJlcmA/IU51bWJlci5pc05hTihlKTpqdi5DU1NfVU5JVC50ZXN0KGUpfXZhciBQdj1jbGFzcyBle2NvbnN0cnVjdG9yKHQ9YGAsbj17fSl7aWYodCBpbnN0YW5jZW9mIGUpcmV0dXJuIHQ7dHlwZW9mIHQ9PWBudW1iZXJgJiYodD1Udih0KSksdGhpcy5vcmlnaW5hbElucHV0PXQ7bGV0IHI9RHYodCk7dGhpcy5vcmlnaW5hbElucHV0PXQsdGhpcy5yPXIucix0aGlzLmc9ci5nLHRoaXMuYj1yLmIsdGhpcy5hPXIuYSx0aGlzLnJvdW5kQT1NYXRoLnJvdW5kKDEwMCp0aGlzLmEpLzEwMCx0aGlzLmZvcm1hdD1uLmZvcm1hdD8/ci5mb3JtYXQsdGhpcy5ncmFkaWVudFR5cGU9bi5ncmFkaWVudFR5cGUsdGhpcy5yPDEmJih0aGlzLnI9TWF0aC5yb3VuZCh0aGlzLnIpKSx0aGlzLmc8MSYmKHRoaXMuZz1NYXRoLnJvdW5kKHRoaXMuZykpLHRoaXMuYjwxJiYodGhpcy5iPU1hdGgucm91bmQodGhpcy5iKSksdGhpcy5pc1ZhbGlkPXIub2t9aXNEYXJrKCl7cmV0dXJuIHRoaXMuZ2V0QnJpZ2h0bmVzcygpPDEyOH1pc0xpZ2h0KCl7cmV0dXJuIXRoaXMuaXNEYXJrKCl9Z2V0QnJpZ2h0bmVzcygpe2xldCBlPXRoaXMudG9SZ2IoKTtyZXR1cm4oZS5yKjI5OStlLmcqNTg3K2UuYioxMTQpLzFlM31nZXRMdW1pbmFuY2UoKXtsZXQgZT10aGlzLnRvUmdiKCksdCxuLHIsaT1lLnIvMjU1LGE9ZS5nLzI1NSxvPWUuYi8yNTU7cmV0dXJuIHQ9aTw9LjAzOTI4P2kvMTIuOTI6KChpKy4wNTUpLzEuMDU1KSoqMi40LG49YTw9LjAzOTI4P2EvMTIuOTI6KChhKy4wNTUpLzEuMDU1KSoqMi40LHI9bzw9LjAzOTI4P28vMTIuOTI6KChvKy4wNTUpLzEuMDU1KSoqMi40LC4yMTI2KnQrLjcxNTIqbisuMDcyMipyfWdldEFscGhhKCl7cmV0dXJuIHRoaXMuYX1zZXRBbHBoYShlKXtyZXR1cm4gdGhpcy5hPWx2KGUpLHRoaXMucm91bmRBPU1hdGgucm91bmQoMTAwKnRoaXMuYSkvMTAwLHRoaXN9aXNNb25vY2hyb21lKCl7bGV0e3M6ZX09dGhpcy50b0hzbCgpO3JldHVybiBlPT09MH10b0hzdigpe2xldCBlPWd2KHRoaXMucix0aGlzLmcsdGhpcy5iKTtyZXR1cm57aDplLmgqMzYwLHM6ZS5zLHY6ZS52LGE6dGhpcy5hfX10b0hzdlN0cmluZygpe2xldCBlPWd2KHRoaXMucix0aGlzLmcsdGhpcy5iKSx0PU1hdGgucm91bmQoZS5oKjM2MCksbj1NYXRoLnJvdW5kKGUucyoxMDApLHI9TWF0aC5yb3VuZChlLnYqMTAwKTtyZXR1cm4gdGhpcy5hPT09MT9gaHN2KCR7dH0sICR7bn0lLCAke3J9JSlgOmBoc3ZhKCR7dH0sICR7bn0lLCAke3J9JSwgJHt0aGlzLnJvdW5kQX0pYH10b0hzbCgpe2xldCBlPXB2KHRoaXMucix0aGlzLmcsdGhpcy5iKTtyZXR1cm57aDplLmgqMzYwLHM6ZS5zLGw6ZS5sLGE6dGhpcy5hfX10b0hzbFN0cmluZygpe2xldCBlPXB2KHRoaXMucix0aGlzLmcsdGhpcy5iKSx0PU1hdGgucm91bmQoZS5oKjM2MCksbj1NYXRoLnJvdW5kKGUucyoxMDApLHI9TWF0aC5yb3VuZChlLmwqMTAwKTtyZXR1cm4gdGhpcy5hPT09MT9gaHNsKCR7dH0sICR7bn0lLCAke3J9JSlgOmBoc2xhKCR7dH0sICR7bn0lLCAke3J9JSwgJHt0aGlzLnJvdW5kQX0pYH10b0hleChlPSExKXtyZXR1cm4gdnYodGhpcy5yLHRoaXMuZyx0aGlzLmIsZSl9dG9IZXhTdHJpbmcoZT0hMSl7cmV0dXJuYCNgK3RoaXMudG9IZXgoZSl9dG9IZXg4KGU9ITEpe3JldHVybiB5dih0aGlzLnIsdGhpcy5nLHRoaXMuYix0aGlzLmEsZSl9dG9IZXg4U3RyaW5nKGU9ITEpe3JldHVybmAjYCt0aGlzLnRvSGV4OChlKX10b0hleFNob3J0U3RyaW5nKGU9ITEpe3JldHVybiB0aGlzLmE9PT0xP3RoaXMudG9IZXhTdHJpbmcoZSk6dGhpcy50b0hleDhTdHJpbmcoZSl9dG9SZ2IoKXtyZXR1cm57cjpNYXRoLnJvdW5kKHRoaXMuciksZzpNYXRoLnJvdW5kKHRoaXMuZyksYjpNYXRoLnJvdW5kKHRoaXMuYiksYTp0aGlzLmF9fXRvUmdiU3RyaW5nKCl7bGV0IGU9TWF0aC5yb3VuZCh0aGlzLnIpLHQ9TWF0aC5yb3VuZCh0aGlzLmcpLG49TWF0aC5yb3VuZCh0aGlzLmIpO3JldHVybiB0aGlzLmE9PT0xP2ByZ2IoJHtlfSwgJHt0fSwgJHtufSlgOmByZ2JhKCR7ZX0sICR7dH0sICR7bn0sICR7dGhpcy5yb3VuZEF9KWB9dG9QZXJjZW50YWdlUmdiKCl7bGV0IGU9ZT0+YCR7TWF0aC5yb3VuZChaKGUsMjU1KSoxMDApfSVgO3JldHVybntyOmUodGhpcy5yKSxnOmUodGhpcy5nKSxiOmUodGhpcy5iKSxhOnRoaXMuYX19dG9QZXJjZW50YWdlUmdiU3RyaW5nKCl7bGV0IGU9ZT0+TWF0aC5yb3VuZChaKGUsMjU1KSoxMDApO3JldHVybiB0aGlzLmE9PT0xP2ByZ2IoJHtlKHRoaXMucil9JSwgJHtlKHRoaXMuZyl9JSwgJHtlKHRoaXMuYil9JSlgOmByZ2JhKCR7ZSh0aGlzLnIpfSUsICR7ZSh0aGlzLmcpfSUsICR7ZSh0aGlzLmIpfSUsICR7dGhpcy5yb3VuZEF9KWB9dG9DbXlrKCl7cmV0dXJuey4uLnh2KHRoaXMucix0aGlzLmcsdGhpcy5iKX19dG9DbXlrU3RyaW5nKCl7bGV0e2M6ZSxtOnQseTpuLGs6cn09eHYodGhpcy5yLHRoaXMuZyx0aGlzLmIpO3JldHVybmBjbXlrKCR7ZX0sICR7dH0sICR7bn0sICR7cn0pYH10b05hbWUoKXtpZih0aGlzLmE9PT0wKXJldHVybmB0cmFuc3BhcmVudGA7aWYodGhpcy5hPDEpcmV0dXJuITE7bGV0IGU9YCNgK3Z2KHRoaXMucix0aGlzLmcsdGhpcy5iLCExKTtmb3IobGV0W3Qsbl1vZiBPYmplY3QuZW50cmllcyhFdikpaWYoZT09PW4pcmV0dXJuIHQ7cmV0dXJuITF9dG9TdHJpbmcoZSl7bGV0IHQ9ISFlO2U/Pz10aGlzLmZvcm1hdDtsZXQgbj0hMSxyPXRoaXMuYTwxJiZ0aGlzLmE+PTA7cmV0dXJuIXQmJnImJihlLnN0YXJ0c1dpdGgoYGhleGApfHxlPT09YG5hbWVgKT9lPT09YG5hbWVgJiZ0aGlzLmE9PT0wP3RoaXMudG9OYW1lKCk6dGhpcy50b1JnYlN0cmluZygpOihlPT09YHJnYmAmJihuPXRoaXMudG9SZ2JTdHJpbmcoKSksZT09PWBwcmdiYCYmKG49dGhpcy50b1BlcmNlbnRhZ2VSZ2JTdHJpbmcoKSksKGU9PT1gaGV4YHx8ZT09PWBoZXg2YCkmJihuPXRoaXMudG9IZXhTdHJpbmcoKSksZT09PWBoZXgzYCYmKG49dGhpcy50b0hleFN0cmluZyghMCkpLGU9PT1gaGV4NGAmJihuPXRoaXMudG9IZXg4U3RyaW5nKCEwKSksZT09PWBoZXg4YCYmKG49dGhpcy50b0hleDhTdHJpbmcoKSksZT09PWBuYW1lYCYmKG49dGhpcy50b05hbWUoKSksZT09PWBoc2xgJiYobj10aGlzLnRvSHNsU3RyaW5nKCkpLGU9PT1gaHN2YCYmKG49dGhpcy50b0hzdlN0cmluZygpKSxlPT09YGNteWtgJiYobj10aGlzLnRvQ215a1N0cmluZygpKSxufHx0aGlzLnRvSGV4U3RyaW5nKCkpfXRvTnVtYmVyKCl7cmV0dXJuKE1hdGgucm91bmQodGhpcy5yKTw8MTYpKyhNYXRoLnJvdW5kKHRoaXMuZyk8PDgpK01hdGgucm91bmQodGhpcy5iKX1jbG9uZSgpe3JldHVybiBuZXcgZSh0aGlzLnRvU3RyaW5nKCkpfWxpZ2h0ZW4odD0xMCl7bGV0IG49dGhpcy50b0hzbCgpO3JldHVybiBuLmwrPXQvMTAwLG4ubD1vdihuLmwpLG5ldyBlKG4pfWJyaWdodGVuKHQ9MTApe2xldCBuPXRoaXMudG9SZ2IoKTtyZXR1cm4gbi5yPU1hdGgubWF4KDAsTWF0aC5taW4oMjU1LG4uci1NYXRoLnJvdW5kKDI1NSotKHQvMTAwKSkpKSxuLmc9TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsbi5nLU1hdGgucm91bmQoMjU1Ki0odC8xMDApKSkpLG4uYj1NYXRoLm1heCgwLE1hdGgubWluKDI1NSxuLmItTWF0aC5yb3VuZCgyNTUqLSh0LzEwMCkpKSksbmV3IGUobil9ZGFya2VuKHQ9MTApe2xldCBuPXRoaXMudG9Ic2woKTtyZXR1cm4gbi5sLT10LzEwMCxuLmw9b3Yobi5sKSxuZXcgZShuKX10aW50KGU9MTApe3JldHVybiB0aGlzLm1peChgd2hpdGVgLGUpfXNoYWRlKGU9MTApe3JldHVybiB0aGlzLm1peChgYmxhY2tgLGUpfWRlc2F0dXJhdGUodD0xMCl7bGV0IG49dGhpcy50b0hzbCgpO3JldHVybiBuLnMtPXQvMTAwLG4ucz1vdihuLnMpLG5ldyBlKG4pfXNhdHVyYXRlKHQ9MTApe2xldCBuPXRoaXMudG9Ic2woKTtyZXR1cm4gbi5zKz10LzEwMCxuLnM9b3Yobi5zKSxuZXcgZShuKX1ncmV5c2NhbGUoKXtyZXR1cm4gdGhpcy5kZXNhdHVyYXRlKDEwMCl9c3Bpbih0KXtsZXQgbj10aGlzLnRvSHNsKCkscj0obi5oK3QpJTM2MDtyZXR1cm4gbi5oPXI8MD8zNjArcjpyLG5ldyBlKG4pfW1peCh0LG49NTApe2xldCByPXRoaXMudG9SZ2IoKSxpPW5ldyBlKHQpLnRvUmdiKCksYT1uLzEwMDtyZXR1cm4gbmV3IGUoe3I6KGkuci1yLnIpKmErci5yLGc6KGkuZy1yLmcpKmErci5nLGI6KGkuYi1yLmIpKmErci5iLGE6KGkuYS1yLmEpKmErci5hfSl9YW5hbG9nb3VzKHQ9NixuPTMwKXtsZXQgcj10aGlzLnRvSHNsKCksaT0zNjAvbixhPVt0aGlzXTtmb3Ioci5oPShyLmgtKGkqdD4+MSkrNzIwKSUzNjA7LS10OylyLmg9KHIuaCtpKSUzNjAsYS5wdXNoKG5ldyBlKHIpKTtyZXR1cm4gYX1jb21wbGVtZW50KCl7bGV0IHQ9dGhpcy50b0hzbCgpO3JldHVybiB0Lmg9KHQuaCsxODApJTM2MCxuZXcgZSh0KX1tb25vY2hyb21hdGljKHQ9Nil7bGV0IG49dGhpcy50b0hzdigpLHtoOnJ9PW4se3M6aX09bix7djphfT1uLG89W10scz0xL3Q7Zm9yKDt0LS07KW8ucHVzaChuZXcgZSh7aDpyLHM6aSx2OmF9KSksYT0oYStzKSUxO3JldHVybiBvfXNwbGl0Y29tcGxlbWVudCgpe2xldCB0PXRoaXMudG9Ic2woKSx7aDpufT10O3JldHVyblt0aGlzLG5ldyBlKHtoOihuKzcyKSUzNjAsczp0LnMsbDp0Lmx9KSxuZXcgZSh7aDoobisyMTYpJTM2MCxzOnQucyxsOnQubH0pXX1vbkJhY2tncm91bmQodCl7bGV0IG49dGhpcy50b1JnYigpLHI9bmV3IGUodCkudG9SZ2IoKSxpPW4uYStyLmEqKDEtbi5hKTtyZXR1cm4gbmV3IGUoe3I6KG4ucipuLmErci5yKnIuYSooMS1uLmEpKS9pLGc6KG4uZypuLmErci5nKnIuYSooMS1uLmEpKS9pLGI6KG4uYipuLmErci5iKnIuYSooMS1uLmEpKS9pLGE6aX0pfXRyaWFkKCl7cmV0dXJuIHRoaXMucG9seWFkKDMpfXRldHJhZCgpe3JldHVybiB0aGlzLnBvbHlhZCg0KX1wb2x5YWQodCl7bGV0IG49dGhpcy50b0hzbCgpLHtoOnJ9PW4saT1bdGhpc10sYT0zNjAvdDtmb3IobGV0IG89MTtvPHQ7bysrKWkucHVzaChuZXcgZSh7aDoocitvKmEpJTM2MCxzOm4ucyxsOm4ubH0pKTtyZXR1cm4gaX1lcXVhbHModCl7bGV0IG49bmV3IGUodCk7cmV0dXJuIHRoaXMuZm9ybWF0PT09YGNteWtgfHxuLmZvcm1hdD09PWBjbXlrYD90aGlzLnRvQ215a1N0cmluZygpPT09bi50b0NteWtTdHJpbmcoKTp0aGlzLnRvUmdiU3RyaW5nKCk9PT1uLnRvUmdiU3RyaW5nKCl9fTtmdW5jdGlvbiBGdihlLHQpe2xldCBuPW5ldyBQdihlKSxyPW5ldyBQdih0KTtyZXR1cm4oTWF0aC5tYXgobi5nZXRMdW1pbmFuY2UoKSxyLmdldEx1bWluYW5jZSgpKSsuMDUpLyhNYXRoLm1pbihuLmdldEx1bWluYW5jZSgpLHIuZ2V0THVtaW5hbmNlKCkpKy4wNSl9dmFyIEl2PS4yOTksTHY9LjU4NyxSdj0uMTE0LHp2PTE4MCxCdj0tMjAsVnY9LS4yNSxIdj0uMixVdj0tNSxXdj0uMDMsR3Y9LjUsS3Y9NSxxdj0oZSx0KT0+bmV3IFB2KGUpLmRhcmtlbih0KS50b0hleFN0cmluZygpLEp2PWU9PntsZXQgdD1uZXcgUHYoZSkudG9SZ2IoKTtyZXR1cm5gJHt0LnJ9LCAke3QuZ30sICR7dC5ifWB9LFl2PWU9Pi9eI1swLTlBLUZdezZ9JC9pLnRlc3QoZSksWHY9ZT0+e2xldHtyOnQsZzpuLGI6cn09bmV3IFB2KGUpLnRvUmdiKCk7cmV0dXJuIE1hdGguc3FydCh0KnQqSXYrbipuKkx2K3IqcipSdik+enZ9LFp2PWU9PntsZXQgdD1uZXcgUHYoZSkse3M6bixsOnJ9PXQudG9Ic2woKTtyZXR1cm4gdC5zcGluKEJ2KS5kZXNhdHVyYXRlKG4qVnYpLmxpZ2h0ZW4ocipIdikudG9IZXhTdHJpbmcoKX0sUXY9KGUsdD1Hdik9PntsZXQgbj1uZXcgUHYoZSkse3M6cixsOml9PW4udG9Ic2woKTtyZXR1cm4gbi5zcGluKFV2KS5zYXR1cmF0ZShyKld2KS5kYXJrZW4oaSp0KS50b0hleFN0cmluZygpfSwkdj1lPT57bGV0e2NvbG9yOnQsY29sb3IyOm4sY29sb3JHcmFkaWVudDpyfT1lO3JldHVybiByP24/e2Zyb206dCx0bzpufTpYdih0KT97ZnJvbTp0LHRvOlF2KHQpfTp7ZnJvbTpadih0KSx0bzp0fTp7ZnJvbTp0LHRvOnR9fSxleT1lPT5YdihlKT9hdi5zbGF0ZTkwMDphdi53aGl0ZSx0eT1lPT5YdihlKT8uMTouMixueT1lPT57aWYoWHYoZSkpe2xldCB0PW5ldyBQdihlKS5nZXRMdW1pbmFuY2UoKTtyZXR1cm4gdD4uOD9xdihlLCgxMCp0KSoqdCk6ZX1yZXR1cm4gZX0scnk9KGUsdCk9PntsZXQgbj10Py5iYWNrZ3JvdW5kQ29sb3I/P2Uscj0wLGk9bmV3IFB2KGUpLGE9RnYobixpKSxvPXQ/LmZvcmNlTGlnaHRCZz8/bmV3IFB2KG4pLmlzTGlnaHQoKTtmb3IoO2E8My43NSYmcjwyMDspaT1vP2kuZGFya2VuKDUpOmkubGlnaHRlbig1KSxhPUZ2KG4saSkscisrO3JldHVybiBpLnRvSGV4U3RyaW5nKCl9LGl5PShlLHQpPT57bGV0IG49cnkoZSx7YmFja2dyb3VuZENvbG9yOmF2LndoaXRlfSkscj1yeShlKSxpPW5ldyBQdihlKS5pc0xpZ2h0KCksYT1uZXcgUHYodCkuaXNMaWdodCgpO3JldHVybiBpJiZhP3I9cnkodCk6IWkmJiFhP3I9cnkoZSk6aSYmIWE/cj1yeSh0LHtmb3JjZUxpZ2h0Qmc6ITB9KTohaSYmYSYmKHI9cnkoZSx7Zm9yY2VMaWdodEJnOiExfSkpLHtwcmltYXJ5Om4sc2Vjb25kYXJ5OnJ9fSxRPShlLHQsbik9PntlLmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSh0LG4pfSxheT0oZSx0KT0+e2xldHtjb2xvcjpufT10LHI9JHYodCksaT1yLmZyb209PT1gI2ZmZmZmZmAmJnIuZnJvbT09PXIudG8/e2Zyb206YXYuc2xhdGUzMDAsdG86YXYuc2xhdGUzMDB9OnIsYT1leShuKTtRKGUsYC0tY29sb3ItcHJpbWFyeWAsbiksUShlLGAtLWNvbG9yLXByaW1hcnktY29udGVudGAsYSksUShlLGAtLWNvbG9yLXByaW1hcnktY29udGVudC1yZ2JgLEp2KGEpKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1ncmFkaWVudC1mcm9tYCxyLmZyb20pLFEoZSxgLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LXRvYCxyLnRvKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1ncmFkaWVudC1idXR0b24tZnJvbWAsaS5mcm9tKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1ncmFkaWVudC1idXR0b24tdG9gLGkudG8pLFEoZSxgLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWhvdmVyLWZyb21gLHF2KHIuZnJvbSxLdikpLFEoZSxgLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWhvdmVyLXRvYCxxdihyLnRvLEt2KSk7bGV0IG89bnkobik7UShlLGAtLWNvbG9yLXByaW1hcnktYnV0dG9uYCxvKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1idXR0b24taG92ZXJgLHF2KG8sMTApKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1idXR0b24tY29udGVudGAsYSksUShlLGAtLW9wYWNpdHktcHJpbWFyeS1jb250ZW50YCxTdHJpbmcodHkobikpKTtsZXQgcz1peShyLmZyb20sci50byk7UShlLGAtLWNvbG9yLXByaW1hcnktZm9jdXNgLHMucHJpbWFyeSksUShlLGAtLWNvbG9yLXNlY29uZGFyeS1mb2N1c2Ascy5zZWNvbmRhcnkpfSxveT0oKCk9PntsZXR7c3Vic2NyaWJlOmUsc2V0OnR9PU8oe2NvbG9yOmF2LnNtYXJ0c3VwcEJsdWUsY29sb3IyOm51bGwsY29sb3JHcmFkaWVudDohMH0pO3JldHVybntzdWJzY3JpYmU6ZSxzZXRUaGVtZUNvbG9yOmU9PntsZXR7Y29sb3I6bixjb2xvcjI6cixjb2xvckdyYWRpZW50Oml9PWU7aWYoIVl2KG4pKXtIKGBQcm92aWRlZCBjb2xvciAnJHtufScgaXMgbm90IHZhbGlkLiBEZWZhdWx0IGNvbG9yIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLmApO3JldHVybn1lbHNlIGlmKGkmJnImJiFZdihyKSl7SChgUHJvdmlkZWQgY29sb3IgJyR7cn0nIGlzIG5vdCB2YWxpZC4gRGVmYXVsdCBjb2xvciB3aWxsIGJlIHVzZWQgaW5zdGVhZC5gKTtyZXR1cm59dCh7Y29sb3I6bixjb2xvcjI6cixjb2xvckdyYWRpZW50Oml9KX19fSkoKSxzeT0yNCxjeT0xMixseT03Mix1eT0zODAsZHk9NjcyLGZ5PTU2MCxweT04NDAsbXk9ZT0+YCR7ZX1weGAsaHk9ZT0+e2lmKGUpcmV0dXJuIEx1KGUpP3BhcnNlSW50KGUsMTApOmV9LGd5PShlLHQpPT57bGV0e3dpZGdldEJsb2NraW5nT3B0aW9uczpufT1WLmdldE9wdGlvbnMoKTtyZXR1cm4gZXx8bj8uaGVhZGxlc3NNb2RlP3t3aWR0aDpgMTAwJWAsaGVpZ2h0OmAxMDAlYH06dD97d2lkdGg6ZnksaGVpZ2h0OnB5fTp7d2lkdGg6dXksaGVpZ2h0OmR5fX0sX3k9ZT0+e2xldHt3aWRnZXRCbG9ja2luZ09wdGlvbnM6dH09Vi5nZXRPcHRpb25zKCk7ZS5zdHlsZS5ib3JkZXJSYWRpdXM9bXkoMjApLHQ/LmhlYWRsZXNzTW9kZT9lLnN0eWxlLmJveFNoYWRvdz1gbm9uZWA6dD8ubGltaXRTaGFkb3c/ZS5zdHlsZS5ib3hTaGFkb3c9YHJnYmEoMCwgMCwgMCwgMC4yNSkgMHB4IDVweCAxMnB4YDplLnN0eWxlLmJveFNoYWRvdz1gcmdiYSgwLCAwLCAwLCAwLjE2KSAwcHggNXB4IDQwcHhgfSx2eT0oKT0+e2xldHtvZmZzZXRZOmV9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBoeShlKT8/c3l9LHl5PSgpPT57bGV0e29mZnNldFg6ZX09Vi5nZXRPcHRpb25zKCk7cmV0dXJuIGh5KGUpPz9jeX0sYnk9ZT0+e2xldHt3aWRnZXRCbG9ja2luZ09wdGlvbnM6dH09Vi5nZXRPcHRpb25zKCk7cmV0dXJuIGV8fHQ/LmhlYWRsZXNzTW9kZT8wOnN5fSx4eT1lPT57bGV0e3dpZGdldEJsb2NraW5nT3B0aW9uczp0fT1WLmdldE9wdGlvbnMoKTtyZXR1cm4gZXx8dD8uaGVhZGxlc3NNb2RlPzA6Y3l9LFN5PSgpPT57bGV0e3Bvc2l0aW9uOmV9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBlPT09YGZpeGVkYH0sQ3k9ZT0+e1N5KCkmJihlLnN0eWxlLnBvc2l0aW9uPWBmaXhlZGApfSx3eT0oZSx0KT0+e1N5KCkmJihlLnN0eWxlLmJvdHRvbT1teSh0KSl9LFR5PShlLHQpPT57aWYoU3koKSl7bGV0e29yaWVudGF0aW9uOm59PVYuZ2V0T3B0aW9ucygpO249PT1gcmlnaHRgPyhlLnN0eWxlLmxlZnQ9YGluaXRpYWxgLGUuc3R5bGUucmlnaHQ9bXkodCkpOihlLnN0eWxlLmxlZnQ9bXkodCksZS5zdHlsZS5yaWdodD1gaW5pdGlhbGApfX0sRXk9ZT0+e2xldHt6SW5kZXg6dH09Vi5nZXRPcHRpb25zKCk7ZS5zdHlsZS56SW5kZXg9U3RyaW5nKHQ/P2BhdXRvYCl9LER5PWU9PntsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGBpZnJhbWVgKTtyZXR1cm4gdC5zdHlsZS5wb3NpdGlvbj1gYWJzb2x1dGVgLHQuc3R5bGUud2lkdGg9YDEwMCVgLHQuc3R5bGUuaGVpZ2h0PWAxMDAlYCx0LnN0eWxlLmJvcmRlcj1gbm9uZWAsdC5zdHlsZS5kaXNwbGF5PWBibG9ja2AsdC5zdHlsZS50ZXh0QWxpZ249YGxlZnRgLHQuc3R5bGUubWFyZ2luPWAwYCx0LnN0eWxlLnBhZGRpbmc9YDBgLHQuc3R5bGUudG9wPWAwYCx0LnN0eWxlLmxlZnQ9YDBgLHQuc3R5bGUub3BhY2l0eT1gMWAsZSYmZSh0KSx0LmdldEF0dHJpYnV0ZShgc3R5bGVgKT8/YGB9LE95PWU9PntDeShlKSx3eShlLHZ5KCkpLFR5KGUseXkoKSksRXkoZSl9LGt5PShlLHQpPT57Q3koZSksd3koZSxieSh0KSksVHkoZSx4eSh0KSksRXkoZSksdHx8X3koZSl9LEF5PWU9PntDeShlKSx3eShlLHZ5KCkrbHkpLFR5KGUseXkoKSksRXkoZSl9LGp5PWU9PntlLnN0eWxlLnBvc2l0aW9uPWBmaXhlZGAsZS5zdHlsZS53aWR0aD1gMTAwJWAsZS5zdHlsZS5oZWlnaHQ9YDEwMCVgLHd5KGUsMCksVHkoZSwwKSxFeShlKX0sTXk9ZT0+e095KGUpfSxOeT0oZSx0KT0+e2t5KGUsdCl9LFB5PWU9PntBeShlKX0sRnk9ZT0+e0F5KGUpfSxJeT1lPT57ankoZSl9LEx5PU8oMzAwKSxSeT1PKDE2Niksenk9TyghMSksQnk9Tyh2b2lkIDApLFZ5PWsoW3NzLEJ5XSwoW2UsdF0pPT57bGV0e2J1dHRvblN0eWxlOm59PVYuZ2V0T3B0aW9ucygpO3JldHVybiB0P3Q9PT1gYnViYmxlYDplfHxuPT09YGJ1YmJsZWB9KSxIeT1rKFtWeSxMeV0sKFtlLHRdKT0+ZT81Njp0KSxVeT1PKHZvaWQgMCksV3k9ayhbY3MsVXldLChbZSx0XSk9PmU/ITA6KHQ/P1YuZ2V0T3B0aW9ucygpLmhlYWRlclN0eWxlKT09PWBjb21wYWN0YCksR3k9ayhbV3ldLChbZV0pPT5lPzc2OjExNCksS3k9TygpLHF5PWsoW0t5XSwoW2VdKT0+ZT09PXZvaWQgMD96byhVLklzTWVzc2VuZ2VyRnJhbWVFeHBhbmRlZCk9PT1gdHJ1ZWA6ZSksSnk9ZT0+e0JvKHtuYW1lOlUuSXNNZXNzZW5nZXJGcmFtZUV4cGFuZGVkLHZhbHVlOmUudG9TdHJpbmcoKX0pLEt5LnNldChlKX0sJD1mdW5jdGlvbihlKXtyZXR1cm4gZS5OYW1lPWBuYW1lYCxlLkdyb3VwPWBncm91cGAsZS5FbWFpbD1gZW1haWxgLGUuUGhvbmU9YHBob25lYCxlLlZhcmlhYmxlcz1gdmFyaWFibGVzYCxlLkNvbnRhY3REYXRhPWBjb250YWN0RGF0YWAsZS5MYW5ndWFnZT1gbGFuZ3VhZ2VgLGUuQ2hhdENsb3NlPWBjaGF0OmNsb3NlYCxlLkNoYXRPcGVuPWBjaGF0Om9wZW5gLGUuQ2hhdFNob3c9YGNoYXQ6c2hvd2AsZS5DaGF0SGlkZT1gY2hhdDpoaWRlYCxlLlRoZW1lQ29sb3I9YHRoZW1lOmNvbG9yYCxlLkNoYXRNZXNzYWdlPWBjaGF0Om1lc3NhZ2VgLGUuQ2hhdFNlbmQ9YGNoYXQ6c2VuZGAsZS5IdG1sQXBwbHk9YGh0bWw6YXBwbHlgLGUuT249YG9uYCxlLkFuYWx5dGljc0NvbnNlbnQ9YGFuYWx5dGljc0NvbnNlbnRgLGUuTWFya2V0aW5nQ29uc2VudD1gbWFya2V0aW5nQ29uc2VudGAsZS5PcGVuUmF0ZUZvcm09YG9wZW5SYXRlRm9ybWAsZS5PcGVuQXV0aEZvcm09YG9wZW5BdXRoRm9ybWAsZS5XaWRnZXRTdGF0dXM9YHdpZGdldFN0YXR1c2AsZS5UcmFuc2xhdGlvbnM9YHRyYW5zbGF0aW9uc2AsZS5BdXRoRm9ybUZpZWxkcz1gYXV0aEZvcm1GaWVsZHNgLGUuQnV0dG9uU3R5bGU9YGJ1dHRvblN0eWxlYCxlLkhlYWRlclN0eWxlPWBoZWFkZXJTdHlsZWAsZS5QcmV2aWV3VHJhbnNsYXRlPWBwcmV2aWV3VHJhbnNsYXRlYCxlLkRpc2FibGVDb25uZWN0aW9uU3RhdHVzPWBkaXNhYmxlQ29ubmVjdGlvblN0YXR1c2AsZS5SZWxvYWRXaXRoTW9ja0RhdGE9YHJlbG9hZFdpdGhNb2NrRGF0YWAsZS5SZWxvYWQ9YHJlbG9hZGAsZS5Cb3RJZGVudGl0eVVwZGF0ZT1gYm90SWRlbnRpdHk6dXBkYXRlYCxlfSh7fSksWXk9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuTWVzc2FnZVNlbnQ9YG1lc3NhZ2Vfc2VudGAsZS5NZXNzYWdlUmVjZWl2ZWQ9YG1lc3NhZ2VfcmVjZWl2ZWRgLGUuTWVzc2VuZ2VyQ2xvc2U9YG1lc3Nlbmdlcl9jbG9zZWAsZS5XaWRnZXRJbml0PWB3aWRnZXRfaW5pdGAsZX0oe30pLFh5PWU9Pnt6Lm9uKGBtZXNzYWdlU2VudGAsZSl9LFp5PWU9Pnt6Lm9uKGBtZXNzYWdlUmVjZWl2ZWRgLGUpfSxReT1lPT57ei5vbihgbWVzc2VuZ2VyQ2xvc2VgLGUpfSwkeT1lPT57ei5vbihgd2lkZ2V0SW5pdGAsZSl9LGViPXtbWXkuTWVzc2FnZVNlbnRdOlh5LFtZeS5NZXNzYWdlUmVjZWl2ZWRdOlp5LFtZeS5NZXNzZW5nZXJDbG9zZV06UXksW1l5LldpZGdldEluaXRdOiR5fSx0Yj0oZSx0KT0+e2xldCBuPWViW2VdO24mJm4odCl9LG5iPWBodHRwczovL2RvY3Muc21hcnRzdXBwLmNvbS9jaGF0LWJveC9gLHJiPWAke25ifWxvY2FsaXphdGlvbi8jc3VwcG9ydGVkLWxhbmd1YWdlc2AsaWI9YCR7bmJ9dmlzaXRvci1pZGVudGlmaWNhdGlvbi8jY3VzdG9tLXZpc2l0b3ItZGF0YWAsYWI9YCR7bmJ9dmlzaXRvci1pZGVudGlmaWNhdGlvbi8jY3VzdG9tLWNvbnRhY3QtZGF0YWAsb2I9YCR7bmJ9amF2YXNjcmlwdC1hcGkvZXZlbnRzL2Asc2I9YGh0dHBzOi8vd3d3LnNtYXJ0c3VwcC5jb20vaGVscC9jb29raWUtY29uc2VudC8jd2hlcmUtdG8tZW5hYmxlLWNvb2tpZS1jb25zZW50LWluLXNtYXJ0c3VwcGAsY2I9YGh0dHBzOi8vd3d3LnNtYXJ0c3VwcC5jb20vcHJpY2luZ2AsbGI9Tyh7fSksdWI9KGUsdCk9PntsYi51cGRhdGUobj0+KHsuLi5uLFtlXTp0fSkpfSxkYj1lPT5PYmplY3QudmFsdWVzKCQpLnNvbWUodD0+dD09PWUpLGZiPShlLHQpPT5MdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgc3RyaW5nLiBTZWUgJHtuYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLHBiPShlLHQpPT5QdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgYm9vbGVhbi4gU2VlICR7bmJ9IGZvciBtb3JlIGluZm9ybWF0aW9uLmApLCExKSxtYj0oZSx0KT0+dHlwZW9mIHQ9PWBmdW5jdGlvbmA/ITA6KEgoYFBhcmFtZXRlciBvZiAnJHtlfScgQVBJIGNvbW1hbmQgbXVzdCBiZSB0eXBlIGZ1bmN0aW9uLiBTZWUgJHtuYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLGhiPShlLHQpPT5JdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgb2JqZWN0LiBTZWUgJHtpYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLGdiPShlLHQpPT5JdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgb2JqZWN0LiBTZWUgJHthYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLF9iPShlLHQpPT5JdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgb2JqZWN0LmApLCExKSx2Yj0oZSx0KT0+IUl1KHQpfHwhKGBpZGBpbiB0KXx8IUx1KHQuaWQpPyhIKGBQYXJhbWV0ZXIgb2YgJyR7ZX0nIEFQSSBjb21tYW5kIG11c3QgYmUgdHlwZSBvYmplY3QgYW5kIGhhcyBhIHZhbGlkICdpZCcgcHJvcGVydHkuYCksITEpOmBuYW1lYGluIHQmJiFMdSh0Lm5hbWUpPyhIKGBQYXJhbWV0ZXIgb2YgJyR7ZX0nIEFQSSBjb21tYW5kIG11c3QgaGF2ZSBhIHZhbGlkICduYW1lJyBwcm9wZXJ0eS5gKSwhMSk6YGF2YXRhclVybGBpbiB0JiYhTHUodC5hdmF0YXJVcmwpPyhIKGBQYXJhbWV0ZXIgb2YgJyR7ZX0nIEFQSSBjb21tYW5kIG11c3QgaGF2ZSBhIHZhbGlkICdhdmF0YXJVcmwnIHByb3BlcnR5LmApLCExKTohMCx5Yj0oZSx0KT0+e2xldCBuPU9iamVjdC52YWx1ZXMoWXkpO3JldHVybiBuLmluY2x1ZGVzKHQpPyEwOihIKGBVbmtub3duIGV2ZW50OiAnJHt0fScuIEF2YWlsYWJsZSBldmVudCBuYW1lcyBhcmU6ICR7bi5qb2luKGAsIGApfS4gU2VlICR7b2J9IGZvciBtb3JlIGluZm9ybWF0aW9uLmApLCExKX0sYmI9ZT0+e0goYFVua25vd24gQVBJIGNvbW1hbmQ6ICcke2V9Jy4gU2VlICR7bmJ9IHRvIGNoZWNrIGF2YWlsYWJsZSBBUEkgY29tbWFuZHMuYCl9LHhiPSgpPT4hIVYuZ2V0T3B0aW9ucygpLmZlYXR1cmVzPy5hcGksU2I9KCk9PiEhVi5nZXRPcHRpb25zKCkuZmVhdHVyZXM/Lmdyb3VwcyxDYj0oKT0+Vi5nZXRPcHRpb25zKCkuaXNQcmV2aWV3TW9kZSx3Yj0oKT0+IXhiKCkmJiFDYigpPyhIKGBDaGF0IGJveCBBUEkgZmVhdHVyZSBpcyBub3QgZW5hYmxlZC4gU2VlICR7Y2J9IHRvIHVwZ3JhZGUgeW91ciBwYWNrYWdlLmApLCExKTohMCxUYj0oKT0+IXhiKCl8fCFTYigpPyhIKGBDaGF0IGJveCBHcm91cHMgZmVhdHVyZSBpcyBub3QgZW5hYmxlZC4gU2VlICR7Y2J9IHRvIHVwZ3JhZGUgeW91ciBwYWNrYWdlLmApLCExKTohMCxFYj0oKT0+e0hvKCl8fEgoYEVuYWJsZSBtYW5hZ2luZyBjb29raWUgY29uc2VudCBpbiB3aWRnZXQgc2V0dGluZ3MgdG8gYWxsb3cgdGhpcyBjb21tYW5kLiBTZWUgJHtzYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCl9LERiPSgpPT57bGV0IGU9KCk9PntVXyghMCksSV8oKX07aWYoIUEoQ18pKXtYbC5wdXNoKGUpO3JldHVybn1lKCl9LE9iPSgpPT57aWYod2IoKSl7aWYoIUEoQ18pKXtYbC5wdXNoKFdfKTtyZXR1cm59V18oKX19LGtiPSgpPT57d2IoKSYmSV8oKX0sQWI9KCk9Pnt3YigpJiZMXygpfSxqYj0oZSx0KT0+e2lmKHdiKCkmJmU9PT0kLkxhbmd1YWdlJiZmYihlLHQpKXtpZighSWwodCkpe0goYFByb3ZpZGVkIGxhbmd1YWdlICcke3R9JyBpcyBub3Qgc3VwcG9ydGVkLiBTZWUgJHtyYn0gdG8gY2hlY2sgc3VwcG9ydGVkIGxhbmd1YWdlcy5gKTtyZXR1cm59aWYoIUEoQ18pKXt1YihgbGFuZ2AsdCk7cmV0dXJufUdsKHQpfX0sTWI9KGUsdCk9PntsZXQgbixyPW51bGwsaT0hMDtpZih3YigpKXtpZih0eXBlb2YgdD09YHN0cmluZ2AmJmZiKGUsdCkpbj10O2Vsc2UgaWYoaGIoZSx0KSl7aWYobj10LmNvbG9yLHI9dC5jb2xvcjIsaT10LmNvbG9yR3JhZGllbnQsIXBiKGUsaSkpcmV0dXJufWVsc2UgcmV0dXJuO2lmKCFZdihuKSl7SChgUHJvdmlkZWQgY29sb3IgJyR7bn0nIGlzIG5vdCB2YWxpZC4gUGxlYXNlIHVzZSBoZXggY29sb3IgY29kZS5gKTtyZXR1cm59ZWxzZSBpZihpJiZyJiYhWXYocikpe0goYFByb3ZpZGVkIGNvbG9yICcke3J9JyBpcyBub3QgdmFsaWQuIERlZmF1bHQgY29sb3Igd2lsbCBiZSB1c2VkIGluc3RlYWQuYCk7cmV0dXJufW95LnNldFRoZW1lQ29sb3Ioe2NvbG9yOm4sY29sb3IyOnIsY29sb3JHcmFkaWVudDppfSl9fSxOYj0oZSx0KT0+e3diKCkmJmZiKGUsdCkmJm9fKHQpfSxQYj0oZSx0KT0+e3diKCkmJmZiKGUsdCkmJihvXyh0KSxkXygpKX0sRmI9KGUsdCxuKT0+e2ZiKGUsdCkmJnliKGUsdCkmJm1iKGUsbikmJnRiKHQsbil9LEliPShlLHQpPT57aGIoZSx0KSYmTXUudXBkYXRlVmlzaXRvclZhcmlhYmxlcyh6dSh0KSl9LExiPShlLHQpPT57ZSE9PSQuTmFtZSYmZSE9PSQuRW1haWwmJmUhPT0kLlBob25lJiZlIT09JC5Hcm91cHx8ZmIoZSx0KSYmTXUudXBkYXRlVmlzaXRvclByb3BlcnR5KGUsdCl9LFJiPShlLHQpPT57aWYoIVRiKCl8fCFmYihlLHQpKXJldHVybjtsZXQgbj1BKGlsKVt0XTtpZihBKENfKSYmIW4pe0goYEdyb3VwIHdpdGgga2V5ICcke3R9JyBkb2VzIG5vdCBleGlzdC4gUGxlYXNlIHByb3ZpZGUgY29ycmVjdCBncm91cCBrZXkgZnJvbSB5b3VyIGdyb3VwIHNldHRpbmdzLmApO3JldHVybn1MYihlLHQpfSx6Yj0oZSx0KT0+e2diKGUsdCkmJk11LnVwZGF0ZVZpc2l0b3JDb250YWN0RGF0YSh0KX0sQmI9KGUsdCk9PntwYihlLHQpJiYoRWIoKSx6LmVtaXQoYGFuYWx5dGljc0NvbnNlbnRDaGFuZ2VkYCwhIXQpKX0sVmI9KGUsdCk9PntwYihlLHQpJiYoRWIoKSx6LmVtaXQoYG1hcmtldGluZ0NvbnNlbnRDaGFuZ2VkYCwhIXQpKX0sSGI9KCk9PntZcChBKEJwKXx8YGApfSxVYj0oKT0+e0JjKEhjLkF1dGhGb3JtKX0sV2I9KGUsdCk9PntmYihlLHQpJiYodCE9PUsuQWNjb3VudFN0YXR1cy5PbmxpbmUmJnQhPT1LLkFjY291bnRTdGF0dXMuT2ZmbGluZXx8JHUuc2V0KHQpKX0sR2I9KGUsdCk9PntoYihlLHQpJiZxbCh0KX0sS2I9KGUsdCk9PntoYihlLHQpJiYoQShWaCl8fFZoLnNldChWLmdldE9wdGlvbnMoKSksVmgudXBkYXRlKGU9Pih7Li4uZSwuLi50fSkpKX0scWI9KGUsdCk9PntmYihlLHQpJiZCeS5zZXQodCl9LEpiPShlLHQpPT57aWYoZT09PSQuSGVhZGVyU3R5bGUmJmZiKGUsdCkpe2lmKHQhPT1gY29tcGFjdGAmJnQhPT1gc3RhbmRhcmRgKXtIKGBQcm92aWRlZCBoZWFkZXIgc3R5bGUgJyR7dH0nIGlzIG5vdCB2YWxpZC4gVXNlICdjb21wYWN0JyBvciAnc3RhbmRhcmQnLmApO3JldHVybn1VeS5zZXQodCl9fSxZYj0oKT0+e2xldCBlPSgpPT57fTtlPUhsLnN1YnNjcmliZSgoKT0+e0EoUnApLmZvckVhY2goZT0+e2xldCB0PWUuY29udGVudD8uZGF0YXx8YGA7dHlwZW9mIHQ9PWBzdHJpbmdgJiZ0Lm1hdGNoKC93aWRnZXRQcmV2aWV3XC4uKi8pJiYoZS5jb250ZW50LnRleHQ9QShXKSh0KSxKLnJlcGxhY2VNZXNzYWdlKGUpKX0pLGUoKX0pfSxYYj0oZSx0KT0+e3BiKGUsdCkmJklnLnNldCh0KX0sWmI9KGUsdCk9PntfYihlLHQpJiZxLnJlbG9hZENsaWVudCh0KX0sUWI9KGUsdCk9PntwYihlLHQpJiZxLnJlbG9hZENsaWVudCh2b2lkIDAsdCl9LCRiPShlLHQpPT57aWYoIXZiKGUsdCkpcmV0dXJuO2xldHtpZDpuLC4uLnJ9PXQ7JGwudXBkYXRlSWRlbnRpdHkobixyKX0sZXg9e3ZlcnNpb246YGUwN2MyMDhhMzhlNmY1MDg0YzhlYjQ2MGI5NThhNDJmNzc4YTU5NjVgLGV4ZWN1dGU6ZT0+e2xldCB0PWVbMF07aWYodHlwZW9mIHQ9PWBmdW5jdGlvbmApe3J4KHQpO3JldHVybn1pZighZGIodCkpe2JiKFN0cmluZyh0KSk7cmV0dXJufW54KHQsZVsxXSwuLi5lLnNsaWNlKDIpKX0sZXhlYzpmdW5jdGlvbiguLi5lKXt0aGlzLmV4ZWN1dGUoZSl9fSx0eD17WyQuQ2hhdE9wZW5dOkRiLFskLkNoYXRDbG9zZV06T2IsWyQuQ2hhdFNob3ddOmtiLFskLkNoYXRIaWRlXTpBYixbJC5DaGF0TWVzc2FnZV06TmIsWyQuQ2hhdFNlbmRdOlBiLFskLkxhbmd1YWdlXTpqYixbJC5UaGVtZUNvbG9yXTpNYixbJC5IZWFkZXJTdHlsZV06SmIsWyQuT25dOkZiLFskLlZhcmlhYmxlc106SWIsWyQuQ29udGFjdERhdGFdOnpiLFskLk5hbWVdOkxiLFskLkdyb3VwXTpSYixbJC5FbWFpbF06TGIsWyQuUGhvbmVdOkxiLFskLkFuYWx5dGljc0NvbnNlbnRdOkJiLFskLk1hcmtldGluZ0NvbnNlbnRdOlZiLFskLkh0bWxBcHBseV06bnVsbCxbJC5PcGVuUmF0ZUZvcm1dOkhiLFskLk9wZW5BdXRoRm9ybV06VWIsWyQuV2lkZ2V0U3RhdHVzXTpXYixbJC5UcmFuc2xhdGlvbnNdOkdiLFskLkF1dGhGb3JtRmllbGRzXTpLYixbJC5CdXR0b25TdHlsZV06cWIsWyQuUHJldmlld1RyYW5zbGF0ZV06WWIsWyQuRGlzYWJsZUNvbm5lY3Rpb25TdGF0dXNdOlhiLFskLlJlbG9hZFdpdGhNb2NrRGF0YV06WmIsWyQuUmVsb2FkXTpRYixbJC5Cb3RJZGVudGl0eVVwZGF0ZV06JGJ9LG54PShlLHQsLi4ubik9PntsZXQgcj10eFtlXTtpZihyPT09dm9pZCAwKXtiYihlKTtyZXR1cm59ciE9PW51bGwmJihyKGUsdCwuLi5uKSx2byhg8J+nmeKAjeKZgu+4j1tBUEldICR7ZX0ke3Q/YDpgOmBgfWAsdD8/YGApKX0scng9ZT0+e0EoQ18pP2UoKTpYbC5wdXNoKGUpfTt0eXBlb2Ygd2luZG93PGB1YCYmKCh3aW5kb3cuX19zdmVsdGU/Pz17fSkudj8/PW5ldyBTZXQpLmFkZChgNWApO3ZhciBpeD1lPT5lO2Z1bmN0aW9uIGF4KGUpe2xldCB0PWUtMTtyZXR1cm4gdCp0KnQrMX1mdW5jdGlvbiBveChlKXtsZXQgdD10eXBlb2YgZT09YHN0cmluZ2AmJmUubWF0Y2goL15ccyooLT9bXGQuXSspKFteXHNdKilccyokLyk7cmV0dXJuIHQ/W3BhcnNlRmxvYXQodFsxXSksdFsyXXx8YHB4YF06W2UsYHB4YF19ZnVuY3Rpb24gc3goZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWl4fT17fSl7bGV0IGk9K2dldENvbXB1dGVkU3R5bGUoZSkub3BhY2l0eTtyZXR1cm57ZGVsYXk6dCxkdXJhdGlvbjpuLGVhc2luZzpyLGNzczplPT5gb3BhY2l0eTogJHtlKml9YH19ZnVuY3Rpb24gY3goZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWF4LHg6aT0wLHk6YT0wLG9wYWNpdHk6bz0wfT17fSl7bGV0IHM9Z2V0Q29tcHV0ZWRTdHlsZShlKSxjPStzLm9wYWNpdHksbD1zLnRyYW5zZm9ybT09PWBub25lYD9gYDpzLnRyYW5zZm9ybSx1PWMqKDEtbyksW2QsZl09b3goaSksW3AsbV09b3goYSk7cmV0dXJue2RlbGF5OnQsZHVyYXRpb246bixlYXNpbmc6cixjc3M6KGUsdCk9PmAKCQkJdHJhbnNmb3JtOiAke2x9IHRyYW5zbGF0ZSgkeygxLWUpKmR9JHtmfSwgJHsoMS1lKSpwfSR7bX0pOwoJCQlvcGFjaXR5OiAke2MtdSp0fWB9fWZ1bmN0aW9uIGx4KGUse2RlbGF5OnQ9MCxkdXJhdGlvbjpuPTQwMCxlYXNpbmc6cj1heCxheGlzOmk9YHlgfT17fSl7bGV0IGE9Z2V0Q29tcHV0ZWRTdHlsZShlKSxvPSthLm9wYWNpdHkscz1pPT09YHlgP2BoZWlnaHRgOmB3aWR0aGAsYz1wYXJzZUZsb2F0KGFbc10pLGw9aT09PWB5YD9bYHRvcGAsYGJvdHRvbWBdOltgbGVmdGAsYHJpZ2h0YF0sdT1sLm1hcChlPT5gJHtlWzBdLnRvVXBwZXJDYXNlKCl9JHtlLnNsaWNlKDEpfWApLGQ9cGFyc2VGbG9hdChhW2BwYWRkaW5nJHt1WzBdfWBdKSxmPXBhcnNlRmxvYXQoYVtgcGFkZGluZyR7dVsxXX1gXSkscD1wYXJzZUZsb2F0KGFbYG1hcmdpbiR7dVswXX1gXSksbT1wYXJzZUZsb2F0KGFbYG1hcmdpbiR7dVsxXX1gXSksaD1wYXJzZUZsb2F0KGFbYGJvcmRlciR7dVswXX1XaWR0aGBdKSxnPXBhcnNlRmxvYXQoYVtgYm9yZGVyJHt1WzFdfVdpZHRoYF0pO3JldHVybntkZWxheTp0LGR1cmF0aW9uOm4sZWFzaW5nOnIsY3NzOmU9PmBvdmVyZmxvdzogaGlkZGVuO29wYWNpdHk6ICR7TWF0aC5taW4oZSoyMCwxKSpvfTske3N9OiAke2UqY31weDtwYWRkaW5nLSR7bFswXX06ICR7ZSpkfXB4O3BhZGRpbmctJHtsWzFdfTogJHtlKmZ9cHg7bWFyZ2luLSR7bFswXX06ICR7ZSpwfXB4O21hcmdpbi0ke2xbMV19OiAke2UqbX1weDtib3JkZXItJHtsWzBdfS13aWR0aDogJHtlKmh9cHg7Ym9yZGVyLSR7bFsxXX0td2lkdGg6ICR7ZSpnfXB4O21pbi0ke3N9OiAwYH19ZnVuY3Rpb24gdXgoZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWF4LHN0YXJ0Omk9MCxvcGFjaXR5OmE9MH09e30pe2xldCBvPWdldENvbXB1dGVkU3R5bGUoZSkscz0rby5vcGFjaXR5LGM9by50cmFuc2Zvcm09PT1gbm9uZWA/YGA6by50cmFuc2Zvcm0sbD0xLWksdT1zKigxLWEpO3JldHVybntkZWxheTp0LGR1cmF0aW9uOm4sZWFzaW5nOnIsY3NzOihlLHQpPT5gCgkJCXRyYW5zZm9ybTogJHtjfSBzY2FsZSgkezEtbCp0fSk7CgkJCW9wYWNpdHk6ICR7cy11KnR9CgkJYH19YXQoKTt2YXIgZHg9d2koYDxkaXY+PC9kaXY+YCk7ZnVuY3Rpb24gZngoZSx0KXtsdCh0LCEwKTtsZXQgbj1vbyh0LGBoZWlnaHRgLDMsMjApLHI9b28odCxgd2lkdGhgLDMsYDEwMCVgKSxpPW9vKHQsYGNvbG9yU2NoZW1lYCwzLGBncmF5YCksYT1vbyh0LGByb3VuZGVkU3R5bGVgLDMsYHJvdW5kZWQtZnVsbGApLG89Zm4oKCk9PmAke2EoKX0gYW5pbWF0ZS1wdWxzZWApO3ZhciBzPWR4KCk7bGV0IGM7cHIoZT0+e2JhKHMsMSxtYShbUihvKSxpKCk9PT1gZ3JheWAmJmBiZy1ncmF5LTIwMGAsaSgpPT09YGRhcmtHcmF5YCYmYGJnLWdyYXktMzAwYF0pKSxjPVNhKHMsYGAsYyxlKX0sWygpPT4oe2hlaWdodDpteShuKCkpLHdpZHRoOkZ1KHIoKSk/bXkocigpKTpyKCl9KV0pLGtpKGUscyksdXQoKX1mdW5jdGlvbiBweChlLHQpe2xldCBuPW9vKHQsYHNpemVgLDMsMjApO2Z4KGUse2NvbG9yU2NoZW1lOmBkYXJrR3JheWAsZ2V0IHdpZHRoKCl7cmV0dXJuIG4oKX0sZ2V0IGhlaWdodCgpe3JldHVybiBuKCl9fSl9dmFyIG14PUVpKGA8c3ZnPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTE4IDZMNiAxOE02IDZsMTIgMTIiPjwvcGF0aD48L3N2Zz5gKTtmdW5jdGlvbiBoeChlLHQpe2xldCBuPXJvKHQsW2AkJHNsb3RzYCxgJCRldmVudHNgLGAkJGxlZ2FjeWBdKTt2YXIgcj1teCgpO1ZhKHIsKCk9Pih7dmlld0JveDpgMCAwIDI0IDI0YCx3aWR0aDpgMS4yZW1gLGhlaWdodDpgMS4yZW1gLC4uLm59KSksa2koZSxyKX12YXIgZ3g9d2koYDxidXR0b24gdHlwZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PGRpdj48IT48L2Rpdj48L2J1dHRvbj5gKTtmdW5jdGlvbiBfeChlLHQpe2x0KHQsITApO2xldCBuPW9vKHQsYGljb25PcmllbnRhdGlvbmAsMyxgcmlnaHRgKSxyPW9vKHQsYGljb25BbmltYXRpb25gLDMsYG5vbmVgKSxpPW9vKHQsYGljb25TY2FsZWAsMywhMSksYT1vbyh0LGBzaXplYCwzLGBtZGApLG89b28odCxgdmFyaWFudGAsMyxgZ2hvc3RgKSxzPW9vKHQsYGZvY3VzYCwzLGBwcmltYXJ5YCksYz1mbigoKT0+bigpPT09YHJpZ2h0YD8xOi0xKSxsPWZuKCgpPT5pKCk/MS40OjEuMiksdT1mbigoKT0+dC5pY29uKSxkPWU9PntlLnN0b3BQcm9wYWdhdGlvbigpLHQub25DbGljayYmdC5vbkNsaWNrKGUpfTt2YXIgZj1neCgpLHA9Vm4oZik7JGkoVm4ocCksKCk9PlIodSksKGUsdCk9Pnt0KGUse3dpZHRoOmAxZW1gLGhlaWdodDpgMWVtYH0pfSksWGUocCksWGUoZikscHIoZT0+e2JhKGYsMSxlLGBzdmVsdGUteXdvZm1sYCksZi5kaXNhYmxlZD10LmRpc2FibGVkLHphKGYsYGRhdGEtdGVzdGlkYCx0LnRlc3RJZCksemEoZixgYXJpYS1sYWJlbGAsdC5pY29uRGVzY3JpcHRpb24pLHphKGYsYGFyaWEtZGlzYWJsZWRgLHQuZGlzYWJsZWQpLGJhKHAsMSxtYShbYHctZnVsbCBoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJgLHIoKT09PWBzcGluYCYmYGFuaW1hdGUtc3BpbmBdKSksU2EocCxgdHJhbnNmb3JtOiBzY2FsZSgke1IobCl9KSBzY2FsZVgoJHtSKGMpfSk7YCl9LFsoKT0+bWEoW2BidG4gYnRuLSR7bygpfSBidG4tJHthKCl9YCwhIXQuZGlzYWJsZWQmJmBidG4tZGlzYWJsZWRgLGlzKCk/YGN1cnNvci1hdXRvYDpgY3Vyc29yLXBvaW50ZXJgLHMoKT09PWBwcmltYXJ5YCYmYGJ1dHRvbi1mb2N1c2AscygpPT09YHNlY29uZGFyeWAmJmBidXR0b24tZm9jdXMtc2Vjb25kYXJ5YF0pXSksZ2koYGNsaWNrYCxmLGQpLGtpKGUsZiksdXQoKX1faShbYGNsaWNrYF0pO2V4cG9ydHtkXyBhcyAkLGp0IGFzICRpLFNsIGFzICRuLGFvIGFzICRyLCRmIGFzICR0LCRfIGFzIEEsZ2kgYXMgQWksc2QgYXMgQW4sc3MgYXMgQXIsVGggYXMgQXQsS18gYXMgQixWbiBhcyBCaSxVdSBhcyBCbixqbyBhcyBCcixIcCBhcyBCdCxGeSBhcyBDLElpIGFzIENpLF9kIGFzIENuLGJzIGFzIENyLHpoIGFzIEN0LG95IGFzIEQsRWkgYXMgRGksbmQgYXMgRG4sX3MgYXMgRHIsTWggYXMgRHQsbXkgYXMgRSx3aSBhcyBFaSxlZCBhcyBFbixocyBhcyBFcixGaCBhcyBFdCxKXyBhcyBGLCRyIGFzIEZpLEt1IGFzIEZuLHpvIGFzIEZyLFpwIGFzIEZ0LE9fIGFzIEcsVG4gYXMgR2ksJGwgYXMgR24scG8gYXMgR3IsenAgYXMgR3QsTl8gYXMgSCxVbiBhcyBIaSxMdSBhcyBIbix5byBhcyBIcixNcCBhcyBIdCxYIGFzIEkscHIgYXMgSWksWXUgYXMgSW4sVm8gYXMgSXIsWXAgYXMgSXQsbV8gYXMgSixwbiBhcyBKaSxIbCBhcyBKbix6IGFzIEpyLFJwIGFzIEp0LGdfIGFzIEssQ24gYXMgS2ksWWwgYXMgS24sQiBhcyBLcixKIGFzIEt0LEdfIGFzIEwsb3IgYXMgTGkscXUgYXMgTG4sQm8gYXMgTHIsWHAgYXMgTHQscnYgYXMgTSxwaSBhcyBNaSxpZCBhcyBNbixhcyBhcyBNcixFaCBhcyBNdCxZXyBhcyBOLFIgYXMgTmksWnUgYXMgTm4saXMgYXMgTnIsaWggYXMgTnQsYXkgYXMgTyxEaSBhcyBPaSxsZCBhcyBPbixscyBhcyBPcixraCBhcyBPdCxXXyBhcyBQLFhyIGFzIFBpLEd1IGFzIFBuLEpvIGFzIFByLGFtIGFzIFB0LGlfIGFzIFEsUHQgYXMgUWksd2wgYXMgUW4scm8gYXMgUXIsT3AgYXMgUXQsVV8gYXMgUixjciBhcyBSaSxXdSBhcyBSbixVIGFzIFJyLFdwIGFzIFJ0LFB5IGFzIFMsamkgYXMgU2ksZ2QgYXMgU24seXMgYXMgU3IsYWcgYXMgU3QsZ3kgYXMgVCxPaSBhcyBUaSx1ZCBhcyBUbixmcyBhcyBUcixJaCBhcyBUdCxqXyBhcyBVLGpuIGFzIFVpLE11IGFzIFVuLFYgYXMgVXIsQnAgYXMgVXQsTV8gYXMgVixIbiBhcyBWaSxWdSBhcyBWbixIIGFzIFZyLFZwIGFzIFZ0LERfIGFzIFcsd24gYXMgV2kscSBhcyBXbix2byBhcyBXcixGcCBhcyBXdCxzXyBhcyBYLE10IGFzIFhpLFJsIGFzIFhuLHNvIGFzIFhyLElwIGFzIFh0LHBfIGFzIFksZm4gYXMgWWksVyBhcyBZbixjbyBhcyBZcixQcCBhcyBZdCxhXyBhcyBaLEF0IGFzIFppLENsIGFzIFpuLG9vIGFzIFpyLGtwIGFzIFp0LFJ5IGFzIF8sR2kgYXMgX2ksVGQgYXMgX24sTmMgYXMgX3IsdWcgYXMgX3Qsc3ggYXMgYSxsdCBhcyBhYSxWYSBhcyBhaSxCZiBhcyBhbixsbCBhcyBhcixVZyBhcyBhdCxOeSBhcyBiLFJpIGFzIGJpLHlkIGFzIGJuLENzIGFzIGJyLGlnIGFzIGJ0LGx4IGFzIGMsWGUgYXMgY2EsVGEgYXMgY2ksU2YgYXMgY24sUWMgYXMgY3IsVmcgYXMgY3QsSHkgYXMgZCxtYSBhcyBkaSxHZCBhcyBkbixXYyBhcyBkcixOZyBhcyBkdCxrIGFzIGVhLGVvIGFzIGVpLGVwIGFzIGVuLGJsIGFzIGVyLG9fIGFzIGV0LHp5IGFzIGYsdWEgYXMgZmksVmQgYXMgZm4sR2MgYXMgZnIsT2cgYXMgZnQsR3kgYXMgZyxaaSBhcyBnaSx3ZCBhcyBnbixCYyBhcyBncix5ZyBhcyBndCxWeSBhcyBoLFFpIGFzIGhpLEVkIGFzIGhuLHpjIGFzIGhyLFRnIGFzIGh0LGZ4IGFzIGksdXQgYXMgaWEscWEgYXMgaWksRmYgYXMgaW4sc2wgYXMgaXIsdF8gYXMgaXQsaXYgYXMgaixoaSBhcyBqaSxmZCBhcyBqbix1cyBhcyBqcixEaCBhcyBqdCxldiBhcyBrLF9pIGFzIGtpLGNkIGFzIGtuLGNzIGFzIGtyLE9oIGFzIGt0LGV4IGFzIGwseCBhcyBsYSxTYSBhcyBsaSxiZiBhcyBsbixVYyBhcyBscixMZyBhcyBsdCxxeSBhcyBtLCRpIGFzIG1pLHpkIGFzIG1uLFZjIGFzIG1yLERnIGFzIG10LGh4IGFzIG4sTyBhcyBuYSxZYSBhcyBuaSxxZiBhcyBubix1bCBhcyBucixjXyBhcyBudCxjeCBhcyBvLGN0IGFzIG9hLHphIGFzIG9pLHpmIGFzIG9uLG9sIGFzIG9yLEhnIGFzIG90LFd5IGFzIHAsY2EgYXMgcGksSGQgYXMgcG4sSGMgYXMgcHIsRWcgYXMgcHQsaF8gYXMgcSxPbiBhcyBxaSxLbCBhcyBxbixtbyBhcyBxcixOcCBhcyBxdCxweCBhcyByLHN0IGFzIHJhLEphIGFzIHJpLFVmIGFzIHJuLGNsIGFzIHJyLGxfIGFzIHJ0LHV4IGFzIHMsWmUgYXMgc2EsTGEgYXMgc2ksRGYgYXMgc24sbmwgYXMgc3IsQmcgYXMgc3QsX3ggYXMgdCxBIGFzIHRhLCRhIGFzIHRpLFRwIGFzIHRuLGRsIGFzIHRyLHJfIGFzIHR0LEx5IGFzIHUsdSBhcyB1YSxiYSBhcyB1aSxSZCBhcyB1bixLYyBhcyB1cixGZyBhcyB1dCxKeSBhcyB2LFZpIGFzIHZpLFNkIGFzIHZuLFBjIGFzIHZyLHJnIGFzIHZ0LER5IGFzIHcsa2kgYXMgd2ksJHUgYXMgd24sZ3MgYXMgd3IsTGggYXMgd3QsSXkgYXMgeCxNaSBhcyB4aSx4ZCBhcyB4bix4cyBhcyB4cixvZyBhcyB4dCxNeSBhcyB5LEJpIGFzIHlpLGJkIGFzIHluLE1jIGFzIHlyLFZoIGFzIHl0LFZfIGFzIHosWG4gYXMgemksSHUgYXMgem4sTG8gYXMgenIsVXAgYXMgenR9OwovLyMgc291cmNlTWFwcGluZ1VSTD1zaGFyZWQta2IxeXFIYUEuanMubWFw"}},"time_used":15,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":15,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/elementor/assets/css/frontend.min.css?ver=3.26.5","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.886Z","timestamp":1785141582886,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/plugins/elementor/assets/css/frontend.min.css?ver=3.26.5 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://oxlofttrd.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:57:43 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 7105\r\nKeep-Alive: timeout=5, max=100\r\nConnection: Keep-Alive\r\nContent-Type: text/css\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":53257,"size_decoded":7457,"mime_type":"text/css","magic":"ASCII text, with very long lines (53217)","md5":"28ab3cfec882cdf6eefff3bac0d36262","sha1":"a27474e24779dc6b0b04aebeb97ac2fa0b8d836f","sha256":"bc308bf406cea2192bf89a377f50f8eb3c7b27c8470716e2f4c8305923811a9f","sha512":"1efe7cb2d7a5d80e4b68d452ddef4566e23e7b4d04026828719675e9d3da2d1e20663b05c803dec6a51d4a074804b9c13cbe2abd60a479ef54d4408b3c815f13","ssdeep":"384:WTrJ9/vmyeUaEMoZ0qk0e/Rmsm5Cz9TfikvmGkvmCLldlRab2ksYrOk:GLRdL2t7RglNK7svk","tlshash":"fc33fb623d13b269226f442b82d7364c526495c1ee4376d9fa04c523dafece63b36c1b","first_seen":"2025-01-16T00:22:47.895804Z","last_seen":"2026-07-27T12:12:28.829796Z","times_seen":483,"resource_available":false,"data":"LyohIGVsZW1lbnRvciAtIHYzLjI2LjAgLSAxNS0wMS0yMDI1ICovCi5lbGVtZW50b3ItaGlkZGVue2Rpc3BsYXk6bm9uZX0uZWxlbWVudG9yLXZpc2liaWxpdHktaGlkZGVue3Zpc2liaWxpdHk6aGlkZGVufS5lbGVtZW50b3Itc2NyZWVuLW9ubHksLnNjcmVlbi1yZWFkZXItdGV4dCwuc2NyZWVuLXJlYWRlci10ZXh0IHNwYW4sLnVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZXtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0xMDAwMGVtO3dpZHRoOjFweDtjbGlwOnJlY3QoMCwwLDAsMCk7Ym9yZGVyOjB9LmVsZW1lbnRvci1jbGVhcmZpeDphZnRlcntjbGVhcjpib3RoO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDt3aWR0aDowfS5lLWxvZ28td3JhcHBlcntiYWNrZ3JvdW5kOnZhcigtLWUtYS1iZy1sb2dvKTtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoxO3BhZGRpbmc6Ljc1ZW19LmUtbG9nby13cmFwcGVyIGl7Y29sb3I6dmFyKC0tZS1hLWNvbG9yLWxvZ28pO2ZvbnQtc2l6ZToxZW19LmVsZW1lbnRvciAqLC5lbGVtZW50b3IgOmFmdGVyLC5lbGVtZW50b3IgOmJlZm9yZXtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmVsZW1lbnRvciBhe2JveC1zaGFkb3c6bm9uZTt0ZXh0LWRlY29yYXRpb246bm9uZX0uZWxlbWVudG9yIGhye2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWFyZ2luOjB9LmVsZW1lbnRvciBpbWd7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czowO2JveC1zaGFkb3c6bm9uZTtoZWlnaHQ6YXV0bzttYXgtd2lkdGg6MTAwJX0uZWxlbWVudG9yIC5lbGVtZW50b3Itd2lkZ2V0Om5vdCguZWxlbWVudG9yLXdpZGdldC10ZXh0LWVkaXRvcik6bm90KC5lbGVtZW50b3Itd2lkZ2V0LXRoZW1lLXBvc3QtY29udGVudCkgZmlndXJle21hcmdpbjowfS5lbGVtZW50b3IgZW1iZWQsLmVsZW1lbnRvciBpZnJhbWUsLmVsZW1lbnRvciBvYmplY3QsLmVsZW1lbnRvciB2aWRlb3tib3JkZXI6bm9uZTtsaW5lLWhlaWdodDoxO21hcmdpbjowO21heC13aWR0aDoxMDAlO3dpZHRoOjEwMCV9LmVsZW1lbnRvciAuZWxlbWVudG9yLWJhY2tncm91bmQsLmVsZW1lbnRvciAuZWxlbWVudG9yLWJhY2tncm91bmQtaG9sZGVyLC5lbGVtZW50b3IgLmVsZW1lbnRvci1iYWNrZ3JvdW5kLXZpZGVvLWNvbnRhaW5lcntkaXJlY3Rpb246bHRyO2luc2V0OjA7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MH0uZWxlbWVudG9yIC5lbGVtZW50b3ItYmFja2dyb3VuZC12aWRlby1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHkgMXN9LmVsZW1lbnRvciAuZWxlbWVudG9yLWJhY2tncm91bmQtdmlkZW8tY29udGFpbmVyLmVsZW1lbnRvci1sb2FkaW5ne29wYWNpdHk6MH0uZWxlbWVudG9yIC5lbGVtZW50b3ItYmFja2dyb3VuZC12aWRlby1lbWJlZHttYXgtd2lkdGg6bm9uZX0uZWxlbWVudG9yIC5lbGVtZW50b3ItYmFja2dyb3VuZC12aWRlbywuZWxlbWVudG9yIC5lbGVtZW50b3ItYmFja2dyb3VuZC12aWRlby1lbWJlZCwuZWxlbWVudG9yIC5lbGVtZW50b3ItYmFja2dyb3VuZC12aWRlby1ob3N0ZWR7bGVmdDo1MCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSl9LmVsZW1lbnRvciAuZWxlbWVudG9yLWJhY2tncm91bmQtdmlkZW97bWF4LXdpZHRoOm5vbmV9LmVsZW1lbnRvciAuZWxlbWVudG9yLWh0bWw1LXZpZGVvey1vLW9iamVjdC1maXQ6Y292ZXI7b2JqZWN0LWZpdDpjb3Zlcn0uZWxlbWVudG9yIC5lbGVtZW50b3ItYmFja2dyb3VuZC1vdmVybGF5e2luc2V0OjA7cG9zaXRpb246YWJzb2x1dGV9LmVsZW1lbnRvciAuZWxlbWVudG9yLWJhY2tncm91bmQtc2xpZGVzaG93e2luc2V0OjA7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDowfS5lbGVtZW50b3IgLmVsZW1lbnRvci1iYWNrZ3JvdW5kLXNsaWRlc2hvd19fc2xpZGVfX2ltYWdle2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5lLWNvbi1pbm5lcj4uZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWFic29sdXRlLC5lLWNvbj4uZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWFic29sdXRlLC5lbGVtZW50b3Itd2lkZ2V0LXdyYXA+LmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZX0uZS1jb24taW5uZXI+LmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1maXhlZCwuZS1jb24+LmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1maXhlZCwuZWxlbWVudG9yLXdpZGdldC13cmFwPi5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZml4ZWR7cG9zaXRpb246Zml4ZWR9LmVsZW1lbnRvci13aWRnZXQtd3JhcCAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLXdpZGdldF9fd2lkdGgtYXV0bywuZWxlbWVudG9yLXdpZGdldC13cmFwIC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3Itd2lkZ2V0X193aWR0aC1pbml0aWFse21heC13aWR0aDoxMDAlfUBtZWRpYSAobWF4LXdpZHRoOjEwMjRweCl7LmVsZW1lbnRvci13aWRnZXQtd3JhcCAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLXdpZGdldC10YWJsZXRfX3dpZHRoLWF1dG8sLmVsZW1lbnRvci13aWRnZXQtd3JhcCAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLXdpZGdldC10YWJsZXRfX3dpZHRoLWluaXRpYWx7bWF4LXdpZHRoOjEwMCV9fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsuZWxlbWVudG9yLXdpZGdldC13cmFwIC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3Itd2lkZ2V0LW1vYmlsZV9fd2lkdGgtYXV0bywuZWxlbWVudG9yLXdpZGdldC13cmFwIC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3Itd2lkZ2V0LW1vYmlsZV9fd2lkdGgtaW5pdGlhbHttYXgtd2lkdGg6MTAwJX19LmVsZW1lbnRvci1lbGVtZW50ey0tZmxleC1kaXJlY3Rpb246aW5pdGlhbDstLWZsZXgtd3JhcDppbml0aWFsOy0tanVzdGlmeS1jb250ZW50OmluaXRpYWw7LS1hbGlnbi1pdGVtczppbml0aWFsOy0tYWxpZ24tY29udGVudDppbml0aWFsOy0tZ2FwOmluaXRpYWw7LS1mbGV4LWJhc2lzOmluaXRpYWw7LS1mbGV4LWdyb3c6aW5pdGlhbDstLWZsZXgtc2hyaW5rOmluaXRpYWw7LS1vcmRlcjppbml0aWFsOy0tYWxpZ24tc2VsZjppbml0aWFsO2FsaWduLXNlbGY6dmFyKC0tYWxpZ24tc2VsZik7ZmxleC1iYXNpczp2YXIoLS1mbGV4LWJhc2lzKTtmbGV4LWdyb3c6dmFyKC0tZmxleC1ncm93KTtmbGV4LXNocmluazp2YXIoLS1mbGV4LXNocmluayk7b3JkZXI6dmFyKC0tb3JkZXIpfS5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItYWJzb2x1dGUsLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1maXhlZHt6LWluZGV4OjF9LmVsZW1lbnRvci1lbGVtZW50OndoZXJlKC5lLWNvbi1mdWxsLC5lbGVtZW50b3Itd2lkZ2V0KXthbGlnbi1jb250ZW50OnZhcigtLWFsaWduLWNvbnRlbnQpO2FsaWduLWl0ZW1zOnZhcigtLWFsaWduLWl0ZW1zKTtmbGV4LWRpcmVjdGlvbjp2YXIoLS1mbGV4LWRpcmVjdGlvbik7ZmxleC13cmFwOnZhcigtLWZsZXgtd3JhcCk7Z2FwOnZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO2p1c3RpZnktY29udGVudDp2YXIoLS1qdXN0aWZ5LWNvbnRlbnQpfS5lbGVtZW50b3ItaW52aXNpYmxle3Zpc2liaWxpdHk6aGlkZGVufS5lbGVtZW50b3ItYWxpZ24tY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS5lbGVtZW50b3ItYWxpZ24tcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0uZWxlbWVudG9yLWFsaWduLWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS5lbGVtZW50b3ItYWxpZ24tY2VudGVyIC5lbGVtZW50b3ItYnV0dG9uLC5lbGVtZW50b3ItYWxpZ24tbGVmdCAuZWxlbWVudG9yLWJ1dHRvbiwuZWxlbWVudG9yLWFsaWduLXJpZ2h0IC5lbGVtZW50b3ItYnV0dG9ue3dpZHRoOmF1dG99LmVsZW1lbnRvci1hbGlnbi1qdXN0aWZ5IC5lbGVtZW50b3ItYnV0dG9ue3dpZHRoOjEwMCV9LmVsZW1lbnRvci1jdXN0b20tZW1iZWQtcGxheXtsZWZ0OjUwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKX0uZWxlbWVudG9yLWN1c3RvbS1lbWJlZC1wbGF5IGl7Y29sb3I6I2ZmZjtmb250LXNpemU6MTAwcHg7dGV4dC1zaGFkb3c6MXB4IDAgNnB4IHJnYmEoMCwwLDAsLjMpfS5lbGVtZW50b3ItY3VzdG9tLWVtYmVkLXBsYXkgc3Zne2hlaWdodDoxMDBweDt3aWR0aDoxMDBweDtmaWxsOiNmZmY7ZmlsdGVyOmRyb3Atc2hhZG93KDFweCAwIDZweCByZ2JhKDAsMCwwLC4zKSl9LmVsZW1lbnRvci1jdXN0b20tZW1iZWQtcGxheSBpLC5lbGVtZW50b3ItY3VzdG9tLWVtYmVkLXBsYXkgc3Zne29wYWNpdHk6Ljg7dHJhbnNpdGlvbjphbGwgLjVzfS5lbGVtZW50b3ItY3VzdG9tLWVtYmVkLXBsYXkuZWxlbWVudG9yLXBsYXlpbmcgaXtmb250LWZhbWlseTplaWNvbnN9LmVsZW1lbnRvci1jdXN0b20tZW1iZWQtcGxheS5lbGVtZW50b3ItcGxheWluZyBpOmJlZm9yZXtjb250ZW50OiJcZThmYiJ9LmVsZW1lbnRvci1jdXN0b20tZW1iZWQtcGxheS5lbGVtZW50b3ItcGxheWluZyBpLC5lbGVtZW50b3ItY3VzdG9tLWVtYmVkLXBsYXkuZWxlbWVudG9yLXBsYXlpbmcgc3Zne2FuaW1hdGlvbjplaWNvbi1zcGluIDJzIGxpbmVhciBpbmZpbml0ZX0uZWxlbWVudG9yLXRhZ3tkaXNwbGF5OmlubGluZS1mbGV4fS5lbGVtZW50b3Ita2VuLWJ1cm5ze3RyYW5zaXRpb24tZHVyYXRpb246MTBzO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcn0uZWxlbWVudG9yLWtlbi1idXJucy0tb3V0e3RyYW5zZm9ybTpzY2FsZSgxLjMpfS5lbGVtZW50b3Ita2VuLWJ1cm5zLS1hY3RpdmV7dHJhbnNpdGlvbi1kdXJhdGlvbjoyMHN9LmVsZW1lbnRvci1rZW4tYnVybnMtLWFjdGl2ZS5lbGVtZW50b3Ita2VuLWJ1cm5zLS1vdXR7dHJhbnNmb3JtOnNjYWxlKDEpfS5lbGVtZW50b3Ita2VuLWJ1cm5zLS1hY3RpdmUuZWxlbWVudG9yLWtlbi1idXJucy0taW57dHJhbnNmb3JtOnNjYWxlKDEuMyl9QG1lZGlhIChtaW4td2lkdGg6LTEpey5lbGVtZW50b3Itd2lkZXNjcmVlbi1hbGlnbi1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LmVsZW1lbnRvci13aWRlc2NyZWVuLWFsaWduLXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LmVsZW1lbnRvci13aWRlc2NyZWVuLWFsaWduLWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS5lbGVtZW50b3Itd2lkZXNjcmVlbi1hbGlnbi1jZW50ZXIgLmVsZW1lbnRvci1idXR0b24sLmVsZW1lbnRvci13aWRlc2NyZWVuLWFsaWduLWxlZnQgLmVsZW1lbnRvci1idXR0b24sLmVsZW1lbnRvci13aWRlc2NyZWVuLWFsaWduLXJpZ2h0IC5lbGVtZW50b3ItYnV0dG9ue3dpZHRoOmF1dG99LmVsZW1lbnRvci13aWRlc2NyZWVuLWFsaWduLWp1c3RpZnkgLmVsZW1lbnRvci1idXR0b257d2lkdGg6MTAwJX19QG1lZGlhIChtYXgtd2lkdGg6LTEpey5lbGVtZW50b3ItbGFwdG9wLWFsaWduLWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlcn0uZWxlbWVudG9yLWxhcHRvcC1hbGlnbi1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0fS5lbGVtZW50b3ItbGFwdG9wLWFsaWduLWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS5lbGVtZW50b3ItbGFwdG9wLWFsaWduLWNlbnRlciAuZWxlbWVudG9yLWJ1dHRvbiwuZWxlbWVudG9yLWxhcHRvcC1hbGlnbi1sZWZ0IC5lbGVtZW50b3ItYnV0dG9uLC5lbGVtZW50b3ItbGFwdG9wLWFsaWduLXJpZ2h0IC5lbGVtZW50b3ItYnV0dG9ue3dpZHRoOmF1dG99LmVsZW1lbnRvci1sYXB0b3AtYWxpZ24tanVzdGlmeSAuZWxlbWVudG9yLWJ1dHRvbnt3aWR0aDoxMDAlfS5lbGVtZW50b3ItdGFibGV0X2V4dHJhLWFsaWduLWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlcn0uZWxlbWVudG9yLXRhYmxldF9leHRyYS1hbGlnbi1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0fS5lbGVtZW50b3ItdGFibGV0X2V4dHJhLWFsaWduLWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS5lbGVtZW50b3ItdGFibGV0X2V4dHJhLWFsaWduLWNlbnRlciAuZWxlbWVudG9yLWJ1dHRvbiwuZWxlbWVudG9yLXRhYmxldF9leHRyYS1hbGlnbi1sZWZ0IC5lbGVtZW50b3ItYnV0dG9uLC5lbGVtZW50b3ItdGFibGV0X2V4dHJhLWFsaWduLXJpZ2h0IC5lbGVtZW50b3ItYnV0dG9ue3dpZHRoOmF1dG99LmVsZW1lbnRvci10YWJsZXRfZXh0cmEtYWxpZ24tanVzdGlmeSAuZWxlbWVudG9yLWJ1dHRvbnt3aWR0aDoxMDAlfX1AbWVkaWEgKG1heC13aWR0aDoxMDI0cHgpey5lbGVtZW50b3ItdGFibGV0LWFsaWduLWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlcn0uZWxlbWVudG9yLXRhYmxldC1hbGlnbi1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0fS5lbGVtZW50b3ItdGFibGV0LWFsaWduLWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS5lbGVtZW50b3ItdGFibGV0LWFsaWduLWNlbnRlciAuZWxlbWVudG9yLWJ1dHRvbiwuZWxlbWVudG9yLXRhYmxldC1hbGlnbi1sZWZ0IC5lbGVtZW50b3ItYnV0dG9uLC5lbGVtZW50b3ItdGFibGV0LWFsaWduLXJpZ2h0IC5lbGVtZW50b3ItYnV0dG9ue3dpZHRoOmF1dG99LmVsZW1lbnRvci10YWJsZXQtYWxpZ24tanVzdGlmeSAuZWxlbWVudG9yLWJ1dHRvbnt3aWR0aDoxMDAlfX1AbWVkaWEgKG1heC13aWR0aDotMSl7LmVsZW1lbnRvci1tb2JpbGVfZXh0cmEtYWxpZ24tY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS5lbGVtZW50b3ItbW9iaWxlX2V4dHJhLWFsaWduLXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LmVsZW1lbnRvci1tb2JpbGVfZXh0cmEtYWxpZ24tbGVmdHt0ZXh0LWFsaWduOmxlZnR9LmVsZW1lbnRvci1tb2JpbGVfZXh0cmEtYWxpZ24tY2VudGVyIC5lbGVtZW50b3ItYnV0dG9uLC5lbGVtZW50b3ItbW9iaWxlX2V4dHJhLWFsaWduLWxlZnQgLmVsZW1lbnRvci1idXR0b24sLmVsZW1lbnRvci1tb2JpbGVfZXh0cmEtYWxpZ24tcmlnaHQgLmVsZW1lbnRvci1idXR0b257d2lkdGg6YXV0b30uZWxlbWVudG9yLW1vYmlsZV9leHRyYS1hbGlnbi1qdXN0aWZ5IC5lbGVtZW50b3ItYnV0dG9ue3dpZHRoOjEwMCV9fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsuZWxlbWVudG9yLW1vYmlsZS1hbGlnbi1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LmVsZW1lbnRvci1tb2JpbGUtYWxpZ24tcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0uZWxlbWVudG9yLW1vYmlsZS1hbGlnbi1sZWZ0e3RleHQtYWxpZ246bGVmdH0uZWxlbWVudG9yLW1vYmlsZS1hbGlnbi1jZW50ZXIgLmVsZW1lbnRvci1idXR0b24sLmVsZW1lbnRvci1tb2JpbGUtYWxpZ24tbGVmdCAuZWxlbWVudG9yLWJ1dHRvbiwuZWxlbWVudG9yLW1vYmlsZS1hbGlnbi1yaWdodCAuZWxlbWVudG9yLWJ1dHRvbnt3aWR0aDphdXRvfS5lbGVtZW50b3ItbW9iaWxlLWFsaWduLWp1c3RpZnkgLmVsZW1lbnRvci1idXR0b257d2lkdGg6MTAwJX19OnJvb3R7LS1wYWdlLXRpdGxlLWRpc3BsYXk6YmxvY2t9LmVsZW1lbnRvci1wYWdlLXRpdGxlLGgxLmVudHJ5LXRpdGxle2Rpc3BsYXk6dmFyKC0tcGFnZS10aXRsZS1kaXNwbGF5KX1Aa2V5ZnJhbWVzIGVpY29uLXNwaW57MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDM1OWRlZyl9fS5laWNvbi1hbmltYXRpb24tc3BpbnthbmltYXRpb246ZWljb24tc3BpbiAycyBsaW5lYXIgaW5maW5pdGV9LmVsZW1lbnRvci1zZWN0aW9ue3Bvc2l0aW9uOnJlbGF0aXZlfS5lbGVtZW50b3Itc2VjdGlvbiAuZWxlbWVudG9yLWNvbnRhaW5lcntkaXNwbGF5OmZsZXg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZX1AbWVkaWEgKG1heC13aWR0aDoxMDI0cHgpey5lbGVtZW50b3Itc2VjdGlvbiAuZWxlbWVudG9yLWNvbnRhaW5lcntmbGV4LXdyYXA6d3JhcH19LmVsZW1lbnRvci1zZWN0aW9uLmVsZW1lbnRvci1zZWN0aW9uLWJveGVkPi5lbGVtZW50b3ItY29udGFpbmVye21heC13aWR0aDoxMTQwcHh9LmVsZW1lbnRvci1zZWN0aW9uLmVsZW1lbnRvci1zZWN0aW9uLXN0cmV0Y2hlZHtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5lbGVtZW50b3Itc2VjdGlvbi5lbGVtZW50b3Itc2VjdGlvbi1pdGVtcy10b3A+LmVsZW1lbnRvci1jb250YWluZXJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uZWxlbWVudG9yLXNlY3Rpb24uZWxlbWVudG9yLXNlY3Rpb24taXRlbXMtbWlkZGxlPi5lbGVtZW50b3ItY29udGFpbmVye2FsaWduLWl0ZW1zOmNlbnRlcn0uZWxlbWVudG9yLXNlY3Rpb24uZWxlbWVudG9yLXNlY3Rpb24taXRlbXMtYm90dG9tPi5lbGVtZW50b3ItY29udGFpbmVye2FsaWduLWl0ZW1zOmZsZXgtZW5kfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuZWxlbWVudG9yLXNlY3Rpb24uZWxlbWVudG9yLXNlY3Rpb24taGVpZ2h0LWZ1bGx7aGVpZ2h0OjEwMHZofS5lbGVtZW50b3Itc2VjdGlvbi5lbGVtZW50b3Itc2VjdGlvbi1oZWlnaHQtZnVsbD4uZWxlbWVudG9yLWNvbnRhaW5lcntoZWlnaHQ6MTAwJX19LmVsZW1lbnRvci1iYy1mbGV4LXdpZGdldCAuZWxlbWVudG9yLXNlY3Rpb24tY29udGVudC10b3A+LmVsZW1lbnRvci1jb250YWluZXI+LmVsZW1lbnRvci1jb2x1bW4+LmVsZW1lbnRvci13aWRnZXQtd3JhcHthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5lbGVtZW50b3ItYmMtZmxleC13aWRnZXQgLmVsZW1lbnRvci1zZWN0aW9uLWNvbnRlbnQtbWlkZGxlPi5lbGVtZW50b3ItY29udGFpbmVyPi5lbGVtZW50b3ItY29sdW1uPi5lbGVtZW50b3Itd2lkZ2V0LXdyYXB7YWxpZ24taXRlbXM6Y2VudGVyfS5lbGVtZW50b3ItYmMtZmxleC13aWRnZXQgLmVsZW1lbnRvci1zZWN0aW9uLWNvbnRlbnQtYm90dG9tPi5lbGVtZW50b3ItY29udGFpbmVyPi5lbGVtZW50b3ItY29sdW1uPi5lbGVtZW50b3Itd2lkZ2V0LXdyYXB7YWxpZ24taXRlbXM6ZmxleC1lbmR9LmVsZW1lbnRvci13aWRnZXQtd3JhcHthbGlnbi1jb250ZW50OmZsZXgtc3RhcnQ7ZmxleC13cmFwOndyYXA7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJX0uZWxlbWVudG9yOm5vdCguZWxlbWVudG9yLWJjLWZsZXgtd2lkZ2V0KSAuZWxlbWVudG9yLXdpZGdldC13cmFwe2Rpc3BsYXk6ZmxleH0uZWxlbWVudG9yLXdpZGdldC13cmFwPi5lbGVtZW50b3ItZWxlbWVudHt3aWR0aDoxMDAlfS5lbGVtZW50b3Itd2lkZ2V0LXdyYXAuZS1zd2lwZXItY29udGFpbmVye3dpZHRoOmNhbGMoMTAwJSAtICh2YXIoLS1lLWNvbHVtbi1tYXJnaW4tbGVmdCwgMHB4KSArIHZhcigtLWUtY29sdW1uLW1hcmdpbi1yaWdodCwgMHB4KSkpfS5lbGVtZW50b3Itd2lkZ2V0e3Bvc2l0aW9uOnJlbGF0aXZlfS5lbGVtZW50b3Itd2lkZ2V0Om5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWJvdHRvbTp2YXIoLS1raXQtd2lkZ2V0LXNwYWNpbmcsMjBweCl9LmVsZW1lbnRvci13aWRnZXQ6bm90KDpsYXN0LWNoaWxkKS5lbGVtZW50b3ItYWJzb2x1dGUsLmVsZW1lbnRvci13aWRnZXQ6bm90KDpsYXN0LWNoaWxkKS5lbGVtZW50b3Itd2lkZ2V0X193aWR0aC1hdXRvLC5lbGVtZW50b3Itd2lkZ2V0Om5vdCg6bGFzdC1jaGlsZCkuZWxlbWVudG9yLXdpZGdldF9fd2lkdGgtaW5pdGlhbHttYXJnaW4tYm90dG9tOjB9LmVsZW1lbnRvci1jb2x1bW57ZGlzcGxheTpmbGV4O21pbi1oZWlnaHQ6MXB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5lbGVtZW50b3ItY29sdW1uLWdhcC1uYXJyb3c+LmVsZW1lbnRvci1jb2x1bW4+LmVsZW1lbnRvci1lbGVtZW50LXBvcHVsYXRlZHtwYWRkaW5nOjVweH0uZWxlbWVudG9yLWNvbHVtbi1nYXAtZGVmYXVsdD4uZWxlbWVudG9yLWNvbHVtbj4uZWxlbWVudG9yLWVsZW1lbnQtcG9wdWxhdGVke3BhZGRpbmc6MTBweH0uZWxlbWVudG9yLWNvbHVtbi1nYXAtZXh0ZW5kZWQ+LmVsZW1lbnRvci1jb2x1bW4+LmVsZW1lbnRvci1lbGVtZW50LXBvcHVsYXRlZHtwYWRkaW5nOjE1cHh9LmVsZW1lbnRvci1jb2x1bW4tZ2FwLXdpZGU+LmVsZW1lbnRvci1jb2x1bW4+LmVsZW1lbnRvci1lbGVtZW50LXBvcHVsYXRlZHtwYWRkaW5nOjIwcHh9LmVsZW1lbnRvci1jb2x1bW4tZ2FwLXdpZGVyPi5lbGVtZW50b3ItY29sdW1uPi5lbGVtZW50b3ItZWxlbWVudC1wb3B1bGF0ZWR7cGFkZGluZzozMHB4fS5lbGVtZW50b3ItaW5uZXItc2VjdGlvbiAuZWxlbWVudG9yLWNvbHVtbi1nYXAtbm8gLmVsZW1lbnRvci1lbGVtZW50LXBvcHVsYXRlZHtwYWRkaW5nOjB9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1jb2wtMTAsLmVsZW1lbnRvci1jb2x1bW5bZGF0YS1jb2w9IjEwIl17d2lkdGg6MTAlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1jb2wtMTEsLmVsZW1lbnRvci1jb2x1bW5bZGF0YS1jb2w9IjExIl17d2lkdGg6MTEuMTExJX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3ItY29sLTEyLC5lbGVtZW50b3ItY29sdW1uW2RhdGEtY29sPSIxMiJde3dpZHRoOjEyLjUlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1jb2wtMTQsLmVsZW1lbnRvci1jb2x1bW5bZGF0YS1jb2w9IjE0Il17d2lkdGg6MTQuMjg1JX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3ItY29sLTE2LC5lbGVtZW50b3ItY29sdW1uW2RhdGEtY29sPSIxNiJde3dpZHRoOjE2LjY2NiV9LmVsZW1lbnRvci1jb2x1bW4uZWxlbWVudG9yLWNvbC0yMCwuZWxlbWVudG9yLWNvbHVtbltkYXRhLWNvbD0iMjAiXXt3aWR0aDoyMCV9LmVsZW1lbnRvci1jb2x1bW4uZWxlbWVudG9yLWNvbC0yNSwuZWxlbWVudG9yLWNvbHVtbltkYXRhLWNvbD0iMjUiXXt3aWR0aDoyNSV9LmVsZW1lbnRvci1jb2x1bW4uZWxlbWVudG9yLWNvbC0zMCwuZWxlbWVudG9yLWNvbHVtbltkYXRhLWNvbD0iMzAiXXt3aWR0aDozMCV9LmVsZW1lbnRvci1jb2x1bW4uZWxlbWVudG9yLWNvbC0zMywuZWxlbWVudG9yLWNvbHVtbltkYXRhLWNvbD0iMzMiXXt3aWR0aDozMy4zMzMlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1jb2wtNDAsLmVsZW1lbnRvci1jb2x1bW5bZGF0YS1jb2w9IjQwIl17d2lkdGg6NDAlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1jb2wtNTAsLmVsZW1lbnRvci1jb2x1bW5bZGF0YS1jb2w9IjUwIl17d2lkdGg6NTAlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1jb2wtNjAsLmVsZW1lbnRvci1jb2x1bW5bZGF0YS1jb2w9IjYwIl17d2lkdGg6NjAlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1jb2wtNjYsLmVsZW1lbnRvci1jb2x1bW5bZGF0YS1jb2w9IjY2Il17d2lkdGg6NjYuNjY2JX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3ItY29sLTcwLC5lbGVtZW50b3ItY29sdW1uW2RhdGEtY29sPSI3MCJde3dpZHRoOjcwJX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3ItY29sLTc1LC5lbGVtZW50b3ItY29sdW1uW2RhdGEtY29sPSI3NSJde3dpZHRoOjc1JX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3ItY29sLTgwLC5lbGVtZW50b3ItY29sdW1uW2RhdGEtY29sPSI4MCJde3dpZHRoOjgwJX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3ItY29sLTgzLC5lbGVtZW50b3ItY29sdW1uW2RhdGEtY29sPSI4MyJde3dpZHRoOjgzLjMzMyV9LmVsZW1lbnRvci1jb2x1bW4uZWxlbWVudG9yLWNvbC05MCwuZWxlbWVudG9yLWNvbHVtbltkYXRhLWNvbD0iOTAiXXt3aWR0aDo5MCV9LmVsZW1lbnRvci1jb2x1bW4uZWxlbWVudG9yLWNvbC0xMDAsLmVsZW1lbnRvci1jb2x1bW5bZGF0YS1jb2w9IjEwMCJde3dpZHRoOjEwMCV9fUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsuZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3IteHMtMTB7d2lkdGg6MTAlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci14cy0xMXt3aWR0aDoxMS4xMTElfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci14cy0xMnt3aWR0aDoxMi41JX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3IteHMtMTR7d2lkdGg6MTQuMjg1JX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3IteHMtMTZ7d2lkdGg6MTYuNjY2JX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3IteHMtMjB7d2lkdGg6MjAlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci14cy0yNXt3aWR0aDoyNSV9LmVsZW1lbnRvci1jb2x1bW4uZWxlbWVudG9yLXhzLTMwe3dpZHRoOjMwJX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3IteHMtMzN7d2lkdGg6MzMuMzMzJX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3IteHMtNDB7d2lkdGg6NDAlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci14cy01MHt3aWR0aDo1MCV9LmVsZW1lbnRvci1jb2x1bW4uZWxlbWVudG9yLXhzLTYwe3dpZHRoOjYwJX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3IteHMtNjZ7d2lkdGg6NjYuNjY2JX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3IteHMtNzB7d2lkdGg6NzAlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci14cy03NXt3aWR0aDo3NSV9LmVsZW1lbnRvci1jb2x1bW4uZWxlbWVudG9yLXhzLTgwe3dpZHRoOjgwJX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3IteHMtODN7d2lkdGg6ODMuMzMzJX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3IteHMtOTB7d2lkdGg6OTAlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci14cy0xMDB7d2lkdGg6MTAwJX19QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpey5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1zbS0xMHt3aWR0aDoxMCV9LmVsZW1lbnRvci1jb2x1bW4uZWxlbWVudG9yLXNtLTExe3dpZHRoOjExLjExMSV9LmVsZW1lbnRvci1jb2x1bW4uZWxlbWVudG9yLXNtLTEye3dpZHRoOjEyLjUlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1zbS0xNHt3aWR0aDoxNC4yODUlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1zbS0xNnt3aWR0aDoxNi42NjYlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1zbS0yMHt3aWR0aDoyMCV9LmVsZW1lbnRvci1jb2x1bW4uZWxlbWVudG9yLXNtLTI1e3dpZHRoOjI1JX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3Itc20tMzB7d2lkdGg6MzAlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1zbS0zM3t3aWR0aDozMy4zMzMlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1zbS00MHt3aWR0aDo0MCV9LmVsZW1lbnRvci1jb2x1bW4uZWxlbWVudG9yLXNtLTUwe3dpZHRoOjUwJX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3Itc20tNjB7d2lkdGg6NjAlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1zbS02Nnt3aWR0aDo2Ni42NjYlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1zbS03MHt3aWR0aDo3MCV9LmVsZW1lbnRvci1jb2x1bW4uZWxlbWVudG9yLXNtLTc1e3dpZHRoOjc1JX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3Itc20tODB7d2lkdGg6ODAlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1zbS04M3t3aWR0aDo4My4zMzMlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1zbS05MHt3aWR0aDo5MCV9LmVsZW1lbnRvci1jb2x1bW4uZWxlbWVudG9yLXNtLTEwMHt3aWR0aDoxMDAlfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgYW5kIChtYXgtd2lkdGg6MTAyNHB4KXsuZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3ItbWQtMTB7d2lkdGg6MTAlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1tZC0xMXt3aWR0aDoxMS4xMTElfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1tZC0xMnt3aWR0aDoxMi41JX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3ItbWQtMTR7d2lkdGg6MTQuMjg1JX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3ItbWQtMTZ7d2lkdGg6MTYuNjY2JX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3ItbWQtMjB7d2lkdGg6MjAlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1tZC0yNXt3aWR0aDoyNSV9LmVsZW1lbnRvci1jb2x1bW4uZWxlbWVudG9yLW1kLTMwe3dpZHRoOjMwJX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3ItbWQtMzN7d2lkdGg6MzMuMzMzJX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3ItbWQtNDB7d2lkdGg6NDAlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1tZC01MHt3aWR0aDo1MCV9LmVsZW1lbnRvci1jb2x1bW4uZWxlbWVudG9yLW1kLTYwe3dpZHRoOjYwJX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3ItbWQtNjZ7d2lkdGg6NjYuNjY2JX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3ItbWQtNzB7d2lkdGg6NzAlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1tZC03NXt3aWR0aDo3NSV9LmVsZW1lbnRvci1jb2x1bW4uZWxlbWVudG9yLW1kLTgwe3dpZHRoOjgwJX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3ItbWQtODN7d2lkdGg6ODMuMzMzJX0uZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3ItbWQtOTB7d2lkdGg6OTAlfS5lbGVtZW50b3ItY29sdW1uLmVsZW1lbnRvci1tZC0xMDB7d2lkdGg6MTAwJX19QG1lZGlhIChtaW4td2lkdGg6LTEpey5lbGVtZW50b3ItcmV2ZXJzZS13aWRlc2NyZWVuPi5lbGVtZW50b3ItY29udGFpbmVyPjpmaXJzdC1jaGlsZHtvcmRlcjoxMH0uZWxlbWVudG9yLXJldmVyc2Utd2lkZXNjcmVlbj4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDIpe29yZGVyOjl9LmVsZW1lbnRvci1yZXZlcnNlLXdpZGVzY3JlZW4+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCgzKXtvcmRlcjo4fS5lbGVtZW50b3ItcmV2ZXJzZS13aWRlc2NyZWVuPi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoNCl7b3JkZXI6N30uZWxlbWVudG9yLXJldmVyc2Utd2lkZXNjcmVlbj4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDUpe29yZGVyOjZ9LmVsZW1lbnRvci1yZXZlcnNlLXdpZGVzY3JlZW4+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCg2KXtvcmRlcjo1fS5lbGVtZW50b3ItcmV2ZXJzZS13aWRlc2NyZWVuPi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoNyl7b3JkZXI6NH0uZWxlbWVudG9yLXJldmVyc2Utd2lkZXNjcmVlbj4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDgpe29yZGVyOjN9LmVsZW1lbnRvci1yZXZlcnNlLXdpZGVzY3JlZW4+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCg5KXtvcmRlcjoyfS5lbGVtZW50b3ItcmV2ZXJzZS13aWRlc2NyZWVuPi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoMTApe29yZGVyOjF9fUBtZWRpYSAobWluLXdpZHRoOjEwMjVweCkgYW5kIChtYXgtd2lkdGg6LTEpey5lbGVtZW50b3ItcmV2ZXJzZS1sYXB0b3A+LmVsZW1lbnRvci1jb250YWluZXI+OmZpcnN0LWNoaWxke29yZGVyOjEwfS5lbGVtZW50b3ItcmV2ZXJzZS1sYXB0b3A+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCgyKXtvcmRlcjo5fS5lbGVtZW50b3ItcmV2ZXJzZS1sYXB0b3A+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCgzKXtvcmRlcjo4fS5lbGVtZW50b3ItcmV2ZXJzZS1sYXB0b3A+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCg0KXtvcmRlcjo3fS5lbGVtZW50b3ItcmV2ZXJzZS1sYXB0b3A+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCg1KXtvcmRlcjo2fS5lbGVtZW50b3ItcmV2ZXJzZS1sYXB0b3A+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCg2KXtvcmRlcjo1fS5lbGVtZW50b3ItcmV2ZXJzZS1sYXB0b3A+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCg3KXtvcmRlcjo0fS5lbGVtZW50b3ItcmV2ZXJzZS1sYXB0b3A+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCg4KXtvcmRlcjozfS5lbGVtZW50b3ItcmV2ZXJzZS1sYXB0b3A+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCg5KXtvcmRlcjoyfS5lbGVtZW50b3ItcmV2ZXJzZS1sYXB0b3A+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCgxMCl7b3JkZXI6MX19QG1lZGlhIChtaW4td2lkdGg6LTEpIGFuZCAobWF4LXdpZHRoOi0xKXsuZWxlbWVudG9yLXJldmVyc2UtbGFwdG9wPi5lbGVtZW50b3ItY29udGFpbmVyPjpmaXJzdC1jaGlsZHtvcmRlcjoxMH0uZWxlbWVudG9yLXJldmVyc2UtbGFwdG9wPi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoMil7b3JkZXI6OX0uZWxlbWVudG9yLXJldmVyc2UtbGFwdG9wPi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoMyl7b3JkZXI6OH0uZWxlbWVudG9yLXJldmVyc2UtbGFwdG9wPi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoNCl7b3JkZXI6N30uZWxlbWVudG9yLXJldmVyc2UtbGFwdG9wPi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoNSl7b3JkZXI6Nn0uZWxlbWVudG9yLXJldmVyc2UtbGFwdG9wPi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoNil7b3JkZXI6NX0uZWxlbWVudG9yLXJldmVyc2UtbGFwdG9wPi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoNyl7b3JkZXI6NH0uZWxlbWVudG9yLXJldmVyc2UtbGFwdG9wPi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoOCl7b3JkZXI6M30uZWxlbWVudG9yLXJldmVyc2UtbGFwdG9wPi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoOSl7b3JkZXI6Mn0uZWxlbWVudG9yLXJldmVyc2UtbGFwdG9wPi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoMTApe29yZGVyOjF9fUBtZWRpYSAobWluLXdpZHRoOjEwMjVweCkgYW5kIChtYXgtd2lkdGg6LTEpey5lbGVtZW50b3ItcmV2ZXJzZS1sYXB0b3A+LmVsZW1lbnRvci1jb250YWluZXI+OmZpcnN0LWNoaWxkLC5lbGVtZW50b3ItcmV2ZXJzZS1sYXB0b3A+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCgxMCksLmVsZW1lbnRvci1yZXZlcnNlLWxhcHRvcD4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDIpLC5lbGVtZW50b3ItcmV2ZXJzZS1sYXB0b3A+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCgzKSwuZWxlbWVudG9yLXJldmVyc2UtbGFwdG9wPi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoNCksLmVsZW1lbnRvci1yZXZlcnNlLWxhcHRvcD4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDUpLC5lbGVtZW50b3ItcmV2ZXJzZS1sYXB0b3A+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCg2KSwuZWxlbWVudG9yLXJldmVyc2UtbGFwdG9wPi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoNyksLmVsZW1lbnRvci1yZXZlcnNlLWxhcHRvcD4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDgpLC5lbGVtZW50b3ItcmV2ZXJzZS1sYXB0b3A+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCg5KXtvcmRlcjowfS5lbGVtZW50b3ItcmV2ZXJzZS10YWJsZXRfZXh0cmE+LmVsZW1lbnRvci1jb250YWluZXI+OmZpcnN0LWNoaWxke29yZGVyOjEwfS5lbGVtZW50b3ItcmV2ZXJzZS10YWJsZXRfZXh0cmE+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCgyKXtvcmRlcjo5fS5lbGVtZW50b3ItcmV2ZXJzZS10YWJsZXRfZXh0cmE+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCgzKXtvcmRlcjo4fS5lbGVtZW50b3ItcmV2ZXJzZS10YWJsZXRfZXh0cmE+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCg0KXtvcmRlcjo3fS5lbGVtZW50b3ItcmV2ZXJzZS10YWJsZXRfZXh0cmE+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCg1KXtvcmRlcjo2fS5lbGVtZW50b3ItcmV2ZXJzZS10YWJsZXRfZXh0cmE+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCg2KXtvcmRlcjo1fS5lbGVtZW50b3ItcmV2ZXJzZS10YWJsZXRfZXh0cmE+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCg3KXtvcmRlcjo0fS5lbGVtZW50b3ItcmV2ZXJzZS10YWJsZXRfZXh0cmE+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCg4KXtvcmRlcjozfS5lbGVtZW50b3ItcmV2ZXJzZS10YWJsZXRfZXh0cmE+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCg5KXtvcmRlcjoyfS5lbGVtZW50b3ItcmV2ZXJzZS10YWJsZXRfZXh0cmE+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCgxMCl7b3JkZXI6MX19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIGFuZCAobWF4LXdpZHRoOjEwMjRweCl7LmVsZW1lbnRvci1yZXZlcnNlLXRhYmxldD4uZWxlbWVudG9yLWNvbnRhaW5lcj46Zmlyc3QtY2hpbGR7b3JkZXI6MTB9LmVsZW1lbnRvci1yZXZlcnNlLXRhYmxldD4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDIpe29yZGVyOjl9LmVsZW1lbnRvci1yZXZlcnNlLXRhYmxldD4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDMpe29yZGVyOjh9LmVsZW1lbnRvci1yZXZlcnNlLXRhYmxldD4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDQpe29yZGVyOjd9LmVsZW1lbnRvci1yZXZlcnNlLXRhYmxldD4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDUpe29yZGVyOjZ9LmVsZW1lbnRvci1yZXZlcnNlLXRhYmxldD4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDYpe29yZGVyOjV9LmVsZW1lbnRvci1yZXZlcnNlLXRhYmxldD4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDcpe29yZGVyOjR9LmVsZW1lbnRvci1yZXZlcnNlLXRhYmxldD4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDgpe29yZGVyOjN9LmVsZW1lbnRvci1yZXZlcnNlLXRhYmxldD4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDkpe29yZGVyOjJ9LmVsZW1lbnRvci1yZXZlcnNlLXRhYmxldD4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDEwKXtvcmRlcjoxfX1AbWVkaWEgKG1pbi13aWR0aDotMSkgYW5kIChtYXgtd2lkdGg6MTAyNHB4KXsuZWxlbWVudG9yLXJldmVyc2UtdGFibGV0Pi5lbGVtZW50b3ItY29udGFpbmVyPjpmaXJzdC1jaGlsZHtvcmRlcjoxMH0uZWxlbWVudG9yLXJldmVyc2UtdGFibGV0Pi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoMil7b3JkZXI6OX0uZWxlbWVudG9yLXJldmVyc2UtdGFibGV0Pi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoMyl7b3JkZXI6OH0uZWxlbWVudG9yLXJldmVyc2UtdGFibGV0Pi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoNCl7b3JkZXI6N30uZWxlbWVudG9yLXJldmVyc2UtdGFibGV0Pi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoNSl7b3JkZXI6Nn0uZWxlbWVudG9yLXJldmVyc2UtdGFibGV0Pi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoNil7b3JkZXI6NX0uZWxlbWVudG9yLXJldmVyc2UtdGFibGV0Pi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoNyl7b3JkZXI6NH0uZWxlbWVudG9yLXJldmVyc2UtdGFibGV0Pi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoOCl7b3JkZXI6M30uZWxlbWVudG9yLXJldmVyc2UtdGFibGV0Pi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoOSl7b3JkZXI6Mn0uZWxlbWVudG9yLXJldmVyc2UtdGFibGV0Pi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoMTApe29yZGVyOjF9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSBhbmQgKG1heC13aWR0aDotMSl7LmVsZW1lbnRvci1yZXZlcnNlLXRhYmxldD4uZWxlbWVudG9yLWNvbnRhaW5lcj46Zmlyc3QtY2hpbGQsLmVsZW1lbnRvci1yZXZlcnNlLXRhYmxldD4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDEwKSwuZWxlbWVudG9yLXJldmVyc2UtdGFibGV0Pi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoMiksLmVsZW1lbnRvci1yZXZlcnNlLXRhYmxldD4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDMpLC5lbGVtZW50b3ItcmV2ZXJzZS10YWJsZXQ+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCg0KSwuZWxlbWVudG9yLXJldmVyc2UtdGFibGV0Pi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoNSksLmVsZW1lbnRvci1yZXZlcnNlLXRhYmxldD4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDYpLC5lbGVtZW50b3ItcmV2ZXJzZS10YWJsZXQ+LmVsZW1lbnRvci1jb250YWluZXI+Om50aC1jaGlsZCg3KSwuZWxlbWVudG9yLXJldmVyc2UtdGFibGV0Pi5lbGVtZW50b3ItY29udGFpbmVyPjpudGgtY2hpbGQoOCksLmVsZW1lbnRvci1yZXZlcnNlLXRhYmxldD4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDkpe29yZGVyOjB9LmVsZW1lbnRvci1yZXZlcnNlLW1vYmlsZV9leHRyYT4uZWxlbWVudG9yLWNvbnRhaW5lcj46Zmlyc3QtY2hpbGR7b3JkZXI6MTB9LmVsZW1lbnRvci1yZXZlcnNlLW1vYmlsZV9leHRyYT4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDIpe29yZGVyOjl9LmVsZW1lbnRvci1yZXZlcnNlLW1vYmlsZV9leHRyYT4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDMpe29yZGVyOjh9LmVsZW1lbnRvci1yZXZlcnNlLW1vYmlsZV9leHRyYT4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDQpe29yZGVyOjd9LmVsZW1lbnRvci1yZXZlcnNlLW1vYmlsZV9leHRyYT4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDUpe29yZGVyOjZ9LmVsZW1lbnRvci1yZXZlcnNlLW1vYmlsZV9leHRyYT4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDYpe29yZGVyOjV9LmVsZW1lbnRvci1yZXZlcnNlLW1vYmlsZV9leHRyYT4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDcpe29yZGVyOjR9LmVsZW1lbnRvci1yZXZlcnNlLW1vYmlsZV9leHRyYT4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDgpe29yZGVyOjN9LmVsZW1lbnRvci1yZXZlcnNlLW1vYmlsZV9leHRyYT4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDkpe29yZGVyOjJ9LmVsZW1lbnRvci1yZXZlcnNlLW1vYmlsZV9leHRyYT4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDEwKXtvcmRlcjoxfX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LmVsZW1lbnRvci1yZXZlcnNlLW1vYmlsZT4uZWxlbWVudG9yLWNvbnRhaW5lcj46Zmlyc3QtY2hpbGR7b3JkZXI6MTB9LmVsZW1lbnRvci1yZXZlcnNlLW1vYmlsZT4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDIpe29yZGVyOjl9LmVsZW1lbnRvci1yZXZlcnNlLW1vYmlsZT4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDMpe29yZGVyOjh9LmVsZW1lbnRvci1yZXZlcnNlLW1vYmlsZT4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDQpe29yZGVyOjd9LmVsZW1lbnRvci1yZXZlcnNlLW1vYmlsZT4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDUpe29yZGVyOjZ9LmVsZW1lbnRvci1yZXZlcnNlLW1vYmlsZT4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDYpe29yZGVyOjV9LmVsZW1lbnRvci1yZXZlcnNlLW1vYmlsZT4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDcpe29yZGVyOjR9LmVsZW1lbnRvci1yZXZlcnNlLW1vYmlsZT4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDgpe29yZGVyOjN9LmVsZW1lbnRvci1yZXZlcnNlLW1vYmlsZT4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDkpe29yZGVyOjJ9LmVsZW1lbnRvci1yZXZlcnNlLW1vYmlsZT4uZWxlbWVudG9yLWNvbnRhaW5lcj46bnRoLWNoaWxkKDEwKXtvcmRlcjoxfS5lbGVtZW50b3ItY29sdW1ue3dpZHRoOjEwMCV9fS5lbGVtZW50b3ItZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC1jb2x1bW4tZ2FwOnZhcigtLWdyaWQtY29sdW1uLWdhcCk7Z3JpZC1yb3ctZ2FwOnZhcigtLWdyaWQtcm93LWdhcCl9LmVsZW1lbnRvci1ncmlkIC5lbGVtZW50b3ItZ3JpZC1pdGVte21pbi13aWR0aDowfS5lbGVtZW50b3ItZ3JpZC0wIC5lbGVtZW50b3ItZ3JpZHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tYm90dG9tOmNhbGMoLTEgKiB2YXIoLS1ncmlkLXJvdy1nYXApKTt3aWR0aDoxMDAlO3dvcmQtc3BhY2luZzp2YXIoLS1ncmlkLWNvbHVtbi1nYXApfS5lbGVtZW50b3ItZ3JpZC0wIC5lbGVtZW50b3ItZ3JpZCAuZWxlbWVudG9yLWdyaWQtaXRlbXtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tYm90dG9tOnZhcigtLWdyaWQtcm93LWdhcCk7d29yZC1icmVhazpicmVhay13b3JkfS5lbGVtZW50b3ItZ3JpZC0xIC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDEsMWZyKX0uZWxlbWVudG9yLWdyaWQtMiAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLDFmcil9LmVsZW1lbnRvci1ncmlkLTMgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpfS5lbGVtZW50b3ItZ3JpZC00IC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsMWZyKX0uZWxlbWVudG9yLWdyaWQtNSAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg1LDFmcil9LmVsZW1lbnRvci1ncmlkLTYgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNiwxZnIpfS5lbGVtZW50b3ItZ3JpZC03IC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDcsMWZyKX0uZWxlbWVudG9yLWdyaWQtOCAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg4LDFmcil9LmVsZW1lbnRvci1ncmlkLTkgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoOSwxZnIpfS5lbGVtZW50b3ItZ3JpZC0xMCAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxMCwxZnIpfS5lbGVtZW50b3ItZ3JpZC0xMSAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxMSwxZnIpfS5lbGVtZW50b3ItZ3JpZC0xMiAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxMiwxZnIpfUBtZWRpYSAobWluLXdpZHRoOi0xKXsuZWxlbWVudG9yLWdyaWQtd2lkZXNjcmVlbi0wIC5lbGVtZW50b3ItZ3JpZHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tYm90dG9tOmNhbGMoLTEgKiB2YXIoLS1ncmlkLXJvdy1nYXApKTt3aWR0aDoxMDAlO3dvcmQtc3BhY2luZzp2YXIoLS1ncmlkLWNvbHVtbi1nYXApfS5lbGVtZW50b3ItZ3JpZC13aWRlc2NyZWVuLTAgLmVsZW1lbnRvci1ncmlkIC5lbGVtZW50b3ItZ3JpZC1pdGVte2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1ib3R0b206dmFyKC0tZ3JpZC1yb3ctZ2FwKTt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LmVsZW1lbnRvci1ncmlkLXdpZGVzY3JlZW4tMSAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxLDFmcil9LmVsZW1lbnRvci1ncmlkLXdpZGVzY3JlZW4tMiAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLDFmcil9LmVsZW1lbnRvci1ncmlkLXdpZGVzY3JlZW4tMyAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcil9LmVsZW1lbnRvci1ncmlkLXdpZGVzY3JlZW4tNCAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LDFmcil9LmVsZW1lbnRvci1ncmlkLXdpZGVzY3JlZW4tNSAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg1LDFmcil9LmVsZW1lbnRvci1ncmlkLXdpZGVzY3JlZW4tNiAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg2LDFmcil9LmVsZW1lbnRvci1ncmlkLXdpZGVzY3JlZW4tNyAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg3LDFmcil9LmVsZW1lbnRvci1ncmlkLXdpZGVzY3JlZW4tOCAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg4LDFmcil9LmVsZW1lbnRvci1ncmlkLXdpZGVzY3JlZW4tOSAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg5LDFmcil9LmVsZW1lbnRvci1ncmlkLXdpZGVzY3JlZW4tMTAgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMTAsMWZyKX0uZWxlbWVudG9yLWdyaWQtd2lkZXNjcmVlbi0xMSAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxMSwxZnIpfS5lbGVtZW50b3ItZ3JpZC13aWRlc2NyZWVuLTEyIC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDEyLDFmcil9fUBtZWRpYSAobWF4LXdpZHRoOi0xKXsuZWxlbWVudG9yLWdyaWQtbGFwdG9wLTAgLmVsZW1lbnRvci1ncmlke2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1ib3R0b206Y2FsYygtMSAqIHZhcigtLWdyaWQtcm93LWdhcCkpO3dpZHRoOjEwMCU7d29yZC1zcGFjaW5nOnZhcigtLWdyaWQtY29sdW1uLWdhcCl9LmVsZW1lbnRvci1ncmlkLWxhcHRvcC0wIC5lbGVtZW50b3ItZ3JpZCAuZWxlbWVudG9yLWdyaWQtaXRlbXtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tYm90dG9tOnZhcigtLWdyaWQtcm93LWdhcCk7d29yZC1icmVhazpicmVhay13b3JkfS5lbGVtZW50b3ItZ3JpZC1sYXB0b3AtMSAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxLDFmcil9LmVsZW1lbnRvci1ncmlkLWxhcHRvcC0yIC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKX0uZWxlbWVudG9yLWdyaWQtbGFwdG9wLTMgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpfS5lbGVtZW50b3ItZ3JpZC1sYXB0b3AtNCAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LDFmcil9LmVsZW1lbnRvci1ncmlkLWxhcHRvcC01IC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDUsMWZyKX0uZWxlbWVudG9yLWdyaWQtbGFwdG9wLTYgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNiwxZnIpfS5lbGVtZW50b3ItZ3JpZC1sYXB0b3AtNyAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg3LDFmcil9LmVsZW1lbnRvci1ncmlkLWxhcHRvcC04IC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDgsMWZyKX0uZWxlbWVudG9yLWdyaWQtbGFwdG9wLTkgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoOSwxZnIpfS5lbGVtZW50b3ItZ3JpZC1sYXB0b3AtMTAgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMTAsMWZyKX0uZWxlbWVudG9yLWdyaWQtbGFwdG9wLTExIC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDExLDFmcil9LmVsZW1lbnRvci1ncmlkLWxhcHRvcC0xMiAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxMiwxZnIpfS5lbGVtZW50b3ItZ3JpZC10YWJsZXRfZXh0cmEtMCAuZWxlbWVudG9yLWdyaWR7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWJvdHRvbTpjYWxjKC0xICogdmFyKC0tZ3JpZC1yb3ctZ2FwKSk7d2lkdGg6MTAwJTt3b3JkLXNwYWNpbmc6dmFyKC0tZ3JpZC1jb2x1bW4tZ2FwKX0uZWxlbWVudG9yLWdyaWQtdGFibGV0X2V4dHJhLTAgLmVsZW1lbnRvci1ncmlkIC5lbGVtZW50b3ItZ3JpZC1pdGVte2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1ib3R0b206dmFyKC0tZ3JpZC1yb3ctZ2FwKTt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LmVsZW1lbnRvci1ncmlkLXRhYmxldF9leHRyYS0xIC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDEsMWZyKX0uZWxlbWVudG9yLWdyaWQtdGFibGV0X2V4dHJhLTIgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMiwxZnIpfS5lbGVtZW50b3ItZ3JpZC10YWJsZXRfZXh0cmEtMyAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcil9LmVsZW1lbnRvci1ncmlkLXRhYmxldF9leHRyYS00IC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsMWZyKX0uZWxlbWVudG9yLWdyaWQtdGFibGV0X2V4dHJhLTUgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNSwxZnIpfS5lbGVtZW50b3ItZ3JpZC10YWJsZXRfZXh0cmEtNiAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg2LDFmcil9LmVsZW1lbnRvci1ncmlkLXRhYmxldF9leHRyYS03IC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDcsMWZyKX0uZWxlbWVudG9yLWdyaWQtdGFibGV0X2V4dHJhLTggLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoOCwxZnIpfS5lbGVtZW50b3ItZ3JpZC10YWJsZXRfZXh0cmEtOSAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg5LDFmcil9LmVsZW1lbnRvci1ncmlkLXRhYmxldF9leHRyYS0xMCAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxMCwxZnIpfS5lbGVtZW50b3ItZ3JpZC10YWJsZXRfZXh0cmEtMTEgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMTEsMWZyKX0uZWxlbWVudG9yLWdyaWQtdGFibGV0X2V4dHJhLTEyIC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDEyLDFmcil9fUBtZWRpYSAobWF4LXdpZHRoOjEwMjRweCl7LmVsZW1lbnRvci1ncmlkLXRhYmxldC0wIC5lbGVtZW50b3ItZ3JpZHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tYm90dG9tOmNhbGMoLTEgKiB2YXIoLS1ncmlkLXJvdy1nYXApKTt3aWR0aDoxMDAlO3dvcmQtc3BhY2luZzp2YXIoLS1ncmlkLWNvbHVtbi1nYXApfS5lbGVtZW50b3ItZ3JpZC10YWJsZXQtMCAuZWxlbWVudG9yLWdyaWQgLmVsZW1lbnRvci1ncmlkLWl0ZW17ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWJvdHRvbTp2YXIoLS1ncmlkLXJvdy1nYXApO3dvcmQtYnJlYWs6YnJlYWstd29yZH0uZWxlbWVudG9yLWdyaWQtdGFibGV0LTEgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMSwxZnIpfS5lbGVtZW50b3ItZ3JpZC10YWJsZXQtMiAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLDFmcil9LmVsZW1lbnRvci1ncmlkLXRhYmxldC0zIC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKX0uZWxlbWVudG9yLWdyaWQtdGFibGV0LTQgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpfS5lbGVtZW50b3ItZ3JpZC10YWJsZXQtNSAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg1LDFmcil9LmVsZW1lbnRvci1ncmlkLXRhYmxldC02IC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDYsMWZyKX0uZWxlbWVudG9yLWdyaWQtdGFibGV0LTcgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNywxZnIpfS5lbGVtZW50b3ItZ3JpZC10YWJsZXQtOCAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg4LDFmcil9LmVsZW1lbnRvci1ncmlkLXRhYmxldC05IC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDksMWZyKX0uZWxlbWVudG9yLWdyaWQtdGFibGV0LTEwIC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDEwLDFmcil9LmVsZW1lbnRvci1ncmlkLXRhYmxldC0xMSAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxMSwxZnIpfS5lbGVtZW50b3ItZ3JpZC10YWJsZXQtMTIgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMTIsMWZyKX19QG1lZGlhIChtYXgtd2lkdGg6LTEpey5lbGVtZW50b3ItZ3JpZC1tb2JpbGVfZXh0cmEtMCAuZWxlbWVudG9yLWdyaWR7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWJvdHRvbTpjYWxjKC0xICogdmFyKC0tZ3JpZC1yb3ctZ2FwKSk7d2lkdGg6MTAwJTt3b3JkLXNwYWNpbmc6dmFyKC0tZ3JpZC1jb2x1bW4tZ2FwKX0uZWxlbWVudG9yLWdyaWQtbW9iaWxlX2V4dHJhLTAgLmVsZW1lbnRvci1ncmlkIC5lbGVtZW50b3ItZ3JpZC1pdGVte2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1ib3R0b206dmFyKC0tZ3JpZC1yb3ctZ2FwKTt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LmVsZW1lbnRvci1ncmlkLW1vYmlsZV9leHRyYS0xIC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDEsMWZyKX0uZWxlbWVudG9yLWdyaWQtbW9iaWxlX2V4dHJhLTIgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMiwxZnIpfS5lbGVtZW50b3ItZ3JpZC1tb2JpbGVfZXh0cmEtMyAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcil9LmVsZW1lbnRvci1ncmlkLW1vYmlsZV9leHRyYS00IC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsMWZyKX0uZWxlbWVudG9yLWdyaWQtbW9iaWxlX2V4dHJhLTUgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNSwxZnIpfS5lbGVtZW50b3ItZ3JpZC1tb2JpbGVfZXh0cmEtNiAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg2LDFmcil9LmVsZW1lbnRvci1ncmlkLW1vYmlsZV9leHRyYS03IC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDcsMWZyKX0uZWxlbWVudG9yLWdyaWQtbW9iaWxlX2V4dHJhLTggLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoOCwxZnIpfS5lbGVtZW50b3ItZ3JpZC1tb2JpbGVfZXh0cmEtOSAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg5LDFmcil9LmVsZW1lbnRvci1ncmlkLW1vYmlsZV9leHRyYS0xMCAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxMCwxZnIpfS5lbGVtZW50b3ItZ3JpZC1tb2JpbGVfZXh0cmEtMTEgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMTEsMWZyKX0uZWxlbWVudG9yLWdyaWQtbW9iaWxlX2V4dHJhLTEyIC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDEyLDFmcil9fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsuZWxlbWVudG9yLWdyaWQtbW9iaWxlLTAgLmVsZW1lbnRvci1ncmlke2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1ib3R0b206Y2FsYygtMSAqIHZhcigtLWdyaWQtcm93LWdhcCkpO3dpZHRoOjEwMCU7d29yZC1zcGFjaW5nOnZhcigtLWdyaWQtY29sdW1uLWdhcCl9LmVsZW1lbnRvci1ncmlkLW1vYmlsZS0wIC5lbGVtZW50b3ItZ3JpZCAuZWxlbWVudG9yLWdyaWQtaXRlbXtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tYm90dG9tOnZhcigtLWdyaWQtcm93LWdhcCk7d29yZC1icmVhazpicmVhay13b3JkfS5lbGVtZW50b3ItZ3JpZC1tb2JpbGUtMSAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxLDFmcil9LmVsZW1lbnRvci1ncmlkLW1vYmlsZS0yIC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKX0uZWxlbWVudG9yLWdyaWQtbW9iaWxlLTMgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpfS5lbGVtZW50b3ItZ3JpZC1tb2JpbGUtNCAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LDFmcil9LmVsZW1lbnRvci1ncmlkLW1vYmlsZS01IC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDUsMWZyKX0uZWxlbWVudG9yLWdyaWQtbW9iaWxlLTYgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNiwxZnIpfS5lbGVtZW50b3ItZ3JpZC1tb2JpbGUtNyAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg3LDFmcil9LmVsZW1lbnRvci1ncmlkLW1vYmlsZS04IC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDgsMWZyKX0uZWxlbWVudG9yLWdyaWQtbW9iaWxlLTkgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoOSwxZnIpfS5lbGVtZW50b3ItZ3JpZC1tb2JpbGUtMTAgLmVsZW1lbnRvci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMTAsMWZyKX0uZWxlbWVudG9yLWdyaWQtbW9iaWxlLTExIC5lbGVtZW50b3ItZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDExLDFmcil9LmVsZW1lbnRvci1ncmlkLW1vYmlsZS0xMiAuZWxlbWVudG9yLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxMiwxZnIpfX1AbWVkaWEgKG1pbi13aWR0aDoxMDI1cHgpeyNlbGVtZW50b3ItZGV2aWNlLW1vZGU6YWZ0ZXJ7Y29udGVudDoiZGVza3RvcCJ9fUBtZWRpYSAobWluLXdpZHRoOi0xKXsjZWxlbWVudG9yLWRldmljZS1tb2RlOmFmdGVye2NvbnRlbnQ6IndpZGVzY3JlZW4ifX1AbWVkaWEgKG1heC13aWR0aDotMSl7I2VsZW1lbnRvci1kZXZpY2UtbW9kZTphZnRlcntjb250ZW50OiJsYXB0b3AiO2NvbnRlbnQ6InRhYmxldF9leHRyYSJ9fUBtZWRpYSAobWF4LXdpZHRoOjEwMjRweCl7I2VsZW1lbnRvci1kZXZpY2UtbW9kZTphZnRlcntjb250ZW50OiJ0YWJsZXQifX1AbWVkaWEgKG1heC13aWR0aDotMSl7I2VsZW1lbnRvci1kZXZpY2UtbW9kZTphZnRlcntjb250ZW50OiJtb2JpbGVfZXh0cmEifX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7I2VsZW1lbnRvci1kZXZpY2UtbW9kZTphZnRlcntjb250ZW50OiJtb2JpbGUifX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7aHRtbHtzY3JvbGwtYmVoYXZpb3I6c21vb3RofX0uZS1jb257LS1ib3JkZXItcmFkaXVzOjA7LS1ib3JkZXItdG9wLXdpZHRoOjBweDstLWJvcmRlci1yaWdodC13aWR0aDowcHg7LS1ib3JkZXItYm90dG9tLXdpZHRoOjBweDstLWJvcmRlci1sZWZ0LXdpZHRoOjBweDstLWJvcmRlci1zdHlsZTppbml0aWFsOy0tYm9yZGVyLWNvbG9yOmluaXRpYWw7LS1jb250YWluZXItd2lkZ2V0LXdpZHRoOjEwMCU7LS1jb250YWluZXItd2lkZ2V0LWhlaWdodDppbml0aWFsOy0tY29udGFpbmVyLXdpZGdldC1mbGV4LWdyb3c6MDstLWNvbnRhaW5lci13aWRnZXQtYWxpZ24tc2VsZjppbml0aWFsOy0tY29udGVudC13aWR0aDptaW4oMTAwJSx2YXIoLS1jb250YWluZXItbWF4LXdpZHRoLDExNDBweCkpOy0td2lkdGg6MTAwJTstLW1pbi1oZWlnaHQ6aW5pdGlhbDstLWhlaWdodDphdXRvOy0tdGV4dC1hbGlnbjppbml0aWFsOy0tbWFyZ2luLXRvcDowcHg7LS1tYXJnaW4tcmlnaHQ6MHB4Oy0tbWFyZ2luLWJvdHRvbTowcHg7LS1tYXJnaW4tbGVmdDowcHg7LS1wYWRkaW5nLXRvcDp2YXIoLS1jb250YWluZXItZGVmYXVsdC1wYWRkaW5nLXRvcCwxMHB4KTstLXBhZGRpbmctcmlnaHQ6dmFyKC0tY29udGFpbmVyLWRlZmF1bHQtcGFkZGluZy1yaWdodCwxMHB4KTstLXBhZGRpbmctYm90dG9tOnZhcigtLWNvbnRhaW5lci1kZWZhdWx0LXBhZGRpbmctYm90dG9tLDEwcHgpOy0tcGFkZGluZy1sZWZ0OnZhcigtLWNvbnRhaW5lci1kZWZhdWx0LXBhZGRpbmctbGVmdCwxMHB4KTstLXBvc2l0aW9uOnJlbGF0aXZlOy0tei1pbmRleDpyZXZlcnQ7LS1vdmVyZmxvdzp2aXNpYmxlOy0tZ2FwOnZhcigtLXdpZGdldHMtc3BhY2luZywyMHB4KTstLXJvdy1nYXA6dmFyKC0td2lkZ2V0cy1zcGFjaW5nLXJvdywyMHB4KTstLWNvbHVtbi1nYXA6dmFyKC0td2lkZ2V0cy1zcGFjaW5nLWNvbHVtbiwyMHB4KTstLW92ZXJsYXktbWl4LWJsZW5kLW1vZGU6aW5pdGlhbDstLW92ZXJsYXktb3BhY2l0eToxOy0tb3ZlcmxheS10cmFuc2l0aW9uOjAuM3M7LS1lLWNvbi1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTstLWUtY29uLWdyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoMiwxZnIpO2JvcmRlci1yYWRpdXM6dmFyKC0tYm9yZGVyLXJhZGl1cyk7aGVpZ2h0OnZhcigtLWhlaWdodCk7bWluLWhlaWdodDp2YXIoLS1taW4taGVpZ2h0KTttaW4td2lkdGg6MDtvdmVyZmxvdzp2YXIoLS1vdmVyZmxvdyk7cG9zaXRpb246dmFyKC0tcG9zaXRpb24pO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS1iYWNrZ3JvdW5kLXRyYW5zaXRpb24sLjNzKSxib3JkZXIgdmFyKC0tYm9yZGVyLXRyYW5zaXRpb24sLjNzKSxib3gtc2hhZG93IHZhcigtLWJvcmRlci10cmFuc2l0aW9uLC4zcyksdHJhbnNmb3JtIHZhcigtLWUtY29uLXRyYW5zZm9ybS10cmFuc2l0aW9uLWR1cmF0aW9uLC40cyk7d2lkdGg6dmFyKC0td2lkdGgpO3otaW5kZXg6dmFyKC0tei1pbmRleCk7LS1mbGV4LXdyYXAtbW9iaWxlOndyYXA7bWFyZ2luLWJsb2NrLWVuZDp2YXIoLS1tYXJnaW4tYmxvY2stZW5kKTttYXJnaW4tYmxvY2stc3RhcnQ6dmFyKC0tbWFyZ2luLWJsb2NrLXN0YXJ0KTttYXJnaW4taW5saW5lLWVuZDp2YXIoLS1tYXJnaW4taW5saW5lLWVuZCk7bWFyZ2luLWlubGluZS1zdGFydDp2YXIoLS1tYXJnaW4taW5saW5lLXN0YXJ0KTtwYWRkaW5nLWlubGluZS1lbmQ6dmFyKC0tcGFkZGluZy1pbmxpbmUtZW5kKTtwYWRkaW5nLWlubGluZS1zdGFydDp2YXIoLS1wYWRkaW5nLWlubGluZS1zdGFydCk7LS1tYXJnaW4tYmxvY2stc3RhcnQ6dmFyKC0tbWFyZ2luLXRvcCk7LS1tYXJnaW4tYmxvY2stZW5kOnZhcigtLW1hcmdpbi1ib3R0b20pOy0tbWFyZ2luLWlubGluZS1zdGFydDp2YXIoLS1tYXJnaW4tbGVmdCk7LS1tYXJnaW4taW5saW5lLWVuZDp2YXIoLS1tYXJnaW4tcmlnaHQpOy0tcGFkZGluZy1pbmxpbmUtc3RhcnQ6dmFyKC0tcGFkZGluZy1sZWZ0KTstLXBhZGRpbmctaW5saW5lLWVuZDp2YXIoLS1wYWRkaW5nLXJpZ2h0KTstLXBhZGRpbmctYmxvY2stc3RhcnQ6dmFyKC0tcGFkZGluZy10b3ApOy0tcGFkZGluZy1ibG9jay1lbmQ6dmFyKC0tcGFkZGluZy1ib3R0b20pOy0tYm9yZGVyLWJsb2NrLXN0YXJ0LXdpZHRoOnZhcigtLWJvcmRlci10b3Atd2lkdGgpOy0tYm9yZGVyLWJsb2NrLWVuZC13aWR0aDp2YXIoLS1ib3JkZXItYm90dG9tLXdpZHRoKTstLWJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6dmFyKC0tYm9yZGVyLWxlZnQtd2lkdGgpOy0tYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6dmFyKC0tYm9yZGVyLXJpZ2h0LXdpZHRoKX1ib2R5LnJ0bCAuZS1jb257LS1wYWRkaW5nLWlubGluZS1zdGFydDp2YXIoLS1wYWRkaW5nLXJpZ2h0KTstLXBhZGRpbmctaW5saW5lLWVuZDp2YXIoLS1wYWRkaW5nLWxlZnQpOy0tbWFyZ2luLWlubGluZS1zdGFydDp2YXIoLS1tYXJnaW4tcmlnaHQpOy0tbWFyZ2luLWlubGluZS1lbmQ6dmFyKC0tbWFyZ2luLWxlZnQpOy0tYm9yZGVyLWlubGluZS1zdGFydC13aWR0aDp2YXIoLS1ib3JkZXItcmlnaHQtd2lkdGgpOy0tYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6dmFyKC0tYm9yZGVyLWxlZnQtd2lkdGgpfS5lLWNvbi5lLWZsZXh7LS1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LS1mbGV4LWJhc2lzOmF1dG87LS1mbGV4LWdyb3c6MDstLWZsZXgtc2hyaW5rOjE7ZmxleDp2YXIoLS1mbGV4LWdyb3cpIHZhcigtLWZsZXgtc2hyaW5rKSB2YXIoLS1mbGV4LWJhc2lzKX0uZS1jb24tZnVsbCwuZS1jb24+LmUtY29uLWlubmVye3BhZGRpbmctYmxvY2stZW5kOnZhcigtLXBhZGRpbmctYmxvY2stZW5kKTtwYWRkaW5nLWJsb2NrLXN0YXJ0OnZhcigtLXBhZGRpbmctYmxvY2stc3RhcnQpO3RleHQtYWxpZ246dmFyKC0tdGV4dC1hbGlnbil9LmUtY29uLWZ1bGwuZS1mbGV4LC5lLWNvbi5lLWZsZXg+LmUtY29uLWlubmVye2ZsZXgtZGlyZWN0aW9uOnZhcigtLWZsZXgtZGlyZWN0aW9uKX0uZS1jb24sLmUtY29uPi5lLWNvbi1pbm5lcntkaXNwbGF5OnZhcigtLWRpc3BsYXkpfS5lLWNvbi5lLWdyaWR7LS1ncmlkLWp1c3RpZnktY29udGVudDpzdGFydDstLWdyaWQtYWxpZ24tY29udGVudDpzdGFydDstLWdyaWQtYXV0by1mbG93OnJvd30uZS1jb24uZS1ncmlkLC5lLWNvbi5lLWdyaWQ+LmUtY29uLWlubmVye2FsaWduLWNvbnRlbnQ6dmFyKC0tZ3JpZC1hbGlnbi1jb250ZW50KTthbGlnbi1pdGVtczp2YXIoLS1hbGlnbi1pdGVtcyk7Z3JpZC1hdXRvLWZsb3c6dmFyKC0tZ3JpZC1hdXRvLWZsb3cpO2dyaWQtdGVtcGxhdGUtY29sdW1uczp2YXIoLS1lLWNvbi1ncmlkLXRlbXBsYXRlLWNvbHVtbnMpO2dyaWQtdGVtcGxhdGUtcm93czp2YXIoLS1lLWNvbi1ncmlkLXRlbXBsYXRlLXJvd3MpO2p1c3RpZnktY29udGVudDp2YXIoLS1ncmlkLWp1c3RpZnktY29udGVudCk7anVzdGlmeS1pdGVtczp2YXIoLS1qdXN0aWZ5LWl0ZW1zKX0uZS1jb24tYm94ZWQuZS1mbGV4e2FsaWduLWNvbnRlbnQ6bm9ybWFsO2FsaWduLWl0ZW1zOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC13cmFwOm5vd3JhcDtqdXN0aWZ5LWNvbnRlbnQ6bm9ybWFsfS5lLWNvbi1ib3hlZC5lLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtncmlkLXRlbXBsYXRlLXJvd3M6MWZyO2p1c3RpZnktaXRlbXM6bGVnYWN5fS5lLWNvbi1ib3hlZHtnYXA6aW5pdGlhbDt0ZXh0LWFsaWduOmluaXRpYWx9LmUtY29uLmUtZmxleD4uZS1jb24taW5uZXJ7YWxpZ24tY29udGVudDp2YXIoLS1hbGlnbi1jb250ZW50KTthbGlnbi1pdGVtczp2YXIoLS1hbGlnbi1pdGVtcyk7YWxpZ24tc2VsZjphdXRvO2ZsZXgtYmFzaXM6YXV0bztmbGV4LWdyb3c6MTtmbGV4LXNocmluazoxO2ZsZXgtd3JhcDp2YXIoLS1mbGV4LXdyYXApO2p1c3RpZnktY29udGVudDp2YXIoLS1qdXN0aWZ5LWNvbnRlbnQpfS5lLWNvbi5lLWdyaWQ+LmUtY29uLWlubmVye2FsaWduLWl0ZW1zOnZhcigtLWFsaWduLWl0ZW1zKTtqdXN0aWZ5LWl0ZW1zOnZhcigtLWp1c3RpZnktaXRlbXMpfS5lLWNvbj4uZS1jb24taW5uZXJ7Z2FwOnZhcigtLXJvdy1nYXApIHZhcigtLWNvbHVtbi1nYXApO2hlaWdodDoxMDAlO21hcmdpbjowIGF1dG87bWF4LXdpZHRoOnZhcigtLWNvbnRlbnQtd2lkdGgpO3BhZGRpbmctaW5saW5lLWVuZDowO3BhZGRpbmctaW5saW5lLXN0YXJ0OjA7d2lkdGg6MTAwJX06aXMoLmVsZW1lbnRvci1zZWN0aW9uLXdyYXAsW2RhdGEtZWxlbWVudG9yLWlkXSk+LmUtY29uey0tbWFyZ2luLWxlZnQ6YXV0bzstLW1hcmdpbi1yaWdodDphdXRvO21heC13aWR0aDptaW4oMTAwJSx2YXIoLS13aWR0aCkpfS5lLWNvbiAuZWxlbWVudG9yLXdpZGdldC5lbGVtZW50b3Itd2lkZ2V0e21hcmdpbi1ibG9jay1lbmQ6MH0uZS1jb246YmVmb3JlLC5lLWNvbj4uZWxlbWVudG9yLWJhY2tncm91bmQtc2xpZGVzaG93OmJlZm9yZSwuZS1jb24+LmVsZW1lbnRvci1tb3Rpb24tZWZmZWN0cy1jb250YWluZXI+LmVsZW1lbnRvci1tb3Rpb24tZWZmZWN0cy1sYXllcjpiZWZvcmUsOmlzKC5lLWNvbiwuZS1jb24+LmUtY29uLWlubmVyKT4uZWxlbWVudG9yLWJhY2tncm91bmQtdmlkZW8tY29udGFpbmVyOmJlZm9yZXtib3JkZXItYmxvY2stZW5kLXdpZHRoOnZhcigtLWJvcmRlci1ibG9jay1lbmQtd2lkdGgpO2JvcmRlci1ibG9jay1zdGFydC13aWR0aDp2YXIoLS1ib3JkZXItYmxvY2stc3RhcnQtd2lkdGgpO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItY29sb3IpO2JvcmRlci1pbmxpbmUtZW5kLXdpZHRoOnZhcigtLWJvcmRlci1pbmxpbmUtZW5kLXdpZHRoKTtib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOnZhcigtLWJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGgpO2JvcmRlci1yYWRpdXM6dmFyKC0tYm9yZGVyLXJhZGl1cyk7Ym9yZGVyLXN0eWxlOnZhcigtLWJvcmRlci1zdHlsZSk7Y29udGVudDp2YXIoLS1iYWNrZ3JvdW5kLW92ZXJsYXkpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0Om1heCgxMDAlICsgdmFyKC0tYm9yZGVyLXRvcC13aWR0aCkgKyB2YXIoLS1ib3JkZXItYm90dG9tLXdpZHRoKSwxMDAlKTtsZWZ0OmNhbGMoMHB4IC0gdmFyKC0tYm9yZGVyLWxlZnQtd2lkdGgpKTttaXgtYmxlbmQtbW9kZTp2YXIoLS1vdmVybGF5LW1peC1ibGVuZC1tb2RlKTtvcGFjaXR5OnZhcigtLW92ZXJsYXktb3BhY2l0eSk7cG9zaXRpb246YWJzb2x1dGU7dG9wOmNhbGMoMHB4IC0gdmFyKC0tYm9yZGVyLXRvcC13aWR0aCkpO3RyYW5zaXRpb246dmFyKC0tb3ZlcmxheS10cmFuc2l0aW9uLC4zcyk7d2lkdGg6bWF4KDEwMCUgKyB2YXIoLS1ib3JkZXItbGVmdC13aWR0aCkgKyB2YXIoLS1ib3JkZXItcmlnaHQtd2lkdGgpLDEwMCUpfS5lLWNvbjpiZWZvcmV7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLW92ZXJsYXktdHJhbnNpdGlvbiwuM3MpLGJvcmRlci1yYWRpdXMgdmFyKC0tYm9yZGVyLXRyYW5zaXRpb24sLjNzKSxvcGFjaXR5IHZhcigtLW92ZXJsYXktdHJhbnNpdGlvbiwuM3MpfS5lLWNvbj4uZWxlbWVudG9yLWJhY2tncm91bmQtc2xpZGVzaG93LDppcyguZS1jb24sLmUtY29uPi5lLWNvbi1pbm5lcik+LmVsZW1lbnRvci1iYWNrZ3JvdW5kLXZpZGVvLWNvbnRhaW5lcntib3JkZXItYmxvY2stZW5kLXdpZHRoOnZhcigtLWJvcmRlci1ibG9jay1lbmQtd2lkdGgpO2JvcmRlci1ibG9jay1zdGFydC13aWR0aDp2YXIoLS1ib3JkZXItYmxvY2stc3RhcnQtd2lkdGgpO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItY29sb3IpO2JvcmRlci1pbmxpbmUtZW5kLXdpZHRoOnZhcigtLWJvcmRlci1pbmxpbmUtZW5kLXdpZHRoKTtib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOnZhcigtLWJvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGgpO2JvcmRlci1yYWRpdXM6dmFyKC0tYm9yZGVyLXJhZGl1cyk7Ym9yZGVyLXN0eWxlOnZhcigtLWJvcmRlci1zdHlsZSk7aGVpZ2h0Om1heCgxMDAlICsgdmFyKC0tYm9yZGVyLXRvcC13aWR0aCkgKyB2YXIoLS1ib3JkZXItYm90dG9tLXdpZHRoKSwxMDAlKTtsZWZ0OmNhbGMoMHB4IC0gdmFyKC0tYm9yZGVyLWxlZnQtd2lkdGgpKTt0b3A6Y2FsYygwcHggLSB2YXIoLS1ib3JkZXItdG9wLXdpZHRoKSk7d2lkdGg6bWF4KDEwMCUgKyB2YXIoLS1ib3JkZXItbGVmdC13aWR0aCkgKyB2YXIoLS1ib3JkZXItcmlnaHQtd2lkdGgpLDEwMCUpfUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXs6aXMoLmUtY29uLC5lLWNvbj4uZS1jb24taW5uZXIpPi5lbGVtZW50b3ItYmFja2dyb3VuZC12aWRlby1jb250YWluZXIuZWxlbWVudG9yLWhpZGRlbi1tb2JpbGV7ZGlzcGxheTpub25lfX06aXMoLmUtY29uLC5lLWNvbj4uZS1jb24taW5uZXIpPi5lbGVtZW50b3ItYmFja2dyb3VuZC12aWRlby1jb250YWluZXI6YmVmb3Jle3otaW5kZXg6MX06aXMoLmUtY29uLC5lLWNvbj4uZS1jb24taW5uZXIpPi5lbGVtZW50b3ItYmFja2dyb3VuZC1zbGlkZXNob3c6YmVmb3Jle3otaW5kZXg6Mn0uZS1jb24gLmVsZW1lbnRvci13aWRnZXR7bWluLXdpZHRoOjB9LmUtY29uIC5lbGVtZW50b3Itd2lkZ2V0LWVtcHR5LC5lLWNvbiAuZWxlbWVudG9yLXdpZGdldC1nb29nbGVfbWFwcywuZS1jb24gLmVsZW1lbnRvci13aWRnZXQtdmlkZW8sLmUtY29uIC5lbGVtZW50b3Itd2lkZ2V0LmUtd2lkZ2V0LXN3aXBlcnt3aWR0aDoxMDAlfS5lLWNvbj4uZS1jb24taW5uZXI+LmVsZW1lbnRvci13aWRnZXQ+LmVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyLC5lLWNvbj4uZWxlbWVudG9yLXdpZGdldD4uZWxlbWVudG9yLXdpZGdldC1jb250YWluZXJ7aGVpZ2h0OjEwMCV9LmUtY29uLmUtY29uPi5lLWNvbi1pbm5lcj4uZWxlbWVudG9yLXdpZGdldCwuZWxlbWVudG9yLmVsZW1lbnRvciAuZS1jb24+LmVsZW1lbnRvci13aWRnZXR7bWF4LXdpZHRoOjEwMCV9LmUtY29uIC5lbGVtZW50b3Itd2lkZ2V0Om5vdCg6bGFzdC1jaGlsZCl7LS1raXQtd2lkZ2V0LXNwYWNpbmc6MHB4fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsuZS1jb24uZS1mbGV4ey0td2lkdGg6MTAwJTstLWZsZXgtd3JhcDp2YXIoLS1mbGV4LXdyYXAtbW9iaWxlKX0uZS1jb24uZS1mbGV4IC5lbGVtZW50b3Itd2lkZ2V0LWFyY2hpdmUtcG9zdHN7d2lkdGg6MTAwJX19LmVsZW1lbnRvci1mb3JtLWZpZWxkcy13cmFwcGVye2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcH0uZWxlbWVudG9yLWZvcm0tZmllbGRzLXdyYXBwZXIuZWxlbWVudG9yLWxhYmVscy1hYm92ZSAuZWxlbWVudG9yLWZpZWxkLWdyb3VwIC5lbGVtZW50b3ItZmllbGQtc3ViZ3JvdXAsLmVsZW1lbnRvci1mb3JtLWZpZWxkcy13cmFwcGVyLmVsZW1lbnRvci1sYWJlbHMtYWJvdmUgLmVsZW1lbnRvci1maWVsZC1ncm91cD4uZWxlbWVudG9yLXNlbGVjdC13cmFwcGVyLC5lbGVtZW50b3ItZm9ybS1maWVsZHMtd3JhcHBlci5lbGVtZW50b3ItbGFiZWxzLWFib3ZlIC5lbGVtZW50b3ItZmllbGQtZ3JvdXA+aW5wdXQsLmVsZW1lbnRvci1mb3JtLWZpZWxkcy13cmFwcGVyLmVsZW1lbnRvci1sYWJlbHMtYWJvdmUgLmVsZW1lbnRvci1maWVsZC1ncm91cD50ZXh0YXJlYXtmbGV4LWJhc2lzOjEwMCU7bWF4LXdpZHRoOjEwMCV9LmVsZW1lbnRvci1mb3JtLWZpZWxkcy13cmFwcGVyLmVsZW1lbnRvci1sYWJlbHMtaW5saW5lPi5lbGVtZW50b3ItZmllbGQtZ3JvdXAgLmVsZW1lbnRvci1zZWxlY3Qtd3JhcHBlciwuZWxlbWVudG9yLWZvcm0tZmllbGRzLXdyYXBwZXIuZWxlbWVudG9yLWxhYmVscy1pbmxpbmU+LmVsZW1lbnRvci1maWVsZC1ncm91cD5pbnB1dHtmbGV4LWdyb3c6MX0uZWxlbWVudG9yLWZpZWxkLWdyb3Vwe2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4LXdyYXA6d3JhcH0uZWxlbWVudG9yLWZpZWxkLWdyb3VwLmVsZW1lbnRvci1maWVsZC10eXBlLXN1Ym1pdHthbGlnbi1pdGVtczpmbGV4LWVuZH0uZWxlbWVudG9yLWZpZWxkLWdyb3VwIC5lbGVtZW50b3ItZmllbGQtdGV4dHVhbHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjoxcHggc29saWQgIzY5NzI3ZDtjb2xvcjojMWYyMTI0O2ZsZXgtZ3JvdzoxO21heC13aWR0aDoxMDAlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoxMDAlfS5lbGVtZW50b3ItZmllbGQtZ3JvdXAgLmVsZW1lbnRvci1maWVsZC10ZXh0dWFsOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMCwwLDAsLjEpO291dGxpbmU6MH0uZWxlbWVudG9yLWZpZWxkLWdyb3VwIC5lbGVtZW50b3ItZmllbGQtdGV4dHVhbDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjppbmhlcml0O2ZvbnQtZmFtaWx5OmluaGVyaXQ7b3BhY2l0eTouNn0uZWxlbWVudG9yLWZpZWxkLWdyb3VwIC5lbGVtZW50b3ItZmllbGQtdGV4dHVhbDo6cGxhY2Vob2xkZXJ7Y29sb3I6aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O29wYWNpdHk6LjZ9LmVsZW1lbnRvci1maWVsZC1ncm91cCAuZWxlbWVudG9yLXNlbGVjdC13cmFwcGVye2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5lbGVtZW50b3ItZmllbGQtZ3JvdXAgLmVsZW1lbnRvci1zZWxlY3Qtd3JhcHBlciBzZWxlY3R7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2NvbG9yOmluaGVyaXQ7ZmxleC1iYXNpczoxMDAlO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC1zdHlsZTppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGV0dGVyLXNwYWNpbmc6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O3BhZGRpbmctaW5saW5lLWVuZDoyMHB4O3RleHQtdHJhbnNmb3JtOmluaGVyaXR9LmVsZW1lbnRvci1maWVsZC1ncm91cCAuZWxlbWVudG9yLXNlbGVjdC13cmFwcGVyOmJlZm9yZXtjb250ZW50OiJcZTkyYSI7Zm9udC1mYW1pbHk6ZWljb25zO2ZvbnQtc2l6ZToxNXB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTBweDt0ZXh0LXNoYWRvdzowIDAgM3B4IHJnYmEoMCwwLDAsLjMpO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9LmVsZW1lbnRvci1maWVsZC1ncm91cC5lbGVtZW50b3ItZmllbGQtdHlwZS1zZWxlY3QtbXVsdGlwbGUgLmVsZW1lbnRvci1zZWxlY3Qtd3JhcHBlcjpiZWZvcmV7Y29udGVudDoiIn0uZWxlbWVudG9yLWZpZWxkLXN1Ymdyb3Vwe2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcH0uZWxlbWVudG9yLWZpZWxkLXN1Ymdyb3VwIC5lbGVtZW50b3ItZmllbGQtb3B0aW9uIGxhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5lbGVtZW50b3ItZmllbGQtc3ViZ3JvdXAuZWxlbWVudG9yLXN1Ymdyb3VwLWlubGluZSAuZWxlbWVudG9yLWZpZWxkLW9wdGlvbntwYWRkaW5nLWlubGluZS1lbmQ6MTBweH0uZWxlbWVudG9yLWZpZWxkLXN1Ymdyb3VwOm5vdCguZWxlbWVudG9yLXN1Ymdyb3VwLWlubGluZSkgLmVsZW1lbnRvci1maWVsZC1vcHRpb257ZmxleC1iYXNpczoxMDAlfS5lbGVtZW50b3ItZmllbGQtdHlwZS1hY2NlcHRhbmNlIC5lbGVtZW50b3ItZmllbGQtc3ViZ3JvdXAgLmVsZW1lbnRvci1maWVsZC1vcHRpb24gaW5wdXQsLmVsZW1lbnRvci1maWVsZC10eXBlLWFjY2VwdGFuY2UgLmVsZW1lbnRvci1maWVsZC1zdWJncm91cCAuZWxlbWVudG9yLWZpZWxkLW9wdGlvbiBsYWJlbCwuZWxlbWVudG9yLWZpZWxkLXR5cGUtY2hlY2tib3ggLmVsZW1lbnRvci1maWVsZC1zdWJncm91cCAuZWxlbWVudG9yLWZpZWxkLW9wdGlvbiBpbnB1dCwuZWxlbWVudG9yLWZpZWxkLXR5cGUtY2hlY2tib3ggLmVsZW1lbnRvci1maWVsZC1zdWJncm91cCAuZWxlbWVudG9yLWZpZWxkLW9wdGlvbiBsYWJlbCwuZWxlbWVudG9yLWZpZWxkLXR5cGUtcmFkaW8gLmVsZW1lbnRvci1maWVsZC1zdWJncm91cCAuZWxlbWVudG9yLWZpZWxkLW9wdGlvbiBpbnB1dCwuZWxlbWVudG9yLWZpZWxkLXR5cGUtcmFkaW8gLmVsZW1lbnRvci1maWVsZC1zdWJncm91cCAuZWxlbWVudG9yLWZpZWxkLW9wdGlvbiBsYWJlbHtkaXNwbGF5OmlubGluZX0uZWxlbWVudG9yLWZpZWxkLWxhYmVse2N1cnNvcjpwb2ludGVyfS5lbGVtZW50b3ItbWFyay1yZXF1aXJlZCAuZWxlbWVudG9yLWZpZWxkLWxhYmVsOmFmdGVye2NvbG9yOnJlZDtjb250ZW50OiIqIjtwYWRkaW5nLWlubGluZS1zdGFydDouMmVtfS5lbGVtZW50b3ItZmllbGQtdGV4dHVhbHtib3JkZXItcmFkaXVzOjNweDtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxLjQ7bWluLWhlaWdodDo0MHB4O3BhZGRpbmc6NXB4IDE0cHh9LmVsZW1lbnRvci1maWVsZC10ZXh0dWFsLmVsZW1lbnRvci1zaXplLXhze2JvcmRlci1yYWRpdXM6MnB4O2ZvbnQtc2l6ZToxM3B4O21pbi1oZWlnaHQ6MzNweDtwYWRkaW5nOjRweCAxMnB4fS5lbGVtZW50b3ItZmllbGQtdGV4dHVhbC5lbGVtZW50b3Itc2l6ZS1tZHtib3JkZXItcmFkaXVzOjRweDtmb250LXNpemU6MTZweDttaW4taGVpZ2h0OjQ3cHg7cGFkZGluZzo2cHggMTZweH0uZWxlbWVudG9yLWZpZWxkLXRleHR1YWwuZWxlbWVudG9yLXNpemUtbGd7Ym9yZGVyLXJhZGl1czo1cHg7Zm9udC1zaXplOjE4cHg7bWluLWhlaWdodDo1OXB4O3BhZGRpbmc6N3B4IDIwcHh9LmVsZW1lbnRvci1maWVsZC10ZXh0dWFsLmVsZW1lbnRvci1zaXplLXhse2JvcmRlci1yYWRpdXM6NnB4O2ZvbnQtc2l6ZToyMHB4O21pbi1oZWlnaHQ6NzJweDtwYWRkaW5nOjhweCAyNHB4fS5lbGVtZW50b3ItYnV0dG9uLWFsaWduLXN0cmV0Y2ggLmVsZW1lbnRvci1maWVsZC10eXBlLXN1Ym1pdDpub3QoLmUtZm9ybV9fYnV0dG9uc19fd3JhcHBlcikgLmVsZW1lbnRvci1idXR0b257ZmxleC1iYXNpczoxMDAlfS5lbGVtZW50b3ItYnV0dG9uLWFsaWduLXN0cmV0Y2ggLmUtZm9ybV9fYnV0dG9uc19fd3JhcHBlcntmbGV4LWJhc2lzOjUwJTtmbGV4LWdyb3c6MX0uZWxlbWVudG9yLWJ1dHRvbi1hbGlnbi1zdHJldGNoIC5lLWZvcm1fX2J1dHRvbnNfX3dyYXBwZXJfX2J1dHRvbntmbGV4LWJhc2lzOjEwMCV9LmVsZW1lbnRvci1idXR0b24tYWxpZ24tY2VudGVyIC5lLWZvcm1fX2J1dHRvbnMsLmVsZW1lbnRvci1idXR0b24tYWxpZ24tY2VudGVyIC5lbGVtZW50b3ItZmllbGQtdHlwZS1zdWJtaXR7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uZWxlbWVudG9yLWJ1dHRvbi1hbGlnbi1zdGFydCAuZS1mb3JtX19idXR0b25zLC5lbGVtZW50b3ItYnV0dG9uLWFsaWduLXN0YXJ0IC5lbGVtZW50b3ItZmllbGQtdHlwZS1zdWJtaXR7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LmVsZW1lbnRvci1idXR0b24tYWxpZ24tZW5kIC5lLWZvcm1fX2J1dHRvbnMsLmVsZW1lbnRvci1idXR0b24tYWxpZ24tZW5kIC5lbGVtZW50b3ItZmllbGQtdHlwZS1zdWJtaXR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5lbGVtZW50b3ItYnV0dG9uLWFsaWduLWNlbnRlciAuZWxlbWVudG9yLWZpZWxkLXR5cGUtc3VibWl0Om5vdCguZS1mb3JtX19idXR0b25zX193cmFwcGVyKSAuZWxlbWVudG9yLWJ1dHRvbiwuZWxlbWVudG9yLWJ1dHRvbi1hbGlnbi1lbmQgLmVsZW1lbnRvci1maWVsZC10eXBlLXN1Ym1pdDpub3QoLmUtZm9ybV9fYnV0dG9uc19fd3JhcHBlcikgLmVsZW1lbnRvci1idXR0b24sLmVsZW1lbnRvci1idXR0b24tYWxpZ24tc3RhcnQgLmVsZW1lbnRvci1maWVsZC10eXBlLXN1Ym1pdDpub3QoLmUtZm9ybV9fYnV0dG9uc19fd3JhcHBlcikgLmVsZW1lbnRvci1idXR0b257ZmxleC1iYXNpczphdXRvfS5lbGVtZW50b3ItYnV0dG9uLWFsaWduLWNlbnRlciAuZS1mb3JtX19idXR0b25zX193cmFwcGVyLC5lbGVtZW50b3ItYnV0dG9uLWFsaWduLWVuZCAuZS1mb3JtX19idXR0b25zX193cmFwcGVyLC5lbGVtZW50b3ItYnV0dG9uLWFsaWduLXN0YXJ0IC5lLWZvcm1fX2J1dHRvbnNfX3dyYXBwZXJ7ZmxleC1ncm93OjB9LmVsZW1lbnRvci1idXR0b24tYWxpZ24tY2VudGVyIC5lLWZvcm1fX2J1dHRvbnNfX3dyYXBwZXIsLmVsZW1lbnRvci1idXR0b24tYWxpZ24tY2VudGVyIC5lLWZvcm1fX2J1dHRvbnNfX3dyYXBwZXJfX2J1dHRvbiwuZWxlbWVudG9yLWJ1dHRvbi1hbGlnbi1lbmQgLmUtZm9ybV9fYnV0dG9uc19fd3JhcHBlciwuZWxlbWVudG9yLWJ1dHRvbi1hbGlnbi1lbmQgLmUtZm9ybV9fYnV0dG9uc19fd3JhcHBlcl9fYnV0dG9uLC5lbGVtZW50b3ItYnV0dG9uLWFsaWduLXN0YXJ0IC5lLWZvcm1fX2J1dHRvbnNfX3dyYXBwZXIsLmVsZW1lbnRvci1idXR0b24tYWxpZ24tc3RhcnQgLmUtZm9ybV9fYnV0dG9uc19fd3JhcHBlcl9fYnV0dG9ue2ZsZXgtYmFzaXM6YXV0b31AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEwMjRweCl7LmVsZW1lbnRvci10YWJsZXQtYnV0dG9uLWFsaWduLXN0cmV0Y2ggLmVsZW1lbnRvci1maWVsZC10eXBlLXN1Ym1pdDpub3QoLmUtZm9ybV9fYnV0dG9uc19fd3JhcHBlcikgLmVsZW1lbnRvci1idXR0b257ZmxleC1iYXNpczoxMDAlfS5lbGVtZW50b3ItdGFibGV0LWJ1dHRvbi1hbGlnbi1zdHJldGNoIC5lLWZvcm1fX2J1dHRvbnNfX3dyYXBwZXJ7ZmxleC1iYXNpczo1MCU7ZmxleC1ncm93OjF9LmVsZW1lbnRvci10YWJsZXQtYnV0dG9uLWFsaWduLXN0cmV0Y2ggLmUtZm9ybV9fYnV0dG9uc19fd3JhcHBlcl9fYnV0dG9ue2ZsZXgtYmFzaXM6MTAwJX0uZWxlbWVudG9yLXRhYmxldC1idXR0b24tYWxpZ24tY2VudGVyIC5lLWZvcm1fX2J1dHRvbnMsLmVsZW1lbnRvci10YWJsZXQtYnV0dG9uLWFsaWduLWNlbnRlciAuZWxlbWVudG9yLWZpZWxkLXR5cGUtc3VibWl0e2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmVsZW1lbnRvci10YWJsZXQtYnV0dG9uLWFsaWduLXN0YXJ0IC5lLWZvcm1fX2J1dHRvbnMsLmVsZW1lbnRvci10YWJsZXQtYnV0dG9uLWFsaWduLXN0YXJ0IC5lbGVtZW50b3ItZmllbGQtdHlwZS1zdWJtaXR7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LmVsZW1lbnRvci10YWJsZXQtYnV0dG9uLWFsaWduLWVuZCAuZS1mb3JtX19idXR0b25zLC5lbGVtZW50b3ItdGFibGV0LWJ1dHRvbi1hbGlnbi1lbmQgLmVsZW1lbnRvci1maWVsZC10eXBlLXN1Ym1pdHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmVsZW1lbnRvci10YWJsZXQtYnV0dG9uLWFsaWduLWNlbnRlciAuZWxlbWVudG9yLWZpZWxkLXR5cGUtc3VibWl0Om5vdCguZS1mb3JtX19idXR0b25zX193cmFwcGVyKSAuZWxlbWVudG9yLWJ1dHRvbiwuZWxlbWVudG9yLXRhYmxldC1idXR0b24tYWxpZ24tZW5kIC5lbGVtZW50b3ItZmllbGQtdHlwZS1zdWJtaXQ6bm90KC5lLWZvcm1fX2J1dHRvbnNfX3dyYXBwZXIpIC5lbGVtZW50b3ItYnV0dG9uLC5lbGVtZW50b3ItdGFibGV0LWJ1dHRvbi1hbGlnbi1zdGFydCAuZWxlbWVudG9yLWZpZWxkLXR5cGUtc3VibWl0Om5vdCguZS1mb3JtX19idXR0b25zX193cmFwcGVyKSAuZWxlbWVudG9yLWJ1dHRvbntmbGV4LWJhc2lzOmF1dG99LmVsZW1lbnRvci10YWJsZXQtYnV0dG9uLWFsaWduLWNlbnRlciAuZS1mb3JtX19idXR0b25zX193cmFwcGVyLC5lbGVtZW50b3ItdGFibGV0LWJ1dHRvbi1hbGlnbi1lbmQgLmUtZm9ybV9fYnV0dG9uc19fd3JhcHBlciwuZWxlbWVudG9yLXRhYmxldC1idXR0b24tYWxpZ24tc3RhcnQgLmUtZm9ybV9fYnV0dG9uc19fd3JhcHBlcntmbGV4LWdyb3c6MH0uZWxlbWVudG9yLXRhYmxldC1idXR0b24tYWxpZ24tY2VudGVyIC5lLWZvcm1fX2J1dHRvbnNfX3dyYXBwZXIsLmVsZW1lbnRvci10YWJsZXQtYnV0dG9uLWFsaWduLWNlbnRlciAuZS1mb3JtX19idXR0b25zX193cmFwcGVyX19idXR0b24sLmVsZW1lbnRvci10YWJsZXQtYnV0dG9uLWFsaWduLWVuZCAuZS1mb3JtX19idXR0b25zX193cmFwcGVyLC5lbGVtZW50b3ItdGFibGV0LWJ1dHRvbi1hbGlnbi1lbmQgLmUtZm9ybV9fYnV0dG9uc19fd3JhcHBlcl9fYnV0dG9uLC5lbGVtZW50b3ItdGFibGV0LWJ1dHRvbi1hbGlnbi1zdGFydCAuZS1mb3JtX19idXR0b25zX193cmFwcGVyLC5lbGVtZW50b3ItdGFibGV0LWJ1dHRvbi1hbGlnbi1zdGFydCAuZS1mb3JtX19idXR0b25zX193cmFwcGVyX19idXR0b257ZmxleC1iYXNpczphdXRvfX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KXsuZWxlbWVudG9yLW1vYmlsZS1idXR0b24tYWxpZ24tc3RyZXRjaCAuZWxlbWVudG9yLWZpZWxkLXR5cGUtc3VibWl0Om5vdCguZS1mb3JtX19idXR0b25zX193cmFwcGVyKSAuZWxlbWVudG9yLWJ1dHRvbntmbGV4LWJhc2lzOjEwMCV9LmVsZW1lbnRvci1tb2JpbGUtYnV0dG9uLWFsaWduLXN0cmV0Y2ggLmUtZm9ybV9fYnV0dG9uc19fd3JhcHBlcntmbGV4LWJhc2lzOjUwJTtmbGV4LWdyb3c6MX0uZWxlbWVudG9yLW1vYmlsZS1idXR0b24tYWxpZ24tc3RyZXRjaCAuZS1mb3JtX19idXR0b25zX193cmFwcGVyX19idXR0b257ZmxleC1iYXNpczoxMDAlfS5lbGVtZW50b3ItbW9iaWxlLWJ1dHRvbi1hbGlnbi1jZW50ZXIgLmUtZm9ybV9fYnV0dG9ucywuZWxlbWVudG9yLW1vYmlsZS1idXR0b24tYWxpZ24tY2VudGVyIC5lbGVtZW50b3ItZmllbGQtdHlwZS1zdWJtaXR7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uZWxlbWVudG9yLW1vYmlsZS1idXR0b24tYWxpZ24tc3RhcnQgLmUtZm9ybV9fYnV0dG9ucywuZWxlbWVudG9yLW1vYmlsZS1idXR0b24tYWxpZ24tc3RhcnQgLmVsZW1lbnRvci1maWVsZC10eXBlLXN1Ym1pdHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uZWxlbWVudG9yLW1vYmlsZS1idXR0b24tYWxpZ24tZW5kIC5lLWZvcm1fX2J1dHRvbnMsLmVsZW1lbnRvci1tb2JpbGUtYnV0dG9uLWFsaWduLWVuZCAuZWxlbWVudG9yLWZpZWxkLXR5cGUtc3VibWl0e2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uZWxlbWVudG9yLW1vYmlsZS1idXR0b24tYWxpZ24tY2VudGVyIC5lbGVtZW50b3ItZmllbGQtdHlwZS1zdWJtaXQ6bm90KC5lLWZvcm1fX2J1dHRvbnNfX3dyYXBwZXIpIC5lbGVtZW50b3ItYnV0dG9uLC5lbGVtZW50b3ItbW9iaWxlLWJ1dHRvbi1hbGlnbi1lbmQgLmVsZW1lbnRvci1maWVsZC10eXBlLXN1Ym1pdDpub3QoLmUtZm9ybV9fYnV0dG9uc19fd3JhcHBlcikgLmVsZW1lbnRvci1idXR0b24sLmVsZW1lbnRvci1tb2JpbGUtYnV0dG9uLWFsaWduLXN0YXJ0IC5lbGVtZW50b3ItZmllbGQtdHlwZS1zdWJtaXQ6bm90KC5lLWZvcm1fX2J1dHRvbnNfX3dyYXBwZXIpIC5lbGVtZW50b3ItYnV0dG9ue2ZsZXgtYmFzaXM6YXV0b30uZWxlbWVudG9yLW1vYmlsZS1idXR0b24tYWxpZ24tY2VudGVyIC5lLWZvcm1fX2J1dHRvbnNfX3dyYXBwZXIsLmVsZW1lbnRvci1tb2JpbGUtYnV0dG9uLWFsaWduLWVuZCAuZS1mb3JtX19idXR0b25zX193cmFwcGVyLC5lbGVtZW50b3ItbW9iaWxlLWJ1dHRvbi1hbGlnbi1zdGFydCAuZS1mb3JtX19idXR0b25zX193cmFwcGVye2ZsZXgtZ3JvdzowfS5lbGVtZW50b3ItbW9iaWxlLWJ1dHRvbi1hbGlnbi1jZW50ZXIgLmUtZm9ybV9fYnV0dG9uc19fd3JhcHBlciwuZWxlbWVudG9yLW1vYmlsZS1idXR0b24tYWxpZ24tY2VudGVyIC5lLWZvcm1fX2J1dHRvbnNfX3dyYXBwZXJfX2J1dHRvbiwuZWxlbWVudG9yLW1vYmlsZS1idXR0b24tYWxpZ24tZW5kIC5lLWZvcm1fX2J1dHRvbnNfX3dyYXBwZXIsLmVsZW1lbnRvci1tb2JpbGUtYnV0dG9uLWFsaWduLWVuZCAuZS1mb3JtX19idXR0b25zX193cmFwcGVyX19idXR0b24sLmVsZW1lbnRvci1tb2JpbGUtYnV0dG9uLWFsaWduLXN0YXJ0IC5lLWZvcm1fX2J1dHRvbnNfX3dyYXBwZXIsLmVsZW1lbnRvci1tb2JpbGUtYnV0dG9uLWFsaWduLXN0YXJ0IC5lLWZvcm1fX2J1dHRvbnNfX3dyYXBwZXJfX2J1dHRvbntmbGV4LWJhc2lzOmF1dG99fS5lbGVtZW50b3ItZXJyb3IgLmVsZW1lbnRvci1maWVsZHtib3JkZXItY29sb3I6I2Q5NTM0Zn0uZWxlbWVudG9yLWVycm9yIC5oZWxwLWlubGluZXtjb2xvcjojZDk1MzRmO2ZvbnQtc2l6ZTouOWVtfS5lbGVtZW50b3ItbWVzc2FnZXtmb250LXNpemU6MWVtO2xpbmUtaGVpZ2h0OjE7bWFyZ2luOjEwcHggMH0uZWxlbWVudG9yLW1lc3NhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlOTBlIjtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTplaWNvbnM7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbi1pbmxpbmUtZW5kOjVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmVsZW1lbnRvci1tZXNzYWdlLmVsZW1lbnRvci1tZXNzYWdlLWRhbmdlcntjb2xvcjojZDk1MzRmfS5lbGVtZW50b3ItbWVzc2FnZS5lbGVtZW50b3ItbWVzc2FnZS1kYW5nZXI6YmVmb3Jle2NvbnRlbnQ6IlxlODdmIn0uZWxlbWVudG9yLW1lc3NhZ2UuZm9ybS1tZXNzYWdlLXN1Y2Nlc3N7Y29sb3I6IzVjYjg1Y30uZWxlbWVudG9yLWZvcm0gLmVsZW1lbnRvci1idXR0b257Ym9yZGVyOm5vbmU7cGFkZGluZy1ibG9jay1lbmQ6MDtwYWRkaW5nLWJsb2NrLXN0YXJ0OjB9LmVsZW1lbnRvci1mb3JtIC5lbGVtZW50b3ItYnV0dG9uLWNvbnRlbnQtd3JhcHBlciwuZWxlbWVudG9yLWZvcm0gLmVsZW1lbnRvci1idXR0b24+c3BhbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2dhcDo1cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uZWxlbWVudG9yLWZvcm0gLmVsZW1lbnRvci1idXR0b24uZWxlbWVudG9yLXNpemUteHN7bWluLWhlaWdodDozM3B4fS5lbGVtZW50b3ItZm9ybSAuZWxlbWVudG9yLWJ1dHRvbi5lbGVtZW50b3Itc2l6ZS1zbXttaW4taGVpZ2h0OjQwcHh9LmVsZW1lbnRvci1mb3JtIC5lbGVtZW50b3ItYnV0dG9uLmVsZW1lbnRvci1zaXplLW1ke21pbi1oZWlnaHQ6NDdweH0uZWxlbWVudG9yLWZvcm0gLmVsZW1lbnRvci1idXR0b24uZWxlbWVudG9yLXNpemUtbGd7bWluLWhlaWdodDo1OXB4fS5lbGVtZW50b3ItZm9ybSAuZWxlbWVudG9yLWJ1dHRvbi5lbGVtZW50b3Itc2l6ZS14bHttaW4taGVpZ2h0OjcycHh9LmVsZW1lbnRvci1lbGVtZW50IC5lbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lciwuZWxlbWVudG9yLWVsZW1lbnQ6bm90KDpoYXMoLmVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyKSl7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4zcyxib3JkZXIgLjNzLGJvcmRlci1yYWRpdXMgLjNzLGJveC1zaGFkb3cgLjNzLHRyYW5zZm9ybSB2YXIoLS1lLXRyYW5zZm9ybS10cmFuc2l0aW9uLWR1cmF0aW9uLC40cyl9LmVsZW1lbnRvci1oZWFkaW5nLXRpdGxle2xpbmUtaGVpZ2h0OjE7bWFyZ2luOjA7cGFkZGluZzowfS5lbGVtZW50b3ItYnV0dG9ue2JhY2tncm91bmQtY29sb3I6IzY5NzI3ZDtib3JkZXItcmFkaXVzOjNweDtjb2xvcjojZmZmO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjE7cGFkZGluZzoxMnB4IDI0cHg7ZmlsbDojZmZmO3RleHQtYWxpZ246Y2VudGVyO3RyYW5zaXRpb246YWxsIC4zc30uZWxlbWVudG9yLWJ1dHRvbjpmb2N1cywuZWxlbWVudG9yLWJ1dHRvbjpob3ZlciwuZWxlbWVudG9yLWJ1dHRvbjp2aXNpdGVke2NvbG9yOiNmZmZ9LmVsZW1lbnRvci1idXR0b24tY29udGVudC13cmFwcGVye2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7Z2FwOjVweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5lbGVtZW50b3ItYnV0dG9uLWljb24gc3Zne2hlaWdodDphdXRvO3dpZHRoOjFlbX0uZWxlbWVudG9yLWJ1dHRvbi1pY29uIC5lLWZvbnQtaWNvbi1zdmd7aGVpZ2h0OjFlbX0uZWxlbWVudG9yLWJ1dHRvbi10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5lbGVtZW50b3ItYnV0dG9uLmVsZW1lbnRvci1zaXplLXhze2JvcmRlci1yYWRpdXM6MnB4O2ZvbnQtc2l6ZToxM3B4O3BhZGRpbmc6MTBweCAyMHB4fS5lbGVtZW50b3ItYnV0dG9uLmVsZW1lbnRvci1zaXplLW1ke2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToxNnB4O3BhZGRpbmc6MTVweCAzMHB4fS5lbGVtZW50b3ItYnV0dG9uLmVsZW1lbnRvci1zaXplLWxne2JvcmRlci1yYWRpdXM6NXB4O2ZvbnQtc2l6ZToxOHB4O3BhZGRpbmc6MjBweCA0MHB4fS5lbGVtZW50b3ItYnV0dG9uLmVsZW1lbnRvci1zaXplLXhse2JvcmRlci1yYWRpdXM6NnB4O2ZvbnQtc2l6ZToyMHB4O3BhZGRpbmc6MjVweCA1MHB4fS5lbGVtZW50b3ItYnV0dG9uIHNwYW57dGV4dC1kZWNvcmF0aW9uOmluaGVyaXR9LmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1idXR0b24taW5mbyAuZWxlbWVudG9yLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOiM1YmMwZGV9LmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1idXR0b24tc3VjY2VzcyAuZWxlbWVudG9yLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOiM1Y2I4NWN9LmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1idXR0b24td2FybmluZyAuZWxlbWVudG9yLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOiNmMGFkNGV9LmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1idXR0b24tZGFuZ2VyIC5lbGVtZW50b3ItYnV0dG9ue2JhY2tncm91bmQtY29sb3I6I2Q5NTM0Zn0uZWxlbWVudG9yLXdpZGdldC1idXR0b24gLmVsZW1lbnRvci1idXR0b24gLmVsZW1lbnRvci1idXR0b24taW5mb3tiYWNrZ3JvdW5kLWNvbG9yOiM1YmMwZGV9LmVsZW1lbnRvci13aWRnZXQtYnV0dG9uIC5lbGVtZW50b3ItYnV0dG9uIC5lbGVtZW50b3ItYnV0dG9uLXN1Y2Nlc3N7YmFja2dyb3VuZC1jb2xvcjojNWNiODVjfS5lbGVtZW50b3Itd2lkZ2V0LWJ1dHRvbiAuZWxlbWVudG9yLWJ1dHRvbiAuZWxlbWVudG9yLWJ1dHRvbi13YXJuaW5ne2JhY2tncm91bmQtY29sb3I6I2YwYWQ0ZX0uZWxlbWVudG9yLXdpZGdldC1idXR0b24gLmVsZW1lbnRvci1idXR0b24gLmVsZW1lbnRvci1idXR0b24tZGFuZ2Vye2JhY2tncm91bmQtY29sb3I6I2Q5NTM0Zn0uZWxlbWVudG9yLXZpZXctc3RhY2tlZCAuZWxlbWVudG9yLWljb257YmFja2dyb3VuZC1jb2xvcjojNjk3MjdkO2NvbG9yOiNmZmY7cGFkZGluZzouNWVtO2ZpbGw6I2ZmZn0uZWxlbWVudG9yLXZpZXctZnJhbWVkIC5lbGVtZW50b3ItaWNvbntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjozcHggc29saWQgIzY5NzI3ZDtjb2xvcjojNjk3MjdkO3BhZGRpbmc6LjVlbX0uZWxlbWVudG9yLWljb257Y29sb3I6IzY5NzI3ZDtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6NTBweDtsaW5lLWhlaWdodDoxO3RleHQtYWxpZ246Y2VudGVyO3RyYW5zaXRpb246YWxsIC4zc30uZWxlbWVudG9yLWljb246aG92ZXJ7Y29sb3I6IzY5NzI3ZH0uZWxlbWVudG9yLWljb24gaSwuZWxlbWVudG9yLWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjFlbTtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxZW19LmVsZW1lbnRvci1pY29uIGk6YmVmb3JlLC5lbGVtZW50b3ItaWNvbiBzdmc6YmVmb3Jle2xlZnQ6NTAlO3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpfS5lbGVtZW50b3ItaWNvbiBpLmZhZHt3aWR0aDphdXRvfS5lbGVtZW50b3Itc2hhcGUtc3F1YXJlIC5lbGVtZW50b3ItaWNvbntib3JkZXItcmFkaXVzOjB9LmVsZW1lbnRvci1zaGFwZS1yb3VuZGVkIC5lbGVtZW50b3ItaWNvbntib3JkZXItcmFkaXVzOjEwJX0uZWxlbWVudG9yLXNoYXBlLWNpcmNsZSAuZWxlbWVudG9yLWljb257Ym9yZGVyLXJhZGl1czo1MCV9LmUtdHJhbnNmb3JtIC5lbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lciwuZS10cmFuc2Zvcm06bm90KDpoYXMoLmVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyKSl7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKHZhcigtLWUtdHJhbnNmb3JtLXBlcnNwZWN0aXZlLDApKSByb3RhdGUodmFyKC0tZS10cmFuc2Zvcm0tcm90YXRlWiwwKSkgcm90YXRlWCh2YXIoLS1lLXRyYW5zZm9ybS1yb3RhdGVYLDApKSByb3RhdGVZKHZhcigtLWUtdHJhbnNmb3JtLXJvdGF0ZVksMCkpIHRyYW5zbGF0ZSh2YXIoLS1lLXRyYW5zZm9ybS10cmFuc2xhdGUsMCkpIHRyYW5zbGF0ZVgodmFyKC0tZS10cmFuc2Zvcm0tdHJhbnNsYXRlWCwwKSkgdHJhbnNsYXRlWSh2YXIoLS1lLXRyYW5zZm9ybS10cmFuc2xhdGVZLDApKSBzY2FsZVgoY2FsYyh2YXIoLS1lLXRyYW5zZm9ybS1mbGlwWCwgMSkgKiB2YXIoLS1lLXRyYW5zZm9ybS1zY2FsZVgsIHZhcigtLWUtdHJhbnNmb3JtLXNjYWxlLCAxKSkpKSBzY2FsZVkoY2FsYyh2YXIoLS1lLXRyYW5zZm9ybS1mbGlwWSwgMSkgKiB2YXIoLS1lLXRyYW5zZm9ybS1zY2FsZVksIHZhcigtLWUtdHJhbnNmb3JtLXNjYWxlLCAxKSkpKSBza2V3WCh2YXIoLS1lLXRyYW5zZm9ybS1za2V3WCwwKSkgc2tld1kodmFyKC0tZS10cmFuc2Zvcm0tc2tld1ksMCkpO3RyYW5zZm9ybS1vcmlnaW46dmFyKC0tZS10cmFuc2Zvcm0tb3JpZ2luLXkpIHZhcigtLWUtdHJhbnNmb3JtLW9yaWdpbi14KX0uZS1jb24uZS10cmFuc2Zvcm17dHJhbnNmb3JtOnBlcnNwZWN0aXZlKHZhcigtLWUtY29uLXRyYW5zZm9ybS1wZXJzcGVjdGl2ZSwwKSkgcm90YXRlKHZhcigtLWUtY29uLXRyYW5zZm9ybS1yb3RhdGVaLDApKSByb3RhdGVYKHZhcigtLWUtY29uLXRyYW5zZm9ybS1yb3RhdGVYLDApKSByb3RhdGVZKHZhcigtLWUtY29uLXRyYW5zZm9ybS1yb3RhdGVZLDApKSB0cmFuc2xhdGUodmFyKC0tZS1jb24tdHJhbnNmb3JtLXRyYW5zbGF0ZSwwKSkgdHJhbnNsYXRlWCh2YXIoLS1lLWNvbi10cmFuc2Zvcm0tdHJhbnNsYXRlWCwwKSkgdHJhbnNsYXRlWSh2YXIoLS1lLWNvbi10cmFuc2Zvcm0tdHJhbnNsYXRlWSwwKSkgc2NhbGVYKGNhbGModmFyKC0tZS1jb24tdHJhbnNmb3JtLWZsaXBYLCAxKSAqIHZhcigtLWUtY29uLXRyYW5zZm9ybS1zY2FsZVgsIHZhcigtLWUtY29uLXRyYW5zZm9ybS1zY2FsZSwgMSkpKSkgc2NhbGVZKGNhbGModmFyKC0tZS1jb24tdHJhbnNmb3JtLWZsaXBZLCAxKSAqIHZhcigtLWUtY29uLXRyYW5zZm9ybS1zY2FsZVksIHZhcigtLWUtY29uLXRyYW5zZm9ybS1zY2FsZSwgMSkpKSkgc2tld1godmFyKC0tZS1jb24tdHJhbnNmb3JtLXNrZXdYLDApKSBza2V3WSh2YXIoLS1lLWNvbi10cmFuc2Zvcm0tc2tld1ksMCkpO3RyYW5zZm9ybS1vcmlnaW46dmFyKC0tZS1jb24tdHJhbnNmb3JtLW9yaWdpbi15KSB2YXIoLS1lLWNvbi10cmFuc2Zvcm0tb3JpZ2luLXgpfS5hbmltYXRlZHthbmltYXRpb24tZHVyYXRpb246MS4yNXN9LmFuaW1hdGVkLmFuaW1hdGVkLXNsb3d7YW5pbWF0aW9uLWR1cmF0aW9uOjJzfS5hbmltYXRlZC5hbmltYXRlZC1mYXN0e2FuaW1hdGlvbi1kdXJhdGlvbjouNzVzfS5hbmltYXRlZC5pbmZpbml0ZXthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS5hbmltYXRlZC5yZXZlcnNle2FuaW1hdGlvbi1kaXJlY3Rpb246cmV2ZXJzZTthbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5hbmltYXRlZHthbmltYXRpb246bm9uZX19LmVsZW1lbnRvci1wb3N0X190aHVtYm5haWxfX2xpbmt7dHJhbnNpdGlvbjpub25lfUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsuZWxlbWVudG9yIC5lbGVtZW50b3ItaGlkZGVuLW1vYmlsZSwuZWxlbWVudG9yIC5lbGVtZW50b3ItaGlkZGVuLXBob25le2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtaW4td2lkdGg6LTEpIGFuZCAobWF4LXdpZHRoOi0xKXsuZWxlbWVudG9yIC5lbGVtZW50b3ItaGlkZGVuLW1vYmlsZV9leHRyYXtkaXNwbGF5Om5vbmV9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSBhbmQgKG1heC13aWR0aDoxMDI0cHgpey5lbGVtZW50b3IgLmVsZW1lbnRvci1oaWRkZW4tdGFibGV0e2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtaW4td2lkdGg6LTEpIGFuZCAobWF4LXdpZHRoOi0xKXsuZWxlbWVudG9yIC5lbGVtZW50b3ItaGlkZGVuLWxhcHRvcCwuZWxlbWVudG9yIC5lbGVtZW50b3ItaGlkZGVuLXRhYmxldF9leHRyYXtkaXNwbGF5Om5vbmV9fUBtZWRpYSAobWluLXdpZHRoOjEwMjVweCkgYW5kIChtYXgtd2lkdGg6OTk5OTlweCl7LmVsZW1lbnRvciAuZWxlbWVudG9yLWhpZGRlbi1kZXNrdG9we2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtaW4td2lkdGg6LTEpey5lbGVtZW50b3IgLmVsZW1lbnRvci1oaWRkZW4td2lkZXNjcmVlbntkaXNwbGF5Om5vbmV9fQ=="}},"time_used":240,"timings":{"blocked":147,"dns":0,"connect":0,"send":0,"wait":93,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/29296.b408f2822fa5b9569bac.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.653Z","timestamp":1785141584653,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/29296.b408f2822fa5b9569bac.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-18f6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 70828f5ee86c38ba81f02f0867b6fa67\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":6390,"size_decoded":2047,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6390), with no line terminators","md5":"957eadc9c9c17f6df0058d57c5f46abb","sha1":"ebd276baca6cb1f539b1d5d55c63086002fbb8a0","sha256":"3c1391b8c83795fd1a1e8dcd3782d384a51181899c0b980dbfc6395ebecea139","sha512":"deba4ca12f353c877b0d4ff15a6b5a54f9e9f70e7e52a7a40d58a010dc96c67ff4f35d259f3bf9376c3528af502bd784d7a4721cd8fe63c155520fc9cbda1148","ssdeep":"96:DyL+izWjN/vprafnnWuMY/XjioIJMpTRB+LGkn0R:CWj3SnWzY/XjTvB+LG3R","tlshash":"21d188da21d84cbe392aa1619f1e4ecd37481c365e026c8fbae778a305c1a7d02f555f","first_seen":"2026-07-17T03:30:51.144553Z","last_seen":"2026-07-27T14:50:15.467235Z","times_seen":137,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTEZsQTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xLUxGbEE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1fMi1MRmxBOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzMtTEZsQTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLV80LUxGbEE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1fNS1MRmxBOiM3NDc0NzQ7LS1fNi1MRmxBOiM0MjQyNDJ9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1MRmxBOnZhcigtLWNvbG9yLXdoaXRlKTstLV8xLUxGbEE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fMi1MRmxBOnZhcigtLWNvbG9yLXdoaXRlKTstLV8zLUxGbEE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1fNC1MRmxBOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tXzUtTEZsQTojNzQ3NDc0Oy0tXzYtTEZsQTojNDI0MjQyfS5uYXZCdXR0b24taGJTSlZ4a1F7Ym9yZGVyOm5vbmU7Ym94LXNpemluZzppbml0aWFsO2Rpc3BsYXk6ZmxleDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3Bvc2l0aW9uOnJlbGF0aXZlOy0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWRlZmF1bHRDb2xvckNvbnRlbnQ6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTstLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1kZWZhdWx0Q29sb3JCZzojMDAwMDtiYWNrZ3JvdW5kOiMwMDAwO2NvbG9yOnZhcigtLXVpLWxpYi1pbi1uYXZCdXR0b24tY29sb3JDb250ZW50LHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1kZWZhdWx0Q29sb3JDb250ZW50KSl9Lm5hdkJ1dHRvbi1oYlNKVnhrUS5saW5rLWhiU0pWeGtRe2N1cnNvcjpwb2ludGVyfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsubmF2QnV0dG9uLWhiU0pWeGtROmhvdmVyey0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWRlZmF1bHRDb2xvckNvbnRlbnQ6dmFyKC0tXzAtTEZsQSk7LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tZGVmYXVsdENvbG9yQmc6dmFyKC0tXzEtTEZsQSl9fS5uYXZCdXR0b24taGJTSlZ4a1E6YWN0aXZley0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWRlZmF1bHRDb2xvckNvbnRlbnQ6dmFyKC0tXzItTEZsQSk7LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tZGVmYXVsdENvbG9yQmc6dmFyKC0tXzMtTEZsQSl9Lm5hdkJ1dHRvbi1oYlNKVnhrUTpmb2N1cyAuYmFja2dyb3VuZC1oYlNKVnhrUTphZnRlcntkaXNwbGF5OmJsb2NrfS5uYXZCdXR0b24taGJTSlZ4a1E6Zm9jdXMtdmlzaWJsZSAuYmFja2dyb3VuZC1oYlNKVnhrUTphZnRlcntkaXNwbGF5OmJsb2NrfS5uYXZCdXR0b24taGJTSlZ4a1E6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSAuYmFja2dyb3VuZC1oYlNKVnhrUTphZnRlcntkaXNwbGF5Om5vbmV9Lm5hdkJ1dHRvbi1oYlNKVnhrUTpkaXNhYmxlZCwubmF2QnV0dG9uLWhiU0pWeGtRW2FyaWEtZGlzYWJsZWQ9dHJ1ZV17LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tZGVmYXVsdENvbG9yQ29udGVudDp2YXIoLS1fNC1MRmxBKTtjdXJzb3I6ZGVmYXVsdH0ubmF2QnV0dG9uLWhiU0pWeGtROmRpc2FibGVkIC5iYWNrZ3JvdW5kLWhiU0pWeGtRLC5uYXZCdXR0b24taGJTSlZ4a1FbYXJpYS1kaXNhYmxlZD10cnVlXSAuYmFja2dyb3VuZC1oYlNKVnhrUXtkaXNwbGF5Om5vbmV9LmJhY2tncm91bmQtaGJTSlZ4a1F7LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tY29sb3JPdXRsaW5lRGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7ZGlzcGxheTpibG9jaztvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjphYnNvbHV0ZX0uYmFja2dyb3VuZC1oYlNKVnhrUTpmb2N1c3tvdXRsaW5lOm5vbmV9LmJhY2tncm91bmQtaGJTSlZ4a1E6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJhY2tncm91bmQtaGJTSlZ4a1E6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1pbi1uYXZCdXR0b24tY29sb3JPdXRsaW5lLHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1jb2xvck91dGxpbmVEZWZhdWx0KSk7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4OjF9LmJhY2tncm91bmQtaGJTSlZ4a1E6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWluLW5hdkJ1dHRvbi1jb2xvckJnLHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1kZWZhdWx0Q29sb3JCZykpO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtjb250ZW50OiIiO2luc2V0OjA7cG9zaXRpb246YWJzb2x1dGV9Lmljb24taGJTSlZ4a1F7ei1pbmRleDowfS5mbGlwSWNvbi1oYlNKVnhrUSwuZmxpcEljb24taGJTSlZ4a1Egc3Zne3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5mbGlwSWNvbi1oYlNKVnhrUSBzdmc6ZGlyKHJ0bCksLmZsaXBJY29uLWhiU0pWeGtROmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKX0ubGFyZ2UtaGJTSlZ4a1F7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLWJhc2ljT2Zmc2V0OjhweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLXNhZmVPZmZzZXQ6MTJweDstLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXM6OHB4fS5sYXJnZS1oYlNKVnhrUS5wcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRe3BhZGRpbmc6OHB4fS5sYXJnZS1oYlNKVnhrUSAuYmFja2dyb3VuZC1oYlNKVnhrUXtib3JkZXItcmFkaXVzOnZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpO2hlaWdodDpjYWxjKDEwMCUgKyAxNnB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LThweDt0b3A6LThweDt3aWR0aDpjYWxjKDEwMCUgKyAxNnB4KX0ubGFyZ2UtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpICsgNHB4KX0ubGFyZ2UtaGJTSlZ4a1EucHJlc2VydmVQYWRkaW5ncy1oYlNKVnhrUSAuYmFja2dyb3VuZC1oYlNKVnhrUXtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDt0b3A6MDt3aWR0aDoxMDAlfS5tZWRpdW0taGJTSlZ4a1F7aGVpZ2h0OjE4cHg7d2lkdGg6MThweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLWJhc2ljT2Zmc2V0OjhweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLXNhZmVPZmZzZXQ6MTJweDstLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXM6OHB4fS5tZWRpdW0taGJTSlZ4a1EucHJlc2VydmVQYWRkaW5ncy1oYlNKVnhrUXtwYWRkaW5nOjhweH0ubWVkaXVtLWhiU0pWeGtRIC5iYWNrZ3JvdW5kLWhiU0pWeGtRe2JvcmRlci1yYWRpdXM6dmFyKC0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWJvcmRlclJhZGl1cyk7aGVpZ2h0OmNhbGMoMTAwJSArIDE2cHgpO2luc2V0LWlubGluZS1zdGFydDotOHB4O3RvcDotOHB4O3dpZHRoOmNhbGMoMTAwJSArIDE2cHgpfS5tZWRpdW0taGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpICsgNHB4KX0ubWVkaXVtLWhiU0pWeGtRLnByZXNlcnZlUGFkZGluZ3MtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1F7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7dG9wOjA7d2lkdGg6MTAwJX0uc21hbGwtaGJTSlZ4a1F7aGVpZ2h0OjE0cHg7d2lkdGg6MTRweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLWJhc2ljT2Zmc2V0OjhweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLXNhZmVPZmZzZXQ6MTJweDstLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXM6NnB4fS5zbWFsbC1oYlNKVnhrUS5wcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRe3BhZGRpbmc6OHB4fS5zbWFsbC1oYlNKVnhrUSAuYmFja2dyb3VuZC1oYlNKVnhrUXtib3JkZXItcmFkaXVzOnZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpO2hlaWdodDpjYWxjKDEwMCUgKyAxNnB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LThweDt0b3A6LThweDt3aWR0aDpjYWxjKDEwMCUgKyAxNnB4KX0uc21hbGwtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpICsgNHB4KX0uc21hbGwtaGJTSlZ4a1EucHJlc2VydmVQYWRkaW5ncy1oYlNKVnhrUSAuYmFja2dyb3VuZC1oYlNKVnhrUXtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDt0b3A6MDt3aWR0aDoxMDAlfS54c21hbGwtaGJTSlZ4a1F7aGVpZ2h0OjEycHg7d2lkdGg6MTJweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLWJhc2ljT2Zmc2V0OjRweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLXNhZmVPZmZzZXQ6OHB4Oy0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWJvcmRlclJhZGl1czo0cHh9LnhzbWFsbC1oYlNKVnhrUS5wcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRe3BhZGRpbmc6NHB4fS54c21hbGwtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1F7Ym9yZGVyLXJhZGl1czp2YXIoLS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tYm9yZGVyUmFkaXVzKTtoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpfS54c21hbGwtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpICsgNHB4KX0ueHNtYWxsLWhiU0pWeGtRLnByZXNlcnZlUGFkZGluZ3MtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1F7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7dG9wOjA7d2lkdGg6MTAwJX0ueHhzbWFsbC1oYlNKVnhrUXtoZWlnaHQ6MTBweDt3aWR0aDoxMHB4Oy0tdWktbGliLW91dC1uYXZCdXR0b24tYmFzaWNPZmZzZXQ6NHB4Oy0tdWktbGliLW91dC1uYXZCdXR0b24tc2FmZU9mZnNldDo4cHg7LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tYm9yZGVyUmFkaXVzOjRweH0ueHhzbWFsbC1oYlNKVnhrUS5wcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRe3BhZGRpbmc6NHB4fS54eHNtYWxsLWhiU0pWeGtRIC5iYWNrZ3JvdW5kLWhiU0pWeGtRe2JvcmRlci1yYWRpdXM6dmFyKC0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWJvcmRlclJhZGl1cyk7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KX0ueHhzbWFsbC1oYlNKVnhrUSAuYmFja2dyb3VuZC1oYlNKVnhrUTphZnRlcntib3JkZXItcmFkaXVzOmNhbGModmFyKC0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWJvcmRlclJhZGl1cykgKyA0cHgpfS54eHNtYWxsLWhiU0pWeGtRLnByZXNlcnZlUGFkZGluZ3MtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1F7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7dG9wOjA7d2lkdGg6MTAwJX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm5hdkJ1dHRvbi1oYlNKVnhrUS5ibGVuZE1vZGUtaGJTSlZ4a1E6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tZGVmYXVsdENvbG9yQmc6dmFyKC0tXzUtTEZsQSl9fS5uYXZCdXR0b24taGJTSlZ4a1EuYmxlbmRNb2RlLWhiU0pWeGtROmFjdGl2ZXstLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1kZWZhdWx0Q29sb3JCZzp2YXIoLS1fNi1MRmxBKX1bZGF0YS10aGVtZT1saWdodF0gLm5hdkJ1dHRvbi1oYlNKVnhrUS5ibGVuZE1vZGUtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YmVmb3Jle21peC1ibGVuZC1tb2RlOnZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ibGVuZE1peExpZ2h0LG5vcm1hbCl9W2RhdGEtdGhlbWU9ZGFya10gLm5hdkJ1dHRvbi1oYlNKVnhrUS5ibGVuZE1vZGUtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YmVmb3Jle21peC1ibGVuZC1tb2RlOnZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ibGVuZE1peERhcmssbm9ybWFsKX0udmlzdWFsbHlIaWRkZW4taGJTSlZ4a1F7Ym9yZGVyOjA7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2NsaXA6cmVjdCgwIDAgMCAwKTtvdmVyZmxvdzpoaWRkZW59"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/67925.cdd77a6972787789a616.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.822Z","timestamp":1785141584822,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/67925.cdd77a6972787789a616.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-364\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 716be91271b376c21d411449f58a79af\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":868,"size_decoded":1139,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (868), with no line terminators","md5":"5edf808790562884db5fdf9a651e2c6b","sha1":"364ae71139050bae7ec40dc7bca05608a6e0a6c3","sha256":"7aa320556bada28195947d3777837009a4c4a5cbcd0ba6412ec4649351997aa3","sha512":"20ca4cbeb3d8d8ca78780490a1023af097a10fbdbeec82d3cc26bd10019f432db48b26cee41dddc68e04a24a4e81a2fd6be1f9910bbb710538b06279e2cea860","ssdeep":"","tlshash":"4511cc59940633ba6772951c2ec657c1ab217dac4873374cf8e1e09f40db785a0097c6","first_seen":"2026-06-30T21:57:43.476727Z","last_seen":"2026-07-27T12:48:39.820849Z","times_seen":222,"resource_available":false,"data":"LmJ1dHRvbi1HYXdwQjBwZnthbGw6dW5zZXQ7ZGlzcGxheTpmbGV4O291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5idXR0b24tR2F3cEIwcGY6Zm9jdXN7b3V0bGluZTpub25lfS5idXR0b24tR2F3cEIwcGY6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJ1dHRvbi1HYXdwQjBwZjphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6MX0uYnV0dG9uLUdhd3BCMHBmOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1HYXdwQjBwZjpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1HYXdwQjBwZjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnV0dG9uLUdhd3BCMHBmOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7Ym9yZGVyLXJhZGl1czo0cHh9LmJ1dHRvbi1HYXdwQjBwZi5hY3RpdmUtR2F3cEIwcGY6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5LWludmVyc2UpfS5mYXZvcml0ZS1HYXdwQjBwZi5maWxsZWQtR2F3cEIwcGZ7Y29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpfS5mYXZvcml0ZS1HYXdwQjBwZi5hY3RpdmUtR2F3cEIwcGZ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWludmVyc2UpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/14625.ada612ccefdef779e295.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.129Z","timestamp":1785141585129,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/14625.ada612ccefdef779e295.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"69f98b71-f8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/25/2026 11:16:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e3ed6a0540fe34c85c457d3b7ae32b2b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":248,"size_decoded":920,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"262d7c6d32fe176cad158bcf581392cf","sha1":"46ad9060cd3563ca4a028ea3ef2de8e4f2aa4cbf","sha256":"afec4eea93654c674622a8144d3721d9bd840022423552e2ad2c630463a7fbe1","sha512":"7950e146c863cb2f43396153f4068338f6514f7214983146822d7aa47777172d75340f6d86a723724a3f9e15b8363f5ba13b933024993d98520fc45be5524791","ssdeep":"","tlshash":"1fd05e7e9ec8372052138f271693679ac82786159f300e5edb00a2234fda40be8334a4","first_seen":"2023-04-17T07:26:31Z","last_seen":"2026-07-27T12:48:39.816225Z","times_seen":645,"resource_available":false,"data":"LmNvbnRhaW5lci1NMW16NHF1QXtkaXNwbGF5OmlubGluZS1mbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5sb2dvLU0xbXo0cXVBLC5wYWlyQ29udGFpbmVyLU0xbXo0cXVBe2Rpc3BsYXk6aW5saW5lLWZsZXh9LmxvZ28tTTFtejRxdUF7Ym9yZGVyLXJhZGl1czo1MCU7ZmxleDpub25lO292ZXJmbG93OmhpZGRlbn0ubG9nby1NMW16NHF1QSBpbWd7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uaGlkZGVuLU0xbXo0cXVBe2Rpc3BsYXk6bm9uZX0="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/87673.afd101bd973de435fe4a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.154Z","timestamp":1785141585154,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/87673.afd101bd973de435fe4a.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-2ee9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9547b59ce4f76a9dcf5bc8a0e0aa2e16\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":12009,"size_decoded":3657,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (12009), with no line terminators","md5":"4bf3abdfbef4bb3ad462d0268797a958","sha1":"91ea7eff13ce3fe123701cfec9439574fc6c83a2","sha256":"91e0aa4d19b28419c8d285059240e0284fb153072c6b5c2fdd99b1b6a8928983","sha512":"c6986e30de2f4f72f15db0a53a0d5253d4791fd5be57e56b39b3b1d7dcabd26da545d15820dced8597a502af0909ee4e15fc981465fb3e22d3e0736242f73d82","ssdeep":"192:he1cejV/ri1iHefj8RzOQmLHL28QJHRhhzY/ssLggREF08C69qJA4:glgyArEHJNsLo9t4","tlshash":"3a42a784a3401379f8976b69d3ba838c5824ee9598174ffff712ea2441c23f750b6d49","first_seen":"2026-07-19T21:33:34.120052Z","last_seen":"2026-07-27T12:48:39.791949Z","times_seen":56,"resource_available":false,"data":"LmZpcnN0Um93SGVhZC1sQ2t1U3RUayB0aHtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NjAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW9wdGlvbnMtY2hhaW4tYmctY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpO2JveC1zaGFkb3c6aW5zZXQgMCAtMXB4IDAgdmFyKC0tY29sb3ItYm9yZGVyKTtoZWlnaHQ6dmFyKC0tb3B0aW9ucy10YWJsZS1yb3ctaGVpZ2h0KTtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7cGFkZGluZzowIHZhcigtLW9wdGlvbnMtdGFibGUtY2VsbC1ob3J6LXBhZGRpbmcpO3RleHQtYWxpZ246Y2VudGVyO3RvcDowfS5maXJzdFJvd1RleHQtbENrdVN0VGt7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS1vcHRpb25zLXRhYmxlLWhvcml6b250YWwtcGFkZGluZyk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLW9wdGlvbnMtdGFibGUtaG9yaXpvbnRhbC1wYWRkaW5nKTtwb3NpdGlvbjpzdGlja3l9LnNlY29uZFJvd0hlYWQtbENrdVN0VGsgdGh7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO3RvcDp2YXIoLS1vcHRpb25zLXRhYmxlLXJvdy1oZWlnaHQpfS5maXJzdFJvd0hlYWQtbENrdVN0VGsgdGgsLnNlY29uZFJvd0hlYWQtbENrdVN0VGsgdGh7cG9zaXRpb246c3RpY2t5O3otaW5kZXg6Mn0udGgtbENrdVN0VGt7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1vcHRpb25zLWNoYWluLWJnLWNvbG9yLHZhcigtLWNvbG9yLWJvZHktYmcpKTtib3gtc2hhZG93Omluc2V0IDAgLTFweCAwIHZhcigtLWNvbG9yLWJvcmRlcik7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDp2YXIoLS1vcHRpb25zLXRhYmxlLXJvdy1oZWlnaHQpO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTttaW4td2lkdGg6Y2FsYyh2YXIoLS1jb2x1bW4td2lkdGgpICsgdmFyKC0tb3B0aW9ucy10YWJsZS1jZWxsLWhvcnotcGFkZGluZykqMik7cGFkZGluZzowIHZhcigtLW9wdGlvbnMtdGFibGUtY2VsbC1ob3J6LXBhZGRpbmcpO3doaXRlLXNwYWNlOm5vd3JhcH0udGgtbENrdVN0VGs6Zmlyc3QtY2hpbGR7cGFkZGluZy1pbmxpbmUtc3RhcnQ6dmFyKC0tb3B0aW9ucy10YWJsZS1ob3Jpem9udGFsLXBhZGRpbmcpfS50aC1sQ2t1U3RUazpsYXN0LWNoaWxke3BhZGRpbmctaW5saW5lLWVuZDp2YXIoLS1vcHRpb25zLXRhYmxlLWhvcml6b250YWwtcGFkZGluZyl9LmNlbnRyYWwtbENrdVN0VGt7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1vcHRpb24tY2hhaW4tY2VudHJhbC1jZWxsLWJnLWNvbG9yLHZhcigtLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KSl9LmFsaWduTGVmdC1sQ2t1U3RUa3t0ZXh0LWFsaWduOnN0YXJ0fS5hbGlnbkNlbnRlci1sQ2t1U3RUa3t0ZXh0LWFsaWduOmNlbnRlcn0uYWxpZ25SaWdodC1sQ2t1U3RUa3t0ZXh0LWFsaWduOmVuZH0uY29udGFpbmVyLUVmSjlJSFZhey0tb3B0aW9ucy10YWJsZS1yb3ctaGVpZ2h0OjQxcHg7LS1vcHRpb25zLXRhYmxlLWNlbGwtaG9yei1wYWRkaW5nOjEycHg7LS1vcHRpb25zLXRhYmxlLWhvcml6b250YWwtcGFkZGluZzp2YXIoLS1vcHRpb25zLXRhYmxlLWNlbGwtaG9yei1wYWRkaW5nKTstLW9wdGlvbnMtdGFibGUtYm9keS1ib3R0b206OHB4O2hlaWdodDoxMDAlO2lzb2xhdGlvbjppc29sYXRlO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LndyYXBwZXItRWZKOUlIVmF7YmFja2dyb3VuZC1hdHRhY2htZW50OmxvY2FsO2JhY2tncm91bmQtaW1hZ2U6cmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsdmFyKC0tY29sb3ItYm9yZGVyLXRhYmxlKSx2YXIoLS1jb2xvci1ib3JkZXItdGFibGUpIDFweCx2YXIoLS1vcHRpb25zLWNoYWluLWJnLWNvbG9yLHZhcigtLWNvbG9yLWJvZHktYmcpKSAxcHgsdmFyKC0tb3B0aW9ucy1jaGFpbi1iZy1jb2xvcix2YXIoLS1jb2xvci1ib2R5LWJnKSkgMTRweCl9LndyYXBwZXItRWZKOUlIVmE6ZGlyKHJ0bCl7YmFja2dyb3VuZC1pbWFnZTpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHZhcigtLWNvbG9yLWJvcmRlci10YWJsZSksdmFyKC0tY29sb3ItYm9yZGVyLXRhYmxlKSAxcHgsdmFyKC0tb3B0aW9ucy1jaGFpbi1iZy1jb2xvcix2YXIoLS1jb2xvci1ib2R5LWJnKSkgMXB4LHZhcigtLW9wdGlvbnMtY2hhaW4tYmctY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpIDE0cHgpfS50YWJsZS1FZko5SUhWYXttaW4td2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZX0uZm9vdGVyQ2VsbC1FZko5SUhWYXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW9wdGlvbnMtY2hhaW4tYmctY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpO2JvdHRvbTotMXB4O2hlaWdodDpjYWxjKHZhcigtLW9wdGlvbnMtdGFibGUtYm9keS1ib3R0b20pICsgMXB4KTtwb3NpdGlvbjpzdGlja3l9Lml0ZW0temd0VUJFNFd7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWluLXdpZHRoOjM4cHh9Lml0ZW0temd0VUJFNFc6b25seS1jaGlsZHt3aWR0aDoxMDAlfS5pdGVtLXpndFVCRTRXKy5pdGVtLXpndFVCRTRXe21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS5pdGVtQ29udGVudC16Z3RVQkU0V3thbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleH0uY291bnRlci16Z3RVQkU0V3ttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHItSTdiWmhWZnl7Y29udGFpbi1pbnRyaW5zaWMtc2l6ZTphdXRvIHZhcigtLW9wdGlvbnMtdGFibGUtcm93LWhlaWdodCk7Y29udGVudC12aXNpYmlsaXR5OmF1dG99LnRyLUk3YlpoVmZ5W2RhdGEtaG92ZXItcGFydD1jYWxsXSB0ZFtkYXRhLWNlbGwtcGFydD1jYWxsXSwudHItSTdiWmhWZnlbZGF0YS1ob3Zlci1wYXJ0PXB1dF0gdGRbZGF0YS1jZWxsLXBhcnQ9cHV0XXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCl9LnRkLUk3YlpoVmZ5e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci10YWJsZSk7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDp2YXIoLS1vcHRpb25zLXRhYmxlLXJvdy1oZWlnaHQpO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTtwYWRkaW5nOjAgdmFyKC0tb3B0aW9ucy10YWJsZS1jZWxsLWhvcnotcGFkZGluZyk7dGV4dC1hbGlnbjplbmR9LnRkLUk3YlpoVmZ5OmZpcnN0LWNoaWxke3BhZGRpbmctaW5saW5lLXN0YXJ0OnZhcigtLW9wdGlvbnMtdGFibGUtaG9yaXpvbnRhbC1wYWRkaW5nKX0udGQtSTdiWmhWZnk6bGFzdC1jaGlsZHtwYWRkaW5nLWlubGluZS1lbmQ6dmFyKC0tb3B0aW9ucy10YWJsZS1ob3Jpem9udGFsLXBhZGRpbmcpfS5hbGlnbkxlZnQtSTdiWmhWZnl7dGV4dC1hbGlnbjpzdGFydH0uYWxpZ25DZW50ZXItSTdiWmhWZnl7dGV4dC1hbGlnbjpjZW50ZXJ9LmNvbG9ySW5UaGVNb25leS1JN2JaaFZmeXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW9wdGlvbnMtY2hhaW4tYmctY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpfS5jZW50ZXItSTdiWmhWZnl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1vcHRpb24tY2hhaW4tY2VudHJhbC1jZWxsLWJnLWNvbG9yLHZhcigtLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KSl9LnNlbGVjdGVkLUk3YlpoVmZ5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpfS5uYXZpZ2F0ZWQtSTdiWmhWZnl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfS5mbGFzaEhpZ2hsaWdodC1JN2JaaFZmeSAudGQtSTdiWmhWZnl7YW5pbWF0aW9uOmZsYXNoSGlnaGxpZ2h0LWFuaW1hdGlvbi1JN2JaaFZmeSAuNXMgbGluZWFyfUBrZXlmcmFtZXMgZmxhc2hIaWdobGlnaHQtYW5pbWF0aW9uLUk3YlpoVmZ5ezAle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCl9OTkle2JhY2tncm91bmQtY29sb3I6dmFyKC0tb3B0aW9ucy1jaGFpbi1iZy1jb2xvcix2YXIoLS1jb2xvci1ib2R5LWJnKSl9dG97YmFja2dyb3VuZC1jb2xvcjp1bnNldH19W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtYTA1UzojMDAwMDstLV8xLWEwNVM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1fMi1hMDVTOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzMtYTA1Uzp2YXIoLS1jb2xvci13aGl0ZSl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1hMDVTOiMwMDAwOy0tXzEtYTA1Uzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLV8yLWEwNVM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fMy1hMDVTOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfS5yb290LURyNzM5UnM0ey0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aDozMnB4O2lzb2xhdGlvbjppc29sYXRlO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfUBtZWRpYSAobWluLXdpZHRoOjU2OHB4KXsucm9vdC1EcjczOVJzNHstLW9wdGlvbnMtcGlja2VyLWJsdXItd2lkdGg6MTgwcHh9fS5zY3JvbGxDb250YWluZXItRHI3MzlSczR7ZGlzcGxheTpmbGV4O21hcmdpbi1ibG9jazowIC00cHg7bWFyZ2luLWlubGluZTotNHB4IC00cHg7b3ZlcmZsb3cteDphdXRvO3BhZGRpbmctYmxvY2s6MCA0cHg7cGFkZGluZy1pbmxpbmU6NHB4IDRweDtzY3JvbGwtcGFkZGluZzp2YXIoLS1vcHRpb25zLXBpY2tlci1ibHVyLXdpZHRoKX1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuc2Nyb2xsQ29udGFpbmVyLURyNzM5UnM0e3Njcm9sbGJhci13aWR0aDpub25lfX0uc2Nyb2xsQ29udGFpbmVyLURyNzM5UnM0LnNiLXNjcm9sbGJhci13cmFwe2Rpc3BsYXk6bm9uZX0uc2Nyb2xsQ29udGFpbmVyLURyNzM5UnM0Ojotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0uc2Nyb2xsQ29udGFpbmVyLURyNzM5UnM0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuc2Nyb2xsQ29udGFpbmVyLURyNzM5UnM0Ojotd2Via2l0LXNjcm9sbGJhci10cmFja3tkaXNwbGF5Om5vbmV9LnNjcm9sbENvbnRhaW5lci1EcjczOVJzNDo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uZ3JvdXAtRHI3MzlSczR7ZGlzcGxheTpncmlkO2ZsZXg6MCAxIGF1dG99Lmdyb3VwLURyNzM5UnM0Ky5ncm91cC1EcjczOVJzNHttYXJnaW4taW5saW5lLXN0YXJ0OjhweH0uZ3JvdXAtRHI3MzlSczQrLnN1Ymdyb3VwLURyNzM5UnM0e21hcmdpbi1pbmxpbmUtc3RhcnQ6MTJweH0uZ3JvdXBUaXRsZS1EcjczOVJzNHtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodCk7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjI4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7d2lkdGg6MTAwJX0ubGVmdEZhZGUtRHI3MzlSczR7LS1vcHRpb25zLXBpY2tlci10aXRsZS1sZWZ0OmNhbGModmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aCkvNCl9LnJpZ2h0RmFkZS1EcjczOVJzNHstLW9wdGlvbnMtcGlja2VyLXRpdGxlLXJpZ2h0OmNhbGModmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aCkvNCl9Lmdyb3VwLURyNzM5UnM0Om5vdCgub25lR3JvdXAtRHI3MzlSczQpIC5ncm91cFRpdGxlLURyNzM5UnM0IHNwYW57aW5zZXQtaW5saW5lLWVuZDp2YXIoLS1vcHRpb25zLXBpY2tlci10aXRsZS1yaWdodCwwKTtpbnNldC1pbmxpbmUtc3RhcnQ6dmFyKC0tb3B0aW9ucy1waWNrZXItdGl0bGUtbGVmdCwwKTtwb3NpdGlvbjpzdGlja3k7d2hpdGUtc3BhY2U6bm93cmFwfS5sZWZ0RmFkZS1EcjczOVJzNCAub25lR3JvdXAtRHI3MzlSczQgLmdyb3VwVGl0bGUtRHI3MzlSczQgc3BhbiwucmlnaHRGYWRlLURyNzM5UnM0IC5vbmVHcm91cC1EcjczOVJzNCAuZ3JvdXBUaXRsZS1EcjczOVJzNCBzcGFue2luc2V0LWlubGluZS1lbmQ6YXV0bztpbnNldC1pbmxpbmUtc3RhcnQ6NTAlO3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpfS5sZWZ0RmFkZS1EcjczOVJzNCAub25lR3JvdXAtRHI3MzlSczQgLmdyb3VwVGl0bGUtRHI3MzlSczQgc3BhbjpkaXIocnRsKSwucmlnaHRGYWRlLURyNzM5UnM0IC5vbmVHcm91cC1EcjczOVJzNCAuZ3JvdXBUaXRsZS1EcjczOVJzNCBzcGFuOmRpcihydGwpe3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSl9LnN1Ymdyb3VwLURyNzM5UnM0IC5ncm91cFRpdGxlLURyNzM5UnM0e21pbi13aWR0aDo2NHB4fS5yb290LURyNzM5UnM0OmFmdGVyLC5yb290LURyNzM5UnM0OmJlZm9yZXtib3R0b206MDtib3gtc2hhZG93Omluc2V0IGNhbGModmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aCkqLTEpIDAgY2FsYyh2YXIoLS1vcHRpb25zLXBpY2tlci1ibHVyLXdpZHRoKS8yKSBjYWxjKHZhcigtLW9wdGlvbnMtcGlja2VyLWJsdXItd2lkdGgpKi0xLzIpIHZhcigtLW9wdGlvbnMtcGlja2VyLWJsdXItY29sb3IsdmFyKC0tY29sb3ItYm9keS1iZykpO2NvbnRlbnQ6IiI7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zNXMgZWFzZS1vdXQ7d2lkdGg6dmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aCk7ei1pbmRleDoxfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5yb290LURyNzM5UnM0OmFmdGVyLC5yb290LURyNzM5UnM0OmJlZm9yZXt0cmFuc2l0aW9uOm5vbmV9fS5yb290LURyNzM5UnM0OmFmdGVyOmRpcihydGwpLC5yb290LURyNzM5UnM0OmJlZm9yZTpkaXIocnRsKXtib3gtc2hhZG93Omluc2V0IGNhbGModmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aCkqMSkgMCBjYWxjKHZhcigtLW9wdGlvbnMtcGlja2VyLWJsdXItd2lkdGgpLzIpIGNhbGModmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci13aWR0aCkqLTEvMikgdmFyKC0tb3B0aW9ucy1waWNrZXItYmx1ci1jb2xvcix2YXIoLS1jb2xvci1ib2R5LWJnKSl9LnJvb3QtRHI3MzlSczQ6YWZ0ZXJ7aW5zZXQtaW5saW5lLWVuZDotNHB4fS5yb290LURyNzM5UnM0OmJlZm9yZXtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnJvb3QtRHI3MzlSczQ6YmVmb3JlOmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyl9LmxlZnRGYWRlLURyNzM5UnM0OmJlZm9yZSwucmlnaHRGYWRlLURyNzM5UnM0OmFmdGVye29wYWNpdHk6MX0ucm9vdC1EcjczOVJzNCAubGVmdEFycm93LURyNzM5UnM0LC5yb290LURyNzM5UnM0IC5yaWdodEFycm93LURyNzM5UnM0ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1iZzp2YXIoLS1fMy1hMDVTKTtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zNXMgZWFzZS1vdXQ7ei1pbmRleDoyfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5yb290LURyNzM5UnM0IC5sZWZ0QXJyb3ctRHI3MzlSczQsLnJvb3QtRHI3MzlSczQgLnJpZ2h0QXJyb3ctRHI3MzlSczR7dHJhbnNpdGlvbjpub25lfX0ubGVmdEFycm93LURyNzM5UnM0e2luc2V0LWlubGluZS1zdGFydDowfS5sZWZ0QXJyb3ctRHI3MzlSczQgc3Zne3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0ubGVmdEFycm93LURyNzM5UnM0IHN2ZzpkaXIocnRsKXt0cmFuc2Zvcm06cm90YXRlKDApfS5yaWdodEFycm93LURyNzM5UnM0e2luc2V0LWlubGluZS1lbmQ6MH0ucmlnaHRBcnJvdy1EcjczOVJzNCBzdmd7dHJhbnNmb3JtOnJvdGF0ZSgwKX0ucmlnaHRBcnJvdy1EcjczOVJzNCBzdmc6ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfUBtZWRpYSAobWluLXdpZHRoOjU2OHB4KXsubGVmdEZhZGUtRHI3MzlSczQgLmxlZnRBcnJvdy1EcjczOVJzNCwucmlnaHRGYWRlLURyNzM5UnM0IC5yaWdodEFycm93LURyNzM5UnM0e29wYWNpdHk6MX19Lml0ZW1zLURyNzM5UnM0e2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjRweH0uc2tlbGV0b25Db250YWluZXItaWpSaEV3dVl7cG9pbnRlci1ldmVudHM6bm9uZX0ub3B0aW9uc0NoYWluLWlqUmhFd3VZey0tb3B0aW9uLWNoYWluLWNlbnRyYWwtY2VsbC1iZy1jb2xvcjp2YXIoLS1vcHRpb25zLWNoYWluLWJnLWNvbG9yLHZhcigtLWNvbG9yLWJvZHktYmcpKTtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59LnNrZWxldG9uUmVjdGFuZ2xlLWlqUmhFd3VZe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KTtib3JkZXItcmFkaXVzOjRweDttYXJnaW46MCBhdXRvfS5zZXJpZXNHcm91cENlbGwtaWpSaEV3dVl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1vcHRpb25zLWNoYWluLWJnLWNvbG9yLHZhcigtLWNvbG9yLWJvZHktYmcpKTtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItdGFibGUpO2hlaWdodDp2YXIoLS1vcHRpb25zLXRhYmxlLXJvdy1oZWlnaHQpfVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLUc1X3U6dXJsKHVmby1hbmQtY293LTEyMHgxMjAuODM2ZGZhOTkzNGU1OGIwZTc4OTguc3ZnKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLUc1X3U6dXJsKHVmby1hbmQtY293LTEyMHgxMjAtZGFyay40Y2NkNGU4NzRkNDM0MWQyZjk1ZC5zdmcpfS5ibG9jay1zaEt4c3pzeHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCV9LmVtcHR5U3RhdGVJY29uLXNoS3hzenN4e2JhY2tncm91bmQtaW1hZ2U6dmFyKC0tXzAtRzVfdSk7aGVpZ2h0OjEyMHB4O3dpZHRoOjEyMHB4fS5hcnJvdy1tSkFpMVQwaXt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMzVzIGVhc2V9Lm9wZW4tbUpBaTFUMGl7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5vcGVuLW1KQWkxVDBpOmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyl9LmFjdGl2ZS1tSkFpMVQwaXtjb2xvcjp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLWFjdGl2ZS10ZXh0KX0ubm9uQWN0aXZlLW1KQWkxVDBpe2NvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLXBpbGwtdGV4dCl9LnBpbGxJY29uLWo1TkcwVlZUe21hcmdpbi1pbmxpbmUtc3RhcnQ6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1pY29uLW1hcmdpbi1sZWZ0LDApfS5hY3RpdmUtajVORzBWVlR7Y29sb3I6dmFyKC0tdWktbGliLXByaXZhdGUtcGlsbC1hY3RpdmUtdGV4dCl9Lm5vbkFjdGl2ZS1qNU5HMFZWVHtjb2xvcjp2YXIoLS11aS1saWItcHJpdmF0ZS1waWxsLXRleHQpfS5yb290LXlCS0NlQU5xe3Bvc2l0aW9uOnJlbGF0aXZlfS5zY3JvbGxDb250YWluZXIteUJLQ2VBTnF7ZGlzcGxheTpmbGV4O292ZXJmbG93LXg6YXV0b31Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuc2Nyb2xsQ29udGFpbmVyLXlCS0NlQU5xe3Njcm9sbGJhci13aWR0aDpub25lfX0uc2Nyb2xsQ29udGFpbmVyLXlCS0NlQU5xLnNiLXNjcm9sbGJhci13cmFwe2Rpc3BsYXk6bm9uZX0uc2Nyb2xsQ29udGFpbmVyLXlCS0NlQU5xOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0uc2Nyb2xsQ29udGFpbmVyLXlCS0NlQU5xOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuc2Nyb2xsQ29udGFpbmVyLXlCS0NlQU5xOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tkaXNwbGF5Om5vbmV9LnNjcm9sbENvbnRhaW5lci15QktDZUFOcTo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uZ3JvdXAteUJLQ2VBTnF7ZmxleDowIDEgYXV0b30uZ3JvdXAteUJLQ2VBTnErLmdyb3VwLXlCS0NlQU5xe21hcmdpbi1pbmxpbmUtc3RhcnQ6NnB4fS5ncm91cFRpdGxlLXlCS0NlQU5xe2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDoyOHB4O3dpZHRoOjEwMCV9Lml0ZW1zLXlCS0NlQU5xe2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjRweH0uaXRlbS15QktDZUFOcXtib3JkZXItcmFkaXVzOjRweDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjhweDt3aWR0aDozOHB4fS5pdGVtLXlCS0NlQU5xKy5pdGVtLXlCS0NlQU5xe21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS5yb290LVdNTE55NV93e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLWhlaWdodDowfS5jZWxsLUF0UllySlBue2Rpc3BsYXk6aW5saW5lLWZsZXg7Z2FwOjJweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnNvcnRBY3RpdmUtQXRSWXJKUG57Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7Zm9udC13ZWlnaHQ6NTAwfS5zb3J0SWNvbi1BdFJZckpQbntmbGV4LXNocmluazowO3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0uc29ydEljb24tQXRSWXJKUG46ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKX0uc29ydEljb24tQXRSWXJKUG4uc29ydERlc2MtQXRSWXJKUG57dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX0ubGF5b3V0LXBlSlVTUmRae2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7bWluLXdpZHRoOjA7cGFkZGluZzowIDhweH0uc3RyZXRjaC1wZUpVU1JkWnt3aWR0aDoxMDAlfS5zcGFjZS1wZUpVU1JkWntmbGV4OjF9LmVuZFRleHRTbG90LXBlSlVTUmRaLC5zdGFydFRleHRTbG90LXBlSlVTUmRae21pbi13aWR0aDowO3BhZGRpbmc6MCA0cHh9"}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/93426.0083d163d728bff784d9.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.161Z","timestamp":1785141584161,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/93426.0083d163d728bff784d9.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-dfef\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:25\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c25da0cb49d56498717176ea369ae761\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":57327,"size_decoded":21041,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3069)","md5":"2d347eb2f7b046ec91197c1181d0e178","sha1":"fa3f74deaffe52fd98be22519cbaf8bdaab25947","sha256":"fb7eabec75f8061e8b8fc70989b366069567cd7a0d2cd1a967ea3d6ca229cd65","sha512":"6dfe90357513672ec3cb8f8c8d0c67ae193c641e15eaeb723bf4a2748ee7b3d22bb3fdf28d26b845a0b94c9893fac86c325ec3b65c99d6c7edc47634f2033447","ssdeep":"1536:6J/J5J4hb3JAHbuOrju2mA83n6XAtKD/BHJMs3v5c1W0U9z51qKrDGwPzPAIF7Vg:vhb3JAHtVmAdDUgQlbF","tlshash":"c6430856b251246721da00eba077100bba3e55d5744484bdb13cdcce26aec8eb2b7fbd","first_seen":"2026-07-23T13:54:09.127319Z","last_seen":"2026-07-27T14:50:15.373252Z","times_seen":294,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTM0MjZdLHsyNzcwMjkoZSx0LG8peygwLG8oMzYzMjY5KS5zZXRDbGFzc2VzKSgpfSw4NDI5ODMoZSx0LG8pe3ZhciBuPW8oMTUyNjk5KSxpPW8oMzg2OTMxKSxzPW8oMzg0MDE3KSxyPW8oMTUwMTUwKSxhPW8oMTYwMjk2KSxsPW8oOTMyMzY1KSxjPW8oMjIxMDYxKTtjb25zdCBoPSgwLGMuZ2V0TG9nZ2VyKSgiQ29tbW9uLkV2ZXJjb29raWUiKTtvKDQ2NzE1OCk7Y29uc3QgZD1uZXcgd2luZG93LmV2ZXJjb29raWUoe2RvbWFpbjooMCxhLmlzUHJvZCkoKT8iLnRyYWRpbmd2aWV3LmNvbSI6bG9jYXRpb24uaG9zdG5hbWUsbHNvOiExfSksdT0oMCxjLmdldExvZ2dlcikoIkNvbW1vbi5FdmVyY29va2llIik7d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307Y29uc3QgbT0vXlswLTlhLWZdezh9LVswLTlhLWZdezR9LVsxLTVdWzAtOWEtZl17M30tWzg5YWJdWzAtOWEtZl17M30tWzAtOWEtZl17MTJ9JC9pO2NsYXNzIGd7Y29uc3RydWN0b3IoKXt0aGlzLl9jb29raWVOYW1lPSJ0dl9lY3VpZCIsdGhpcy5fZW52PW51bGwsdGhpcy5jaGVjaz0oKT0+e2lmKHRoaXMuX2lzRWNOb3RBdmFpbGFibGUoKXx8bC5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKCJfdHZfZWNfaWdub3JlX3VzZXJuYW1lIik9PT13aW5kb3cudXNlci51c2VybmFtZSlyZXR1cm47Y29uc3QgZT13aW5kb3cudXNlci5pZDt0aGlzLl9nZXRFY1VpZHMoKS5jYXRjaCgoZT0+e3UubG9nV2FybihgRXJyb3IgdGhyb3duIGluc2lkZSBnZXRFY1VpZHMoKS4gTGVhdmUgZXZlcmNvb2tpZSBkYXRhIHVudG91Y2hlZC4gVXNlcjogJHt3aW5kb3cudXNlci51c2VybmFtZX0gKCR7d2luZG93LnVzZXIuaWR9KVxuQWN0dWFsIGVycm9yOiAke2V9YCl9KSkudGhlbigodD0+e2lmKHZvaWQgMD09PXQpcmV0dXJuIHZvaWQgdS5sb2dXYXJuKGBnZXRFY1VpZHMoKSByZXR1cm5lZCBubyBkYXRhLiBMZWF2ZSBldmVyY29va2llIGRhdGEgdW50b3VjaGVkLiBVc2VyOiAke3dpbmRvdy51c2VyLnVzZXJuYW1lfSAoJHt3aW5kb3cudXNlci5pZH0pYCk7bGV0IG49dC5sb2NhbEVjVWlkO2NvbnN0IGk9dC5yZW1vdGVFY1VpZHM7biYmbS50ZXN0KG4pfHwobj0oMCxyLmd1aWQpKCksZC5zZXQodGhpcy5fY29va2llTmFtZSxuKSk7Y29uc3QgYT10PT57dC5zdWJzY3JpcHRpb25fY2FuY2VsZWQmJlByb21pc2UuYWxsKFtvLmUoNDkzODApLG8uZSg1MjM5Niksby5lKDIwMzU0KSxvLmUoNzQ4MzApLG8uZSgxODQwMCksby5lKDQzNDMzKSxvLmUoMzIzODcpLG8uZSg0ODAyNyldKS50aGVuKG8uYmluZChvLDY2NTMxOCkpLnRoZW4oKGU9PmUuY3JlYXRlVHJpYWxDYW5jZWxlZERpYWxvZygpKSksZT09PXdpbmRvdy51c2VyLmlkJiZ0LmlzX3N1c3BpY2lvdXM/bC5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKCJpc19zdXNwaWNpb3VzIiwiMSIpOmwuVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgiaXNfc3VzcGljaW91cyIpfTtpJiYwIT09aS5sZW5ndGgmJi0xIT09aS5pbmRleE9mKG4pfHxlIT09d2luZG93LnVzZXIuaWR8fGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IEZvcm1EYXRhO3JldHVybiB0LmFwcGVuZCgiZWN1aWQiLGUpLCgwLHMuZmV0Y2gpKCIvYWNjb3VudHMvc2V0LWVjdWlkLyIse2JvZHk6dCxjcmVkZW50aWFsczoiaW5jbHVkZSIsbWV0aG9kOiJQT1NUIn0pLnRoZW4oKGU9PntpZihlLm9rKXJldHVybiBlLmpzb24oKS5jYXRjaCgoZT0+e2gubG9nV2FybihgRXJyb3IgaW4gcmVwb25zZS5qc29uKCkgb2YgL2FjY291bnRzL3NldC1lY3VpZC8uIFVzZXI6ICR7d2luZG93LnVzZXIudXNlcm5hbWV9ICgke3dpbmRvdy51c2VyLmlkfSlcbkFjdHVhbCBlcnJvcjogJHtlfWApfSkpO3Rocm93IG5ldyBFcnJvcigiVW5hYmxlIHRvIHNldCByZW1vdGUgZWN1aWRzLiBSZXNwb25zZSB3YXMgbm90IE9LIil9KSl9KG4pLnRoZW4oYSl9KSkuY2F0Y2goKGU9Pnt1LmxvZ0Vycm9yKGUubWVzc2FnZStgIFVzZXI6ICR7d2luZG93LnVzZXIudXNlcm5hbWV9ICgke3dpbmRvdy51c2VyLmlkfSlgKX0pKX0sdGhpcy5faXNFY05vdEF2YWlsYWJsZSgpfHwodGhpcy5fZW52PSgwLGEuZW52aXJvbm1lbnQpKCksKDAsYS5pc0RlYnVnKSgpJiYodGhpcy5fY29va2llTmFtZSs9Il8iK3RoaXMuX2VudikpfV9pc0VjTm90QXZhaWxhYmxlKCl7cmV0dXJuIHdpbmRvdy5UcmFkaW5nVmlldy5vbldpZGdldD8uKCl8fCF3aW5kb3cudXNlcn1fZ2V0TG9jYWxFY1VpZCgpe3JldHVybiBuZXcgUHJvbWlzZSgoZT0+e2QuZ2V0KHRoaXMuX2Nvb2tpZU5hbWUsKHQ9PntlKHQpfSkpfSkpfV9nZXRFY1VpZHMoKXtyZXR1cm4gbmV3IFByb21pc2UoKChlLHQpPT57bGV0IG87dGhpcy5fZ2V0TG9jYWxFY1VpZCgpLnRoZW4oKGU9PihvPWUsZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKCgodCxvKT0+e2NvbnN0IG49bmV3IEZvcm1EYXRhO2UmJm4uYXBwZW5kKCJsb2NhbF9lY3VpZCIsZSksKDAscy5mZXRjaCkoIi9hY2NvdW50cy9nZXQtZWN1aWQvIix7Ym9keTpuLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixtZXRob2Q6IlBPU1QifSkudGhlbigoZT0+e2lmKGUub2spcmV0dXJuIGUuanNvbigpLmNhdGNoKChlPT57aC5sb2dXYXJuKGBFcnJvciBpbiByZXBvbnNlLmpzb24oKSBvZiAvYWNjb3VudHMvZ2V0LWVjdWlkLy4gVXNlcjogJHt3aW5kb3cudXNlci51c2VybmFtZX0gKCR7d2luZG93LnVzZXIuaWR9KVxuQWN0dWFsIGVycm9yOiAke2V9YCl9KSk7dGhyb3cgbmV3IEVycm9yKCJVbmFibGUgdG8gZ2V0IHJlbW90ZSBlY3VpZHMuIFJlc3BvbnNlIHdhcyBub3QgT0siKX0pKS50aGVuKChlPT57dChlKX0pKS5jYXRjaCgoZT0+e28oZSl9KSl9KSl9KGUpKSkpLnRoZW4oKHQ9PntpZih2b2lkIDA9PT10KXRocm93IG5ldyBFcnJvcihgZ2V0UmVtb3RlRWNVaWRzKCkgcmV0dXJuZWQgbm8gcmVzcG9uc2UuIFVzZXI6ICR7d2luZG93LnVzZXIudXNlcm5hbWV9ICgke3dpbmRvdy51c2VyLmlkfSlgKTtlKHtsb2NhbEVjVWlkOm8sCnJlbW90ZUVjVWlkczp0LmVjdWlkc30pfSkpLmNhdGNoKChlPT57dChlKX0pKX0pKX19dmFyIF89byg2MTM4NzApLHA9bygyMzk3MTkpLGY9bygzMTg5NzQpLHc9bygxMTczMTMpLHY9byg3MjcwOSkseT1vKDIzNTcyNCksYj1vKDkyNjk5NSk7dmFyIFM9bygxNzk3NzEpLE49bygzNDQ3ODUpLFQ9byg3NDk2NDgpO2Z1bmN0aW9uIEUoZSx0PSJ4Iil7bGV0IG89ITE7cmV0dXJuIngiIT09dCYmImJvdGgiIT09dHx8KG89b3x8ZS5vZmZzZXRXaWR0aDxlLnNjcm9sbFdpZHRoKSwieSIhPT10JiYiYm90aCIhPT10fHwobz1vfHxlLm9mZnNldEhlaWdodDxlLnNjcm9sbEhlaWdodCksb31mdW5jdGlvbiBDKGUsdD0ieCIpe2Zvcihjb25zdCBvIG9mIEFycmF5LmZyb20oZS5jaGlsZHJlbikpaWYobyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYoRShvLHQpfHxDKG8sdCkpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIHgoZSl7bGV0IHQ9IngiO3JldHVybiBlLm1hdGNoZXMoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLS1kaXJlY3Rpb25fYm90aCIpP3Q9ImJvdGgiOmUubWF0Y2hlcygiLmFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWRpcmVjdGlvbl95IikmJih0PSJ5IiksdH1mdW5jdGlvbiBMKGUpe2NvbnN0IHQ9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtb3ZlcmZsb3ctdG9vbHRpcC1odG1sIik7aWYodClyZXR1cm57dHlwZToiaHRtbCIsZGF0YTp0fTtjb25zdCBvPWUuZ2V0QXR0cmlidXRlKCJkYXRhLW92ZXJmbG93LXRvb2x0aXAtdGV4dCIpO2lmKG8pcmV0dXJue3R5cGU6InRleHQiLGRhdGE6b307aWYoZS5tYXRjaGVzPy4oIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLS1hbGxvdy10ZXh0Iikpe3JldHVybnt0eXBlOiJ0ZXh0IixkYXRhOmUudGV4dENvbnRlbnR8fCIifX1jb25zdCBuPUFycmF5LmZyb20oZS5jaGlsZE5vZGVzKS5yZWR1Y2UoKChlLHQpPT4odC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiZlLnB1c2godC50ZXh0Q29udGVudHx8IiIpLGUpKSxbXSkuam9pbigiIikudHJpbSgpO3JldHVybiBuP3t0eXBlOiJ0ZXh0IixkYXRhOm59Ont0eXBlOiJub25lIn19ZnVuY3Rpb24gRChlLHQpe2xldCBvPSExO2NvbnN0IG49ZS5jaGlsZHJlbjtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoO2UrKyl7Y29uc3QgaT1uW2VdO2lmKGkgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmRShpLHQpKXtvPSEwO2JyZWFrfX1yZXR1cm4gb31mdW5jdGlvbiBGKGUpe2NvbnN0IHQ9ZS50YXJnZXQ7aWYodCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYodC5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC1mb2N1cyIpfHx0LnF1ZXJ5U2VsZWN0b3IoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLWZvY3VzIikpKXtjb25zdCBlPXQubWF0Y2hlcygiLmFwcGx5LW92ZXJmbG93LXRvb2x0aXAiKT90OnQucXVlcnlTZWxlY3RvcigiLmFwcGx5LW92ZXJmbG93LXRvb2x0aXAiKSxvPXgoZSk7aWYoZS5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tY2hlY2stY2hpbGRyZW4tcmVjdXJzaXZlbHkiKSl7aWYoIUMoZSxvKSlyZXR1cm59ZWxzZSBpZihlLm1hdGNoZXMoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLS1jaGVjay1jaGlsZHJlbiIpKXtpZighRChlLG8pKXJldHVybn1lbHNlIGlmKCFFKGUsbykpcmV0dXJuOygwLE4uc2hvd09uRWxlbWVudCkodCx7Y29udGVudDpMKGUpfSk7Y29uc3Qgbj0oKT0+eygwLE4uaGlkZSkoKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLG4pLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtYmx1ciIsbil9O3QuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsbiksdC5hZGRFdmVudExpc3RlbmVyKCJhY3RpdmUtZGVzY2VuZGFudC1ibHVyIixuKX19KDAsVC53aGVuRG9jdW1lbnRSZWFkeSkoKCgpPT57ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsKGU9Pntjb25zdCB0PWUudGFyZ2V0O2lmKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdC5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcCIpKXtjb25zdCBlPXgodCk7aWYodC5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tY2hlY2stY2hpbGRyZW4tcmVjdXJzaXZlbHkiKSl7aWYoIUModCxlKSlyZXR1cm59ZWxzZSBpZih0Lm1hdGNoZXMoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLS1jaGVjay1jaGlsZHJlbiIpKXtpZighRCh0LGUpKXJldHVybn1lbHNlIGlmKCFFKHQsZSkpcmV0dXJuOygwLE4uc2hvd09uRWxlbWVudCkodCx7Y29udGVudDpMKHQpfSk7Y29uc3Qgbz0oKT0+eygwLE4uaGlkZSkoKSxbIm1vdXNlbGVhdmUiLCJtb3VzZWRvd24iXS5mb3JFYWNoKChlPT50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxvKSkpfTtbIm1vdXNlbGVhdmUiLCJtb3VzZWRvd24iXS5mb3JFYWNoKChlPT50LmFkZEV2ZW50TGlzdGVuZXIoZSxvKSkpfX0pLCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsRiwhMCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtZm9jdXMiLEYsITApfSkpO3ZhciBrPW8oOTQ4MzgwKSxQPW8oOTY0NDg2KSxNPW8oODcyNTE4KTtmdW5jdGlvbiBPKGUpe2xldCB0LG89ITE7cmV0dXJuKCk9PihvfHwobz0hMCx0PWUoKSksdCl9dmFyIEk9byg1NzAxOTMpLEg9byg2ODIzODEpLFY9bygzODIyNDIpO2NvbnN0IEE9KGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KT0+KDAsVi5nZXRTZWxlY3RvclRyZWVXYWxrZXIpKGUsSC5GT0NVU0FCTEVfU0VMRUNUT1IpO2NvbnN0IFI9YFske0kuRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURX09InRydWUiXWA7Y2xhc3MgVXtjb25zdHJ1Y3Rvcigpe3RoaXMuX2hhbmRsZU1vdXNlRG93bj0oKT0+e3RoaXMuX2ZvcndhcmRUYWI9dm9pZCAwfSx0aGlzLl9oYW5kbGVLZXlEb3duPWU9Pnt0aGlzLl9mb3J3YXJkVGFiPXZvaWQgMCxbOSx5Lk1vZGlmaWVycy5TaGlmdCs5XS5pbmNsdWRlcygoMCx5Lmhhc2hGcm9tRXZlbnQpKGUpKSYmKHRoaXMuX2ZvcndhcmRUYWI9IWUuc2hpZnRLZXkpfSx0aGlzLl9oYW5kbGVGb2N1cz1lPT57Y29uc3QgdD1lLnRhcmdldAo7aWYodm9pZCAwPT09dGhpcy5fZm9yd2FyZFRhYnx8ISh0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKXJldHVybjtjb25zdCBvPXRoaXMuX2ZpbmREZWVwZXN0Rm9jdXNUcmFwRWxlbWVudChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpO2lmKCEobyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KXx8IW98fG8uY29udGFpbnModCkpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHQuYmx1cigpO2NvbnN0IG49by5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KTtpZihuJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HfHxuJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HKXtjb25zdCBlPXRoaXMuX2ZvcndhcmRUYWI/QihvKTpCKG8sITApO2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmZS5mb2N1cygpfX0sZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9oYW5kbGVGb2N1cyx7Y2FwdHVyZTohMH0pLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9oYW5kbGVLZXlEb3duLHtjYXB0dXJlOiEwfSksZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5faGFuZGxlTW91c2VEb3duLHtjYXB0dXJlOiEwfSl9ZGVzdHJveSgpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5faGFuZGxlRm9jdXMse2NhcHR1cmU6ITB9KSxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5faGFuZGxlS2V5RG93bix7Y2FwdHVyZTohMH0pLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHRoaXMuX2hhbmRsZU1vdXNlRG93bix7Y2FwdHVyZTohMH0pfV9maW5kRGVlcGVzdEZvY3VzVHJhcEVsZW1lbnQoZSl7Y29uc3QgdD1lLnF1ZXJ5U2VsZWN0b3JBbGwoUik7bGV0IG89bnVsbCxuPS0xO3JldHVybiB0LmZvckVhY2goKHQ9Pntjb25zdCBpPXRoaXMuX2NhbGN1bGF0ZVBhcmVudENvdW50KHQsZSk7aT5uJiYobj1pLG89dCl9KSksb31fY2FsY3VsYXRlUGFyZW50Q291bnQoZSx0KXtsZXQgbz0wLG49ZS5wYXJlbnRFbGVtZW50O2Zvcig7biYmbiE9PXQ7KSJ0cnVlIj09PW4uZ2V0QXR0cmlidXRlKEkuRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSkmJm8rKyxuPW4ucGFyZW50RWxlbWVudDtyZXR1cm4gb319Y29uc3QgJD1PKCgoKT0+bmV3IFUpKTtmdW5jdGlvbiBCKGUsdCl7cmV0dXJuIHQ/ZnVuY3Rpb24oZSl7Y29uc3QgdD1BKGUpO3JldHVybigwLFYuZ2V0TGFzdERlc2NlbmRhbnQpKHQpfShlKTpmdW5jdGlvbihlKXtjb25zdCB0PUEoZSk7cmV0dXJuKDAsVi5nZXRGaXJzdERlc2NlbmRhbnQpKHQpfShlKX1jb25zdCBqPU8oKCgpPT57JCgpfSkpO3ZhciBHPW8oNDUwMTQwKSxXPW8oOTk1Njc4KTt2YXIgcT1vKDUwNzQyNiksSz1vKDE0MTMxKSxKPW8oNTQ5MTk5KSxYPW8oMTU3OTE3KSx6PW8oODI3MDEpLFk9bygzODE1MTcpLFE9byg3NzkzODkpO2xldCBaLGVlO2Z1bmN0aW9uIHRlKCl7aWYod2luZG93LmluaXREYXRhLmxmcyl7Y29uc3QgZT1kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJqcy1hZG1pbi13YXJuaW5nIilbMF07ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlKX1sZXQgZT0hMDtbL15cL2NoYXJ0XC8vLC9eXC9zaGFyZS15b3VyLWxvdmVcLy8sL15cL3BpbmVcLy9dLmZvckVhY2goKHQ9Pnt0LnRlc3Qod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSYmKGU9ITEpfSkpLGUmJndpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKX1mdW5jdGlvbiBvZShlKXt3aW5kb3cudXNlcj0oMCxQLmRlZXBFeHRlbmQpKHt9LGUpLHdpbmRvdy5UcmFkaW5nVmlldy5jaGFuZ2VMb2dpblN0YXRlKCEwKX1mdW5jdGlvbiBuZShlKXt7Y29uc3QgZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7ZS5jbGFzc0xpc3QudG9nZ2xlKCJpcy1hdXRoZW50aWNhdGVkIix3aW5kb3cuaXNfYXV0aGVudGljYXRlZCksZS5jbGFzc0xpc3QudG9nZ2xlKCJpcy1ub3QtYXV0aGVudGljYXRlZCIsIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKX13aW5kb3cuVFZTZXR0aW5ncyYmd2luZG93LlRWU2V0dGluZ3Muc3luYyh3aW5kb3cudXNlci5zZXR0aW5ncyksd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/KGUmJiExIT09d2luZG93LnVzZXIucHJvZmlsZV9kYXRhX2ZpbGxlZHx8dm9pZCAwPT09ZWV8fGVlLmNoZWNrKCksZXx8KFByb21pc2UuYWxsKFtvLmUoNzEyMzcpLG8uZSgzMTU1Nyksby5lKDMyMzg3KSxvLmUoNjQ2MzIpXSkudGhlbihvLmJpbmQobyw3NTQyMTgpKS50aGVuKChlPT5lLm9mZmVyQnV0dG9uTG9naW5TdGF0ZUNoYW5nZUluaXQoKSkpLCgwLGYub25Hb1BybykoKSYmd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpKSwhMT09PXdpbmRvdy51c2VyLnByb2ZpbGVfZGF0YV9maWxsZWQmJigoMCxmLmNoZWNrUGFnZVR5cGUpKCJtb2JpbGUiKXx8KDAsdy5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpfHx3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3RhcnRzV2l0aCgiL3ByaXZhY3ktcG9saWN5Iil8fHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zdGFydHNXaXRoKCIvcG9saWNpZXMiKXx8KDAsVC53aGVuRG9jdW1lbnRSZWFkeSkoKCgpPT57KDAsXy5zaG93U2lnbk1vZGFsKSh7bW9kZToiY3JlYXRlLWFjY291bnQiLG9uVW5tb3VudEV2ZW50OigpPT57d2luZG93LnVzZXIuc29jaWFsX3JlZ2lzdHJhdGlvbj8oby5lKDQyNDAyKS50aGVuKG8uYmluZChvLDk5MzY2MSkpLnRoZW4oKCh7cmVnaXN0cmF0aW9uRXZlbnQ6ZX0pPT57ZSgiU29jaWFsIil9KSksKDAsSy50cmFja0dUYWdBZHNFdmVudCkoSy5HVGFnRXZlbnQuUmVnaXN0cmF0aW9uQ29tcGxldGVkKSwoMCxKLnRyYWNrVHdpdHRlckV2ZW50KShKLlR3aXR0ZXJFdmVudC5SZWdpc3RyYXRpb25Db21wbGV0ZWQpLApkZWxldGUgd2luZG93LnVzZXIuc29jaWFsX3JlZ2lzdHJhdGlvbik6bi5UVlhXaW5kb3dFdmVudHMuZW1pdCgibG9naW5TdGF0ZUNoYW5nZSIsSlNPTi5zdHJpbmdpZnkoe2lzX2F1dGhlbnRpY2F0ZWQ6d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQsdXNlcjp3aW5kb3cudXNlcn0pKX19KX0pLCEwKSwoMCxYLnRyYWNrQ21FdmVudCkoWC5DbUV2ZW50LlJlZ2lzdHJhdGlvbkNvbXBsZXRlZCksKDAsaS50cmFja0V2ZW50KSgiQ29udmVyc2lvbiIsIkZpcnN0IGxvZ2luIiksZGVsZXRlIHdpbmRvdy51c2VyLnByb2ZpbGVfZGF0YV9maWxsZWQpLHouYXZhaWxhYmxlT2ZmZXJzLnJ1bk9yVXBkYXRlKCgoKT0+e3dpbmRvdy5UcmFkaW5nVmlldy5zZXRUcmlhbEF2YWlsaWFibGUoKDAsWS5pc1RyaWFsQXZhaWxhYmxlRm9yVXNlcikod2luZG93LnVzZXIsd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQpKX0pKSk6ei5hdmFpbGFibGVPZmZlcnMucnVuT3JVcGRhdGUoKGU9PntPYmplY3Qua2V5cyhlKS5mb3JFYWNoKCh0PT57Y29uc3Qgbz10O2Vbb10uYXZhaWxhYmxlX2Zvcl9hbm9uc3x8ZGVsZXRlIGVbb119KSksd2luZG93LnVzZXI9e3VzZXJuYW1lOiJHdWVzdCIsZm9sbG93aW5nOiIwIixmb2xsb3dlcnM6IjAiLGlnbm9yZV9saXN0OltdLGF2YWlsYWJsZV9vZmZlcnM6ZX0sbC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCJ0cmlhbF9hdmFpbGlhYmxlIil9KSl9KDAsdi5yZWdpc3RlcldpbmRvdykod2luZG93KSxRLkFjdGlvbkdyb3VwLnNldE1hdGNoZWRIb3RrZXlIYW5kbGVyKChlPT57KDAsaS50cmFja0V2ZW50KSgiS2V5Ym9hcmQgU2hvcnRjdXRzIiwoMCx5Lmh1bWFuUmVhZGFibGVIYXNoKShlKSl9KSksWj13aW5kb3cubG9naW5TdGF0ZUNoYW5nZT93aW5kb3cubG9naW5TdGF0ZUNoYW5nZTp3aW5kb3cubG9naW5TdGF0ZUNoYW5nZT1uZXcgay5EZWxlZ2F0ZSxaLnN1YnNjcmliZShudWxsLG5lKSwoMCx2LmNyZWF0ZUdyb3VwKSh7ZGVzYzoiU3VwcG9ydCJ9KS5hZGQoe2Rlc2M6Ik9wZW4iLGhvdGtleTp5Lk1vZGlmaWVycy5Nb2QrMTkxLGhhbmRsZXI6KCk9PigwLGIuc2hvd1N1cHBvcnREaWFsb2cpKHtpbml0aWFsU3RhdGU6InNob3J0Y3V0cyJ9KX0pLG4uVFZYV2luZG93RXZlbnRzLm9uKCJsb2dpblN0YXRlQ2hhbmdlIiwoZT0+e2NvbnN0IHQ9SlNPTi5wYXJzZShlKTt3aW5kb3cudXNlcj10LnVzZXIsd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ9ISF0LmlzX2F1dGhlbnRpY2F0ZWQsWi5maXJlKCl9KSksbi5UVlhXaW5kb3dFdmVudHMub24oInNpZ25PdXQiLCgoKT0+e3RlKCl9KSksKCgpPT57Y29uc3QgZT0idXNlci1vYmotY2hhbmdlZCIsdD17fTt3aW5kb3cuY3Jvc3NUYWJTeW5jVXNlckF0dHI9dD0+e2NvbnN0IG89e307dCBpbnN0YW5jZW9mIEFycmF5P3QuZm9yRWFjaCgoZT0+e29bZV09d2luZG93LnVzZXJbZV19KSk6b1t0XT13aW5kb3cudXNlclt0XSxuLlRWWFdpbmRvd0V2ZW50cy5lbWl0KGUsSlNPTi5zdHJpbmdpZnkobykpfSxuLlRWWFdpbmRvd0V2ZW50cy5vbihlLChlPT57Y29uc3Qgbz1KU09OLnBhcnNlKGUpO2xldCBuO2ZvcihuIGluIG8paWYoby5oYXNPd25Qcm9wZXJ0eShuKSl7d2luZG93LnVzZXJbbl09b1tuXTsodFtuXXx8W10pLmZvckVhY2goKGU9PntlLmZpcmUob1tuXSl9KSl9fSkpfSkoKSx3aW5kb3cuVHJhZGluZ1ZpZXcuY2hhbmdlTG9naW5TdGF0ZT1lPT57d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ9ISFlLG4uVFZYV2luZG93RXZlbnRzLmVtaXQoImxvZ2luU3RhdGVDaGFuZ2UiLEpTT04uc3RyaW5naWZ5KHtpc19hdXRoZW50aWNhdGVkOndpbmRvdy5pc19hdXRoZW50aWNhdGVkLHVzZXI6d2luZG93LnVzZXJ9KSksd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJlMuZW1pdChwLkdMT0JBTF9FVkVOVF9TSUdOX0lOX1NVQ0NFU1MpLFouZmlyZSgpfSx3aW5kb3cubG9naW5Vc2VyPW9lLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdG9yYWdlIiwoZT0+eyJsb2dpbl91c2VyIj09PWUua2V5JiZudWxsIT09ZS5uZXdWYWx1ZSYmb2UoSlNPTi5wYXJzZShlLm5ld1ZhbHVlKSl9KSksd2luZG93LlRyYWRpbmdWaWV3LnNpZ25PdXQ9KCk9Pntjb25zdCBlPXsuLi53aW5kb3cudXNlcn07KDAscy5mZXRjaCkoIi9hY2NvdW50cy9sb2dvdXQvIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnthY2NlcHQ6Imh0bWwifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbigoKCk9Pnt3aW5kb3cuVHJhZGluZ1ZpZXcuY2hhbmdlTG9naW5TdGF0ZSghMSksbi5UVlhXaW5kb3dFdmVudHMuZW1pdCgic2lnbk91dCIpLHRlKCl9KSkuY2F0Y2goKCgpPT57d2luZG93LnVzZXI9ZSx3aW5kb3cuVHJhZGluZ1ZpZXcuY2hhbmdlTG9naW5TdGF0ZSghMCl9KSl9LGVlPW5ldyBnLHdpbmRvdy5sb2dpblJlcXVpcmVkRGVsZWdhdGU9bmV3IGsuRGVsZWdhdGUsd2luZG93LnJ1bk9yU2lnbkluPShlLHQpPT57dHx8KHQ9e30pO2NvbnN0IG89W107dC5wYWlkQWNjb3VudENoZWNrJiZvLnB1c2goKCgpPT4oMCxxLnBhaWRBY2NvdW50Q2hlY2spKHtzdWNjZXNzQnV0dG9uVGV4dDp0LnBhaWRBY2NvdW50U3VjY2Vzc0J1dHRvblRleHR9KSkpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkP28ucmVkdWNlKCgoZSx0KT0+ZS50aGVuKHQpKSxQcm9taXNlLnJlc29sdmUoKSkudGhlbihlKS5jYXRjaCgoKCk9Pnt9KSk6KDAsXy5zaG93U2lnbk1vZGFsKSh7c291cmNlOnQuc291cmNlLHNvdXJjZU1ldGE6dC5zb3VyY2VNZXRhLGZlYXR1cmU6dC5mZWF0dXJlLG1vZGU6dC5tb2RlLHNpZ25pblN1Y2Nlc3M6ZSxzdGFydFRyaWFsOnQuc3RhcnRUcmlhbCxvblVubW91bnRFdmVudDp0Lm9uVW5tb3VudEV2ZW50LHVzZXJuYW1lOnQudXNlcm5hbWV9KX0sd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJm4uVFZYV2luZG93RXZlbnRzLm9uKCJ1c2VyLXN0YXR1cy1kZWNsYXJlZCIsKGU9Pnt3aW5kb3cudXNlci5kZWNsYXJlZF9zdGF0dXM9ZX0pKSx3aW5kb3cub25Mb2dpblN0YXRlQ2hhbmdlPW5lLHdpbmRvdy5UcmFkaW5nVmlldy5zZXRUcmlhbEF2YWlsaWFibGU9ZT0+ewpsLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0oInRyaWFsX2F2YWlsaWFibGUiLGU/IjEiOiIwIil9LHdpbmRvdy5UcmFkaW5nVmlldy5ub3RpZmljYXRpb25zQ2hhbmdlZD1uZXcgay5EZWxlZ2F0ZSxqKCksKDAsRy5pbml0TW91c2VDbGlja0F1dG9CbHVySGFuZGxlcikoKSwoMCxXLmluaXRNb2RhbFNjcm9sbExvY2tIYW5kbGVyKSh3aW5kb3csKCgpPT4oMCxNLnNldEZpeGVkQm9keVN0YXRlKSghMCkpLCgoKT0+KDAsTS5zZXRGaXhlZEJvZHlTdGF0ZSkoITEpKSl9LDMxNDEzMygpe2Z1bmN0aW9uIGUoZSl7aWYoZSBpbnN0YW5jZW9mIEVycm9yKXJldHVybiBlLnN0YWNrfHxlLm1lc3NhZ2U7dHJ5e3JldHVybiBlLm91dGVySFRNTC5zbGljZSgwLDEwMjQpfWNhdGNoe310cnl7aWYodm9pZCAwIT09ZSlyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSkuc2xpY2UoMCwxMDI0KX1jYXRjaHt9cmV0dXJuIFN0cmluZyhlKX1mdW5jdGlvbiB0KGUpe2lmKCFlKXJldHVybiBudWxsO3RyeXtyZXR1cm4gbmV3IFVSTChlKX1jYXRjaHtyZXR1cm4gbnVsbH19d2luZG93Ll9fdHZfanNfZXJyb3JzfHwod2luZG93Ll9fdHZfanNfZXJyb3JzPVtdKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCh0PT57Y29uc3Qgbz0obmV3IERhdGUpLnRvSVNPU3RyaW5nKCk7d2luZG93Ll9fdHZfanNfZXJyb3JzLnB1c2goYCR7b30gJHt0Lm1lc3NhZ2V8fCJKUyBlcnJvciJ9LiAke3QuZmlsZW5hbWV8fCI8dW5rbm93biB1cmw+In0sIGxpbmUgJHt0LmxpbmVub30sIGNvbCAke3QuY29sbm99LlxuRXJyb3I6ICR7ZSh0LmVycm9yKX1gKX0pLCExKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidW5oYW5kbGVkcmVqZWN0aW9uIiwodD0+e2NvbnN0IG89KG5ldyBEYXRlKS50b0lTT1N0cmluZygpO3dpbmRvdy5fX3R2X2pzX2Vycm9ycy5wdXNoKGAke299IFVuaGFuZGxlZCByZWplY3Rpb24uXG5SZWFzb246ICR7ZSh0LnJlYXNvbil9YCl9KSwhMSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLChvPT57aWYoZnVuY3Rpb24oZSxvKXtjb25zdCBuPXQoZSksaT10KG8pO3JldHVybiEoIW58fCFpKSYmImh0dHBzOiI9PT1uLnByb3RvY29sJiYiaHR0cHM6Ij09PWkucHJvdG9jb2wmJiJzZWN1cmVwdWJhZHMuZy5kb3VibGVjbGljay5uZXQiPT09bi5ob3N0bmFtZSYmL15hZHNlcnZpY2VcLmdvb2dsZVwuW2Etei5dKyQvaS50ZXN0KGkuaG9zdG5hbWUpfShvLnNvdXJjZUZpbGUsby5ibG9ja2VkVVJJKSlyZXR1cm47Y29uc3Qgbj0obmV3IERhdGUpLnRvSVNPU3RyaW5nKCksaT0icmVwb3J0Ij09PW8uZGlzcG9zaXRpb24/IkNTUCByZXBvcnQtb25seSI6IkNTUCB2aW9sYXRpb24iO3dpbmRvdy5fX3R2X2pzX2Vycm9ycy5wdXNoKGAke259ICR7aX06ICR7by52aW9sYXRlZERpcmVjdGl2ZXx8by5lZmZlY3RpdmVEaXJlY3RpdmV9LiAke28uc291cmNlRmlsZXx8Ijx1bmtub3duIHVybD4ifSwgbGluZSAke28ubGluZU51bWJlcn0sIGNvbCAke28uY29sdW1uTnVtYmVyfS5cbkJsb2NrZWQgVVJJOiAke28uYmxvY2tlZFVSSX1cblNhbXBsZTogJHtvLnNhbXBsZX1cblRhcmdldDogJHtlKG8udGFyZ2V0KX1gKX0pLCExKX0sMjMzMzk5KGUsdCxvKXt2YXIgbj1vKDIyMTA2MSksaT1vKDkzMjM2NSk7Y29uc3Qgcz0idHYubG9nZ2VyLmxvZ2xldmVsIixyPSJ0di5sb2dnZXIubG9nSGlnaFJhdGUiLGE9KDAsbi5nZXRMb2dnZXIpKCJsb2dnZXIiKTtmdW5jdGlvbiBsKCl7dHJ5e2kuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShyLFN0cmluZygoMCxuLmlzSGlnaFJhdGVFbmFibGVkKSgpKSksaS5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHMsU3RyaW5nKCgwLG4uZ2V0TG9nTGV2ZWwpKCkpKX1jYXRjaChlKXthLmxvZ1dhcm4oYENhbm5vdCBzYXZlIGxvZ2dlciBzdGF0ZSAobGV2ZWw6ICR7KDAsbi5nZXRMb2dMZXZlbCkoKX0sIGhpZ2gtcmF0ZTogJHsoMCxuLmlzSGlnaFJhdGVFbmFibGVkKSgpfSkgdG8gbG9jYWxTdG9yYWdlOiAke2UubWVzc2FnZX1gKX19d2luZG93LmxnZXQ9bi5nZXRMb2dIaXN0b3J5LHdpbmRvdy5sb249KGUsdCk9PnthLmxvZ05vcm1hbCgiRGVidWcgbG9nZ2luZyBlbmFibGVkIiksKDAsbi5sb2dnaW5nT24pKGUsdCksbCgpfSx3aW5kb3cubG9mZj0oKT0+e2EubG9nSW5mbygiRGVidWcgbG9nZ2luZyBkaXNhYmxlZCIpLCgwLG4ubG9nZ2luZ09mZikoKSxsKCl9LHdpbmRvdy5sbGV2ZWw9ZT0+e2EubG9nSW5mbygiQ2hhbmdlZCBsb2dnaW5nIGxldmVsIiksKDAsbi5zZXRMb2dMZXZlbCkoZSksbCgpfSxmdW5jdGlvbigpe2NvbnN0IGU9InRydWUiPT09aS5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKHIpOygwLG4uc2V0SGlnaFJhdGVTdGF0dXMpKGUpO2xldCB0PXBhcnNlSW50KGkuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShzKXx8IiIpO051bWJlci5pc05hTih0KSYmKHQ9bi5MT0dMRVZFTC5XQVJOSU5HKSwoMCxuLnNldExvZ0xldmVsKSh0KSxhLmxvZ05vcm1hbChgSW5pdCB3aXRoIHNldHRpbmdzIC0gbGV2ZWw6ICR7KDAsbi5nZXRMb2dMZXZlbCkoKX0sIGhpZ2gtcmF0ZTogJHsoMCxuLmlzSGlnaFJhdGVFbmFibGVkKSgpfWApfSgpLGEubG9nTm9ybWFsKGBTeW5jIGxvZ2dlciBhbmQgcGVyZiB0aW1lcywgbm93IGlzICR7cGVyZm9ybWFuY2Uubm93KCl9YCl9LDkyNjQxNSgpe3dpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9fSw1NjkzOTgoZSx0LG8pe28uZCh0LHtpc0ZlYXR1cmVFbmFibGVkOigpPT51LG9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQ6KCk9Pmx9KTt2YXIgbj1vKDk0ODM4MCksaT1vKDM3NzIyNikscz1vKDg1NjE5Nikscj1vKDkzMjM2NSk7Y29uc3QgYT1uZXcgbi5EZWxlZ2F0ZSxsPSgpPT5hLGM9ImZvcmNlZmVhdHVyZXRvZ2dsZS4iO2NvbnN0IGg9bmV3IGNsYXNze2VuYWJsZUZlYXR1cmUoZSl7ci5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKGMrZSwidHJ1ZSIpLGEuZmlyZShlKX1kaXNhYmxlRmVhdHVyZShlKXtyLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0oYytlLCJmYWxzZSIpLGEuZmlyZShlKX1yZXNldEZlYXR1cmUoZSl7CnIuVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShjK2UpLGEuZmlyZShlKX1vbkZlYXR1cmVzU3RhdGVDaGFuZ2VkKCl7cmV0dXJuIGF9fTtmdW5jdGlvbiBkKGUsdCl7cmV0dXJuKCFlW3RdfHwtMSE9PWVbdF0pJiYoISEoInRydWUiPT09ci5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGMrdCl8fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYidHJ1ZSI9PT13aW5kb3cudXNlcj8uc2V0dGluZ3M/LltjK3RdKXx8ISgiZmFsc2UiPT09ci5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGMrdCl8fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYiZmFsc2UiPT09d2luZG93LnVzZXI/LnNldHRpbmdzPy5bYyt0XSkmJighIWVbdF0mJigxPT09ZVt0XXx8KDAscy5zaG91bGRBZmZlY3RVc2VyKSh0LGVbdF0pKSkpfXdpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9LHdpbmRvdy5UcmFkaW5nVmlldy5GZWF0dXJlVG9nZ2xlPWg7Y29uc3QgdT0obT13aW5kb3cuZmVhdHVyZVRvZ2dsZVN0YXRlfHx7fSwoMCxpLm9uV2lkZ2V0KSgpfHxQcm9taXNlLmFsbChbby5lKDg1NDM0KSxvLmUoNzI4NSksby5lKDEzOTkzKV0pLnRoZW4oby5iaW5kKG8sNTA3Mjg1KSkudGhlbigoZT0+e2UucHVzaFN0cmVhbU11bHRpcGxleGVyLm9uKCJmZWF0dXJldG9nZ2xlIiwoZT0+e2NvbnN0IHQ9ZChtLGUubmFtZSk7bVtlLm5hbWVdPWUuc3RhdGUsdCE9PWQobSxlLm5hbWUpJiZhLmZpcmUoZS5uYW1lKX0pKX0pKSxkLmJpbmQobnVsbCxtKSk7dmFyIG07d2luZG93LlRyYWRpbmdWaWV3LmlzRmVhdHVyZUVuYWJsZWQ9dX0sMzg0MDE3KGUsdCxvKXtvLmQodCx7ZmV0Y2g6KCk9PnN9KTt2YXIgbj1vKDIyMTA2MSk7bygzMDAyODYpO2NvbnN0IGk9KDAsbi5nZXRMb2dnZXIpKCJGZXRjaCIpO2Z1bmN0aW9uIHMoZSx0LG89e30pe3tjb25zdHtsb2dPbkVycm9yU3RhdHVzOm49ITAsbG9nQm9keU9uRXJyb3I6cz0hMX09bzt0PXR8fHt9LGZ1bmN0aW9uKGUpe3JldHVybiBuZXcgVVJMKGUsZG9jdW1lbnQuYmFzZVVSSSkub3JpZ2luPT09bG9jYXRpb24ub3JpZ2lufShlKSYmKHQuaGVhZGVycz90LmhlYWRlcnMgaW5zdGFuY2VvZiBIZWFkZXJzfHwodC5oZWFkZXJzPW5ldyBIZWFkZXJzKHQuaGVhZGVycykpOnQuaGVhZGVycz1uZXcgSGVhZGVycyx3aW5kb3cubG9jYWxlJiZ0LmhlYWRlcnMuc2V0KCJYLUxhbmd1YWdlIix3aW5kb3cubG9jYWxlKSx0LmhlYWRlcnMuc2V0KCJYLVJlcXVlc3RlZC1XaXRoIiwiWE1MSHR0cFJlcXVlc3QiKSksdm9pZCAwPT09dC5jcmVkZW50aWFscyYmKHQuY3JlZGVudGlhbHM9InNhbWUtb3JpZ2luIik7Y29uc3Qgcj13aW5kb3cuZmV0Y2goZSx0KTtyZXR1cm4gci50aGVuKChvPT57aWYoIW8ub2smJm4pe2xldCBuPSIiO3QubWV0aG9kJiYobis9YCR7dC5tZXRob2QudG9VcHBlckNhc2UoKX0gYCksbis9ZSxuKz1gLiBTdGF0dXMgJHtvLnN0YXR1c31gLG8uc3RhdHVzVGV4dCYmKG4rPWAuICR7by5zdGF0dXNUZXh0fWApLG8uaGVhZGVycy52aWEmJihuKz1gLiBWaWE6ICR7by5oZWFkZXJzLnZpYX1gKSxzJiYic3RyaW5nIj09dHlwZW9mIHQuYm9keSYmKG4rPWAuIEJvZHk6ICR7dC5ib2R5LnNsaWNlKDAsMTAyNCl9YCksaS5sb2dFcnJvcihuKX1yZXR1cm4gb30pLChvPT57aWYobyYmIkFib3J0RXJyb3IiPT09by5uYW1lKXJldHVybjtsZXQgbj0iIjt0Lm1ldGhvZCYmKG4rPWAke3QubWV0aG9kLnRvVXBwZXJDYXNlKCl9IGApLG4rPWUsbmF2aWdhdG9yLm9uTGluZT9uKz1gLiAke1N0cmluZyhvKX1gOm4rPSIuIFVzZXIgaXMgb2ZmbGluZS4iLGkubG9nRXJyb3Iobil9KSkscn19fSw5MzIzNjUoZSx0LG8pe28uZCh0LHtUVkxvY2FsU3RvcmFnZTooKT0+c30pO2NvbnN0IG49KDAsbygyMjEwNjEpLmdldExvZ2dlcikoIlRWTG9jYWxTdG9yYWdlIik7dmFyIGk9ZnVuY3Rpb24oKXt0cnl7dGhpcy5pc0F2YWlsYWJsZT0hMCx0aGlzLmxvY2FsU3RvcmFnZT13aW5kb3cubG9jYWxTdG9yYWdlLHRoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oInR2bG9jYWxzdG9yYWdlLmF2YWlsYWJsZSIsInRydWUiKX1jYXRjaChlKXtkZWxldGUgdGhpcy5pc0F2YWlsYWJsZSxkZWxldGUgdGhpcy5sb2NhbFN0b3JhZ2V9dGhpcy5fdXBkYXRlTGVuZ3RoKCk7dHJ5e3RoaXMuX3JlcG9ydCgpfWNhdGNoKGUpe319O2kucHJvdG90eXBlLl9yZXBvcnQ9ZnVuY3Rpb24oKXtpZih0aGlzLmlzQXZhaWxhYmxlKXtjb25zdCBlPTEwLHQ9W107Zm9yKGxldCBlPTA7ZTx0aGlzLmxvY2FsU3RvcmFnZS5sZW5ndGg7ZSsrKXtjb25zdCBvPXRoaXMua2V5KGUpO3QucHVzaCh7a2V5Om8sbGVuZ3RoOlN0cmluZyh0aGlzLmdldEl0ZW0obykpLmxlbmd0aH0pfXQuc29ydCgoKGUsdCk9PnQubGVuZ3RoLWUubGVuZ3RoKSk7Y29uc3Qgbz10LnNsaWNlKDAsZSk7dC5zb3J0KCgoZSx0KT0+dC5rZXkubGVuZ3RoLWUua2V5Lmxlbmd0aCkpO2NvbnN0IGk9dC5zbGljZSgwLGUpO24ubG9nTm9ybWFsKGBUb3RhbCBhbW91bnQgb2Yga2V5cyBpbiBMb2NhbCBTdG9yYWdlOiAke3RoaXMubGVuZ3RofWApLG4ubG9nTm9ybWFsKGBUb3AgJHtlfSBrZXlzIHdpdGggbG9uZ2VzdCB2YWx1ZXM6ICR7SlNPTi5zdHJpbmdpZnkobyl9YCksbi5sb2dOb3JtYWwoYFRvcCAke2V9IGxvbmdlc3Qga2V5IG5hbWVzOiAke0pTT04uc3RyaW5naWZ5KGkpfWApO3RyeXtuYXZpZ2F0b3Iuc3RvcmFnZS5lc3RpbWF0ZSgpLnRoZW4oKGU9PntuLmxvZ05vcm1hbChgU3RvcmFnZSBlc3RpbWF0ZTogJHtKU09OLnN0cmluZ2lmeShlKX1gKX0pKX1jYXRjaChlKXt9fX0saS5wcm90b3R5cGUubGVuZ3RoPTAsaS5wcm90b3R5cGUuaXNBdmFpbGFibGU9ITEsaS5wcm90b3R5cGUubG9jYWxTdG9yYWdlPXsidHZsb2NhbHN0b3JhZ2UuYXZhaWxhYmxlIjoiZmFsc2UifSxpLnByb3RvdHlwZS5fdXBkYXRlTGVuZ3RoPWZ1bmN0aW9uKCl7aWYodGhpcy5pc0F2YWlsYWJsZSl0aGlzLmxlbmd0aD10aGlzLmxvY2FsU3RvcmFnZS5sZW5ndGg7ZWxzZXt2YXIgZSx0PTA7Zm9yKGUgaW4gdGhpcy5sb2NhbFN0b3JhZ2UpdGhpcy5sb2NhbFN0b3JhZ2UuaGFzT3duUHJvcGVydHkoZSkmJnQrKwo7dGhpcy5sZW5ndGg9dH19LGkucHJvdG90eXBlLmtleT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5rZXkoZSk6T2JqZWN0LmtleXModGhpcy5sb2NhbFN0b3JhZ2UpW2VdfSxpLnByb3RvdHlwZS5nZXRJdGVtPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oZSk6dm9pZCAwPT09dGhpcy5sb2NhbFN0b3JhZ2VbZV0/bnVsbDp0aGlzLmxvY2FsU3RvcmFnZVtlXX0saS5wcm90b3R5cGUuc2V0SXRlbT1mdW5jdGlvbihlLHQpe3RoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShlLHQpOnRoaXMubG9jYWxTdG9yYWdlW2VdPXQsdGhpcy5fdXBkYXRlTGVuZ3RoKCl9LGkucHJvdG90eXBlLnJlbW92ZUl0ZW09ZnVuY3Rpb24oZSl7dGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGUpOmRlbGV0ZSB0aGlzLmxvY2FsU3RvcmFnZVtlXSx0aGlzLl91cGRhdGVMZW5ndGgoKX0saS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLmNsZWFyKCk6dGhpcy5sb2NhbFN0b3JhZ2U9e30sdGhpcy5fdXBkYXRlTGVuZ3RoKCl9O2NvbnN0IHM9bmV3IGk7d2luZG93LlRWTG9jYWxTdG9yYWdlPXN9LDExNzMxMyhlLHQsbyl7by5kKHQse2lzT25Nb2JpbGVBcHBQYWdlOigpPT5pLHVybFdpdGhNb2JpbGVBcHBQYXJhbXM6KCk9PnN9KTt2YXIgbj1vKDU4NzQzNik7ZnVuY3Rpb24gaShlLHQ9ITEpe2NvbnN0e3NlYXJjaFBhcmFtczpvfT1uZXcgVVJMKFN0cmluZyhsb2NhdGlvbikpO2xldCBpPSJ0cnVlIj09PW8uZ2V0KCJtb2JpbGVhcHBfbmV3Iikscz0idHJ1ZSI9PT1vLmdldCgibW9iaWxlYXBwIik7aWYoIXQpe2NvbnN0IGU9bi5nZXQoInR2X2FwcCIpfHwiIjtpfHw9WyJhbmRyb2lkIiwiYW5kcm9pZF9ucHMiXS5pbmNsdWRlcyhlKSxzfHw9ImlvcyI9PT1lfXJldHVybiEoIm5ldyIhPT1lJiYiYW55IiE9PWV8fCFpKXx8ISgibmV3Ij09PWV8fCFzKX1mdW5jdGlvbiBzKGUsdD0hMSl7aWYoaSgibmV3Iix0KSl7Y29uc3QgdD1uZXcgVVJMKGUsbG9jYXRpb24uaHJlZik7dC5zZWFyY2hQYXJhbXMuc2V0KCJtb2JpbGVhcHBfbmV3IiwidHJ1ZSIpLGU9dC50b1N0cmluZygpfWlmKGkoIm9sZCIsdCkpe2NvbnN0IHQ9bmV3IFVSTChlLGxvY2F0aW9uLmhyZWYpO3Quc2VhcmNoUGFyYW1zLnNldCgibW9iaWxlYXBwIiwidHJ1ZSIpLGU9dC50b1N0cmluZygpfXJldHVybiBlfX0sOTA5Nzk4KGUsdCxvKXtvLmQodCx7Zmx1c2hEZWxlZ2F0ZTooKT0+bn0pO2NvbnN0IG49bmV3KG8oOTQ4MzgwKS5EZWxlZ2F0ZSl9LDI0NzkwMShlLHQsbyl7dmFyIG47by5kKHQse1N0ZFRoZW1lOigpPT5ufSksZnVuY3Rpb24oZSl7ZS5MaWdodD0ibGlnaHQiLGUuRGFyaz0iZGFyayJ9KG58fChuPXt9KSl9LDM4NjkzMShlLHQsbyl7by5kKHQse3RyYWNrRXZlbnQ6KCk9PmF9KTt2YXIgbj1vKDIyMTA2MSksaT1vKDkzMDIzMSk7bygxNzk3NzEpO2NvbnN0IHM9KDAsbi5nZXRMb2dnZXIpKCJDb21tb24uVHJhY2tFdmVudCIpO2xldCByPSExO2NvbnN0IGE9KGUsdCxvKT0+e2lmKHIpcmV0dXJuO2xldCBuPShlP2UrIjoiOiIiKSt0O28mJihuKz0iICIrbykscy5sb2dOb3JtYWwobiksKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iil8fCF3aW5kb3cuX1VOSVRfVEVTVFMmJndpbmRvdy5ndGFnJiZ3aW5kb3cuZ3RhZygiZXZlbnQiLHQse2V2ZW50X2NhdGVnb3J5OmUsZXZlbnRfbGFiZWw6b30pfTt2YXIgbCxjLGg7IWZ1bmN0aW9uKGUpe2UuR1VJPSJHVUkifShsfHwobD17fSkpLGZ1bmN0aW9uKGUpe2UuQ2hhcnRIZWFkZXJUb29sYmFyPSJDaGFydCBIZWFkZXIgVG9vbGJhciIsZS5DaGFydEJvdHRvbVRvb2xiYXI9IkNoYXJ0IEJvdHRvbSBUb29sYmFyIixlLkNoYXJ0TGVmdFRvb2xiYXI9IkNoYXJ0IExlZnQgVG9vbGJhciIsZS5UaW1lSW50ZXJ2YWw9IlRpbWUgSW50ZXJ2YWwiLGUuTG9hZENoYXJ0TGF5b3V0PSJMb2FkIGNoYXJ0IGxheW91dCJ9KGN8fChjPXt9KSksZnVuY3Rpb24oZSl7ZS5SYW5nZT0icmFuZ2UiLGUuR29Ubz0iZ28gdG8iLGUuQ2hhcnRQcm9wZXJ0aWVzPSJjaGFydCBwcm9wZXJ0aWVzIixlLkNvbXBhcmU9ImNvbXBhcmUiLGUuU2VsZWN0TGF5b3V0PSJzZWxlY3QgbGF5b3V0IixlLk1hZ25ldE1vZGU9Im1hZ25ldCBtb2RlIixlLk1hZ25ldFNuYXBzPSJtYWduZXQgc25hcHMiLGUuRHJhd2luZ01vZGU9ImRyYXdpbmcgbW9kZSIsZS5Mb2NrQWxsRHJhd2luZz0ibG9jayBhbGwgZHJhd2luZyIsZS5SZW1vdmVEcmF3aW5nPSJyZW1vdmUgZHJhd2luZyIsZS5SZW1vdmVJbmRpY2F0b3I9InJlbW92ZSBpbmRpY2F0b3IiLGUuUmVtb3ZlQWxsPSJyZW1vdmUgYWxsIixlLkhpZGVEcmF3aW5ncz0iaGlkZSBkcmF3aW5ncyIsZS5IaWRlSW5kaWNhdG9ycz0iaGlkZSBpbmRpY2F0b3JzIixlLkhpZGVQb3NpdGlvbnM9ImhpZGUgcG9zaXRpb25zIixlLkhpZGVBbGw9ImhpZGUgYWxsIixlLlN5bmM9InN5bmMiLGUuU3luY01vZGU9InN5bmMgbW9kZSIsZS5Td2l0Y2hDaGFydExheW91dD0iU3dpdGNoIGNoYXJ0IGxheW91dCIsZS5EZWxldGVDaGFydExheW91dD0iRGVsZXRlIGNoYXJ0IGxheW91dCIsZS5Mb2FkQ2hhcnRMYXlvdXQ9IkxvYWQgY2hhcnQgbGF5b3V0IixlLkFkZFRvRmF2b3JpdGVzPSJBZGQgdG8gZmF2b3JpdGVzIixlLlNvcnQ9IlNvcnQifShofHwoaD17fSkpfSwyMzU3MjQoZSx0LG8pe28uZCh0LHtNb2RpZmllcnM6KCk9PnIsaGFzaEZyb21FdmVudDooKT0+bCxob3RrZXlIYXNoVG9BcmlhS2V5c2hvcnRjdXRzOigpPT5nLGh1bWFuUmVhZGFibGVIYXNoOigpPT51LGh1bWFuUmVhZGFibGVNb2RpZmllcnM6KCk9PmMsaXNNYWNLZXlib2FyZDooKT0+cyxtb2RpZmllcnNGcm9tRXZlbnQ6KCk9PmF9KTt2YXIgbixpPW8oNzM4NDU4KTshZnVuY3Rpb24oZSl7ZVtlLktleUNvZGU9MjU1XT0iS2V5Q29kZSIsZVtlLkNvbnRyb2w9MjU2XT0iQ29udHJvbCIsZVtlLkFsdD01MTJdPSJBbHQiLAplW2UuU2hpZnQ9MTAyNF09IlNoaWZ0IixlW2UuTWV0YT0yMDQ4XT0iTWV0YSJ9KG58fChuPXt9KSk7Y29uc3Qgcz1pLmlzTWFjfHxpLmlzSU9TO3ZhciByO2Z1bmN0aW9uIGEoZSl7bGV0IHQ9MDtyZXR1cm4gZS5zaGlmdEtleSYmKHQrPTEwMjQpLGUuYWx0S2V5JiYodCs9NTEyKSxlLmN0cmxLZXkmJih0Kz0yNTYpLGUubWV0YUtleSYmKHQrPTIwNDgpLHR9ZnVuY3Rpb24gbChlKXtyZXR1cm4gYShlKXxlLmtleUNvZGV9IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuQWx0PTUxMl09IkFsdCIsZVtlLlNoaWZ0PTEwMjRdPSJTaGlmdCIsZVtlLk1vZD1zPzIwNDg6MjU2XT0iTW9kIixlW2UuQ29udHJvbD0yNTZdPSJDb250cm9sIixlW2UuTWV0YT0yMDQ4XT0iTWV0YSJ9KHJ8fChyPXt9KSk7ZnVuY3Rpb24gYyhlLHQ9IXMpe2xldCBvPSIiO3JldHVybiAyNTYmZSYmKG8rPW0ocz8iXiI6IkN0cmwiLHQpKSw1MTImZSYmKG8rPW0ocz8i4oylIjoiQWx0Iix0KSksMTAyNCZlJiYobys9bShzPyLih6ciOiJTaGlmdCIsdCkpLDIwNDgmZSYmKG8rPW0ocz8i4oyYIjoiV2luIix0KSksb31jb25zdCBoPXs5OiLih6UiLDEzOiLihrUiLDI3OiJFc2MiLDg6cz8i4oyrIjoiQmFja3NwYWNlIiwzMjoiU3BhY2UiLDM1OiJFbmQiLDM2OiJIb21lIiwzNzoi4oaQIiwzODoi4oaRIiwzOToi4oaSIiw0MDoi4oaTIiw0NToiSW5zIiw0NjoiRGVsIiwxODg6IiwiLDE5MDoiRG90IiwxOTE6Ii8ifSxkPXs5OiJUYWIiLDEzOiJFbnRlciIsMjc6IkVzYyIsODoiQmFja3NwYWNlIiwzMjoiU3BhY2UiLDM1OiJFbmQiLDM2OiJIb21lIiwzNzoiQXJyb3dMZWZ0IiwzODoiQXJyb3dVcCIsMzk6IkFycm93UmlnaHQiLDQwOiJBcnJvd0Rvd24iLDQ1OiJJbnMiLDQ2OiJEZWwiLDE4ODoiLCIsMTkwOiIuIiwxOTE6Ii8ifTtmb3IobGV0IGU9MTtlPD0xNjtlKyspaFtlKzExMV09YEYke2V9YCxkW2UrMTExXT1gRiR7ZX1gO2Z1bmN0aW9uIHUoZSl7bGV0IHQ9YyhlKTtjb25zdCBvPTI1NSZlO3JldHVybiB0Kz1vIGluIGg/aFtvXTpTdHJpbmcuZnJvbUNoYXJDb2RlKG8pLHR9ZnVuY3Rpb24gbShlLHQpe3JldHVybmAke2V9JHt0PyIgKyAiOnM/IiAiOiIifWB9ZnVuY3Rpb24gZyhlKXtjb25zdCB0PVtdOzI1NiZlJiZ0LnB1c2goIkN0cmwiKSw1MTImZSYmdC5wdXNoKCJBbHQiKSwxMDI0JmUmJnQucHVzaCgiU2hpZnQiKSwyMDQ4JmUmJnQucHVzaCgiTWV0YSIpO2NvbnN0IG89MjU1JmU7cmV0dXJuIG8gaW4gaD90LnB1c2goaFtvXSk6dC5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUobykpLHQuam9pbigiKyIpfX0sNzIxMzY5KGUsdCxvKXtvLmQodCx7aXNOYXRpdmVVSUludGVyYWN0aW9uOigpPT5zLGlzVGV4dEVkaXRpbmdGaWVsZDooKT0+aX0pO3ZhciBuPW8oMjM1NzI0KTtmdW5jdGlvbiBpKGUpe2lmKCJJTlBVVCI9PT1lLnRhZ05hbWUpe2NvbnN0IHQ9ZS50eXBlO3JldHVybiJ0ZXh0Ij09PXR8fCJlbWFpbCI9PT10fHwibnVtYmVyIj09PXR8fCJwYXNzd29yZCI9PT10fHwic2VhcmNoIj09PXR8fCJ0ZWwiPT09dHx8InVybCI9PT10fXJldHVybiJURVhUQVJFQSI9PT1lLnRhZ05hbWV8fGUuaXNDb250ZW50RWRpdGFibGV9ZnVuY3Rpb24gcyhlLHQpe2lmKCF0KXJldHVybiExO2NvbnN0IG89MjU1JmU7aWYoMjc9PT1vfHxvPj4+ND09NylyZXR1cm4hMTtzd2l0Y2goZV5vKXtjYXNlIG4uTW9kaWZpZXJzLkFsdDpyZXR1cm4oMzg9PT1vfHw0MD09PW8pJiYiU0VMRUNUIj09PXQudGFnTmFtZXx8aSh0KTtjYXNlIG4uTW9kaWZpZXJzLkFsdCtuLk1vZGlmaWVycy5TaGlmdDpyZXR1cm4gaSh0KTtjYXNlIG4uTW9kaWZpZXJzLk1vZDppZig2Nz09PW98fCFuLmlzTWFjS2V5Ym9hcmQmJjQ1PT09byl7Y29uc3QgZT10Lm93bmVyRG9jdW1lbnQmJnQub3duZXJEb2N1bWVudC5nZXRTZWxlY3Rpb24oKTtpZihlJiYhZS5pc0NvbGxhcHNlZClyZXR1cm4hMH1yZXR1cm4gaSh0KTtjYXNlIG4uTW9kaWZpZXJzLk1vZCtuLk1vZGlmaWVycy5TaGlmdDpyZXR1cm4gbz49MzMmJm88PTQwJiZpKHQpO2Nhc2Ugbi5Nb2RpZmllcnMuU2hpZnQ6Y2FzZSAwOnJldHVybiA5PT09bz8hKCF0Lm93bmVyRG9jdW1lbnR8fHQ9PT10Lm93bmVyRG9jdW1lbnQuYm9keXx8dD09PXQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpOighZnVuY3Rpb24oZSl7aWYoIkJVVFRPTiI9PT1lLnRhZ05hbWUpcmV0dXJuITA7aWYoIklOUFVUIj09PWUudGFnTmFtZSl7Y29uc3QgdD1lLnR5cGU7aWYoInN1Ym1pdCI9PT10fHwiYnV0dG9uIj09PXR8fCJyZXNldCI9PT10fHwiY2hlY2tib3giPT09dHx8InJhZGlvIj09PXQpcmV0dXJuITB9cmV0dXJuITF9KHQpfHwxMz09PW98fDMyPT09b3x8OT09PW8pJiYoImZvcm0iaW4gdHx8dC5pc0NvbnRlbnRFZGl0YWJsZSl9cmV0dXJuITF9fSw5OTU2NzgoZSx0LG8pe28uZCh0LHtpbml0TW9kYWxTY3JvbGxMb2NrSGFuZGxlcjooKT0+cyxyZWxlYXNlTW9kYWxTY3JvbGxMb2NrOigpPT5hLHJlcXVlc3RNb2RhbFNjcm9sbExvY2s6KCk9PnJ9KTtjb25zdCBuPSJtb2RhbC1zY3JvbGwtbG9jay1yZXF1ZXN0IixpPSJtb2RhbC1zY3JvbGwtbG9jay1yZWxlYXNlIjtmdW5jdGlvbiBzKGUsdCxvKXtlLmFkZEV2ZW50TGlzdGVuZXIobiwoKCk9PnQoKSkpLGUuYWRkRXZlbnRMaXN0ZW5lcihpLCgoKT0+bygpKSl9ZnVuY3Rpb24gcihlKXtlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KG4pKX1mdW5jdGlvbiBhKGUpe2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoaSkpfX0sNTcwMTkzKGUsdCxvKXtvLmQodCx7Rk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURTooKT0+bn0pO2NvbnN0IG49ImRhdGEtZm9jdXMtdHJhcCJ9LDY4MjM4MShlLHQsbyl7by5kKHQse0ZPQ1VTQUJMRV9TRUxFQ1RPUjooKT0+aSxjcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcjooKT0+aCxnZXRBY3RpdmVFbGVtZW50U2VsZWN0b3JzOigpPT5jLGlzSFRNTE9yU1ZHRWxlbWVudDooKT0+ZCxpc0luZXJ0Um9vdDooKT0+YSxpc1Zpc2liaWxpdHlWaXNpYmxlOigpPT5zfSkKO2NvbnN0IG49WyJidXR0b24iLCJmaWVsZHNldCIsIm9wdGdyb3VwIiwib3B0aW9uIiwic2VsZWN0IiwidGV4dGFyZWEiLCJpbnB1dCJdLGk9WyJidXR0b24iLCJpbnB1dCIsInNlbGVjdCIsInRleHRhcmVhIiwiYVtocmVmXSIsImF1ZGlvW2NvbnRyb2xzXSIsInZpZGVvW2NvbnRyb2xzXSIsJ1t0YWJpbmRleD0iMCJdJywnW2NvbnRlbnRlZGl0YWJsZT0idHJ1ZSJdJ10ubWFwKChlPT5uLmluY2x1ZGVzKGUpP2Ake2V9Om5vdCg6ZGlzYWJsZWQpYDplKSkubWFwKChlPT5gJHtlfTpub3QoW3RhYmluZGV4PSItMSJdKWApKS5qb2luKCIsIik7ZnVuY3Rpb24gcyhlKXtyZXR1cm4idmlzaWJsZSI9PT1nZXRDb21wdXRlZFN0eWxlKGUpLnZpc2liaWxpdHl9ZnVuY3Rpb24gcihlLHQpe2lmKGUubWF0Y2hlcygiW2luZXJ0XSxbaW5lcnRdICoiKSlyZXR1cm4hMDtsZXQgbz1lO2Zvcig7byE9PXQmJm51bGwhPT1vOyl7aWYobChvKSlyZXR1cm4hMDtvPW8ucGFyZW50RWxlbWVudH1yZXR1cm4hMX1mdW5jdGlvbiBhKGUpe3JldHVybiBlLm1hdGNoZXMoIltpbmVydF0iKXx8bChlKX1mdW5jdGlvbiBsKGUpe3JldHVybiJub25lIj09PWdldENvbXB1dGVkU3R5bGUoZSkuZGlzcGxheX1mdW5jdGlvbiBjKCl7cmV0dXJuIGl9ZnVuY3Rpb24gaChlKXtyZXR1cm4gdD0+cyh0KSYmIXIodCxlKX1mdW5jdGlvbiBkKGUpe3JldHVybiBlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnR8fGUgaW5zdGFuY2VvZiBTVkdFbGVtZW50fX0sOTM0MDgxKGUsdCxvKXtvLmQodCx7U1RPUllfUE9TVEVSUzooKT0+bn0pO2NvbnN0IG49W3tuYW1lOiJuZW9uIixwb3N0ZXI6by5wKyJuZW9uLmZmOTMzMTBlNzk1ZDU0YTVkMzliLndlYnAifSx7bmFtZToibWFycyIscG9zdGVyOm8ucCsibWFycy5jYjZhMzcxZmE3ODIzNjYzNDNiZS53ZWJwIn0se25hbWU6InNub3ciLHBvc3RlcjpvLnArInNub3cuOGY1ZWM5Y2Q4NGE3NTJmNDZiNjgud2VicCJ9XX0sODQyMTAyKGUsdCxvKXtvLmQodCx7aXNTaG93UHJvbW9WaWRlbzooKT0+cn0pO3ZhciBuPW8oODA5NDM2KTtjb25zdCBpPW5bIm1lZGlhLW1mLXRhYmxldC1sYW5kc2NhcGUiXSxzPW5bIm1lZGlhLW1mLXRhYmxldC12ZXJ0aWNhbCJdO2Z1bmN0aW9uIHIoKXtjb25zdCBlPXdpbmRvdy5tYXRjaE1lZGlhKGkpLm1hdGNoZXMsdD13aW5kb3cubWF0Y2hNZWRpYShzKS5tYXRjaGVzLG89d2luZG93LmlubmVyV2lkdGgsbj13aW5kb3cuaW5uZXJIZWlnaHQ7cmV0dXJuISFlfHwhIXQmJm4+PW99fSw5Nzg1NChlLHQsbyl7by5kKHQse29uZVRhcFNpZ25Nb2RhbERlbGVnYXRlOigpPT5ufSk7Y29uc3Qgbj1uZXcobyg5NDgzODApLkRlbGVnYXRlKX0sMjM5NzE5KGUsdCxvKXtvLmQodCx7R0xPQkFMX0VWRU5UX1NJR05fSU5fU1VDQ0VTUzooKT0+bixzaWdudXBTb3VyY2U6KCk9Pmksc2lnbnVwU291cmNlTWV0YTooKT0+c30pO2NvbnN0IG49IkdMT0JBTF9FVkVOVF9TSUdOX0lOX1NVQ0NFU1MiLGk9InNpZ251cFNvdXJjZSIscz0ic2lnbnVwU291cmNlTWV0YSJ9LDcxOTE5NChlLHQsbyl7by5kKHQse3BpY2tTdG9yeUluZGV4OigpPT5zfSk7dmFyIG49byg5MzIzNjUpO2NvbnN0IGk9InNpZ25pbi1wcm9tby1zdG9yeSI7ZnVuY3Rpb24gcyhlKXtjb25zdCB0PWZ1bmN0aW9uKCl7dHJ5e2NvbnN0IGU9bi5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGkpO2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10JiYic3RyaW5nIj09dHlwZW9mIHQubmFtZSYmIm51bWJlciI9PXR5cGVvZiB0LnRpbWVzdGFtcD90Om51bGx9Y2F0Y2h7cmV0dXJuIG51bGx9fSgpLG89bnVsbCE9PXQ/ZS5pbmRleE9mKHQubmFtZSk6LTE7aWYobnVsbCE9PXQmJi0xIT09byYmRGF0ZS5ub3coKS10LnRpbWVzdGFtcDw4NjRlNSlyZXR1cm4gbztjb25zdCBzPWZ1bmN0aW9uKGUsdCl7aWYoZTw9MXx8dDwwKXJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqZSk7cmV0dXJuKHQrMStNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKGUtMSkpKSVlfShlLmxlbmd0aCxvKTtyZXR1cm4gbi5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKGksSlNPTi5zdHJpbmdpZnkoe25hbWU6ZVtzXSx0aW1lc3RhbXA6RGF0ZS5ub3coKX0pKSxzfX0sNzU2MjcxKGUsdCxvKXtvLmQodCx7U1RPUllfTkFNRVM6KCk9Pm59KTtjb25zdCBuPVsibmVvbiIsIm1hcnMiLCJzbm93Il19LDg2NDAzNChlLHQsbyl7dmFyIG47by5kKHQse0JpbGxpbmdDeWNsZTooKT0+bixNT05USExZX1NVQlNDUklQVElPTl9EQVlTX0xFTjooKT0+cyxXRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5Nb250aGx5PSJtIixlLlRocmVlTW9udGhzPSIzbSIsZS5PbmVZZWFyPSJ5In0obnx8KG49e30pKTtjb25zdCBpPTcscz0zMH0sOTEzNzA2KGUsdCxvKXtvLmQodCx7T0ZGRVJTOigpPT5ufSk7Y29uc3Qgbj17dHJpYWw6InRyaWFsIixlYXJseV9hY2Nlc3M6ImVhcmx5X2FjY2VzcyIsYmxhY2tfZnJpZGF5OiJibGFja19mcmlkYXkiLGN5YmVyX21vbmRheToiY3liZXJfbW9uZGF5IixjdXN0b21fZGlzY291bnQ6ImN1c3RvbV9kaXNjb3VudCIsbG9uZ2VyX2N5Y2xlOiJsb25nZXJfY3ljbGUiLHVwZ3JhZGU6InVwZ3JhZGUiLGV4dGVuZDoiZXh0ZW5kIixsYXN0X2NoYW5jZToibGFzdF9jaGFuY2UiLG9uZV91c2Q6Im9uZV91c2QiLG9uZV91c2RfeWVhcmx5OiJvbmVfdXNkX3llYXJseSIsdGhyZWVfbW9udGhzOiJ0aHJlZV9tb250aHMiLHVuc3Vic2NyaWJlOiJ1bnN1YnNjcmliZSIsc2l4X21vbnRoczoic2l4X21vbnRocyIsY291cG9uOiJjb3Vwb24ifTt2YXIgaSxzOyFmdW5jdGlvbihlKXtlLlR3b1dlZWtzPSJMYXN0Q2hhbmNlXzJ3IixlLlR3b0RheXM9Ikxhc3RDaGFuY2VfMmQiLGUuSG91cnM9Ikxhc3RDaGFuY2VfMjRoIn0oaXx8KGk9e30pKSxmdW5jdGlvbihlKXtlLlN0YXJ0ZWQ9InN0YXJ0ZWQiLGUuRGF5NT0iYWZ0ZXIgNSBkYXlzIixlLkRheTc9ImFmdGVyIDcgZGF5cyIsZS5EYXkxMj0iYWZ0ZXIgMTIgZGF5cyIsZS5EYXkxND0iYWZ0ZXIgMTQgZGF5cyIsCmUuV2VlazE9ImFmdGVyIDEgd2VlayIsZS5XZWVrMj0iYWZ0ZXIgMiB3ZWVrcyIsZS5XZWVrMz0iYWZ0ZXIgMyB3ZWVrcyIsZS5XZWVrND0iYWZ0ZXIgNCB3ZWVrcyIsZS5GaW5pc2hlZD0iZmluaXNoZWQifShzfHwocz17fSkpfSw0NTAxNDAoZSx0LG8pe28uZCh0LHtNb3VzZUNsaWNrQXV0b0JsdXJIYW5kbGVyOigpPT5yLGluaXRNb3VzZUNsaWNrQXV0b0JsdXJIYW5kbGVyOigpPT5hfSk7dmFyIG49byg4Mzk0MjYpLGk9byg4NDg5ODgpO2NvbnN0IHM9ImRhdGEtbW91c2UtY2xpY2stYXV0by1ibHVyIjtjbGFzcyBye2NvbnN0cnVjdG9yKCl7dGhpcy5faGFuZGxlcj1lPT57ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYoKDAsaS5pc0tleWJvYXJkQ2xpY2spKGUpfHxlLnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQmJiJJTlBVVCIhPT1kb2N1bWVudC5hY3RpdmVFbGVtZW50LnRhZ05hbWUmJm51bGwhPT1kb2N1bWVudC5hY3RpdmVFbGVtZW50LmNsb3Nlc3QoYFske3N9XWApJiZkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKSl9LHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5faGFuZGxlciwhMCl9c3RhdGljIGF0dHJpYnV0ZXMoZT0hMCl7cmV0dXJuIGU/e1tzXTohMH06e319fWNvbnN0IGE9KDAsbi5kZWZhdWx0KSgoKCk9Pm5ldyByKSl9LDUxODc1KGUsdCxvKXtmdW5jdGlvbiBuKGUpe2UucHJldmVudERlZmF1bHQoKX1vLmQodCx7cHJldmVudERlZmF1bHQ6KCk9Pm4scHJldmVudERlZmF1bHRGb3JDb250ZXh0TWVudTooKT0+c30pO2NvbnN0IGk9WyJpbnB1dDpub3QoW3R5cGVdKSIsJ2lucHV0W3R5cGU9InRleHQiXScsJ2lucHV0W3R5cGU9ImVtYWlsIl0nLCdpbnB1dFt0eXBlPSJwYXNzd29yZCJdJywnaW5wdXRbdHlwZT0ic2VhcmNoIl0nLCdpbnB1dFt0eXBlPSJudW1iZXIiXScsJ2lucHV0W3R5cGU9InVybCJdJywidGV4dGFyZWEiLCJhW2hyZWZdIiwnKltjb250ZW50ZWRpdGFibGU9InRydWUiXScsIltkYXRhLWFsbG93LWNvbnRleHQtbWVudV0iXTtmdW5jdGlvbiBzKGUpe2NvbnN0IHQ9ZS50YXJnZXQ7dCYmIXQuY2xvc2VzdChpLmpvaW4oIiwgIikpJiZlLnByZXZlbnREZWZhdWx0KCl9fSwxNTAxNTAoZSx0LG8pe28uZCh0LHtndWlkOigpPT5pLHJhbmRvbUhhc2g6KCk9PnMscmFuZG9tSGFzaE46KCk9PnJ9KTtjb25zdCBuPSIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7ZnVuY3Rpb24gaSgpe3JldHVybiJ4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgiLnJlcGxhY2UoL1t4eV0vZywoZT0+e2NvbnN0IHQ9MTYqTWF0aC5yYW5kb20oKXwwO3JldHVybigieCI9PT1lP3Q6MyZ0fDgpLnRvU3RyaW5nKDE2KX0pKX1mdW5jdGlvbiBzKCl7cmV0dXJuIHIoMTIpfWZ1bmN0aW9uIHIoZSl7bGV0IHQ9IiI7Zm9yKGxldCBvPTA7bzxlOysrbyl7Y29uc3QgZT1NYXRoLmZsb29yKDYyKk1hdGgucmFuZG9tKCkpO3QrPW5bZV19cmV0dXJuIHR9fSw1NDA1NzgoZSx0LG8pe2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUucmVwbGFjZSgvWy0vXFxeJCorPy4oKXxbXF17fV0vZywiXFwkJiIpfW8uZCh0LHtyZWdFeHBFc2NhcGU6KCk9Pm59KX0sMTA3MDQ1KGUsdCxvKXtvLmQodCx7TnVtZXJpY0Zvcm1hdHRlcjooKT0+c30pO3ZhciBuPW8oNTk4OTIyKSxpPW8oNTQ2NDg1KTtjbGFzcyBze2NvbnN0cnVjdG9yKGU9e30pe3RoaXMuX29wdGlvbnM9ZX1mb3JtYXQoZSx0PXt9KXtpZighTnVtYmVyLmlzRmluaXRlKGUpKXJldHVybiBTdHJpbmcoZSk7Y29uc3R7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om89dGhpcy5fb3B0aW9ucy5pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQsbm9FeHBvbmVudGlhbEZvcm06cj10aGlzLl9vcHRpb25zLm5vRXhwb25lbnRpYWxGb3JtfT10LHttaW5QcmVjaXNpb246YSxwcmVjaXNpb246bH09dGhpcy5fb3B0aW9ucyxjPSgwLGkuZ2V0TnVtYmVyRm9ybWF0KShvKTtyZXR1cm4gdm9pZCAwPT09bD9zLl9mb3JtYXROb0VJbXBsKGUsYyxsLGEpOigwLG4uZm9ybWF0TnVtYmVyKShlLGMsbCxyLGEpfXBhcnNlKGUsdCl7Y29uc3R7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om8scHJlY2lzaW9uOnN9PXRoaXMuX29wdGlvbnMscj0oMCxpLmdldE51bWJlckZvcm1hdCkob3x8dD8uaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0KTtsZXQgYT0oMCxuLnBhcnNlTnVtYmVyKShlLHIpO3JldHVybiBOdW1iZXIuaXNGaW5pdGUoYSk/KHMmJihhPSthLnRvRml4ZWQocykpLHtyZXM6ITAsdmFsdWU6YX0pOntyZXM6ITF9fXN0YXRpYyBmb3JtYXROb0UoZSx0KXtyZXR1cm4gdGhpcy5fZm9ybWF0Tm9FSW1wbChlLHQpfXN0YXRpYyBfZm9ybWF0Tm9FSW1wbChlLHQsbyxpKXtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKGUpPyh0PXQ/P3tncm91cGluZ1NlcGFyYXRvcjoiIixkZWNpbWFsU2lnbjoiLiJ9LCgwLG4uZm9ybWF0TnVtYmVyKShlLHQsbywhMCxpKSk6U3RyaW5nKGUpfX19LDEyNTIxOChlLHQsbyl7by5kKHQse1BlcmNlbnRhZ2VGb3JtYXR0ZXI6KCk9PnN9KTt2YXIgbj1vKDExNTI5MyksaT1vKDc1NTYyNyk7Y2xhc3MgcyBleHRlbmRzIGkuUHJpY2VGb3JtYXR0ZXJ7Y29uc3RydWN0b3IoZT17fSl7dm9pZCAwIT09ZS5kZWNpbWFsUGxhY2VzJiYoZS5wcmljZVNjYWxlPU1hdGgucG93KDEwLGUuZGVjaW1hbFBsYWNlcykpLHN1cGVyKGUpLHRoaXMudHlwZT0icGVyY2VudGFnZSJ9c3RhdGUoKXtyZXR1cm57Li4uc3VwZXIuc3RhdGUoKSxwZXJjZW50OiEwfX1wYXJzZShlLHQpe3JldHVybiBlPWUucmVwbGFjZSgiJSIsIiIpLHN1cGVyLnBhcnNlKGUsdCl9Zm9ybWF0KGUsdD17fSl7Y29uc3R7dXNlUnRsRm9ybWF0Om89ITB9PXQsaT1zdXBlci5mb3JtYXQoZSx7Li4udCx1c2VSdGxGb3JtYXQ6ITF9KSsiJSI7cmV0dXJuIG8/KDAsbi5mb3JjZUxUUlN0cikoaSk6aX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgcyhlKX19fSw4NTYzMjQoZSx0LG8pe28uZCh0LHsKZ2V0TGFuZ3VhZ2U6KCk9PnMsbWFwTGFuZ3VhZ2VDb2RlOigpPT5sLHJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyOigpPT5hLHJlZ2lzdGVyTGFuZ3VhZ2VHZXR0ZXI6KCk9Pml9KTtsZXQgbj1udWxsO2Z1bmN0aW9uIGkoZSl7bj1lfWZ1bmN0aW9uIHMoKXtpZighbil0aHJvdyBuZXcgRXJyb3IoIkxhbmd1YWdlIGdldHRlciBub3QgcmVnaXN0ZXJlZC4gQ2FsbCByZWdpc3Rlckxhbmd1YWdlR2V0dGVyKCkgZmlyc3QuIik7cmV0dXJuIG4oKX1sZXQgcj1lPT5lO2Z1bmN0aW9uIGEoZSl7cj1lfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIHIoZSl9fSw5ODQzNzYoZSx0LG8pe28uZCh0LHtQTEFDRV9IT0xERVI6KCk9PnIsVm9sdW1lRm9ybWF0dGVyOigpPT5jfSk7dmFyIG49byg3ODMyNTQpLGk9byg2MDE4NDEpLHM9bygxMDcwNDUpO2NvbnN0IHI9Ii0tLSIsYT1be3ZhbHVlOjMsbGV0dGVyOiJLIn0se3ZhbHVlOjYsbGV0dGVyOiJNIn0se3ZhbHVlOjksbGV0dGVyOiJCIn0se3ZhbHVlOjEyLGxldHRlcjoiVCJ9XTtmdW5jdGlvbiBsKGUsdCl7Y29uc3Qgbz1lLXQ7cmV0dXJuIGEuZmluZCgoZT0+ZS52YWx1ZT49bykpPz9hW2EubGVuZ3RoLTFdfWNsYXNzIGN7Y29uc3RydWN0b3IoZT17fSl7dGhpcy50eXBlPSJ2b2x1bWUiO2NvbnN0e3ByZWNpc2lvbjp0PTAsbWluUHJlY2lzaW9uOm89MCxkaW1lbnNpb25QcmVjaXNpb246bj0yLGRpbWVuc2lvbk1pblByZWNpc2lvbjppPTAsc2lnbmlmaWNhbnREaWdpdHM6cj0zLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDphLG5vRXhwb25lbnRpYWxGb3JtOmwscmVtb3ZlU3BhY2VCZWZvcmVEaW1lbnNpb246Y309ZTt0aGlzLl9wcmVjaXNpb249dCx0aGlzLl9mb3JtYXR0ZXI9bmV3IHMuTnVtZXJpY0Zvcm1hdHRlcih7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEscHJlY2lzaW9uOnRoaXMuX3ByZWNpc2lvbixtaW5QcmVjaXNpb246byxub0V4cG9uZW50aWFsRm9ybTpsfSksdGhpcy5fZGltZW5zaW9uUHJlY2lzaW9uPW4sdGhpcy5fZGltZW5zaW9uRm9ybWF0dGVyPW5ldyBzLk51bWVyaWNGb3JtYXR0ZXIoe2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDphLHByZWNpc2lvbjp0aGlzLl9kaW1lbnNpb25QcmVjaXNpb24sbWluUHJlY2lzaW9uOmksbm9FeHBvbmVudGlhbEZvcm06bH0pLHRoaXMuX3NpZ25pZmljYW50RGlnaXRzPXIsdGhpcy5fZnJhY3Rpb25hbFZhbHVlcz12b2lkIDAhPT10JiZ0PjAsdGhpcy5fc3BhY2VCZWZvcmVEaW1lbnNpb249Yz8iIjoi4oCvIix0aGlzLl9vcHRpb25zPWV9c3RhdGUoKXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6ZSwuLi50fT10aGlzLl9vcHRpb25zO3JldHVybiB0fWZvcm1hdChlLHQpe2lmKCEoMCxpLmlzTnVtYmVyKShlKSlyZXR1cm4gcjtpZihNYXRoLmFicyhlKT49MWUxMDApcmV0dXJuIG4udChudWxsLHtjb250ZXh0OiJ2b2x1bWUtZm9ybWF0dGVyIn0sbyg1NzA2MikpO2xldCBzPSIiO01hdGguYWJzKGUpPDEmJihlPStlLnRvRml4ZWQodGhpcy5fcHJlY2lzaW9uKSksZTwwP3M9IuKIkiI6ZT4wJiZ0Py5zaWduUG9zaXRpdmUmJihzPSIrIiksZT1NYXRoLmFicyhlKTtjb25zdCBhPSEhKHQ/Lmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdD8/dGhpcy5fb3B0aW9ucy5pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQpO2xldCBjLGgsZD1NYXRoLmZsb29yKE1hdGgubG9nMTAoZSkpKzE7aWYoZDw9dGhpcy5fc2lnbmlmaWNhbnREaWdpdHMmJihlPStlLnRvRml4ZWQodGhpcy5fcHJlY2lzaW9uKSxkPU1hdGguZmxvb3IoTWF0aC5sb2cxMChlKSkrMSksZDw9dGhpcy5fc2lnbmlmaWNhbnREaWdpdHMpYz10aGlzLl9mb3JtYXROdW1iZXIoZSxhLHRoaXMuX2Zvcm1hdHRlcik7ZWxzZXtsZXQgdD1sKGQsdGhpcy5fc2lnbmlmaWNhbnREaWdpdHMpO2NvbnN0IG89TWF0aC5wb3coMTAsdC52YWx1ZSk7ZT0rKGUvbykudG9GaXhlZCh0aGlzLl9kaW1lbnNpb25QcmVjaXNpb24pKm8sdD1sKE1hdGguZmxvb3IoTWF0aC5sb2cxMChlKSkrMSx0aGlzLl9zaWduaWZpY2FudERpZ2l0cyksYz10aGlzLl9mb3JtYXROdW1iZXIoZS9NYXRoLnBvdygxMCx0LnZhbHVlKSxhLHRoaXMuX2RpbWVuc2lvbkZvcm1hdHRlciksaD10LmxldHRlcn1yZXR1cm4gaD9gJHtzfSR7Y30ke3RoaXMuX3NwYWNlQmVmb3JlRGltZW5zaW9ufSR7aH1gOmAke3N9JHtjfWB9cGFyc2UoZSx0KXtpZihlPT09cilyZXR1cm57ZXJyb3I6Im5vdCBhIG51bWJlciIscmVzOiExLHZhbHVlOk5hTn07Y29uc3Qgbz17SzoxZTMsTToxZTYsQjoxZTksVDoxZTEyfSxuPShlPWUucmVwbGFjZSgi4oiSIiwiLSIpKS5zbGljZSgtMSk7aWYoby5oYXNPd25Qcm9wZXJ0eShuKSl7Y29uc3Qgcz10aGlzLl9mb3JtYXR0ZXIucGFyc2UoZS5zbGljZSgwLC0xKS50cmltKCksdCkscj1zLnJlcz9zLnZhbHVlOk5hTjtyZXR1cm4oMCxpLmlzTnVtYmVyKShyKT97cmVzOiEwLHZhbHVlOnIqb1tuXX06e2Vycm9yOiJub3QgYSBudW1iZXIiLHJlczohMSx2YWx1ZTpOYU59fXtjb25zdCBvPXRoaXMuX2Zvcm1hdHRlci5wYXJzZShlLnRyaW0oKSx0KTtsZXQgbj1vLnJlcz9vLnZhbHVlOk5hTjtyZXR1cm4tMD09PW4mJihuPTApLCgwLGkuaXNOdW1iZXIpKG4pP3tyZXM6ITAsdmFsdWU6bn06e2Vycm9yOiJub3QgYSBudW1iZXIiLHJlczohMSx2YWx1ZTpOYU59fX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgYyhlKX1fZm9ybWF0TnVtYmVyKGUsdCxvKXtpZih0aGlzLl9mcmFjdGlvbmFsVmFsdWVzJiYwIT09ZSl7Y29uc3QgdD0xNC1NYXRoLmNlaWwoTWF0aC5sb2cxMChlKSksbz1NYXRoLnBvdygxMCx0KTtlPU1hdGgucm91bmQoZSpvKS9vfXJldHVybiBvLmZvcm1hdChlLHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6dH0pfX19LDc3MzA4OChlLHQsbyl7dmFyIG47ZnVuY3Rpb24gaShlLHQpewpyZXR1cm4icGVyaW9kLWJhY2siPT09ZS50eXBlJiYicGVyaW9kLWJhY2siPT09dC50eXBlP2UudmFsdWU9PT10LnZhbHVlOiJ0aW1lLXJhbmdlIj09PWUudHlwZSYmInRpbWUtcmFuZ2UiPT09dC50eXBlJiYoZS5mcm9tPT09dC5mcm9tJiZlLnRvPT09dC50byl9ZnVuY3Rpb24gcyhlLHQ9ITEpe2lmKCJwZXJpb2QtYmFjayI9PT1lLnR5cGUpe2xldCBvPWUudmFsdWU7cmV0dXJuIHQmJiJZVEQiIT09byYmIkQiPT09by5zbGljZSgtMSkmJihvPW8uc2xpY2UoMCwtMSkpLG99cmV0dXJuInIsIitlLmZyb20rIjoiK2UudG99ZnVuY3Rpb24gcihlKXtjb25zdCB0PS9yLChcZCspOihcZCspLy5leGVjKGUpO3JldHVybiBudWxsIT09dD97ZnJvbTpOdW1iZXIodFsxXSksdG86TnVtYmVyKHRbMl0pLHR5cGU6InRpbWUtcmFuZ2UifTp7dmFsdWU6ZSx0eXBlOiJwZXJpb2QtYmFjayJ9fW8uZCh0LHthcmVFcXVhbFRpbWVGcmFtZXM6KCk9PmksY29udmVydFN0clRvVGltZUZyYW1lOigpPT5yLGNvbnZlcnRUaW1lRnJhbWVUb1N0cjooKT0+c30pLGZ1bmN0aW9uKGUpe2UuUGVyaW9kQmFjaz0icGVyaW9kLWJhY2siLGUuVGltZVJhbmdlPSJ0aW1lLXJhbmdlIn0obnx8KG49e30pKX0sMzQ1MTUxKGUsdCxvKXtvLmQodCx7aG90S2V5RGVzZXJpYWxpemU6KCk9PnMsaG90S2V5U2VyaWFsaXplOigpPT5pfSk7dmFyIG49byg2NDE1OTMpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuKDAsbi5odG1sRXNjYXBlKShKU09OLnN0cmluZ2lmeShlKSl9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gSlNPTi5wYXJzZSgoMCxuLmRlY29kZUhUTUxFbnRpdGllcykoZSkpfX0sMTYwMjk2KGUsdCxvKXtvLmQodCx7ZW52aXJvbm1lbnQ6KCk9PmksaXNEZWJ1ZzooKT0+YSxpc0xvY2FsOigpPT5zLGlzUHJvZDooKT0+cn0pO2NvbnN0IG49bmV3IFNldChbImJhdHRsZSIsInN0YWdpbmciLCJ0ZXN0IiwibG9jYWwiXSk7ZnVuY3Rpb24gaSgpe2NvbnN0IGU9c2VsZi5lbnZpcm9ubWVudDtyZXR1cm4gZnVuY3Rpb24oZSl7bi5oYXMoZSl8fGNvbnNvbGUud2FybigiSW52YWxpZCBlbnZpcm9ubWVudCAiK2UpfShlKSxlfWZ1bmN0aW9uIHMoKXtyZXR1cm4ibG9jYWwiPT09aSgpfWZ1bmN0aW9uIHIoKXtyZXR1cm4iYmF0dGxlIj09PWkoKX1mdW5jdGlvbiBhKCl7cmV0dXJuIXIoKX19LDQyOTY2KGUsdCxvKXt2YXIgbj1vKDg1NjMyNCksaT1vKDk2MzA5OCk7KDAsbi5yZWdpc3Rlckxhbmd1YWdlR2V0dGVyKSgoKCk9PndpbmRvdy5sYW5ndWFnZXx8IiIpKSwoMCxuLnJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyKShpLmdldElzb0xhbmd1YWdlQ29kZUZyb21MYW5ndWFnZSl9LDgxMDQxKGUsdCxvKXtvLmQodCx7U3RkVGhlbWU6KCk9Pm4uU3RkVGhlbWV9KTt2YXIgbj1vKDI0NzkwMSl9LDQwNzc5OShlLHQsbyl7by5kKHQse2VuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmc6KCk9Pml9KTt2YXIgbj1vKDExMTk1Myk7ZnVuY3Rpb24gaShlKXtyZXR1cm4oMCxuLmVuY29kZUV4dGVuZGVkU3ltYm9sU3RydWN0dXJhbCkoZSl9fSw2MTk5OTIoZSx0LG8pe28uZCh0LHtpc1RpY2tzRW5hYmxlZDooKT0+aX0pO3ZhciBuPW8oMzE4OTc0KTtvKDkzMDIzMSk7ZnVuY3Rpb24gaSgpe3JldHVybiEoMCxuLm9uV2lkZ2V0KSgpfX0sNjEwMjY4KGUsdCxvKXsoMCxvKDExNTI5Mykuc2V0RG9jdW1lbnREaXJHZXR0ZXIpKCgoKT0+d2luZG93LmRvY3VtZW50LmRpcikpfSw0Mzg1MzkoZSx0LG8pe2FzeW5jIGZ1bmN0aW9uIG4oZSl7Y29uc3R7cmVuZGVyR29Ub1RyYWRpbmdWaWV3UmVmZXJyYWxEaWFsb2c6dH09YXdhaXQgUHJvbWlzZS5hbGwoW28uZSg1NDk4KSxvLmUoMjkyOTYpLG8uZSg1MjM5Niksby5lKDYwMDYyKSxvLmUoMjAzNTQpLG8uZSgyOTUzNiksby5lKDUxODQpLG8uZSg1NjI1Miksby5lKDM5MDUpLG8uZSg3NDgzMCksby5lKDUwNjIyKSxvLmUoMzMyMjEpLG8uZSgxMTcyNSksby5lKDUxMzA5KSxvLmUoMTEyNTcpLG8uZSgzMjM4Nyksby5lKDE3OTkxKSxvLmUoMTI5NjUpLG8uZSg2ODc0MSksby5lKDgzNzgxKSxvLmUoNTI4MTEpLG8uZSg1Mzg4MSldKS50aGVuKG8uYmluZChvLDQ3NTgwNikpO3QoZSl9by5kKHQse3Nob3dHb1RvVHJhZGluZ1ZpZXdSZWZlcnJhbERpYWxvZzooKT0+bn0pfSwzODE1MTcoZSx0LG8pe28uZCh0LHtpc1RyaWFsQXZhaWxhYmxlRm9yVXNlcjooKT0+aX0pO3ZhciBuPW8oOTEzNzA2KTtmdW5jdGlvbiBpKGUsdCl7Y29uc3Qgbz1lLmF2YWlsYWJsZV9vZmZlcnN8fHt9O3JldHVybiB0JiZ2b2lkIDAhPT1vW24uT0ZGRVJTLnRyaWFsXX19LDI4NDQ4NChlLHQsbyl7by5yKHQpLG8uZCh0LHtRdW90ZVRpY2tlcjooKT0+U30pO3ZhciBuPW8oOTY0NDg2KSxpPW8oMjIxMDYxKSxzPW8oNjAxODQxKSxyPW8oMTI1MjE4KSxhPW8oODkxNzc4KSxsPW8oNzU1NjI3KSxjPW8oOTg0Mzc2KSxoPW8oNTYzOTE4KSxkPW8oMzA2OTApLHU9byg1MjgzOTYpLG09bygxMTM1NjcpLGc9bygxNTk1MTMpLF89byg5NzMxMTkpLHA9byg2MDI4NyksZj1vKDc4Njc2MCksdz1vKDEwMTcxMik7Y29uc3Qgdj0oMCxpLmdldExvZ2dlcikoIlF1b3RlVGlja2VyIikseT17YWRkRGVzY3JpcHRpb25UaXRsZTohMCxjaGFuZ2VEaXJlY3Rpb25Eb3duQ2xhc3M6ImRvd24iLGNoYW5nZURpcmVjdGlvblVwQ2xhc3M6InVwIixjaGFuZ2VEaXJlY3Rpb25OZXV0cmFsQ2xhc3M6Im5ldXRyYWwiLGNoYW5nZUluQnJhY2tldHM6ITEsY2hhbmdlUGVyY2VudEluQnJhY2tldHM6ITEsbGFzdFByaWNlVGltZUluQnJhY2tldHM6ITAsbGFzdFJlbGVhc2VEYXRlVGltZUluQnJhY2tldHM6ITAscnRjVGltZUluQnJhY2tldHM6ITAsY2xpZW50TmFtZToicXVvdGUtdGlja2VyIixkb250RHllUHJpY2U6ITEsZmFsbGluZ0JnOm51bGwsZ3Jvd2luZ0JnOm51bGwsbGFzdEZhbGxpbmdDbGFzczoiZmFsbGluZyIsbGFzdEdyb3dpbmdDbGFzczoiZ3Jvd2luZyIscXVvdGVTZXNzaW9uOm51bGwsc2lnbk5lZ2F0aXZlOiEwLHNpZ25Qb3NpdGl2ZTohMSxjdXN0b21QcmljZUZvcm1hdHRlcjpudWxsLGN1c3RvbVRpbWVGb3JtYXR0ZXI6bnVsbCwKc2Vzc2lvblN0YXR1c0NsYXNzU3VmZml4OiItLWZvci10aWNrZXIiLGRhdGFNb2RlQ2xhc3NTdWZmaXg6Ii0tZm9yLXRpY2tlciIsc2hvd0ludmFsaWRTeW1ib2xTdGF0dXM6ITEsaW5kaWNhdG9yc1Rvb2x0aXBUeXBlOiJjdXN0b20iLGxhc3RQcmljZUxhc3RDaGFyU3VwOiExLGxhc3RQcmljZUhpZ2hsaWdodERpZmZPbmx5OiExLGluaXRlZEhvb2s6dm9pZCAwLHNldFN0YXRlSG9vazp2b2lkIDAscGVybWlzc2lvbkRlbmllZEhvb2s6dm9pZCAwLG5vU3VjaFN5bWJvbEhvb2s6dm9pZCAwfSxiPS9bS01CVF0vO2Z1bmN0aW9uIFMoZSx0LG89e30pe3RoaXMuZW5hYmxlZD0hMCx0aGlzLl9zeW1ib2w9ZSx0aGlzLl9zeW1ib2xPcmlnaW5hbD1udWxsLHRoaXMuX29wdGlvbnM9KDAsbi5kZWVwRXh0ZW5kKSh7fSx5LG8pLCExIT09dGhpcy5fb3B0aW9ucy5zaWduTmVnYXRpdmUmJiEwIT09dGhpcy5fb3B0aW9ucy5zaWduTmVnYXRpdmUmJmRlbGV0ZSB0aGlzLl9vcHRpb25zLnNpZ25OZWdhdGl2ZSxvLmN1c3RvbVByaWNlRm9ybWF0dGVyJiYodGhpcy5fY3VzdG9tUHJpY2VGb3JtYXR0ZXI9by5jdXN0b21QcmljZUZvcm1hdHRlciksby5jdXN0b21UaW1lRm9ybWF0dGVyJiYodm9pZCAwIT09by5jdXN0b21UaW1lRm9ybWF0dGVyLmxhc3RQcmljZXx8dm9pZCAwIT09by5jdXN0b21UaW1lRm9ybWF0dGVyLnJ0Yz90aGlzLl90aW1lRm9ybWF0dGVyPW8uY3VzdG9tVGltZUZvcm1hdHRlcjp0aGlzLl90aW1lRm9ybWF0dGVyPXtsYXN0UHJpY2U6by5jdXN0b21QcmljZUZvcm1hdHRlcixydGM6by5jdXN0b21QcmljZUZvcm1hdHRlcn0pLHRoaXMuX3BlcmNlbnRGb3JtYXR0ZXI9bmV3IHIuUGVyY2VudGFnZUZvcm1hdHRlcix0aGlzLl9kZWZhdWx0UHJpY2VGb3JtYXR0ZXI9bmV3IGwuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6MTAwfSksdGhpcy5fcHJpY2VGb3JtYXR0ZXI9dGhpcy5fY3VzdG9tUHJpY2VGb3JtYXR0ZXJ8fHRoaXMuX2RlZmF1bHRQcmljZUZvcm1hdHRlcix0aGlzLl92b2x1bWVGb3JtYXR0ZXI9bmV3IGMuVm9sdW1lRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pLHRoaXMuX2NhY2hlPXt9LHRoaXMuX2xhc3RQcmljZT1udWxsLHRoaXMuX2xhc3RQcmljZUZvcm1hdHRlZD0iIix0aGlzLl9sYXN0TWluTW92ZT0wLHRoaXMuX2VsZW1lbnRzPXt9LHRoaXMuX3RleHROb2Rlcz17fSx0aGlzLl9jaGFuZ2VWb2x1bWVMZXR0ZXI9dGhpcy5fZ2V0Q2hhbmdlVm9sdW1lTGV0dGVyQ2FsbGJhY2soKSx0aGlzLl9zZXRFbGVtZW50cyh0KSx0aGlzLl9oaWdobGlnaHRlcnM9e30sdGhpcy5faW5pdEhpZ2hsaWdodGVycygpLHRoaXMuX29wdGlvbnMuc2V0U3RhdGVIb29rJiZ0aGlzLnNldFN0YXRlSG9vayh0aGlzLl9vcHRpb25zLnNldFN0YXRlSG9vayksdGhpcy5xdW90ZVNlc3Npb249dGhpcy5fb3B0aW9ucy5xdW90ZVNlc3Npb258fCgwLGcuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKSx0aGlzLl9xdW90ZVNlc3Npb25FdmVudEhhbmRsZXI9dGhpcy5vbkRhdGEuYmluZCh0aGlzKSx0aGlzLl9jb25uZWN0VGltZW91dElkPXNldFRpbWVvdXQodGhpcy5jb25uZWN0LmJpbmQodGhpcyksMCl9ZnVuY3Rpb24gTihlKXtjb25zdCB0PWUuc2VhcmNoKGIpLG89dD49MD9lLnNsaWNlKHQpOiIiO3JldHVyblt0PjA/ZS5zdWJzdHJpbmcodCwwKTowPT09dD8iIjplLG9dfWZ1bmN0aW9uIFQoZSx0LG8sbixpKXt2YXIgcyxyPW51bGw7ZnVuY3Rpb24gYSgpe2lmKHMmJihjbGVhclRpbWVvdXQocykscz12b2lkIDApLG98fHQpZm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspZVtyXS5zdHlsZS5iYWNrZ3JvdW5kPSIiO2lmKCFvfHwhdClmb3Iocj0wO3I8ZS5sZW5ndGg7cisrKW4mJmVbcl0uY2xhc3NMaXN0LnJlbW92ZShuKSxpJiZlW3JdLmNsYXNzTGlzdC5yZW1vdmUoaSl9cmV0dXJue3Nob3c6ZnVuY3Rpb24obCl7dmFyIGM9MDtpZihsIT09cil7aWYobnVsbCE9PXImJm51bGwhPT1sJiYoYz1sLXIpLGEoKSxzPXNldFRpbWVvdXQoYSw3NTApLDA8Yyl7aWYodClmb3IodmFyIGg9MDtoPGUubGVuZ3RoO2grKyllW2hdLnN0eWxlLmJhY2tncm91bmQ9dDtlbHNlIGlmKG4pZm9yKGg9MDtoPGUubGVuZ3RoO2grKyllW2hdLmNsYXNzTGlzdC5hZGQobil9ZWxzZSBpZihjPDApaWYobylmb3IoaD0wO2g8ZS5sZW5ndGg7aCsrKWVbaF0uc3R5bGUuYmFja2dyb3VuZD1vO2Vsc2UgaWYoaSlmb3IoaD0wO2g8ZS5sZW5ndGg7aCsrKWVbaF0uY2xhc3NMaXN0LmFkZChpKTtudWxsIT09bCYmKHI9bCl9fSxoaWRlOmF9fVMucHJvdG90eXBlLl9zZXRFbGVtZW50cz1mdW5jdGlvbihlKXt0aGlzLl9jb250YWluZXI9ZSx0aGlzLl9lbGVtZW50cy5jaGFuZ2U9dGhpcy5fZmluZEVsZW1lbnRzKGUsWyJqcy1zeW1ib2wtY2hhbmdlIiwic3ltYm9sLWNoYW5nZSJdKSx0aGlzLl9lbGVtZW50cy5jaGFuZ2VEaXJlY3Rpb249dGhpcy5fZmluZEVsZW1lbnRzKGUsWyJqcy1zeW1ib2wtY2hhbmdlLWRpcmVjdGlvbiIsInN5bWJvbC1jaGFuZ2UtZGlyZWN0aW9uIl0pLHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZURpcmVjdGlvbj10aGlzLl9maW5kRWxlbWVudHMoZSxbImpzLXN5bWJvbC1leHQtaHJzLWNoYW5nZS1kaXJlY3Rpb24iXSksdGhpcy5fZWxlbWVudHMuY2hhbmdlUGVyY2VudD10aGlzLl9maW5kRWxlbWVudHMoZSxbImpzLXN5bWJvbC1jaGFuZ2UtcHQiLCJzeW1ib2wtY2hhbmdlLXB0Il0pLHRoaXMuX2VsZW1lbnRzLmRlc2NyaXB0aW9uPXRoaXMuX2ZpbmRFbGVtZW50cyhlLFsianMtc3ltYm9sLWRlc2NyaXB0aW9uLW5hbWUiLCJzeW1ib2wtZGVzY3JpcHRpb24tbmFtZSJdKSx0aGlzLl9lbGVtZW50cy5leHRIcnNDaGFuZ2U9dGhpcy5fZmluZEVsZW1lbnRzKGUsImpzLXN5bWJvbC1leHQtaHJzLWNoYW5nZSIpLHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZVBlcmNlbnQ9dGhpcy5fZmluZEVsZW1lbnRzKGUsImpzLXN5bWJvbC1leHQtaHJzLWNoYW5nZS1wdCIpLHRoaXMuX2VsZW1lbnRzLmV4dEhyc0Nsb3NlPXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtZXh0LWhycy1jbG9zZSIpLAp0aGlzLl9lbGVtZW50cy5uaWdodENoYW5nZURpcmVjdGlvbj10aGlzLl9maW5kRWxlbWVudHMoZSxbImpzLXN5bWJvbC1uaWdodC1jaGFuZ2UtZGlyZWN0aW9uIl0pLHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlPXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtbmlnaHQtY2hhbmdlIiksdGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2VQZXJjZW50PXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtbmlnaHQtY2hhbmdlLXB0IiksdGhpcy5fZWxlbWVudHMubmlnaHRDbG9zZT10aGlzLl9maW5kRWxlbWVudHMoZSwianMtc3ltYm9sLW5pZ2h0LWNsb3NlIiksdGhpcy5fZWxlbWVudHMuaW5kdXN0cnk9dGhpcy5fZmluZEVsZW1lbnRzKGUsWyJqcy1zeW1ib2wtaW5kdXN0cnkiLCJzeW1ib2wtaW5kdXN0cnkiXSksdGhpcy5fZWxlbWVudHMubGFzdD10aGlzLl9maW5kRWxlbWVudHMoZSxbImpzLXN5bWJvbC1sYXN0Iiwic3ltYm9sLWxhc3QiXSksdGhpcy5fZWxlbWVudHMuc2VjdG9yPXRoaXMuX2ZpbmRFbGVtZW50cyhlLFsianMtc3ltYm9sLXNlY3RvciIsInN5bWJvbC1zZWN0b3IiXSksdGhpcy5fZWxlbWVudHMuc2Vzc2lvblN0YXR1cz10aGlzLl9maW5kRWxlbWVudHMoZSwianMtc3ltYm9sLXNlc3Npb24tc3RhdHVzIiksdGhpcy5fZWxlbWVudHMuc2hvcnROYW1lPXRoaXMuX2ZpbmRFbGVtZW50cyhlLFsianMtc3ltYm9sLXNob3J0LW5hbWUiLCJzeW1ib2wtc2hvcnQtbmFtZSJdKSx0aGlzLl9lbGVtZW50cy51cGRhdGVNb2RlPXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1kYXRhLW1vZGUiKSx0aGlzLl9lbGVtZW50cy5sYXN0UGVyaW9kPXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtbGFzdC1wZXJpb2QiKSx0aGlzLl9lbGVtZW50cy51cGRhdGVNb2RlLmZvckVhY2goKGU9PmUuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKSkpLHRoaXMuX3RleHROb2Rlcy5jaGFuZ2U9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMuY2hhbmdlKSx0aGlzLl90ZXh0Tm9kZXMuY2hhbmdlUGVyY2VudD10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5jaGFuZ2VQZXJjZW50KSx0aGlzLl90ZXh0Tm9kZXMuZXh0SHJzQ2hhbmdlPXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZSksdGhpcy5fdGV4dE5vZGVzLmV4dEhyc0NoYW5nZVBlcmNlbnQ9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlUGVyY2VudCksdGhpcy5fdGV4dE5vZGVzLmV4dEhyc0Nsb3NlPXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLmV4dEhyc0Nsb3NlKSx0aGlzLl90ZXh0Tm9kZXMubmlnaHRDaGFuZ2U9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2UpLHRoaXMuX3RleHROb2Rlcy5uaWdodENoYW5nZVBlcmNlbnQ9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2VQZXJjZW50KSx0aGlzLl90ZXh0Tm9kZXMubmlnaHRDbG9zZT10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5uaWdodENsb3NlKSx0aGlzLl90ZXh0Tm9kZXMubGFzdD10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5sYXN0KSx0aGlzLl90ZXh0Tm9kZXMub3Blbj10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1vcGVuIiksdGhpcy5fdGV4dE5vZGVzLmVwcz10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1lcHMiKSx0aGlzLl90ZXh0Tm9kZXMubWFya2V0Q2FwPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLW1hcmtldC1jYXAiKSx0aGlzLl90ZXh0Tm9kZXMucHJldkNsb3NlPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLXByZXYtY2xvc2UiKSx0aGlzLl90ZXh0Tm9kZXMuZGl2aWRlbmRzPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLWRpdmlkZW5kcyIpLHRoaXMuX3RleHROb2Rlcy5wcmljZUVhcm5pbmdzPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLXBlIiksdGhpcy5fdGV4dE5vZGVzLnZvbHVtZT10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC12b2x1bWUiKSx0aGlzLl90ZXh0Tm9kZXMuaGlnaD10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1oaWdoIiksdGhpcy5fdGV4dE5vZGVzLmxvdz10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1sb3ciKSx0aGlzLl90ZXh0Tm9kZXMuY3VycmVuY3k9dGhpcy5fZmluZFRleHROb2RlcyhlLCJqcy1zeW1ib2wtY3VycmVuY3kiKSx0aGlzLl90ZXh0Tm9kZXMubGFzdFByaWNlVGltZT10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1scC10aW1lIiksdGhpcy5fdGV4dE5vZGVzLmxhc3RSZWxlYXNlRGF0ZT10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1sYXN0LXJlbGVhc2UtZGF0ZSIpLHRoaXMuX3RleHROb2Rlcy5ydGNUaW1lPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLXJ0Yy10aW1lIiksdGhpcy5fdGV4dE5vZGVzLm50Y1RpbWU9dGhpcy5fZmluZFRleHROb2RlcyhlLCJqcy1zeW1ib2wtbnRjLXRpbWUiKSx0aGlzLl9lbGVtZW50cy5sYXN0SGlnaGxpZ2h0PXRoaXMuX29wdGlvbnMubGFzdFByaWNlSGlnaGxpZ2h0RGlmZk9ubHk/dGhpcy5fZWxlbWVudHMubGFzdC5tYXAoKGU9PnRoaXMuX2FwcGVuZEFuZEdldE5ld0VsZW1lbnQoZSwic3BhbiIpKSk6dGhpcy5fZWxlbWVudHMubGFzdCx0aGlzLl90ZXh0Tm9kZXMubGFzdEhpZ2hsaWdodD10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5sYXN0SGlnaGxpZ2h0KSx0aGlzLl9lbGVtZW50cy5sYXN0U3VwPXRoaXMuX29wdGlvbnMubGFzdFByaWNlTGFzdENoYXJTdXA/dGhpcy5fZWxlbWVudHMubGFzdEhpZ2hsaWdodC5tYXAoKGU9PnRoaXMuX2FwcGVuZEFuZEdldE5ld0VsZW1lbnQoZSwic3VwIikpKTpbXSwKdGhpcy5fdGV4dE5vZGVzLmxhc3RTdXA9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMubGFzdFN1cCl9LFMucHJvdG90eXBlLl9maW5kRWxlbWVudHM9ZnVuY3Rpb24oZSx0KXt2YXIgbz0oMCxzLmlzQXJyYXkpKHQpP3Q6W3RdO3JldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLG8ubWFwKCh0PT5BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlLmdldEVsZW1lbnRzQnlDbGFzc05hbWUodCkpKSkpfSxTLnByb3RvdHlwZS5fZmluZFRleHROb2Rlcz1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9maW5kRWxlbWVudHMoZSx0KSl9LFMucHJvdG90eXBlLl9nZXRPckNyZWF0ZVRleHROb2Rlcz1mdW5jdGlvbihlKXtyZXR1cm4gZS5tYXAoKGU9Pnt2YXIgdD10aGlzLl9nZXRGaXJzdFRleHROb2RlKGUpO3JldHVybiB0fHwodD1lLm93bmVyRG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpLGUuYXBwZW5kQ2hpbGQodCkpLHR9KSl9LFMucHJvdG90eXBlLl9hcHBlbmRBbmRHZXROZXdFbGVtZW50PWZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHQpO3JldHVybiBlLmFwcGVuZENoaWxkKG8pLG99LFMucHJvdG90eXBlLl9nZXRGaXJzdFRleHROb2RlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lLmNoaWxkTm9kZXMsbz10Lmxlbmd0aC0xO28+PTA7by0tKWlmKDM9PT10Lml0ZW0obykubm9kZVR5cGUpcmV0dXJuIHQuaXRlbShvKTtyZXR1cm4gbnVsbH0sUy5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbihlKXt0aGlzLl9zdWJzY3JpYmVkfHwodGhpcy5fc3Vic2NyaWJlZFN5bWJvbD1lfHx0aGlzLl9zeW1ib2wsdGhpcy5xdW90ZVNlc3Npb24uc3Vic2NyaWJlKHRoaXMuX29wdGlvbnMuY2xpZW50TmFtZSx0aGlzLl9zdWJzY3JpYmVkU3ltYm9sLHRoaXMuX3F1b3RlU2Vzc2lvbkV2ZW50SGFuZGxlciksdGhpcy5fc3Vic2NyaWJlZD0hMCl9LFMucHJvdG90eXBlLmRpc2Nvbm5lY3Q9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQodGhpcy5fY29ubmVjdFRpbWVvdXRJZCksdGhpcy5fc3Vic2NyaWJlZCYmKHRoaXMucXVvdGVTZXNzaW9uLnVuc3Vic2NyaWJlKHRoaXMuX29wdGlvbnMuY2xpZW50TmFtZSx0aGlzLl9zdWJzY3JpYmVkU3ltYm9sLHRoaXMuX3F1b3RlU2Vzc2lvbkV2ZW50SGFuZGxlciksdGhpcy5fc3Vic2NyaWJlZD0hMSl9LFMucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbihlLHQpe3RoaXMuZW5hYmxlZCYmKCJvayI9PT1lLnN0YXR1cz90aGlzLnN1Y2Nlc3NEYXRhKGUsdCk6InBlcm1pc3Npb25fZGVuaWVkIj09PWUuc3RhdHVzP3RoaXMub25QZXJtaXNzaW9uRGVuaWVkKGUpOiJlcnJvciI9PT1lLnN0YXR1cyYmdGhpcy5lcnJvckRhdGEoZSkpfSxTLnByb3RvdHlwZS5zdWNjZXNzRGF0YT1mdW5jdGlvbihlLHQpe2UudmFsdWVzJiZ0aGlzLnNldFN0YXRlKGUudmFsdWVzLGUsdCl9LFMucHJvdG90eXBlLm9uUGVybWlzc2lvbkRlbmllZD1mdW5jdGlvbihlKXsoMCx3LmlzU2ZRdW90ZURhdGEpKGUpfHwoMCxmLmlzTWN4UXVvdGVEYXRhKShlKT90aGlzLl9vcHRpb25zLnBlcm1pc3Npb25EZW5pZWRIb29rP3RoaXMuX29wdGlvbnMucGVybWlzc2lvbkRlbmllZEhvb2soZSx0aGlzLl9zeW1ib2xPcmlnaW5hbHx8dGhpcy5fc3ltYm9sKTp0aGlzLmVycm9yRGF0YShlKTp0aGlzLmRvd25ncmFkZURhdGEoZSl9LFMucHJvdG90eXBlLmVycm9yRGF0YT1mdW5jdGlvbihlKXt0aGlzLl9vcHRpb25zLnNob3dJbnZhbGlkU3ltYm9sU3RhdHVzJiYodGhpcy5zZXRTaG9ydE5hbWUodGhpcy5fc3ltYm9sKSx0aGlzLl9lbGVtZW50cy5zZXNzaW9uU3RhdHVzLm1hcCgoZT0+bmV3IGguTWFya2V0U3RhdHVzSW5kaWNhdG9yKHtjbGFzc1N1ZmZpeDp0aGlzLl9vcHRpb25zLnNlc3Npb25TdGF0dXNDbGFzc1N1ZmZpeCxlbDplLGRhdGE6e3ZhbHVlczp7Y3VycmVudF9zZXNzaW9uOiJpbnZhbGlkIn19LHRvb2x0aXBUeXBlOnRoaXMuX29wdGlvbnMuaW5kaWNhdG9yc1Rvb2x0aXBUeXBlfSkpKSksdGhpcy5fb3B0aW9ucy5ub1N1Y2hTeW1ib2xIb29rPyh0aGlzLl9zeW1ib2xPcmlnaW5hbCYmdGhpcy5zZXRTaG9ydE5hbWUodGhpcy5fc3ltYm9sT3JpZ2luYWwpLHRoaXMuX29wdGlvbnMubm9TdWNoU3ltYm9sSG9vay5jYWxsKHRoaXMsZSx0aGlzLl9zeW1ib2xPcmlnaW5hbHx8dGhpcy5fc3ltYm9sKSk6di5sb2dXYXJuKCJObyBkYXRhIGZvcjogIit0aGlzLl9zeW1ib2wpfSxTLnByb3RvdHlwZS5kb3duZ3JhZGVEYXRhPWZ1bmN0aW9uKGUpe3tjb25zdCB0PWUmJmUudmFsdWVzJiZlLnZhbHVlcy5hbHRlcm5hdGl2ZSxvPXRoaXMuX3N5bWJvbD09PXQ7aWYoISh0JiYtMSE9PXQuaW5kZXhPZigiOiIpKXx8bylyZXR1cm4gdm9pZCB0aGlzLmVycm9yRGF0YShlKTt0aGlzLl9zeW1ib2xPcmlnaW5hbD10aGlzLl9zeW1ib2wsdGhpcy5fc3ltYm9sPXQsdGhpcy5fc3Vic2NyaWJlZD0hMSx0aGlzLmNvbm5lY3QoKX19LFMucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCxuKXtjb25zdCBpPW4udmFsdWVzO3RoaXMuX2lzVm9sdW1lRm9ybWF0PSJ2b2x1bWUiPT09ZS5mb3JtYXQsbnVsbD09aS5wcmljZXNjYWxlJiZudWxsPT1pLm1pbm1vdiYmbnVsbD09aS5mcmFjdGlvbmFsJiZudWxsPT1pLm1pbm1vdmUyfHwodGhpcy5fcHJpY2VGb3JtYXR0ZXI9dGhpcy5fY3VzdG9tUHJpY2VGb3JtYXR0ZXJ8fHRoaXMuX2lzVm9sdW1lRm9ybWF0JiZ0aGlzLl92b2x1bWVGb3JtYXR0ZXJ8fG5ldyBsLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOmUucHJpY2VzY2FsZXx8MTAwLG1pbk1vdmU6ZS5taW5tb3Z8fDEsZnJhY3Rpb25hbDplLmZyYWN0aW9uYWwsbWluTW92ZTI6ZS5taW5tb3ZlMn0pKQo7Y29uc3Qgcz10aGlzLl9vcHRpb25zLHI9dGhpcy5fcGVyY2VudEZvcm1hdHRlcixhPXRoaXMuX3ByaWNlRm9ybWF0dGVyLGc9dGhpcy5fZGVmYXVsdFByaWNlRm9ybWF0dGVyLGY9dGhpcy5fdm9sdW1lRm9ybWF0dGVyLHc9KGUsdD0hMCk9PnQ/YCgke2V9KWA6ZSx5PXZvaWQgMCE9PXMuc2lnblBvc2l0aXZlQ2hhbmdlP3Muc2lnblBvc2l0aXZlQ2hhbmdlOnMuc2lnblBvc2l0aXZlLGI9ZT0+KDAsXy5xdW90ZVRpY2tlckZvcm1hdENoYW5nZSkoZSxpLHMpLFM9ZT0+e2NvbnN0IHQ9ci5mb3JtYXQoZSx7c2lnblBvc2l0aXZlOnksc2lnbk5lZ2F0aXZlOnMuc2lnbk5lZ2F0aXZlfSk7cmV0dXJuIHcodCxzLmNoYW5nZVBlcmNlbnRJbkJyYWNrZXRzKX0sTj1hLmZvcm1hdC5iaW5kKGEpLFQ9Zy5mb3JtYXQuYmluZChnKSxFPWYuZm9ybWF0LmJpbmQoZiksQz1lPT5udWxsPT1lP2MuUExBQ0VfSE9MREVSOlQoZSk7cy5kaXNhYmxlQ2hhbmdlfHwodGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuY2hhbmdlLGkuY2hhbmdlLGIpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmNoYW5nZVBlcmNlbnQsaS5jaGFuZ2VfcGVyY2VudCxTKSxudWxsIT1pLmNoYW5nZSYmKHMuZG9udER5ZVByaWNlfHx0aGlzLl9zZXRDaGFuZ2VGb250Q29sb3IoW10uY29uY2F0KHRoaXMuX2VsZW1lbnRzLmNoYW5nZSx0aGlzLl9lbGVtZW50cy5jaGFuZ2VQZXJjZW50KSxpLmNoYW5nZSxzLmNoYW5nZVVwRm9udENvbG9yLHMuY2hhbmdlRG93bkZvbnRDb2xvcixzLmNoYW5nZU5ldXRyYWxGb250Q29sb3IpLHRoaXMuX3NldENoYW5nZURpcmVjdGlvbih0aGlzLl9lbGVtZW50cy5jaGFuZ2VEaXJlY3Rpb24saS5jaGFuZ2UpKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5leHRIcnNDaGFuZ2UsaS5yY2gsYiksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuZXh0SHJzQ2hhbmdlUGVyY2VudCxpLnJjaHAsUyksbnVsbCE9aS5yY2gmJihzLmRvbnREeWVQcmljZXx8dGhpcy5fc2V0Q2hhbmdlRm9udENvbG9yKFtdLmNvbmNhdCh0aGlzLl9lbGVtZW50cy5leHRIcnNDaGFuZ2UsdGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlUGVyY2VudCksaS5yY2gscy5jaGFuZ2VVcEZvbnRDb2xvcixzLmNoYW5nZURvd25Gb250Q29sb3Iscy5jaGFuZ2VOZXV0cmFsRm9udENvbG9yKSx0aGlzLl9zZXRDaGFuZ2VEaXJlY3Rpb24odGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlRGlyZWN0aW9uLGkucmNoKSksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubmlnaHRDaGFuZ2UsaS5uY2gsYiksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubmlnaHRDaGFuZ2VQZXJjZW50LGkubmNocCxTKSxudWxsIT1pLm5jaCYmKHMuZG9udER5ZVByaWNlfHx0aGlzLl9zZXRDaGFuZ2VGb250Q29sb3IoW10uY29uY2F0KHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlLHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlUGVyY2VudCksaS5uY2gscy5jaGFuZ2VVcEZvbnRDb2xvcixzLmNoYW5nZURvd25Gb250Q29sb3Iscy5jaGFuZ2VOZXV0cmFsRm9udENvbG9yKSx0aGlzLl9zZXRDaGFuZ2VEaXJlY3Rpb24odGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2VEaXJlY3Rpb24saS5uY2gpKSksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMucHJldkNsb3NlLGkucHJldl9jbG9zZV9wcmljZSxOKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5kaXZpZGVuZHMsZS5kaXZpZGVuZHNfeWllbGQsKGU9Pm51bGw9PWU/Yy5QTEFDRV9IT0xERVI6ci5mb3JtYXQoZSx7c2lnblBvc2l0aXZlOnMuc2lnblBvc2l0aXZlLHNpZ25OZWdhdGl2ZTpzLnNpZ25OZWdhdGl2ZX0pKSwhMCk7bGV0IHg9KDAsdS5nZXRUcmFuc2xhdGVkU3ltYm9sRGVzY3JpcHRpb24pKGkpO2lmKHgmJih4PXRoaXMuX3ByZXBhcmVTeW1ib2xEZXNjcmlwdGlvbih4KSx0aGlzLl9zZXRUZXh0c0NvbnRlbnQodGhpcy5fZWxlbWVudHMuZGVzY3JpcHRpb24seCksdGhpcy5fb3B0aW9ucy5hZGREZXNjcmlwdGlvblRpdGxlKSlmb3IodmFyIEw9MDtMPHRoaXMuX2VsZW1lbnRzLmRlc2NyaXB0aW9uLmxlbmd0aDtMKyspdGhpcy5fZWxlbWVudHMuZGVzY3JpcHRpb25bTF0uc2V0QXR0cmlidXRlKCJ0aXRsZSIseCk7aWYoKG51bGwhPWkuc2hvcnRfbmFtZXx8bnVsbCE9aS5leGNoYW5nZSkmJmUuc2hvcnRfbmFtZSl7dmFyIEQ9ZS5zaG9ydF9uYW1lOyJRVUFOREwiPT09ZS5leGNoYW5nZSYmdm9pZCAwIT09ZS5zaG9ydF9uYW1lLnNwbGl0KCIvIilbMV0mJihEPWUuc2hvcnRfbmFtZS5zcGxpdCgiLyIpWzFdKyIsICIrZS5zaG9ydF9uYW1lLnNwbGl0KCIvIilbMF0pLHRoaXMuc2V0U2hvcnROYW1lKEQpfWVbInJlZmVyZW5jZS1sYXN0LXBlcmlvZCJdJiZ0aGlzLl9lbGVtZW50cy5sYXN0UGVyaW9kLmxlbmd0aCYmUHJvbWlzZS5hbGwoW28uZSgyMzU2Nyksby5lKDczOTcpXSkudGhlbihvLmJpbmQobywyMTU1NzkpKS50aGVuKCh0PT57dGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLmxhc3RQZXJpb2QsdC5wZXJpb2RGb3JtYXR0ZXIoZVsicmVmZXJlbmNlLWxhc3QtcGVyaW9kIl0pKX0pKSx0aGlzLl9lbGVtZW50cy5sYXN0UGVyaW9kLmxlbmd0aCYmdm9pZCAwPT09ZVsicmVmZXJlbmNlLWxhc3QtcGVyaW9kIl0mJnRoaXMuX3NldFRleHRzQ29udGVudCh0aGlzLl9lbGVtZW50cy5sYXN0UGVyaW9kLCLigJQiKSx0aGlzLl9zZXRMYXN0VmFsdWUoaS5sYXN0X3ByaWNlLGkubWlubW92ZTIsTiksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuZXh0SHJzQ2xvc2UsaS5ydGMsTiksaS5ydGMmJnRoaXMuX2hpZ2hsaWdodGVycy5leHRIcnNDbG9zZS5zaG93KGkucnRjKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5uaWdodENsb3NlLGkubnRjLE4pLGkubnRjJiZ0aGlzLl9oaWdobGlnaHRlcnMubmlnaHRDbG9zZS5zaG93KGkubnRjKSwKaS5pbmR1c3RyeSYmdGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLmluZHVzdHJ5LGUuaW5kdXN0cnksKGU9PmUpKSxpLnNlY3RvciYmdGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLnNlY3RvcixlLnNlY3RvciksdGhpcy5fZWxlbWVudHMuc2Vzc2lvblN0YXR1cyYmaS5jdXJyZW50X3Nlc3Npb24mJih0aGlzLl9zZXNzaW9uU3RhdHVzSW5zdGFuY2VzP3RoaXMuX3Nlc3Npb25TdGF0dXNJbnN0YW5jZXMuZm9yRWFjaCgoZT0+ZS5zZXRTdGF0dXMoaS5jdXJyZW50X3Nlc3Npb24pKSk6dGhpcy5fc2Vzc2lvblN0YXR1c0luc3RhbmNlcz10aGlzLl9lbGVtZW50cy5zZXNzaW9uU3RhdHVzLm1hcCgodD0+bmV3IGguTWFya2V0U3RhdHVzSW5kaWNhdG9yKHtjbGFzc1N1ZmZpeDp0aGlzLl9vcHRpb25zLnNlc3Npb25TdGF0dXNDbGFzc1N1ZmZpeCxlbDp0LHNob3J0OiEwLGRhdGE6e3ZhbHVlczppfSxxdW90ZVNlc3Npb246dGhpcy5xdW90ZVNlc3Npb24sc3ltYm9sOmUub3JpZ2luYWxfbmFtZSxtYW51YWxVcGRhdGU6ITAsdG9vbHRpcFR5cGU6dGhpcy5fb3B0aW9ucy5pbmRpY2F0b3JzVG9vbHRpcFR5cGUsc2Vzc2lvblN0YXR1c0ljb246dGhpcy5fb3B0aW9ucy5zZXNzaW9uU3RhdHVzSWNvbn0pKSkpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLm9wZW4saS5vcGVuX3ByaWNlLE4pLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmhpZ2gsaS5oaWdoX3ByaWNlLE4pLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmxvdyxpLmxvd19wcmljZSxOKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5lcHMsZS5lYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtLEMsITApLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLnByaWNlRWFybmluZ3MsZS5wcmljZV9lYXJuaW5nc190dG0sQywhMCksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubWFya2V0Q2FwLGUubWFya2V0X2NhcF9iYXNpYyxFLCEwKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy52b2x1bWUsZS52b2x1bWUsRSwhMCk7Y29uc3QgRj0oMCxtLnByZXBhcmVDdXJyZW5jeVZhbHVlKShpKTtpZihGJiZ0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5jdXJyZW5jeSxGLHAucXVvdGVUaWNrZXJGb3JtYXRDdXJyZW5jeSwhMCksKGkubHBfdGltZXx8ZS5scF90aW1lKSYmdGhpcy5fdGV4dE5vZGVzLmxhc3RQcmljZVRpbWUubGVuZ3RoJiYodGhpcy5fdGltZUZvcm1hdHRlciYmdGhpcy5fdGltZUZvcm1hdHRlci5sYXN0UHJpY2U/dGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubGFzdFByaWNlVGltZSx3KHRoaXMuX3RpbWVGb3JtYXR0ZXIubGFzdFByaWNlKGUubHBfdGltZSxlLmN1cnJlbnRfc2Vzc2lvbiksdGhpcy5fb3B0aW9ucy5sYXN0UHJpY2VUaW1lSW5CcmFja2V0cykpOnYubG9nRXJyb3IoImxhc3QgcHJpY2UgdGltZSBmaWVsZCByZXF1ZXN0ZWQgd2l0aCBubyBmb3JtYXR0ZXIgcHJvdmlkZWQiKSksKGkubGFzdF9yZWxlYXNlX2RhdGV8fGUubGFzdF9yZWxlYXNlX2RhdGUpJiZ0aGlzLl90ZXh0Tm9kZXMubGFzdFJlbGVhc2VEYXRlLmxlbmd0aCYmKHRoaXMuX3RpbWVGb3JtYXR0ZXImJnRoaXMuX3RpbWVGb3JtYXR0ZXIubGFzdFJlbGVhc2VEYXRlP3RoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmxhc3RSZWxlYXNlRGF0ZSx3KHRoaXMuX3RpbWVGb3JtYXR0ZXIubGFzdFJlbGVhc2VEYXRlKGUubGFzdF9yZWxlYXNlX2RhdGUsZS5jdXJyZW50X3Nlc3Npb24pLHRoaXMuX29wdGlvbnMubGFzdFJlbGVhc2VEYXRlVGltZUluQnJhY2tldHMpKTp2LmxvZ0Vycm9yKCJsYXN0UmVsZWFzZURhdGUgdGltZSBmaWVsZCByZXF1ZXN0ZWQgd2l0aCBubyBmb3JtYXR0ZXIgcHJvdmlkZWQiKSksKGkucnRjX3RpbWV8fGUucnRjX3RpbWUpJiZ0aGlzLl90ZXh0Tm9kZXMucnRjVGltZS5sZW5ndGgmJih0aGlzLl90aW1lRm9ybWF0dGVyJiZ0aGlzLl90aW1lRm9ybWF0dGVyLnJ0Yz90aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5ydGNUaW1lLHcodGhpcy5fdGltZUZvcm1hdHRlci5ydGMoZS5ydGNfdGltZSxlLmN1cnJlbnRfc2Vzc2lvbiksdGhpcy5fb3B0aW9ucy5ydGNUaW1lSW5CcmFja2V0cykpOnYubG9nRXJyb3IoInJ0YyB0aW1lIGZpZWxkIHJlcXVlc3RlZCB3aXRoIG5vIGZvcm1hdHRlciBwcm92aWRlZCIpKSwoaS5udGNfdGltZXx8ZS5udGNfdGltZSkmJnRoaXMuX3RleHROb2Rlcy5udGNUaW1lLmxlbmd0aCYmKHRoaXMuX3RpbWVGb3JtYXR0ZXImJnRoaXMuX3RpbWVGb3JtYXR0ZXIucnRjP3RoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLm50Y1RpbWUsdyh0aGlzLl90aW1lRm9ybWF0dGVyLnJ0YyhlLm50Y190aW1lLGUuY3VycmVudF9zZXNzaW9uKSx0aGlzLl9vcHRpb25zLnJ0Y1RpbWVJbkJyYWNrZXRzKSk6di5sb2dFcnJvcigibnRjIHRpbWUgZmllbGQgcmVxdWVzdGVkIHdpdGggbm8gZm9ybWF0dGVyIHByb3ZpZGVkIikpLG51bGwhPWkubGFzdF9wcmljZSlmb3IoTD0wO0w8dGhpcy5fZWxlbWVudHMudXBkYXRlTW9kZS5sZW5ndGg7TCsrKXRoaXMuX2VsZW1lbnRzLnVwZGF0ZU1vZGVbTF0uY2xhc3NMaXN0LnJlbW92ZSgiaS1oaWRkZW4iKTt0aGlzLl9lbGVtZW50cy51cGRhdGVNb2RlJiYoaS51cGRhdGVfbW9kZXx8aS51cGRhdGVfbW9kZV9zZWNvbmRzKSYmKHRoaXMuX3VwZGF0ZU1vZGVJbnN0YW5jZXM/dGhpcy5fdXBkYXRlTW9kZUluc3RhbmNlcy5mb3JFYWNoKCh0PT50LnVwZGF0ZSh7dmFsdWVzOmV9KSkpOnRoaXMuX3VwZGF0ZU1vZGVJbnN0YW5jZXM9dGhpcy5fZWxlbWVudHMudXBkYXRlTW9kZS5tYXAoKHQ9Pm5ldyBkLkRhdGFNb2RlSW5kaWNhdG9yKHtjbGFzc1N1ZmZpeDp0aGlzLl9vcHRpb25zLmRhdGFNb2RlQ2xhc3NTdWZmaXgsZWw6dCxkYXRhOnt2YWx1ZXM6ZX0sbW9kZUludGVydmFsOmUudXBkYXRlX21vZGVfc2Vjb25kcyxzaG9ydDohMCwKdG9vbHRpcFR5cGU6dGhpcy5fb3B0aW9ucy5pbmRpY2F0b3JzVG9vbHRpcFR5cGV9KSkpKSx0aGlzLl9zZXRTdGF0ZUhvb2smJnRoaXMuX3NldFN0YXRlSG9vayh0LnZhbHVlcyxuLnZhbHVlcyx0LmNvbXBsZXRlLHRoaXMuZ2V0T3B0aW9ucygpKSx0aGlzLl9sYXN0UHJpY2U/dGhpcy5faGlnaGxpZ2h0ZXJzLmxhc3Quc2hvdyhlLmxhc3RfcHJpY2UpOm51bGw9PT10aGlzLl9sYXN0UHJpY2UmJih0aGlzLl9jb250YWluZXIuY2xhc3NMaXN0LmFkZCgicXVvdGUtdGlja2VyLWluaXRlZCIpLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLmluaXRlZEhvb2smJnRoaXMuX29wdGlvbnMuaW5pdGVkSG9vaygibGFzdF9wcmljZSJpbiBlKSksdGhpcy5fbGFzdFByaWNlPWUubGFzdF9wcmljZX0sUy5wcm90b3R5cGUuX3NldE5vZGVzVmFsdWU9ZnVuY3Rpb24oZSx0LG8sbil7aWYobnVsbCE9dHx8bilmb3IodmFyIGk9ImZ1bmN0aW9uIj09dHlwZW9mIG8/byh0KTp0LHM9MDtzPGUubGVuZ3RoO3MrKyllW3NdLm5vZGVWYWx1ZT1pfSxTLnByb3RvdHlwZS5fc2V0VGV4dHNDb250ZW50PWZ1bmN0aW9uKGUsdCxvKXtpZihlJiZlLmxlbmd0aCYmdClmb3IodmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIG8/byh0KTp0LGk9MDtpPGUubGVuZ3RoO2krKyllW2ldLnRleHRDb250ZW50PW59LFMucHJvdG90eXBlLl9zZXRMYXN0VmFsdWU9ZnVuY3Rpb24oZSx0LG8pe2lmKG51bGw9PWUpcmV0dXJuO2NvbnN0IG49ImZ1bmN0aW9uIj09dHlwZW9mIG8/byhlKTpTdHJpbmcoZSk7aWYobj09PXRoaXMuX2xhc3RQcmljZUZvcm1hdHRlZClyZXR1cm47Y29uc3RbaSxzLHJdPXRoaXMuX29wdGlvbnMubGFzdFByaWNlSGlnaGxpZ2h0RGlmZk9ubHk/dGhpcy5fZ2V0TGFzdFZhbHVlU3RyaW5nRGlmZih0aGlzLl9sYXN0UHJpY2VGb3JtYXR0ZWQsbik6WyIiLG4sIiJdLGE9aSxsPXRoaXMuX2NhbGN1bGF0ZVBpcGV0dGVEaWdpdHModCksW2MsaF09dGhpcy5fb3B0aW9ucy5sYXN0UHJpY2VMYXN0Q2hhclN1cCYmbD9bcy5zbGljZSgwLC1sKSxzLnNsaWNlKC1sKV06W3MsIiJdO3RoaXMuX29wdGlvbnMubGFzdFByaWNlSGlnaGxpZ2h0RGlmZk9ubHkmJih0aGlzLl9pc1ZvbHVtZUZvcm1hdCYmdGhpcy5fY2hhbmdlVm9sdW1lTGV0dGVyLmNhbGwodGhpcyxyKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5sYXN0LGEpKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5sYXN0SGlnaGxpZ2h0LGMpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmxhc3RTdXAsaCksdGhpcy5fbGFzdFByaWNlRm9ybWF0dGVkPW59LFMucHJvdG90eXBlLl9nZXRDaGFuZ2VWb2x1bWVMZXR0ZXJDYWxsYmFjaz1mdW5jdGlvbigpe2xldCBlO3JldHVybiBmdW5jdGlvbih0KXt0IT09ZSYmKGU9dCx0aGlzLl9lbGVtZW50cy5sYXN0LmZvckVhY2goKHQ9PnszIT09dC5jaGlsZE5vZGVzLmxlbmd0aD90LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGUpKTp0LmNoaWxkTm9kZXNbMl0ubm9kZVZhbHVlPWV9KSkpfX0sUy5wcm90b3R5cGUuX2dldExhc3RWYWx1ZVN0cmluZ0RpZmY9ZnVuY3Rpb24oZSx0KXtpZihlPT09dCl7Y29uc3RbZSxvXT1OKHQpO3JldHVybltlLCIiLG9dfWxldCBvPTA7Zm9yKDtlW29dPT09dFtvXTspbysrO2NvbnN0W24saV09Tih0LnNsaWNlKG8pKTtyZXR1cm5bdC5zbGljZSgwLG8pLG4saV19LFMucHJvdG90eXBlLl9jYWxjdWxhdGVQaXBldHRlRGlnaXRzPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZlIT09dGhpcy5fbGFzdE1pbk1vdmUmJih0aGlzLl9sYXN0TWluTW92ZT1lKSx0aGlzLl9sYXN0TWluTW92ZT8oIiIrdGhpcy5fbGFzdE1pbk1vdmUpLmxlbmd0aC0xOjB9LFMucHJvdG90eXBlLl9zZXRDaGFuZ2VGb250Q29sb3I9ZnVuY3Rpb24oZSx0LG8sbixpKXtmb3IodmFyIHM9YS5QcmljZUNvbG9yZXIuZm9ybWF0U2lnbih0LHt1cDpvLGRvd246bixuZXV0cmFsOml9KSxyPTA7cjxlLmxlbmd0aDtyKyspZVtyXS5zdHlsZS5jb2xvcj1zfSxTLnByb3RvdHlwZS5fc2V0Q2hhbmdlRGlyZWN0aW9uPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBvPTA7bzxlLmxlbmd0aDtvKyspe3ZhciBuPWVbb10uY2xhc3NMaXN0O24udG9nZ2xlKHRoaXMuX29wdGlvbnMuY2hhbmdlRGlyZWN0aW9uVXBDbGFzcyx0PjApLG4udG9nZ2xlKHRoaXMuX29wdGlvbnMuY2hhbmdlRGlyZWN0aW9uRG93bkNsYXNzLHQ8MCksbi50b2dnbGUodGhpcy5fb3B0aW9ucy5jaGFuZ2VEaXJlY3Rpb25OZXV0cmFsQ2xhc3MsMD09PXQpfX0sUy5wcm90b3R5cGUuc2V0U2hvcnROYW1lPWZ1bmN0aW9uKGU9IiIpe3RoaXMuX3NldFRleHRzQ29udGVudCh0aGlzLl9lbGVtZW50cy5zaG9ydE5hbWUsZSl9LFMucHJvdG90eXBlLl9wcmVwYXJlU3ltYm9sRGVzY3JpcHRpb249ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fZ2V0Q2FjaGUoInN5bWJvbC1kZXNjcmlwdGlvbjoiK2UpO3JldHVybiB0fHwodD1lLHRoaXMuX3NldENhY2hlKCJzeW1ib2wtZGVzY3JpcHRpb246IitlLHQpLHQpfSxTLnByb3RvdHlwZS5faW5pdEhpZ2hsaWdodGVycz1mdW5jdGlvbigpe3RoaXMuX2hpZ2hsaWdodGVycy5sYXN0PW5ldyBUKHRoaXMuX2VsZW1lbnRzLmxhc3RIaWdobGlnaHQsdGhpcy5fb3B0aW9ucy5ncm93aW5nQmcsdGhpcy5fb3B0aW9ucy5mYWxsaW5nQmcsdGhpcy5fb3B0aW9ucy5sYXN0R3Jvd2luZ0NsYXNzLHRoaXMuX29wdGlvbnMubGFzdEZhbGxpbmdDbGFzcyksdGhpcy5faGlnaGxpZ2h0ZXJzLmV4dEhyc0Nsb3NlPW5ldyBUKHRoaXMuX2VsZW1lbnRzLmV4dEhyc0Nsb3NlLHRoaXMuX29wdGlvbnMuZ3Jvd2luZ0JnLHRoaXMuX29wdGlvbnMuZmFsbGluZ0JnLHRoaXMuX29wdGlvbnMubGFzdEdyb3dpbmdDbGFzcyx0aGlzLl9vcHRpb25zLmxhc3RGYWxsaW5nQ2xhc3MpLAp0aGlzLl9oaWdobGlnaHRlcnMubmlnaHRDbG9zZT1uZXcgVCh0aGlzLl9lbGVtZW50cy5uaWdodENsb3NlLHRoaXMuX29wdGlvbnMuZ3Jvd2luZ0JnLHRoaXMuX29wdGlvbnMuZmFsbGluZ0JnLHRoaXMuX29wdGlvbnMubGFzdEdyb3dpbmdDbGFzcyx0aGlzLl9vcHRpb25zLmxhc3RGYWxsaW5nQ2xhc3MpfSxTLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSExLHRoaXMuZGlzY29ubmVjdCgpfSxTLnByb3RvdHlwZS5lbmFibGU9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQ9ITAsdGhpcy5jb25uZWN0KCl9LFMucHJvdG90eXBlLnNldFN0YXRlSG9vaz1mdW5jdGlvbihlKXtudWxsPT09ZSYmdGhpcy5fc2V0U3RhdGVIb29rP2RlbGV0ZSB0aGlzLl9zZXRTdGF0ZUhvb2s6ImZ1bmN0aW9uIj09dHlwZW9mIGUmJih0aGlzLl9zZXRTdGF0ZUhvb2s9ZSl9LFMucHJvdG90eXBlLl9zZXRDYWNoZT1mdW5jdGlvbihlLHQpe251bGw9PXQ/ZGVsZXRlIHRoaXMuX2NhY2hlW2VdOnRoaXMuX2NhY2hlW2VdPXR9LFMucHJvdG90eXBlLl9nZXRDYWNoZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fY2FjaGUmJnRoaXMuX2NhY2hlW2VdfSxTLnByb3RvdHlwZS5nZXRPcHRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX29wdGlvbnN9fSw1Njk4MTkoZSx0LG8pe3ZhciBuPW8oNzcwNzU1KS5vcGVuUGF5d2FsbCxpPW8oNjEzODcwKS5zaG93U2lnbk1vZGFsO3dpbmRvdy5UVkRpYWxvZ3M9e3Nob3dTaWduSW5EaWFsb2c6ZnVuY3Rpb24oZSl7cmV0dXJuIGkoZSl9LHNob3dHb1Byb0RpYWxvZzpmdW5jdGlvbihlKXtuKGUpfX19LDIyMTA2MShlLHQsbyl7dmFyIG47by5kKHQse0xPR0xFVkVMOigpPT5uLGdldExvZ0hpc3Rvcnk6KCk9PncsZ2V0TG9nTGV2ZWw6KCk9PnUsZ2V0TG9nZ2VyOigpPT55LGdldFJhd0xvZ0hpc3Rvcnk6KCk9PnAsaXNIaWdoUmF0ZUVuYWJsZWQ6KCk9Pm0sbG9nZ2luZ09mZjooKT0+Uyxsb2dnaW5nT246KCk9PmIsc2VyaWFsaXplTG9nSGlzdG9yeUVudHJ5OigpPT5mLHNldEhpZ2hSYXRlU3RhdHVzOigpPT5fLHNldExvZ0xldmVsOigpPT5nfSksZnVuY3Rpb24oZSl7ZVtlLkVSUk9SPTFdPSJFUlJPUiIsZVtlLldBUk5JTkc9Ml09IldBUk5JTkciLGVbZS5JTkZPPTNdPSJJTkZPIixlW2UuTk9STUFMPTRdPSJOT1JNQUwiLGVbZS5ERUJVRz01XT0iREVCVUcifShufHwobj17fSkpO2xldCBpPTA7Y29uc3Qgcz1bXTtsZXQgcj1udWxsLGE9bnVsbCxsPW51bGwsYz1udWxsLGg9bi5XQVJOSU5HLGQ9ITE7ZnVuY3Rpb24gdSgpe3JldHVybiBofWZ1bmN0aW9uIG0oKXtyZXR1cm4gZH1mdW5jdGlvbiBnKGUpe2U9TWF0aC5tYXgobi5FUlJPUixNYXRoLm1pbihuLkRFQlVHLGUpKSxoPWV9ZnVuY3Rpb24gXyhlKXtkPWV9ZnVuY3Rpb24gcChlLHQpe2xldCBvPXMucmVkdWNlKCgoZSx0KT0+ZS5jb25jYXQodCkpLFtdKTtyZXR1cm4gby5zb3J0KCgoZSx0KT0+ZS5pZC10LmlkKSksdm9pZCAwIT09dCYmKG89by5maWx0ZXIoKGU9PmUuc3ViU3lzdGVtSWQ9PT10KSkpLCJudW1iZXIiPT10eXBlb2YgZSYmKG89by5zbGljZSgtZSkpLG99ZnVuY3Rpb24gZihlKXtyZXR1cm4gbmV3IERhdGUoZS50aW1lc3RhbXApLnRvSVNPU3RyaW5nKCkrIjoiK2Uuc3ViU3lzdGVtSWQrIjoiK2UubWVzc2FnZS5yZXBsYWNlKC8iL2csIiciKX1jb25zdCB3PShlLHQpPT5mdW5jdGlvbihlLHQpe2xldCBvLG49MCxpPTA7Zm9yKG89ZS5sZW5ndGgtMTtvPj0xJiYobis9OCooMStlbmNvZGVVUklDb21wb25lbnQoZVtvXSkubGVuZ3RoKSwhKG8tMT4wJiYoaT04KigxK2VuY29kZVVSSUNvbXBvbmVudChlW28tMV0pLmxlbmd0aCksbitpPnQpKSk7by0tKTtyZXR1cm4gZS5zbGljZShvKX0ocChlLHQpLm1hcChmKSw3NTQ5NzQ3Mik7ZnVuY3Rpb24gdihlLHQsbyxzLGQpe2lmKHQ9PT1hJiZzLmlkPT09bClyZXR1cm47Y29uc3QgdT1uZXcgRGF0ZTtpZihlPD1uLk5PUk1BTCYmZnVuY3Rpb24oZSx0LG8sbixzLHIpeyJmdW5jdGlvbiI9PXR5cGVvZiBzdHJ1Y3R1cmVkQ2xvbmUmJih0PXN0cnVjdHVyZWRDbG9uZSh0KSksdD10LnNsaWNlKDAscj8/MWUzKTtjb25zdCBhPXtpZDppLG1lc3NhZ2U6dCxzdWJTeXN0ZW1JZDpuLHRpbWVzdGFtcDpOdW1iZXIoZSl9O2krPTEsby5wdXNoKGEpLHZvaWQgMCE9PXMmJm8ubGVuZ3RoPnMmJm8uc3BsaWNlKDAsMSl9KHUsdCxvLHMuaWQscy5tYXhDb3VudCxkKSxlPD1oJiYoIXMuaGlnaFJhdGV8fG0oKSkmJighcnx8cy5pZC5tYXRjaChyKSkpe2NvbnN0IG89dS50b0lTT1N0cmluZygpKyI6IitzLmlkKyI6Iit0O3N3aXRjaChlKXtjYXNlIG4uREVCVUc6Y29uc29sZS5kZWJ1ZyhvKTticmVhaztjYXNlIG4uSU5GTzpjYXNlIG4uTk9STUFMOnMuY29sb3I/Y29uc29sZS5sb2coIiVjIitvLCJjb2xvcjogIitzLmNvbG9yKTpjb25zb2xlLmxvZyhvKTticmVhaztjYXNlIG4uV0FSTklORzpjb25zb2xlLndhcm4obyk7YnJlYWs7Y2FzZSBuLkVSUk9SOmNvbnNvbGUuZXJyb3Iobyl9YT10LGw9cy5pZCxudWxsIT09YyYmY2xlYXJUaW1lb3V0KGMpLGM9c2V0VGltZW91dCgoKCk9PnthPW51bGwsbD1udWxsLGM9bnVsbH0pLDFlMyl9fWZ1bmN0aW9uIHkoZSx0PXt9KXtjb25zdCBvPVtdO3MucHVzaChvKTtjb25zdCBpPU9iamVjdC5hc3NpZ24odCx7aWQ6ZX0pO2Z1bmN0aW9uIHIoZSl7cmV0dXJuKHQsbik9PnYoZSxTdHJpbmcodCksbyxpLG4pfXJldHVybntsb2dEZWJ1ZzpyKG4uREVCVUcpLGxvZ0Vycm9yOnIobi5FUlJPUiksbG9nSW5mbzpyKG4uSU5GTyksbG9nTm9ybWFsOnIobi5OT1JNQUwpLGxvZ1dhcm46cihuLldBUk5JTkcpfX1jb25zdCBiPShlLHQpPT57ZyhuLkRFQlVHKSxkPUJvb2xlYW4oZSkscj10fHxudWxsfSxTPSgpPT57ZyhuLklORk8pfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/39166.21343209d8750da3693a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.852Z","timestamp":1785141584852,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/39166.21343209d8750da3693a.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-15be\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 150257eae86398189470c137fdb4dfc5\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5566,"size_decoded":3492,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3066)","md5":"b68d046060944bd28bdaa7f0e942ac50","sha1":"d67bd155c5a81d6207a36c06d87e373a2d1274d9","sha256":"ddee550aa6471222ab57b074664f8cbb7c653a66cda78327bc070e5ec00115bf","sha512":"3cef94486ec2c6ca58ba870ecb861078fc7582080cab43eb1197124b05e744d9e7cd1d3fd61274210e0e79f3823865041f7ed106e3157d5d9965a576c67ce742","ssdeep":"96:xAWBjuVYfVYcU4pp0hv+CN8fhLV4QJF2KBzo3s/t7ooT9e+N0Q0ZsJgqGq/uA:qWBDUI0hv+1hjF2KzSwk340t2JrGqt","tlshash":"12b1f898b3a0780c2127507f91376f29bf1d7e98241d5871f43cecae309ea969335e26","first_seen":"2026-07-22T16:00:00.545232Z","last_seen":"2026-07-27T12:48:39.769648Z","times_seen":107,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szOTE2Nl0sezMxMjEyMihlKXtlLmV4cG9ydHM9eyJ0YWJsZXQtc21hbGwtYnJlYWtwb2ludCI6IihtYXgtd2lkdGg6IDQ0MHB4KSIsaXRlbToiaXRlbS1ZUlcwSnNEZCIsc2hvcnRjdXQ6InNob3J0Y3V0LVlSVzBKc0RkIixsb2FkaW5nOiJsb2FkaW5nLVlSVzBKc0RkIixpY29uOiJpY29uLVlSVzBKc0RkIn19LDkzOTE2NihlLHQsYSl7InVzZSBzdHJpY3QiO2Eucih0KSxhLmQodCx7Z2V0VG9vbFNldDooKT0+an0pO3ZhciBuPWEoOTMwMjMxKSxyPWEoNzc5NDc0KSxvPWEoNDM4NTM5KSxpPWEoMTg1MjcxKSxsPWEoMTg2MDk3KSxzPWEoMzQ1MTUxKSxjPWEoMjM1NzI0KSxkPWEoMzEyMzA2KTtjb25zdCB1PSgwLHMuaG90S2V5U2VyaWFsaXplKSh7a2V5czpbKDAsYy5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShjLk1vZGlmaWVycy5BbHQsITEpLCJBIl0sdGV4dDoiezB9ICsgezF9In0pO2Z1bmN0aW9uIG0oZSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChsLlRvb2xiYXJDb2xsYXBzaWJsZUJ1dHRvbix7Li4uZSxpY29uOmQsdGV4dDppLnQobnVsbCx2b2lkIDAsYSgxNjE3MzUpKSx0b29sdGlwOmkudChudWxsLHtjb250ZXh0OiJ0b29sYmFyX2FsZXJ0X3Rvb2x0aXAifSxhKDQ4NjM2MSkpLGlzT3BlbmVkOmUuaXNPcGVuZWQsImRhdGEtdG9vbHRpcC1ob3RrZXkiOnV9KX1mdW5jdGlvbiBoKCl7KDAsby5zaG93R29Ub1RyYWRpbmdWaWV3UmVmZXJyYWxEaWFsb2cpKHtmZWF0dXJlOiJhbGVydHMifSl9ZnVuY3Rpb24gcChlKXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KG0sey4uLmUsb25DbGljazpofSl9dmFyIGc9YSg5MDY2ODMpO2Z1bmN0aW9uIHcoKXsoMCxvLnNob3dHb1RvVHJhZGluZ1ZpZXdSZWZlcnJhbERpYWxvZykoe2ZlYXR1cmU6InNhdmVsb2FkIn0pfWZ1bmN0aW9uIGIoZSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChnLlRvb2xXaWRnZXRTYXZlTG9hZFZpZXcsey4uLmUsaXNBdXRoZW50aWNhdGVkOiExLGlzUHJvY2Vzc2luZzohMSx3YXNDaGFuZ2VzOiEwLGhpZGVNZW51OiEwLG9uU2F2ZUNoYXJ0OncsaXNOZXdWaWV3OigwLG4uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKX0pfXZhciBfPWEoNjU5MzY1KSxmPWEoOTE0NDg3KSx2PWEubihmKSxFPWEoMTUzNzM0KSx5PWEoMjc2MDE5KSxrPWEoMzg3MjMxKSxTPWEoNzU0MTgwKSxUPWEoOTcxNjU5KSxDPWEoODUwMTA4KSxNPWEoMTk5MTcyKSxCPWEoNTY5Mzk4KSxGPWEoMzEyMTIyKTtjb25zdCBSPSgwLGsubWVyZ2VUaGVtZXMpKEUuREVGQVVMVF9QT1BVUF9NRU5VX0lURU1fVEhFTUUsRik7ZnVuY3Rpb24gVyhlLHQpe3dpbmRvdy5wYXJlbnQhPT13aW5kb3cmJndpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2Uoe25hbWU6ZSxkZXRhaWw6dH0sIioiKX1mdW5jdGlvbiBEKGUpe3JldHVybiBCb29sZWFuKGUuY2hhcnRXaWRnZXQubW9kZWwpfWNvbnN0IE49KDAsQi5pc0ZlYXR1cmVFbmFibGVkKSgidGVsZWdyYW1fbWluaV9hcHBfc2hhcmVfc25hcHNob3RfdXNlX2ZhbGxiYWNrIik7ZnVuY3Rpb24gUChlKXtjb25zdHtzZXJ2ZXJTbmFwc2hvdDp0LGNsaWVudFNuYXBzaG90Om59PWUsW28sbF09KDAsci51c2VTdGF0ZSkoITEpLHM9KDAsVC51c2VJc01vdW50ZWQpKCksYz0oMCxyLnVzZUNhbGxiYWNrKSgoYXN5bmMoKT0+e2lmKCFEKHdpbmRvdykpcmV0dXJuO2NvbnN0IGU9d2luZG93LmNoYXJ0V2lkZ2V0Lm1vZGVsKCkubWFpblNlcmllcygpLHQ9ZS5xdW90ZXMoKTtpZighdCl0aHJvdyBuZXcgRXJyb3IoIlF1b3RlcyBkYXRhIG1pc3NpbmcgZm9yIHRlbGVncmFtIG1lc3NhZ2UiKTtXKCJ0ZWxlZ3JhbS1zaGFyZS1sYXN0LXByaWNlIix7Y3VycmVuY3k6dC5jdXJyZW5jeV9jb2RlfHwiIixzeW1ib2xOYW1lOmUuZ2V0U3ltYm9sTmFtZSgpLGxhc3RQcmljZTp0Lmxhc3RfcHJpY2UsbGFzdFByaWNlVGltZTp0LmxwX3RpbWUsc3ltYm9sOnRbInN5bWJvbC1wcmltYXJ5bmFtZSJdPz9lLmdldFN5bWJvbE5hbWUoKSxpbnRlcnZhbDplLmludGVydmFsKCl8fCIxIn0pfSksW10pLGQ9KDAsci51c2VDYWxsYmFjaykoKGFzeW5jKCk9Pnt0cnl7Y29uc3QgZT1hd2FpdCBuZXcgUHJvbWlzZSgoZT0+e3RyeXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO2lmKHQud2lkdGg9MSx0LmhlaWdodD0xLCF0LnRvQmxvYilyZXR1cm4gdm9pZCBlKCExKTt0LnRvQmxvYigodD0+e2UoQm9vbGVhbih0JiYiaW1hZ2UvanBlZyI9PT10LnR5cGUpKX0pLCJpbWFnZS9qcGVnIil9Y2F0Y2h7ZSghMSl9fSkpO2lmKE58fCFlKXtyZXR1cm4gVygidGVsZWdyYW0tc2hhcmUtc25hcHNob3QiLGF3YWl0IHQoKSksITB9aWYoIUQod2luZG93KSlyZXR1cm4hMTtjb25zdCBhPXdpbmRvdy5jaGFydFdpZGdldC5tb2RlbCgpLm1haW5TZXJpZXMoKS5nZXRTeW1ib2xOYW1lKCkscj1hd2FpdCBuKCksbz0oMCxCLmlzRmVhdHVyZUVuYWJsZWQpKCJ0ZWxlZ3JhbV9taW5pX2FwcF9yZWR1Y2Vfc25hcHNob3RfcXVhbGl0eSIpPy4zOi44LGk9YXdhaXQgYXN5bmMgZnVuY3Rpb24oZSx0PS44KXtyZXR1cm4gbmV3IFByb21pc2UoKChhLG4pPT57ZS50b0Jsb2IoKGU9PntpZihudWxsPT09ZSlyZXR1cm4gdm9pZCBuKG5ldyBFcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBCbG9iIikpO2NvbnN0IHQ9bmV3IEZpbGVSZWFkZXI7dC5vbmxvYWRlbmQ9YXN5bmMoKT0+e3RyeXtjb25zdCBlPXQucmVzdWx0O2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIlVuZXhwZWN0ZWQgcmVhZGVyIHJlc3VsdCIpO2NvbnN0IG49ZS5zcGxpdCgiLCIpWzFdO2Eobil9Y2F0Y2goZSl7bihlKX19LHQub25lcnJvcj0oKT0+e24obmV3IEVycm9yKCJGYWlsZWQgdG8gcmVhZCBibG9iIGFzIGRhdGEgVVJMIikpfSx0LnJlYWRBc0RhdGFVUkwoZSl9KSwiaW1hZ2UvanBlZyIsdCl9KSl9KHIuY2FudmFzLG8pO3JldHVybiBXKCJ0ZWxlZ3JhbS1zaGFyZS1zbmFwc2hvdC1iYXNlNjQiLHtjb250ZW50OmksCnN5bWJvbDphfSksITB9ZmluYWxseXtzLmN1cnJlbnQmJihsKCExKSwoMCx5Lmdsb2JhbENsb3NlTWVudSkoKSl9fSksW3Qsbl0pO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoci5GcmFnbWVudCxudWxsLHIuY3JlYXRlRWxlbWVudChNLlRvb2xXaWRnZXRNZW51U3VtbWFyeSxudWxsLGkudChudWxsLHZvaWQgMCxhKDI5NjQ1NykpKSwhKDAsQi5pc0ZlYXR1cmVFbmFibGVkKSgidGVsZWdyYW1fbWluaV9hcHBfZGlzYWJsZV9zaGFyZV9zbmFwc2hvdCIpJiZyLmNyZWF0ZUVsZW1lbnQoQy5BY2Nlc3NpYmxlTWVudUl0ZW0se3JvbGU6InJvdyIsImRhdGEtbmFtZSI6InNoYXJlLWNoYXJ0LWltYWdlIixsYWJlbDpyLmNyZWF0ZUVsZW1lbnQoUy5MYWJlbFdpdGhMb2FkZXIse2lzTG9hZGluZzpvfSxpLnQobnVsbCx2b2lkIDAsYSg4NzA2NzgpKSksb25DbGljazooKT0+e2woITApLGQoKX0sZG9udENsb3NlUG9wdXA6ITAsaXNEaXNhYmxlZDpvLHNob3J0Y3V0OnZvaWQgMCxjbGFzc05hbWU6digpKG8mJkYubG9hZGluZyksdGhlbWU6Un0pLCEoMCxCLmlzRmVhdHVyZUVuYWJsZWQpKCJ0ZWxlZ3JhbV9taW5pX2FwcF9kaXNhYmxlX3NoYXJlX2xhc3RfcHJpY2UiKSYmci5jcmVhdGVFbGVtZW50KEMuQWNjZXNzaWJsZU1lbnVJdGVtLHtyb2xlOiJyb3ciLCJkYXRhLW5hbWUiOiJzaGFyZS1sYXN0LXByaWNlIixsYWJlbDppLnQobnVsbCx2b2lkIDAsYSg1NDAwNDIpKSxvbkNsaWNrOmMsc2hvcnRjdXQ6dm9pZCAwLHRoZW1lOlJ9KSl9dmFyIHg9YSg3NzEyODUpLEE9YSg5OTU3MTkpLEw9YSg2MDk1MjgpLFU9YSgxMTczMTMpO2NvbnN0IHo9KDAsQi5pc0ZlYXR1cmVFbmFibGVkKSgidGVsZWdyYW1fbWluaV9hcHBfc2hhcmVfc25hcHNob3RfdXNlX2ZhbGxiYWNrIik7ZnVuY3Rpb24gSShlKXtjb25zdFt0LGFdPSgwLHIudXNlU3RhdGUpKCExKSxuPSgwLFQudXNlSXNNb3VudGVkKSgpLG89KDAsci51c2VDYWxsYmFjaykoKGFzeW5jKCk9PnthKCEwKSx6P2F3YWl0IGUuc2VydmVyU25hcHNob3QoKTphd2FpdCBlLmNsaWVudFNuYXBzaG90KCksbi5jdXJyZW50JiZhKCExKX0pLFtlLnNlcnZlclNuYXBzaG90LGUuY2xpZW50U25hcHNob3RdKTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KEEuVG9vbFdpZGdldEJ1dHRvbix7aWQ6ZS5pZCxjbGFzc05hbWU6ZS5jbGFzc05hbWUsaXNEaXNhYmxlZDp0LG9uQ2xpY2s6byx0aXRsZTplLnRvb2x0aXAsaWNvbjplLmljb259KX12YXIgSj1hKDIxNjA4MyksTz1hKDg1ODIzNik7Y29uc3QgVj0oMCxfLmJpbmRTY3JlZW5zaG90KSgoZnVuY3Rpb24oZSl7cmV0dXJuKDAsVS5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpP3IuY3JlYXRlRWxlbWVudChJLHsuLi5lLGljb246T30pOnIuY3JlYXRlRWxlbWVudCh4LlRvb2xiYXJNZW51QnV0dG9uLHtjb250ZW50OnIuY3JlYXRlRWxlbWVudChBLlRvb2xXaWRnZXRCdXR0b24se3RhZzoiZGl2IixpZDplLmlkLGNsYXNzTmFtZTplLmNsYXNzTmFtZSxpY29uOk99KSxkcmF3ZXJQb3NpdGlvbjoiQm90dG9tIixkcmF3ZXJCcmVha3BvaW50OkwuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGwsYXJyb3c6ITEsb25DbGljazpmdW5jdGlvbigpeygwLEoudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwidGVsZWdyYW0gc2hhcmUiKX0sdG9vbHRpcDplLnRvb2x0aXAsbWVudVJvbGU6ImdyaWQifSxyLmNyZWF0ZUVsZW1lbnQoUCx7Li4uZX0pKX0pKTt2YXIgWT1hKDMzMDcyMSk7ZnVuY3Rpb24gaigpe3JldHVybnsuLi4oMCxZLmdldFJlc3RyaWN0ZWRUb29sU2V0KSgpLEFsZXJ0UmVmZXJyYWw6KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2Zha2VfZmVhdHVyZXNfYnV0dG9ucyIpP3A6dm9pZCAwLFNhdmVMb2FkUmVmZXJyYWw6KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2Zha2VfZmVhdHVyZXNfYnV0dG9ucyIpP2I6dm9pZCAwLFRlbGVncmFtU2hhcmU6KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3RlbGVncmFtX3NoYXJlIik/Vjp2b2lkIDB9fX0sODU4MjM2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTIxIDguNWEyLjUgMi41IDAgMSAxLTUgMCAyLjUgMi41IDAgMCAxIDUgMHptMSAwYTMuNSAzLjUgMCAwIDEtNi4yMSAyLjIxbC00LjA2IDIuNDRhMy40OSAzLjQ5IDAgMCAxIDAgMi43bDQuMDYgMi40NGEzLjUgMy41IDAgMSAxLS41Mi44NmwtNC4wNi0yLjQ0YTMuNSAzLjUgMCAxIDEgMC00LjQybDQuMDYtMi40NEEzLjQ5IDMuNDkgMCAwIDEgMTguNSA1IDMuNSAzLjUgMCAwIDEgMjIgOC41em0tMSAxMmEyLjUgMi41IDAgMSAxLTUgMCAyLjUgMi41IDAgMCAxIDUgMHpNOC41IDE3YTIuNSAyLjUgMCAxIDAgMC01IDIuNSAyLjUgMCAwIDAgMCA1eiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/23624.d2390d17b1509b018826.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.779Z","timestamp":1785141584779,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/23624.d2390d17b1509b018826.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1547\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6c5aa8dd8745c4f387783b84431588b8\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5447,"size_decoded":2078,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5447), with no line terminators","md5":"2c33d31c563e23c31e00293508a0185a","sha1":"a5929dabb129340cfe8b787016b307911e1a3454","sha256":"4ce18d9026cee0619db0fe37daf10d2562a6a41648d0baaf2fbabedd6997ad8f","sha512":"f18b23e71681a5a8a3059d3ca0acc71b714119f95515c18cfb29123816bbf4e158126f7a947ff798c18080ee07ba20b1af9d063e587477bf46de561078ce9fc7","ssdeep":"96:DP5k+VoSKKEKgnKzKvKzKLKIKLKIKhK2nZjBCmVcKEKpVcKEKPK2XIKvmK2XIKv+:9kingKuiuWTWTw2ZXnrnCOtOTLK54WSS","tlshash":"ffb1df88e1cf773e2a3bb9295308e1dc97076780ea421be5bf61e25625cdbc651f5c08","first_seen":"2026-07-16T13:40:49.85665Z","last_seen":"2026-07-27T14:36:17.47707Z","times_seen":366,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtQU1UbDp2YXIoLS1jb2xvci13aGl0ZSl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1BTVRsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApfS5pdGVtLU1pMF90NXVOe2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JvcmRlcjowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXgtZmxvdzpyb3cgbm93cmFwO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctYmxvY2s6MnB4IDJweDtwYWRkaW5nLWlubGluZTo4cHggMTBweDt0cmFuc2l0aW9uLXByb3BlcnR5Om5vbmU7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjEwMCV9Lml0ZW0tTWkwX3Q1dU4uaG92ZXJlZC1NaTBfdDV1TiwuaXRlbS1NaTBfdDV1TjphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1NaTBfdDV1Tjpob3Zlcntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9fS5pdGVtLU1pMF90NXVOLmhvdmVyZWQtTWkwX3Q1dU57YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLU1pMF90NXVOOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfX0uaXRlbS1NaTBfdDV1TjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSl9Lml0ZW0tTWkwX3Q1dU57b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9Lml0ZW0tTWkwX3Q1dU46Zm9jdXN7b3V0bGluZTpub25lfS5pdGVtLU1pMF90NXVOOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5pdGVtLU1pMF90NXVOOmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6Y2FsYygxMDAlIC0gNHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6MnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDt3aWR0aDpjYWxjKDEwMCUgLSA0cHgpO3otaW5kZXg6MX0uaXRlbS1NaTBfdDV1Tjpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5pdGVtLU1pMF90NXVOOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uaXRlbS1NaTBfdDV1Tjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uaXRlbS1NaTBfdDV1TjphZnRlcntib3JkZXItcmFkaXVzOjlweH0uaXRlbS1NaTBfdDV1TjphZnRlcixodG1sLnRoZW1lLWRhcmsgLml0ZW0tTWkwX3Q1dU46YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZSl9Lml0ZW0tTWkwX3Q1dU4uaXNEaXNhYmxlZC1NaTBfdDV1TntjdXJzb3I6ZGVmYXVsdDtvcGFjaXR5Oi41fS5pdGVtLU1pMF90NXVOLmlzRGlzYWJsZWQtTWkwX3Q1dU4sLml0ZW0tTWkwX3Q1dU4uaXNEaXNhYmxlZC1NaTBfdDV1TjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLU1pMF90NXVOLmlzRGlzYWJsZWQtTWkwX3Q1dU46aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9fS5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1pbnZlcnNlKX0uaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1TiwuaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1TjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWFjdGl2ZSx2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1Tjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9fS5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOIC5zaG9ydGN1dC1NaTBfdDV1TiwuaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1TjphY3RpdmUgLnNob3J0Y3V0LU1pMF90NXVOe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1Tjpob3ZlciAuc2hvcnRjdXQtTWkwX3Q1dU57Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOIC50b29sYm94LU1pMF90NXVOLnRvb2xib3gtTWkwX3Q1dU4sLml0ZW0tTWkwX3Q1dU4uaXNBY3RpdmUtTWkwX3Q1dU46YWN0aXZlIC50b29sYm94LU1pMF90NXVOLnRvb2xib3gtTWkwX3Q1dU57Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOOmhvdmVyIC50b29sYm94LU1pMF90NXVOLnRvb2xib3gtTWkwX3Q1dU57Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5pdGVtLU1pMF90NXVOOmJlZm9yZXtjb250ZW50OiIgIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoyOHB4fS53aXRoSWNvbi1NaTBfdDV1TntwYWRkaW5nLWJvdHRvbTo2cHg7cGFkZGluZy10b3A6NnB4fS5yb3VuZC1pY29uLU1pMF90NXVOe2JvcmRlci1yYWRpdXM6NTAlO292ZXJmbG93OmhpZGRlbn0uaWNvbi1NaTBfdDV1Tiwuc3RhcnRTbG90LU1pMF90NXVOe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC1zaHJpbms6MDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmUtZW5kOjZweDttYXgtaGVpZ2h0OjI4cHg7bWF4LXdpZHRoOjI4cHh9Lmljb24tTWkwX3Q1dU4gc3Zne2Rpc3BsYXk6YmxvY2t9LmxhYmVsUm93LU1pMF90NXVOe2FsaWduLWl0ZW1zOmJhc2VsaW5lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleDowIDEgMTAwJTtmbGV4LWRpcmVjdGlvbjpyb3c7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7cGFkZGluZy1pbmxpbmUtZW5kOjEycHh9LmxhYmVsUm93LU1pMF90NXVOOmZpcnN0LWNoaWxke3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweH0ubGFiZWxSb3ctTWkwX3Q1dU46bGFzdC1jaGlsZHtwYWRkaW5nLWlubGluZS1lbmQ6NHB4fS5sYWJlbC1NaTBfdDV1TntkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0bzttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW59LnNob3J0Y3V0LU1pMF90NXVOe2ZvbnQtc2l6ZToxMnB4O21hcmdpbi1pbmxpbmUtZW5kOjVweDttYXJnaW4taW5saW5lLXN0YXJ0OjU4cHg7dGV4dC1hbGlnbjplbmR9Lml0ZW0tTWkwX3Q1dU4uaXRlbS1NaTBfdDV1Tjpub3QoLmlzQWN0aXZlLU1pMF90NXVOKSAuc2hvcnRjdXQtTWkwX3Q1dU57Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQsdmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpKX0uaXRlbS1NaTBfdDV1Ti5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOIC5zaG9ydGN1dC1NaTBfdDV1Tntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWhpbnQtdGV4dCx2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlKSl9LnRvb2xib3gtTWkwX3Q1dU57YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5mZWF0dXJlLW5vLXRvdWNoIC50b29sYm94LU1pMF90NXVOLnNob3dPbkhvdmVyLU1pMF90NXVOe29wYWNpdHk6MH0udG9vbGJveC1NaTBfdDV1Tj46bm90KDpsYXN0LWNoaWxkKXttYXJnaW4taW5saW5lLWVuZDo0cHh9QG1lZGlhIChtYXgtd2lkdGg6NDQwcHgpey50b29sYm94LU1pMF90NXVOPjpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtZW5kOjhweH19LmRpc2Nsb3N1cmUtaXRlbS1jaXJjbGUtbG9nby1NaTBfdDV1TntmbGV4LXNocmluazowO21hcmdpbi1pbmxpbmUtZW5kOjZweH0uZmVhdHVyZS1uby10b3VjaCAuaXRlbS1NaTBfdDV1Tjpmb2N1cy12aXNpYmxlIC50b29sYm94LU1pMF90NXVOLnNob3dPbkZvY3VzLU1pMF90NXVOe29wYWNpdHk6MX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmZlYXR1cmUtbm8tdG91Y2ggLml0ZW0tTWkwX3Q1dU46aG92ZXIgLnRvb2xib3gtTWkwX3Q1dU4uc2hvd09uSG92ZXItTWkwX3Q1dU57b3BhY2l0eToxfX0uZmVhdHVyZS1uby10b3VjaCAuaXRlbS1NaTBfdDV1TjpoYXMoOmZvY3VzLXZpc2libGUpIC50b29sYm94LU1pMF90NXVOLnNob3dPbkZvY3VzLU1pMF90NXVOe29wYWNpdHk6MX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/study-pane-views.663c5d9b21dc5e618998.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.538Z","timestamp":1785141585538,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/study-pane-views.663c5d9b21dc5e618998.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-151e0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:41\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 488edf18443e34c31845db100d993a50\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":86496,"size_decoded":25526,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"5a9f63c99f9d5d568eb64759326caab4","sha1":"f30d6d870db604980bcccf56754fbd2b4a793d63","sha256":"495aa62cf17213bfa7fb11fea84b8a177d37180b0e424c8a4a20e73d4779c4c7","sha512":"e7b5c45bd3574d3ad6dd7d4faf79de3c2d68454439c5275a44af309c26968b86e399c6cdfb0a40091870ffaec3555511470b6bb6715e8b78034da4aeda759237","ssdeep":"1536:N9l5HPSFvpMa7EVaVxGbCjD+blIXkrza8u9BkrvDfG3Q9q+6Feg43qD:N96Fvph7EVa324Xkrza8I2DfG3Q9qtey","tlshash":"8b8308d2709134aa43b35ada6cb0440797252c56394f887c707d89ff18eec5436bdbba","first_seen":"2026-07-22T16:00:00.360345Z","last_seen":"2026-07-27T14:50:15.388855Z","times_seen":78,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTE2NjhdLHs2ODc1OTAoZSx0LGkpe3ZhciByLG47aS5kKHQse0hBbGlnbjooKT0+cn0pLGZ1bmN0aW9uKGUpe2UuTGVmdD0ibGVmdCIsZS5DZW50ZXI9ImNlbnRlciIsZS5SaWdodD0icmlnaHQifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuVG9wPSJ0b3AiLGUuTWlkZGxlPSJtaWRkbGUiLGUuQm90dG9tPSJib3R0b20ifShufHwobj17fSkpfSw0NTUxODgoZSx0LGkpe3ZhciByLG47aS5kKHQse1RleHRNYXJrVHlwZTooKT0+cn0pLGZ1bmN0aW9uKGUpe2UuVHJpYW5nbGU9InRyaWFuZ2xlIixlLlJlY3RhbmdsZT0icmVjdGFuZ2xlIn0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlLlZlcmRhbmE9IlZlcmRhbmEiLGUuQ291cmllck5ldz0iQ291cmllciBOZXciLGUuVGltZXNOZXdSb21hbj0iVGltZXMgTmV3IFJvbWFuIixlLkFyaWFsPSJBcmlhbCJ9KG58fChuPXt9KSl9LDE1OTcxMChlLHQsaSl7aS5kKHQse0xvY2F0aW9uVG9ZTWl4aW46KCk9PmF9KTt2YXIgcj1pKDEzODYzOCksbj1pKDY0MDc0NCksbz1pKDk2MDQ2NCk7Y2xhc3MgYXtfbG9jYXRpb25Ub1koZSx0LGk9MCl7bGV0IGE7c3dpdGNoKGUpe2Nhc2Ugby5NYXJrTG9jYXRpb24uQWJvdmVCYXI6YT0yO2JyZWFrO2Nhc2Ugby5NYXJrTG9jYXRpb24uQmVsb3dCYXI6YT0zfWNvbnN0IHM9dGhpcy5fcHJvdmlkZXIuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1zKXJldHVybiAwO2k+PTEmJihpLT0xKTtjb25zdCBsPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fcHJvdmlkZXIucHJpY2VTY2FsZSgpKSxkPVtdO2ZvcihsZXQgZT0taTtlPD1pO2UrKyl7Y29uc3QgaT10aGlzLl9wcm92aWRlci5zZXJpZXMoKS5iYXJzKCkudmFsdWVBdCh0K2UpO2lmKG51bGwhPT1pKXtjb25zdCBlPWlbYV07aWYobnVsbD09ZSljb250aW51ZTtkLnB1c2gobC5wcmljZVRvQ29vcmRpbmF0ZShlLHMpKX19c3dpdGNoKGUpe2Nhc2Ugby5NYXJrTG9jYXRpb24uQWJvdmVCYXI6cmV0dXJuKDAsbi5taW4pKGQpLTE1O2Nhc2Ugby5NYXJrTG9jYXRpb24uQmVsb3dCYXI6cmV0dXJuKDAsbi5tYXgpKGQpKzE1fX19fSw4ODA3NjEoZSx0LGkpe2kuZCh0LHtQb2x5Z29uUmVuZGVyZXI6KCk9PnB9KTt2YXIgcj1pKDc2ODMwNSksbj1pKDcwMDc0KSxvPWkoNjY0ODE1KSxhPWkoNjYwMTYxKSxzPWkoNzYzKSxsPWkoODczNTczKSxkPWkoNTczMDU0KSxoPWkoNjA0MjE0KSxjPWkoNzg2NDM2KSx1PWkoMjYwNjkpLGY9aSg1MTU5Mik7Y2xhc3MgcCBleHRlbmRzIGQuTWVkaWFDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2RhdGE9bnVsbCx0aGlzLl9iYWNrSGl0dGVzdD1uZXcgcy5IaXRUZXN0UmVzdWx0KHMuSGl0VGFyZ2V0Lk1vdmVQb2ludEJhY2tncm91bmQpLHRoaXMuX3BvaW50cz1bXSx0aGlzLl9oaXR0ZXN0PWU/P25ldyBzLkhpdFRlc3RSZXN1bHQocy5IaXRUYXJnZXQuTW92ZVBvaW50KX1zZXREYXRhKGUpe3RoaXMuX2RhdGE9ZSx0aGlzLl9wb2ludHM9ZS5wb2ludHN9aGl0VGVzdChlKXtpZihudWxsPT09dGhpcy5fZGF0YXx8dGhpcy5fZGF0YS5kaXNhYmxlSW50ZXJhY3Rpb25zKXJldHVybiBudWxsO2NvbnN0IHQ9TWF0aC5tYXgoKDAsaC5pbnRlcmFjdGlvblRvbGVyYW5jZSkoKS5saW5lLE1hdGguY2VpbCh0aGlzLl9kYXRhLmxpbmV3aWR0aC8yKSksaT10aGlzLl9wb2ludHMubGVuZ3RoO2lmKDE9PT1pKXtyZXR1cm4oMCxyLnBvaW50SW5DaXJjbGUpKGUsdGhpcy5fcG9pbnRzWzBdLHQpP3RoaXMuX2hpdHRlc3Q6bnVsbH1mb3IobGV0IHI9MTtyPGk7cisrKXtjb25zdCBpPXRoaXMuX3BvaW50c1tyLTFdLG89dGhpcy5fcG9pbnRzW3JdO2lmKCgwLG4uZGlzdGFuY2VUb1NlZ21lbnQpKGksbyxlKS5kaXN0YW5jZTw9dClyZXR1cm4gdGhpcy5faGl0dGVzdH1pZih0aGlzLl9kYXRhLmZpbGxlZCYmdGhpcy5fZGF0YS5maWxsQmFja2dyb3VuZCYmaT4wKXtjb25zdCByPXRoaXMuX3BvaW50c1swXSxvPXRoaXMuX3BvaW50c1tpLTFdO2lmKCgwLG4uZGlzdGFuY2VUb1NlZ21lbnQpKHIsbyxlKS5kaXN0YW5jZTw9dClyZXR1cm4gdGhpcy5faGl0dGVzdH1yZXR1cm4gdGhpcy5fZGF0YS5maWxsZWQmJnRoaXMuX2RhdGEuZmlsbEJhY2tncm91bmQmJigwLHIucG9pbnRJblBvbHlnb24pKGUsdGhpcy5fZGF0YS5wb2ludHMpP3RoaXMuX2JhY2tIaXR0ZXN0Om51bGx9X2RyYXdJbXBsKGUpe2NvbnN0IHQ9ZS5jb250ZXh0LGk9dGhpcy5fcG9pbnRzLmxlbmd0aDtpZihudWxsPT09dGhpcy5fZGF0YXx8MD09PWkpcmV0dXJuO2NvbnN0IHI9dC5nbG9iYWxBbHBoYTt0cnl7aWYodm9pZCAwIT09dGhpcy5fZGF0YS5nbG9iYWxBbHBoYSYmKHQuZ2xvYmFsQWxwaGE9dGhpcy5fZGF0YS5nbG9iYWxBbHBoYSksMT09PWkpcmV0dXJuIHZvaWQgdGhpcy5fZHJhd1BvaW50KHQsdGhpcy5fcG9pbnRzWzBdLHRoaXMuX2RhdGEubGluZXdpZHRoLzIsdGhpcy5fZGF0YS5jb2xvcik7dC5iZWdpblBhdGgoKTtjb25zdCBlPXRoaXMuX2RhdGEubGluZXN0eWxlPT09dS5MSU5FU1RZTEVfU09MSUQ/InJvdW5kIjoiYnV0dCIscj10aGlzLl9kYXRhLmxpbmVjYXA/P2U7dC5saW5lQ2FwPXIsdC5zdHJva2VTdHlsZT10aGlzLl9kYXRhLmNvbG9yLHQubGluZVdpZHRoPXRoaXMuX2RhdGEubGluZXdpZHRoLHQubGluZUpvaW49dGhpcy5fZGF0YS5saW5lam9pbj8/InJvdW5kIiwoMCxjLnNldExpbmVTdHlsZSkodCx0aGlzLl9kYXRhLmxpbmVzdHlsZSk7Y29uc3Qgbj10aGlzLl9wb2ludHNbMF07dC5tb3ZlVG8obi54LG4ueSk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fcG9pbnRzKXQubGluZVRvKGUueCxlLnkpO2lmKHRoaXMuX2RhdGEuZmlsbGVkJiZ0aGlzLl9kYXRhLmZpbGxCYWNrZ3JvdW5kJiYodC5maWxsU3R5bGU9KDAsbC5nZW5lcmF0ZUNvbG9yKSh0aGlzLl9kYXRhLmJhY2tjb2xvcix0aGlzLl9kYXRhLnRyYW5zcGFyZW5jeSksdC5maWxsKCkpLAp0aGlzLl9kYXRhLmZpbGxlZCYmIXRoaXMuX2RhdGEuc2tpcENsb3NlUGF0aCYmdC5jbG9zZVBhdGgoKSxpPjEpe2lmKHRoaXMuX2RhdGEubGVmdGVuZD09PWEuTGluZUVuZC5BcnJvdyl7Y29uc3QgZT10aGlzLl9jb3JyZWN0QXJyb3dQb2ludHModGhpcy5fcG9pbnRzWzFdLHRoaXMuX3BvaW50c1swXSx0LmxpbmVXaWR0aCxyKTsoMCxvLmRyYXdBcnJvdykoZVswXSxlWzFdLHQsdC5saW5lV2lkdGgsZi5kcHIxUGl4ZWxSYXRpb0luZm8pfWlmKHRoaXMuX2RhdGEucmlnaHRlbmQ9PT1hLkxpbmVFbmQuQXJyb3cpe2NvbnN0IGU9dGhpcy5fY29ycmVjdEFycm93UG9pbnRzKHRoaXMuX3BvaW50c1tpLTJdLHRoaXMuX3BvaW50c1tpLTFdLHQubGluZVdpZHRoLHIpOygwLG8uZHJhd0Fycm93KShlWzBdLGVbMV0sdCx0LmxpbmVXaWR0aCxmLmRwcjFQaXhlbFJhdGlvSW5mbyl9fXRoaXMuX2RhdGEubGluZXdpZHRoPjAmJnQuc3Ryb2tlKCl9ZmluYWxseXt0Lmdsb2JhbEFscGhhPXJ9fV9kcmF3UG9pbnQoZSx0LGkscil7MCE9PWkmJihlLmJlZ2luUGF0aCgpLGUuZmlsbFN0eWxlPXIsZS5hcmModC54LHQueSxpLDAsMipNYXRoLlBJLCEwKSxlLmZpbGwoKSxlLmNsb3NlUGF0aCgpKX1fY29ycmVjdEFycm93UG9pbnRzKGUsdCxpLHIpe2NvbnN0IG49dC5zdWJ0cmFjdChlKSxvPW4ubGVuZ3RoKCk7aWYoImJ1dHQiPT09cnx8bzwxKXJldHVybltlLHRdO2NvbnN0IGE9bytpLzI7cmV0dXJuW2Usbi5zY2FsZWQoYS9vKS5hZGQoZSldfX19LDIyMDI3NihlLHQsaSl7aS5yKHQpLGkuZCh0LHtCYWNrZ3JvdW5kUGFuZVZpZXc6KCk9Pmx9KTt2YXIgcj1pKDEzODYzOCksbj1pKDc4OTE5MCksbz1pKDE1MTIxKSxhPWkoODczNTczKTtjbGFzcyBze2NvbnN0cnVjdG9yKGUpe3RoaXMuX2RhdGE9ZX1oaXRUZXN0KGUpe3JldHVybiBudWxsfWRyYXcoZSx0KXt9ZHJhd0JhY2tncm91bmQoZSx0KXtjb25zdCBpPXRoaXMuX2RhdGEscj0oMCxhLmdlbmVyYXRlQ29sb3IpKHRoaXMuX2RhdGEuY29sb3IsdGhpcy5fZGF0YS50cmFuc3BhcmVuY3kpLG49TWF0aC5yb3VuZChpLngxKnQuaG9yaXpvbnRhbFBpeGVsUmF0aW8pLHM9TWF0aC5yb3VuZChpLngyKnQudmVydGljYWxQaXhlbFJhdGlvKTsoMCxvLmZpbGxSZWN0KShlLG4sMCxzLW4sdC5iaXRtYXBTaXplLmhlaWdodCxyKX19Y2xhc3MgbHtjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5fZGF0YT1bXSx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9wcm92aWRlcj1lLHRoaXMuX21vZGVsPXQsdGhpcy5fZGF0YT1bXX11cGRhdGUoZSl7ImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9pbnZhbGlkYXRlZD0hMCl9cmVuZGVyZXIoKXt0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZVZpZXdJbnRlcm5hbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKTtjb25zdCBlPW5ldyBuLkNvbXBvc2l0ZVJlbmRlcmVyO2Zvcihjb25zdCB0IG9mIHRoaXMuX2RhdGEpZS5hcHBlbmQobmV3IHModCkpO3JldHVybiBlfV91cGRhdGVWaWV3SW50ZXJuYWwoKXt0aGlzLl9kYXRhPVtdO2NvbnN0IGU9dGhpcy5fcHJvdmlkZXIucHJpY2VTY2FsZSgpLHQ9dGhpcy5fbW9kZWwudGltZVNjYWxlKCk7aWYoIWV8fGUuaXNFbXB0eSgpfHx0LmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgaT10aGlzLl9wcm92aWRlci5ncmFwaGljcygpLmJhY2tncm91bmRzKCk7aWYoMD09PWkuc2l6ZSlyZXR1cm47Y29uc3Qgbj10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09bilyZXR1cm47Y29uc3Qgbz1uLmZpcnN0QmFyKCksYT1uLmxhc3RCYXIoKSxzPSgwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkcygpLmdyYXBoaWNzLmNoaWxkcygpLmJhY2tncm91bmRzKTtpLmZvckVhY2goKChlLGkpPT57Y29uc3Qgbj1zLmNoaWxkcygpW2ldPy5jaGlsZHMoKTtpZighbj8udmlzaWJsZS52YWx1ZSgpKXJldHVybjtsZXQgbCxkO2UuZm9yRWFjaCgoZT0+e2NvbnN0IGk9bnVsbCE9PWUuc3RhcnQ/ZS5zdGFydDooMCxyLmVuc3VyZU5vdE51bGwpKHQucG9pbnRzKCkucmFuZ2UoKS52YWx1ZSgpKS5maXJzdEluZGV4LHM9ZS5zdG9wO2lmKHM8b3x8YTxpKXJldHVybjtsZXQgaD10LmJhckJvcmRlcnMoaSkubGVmdDtjb25zdCBjPXQuYmFyQm9yZGVycyhzKS5yaWdodDtkPT09aS0xJiYoaD1sfHxoKSxsPWMsZD1zLGg8MCYmYzwwfHxoPnQud2lkdGgoKSYmYz50LndpZHRoKCl8fHRoaXMuX2RhdGEucHVzaCh7eDE6aCx4MjpjLGNvbG9yOm4uY29sb3IudmFsdWUoKSx0cmFuc3BhcmVuY3k6bi50cmFuc3BhcmVuY3kudmFsdWUoKX0pfSkpfSkpfX19LDcxMTE1OShlLHQsaSl7aS5yKHQpLGkuZCh0LHtEd2dCb3hQYW5lVmlldzooKT0+TSxnZXREd2dCb3hEcmF3UGF0dGVybjooKT0+RH0pO3ZhciByLG4sbyxhPWkoMTM4NjM4KSxzPWkoNzM2NTMxKTshZnVuY3Rpb24oZSl7ZS5Tb2xpZD0ic29sIixlLkRvdHRlZD0iZG90IixlLkRhc2hlZD0iZHNoIixlLkxlZnRBcnJvdz0iYWwiLGUuUmlnaHRBcnJvdz0iYXIiLGUuQm90aEFycm93PSJhYiJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZS5Ub3A9InRvcCIsZS5DZW50ZXI9ImNlbnRlciIsZS5Cb3R0b209ImJvdHRvbSJ9KG58fChuPXt9KSksZnVuY3Rpb24oZSl7ZS5Nb25vc3BhY2U9Im1vbm9zcGFjZSJ9KG98fChvPXt9KSk7dmFyIGw9aSgxNzk2NzQpLGQ9aSg1ODk1MTEpLGg9aSgyNTQ3MzEpLGM9aSg4MjI3MjYpLHU9aSgyOTM0MTgpLGY9aSg5NDExMDApLHA9aSg3NjgzMDUpLGc9aSg3NjMpLF89aSg3ODY0MzYpLHg9aSg0NzA5ODYpLHc9aSg3MDM4MDkpO2Z1bmN0aW9uIHYoZSx0KXtjb25zdCBpPWUuc3R5bGUuZXh0ZW5kTGVmdD8wOmUubGVmdFRvcC54LHI9ZS5zdHlsZS5leHRlbmRSaWdodD90OmUucmlnaHRCb3R0b20ueDtyZXR1cm4oMCxzLmJveCkoKDAscy5wb2ludCkoaSxlLmxlZnRUb3AueSksKDAscy5wb2ludCkocixlLnJpZ2h0Qm90dG9tLnkpKX1jbGFzcyBte2NvbnN0cnVjdG9yKGUpe3RoaXMuX2xvY3M9bnVsbCx0aGlzLl90ZXh0UmVuZGVyZXI9bmV3IHguVGV4dFJlbmRlcmVyLHRoaXMuX2xvY3M9ZT8/bnVsbH0Kc2V0RGF0YShlKXt0aGlzLl9sb2NzPWV9ZHJhdyhlLHQpe2lmKG51bGw9PT10aGlzLl9sb2NzKXJldHVybjtjb25zdHtob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpyLGJpdG1hcFNpemU6bn09dDtlLmxpbmVDYXA9ImJ1dHQiO2NvbnN0IG89TWF0aC5tYXgoMSxNYXRoLmZsb29yKGkpKTt0aGlzLl9sb2NzLmZvckVhY2goKHM9Pntjb25zdHtiYWNrZ3JvdW5kQ29sb3I6bCxib3JkZXJDb2xvcjpkLGV4dGVuZExlZnQ6aCxleHRlbmRSaWdodDpjLGJvcmRlcldpZHRoOnUsZGFzaFBhdHRlcm46Zix0ZXh0OnB9PXMuc3R5bGUsZz1NYXRoLmZsb29yKHUqaSkseD1oPy1nOk1hdGgucm91bmQocy5sZWZ0VG9wLngqaSksdj1NYXRoLnJvdW5kKHMubGVmdFRvcC55KnIpLG09Yz9uLndpZHRoK2c6TWF0aC5yb3VuZChzLnJpZ2h0Qm90dG9tLngqaSkseT1NYXRoLnJvdW5kKHMucmlnaHRCb3R0b20ueSpyKTtpZigoMCxfLmZpbGxSZWN0V2l0aEJvcmRlcikoe2NvbnRleHQ6ZSwuLi50fSx4LHYsbSx5LG8sdm9pZCAwPT09bD92b2lkIDA6e2NvbG9yOmx9LHZvaWQgMD09PWR8fDA9PT11P3ZvaWQgMDp7Y29sb3I6ZCxib3JkZXJXaWR0aDpnLGJvcmRlck1vZGU6ImNlbnRlciIsZGFzaFBhdHRlcm46Zn0pLHApe2xldCBuPSExO2NvbnN0IG89TWF0aC5hYnMocy5yaWdodEJvdHRvbS54LXMubGVmdFRvcC54KSxsPU1hdGguYWJzKHMucmlnaHRCb3R0b20ueS1zLmxlZnRUb3AueSksZD1NYXRoLm1pbihzLnJpZ2h0Qm90dG9tLngscy5sZWZ0VG9wLngpLGg9TWF0aC5taW4ocy5yaWdodEJvdHRvbS55LHMubGVmdFRvcC55KTsiYXV0byIhPT1wLmZvbnRTaXplTW9kZSYmImF1dG8iIT09cC53b3JkV3JhcHx8KGUuc2F2ZSgpLGUuYmVnaW5QYXRoKCksZS5yZWN0KGQqaSxoKnIsbyppLGwqciksZS5jbGlwKCksbj0hMCk7Y29uc3QgYz17dGV4dFNpemVNb2RlOnAuZm9udFNpemVNb2RlLGZvbnRTaXplOnAuZm9udFNpemV9LHU9e2hvcml6b250YWxUZXh0QWxpZ25tZW50OnAuaG9yaXpvbnRhbFRleHRBbGlnbm1lbnQsdmVydGljYWxUZXh0QWxpZ25tZW50OnAudmVydGljYWxUZXh0QWxpZ25tZW50LHRleHQ6cC50ZXh0LHRleHRDb2xvcjpwLnRleHRDb2xvcixzaXplT3B0aW9uczpjLGZvbnRUeXBlOnMuc3R5bGUuZm9udFR5cGUsdGV4dEZvcm1hdHRpbmc6cC50ZXh0Rm9ybWF0dGluZ30sZj0oMCx3LnRleHRCb3hEYXRhKShkLGgsbyxsLHUpO2Yud29yZFdyYXBXaWR0aD0iYXV0byI9PT1wLndvcmRXcmFwP01hdGgubWF4KDEsby0oMCxhLmVuc3VyZURlZmluZWQpKGYuZm9udFNpemUpLzYpOnZvaWQgMCx0aGlzLl90ZXh0UmVuZGVyZXIuc2V0RGF0YShmKSx0aGlzLl90ZXh0UmVuZGVyZXIuZHJhdyhlLHQpLG4mJmUucmVzdG9yZSgpfX0pKX1oaXRUZXN0KGUsdCl7aWYobnVsbD09PXRoaXMuX2xvY3MpcmV0dXJuIG51bGw7Zm9yKGNvbnN0IGkgb2YgdGhpcy5fbG9jcylpZigoMCxwLnBvaW50SW5Cb3gpKGUsdihpLHQubWVkaWFTaXplLndpZHRoKSkpcmV0dXJuIG5ldyBnLkhpdFRlc3RSZXN1bHQoZy5IaXRUYXJnZXQuUmVndWxhcik7cmV0dXJuIG51bGx9fXZhciB5PWkoMTQxNjUpO2NsYXNzIGIgZXh0ZW5kcyB5LkFic3RyYWN0TWFwQ29udGFpbmVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fbWF4U2l6ZT1lLHRoaXMuX2tleXNRdWV1ZT1bXX1nZXQoZSl7Y29uc3QgdD10aGlzLl9rZXlzRm9yRGF0YShlKTtpZihudWxsPT09dClyZXR1cm4gbnVsbDtjb25zdFtpLHIsbl09dCxvPSgwLHkuZ2V0RGVmYXVsdDIpKHRoaXMuX21hcCxpLHIsbmV3IE1hcCk7bGV0IGE9by5nZXQobik7cmV0dXJuIHZvaWQgMCE9PWF8fCh0aGlzLl9zaXplPj10aGlzLl9tYXhTaXplP3RoaXMuX2RlbGV0ZUZpcnN0S2V5KCk6Kyt0aGlzLl9zaXplLHRoaXMuX2tleXNRdWV1ZS5wdXNoKHQpLGE9dGhpcy5fY3JlYXRlVmFsdWVJdGVtKGUpLG8uc2V0KG4sYSkpLGF9X2RlbGV0ZUZpcnN0S2V5KCl7Y29uc3QgZT0oMCxhLmVuc3VyZURlZmluZWQpKHRoaXMuX2tleXNRdWV1ZS5zaGlmdCgpKSxbdCxpLHJdPWUsbj0oMCxhLmVuc3VyZURlZmluZWQpKHRoaXMuX21hcC5nZXQodCkpLG89KDAsYS5lbnN1cmVEZWZpbmVkKShuLmdldChpKSk7by5kZWxldGUociksMD09PW8uc2l6ZSYmbi5kZWxldGUoaSksMD09PW4uc2l6ZSYmdGhpcy5fbWFwLmRlbGV0ZSh0KX19dmFyIFQ9aSg5MjYxNDkpO2NvbnN0IEM9KCk9Pih7Ym9sZDohMSxpdGFsaWM6ITEsZm9udDpULkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCl9KTtjbGFzcyBSIGV4dGVuZHMgYntjb25zdHJ1Y3RvcihlLHQ9QygpKXtzdXBlcihlKSx0aGlzLl9mb250T3B0aW9ucz10LHRoaXMuX21lYXN1cmVDYW52YXM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksdGhpcy5fbWVhc3VyZUNvbnRleHQ9KDAsYS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZWFzdXJlQ2FudmFzLmdldENvbnRleHQoIjJkIikpfV9rZXlzRm9yRGF0YShlKXtyZXR1cm5bZS5saW5lcy5qb2luKCJcbiIpLGUuYm94V2lkdGgsZS5ib3hIZWlnaHRdfV9jcmVhdGVWYWx1ZUl0ZW0oZSl7cmV0dXJuKDAsdy5jYWxjdWxhdGVGb250U2l6ZUZvckJveCkodGhpcy5fbWVhc3VyZUNvbnRleHQsdGhpcy5fZm9udE9wdGlvbnMsZS5saW5lcyxlLmJveFdpZHRoLGUuYm94SGVpZ2h0KX19dmFyIFM9aSgzNDU5MzYpO2NvbnN0IFA9bmV3IE1hcChbW3IuU29saWQsW11dLFtyLkRhc2hlZCxbNSw2XV0sW3IuRG90dGVkLFsxLDJdXV0pO2Z1bmN0aW9uIEQoZSl7Y29uc3QgdD1QLmdldChlKTtpZih2b2lkIDA9PT10KXRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgYm94IHN0eWxlOiAke2V9YCk7cmV0dXJuIHR9Y2xhc3MgTXtjb25zdHJ1Y3RvcihlLHQsaSxyKXt0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9yZW5kZXJlcj1uZXcgbSx0aGlzLl9yZ2JhRnJvbUludGVnZXI9KDAsaC5yZ2JhRnJvbUludGVnZXJDYWNoZWQpKCksdGhpcy5fdGV4dFdpZHRoQ2FjaGU9bmV3IGMuVGV4dFdpZHRoQ2FjaGUsdGhpcy5fY2FjaGU9bmV3IE1hcCx0aGlzLl9ncmFwaGljc1Byb3ZpZGVyPWUsdGhpcy5fbW9kZWw9dCwKdGhpcy5fZm9yY2VPdmVybGF5PWl9dXBkYXRlKGUpeyJob3Zlci1jaGFuZ2UiIT09ZS50eXBlJiYodGhpcy5faW52YWxpZGF0ZWQ9ITApfXJlbmRlcmVyKGUpe3JldHVybiB0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX2ludmFsaWRhdGVkPSExLHRoaXMuX3VwZGF0ZVJlbmRlcmVyKGUpKSx0aGlzLl9yZW5kZXJlcn1fdXBkYXRlUmVuZGVyZXIoZSl7dGhpcy5fcmVuZGVyZXIuc2V0RGF0YShudWxsKTtjb25zdCB0PXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIucHJpY2VTY2FsZSh0aGlzLl9mb3JjZU92ZXJsYXkpLGk9dGhpcy5fbW9kZWwudGltZVNjYWxlKCk7aWYoIXR8fHQuaXNFbXB0eSgpfHxpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3Qgcj10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLmdyYXBoaWNzKCkuZHdnYm94ZXMoKTtpZigwPT09ci5zaXplKXJldHVybjtpZihudWxsPT09aS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCkpcmV0dXJuO2NvbnN0IG49dGhpcy5fZ3JhcGhpY3NQcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFsZXR0ZXMuY2hpbGRzKCksbz10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLm1ldGFJbmZvKCkuaXNSR0I7aWYoIW8mJih2b2lkIDA9PT1ufHx2b2lkIDA9PT1uLnBhbGV0dGVfY29tbW9uKSlyZXR1cm47Y29uc3QgZD1vP3ZvaWQgMDooMCxhLmVuc3VyZURlZmluZWQpKG4ucGFsZXR0ZV9jb21tb24pLmNoaWxkcygpLmNvbG9ycy5jaGlsZHMoKSxoPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIuZmlyc3RWYWx1ZSh2b2lkIDAsdGhpcy5fZm9yY2VPdmVybGF5KTtpZihudWxsPT09aClyZXR1cm47Y29uc3QgYz17eDE6MCx5MTowLHgyOjAseTI6MCxleHRlbmQ6bC5Ed2dFeHRlbmQuTm9uZX0sZj1bXSxwPSgwLGEuZW5zdXJlRGVmaW5lZCkodGhpcy5fZ3JhcGhpY3NQcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkuZHdnYm94ZXMpLHttZWRpYVNpemU6e3dpZHRoOmcsaGVpZ2h0Ol99fT1lO3IuZm9yRWFjaCgoKGUscik9PntpZighKDAsYS5lbnN1cmVEZWZpbmVkKShwLmNoaWxkcygpW3JdKS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpcmV0dXJuO2NvbnN0IG49ZS5nZXQodGhpcy5fZm9yY2VPdmVybGF5KTtuPy5mb3JFYWNoKChlPT57aWYobnVsbD09PWUuYmFja2dyb3VuZENvbG9ySW5kZXgmJm51bGw9PT1lLmJvcmRlckNvbG9ySW5kZXgpcmV0dXJuO2xldCByLG4scDtpZihvPyhyPW51bGw9PT1lLmJhY2tncm91bmRDb2xvckluZGV4P3ZvaWQgMDp0aGlzLl9yZ2JhRnJvbUludGVnZXIoZS5iYWNrZ3JvdW5kQ29sb3JJbmRleCksbj1udWxsPT09ZS5ib3JkZXJDb2xvckluZGV4P3ZvaWQgMDp0aGlzLl9yZ2JhRnJvbUludGVnZXIoZS5ib3JkZXJDb2xvckluZGV4KSxwPW51bGw9PT1lLnRleHRDb2xvckluZGV4P3ZvaWQgMDp0aGlzLl9yZ2JhRnJvbUludGVnZXIoZS50ZXh0Q29sb3JJbmRleCkpOihyPW51bGwhPT1lLmJhY2tncm91bmRDb2xvckluZGV4PygwLGEuZW5zdXJlRGVmaW5lZCkoZClbZS5iYWNrZ3JvdW5kQ29sb3JJbmRleF0uY2hpbGRzKCkuY29sb3IudmFsdWUoKTp2b2lkIDAsbj1udWxsIT09ZS5ib3JkZXJDb2xvckluZGV4PygwLGEuZW5zdXJlRGVmaW5lZCkoZClbZS5ib3JkZXJDb2xvckluZGV4XS5jaGlsZHMoKS5jb2xvci52YWx1ZSgpOnZvaWQgMCxwPW51bGwhPT1lLnRleHRDb2xvckluZGV4PygwLGEuZW5zdXJlRGVmaW5lZCkoZClbZS50ZXh0Q29sb3JJbmRleF0uY2hpbGRzKCkuY29sb3IudmFsdWUoKTp2b2lkIDApLHZvaWQgMD09PXImJnZvaWQgMD09PW4pcmV0dXJuO2NvbnN0IHg9KDAsdS5jb252ZXJ0UG9pbnRzVG9TY3JlZW5EaW1lbnNpb24pKGUubGVmdCxlLnRvcCxlLnJpZ2h0LGUuYm90dG9tLGUuZXh0ZW5kLHQsaSxnLGgsYyk7aWYobnVsbD09PXgpcmV0dXJuO2NvbnN0e3gxOncseDI6dix5MTptLHkyOnksZXh0ZW5kOmJ9PXgsVD1NYXRoLm1pbih3LHYpLEM9TWF0aC5tYXgodyx2KSxSPU1hdGgubWluKG0seSksUz1NYXRoLm1heChtLHkpLFA9e2JvcmRlcldpZHRoOmUuYm9yZGVyV2lkdGgsYm9yZGVyQ29sb3I6bixiYWNrZ3JvdW5kQ29sb3I6cixkYXNoUGF0dGVybjpEKGUuYm9yZGVyU3R5bGUpLGV4dGVuZExlZnQ6KDAsdS5pc0V4dGVuZEluU2FtZURpcmVjdGlvbikoYixsLkR3Z0V4dGVuZC5MZWZ0KSxleHRlbmRSaWdodDooMCx1LmlzRXh0ZW5kSW5TYW1lRGlyZWN0aW9uKShiLGwuRHdnRXh0ZW5kLlJpZ2h0KSx0ZXh0OnRoaXMuX2dldFRleHRTdHlsZURhdGEoZSxwLEMtVCxTLVIpLGZvbnRUeXBlOmUuZm9udFR5cGV9LE09e2xlZnRUb3A6bmV3IHMuUG9pbnQoTWF0aC5taW4oVCxDKSxSKSxyaWdodEJvdHRvbTpuZXcgcy5Qb2ludChNYXRoLm1heChULEMpLFMpLHN0eWxlOlB9LEw9TS5yaWdodEJvdHRvbS54PC1NLnN0eWxlLmJvcmRlcldpZHRoJiYhTS5zdHlsZS5leHRlbmRSaWdodCxCPU0ubGVmdFRvcC54PmcrTS5zdHlsZS5ib3JkZXJXaWR0aCYmIU0uc3R5bGUuZXh0ZW5kTGVmdCxBPU0ucmlnaHRCb3R0b20ueTwtTS5zdHlsZS5ib3JkZXJXaWR0aCxJPU0ubGVmdFRvcC55Pl8rTS5zdHlsZS5ib3JkZXJXaWR0aDtMfHxCfHxBfHxJfHxmLnB1c2goTSl9KSl9KSksdGhpcy5fcmVuZGVyZXIuc2V0RGF0YShmKX1fZ2V0VGV4dFN0eWxlRGF0YShlLHQsaSxyKXtjb25zdCBuPWUuZm9udFNpemUsbz1lLnRleHQmJnQ/e3RleHQ6ZS50ZXh0LHdvcmRXcmFwOmUud29yZFdyYXAsdGV4dENvbG9yOnQsaG9yaXpvbnRhbFRleHRBbGlnbm1lbnQ6ZS5ob3Jpem9udGFsVGV4dEFsaWdubWVudCx2ZXJ0aWNhbFRleHRBbGlnbm1lbnQ6ZS52ZXJ0aWNhbFRleHRBbGlnbm1lbnQsdGV4dEZvcm1hdHRpbmc6ZS50ZXh0Rm9ybWF0dGluZ306dm9pZCAwO2lmKG8mJnZvaWQgMCE9PW4pe2NvbnN0IHQ9bztpZihuPT09ZC5QbG90U3ltYm9sU2l6ZS5BdXRvfHwwPT09bil7Y29uc3Qgbj17bGluZXM6KDAsUy53b3JkV3JhcCkoKDAsYS5lbnN1cmVEZWZpbmVkKShlLnRleHQpLCIiLHRoaXMuX3RleHRXaWR0aENhY2hlLCEwLHZvaWQgMCkubWFwKChlPT5lLnRleHQpKSxib3hXaWR0aDppLGJveEhlaWdodDpyfQo7dC5mb250U2l6ZU1vZGU9ImF1dG8iO2NvbnN0IG89YCR7ZS5mb250VHlwZT8/ImRlZmF1bHQifS0ke2UudGV4dEZvcm1hdHRpbmd9YDtsZXQgcztpZih0aGlzLl9jYWNoZS5oYXMobykpcz0oMCxhLmVuc3VyZURlZmluZWQpKHRoaXMuX2NhY2hlLmdldChvKSk7ZWxzZXtjb25zdHtib2xkOnQsaXRhbGljOml9PSgwLGYuY29udmVydER3Z1RleHRGb3JtYXR0aW5nVG9PYmplY3QpKGUudGV4dEZvcm1hdHRpbmcpLHI9ZS5mb250VHlwZT9ULkNIQVJUX01PTk9TUEFDRV9GT05UX0ZBTUlMWTpDKCkuZm9udDtzPW5ldyBSKDVlMyx7Ym9sZDp0LGl0YWxpYzppLGZvbnQ6cn0pLHRoaXMuX2NhY2hlLnNldChvLHMpfXQuZm9udFNpemU9KDAsYS5lbnN1cmVOb3ROdWxsKShzLmdldChuKSl9ZWxzZSB0LmZvbnRTaXplTW9kZT0iZml4ZWQiLHQuZm9udFNpemU9bjtyZXR1cm4gdH19fX0sOTM5MzY4KGUsdCxpKXtpLnIodCksaS5kKHQse0R3Z0xhYmVsUGFuZVZpZXc6KCk9PlZ9KTt2YXIgcj1pKDEzODYzOCksbj1pKDU0ODU2MCksbz1pKDI1NDczMSksYT1pKDc4OTE5MCkscz1pKDExODc1MiksbD1pKDY1MTk2NiksZD1pKDMzMDg2MSksaD1pKDMwMjQ2OSksYz1pKDc0NzQ2NSksdT1pKDU0NDI0MyksZj1pKDE2ODQ4NykscD1pKDczNjUzMSksZz1pKDg0NjUyOSk7Y2xhc3MgXyBleHRlbmRzIGcuUGFuZVJlbmRlcmVyTGFiZWxCYXNle19jYWxjQm91bmRpbmdCb3goZSl7Y29uc3QgdD1lLmNlbnRlcixpPWUuY2VudGVyK2Uuc2hhcGVXaWR0aCxyPWUueS1lLnNoYXBlSGVpZ2h0K2UudmVydE9mZnNldCxuPWUueStlLnZlcnRPZmZzZXQsbz1uZXcgcC5Qb2ludCh0LHIpLGE9bmV3IHAuUG9pbnQoaSxuKTtyZXR1cm4oMCxwLmJveCkobyxhKX1fZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6aSxob3Jpem9udGFsUGl4ZWxSYXRpbzpyLHZlcnRpY2FsUGl4ZWxSYXRpbzpufT1lLG89dGhpcy5fbGluZVdpZHRoKGUpJTI/LjU6MCxhPXRoaXMuX2dldEFycm93U2l6ZSh0KSxzPU1hdGgucm91bmQodC5jZW50ZXIqcikrbyxsPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQpKm4pK28sZD1NYXRoLnJvdW5kKCh0LmNlbnRlcithKSpyKStvLGg9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldC1hKSpuKStvLGM9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldC0yKmEpKm4pK287aS5tb3ZlVG8oZCxoKSxpLmxpbmVUbyhzLGwpLGkubGluZVRvKGQsYyk7Y29uc3QgdT1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0LXQuc2hhcGVIZWlnaHQtYSkqbikrbyxmPU1hdGgucm91bmQoKHQuY2VudGVyK3Quc2hhcGVXaWR0aCthKSpyKStvO3RoaXMuX2RyYXdDb3JuZXIoZSxkLHUsZy5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnRVcCksdGhpcy5fZHJhd0Nvcm5lcihlLGYsdSxnLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHRVcCksdGhpcy5fZHJhd0Nvcm5lcihlLGYsaCxnLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHREb3duKSxpLmxpbmVUbyhkLGgpfV9nZXRBcnJvd1NpemUoZSl7cmV0dXJuIGUuc3RlcFgvTWF0aC5zcXJ0KDIpfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4gZS5zaGFwZVdpZHRoLzIrdGhpcy5fZ2V0QXJyb3dTaXplKGUpfV9nZXRWZXJ0aWNhbFRleHRPZmZzZXQoZSl7cmV0dXJuLWUuc2hhcGVIZWlnaHQvMi10aGlzLl9nZXRBcnJvd1NpemUoZSl9fWNsYXNzIHggZXh0ZW5kcyBnLlBhbmVSZW5kZXJlckxhYmVsQmFzZXtfY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9ZS5jZW50ZXIsaT1lLmNlbnRlcitlLnNoYXBlV2lkdGgscj1lLnkrZS52ZXJ0T2Zmc2V0LG49ZS55K2Uuc2hhcGVIZWlnaHQrZS52ZXJ0T2Zmc2V0LG89bmV3IHAuUG9pbnQodCxyKSxhPW5ldyBwLlBvaW50KGksbik7cmV0dXJuKDAscC5ib3gpKG8sYSl9X2RyYXdJdGVtU2hhcGUoZSx0KXtjb25zdHtjb250ZXh0OmksaG9yaXpvbnRhbFBpeGVsUmF0aW86cix2ZXJ0aWNhbFBpeGVsUmF0aW86bn09ZSxvPXRoaXMuX2xpbmVXaWR0aChlKSUyPy41OjAsYT10aGlzLl9nZXRBcnJvd1NpemUodCkscz1NYXRoLnJvdW5kKHQuY2VudGVyKnIpK28sbD1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KSpuKStvLGQ9TWF0aC5yb3VuZCgodC5jZW50ZXIrYSkqcikrbyxoPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQrMiphKSpuKStvLGM9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCthKSpuKStvLHU9TWF0aC5yb3VuZCgodC5jZW50ZXIrdC5zaGFwZVdpZHRoK2EpKnIpK28sZj1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0K3Quc2hhcGVIZWlnaHQrYSkqbikrbztpLm1vdmVUbyhkLGgpLGkubGluZVRvKHMsbCksaS5saW5lVG8oZCxjKSx0aGlzLl9kcmF3Q29ybmVyKGUsdSxjLGcuQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5yaWdodFVwKSx0aGlzLl9kcmF3Q29ybmVyKGUsdSxmLGcuQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5yaWdodERvd24pLHRoaXMuX2RyYXdDb3JuZXIoZSxkLGYsZy5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnREb3duKSxpLmxpbmVUbyhkLGgpfV9nZXRBcnJvd1NpemUoZSl7cmV0dXJuIGUuc3RlcFgvTWF0aC5zcXJ0KDIpfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4gZS5zaGFwZVdpZHRoLzIrdGhpcy5fZ2V0QXJyb3dTaXplKGUpfV9nZXRWZXJ0aWNhbFRleHRPZmZzZXQoZSl7cmV0dXJuIGUuc2hhcGVIZWlnaHQvMit0aGlzLl9nZXRBcnJvd1NpemUoZSl9fWNsYXNzIHcgZXh0ZW5kcyBnLlBhbmVSZW5kZXJlckxhYmVsQmFzZXtfY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9ZS5jZW50ZXItZS5zaGFwZVdpZHRoLGk9ZS5jZW50ZXIscj1lLnktZS5zaGFwZUhlaWdodCtlLnZlcnRPZmZzZXQsbj1lLnkrZS52ZXJ0T2Zmc2V0LG89bmV3IHAuUG9pbnQodCxyKSxhPW5ldyBwLlBvaW50KGksbik7cmV0dXJuKDAscC5ib3gpKG8sYSl9X2RyYXdJdGVtU2hhcGUoZSx0KXsKY29uc3R7Y29udGV4dDppLGhvcml6b250YWxQaXhlbFJhdGlvOnIsdmVydGljYWxQaXhlbFJhdGlvOm59PWUsbz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9dGhpcy5fZ2V0QXJyb3dTaXplKHQpLHM9TWF0aC5yb3VuZCh0LmNlbnRlcipyKStvLGw9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCkqbikrbyxkPU1hdGgucm91bmQoKHQuY2VudGVyLWEpKnIpK28saD1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0LTIqYSkqbikrbyxjPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtYSkqbikrbyx1PU1hdGgucm91bmQoKHQuY2VudGVyLXQuc2hhcGVXaWR0aC1hKSpyKStvLGY9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldC10LnNoYXBlSGVpZ2h0LWEpKm4pK287aS5tb3ZlVG8oZCxoKSxpLmxpbmVUbyhzLGwpLGkubGluZVRvKGQsYyksdGhpcy5fZHJhd0Nvcm5lcihlLHUsYyxnLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdERvd24pLHRoaXMuX2RyYXdDb3JuZXIoZSx1LGYsZy5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnRVcCksdGhpcy5fZHJhd0Nvcm5lcihlLGQsZixnLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHRVcCksaS5saW5lVG8oZCxoKX1fZ2V0QXJyb3dTaXplKGUpe3JldHVybiBlLnN0ZXBYL01hdGguc3FydCgyKX1fZ2V0VmVydGljYWxUZXh0T2Zmc2V0KGUpe3JldHVybi1lLnNoYXBlSGVpZ2h0LzItdGhpcy5fZ2V0QXJyb3dTaXplKGUpfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4tZS5zaGFwZVdpZHRoLzItdGhpcy5fZ2V0QXJyb3dTaXplKGUpfX1jbGFzcyB2IGV4dGVuZHMgZy5QYW5lUmVuZGVyZXJMYWJlbEJhc2V7X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUuY2VudGVyLWUuc2hhcGVXaWR0aCxpPWUuY2VudGVyLHI9ZS55K2UudmVydE9mZnNldCxuPWUueStlLnNoYXBlSGVpZ2h0K2UudmVydE9mZnNldCxvPW5ldyBwLlBvaW50KHQsciksYT1uZXcgcC5Qb2ludChpLG4pO3JldHVybigwLHAuYm94KShvLGEpfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3R7Y29udGV4dDppLGhvcml6b250YWxQaXhlbFJhdGlvOnIsdmVydGljYWxQaXhlbFJhdGlvOm59PWUsbz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9dGhpcy5fZ2V0QXJyb3dTaXplKHQpLHM9TWF0aC5yb3VuZCh0LmNlbnRlcipyKStvLGw9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCkqbikrbyxkPU1hdGgucm91bmQoKHQuY2VudGVyLWEpKnIpK28saD1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0K2EpKm4pK28sYz1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KzIqYSkqbikrbyx1PU1hdGgucm91bmQoKHQuY2VudGVyLXQuc2hhcGVXaWR0aC1hKSpyKStvLGY9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCt0LnNoYXBlSGVpZ2h0K2EpKm4pK287aS5tb3ZlVG8oZCxoKSxpLmxpbmVUbyhzLGwpLGkubGluZVRvKGQsYyksdGhpcy5fZHJhd0Nvcm5lcihlLGQsZixnLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHREb3duKSx0aGlzLl9kcmF3Q29ybmVyKGUsdSxmLGcuQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5sZWZ0RG93biksdGhpcy5fZHJhd0Nvcm5lcihlLHUsaCxnLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdFVwKSxpLmxpbmVUbyhkLGgpfV9nZXRBcnJvd1NpemUoZSl7cmV0dXJuIGUuc3RlcFgvTWF0aC5zcXJ0KDIpfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4tZS5zaGFwZVdpZHRoLzItdGhpcy5fZ2V0QXJyb3dTaXplKGUpfV9nZXRWZXJ0aWNhbFRleHRPZmZzZXQoZSl7cmV0dXJuIGUuc2hhcGVIZWlnaHQvMit0aGlzLl9nZXRBcnJvd1NpemUoZSl9fXZhciBtLHk9aSg0MDc1ODQpLGI9aSgzNjMzMjYpLFQ9aSg4ODQyOCksQz1pKDg3NDEzNSk7Y2xhc3MgUiBleHRlbmRzIEMuUGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGV7c2V0SXRlbXMoZSx0KXt0aGlzLl9zZXRCYXNlRGF0YShlLHQpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2l0ZW1zKTA9PT1lLnZlcnRPZmZzZXQmJihlLnRleHRWZXJ0T2Zmc2V0PTApfV9kcmF3SXRlbVRleHQoZSx0KXtjb25zdCBpPXRoaXMuX2dldFRleHRDYWNoZSh0KTtpZihudWxsPT09aSlyZXR1cm47Y29uc3Qgcj10LmNlbnRlcixuPXQueSt0LnRleHRWZXJ0T2Zmc2V0LG89dC5zdHlsZT8udGV4dENvbG9yfHx0aGlzLl90ZXh0Q29sb3IsYT10LnZlcnRPZmZzZXQscz17c3R5bGU6e2ZpbGxTdHlsZTpvfSxsb2NhdGlvbjp7eDpyLHk6bixob3J6QWxpZ246VC5Ib3Jpem9udGFsQWxpZ24uQ2VudGVyLHZlcnRBbGlnbjphPjA/VC5WZXJ0aWNhbEFsaWduLlRvcDpULlZlcnRpY2FsQWxpZ24uQm90dG9tfX07aS5wYWludFRvKGUscyl9X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUudmVydE9mZnNldCxpPXRoaXMuX2dldFRleHRDYWNoZShlKTtpZighaSlyZXR1cm47Y29uc3Qgcj1pLnRleHRJbWFnZVdpZHRoLG49aS50ZXh0SW1hZ2VIZWlnaHQsbz1yLzIsYT1lLnkrZS50ZXh0VmVydE9mZnNldCxzPXQ+MD8wOi1uLGw9dD4wP246MCxkPW5ldyBwLlBvaW50KGUuY2VudGVyLW8sYStzKSxoPW5ldyBwLlBvaW50KGUuY2VudGVyK28sYStsKTtyZXR1cm4oMCxwLmJveCkoZCxoKX19IWZ1bmN0aW9uKGUpe2VbZS5PdXRsaW5lV2lkdGg9NF09Ik91dGxpbmVXaWR0aCJ9KG18fChtPXt9KSk7Y2xhc3MgUyBleHRlbmRzIGYuUGFuZVJlbmRlcmVyTGFiZWxDZW50ZXJ7X2RyYXdJdGVtVGV4dChlLHQpe2NvbnN0IGk9dGhpcy5fZ2V0VGV4dENhY2hlKHQpO2lmKG51bGw9PT1pKXJldHVybjtjb25zdCBuPXQudGV4dEhvcml6T2Zmc2V0fHwwLG89dC5jZW50ZXIrbixhPXQudmVydE9mZnNldCxzPXQueSthK3QudGV4dFZlcnRPZmZzZXQsbD10LnN0eWxlPy50ZXh0Q29sb3J8fHRoaXMuX3RleHRDb2xvcixkPXQuc3R5bGU/LmJvcmRlckNvbG9yfHx0aGlzLl9ib3JkZXJDb2xvcixoPXtzdHlsZTp7ZmlsbFN0eWxlOigwLHIuZW5zdXJlRGVmaW5lZCkobCksc3Ryb2tlU3R5bGU6ZCxsaW5lV2lkdGg6NH0sbG9jYXRpb246e3g6byx5OnMsaG9yekFsaWduOlQuSG9yaXpvbnRhbEFsaWduLkNlbnRlciwKdmVydEFsaWduOlQuVmVydGljYWxBbGlnbi5NaWRkbGV9fTtpLnBhaW50VG8oZSxoKX1fZHJhd0l0ZW1TaGFwZShlLHQpe319dmFyIFAsRD1pKDE2ODI1OCksTT1pKDUxMjQzNyksTD1pKDQ3NzM4OCksQj1pKDkyNjE0OSksQT1pKDE0MzgwOCksST1pKDk0MTEwMCk7IWZ1bmN0aW9uKGUpe2VbZS5MaW5lU3BhY2luZ0NvZWZmPS4xNjY2NjY2NjY2NjY2NjY2Nl09IkxpbmVTcGFjaW5nQ29lZmYiLGVbZS5QYW5lSGVpZ2h0TGltaXQ9MTMwXT0iUGFuZUhlaWdodExpbWl0IixlW2UuVGV4dEltYWdlQ2FjaGVTaXplPTVlM109IlRleHRJbWFnZUNhY2hlU2l6ZSIsZVtlLkZ1bmRhbWVudGFsc01pbkxhYmVsc1NwYWNpbmc9NjBdPSJGdW5kYW1lbnRhbHNNaW5MYWJlbHNTcGFjaW5nIixlW2UuSGlkZVNoYXBlTXVsdGlwbGllcj0uNV09IkhpZGVTaGFwZU11bHRpcGxpZXIiLGVbZS5UZXh0T3V0bGluZU11bHRpcGxpZXI9MS4xXT0iVGV4dE91dGxpbmVNdWx0aXBsaWVyIixlW2UuT3RoZXJTdHlsZXNNdWx0aXBsaWVyPTEuMl09Ik90aGVyU3R5bGVzTXVsdGlwbGllciJ9KFB8fChQPXt9KSk7Y29uc3Qgej17W24uRHdnTGFiZWxUZXh0QWxpZ24uTGVmdF06ImxlZnQiLFtuLkR3Z0xhYmVsVGV4dEFsaWduLkNlbnRlcl06ImNlbnRlciIsW24uRHdnTGFiZWxUZXh0QWxpZ24uUmlnaHRdOiJyaWdodCJ9O3ZhciBIO2Z1bmN0aW9uIEUoZSx0LGkpe3N3aXRjaChmdW5jdGlvbihlKXtpZihlLmxlbmd0aDwyKXJldHVybiAwO2xldCB0PU1hdGguYWJzKGVbMF0uY2VudGVyLWVbMV0uY2VudGVyKTtmb3IobGV0IGk9MjtpPE1hdGgubWluKDUsZS5sZW5ndGgpOysraSl0PU1hdGgubWF4KHQsTWF0aC5hYnMoZVtpLTFdLmNlbnRlci1lW2ldLmNlbnRlcikpO3JldHVybiB0PDMwPzI6dDw2MD8xOjB9KGUpKXtjYXNlIDA6cmV0dXJuIGU7Y2FzZSAxOmNvbnN0IHI9ZS5sZW5ndGg7cmV0dXJuIGUuZmlsdGVyKCgoZSxuKT0+KHQtaSsoci1uKSklMj09MCkpO2Nhc2UgMjpyZXR1cm5bXX19IWZ1bmN0aW9uKGUpe2VbZS5BbGxJdGVtc0F2YWlsYWJsZT0wXT0iQWxsSXRlbXNBdmFpbGFibGUiLGVbZS5FdmVuSXRlbXNBdmFpbGFibGU9MV09IkV2ZW5JdGVtc0F2YWlsYWJsZSIsZVtlLlVuYXZhaWxhYmxlPTJdPSJVbmF2YWlsYWJsZSJ9KEh8fChIPXt9KSk7Y2xhc3MgVntjb25zdHJ1Y3RvcihlLHQsaSxyKXt0aGlzLl9yZW5kZXJlclR5cGVCeVN0eWxlPW5ldyBNYXAoW1tuLkR3Z0xhYmVsU3R5bGUuQXJyb3dkb3duLGwuUGFuZVJlbmRlcmVyQXJyb3dEb3duXSxbbi5Ed2dMYWJlbFN0eWxlLkFycm93dXAsbC5QYW5lUmVuZGVyZXJBcnJvd1VwXSxbbi5Ed2dMYWJlbFN0eWxlLkNpcmNsZSxkLlBhbmVSZW5kZXJlckNpcmNsZVNoYXBlXSxbbi5Ed2dMYWJlbFN0eWxlLkNyb3NzLGguUGFuZVJlbmRlcmVyQ3Jvc3NTaGFwZV0sW24uRHdnTGFiZWxTdHlsZS5EaWFtb25kLGMuUGFuZVJlbmRlcmVyRGlhbW9uZF0sW24uRHdnTGFiZWxTdHlsZS5GbGFnLHUuUGFuZVJlbmRlcmVyRmxhZ1NoYXBlXSxbbi5Ed2dMYWJlbFN0eWxlLkxhYmVsRG93bixmLlBhbmVSZW5kZXJlckxhYmVsRG93bl0sW24uRHdnTGFiZWxTdHlsZS5MYWJlbFVwLGYuUGFuZVJlbmRlcmVyTGFiZWxVcF0sW24uRHdnTGFiZWxTdHlsZS5MYWJlbExlZnQsZi5QYW5lUmVuZGVyZXJMYWJlbExlZnRdLFtuLkR3Z0xhYmVsU3R5bGUuTGFiZWxSaWdodCxmLlBhbmVSZW5kZXJlckxhYmVsUmlnaHRdLFtuLkR3Z0xhYmVsU3R5bGUuTGFiZWxDZW50ZXIsZi5QYW5lUmVuZGVyZXJMYWJlbENlbnRlcl0sW24uRHdnTGFiZWxTdHlsZS5MYWJlbExlZnRVcCx4XSxbbi5Ed2dMYWJlbFN0eWxlLkxhYmVsTGVmdERvd24sX10sW24uRHdnTGFiZWxTdHlsZS5MYWJlbFJpZ2h0VXAsdl0sW24uRHdnTGFiZWxTdHlsZS5MYWJlbFJpZ2h0RG93bix3XSxbbi5Ed2dMYWJlbFN0eWxlLlNxdWFyZSx5LlBhbmVSZW5kZXJlclNxdWFyZV0sW24uRHdnTGFiZWxTdHlsZS5UcmlhbmdsZXVwLHMuUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4VXBdLFtuLkR3Z0xhYmVsU3R5bGUuVHJpYW5nbGVkb3duLHMuUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4RG93bl0sW24uRHdnTGFiZWxTdHlsZS5YY3Jvc3MsYi5QYW5lUmVuZGVyZXJYQ3Jvc3NdLFtuLkR3Z0xhYmVsU3R5bGUuTm9uZSxSXSxbbi5Ed2dMYWJlbFN0eWxlLlRleHRPdXRsaW5lLFNdXSksdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fcmdiYUZyb21JbnRlZ2VyPSgwLG8ucmdiYUZyb21JbnRlZ2VyQ2FjaGVkKSgpLHRoaXMuX2dyYXBoaWNzUHJvdmlkZXI9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX3JlbmRlcmVyPW5ldyBhLkNvbXBvc2l0ZVJlbmRlcmVyLHRoaXMuX3RleHRDYWNoZT1uZXcgTS5UZXh0SW1hZ2VDYWNoZXNDb250YWluZXIoNWUzKSx0aGlzLl9pc0Z1bmRhbWVudGFsPSgwLEEuaXNGdW5kYW1lbnRhbFN0dWR5TWV0YUluZm8pKGUubWV0YUluZm8oKSksdGhpcy5fZm9yY2VPdmVybGF5PWl9dXBkYXRlKGUpeyJob3Zlci1jaGFuZ2UiIT09ZS50eXBlJiYodGhpcy5faW52YWxpZGF0ZWQ9ITApfXJlbmRlcmVyKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5faW52YWxpZGF0ZWQ9ITEsdGhpcy5fdXBkYXRlVmlld0ludGVybmFsKHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmJhclNwYWNpbmcoKSkpLHRoaXMuX3JlbmRlcmVyfV9zaGlmdExhYmVscygpe2lmKCF0aGlzLl9pc0Z1bmRhbWVudGFsKXJldHVybiExO2NvbnN0IGU9dGhpcy5fZ3JhcGhpY3NQcm92aWRlci5tZXRhSW5mbygpO2lmKDEhPT1lLnBsb3RzLmxlbmd0aClyZXR1cm4hMTtjb25zdCB0PXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVtlLnBsb3RzWzBdLmlkXS5jaGlsZHMoKS5wbG90dHlwZS52YWx1ZSgpO3JldHVybiB0PT09RC5MaW5lU3R1ZHlQbG90U3R5bGUuU3RlcExpbmV8fHQ9PT1ELkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZVdpdGhEaWFtb25kc31fdXBkYXRlVmlld0ludGVybmFsKGUpe3RoaXMuX3JlbmRlcmVyLmNsZWFyKCkKO2NvbnN0IHQ9dGhpcy5fZ3JhcGhpY3NQcm92aWRlci5wcmljZVNjYWxlKHRoaXMuX2ZvcmNlT3ZlcmxheSksaT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtpZighdHx8dC5pc0VtcHR5KCl8fGkuaXNFbXB0eSgpKXJldHVybjtjb25zdCBvPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIuZ3JhcGhpY3MoKS5kd2dsYWJlbHMoKSxhPWkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpLHM9dGhpcy5fZ3JhcGhpY3NQcm92aWRlci5maXJzdFZhbHVlKHZvaWQgMCx0aGlzLl9mb3JjZU92ZXJsYXkpO2lmKDA9PT1vLnNpemV8fG51bGw9PT1hfHxudWxsPT09cylyZXR1cm47Y29uc3QgbD1hLmZpcnN0QmFyKCksZD1hLmxhc3RCYXIoKSxoPU1hdGgucm91bmQoZSpMLkR3Z0xhYmVsUGFuZVZpZXdDb25zdGFudHMuQVVUT19TSVpFX01VTFQpO2xldCBjPW51bGw7Y29uc3QgdT1bXSxmPSgwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5fZ3JhcGhpY3NQcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkuZHdnbGFiZWxzKTtvLmZvckVhY2goKChlLGkpPT57aWYoISgwLHIuZW5zdXJlRGVmaW5lZCkoZi5jaGlsZHMoKVtpXSkuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKXJldHVybjtjb25zdCBuPWUuZ2V0KHRoaXMuX2ZvcmNlT3ZlcmxheSk7aWYoIW4pcmV0dXJuO2NvbnN0IG89bi5zaXplO2xldCBhPS0xO24uZm9yRWFjaCgoZT0+e2ErPTE7Y29uc3QgaT1lLng7aWYoaTxsfHxkPGkpcmV0dXJuO2xldCBuLGY7aWYodGhpcy5fZ3JhcGhpY3NQcm92aWRlci5tZXRhSW5mbygpLmlzUkdCKW49bnVsbD09PWUuY29sb3JJbmRleD92b2lkIDA6dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUuY29sb3JJbmRleCksZj1udWxsPT09ZS50ZXh0Q29sb3JJbmRleD92b2lkIDA6dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUudGV4dENvbG9ySW5kZXgpO2Vsc2V7Y29uc3QgdD10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYWxldHRlcy5jaGlsZHMoKTtpZih2b2lkIDA9PT10fHx2b2lkIDA9PT10LnBhbGV0dGVfY29tbW9uKXJldHVybjtjb25zdCBpPXQucGFsZXR0ZV9jb21tb24uY2hpbGRzKCkscj1udWxsPT09ZS5jb2xvckluZGV4P251bGw6aS5jb2xvcnMuY2hpbGRzKClbZS5jb2xvckluZGV4XSxvPW51bGw9PT1lLnRleHRDb2xvckluZGV4P251bGw6aS5jb2xvcnMuY2hpbGRzKClbZS50ZXh0Q29sb3JJbmRleF07aWYodm9pZCAwPT09cnx8dm9pZCAwPT09bylyZXR1cm47bj1udWxsPT09cj92b2lkIDA6ci5jaGlsZHMoKS5jb2xvci52YWx1ZSgpLGY9bnVsbD09PW8/dm9pZCAwOm8uY2hpbGRzKCkuY29sb3IudmFsdWUoKX1pZih2b2lkIDA9PT1uJiZ2b2lkIDA9PT1mKXJldHVybjtjb25zdCBwPWUuc2l6ZSxnPWUuc3R5bGUsXz0oMCxMLmNhbGN1bGF0ZUxhYmVsSGVpZ2h0KShMLkR3Z0xhYmVsUGFuZVZpZXdDb25zdGFudHMuTk9STUFMX1NJWkUscCxoKSx4PXRoaXMuX2dldEludmVydGVkWWxvYyhlLnlsb2MsdC5pc0ludmVydGVkKCkpLHc9dm9pZCAwPT09Zj8iIjplLnRleHQsdj16W2UudGV4dEFsaWduXSxtPWUudG9vbHRpcCx5PSJtb25vc3BhY2UiPT09ZS5mb250VHlwZT9CLkNIQVJUX01PTk9TUEFDRV9GT05UX0ZBTUlMWTpCLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkse2JvbGQ6YixpdGFsaWM6VH09KDAsSS5jb252ZXJ0RHdnVGV4dEZvcm1hdHRpbmdUb09iamVjdCkoZS50ZXh0Rm9ybWF0dGluZyksQz1fKkwuRHdnTGFiZWxQYW5lVmlld0NvbnN0YW50cy5GT05UX1NJWkVfTVVMVCxSPU1hdGgucm91bmQoLjE2NjY2NjY2NjY2NjY2NjY2KkMpLFM9dy5sZW5ndGg/KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl90ZXh0Q2FjaGUuZ2V0KHt0ZXh0OncsYm9sZDpiLGl0YWxpYzpULGZvbnQ6eSxmb250U2l6ZTpDLGxpbmVTcGFjaW5nOlIsYWxpZ246dn0pKS50ZXh0SW1hZ2VIZWlnaHQ6MCxQPXRoaXMuX2dldExvY2F0aW9uRGF0YSh7aW5kZXg6aSxwcmljZTplLnkseWxvYzp4LHNpemU6XyxzdHlsZTpnLGZpcnN0VmFsdWU6cyxoaWRlU2hhcGU6dm9pZCAwPT09bnx8Im4iPT09Zyx0ZXh0SGVpZ2h0OlN9KSxEPXtjZW50ZXI6dGhpcy5fc2hpZnRMYWJlbHMoKT9QLnJpZ2h0OlAuY2VudGVyLGxlZnQ6TmFOLHJpZ2h0Ok5hTix0aW1lUG9pbnRJbmRleDpOYU4seTpQLnkwLHdpZHRoOlAuc2hhcGVXaWR0aCxoZWlnaHQ6UC5zaGFwZUhlaWdodCx2ZXJ0T2Zmc2V0OlAudmVydE9mZnNldCx0ZXh0OncsZm9udFNpemU6UC5mb250U2l6ZSxmb250OnksYm9sZDpiLGl0YWxpYzpULHN0eWxlOntjb2xvcjpuLGJvcmRlckNvbG9yOm4sdGV4dENvbG9yOmZ9LHRleHRBbGlnbjp2LGxpbmVTcGFjaW5nOlIsdG9vbHRpcDptfTtsZXQgTTtQLnN0eWxlIT09Yz8oTT17aXRlbXM6W10sYWxsSXRlbXNJbmNsdWRpbmdJbnZpc2libGVTaXplOm8sZW5kVmlzaWJsZUl0ZW1JbmRleDphLHN0eWxlOlAuc3R5bGV9LHUucHVzaChNKSxjPVAuc3R5bGUpOk09dVt1Lmxlbmd0aC0xXSxNLml0ZW1zLnB1c2goRCksTS5lbmRWaXNpYmxlSXRlbUluZGV4PWF9KSl9KSksdS5mb3JFYWNoKCh0PT57bGV0IGk9dC5pdGVtcztpZih0aGlzLl9pc0Z1bmRhbWVudGFsKXN3aXRjaCh0LnN0eWxlKXtjYXNlIG4uRHdnTGFiZWxTdHlsZS5MYWJlbFVwOmNhc2Ugbi5Ed2dMYWJlbFN0eWxlLkxhYmVsRG93bjpjYXNlIG4uRHdnTGFiZWxTdHlsZS5MYWJlbExlZnQ6Y2FzZSBuLkR3Z0xhYmVsU3R5bGUuTGFiZWxSaWdodDpjYXNlIG4uRHdnTGFiZWxTdHlsZS5MYWJlbENlbnRlcjpjYXNlIG4uRHdnTGFiZWxTdHlsZS5MYWJlbExlZnRVcDpjYXNlIG4uRHdnTGFiZWxTdHlsZS5MYWJlbExlZnREb3duOmNhc2Ugbi5Ed2dMYWJlbFN0eWxlLkxhYmVsUmlnaHRVcDpjYXNlIG4uRHdnTGFiZWxTdHlsZS5MYWJlbFJpZ2h0RG93bjpjYXNlIG4uRHdnTGFiZWxTdHlsZS5UZXh0T3V0bGluZTppPUUoaSx0LmFsbEl0ZW1zSW5jbHVkaW5nSW52aXNpYmxlU2l6ZSx0LmVuZFZpc2libGVJdGVtSW5kZXgpfWNvbnN0IG89bmV3KCgwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5fcmVuZGVyZXJUeXBlQnlTdHlsZS5nZXQodC5zdHlsZSkpKSh7Cml0ZW1zOmksYmFyU3BhY2luZzplfSx7dGV4dENhY2hlOnRoaXMuX3RleHRDYWNoZSxza2lwUmVuZGVyaW5nT3B0aW1pemF0aW9uczohMH0pO3RoaXMuX3JlbmRlcmVyLmFwcGVuZChvKX0pKX1fZ2V0TG9jYXRpb25EYXRhKGUpe2NvbnN0IHQ9TC5Ed2dMYWJlbFBhbmVWaWV3Q29uc3RhbnRzLGk9ZS5zaXplKnQuRk9OVF9TSVpFX01VTFQscj10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxvPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIucHJpY2VTY2FsZSh0aGlzLl9mb3JjZU92ZXJsYXkpO2xldCBhPU5hTjtpZihlLnlsb2M9PT1uLkR3Z0xhYmVsWWxvYy5QcmljZXx8ZS55bG9jPT09bi5Ed2dMYWJlbFlsb2MuQXV0bylhPW8ucHJpY2VUb0Nvb3JkaW5hdGUoZS5wcmljZSxlLmZpcnN0VmFsdWUpO2Vsc2V7Y29uc3QgdD1lLnlsb2M9PT1uLkR3Z0xhYmVsWWxvYy5BYm92ZUJhcj8yOjMsaT10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLnNlcmllcygpLmJhcnMoKS52YWx1ZUF0KGUuaW5kZXgpO2lmKG51bGwhPT1pKXtjb25zdCByPWlbdF07bnVsbCE9ciYmKGE9by5wcmljZVRvQ29vcmRpbmF0ZShyLGUuZmlyc3RWYWx1ZSkpfX1jb25zdCBzPWUuc2l6ZSp0LlNIQVBFX1dJRFRIX01VTFQsbD1lLnNpemUqdC5TSEFQRV9IRUlHSFRfTVVMVCxkPWUuaGlkZVNoYXBlPy41Kmw6KGUuc3R5bGU9PT1uLkR3Z0xhYmVsU3R5bGUuVGV4dE91dGxpbmU/MS4xOjEuMikqbCxoPWQqdGhpcy5fZ2V0WUxvY1NpZ24oZS55bG9jLGEsby5oZWlnaHQoKSxkLGUudGV4dEhlaWdodCk7cmV0dXJuey4uLnIuYmFyQm9yZGVycyhlLmluZGV4KSx5MDphLHNoYXBlV2lkdGg6cyxzaGFwZUhlaWdodDpsLHZlcnRPZmZzZXQ6aCxmb250U2l6ZTppLHN0eWxlOmUuc3R5bGV9fV9nZXRZTG9jU2lnbihlLHQsaSxyLG8pe3N3aXRjaChlKXtjYXNlIG4uRHdnTGFiZWxZbG9jLlByaWNlOnJldHVybiAwO2Nhc2Ugbi5Ed2dMYWJlbFlsb2MuQWJvdmVCYXI6cmV0dXJuLTE7Y2FzZSBuLkR3Z0xhYmVsWWxvYy5CZWxvd0JhcjpyZXR1cm4gMTtjYXNlIG4uRHdnTGFiZWxZbG9jLkF1dG86cmV0dXJuIGk8MTMwP3Q+LjUqaT8tMToxOi1NYXRoLnNpZ24odC1pK3IrMipvKX19X2dldEludmVydGVkWWxvYyhlLHQpe2lmKHQpe2lmKGU9PT1uLkR3Z0xhYmVsWWxvYy5BYm92ZUJhcilyZXR1cm4gbi5Ed2dMYWJlbFlsb2MuQmVsb3dCYXI7aWYoZT09PW4uRHdnTGFiZWxZbG9jLkJlbG93QmFyKXJldHVybiBuLkR3Z0xhYmVsWWxvYy5BYm92ZUJhcn1yZXR1cm4gZX19fSwxMzU2NzcoZSx0LGkpe2kucih0KSxpLmQodCx7RHdnTGluZUZpbGxQYW5lVmlldzooKT0+cH0pO3ZhciByPWkoMTM4NjM4KSxuPWkoNzM2NTMxKSxvPWkoMTc5Njc0KSxhPWkoMjU0NzMxKSxzPWkoMjkzNDE4KSxsPWkoNzg5MTkwKSxkPWkoODgwNzYxKSxoPWkoNzYzKTtjb25zdCBjPXt4MTowLHkxOjAseDI6MCx5MjowLGV4dGVuZDpvLkR3Z0V4dGVuZC5Ob25lfSx1PXt4MTowLHkxOjAseDI6MCx5MjowLGV4dGVuZDpvLkR3Z0V4dGVuZC5Ob25lfTtmdW5jdGlvbiBmKGUsdCxpLHIpe2NvbnN0IG89dC5zdWJ0cmFjdChlKS5ub3JtYWxpemVkKCk7aWYoTWF0aC5hYnMoby54KT5NYXRoLmFicyhvLnkpKXtjb25zdCB0PShpLWUueCkvby54O3JldHVybiBuZXcgbi5Qb2ludChlLmFkZFNjYWxlZChvLHQpLngsZS5hZGRTY2FsZWQobyx0KS55KX17Y29uc3QgdD0oci1lLnkpL28ueTtyZXR1cm4gbmV3IG4uUG9pbnQoZS5hZGRTY2FsZWQobyx0KS54LGUuYWRkU2NhbGVkKG8sdCkueSl9fWNsYXNzIHB7Y29uc3RydWN0b3IoZSx0LGkscil7dGhpcy5fZGF0YT1bXSx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9yZ2JhRnJvbUludGVnZXI9KDAsYS5yZ2JhRnJvbUludGVnZXJDYWNoZWQpKCksdGhpcy5fcHJvdmlkZXI9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX2ZvcmNlT3ZlcmxheT1pLHRoaXMuX2hpdFRlc3RSZXN1bHQ9dm9pZCAwIT09cj9uZXcgaC5IaXRUZXN0UmVzdWx0KGguSGl0VGFyZ2V0LkN1c3RvbSxyKTpuZXcgaC5IaXRUZXN0UmVzdWx0KGguSGl0VGFyZ2V0LlJlZ3VsYXIpfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpe3RoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlVmlld0ludGVybmFsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9bmV3IGwuQ29tcG9zaXRlUmVuZGVyZXI7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZGF0YSl7Y29uc3QgaT1uZXcgZC5Qb2x5Z29uUmVuZGVyZXIodGhpcy5faGl0VGVzdFJlc3VsdCk7aS5zZXREYXRhKHQpLGUuYXBwZW5kKGkpfXJldHVybiBlfV91cGRhdGVWaWV3SW50ZXJuYWwoKXt0aGlzLl9kYXRhPVtdO2NvbnN0IGU9dGhpcy5fcHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkcygpLnBhbGV0dGVzLHQ9dGhpcy5fcHJvdmlkZXIubWV0YUluZm8oKS5pc1JHQjtpZigodm9pZCAwPT09ZXx8dm9pZCAwPT09ZS5jaGlsZHMoKS5wYWxldHRlX2NvbW1vbikmJiF0KXJldHVybjtjb25zdCBpPXQ/dm9pZCAwOigwLHIuZW5zdXJlRGVmaW5lZCkoZS5jaGlsZHMoKS5wYWxldHRlX2NvbW1vbikuY2hpbGRzKCksYT10aGlzLl9wcm92aWRlci5wcmljZVNjYWxlKHRoaXMuX2ZvcmNlT3ZlcmxheSksbD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtpZighYXx8YS5pc0VtcHR5KCl8fGwuaXNFbXB0eSgpKXJldHVybjtpZihudWxsPT09bC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCkpcmV0dXJuO2NvbnN0IGQ9dGhpcy5fcHJvdmlkZXIuZmlyc3RWYWx1ZSh2b2lkIDAsdGhpcy5fZm9yY2VPdmVybGF5KTtpZihudWxsPT09ZClyZXR1cm47Y29uc3QgaD10aGlzLl9wcm92aWRlci5ncmFwaGljcygpLmR3Z2xpbmVzKCkscD10aGlzLl9wcm92aWRlci5ncmFwaGljcygpLmR3Z2xpbmVmaWxscygpO2lmKDA9PT1wLnNpemV8fDA9PT1oLnNpemUpcmV0dXJuO2NvbnN0IGc9bmV3IE1hcDtoLmZvckVhY2goKGU9Pntjb25zdCB0PWUuZ2V0KHRoaXMuX2ZvcmNlT3ZlcmxheSk7dD8uZm9yRWFjaCgoZT0+e2cuc2V0KGUuaWQsZSl9KSl9KSk7Y29uc3QgXz0oMCwKci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkuZHdnbGluZWZpbGxzKTtwLmZvckVhY2goKChlLGgpPT57KDAsci5lbnN1cmVEZWZpbmVkKShfLmNoaWxkcygpW2hdKS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkmJmUuZm9yRWFjaCgoZT0+e2NvbnN0IGg9Zy5nZXQoZS5saW5lMSkscD1nLmdldChlLmxpbmUyKTtpZihoJiZwKXtjb25zdCBnPWZ1bmN0aW9uKGUsdCxpLHIsYSl7Y29uc3QgbD1yLndpZHRoKCksZD0oMCxzLmNvbnZlcnRQb2ludHNUb1NjcmVlbkRpbWVuc2lvbikoZS54MSxlLnkxLGUueDIsZS55MixlLmV4dGVuZCxpLHIsbCxhLGMpLGg9KDAscy5jb252ZXJ0UG9pbnRzVG9TY3JlZW5EaW1lbnNpb24pKHQueDEsdC55MSx0LngyLHQueTIsdC5leHRlbmQsaSxyLGwsYSx1KTtpZihudWxsPT09ZHx8bnVsbD09PWgpcmV0dXJuIG51bGw7bGV0IHA9bmV3IG4uUG9pbnQoZC54MSxkLnkxKSxnPW5ldyBuLlBvaW50KGQueDIsZC55MiksXz1uZXcgbi5Qb2ludChoLngxLGgueTEpLHg9bmV3IG4uUG9pbnQoaC54MixoLnkyKTtpZigoMCxuLmVxdWFsUG9pbnRzKShwLGcpfHwoMCxuLmVxdWFsUG9pbnRzKShfLHgpKXJldHVybltwLGcseCxfXTtjb25zdCB3PSgwLHMuaXNFeHRlbmRJblNhbWVEaXJlY3Rpb24pKGQuZXh0ZW5kLG8uRHdnRXh0ZW5kLkxlZnQpLHY9KDAscy5pc0V4dGVuZEluU2FtZURpcmVjdGlvbikoZC5leHRlbmQsby5Ed2dFeHRlbmQuUmlnaHQpLG09KDAscy5pc0V4dGVuZEluU2FtZURpcmVjdGlvbikoaC5leHRlbmQsby5Ed2dFeHRlbmQuTGVmdCkseT0oMCxzLmlzRXh0ZW5kSW5TYW1lRGlyZWN0aW9uKShoLmV4dGVuZCxvLkR3Z0V4dGVuZC5SaWdodCksYj13JiZtLFQ9diYmeSxDPWkuaGVpZ2h0KCksUj0tbCxTPTIqbCxQPS1DLEQ9MipDO2xldCBNPVIsTD1TO3AueD5nLngmJihNPVMsTD1SKTtsZXQgQj1QLEE9RDtwLnk+Zy55JiYoQj1ELEE9UCk7bGV0IEk9Uix6PVM7Xy54PngueCYmKEk9Uyx6PVIpO2xldCBIPVAsRT1EO3JldHVybiBfLnk+eC55JiYoSD1ELEU9UCksKGJ8fG51bGw9PT1lLngxJiZ3KSYmKHA9ZihnLHAsTSxCKSksKGJ8fG51bGw9PT10LngxJiZtKSYmKF89Zih4LF8sSSxIKSksKFR8fG51bGw9PT1lLngyJiZ2KSYmKGc9ZihwLGcsTCxBKSksKFR8fG51bGw9PT10LngyJiZ5KSYmKHg9ZihfLHgseixFKSksW3AsZyx4LF9dfShoLHAsYSxsLGQpO2lmKG51bGwhPT1nKXtsZXQgbjtpZih0KW49dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUuY29sb3JJbmRleCk7ZWxzZXtjb25zdCB0PSgwLHIuZW5zdXJlRGVmaW5lZCkoaSkuY29sb3JzLmNoaWxkcygpW2UuY29sb3JJbmRleF07bj10P3QuY2hpbGRzKCkuY29sb3IudmFsdWUoKToidHJhbnNwYXJlbnQifXRoaXMuX2RhdGEucHVzaCh7cG9pbnRzOmcsZmlsbEJhY2tncm91bmQ6ITAsZmlsbGVkOiEwLGJhY2tjb2xvcjpuLGNvbG9yOm4sbGluZXdpZHRoOjAsbGluZXN0eWxlOjB9KX19fSkpfSkpfX19LDEyOTkzMihlLHQsaSl7aS5yKHQpLGkuZCh0LHtEd2dMaW5lUGFuZVZpZXc6KCk9PnZ9KTt2YXIgcixuPWkoMTM4NjM4KSxvPWkoNzM2NTMxKSxhPWkoMTc5Njc0KSxzPWkoMjU0NzMxKSxsPWkoMjkzNDE4KSxkPWkoNzAwNzQpOyFmdW5jdGlvbihlKXtlLlNvbGlkPSJzb2wiLGUuRG90dGVkPSJkb3QiLGUuRGFzaGVkPSJkc2giLGUuTGVmdEFycm93PSJhbCIsZS5SaWdodEFycm93PSJhciIsZS5Cb3RoQXJyb3c9ImFiIn0ocnx8KHI9e30pKTt2YXIgaD1pKDc2MyksYz1pKDkzNDMwNSksdT1pKDYwNDIxNCk7Y29uc3QgZj17W3IuU29saWRdOntkYXNoUGF0dGVybjpbXSxkYXNoUGF0dGVyblNpemU6MCxkcmF3TGVmdEFycm93OiExLGRyYXdSaWdodEFycm93OiExfSxbci5EYXNoZWRdOntkYXNoUGF0dGVybjpbNSw2XSxkYXNoUGF0dGVyblNpemU6MTEsZHJhd0xlZnRBcnJvdzohMSxkcmF3UmlnaHRBcnJvdzohMX0sW3IuRG90dGVkXTp7ZGFzaFBhdHRlcm46WzEsMl0sZGFzaFBhdHRlcm5TaXplOjMsZHJhd0xlZnRBcnJvdzohMSxkcmF3UmlnaHRBcnJvdzohMX0sW3IuTGVmdEFycm93XTp7ZGFzaFBhdHRlcm46W10sZGFzaFBhdHRlcm5TaXplOjAsZHJhd0xlZnRBcnJvdzohMCxkcmF3UmlnaHRBcnJvdzohMX0sW3IuUmlnaHRBcnJvd106e2Rhc2hQYXR0ZXJuOltdLGRhc2hQYXR0ZXJuU2l6ZTowLGRyYXdMZWZ0QXJyb3c6ITEsZHJhd1JpZ2h0QXJyb3c6ITB9LFtyLkJvdGhBcnJvd106e2Rhc2hQYXR0ZXJuOltdLGRhc2hQYXR0ZXJuU2l6ZTowLGRyYXdMZWZ0QXJyb3c6ITAsZHJhd1JpZ2h0QXJyb3c6ITB9fSxwPW5ldyBNYXA7ZnVuY3Rpb24gZyhlLHQpe2xldCBpPXAuZ2V0KGUpO3ZvaWQgMD09PWkmJihpPW5ldyBNYXAscC5zZXQoZSxpKSk7bGV0IHI9aS5nZXQodCk7cmV0dXJuIHZvaWQgMD09PXImJihyPWUubWFwKChlPT5lKnQpKSxpLnNldCh0LHIpKSxyfWZ1bmN0aW9uIF8oZSx0LGkscil7aWYoaS5zdWJ0cmFjdCh0KS5sZW5ndGgoKTwxKXJldHVybjtjb25zdCBuPSgwLHUuZ2V0QXJyb3dQb2ludHMpKHQsaSxyLCEwKTtmb3IoY29uc3QgdCBvZiBuKXtjb25zdCBpPXRbMF0ueCxyPXRbMF0ueSxuPXRbMV0ueCxvPXRbMV0ueTtlLm1vdmVUbyhpLHIpLGUubGluZVRvKG4sbyl9fWNsYXNzIHggZXh0ZW5kcyBjLkJpdG1hcENvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fZGF0YT1lPz9udWxsfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoZSl7aWYobnVsbD09PXRoaXMuX2RhdGEpcmV0dXJuIG51bGw7Y29uc3QgdD0oMCx1LmludGVyYWN0aW9uVG9sZXJhbmNlKSgpLmxpbmUse2l0ZW1zOmksaXRlbUNvdW50OnJ9PXRoaXMuX2RhdGE7bGV0IG49MDtmb3IoY29uc3QgbyBvZiBpKXtpZihuPT09cilicmVhaztjb25zdCBpPU1hdGgubWF4KHQsby53aWR0aC8yKTtpZigoMCxkLmRpc3RhbmNlVG9TZWdtZW50KShvLmV4dFAxLG8uZXh0UDIsZSkuZGlzdGFuY2U8PWkpcmV0dXJuIG5ldyBoLkhpdFRlc3RSZXN1bHQoaC5IaXRUYXJnZXQuUmVndWxhcik7bis9MX1yZXR1cm4gbnVsbH0KX2RyYXdJbXBsKGUpe2lmKG51bGw9PT10aGlzLl9kYXRhKXJldHVybjtjb25zdCB0PWUuY29udGV4dDt0LmxpbmVDYXA9ImJ1dHQiO2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnJ9PWU7Zm9yKGNvbnN0W2Usbl1vZiB0aGlzLl9kYXRhLml0ZW1zQnlDb2xvcil7bGV0IGE7dC5zdHJva2VTdHlsZT1lO2Zvcihjb25zdCBlIG9mIG4pe2NvbnN0IG49ZltlLnN0eWxlXSxzPWcobi5kYXNoUGF0dGVybixlLndpZHRoKmkpLGw9TWF0aC5mbG9vcihlLndpZHRoKmkpO3ZvaWQgMCE9PWEmJmEubGluZVdpZHRoPT09ZS53aWR0aCYmYS5wYXR0ZXJuPT09c3x8KHZvaWQgMCE9PWE/KHQuc3Ryb2tlKCksYS5saW5lV2lkdGg9ZS53aWR0aCxhLnBhdHRlcm49cyk6YT17bGluZVdpZHRoOmUud2lkdGgscGF0dGVybjpzfSx0LmJlZ2luUGF0aCgpLHQubGluZVdpZHRoPWwsdC5zZXRMaW5lRGFzaChzKSk7Y29uc3QgZD1sJTImJk1hdGguYWJzKGUuZXh0UDEueS1lLmV4dFAyLnkpPjFlLTg/LjU6MCxoPWwlMiYmTWF0aC5hYnMoZS5leHRQMS54LWUuZXh0UDIueCk+MWUtOD8uNTowLGM9KDAsby5wb2ludCkoTWF0aC5yb3VuZChlLnAxLngqaSkrZCxNYXRoLnJvdW5kKGUucDEueSpyKStoKSx1PSgwLG8ucG9pbnQpKE1hdGgucm91bmQoZS5wMi54KmkpK2QsTWF0aC5yb3VuZChlLnAyLnkqcikraCkscD1NYXRoLnJvdW5kKGUuZXh0UDEueCppKStkLHg9TWF0aC5yb3VuZChlLmV4dFAxLnkqcikraCx3PU1hdGgucm91bmQoZS5leHRQMi54KmkpK2Qsdj1NYXRoLnJvdW5kKGUuZXh0UDIueSpyKStoO3QubW92ZVRvKHAseCksdC5saW5lVG8odyx2KTtjb25zdCBtPWUud2lkdGgqaTtuLmRyYXdMZWZ0QXJyb3cmJl8odCx1LGMsbSksbi5kcmF3UmlnaHRBcnJvdyYmXyh0LGMsdSxtKX12b2lkIDAhPT1hJiZ0LnN0cm9rZSgpfX19dmFyIHc9aSg3MTYwMjEpO2NsYXNzIHZ7Y29uc3RydWN0b3IoZSx0LGkscil7dGhpcy5fbG9jYXRpb25EYXRhQ2FjaGU9W10sdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fcmVuZGVyZXI9bmV3IHgsdGhpcy5fcmdiYUZyb21JbnRlZ2VyPSgwLHMucmdiYUZyb21JbnRlZ2VyQ2FjaGVkKSgpLHRoaXMuX2dyYXBoaWNzUHJvdmlkZXI9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX2ZvcmNlT3ZlcmxheT1pfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcihlKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl9pbnZhbGlkYXRlZD0hMSx0aGlzLl91cGRhdGVSZW5kZXJlcihlKSksdGhpcy5fcmVuZGVyZXJ9X3VwZGF0ZVJlbmRlcmVyKGUpe3RoaXMuX3JlbmRlcmVyLnNldERhdGEobnVsbCk7Y29uc3QgdD10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLnByaWNlU2NhbGUodGhpcy5fZm9yY2VPdmVybGF5KSxpPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpO2lmKCF0fHx0LmlzRW1wdHkoKXx8aS5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IHI9dGhpcy5fZ3JhcGhpY3NQcm92aWRlci5ncmFwaGljcygpLmR3Z2xpbmVzKCk7aWYoMD09PXIuc2l6ZSlyZXR1cm47aWYobnVsbD09PWkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKXJldHVybjtjb25zdCBzPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIuZmlyc3RWYWx1ZSh2b2lkIDAsdGhpcy5fZm9yY2VPdmVybGF5KTtpZihudWxsPT09cylyZXR1cm47Y29uc3QgZD17eDE6MCx5MTowLHgyOjAseTI6MCxleHRlbmQ6YS5Ed2dFeHRlbmQuTm9uZX0saD1uZXcgTWFwO2xldCBjPTA7Y29uc3QgdT0oMCxuLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyYXBoaWNzUHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkcygpLmdyYXBoaWNzLmNoaWxkcygpLmR3Z2xpbmVzKSx7bWVkaWFTaXplOnt3aWR0aDpwLGhlaWdodDpnfX09ZTtmb3IoY29uc3RbZSxfXW9mIHIpe2lmKCEoMCxuLmVuc3VyZURlZmluZWQpKHUuY2hpbGRzKClbZV0pLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSljb250aW51ZTtjb25zdCByPV8uZ2V0KHRoaXMuX2ZvcmNlT3ZlcmxheSk7aWYocilmb3IoY29uc3QgZSBvZiByKXtpZihudWxsPT09ZS5jb2xvckluZGV4KWNvbnRpbnVlO2xldCByO2lmKHRoaXMuX2dyYXBoaWNzUHJvdmlkZXIubWV0YUluZm8oKS5pc1JHQilyPXRoaXMuX3JnYmFGcm9tSW50ZWdlcihlLmNvbG9ySW5kZXgpO2Vsc2V7Y29uc3QgdD10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYWxldHRlcztpZih2b2lkIDA9PT10fHx2b2lkIDA9PT10LmNoaWxkcygpLnBhbGV0dGVfY29tbW9uKWNvbnRpbnVlO3I9dC5jaGlsZHMoKS5wYWxldHRlX2NvbW1vbi5jaGlsZHMoKS5jb2xvcnMuY2hpbGRzKClbZS5jb2xvckluZGV4XS5jaGlsZHMoKS5jb2xvci52YWx1ZSgpfWlmKHZvaWQgMD09PXIpY29udGludWU7Y29uc3Qgbj0oMCxsLmNvbnZlcnRQb2ludHNUb1NjcmVlbkRpbWVuc2lvbikoZS54MSxlLnkxLGUueDIsZS55MixlLmV4dGVuZCx0LGkscCxzLGQpO2lmKG51bGw9PT1uKWNvbnRpbnVlO2NvbnN0e3gxOnUseDI6Xyx5MTp4LHkyOnYsZXh0ZW5kOm19PW4seT1tPT09YS5Ed2dFeHRlbmQuQm90aHx8bT09PWEuRHdnRXh0ZW5kLkxlZnQsYj1tPT09YS5Ed2dFeHRlbmQuQm90aHx8bT09PWEuRHdnRXh0ZW5kLlJpZ2h0LFQ9bmV3IG8uUG9pbnQodSx4KSxDPW5ldyBvLlBvaW50KF8sdiksUj0oMCx3LmludGVyc2VjdExpbmVXaXRoVmlld3BvcnQpKFQsQyx5LGIscCxnLGZbZS5zdHlsZV0uZGFzaFBhdHRlcm5TaXplKmUud2lkdGgpO2lmKG51bGw9PT1SKWNvbnRpbnVlO2xldCBTO3RoaXMuX2xvY2F0aW9uRGF0YUNhY2hlLmxlbmd0aD5jPyhTPXRoaXMuX2xvY2F0aW9uRGF0YUNhY2hlW2NdLFMucDE9VCxTLnAyPUMsUy5leHRQMT1SWzBdLFMuZXh0UDI9UlsxXSxTLndpZHRoPWUud2lkdGg+MD9lLndpZHRoOjEsUy5zdHlsZT1lLnN0eWxlKTooUz17cDE6VCxwMjpDLGV4dFAxOlJbMF0sZXh0UDI6UlsxXSx3aWR0aDplLndpZHRoPjA/ZS53aWR0aDoxLHN0eWxlOmUuc3R5bGV9LHRoaXMuX2xvY2F0aW9uRGF0YUNhY2hlLnB1c2goUykpO2xldCBQPWguZ2V0KHIpCjt2b2lkIDA9PT1QJiYoUD1bXSxoLnNldChyLFApKSxQLnB1c2goUyksYys9MX19dGhpcy5fcmVuZGVyZXIuc2V0RGF0YSh7aXRlbXM6dGhpcy5fbG9jYXRpb25EYXRhQ2FjaGUsaXRlbUNvdW50OmMsaXRlbXNCeUNvbG9yOmh9KX19fSw4Mjg4NzAoZSx0LGkpe2kucih0KSxpLmQodCx7RHdnUG9seWxpbmVQYW5lVmlldzooKT0+U30pO3ZhciByLG49aSgxMzg2MzgpLG89aSg3MzY1MzEpOyFmdW5jdGlvbihlKXtlLlNvbGlkPSJzb2wiLGUuRG90dGVkPSJkb3QiLGUuRGFzaGVkPSJkc2giLGUuQXJyb3dMZWZ0PSJhbCIsZS5BcnJvd1JpZ2h0PSJhciIsZS5BcnJvd0JvdGg9ImFiIn0ocnx8KHI9e30pKTt2YXIgYT1pKDI1NDczMSkscz1pKDEwMCksbD1pKDY2MzA0NiksZD1pKDcwMDc0KSxoPWkoNTczMDU0KSxjPWkoNzYzKSx1PWkoNjA0MjE0KTtjb25zdCBmPXtbci5Tb2xpZF06W10sW3IuRGFzaGVkXTpbNSw2XSxbci5Eb3R0ZWRdOlsxLDJdLFtyLkFycm93TGVmdF06W10sW3IuQXJyb3dSaWdodF06W10sW3IuQXJyb3dCb3RoXTpbXX0scD0oMCxsLmRlZmF1bHQpKCgoZSx0KT0+ZltlXS5tYXAoKGU9PmUqdCkpKSwoKGUsdCk9PmAke2V9XyR7dH1gKSk7ZnVuY3Rpb24gZyhlLHQpe2xldCBpPSEwO2Zvcihjb25zdCByIG9mIHQucG9pbnRzKWk/KGUubW92ZVRvKHIueCxyLnkpLGk9ITEpOmUubGluZVRvKHIueCxyLnkpfWZ1bmN0aW9uIF8oZSx0KXtmb3IoY29uc3QgaSBvZiB0LmJlemllckN1cnZlcyl7Y29uc3RbdCxyLG4sb109aTtlLmxpbmVUbyh0LngsdC55KSxlLmJlemllckN1cnZlVG8oci54LHIueSxuLngsbi55LG8ueCxvLnkpfX1mdW5jdGlvbiB4KGUsdCxpLHIpe2lmKGkuc3VidHJhY3QodCkubGVuZ3RoKCk8MSlyZXR1cm47Y29uc3Qgbj0oMCx1LmdldEFycm93UG9pbnRzKSh0LGksciwhMCk7Zm9yKGNvbnN0IHQgb2YgbillLm1vdmVUbyh0WzBdLngsdFswXS55KSxlLmxpbmVUbyh0WzFdLngsdFsxXS55KX1jbGFzcyB3IGV4dGVuZHMgaC5NZWRpYUNvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fZGF0YT1lPz9udWxsfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoZSl7aWYobnVsbD09PXRoaXMuX2RhdGEpcmV0dXJuIG51bGw7Y29uc3QgdD0oMCx1LmludGVyYWN0aW9uVG9sZXJhbmNlKSgpLmxpbmU7Zm9yKGNvbnN0IGkgb2YgdGhpcy5fZGF0YS5pdGVtcyl7Y29uc3Qgcj1NYXRoLm1heCh0LGkud2lkdGgvMik7aWYoaS5jdXJ2ZWQpZm9yKGNvbnN0IHQgb2YgaS5iZXppZXJDdXJ2ZXMpe2NvbnN0W2ksbixvLGFdPXQ7aWYoKDAscy5jdWJpY0JlemllckhpdFRlc3QpKGksbixvLGEsZSxyKSlyZXR1cm4gbmV3IGMuSGl0VGVzdFJlc3VsdChjLkhpdFRhcmdldC5SZWd1bGFyKX1lbHNlIGZvcihsZXQgdD0xO3Q8aS5wb2ludHMubGVuZ3RoO3QrPTEpe2NvbnN0IG49aS5wb2ludHNbdF0sbz1pLnBvaW50c1t0LTFdO2lmKCgwLGQuZGlzdGFuY2VUb1NlZ21lbnQpKG8sbixlKS5kaXN0YW5jZTw9cilyZXR1cm4gbmV3IGMuSGl0VGVzdFJlc3VsdChjLkhpdFRhcmdldC5SZWd1bGFyKX19cmV0dXJuIG51bGx9X2RyYXdJbXBsKGUpe2lmKG51bGw9PT10aGlzLl9kYXRhKXJldHVybjtjb25zdCB0PWUuY29udGV4dDt0LmxpbmVDYXA9ImJ1dHQiO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGEuaXRlbXMpe3Quc3Ryb2tlU3R5bGU9ZS5jb2xvcjtjb25zdCBpPU1hdGgubWF4KDEsZS53aWR0aCkscj1wKGUuc3R5bGUsaSk7dC5saW5lV2lkdGg9aSx0LnNldExpbmVEYXNoKHIpLHQuYmVnaW5QYXRoKCksZS5jdXJ2ZWQ/Xyh0LGUpOmcodCxlKSxlLmNsb3NlZCYmdC5jbG9zZVBhdGgoKSxlLmZpbGxDb2xvciYmKHQuZmlsbFN0eWxlPWUuZmlsbENvbG9yLHQuZmlsbCgpKSxlLmxlZnRBcnJvd1BvaW50cyYmeCh0LGUubGVmdEFycm93UG9pbnRzWzBdLGUubGVmdEFycm93UG9pbnRzWzFdLGkpLGUucmlnaHRBcnJvd1BvaW50cyYmeCh0LGUucmlnaHRBcnJvd1BvaW50c1swXSxlLnJpZ2h0QXJyb3dQb2ludHNbMV0saSksdC5zdHJva2UoKX19fXZhciB2PWkoMzI0MDY0KTtmdW5jdGlvbiBtKGUpe3JldHVybiBlPT09ci5BcnJvd0xlZnR8fGU9PT1yLkFycm93Qm90aH1mdW5jdGlvbiB5KGUpe3JldHVybiBlPT09ci5BcnJvd1JpZ2h0fHxlPT09ci5BcnJvd0JvdGh9ZnVuY3Rpb24gYihlKXtyZXR1cm4oMCxvLnBvaW50KShlLngsZS55KX1mdW5jdGlvbiBUKGUpe3JldHVybnt4OmUueCx5OmUueX19ZnVuY3Rpb24gQyhlKXtyZXR1cm4gZS5tYXAoYil9ZnVuY3Rpb24gUihlKXtjb25zdCB0PVtdLGk9ZS5wb2ludHMscj1lLmNsb3NlZCxuPWkubGVuZ3RoLG89cj9uLTE6bi0yO2xldCBhPWlbbi0xXTtmb3IobGV0IGU9MDtlPD1vO2UrPTEpe2NvbnN0IHM9aVtlXSxsPWlbKGUrMSklbl0sZD1pWyhlKzIpJW5dLGg9KGwueC1hLngpLzMsYz0obC55LWEueSkvMyx1PShkLngtcy54KS8zLGY9KGQueS1zLnkpLzMscD1bcyx7eDpzLngraCx5OnMueStjfSx7eDpsLngtdSx5OmwueS1mfSxsXTtyfHwoMD09PWU/KHBbMV0ueD0ocy54K3BbMl0ueCkvMixwWzFdLnk9KHMueStwWzJdLnkpLzIpOmU9PT1vJiYocFsyXS54PShsLngrcFsxXS54KS8yLHBbMl0ueT0obC55K3BbMV0ueSkvMikpLHQucHVzaChwKSxhPXN9Y29uc3QgbD1lLnN0eWxlO2xldCBkLGg7aWYobShsKSl7Y29uc3RbZSxpLHIsbl09Qyh0WzBdKTtkPVtUKCgwLHMuY3ViaWNCZXppZXJQb2ludCkoZSxpLHIsbiwuMSkpLFQoZSldfWlmKHkobCkpe2NvbnN0W2UsaSxuLG9dPUModFt0Lmxlbmd0aC0ocj8yOjEpXSk7aD1bVCgoMCxzLmN1YmljQmV6aWVyUG9pbnQpKGUsaSxuLG8sLjkpKSxUKG8pXX1yZXR1cm57YmV6aWVyQ3VydmVQb2ludHM6dCxsZWZ0QXJyb3dQb2ludHM6ZCxyaWdodEFycm93UG9pbnRzOmh9fWNsYXNzIFN7Y29uc3RydWN0b3IoZSx0LGkscil7dGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fcmVuZGVyZXI9bmV3IHcsdGhpcy5fY3VydmVkTGluZXNEYXRhQ2FjaGU9bmV3IFdlYWtNYXAsdGhpcy5fcmdiYUZyb21JbnRlZ2VyPSgwLGEucmdiYUZyb21JbnRlZ2VyQ2FjaGVkKSgpLAp0aGlzLl9ncmFwaGljc1Byb3ZpZGVyPWUsdGhpcy5fbW9kZWw9dCx0aGlzLl9mb3JjZU92ZXJsYXk9aX11cGRhdGUoZSl7ImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9pbnZhbGlkYXRlZD0hMCl9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl9pbnZhbGlkYXRlZD0hMSx0aGlzLl91cGRhdGVSZW5kZXJlcigpKSx0aGlzLl9yZW5kZXJlcn1fdXBkYXRlUmVuZGVyZXIoKXt0aGlzLl9yZW5kZXJlci5zZXREYXRhKG51bGwpO2NvbnN0IGU9dGhpcy5fZ3JhcGhpY3NQcm92aWRlci5wcmljZVNjYWxlKHRoaXMuX2ZvcmNlT3ZlcmxheSksdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtpZighZXx8ZS5pc0VtcHR5KCl8fHQuaXNFbXB0eSgpKXJldHVybjtjb25zdCBpPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIuZ3JhcGhpY3MoKS5kd2dwb2x5bGluZXMoKTtpZigwPT09aS5zaXplKXJldHVybjtjb25zdCByPXQudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1yKXJldHVybjtjb25zdCBhPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIuZmlyc3RWYWx1ZSh2b2lkIDAsdGhpcy5fZm9yY2VPdmVybGF5KTtpZihudWxsPT09YSlyZXR1cm47Y29uc3Qgcz1pPT4oMCxvLnBvaW50KSh0LmluZGV4VG9Db29yZGluYXRlKGkueCksZS5wcmljZVRvQ29vcmRpbmF0ZShpLnksYSkpLGw9ZT0+ZS5tYXAocyksZD0oMCxuLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyYXBoaWNzUHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkcygpLmdyYXBoaWNzLmNoaWxkcygpLmR3Z3BvbHlsaW5lcyksaD1bXSxjPXRoaXMuX2dyYXBoaWNzUHJvdmlkZXIubWV0YUluZm8oKS5pc1JHQjtsZXQgdTtpZighYyl7Y29uc3QgZT10aGlzLl9ncmFwaGljc1Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYWxldHRlcztpZih2b2lkIDA9PT1lfHx2b2lkIDA9PT1lLmNoaWxkcygpLnBhbGV0dGVfY29tbW9uKXJldHVybjt1PWUuY2hpbGRzKCkucGFsZXR0ZV9jb21tb24uY2hpbGRzKCkuY29sb3JzLmNoaWxkcygpfWZvcihjb25zdFtlLHRdb2YgaSl7aWYoISgwLG4uZW5zdXJlRGVmaW5lZCkoZC5jaGlsZHMoKVtlXSkuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKWNvbnRpbnVlO2NvbnN0IGk9dC5nZXQodGhpcy5fZm9yY2VPdmVybGF5KTtpZihpKWZvcihjb25zdCBlIG9mIGkpe2lmKCEoMCx2LmlzRHdnUG9seWxpbmVJbkJhcnNSYW5nZSkoZSxyKSljb250aW51ZTtsZXQgdCxpO2lmKGM/KHQ9dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUuY29sb3IpLG51bGwhPT1lLmZpbGxDb2xvciYmKGk9dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUuZmlsbENvbG9yKSkpOih0PSgwLG4uZW5zdXJlRGVmaW5lZCkodSlbZS5jb2xvcl0uY2hpbGRzKCkuY29sb3IudmFsdWUoKSxudWxsIT09ZS5maWxsQ29sb3ImJihpPSgwLG4uZW5zdXJlRGVmaW5lZCkodSlbZS5maWxsQ29sb3JdLmNoaWxkcygpLmNvbG9yLnZhbHVlKCkpKSx2b2lkIDAhPT10KWlmKCFlLmN1cnZlZHx8ZS5wb2ludHMubGVuZ3RoPDMpe2NvbnN0IHI9ZS5wb2ludHMubWFwKHMpLG49bShlLnN0eWxlKSYmci5sZW5ndGg+MT9bclsxXSxyWzBdXTp2b2lkIDAsbz15KGUuc3R5bGUpJiZyLmxlbmd0aD4xP1tyW3IubGVuZ3RoLTJdLHJbci5sZW5ndGgtMV1dOnZvaWQgMDtoLnB1c2goey4uLmUsY3VydmVkOiExLHBvaW50czpyLGNvbG9yOnQsZmlsbENvbG9yOmksbGVmdEFycm93UG9pbnRzOm4scmlnaHRBcnJvd1BvaW50czpvfSl9ZWxzZXtsZXQgcj10aGlzLl9jdXJ2ZWRMaW5lc0RhdGFDYWNoZS5nZXQoZSk7dm9pZCAwPT09ciYmKHI9UihlKSx0aGlzLl9jdXJ2ZWRMaW5lc0RhdGFDYWNoZS5zZXQoZSxyKSk7Y29uc3Qgbj1yLmJlemllckN1cnZlUG9pbnRzLm1hcChsKTtsZXQgbyxhO2lmKHIubGVmdEFycm93UG9pbnRzKXtjb25zdCBlPXMoci5sZWZ0QXJyb3dQb2ludHNbMF0pLHQ9cyhyLmxlZnRBcnJvd1BvaW50c1sxXSk7bz1bdC5hZGQoZS5zdWJ0cmFjdCh0KS5ub3JtYWxpemVkKCkuc2NhbGVkKDEwKSksdF19aWYoci5yaWdodEFycm93UG9pbnRzKXtjb25zdCBlPXMoci5yaWdodEFycm93UG9pbnRzWzBdKSx0PXMoci5yaWdodEFycm93UG9pbnRzWzFdKTthPVt0LmFkZChlLnN1YnRyYWN0KHQpLm5vcm1hbGl6ZWQoKS5zY2FsZWQoMTApKSx0XX1oLnB1c2goey4uLmUsY3VydmVkOiEwLGJlemllckN1cnZlczpuLGxlZnRBcnJvd1BvaW50czpvLHJpZ2h0QXJyb3dQb2ludHM6YSxjb2xvcjp0LGZpbGxDb2xvcjppfSl9fX10aGlzLl9yZW5kZXJlci5zZXREYXRhKHtpdGVtczpofSl9fX0sNjk5MTIzKGUsdCxpKXtpLnIodCksaS5kKHQse0R3Z1RhYmxlUGFuZVZpZXc6KCk9Pnl9KTt2YXIgcixuLG89aSgxMzg2MzgpLGE9aSgyNTQ3MzEpLHM9aSg3ODkxOTApLGw9aSg3MzY1MzEpOyFmdW5jdGlvbihlKXtlLlRvcD0idG9wIixlLkNlbnRlcj0iY2VudGVyIixlLkJvdHRvbT0iYm90dG9tIn0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlLk1vbm9zcGFjZT0ibW9ub3NwYWNlIn0obnx8KG49e30pKTt2YXIgZCxoPWkoOTI2MTQ5KSxjPWkoNzYzKSx1PWkoNDcwOTg2KSxmPWkoODIyNzI2KSxwPWkoNTkwODk0KSxnPWkoNzAzODA5KSxfPWkoOTQxMTAwKTshZnVuY3Rpb24oZSl7ZVtlLlRhYmxlTWFyZ2luPTEwXT0iVGFibGVNYXJnaW4iLGVbZS5FbXB0eUNlbGxEZWZhdWx0V2lkdGg9MjBdPSJFbXB0eUNlbGxEZWZhdWx0V2lkdGgiLGVbZS5FbXB0eUNlbGxEZWZhdWx0SGVpZ2h0PTVdPSJFbXB0eUNlbGxEZWZhdWx0SGVpZ2h0In0oZHx8KGQ9e30pKTtjb25zdCB4PW5ldyB1LlRleHRSZW5kZXJlcjtmdW5jdGlvbiB3KGUsdCxpLHIpe2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOm4sdmVydGljYWxQaXhlbFJhdGlvOm99PXI7dC5jZWxscy5mb3JFYWNoKCh0PT57aWYodC5tZXJnZWQpcmV0dXJuO2NvbnN0IGE9aS5jZWxsc1t0LmNlbGwucm93XVt0LmNlbGwuY29sdW1uXSxzPWkucG9zaXRpb24ueCthLm9mZnNldFgsbD1pLnBvc2l0aW9uLnkrYS5vZmZzZXRZLGQ9ZnVuY3Rpb24oZSx0LGkscixuKXtyZXR1cm4oMCxnLnRleHRCb3hEYXRhKShlLHQsaSxyLHsKaG9yaXpvbnRhbFRleHRBbGlnbm1lbnQ6bi5jZWxsLmhvcml6b250YWxUZXh0QWxpZ25tZW50LHZlcnRpY2FsVGV4dEFsaWdubWVudDpuLmNlbGwudmVydGljYWxUZXh0QWxpZ25tZW50LHRleHQ6bi5jZWxsLnRleHQsdGV4dENvbG9yOm4uc3R5bGUudGV4dENvbG9yLHNpemVPcHRpb25zOnt0ZXh0U2l6ZU1vZGU6ImZpeGVkIixmb250U2l6ZTpuLmNlbGwuZm9udFNpemV9LGZvbnRUeXBlOm4uY2VsbC5mb250VHlwZSx0ZXh0Rm9ybWF0dGluZzpuLmNlbGwudGV4dEZvcm1hdHRpbmd9KX0ocy9uLGwvbyxhLndpZHRoL24sYS5oZWlnaHQvbyx0KTtlLnNhdmUoKTtjb25zdCBoPW5ldyBQYXRoMkQ7aC5yZWN0KHMsbCxhLndpZHRoLGEuaGVpZ2h0KSxlLmNsaXAoaCwiZXZlbm9kZCIpLHguc2V0RGF0YShkKSx4LmRyYXcoZSxyKSxlLnJlc3RvcmUoKX0pKX1jbGFzcyB2e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2RhdGE9bnVsbCx0aGlzLl93aWR0aHNDYWNoZXM9bmV3IE1hcCx0aGlzLl9wcmVjYWxjdWxhdGVkPW51bGwsdGhpcy5zZXREYXRhKGUpLHRoaXMuX21lYXN1cmVDYW52YXM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksdGhpcy5fbWVhc3VyZUN0eD0oMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuX21lYXN1cmVDYW52YXMuZ2V0Q29udGV4dCgiMmQiKSl9c2V0RGF0YShlKXt0aGlzLl9kYXRhPWUsdGhpcy5fcHJlY2FsY3VsYXRlZD1udWxsfWRyYXcoZSx0KXtpZihudWxsPT09dGhpcy5fZGF0YSlyZXR1cm47Y29uc3QgaT10aGlzLl9wcmVjYWxjdWxhdGVEYXRhKHQpLHI9dGhpcy5fZGF0YTshZnVuY3Rpb24oZSx0LGkpe2UuZmlsbFN0eWxlPXQuc3R5bGUuYmFja2dyb3VuZENvbG9yLGUuZmlsbFJlY3QoaS5wb3NpdGlvbi54LGkucG9zaXRpb24ueSxpLnRvdGFsV2lkdGgsaS50b3RhbEhlaWdodCl9KGUscixpKSxmdW5jdGlvbihlLHQsaSl7dC5jZWxscy5mb3JFYWNoKCh0PT57aWYodC5tZXJnZWQpcmV0dXJuO2NvbnN0IHI9aS5jZWxsc1t0LmNlbGwucm93XVt0LmNlbGwuY29sdW1uXSxuPWkucG9zaXRpb24ueCtyLm9mZnNldFgsbz1pLnBvc2l0aW9uLnkrci5vZmZzZXRZLGE9ci53aWR0aCxzPXIuaGVpZ2h0O2UuZmlsbFN0eWxlPXQuc3R5bGUuYmFja2dyb3VuZENvbG9yLGUuZmlsbFJlY3QobixvLGEscyl9KSl9KGUscixpKSx3KGUscixpLHQpLGZ1bmN0aW9uKGUsdCxpLHIpe2lmKHQudGFibGUuYm9yZGVyV2lkdGg+MCl7Y29uc3Qgbj1NYXRoLm1heCgxLE1hdGgucm91bmQodC50YWJsZS5ib3JkZXJXaWR0aCpyLmhvcml6b250YWxQaXhlbFJhdGlvKSksbz1NYXRoLm1heCgxLE1hdGgucm91bmQodC50YWJsZS5ib3JkZXJXaWR0aCpyLnZlcnRpY2FsUGl4ZWxSYXRpbykpO2UuZmlsbFN0eWxlPXQuc3R5bGUuYm9yZGVyQ29sb3I7Zm9yKGxldCByPTA7cjx0LnRhYmxlLmNvbHVtbnM7cisrKWZvcihsZXQgYT0wO2E8dC50YWJsZS5yb3dzO2ErKyl7Y29uc3QgdD1pLmNlbGxzW2FdW3JdO251bGw9PT10Lm1lcmdlZE1haW5DZWxsJiYodC5oZWlnaHQ+MCYmdC5lbmRSb3c8aS5sYXN0Tm9uRW1wdHlSb3dFbmQmJmUuZmlsbFJlY3QoaS5wb3NpdGlvbi54K3Qub2Zmc2V0WCxpLnBvc2l0aW9uLnkrdC5vZmZzZXRZK3QuaGVpZ2h0LHQud2lkdGgrKHQuZW5kQ29sdW1uPGkubGFzdE5vbkVtcHR5Q29sdW1uRW5kP246MCksbyksdC53aWR0aD4wJiZ0LmVuZENvbHVtbjxpLmxhc3ROb25FbXB0eUNvbHVtbkVuZCYmZS5maWxsUmVjdChpLnBvc2l0aW9uLngrdC5vZmZzZXRYK3Qud2lkdGgsaS5wb3NpdGlvbi55K3Qub2Zmc2V0WSxuLHQuaGVpZ2h0KSl9fX0oZSxyLGksdCksZnVuY3Rpb24oZSx0LGkscil7aWYodC50YWJsZS5mcmFtZVdpZHRoPjApe2NvbnN0IG49TWF0aC5tYXgoMSxNYXRoLnJvdW5kKHQudGFibGUuZnJhbWVXaWR0aCpyLmhvcml6b250YWxQaXhlbFJhdGlvKSksbz1NYXRoLm1heCgxLE1hdGgucm91bmQodC50YWJsZS5mcmFtZVdpZHRoKnIudmVydGljYWxQaXhlbFJhdGlvKSk7ZS5maWxsU3R5bGU9dC5zdHlsZS5mcmFtZUNvbG9yLGUuZmlsbFJlY3QoaS5wb3NpdGlvbi54LW4saS5wb3NpdGlvbi55LW8saS50b3RhbFdpZHRoKzIqbixvKSxlLmZpbGxSZWN0KGkucG9zaXRpb24ueC1uLGkucG9zaXRpb24ueStpLnRvdGFsSGVpZ2h0LGkudG90YWxXaWR0aCsyKm4sbyksZS5maWxsUmVjdChpLnBvc2l0aW9uLngtbixpLnBvc2l0aW9uLnksbixpLnRvdGFsSGVpZ2h0KSxlLmZpbGxSZWN0KGkucG9zaXRpb24ueCtpLnRvdGFsV2lkdGgsaS5wb3NpdGlvbi55LG4saS50b3RhbEhlaWdodCl9fShlLHIsaSx0KX1oaXRUZXN0KGUsdCl7aWYobnVsbD09PXRoaXMuX2RhdGEpcmV0dXJuIG51bGw7Y29uc3QgaT10aGlzLl9wcmVjYWxjdWxhdGVEYXRhKHQpLHI9dGhpcy5fZGF0YSx7aG9yaXpvbnRhbFBpeGVsUmF0aW86bix2ZXJ0aWNhbFBpeGVsUmF0aW86b309dCxhPWUueCpuLHM9ZS55Km8sbD1NYXRoLm1heCgxLHIudGFibGUuZnJhbWVXaWR0aCpuKSxkPU1hdGgubWF4KDEsci50YWJsZS5mcmFtZVdpZHRoKm8pO2lmKCEoYT49aS5wb3NpdGlvbi54LWwmJmE8PWkucG9zaXRpb24ueCtpLnRvdGFsV2lkdGgrMipsJiZzPj1pLnBvc2l0aW9uLnktZCYmczw9aS5wb3NpdGlvbi55K2kudG90YWxIZWlnaHQrMipkKSlyZXR1cm4gbnVsbDtjb25zdCBoPWkuY2VsbHNXaXRoVG9vbHRpcC5maW5kKChlPT57Y29uc3QgdD1pLnBvc2l0aW9uLngrZS5vZmZzZXRYLHI9aS5wb3NpdGlvbi55K2Uub2Zmc2V0WTtyZXR1cm4gYT49dCYmYTw9dCtlLndpZHRoJiZzPj1yJiZzPD1yK2UuaGVpZ2h0fSkpLHU9dm9pZCAwPT09aD92b2lkIDA6e3Rvb2x0aXA6ey4uLmgudG9vbHRpcCxyZWN0Ont4OihpLnBvc2l0aW9uLngraC5vZmZzZXRYKS9uLHk6KGkucG9zaXRpb24ueStoLm9mZnNldFkpL28sdzpoLndpZHRoL24saDpoLmhlaWdodC9vfX19O3JldHVybiBuZXcgYy5IaXRUZXN0UmVzdWx0KGMuSGl0VGFyZ2V0LlJlZ3VsYXIsdSl9X3ByZWNhbGN1bGF0ZURhdGEoZSl7aWYobnVsbCE9PXRoaXMuX3ByZWNhbGN1bGF0ZWQpcmV0dXJuIHRoaXMuX3ByZWNhbGN1bGF0ZWQ7Y29uc3QgdD0oMCwKby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9kYXRhKTtsZXQgaT0tMSxyPS0xO2NvbnN0IG49QXJyYXkuZnJvbSh7bGVuZ3RoOnQudGFibGUucm93c30sKChlLGkpPT5BcnJheS5mcm9tKHtsZW5ndGg6dC50YWJsZS5jb2x1bW5zfSwoKGUsdCk9Pih7bWVyZ2VkTWFpbkNlbGw6bnVsbCxuZXh0Q29sdW1uQ2VsbDpudWxsLG5leHRSb3dDZWxsOm51bGwsc3RhcnRDb2x1bW46dCxlbmRDb2x1bW46dCxzdGFydFJvdzppLGVuZFJvdzppLHdpZHRoOjAsaGVpZ2h0OjAsb2Zmc2V0WDowLG9mZnNldFk6MCxjb2xTcGFuOi0xLHJvd1NwYW46LTEsbWVyZ2VkOiExLGVtcHR5OiEwfSkpKSkpLGE9W10se2hvcml6b250YWxQaXhlbFJhdGlvOnMsdmVydGljYWxQaXhlbFJhdGlvOmR9PWU7dC5jZWxscy5mb3JFYWNoKChpPT57aWYoaS5tZXJnZWQpe3JldHVybiB2b2lkKG5baS5jZWxsLnJvd11baS5jZWxsLmNvbHVtbl0uZW1wdHk9ITEpfWNvbnN0IHI9TWF0aC5jZWlsKHRoaXMuX2NlbGxXaWR0aChlLGksdCkqcyksbz1NYXRoLmNlaWwodGhpcy5fY2VsbEhlaWdodChlLGksdCkqZCksbD1pLmNlbGwucm93LGg9aS5jZWxsLnJvdytpLmNlbGwucm93U3Bhbi0xLGM9aS5jZWxsLmNvbHVtbix1PWkuY2VsbC5jb2x1bW4raS5jZWxsLmNvbFNwYW4tMSxmPWkuY2VsbC5jb2xTcGFuLHA9aS5jZWxsLnJvd1NwYW47bGV0IGc9bnVsbDtmb3IobGV0IGU9aS5jZWxsLnJvdztlPE1hdGgubWluKGkuY2VsbC5yb3craS5jZWxsLnJvd1NwYW4sdC50YWJsZS5yb3dzKTsrK2UpZm9yKGxldCBzPWkuY2VsbC5jb2x1bW47czxNYXRoLm1pbihpLmNlbGwuY29sdW1uK2kuY2VsbC5jb2xTcGFuLHQudGFibGUuY29sdW1ucyk7KytzKXtjb25zdCB0PW5bZV1bc10sZD1lIT09bHx8cyE9PWM7ZHx8KGc9dCx2b2lkIDAhPT1pLmNlbGwudG9vbHRpcCYmIiIhPT1pLmNlbGwudG9vbHRpcCYmKHQudG9vbHRpcD17Y29udGVudDp7dHlwZToidGV4dCIsZGF0YTppLmNlbGwudG9vbHRpcH19LGEucHVzaCh0KSkpLHQubWVyZ2VkTWFpbkNlbGw9ZD9nOm51bGwsdC5zdGFydFJvdz1sLHQuZW5kUm93PWgsdC5zdGFydENvbHVtbj1jLHQuZW5kQ29sdW1uPXUsdC53aWR0aD1yLHQuaGVpZ2h0PW8sdC5jb2xTcGFuPWYsdC5yb3dTcGFuPXAsdC5lbXB0eT0hMX19KSk7Y29uc3QgaD0wPT09dC50YWJsZS5ib3JkZXJXaWR0aD8wOk1hdGgubWF4KDEsTWF0aC5yb3VuZCh0LnRhYmxlLmJvcmRlcldpZHRoKnMpKSxjPTA9PT10LnRhYmxlLmJvcmRlcldpZHRoPzA6TWF0aC5tYXgoMSxNYXRoLnJvdW5kKHQudGFibGUuYm9yZGVyV2lkdGgqZCkpLHU9TWF0aC5tYXgoMSxNYXRoLnJvdW5kKDIwKnMpKSxmPU1hdGgubWF4KDEsTWF0aC5yb3VuZCg1KmQpKTtmb3IobGV0IGU9MDtlPHQudGFibGUuY29sdW1uczsrK2Upe2xldCByPVtdLG89ITEsYT0hMTtmb3IobGV0IHM9MDtzPHQudGFibGUucm93czsrK3Mpe2NvbnN0IHQ9bltzXVtlXTt0LmVtcHR5P2E9ITA6KG89ITAsaT1lKSxudWxsPT09dC5tZXJnZWRNYWluQ2VsbD8oci5mb3JFYWNoKChlPT5lLm5leHRSb3dDZWxsPXQpKSxyPVt0XSk6ci5wdXNoKHQpfWlmKG8mJmEpZm9yKGxldCBpPTA7aTx0LnRhYmxlLnJvd3M7KytpKXtjb25zdCB0PW5baV1bZV07dC5lbXB0eSYmKHQud2lkdGg9dSl9fWZvcihsZXQgZT0wO2U8dC50YWJsZS5yb3dzOysrZSl7bGV0IGk9W10sbz0hMSxhPSExO2ZvcihsZXQgcz0wO3M8dC50YWJsZS5jb2x1bW5zOysrcyl7Y29uc3QgdD1uW2VdW3NdO3QuZW1wdHk/YT0hMDoobz0hMCxyPWUpLG51bGw9PT10Lm1lcmdlZE1haW5DZWxsPyhpLmZvckVhY2goKGU9PmUubmV4dENvbHVtbkNlbGw9dCkpLGk9W3RdKTppLnB1c2godCl9aWYobyYmYSlmb3IobGV0IGk9MDtpPHQudGFibGUuY29sdW1uczsrK2kpe2NvbnN0IHQ9bltlXVtpXTt0LmVtcHR5JiYodC5oZWlnaHQ9Zil9fWxldCBwPTAsZz0wLF89MDtmb3IobGV0IGU9MDtlPHQudGFibGUuY29sdW1uczsrK2Upe2NvbnN0IHI9W107bGV0IG89ITE7Zm9yKGxldCBpPTA7aTx0LnRhYmxlLnJvd3M7KytpKXtjb25zdCB0PW5baV1bZV07aWYodC5lbmRDb2x1bW49PT1lKXtjb25zdCBlPXQubWVyZ2VkTWFpbkNlbGw/P3Q7Xz1NYXRoLm1heChfLGUub2Zmc2V0WCtlLndpZHRoKSxyLnB1c2goZSksbz1vfHwhZS5lbXB0eX19Zm9yKGNvbnN0IGUgb2YgcillLndpZHRoKz1fLShlLm9mZnNldFgrZS53aWR0aCkscD1NYXRoLm1heChwLGUub2Zmc2V0WCtlLndpZHRoKTtpZihyLmxlbmd0aD4wKXtjb25zdCByPW8mJmk+ZT9oOjA7Zm9yKGxldCBpPTA7aTx0LnRhYmxlLnJvd3M7KytpKXtjb25zdCB0PW5baV1bZV07bnVsbCE9PXQubmV4dENvbHVtbkNlbGwmJih0Lm5leHRDb2x1bW5DZWxsLm9mZnNldFg9TWF0aC5tYXgodC5uZXh0Q29sdW1uQ2VsbC5vZmZzZXRYLF8rcikpfX19bGV0IHg9MDtmb3IobGV0IGU9MDtlPHQudGFibGUucm93czsrK2Upe2NvbnN0IGk9W107bGV0IG89ITE7Zm9yKGxldCByPTA7cjx0LnRhYmxlLmNvbHVtbnM7KytyKXtjb25zdCB0PW5bZV1bcl07aWYodC5lbmRSb3c9PT1lKXtjb25zdCBlPXQubWVyZ2VkTWFpbkNlbGw/P3Q7eD1NYXRoLm1heCh4LGUub2Zmc2V0WStlLmhlaWdodCksaS5wdXNoKGUpLG89b3x8IWUuZW1wdHl9fWZvcihjb25zdCBlIG9mIGkpZS5oZWlnaHQrPXgtKGUub2Zmc2V0WStlLmhlaWdodCksZz1NYXRoLm1heChnLGUub2Zmc2V0WStlLmhlaWdodCk7aWYoaS5sZW5ndGg+MCl7Y29uc3QgaT1vJiZyPmU/YzowO2ZvcihsZXQgcj0wO3I8dC50YWJsZS5jb2x1bW5zOysrcil7Y29uc3QgdD1uW2VdW3JdO251bGwhPT10Lm5leHRSb3dDZWxsJiYodC5uZXh0Um93Q2VsbC5vZmZzZXRZPU1hdGgubWF4KHQubmV4dFJvd0NlbGwub2Zmc2V0WSx4K2kpKX19fWNvbnN0IHc9ZnVuY3Rpb24oZSx0LGkscil7Y29uc3R7aG9yaXpvbnRhbFBpeGVsUmF0aW86bix2ZXJ0aWNhbFBpeGVsUmF0aW86byxiaXRtYXBTaXplOmF9PXQscz1NYXRoLnJvdW5kKDEwKm8pLGQ9TWF0aC5yb3VuZCgxMCpuKTtsZXQgaD0wCjtlLnRhYmxlLnBvc2l0aW9uLnN0YXJ0c1dpdGgoInRvcF8iKT9oPXM6ZS50YWJsZS5wb3NpdGlvbi5zdGFydHNXaXRoKCJtaWRkbGVfIik/aD1NYXRoLnJvdW5kKChhLmhlaWdodC1yKS8yKTplLnRhYmxlLnBvc2l0aW9uLnN0YXJ0c1dpdGgoImJvdHRvbV8iKSYmKGg9YS5oZWlnaHQtcy1yKTtsZXQgYz0wO3JldHVybiBlLnRhYmxlLnBvc2l0aW9uLmVuZHNXaXRoKCJsZWZ0Iik/Yz1kOmUudGFibGUucG9zaXRpb24uZW5kc1dpdGgoImNlbnRlciIpP2M9TWF0aC5yb3VuZCgoYS53aWR0aC1pKS8yKTplLnRhYmxlLnBvc2l0aW9uLmVuZHNXaXRoKCJyaWdodCIpJiYoYz1hLndpZHRoLWktZCksbmV3IGwuUG9pbnQoYyxoKX0odCxlLHAsZyk7cmV0dXJuIHRoaXMuX3ByZWNhbGN1bGF0ZWQ9e3Bvc2l0aW9uOncsdG90YWxXaWR0aDpwLHRvdGFsSGVpZ2h0OmcsY2VsbHM6bixjZWxsc1dpdGhUb29sdGlwOmEsbGFzdE5vbkVtcHR5Q29sdW1uRW5kOmksbGFzdE5vbkVtcHR5Um93RW5kOnJ9LHRoaXMuX3ByZWNhbGN1bGF0ZWR9X2NlbGxXaWR0aChlLHQsaSl7Y29uc3Qgcj10LmNlbGwud2lkdGhJblBlcmNlbnRzT2ZQYW5lV2lkdGg7aWYodC5tZXJnZWR8fCIiPT09dC5jZWxsLnRleHQmJjA9PT1yKXJldHVybiAwO2lmKHIpe3JldHVybihlLm1lZGlhU2l6ZS53aWR0aC0yMCkqci8xMDB9Y29uc3QgYT10LmNlbGwudGV4dC5zcGxpdCgiXG4iKSx7Ym9sZDpzLGl0YWxpYzpsfT0oMCxfLmNvbnZlcnREd2dUZXh0Rm9ybWF0dGluZ1RvT2JqZWN0KSh0LmNlbGwudGV4dEZvcm1hdHRpbmcpLGQ9dC5jZWxsLmZvbnRUeXBlPT09bi5Nb25vc3BhY2U/aC5DSEFSVF9NT05PU1BBQ0VfRk9OVF9GQU1JTFk6aC5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLGM9KDAsby5lbnN1cmVEZWZpbmVkKSgoMCxnLmdldEZvbnRTaXplKSh0LmNlbGwuZm9udFNpemUpKSx1PWAke3QuY2VsbC5mb250VHlwZT8/ImRlZmF1bHQifS0ke2N9LSR7dC5jZWxsLnRleHRGb3JtYXR0aW5nfWA7bGV0IHg7dGhpcy5fd2lkdGhzQ2FjaGVzLmhhcyh1KT94PSgwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5fd2lkdGhzQ2FjaGVzLmdldCh1KSk6KHg9bmV3IGYuVGV4dFdpZHRoQ2FjaGUsdGhpcy5fd2lkdGhzQ2FjaGVzLnNldCh1LHgpKSx0aGlzLl9tZWFzdXJlQ3R4LmZvbnQ9KDAscC5tYWtlRm9udCkoYyxkLGw/Iml0YWxpYyI6dm9pZCAwLHM/ImJvbGQiOnZvaWQgMCk7Y29uc3Qgdz1hLm1hcCgoZT0+eC5tZWFzdXJlVGV4dCh0aGlzLl9tZWFzdXJlQ3R4LGUpKSk7cmV0dXJuIE1hdGgubWF4KC4uLncpKzIqaS50YWJsZS5ib3JkZXJXaWR0aCsyKmMvM31fY2VsbEhlaWdodChlLHQsaSl7Y29uc3Qgcj10LmNlbGwuaGVpZ2h0SW5QZXJjZW50T2ZQYW5lSGVpZ2h0O2lmKHQubWVyZ2VkfHwiIj09PXQuY2VsbC50ZXh0JiYwPT09cilyZXR1cm4gMDtpZihyKXtyZXR1cm4oZS5tZWRpYVNpemUuaGVpZ2h0LTIwKSpyLzEwMH1jb25zdCBuPXQuY2VsbC50ZXh0LnNwbGl0KCJcbiIpLmxlbmd0aCxhPSgwLG8uZW5zdXJlRGVmaW5lZCkoKDAsZy5nZXRGb250U2l6ZSkodC5jZWxsLmZvbnRTaXplKSk7cmV0dXJuIGEqbithKigyLzMpKzIqaS50YWJsZS5ib3JkZXJXaWR0aH19ZnVuY3Rpb24gbShlKXtlLmFsbENlbGxzLmZvckVhY2goKHQ9PntpZih0LmNlbGwucm93U3Bhbj4xfHx0LmNlbGwuY29sU3Bhbj4xKWZvcihsZXQgaT10LmNlbGwucm93O2k8dC5jZWxsLnJvdyt0LmNlbGwucm93U3BhbjsrK2kpZm9yKGxldCByPXQuY2VsbC5jb2x1bW47cjx0LmNlbGwuY29sdW1uK3QuY2VsbC5jb2xTcGFuOysrcil7Y29uc3Qgbj1lLmNlbGxzQnlSb3dBbmRDb2x1bW4uZ2V0KGkpPy5nZXQocik7dm9pZCAwIT09biYmbiE9PXQmJihuLm1lcmdlZD0hMCl9fSkpfWNsYXNzIHl7Y29uc3RydWN0b3IoZSx0LGkscil7dGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fZGF0YT1bXSx0aGlzLl9yZW5kZXJlcnM9W10sdGhpcy5fcmdiYUZyb21JbnRlZ2VyPSgwLGEucmdiYUZyb21JbnRlZ2VyQ2FjaGVkKSgpLHRoaXMuX3NvdXJjZT1lLHRoaXMuX2ZvcmNlT3ZlcmxheT1pfXJlbmRlcmVyKCl7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl9pbnZhbGlkYXRlZD0hMSx0aGlzLl91cGRhdGVWaWV3SW50ZXJuYWwoKSk7Y29uc3QgZT1uZXcgcy5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gdGhpcy5fZGF0YS5mb3JFYWNoKCgodCxpKT0+e3RoaXMuX3JlbmRlcmVycy5sZW5ndGg8PWk/dGhpcy5fcmVuZGVyZXJzLnB1c2gobmV3IHYodCkpOnRoaXMuX3JlbmRlcmVyc1tpXS5zZXREYXRhKHQpLGUuYXBwZW5kKHRoaXMuX3JlbmRlcmVyc1tpXSl9KSksdGhpcy5fcmVuZGVyZXJzLnNwbGljZSh0aGlzLl9kYXRhLmxlbmd0aCksZX11cGRhdGUoZSl7ImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9pbnZhbGlkYXRlZD0hMCl9X3VwZGF0ZVZpZXdJbnRlcm5hbCgpe3RoaXMuX2RhdGE9W107Y29uc3QgZT10aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpLnBhbGV0dGVzLmNoaWxkcygpLHQ9dGhpcy5fc291cmNlLm1ldGFJbmZvKCkuaXNSR0I7aWYoKHZvaWQgMD09PWV8fHZvaWQgMD09PWUucGFsZXR0ZV9jb21tb24pJiYhdClyZXR1cm47Y29uc3QgaT10P3ZvaWQgMDooMCxvLmVuc3VyZURlZmluZWQpKGUucGFsZXR0ZV9jb21tb24pLmNoaWxkcygpLHI9dGhpcy5fc291cmNlLmdyYXBoaWNzKCkuZHdndGFibGVzKCksbj10aGlzLl9zb3VyY2UuZ3JhcGhpY3MoKS5kd2d0YWJsZWNlbGxzKCksYT1uZXcgTWFwO24uZm9yRWFjaCgoKGUscik9PntlLmZvckVhY2goKGU9PntsZXQgcixuLHM9YS5nZXQoZS50YWJsZUlkKTtpZih2b2lkIDA9PT1zJiYocz17YWxsQ2VsbHM6W10sY2VsbHNCeVJvd0FuZENvbHVtbjpuZXcgTWFwfSxhLnNldChlLnRhYmxlSWQscykpLHQpcj10aGlzLl9yZ2JhRnJvbUludGVnZXIoZS5iYWNrZ3JvdW5kQ29sb3JJbmRleCksbj10aGlzLl9yZ2JhRnJvbUludGVnZXIoZS50ZXh0Q29sb3JJbmRleCk7ZWxzZXtjb25zdCB0PSgwLG8uZW5zdXJlRGVmaW5lZCkoaSkuY29sb3JzLmNoaWxkcygpW2UuYmFja2dyb3VuZENvbG9ySW5kZXhdLGE9KDAsCm8uZW5zdXJlRGVmaW5lZCkoaSkuY29sb3JzLmNoaWxkcygpW2UudGV4dENvbG9ySW5kZXhdO2lmKCFhKXJldHVybjtyPXQ/dC5jaGlsZHMoKS5jb2xvci52YWx1ZSgpOiJ0cmFuc3BhcmVudCIsbj1hLmNoaWxkcygpLmNvbG9yLnZhbHVlKCl9Y29uc3QgbD17Y2VsbDplLG1lcmdlZDohMSxzdHlsZTp7YmFja2dyb3VuZENvbG9yOnIsdGV4dENvbG9yOm59fTtzLmFsbENlbGxzLnB1c2gobCk7bGV0IGQ9cy5jZWxsc0J5Um93QW5kQ29sdW1uLmdldChlLnJvdyk7dm9pZCAwPT09ZCYmKGQ9bmV3IE1hcCxzLmNlbGxzQnlSb3dBbmRDb2x1bW4uc2V0KGUucm93LGQpKSxkLnNldChlLmNvbHVtbixsKX0pKX0pKSxhLmZvckVhY2gobSk7Y29uc3Qgcz0oMCxvLmVuc3VyZURlZmluZWQpKHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkuZHdndGFibGVzKTtyLmZvckVhY2goKChlLHIpPT57aWYoKDAsby5lbnN1cmVEZWZpbmVkKShzLmNoaWxkcygpW3JdKS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpe2NvbnN0IHI9ZS5nZXQodGhpcy5fZm9yY2VPdmVybGF5KTtyPy5mb3JFYWNoKChlPT57bGV0IHIsbixzO2lmKHQpcj10aGlzLl9yZ2JhRnJvbUludGVnZXIoZS5iYWNrZ3JvdW5kQ29sb3JJbmRleCksbj10aGlzLl9yZ2JhRnJvbUludGVnZXIoZS5ib3JkZXJDb2xvckluZGV4KSxzPXRoaXMuX3JnYmFGcm9tSW50ZWdlcihlLmZyYW1lQ29sb3JJbmRleCk7ZWxzZXtjb25zdCB0PSgwLG8uZW5zdXJlRGVmaW5lZCkoaSkuY29sb3JzLmNoaWxkcygpW2UuYmFja2dyb3VuZENvbG9ySW5kZXhdLGE9KDAsby5lbnN1cmVEZWZpbmVkKShpKS5jb2xvcnMuY2hpbGRzKClbZS5ib3JkZXJDb2xvckluZGV4XSxsPSgwLG8uZW5zdXJlRGVmaW5lZCkoaSkuY29sb3JzLmNoaWxkcygpW2UuZnJhbWVDb2xvckluZGV4XTtyPXQ/dC5jaGlsZHMoKS5jb2xvci52YWx1ZSgpOiJ0cmFuc3BhcmVudCIsbj1hP2EuY2hpbGRzKCkuY29sb3IudmFsdWUoKToidHJhbnNwYXJlbnQiLHM9bD9sLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk6InRyYW5zcGFyZW50In10aGlzLl9kYXRhLnB1c2goe3RhYmxlOmUsc3R5bGU6e2JhY2tncm91bmRDb2xvcjpyLGJvcmRlckNvbG9yOm4sZnJhbWVDb2xvcjpzfSxjZWxsczphLmdldChlLmlkKT8uYWxsQ2VsbHM/P1tdfSl9KSl9fSkpfX19LDk0MTEwMChlLHQsaSl7dmFyIHI7ZnVuY3Rpb24gbihlKXtyZXR1cm57Ym9sZDohKDEmfmUpLGl0YWxpYzohKDImfmUpfX1pLmQodCx7Y29udmVydER3Z1RleHRGb3JtYXR0aW5nVG9PYmplY3Q6KCk9Pm59KSxmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLkJvbGQ9MV09IkJvbGQiLGVbZS5JdGFsaWM9Ml09Ikl0YWxpYyJ9KHJ8fChyPXt9KSl9LDIyMTE2NShlLHQsaSl7aS5yKHQpLGkuZCh0LHtISGlzdFBhbmVWaWV3OigpPT5ofSk7dmFyIHIsbj1pKDEzNDY3KSxvPWkoMTM4NjM4KSxhPWkoOTQxNjEyKSxzPWkoNzg5MTkwKSxsPWkoOTgyOTQpLGQ9aSg4NzM1NzMpOyFmdW5jdGlvbihlKXtlLlVwRG9taW5hdGVQb3N0Zml4PSJVcERvbWluYXRlIixlLkRvd25Eb21pbmF0ZVBvc3RmaXg9IkRvd25Eb21pbmF0ZSJ9KHJ8fChyPXt9KSk7Y2xhc3MgaHtjb25zdHJ1Y3RvcihlLHQsaSxyLG49ITEsbz0oKT0+bnVsbCxhPSExKXt0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9oaXN0Qm94QmdTdHlsZT1udWxsLHRoaXMuX3Byb3ZpZGVyPWUsdGhpcy5fbW9kZWw9dCx0aGlzLl9oaXN0Qm94QmdTdHlsZT1yPz9udWxsLHRoaXMuX2FsdGVybmF0ZUxlZnRJbmRleD1vLHRoaXMuX2V4dGVuZFRvQmFyc0VuZGluZ3M9bix0aGlzLl9hbHdheXNWaXNpYmxlPWEsdGhpcy5fcmVuZGVyZXJEYXRhPXtoaXN0b2dyYW1zOltdLHN0eWxlczp7fX0sdGhpcy5faGhpc3RSZW5kZXJlcj1uZXcgbC5ISGlzdFJlbmRlcmVyKHRoaXMuX3JlbmRlcmVyRGF0YSl9dXBkYXRlKGUpeyJob3Zlci1jaGFuZ2UiIT09ZS50eXBlJiYodGhpcy5faW52YWxpZGF0ZWQ9ITApfXJlbmRlcmVyKCl7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVWaWV3SW50ZXJuYWwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSk7Y29uc3QgZT1uZXcgcy5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gZS5hcHBlbmQodGhpcy5faGhpc3RSZW5kZXJlciksZX1fcmVzZXRSZW5kZXJlcnNEYXRhKCl7dGhpcy5fcmVuZGVyZXJEYXRhLmhpc3RvZ3JhbXM9W10sdGhpcy5fcmVuZGVyZXJEYXRhLnN0eWxlcz17fSx0aGlzLl9yZW5kZXJlckRhdGEuaGlzdEJveEJnQ29sb3I9dm9pZCAwfV9wcmVwYXJlU3R5bGVzKCl7Y29uc3QgZT0oMCxvLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLmdyYXBoaWNzSW5mbygpLmhoaXN0cyksdD1PYmplY3Qua2V5cyhlKSxpPSgwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkcygpLmdyYXBoaWNzLmNoaWxkcygpLmhoaXN0cykscj10aGlzLl9wcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGQoImlucHV0cyIpPy5jaGlsZCgidm9sdW1lIik/LnZhbHVlKCk9PT1hLkhIaXN0Vm9sdW1lTW9kZS5EZWx0YTtmb3IoY29uc3QgbiBvZiB0KXtjb25zdCB0PSgwLG8uZW5zdXJlRGVmaW5lZCkoaS5jaGlsZHMoKVtuXSkuY2hpbGRzKCksYT0oMCxvLmVuc3VyZURlZmluZWQpKGVbbl0pO2lmKHIpdGhpcy5fcmVuZGVyZXJEYXRhLnN0eWxlc1tuKyJVcERvbWluYXRlIl09e2NvbG9yczpjKHQuY29sb3JzWzBdLnZhbHVlKCksdC50cmFuc3BhcmVuY2llc1swXS52YWx1ZSgpKSx2aXNpYmxlOnQudmlzaWJsZS52YWx1ZSgpLHBlcmNlbnRXaWR0aDp0LnBlcmNlbnRXaWR0aC52YWx1ZSgpLGxvY2F0aW9uOmEubG9jYXRpb24sZGlyZWN0aW9uOnQuZGlyZWN0aW9uLnZhbHVlKCksc2hvd1ZhbHVlczp0LnNob3dWYWx1ZXMudmFsdWUoKSxhZGRUb1RvdGFsVmFsdWU6ITEsdmFsdWVzQ29sb3I6dC52YWx1ZXNDb2xvci52YWx1ZSgpfSx0aGlzLl9yZW5kZXJlckRhdGEuc3R5bGVzW24rIkRvd25Eb21pbmF0ZSJdPXtjb2xvcnM6Yyh0LmNvbG9yc1sxXS52YWx1ZSgpLHQudHJhbnNwYXJlbmNpZXNbMV0udmFsdWUoKSksCnZpc2libGU6dC52aXNpYmxlLnZhbHVlKCkscGVyY2VudFdpZHRoOnQucGVyY2VudFdpZHRoLnZhbHVlKCksbG9jYXRpb246YS5sb2NhdGlvbixkaXJlY3Rpb246dC5kaXJlY3Rpb24udmFsdWUoKSxzaG93VmFsdWVzOnQuc2hvd1ZhbHVlcy52YWx1ZSgpLGFkZFRvVG90YWxWYWx1ZTohMSx2YWx1ZXNDb2xvcjp0LnZhbHVlc0NvbG9yLnZhbHVlKCl9O2Vsc2V7Y29uc3QgZT0oMCxkLmdlbmVyYXRlQ29sb3IpKHQuY29sb3JzWzBdLnZhbHVlKCksdC50cmFuc3BhcmVuY2llc1swXS52YWx1ZSgpKSxpPXQuY29sb3JzWzFdPygwLGQuZ2VuZXJhdGVDb2xvcikodC5jb2xvcnNbMV0udmFsdWUoKSx0LnRyYW5zcGFyZW5jaWVzWzFdLnZhbHVlKCkpOmU7dGhpcy5fcmVuZGVyZXJEYXRhLnN0eWxlc1tuXT17Y29sb3JzOltlLGldLHZpc2libGU6dC52aXNpYmxlLnZhbHVlKCkscGVyY2VudFdpZHRoOnQucGVyY2VudFdpZHRoLnZhbHVlKCksbG9jYXRpb246YS5sb2NhdGlvbixkaXJlY3Rpb246dC5kaXJlY3Rpb24udmFsdWUoKSxzaG93VmFsdWVzOnQuc2hvd1ZhbHVlcy52YWx1ZSgpLGFkZFRvVG90YWxWYWx1ZTohMCx2YWx1ZXNDb2xvcjp0LnZhbHVlc0NvbG9yLnZhbHVlKCl9fX1pZih0aGlzLl9oaXN0Qm94QmdTdHlsZSl7Y29uc3QgZT10aGlzLl9oaXN0Qm94QmdTdHlsZS5jaGlsZHMoKTt0aGlzLl9yZW5kZXJlckRhdGEuaGlzdEJveEJnQ29sb3I9KDAsZC5nZW5lcmF0ZUNvbG9yKShlLmNvbG9yLnZhbHVlKCksZS50cmFuc3BhcmVuY3kudmFsdWUoKSl9fV91cGRhdGVWaWV3SW50ZXJuYWwoKXt0aGlzLl9yZXNldFJlbmRlcmVyc0RhdGEoKTtjb25zdCBlPXRoaXMuX3Byb3ZpZGVyLnByaWNlU2NhbGUoKSx0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpO2lmKCFlfHxlLmlzRW1wdHkoKXx8dC5pc0VtcHR5KCkpcmV0dXJuO2lmKG51bGw9PT10aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5fcHJvdmlkZXIuZ3JhcGhpY3MoKS5oaGlzdHNCeVRpbWVQb2ludEluZGV4KCk7aWYoMD09PWkuc2l6ZSlyZXR1cm47Y29uc3Qgcj10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09cilyZXR1cm47Y29uc3Qgbj1yLmZpcnN0QmFyKCksYT1yLmxhc3RCYXIoKTt0aGlzLl9wcmVwYXJlU3R5bGVzKCksKDAsby5lbnN1cmVEZWZpbmVkKShpKS5mb3JFYWNoKChpPT57bGV0IHI9MS8wLG89LTEvMDtmb3IoY29uc3QgZSBvZiBpKXtjb25zdCB0PXRoaXMuX2hoaXN0Rmlyc3RCYXJUaW1lKGUpO2lmKG51bGw9PT10KXJldHVybjtyPU1hdGgubWluKHIsdCksbz1NYXRoLm1heChvLGUubGFzdEJhclRpbWUpfSF0aGlzLl9hbHdheXNWaXNpYmxlJiYobzxufHxyPmEpfHx0aGlzLl91cGRhdGVEYXRhRm9yUmVuZGVyZXJzKGksZSx0KX0pKX1fdXBkYXRlRGF0YUZvclJlbmRlcmVycyhlLHQsaSl7aWYoZS5zaXplPD0wKXJldHVybjtsZXQgcj1udWxsO2lmKGUuZm9yRWFjaCgoZT0+e3I9cnx8ZX0pKSxudWxsPT09cilyZXR1cm47bGV0IG49cjtlLmZvckVhY2goKGU9PntlLnByaWNlTG93PG4ucHJpY2VMb3cmJihuPWUpfSkpO2NvbnN0IHM9dGhpcy5fcHJvdmlkZXIucHJvcGVydGllcygpLmNoaWxkKCJpbnB1dHMiKT8uY2hpbGQoInZvbHVtZSIpPy52YWx1ZSgpPT09YS5ISGlzdFZvbHVtZU1vZGUuRGVsdGEsZD1mdW5jdGlvbihlLHQsaSxyKXtjb25zdCBuPXQuYmFyQm9yZGVycyhlLmZpcnN0QmFyVGltZT8/ciksbz10LmJhckJvcmRlcnMoZS5sYXN0QmFyVGltZSk7cmV0dXJuIGk/KDAsbC5yYW5nZSkobi5sZWZ0LG8ucmlnaHQpOigwLGwucmFuZ2UpKG4uY2VudGVyLG8uY2VudGVyKX0ocixpLHRoaXMuX2V4dGVuZFRvQmFyc0VuZGluZ3MsKDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9oaGlzdEZpcnN0QmFyVGltZShyKSkpLGg9KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCkpLGM9W107ZS5mb3JFYWNoKChlPT57bnVsbD09ZS5yYXRlW2UucmF0ZS5sZW5ndGgtMV0mJmUucmF0ZS5zcGxpY2UoLTEsMSk7bGV0IGk9W10scj1bXSxuPWUuc3R5bGVJZDtpZihzKXtjb25zdFt0LG8sYV09ZS5yYXRlWzBdPmUucmF0ZVsxXT9bZS5yYXRlWzFdLGUucmF0ZVswXSwiVXBEb21pbmF0ZSJdOltlLnJhdGVbMF0sZS5yYXRlWzFdLCJEb3duRG9taW5hdGUiXTtpPVtvLXQsdCx0XSxyPVtvLXRdLG4rPWF9ZWxzZSBpPWUucmF0ZSxyPWUucmF0ZTtjb25zdCBvPWZ1bmN0aW9uKGUsdCxpKXtyZXR1cm4oMCxsLnJhbmdlKSh0LnByaWNlVG9Db29yZGluYXRlKGUucHJpY2VIaWdoLGkpLHQucHJpY2VUb0Nvb3JkaW5hdGUoZS5wcmljZUxvdyxpKSl9KGUsdCxoKTtjLnB1c2goe2hlaWdodDpvLm1heC1vLm1pbix5Om8ubWluLHN1YkJhclZhbHVlczppLGRpc3BsYXllZFZhbHVlczpyLHN0eWxlSWQ6bn0pfSkpLGMuc29ydCgoKGUsdCk9PmUueS10LnkpKSx0aGlzLl9yZW5kZXJlckRhdGEuaGlzdG9ncmFtcy5wdXNoKHt4UmFuZ2U6ZCx5UmFuZ2U6KDAsbC5yYW5nZSkoY1swXS55LGNbYy5sZW5ndGgtMV0ueStjW2MubGVuZ3RoLTFdLmhlaWdodCksYmFyczpjfSl9X2hoaXN0Rmlyc3RCYXJUaW1lKGUpe3JldHVybiBlLmZpcnN0QmFyVGltZT8/dGhpcy5fYWx0ZXJuYXRlTGVmdEluZGV4KCl9fWZ1bmN0aW9uIGMoZSx0KXtsZXQgaTtpZigoMCxkLmlzSGV4Q29sb3IpKGUpKWk9MTAwLXQ7ZWxzZXtjb25zdCByPSgwLG4udHJ5UGFyc2VSZ2JhKShlKTtpPTEwMC0obnVsbCE9PXI/KDAsZC5hbHBoYVRvVHJhbnNwYXJlbmN5KShyWzNdKTp0KX1yZXR1cm5bKDAsZC5nZW5lcmF0ZUNvbG9yKShlLDEwMC1pLCEwKSwoMCxkLmdlbmVyYXRlQ29sb3IpKGUsMTAwLWkvMiwhMCksKDAsZC5nZW5lcmF0ZUNvbG9yKShlLDEwMC1pLzQsITApXX19LDk4Mjk0KGUsdCxpKXtpLmQodCx7SEhpc3RSZW5kZXJlcjooKT0+Zixmb250U2l6ZVRvU3RhcnRUZXh0SGlkaW5nOigpPT5jLHJhbmdlOigpPT5oLHN1Z2dlc3RGb250U2l6ZTooKT0+X30pO3ZhciByPWkoNzM2NTMxKSxuPWkoMTM0NjcpLG89aSgzOTQ5NjMpLGE9aSgxNTEyMSkscz1pKDc2MyksbD1pKDIzMzI0NyksZD1pKDkyNjE0OSkKO2Z1bmN0aW9uIGgoZSx0KXtyZXR1cm57bWluOk1hdGgubWluKGUsdCksbWF4Ok1hdGgubWF4KGUsdCl9fWNvbnN0IGM9Ny41LHU9KDAsbC5nZXRWb2x1bWVGb3JtYXR0ZXIpKCk7Y2xhc3MgZntjb25zdHJ1Y3RvcihlKXt0aGlzLl9kYXRhPWV9aGl0VGVzdChlLHQpe2NvbnN0IGk9dGhpcy5fZGF0YTtmb3IoY29uc3QgciBvZiBpLmhpc3RvZ3JhbXMpe2lmKHIueVJhbmdlLm1pbj49ZS55fHxlLnk+PXIueVJhbmdlLm1heCljb250aW51ZTtsZXQgbj1udWxsO2Zvcihjb25zdCBhIG9mIHIuYmFycyl7Y29uc3QgbD1pLnN0eWxlc1thLnN0eWxlSWRdO2lmKCFsLnZpc2libGUpY29udGludWU7aWYobC5sb2NhdGlvbj09PW8uSEhpc3RMb2NhdGlvbi5BYnNvbHV0ZSYmKHIueFJhbmdlLm1pbj49ZS54fHxlLng+PXIueFJhbmdlLm1heCkpY29udGludWU7bnVsbD09PW4mJihuPTAsci5iYXJzLmZvckVhY2goKGU9Pntjb25zdCB0PWUuc3ViQmFyVmFsdWVzLnJlZHVjZSgoKGUsdCk9PmUrdCkpO249TWF0aC5tYXgobix0KX0pKSk7Y29uc3QgZD1wKHIueFJhbmdlLGwsdC5tZWRpYVNpemUud2lkdGgpLHt4QmFzZVBvaW50Omgsc2lnbjpjLHhSYW5nZVdpZHRoOnV9PWQsZj1NYXRoLm1heChsLnBlcmNlbnRXaWR0aCp1LzEwMC1hLnN1YkJhclZhbHVlcy5sZW5ndGgsMCk7bGV0IGc9aDtmb3IobGV0IHQ9MDt0PGEuc3ViQmFyVmFsdWVzLmxlbmd0aDt0Kyspe2NvbnN0IGk9YS55LHI9YS55K2EuaGVpZ2h0LG89ZyxsPW8rYyooZiphLnN1YkJhclZhbHVlc1t0XS9uKTtpZihnPWwsKGUueD49byYmZS54PD1sfHxlLng+PWwmJmUueDw9bykmJmUueT49aSYmZS55PD1yKXJldHVybiBuZXcgcy5IaXRUZXN0UmVzdWx0KHMuSGl0VGFyZ2V0LlJlZ3VsYXIpfX19cmV0dXJuIG51bGx9ZHJhdyhlLHQpe2NvbnN0IGk9dGhpcy5fZGF0YSx7aG9yaXpvbnRhbFBpeGVsUmF0aW86cix2ZXJ0aWNhbFBpeGVsUmF0aW86b309dDtlLnNhdmUoKSxpLmhpc3RvZ3JhbXMuZm9yRWFjaCgoYT0+e2lmKGkuaGlzdEJveEJnQ29sb3Ipe2UuYmVnaW5QYXRoKCksZS5maWxsU3R5bGU9aS5oaXN0Qm94QmdDb2xvcjtjb25zdCB0PU1hdGgucm91bmQoYS54UmFuZ2UubWluKnIpLG49TWF0aC5yb3VuZChhLnlSYW5nZS5taW4qbykscz1NYXRoLnJvdW5kKGEueFJhbmdlLm1heCpyKS10LGw9TWF0aC5yb3VuZChhLnlSYW5nZS5tYXgqbyktbjtlLnJlY3QodCxuLHMsbCksZS5maWxsKCl9Y29uc3Qgcz1bXTtsZXQgbD0wLGQ9MDthLmJhcnMuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9ZS5zdWJCYXJWYWx1ZXMucmVkdWNlKCgoZSx0KT0+ZSt0KSk7bD1NYXRoLm1heChsLHQpLGQrPWUuaGVpZ2h0fSkpO2NvbnN0IGg9ZC9hLmJhcnMubGVuZ3RoLHU9ZnVuY3Rpb24oZSx0KXtjb25zdCBpPU1hdGguZmxvb3IoZSp0KTtyZXR1cm4gaT49MSp0P01hdGguZmxvb3IodCk6MH0oaCxyKSxmPVtdO2lmKGEuYmFycy5mb3JFYWNoKChuPT57Y29uc3QgZD1pLnN0eWxlc1tuLnN0eWxlSWRdO2lmKCFkLnZpc2libGUpcmV0dXJuO2lmKGQuc2hvd1ZhbHVlcyYmZC5hZGRUb1RvdGFsVmFsdWUpZm9yKGxldCBlPTA7ZTxuLnN1YkJhclZhbHVlcy5sZW5ndGg7ZSsrKXNbZV09KHNbZV18fDApK24uc3ViQmFyVmFsdWVzW2VdO2NvbnN0IGg9cChhLnhSYW5nZSxkLHQubWVkaWFTaXplLndpZHRoKSx7eEJhc2VQb2ludDpjLHNpZ246Xyx4UmFuZ2VXaWR0aDp3fT1oO2lmKG4ueT50Lm1lZGlhU2l6ZS5oZWlnaHR8fG4ueStuLmhlaWdodDwwKXJldHVybjtjb25zdCB2PU1hdGgubWF4KGQucGVyY2VudFdpZHRoKncvMTAwLW4uc3ViQmFyVmFsdWVzLmxlbmd0aCwwKTtsZXQgbT1jO2ZvcihsZXQgdD0wO3Q8bi5zdWJCYXJWYWx1ZXMubGVuZ3RoO3QrKyl7Y29uc3QgaT1uLnksYT1uLnkrbi5oZWlnaHQscz1tLGg9cytfKih2Km4uc3ViQmFyVmFsdWVzW3RdL2wpO2lmKE1hdGguYWJzKGgtcyk8LjUpY29udGludWU7bT1oLGUuYmVnaW5QYXRoKCksZS5maWxsU3R5bGU9ZC5jb2xvcnNbdF07Y29uc3QgYz1NYXRoLnJvdW5kKHMqciksZj1NYXRoLnJvdW5kKGkqbykscD1NYXRoLnJvdW5kKGgqciktYyxnPU1hdGgubWF4KE1hdGgucm91bmQoYSpvKS1mLXUsMSk7ZS5yZWN0KGMsZixwLGcpLGUuZmlsbCgpfWlmKCFkLnNob3dWYWx1ZXMpcmV0dXJuO2NvbnN0IHk9ZyhuLmRpc3BsYXllZFZhbHVlcyxkLmRpcmVjdGlvbiksYj14KHcsbi55LG4uaGVpZ2h0LGgsZCx5KTtmLnB1c2goYil9KSkscy5sZW5ndGg+MCl7Y29uc3QgZT1pLnN0eWxlc1thLmJhcnNbMF0uc3R5bGVJZF0scj1wKGEueFJhbmdlLGUsdC5tZWRpYVNpemUud2lkdGgpLG89ZyhzLGUuZGlyZWN0aW9uKSxsPWEuYmFyc1thLmJhcnMubGVuZ3RoLTFdLGQ9eChyLnhSYW5nZVdpZHRoLGwueStsLmhlaWdodCxoLHIsZSxvKTtkLmNvbG9yPSgwLG4uc2hpZnRDb2xvcikoZC5jb2xvciwxLjUpLGYucHVzaChkKX1jb25zdCBfPU1hdGgubWluKC4uLmYubWFwKChlPT5lLmZvbnRTaXplKSkpO2lmKF8+PWMpZm9yKGNvbnN0IGkgb2YgZilpLmZvbnRTaXplPV8sdyhlLHQsaSl9KSksZS5yZXN0b3JlKCl9fWZ1bmN0aW9uIHAoZSx0LGkpe2NvbnN0IHI9dC5sb2NhdGlvbj09PW8uSEhpc3RMb2NhdGlvbi5BYnNvbHV0ZSxuPXQubG9jYXRpb249PT1vLkhIaXN0TG9jYXRpb24uUmVsYXRpdmUsYT10LmRpcmVjdGlvbj09PW8uSEhpc3REaXJlY3Rpb24uTGVmdFRvUmlnaHQscz10LmRpcmVjdGlvbj09PW8uSEhpc3REaXJlY3Rpb24uUmlnaHRUb0xlZnQ7bGV0IGwsZDtpZihyJiZhKWw9ZS5taW4sZD0xO2Vsc2UgaWYociYmcylsPWUubWF4LGQ9LTE7ZWxzZSBpZihuJiZhKWw9MCxkPTE7ZWxzZXtpZighbnx8IXMpdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGxvY2F0aW9uL2RpcmVjdGlvbiB2YWx1ZXM6ICR7dC5sb2NhdGlvbn0vJHt0LmRpcmVjdGlvbn1gKTtsPWksZD0tMX12YXIgaDtyZXR1cm57eEJhc2VQb2ludDpsLHNpZ246ZCx4UmFuZ2VXaWR0aDpuP2k6KGg9ZSkubWF4LWgubWlufX1mdW5jdGlvbiBnKGUsdCl7cmV0dXJuIHQ9PT1vLkhIaXN0RGlyZWN0aW9uLlJpZ2h0VG9MZWZ0JiYoZT1lLnNsaWNlKCkpLnJldmVyc2UoKSwKZS5tYXAoKGU9PnUuZm9ybWF0KGUpKSkuam9pbigieCIpfWZ1bmN0aW9uIF8oZSx0LGkpe3JldHVybntmb250U2l6ZTpNYXRoLm1pbihNYXRoLnJvdW5kKDEuNyplL2kubGVuZ3RoKSxNYXRoLnJvdW5kKC42KnQpKSx2ZXJ0aWNhbE9mZnNldDouNyp0fX1mdW5jdGlvbiB4KGUsdCxpLG4sYSxzKXtjb25zdHtmb250U2l6ZTpsLHZlcnRpY2FsT2Zmc2V0OmR9PV8oZSxpLHMpLGg9YS5kaXJlY3Rpb249PT1vLkhIaXN0RGlyZWN0aW9uLkxlZnRUb1JpZ2h0PyJsZWZ0IjoicmlnaHQiLHt4QmFzZVBvaW50OmMsc2lnbjp1fT1uLGY9YyszKnUscD10K2Q7cmV0dXJue3RleHQ6cyxjb2xvcjphLnZhbHVlc0NvbG9yLGZvbnRTaXplOmwsYWxpZ246aCxwb2ludDpuZXcgci5Qb2ludChmLHApfX1mdW5jdGlvbiB3KGUsdCxpKXtjb25zdHt0ZXh0OnIsY29sb3I6bixmb250U2l6ZTpvLGFsaWduOnMscG9pbnQ6bH09aTtlLmZvbnQ9YCR7b31weCAke2QuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKX1gLGUuZmlsbFN0eWxlPW4sZS50ZXh0QWxpZ249cywoMCxhLmRyYXdTY2FsZWQpKGUsdC5ob3Jpem9udGFsUGl4ZWxSYXRpbyx0LnZlcnRpY2FsUGl4ZWxSYXRpbywoKCk9PmUuZmlsbFRleHQocixsLngsbC55KSkpfX0sNjc3OTA5KGUsdCxpKXtpLnIodCksaS5kKHQse0hvcml6TGluZVBhbmVWaWV3OigpPT5zfSk7dmFyIHI9aSgxMzg2MzgpLG49aSg3NjMpLG89aSg3ODkxOTApLGE9aSg2NTA0ODApO2NsYXNzIHN7Y29uc3RydWN0b3IoZSx0LGkscj0hMSxvPSgpPT5udWxsKXt0aGlzLl9kYXRhPVtdLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX3Byb3ZpZGVyPWUsdGhpcy5fbW9kZWw9dCx0aGlzLl9leHRlbmRUb0JhcnNFbmRpbmdzPXIsdGhpcy5fYWx0ZXJuYXRlU3RhcnRJbmRleD1vLHRoaXMuX2hpdFRlc3RSZXN1bHQ9dm9pZCAwIT09aT9uZXcgbi5IaXRUZXN0UmVzdWx0KG4uSGl0VGFyZ2V0LkN1c3RvbSxpKTpuZXcgbi5IaXRUZXN0UmVzdWx0KG4uSGl0VGFyZ2V0LlJlZ3VsYXIpfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpe3RoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlVmlld0ludGVybmFsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9bmV3IG8uQ29tcG9zaXRlUmVuZGVyZXI7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZGF0YSl7Y29uc3QgaT1uZXcgYS5Ib3Jpem9udGFsTGluZVJlbmRlcmVyO2kuc2V0RGF0YSh0KSxpLnNldEhpdFRlc3QodGhpcy5faGl0VGVzdFJlc3VsdCksZS5hcHBlbmQoaSl9cmV0dXJuIGV9X3VwZGF0ZVZpZXdJbnRlcm5hbCgpe3RoaXMuX2RhdGE9W107Y29uc3QgZT10aGlzLl9wcm92aWRlci5wcmljZVNjYWxlKCksdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtpZighZXx8ZS5pc0VtcHR5KCl8fHQuaXNFbXB0eSgpKXJldHVybjtjb25zdCBpPXRoaXMuX3Byb3ZpZGVyLmdyYXBoaWNzKCkuaG9yaXpsaW5lcygpO2lmKDA9PT1pLnNpemUpcmV0dXJuO2NvbnN0IG49dC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PW4pcmV0dXJuO2NvbnN0IG89dGhpcy5fcHJvdmlkZXIuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1vKXJldHVybjtjb25zdCBhPW4uZmlyc3RCYXIoKSxzPW4ubGFzdEJhcigpLGw9KDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkuaG9yaXpsaW5lcyk7aS5mb3JFYWNoKCgoaSxuKT0+e2NvbnN0IGQ9KDAsci5lbnN1cmVEZWZpbmVkKShsLmNoaWxkcygpW25dKS5jaGlsZHMoKTtkLnZpc2libGUudmFsdWUoKSYmaS5mb3JFYWNoKChpPT57Y29uc3Qgbj1pLnN0YXJ0SW5kZXg/P3RoaXMuX2FsdGVybmF0ZVN0YXJ0SW5kZXgoKSxsPWkuZW5kSW5kZXg7aWYobnVsbD09PW4pcmV0dXJuO2lmKCFpLmV4dGVuZFJpZ2h0JiZNYXRoLm1heChuLGwpPGF8fCFpLmV4dGVuZExlZnQmJk1hdGgubWluKG4sbCk+cylyZXR1cm47bGV0IGgsYztpZighaS5leHRlbmRMZWZ0KXtjb25zdCBlPXQuYmFyQm9yZGVycyhuKTtoPXRoaXMuX2V4dGVuZFRvQmFyc0VuZGluZ3M/ZS5sZWZ0OmUuY2VudGVyfWlmKCFpLmV4dGVuZFJpZ2h0KXtjb25zdCBlPXQuYmFyQm9yZGVycyhsKTtjPXRoaXMuX2V4dGVuZFRvQmFyc0VuZGluZ3M/ZS5yaWdodDplLmNlbnRlcn10aGlzLl9kYXRhLnB1c2goe3k6ZS5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKGkubGV2ZWwpLG8pLGxlZnQ6aCxyaWdodDpjLGNvbG9yOmQuY29sb3IudmFsdWUoKSxsaW5ld2lkdGg6ZC53aWR0aC52YWx1ZSgpLGxpbmVzdHlsZTpkLnN0eWxlLnZhbHVlKCl9KX0pKX0pKX19fSwxODE0MzAoZSx0LGkpe2kucih0KSxpLmQodCx7TGV2ZWxQYW5lVmlldzooKT0+Y30pO3ZhciByLG49aSgxMzg2MzgpLG89aSg3MzY1MzEpOyFmdW5jdGlvbihlKXtlW2UuVG9wTGVmdD0wXT0iVG9wTGVmdCIsZVtlLlRvcENlbnRlcj0xXT0iVG9wQ2VudGVyIixlW2UuVG9wUmlnaHQ9Ml09IlRvcFJpZ2h0IixlW2UuTWlkZGxlTGVmdD0zXT0iTWlkZGxlTGVmdCIsZVtlLk1pZGRsZUNlbnRlcj00XT0iTWlkZGxlQ2VudGVyIixlW2UuTWlkZGxlUmlnaHQ9NV09Ik1pZGRsZVJpZ2h0IixlW2UuQm90dG9tTGVmdD02XT0iQm90dG9tTGVmdCIsZVtlLkJvdHRvbUNlbnRlcj03XT0iQm90dG9tQ2VudGVyIixlW2UuQm90dG9tUmlnaHQ9OF09IkJvdHRvbVJpZ2h0In0ocnx8KHI9e30pKTt2YXIgYT1pKDg4NDI4KSxzPWkoNzg5MTkwKSxsPWkoNjUwNDgwKSxkPWkoNDcwOTg2KSxoPWkoOTI2MTQ5KTtjbGFzcyBje2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fbGluZVJlbmRlcmVycz1bXSx0aGlzLl90ZXh0UmVuZGVyZXJzPVtdLHRoaXMuX3JlbmRlcmVyPW5ldyBzLkNvbXBvc2l0ZVJlbmRlcmVyLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX3Byb3ZpZGVyPWUsdGhpcy5fbW9kZWw9dH11cGRhdGUoZSl7ImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9pbnZhbGlkYXRlZD0hMCl9cmVuZGVyZXIoKXsKcmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlVmlld0ludGVybmFsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX3JlbmRlcmVyfV91cGRhdGVWaWV3SW50ZXJuYWwoKXt0aGlzLl9yZW5kZXJlci5jbGVhcigpO2NvbnN0IGU9dGhpcy5fcHJvdmlkZXIucHJpY2VTY2FsZSgpLHQ9dGhpcy5fbW9kZWwudGltZVNjYWxlKCk7aWYoIWV8fGUuaXNFbXB0eSgpfHx0LmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgaT10aGlzLl9wcm92aWRlci5ncmFwaGljcygpLmhsaW5lcygpO2lmKDA9PT1pLnNpemUpcmV0dXJuO2NvbnN0IHM9dGhpcy5fcHJvdmlkZXIuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1zKXJldHVybjtjb25zdCBjPXRoaXMuX3Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcyx1PSgwLG4uZW5zdXJlRGVmaW5lZCkoYy5jaGlsZHMoKS5obGluZXMpLGY9KDAsbi5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcm92aWRlci5ncmFwaGljc0luZm8oKS5obGluZXMpO2xldCBwPTAsZz0wO2ZvcihpLmZvckVhY2goKChpLGMpPT57Y29uc3QgXz0oMCxuLmVuc3VyZURlZmluZWQpKHUuY2hpbGRzKClbY10pLmNoaWxkcygpLHg9KDAsbi5lbnN1cmVEZWZpbmVkKShmW2NdKS5lbmFibGVUZXh0JiYoMCxuLmVuc3VyZURlZmluZWQpKF8uc2hvd1RleHQpLnZhbHVlKCksdz1fLnZpc2libGUudmFsdWUoKTsoeHx8dykmJmkuZm9yRWFjaCgoaT0+e2NvbnN0IGM9ZS5wcmljZVRvQ29vcmRpbmF0ZSgoMCxuLmVuc3VyZURlZmluZWQpKGkubGV2ZWwpLHMpO2lmKHgpe2NvbnN0IGU9KDAsbi5lbnN1cmVEZWZpbmVkKShfLnRleHRQb3MpLnZhbHVlKCksW3MsbF09ZnVuY3Rpb24oZSx0KXtpZihlPT09ci5Ub3BMZWZ0fHxlPT09ci5NaWRkbGVMZWZ0fHxlPT09ci5Cb3R0b21MZWZ0KXJldHVyblthLkhvcml6b250YWxBbGlnbi5MZWZ0LDRdO2lmKGU9PT1yLlRvcENlbnRlcnx8ZT09PXIuTWlkZGxlQ2VudGVyfHxlPT09ci5Cb3R0b21DZW50ZXIpcmV0dXJuW2EuSG9yaXpvbnRhbEFsaWduLkNlbnRlcix0LzJdO2lmKGU9PT1yLlRvcFJpZ2h0fHxlPT09ci5NaWRkbGVSaWdodHx8ZT09PXIuQm90dG9tUmlnaHQpcmV0dXJuW2EuSG9yaXpvbnRhbEFsaWduLlJpZ2h0LHRdO3Rocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgVGV4dFBvcyB2YWx1ZSIpfShlLHQud2lkdGgoKSksW3UsZl09ZnVuY3Rpb24oZSx0KXtpZihlPT09ci5Ub3BMZWZ0fHxlPT09ci5Ub3BDZW50ZXJ8fGU9PT1yLlRvcFJpZ2h0KXJldHVyblthLlZlcnRpY2FsQWxpZ24uQm90dG9tLHQtNF07aWYoZT09PXIuTWlkZGxlTGVmdHx8ZT09PXIuTWlkZGxlQ2VudGVyfHxlPT09ci5NaWRkbGVSaWdodClyZXR1cm5bYS5WZXJ0aWNhbEFsaWduLk1pZGRsZSx0LTJdO2lmKGU9PT1yLkJvdHRvbUxlZnR8fGU9PT1yLkJvdHRvbUNlbnRlcnx8ZT09PXIuQm90dG9tUmlnaHQpcmV0dXJuW2EuVmVydGljYWxBbGlnbi5Ub3AsdF07dGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBUZXh0UG9zIHZhbHVlIil9KGUsYyksZz17cG9pbnRzOltuZXcgby5Qb2ludChsLGYpXSxvZmZzZXRYOjAsb2Zmc2V0WTowLHRleHQ6aS50ZXh0fHwiIixjb2xvcjpfLmNvbG9yLnZhbHVlKCksZm9udDpoLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCksZm9udHNpemU6KDAsbi5lbnN1cmVEZWZpbmVkKShfLmZvbnRTaXplKS52YWx1ZSgpLGhvcnpBbGlnbjpzLHZlcnRBbGlnbjp1fTtsZXQgeDt2b2lkIDA9PT10aGlzLl90ZXh0UmVuZGVyZXJzW3BdPyh4PW5ldyBkLlRleHRSZW5kZXJlcix0aGlzLl90ZXh0UmVuZGVyZXJzW3BdPXgpOng9dGhpcy5fdGV4dFJlbmRlcmVyc1twXSx4LnNldERhdGEoZykscCsrfWlmKHcpe2NvbnN0IGU9e3Zpc2libGU6ITAseTpjLGNvbG9yOl8uY29sb3IudmFsdWUoKSxsaW5ld2lkdGg6Xy53aWR0aC52YWx1ZSgpLGxpbmVzdHlsZTpfLnN0eWxlLnZhbHVlKCl9O2xldCB0O3ZvaWQgMD09PXRoaXMuX2xpbmVSZW5kZXJlcnNbZ10/KHQ9bmV3IGwuSG9yaXpvbnRhbExpbmVSZW5kZXJlcix0aGlzLl9saW5lUmVuZGVyZXJzW2ddPXQpOnQ9dGhpcy5fbGluZVJlbmRlcmVyc1tnXSx0LnNldERhdGEoZSksZysrfX0pKX0pKTt0aGlzLl90ZXh0UmVuZGVyZXJzLmxlbmd0aD5wOyl0aGlzLl90ZXh0UmVuZGVyZXJzLnBvcCgpO2Zvcig7dGhpcy5fbGluZVJlbmRlcmVycy5sZW5ndGg+ZzspdGhpcy5fbGluZVJlbmRlcmVycy5wb3AoKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9saW5lUmVuZGVyZXJzKXRoaXMuX3JlbmRlcmVyLmFwcGVuZChlKTtmb3IoY29uc3QgZSBvZiB0aGlzLl90ZXh0UmVuZGVyZXJzKXRoaXMuX3JlbmRlcmVyLmFwcGVuZChlKX19fSw1Njg5NjMoZSx0LGkpe2kucih0KSxpLmQodCx7TGluZVBhbmVWaWV3OigpPT5kfSk7dmFyIHI9aSgxMzg2MzgpLG49aSg3MzY1MzEpLG89aSg3NjMpLGE9aSg3ODkxOTApLHM9aSg2NjAxNjEpLGw9aSg2NjQ4MTUpO2NsYXNzIGR7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX2RhdGE9W10sdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fcHJvdmlkZXI9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX2hpdFRlc3RSZXN1bHQ9dm9pZCAwIT09aT9uZXcgby5IaXRUZXN0UmVzdWx0KG8uSGl0VGFyZ2V0LkN1c3RvbSxpKTpuZXcgby5IaXRUZXN0UmVzdWx0KG8uSGl0VGFyZ2V0LlJlZ3VsYXIpfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpe3RoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlVmlld0ludGVybmFsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9bmV3IGEuQ29tcG9zaXRlUmVuZGVyZXI7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZGF0YSl7Y29uc3QgaT1uZXcgbC5UcmVuZExpbmVSZW5kZXJlcjtpLnNldERhdGEodCksaS5zZXRIaXRUZXN0KHRoaXMuX2hpdFRlc3RSZXN1bHQpLGUuYXBwZW5kKGkpfXJldHVybiBlfV91cGRhdGVWaWV3SW50ZXJuYWwoKXt0aGlzLl9kYXRhPVtdO2NvbnN0IGU9dGhpcy5fcHJvdmlkZXIucHJpY2VTY2FsZSgpLHQ9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkKO2lmKCFlfHxlLmlzRW1wdHkoKXx8dC5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5fcHJvdmlkZXIuZ3JhcGhpY3MoKS5saW5lcygpO2lmKDA9PT1pLnNpemUpcmV0dXJuO2NvbnN0IG89dC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PW8pcmV0dXJuO2NvbnN0IGE9dGhpcy5fcHJvdmlkZXIuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1hKXJldHVybjtjb25zdCBsPW8uZmlyc3RCYXIoKSxkPW8ubGFzdEJhcigpLGg9KDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcm92aWRlci5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkubGluZXMpO2kuZm9yRWFjaCgoKGksbyk9Pntjb25zdCBjPSgwLHIuZW5zdXJlRGVmaW5lZCkoaC5jaGlsZHMoKVtvXSkuY2hpbGRzKCk7Yy52aXNpYmxlLnZhbHVlKCkmJmkuZm9yRWFjaCgoaT0+e2NvbnN0IG89aS5zdGFydEluZGV4KyhpLnN0YXJ0T2Zmc2V0fHwwKSxoPWkuZW5kSW5kZXgrKGkuZW5kT2Zmc2V0fHwwKTtpZihNYXRoLm1heChvLGgpPGx8fE1hdGgubWluKG8saCk+ZClyZXR1cm47Y29uc3QgdT10LmluZGV4VG9Db29yZGluYXRlKG8pLGY9dC5pbmRleFRvQ29vcmRpbmF0ZShoKSxwPWUucHJpY2VUb0Nvb3JkaW5hdGUoKDAsci5lbnN1cmVEZWZpbmVkKShpLnN0YXJ0UHJpY2UpLGEpLGc9ZS5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKGkuZW5kUHJpY2UpLGEpLF89bmV3IG4uUG9pbnQodSxwKSx4PW5ldyBuLlBvaW50KGYsZyk7dGhpcy5fZGF0YS5wdXNoKHtwb2ludHM6W18seF0sZXh0ZW5kbGVmdDohMSxleHRlbmRyaWdodDohMSxsZWZ0ZW5kOnMuTGluZUVuZC5Ob3JtYWwscmlnaHRlbmQ6cy5MaW5lRW5kLk5vcm1hbCxjb2xvcjpjLmNvbG9yLnZhbHVlKCksbGluZXdpZHRoOmMud2lkdGgudmFsdWUoKSxsaW5lc3R5bGU6Yy5zdHlsZS52YWx1ZSgpfSl9KSl9KSl9fX0sNDkzNjgxKGUsdCxpKXtpLnIodCksaS5kKHQse1BvbHlnb25QYW5lVmlldzooKT0+ZH0pO3ZhciByPWkoMTM4NjM4KSxuPWkoNzM2NTMxKSxvPWkoNzYzKSxhPWkoNzg5MTkwKSxzPWkoMjYwNjkpLGw9aSg4ODA3NjEpO2NsYXNzIGR7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX2RhdGE9W10sdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fcHJvdmlkZXI9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX2hpdFRlc3RSZXN1bHQ9dm9pZCAwIT09aT9uZXcgby5IaXRUZXN0UmVzdWx0KG8uSGl0VGFyZ2V0LkN1c3RvbSxpKTpuZXcgby5IaXRUZXN0UmVzdWx0KG8uSGl0VGFyZ2V0LlJlZ3VsYXIpfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpe3RoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlVmlld0ludGVybmFsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9bmV3IGEuQ29tcG9zaXRlUmVuZGVyZXI7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZGF0YSl7Y29uc3QgaT1uZXcgbC5Qb2x5Z29uUmVuZGVyZXIodGhpcy5faGl0VGVzdFJlc3VsdCk7aS5zZXREYXRhKHQpLGUuYXBwZW5kKGkpfXJldHVybiBlfV91cGRhdGVWaWV3SW50ZXJuYWwoKXt0aGlzLl9kYXRhPVtdO2NvbnN0IGU9dGhpcy5fcHJvdmlkZXIucHJpY2VTY2FsZSgpLHQ9dGhpcy5fbW9kZWwudGltZVNjYWxlKCk7aWYoIWV8fGUuaXNFbXB0eSgpfHx0LmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgaT10aGlzLl9wcm92aWRlci5ncmFwaGljcygpLnBvbHlnb25zKCk7aWYoMD09PWkuc2l6ZSlyZXR1cm47Y29uc3Qgbz10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09bylyZXR1cm47Y29uc3QgYT10aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCk7aWYobnVsbD09PWEpcmV0dXJuO2NvbnN0IGw9by5maXJzdEJhcigpLGQ9by5sYXN0QmFyKCksaD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS5wb2x5Z29ucyksYz0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLmdyYXBoaWNzSW5mbygpLnBvbHlnb25zKTtpLmZvckVhY2goKChpLG8pPT57Y29uc3QgdT0oMCxyLmVuc3VyZURlZmluZWQpKGguY2hpbGRzKClbb10pLmNoaWxkcygpLGY9KDAsci5lbnN1cmVEZWZpbmVkKShjW29dKTsxMDAhPT11LnRyYW5zcGFyZW5jeS52YWx1ZSgpJiZpLmZvckVhY2goKGk9PntsZXQgbz0xLzAsaD0tMS8wO2Zvcihjb25zdCBlIG9mIGkucG9pbnRzKXtjb25zdCB0PWUuaW5kZXgrKGUub2Zmc2V0fHwwKTtvPU1hdGgubWluKG8sdCksaD1NYXRoLm1heChoLHQpfWlmKGg8bHx8ZDxvKXJldHVybjtjb25zdCBjPWkucG9pbnRzLm1hcCgoaT0+e2NvbnN0IG89dC5pbmRleFRvQ29vcmRpbmF0ZShpLmluZGV4KyhpLm9mZnNldHx8MCkpLHM9ZS5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKGkubGV2ZWwpLGEpO3JldHVybiBuZXcgbi5Qb2ludChvLHMpfSkpO3RoaXMuX2RhdGEucHVzaCh7cG9pbnRzOmMsY29sb3I6dS5jb2xvci52YWx1ZSgpLGJhY2tjb2xvcjp1LmNvbG9yLnZhbHVlKCksbGluZXdpZHRoOmYuc2hvd0JvcmRlcj8xOjAsbGluZXN0eWxlOnMuTElORVNUWUxFX1NPTElELGZpbGxlZDohMCxmaWxsQmFja2dyb3VuZDohMCx0cmFuc3BhcmVuY3k6dS50cmFuc3BhcmVuY3kudmFsdWUoKSxkaXNhYmxlSW50ZXJhY3Rpb25zOiFmLm1vdXNlVG91Y2hhYmxlfSl9KSl9KSl9fX0sNjkwMTgzKGUsdCxpKXtpLnIodCksaS5kKHQse1NoYXBlTWFya1BhbmVWaWV3OigpPT54fSk7dmFyIHI9aSgxMzg2MzgpLG49aSg3MzY1MzEpLG89aSg2ODc1OTApLGE9aSg5NjA0NjQpLHM9aSg3ODkxOTApLGw9aSg3NjgzMDUpLGQ9aSg3NjMpLGg9aSgxNTEyMSk7Y2xhc3MgY3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9kYXRhPWV9ZHJhdyhlLHQpe2NvbnN0IGk9ImRvd24iPT09dGhpcy5fZGF0YS5kaXJlY3Rpb24/MToidXAiPT09dGhpcy5fZGF0YS5kaXJlY3Rpb24/LTE6MCxyPXRoaXMuX2RhdGEucG9pbnQueCxuPXRoaXMuX2RhdGEucG9pbnQueTsoMCwKaC5kcmF3U2NhbGVkKShlLHQuaG9yaXpvbnRhbFBpeGVsUmF0aW8sdC52ZXJ0aWNhbFBpeGVsUmF0aW8sKCgpPT57ZS5maWxsU3R5bGU9dGhpcy5fZGF0YS5jb2xvcixlLmJlZ2luUGF0aCgpLGUuYXJjKHIrMSxuKzIqdGhpcy5fZGF0YS5zaXplKmksdGhpcy5fZGF0YS5zaXplLDAsMipNYXRoLlBJKSxlLmNsb3NlUGF0aCgpLGUuZmlsbCgpLGUuc3Ryb2tlKCl9KSl9aGl0VGVzdChlKXtjb25zdCB0PSJkb3duIj09PXRoaXMuX2RhdGEuZGlyZWN0aW9uPzE6InVwIj09PXRoaXMuX2RhdGEuZGlyZWN0aW9uPy0xOjAsaT1uZXcgbi5Qb2ludCh0aGlzLl9kYXRhLnBvaW50LngrLjUsdGhpcy5fZGF0YS5wb2ludC55Ky41KzIqdGhpcy5fZGF0YS5zaXplKnQpO3JldHVybigwLGwucG9pbnRJbkNpcmNsZSkoZSxpLHRoaXMuX2RhdGEuc2l6ZSk/bmV3IGQuSGl0VGVzdFJlc3VsdChkLkhpdFRhcmdldC5SZWd1bGFyKTpudWxsfX1jbGFzcyB1e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2RhdGE9ZX1kcmF3KGUsdCl7Y29uc3QgaT0iZG93biI9PT10aGlzLl9kYXRhLmRpcmVjdGlvbj8xOiJ1cCI9PT10aGlzLl9kYXRhLmRpcmVjdGlvbj8tMTowLHI9dGhpcy5fZGF0YS5zaXplLG89bmV3IG4uUG9pbnQodGhpcy5fZGF0YS5wb2ludC54LXIvMix0aGlzLl9kYXRhLnBvaW50Lnktci8yK2kqciksYT1uZXcgbi5Qb2ludCh0aGlzLl9kYXRhLnBvaW50Lngrci8yLHRoaXMuX2RhdGEucG9pbnQueStyLzIraSpyKS5zdWJ0cmFjdChvKSx7aG9yaXpvbnRhbFBpeGVsUmF0aW86cyx2ZXJ0aWNhbFBpeGVsUmF0aW86bH09dCxkPU1hdGgubWF4KDEsTWF0aC5mbG9vcihzKSksaD1kLzIsYz1kJTI/LjU6MCx1PU1hdGgucm91bmQoby54KnMpK2MsZj1NYXRoLnJvdW5kKChvLngrYS54KSpzKStjLHA9TWF0aC5yb3VuZChvLnkqbCkrYyxnPU1hdGgucm91bmQoKG8ueSthLnkpKmwpK2M7ZS5iZWdpblBhdGgoKSxlLmZpbGxTdHlsZT10aGlzLl9kYXRhLmNvbG9yLGUucmVjdCh1K2gscCtoLGYtdS1kLGctcC1kKSxlLmZpbGwoKSxlLmxpbmVXaWR0aD1kLGUuYmVnaW5QYXRoKCksZS5yZWN0KHUscCxmLXUsZy1wKSxlLnN0cm9rZSgpfWhpdFRlc3QoZSl7Y29uc3QgdD0iZG93biI9PT10aGlzLl9kYXRhLmRpcmVjdGlvbj8xOiJ1cCI9PT10aGlzLl9kYXRhLmRpcmVjdGlvbj8tMTowLGk9dGhpcy5fZGF0YS5zaXplLHI9bmV3IG4uUG9pbnQodGhpcy5fZGF0YS5wb2ludC54LWkvMix0aGlzLl9kYXRhLnBvaW50LnktaS8yK3QqaSksbz1uZXcgbi5Qb2ludCh0aGlzLl9kYXRhLnBvaW50LngraS8yLHRoaXMuX2RhdGEucG9pbnQueStpLzIrdCppKTtyZXR1cm4oMCxsLnBvaW50SW5Cb3gpKGUsKDAsbi5ib3gpKHIsbykpP25ldyBkLkhpdFRlc3RSZXN1bHQoZC5IaXRUYXJnZXQuUmVndWxhcik6bnVsbH19Y2xhc3MgZntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2RhdGE9ZSx0aGlzLl9hcnJvd0RpcmVjdGlvbj10fWRyYXcoZSx0KXtjb25zdCBpPXRoaXMuX2Fycm93RGlyZWN0aW9uLHI9dGhpcy5fZGF0YS5zaXplLG49dGhpcy5fZGF0YS5jb2xvcixvPXRoaXMuX2RhdGEucG9pbnQueCsxO2xldCBhPXRoaXMuX2RhdGEucG9pbnQueTtjb25zdCBzPTEuMSpyO3N3aXRjaChpKXtjYXNlInVwIjphLT1zO2JyZWFrO2Nhc2UiZG93biI6YSs9c31jb25zdCBsPXIvNixkPXIvNCxjPXIvMyx1PXIvMixmPS42NjY2NjY2KnI7KDAsaC5kcmF3U2NhbGVkKShlLHQuaG9yaXpvbnRhbFBpeGVsUmF0aW8sdC52ZXJ0aWNhbFBpeGVsUmF0aW8sKCgpPT57c3dpdGNoKGUuZmlsbFN0eWxlPW4sZS5iZWdpblBhdGgoKSxpKXtjYXNlInVwIjplLm1vdmVUbyhvLGEpLGUubGluZVRvKG8tdSxhK2YpLGUubGluZVRvKG8tZCxhK2YpLGUubGluZVRvKG8sYStjKSxlLmxpbmVUbyhvK2QsYStmKSxlLmxpbmVUbyhvK3UsYStmKSxlLmxpbmVUbyhvLGEpO2JyZWFrO2Nhc2UiZG93biI6ZS5tb3ZlVG8obyxhK3IpLGUubGluZVRvKG8tdSxhK2MpLGUubGluZVRvKG8tZCxhK2MpLGUubGluZVRvKG8sYStmKSxlLmxpbmVUbyhvK2QsYStjKSxlLmxpbmVUbyhvK3UsYStjKSxlLmxpbmVUbyhvLGErcik7YnJlYWs7Y2FzZSJyaWdodCI6ZS5tb3ZlVG8obytsLGEpLGUubGluZVRvKG8tbCxhLWQpLGUubGluZVRvKG8tbCxhK2QpLGUubGluZVRvKG8rbCxhKTticmVhaztjYXNlImxlZnQiOmUubW92ZVRvKG8tbCxhKSxlLmxpbmVUbyhvK2wsYS1kKSxlLmxpbmVUbyhvK2wsYStkKSxlLmxpbmVUbyhvLWwsYSl9ZS5jbG9zZVBhdGgoKSxlLmZpbGwoKSxlLnN0cm9rZSgpfSkpfWhpdFRlc3QoZSl7Y29uc3RbdCxpLHJdPXRoaXMuX2hpdFRyaWFuZ2xlKCk7cmV0dXJuKDAsbC5wb2ludEluVHJpYW5nbGUpKGUsdCxpLHIpP25ldyBkLkhpdFRlc3RSZXN1bHQoZC5IaXRUYXJnZXQuUmVndWxhcik6bnVsbH1faGl0VHJpYW5nbGUoKXtjb25zdCBlPXRoaXMuX2RhdGEucG9pbnQueDtsZXQgdD10aGlzLl9kYXRhLnBvaW50Lnk7Y29uc3QgaT10aGlzLl9hcnJvd0RpcmVjdGlvbixyPXRoaXMuX2RhdGEuc2l6ZSxvPTEuMSpyO3N3aXRjaChpKXtjYXNlInVwIjp0LT1vO2JyZWFrO2Nhc2UiZG93biI6dCs9b31jb25zdCBhPXIvNixzPXIvNCxsPXIvMyxkPXIvMixoPS42NjY2NjY2KnI7c3dpdGNoKGkpe2Nhc2UidXAiOnJldHVybltuZXcgbi5Qb2ludChlLHQpLG5ldyBuLlBvaW50KGUrZCx0K2gpLG5ldyBuLlBvaW50KGUtZCx0K2gpXTtjYXNlImRvd24iOnJldHVybltuZXcgbi5Qb2ludChlLHQrciksbmV3IG4uUG9pbnQoZStkLHQrbCksbmV3IG4uUG9pbnQoZS1kLHQrbCldO2Nhc2UicmlnaHQiOnJldHVybltuZXcgbi5Qb2ludChlK2EsdCksbmV3IG4uUG9pbnQoZS1hLHQtcyksbmV3IG4uUG9pbnQoZS1hLHQrcyldO2Nhc2UibGVmdCI6cmV0dXJuW25ldyBuLlBvaW50KGUtYSx0KSxuZXcgbi5Qb2ludChlK2EsdC1zKSxuZXcgbi5Qb2ludChlK2EsdCtzKV19fX12YXIgcD1pKDE1OTcxMCksZz1pKDg3MzU3Myk7Y29uc3QgXz0oMCxpKDIyMTA2MSkuZ2V0TG9nZ2VyKSgiQ2hhcnQuU2hhcGVNYXJrUGFuZVZpZXciKTtjbGFzcyB4IGV4dGVuZHMgcC5Mb2NhdGlvblRvWU1peGlue2NvbnN0cnVjdG9yKGUsdCxpKXsKc3VwZXIoKSx0aGlzLl9kYXRhPVtdLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX3Byb3ZpZGVyPWUsdGhpcy5fbW9kZWw9dCx0aGlzLl9kYXRhPVtdfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpe3RoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlVmlld0ludGVybmFsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9bmV3IHMuQ29tcG9zaXRlUmVuZGVyZXI7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZGF0YSlzd2l0Y2godC5zaGFwZSl7Y2FzZSJjaXJjbGUiOmUuYXBwZW5kKG5ldyBjKHQpKTticmVhaztjYXNlInNxdWFyZSI6ZS5hcHBlbmQobmV3IHUodCkpO2JyZWFrO2Nhc2UiYXJyb3dVcCI6ZS5hcHBlbmQobmV3IGYodCwidXAiKSk7YnJlYWs7Y2FzZSJhcnJvd0Rvd24iOmUuYXBwZW5kKG5ldyBmKHQsImRvd24iKSk7YnJlYWs7Y2FzZSJhcnJvd1JpZ2h0IjplLmFwcGVuZChuZXcgZih0LCJyaWdodCIpKTticmVhaztjYXNlImFycm93TGVmdCI6ZS5hcHBlbmQobmV3IGYodCwibGVmdCIpKX1yZXR1cm4gZX1fdXBkYXRlVmlld0ludGVybmFsKCl7dGhpcy5fZGF0YT1bXTtjb25zdCBlPXRoaXMuX3Byb3ZpZGVyLnByaWNlU2NhbGUoKSx0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpO2lmKCFlfHxlLmlzRW1wdHkoKXx8dC5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5fcHJvdmlkZXIuZ3JhcGhpY3MoKS5zaGFwZW1hcmtzKCk7aWYoMD09PWkuc2l6ZSlyZXR1cm47Y29uc3QgYT10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09YSlyZXR1cm47Y29uc3Qgcz10aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCk7aWYobnVsbD09PXMpcmV0dXJuO2NvbnN0IGw9YS5maXJzdEJhcigpLGQ9YS5sYXN0QmFyKCksaD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS5zaGFwZW1hcmtzKSxjPSgwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvdmlkZXIuZ3JhcGhpY3NJbmZvKCkuc2hhcGVtYXJrcyk7aS5mb3JFYWNoKCgoaSxhKT0+e2NvbnN0IHU9KDAsci5lbnN1cmVEZWZpbmVkKShoLmNoaWxkcygpW2FdKS5jaGlsZHMoKSxmPSgwLHIuZW5zdXJlRGVmaW5lZCkoY1thXSk7dS52aXNpYmxlLnZhbHVlKCkmJmkuZm9yRWFjaCgoaT0+e2NvbnN0IHI9aS50aW1lO2lmKHI8bHx8ZDxyKXJldHVybjtpZihudWxsPT09dGhpcy5fcHJvdmlkZXIuc2VyaWVzKCkuYmFycygpLnZhbHVlQXQocikpcmV0dXJuO2NvbnN0IGE9Zi5sb2NhdGlvbixoPWYuc2hhcGUsYz11LnNpemUudmFsdWUoKSxwPSgwLGcuZ2VuZXJhdGVDb2xvcikodS5jb2xvci52YWx1ZSgpLHUudHJhbnNwYXJlbmN5LnZhbHVlKCkpLHtjZW50ZXI6XyxsZWZ0OngscmlnaHQ6dyx5OnYsZGlyZWN0aW9uOm19PXRoaXMuX2NhbGNDb29yZHNGb3JTaGFwZShhLHIsYyxpLnByaWNlLHMsZSx0KTtsZXQgeTtzd2l0Y2goZi5oYWxpZ24pe2Nhc2Ugby5IQWxpZ24uTGVmdDp5PXg7YnJlYWs7Y2FzZSBvLkhBbGlnbi5SaWdodDp5PXc7YnJlYWs7Y2FzZSBvLkhBbGlnbi5DZW50ZXI6eT1ffXN3aXRjaChoKXtjYXNlImNpcmNsZSI6Y2FzZSJzcXVhcmUiOnRoaXMuX2RhdGEucHVzaCh7c2hhcGU6aCxjb2xvcjpwLGRpcmVjdGlvbjptLHBvaW50Om5ldyBuLlBvaW50KHksdiksc2l6ZTpjfSk7YnJlYWs7Y2FzZSJhcnJvd1VwIjpjYXNlImFycm93RG93biI6Y2FzZSJhcnJvd1JpZ2h0IjpjYXNlImFycm93TGVmdCI6dGhpcy5fZGF0YS5wdXNoKHtzaGFwZTpoLGNvbG9yOnAscG9pbnQ6bmV3IG4uUG9pbnQoeSx2KSxzaXplOmN9KX19KSl9KSl9X2NhbGNDb29yZHNGb3JTaGFwZShlLHQsaSxuLG8scyxsKXtjb25zdCBkPWwuYmFyQm9yZGVycyh0KTtzd2l0Y2goZSl7Y2FzZSBhLk1hcmtMb2NhdGlvbi5BYnNvbHV0ZTpyZXR1cm57Li4uZCx5OnMucHJpY2VUb0Nvb3JkaW5hdGUoKDAsci5lbnN1cmVEZWZpbmVkKShuKSxvKSxkaXJlY3Rpb246IiJ9O2Nhc2UgYS5NYXJrTG9jYXRpb24uQWJzb2x1dGVEb3duOnJldHVybnsuLi5kLHk6cy5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKG4pLG8pLGRpcmVjdGlvbjoiZG93biJ9O2Nhc2UgYS5NYXJrTG9jYXRpb24uQWJzb2x1dGVVcDpyZXR1cm57Li4uZCx5OnMucHJpY2VUb0Nvb3JkaW5hdGUoKDAsci5lbnN1cmVEZWZpbmVkKShuKSxvKSxkaXJlY3Rpb246InVwIn07Y2FzZSBhLk1hcmtMb2NhdGlvbi5BYm92ZUJhcjpyZXR1cm57Li4uZCx5OnRoaXMuX2xvY2F0aW9uVG9ZKGUsdCxNYXRoLmZsb29yKDIqaS9sLmJhclNwYWNpbmcoKSkrMSksZGlyZWN0aW9uOiJ1cCJ9O2Nhc2UgYS5NYXJrTG9jYXRpb24uQmVsb3dCYXI6cmV0dXJuey4uLmQseTp0aGlzLl9sb2NhdGlvblRvWShlLHQsTWF0aC5mbG9vcigyKmkvbC5iYXJTcGFjaW5nKCkpKzEpLGRpcmVjdGlvbjoiZG93biJ9O2RlZmF1bHQ6cmV0dXJuIF8ubG9nV2FybigiQmFkIGxvY2F0aW9uIHZhbHVlOiAiK2UpLHsuLi5kLHk6TmFOLGRpcmVjdGlvbjoidXAifX19fX0sODY3NzE3KGUsdCxpKXtpLnIodCksaS5kKHQse1RleHRNYXJrUGFuZVZpZXc6KCk9Pnh9KTt2YXIgcj1pKDEzODYzOCksbj1pKDczNjUzMSksbz1pKDQ1NTE4OCksYT1pKDk2MDQ2NCkscz1pKDc4OTE5MCksbD1pKDc2ODMwNSksZD1pKDc2MyksaD1pKDE1MTIxKSxjPWkoOTY5MTY4KTtjbGFzcyB1e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fZGF0YT1lLHRoaXMuX3RleHRDYWNoZT10fWRyYXcoZSx0KXtpZighdGhpcy5fZGF0YSlyZXR1cm47Y29uc3QgaT1mKHRoaXMuX2RhdGEuZGlyZWN0aW9uKTtsZXQgcj10aGlzLl9kYXRhLnBvaW50Lng7ImxlZnQiPT09dGhpcy5fZGF0YS5oYWxpZ24/ci09dGhpcy5fZGF0YS5zaXplOiJyaWdodCI9PT10aGlzLl9kYXRhLmhhbGlnbiYmKHIrPXRoaXMuX2RhdGEuc2l6ZSk7Y29uc3Qgbj10aGlzLl9kYXRhLnBvaW50Lnk7ZS5mb250PXRoaXMuX2ZvbnRTdHlsZSgpO2NvbnN0IG89ZS5tZWFzdXJlVGV4dCh0aGlzLl9kYXRhLnRleHQpLndpZHRoCjt0aGlzLl90ZXh0Q2FjaGUudGV4dFdpZHRoPW87Y29uc3QgYT10aGlzLl9kYXRhLmZvbnRTaXplO2UudGV4dEFsaWduPSgwLGMuaXNSdGwpKCk/InJpZ2h0IjoibGVmdCI7Y29uc3Qgcz0oMCxoLmNhbGNUZXh0SG9yaXpvbnRhbFNoaWZ0KShlLG8pLGw9LjY1KmEsZD0xKmE7KDAsaC5kcmF3U2NhbGVkKShlLHQuaG9yaXpvbnRhbFBpeGVsUmF0aW8sdC52ZXJ0aWNhbFBpeGVsUmF0aW8sKCgpPT57ZS50cmFuc2xhdGUocixuKSxlLmJlZ2luUGF0aCgpLGUubW92ZVRvKDAsMCksZS5saW5lVG8obCxkKmkpLGUubGluZVRvKC41Km8rbCxkKmkpLGUubGluZVRvKC41Km8rbCwoZCsxLjc1KmEpKmkpLGUubGluZVRvKC41Ki1vLWwsKGQrMS43NSphKSppKSxlLmxpbmVUbyguNSotby1sLGQqaSksZS5saW5lVG8oLWwsZCppKSxlLmxpbmVUbygwLDApLGUuc3Ryb2tlU3R5bGU9dGhpcy5fZGF0YS5ib3JkZXJDb2xvcixlLnN0cm9rZSgpLGUuZmlsbFN0eWxlPXRoaXMuX2RhdGEuY29sb3IsZS5maWxsKCksZS5maWxsU3R5bGU9dGhpcy5fZGF0YS5mb250Q29sb3IsZS5maWxsVGV4dCh0aGlzLl9kYXRhLnRleHQsLjUqLW8rcyxpPDA/aSpkLS41KmE6ZCsxLjI1KmEpfSkpfWhpdFRlc3QoZSl7Y29uc3QgdD10aGlzLl90ZXh0Q2FjaGUudGV4dFdpZHRofHwwLGk9dGhpcy5fZGF0YS5mb250U2l6ZSxyPWYodGhpcy5fZGF0YS5kaXJlY3Rpb24pLG89LjY1KmksYT0xKmk7bGV0IHM9dGhpcy5fZGF0YS5wb2ludC54OyJsZWZ0Ij09PXRoaXMuX2RhdGEuaGFsaWduP3MtPXRoaXMuX2RhdGEuc2l6ZToicmlnaHQiPT09dGhpcy5fZGF0YS5oYWxpZ24mJihzKz10aGlzLl9kYXRhLnNpemUpO2NvbnN0IGg9dGhpcy5fZGF0YS5wb2ludC55LGM9cy0uNSp0LW8sdT1zKy41KnQrbztsZXQgcD1oK2EqcixnPWgrKGErMS43NSppKSpyO2lmKGc8cCl7Y29uc3QgZT1wO3A9ZyxnPWV9aWYoKDAsbC5wb2ludEluQm94KShlLCgwLG4uYm94KShuZXcgbi5Qb2ludChjLHApLG5ldyBuLlBvaW50KHUsZykpKSlyZXR1cm4gbmV3IGQuSGl0VGVzdFJlc3VsdChkLkhpdFRhcmdldC5SZWd1bGFyKTtjb25zdCBfPVtuZXcgbi5Qb2ludCh0aGlzLl9kYXRhLnBvaW50LngsdGhpcy5fZGF0YS5wb2ludC55KSxuZXcgbi5Qb2ludCh0aGlzLl9kYXRhLnBvaW50LngrLjY1KmksdGhpcy5fZGF0YS5wb2ludC55K2kqciksbmV3IG4uUG9pbnQodGhpcy5fZGF0YS5wb2ludC54LS42NSppLHRoaXMuX2RhdGEucG9pbnQueStpKnIpXSx4PShlLngtX1swXS54KSooX1sxXS55LV9bMF0ueSktKGUueS1fWzBdLnkpKihfWzFdLngtX1swXS54KTtyZXR1cm4oKGUueC1fWzFdLngpKihfWzJdLnktX1sxXS55KS0oZS55LV9bMV0ueSkqKF9bMl0ueC1fWzFdLngpKSp4PjAmJigoZS54LV9bMl0ueCkqKF9bMF0ueS1fWzJdLnkpLShlLnktX1syXS55KSooX1swXS54LV9bMl0ueCkpKng+MD9uZXcgZC5IaXRUZXN0UmVzdWx0KGQuSGl0VGFyZ2V0LlJlZ3VsYXIpOm51bGx9X2ZvbnRTdHlsZSgpe3JldHVybih0aGlzLl9kYXRhLmJvbGQ/ImJvbGQgIjoiIikrKHRoaXMuX2RhdGEuaXRhbGljPyJpdGFsaWMgIjoiIikrYCR7dGhpcy5fZGF0YS5mb250U2l6ZX1weCAke3RoaXMuX2RhdGEuZm9udH1gfX1mdW5jdGlvbiBmKGUpe2lmKCJ1cCI9PT1lKXJldHVybiAxO2lmKCJkb3duIj09PWUpcmV0dXJuLTE7dGhyb3cgbmV3IEVycm9yKGAke2V9IGlzIG5vdCBzdXBwb3J0ZWQgYnkgVHJpYW5nbGVUZXh0TWFya1JlbmRlcmVyYCl9Y2xhc3MgcHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2RhdGE9ZSx0aGlzLl90ZXh0Q2FjaGU9dH1kcmF3KGUsdCl7Y29uc3QgaT10aGlzLl9kYXRhLnBvaW50Lngscj10aGlzLl9kYXRhLnBvaW50Lnk7ZS5mb250PXRoaXMuX2ZvbnRTdHlsZSgpO2NvbnN0IG49ZS5tZWFzdXJlVGV4dCh0aGlzLl9kYXRhLnRleHQpLndpZHRoO3RoaXMuX3RleHRDYWNoZS50ZXh0V2lkdGg9biwoMCxoLmRyYXdTY2FsZWQpKGUsdC5ob3Jpem9udGFsUGl4ZWxSYXRpbyx0LnZlcnRpY2FsUGl4ZWxSYXRpbywoKCk9Pntzd2l0Y2goZS50cmFuc2xhdGUoaSxyKSxlLmJlZ2luUGF0aCgpLGUubW92ZVRvKDAsMCksZS50ZXh0QWxpZ249dGhpcy5fZGF0YS5oYWxpZ24sdGhpcy5fZGF0YS52YWxpZ24pe2Nhc2UibWlkZGxlIjplLnRleHRCYXNlbGluZT0ibWlkZGxlIjticmVhaztjYXNlInRvcCI6ZS50ZXh0QmFzZWxpbmU9ImJvdHRvbSI7YnJlYWs7Y2FzZSJib3R0b20iOmUudGV4dEJhc2VsaW5lPSJoYW5naW5nIn1lLmZpbGxTdHlsZT10aGlzLl9kYXRhLmZvbnRDb2xvcixlLmZpbGxUZXh0KHRoaXMuX2RhdGEudGV4dCwwLDApfSkpfWhpdFRlc3QoZSl7bGV0IHQ9dGhpcy5fZGF0YS5wb2ludC54LGk9dGhpcy5fZGF0YS5wb2ludC55O2NvbnN0IHI9dGhpcy5fdGV4dENhY2hlLnRleHRXaWR0aHx8MCxvPXRoaXMuX2RhdGEuZm9udFNpemU7c3dpdGNoKHRoaXMuX2RhdGEuaGFsaWduKXtjYXNlInJpZ2h0Ijp0LT1yO2JyZWFrO2Nhc2UiY2VudGVyIjp0LT1yLzJ9c3dpdGNoKHRoaXMuX2RhdGEudmFsaWduKXtjYXNlIm1pZGRsZSI6aS09by8yO2JyZWFrO2Nhc2UiYm90dG9tIjppLT1vfWNvbnN0IGE9bmV3IG4uUG9pbnQodCxpKSxzPW5ldyBuLlBvaW50KHQrcixpK28pO3JldHVybigwLGwucG9pbnRJbkJveCkoZSwoMCxuLmJveCkoYSxzKSk/bmV3IGQuSGl0VGVzdFJlc3VsdChkLkhpdFRhcmdldC5SZWd1bGFyKTpudWxsfV9mb250U3R5bGUoKXtyZXR1cm4odGhpcy5fZGF0YS5ib2xkPyJib2xkICI6IiIpKyh0aGlzLl9kYXRhLml0YWxpYz8iaXRhbGljICI6IiIpK2Ake3RoaXMuX2RhdGEuZm9udFNpemV9cHggJHt0aGlzLl9kYXRhLmZvbnR9YH19dmFyIGc9aSgxNTk3MTApLF89aSg4NzM1NzMpO2NsYXNzIHggZXh0ZW5kcyBnLkxvY2F0aW9uVG9ZTWl4aW57Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKCksdGhpcy5fZGF0YT1bXSx0aGlzLl90ZXh0Q2FjaGU9W10sdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fcHJvdmlkZXI9ZSx0aGlzLl9tb2RlbD10fXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpewp0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZVZpZXdJbnRlcm5hbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKTtjb25zdCBlPW5ldyBzLkNvbXBvc2l0ZVJlbmRlcmVyO2ZvcihsZXQgdD0wO3Q8dGhpcy5fZGF0YS5sZW5ndGg7dCsrKXtjb25zdCBpPXRoaXMuX2RhdGFbdF0scj10aGlzLl90ZXh0Q2FjaGVbdF07c3dpdGNoKGkuc2hhcGUpe2Nhc2UidHJpYW5nbGUiOmUuYXBwZW5kKG5ldyB1KGkscikpO2JyZWFrO2Nhc2UicmVjdGFuZ2xlIjplLmFwcGVuZChuZXcgcChpLHIpKX19cmV0dXJuIGV9X3VwZGF0ZVZpZXdJbnRlcm5hbCgpe3RoaXMuX2RhdGE9W107Y29uc3QgZT10aGlzLl9wcm92aWRlci5wcmljZVNjYWxlKCksdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtpZighZXx8ZS5pc0VtcHR5KCl8fHQuaXNFbXB0eSgpKXJldHVybjtjb25zdCBpPXRoaXMuX3Byb3ZpZGVyLmdyYXBoaWNzKCkudGV4dG1hcmtzKCk7aWYoMD09PWkuc2l6ZSlyZXR1cm47Y29uc3QgYT10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09YSlyZXR1cm47Y29uc3Qgcz10aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCk7aWYobnVsbD09PXMpcmV0dXJuO2NvbnN0IGw9YS5maXJzdEJhcigpLGQ9YS5sYXN0QmFyKCksaD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS50ZXh0bWFya3MpLGM9KDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcm92aWRlci5ncmFwaGljc0luZm8oKS50ZXh0bWFya3MpO2kuZm9yRWFjaCgoKGksYSk9Pntjb25zdCB1PSgwLHIuZW5zdXJlRGVmaW5lZCkoaC5jaGlsZHMoKVthXSkuY2hpbGRzKCksZj0oMCxyLmVuc3VyZURlZmluZWQpKGNbYV0pO3UudmlzaWJsZS52YWx1ZSgpJiZpLmZvckVhY2goKGk9PntsZXQgcj1pLnRpbWU7aWYocjxsfHxkPHIpcmV0dXJuO2lmKG51bGw9PT10aGlzLl9wcm92aWRlci5zZXJpZXMoKS5iYXJzKCkudmFsdWVBdChyKSlyZXR1cm47cj1pLnRpbWUrKGkub2Zmc2V0fHwwKTtjb25zdCBhPXt0ZXh0OmkudGV4dD9pLnRleHQ6IiIsYm9sZDp1LmZvbnRCb2xkLnZhbHVlKCksaXRhbGljOnUuZm9udEl0YWxpYy52YWx1ZSgpLGZvbnQ6dS5mb250RmFtaWx5LnZhbHVlKCksZm9udENvbG9yOigwLF8uZ2VuZXJhdGVDb2xvcikodS5mb250Q29sb3IudmFsdWUoKSx1LnRyYW5zcGFyZW5jeS52YWx1ZSgpKSxmb250U2l6ZTp1LmZvbnRTaXplLnZhbHVlKCl9LGg9Zi5sb2NhdGlvbixjPWYuc2hhcGU7c3dpdGNoKGMpe2Nhc2Ugby5UZXh0TWFya1R5cGUuVHJpYW5nbGU6e2NvbnN0e3g6byx5OmwsZGlyZWN0aW9uOmR9PXRoaXMuX2NhbGNDb29yZHNGb3JUcmlhbmdsZVNoYXBlKGgsciw1MCxpLnByaWNlLHMsZSx0KTt0aGlzLl9kYXRhLnB1c2goe3NoYXBlOmMsY29sb3I6KDAsXy5nZW5lcmF0ZUNvbG9yKSh1LmNvbG9yLnZhbHVlKCksdS50cmFuc3BhcmVuY3kudmFsdWUoKSksYm9yZGVyQ29sb3I6InJnYigwLCAwLCAwKSIsZGlyZWN0aW9uOmQscG9pbnQ6bmV3IG4uUG9pbnQobyxsKSxoYWxpZ246Zi5oYWxpZ24sc2l6ZTouNSp0LmJhclNwYWNpbmcoKSwuLi5hfSl9YnJlYWs7Y2FzZSBvLlRleHRNYXJrVHlwZS5SZWN0YW5nbGU6e2NvbnN0e3g6byx5Omx9PXRoaXMuX2NhbGNDb29yZHNGb3JSZWN0YW5nbGVTaGFwZShoLHIsaS5wcmljZSxzLGUsdCk7dGhpcy5fZGF0YS5wdXNoKHtzaGFwZTpjLHBvaW50Om5ldyBuLlBvaW50KG8sbCksaGFsaWduOmYuaGFsaWduLHZhbGlnbjpmLnZhbGlnbj8/Im1pZGRsZSIsLi4uYX0pfX10aGlzLl90ZXh0Q2FjaGUucHVzaCh7fSl9KSl9KSl9X2NhbGNDb29yZHNGb3JUcmlhbmdsZVNoYXBlKGUsdCxpLG4sbyxzLGwpe2NvbnN0IGQ9TWF0aC5yb3VuZChsLmluZGV4VG9Db29yZGluYXRlKHQpKTtzd2l0Y2goZSl7Y2FzZSBhLk1hcmtMb2NhdGlvbi5Ub3A6cmV0dXJue3g6ZCx5OnMuaGVpZ2h0KCktaSxkaXJlY3Rpb246ImRvd24ifTtjYXNlIGEuTWFya0xvY2F0aW9uLkJvdHRvbTpyZXR1cm57eDpkLHk6aSxkaXJlY3Rpb246InVwIn07Y2FzZSBhLk1hcmtMb2NhdGlvbi5BYnNvbHV0ZURvd246cmV0dXJue3g6ZCx5OnMucHJpY2VUb0Nvb3JkaW5hdGUoKDAsci5lbnN1cmVEZWZpbmVkKShuKSxvKSxkaXJlY3Rpb246ImRvd24ifTtjYXNlIGEuTWFya0xvY2F0aW9uLkFic29sdXRlVXA6cmV0dXJue3g6ZCx5OnMucHJpY2VUb0Nvb3JkaW5hdGUoKDAsci5lbnN1cmVEZWZpbmVkKShuKSxvKSxkaXJlY3Rpb246InVwIn07Y2FzZSBhLk1hcmtMb2NhdGlvbi5BYm92ZUJhcjpyZXR1cm57eDpkLHk6dGhpcy5fbG9jYXRpb25Ub1koZSx0KSxkaXJlY3Rpb246ImRvd24ifTtjYXNlIGEuTWFya0xvY2F0aW9uLkJlbG93QmFyOnJldHVybnt4OmQseTp0aGlzLl9sb2NhdGlvblRvWShlLHQpLGRpcmVjdGlvbjoidXAifTtkZWZhdWx0OnJldHVybnt4OmQseTpOYU4sZGlyZWN0aW9uOiJ1cCJ9fX1fY2FsY0Nvb3Jkc0ZvclJlY3RhbmdsZVNoYXBlKGUsdCxpLG4sbyxzKXtjb25zdCBsPU1hdGgucm91bmQocy5pbmRleFRvQ29vcmRpbmF0ZSh0KSk7c3dpdGNoKGUpe2Nhc2UgYS5NYXJrTG9jYXRpb24uQWJzb2x1dGVEb3duOmNhc2UgYS5NYXJrTG9jYXRpb24uQWJzb2x1dGVVcDpjYXNlIGEuTWFya0xvY2F0aW9uLkFic29sdXRlOnJldHVybnt4OmwseTpvLnByaWNlVG9Db29yZGluYXRlKCgwLHIuZW5zdXJlRGVmaW5lZCkoaSksbil9O2Nhc2UgYS5NYXJrTG9jYXRpb24uQWJvdmVCYXI6Y2FzZSBhLk1hcmtMb2NhdGlvbi5CZWxvd0JhcjpyZXR1cm57eDpsLHk6dGhpcy5fbG9jYXRpb25Ub1koZSx0KX07Y2FzZSBhLk1hcmtMb2NhdGlvbi5SaWdodDpjYXNlIGEuTWFya0xvY2F0aW9uLkxlZnQ6cmV0dXJue3g6cy53aWR0aCgpLHk6by5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKGkpLG4pfTtkZWZhdWx0OnJldHVybnt4OmwseTpOYU59fX19fSw3MDM4MDkoZSx0LGkpe2kuZCh0LHtjYWxjdWxhdGVGb250U2l6ZUZvckJveDooKT0+cCxnZXRGb250U2l6ZTooKT0+Zix0ZXh0Qm94RGF0YTooKT0+dX0pCjt2YXIgcj1pKDIwNjY3Myksbj1pKDczNjUzMSksbz1pKDU4OTUxMSksYT1pKDg4NDI4KSxzPWkoOTI2MTQ5KSxsPWkoMTk4OTAxKSxkPWkoNTkwODk0KSxoPWkoOTQxMTAwKTtjb25zdCBjPW5ldyBNYXA7ZnVuY3Rpb24gdShlLHQsaSxyLG8pe2xldCBsPWUsZD1hLkhvcml6b250YWxBbGlnbi5MZWZ0OyJjZW50ZXIiPT09by5ob3Jpem9udGFsVGV4dEFsaWdubWVudD8oZD1hLkhvcml6b250YWxBbGlnbi5DZW50ZXIsbCs9aS8yKToicmlnaHQiPT09by5ob3Jpem9udGFsVGV4dEFsaWdubWVudCYmKGQ9YS5Ib3Jpem9udGFsQWxpZ24uUmlnaHQsbCs9aS0xKTtsZXQgYz10LHU9YS5WZXJ0aWNhbEFsaWduLlRvcDsiY2VudGVyIj09PW8udmVydGljYWxUZXh0QWxpZ25tZW50Pyh1PWEuVmVydGljYWxBbGlnbi5NaWRkbGUsYys9ci8yKToiYm90dG9tIj09PW8udmVydGljYWxUZXh0QWxpZ25tZW50JiYodT1hLlZlcnRpY2FsQWxpZ24uQm90dG9tLGMrPXItMSk7Y29uc3R7Ym9sZDpwLGl0YWxpYzpnfT0oMCxoLmNvbnZlcnREd2dUZXh0Rm9ybWF0dGluZ1RvT2JqZWN0KShvLnRleHRGb3JtYXR0aW5nKTtyZXR1cm57cG9pbnRzOltuZXcgbi5Qb2ludChsLGMpXSx0ZXh0Om8udGV4dCxjb2xvcjpvLnRleHRDb2xvcixib2xkOnAsaXRhbGljOmcsdmVydEFsaWduOnUsaG9yekFsaWduOmQsZm9udDoibW9ub3NwYWNlIj09PW8uZm9udFR5cGU/cy5DSEFSVF9NT05PU1BBQ0VfRk9OVF9GQU1JTFk6cy5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLGZvbnRTaXplOmYoby5zaXplT3B0aW9ucy5mb250U2l6ZSksb2Zmc2V0WDowLG9mZnNldFk6MH19ZnVuY3Rpb24gZihlKXtyZXR1cm4oMCxyLmRlZmF1bHQpKGUpP2U+MD9lOmMuZ2V0KG8uUGxvdFN5bWJvbFNpemUuQXV0byk6Yy5nZXQoZSl9ZnVuY3Rpb24gcChlLHQsaSxyLG4pe2NvbnN0IG89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTWF0aC5mbG9vciguOSp0LyhlKy4zMykpfShpLmxlbmd0aCxuKTtyZXR1cm4oMCxsLmxvd2VyYm91bmRFeHQpKChlPT5lKSx2b2lkIDAsKG49PmZ1bmN0aW9uKGUsdCxpLHIpe2UuZm9udD0oMCxkLm1ha2VGb250KShyLHQuZm9udCx0Lml0YWxpYz8iaXRhbGljICI6dm9pZCAwLHQuYm9sZD8iYm9sZCAiOnZvaWQgMCk7Y29uc3Qgbj1yLzM7cmV0dXJuIGkucmVkdWNlKCgodCxpKT0+TWF0aC5tYXgodCxlLm1lYXN1cmVUZXh0KGkpLndpZHRoK24pKSwwKX0oZSx0LGksbik8PXIpLDIsbyktMX1jLnNldChvLlBsb3RTeW1ib2xTaXplLkF1dG8sMTQpLGMuc2V0KG8uUGxvdFN5bWJvbFNpemUuVGlueSw4KSxjLnNldChvLlBsb3RTeW1ib2xTaXplLlNtYWxsLDEwKSxjLnNldChvLlBsb3RTeW1ib2xTaXplLk5vcm1hbCwxNCksYy5zZXQoby5QbG90U3ltYm9sU2l6ZS5MYXJnZSwyMCksYy5zZXQoby5QbG90U3ltYm9sU2l6ZS5IdWdlLDM2KX0sNDkxMTEzKGUsdCxpKXtpLnIodCksaS5kKHQse1RyZW5kQ2hhbm5lbFBhbmVWaWV3OigpPT5ofSk7dmFyIHI9aSgxMzg2MzgpLG49aSg3MzY1MzEpLG89aSgzNTE5MDApLGE9aSg3NjMpLHM9aSg3ODkxOTApLGw9aSgyNjA2OSksZD1pKDg4MDc2MSk7Y2xhc3MgaHtjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5fZGF0YT1bXSx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9wcm92aWRlcj1lLHRoaXMuX21vZGVsPXQsdGhpcy5fZGF0YT1bXSx0aGlzLl9oaXRUZXN0UmVzdWx0PXZvaWQgMCE9PWk/bmV3IGEuSGl0VGVzdFJlc3VsdChhLkhpdFRhcmdldC5DdXN0b20saSk6bmV3IGEuSGl0VGVzdFJlc3VsdChhLkhpdFRhcmdldC5SZWd1bGFyKX11cGRhdGUoZSl7ImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9pbnZhbGlkYXRlZD0hMCl9cmVuZGVyZXIoKXt0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZVZpZXdJbnRlcm5hbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKTtjb25zdCBlPW5ldyBzLkNvbXBvc2l0ZVJlbmRlcmVyO2Zvcihjb25zdCB0IG9mIHRoaXMuX2RhdGEpe2NvbnN0IGk9bmV3IGQuUG9seWdvblJlbmRlcmVyKHRoaXMuX2hpdFRlc3RSZXN1bHQpO2kuc2V0RGF0YSh0KSxlLmFwcGVuZChpKX1yZXR1cm4gZX1fdXBkYXRlVmlld0ludGVybmFsKCl7dGhpcy5fZGF0YT1bXTtjb25zdCBlPXRoaXMuX3Byb3ZpZGVyLnByaWNlU2NhbGUoKSx0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpO2lmKCFlfHxlLmlzRW1wdHkoKXx8dC5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5fcHJvdmlkZXIuZ3JhcGhpY3MoKS50cmVuZGNoYW5uZWxzKCk7aWYoMD09PWkuc2l6ZSlyZXR1cm47Y29uc3Qgbz10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09bylyZXR1cm47Y29uc3QgYT10aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCk7aWYobnVsbD09PWEpcmV0dXJuO2NvbnN0IHM9by5maXJzdEJhcigpLGQ9by5sYXN0QmFyKCksaD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS50cmVuZGNoYW5uZWxzKSx1PSgwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvdmlkZXIuZ3JhcGhpY3NJbmZvKCkudHJlbmRjaGFubmVscyk7aS5mb3JFYWNoKCgoaSxvKT0+e2NvbnN0IGY9KDAsci5lbnN1cmVEZWZpbmVkKShoLmNoaWxkcygpW29dKS5jaGlsZHMoKSxwPSgwLHIuZW5zdXJlRGVmaW5lZCkodVtvXSk7aS5mb3JFYWNoKChpPT57Y29uc3Qgbz1pLnN0YXJ0SW5kZXgsaD1pLmVuZEluZGV4O2lmKE1hdGgubWF4KG8saCk8cyYmIWkuZXh0ZW5kUmlnaHR8fE1hdGgubWluKG8saCk+ZCYmIWkuZXh0ZW5kTGVmdClyZXR1cm47Y29uc3QgdT1lLnByaWNlVG9Db29yZGluYXRlKCgwLHIuZW5zdXJlRGVmaW5lZCkoaS5zdGFydEhpZ2hQcmljZSksYSksZz1lLnByaWNlVG9Db29yZGluYXRlKCgwLHIuZW5zdXJlRGVmaW5lZCkoaS5zdGFydExvd1ByaWNlKSxhKSxfPWUucHJpY2VUb0Nvb3JkaW5hdGUoKDAsCnIuZW5zdXJlRGVmaW5lZCkoaS5lbmRIaWdoUHJpY2UpLGEpLHg9Xy0odS1nKSx3PXQuaW5kZXhUb0Nvb3JkaW5hdGUobyksdj10LmluZGV4VG9Db29yZGluYXRlKGgpLFttLHldPWMobmV3IG4uUG9pbnQodyx1KSxuZXcgbi5Qb2ludCh2LF8pLHQud2lkdGgoKSxlLmhlaWdodCgpLGkuZXh0ZW5kTGVmdCxpLmV4dGVuZFJpZ2h0KSxbYixUXT1jKG5ldyBuLlBvaW50KHcsZyksbmV3IG4uUG9pbnQodix4KSx0LndpZHRoKCksZS5oZWlnaHQoKSxpLmV4dGVuZExlZnQsaS5leHRlbmRSaWdodCk7dGhpcy5fZGF0YS5wdXNoKHtwb2ludHM6W20sYixULHldLGNvbG9yOmYuY29sb3IudmFsdWUoKSxiYWNrY29sb3I6Zi5jb2xvci52YWx1ZSgpLGxpbmV3aWR0aDpwLmJvcmRlcldpZHRoPz8wLGxpbmVzdHlsZTpsLkxJTkVTVFlMRV9TT0xJRCxmaWxsZWQ6ITAsZmlsbEJhY2tncm91bmQ6ITAsdHJhbnNwYXJlbmN5OmkudHJhbnNwYXJlbmN5P01hdGgubWluKGkudHJhbnNwYXJlbmN5K2YudHJhbnNwYXJlbmN5LnZhbHVlKCksMTAwKTpmLnRyYW5zcGFyZW5jeS52YWx1ZSgpfSl9KSl9KSl9fWZ1bmN0aW9uIGMoZSx0LGkscixhLHMpe2lmKCgwLG4uZXF1YWxQb2ludHMpKGUsdCkpcmV0dXJuW2UsdF07Y29uc3QgbD1uZXcgbi5Qb2ludCgwLDApLGQ9bmV3IG4uUG9pbnQoaSxyKTtpZihhKXtjb25zdCByPWUuc3VidHJhY3QodCksYT0oMCxvLmludGVyc2VjdFJheUFuZEJveCkoZSxlLmFkZChyKSwoMCxuLmJveCkobCxkKSk7YT9lPWE6dD1uZXcgbi5Qb2ludChpLHQueSl9aWYocyl7Y29uc3Qgcj10LnN1YnRyYWN0KGUpLGE9KDAsby5pbnRlcnNlY3RSYXlBbmRCb3gpKHQsdC5hZGQociksKDAsbi5ib3gpKGwsZCkpO3Q9YXx8bmV3IG4uUG9pbnQoaSx0LnkpfXJldHVybltlLHRdfX0sNjQ1NzE3KGUsdCxpKXtpLnIodCksaS5kKHQse1ZlcnRMaW5lUGFuZVZpZXc6KCk9Pmx9KTt2YXIgcj1pKDEzODYzOCksbj1pKDc2Myksbz1pKDY4NzU5MCksYT1pKDc4OTE5MCkscz1pKDU0MDg0NSk7Y2xhc3MgbHtjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5fZGF0YT1bXSx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9wcm92aWRlcj1lLHRoaXMuX21vZGVsPXQsdGhpcy5faGl0VGVzdFJlc3VsdD12b2lkIDAhPT1pP25ldyBuLkhpdFRlc3RSZXN1bHQobi5IaXRUYXJnZXQuQ3VzdG9tLGkpOm5ldyBuLkhpdFRlc3RSZXN1bHQobi5IaXRUYXJnZXQuUmVndWxhcil9dXBkYXRlKGUpeyJob3Zlci1jaGFuZ2UiIT09ZS50eXBlJiYodGhpcy5faW52YWxpZGF0ZWQ9ITApfXJlbmRlcmVyKCl7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVWaWV3SW50ZXJuYWwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSk7Y29uc3QgZT1uZXcgYS5Db21wb3NpdGVSZW5kZXJlcjtmb3IoY29uc3QgdCBvZiB0aGlzLl9kYXRhKXtjb25zdCBpPW5ldyBzLlZlcnRpY2FsTGluZVJlbmRlcmVyO2kuc2V0RGF0YSh0KSxpLnNldEhpdFRlc3QodGhpcy5faGl0VGVzdFJlc3VsdCksZS5hcHBlbmQoaSl9cmV0dXJuIGV9X3VwZGF0ZVZpZXdJbnRlcm5hbCgpe3RoaXMuX2RhdGE9W107Y29uc3QgZT10aGlzLl9wcm92aWRlci5wcmljZVNjYWxlKCksdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtpZighZXx8ZS5pc0VtcHR5KCl8fHQuaXNFbXB0eSgpKXJldHVybjtjb25zdCBpPXRoaXMuX3Byb3ZpZGVyLmdyYXBoaWNzSW5mbygpLnZlcnRsaW5lcyxuPXRoaXMuX3Byb3ZpZGVyLmdyYXBoaWNzKCkudmVydGxpbmVzKCk7aWYoMD09PW4uc2l6ZXx8dm9pZCAwPT09aSlyZXR1cm47Y29uc3QgYT10LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09YSlyZXR1cm47Y29uc3Qgcz10aGlzLl9wcm92aWRlci5maXJzdFZhbHVlKCk7aWYobnVsbD09PXMpcmV0dXJuO2NvbnN0IGw9YS5maXJzdEJhcigpLGQ9YS5sYXN0QmFyKCksaD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3ZpZGVyLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS52ZXJ0bGluZXMpO24uZm9yRWFjaCgoKG4sYSk9Pntjb25zdCBjPSgwLHIuZW5zdXJlRGVmaW5lZCkoaC5jaGlsZHMoKVthXSkuY2hpbGRzKCksdT0oMCxyLmVuc3VyZURlZmluZWQpKGlbYV0pO2MudmlzaWJsZS52YWx1ZSgpJiZuLmZvckVhY2goKGk9Pntjb25zdCBuPWkuaW5kZXg7aWYobjxsfHxkPG4pcmV0dXJuO2NvbnN0e2xlZnQ6YSxjZW50ZXI6aCxyaWdodDpmfT10LmJhckJvcmRlcnMobik7bGV0IHA7c3dpdGNoKHUuaGFsaWduKXtjYXNlIG8uSEFsaWduLkxlZnQ6cD1hO2JyZWFrO2Nhc2Ugby5IQWxpZ24uUmlnaHQ6cD1mO2JyZWFrO2RlZmF1bHQ6cD1ofXRoaXMuX2RhdGEucHVzaCh7eDpwLHRvcDppLmV4dGVuZFRvcD92b2lkIDA6ZS5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKGkuZW5kUHJpY2UpLHMpLGJvdHRvbTppLmV4dGVuZEJvdHRvbT92b2lkIDA6ZS5wcmljZVRvQ29vcmRpbmF0ZSgoMCxyLmVuc3VyZURlZmluZWQpKGkuc3RhcnRQcmljZSkscyksY29sb3I6Yy5jb2xvci52YWx1ZSgpLGxpbmV3aWR0aDpjLndpZHRoLnZhbHVlKCksbGluZXN0eWxlOmMuc3R5bGUudmFsdWUoKX0pfSkpfSkpfX19LDUwMTM2MyhlLHQsaSl7aS5kKHQse0xpbmVhclJlZ3Jlc3Npb25QYW5lVmlldzooKT0+aH0pO3ZhciByPWkoNzYzKSxuPWkoODczNTczKSxvPWkoNzg5MTkwKSxhPWkoNTcyNzk2KSxzPWkoNjY0ODE1KSxsPWkoNDcwOTg2KSxkPWkoNzQyMTQyKTtjbGFzcyBoe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fbGluZXM9W10sdGhpcy5fcGVhcnNvbnNUZXh0UmVuZGVyZXI9bmV3IGwuVGV4dFJlbmRlcmVyLHRoaXMuX3BlYXJzb25zPW51bGwsdGhpcy5fbW9kZWw9ZSx0aGlzLl9zb3VyY2U9dH11cGRhdGUoKXt0aGlzLl9pbnZhbGlkYXRlZD0hMH1yZW5kZXJlcigpe3RoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKTtjb25zdCBlPW5ldyBvLkNvbXBvc2l0ZVJlbmRlcmVyLHQ9W3RoaXMuX2xpbmVzWzFdLHRoaXMuX2xpbmVzWzBdLHRoaXMuX2xpbmVzWzJdXSxpPVtdCjtmb3IoY29uc3QgZSBvZiB0KWUmJmkucHVzaChlKTtmb3IobGV0IG89MTtvPGkubGVuZ3RoO28rKyl7Y29uc3QgaT10W29dLmNvbG9yLHM9dFtvXS5saW5ld2lkdGgsbD10W29dLmxpbmVzdHlsZSxkPXRbb10uZXh0ZW5kcmlnaHQsaD17bGluZTE6e2NvbG9yOmksbGluZVN0eWxlOmwsbGluZVdpZHRoOnMscG9pbnRzOlt0W29dLnBvaW50c1swXSx0W29dLnBvaW50c1sxXV19LGxpbmUyOntjb2xvcjppLGxpbmVTdHlsZTpsLGxpbmVXaWR0aDpzLHBvaW50czpbdFtvLTFdLnBvaW50c1swXSx0W28tMV0ucG9pbnRzWzFdXX0sZXh0ZW5kTGVmdDohMSxleHRlbmRSaWdodDpkLGJhY2tDb2xvcjooMCxuLmdlbmVyYXRlQ29sb3IpKHRbb10uY29sb3IsdGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5zdHlsZXMudHJhbnNwYXJlbmN5LnZhbHVlKCkpLHNraXBMaW5lczohMCxmaWxsQmFja2dyb3VuZDohMH0sYz1uZXcgYS5QYXJhbGxlbENoYW5uZWxSZW5kZXJlcihuZXcgci5IaXRUZXN0UmVzdWx0KHIuSGl0VGFyZ2V0LlJlZ3VsYXIpLG5ldyByLkhpdFRlc3RSZXN1bHQoci5IaXRUYXJnZXQuUmVndWxhcikpO2Muc2V0RGF0YShoKSxlLmFwcGVuZChjKX1mb3IoY29uc3QgdCBvZiBmdW5jdGlvbihlKXtyZXR1cm4gZS5tYXAoKGU9Pntjb25zdCB0PXsuLi5lfTtyZXR1cm4gdC5jb2xvcj0oMCxuLnJlc2V0VHJhbnNwYXJlbmN5KSh0LmNvbG9yKSx0fSkpfSh0aGlzLl9saW5lcykpe2NvbnN0IGk9bmV3IHMuVHJlbmRMaW5lUmVuZGVyZXI7aS5zZXREYXRhKHQpLGkuc2V0SGl0VGVzdChuZXcgci5IaXRUZXN0UmVzdWx0KHIuSGl0VGFyZ2V0LlJlZ3VsYXIpKSxlLmFwcGVuZChpKX1yZXR1cm4gdGhpcy5fcGVhcnNvbnMmJih0aGlzLl9wZWFyc29ucy5jb2xvcj0oMCxuLnJlc2V0VHJhbnNwYXJlbmN5KSh0aGlzLl9wZWFyc29ucy5jb2xvciksdGhpcy5fcGVhcnNvbnNUZXh0UmVuZGVyZXIuc2V0RGF0YSh0aGlzLl9wZWFyc29ucyksZS5hcHBlbmQodGhpcy5fcGVhcnNvbnNUZXh0UmVuZGVyZXIpKSxlfV91cGRhdGVJbXBsKCl7Y29uc3QgZT0oMCxkLnByZXBhcmVMaW5lYXJSZWdyZXNzaW9uUmVuZGVyZXJzRGF0YSkodGhpcy5fbW9kZWwsdGhpcy5fc291cmNlKTt0aGlzLl9saW5lcz1lLmxpbmVzLHRoaXMuX3BlYXJzb25zPWUucGVhcnNvbnN9fX19XSk7"}},"time_used":2,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/elementor/assets/css/widget-text-editor.min.css?ver=3.26.5","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.888Z","timestamp":1785141582888,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/plugins/elementor/assets/css/widget-text-editor.min.css?ver=3.26.5 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://oxlofttrd.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:57:43 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 270\r\nKeep-Alive: timeout=5, max=96\r\nConnection: Keep-Alive\r\nContent-Type: text/css\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":704,"size_decoded":620,"mime_type":"text/css","magic":"ASCII text, with very long lines (664)","md5":"91cbe6e11ac645334721ed6d5ba76f90","sha1":"365826e5f8693023539987794836c7479aec6d41","sha256":"d66aa13382c0e791b28e1b6666a50366cfc0e41330cbf515976e9d8b1e4da822","sha512":"5b7096105cd175f2819ee65ee454cfb811e67ebb0d25605d6fc7c437145498730229500aa36a39737939ae3b8701cfd60b48e27a95aee4005e967174cfbb6de0","ssdeep":"","tlshash":"9b011d2af983a001725f087f156725ce68da94cbe622d751fae5741b307ac897722b34","first_seen":"2025-01-16T00:22:47.900166Z","last_seen":"2026-07-27T12:12:28.916223Z","times_seen":449,"resource_available":false,"data":"LyohIGVsZW1lbnRvciAtIHYzLjI2LjAgLSAxNS0wMS0yMDI1ICovCi5lbGVtZW50b3Itd2lkZ2V0LXRleHQtZWRpdG9yLmVsZW1lbnRvci1kcm9wLWNhcC12aWV3LXN0YWNrZWQgLmVsZW1lbnRvci1kcm9wLWNhcHtiYWNrZ3JvdW5kLWNvbG9yOiM2OTcyN2Q7Y29sb3I6I2ZmZn0uZWxlbWVudG9yLXdpZGdldC10ZXh0LWVkaXRvci5lbGVtZW50b3ItZHJvcC1jYXAtdmlldy1mcmFtZWQgLmVsZW1lbnRvci1kcm9wLWNhcHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjozcHggc29saWQ7Y29sb3I6IzY5NzI3ZH0uZWxlbWVudG9yLXdpZGdldC10ZXh0LWVkaXRvcjpub3QoLmVsZW1lbnRvci1kcm9wLWNhcC12aWV3LWRlZmF1bHQpIC5lbGVtZW50b3ItZHJvcC1jYXB7bWFyZ2luLXRvcDo4cHh9LmVsZW1lbnRvci13aWRnZXQtdGV4dC1lZGl0b3I6bm90KC5lbGVtZW50b3ItZHJvcC1jYXAtdmlldy1kZWZhdWx0KSAuZWxlbWVudG9yLWRyb3AtY2FwLWxldHRlcntoZWlnaHQ6MWVtO3dpZHRoOjFlbX0uZWxlbWVudG9yLXdpZGdldC10ZXh0LWVkaXRvciAuZWxlbWVudG9yLWRyb3AtY2Fwe2Zsb2F0OmxlZnQ7Zm9udC1zaXplOjUwcHg7bGluZS1oZWlnaHQ6MTt0ZXh0LWFsaWduOmNlbnRlcn0uZWxlbWVudG9yLXdpZGdldC10ZXh0LWVkaXRvciAuZWxlbWVudG9yLWRyb3AtY2FwLWxldHRlcntkaXNwbGF5OmlubGluZS1ibG9ja30="}},"time_used":239,"timings":{"blocked":146,"dns":0,"connect":0,"send":0,"wait":93,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js?ver=3.26.5","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.915Z","timestamp":1785141582915,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/plugins/elementor/assets/js/webpack.runtime.min.js?ver=3.26.5 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:57:50 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 2390\r\nKeep-Alive: timeout=5, max=96\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":5326,"size_decoded":2755,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (5286)","md5":"a51d59824fe5f2f3d24f57b78e6fbf28","sha1":"31c01888ecacfd57fd8e3549ec22ffe9be79295c","sha256":"b8a669ed63dd41d81d8f340f4eb89574a4c363c18f4cdeb954c8f04115040bff","sha512":"672b72f07ce51e6ef3415141d29bddb2d0960b96f22ea4a417d73ca000ae0988921813c7b1f1ff3477a8202e3c9a230682f1709090728abe3dfd0c828b4fced8","ssdeep":"96:BrsNt0jqf9fzDdKQ/EhBoLClCjNVobVDPkqKokxwvT8S2:JsNCjw9f/dKQ8roL7N4FPkvCgS2","tlshash":"31b140941b90fd2b31e135d4e51ba731662fc1337c1bb881fa22dce958e8ad183b9971","first_seen":"2025-01-16T00:22:47.903932Z","last_seen":"2026-07-27T12:12:28.762915Z","times_seen":575,"resource_available":true,"data":"LyohIGVsZW1lbnRvciAtIHYzLjI2LjAgLSAxNS0wMS0yMDI1ICovCigoKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgZSxyLF8sdCxhLGk9e30sbj17fTtmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKGUpe3ZhciByPW5bZV07aWYodm9pZCAwIT09cilyZXR1cm4gci5leHBvcnRzO3ZhciBfPW5bZV09e2V4cG9ydHM6e319O3JldHVybiBpW2VdLmNhbGwoXy5leHBvcnRzLF8sXy5leHBvcnRzLF9fd2VicGFja19yZXF1aXJlX18pLF8uZXhwb3J0c31fX3dlYnBhY2tfcmVxdWlyZV9fLm09aSxlPVtdLF9fd2VicGFja19yZXF1aXJlX18uTz0ocixfLHQsYSk9PntpZighXyl7dmFyIGk9MS8wO2Zvcih1PTA7dTxlLmxlbmd0aDt1Kyspe2Zvcih2YXJbXyx0LGFdPWVbdV0sbj0hMCxjPTA7YzxfLmxlbmd0aDtjKyspKCExJmF8fGk+PWEpJiZPYmplY3Qua2V5cyhfX3dlYnBhY2tfcmVxdWlyZV9fLk8pLmV2ZXJ5KChlPT5fX3dlYnBhY2tfcmVxdWlyZV9fLk9bZV0oX1tjXSkpKT9fLnNwbGljZShjLS0sMSk6KG49ITEsYTxpJiYoaT1hKSk7aWYobil7ZS5zcGxpY2UodS0tLDEpO3ZhciBvPXQoKTt2b2lkIDAhPT1vJiYocj1vKX19cmV0dXJuIHJ9YT1hfHwwO2Zvcih2YXIgdT1lLmxlbmd0aDt1PjAmJmVbdS0xXVsyXT5hO3UtLSllW3VdPWVbdS0xXTtlW3VdPVtfLHQsYV19LF89T2JqZWN0LmdldFByb3RvdHlwZU9mP2U9Pk9iamVjdC5nZXRQcm90b3R5cGVPZihlKTplPT5lLl9fcHJvdG9fXyxfX3dlYnBhY2tfcmVxdWlyZV9fLnQ9ZnVuY3Rpb24oZSx0KXtpZigxJnQmJihlPXRoaXMoZSkpLDgmdClyZXR1cm4gZTtpZigib2JqZWN0Ij09dHlwZW9mIGUmJmUpe2lmKDQmdCYmZS5fX2VzTW9kdWxlKXJldHVybiBlO2lmKDE2JnQmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLnRoZW4pcmV0dXJuIGV9dmFyIGE9T2JqZWN0LmNyZWF0ZShudWxsKTtfX3dlYnBhY2tfcmVxdWlyZV9fLnIoYSk7dmFyIGk9e307cj1yfHxbbnVsbCxfKHt9KSxfKFtdKSxfKF8pXTtmb3IodmFyIG49MiZ0JiZlOyJvYmplY3QiPT10eXBlb2YgbiYmIX5yLmluZGV4T2Yobik7bj1fKG4pKU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG4pLmZvckVhY2goKHI9Pmlbcl09KCk9PmVbcl0pKTtyZXR1cm4gaS5kZWZhdWx0PSgpPT5lLF9fd2VicGFja19yZXF1aXJlX18uZChhLGkpLGF9LF9fd2VicGFja19yZXF1aXJlX18uZD0oZSxyKT0+e2Zvcih2YXIgXyBpbiByKV9fd2VicGFja19yZXF1aXJlX18ubyhyLF8pJiYhX193ZWJwYWNrX3JlcXVpcmVfXy5vKGUsXykmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLF8se2VudW1lcmFibGU6ITAsZ2V0OnJbX119KX0sX193ZWJwYWNrX3JlcXVpcmVfXy5mPXt9LF9fd2VicGFja19yZXF1aXJlX18uZT1lPT5Qcm9taXNlLmFsbChPYmplY3Qua2V5cyhfX3dlYnBhY2tfcmVxdWlyZV9fLmYpLnJlZHVjZSgoKHIsXyk9PihfX3dlYnBhY2tfcmVxdWlyZV9fLmZbX10oZSxyKSxyKSksW10pKSxfX3dlYnBhY2tfcmVxdWlyZV9fLnU9ZT0+MzA0PT09ZT8ibmVzdGVkLXRpdGxlLWtleWJvYXJkLWhhbmRsZXIuYzQyMmY3NzNkYmFhYWYyNDc5OTAuYnVuZGxlLm1pbi5qcyI6ODM1PT09ZT8ibGlnaHRib3guMDJmNzVmOTg5ZWYyZmJhYjUxNDcuYnVuZGxlLm1pbi5qcyI6MzA9PT1lPyJ0ZXh0LXBhdGguMmJhN2NlNDU4ZDUzOWY5YWVhMjguYnVuZGxlLm1pbi5qcyI6MTMxPT09ZT8iYWNjb3JkaW9uLjI0MjRiZDhkNDRkMzNjMDYyNDhhLmJ1bmRsZS5taW4uanMiOjcwNz09PWU/ImFsZXJ0Ljg1ODA3YTQxMzgxZThlZDY2NWIwLmJ1bmRsZS5taW4uanMiOjQ1Nz09PWU/ImNvdW50ZXIuYjhhNzVhZDM3YWUzMTY0MTA1ZmUuYnVuZGxlLm1pbi5qcyI6MjM0PT09ZT8icHJvZ3Jlc3MuNjg0NTJjYTg0MzJmZDVmYjY1NGIuYnVuZGxlLm1pbi5qcyI6NTc1PT09ZT8idGFicy4zOTE5ZjQxNzQ0MzFjMTIyZjNkOC5idW5kbGUubWluLmpzIjo3NzU9PT1lPyJ0b2dnbGUuNWE5ODI0MWE1YTQwZDM3OTY4YjAuYnVuZGxlLm1pbi5qcyI6MTgwPT09ZT8idmlkZW8uNjlkYTc1Y2UwZGQwODRjYzM1OTYuYnVuZGxlLm1pbi5qcyI6MTc3PT09ZT8iaW1hZ2UtY2Fyb3VzZWwuNzhiODgxZjNjNzgxODExMWMyZDcuYnVuZGxlLm1pbi5qcyI6MjEyPT09ZT8idGV4dC1lZGl0b3IuMmNiYjgwMTg2M2I1MTE4ZTA4MjUuYnVuZGxlLm1pbi5qcyI6MjExPT09ZT8id3AtYXVkaW8uNGVkMGZlYzlkNDBmMjkxYzNiMzIuYnVuZGxlLm1pbi5qcyI6OTE1PT09ZT8ibmVzdGVkLWFjY29yZGlvbi44ZmZiZTU3MGVhYWU5YzYzMmRjMS5idW5kbGUubWluLmpzIjoxPT09ZT8iY29udGFjdC1idXR0b25zLjA1MzgwOWY3MjA1YmY3YmI0NzZkLmJ1bmRsZS5taW4uanMiOjMzNj09PWU/ImZsb2F0aW5nLWJhcnMuMzZjYTMxYmYyMzAwNDQwNGFkY2IuYnVuZGxlLm1pbi5qcyI6MjE2PT09ZT8iY29udGFpbmVyLjVmZWM0Y2M3ZTkzODg4MzcxMjA4LmJ1bmRsZS5taW4uanMiOnZvaWQgMCxfX3dlYnBhY2tfcmVxdWlyZV9fLmc9ZnVuY3Rpb24oKXtpZigib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMpcmV0dXJuIGdsb2JhbFRoaXM7dHJ5e3JldHVybiB0aGlzfHxuZXcgRnVuY3Rpb24oInJldHVybiB0aGlzIikoKX1jYXRjaChlKXtpZigib2JqZWN0Ij09dHlwZW9mIHdpbmRvdylyZXR1cm4gd2luZG93fX0oKSxfX3dlYnBhY2tfcmVxdWlyZV9fLm89KGUscik9Pk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHIpLHQ9e30sYT0iZWxlbWVudG9yOiIsX193ZWJwYWNrX3JlcXVpcmVfXy5sPShlLHIsXyxpKT0+e2lmKHRbZV0pdFtlXS5wdXNoKHIpO2Vsc2V7dmFyIG4sYztpZih2b2lkIDAhPT1fKWZvcih2YXIgbz1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IiksdT0wO3U8by5sZW5ndGg7dSsrKXt2YXIgYj1vW3VdO2lmKGIuZ2V0QXR0cmlidXRlKCJzcmMiKT09ZXx8Yi5nZXRBdHRyaWJ1dGUoImRhdGEtd2VicGFjayIpPT1hK18pe249YjticmVha319bnx8KGM9ITAsKG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0IikpLmNoYXJzZXQ9InV0Zi04IixuLnRpbWVvdXQ9MTIwLF9fd2VicGFja19yZXF1aXJlX18ubmMmJm4uc2V0QXR0cmlidXRlKCJub25jZSIsX193ZWJwYWNrX3JlcXVpcmVfXy5uYyksbi5zZXRBdHRyaWJ1dGUoImRhdGEtd2VicGFjayIsYStfKSxuLnNyYz1lKSx0W2VdPVtyXTt2YXIgb25TY3JpcHRDb21wbGV0ZT0ocixfKT0+e24ub25lcnJvcj1uLm9ubG9hZD1udWxsLGNsZWFyVGltZW91dChwKTt2YXIgYT10W2VdO2lmKGRlbGV0ZSB0W2VdLG4ucGFyZW50Tm9kZSYmbi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pLGEmJmEuZm9yRWFjaCgoZT0+ZShfKSkpLHIpcmV0dXJuIHIoXyl9LHA9c2V0VGltZW91dChvblNjcmlwdENvbXBsZXRlLmJpbmQobnVsbCx2b2lkIDAse3R5cGU6InRpbWVvdXQiLHRhcmdldDpufSksMTJlNCk7bi5vbmVycm9yPW9uU2NyaXB0Q29tcGxldGUuYmluZChudWxsLG4ub25lcnJvciksbi5vbmxvYWQ9b25TY3JpcHRDb21wbGV0ZS5iaW5kKG51bGwsbi5vbmxvYWQpLGMmJmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobil9fSxfX3dlYnBhY2tfcmVxdWlyZV9fLnI9ZT0+eyJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LCgoKT0+e3ZhciBlO19fd2VicGFja19yZXF1aXJlX18uZy5pbXBvcnRTY3JpcHRzJiYoZT1fX3dlYnBhY2tfcmVxdWlyZV9fLmcubG9jYXRpb24rIiIpO3ZhciByPV9fd2VicGFja19yZXF1aXJlX18uZy5kb2N1bWVudDtpZighZSYmciYmKHIuY3VycmVudFNjcmlwdCYmIlNDUklQVCI9PT1yLmN1cnJlbnRTY3JpcHQudGFnTmFtZS50b1VwcGVyQ2FzZSgpJiYoZT1yLmN1cnJlbnRTY3JpcHQuc3JjKSwhZSkpe3ZhciBfPXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpO2lmKF8ubGVuZ3RoKWZvcih2YXIgdD1fLmxlbmd0aC0xO3Q+LTEmJighZXx8IS9eaHR0cChzPyk6Ly50ZXN0KGUpKTspZT1fW3QtLV0uc3JjfWlmKCFlKXRocm93IG5ldyBFcnJvcigiQXV0b21hdGljIHB1YmxpY1BhdGggaXMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIGJyb3dzZXIiKTtlPWUucmVwbGFjZSgvIy4qJC8sIiIpLnJlcGxhY2UoL1w/LiokLywiIikucmVwbGFjZSgvXC9bXlwvXSskLywiLyIpLF9fd2VicGFja19yZXF1aXJlX18ucD1lfSkoKSwoKCk9Pnt2YXIgZT17NzY6MH07X193ZWJwYWNrX3JlcXVpcmVfXy5mLmo9KHIsXyk9Pnt2YXIgdD1fX3dlYnBhY2tfcmVxdWlyZV9fLm8oZSxyKT9lW3JdOnZvaWQgMDtpZigwIT09dClpZih0KV8ucHVzaCh0WzJdKTtlbHNlIGlmKDc2IT1yKXt2YXIgYT1uZXcgUHJvbWlzZSgoKF8sYSk9PnQ9ZVtyXT1bXyxhXSkpO18ucHVzaCh0WzJdPWEpO3ZhciBpPV9fd2VicGFja19yZXF1aXJlX18ucCtfX3dlYnBhY2tfcmVxdWlyZV9fLnUociksbj1uZXcgRXJyb3I7X193ZWJwYWNrX3JlcXVpcmVfXy5sKGksKF89PntpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZSxyKSYmKDAhPT0odD1lW3JdKSYmKGVbcl09dm9pZCAwKSx0KSl7dmFyIGE9XyYmKCJsb2FkIj09PV8udHlwZT8ibWlzc2luZyI6Xy50eXBlKSxpPV8mJl8udGFyZ2V0JiZfLnRhcmdldC5zcmM7bi5tZXNzYWdlPSJMb2FkaW5nIGNodW5rICIrcisiIGZhaWxlZC5cbigiK2ErIjogIitpKyIpIixuLm5hbWU9IkNodW5rTG9hZEVycm9yIixuLnR5cGU9YSxuLnJlcXVlc3Q9aSx0WzFdKG4pfX0pLCJjaHVuay0iK3Iscil9ZWxzZSBlW3JdPTB9LF9fd2VicGFja19yZXF1aXJlX18uTy5qPXI9PjA9PT1lW3JdO3ZhciB3ZWJwYWNrSnNvbnBDYWxsYmFjaz0ocixfKT0+e3ZhciB0LGEsW2ksbixjXT1fLG89MDtpZihpLnNvbWUoKHI9PjAhPT1lW3JdKSkpe2Zvcih0IGluIG4pX193ZWJwYWNrX3JlcXVpcmVfXy5vKG4sdCkmJihfX3dlYnBhY2tfcmVxdWlyZV9fLm1bdF09blt0XSk7aWYoYyl2YXIgdT1jKF9fd2VicGFja19yZXF1aXJlX18pfWZvcihyJiZyKF8pO288aS5sZW5ndGg7bysrKWE9aVtvXSxfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZSxhKSYmZVthXSYmZVthXVswXSgpLGVbYV09MDtyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXy5PKHUpfSxyPXNlbGYud2VicGFja0NodW5rZWxlbWVudG9yPXNlbGYud2VicGFja0NodW5rZWxlbWVudG9yfHxbXTtyLmZvckVhY2god2VicGFja0pzb25wQ2FsbGJhY2suYmluZChudWxsLDApKSxyLnB1c2g9d2VicGFja0pzb25wQ2FsbGJhY2suYmluZChudWxsLHIucHVzaC5iaW5kKHIpKX0pKCl9KSgpOw=="}},"time_used":689,"timings":{"blocked":595,"dns":0,"connect":0,"send":0,"wait":94,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJtEtqUYTkntBJ.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:43.455Z","timestamp":1785141583455,"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/outfit/v15/QGYvz_MVcBeNP4NJtEtqUYTkntBJ.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://oxlofttrd.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: 32108\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 06:09:31 GMT\r\nexpires: Fri, 23 Jul 2027 06:09:31 GMT\r\ncache-control: public, max-age=31536000\r\nage: 354612\r\nlast-modified: Thu, 04 Sep 2025 17:18:28 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":32108,"size_decoded":32921,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 32108, version 1.0","md5":"e414fe5664f376c8f145acd792939183","sha1":"5b69d46adc3a06af762193adb2dddbc359b2e786","sha256":"fa31c7981483e52cbb8b8bc1eb0dc6326f160b8699cc0899349f977f0517a9df","sha512":"51c251910e5cce616b3c336bcb63853f83c306e16e9b79e0a18f924a738ba06b3e2cb8132ff9bc6e720527234eb80e90be2625b860e1728b66d4fe86ac9bafe5","ssdeep":"768:gUX6jLkDeuAkZHs27nAflEFIapAgCauwIFPo3zjERcgmcjz:3X6tkpNAf6FIapAgCaMFozInjz","tlshash":"6ee2e14f8beb009ef3828a7812c46b3195b305d569cbfa901eef85d76b5c247c1474a8","first_seen":"2025-09-05T02:25:45.343777Z","last_seen":"2026-07-27T15:06:26.559462Z","times_seen":27671,"resource_available":false,"data":"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"}},"time_used":66,"timings":{"blocked":16,"dns":0,"connect":0,"send":0,"wait":28,"receive":22,"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/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.121Z","timestamp":1785141584121,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/8408.de534663e052075ba12f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\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: c23435d5c70995becd5da5796d45769a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":10061,"size_decoded":2244,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (10061), with no line terminators","md5":"1a43de6a5db68cdffb5be29be8c611ea","sha1":"3cd66aa1e4e9e97cd58ad3ba8f6af15ad6c8fde1","sha256":"3f9db9383ecbe7095a61cb68292e437e948824de33abb3b09239c5effac91b84","sha512":"6735b9616b71290aa8fca75a177841e1cac8bb0193205099110ee83ffc75603098ead364960c2f7f86c7848f9fc3a784a56f615ecba08502e87028ebcc46eaa7","ssdeep":"192:zx9ZzZ8+bBPb+8b7XbnVb1pcGbM9zzZxZwG3TKO0/xavh42fmmw0TuUBJuHbRPuF:zxbl4zlvwG3GVxa2ruiUBsHdPunkS","tlshash":"62227526b95302617c2b5a3d0270affc6936cb939ac387dead10e1344fc75c9a297d85","first_seen":"2026-06-18T11:35:39.145966Z","last_seen":"2026-07-27T15:03:44.271832Z","times_seen":3202,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtUVpDcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLVFaQ3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LW1hcmtldC1zdGF0dXNfX2RvdHtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDo0cHh9LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXR7Y29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1tYXJrZXQtc3RhdHVzLS1wcmUtbWFya2V0IC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCl9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtbWFya2V0LXN0YXR1cy0tb3V0LW9mLXNlc3Npb257Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLW91dC1vZi1zZXNzaW9uIC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0taW52YWxpZHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1pbnZhbGlkIC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1yZXBsYXl7Y29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLXJlcGxheSAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXl7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXkgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1kZWxpc3RlZHtjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWRhbmdlci1hY3RpdmUpfS50di1tYXJrZXQtc3RhdHVzLS1uaWdodHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKX0udHYtbWFya2V0LXN0YXR1cy0tbmlnaHQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpfS50di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbl9fd2l0aEljb257aGVpZ2h0OjE4cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7d2lkdGg6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LW1hcmtldC1zdGF0dXMtLW91dC1vZi1zZXNzaW9uX193aXRoSWNvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVFaQ3IpfX0udHYtbWFya2V0LXN0YXR1cy0tb3V0LW9mLXNlc3Npb25fX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbl9fd2l0aEljb24gLnR2LW1hcmtldC1zdGF0dXNfX2ljb257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1RWkNyKTtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4Oy13ZWJraXQtbWFzazp1cmwobWFya2V0LWNsb3NlLmQwMjVlODcxMDAxOTljMWJjN2FmLnN2Zyk7bWFzazp1cmwobWFya2V0LWNsb3NlLmQwMjVlODcxMDAxOTljMWJjN2FmLnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tcHJlLW1hcmtldF9fd2l0aEljb257aGVpZ2h0OjE4cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7d2lkdGg6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApfX0udHYtbWFya2V0LXN0YXR1cy0tcHJlLW1hcmtldF9fd2l0aEljb246YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo2cHg7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O29wYWNpdHk6MTUlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXRfX3dpdGhJY29uIC50di1tYXJrZXQtc3RhdHVzX19pY29ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtcHJlLjdkMzdkY2NhMjM0ODMzZDEyYzQzLnN2Zyk7bWFzazp1cmwobWFya2V0LXByZS43ZDM3ZGNjYTIzNDgzM2QxMmM0My5zdmcpOy13ZWJraXQtbWFzay1wb3NpdGlvbjpjZW50ZXI7bWFzay1wb3NpdGlvbjpjZW50ZXI7LXdlYmtpdC1tYXNrLXNpemU6Y292ZXI7bWFzay1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfX0udHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXRfX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1wb3N0LW1hcmtldF9fd2l0aEljb24gLnR2LW1hcmtldC1zdGF0dXNfX2ljb257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDstd2Via2l0LW1hc2s6dXJsKG1hcmtldC1wb3N0LjlmMmM1YmZkYTk0MDVhMjkxZjkwLnN2Zyk7bWFzazp1cmwobWFya2V0LXBvc3QuOWYyYzViZmRhOTQwNWEyOTFmOTAuc3ZnKTstd2Via2l0LW1hc2stcG9zaXRpb246Y2VudGVyO21hc2stcG9zaXRpb246Y2VudGVyOy13ZWJraXQtbWFzay1zaXplOmNvdmVyO21hc2stc2l6ZTpjb3Zlcjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1ob2xpZGF5X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0taG9saWRheV9fd2l0aEljb246aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1RWkNyKX19LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXlfX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1ob2xpZGF5X193aXRoSWNvbiAudHYtbWFya2V0LXN0YXR1c19faWNvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVFaQ3IpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtaG9saWRheS40M2NhMzNkNjkwOTM5YjkzOTc4Ni5zdmcpO21hc2s6dXJsKG1hcmtldC1ob2xpZGF5LjQzY2EzM2Q2OTA5MzliOTM5Nzg2LnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWRfX3dpdGhJY29ue2hlaWdodDoxOHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4O3dpZHRoOjE4cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1tYXJrZXQtc3RhdHVzLS1kZWxpc3RlZF9fd2l0aEljb246aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX19LnR2LW1hcmtldC1zdGF0dXMtLWRlbGlzdGVkX193aXRoSWNvbjphZnRlcntib3JkZXItcmFkaXVzOjZweDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7b3BhY2l0eToxNSU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWRfX3dpdGhJY29uIC50di1tYXJrZXQtc3RhdHVzX19pY29ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLWFjdGl2ZSk7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDstd2Via2l0LW1hc2s6dXJsKGRlbGlzdGVkLW1vYmlsZS40ZDI2YTJkN2M0MzFkZmZlOTRlZC5zdmcpO21hc2s6dXJsKGRlbGlzdGVkLW1vYmlsZS40ZDI2YTJkN2M0MzFkZmZlOTRlZC5zdmcpOy13ZWJraXQtbWFzay1wb3NpdGlvbjpjZW50ZXI7bWFzay1wb3NpdGlvbjpjZW50ZXI7LXdlYmtpdC1tYXNrLXNpemU6Y292ZXI7bWFzay1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLW5pZ2h0X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0tbmlnaHRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9fS50di1tYXJrZXQtc3RhdHVzLS1uaWdodF9fd2l0aEljb246YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo2cHg7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O29wYWNpdHk6MTUlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLW5pZ2h0X193aXRoSWNvbiAudHYtbWFya2V0LXN0YXR1c19faWNvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtcG9zdC45ZjJjNWJmZGE5NDA1YTI5MWY5MC5zdmcpO21hc2s6dXJsKG1hcmtldC1wb3N0LjlmMmM1YmZkYTk0MDVhMjkxZjkwLnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0e2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6aW5saW5lLXN0YXJ0O21hcmdpbi1pbmxpbmUtZW5kOjB9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcHJlLW1hcmtldHtjb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcHJlLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLXBvc3QtbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1wb3N0LW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLW1hcmtldHtjb2xvcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1vdXQtb2Ytc2Vzc2lvbntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1vdXQtb2Ytc2Vzc2lvbiAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0taW52YWxpZHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLWludmFsaWQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcmVwbGF5e2NvbG9yOnZhcigtLWNvbG9yLXJlcGxheS1kYXRhLW1vZGUpfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLXJlcGxheSAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0taG9saWRheXtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1ob2xpZGF5IC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1kZWxpc3RlZHtjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1kZWxpc3RlZCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLWFjdGl2ZSl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tbmlnaHR7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tbmlnaHQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpfS50di1tYXJrZXQtc3RhdHVzLS1sb2FkaW5nLS1mb3ItY2hhcnR7Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1sb2FkaW5nLS1mb3ItY2hhcnQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXRpY2tlcnttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXdhdGNoLWxpc3R7bWFyZ2luOmF1dG8gM3B4fS50di1tYXJrZXQtc3RhdHVzLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTppbmxpbmUtZmxleDttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXN0aWNreS1zeW1ib2wtaGVhZGVyLC50di1tYXJrZXQtc3RhdHVzLS1mb3ItdGlja2VyLXRhcGV7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDt0cmFuc2Zvcm06dHJhbnNsYXRlWCg0cHgpfS50di1tYXJrZXQtc3RhdHVzLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXI6ZGlyKHJ0bCksLnR2LW1hcmtldC1zdGF0dXMtLWZvci10aWNrZXItdGFwZTpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNHB4KX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS50di1tYXJrZXQtc3RhdHVzX19kb3QtLWZvci1jaGFydHtoZWlnaHQ6NnB4O21hcmdpbi1yaWdodDo0cHg7dmVydGljYWwtYWxpZ246MXB4O3dpZHRoOjZweH0udHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLWNhcmR7aGVpZ2h0OjZweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDo2cHh9LnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXdhdGNoLWxpc3R7bWFyZ2luLWJvdHRvbTozcHh9LnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1sYXN0e2hlaWdodDo2cHg7d2lkdGg6NnB4fS50di1tYXJrZXQtc3RhdHVzX19kb3QtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLXRhcGV7aGVpZ2h0OjRweDt3aWR0aDo0cHh9LnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItY2hhcnR7ZGlzcGxheTpibG9jaztmbG9hdDppbmxpbmUtZW5kO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLWlubGluZS1lbmQ6MH0udHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci1jaGFydDpkaXIocnRsKXttYXJnaW4taW5saW5lLWVuZDo2cHh9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXIsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLC50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1jYXJkLC50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1oZWFkZXIsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLWxhc3QsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLXRhcGUsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3Itd2F0Y2gtbGlzdCwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXIsLnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItdGlja2VyLWNhcmQsLnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItdGlja2VyLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXItbGFzdCwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXItdGFwZSwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci13YXRjaC1saXN0e2Rpc3BsYXk6bm9uZX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0e21hcmdpbi1pbmxpbmUtc3RhcnQ6NXB4fS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQ6ZGlyKHJ0bCl7bWFyZ2luLWlubGluZS1zdGFydDowfS50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQtLWZvci1jaGFydHtkaXNwbGF5Om5vbmV9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldF9fd2l0aEljb257ZGlzcGxheTpub25lIWltcG9ydGFudH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQtLWZvci13YXRjaC1saXN0e21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQtLWZvci13YXRjaC1saXN0OmFmdGVye2Rpc3BsYXk6bm9uZX0="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/88906.0d650469c9c843577b47.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.127Z","timestamp":1785141584127,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/88906.0d650469c9c843577b47.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-5029\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bfe3dde76e7d138d9c77c1c6c15b35da\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20521,"size_decoded":4225,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (20521), with no line terminators","md5":"4a51ba6d12ee0610b5d72dd27e711a99","sha1":"aad2a74218259b98d0471539beaba1a0f6d22f98","sha256":"701de67c496f57ecf6702cbf74570ac82c16d20f7661b5336e4b57faaf99a48b","sha512":"ae10205cd98ebe930ec6b30d92db97e27eb3811af4aac3da8ad6e32444c18b650cfb62f89d379fb2f320f1dcdf197bedd1e7fae73ad4ca5af2a4c0ce0a964737","ssdeep":"384:lN346M/4UZch+iBcHuNeCB/H1nVdx2Z1L:g6M/46ch8","tlshash":"eb929cadef35f639e43d972bd7a3789f3910d7caae13469ba2d4141504cabe34122c84","first_seen":"2026-07-23T13:54:09.175898Z","last_seen":"2026-07-27T14:50:15.409138Z","times_seen":290,"resource_available":false,"data":"OnJvb3QsW2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1waG9uZTo1NnB4Oy0tdi1yaHl0aG0taGVhZGVyLTEtc3BhY2UtdGFibGV0OjgwcHg7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1sYXB0b3A6MTAwcHg7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1kZXNrdG9wOjEyMHB4Oy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtcGhvbmU6MTZweDstLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlLXRhYmxldDoyNHB4Oy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtbGFwdG9wOjMycHg7LS12LXJoeXRobS1oZWFkZXItMi1zcGFjZS1kZXNrdG9wOjQwcHg7LS12LXJoeXRobS1oZWFkZXItMy1zcGFjZS1waG9uZToxNnB4Oy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtdGFibGV0OjE2cHg7LS12LXJoeXRobS1oZWFkZXItMy1zcGFjZS1sYXB0b3A6MjRweDstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLWRlc2t0b3A6MjRweDstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLXBob25lOjU2cHg7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZS10YWJsZXQ6ODBweDstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWxhcHRvcDoxMDBweDstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWRlc2t0b3A6MTIwcHg7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZS1waG9uZToxNnB4Oy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtdGFibGV0OjI0cHg7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZS1sYXB0b3A6MzJweDstLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlLWRlc2t0b3A6NDBweDstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLXBob25lOjE2cHg7LS12LXJoeXRobS1mb290ZXItMy1zcGFjZS10YWJsZXQ6MTZweDstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLWxhcHRvcDoyNHB4Oy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtZGVza3RvcDoyNHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0xLXBob25lOjgwcHg7LS12LXJoeXRobS1zcGFjaW5nLTEtdGFibGV0OjEyMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0xLWxhcHRvcDoxNjBweDstLXYtcmh5dGhtLXNwYWNpbmctMS1kZXNrdG9wOjIwMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0yLXBob25lOjY0cHg7LS12LXJoeXRobS1zcGFjaW5nLTItdGFibGV0Ojg4cHg7LS12LXJoeXRobS1zcGFjaW5nLTItbGFwdG9wOjEyMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0yLWRlc2t0b3A6MTYwcHg7LS12LXJoeXRobS1zcGFjaW5nLTMtcGhvbmU6NDhweDstLXYtcmh5dGhtLXNwYWNpbmctMy10YWJsZXQ6NjRweDstLXYtcmh5dGhtLXNwYWNpbmctMy1sYXB0b3A6ODhweDstLXYtcmh5dGhtLXNwYWNpbmctMy1kZXNrdG9wOjEyMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy00LXBob25lOjQ4cHg7LS12LXJoeXRobS1zcGFjaW5nLTQtdGFibGV0OjQ4cHg7LS12LXJoeXRobS1zcGFjaW5nLTQtbGFwdG9wOjY0cHg7LS12LXJoeXRobS1zcGFjaW5nLTQtZGVza3RvcDo4MHB4Oy0tdi1yaHl0aG0tc3BhY2luZy01LXBob25lOjMycHg7LS12LXJoeXRobS1zcGFjaW5nLTUtdGFibGV0OjMycHg7LS12LXJoeXRobS1zcGFjaW5nLTUtbGFwdG9wOjQwcHg7LS12LXJoeXRobS1zcGFjaW5nLTUtZGVza3RvcDo0OHB4Oy0tdi1yaHl0aG0taGVhZGVyLTEtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTEtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tZm9vdGVyLTEtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTEtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tc3BhY2luZy0xOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMS1waG9uZSk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLXBob25lKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtcGhvbmUpOy0tdi1yaHl0aG0tc3BhY2luZy00OnZhcigtLXYtcmh5dGhtLXNwYWNpbmctNC1waG9uZSk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LXBob25lKX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7OnJvb3R7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LXRhYmxldCl9fUBzdXBwb3J0cyBub3QgKGNvbnRhaW5lci10eXBlOmlubGluZS1zaXplKXtAbWVkaWEgKG1pbi13aWR0aDo3MDJweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LXRhYmxldCl9fX1AY29udGFpbmVyIGNvbnRlbnQtY29udGFpbmVyIChtaW4td2lkdGg6IDcwMnB4KXtbZGF0YS1xdWVyeS10eXBlPWNvbnRhaW5lcl0+KnstLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1oZWFkZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMi1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMi1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctMTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTEtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctMjp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTItdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctNDp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTQtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctNTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTUtdGFibGV0KX19QG1lZGlhIChtaW4td2lkdGg6MTI4MHB4KXs6cm9vdHstLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1oZWFkZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMi1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMi1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTEtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMjp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTItbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctNDp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTQtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctNTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTUtbGFwdG9wKX19QHN1cHBvcnRzIG5vdCAoY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUpe0BtZWRpYSAobWluLXdpZHRoOjEyMTRweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LWxhcHRvcCl9fX1AY29udGFpbmVyIGNvbnRlbnQtY29udGFpbmVyIChtaW4td2lkdGg6IDEyMTRweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LWxhcHRvcCl9fUBtZWRpYSAobWluLXdpZHRoOjE0NDBweCl7OnJvb3R7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy0yOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMi1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy01OnZhcigtLXYtcmh5dGhtLXNwYWNpbmctNS1kZXNrdG9wKX19QHN1cHBvcnRzIG5vdCAoY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUpe0BtZWRpYSAobWluLXdpZHRoOjEzNzRweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy0yOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMi1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy01OnZhcigtLXYtcmh5dGhtLXNwYWNpbmctNS1kZXNrdG9wKX19fUBjb250YWluZXIgY29udGVudC1jb250YWluZXIgKG1pbi13aWR0aDogMTM3NHB4KXtbZGF0YS1xdWVyeS10eXBlPWNvbnRhaW5lcl0+KnstLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1oZWFkZXItMy1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMy1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1mb290ZXItMy1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMy1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTEtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy0zOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMy1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctNDp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTQtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LWRlc2t0b3ApfX0udHYtdGV4dCBvbCwudHYtdGV4dCBwLC50di10ZXh0IHVse2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MS42O21hcmdpbi1ib3R0b206MTJweH0udHYtdGV4dCBoMXtmb250LXNpemU6NDVweDttYXJnaW4tYm90dG9tOjMwcHg7bWFyZ2luLXRvcDozMHB4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXRleHQgaDF7Zm9udC1zaXplOjM4cHh9fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtdGV4dCBoMXtmb250LXNpemU6MzJweH19QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di10ZXh0IGgxe2ZvbnQtc2l6ZToyOHB4fX0udHYtdGV4dCBoMntmb250LXNpemU6MzFweH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di10ZXh0IGgye2ZvbnQtc2l6ZToyNnB4fX1AbWVkaWEgKG1heC13aWR0aDo0NzlweCl7LnR2LXRleHQgaDJ7Zm9udC1zaXplOjI0cHh9fS50di10ZXh0IGgze2ZvbnQtc2l6ZToxN3B4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXRleHQgaDN7Zm9udC1zaXplOjE2cHh9fS50di10ZXh0IGg0e2ZvbnQtc2l6ZToxNXB4fS50di10ZXh0IGgyLC50di10ZXh0IGgzLC50di10ZXh0IGg0e21hcmdpbi1ib3R0b206MjBweDttYXJnaW4tdG9wOjIwcHh9LnR2LXRleHQgaDE6Zmlyc3QtY2hpbGQsLnR2LXRleHQgaDI6Zmlyc3QtY2hpbGQsLnR2LXRleHQgaDM6Zmlyc3QtY2hpbGQsLnR2LXRleHQgaDQ6Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfS50di10ZXh0IG9sLC50di10ZXh0IHVse2xpc3Qtc3R5bGUtcG9zaXRpb246aW5zaWRlfS50di10ZXh0LS1wb3NpdGlvbi1vdXRzaWRlIG9sLC50di10ZXh0LS1wb3NpdGlvbi1vdXRzaWRlIHVse2xpc3Qtc3R5bGUtcG9zaXRpb246b3V0c2lkZTtwYWRkaW5nLWlubGluZS1zdGFydDoxN3B4fS50di10ZXh0IGE6bm90KC50di1idXR0b24pOm5vdCgudHYtY2hhcnQtdmlld19fZGVzY3JpcHRpb25fX3RhZyksLnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0KTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKX19LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlKX0udHYtdGV4dCBhOm5vdCgudHYtYnV0dG9uKTpub3QoLnR2LWNoYXJ0LXZpZXdfX2Rlc2NyaXB0aW9uX190YWcpOmZvY3Vze291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe291dGxpbmU6bm9uZX0udHYtdGV4dC0tZGFya2JnLC50di10ZXh0LS1kYXJrYmcgb2wsLnR2LXRleHQtLWRhcmtiZyBwLC50di10ZXh0LS1kYXJrYmcgdWx7Y29sb3I6I2ZmZn0uYXJpYS1saXZlLXJlZ2lvbnMtd3JhcHBlcntib3JkZXI6MDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7Y2xpcDpyZWN0KDAsMCwwLDApO292ZXJmbG93LXg6aGlkZGVufWh0bWx7Y29sb3Itc2NoZW1lOmxpZ2h0fWh0bWwudGhlbWUtZGFya3tjb2xvci1zY2hlbWU6ZGFya31odG1sLnRoZW1lLWRhcmsgaWZyYW1le2NvbG9yLXNjaGVtZTpub3JtYWx9Ym9keXtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWluLXdpZHRoOjMyMHB4Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH1ib2R5Lmktbm8tc2Nyb2xse292ZXJmbG93OmhpZGRlbiFpbXBvcnRhbnR9Ym9keS5pLW5vLXBhZGRpbmd7cGFkZGluZzowIWltcG9ydGFudH06OnNlbGVjdGlvbntiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXNlbGVjdGlvbi1iZyl9LnNjcmVlbi1pd3I5T3Rwc3tib3R0b206MDtkaXNwbGF5Om5vbmU7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6LjU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7ei1pbmRleDo4fS5zY3JlZW4taXdyOU90cHMuZmFkZS1pd3I5T3Rwc3thbmltYXRpb246c2NyZWVuZmFkZS1pd3I5T3RwcyAuM3MgZWFzZSBiYWNrd2FyZHM7ZGlzcGxheTpibG9ja31Aa2V5ZnJhbWVzIHNjcmVlbmZhZGUtaXdyOU90cHN7MCV7b3BhY2l0eTowfX0ucGFuZVNlcGFyYXRvci1haTlNWEo5a3ttYXJnaW46MDtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmV9LnBhbmVTZXBhcmF0b3ItYWk5TVhKOWsgLmhhbmRsZS1haTlNWEo5a3toZWlnaHQ6N3B4O2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotM3B4O3dpZHRoOjEwMCU7ei1pbmRleDo1MH0ucGFuZVNlcGFyYXRvci1haTlNWEo5ayAuaGFuZGxlLWFpOU1YSjlrLm1vYmlsZS1haTlNWEo5a3toZWlnaHQ6MTFweDt0b3A6LTVweH0ucGFuZVNlcGFyYXRvci1haTlNWEo5ayAuaGFuZGxlLWFpOU1YSjlrLmFjdGl2ZS1haTlNWEo5aywucGFuZVNlcGFyYXRvci1haTlNWEo5ayAuaGFuZGxlLWFpOU1YSjlrLmhvdmVyZWQtYWk5TVhKOWssLnBhbmVTZXBhcmF0b3ItYWk5TVhKOWsgLmhhbmRsZS1haTlNWEo5ay5zZWxlY3RlZC1haTlNWEo5a3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbGlnaHQpO2N1cnNvcjpyb3ctcmVzaXplfS5wYW5lU2VwYXJhdG9yLWFpOU1YSjlrIC5oYW5kbGUtYWk5TVhKOWsuYWN0aXZlLWFpOU1YSjlrOmJlZm9yZXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWxpZ2h0KTtjb250ZW50OiIiO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6MDtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlfS5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLXdyYXBwZXItYlRDVFJDVGp7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6NHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7d2lkdGg6MTAwJTt6LWluZGV4OjN9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtd3JhcHBlci1iVENUUkNUai5oaWRkZW4tYlRDVFJDVGp7dmlzaWJpbGl0eTpoaWRkZW59LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGp7YmFja2dyb3VuZDp2YXIoLS1jb2xvci13aGl0ZSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTtib3JkZXItcmFkaXVzOjRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOmRlZmF1bHQ7d2lkdGg6MTAwJX0ucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1iVENUUkNUaiAucm93LWJUQ1RSQ1Rqe2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTtjb2x1bW4tZ2FwOjJweDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bGluZS1oZWlnaHQ6MWVtO3BhZGRpbmc6MCAzcHh9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogLnJvdy1iVENUUkNUajpudGgtY2hpbGQoMSBvZiA6bm90KC5qcy1oaWRkZW4pKXtib3JkZXItc3RhcnQtZW5kLXJhZGl1czozcHg7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czozcHh9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogLnJvdy1iVENUUkNUajpudGgtbGFzdC1jaGlsZCgtbisxIG9mIDpub3QoLmpzLWhpZGRlbikpe2JvcmRlci1lbmQtZW5kLXJhZGl1czozcHg7Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6M3B4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1iVENUUkNUaiAucm93LWJUQ1RSQ1RqOmhvdmVyOm5vdCgucmVhZG9ubHkpe2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCl9fS5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIC5yb3ctYlRDVFJDVGouZXhwYW5kZWQtYlRDVFJDVGp7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX0ucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1iVENUUkNUaiAucm93LWJUQ1RSQ1RqLmV4cGFuZGVkLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWFycm93LWRvd24tYlRDVFJDVGp7dHJhbnNmb3JtOnNjYWxlWSgtMSl9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogZGl2e3BvaW50ZXItZXZlbnRzOmF1dG99LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtdGV4dC1iVENUUkNUant3aGl0ZS1zcGFjZTpub3dyYXB9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYXJyb3ctZG93bi1iVENUUkNUanthbGlnbi1zZWxmOmNlbnRlcjtkaXNwbGF5OmZsZXh9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1Rqe2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLXdyYXBwZXItYlRDVFJDVGogLnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogLnJvdy1iVENUUkNUantjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIC5yb3ctYlRDVFJDVGo6aG92ZXI6bm90KC5yZWFkb25seSl7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIC5yb3ctYlRDVFJDVGouZXhwYW5kZWQtYlRDVFJDVGp7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0ucHJpY2UtYXhpc3tjdXJzb3I6ZGVmYXVsdDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGV9LnByaWNlLWF4aXMtLWN1cnNvci1ncmFiYmluZ3tjdXJzb3I6Z3JhYmJpbmd9LnByaWNlLWF4aXMtLWN1cnNvci1wb2ludGVye2N1cnNvcjpwb2ludGVyfS5wcmljZS1heGlzLS1jdXJzb3ItbnMtcmVzaXple2N1cnNvcjpucy1yZXNpemV9LnByaWNlLWF4aXNfX21vZGVCdXR0b25ze2JvdHRvbTowO21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZToxcHggMXB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOmNhbGMoMTAwJSAtIDJweCk7ei1pbmRleDozfS5wcmljZS1heGlzX19tb2RlQnV0dG9uc19oaWRkZW57dmlzaWJpbGl0eTpoaWRkZW59LnBhbmV7Y3Vyc29yOmNyb3NzaGFpcjtvdmVyZmxvdzpoaWRkZW59LnBhbmUtLWN1cnNvci1wb2ludGVye2N1cnNvcjpwb2ludGVyfS5wYW5lLS1jdXJzb3ItZXJhc2Vye2N1cnNvcjp1cmwoZXJhc2VyLmM4MDYxMGEwNGE5MmQyNDY1YjAzLmN1ciksZGVmYXVsdH0ucGFuZS0tY3Vyc29yLWRvdHtjdXJzb3I6dXJsKGRvdC4zZDYxN2I2YjAxZWRiYTgzYTdmNC5jdXIpLGRlZmF1bHR9LnBhbmUtLWN1cnNvci1wZXJmb3JtYW5jZXtjdXJzb3I6dXJsKHBlcmZvcm1hbmNlLjc2OWNmOWRkYTJlZGU3ZDEyYjc0LnN2ZyksZGVmYXVsdH0ucGFuZS0tY3Vyc29yLWRlZmF1bHQsLnBhbmUtLWN1cnNvci1kZW1vbnN0cmF0aW9ue2N1cnNvcjpkZWZhdWx0fS5wYW5lLS1jdXJzb3ItZ3JhYmJpbmd7Y3Vyc29yOmdyYWJiaW5nfS5wYW5lLS1jdXJzb3Item9vbS1pbntjdXJzb3I6em9vbS1pbn0ucGFuZS0tY3Vyc29yLWV3LXJlc2l6ZXtjdXJzb3I6ZXctcmVzaXplfS5wYW5lLS1jdXJzb3ItbnMtcmVzaXple2N1cnNvcjpucy1yZXNpemV9LnBhbmUtLWN1cnNvci1ud3NlLXJlc2l6ZXtjdXJzb3I6bndzZS1yZXNpemV9LnBhbmUtLWN1cnNvci1ud3NlLXJlc2l6ZTpkaXIocnRsKXtjdXJzb3I6bmVzdy1yZXNpemV9LnBhbmUtLWN1cnNvci1uZXN3LXJlc2l6ZXtjdXJzb3I6bmVzdy1yZXNpemV9LnBhbmUtLWN1cnNvci1uZXN3LXJlc2l6ZTpkaXIocnRsKXtjdXJzb3I6bndzZS1yZXNpemV9LnBhbmUtLWN1cnNvci10ZXh0e2N1cnNvcjp0ZXh0fS5wYW5lLS1jdXJzb3Itbm9uZXtjdXJzb3I6bm9uZX0udGltZS1heGlze2N1cnNvcjpkZWZhdWx0fS50aW1lLWF4aXMtLWN1cnNvci1ncmFiYmluZ3tjdXJzb3I6Z3JhYmJpbmd9LnRpbWUtYXhpcy0tY3Vyc29yLWV3LXJlc2l6ZXtjdXJzb3I6ZXctcmVzaXplfS5pY29uLWlyQTBvYUg4ey0tdWktbGliLWluLWluZm9ybWVyLWljb24tY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQpOy0taWNvbi1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1saWdodCl9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtLWpHSTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC0takdJOnZhcigtLWNvbG9yLXR2LWJsdWUtODAwKX0uY2hhcnQtd2lkZ2V0e2JvcmRlci1zdHlsZTpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MjU2cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWFyZ2luOjA7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDo1MTJweH0uY2hhcnQtbWFya3VwLXRhYmxle2JvcmRlcjpub25lO2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtsaW5lLWhlaWdodDowcHh9LmNoYXJ0LW1hcmt1cC10YWJsZTpkaXIocnRsKXtkaXJlY3Rpb246bHRyfS5jaGFydC1ndWktd3JhcHBlcnthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2x1bW4tZ2FwOjRweDtkaXJlY3Rpb246bHRyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTttYXgtaGVpZ2h0OjEwMCU7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctYmxvY2s6NHB4IDA7cGFkZGluZy1pbmxpbmU6NHB4IDRweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5jaGFydC1ndWktd3JhcHBlcl9fbGVnZW5ke2ZsZXg6MSAxIGF1dG87bWF4LXdpZHRoOjEwMCV9LmNoYXJ0LWd1aS13cmFwcGVyX19wYW5lQ29udHJvbHN7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO21hcmdpbi1pbmxpbmUtc3RhcnQ6YXV0b30uYmxhY2stYm9yZGVyLWJpZ2dlci1yYWRpdXN7LS1jaGFydC13aWRnZXQtYm9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tY2hhcnQtd2lkZ2V0LWJvcmRlci1yYWRpdXM6NHB4fS5jaGFydC1wYWdle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcGxhdGZvcm0tYmFja2dyb3VuZCx2YXIoLS1jb2xvci1jaGFydC1wYWdlLWJnKSl9LmNoYXJ0LXBhZ2UgLmNoYXJ0LWNvbnRhaW5lcntjb250YWluOnN0cmljdDtwb3NpdGlvbjpyZWxhdGl2ZX0uY2hhcnQtcGFnZSAuY2hhcnQtY29udGFpbmVyLWJvcmRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXBhbmUtYmcpO2JvcmRlcjpub25lO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO3otaW5kZXg6MH0uY2hhcnQtcGFnZSAuY2hhcnQtY29udGFpbmVyLm11bHRpcGxlLmFjdGl2ZTphZnRlcntib3JkZXI6MnB4IHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLWNvbG9yLHZhcigtLV8wLS1qR0kpKTtib3R0b206MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowfS5jaGFydC1wYWdlIC5jaGFydC1jb250YWluZXIuaW5hY3RpdmUgLmJhY2stdG8tcHJlc2VudHtkaXNwbGF5Om5vbmV9LmNoYXJ0LXBhZ2UgLmNoYXJ0LWNvbnRhaW5lci5uby1oZWFkZXItdG9vbGJhciAuY2hhcnQtY29udGFpbmVyLWJvcmRlcntib3JkZXItc3RhcnQtZW5kLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cyw0cHgpO2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6dmFyKC0tY2hhcnQtd2lkZ2V0LWJvcmRlci1yYWRpdXMsNHB4KX0uY2hhcnQtcGFnZSAuY2hhcnQtY29udGFpbmVyLm5vLWJvdHRvbS10b29sYmFyIC5jaGFydC1jb250YWluZXItYm9yZGVye2JvcmRlci1lbmQtZW5kLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cyw0cHgpO2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDRweCl9LmxheW91dC13aXRoLWJvcmRlci1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZS5hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cywwKX0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1sZWZ0LWNoYXJ0IC5jaGFydC1jb250YWluZXItYm9yZGVyLC5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzIC5jaGFydC1jb250YWluZXIudG9wLWxlZnQtY2hhcnQubXVsdGlwbGUuYWN0aXZlOmFmdGVye2JvcmRlci1yYWRpdXM6dmFyKC0tY2hhcnQtd2lkZ2V0LWJvcmRlci1yYWRpdXMsNHB4IDAgMCAwKX0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1yaWdodC1jaGFydCAuY2hhcnQtY29udGFpbmVyLWJvcmRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1yaWdodC1jaGFydC5tdWx0aXBsZS5hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cywwIDRweCAwIDApfS5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzIC5jaGFydC1jb250YWluZXIudG9wLWZ1bGwtd2lkdGgtY2hhcnQgLmNoYXJ0LWNvbnRhaW5lci1ib3JkZXJ7Ym9yZGVyLXJhZGl1czo0cHggNHB4IDAgMH0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1mdWxsLXdpZHRoLWNoYXJ0Lm11bHRpcGxlLmFjdGl2ZTphZnRlcntib3JkZXItcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDRweCA0cHggMCAwKX0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyIC5jaGFydC1jb250YWluZXItYm9yZGVye2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MH0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLm11bHRpcGxlLmFjdGl2ZTphZnRlcntib3JkZXItdG9wLWxlZnQtcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDApfS5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzIC5uby1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyIC5jaGFydC1jb250YWluZXItYm9yZGVye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9LmxheW91dC13aXRoLWJvcmRlci1yYWRpdXMgLm5vLWJvcmRlci10b3AtcmlnaHQtcmFkaXVzIC5jaGFydC1jb250YWluZXIubXVsdGlwbGUuYWN0aXZlOmFmdGVye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDApfS5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzLmJsYWNrLWJvcmRlci1iaWdnZXItcmFkaXVzIC5jaGFydC1jb250YWluZXIubXVsdGlwbGUgLmNoYXJ0LWNvbnRhaW5lci1ib3JkZXIsLmxheW91dC13aXRoLWJvcmRlci1yYWRpdXMuYmxhY2stYm9yZGVyLWJpZ2dlci1yYWRpdXMgLm5vLWJvcmRlci10b3AtbGVmdC1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZSAuY2hhcnQtY29udGFpbmVyLWJvcmRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cy5ibGFjay1ib3JkZXItYmlnZ2VyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLm11bHRpcGxlLmFjdGl2ZTphZnRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cy5ibGFjay1ib3JkZXItYmlnZ2VyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZSAuY2hhcnQtY29udGFpbmVyLWJvcmRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cy5ibGFjay1ib3JkZXItYmlnZ2VyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZS5hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cyw0cHgpfS5jaGFydHNTcGxpdHRlci14cXNhT3g5Q3tiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCI7cG9zaXRpb246YWJzb2x1dGV9LmNoYXJ0c1NwbGl0dGVyLXhxc2FPeDlDLmhvdmVyZWQteHFzYU94OUN7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0KX0uY2hhcnQtY29udHJvbHMtYmFye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcGFuZS1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBhbmUtYmcpKTtib3JkZXItdG9wOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tdHYtY29sb3ItcGxhdGZvcm0tYmFja2dyb3VuZCx2YXIoLS1jb2xvci1jaGFydC1wYWdlLWJnKSk7Ym9yZGVyLXJhZGl1czowIDAgNHB4IDRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGFpbjpzdHJpY3Q7aGVpZ2h0OjM5cHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlfS5uby1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIC5jaGFydC1jb250cm9scy1iYXJ7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5uby1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyAuY2hhcnQtY29udHJvbHMtYmFye2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmJsYWNrLWJvcmRlci1iaWdnZXItcmFkaXVzIC5jaGFydC1jb250cm9scy1iYXIubXVsdGlwbGUtbGF5b3V0e2JvcmRlci1yYWRpdXM6NHB4fQ=="}},"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/37746.345227bb16e0d8bc9bd5.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.672Z","timestamp":1785141584672,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/37746.345227bb16e0d8bc9bd5.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b74-4a3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9ee2cfed75494491210d724fe3d32968\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1187,"size_decoded":1308,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1187), with no line terminators","md5":"7c2aff82ece78ae66e4fd48a3d376d48","sha1":"a0455b0a01ddb45dbeb672c1c2b4acd05473f387","sha256":"b7b76e631e49ee552d2d39a236f96bdfaf0b9feeb6bfc0f463b53af9b083016a","sha512":"eb59cb697bda650cf008b5547eb750fad0e6fb3532027021fcdf3c855b246b1f377f29bdde84c93f8e6514afcba0b90d725b44f933da0dca4ece00bb5204704f","ssdeep":"","tlshash":"59219099c45b006d493f13259bdd264d453d980262277eef39d1b0ce0a86adf23ff229","first_seen":"2026-04-09T17:47:32.401827Z","last_seen":"2026-07-27T14:50:15.353624Z","times_seen":623,"resource_available":false,"data":"LmRpYWxvZy1xeUN3MFBhTnttYXgtd2lkdGg6MzgwcHg7bWluLXdpZHRoOjI4MHB4O3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCV9LmRpYWxvZy1xeUN3MFBhTiBbZGF0YS1kcmFnZy1hcmVhPXRydWVde2N1cnNvcjpncmFifS5kaWFsb2ctcXlDdzBQYU4gW2RhdGEtZHJhZ2ctYXJlYT10cnVlXS5kcmFnZ2luZy1xeUN3MFBhTntjdXJzb3I6Z3JhYmJpbmd9aHRtbC50aGVtZS1kYXJrIC5kaWFsb2ctcXlDdzBQYU4ubW9iaWxlLXF5Q3cwUGFOe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmxhY2spfWh0bWwudGhlbWUtZGFyayAuZGlhbG9nLXF5Q3cwUGFOLm1vYmlsZS1xeUN3MFBhTjpub3QoLmZ1bGxzY3JlZW4tcXlDdzBQYU4pe2JveC1zaGFkb3c6MCA0cHggMTZweCAwIHZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApLDAgMCAycHggMCB2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0uZGlhbG9nQW5pbWF0ZWRBcHBlYXJhbmNlLXF5Q3cwUGFOe2FuaW1hdGlvbi1kdXJhdGlvbjouM3M7YW5pbWF0aW9uLW5hbWU6ZGlhbG9nQW5pbWF0aW9uLXF5Q3cwUGFOO3RyYW5zZm9ybS1vcmlnaW46MCAwfS5kaWFsb2dBbmltYXRlZEFwcGVhcmFuY2UtcXlDdzBQYU46ZGlyKHJ0bCl7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDB9QGtleWZyYW1lcyBkaWFsb2dBbmltYXRpb24tcXlDdzBQYU57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tYW5pbWF0aW9uVHJhbnNsYXRlU3RhcnRYKSx2YXIoLS1hbmltYXRpb25UcmFuc2xhdGVTdGFydFkpKSBzY2FsZSgwKX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS1hbmltYXRpb25UcmFuc2xhdGVFbmRYKSx2YXIoLS1hbmltYXRpb25UcmFuc2xhdGVFbmRZKSkgc2NhbGUoMSl9fS5kaWFsb2dUb29sdGlwLXF5Q3cwUGFOe2NvbG9yOiNmZmY7Zm9udC1zaXplOjE0cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjUwJTtsaW5lLWhlaWdodDoyMXB4O21heC13aWR0aDo1NDBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTIwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7d2lkdGg6bWF4LWNvbnRlbnR9QG1lZGlhIChtYXgtd2lkdGg6NzY4cHgpey5kaWFsb2dUb29sdGlwLXF5Q3cwUGFOe21heC13aWR0aDoyNDBweH19LmRpYWxvZ1Rvb2x0aXAtcXlDdzBQYU46ZGlyKHJ0bCl7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/44031.2691fc2c3468293bfd16.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.709Z","timestamp":1785141584709,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/44031.2691fc2c3468293bfd16.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1ff-90\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:17:35 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ea783a5bf081f2720f9a9902ab110e7d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":144,"size_decoded":886,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"669466b98876123099594e1a8ff0556e","sha1":"f7b7d85273ef4a6de745e7d1977d6eaeb4e25f41","sha256":"634134c6e0cfe9953231051ead0975df8ee84bfbd6df8222218fdea0f1b04497","sha512":"ecd87db6f1f0eb9c5d7b76d4b2a7f4dbff140856b0addb002e166951b7c534f59c42c8acf7638bb7b769ecbb39022454b989196dfe7b376e759e63163119856f","ssdeep":"","tlshash":"48c02b8871c0302aba0f312ac33cc55830301940ec001f6a992de4f288c0fda13e2f39","first_seen":"2026-07-23T14:00:31.42266Z","last_seen":"2026-07-27T14:53:25.828709Z","times_seen":373,"resource_available":false,"data":"LnNlcGFyYXRvci1LSHR5TVRZR3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtZGl2aWRlci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yKSk7aGVpZ2h0OjFweDttYXJnaW46NnB4IDB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/71901.43d5b48d9643656bfd2c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.809Z","timestamp":1785141584809,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/71901.43d5b48d9643656bfd2c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 31\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a4360b8-1f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bb676b6050770a1cc9cd0cb339abea04\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31,"size_decoded":815,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"6f60c3725f61aa347ed7762fdf8fdf11","sha1":"0eb08b4e1af29799e916fc9d9386cb6c96d13d78","sha256":"08a238fafe5ccfdeb182eb61a9597d32a7e3cfad290a0ce62061302fadafa0e4","sha512":"e1c14f942cbbebbb809b688c5956540410d65d8192ab5b374a7f7355488382dd907b31b68573381b5c399d38cd1490b3ca92187cb5c60c2ef9b8e83a6f889b01","ssdeep":"","tlshash":"d380008a0a0228ea038c8280cc0320a8b3080ca0002030bf800a2afc2280082a0bc80a","first_seen":"2026-06-30T21:57:43.490808Z","last_seen":"2026-07-27T12:48:39.766424Z","times_seen":239,"resource_available":false,"data":"LmJ1dHRvbi1GRHRpRGJ5antwYWRkaW5nOjAgNXB4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/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/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.153Z","timestamp":1785141584153,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/3552.4c5535183b7a0330a89d.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\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: 1629e2fcbce44eeabd26c4a0f6f7d667\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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-27T15:03:44.234813Z","times_seen":1794,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNTUyXSx7NDUwMjk1KHQpe3QuZXhwb3J0cz17fX0sNDYyMzUodCl7dC5leHBvcnRzPXt9fSw5NzMxMTkodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7cXVvdGVUaWNrZXJGb3JtYXRDaGFuZ2U6KCk9Pm59KTt2YXIgaT1zKDc1NTYyNyksYT1zKDk4NDM3Nik7dmFyIG89cygyMTYxMSk7ZnVuY3Rpb24gbih0LGUscyl7Y29uc3Qgbj0oMCxvLnRvTnVtYmVyT3JVbmRlZmluZWQpKHQpO2lmKCJlY29ub21pYyI9PT1lPy50eXBlJiYwPT09bnx8dm9pZCAwPT09bilyZXR1cm47Y29uc3QgbD1zPy5jdXN0b21QcmljZUZvcm1hdHRlcnx8InZvbHVtZSI9PT1lLmZvcm1hdCYmbmV3IGEuVm9sdW1lRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pfHxuZXcgaS5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTplLnByaWNlc2NhbGV8fDEwMCxtaW5Nb3ZlOmUubWlubW92fHwxLGZyYWN0aW9uYWw6ZS5mcmFjdGlvbmFsLG1pbk1vdmUyOmUubWlubW92ZTJ9KSxyPXZvaWQgMCE9PXM/LnNpZ25Qb3NpdGl2ZUNoYW5nZT9zLnNpZ25Qb3NpdGl2ZUNoYW5nZTpzPy5zaWduUG9zaXRpdmU7cmV0dXJuKCh0LGU9ITApPT5lP2AoJHt0fSlgOnQpKGwuZm9ybWF0KG4se3NpZ25Qb3NpdGl2ZTpyLHNpZ25OZWdhdGl2ZTpzPy5zaWduTmVnYXRpdmV9KSxzPy5jaGFuZ2VJbkJyYWNrZXRzKX19LDYwMjg3KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse3F1b3RlVGlja2VyRm9ybWF0Q3VycmVuY3k6KCk9PmF9KTt2YXIgaT1zKDE4NTI3MSk7ZnVuY3Rpb24gYSh0KXtzd2l0Y2godCl7Y2FzZSJERUdDIjpyZXR1cm4i4oSDIjtjYXNlIlBDVERZIjpyZXR1cm4gaS50KG51bGwse2NvbnRleHQ6Il9tYXhfbGVuXzkifSxzKDQ0NTA1KSk7Y2FzZSJQQ1RQQVIiOnJldHVybiBpLnQobnVsbCx7Y29udGV4dDoiX21heF9sZW5fOSJ9LHMoNDY4NDYwKSk7ZGVmYXVsdDpyZXR1cm4gdH19Nzg2NzYwKHQsZSxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSh0KXtyZXR1cm4ibWN4X2ZyZWUiPT09dH1mdW5jdGlvbiBhKHQpe3JldHVybiEhdCYmKGkodC5zeW1ib2xuYW1lKXx8InBlcm1pc3Npb25fZGVuaWVkIj09PXQuc3RhdHVzJiZpKHQudmFsdWVzPy5hbHRlcm5hdGl2ZSkpfXMuZChlLHtpc01jeFF1b3RlRGF0YTooKT0+YX0pfSwxMDE3MTIodCxlLHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKHQpe3JldHVybiB0LmVuZHNXaXRoKCJfZGx5Iil9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hIXQmJighKHZvaWQgMD09PXQuc3ltYm9sbmFtZXx8IWkodC5zeW1ib2xuYW1lKSl8fEJvb2xlYW4oInBlcm1pc3Npb25fZGVuaWVkIj09PXQuc3RhdHVzJiZ0LnZhbHVlcyYmdm9pZCAwIT09dC52YWx1ZXMuYWx0ZXJuYXRpdmUmJmkodC52YWx1ZXMuYWx0ZXJuYXRpdmUpKSl9cy5kKGUse2lzU2ZRdW90ZURhdGE6KCk9PmF9KX0sMjAyNDYwKHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse0Fic3RyYWN0SW5kaWNhdG9yOigpPT5sfSk7dmFyIGk9cygyMjEwNjEpLGE9cygxNTAxNTApLG89cygxNTk1MTMpO3MoMzQ0Nzg1KTtjb25zdCBuPSgwLGkuZ2V0TG9nZ2VyKSgiR1VJLkJsb2Nrcy5BYnN0cmFjdEluZGljYXRvciIpO2NsYXNzIGx7Y29uc3RydWN0b3IodCl7dGhpcy5fY2xhc3NTdWZmaXg9IiIsdGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4PSJhYnN0cmFjdC1pbmRpY2F0b3IiLHRoaXMuX3Nob3J0TW9kZT0hMSx0aGlzLl9zaG93VG9vbHRpcD0hMCx0aGlzLl9zdWJzY3JpYmVkPSExLHRoaXMuX3Rvb2x0aXBUeXBlPSJjdXN0b20iLHRoaXMuX2xhc3RUb29sdGlwVGV4dD0iIix0aGlzLl9xdW90ZVNlc3Npb249dC5xdW90ZVNlc3Npb259Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy5fdmFsdWV9Z2V0VG9vbHRpcFRleHQoKXtyZXR1cm4gdGhpcy5fbGFiZWxNYXBbdGhpcy5fdmFsdWVdfHwiIn1nZXRMYWJlbCgpe3JldHVybiB0aGlzLl9sYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIifWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fZWx9dXBkYXRlKHQsZSl7dGhpcy5fdXBkYXRlVmFsdWUodCxlKSx0aGlzLl9yZW5kZXIoKX1zZXRUb29sdGlwRW5hYmxlZCh0PSExKXt0aGlzLl9zaG93VG9vbHRpcCE9PXQmJih0aGlzLl9zaG93VG9vbHRpcD10LHRoaXMuX3JlbmRlclRvb2x0aXAoKSl9ZW5hYmxlU2hvcnRNb2RlKCl7ITAhPT10aGlzLl9zaG9ydE1vZGUmJih0aGlzLl9zaG9ydE1vZGU9ITAsdGhpcy5fcmVuZGVyKCkpfWRpc2FibGVTaG9ydE1vZGUoKXshMSE9PXRoaXMuX3Nob3J0TW9kZSYmKHRoaXMuX3Nob3J0TW9kZT0hMSx0aGlzLl9yZW5kZXIoKSl9aXNTaG9ydE1vZGVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX3Nob3J0TW9kZX1zdGFydCgpeyF0aGlzLl9zdWJzY3JpYmVkJiZ0aGlzLl9zeW1ib2xOYW1lJiYodGhpcy5fcXVvdGVTZXNzaW9ufHwodGhpcy5fcXVvdGVTZXNzaW9uPSgwLG8uZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKSksdGhpcy5fcXVvdGVTZXNzaW9uLnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUsdGhpcy51cGRhdGUuYmluZCh0aGlzKSksdGhpcy5fc3Vic2NyaWJlZD0hMCl9c3RvcCgpe3RoaXMuX3N1YnNjcmliZWQmJnRoaXMuX3F1b3RlU2Vzc2lvbiYmdGhpcy5fc3ltYm9sTmFtZSYmKHRoaXMuX3F1b3RlU2Vzc2lvbi51bnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUpLHRoaXMuX3N1YnNjcmliZWQ9ITEpfXNldFNlc3Npb25TdGF0dXNJY29uKHQpe3RoaXMuX3Nlc3Npb25TdGF0dXNJY29uIT09dCYmKHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uPXQsdGhpcy5fcmVuZGVyKCkpfV9pbml0KHQpe3RoaXMuX2VsPXQuZWw/dC5lbDpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5fZWwuaW5uZXJIVE1MPSIiLHRoaXMuX2NsYXNzTWFwPXQuY2xhc3NNYXAsdGhpcy5faWNvbkNsYXNzTWFwPXQuaWNvbkNsYXNzTWFwLHRoaXMuX2xhYmVsTWFwPXQubGFiZWxNYXAsCnRoaXMuX3Nob3dUb29sdGlwPXQuc2hvd1Rvb2x0aXAsdGhpcy5fY2xhc3NTdWZmaXg9dC5jbGFzc1N1ZmZpeCx0aGlzLl9zeW1ib2xOYW1lPXQuc3ltYm9sLHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uPXQuc2Vzc2lvblN0YXR1c0ljb24sdGhpcy5fb25WYWx1ZUNoYW5nZT10Lm9uVmFsdWVDaGFuZ2UsdC50b29sdGlwVHlwZSYmKHRoaXMuX3Rvb2x0aXBUeXBlPXQudG9vbHRpcFR5cGUpLHRoaXMuX3F1b3RlU2Vzc2lvbkdVSUQ9KDAsYS5ndWlkKSgpLCEwPT09dC5zaG9ydCYmdGhpcy5lbmFibGVTaG9ydE1vZGUoKSx0LmRhdGEmJnRoaXMuX3VwZGF0ZVZhbHVlKHQuZGF0YSl9X2NsZWFyQ2xhc3Nlcygpe09iamVjdC52YWx1ZXModGhpcy5fY2xhc3NNYXApLm1hcCgodD0+e3RoaXMuX2VsLmNsYXNzTGlzdC5yZW1vdmUoYCR7dH1gKSx0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKGAke3R9JHt0aGlzLl9jbGFzc1N1ZmZpeH1gKX0pKX1fcmVuZGVyKCl7dGhpcy5fcmVuZGVyQ2xhc3NlcygpLHRoaXMuX3JlbmRlclRvb2x0aXAoKSx0aGlzLl9yZW5kZXJMYWJlbCgpfV9yZW5kZXJMYWJlbCgpe3RoaXMuX2VsLnRleHRDb250ZW50PXRoaXMuZ2V0TGFiZWwoKX1fdXBkYXRlVmFsdWUodCxlKXtjb25zdCBzPXRoaXMuX2dldFZhbHVlRnJvbURhdGEodCk7KGV8fHMhPT10aGlzLl92YWx1ZSkmJih0aGlzLl92YWx1ZT1zLHRoaXMuX29uVmFsdWVDaGFuZ2U/Lih0aGlzLl92YWx1ZSkpfV9yZW5kZXJDbGFzc2VzKCl7Y29uc3QgdD10aGlzLl9lbC5jbGFzc0xpc3Q7dC5hZGQodGhpcy5fY29tcG9uZW50Q2xhc3MsdGhpcy5fY29tcG9uZW50Q2xhc3MrdGhpcy5fY2xhc3NTdWZmaXgpO2NvbnN0IGU9dGhpcy5fY2xhc3NNYXBbdGhpcy5fdmFsdWVdO2Zvcihjb25zdCBzIGluIHRoaXMuX2NsYXNzTWFwKXtjb25zdCBpPXRoaXMuX2NsYXNzTWFwW3NdO2kmJihpPT09ZT8odC5hZGQoaSxpK3RoaXMuX2NsYXNzU3VmZml4KSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbiYmdC5hZGQoaSsiX193aXRoSWNvbiIpKToodC5yZW1vdmUoaSxpK3RoaXMuX2NsYXNzU3VmZml4KSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbiYmdC5yZW1vdmUoaSsiX193aXRoSWNvbiIpKSl9IWUmJnRoaXMuX3ZhbHVlJiZuLmxvZ1dhcm4oYG5vIGNsYXNzTmFtZSBmb3Igc3RhdHVzICR7dGhpcy5fdmFsdWV9YCl9X3JlbmRlclRvb2x0aXAoKXtjb25zdCB0PXRoaXMuX3Nob3dUb29sdGlwP3RoaXMuZ2V0VG9vbHRpcFRleHQoKToiIjt0IT09dGhpcy5fbGFzdFRvb2x0aXBUZXh0JiYodGhpcy5fbGFzdFRvb2x0aXBUZXh0PXQsdGhpcy5fZWwuc2V0QXR0cmlidXRlKCJ0aXRsZSIsdCksImN1c3RvbSI9PT10aGlzLl90b29sdGlwVHlwZSYmdGhpcy5fZWwuY2xhc3NMaXN0LnRvZ2dsZSgiYXBwbHktY29tbW9uLXRvb2x0aXAiLHRoaXMuX3Nob3dUb29sdGlwKSl9X2dldFF1b3RlU2Vzc2lvbklkKCl7cmV0dXJuYCR7dGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4fS4ke3RoaXMuX3F1b3RlU2Vzc2lvbkdVSUR9YH19fSwzMDY5MCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtEYXRhTW9kZUluZGljYXRvcjooKT0+ZH0pO3ZhciBpLGE9cygxODUyNzEpLG89KHMoODI5MTgwKSxzKDQ1MDI5NSkscygyMDI0NjApKTshZnVuY3Rpb24odCl7dC5EZWxheWVkPSJkZWxheWVkIix0LkRlbGF5ZWRTdHJlYW1pbmc9ImRlbGF5ZWRfc3RyZWFtaW5nIix0LkVuZE9mRGF5PSJlbmRvZmRheSIsdC5TbmFwc2hvdD0ic25hcHNob3QiLHQuUmVhbHRpbWU9InJlYWx0aW1lIix0LkNvbm5lY3Rpbmc9ImNvbm5lY3RpbmciLHQuTG9hZGluZz0ibG9hZGluZyIsdC5JbnZhbGlkPSJpbnZhbGlkIix0LkZvcmJpZGRlbj0iZm9yYmlkZGVuIix0LlN0cmVhbWluZz0ic3RyZWFtaW5nIn0oaXx8KGk9e30pKTtjb25zdCBuPXtjb25uZWN0aW5nOiJ0di1kYXRhLW1vZGUtLWNvbm5lY3RpbmciLGRlbGF5ZWQ6InR2LWRhdGEtbW9kZS0tZGVsYXllZCIsZGVsYXllZF9zdHJlYW1pbmc6InR2LWRhdGEtbW9kZS0tZGVsYXllZCIsZW5kb2ZkYXk6InR2LWRhdGEtbW9kZS0tZW5kb2ZkYXkiLGZvcmJpZGRlbjoidHYtZGF0YS1tb2RlLS1mb3JiaWRkZW4iLHJlYWx0aW1lOiJ0di1kYXRhLW1vZGUtLXJlYWx0aW1lIixzbmFwc2hvdDoidHYtZGF0YS1tb2RlLS1zbmFwc2hvdCIsbG9hZGluZzoidHYtZGF0YS1tb2RlLS1sb2FkaW5nIixyZXBsYXk6InR2LWRhdGEtbW9kZS0tcmVwbGF5In07ZnVuY3Rpb24gbCgpe3JldHVybntjb25uZWN0aW5nOmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfY29ubmVjdGluZ19sZXR0ZXIifSxzKDg1OTk5NCkpLGRlbGF5ZWQ6YS50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX2xldHRlciJ9LHMoODkyMzYzKSksZGVsYXllZF9zdHJlYW1pbmc6YS50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX3N0cmVhbWluZ19sZXR0ZXIifSxzKDM5NDUwMSkpLGVuZG9mZGF5OmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfZW5kX29mX2RheV9sZXR0ZXIifSxzKDU3MDkzOSkpLGZvcmJpZGRlbjphLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX2ZvcmJpZGRlbl9sZXR0ZXIifSxzKDM5NDkyMSkpLHJlYWx0aW1lOmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfcmVhbHRpbWVfbGV0dGVyIn0scyg4NjY0NCkpLHNuYXBzaG90OmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfc25hcHNob3RfbGV0dGVyIn0scygyNTczMjYpKSxsb2FkaW5nOiIiLHJlcGxheTphLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX3JlcGxheV9sZXR0ZXIifSxzKDc1NjQ1NykpfX1jb25zdCByPXtzdHJlYW1pbmc6InJlYWx0aW1lIn07Y2xhc3MgZCBleHRlbmRzIG8uQWJzdHJhY3RJbmRpY2F0b3J7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4PSJkYXRhLW1vZGUtaW5kaWNhdG9yIix0aGlzLl9jb21wb25lbnRDbGFzcz0idHYtZGF0YS1tb2RlIix0aGlzLl9pbml0KHQpfWdldExhYmVsKCl7cmV0dXJuITA9PT10aGlzLl9zaG9ydE1vZGU/dGhpcy5fc2hvcnRMYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIiOnN1cGVyLmdldExhYmVsKCl9CnNldE1vZGUodCxlKXt0aGlzLnVwZGF0ZSh7dmFsdWVzOnt1cGRhdGVfbW9kZTp0LHVwZGF0ZV9tb2RlX3NlY29uZHM6ZX19KX1oaWRlKCl7dGhpcy5fZWwuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKX1zaG93KCl7dGhpcy5fZWwuY2xhc3NMaXN0LnJlbW92ZSgiaS1oaWRkZW4iKX1nZXRUb29sdGlwVGV4dCgpe2xldCB0PSIiO2NvbnN0IGU9dGhpcy5nZXRWYWx1ZSgpO2lmKCIiPT09ZSlyZXR1cm4gdDtzd2l0Y2goZSl7Y2FzZSJkZWxheWVkIjp0PWEudChudWxsLHZvaWQgMCxzKDc5MDUyNCkpO2JyZWFrO2Nhc2UiZGVsYXllZF9zdHJlYW1pbmciOnQ9YS50KG51bGwsdm9pZCAwLHMoODE0NjEpKTticmVhaztkZWZhdWx0OnQ9dGhpcy5fbGFiZWxNYXBbZV18fHR9cmV0dXJuWyJkZWxheWVkIiwiZGVsYXllZF9zdHJlYW1pbmciXS5pbmNsdWRlcyhlKSYmKHQ9dC5mb3JtYXQoe251bWJlcjpTdHJpbmcoTWF0aC5yb3VuZCh0aGlzLl9tb2RlSW50ZXJ2YWwvNjApKX0pKSx0fV9pbml0KHQ9e30pe2NvbnN0IGU9T2JqZWN0LmFzc2lnbih7fSx7Y2xhc3NNYXA6bixjbGFzc1N1ZmZpeDoiIixkYXRhOnt2YWx1ZXM6e3VwZGF0ZV9tb2RlOiJjb25uZWN0aW5nIn19LGxhYmVsTWFwOntjb25uZWN0aW5nOmEudChudWxsLHZvaWQgMCxzKDE5NDE5NCkpLGRlbGF5ZWQ6YS50KG51bGwsdm9pZCAwLHMoMjI5NTI1KSksZGVsYXllZF9zdHJlYW1pbmc6YS50KG51bGwsdm9pZCAwLHMoMjI5NTI1KSksZW5kb2ZkYXk6YS50KG51bGwsdm9pZCAwLHMoNjAxNzY0KSksZm9yYmlkZGVuOmEudChudWxsLHZvaWQgMCxzKDMyODMxMykpLHJlYWx0aW1lOmEudChudWxsLHZvaWQgMCxzKDg4MzkyOCkpLHNuYXBzaG90OmEudChudWxsLHZvaWQgMCxzKDU2MjM5NSkpLGxvYWRpbmc6IiIscmVwbGF5OmEudChudWxsLHZvaWQgMCxzKDk3NzI3KSl9LG1vZGVJbnRlcnZhbDo2MDAsc2hvcnQ6ITEsc2hvcnRMYWJlbE1hcDpsKCksc2hvd1Rvb2x0aXA6ITAsdG9vbHRpcFR5cGU6ImN1c3RvbSJ9LHQpO3RoaXMuX21vZGVJbnRlcnZhbD1lLm1vZGVJbnRlcnZhbHx8NjAwLHRoaXMuX3Nob3J0TGFiZWxNYXA9ZS5zaG9ydExhYmVsTWFwfHxsKCksc3VwZXIuX2luaXQoZSksdGhpcy5fcmVuZGVyKCl9X2dldFZhbHVlRnJvbURhdGEodCl7bGV0IGU7cmV0dXJuIGU9dm9pZCAwIT09dC52YWx1ZXMmJnZvaWQgMCE9PXQudmFsdWVzLnVwZGF0ZV9tb2RlP3QudmFsdWVzLnVwZGF0ZV9tb2RlOnRoaXMuZ2V0VmFsdWUoKSxyW2VdfHxlfV91cGRhdGVWYWx1ZSh0LGUpe3ZvaWQgMCE9PXQudmFsdWVzJiZ2b2lkIDAhPT10LnZhbHVlcy51cGRhdGVfbW9kZV9zZWNvbmRzJiYodGhpcy5fbW9kZUludGVydmFsPXQudmFsdWVzLnVwZGF0ZV9tb2RlX3NlY29uZHMpLHN1cGVyLl91cGRhdGVWYWx1ZSh0LGUpfX19LDU2MzkxOCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtNYXJrZXRTdGF0dXNJbmRpY2F0b3I6KCk9Pmx9KTt2YXIgaT1zKDE4NTI3MSksYT1zKDIwMjQ2MCk7cyg0NjIzNSk7Y29uc3Qgbz17aW52YWxpZDoidHYtbWFya2V0LXN0YXR1cy0taW52YWxpZCIsbWFya2V0OiJ0di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQiLG91dF9vZl9zZXNzaW9uOiJ0di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbiIscG9zdF9tYXJrZXQ6InR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0IixwcmVfbWFya2V0OiJ0di1tYXJrZXQtc3RhdHVzLS1wcmUtbWFya2V0IixuaWdodDoidHYtbWFya2V0LXN0YXR1cy0tbmlnaHQiLGxvYWRpbmc6InR2LW1hcmtldC1zdGF0dXMtLWxvYWRpbmciLGhvbGlkYXk6InR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXkiLHJlcGxheToidHYtbWFya2V0LXN0YXR1cy0tcmVwbGF5IixkZWxpc3RlZDoidHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQifSxuPXtpbnZhbGlkOiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1pbnZhbGlkIixtYXJrZXQ6InR2LW1hcmtldC1zdGF0dXNfX2ljb24tLW1hcmtldCIsb3V0X29mX3Nlc3Npb246InR2LW1hcmtldC1zdGF0dXNfX2ljb24tLW91dC1vZi1zZXNzaW9uIixwb3N0X21hcmtldDoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tcG9zdC1tYXJrZXQiLG5pZ2h0OiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1uaWdodCIscHJlX21hcmtldDoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tcHJlLW1hcmtldCIsbG9hZGluZzoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tbG9hZGluZyIsaG9saWRheToidHYtbWFya2V0LXN0YXR1c19faWNvbi0taG9saWRheSIscmVwbGF5OiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1yZXBsYXkiLGRlbGlzdGVkOiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1kZWxpc3RlZCJ9O2NsYXNzIGwgZXh0ZW5kcyBhLkFic3RyYWN0SW5kaWNhdG9ye2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpLHRoaXMuX3F1b3RlU2Vzc2lvblByZWZpeD0ibWFya2V0LXN0YXR1cy1pbmRpY2F0b3IiLHRoaXMuX2NvbXBvbmVudENsYXNzPSJ0di1tYXJrZXQtc3RhdHVzIix0aGlzLl9leHRyYVRpdGxlPSIiLHRoaXMuX2luaXQodCl9c2V0U3RhdHVzKHQsZSl7Y29uc3Qgcz17dmFsdWVzOntjdXJyZW50X3Nlc3Npb246ImRlbGlzdGVkIj09PXRoaXMuZ2V0VmFsdWUoKT8iZGVsaXN0ZWQiOnR9fTt0aGlzLnVwZGF0ZShzLGUpfWdldFRvb2x0aXBUZXh0KCl7bGV0IHQ9c3VwZXIuZ2V0VG9vbHRpcFRleHQoKTtyZXR1cm4iIj09PXR8fCIiIT09dGhpcy5fZXh0cmFUaXRsZSYmKHQ9YCR7dH0sICR7dGhpcy5fZXh0cmFUaXRsZX1gKSx0fXNldEV4dHJhVGl0bGUodCl7dGhpcy5fZXh0cmFUaXRsZT10fXJlc2V0KCl7dGhpcy5fY2xlYXJDbGFzc2VzKCksdGhpcy5fbGFiZWxFbC50ZXh0Q29udGVudD0iIix0aGlzLl9leHRyYVRpdGxlPSIiLHRoaXMuX2VsLnNldEF0dHJpYnV0ZSgidGl0bGUiLCIiKSx0aGlzLl92YWx1ZT0iIn1lbmFibGVTaG9ydE1vZGUodD0hMCl7dm9pZCAwIT09dGhpcy5fbGFiZWxFbCYmdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpLHN1cGVyLmVuYWJsZVNob3J0TW9kZSgpfWRpc2FibGVTaG9ydE1vZGUoKXsKdm9pZCAwIT09dGhpcy5fbGFiZWxFbCYmdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QucmVtb3ZlKCJpLWhpZGRlbiIpLHN1cGVyLmRpc2FibGVTaG9ydE1vZGUoKX1fcmVuZGVyTGFiZWwoKXt0aGlzLl9sYWJlbEVsLnRleHRDb250ZW50PXRoaXMuZ2V0TGFiZWwoKX1fZ2V0VmFsdWVGcm9tRGF0YSh0KXtyZXR1cm4gdC52YWx1ZXM/LnR5cGVzcGVjcz8uaW5jbHVkZXMoImRpc2NvbnRpbnVlZCIpPyJkZWxpc3RlZCI6dm9pZCAwIT09dC52YWx1ZXM/LmN1cnJlbnRfc2Vzc2lvbj90LnZhbHVlcy5jdXJyZW50X3Nlc3Npb246dGhpcy5nZXRWYWx1ZSgpfV9yZW5kZXIoKXt0aGlzLl9yZW5kZXJMYWJlbEVsZW1lbnQoKSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbj90aGlzLl9yZW5kZXJJY29uRWxlbWVudCgpOnRoaXMuX3JlbmRlckRvdEVsZW1lbnQoKSxzdXBlci5fcmVuZGVyKCl9X2luaXQodCl7Y29uc3QgZT1PYmplY3QuYXNzaWduKHt9LGZ1bmN0aW9uKCl7Y29uc3QgdD17aW52YWxpZDppLnQobnVsbCx7Y29udGV4dDoibWFya2V0LXN0YXR1cyJ9LHMoNjM4NDA1KSksbWFya2V0OmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg3MDI3ODgpKSxvdXRfb2Zfc2Vzc2lvbjppLnQobnVsbCx7Y29udGV4dDoibWFya2V0LXN0YXR1cyJ9LHMoOTE0NTcyKSkscG9zdF9tYXJrZXQ6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDg2NzQ1NSkpLHByZV9tYXJrZXQ6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDkxODg0MikpLGxvYWRpbmc6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDI3NDQxNSkpLGhvbGlkYXk6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDY4NTEwNCkpLGRlbGlzdGVkOmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg1NTIxNSkpLG5pZ2h0OmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg4OTc1OTEpKSxyZXBsYXk6IiJ9O3JldHVybntjbGFzc01hcDpvLGljb25DbGFzc01hcDpuLGNsYXNzU3VmZml4OiIiLGRhdGE6e30sZXh0cmFUaXRsZToiIixsYWJlbE1hcDp0LHNob3J0OiExLHNob3dUb29sdGlwOiEwLHRvb2x0aXBUeXBlOiJjdXN0b20ifX0oKSx0KTtzdXBlci5faW5pdChlKSx0aGlzLnNldEV4dHJhVGl0bGUoZS5leHRyYVRpdGxlKSx0aGlzLl9yZW5kZXIoKX1fcmVuZGVyTGFiZWxFbGVtZW50KCl7dm9pZCAwPT09dGhpcy5fbGFiZWxFbCYmKHRoaXMuX2xhYmVsRWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLHRoaXMuX2xhYmVsRWwuY2xhc3NMaXN0LmFkZChgJHt0aGlzLl9jb21wb25lbnRDbGFzc31fX2xhYmVsYCksdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QuYWRkKGAke3RoaXMuX2NvbXBvbmVudENsYXNzfV9fbGFiZWwke3RoaXMuX2NsYXNzU3VmZml4fWApLHRoaXMuX2VsLmFwcGVuZENoaWxkKHRoaXMuX2xhYmVsRWwpKX1fcmVuZGVyRG90RWxlbWVudCgpe3RoaXMuX2VsLmNvbnRhaW5zKHRoaXMuX2ljb25FbCkmJnRoaXMuX2VsLnJlbW92ZUNoaWxkKHRoaXMuX2ljb25FbCksdm9pZCAwPT09dGhpcy5fZG90RWwmJih0aGlzLl9kb3RFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5fZG90RWwuY2xhc3NMaXN0LmFkZChgJHt0aGlzLl9jb21wb25lbnRDbGFzc31fX2RvdGApLHRoaXMuX2RvdEVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19kb3Qke3RoaXMuX2NsYXNzU3VmZml4fWApLHRoaXMuX2VsLmFwcGVuZENoaWxkKHRoaXMuX2RvdEVsKSl9X3JlbmRlckljb25FbGVtZW50KCl7dGhpcy5fZWwuY29udGFpbnModGhpcy5fZG90RWwpJiZ0aGlzLl9lbC5yZW1vdmVDaGlsZCh0aGlzLl9kb3RFbCksdm9pZCAwPT09dGhpcy5faWNvbkVsJiZ0aGlzLl92YWx1ZSYmKHRoaXMuX2ljb25FbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5faWNvbkVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19pY29uYCksdGhpcy5faWNvbkVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19pY29uJHt0aGlzLl9jbGFzc1N1ZmZpeH1gKSx0aGlzLl9lbC5hcHBlbmRDaGlsZCh0aGlzLl9pY29uRWwpKX19fSw4OTE3NzgodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7UHJpY2VDb2xvcmVyOigpPT5pfSk7dmFyIGksYT1zKDIxODgxNCksbz1zKDUwNTU2KTshZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3JldHVybiAwPT09dD9lJiZ2b2lkIDAhPT1lLm5ldXRyYWw/ZS5uZXV0cmFsOmEuY29sb3IuYmxhY2s3MDp0PjA/ZSYmdm9pZCAwIT09ZS51cD9lLnVwOm8uY29sb3JzUGFsZXR0ZVsiY29sb3Itc3VjY2VzcyJdOmUmJnZvaWQgMCE9PWUuZG93bj9lLmRvd246by5jb2xvcnNQYWxldHRlWyJjb2xvci1kYW5nZXIiXX10LmZvcm1hdFNpZ249ZSx0LmZvcm1hdERpZmY9ZnVuY3Rpb24odCxzKXtyZXR1cm4gZShzLXQpfSx0LmRvbURpZmZlcmVuY2U9ZnVuY3Rpb24odCxlLHM9MCxpPSIiLGE9IiIpe2Z1bmN0aW9uIG8odCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7cmV0dXJuIGUuaW5uZXJIVE1MPXQsZX1jb25zdCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKCFzKXJldHVybiBuLmFwcGVuZENoaWxkKG8odCkpLG47Y29uc3QgbD10KyIiLHI9ZSsiIjtsZXQgZD1udWxsO2lmKGwubGVuZ3RoPT09ci5sZW5ndGgpe2ZvcihsZXQgdD0wO3Q8bC5sZW5ndGg7dCsrKWlmKGwuY2hhckF0KHQpIT09ci5jaGFyQXQodCkpe2Q9dDticmVha319ZWxzZSBkPU51bWJlcigiMCIpO2lmKG51bGw9PT1kKXJldHVybiBuLmFwcGVuZENoaWxkKG8obCkpLG47Y29uc3QgXz1vKGwuc3Vic3RyaW5nKDAsZCkpLHU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3JldHVybiB1LmNsYXNzTmFtZT1zPDA/aTphLHUuYXBwZW5kQ2hpbGQobyhsLnN1YnN0cmluZyhkKSkpLG4uYXBwZW5kQ2hpbGQoXyksbi5hcHBlbmRDaGlsZCh1KSxufX0oaXx8KGk9e30pKX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12385.78561ebdef05ce648b5d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.676Z","timestamp":1785141584676,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12385.78561ebdef05ce648b5d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-d425\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a75ad56dccca26a2b5238f49f7865553\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":54309,"size_decoded":5303,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (54309), with no line terminators","md5":"0c88f4a2822b7956fa6a494b66642d6b","sha1":"3d02fd6fb3670db4645274f9d9261007de2c2d4c","sha256":"34608d65050c9883ea16820ce35863032278a925ad8eb001a2b5fa65240fa0a6","sha512":"a3b3660c9b9d810cf9ca78bf392ecc0623bb244d94a7f4d7cabf1f8a56e4e640197527938f544c0d403050bd175789df4437808eec5503b5a7b07cc1a0b401b1","ssdeep":"768:DhiEt1AI8s3XbXbfLAP5xsxF6I00xXxrO/:Dhr8s3XbXbfLAP5xsxF6I00xXxrO/","tlshash":"063358abb6a1a7797b52637e5319f375b380ed7ae4733de3f050402410c69a704caa72","first_seen":"2026-07-16T13:40:49.677399Z","last_seen":"2026-07-27T14:50:15.293575Z","times_seen":469,"resource_available":false,"data":"LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4e2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXVpLWxpYi1saWdodC1idXR0b24tY29sb3ItYmcsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnKSk7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1saWdodC1idXR0b24tY29sb3ItYm9yZGVyLHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXIpKTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1jb250ZW50LHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50KSk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21heC13aWR0aDoxMDAlO21pbi13aWR0aDo0MHB4O291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5saWdodEJ1dHRvbi1ralJmVGxmeDpmb2N1c3tvdXRsaW5lOm5vbmV9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4OmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5saWdodEJ1dHRvbi1ralJmVGxmeDphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDEwcHgpO2luc2V0LWlubGluZS1zdGFydDotNXB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi01cHg7d2lkdGg6Y2FsYygxMDAlICsgMTBweCk7ei1pbmRleDoxfS5saWdodEJ1dHRvbi1ralJmVGxmeDpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5saWdodEJ1dHRvbi1ralJmVGxmeDpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5saWdodEJ1dHRvbi1ralJmVGxmeDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKX0ubGlnaHRCdXR0b24ta2pSZlRsZngubGluay1ralJmVGxmeHtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ubGlnaHRCdXR0b24ta2pSZlRsZngubHRyLWtqUmZUbGZ4e2RpcmVjdGlvbjpsdHJ9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4LnJ0bC1ralJmVGxmeHtkaXJlY3Rpb246cnRsfS5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LXJlZ3VsYXIxNnB4LWtqUmZUbGZ4e2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMH0ubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1tZWRpdW0xNnB4LWtqUmZUbGZ4LC5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LXJlZ3VsYXIxNnB4LWtqUmZUbGZ4e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LW1lZGl1bTE2cHgta2pSZlRsZnh7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwfS5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LXJlZ3VsYXIxNHB4LWtqUmZUbGZ4e2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMH0ubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1yZWd1bGFyMTRweC1ralJmVGxmeCwubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1zZW1pYm9sZDE0cHgta2pSZlRsZnh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4Oy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4LnR5cG9ncmFwaHktc2VtaWJvbGQxNHB4LWtqUmZUbGZ4e2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMH0ubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1zZW1pYm9sZDE2cHgta2pSZlRsZnh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNnB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjYwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5jb250ZW50LWtqUmZUbGZ4e2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi13aWR0aDowO3RleHQtYWxpZ246Y2VudGVyOy0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjazp2YXIoLS11aS1saWItbGlnaHRCdXR0b24tc2hvdy1jaGlsZHJlbiwxKTttYXgtd2lkdGg6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkpICogOTk5OXB4ICsgbWF4KDAsIDEgLSAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSAqICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApKSAqIDBweCl9LnZpc3VhbGx5SGlkZGVuLWtqUmZUbGZ4e2Rpc3BsYXk6YmxvY2s7Zm9udC13ZWlnaHQ6NjAwO2hlaWdodDowO292ZXJmbG93OmhpZGRlbjt2aXNpYmlsaXR5OmhpZGRlbn0ubm93cmFwLWtqUmZUbGZ4e2FsaWduLXNlbGY6YXV0bztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwfS5lbGxpcHNpc0NvbnRhaW5lci1ralJmVGxmeHtkaXNwbGF5OmluaGVyaXQ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50ZXh0V3JhcENvbnRhaW5lci1ralJmVGxmeHttYXgtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb250ZW50LW1heC1saW5lcykqdmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpKTtvdmVyZmxvdzpoaWRkZW47d29yZC13cmFwOmJyZWFrLXdvcmQ7dGV4dC1hbGlnbjpzdGFydDt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LnRleHRXcmFwV2l0aEVsbGlwc2lzLWtqUmZUbGZ4e2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDp2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLWNvbnRlbnQtbWF4LWxpbmVzKTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpO21heC1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCkqdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb250ZW50LW1heC1saW5lcykpfS5zbG90LWtqUmZUbGZ4e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uY2FyZXQta2pSZlRsZngsLnNsb3Qta2pSZlRsZng+c3Bhbltyb2xlPWltZ117ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LXNocmluazowfS5jYXJldC1ralJmVGxmeHttYXgtaGVpZ2h0OjI4cHg7bWF4LXdpZHRoOjI4cHg7bWluLWhlaWdodDoxOHB4O21pbi13aWR0aDoxOHB4fS5hY3RpdmVDYXJldC1ralJmVGxmeHt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmFjdGl2ZUNhcmV0LWtqUmZUbGZ4OmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyl9LmNhcmV0LWtqUmZUbGZ4Om5vdCg6bGFzdC1jaGlsZCksLmNvbnRlbnQta2pSZlRsZng6bm90KDpsYXN0LWNoaWxkKSwuc2xvdC1ralJmVGxmeDpub3QoOmxhc3QtY2hpbGQpey0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjazp2YXIoLS11aS1saWItbGlnaHRCdXR0b24tc2hvdy1jaGlsZHJlbiwxKTttYXJnaW4taW5saW5lLWVuZDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiA0cHggKyBtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkpICogMHB4KX0ueHNtYWxsLWtqUmZUbGZ4e2JvcmRlci1yYWRpdXM6NnB4O2hlaWdodDoyOHB4O21pbi13aWR0aDoyOHB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctYmxvY2stc3RhcnQtZGVmYXVsdDowOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWJsb2NrLWVuZC1kZWZhdWx0OjA7LS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrOnZhcigtLXVpLWxpYi1saWdodEJ1dHRvbi1zaG93LWNoaWxkcmVuLDEpO3BhZGRpbmctYmxvY2stZW5kOjA7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctaW5saW5lLWVuZDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiBtYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsIHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpO3BhZGRpbmctaW5saW5lLXN0YXJ0OmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSAqICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpKSAqIG1heCh2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpfS54c21hbGwta2pSZlRsZng6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czoxMHB4fS54c21hbGwta2pSZlRsZngud2l0aFN0YXJ0U2xvdC1ralJmVGxmeHstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQtZGVmYXVsdDo3cHh9LnhzbWFsbC1ralJmVGxmeC53aXRoRW5kU2xvdC1ralJmVGxmeHstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6N3B4fS54c21hbGwta2pSZlRsZngubm9Db250ZW50LWtqUmZUbGZ4ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjRweDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6NHB4O3BhZGRpbmctaW5saW5lLWVuZDptYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdCkpLDJweCk7cGFkZGluZy1pbmxpbmUtc3RhcnQ6bWF4KHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0KSksMnB4KX0ueHNtYWxsLWtqUmZUbGZ4LndyYXAta2pSZlRsZnh7aGVpZ2h0OmF1dG87bWluLWhlaWdodDoyOHB4fS54c21hbGwta2pSZlRsZnggLmNvbnRlbnQta2pSZlRsZnh7cGFkZGluZy1ib3R0b206Y2FsYygoMjhweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCk7cGFkZGluZy10b3A6Y2FsYygoMjhweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCl9LnNtYWxsLWtqUmZUbGZ4e2JvcmRlci1yYWRpdXM6NnB4O2hlaWdodDozNHB4O21pbi13aWR0aDozNHB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctYmxvY2stc3RhcnQtZGVmYXVsdDowOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWJsb2NrLWVuZC1kZWZhdWx0OjA7LS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrOnZhcigtLXVpLWxpYi1saWdodEJ1dHRvbi1zaG93LWNoaWxkcmVuLDEpO3BhZGRpbmctYmxvY2stZW5kOjA7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctaW5saW5lLWVuZDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiBtYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsIHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpO3BhZGRpbmctaW5saW5lLXN0YXJ0OmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSAqICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpKSAqIG1heCh2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpfS5zbWFsbC1ralJmVGxmeDphZnRlcntib3JkZXItcmFkaXVzOjEwcHh9LnNtYWxsLWtqUmZUbGZ4LndpdGhTdGFydFNsb3Qta2pSZlRsZnh7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQ6N3B4fS5zbWFsbC1ralJmVGxmeC53aXRoRW5kU2xvdC1ralJmVGxmeHstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6N3B4fS5zbWFsbC1ralJmVGxmeC5ub0NvbnRlbnQta2pSZlRsZnh7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQ6MnB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdDoycHg7cGFkZGluZy1pbmxpbmUtZW5kOm1heCh2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZCx2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0KSksMnB4KTtwYWRkaW5nLWlubGluZS1zdGFydDptYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydCx2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQpKSwycHgpfS5zbWFsbC1ralJmVGxmeC53cmFwLWtqUmZUbGZ4e2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MzRweH0uc21hbGwta2pSZlRsZnggLmNvbnRlbnQta2pSZlRsZnh7cGFkZGluZy1ib3R0b206Y2FsYygoMzRweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCk7cGFkZGluZy10b3A6Y2FsYygoMzRweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCl9Lm1lZGl1bS1ralJmVGxmeHtib3JkZXItcmFkaXVzOjhweDtoZWlnaHQ6NDBweDttaW4td2lkdGg6NDBweDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQtZGVmYXVsdDoxNXB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdDoxNXB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWJsb2NrLXN0YXJ0LWRlZmF1bHQ6MDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1ibG9jay1lbmQtZGVmYXVsdDowOy0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjazp2YXIoLS11aS1saWItbGlnaHRCdXR0b24tc2hvdy1jaGlsZHJlbiwxKTtwYWRkaW5nLWJsb2NrLWVuZDowO3BhZGRpbmctYmxvY2stc3RhcnQ6MDtwYWRkaW5nLWlubGluZS1lbmQ6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkpICogbWF4KHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0KSksIDNweCkgKyBtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkpICogMHB4KTtwYWRkaW5nLWlubGluZS1zdGFydDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiBtYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydCwgdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0KSksIDNweCkgKyBtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkpICogMHB4KX0ubWVkaXVtLWtqUmZUbGZ4OmFmdGVye2JvcmRlci1yYWRpdXM6MTJweH0ubWVkaXVtLWtqUmZUbGZ4LndpdGhTdGFydFNsb3Qta2pSZlRsZnh7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQ6MTFweH0ubWVkaXVtLWtqUmZUbGZ4LndpdGhFbmRTbG90LWtqUmZUbGZ4ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdDoxMXB4fS5tZWRpdW0ta2pSZlRsZngubm9Db250ZW50LWtqUmZUbGZ4ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjVweDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6NXB4O3BhZGRpbmctaW5saW5lLWVuZDptYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdCkpLDJweCk7cGFkZGluZy1pbmxpbmUtc3RhcnQ6bWF4KHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0KSksMnB4KX0ubWVkaXVtLWtqUmZUbGZ4LndyYXAta2pSZlRsZnh7aGVpZ2h0OmF1dG87bWluLWhlaWdodDo0MHB4fS5tZWRpdW0ta2pSZlRsZnggLmNvbnRlbnQta2pSZlRsZnh7cGFkZGluZy1ib3R0b206Y2FsYygoNDBweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCk7cGFkZGluZy10b3A6Y2FsYygoNDBweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCl9LnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWludmVyc2UpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSl9fS5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWjphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSl9LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpfX19LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaOm5vdCguZ3JvdXBlZC1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyKX19LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1osLnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKX0ucHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsucHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmUpfS5wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi53aXRoR3JvdXBlZC1JZVF3UGpjWi5xdWlldC1wcmltYXJ5LUllUXdQamNaOm5vdCguc2VsZWN0ZWQtSWVRd1BqY1opOm5vdCg6aG92ZXIpOm5vdCg6ZGlzYWJsZWQpey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOiMwMDAwOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjojMDAwMH19LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyKX19fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWRpc2FibGVkKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCl9fX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWjpub3QoLmdyb3VwZWQtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktcG9zaXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCl9LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi53aXRoR3JvdXBlZC1JZVF3UGpjWi5xdWlldC1wcmltYXJ5LUllUXdQamNaOm5vdCguc2VsZWN0ZWQtSWVRd1BqY1opOm5vdCg6aG92ZXIpOm5vdCg6ZGlzYWJsZWQpey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOiMwMDAwOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjojMDAwMH19LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCl9fX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaOm5vdCguZ3JvdXBlZC1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5lZ2F0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7LnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWjpub3QoLmdyb3VwZWQtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCl9LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLndpdGhHcm91cGVkLUllUXdQamNaLnF1aWV0LXByaW1hcnktSWVRd1BqY1o6bm90KC5zZWxlY3RlZC1JZVF3UGpjWik6bm90KDpob3Zlcik6bm90KDpkaXNhYmxlZCl7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6IzAwMDA7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOiMwMDAwfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaOmRpc2FibGVkey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnNlY29uZGFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodCl9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upe0BtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KX19fS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpfX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYWN0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnNlY29uZGFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7LnNlY29uZGFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCl9fX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcyl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KX19LnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1osLnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQpfS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi53aXRoR3JvdXBlZC1JZVF3UGpjWi5xdWlldC1wcmltYXJ5LUllUXdQamNaOm5vdCguc2VsZWN0ZWQtSWVRd1BqY1opOm5vdCg6aG92ZXIpOm5vdCg6ZGlzYWJsZWQpey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOiMwMDAwOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjojMDAwMH19LnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5lZ2F0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpfX19LnNlY29uZGFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCl9fS5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwuc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1ouZ3JvdXBlZC1JZVF3UGpjWiwuc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upey5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LWRhbmdlci1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpfS5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLndpdGhHcm91cGVkLUllUXdQamNaLnF1aWV0LXByaW1hcnktSWVRd1BqY1o6bm90KC5zZWxlY3RlZC1JZVF3UGpjWik6bm90KDpob3Zlcik6bm90KDpkaXNhYmxlZCl7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6IzAwMDA7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOiMwMDAwfX0uc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZGVmYXVsdCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWxpZ2h0KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19fS5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19LnNlY29uZGFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwuc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCl9LnNlY29uZGFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upey5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLndpdGhHcm91cGVkLUllUXdQamNaLnF1aWV0LXByaW1hcnktSWVRd1BqY1o6bm90KC5zZWxlY3RlZC1JZVF3UGpjWik6bm90KDpob3Zlcik6bm90KDpkaXNhYmxlZCl7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6IzAwMDA7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOiMwMDAwfX0uc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWhvdmVyKX19fS5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcil9fS5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwuZ2hvc3QtSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSl9Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsuZ2hvc3QtSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSl9Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaOmRpc2FibGVkey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9Lmdob3N0LUllUXdQamNaLmdyZWVuLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KX19fS5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWjpub3QoLmdyb3VwZWQtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktcG9zaXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpfX0uZ2hvc3QtSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX0uZ2hvc3QtSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLmdob3N0LUllUXdQamNaLmdyZWVuLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7Lmdob3N0LUllUXdQamNaLmdyZWVuLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQpfS5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZ2hvc3QtSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCl9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upe0BtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZ2hvc3QtSWVRd1BqY1oucmVkLUllUXdQamNaOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZWdhdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0KX19fS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCl9fS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktZGFuZ2VyLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodCl9Lmdob3N0LUllUXdQamNaLnJlZC1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1ouZ3JvdXBlZC1JZVF3UGpjWiwuZ2hvc3QtSWVRd1BqY1oucmVkLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7Lmdob3N0LUllUXdQamNaLnJlZC1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KX0uZ2hvc3QtSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uZ2hvc3QtSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWRlZmF1bHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCl9fX0uZ2hvc3QtSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1kZWZhdWx0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpfS5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCl9Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaOmRpc2FibGVkey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/43792.e1bd06112404f0901a66.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.715Z","timestamp":1785141584715,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/43792.e1bd06112404f0901a66.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-fa2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 66faf5af9961ff21e52e93c6df07b377\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4002,"size_decoded":1797,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4002), with no line terminators","md5":"132394741fdf9302124f840e6c3a925d","sha1":"59267f8b0edd10201baaabda8807c79d9b9c3642","sha256":"8157f6ce008ce1e225eb1af407cc0fa0cff8f6155386f2da7e90a74c37091048","sha512":"63359d8ac07c4cd882722bc630255d64b699f4f548c64e2558f6d95f25c6e75f0b5645fee034885862797dfedaf95df80c12f73ec2d41c159177c19470c40f6d","ssdeep":"","tlshash":"bd819cbcea50d8770d5fa63e0398d06c3994b213ee26ab57ffa0d10144d7be6419a70e","first_seen":"2026-07-22T16:00:00.457602Z","last_seen":"2026-07-27T14:53:25.407562Z","times_seen":378,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtUk00Xzp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1STTRfOnZhcigtLWNvbG9yLXJpcGUtcmVkLWEyMDApOy0tXzItUk00Xzp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tXzMtUk00Xzp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzQtUk00Xzp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1fNS1STTRfOnZhcigtLWNvbG9yLWlndWFuYS1ncmVlbi0zMDApOy0tXzYtUk00Xzp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV83LVJNNF86dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tXzgtUk00Xzp2YXIoLS1jb2xvci1iYW5hbmEteWVsbG93LTkwMCk7LS1fOS1STTRfOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8xMC1STTRfOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8xMS1STTRfOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzEyLVJNNF86dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMTMtUk00Xzp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMTQtUk00Xzp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1STTRfOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzEtUk00Xzp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8yLVJNNF86dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLV8zLVJNNF86dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLV80LVJNNF86dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzUtUk00Xzp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV82LVJNNF86dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTYwMCk7LS1fNy1STTRfOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV84LVJNNF86dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy05MDApOy0tXzktUk00Xzp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1fMTAtUk00Xzp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTcwMCk7LS1fMTEtUk00Xzp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNDAwKTstLV8xMi1STTRfOnZhcigtLWNvbG9yLXNreS1ibHVlLWE3MDApOy0tXzEzLVJNNF86dmFyKC0tY29sb3ItYmVycnktcGluay0yMDApOy0tXzE0LVJNNF86dmFyKC0tY29sb3ItYmVycnktcGluay00MDApfS53cmFwLUdoRGpYekJ4e2Rpc3BsYXk6aW5saW5lLWZsZXg7cG9zaXRpb246cmVsYXRpdmV9LndyYXAtR2hEalh6Qng6YmVmb3Jle2JvcmRlci1yYWRpdXM6NTAlO2NvbnRlbnQ6bm9uZTtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtvdXRsaW5lOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSBub25lIDJweDtvdXRsaW5lLW9mZnNldDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0ud3JhcC1HaERqWHpCeDpmb2N1cy12aXNpYmxlOmJlZm9yZXtjb250ZW50OiIiO291dGxpbmUtc3R5bGU6c29saWR9LndyYXAtR2hEalh6QnggLmlucHV0LUdoRGpYekJ4e2N1cnNvcjpwb2ludGVyO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsud3JhcC1HaERqWHpCeCAuaW5wdXQtR2hEalh6Qng6aG92ZXI6bm90KDpjaGVja2VkKSsuYm94LUdoRGpYekJ4IC5ob3ZlckRvdC1HaERqWHpCeHtkaXNwbGF5OmJsb2NrfX0uYm94LUdoRGpYekJ4e2hlaWdodDoxNnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTZweH0uYm94LUdoRGpYekJ4LnJlZC1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMS1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5yZWQtR2hEalh6Qng6aG92ZXJ7Y29sb3I6dmFyKC0tXzItUk00Xyl9fS5ib3gtR2hEalh6QnguYmx1ZS1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMy1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5ibHVlLUdoRGpYekJ4OmhvdmVye2NvbG9yOnZhcigtLV80LVJNNF8pfX0uYm94LUdoRGpYekJ4LmdyZWVuLUdoRGpYekJ4e2NvbG9yOnZhcigtLV81LVJNNF8pfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYm94LUdoRGpYekJ4LmdyZWVuLUdoRGpYekJ4OmhvdmVye2NvbG9yOnZhcigtLV82LVJNNF8pfX0uYm94LUdoRGpYekJ4Lm9yYW5nZS1HaERqWHpCeHtjb2xvcjp2YXIoLS1fNy1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5vcmFuZ2UtR2hEalh6Qng6aG92ZXJ7Y29sb3I6dmFyKC0tXzgtUk00Xyl9fS5ib3gtR2hEalh6QngucHVycGxlLUdoRGpYekJ4e2NvbG9yOnZhcigtLV85LVJNNF8pfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYm94LUdoRGpYekJ4LnB1cnBsZS1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTAtUk00Xyl9fS5ib3gtR2hEalh6QnguY3lhbi1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMTEtUk00Xyl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ib3gtR2hEalh6QnguY3lhbi1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTItUk00Xyl9fS5ib3gtR2hEalh6QngucGluay1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMTMtUk00Xyl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ib3gtR2hEalh6QngucGluay1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTQtUk00Xyl9fS5ib3gtR2hEalh6QngubGFyZ2UtR2hEalh6Qnh7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ucGlja2VyRG90LUdoRGpYekJ4e2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmhvdmVyRG90LUdoRGpYekJ4e2NvbG9yOnZhcigtLV8wLVJNNF8pO2Rpc3BsYXk6bm9uZTtvcGFjaXR5Oi41fVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXlNSEM6dmFyKC0tY29sb3Itd2hpdGUpfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAteU1IQzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKX0ud3JhcHBlci1WbmVRVm9OdntwYWRkaW5nLWJsb2NrOjEwcHggMTBweDtwYWRkaW5nLWlubGluZTo2cHggMTBweH0ud3JhcHBlci1WbmVRVm9OdiAuc2VsZWN0b3ItVm5lUVZvTnZ7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAteU1IQyk7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNoYWRvdzowIDAgNnB4IDAgdmFyKC0tY29sb3Itb3RoZXItc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0KTtkaXNwbGF5OmlubGluZS1mbGV4O3BhZGRpbmc6NHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS53cmFwcGVyLVZuZVFWb052IC5zZWxlY3Rvci1WbmVRVm9OdiAuYXJyb3dMZWZ0LVZuZVFWb052e2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDotMTJweDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDoxMnB4fS53cmFwcGVyLVZuZVFWb052IC5zZWxlY3Rvci1WbmVRVm9OdiAuYXJyb3dMZWZ0LVZuZVFWb052OmFmdGVye2JhY2tncm91bmQ6dmFyKC0tXzAteU1IQyk7Ym94LXNoYWRvdzowIDAgNnB4IDAgdmFyKC0tY29sb3Itb3RoZXItc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0KTtjb250ZW50OiIiO2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDo5cHg7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7d2lkdGg6MTJweH0ud3JhcHBlci1WbmVRVm9OdiAuc2VsZWN0b3ItVm5lUVZvTnYgLmFycm93TGVmdC1WbmVRVm9OdjphZnRlcjpkaXIocnRsKXt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9LmNvbG9yU2VsZWN0QnV0dG9uLVZuZVFWb052e3BhZGRpbmc6NHB4fS5wb3B1cC1WbmVRVm9Odntwb3NpdGlvbjpmaXhlZDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt6LWluZGV4OjEwMDB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52920.30ba05d6a5393e331827.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.729Z","timestamp":1785141584729,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52920.30ba05d6a5393e331827.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 103\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-67\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4d81cb1240375969b212d1e728c0ae8e\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":103,"size_decoded":888,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"905ba86f45c3c4836e1e66ce0b1a69d4","sha1":"500fc2231fc7750395f3d4ba76aaa9ca105b5267","sha256":"16405805afc864f5869ae7c76253575cc65188d7ebb3f3b4207b634b7876bf8f","sha512":"838c4397409cdb507a9f79bd3943a589fc809cb994669fcbffa017fd350ec5f0994caea1f8f4837f2b5d61a440945e8334f4310d5b23302be6408645230b51a2","ssdeep":"","tlshash":"adb0921b5a704f55155b96514fc8835a9c63043260413e88c401ca221a3a88cead020a","first_seen":"2026-07-17T03:30:51.221694Z","last_seen":"2026-07-27T14:50:15.451059Z","times_seen":127,"resource_available":false,"data":"LmlubGluZUljb24tdDZXWmxMUU97ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfS5pbmxpbmVJY29uLXQ2V1psTFFPIHN2Z3tkaXNwbGF5OmJsb2NrfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/branding-source.83b7dbcf32c4ccb466bc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.774Z","timestamp":1785141584774,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/branding-source.83b7dbcf32c4ccb466bc.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-9984\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d472095c15176b6cf79d502a51ca8682\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":39300,"size_decoded":15763,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3429)","md5":"e07829b9c2f075e0d79539e09e8ef5c5","sha1":"c0ecb7b2378f8c8f6bb127ab7ce32a33f2867147","sha256":"de200e3269223b7eaed298c26e6c4f1aa89cfefab594c21c75d8fa254a074888","sha512":"6caeee99a9d13d9694e591f9382f08303b729630991f2a101d67c7c6e9ab1aa3679a35fe72b8511546c1ed034286f9ef93d5b2e8878aeb902fdbc675fef15d33","ssdeep":"768:35sPlyn1pNoHx1dy6DXt6MfuD92GrAhihIo0Z8Qa2L/aQmvYsYIlL7GL4EUdBkp4:KdFrbPfuD92G8mcZQ2L/BmRdBIJNWGHs","tlshash":"5103196ee220585d13c301b49c7f2957961b50e5350a4becb2bc9dee105e9dab633b3c","first_seen":"2026-07-23T14:00:31.655738Z","last_seen":"2026-07-27T14:50:15.420318Z","times_seen":112,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0OTg4M10sezc0NTgwOCh0KXt0LmV4cG9ydHM9e319LDIwNTYxMSh0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLHtjcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb25zOigpPT5zfSk7dmFyIG89aSgyMzIzNjQpO2Z1bmN0aW9uIHModCxlKXtjb25zdCBpPW5ldyBvLldhdGNoZWRWYWx1ZSh0KCkpLHM9e307ZS5mb3JFYWNoKChlPT5lLnN1YnNjcmliZShzLCgoKT0+e2kuc2V0VmFsdWUodCgpKX0pKSkpO3JldHVybiBpLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT5lLmZvckVhY2goKHQ9PnQudW5zdWJzY3JpYmVBbGwocykpKSkpfX0sNDkyNjc3KHQsZSxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyh0KXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHQucmVwbGFjZSgvXCsvZywiICIpKS5yZXBsYWNlKC88XC8/W14+XSsoPnwkKS9nLCIiKX1mdW5jdGlvbiBzKHQpe2NvbnN0IGU9LyhbXiY9XSspPT8oW14mXSopL2csaT17fTtpZighdClyZXR1cm4gaTtsZXQgcz1lLmV4ZWModCk7Zm9yKDtzOylpW28oc1sxXSldPW8oc1syXSkscz1lLmV4ZWModCk7cmV0dXJuIGl9ZnVuY3Rpb24gYSgpe3JldHVybiBzKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpKX1mdW5jdGlvbiBuKCl7Y29uc3QgdD13aW5kb3cubG9jYXRpb24uaHJlZi5zcGxpdCgiIyIpWzBdO3dpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSgiIixkb2N1bWVudC50aXRsZSx0KX1mdW5jdGlvbiByKHQpe2NvbnN0IGU9W107Zm9yKGNvbnN0IGkgaW4gdClpZih0Lmhhc093blByb3BlcnR5KGkpJiZudWxsIT10W2ldKXtjb25zdCBvPXRbaV0scz0ib2JqZWN0Ij09dHlwZW9mIG8/SlNPTi5zdHJpbmdpZnkobyk6U3RyaW5nKG8pO2UucHVzaCh7a2V5OmkscGFpcjplbmNvZGVVUklDb21wb25lbnQoaSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChzKX0pfXJldHVybiBlLnNvcnQoKCh0LGUpPT50LmtleT5lLmtleT8xOnQua2V5PGUua2V5Py0xOjApKS5tYXAoKHQ9PnQucGFpcikpLmpvaW4oIiYiKX1pLmQoZSx7Y3JlYXRlVXJsUGFyYW1zOigpPT5yLGdldFVybFBhcmFtczooKT0+YSxyZW1vdmVIYXNoRnJvbVVybDooKT0+bn0pfSw1Mjg4NjQodCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbztpLmQoZSx7S25vd25BY3Rpb246KCk9Pm8sd2lkZ2V0U2hlcmlmZkFjdGlvbnM6KCk9PnN9KSxmdW5jdGlvbih0KXt0LkV4cGFuZD0iZXhwYW5kLWxvZ28iLHQuTGFyZ2VUcmFkZUxvZ289ImxhcmdlLXRyYWRlLWxvZ28ifShvfHwobz17fSkpO2NvbnN0IHM9bmV3IFNldChbby5FeHBhbmQsby5MYXJnZVRyYWRlTG9nb10pfSw0MDAxODEodCxlLGkpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBvKCl7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOnR9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoNzA2NDQpLGkuZSg5NTIwNyldKS50aGVuKGkuYmluZChpLDQ3NzE1MCkpO3JldHVybiB0KCl9aS5kKGUse2dldFRyYWNrZXI6KCk9Pm99KX0sOTA4NDU0KHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2FkZEJyYW5kaW5nU291cmNlOigpPT5QdH0pO3ZhciBvPWkoOTUyOTAwKSxzPWkoMjA1NjExKSxhPWkoOTMwNTA2KSxuPWkoOTE4Nzc5KSxyPWkoNTQ3ODUxKSxoPWkoNzM2NTMxKSxsPWkoNzY4MzA1KSxkPWkoNTA1NTYpLGM9aSgxMzg2MzgpLGc9aSgxODUyNzEpLF89aSgzMTg5NzQpLG09aSg5MzAyMzEpLHU9aSg1OTYyNzIpLHc9aSg3NjMpLHA9aSgyMTg4MTQpLGY9aSg4NzM1NzMpLHY9aSgzNDI3OCkseD1pKDE1MTIxKSx5PWkoNDM5ODc5KSxiPWkoMzY0MTg4KSxBPWkoODM5NDEyKSxTPWkoNDAwMTgxKSxMPWkoNjAxNTg3KTthc3luYyBmdW5jdGlvbiBUKHQsZSl7Y29uc3QgaT1mdW5jdGlvbigpe2NvbnN0IHQ9d2luZG93LmluaXREYXRhLmhhc2hTZXR0aW5ncztpZihPYmplY3Qua2V5cyh0KS5sZW5ndGg+MClyZXR1cm4oMCxMLmZpbHRlclV0bUluZm8pKHQpO2NvbnN0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5ocmVmKTtyZXR1cm57dXRtX2NhbXBhaWduOmUuZ2V0KCJ1dG1fY2FtcGFpZ24iKXx8dm9pZCAwLHV0bV9zb3VyY2U6ZS5nZXQoInV0bV9zb3VyY2UiKXx8dm9pZCAwfX0oKTsoYXdhaXQoMCxTLmdldFRyYWNrZXIpKCkpPy50cmFja1NlbGZEZXNjKCJpZ2x1OmNvbS50cmFkaW5ndmlldy93aWRnZXRfdHZfbGlua19jbGljay9qc29uc2NoZW1hLzEtMC0wIix7d2lkZ2V0X3R5cGU6ayhpKSxkb21haW46QyhpKSxsaW5rOnQsdGFyZ2V0X3R5cGU6ZX0pfWZ1bmN0aW9uIEModCl7Y29uc3QgZT1sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnM/LlswXXx8ZG9jdW1lbnQucmVmZXJyZXI7cmV0dXJuIHQudXRtX3NvdXJjZXx8ZnVuY3Rpb24odCl7dHJ5e3JldHVybiBuZXcgVVJMKHQpLmhvc3R9Y2F0Y2godCl7cmV0dXJuIiJ9fShlKX1mdW5jdGlvbiBrKHQpe2lmKHQudXRtX2NhbXBhaWduKXJldHVybiB0LnV0bV9jYW1wYWlnbjtjb25zdCBlPWxvY2F0aW9uLnBhdGhuYW1lO3JldHVybiBlLmluY2x1ZGVzKCJlbWJlZC13aWRnZXQiKT9lLnNwbGl0KCIvIilbMl06ZX12YXIgQj1pKDIyMTA2MSksUD1pKDM4NDAxNyksTT1pKDUyODg2NCk7Y29uc3QgVz13aW5kb3cuV0lER0VUX1NIRVJJRkZfSE9TVHx8Imh0dHBzOi8vd2lkZ2V0LXNoZXJpZmYueHN0YWdpbmctd2lkZ2V0LnR2IixWPSgwLEIuZ2V0TG9nZ2VyKSgiV2lkZ2V0U2hlcmlmZi5XaWRnZXQiKTtsZXQgej1udWxsO2FzeW5jIGZ1bmN0aW9uIFooKXtyZXR1cm4gbnVsbD09PXomJih6PWF3YWl0IGFzeW5jIGZ1bmN0aW9uKCl7Y29uc3QgdD1mdW5jdGlvbigpe2lmKGRvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucyYmZG9jdW1lbnQubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zLmxlbmd0aClyZXR1cm4gZG9jdW1lbnQubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zW2RvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucy5sZW5ndGgtMV07dHJ5e3JldHVybiBuZXcgVVJMKGRvY3VtZW50LnJlZmVycmVyKS5vcmlnaW59Y2F0Y2godCl7CnJldHVybiBkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW58fG51bGx9fSgpO2lmKG51bGw9PT10KXJldHVybiBWLmxvZ1dhcm4oImFuY2VzdG9yT3JpZ2luIGlzIHVuZGVmaW5lZCIpLFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3QgZT1uZXcgVVJMKCIvc2hlcmlmZi9hcGkvdjEvcnVsZXMvc2VhcmNoIixXKTtlLnNlYXJjaFBhcmFtcy5hcHBlbmQoIm9yaWdpbiIsdCk7cmV0dXJuKGF3YWl0KDAsUC5mZXRjaCkoZS50b0pTT04oKSkudGhlbigodD0+e2lmKCF0Lm9rKXRocm93IG5ldyBFcnJvcigiR3VhcmQgcmVxdWVzdCBlcnJvciBvY2N1cmVkIik7cmV0dXJuIDIwND09PXQuc3RhdHVzP1Byb21pc2UucmVzb2x2ZSh7YWN0aW9uczpbXX0pOnQuanNvbigpfSkpLmNhdGNoKCh0PT4oVi5sb2dXYXJuKHQubWVzc2FnZSksUHJvbWlzZS5yZXNvbHZlKHthY3Rpb25zOltdfSkpKSkpLmFjdGlvbnMuZmlsdGVyKCh0PT5NLndpZGdldFNoZXJpZmZBY3Rpb25zLmhhcyh0KSkpfSgpKSxQcm9taXNlLnJlc29sdmUoeil9dmFyIEk9aSg0NzkzNCksSD1pKDc3NDUwNyksRj1pKDc4NjQzNiksTz1pKDgyMjcyNiksRD1pKDUxNTkyKSxSPWkoOTI2MTQ5KSxFPWkoOTc2ODEzKSxVPWkoNTk1ODAwKSxOPWkoMzkyMjIzKSwkPWkoODc3OTc5KSxqPWkoNzIxNjQ2KSxHPWkoMzMzMzE4KSxxPWkoNDIyNzExKSxLPWkoNTkyMTU1KTtpKDc0NTgwOCk7Y29uc3QgUT17Y3VzdG9tQnJhbmRpbmdUcmFkaW5nVmlld1RleHQ6ZC5jb2xvcnNQYWxldHRlWyJjb2xvci1icmFuZCJdLGN1c3RvbUJyYW5kaW5nVGV4dDpkLmNvbG9yc1BhbGV0dGVbImNvbG9yLWNvbGQtZ3JheS04NTAiXSxiYWNrZ3JvdW5kOmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTkwMCJdLHNoYWRvdzpkLmNvbG9yc1BhbGV0dGVbImNvbG9yLWNvbGQtZ3JheS03MDAiXSx0ZXh0OmQuY29sb3JzUGFsZXR0ZVsiY29sb3Itd2hpdGUiXSxzdGF0aWNUZXh0QmFja2dyb3VuZDooMCxmLmdlbmVyYXRlQ29sb3IpKGQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTgwMCJdLDIwKSxsb2dvOmQuY29sb3JzUGFsZXR0ZVsiY29sb3Itd2hpdGUiXSxwbGF0Zm9ybUJnQ29sb3I6ZC5jb2xvcnNQYWxldHRlWyJjb2xvci1jb2xkLWdyYXktOTAwIl0scGxhdGZvcm1GZ0NvbG9yOmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTIwMCJdfSxKPXtjdXN0b21CcmFuZGluZ1RyYWRpbmdWaWV3VGV4dDpkLmNvbG9yc1BhbGV0dGVbImNvbG9yLWJyYW5kIl0sY3VzdG9tQnJhbmRpbmdUZXh0OmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTg1MCJdLGJhY2tncm91bmQ6ZC5jb2xvcnNQYWxldHRlWyJjb2xvci13aGl0ZSJdLHNoYWRvdzpkLmNvbG9yc1BhbGV0dGVbImNvbG9yLWNvbGQtZ3JheS0xNTAiXSx0ZXh0OmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTkwMCJdLHN0YXRpY1RleHRCYWNrZ3JvdW5kOigwLGYuZ2VuZXJhdGVDb2xvcikoZC5jb2xvcnNQYWxldHRlWyJjb2xvci13aGl0ZSJdLDIwKSxsb2dvOmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTkwMCJdLHBsYXRmb3JtQmdDb2xvcjpkLmNvbG9yc1BhbGV0dGVbImNvbG9yLXdoaXRlIl0scGxhdGZvcm1GZ0NvbG9yOmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTkwMCJdfTtmdW5jdGlvbiBZKHQsZSl7cmV0dXJuIHQucmVwbGFjZSgvYmxhY2svZyxlLnBsYXRmb3JtQmdDb2xvcikucmVwbGFjZSgvbGlnaHRncmF5L2csZS5wbGF0Zm9ybUZnQ29sb3IpfWNvbnN0IFg9W1sibG9nby1saWdodCIsWSgkLEopXSxbImxvZ28tZGFyayIsWSgkLFEpXSxbInByby1iYWRnZS1saWdodCIsWShqLEopXSxbInByby1iYWRnZS1kYXJrIixZKGosUSldLFsidHJhZGluZ3ZpZXctbGlnaHQiLFkoRyxKKV0sWyJ0cmFkaW5ndmlldy1kYXJrIixZKEcsUSldLFsibG9nby1vbGQtc3R5bGUiLFVdLFsidHJhZGluZ3ZpZXctb2xkLXN0eWxlIixOXSxbImxvZ28tdHJhZGUtd2l0aCIscV0sWyJ0cmFkaW5ndmlldy10cmFkZS13aXRoIixLXV0sdHQ9bmV3IE1hcChYKSxldD0ic2l0ZV9icmFuZGluZyIsaXQ9IndpZGdldF9icmFuZGluZyIsb3Q9IndpZGdldF9yZWZlcnJhbF9icmFuZGluZyIsc3Q9IndpZGdldF9jdXN0b21fYnJhbmRpbmciLGF0PSJ3aWRnZXRfY3VzdG9tX25vX3Bvd2VyZWRfYnJhbmRpbmciLG50PSJmdW5kYW1lbnRhbF9icmFuZGluZyIscnQ9ImZ1bmRhbWVudGFsX2N1c3RvbV9icmFuZGluZyIsaHQ9ImZ1bmRhbWVudGFsX2N1c3RvbV9ub19wb3dlcmVkX2JyYW5kaW5nIixsdD0ibGlicmFyeV9icmFuZGluZyIsZHQ9ImxpYnJhcnlfY3VzdG9tX2JyYW5kaW5nIixjdD0ibGlicmFyeV9jdXN0b21fbm9fcG93ZXJlZF9icmFuZGluZyIsZ3Q9bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImNocm9tZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJlZGdlIiksX3Q9d2luZG93LnVybFBhcmFtc3x8e30sbXQ9d2luZG93LmluaXREYXRhfHx7fTtmdW5jdGlvbiB1dCh0KXtyZXR1cm4gX3RbdF18fG10Lmhhc2hTZXR0aW5nc1t0XXx8IiJ9KF90LnJlZmVycmFsX2lkfHxfdC5ub19yZWZlcnJhbF9pZCkmJigwLEEuZW5hYmxlKShfdC5yZWZlcnJhbF9pZHx8IiIsImFnZ3Jlc3NpdmUiKTtnLnQobnVsbCx2b2lkIDAsaSg0MTQwMTgpKSxnLnQobnVsbCx2b2lkIDAsaSg2MzM5MDYpKTtjb25zdCB3dD1nLnQobnVsbCx2b2lkIDAsaSgzMDA3ODgpKSxwdD1nLnQobnVsbCx2b2lkIDAsaSgyOTc5NDgpKSxmdD1nLnQobnVsbCx2b2lkIDAsaSg2MTgzNTkpKSsiICI7dmFyIHZ0OyFmdW5jdGlvbih0KXt0W3QuT2xkRm9udEFkZGl0aW9uYWxWZXJ0aWNhbE9mZnNldD0wXT0iT2xkRm9udEFkZGl0aW9uYWxWZXJ0aWNhbE9mZnNldCIsdFt0Lk5ld0ZvbnRBZGRpdGlvbmFsVmVydGljYWxPZmZzZXQ9LjFdPSJOZXdGb250QWRkaXRpb25hbFZlcnRpY2FsT2Zmc2V0Iix0W3QuU3Ryb2tlV2lkdGg9NF09IlN0cm9rZVdpZHRoIiwKdFt0LlN0YXRpY0xvZ29Ib3Jpem9udGFsVGV4dE9mZnNldD01XT0iU3RhdGljTG9nb0hvcml6b250YWxUZXh0T2Zmc2V0Iix0W3QuVGV4dFdpZHRoQ29tcGVuc2F0aW9uPTJdPSJUZXh0V2lkdGhDb21wZW5zYXRpb24iLHRbdC5BZGFwdGl2ZVdpZHRoVG9IaWRlVGV4dD01MDBdPSJBZGFwdGl2ZVdpZHRoVG9IaWRlVGV4dCIsdFt0LldpZHRoVG9IaWRlTG9nb0lmU21hbGxOb0Rpc3BsYXlFbmFibGVkPTQ4MF09IldpZHRoVG9IaWRlTG9nb0lmU21hbGxOb0Rpc3BsYXlFbmFibGVkIix0W3QuVGV4dEFkZGl0aW9uYWxDcm9wV2lkdGg9MTFdPSJUZXh0QWRkaXRpb25hbENyb3BXaWR0aCIsdFt0LkJhZGdlTG9nb01hcmdpbj0tMTFdPSJCYWRnZUxvZ29NYXJnaW4iLHRbdC5CYWRnZVRleHRNYXJnaW49LThdPSJCYWRnZVRleHRNYXJnaW4iLHRbdC5UZXh0QW5pbWF0ZWRBbHBoYVN0YXJ0PS4zXT0iVGV4dEFuaW1hdGVkQWxwaGFTdGFydCIsdFt0LlRleHRBbmltYXRlZEFscGhhRW5kPTFdPSJUZXh0QW5pbWF0ZWRBbHBoYUVuZCIsdFt0LkFuaW1hdGlvbkR1cmF0aW9uPTIwMF09IkFuaW1hdGlvbkR1cmF0aW9uIn0odnR8fCh2dD17fSkpO2NvbnN0IHh0PSgwLF8ub25XaWRnZXQpKCkseXQ9eHQ7Y2xhc3MgYnQgZXh0ZW5kcyB1LkN1c3RvbVNvdXJjZUJhc2V7Y29uc3RydWN0b3IodCxlLGkpe3N1cGVyKHQsZSksdGhpcy5fY2FudmFzV2lkdGg9MCx0aGlzLl9wYW5lSGVpZ2h0PTAsdGhpcy5fbGVmdD0xMyx0aGlzLl9ib3R0b209MzYsdGhpcy5fbGF5b3V0PWV0LHRoaXMuX25lZWRUb1Nob3c9ITAsdGhpcy5fc2hvd0JyYW5kaW5nPSExLHRoaXMuX2N1c3RvbUxvZ29TcmM9IiIsdGhpcy5fY3VzdG9tTG9nb0xpbms9IiIsdGhpcy5fdHJhZGluZ3ZpZXdMb2dvTGlua1RvUGF0aD0iIix0aGlzLl9jdWJpY0Jlemllcj1uZXcgcC5DdWJpY0JlemllciguNCwuMDEsLjIyLDEpLHRoaXMuX29wZW5BbmltYXRpb249bnVsbCx0aGlzLl9jbG9zZUFuaW1hdGlvbj1udWxsLHRoaXMuX3Bvd0J5PW51bGwsdGhpcy5fY3VzdG9tPW51bGwsdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX21haW5TZXJpZXM9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLHRoaXMuX3Zpc2libGU9aSx0aGlzLl9zaG93Rm9yUHJvPSFlLm9uV2lkZ2V0KCk7Y29uc3Qgbz0oKT0+dGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpO3RoaXMuX3Zpc2libGUuc3Vic2NyaWJlKG8pLHRoaXMuX2Rhcms9ZS5kYXJrKCkuc3Bhd24oKSx0aGlzLl9kYXJrLnN1YnNjcmliZShvKSx0aGlzLl9jaGVja0xheW91dCgpLHRoaXMuX2xheW91dCE9PXN0JiZ0aGlzLl9sYXlvdXQhPT1ydHx8KHRoaXMuX2xlZnQ9OCx0aGlzLl9ib3R0b209NSk7Y29uc3Qgcz0oKT0+e3RoaXMuX25lZWRUb1Nob3c/dGhpcy5fc2hvd0JyYW5kaW5nPSEwOnRoaXMuX3Nob3dCcmFuZGluZz0hMX07dGhpcy5fcmVzaXplSGFuZGxlckRlbGF5ZWQ9KDAsci5kZWZhdWx0KShzLDIwMCkscygpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX3Jlc2l6ZUhhbmRsZXJEZWxheWVkKSx0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCk/dGhpcy5faW5pdCgpOih0aGlzLl9tYWluU2VyaWVzLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2luaXQpLG51bGwhPT10aGlzLl9tYWluU2VyaWVzLnN5bWJvbEluZm8oKSYmdGhpcy5faW5pdCgpKSx0aGlzLl9yZW5kZXJlcj17ZHJhdzp0aGlzLmRyYXcuYmluZCh0aGlzKSxoaXRUZXN0OnRoaXMuaGl0VGVzdC5iaW5kKHRoaXMpfSxlLm9uV2lkZ2V0KCl8fHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZSh0aGlzLHRoaXMuX2luaXQpfWRlc3Ryb3koKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9yZXNpemVIYW5kbGVyRGVsYXllZCksdGhpcy5fbWFpblNlcmllcy5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9wb3dCeSYmdGhpcy5fcG93QnkuZGVzdHJveSgpLHRoaXMuX21vZGVsLm9uV2lkZ2V0KCl8fHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Zpc2libGUucmVsZWFzZSgpLHRoaXMuX2RhcmsuZGVzdHJveSgpLHRoaXMuX2Rlc3Ryb3llZD0hMH1wYW5lVmlld3ModCl7aWYod2luZG93LlRyYWRpbmdWaWV3LnByaW50aW5nJiZ0aGlzLl9sYXlvdXQhPT1hdCYmdGhpcy5fbGF5b3V0IT09aHQpcmV0dXJuW107aWYoIXRoaXMuX3Zpc2libGUudmFsdWUoKSlyZXR1cm5bXTtpZih0aGlzLl9sYXlvdXQ9PT1ldCYmIXRoaXMuX3Nob3dGb3JQcm8mJndpbmRvdy51c2VyJiZ3aW5kb3cudXNlci5pc19wcm8pcmV0dXJuW107Y29uc3QgZT10aGlzLl9tb2RlbC5tYWluUGFuZSgpO2lmKCFlKXJldHVybltdO2NvbnN0IGk9KDAsbS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibW92ZV9sb2dvX3RvX21haW5fcGFuZSIpO2xldCBvPSExO2lmKHQubWF4aW1pemVkKCkudmFsdWUoKSlvPSEwO2Vsc2UgaWYoaSlvPWUuY29sbGFwc2VkKCkudmFsdWUoKT90PT09dGhpcy5fbW9kZWwucGFuZXMoKS5maW5kKCh0PT4hdC5jb2xsYXBzZWQoKS52YWx1ZSgpKSk6dC5pc01haW5QYW5lKCkudmFsdWUoKTtlbHNlIGlmKHRoaXMuX21vZGVsLmxhc3RQYW5lKCkuY29sbGFwc2VkKCkudmFsdWUoKSl7Y29uc3QgZT10aGlzLl9tb2RlbC5wYW5lcygpO2ZvcihsZXQgaT1lLmxlbmd0aC0xO2k+PTA7LS1pKXtjb25zdCBzPWVbaV07aWYoIXMuY29sbGFwc2VkKCkudmFsdWUoKSl7bz1zPT09dDticmVha319fWVsc2Ugbz10LmlzTGFzdCgpO3JldHVybiBvP1t7cmVuZGVyZXI6dGhpcy5yZW5kZXJlci5iaW5kKHRoaXMpfV06W119bGFiZWxQYW5lVmlld3ModCl7cmV0dXJuW119cHJpY2VBeGlzVmlld3ModCxlKXtyZXR1cm5bXX11cGRhdGVBbGxWaWV3cygpe311cGRhdGVWaWV3c0ZvclBhbmUodCl7fXByaWNlU2NhbGUoKXtyZXR1cm4gbnVsbH1yZW5kZXJlcih0KXtyZXR1cm4gdGhpcy5fcGFuZUhlaWdodD10Lm1lZGlhU2l6ZS5oZWlnaHQsdGhpcy5fY2FudmFzV2lkdGg9dC5tZWRpYVNpemUud2lkdGgsCnRoaXMuX3JlbmRlcmVyfWhhc0NvbnRleHRNZW51KCl7cmV0dXJuITF9b25DbGlja091dHNpZGUoKXt0aGlzLl9oYXNBbmltYXRpb24oKSYmdGhpcy5fc3RhcnRDbG9zZUFuaW1hdGlvbigpfWhpdFRlc3QodCl7aWYoIXRoaXMuX3Nob3dCcmFuZGluZ3x8KDAsbS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibG9nb193aXRob3V0X2xpbmsiKSlyZXR1cm4gbnVsbDtpZih0aGlzLl9wb3dCeSYmdGhpcy5fbGF5b3V0IT09YXQmJnRoaXMuX2xheW91dCE9PWh0JiYodGhpcy5fcG93QnkuaGl0VGVzdCh0KXx8dGhpcy5fY3VzdG9tJiZ0aGlzLl9jdXN0b20uaGl0VGVzdCh0KSkpe2NvbnN0IHQ9dGhpcy5fbGF5b3V0IT09ZXR8fCF0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkmJighd2luZG93LmlzX2F1dGhlbnRpY2F0ZWR8fCgwLEkuY2FuVXBncmFkZVBsYW4pKCkpO3JldHVybiBuZXcgdy5IaXRUZXN0UmVzdWx0KHcuSGl0VGFyZ2V0LkN1c3RvbSx7aGlkZUNyb3NzaGFpckxpbmVzT25Ib3ZlcjohMCxjdXJzb3JUeXBlOnQ/RS5QYW5lQ3Vyc29yVHlwZS5Qb2ludGVyOkUuUGFuZUN1cnNvclR5cGUuRGVmYXVsdCxjbGlja0hhbmRsZXI6KCk9Pnt0aGlzLl9vcGVuTGluaygpLHRoaXMuX3Bvd0J5JiYodGhpcy5fcG93QnkuYWN0aXZlPSExKX0sdGFwSGFuZGxlcjooKT0+e3RoaXMuX2hhc0FuaW1hdGlvbigpP3RoaXMuX3RvZ2dsZU9wZW5BbmltYXRlZE9yT3BlbkxpbmsoKTp0aGlzLl9vcGVuTGluaygpfSxtb3VzZUVudGVySGFuZGxlcjooKT0+e3RoaXMuX3Bvd0J5JiYodGhpcy5fcG93QnkuaG92ZXJlZD0hMCksdGhpcy5faGFzQW5pbWF0aW9uKCkmJnRoaXMuX3N0YXJ0T3BlbkFuaW1hdGlvbigpfSxtb3VzZUxlYXZlSGFuZGxlcjooKT0+e3RoaXMuX3Bvd0J5JiYodGhpcy5fcG93QnkuaG92ZXJlZD0hMSx0aGlzLl9wb3dCeS5hY3RpdmU9ITEpLHRoaXMuX2hhc0FuaW1hdGlvbigpJiZ0aGlzLl9zdGFydENsb3NlQW5pbWF0aW9uKCl9LG1vdXNlRG93bkhhbmRsZXI6KCk9Pnt0aGlzLl9wb3dCeSYmKHRoaXMuX3Bvd0J5LmFjdGl2ZT0hMCl9LG1vdXNlVXBIYW5kbGVyOigpPT57dGhpcy5fcG93QnkmJih0aGlzLl9wb3dCeS5hY3RpdmU9ITEpfX0pfXJldHVybiBudWxsfXR2VXJsKCl7Y29uc3QgdD1tdC5xdWVyeVNldHRpbmdzPy5sb2NhbGU/P210LmN1cnJlbnRMb2NhbGVJbmZvPy5sYW5ndWFnZSxlPSJodHRwczovLyIrKDAsYi5nZXRUVkhvc3RGcm9tTG9jYWxlKSh0fHwiZW4iKTtsZXQgaT1uZXcgVVJMKGUpO3tjb25zdCB0PXRoaXMuX21haW5TZXJpZXMucHJvU3ltYm9sKCksZT1tdC5jdXN0b21lcj8/bXQud2lkZ2V0RGVmYXVsdHM/LmN1c3RvbWVyO2lmKCgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInJlZmVycmFsX3Byb2dyYW1fZm9yX3dpZGdldF9vd25lcnMiKSl7Y29uc3QgdD0oMCxBLnJlZmVyZW5jZVRvVHJhZGluZ1ZpZXcpKCksZT10LmluZGV4T2YoInV0bV9zb3VyY2UiKTstMSE9PWUmJihpPW5ldyBVUkwodC5zbGljZSgwLGUpKSl9ZWxzZSBpZihlKXtpZigidHdpdHRlciI9PT1lJiYiL3R3aXR0ZXItY2hhcnQvIj09PXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSlyZXR1cm4gaS5wYXRobmFtZT0iY2hhcnQiLGkuc2VhcmNoUGFyYW1zLmFwcGVuZCgic3ltYm9sIix0KSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9zb3VyY2UiLCJ3d3cudHdpdHRlci5jb20iKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9jYW1wYWlnbiIsInR3aXR0ZXItY2hhcnQiKSxpLnRvU3RyaW5nKCk7aWYoInRlbGVncmFtIj09PWUmJiIvdGVsZWdyYW0vY2hhcnQvIj09PXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSlyZXR1cm4gaS5wYXRobmFtZT0iY2hhcnQiLGkuc2VhcmNoUGFyYW1zLmFwcGVuZCgic3ltYm9sIix0KSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9zb3VyY2UiLCJ0ZWxlZ3JhbS5vcmciKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9tZWRpdW0iLCJ0ZWxlZ3JhbS1taW5pLWFwcCIpLGkuc2VhcmNoUGFyYW1zLmFwcGVuZCgidXRtX2NhbXBhaWduIiwidGVsZWdyYW0tbWluaS1hcHAtbG9nbyIpLGkudG9TdHJpbmcoKX1lbHNlIGkucGF0aG5hbWU9ImNoYXJ0IixpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInN5bWJvbCIsdCk7Y29uc3Qgbz11dCgidXRtX2NhbXBhaWduIik7aS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJ1dG1fc291cmNlIix1dCgidXRtX3NvdXJjZSIpKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9tZWRpdW0iLHV0KCJ1dG1fbWVkaXVtIikpLGkuc2VhcmNoUGFyYW1zLmFwcGVuZCgidXRtX2NhbXBhaWduIixvP2Ake299LWxvZ29gOiIiKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV90ZXJtIix0KX1yZXR1cm4gaS50b1N0cmluZygpfWRyYXcodCxlKXtpZighdGhpcy5fc2hvd0JyYW5kaW5nKXJldHVybjtsZXQgaT0wO190LnV0bT0hMCwoMCx4LmRyYXdTY2FsZWQpKHQsZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyxlLnZlcnRpY2FsUGl4ZWxSYXRpbywoKCk9PntpZih0aGlzLl9wb3dCeSYmdGhpcy5fcG93Qnkuc2hvdyl7aT10aGlzLl9wb3dCeS5oZWlnaHQsdC5zYXZlKCk7Y29uc3Qgbz1uZXcgaC5Qb2ludCh0aGlzLl9sZWZ0LHRoaXMuX3BhbmVIZWlnaHQtdGhpcy5fYm90dG9tLWkpO3RoaXMuX3Bvd0J5LmRyYXcobyx0LGUsdGhpcy5fY2FudmFzV2lkdGgpLHQucmVzdG9yZSgpfWlmKHRoaXMuX2N1c3RvbSYmdGhpcy5fY3VzdG9tLnNob3cpe3Quc2F2ZSgpO2NvbnN0IG89bmV3IGguUG9pbnQodGhpcy5fbGVmdCx0aGlzLl9wYW5lSGVpZ2h0LXRoaXMuX2JvdHRvbS1pLXRoaXMuX2N1c3RvbS5oZWlnaHQpO3RoaXMuX2N1c3RvbS5kcmF3KG8sdCxlKSx0LnJlc3RvcmUoKX19KSl9X2luaXQoKXt0aGlzLl9jaGVja0xheW91dCgpO2NvbnN0IHQ9dGhpcy5fbWFpblNlcmllcy5zeW1ib2xJbmZvKCk7dGhpcy5fcG93QnkmJnRoaXMuX3Bvd0J5LmRlc3Ryb3koKSx0aGlzLl9wb3dCeT1uZXcgQ3QodGhpcy5fbGF5b3V0LHQ/Lm5hbWV8fCIiLHRoaXMuX21vZGVsLCgoKT0+dGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpKSksCnRoaXMuX2N1c3RvbT1uZXcga3QodGhpcy5fbGF5b3V0LHRoaXMuX2N1c3RvbUxvZ29TcmMsKCgpPT50aGlzLl9tb2RlbC5mdWxsVXBkYXRlKCkpKSx0aGlzLl9vcGVuQW5pbWF0aW9uPW51bGwsdGhpcy5fY2xvc2VBbmltYXRpb249bnVsbCwoMCxfLm9uV2lkZ2V0KSgpJiZaKCkudGhlbigodD0+e3QuaW5jbHVkZXMoTS5Lbm93bkFjdGlvbi5MYXJnZVRyYWRlTG9nbykmJnRoaXMuX3Bvd0J5JiZ0aGlzLl9wb3dCeS5zaG93VHJhZGVXaXRoTG9nbyghMCksKHQuaW5jbHVkZXMoTS5Lbm93bkFjdGlvbi5FeHBhbmQpfHx0LmluY2x1ZGVzKE0uS25vd25BY3Rpb24uTGFyZ2VUcmFkZUxvZ28pKSYmKHRoaXMuX3N0YXJ0T3BlbkFuaW1hdGlvbigpLHRoaXMuX2Nsb3NlQW5pbWF0aW9uPXtzdG9wOigpPT57fSxjb21wbGV0ZWQ6KCk9PiExfSl9KSksdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKX1fY2hlY2tMYXlvdXQoKXtpZigoMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSl7Y29uc3QgdD1tdC53aWRnZXREZWZhdWx0cy5sb2dvfHx7fSxlPSgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImZ1bmRhbWVudGFsX3dpZGdldCIpO3RoaXMuX25lZWRUb1Nob3c9IXQud2hpdGVsYWJlbCx0LmltYWdlPyh0aGlzLl9jdXN0b21Mb2dvU3JjPSIvc3RhdGljL2ltYWdlcy93aWRnZXQtZW1iZWQtbG9nby8iK3QuaW1hZ2UsdC5ub19wb3dlcmVkX2J5P3RoaXMuX2xheW91dD1lP2h0OmF0OnRoaXMuX2xheW91dD1lP3J0OnN0KTpfdC5yZWZlcnJhbF9pZHx8X3Qubm9fcmVmZXJyYWxfaWQ/dGhpcy5fbGF5b3V0PW90OnRoaXMuX2xheW91dD1lP250Oml0fWVsc2UgdGhpcy5fbGF5b3V0PWV0fV9zdGFydE9wZW5BbmltYXRpb24oKXtpZihudWxsIT09dGhpcy5fb3BlbkFuaW1hdGlvbilyZXR1cm47bnVsbCE9PXRoaXMuX2Nsb3NlQW5pbWF0aW9uJiYodGhpcy5fY2xvc2VBbmltYXRpb24uc3RvcCgpLHRoaXMuX2Nsb3NlQW5pbWF0aW9uPW51bGwpO2NvbnN0IHQ9KDAsYy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wb3dCeSkuYW5pbWF0aW9uU3RlcCgpO3RoaXMuX29wZW5BbmltYXRpb249KDAsdi5kb0FuaW1hdGUpKHtmcm9tOnQsdG86MSxkdXJhdGlvbjoyMDAqKDEtdCksZWFzaW5nOnRoaXMuX2N1YmljQmV6aWVyLmVhc2luZ0Z1bmMsb25TdGVwOnRoaXMuX2FuaW1hdGVkRHJhd1N0ZXAuYmluZCh0aGlzKX0pfV9zdGFydENsb3NlQW5pbWF0aW9uKCl7aWYobnVsbCE9PXRoaXMuX2Nsb3NlQW5pbWF0aW9uKXJldHVybjtudWxsIT09dGhpcy5fb3BlbkFuaW1hdGlvbiYmKHRoaXMuX29wZW5BbmltYXRpb24uc3RvcCgpLHRoaXMuX29wZW5BbmltYXRpb249bnVsbCk7Y29uc3QgdD0oMCxjLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Bvd0J5KS5hbmltYXRpb25TdGVwKCk7dGhpcy5fY2xvc2VBbmltYXRpb249KDAsdi5kb0FuaW1hdGUpKHtmcm9tOnQsdG86MCxkdXJhdGlvbjoyMDAqdCxlYXNpbmc6dGhpcy5fY3ViaWNCZXppZXIuZWFzaW5nRnVuYyxvblN0ZXA6dGhpcy5fYW5pbWF0ZWREcmF3U3RlcC5iaW5kKHRoaXMpfSl9X2FuaW1hdGVkRHJhd1N0ZXAodCxlKXsoMCxjLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Bvd0J5KS5hbmltYXRlZERyYXdTdGVwKGUpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCl9X2hhc0FuaW1hdGlvbigpe3JldHVybiBudWxsIT09dGhpcy5fcG93QnkmJnRoaXMuX3Bvd0J5Lmhhc0FuaW1hdGlvbigpfV9vcGVuR29Qcm8oKXt3aW5kb3cucnVuT3JTaWduSW4oKGFzeW5jKCk9PntpZighKDAsSS5jYW5VcGdyYWRlUGxhbikoKSlyZXR1cm47Y29uc3R7b3BlbkdvUHJvOnR9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMzk4MyksaS5lKDMzMjIxKSxpLmUoMTc5OTEpLGkuZSgyMjU0NyldKS50aGVuKGkuYmluZChpLDUxNzk5MSkpO3RoaXMuX2Rlc3Ryb3llZHx8dCh7Z29wcm9Tb3VyY2U6ImJyYWRpbmcifSwoKCk9Pnt9KSl9KSx7c291cmNlOiJicmFuZGluZyJ9KX1fb3BlbkxpbmsoKXtpZigoMCxfLmlzU3ltcGhvbnlFbWJlZCkoKSlyZXR1cm4hMTtpZih0aGlzLl9sYXlvdXQ9PT1ldClyZXR1cm4gdGhpcy5fbW9kZWwuaXNTbmFwc2hvdCgpfHx0aGlzLl9vcGVuR29Qcm8oKSwhMTsoMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSYmVCh0aGlzLnR2VXJsKCksImNvcHlyaWdodCIpO3JldHVybigwLGMuZW5zdXJlTm90TnVsbCkod2luZG93Lm9wZW4odGhpcy50dlVybCgpLCJfYmxhbmsiKSkub3BlbmVyPW51bGwsITB9X3RvZ2dsZU9wZW5BbmltYXRlZE9yT3BlbkxpbmsoKXtudWxsIT09dGhpcy5fb3BlbkFuaW1hdGlvbiYmdGhpcy5fb3BlbkFuaW1hdGlvbi5jb21wbGV0ZWQoKT90aGlzLl9vcGVuTGluaygpfHx0aGlzLl9zdGFydENsb3NlQW5pbWF0aW9uKCk6dGhpcy5fc3RhcnRPcGVuQW5pbWF0aW9uKCl9fWxldCBBdD17fSxTdD17fTtmdW5jdGlvbiBMdCh0LGUsaSxvLHMpe2NvbnN0IGE9eXQ/U3Q6QXQsbj1bZSx5dCYmaSxzJiYidHJhZGVXaXRoIl0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIi0iKSxyPWFbbl07aWYodm9pZCAwIT09cilyZXR1cm4gcjtjb25zdFtoLGwsZF09ZnVuY3Rpb24odCxlLGkpe3JldHVybiBpP1sibG9nby10cmFkZS13aXRoIiwidHJhZGluZ3ZpZXctdHJhZGUtd2l0aCJdOlt5dD8ibG9nby1vbGQtc3R5bGUiOmBsb2dvLSR7dH1gLHl0PyJ0cmFkaW5ndmlldy1vbGQtc3R5bGUiOmB0cmFkaW5ndmlldy0ke3R9YCx5dHx8IWU/dm9pZCAwOmBwcm8tYmFkZ2UtJHt0fWBdfShlLG8scyksZz10PT55dD90LnJlcGxhY2UoL2ZpbGw9IiNbXGRhLWZdezZ9Ii9naSxgZmlsbD0iJHtpfSJgKTp0LF89e2xvZ29JbWFnZTp0KGcoKDAsYy5lbnN1cmVEZWZpbmVkKSh0dC5nZXQoaCkpKSksdGV4dEltYWdlOnQoZygoMCxjLmVuc3VyZURlZmluZWQpKHR0LmdldChsKSkpKSxwcm9CYWRnZUltYWdlOmQ/dChnKCgwLGMuZW5zdXJlRGVmaW5lZCkodHQuZ2V0KGQpKSkpOnZvaWQgMH07cmV0dXJuIGFbbl09XyxffWNsYXNzIFR0e2NvbnN0cnVjdG9yKCl7dGhpcy5fdG9wTGVmdFBvaW50PW51bGwsdGhpcy5faGl0VGVzdEhlaWdodD1udWxsfWhpdFRlc3QodCl7CmNvbnN0IGU9dGhpcy5fZ2V0SGl0VGVzdEJveCgpO2lmKGUpcmV0dXJuKDAsbC5wb2ludEluQm94KSh0LGUpfV9nZXRIaXRUZXN0Qm94KCl7Y29uc3QgdD10aGlzLl90b3BMZWZ0UG9pbnQ7aWYodCl7Y29uc3R7eDplLHk6aX09dDtyZXR1cm4oMCxoLmJveCkodCxuZXcgaC5Qb2ludChlK3RoaXMud2lkdGgsaSsodGhpcy5faGl0VGVzdEhlaWdodD8/dGhpcy5oZWlnaHQpKSl9fX1jbGFzcyBDdCBleHRlbmRzIFR0e2NvbnN0cnVjdG9yKHQsZSxpLG8pe3N1cGVyKCksdGhpcy5zaG93PSEwLHRoaXMuaG92ZXJlZD0hMSx0aGlzLmFjdGl2ZT0hMSx0aGlzLl9uZWVkRGlzcGxheUltYWdlPSExLHRoaXMuX3RleHRBbmltYXRlZEFscGhhPTEsdGhpcy5fdGV4dEFuaW1hdGVkQWxwaGFTdGFydD0xLHRoaXMuX3RleHRBZGRpdGlvbmFsQ3JvcFdpZHRoPTAsdGhpcy5fdGV4dEFuaW1hdGVkQWxwaGFFbmQ9MSx0aGlzLl9iYWRnZURhdGE9e2xvZ29NYXJnaW46MCx0ZXh0TWFyZ2luOjAsd2lkdGg6MH0sdGhpcy5faW52ZXJ0VGV4dENyb3BEaXJlY3Rpb249ITEsdGhpcy5fZXVjbGlkRm9udEF2YWlsYWJsZT0hMSx0aGlzLl90eHQ9IlRyYWRpbmdWaWV3Iix0aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25UZXh0V2lkdGg9MCx0aGlzLl9sb2dvV2lkdGg9MCx0aGlzLl90ZXh0V2lkdGhDYWNoZT1uZXcgTy5UZXh0V2lkdGhDYWNoZSx0aGlzLl9waXhlbFJhdGlvPXtob3Jpem9udGFsUGl4ZWxSYXRpbzpOYU4sdmVydGljYWxQaXhlbFJhdGlvOk5hTn0sdGhpcy5fbW9kZWw9aSx0aGlzLl9sYXlvdXQ9dCx0aGlzLl9zeW1ib2w9ZSx0aGlzLl9zaG93VHJhZGVXaXRoTG9nbz0hMSx0aGlzLl9zaG93QW5pbWF0ZWRCcmFuZGluZz0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X2FuaW1hdGVkX2xvZ28iKXx8dD09PWl0LHRoaXMuX2Fsd2F5c01heGltaXplZD0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJsb2dvX2Fsd2F5c19tYXhpbWl6ZWQiKXx8dGhpcy5fbW9kZWwuaXNTbmFwc2hvdCgpJiYhXy5DaGVja01vYmlsZS5hbnkoKXx8IV8uQ2hlY2tNb2JpbGUuYW55KCkmJiF0aGlzLl9tb2RlbC5vbldpZGdldCgpJiYoIXdpbmRvdy51c2VyfHwhd2luZG93LnVzZXIuaXNfcHJvKSx0aGlzLl9mb250U2l6ZT10aGlzLl9zaG93QW5pbWF0ZWRCcmFuZGluZ3x8dGhpcy5fbGF5b3V0PT09b3Q/MTE6MTQsdGhpcy5fc2hvd0FuaW1hdGVkQnJhbmRpbmd8fHRoaXMuX2xheW91dCE9PXN0JiZ0aGlzLl9sYXlvdXQhPT1ydHx8KHRoaXMuX2ZvbnRTaXplPTEyKSx0aGlzLl9zaXplQ29uc3RhbnRzPWZ1bmN0aW9uKHQpe3tpZih4dClyZXR1cm57YnJhbmRDaXJjbGVTaXplOjMyLHRleHRBc0ltYWdlV2lkdGhDb21wZW5zYXRpb246MixsZWZ0T2Zmc2V0OjEsYm90dG9tT2Zmc2V0Oi0yMCxsb2dvTGVmdE9mZnNldDoxLGxvZ29UZXh0T2Zmc2V0OjR9O2NvbnN0IGU9e2JyYW5kQ2lyY2xlU2l6ZTo0OCx0ZXh0QXNJbWFnZVdpZHRoQ29tcGVuc2F0aW9uOjAsbGVmdE9mZnNldDotMTcsYm90dG9tT2Zmc2V0Oi0xNCxsb2dvTGVmdE9mZnNldDo4LGxvZ29UZXh0T2Zmc2V0OjF9O3JldHVybiB0P18uQ2hlY2tNb2JpbGUuYW55KCk/ey4uLmUsbGVmdE9mZnNldDotMjEsYm90dG9tT2Zmc2V0Oi0yMH06ey4uLmUsbGVmdE9mZnNldDotMTcsYm90dG9tT2Zmc2V0Oi0xNn06ZX19KHRoaXMuX21vZGVsLmlzU25hcHNob3QoKSksdGhpcy53aWR0aD10aGlzLl9taW5pbWl6ZWRBbmltYXRpb25XaWR0aCgpLHRoaXMuX2FuaW1hdGVkV2lkdGg9dGhpcy53aWR0aCx0aGlzLmhlaWdodD10aGlzLl9mb250U2l6ZSsyLHRoaXMuX3JlcXVlc3RSZXBhaW50PW8sdGhpcy5faW5pdCgpLHRoaXMuX2NoZWNrRm9udExvYWRlZCgpLHRoaXMuX3JlY2FsY3VsYXRlTWV0cmljcygpfWRlc3Ryb3koKXt0aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZC51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tb2RlbC5vbkNoYXJ0VGhlbWVMb2FkZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKX1oYXNBbmltYXRpb24oKXtyZXR1cm4gdGhpcy5fc2hvd0FuaW1hdGVkQnJhbmRpbmcmJiF0aGlzLl9hbHdheXNNYXhpbWl6ZWR9YW5pbWF0aW9uU3RlcCgpe2NvbnN0IHQ9dGhpcy5fbWluaW1pemVkQW5pbWF0aW9uV2lkdGgoKSxlPXRoaXMuX21heGltaXplZEFuaW1hdGlvbldpZHRoKCk7cmV0dXJuKHRoaXMuX2FuaW1hdGVkV2lkdGgtdCkvKGUtdCl9YW5pbWF0ZWREcmF3U3RlcCh0KXtjb25zdCBlPXRoaXMuX21pbmltaXplZEFuaW1hdGlvbldpZHRoKCksaT10aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25XaWR0aCgpO3RoaXMuX2FuaW1hdGVkV2lkdGg9ZSt0KihpLWUpLHRoaXMuX3RleHRBbmltYXRlZEFscGhhPXRoaXMuX3RleHRBbmltYXRlZEFscGhhU3RhcnQrdCoodGhpcy5fdGV4dEFuaW1hdGVkQWxwaGFFbmQtdGhpcy5fdGV4dEFuaW1hdGVkQWxwaGFTdGFydCl9ZHJhdyh0LGUsaSxvKXtjb25zdHticmFuZENpcmNsZVNpemU6cyxsb2dvTGVmdE9mZnNldDphLGxlZnRPZmZzZXQ6bixib3R0b21PZmZzZXQ6cn09dGhpcy5fc2l6ZUNvbnN0YW50czt0aGlzLl9uZWVkRGlzcGxheUltYWdlJiYodD1uZXcgaC5Qb2ludCh0Lngrbix0LnktcikpLHRoaXMuX3RvcExlZnRQb2ludD10LGUudHJhbnNsYXRlKHQueCx0LnkpO2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOmwsdmVydGljYWxQaXhlbFJhdGlvOmR9PWk7KDAsRC5lcXVhbFBpeGVsUmF0aW9zKShpLHRoaXMuX3BpeGVsUmF0aW8pfHwodGhpcy5fdGV4dFdpZHRoQ2FjaGUucmVzZXQoKSx0aGlzLl9waXhlbFJhdGlvPXtob3Jpem9udGFsUGl4ZWxSYXRpbzpsLHZlcnRpY2FsUGl4ZWxSYXRpbzpkfSk7Y29uc3QgYz10aGlzLl9jb2xvcnM7aWYodGhpcy5fc2hvd1RyYWRlV2l0aExvZ28pe2NvbnN0IHQ9dGhpcy5fZ2V0TG9nb0ltYWdlKGMubG9nbyksaT10aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25XaWR0aCgpO3RoaXMuX2RyYXdUcmFkZVdpdGhMb2dvKGUsdCxpKX1lbHNlIGlmKHRoaXMuX3Nob3dBbmltYXRlZEJyYW5kaW5nKXtpZih0aGlzLl9uZWVkRGlzcGxheUltYWdlKXsKY29uc3QgdD10aGlzLl9nZXRMb2dvSW1hZ2UoYy5sb2dvKTt0aGlzLndpZHRoPXRoaXMuX2FuaW1hdGVkV2lkdGgsdGhpcy5fZHJhd0xvZ28oZSx0LHRoaXMuX2FuaW1hdGVkV2lkdGgsdGhpcy5fYW5pbWF0ZWRXaWR0aCx0aGlzLl9hbmltYXRlZFdpZHRoPih5dD90aGlzLl9zaXplQ29uc3RhbnRzLmJyYW5kQ2lyY2xlU2l6ZTp0LmxvZ29JbWFnZS52aWV3Qm94KCkud2lkdGgrdGhpcy5fc2l6ZUNvbnN0YW50cy5sb2dvVGV4dE9mZnNldCt0aGlzLl9iYWRnZURhdGEubG9nb01hcmdpbit0aGlzLl9iYWRnZURhdGEud2lkdGgrdGhpcy5fYmFkZ2VEYXRhLnRleHRNYXJnaW4pKX19ZWxzZSBpZih0aGlzLl9sYXlvdXQ9PT1zdHx8dGhpcy5fbGF5b3V0PT09cnQpe2UuZm9udD10aGlzLl9mb250U2l6ZSt0aGlzLl9nZXRGb250RmFtaWx5KCk7Y29uc3QgdD1lLm1lYXN1cmVUZXh0KHRoaXMuX3R4dCkud2lkdGgrMjt0aGlzLndpZHRoPXQrZS5tZWFzdXJlVGV4dCgiVHJhZGluZ1ZpZXciKS53aWR0aCsyLGUuc2F2ZSgpLGUuZ2xvYmFsQWxwaGE9LjcsZS5maWxsU3R5bGU9dGhpcy5fY29sb3JzLmN1c3RvbUJyYW5kaW5nVGV4dCxlLmZpbGxUZXh0KHRoaXMuX3R4dCwwLDEyKSxlLmZpbGxTdHlsZT10aGlzLl9jb2xvcnMuY3VzdG9tQnJhbmRpbmdUcmFkaW5nVmlld1RleHQsZS5maWxsVGV4dCgiVHJhZGluZ1ZpZXciLHQsMTIpLGUucmVzdG9yZSgpfWVsc2UgaWYodGhpcy5fbGF5b3V0PT09b3Qpe2NvbnN0IHQ9dGhpcy5fZ2V0TG9nb0ltYWdlKGMubG9nbyksaT10aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25XaWR0aCgpO3RoaXMuX2RyYXdMb2dvKGUsdCxpLGksITApfWVsc2UgaWYodGhpcy5fbmVlZERpc3BsYXlJbWFnZSl7Y29uc3QgdD10aGlzLl9nZXRMb2dvSW1hZ2UoYy5sb2dvKTtlLnNhdmUoKSx5dCYmdGhpcy5fZHJhd0JnQ2lyY2xlKGUscy8yKTtjb25zdHt3aWR0aDppLGhlaWdodDpvfT10LmxvZ29JbWFnZS52aWV3Qm94KCksbj1uZXcgaC5Qb2ludChNYXRoLnJvdW5kKChzLWkpLzIpLTErYSxNYXRoLmZsb29yKChzLW8pLzIpKzEpO3RoaXMuX2RyYXdMb2dvSW1hZ2UoZSxuLHQubG9nb0ltYWdlKTtjb25zdCByPSEwO3ImJihlLnRyYW5zbGF0ZShzKzUsTWF0aC5yb3VuZCh0aGlzLl9mb250U2l6ZSooInB4IEV1Y2xpZENpcmN1bGFyIj09PXRoaXMuX2dldEZvbnRGYW1pbHkoKT8uMTowKSkpLHRoaXMuX2RyYXdUZXh0U3Ryb2tlKGUpLHRoaXMuX2RyYXdUZXh0RmlsbChlKSksZS5yZXN0b3JlKCksdGhpcy53aWR0aD1zLHImJih0aGlzLndpZHRoKz10aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25UZXh0V2lkdGgpfWVsc2V7Y29uc3QgdD0hMDt0JiYoZS5zYXZlKCksZS50cmFuc2xhdGUoZ3Q/LS41OjAsLS41KSx0aGlzLl9kcmF3VGV4dFN0cm9rZShlKSx0aGlzLl9kcmF3VGV4dEZpbGwoZSksZS5yZXN0b3JlKCkpLHQmJih0aGlzLndpZHRoPXRoaXMuX21heGltaXplZEFuaW1hdGlvblRleHRXaWR0aCl9fXNob3dUcmFkZVdpdGhMb2dvKHQpe3RoaXMuX3Nob3dUcmFkZVdpdGhMb2dvPXR9X21pbmltaXplZEFuaW1hdGlvbldpZHRoKCl7cmV0dXJuKHl0P3RoaXMuX3NpemVDb25zdGFudHMuYnJhbmRDaXJjbGVTaXplOnRoaXMuX2xvZ29XaWR0aCkrdGhpcy5fYmFkZ2VEYXRhLmxvZ29NYXJnaW4rdGhpcy5fYmFkZ2VEYXRhLndpZHRofV9tYXhpbWl6ZWRBbmltYXRpb25XaWR0aCgpe3JldHVybih5dD90aGlzLl9zaXplQ29uc3RhbnRzLmJyYW5kQ2lyY2xlU2l6ZTp0aGlzLl9sb2dvV2lkdGgpK3RoaXMuX3NpemVDb25zdGFudHMubG9nb1RleHRPZmZzZXQrdGhpcy5fbWF4aW1pemVkQW5pbWF0aW9uVGV4dFdpZHRoK3RoaXMuX2JhZGdlRGF0YS53aWR0aCt0aGlzLl9iYWRnZURhdGEudGV4dE1hcmdpbn1fZHJhd1RyYWRlV2l0aExvZ28odCxlLGkpe3t0LnNhdmUoKSx0aGlzLl9kcmF3RmlsbFJlY3RXaXRoUm91bmRlZENvcm5lcih0LC01LDEsMTQxLDM4LDgsNyk7Y29uc3R7d2lkdGg6byxoZWlnaHQ6c309ZS5sb2dvSW1hZ2Uudmlld0JveCgpLGE9bmV3IGguUG9pbnQoTWF0aC5yb3VuZChvLzIpLTE5LE1hdGguZmxvb3Iocy8yKS0xMik7dGhpcy5fZHJhd0xvZ29JbWFnZSh0LGEsZS5sb2dvSW1hZ2UpO2NvbnN0IG49bmV3IGguUG9pbnQoYS54K28sYS55KTt0aGlzLl9kcmF3SW1hZ2VDcm9wV2lkdGgodCxuLGUudGV4dEltYWdlLGkpLHRoaXMud2lkdGg9bytNYXRoLm1pbihlLnRleHRJbWFnZS52aWV3Qm94KCkud2lkdGgsaSksdC5yZXN0b3JlKCl9fV9kcmF3TG9nbyh0LGUsaSxvLHMpe2NvbnN0e2JyYW5kQ2lyY2xlU2l6ZTphLGxvZ29MZWZ0T2Zmc2V0Om4sbG9nb1RleHRPZmZzZXQ6cn09dGhpcy5fc2l6ZUNvbnN0YW50czt0LnNhdmUoKSx5dCYmdGhpcy5fZHJhd0ZpbGxSZWN0V2l0aFJvdW5kZWRDb3JuZXIodCwtLjUsMCxpLGEsYS8yKTtjb25zdHtsb2dvSW1hZ2U6bCx0ZXh0SW1hZ2U6ZCxwcm9CYWRnZUltYWdlOmN9PWUse3dpZHRoOmcsaGVpZ2h0Ol99PWwudmlld0JveCgpLG09bmV3IGguUG9pbnQoTWF0aC5yb3VuZCgoYS1nKS8yKS0xK24sTWF0aC5mbG9vcigoYS1fKS8yKSsxKTtpZihzKXtjb25zdCBlPW5ldyBoLlBvaW50KG0ueCtnK3IsbS55KSxpPXQuZ2xvYmFsQWxwaGE7dC5nbG9iYWxBbHBoYSo9dGhpcy5fdGV4dEFuaW1hdGVkQWxwaGE7Y29uc3Qgcz1vLSh5dD90aGlzLl9zaXplQ29uc3RhbnRzLmJyYW5kQ2lyY2xlU2l6ZTp0aGlzLl9sb2dvV2lkdGgpLXItdGhpcy5fYmFkZ2VEYXRhLmxvZ29NYXJnaW4tdGhpcy5fYmFkZ2VEYXRhLndpZHRoO3RoaXMuX2RyYXdJbWFnZUNyb3BXaWR0aCh0LGUsZCxzKSx0Lmdsb2JhbEFscGhhPWl9aWYoYyl7Y29uc3R7d2lkdGg6ZSxoZWlnaHQ6aX09Yy52aWV3Qm94KCk7Yy5yZW5kZXIodCx7dGFyZ2V0Vmlld0JveDp7eDptLngrdGhpcy53aWR0aC1lLHk6TWF0aC5mbG9vcigoYS1pKS8yKSsxLHdpZHRoOmUsaGVpZ2h0Oml9fSl9dGhpcy5fZHJhd0xvZ29JbWFnZSh0LG0sbCksdC5yZXN0b3JlKCl9X2luaXQoKXtTdD17fSxBdD17fSx0aGlzLl9jaGVja0xheW91dCgpLHRoaXMuc2hvdyYmKHRoaXMuX3VwZGF0ZUNvbG9ycygpLHRoaXMuX3VwZGF0ZUhlaWdodCgpLAp0aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZC5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVDb2xvcnMpLHRoaXMuX21vZGVsLm9uQ2hhcnRUaGVtZUxvYWRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUNvbG9ycykpfV91cGRhdGVIZWlnaHQoKXtpZih0aGlzLl9uZWVkRGlzcGxheUltYWdlKWlmKHl0KXRoaXMuaGVpZ2h0PXRoaXMuX3NpemVDb25zdGFudHMuYnJhbmRDaXJjbGVTaXplO2Vsc2V7Y29uc3QgdD10aGlzLl9nZXRMb2dvSW1hZ2UodGhpcy5fY29sb3JzLmxvZ28pO2lmKG51bGwhPT10KXtjb25zdCBlPXQubG9nb0ltYWdlLnZpZXdCb3goKS5oZWlnaHQ7dGhpcy5oZWlnaHQ9TWF0aC5tYXgoZSx0LnRleHRJbWFnZS52aWV3Qm94KCkuaGVpZ2h0KSx0aGlzLl9oaXRUZXN0SGVpZ2h0PWV9fWVsc2UgdGhpcy5oZWlnaHQ9dGhpcy5fZm9udFNpemUrMn1fY2hlY2tGb250TG9hZGVkKCl7aWYoIXRoaXMuX3Nob3dBbmltYXRlZEJyYW5kaW5nJiZkb2N1bWVudC5mb250cyYmZG9jdW1lbnQuZm9udHMuY2hlY2smJmRvY3VtZW50LmZvbnRzLmxvYWQpe2RvY3VtZW50LmZvbnRzLmNoZWNrKGAke3RoaXMuX2ZvbnRTaXplfXB4IEV1Y2xpZENpcmN1bGFyYCk/dGhpcy5fZXVjbGlkRm9udEF2YWlsYWJsZT0hMDpkb2N1bWVudC5mb250cy5sb2FkKGAke3RoaXMuX2ZvbnRTaXplfXB4IEV1Y2xpZENpcmN1bGFyYCx0aGlzLl90eHQpLnRoZW4oKCgpPT57dGhpcy5fZXVjbGlkRm9udEF2YWlsYWJsZT0hMCx0aGlzLl9yZWNhbGN1bGF0ZU1ldHJpY3MoKSx0aGlzLl9yZXF1ZXN0UmVwYWludCgpfSkpfX1fZ2V0Rm9udEZhbWlseSgpe3JldHVybiB0aGlzLl9ldWNsaWRGb250QXZhaWxhYmxlPyJweCBFdWNsaWRDaXJjdWxhciI6YHB4ICR7Ui5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpfWB9X3JlY2FsY3VsYXRlTWV0cmljcygpe2NvbnN0IHQ9KDAseC5jcmVhdGVEaXNjb25uZWN0ZWRDYW52YXMpKGRvY3VtZW50LCgwLG4uc2l6ZSkoe3dpZHRoOjAsaGVpZ2h0OjB9KSksZT0oMCx4LmdldFByZXNjYWxlZENvbnRleHQyRCkodCk7ZS5mb250PXRoaXMuX2ZvbnRTaXplK3RoaXMuX2dldEZvbnRGYW1pbHkoKTtjb25zdCBpPXRoaXMuX25lZWREaXNwbGF5SW1hZ2U/dGhpcy5fZ2V0TG9nb0ltYWdlKHRoaXMuX2NvbG9ycy5sb2dvKTpudWxsO2xldCBvPWk/aS50ZXh0SW1hZ2Uudmlld0JveCgpLndpZHRoK3RoaXMuX3NpemVDb25zdGFudHMudGV4dEFzSW1hZ2VXaWR0aENvbXBlbnNhdGlvbjpNYXRoLmNlaWwoZS5tZWFzdXJlVGV4dCh0aGlzLl90eHQpLndpZHRoKSsyKzg7byUyPT0wJiYobys9MSksdGhpcy5fbWF4aW1pemVkQW5pbWF0aW9uVGV4dFdpZHRoPW8sdGhpcy5fdGV4dFdpZHRoQ2FjaGUucmVzZXQoKSx0aGlzLl9sb2dvV2lkdGg9aT8ubG9nb0ltYWdlLnZpZXdCb3goKS53aWR0aD8/MCx0aGlzLl9hbmltYXRlZFdpZHRoPXRoaXMuX2Fsd2F5c01heGltaXplZD90aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25XaWR0aCgpOnRoaXMuX21pbmltaXplZEFuaW1hdGlvbldpZHRoKCl9X3VwZGF0ZUNvbG9ycygpe3RoaXMuX2NvbG9ycz10aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKT9ROkp9X2dldExvZ29JbWFnZSh0KXtyZXR1cm4gTHQoeS5zdmdSZW5kZXJlcix0aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKT8iZGFyayI6ImxpZ2h0Iix0LCF0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkmJkJvb2xlYW4od2luZG93LnVzZXI/LmlzX2V4cGVydCkmJndpbmRvdy51c2VyPy5kZWNsYXJlZF9zdGF0dXM9PT1ILlVzZXJTdGF0dXMuUHJvLHRoaXMuX3Nob3dUcmFkZVdpdGhMb2dvKX1fY2hlY2tMYXlvdXQoKXtzd2l0Y2godGhpcy5fbGF5b3V0KXtjYXNlIGl0OmNhc2Ugb3Q6Y2FzZSBzdDpjYXNlIG50OmNhc2UgcnQ6Y2FzZSBkdDpjYXNlIGx0OmNhc2UgZXQ6dGhpcy5zaG93PSEwO2JyZWFrO2Nhc2UgYXQ6Y2FzZSBodDpjYXNlIGN0OnRoaXMuc2hvdz0hMX1zd2l0Y2godGhpcy5fbGF5b3V0KXtjYXNlIGl0OnRoaXMuX25lZWREaXNwbGF5SW1hZ2U9ITAsdGhpcy5fdHh0PXd0O2JyZWFrO2Nhc2UgbnQ6dGhpcy5fdHh0PXB0LmZvcm1hdCh7c3ltYm9sOnRoaXMuX3N5bWJvbH0pO2JyZWFrO2Nhc2Ugb3Q6dGhpcy5fbmVlZERpc3BsYXlJbWFnZT0hMDticmVhaztjYXNlIHN0OmNhc2UgcnQ6dGhpcy5fdHh0PWZ0O2JyZWFrO2Nhc2UgZXQ6dGhpcy5fbmVlZERpc3BsYXlJbWFnZT0hMDtjb25zdCB0PXRoaXMuX2dldExvZ29JbWFnZSgiIikucHJvQmFkZ2VJbWFnZTt0JiYhdGhpcy5fbW9kZWwuaXNTbmFwc2hvdCgpJiYodGhpcy5fYmFkZ2VEYXRhPXtsb2dvTWFyZ2luOi0xMSx0ZXh0TWFyZ2luOi04LHdpZHRoOnQudmlld0JveCgpLndpZHRofSksdGhpcy5faW52ZXJ0VGV4dENyb3BEaXJlY3Rpb249ITAsdGhpcy5fdGV4dEFkZGl0aW9uYWxDcm9wV2lkdGg9MTEsdGhpcy5fdGV4dEFuaW1hdGVkQWxwaGFTdGFydD0uMyx0aGlzLl90ZXh0QW5pbWF0ZWRBbHBoYUVuZD0xfX1fZHJhd1RleHRTdHJva2UodCl7dC5zYXZlKCksdC50ZXh0QmFzZWxpbmU9Im1pZGRsZSIsdC50ZXh0QWxpZ249InN0YXJ0Iix0LmZvbnQ9dGhpcy5fZm9udFNpemUrdGhpcy5fZ2V0Rm9udEZhbWlseSgpLHQuc3Ryb2tlU3R5bGU9dGhpcy5fY29sb3JzLnN0YXRpY1RleHRCYWNrZ3JvdW5kLHQubGluZVdpZHRoPTQsdC5saW5lSm9pbj0icm91bmQiLHQuc3Ryb2tlVGV4dCh0aGlzLl90eHQsMCx0aGlzLl9zaXplQ29uc3RhbnRzLmJyYW5kQ2lyY2xlU2l6ZS8yK3RoaXMuX3RleHRXaWR0aENhY2hlLnlNaWRDb3JyZWN0aW9uKHQsdGhpcy5fdHh0KSksdC5yZXN0b3JlKCl9X2RyYXdUZXh0RmlsbCh0KXt0LnNhdmUoKSx0LnRleHRCYXNlbGluZT0ibWlkZGxlIix0LnRleHRBbGlnbj0ic3RhcnQiLHQuZm9udD10aGlzLl9mb250U2l6ZSt0aGlzLl9nZXRGb250RmFtaWx5KCksdC5maWxsU3R5bGU9dGhpcy5fY29sb3JzLnRleHQsCnQuZmlsbFRleHQodGhpcy5fdHh0LDAsdGhpcy5fc2l6ZUNvbnN0YW50cy5icmFuZENpcmNsZVNpemUvMit0aGlzLl90ZXh0V2lkdGhDYWNoZS55TWlkQ29ycmVjdGlvbih0LHRoaXMuX3R4dCkpLHQucmVzdG9yZSgpfV9kcmF3SW1hZ2VDcm9wV2lkdGgodCxlLGksbyl7dC5zYXZlKCk7Y29uc3R7bG9nb01hcmdpbjpzLHRleHRNYXJnaW46YX09dGhpcy5fYmFkZ2VEYXRhO3QuYmVnaW5QYXRoKCk7Y29uc3R7d2lkdGg6bixoZWlnaHQ6cn09aS52aWV3Qm94KCk7dC5yZWN0KGUueC10aGlzLl90ZXh0QWRkaXRpb25hbENyb3BXaWR0aCxlLnksbyt0aGlzLl90ZXh0QWRkaXRpb25hbENyb3BXaWR0aCxyKSx0LmNsaXAoKSxpLnJlbmRlcih0LHt0YXJnZXRWaWV3Qm94Ont4OmUueC0odGhpcy5faW52ZXJ0VGV4dENyb3BEaXJlY3Rpb24/bi1vLXMrYTowKSx5OmUueSx3aWR0aDpuLGhlaWdodDpyfX0pLHQucmVzdG9yZSgpfV9kcmF3QmdDaXJjbGUodCxlKXtjb25zdCBpPTIqTWF0aC5QSTt0LnNhdmUoKSx0LmJlZ2luUGF0aCgpLHQuZmlsbFN0eWxlPXRoaXMuX2NvbG9ycy5zaGFkb3csdC5hcmMoZSxlLGUrMSwwLGkpLHQuZmlsbCgpLHQuY2xvc2VQYXRoKCksdC5yZXN0b3JlKCksdC5zYXZlKCksdC5iZWdpblBhdGgoKSx0LmZpbGxTdHlsZT10aGlzLl9jb2xvcnMuYmFja2dyb3VuZCx0LmFyYyhlLGUsZSwwLGksITEpLHQuZmlsbCgpLHQuY2xvc2VQYXRoKCksdC5yZXN0b3JlKCl9X2RyYXdGaWxsUmVjdFdpdGhSb3VuZGVkQ29ybmVyKHQsZSxpLG8scyxhLG4pe3Quc2F2ZSgpLCgwLEYuZHJhd1JvdW5kUmVjdCkodCxlLTEsaS0xLG8rMixzKzIsYSksdC5maWxsU3R5bGU9dGhpcy5fYmFja2dyb3VuZFNoYWRvd0ZpbGxTdHlsZSgpLHQuZmlsbCgpLHQuY2xvc2VQYXRoKCksdC5yZXN0b3JlKCksdC5zYXZlKCksKDAsRi5kcmF3Um91bmRSZWN0KSh0LGUsaSxvLHMsbj8/YSksdC5maWxsU3R5bGU9dGhpcy5fYmFja2dyb3VuZEZpbGxTdHlsZSgpLHQuZmlsbCgpLHQuY2xvc2VQYXRoKCksdC5yZXN0b3JlKCl9X3RyYWRlV2l0aExvZ29CYWNrZ3JvdW5kQ29sb3IoKXtyZXR1cm4gdGhpcy5hY3RpdmU/dGhpcy5fbW9kZWwuZGFyaygpLnZhbHVlKCk/InJnYmEoNTQsIDU4LCA2OSkiOiJyZ2JhKDIyNCwgMjI3LCAyMzUpIjp0aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKT8icmdiKDQyLCA0NiwgNTcpIjoicmdiKDI0MCwgMjQzLCAyNTApIn1fYmFja2dyb3VuZFNoYWRvd0ZpbGxTdHlsZSgpe3JldHVybiB0aGlzLl9zaG93VHJhZGVXaXRoTG9nbyYmKHRoaXMuYWN0aXZlfHx0aGlzLmhvdmVyZWQpP3RoaXMuX3RyYWRlV2l0aExvZ29CYWNrZ3JvdW5kQ29sb3IoKTp0aGlzLl9jb2xvcnMuc2hhZG93fV9iYWNrZ3JvdW5kRmlsbFN0eWxlKCl7cmV0dXJuIHRoaXMuX3Nob3dUcmFkZVdpdGhMb2dvJiYodGhpcy5hY3RpdmV8fHRoaXMuaG92ZXJlZCk/dGhpcy5fdHJhZGVXaXRoTG9nb0JhY2tncm91bmRDb2xvcigpOnRoaXMuX2NvbG9ycy5iYWNrZ3JvdW5kfV9kcmF3TG9nb0ltYWdlKHQsZSxpKXt5dHx8KHRoaXMuX3RvcExlZnRQb2ludD0oMCxjLmVuc3VyZU5vdE51bGwpKHRoaXMuX3RvcExlZnRQb2ludCkuYWRkKGUpKTtjb25zdHt3aWR0aDpvLGhlaWdodDpzfT1pLnZpZXdCb3goKTtpLnJlbmRlcih0LHt0YXJnZXRWaWV3Qm94Ont4OmUueCx5OmUueSx3aWR0aDpvLGhlaWdodDpzfX0pfX1jbGFzcyBrdCBleHRlbmRzIFR0e2NvbnN0cnVjdG9yKHQsZSxpKXtzdXBlcigpLHRoaXMuc2hvdz0hMSx0aGlzLndpZHRoPTAsdGhpcy5oZWlnaHQ9MCx0aGlzLl9yZWFkeT0hMSx0aGlzLl9sYXlvdXQ9dCx0aGlzLl9zcmM9ZSx0aGlzLl9vblJlYWR5Q2FsbGJhY2s9aSx0aGlzLl9jaGVja0xheW91dCgpO2NvbnN0IG89bmV3IEltYWdlO3RoaXMuX2ltZz1vLHRoaXMuc2hvdyYmKG8uYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCgpPT57dGhpcy53aWR0aD1NYXRoLnJvdW5kKG8ud2lkdGgpLHRoaXMuaGVpZ2h0PU1hdGgucm91bmQoby5oZWlnaHQpLHRoaXMuX3JlYWR5PSEwLHRoaXMuX29uUmVhZHlDYWxsYmFjayYmdGhpcy5fb25SZWFkeUNhbGxiYWNrKCl9KSksby5jcm9zc09yaWdpbj0iYW5vbnltb3VzIixvLnNyYz10aGlzLl9zcmMpfWRyYXcodCxlLGkpe3RoaXMuX3RvcExlZnRQb2ludD10LHRoaXMuX3JlYWR5JiYoZS50cmFuc2xhdGUodC54LHQueSksZS5kcmF3SW1hZ2UodGhpcy5faW1nLC0uNSwtLjUsdGhpcy53aWR0aCx0aGlzLmhlaWdodCkpfV9jaGVja0xheW91dCgpe3N3aXRjaCh0aGlzLl9sYXlvdXQpe2Nhc2Ugc3Q6Y2FzZSBhdDpjYXNlIHJ0OmNhc2UgaHQ6Y2FzZSBkdDpjYXNlIGN0OnRoaXMuc2hvdz0hMDticmVhaztjYXNlIGV0OmNhc2UgaXQ6Y2FzZSBvdDpjYXNlIG50OmNhc2UgbHQ6dGhpcy5zaG93PSExfX19Y29uc3QgQnQ9e3M6MCwiMmgiOjAsIjJ2IjoxLCIzaCI6MCwiM3YiOjIsIjNzIjowLCIzciI6MSwiMi0xIjoxLCIxLTIiOjEsNDoxLCI0diI6MywiNGgiOjAsIjRzIjowLCI0cy1sIjowLCIxLTMiOjEsIjMtMSI6MywiMi0yLWwiOjAsIjItMi1yIjoxLCIyLTIiOjMsIjEtNCI6MSwiNWgiOjAsIjV2IjowLCI1cyI6MCwiNXMtbCI6MCwiMi0zIjoyLCIzLTIiOjMsIjQtMSI6NCwiMi0zLWwiOjAsIjItMy1yIjoyLDY6MSwiNmgiOjAsIjZ2IjowLCI2YyI6NCwiMi00IjoyLCI0LTIiOjQsIjQtMyI6NCwiN2giOjAsIjdzIjowLDg6MSwiOGMiOjYsIjhoIjowLCI4diI6MCwiOXMiOjYsIjUtNCI6NSwiOWgiOjAsIjl2IjowLCIxMGM1IjoxLCIxMGgiOjAsIjEwdiI6MCwiMTJjNiI6MSwiMTJjNCI6MywiMTJoIjowLCIxNGM3IjoxLCIxNmM4IjoxLCIxNmM0IjozfTtmdW5jdGlvbiBQdCh0KXtjb25zdCBlPWZ1bmN0aW9uKHQsZSxpLGEpe2xldCBuPTA7Y29uc3Qgcj0oMCxzLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbnMpKCgoKT0+KytuKSxbaSxhXSk7cmV0dXJuKDAsby5jb21iaW5lKSgoKGUsaSk9PnQoKVtCdFtlXV0/P251bGwpLGUud2Vha1JlZmVyZW5jZSgpLHIub3duZXJzaGlwKCkpCn0odC5nZXRBbGwuYmluZCh0KSx0LmxheW91dCx0LmNoYXJ0c1N3YXBwZWQoKSx0LmNoYXJ0V2lkZ2V0Q3JlYXRlZCgpKTt0LmFkZEN1c3RvbVNvdXJjZSgiYnJhbmRpbmciLCgoaSxzKT0+e2NvbnN0IGE9KDAsby5jb21iaW5lKSgoKHQsZSk9Pntjb25zdCBpPXQ/P2U7cmV0dXJuIG51bGwhPT1pJiZpLmhhc01vZGVsKCkmJmkubW9kZWwoKS5tb2RlbCgpPT09c30pLHQubWF4aW1pemVkQ2hhcnRXaWRnZXQoKS53ZWFrUmVmZXJlbmNlKCksZS5vd25lcnNoaXAoKSk7cmV0dXJuIG5ldyBidChpLHMsYS5vd25lcnNoaXAoKSl9KSxhLkN1c3RvbVNvdXJjZUxheWVyLlRvcG1vc3QpfX0sODM5NDEyKHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2VuYWJsZTooKT0+cixyZWZlcmVuY2VUb1RyYWRpbmdWaWV3OigpPT5ofSk7dmFyIG89aSgzODY5MzEpLHM9aSg2MDE1ODcpLGE9aSg5MzAyMzEpO2xldCBuO2Z1bmN0aW9uIHIodCxlKXtuPXQsZT1lfHwiYWdncmVzc2l2ZSIsKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyIpLCgwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInJlZmVycmFsX3Byb2dyYW1fcG9saWN5XyIrZSksKDAsby50cmFja0V2ZW50KSgiUmVmZXJyYWwgcHJvZ3JhbSBlbmFibGVkIixlKX1mdW5jdGlvbiBoKCl7Y29uc3QgdD0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tIjtyZXR1cm4gbj90KyI/YWZmX2lkPSIrbisiJiIrKDAscy5idWlsZFV0bVF1ZXJ5U3RyaW5nRnJvbVVybFBhcmFtcykoITEpOnQrKDAscy5idWlsZFV0bVF1ZXJ5U3RyaW5nRnJvbVVybFBhcmFtcykoITApfX0sMzE5ODcyKHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2dldExvY2FsaXplZERvbWFpbjooKT0+cyxnZXRMb2NhbGl6ZWREb21haW5Vcmw6KCk9PmF9KTtjb25zdCBvPXthcl9BRToiYXIiLGRlX0RFOiJkZSIsZW46Ind3dyIsZXM6ImVzIixjYV9FUzoiZXMiLGZhX0lSOiJ3d3ciLGZyOiJmciIsaGVfSUw6ImlsIixpZDoiaWQiLGluOiJpbiIsaXQ6Iml0IixqYToianAiLGtyOiJrciIsbXNfTVk6Im15IixwbDoicGwiLGJyOiJiciIscnU6InJ1Iixzdl9TRToic2UiLHRoX1RIOiJ0aCIsdHI6InRyIix1azoidWsiLHZpX1ZOOiJ2biIsemhfQ046ImNuIix6aF9UVzoidHcifTtmdW5jdGlvbiBzKHQpe3JldHVybiBvW3RdfHwid3d3In1mdW5jdGlvbiBhKHQsZSl7Y29uc3QgaT1zKGUpLG89dC50b1N0cmluZygpLGE9YCR7dC5wYXRobmFtZX0ke3Quc2VhcmNofSR7dC5oYXNofWAsbj0vXmh0dHBzOlwvXC8oW1x3LV0rKVwueHN0YWdpbmcoLXdpZGdldCk/XC50di87cmV0dXJuL15odHRwczpcL1wvKChcdyotKT8oYmV0YXxiZXRhMCkpXC50cmFkaW5ndmlld1wuY29tLy50ZXN0KG8pPyJ3d3ciPT09aT9gaHR0cHM6Ly9iZXRhLnRyYWRpbmd2aWV3LmNvbSR7YX1gOmBodHRwczovLyR7aX0tYmV0YS50cmFkaW5ndmlldy5jb20ke2F9YDpuLnRlc3Qobyk/by5yZXBsYWNlKG4sImh0dHBzOi8vJDEueHN0YWdpbmcudHYiKTovXC9sb2NhbGhvc3QvLnRlc3Qobyk/bzovXmh0dHBzOlwvXC8oXHcrXC4pP3RyYWRpbmd2aWV3XC5jb20vLnRlc3Qobyk/YGh0dHBzOi8vJHtpfS50cmFkaW5ndmlldy5jb20ke2F9YDpvfX0sMzY0MTg4KHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2dldFRWSG9zdEZyb21Mb2NhbGU6KCk9PnN9KTt2YXIgbz1pKDMxOTg3Mik7ZnVuY3Rpb24gcyh0KXtyZXR1cm4oMCxvLmdldExvY2FsaXplZERvbWFpbikodCkrIi50cmFkaW5ndmlldy5jb20ifX0sNjAxNTg3KHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2J1aWxkVXRtUXVlcnlTdHJpbmc6KCk9PnIsYnVpbGRVdG1RdWVyeVN0cmluZ0Zyb21VcmxQYXJhbXM6KCk9PmgsZmlsdGVyVXRtSW5mbzooKT0+bn0pO3ZhciBvPWkoNDkyNjc3KSxzPWkoNjQxNTkzKTtjb25zdCBhPVsidXRtX3NvdXJjZSIsInV0bV9tZWRpdW0iLCJ1dG1fY2FtcGFpZ24iXTtmdW5jdGlvbiBuKHQpe2NvbnN0IGU9e307cmV0dXJuIGEuZm9yRWFjaCgoaT0+e2NvbnN0IG89dFtpXTsic3RyaW5nIj09dHlwZW9mIG8mJiIiIT09byYmKGVbaV09KDAscy5odG1sRXNjYXBlKShvKSl9KSksZX1mdW5jdGlvbiByKHQsZT0hMSl7Y29uc3QgaT0oMCxvLmNyZWF0ZVVybFBhcmFtcykodCk7cmV0dXJuIGkmJmU/Ij8iK2k6aX1mdW5jdGlvbiBoKHQpe3JldHVybiByKG4oKDAsby5nZXRVcmxQYXJhbXMpKCkpLHQpfX0sNTk1ODAwKHQpe3QuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMiAxOSIgd2lkdGg9IjIyIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSIjMTMxNzIyIiBkPSJNOSA0SDB2NGg1djdoNFY0Wm04IDExaC01bDQuNS0xMWg1TDE3IDE1Wm0tNS03YTIgMiAwIDEgMCAwLTQgMiAyIDAgMCAwIDAgNFoiLz48L3N2Zz4nfSw4Nzc5NzkodCl7dC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM1IDE5IiB3aWR0aD0iMzUiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNMCAwaDE2djFhNC45OCA0Ljk4IDAgMCAxIDYuOS44N0wyMy42NSAwaDExLjNsLTcuNiAxOUg2di05SDBWMFoiLz48cGF0aCBmaWxsPSJsaWdodGdyYXkiIGQ9Ik0xNCAySDJ2Nmg2djloNlYyWk0yNiAxN2gtN2w2LTE1aDdsLTYgMTVaTTE5IDhhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2WiIvPjwvc3ZnPid9LDcyMTY0Nih0KXsKdC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUwIDE5IiB3aWR0aD0iNTAiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNMTAuNjUgMGgzOS4zbC03LjYgMTlILjA1TDYgNGgzLjA1bDEuNi00WiIvPjxwYXRoIGZpbGw9ImxpZ2h0Z3JheSIgZD0ibTYgMTcgNi0xNWgzNWwtNiAxNUg2WiIvPjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNMTkuMTUgNS45YzEuNDQgMCAyLjQ5IDEuMDQgMi40OSAyLjM5cy0xLjA1IDIuMzktMi40OSAyLjM5aC0uOTFWMTNoLTEuNDVWNS45aDIuMzZabS0uMDIgMy40MmMuNjYgMCAxLjEtLjQ1IDEuMS0xLjAzIDAtLjU4LS40NC0xLjAzLTEuMS0xLjAzaC0uODl2Mi4wNmguODlaTTIzLjQgMTNWNS45aDIuNzJjMS4zMyAwIDIuMTguOTIgMi4xOCAyLjEgMCAuOTUtLjUyIDEuNTUtMS40NiAxLjg1TDI5LjM5IDEzaC0xLjc1bC0yLjQzLTIuOTloLS4zNlYxM0gyMy40Wm0xLjQ1LTQuMjNoMS4xYy41NCAwIC45LS4yOS45LS43NyAwLS40OS0uMzYtLjc3LS45LS43N2gtMS4xdjEuNTRabTEyLjUuNjhhMy42NyAzLjY3IDAgMSAxLTcuMzQgMCAzLjY3IDMuNjcgMCAwIDEgNy4zNCAwWm0tNS44OCAwYzAgMS4yNC45NyAyLjI3IDIuMiAyLjI3YTIuMjQgMi4yNCAwIDAgMCAyLjIyLTIuMjdjMC0xLjI0LS45Ny0yLjI3LTIuMjEtMi4yN2EyLjI0IDIuMjQgMCAwIDAtMi4yMSAyLjI3WiIvPjwvc3ZnPid9LDM5MjIyMyh0KXt0LmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgODkgMTkiIHdpZHRoPSI4OSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iIzEzMTcyMiIgZD0iTTY3LjI1IDQuOWMwIC43My0uNiAxLjMyLTEuMzcgMS4zMi0uNzMgMC0xLjM2LS41OS0xLjM2LTEuMzEgMC0uNzIuNjMtMS4zMSAxLjM2LTEuMzEuNzYgMCAxLjM3LjU5IDEuMzcgMS4zWk02Ni45OCAxNWgtMi4yVjYuOTZoMi4yVjE1Wk0zMy41MiA2LjI0Yy43NyAwIDEuMzctLjU5IDEuMzctMS4zIDAtLjczLS42LTEuMzItMS4zNy0xLjMyLS43MyAwLTEuMzUuNTktMS4zNSAxLjMxIDAgLjcyLjYyIDEuMzEgMS4zNSAxLjMxWk0zMi4zOSAxNWgyLjJWNi45NmgtMi4yVjE1Wk01LjE1IDE1aC0yLjJWNi4yMkgwdi0yLjJoOC4xdjIuMkg1LjE1VjE1Wk0xMC4zIDE1bC0yLjIuMDFWNi45NmgyLjJ2MS4zOWMuMjctLjc0IDEtMS4zIDEuODYtMS4zaC4wM2MuMjIgMCAuNDQgMCAuNy4wN3YyLjFjLS4zNC0uMS0uNjItLjE1LS45OC0uMTUtMSAwLTEuNi43NC0xLjYgMS45OVYxNVpNMzguMjcgMTVoLTIuMlY2Ljk3bDIuMi0uMDF2LjczYy40My0uNiAxLjEzLS44OSAyLjE0LS44OSAxLjg5IDAgMy4wMSAxLjMzIDMuMDEgMy4yOFYxNWgtMi4ydi00LjM2YzAtMS4wOS0uNDItMS45Ni0xLjMtMS45Ni0xIDAtMS42NS42OC0xLjY1IDIuMTNWMTVaTTU5LjQ3IDE1bDQuNTctMTAuOTloLTIuNThsLTIuOTQgNy43My0zLjMyLTcuNzNoLTIuNTdMNTcuMjYgMTVoMi4yMVpNODYuNDUgMTVoLTIuMTZsLTEuNDgtNC41NEw4MS4zMyAxNWgtMi4xNWwtMi42My04LjA0aDIuMzFsMS41IDUuMTggMS42LTUuMThoMS42N2wxLjYyIDUuMTggMS40OC01LjE4aDIuMzNMODYuNDUgMTVaTTE2Ljg3IDE1LjIzYzEuMTIgMCAxLjktLjU2IDIuMjctMS4wOHYuOWgyLjJ2LTguMWgtMi4ydi45MmEyLjc4IDIuNzggMCAwIDAtMi4yNy0xLjA5Yy0yLjE1IDAtMy44IDEuOTQtMy44IDQuMjMgMCAyLjI4IDEuNjUgNC4yMiAzLjggNC4yMlptLjQ3LTIuMDJjLTEuMjMgMC0yLjA0LS45Mi0yLjA0LTIuMiAwLTEuMjguOC0yLjIgMi4wNC0yLjIgMS4yMyAwIDIuMDQuOTIgMi4wNCAyLjIgMCAxLjI4LS44MSAyLjItMi4wNCAyLjJaTTI4LjcgMTQuMTVhMi43OCAyLjc4IDAgMCAxLTIuMjYgMS4wOGMtMi4xNiAwLTMuOC0xLjk0LTMuOC00LjIyIDAtMi4yOSAxLjY0LTQuMjMgMy44LTQuMjMgMS4xMSAwIDEuOS41NyAyLjI3IDEuMDlWNC4wMmgyLjJ2MTEuMDNoLTIuMnYtLjlaTTI0Ljg4IDExYzAgMS4yOC44IDIuMiAyLjA0IDIuMiAxLjIzIDAgMi4wNC0uOTIgMi4wNC0yLjIgMC0xLjI4LS44MS0yLjItMi4wNC0yLjJzLTIuMDQuOTItMi4wNCAyLjJaTTQ4Ljc1IDE4LjZjMi40NyAwIDQuMjUtMS4yNiA0LjI1LTQuMThWNi45NmgtMi4yMXYuOWEyLjY1IDIuNjUgMCAwIDAtMi4yNS0xLjA4Yy0yLjEzIDAtMy44MyAxLjgxLTMuODMgNC4xIDAgMi4yNiAxLjcgNC4xNyAzLjgzIDQuMTdhMi44IDIuOCAwIDAgMCAyLjI1LTEuMTZ2LjU1YzAgMS4zLS43NiAyLjIyLTIuMDggMi4yMi0uOSAwLTEuODEtLjMxLTIuNTItMWwtMS4yMiAxLjY0Yy45My45IDIuMzcgMS4zIDMuNzggMS4zWm0uMjYtNS42NWEyLjAyIDIuMDIgMCAwIDEtMi4wNi0yLjA3YzAtMS4yNS45NC0yLjA4IDIuMDUtMi4wOCAxLjEyIDAgMi4wNi44MyAyLjA2IDIuMDggMCAxLjIzLS45NCAyLjA3LTIuMDUgMi4wN1pNNzYuMzkgMTMuMzhhNC40IDQuNCAwIDAgMS0zLjc2IDEuODFjLTIuNDEgMC00LjI5LTEuNjctNC4yOS00LjIyIDAtMi40IDEuOC00LjIzIDQuMjYtNC4yMyAyLjEyIDAgMy45OCAxLjM0IDMuOTggMy45OHYuMTJjMCAuMTkuMDEuNDQtLjAzLjcySDcwLjVjLjEzIDEuMDggMS4wOSAxLjYgMi4xNiAxLjZhMi40IDIuNCAwIDAgMCAyLjA5LTEuMDFsMS42NSAxLjIzWm0tMy44Ni00LjhjLS44MiAwLTEuNzQuNDEtMS45NSAxLjRoMy43OGMtLjE5LS45Ny0xLTEuNC0xLjgzLTEuNFoiLz48L3N2Zz4nfSwzMzMzMTgodCl7CnQuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMSAxMjYgMjQiIHdpZHRoPSIxMjYiIGhlaWdodD0iMjQiPjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNNzYgMTMuOHYzLjM0YzAgMi40LS43NCA0LjQyLTIuMjggNS44YTguMDIgOC4wMiAwIDAgMS01LjUgMS44OGMtMi4yMSAwLTQuNzUtLjYzLTYuNS0yLjMybC0xLjI3LTEuMjIuOTUtMS4yOEgzOS42NEE2Ljc3IDYuNzcgMCAwIDEgMzMgMTguMTRWMjBoLTYuMzZjLS41Mi4xNS0xLjEuMjQtMS43Mi4yNC0zLjUyIDAtNi4xMy0yLjU4LTYuOTItNS43MlYyMEg0VjhIMFYxaDE1djRoM3YuMTZjLjE3LS4wMi4zNS0uMDMuNTItLjAzaC4wOGMuMyAwIC44MyAwIDEuNDUuMTdsMS40LjRhNi43IDYuNyAwIDAgMSA1LjItLjdIMzN2MS44NmE2Ljc3IDYuNzcgMCAwIDEgNi0yVjFoNi41OWEzLjg4IDMuODggMCAwIDEgMS45NS0uNTNBMy44MiAzLjgyIDAgMCAxIDUxLjMzIDVsMy44LS4wMWMuNTctLjE1IDEuMTctLjIxIDEuNzgtLjIxYTUuODggNS44OCAwIDAgMSA1LjI2IDNBNy4wMSA3LjAxIDAgMCAxIDY5LjcgNWgyLjVsLTEuNzQtNGg3Ljg3bDMuMDcgNy4xN0w4NC4xMiAxaDUuMzhjLjYtLjM2IDEuMjktLjU2IDItLjU2YTMuODIgMy44MiAwIDAgMSAzLjg3IDMuNzdBMy43IDMuNyAwIDAgMSA5NSA1LjgzdjEuMThhNy43NiA3Ljc2IDAgMCAxIDUuNjMtMi4zYy45IDAgMS44LjEzIDIuNjYuNDNsLS4wNC0uMTRoNy40bC42IDIuMDcuNjMtMi4wN2g1LjIxbC42NSAyLjA3LjU5LTIuMDdoNy40MmwtNC44NCAxNWgtNS44NGwtLjU2LTEuNzItLjU1IDEuNzJoLTUuODRsLS45Mi0yLjgzYTggOCAwIDAgMS02LjUyIDMuMDJBNy45MiA3LjkyIDAgMCAxIDk1IDE3LjkyVjIwaC03di05LjEyTDg0LjM1IDIwSDc4LjdMNzYgMTMuOFoiLz48cGF0aCBmaWxsPSJsaWdodGdyYXkiIGQ9Ik05My4zNyA0LjIxYzAgLjk5LS44MyAxLjc4LTEuODcgMS43OC0xIDAtMS44NC0uOC0xLjg0LTEuNzhzLjg1LTEuNzcgMS44NC0xLjc3YzEuMDQgMCAxLjg3LjggMS44NyAxLjc3Wk05MyAxOGgtM1Y3aDN2MTFaTTQ3LjU0IDYuMDJjMS4wNCAwIDEuODctLjggMS44Ny0xLjc3IDAtLjk5LS44My0xLjc4LTEuODctMS43OC0xIDAtMS44NC44LTEuODQgMS43OHMuODUgMS43NyAxLjg0IDEuNzdaTTQ2IDE4aDNWN2gtM3YxMVpNOSAxOEg2VjZIMlYzaDExdjNIOXYxMlpNMTYgMThsLTMgLjAyVjdoM3YxLjg5Yy4zNi0xIDEuMzQtMS43NiAyLjUzLTEuNzZoLjAzYy4zIDAgLjYgMCAuOTQuMXYyLjg0YTQgNCAwIDAgMC0xLjMxLS4yYy0xLjM4IDAtMi4xOSAxLTIuMTkgMi43VjE4Wk01NCAxOGgtM1Y3LjAxTDU0IDd2MWMuNTctLjgyIDEuNTMtMS4yMSAyLjktMS4yMSAyLjU3IDAgNC4xIDEuOCA0LjEgNC40NVYxOGgtM3YtNmMwLTEuNDctLjU2LTIuNjYtMS43Ny0yLjY2LTEuMzYgMC0yLjIzLjkzLTIuMjMgMi44OVYxOFpNODMgMThsNi0xNWgtMy41bC00IDEwLjVMNzcgM2gtMy41TDgwIDE4aDNaTTExOS40NSAxOGgtMi45M2wtMi4wMi02LjI1LTIgNi4yNWgtMi45M0wxMDYgN2gzLjE0bDIuMDUgNy4wNEwxMTMuMzYgN2gyLjI2bDIuMiA3LjA0TDExOS44MyA3SDEyM2wtMy41NSAxMVpNMjQuOTIgMTguMjRjMS41MiAwIDIuNTctLjc3IDMuMDgtMS40N1YxOGgzVjdoLTN2MS4yM2EzLjc4IDMuNzggMCAwIDAtMy4wOC0xLjQ3Yy0yLjkzIDAtNS4xNyAyLjY0LTUuMTcgNS43NHMyLjI0IDUuNzQgNS4xNyA1Ljc0Wm0uNjQtMi43NWMtMS42OCAwLTIuNzgtMS4yNS0yLjc4LTIuOTkgMC0xLjc0IDEuMS0zIDIuNzgtMyAxLjY3IDAgMi43NyAxLjI2IDIuNzcgM3MtMS4xIDMtMi43NyAzWk00MSAxNi43N2MtLjUuNy0xLjU2IDEuNDctMy4wOCAxLjQ3LTIuOTMgMC01LjE3LTIuNjQtNS4xNy01Ljc0czIuMjQtNS43NCA1LjE3LTUuNzRjMS41MiAwIDIuNTcuNzcgMy4wOCAxLjQ3VjNoM3YxNWgtM3YtMS4yM1ptLTUuMjItNC4yN2MwIDEuNzQgMS4xIDMgMi43OCAzIDEuNjcgMCAyLjc3LTEuMjYgMi43Ny0zcy0xLjEtMy0yLjc3LTNjLTEuNjggMC0yLjc4IDEuMjYtMi43OCAzWk02OC4yMyAyMi44MmMzLjM2IDAgNS43Ny0xLjcyIDUuNzctNS42OFY3aC0zdjEuMjNhMy42IDMuNiAwIDAgMC0zLjA2LTEuNDdjLTIuODggMC01LjIgMi40Ni01LjIgNS41NiAwIDMuMDggMi4zMiA1LjY4IDUuMiA1LjY4QTMuOCAzLjggMCAwIDAgNzEgMTYuNDJ2Ljc0YzAgMS43Ni0xLjA0IDMuMDItMi44MiAzLjAyYTQuODQgNC44NCAwIDAgMS0zLjQzLTEuMzdsLTEuNjUgMi4yNWMxLjI1IDEuMiAzLjIxIDEuNzYgNS4xMyAxLjc2Wm0uMzUtNy42OGEyLjc1IDIuNzUgMCAwIDEtMi44LTIuODJjMC0xLjY5IDEuMjgtMi44MSAyLjgtMi44MSAxLjUyIDAgMi44IDEuMTIgMi44IDIuODFhMi43NSAyLjc1IDAgMCAxLTIuOCAyLjgyWk0xMDUuNzggMTUuNzJhNS45NiA1Ljk2IDAgMCAxLTUuMSAyLjQ3Yy0zLjI4IDAtNS44My0yLjI3LTUuODMtNS43NGE1LjYyIDUuNjIgMCAwIDEgNS43OC01Ljc1YzIuODkgMCA1LjQyIDEuODMgNS40MiA1LjQyYTYuMDEgNi4wMSAwIDAgMS0uMDQgMS4xM2gtOC4yNGMuMTggMS40NyAxLjQ4IDIuMTkgMi45MyAyLjE5IDEuMzkgMCAyLjMzLS42MiAyLjg0LTEuMzlsMi4yNCAxLjY3Wm0tNS4yMy02LjUzYy0xLjEzIDAtMi4zOC41Ny0yLjY3IDEuOTFoNS4xNWMtLjI2LTEuMzItMS4zNi0xLjkxLTIuNDgtMS45MVoiLz48L3N2Zz4nfSw0MjI3MTEodCl7dC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQwIDMyIiB3aWR0aD0iNDAiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiMxMzE3MjIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTYgMjVIOVYxNEgyVjdoMTR2MThaTTM3LjUgNyAzMCAyNWgtOGw3LjUtMThoOFpNMjIgMTVhNCA0IDAgMSAwIDAtOCA0IDQgMCAwIDAgMCA4WiIvPjwvc3ZnPid9LDU5MjE1NSh0KXsKdC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDg5IDMyIiB3aWR0aD0iODkiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiPjxnIGZpbGw9IiMxMzE3MjIiIGNsaXAtcGF0aD0idXJsKCNhKSI+PHBhdGggZD0iTTcuNDg1IDI1Ljk0N0g5LjR2LTcuNTA1aDIuNTA2di0xLjgxSDUuMDA1djEuODFoMi40OHY3LjUwNVpNMTEuOTEgMjUuOTQ3aDEuNzk3di0zLjEzNmMwLTEuMDg5LjU2NC0xLjc0NSAxLjQxNy0xLjc0NS4zMDIgMCAuNTM4LjA1My44MTMuMTQ1di0xLjgyNGEyLjAxMSAyLjAxMSAwIDAgMC0uNjAzLS4wNzljLS43MzUgMC0xLjQwNC40ODYtMS42MjcgMS4xMjl2LTEuMDVoLTEuNzk4djYuNTZaTTE5LjM4OCAyNi4wOTJjLjkwNSAwIDEuNTg3LS40NiAxLjg4OS0uODh2LjczNWgxLjc5OHYtNi41NmgtMS43OTh2LjczNWMtLjMwMi0uNDItLjk4NC0uODgtMS44OS0uODgtMS43NDUgMC0zLjA4MyAxLjU3NS0zLjA4MyAzLjQyNSAwIDEuODUgMS4zMzggMy40MjUgMy4wODQgMy40MjVabS4zOC0xLjY0Yy0uOTk3IDAtMS42NTMtLjc0OC0xLjY1My0xLjc4NSAwLTEuMDM2LjY1Ni0xLjc4NCAxLjY1My0xLjc4NHMxLjY1My43NDggMS42NTMgMS43ODRjMCAxLjAzNy0uNjU2IDEuNzg1LTEuNjUzIDEuNzg1Wk0yNy4zNTQgMjYuMDkyYy45MDYgMCAxLjU4OC0uNDYgMS44OS0uODh2LjczNWgxLjc5N3YtOS44NGgtMS43OTd2NC4wMTVjLS4zMDItLjQyLS45ODQtLjg4LTEuODktLjg4LTEuNzQ1IDAtMy4wODMgMS41NzUtMy4wODMgMy40MjUgMCAxLjg1IDEuMzM4IDMuNDI1IDMuMDgzIDMuNDI1Wm0uMzgtMS42NGMtLjk5NiAwLTEuNjUyLS43NDgtMS42NTItMS43ODUgMC0xLjAzNi42NTYtMS43ODQgMS42NTMtMS43ODRzMS42NTMuNzQ4IDEuNjUzIDEuNzg0YzAgMS4wMzctLjY1NiAxLjc4NS0xLjY1MyAxLjc4NVpNMzMuNTUgMTguMzExYy42NDMgMCAxLjE1NS0uNTEyIDEuMTU1LTEuMTQyIDAtLjYzLS41MTItMS4xNDEtMS4xNTUtMS4xNDFhMS4xNSAxLjE1IDAgMCAwLTEuMTQyIDEuMTQyYzAgLjYzLjUyNSAxLjE0MSAxLjE0MiAxLjE0MVptLS44OTIgNy42MzZoMS43OTd2LTYuNTZoLTEuNzk3djYuNTZaTTM2LjA1IDI1Ljk0N2gxLjc5OHYtMy4yMDFjMC0xLjI2LjYxNy0xLjg2MyAxLjQ1Ni0xLjg2My43NDggMCAxLjE1NS41NzcgMS4xNTUgMS41MjJ2My41NDJoMS43OTd2LTMuODQ0YzAtMS43MDYtLjk0NC0yLjg2LTIuNTMyLTIuODYtLjg1MyAwLTEuNTIyLjM2Ny0xLjg3Ni44OTJ2LS43NDhIMzYuMDV2Ni41NlpNNDYuODMgMjQuMjQyYy0uOTA0IDAtMS42NjYtLjY4My0xLjY2Ni0xLjY4IDAtMS4wMS43NjEtMS42OCAxLjY2Ny0xLjY4LjkwNSAwIDEuNjY2LjY3IDEuNjY2IDEuNjggMCAuOTk3LS43NiAxLjY4LTEuNjY2IDEuNjhabS0uMjEgNC41NzljMi4wMDggMCAzLjUzLTEuMDI0IDMuNTMtMy4zODV2LTYuMDVoLTEuNzk3di43MzZjLS4zNTQtLjUxMi0xLjA2My0uODgtMS45MDMtLjg4LTEuNzE5IDAtMy4wOTYgMS40Ny0zLjA5NiAzLjMyIDAgMS44MzcgMS4zNzcgMy4zMDcgMy4wOTYgMy4zMDcuODQgMCAxLjU0OS0uMzggMS45MDMtLjg2NnYuNDQ2YzAgMS4wNS0uNjk2IDEuNzk3LTEuNzU4IDEuNzk3LS43MzUgMC0xLjQ3LS4yNDktMi4wNDctLjgxM2wtLjk4NCAxLjMzOGMuNzQ4LjcyMiAxLjkxNSAxLjA1IDMuMDU3IDEuMDVaTTUzLjk1MSAyNS45NDdoMS42OTNsMy44NTctOS4zMTZoLTIuMWwtMi41OTcgNi40Ny0yLjYzNy02LjQ3aC0yLjA2bDMuODQ0IDkuMzE2Wk02MS4xNSAxOC4zMTFjLjY0NCAwIDEuMTU1LS41MTIgMS4xNTUtMS4xNDIgMC0uNjMtLjUxMS0xLjE0MS0xLjE1NC0xLjE0MWExLjE1IDEuMTUgMCAwIDAtMS4xNDIgMS4xNDJjMCAuNjMuNTI1IDEuMTQxIDEuMTQyIDEuMTQxWm0tLjg5MiA3LjYzNmgxLjc5OHYtNi41NmgtMS43OTh2Ni41NlpNNjYuNzA4IDI2LjA5MmMxLjM3OCAwIDIuNDI3LS41NzggMy4wNDQtMS40N2wtMS4zMzgtLjk5N2MtLjMwMi40Ni0uODY2LjgyNy0xLjY5My44MjctLjg2NiAwLTEuNjQtLjQ4Ni0xLjc0NS0xLjM2NWg0LjkwN2MuMDQtLjI3Ni4wMjYtLjQ2LjAyNi0uNjE3IDAtMi4xMzgtMS41MDgtMy4yMjctMy4yMjctMy4yMjctMS45OTUgMC0zLjQ1MSAxLjQ4Mi0zLjQ1MSAzLjQyNCAwIDIuMDczIDEuNTIyIDMuNDI1IDMuNDc3IDMuNDI1Wm0tMS42NjYtNC4yMjVjLjE3LS44LjkxOC0xLjE0MiAxLjU4Ny0xLjE0Mi42NyAwIDEuMzI1LjM1NCAxLjQ4MyAxLjE0MmgtMy4wN1pNNzYuNjQ0IDI1Ljk0N2gxLjc4NGwyLjE2NS02LjU2aC0xLjkyOGwtMS4yMzQgNC4xOTktMS4zMzgtNC4yaC0xLjM3OGwtMS4zMjUgNC4yLTEuMjQ2LTQuMmgtMS45MTZsMi4xNzggNi41NjFoMS43ODRsMS4yMi0zLjcyNiAxLjIzNCAzLjcyNlpNNi45MjQgMTJWNi44ODZINS4xNjJ2LS45NThoNC41MzN2Ljk1OGgtMS43N1YxMmgtMVptMy4zMyAwVjUuOTI4aDIuMTljMS4xMjkgMCAxLjgzOS43MjcgMS44MzkgMS43MjcgMCAuODU2LS41MDUgMS40MTItMS4zNzcgMS42MTdMMTUuMTY0IDEyaC0xLjIzMmwtMi4yMjQtMi42NjhoLS40NTNWMTJoLTFabTEuMDAxLTMuNTRoMS4wN2MuNTkgMCAuOTU3LS4yODMuOTU3LS44MDUgMC0uNTIxLS4zNjgtLjgwNC0uOTU4LS44MDRoLTEuMDY5VjguNDZabTMuNDYgMy41NCAyLjY1MS02LjA3MmguODcyTDIwLjg5IDEyaC0xLjA0NGwtLjY5Mi0xLjU5aC0yLjcyTDE1Ljc1IDEyaC0xLjAzNVptMi4xMDQtMi40OGgxLjk1bC0uOTc1LTIuMjUtLjk3NSAyLjI1Wm00LjUxIDIuNDhWNS45MjhoMS44NjVjMS44MDUgMCAzLjE4MiAxLjMxNyAzLjE4MiAzLjAzNlMyNC45OTkgMTIgMjMuMTk0IDEySDIxLjMzWm0xLjAwMi0uOTMyaC44NjNjMS4zIDAgMi4xNjQtLjkxNSAyLjE2NC0yLjEwNHMtLjg2NC0yLjEwNC0yLjE2NC0yLjEwNGgtLjg2M3Y0LjIwOFptNC44MDQuOTMyVjUuOTI4aDMuNjUydi45NThoLTIuNjUydjEuNTU2aDIuMTM4VjkuNGgtMi4xMzh2MS42NDJoMi42NTJWMTJoLTMuNjUyWm0xMi4wMjMtMy4wMzZhMy4xMjQgMy4xMjQgMCAwIDEtMy4xMzggMy4xMzkgMy4xMiAzLjEyIDAgMCAxLTMuMTM5LTMuMTQgMy4xMiAzLjEyIDAgMCAxIDMuMTM5LTMuMTM4IDMuMTI0IDMuMTI0IDAgMCAxIDMuMTM4IDMuMTM5Wm0tNS4yNjggMGMwIDEuMjA2LjkyNCAyLjE3MiAyLjEzIDIuMTcyIDEuMTk3IDAgMi4xMi0uOTY2IDIuMTItMi4xNzIgMC0xLjIwNi0uOTIzLTIuMTcyLTIuMTItMi4xNzItMS4yMDYgMC0yLjEzLjk2Ni0yLjEzIDIuMTcyWk00NS4yMDggMTJoLS44NzJsLTMuNDIxLTQuMzdWMTJoLTFWNS45MjhoLjg3MmwzLjQxMiA0LjM1M1Y1LjkyOGgxLjAxVjEyWiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoODl2MzJIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4nCn19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/83041.9c545f9868204c7700f2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.138Z","timestamp":1785141585138,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/83041.9c545f9868204c7700f2.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-8a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2e265d47e6c53e73f774b6692a2ffbfd\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":138,"size_decoded":890,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"c3173b693b4fb2e1f5f6b77cfd60af3b","sha1":"a175181620523c8f8d34c629bd56a1366f38b718","sha256":"fe910ab647b1d1c45eaf208d85b6224b9ab6a4815880a67ab39d801af5e3d100","sha512":"55757fa16faa58c1bd2e6bf0cae13823977f47efc188dded627421ba751306f658f1aa2a880ce85cc5ab746ce99c7a3f62df4d1f2024e25614b2732afe7c9b8a","ssdeep":"","tlshash":"bdc08c224a033e0c8720daa0af301b5880c090528142408e80052a2b40c918a18b1788","first_seen":"2026-07-19T14:58:49.136091Z","last_seen":"2026-07-27T14:27:22.481935Z","times_seen":95,"resource_available":false,"data":"LndyYXAtalBJYU84SHV7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLWlubGluZS1lbmQ6MnB4O3dpZHRoOjI4cHh9"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview.com/support/support-portal-problems/?language=en","fqdn":"www.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.104","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.967Z","timestamp":1785141584967,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"tradingview.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Fri, 12 Dec 2025 00:00:00 GMT","end":"Sun, 10 Jan 2027 23:59:59 GMT"},"fingerprint":{"sha1":"93:7A:32:54:9B:07:78:A4:C2:12:01:FE:F8:01:86:4E:F4:B0:E5:88","sha256":"DC:6B:BC:C2:10:66:1A:99:2E:BE:17:BD:A9:27:49:E3:D8:CA:EB:13:B6:95:9C:BF:68:76:22:17:62:D1:05:57"}}},"request":{"raw":"GET /support/support-portal-problems/?language=en HTTP/1.1\r\nHost: www.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json\r\ncontent-length: 13\r\nage: 4\r\ndate: Mon, 27 Jul 2026 08:39:41 GMT\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\ncache-control: max-age=60\r\ncontent-security-policy: script-src https://static.tradingview.com/static/ blob: https://*.ampproject.org/ https://*.paypal.com/ https://platform.twitter.com https://platform.x.com https://songbird.cardinalcommerce.com/edge/v1/ https://checkout.razorpay.com/ https://cdn.razorpay.com/static/cx/ https://*.checkout.com/ https://*.revolut.com/ https://*.cardinaltrusted.com https://pay.google.com/gp/p/js/ https://applepay.cdn-apple.com/jsapi/ https://tradingview-gateway.com/; base-uri 'none'; default-src 'self' https: data: blob: wss: 'unsafe-inline'; frame-ancestors 'none'; object-src 'none'\r\ncross-origin-opener-policy: same-origin-allow-popups\r\nreferrer-policy: origin-when-cross-origin, origin-when-cross-origin\r\nx-content-type-options: nosniff, nosniff\r\nserver: tv\r\naccess-control-allow-origin: https://www.tradingview-widget.com\r\ncross-origin-resource-policy: same-site\r\naccess-control-allow-headers: pragma,x-language,cache-control,x-requested-with\r\naccess-control-allow-credentials: true\r\naccess-control-max-age: 86400\r\naccess-control-allow-methods: GET, HEAD, POST, OPTIONS\r\nvary: Cookie\r\nx-cache: Hit from cloudfront\r\nalt-svc: h3=\":443\"; ma=86400\r\nvia: 1.1 07b1d101035e34f82920833b00a4e896.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P2\r\nx-amz-cf-id: O4urCZQYBIt91HInpnN7OjF1ntwOYrWEFFExwjQOB_nUJXhphlYiiQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":13,"size_decoded":1551,"mime_type":"application/json","magic":"JSON text data","md5":"01de957246f36d125db7f1635e51043e","sha1":"ab39026488aa0222d0fd98ade08979a1a17bdfae","sha256":"9bf40c18a4b22428c00ae5ddb17ff9e721207f22ebe705fd7dffdfd150749e3b","sha512":"72406f9bdf9896da1e3b58e79b74803c4b3a4226b1859cefcee322aa78d8617178a9e12333d72d43dd10207e3e79b9fc76ed07546ce955c0c8b392985d5540c5","ssdeep":"","tlshash":"d760000f003000000f0c0030f0000cc3000c0000033c30300c0c00c3030c0030ccf303","first_seen":"2023-05-02T20:38:18Z","last_seen":"2026-07-27T14:50:15.446689Z","times_seen":632,"resource_available":false,"data":"eyJpc3N1ZXMiOltdfQ=="}},"time_used":55,"timings":{"blocked":-1,"dns":2,"connect":19,"send":0,"wait":33,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/volume-footprint-study.9dc6760cb03ba41d68f1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.902Z","timestamp":1785141584902,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/volume-footprint-study.9dc6760cb03ba41d68f1.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-3873\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 95af1c842994bc2f3ca6eca52d18bfc5\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":14451,"size_decoded":5256,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3064)","md5":"02705aa805bbac9bccc99b4d5b83d9f4","sha1":"78a6115784af9125bbdcffa02a4e496b8927e73b","sha256":"7ee5f3a19f5fe49954db3d9c732c7ec564831ce84b66ae61abcb67931f501f2a","sha512":"1ab4eee9064f0fd0b6970b0925fe5ba110fc2d334cb02d30864795e52bf9098a3d49ecd831402b6ad990e5f8c5a697078b2aecacaced188be7ee1e1d95a3f765","ssdeep":"384:Ab04y76xACAdQlDbTQ7ZiScKevr/0XV67P9kfZv/H6eS/Vns1Ln5Ind8ES:6y76xApdQRbTQHEj6xvyUGd8ES","tlshash":"3352a731b1a2bce623b410d6afe8069e856a5d50a45e6cf8f26cd0f71cd5509173db3c","first_seen":"2026-07-22T16:00:00.386345Z","last_seen":"2026-07-27T14:50:15.421025Z","times_seen":84,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTIyMjddLHs3MzQ5MDModCxlLG8pe28uZChlLHtsZWZ0Q29sdW1uQXJlYUxlZnRSaWdodDooKT0+YyxyaWdodENvbHVtbkFyZWFMZWZ0UmlnaHQ6KCk9PnAscm93VG9wQm90dG9tOigpPT5hLHN1bW1hcnlBcmVhMkNvbHVtbnNMZWZ0UmlnaHQ6KCk9Pm0sdG90YWxBcmVhTGVmdFJpZ2h0OigpPT5kLHZvbHVtZUZvb3RwcmludENvb3JkaW5hdGVTcGFjZTooKT0+Zn0pO3ZhciBpLHI9byg3MzY1MzEpLG49bygxOTg5MDEpLGw9bygxNzQzNDIpO2Z1bmN0aW9uIGEodCxlLG8scixuKXtjb25zdCBsPU1hdGgucm91bmQodC5wcmljZVRvQ29vcmRpbmF0ZShyK28sZSkqbi52ZXJ0aWNhbFBpeGVsUmF0aW8pLGE9TWF0aC5yb3VuZCh0LnByaWNlVG9Db29yZGluYXRlKHIsZSkqbi52ZXJ0aWNhbFBpeGVsUmF0aW8pLHM9TWF0aC5tYXgoaS5MZXZlbHNTcGFjaW5nLE1hdGguZmxvb3IoaS5MZXZlbHNTcGFjaW5nKm4udmVydGljYWxQaXhlbFJhdGlvKSk7cmV0dXJue3RvcDpNYXRoLm1pbihsLGEpLGJvdHRvbTpNYXRoLm1heChsLGEpLXN9fWZ1bmN0aW9uIHModCxlLG8scil7Y29uc3Qgbj1NYXRoLnJvdW5kKHQucHJpY2VUb0Nvb3JkaW5hdGUobyxlKSpyLnZlcnRpY2FsUGl4ZWxSYXRpbyk7cmV0dXJue3RvcDpuLU1hdGgubWF4KGkuTGV2ZWxzU3BhY2luZyxNYXRoLmZsb29yKGkuTGV2ZWxzU3BhY2luZypyLnZlcnRpY2FsUGl4ZWxSYXRpbykpLGJvdHRvbTpufX1mdW5jdGlvbiB1KHQsZSl7Y29uc3Qgbz10LnJpZ2h0LXQubGVmdDtyZXR1cm57Y2VudGVyOk1hdGgucm91bmQodC5jZW50ZXIqZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyksY29sdW1uV2lkdGg6TWF0aC5yb3VuZChvKmkuQ29sdW1uU3BhY2UqZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyksb2Zmc2V0Ok1hdGgucm91bmQobyppLkNhbmRsZVNwYWNlKi41KmUuaG9yaXpvbnRhbFBpeGVsUmF0aW8pfX1mdW5jdGlvbiBjKHQsZSl7Y29uc3Qgbz11KHQsZSksaT1vLmNlbnRlci1vLmNvbHVtbldpZHRoLW8ub2Zmc2V0O3JldHVybntsZWZ0OmkscmlnaHQ6aStvLmNvbHVtbldpZHRofX1mdW5jdGlvbiBwKHQsZSl7Y29uc3Qgbz11KHQsZSksaT1vLmNlbnRlcitvLm9mZnNldCsxO3JldHVybntsZWZ0OmkscmlnaHQ6aStvLmNvbHVtbldpZHRofX1mdW5jdGlvbiBkKHQsZSl7Y29uc3Qgbz11KHQsZSksaT1vLmNlbnRlcitvLm9mZnNldCsxO3JldHVybntsZWZ0OmkscmlnaHQ6aSsyKm8uY29sdW1uV2lkdGh9fWZ1bmN0aW9uIG0odCxlKXtjb25zdCBvPXUodCxlKTtyZXR1cm57bGVmdDpvLmNlbnRlci1vLmNvbHVtbldpZHRoLW8ub2Zmc2V0LHJpZ2h0Om8uY2VudGVyK28ub2Zmc2V0KzErby5jb2x1bW5XaWR0aH19IWZ1bmN0aW9uKHQpe3RbdC5Db2x1bW5TcGFjZT0uMzVdPSJDb2x1bW5TcGFjZSIsdFt0LkNhbmRsZVNwYWNlPS4yXT0iQ2FuZGxlU3BhY2UiLHRbdC5TdW1tYXJ5T2Zmc2V0PTVdPSJTdW1tYXJ5T2Zmc2V0Iix0W3QuTGV2ZWxzU3BhY2luZz0xXT0iTGV2ZWxzU3BhY2luZyIsdFt0LkltYmFsYW5jZUxldmVsT2Zmc2V0PTFdPSJJbWJhbGFuY2VMZXZlbE9mZnNldCIsdFt0LkltYmFsYW5jZUxldmVsV2lkdGg9M109IkltYmFsYW5jZUxldmVsV2lkdGgiLHRbdC5JbWJhbGFuY2VMZXZlbFZpc2liaWxpdHlNaW5CYXJXaWR0aD0xMF09IkltYmFsYW5jZUxldmVsVmlzaWJpbGl0eU1pbkJhcldpZHRoIix0W3QuTGV2ZWxUaXRsZXNWaXNpYmlsaXR5TWluQmFyV2lkdGg9MzMwXT0iTGV2ZWxUaXRsZXNWaXNpYmlsaXR5TWluQmFyV2lkdGgifShpfHwoaT17fSkpO2NvbnN0IGg9KHttaW46dCxtYXg6ZX0sbyk9Pk1hdGgucm91bmQoKGUueC10LngpKm8pO2Z1bmN0aW9uIGYodCl7Y29uc3R7dGltZVNjYWxlOmUscHJpY2VTY2FsZTpvLHZvbHVtZUZvb3RwcmludDpmLHJvd1NpemU6UyxmaXJzdFZhbHVlOmcsYmFyOngscGl4ZWxSYXRpb0luZm86dix2b2x1bWVGb290cHJpbnRUeXBlOmJ9PXQsW3cseV09KDAsbi5taW5NYXgpKFt4WzNdLC4uLigwLG4uY2FsY3VsYXRlTWluTWF4KShmLmxldmVscywodD0+dC5wcmljZSkpXSk7bGV0IFYsSTtzd2l0Y2goYil7Y2FzZSBsLlZvbHVtZUZvb3RwcmludFR5cGVWYWx1ZXMuQnV5QW5kU2VsbDpjYXNlIGwuVm9sdW1lRm9vdHByaW50VHlwZVZhbHVlcy5MYWRkZXI6Vj1jLEk9cDticmVhaztkZWZhdWx0OlY9ZCxJPWR9Y29uc3QgVD1lLmJhckJvcmRlcnMoZi5pbmRleCksRj1ULnJpZ2h0LVQubGVmdCxDPXQ9Pntjb25zdHtsZWZ0OmUscmlnaHQ6aX09VihULHYpLHt0b3A6bixib3R0b206bH09YShvLGcsUyx0LHYpO3JldHVybigwLHIuYm94KSgoMCxyLnBvaW50KShlLG4pLCgwLHIucG9pbnQpKGksbCkpfSxNPXQ9Pntjb25zdHtsZWZ0OmUscmlnaHQ6aX09SShULHYpLHt0b3A6bixib3R0b206bH09YShvLGcsUyx0LHYpO3JldHVybigwLHIuYm94KSgoMCxyLnBvaW50KShlLG4pLCgwLHIucG9pbnQpKGksbCkpfSxfPSgwLHIucG9pbnQpKDUqdi5ob3Jpem9udGFsUGl4ZWxSYXRpbywwKTtyZXR1cm57bGVmdFJvd0FyZWFCb3g6QyxyaWdodFJvd0FyZWFCb3g6TSxwZXJjZW50TGVmdFJvd0FyZWFCb3g6KHQsZSk9Pntjb25zdCBvPUModCkse21pbjppLG1heDpufT1vO3JldHVybigwLHIuYm94KSgoMCxyLnBvaW50KShuLngtaChvLGUpLGkueSksbil9LHBlcmNlbnRSaWdodFJvd0FyZWFCb3g6KHQsZSxvPSExKT0+e2NvbnN0IGk9bz8odD0+e2NvbnN0e21pbjplLG1heDpvfT10O3JldHVybigwLHIuYm94KShlLmFkZChfKSxvKX0pKE0odCkpOk0odCkse21pbjpuLG1heDpsfT1pO3JldHVybigwLHIuYm94KShuLCgwLHIucG9pbnQpKG4ueCtoKGksZSksbC55KSl9LGxldmVsQm94OnQ9Pntjb25zdCBlPVYoVCx2KSxpPUkoVCx2KSx7dG9wOm4sYm90dG9tOmx9PXMobyxnLHQsdik7cmV0dXJuKDAsci5ib3gpKCgwLHIucG9pbnQpKGUubGVmdCxuKSwoMCxyLnBvaW50KShpLnJpZ2h0LGwpKX0scHJvZmlsZVRvdGFsTGV2ZWxCb3g6dD0+ewpjb25zdCBlPWMoVCx2KSxpPWQoVCx2KSx7dG9wOm4sYm90dG9tOmx9PXMobyxnLHQsdik7cmV0dXJuKDAsci5ib3gpKCgwLHIucG9pbnQpKGUucmlnaHQsbiksKDAsci5wb2ludCkoaS5yaWdodCxsKSl9LHNob3dMZXZlbFRpdGxlczooKT0+Rj49aS5MZXZlbFRpdGxlc1Zpc2liaWxpdHlNaW5CYXJXaWR0aCxzdW1tYXJ5QXJlYTJDb2x1bW5zTW9kZTooKT0+e2NvbnN0IHQ9YShvLGcsUyx3LHYpLGU9YShvLGcsUyx5LHYpLG49TWF0aC5tYXgodC5ib3R0b20sZS5ib3R0b20pLHtsZWZ0OmwscmlnaHQ6c309bShULHYpO3JldHVybntib3g6KDAsci5ib3gpKCgwLHIucG9pbnQpKGwsbiksKDAsci5wb2ludCkocyxuKyh0LmJvdHRvbS10LnRvcCkpKSxtYXJnaW5Ub3A6TWF0aC5yb3VuZChpLlN1bW1hcnlPZmZzZXQqdi52ZXJ0aWNhbFBpeGVsUmF0aW8pfX0sc3VtbWFyeUFyZWExQ29sdW1uTW9kZTooKT0+e2NvbnN0IHQ9YShvLGcsUyx3LHYpLGU9YShvLGcsUyx5LHYpLG49TWF0aC5tYXgodC5ib3R0b20sZS5ib3R0b20pLHtsZWZ0OmwscmlnaHQ6c309ZnVuY3Rpb24odCxlKXtjb25zdCBvPXUodCxlKSxpPTIqby5jb2x1bW5XaWR0aDtyZXR1cm57bGVmdDpvLmNlbnRlci1vLm9mZnNldCxyaWdodDpvLmNlbnRlcitvLm9mZnNldCsxK2l9fShULHYpO3JldHVybntib3g6KDAsci5ib3gpKCgwLHIucG9pbnQpKGwsbiksKDAsci5wb2ludCkocyxuKyh0LmJvdHRvbS10LnRvcCkpKSxtYXJnaW5Ub3A6TWF0aC5yb3VuZChpLlN1bW1hcnlPZmZzZXQqdi52ZXJ0aWNhbFBpeGVsUmF0aW8pfX0saW1iYWxhbmNlQm94Oih0LGUsbj0hMCk9PntpZihGPGkuSW1iYWxhbmNlTGV2ZWxWaXNpYmlsaXR5TWluQmFyV2lkdGgpcmV0dXJuIG51bGw7Y29uc3QgbD0ibGVmdCI9PT1lP1YoVCx2KTpJKFQsdikse3RvcDpzLGJvdHRvbTp1fT1hKG8sZyxTLHQsdiksYz1NYXRoLm1heChpLkltYmFsYW5jZUxldmVsT2Zmc2V0LE1hdGguZmxvb3IoaS5JbWJhbGFuY2VMZXZlbE9mZnNldCp2Lmhvcml6b250YWxQaXhlbFJhdGlvKSkscD1NYXRoLnJvdW5kKGkuSW1iYWxhbmNlTGV2ZWxXaWR0aCp2Lmhvcml6b250YWxQaXhlbFJhdGlvKSxkPSJsZWZ0Ij09PWUsbT0obj9kOiFkKT9sLmxlZnQtYy1wOmwucmlnaHQrYztyZXR1cm4oMCxyLmJveCkoKDAsci5wb2ludCkobSxzKSwoMCxyLnBvaW50KShtK3AsdSkpfSxjb3JyZWN0SW1iYWxhbmNlQm94OnQ9Pntjb25zdHttaW46ZSxtYXg6b309dDtyZXR1cm4oMCxyLmJveCkoZS5hZGQoXyksby5hZGQoXykpfX19fSw4NDYyOTModCxlLG8pe28ucihlKSxvLmQoZSx7Vm9sdW1lRm9vdHByaW50U3R1ZHk6KCk9PlYsY3JlYXRlVm9sdW1lRm9vdHByaW50U3R1ZHk6KCk9Pkl9KTt2YXIgaT1vKDQzNzc0OSkscj1vKDg3MjM0Myksbj1vKDYwNTI1NyksbD1vKDE5NzI3MiksYT1vKDE1NjgyOSkscz1vKDczNzM3MSksdT1vKDE3NDM0MiksYz1vKDUwNTU2KSxwPW8oOTg0Mzc2KSxkPW8oNDAzODE3KSxtPW8oNzM0OTAzKSxoPW8oNTg4ODcwKSxmPW8oOTA4MjQ2KTtjb25zdCBTPXtwb3NpdGl2ZURlbHRhQ29sb3I6KDAsYy5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLG5lZ2F0aXZlRGVsdGFDb2xvcjooMCxjLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIil9O2NsYXNzIGcgZXh0ZW5kcyBoLlN1bW1hcnlQYW5lVmlld3tjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSl9X2N1dE9mZkxhc3RDb2x1bW4oKXtyZXR1cm4hMH1fZ2V0RGF0YVNvdXJjZUZvclN1bW1hcnkoKXtyZXR1cm4gdGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKGYudm9sdW1lRm9vdHByaW5nU3VtbWFyeURhdGFTb3VyY2VJZCl9X2dldFN1bW1hcnlDb2x1bW5SZW5kZXJlckRhdGEodCxlKXtjb25zdCBvPXRoaXMuX3N0dWR5LmdyYXBoaWNzKCksaT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxyPXRoaXMuX3N0dWR5LmZpcnN0VmFsdWUoKSxuPXRoaXMuX3N0dWR5LnByaWNlU2NhbGUoKTtpZihudWxsPT09cnx8bnVsbD09PW4pcmV0dXJuIG51bGw7Y29uc3QgbD10aGlzLl9zdHVkeSxhPWwub3BlbkludGVyZXN0U3VwcG9ydGVkKCksYz1sLmV4dGVuZGVkT3BlbkludGVyZXN0U3VwcG9ydGVkKCksaD10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnZvbEZvb3RwcmludFN0eWxlLmNoaWxkcygpLGY9aC50eXBlLnZhbHVlKCksZz1oLmV4dGVuZGVkU3VtbWFyeS5jaGlsZHMoKS5ibG9ja0luZm8uY2hpbGRzKCkseD1uZXcgcC5Wb2x1bWVGb3JtYXR0ZXIsdj10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZm9ybWF0dGVyKCksYj10PT52LmZvcm1hdCh0KSx3PWY9PT11LlZvbHVtZUZvb3RwcmludFR5cGVWYWx1ZXMuQnV5QW5kU2VsbHx8Zj09PXUuVm9sdW1lRm9vdHByaW50VHlwZVZhbHVlcy5MYWRkZXI7bGV0IHk7aWYodyl7Y29uc3QgZT1pLmJhckJvcmRlcnMoMCksbz1pLmJhckJvcmRlcnMoMSkscj0oMCxtLnJpZ2h0Q29sdW1uQXJlYUxlZnRSaWdodCkoZSx0KSxuPSgwLG0ubGVmdENvbHVtbkFyZWFMZWZ0UmlnaHQpKG8sdCk7eT1NYXRoLnJvdW5kKChuLmxlZnQtci5yaWdodCkvMil9ZWxzZSB5PTA7Y29uc3QgVj1pLmJhclNwYWNpbmcoKSxJPW5ldyBkLkxvZ2ljYWxSYW5nZShlLmxlZnQoKS01LGUucmlnaHQoKSs1KSxUPVtdO2xldCBGO3JldHVybiBvLmZvb3RwcmludHMoKS5mb3JFYWNoKChlPT57ZS5mb3JFYWNoKChlPT57aWYoIUkuY29udGFpbnMoZS5pbmRleCkpcmV0dXJuO2NvbnN0IG89ZS5zdW1tYXJ5LHI9KDAscy5kZWZhdWx0KShlLmxldmVscy5tYXAoKHQ9PnQuc2VsbFZvbHVtZSkpKSxuPSgwLHMuZGVmYXVsdCkoZS5sZXZlbHMubWFwKCh0PT50LmJ1eVZvbHVtZSkpKSxsPW4rcix1PVtdO2lmKGcudm9sdW1lLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmdS5wdXNoKHt0ZXh0OnguZm9ybWF0KGwpfSksZy52b2x1bWVQZXJjZW50YWdlLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmdS5wdXNoKHt0ZXh0OnZvaWQgMCE9PUY/YigobC1GKS9GKjEwMCk6IuKAlCJ9KSwKZy5idXlWb2x1bWUuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6eC5mb3JtYXQobil9KSxnLmJ1eVZvbHVtZVBlcmNlbnRhZ2UuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6YihuL2wqMTAwKX0pLGcuc2VsbFZvbHVtZS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkmJnUucHVzaCh7dGV4dDp4LmZvcm1hdChyKX0pLGcuc2VsbFZvbHVtZVBlcmNlbnRhZ2UuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6YihyL2wqMTAwKX0pLGcuZGVsdGEuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKXtjb25zdCB0PW4tcjt1LnB1c2goe3RleHQ6Yih0KSxiYWNrZ3JvdW5kQ29sb3I6dD49MD9TLnBvc2l0aXZlRGVsdGFDb2xvcjpTLm5lZ2F0aXZlRGVsdGFDb2xvcn0pfWlmKGcuZGVsdGFQZXJjZW50YWdlLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSl7Y29uc3QgdD0obi1yKS9sKjEwMDt1LnB1c2goe3RleHQ6Yih0KSxiYWNrZ3JvdW5kQ29sb3I6dD49MD9TLnBvc2l0aXZlRGVsdGFDb2xvcjpTLm5lZ2F0aXZlRGVsdGFDb2xvcn0pfWlmKGcubWluRGVsdGEuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiYobz91LnB1c2goe3RleHQ6YihvLm1pbkRlbHRhKSxiYWNrZ3JvdW5kQ29sb3I6by5taW5EZWx0YT49MD9TLnBvc2l0aXZlRGVsdGFDb2xvcjpTLm5lZ2F0aXZlRGVsdGFDb2xvcn0pOnUucHVzaCh7dGV4dDoi4oCUIn0pKSxnLm1heERlbHRhLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmKG8/dS5wdXNoKHt0ZXh0OmIoby5tYXhEZWx0YSksYmFja2dyb3VuZENvbG9yOm8ubWF4RGVsdGE+PTA/Uy5wb3NpdGl2ZURlbHRhQ29sb3I6Uy5uZWdhdGl2ZURlbHRhQ29sb3J9KTp1LnB1c2goe3RleHQ6IuKAlCJ9KSksZy5zZXNzaW9uQ1ZELmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmdS5wdXNoKHt0ZXh0Om8/eC5mb3JtYXQoby5zZXNzaW9uQ1ZEKToi4oCUIn0pLGcucG9jUHJpY2UuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6YihlLnBvYyl9KSxnLmhsUmFuZ2UuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6bz8uaGlnaExvd1JhbmdlP2Ioby5oaWdoTG93UmFuZ2UpOiLigJQifSksYSl7aC5leHRlbmRlZFN1bW1hcnkuY2hpbGRzKCkub3BlbkludGVyZXN0QmxvY2tJbmZvLmNoaWxkcygpLm9wZW5JbnRlcmVzdC5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkmJnUucHVzaCh7dGV4dDpvPy5vcGVuSW50ZXJlc3RIaWdoP2Ioby5vcGVuSW50ZXJlc3RIaWdoKToi4oCUIn0pfWlmKGMpe2NvbnN0IHQ9aC5leHRlbmRlZFN1bW1hcnkuY2hpbGRzKCkuZXh0ZW5kZWRPcGVuSW50ZXJlc3RCbG9ja0luZm8uY2hpbGRzKCk7dC5vcGVuSW50ZXJlc3RIaWdoLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmdS5wdXNoKHt0ZXh0Om8/Lm9wZW5JbnRlcmVzdEhpZ2g/YihvLm9wZW5JbnRlcmVzdEhpZ2gpOiLigJQifSksdC5vcGVuSW50ZXJlc3RMb3cuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6bz8ub3BlbkludGVyZXN0TG93P2Ioby5vcGVuSW50ZXJlc3RMb3cpOiLigJQifSl9Y29uc3QgcD0oZT0+e2NvbnN0IG89aS5iYXJCb3JkZXJzKGUpO3JldHVybiB3PygwLG0uc3VtbWFyeUFyZWEyQ29sdW1uc0xlZnRSaWdodCkobyx0KTp7bGVmdDpvLmNlbnRlcip0Lmhvcml6b250YWxQaXhlbFJhdGlvLHJpZ2h0OihvLmNlbnRlcitWKSp0Lmhvcml6b250YWxQaXhlbFJhdGlvfX0pKGUuaW5kZXgpO1QucHVzaCh7bGVmdDpwLmxlZnQteSxyaWdodDpwLnJpZ2h0K3kscm93czp1fSksRj1sfSkpfSkpLFR9fXZhciB4PW8oMTM4NjM4KSx2PW8oNzQ1NTY5KSxiPW8oMzA1MTAyKTtjbGFzcyB3IGV4dGVuZHMgdi5TdW1tYXJ5V2lkZ2V0U2lkZUFyZWFWaWV3e19nZXREYXRhU291cmNlRm9yU3VtbWFyeSgpe3JldHVybiB0aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQoZi52b2x1bWVGb290cHJpbmdTdW1tYXJ5RGF0YVNvdXJjZUlkKX1fdmlzaWJsZVRpdGxlcygpe2NvbnN0IHQ9W10sZT0oMCx4LmVuc3VyZU5vdE51bGwpKHRoaXMuX2dldERhdGFTb3VyY2VGb3JTdW1tYXJ5KCkpLG89dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS52b2xGb290cHJpbnRTdHlsZS5jaGlsZHMoKS5leHRlbmRlZFN1bW1hcnkuY2hpbGRzKCk7cmV0dXJuIHQucHVzaCguLi5iLmJhc2VWb2x1bWVGb290cHJpbnRSb3dUaXRsZXMuZmlsdGVyKCh0PT5vLmJsb2NrSW5mby5jaGlsZHMoKVt0LnByb3BOYW1lXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpKS5tYXAoKHQ9PnQudHJhbnNsYXRlZFN0cmluZy50cmFuc2xhdGVkVGV4dCgpKSkpLGUub3BlbkludGVyZXN0U3VwcG9ydGVkKCkmJnQucHVzaCguLi5iLm9wZW5JbnRlcmVzdFZvbHVtZUZvb3RwcmludFJvd1RpdGxlcy5maWx0ZXIoKHQ9Pm8ub3BlbkludGVyZXN0QmxvY2tJbmZvLmNoaWxkcygpW3QucHJvcE5hbWVdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSkpLm1hcCgodD0+dC50cmFuc2xhdGVkU3RyaW5nLnRyYW5zbGF0ZWRUZXh0KCkpKSksZS5leHRlbmRlZE9wZW5JbnRlcmVzdFN1cHBvcnRlZCgpJiZ0LnB1c2goLi4uYi5leHRlbmRlZE9wZW5JbnRlcmVzdFZvbHVtZUZvb3RwcmludFJvd1RpdGxlcy5maWx0ZXIoKHQ9Pm8uZXh0ZW5kZWRPcGVuSW50ZXJlc3RCbG9ja0luZm8uY2hpbGRzKClbdC5wcm9wTmFtZV0uY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKSkubWFwKCh0PT50LnRyYW5zbGF0ZWRTdHJpbmcudHJhbnNsYXRlZFRleHQoKSkpKSx0fX12YXIgeT1vKDcyODQzNik7Y2xhc3MgViBleHRlbmRzIGwuU3R1ZHl7Y29uc3RydWN0b3IodCxlLG8saSxyLG4sbD0hMSl7c3VwZXIodCxlLG8saSxyLG4pLHRoaXMuX3Jvd1NpemU9LjEsdGhpcy5fY2hhcnRTdHlsZU1vZGU9bCx0aGlzLl9zdW1tYXJ5UGFuZVZpZXc9bmV3IGcodGhpcyx0KSx0aGlzLl93aWRnZXRTaWRlQXJlYVZpZXc9bmV3IHcodCl9cm93U2l6ZSgpe3JldHVybiB0aGlzLl9yb3dTaXplfW9wZW5JbnRlcmVzdFN1cHBvcnRlZCgpewpjb25zdCB0PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk7cmV0dXJuIG51bGwhPT10JiYoMCxhLmlzRnV0dXJlcykodC50eXBlKSYmISgwLGEuaGFzQ3J5cHRvVHlwZXNwZWMpKHQudHlwZXNwZWNzKX1leHRlbmRlZE9wZW5JbnRlcmVzdFN1cHBvcnRlZCgpe2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnN5bWJvbEluZm8oKTtyZXR1cm4gbnVsbCE9PXQmJigoMCxhLmlzRnV0dXJlcykodC50eXBlKXx8InN3YXAiPT09dC50eXBlKSYmKDAsYS5oYXNDcnlwdG9UeXBlc3BlYykodC50eXBlc3BlY3MpfXBhbmVWaWV3cyh0KXtyZXR1cm4gdGhpcy5fY2hhcnRTdHlsZU1vZGU/dCE9PXRoaXMuX21vZGVsLm1haW5QYW5lKCk/W3RoaXMuX3N1bW1hcnlQYW5lVmlld106dGhpcy5fcGFuZVZpZXdzOnN1cGVyLnBhbmVWaWV3cyh0KX1jaGFydEZsb2F0aW5nVG9vbHRpcFZpZXcoKXtyZXR1cm4gbnVsbH1jaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyKCl7cmV0dXJuIG51bGx9dXBkYXRlQWxsVmlld3ModCl7c3VwZXIudXBkYXRlQWxsVmlld3ModCksdGhpcy5fc3VtbWFyeVBhbmVWaWV3LnVwZGF0ZSgpLHRoaXMuX3dpZGdldFNpZGVBcmVhVmlldy51cGRhdGUoKX13aWRnZXRTaWRlQXJlYVZpZXdzKHQpe2NvbnN0IGU9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTtpZighZSlyZXR1cm4gbnVsbDtjb25zdCBvPXRoaXMuX21vZGVsLm1haW5QYW5lKCk7aWYoIW8pcmV0dXJuIG51bGw7Y29uc3QgaT1vLnByaWNlU2NhbGVQb3NpdGlvbihlKTtyZXR1cm4gdGhpcy5fY2hhcnRTdHlsZU1vZGUmJnQ9PT1pP1t0aGlzLl93aWRnZXRTaWRlQXJlYVZpZXddOm51bGx9cHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLl9jaGFydFN0eWxlTW9kZT90aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpOnN1cGVyLnByaWNlU2NhbGUoKX1maXJzdFZhbHVlKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5maXJzdFZhbHVlKCl9c3RhdGVDdXN0b21GaWVsZHMoKXtyZXR1cm57cm93U2l6ZTp0aGlzLl9yb3dTaXplfX1yZXN0b3JlU3RhdGVDdXN0b21GaWVsZHModCl7dGhpcy5fcm93U2l6ZT10LnJvd1NpemU/P3RoaXMuX3Jvd1NpemV9X2ZpbGxQcmVjYWxjdWxhdGVkQXV0b3NjYWxlSW5mbyh0KXtjb25zdCBlPSgwLGwuZW1wdHlQcmVjYWxjdWxhdGVkQXV0b3NjYWxlSW5mbykoKSxvPXRoaXMuX3Jvd1NpemU7aWYobnVsbD09PW8pcmV0dXJuIGU7Y29uc3R7c3RhcnRUaW1lUG9pbnQ6aSxlbmRUaW1lUG9pbnQ6cn09dCxuPXRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkuYmFycygpLm1pbk1heE9uUmFuZ2UoaSxyLFt7bmFtZToibG93IixvZmZzZXQ6MH0se25hbWU6ImhpZ2giLG9mZnNldDowfV0pO2lmKCFuKXJldHVybiBlO2NvbnN0e21pbjphLG1heDpzfT1uO2xldCB1PU1hdGguZmxvb3IoYS9vKSpvO2lmKHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnZvbEZvb3RwcmludFN0eWxlLmNoaWxkcygpLnNob3dTdW1tYXJ5LnZhbHVlKCkpe2NvbnN0IHQ9dGhpcy5tb2RlbCgpLnRpbWVTY2FsZSgpLmJhclNwYWNpbmcoKSxlPXRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpLnByaWNlVG9Db29yZGluYXRlKHUsdGhpcy5tb2RlbCgpLm1haW5TZXJpZXMoKS5maXJzdFZhbHVlKCl8fDApO3U9dGhpcy5tb2RlbCgpLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCkuY29vcmRpbmF0ZVRvUHJpY2UoZStNYXRoLmZsb29yKC40KnQpLHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkuZmlyc3RWYWx1ZSgpfHwwKX1yZXR1cm57Li4uZSxiYXNlVmFsdWVNaW5NYXg6e21pbjp1LG1heDpNYXRoLmNlaWwocy9vKSpvfX19X29uRGF0YVVwZGF0ZWQodCxlLG8saSl7c3VwZXIuX29uRGF0YVVwZGF0ZWQodCxlLG8saSksZT8uaW5kZXhlc19yZXBsYWNlfHwodGhpcy5fcm93U2l6ZT0oZT8uZGF0YSkucm93U2l6ZT8/dGhpcy5fcm93U2l6ZSl9fWFzeW5jIGZ1bmN0aW9uIEkodCl7Y29uc3QgZT1hd2FpdCgwLG4uc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuZmluZEJ5SWQoe3R5cGU6ImphdmEiLHN0dWR5SWQ6eS5zdHVkeVZvbEZvb3RwcmludElkfSksbz0oMCxpLnByZXBhcmVTdHVkeVByb3BlcnRpZXMpKGUse30sbnVsbCwoMCxuLnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLnN0dWR5VmVyc2lvbmluZygpLFtdKTtyZXR1cm4oMCxyLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVm9sdW1lRm9vdHByaW50Iix7c3R1ZHlDb25zdHJ1Y3RvcjpWLGNvbG9yUm90YXRpb25Nb2RlOiJzaGlmdCJ9KSxuZXcgVih0LG8sW10sZSxlLCExLCEwKX19LDMwNTEwMih0LGUsbyl7by5kKGUse2Jhc2VWb2x1bWVGb290cHJpbnRSb3dUaXRsZXM6KCk9PncsZXh0ZW5kZWRPcGVuSW50ZXJlc3RWb2x1bWVGb290cHJpbnRSb3dUaXRsZXM6KCk9PlYsb3BlbkludGVyZXN0Vm9sdW1lRm9vdHByaW50Um93VGl0bGVzOigpPT55fSk7dmFyIGk9byg3ODMyNTQpLHI9byg1NzA2MDMpO2NvbnN0IG49aS50KG51bGwse2NvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSJ9LG8oNzI0NjYxKSksbD1pLnQobnVsbCx7Y29udGV4dDoiVm9sdW1lRm9vdHByaW50IGJhciBzdGF0aXN0aWMgcm93IHRpdGxlIn0sbyg5MTU2NDUpKSxhPWkudChudWxsLHtjb250ZXh0OiJWb2x1bWVGb290cHJpbnQgYmFyIHN0YXRpc3RpYyByb3cgdGl0bGUifSxvKDU3MzIyNCkpLHM9aS50KG51bGwse2NvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSJ9LG8oNTMwOTMxKSksdT1pLnQobnVsbCx7Y29udGV4dDoiVm9sdW1lRm9vdHByaW50IGJhciBzdGF0aXN0aWMgcm93IHRpdGxlIn0sbyg3NDc3NzYpKSxjPWkudChudWxsLHtjb250ZXh0OiJWb2x1bWVGb290cHJpbnQgYmFyIHN0YXRpc3RpYyByb3cgdGl0bGUifSxvKDc5NDM4MCkpLHA9aS50KG51bGwse2NvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSJ9LG8oMTM5ODcwKSksZD1pLnQobnVsbCx7CmNvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSJ9LG8oMjE5MzA2KSksbT1pLnQobnVsbCx7Y29udGV4dDoiVm9sdW1lRm9vdHByaW50IGJhciBzdGF0aXN0aWMgcm93IHRpdGxlIn0sbyg4MTEwODIpKSxoPWkudChudWxsLHtjb250ZXh0OiJWb2x1bWVGb290cHJpbnQgYmFyIHN0YXRpc3RpYyByb3cgdGl0bGUifSxvKDI0OTQxKSksZj1pLnQobnVsbCx7Y29udGV4dDoiVm9sdW1lRm9vdHByaW50IGJhciBzdGF0aXN0aWMgcm93IHRpdGxlLCBhYmJyIGN1bXVsYXRpdmUgZGVsdGEifSxvKDk3MzM5NSkpLFM9aS50KG51bGwse2NvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSwgYWJiciBQb2ludCBvZiBjb250cm9sIn0sbygzNDc4NDkpKSxnPWkudChudWxsLHtjb250ZXh0OiJWb2x1bWVGb290cHJpbnQgYmFyIHN0YXRpc3RpYyByb3cgdGl0bGUsIGhpZ2gtbG93IHJhbmdlIn0sbyg4MTUyNDApKSx4PWkudChudWxsLHtjb250ZXh0OiJWb2x1bWVGb290cHJpbnQgYmFyIHN0YXRpc3RpYyByb3cgdGl0bGUifSxvKDY2OTc1MykpLHY9aS50KG51bGwse2NvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSJ9LG8oNjAwNDUzKSksYj1pLnQobnVsbCx7Y29udGV4dDoiVm9sdW1lRm9vdHByaW50IGJhciBzdGF0aXN0aWMgcm93IHRpdGxlIn0sbyg0NTY1NDIpKSx3PVt7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJWb2x1bWUiLG4pLHByb3BOYW1lOiJ2b2x1bWUifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJWb2x1bWUgY2hhbmdlLCAlIixsKSxwcm9wTmFtZToidm9sdW1lUGVyY2VudGFnZSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIkJ1eSB2b2x1bWUiLGEpLHByb3BOYW1lOiJidXlWb2x1bWUifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJCdXkgdm9sdW1lLCAlIixzKSxwcm9wTmFtZToiYnV5Vm9sdW1lUGVyY2VudGFnZSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIlNlbGwgdm9sdW1lIix1KSxwcm9wTmFtZToic2VsbFZvbHVtZSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIlNlbGwgdm9sdW1lLCAlIixjKSxwcm9wTmFtZToic2VsbFZvbHVtZVBlcmNlbnRhZ2UifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJEZWx0YSIscCkscHJvcE5hbWU6ImRlbHRhIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiRGVsdGEsICUiLGQpLHByb3BOYW1lOiJkZWx0YVBlcmNlbnRhZ2UifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJNaW4gZGVsdGEiLG0pLHByb3BOYW1lOiJtaW5EZWx0YSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIk1heCBkZWx0YSIsaCkscHJvcE5hbWU6Im1heERlbHRhIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiU2Vzc2lvbiBDVkQiLGYpLHByb3BOYW1lOiJzZXNzaW9uQ1ZEIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiUE9DIixTKSxwcm9wTmFtZToicG9jUHJpY2UifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJITCBSYW5nZSIsZykscHJvcE5hbWU6ImhsUmFuZ2UifV0seT1be3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiT3BlbiBpbnRlcmVzdCIseCkscHJvcE5hbWU6Im9wZW5JbnRlcmVzdCJ9XSxWPVt7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJPcGVuIGludGVyZXN0IGhpZ2giLHYpLHByb3BOYW1lOiJvcGVuSW50ZXJlc3RIaWdoIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiT3BlbiBpbnRlcmVzdCBsb3ciLGIpLHByb3BOYW1lOiJvcGVuSW50ZXJlc3RMb3cifV19LDczNzM3MSh0LGUsbyl7by5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBpPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBvLGk9LTEscj10Lmxlbmd0aDsrK2k8cjspe3ZhciBuPWUodFtpXSk7dm9pZCAwIT09biYmKG89dm9pZCAwPT09bz9uOm8rbil9cmV0dXJuIG99O3ZhciByPW8oMjMyODU0KTtjb25zdCBuPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lmxlbmd0aD9pKHQsci5kZWZhdWx0KTowfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80915.69404fda8aafc2742c55.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.157Z","timestamp":1785141585157,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/80915.69404fda8aafc2742c55.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a102262-2b32\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 22 May 2026 09:31:14 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.53\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/22/2026 10:43:51\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 36dd80522b6c7f22c0b7dad3c1570b40\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":11058,"size_decoded":4760,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"de2945c844b995a4434f72c9e9f10d55","sha1":"dfa0f41fd695f4ab2068af223864f90085590f09","sha256":"29df78da8b43b5048b57229594ed6f3ad79785773f63f3001a604d1a17a206e7","sha512":"e000d576b22c638622179b6cd5b5e72b9e95c90f191dce058a700842f4ab620ffa60fabfd70814866ae1686b778f1fb6384117e7bf0c4d1c66af5945324c2137","ssdeep":"192:zD6UcCbe+/OzNJUFPphLnY8P8hfJnubwbwShMj:SUcX+/OuPphLehfJnpMShMj","tlshash":"bd32a559b2a0b02595cf6760c02f150aa2752019f70d98d4f69ed9ea3db076f213be3d","first_seen":"2026-05-22T13:27:07.587764Z","last_seen":"2026-07-27T12:48:39.608917Z","times_seen":182,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbODA5MTVdLHs2ODA5MTUodCxlLHIpe3IuZChlLHtGaXhlZFNpemVMaXN0OigpPT56LFZhcmlhYmxlU2l6ZUxpc3Q6KCk9Pk19KTt2YXIgbj1yKDY0NDMyMCksbz1yKDMxMDIxMSksaT1yKDk0MTkyMSksYT1OdW1iZXIuaXNOYU58fGZ1bmN0aW9uKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdCYmdCE9dH07ZnVuY3Rpb24gbCh0LGUpe2lmKHQubGVuZ3RoIT09ZS5sZW5ndGgpcmV0dXJuITE7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspaWYobj10W3JdLG89ZVtyXSwhKG49PT1vfHxhKG4pJiZhKG8pKSlyZXR1cm4hMTt2YXIgbixvO3JldHVybiEwfWNvbnN0IHM9ZnVuY3Rpb24odCxlKXt2YXIgcjt2b2lkIDA9PT1lJiYoZT1sKTt2YXIgbixvPVtdLGk9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBhPVtdLGw9MDtsPGFyZ3VtZW50cy5sZW5ndGg7bCsrKWFbbF09YXJndW1lbnRzW2xdO3JldHVybiBpJiZyPT09dGhpcyYmZShhLG8pfHwobj10LmFwcGx5KHRoaXMsYSksaT0hMCxyPXRoaXMsbz1hKSxufX07dmFyIGM9cig3Nzk0NzQpLHU9Im9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmImZ1bmN0aW9uIj09dHlwZW9mIHBlcmZvcm1hbmNlLm5vdz9mdW5jdGlvbigpe3JldHVybiBwZXJmb3JtYW5jZS5ub3coKX06ZnVuY3Rpb24oKXtyZXR1cm4gRGF0ZS5ub3coKX07ZnVuY3Rpb24gZih0KXtjYW5jZWxBbmltYXRpb25GcmFtZSh0LmlkKX1mdW5jdGlvbiBkKHQsZSl7dmFyIHI9dSgpO3ZhciBuPXtpZDpyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uIG8oKXt1KCktcj49ZT90LmNhbGwobnVsbCk6bi5pZD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUobyl9KSl9O3JldHVybiBufXZhciBoPW51bGw7ZnVuY3Rpb24gcCh0KXtpZih2b2lkIDA9PT10JiYodD0hMSksbnVsbD09PWh8fHQpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHI9ZS5zdHlsZTtyLndpZHRoPSI1MHB4IixyLmhlaWdodD0iNTBweCIsci5vdmVyZmxvdz0ic2Nyb2xsIixyLmRpcmVjdGlvbj0icnRsIjt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxvPW4uc3R5bGU7cmV0dXJuIG8ud2lkdGg9IjEwMHB4IixvLmhlaWdodD0iMTAwcHgiLGUuYXBwZW5kQ2hpbGQobiksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlKSxlLnNjcm9sbExlZnQ+MD9oPSJwb3NpdGl2ZS1kZXNjZW5kaW5nIjooZS5zY3JvbGxMZWZ0PTEsaD0wPT09ZS5zY3JvbGxMZWZ0PyJuZWdhdGl2ZSI6InBvc2l0aXZlLWFzY2VuZGluZyIpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZSksaH1yZXR1cm4gaH12YXIgbT1mdW5jdGlvbih0LGUpe3JldHVybiB0fTtmdW5jdGlvbiB2KHQpe3ZhciBlLHIsYT10LmdldEl0ZW1PZmZzZXQsbD10LmdldEVzdGltYXRlZFRvdGFsU2l6ZSx1PXQuZ2V0SXRlbVNpemUsaD10LmdldE9mZnNldEZvckluZGV4QW5kQWxpZ25tZW50LHY9dC5nZXRTdGFydEluZGV4Rm9yT2Zmc2V0LFM9dC5nZXRTdG9wSW5kZXhGb3JTdGFydEluZGV4LEk9dC5pbml0SW5zdGFuY2VQcm9wcyxfPXQuc2hvdWxkUmVzZXRTdHlsZUNhY2hlT25JdGVtU2l6ZUNoYW5nZSx5PXQudmFsaWRhdGVQcm9wcztyZXR1cm4gcj1lPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dmFyIHI7cmV0dXJuKHI9dC5jYWxsKHRoaXMsZSl8fHRoaXMpLl9pbnN0YW5jZVByb3BzPUkoci5wcm9wcywoMCxpLmRlZmF1bHQpKCgwLGkuZGVmYXVsdCkocikpKSxyLl9vdXRlclJlZj12b2lkIDAsci5fcmVzZXRJc1Njcm9sbGluZ1RpbWVvdXRJZD1udWxsLHIuc3RhdGU9e2luc3RhbmNlOigwLGkuZGVmYXVsdCkoKDAsaS5kZWZhdWx0KShyKSksaXNTY3JvbGxpbmc6ITEsc2Nyb2xsRGlyZWN0aW9uOiJmb3J3YXJkIixzY3JvbGxPZmZzZXQ6Im51bWJlciI9PXR5cGVvZiByLnByb3BzLmluaXRpYWxTY3JvbGxPZmZzZXQ/ci5wcm9wcy5pbml0aWFsU2Nyb2xsT2Zmc2V0OjAsc2Nyb2xsVXBkYXRlV2FzUmVxdWVzdGVkOiExfSxyLl9jYWxsT25JdGVtc1JlbmRlcmVkPXZvaWQgMCxyLl9jYWxsT25JdGVtc1JlbmRlcmVkPXMoKGZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybiByLnByb3BzLm9uSXRlbXNSZW5kZXJlZCh7b3ZlcnNjYW5TdGFydEluZGV4OnQsb3ZlcnNjYW5TdG9wSW5kZXg6ZSx2aXNpYmxlU3RhcnRJbmRleDpuLHZpc2libGVTdG9wSW5kZXg6b30pfSkpLHIuX2NhbGxPblNjcm9sbD12b2lkIDAsci5fY2FsbE9uU2Nyb2xsPXMoKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gci5wcm9wcy5vblNjcm9sbCh7c2Nyb2xsRGlyZWN0aW9uOnQsc2Nyb2xsT2Zmc2V0OmUsc2Nyb2xsVXBkYXRlV2FzUmVxdWVzdGVkOm59KX0pKSxyLl9nZXRJdGVtU3R5bGU9dm9pZCAwLHIuX2dldEl0ZW1TdHlsZT1mdW5jdGlvbih0KXt2YXIgZSxuPXIucHJvcHMsbz1uLmRpcmVjdGlvbixpPW4uaXRlbVNpemUsbD1uLmxheW91dCxzPXIuX2dldEl0ZW1TdHlsZUNhY2hlKF8mJmksXyYmbCxfJiZvKTtpZihzLmhhc093blByb3BlcnR5KHQpKWU9c1t0XTtlbHNle3ZhciBjPWEoci5wcm9wcyx0LHIuX2luc3RhbmNlUHJvcHMpLGY9dShyLnByb3BzLHQsci5faW5zdGFuY2VQcm9wcyksZD0iaG9yaXpvbnRhbCI9PT1vfHwiaG9yaXpvbnRhbCI9PT1sLGg9InJ0bCI9PT1vLHA9ZD9jOjA7c1t0XT1lPXtwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6aD92b2lkIDA6cCxyaWdodDpoP3A6dm9pZCAwLHRvcDpkPzA6YyxoZWlnaHQ6ZD8iMTAwJSI6Zix3aWR0aDpkP2Y6IjEwMCUifX1yZXR1cm4gZX0sci5fZ2V0SXRlbVN0eWxlQ2FjaGU9dm9pZCAwLHIuX2dldEl0ZW1TdHlsZUNhY2hlPXMoKGZ1bmN0aW9uKHQsZSxyKXtyZXR1cm57fX0pKSxyLl9vblNjcm9sbEhvcml6b250YWw9ZnVuY3Rpb24odCl7dmFyIGU9dC5jdXJyZW50VGFyZ2V0LG49ZS5jbGllbnRXaWR0aCxvPWUuc2Nyb2xsTGVmdCxpPWUuc2Nyb2xsV2lkdGg7ci5zZXRTdGF0ZSgoZnVuY3Rpb24odCl7aWYodC5zY3JvbGxPZmZzZXQ9PT1vKXJldHVybiBudWxsCjt2YXIgZT1yLnByb3BzLmRpcmVjdGlvbixhPW87aWYoInJ0bCI9PT1lKXN3aXRjaChwKCkpe2Nhc2UibmVnYXRpdmUiOmE9LW87YnJlYWs7Y2FzZSJwb3NpdGl2ZS1kZXNjZW5kaW5nIjphPWktbi1vfXJldHVybiBhPU1hdGgubWF4KDAsTWF0aC5taW4oYSxpLW4pKSx7aXNTY3JvbGxpbmc6ITAsc2Nyb2xsRGlyZWN0aW9uOnQuc2Nyb2xsT2Zmc2V0PG8/ImZvcndhcmQiOiJiYWNrd2FyZCIsc2Nyb2xsT2Zmc2V0OmEsc2Nyb2xsVXBkYXRlV2FzUmVxdWVzdGVkOiExfX0pLHIuX3Jlc2V0SXNTY3JvbGxpbmdEZWJvdW5jZWQpfSxyLl9vblNjcm9sbFZlcnRpY2FsPWZ1bmN0aW9uKHQpe3ZhciBlPXQuY3VycmVudFRhcmdldCxuPWUuY2xpZW50SGVpZ2h0LG89ZS5zY3JvbGxIZWlnaHQsaT1lLnNjcm9sbFRvcDtyLnNldFN0YXRlKChmdW5jdGlvbih0KXtpZih0LnNjcm9sbE9mZnNldD09PWkpcmV0dXJuIG51bGw7dmFyIGU9TWF0aC5tYXgoMCxNYXRoLm1pbihpLG8tbikpO3JldHVybntpc1Njcm9sbGluZzohMCxzY3JvbGxEaXJlY3Rpb246dC5zY3JvbGxPZmZzZXQ8ZT8iZm9yd2FyZCI6ImJhY2t3YXJkIixzY3JvbGxPZmZzZXQ6ZSxzY3JvbGxVcGRhdGVXYXNSZXF1ZXN0ZWQ6ITF9fSksci5fcmVzZXRJc1Njcm9sbGluZ0RlYm91bmNlZCl9LHIuX291dGVyUmVmU2V0dGVyPWZ1bmN0aW9uKHQpe3ZhciBlPXIucHJvcHMub3V0ZXJSZWY7ci5fb3V0ZXJSZWY9dCwiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJiJvYmplY3QiPT10eXBlb2YgZSYmZS5oYXNPd25Qcm9wZXJ0eSgiY3VycmVudCIpJiYoZS5jdXJyZW50PXQpfSxyLl9yZXNldElzU2Nyb2xsaW5nRGVib3VuY2VkPWZ1bmN0aW9uKCl7bnVsbCE9PXIuX3Jlc2V0SXNTY3JvbGxpbmdUaW1lb3V0SWQmJmYoci5fcmVzZXRJc1Njcm9sbGluZ1RpbWVvdXRJZCksci5fcmVzZXRJc1Njcm9sbGluZ1RpbWVvdXRJZD1kKHIuX3Jlc2V0SXNTY3JvbGxpbmcsMTUwKX0sci5fcmVzZXRJc1Njcm9sbGluZz1mdW5jdGlvbigpe3IuX3Jlc2V0SXNTY3JvbGxpbmdUaW1lb3V0SWQ9bnVsbCxyLnNldFN0YXRlKHtpc1Njcm9sbGluZzohMX0sKGZ1bmN0aW9uKCl7ci5fZ2V0SXRlbVN0eWxlQ2FjaGUoLTEsbnVsbCl9KSl9LHJ9KDAsby5kZWZhdWx0KShlLHQpLGUuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGcodCxlKSx5KHQpLG51bGx9O3ZhciByPWUucHJvdG90eXBlO3JldHVybiByLnNjcm9sbFRvPWZ1bmN0aW9uKHQpe3Q9TWF0aC5tYXgoMCx0KSx0aGlzLnNldFN0YXRlKChmdW5jdGlvbihlKXtyZXR1cm4gZS5zY3JvbGxPZmZzZXQ9PT10P251bGw6e3Njcm9sbERpcmVjdGlvbjplLnNjcm9sbE9mZnNldDx0PyJmb3J3YXJkIjoiYmFja3dhcmQiLHNjcm9sbE9mZnNldDp0LHNjcm9sbFVwZGF0ZVdhc1JlcXVlc3RlZDohMH19KSx0aGlzLl9yZXNldElzU2Nyb2xsaW5nRGVib3VuY2VkKX0sci5zY3JvbGxUb0l0ZW09ZnVuY3Rpb24odCxlKXt2b2lkIDA9PT1lJiYoZT0iYXV0byIpO3ZhciByPXRoaXMucHJvcHMuaXRlbUNvdW50LG49dGhpcy5zdGF0ZS5zY3JvbGxPZmZzZXQ7dD1NYXRoLm1heCgwLE1hdGgubWluKHQsci0xKSksdGhpcy5zY3JvbGxUbyhoKHRoaXMucHJvcHMsdCxlLG4sdGhpcy5faW5zdGFuY2VQcm9wcykpfSxyLmNvbXBvbmVudERpZE1vdW50PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5wcm9wcyxlPXQuZGlyZWN0aW9uLHI9dC5pbml0aWFsU2Nyb2xsT2Zmc2V0LG49dC5sYXlvdXQ7aWYoIm51bWJlciI9PXR5cGVvZiByJiZudWxsIT10aGlzLl9vdXRlclJlZil7dmFyIG89dGhpcy5fb3V0ZXJSZWY7Imhvcml6b250YWwiPT09ZXx8Imhvcml6b250YWwiPT09bj9vLnNjcm9sbExlZnQ9cjpvLnNjcm9sbFRvcD1yfXRoaXMuX2NhbGxQcm9wc0NhbGxiYWNrcygpfSxyLmNvbXBvbmVudERpZFVwZGF0ZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMucHJvcHMsZT10LmRpcmVjdGlvbixyPXQubGF5b3V0LG49dGhpcy5zdGF0ZSxvPW4uc2Nyb2xsT2Zmc2V0O2lmKG4uc2Nyb2xsVXBkYXRlV2FzUmVxdWVzdGVkJiZudWxsIT10aGlzLl9vdXRlclJlZil7dmFyIGk9dGhpcy5fb3V0ZXJSZWY7aWYoImhvcml6b250YWwiPT09ZXx8Imhvcml6b250YWwiPT09cilpZigicnRsIj09PWUpc3dpdGNoKHAoKSl7Y2FzZSJuZWdhdGl2ZSI6aS5zY3JvbGxMZWZ0PS1vO2JyZWFrO2Nhc2UicG9zaXRpdmUtYXNjZW5kaW5nIjppLnNjcm9sbExlZnQ9bzticmVhaztkZWZhdWx0OnZhciBhPWkuY2xpZW50V2lkdGgsbD1pLnNjcm9sbFdpZHRoO2kuc2Nyb2xsTGVmdD1sLWEtb31lbHNlIGkuc2Nyb2xsTGVmdD1vO2Vsc2UgaS5zY3JvbGxUb3A9b310aGlzLl9jYWxsUHJvcHNDYWxsYmFja3MoKX0sci5jb21wb25lbnRXaWxsVW5tb3VudD1mdW5jdGlvbigpe251bGwhPT10aGlzLl9yZXNldElzU2Nyb2xsaW5nVGltZW91dElkJiZmKHRoaXMuX3Jlc2V0SXNTY3JvbGxpbmdUaW1lb3V0SWQpfSxyLnJlbmRlcj1mdW5jdGlvbigpe3ZhciB0PXRoaXMucHJvcHMsZT10LmNoaWxkcmVuLHI9dC5jbGFzc05hbWUsbz10LmRpcmVjdGlvbixpPXQuaGVpZ2h0LGE9dC5pbm5lclJlZixzPXQuaW5uZXJFbGVtZW50VHlwZSx1PXQuaW5uZXJUYWdOYW1lLGY9dC5pdGVtQ291bnQsZD10Lml0ZW1EYXRhLGg9dC5pdGVtS2V5LHA9dm9pZCAwPT09aD9tOmgsdj10LmxheW91dCxnPXQub3V0ZXJFbGVtZW50VHlwZSxTPXQub3V0ZXJUYWdOYW1lLEk9dC5zdHlsZSxfPXQudXNlSXNTY3JvbGxpbmcseT10LndpZHRoLE09dGhpcy5zdGF0ZS5pc1Njcm9sbGluZyx6PSJob3Jpem9udGFsIj09PW98fCJob3Jpem9udGFsIj09PXYseD16P3RoaXMuX29uU2Nyb2xsSG9yaXpvbnRhbDp0aGlzLl9vblNjcm9sbFZlcnRpY2FsLE89dGhpcy5fZ2V0UmFuZ2VUb1JlbmRlcigpLHc9T1swXSxiPU9bMV0sQz1bXTtpZihmPjApZm9yKHZhciBSPXc7Ujw9YjtSKyspQy5wdXNoKCgwLGMuY3JlYXRlRWxlbWVudCkoZSx7ZGF0YTpkLGtleTpwKFIsZCksaW5kZXg6Uixpc1Njcm9sbGluZzpfP006dm9pZCAwLHN0eWxlOnRoaXMuX2dldEl0ZW1TdHlsZShSKX0pKQo7dmFyIFQ9bCh0aGlzLnByb3BzLHRoaXMuX2luc3RhbmNlUHJvcHMpO3JldHVybigwLGMuY3JlYXRlRWxlbWVudCkoZ3x8U3x8ImRpdiIse2NsYXNzTmFtZTpyLG9uU2Nyb2xsOngscmVmOnRoaXMuX291dGVyUmVmU2V0dGVyLHN0eWxlOigwLG4uZGVmYXVsdCkoe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsaGVpZ2h0Omksd2lkdGg6eSxvdmVyZmxvdzoiYXV0byIsV2Via2l0T3ZlcmZsb3dTY3JvbGxpbmc6InRvdWNoIix3aWxsQ2hhbmdlOiJ0cmFuc2Zvcm0iLGRpcmVjdGlvbjpvfSxJKX0sKDAsYy5jcmVhdGVFbGVtZW50KShzfHx1fHwiZGl2Iix7Y2hpbGRyZW46QyxyZWY6YSxzdHlsZTp7aGVpZ2h0Ono/IjEwMCUiOlQscG9pbnRlckV2ZW50czpNPyJub25lIjp2b2lkIDAsd2lkdGg6ej9UOiIxMDAlIn19KSl9LHIuX2NhbGxQcm9wc0NhbGxiYWNrcz1mdW5jdGlvbigpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLnByb3BzLm9uSXRlbXNSZW5kZXJlZCYmdGhpcy5wcm9wcy5pdGVtQ291bnQ+MCl7dmFyIHQ9dGhpcy5fZ2V0UmFuZ2VUb1JlbmRlcigpLGU9dFswXSxyPXRbMV0sbj10WzJdLG89dFszXTt0aGlzLl9jYWxsT25JdGVtc1JlbmRlcmVkKGUscixuLG8pfWlmKCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLnByb3BzLm9uU2Nyb2xsKXt2YXIgaT10aGlzLnN0YXRlLGE9aS5zY3JvbGxEaXJlY3Rpb24sbD1pLnNjcm9sbE9mZnNldCxzPWkuc2Nyb2xsVXBkYXRlV2FzUmVxdWVzdGVkO3RoaXMuX2NhbGxPblNjcm9sbChhLGwscyl9fSxyLl9nZXRSYW5nZVRvUmVuZGVyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5wcm9wcyxlPXQuaXRlbUNvdW50LHI9dC5vdmVyc2NhbkNvdW50LG49dGhpcy5zdGF0ZSxvPW4uaXNTY3JvbGxpbmcsaT1uLnNjcm9sbERpcmVjdGlvbixhPW4uc2Nyb2xsT2Zmc2V0O2lmKDA9PT1lKXJldHVyblswLDAsMCwwXTt2YXIgbD12KHRoaXMucHJvcHMsYSx0aGlzLl9pbnN0YW5jZVByb3BzKSxzPVModGhpcy5wcm9wcyxsLGEsdGhpcy5faW5zdGFuY2VQcm9wcyksYz1vJiYiYmFja3dhcmQiIT09aT8xOk1hdGgubWF4KDEsciksdT1vJiYiZm9yd2FyZCIhPT1pPzE6TWF0aC5tYXgoMSxyKTtyZXR1cm5bTWF0aC5tYXgoMCxsLWMpLE1hdGgubWF4KDAsTWF0aC5taW4oZS0xLHMrdSkpLGwsc119LGV9KGMuUHVyZUNvbXBvbmVudCksZS5kZWZhdWx0UHJvcHM9e2RpcmVjdGlvbjoibHRyIixpdGVtRGF0YTp2b2lkIDAsbGF5b3V0OiJ2ZXJ0aWNhbCIsb3ZlcnNjYW5Db3VudDoyLHVzZUlzU2Nyb2xsaW5nOiExfSxyfXZhciBnPWZ1bmN0aW9uKHQsZSl7dC5jaGlsZHJlbix0LmRpcmVjdGlvbix0LmhlaWdodCx0LmxheW91dCx0LmlubmVyVGFnTmFtZSx0Lm91dGVyVGFnTmFtZSx0LndpZHRoLGUuaW5zdGFuY2V9LFM9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQuaXRlbVNpemUsbz1yLml0ZW1NZXRhZGF0YU1hcCxpPXIubGFzdE1lYXN1cmVkSW5kZXg7aWYoZT5pKXt2YXIgYT0wO2lmKGk+PTApe3ZhciBsPW9baV07YT1sLm9mZnNldCtsLnNpemV9Zm9yKHZhciBzPWkrMTtzPD1lO3MrKyl7dmFyIGM9bihzKTtvW3NdPXtvZmZzZXQ6YSxzaXplOmN9LGErPWN9ci5sYXN0TWVhc3VyZWRJbmRleD1lfXJldHVybiBvW2VdfSxJPWZ1bmN0aW9uKHQsZSxyLG4sbyl7Zm9yKDtuPD1yOyl7dmFyIGk9bitNYXRoLmZsb29yKChyLW4pLzIpLGE9Uyh0LGksZSkub2Zmc2V0O2lmKGE9PT1vKXJldHVybiBpO2E8bz9uPWkrMTphPm8mJihyPWktMSl9cmV0dXJuIG4+MD9uLTE6MH0sXz1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIG89dC5pdGVtQ291bnQsaT0xO3I8byYmUyh0LHIsZSkub2Zmc2V0PG47KXIrPWksaSo9MjtyZXR1cm4gSSh0LGUsTWF0aC5taW4ocixvLTEpLE1hdGguZmxvb3Ioci8yKSxuKX0seT1mdW5jdGlvbih0LGUpe3ZhciByPXQuaXRlbUNvdW50LG49ZS5pdGVtTWV0YWRhdGFNYXAsbz1lLmVzdGltYXRlZEl0ZW1TaXplLGk9ZS5sYXN0TWVhc3VyZWRJbmRleCxhPTA7aWYoaT49ciYmKGk9ci0xKSxpPj0wKXt2YXIgbD1uW2ldO2E9bC5vZmZzZXQrbC5zaXplfXJldHVybiBhKyhyLWktMSkqb30sTT12KHtnZXRJdGVtT2Zmc2V0OmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gUyh0LGUscikub2Zmc2V0fSxnZXRJdGVtU2l6ZTpmdW5jdGlvbih0LGUscil7cmV0dXJuIHIuaXRlbU1ldGFkYXRhTWFwW2VdLnNpemV9LGdldEVzdGltYXRlZFRvdGFsU2l6ZTp5LGdldE9mZnNldEZvckluZGV4QW5kQWxpZ25tZW50OmZ1bmN0aW9uKHQsZSxyLG4sbyl7dmFyIGk9dC5kaXJlY3Rpb24sYT10LmhlaWdodCxsPXQubGF5b3V0LHM9dC53aWR0aCxjPSJob3Jpem9udGFsIj09PWl8fCJob3Jpem9udGFsIj09PWw/czphLHU9Uyh0LGUsbyksZj15KHQsbyksZD1NYXRoLm1heCgwLE1hdGgubWluKGYtYyx1Lm9mZnNldCkpLGg9TWF0aC5tYXgoMCx1Lm9mZnNldC1jK3Uuc2l6ZSk7c3dpdGNoKCJzbWFydCI9PT1yJiYocj1uPj1oLWMmJm48PWQrYz8iYXV0byI6ImNlbnRlciIpLHIpe2Nhc2Uic3RhcnQiOnJldHVybiBkO2Nhc2UiZW5kIjpyZXR1cm4gaDtjYXNlImNlbnRlciI6cmV0dXJuIE1hdGgucm91bmQoaCsoZC1oKS8yKTtkZWZhdWx0OnJldHVybiBuPj1oJiZuPD1kP246bjxoP2g6ZH19LGdldFN0YXJ0SW5kZXhGb3JPZmZzZXQ6ZnVuY3Rpb24odCxlLHIpe3JldHVybiBmdW5jdGlvbih0LGUscil7dmFyIG49ZS5pdGVtTWV0YWRhdGFNYXAsbz1lLmxhc3RNZWFzdXJlZEluZGV4O3JldHVybihvPjA/bltvXS5vZmZzZXQ6MCk+PXI/SSh0LGUsbywwLHIpOl8odCxlLE1hdGgubWF4KDAsbykscil9KHQscixlKX0sZ2V0U3RvcEluZGV4Rm9yU3RhcnRJbmRleDpmdW5jdGlvbih0LGUscixuKXtmb3IodmFyIG89dC5kaXJlY3Rpb24saT10LmhlaWdodCxhPXQuaXRlbUNvdW50LGw9dC5sYXlvdXQscz10LndpZHRoLGM9Imhvcml6b250YWwiPT09b3x8Imhvcml6b250YWwiPT09bD9zOmksdT1TKHQsZSxuKSxmPXIrYyxkPXUub2Zmc2V0K3Uuc2l6ZSxoPWU7aDxhLTEmJmQ8ZjspaCsrLGQrPVModCxoLG4pLnNpemU7cmV0dXJuIGh9LGluaXRJbnN0YW5jZVByb3BzOmZ1bmN0aW9uKHQsZSl7dmFyIHI9e2l0ZW1NZXRhZGF0YU1hcDp7fSwKZXN0aW1hdGVkSXRlbVNpemU6dC5lc3RpbWF0ZWRJdGVtU2l6ZXx8NTAsbGFzdE1lYXN1cmVkSW5kZXg6LTF9O3JldHVybiBlLnJlc2V0QWZ0ZXJJbmRleD1mdW5jdGlvbih0LG4pe3ZvaWQgMD09PW4mJihuPSEwKSxyLmxhc3RNZWFzdXJlZEluZGV4PU1hdGgubWluKHIubGFzdE1lYXN1cmVkSW5kZXgsdC0xKSxlLl9nZXRJdGVtU3R5bGVDYWNoZSgtMSksbiYmZS5mb3JjZVVwZGF0ZSgpfSxyfSxzaG91bGRSZXNldFN0eWxlQ2FjaGVPbkl0ZW1TaXplQ2hhbmdlOiExLHZhbGlkYXRlUHJvcHM6ZnVuY3Rpb24odCl7dC5pdGVtU2l6ZX19KSx6PXYoe2dldEl0ZW1PZmZzZXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZSp0Lml0ZW1TaXplfSxnZXRJdGVtU2l6ZTpmdW5jdGlvbih0LGUpe3JldHVybiB0Lml0ZW1TaXplfSxnZXRFc3RpbWF0ZWRUb3RhbFNpemU6ZnVuY3Rpb24odCl7dmFyIGU9dC5pdGVtQ291bnQ7cmV0dXJuIHQuaXRlbVNpemUqZX0sZ2V0T2Zmc2V0Rm9ySW5kZXhBbmRBbGlnbm1lbnQ6ZnVuY3Rpb24odCxlLHIsbil7dmFyIG89dC5kaXJlY3Rpb24saT10LmhlaWdodCxhPXQuaXRlbUNvdW50LGw9dC5pdGVtU2l6ZSxzPXQubGF5b3V0LGM9dC53aWR0aCx1PSJob3Jpem9udGFsIj09PW98fCJob3Jpem9udGFsIj09PXM/YzppLGY9TWF0aC5tYXgoMCxhKmwtdSksZD1NYXRoLm1pbihmLGUqbCksaD1NYXRoLm1heCgwLGUqbC11K2wpO3N3aXRjaCgic21hcnQiPT09ciYmKHI9bj49aC11JiZuPD1kK3U/ImF1dG8iOiJjZW50ZXIiKSxyKXtjYXNlInN0YXJ0IjpyZXR1cm4gZDtjYXNlImVuZCI6cmV0dXJuIGg7Y2FzZSJjZW50ZXIiOnZhciBwPU1hdGgucm91bmQoaCsoZC1oKS8yKTtyZXR1cm4gcDxNYXRoLmNlaWwodS8yKT8wOnA+ZitNYXRoLmZsb29yKHUvMik/ZjpwO2RlZmF1bHQ6cmV0dXJuIG4+PWgmJm48PWQ/bjpuPGg/aDpkfX0sZ2V0U3RhcnRJbmRleEZvck9mZnNldDpmdW5jdGlvbih0LGUpe3ZhciByPXQuaXRlbUNvdW50LG49dC5pdGVtU2l6ZTtyZXR1cm4gTWF0aC5tYXgoMCxNYXRoLm1pbihyLTEsTWF0aC5mbG9vcihlL24pKSl9LGdldFN0b3BJbmRleEZvclN0YXJ0SW5kZXg6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQuZGlyZWN0aW9uLG89dC5oZWlnaHQsaT10Lml0ZW1Db3VudCxhPXQuaXRlbVNpemUsbD10LmxheW91dCxzPXQud2lkdGgsYz1lKmEsdT0iaG9yaXpvbnRhbCI9PT1ufHwiaG9yaXpvbnRhbCI9PT1sP3M6byxmPU1hdGguY2VpbCgodStyLWMpL2EpO3JldHVybiBNYXRoLm1heCgwLE1hdGgubWluKGktMSxlK2YtMSkpfSxpbml0SW5zdGFuY2VQcm9wczpmdW5jdGlvbih0KXt9LHNob3VsZFJlc2V0U3R5bGVDYWNoZU9uSXRlbVNpemVDaGFuZ2U6ITAsdmFsaWRhdGVQcm9wczpmdW5jdGlvbih0KXt0Lml0ZW1TaXplfX0pfSw5NDE5MjEodCxlLHIpe2Z1bmN0aW9uIG4odCl7aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZCIpO3JldHVybiB0fXIuZChlLHtkZWZhdWx0OigpPT5ufSl9LDMxMDIxMSh0LGUscil7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDY0MzMwMik7ZnVuY3Rpb24gbyh0LGUpe3QucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUpLHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPXQsKDAsbi5kZWZhdWx0KSh0LGUpfX0sNjQzMzAyKHQsZSxyKXtmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIG49T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5fX3Byb3RvX189ZSx0fSxuKHQsZSl9ci5kKGUse2RlZmF1bHQ6KCk9Pm59KX19XSk7"}},"time_used":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":"oxlofttrd.com/wp-content/themes/ashley/assets/js/ScrollTrigger.js?ver=1.0.0","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.908Z","timestamp":1785141582908,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/themes/ashley/assets/js/ScrollTrigger.js?ver=1.0.0 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:55:08 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 17651\r\nKeep-Alive: timeout=5, max=98\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":43379,"size_decoded":18017,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (43088)","md5":"34a6ec6506140cc3c2294ac505353877","sha1":"025f089a5e93ce43a8bf0480504ad064f1369e51","sha256":"1689c1a15d71ec9e9d6e4f19b81b88b245b184d55dc0d2f73a3c204d5d897957","sha512":"03d5cf00c2c788673cead2628f1d14fe47ae8ec05eef56381eb8a895def8111d4568ca3630d007d14f2f2b2ed38c65f804da5c42c9b588800c163f7936624ea1","ssdeep":"768:L+5LHpwfVyb83wG/B/nE306RAHdAIsxmAK31horUp4h:apqgo3wKB/nKRAHOIKS3TjA","tlshash":"cf1309ca3244b03267df627aa52f030a733654d9291e4464f266e4e83c7d5bc873be6d","first_seen":"2024-11-08T21:22:28.317113Z","last_seen":"2026-07-27T12:12:28.797873Z","times_seen":690,"resource_available":true,"data":"LyohCiAqIFNjcm9sbFRyaWdnZXIgMy4xMi41CiAqIGh0dHBzOi8vZ3NhcC5jb20KICogCiAqIEBsaWNlbnNlIENvcHlyaWdodCAyMDI0LCBHcmVlblNvY2suIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqIFN1YmplY3QgdG8gdGhlIHRlcm1zIGF0IGh0dHBzOi8vZ3NhcC5jb20vc3RhbmRhcmQtbGljZW5zZSBvciBmb3IgQ2x1YiBHU0FQIG1lbWJlcnMsIHRoZSBhZ3JlZW1lbnQgaXNzdWVkIHdpdGggdGhhdCBtZW1iZXJzaGlwLgogKiBAYXV0aG9yOiBKYWNrIERveWxlLCBqYWNrQGdyZWVuc29jay5jb20KICovCgohZnVuY3Rpb24oZSx0KXsib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlP3QoZXhwb3J0cyk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJleHBvcnRzIl0sdCk6dCgoZT1lfHxzZWxmKS53aW5kb3c9ZS53aW5kb3d8fHt9KX0odGhpcyxmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXMoZSx0KXtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG49dFtyXTtuLmVudW1lcmFibGU9bi5lbnVtZXJhYmxlfHwhMSxuLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gbiYmKG4ud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4ua2V5LG4pfX1mdW5jdGlvbiByKCl7cmV0dXJuIENlfHwidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmKENlPXdpbmRvdy5nc2FwKSYmQ2UucmVnaXN0ZXJQbHVnaW4mJkNlfWZ1bmN0aW9uIHooZSx0KXtyZXR1cm5+TGUuaW5kZXhPZihlKSYmTGVbTGUuaW5kZXhPZihlKSsxXVt0XX1mdW5jdGlvbiBBKGUpe3JldHVybiEhfnQuaW5kZXhPZihlKX1mdW5jdGlvbiBCKGUsdCxyLG4sbyl7cmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcih0LHIse3Bhc3NpdmU6ITEhPT1uLGNhcHR1cmU6ISFvfSl9ZnVuY3Rpb24gQyhlLHQscixuKXtyZXR1cm4gZS5yZW1vdmVFdmVudExpc3RlbmVyKHQsciwhIW4pfWZ1bmN0aW9uIEYoKXtyZXR1cm4gRGUmJkRlLmlzUHJlc3NlZHx8SWUuY2FjaGUrK31mdW5jdGlvbiBHKHIsbil7ZnVuY3Rpb24gZGQoZSl7aWYoZXx8MD09PWUpe28mJihTZS5oaXN0b3J5LnNjcm9sbFJlc3RvcmF0aW9uPSJtYW51YWwiKTt2YXIgdD1EZSYmRGUuaXNQcmVzc2VkO2U9ZGQudj1NYXRoLnJvdW5kKGUpfHwoRGUmJkRlLmlPUz8xOjApLHIoZSksZGQuY2FjaGVJRD1JZS5jYWNoZSx0JiZpKCJzcyIsZSl9ZWxzZShufHxJZS5jYWNoZSE9PWRkLmNhY2hlSUR8fGkoInJlZiIpKSYmKGRkLmNhY2hlSUQ9SWUuY2FjaGUsZGQudj1yKCkpO3JldHVybiBkZC52K2RkLm9mZnNldH1yZXR1cm4gZGQub2Zmc2V0PTAsciYmZGR9ZnVuY3Rpb24gSihlLHQpe3JldHVybih0JiZ0Ll9jdHgmJnQuX2N0eC5zZWxlY3Rvcnx8Q2UudXRpbHMudG9BcnJheSkoZSlbMF18fCgic3RyaW5nIj09dHlwZW9mIGUmJiExIT09Q2UuY29uZmlnKCkubnVsbFRhcmdldFdhcm4/Y29uc29sZS53YXJuKCJFbGVtZW50IG5vdCBmb3VuZDoiLGUpOm51bGwpfWZ1bmN0aW9uIEsodCxlKXt2YXIgcj1lLnMsbj1lLnNjO0EodCkmJih0PWtlLnNjcm9sbGluZ0VsZW1lbnR8fFBlKTt2YXIgbz1JZS5pbmRleE9mKHQpLGk9bj09PUZlLnNjPzE6Mjt+b3x8KG89SWUucHVzaCh0KS0xKSxJZVtvK2ldfHxCKHQsInNjcm9sbCIsRik7dmFyIGE9SWVbbytpXSxzPWF8fChJZVtvK2ldPUcoeih0LHIpLCEwKXx8KEEodCk/bjpHKGZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3Rbcl09ZTp0W3JdfSkpKTtyZXR1cm4gcy50YXJnZXQ9dCxhfHwocy5zbW9vdGg9InNtb290aCI9PT1DZS5nZXRQcm9wZXJ0eSh0LCJzY3JvbGxCZWhhdmlvciIpKSxzfWZ1bmN0aW9uIEwoZSx0LG8pe2Z1bmN0aW9uIENkKGUsdCl7dmFyIHI9emUoKTt0fHxuPHItcz8oYT1pLGk9ZSxsPXMscz1yKTpvP2krPWU6aT1hKyhlLWEpLyhyLWwpKihzLWwpfXZhciBpPWUsYT1lLHM9emUoKSxsPXMsbj10fHw1MCxjPU1hdGgubWF4KDUwMCwzKm4pO3JldHVybnt1cGRhdGU6Q2QscmVzZXQ6ZnVuY3Rpb24gcmVzZXQoKXthPWk9bz8wOmksbD1zPTB9LGdldFZlbG9jaXR5OmZ1bmN0aW9uIGdldFZlbG9jaXR5KGUpe3ZhciB0PWwscj1hLG49emUoKTtyZXR1cm4hZSYmMCE9PWV8fGU9PT1pfHxDZChlKSxzPT09bHx8YzxuLWw/MDooaSsobz9yOi1yKSkvKChvP246cyktdCkqMWUzfX19ZnVuY3Rpb24gTShlLHQpe3JldHVybiB0JiYhZS5fZ3NhcEFsbG93JiZlLnByZXZlbnREZWZhdWx0KCksZS5jaGFuZ2VkVG91Y2hlcz9lLmNoYW5nZWRUb3VjaGVzWzBdOmV9ZnVuY3Rpb24gTihlKXt2YXIgdD1NYXRoLm1heC5hcHBseShNYXRoLGUpLHI9TWF0aC5taW4uYXBwbHkoTWF0aCxlKTtyZXR1cm4gTWF0aC5hYnModCk+PU1hdGguYWJzKHIpP3Q6cn1mdW5jdGlvbiBPKCl7KEFlPUNlLmNvcmUuZ2xvYmFscygpLlNjcm9sbFRyaWdnZXIpJiZBZS5jb3JlJiZmdW5jdGlvbiBfaW50ZWdyYXRlKCl7dmFyIGU9QWUuY29yZSxyPWUuYnJpZGdlfHx7fSx0PWUuX3Njcm9sbGVycyxuPWUuX3Byb3hpZXM7dC5wdXNoLmFwcGx5KHQsSWUpLG4ucHVzaC5hcHBseShuLExlKSxJZT10LExlPW4saT1mdW5jdGlvbiBfYnJpZGdlKGUsdCl7cmV0dXJuIHJbZV0odCl9fSgpfWZ1bmN0aW9uIFAoZSl7cmV0dXJuIENlPWV8fHIoKSwhVGUmJkNlJiYidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiZkb2N1bWVudC5ib2R5JiYoU2U9d2luZG93LFBlPShrZT1kb2N1bWVudCkuZG9jdW1lbnRFbGVtZW50LE1lPWtlLmJvZHksdD1bU2Usa2UsUGUsTWVdLENlLnV0aWxzLmNsYW1wLEJlPUNlLmNvcmUuY29udGV4dHx8ZnVuY3Rpb24oKXt9LE9lPSJvbnBvaW50ZXJlbnRlciJpbiBNZT8icG9pbnRlciI6Im1vdXNlIixFZT1rLmlzVG91Y2g9U2UubWF0Y2hNZWRpYSYmU2UubWF0Y2hNZWRpYSgiKGhvdmVyOiBub25lKSwgKHBvaW50ZXI6IGNvYXJzZSkiKS5tYXRjaGVzPzE6Im9udG91Y2hzdGFydCJpbiBTZXx8MDxuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHN8fDA8bmF2aWdhdG9yLm1zTWF4VG91Y2hQb2ludHM/MjowLFJlPWsuZXZlbnRUeXBlcz0oIm9udG91Y2hzdGFydCJpbiBQZT8idG91Y2hzdGFydCx0b3VjaG1vdmUsdG91Y2hjYW5jZWwsdG91Y2hlbmQiOiJvbnBvaW50ZXJkb3duImluIFBlPyJwb2ludGVyZG93bixwb2ludGVybW92ZSxwb2ludGVyY2FuY2VsLHBvaW50ZXJ1cCI6Im1vdXNlZG93bixtb3VzZW1vdmUsbW91c2V1cCxtb3VzZXVwIikuc3BsaXQoIiwiKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIG89MH0sNTAwKSxPKCksVGU9MSksVGV9dmFyIENlLFRlLFNlLGtlLFBlLE1lLEVlLE9lLEFlLHQsRGUsUmUsQmUsbz0xLHFlPVtdLEllPVtdLExlPVtdLHplPURhdGUubm93LGk9ZnVuY3Rpb24gX2JyaWRnZShlLHQpe3JldHVybiB0fSxuPSJzY3JvbGxMZWZ0IixhPSJzY3JvbGxUb3AiLFllPXtzOm4scDoibGVmdCIscDI6IkxlZnQiLG9zOiJyaWdodCIsb3MyOiJSaWdodCIsZDoid2lkdGgiLGQyOiJXaWR0aCIsYToieCIsc2M6RyhmdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9TZS5zY3JvbGxUbyhlLEZlLnNjKCkpOlNlLnBhZ2VYT2Zmc2V0fHxrZVtuXXx8UGVbbl18fE1lW25dfHwwfSl9LEZlPXtzOmEscDoidG9wIixwMjoiVG9wIixvczoiYm90dG9tIixvczI6IkJvdHRvbSIsZDoiaGVpZ2h0IixkMjoiSGVpZ2h0IixhOiJ5IixvcDpZZSxzYzpHKGZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP1NlLnNjcm9sbFRvKFllLnNjKCksZSk6U2UucGFnZVlPZmZzZXR8fGtlW2FdfHxQZVthXXx8TWVbYV18fDB9KX07WWUub3A9RmUsSWUuY2FjaGU9MDt2YXIgaz0oT2JzZXJ2ZXIucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24gaW5pdChlKXtUZXx8UChDZSl8fGNvbnNvbGUud2FybigiUGxlYXNlIGdzYXAucmVnaXN0ZXJQbHVnaW4oT2JzZXJ2ZXIpIiksQWV8fE8oKTt2YXIgbz1lLnRvbGVyYW5jZSxhPWUuZHJhZ01pbmltdW0sdD1lLnR5cGUsaT1lLnRhcmdldCxyPWUubGluZUhlaWdodCxuPWUuZGVib3VuY2Uscz1lLnByZXZlbnREZWZhdWx0LGw9ZS5vblN0b3AsYz1lLm9uU3RvcERlbGF5LHU9ZS5pZ25vcmUsZj1lLndoZWVsU3BlZWQsZD1lLmV2ZW50LHA9ZS5vbkRyYWdTdGFydCxnPWUub25EcmFnRW5kLGg9ZS5vbkRyYWcsdj1lLm9uUHJlc3MsYj1lLm9uUmVsZWFzZSxtPWUub25SaWdodCx5PWUub25MZWZ0LHg9ZS5vblVwLHc9ZS5vbkRvd24sXz1lLm9uQ2hhbmdlWCxUPWUub25DaGFuZ2VZLFM9ZS5vbkNoYW5nZSxrPWUub25Ub2dnbGVYLEU9ZS5vblRvZ2dsZVksRD1lLm9uSG92ZXIsUj1lLm9uSG92ZXJFbmQscT1lLm9uTW92ZSxJPWUuaWdub3JlQ2hlY2ssej1lLmlzTm9ybWFsaXplcixZPWUub25HZXN0dXJlU3RhcnQsSD1lLm9uR2VzdHVyZUVuZCxYPWUub25XaGVlbCxXPWUub25FbmFibGUsVj1lLm9uRGlzYWJsZSxVPWUub25DbGljayxqPWUuc2Nyb2xsU3BlZWQsRz1lLmNhcHR1cmUsUT1lLmFsbG93Q2xpY2tzLFo9ZS5sb2NrQXhpcywkPWUub25Mb2NrQXhpcztmdW5jdGlvbiBjZigpe3JldHVybiB4ZT16ZSgpfWZ1bmN0aW9uIGRmKGUsdCl7cmV0dXJuKHNlLmV2ZW50PWUpJiZ1JiZ+dS5pbmRleE9mKGUudGFyZ2V0KXx8dCYmaGUmJiJ0b3VjaCIhPT1lLnBvaW50ZXJUeXBlfHxJJiZJKGUsdCl9ZnVuY3Rpb24gZmYoKXt2YXIgZT1zZS5kZWx0YVg9TihtZSksdD1zZS5kZWx0YVk9Tih5ZSkscj1NYXRoLmFicyhlKT49byxuPU1hdGguYWJzKHQpPj1vO1MmJihyfHxuKSYmUyhzZSxlLHQsbWUseWUpLHImJihtJiYwPHNlLmRlbHRhWCYmbShzZSkseSYmc2UuZGVsdGFYPDAmJnkoc2UpLF8mJl8oc2UpLGsmJnNlLmRlbHRhWDwwIT1sZTwwJiZrKHNlKSxsZT1zZS5kZWx0YVgsbWVbMF09bWVbMV09bWVbMl09MCksbiYmKHcmJjA8c2UuZGVsdGFZJiZ3KHNlKSx4JiZzZS5kZWx0YVk8MCYmeChzZSksVCYmVChzZSksRSYmc2UuZGVsdGFZPDAhPWNlPDAmJkUoc2UpLGNlPXNlLmRlbHRhWSx5ZVswXT15ZVsxXT15ZVsyXT0wKSwobmV8fHJlKSYmKHEmJnEoc2UpLHJlJiYoaChzZSkscmU9ITEpLG5lPSExKSxpZSYmIShpZT0hMSkmJiQmJiQoc2UpLG9lJiYoWChzZSksb2U9ITEpLGVlPTB9ZnVuY3Rpb24gZ2YoZSx0LHIpe21lW3JdKz1lLHllW3JdKz10LHNlLl92eC51cGRhdGUoZSksc2UuX3Z5LnVwZGF0ZSh0KSxuP2VlPWVlfHxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZmYpOmZmKCl9ZnVuY3Rpb24gaGYoZSx0KXtaJiYhYWUmJihzZS5heGlzPWFlPU1hdGguYWJzKGUpPk1hdGguYWJzKHQpPyJ4IjoieSIsaWU9ITApLCJ5IiE9PWFlJiYobWVbMl0rPWUsc2UuX3Z4LnVwZGF0ZShlLCEwKSksIngiIT09YWUmJih5ZVsyXSs9dCxzZS5fdnkudXBkYXRlKHQsITApKSxuP2VlPWVlfHxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZmYpOmZmKCl9ZnVuY3Rpb24gamYoZSl7aWYoIWRmKGUsMSkpe3ZhciB0PShlPU0oZSxzKSkuY2xpZW50WCxyPWUuY2xpZW50WSxuPXQtc2UueCxvPXItc2UueSxpPXNlLmlzRHJhZ2dpbmc7c2UueD10LHNlLnk9ciwoaXx8TWF0aC5hYnMoc2Uuc3RhcnRYLXQpPj1hfHxNYXRoLmFicyhzZS5zdGFydFktcik+PWEpJiYoaCYmKHJlPSEwKSxpfHwoc2UuaXNEcmFnZ2luZz0hMCksaGYobixvKSxpfHxwJiZwKHNlKSl9fWZ1bmN0aW9uIG1mKGUpe3JldHVybiBlLnRvdWNoZXMmJjE8ZS50b3VjaGVzLmxlbmd0aCYmKHNlLmlzR2VzdHVyaW5nPSEwKSYmWShlLHNlLmlzRHJhZ2dpbmcpfWZ1bmN0aW9uIG5mKCl7cmV0dXJuKHNlLmlzR2VzdHVyaW5nPSExKXx8SChzZSl9ZnVuY3Rpb24gb2YoZSl7aWYoIWRmKGUpKXt2YXIgdD1mZSgpLHI9ZGUoKTtnZigodC1wZSkqaiwoci1nZSkqaiwxKSxwZT10LGdlPXIsbCYmdGUucmVzdGFydCghMCl9fWZ1bmN0aW9uIHBmKGUpe2lmKCFkZihlKSl7ZT1NKGUscyksWCYmKG9lPSEwKTt2YXIgdD0oMT09PWUuZGVsdGFNb2RlP3I6Mj09PWUuZGVsdGFNb2RlP1NlLmlubmVySGVpZ2h0OjEpKmY7Z2YoZS5kZWx0YVgqdCxlLmRlbHRhWSp0LDApLGwmJiF6JiZ0ZS5yZXN0YXJ0KCEwKX19ZnVuY3Rpb24gcWYoZSl7aWYoIWRmKGUpKXt2YXIgdD1lLmNsaWVudFgscj1lLmNsaWVudFksbj10LXNlLngsbz1yLXNlLnk7c2UueD10LHNlLnk9cixuZT0hMCxsJiZ0ZS5yZXN0YXJ0KCEwKSwobnx8bykmJmhmKG4sbyl9fWZ1bmN0aW9uIHJmKGUpe3NlLmV2ZW50PWUsRChzZSl9ZnVuY3Rpb24gc2YoZSl7c2UuZXZlbnQ9ZSxSKHNlKX1mdW5jdGlvbiB0ZihlKXtyZXR1cm4gZGYoZSl8fE0oZSxzKSYmVShzZSl9dGhpcy50YXJnZXQ9aT1KKGkpfHxQZSx0aGlzLnZhcnM9ZSx1PXUmJkNlLnV0aWxzLnRvQXJyYXkodSksbz1vfHwxZS05LGE9YXx8MCxmPWZ8fDEsaj1qfHwxLHQ9dHx8IndoZWVsLHRvdWNoLHBvaW50ZXIiLG49ITEhPT1uLHI9cnx8cGFyc2VGbG9hdChTZS5nZXRDb21wdXRlZFN0eWxlKE1lKS5saW5lSGVpZ2h0KXx8MjI7dmFyIGVlLHRlLHJlLG5lLG9lLGllLGFlLHNlPXRoaXMsbGU9MCxjZT0wLHVlPWUucGFzc2l2ZXx8IXMsZmU9SyhpLFllKSxkZT1LKGksRmUpLHBlPWZlKCksZ2U9ZGUoKSxoZT1+dC5pbmRleE9mKCJ0b3VjaCIpJiYhfnQuaW5kZXhPZigicG9pbnRlciIpJiYicG9pbnRlcmRvd24iPT09UmVbMF0sdmU9QShpKSxiZT1pLm93bmVyRG9jdW1lbnR8fGtlLG1lPVswLDAsMF0seWU9WzAsMCwwXSx4ZT0wLHdlPXNlLm9uUHJlc3M9ZnVuY3Rpb24oZSl7ZGYoZSwxKXx8ZSYmZS5idXR0b258fChzZS5heGlzPWFlPW51bGwsdGUucGF1c2UoKSxzZS5pc1ByZXNzZWQ9ITAsZT1NKGUpLGxlPWNlPTAsc2Uuc3RhcnRYPXNlLng9ZS5jbGllbnRYLHNlLnN0YXJ0WT1zZS55PWUuY2xpZW50WSxzZS5fdngucmVzZXQoKSxzZS5fdnkucmVzZXQoKSxCKHo/aTpiZSxSZVsxXSxqZix1ZSwhMCksc2UuZGVsdGFYPXNlLmRlbHRhWT0wLHYmJnYoc2UpKX0sX2U9c2Uub25SZWxlYXNlPWZ1bmN0aW9uKHQpe2lmKCFkZih0LDEpKXtDKHo/aTpiZSxSZVsxXSxqZiwhMCk7dmFyIGU9IWlzTmFOKHNlLnktc2Uuc3RhcnRZKSxyPXNlLmlzRHJhZ2dpbmcsbj1yJiYoMzxNYXRoLmFicyhzZS54LXNlLnN0YXJ0WCl8fDM8TWF0aC5hYnMoc2UueS1zZS5zdGFydFkpKSxvPU0odCk7IW4mJmUmJihzZS5fdngucmVzZXQoKSxzZS5fdnkucmVzZXQoKSxzJiZRJiZDZS5kZWxheWVkQ2FsbCguMDgsZnVuY3Rpb24oKXtpZigzMDA8emUoKS14ZSYmIXQuZGVmYXVsdFByZXZlbnRlZClpZih0LnRhcmdldC5jbGljayl0LnRhcmdldC5jbGljaygpO2Vsc2UgaWYoYmUuY3JlYXRlRXZlbnQpe3ZhciBlPWJlLmNyZWF0ZUV2ZW50KCJNb3VzZUV2ZW50cyIpO2UuaW5pdE1vdXNlRXZlbnQoImNsaWNrIiwhMCwhMCxTZSwxLG8uc2NyZWVuWCxvLnNjcmVlblksby5jbGllbnRYLG8uY2xpZW50WSwhMSwhMSwhMSwhMSwwLG51bGwpLHQudGFyZ2V0LmRpc3BhdGNoRXZlbnQoZSl9fSkpLHNlLmlzRHJhZ2dpbmc9c2UuaXNHZXN0dXJpbmc9c2UuaXNQcmVzc2VkPSExLGwmJnImJiF6JiZ0ZS5yZXN0YXJ0KCEwKSxnJiZyJiZnKHNlKSxiJiZiKHNlLG4pfX07dGU9c2UuX2RjPUNlLmRlbGF5ZWRDYWxsKGN8fC4yNSxmdW5jdGlvbiBvblN0b3BGdW5jKCl7c2UuX3Z4LnJlc2V0KCksc2UuX3Z5LnJlc2V0KCksdGUucGF1c2UoKSxsJiZsKHNlKX0pLnBhdXNlKCksc2UuZGVsdGFYPXNlLmRlbHRhWT0wLHNlLl92eD1MKDAsNTAsITApLHNlLl92eT1MKDAsNTAsITApLHNlLnNjcm9sbFg9ZmUsc2Uuc2Nyb2xsWT1kZSxzZS5pc0RyYWdnaW5nPXNlLmlzR2VzdHVyaW5nPXNlLmlzUHJlc3NlZD0hMSxCZSh0aGlzKSxzZS5lbmFibGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHNlLmlzRW5hYmxlZHx8KEIodmU/YmU6aSwic2Nyb2xsIixGKSwwPD10LmluZGV4T2YoInNjcm9sbCIpJiZCKHZlP2JlOmksInNjcm9sbCIsb2YsdWUsRyksMDw9dC5pbmRleE9mKCJ3aGVlbCIpJiZCKGksIndoZWVsIixwZix1ZSxHKSwoMDw9dC5pbmRleE9mKCJ0b3VjaCIpJiZFZXx8MDw9dC5pbmRleE9mKCJwb2ludGVyIikpJiYoQihpLFJlWzBdLHdlLHVlLEcpLEIoYmUsUmVbMl0sX2UpLEIoYmUsUmVbM10sX2UpLFEmJkIoaSwiY2xpY2siLGNmLCEwLCEwKSxVJiZCKGksImNsaWNrIix0ZiksWSYmQihiZSwiZ2VzdHVyZXN0YXJ0IixtZiksSCYmQihiZSwiZ2VzdHVyZWVuZCIsbmYpLEQmJkIoaSxPZSsiZW50ZXIiLHJmKSxSJiZCKGksT2UrImxlYXZlIixzZikscSYmQihpLE9lKyJtb3ZlIixxZikpLHNlLmlzRW5hYmxlZD0hMCxlJiZlLnR5cGUmJndlKGUpLFcmJlcoc2UpKSxzZX0sc2UuZGlzYWJsZT1mdW5jdGlvbigpe3NlLmlzRW5hYmxlZCYmKHFlLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZSE9PXNlJiZBKGUudGFyZ2V0KX0pLmxlbmd0aHx8Qyh2ZT9iZTppLCJzY3JvbGwiLEYpLHNlLmlzUHJlc3NlZCYmKHNlLl92eC5yZXNldCgpLHNlLl92eS5yZXNldCgpLEMoej9pOmJlLFJlWzFdLGpmLCEwKSksQyh2ZT9iZTppLCJzY3JvbGwiLG9mLEcpLEMoaSwid2hlZWwiLHBmLEcpLEMoaSxSZVswXSx3ZSxHKSxDKGJlLFJlWzJdLF9lKSxDKGJlLFJlWzNdLF9lKSxDKGksImNsaWNrIixjZiwhMCksQyhpLCJjbGljayIsdGYpLEMoYmUsImdlc3R1cmVzdGFydCIsbWYpLEMoYmUsImdlc3R1cmVlbmQiLG5mKSxDKGksT2UrImVudGVyIixyZiksQyhpLE9lKyJsZWF2ZSIsc2YpLEMoaSxPZSsibW92ZSIscWYpLHNlLmlzRW5hYmxlZD1zZS5pc1ByZXNzZWQ9c2UuaXNEcmFnZ2luZz0hMSxWJiZWKHNlKSl9LHNlLmtpbGw9c2UucmV2ZXJ0PWZ1bmN0aW9uKCl7c2UuZGlzYWJsZSgpO3ZhciBlPXFlLmluZGV4T2Yoc2UpOzA8PWUmJnFlLnNwbGljZShlLDEpLERlPT09c2UmJihEZT0wKX0scWUucHVzaChzZSkseiYmQShpKSYmKERlPXNlKSxzZS5lbmFibGUoZCl9LGZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhlLHQscil7cmV0dXJuIHQmJl9kZWZpbmVQcm9wZXJ0aWVzKGUucHJvdG90eXBlLHQpLHImJl9kZWZpbmVQcm9wZXJ0aWVzKGUsciksZX0oT2JzZXJ2ZXIsW3trZXk6InZlbG9jaXR5WCIsZ2V0OmZ1bmN0aW9uIGdldCgpe3JldHVybiB0aGlzLl92eC5nZXRWZWxvY2l0eSgpfX0se2tleToidmVsb2NpdHlZIixnZXQ6ZnVuY3Rpb24gZ2V0KCl7cmV0dXJuIHRoaXMuX3Z5LmdldFZlbG9jaXR5KCl9fV0pLE9ic2VydmVyKTtmdW5jdGlvbiBPYnNlcnZlcihlKXt0aGlzLmluaXQoZSl9ay52ZXJzaW9uPSIzLjEyLjUiLGsuY3JlYXRlPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgayhlKX0say5yZWdpc3Rlcj1QLGsuZ2V0QWxsPWZ1bmN0aW9uKCl7cmV0dXJuIHFlLnNsaWNlKCl9LGsuZ2V0QnlJZD1mdW5jdGlvbih0KXtyZXR1cm4gcWUuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlLnZhcnMuaWQ9PT10fSlbMF19LHIoKSYmQ2UucmVnaXN0ZXJQbHVnaW4oayk7ZnVuY3Rpb24gQ2EoZSx0LHIpe3ZhciBuPWN0KGUpJiYoImNsYW1wKCI9PT1lLnN1YnN0cigwLDYpfHwtMTxlLmluZGV4T2YoIm1heCIpKTtyZXR1cm4oclsiXyIrdCsiQ2xhbXAiXT1uKT9lLnN1YnN0cig2LGUubGVuZ3RoLTcpOmV9ZnVuY3Rpb24gRGEoZSx0KXtyZXR1cm4hdHx8Y3QoZSkmJiJjbGFtcCgiPT09ZS5zdWJzdHIoMCw2KT9lOiJjbGFtcCgiK2UrIikifWZ1bmN0aW9uIEZhKCl7cmV0dXJuIEdlPTF9ZnVuY3Rpb24gR2EoKXtyZXR1cm4gR2U9MH1mdW5jdGlvbiBIYShlKXtyZXR1cm4gZX1mdW5jdGlvbiBJYShlKXtyZXR1cm4gTWF0aC5yb3VuZCgxZTUqZSkvMWU1fHwwfWZ1bmN0aW9uIEphKCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3d9ZnVuY3Rpb24gS2EoKXtyZXR1cm4gSGV8fEphKCkmJihIZT13aW5kb3cuZ3NhcCkmJkhlLnJlZ2lzdGVyUGx1Z2luJiZIZX1mdW5jdGlvbiBMYShlKXtyZXR1cm4hIX5sLmluZGV4T2YoZSl9ZnVuY3Rpb24gTWEoZSl7cmV0dXJuKCJIZWlnaHQiPT09ZT9UOk5lWyJpbm5lciIrZV0pfHxKZVsiY2xpZW50IitlXXx8V2VbImNsaWVudCIrZV19ZnVuY3Rpb24gTmEoZSl7cmV0dXJuIHooZSwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0Iil8fChMYShlKT9mdW5jdGlvbigpe3JldHVybiBPdC53aWR0aD1OZS5pbm5lcldpZHRoLE90LmhlaWdodD1ULE90fTpmdW5jdGlvbigpe3JldHVybiB3dChlKX0pfWZ1bmN0aW9uIFFhKGUsdCl7dmFyIHI9dC5zLG49dC5kMixvPXQuZCxpPXQuYTtyZXR1cm4gTWF0aC5tYXgoMCwocj0ic2Nyb2xsIituKSYmKGk9eihlLHIpKT9pKCktTmEoZSkoKVtvXTpMYShlKT8oSmVbcl18fFdlW3JdKS1NYShuKTplW3JdLWVbIm9mZnNldCIrbl0pfWZ1bmN0aW9uIFJhKGUsdCl7Zm9yKHZhciByPTA7cjxnLmxlbmd0aDtyKz0zKXQmJiF+dC5pbmRleE9mKGdbcisxXSl8fGUoZ1tyXSxnW3IrMV0sZ1tyKzJdKX1mdW5jdGlvbiBUYShlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZX1mdW5jdGlvbiBVYShlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGV9ZnVuY3Rpb24gVmEoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlfWZ1bmN0aW9uIFdhKGUsdCxyKXtyZXR1cm4gZSYmZS5wcm9ncmVzcyh0PzA6MSkmJnImJmUucGF1c2UoKX1mdW5jdGlvbiBYYShlLHQpe2lmKGUuZW5hYmxlZCl7dmFyIHI9ZS5fY3R4P2UuX2N0eC5hZGQoZnVuY3Rpb24oKXtyZXR1cm4gdChlKX0pOnQoZSk7ciYmci50b3RhbFRpbWUmJihlLmNhbGxiYWNrQW5pbWF0aW9uPXIpfX1mdW5jdGlvbiBtYihlKXtyZXR1cm4gTmUuZ2V0Q29tcHV0ZWRTdHlsZShlKX1mdW5jdGlvbiBvYihlLHQpe2Zvcih2YXIgciBpbiB0KXIgaW4gZXx8KGVbcl09dFtyXSk7cmV0dXJuIGV9ZnVuY3Rpb24gcWIoZSx0KXt2YXIgcj10LmQyO3JldHVybiBlWyJvZmZzZXQiK3JdfHxlWyJjbGllbnQiK3JdfHwwfWZ1bmN0aW9uIHJiKGUpe3ZhciB0LHI9W10sbj1lLmxhYmVscyxvPWUuZHVyYXRpb24oKTtmb3IodCBpbiBuKXIucHVzaChuW3RdL28pO3JldHVybiByfWZ1bmN0aW9uIHRiKG8pe3ZhciBpPUhlLnV0aWxzLnNuYXAobyksYT1BcnJheS5pc0FycmF5KG8pJiZvLnNsaWNlKDApLnNvcnQoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS10fSk7cmV0dXJuIGE/ZnVuY3Rpb24oZSx0LHIpe3ZhciBuO2lmKHZvaWQgMD09PXImJihyPS4wMDEpLCF0KXJldHVybiBpKGUpO2lmKDA8dCl7Zm9yKGUtPXIsbj0wO248YS5sZW5ndGg7bisrKWlmKGFbbl0+PWUpcmV0dXJuIGFbbl07cmV0dXJuIGFbbi0xXX1mb3Iobj1hLmxlbmd0aCxlKz1yO24tLTspaWYoYVtuXTw9ZSlyZXR1cm4gYVtuXTtyZXR1cm4gYVswXX06ZnVuY3Rpb24oZSx0LHIpe3ZvaWQgMD09PXImJihyPS4wMDEpO3ZhciBuPWkoZSk7cmV0dXJuIXR8fE1hdGguYWJzKG4tZSk8cnx8bi1lPDA9PXQ8MD9uOmkodDwwP2UtbzplK28pfX1mdW5jdGlvbiB2Yih0LHIsZSxuKXtyZXR1cm4gZS5zcGxpdCgiLCIpLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIHQocixlLG4pfSl9ZnVuY3Rpb24gd2IoZSx0LHIsbixvKXtyZXR1cm4gZS5hZGRFdmVudExpc3RlbmVyKHQscix7cGFzc2l2ZTohbixjYXB0dXJlOiEhb30pfWZ1bmN0aW9uIHhiKGUsdCxyLG4pe3JldHVybiBlLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxyLCEhbil9ZnVuY3Rpb24geWIoZSx0LHIpeyhyPXImJnIud2hlZWxIYW5kbGVyKSYmKGUodCwid2hlZWwiLHIpLGUodCwidG91Y2htb3ZlIixyKSl9ZnVuY3Rpb24gQ2IoZSx0KXtpZihjdChlKSl7dmFyIHI9ZS5pbmRleE9mKCI9Iiksbj1+cj8oZS5jaGFyQXQoci0xKSsxKSpwYXJzZUZsb2F0KGUuc3Vic3RyKHIrMSkpOjA7fnImJihlLmluZGV4T2YoIiUiKT5yJiYobio9dC8xMDApLGU9ZS5zdWJzdHIoMCxyLTEpKSxlPW4rKGUgaW4gSD9IW2VdKnQ6fmUuaW5kZXhPZigiJSIpP3BhcnNlRmxvYXQoZSkqdC8xMDA6cGFyc2VGbG9hdChlKXx8MCl9cmV0dXJuIGV9ZnVuY3Rpb24gRGIoZSx0LHIsbixvLGksYSxzKXt2YXIgbD1vLnN0YXJ0Q29sb3IsYz1vLmVuZENvbG9yLHU9by5mb250U2l6ZSxmPW8uaW5kZW50LGQ9by5mb250V2VpZ2h0LHA9WGUuY3JlYXRlRWxlbWVudCgiZGl2IiksZz1MYShyKXx8ImZpeGVkIj09PXoociwicGluVHlwZSIpLGg9LTEhPT1lLmluZGV4T2YoInNjcm9sbGVyIiksdj1nP1dlOnIsYj0tMSE9PWUuaW5kZXhPZigic3RhcnQiKSxtPWI/bDpjLHk9ImJvcmRlci1jb2xvcjoiK20rIjtmb250LXNpemU6Iit1KyI7Y29sb3I6IittKyI7Zm9udC13ZWlnaHQ6IitkKyI7cG9pbnRlci1ldmVudHM6bm9uZTt3aGl0ZS1zcGFjZTpub3dyYXA7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZixBcmlhbDt6LWluZGV4OjEwMDA7cGFkZGluZzo0cHggOHB4O2JvcmRlci13aWR0aDowO2JvcmRlci1zdHlsZTpzb2xpZDsiO3JldHVybiB5Kz0icG9zaXRpb246IisoKGh8fHMpJiZnPyJmaXhlZDsiOiJhYnNvbHV0ZTsiKSwhaCYmIXMmJmd8fCh5Kz0obj09PUZlP3E6SSkrIjoiKyhpK3BhcnNlRmxvYXQoZikpKyJweDsiKSxhJiYoeSs9ImJveC1zaXppbmc6Ym9yZGVyLWJveDt0ZXh0LWFsaWduOmxlZnQ7d2lkdGg6IithLm9mZnNldFdpZHRoKyJweDsiKSxwLl9pc1N0YXJ0PWIscC5zZXRBdHRyaWJ1dGUoImNsYXNzIiwiZ3NhcC1tYXJrZXItIitlKyh0PyIgbWFya2VyLSIrdDoiIikpLHAuc3R5bGUuY3NzVGV4dD15LHAuaW5uZXJUZXh0PXR8fDA9PT10P2UrIi0iK3Q6ZSx2LmNoaWxkcmVuWzBdP3YuaW5zZXJ0QmVmb3JlKHAsdi5jaGlsZHJlblswXSk6di5hcHBlbmRDaGlsZChwKSxwLl9vZmZzZXQ9cFsib2Zmc2V0IituLm9wLmQyXSxYKHAsMCxuLGIpLHB9ZnVuY3Rpb24gSWIoKXtyZXR1cm4gMzQ8YXQoKS1zdCYmKEQ9RHx8cmVxdWVzdEFuaW1hdGlvbkZyYW1lKFopKX1mdW5jdGlvbiBKYigpe3YmJnYuaXNQcmVzc2VkJiYhKHYuc3RhcnRYPldlLmNsaWVudFdpZHRoKXx8KEllLmNhY2hlKyssdj9EPUR8fHJlcXVlc3RBbmltYXRpb25GcmFtZShaKTpaKCksc3R8fFUoInNjcm9sbFN0YXJ0Iiksc3Q9YXQoKSl9ZnVuY3Rpb24gS2IoKXt5PU5lLmlubmVyV2lkdGgsbT1OZS5pbm5lckhlaWdodH1mdW5jdGlvbiBMYigpe0llLmNhY2hlKyssamV8fGh8fFhlLmZ1bGxzY3JlZW5FbGVtZW50fHxYZS53ZWJraXRGdWxsc2NyZWVuRWxlbWVudHx8YiYmeT09PU5lLmlubmVyV2lkdGgmJiEoTWF0aC5hYnMoTmUuaW5uZXJIZWlnaHQtbSk+LjI1Kk5lLmlubmVySGVpZ2h0KXx8Yy5yZXN0YXJ0KCEwKX1mdW5jdGlvbiBPYigpe3JldHVybiB4YihuZSwic2Nyb2xsRW5kIixPYil8fFB0KCEwKX1mdW5jdGlvbiBSYihlKXtmb3IodmFyIHQ9MDt0PGoubGVuZ3RoO3QrPTUpKCFlfHxqW3QrNF0mJmpbdCs0XS5xdWVyeT09PWUpJiYoalt0XS5zdHlsZS5jc3NUZXh0PWpbdCsxXSxqW3RdLmdldEJCb3gmJmpbdF0uc2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLGpbdCsyXXx8IiIpLGpbdCszXS51bmNhY2hlPTEpfWZ1bmN0aW9uIFNiKGUsdCl7dmFyIHI7Zm9yKFFlPTA7UWU8VHQubGVuZ3RoO1FlKyspIShyPVR0W1FlXSl8fHQmJnIuX2N0eCE9PXR8fChlP3Iua2lsbCgxKTpyLnJldmVydCghMCwhMCkpO1M9ITAsdCYmUmIodCksdHx8VSgicmV2ZXJ0Iil9ZnVuY3Rpb24gVGIoZSx0KXtJZS5jYWNoZSsrLCF0JiZydHx8SWUuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gVGEoZSkmJmUuY2FjaGVJRCsrJiYoZS5yZWM9MCl9KSxjdChlKSYmKE5lLmhpc3Rvcnkuc2Nyb2xsUmVzdG9yYXRpb249dz1lKX1mdW5jdGlvbiBZYigpe1dlLmFwcGVuZENoaWxkKF8pLFQ9IXYmJl8ub2Zmc2V0SGVpZ2h0fHxOZS5pbm5lckhlaWdodCxXZS5yZW1vdmVDaGlsZChfKX1mdW5jdGlvbiBaYih0KXtyZXR1cm4gVmUoIi5nc2FwLW1hcmtlci1zdGFydCwgLmdzYXAtbWFya2VyLWVuZCwgLmdzYXAtbWFya2VyLXNjcm9sbGVyLXN0YXJ0LCAuZ3NhcC1tYXJrZXItc2Nyb2xsZXItZW5kIikuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gZS5zdHlsZS5kaXNwbGF5PXQ/Im5vbmUiOiJibG9jayJ9KX1mdW5jdGlvbiBnYyhlLHQscixuKXtpZighZS5fZ3NhcC5zd2FwcGVkSW4pe2Zvcih2YXIgbyxpPSQubGVuZ3RoLGE9dC5zdHlsZSxzPWUuc3R5bGU7aS0tOylhW289JFtpXV09cltvXTthLnBvc2l0aW9uPSJhYnNvbHV0ZSI9PT1yLnBvc2l0aW9uPyJhYnNvbHV0ZSI6InJlbGF0aXZlIiwiaW5saW5lIj09PXIuZGlzcGxheSYmKGEuZGlzcGxheT0iaW5saW5lLWJsb2NrIiksc1tJXT1zW3FdPSJhdXRvIixhLmZsZXhCYXNpcz1yLmZsZXhCYXNpc3x8ImF1dG8iLGEub3ZlcmZsb3c9InZpc2libGUiLGEuYm94U2l6aW5nPSJib3JkZXItYm94IixhW2Z0XT1xYihlLFllKSt4dCxhW2R0XT1xYihlLEZlKSt4dCxhW2J0XT1zW210XT1zLnRvcD1zLmxlZnQ9IjAiLEV0KG4pLHNbZnRdPXMubWF4V2lkdGg9cltmdF0sc1tkdF09cy5tYXhIZWlnaHQ9cltkdF0sc1tidF09cltidF0sZS5wYXJlbnROb2RlIT09dCYmKGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodCxlKSx0LmFwcGVuZENoaWxkKGUpKSxlLl9nc2FwLnN3YXBwZWRJbj0hMH19ZnVuY3Rpb24gamMoZSl7Zm9yKHZhciB0PWVlLmxlbmd0aCxyPWUuc3R5bGUsbj1bXSxvPTA7bzx0O28rKyluLnB1c2goZWVbb10scltlZVtvXV0pO3JldHVybiBuLnQ9ZSxufWZ1bmN0aW9uIG1jKGUsdCxyLG4sbyxpLGEscyxsLGMsdSxmLGQscCl7VGEoZSkmJihlPWUocykpLGN0KGUpJiYibWF4Ij09PWUuc3Vic3RyKDAsMykmJihlPWYrKCI9Ij09PWUuY2hhckF0KDQpP0NiKCIwIitlLnN1YnN0cigzKSxyKTowKSk7dmFyIGcsaCx2LGI9ZD9kLnRpbWUoKTowO2lmKGQmJmQuc2VlaygwKSxpc05hTihlKXx8KGU9K2UpLFVhKGUpKWQmJihlPUhlLnV0aWxzLm1hcFJhbmdlKGQuc2Nyb2xsVHJpZ2dlci5zdGFydCxkLnNjcm9sbFRyaWdnZXIuZW5kLDAsZixlKSksYSYmWChhLHIsbiwhMCk7ZWxzZXtUYSh0KSYmKHQ9dChzKSk7dmFyIG0seSx4LHcsXz0oZXx8IjAiKS5zcGxpdCgiICIpO3Y9Sih0LHMpfHxXZSwobT13dCh2KXx8e30pJiYobS5sZWZ0fHxtLnRvcCl8fCJub25lIiE9PW1iKHYpLmRpc3BsYXl8fCh3PXYuc3R5bGUuZGlzcGxheSx2LnN0eWxlLmRpc3BsYXk9ImJsb2NrIixtPXd0KHYpLHc/di5zdHlsZS5kaXNwbGF5PXc6di5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiZGlzcGxheSIpKSx5PUNiKF9bMF0sbVtuLmRdKSx4PUNiKF9bMV18fCIwIixyKSxlPW1bbi5wXS1sW24ucF0tYyt5K28teCxhJiZYKGEseCxuLHIteDwyMHx8YS5faXNTdGFydCYmMjA8eCksci09ci14fWlmKHAmJihzW3BdPWV8fC0uMDAxLGU8MCYmKGU9MCkpLGkpe3ZhciBDPWUrcixUPWkuX2lzU3RhcnQ7Zz0ic2Nyb2xsIituLmQyLFgoaSxDLG4sVCYmMjA8Q3x8IVQmJih1P01hdGgubWF4KFdlW2ddLEplW2ddKTppLnBhcmVudE5vZGVbZ10pPD1DKzEpLHUmJihsPXd0KGEpLHUmJihpLnN0eWxlW24ub3AucF09bFtuLm9wLnBdLW4ub3AubS1pLl9vZmZzZXQreHQpKX1yZXR1cm4gZCYmdiYmKGc9d3QodiksZC5zZWVrKGYpLGg9d3QodiksZC5fY2FTY3JvbGxEaXN0PWdbbi5wXS1oW24ucF0sZT1lL2QuX2NhU2Nyb2xsRGlzdCpmKSxkJiZkLnNlZWsoYiksZD9lOk1hdGgucm91bmQoZSl9ZnVuY3Rpb24gb2MoZSx0LHIsbil7aWYoZS5wYXJlbnROb2RlIT09dCl7dmFyIG8saSxhPWUuc3R5bGU7aWYodD09PVdlKXtmb3IobyBpbiBlLl9zdE9yaWc9YS5jc3NUZXh0LGk9bWIoZSkpK298fHJlLnRlc3Qobyl8fCFpW29dfHwic3RyaW5nIiE9dHlwZW9mIGFbb118fCIwIj09PW98fChhW29dPWlbb10pO2EudG9wPXIsYS5sZWZ0PW59ZWxzZSBhLmNzc1RleHQ9ZS5fc3RPcmlnO0hlLmNvcmUuZ2V0Q2FjaGUoZSkudW5jYWNoZT0xLHQuYXBwZW5kQ2hpbGQoZSl9fWZ1bmN0aW9uIHBjKHIsZSxuKXt2YXIgbz1lLGk9bztyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQ9TWF0aC5yb3VuZChyKCkpO3JldHVybiB0IT09byYmdCE9PWkmJjM8TWF0aC5hYnModC1vKSYmMzxNYXRoLmFicyh0LWkpJiYoZT10LG4mJm4oKSksaT1vLG89ZX19ZnVuY3Rpb24gcWMoZSx0LHIpe3ZhciBuPXt9O25bdC5wXT0iKz0iK3IsSGUuc2V0KGUsbil9ZnVuY3Rpb24gcmMoYyxlKXtmdW5jdGlvbiBDayhlLHQscixuLG8pe3ZhciBpPUNrLnR3ZWVuLGE9dC5vbkNvbXBsZXRlLHM9e307cj1yfHx1KCk7dmFyIGw9cGModSxyLGZ1bmN0aW9uKCl7aS5raWxsKCksQ2sudHdlZW49MH0pO3JldHVybiBvPW4mJm98fDAsbj1ufHxlLXIsaSYmaS5raWxsKCksdFtmXT1lLHQuaW5oZXJpdD0hMSwodC5tb2RpZmllcnM9cylbZl09ZnVuY3Rpb24oKXtyZXR1cm4gbChyK24qaS5yYXRpbytvKmkucmF0aW8qaS5yYXRpbyl9LHQub25VcGRhdGU9ZnVuY3Rpb24oKXtJZS5jYWNoZSsrLENrLnR3ZWVuJiZaKCl9LHQub25Db21wbGV0ZT1mdW5jdGlvbigpe0NrLnR3ZWVuPTAsYSYmYS5jYWxsKGkpfSxpPUNrLnR3ZWVuPUhlLnRvKGMsdCl9dmFyIHU9SyhjLGUpLGY9Il9zY3JvbGwiK2UucDI7cmV0dXJuKGNbZl09dSkud2hlZWxIYW5kbGVyPWZ1bmN0aW9uKCl7cmV0dXJuIENrLnR3ZWVuJiZDay50d2Vlbi5raWxsKCkmJihDay50d2Vlbj0wKX0sd2IoYywid2hlZWwiLHUud2hlZWxIYW5kbGVyKSxuZS5pc1RvdWNoJiZ3YihjLCJ0b3VjaG1vdmUiLHUud2hlZWxIYW5kbGVyKSxDa312YXIgSGUscyxOZSxYZSxKZSxXZSxsLGMsVmUsVWUsS2UsdSxqZSxHZSxmLFFlLGQscCxnLFplLCRlLGgsdixiLG0seSxFLHgsdyxfLFQsUyxldCx0dCxELHJ0LG50LG90LGl0PTEsYXQ9RGF0ZS5ub3csUj1hdCgpLHN0PTAsbHQ9MCxjdD1mdW5jdGlvbiBfaXNTdHJpbmcoZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlfSx1dD1NYXRoLmFicyxxPSJyaWdodCIsST0iYm90dG9tIixmdD0id2lkdGgiLGR0PSJoZWlnaHQiLHB0PSJSaWdodCIsZ3Q9IkxlZnQiLGh0PSJUb3AiLHZ0PSJCb3R0b20iLGJ0PSJwYWRkaW5nIixtdD0ibWFyZ2luIix5dD0iV2lkdGgiLFk9IkhlaWdodCIseHQ9InB4Iix3dD1mdW5jdGlvbiBfZ2V0Qm91bmRzKGUsdCl7dmFyIHI9dCYmIm1hdHJpeCgxLCAwLCAwLCAxLCAwLCAwKSIhPT1tYihlKVtmXSYmSGUudG8oZSx7eDowLHk6MCx4UGVyY2VudDowLHlQZXJjZW50OjAscm90YXRpb246MCxyb3RhdGlvblg6MCxyb3RhdGlvblk6MCxzY2FsZToxLHNrZXdYOjAsc2tld1k6MH0pLnByb2dyZXNzKDEpLG49ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gciYmci5wcm9ncmVzcygwKS5raWxsKCksbn0sX3Q9e3N0YXJ0Q29sb3I6ImdyZWVuIixlbmRDb2xvcjoicmVkIixpbmRlbnQ6MCxmb250U2l6ZToiMTZweCIsZm9udFdlaWdodDoibm9ybWFsIn0sQ3Q9e3RvZ2dsZUFjdGlvbnM6InBsYXkiLGFudGljaXBhdGVQaW46MH0sSD17dG9wOjAsbGVmdDowLGNlbnRlcjouNSxib3R0b206MSxyaWdodDoxfSxYPWZ1bmN0aW9uIF9wb3NpdGlvbk1hcmtlcihlLHQscixuKXt2YXIgbz17ZGlzcGxheToiYmxvY2sifSxpPXJbbj8ib3MyIjoicDIiXSxhPXJbbj8icDIiOiJvczIiXTtlLl9pc0ZsaXBwZWQ9bixvW3IuYSsiUGVyY2VudCJdPW4/LTEwMDowLG9bci5hXT1uPyIxcHgiOjAsb1siYm9yZGVyIitpK3l0XT0xLG9bImJvcmRlciIrYSt5dF09MCxvW3IucF09dCsicHgiLEhlLnNldChlLG8pfSxUdD1bXSxTdD17fSxXPXt9LFY9W10sVT1mdW5jdGlvbiBfZGlzcGF0Y2goZSl7cmV0dXJuIFdbZV0mJldbZV0ubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlKCl9KXx8Vn0saj1bXSxrdD0wLFB0PWZ1bmN0aW9uIF9yZWZyZXNoQWxsKGUsdCl7aWYoIXN0fHxlfHxTKXtZYigpLHJ0PW5lLmlzUmVmcmVzaGluZz0hMCxJZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBUYShlKSYmKytlLmNhY2hlSUQmJihlLnJlYz1lKCkpfSk7dmFyIHI9VSgicmVmcmVzaEluaXQiKTtaZSYmbmUuc29ydCgpLHR8fFNiKCksSWUuZm9yRWFjaChmdW5jdGlvbihlKXtUYShlKSYmKGUuc21vb3RoJiYoZS50YXJnZXQuc3R5bGUuc2Nyb2xsQmVoYXZpb3I9ImF1dG8iKSxlKDApKX0pLFR0LnNsaWNlKDApLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVmcmVzaCgpfSksUz0hMSxUdC5mb3JFYWNoKGZ1bmN0aW9uKGUpe2lmKGUuX3N1YlBpbk9mZnNldCYmZS5waW4pe3ZhciB0PWUudmFycy5ob3Jpem9udGFsPyJvZmZzZXRXaWR0aCI6Im9mZnNldEhlaWdodCIscj1lLnBpblt0XTtlLnJldmVydCghMCwxKSxlLmFkanVzdFBpblNwYWNpbmcoZS5waW5bdF0tciksZS5yZWZyZXNoKCl9fSksZXQ9MSxaYighMCksVHQuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1RYShlLnNjcm9sbGVyLGUuX2Rpcikscj0ibWF4Ij09PWUudmFycy5lbmR8fGUuX2VuZENsYW1wJiZlLmVuZD50LG49ZS5fc3RhcnRDbGFtcCYmZS5zdGFydD49dDsocnx8bikmJmUuc2V0UG9zaXRpb25zKG4/dC0xOmUuc3RhcnQscj9NYXRoLm1heChuP3Q6ZS5zdGFydCsxLHQpOmUuZW5kLCEwKX0pLFpiKCExKSxldD0wLHIuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5yZW5kZXImJmUucmVuZGVyKC0xKX0pLEllLmZvckVhY2goZnVuY3Rpb24oZSl7VGEoZSkmJihlLnNtb290aCYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7cmV0dXJuIGUudGFyZ2V0LnN0eWxlLnNjcm9sbEJlaGF2aW9yPSJzbW9vdGgifSksZS5yZWMmJmUoZS5yZWMpKX0pLFRiKHcsMSksYy5wYXVzZSgpLGt0KyssWihydD0yKSxUdC5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBUYShlLnZhcnMub25SZWZyZXNoKSYmZS52YXJzLm9uUmVmcmVzaChlKX0pLHJ0PW5lLmlzUmVmcmVzaGluZz0hMSxVKCJyZWZyZXNoIil9ZWxzZSB3YihuZSwic2Nyb2xsRW5kIixPYil9LFE9MCxNdD0xLFo9ZnVuY3Rpb24gX3VwZGF0ZUFsbChlKXtpZigyPT09ZXx8IXJ0JiYhUyl7bmUuaXNVcGRhdGluZz0hMCxvdCYmb3QudXBkYXRlKDApO3ZhciB0PVR0Lmxlbmd0aCxyPWF0KCksbj01MDw9ci1SLG89dCYmVHRbMF0uc2Nyb2xsKCk7aWYoTXQ9bzxRPy0xOjEscnR8fChRPW8pLG4mJihzdCYmIUdlJiYyMDA8ci1zdCYmKHN0PTAsVSgic2Nyb2xsRW5kIikpLEtlPVIsUj1yKSxNdDwwKXtmb3IoUWU9dDswPFFlLS07KVR0W1FlXSYmVHRbUWVdLnVwZGF0ZSgwLG4pO010PTF9ZWxzZSBmb3IoUWU9MDtRZTx0O1FlKyspVHRbUWVdJiZUdFtRZV0udXBkYXRlKDAsbik7bmUuaXNVcGRhdGluZz0hMX1EPTB9LCQ9WyJsZWZ0IiwidG9wIixJLHEsbXQrdnQsbXQrcHQsbXQraHQsbXQrZ3QsImRpc3BsYXkiLCJmbGV4U2hyaW5rIiwiZmxvYXQiLCJ6SW5kZXgiLCJncmlkQ29sdW1uU3RhcnQiLCJncmlkQ29sdW1uRW5kIiwiZ3JpZFJvd1N0YXJ0IiwiZ3JpZFJvd0VuZCIsImdyaWRBcmVhIiwianVzdGlmeVNlbGYiLCJhbGlnblNlbGYiLCJwbGFjZVNlbGYiLCJvcmRlciJdLGVlPSQuY29uY2F0KFtmdCxkdCwiYm94U2l6aW5nIiwibWF4Iit5dCwibWF4IitZLCJwb3NpdGlvbiIsbXQsYnQsYnQraHQsYnQrcHQsYnQrdnQsYnQrZ3RdKSx0ZT0vKFtBLVpdKS9nLEV0PWZ1bmN0aW9uIF9zZXRTdGF0ZShlKXtpZihlKXt2YXIgdCxyLG49ZS50LnN0eWxlLG89ZS5sZW5ndGgsaT0wO2ZvcigoZS50Ll9nc2FwfHxIZS5jb3JlLmdldENhY2hlKGUudCkpLnVuY2FjaGU9MTtpPG87aSs9MilyPWVbaSsxXSx0PWVbaV0scj9uW3RdPXI6blt0XSYmbi5yZW1vdmVQcm9wZXJ0eSh0LnJlcGxhY2UodGUsIi0kMSIpLnRvTG93ZXJDYXNlKCkpfX0sT3Q9e2xlZnQ6MCx0b3A6MH0scmU9Lyh3ZWJraXR8bW96fGxlbmd0aHxjc3NUZXh0fGluc2V0KS9pLG5lPShTY3JvbGxUcmlnZ2VyLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uIGluaXQoRSxPKXtpZih0aGlzLnByb2dyZXNzPXRoaXMuc3RhcnQ9MCx0aGlzLnZhcnMmJnRoaXMua2lsbCghMCwhMCksbHQpe3ZhciBBLG4scCxELFIsQixxLEksTCxZLEYsZSxILE4sWCxXLFYsVSx0LGosYixHLFEsbSxaLHksJCx4LHIsdyxfLGVlLG8sZyx0ZSxyZSxuZSxDLGksVD0oRT1vYihjdChFKXx8VWEoRSl8fEUubm9kZVR5cGU/e3RyaWdnZXI6RX06RSxDdCkpLm9uVXBkYXRlLFM9RS50b2dnbGVDbGFzcyxhPUUuaWQsaz1FLm9uVG9nZ2xlLG9lPUUub25SZWZyZXNoLFA9RS5zY3J1YixpZT1FLnRyaWdnZXIsYWU9RS5waW4sc2U9RS5waW5TcGFjaW5nLGxlPUUuaW52YWxpZGF0ZU9uUmVmcmVzaCxNPUUuYW50aWNpcGF0ZVBpbixzPUUub25TY3J1YkNvbXBsZXRlLGg9RS5vblNuYXBDb21wbGV0ZSxjZT1FLm9uY2UsdWU9RS5zbmFwLGZlPUUucGluUmVwYXJlbnQsbD1FLnBpblNwYWNlcixkZT1FLmNvbnRhaW5lckFuaW1hdGlvbixwZT1FLmZhc3RTY3JvbGxFbmQsZ2U9RS5wcmV2ZW50T3ZlcmxhcHMsaGU9RS5ob3Jpem9udGFsfHxFLmNvbnRhaW5lckFuaW1hdGlvbiYmITEhPT1FLmhvcml6b250YWw/WWU6RmUsdmU9IVAmJjAhPT1QLGJlPUooRS5zY3JvbGxlcnx8TmUpLGM9SGUuY29yZS5nZXRDYWNoZShiZSksbWU9TGEoYmUpLHllPSJmaXhlZCI9PT0oInBpblR5cGUiaW4gRT9FLnBpblR5cGU6eihiZSwicGluVHlwZSIpfHxtZSYmImZpeGVkIikseGU9W0Uub25FbnRlcixFLm9uTGVhdmUsRS5vbkVudGVyQmFjayxFLm9uTGVhdmVCYWNrXSx3ZT12ZSYmRS50b2dnbGVBY3Rpb25zLnNwbGl0KCIgIiksX2U9Im1hcmtlcnMiaW4gRT9FLm1hcmtlcnM6Q3QubWFya2VycyxDZT1tZT8wOnBhcnNlRmxvYXQobWIoYmUpWyJib3JkZXIiK2hlLnAyK3l0XSl8fDAsVGU9dGhpcyxTZT1FLm9uUmVmcmVzaEluaXQmJmZ1bmN0aW9uKCl7cmV0dXJuIEUub25SZWZyZXNoSW5pdChUZSl9LGtlPWZ1bmN0aW9uIF9nZXRTaXplRnVuYyhlLHQscil7dmFyIG49ci5kLG89ci5kMixpPXIuYTtyZXR1cm4oaT16KGUsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIpKT9mdW5jdGlvbigpe3JldHVybiBpKClbbl19OmZ1bmN0aW9uKCl7cmV0dXJuKHQ/TWEobyk6ZVsiY2xpZW50IitvXSl8fDB9fShiZSxtZSxoZSksUGU9ZnVuY3Rpb24gX2dldE9mZnNldHNGdW5jKGUsdCl7cmV0dXJuIXR8fH5MZS5pbmRleE9mKGUpP05hKGUpOmZ1bmN0aW9uKCl7cmV0dXJuIE90fX0oYmUsbWUpLE1lPTAsRWU9MCxPZT0wLEFlPUsoYmUsaGUpO2lmKFRlLl9zdGFydENsYW1wPVRlLl9lbmRDbGFtcD0hMSxUZS5fZGlyPWhlLE0qPTQ1LFRlLnNjcm9sbGVyPWJlLFRlLnNjcm9sbD1kZT9kZS50aW1lLmJpbmQoZGUpOkFlLEQ9QWUoKSxUZS52YXJzPUUsTz1PfHxFLmFuaW1hdGlvbiwicmVmcmVzaFByaW9yaXR5ImluIEUmJihaZT0xLC05OTk5PT09RS5yZWZyZXNoUHJpb3JpdHkmJihvdD1UZSkpLGMudHdlZW5TY3JvbGw9Yy50d2VlblNjcm9sbHx8e3RvcDpyYyhiZSxGZSksbGVmdDpyYyhiZSxZZSl9LFRlLnR3ZWVuVG89QT1jLnR3ZWVuU2Nyb2xsW2hlLnBdLFRlLnNjcnViRHVyYXRpb249ZnVuY3Rpb24oZSl7KG89VWEoZSkmJmUpP2VlP2VlLmR1cmF0aW9uKGUpOmVlPUhlLnRvKE8se2Vhc2U6ImV4cG8iLHRvdGFsUHJvZ3Jlc3M6Iis9MCIsaW5oZXJpdDohMSxkdXJhdGlvbjpvLHBhdXNlZDohMCxvbkNvbXBsZXRlOmZ1bmN0aW9uIG9uQ29tcGxldGUoKXtyZXR1cm4gcyYmcyhUZSl9fSk6KGVlJiZlZS5wcm9ncmVzcygxKS5raWxsKCksZWU9MCl9LE8mJihPLnZhcnMubGF6eT0hMSxPLl9pbml0dGVkJiYhVGUuaXNSZXZlcnRlZHx8ITEhPT1PLnZhcnMuaW1tZWRpYXRlUmVuZGVyJiYhMSE9PUUuaW1tZWRpYXRlUmVuZGVyJiZPLmR1cmF0aW9uKCkmJk8ucmVuZGVyKDAsITAsITApLFRlLmFuaW1hdGlvbj1PLnBhdXNlKCksKE8uc2Nyb2xsVHJpZ2dlcj1UZSkuc2NydWJEdXJhdGlvbihQKSx3PTAsYT1hfHxPLnZhcnMuaWQpLHVlJiYoVmEodWUpJiYhdWUucHVzaHx8KHVlPXtzbmFwVG86dWV9KSwic2Nyb2xsQmVoYXZpb3IiaW4gV2Uuc3R5bGUmJkhlLnNldChtZT9bV2UsSmVdOmJlLHtzY3JvbGxCZWhhdmlvcjoiYXV0byJ9KSxJZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBUYShlKSYmZS50YXJnZXQ9PT0obWU/WGUuc2Nyb2xsaW5nRWxlbWVudHx8SmU6YmUpJiYoZS5zbW9vdGg9ITEpfSkscD1UYSh1ZS5zbmFwVG8pP3VlLnNuYXBUbzoibGFiZWxzIj09PXVlLnNuYXBUbz9mdW5jdGlvbiBfZ2V0Q2xvc2VzdExhYmVsKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gSGUudXRpbHMuc25hcChyYih0KSxlKX19KE8pOiJsYWJlbHNEaXJlY3Rpb25hbCI9PT11ZS5zbmFwVG8/ZnVuY3Rpb24gX2dldExhYmVsQXREaXJlY3Rpb24ocil7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRiKHJiKHIpKShlLHQuZGlyZWN0aW9uKX19KE8pOiExIT09dWUuZGlyZWN0aW9uYWw/ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGIodWUuc25hcFRvKShlLGF0KCktRWU8NTAwPzA6dC5kaXJlY3Rpb24pfTpIZS51dGlscy5zbmFwKHVlLnNuYXBUbyksZz11ZS5kdXJhdGlvbnx8e21pbjouMSxtYXg6Mn0sZz1WYShnKT9VZShnLm1pbixnLm1heCk6VWUoZyxnKSx0ZT1IZS5kZWxheWVkQ2FsbCh1ZS5kZWxheXx8by8yfHwuMSxmdW5jdGlvbigpe3ZhciBlPUFlKCksdD1hdCgpLUVlPDUwMCxyPUEudHdlZW47aWYoISh0fHxNYXRoLmFicyhUZS5nZXRWZWxvY2l0eSgpKTwxMCl8fHJ8fEdlfHxNZT09PWUpVGUuaXNBY3RpdmUmJk1lIT09ZSYmdGUucmVzdGFydCghMCk7ZWxzZXt2YXIgbixvLGk9KGUtQikvTixhPU8mJiF2ZT9PLnRvdGFsUHJvZ3Jlc3MoKTppLHM9dD8wOihhLV8pLyhhdCgpLUtlKSoxZTN8fDAsbD1IZS51dGlscy5jbGFtcCgtaSwxLWksdXQocy8yKSpzLy4xODUpLGM9aSsoITE9PT11ZS5pbmVydGlhPzA6bCksdT11ZS5vblN0YXJ0LGY9dWUub25JbnRlcnJ1cHQsZD11ZS5vbkNvbXBsZXRlO2lmKG49cChjLFRlKSxVYShuKXx8KG49Yyksbz1NYXRoLnJvdW5kKEIrbipOKSxlPD1xJiZCPD1lJiZvIT09ZSl7aWYociYmIXIuX2luaXR0ZWQmJnIuZGF0YTw9dXQoby1lKSlyZXR1cm47ITE9PT11ZS5pbmVydGlhJiYobD1uLWkpLEEobyx7ZHVyYXRpb246Zyh1dCguMTg1Kk1hdGgubWF4KHV0KGMtYSksdXQobi1hKSkvcy8uMDV8fDApKSxlYXNlOnVlLmVhc2V8fCJwb3dlcjMiLGRhdGE6dXQoby1lKSxvbkludGVycnVwdDpmdW5jdGlvbiBvbkludGVycnVwdCgpe3JldHVybiB0ZS5yZXN0YXJ0KCEwKSYmZiYmZihUZSl9LG9uQ29tcGxldGU6ZnVuY3Rpb24gb25Db21wbGV0ZSgpe1RlLnVwZGF0ZSgpLE1lPUFlKCksTyYmKGVlP2VlLnJlc2V0VG8oInRvdGFsUHJvZ3Jlc3MiLG4sTy5fdFRpbWUvTy5fdER1cik6Ty5wcm9ncmVzcyhuKSksdz1fPU8mJiF2ZT9PLnRvdGFsUHJvZ3Jlc3MoKTpUZS5wcm9ncmVzcyxoJiZoKFRlKSxkJiZkKFRlKX19LGUsbCpOLG8tZS1sKk4pLHUmJnUoVGUsQS50d2Vlbil9fX0pLnBhdXNlKCkpLGEmJihTdFthXT1UZSksaT0oaT0oaWU9VGUudHJpZ2dlcj1KKGllfHwhMCE9PWFlJiZhZSkpJiZpZS5fZ3NhcCYmaWUuX2dzYXAuc3RSZXZlcnQpJiZpKFRlKSxhZT0hMD09PWFlP2llOkooYWUpLGN0KFMpJiYoUz17dGFyZ2V0czppZSxjbGFzc05hbWU6U30pLGFlJiYoITE9PT1zZXx8c2U9PT1tdHx8KHNlPSEoIXNlJiZhZS5wYXJlbnROb2RlJiZhZS5wYXJlbnROb2RlLnN0eWxlJiYiZmxleCI9PT1tYihhZS5wYXJlbnROb2RlKS5kaXNwbGF5KSYmYnQpLFRlLnBpbj1hZSwobj1IZS5jb3JlLmdldENhY2hlKGFlKSkuc3BhY2VyP1g9bi5waW5TdGF0ZToobCYmKChsPUoobCkpJiYhbC5ub2RlVHlwZSYmKGw9bC5jdXJyZW50fHxsLm5hdGl2ZUVsZW1lbnQpLG4uc3BhY2VySXNOYXRpdmU9ISFsLGwmJihuLnNwYWNlclN0YXRlPWpjKGwpKSksbi5zcGFjZXI9VT1sfHxYZS5jcmVhdGVFbGVtZW50KCJkaXYiKSxVLmNsYXNzTGlzdC5hZGQoInBpbi1zcGFjZXIiKSxhJiZVLmNsYXNzTGlzdC5hZGQoInBpbi1zcGFjZXItIithKSxuLnBpblN0YXRlPVg9amMoYWUpKSwhMSE9PUUuZm9yY2UzRCYmSGUuc2V0KGFlLHtmb3JjZTNEOiEwfSksVGUuc3BhY2VyPVU9bi5zcGFjZXIscj1tYihhZSksbT1yW3NlK2hlLm9zMl0saj1IZS5nZXRQcm9wZXJ0eShhZSksYj1IZS5xdWlja1NldHRlcihhZSxoZS5hLHh0KSxnYyhhZSxVLHIpLFY9amMoYWUpKSxfZSl7ZT1WYShfZSk/b2IoX2UsX3QpOl90LFk9RGIoInNjcm9sbGVyLXN0YXJ0IixhLGJlLGhlLGUsMCksRj1EYigic2Nyb2xsZXItZW5kIixhLGJlLGhlLGUsMCxZKSx0PVlbIm9mZnNldCIraGUub3AuZDJdO3ZhciB1PUooeihiZSwiY29udGVudCIpfHxiZSk7ST10aGlzLm1hcmtlclN0YXJ0PURiKCJzdGFydCIsYSx1LGhlLGUsdCwwLGRlKSxMPXRoaXMubWFya2VyRW5kPURiKCJlbmQiLGEsdSxoZSxlLHQsMCxkZSksZGUmJihDPUhlLnF1aWNrU2V0dGVyKFtJLExdLGhlLmEseHQpKSx5ZXx8TGUubGVuZ3RoJiYhMD09PXooYmUsImZpeGVkTWFya2VycyIpfHwoZnVuY3Rpb24gX21ha2VQb3NpdGlvbmFibGUoZSl7dmFyIHQ9bWIoZSkucG9zaXRpb247ZS5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiPT09dHx8ImZpeGVkIj09PXQ/dDoicmVsYXRpdmUifShtZT9XZTpiZSksSGUuc2V0KFtZLEZdLHtmb3JjZTNEOiEwfSkseT1IZS5xdWlja1NldHRlcihZLGhlLmEseHQpLHg9SGUucXVpY2tTZXR0ZXIoRixoZS5hLHh0KSl9aWYoZGUpe3ZhciBmPWRlLnZhcnMub25VcGRhdGUsZD1kZS52YXJzLm9uVXBkYXRlUGFyYW1zO2RlLmV2ZW50Q2FsbGJhY2soIm9uVXBkYXRlIixmdW5jdGlvbigpe1RlLnVwZGF0ZSgwLDAsMSksZiYmZi5hcHBseShkZSxkfHxbXSl9KX1pZihUZS5wcmV2aW91cz1mdW5jdGlvbigpe3JldHVybiBUdFtUdC5pbmRleE9mKFRlKS0xXX0sVGUubmV4dD1mdW5jdGlvbigpe3JldHVybiBUdFtUdC5pbmRleE9mKFRlKSsxXX0sVGUucmV2ZXJ0PWZ1bmN0aW9uKGUsdCl7aWYoIXQpcmV0dXJuIFRlLmtpbGwoITApO3ZhciByPSExIT09ZXx8IVRlLmVuYWJsZWQsbj1qZTtyIT09VGUuaXNSZXZlcnRlZCYmKHImJihyZT1NYXRoLm1heChBZSgpLFRlLnNjcm9sbC5yZWN8fDApLE9lPVRlLnByb2dyZXNzLG5lPU8mJk8ucHJvZ3Jlc3MoKSksSSYmW0ksTCxZLEZdLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3R5bGUuZGlzcGxheT1yPyJub25lIjoiYmxvY2sifSksciYmKGplPVRlKS51cGRhdGUociksIWFlfHxmZSYmVGUuaXNBY3RpdmV8fChyP2Z1bmN0aW9uIF9zd2FwUGluT3V0KGUsdCxyKXtFdChyKTt2YXIgbj1lLl9nc2FwO2lmKG4uc3BhY2VySXNOYXRpdmUpRXQobi5zcGFjZXJTdGF0ZSk7ZWxzZSBpZihlLl9nc2FwLnN3YXBwZWRJbil7dmFyIG89dC5wYXJlbnROb2RlO28mJihvLmluc2VydEJlZm9yZShlLHQpLG8ucmVtb3ZlQ2hpbGQodCkpfWUuX2dzYXAuc3dhcHBlZEluPSExfShhZSxVLFgpOmdjKGFlLFUsbWIoYWUpLFopKSxyfHxUZS51cGRhdGUociksamU9bixUZS5pc1JldmVydGVkPXIpfSxUZS5yZWZyZXNoPWZ1bmN0aW9uKGUsdCxyLG4pe2lmKCFqZSYmVGUuZW5hYmxlZHx8dClpZihhZSYmZSYmc3Qpd2IoU2Nyb2xsVHJpZ2dlciwic2Nyb2xsRW5kIixPYik7ZWxzZXshcnQmJlNlJiZTZShUZSksamU9VGUsQS50d2VlbiYmIXImJihBLnR3ZWVuLmtpbGwoKSxBLnR3ZWVuPTApLGVlJiZlZS5wYXVzZSgpLGxlJiZPJiZPLnJldmVydCh7a2lsbDohMX0pLmludmFsaWRhdGUoKSxUZS5pc1JldmVydGVkfHxUZS5yZXZlcnQoITAsITApLFRlLl9zdWJQaW5PZmZzZXQ9ITE7dmFyIG8saSxhLHMsbCxjLHUsZixkLHAsZyxoLHYsYj1rZSgpLG09UGUoKSx5PWRlP2RlLmR1cmF0aW9uKCk6UWEoYmUsaGUpLHg9Tjw9LjAxLHc9MCxfPW58fDAsQz1WYShyKT9yLmVuZDpFLmVuZCxUPUUuZW5kVHJpZ2dlcnx8aWUsUz1WYShyKT9yLnN0YXJ0OkUuc3RhcnR8fCgwIT09RS5zdGFydCYmaWU/YWU/IjAgMCI6IjAgMTAwJSI6MCksaz1UZS5waW5uZWRDb250YWluZXI9RS5waW5uZWRDb250YWluZXImJkooRS5waW5uZWRDb250YWluZXIsVGUpLFA9aWUmJk1hdGgubWF4KDAsVHQuaW5kZXhPZihUZSkpfHwwLE09UDtmb3IoX2UmJlZhKHIpJiYoaD1IZS5nZXRQcm9wZXJ0eShZLGhlLnApLHY9SGUuZ2V0UHJvcGVydHkoRixoZS5wKSk7TS0tOykoYz1UdFtNXSkuZW5kfHxjLnJlZnJlc2goMCwxKXx8KGplPVRlKSwhKHU9Yy5waW4pfHx1IT09aWUmJnUhPT1hZSYmdSE9PWt8fGMuaXNSZXZlcnRlZHx8KChwPXB8fFtdKS51bnNoaWZ0KGMpLGMucmV2ZXJ0KCEwLCEwKSksYyE9PVR0W01dJiYoUC0tLE0tLSk7Zm9yKFRhKFMpJiYoUz1TKFRlKSksUz1DYShTLCJzdGFydCIsVGUpLEI9bWMoUyxpZSxiLGhlLEFlKCksSSxZLFRlLG0sQ2UseWUseSxkZSxUZS5fc3RhcnRDbGFtcCYmIl9zdGFydENsYW1wIil8fChhZT8tLjAwMTowKSxUYShDKSYmKEM9QyhUZSkpLGN0KEMpJiYhQy5pbmRleE9mKCIrPSIpJiYofkMuaW5kZXhPZigiICIpP0M9KGN0KFMpP1Muc3BsaXQoIiAiKVswXToiIikrQzoodz1DYihDLnN1YnN0cigyKSxiKSxDPWN0KFMpP1M6KGRlP0hlLnV0aWxzLm1hcFJhbmdlKDAsZGUuZHVyYXRpb24oKSxkZS5zY3JvbGxUcmlnZ2VyLnN0YXJ0LGRlLnNjcm9sbFRyaWdnZXIuZW5kLEIpOkIpK3csVD1pZSkpLEM9Q2EoQywiZW5kIixUZSkscT1NYXRoLm1heChCLG1jKEN8fChUPyIxMDAlIDAiOnkpLFQsYixoZSxBZSgpK3csTCxGLFRlLG0sQ2UseWUseSxkZSxUZS5fZW5kQ2xhbXAmJiJfZW5kQ2xhbXAiKSl8fC0uMDAxLHc9MCxNPVA7TS0tOykodT0oYz1UdFtNXSkucGluKSYmYy5zdGFydC1jLl9waW5QdXNoPD1CJiYhZGUmJjA8Yy5lbmQmJihvPWMuZW5kLShUZS5fc3RhcnRDbGFtcD9NYXRoLm1heCgwLGMuc3RhcnQpOmMuc3RhcnQpLCh1PT09aWUmJmMuc3RhcnQtYy5fcGluUHVzaDxCfHx1PT09aykmJmlzTmFOKFMpJiYodys9byooMS1jLnByb2dyZXNzKSksdT09PWFlJiYoXys9bykpO2lmKEIrPXcscSs9dyxUZS5fc3RhcnRDbGFtcCYmKFRlLl9zdGFydENsYW1wKz13KSxUZS5fZW5kQ2xhbXAmJiFydCYmKFRlLl9lbmRDbGFtcD1xfHwtLjAwMSxxPU1hdGgubWluKHEsUWEoYmUsaGUpKSksTj1xLUJ8fChCLT0uMDEpJiYuMDAxLHgmJihPZT1IZS51dGlscy5jbGFtcCgwLDEsSGUudXRpbHMubm9ybWFsaXplKEIscSxyZSkpKSxUZS5fcGluUHVzaD1fLEkmJncmJigobz17fSlbaGUuYV09Iis9Iit3LGsmJihvW2hlLnBdPSItPSIrQWUoKSksSGUuc2V0KFtJLExdLG8pKSwhYWV8fGV0JiZUZS5lbmQ+PVFhKGJlLGhlKSl7aWYoaWUmJkFlKCkmJiFkZSlmb3IoaT1pZS5wYXJlbnROb2RlO2kmJmkhPT1XZTspaS5fcGluT2Zmc2V0JiYoQi09aS5fcGluT2Zmc2V0LHEtPWkuX3Bpbk9mZnNldCksaT1pLnBhcmVudE5vZGV9ZWxzZSBvPW1iKGFlKSxzPWhlPT09RmUsYT1BZSgpLEc9cGFyc2VGbG9hdChqKGhlLmEpKStfLCF5JiYxPHEmJihnPXtzdHlsZTpnPShtZT9YZS5zY3JvbGxpbmdFbGVtZW50fHxKZTpiZSkuc3R5bGUsdmFsdWU6Z1sib3ZlcmZsb3ciK2hlLmEudG9VcHBlckNhc2UoKV19LG1lJiYic2Nyb2xsIiE9PW1iKFdlKVsib3ZlcmZsb3ciK2hlLmEudG9VcHBlckNhc2UoKV0mJihnLnN0eWxlWyJvdmVyZmxvdyIraGUuYS50b1VwcGVyQ2FzZSgpXT0ic2Nyb2xsIikpLGdjKGFlLFUsbyksVj1qYyhhZSksaT13dChhZSwhMCksZj15ZSYmSyhiZSxzP1llOkZlKSgpLHNlPygoWj1bc2UraGUub3MyLE4rXyt4dF0pLnQ9VSwoTT1zZT09PWJ0P3FiKGFlLGhlKStOK186MCkmJihaLnB1c2goaGUuZCxNK3h0KSwiYXV0byIhPT1VLnN0eWxlLmZsZXhCYXNpcyYmKFUuc3R5bGUuZmxleEJhc2lzPU0reHQpKSxFdChaKSxrJiZUdC5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UucGluPT09ayYmITEhPT1lLnZhcnMucGluU3BhY2luZyYmKGUuX3N1YlBpbk9mZnNldD0hMCl9KSx5ZSYmQWUocmUpKTooTT1xYihhZSxoZSkpJiYiYXV0byIhPT1VLnN0eWxlLmZsZXhCYXNpcyYmKFUuc3R5bGUuZmxleEJhc2lzPU0reHQpLHllJiYoKGw9e3RvcDppLnRvcCsocz9hLUI6ZikreHQsbGVmdDppLmxlZnQrKHM/ZjphLUIpK3h0LGJveFNpemluZzoiYm9yZGVyLWJveCIscG9zaXRpb246ImZpeGVkIn0pW2Z0XT1sLm1heFdpZHRoPU1hdGguY2VpbChpLndpZHRoKSt4dCxsW2R0XT1sLm1heEhlaWdodD1NYXRoLmNlaWwoaS5oZWlnaHQpK3h0LGxbbXRdPWxbbXQraHRdPWxbbXQrcHRdPWxbbXQrdnRdPWxbbXQrZ3RdPSIwIixsW2J0XT1vW2J0XSxsW2J0K2h0XT1vW2J0K2h0XSxsW2J0K3B0XT1vW2J0K3B0XSxsW2J0K3Z0XT1vW2J0K3Z0XSxsW2J0K2d0XT1vW2J0K2d0XSxXPWZ1bmN0aW9uIF9jb3B5U3RhdGUoZSx0LHIpe2Zvcih2YXIgbixvPVtdLGk9ZS5sZW5ndGgsYT1yPzg6MDthPGk7YSs9MiluPWVbYV0sby5wdXNoKG4sbiBpbiB0P3Rbbl06ZVthKzFdKTtyZXR1cm4gby50PWUudCxvfShYLGwsZmUpLHJ0JiZBZSgwKSksTz8oZD1PLl9pbml0dGVkLCRlKDEpLE8ucmVuZGVyKE8uZHVyYXRpb24oKSwhMCwhMCksUT1qKGhlLmEpLUcrTitfLCQ9MTxNYXRoLmFicyhOLVEpLHllJiYkJiZXLnNwbGljZShXLmxlbmd0aC0yLDIpLE8ucmVuZGVyKDAsITAsITApLGR8fE8uaW52YWxpZGF0ZSghMCksTy5wYXJlbnR8fE8udG90YWxUaW1lKE8udG90YWxUaW1lKCkpLCRlKDApKTpRPU4sZyYmKGcudmFsdWU/Zy5zdHlsZVsib3ZlcmZsb3ciK2hlLmEudG9VcHBlckNhc2UoKV09Zy52YWx1ZTpnLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJvdmVyZmxvdy0iK2hlLmEpKTtwJiZwLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUucmV2ZXJ0KCExLCEwKX0pLFRlLnN0YXJ0PUIsVGUuZW5kPXEsRD1SPXJ0P3JlOkFlKCksZGV8fHJ0fHwoRDxyZSYmQWUocmUpLFRlLnNjcm9sbC5yZWM9MCksVGUucmV2ZXJ0KCExLCEwKSxFZT1hdCgpLHRlJiYoTWU9LTEsdGUucmVzdGFydCghMCkpLGplPTAsTyYmdmUmJihPLl9pbml0dGVkfHxuZSkmJk8ucHJvZ3Jlc3MoKSE9PW5lJiZPLnByb2dyZXNzKG5lfHwwLCEwKS5yZW5kZXIoTy50aW1lKCksITAsITApLCh4fHxPZSE9PVRlLnByb2dyZXNzfHxkZXx8bGUpJiYoTyYmIXZlJiZPLnRvdGFsUHJvZ3Jlc3MoZGUmJkI8LS4wMDEmJiFPZT9IZS51dGlscy5ub3JtYWxpemUoQixxLDApOk9lLCEwKSxUZS5wcm9ncmVzcz14fHwoRC1CKS9OPT09T2U/MDpPZSksYWUmJnNlJiYoVS5fcGluT2Zmc2V0PU1hdGgucm91bmQoVGUucHJvZ3Jlc3MqUSkpLGVlJiZlZS5pbnZhbGlkYXRlKCksaXNOYU4oaCl8fChoLT1IZS5nZXRQcm9wZXJ0eShZLGhlLnApLHYtPUhlLmdldFByb3BlcnR5KEYsaGUucCkscWMoWSxoZSxoKSxxYyhJLGhlLGgtKG58fDApKSxxYyhGLGhlLHYpLHFjKEwsaGUsdi0obnx8MCkpKSx4JiYhcnQmJlRlLnVwZGF0ZSgpLCFvZXx8cnR8fEh8fChIPSEwLG9lKFRlKSxIPSExKX19LFRlLmdldFZlbG9jaXR5PWZ1bmN0aW9uKCl7cmV0dXJuKEFlKCktUikvKGF0KCktS2UpKjFlM3x8MH0sVGUuZW5kQW5pbWF0aW9uPWZ1bmN0aW9uKCl7V2EoVGUuY2FsbGJhY2tBbmltYXRpb24pLE8mJihlZT9lZS5wcm9ncmVzcygxKTpPLnBhdXNlZCgpP3ZlfHxXYShPLFRlLmRpcmVjdGlvbjwwLDEpOldhKE8sTy5yZXZlcnNlZCgpKSl9LFRlLmxhYmVsVG9TY3JvbGw9ZnVuY3Rpb24oZSl7cmV0dXJuIE8mJk8ubGFiZWxzJiYoQnx8VGUucmVmcmVzaCgpfHxCKStPLmxhYmVsc1tlXS9PLmR1cmF0aW9uKCkqTnx8MH0sVGUuZ2V0VHJhaWxpbmc9ZnVuY3Rpb24odCl7dmFyIGU9VHQuaW5kZXhPZihUZSkscj0wPFRlLmRpcmVjdGlvbj9UdC5zbGljZSgwLGUpLnJldmVyc2UoKTpUdC5zbGljZShlKzEpO3JldHVybihjdCh0KT9yLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZS52YXJzLnByZXZlbnRPdmVybGFwcz09PXR9KTpyKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIDA8VGUuZGlyZWN0aW9uP2UuZW5kPD1COmUuc3RhcnQ+PXF9KX0sVGUudXBkYXRlPWZ1bmN0aW9uKGUsdCxyKXtpZighZGV8fHJ8fGUpe3ZhciBuLG8saSxhLHMsbCxjLHU9ITA9PT1ydD9yZTpUZS5zY3JvbGwoKSxmPWU/MDoodS1CKS9OLGQ9ZjwwPzA6MTxmPzE6Znx8MCxwPVRlLnByb2dyZXNzO2lmKHQmJihSPUQsRD1kZT9BZSgpOnUsdWUmJihfPXcsdz1PJiYhdmU/Ty50b3RhbFByb2dyZXNzKCk6ZCkpLE0mJmFlJiYhamUmJiFpdCYmc3QmJighZCYmQjx1Kyh1LVIpLyhhdCgpLUtlKSpNP2Q9MWUtNDoxPT09ZCYmcT51Kyh1LVIpLyhhdCgpLUtlKSpNJiYoZD0uOTk5OSkpLGQhPT1wJiZUZS5lbmFibGVkKXtpZihhPShzPShuPVRlLmlzQWN0aXZlPSEhZCYmZDwxKSE9KCEhcCYmcDwxKSl8fCEhZCE9ISFwLFRlLmRpcmVjdGlvbj1wPGQ/MTotMSxUZS5wcm9ncmVzcz1kLGEmJiFqZSYmKG89ZCYmIXA/MDoxPT09ZD8xOjE9PT1wPzI6Myx2ZSYmKGk9IXMmJiJub25lIiE9PXdlW28rMV0mJndlW28rMV18fHdlW29dLGM9TyYmKCJjb21wbGV0ZSI9PT1pfHwicmVzZXQiPT09aXx8aSBpbiBPKSkpLGdlJiYoc3x8YykmJihjfHxQfHwhTykmJihUYShnZSk/Z2UoVGUpOlRlLmdldFRyYWlsaW5nKGdlKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmVuZEFuaW1hdGlvbigpfSkpLHZlfHwoIWVlfHxqZXx8aXQ/TyYmTy50b3RhbFByb2dyZXNzKGQsISghamV8fCFFZSYmIWUpKTooZWUuX2RwLl90aW1lLWVlLl9zdGFydCE9PWVlLl90aW1lJiZlZS5yZW5kZXIoZWUuX2RwLl90aW1lLWVlLl9zdGFydCksZWUucmVzZXRUbz9lZS5yZXNldFRvKCJ0b3RhbFByb2dyZXNzIixkLE8uX3RUaW1lL08uX3REdXIpOihlZS52YXJzLnRvdGFsUHJvZ3Jlc3M9ZCxlZS5pbnZhbGlkYXRlKCkucmVzdGFydCgpKSkpLGFlKWlmKGUmJnNlJiYoVS5zdHlsZVtzZStoZS5vczJdPW0pLHllKXtpZihhKXtpZihsPSFlJiZwPGQmJnU8cSsxJiZ1KzE+PVFhKGJlLGhlKSxmZSlpZihlfHwhbiYmIWwpb2MoYWUsVSk7ZWxzZXt2YXIgZz13dChhZSwhMCksaD11LUI7b2MoYWUsV2UsZy50b3ArKGhlPT09RmU/aDowKSt4dCxnLmxlZnQrKGhlPT09RmU/MDpoKSt4dCl9RXQobnx8bD9XOlYpLCQmJmQ8MSYmbnx8YihHKygxIT09ZHx8bD8wOlEpKX19ZWxzZSBiKElhKEcrUSpkKSk7IXVlfHxBLnR3ZWVufHxqZXx8aXR8fHRlLnJlc3RhcnQoITApLFMmJihzfHxjZSYmZCYmKGQ8MXx8IXR0KSkmJlZlKFMudGFyZ2V0cykuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gZS5jbGFzc0xpc3Rbbnx8Y2U/ImFkZCI6InJlbW92ZSJdKFMuY2xhc3NOYW1lKX0pLCFUfHx2ZXx8ZXx8VChUZSksYSYmIWplPyh2ZSYmKGMmJigiY29tcGxldGUiPT09aT9PLnBhdXNlKCkudG90YWxQcm9ncmVzcygxKToicmVzZXQiPT09aT9PLnJlc3RhcnQoITApLnBhdXNlKCk6InJlc3RhcnQiPT09aT9PLnJlc3RhcnQoITApOk9baV0oKSksVCYmVChUZSkpLCFzJiZ0dHx8KGsmJnMmJlhhKFRlLGspLHhlW29dJiZYYShUZSx4ZVtvXSksY2UmJigxPT09ZD9UZS5raWxsKCExLDEpOnhlW29dPTApLHN8fHhlW289MT09PWQ/MTozXSYmWGEoVGUseGVbb10pKSxwZSYmIW4mJk1hdGguYWJzKFRlLmdldFZlbG9jaXR5KCkpPihVYShwZSk/cGU6MjUwMCkmJihXYShUZS5jYWxsYmFja0FuaW1hdGlvbiksZWU/ZWUucHJvZ3Jlc3MoMSk6V2EoTywicmV2ZXJzZSI9PT1pPzE6IWQsMSkpKTp2ZSYmVCYmIWplJiZUKFRlKX1pZih4KXt2YXIgdj1kZT91L2RlLmR1cmF0aW9uKCkqKGRlLl9jYVNjcm9sbERpc3R8fDApOnU7eSh2KyhZLl9pc0ZsaXBwZWQ/MTowKSkseCh2KX1DJiZDKC11L2RlLmR1cmF0aW9uKCkqKGRlLl9jYVNjcm9sbERpc3R8fDApKX19LFRlLmVuYWJsZT1mdW5jdGlvbihlLHQpe1RlLmVuYWJsZWR8fChUZS5lbmFibGVkPSEwLHdiKGJlLCJyZXNpemUiLExiKSxtZXx8d2IoYmUsInNjcm9sbCIsSmIpLFNlJiZ3YihTY3JvbGxUcmlnZ2VyLCJyZWZyZXNoSW5pdCIsU2UpLCExIT09ZSYmKFRlLnByb2dyZXNzPU9lPTAsRD1SPU1lPUFlKCkpLCExIT09dCYmVGUucmVmcmVzaCgpKX0sVGUuZ2V0VHdlZW49ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJkE/QS50d2VlbjplZX0sVGUuc2V0UG9zaXRpb25zPWZ1bmN0aW9uKGUsdCxyLG4pe2lmKGRlKXt2YXIgbz1kZS5zY3JvbGxUcmlnZ2VyLGk9ZGUuZHVyYXRpb24oKSxhPW8uZW5kLW8uc3RhcnQ7ZT1vLnN0YXJ0K2EqZS9pLHQ9by5zdGFydCthKnQvaX1UZS5yZWZyZXNoKCExLCExLHtzdGFydDpEYShlLHImJiEhVGUuX3N0YXJ0Q2xhbXApLGVuZDpEYSh0LHImJiEhVGUuX2VuZENsYW1wKX0sbiksVGUudXBkYXRlKCl9LFRlLmFkanVzdFBpblNwYWNpbmc9ZnVuY3Rpb24oZSl7aWYoWiYmZSl7dmFyIHQ9Wi5pbmRleE9mKGhlLmQpKzE7Wlt0XT1wYXJzZUZsb2F0KFpbdF0pK2UreHQsWlsxXT1wYXJzZUZsb2F0KFpbMV0pK2UreHQsRXQoWil9fSxUZS5kaXNhYmxlPWZ1bmN0aW9uKGUsdCl7aWYoVGUuZW5hYmxlZCYmKCExIT09ZSYmVGUucmV2ZXJ0KCEwLCEwKSxUZS5lbmFibGVkPVRlLmlzQWN0aXZlPSExLHR8fGVlJiZlZS5wYXVzZSgpLHJlPTAsbiYmKG4udW5jYWNoZT0xKSxTZSYmeGIoU2Nyb2xsVHJpZ2dlciwicmVmcmVzaEluaXQiLFNlKSx0ZSYmKHRlLnBhdXNlKCksQS50d2VlbiYmQS50d2Vlbi5raWxsKCkmJihBLnR3ZWVuPTApKSwhbWUpKXtmb3IodmFyIHI9VHQubGVuZ3RoO3ItLTspaWYoVHRbcl0uc2Nyb2xsZXI9PT1iZSYmVHRbcl0hPT1UZSlyZXR1cm47eGIoYmUsInJlc2l6ZSIsTGIpLG1lfHx4YihiZSwic2Nyb2xsIixKYil9fSxUZS5raWxsPWZ1bmN0aW9uKGUsdCl7VGUuZGlzYWJsZShlLHQpLGVlJiYhdCYmZWUua2lsbCgpLGEmJmRlbGV0ZSBTdFthXTt2YXIgcj1UdC5pbmRleE9mKFRlKTswPD1yJiZUdC5zcGxpY2UociwxKSxyPT09UWUmJjA8TXQmJlFlLS0scj0wLFR0LmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2Nyb2xsZXI9PT1UZS5zY3JvbGxlciYmKHI9MSl9KSxyfHxydHx8KFRlLnNjcm9sbC5yZWM9MCksTyYmKE8uc2Nyb2xsVHJpZ2dlcj1udWxsLGUmJk8ucmV2ZXJ0KHtraWxsOiExfSksdHx8Ty5raWxsKCkpLEkmJltJLEwsWSxGXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKX0pLG90PT09VGUmJihvdD0wKSxhZSYmKG4mJihuLnVuY2FjaGU9MSkscj0wLFR0LmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUucGluPT09YWUmJnIrK30pLHJ8fChuLnNwYWNlcj0wKSksRS5vbktpbGwmJkUub25LaWxsKFRlKX0sVHQucHVzaChUZSksVGUuZW5hYmxlKCExLCExKSxpJiZpKFRlKSxPJiZPLmFkZCYmIU4pe3ZhciB2PVRlLnVwZGF0ZTtUZS51cGRhdGU9ZnVuY3Rpb24oKXtUZS51cGRhdGU9dixCfHxxfHxUZS5yZWZyZXNoKCl9LEhlLmRlbGF5ZWRDYWxsKC4wMSxUZS51cGRhdGUpLE49LjAxLEI9cT0wfWVsc2UgVGUucmVmcmVzaCgpO2FlJiZmdW5jdGlvbiBfcXVldWVSZWZyZXNoQWxsKCl7aWYobnQhPT1rdCl7dmFyIGU9bnQ9a3Q7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7cmV0dXJuIGU9PT1rdCYmUHQoITApfSl9fSgpfWVsc2UgdGhpcy51cGRhdGU9dGhpcy5yZWZyZXNoPXRoaXMua2lsbD1IYX0sU2Nyb2xsVHJpZ2dlci5yZWdpc3Rlcj1mdW5jdGlvbiByZWdpc3RlcihlKXtyZXR1cm4gc3x8KEhlPWV8fEthKCksSmEoKSYmd2luZG93LmRvY3VtZW50JiZTY3JvbGxUcmlnZ2VyLmVuYWJsZSgpLHM9bHQpLHN9LFNjcm9sbFRyaWdnZXIuZGVmYXVsdHM9ZnVuY3Rpb24gZGVmYXVsdHMoZSl7aWYoZSlmb3IodmFyIHQgaW4gZSlDdFt0XT1lW3RdO3JldHVybiBDdH0sU2Nyb2xsVHJpZ2dlci5kaXNhYmxlPWZ1bmN0aW9uIGRpc2FibGUodCxyKXtsdD0wLFR0LmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGVbcj8ia2lsbCI6ImRpc2FibGUiXSh0KX0pLHhiKE5lLCJ3aGVlbCIsSmIpLHhiKFhlLCJzY3JvbGwiLEpiKSxjbGVhckludGVydmFsKHUpLHhiKFhlLCJ0b3VjaGNhbmNlbCIsSGEpLHhiKFdlLCJ0b3VjaHN0YXJ0IixIYSksdmIoeGIsWGUsInBvaW50ZXJkb3duLHRvdWNoc3RhcnQsbW91c2Vkb3duIixGYSksdmIoeGIsWGUsInBvaW50ZXJ1cCx0b3VjaGVuZCxtb3VzZXVwIixHYSksYy5raWxsKCksUmEoeGIpO2Zvcih2YXIgZT0wO2U8SWUubGVuZ3RoO2UrPTMpeWIoeGIsSWVbZV0sSWVbZSsxXSkseWIoeGIsSWVbZV0sSWVbZSsyXSl9LFNjcm9sbFRyaWdnZXIuZW5hYmxlPWZ1bmN0aW9uIGVuYWJsZSgpe2lmKE5lPXdpbmRvdyxYZT1kb2N1bWVudCxKZT1YZS5kb2N1bWVudEVsZW1lbnQsV2U9WGUuYm9keSxIZSYmKFZlPUhlLnV0aWxzLnRvQXJyYXksVWU9SGUudXRpbHMuY2xhbXAseD1IZS5jb3JlLmNvbnRleHR8fEhhLCRlPUhlLmNvcmUuc3VwcHJlc3NPdmVyd3JpdGVzfHxIYSx3PU5lLmhpc3Rvcnkuc2Nyb2xsUmVzdG9yYXRpb258fCJhdXRvIixRPU5lLnBhZ2VZT2Zmc2V0LEhlLmNvcmUuZ2xvYmFscygiU2Nyb2xsVHJpZ2dlciIsU2Nyb2xsVHJpZ2dlciksV2UpKXtsdD0xLChfPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5zdHlsZS5oZWlnaHQ9IjEwMHZoIixfLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsWWIoKSxmdW5jdGlvbiBfcmFmQnVnRml4KCl7cmV0dXJuIGx0JiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoX3JhZkJ1Z0ZpeCl9KCksay5yZWdpc3RlcihIZSksU2Nyb2xsVHJpZ2dlci5pc1RvdWNoPWsuaXNUb3VjaCxFPWsuaXNUb3VjaCYmLyhpUGFkfGlQaG9uZXxpUG9kfE1hYykvZy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9MT09PWsuaXNUb3VjaCx3YihOZSwid2hlZWwiLEpiKSxsPVtOZSxYZSxKZSxXZV0sSGUubWF0Y2hNZWRpYT8oU2Nyb2xsVHJpZ2dlci5tYXRjaE1lZGlhPWZ1bmN0aW9uKGUpe3ZhciB0LHI9SGUubWF0Y2hNZWRpYSgpO2Zvcih0IGluIGUpci5hZGQodCxlW3RdKTtyZXR1cm4gcn0sSGUuYWRkRXZlbnRMaXN0ZW5lcigibWF0Y2hNZWRpYUluaXQiLGZ1bmN0aW9uKCl7cmV0dXJuIFNiKCl9KSxIZS5hZGRFdmVudExpc3RlbmVyKCJtYXRjaE1lZGlhUmV2ZXJ0IixmdW5jdGlvbigpe3JldHVybiBSYigpfSksSGUuYWRkRXZlbnRMaXN0ZW5lcigibWF0Y2hNZWRpYSIsZnVuY3Rpb24oKXtQdCgwLDEpLFUoIm1hdGNoTWVkaWEiKX0pLEhlLm1hdGNoTWVkaWEoIihvcmllbnRhdGlvbjogcG9ydHJhaXQpIixmdW5jdGlvbigpe3JldHVybiBLYigpLEtifSkpOmNvbnNvbGUud2FybigiUmVxdWlyZXMgR1NBUCAzLjExLjAgb3IgbGF0ZXIiKSxLYigpLHdiKFhlLCJzY3JvbGwiLEpiKTt2YXIgZSx0LHI9V2Uuc3R5bGUsbj1yLmJvcmRlclRvcFN0eWxlLG89SGUuY29yZS5BbmltYXRpb24ucHJvdG90eXBlO2ZvcihvLnJldmVydHx8T2JqZWN0LmRlZmluZVByb3BlcnR5KG8sInJldmVydCIse3ZhbHVlOmZ1bmN0aW9uIHZhbHVlKCl7cmV0dXJuIHRoaXMudGltZSgtLjAxLCEwKX19KSxyLmJvcmRlclRvcFN0eWxlPSJzb2xpZCIsZT13dChXZSksRmUubT1NYXRoLnJvdW5kKGUudG9wK0ZlLnNjKCkpfHwwLFllLm09TWF0aC5yb3VuZChlLmxlZnQrWWUuc2MoKSl8fDAsbj9yLmJvcmRlclRvcFN0eWxlPW46ci5yZW1vdmVQcm9wZXJ0eSgiYm9yZGVyLXRvcC1zdHlsZSIpLHU9c2V0SW50ZXJ2YWwoSWIsMjUwKSxIZS5kZWxheWVkQ2FsbCguNSxmdW5jdGlvbigpe3JldHVybiBpdD0wfSksd2IoWGUsInRvdWNoY2FuY2VsIixIYSksd2IoV2UsInRvdWNoc3RhcnQiLEhhKSx2Yih3YixYZSwicG9pbnRlcmRvd24sdG91Y2hzdGFydCxtb3VzZWRvd24iLEZhKSx2Yih3YixYZSwicG9pbnRlcnVwLHRvdWNoZW5kLG1vdXNldXAiLEdhKSxmPUhlLnV0aWxzLmNoZWNrUHJlZml4KCJ0cmFuc2Zvcm0iKSxlZS5wdXNoKGYpLHM9YXQoKSxjPUhlLmRlbGF5ZWRDYWxsKC4yLFB0KS5wYXVzZSgpLGc9W1hlLCJ2aXNpYmlsaXR5Y2hhbmdlIixmdW5jdGlvbigpe3ZhciBlPU5lLmlubmVyV2lkdGgsdD1OZS5pbm5lckhlaWdodDtYZS5oaWRkZW4/KGQ9ZSxwPXQpOmQ9PT1lJiZwPT09dHx8TGIoKX0sWGUsIkRPTUNvbnRlbnRMb2FkZWQiLFB0LE5lLCJsb2FkIixQdCxOZSwicmVzaXplIixMYl0sUmEod2IpLFR0LmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUuZW5hYmxlKDAsMSl9KSx0PTA7dDxJZS5sZW5ndGg7dCs9Myl5Yih4YixJZVt0XSxJZVt0KzFdKSx5Yih4YixJZVt0XSxJZVt0KzJdKX19LFNjcm9sbFRyaWdnZXIuY29uZmlnPWZ1bmN0aW9uIGNvbmZpZyhlKXsibGltaXRDYWxsYmFja3MiaW4gZSYmKHR0PSEhZS5saW1pdENhbGxiYWNrcyk7dmFyIHQ9ZS5zeW5jSW50ZXJ2YWw7dCYmY2xlYXJJbnRlcnZhbCh1KXx8KHU9dCkmJnNldEludGVydmFsKEliLHQpLCJpZ25vcmVNb2JpbGVSZXNpemUiaW4gZSYmKGI9MT09PVNjcm9sbFRyaWdnZXIuaXNUb3VjaCYmZS5pZ25vcmVNb2JpbGVSZXNpemUpLCJhdXRvUmVmcmVzaEV2ZW50cyJpbiBlJiYoUmEoeGIpfHxSYSh3YixlLmF1dG9SZWZyZXNoRXZlbnRzfHwibm9uZSIpLGg9LTE9PT0oZS5hdXRvUmVmcmVzaEV2ZW50cysiIikuaW5kZXhPZigicmVzaXplIikpfSxTY3JvbGxUcmlnZ2VyLnNjcm9sbGVyUHJveHk9ZnVuY3Rpb24gc2Nyb2xsZXJQcm94eShlLHQpe3ZhciByPUooZSksbj1JZS5pbmRleE9mKHIpLG89TGEocik7fm4mJkllLnNwbGljZShuLG8/NjoyKSx0JiYobz9MZS51bnNoaWZ0KE5lLHQsV2UsdCxKZSx0KTpMZS51bnNoaWZ0KHIsdCkpfSxTY3JvbGxUcmlnZ2VyLmNsZWFyTWF0Y2hNZWRpYT1mdW5jdGlvbiBjbGVhck1hdGNoTWVkaWEodCl7VHQuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gZS5fY3R4JiZlLl9jdHgucXVlcnk9PT10JiZlLl9jdHgua2lsbCghMCwhMCl9KX0sU2Nyb2xsVHJpZ2dlci5pc0luVmlld3BvcnQ9ZnVuY3Rpb24gaXNJblZpZXdwb3J0KGUsdCxyKXt2YXIgbj0oY3QoZSk/SihlKTplKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvPW5bcj9mdDpkdF0qdHx8MDtyZXR1cm4gcj8wPG4ucmlnaHQtbyYmbi5sZWZ0K288TmUuaW5uZXJXaWR0aDowPG4uYm90dG9tLW8mJm4udG9wK288TmUuaW5uZXJIZWlnaHR9LFNjcm9sbFRyaWdnZXIucG9zaXRpb25JblZpZXdwb3J0PWZ1bmN0aW9uIHBvc2l0aW9uSW5WaWV3cG9ydChlLHQscil7Y3QoZSkmJihlPUooZSkpO3ZhciBuPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbz1uW3I/ZnQ6ZHRdLGk9bnVsbD09dD9vLzI6dCBpbiBIP0hbdF0qbzp+dC5pbmRleE9mKCIlIik/cGFyc2VGbG9hdCh0KSpvLzEwMDpwYXJzZUZsb2F0KHQpfHwwO3JldHVybiByPyhuLmxlZnQraSkvTmUuaW5uZXJXaWR0aDoobi50b3AraSkvTmUuaW5uZXJIZWlnaHR9LFNjcm9sbFRyaWdnZXIua2lsbEFsbD1mdW5jdGlvbiBraWxsQWxsKGUpe2lmKFR0LnNsaWNlKDApLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIlNjcm9sbFNtb290aGVyIiE9PWUudmFycy5pZCYmZS5raWxsKCl9KSwhMCE9PWUpe3ZhciB0PVcua2lsbEFsbHx8W107Vz17fSx0LmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUoKX0pfX0sU2Nyb2xsVHJpZ2dlcik7ZnVuY3Rpb24gU2Nyb2xsVHJpZ2dlcihlLHQpe3N8fFNjcm9sbFRyaWdnZXIucmVnaXN0ZXIoSGUpfHxjb25zb2xlLndhcm4oIlBsZWFzZSBnc2FwLnJlZ2lzdGVyUGx1Z2luKFNjcm9sbFRyaWdnZXIpIikseCh0aGlzKSx0aGlzLmluaXQoZSx0KX1uZS52ZXJzaW9uPSIzLjEyLjUiLG5lLnNhdmVTdHlsZXM9ZnVuY3Rpb24oZSl7cmV0dXJuIGU/VmUoZSkuZm9yRWFjaChmdW5jdGlvbihlKXtpZihlJiZlLnN0eWxlKXt2YXIgdD1qLmluZGV4T2YoZSk7MDw9dCYmai5zcGxpY2UodCw1KSxqLnB1c2goZSxlLnN0eWxlLmNzc1RleHQsZS5nZXRCQm94JiZlLmdldEF0dHJpYnV0ZSgidHJhbnNmb3JtIiksSGUuY29yZS5nZXRDYWNoZShlKSx4KCkpfX0pOmp9LG5lLnJldmVydD1mdW5jdGlvbihlLHQpe3JldHVybiBTYighZSx0KX0sbmUuY3JlYXRlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5ldyBuZShlLHQpfSxuZS5yZWZyZXNoPWZ1bmN0aW9uKGUpe3JldHVybiBlP0xiKCk6KHN8fG5lLnJlZ2lzdGVyKCkpJiZQdCghMCl9LG5lLnVwZGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4rK0llLmNhY2hlJiZaKCEwPT09ZT8yOjApfSxuZS5jbGVhclNjcm9sbE1lbW9yeT1UYixuZS5tYXhTY3JvbGw9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gUWEoZSx0P1llOkZlKX0sbmUuZ2V0U2Nyb2xsRnVuYz1mdW5jdGlvbihlLHQpe3JldHVybiBLKEooZSksdD9ZZTpGZSl9LG5lLmdldEJ5SWQ9ZnVuY3Rpb24oZSl7cmV0dXJuIFN0W2VdfSxuZS5nZXRBbGw9ZnVuY3Rpb24oKXtyZXR1cm4gVHQuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiJTY3JvbGxTbW9vdGhlciIhPT1lLnZhcnMuaWR9KX0sbmUuaXNTY3JvbGxpbmc9ZnVuY3Rpb24oKXtyZXR1cm4hIXN0fSxuZS5zbmFwRGlyZWN0aW9uYWw9dGIsbmUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3ZhciByPVdbZV18fChXW2VdPVtdKTt+ci5pbmRleE9mKHQpfHxyLnB1c2godCl9LG5lLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oZSx0KXt2YXIgcj1XW2VdLG49ciYmci5pbmRleE9mKHQpOzA8PW4mJnIuc3BsaWNlKG4sMSl9LG5lLmJhdGNoPWZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gQ3AoZSx0KXt2YXIgcj1bXSxuPVtdLG89SGUuZGVsYXllZENhbGwoaSxmdW5jdGlvbigpe3QocixuKSxyPVtdLG49W119KS5wYXVzZSgpO3JldHVybiBmdW5jdGlvbihlKXtyLmxlbmd0aHx8by5yZXN0YXJ0KCEwKSxyLnB1c2goZS50cmlnZ2VyKSxuLnB1c2goZSksYTw9ci5sZW5ndGgmJm8ucHJvZ3Jlc3MoMSl9fXZhciByLG49W10sbz17fSxpPXQuaW50ZXJ2YWx8fC4wMTYsYT10LmJhdGNoTWF4fHwxZTk7Zm9yKHIgaW4gdClvW3JdPSJvbiI9PT1yLnN1YnN0cigwLDIpJiZUYSh0W3JdKSYmIm9uUmVmcmVzaEluaXQiIT09cj9DcCgwLHRbcl0pOnRbcl07cmV0dXJuIFRhKGEpJiYoYT1hKCksd2IobmUsInJlZnJlc2giLGZ1bmN0aW9uKCl7cmV0dXJuIGE9dC5iYXRjaE1heCgpfSkpLFZlKGUpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9e307Zm9yKHIgaW4gbyl0W3JdPW9bcl07dC50cmlnZ2VyPWUsbi5wdXNoKG5lLmNyZWF0ZSh0KSl9KSxufTtmdW5jdGlvbiB0YyhlLHQscixuKXtyZXR1cm4gbjx0P2Uobik6dDwwJiZlKDApLG48cj8obi10KS8oci10KTpyPDA/dC8odC1yKToxfWZ1bmN0aW9uIHVjKGUsdCl7ITA9PT10P2Uuc3R5bGUucmVtb3ZlUHJvcGVydHkoInRvdWNoLWFjdGlvbiIpOmUuc3R5bGUudG91Y2hBY3Rpb249ITA9PT10PyJhdXRvIjp0PyJwYW4tIit0KyhrLmlzVG91Y2g/IiBwaW5jaC16b29tIjoiIik6Im5vbmUiLGU9PT1KZSYmdWMoV2UsdCl9ZnVuY3Rpb24gd2MoZSl7dmFyIHQscj1lLmV2ZW50LG49ZS50YXJnZXQsbz1lLmF4aXMsaT0oci5jaGFuZ2VkVG91Y2hlcz9yLmNoYW5nZWRUb3VjaGVzWzBdOnIpLnRhcmdldCxhPWkuX2dzYXB8fEhlLmNvcmUuZ2V0Q2FjaGUoaSkscz1hdCgpO2lmKCFhLl9pc1Njcm9sbFR8fDJlMzxzLWEuX2lzU2Nyb2xsVCl7Zm9yKDtpJiZpIT09V2UmJihpLnNjcm9sbEhlaWdodDw9aS5jbGllbnRIZWlnaHQmJmkuc2Nyb2xsV2lkdGg8PWkuY2xpZW50V2lkdGh8fCFpZVsodD1tYihpKSkub3ZlcmZsb3dZXSYmIWllW3Qub3ZlcmZsb3dYXSk7KWk9aS5wYXJlbnROb2RlO2EuX2lzU2Nyb2xsPWkmJmkhPT1uJiYhTGEoaSkmJihpZVsodD1tYihpKSkub3ZlcmZsb3dZXXx8aWVbdC5vdmVyZmxvd1hdKSxhLl9pc1Njcm9sbFQ9c30hYS5faXNTY3JvbGwmJiJ4IiE9PW98fChyLnN0b3BQcm9wYWdhdGlvbigpLHIuX2dzYXBBbGxvdz0hMCl9ZnVuY3Rpb24geGMoZSx0LHIsbil7cmV0dXJuIGsuY3JlYXRlKHt0YXJnZXQ6ZSxjYXB0dXJlOiEwLGRlYm91bmNlOiExLGxvY2tBeGlzOiEwLHR5cGU6dCxvbldoZWVsOm49biYmd2Msb25QcmVzczpuLG9uRHJhZzpuLG9uU2Nyb2xsOm4sb25FbmFibGU6ZnVuY3Rpb24gb25FbmFibGUoKXtyZXR1cm4gciYmd2IoWGUsay5ldmVudFR5cGVzWzBdLHNlLCExLCEwKX0sb25EaXNhYmxlOmZ1bmN0aW9uIG9uRGlzYWJsZSgpe3JldHVybiB4YihYZSxrLmV2ZW50VHlwZXNbMF0sc2UsITApfX0pfWZ1bmN0aW9uIEJjKGUpe2Z1bmN0aW9uIHpxKCl7cmV0dXJuIG89ITF9ZnVuY3Rpb24gQ3EoKXtpPVFhKHAsRmUpLFM9VWUoRT8xOjAsaSksZiYmKFQ9VWUoMCxRYShwLFllKSkpLGw9a3R9ZnVuY3Rpb24gRHEoKXt2Ll9nc2FwLnk9SWEocGFyc2VGbG9hdCh2Ll9nc2FwLnkpK2Iub2Zmc2V0KSsicHgiLHYuc3R5bGUudHJhbnNmb3JtPSJtYXRyaXgzZCgxLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAiK3BhcnNlRmxvYXQodi5fZ3NhcC55KSsiLCAwLCAxKSIsYi5vZmZzZXQ9Yi5jYWNoZUlEPTB9ZnVuY3Rpb24gSnEoKXtDcSgpLGEuaXNBY3RpdmUoKSYmYS52YXJzLnNjcm9sbFk+aSYmKGIoKT5pP2EucHJvZ3Jlc3MoMSkmJmIoaSk6YS5yZXNldFRvKCJzY3JvbGxZIixpKSl9VmEoZSl8fChlPXt9KSxlLnByZXZlbnREZWZhdWx0PWUuaXNOb3JtYWxpemVyPWUuYWxsb3dDbGlja3M9ITAsZS50eXBlfHwoZS50eXBlPSJ3aGVlbCx0b3VjaCIpLGUuZGVib3VuY2U9ISFlLmRlYm91bmNlLGUuaWQ9ZS5pZHx8Im5vcm1hbGl6ZXIiO3ZhciBuLGksbCxvLGEsYyx1LHMsZj1lLm5vcm1hbGl6ZVNjcm9sbFgsdD1lLm1vbWVudHVtLHI9ZS5hbGxvd05lc3RlZFNjcm9sbCxkPWUub25SZWxlYXNlLHA9SihlLnRhcmdldCl8fEplLGc9SGUuY29yZS5nbG9iYWxzKCkuU2Nyb2xsU21vb3RoZXIsaD1nJiZnLmdldCgpLHY9RSYmKGUuY29udGVudCYmSihlLmNvbnRlbnQpfHxoJiYhMSE9PWUuY29udGVudCYmIWguc21vb3RoKCkmJmguY29udGVudCgpKSxiPUsocCxGZSksbT1LKHAsWWUpLHk9MSx4PShrLmlzVG91Y2gmJk5lLnZpc3VhbFZpZXdwb3J0P05lLnZpc3VhbFZpZXdwb3J0LnNjYWxlKk5lLnZpc3VhbFZpZXdwb3J0LndpZHRoOk5lLm91dGVyV2lkdGgpL05lLmlubmVyV2lkdGgsdz0wLF89VGEodCk/ZnVuY3Rpb24oKXtyZXR1cm4gdChuKX06ZnVuY3Rpb24oKXtyZXR1cm4gdHx8Mi44fSxDPXhjKHAsZS50eXBlLCEwLHIpLFQ9SGEsUz1IYTtyZXR1cm4gdiYmSGUuc2V0KHYse3k6Iis9MCJ9KSxlLmlnbm9yZUNoZWNrPWZ1bmN0aW9uKGUpe3JldHVybiBFJiYidG91Y2htb3ZlIj09PWUudHlwZSYmZnVuY3Rpb24gaWdub3JlRHJhZygpe2lmKG8pe3JlcXVlc3RBbmltYXRpb25GcmFtZSh6cSk7dmFyIGU9SWEobi5kZWx0YVkvMiksdD1TKGIudi1lKTtpZih2JiZ0IT09Yi52K2Iub2Zmc2V0KXtiLm9mZnNldD10LWIudjt2YXIgcj1JYSgocGFyc2VGbG9hdCh2JiZ2Ll9nc2FwLnkpfHwwKS1iLm9mZnNldCk7di5zdHlsZS50cmFuc2Zvcm09Im1hdHJpeDNkKDEsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDEsIDAsIDAsICIrcisiLCAwLCAxKSIsdi5fZ3NhcC55PXIrInB4IixiLmNhY2hlSUQ9SWUuY2FjaGUsWigpfXJldHVybiEwfWIub2Zmc2V0JiZEcSgpLG89ITB9KCl8fDEuMDU8eSYmInRvdWNoc3RhcnQiIT09ZS50eXBlfHxuLmlzR2VzdHVyaW5nfHxlLnRvdWNoZXMmJjE8ZS50b3VjaGVzLmxlbmd0aH0sZS5vblByZXNzPWZ1bmN0aW9uKCl7bz0hMTt2YXIgZT15O3k9SWEoKE5lLnZpc3VhbFZpZXdwb3J0JiZOZS52aXN1YWxWaWV3cG9ydC5zY2FsZXx8MSkveCksYS5wYXVzZSgpLGUhPT15JiZ1YyhwLDEuMDE8eXx8IWYmJiJ4IiksYz1tKCksdT1iKCksQ3EoKSxsPWt0fSxlLm9uUmVsZWFzZT1lLm9uR2VzdHVyZVN0YXJ0PWZ1bmN0aW9uKGUsdCl7aWYoYi5vZmZzZXQmJkRxKCksdCl7SWUuY2FjaGUrKzt2YXIgcixuLG89XygpO2YmJihuPShyPW0oKSkrLjA1Km8qLWUudmVsb2NpdHlYLy4yMjcsbyo9dGMobSxyLG4sUWEocCxZZSkpLGEudmFycy5zY3JvbGxYPVQobikpLG49KHI9YigpKSsuMDUqbyotZS52ZWxvY2l0eVkvLjIyNyxvKj10YyhiLHIsbixRYShwLEZlKSksYS52YXJzLnNjcm9sbFk9UyhuKSxhLmludmFsaWRhdGUoKS5kdXJhdGlvbihvKS5wbGF5KC4wMSksKEUmJmEudmFycy5zY3JvbGxZPj1pfHxpLTE8PXIpJiZIZS50byh7fSx7b25VcGRhdGU6SnEsZHVyYXRpb246b30pfWVsc2Ugcy5yZXN0YXJ0KCEwKTtkJiZkKGUpfSxlLm9uV2hlZWw9ZnVuY3Rpb24oKXthLl90cyYmYS5wYXVzZSgpLDFlMzxhdCgpLXcmJihsPTAsdz1hdCgpKX0sZS5vbkNoYW5nZT1mdW5jdGlvbihlLHQscixuLG8pe2lmKGt0IT09bCYmQ3EoKSx0JiZmJiZtKFQoblsyXT09PXQ/YysoZS5zdGFydFgtZS54KTptKCkrdC1uWzFdKSkscil7Yi5vZmZzZXQmJkRxKCk7dmFyIGk9b1syXT09PXIsYT1pP3UrZS5zdGFydFktZS55OmIoKStyLW9bMV0scz1TKGEpO2kmJmEhPT1zJiYodSs9cy1hKSxiKHMpfShyfHx0KSYmWigpfSxlLm9uRW5hYmxlPWZ1bmN0aW9uKCl7dWMocCwhZiYmIngiKSxuZS5hZGRFdmVudExpc3RlbmVyKCJyZWZyZXNoIixKcSksd2IoTmUsInJlc2l6ZSIsSnEpLGIuc21vb3RoJiYoYi50YXJnZXQuc3R5bGUuc2Nyb2xsQmVoYXZpb3I9ImF1dG8iLGIuc21vb3RoPW0uc21vb3RoPSExKSxDLmVuYWJsZSgpfSxlLm9uRGlzYWJsZT1mdW5jdGlvbigpe3VjKHAsITApLHhiKE5lLCJyZXNpemUiLEpxKSxuZS5yZW1vdmVFdmVudExpc3RlbmVyKCJyZWZyZXNoIixKcSksQy5raWxsKCl9LGUubG9ja0F4aXM9ITEhPT1lLmxvY2tBeGlzLCgobj1uZXcgayhlKSkuaU9TPUUpJiYhYigpJiZiKDEpLEUmJkhlLnRpY2tlci5hZGQoSGEpLHM9bi5fZGMsYT1IZS50byhuLHtlYXNlOiJwb3dlcjQiLHBhdXNlZDohMCxpbmhlcml0OiExLHNjcm9sbFg6Zj8iKz0wLjEiOiIrPTAiLHNjcm9sbFk6Iis9MC4xIixtb2RpZmllcnM6e3Njcm9sbFk6cGMoYixiKCksZnVuY3Rpb24oKXtyZXR1cm4gYS5wYXVzZSgpfSl9LG9uVXBkYXRlOlosb25Db21wbGV0ZTpzLnZhcnMub25Db21wbGV0ZX0pLG59dmFyIG9lLGllPXthdXRvOjEsc2Nyb2xsOjF9LGFlPS8oaW5wdXR8bGFiZWx8c2VsZWN0fHRleHRhcmVhKS9pLHNlPWZ1bmN0aW9uIF9jYXB0dXJlSW5wdXRzKGUpe3ZhciB0PWFlLnRlc3QoZS50YXJnZXQudGFnTmFtZSk7KHR8fG9lKSYmKGUuX2dzYXBBbGxvdz0hMCxvZT10KX07bmUuc29ydD1mdW5jdGlvbihlKXtyZXR1cm4gVHQuc29ydChlfHxmdW5jdGlvbihlLHQpe3JldHVybi0xZTYqKGUudmFycy5yZWZyZXNoUHJpb3JpdHl8fDApK2Uuc3RhcnQtKHQuc3RhcnQrLTFlNioodC52YXJzLnJlZnJlc2hQcmlvcml0eXx8MCkpfSl9LG5lLm9ic2VydmU9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBrKGUpfSxuZS5ub3JtYWxpemVTY3JvbGw9ZnVuY3Rpb24oZSl7aWYodm9pZCAwPT09ZSlyZXR1cm4gdjtpZighMD09PWUmJnYpcmV0dXJuIHYuZW5hYmxlKCk7aWYoITE9PT1lKXJldHVybiB2JiZ2LmtpbGwoKSx2b2lkKHY9ZSk7dmFyIHQ9ZSBpbnN0YW5jZW9mIGs/ZTpCYyhlKTtyZXR1cm4gdiYmdi50YXJnZXQ9PT10LnRhcmdldCYmdi5raWxsKCksTGEodC50YXJnZXQpJiYodj10KSx0fSxuZS5jb3JlPXtfZ2V0VmVsb2NpdHlQcm9wOkwsX2lucHV0T2JzZXJ2ZXI6eGMsX3Njcm9sbGVyczpJZSxfcHJveGllczpMZSxicmlkZ2U6e3NzOmZ1bmN0aW9uIHNzKCl7c3R8fFUoInNjcm9sbFN0YXJ0Iiksc3Q9YXQoKX0scmVmOmZ1bmN0aW9uIHJlZigpe3JldHVybiBqZX19fSxLYSgpJiZIZS5yZWdpc3RlclBsdWdpbihuZSksZS5TY3JvbGxUcmlnZ2VyPW5lLGUuZGVmYXVsdD1uZTtpZiAodHlwZW9mKHdpbmRvdyk9PT0idW5kZWZpbmVkInx8d2luZG93IT09ZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSBlbHNlIHtkZWxldGUgZS5kZWZhdWx0fX0pOwo="}},"time_used":510,"timings":{"blocked":416,"dns":0,"connect":0,"send":0,"wait":94,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/uploads/2023/10/photo-2.jpg","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.930Z","timestamp":1785141582930,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/uploads/2023/10/photo-2.jpg HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,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://oxlofttrd.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 10:11:23 GMT\r\nAccept-Ranges: bytes\r\nContent-Length: 90871\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nKeep-Alive: timeout=5, max=95\r\nConnection: Keep-Alive\r\nContent-Type: image/jpeg\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":90871,"size_decoded":91178,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 866x536, components 3","md5":"a3b1bfeee70062f48420f8d2d7038036","sha1":"92736fe7b9af090634bc61572b4b3e00730c1c9d","sha256":"e113af2afb84f84737f1a45dc252c91f37d3e3b90a665989f56dd02a39beab3e","sha512":"0f63d75c0335c5ea05a2611b0fc4b61cdf9e78ba619b5b9a35ecdb1fb5bdc19b2e590aa74f24b61db38f1f54fbd5571edcc816c5e92d689c54fab2d576178387","ssdeep":"1536:7DAJCLsmfmtz0AMUA7rXO8P0TtU1IXrYFCBT06a/EN7rCyAgz:BIz0AM7fXO8sTtU1IXqm7jDz","tlshash":"da9302057765e650da674b391b2798f5bc4eb8ef1cd020ce3e57cc273a018939aa4eb4","first_seen":"2025-04-11T16:35:54.147311Z","last_seen":"2026-07-27T12:12:28.86103Z","times_seen":6,"resource_available":false,"data":"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"}},"time_used":856,"timings":{"blocked":673,"dns":0,"connect":0,"send":0,"wait":92,"receive":91,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJtEtqUYTkntBJ.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:43.459Z","timestamp":1785141583459,"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/outfit/v15/QGYvz_MVcBeNP4NJtEtqUYTkntBJ.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://oxlofttrd.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: 32108\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 06:09:31 GMT\r\nexpires: Fri, 23 Jul 2027 06:09:31 GMT\r\ncache-control: public, max-age=31536000\r\nage: 354612\r\nlast-modified: Thu, 04 Sep 2025 17:18:28 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":32108,"size_decoded":32921,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 32108, version 1.0","md5":"e414fe5664f376c8f145acd792939183","sha1":"5b69d46adc3a06af762193adb2dddbc359b2e786","sha256":"fa31c7981483e52cbb8b8bc1eb0dc6326f160b8699cc0899349f977f0517a9df","sha512":"51c251910e5cce616b3c336bcb63853f83c306e16e9b79e0a18f924a738ba06b3e2cb8132ff9bc6e720527234eb80e90be2625b860e1728b66d4fe86ac9bafe5","ssdeep":"768:gUX6jLkDeuAkZHs27nAflEFIapAgCauwIFPo3zjERcgmcjz:3X6tkpNAf6FIapAgCaMFozInjz","tlshash":"6ee2e14f8beb009ef3828a7812c46b3195b305d569cbfa901eef85d76b5c247c1474a8","first_seen":"2025-09-05T02:25:45.343777Z","last_seen":"2026-07-27T15:06:26.559462Z","times_seen":27671,"resource_available":false,"data":"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"}},"time_used":68,"timings":{"blocked":15,"dns":0,"connect":0,"send":0,"wait":35,"receive":18,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/13809.c2bb1623ced77ad07f9c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.128Z","timestamp":1785141584128,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/13809.c2bb1623ced77ad07f9c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-1f4a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 08c7a9238aaaef4069f234ffcfaf4722\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":8010,"size_decoded":2518,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (8010), with no line terminators","md5":"4f0cb68a495862c356ff327ec986f404","sha1":"77305dc905a65eed86ee7c9297d7a3077ae28681","sha256":"30068922a8c864edfc76ec495f5824dc74a5bf90ffbdf13361962b688b876c0b","sha512":"68ba4919ba3409e0c8a9821aeb3de864470ef059bf11eb630b556a3f334f2eac8ab99a13abb1be0c8d86cd217e68af6a82864ad1415f3e54e02b762ef432c2e5","ssdeep":"96:DojZtH5/5CHWuyfvKH3qLs3uBGKKloim/QEann:2tHr+wfvKXLDXmYNnn","tlshash":"86f1ae05e1b463ba74bb8d5cb784dc5a6300d2b3ce24d7dff690680a85c65872e6b88d","first_seen":"2026-04-16T17:44:11.976987Z","last_seen":"2026-07-27T14:50:15.486887Z","times_seen":1008,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtaUE5STp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLV8xLWlBOUk6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWlBOUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLV8xLWlBOUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9LnR2LWNvbnRyb2wtZmllbGRzZXR7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjMwcHg7bWluLXdpZHRoOjB9LnR2LWNvbnRyb2wtZmllbGRzZXQ6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6dGFibGV9LnR2LWNvbnRyb2wtZmllbGRzZXQtLXNwYWNpbmdfeHNtYWxse21hcmdpbi1ib3R0b206MTBweH0udHYtY29udHJvbC1maWVsZHNldC0tZmlyc3R7bWFyZ2luLXRvcDoxMnB4fS50di1jb250cm9sLWZpZWxkc2V0Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtY29udHJvbC1maWVsZHNldHttYXJnaW4tYm90dG9tOjIwcHh9fS50di1jb250cm9sLWZpZWxkc2V0X19ncm91cHtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLC50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztmbG9hdDppbmxpbmUtc3RhcnR9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLS12ZXJ0aWNhbCwudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtLXZlcnRpY2Fse2Zsb2F0Om5vbmV9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLS1jaGVja2JveCwudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtLWNoZWNrYm94e3BhZGRpbmctdG9wOjJweCFpbXBvcnRhbnR9QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbCwudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWV7ZmxvYXQ6bm9uZX19LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVse2NsZWFyOmlubGluZS1zdGFydDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOjEzcHg7cGFkZGluZy1ibG9jazoxMHB4IDA7cGFkZGluZy1pbmxpbmU6MCAyMHB4O3dpZHRoOjMwJX0udHYtY29udHJvbC1maWVsZHNldF9fbGFiZWwtLXRvcHtwYWRkaW5nLXRvcDowfS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC0tdmVydGljYWx7cGFkZGluZzowIDAgNHB4O3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLS1jb2xvcl9kYXJre2NvbG9yOnZhcigtLV8wLWlBOUkpfS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC0td2lkdGhfc21hbGx7d2lkdGg6MjYlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1maWVsZHNldF9fbGFiZWwtLXdpZHRoX3NtYWxse3dpZHRoOmF1dG99fS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC0tc2l6ZV9zbWFsbHtwYWRkaW5nLXRvcDo0cHh9QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbHtwYWRkaW5nOjAgMCAxMHB4O3dpZHRoOmF1dG99fS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMnB4O2hlaWdodDoxMnB4O2xpbmUtaGVpZ2h0OjE7dmVydGljYWwtYWxpZ246c3VwZXJ9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLWljb24gc3Zne2hlaWdodDoxMDAlO3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVle3dpZHRoOjcwJX0udHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtLXZlcnRpY2Fse3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLS13aWR0aF9iaWd7d2lkdGg6NzQlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUsLnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLS13aWR0aF9iaWd7d2lkdGg6YXV0b319LnR2LWNvbnRyb2wtZmllbGRzZXRfX3RleHR7bWFyZ2luLWJvdHRvbToxMnB4fS50di1jb250cm9sLWZpZWxkc2V0X190ZXh0Omxhc3Qtb2YtdHlwZXttYXJnaW4tYm90dG9tOjB9LnR2LWNvbnRyb2wtZmllbGRzZXQtLWJsb2NrIC50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbCwudHYtY29udHJvbC1maWVsZHNldC0tYmxvY2sgLnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVle2Zsb2F0Om5vbmU7cGFkZGluZzowO3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXQtLWJsb2NrIC50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbHttYXJnaW4tYm90dG9tOjEwcHh9LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLWNvbnRyb2x7ZGlzcGxheTpibG9ja30udHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtY29udHJvbC5saW5rLC50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6dmlzaXRlZHtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcil9fS50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLWNvbnRyb2wubGluazpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX19LnR2LWNvbnRyb2wtZmllbGRzZXRfX2lucHV0LXZhbHVle2ZsZXg6MTttYXJnaW4taW5saW5lLWVuZDoxMnB4fS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWZpZWxkc2V0X19ncm91cC1idG57cGFkZGluZzowfS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWZpZWxkc2V0X19ncm91cC1idG4gc3Zne21hcmdpbi1ib3R0b206MXB4fS50di1jb250cm9sLWZpZWxkc2V0X19ncm91cC1idG46Zmlyc3QtY2hpbGR7bWFyZ2luLWlubGluZS1lbmQ6NXB4fS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWZpZWxkc2V0X19zaW5nbGUtaWNvbi1idG57cGFkZGluZzowIDEycHh9LnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtZmllbGRzZXRfX3NpbmdsZS1pY29uLWJ0biBzdmd7bWFyZ2luLWJvdHRvbTo0cHh9LnR2LWNvbnRyb2wtZmllbGRzZXRfX3RyYXNoLWljb24gc3Zne2NvbG9yOnJlZH0udHYtY29udHJvbC1maWVsZHNldF9faGludHtjb2xvcjp2YXIoLS1fMS1pQTlJKTtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuNDttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLXRvcDoxMHB4fS50di1jb250cm9sLWZpZWxkc2V0X19oaW50IC5saW5rLC50di1jb250cm9sLWZpZWxkc2V0X19oaW50IC5saW5rOnZpc2l0ZWR7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1maWVsZHNldF9faGludCAubGluazpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKX19LnR2LWNvbnRyb2wtZmllbGRzZXRfX2hpbnQgLmxpbms6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2hpbnQgLmxpbms6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtY29udHJvbC1maWVsZHNldF9faGludCAubGluazpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2hpbnQgLmxpbms6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWZpZWxkc2V0X19oaW50IC5saW5rOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9fS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWlucHV0W3JlYWRvbmx5XXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9LnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtaW5wdXQuaS1kaXNhYmxlZDo6cGxhY2Vob2xkZXIsLnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtaW5wdXRbZGlzYWJsZWRdOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1maWVsZHNldCAudHYtY29udHJvbC1udW1iZXItaW5wdXRfX2lucHV0LmktZGlzYWJsZWQ6OnBsYWNlaG9sZGVyLC50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLW51bWJlci1pbnB1dF9faW5wdXRbZGlzYWJsZWRdOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1maWVsZHNldCAudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wuaS1kaXNhYmxlZDo6cGxhY2Vob2xkZXIsLnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sW2Rpc2FibGVkXTo6cGxhY2Vob2xkZXIsLnR2LWNvbnRyb2wtZmllbGRzZXQgc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0LmktZGlzYWJsZWQ6OnBsYWNlaG9sZGVyLC50di1jb250cm9sLWZpZWxkc2V0IHNlbGVjdC50di1jb250cm9sLXNlbGVjdFtkaXNhYmxlZF06OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLWljb25zKX1bZGF0YS10aGVtZT1saWdodF17LS1fMC1FWFJ4OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtRVhSeDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0udHYtY29udHJvbC1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MnB4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpO2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjEzcHg7aGVpZ2h0OjM0cHg7cGFkZGluZzowIDEycHg7d2lkdGg6MTAwJTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4zNXMgZWFzZSxiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZX0udHYtY29udHJvbC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItcGxhY2Vob2xkZXIpO29wYWNpdHk6MX0udHYtY29udHJvbC1pbnB1dDotd2Via2l0LWF1dG9maWxsey13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApIWltcG9ydGFudDtib3gtc2hhZG93Omluc2V0IDAgMCAwIDEwMDBweCAjZmZmIWltcG9ydGFudH0udHYtY29udHJvbC1pbnB1dC0tc2l6ZV94c21hbGx7aGVpZ2h0OjE5cHh9LnR2LWNvbnRyb2wtaW5wdXQtLXNpemVfc21hbGx7aGVpZ2h0OjI3cHh9LnR2LWNvbnRyb2wtaW5wdXQtLXNpemVfbGFyZ2V7Zm9udC1zaXplOjE2cHg7aGVpZ2h0OjQ4cHh9LnR2LWNvbnRyb2wtaW5wdXQtLWNvbm5lY3R7Ym9yZGVyLWlubGluZS1lbmQ6MDtib3JkZXItaW5saW5lLXN0YXJ0OjA7Ym9yZGVyLXJhZGl1czowfS50di1jb250cm9sLWlucHV0LS1jb25uZWN0X2xlZnR7Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6MDtib3JkZXItaW5saW5lLXN0YXJ0Om5vbmU7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czowfS50di1jb250cm9sLWlucHV0LS1jb25uZWN0X3JpZ2h0e2JvcmRlci1lbmQtZW5kLXJhZGl1czowO2JvcmRlci1pbmxpbmUtZW5kOm5vbmU7Ym9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6MH0udHYtY29udHJvbC1pbnB1dC0tY29ubmVjdF9yaWdodCNpZF91c2VybmFtZTpkaXIocnRsKXtkaXJlY3Rpb246bHRyO3RleHQtYWxpZ246cmlnaHR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWlucHV0OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItaG92ZXIpO3RyYW5zaXRpb24tZHVyYXRpb246NjBtc319LnR2LWNvbnRyb2wtaW5wdXQ6Zm9jdXN7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSFpbXBvcnRhbnQ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di1jb250cm9sLWlucHV0W3JlYWRvbmx5XXtib3JkZXItY29sb3I6dmFyKC0tXzAtRVhSeCk7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LWNvbnRyb2wtaW5wdXRbcmVhZG9ubHldOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yKSFpbXBvcnRhbnR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWlucHV0W3JlYWRvbmx5XTpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50fX0udHYtY29udHJvbC1pbnB1dC5pLWRpc2FibGVkLC50di1jb250cm9sLWlucHV0W2Rpc2FibGVkXXtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50O2NvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH0udHYtY29udHJvbC1pbnB1dC5pLWRpc2FibGVkOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1pbnB1dFtkaXNhYmxlZF06OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtaW5wdXQuaS1kaXNhYmxlZDpob3ZlciwudHYtY29udHJvbC1pbnB1dFtkaXNhYmxlZF06aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH19LnR2LWNvbnRyb2wtaW5wdXQuaS1lcnJvcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKSFpbXBvcnRhbnR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWlucHV0LmktZXJyb3I6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCkhaW1wb3J0YW50fX0udHYtY29udHJvbC1pbnB1dC5pLWVycm9yOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApIWltcG9ydGFudH0udHYtY29udHJvbC1pbnB1dC5pLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpIWltcG9ydGFudH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtaW5wdXQuaS1zdWNjZXNzOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWhvdmVyKSFpbXBvcnRhbnR9fS50di1jb250cm9sLWlucHV0Lmktc3VjY2VzczphY3RpdmUsLnR2LWNvbnRyb2wtaW5wdXQuaS1zdWNjZXNzOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWFjdGl2ZSkhaW1wb3J0YW50fS50di1jb250cm9sLWlucHV0LS1waG9uZXtkaXJlY3Rpb246bHRyO3RleHQtYWxpZ246c3RhcnR9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/5184.0fb4574cacec16f6365d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.688Z","timestamp":1785141584688,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/5184.0fb4574cacec16f6365d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-15fc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 763e628ad7194a5e5b4cdb1706f1ae25\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5628,"size_decoded":2039,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5628), with no line terminators","md5":"d7588c0ef38ed29f77c4285858768089","sha1":"1b0f8982c149f743f7af67d6a43e5bbcb09a698d","sha256":"09e34aab9f0ab1c517da25dd9e6a703968584d31fa0d044e61e48e60b623b691","sha512":"b072070b0ef82141c4d509c12596a605d3a427c3846b30a521d776f92a143f39e56b0d8eb974dfb0d88ab28bdf7413ad92d069ef724fecfb75ef30963cd73953","ssdeep":"48:LKn0fdtTAnnRpxyy+QPoL39OYuNyFejYkdY9Ik9s+1eyv68oc94XcW3te8nnfBvr:LKiTAVyKP+uNyApXcapnnfB/D5F","tlshash":"bbc1c343b5d0bc347f1266d86bf821adb6c0adb1e80321dab475b83588c1bfb54a1e65","first_seen":"2026-07-16T13:40:49.878413Z","last_seen":"2026-07-27T14:50:15.296458Z","times_seen":208,"resource_available":false,"data":"LmJhZGdlLXg0VVZaYWJNey0tdWktbGliLXNpemUtZGVmOnZhcigtLXVpLWxpYi1pbi1iYWRnZS1zaXplLHZhcigtLXVpLWxpYi1wcml2YXRlLWJhZGdlLXNpemUsNCkpOy0tdWktbGliLXNpemUtZGVmLXhzbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAyKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMikpKTstLXVpLWxpYi1zaXplLWRlZi1zbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMykpKTstLXVpLWxpYi1zaXplLWRlZi1tZWRpdW06Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDQpKSk7LS11aS1saWItc2l6ZS1kZWYtbGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDUpKSk7LS11aS1saWItc2l6ZS1kZWYteGxhcmdlOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDYpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA2KSkpOy0tdWktbGliLWJhZGdlLWRlZmF1bHQtcGFkZGluZy1sZWZ0OnZhcigtLXVpLWxpYi1iYWRnZS1kZWZhdWx0LXBhZGRpbmctaG9yKTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LXBhZGRpbmctcmlnaHQ6dmFyKC0tdWktbGliLWJhZGdlLWRlZmF1bHQtcGFkZGluZy1ob3IpOy0tdWktbGliLWJhZGdlLWJvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSozcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqOHB4KTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjEycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoyMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoyNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMzJweCk7LS11aS1saWItYmFkZ2UtYWN0dWFsLWhlaWdodDp2YXIoLS11aS1saWItYmFkZ2UtaGVpZ2h0LHZhcigtLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWhlaWdodCkpO2JvcmRlci1yYWRpdXM6dmFyKC0tdWktbGliLWJhZGdlLWJvcmRlci1yYWRpdXMpO2ZvbnQtc2l6ZTpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjhweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTFweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjExcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjE0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxN3B4KTtmb250LXdlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjcwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNjAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNjAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo2MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo3MDApO2hlaWdodDp2YXIoLS11aS1saWItYmFkZ2UtYWN0dWFsLWhlaWdodCk7bGV0dGVyLXNwYWNpbmc6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSouNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSouMDJlbSArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKi4wNWVtICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSowcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSouMDJlbSk7cGFkZGluZy1ibG9jazowIDA7cGFkZGluZy1pbmxpbmU6dmFyKC0tdWktbGliLWJhZGdlLXBhZGRpbmctbGVmdCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1wYWRkaW5nLWxlZnQpKSB2YXIoLS11aS1saWItYmFkZ2UtcGFkZGluZy1yaWdodCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1wYWRkaW5nLXJpZ2h0KSk7LS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWxpZ2h0KTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWJhZGdlLWJhY2tncm91bmQsdmFyKC0tdWktbGliLWJhZGdlLWRlZmF1bHQtY29sb3ItYmFja2dyb3VuZCkpO2JvcmRlcjpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS11aS1saWItYmFkZ2UtY29sb3ItY29udGVudCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1jb250ZW50KSk7ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LXdyYXA6bm93cmFwO2p1c3RpZnktY29udGVudDpjZW50ZXI7bGluZS1oZWlnaHQ6bm9ybWFsO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uYmFkZ2UteDRVVlphYk0uaGFzQ2hpbGRyZW4teDRVVlphYk17LS11aS1saWItYmFkZ2UtZGVmYXVsdC1wYWRkaW5nLWhvcjpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo4cHgpfS5iYWRnZS14NFVWWmFiTTpub3QoLmhhc0NoaWxkcmVuLXg0VVZaYWJNKXstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LXBhZGRpbmctaG9yOjA7d2lkdGg6dmFyKC0tdWktbGliLWJhZGdlLWFjdHVhbC1oZWlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXthLmJhZGdlLXg0VVZaYWJNOmhvdmVyLGJ1dHRvbi5iYWRnZS14NFVWWmFiTTpob3ZlcnstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbm9ybWFsKTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWNvbnRlbnQtaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7YmFja2dyb3VuZDp2YXIoLS11aS1saWItYmFkZ2UtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS11aS1saWItYmFkZ2UtYmFja2dyb3VuZCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1iYWNrZ3JvdW5kKSkpO2NvbG9yOnZhcigtLXVpLWxpYi1iYWRnZS1jb2xvci1jb250ZW50LWhvdmVyLHZhcigtLXVpLWxpYi1iYWRnZS1jb2xvci1jb250ZW50LHZhcigtLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWNvbnRlbnQpKSl9fWEuYmFkZ2UteDRVVlphYk06YWN0aXZlLGJ1dHRvbi5iYWRnZS14NFVWWmFiTTphY3RpdmV7LS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ib2xkKTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWNvbnRlbnQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpO2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWJhZGdlLWJhY2tncm91bmQtYWN0aXZlLHZhcigtLXVpLWxpYi1iYWRnZS1iYWNrZ3JvdW5kLHZhcigtLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWJhY2tncm91bmQtYWN0aXZlKSkpO2NvbG9yOnZhcigtLXVpLWxpYi1iYWRnZS1jb2xvci1jb250ZW50LWFjdGl2ZSx2YXIoLS11aS1saWItYmFkZ2UtY29sb3ItY29udGVudCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1jb250ZW50LWFjdGl2ZSkpKX0uYmFkZ2UteDRVVlphYk17b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9LmJhZGdlLXg0VVZaYWJNOmZvY3Vze291dGxpbmU6bm9uZX0uYmFkZ2UteDRVVlphYk06Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJhZGdlLXg0VVZaYWJNOmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxfS5iYWRnZS14NFVWWmFiTTpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5iYWRnZS14NFVWWmFiTTpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJhZGdlLXg0VVZaYWJNOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5iYWRnZS14NFVWWmFiTTphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKTtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tdWktbGliLWJhZGdlLWZvY3VzLW91dGxpbmUtcmFkaXVzLCB2YXIoLS11aS1saWItYmFkZ2UtYm9yZGVyLXJhZGl1cykpICsgNHB4KX0uY29udGVudC14NFVWWmFiTXtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIGNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjRweCk7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnNsb3QteDRVVlphYk17LS11aS1saWItYmFkZ2Utc2xvdC1zaXplOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTJweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjIwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoyNHB4KTthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDp2YXIoLS11aS1saWItYmFkZ2Utc2xvdC1zaXplKTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOnZhcigtLXVpLWxpYi1iYWRnZS1zbG90LXNpemUpfS54c21hbGwteDRVVlphYk17LS11aS1saWItcHJpdmF0ZS1iYWRnZS1zaXplOjJ9LnNtYWxsLXg0VVZaYWJNey0tdWktbGliLXByaXZhdGUtYmFkZ2Utc2l6ZTozfS5tZWRpdW0teDRVVlphYk17LS11aS1saWItcHJpdmF0ZS1iYWRnZS1zaXplOjR9LmxhcmdlLXg0VVZaYWJNey0tdWktbGliLXByaXZhdGUtYmFkZ2Utc2l6ZTo1fS54bGFyZ2UteDRVVlphYk17LS11aS1saWItcHJpdmF0ZS1iYWRnZS1zaXplOjZ9Lnh4bGFyZ2UteDRVVlphYk17LS11aS1saWItcHJpdmF0ZS1iYWRnZS1zaXplOjd9"}},"time_used":2,"timings":{"blocked":-1,"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/42301.2252d1cccb40351bd581.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.818Z","timestamp":1785141584818,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42301.2252d1cccb40351bd581.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 52\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a4360b8-34\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 18f323b40e1fabbf350cac752b3b232e\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":52,"size_decoded":836,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"a3f3974eb6489645604008e5c8dc9aec","sha1":"dda40c4a2b2001c0b04b64912fad682f3ad9f45a","sha256":"cc74f1cf1790e71081bd39cd986428e140164c232ebd1b0353c8da71bc484a7e","sha512":"96d6ddc62f46e0fd2299c1f3a56f7180b9d38b078a3da6cddecf77f35fd60664b3990e79485d964bfa98c68b2ee7c1619a826a84c2f582470ec3b21b4cf84963","ssdeep":"","tlshash":"d190023406a0a4a0985beed52560c88490eca01989a26e4e43fc76a525b28c4192a59d","first_seen":"2026-06-30T21:57:43.390072Z","last_seen":"2026-07-27T12:48:39.619537Z","times_seen":222,"resource_available":false,"data":"LnNwaW5uZXJXcmFwLVpadHVGSVBwe2hlaWdodDo2OHB4O3Bvc2l0aW9uOnJlbGF0aXZlfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/38086.990b013ae325a9b5099a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.847Z","timestamp":1785141584847,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/38086.990b013ae325a9b5099a.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-6d8f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9a46347110773e2754ed9a052a8b01d0\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":28047,"size_decoded":11848,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3070)","md5":"12ee02cfd5ac5d5c313f3b01d8594d67","sha1":"9c5481266cf5613714714c6a1caf5e0a00d5a0fa","sha256":"e2c24b1c51c27795031a14e1f510e609acbee7e60d594e70c12b5bfe7331c5ea","sha512":"51808078a6bf5ec8b0ca47b4202cadc45f1ae8a112e67afadb66128b8145adb8f9cde349c93857081db86695e5c591f1407f80c3263466fcde7e098c4fdf3665","ssdeep":"768:/i1CR3M0b4wuYONncOogxxuaGy9yLsxtMgDA184HYtae6IkykW7FTSjtwgIlbSUr:CiM08weNcfgVmgxtMQu84HytLkyPTS5m","tlshash":"6ec23bd470a1a0ce12d206ddc17e9550e37b795cbc198e64f4a8ccee749e64a7338b6c","first_seen":"2026-07-23T14:00:31.722877Z","last_seen":"2026-07-27T12:48:39.614512Z","times_seen":102,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szODA4Nl0sezI0NzE4OShlKXtlLmV4cG9ydHM9e3NlcGFyYXRvcjoic2VwYXJhdG9yLXdzTnlQOWUyIixzbWFsbDoic21hbGwtd3NOeVA5ZTIiLG5vcm1hbDoibm9ybWFsLXdzTnlQOWUyIixsYXJnZToibGFyZ2Utd3NOeVA5ZTIifX0sMzU0MzMxKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1UeTVPMVdKUSIsZGlyTWF0Y2hpbmc6ImRpck1hdGNoaW5nLVR5NU8xV0pRIn19LDYzNjk4NihlKXtlLmV4cG9ydHM9e2N1c3RvbUxpc3RJdGVtOiJjdXN0b21MaXN0SXRlbS05UTlGSHlybiIsY2xpY2thYmxlOiJjbGlja2FibGUtOVE5Rkh5cm4ifX0sMjEyNjcyKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1LVWl0c3RwSiIscHJpbWFyeVRpdGxlV3JhcHBlcjoicHJpbWFyeVRpdGxlV3JhcHBlci1LVWl0c3RwSiIsc2Vjb25kYXJ5VGl0bGVXcmFwcGVyOiJzZWNvbmRhcnlUaXRsZVdyYXBwZXItS1VpdHN0cEoiLHRpdGxlOiJ0aXRsZS1LVWl0c3RwSiIsY29udGVudDoiY29udGVudC1LVWl0c3RwSiIsbGVmdDoibGVmdC1LVWl0c3RwSiIsd2l0aExlZnRTbG90OiJ3aXRoTGVmdFNsb3QtS1VpdHN0cEoiLHNwYWNlOiJzcGFjZS1LVWl0c3RwSiIsaWNvbjoiaWNvbi1LVWl0c3RwSiJ9fSwyNDQ1MjUoZSl7ZS5leHBvcnRzPXtsb2FkZXI6ImxvYWRlci1NZ2Y4RUZ3SyIsc3RhdGljOiJzdGF0aWMtTWdmOEVGd0siLGl0ZW06Iml0ZW0tTWdmOEVGd0siLCJ0di1idXR0b24tbG9hZGVyIjoidHYtYnV0dG9uLWxvYWRlci1NZ2Y4RUZ3SyIsbWVkaXVtOiJtZWRpdW0tTWdmOEVGd0siLHNtYWxsOiJzbWFsbC1NZ2Y4RUZ3SyIsYmxhY2s6ImJsYWNrLU1nZjhFRndLIix3aGl0ZToid2hpdGUtTWdmOEVGd0siLGdyYXk6ImdyYXktTWdmOEVGd0siLHByaW1hcnk6InByaW1hcnktTWdmOEVGd0sifX0sNTk5OTcyKGUpe2UuZXhwb3J0cz17YWNjZXNzaWJsZToiYWNjZXNzaWJsZS1LdHFhX1N6UCIsYWN0aXZlOiJhY3RpdmUtS3RxYV9TelAifX0sNTEyMTQ5KGUpe2UuZXhwb3J0cz17aGlkZGVuOiJoaWRkZW4tUjNXaUNPZG4ifX0sNDkxNDgoZSl7ZS5leHBvcnRzPXsidGFibGV0LXNtYWxsLWJyZWFrcG9pbnQiOiIobWF4LXdpZHRoOiA0NDBweCkiLGl0ZW06Iml0ZW0tSmtRWFVsdEEiLHdpdGhJY29uOiJ3aXRoSWNvbi1Ka1FYVWx0QSIsc2hvcnRjdXQ6InNob3J0Y3V0LUprUVhVbHRBIixsb2FkaW5nOiJsb2FkaW5nLUprUVhVbHRBIixpY29uOiJpY29uLUprUVhVbHRBIn19LDYxODY3MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQb3B1cE1lbnVTZXBhcmF0b3I6KCk9Pmx9KTt2YXIgbyxpPW4oNzc5NDc0KSxhPW4oOTE0NDg3KSxyPW4ubihhKSxzPW4oMjQ3MTg5KTtmdW5jdGlvbiBsKGUpe2NvbnN0e3NpemU6dD0ibm9ybWFsIixjbGFzc05hbWU6bixhcmlhSGlkZGVuOm89ITF9PWU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKShzLnNlcGFyYXRvciwic21hbGwiPT09dCYmcy5zbWFsbCwibm9ybWFsIj09PXQmJnMubm9ybWFsLCJsYXJnZSI9PT10JiZzLmxhcmdlLG4pLHJvbGU6InNlcGFyYXRvciIsImFyaWEtaGlkZGVuIjpvfSl9IWZ1bmN0aW9uKGUpe2UuU21hbGw9InNtYWxsIixlLkxhcmdlPSJsYXJnZSIsZS5Ob3JtYWw9Im5vcm1hbCJ9KG98fChvPXt9KSl9LDk3MTY1OShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VJc01vdW50ZWQ6KCk9Pml9KTt2YXIgbz1uKDc3OTQ3NCk7Y29uc3QgaT0oKT0+e2NvbnN0IGU9KDAsby51c2VSZWYpKCExKTtyZXR1cm4oMCxvLnVzZUVmZmVjdCkoKCgpPT4oZS5jdXJyZW50PSEwLCgpPT57ZS5jdXJyZW50PSExfSkpLFtdKSxlfX0sNjM4ODcyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1N2Z0ljb25MaXN0SXRlbVBhcnQ6KCk9PnJ9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDQ1MDgyKSxhPW4oMjE3Mjc0KTtmdW5jdGlvbiByKGUpe2NvbnN0e2ljb25Tdmc6dCxkaXJNYXRjaGluZzpufT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaS5XcmFwcGVyLHtkaXJNYXRjaGluZzpufSxvLmNyZWF0ZUVsZW1lbnQoYS5CbG9ja0ljb24se2ljb246dH0pKX19LDQ1MDgyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1dyYXBwZXI6KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDkxNDQ4NyksYT1uLm4oaSkscj1uKDM1NDMzMSkscz1uLm4ocik7ZnVuY3Rpb24gbChlKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKHMoKS53cmFwcGVyLGUuZGlyTWF0Y2hpbmcmJnMoKS5kaXJNYXRjaGluZyksaW5lcnQ6ZS5pbmVydD8idHJ1ZSI6dm9pZCAwfSxlLmNoaWxkcmVuKX19LDg5NjIzNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDdXN0b21MaXN0SXRlbTooKT0+Y30pO3ZhciBvPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxhPW4ubihpKSxyPW4oMzQ1MTE2KSxzPW4oNjM2OTg2KSxsPW4ubihzKTtjb25zdCBjPSgwLG8uZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7aWQ6bixjaGlsZHJlbjppLG9uQ2xpY2s6cyxkaXNhYmxlZDpjLGZvY3VzYWJsZTpkLHJvbGU6dSxhcmlhTGFiZWw6aCxhcmlhRXhwYW5kZWQ6cCxhcmlhQ29udHJvbHM6bSxhcmlhSGFzcG9wdXA6dyxhcmlhTGV2ZWw6ZyxkYXRhUWFJZDp2LC4uLmZ9PWUseT0oMCxyLmZpbHRlckNoZWNrZWREYXRhUHJvcHMpKGYpLGI9cz8iYnV0dG9uIjoiZGl2IixDPWR8fHMsRT1jP3ZvaWQgMDpzO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoYix7aWQ6bixjbGFzc05hbWU6YSgpKGwoKS5jdXN0b21MaXN0SXRlbSxFJiZsKCkuY2xpY2thYmxlKSxvbkNsaWNrOkUsImFyaWEtZGlzYWJsZWQiOmMsImFyaWEtbGFiZWwiOmgsImFyaWEtZXhwYW5kZWQiOnAsImFyaWEtY29udHJvbHMiOm0sImFyaWEtaGFzcG9wdXAiOncsImFyaWEtbGV2ZWwiOmcscm9sZTp1LHRhYkluZGV4OkM/MDp2b2lkIDAscmVmOnQsLi4ueSwiZGF0YS1xYS1pZCI6dn0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtpbmVydDpjPyJ0cnVlIjp2b2lkIDB9LGkpKX0pKX0sCjkzNTUzNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUaXRsZUxpc3RJdGVtOigpPT5nfSk7dmFyIG8saT1uKDc3OTQ3NCksYT1uKDkxNDQ4Nykscj1uLm4oYSkscz1uKDI3MzMxMCksbD1uKDg1OTA5MSksYz1uKDM0NTExNiksZD1uKDE5NDY0OCksdT1uLm4oZCksaD1uKDU0MzMzOSkscD1uLm4oaCksbT1uKDIxMjY3Miksdz1uLm4obSk7ZnVuY3Rpb24gZyhlKXtjb25zdHtpZDp0LHJvbGU6bixsZWZ0U2xvdDpvLHRpdGxlOmEsb25DbGljazpkLGFyaWFMYWJlbDpoLHJpZ2h0U2xvdDptLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OmcsbGlzdEl0ZW1CdXR0b25SZWY6dix2YXJpYW50OmY9InByaW1hcnkiLGFyaWFDb250cm9sczp5LGFyaWFMZXZlbDpiLHRpdGxlSWQ6Qyx3cmFwcGVkOkUsZGF0YVFhSWQ6eCxvbktleURvd246UyxuZXN0ZWRMaXN0c0FyaWFPd25zOkwsbmVzdGVkTGlzdEFyaWFIaWRkZW46XywuLi5rfT1lLFQ9KDAsYy5maWx0ZXJDaGVja2VkRGF0YVByb3BzKShrKSxJPXZvaWQgMCE9PUU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChsLlRpdGxlU2VjdGlvbkxpc3RJdGVtLHtkYXRhUWFJZDp4LGlkOnQscm9sZTpuLG9uQ2xpY2s6ZCxvbktleURvd246UyxyaWdodFNsb3Q6bSxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTpnLGFyaWFMYWJlbDpoLGNsYXNzTmFtZTpyKCkodygpLndyYXBwZXIsbyYmdygpLndpdGhMZWZ0U2xvdCx3KClbYCR7Zn1UaXRsZVdyYXBwZXJgXSksbGlzdEl0ZW1CdXR0b25SZWY6dixmb2N1c2FibGU6SSxhcmlhRXhwYW5kZWQ6ST8hRTp2b2lkIDAsYXJpYUNvbnRyb2xzOnksYXJpYUxldmVsOmIsbmVzdGVkTGlzdHNBcmlhT3duczpMLG5lc3RlZExpc3RBcmlhSGlkZGVuOl8sLi4uVH0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dygpLmNvbnRlbnR9LG8mJmkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOncoKS5sZWZ0fSxvKSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp3KCkudGl0bGUsaWQ6Q30sYSkpLEkmJmkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dygpLnNwYWNlfSksaS5jcmVhdGVFbGVtZW50KHMuSWNvbix7Y2xhc3NOYW1lOncoKS5pY29uLGljb246RT91KCk6cCgpfSkpKX0hZnVuY3Rpb24oZSl7ZS5QcmltYXJ5PSJwcmltYXJ5IixlLlNlY29uZGFyeT0ic2Vjb25kYXJ5In0ob3x8KG89e30pKX0sODU5MDkxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1RpdGxlU2VjdGlvbkxpc3RJdGVtOigpPT5zfSk7dmFyIG89big3Nzk0NzQpLGk9big4OTYyMzcpLGE9bigxNDc5MDEpLHI9bigzNDUxMTYpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7aWQ6dCxyb2xlOm4sb25DbGljazpzLHJpZ2h0U2xvdDpsLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OmMsZm9jdXNhYmxlOmQsYXJpYUV4cGFuZGVkOnUsYXJpYUNvbnRyb2xzOmgsYXJpYUhhc3BvcHVwOnAsYXJpYUxldmVsOm0sYXJpYUxhYmVsOncsY2hpbGRyZW46ZyxjbGFzc05hbWU6dixsaXN0SXRlbUJ1dHRvblJlZjpmLGRhdGFRYUlkOnksb25LZXlEb3duOmIsbmVzdGVkTGlzdHNBcmlhT3duczpDLG5lc3RlZExpc3RBcmlhSGlkZGVuOkUsLi4ueH09ZSxTPSgwLHIuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoeCksTD0oMCxvLnVzZUlkKSgpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoImRpdiIseyJkYXRhLXFhLWlkIjp5LG9uS2V5RG93bjpifSxvLmNyZWF0ZUVsZW1lbnQoaS5DdXN0b21MaXN0SXRlbSx7aWQ6dCxyb2xlOm4sb25DbGljazpzLGZvY3VzYWJsZTpkfHwhIWwscmVmOmYsYXJpYUV4cGFuZGVkOnU/PyghIWx8fHZvaWQgMCksYXJpYUNvbnRyb2xzOmg/PyhsP0w6dm9pZCAwKSxhcmlhSGFzcG9wdXA6cD8/KGw/Im1lbnUiOnZvaWQgMCksYXJpYUxldmVsOm0sYXJpYUxhYmVsOncsZGF0YVFhSWQ6YCR7YS5VSV9MSUJfREFUQV9RQV9JRF9QUkVGSVh9dGl0bGUtbGlzdC1pdGVtYCwuLi5TfSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2fSxnLGwpKSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2lkOkwscm9sZToibWVudSIsImFyaWEtbGFiZWxsZWRieSI6YywiYXJpYS1vcmllbnRhdGlvbiI6Imhvcml6b250YWwiLCJhcmlhLW93bnMiOkMsImFyaWEtaGlkZGVuIjpFfSkpfX0sNjQ5MTY2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0xvYWRlcjooKT0+Y30pO3ZhciBvLGk9big3Nzk0NzQpLGE9big5MTQ0ODcpLHI9bi5uKGEpLHM9bigyNDQ1MjUpLGw9bi5uKHMpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsc2l6ZTpuPSJtZWRpdW0iLHN0YXRpY1Bvc2l0aW9uOm8sY29sb3I6YT0iYmxhY2sifT1lLHM9cigpKGwoKS5pdGVtLGwoKVthXSxsKClbbl0pO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cigpKGwoKS5sb2FkZXIsbyYmbCgpLnN0YXRpYyx0KX0saS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnN9KSxpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6c30pLGkuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzfSkpfSFmdW5jdGlvbihlKXtlLk1lZGl1bT0ibWVkaXVtIixlLlNtYWxsPSJzbWFsbCJ9KG98fChvPXt9KSl9LDU4NTQ4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BvcnRhbDooKT0+YyxQb3J0YWxDb250ZXh0OigpPT5kfSk7dmFyIG89big3Nzk0NzQpLGk9bigxMjkzNjUpLGE9big4NTY3NzApLHI9big5MDM0Mikscz1uKDU3MDE5MyksbD1uKDYwNzgzMik7Y2xhc3MgYyBleHRlbmRzIG8uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fdXVpZD0oMCxhLm5hbm9pZCkoKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX21hbmFnZXIoKS5yZW1vdmVXaW5kb3codGhpcy5fdXVpZCl9cmVuZGVyKCl7Y29uc3QgZT10aGlzLl9tYW5hZ2VyKCkuZW5zdXJlV2luZG93KHRoaXMuX3V1aWQsdGhpcy5wcm9wcy5sYXllck9wdGlvbnMpO2Uuc3R5bGUudG9wPXRoaXMucHJvcHMudG9wfHwiIiwKZS5zdHlsZS5ib3R0b209dGhpcy5wcm9wcy5ib3R0b218fCIiLGUuc3R5bGUubGVmdD10aGlzLnByb3BzLmxlZnR8fCIiLGUuc3R5bGUucmlnaHQ9dGhpcy5wcm9wcy5yaWdodHx8IiIsZS5zdHlsZS5wb2ludGVyRXZlbnRzPXRoaXMucHJvcHMucG9pbnRlckV2ZW50c3x8IiI7Y29uc3QgdD10aGlzLnByb3BzLmNsYXNzTmFtZTtyZXR1cm4gdCYmKCJzdHJpbmciPT10eXBlb2YgdD9lLmNsYXNzTGlzdC5hZGQodCk6ZS5jbGFzc0xpc3QuYWRkKC4uLnQpKSx0aGlzLnByb3BzLnNob3VsZFRyYXBGb2N1cyYmIWUuaGFzQXR0cmlidXRlKHMuRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSkmJmUuc2V0QXR0cmlidXRlKHMuRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSwidHJ1ZSIpLHRoaXMucHJvcHNbImFyaWEtaGlkZGVuIl0mJmUuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSxpLmNyZWF0ZVBvcnRhbChvLmNyZWF0ZUVsZW1lbnQoZC5Qcm92aWRlcix7dmFsdWU6dGhpc30sdGhpcy5wcm9wcy5jaGlsZHJlbiksZSl9bW92ZVRvVG9wKCl7dGhpcy5fbWFuYWdlcigpLm1vdmVUb1RvcCh0aGlzLl91dWlkKX1fbWFuYWdlcigpe3JldHVybiBudWxsPT09dGhpcy5jb250ZXh0PygwLHIuZ2V0Um9vdE92ZXJsYXBNYW5hZ2VyKSgpOnRoaXMuY29udGV4dH19Yy5jb250ZXh0VHlwZT1sLlNsb3RDb250ZXh0O2NvbnN0IGQ9by5jcmVhdGVDb250ZXh0KG51bGwpfSw2MDc4MzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2xvdDooKT0+aSxTbG90Q29udGV4dDooKT0+YX0pO3ZhciBvPW4oNzc5NDc0KTtjbGFzcyBpIGV4dGVuZHMgby5Db21wb25lbnR7c2hvdWxkQ29tcG9uZW50VXBkYXRlKCl7cmV0dXJuITF9cmVuZGVyKCl7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJmaXhlZCIsekluZGV4OjE1MCxsZWZ0OjAsdG9wOjB9LHJlZjp0aGlzLnByb3BzLnJlZmVyZW5jZX0pfX1jb25zdCBhPW8uY3JlYXRlQ29udGV4dChudWxsKX0sOTAzNDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7T3ZlcmxhcE1hbmFnZXI6KCk9PnIsZ2V0Um9vdE92ZXJsYXBNYW5hZ2VyOigpPT5sfSk7dmFyIG89bigxMzg2MzgpLGk9big1NzAxOTMpO2NsYXNzIGF7Y29uc3RydWN0b3IoKXt0aGlzLl9zdG9yYWdlPVtdfWFkZChlKXt0aGlzLl9zdG9yYWdlLnB1c2goZSl9cmVtb3ZlKGUpe3RoaXMuX3N0b3JhZ2U9dGhpcy5fc3RvcmFnZS5maWx0ZXIoKHQ9PmUhPT10KSl9aGFzKGUpe3JldHVybiB0aGlzLl9zdG9yYWdlLmluY2x1ZGVzKGUpfWdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX3N0b3JhZ2V9fWNsYXNzIHJ7Y29uc3RydWN0b3IoZT1kb2N1bWVudCl7dGhpcy5fc3RvcmFnZT1uZXcgYSx0aGlzLl93aW5kb3dzPW5ldyBNYXAsdGhpcy5faW5kZXg9MCx0aGlzLl9kb2N1bWVudD1lLHRoaXMuX2NvbnRhaW5lcj1lLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKX1zZXRDb250YWluZXIoZSl7Y29uc3QgdD10aGlzLl9jb250YWluZXIsbj1udWxsPT09ZT90aGlzLl9kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk6ZTshZnVuY3Rpb24oZSx0KXtBcnJheS5mcm9tKGUuY2hpbGROb2RlcykuZm9yRWFjaCgoZT0+e2Uubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmdC5hcHBlbmRDaGlsZChlKX0pKX0odCxuKSx0aGlzLl9jb250YWluZXI9bn1yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLmhhcyhlKXx8dGhpcy5fc3RvcmFnZS5hZGQoZSl9ZW5zdXJlV2luZG93KGUsdD17cG9zaXRpb246ImZpeGVkIixkaXJlY3Rpb246Im5vcm1hbCJ9KXtjb25zdCBuPXRoaXMuX3dpbmRvd3MuZ2V0KGUpO2lmKHZvaWQgMCE9PW4pcmV0dXJuIG47dGhpcy5yZWdpc3RlcldpbmRvdyhlKTtjb25zdCBvPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKG8uc3R5bGUucG9zaXRpb249dC5wb3NpdGlvbixvLnN0eWxlLnpJbmRleD10aGlzLl9pbmRleC50b1N0cmluZygpLG8uZGF0YXNldC5pZD1lLHZvaWQgMCE9PXQuaW5kZXgpe2NvbnN0IGU9dGhpcy5fY29udGFpbmVyLmNoaWxkTm9kZXMubGVuZ3RoO2lmKHQuaW5kZXg+PWUpdGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKG8pO2Vsc2UgaWYodC5pbmRleDw9MCl0aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKG8sdGhpcy5fY29udGFpbmVyLmZpcnN0Q2hpbGQpO2Vsc2V7Y29uc3QgZT10aGlzLl9jb250YWluZXIuY2hpbGROb2Rlc1t0LmluZGV4XTt0aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKG8sZSl9fWVsc2UicmV2ZXJzZSI9PT10LmRpcmVjdGlvbj90aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKG8sdGhpcy5fY29udGFpbmVyLmZpcnN0Q2hpbGQpOnRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChvKTtyZXR1cm4gdGhpcy5fd2luZG93cy5zZXQoZSxvKSwrK3RoaXMuX2luZGV4LG99dW5yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLnJlbW92ZShlKTtjb25zdCB0PXRoaXMuX3dpbmRvd3MuZ2V0KGUpO3ZvaWQgMCE9PXQmJihudWxsIT09dC5wYXJlbnRFbGVtZW50JiZ0LnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodCksdGhpcy5fd2luZG93cy5kZWxldGUoZSkpfWdldFppbmRleChlKXtjb25zdCB0PXRoaXMuZW5zdXJlV2luZG93KGUpO3JldHVybiBwYXJzZUludCh0LnN0eWxlLnpJbmRleHx8IjAiKX1tb3ZlTGFzdFdpbmRvd1RvVG9wKCl7Y29uc3QgZT10aGlzLl9zdG9yYWdlLmdldEl0ZW1zKCksdD1lW2UubGVuZ3RoLTFdO3QmJnRoaXMubW92ZVRvVG9wKHQpfW1vdmVUb1RvcChlKXtpZih0aGlzLmdldFppbmRleChlKSE9PXRoaXMuX2luZGV4KXtjb25zdCB0PXRoaXMuZW5zdXJlV2luZG93KGUpO3RoaXMuX3dpbmRvd3MuZm9yRWFjaCgoKGUsbik9PntlLmhhc0F0dHJpYnV0ZShpLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUpJiZlLnNldEF0dHJpYnV0ZShpLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUsZT09PXQ/InRydWUiOiJmYWxzZSIpfSkpLHQuc3R5bGUuekluZGV4PSgrK3RoaXMuX2luZGV4KS50b1N0cmluZygpfX1yZW1vdmVXaW5kb3coZSl7CnRoaXMudW5yZWdpc3RlcldpbmRvdyhlKX19Y29uc3Qgcz1uZXcgV2Vha01hcDtmdW5jdGlvbiBsKGU9ZG9jdW1lbnQpe2NvbnN0IHQ9ZS5nZXRFbGVtZW50QnlJZCgib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiKTtpZihudWxsIT09dClyZXR1cm4oMCxvLmVuc3VyZURlZmluZWQpKHMuZ2V0KHQpKTt7Y29uc3QgdD1uZXcgcihlKSxuPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHQuc3R5bGUuekluZGV4PTE1MC4udG9TdHJpbmcoKSx0LnN0eWxlLnRvcD0iMHB4Iix0LnN0eWxlLmxlZnQ9IjBweCIsdC5pZD0ib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiLHQuZGF0YXNldC5xYUlkPSJvdmVybGFwLW1hbmFnZXItcm9vdCIsdH0oZSk7cmV0dXJuIHMuc2V0KG4sdCksdC5zZXRDb250YWluZXIobiksZS5ib2R5LmFwcGVuZENoaWxkKG4pLHR9fXZhciBjOyFmdW5jdGlvbihlKXtlW2UuQmFzZVppbmRleD0xNTBdPSJCYXNlWmluZGV4In0oY3x8KGM9e30pKX0sNTY1NzQ1KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbnVsbCE9ZX1uLmQodCx7aXNFeGlzdGVudDooKT0+b30pfSw4NTAxMDgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7QWNjZXNzaWJsZU1lbnVJdGVtOigpPT5ofSk7dmFyIG89big3Nzk0NzQpLGk9big5MTQ0ODcpLGE9bi5uKGkpLHI9bigyMzU3MjQpLHM9bigxODIzMDgpLGw9bigzODY5MzEpLGM9bigxNTM3MzQpO2Z1bmN0aW9uIGQoZSl7Y29uc3R7dHJhY2tFdmVudE9iamVjdDp0LHRyYWNrUmlnaHRDbGljazpuLHRyYWNrTW91c2VXaGVlbENsaWNrOmksb25DbGljazphLG9uQ29udGV4dE1lbnU6cixvbk1vdXNlVXA6cyxsaW5rOmQsLi4udX09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGMuUG9wdXBNZW51SXRlbSx7Li4udSxsaW5rOmQsb25DbGljazpmdW5jdGlvbihlLG4pe3QmJigwLGwudHJhY2tFdmVudCkodC5jYXRlZ29yeSx0LmV2ZW50LHQubGFiZWwpLGEmJmEoZSxuKX0sb25Db250ZXh0TWVudTpmdW5jdGlvbihlKXt0JiZuJiYoMCxsLnRyYWNrRXZlbnQpKHQuY2F0ZWdvcnksdC5ldmVudCxgJHt0LmxhYmVsfV9yaWdodENsaWNrYCksciYmcihlKX0sb25Nb3VzZVVwOmZ1bmN0aW9uKGUpe2lmKDE9PT1lLmJ1dHRvbiYmZCYmdCl7bGV0IGU9dC5sYWJlbDtpJiYoZSs9Il9tb3VzZVdoZWVsQ2xpY2siKSwoMCxsLnRyYWNrRXZlbnQpKHQuY2F0ZWdvcnksdC5ldmVudCxlKX1zJiZzKGUpfX0pfXZhciB1PW4oNTk5OTcyKTtmdW5jdGlvbiBoKGUpe2NvbnN0e2NsYXNzTmFtZTp0LHJlZmVyZW5jZTpuLC4uLml9PWUsW2wsY109KDAscy51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG4/P251bGwpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoZCx7Li4uaSxjbGFzc05hbWU6YSgpKHUuYWNjZXNzaWJsZSxlLmlzQWN0aXZlJiZ1LmFjdGl2ZSx0KSxyZWZlcmVuY2U6bCx0YWJJbmRleDpjLG9uS2V5RG93bjpmdW5jdGlvbihlKXtpZihlLnRhcmdldCE9PWUuY3VycmVudFRhcmdldClyZXR1cm47Y29uc3QgdD0oMCxyLmhhc2hGcm9tRXZlbnQpKGUpOzEzIT09dCYmMzIhPT10fHwoZS5wcmV2ZW50RGVmYXVsdCgpLGwuY3VycmVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZsLmN1cnJlbnQuY2xpY2soKSl9LCJkYXRhLXJvbGUiOiJtZW51aXRlbSIsImFyaWEtZGlzYWJsZWQiOmUuaXNEaXNhYmxlZHx8ZVsiYXJpYS1kaXNhYmxlZCJdLHRvb2xib3hSb2xlOiJ0b29sYmFyIn0pfX0sMzI1MDAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ2xpZW50U25hcHNob3Q6KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDU1NzA2NSksYT1uKDE1MDY2NSkscj1uKDIwNzk3KSxzPW4oMTc5NzcxKTtmdW5jdGlvbiBsKGUpe2NvbnN0W3Qsbl09KDAsby51c2VTdGF0ZSkoITEpO2xldCBsPW51bGw7Y29uc3QgYz0oMCxvLnVzZUNhbGxiYWNrKSgoYXN5bmMoKT0+e2NvbnN0IHQ9ZSgpLG49dC50aGVuKChlPT5uZXcgUHJvbWlzZSgodD0+ZS5jYW52YXMudG9CbG9iKChlPT57bnVsbCE9PWUmJnQoZSl9KSkpKSkpO3RyeXthd2FpdCgwLGkud3JpdGVQcm9taXNlVXNpbmdBcGkpKG4sImltYWdlL3BuZyIpLHMuZW1pdCgib25DbGllbnRTY3JlZW5zaG90Q29waWVkVG9DbGlwYm9hcmQiKX1jYXRjaChlKXtjb25zdHtjYW52YXM6bn09YXdhaXQgdDt3aW5kb3cub3BlbigpPy5kb2N1bWVudC53cml0ZShgPGltZyB3aWR0aD0iMTAwJSIgc3JjPSIke24udG9EYXRhVVJMKCl9Ii8+YCl9fSksW2VdKSxkPSgwLG8udXNlQ2FsbGJhY2spKChhc3luYygpPT57Y29uc3QgdD1hd2FpdCBlKCksbj1hd2FpdCBmdW5jdGlvbihlKXtyZXR1cm4gbmV3IFByb21pc2UoKHQ9Pnt0cnl7ZS5jYW52YXMudG9CbG9iKChlPT57aWYobnVsbD09PWUpdGhyb3cgbmV3IEVycm9yKCJVbmFibGUgdG8gZ2VuZXJhdGUgYmxvYiIpO3QoVVJMLmNyZWF0ZU9iamVjdFVSTChlKSl9KSl9Y2F0Y2h7dChlLmNhbnZhcy50b0RhdGFVUkwoKSl9fSkpfSh0KTtuJiYoMCxhLmRvd25sb2FkRmlsZSkoYCR7dC5uYW1lfS5wbmdgLG4pfSksW2VdKTtyZXR1cm4gbD0oMCxvLnVzZUNhbGxiYWNrKSgoYXN5bmMoKT0+e24oITApO2NvbnN0IHQ9YXdhaXQgZSgpLG89YXdhaXQoMCxyLmxvYWRTeW1waG9ueUNvbW11bmljYXRpb25DaGFubmVsKSgpO28mJmF3YWl0IG8uc2hhcmVTY3JlZW5zaG90KHQpLG4oITEpfSksW2VdKSx7Y29weVNuYXBzaG90VG9DbGlwYm9hcmQ6Yyxkb3dubG9hZFNuYXBzaG90OmQsc2hhcmVTeW1waG9ueTpsLHN5bXBob255TG9hZGluZzp0fX19LDMyNzQ0MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VTZXJ2ZXJTbmFwc2hvdDooKT0+bX0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oNTU3MDY1KSxhPW4oOTcxNjU5KSxyPW4oMjc2MDE5KSxzPW4oOTU1MzUzKSxsPW4oNzg3NDIpLGM9bigzMjA1NSksZD1uKDk4Nzc5OCksdT1uKDkxMTMyNyksaD1uKDE3OTc3MSkscD1uKDE2ODQ3MSk7ZnVuY3Rpb24gbShlKXtjb25zdFt0LG5dPSgwLG8udXNlU3RhdGUpKCExKSxbcCxtXT0oMCxvLnVzZVN0YXRlKSghMSksW2csdl09KDAsCm8udXNlU3RhdGUpKCExKSxbZix5XT0oMCxvLnVzZVN0YXRlKSghMSksYj0oMCxhLnVzZUlzTW91bnRlZCkoKTtyZXR1cm57dGFrZVNuYXBzaG90OigwLG8udXNlQ2FsbGJhY2spKChhc3luYyh0PSExKT0+e2NvbnN0IG89ZSgpO3RyeXtpZih0KW0oITApLGF3YWl0IHcobyk7ZWxzZXtuKCEwKTtjb25zdCBlPW8udGhlbigoZT0+bmV3IEJsb2IoW2UuaW1hZ2VVcmxdLHt0eXBlOiJ0ZXh0L3BsYWluIn0pKSk7YXdhaXQoMCxpLndyaXRlUHJvbWlzZVVzaW5nQXBpKShlLCJ0ZXh0L3BsYWluIiksaC5lbWl0KCJvblNlcnZlclNjcmVlbnNob3RDb3BpZWRUb0NsaXBib2FyZCIpfX1jYXRjaChlKXthd2FpdCB3KG8pfWZpbmFsbHl7Yi5jdXJyZW50JiYobSghMSksbighMSksKDAsci5nbG9iYWxDbG9zZU1lbnUpKCkpfX0pLFtlXSksdGFrZVNuYXBzaG90RW1iZWRDb2RlOigwLG8udXNlQ2FsbGJhY2spKChhc3luYygpPT57dighMCk7Y29uc3QgdD1lKCk7dHJ5e2NvbnN0IGU9NzIwLG49dC50aGVuKChhc3luYyB0PT57aWYoIXQuc3ltYm9sKXRocm93IG5ldyBFcnJvcigiU3ltYm9sIG5vdCBmb3VuZCBpbiBTZXJ2ZXJTbmFwc2hvdFJlc3VsdCIpO2NvbnN0IG49YXdhaXQoMCxjLnNuYXBzaG90ZXIpKCkuZ2V0U25hcHNob3QodC5zeW1ib2wsbmV3IFNldChbImRlc2NyaXB0aW9uIl0pKSxvPSJlcnJvciIhPT1uLnN0YXR1cz9uLnZhbHVlcy5kZXNjcmlwdGlvbjp0LnN5bWJvbCxpPXQuaW1hZ2VVcmwubWF0Y2goL1wveFwvKFswLTlhLXpBLVpdezh9KS8pPy5bMV0/PyIiLGE9KDAsZC5jcmVhdGVTbmFwc2hvdEltYWdlVXJscykoaSk/LnVybDtyZXR1cm4gbmV3IEJsb2IoW2A8aW1nIHdpZHRoPSIke2V9IiBsb2FkaW5nPSJsYXp5IiBzcmM9IiR7YX0iLz48cD48YSBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20keygwLHUuZ2V0U3ltYm9sUGFnZVBhdGgpKHtzaG9ydE5hbWU6dC5zeW1ib2x9KX0iPiR7b30gY2hhcnQ8L2E+IGJ5IFRyYWRpbmdWaWV3PC9wPmBdLHt0eXBlOiJ0ZXh0L3BsYWluIn0pfSkpO2F3YWl0KDAsaS53cml0ZVByb21pc2VVc2luZ0FwaSkobiwidGV4dC9wbGFpbiIpLGguZW1pdCgib25TZXJ2ZXJTY3JlZW5zaG90RW1iZWRDb2RlQ29waWVkVG9DbGlwYm9hcmQiKX1jYXRjaChlKXthd2FpdCB3KHQpfWZpbmFsbHl7Yi5jdXJyZW50JiYodighMSksKDAsci5nbG9iYWxDbG9zZU1lbnUpKCkpfX0pLFtlXSksc2hhcmVTbmFwc2hvdDooMCxvLnVzZUNhbGxiYWNrKSgoYXN5bmMgdD0+e3koITApO2NvbnN0IG49KDAsbC5jcmVhdGVTaGFyZVdpbmRvdykoKSxvPWF3YWl0IGUoKTtpZih0KW4ubG9jYXRpb24uaHJlZj1zLlR3aXR0ZXIuY3JlYXRlVHdpdHRlckhyZWZXaXRoQ3VzdG9tVGV4dCh0LG8uaW1hZ2VVcmwpO2Vsc2V7aWYoIW8uc3ltYm9sKXJldHVybiB2b2lkIHkoITEpO3tjb25zdCBlPSJjbWUiPT09d2luZG93LlRyYWRpbmdWaWV3LndpZGdldEN1c3RvbWVyO24ubG9jYXRpb24uaHJlZj1zLlR3aXR0ZXIuY3JlYXRlVHdpdHRlckhyZWZCeVN5bWJvbChvLnN5bWJvbCxvLmltYWdlVXJsLGUpfX1iLmN1cnJlbnQmJih5KCExKSwoMCxyLmdsb2JhbENsb3NlTWVudSkoKSl9KSxbZV0pLGNvcHlMaW5rTG9hZGluZzp0LG5ld1RhYkxvYWRpbmc6cCxlbWJlZENvZGVMb2FkaW5nOmcsdHdlZXRMb2FkaW5nOmZ9fWFzeW5jIGZ1bmN0aW9uIHcoZSl7cmV0dXJuKDAscC5hc3luY1dpbmRvd09wZW4pKGUudGhlbigoZT0+ZS5pbWFnZVVybCkpKX19LDc1NDE4MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtMYWJlbFdpdGhMb2FkZXI6KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDkxNDQ4NyksYT1uLm4oaSkscj1uKDY0OTE2Nikscz1uKDUxMjE0OSk7ZnVuY3Rpb24gbChlKXtjb25zdCB0PWEoKShlLmlzTG9hZGluZyYmcy5oaWRkZW4pLG49YSgpKCFlLmlzTG9hZGluZyYmcy5oaWRkZW4pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6dH0sZS5jaGlsZHJlbiksby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm59LG8uY3JlYXRlRWxlbWVudChyLkxvYWRlcixudWxsKSkpfX0sMzMyMzcxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Rvb2xXaWRnZXRTY3JlZW5zaG90Q29udGVudDooKT0+TX0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oMTg1MjcxKSxhPW4oOTE0NDg3KSxyPW4ubihhKSxzPW4oNjM4ODcyKSxsPW4oNjQ5MTY2KSxjPW4oMjM1NzI0KSxkPW4oMzE4OTc0KSx1PW4oOTMwMjMxKSxoPW4oMTUzNzM0KSxwPW4oMzg3MjMxKSxtPW4oODAwOTE0KSx3PW4oMzEzMTEwKSxnPW4oODUwMTA4KSx2PW4oMTk5MTcyKSxmPW4oMzI1MDApLHk9bigzMjc0NDApLGI9big3NTQxODApLEM9big1NjkzOTgpLEU9big0Nzc3MDApLHg9big3MTkxMyksUz1uKDYyODQyOCksTD1uKDkzNzIxKSxfPW4oNTY5MTI1KSxrPW4oOTY1ODcpLFQ9bigxNDcyMjEpLEk9big0OTE0OCk7Y29uc3QgQT0oMCxwLm1lcmdlVGhlbWVzKShoLkRFRkFVTFRfUE9QVVBfTUVOVV9JVEVNX1RIRU1FLEkpO2Z1bmN0aW9uIE0oZSl7Y29uc3R7c2VydmVyU25hcHNob3Q6dCxjbGllbnRTbmFwc2hvdDphLGhpZGVTaG9ydGN1dHM6cixzZW5kRXZlbnQ6c309ZSx7ZG93bmxvYWRTbmFwc2hvdDpsLGNvcHlTbmFwc2hvdFRvQ2xpcGJvYXJkOmgsc2hhcmVTeW1waG9ueTpwLHN5bXBob255TG9hZGluZzp3fT0oMCxmLnVzZUNsaWVudFNuYXBzaG90KShhKSx7dGFrZVNuYXBzaG90OmcsdGFrZVNuYXBzaG90RW1iZWRDb2RlOmIsc2hhcmVTbmFwc2hvdDpJLG5ld1RhYkxvYWRpbmc6QSxjb3B5TGlua0xvYWRpbmc6TSxlbWJlZENvZGVMb2FkaW5nOlUsdHdlZXRMb2FkaW5nOlJ9PSgwLHkudXNlU2VydmVyU25hcHNob3QpKHQpLFc9aS50KG51bGwse2NvbnRleHQ6InNuYXBzaG90LXRvb2xiYXItdG9vbCJ9LG4oNjY3OTgxKSksJD1be2lkOiJzYXZlLWNoYXJ0LWltYWdlIix0aXRsZTppLnQobnVsbCx7Y29udGV4dDoic25hcHNob3QtdG9vbGJhci10b29sIn0sbigzMzY5OTMpKSxpY29uOl8sCmhvdGtleUhhc2g6cj92b2lkIDA6Yy5Nb2RpZmllcnMuTW9kK2MuTW9kaWZpZXJzLkFsdCs4MyxzaG93OiEwLG9uQ2xpY2s6ZnVuY3Rpb24oKXtsKCkscz8uKCJkb3dubG9hZCIpfX0se2lkOiJjb3B5LWNoYXJ0LWltYWdlIix0aXRsZTppLnQobnVsbCx7Y29udGV4dDoic25hcHNob3QtdG9vbGJhci10b29sIn0sbigxMjQ3NjYpKSxpY29uOkwsaG90a2V5SGFzaDpyP3ZvaWQgMDpjLk1vZGlmaWVycy5Nb2QrYy5Nb2RpZmllcnMuU2hpZnQrODMsc2hvdzohMCxvbkNsaWNrOmZ1bmN0aW9uKCl7aCgpLHM/LigiY29weUltZyIpfX0se2lkOiJjb3B5LWxpbmstdG8tdGhlLWNoYXJ0LWltYWdlIix0aXRsZTppLnQobnVsbCx7Y29udGV4dDoic25hcHNob3QtdG9vbGJhci10b29sIn0sbig0MjI4NzApKSxpY29uOmssbG9hZGluZzpNLGRvbnRDbG9zZVBvcHVwOiEwLGhvdGtleUhhc2g6cj92b2lkIDA6Yy5Nb2RpZmllcnMuQWx0KzgzLHNob3c6Qm9vbGVhbighKDAsZC5vbldpZGdldCkoKSksb25DbGljazooKT0+d2luZG93LnJ1bk9yU2lnbkluKCgoKT0+e2coITEpLHM/LigiY29weUxpbmsiKX0pLHtzb3VyY2U6IkNvcHkgbGluayB0byB0aGUgY2hhcnQgaW1hZ2UifSl9LHtpZDoiY29weS1zbmFwc2hvdF9lbWJlZF9jb2RlIix0aXRsZTppLnQobnVsbCx2b2lkIDAsbigxODYxMjUpKSxpY29uOkUsbG9hZGluZzpVLGRvbnRDbG9zZVBvcHVwOiEwLHNob3c6KDAsQy5pc0ZlYXR1cmVFbmFibGVkKSgiY29weV9zbmFwc2hvdF9lbWJlZF9jb2RlIikmJiEoMCxkLm9uV2lkZ2V0KSgpJiYhKDAsZC5pc1N5bXBob255RW1iZWQpKCksb25DbGljazooKT0+d2luZG93LnJ1bk9yU2lnbkluKCgoKT0+e2IoKX0pLHtzb3VyY2U6IkNvcHkgc25hcHNob3QgZW1iZWQgY29kZSJ9KX0se2lkOiJvcGVuLWltYWdlLWluLW5ldy10YWIiLHRpdGxlOmkudChudWxsLHZvaWQgMCxuKDE0ODg4OSkpLGljb246VCxsb2FkaW5nOkEsZG9udENsb3NlUG9wdXA6ITAsc2hvdzpCb29sZWFuKCEoMCxkLm9uV2lkZ2V0KSgpJiYhKDAsZC5pc1N5bXBob255RW1iZWQpKCkpLG9uQ2xpY2s6KCk9PndpbmRvdy5ydW5PclNpZ25JbigoKCk9PntnKCEwKSxzPy4oIm9wZW5OZXdUYWIiKX0pLHtzb3VyY2U6Ik9wZW4gaW1hZ2UgaW4gbmV3IHRhYiJ9KX0se2lkOiJ0d2VldC1jaGFydC1pbWFnZSIsdGl0bGU6aS50KG51bGwse2NvbnRleHQ6InNuYXBzaG90LXRvb2xiYXItdG9vbCJ9LG4oNTgxODUzKSksaWNvbjpTLGxvYWRpbmc6Uixkb250Q2xvc2VQb3B1cDohMCxzaG93OkJvb2xlYW4oISgwLGQub25XaWRnZXQpKCkmJiEoMCxkLmlzU3ltcGhvbnlFbWJlZCkoKSksb25DbGljazooKT0+d2luZG93LnJ1bk9yU2lnbkluKCgoKT0+e0koKSxzPy4oInR3ZWV0SW1nIil9KSx7c291cmNlOiJUd2VldCBjaGFydCBpbWFnZSJ9KX0se2lkOiJzaGFyZS1zeW1waG9ueS1jaGFydC1pbWFnZSIsdGl0bGU6aS50KG51bGwse2NvbnRleHQ6InNuYXBzaG90LXRvb2xiYXItdG9vbCJ9LG4oNTg1MTI4KSksaWNvbjp4LGxvYWRpbmc6dyxkb250Q2xvc2VQb3B1cDohMCxzaG93OigwLGQuaXNTeW1waG9ueUVtYmVkKSgpLG9uQ2xpY2s6KCk9PnA/LigpfV0uZmlsdGVyKChlPT5lLnNob3cpKS5tYXAoKGU9Pm8uY3JlYXRlRWxlbWVudChQLHtrZXk6ZS5pZCxpdGVtOmV9KSkpO3JldHVybigwLHUuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKT9vLmNyZWF0ZUVsZW1lbnQobS5TZWN0aW9uTGlzdEl0ZW0se3RpdGxlOlcsYXJpYUxhYmVsOld9LCQpOm8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KHYuVG9vbFdpZGdldE1lbnVTdW1tYXJ5LG51bGwsVyksJCl9ZnVuY3Rpb24gUCh7aXRlbTplfSl7Y29uc3R7bG9hZGluZzp0LGlkOm4sdGl0bGU6aSxkb250Q2xvc2VQb3B1cDphLGhvdGtleUhhc2g6ZCxvbkNsaWNrOmgsaWNvbjpwfT1lLG09dm9pZCAwIT09ZDtyZXR1cm4oMCx1LmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIik/by5jcmVhdGVFbGVtZW50KHcuTWVudUl0ZW0se3JvbGU6InJvdyIsYXJpYUxldmVsOjIsbGVmdFNsb3Q6dD92b2lkIDA6by5jcmVhdGVFbGVtZW50KHMuU3ZnSWNvbkxpc3RJdGVtUGFydCx7aWNvblN2ZzpwfSksb25DbGljazpoLGRvbnRDbG9zZVBvcHVwOmEsZGlzYWJsZWQ6dCx0aXRsZTpvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJncmlkY2VsbCIsImFyaWEtY29sc3BhbiI6dD8zOm0/MToyfSx0P28uY3JlYXRlRWxlbWVudChsLkxvYWRlcixudWxsKTppKSxob3RrZXk6dD92b2lkIDA6ZCxhcmlhTGFiZWw6aSxkYXRhUWFJZDpuLCJkYXRhLXJvbGUiOiJtZW51aXRlbSJ9KTpvLmNyZWF0ZUVsZW1lbnQoZy5BY2Nlc3NpYmxlTWVudUl0ZW0se3JvbGU6InJvdyIsY2xhc3NOYW1lOnIoKSh0JiZJLmxvYWRpbmcpLHNob3J0Y3V0Om0/KDAsYy5odW1hblJlYWRhYmxlSGFzaCkoZCk6dm9pZCAwLGljb246cCxpc0Rpc2FibGVkOnQsb25DbGljazpoLGRvbnRDbG9zZVBvcHVwOmEsZGF0YVFhSWQ6bixsYWJlbDp2b2lkIDAhPT10P28uY3JlYXRlRWxlbWVudChiLkxhYmVsV2l0aExvYWRlcix7aXNMb2FkaW5nOnR9LGkpOmksdGhlbWU6QX0pfX0sMzEzMTEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse01lbnVJdGVtOigpPT5zfSk7dmFyIG89big3Nzk0NzQpLGk9big2Mjg4MjUpLGE9bigxODIzMDgpLHI9bigyNzYwMTkpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7bGlzdEl0ZW1CdXR0b25SZWY6dCxyb2xlOm49Im1lbnVpdGVtIixvbkNsaWNrOnMsZG9udENsb3NlUG9wdXA6bCwuLi5jfT1lLFtkLHVdPSgwLGEudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KSh0Pz9udWxsKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGkuTGlzdEl0ZW0sey4uLmMscm9sZTpuLGxpc3RJdGVtQnV0dG9uUmVmOmQsdGFiSW5kZXg6dSxvbkNsaWNrOmZ1bmN0aW9uKGUpe3M/LihlKSxsfHwoZS5jdXJyZW50VGFyZ2V0LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJwb3B1cC1tZW51LWNsb3NlLWV2ZW50Iix7YnViYmxlczohMCwKZGV0YWlsOntjbGlja1R5cGU6ZS5uYXRpdmVFdmVudCBpbnN0YW5jZW9mIEtleWJvYXJkRXZlbnQ/ImtleWJvYXJkIjoibW91c2UifX0pKSwoMCxyLmdsb2JhbENsb3NlTWVudSkoKSl9fSl9fSw1Njk2NTIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UmVnaXN0cnlQcm92aWRlcjooKT0+bCxyZWdpc3RyeUNvbnRleHRUeXBlOigpPT5kLHVzZVJlZ2lzdHJ5OigpPT5jLHZhbGlkYXRlUmVnaXN0cnk6KCk9PnN9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDIyMTg5NiksYT1uLm4oaSk7Y29uc3Qgcj1vLmNyZWF0ZUNvbnRleHQoe30pO2Z1bmN0aW9uIHMoZSx0KXthKCkuY2hlY2tQcm9wVHlwZXModCxlLCJjb250ZXh0IiwiUmVnaXN0cnlDb250ZXh0Iil9ZnVuY3Rpb24gbChlKXtjb25zdHt2YWxpZGF0aW9uOnQsdmFsdWU6bn09ZTtyZXR1cm4gcyhuLHQpLG8uY3JlYXRlRWxlbWVudChyLlByb3ZpZGVyLHt2YWx1ZTpufSxlLmNoaWxkcmVuKX1mdW5jdGlvbiBjKGUpe2NvbnN0IHQ9KDAsby51c2VDb250ZXh0KShyKTtyZXR1cm4gcyh0LGUpLHR9ZnVuY3Rpb24gZCgpe3JldHVybiByfX0sODAwOTE0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NlY3Rpb25MaXN0SXRlbTooKT0+cn0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oOTM1NTM1KSxhPW4oMzQ1MTE2KTtmdW5jdGlvbiByKGUpe2NvbnN0e2lkOnQsdGl0bGU6bixjaGlsZHJlbjpyLGl0ZW1Sb2xlOnMsYXJpYUxhYmVsOmwscmlnaHRTbG90OmMscmlnaHRTbG90QXJpYUxhYmVsbGVkYnk6ZCxvbkNsaWNrOnUsb25LZXlEb3duOmgsaXNXcmFwcGVkOnAsZ3JvdXBSb2xlOm0sYXJpYUxldmVsOncsLi4uZ309ZSx2PSgwLGEuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoZyksZj0oMCxvLnVzZUlkKSgpLHk9KDAsby51c2VJZCkoKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCxvLmNyZWF0ZUVsZW1lbnQoaS5UaXRsZUxpc3RJdGVtLHtpZDp0LHRpdGxlOm4scm9sZTpzLHJpZ2h0U2xvdDpjLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OmQsYXJpYUxhYmVsOmwsdmFyaWFudDoic2Vjb25kYXJ5IixhcmlhQ29udHJvbHM6dm9pZCAwIT09cD95OnZvaWQgMCxhcmlhTGV2ZWw6dyx0aXRsZUlkOmYsd3JhcHBlZDpwLG9uQ2xpY2s6dSxvbktleURvd246aCwuLi52fSksby5jcmVhdGVFbGVtZW50KCJkaXYiLHsiYXJpYS1sYWJlbGxlZGJ5IjpmLGlkOnksImFyaWEtaGlkZGVuIjp2b2lkIDAhPT1wP3A6dm9pZCAwLHJvbGU6bX0sIXAmJnIpKX19LDQ5MjY3NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlLnJlcGxhY2UoL1wrL2csIiAiKSkucmVwbGFjZSgvPFwvP1tePl0rKD58JCkvZywiIil9ZnVuY3Rpb24gaShlKXtjb25zdCB0PS8oW14mPV0rKT0/KFteJl0qKS9nLG49e307aWYoIWUpcmV0dXJuIG47bGV0IGk9dC5leGVjKGUpO2Zvcig7aTspbltvKGlbMV0pXT1vKGlbMl0pLGk9dC5leGVjKGUpO3JldHVybiBufWZ1bmN0aW9uIGEoKXtyZXR1cm4gaSh3aW5kb3cubG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKSl9ZnVuY3Rpb24gcigpe2NvbnN0IGU9d2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoIiMiKVswXTt3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoIiIsZG9jdW1lbnQudGl0bGUsZSl9ZnVuY3Rpb24gcyhlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBuIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShuKSYmbnVsbCE9ZVtuXSl7Y29uc3Qgbz1lW25dLGk9Im9iamVjdCI9PXR5cGVvZiBvP0pTT04uc3RyaW5naWZ5KG8pOlN0cmluZyhvKTt0LnB1c2goe2tleTpuLHBhaXI6ZW5jb2RlVVJJQ29tcG9uZW50KG4pKyI9IitlbmNvZGVVUklDb21wb25lbnQoaSl9KX1yZXR1cm4gdC5zb3J0KCgoZSx0KT0+ZS5rZXk+dC5rZXk/MTplLmtleTx0LmtleT8tMTowKSkubWFwKChlPT5lLnBhaXIpKS5qb2luKCImIil9bi5kKHQse2NyZWF0ZVVybFBhcmFtczooKT0+cyxnZXRVcmxQYXJhbXM6KCk9PmEscmVtb3ZlSGFzaEZyb21Vcmw6KCk9PnJ9KX0sNzg3NDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKGU9ImFib3V0OmJsYW5rIix0PSJzbmFwc2hvdF90d2VldCIpe2NvbnN0IG49TWF0aC5yb3VuZChzY3JlZW4ud2lkdGgvMi0yNzUpLG89TWF0aC5yb3VuZChzY3JlZW4uaGVpZ2h0LzItMjEwKTtyZXR1cm4gd2luZG93Lm9wZW4oZSx0LGBzY3JvbGxiYXJzPXllcyxyZXNpemFibGU9eWVzLHRvb2xiYXI9bm8sbG9jYXRpb249eWVzLFxuXHRcdFx0d2lkdGg9NTUwLGhlaWdodD00MjAsXG5cdFx0XHRsZWZ0PSR7bn0sdG9wPSR7b31gKX1uLmQodCx7Y3JlYXRlU2hhcmVXaW5kb3c6KCk9Pm99KX0sOTU1MzUzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1R3aXR0ZXI6KCk9Pm99KTt2YXIgbyxpPW4oNzg3NDIpOyFmdW5jdGlvbihlKXtmdW5jdGlvbiB0KGUsdCxuKXtyZXR1cm4gbj90KyIgZnJvbSBjbWVncm91cC5jb20gdmlhIEB0cmFkaW5ndmlldyAkIitlOmBDaGVjayBvdXQgbXkgIyR7ZX0gYW5hbHlzaXMgb24gQFRyYWRpbmdWaWV3OiAke3R9YH1mdW5jdGlvbiBuKGUsbixvKXtyZXR1cm4iaHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/JnRleHQ9IitlbmNvZGVVUklDb21wb25lbnQodChlLG4sbykpfWUuZ2V0U3RhdHVzPXQsZS5zaGFyZVNuYXBzaG90SW5zdGFudGx5PWZ1bmN0aW9uKGUsdCxvKXsoMCxpLmNyZWF0ZVNoYXJlV2luZG93KShuKGUsdCxvKSl9LGUuY3JlYXRlVHdpdHRlckhyZWZXaXRoQ3VzdG9tVGV4dD1mdW5jdGlvbihlLHQpe2NvbnN0IG49ZS5yZXBsYWNlKCJ7dXJsfSIsdCk7cmV0dXJuYGh0dHBzOi8vdHdpdHRlci5jb20vaW50ZW50L3R3ZWV0P3RleHQ9JHtlbmNvZGVVUklDb21wb25lbnQobil9YH0sZS5jcmVhdGVUd2l0dGVySHJlZkJ5U3ltYm9sPW59KG98fChvPXt9KSl9LDE2ODQ3MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHthc3luY1dpbmRvd09wZW46KCk9PnN9KTt2YXIgbz1uKDExNzMxMyksaT1uKDMxODk3NCksYT1uKDE4NTI3MSkscj1uKDczODQ1OCk7ZnVuY3Rpb24gcyhlLHQscyl7cmV0dXJuIHdpbmRvdy5UVkR8fCgwLApvLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iil8fCJfc2VsZiI9PT10fHwoMCxpLmlzU3ltcGhvbnlFbWJlZCkoKT9mdW5jdGlvbihlLHQsbil7cmV0dXJuIGUudGhlbigoZT0+e3ZvaWQgMCE9PWUmJm9wZW4oZSx0LG4pfSksKCgpPT57fSkpfShlLHQscyk6YXN5bmMgZnVuY3Rpb24oZSx0LG8pe2NvbnN0IGk9VVJMLmNyZWF0ZU9iamVjdFVSTChuZXcgQmxvYihbYDwhZG9jdHlwZSBodG1sPjxodG1sIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiR7Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmJhY2tncm91bmRDb2xvcn0iPjxoZWFkPjxtZXRhIGNoYXJzZXQ9InV0Zi04Ij48dGl0bGU+JHthLnQobnVsbCx2b2lkIDAsbig0MzY1MDQpKX08L3RpdGxlPjwvaGVhZD48Ym9keSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjoke2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuYmFja2dyb3VuZENvbG9yfSI+PC9ib2R5PjwvaHRtbD5gXSx7dHlwZToidGV4dC9odG1sIn0pKTt0cnl7ci5pc0lPUyYmYXdhaXQgbmV3IFByb21pc2UoKGU9PnNldFRpbWVvdXQoZSkpKTtjb25zdCBuPW9wZW4oaSx0LG8pO2lmKCFuKXRocm93IG5ldyBFcnJvcigiY291bmQgbm90IG9wZW4gYSBuZXcgdGFiIik7Y29uc3QgYT1hd2FpdCBlLmNhdGNoKCgoKT0+e30pKTt2b2lkIDAhPT1hP24ubG9jYXRpb24ucmVwbGFjZShhKTpuLmNsb3NlKCl9ZmluYWxseXtVUkwucmV2b2tlT2JqZWN0VVJMKGkpfX0oZSx0LHMpfX0sOTg3Nzk4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpLG4uZCh0LHtjcmVhdGVQdWJsaXNoZWRDaGFydEltYWdlVXJsOigpPT51LGNyZWF0ZVB1Ymxpc2hlZENoYXJ0VXJsOigpPT5jLGNyZWF0ZVNuYXBzaG90SW1hZ2VVcmxzOigpPT5oLGlzU25hcHNob3RVcmw6KCk9PnAscGFyc2VQdWJsaXNoZWRDaGFydFVybDooKT0+ZH0pO3ZhciBvPW4oNDkyMTg2KSxpPW4oMTYwMjk2KTtjb25zdCBhPW5ldyBSZWdFeHAoby51cmxzUmVnRXhwLnB1Ymxpc2hlZENoYXJ0T2xkKSxyPW5ldyBSZWdFeHAoby51cmxzUmVnRXhwLnB1Ymxpc2hlZENoYXJ0KSxzPW5ldyBSZWdFeHAoby51cmxzUmVnRXhwLnB1Ymxpc2hlZFNjcmlwdCksbD1uZXcgUmVnRXhwKG8udXJsc1JlZ0V4cC5pbWFnZVVybCk7ZnVuY3Rpb24gYyhlLHQsbil7aWYoIWV8fCEvWzAtOWEtekEtWl17OH0vLnRlc3QoZSkpcmV0dXJuIiI7aWYoZSYmdCl7cmV0dXJuYC9jaGFydC8ke3R9LyR7ZX0ke24/YC0ke259YDoiIn0vYH1yZXR1cm5gL3YvJHtlfS9gfWZ1bmN0aW9uIGQoZSl7aWYoYS50ZXN0KGUpKXtyZXR1cm57aW1hZ2VfdXJsOihlLm1hdGNoKGEpfHxbXSlbMV19fWlmKHIudGVzdChlKSl7Y29uc3QgdD1lLm1hdGNoKHIpfHxbXTtyZXR1cm57aW1hZ2VfdXJsOnRbMl0sc3ltYm9sOnRbMV0sdGl0bGU6dFszXX19aWYocy50ZXN0KGUpKXtjb25zdCB0PWUubWF0Y2gocyl8fFtdO3JldHVybntpbWFnZV91cmw6dFsxXSx0aXRsZTp0WzJdfX1yZXR1cm4gbC50ZXN0KGUpP3tpbWFnZV91cmw6ZX06e319ZnVuY3Rpb24gdShlKXtpZighZXx8IS9bMC05YS16QS1aXXs4fS8udGVzdChlKSlyZXR1cm4iIjtjb25zdCB0PSgwLGkuZW52aXJvbm1lbnQpKCk7aWYoImJhdHRsZSI9PT10fHwic3RhZ2luZyI9PT10KXtjb25zdCB0PWUuY2hhckF0KDApLnRvTG93ZXJDYXNlKCk7cmV0dXJuYCR7d2luZG93LkFXU19TM19DRE59LyR7dH0vJHtlfS5wbmdgfXJldHVybmAvaS8ke2V9L2B9ZnVuY3Rpb24gaChlKXtpZighZXx8IS9bMC05YS16QS1aXXs4fS8udGVzdChlKSlyZXR1cm4gbnVsbDtjb25zdCB0PSgwLGkuZW52aXJvbm1lbnQpKCk7aWYoImJhdHRsZSI9PT10fHwic3RhZ2luZyI9PT10KXtjb25zdCB0PWUuY2hhckF0KDApLnRvTG93ZXJDYXNlKCksbj1gJHt3aW5kb3cuQVdTX1MzX0NETn0vc25hcHNob3RzLyR7dH1gO3JldHVybntwcmV2aWV3OmAke259LyR7ZX1fdGh1bWIucG5nYCx1cmw6YCR7bn0vJHtlfS5wbmdgfX17Y29uc3QgdD1gJHt3aW5kb3cubG9jYXRpb24ucHJvdG9jb2x9Ly8ke3dpbmRvdy5sb2NhdGlvbi5ob3N0fWA7cmV0dXJue3ByZXZpZXc6YCR7dH0veC8ke2V9L3MvYCx1cmw6YCR7dH0veC8ke2V9L2B9fX1mdW5jdGlvbiBwKGUpe3RyeXtjb25zdCB0PW5ldyBVUkwoZSk7cmV0dXJuL15cL3hcLyhbMC05YS16QS1aXXs4fSlcLz8oPzokfCg/PVtcczssLl0pKVwvPyQvLnRlc3QodC5wYXRobmFtZSl9Y2F0Y2goZSl7cmV0dXJuITF9fX0sNzU0MjQ2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2NvbnZlcnRJbWFnZU5hbWVUb1VybDooKT0+aX0pO3ZhciBvPW4oMTYwMjk2KTtmdW5jdGlvbiBpKGUpe3JldHVybigwLG8uaXNQcm9kKSgpPyJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20veC8iK2UrIi8iOndpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK3dpbmRvdy5sb2NhdGlvbi5ob3N0KyIveC8iK2UrIi8ifX0sNDkyMTg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VybHNSZWdFeHA6KCk9Pm99KTtjb25zdCBvPXthbWF6b25hd3NMaW5rczoiKD86aHR0cHM6Ly98aHR0cDovLykoczNcXC4oYW1hem9uYXdzfHRyYWRpbmd2aWV3KVxcLmNvbShcXC90cmFkaW5ndmlldyhfc3RhZ2luZyk/KT9cXC9zbmFwc2hvdHMpXFwvKD86XFxTKj8pXFwuKHBuZ3xibXB8anBnfGpwZWcpIixpbWFnZVVybDoiXlswLTlhLXpBLVpdezh9JCIscHVibGlzaGVkQ2hhcnQ6Ii9jaGFydC8oLis/KS8oWzAtOWEtekEtWl17OH0pKD86LShbXi9dKykpPy8/IixwdWJsaXNoZWRDaGFydE9sZDoiL3YvKFswLTlhLXpBLVpdezh9KS8/IixwdWJsaXNoZWRJbWFnZToiLyg/Oml8eCkvKFswLTlhLXpBLVpdezh9KS8/IixwdWJsaXNoZWRTY3JpcHQ6Ii9zY3JpcHQvKFswLTlhLXpBLVpdezh9KSg/Oi0oW14vXSspKT8vPyIsZXh0ZXJuYWxMaW5rczoiKChodHRwOi8vfGh0dHBzOi8vKXwod3d3XFwuKSlbXFx3LlxcLV0rIn19LDI0MTkzNyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0KXtjb25zdCBuPXR8fHdpbmRvdy5sb2NhbGV8fCJlbiI7bGV0IG89ZVtuXT9lW25dOmUuZW4KO3JldHVybiBvPSJ0cmFkaW5ndmlldy5jb20iPT09bz8id3d3LnRyYWRpbmd2aWV3LmNvbSI6byxvP2RvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKyIvLyIrbzoiIn1uLmQodCx7ZGV0ZXJtaW5lQmFzZVVybDooKT0+b30pfSw5NjM5MDAoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgbzshZnVuY3Rpb24oZSl7ZS5FbXB0eT0iIixlLlRlY2huaWNhbHNQYXRoPSJ0ZWNobmljYWxzLyIsZS5GaW5hbmNpYWxzT3ZlcnZpZXdQYXRoPSJmaW5hbmNpYWxzLW92ZXJ2aWV3LyIsZS5UaW1lbGluZVBhdGg9Imhpc3RvcnktdGltZWxpbmUvIixlLk5ld3NQYXRoPSJuZXdzLyIsZS5PcHRpb25zUGF0aD0ib3B0aW9ucy8iLGUuUHJvZmlsZVBhdGg9InByb2ZpbGUvIixlLkhvbGRpbmdzUGF0aD0iaG9sZGluZ3MvIn0ob3x8KG89e30pKX0sMjA3OTcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bG9hZFN5bXBob255Q29tbXVuaWNhdGlvbkNoYW5uZWw6KCk9Pml9KTt2YXIgbz1uKDMxODk3NCk7YXN5bmMgZnVuY3Rpb24gaSgpe2lmKCEoMCxvLmlzU3ltcGhvbnlFbWJlZCkoKSlyZXR1cm4gbnVsbDtyZXR1cm4oYXdhaXQgUHJvbWlzZS5hbGwoW24uZSgxMDg0MSksbi5lKDc2MDgpLG4uZSg0NjIxNyksbi5lKDg1NDM0KSxuLmUoNzI4NSksbi5lKDkwNDE1KV0pLnRoZW4obi5iaW5kKG4sNjk0ODc2KSkpLlN5bXBob255Q29tbXVuaWNhdGlvbkNoYW5uZWwuZ2V0SW5zdGFuY2UoKX19LDE1MDY2NShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0KXtjb25zdCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtuLnN0eWxlLmRpc3BsYXk9Im5vbmUiLG4uaHJlZj10LG4uZG93bmxvYWQ9ZSxuLmNsaWNrKCl9bi5kKHQse2Rvd25sb2FkRmlsZTooKT0+b30pfSw1NjkxMjUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTYuNSAxNnY0LjVhMSAxIDAgMDAxIDFoMTRhMSAxIDAgMDAxLTFWMTZNMTQuNSA1VjE3bS00LTMuNWw0IDRsNC00Ii8+PC9zdmc+J30sMTk0NjQ4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im00LjY3IDcuMzguNjYtLjc2TDkgOS44NGwzLjY3LTMuMjIuNjYuNzZMOSAxMS4xNiA0LjY3IDcuMzhaIi8+PC9zdmc+J30sNTQzMzM5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im00LjY3IDEwLjYyLjY2Ljc2TDkgOC4xNmwzLjY3IDMuMjIuNjYtLjc2TDkgNi44NGwtNC4zMyAzLjc4WiIvPjwvc3ZnPid9LDE0NzIyMShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOC41IDZBMi41IDIuNSAwIDAgMCA2IDguNXYxMUEyLjUgMi41IDAgMCAwIDguNSAyMmgxMWEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTNoLTF2M2MwIC44My0uNjcgMS41LTEuNSAxLjVoLTExQTEuNSAxLjUgMCAwIDEgNyAxOS41di0xMUM3IDcuNjcgNy42NyA3IDguNSA3aDNWNmgtM3ptNyAxaDQuOGwtNy40OSA3LjQ4LjcxLjdMMjEgNy43MnY0Ljc5aDFWNmgtNi41djF6Ii8+PC9zdmc+J30sNDc3NzAwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSIjRkZCNzFCIiBkPSJNMjcgMTguMTJhMS4wNSAxLjA1IDAgMSAxLTIuMSAwIDEuMDUgMS4wNSAwIDAgMSAyLjEgMFoiLz48cGF0aCBmaWxsPSIjNzUzQ0JFIiBkPSJNMTkuNjQgOGMzLjA2IDAgNS42MiAzLjQzIDYuMzUgOC4wN2EuMTYuMTYgMCAwIDEtLjMuMDhjLS43My0xLjc3LTEuOTgtMi45NC0zLjQtMi45NC0yLjAyIDAtMy44IDIuNDgtNCA1Ljg5LS4yNi41Ni0yLjM2IDEtNC4yOSAxLjA3di04LjE1QzE1LjIgOS41NyAxNy41OCA4IDE5LjY0IDhaIi8+PHBhdGggZmlsbD0iI0ZGQjcxQiIgZD0iTTEgMTguMTJhMS4wNSAxLjA1IDAgMSAwIDIuMSAwIDEuMDUgMS4wNSAwIDAgMC0yLjEgMFoiLz48cGF0aCBmaWxsPSIjRTgxRDc1IiBkPSJNOC4zNiA4QzUuMyA4IDIuNzQgMTEuNDMgMiAxNi4wN2MwIC4wOS4wNS4xNy4xNC4xOC4wNy4wMi4xNC0uMDIuMTctLjEuNzItMS43NyAxLjk3LTIuOTQgMy4zOC0yLjk0IDIuMDMgMCAzLjggMi40OCA0IDUuODkuMjcuNTYgMi4zNyAxIDQuMyAxLjA3di04LjE1QzEyLjggOS41NyAxMC40MiA4IDguMzYgOFoiLz48L3N2Zz4nfSw5NjU4NyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xOSAxNWwyLjUtMi41YzEtMSAxLjUtMy41LS41LTUuNXMtNC41LTEuNS01LjUtLjVMMTMgOU0xMCAxMmwtMi41IDIuNWMtMSAxLTEuNSAzLjUuNSA1LjVzNC41IDEuNSA1LjUuNUwxNiAxOE0xNyAxMWwtNSA1Ii8+PC9zdmc+J30sNzE5MTMoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzAwOEVGRiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMS4wNiAxMC43NlY3LjI1YzAtLjcyLS40LTEuNC0xLjAyLTEuNzdBMTEuOSAxMS45IDAgMCAwIDE0IDRjLTMuMDcgMC01LjEuOTMtNi4wNCAxLjQ4YTIuMDYgMi4wNiAwIDAgMC0xLjAyIDEuNzd2NS4yOGwxMS4xOCAzLjIzdjIuMzZjMCAuMzItLjIuNTQtLjU0LjdMMTQgMjAuNjNsLTMuNi0xLjhjLS4zMi0uMTYtLjUyLS4zOC0uNTItLjd2LTEuNzdsLTIuOTQtLjg4djIuNjVjMCAxLjQ1LjgzIDIuNjkgMi4xNiAzLjMzTDE0IDI0bDQuODgtMi41NGEzLjY5IDMuNjkgMCAwIDAgMi4xOC0zLjM0VjEzLjdMOS44OCAxMC40N1Y3Ljc4Yy44LS4zOCAyLjE2LS44NCA0LjEyLS44NHMzLjMyLjQ2IDQuMTIuODR2Mi4xbDIuOTQuODhaIi8+PC9zdmc+J30sNjI4NDI4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xOS43NSA1aDMuMDdsLTYuNyA3LjYyTDI0IDIzaC02LjE3bC00Ljg0LTYuM0w3LjQ2IDIzSDQuNGw3LjE3LTguMTZMNCA1aDYuMzNsNC4zNyA1Ljc1TDE5Ljc1IDVabS0xLjI0IDE2aDEuN0w5LjU0IDdINy43bDEwLjggMTRaIi8+PC9zdmc+J319XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJtEtqUYTkntBJ.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:43.446Z","timestamp":1785141583446,"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/outfit/v15/QGYvz_MVcBeNP4NJtEtqUYTkntBJ.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://oxlofttrd.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: 32108\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 06:09:31 GMT\r\nexpires: Fri, 23 Jul 2027 06:09:31 GMT\r\ncache-control: public, max-age=31536000\r\nage: 354612\r\nlast-modified: Thu, 04 Sep 2025 17:18:28 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":32108,"size_decoded":32921,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 32108, version 1.0","md5":"e414fe5664f376c8f145acd792939183","sha1":"5b69d46adc3a06af762193adb2dddbc359b2e786","sha256":"fa31c7981483e52cbb8b8bc1eb0dc6326f160b8699cc0899349f977f0517a9df","sha512":"51c251910e5cce616b3c336bcb63853f83c306e16e9b79e0a18f924a738ba06b3e2cb8132ff9bc6e720527234eb80e90be2625b860e1728b66d4fe86ac9bafe5","ssdeep":"768:gUX6jLkDeuAkZHs27nAflEFIapAgCauwIFPo3zjERcgmcjz:3X6tkpNAf6FIapAgCaMFozInjz","tlshash":"6ee2e14f8beb009ef3828a7812c46b3195b305d569cbfa901eef85d76b5c247c1474a8","first_seen":"2025-09-05T02:25:45.343777Z","last_seen":"2026-07-27T15:06:26.559462Z","times_seen":27671,"resource_available":false,"data":"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"}},"time_used":84,"timings":{"blocked":-1,"dns":0,"connect":31,"send":0,"wait":18,"receive":35,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/elementor/assets/js/text-editor.2cbb801863b5118e0825.bundle.min.js","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:44.094Z","timestamp":1785141584094,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/plugins/elementor/assets/js/text-editor.2cbb801863b5118e0825.bundle.min.js HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:44 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:57:50 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:44 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 665\r\nKeep-Alive: timeout=5, max=94\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":1360,"size_decoded":1029,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (1320)","md5":"55cc75258e5525130081e91caa073199","sha1":"730a7b445fba0bae73fd6e54f1a13dace4a675c6","sha256":"4a1571d8c9151194f1bbeed2a3e950534aa2132a58d862a810eece2e8fd56902","sha512":"4eeb818ed4bf1e75f59c655383c518f53c2904506f79d0b2a681c6c13aa1f15eb928950bb34b51e92300fd4413b004574265a267c532d62f56afaddf9d1f50d5","ssdeep":"","tlshash":"6321f3f370a39c9e48cf148b34621d17f1574c99b8c9901ef9aa08db3472e893362638","first_seen":"2025-01-16T00:22:47.918993Z","last_seen":"2026-07-27T12:12:28.963169Z","times_seen":508,"resource_available":true,"data":"LyohIGVsZW1lbnRvciAtIHYzLjI2LjAgLSAxNS0wMS0yMDI1ICovCiJ1c2Ugc3RyaWN0Ijsoc2VsZi53ZWJwYWNrQ2h1bmtlbGVtZW50b3I9c2VsZi53ZWJwYWNrQ2h1bmtlbGVtZW50b3J8fFtdKS5wdXNoKFtbMjEyXSx7NTM2MjooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO2NsYXNzIFRleHRFZGl0b3IgZXh0ZW5kcyBlbGVtZW50b3JNb2R1bGVzLmZyb250ZW5kLmhhbmRsZXJzLkJhc2V7Z2V0RGVmYXVsdFNldHRpbmdzKCl7cmV0dXJue3NlbGVjdG9yczp7cGFyYWdyYXBoOiJwOmZpcnN0In0sY2xhc3Nlczp7ZHJvcENhcDoiZWxlbWVudG9yLWRyb3AtY2FwIixkcm9wQ2FwTGV0dGVyOiJlbGVtZW50b3ItZHJvcC1jYXAtbGV0dGVyIn19fWdldERlZmF1bHRFbGVtZW50cygpe2NvbnN0IGU9dGhpcy5nZXRTZXR0aW5ncygic2VsZWN0b3JzIiksdD10aGlzLmdldFNldHRpbmdzKCJjbGFzc2VzIikscj1qUXVlcnkoIjxzcGFuPiIse2NsYXNzOnQuZHJvcENhcH0pLHA9alF1ZXJ5KCI8c3Bhbj4iLHtjbGFzczp0LmRyb3BDYXBMZXR0ZXJ9KTtyZXR1cm4gci5hcHBlbmQocCkseyRwYXJhZ3JhcGg6dGhpcy4kZWxlbWVudC5maW5kKGUucGFyYWdyYXBoKSwkZHJvcENhcDpyLCRkcm9wQ2FwTGV0dGVyOnB9fXdyYXBEcm9wQ2FwKCl7aWYoIXRoaXMuZ2V0RWxlbWVudFNldHRpbmdzKCJkcm9wX2NhcCIpKXJldHVybiB2b2lkKHRoaXMuZHJvcENhcExldHRlciYmKHRoaXMuZWxlbWVudHMuJGRyb3BDYXAucmVtb3ZlKCksdGhpcy5lbGVtZW50cy4kcGFyYWdyYXBoLnByZXBlbmQodGhpcy5kcm9wQ2FwTGV0dGVyKSx0aGlzLmRyb3BDYXBMZXR0ZXI9IiIpKTtjb25zdCBlPXRoaXMuZWxlbWVudHMuJHBhcmFncmFwaDtpZighZS5sZW5ndGgpcmV0dXJuO2NvbnN0IHQ9ZS5odG1sKCkucmVwbGFjZSgvJm5ic3A7L2csIiAiKSxyPXQubWF0Y2goL14gKihbXiBdID8pLyk7aWYoIXIpcmV0dXJuO2NvbnN0IHA9clsxXSxzPXAudHJpbSgpO2lmKCI8Ij09PXMpcmV0dXJuO3RoaXMuZHJvcENhcExldHRlcj1wLHRoaXMuZWxlbWVudHMuJGRyb3BDYXBMZXR0ZXIudGV4dChzKTtjb25zdCBhPXQuc2xpY2UocC5sZW5ndGgpLnJlcGxhY2UoL14gKi8sKGU9Pm5ldyBBcnJheShlLmxlbmd0aCsxKS5qb2luKCImbmJzcDsiKSkpO2UuaHRtbChhKS5wcmVwZW5kKHRoaXMuZWxlbWVudHMuJGRyb3BDYXApfW9uSW5pdCgpe3N1cGVyLm9uSW5pdCguLi5hcmd1bWVudHMpLHRoaXMud3JhcERyb3BDYXAoKX1vbkVsZW1lbnRDaGFuZ2UoZSl7ImRyb3BfY2FwIj09PWUmJnRoaXMud3JhcERyb3BDYXAoKX19dC5kZWZhdWx0PVRleHRFZGl0b3J9fV0pOw=="}},"time_used":93,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":93,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/81072.2927a177231fdd0e24c1.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.776Z","timestamp":1785141584776,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/81072.2927a177231fdd0e24c1.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-40c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1256208928e272788848a9e80e1c800a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1036,"size_decoded":1218,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1036), with no line terminators","md5":"e625e6a9b3d1d0e7872454941e3a0f3c","sha1":"c4b93e2d6c31cccd6e1572e5faff07bd3456556c","sha256":"ff2fab41e51936266791aedf3104809dd2780906b7303dfdf954afe900eecaa2","sha512":"b6c94e5b14cef72a123c0b05f0efd06b022618632b6adfd3bda53ab30eb0b05b5bafc56a4dee63cec63f5606c2d69be7bbd4d52c7cfcba473b133495be1ac97a","ssdeep":"","tlshash":"0511872af08015a0b4bfcb384b14d3a9003190a29ea223ed77a0bcb18bc17b945d1008","first_seen":"2026-07-16T13:40:49.881902Z","last_seen":"2026-07-27T14:36:17.420644Z","times_seen":367,"resource_available":false,"data":"Lm1lbnVXcmFwLWxCSXhJd3R6e2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtYmFja2dyb3VuZCx2YXIoLS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kKSk7Ym9yZGVyLXJhZGl1czo2cHg7Ym94LXNoYWRvdzowIDJweCA0cHggdmFyKC0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eSk7Ym94LXNpemluZzpib3JkZXItYm94O3RleHQtYWxpZ246c3RhcnQ7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7ei1pbmRleDoxMDB9Lm1lbnVXcmFwLWxCSXhJd3R6LmlzTWVhc3VyaW5nLWxCSXhJd3R6e29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmZpeGVkO3Zpc2liaWxpdHk6aGlkZGVufS5tZW51V3JhcC1sQkl4SXd0ejpmb2N1c3tvdXRsaW5lOm5vbmV9LnNjcm9sbFdyYXAtbEJJeEl3dHp7aGVpZ2h0OjEwMCU7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvfS5zY3JvbGxXcmFwLWxCSXhJd3R6Lm1vbWVudHVtQmFzZWQtbEJJeEl3dHp7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LnNjcm9sbFdyYXAtbEJJeEl3dHo6Oi13ZWJraXQtc2Nyb2xsYmFye2hlaWdodDo1cHg7d2lkdGg6NXB4fS5zY3JvbGxXcmFwLWxCSXhJd3R6Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKTtib3JkZXI6MXB4IHNvbGlkICMwMDAwO2JvcmRlci1yYWRpdXM6M3B4fS5zY3JvbGxXcmFwLWxCSXhJd3R6Ojotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LnNjcm9sbFdyYXAtbEJJeEl3dHo6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lcntkaXNwbGF5Om5vbmV9Lm1lbnVCb3gtbEJJeEl3dHp7cGFkZGluZzo2cHggMH0uaXNIaWRkZW4tbEJJeEl3dHp7ZGlzcGxheTpub25lfQ=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/23254.3043f6ff1396f5065c2a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.828Z","timestamp":1785141584828,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/23254.3043f6ff1396f5065c2a.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fcb-1ad\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:51 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 521aedb5e786111f57349d46331e56a2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":429,"size_decoded":994,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (429), with no line terminators","md5":"27d579b35c62ffe990fa3b3e58719791","sha1":"9e2ad92e195c20fd9832696d5dc46e995683380c","sha256":"c9e28194d44ef9378cd88ba949c9c8a339180667df4f4ec154731a7cd0d26031","sha512":"dcb22c5861af670a1b2f04c4ab8d0a11b00575c651a54472e8b1d0f0b0e73fb03cf6fa75541b6e524286fa5b13ee34cb6bb46f4cf5b5845444e1af4cab83be91","ssdeep":"","tlshash":"bee082021643901ef14f014895563ed8b20d44c3aa7b5ececa716149da7414c0a30af8","first_seen":"2026-06-30T21:57:43.455853Z","last_seen":"2026-07-27T12:48:39.801557Z","times_seen":222,"resource_available":false,"data":"LmhpZGRlbi1SM1dpQ09kbntvcGFjaXR5OjB9Lml0ZW0tSmtRWFVsdEF7cG9zaXRpb246cmVsYXRpdmV9Lml0ZW0tSmtRWFVsdEEud2l0aEljb24tSmtRWFVsdEF7cGFkZGluZy1ib3R0b206MnB4O3BhZGRpbmctdG9wOjJweH1AbWVkaWEgKG1heC13aWR0aDo0NDBweCl7Lml0ZW0tSmtRWFVsdEEud2l0aEljb24tSmtRWFVsdEF7Zm9udC1zaXplOjE2cHg7cGFkZGluZy1ib3R0b206NnB4O3BhZGRpbmctdG9wOjZweH19LnNob3J0Y3V0LUprUVhVbHRBe21hcmdpbi1pbmxpbmUtZW5kOjA7bWluLXdpZHRoOmF1dG99QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey5zaG9ydGN1dC1Ka1FYVWx0QXtkaXNwbGF5Om5vbmV9fS5sb2FkaW5nLUprUVhVbHRBIC5pY29uLUprUVhVbHRBLC5sb2FkaW5nLUprUVhVbHRBIC5zaG9ydGN1dC1Ka1FYVWx0QXtvcGFjaXR5OjB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/86997.d9a1b2aca00a6209fe61.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.831Z","timestamp":1785141584831,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/86997.d9a1b2aca00a6209fe61.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-229\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ab4c19b65bc122832a2d190934d24c9d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":553,"size_decoded":1085,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (553), with no line terminators","md5":"01a397ca6f9acffa389686fa8bb86be4","sha1":"06e6067f865293a83c510abc69e253c0868ca272","sha256":"cc0cb71fac3c2d852959883310750bfd8f5e3e8dcbcaab5d009c7ceaccf4f797","sha512":"b8c0bbfc3ea33cd0b2df4863ebbb4821e38a79be23bac72cf4442617ad69ba3c40c5d945c1504b74a56b3f05f88e8843c8b3f4a98be88430e925fa8b2b25e2fe","ssdeep":"","tlshash":"e7f04608a314687bf99f01b79f8136457800ca2fe44385aeee005e75d0c86d32394b96","first_seen":"2026-07-17T14:15:58.498815Z","last_seen":"2026-07-27T12:48:39.786084Z","times_seen":117,"resource_available":false,"data":"Lml0ZW0tZlNhVF9ERU17YWxpZ24taXRlbXM6ZmxleC1zdGFydDtmb250LXNpemU6MTZweDtwYWRkaW5nLWlubGluZS1lbmQ6MjBweDt3aGl0ZS1zcGFjZTpub3JtYWx9LmxhYmVsLWZTYVRfREVNe2xpbmUtaGVpZ2h0OjI0cHg7b3ZlcmZsb3c6dmlzaWJsZX0ubGFiZWxSb3ctZlNhVF9ERU17bWFyZ2luLWJvdHRvbToycHg7bWFyZ2luLXRvcDoycHh9LnRvb2xib3gtZlNhVF9ERU17bWFyZ2luLXRvcDozcHh9LmJhZGdlTmV3LWFfU2FnWlFBey0tdWktbGliLWJhZGdlLWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tdWktbGliLWJhZGdlLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS53cmFwcGVyLUphN0lHRE9ne3BhZGRpbmc6MTBweCAyMHB4fS5sYWJlbFJvdy1KYTdJR0RPZ3tsaW5lLWhlaWdodDoyMHB4O3BhZGRpbmc6MH0ubGFiZWwtSmE3SUdET2d7Zm9udC1zaXplOjE2cHh9LmxhYmVsSGludC1KYTdJR0RPZ3tsaW5lLWhlaWdodDoxN3B4fS5sYWJlbE9uLUphN0lHRE9nKy5sYWJlbEhpbnQtSmE3SUdET2d7bWFyZ2luLXRvcDowfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/84265.4c6d8f772d538f528598.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.896Z","timestamp":1785141584896,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/84265.4c6d8f772d538f528598.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-3ec9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5a5fef70e3010a9c9df927ccd8bf7f02\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":16073,"size_decoded":6405,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"aaa159536c7d981785f51eb8ba67db93","sha1":"5784ebe9400e2e22025fd79e968d64297da6cd0a","sha256":"ef93d4903275fc451f34833321771914711245c75400304160edb454f5cea2f6","sha512":"8251e335dab75314acec8c4fb0be5d55dcb1ba3f7875695b4234c7c902ce169087b041112ff620a936d0113202ccb19fb57930b21765a24faa342177cd37e569","ssdeep":"384:FrWj47HRZhjkj+bEvcxXXws4gNwVb86wxR2ViPzhvUel2HOU2s6nSSf05r:FBHRZhYjIHP4gNwVYXxR2QP9vUel2Hth","tlshash":"5972c624f2b4ac666bb352ed4ef543835d9c4c82de5109befaa908cf195c5083379b39","first_seen":"2026-07-23T14:00:31.621457Z","last_seen":"2026-07-27T14:50:15.342379Z","times_seen":80,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbODQyNjVdLHs5OTAwNjAoZSx0LHMpe2Z1bmN0aW9uIGkoZSx0KXtyZXR1cm57c3RhcnQ6TWF0aC5taW4oZS5zdGFydCx0LnN0YXJ0KSxlbmQ6TWF0aC5tYXgoZS5lbmQsdC5lbmQpfX1mdW5jdGlvbiByKGUpe3JldHVybiB2b2lkIDA9PT1lP2U6QXJyYXkuZnJvbShlKX1zLmQodCx7YXJyYXlGcm9tU2V0OigpPT5yLG1lcmdlVHBvUHJpY2VSYW5nZXM6KCk9Pml9KX0sNjg0MjY1KGUsdCxzKXt2YXIgaTtzLmQodCx7VHBvU3R1ZHlCYXNlOigpPT5VLGV4dGVuZGluZ0lucHV0SWRzOigpPT5FfSksZnVuY3Rpb24oZSl7ZVtlLlYxPTFdPSJWMSIsZVtlLlYyPTJdPSJWMiJ9KGl8fChpPXt9KSk7dmFyIHI9cygzMDQyMjEpLG89cygxMzg2MzgpLGE9cyg5NTI5MDApLGw9cygyMjEwNjEpLG49cygxNDUzODEpLGM9cygxODUyNzEpLGQ9cyg1NzA2MDMpLHU9cyg3NjUxNzMpLHA9cygyMDU2MTEpLGg9cyg5NDM5NSksbT1zKDE5NzI3MiksZz1zKDc2ODI5MiksXz1zKDc5ODM4KSxTPXMoMTI4OTk4KSx3PXMoNTA3NjA0KTtjb25zdHtjb2xvckNvbGRHcmF5MjAwOnksY29sb3JDb2xkR3JheTkwMDpQLGNvbG9yRGVlcEJsdWVBMjAwOlQsY29sb3JEZWVwQmx1ZUE3MDA6Yixjb2xvckdyYXBlc1B1cnBsZUEyMDBBbHBoYTE1OkEsY29sb3JTa3lCbHVlNDAwQWxwaGE1MDp2LGNvbG9yU2t5Qmx1ZTQwMEFscGhhNzU6Q309dy5jb2xvcnMsUj17cG9jOltQLHldLHBvb3JIaWdoOltiLFRdLHBvb3JMb3c6W2IsVF0sc2luZ2xlcHJpbnRzOltBLEFdLHZhaDpbUCx5XSx2YWw6W1AseV0sdmFsdWVzOltQLHldLHZwVmFoOltQLHldLHZwVmFsOltQLHldLHZwUG9jOltQLHldLHZvbHVtZUNvbG9yOlt2LHZdLHZhbHVlQXJlYUNvbG9yOltDLENdfTtsZXQgZj1udWxsO3ZhciBNPXMoOTg0Mzc2KSxWPXMoNDAzODE3KSxrPXMoOTkwMDYwKSx4PXMoNTg4ODcwKSxJPXMoODc0NjApLEI9cyg1NDIxOTIpO2NsYXNzIE8gZXh0ZW5kcyB4LlN1bW1hcnlQYW5lVmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCl9X2N1dE9mZkxhc3RDb2x1bW4oKXtyZXR1cm4hMX1fZ2V0RGF0YVNvdXJjZUZvclN1bW1hcnkoKXtyZXR1cm4gdGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKEIudHBvU3VtbWFyeURhdGFTb3VyY2VJZCl9X2dldFN1bW1hcnlDb2x1bW5SZW5kZXJlckRhdGEoZSx0KXtjb25zdCBzPXRoaXMuX3N0dWR5LmdyYXBoaWNzKCksaT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxyPXRoaXMuX3N0dWR5LG89dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS50cG9TdHlsZS5jaGlsZHMoKSxhPW8uc3VtbWFyeS5jaGlsZHMoKS5pbmZvQmxvY2tzLmNoaWxkcygpLGw9by5sZXZlbHMuY2hpbGRzKCkuaW5pdGlhbEJhbGFuY2VSYW5nZS5jaGlsZHMoKSxuPW5ldyBNLlZvbHVtZUZvcm1hdHRlcixjPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5mb3JtYXR0ZXIoKSxkPWU9PmMuZm9ybWF0KGUpLHU9bmV3IFYuTG9naWNhbFJhbmdlKHQubGVmdCgpLTUsdC5yaWdodCgpKzUpLHA9W10saD0uNSppLmJhclNwYWNpbmcoKTtmb3IoY29uc3RbdCxvXW9mIHMudHBvcygpKXtjb25zdCBjPXMudHBvU3VtbWFyeUluZm8oKS5nZXQodCk7QXJyYXkuZnJvbShvKS5zb3J0KCgoZSx0KT0+ZS5maXJzdEJhclRpbWUtdC5maXJzdEJhclRpbWUpKS5mb3JFYWNoKChvPT57aWYoIXUuY29udGFpbnMoby5maXJzdEJhclRpbWUpJiYhdS5jb250YWlucyhvLmxhc3RCYXJUaW1lKSlyZXR1cm47Y29uc3QgbT1BcnJheS5mcm9tKGM/LmdldChvLmlkKT8/W10pLGc9bVttLmxlbmd0aC0xXTtpZighZylyZXR1cm47Y29uc3R7aW5pdGlhbEJhbGFuY2VIaWdoOl8saW5pdGlhbEJhbGFuY2VMb3c6Uyxpbml0aWFsQmFsYW5jZVJhbmdlOnd9PWEseT17dmFoUHJpY2U6ZChnLnZhaFByaWNlKSx2YWxQcmljZTpkKGcudmFsUHJpY2UpLHBvY1ByaWNlOmQoZy5wb2NQcmljZSl9LFA9Xy5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCksVD1TLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSxiPXcuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpO2lmKFB8fFR8fGIpe2NvbnN0IGU9KDAsay5hcnJheUZyb21TZXQpKHMudHBvQmxvY2tTZXRzKCkuZ2V0KHQpPy5nZXQoby5pZCkpO2lmKHZvaWQgMCE9PWUpe2NvbnN0IHQ9ci5jYWxjdWxhdGVJbml0aWFsQmFsYW5jZVByaWNlUmFuZ2UoZSxvLnByaWNlUmFuZ2UsbCk7eS5pbml0aWFsQmFsYW5jZUhpZ2g9dD9kKHQuZW5kKToi4oCUIix5LmluaXRpYWxCYWxhbmNlTG93PXQ/ZCh0LnN0YXJ0KToi4oCUIix5LmluaXRpYWxCYWxhbmNlUmFuZ2U9dD9kKHQuZW5kLXQuc3RhcnQpOiLigJQifX15LnJvdGF0aW9uRmFjdG9yPWcucm90YXRpb25GYWN0b3IudG9TdHJpbmcoKSx5LmhsUmFuZ2U9ZChnLmhsUmFuZ2UpLHkudmFSYW5nZT1kKGcudmFSYW5nZSkseS50b3RhbFZvbHVtZT1uLmZvcm1hdChnLnRvdGFsVm9sdW1lKSx5LnRwb0NvdW50VG90YWw9Zy50cG9Db3VudFRvdGFsLnRvU3RyaW5nKCkseS50cG9Db3VudEFib3ZlUG9jPWcudHBvQ291bnRBYm92ZVBvYy50b1N0cmluZygpLHkudHBvQ291bnRCZWxvd1BvYz1nLnRwb0NvdW50QmVsb3dQb2MudG9TdHJpbmcoKTtjb25zdCBBPUkudHBvUm93VGl0bGVzLm1hcCgoZT0+ZS5wcm9wTmFtZSkpLmZpbHRlcigoZT0+YVtlXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpKS5tYXAoKGU9Pih7dGV4dDp5W2VdfSkpKSx2PWkuaW5kZXhUb0Nvb3JkaW5hdGUoby5maXJzdEJhclRpbWUpLWgsQz1NYXRoLnJvdW5kKHYqZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyksUj1pLmluZGV4VG9Db29yZGluYXRlKG8ubGFzdEJhclRpbWUpK2gsZj1NYXRoLnJvdW5kKFIqZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyk7cC5wdXNoKHtsZWZ0OkMscmlnaHQ6Zixyb3dzOkF9KX0pKX1yZXR1cm4gcH19dmFyIE49cyg3NDU1NjkpO2NsYXNzIEYgZXh0ZW5kcyBOLlN1bW1hcnlXaWRnZXRTaWRlQXJlYVZpZXd7X2dldERhdGFTb3VyY2VGb3JTdW1tYXJ5KCl7CnJldHVybiB0aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQoQi50cG9TdW1tYXJ5RGF0YVNvdXJjZUlkKX1fdmlzaWJsZVRpdGxlcygpe2NvbnN0IGU9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS50cG9TdHlsZS5jaGlsZHMoKS5zdW1tYXJ5LmNoaWxkcygpLmluZm9CbG9ja3MuY2hpbGRzKCk7cmV0dXJuIEkudHBvUm93VGl0bGVzLmZpbHRlcigodD0+ZVt0LnByb3BOYW1lXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpKS5tYXAoKGU9PmUudHJhbnNsYXRlZFN0cmluZy50cmFuc2xhdGVkVGV4dCgpKSl9fXZhciBELEw9cyg2MzQ4Nik7IWZ1bmN0aW9uKGUpe2VbZS5IaXN0c0NvdW50PTgwXT0iSGlzdHNDb3VudCIsZVtlLlRpY2tzUGVyUm93TWluVmFsdWU9MV09IlRpY2tzUGVyUm93TWluVmFsdWUiLGVbZS5UaWNrc1BlclJvd01heFZhbHVlPTFlNl09IlRpY2tzUGVyUm93TWF4VmFsdWUiLGVbZS5CYXJzRGVwdGhGb3JUaWNrcGVyUm93PTMwMF09IkJhcnNEZXB0aEZvclRpY2twZXJSb3ciLGVbZS5yZXRyeVRpY2tzUGVyUm93Q29lZmY9MS40XT0icmV0cnlUaWNrc1BlclJvd0NvZWZmIixlW2UubWF4VGlja3NQZXJSb3dSZXRyaWVzPTEwXT0ibWF4VGlja3NQZXJSb3dSZXRyaWVzIixlW2UubWF4VGlja3NJblByaWNlUmFuZ2U9MWUzXT0ibWF4VGlja3NJblByaWNlUmFuZ2UiLGVbZS50aWNrc1BlclJvd1JvdW5kRmFjdG9yPTVdPSJ0aWNrc1BlclJvd1JvdW5kRmFjdG9yIn0oRHx8KEQ9e30pKTtjb25zdCAkPVsiZXh0ZW5kUG9vckxvdyIsImV4dGVuZFBvb3JIaWdoIiwiZXh0ZW5kUE9DIiwiZXh0ZW5kVHBvVmFoIiwiZXh0ZW5kVHBvVmFsIiwiZXh0ZW5kU2luZ2xlcHJpbnRzIl0sRT1bLi4uJCwiZXh0ZW5kVm9sdW1lUG9jIiwiZXh0ZW5kVm9sdW1lVmFoIiwiZXh0ZW5kVm9sdW1lVmFsIl0sSD0oMCxsLmdldExvZ2dlcikoIkNoYXJ0LlRwb1N0dWR5QmFzZSIpO2NsYXNzIHogZXh0ZW5kcyB1LlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHIpe3N1cGVyKG5ldyBkLlRyYW5zbGF0ZWRTdHJpbmcoIlRQTyBSZXNldCBhbGwgc3BsaXRzIGFuZCBtZXJnZXMiLGMudChudWxsLHZvaWQgMCxzKDQyOTczMykpKSksdGhpcy5fbW9kZWw9ZSx0aGlzLl9pZD10LHRoaXMuX3NwbGl0c0FuZE1lcmdlcz1pLHRoaXMuX2tleUZpbHRlcj1yfXJlZG8oKXtjb25zdCBlPXN0cnVjdHVyZWRDbG9uZSh0aGlzLl9zcGxpdHNBbmRNZXJnZXMpO09iamVjdC5rZXlzKGUpLmZpbHRlcih0aGlzLl9rZXlGaWx0ZXIpLmZvckVhY2goKHQ9PntkZWxldGUgZVt0XX0pKSx0aGlzLl9zdHVkeSgpLnNldFNwbGl0c0FuZE1lcmdlcyhlKX11bmRvKCl7dGhpcy5fc3R1ZHkoKS5zZXRTcGxpdHNBbmRNZXJnZXModGhpcy5fc3BsaXRzQW5kTWVyZ2VzKX1fc3R1ZHkoKXtyZXR1cm4oMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZCh0aGlzLl9pZCkpfX1mdW5jdGlvbiBLKGUsdCl7cmV0dXJuIHQ8ZX1jbGFzcyBVIGV4dGVuZHMgbS5TdHVkeXtjb25zdHJ1Y3RvcihlLHQscyxpLHIsbyxsLG49eil7RS5mb3JFYWNoKChlPT50LnJlbW92ZUV4Y2x1ZGVkS2V5KGBpbnB1dHMuJHtlfWAsMSkpKSxzdXBlcihlLHQscyxpLHIsbyksdGhpcy5fYXV0b1RpY2tQZXJSb3dEYXRhPW51bGwsdGhpcy5fc3BsaXRzQW5kTWVyZ2VzPXt9LHRoaXMuX2hpc3RvZ3JhbUlzVG9vTGFyZ2VDb3VudGVyPTAsdGhpcy5fbGFzdFJlc29sdmVkUHJvTmFtZT1udWxsLHRoaXMuX29uU2VyaWVzQ29tcGxldGVkQ2hhbmdlZD1lPT57ZSYmKHRoaXMuX3Nlcmllc0NvbXBsZXRlZC51bnN1YnNjcmliZSh0aGlzLl9vblNlcmllc0NvbXBsZXRlZENoYW5nZWQpLHRoaXMuX3RyeUNhbGN1bGF0ZVRpY2tQZXJSb3coKSl9LHRoaXMuX3N1bW1hcnlQYW5lVmlldz1uZXcgTyh0aGlzLGUpLHRoaXMuX3dpZGdldFNpZGVBcmVhVmlldz1uZXcgRihlKSx0aGlzLl9zZXJpZXNDb21wbGV0ZWQ9KDAsYS5jb21iaW5lKSgoZT0+Xy5zZXJpZXNSZWFkeVN0YXR1c2VzLmhhcyhlLnNlcmllc1N0YXR1cykpLGUubWFpblNlcmllcygpLmNvbXBvc2l0ZVN0YXR1c1ZXKCkud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9jaGFydFN0eWxlTW9kZT0hIWwsbCYmdGhpcy5fcHJvcGVydGllcy5zZXROYW1lSW5Pd25lcigiIiksdGhpcy5fcmVzZXRBbGxTcGxpdHNVbmRvQ29tbWFuZEN0b3I9bix0LmNoaWxkcygpLnN0eWxlcy5oYXNDaGlsZCgic3BsaXRCeUJsb2NrcyIpfHx0LmNoaWxkcygpLnN0eWxlcy5hZGRDaGlsZCgic3BsaXRCeUJsb2NrcyIsbmV3IGcuUHJvcGVydHkoITEpKSx0LmNoaWxkcygpLnN0eWxlcy5oYXNDaGlsZCgic3BsaXRCeUJsb2Nrc01vZGUiKXx8dC5jaGlsZHMoKS5zdHlsZXMuYWRkQ2hpbGQoInNwbGl0QnlCbG9ja3NNb2RlIixuZXcgZy5Qcm9wZXJ0eSgwKSksdC5zZXRUaGVtZWRDb2xvcnMoZnVuY3Rpb24oKXtpZighZil7Y29uc3QgZT0iZ3JhcGhpY3MudHBvTGV2ZWxzLnRwbyIsdD0iZ3JhcGhpY3MudHBvVm9sdW1lUm93cy50cG8iO2Y9W3twYXRoOmAke2V9LnRwb1BvYy5jb2xvcmAsY29sb3JzOlIucG9jfSx7cGF0aDpgJHtlfS50cG9Qb29ySGlnaC5jb2xvcmAsY29sb3JzOlIucG9vckhpZ2h9LHtwYXRoOmAke2V9LnRwb1Bvb3JMb3cuY29sb3JgLGNvbG9yczpSLnBvb3JMb3d9LHtwYXRoOmAke2V9LnRwb1NpbmdsZXByaW50cy5jb2xvcmAsY29sb3JzOlIuc2luZ2xlcHJpbnRzfSx7cGF0aDpgJHtlfS50cG9WYWguY29sb3JgLGNvbG9yczpSLnZhaH0se3BhdGg6YCR7ZX0udHBvVmFsLmNvbG9yYCxjb2xvcnM6Ui52YWx9LHtwYXRoOmAke2V9LnZvbHVtZVZhaC5jb2xvcmAsY29sb3JzOlIudnBWYWh9LHtwYXRoOmAke2V9LnZvbHVtZVZhbC5jb2xvcmAsY29sb3JzOlIudnBWYWx9LHtwYXRoOmAke2V9LnZvbHVtZVBvYy5jb2xvcmAsY29sb3JzOlIudnBQb2N9LHtwYXRoOmAke3R9LnZhbHVlc0NvbG9yYCxjb2xvcnM6Ui52YWx1ZXN9LHtwYXRoOmAke3R9LmNvbG9ycy5ub25WYWAsY29sb3JzOlIudm9sdW1lQ29sb3J9LHtwYXRoOmAke3R9LmNvbG9ycy52YWAsY29sb3JzOlIudmFsdWVBcmVhQ29sb3J9XX0KcmV0dXJuIGZ9KCkpO2NvbnN0IGM9ZS5tYWluU2VyaWVzKCksZD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKTtjLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fYXBwbHlTcGxpdEFuZE1lcmdlcyksYy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3ltYm9sLnN1YnNjcmliZSh0aGlzLHRoaXMuX2FwcGx5U3BsaXRBbmRNZXJnZXMpO2NvbnN0IHU9ZC5tZXJnZVBvaW50czt0aGlzLl91cGRhdGVTcGxpdHNBbmRNZXJnZXNBY3Rpb25zVmFsdWUodS52YWx1ZSgpKSx0aGlzLl9zcGxpdHNBbmRNZXJnZXNJbnB1dHNEZXBzKCkuZm9yRWFjaCgoZT0+e2RbZV0/LnN1YnNjcmliZSh0aGlzLHRoaXMuX2FwcGx5U3BsaXRBbmRNZXJnZXMpfSkpLHRoaXMuX2V4dGVuZGVkSW5wdXRzRW5hYmxlZD0oMCxwLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbnMpKCgoKT0+dGhpcy5fYXJlVFBPUGxvdHNFeHRlbmRlZCgpKSwkLm1hcCgoZT0+ZFtlXSkpLmZpbHRlcihCb29sZWFuKSksdS5zdWJzY3JpYmUodGhpcywoKCk9Pntjb25zdCBlPXUudmFsdWUoKT8/IltdIjsiW10iPT09ZT90aGlzLl9yZW1vdmVTcGxpdHNBbmRNZXJnZXNBY3Rpb25zVmFsdWUoKTp0aGlzLl91cGRhdGVTcGxpdHNBbmRNZXJnZXNBY3Rpb25zVmFsdWUoZSl9KSk7Y29uc3QgaD0oKT0+e3RoaXMuX2F1dG9UaWNrUGVyUm93RGF0YT1udWxsLHRoaXMuX3RyeUNhbGN1bGF0ZVRpY2tQZXJSb3coKX0sbT0oKT0+e2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpOyJBdXRvIj09PWUucm93U2l6ZS52YWx1ZSgpJiZlLnRpY2tzUGVyUm93LnNldFZhbHVlKE5hTiksdGhpcy5fYXV0b1RpY2tQZXJSb3dEYXRhPW51bGwsdGhpcy5fc2VyaWVzQ29tcGxldGVkLnVuc3Vic2NyaWJlKHRoaXMuX29uU2VyaWVzQ29tcGxldGVkQ2hhbmdlZCksdGhpcy5fc2VyaWVzQ29tcGxldGVkLnN1YnNjcmliZSh0aGlzLl9vblNlcmllc0NvbXBsZXRlZENoYW5nZWQse29uY2U6ITB9KSx0aGlzLl9oaXN0b2dyYW1Jc1Rvb0xhcmdlQ291bnRlcj0wfTtkLnJvd1NpemUuc3Vic2NyaWJlKHRoaXMsaCksdGhpcy5wcm9wZXJ0aWVzKCkub25SZXN0b3JlRmFjdG9yeURlZmF1bHRzKCkuc3Vic2NyaWJlKHRoaXMsaCksYy5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e2NvbnN0IGU9Yy5zeW1ib2xJbmZvKCk/LnByb19uYW1lPz9udWxsO3RoaXMuX2xhc3RSZXNvbHZlZFByb05hbWUhPT1lJiYodGhpcy5fbGFzdFJlc29sdmVkUHJvTmFtZT1lLG0oKSl9KSksYy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3ltYm9sLnN1YnNjcmliZSh0aGlzLG0pLGMub25JbnRlcnZhbENoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyxtKSx0aGlzLl90cnlDYWxjdWxhdGVUaWNrUGVyUm93KCksdGhpcy5fcHJvcGVydGllcy5hZGRFeGNsdWRlZEtleSgiaW5wdXRzLm1lcmdlUG9pbnRzIiwxKX1zdGF0ZUZvckFsZXJ0KCl7Y29uc3QgZT1zdXBlci5zdGF0ZUZvckFsZXJ0KCksdD0oMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuX2FsZXJ0TWV0YUluZm8oKSkscz10aGlzLl9jaGFydFN0eWxlTW9kZSYmbi5zdHVkeUlkc0hpZGVJbnB1dHNNb2RlLmhhcygoMCxMLmV4dHJhY3RTdHVkeUlkKSh0LmZ1bGxJZCkpO3JldHVybnsuLi5lLHRpdGxlOnRoaXMuX3RpdGxlKGguVGl0bGVEaXNwbGF5VGFyZ2V0LkFsZXJ0cywhMSx7fSxzLCExLCEwKSxzaG9ydFRpdGxlOnRoaXMuX3RpdGxlKGguVGl0bGVEaXNwbGF5VGFyZ2V0LkFsZXJ0cywhMCx7fSxzLCExLCEwKX19YWxlcnRDcmVhdGlvbkF2YWlsYWJsZSgpe3JldHVybiB0aGlzLl9hbGVydENyZWF0aW9uQXZhaWxhYmxlQ29tYmluZWR8fCh0aGlzLl9hbGVydENyZWF0aW9uQXZhaWxhYmxlQ29tYmluZWQ9KDAsYS5jb21iaW5lKSgoKGUsdCk9PnQmJmUpLHN1cGVyLmFsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKS5zcGF3bk93bmVyc2hpcCgpLHRoaXMuX2V4dGVuZGVkSW5wdXRzRW5hYmxlZC5zcGF3bk93bmVyc2hpcCgpKSksdGhpcy5fYWxlcnRDcmVhdGlvbkF2YWlsYWJsZUNvbWJpbmVkfWRlc3Ryb3koKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKTt0aGlzLl9zZXJpZXNDb21wbGV0ZWQudW5zdWJzY3JpYmUodGhpcy5fb25TZXJpZXNDb21wbGV0ZWRDaGFuZ2VkKSx0aGlzLl9zZXJpZXNDb21wbGV0ZWQuZGVzdHJveSgpLGUuc3ltYm9sUmVzb2x2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zeW1ib2wudW5zdWJzY3JpYmVBbGwodGhpcyksZS5vbkludGVydmFsQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3dpZGdldFNpZGVBcmVhVmlldy5kZXN0cm95KCksdGhpcy5fcHJvcGVydGllcy5kZXN0cm95KCksdGhpcy5fYWxlcnRDcmVhdGlvbkF2YWlsYWJsZUNvbWJpbmVkJiYodGhpcy5fYWxlcnRDcmVhdGlvbkF2YWlsYWJsZUNvbWJpbmVkLmRlc3Ryb3koKSx0aGlzLl9hbGVydENyZWF0aW9uQXZhaWxhYmxlQ29tYmluZWQ9dm9pZCAwKSx0aGlzLl9leHRlbmRlZElucHV0c0VuYWJsZWQuZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX11cGRhdGVBbGxWaWV3cyhlKXtzdXBlci51cGRhdGVBbGxWaWV3cyhlKSx0aGlzLl9zdW1tYXJ5UGFuZVZpZXcudXBkYXRlKCksdGhpcy5fd2lkZ2V0U2lkZUFyZWFWaWV3LnVwZGF0ZSgpfXByZWZlcnJlZFpPcmRlcigpe3JldHVybiAwfXN0YXRlQ3VzdG9tRmllbGRzKCl7cmV0dXJue2F1dG9UaWNrUGVyUm93RGF0YTp0aGlzLl9hdXRvVGlja1BlclJvd0RhdGE/P3ZvaWQgMCxzcGxpdHNBbmRNZXJnZXM6dGhpcy5fc3BsaXRzQW5kTWVyZ2VzfX1yZXN0b3JlU3RhdGVDdXN0b21GaWVsZHMoZSl7dGhpcy5fYXV0b1RpY2tQZXJSb3dEYXRhPWUuYXV0b1RpY2tQZXJSb3dEYXRhPz9udWxsLHRoaXMuX3NwbGl0c0FuZE1lcmdlcz1lLnNwbGl0c0FuZE1lcmdlcz8/e30sdGhpcy5fYXBwbHlTcGxpdEFuZE1lcmdlcygpfXJlc2V0QWxsU3BsaXRzQW5kTWVyZ2VzKCl7CmNvbnN0IGU9dGhpcy5fbW9kZWwudW5kb01vZGVsKCksdD1uZXcgdGhpcy5fcmVzZXRBbGxTcGxpdHNVbmRvQ29tbWFuZEN0b3IodGhpcy5fbW9kZWwsdGhpcy5pZCgpLHN0cnVjdHVyZWRDbG9uZSh0aGlzLl9zcGxpdHNBbmRNZXJnZXMpLHRoaXMuX3Jlc2V0U3BsaXRzQW5kTWVyZ2VzS2V5RmlsdGVyLmJpbmQodGhpcykpO2UudW5kb0hpc3RvcnkoKS5wdXNoVW5kb0NvbW1hbmQodCl9c2V0U3BsaXRzQW5kTWVyZ2VzKGUpe3RoaXMuX3NwbGl0c0FuZE1lcmdlcz1lLHRoaXMuX2FwcGx5U3BsaXRBbmRNZXJnZXMoKX1zcGxpdEJsb2NrKGUpe3RoaXMuX2FwcGVuZE1lcmdlU3BsaXRBY3Rpb24oZSwic3BsaXQiLG5ldyBkLlRyYW5zbGF0ZWRTdHJpbmcoIlRQTyBzcGxpdCBibG9jayIsYy50KG51bGwsdm9pZCAwLHMoNjE5NjA5KSkpKX1tZXJnZVByb2ZpbGUoZSl7dGhpcy5fYXBwZW5kTWVyZ2VTcGxpdEFjdGlvbihlLCJtZXJnZSIsbmV3IGQuVHJhbnNsYXRlZFN0cmluZygiVFBPIG1lcmdlIGJsb2NrIixjLnQobnVsbCx2b2lkIDAscyg4NzA0MDkpKSkpfWNhbGN1bGF0ZUluaXRpYWxCYWxhbmNlUHJpY2VSYW5nZShlLHQscyl7bGV0IGk9bnVsbDtjb25zdCByPXMubGV2ZWxzLnZhbHVlKCksbz1LLmJpbmQobnVsbCxyKTtmb3IoY29uc3QgcyBvZiBlKXtjb25zdCBlPXtzdGFydDpzLnJvd0luZGV4KnQsZW5kOihzLnJvd0luZGV4KzEpKnR9O3MuYmxvY2tzLnNvbWUobykmJihpPW51bGw9PT1pP2U6KDAsay5tZXJnZVRwb1ByaWNlUmFuZ2VzKShpLGUpKX1yZXR1cm4gaX1wYW5lVmlld3MoZSl7cmV0dXJuIHRoaXMuX2NoYXJ0U3R5bGVNb2RlP2UhPT10aGlzLl9tb2RlbC5tYWluUGFuZSgpP1t0aGlzLl9zdW1tYXJ5UGFuZVZpZXddOnRoaXMuX3BhbmVWaWV3czpzdXBlci5wYW5lVmlld3MoZSl9Y2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3KCl7cmV0dXJuIG51bGx9Y2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcigpe3JldHVybiBudWxsfXdpZGdldFNpZGVBcmVhVmlld3MoZSl7Y29uc3QgdD10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpO2lmKCF0KXJldHVybiBudWxsO2NvbnN0IHM9dGhpcy5fbW9kZWwubWFpblBhbmUoKTtpZighcylyZXR1cm4gbnVsbDtjb25zdCBpPXMucHJpY2VTY2FsZVBvc2l0aW9uKHQpO3JldHVybiB0aGlzLl9jaGFydFN0eWxlTW9kZSYmZT09PWk/W3RoaXMuX3dpZGdldFNpZGVBcmVhVmlld106bnVsbH1wcmljZVNjYWxlKCl7cmV0dXJuIHRoaXMuX2NoYXJ0U3R5bGVNb2RlP3RoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCk6c3VwZXIucHJpY2VTY2FsZSgpfWRhdGFVcGRhdGVkKCl7cmV0dXJuIHRoaXMuX2RhdGFVcGRhdGVkfV9yZXNldFNwbGl0c0FuZE1lcmdlc0tleUZpbHRlcihlKXtjb25zdCB0PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSxzPXQucHJvU3ltYm9sKCksaT10aGlzLl9jaGFydFN0eWxlTW9kZXx8KDAsUy5pc1RpbWVCYXNlZFN0eWxlKSh0LnN0eWxlKCkpPyJjb21tb24iOnQuc3R5bGUoKSxyPWUuc3BsaXQoIjsiKTtyZXR1cm4gclswXT09PXMmJnJbMV09PT1pfV9zcGxpdHNBbmRNZXJnZXNBY3Rpb25zVmFsdWUoKXtyZXR1cm4gdGhpcy5fc3BsaXRzQW5kTWVyZ2VzW3RoaXMuX3NwbGl0c0FuZE1lcmdlc0FjdGlvbnNLZXkoMildPz90aGlzLl9zcGxpdHNBbmRNZXJnZXNbdGhpcy5fc3BsaXRzQW5kTWVyZ2VzQWN0aW9uc0tleSgxKV0/P251bGx9X3VwZGF0ZVNwbGl0c0FuZE1lcmdlc0FjdGlvbnNWYWx1ZShlKXt0aGlzLl9zcGxpdHNBbmRNZXJnZXNbdGhpcy5fc3BsaXRzQW5kTWVyZ2VzQWN0aW9uc0tleSgyKV09ZSx0aGlzLl9yZW1vdmVTcGxpdHNBbmRNZXJnZXNBY3Rpb25zVmFsdWUoMSl9X3JlbW92ZVNwbGl0c0FuZE1lcmdlc0FjdGlvbnNWYWx1ZShlPTIpe2RlbGV0ZSB0aGlzLl9zcGxpdHNBbmRNZXJnZXNbdGhpcy5fc3BsaXRzQW5kTWVyZ2VzQWN0aW9uc0tleShlKV0sMj09PWUmJnRoaXMuX3JlbW92ZVNwbGl0c0FuZE1lcmdlc0FjdGlvbnNWYWx1ZSgxKX1fYXBpSW5wdXRzKCl7Y29uc3R7cm93U2l6ZTplLC4uLnR9PXN1cGVyLl9hcGlJbnB1dHMoKTtyZXR1cm4gdH1fYWxsSW5wdXRzQXJlVmFsaWQoKXtjb25zdCBlPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS50aWNrc1BlclJvdy52YWx1ZSgpO3JldHVybiFpc05hTihlKSYmc3VwZXIuX2FsbElucHV0c0FyZVZhbGlkKCl9X2F1dG9Sb3dTaXplTW9kZUVuYWJsZWQoKXtyZXR1cm4iQXV0byI9PT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkucm93U2l6ZS52YWx1ZSgpfV90cnlDYWxjdWxhdGVUaWNrUGVyUm93KCl7aWYodGhpcy5fYXV0b1Jvd1NpemVNb2RlRW5hYmxlZCgpJiYoZT10aGlzLl9hdXRvVGlja1BlclJvd0RhdGEsdD10aGlzLl9jdXJyZW50QXV0b1RpY2tQZXJSb3dEYXRhKCksbnVsbD09PWV8fGUuc3ltYm9sIT09dC5zeW1ib2x8fGUuaW50ZXJ2YWwhPT10LmludGVydmFsKSl7dGhpcy5fY2FsY3VsYXRlVGlja1BlclJvdygpP3RoaXMuX2F1dG9UaWNrUGVyUm93RGF0YT10aGlzLl9jdXJyZW50QXV0b1RpY2tQZXJSb3dEYXRhKCk6KHRoaXMuX3Nlcmllc0NvbXBsZXRlZC51bnN1YnNjcmliZSh0aGlzLl9vblNlcmllc0NvbXBsZXRlZENoYW5nZWQpLHRoaXMuX3Nlcmllc0NvbXBsZXRlZC5zdWJzY3JpYmUodGhpcy5fb25TZXJpZXNDb21wbGV0ZWRDaGFuZ2VkLHtvbmNlOiEwfSkpfXZhciBlLHR9X2NhbGN1bGF0ZVRpY2tQZXJSb3coKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSx0PWUuc3ltYm9sSW5mbygpLHM9ZS5kYXRhKCkuYmFycygpO2lmKCFzLnNpemUoKXx8IXQpcmV0dXJuITE7Y29uc3QgaT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PWkpcmV0dXJuITE7Y29uc3Qgcj1zLnJhbmdlQ291bnRiYWNrKGkubGFzdEJhcigpLDMwMCksYT1yLm1pbk1heE9uUmFuZ2VDYWNoZWQoKDAsby5lbnN1cmVOb3ROdWxsKShyLmZpcnN0SW5kZXgoKSksKDAsby5lbnN1cmVOb3ROdWxsKShyLmxhc3RJbmRleCgpKSxbewpuYW1lOiJsb3ciLG9mZnNldDowfSx7bmFtZToiaGlnaCIsb2Zmc2V0OjB9XSk7aWYobnVsbD09PWEpcmV0dXJuITE7Y29uc3QgbD10Lm1pbm1vdi90LnByaWNlc2NhbGUsbj0oYS5tYXgtYS5taW4pL2wsYz1NYXRoLm1heChuLzgwLG4vMWUzKSxkPU1hdGgucG93KDEuNCx0aGlzLl9oaXN0b2dyYW1Jc1Rvb0xhcmdlQ291bnRlcikqYys1KnRoaXMuX2hpc3RvZ3JhbUlzVG9vTGFyZ2VDb3VudGVyLHU9TWF0aC5mbG9vcihNYXRoLmxvZzEwKGMpKSxwPTUqTWF0aC5tYXgoMSxNYXRoLnBvdygxMCx1LTEpKSxoPU1hdGgucm91bmQoZC9wKSpwLG09TWF0aC5taW4oMWU2LE1hdGgubWF4KDEsaCkpO3JldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkudGlja3NQZXJSb3cuc2V0VmFsdWUobSksSC5sb2dJbmZvKGBBdXRvY2FsY3VsYXRlIFRpY2tzUGVyUm93LlxuXHRcdFx0c3ltYm9sOiAke3RoaXMuX3Nlcmllcy5zeW1ib2woKX1cblx0XHRcdGludGVydmFsOiAke3RoaXMuX3Nlcmllcy5pbnRlcnZhbCgpfVxuXHRcdFx0bWluVGljazogJHtsfVxuXHRcdFx0aGlnaDogJHthLm1heH1cblx0XHRcdGxvdzogJHthLm1pbn1cblx0XHRcdGhpc3RvZ3JhbUlzVG9vTGFyZ2VDb3VudGVyOiAke3RoaXMuX2hpc3RvZ3JhbUlzVG9vTGFyZ2VDb3VudGVyfVxuXHRcdFx0cmVzdWx0OiAke219YCksITB9X2N1cnJlbnRBdXRvVGlja1BlclJvd0RhdGEoKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKTtyZXR1cm57c3ltYm9sOmUuZ2V0U3ltYm9sU3RyaW5nKCksaW50ZXJ2YWw6ZS5pbnRlcnZhbCgpfX1fb25TdHVkeUVycm9yKGUpe2NvbnN0IHQ9KDAsci5kZWZhdWx0KShlKT9lOmUuZXJyb3I7aWYodGhpcy5fYXV0b1Jvd1NpemVNb2RlRW5hYmxlZCgpJiZ0LnN0YXJ0c1dpdGgoIkhpc3RvZ3JhbSBpcyB0b28gbGFyZ2UiKSl7aWYoKyt0aGlzLl9oaXN0b2dyYW1Jc1Rvb0xhcmdlQ291bnRlcjwxMClyZXR1cm4gSC5sb2dJbmZvKCJSZWNhbGN1bGF0ZSB0aWNrc1BlclJvdyB3aXRoIG11bHRpcGxpY2F0b3IiKSx2b2lkIHRoaXMuX2NhbGN1bGF0ZVRpY2tQZXJSb3coKTtILmxvZ1dhcm4oIlJlY2FsY3VsYXRpbmcgdGlja3NQZXJSb3cgbGltaXQgaGFzIGJlZW4gZXhjZWVkZWQiKX1zdXBlci5fb25TdHVkeUVycm9yKGUpfV9vblN0dWR5Q29tcGxldGVkKGUpe0gubG9nSW5mbygiUmVzZXQgaGlzdG9ncmFtSXNUb29MYXJnZUNvdW50ZXIgYmVjYXVzZSBvZiBjb21wbGV0ZSBtZXNzYWdlIiksdGhpcy5faGlzdG9ncmFtSXNUb29MYXJnZUNvdW50ZXI9MCxzdXBlci5fb25TdHVkeUNvbXBsZXRlZChlKX1fYXBwZW5kTWVyZ2VTcGxpdEFjdGlvbihlLHQscyl7Y29uc3QgaT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5tZXJnZVBvaW50cy52YWx1ZSgpLHI9IiI9PT1pfHxudWxsPT09aT9bXTpKU09OLnBhcnNlKGkpO3IucHVzaCh7YWN0aW9uOnQsdGltZTplfSksdGhpcy5fbW9kZWwudW5kb01vZGVsKCkuc2V0UHJvcGVydHkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkubWVyZ2VQb2ludHMsSlNPTi5zdHJpbmdpZnkocikscyl9X2FwcGx5U3BsaXRBbmRNZXJnZXMoKXtjb25zdCBlPXRoaXMuX3NwbGl0c0FuZE1lcmdlc0FjdGlvbnNWYWx1ZSgpPz8iW10iO3RoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLm1lcmdlUG9pbnRzLnNldFZhbHVlKGUpfV9hcmVUUE9QbG90c0V4dGVuZGVkKCl7Y29uc3QgZT10aGlzLl9hcGlJbnB1dHMoKTtyZXR1cm4gJC5zb21lKCh0PT5lW3RdKSl9fX0sODc0NjAoZSx0LHMpe3MuZCh0LHt0cG9Sb3dUaXRsZXM6KCk9Pnd9KTt2YXIgaT1zKDc4MzI1NCkscj1zKDU3MDYwMyk7Y29uc3Qgbz1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlLCBoaWdoLWxvdyByYW5nZSJ9LHMoOTMxNDg4KSksYT1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlLCB2YWx1ZSBhcmVhIHJhbmdlIn0scyg1MDUwMTApKSxsPWkudChudWxsLHtjb250ZXh0OiJUUE8gU3VtbWFyeSByb3cgdGl0bGUsIGFiYnIgVm9sdW1lIGFyZWEgaGlnaCJ9LHMoODY5MjgzKSksbj1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlLCBhYmJyIFZvbHVtZSBhcmVhIGxvdyJ9LHMoOTI4NjY1KSksYz1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlLCBhYmJyIFBvaW50IG9mIGNvbnRyb2wifSxzKDk0OTYxNykpLGQ9aS50KG51bGwse2NvbnRleHQ6IlRQTyBTdW1tYXJ5IHJvdyB0aXRsZSJ9LHMoNzI5MjAzKSksdT1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlIn0scyg4NTYwMjgpKSxwPWkudChudWxsLHtjb250ZXh0OiJUUE8gU3VtbWFyeSByb3cgdGl0bGUifSxzKDI2ODg5MSkpLGg9aS50KG51bGwse2NvbnRleHQ6IlRQTyBTdW1tYXJ5IHJvdyB0aXRsZSJ9LHMoMTEyNzQ4KSksbT1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlIn0scyg0Mjg3MjMpKSxnPWkudChudWxsLHtjb250ZXh0OiJUUE8gU3VtbWFyeSByb3cgdGl0bGUsIGFiYnIgSW5pdGlhbCBCYWxhbmNlIEhpZ2gifSxzKDI3NjEzNykpLF89aS50KG51bGwse2NvbnRleHQ6IlRQTyBTdW1tYXJ5IHJvdyB0aXRsZSwgYWJiciBJbml0aWFsIEJhbGFuY2UgTG93In0scygxNDgzMzUpKSxTPWkudChudWxsLHtjb250ZXh0OiJUUE8gU3VtbWFyeSByb3cgdGl0bGUsIGFiYnIgSW5pdGlhbCBCYWxhbmNlIFJhbmdlIn0scyg1MTQ3NjIpKSx3PVt7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJITCBSYW5nZSIsbykscHJvcE5hbWU6ImhsUmFuZ2UifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJWQSByYW5nZSIsYSkscHJvcE5hbWU6InZhUmFuZ2UifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJWQUgiLGwpLHByb3BOYW1lOiJ2YWhQcmljZSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIlZBTCIsbiksCnByb3BOYW1lOiJ2YWxQcmljZSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIlBPQyIsYykscHJvcE5hbWU6InBvY1ByaWNlIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiVG90YWwgdm9sdW1lIixkKSxwcm9wTmFtZToidG90YWxWb2x1bWUifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJUb3RhbCBUUE8iLHUpLHByb3BOYW1lOiJ0cG9Db3VudFRvdGFsIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiVFBPIEFib3ZlIFBPQyIscCkscHJvcE5hbWU6InRwb0NvdW50QWJvdmVQb2MifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJUUE8gQmVsb3cgUE9DIixoKSxwcm9wTmFtZToidHBvQ291bnRCZWxvd1BvYyJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIlJvdGF0aW9uIGZhY3RvciIsbSkscHJvcE5hbWU6InJvdGF0aW9uRmFjdG9yIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiSUIgaGlnaCIsZykscHJvcE5hbWU6ImluaXRpYWxCYWxhbmNlSGlnaCJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIklCIGxvdyIsXykscHJvcE5hbWU6ImluaXRpYWxCYWxhbmNlTG93In0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiSUIgcmFuZ2UiLFMpLHByb3BOYW1lOiJpbml0aWFsQmFsYW5jZVJhbmdlIn1dfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/outfit/v15/QGYvz_MVcBeNP4NJtEtqUYTkntBJ.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:43.450Z","timestamp":1785141583450,"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/outfit/v15/QGYvz_MVcBeNP4NJtEtqUYTkntBJ.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://oxlofttrd.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: 32108\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 06:09:31 GMT\r\nexpires: Fri, 23 Jul 2027 06:09:31 GMT\r\ncache-control: public, max-age=31536000\r\nage: 354612\r\nlast-modified: Thu, 04 Sep 2025 17:18:28 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":32108,"size_decoded":32921,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 32108, version 1.0","md5":"e414fe5664f376c8f145acd792939183","sha1":"5b69d46adc3a06af762193adb2dddbc359b2e786","sha256":"fa31c7981483e52cbb8b8bc1eb0dc6326f160b8699cc0899349f977f0517a9df","sha512":"51c251910e5cce616b3c336bcb63853f83c306e16e9b79e0a18f924a738ba06b3e2cb8132ff9bc6e720527234eb80e90be2625b860e1728b66d4fe86ac9bafe5","ssdeep":"768:gUX6jLkDeuAkZHs27nAflEFIapAgCauwIFPo3zjERcgmcjz:3X6tkpNAf6FIapAgCaMFozInjz","tlshash":"6ee2e14f8beb009ef3828a7812c46b3195b305d569cbfa901eef85d76b5c247c1474a8","first_seen":"2025-09-05T02:25:45.343777Z","last_seen":"2026-07-27T15:06:26.559462Z","times_seen":27671,"resource_available":false,"data":"d09GMgABAAAAAH1sABMAAAABEpgAAHz6AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGokKG4GFEhyEfD9IVkFShwgGYD9TVEFUgR4AhQwvbBEICoGIUOtMC4N0ADCB3i4BNgIkA4dkBCAFhVoHhwAMB1vWAHGBjU3jGl53wsfVolb9PTLZuAa9mWwoPK+RsxERbBzQeODf0uz//3OSihwmnSftDM74ocCGozQK6mmq1RiiTPWtaHRs2AuFo87CeVBhtHy3k1a67qTckcHRfHINEgYPMrJhxsNXqM+5LBmP+S5LJIheRZaETpYh+Fam/OsweuR4piEIM5EpylRQMh7OzMgK9cSuDascdtJy1V6xfu/WyTVDKc7lK1K/T5n1l8LLjSKFgpa5X30hPz+jsqhEFp6/ovWoIVGNEUqUK9ztjsw24wqG2ycm7Uvs4TLAdn0QRYb1eEuef+qn5bmvvsBqu5s9E/YAECRRAFdAO1oBANXP83P7c99bvQEDxohtxBgjRIQxwvh8HQMUFf37fD9GEvqxe5OBMMIBA3Fg4UAipdKCtoMvkWJh1PC4af+qsipdu5V2TLpOpeupC/dNdKKdVgzVECEkIWIkECzATzrte0MaaaSRAcPOxp+Bq9/9g6x9d0V51RU9AS5gNg7Zji1gzwxPp/Uv8AhvxAwSt1GVYtmudfchbK79BvaohVDBQ/hX/rVPUIw6+ZGmT/lmr+gDFhVUH+zdA3BAc/Y/rVOhhBolCQnEiO8muxFdiyoRkgBxCIFCoFSg1+Ps9yrP/4lI+56fWumZWjUayzK4yy0rYuOqZQ6EMW/UI2UbFU08zi5BIA4gJBjcKTvWIxx5JT8A/J+ZeThdetrX3clsJmg2kzEiGDUVQXzMbxCpEOYhjAju8M/3FztvIVmuSatAQlmK4GOSBQSBXRCRzbTsxcbHTRTqZjHGeWmHhgeINk3tOEKkUBsyxnz3SKf+JfwnFU2QsKAE8KD4k9qsYCegYXPWIqK6dXjaVv9mqAHGBixsUhG0iXbgwxDulVtEKSIW0a4bWbrrXXtcuFH+UK73fnR71x5tM5QysbyYwKu4TvweZtHSzbe0yVKLBSewd9+rUNDPJkbC898vv1c6d5bCe6N4FAOT6sEPiAAR4/1Pz/wJW8pIaoXoEKeqkXOmZsY2MoCu/+yMUoDECAP///60bP/V9Z/5GjhHb7zgsLSsOORgucAddun2pMrJ6d9/T5L/+9d/RDMTy3+8kq0FSR6wrQV50f6y58haYtKMF+xFO4DYAVC5XagqCIoyXVJVRN32Kbo+df6vVPU6xOKTYLED0m0UpQxTv3La1LPKyre0fq1nnxYLQVwCFLPqEKiyJs28EWkmI9JlBLkCcCHdevssyhuSLkvQhenlmrtbveXl3XMu9XI4hGB5RGnUg1iWcTfQQGzw/zfkO/fS+DZkki/Jk2fwtL31fU7VbEtfHtJcJEgIQQoREZG8EKQJPevf+P2axqdaKpO8SRYpFvRw2QxjU/sdRgEC6oQhpQ0moSpAankovfSduY8x9+9ZZ2+MbWMRECIRId4317d6vQ82c7OBv1yzaKDy+f8uBJ4CYD2ow0Gdi4UWZQ5kQ5aF6RxnljDIPkeBIMHjhAIpmgNMrbPMQhKeHFliwlc1ocBhc9Bmc1Dg0By06U0UGO4coE0Wo8Cw5gBt9AoFRncO2hCOAkOeg1bj6iElc4CWfSiQxGS3LK4FeRx9aPbqQgCMNB3q3TJ2Q5V9iN/S2ArFjz1/asSLkIAZXfjEfms4WavBNA/dM+W2jPTjuqF2Ub28+Rblz76IvpD6yVvMIDSIDiOIMWOIKS7EgiWExwEyhTvEkydkGgnElx/EXwBkoYUQqX8hiy2FLBcMCRUGCbcestE2yA47ILvsbXwG09leW6RXP9ywETgEAVMIWa8+/UtvXQRqayRQG4HnAbsCm8NhMCCO5azYKJ3Jlaw5gB5Nf9Em8u3F7SFjD5UHyDmI6mA3j3DtGAXHKTje0AlenRbS39rOdOx8Py9A1MV6L83UKxDnKki9muZ6cbdm4x1QeWes7kWB90Hj/a48rB4oIL/7tgQrhOFr2ysFPBo3k8RLkoRmk5zkvEiKQmVKqRZCVdWpRT7quPAWKHPmEpe53HlLLDNvVSuTSviJz3650olPqklIyqKKKVhimZVvoulmGrYPlpWQUNAwsHBARGQUVDT0QfPhmFMU4ktRYsQJSpQsRaryKq0h89r6Ls7FUrlSpdbqjWare9nOXWcISIiETKiETpiETfSRDkVRIiVTKqVROmVSNuXSEm3RBUZmVEZnbMZl8ozH+EzAFJgKU2VqTIutch4XcBVuBRRCDxZgA3bgakEvBmJLKsuyXJAbakltqB11gxrXEG2lFhPolfbW+jzCpGRSSir3qhrINDaBp5xz3ii/L76v1KxNAQ0I9Nt/1tJ0GczHAgQDK8R4xMQgwIwDKezoY/1xYNx8RasJDCRA7w0IDH7TNVNN4P8flwPOLRudAtZXuUb1PmLz4ThM6eiLp9FRGEDoQCYDkwFocogushmE7JjThbtadhMFOgx7DtBcL/+JYhDDHai0iXKIgkv7M9UQcFel5T7JGAKRwW7kUTJHui2wbJMAY1RELw3GBAWey+lCn6yDVBhT6hyCYO+9LVjElzsB1ouLjzPWSyIYg+1zRwLFt482txUA04fNLXdRvJ2Dof68POYu5b2x76t/fA91aBNwjUjQK6CcEPQPSgtmaC0T7JeXVKNYaOb5UM7AgA/zt/QdgiEsEYNNyMBkWIEUtIUALKaqOXhBUKx2gdiq9o9EeIkUAB82P1SQ7XfIYUccRWpH1+jHyCkVM1k69A0PhpahcsgeUoeoYc+wrr26K4aAwWsQDQ6D5cAa6Pi3Nt762rN2p11p1a1oe3dom6apWlTb0za1FS2geTVRc2iWjdXo2Lcar756UC1VWdmVWlG1p9bVCoYGlKSmlXMJ4o8WVtExQH/PSJ6lK/W5lMykJSGKHMi2rIk04ghjF/Mws70AgY/9yS98z6olBHNbItphD4MIC2Z/mC7gkXVe+Kx61O/ydb0LGPMbse4ffvi60tmuMIK9ClJu1xzQ5XsTzLGQ1c8ZAgvt0twAlPuqW7y4af2txHc47QdroEY5vTcHhc9ZHqsyUc6rTAYstAI2WkEzWoEArUBCRdGgxxiWSW8RHHytae481heAAfQADU/ZHk1ZEMFiL4XN9V4zWeJ2jL/douOQBTT+KqAoAkojsGeRQBrSwg3zwb45LbpPWCZjB4jGlPPmC7bMrkRcL2nuIUe2WIPWLOQ+WNN0RyYFSyTYNlUoKw4AKDLYp01vpsy317Ba2GxHgT2w3ioTIFXa/Pz+L5LKcnTaV5MRdnckkwXNqQ6rhf1vp5Ek0VCOJDKfgxbH0RLUiA+Mb7w9dgxDFLcIB/SKvm17GKSG9XVdxxBvw227/wiPvY/yyZe2xt0LfCesFnb7OFIS2oCzDzXE8rp8yHIUBL4Xdtf7CQsY/iVi/NY6dqcPK+3uR/yB/oymIyqgUwjoAgL7VSSwhOU0fw4Ls17smtJg75BiEQ4hse+f1mhHax2Wuq2mce7BK3nW9DIXhQ2CdQLSbtUfuEkdgm8Kwcamu4+rBaVwfilk0/Fp4iLAwCgFUVbl6lWq0jSEd+u06tFXCk8M5flGzje36MfGMTARHBY2T+XpgTGbzsnzoXcYR9/gXbBO3e7nLfy5V5jnQ+512dHqqgujhm28flyufY2B2x6DaBkMAU9r/M06KoEBlOeNkzCUu+XX/SnjXtuEJ6xFjm19maxpT/Onv2dxFm71/XjPuv0z3MnXh5Tb37a+3t/yFp3m9yaU/U06yCgD62Ey+Xfol9vSPvmp72/vn+uA5wN9r+3rNTcT2qFUp4pw6riG5UOcx6q9nX09DL/oSaJl/a8HcpJ127bcmepXtET2rtHIGBI1jdZ3yflAHRLrOrtnyna1YvRpT3n0W6Ws/DS5Q7Be1vpWNltALdZurrTw7iZ2vZ/f6S3/UNHaVVuv4MZWZneL1l+WLe9wucQfJrD0GVtIz2aKftNWAD2lPip7/i8Iz3tjQ27HQj69l475PiSBtYYL29TrJy0x+lPRu7GeWWNvF8q+YL59v6knkdcDQpav7eb9O/1ru0vxnt/fb8e4c6yrpF5V3ddxNi0PBLen0nphYqfj/FX9Ydviw+wdE3W94eq2CAjht0oVulEh96sk2lPea13y9ST3dM+OIFnXVL9dsoe27/nBw9e9rsypx+X+bSclO8o/1x77v8TjGPEKT3Z6x+lbUdPD4yaPprGy0+tAlClzDIcxQKivHR2KqkQFOja2Us2Eykj0qD6xoCEk00gPzUUbnsE2lcgWI9qFRcilC9OZYXrbZzZgzjzMA8uMVhTg1optuyrhb1eedQadccICqlIWz43+BQCSjxGVZtwsDhkX1lpcORkNDVxikagIw4yJyVhqS3WawOWaG2vVpkSNEbUzmKScpkMPpA6IukUUFz9qQCspMMbrH2XDoV4ChQ8aRLHpWSm2cCBwDhw2giAIg4wygnBbqnHTSCJFurhkz6TlIjZjVlRyaKkbbirx0KzYcttiK1aVKTDIYwZbKxaDNd5BBAH1qIgtRiKQigIUQoFDLFERElroxQ14MUDLSnFBgUoZ0N1+cOD8Icip6AbFEMgona6Uy2slHrWUF3HwQiUZefZKQKEBBoDtrzARdrt/fXetO5bzDXf9/C4du1Tuf2XH1e2j/Sm274LcY9ttD93m/HvSyq9WliWWY3ts/aMf+4i9N3/lKJvBrK8v1y/fWD5W6h4WYRev5b2Xd964eCTS8xltfGH95+vH1t9bX7TutbXPrfFcPbTsW2d+b7XjavZqWG9s6cyScilw8XeL1Yvhi1Wr3tHUmbNpkx+NOaPnRmdGC0faEeN9MKxiWM4s813eXqxC0ft8bZ91McDqQVAAlGiFElEQ7MXlQVq0U9ogNmCIYTaVGziFGBsy8VMi4p6WkrapFbhl6Fa7HOZwTTTSlkzQc7CQF9iYRRaWZ+PeZBNusUl3aGpPw7T7lnjPlad92/dkmpbZ5mPf/yyyXVkfZk8AgAN+4MEkIoe2Zp7DLiS9Y+HGQKJ9FducHNNrE54AwABw9t2nw8Enx0D9feB3CIhIyCgQ1P20bjUTvU9qBnTKAdEgGHAEEoXGhI3A4UECkUShRoPOiGkRCzaHK8/jJwDbWVtEgfYD8Z88byPp+ViqIw0AnaJLt54/p7cFTdVXrir9pQAg1aIkY788CQCKou6hnKioaWjp6GEMjEzMcBbWtS2pR9jh5OLm4eXjFxAUEl6PN7poTWDSlOn9kdLjnGjF+Ze4TwLJpKOTQVYuM9iWWXJttE8hZR7Xe4H09GvoDgAHAaQDAIPp2J0Gb1BjAAiVr66JFouFYmLtUml6zL7OyakOJFYPHIQ+eq1D0SwerjlqwDn4yv2TsLsOjzgGgP5guL+PNEpl+IpHgaLgXGZzcuNUTgBQhD72Oyiow9SsBQcXD5+AkKiGPHkOXcP3gyosf0bsgvH8JZF8E61Y4j4JJ3mlGdTzgwaMgIiEjAJB3aVDdjoairlmlzYYmkkLOLh4+ASERP+SON3PIelp/4re2ge1vqjzS3/TrbIr7eUmQLZfnq5HU0DWvp1yoqKmoaWjhzEwMjHDWVjXtuwBgJ044eLm4eXjFxBMOPpyJB5uEuP9Q4G4JoHkOlW53CK9KRlk5f7I7jr9F+xJbzbY22XX+mDvGwwF68sQ8wIB7uwZgRUBEQkZBYK6nwbZ4ZfonXYS6JSiIMUoUapMuQqMMCOwVKpSrUbtLrufAFCXejRo1JRmo7SAg4uHT0CYVrRFFGhfKxI2k1KoqGlo6ehhDIxMzHAW1rUt6DJ2akt5tsIR51JccPPw8vELZDgiIyRIRv06VLEbE06T8QezTDiTpkxXpKGouIRkUvs9aYtkRFYuM9iWWVJIn8dVfAIA8twXgLpZ94AFAREJGQWCukvvw00CFHPNjpYqzT4t4ODi4RMQEu2XdH9h1JFd9+icdOnW86t7S9qH9JVGL0iz77dZZOwqCpsESipqGlo6ehgDIxMznIWVfT1E8HwqJ1zcPLx8/AkgqLCQSRp10HsVfZEezpFRQzaf00/1dvaN18SsbQ+n8R8z4xd2Ja4/q7S71+D2pcZDX5HyKgFbi+Y3L5e+y54zbWxdikAJAzsERCRkFAgq9iIpZMg2Z9jpdofVBnuI5Tl7q5ee9oWpzT/gWXYfOVgB7lAOzFxfu38xr1vfeqVmOWHVhchyg4OTUezOrWhgT5Ez9pYpliEO9seHOVw1J31hNOoRUl5iVxWjaUHAuLeQ9UZa1l96Msy6MiW+jxO56SVztZdx8zJxvhSHFeWPd1ud6Jv1p49wIfvzoWmgcSDZ7qj+AxbpYgUiZmcb2Aw8gQvZuRn2doAnoGZuosFCZS7CZV7LaXbXGw5lbTvUqg24/flOTtts8srhhiMa64IJ4bAEtYCDOTqAY7BfYJMeY8GRKHif2MCQr08xSGIjRH1QEgSYLyfbU9PhF2Pzoo3JIular6Q75la5wGG3jLcGP5Eyv6GipqGlo4cxMDIxw1lYh+0CcMRPjvjehp/M8PDy8QsIjvDdAKRlZOX2L0K3ulG+cihS2LpAyupxXqMrVRSV42WUVNQ0tHT0GTAMpgyMTMxwllgltgvw2CWD0dlwvZ0hl01BNmOLrRxxRsQFNw8vH79AhskICZJRn1CPJ5xFInI8LD4fGxkBgnOFrwbQTlYuc4dM5smNAi5u0p33fi/A0mGW2xZ1t3EKWXxhG0XohFM6KmoaWjp6GAMjEzOc5dDaI91GSLNycnHz8PLxCwguoUKNygpJpTZSqVqT3pQMsnL78/GMZ6WoMKxOKVg/ANGtLxRSVE1WUUJFTUNLRw9jYGRihrOwsmdDo+IULm4eXj5+AcElVOwTgVcLgnDcD2W6E+0uljqqCz/i4w0fz3YTw76QhUxEz2Icx8+9cy+HR+fERMZr/qvXdjwbbCWXrLorDRRRi0lJRU1DS0efgcyC+RiEkYkZznJo7b7ajC1nORtk3sE3YBvNAdRYnmvHEWdEXHDz8PLxC2SYjJAgGfUJZZ1wFst4GBoBAF7noNzf23EH10ESTnIS20bJiKxcZrDtYpY+SzdybuadxSbHPDXfXNHi4fsAWCaFTNdv5UaZ1oLJo2TyQEJ4GO6uqGH3QcuFqnWbkckMFTUNLR09jIGRiRnOwrq2Neg+Yfcn7TppUQVAK0ec63HBzcPLxy+Q4YiMkCAZ9SctmlN+S5QuFaXjFaW7TzpIwkmeyGyUjMjKxVcVFgCC4vNR9wmJyW6lQnZlkCEag4HYb3IOPd10oTOBVf0OxZ1StH0e53q/l5W/9IsxmHydpsgSKQBu6wPAXd8CmVwMFrOLd3JyINqhmIiWsImhtskOMgBCjBA2LwMoUBUjD0qbcmrmq0lhR/BEpWVk5X4ShiF3oXd/GcPzHN+Cg4uHT0BIFElcenm7r3jlFKmQRZ5yrci0EyiVipqGlo4exsDIxAxnYV3b0o0SduHk4ubh5eMXSJCEo9+OZI/+xH0SKpn0ejLIyl1+HmD95P2+nFMw+mshYwtUYLcxjBOXpC90FCuFEd16Jmc+Xpn0d9Tv3+wviPaQfWIdZYfUfL/5D9fyOH++L1mL48jvz/ey+QNv1SIOsmtxi7ipEVxyINvAICAiIaNAUBdar3umVPBvAo4GwYAjkCg0JmwEDg8SiKTIyShRhUZnxDSKBZvDlefxEyBMIcCsaD8Tz71pIEmLsVpHuBgHACgClAVQpQGlAVC9Zkg7KmoaWjr6DETAGBiZmOEsrGUrZ5/P4693BpcDtHLEqXHBzcPLxy+QYTJCgmTUJyQJJ17G46MdY4wrA5QElAFUBmiRnOAqBzSychMYN+t80/rGw4gsk0Jeeesoz+NGZm3pT0E2LvA0ejetTKjDXLO7XEtrRgtOuODhExASXRZH9SQSfmn9jN5sH7DomVSfnbCFipqGlo4exsDIxAxnYY0tTey6bEm0myCauJSbh5ePX2ASQTQThASRJEmSJWr7qls/Y66DJJzkJBlCCJFkcz73Ydlhnt0bKad185PPA4z/iTzAJ0m+KeSbt9oQ6IJvOOtp49V2CIhIyCgQ1IkqsrAGc6IO1ofap0VwcPHwCQiJ/ldxMuwjqasleis7BmHM1d3yWkNFTUNLRw9jYGRihrOwTlDtJ+pzzG/lmKi76tkrcQsPLx+/QIYjMkKCZNQvoZ53DEUQBHGD2AIqB9xw/whwBNgCtCmKogiCqLdhU+tEJSq8SvOM8mo35J3vNcbw5MH4b0uwW8kO4nKyeusS15ephuhvkcnnoP3A/PuP1zyinSYu1s6iVWr7AJ9r4+cXIJaTxYpEbz/FkcK1XCARJ+wQzwhdiYG6CwVgBEQkZBQI6gP03ggUc81O+UrNPi3g4OLhExASLeIw3j19UDrogKYTXboPeubTsapioELZV16yzxWHsr5Q25RHZqioaWjp6GEMjEzMcBZWdk4ubh5ePn6Bw2CPels59zGUzmK8LxrxIAkkky8vha0LpLZB2aLah2uJgvZ0YBAQkZBRIKjXBqti79h8e5kjvh08q4Q2G6XF4eDi4RMQfh3p4BplvGXNabMgCIJQKidVGZyrl32pTmW8teSZiWLv2VBR09DS0cMYGJmY4Sysa1sjrWX3ccLFzcPLxy8gePLwO1tMlNfyVpOmTE9Umf0q1qIuNfEgCZWcDG2UjMjKZQbbMsvP50u943CUleisSgrZfZ0RaTw1iULbGH2Ag+buXylSrESpMuUqMLBUqlKtRq069Ro0atKqTfsnJImEd+xuffirlf95lA0/mSVzD0qZ53MXFS8scRuaWj/MJNMsk8cWWfMLxPe8YhC/0ArqkzIGVgREJGQUCOourY/lT4oUK1GqTLkKDCyVqlSrUbtmt1V+o05SjwaNmrRq035ZEsszvb6qy/0N5AGpHnbzyJ4qj+IlFA9nzwoBCysbOwKJwnBwcvPw8vELyskrGDJsRFFJter2Xfb5a9c39V5uNR9fbNqJeF1IxzXbZm+cJYWIPC77qrd7o9mwFZffRczR/Zeg2LU1hDiXqvVWsKGvtmnCK4pKzU8ntqouxwrJbyyyJxmQhyw4WcLdBSIwHE9/4ROg/lc9wQ4BEQkZBYK6S+8/VQjFXLMbqaNmnxZwcPHwCQiJFnF8Rt95WwVHuRlduvVM1Fe1vF6iZqTdVCYZfbRuVHeGipqGlo4exsDIxAxnYZ2oXCnt4xQubh5ePn4BwYSjrxNpUMEgWqkN+uQ/+SYeJKGSSW9KBlm55VrNhcmuSUVe7vO+TD562E0Zs8zuSg9lwGoKKbO2tEB2tDvX1TEqXkfEPAPDc9aIS0P8k4ldxUBN6p1mAgAAAKAjsFSqmgCAIvsBAABtlBaHg4uHT0A4CaCDCahMu0oAMMYY6zKEJUtMzWlLKxU1DS0dPYyBkYkZzsK6ttXRZnbhjAtuHl4+fgHBhB4HE7bI+GNCJtTkwdT8kKSol3qnUq1FHSQhkklbJIOsXGawLbP0xWE/wRRb8rLdL8j3VssvWOYcf/pxGBls96RsAo5+dPwuIna5ExDXXAV/6WKVOCEQP1c8fk79SWSgA3dk9uXUERCRkFEgqLt0gHA0FHPN7jcfa/ZpAQcXD5+AkGjOqS93tvynymiinN4rjtQl+VtL5q77Ms8nb0P8oVp+dfGrZzxHgBPGr2xWT0qr76Bu/nnF6sitdgiISMgoENRdeoeKoZgTd66Q92afFsHBxcMnICSaVFauxTcsbhdVlOVyqmqloqahpaOHMTAyMcNZWNk5ubh5ePn4BQRTTif0PIlFAFsGMA9gESDAJIfQ9x3jayVDA6S6i2lRPNkSNt0eWOmutn6odO5apkIyesuI1gIXAEL7iOVQg6eB41Kw9xqJNzvSZwpdfTEfLaQOtQTcVk5k4AOCJtKJjMGZBWM1ajZEyjRdwrkQdSoSgU34hOO2YgOkAOo1JKmofHRJXZZUl+pCOiOhBYoY0t3Anm3pOyPc1NycA58n0pdi2JWQYtcKu3ocnky0bhQkvyvKO6SQw7bkA7ogn6zUJxXFtLHPHWD1HFAOtgTWvrYOMrBI1MAe6x7bE/sLFlsk6Bi/M9eTUpAXNgvl1KuuGp+EQFfr/4+NeMlAcnO9Ogxet2+ZGQfPO/dMNUF0t487pUdEEqRouHy3YcHAg9OyKLPD80aXck6YBRRpMHTcz3K5HfCm20hoEAfcA7eICV1zOvobNN95nCMTNIdQbLLRAlIbHUHMrvlG/sIdDt+5s5GYM2GA7iDMUvthghyAkdoHswCCW2Cljdm5COU9od8FGQdLc3vE4qTMHjJOMBE94/s7BVcoCoaB4uRsqULagiz3qSNEwoBI4pphLtKBDN0FlrpaaVJalFGseuWzSYjwDRaubUT0hcCEsL+bgygyV1IzJEhA4Ej6RYOD1AzARqAv3LKvpj0OvXFe7Mb57it6+mxaT/S3zfKMRpPXm89hUc4+72UnXRLtVXiPKi883/EjKSoCdsqp7DnpPO9N8VqMGIB34RrGQy2bTyK5yb0le+C624ZU0PqCLvd0vrluBVAQjjAkz7FEhAwlLsr0v0J1yrU5J1FGr/pp6n/JSMtCtWoAnqG+PGUKfltr6lK1isWEBG9VqjbK6nPd0EcmwQnXClxpXBYC0ZEO1LsaSjGg8YdWdOGOY4a993ORFHqladfuaWTiKNVQG3V3utZnqJymPVmCcf6/s0oMFb6w6vZUHARyKxLI1cC1wJ7A5kgwGBDxVBKyRFLuupRv2iEYBDxvF1kHUx8q6zAxR0o+Ruxx5Gd6fqaEc2guormE9nolNzoAFJCXf+mxgC3lYMPT8CyawZ3JjqG/8igvYzNteTGP+6bfCBeji+pRNWZjJ3aTxYTETWoJkxRTPvUzItcLsqgqXq0oOVnpWVxbpppnFav7dVKK7q8ddMCoZszOWWmBEpXRFPMbFfa6tIvhalvYCTmHhdPVbvmTX9MAS8hSs6KdgS3qraKt+FbfNs12SxfSZe0K7LB2r+zOsg1sK6eLg3EcfUxfWGAWDAkRUap/RFqUxWUJ2ZC8DXGiFDqONrWotowTOpdur9FBRXPNVAIYEIjJXyR64KFchSGDenYtAU66X5NcShQW3W60/0spG0IzvS03xQb+rwN9SUjrwXy2tNwVREKgvX3ARgTwaNh919VayxCA9Sw58jRboFU22GPO1gmT/klp0HaSATkd9/uJCtR7l7Nj9FHWnWBLaqfr6y7gPDbDFd2UWfdGeIYfraTaBxyMh8ScHhfTHVHgdzByzT9VXy31pJ41hJNwGm+jLuqqbuqu3tEneN+33tL4iPXz+etNdvE3S3iEZjinKHJ2IAO8rb9Bh7q8xe2y5wBnur2aPboD/n+gChVU/OxEiS7B2O8E4IfPHF94fwBFfyge+85Y9AeR7z+ITAMEHAic64UJgLwAL0CeHqVHi14iy1UFbutZFG9Z9aYlL/uBeXlzFt1w08/8xE89rwBCQ1ekBAMTSyW2OvUaNGrWSqSdmESHXn36Scnd8aq7fuUN/6QwAGNkYmM3aIMhm2y2xVZOw4JGhYSNi4iKiUtBrEK3Si+cle2mu26554Y2Y9rJNHmpw0d2z6XLMC6uVa5Pfk2uWZqTTslBgSGhIaMi6DJiwBATlxk2DgZrdmwIOLD1iD13rkTcTDfZBrNcC4uVtBGUw+/x+hLRWNw1OJwvFIdeMjI53pyYqcxKS3c21tTV1yImupYRt1rdIcZbSKRPrZg+cyat+MkMhp1hBM+BMfxVm8gdrKYD3htaeKGtODOb/YX0zs3/r0c6f85r17/4Eb9px6vDYaB9ElWTsXKYa1/ocvJf+1ye/SIUm4ZtiMSKOLl5cyqjNRXLXunI34HrEkk9XqPBpB4jfR+NJFurnrJ9/e6cM822NssX6dGirlq4PBV1Lm/S2Kcxi2gycuf5Llp0tG61cs+KSIfRIe9EIN/rEisvbgIRMyFB3uv1WyS1GnhsiAC5DXNp80HYO8mYa38lUBpDqdRClbdECsu6YcDTFWqIzk8nJfNsrL0p54rdXMA0KQlMjICVLBmournGN+UZ7v4DWWMrrrPtznyQjDBYGXgguRV5rs+6m3IqAYcAvFjiKoCKeiKs1mASuXLnrKJFWfWQ8JrOyRcB1dUia34zkohX0PttpRH1eN1d9Tx9SlwMNFRcXsBlkaN3XdO+zZTGoIbA6tlcBa+s0VF82+4nRWIR2mVZzqCiDATStSz05SiTns2vVkQ/OB1r3dtrmxvKLFjYhxOdcZQgQA9ot7Kqg4paNd1YQunuEHhcwMwe3XkyKEd/CWFZMLL+ZOblzqrsLQEwC0cLmm88SxwAAUJkPsnPNSvAMywkhBgNL2uiQ+uoUyTadSfiirQee7WKr0QgcJWkXwMhIaCVUKyhpR+4Y2y9vgcc2vYmh/YuttBptEzOdHQIg7zrlvbBslv47OpzsieWuNxoTx3R/fYOXAF/t5tbLKhRQowIvLhQV3FMCgPCQw9KD4vq9CVnS3Yx1x1JmMP7cSLppxazZW+B/RJVJppvN+gbPlN3zBZ8C2H91f7qC6a7M5xeJ8npccibQJ8xowWOev4jPgIpzaceGtMeI+yGDGbBjSgcoiJNsHXu3M9bH47ToF1ILwhaSHaYSwk0krmjzxjk2GAOgQDaIG4TnA7lMKycviRbcSIZPBzXyUYbiiydi21qQMkTVdHxKJWEKfcftvoOGNGrtwLwbKlIPkzssyCkfBrI1f/cJoxNo3dbupiGkrBWjn7zXsecMUwwPPF0uETnluqOiRd+USSV+EqHdl6+BEbNe2VCKd1flT9Zthyb5AtOz/pXfdgdeFeU63UeS6gwRbFVaWdVZJV204MpVTTh8iy2XNOp977iWkYDVoweZudqaY9NznyVctjdzou5WnBdzsveN0tMN2WKT96nV2Ba+VrDmzD/+PfjS8KIXwJ5uOraLw0jT+RHod6lLloU+Fny4485HM/1KxqkMVYbJ/yRsUYfOtT9gEDt51oQZjIiEUaxOD/TxVa9fKWo5O3j8ZL0Y9/wFE/hyGP1EVq3U0bGpSWsKjQ549ATIH5XJQ3YGER+qAM8uOYKLpGuZhe95f5I6SJ+mPKEL+kDPslmV4hrFSj+4dH1WZq33yKV/a2bH/9R+aRT0TUl8L07Tq5okJwyYqY6nrQgJ5BxX6rHNETRyoFzIGYmv5fbDbLzrNegyXXsp5Z6Qgu0MYa4gmsJkiFAKQXJZGesfY1bAhdbA4JCWCVthP2AEVFv78NNBBSGyop0T22jbOB8irHuik4Gltbu3QS+wWSntgazqLzkc5/U7n/QahUvrh4T/5noDuXITqwcNTaO6fp13AkC6XJtC7Nb4O3MMLnwG1Y5iDblgym/M8MNqOk/DQuVtGMguuTz6zVWoQuRYam3h6UPoTaLPcdCAjYElQFBErZZ6FYIs4i0ILA+5guS4mcLAoJWJoBoQXIUocOqqI6VXK3W6KvgMrgHo5mTUT5WdThSYJtVF5MpDBno2RRGm+qyov0+T7OjLFOiTr4oyJpEBXF1S30SdcsbgzICl6WCdc0o07ya8VVC7YESLCKFzWUr4zHB9QLTHAgyDKmhoxccs704SRX5CJ6Cg3R8aym91hSzy7nVP1fYXzsmJu28lKevTcFDzCbhLUg4XnO/B49caIGz8tEQ+4OQ4Nujuxfi0PHL7eQ55VhU/ls05xk7cRUhpzXyv7cytVyVbGjZiHhZmvn2k4OS7D0XNih59lDS7D8U4R7+NJIlTR4Vx6/WUgrUjNbKnJXWfIdr+eOxabgZQstoY9njOiL3eSsyEOVvhn09AsIK7YvvpQQ17muf9s+WX76ahvG4dHYx4510pflB6Nn3H1dBdxNobQ1gRNd8p3QTXVNZ3jLM1Q3rL0zsVv1xNnzjflB0t0+J1VffgQ2zDNFZLNqpa3SzTQmYnajrWtheIJCNXjDmXuKo9qTIx7KcMKOKnRN0VFZ+7miA9s65VtQPVihiI2ZBIT2iiUrpsDebFpttCL2IXCKzpMmXET3C5iVSfH+0G7wtMs6V1XJ1AiCDaFAsgdyV9OKgkpM4L1a2l3Xc1aftsKEnTAG5K2xUXFvFvWjvElcs+92SXcwPtwe1TizKKbM/VhXnGpLPNWa/sCIBag1u+d6je/QQhdosaKf/8K4qpdFWaqovWSTUHfu7B6g5404Gr39LamFNUuVvY4i+r4tzrL7M+GfF5Py4flLl39U+dHeJYBDwPPUYckmYWBMPj4ekhc3TAWnSINQ+gcseXAjRZk86X7fhlv3ICs567FqDpd0vZIR537716NsrhdrYF+shrUGNtlJRWofGJwnAtZQff552AarI4IPwbiXGIFV8uAGBpqlFSWkHf0s1Z/6feZo4dj62wuO7wcR2OelWYqQCatavWXZ+zab2K3h934XPDr/OXcnN/REq554ln1Xo4AQ4yzu4u7nnavlaowDOMCdj5E5zYSf3k+hIwqWSOXwSzQ/S12M+L0EmPO63uT2mRRKVB7OYo6f56E1+J2XAY8NK+vurdC2oCXcOyxY0Cx4vOp/J7cZcnnn9U5X5KS1NNNSRhGKKppXT4WRTTTAtbL5y77wBtvS8ljkYChzMpGmyg8HMSz2PfXvRbBrd6/WIRCYTUt6P8d4Q9HqGOMlCAFCFvu6Hwb3c4lwAZ9H82HSLCy2yHw16RN08d5+De8QCUmjeGW1mEF3w+TQL2fxerTd2NnXxrj1zNn/6YDR4dDAbOHJOOB3f62LOghX/U1nQqxuW8w9GfJVLuz+Y4j5M8HsFHhB7g/3fbrqc6UPErj5VkHiN/z+jSycVIMhffQWNHluw9bYN3/TJPqdJrsv5i23+Gbq0vC07tz/WldrZLBiwf88/7n3DKPjHvDqDeMKVxtIFdMHjRebTuV2YKzZSuWl7PchCOj+LuXsSZ8YCRzO0YiqUGFMTlkX9RwLToeSdDSoTsQ2jGIFgqNZ+mG8Wi+cUTLEQC/h6Mpq7M+0+wuMzj8dS3SKCRjt43Pc1CyQKj1ZLXDXSvM8dNi1VY0mzGRwZ08/adX5ha5wHnx4jZwr9/cPDWn+cz9QObZo7rNzXY4kozSQisde5j+msQh3GceL8qtMfWrU87bl2H3dbBDhEMGY5Y+15dYTy5lwE0vjOxxnedD+7FIaq3LF+A1lGbeXupNLMJBw2Ze1bX7eP+4vL4IlGEjSJPDH9KAs+F+a1OcattjHmHn6tt66Q15otOS36E7fzLzO20d3pwR+0KwU/3on/fpZJvxLo3tfMtjNx36K1n0lY5vZdJbctog9Pg9k/B1e1xflftVZtHrVuLmyBeasDa1+pRSDmdSzaj29e901S2LmozyP5JKBZR8X4cxzpvCCfWxHFbWDmgSXBjNmsYwxjbdTtNB4XG1yXX3zc4B8V/7q5PFUgVPkEZrQM6vC81Yrn87rvqb1rdyLNad4SYASWlFjcxy7+u3XOgEhDVWzmhoMxjVVt4rb/8la0Nak7c3d3emVwbcFq0+bTuMk0gKN5uxXJJ3GwJOgxu22coW1jozZakxS+ydzk4ytMgzo8Z7HihUG9Senn3+n7VUoIpgTm4BjjMDdmTGoGRDbXFRcfs/gnJa8ag3Akb7Wj+QH3rk7j2rzNqi1k8R2dvL1tO6lNBw/MCXvFYq3YbJZyyWrtevSPsvolb/9VQ+cI283livnnRgrTZvQGbZordXgKxzI6HRZeAl3147Ol8LOBTzjGbbaGg7H0MWHLH//PcphYCXKWRWKUaXI6qjFaMphm0EZghQJOIGHBP3zfzcvglJOTkCJFMn4SYwSXmXmYaWP/eSVsHzbofh0bQ9v7rglWE0OTtfTM2jGkFuHd7mMuNvSGk3TNYqkztLles1J4UmxyXf7XY6Y5cfGv7aRGPWizItkkZjJnMW3WYsFyWQzKjeYnsm7UK5N5UB+miSTVen0UVQ4YNy9W86pBusTr2jS5cfPGdtbG9t72jQKQLvG7oKObtw5j+i43m3TUg83rkhtvIr2D3lV7nBiObP20HQnZ77P43+3AGyP9CEr5TChmlzlEUkpJ4KpQWK5B/XJFSCcsDejUQR96msM6QZ9PqUvrkgyLIs452mFr5F8hyTFl9fiQ1YznsjqTpNxB4YfbU0/V39/bZNRj+LH/U/G27RLN3Q9G33CdQ7xBffkWZI5QK82b9+gs+gPX/6PY4ZcazDv7ro1xOlfwrb4oPEOsJbZgesfzAaHKSCNy8dgLzOaXh2R9WpKrRCN9Q4zZxVcY/mhrU32O6Xx1RGmMU4AR/UHuHYtq9I4+g1cpCqgRmT+k1FvZXNXPJiMWqykxQseiTAe/A1eFIgqdKayQ+dQ2T/bntTOzCJo0yHa4xN4eOKXiqdKOsZls+E3o4hp1xrKBt14rDjoVKmdiOLCet8GszsY08Plhp9l6K9l2q/n4BDiR+z9DU9yZ8c4/Vu82R5+p6JKvEpwveeOdf3rXy73xjn/eUP5z41/yzG9PPPrNA3kYv3m3ual4e8O33j/+1m+n+4Hve70IbwKC5Qmz48fYy1gfwfl8JxFFiuTyZ3vsu1T7DXozbew5f784l/3IsYKuIRQTTN7aCibt/D1PcLcvqIG238c/6oK31WSUSNdW/9iS3tXBglu4HuKGHcfVOfaQ1iLrxzXFYe/nbfY2tpI743jpH/iqvq7Z73dqs7zkh/yqH6sOHNdEG+3PIVJayl7yJUjqrU+qj47wbIN7hb1CVW2mCWLxz1TwW/2/l32snW2WYHXnq/iqU8fYbPZ5Jd8PP8g93i8WCQmpTEh+16+itEdWHCaw/7rOIPQ6M4lqSRrDKPriznmrGBKFdW+D/OP93mIRKZWKCFLU3/+dS0ilYuq7OQ3pwDQUjZKlrZ6cAW+bJ51wXTQ65rxgV9zjxXScF46NOi+ajXu5VM1vPRI6Yj3MCYoER0tI0XrkYxju12ra8rM5+ebw6RukNM419rqSYZ8tq8Mqu6omhzmpUEeM4m2k2T/30ef/5vwu58BXYlZNy2dO5BGTISZXh3GdOhxXGDu+6Svc1sW2FnB9zmw1DI5gZ+7f9iNO/anjIJ1zpkkFuHSvCVg6zx3nrr8vx1TNK70/ErMqRGDwQzKuRCJ6gyoWU+mVIfb/grRdh3jewzrdkN1mzBfxZ1NfcHx7ehhW//ogGziEvWy2lO1hneMrneSN7WrzxMf8nyWrpWyzWSsVy8v4Eh2W1qneTArHVxTBtEGvzbzpoMrwZM2Gwzeczak26YWthK2oNaQMSoGPwM6bdODiHrEYVXtiMp0OnBOoOJ7q4j3S8z4KfEqDITWi/VhfauTXoGpfTK7XxeUygWqkebWyziQCdlvCz8hOv80e0nBrd+a0w2DFareWl9vtFbO5t8fFsXKVMxnYE85ogrlodIy+YCruVM8Qpy8cG6Uv2tmAayv6TUdCR0yHWdnA0RJSNB1pBBqtlfbLcXmIM9h8LOWYg2Tr8mU3mOZ6el3pcIDI65jZs8dMLmtKgUSM4u2EJXDel2OPOL9bOGBKkONagvlkGLGaBuRoGNeh4ZTC3CHACrcZ2EQRN+bMVtNgBTu4f9vyTdtXdhyhc/5ich3U3asCFiHC5rfl6N5tBBkiAvlMSqnBDJDYgMqoirEfTdKGm6x9SjqjCJrzVfzVZ+T68nhMZz87o9nqVe1b31tPGORnlluqlo91gAMe0unSGBbAMmnjNjewLb4YWjchJuwlrWkTCqGfxK7z38zrh3jiMr2eFAKNN4OD0hxvTOhXGEypovbnVkKGmLaILyE36JNypA3iT8j0dcdA54DfwSa0Afpff6zH0CtaTSNi3e10rtQDMMAMvQ5wH76/X3Yf/dOlbmt+jUz8yHKOM9GdKFq6Cl3/ipk/3fF/XbxWH/c2eq81L1SOKLi3/jcxRbGcJ7oQvpNXTJH3a4r+n1DZn9jBzPvdfcCH+UH+/74+7+rO+x6R7TaIxL/6a766/AMz2nWK/01xIcyJ/7F27n9r5kB0T9ejrD0EiSWzQfKnHVxW9+oESZ37NBSOEqxaB6vC8o07alBMKfNPbaumbyrn1tlN5S7Wmr79ijSceUFLaUlt9qRzHfbEscMQ9NE2XlhfaP139e8SH9x4hfyvA1jP0FGF8ftXB4WjMf4FPzg+qo7+c/JyQiF0SqVCmpKorSGsVTmvYKAMEZUyjKHKeERLXrL8WjKVp7o/gYgyqtUf8yvm0QPvr15+aPLrcNQpFTK0VGULYkhZo9BUeZ+sCn8yM/nG2LKF/w23dUUHvylZK+B6BHH2RPiz87r7GrOTc9SfP9tw7tWbkKt41pdA2OCVPSuvJN7uftGt7DEWVyZjx0MBHuoKCpYCmf1PIfRpz+Qe+9jPu/d1w6lAtvuyyomNS+HT+zWBUcvlZEv1ICp5cm4uuZSkgRyLGJ1csk7u1GohJoP+1YQntaFQVPecZHO3+34nhzZW0EL6WhN9O7p1ZkdbAh1T3Tr6TeLC2A+HdJvUuMKp694B0kKV5Yx5Xtl+ydjXiOzRLxWremgJpUN19OHbTMVXXy3kC13crvYdN7Lzfr1S0Jmcfdvi9HLxzi+VGZqJY/3zhpJThSf0RoME9PZGQ/TYIda8AMcC9/5tDQgP/y1e++uCpsBbW5iJH/NGwB0F3Gr7QTu56bjE09zXIghL/Q2G+L/Inep4Qj1NM8h0MjmtplJnhQOHc7J2zrVX79vWl3SctscZDB3wBBaTcd+BBY/fnuvl01fVRYFbJL0CsUQqIN6TuFF6cVFE6o0aM4HpbhFNOfXCbMSF7ezj3ErftTRCYD0boX9+8Pb+f1S4IhhR4IJ/kNZX9jJiOR0JM1KBY2kwR7ZZchp8wEjQjT2iVdYRI6L0hmRaQwE77Mu/x7cDNvISxsxxDud9GEmuBQ0e9nCsBg1vuoxP4695J23fPMAYXGv3GRWKW326/Vtp3vUih3GXQGNIyUvJkYhIafu1IL+lDFsO7mZ/w3y+a6U+HW7nt7DP4foAvhbP9uSXrYQiwj97ZFnK5uYxf1qeInF6l2Xz+zDvhXiQFh3Q6dBEUoP3M5wbPWdfL5zs7Je61IjU45TK+16oiQ7O4cr3DZ4bCx7NpINH2BoMhWjgSCYTc0wOcsKa12MFsxnLDeqttpyAvJavPH3tG10vZ9LjHF9ZihhiGlVCh5t+MdSgj6LSj+veRJq1t3XN3abd1C7a7tnu7uV3d/N74eTMuR2eo3Q7q51DRzf8/w868hl0A0v1yLlv0GlVpkJrlO8tElEyuYgkxVIZIeaUXLYDmuE5Im+HDidoLUbSuI5ywOyBBrfxLta4Nc4KfcZAb/Apzc34B/7QrYI3ibx5VfEEqknq9JqBhOZr3NrtZs1wVS651IeopB6XTBUsGVexnRqRet3yT2Qnbrt9CnO7+lzu31gqYie4E74pS6t8TgkhXFkXgfif83DW3+LLQgmGKtzhfp19BFWVf44rjWTUYVO6n/V0e7ivCH3xRD05nG50N+BiwhnFYgXFgsermI/kUHD4WifQU9e1jti+KHMkk3Ec3ReLusdOn/+4LcOjV8s3zv37D+SsWKgh3hkWJeIKLRlGcpXDTD8udQikTuz9czPc+7iXMYspLvjwPlt0byTXPblZ+MUB26MM/eeXVLmDU2SeUShXmhvSCby27rnuR5+W48z/SQg/X/tXSNvtJkmtX5Y/+R0xm4GTbzQl3LOa4yt3vfdSYd7H3L23bLEH54Zd2QFXUmIXBZg3SWHQZbID5+bQ4PGHircfki3JNmfcLpPZMs7Sae/fbtF6ivcpB0X83byLAysf2fviavVT640bE+LHwOw/TuPJNNeHhopRnyc06HQMpoKbeZvN6EBcDSHHrxQK2kyInsmLxYF3RHbP5Ph1G3ynoTqBunysmPyY2vXEXe+u2B6M0p4VPd/mepds8HluYCCaGZbZkR77opiERrPU2BvOOR/czZbeHTeEfk9rXPr4e7bA4ovldg5KolA6JLZaOVfPuEy9Qz8JIYHU8/HFisXFQ6rFYw7R8VtFw+NdYME/qGZ2EBiNPVer2ebPHi/fP9e0fmCma/sD81+rvSBZqGPrQNGtaEP++nuJYH8jm/2xgrU9KNjCPGkeFNs/Bq5e0ownmauWo01JHnqRW59zPUdwxRdyRvdT3sS5kSPMix9zALYtBEz0e+wRxtknDkpedOATe2V+Yp+69w65LqlrWMKyF1AnNOoTgPqs31WJNMfDuj7G6fqYhaYn7e95djjQj++wt88293XI4eWBauRn+2OESIzdOh+f6fyFn5AG2NYknOu2LsRYXYgaXYhlzrQYbHf+oLsSqDWm5nY/t/eJ0eijpNGTDsncfsDhm8B2/FMI/bGIvqnR+8XxT4EXmvzpEongu1n3x0j6m6P0/9xvZ+Bl2+l9w5y+T+LyOcPHOytTYVbTSrqMCHQrUfB4x8rYdS4Ezf6pcTYZYVTTJjpcI9Scxpy+651dm1GOuyboPRFs55w2d39U2lhu6neup8W3Fjxfqmfwv89oxEw67McBHMJhHNFG326HPXM8HJw77d25g3OPJlEA08OtAWj/BfYEdXdLe19vz3yLZuihk4lJuqiUVSQU1PLJS3CGkII18DGM/tSfVdqvpF96OQ68YiudatU5UQ/xutebMWdiy8DLA5whKAlBnZsr55zys5q1Xgj6bV94sJ3OA64oHezaRMarGUMEBQbwZvx9Gf4JnPW1U1gfB7xAky7KVywTpYOX1gmZR1NDruXHOaWumhVDBCt43SsPMCMtfBrlbw7IgaSJFdI1yiXEH2HRq6xjlyk4FFvXlxEyN0tCZPhQt0P8hFT4vbtnVf3FpIt80/j71wmoCV//m0ItAtjDMpscoZKpXItH0Ufb0pJHxa/dlVFF1Vx36k0j4aEtoqW1vFbfbrRXg+ngO6weTg4tw6PZjaaOzKOto4nR9tGfR9/H2fGD8Y+Jf7I4NZ5KpoFpcnpgqpkWTLsXyMT0Bd9CfGFhRqWzZ20z1Wxw5p3FZntnQ6v+WGVb9cYiZzG5eGBRs1iw2Lj49ZG2vXVjE6q0p9w57ALsJuyR9rOYvyNSauKf39Tc8WCnR3SIqY7dHa/o+E/nU53nV6xl/ZxpoNZ1/spoD7128/uNfm90xGi2++Hu6z0us33LDOvnrH+ywr3drX80GeY2b1+zY0g8O5hb2Mn+Gjc1lFvczvmjObNqFff7Fu7Ve3p+b9W04mqv5j06XP/f0yH+nbznvRt6H+zt7/u773IbewEpOMfmteC14J29TCgXloSXC8adlSK9qCY6IXYSE+JJ8aV2t8QDErA3lsgkdklccqZ9pYNxf6v/zw6XHK70P5D6SG+a1Cezkvlku2R/cSx1fCB7Kz/nxFSkFAz0O5vfqLy6pV56neq9zn9xzm99g/rUtknk48Lgtgvb05cp1eHqu1z/5Dq7/eiO6OXjml2at2p+43agvlf7Tjf7zqM7b++CfRPYq7Efuc/sBv3mfr2/0t/F1+J78Vfg+z2mPA2Nj/BAl0xBXXBLAEAXuCXLeKALyFl6jTVwv/tg6uzEgKjxMiDZzzBAsPF+YJ5vLaJit6M8bRgOr1Iq/1jYNr/xlt2SvWABhMgYJhtse07YEp1jW/HTfROLQKagLqglAKALVPM3L+pRz6o9UZ4bjqAWDyAyZIA9yuEfQc5/6Z8Ren73p7uXmscXWOQYBQsOhsnOBQLgMwnnM2Z6EpPfkDAJwsg3RCig1VuWkb6gt+1u4v9SNudtFnK+zwI2YHKH47kNizoPmJbTx8AEaMsRbnMtDdRnRMNXDO3S3G32oF229jMM/7cDc/BmMBPKnmkCeLe7fOnblnOfF3j+04azPz7zfrLpc+nA/iCGGFJMYMPP9DlIBJutzRoIYrzkzrRtHq5wrnchMmdLlM/1Im6LEyzNs1RAY0edmRgEs8isr0No+aRHs+2ciYw8zGBAqOVKukiismQdjKzqjOOLo8sf/Il81Qvtn//a/X+CJ9W/0DQaiCOE18XBpbStGjwe/ngf8JBZv1WEU4Du+tlVvOsOdJQJDBKBzuTsisECpFIHI2vHTPawHNYo1lZqSCf/GWVixExmxI2/hZXMUCoDzLSsxJP0/131MQ08cstqZtlOhYWCi0dDFluAruT48niIIvGFSl9QX3BwABPCly1as3/ZkraMyfH9RG74eKnJ7AmbQRbcgl0uA9VXoW67iKD0p/yUMfJvFqvepj0UnMCh/m7x25zqsQkpSKn7VQLniLxN2sGtHKTDIIyrSmIxHYWXQoQypu/nnCov0cNTiL0FWDRg3SQyKkiOOJhhKEugjs2JzFX2XTHOnZk/SDQXFpc4OE5jzINO4Y78ePgKkM0fQLBEJoE49fIZFXXzYpo1gkG6QGVJT8DpIUzAFGVoL69lbyM52SFUBNckDw1puhuWeX2Grq7Nlx4Ngwnsde7RBGCLsqi9pBx/p4pg/zkuca+9si2NtFcmc+hJj7Fyjr8C1PMLgCCCdDXzhAusYQ4QGEvcglAbjG7uTLjo2ZmzsYeNbTCVQwjweAnI8nlHzTa6tZEuMIscKanQTBs2q0/3+E5zz51Jdz5t/cF5meXXzQNh0UlUZfomZ/CVR7WxrGsuJBP7856aS53sgiWv/ZtZYb21RQP59fR0mIyBk+M01ey+MJMX3gBUkPEIx8WGrz+KGlQyBgrbSoVkJMkywwtRORleRjHd1YZWT2fk44ej61w5p3VPUpsbiwGVKbJYbf3HnrGKdy1IFWSZval0jWmhcDtGlAU8pqUScGOVV00HYXu/yVUXVb9n9b+UggR8YfXX9fgv7beF9FZmZuZcPLPNPTHwbgCF/rnWC8/Vzh5yXbPxA0hZ2QJcOqv7t34HQMAMLt8SAtTQkK093Vv3qyqXpjvfs44777bMuhPw4lUa6D11gxrhk2Hq0Hxq+ikEFHJGo3OrO0Q0t5KEUFexPt0Qwv7Jho7jDQfs3WnLOrAi8XLZIN7EgAIn8NDy8ojdtlcZWesEGjharG3vAztHIcrVuXNnw8TBpLY2vGPq5WAdW/rwgatAIWtqC3iHWJT25RdEt22DsM0wIWcRuyHLx6M7Ey6SVEMwle3Woy+osJzYEa8ICDvLnos2x4ywN7k11kHDR89sHBwEiIw8E9+HsJfLoDi8H03/Ly7vRymeOhrv2Cn69Oyzb7nlqvfHo09YACcY2joKKiq297w7s+siKtXXXTMMgrW1/fcN1vzqVyMFg7PiavQ77+IYtrMOZGSYAf5RTvk3fBX+5r4rHL6Z41G71DMlubiw8Mo4+F0gTPav5ej79uWQ+pR724ZWZE9iQ7tOXAPrrK0a2P+lq3tUbLxaANU3RMygBLy+RezGMlCK6xgrWg4QPZsaQziywkHMHIk6wiDwyGmWEdjusTAmrDuwPBFazLfBMI9qMAdQv9LQhNhSEtDJeQ0uupGVwe79Y435+oCAka5rsmcLXE/K1SGFUKXfBvGztl9AqVnXf0+q1n1gehvniNfH78Rdw1bV6e4Z0PiGQdXxH0i3/uT8nxXWjcF267ljgHB5HftM1Xza6mlCeoYSsimlj8Uo8t2r6olriAgHfLGo6gggYttu08MiJSztIdGf2yMjJKgN4auwhfLwEmwti9j0Qnpx8c2cG+6hQIb/F/jLfgEQMH3sl4Ux+Vr/q2uCl3e+SYPqqlynVGHS22C0bgherPfyQ/eZMiDEyC47EgPq9tnjwEHktpyfrICHNJj59Og3+6EvuXzC/jTk/2bnmozVL5UpEMSapbLNzELk3mmsrxweus8UCSULUnys6pGfTy+E2a1mneLa+WGOOTiAmOtngVTHXbGTvxGYPmfBGodFTd+IEKUYJUEQw1W5516+9M7hSsEiM5myM3G7tVwGB60m6rZI04YemL4cXTU093/zV9m6PZTUlsXc4tLkbZuchFn0Fvc3sIvM4oFpkYJqLx6NAiM/+lcuO53c0TV9IyjxVPUhYB4WuYRYEphmOw9ekDE0YRiAbZ17tb6sxl/WP3IXp+AyJD37s8siw13ts+MMbcllPQjtDOzJp83BXwFv5wqvvsOQNaoBJcabhWdjQ/RzvSST9dUoK5IQ37nagkOMCbfZjeRisjAymEiiVN7jsqhERN0Me86venqkg6d1x1BWXZJwE6PQxUrFL4+/GwY7TJCbXMdfCDtUBEVJBAEP6alL2BXYRxXWBYEepm6lz9iCnL4wjJOkyvGaCA+TRUdugvrKgaMrVAIoPftK7eBkAB//ORFJFM+PEkZDBSMcDtuiJiuI6oWhZ+n8jFNtTPgPNC3q8gVQ84LVHQiTXIfX3F78tVR1J/eBdrcm6qXhnWlBG3K5HOWvz+5oDK93SNAREkEIlquIYoXj/LFMu7MHAGYtcTtszYbq9gEZAXHOs/7jqpPgpJwHsBnE/+54YxtOrwH2O4AE6LUt0d+2UYwYwYhE3j00FD2xoybKybOhsaYXuj0w9Y9u+MM+RkW9tOg9zdY8YhQDfRDlsvSHbNuZaIVMYX2bFr28nkM+qsyWPjbUMLWronQrcO61DjmvtEjdErAWHB9kdqnL+bGNiQCY3kjiBbXJZpAncDlE5Y2/TL+2E3z3vmWyX9IwTihCcTbkdnKPmNsbmhXcw8TTRScASdrk6qMQgYjnWffQzz+pMEQCH4aW339IeeTU0vBD6o0vAGfPJu2ntcWpX3UP9IcvgQuFKGRvzVX6BnGj7yS8ctw8F9wBpM6TGWYNwnAWfadAJPF7mMb/diwcuhzOxJPN2nMzdxCQEq+++re18GcdEkWTXavJVRfAfNxjhrgBxdL/1gSoh7q6/1pgV98xYm8TSNBzBqjrEN4CK8EzyOu/HJL7ayf/Hlp+1PLGTpgGPWCyF8pd+xEwf9RXaWxw15l9YFr+v1eALy+uX/O5uNd1b2jn5J8FEL3JJ6OTYPiqH7p84JN2M0Z9M4iAskFR+zfGP0jem1wON0H+4Mbv7Yf9M0QjmqTf2qbvZUSETrBbel6WF2LgOYbjiEiEFNjM0RmQM5m1w2EZZn70u+trN70Z4oMyaQpZYcqAYKhZ0vBAk+WiiAUCygm5PQkUjfuxMsOBYzCqD1+ogGXmQsMVq7/u4d9YVNnfWHgOBQpU+lOyT6bmzLTnHsAiZ9SICtT0KgqGVz8V1+A2k1HGTawzRxJ9/Vwa7ux/GQEnSGoqtXR9BsiHlgi42ewHbCXp8bDjcPyC4+PxpGMkHnVMxy0OrQI8AnQLeAgMWQCbYI/B1xi8pml0ilmmsMu9kSNhYrC+hfOM7WyhTrrguI1VeWz7Yb2GMg0iuogMgQiTrLMGiFkGPNBMcjaOWowWzdpKZ3KRGqt2Rh0O0lj2K40mff2Vg+gV2027fXX//vX9R5NEpb0N/s49q/KKLYj1Cix0q9WfWFd5MkvWEyabxy01bjNfw4kzR81upcMrMsYFXZiS2kF2nw8tZXOUc4/EldwJhqgiQPLUiXBLBkGCnFNtmE72kxj/l2tJFMmaUmcV4SA2UPpkU5GMMRVddhjR+kNn1ik9h4JjGLE/rUZS5yXblSzIwpbLwA0N1VRY2m9ykosqRjtqL6YgHm4v/7ixGpRbXS01kOxJgCw0G/f1w3H9QERKMIo9B1IgiL7+HvD8BYkXRHWyEQ4T8jTbnZnhO4aGfld37Rw9+4VZY5lhcghq5hQ80Li5P1iaZXPS2gBIiySK9CQowVMxv9sdgIjmM6d7UTPSXnluNuI27E+rGqctFxMT43pePZA/tPoVtrAV5r+Kk2f9oap5eezQZu1gG+yT4VF2zISkk1Qm208uQfuTVRBKlei5hG6LZTcYnDJAx+GBMriD3L7OrYvCriHKTK1AOGSQKIPHLkLIxAYBjXQdYw2v+3L9SLoXNiR4CBJmUlqp3jcyl+ra9BX49N4UP3K40d48Y1FS+Nj5GfeAgaoUgjYl03FcKTNTunYg8ThVh8vqfMkoLzgOq9wAcs4LiVcDFl41uZoXWAvrZX5PmwyrPxWnysgl1Jp1dO5CZzIn8i2L85mACXmqF/I6Np9fzS0aJUob8/yYj8xQuwjOC6W9kiDwmO5LWnMqBqKymPT66XpFEGb/ldU43OBsnKSauDCdo5F1Og9obMtlME3N7EaLCE0ZDN43gGa+s6LbmmNNVS5nOrj853UcbXYAupL0OOLYE59z/N+4sFAIKlAJOE+RCufMoLpYz/J2P/R5YUgGJDIjtVwSEFTukMdJJHPwJzvzP7OJGzLRUpgoN9eZhM1NM2zzPnVnFAJrQz/dnleI5A/Onzxw02vwuRfj5yQAr4B7qMauSFODSiKNntRvWn2SCPLpJMP57LskyyA+H8rQ2qb1nKiTytnBIO1nwcNd11H8usHlVNEXo5jWmRhSusg6ZYKklWugsOJPZp9KMEI8j1msKlZ0zbHEYjpDuJ1bw8jOlOTUfpRrn1QoBC7ALMJQFDLE0MDShZqaxjZ/6eg/YhjIeQHse56qwR7pAzFsnk8FT47MWDCh857CRGwq5HsYXhIl1dURH2iCGYMzOINdXsu+fDqtu6vGOUv89xVnZABG46C4xsBU9Mo8/rQIxqV/ernNg4Oua6maYZyfwCTesoRlhJZphhNE2APKv/QMGlovsN76uCXg8wVjqbQZe64TpiEzqPrXz8VlPYALMvWzW0GJ8ALXCghALouHhrhUIOec0zA5IEDG6GHA7T1b9AbZwRNzqRkhyIFeuLbT5+Td1TWtDSFYU6UbdfDUULU+9Dyvr1WPHjETm2J00AMMe9kagRC88hrbUgTnNhfA65WkxwuOy3HUcSTetFAtdGElpQZlIY23eTYVNrtTGD2dXOAVvdwl1aCKua4z/DbGxT0aLIax+GQhNUpnrxbLHo4ZffKshStBhUr7dMBu3HHT6sguh0brI7AlMs8XjRfs3Od9KhB8fVydGkoVPKt47oBi7dJBFQN2yrPA7NJhS4hlVkK68tWDN25dUIbIvO0zoabxrsY6c3UkKX707eEypB7Z8DXRxfaDeHefroNyhZoxf8IHUCgQSlDehXlL9Y+lO2fzJRNR8p4fVuqyp0KpGj/rXsuWGoKkOoHpKl61h+kZ6LTF9w0JhQpNM8emvlrUZpaeWdsgF6sn1+k8/4P+dEsgNlgs1cZkN4cvG4zVV9pGvbpTH5qMSoIQGTLqPYOc4+fg4idaBar62WSe/tocEP6qFlHUN/4vg5dF5qsNJdIDA5V62y0IwPaEQAuWwLqCsZ91tYocZ9rIBhk6Y+xTmzqZwkEdBRFyixpuOWXG8UnEMgk8tJukdBy5TFhy96LYmO1hFTLPOb9eKOBTg8PxA0V9Df4+E5jInpACHLxcRhn3OkTlcIFUOYw6X0TQ4cnk7isfbqu+6KKiQQsObnyGboB3xNMd++OLjg/H5YWisBpW31DHcTjeK7sbhssm+5IA79YZPKmek0xJISo+mxzP/zvomlivrSg+i54egGOJo+XZM+3VZkyMhPZj3m5dmuttaEov7rUWK0uP/XfPWfAIbDqzd/ZQZjG2+xgKOxObFYst8iA4FF/+4s6tlCBCO8uBTtswvBwUbXO3Ryh1/DAnZ3umGcxztdYu2OTBC1n6PvnkaKKn/zycHCzl7sA6lRPQAR8bH+jdZ9n5cZA4bdZ+3ZvXJf7Y7cUxveKZf+uUi83IwclIGwJL6XkYjk8fx9IsG7BInkkfmbbHQWlC/8L0D397bV9FNOXjEyCgBvivxRlR58ycGBRD4sculH95+nz9ZYuv9qFf++2Kvobw7jBGPin9RMrF/crw2A2Y0oHGVFZciSFoqolZWvRzGAxDLSwWCrerKKUwCHhkBj0MuHKCmQgKP+qz7UeYGW0CXV5w6wARRuiTz5maquVXGTU3W9AOuFzQxwG9+g/PpqbCykbcQlJTSpLJo9UCwv1ARBhO0BypaIsS9IsiyIQ0EPWSZ+ntNNR7bKuNq7tuSSWf8nlWVANw7QjM+I/PHpXVbcWyNEnG++owN4tFxh2RPH0G0dgeQKlpsk2/va/J5szOHhqUqETU98eG0tImMBG/WFQk+Xx9CtIrwackwaYTJuYRKv3HxpKJHqYdt1L2dBXLHTi8FN5MNmzZZXMVyeVvR13aIU1ibjM+xgVfRTkD7DzSOAWdMqq1xo1Fr6DzpNoUbi516cikSC+iigyyIZSLUjshm40srjOLFQnngKM0m4VtEnGEgb7kr61uzI0PinJ788ewtwiNvi+Dp+sFXG+tnGdvIL4tGN4yQtIQBy1OILI+H0X12UqgDNnB+7H7mhRE3qq3L5H9+Ka92HVIHh2Fj6fbOrkvWIjYZry+STBvUNCzmUxN1bgs6gHymBhNXNsTxNuAaWInfR9/+HJ8pR3QP0WgWo0BDAMmGuSdkkRO+YMDIXnOYjH0pHRCkjq6NLA6KELrGYYr28H2E0QRhkFkLjWCr9ivyTJw6vCi5B1o4l8PQTpoad7tFG0dIkusawsLEs04qFaSHmccU3Gn45l4zuIroJJHmSUPycfn+zkwJ1APMzTEMIkl5P3jcvfi32MNcA2NerE4lgE4tV6E4+Q+DZ8OR6bhMep4NXYBIJBED/P8ionnVdMU8gzpC9gHyvQ/P2B6Hn6FgOjAhssvhgU1oVF/Ub0SLxx1PR+//6KCPPabp8nEmziud57sX4ouuNYDFgtwWp2puugQuJXMMPx0hsBsaXHr1Pjr2OXvFxnPrbn2EsxHTsyoj5Tk9kfAoaLHDIBaa0Sb5a5sx/6yVv+f0rEBgU6xh9k7NPKz+kPT4+whF3w5xPZDC38LHHs++8EMuCCjCyUPrtyxwnpXMaI5DsqVpMd91nQFFLNx+wL7zu+1u7rgrdyc8DCgKBo/zYyD8JKnAB+ctplUvrXY0Ky7ojyeTH6jPjOwDB4CPXvbb9fBuqQc8nf9QTf+9ixsqH2+RxeQtlRodzpRVpacvojzwr5WlJRrteGlAbZZrXfD2GEKMkEyYwsoN0EQ2LMal8oQRgK0Qr5PdVc/3lpau3CEldo6aW8s29Jt9QpIQlJ0WpU52aBAgSwU2Y3JsV00pKAcKYoh6SATWBNteRFxU/nXzJ86rhMP54S73vKIjO8LL4K3ZusV0ONomqXl4UQW2ptC7qiFPGpcW7VNJhb2mHDioZzhi2FnkjCBQWTCBrsmIHj2SNC5Wna4Kh1yKZmQc3arDmBzqdBsRpzsEIT1m1VKcTV3xnuTkylLfRRSEBdvjnhF1TUB7aj+Cqp8P2dy/11zDCRvqnuXGllWh5BomVdr/jyr8SpdOoRTVL9ZnZzMNX0od9VMocHO43b59rg98gkbWaKND8ZwwN2STQoiZ5SbyjhZoo0PDgdrnwOEsKko1jD9qmvZPtvcZEfxw8BMZAZMyhSEe52QyOTgrLaPtgK6mYcxwVlxOU17dWPr/Qc7RqECahIsDP3Ua+PnTL6AFVkPbIZ0jvMo+fDuZ8EgHrZN6Mk4fpHpqaai6StAMytfGLalNCeJ0YakWpfykiutBHfB51UIjcFr3UCuK4D17SuuGMWQUJxaeUA4y9X3PmlMY3pTLw369BjKSvRIFZz05hhp5wElE0kSQJ+ZcIyVs+XZWcJAWe86JTcuFAvZNoZMBl0fRduMoNG8FQTN31lnGYiglemC/Gx9IA0psrQYAZZhghFxK2/dU9r6nreho8kBOjwzIrtA5uIsKQLaC640YbCydrleLxnlRK/2OQikXzp0Tnbb9hiZy/jC0h/0/6LZ9rDnpMfuZPsvRCzDvDTMxxaO+MOUPVzJdXAUenBuVaqWtnc+0tPjpYfLM5ySXBcuo6aJ+87LVXQbKpCv5X6jat3lTS8opSvU4Wk0sw4FTorLgbsDkOW8DDGUjo4DixZTmSC2Hblrej99J/9rXy5y2HhxJmy44bg0eVo9GvAu5AxB5xZOnSRkldzFjk0Tt4R1rPJoobZJZlGvWIx5uO+h6u2DoYlkov0fLJZpjoZWRrP5hQ2UBYZmj1Kjt9SzyfBW3o5KMxZIxnyF5tZVyU5ijvO7A2amMPW5m1cQfJGnuWae3teiSLM+qbmUW/mNF4B3D/pbyvanoYwit9OZK8nLhZxJxlX/TZU5ncxkoDaaJCUBmeScysrbkpPdWQpq71l5V8bKprwhxM9IFrG1+Uv7eCHNK3fz36xZ9bwHDmGWXnGi5zCOAFC1sioqxJrmUbPGyN/h0IciPS6ETA9voSW8Vos2rUq9HyxUrfUPxbzEJZM9tPUC+s9M5mmdvjZKYp0yD8mP4pdjCVG0K/NcPSz051Oxlt+rOZFvJrfNzFjMWFoSxRR4Y2rL4gj0R9xYF37o6EGb69riYwLt6SDYw4d+Sctnqk5ywN1ox0/cL6BgTW5gbO+PzcrFcqTY/luoX1Z9b0iSfEoPQyEBVLshf2esnpNVyGlxad9GSudwvAuvwByAtcQLYnzholMwBMFE3RmLnG1wJkPhPxc9q2HEADhGF0VDWTNtqdr4NzXUXSMW6Y6fZ6wvtO/q5EXNtqnpMLNxROxhWkCCUEqtDMVw8RcJRcsZUpJtjuYqdFcqTKSSqbIQcphzmwCfYZjeHQVQFDNlGKQUDJtThYCxnWnO1Bkrx+oFWaROguQEZX3GMhWBo4i9Qzo4j9dsN/YuAkZqV4URgmhvQQiPfqqVWzRdy1zyTU/7pFZvcNBDis8NWkvt9MNGcQGzWrGKaFwNYKhDNCBCM6ZUG0Q1KTM8rUZVI43O9vnujAiQuqhwkqIU160KTREpEEoo50s4eeGMRlnztqvxEk+AknBp3dh9freZgC07aXv3zXfDKwXA/hzBaOOyUkFbVA8vLxaJ6SZUj1MaGBaeaIJV3vApf4AkQRR5y7BDpvSWDeF2FwWMQiZxkUfIxaB0xXcGT9Q9c6YQ8qHe7gw9GMxLazQMEclNEJCdBPHO5yQI4dyz09V9Jzn3G0Vuoc6AO44Y9SQmZUzCv6Uzp3IGOhiKOsyMmFExlQkha9EhTgvGasdv1AuWyiR82le/Y3nP18qy+hjIQlYq1zIhEa1Q8IgWyeQAB0lR4okEbDkOsoMHXkxxxmG2birw8OWYlBwuEWVkUk/21Duzk41yNlGEQ3BV/ep8Ai7kXd8DvmdB5YhKPstfm0l7dn1PrzEyvI6ntFrXWU5eFT9whJSyDv/bNfZ5gem+31bngfm3B7YIT6z4lO+E8D7XiAES5DZBWJjbtMz1K1DHfQz570oCEjqCNDSbf5t7rgpm6IzatnlgdFPiJHi4+yvJUMfpHXI1lyzkY94aO6ZyZEmydcgrrp95nlZu4aywr35J6OMAHiukXCGuJwoJ8qppO6OpEFIpmARDSPUpSbWgY76JCoztzf+vDJfjim7xBpZYK6VuMIJkxNpxwX0uz4++Fq4gYYp0ytAzTlEwfqODsGyoOnafje/BUkgPy7RykPnj7IgJmfmlsY9BkNFgaYpNGJ3VmGkqyZWQSb9uSxhDkrxacpjuFkQGqy3TarOYxLZC1TB2N9JhU5YIFRk9vaXQo1Ck5tXboJKQHp5NR7Ujjc6WmTUDoloyJMVbUmDbV0qW5DhgShxKoPUFgwzube0uL7ZfvIxxgCD9rLJ1J+irzwvN2W1wHRkVocEBH3jKYYbiv1PzJn/7m9ioeRvo8tkXXEA/YD+8R44cKkM2mEslp3GSRkK2wLnyAjTPgbQRSVawrmnkYnXpt4SPFcQiJ/RGzWuPaDxmXsstp1Sd04FIrbqgZDKYwHNjFXcsTtelWwKEhEuNMUmxgct3AwILzWgvBF2Q1vSs5jgRZQGESHo8XoTmhNw3iimaVlSaHVSVs7tTp1HNULO/Y5fIyrIn/8NfNfe9ICIGGKzLZZRy6qIAIzPAVaVlF0XFOYdZFwkig3CkrtCQxHw9j286ykR2BEsnCTg+riC3XLD+kf265OboBayvXV88uESJ+WCTSopFagVBKoUS184L7ovollBy/IGsH6syQcNZMkJFWtVmanBsGuExBMYXDRsPwp6YWaN0ZXwx/+fS9x+UnjJwSITnOF9on2pj2/FUHm2qCHbkpYwuhNNu03AH6SxqZSD7bEzvTmWnc7M3zTiL2smbB1EJpoRh8ouESNTDq6H5+aAifQIfM6ixXBSRsicx5AwKCRWqv4Z8Ghz7EYuK/q/I0ZkLMcqdvgLMInZDURRj9lfjzZGbTYnBGDcB+f+2Tx/8tCc26hFDNEcwAkvmK/PKoTGKFi8fJdKaEREyS+s+ZvcdexrqvG/Ks9LLz/1OFbLhTbUb/HkukTHtOvn+saTbJbvX+5SyOG0/pZs9u3h6cRvI/LZIE6vYaJD0zBftIeURKw7alVJegbz4kNGxeNjs9s8EA3zAfEFapSjn4hYjMfb9Wy2de4NAg/CWJemEz9bkL3Avcwy+8tQemCJ80DFsc/FXEQAK6K8WMhfdv/Qjpo3jDjiGtekk6f+D9DlTVL+/dJ7/y8plmcUENsA2Mr8tbyD9uA5ov6UNPq4S5xhFIAhWNRRIJlY/Rm0LT1NtaO+8N5RI+zRvmdmoJIbef6kcPbsdYmvR82q+yOf7hO6j8p/RV6qvR3+VEcdxtfYQS3TmAGENbJaOJJXYjJb9ranBYdRqQ14gMgXT3nkUTEEpfqgrxHsXS2dKp8qLuSV9/1+b2s7lrJYWVOhxCHC0lq78Hyg3m54jzJ12Dh+9kIED9ummOy4ZbzjH97JXzcmzSJ16h+PTL4Y3BjNOAd4G75JDJxmea8yr2SZBMUgqaEZwWJDEhKwxiM7ocWARBcQKHrRFQCzSdk5XeO0qfvoiLupwHC+d2FfmJUZDGIKR5WIWFJQAGdfAzVbLsPwScilw6EciKnoF9NsTItoLHvnO74Pw/hr5tEP4dC1Z/NyJMg9rYa3qDNtYpYi3LCOSeTltkErmenCpZ657AjKUvIbTJKbdwZIiyvlNziCbiXbiQXchSNauXUHF9dDzKwmV9ADlRrMrxJ2+2FvSwDUKJb9syASPKEe3k/WXwsqkmgaFm+iGedBMMUzxH7x+S5eABMKWpNYcAVsGifAA17AT7uoszK6soT4abmeMkGVks1COlG800vaiWRvlu9KBIotcYx8BDRyXIZsgzBwv7dktbSM3E5ESRLKDEx4NxTDTepmLx+m2iGT77UyoDxR1a/BLuUJOHzVfVDMYWBfpoIPGqiJzqkwTkJRD8muGh2FOgoEjYMsoER7osG38H2oPXBVHiLmkRxFFBjRHY+JMdXTwO354ejZF1P8ryY+Jn3mywdcrS53buN158LAkB37PeAbM5Z4guNx0VbWk19lZnkaaepeA2Bzzh/cOSfJHVl4rQRyZUX9wHFY6PdjpnO64mWUN3gBvj9JZaJmf24ovbWGhKN9gS0RkFKrkZDA/f3B4oFXjp2ml+OnN69fSLirOrbhzTY5FGs1mij8SgulMa58UbsIuNA82pjm/vDUGV0gZr2U6nXv2JEikp31X0vPPGuA1nqKU4r3zh302Wbx4Hcljxyw2PQ1JSdVzmeKi9lInaUIx5/Tf73jepe/y2vnxDFkx9xwPuyMjUn8UIhFJ8EtrzTmwZZhmH2hDHefeWKG67Hk0YM+uDX0JzxbQkfGCfPYDTyNdEkTFYaYYbD2/VU5m2s+K3slDk3APvPsADMKglFfBzkAormCw7Em2iEid57VZGPtSvlhVAY6oj1Im9MML5hGFfKQ8DimqEUqUBra/S0z4PsD+dhQ1rXRdMeKkKDF9VEZJUFNcIZ6E7aDguzpvZPJ65u+D3e+1BekMQLC2lltETjkZ7idjEbpQFCzvJtjBfF9f2UMhzrCneHdfpFF/CsTqKMs+A5CoTYToIaLZjaMhDeQmSwxRiYeFK4gwCQJE6dG6jMo4GDGoGaIRMZyS05ijxUVhbE1IykbV2nFv8lLsKtFCleAu1RJtQKqPqlK42TxrML7ZkBYAI0bUIvxgboVWGseo0oSMcptZVrYrp7PkApxttFeRFJaFGgTcqdAJBp07PkSBEm9dPEHrIfgtB9bAOPT0GBOEEXn8EOycQDsNg3jsqFOtjCMUSEW2nFQIKmZ+lj9/ZPmmy5W9YmtK+02Pv5qhRoD6pNwDjumVgm+t7MeygchN+nIFWvnjqz3K1yzmBe90puKqcBZBOnQd3/QAWbF4J5l10TvNfA+KCmYpnG9212xldIjcj0KpLVzreckBJ4f4lfIvAtSC59prUcETMoF0Y65kVhCJWXsABOadEFbQhhieEzUJOBBq5HjYJC/KSHFZu7oJA0JsK4TlHq3brI5DoiY9YwjPvJFgzwfhpYX2nkcwghq0J4X2Xb+Xz54YYet2sScZ8YK5p6khY8k1YTLOEgGbb4UFWXD9har/w0OomJGO+oTHbHjp6V0TO2b98OJcc5dJD0roK+fr36vVDU/zHXpvQxfUC4dNsEP1FyVlO+yUjvAFR1CO0XngThWbItDtGhHZ51WEVjVpIIa0daDTsrM6iNkRXkvagbeGRTkmOuJZneSaI21/jZfW3pLa3MJ9PipHoI3NsAur3BvfLnOpLVxnkoPr8B6plItkx43Y/1SI0xfJXe79JWZpqKWTs3fJCDbCNukd5YaExSQrWdx9NKF5zRQdmxLYAJvwEh55QkF09AjsYqfrM5K1nIY6R5KRKJyvqo3ldFM+fkai9Qqqj3jSoShBLgmf3/P3fME27KrnQYYE8U3HkklHB5Y/w9up2vD7iUMAU5b9HMeoqF2amTlSWj62qvl8CqKQvPxgghWf/FTd8CTX8Zq3ohfUEToH2TAaAsZmMexGB8ClxRygWxt2ccTQB9dxI12CZqUdVkxQVROEDEWbTskJHA6loWDWaYYa2j8MJoiIVXyCySVj3UiEWnfLHS/fGokQv8cXDXaTXfK/ImI2TY7B8c55aaOrUnoAkmBzM+cmhqCWnLWT1j95xGU28NM1981aB25hV1lLYn0ccLA/fj5p4vWSQWAPKuwT367Q5ccxnrpUP8sZ4BPMmHBBHJJBsue0gYuJxYvgOYWHz36afAW6LXTXMw9ajybuTYIw2vrseefrAL1HLnneBkABUxML2q04CH9qRKvVGTL6V8dngCCGTwzOFcDbt7nd3S/x14PPyCA9PF3z//XaG8XnPguiY2vj+O57AJio1URGzzr8ld+ujt5xf+tWO7p29KO5A0Ffv3weW/nI7fPL8FRL3wAphyMkQwcxJNyohBGVNHjoZ7IFScu6IN0siTSvCoZRKBISRaDo1uVDk7vVIAVOcKq2GM0rPRHj09XfVmPoOBNYKhRge1FLRLQk+OhnBqiUKWbZBYFBTVJkDTc/fumiqOnR5mKpMnmpCNLgxP5+JqOPRrZ4Gp+azxk0bJy7rwyVIUOKAs8LIsnwSmjIcrJaDfN5i47imuWGsEblBEDpCcopa1YIGxcqfo4I2ZOm4jk2xAzUInMQrC0O81OYmTS0mMDgCIYiCIpFYBSvyJbBztLqUDabtLvuyOYKh2pOUxGggFxQw0QQLXajQERNtdnPTU96A5VB+BJPJrOOFZMcnzMYN6mmKT4L4RTFFuxcxnYBh4qDaaFs2J6mG4auebYhwdifzCTy5TTYFj5iuG07PwvfoBDz+HLIzodF63LZaPUDio6dvbK0aE/oxYZ9cWn27DP67fT1Vpd2eCiaYWjK46AIAfiv9ySeTd/qSV5JOXU1YJ+EL1ComlhZyV7uTYsEASBGJCrDwt2x9OK1ATXaYFiAgyA5eF9XgQdGTnbBKwj+wYzhmTWX6zwChDVXfllrCSjtfckeyMxcmNHxADuZPARPsck1BZYA62B906tKzycLUcO2a1Y4EQ1QihKa316PJrPZ4jR8KMqoycbQdlgep2YDwpLwwPJZ7W2qaXMiTP9XYpp5qyop59TaBrmKuGabVYBon4R24TuQIxpqnEIhbqDyHcTGa05XhQu9ohFi0BxoVX+dsUUceird99SCjg9u67xM/1YLYvrVoqW4qn2xljieSUYjHmPzqUxtnpqZiL6miiRGKQPXBSxKR4vCS8qpx/FYQE6lCbxNsUBEfH/7aopAN41RkIw4yOKjmtMDjbkgBlkbYvib8AvE3rjlNpmAUZNcdoMN3W4TATZKE5/aVf5uVeFZ+RW40L2Ps7DnmMb7VPwnJh7eqzztrHu/5dR0mcCGUsCSWKcDrAjXoiVWV1spKy5fWg5cy3LuWv6CiUvVwq21DX1caKRmUC61c3wQ5nCAciNFpdWj0Uybjc7eMhIQD7tjUIqWZUKKIfagw7WVy+gelFpkrfOsR7HuKwYnP4lyu43+SMcm/eExaBd+UvdB+eRC9JlAGc7TMVBAdaRY7QUIicV0UNkLwP5NGzPlZ8qwcUTILLckgAByVZGzeBei8r2v8J02eEFS0wb45/uqzehxHwl3hT865XmQATHtgfp92/TBaBnjgAGWS0zfwoKPYyYnnPeRYAs+dg4QvgnfVEZm4lDQnwWDUJzk1EiE3yyvqUfdeJKrUPQiS4atiwKfxBM4ivfYHgJH6cDFefeSWlm7yTCZ8I9W+2rMp/AnZilKEOcKJUyhgSNVCoN9scBiadwDQjOKy2Fgqx/oXppmhdIoJuWyRMqfH1ALjBei/XS5Glwb1q6lv0jpQYF5VlE+2TJD9aFybkpWI135YWltE7otVVC3OZ6TLRiPowNRmfjf9vvG4XQTPKVOnRUvSy1iVOtKGkvK/W7/qowY4DKz7rQATEsZMA1lsCBZhqNeD5mLtub/C7qCS6WFat5Tn/iplkhQnKRmSkrO477E3iZ10fZ3HpFhlzqbT651nowyopbnh6ULd8FLZGUwGiel+XSKsTr7DKYkjTo45KvgmhcXCbFdrFRl4UTFI61ZhuB8ZMZDAu66ZKtCJI3/uZxGUupS/5LT6VpZJdPOiXgTa3RWQtlLFzXVn3Tyui0AHU9jNqgW/+WU6usvAkfUL/oY8diFEx1q7Iluzw0XviY+tY+NqeE+2JT9gnbJqNFyQQqv/jo/5Ql1A/VqA34dGxQnQvXHTWB3YbZnne/ES/EPsz01gNk53kYyBx34dCFMLlIyYi26UT21wqDfI2K7Y9wmLb5NN8AHsk2qWy4DaFSgJd+Rok7tUanwUu73gW7CTOxY2DryH8tlb28jvgCuGEdBcUVLxWY/QS1MhTWs8lqpevcZNuCTnZ/W5nAnt7EYYXH6IzEykcrAsh6OZ/JqHmFrAkOS6bwUjck+LlqQboQvjCQoJOmgGRSVMudZqvQ4mBTE2FT26lUyFkpykGQ9LYXZwyGPUcQKrpqawHIo0ev8OvfmURdzlgqZTEs1idoNQTgcL3DG8j1bV+lkf6Qrefy/iEsN7f4oyTXL/trCOmorXLcPMTOai/pIm53JA4uDKpb5/4UoqWvzRVES0MHLd6PptvDBiK8akwwcZjW+UTRIsW0YJoQUCjGljH33ZxeNck9xvHq9HBRsOq01Z186uY8fKYTys/IkSGNdZkt/nuYa9YHU3U57o2bltPxgeeNbepdNWLQYVWAUqzKHBumvbRTGnySnB04RCZIWCxNvSPO5giUPo2KdHMqJRD0Zqo2MRVGCR6PMrXI8AkTOqwxDIKeRYJBYWR+jKHsT4VIKCedGRxFGlCC6jDrUtrTfOsOYEnzOo26HA1PCESHEXfPz7oQcF/g7v3wuP2ZAJuiZfHI+/d8Ixidm18fNBvQ0IQZUbtht3Yrdtg5czM//FDKvTgyvw2kj9/kaHXAOU9ZLe9lGAJIofZVOVhBGVuC7lDF3z5I4wYuav60dwtURxy7twpLTO/EYU9SnkyiaTP9vivP+0EjcqGYFQqKMu04l3ZItLGGaVXvOIATWwkB0E8JU0jmMqSizbA9/u/jAQZ/DC5HqOKz/9EVuEAv6fEFCZGsOBpxOf81pWt6mpkcXaijdtlEim1ys1NQlDjNIU2LCEZK0bWQY8wv97l0atoPYurIo94xO58RWZYSvWbfz2EyeXS4DC5leiw0DPTIAI9FgDeuJ2WnV//nsVzjHXTbyixmN+aa526+39w5t1GvvkLx4ZgbWCG1QAv+zUv8DJpa7XW/Nt96J13z5PYoAvLEjdhmagZa5a/q0ndpqy3PaZKQVZs7MKYulq1y+1ZlgZrlD4CnSd9Bi5FCrCygLiEhmSD+kFTZ79kUiQ8fjGRBBKp89ceqFccUp1tdKZh8NeV9zmfL8B+fr+0HbnUygOfGZcRzaYO4nNcAmgdwIOQLb/VHK+bjypfX4nnK90W5ubgQrrFUqsLSGKoZWRrYsKmdklF1oTxHdKGVh7F0JiRvahQUgwqvG1BRujUMQmf94LAjKC2VwTZ+Laqfh1gDSpj4lItJk0SJ5/bdtaSvct59qhhWZyHae308dcFw2AuL0jKobaPq2wjF+l5cyUPV2Rd9L7fiAfdpci7X1L9v+UKrnSWNfo3bX6U+kiUQgquhWnThMMdDuX5pqlfJMt98eMDlTQ4RifdUv6uztf1V3qUKEC1llKwKFCpOiaX8h8aDfJGXSmJXIUE4onamv6gr8mYrDOrPCWTR33mDKyyC3vTw11qLHUqUtXQIS2/WyWZQdC+cvrzKQilIcJbU8K1+8/TNiy3NOI/jtp+T7QEx1kBtWW2VeM2sclSdyFI4lbW9rI6XOJ5SYN/0nZeM4o3SXr5J8wE3bVf/O3LXj3wNLvnPVtS8kPCSB9KSnNDRfaGHZ5vR4R8XzJGqZ//SzIBMi5qmSwA+dg+FuGlzulS8/sNLliCjkj0Q8HouHdDcMlFCl/AvrbTJy+v+FSirqLi8uk1C5aS8NfsJXMc3ngUqFdCzo93vfvbQDHcD3zreUn375fDoWzNSntCEozcSQEqwpQvEoX0vqraWMbTBhaphYyVPX0vzqvdfj+aK2QcReCNVtsTXVbh+MIMSH5/mNwTnzpLxy0jWnwYkpGeblHzb+X1hePw4d4d5BzxZwu+O/nA3Yxm1CA+Agpt2fD9R+YFZflFjzUIdGjCe0m4dvKAg6MB5Io6FJjeSa0km2SNEDVcJL8pwwKBIDC0FTZy5UYPivXqcpyBYieHCD8cTiJTMjwlTJOklsjr5GtRW6VQrkKBuO720WdTkBbJhaE5lvlWj6/7h4sb+2p3ID1O49AHH6voEPZQoNaE8qdEf2cUcuWow+6F3rnMn/W/JREz2ggxuYigaY4qP4Asjp4IIlYVxgnuBmZEau4OVw7P7WD48tH3lo8dXmbzX3qfDJEXeyLw6umHZr1werA5ERcXhiOTHNNGDlFXF/pnfHKyd64+c+azoK4pN3Db68O377fZP/JuPcH+dYKtD9YYBHl0wMnMX9akHG51j58vlEfxWwUGOdwY2Ydj4xTWx+oOm5q+9suQs8oE6xN391duzGbQqGYRjWlHl2PERmbHjJkQrDpHcDYOEiG7xnOa7kiCV98ZMsV0EYmHIF6exRN1vg+F0xDnhaDuTsbcP07wbQD3f2Suo+eVIvr5yU8KqZSz9Lqbkn9XIHXPRPpUSAtNzVA1cPXF0v1z0P7/yZDDwO3GUVjsc2bId6xGlEghDD7kmMVYkEvN/8Lfr/HPcyHio/czYeC/V6CDYnvrp2KO3o2XugEI0mwHb8P3tXPYAZB48CNeWp2R0am7zxypbI2hPlqdqtQ+HJV9/chd30hxga0PhBBWlR0Ba+IPHnNBuRtgH6dkGdr2WggSnDdGooRX6wNJBkp9Wce6OViRkzuzuFeJVTFO4/RCMriCxJkazykpAE9P9BRiJIglaQyJbV5eahbPIKDW0ai8i8ITzcMHQzEXvqrQ8u7b60WHa6EWaFfITs4cFtZEhVd7wUERPGB/6H7p8C0+OOmuJFUde+YR5CGep5bprYQsyq0TehFtmcCes0UxS4Cq71MDe+0GvgNWs1ZgnFMHGD9jm3+50ZW3142NDReejPsjkEbQcsOG/Uz9nbWpeXNAFIxg3stXOl1sHw1qZX9O2G2tENgsAzqpXlBEkViiwmtni9WJyapzwIR1uhGBonRALHbP/lXZha7boKkv4/tXs8qgnjppA0OSMYrs2R4yMvpFArt/BShWI4XoDkOYYi8Xtccno+zqFLtXDZojUKIv6Ud5+l56eG6cdfVOXEzHUNH00QjDeZH06iiSteQUDGRchlt7uDOCvgFxKbfjgUO1v+IS3qKpxsGDIHdv/n5jriVkPUHUcX469/tbTUzT3wnZrS/KEv/wZ5qh+cngO8m3b4R/cDvyxOA9NS4sI4facHHu8Hntv7VFM30fWFK08xuqGZLwKH0sW4i7unulTvbvY7IvLwBZEaDLqLu6e6VJ9zN2Em5ODAGNRDjforeAR1mNAjYfQ9zG6zOhaOrjR7fGBletSeXuTb5EppcO0lLCUNfZc96qByQ740sG2Bp3elNe5NPwMpqL09VMqJlM93hnd01XmN+pBNv/0lZuXtNgkxPVyfOo1XR9vyN/x6mPamt+4P16ZNZ8TchMlIcHMr1npZZ+avvb/br3ib5U8LBQaYGaUiwWKfFtNXLVKbL6lUyllGezmib5eJz98/lHbQ8wZuQNBKgOl0evNlkCOBzOM0ryjoabhnQoaNgcRIwci2tCEnNMvDiES8lbQ5OHx8IMb15hLM2e2BzXMZbrZ/jZ5I0DUIEYQZJf5wViUF3KeCFKa+TF2sdLrCZT3oNYiNCSIkUPpBqC1AxC+VG1y8aYyuZ/VPBBS5B3w8VF634JEqZj43Nto27HwQeAAPcRzXdTw/WE+j08Y1hPEWQlzV9SU8rjkzzA6M9KgrCPPQuMdBAyOx0x4YaLWGhrsgl7di39+QTvtoDabXbK6w6vWs1AWJoEfi8W4HdK0dPQ7o7foI+qw+GvAHauQbkVAdeLXzVYfZfuZOSRDKbKrraTyvWXA2mYh6fZKUqRRjxYfEEFZOdzQyue/RzlZS5CTdW+zzHVVFmYwHDV8OUxF172piqo/LEfCkf4ZYSe+7RM2GvBhKskq+W8Rcrc1H/6mYm8O1MaE1u/y5WYHO5DGJw8CYvuVf9n25Niq1pAjO2Jbrjly6NleLQSV+cyKSUM2jzFFJNLbHPFUKN/b7LCSwY4ffg/Ww+YTknxPt4ODkFNgaVl8kXbuHk6QBTts/MHJwco4Nvtwv3LMeiIXD7970F+uvPML6np04ODklthHHL2VAC+7hkmSA0+4PURycnFWwNX8TD2WZGFDyPp0GiAgAIr6fvY79eHthk9f1RoTG8QHAd79DlgHghwe6gsXIjsnMlguMYQABio4mlv58wvj/01OAtLf1v0ortLKJBqOVJWtnERm3iQTWI3TXGRUgVJuabBT6ioXqQ7P2d0grD4Fn3PaKApytmcyr0ufX2CTgHZAMZ5IVCoQq+wmHP18ORKXgWqmWyUBRu8Wtzp7cSEJeVB7cawFRunVqQJq3HMkm3Wqa6WXpST7HWK31Z5NqJkbeNUayLwPcerKZ/rVNpJ1Uk9H85hd75/4ksp1Y1B7mIKWwkFuSFJbz7Mr5mktZFcAxKCy6tx7WGWCVCUaKpWwqOq5hEDZNIVp6r01N1GIKWcM846Uxr2Te8TaluITF5FKBEwnLV8aR6+QPn1nI8YUl4AN+IIQ5usTxJzOtdgOHtJ0vg3Gb40eY2VxqCfDzaY1ZER59CIkerJ6SVbK6OCzhtfnsUL66nhRkG/PSa3YdJM46llOwk7TMkm36aBGTJiTONM5qCiGX+FtNLtYqlspNArJRoHEb3vYkhQcZ9xAAUZBY7jlvlWYiqHaSVoaFpQuBbbl/K8jySmcWlanRgb3TS/rJ7nRg1WKB9Qa/wiysOEF57VEMmA/9q1Ww/UimYxYX2Fuab11JQjUIHGyrbp9ZTshZ+yjwRwZcUMJc9w0mAst/mXITeX2NQAD4xJJiNuT9T4R5V4W/vCYHYj4YL4w/CGu6wIojQCDy8SWuI5FbRsbygmJ9olUGMbYQApSLiy3BgQFHAhrtkNM3KIDqSSqUQgMEGwHlaP90oFmSIxvDxTHHXGtqmJpolO5vrDxeR6MKrFBSM7fy6yLVWit2eJgdKHsWr2FzZq3JaZNaPV2cqk+aw1TTqjEaT0xV1SGnv7aZaVXqcaVNX7I8tVlNLFPzURWKIOZqBZrI96ufziIqo0qjz22iytfTUjUngKhbnanS+Kn12XxFPysnd0+VWuRrkNdBN5xSmR+nwsnMxGhIxa9ErlCtaDX91O+vE1WjVC1THFEVr5ONqw1lFeqpSyBnZURl89Llt/PSM0To6iiH2/rR6Dt35ObQW1S24pLkI/3lRzzmBKlMrlhy0uOeUBH3lUcrmic9pfqMPxaXuH0GUx735XvWc2rPM5rMlk9YmfKAo83xy/zOuNz1MffkvXB2qmb7YP4XtGZ3zQSSdXCFc9+ef9sn0H4HHXLAeYeV+seYRf4VJMZiSxwhI3dUMd03boURtVaGhMjQ7HIoiIpoiIDTzjBShDeiRu6/XFzmoSMdpIv0EAPpI4MYhhkj9T7K0MKKcUxiCo8ZQ/osWMpHcgFfpquO00PBNIuBS8pI6NC1yhoziV1zXbkKlarkytOoCRmdDUK0KLGU4kRYbYBCA2rYIqWGg+GtcWfwWLOSLJiWd7hoMY9FLGMVXqzDj00EsY2dBD7iPfLcY0+8iH0c8kmlSY5MlWfLa2aadUSj1a+oFCrUaHT9RGGm0CpUCnWpZa3M9ZTLhdJOcmoF22ucHjqoVVk90SyDtXZN0FpHgnKx11gYQCbp+uypBdP1OWlJAZFIpwiIYkGz3pTn041Qxpmu2V27nI6yi0RWur9JyB4aDYqf4umzDE9NTeyamWyzSik1D55dixja/D4wvhyCAC5ucaa1iMaOZqbrroZsa9UbpZNNWK9Gv27YmgGDpiYma+Wt7id9YCpK0j5HXDU7PEU2Wgi63TEF3ocG/zdF/sIXAAA="}},"time_used":68,"timings":{"blocked":19,"dns":0,"connect":0,"send":0,"wait":22,"receive":27,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97472.e8195405f99055a83c6f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.164Z","timestamp":1785141584164,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/97472.e8195405f99055a83c6f.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-f754\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:25\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d98e3e81faf687c45a560891c66bdba7\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":63316,"size_decoded":11196,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"0813d0ea841f3538f1f27a58a88cb1e2","sha1":"5d7c725abcc841d95866532c0d0d9d124f9138d3","sha256":"82ac84224db5ccb6f92b82013e4473a579ddf4e881af126a3359ef556f33df28","sha512":"668be712980917e4cc39f91fd0fe150ce81cfe2bb4b72aaca4cc455fe6da6d382006c963a1bfa288f628a3a80ba1e1fd9dc921af4b34cc205dd127cb231eec04","ssdeep":"768:OzYrfKPQhauyuhs+66SY4n3sWvt5r96tY9hu+3fHxx+TS4YLTnW3H5uVHevzBAEb:EzsWvl8Y9hxXa","tlshash":"095379d8c5bc1d8c75b7d2c4bced7655448c3f13986286b0f8bbb819501abd829b9cb8","first_seen":"2026-07-23T13:54:09.171546Z","last_seen":"2026-07-27T14:50:15.352752Z","times_seen":292,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5NzQ3Ml0sezY5NzQ3MihlLHIsbyl7InVzZSBzdHJpY3QiO28uZChyLHtnZXRFeGNoYW5nZXM6KCk9PnUsZ2V0V2lkZ2V0Q29uZmlndXJlZEV4Y2hhbmdlczooKT0+bCxnZXRXaWRnZXRTeW1ib2xTZWFyY2hDb25maWc6KCk9PmR9KTt2YXIgbj1vKDk5ODcwNCksaT1vKDMxODk3NCk7ZnVuY3Rpb24gdSgpe3JldHVybiBufWZ1bmN0aW9uIGwoZSxyKXtpZih2b2lkIDA9PT1yKXJldHVybiBlO2NvbnN0e2FsbG93ZWRFeGNoYW5nZXM6b309cjtsZXQgbj1lO2lmKHZvaWQgMCE9PW8mJm8ubGVuZ3RoPjApe2NvbnN0IHI9bmV3IE1hcDtmb3IoY29uc3QgbyBvZiBlKSIiPT09by52YWx1ZXx8by5oaWRlSW5TeW1ib2xTZWFyY2h8fHIuc2V0KG8udmFsdWUsbyk7Y29uc3QgaT1vLm1hcCgoZT0+ci5nZXQoZS50b1VwcGVyQ2FzZSgpKSkpLmZpbHRlcigoZT0+dm9pZCAwIT09ZSkpO2kubGVuZ3RoPjAmJihuPWkpfXJldHVybiBufWZ1bmN0aW9uIGQoKXtpZighKDAsaS5vbldpZGdldCkoKSlyZXR1cm47Y29uc3QgZT13aW5kb3cuaW5pdERhdGE/LndpZGdldERlZmF1bHRzO2lmKHZvaWQgMD09PWUpcmV0dXJuO2NvbnN0IHI9ZS5zeW1ib2xfc2VhcmNoX2RlZmF1bHRfZXhjaGFuZ2Usbz0ic3RyaW5nIj09dHlwZW9mIHImJiIiIT09cj9yOnZvaWQgMCxuPWUuc3ltYm9sX3NlYXJjaF9hbGxvd2VkX2V4Y2hhbmdlcyx1PUFycmF5LmlzQXJyYXkobik/bi5maWx0ZXIoKGU9PiJzdHJpbmciPT10eXBlb2YgZSkpOnZvaWQgMDtyZXR1cm4gdm9pZCAwIT09b3x8dm9pZCAwIT09dSYmMCE9PXUubGVuZ3RoP3tkZWZhdWx0RXhjaGFuZ2U6byxhbGxvd2VkRXhjaGFuZ2VzOnV9OnZvaWQgMH19LDk5ODcwNChlLHIsbyl7ZS5leHBvcnRzPVt7dmFsdWU6IiIsbmFtZToiQWxsIEV4Y2hhbmdlcyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDU2NDIpKSxmbGFnOiIiLGNvdW50cnk6IiIsZ3JvdXA6IkFsbEV4Y2hhbmdlcyIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJMQkFOSyIsbmFtZToiTEJhbmsiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTU5NjI4KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJMQkFOSyIscHJvdmlkZXJJZDoibGJhbmsifSx7dmFsdWU6IkxGSjJET1QyIixuYW1lOiJMRkogVjIuMiAoQXZhbGFuY2hlKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDM1MTQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkxGSjJET1QyIixwcm92aWRlcklkOiJsZmoyZG90MiJ9LHt2YWx1ZToiQkNIQUlOIixuYW1lOiJCQ0hBSU4gKE5hc2RhcSBEYXRhIExpbmspIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI5NDQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJDSEFJTiIscHJvdmlkZXJJZDoicXVhbmRsX2JjaGFpbiJ9LHt2YWx1ZToiQklTV0FQIixuYW1lOiJCaXN3YXAgdjIgKEJOQiBjaGFpbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzQ2MDg2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVNXQVAiLHByb3ZpZGVySWQ6ImJpc3dhcCJ9LHt2YWx1ZToiQklUQVpaQSIsbmFtZToiQml0YXp6YSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NTgwNDQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJVEFaWkEiLHByb3ZpZGVySWQ6ImJpdGF6emEifSx7dmFsdWU6IkJJVEhVTUIiLG5hbWU6IkJpdGh1bWIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjU4NjUwKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVRIVU1CIixwcm92aWRlcklkOiJiaXRodW1iIn0se3ZhbHVlOiJCSVRLVUIiLG5hbWU6IkJpdGt1YiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3NzkzNikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklUS1VCIixwcm92aWRlcklkOiJiaXRrdWIifSx7dmFsdWU6IkJJVFJVRSIsbmFtZToiQml0cnVlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE0NDExNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklUUlVFIixwcm92aWRlcklkOiJiaXRydWUifSx7dmFsdWU6IkJJVE1BUlQiLG5hbWU6IkJpdE1hcnQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjY0NTA2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVRNQVJUIixwcm92aWRlcklkOiJiaXRtYXJ0In0se3ZhbHVlOiJCSVRTTyIsbmFtZToiQml0c28iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE5NzkyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVRTTyIscHJvdmlkZXJJZDoiYml0c28ifSx7dmFsdWU6IkNPSU5NRVRSSUNTIixuYW1lOiJDb2luIE1ldHJpY3MiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTk1MDk3KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDT0lOTUVUUklDUyIscHJvdmlkZXJJZDoiY29pbm1ldHJpY3MifSx7dmFsdWU6Ik1FWEMiLG5hbWU6Ik1FWEMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjUxNTkxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJNRVhDIixwcm92aWRlcklkOiJtZXhjIn0se3ZhbHVlOiJHQVRFIixuYW1lOiJHYXRlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ4NDA2MCkpLApmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkdBVEUiLHByb3ZpZGVySWQ6ImdhdGUifSx7dmFsdWU6IkhUWCIsbmFtZToiSFRYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDkxNTY0MSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiSFRYIixwcm92aWRlcklkOiJodHgifSx7dmFsdWU6Ijc5NiIsbmFtZToiNzk2IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM5MDgxNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJERURVU1QiLG5hbWU6IkRlRHVzdC5pbyAoVE9OKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMjA2MjcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkRFRFVTVCIscHJvdmlkZXJJZDoiZGVkdXN0In0se3ZhbHVlOiJERUVQQ09JTiIsbmFtZToiRGVlcGNvaW4iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDM4NzE2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERUVQQ09JTiIscHJvdmlkZXJJZDoiZGVlcGNvaW4ifSx7dmFsdWU6IkRFUklCSVQiLG5hbWU6IkRlcmliaXQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTU0OTQwKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERVJJQklUIixwcm92aWRlcklkOiJkZXJpYml0In0se3ZhbHVlOiJEWURYIixuYW1lOiJkWWRYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE2NDAxOCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiRFlEWCIscHJvdmlkZXJJZDoiZHlkeCJ9LHt2YWx1ZToiREVGSUxMQU1BIixuYW1lOiJEZWZpTGxhbWEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTYwMjY1KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERUZJTExBTUEiLHByb3ZpZGVySWQ6ImRlZmlsbGFtYSJ9LHt2YWx1ZToiR0xBU1NOT0RFIixuYW1lOiJHbGFzc25vZGUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTA5ODQ2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJHTEFTU05PREUiLHByb3ZpZGVySWQ6ImdsYXNzbm9kZSJ9LHt2YWx1ZToiTUVURU9SQURMTU0iLG5hbWU6Ik1ldGVvcmEgRExNTSAoU29sYW5hKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDcwNDQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6Ik1FVEVPUkFETE1NIixwcm92aWRlcklkOiJtZXRlb3JhZGxtbSJ9LHt2YWx1ZToiTUVURU9SQURZTiIsbmFtZToiTWV0ZW9yYSBEWU4gKFNvbGFuYSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODMxOTczKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJNRVRFT1JBRFlOIixwcm92aWRlcklkOiJtZXRlb3JhZHluIn0se3ZhbHVlOiJPS1giLG5hbWU6Ik9LWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzE1NjgpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6Ik9LWCIscHJvdmlkZXJJZDoib2t4In0se3ZhbHVlOiJPUkNBIixuYW1lOiJPcmNhIChTb2xhbmEpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3MDQyOCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiT1JDQSIscHJvdmlkZXJJZDoib3JjYSJ9LHt2YWx1ZToiUEFOR09MSU4iLG5hbWU6IlBhbmdvbGluIHYyIChBdmFsYW5jaGUpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU2MjIxNSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEFOR09MSU4iLHByb3ZpZGVySWQ6InBhbmdvbGluIn0se3ZhbHVlOiJQQU5DQUtFU1dBUCIsbmFtZToiUGFuY2FrZVN3YXAgdjIgKEJOQiBjaGFpbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjgxNTY0KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJQQU5DQUtFU1dBUCIscHJvdmlkZXJJZDoicGFuY2FrZXN3YXAifSx7dmFsdWU6IlBBTkNBS0VTV0FQM0FSQklUUlVNIixuYW1lOiJQYW5jYWtlc3dhcCB2MyAoQXJiaXRydW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4NTYyOSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEFOQ0FLRVNXQVAzQVJCSVRSVU0iLHByb3ZpZGVySWQ6InBhbmNha2Vzd2FwMyJ9LHt2YWx1ZToiUEFOQ0FLRVNXQVAzQkFTRSIsbmFtZToiUGFuY2FrZXN3YXAgdjMgKEJhc2UpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUyMDkxNSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEFOQ0FLRVNXQVAzQkFTRSIscHJvdmlkZXJJZDoicGFuY2FrZXN3YXAzIn0se3ZhbHVlOiJQQU5DQUtFU1dBUDNCU0MiLG5hbWU6IlBhbmNha2VTd2FwIHYzIChCTkIgY2hhaW4pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUwMjI0KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJQQU5DQUtFU1dBUDNCU0MiLHByb3ZpZGVySWQ6InBhbmNha2Vzd2FwMyJ9LHt2YWx1ZToiUEFOQ0FLRVNXQVAzRVRIIixuYW1lOiJQYW5jYWtlU3dhcCB2MyAoRXRoZXJldW0pIiwKZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNjEzMTQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBBTkNBS0VTV0FQM0VUSCIscHJvdmlkZXJJZDoicGFuY2FrZXN3YXAzIn0se3ZhbHVlOiJQQU5DQUtFU1dBUDNaS1NZTkMiLG5hbWU6IlBhbmNha2Vzd2FwIHYzICh6a1N5bmMpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMDM0MCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEFOQ0FLRVNXQVAzWktTWU5DIixwcm92aWRlcklkOiJwYW5jYWtlc3dhcDMifSx7dmFsdWU6IkNVUlZFIixuYW1lOiJDdXJ2ZSAoRXRoZXJldW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQwOTAyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDVVJWRSIscHJvdmlkZXJJZDoiY3VydmUifSx7dmFsdWU6IkNVUlZFQVJCSVRSVU0iLG5hbWU6IkN1cnZlIChBcmJpdHJ1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTA0MzMxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDVVJWRUFSQklUUlVNIixwcm92aWRlcklkOiJjdXJ2ZSJ9LHt2YWx1ZToiUElPTkVYIixuYW1lOiJQaW9uZXgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjc0NjcwKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJQSU9ORVgiLHByb3ZpZGVySWQ6InBpb25leCJ9LHt2YWx1ZToiUFVMU0VYMiIsbmFtZToiUHVsc2VYIHYyIChQdWxzZWNoYWluKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5Nzk3NTkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBVTFNFWDIiLHByb3ZpZGVySWQ6InB1bHNleCJ9LHt2YWx1ZToiUFlUSCIsbmFtZToiUHl0aCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MDgxNjApKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBZVEgiLHByb3ZpZGVySWQ6InB5dGgifSx7dmFsdWU6IlJBTVNFUzIiLG5hbWU6IlJhbXNlcyB2MiAoQXJiaXRydW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUyODA0OCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUkFNU0VTMiIscHJvdmlkZXJJZDoicmFtc2VzMiJ9LHt2YWx1ZToiUkFZRElVTSIsbmFtZToiUmF5ZGl1bSAoU29sYW5hKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NjU2MTEpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlJBWURJVU0iLHByb3ZpZGVySWQ6InJheWRpdW0ifSx7dmFsdWU6IlJBWURJVU1DTE1NIixuYW1lOiJSYXlkaXVtIENMTU0gKFNvbGFuYSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzQzNzkxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJSQVlESVVNQ0xNTSIscHJvdmlkZXJJZDoicmF5ZGl1bWNsbW0ifSx7dmFsdWU6IlJBWURJVU1DUE1NIixuYW1lOiJSYXlkaXVtIENQTU0gKFNvbGFuYSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODA4OTcyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJSQVlESVVNQ1BNTSIscHJvdmlkZXJJZDoicmF5ZGl1bWNwbW0ifSx7dmFsdWU6IlNUT05GSSIsbmFtZToiU1RPTi5maSAoVE9OKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NzI5MDkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlNUT05GSSIscHJvdmlkZXJJZDoic3RvbmZpIn0se3ZhbHVlOiJTVE9ORkkyIixuYW1lOiJTVE9OLmZpIHYyIChUT04pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4NDQ5NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiU1RPTkZJMiIscHJvdmlkZXJJZDoic3RvbmZpIn0se3ZhbHVlOiJTVU5TV0FQMiIsbmFtZToiU3VuU3dhcCB2MiAoVFJPTikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDMxNTE2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJTVU5TV0FQMiIscHJvdmlkZXJJZDoic3Vuc3dhcCJ9LHt2YWx1ZToiV0hJVEVCSVQiLG5hbWU6IldoaXRlQklUIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDczMjQ0NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiV0hJVEVCSVQiLHByb3ZpZGVySWQ6IndoaXRlYml0In0se3ZhbHVlOiJXT09ORVRXT1JLIixuYW1lOiJXT08gWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjUyNjApKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IldPT05FVFdPUksiLHByb3ZpZGVySWQ6Indvb25ldHdvcmsifSx7dmFsdWU6IlZPTE1FWCIsbmFtZToiVm9sbWV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzMzA3NykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVk9MTUVYIixwcm92aWRlcklkOiJ2b2xtZXgifSx7dmFsdWU6IlpLU1dBUCIsbmFtZToiemtTd2FwICh6a1N5bmMpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMxODIzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJaS1NXQVAiLHByb3ZpZGVySWQ6Inprc3dhcCJ9LHt2YWx1ZToiWk9PTUVYIixuYW1lOiJab29tZXgiLApkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU3MDQwMykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiWk9PTUVYIixwcm92aWRlcklkOiJ6b29tZXgifSx7dmFsdWU6IkFEWCIsbmFtZToiQURYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3NDE1MikpLGZsYWc6ImFlIixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6ImFlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNjMxMTApKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNDkwOTEpKV19LHt2YWx1ZToiSUNFQUJVRCIsbmFtZToiSUNFQUQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzQ0MzQ1KSksZmxhZzoiYWUiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToiYWUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE2MzExMCkpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI0OTA5MSkpXX0se3ZhbHVlOiJERk0iLG5hbWU6IkRGTSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MDc0NDEpKSxmbGFnOiJhZSIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJhZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTYzMTEwKSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjQ5MDkxKSldfSx7dmFsdWU6Ik5BU0RBUURVQkFJIixuYW1lOiJOQVNEQVEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTAzNjUwKSksZmxhZzoiYWUiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToiYWUiLHByaW9yaXR5SW5Hcm91cDoxLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE2MzExMCkpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI0OTA5MSkpXX0se3ZhbHVlOiJBUVVJUyIsbmFtZToiQVFVSVMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzY5ODI4KSksZmxhZzoidWsiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InVrIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1ODc1MzMpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyODI3MykpXX0se3ZhbHVlOiJMU0UiLG5hbWU6IkxTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNDM4MDMpKSxmbGFnOiJ1ayIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToidWsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4NzUzMykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI4MjczKSldfSx7dmFsdWU6IkxNRSIsbmFtZToiTE1FIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4OTI0MykpLGZsYWc6InVrIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJ1ayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTg3NTMzKSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjgyNzMpKV19LHt2YWx1ZToiTFNJTiIsbmFtZToiTFNJTiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNDczMzcpKSxmbGFnOiJ1ayIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToidWsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4NzUzMykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI4MjczKSldfSx7dmFsdWU6IlRVUlFVT0lTRSIsbmFtZToiVHVycXVvaXNlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM2MTYzMikpLGZsYWc6InVrIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJ1ayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTg3NTMzKSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjgyNzMpKV19LHt2YWx1ZToiRlRTRSIsbmFtZToiRlRTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNzkyNTcpKSxmbGFnOiJ1ayIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToidWsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4NzUzMykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI4MjczKSldfSx7dmFsdWU6IkVVUkVYIixuYW1lOiJFVVJFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5Njg1OTYpKSxmbGFnOiJldXJvcGUiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImV1Iixwcm92aWRlcklkOiIifSx7dmFsdWU6Ik1HRVgiLG5hbWU6Ik1HRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzYxNTk2KSksZmxhZzoidXNhIixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiTkFTREFRIixuYW1lOiJOQVNEQVEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzQ4NjcwKSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDoxLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJOWVNFIixuYW1lOiJOWVNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0MjQ4NCkpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcmlvcml0eUluR3JvdXA6Mixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiQU1FWCIsbmFtZToiQXJjYSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2Njg0MDMpKSxmbGFnOiJ1c2EiLApncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDozLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJPVEMiLG5hbWU6Ik9UQyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDA0MTMpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJpb3JpdHlJbkdyb3VwOjQscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkRKIixuYW1lOiJESiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MDcxNTgpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJpb3JpdHlJbkdyb3VwOjUscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IlNQIixuYW1lOiJTUCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNDgyNTUpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJpb3JpdHlJbkdyb3VwOjYscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkNCT0UiLG5hbWU6IkNCT0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTk5ODc3KSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDo3LHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJNU1RBUl9JTkRJQ0VTIixuYW1lOiJNU1RBUiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1MTI3NCkpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiRklOUkFCVERTIixuYW1lOiJGSU5SQSBCVERTIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI0MjgyNikpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiT1BSQSIsbmFtZToiT1BSQSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1OTQxNzApKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkZJTlJBQVREUyIsbmFtZToiRklOUkEgQVREUyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4OTU1MTYpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkNCT0VFVSIsbmFtZToiQ0JPRSBFVSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzODg4NTYpKSxmbGFnOiJldXJvcGUiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImV1Iixwcm92aWRlcklkOiIifSx7dmFsdWU6IkNCT1QiLG5hbWU6IkNCT1QiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTAyNzIxKSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDo4LHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJDTUUiLG5hbWU6IkNNRSBHTE9CRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzcxNjY1KSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDo5LHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJDT01FWCIsbmFtZToiQ09NRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjkzOTg2KSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDoxMCxwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiTllNRVgiLG5hbWU6Ik5ZTUVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY4MTYxNykpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcmlvcml0eUluR3JvdXA6MTEscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IklDRVVTIixuYW1lOiJJQ0VVUyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1Mjg4MTApKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJpb3JpdHlJbkdyb3VwOjEyLHByb3ZpZGVySWQ6IiIsCnNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiSUNFVVNDQSIsbmFtZToiSUNFVVNDQSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NDU2MTYpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkNTRSIsbmFtZToiQ1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI5MzkzMykpLGZsYWc6ImNhbmFkYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6ImNhIixwcmlvcml0eUluR3JvdXA6MTMscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTUxODkpKV19LHt2YWx1ZToiQ0JPRV9DQU5BREEiLG5hbWU6IkNib2UgQ2FuYWRhIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0NTAxOCkpLGZsYWc6ImNhbmFkYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6ImNhIixwcmlvcml0eUluR3JvdXA6MTQscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTUxODkpKV19LHt2YWx1ZToiVFNYIixuYW1lOiJUU1giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODk1MjQ2KSksZmxhZzoiY2FuYWRhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToiY2EiLHByaW9yaXR5SW5Hcm91cDoxNSxwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNTE4OSkpXX0se3ZhbHVlOiJUU1hWIixuYW1lOiJUU1hWIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE4MzUyNCkpLGZsYWc6ImNhbmFkYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6ImNhIixwcmlvcml0eUluR3JvdXA6MTYscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTUxODkpKV19LHt2YWx1ZToiVE1YIixuYW1lOiJUTVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjg1NDg0KSksZmxhZzoiY2FuYWRhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToiY2EiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE1MTg5KSldfSx7dmFsdWU6IlJVUyIsbmFtZToiUlVTIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEyNzMzNikpLGZsYWc6InJ1c3NpYSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToicnUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM5MDU5OCkpXX0se3ZhbHVlOiJNWVgiLG5hbWU6Ik1ZWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NjUwNjgpKSxmbGFnOiJtYWxheXNpYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJteSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjI3OTY3KSldfSx7dmFsdWU6IkZUU0VNWVgiLG5hbWU6IkZUU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODU1NDc5KSksZmxhZzoibWFsYXlzaWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToibXkiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDYyNzk2NykpXX0se3ZhbHVlOiJIT1NFIixuYW1lOiJIT1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI4OTU2OSkpLGZsYWc6InZpZXRuYW0iLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToidm4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1MjIxKSldfSx7dmFsdWU6IkhOWCIsbmFtZToiSE5YIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEwNTg1NSkpLGZsYWc6InZpZXRuYW0iLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToidm4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1MjIxKSldfSx7dmFsdWU6IlVQQ09NIixuYW1lOiJITlggVVBDb00iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTkxNDUpKSxmbGFnOiJ2aWV0bmFtIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6InZuIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NTIyMSkpXX0se3ZhbHVlOiJDU0VMSyIsbmFtZToiQ1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzNTY4NCkpLGZsYWc6InNyaV9sYW5rYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJsayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODA0NzY2KSldfSx7dmFsdWU6IkJJVFNUQU1QIixuYW1lOiJCaXRzdGFtcCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDY2NjYpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJVFNUQU1QIixwcm92aWRlcklkOiJiaXRzdGFtcCJ9LHt2YWx1ZToiQUNUSVZUUkFERVMiLG5hbWU6IkFjdGl2VHJhZGVzIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ4NzY5KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQUNUSVZUUkFERVMiLHByb3ZpZGVySWQ6ImFjdGl2dHJhZGVzIn0se3ZhbHVlOiJCMlBSSU1FIixuYW1lOiJCMlBSSU1FIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0ODczNCkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IkIyUFJJTUUiLHByb3ZpZGVySWQ6ImIycHJpbWUifSx7dmFsdWU6IkJMQUNLQlVMTCIsbmFtZToiQmxhY2tCdWxsIE1hcmtldHMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTEyODQxKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsCmNvdW50cnk6IiIsc291cmNlSWQ6IkJMQUNLQlVMTCIscHJvdmlkZXJJZDoiYmxhY2tidWxsbWFya2V0cyJ9LHt2YWx1ZToiQkxVRUJFUlJZIixuYW1lOiJCbHVlYmVycnkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTAyNDMzKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQkxVRUJFUlJZIixwcm92aWRlcklkOiJibHVlYmVycnkifSx7dmFsdWU6IkNNQ01BUktFVFMiLG5hbWU6IkNNQyBNYXJrZXRzIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ5NzExMCkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IkNNQ01BUktFVFMiLHByb3ZpZGVySWQ6ImNtY21hcmtldHMifSx7dmFsdWU6IkNYTSIsbmFtZToiQ1hNIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ1NDk3KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQ1hNIixwcm92aWRlcklkOiJjeG0ifSx7dmFsdWU6IkRBUldJTkVYIixuYW1lOiJEYXJ3aW5leCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxMzU5NjUpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJEQVJXSU5FWCIscHJvdmlkZXJJZDoiZGFyd2luZXgifSx7dmFsdWU6IkRFUklWIixuYW1lOiJEZXJpdiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDI4NjkpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERVJJViIscHJvdmlkZXJJZDoiZGVyaXYifSx7dmFsdWU6IkZQTUFSS0VUUyIsbmFtZToiRlAgTWFya2V0cyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2ODU2MDYpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJGUE1BUktFVFMiLHByb3ZpZGVySWQ6ImZwbWFya2V0cyJ9LHt2YWx1ZToiRlVTSU9OTUFSS0VUUyIsbmFtZToiRnVzaW9uIE1hcmtldHMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTIwMzE5KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiRlVTSU9OTUFSS0VUUyIscHJvdmlkZXJJZDoiZnVzaW9ubWFya2V0cyJ9LHt2YWx1ZToiR09NQVJLRVRTIixuYW1lOiJHTyBNYXJrZXRzIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU0OTc4MSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IkdPTUFSS0VUUyIscHJvdmlkZXJJZDoiZ29tYXJrZXRzIn0se3ZhbHVlOiJJRyIsbmFtZToiSUciLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTU2OTY0KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiSUciLHByb3ZpZGVySWQ6ImlnIn0se3ZhbHVlOiJUQVNUWUZYIixuYW1lOiJ0YXN0eWZ4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc2NDMyMSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoidGFzdHlmeCJ9LHt2YWx1ZToiVEhJTktNQVJLRVRTIixuYW1lOiJUaGlua01hcmtldHMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTE5MTkyKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiVEhJTktNQVJLRVRTIixwcm92aWRlcklkOiJ0aGlua21hcmtldHMifSx7dmFsdWU6IlRJQ0tNSUxMIixuYW1lOiJUaWNrbWlsbCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5OTgwNDQpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJUSUNLTUlMTCIscHJvdmlkZXJJZDoidGlja21pbGwifSx7dmFsdWU6IlRSQURFTkFUSU9OIixuYW1lOiJUcmFkZSBOYXRpb24iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODAwMDA1KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiVFJBREVOQVRJT04iLHByb3ZpZGVySWQ6InRyYWRlbmF0aW9uIn0se3ZhbHVlOiJUUklWRSIsbmFtZToiVHJpdmUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTY1NDY1KSksZmxhZzoiRm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiVFJJVkUiLHByb3ZpZGVySWQ6InRyaXZlIn0se3ZhbHVlOiJWQU5UQUdFIixuYW1lOiJWYW50YWdlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2MjUxNykpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IlZBTlRBR0UiLHByb3ZpZGVySWQ6InZhbnRhZ2VmeCJ9LHt2YWx1ZToiVkVMT0NJVFkiLG5hbWU6IlZlbG9jaXR5IFRyYWRlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY4MDc5KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJ2ZWxvY2l0eXRyYWRlIn0se3ZhbHVlOiJGWCIsbmFtZToiRlhDTSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5OTI3MjYpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6ImZ4Y20ifSx7dmFsdWU6IkZYUFJPIixuYW1lOiJGeFBybyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNjE0MDApKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJGWFBSTyIscHJvdmlkZXJJZDoiZnhwcm8ifSx7dmFsdWU6IkZYVEYiLG5hbWU6IkZYVEYiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE0MTE1KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiRlhURiIscHJvdmlkZXJJZDoiZnh0ZiJ9LHt2YWx1ZToiRUlHSFRDQVAiLG5hbWU6IkVpZ2h0Y2FwIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ1OTQ1OSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IkVJR0hUQ0FQIixwcm92aWRlcklkOiJlaWdodGNhcCJ9LHt2YWx1ZToiRVJSQU5URSIsbmFtZToiRXJyYW50ZSIsCmRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjM2ODgpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJFUlJBTlRFIixwcm92aWRlcklkOiJlcnJhbnRlIn0se3ZhbHVlOiJFU0FGWCIsbmFtZToiRXNhRlgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTA4ODQ2KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJlc2FmeCJ9LHt2YWx1ZToiT1NNQU5MSUZYIixuYW1lOiJPc21hbmxpIEZYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQzOTU0OSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoib3NtYW5saWZ4In0se3ZhbHVlOiJCVENFIixuYW1lOiJCVEMtZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzI1NzQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiIiLHByb3ZpZGVySWQ6IiJ9LHt2YWx1ZToiSE9ORVlTV0FQIixuYW1lOiJIb25leXN3YXAgdjIgKEdub3NpcykiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDA2NzMpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkhPTkVZU1dBUCIscHJvdmlkZXJJZDoiaG9uZXlzd2FwIn0se3ZhbHVlOiJIWVBFUkxJUVVJRCIsbmFtZToiSHlwZXJsaXF1aWQgKEh5cGVybGlxdWlkKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMzIzMDEpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkhZUEVSTElRVUlEIixwcm92aWRlcklkOiJoeXBlcmxpcXVpZCJ9LHt2YWx1ZToiSElQM1hZWiIsbmFtZToiSHlwZXJsaXF1aWQgKFhZWiBISVAtMykiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjMyMzAzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJISVAzWFlaIixwcm92aWRlcklkOiJoeXBlcmxpcXVpZCJ9LHt2YWx1ZToiSElQM1BBUkEiLG5hbWU6Ikh5cGVybGlxdWlkIChQQVJBIEhJUC0zKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MzQxODUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkhJUDNQQVJBIixwcm92aWRlcklkOiJoeXBlcmxpcXVpZCJ9LHt2YWx1ZToiQlNFIixuYW1lOiJCU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQ1NzYwKSksZmxhZzoiaW5kaWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiaW4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MjUyMCkpXX0se3ZhbHVlOiJNU0VJIixuYW1lOiJNU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzE5ODY0KSksZmxhZzoiaW5kaWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiaW4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MjUyMCkpXX0se3ZhbHVlOiJOWU1FWF9NSU5JIixuYW1lOiJOWU1FWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2ODE2MTcpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsY291bnRyeToidXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJDT01FWF9NSU5JIixuYW1lOiJDT01FWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyOTM5ODYpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsY291bnRyeToidXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJJQ0VFTkRFWCIsbmFtZToiSUNFRU5ERVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjE5ODMzKSksZmxhZzoiZXVyb3BlIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJJQ0VFVVJGSU4iLG5hbWU6IklDRUVVUiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NzU1NTgpKSxmbGFnOiJldXJvcGUiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImV1Iixwcm92aWRlcklkOiIifSx7dmFsdWU6IklDRUVVUkNPTU0iLG5hbWU6IklDRUVVUiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2NTU1MjcpKSxmbGFnOiJldXJvcGUiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImV1Iixwcm92aWRlcklkOiIifSx7dmFsdWU6Ik5TRSIsbmFtZToiTlNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4MDcxKSksZmxhZzoiaW5kaWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiaW4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MjUyMCkpXX0se3ZhbHVlOiJNQ1giLG5hbWU6Ik1DWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1MDI3OCkpLGZsYWc6ImluZGlhIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImluIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNzI1MjApKV19LHt2YWx1ZToiTkNERVgiLG5hbWU6Ik5DREVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU0MTI1NSkpLGZsYWc6ImluZGlhIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImluIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNzI1MjApKV19LHt2YWx1ZToiS0NCVCIsbmFtZToiS0NCVCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNTgxOTQpKSxmbGFnOiJ1c2EiLApoaWRlSW5TeW1ib2xTZWFyY2g6ITAsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiQ0JPVF9NSU5JIixuYW1lOiJDQk9UIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUwMjcyMSkpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IktSQUtFTiIsbmFtZToiS3Jha2VuIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE5MDEyMykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiS1JBS0VOIixwcm92aWRlcklkOiJrcmFrZW4ifSx7dmFsdWU6IktVQ09JTiIsbmFtZToiS3VDb2luIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQwODQwOCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiS1VDT0lOIixwcm92aWRlcklkOiJrdWNvaW4ifSx7dmFsdWU6IkxVTkFSQ1JVU0giLG5hbWU6Ikx1bmFyQ3J1c2giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzIzODk0KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJMVU5BUkNSVVNIIixwcm92aWRlcklkOiJsdW5hcmNydXNoIn0se3ZhbHVlOiJYRVhDSEFOR0UiLG5hbWU6InhFeGNoYW5nZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDM0OTkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlhFWENIQU5HRSIscHJvdmlkZXJJZDoieGV4Y2hhbmdlIn0se3ZhbHVlOiJYVENPTSIsbmFtZToiWFQuY29tIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY4NjExNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiWFRDT00iLHByb3ZpZGVySWQ6Inh0Y29tIn0se3ZhbHVlOiJDTUVfTUlOSSIsbmFtZToiQ01FIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MTY2NSkpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkRKIixuYW1lOiJESiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMjI0NzEpKSxmbGFnOiJ1c2EiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJTUCIsbmFtZToiU1AiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTQxOTgpKSxmbGFnOiJ1c2EiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJCVENDSElOQSIsbmFtZToiQlRDIENoaW5hIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ0NzIyNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJBTlgiLG5hbWU6IkFOWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyOTk5NykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJNRVhCVCIsbmFtZToibWVYQlQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzQ1MTUzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5IixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsY291bnRyeToiIixwcm92aWRlcklkOiIifSx7dmFsdWU6IkdFTUlOSSIsbmFtZToiR2VtaW5pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUxODMxMikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiR0VNSU5JIixwcm92aWRlcklkOiJnZW1pbmkifSx7dmFsdWU6IkJJVFZDIixuYW1lOiJCaXRWQyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDYwMjcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiIiLHByb3ZpZGVySWQ6IiJ9LHt2YWx1ZToiQklUWUVTIixuYW1lOiJCaXRZZXMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE1NDEpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiIiLHByb3ZpZGVySWQ6IiJ9LHt2YWx1ZToiQklURkxZRVIiLG5hbWU6ImJpdEZseWVyIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI1MTk0OCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklURkxZRVIiLHByb3ZpZGVySWQ6ImJpdGZseWVyIn0se3ZhbHVlOiJCWUJJVCIsbmFtZToiQnliaXQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzE4OTY3KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLApzb3VyY2VJZDoiQllCSVQiLHByb3ZpZGVySWQ6ImJ5Yml0In0se3ZhbHVlOiJCWURGSSIsbmFtZToiQllERmkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE0OTExKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCWURGSSIscHJvdmlkZXJJZDoiYnlkZmkifSx7dmFsdWU6IkJJVE1FWCIsbmFtZToiQml0TUVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE1NTc2NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklUTUVYIixwcm92aWRlcklkOiJiaXRtZXgifSx7dmFsdWU6IkNBUElUQUxDT00iLG5hbWU6IkNhcGl0YWwuY29tIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgwNzc2KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQ0FQSVRBTENPTSIscHJvdmlkZXJJZDoiY2FwaXRhbGNvbSJ9LHt2YWx1ZToiQ0ZJIixuYW1lOiJDRkkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTE1NzM4KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQ0ZJIixwcm92aWRlcklkOiJjZmlmaW5hbmNpYWwifSx7dmFsdWU6IkNPSU5FWCIsbmFtZToiQ29pbkV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg2OTE1MikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ09JTkVYIixwcm92aWRlcklkOiJjb2luZXgifSx7dmFsdWU6IkNPSU5KQVIiLG5hbWU6IkNvaW5KYXIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzAzNzQ4KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDT0lOSkFSIixwcm92aWRlcklkOiJjb2luamFyIn0se3ZhbHVlOiJDT0lOVyIsbmFtZToiQ29pblciLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzkzMDk2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDT0lOVyIscHJvdmlkZXJJZDoiY29pbncifSx7dmFsdWU6IkNPSU5TV0lUQ0giLG5hbWU6IkNvaW5Td2l0Y2giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzM4ODI5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDT0lOU1dJVENIIixwcm92aWRlcklkOiJjb2luc3dpdGNoIn0se3ZhbHVlOiJFQVNZTUFSS0VUUyIsbmFtZToiZWFzeU1hcmtldHMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDI0MzM0KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiRUFTWU1BUktFVFMiLHByb3ZpZGVySWQ6ImVhc3ltYXJrZXRzIn0se3ZhbHVlOiJGT1JFWENPTSIsbmFtZToiRk9SRVguY29tIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3MjQ0MikpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiZ2FpbiJ9LHt2YWx1ZToiRlhfSURDIixuYW1lOiJJQ0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDAzNDMwKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJpY2UifSx7dmFsdWU6IklCS1IiLG5hbWU6IkludGVyYWN0aXZlIEJyb2tlcnMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQyNDYpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJJQktSIixwcm92aWRlcklkOiJpYmtyIn0se3ZhbHVlOiJJQlJPS0VSIixuYW1lOiJpQnJva2VyIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY1MzU3MCkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IklCUk9LRVIiLHByb3ZpZGVySWQ6Imlicm9rZXIifSx7dmFsdWU6IklDTUFSS0VUUyIsbmFtZToiSUMgTWFya2V0cyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MDkyMTIpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJJQ01BUktFVFMiLHByb3ZpZGVySWQ6ImljbWFya2V0cyJ9LHt2YWx1ZToiQklURklORVgiLG5hbWU6IkJpdGZpbmV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc1ODAyMikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklURklORVgiLHByb3ZpZGVySWQ6ImJpdGZpbmV4In0se3ZhbHVlOiJNVEdPWCIsbmFtZToiTXQuR294IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzMjg4OCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGNvdW50cnk6IiIsc291cmNlSWQ6Ik1UR09YIixwcm92aWRlcklkOiJtdGdveCJ9LHt2YWx1ZToiUEhBUkFPSCIsbmFtZToiUGhhcmFvaCAoQXZhbGFuY2hlKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MzM1MzkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBIQVJBT0giLHByb3ZpZGVySWQ6InBoYXJhb2gifSx7dmFsdWU6IlBIRU1FWCIsbmFtZToiUGhlbWV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDcwNTMyMikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEhFTUVYIixwcm92aWRlcklkOiJwaGVtZXgifSx7dmFsdWU6IlBPTE9OSUVYIixuYW1lOiJQb2xvbmlleCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDMyMzUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBPTE9OSUVYIixwcm92aWRlcklkOiJwb2xvbmlleCJ9LHt2YWx1ZToiUFVMU0VYIixuYW1lOiJQdWxzZXggKFB1bHNlY2hhaW4pIiwKZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MzkzMDcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBVTFNFWCIscHJvdmlkZXJJZDoicHVsc2V4In0se3ZhbHVlOiJRVUlDS1NXQVAiLG5hbWU6IlF1aWNrU3dhcCB2MiAoUG9seWdvbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDkyMjgxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJRVUlDS1NXQVAiLHByb3ZpZGVySWQ6InF1aWNrc3dhcCJ9LHt2YWx1ZToiUVVJQ0tTV0FQM1BPTFlHT05aS0VWTSIsbmFtZToiUXVpY2tTd2FwIHYzIChQb2x5Z29uIHprRVZNKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NzMzOTUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlFVSUNLU1dBUDNQT0xZR09OWktFVk0iLHByb3ZpZGVySWQ6InF1aWNrc3dhcDMifSx7dmFsdWU6IlFVSUNLU1dBUDNQT0xZR09OIixuYW1lOiJRdWlja1N3YXAgdjMgKFBvbHlnb24pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU5NjU0MikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUVVJQ0tTV0FQM1BPTFlHT04iLHByb3ZpZGVySWQ6InF1aWNrc3dhcDMifSx7dmFsdWU6IlNVU0hJU1dBUCIsbmFtZToiU3VzaGlTd2FwIHYyIChFdGhlcmV1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTAzNSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiU1VTSElTV0FQIixwcm92aWRlcklkOiJzdXNoaXN3YXAifSx7dmFsdWU6IlNVU0hJU1dBUFBPTFlHT04iLG5hbWU6IlN1c2hpU3dhcCB2MiAoUG9seWdvbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzI0NzA5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJTVVNISVNXQVBQT0xZR09OIixwcm92aWRlcklkOiJzdXNoaXN3YXAifSx7dmFsdWU6IlNZTkNTV0FQIixuYW1lOiJTeW5jU3dhcCAoemtTeW5jKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNDk5ODMpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlNZTkNTV0FQIixwcm92aWRlcklkOiJzeW5jc3dhcCJ9LHt2YWx1ZToiU1lOQ1NXQVAyIixuYW1lOiJTeW5jU3dhcCB2MiAoemtTeW5jKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNjExMykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiU1lOQ1NXQVAyIixwcm92aWRlcklkOiJzeW5jc3dhcDIifSx7dmFsdWU6IlRPT0JJVCIsbmFtZToiVG9vYml0IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQxNjE5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJUT09CSVQiLHByb3ZpZGVySWQ6InRvb2JpdCJ9LHt2YWx1ZToiVFJBREVSSk9FIixuYW1lOiJUcmFkZXIgSm9lIHYyIChBdmFsYW5jaGUpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE1MDI0MikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVFJBREVSSk9FIixwcm92aWRlcklkOiJ0cmFkZXJqb2UifSx7dmFsdWU6IlRVUkJPU0ZJTkFOQ0UiLG5hbWU6IlR1cmJvcyBGaW5hbmNlIChTdWkpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE0OTE4MSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVFVSQk9TRklOQU5DRSIscHJvdmlkZXJJZDoidHVyYm9zZmluYW5jZSJ9LHt2YWx1ZToiVU5JU1dBUCIsbmFtZToiVW5pc3dhcCB2MiAoRXRoZXJldW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM2NTk0NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUCIscHJvdmlkZXJJZDoidW5pc3dhcCJ9LHt2YWx1ZToiVU5JU1dBUEJBU0UiLG5hbWU6IlVuaXN3YXAgdjIgKEJhc2UpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDcwMzkyOSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUEJBU0UiLHByb3ZpZGVySWQ6InVuaXN3YXAifSx7dmFsdWU6IlVOSVNXQVAzRVRIIixuYW1lOiJVbmlzd2FwIHYzIChFdGhlcmV1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjgyNTA1KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQM0VUSCIscHJvdmlkZXJJZDoidW5pc3dhcDMifSx7dmFsdWU6IlVOSVNXQVAzUE9MWUdPTiIsbmFtZToiVW5pc3dhcCB2MyAoUG9seWdvbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzgzNzc1KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQM1BPTFlHT04iLHByb3ZpZGVySWQ6InVuaXN3YXAzIn0se3ZhbHVlOiJVTklTV0FQM0FSQklUUlVNIixuYW1lOiJVbmlzd2FwIHYzIChBcmJpdHJ1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTkxOTcwKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQM0FSQklUUlVNIixwcm92aWRlcklkOiJ1bmlzd2FwMyJ9LHt2YWx1ZToiVU5JU1dBUDNPUFRJTUlTTSIsbmFtZToiVW5pc3dhcCB2MyAoT3B0aW1pc20pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg0Mzc4NCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUDNPUFRJTUlTTSIsCnByb3ZpZGVySWQ6InVuaXN3YXAzIn0se3ZhbHVlOiJVTklTV0FQM0JTQyIsbmFtZToiVW5pc3dhcCB2MyAoQk5CIGNoYWluKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MDA2OTcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlVOSVNXQVAzQlNDIixwcm92aWRlcklkOiJ1bmlzd2FwMyJ9LHt2YWx1ZToiVU5JU1dBUDNCQVNFIixuYW1lOiJVbmlzd2FwIHYzIChCYXNlKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5OTYyNjUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlVOSVNXQVAzQkFTRSIscHJvdmlkZXJJZDoidW5pc3dhcDMifSx7dmFsdWU6IlVOSVNXQVAzQVZBTEFOQ0hFIixuYW1lOiJVbmlzd2FwIHYzIChBdmFsYW5jaGUpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4MTUxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQM0FWQUxBTkNIRSIscHJvdmlkZXJJZDoidW5pc3dhcDMifSx7dmFsdWU6IlVOSVNXQVA0RVRIIixuYW1lOiJVbmlzd2FwIHY0IChFdGhlcmV1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzA4NjgyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQNEVUSCIscHJvdmlkZXJJZDoidW5pc3dhcDQifSx7dmFsdWU6IlVOSVNXQVA0QlNDIixuYW1lOiJVbmlzd2FwIHY0IChCTkIgY2hhaW4pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI0NTE2MikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUDRCU0MiLHByb3ZpZGVySWQ6InVuaXN3YXA0In0se3ZhbHVlOiJVTklTV0FQNEJBU0UiLG5hbWU6IlVuaXN3YXAgdjQgKEJhc2UpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3Mjg0KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQNEJBU0UiLHByb3ZpZGVySWQ6InVuaXN3YXA0In0se3ZhbHVlOiJVTklTV0FQNEFSQklUUlVNIixuYW1lOiJVbmlzd2FwIHY0IChBcmJpdHJ1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzU3NTkzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQNEFSQklUUlVNIixwcm92aWRlcklkOiJ1bmlzd2FwNCJ9LHt2YWx1ZToiVU5JU1dBUDRQT0xZR09OIixuYW1lOiJVbmlzd2FwIHY0IChQb2x5Z29uKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3ODQxMjIpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlVOSVNXQVA0UE9MWUdPTiIscHJvdmlkZXJJZDoidW5pc3dhcDQifSx7dmFsdWU6IlVOSVNXQVA0QVZBTEFOQ0hFIixuYW1lOiJVbmlzd2FwIHY0IChBdmFsYW5jaGUpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDExMTMwMCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUDRBVkFMQU5DSEUiLHByb3ZpZGVySWQ6InVuaXN3YXA0In0se3ZhbHVlOiJVTklTV0FQNFVOSUNIQUlOIixuYW1lOiJVbmlzd2FwIHY0IChVbmljaGFpbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjg5MzE3KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQNFVOSUNIQUlOIixwcm92aWRlcklkOiJ1bmlzd2FwNCJ9LHt2YWx1ZToiVU5JU1dBUDRPUFRJTUlTTSIsbmFtZToiVW5pc3dhcCB2NCAoT3B0aW1pc20pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ3MDQ4MykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUDRPUFRJTUlTTSIscHJvdmlkZXJJZDoidW5pc3dhcDQifSx7dmFsdWU6IlVQQklUIixuYW1lOiJVcEJpdCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxOTM4MTgpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlVQQklUIixwcm92aWRlcklkOiJ1cGJpdCJ9LHt2YWx1ZToiQU5UQVJDVElDIixuYW1lOiJBbnRhcmN0aWMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzQ2ODcyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJBTlRBUkNUSUMiLHByb3ZpZGVySWQ6ImFudGFyY3RpYyJ9LHt2YWx1ZToiQklOR1giLG5hbWU6IkJpbmdYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ4NzUzNikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklOR1giLHByb3ZpZGVySWQ6ImJpbmd4In0se3ZhbHVlOiJCVFNFIixuYW1lOiJCVFNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgxMTE3NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQlRTRSIscHJvdmlkZXJJZDoiYnRzZSJ9LHt2YWx1ZToiQklUVFJFWCIsbmFtZToiQml0dHJleCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MDg0NTUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJVFRSRVgiLHByb3ZpZGVySWQ6ImJpdHRyZXgifSx7dmFsdWU6IkJJVFZBVk8iLG5hbWU6IkJpdHZhdm8iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzIwODM5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVRWQVZPIixwcm92aWRlcklkOiJiaXR2YXZvIn0se3ZhbHVlOiJCSVRVTklYIixuYW1lOiJCaXR1bml4IiwKZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1Mjg1NzMpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJVFVOSVgiLHByb3ZpZGVySWQ6ImJpdHVuaXgifSx7dmFsdWU6IkJJTkFOQ0UiLG5hbWU6IkJpbmFuY2UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjA1ZTMpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJTkFOQ0UiLHByb3ZpZGVySWQ6ImJpbmFuY2UifSx7dmFsdWU6IkJJVEdFVCIsbmFtZToiQml0Z2V0IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzNjYwOSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklUR0VUIixwcm92aWRlcklkOiJiaXRnZXQifSx7dmFsdWU6IkJJTkFOQ0VVUyIsbmFtZToiQmluYW5jZS5VUyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMTE2NzkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJTkFOQ0VVUyIscHJvdmlkZXJJZDoiYmluYW5jZSJ9LHt2YWx1ZToiREVMVEFJTiIsbmFtZToiRGVsdGEgRXhjaGFuZ2UgSW5kaWEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTc2NTQ4KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERUxUQUlOIixwcm92aWRlcklkOiJkZWx0YWluIn0se3ZhbHVlOiJCTE9GSU4iLG5hbWU6IkJsb0ZpbiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDI5ODcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJMT0ZJTiIscHJvdmlkZXJJZDoiYmxvZmluIn0se3ZhbHVlOiJCTEFDS0hPTEUzIixuYW1lOiJCbGFja2hvbGUgdjMgKEF2YWxhbmNoZSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjgzMjg3KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCTEFDS0hPTEUzIixwcm92aWRlcklkOiJibGFja2hvbGUzIn0se3ZhbHVlOiJCTFVFRklOIixuYW1lOiJCbHVlZmluIChTdWkpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMxNTQyNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQkxVRUZJTiIscHJvdmlkZXJJZDoiYmx1ZWZpbiJ9LHt2YWx1ZToiQk5DIixuYW1lOiJCcmF2ZSBOZXcgQ29pbiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzkxNTkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJOQyIscHJvdmlkZXJJZDoiYm5jIn0se3ZhbHVlOiJCVENDIixuYW1lOiJCVENDIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY5NDMxNikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQlRDQyIscHJvdmlkZXJJZDoiYnRjYyJ9LHt2YWx1ZToiS0FUQU5BIixuYW1lOiJLYXRhbmEgKFJvbmluKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5ODA3MzkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IktBVEFOQSIscHJvdmlkZXJJZDoia2F0YW5hIn0se3ZhbHVlOiJLQVRBTkEzIixuYW1lOiJLYXRhbmEgdjMgKFJvbmluKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNTc2MDUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IktBVEFOQTMiLHByb3ZpZGVySWQ6ImthdGFuYTMifSx7dmFsdWU6IktDRVgiLG5hbWU6IktDRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDk4ODk2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJLQ0VYIixwcm92aWRlcklkOiJrY2V4In0se3ZhbHVlOiJDQU1FTE9UIixuYW1lOiJDYW1lbG90IHYyIChBcmJpdHJ1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODg0MTYzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDQU1FTE9UIixwcm92aWRlcklkOiJjYW1lbG90MiJ9LHt2YWx1ZToiQ0FNRUxPVDNBUkJJVFJVTSIsbmFtZToiQ2FtZWxvdCB2MyAoQXJiaXRydW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY3NzY4MykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ0FNRUxPVDNBUkJJVFJVTSIscHJvdmlkZXJJZDoiY2FtZWxvdDMifSx7dmFsdWU6IkNPSU5ERVNLIixuYW1lOiJDb2luRGVzayBJbmRpY2VzIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ1ODc4MykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ09JTkRFU0siLHByb3ZpZGVySWQ6ImNvaW5kZXNrIn0se3ZhbHVlOiJDUllQVE9DT00iLG5hbWU6IkNyeXB0by5jb20iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjI4NDQ5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDUllQVE9DT00iLHByb3ZpZGVySWQ6ImNyeXB0b2NvbSJ9LHt2YWx1ZToiVkVMT0RST01FIixuYW1lOiJWZWxvZHJvbWUgKE9wdGltaXNtKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NDQ4MjUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlZFTE9EUk9NRSIscHJvdmlkZXJJZDoidmVsb2Ryb21lIn0se3ZhbHVlOiJWRUxPRFJPTUUyIixuYW1lOiJWZWxvZHJvbWUgdjIgKE9wdGltaXNtKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NTc3MzQpKSxmbGFnOiJiaXRjb2luIiwKZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJWRUxPRFJPTUUyIixwcm92aWRlcklkOiJ2ZWxvZHJvbWUyIn0se3ZhbHVlOiJWRUxPRFJPTUVTTElQU1RSRUFNIixuYW1lOiJWZWxvZHJvbWUgU2xpcFN0cmVhbSAoT3B0aW1pc20pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzMzI1MCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVkVMT0RST01FU0xJUFNUUkVBTSIscHJvdmlkZXJJZDoidmVsb2Ryb21lc2xpcHN0cmVhbSJ9LHt2YWx1ZToiVlZTRklOQU5DRSIsbmFtZToiVlZTIEZpbmFuY2UgKENyb25vcykiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjMxMzI1KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJWVlNGSU5BTkNFIixwcm92aWRlcklkOiJ2dnNmaW5hbmNlIn0se3ZhbHVlOiJWVlMzIixuYW1lOiJWVlMgdjMgKENyb25vcykiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTk0MTc2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJWVlMzIixwcm92aWRlcklkOiJ2dnMzIn0se3ZhbHVlOiJXRUJVTExQQVkiLG5hbWU6IldlYnVsbCBQYXkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDY1ODUxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJXRUJVTExQQVkiLHByb3ZpZGVySWQ6IndlYnVsbHBheSJ9LHt2YWx1ZToiQ0VUVVMiLG5hbWU6IkNldHVzIChTdWkpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc2NDE0NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ0VUVVMiLHByb3ZpZGVySWQ6ImNldHVzIn0se3ZhbHVlOiJXRUVYIixuYW1lOiJXRUVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQzNjg3MSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiV0VFWCIscHJvdmlkZXJJZDoid2VleCJ9LHt2YWx1ZToiTU1GSU5BTkNFIixuYW1lOiJNTSBGaW5hbmNlIChDcm9ub3MpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE1MjUxNSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiTU1GSU5BTkNFIixwcm92aWRlcklkOiJtbWZpbmFuY2UifSx7dmFsdWU6IkFFUk9EUk9NRSIsbmFtZToiQWVyb2Ryb21lIChCYXNlKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMTc4NjQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkFFUk9EUk9NRSIscHJvdmlkZXJJZDoiYWVyb2Ryb21lIn0se3ZhbHVlOiJBRVJPRFJPTUVTTElQU1RSRUFNIixuYW1lOiJBZXJvZHJvbWUgU2xpcFN0cmVhbSAoQmFzZSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTI1MjEyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJBRVJPRFJPTUVTTElQU1RSRUFNIixwcm92aWRlcklkOiJhZXJvZHJvbWVzbGlwc3RyZWFtIn0se3ZhbHVlOiJCQVNFU1dBUCIsbmFtZToiQmFzZVN3YXAgKEJhc2UpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDIyMTM1OSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQkFTRVNXQVAiLHByb3ZpZGVySWQ6ImJhc2Vzd2FwIn0se3ZhbHVlOiJCQ0JBIixuYW1lOiJCWU1BIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDIwNjkwOSkpLGZsYWc6ImFyZ2VudGluYSIsZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToiYXIiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1NzU4NykpXX0se3ZhbHVlOiJNQVRCQVJPRkVYIixuYW1lOiJST0ZFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MjM0MDEpKSxmbGFnOiJhcmdlbnRpbmEiLGdyb3VwOiJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLGNvdW50cnk6ImFyIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NTc1ODcpKV19LHt2YWx1ZToiQk1GQk9WRVNQQSIsbmFtZToiQjMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDc5MzQxKSksZmxhZzoiYnJhc2lsIixncm91cDoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIixjb3VudHJ5OiJiciIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjEyOTY3KSldfSx7dmFsdWU6IkJNViIsbmFtZToiQk1WIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwOTQyNykpLGZsYWc6Im1leGljbyIsZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToibXgiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg2NTcwMCkpXX0se3ZhbHVlOiJCSVZBIixuYW1lOiJCSVZBIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4MjI0OSkpLGZsYWc6Im1leGljbyIsZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToibXgiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg2NTcwMCkpXX0se3ZhbHVlOiJCVkwiLG5hbWU6IkJWTCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNTEwNzYpKSxmbGFnOiJwZXJ1Iixncm91cDoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIixjb3VudHJ5OiJwZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODUxMTExKSldfSx7dmFsdWU6IkJDUyIsbmFtZToiU1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMyMTE3NSkpLGZsYWc6ImNoaWxlIiwKZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToiY2wiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDkwNDMzOCkpXX0se3ZhbHVlOiJCVkMiLG5hbWU6IkJWQyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxODQ2MTkpKSxmbGFnOiJjb2xvbWJpYSIsZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToiY28iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEzNTg2NykpXX0se3ZhbHVlOiJCVkNWIixuYW1lOiJCVkMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzA1OTUyKSksZmxhZzoidmVuZXp1ZWxhIixncm91cDoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIixjb3VudHJ5OiJ2ZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjQzNTAzKSldfSx7dmFsdWU6Ik5BRyIsbmFtZToiTlNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDkyMjc3MCkpLGZsYWc6ImphcGFuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImpwIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMDAwNjgpKV19LHt2YWx1ZToiVFNFIixuYW1lOiJUU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQxNzQpKSxmbGFnOiJqYXBhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJqcCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjAwMDY4KSldfSx7dmFsdWU6IlRGRVgiLG5hbWU6IlRGRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTUxNDkxKSksZmxhZzoidGhhaWxhbmQiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToidGgiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU1MzA0NCkpXX0se3ZhbHVlOiJURlgiLG5hbWU6IlRGWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NjMyNzgpKSxmbGFnOiJqYXBhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJqcCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjAwMDY4KSldfSx7dmFsdWU6IlRPQ09NIixuYW1lOiJUT0NPTSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3ODIxNjIpKSxmbGFnOiJqYXBhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJqcCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjAwMDY4KSldfSx7dmFsdWU6Ik9TRSIsbmFtZToiT1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEyNDAzNykpLGZsYWc6ImphcGFuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImpwIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMDAwNjgpKV19LHt2YWx1ZToiU0dYIixuYW1lOiJTR1giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzkzMjUpKSxmbGFnOiJzaW5nYXBvcmUiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToic2ciLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY0Mzc5NSkpXX0se3ZhbHVlOiJBQkFYWCIsbmFtZToiQWJheHgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODAzMjEwKSksZmxhZzoic2luZ2Fwb3JlIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6InNnIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2NDM3OTUpKV19LHt2YWx1ZToiSUNFU0ciLG5hbWU6IklDRSBGdXR1cmVzIFNpbmdhcG9yZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3NDQzMSkpLGZsYWc6InNpbmdhcG9yZSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJzZyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjQzNzk1KSldfSx7dmFsdWU6IkZUU0VTVCIsbmFtZToiRlRTRSBTVCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzOTIwNjcpKSxmbGFnOiJzaW5nYXBvcmUiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToic2ciLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY0Mzc5NSkpXX0se3ZhbHVlOiJTQVBTRSIsbmFtZToiU1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUyMzI5MCkpLGZsYWc6ImphcGFuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImpwIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMDAwNjgpKV19LHt2YWx1ZToiRlNFIixuYW1lOiJGU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTI3MjMwKSksZmxhZzoiamFwYW4iLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToianAiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDIwMDA2OCkpXX0se3ZhbHVlOiJUUEVYIixuYW1lOiJUUEV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3NDgxOCkpLGZsYWc6InRhaXdhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJ0dyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjczMTU3KSldfSx7dmFsdWU6IlRBSUZFWCIsbmFtZToiVEFJRkVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUyMjcwNykpLGZsYWc6InRhaXdhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJ0dyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjczMTU3KSldfSx7dmFsdWU6IlRXU0UiLG5hbWU6IlRXU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODE2MjUzKSksZmxhZzoidGFpd2FuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLApjb3VudHJ5OiJ0dyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjczMTU3KSldfSx7dmFsdWU6IlNFVCIsbmFtZToiU0VUIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU3NjM0NikpLGZsYWc6InRoYWlsYW5kIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6InRoIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NTMwNDQpKV19LHt2YWx1ZToiS1JYIixuYW1lOiJLUlgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTYxMjg5KSksZmxhZzoic291dGhfa29yZWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToia3IiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4Nzc1MikpXX0se3ZhbHVlOiJCQUhSQUlOIixuYW1lOiJCSEIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTQ0NjUpKSxmbGFnOiJiYWhyYWluIixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6ImJoIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1Nzg2NjUpKV19LHt2YWx1ZToiS1NFIixuYW1lOiJLU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzY2MDQwKSksZmxhZzoia3V3YWl0Iixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6Imt3Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzOTUxMzApKV19LHt2YWx1ZToiQ1NFQ1kiLG5hbWU6IkNTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDM4ODMpKSxmbGFnOiJjeXBydXMiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImN5Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MzQ3MzcpKV19LHt2YWx1ZToiQlZNVCIsbmFtZToiQlZNVCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NzMzNikpLGZsYWc6InR1bmlzaWEiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToidG4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY3NzU5KSldfSx7dmFsdWU6IkFUSEVYIixuYW1lOiJBVEhFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2NDExNzYpKSxmbGFnOiJncmVlY2UiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImdyIixwcm92aWRlcklkOiIifSx7dmFsdWU6IkJFTEVYIixuYW1lOiJCRUxFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxMDQyMDApKSxmbGFnOiJzZXJiaWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InJzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MTg1MjkpKV19LHt2YWx1ZToiRUdYIixuYW1lOiJFR1giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTk3MTI1KSksZmxhZzoiZWd5cHQiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToiZWciLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMzNzQzNykpXX0se3ZhbHVlOiJUQURBV1VMIixuYW1lOiJUYWRhd3VsIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY5NzY0NykpLGZsYWc6InNhdWRpX2FyYWJpYSIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJzYSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzYxNTIzKSldfSx7dmFsdWU6IkNTRU1BIixuYW1lOiJDU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzM5MDk3KSksZmxhZzoibW9yb2NjbyIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJtYSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzIxNDMzKSldfSx7dmFsdWU6IklEWCIsbmFtZToiSURYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc1MTA1OCkpLGZsYWc6ImluZG9uZXNpYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJpZCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODAyOTc1KSldfSx7dmFsdWU6IkhTSSIsbmFtZToiSFNJIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI5NTU1NSkpLGZsYWc6Imhvbmdfa29uZyIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJoayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDYzNzc5KSldfSx7dmFsdWU6IlFTRSIsbmFtZToiUVNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU5NTU1NSkpLGZsYWc6InFhdGFyIixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6InFhIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MzM3NTMpKV19LHt2YWx1ZToiT0FOREEiLG5hbWU6Ik9BTkRBIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY5NTE4NCkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6Ik9BTkRBIixwcm92aWRlcklkOiJvYW5kYSJ9LHt2YWx1ZToiT1BPRklOQU5DRSIsbmFtZToiT3BvZmluYW5jZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMzIwNzApKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJPUE9GSU5BTkNFIixwcm92aWRlcklkOiJvcG9maW5hbmNlIn0se3ZhbHVlOiJTQVhPIixuYW1lOiJTYXhvIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3MzQ3OSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IlNBWE8iLHByb3ZpZGVySWQ6InNheG9iYW5rIn0se3ZhbHVlOiJQRVBQRVJTVE9ORSIsbmFtZToiUGVwcGVyc3RvbmUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjg5NDkzKSksZmxhZzoiZm9yZXgiLApncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBFUFBFUlNUT05FIixwcm92aWRlcklkOiJwZXBwZXJzdG9uZSJ9LHt2YWx1ZToiUEhJTExJUE5PVkEiLG5hbWU6IlBoaWxsaXAgTm92YSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzIwMzYpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6InBoaWxsaXBub3ZhIn0se3ZhbHVlOiJQVVJQTEVUUkFESU5HIixuYW1lOiJQdXJwbGUgVHJhZGluZyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxMTU3OTEpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJQVVJQTEVUUkFESU5HIixwcm92aWRlcklkOiJwdXJwbGV0cmFkaW5nIn0se3ZhbHVlOiJTS0lMTElORyIsbmFtZToiU2tpbGxpbmciLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODA2OTczKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiU0tJTExJTkciLHByb3ZpZGVySWQ6InNraWxsaW5nIn0se3ZhbHVlOiJTUFJFQURFWCIsbmFtZToiU3ByZWFkZXgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjkxMjc5KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJzcHJlYWRleCJ9LHt2YWx1ZToiU1dJU1NRVU9URSIsbmFtZToiU3dpc3NxdW90ZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2NjA1MzQpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJTV0lTU1FVT1RFIixwcm92aWRlcklkOiJzd2lzc3F1b3RlIn0se3ZhbHVlOiJHQkVCUk9LRVJTIixuYW1lOiJHQkUgYnJva2VycyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyOTkxNzIpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJHQkVCUk9LRVJTIixwcm92aWRlcklkOiJnYmVicm9rZXJzIn0se3ZhbHVlOiJFVVJPTkVYVCIsbmFtZToiRXVyb25leHQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTI0NzY0KSksZmxhZzoiZXVyb3BlIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJFVVJPTkVYVEFNUyIsbmFtZToiRVVST05FWFRBTVMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDgyMDc5KSksZmxhZzoibmV0aGVybGFuZHMiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6Im5sIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MTY4NjIpKV19LHt2YWx1ZToiRVVST05FWFRCUlUiLG5hbWU6IkVVUk9ORVhUQlJVIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMzNzE1NikpLGZsYWc6ImJlbGdpdW0iLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImJlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzMyNCkpXX0se3ZhbHVlOiJFVVJPTkVYVERVQiIsbmFtZToiRVVST05FWFREVUIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTg4MzM2KSksZmxhZzoiaXJlbGFuZCIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiaWUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDcxMTUyNykpXX0se3ZhbHVlOiJFVVJPTkVYVExJUyIsbmFtZToiRVVST05FWFRMSVMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzk4MzAyKSksZmxhZzoicG9ydHVnYWwiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InB0Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzOTg5NCkpXX0se3ZhbHVlOiJFVVJPTkVYVFBBUiIsbmFtZToiRVVST05FWFRQQVIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzIyODMxKSksZmxhZzoiZnJhbmNlIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJmciIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTM2MjM4KSldfSx7dmFsdWU6Ik9TTCIsbmFtZToiRVVST05FWFRPU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTcwMTY4KSksZmxhZzoibm9yd2F5Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJubyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODQ1NTIzKSldfSx7dmFsdWU6IkVVUk9UTFgiLG5hbWU6IkVVUk9UTFgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDkyOTg1KSksZmxhZzoiaXRhbHkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6Iml0Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4OTgxNjMpKV19LHt2YWx1ZToiT01YIixuYW1lOiJPTVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzMzMzQ5KSksZmxhZzoiZXVyb3BlIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJGV0IiLG5hbWU6IkZXQiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MTA2MDEpKSxmbGFnOiJnZXJtYW55Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJkZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDY2Njk4KSldfSx7dmFsdWU6IkVFWCIsbmFtZToiRUVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk4OTI5OCkpLGZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiRlJBIixuYW1lOiJGUkEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjc3MDgwKSksZmxhZzoiZ2VybWFueSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiTFMiLG5hbWU6IkxTIiwKZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4ODA0NzEpKSxmbGFnOiJnZXJtYW55Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJkZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDY2Njk4KSldfSx7dmFsdWU6IkxTWCIsbmFtZToiTFNYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg4MDQ3MSkpLGZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiU1dCIixuYW1lOiJTV0IiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzA3OTYpKSxmbGFnOiJnZXJtYW55Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJkZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDY2Njk4KSldfSx7dmFsdWU6IlhFVFIiLG5hbWU6IlhFVFIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTYxODQ3KSksZmxhZzoiZ2VybWFueSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZGUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2NjY5OCkpXX0se3ZhbHVlOiJCTUUiLG5hbWU6IkJNRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MTE0NTYpKSxmbGFnOiJzcGFpbiIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4ODMyMSkpXX0se3ZhbHVlOiJCU1NFIixuYW1lOiJCU1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE0NzU2OSkpLGZsYWc6InNsb3Zha2lhIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJzayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjYzNDMyKSldfSx7dmFsdWU6IkJWQiIsbmFtZToiQlZCIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc2NTY5MykpLGZsYWc6InJvbWFuaWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InJvIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MDU5NDUpKV19LHt2YWx1ZToiQkVUIixuYW1lOiJCRVQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzQxMzQxKSksZmxhZzoiaHVuZ2FyeSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiaHUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY2MTM2NikpXX0se3ZhbHVlOiJHUFciLG5hbWU6IkdQVyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5OTQzMjQpKSxmbGFnOiJwb2xhbmQiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InBsIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5Njg2MDkpKV19LHt2YWx1ZToiTkVXQ09OTkVDVCIsbmFtZToiR1BXIOKAlCBOZXdDb25uZWN0IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1NjI2KSksZmxhZzoicG9sYW5kIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJwbCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTY4NjA5KSldfSx7dmFsdWU6IlpTRSIsbmFtZToiWlNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzNzEzNykpLGZsYWc6ImNyb2F0aWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImhyIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MDc0KSldfSx7dmFsdWU6IkxVWFNFIixuYW1lOiJMVVhTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MzYyNTMpKSxmbGFnOiJsdXhlbWJvdXJnIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJsdSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTc1NDQ3KSldfSx7dmFsdWU6IkxKU0UiLG5hbWU6IkxKU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzEzOTY0KSksZmxhZzoic2xvdmVuaWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InNpIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MjE4MjEpKV19LHt2YWx1ZToiTUlMIixuYW1lOiJNSUwiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzg1ODI0KSksZmxhZzoiaXRhbHkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6Iml0Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4OTgxNjMpKV19LHt2YWx1ZToiTkdNIixuYW1lOiJOR00iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjIwNTU3KSksZmxhZzoic3dlZGVuIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJzZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzY5OTYzKSldfSx7dmFsdWU6IkRVUyIsbmFtZToiRFVTIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ1MzIzNCkpLGZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiSEFNIixuYW1lOiJIQU0iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODg1NTUwKSksZmxhZzoiZ2VybWFueSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZGUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2NjY5OCkpXX0se3ZhbHVlOiJIQU4iLG5hbWU6IkhBTiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY0OCkpLGZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiTVVOIixuYW1lOiJNVU4iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjU0NDgzKSksCmZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiVFJBREVHQVRFIixuYW1lOiJUUkFERUdBVEUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTM3NTUxKSksZmxhZzoiZ2VybWFueSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZGUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2NjY5OCkpXX0se3ZhbHVlOiJHRVRURVgiLG5hbWU6IkdFVFRFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3OTM2MDIpKSxmbGFnOiJnZXJtYW55Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJkZSIscHJvdmlkZXJJZDoiZmluYW56ZW4iLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiTUlMU0VERVgiLG5hbWU6Ik1JTFNFREVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0OTgyNikpLGZsYWc6Iml0YWx5Iixncm91cDoiRXVyb3BlIixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsY291bnRyeToiaXQiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg5ODE2MykpXX0se3ZhbHVlOiJJU1QiLG5hbWU6IklTVCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMzUxMjIpKSxmbGFnOiJ0dXJrZXkiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiRXVyb3BlIixjb3VudHJ5OiJ0ciIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjMxODEwKSldfSx7dmFsdWU6IkJJU1QiLG5hbWU6IkJJU1QiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjg5NjcwKSksZmxhZzoidHVya2V5Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJ0ciIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjMxODEwKSldfSx7dmFsdWU6IlRBU0UiLG5hbWU6IlRBU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjMzNTUpKSxmbGFnOiJpc3JhZWwiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToiaWwiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgwMzM1NCkpXX0se3ZhbHVlOiJTSVgiLG5hbWU6IlNJWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MjMyNykpLGZsYWc6InN3aXR6ZXJsYW5kIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJjaCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzMzOTcxKSldfSx7dmFsdWU6IkJYIixuYW1lOiJCWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3NjI0NjEpKSxmbGFnOiJzd2l0emVybGFuZCIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiY2giLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDczMzk3MSkpXX0se3ZhbHVlOiJQU0VDWiIsbmFtZToiUFNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEzMzQ2NCkpLGZsYWc6ImN6ZWNoIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJjeiIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTI5ODA4KSldfSx7dmFsdWU6IkFTWCIsbmFtZToiQVNYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc0MTU3MykpLGZsYWc6ImF1c3RyYWxpYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJhdSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc5MjMzKSldfSx7dmFsdWU6IkNISVhBVSIsbmFtZToiQ2JvZSBBdXN0cmFsaWEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzI4ODQ3KSksZmxhZzoiYXVzdHJhbGlhIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImF1Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzkyMzMpKV19LHt2YWx1ZToiVklFIixuYW1lOiJXQiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyOTA3MjIpKSxmbGFnOiJhdXN0cmlhIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJhdCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjM4Mjc4KSldfSx7dmFsdWU6IkRTRUJEIixuYW1lOiJEU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE1MjI0KSksZmxhZzoiYmFuZ2xhZGVzaCIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJiZCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDUyMDE1KSldfSx7dmFsdWU6Ik5aWCIsbmFtZToiTlpYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEyNzYyKSksZmxhZzoibmV3X3plYWxhbmQiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToibnoiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQyMTYpKV19LHt2YWx1ZToiQ0ZGRVgiLG5hbWU6IkNGRkVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MDY1OCkpLGZsYWc6ImNoaW5hIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImNuIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MDI1MTkpKV19LHt2YWx1ZToiU1NFIixuYW1lOiJTU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzY4OTIpKSxmbGFnOiJjaGluYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJjbiIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjAyNTE5KSldfSx7dmFsdWU6IlNIRkUiLG5hbWU6IlNIRkUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQ2NjM0KSksZmxhZzoiY2hpbmEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiY24iLHByb3ZpZGVySWQ6IiIsCnNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MDI1MTkpKV19LHt2YWx1ZToiU1pTRSIsbmFtZToiU1pTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzQ5NjEpKSxmbGFnOiJjaGluYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJjbiIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjAyNTE5KSldfSx7dmFsdWU6IlpDRSIsbmFtZToiWkNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgxODg1MCkpLGZsYWc6ImNoaW5hIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImNuIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MDI1MTkpKV19LHt2YWx1ZToiSEtFWCIsbmFtZToiSEtFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2Njk4MzcpKSxmbGFnOiJob25nX2tvbmciLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiaGsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2Mzc3OSkpXX0se3ZhbHVlOiJQU0UiLG5hbWU6IlBTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NjAyMTEpKSxmbGFnOiJwaGlsaXBwaW5lcyIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJwaCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjEzNjQ3KSldfSx7dmFsdWU6IlBTWCIsbmFtZToiUFNYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk2MTI0NSkpLGZsYWc6InBha2lzdGFuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6InBrIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDQ0MzYpKV19LHt2YWx1ZToiTlNFTkciLG5hbWU6Ik5TRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NDQxMjEpKSxmbGFnOiJuaWdlcmlhIixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6Im5nIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDk4NjgpKV19LHt2YWx1ZToiTlNFS0UiLG5hbWU6Ik5TRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNDUyNDkpKSxmbGFnOiJrZW55YSIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJrZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODE0OTY2KSldfSx7dmFsdWU6IkpTRSIsbmFtZToiSlNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgxOTI4OSkpLGZsYWc6InNvdXRoX2FmcmljYSIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJ6YSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzEwMDgyKSldfSx7dmFsdWU6IkpGWCIsbmFtZToiSkZYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDkzMTIzMikpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiamZ4In0se3ZhbHVlOiJNQVRTVUkiLG5hbWU6Ik1BVFNVSSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3NjAwNjkpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6Im1hdHN1aSJ9LHt2YWx1ZToiQ09JTkJBU0UiLG5hbWU6IkNvaW5iYXNlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE5NTg4NikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ09JTkJBU0UiLHByb3ZpZGVySWQ6ImNvaW5iYXNlIn0se3ZhbHVlOiJDSVRZSU5ERVgiLG5hbWU6IkNpdHkgSW5kZXgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjUyOTUxKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQ0lUWUlOREVYIixwcm92aWRlcklkOiJjaXR5aW5kZXgifSx7dmFsdWU6IlVTSSIsbmFtZToiVVNJIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEzOTE0MSkpLGZsYWc6InVzYSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6Ik9NWEhFWCIsbmFtZToiSEVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI5ODE4MCkpLGZsYWc6ImZpbmxhbmQiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImZpIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NzY0NTQpKV19LHt2YWx1ZToiT01YSUNFIixuYW1lOiJJQ0VYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE4OTU5MCkpLGZsYWc6ImljZWxhbmQiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImlzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NDAxODgpKV19LHt2YWx1ZToiT01YQ09QIixuYW1lOiJDU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQyMzE3KSksZmxhZzoiZGVubWFyayIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZGsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1MjUwMSkpXX0se3ZhbHVlOiJPTVhTVE8iLG5hbWU6IlNUTyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxMjU1NjgpKSxmbGFnOiJzd2VkZW4iLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InNlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNjk5NjMpKV19LHt2YWx1ZToiT01YVlNFIixuYW1lOiJWU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTk3NTAwKSksZmxhZzoibGl0aHVhbmlhIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJsdCIsCnByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg5MjEwMCkpXX0se3ZhbHVlOiJPTVhUU0UiLG5hbWU6IlRBTFNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3Nzk3KSksZmxhZzoiZXN0b25pYSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZWUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0MTIwKSldfSx7dmFsdWU6Ik9NWFJTRSIsbmFtZToiT01YUiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxODE4MTUpKSxmbGFnOiJsYXR2aWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6Imx2Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyODI3NzMpKV19LHt2YWx1ZToiT01YTk9SRElDIixuYW1lOiJPTVhOT1JESUMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTExMjcpKSxmbGFnOiJldXJvcGUiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJPTVhCQUxUSUMiLG5hbWU6Ik9NWEJBTFRJQyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MjAyODcpKSxmbGFnOiJldXJvcGUiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJGUkVEIixuYW1lOiJGUkVEIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU3MTAwNikpLGZsYWc6InVzYSIsZ3JvdXA6IkVjb25vbXkiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiZnJlZDIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiSVNNIixuYW1lOiJJU00iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTEzNjUxKSksZmxhZzoidXNhIixncm91cDoiRWNvbm9teSIsY291bnRyeToiIixwcm92aWRlcklkOiJxdWFuZGxfaXNtIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkZSQk5ZIixuYW1lOiJGUkJOWSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MDI4NTUpKSxmbGFnOiJ1c2EiLGdyb3VwOiJFY29ub215Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6InF1YW5kbF9mcmJueSIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJGUkJQIixuYW1lOiJGUkJQIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDIwNTExNykpLGZsYWc6InVzYSIsZ3JvdXA6IkVjb25vbXkiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoicXVhbmRsX2ZyYnAiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiRUNPTk9NSUNTIixuYW1lOiJUcmFkaW5nIEVjb25vbWljcyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NTQzNDIpKSxmbGFnOiJ1c2EiLGdyb3VwOiJFY29ub215Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6ImVjb25vbWljcyIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJXSFNFTEZJTlZFU1QiLG5hbWU6IldIIFNlbGZJbnZlc3QiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDIwOTAxKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJ3aHNlbGZpbnZlc3QifSx7dmFsdWU6IkJTRVNPRiIsbmFtZToiQlNFU09GIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg0NzQyNCkpLGZsYWc6ImJ1bGdhcmlhIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJiZyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzE0MDMxKSldfV19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/69697.94f7a3c68e5b71e90ad0.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.843Z","timestamp":1785141584843,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/69697.94f7a3c68e5b71e90ad0.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-9d25\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c3bcd6da2c1cbb463b0b61b1f5cea72b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":40229,"size_decoded":13400,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"ea7468c239d76d650fad0348355c0723","sha1":"1679d20934fd0a870c0c4f6841783538386be8df","sha256":"ff8eafc7002dfc18017837f333b737baf6428680efa8976420f7545ba953bdfe","sha512":"cf2c6f55abd325793a9a4a962acfca9cea5a94ee011812cc1d100a66f9250a768e7d62a0c4d661cd711718cc67e00c4038f82d532a6daeebf8078a78b9d62c89","ssdeep":"768:FahKIrmNWI3Vn8gACkdBEECQrhuWfGwsGiaYOBzYJdncihxGddE/HAKZAPt+Z0Mn:45I3Vn8gK/NTeezYW91k2+","tlshash":"8f03d9d673b2b61587a64092f87d8503e36c1a8164cc253ef66c8cdf264de48b136bbd","first_seen":"2026-07-23T14:00:31.639092Z","last_seen":"2026-07-27T12:48:39.727295Z","times_seen":103,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjExMjYsNjk2OTddLHs0MTE5OTIoZSx0LHMpe3MuZCh0LHtoYXNGaW5hbmNpYWxzQnlBdmFpbGFiaWxpdHlGbGFnczooKT0+aX0pO3ZhciByPXMoMTU2ODI5KTtuZXcgU2V0KFsic3RvY2siLCJkciIsInJpZ2h0Iiwid2FycmFudCIsInN0cnVjdHVyZWQiLCJib25kIl0pLG5ldyBTZXQoWyJtdXR1YWwiLCJ1bml0IiwidHJ1c3QiLCJyZWl0IiwiY2xvc2VkZW5kIiwiZXRuIl0pLG5ldyBTZXQoWyJldG4iXSksbmV3IFNldChbImNvbnZlcnRpYmxlIiwiY29ycG9yYXRlIl0pLG5ldyBTZXQoWyJjZmQiXSk7ZnVuY3Rpb24gaShlLHQscyl7aWYodCYmcyYmKDAsci5pc0V0ZikodCxzKSlyZXR1cm4hMTtjb25zdHtkaXZpZGVuZHNfYXZhaWxhYmlsaXR5OmksZWFybmluZ3NfYXZhaWxhYmlsaXR5Om4sZmluYW5jaWFsc19hdmFpbGFiaWxpdHk6b309ZTtyZXR1cm4gMT09PW98fDE9PT1pfHwxPT09bn19LDg4OTM5NyhlLHQscyl7cy5kKHQse3Nob3dGaW5hbmNpYWxzRGlhbG9nOigpPT5pfSk7dmFyIHI9cyg4OTA4MzUpO2Z1bmN0aW9uIGkoZSl7ci5jdXJyZW50TGF5b3V0LnZhbHVlKCk/LnNob3dBbmFseXNpc1ZpZXcoImZpbmFuY2lhbHMiLGUpfX0sODI3MDI5KGUsdCxzKXt2YXIgcixpLG47cy5kKHQse0VVX01BUktFVFM6KCk9Pm8sR2xvYmFsTWFya2V0OigpPT5uLE5vblN0b2NrTWFya2V0OigpPT5pLFN0b2NrTWFya2V0OigpPT5yfSksZnVuY3Rpb24oZSl7ZS5BbWVyaWNhPSJhbWVyaWNhIixlLkFyZ2VudGluYT0iYXJnZW50aW5hIixlLkF1c3RyYWxpYT0iYXVzdHJhbGlhIixlLkF1c3RyaWE9ImF1c3RyaWEiLGUuQmFocmFpbj0iYmFocmFpbiIsZS5CYW5nbGFkZXNoPSJiYW5nbGFkZXNoIixlLkJlbGdpdW09ImJlbGdpdW0iLGUuQnVsZ2FyaWE9ImJ1bGdhcmlhIixlLkJyYXppbD0iYnJhemlsIixlLkNhbmFkYT0iY2FuYWRhIixlLkNoaWxlPSJjaGlsZSIsZS5DaGluYT0iY2hpbmEiLGUuQ29sb21iaWE9ImNvbG9tYmlhIixlLkNyb2F0aWE9ImNyb2F0aWEiLGUuQ3lwcnVzPSJjeXBydXMiLGUuQ3plY2g9ImN6ZWNoIixlLkRlbm1hcms9ImRlbm1hcmsiLGUuRWd5cHQ9ImVneXB0IixlLkVzdG9uaWE9ImVzdG9uaWEiLGUuRmlubGFuZD0iZmlubGFuZCIsZS5GcmFuY2U9ImZyYW5jZSIsZS5HZXJtYW55PSJnZXJtYW55IixlLkdyZWVjZT0iZ3JlZWNlIixlLkhvbmdLb25nPSJob25na29uZyIsZS5IdW5nYXJ5PSJodW5nYXJ5IixlLkljZWxhbmQ9ImljZWxhbmQiLGUuSW5kaWE9ImluZGlhIixlLkluZG9uZXNpYT0iaW5kb25lc2lhIixlLklyZWxhbmQ9ImlyZWxhbmQiLGUuSXNyYWVsPSJpc3JhZWwiLGUuSXRhbHk9Iml0YWx5IixlLkphcGFuPSJqYXBhbiIsZS5LZW55YT0ia2VueWEiLGUuS3V3YWl0PSJrdXdhaXQiLGUuTGF0dmlhPSJsYXR2aWEiLGUuTGl0aHVhbmlhPSJsaXRodWFuaWEiLGUuTHV4ZW1ib3VyZz0ibHV4ZW1ib3VyZyIsZS5NYWxheXNpYT0ibWFsYXlzaWEiLGUuTWV4aWNvPSJtZXhpY28iLGUuTW9yb2Njbz0ibW9yb2NjbyIsZS5OZXRoZXJsYW5kcz0ibmV0aGVybGFuZHMiLGUuTmV3WmVhbGFuZD0ibmV3emVhbGFuZCIsZS5OaWdlcmlhPSJuaWdlcmlhIixlLk5vcndheT0ibm9yd2F5IixlLlBha2lzdGFuPSJwYWtpc3RhbiIsZS5QZXJ1PSJwZXJ1IixlLlBoaWxpcHBpbmVzPSJwaGlsaXBwaW5lcyIsZS5Qb2xhbmQ9InBvbGFuZCIsZS5Qb3J0dWdhbD0icG9ydHVnYWwiLGUuUWF0YXI9InFhdGFyIixlLlJvbWFuaWE9InJvbWFuaWEiLGUuUnVzc2lhPSJydXNzaWEiLGUuU2F1ZGlBcmFiaWE9ImtzYSIsZS5TZXJiaWE9InNlcmJpYSIsZS5TaW5nYXBvcmU9InNpbmdhcG9yZSIsZS5TbG92YWtpYT0ic2xvdmFraWEiLGUuU2xvdmVuaWE9InNsb3ZlbmlhIixlLlNvdXRoQWZyaWNhPSJyc2EiLGUuU291dGhLb3JlYT0ia29yZWEiLGUuU3BhaW49InNwYWluIixlLlNyaUxhbmthPSJzcmlsYW5rYSIsZS5Td2VkZW49InN3ZWRlbiIsZS5Td2l0emVybGFuZD0ic3dpdHplcmxhbmQiLGUuVGFpd2FuPSJ0YWl3YW4iLGUuVGhhaWxhbmQ9InRoYWlsYW5kIixlLlR1bmlzaWE9InR1bmlzaWEiLGUuVHVya2V5PSJ0dXJrZXkiLGUuVUFFPSJ1YWUiLGUuVUs9InVrIixlLlZlbmV6dWVsYT0idmVuZXp1ZWxhIixlLlZpZXRuYW09InZpZXRuYW0ifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuRm9yZXg9ImZvcmV4IixlLkNyeXB0bz0iY3J5cHRvIixlLkNvaW49ImNvaW4iLGUuQ0ZEPSJjZmQiLGUuQm9uZHM9ImJvbmRzIixlLkJvbmQ9ImJvbmQiLGUuRnV0dXJlcz0iZnV0dXJlcyIsZS5PcHRpb25zPSJvcHRpb25zIn0oaXx8KGk9e30pKSxmdW5jdGlvbihlKXtlLkdsb2JhbD0iZ2xvYmFsIn0obnx8KG49e30pKTtyLkJlbGdpdW0sci5DeXBydXMsci5EZW5tYXJrLHIuRXN0b25pYSxyLkZpbmxhbmQsci5GcmFuY2Usci5HZXJtYW55LHIuR3JlZWNlLHIuSHVuZ2FyeSxyLkljZWxhbmQsci5JdGFseSxyLkxhdHZpYSxyLkxpdGh1YW5pYSxyLkx1eGVtYm91cmcsci5OZXRoZXJsYW5kcyxyLk5vcndheSxyLlBvbGFuZCxyLlBvcnR1Z2FsLHIuUm9tYW5pYSxyLlJ1c3NpYSxyLlNlcmJpYSxyLlNsb3Zha2lhLHIuU3BhaW4sci5Td2VkZW4sci5Td2l0emVybGFuZCxyLlR1cmtleSxyLlVLO2NvbnN0IG89W3IuQmVsZ2l1bSxyLkN5cHJ1cyxyLkRlbm1hcmssci5Fc3RvbmlhLHIuRmlubGFuZCxyLkZyYW5jZSxyLkdlcm1hbnksci5HcmVlY2Usci5IdW5nYXJ5LHIuSXRhbHksci5MYXR2aWEsci5MaXRodWFuaWEsci5MdXhlbWJvdXJnLHIuTmV0aGVybGFuZHMsci5Qb2xhbmQsci5Qb3J0dWdhbCxyLlJvbWFuaWEsci5TbG92YWtpYSxyLlNwYWluLHIuU3dlZGVuXX0sNTk1NTE3KGUsdCxzKXtzLmQodCx7Z2V0U2NhbjJEYXRhOigpPT5oLGdldFNjYW5EYXRhOigpPT51fSk7dmFyIHI9cygzODQwMTcpLGk9cygyMTYwNzkpLG49cygxNTg3NjMpLG89cygzMjYwNDgpLGE9cygxMzM4NzQpO2NvbnN0IGw9InVzZXIgZG9lcyBub3QgaGF2ZSByaWdodHMgdG8gd2F0Y2hsaXN0Igo7Y2xhc3MgXyBleHRlbmRzIGEuRXJyb3JSZXNwb25zZXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLm5hbWU9IldhdGNobGlzdFJpZ2h0c0Vycm9yIixlLmVycm9yP3RoaXMubWVzc2FnZT1sOnRoaXMubWVzc2FnZT0idW5rbm93biBlcnJvciJ9fWZ1bmN0aW9uIGMoZSx0LHMsYSxjLHU9e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9KXtjb25zdCBoPXMuZ2V0TWFya2V0cygpLGQ9bmV3IFVSTCgoMCxpLmdldEJhY2tlbmRVcmwpKGgsYSkrZSk7YyYmZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJsYWJlbC1wcm9kdWN0IixjKTtjb25zdCBtPUpTT04uc3RyaW5naWZ5KHMuZ2V0UGFyYW1zKCkpO3JldHVybigwLHIuZmV0Y2gpKGQudG9TdHJpbmcoKSx7c2lnbmFsOnQsbWV0aG9kOiJQT1NUIixib2R5Om0sY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6dX0pLnRoZW4oKGU9PntpZig0MDA9PT1lLnN0YXR1cyl7Y29uc3R7c3RhdHVzOnQsc3RhdHVzVGV4dDpzfT1lO3JldHVybiBlLmpzb24oKS50aGVuKChlPT57Y29uc3Qgcj1lLmVycm9yO2lmKHZvaWQgMCE9PShpPXIpJiZpLmluY2x1ZGVzKGwpKXRocm93IG5ldyBfKHtzdGF0dXM6dCxzdGF0dXNUZXh0OnMsZXJyb3I6cn0pO3ZhciBpO3Rocm93IG5ldyBvLkJhZFJlcXVlc3RFcnJvclJlc3BvbnNlKHtzdGF0dXM6dCxzdGF0dXNUZXh0OnMsZXJyb3I6cn0pfSkpfWlmKGUub2spcmV0dXJuIGUuanNvbigpLnRoZW4oKGU9PmUpKTt0aHJvdyBuZXcgbi5IdHRwRXJyb3JSZXNwb25zZShlKX0pKX1mdW5jdGlvbiB1KGUsdCxzLHIpe3JldHVybiBjKCJzY2FuIixlLHQscyxyKX1mdW5jdGlvbiBoKGUsdCxzLHIpe3JldHVybiBjKCJzY2FuMiIsZSx0LHMscil9fSwzOTI1NzMoZSx0LHMpe3MuZCh0LHtDb2x1bW5zQ29sbGVjdGlvbjooKT0+cn0pO2NsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLl9jb2x1bW5zPW5ldyBTZXR9c2V0U3RhdGUoZSl7cmV0dXJuIHRoaXMuX2NvbHVtbnMuY2xlYXIoKSxlLmZvckVhY2godGhpcy5fY29sdW1ucy5hZGQsdGhpcy5fY29sdW1ucyksdGhpc31hZGRDb2x1bW4oZSl7cmV0dXJuIHRoaXMuX2NvbHVtbnMuYWRkKGUpLHRoaXN9ZGVsZXRlQ29sdW1uKGUpe3JldHVybiB0aGlzLl9jb2x1bW5zLmRlbGV0ZShlKSx0aGlzfWdldFN0YXRlKCl7cmV0dXJuWy4uLnRoaXMuX2NvbHVtbnNdfXJlc2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fY29sdW1ucy5jbGVhcigpLHRoaXN9aXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5fY29sdW1ucy5zaXplfX19LDI0ODI2KGUsdCxzKXtzLmQodCx7RmlsdGVyQ29sbGVjdGlvbjooKT0+cn0pO2NsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLl9maWx0ZXJzPW5ldyBTZXR9aXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5fZmlsdGVycy5zaXplfWNsb25lKCl7cmV0dXJuKG5ldyByKS5zZXRTdGF0ZSh0aGlzLmdldFN0YXRlKCkpfWdldFN0YXRlKCl7cmV0dXJuWy4uLnRoaXMuX2ZpbHRlcnNdfXNldFN0YXRlKGUpe3JldHVybiB0aGlzLl9yZXdyaXRlRmlsdGVyU2V0KHRoaXMuX2ZpbHRlcnMsZSksdGhpc31yZXNldFN0YXRlKCl7cmV0dXJuIHRoaXMuX2ZpbHRlcnMuY2xlYXIoKSx0aGlzfWFkZENvbmRpdGlvbihlKXtjb25zdCB0PUFycmF5LmlzQXJyYXkoZSk/ZTpbZV07Zm9yKGNvbnN0IGUgb2YgdCl0aGlzLl9maWx0ZXJzLmFkZChlKTtyZXR1cm4gdGhpc31kZWxldGVDb25kaXRpb24oZSl7cmV0dXJuIHRoaXMuX2ZpbHRlcnMuZGVsZXRlKGUpLHRoaXN9X3Jld3JpdGVGaWx0ZXJTZXQoZSx0KXtlLmNsZWFyKCksdC5mb3JFYWNoKGUuYWRkLGUpfX19LDgxMjU4MyhlLHQscyl7cy5kKHQse0ZpbHRlcjI6KCk9PnJ9KTtjbGFzcyBye2NvbnN0cnVjdG9yKCl7dGhpcy5fZmlsdGVyPXZvaWQgMH1yZXNldEZpbHRlcigpe3JldHVybiB0aGlzLl9maWx0ZXI9dm9pZCAwLHRoaXN9Z2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fZmlsdGVyP0pTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5fZmlsdGVyKSk6dm9pZCAwfXNldFN0YXRlKGUpe3JldHVybiB0aGlzLl9maWx0ZXI9ZSx0aGlzfWFkZEZpbHRlcjIoZSl7Y29uc3QgdD10aGlzLmdldFN0YXRlKCk7aWYoIXQpcmV0dXJuIHRoaXMuc2V0U3RhdGUoe29wZXJhdG9yOmUub3BlcmF0b3Isb3BlcmFuZHM6ZS5vcGVyYW5kc30pLHRoaXM7Y29uc3R7b3BlcmF0b3I6cyxvcGVyYW5kczpyfT10O3JldHVybiB0aGlzLnNldFN0YXRlKHtvcGVyYXRvcjpzLG9wZXJhbmRzOlsuLi5yLC4uLmUub3BlcmFuZHNdfSksdGhpc319fSwyMTgxNDUoZSx0LHMpe3MuZCh0LHtPcHRpb25zOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3Rvcigpe3RoaXMuX29wdGlvbnM9e319c2V0U3RhdGUoZSl7cmV0dXJuIHRoaXMuX29wdGlvbnM9ZSx0aGlzfXJlc3RyaWN0RW9kKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuZGF0YV9yZXN0cmljdGlvbnM9IlBSRVZfQkFSIix0aGlzfW5vRW9kUmVzdHJpY3Rpb24oKXtyZXR1cm4gZGVsZXRlIHRoaXMuX29wdGlvbnMuZGF0YV9yZXN0cmljdGlvbnMsdGhpc31zZXRMYW5nKGUpe3JldHVybiB0aGlzLl9vcHRpb25zLmxhbmc9ZSx0aGlzfXJlc2V0TGFuZygpe3JldHVybiBkZWxldGUgdGhpcy5fb3B0aW9ucy5sYW5nLHRoaXN9Z2V0U3RhdGUoKXtyZXR1cm57Li4udGhpcy5fb3B0aW9uc319cmVzZXRPcHRpb25zKCl7cmV0dXJuIHRoaXMuX29wdGlvbnM9e30sdGhpc31pc0VtcHR5KCl7cmV0dXJuIDA9PT1PYmplY3QudmFsdWVzKHRoaXMuX29wdGlvbnMpLmxlbmd0aH19fSwxOTUyMjMoZSx0LHMpe3MuZCh0LHtTY2FuUHJpY2VDb252ZXJzaW9uOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3Rvcigpe3RoaXMuX3ByaWNlQ29udmVyc2lvbj17fX1zZXRQcmljZUNvbnZlcnNpb24oZSl7cmV0dXJuIHRoaXMuX3ByaWNlQ29udmVyc2lvbj1lLHRoaXN9Z2V0U3RhdGUoKXtyZXR1cm57Li4udm9pZCAwIT09dGhpcy5fcHJpY2VDb252ZXJzaW9uLnRvX3N5bWJvbD97dG9fc3ltYm9sOnRoaXMuX3ByaWNlQ29udmVyc2lvbi50b19zeW1ib2x9Ont9LC4uLnZvaWQgMCE9PXRoaXMuX3ByaWNlQ29udmVyc2lvbi50b19jdXJyZW5jeT97CnRvX2N1cnJlbmN5OnRoaXMuX3ByaWNlQ29udmVyc2lvbi50b19jdXJyZW5jeX06e30sLi4udm9pZCAwIT09dGhpcy5fcHJpY2VDb252ZXJzaW9uLmRpc2FibGVkP3tkaXNhYmxlZDp0aGlzLl9wcmljZUNvbnZlcnNpb24uZGlzYWJsZWR9Ont9fX1yZXNldCgpe3JldHVybiB0aGlzLl9wcmljZUNvbnZlcnNpb249e30sdGhpc31pc0VtcHR5KCl7cmV0dXJuIDA9PT1PYmplY3QudmFsdWVzKHRoaXMuX3ByaWNlQ29udmVyc2lvbikubGVuZ3RofX19LDgyNDUwMihlLHQscyl7cy5kKHQse1JhbmdlOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3Rvcigpe3RoaXMuX3JhbmdlPVtdfWdldFN0YXRlKCl7cmV0dXJuWy4uLnRoaXMuX3JhbmdlXX1zZXRTdGF0ZShlKXtyZXR1cm4gdGhpcy5fcmFuZ2U9ZSx0aGlzfXJlc2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fcmFuZ2U9W10sdGhpc31pc0VtcHR5KCl7cmV0dXJuIDA9PT10aGlzLl9yYW5nZS5sZW5ndGh9fX0sMTgwNjY3KGUsdCxzKXtzLmQodCx7U2NhblBhcmFtc01hbmFnZXI6KCk9PnV9KTt2YXIgcj1zKDI0ODI2KSxpPXMoMjE4MTQ1KSxuPXMoMTk1MjIzKSxvPXMoNzM4ODEpLGE9cygzOTI1NzMpLGw9cyg4MjQ1MDIpLF89cygzMjMwMjcpLGM9cyg4MTI1ODMpO2NsYXNzIHV7Y29uc3RydWN0b3IoKXt0aGlzLl9maWx0ZXJDb2xsZWN0aW9uPW5ldyByLkZpbHRlckNvbGxlY3Rpb24sdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SPW5ldyByLkZpbHRlckNvbGxlY3Rpb24sdGhpcy5fY29sdW1ucz1uZXcgYS5Db2x1bW5zQ29sbGVjdGlvbix0aGlzLl9pZ25vcmVVbmtub3duRmllbGRzPSExLHRoaXMuX29wdGlvbnM9bmV3IGkuT3B0aW9ucyx0aGlzLl9wcmljZUNvbnZlcnNpb249bmV3IG4uU2NhblByaWNlQ29udmVyc2lvbix0aGlzLl9yYW5nZT1uZXcgbC5SYW5nZSx0aGlzLl9zb3J0PW5ldyBfLlNvcnQsdGhpcy5fc3ltYm9scz1uZXcgby5TeW1ib2xzLHRoaXMuX21hcmtldHM9W119Z2V0UGFyYW1zKCl7Y29uc3QgZT10aGlzLmdldEZpbHRlcjIoKSx0PWU/e2ZpbHRlcjI6ZX06dm9pZCAwLHM9dGhpcy5nZXRQcmVzZXQoKSxyPXM/e3ByZXNldDpzfTp2b2lkIDA7cmV0dXJue2NvbHVtbnM6dGhpcy5pc0NvbHVtbnNFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldENvbHVtbnMoKSxmaWx0ZXI6dGhpcy5pc0ZpbHRlcnNFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldEZpbHRlcnMoKSxmaWx0ZXJPUjp0aGlzLmlzRmlsdGVyT3JFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldEZpbHRlck9SKCksaWdub3JlX3Vua25vd25fZmllbGRzOnRoaXMuZ2V0SWdub3JlVW5rbm93bkZpZWxkcygpLG9wdGlvbnM6dGhpcy5pc09wdGlvbnNFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldE9wdGlvbnMoKSxwcmljZV9jb252ZXJzaW9uOnRoaXMuaXNQcmljZUNvbnZlcnNpb25zRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRQcmljZUNvbnZlcnNpb24oKSxyYW5nZTp0aGlzLmlzUmFuZ2VFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldFJhbmdlKCksc29ydDp0aGlzLmlzU29ydEVtcHR5KCk/dm9pZCAwOnRoaXMuZ2V0U29ydCgpLHN5bWJvbHM6dGhpcy5pc1N5bWJvbHNFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldFN5bWJvbHMoKSxtYXJrZXRzOnRoaXMuaXNNYXJrZXRzRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRNYXJrZXRzKCksaW5kZXhfZmlsdGVyczp0aGlzLmdldEluZGV4RmlsdGVycygpLC4uLnIsLi4udH19Y2xvbmUoKXtjb25zdCBlPW5ldyB1LHQ9dGhpcy5nZXRQYXJhbXMoKTtyZXR1cm4gZS5zZXRQYXJhbXModCksZX1nZXRGaWx0ZXJzQ29sbGVjdGlvbkNsb25lKCl7cmV0dXJuIHRoaXMuX2ZpbHRlckNvbGxlY3Rpb24uY2xvbmUoKX1zZXRQYXJhbXMoZSl7Y29uc3QgdD17Y29sdW1uczooKT0+dGhpcy5zZXRDb2x1bW5zKGUuY29sdW1ucyksZmlsdGVyMjooKT0+dGhpcy5zZXRGaWx0ZXIyKGUuZmlsdGVyMiksZmlsdGVyOigpPT50aGlzLnNldEZpbHRlcnMoZS5maWx0ZXIpLGZpbHRlck9SOigpPT50aGlzLnNldEZpbHRlck9SKGUuZmlsdGVyT1IpLGlnbm9yZV91bmtub3duX2ZpZWxkczooKT0+ZS5pZ25vcmVfdW5rbm93bl9maWVsZHM/dGhpcy5pZ25vcmVVbmtub3duRmllbGRzKCk6dGhpcy5kb05vdElnbm9yZVVua25vd25GaWVsZHMoKSxtYXJrZXRzOigpPT50aGlzLnNldE1hcmtldHMoZS5tYXJrZXRzKSxvcHRpb25zOigpPT50aGlzLnNldE9wdGlvbnMoZS5vcHRpb25zKSxwcmljZV9jb252ZXJzaW9uOigpPT50aGlzLnNldFByaWNlQ29udmVyc2lvbihlLnByaWNlX2NvbnZlcnNpb24pLHJhbmdlOigpPT50aGlzLnNldFJhbmdlKGUucmFuZ2UpLHNvcnQ6KCk9PnRoaXMuc2V0U29ydChlLnNvcnQpLHN5bWJvbHM6KCk9PnRoaXMuc2V0U3ltYm9scyhlLnN5bWJvbHMpLHByZXNldDooKT0+dGhpcy5zZXRQcmVzZXQoZS5wcmVzZXQpLGluZGV4X2ZpbHRlcnM6KCk9PnRoaXMuc2V0SW5kZXhGaWx0ZXJzKGUuaW5kZXhfZmlsdGVycyl9O2Zvcihjb25zdFtzLHJdb2YgT2JqZWN0LmVudHJpZXModCkpZS5oYXNPd25Qcm9wZXJ0eShzKSYmdm9pZCAwIT09ZVtzXSYmcigpO3JldHVybiB0aGlzfXNldEZpbHRlcnMoZSl7cmV0dXJuIHRoaXMuX2ZpbHRlckNvbGxlY3Rpb24uc2V0U3RhdGUoZSksdGhpc31hZGRGaWx0ZXIoZSl7cmV0dXJuIHRoaXMuX2ZpbHRlckNvbGxlY3Rpb24uYWRkQ29uZGl0aW9uKGUpLHRoaXN9Z2V0RmlsdGVycygpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLmdldFN0YXRlKCl9ZGVsZXRlRmlsdGVyKGUpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLmRlbGV0ZUNvbmRpdGlvbihlKSx0aGlzfXJlc2V0RmlsdGVycygpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLnJlc2V0U3RhdGUoKSx0aGlzfWlzRmlsdGVyc0VtcHR5KCl7cmV0dXJuIHRoaXMuX2ZpbHRlckNvbGxlY3Rpb24uaXNFbXB0eSgpfXNldEZpbHRlck9SKGUpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uT1Iuc2V0U3RhdGUoZSksdGhpc31hZGRGaWx0ZXJPUihlKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLmFkZENvbmRpdGlvbihlKSx0aGlzfWdldEZpbHRlck9SKCl7CnJldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uT1IuZ2V0U3RhdGUoKX1kZWxldGVGaWx0ZXJPUihlKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLmRlbGV0ZUNvbmRpdGlvbihlKSx0aGlzfXJlc2V0RmlsdGVyT1IoKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLnJlc2V0U3RhdGUoKSx0aGlzfWlzRmlsdGVyT3JFbXB0eSgpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uT1IuaXNFbXB0eSgpfXNldEZpbHRlcjIoZSl7cmV0dXJuIHRoaXMuX2ZpbHRlcjJ8fCh0aGlzLl9maWx0ZXIyPW5ldyBjLkZpbHRlcjIpLHRoaXMuX2ZpbHRlcjIuc2V0U3RhdGUoZSksdGhpc31hZGRGaWx0ZXIyKGUpe3JldHVybiB0aGlzLl9maWx0ZXIyfHwodGhpcy5fZmlsdGVyMj1uZXcgYy5GaWx0ZXIyKSx0aGlzLl9maWx0ZXIyLmFkZEZpbHRlcjIoZSksdGhpc31nZXRGaWx0ZXIyKCl7aWYodGhpcy5fZmlsdGVyMilyZXR1cm4gdGhpcy5fZmlsdGVyMi5nZXRTdGF0ZSgpfXJlc2V0RmlsdGVyMigpe3JldHVybiB0aGlzLl9maWx0ZXIyJiZ0aGlzLl9maWx0ZXIyLnJlc2V0RmlsdGVyKCksdGhpc31nZXRPcHRpb25zKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuZ2V0U3RhdGUoKX1zZXRPcHRpb25zKGUpe3JldHVybiB0aGlzLl9vcHRpb25zLnNldFN0YXRlKGUpLHRoaXN9cmVzZXRPcHRpb25zKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMucmVzZXRPcHRpb25zKCksdGhpc31yZXN0cmljdEVvZCgpe3JldHVybiB0aGlzLl9vcHRpb25zLnJlc3RyaWN0RW9kKCksdGhpc31ub0VvZFJlc3RyaWN0aW9uKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMubm9Fb2RSZXN0cmljdGlvbigpLHRoaXN9c2V0T3B0aW9uc0xhbmcoZSl7cmV0dXJuIHRoaXMuX29wdGlvbnMuc2V0TGFuZyhlKSx0aGlzfXJlc2V0T3B0aW9uc0xhbmcoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5yZXNldExhbmcoKSx0aGlzfWlzT3B0aW9uc0VtcHR5KCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuaXNFbXB0eSgpfWdldFN5bWJvbHMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5nZXRTdGF0ZSgpfXNldFN5bWJvbHMoZSl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc2V0U3RhdGUoZSksdGhpc31yZXNldFN5bWJvbHMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5yZXNldFN0YXRlKCksdGhpc31zZXRUaWNrZXJzKGUpe3JldHVybiB0aGlzLl9zeW1ib2xzLnNldFRpY2tlcnMoZSksdGhpc31yZXNldFRpY2tlcnMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5yZXNldFRpY2tlcnMoKSx0aGlzfXNldFN5bWJvbHNldChlKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5zZXRTeW1ib2xzZXQoZSksdGhpc31yZXNldFN5bWJvbHNldCgpe3JldHVybiB0aGlzLl9zeW1ib2xzLnJlc2V0U3ltYm9sc2V0KCksdGhpc31zZXRUeXBlcyhlKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5zZXRUeXBlcyhlKSx0aGlzfXJlc2V0VHlwZXMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5yZXNldFR5cGVzKCksdGhpc31zZXRHcm91cHMoZSl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc2V0R3JvdXBzKGUpLHRoaXN9aXNTeW1ib2xzRW1wdHkoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5pc0VtcHR5KCl9Z2V0Q29sdW1ucygpe3JldHVybiB0aGlzLl9jb2x1bW5zLmdldFN0YXRlKCl9YWRkQ29sdW1ucyhlKXtjb25zdCB0PUFycmF5LmlzQXJyYXkoZSk/ZTpbZV07Zm9yKGNvbnN0IGUgb2YgdCl0aGlzLl9jb2x1bW5zLmFkZENvbHVtbihlKTtyZXR1cm4gdGhpc31zZXRDb2x1bW5zKGUpe3JldHVybiB0aGlzLl9jb2x1bW5zLnNldFN0YXRlKGUpLHRoaXN9cmVzZXRDb2x1bW5zKCl7cmV0dXJuIHRoaXMuX2NvbHVtbnMucmVzZXRTdGF0ZSgpLHRoaXN9ZGVsZXRlQ29sdW1uKGUpe3JldHVybiB0aGlzLl9jb2x1bW5zLmRlbGV0ZUNvbHVtbihlKSx0aGlzfWlzQ29sdW1uc0VtcHR5KCl7cmV0dXJuIHRoaXMuX2NvbHVtbnMuaXNFbXB0eSgpfXNldFJhbmdlKGUpe3JldHVybiB0aGlzLl9yYW5nZS5zZXRTdGF0ZShlKSx0aGlzfWdldFJhbmdlKCl7cmV0dXJuIHRoaXMuX3JhbmdlLmdldFN0YXRlKCl9cmVzZXRSYW5nZSgpe3JldHVybiB0aGlzLl9yYW5nZS5yZXNldFN0YXRlKCksdGhpc31pc1JhbmdlRW1wdHkoKXtyZXR1cm4gdGhpcy5fcmFuZ2UuaXNFbXB0eSgpfXNldFNvcnQoZSl7cmV0dXJuIHRoaXMuX3NvcnQuc2V0U3RhdGUoZSksdGhpc31nZXRTb3J0KCl7cmV0dXJuIHRoaXMuX3NvcnQuZ2V0U3RhdGUoKX1yZXNldFNvcnQoKXtyZXR1cm4gdGhpcy5fc29ydC5yZXNldFN0YXRlKCksdGhpc31zb3J0QXNjKCl7cmV0dXJuIHRoaXMuX3NvcnQuc29ydEFzYygpLHRoaXN9c29ydERlc2MoKXtyZXR1cm4gdGhpcy5fc29ydC5zb3J0RGVzYygpLHRoaXN9c29ydEJ5KGUpe3JldHVybiB0aGlzLl9zb3J0LnNvcnRCeShlKSx0aGlzfWlzU29ydEVtcHR5KCl7cmV0dXJuIHRoaXMuX3NvcnQuaXNFbXB0eSgpfXNldFByaWNlQ29udmVyc2lvbihlKXtyZXR1cm4gdGhpcy5fcHJpY2VDb252ZXJzaW9uLnNldFByaWNlQ29udmVyc2lvbihlKSx0aGlzfWdldFByaWNlQ29udmVyc2lvbigpe3JldHVybiB0aGlzLl9wcmljZUNvbnZlcnNpb24uZ2V0U3RhdGUoKX1yZXNldFByaWNlQ29udmVyc2lvbigpe3JldHVybiB0aGlzLl9wcmljZUNvbnZlcnNpb24ucmVzZXQoKSx0aGlzfWlzUHJpY2VDb252ZXJzaW9uc0VtcHR5KCl7cmV0dXJuIHRoaXMuX3ByaWNlQ29udmVyc2lvbi5pc0VtcHR5KCl9c2V0UHJlc2V0KGUpe3JldHVybiB0aGlzLl9wcmVzZXQ9ZSx0aGlzfWdldFByZXNldCgpe3JldHVybiB0aGlzLl9wcmVzZXR9cmVzZXRQcmVzZXQoKXtyZXR1cm4gZGVsZXRlIHRoaXMuX3ByZXNldCx0aGlzfXNldEluZGV4RmlsdGVycyhlKXtyZXR1cm4gdGhpcy5faW5kZXhGaWx0ZXJzPWUsdGhpc31nZXRJbmRleEZpbHRlcnMoKXtyZXR1cm4gdGhpcy5faW5kZXhGaWx0ZXJzfXJlc2V0SW5kZXhGaWx0ZXJzKCl7cmV0dXJuIGRlbGV0ZSB0aGlzLl9pbmRleEZpbHRlcnMsdGhpc31kb05vdElnbm9yZVVua25vd25GaWVsZHMoKXtyZXR1cm4gdGhpcy5faWdub3JlVW5rbm93bkZpZWxkcz0hMSx0aGlzfWlnbm9yZVVua25vd25GaWVsZHMoKXsKcmV0dXJuIHRoaXMuX2lnbm9yZVVua25vd25GaWVsZHM9ITAsdGhpc31nZXRJZ25vcmVVbmtub3duRmllbGRzKCl7cmV0dXJuIHRoaXMuX2lnbm9yZVVua25vd25GaWVsZHN9c2V0TWFya2V0cyhlKXtyZXR1cm4gdGhpcy5fbWFya2V0cz1bLi4uZV0sdGhpc31nZXRNYXJrZXRzKCl7cmV0dXJuIHRoaXMuX21hcmtldHN9aXNNYXJrZXRzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX21hcmtldHMubGVuZ3RofWdldFdhdGNobGlzdCgpe3JldHVybiB0aGlzLmdldFN5bWJvbHMoKS53YXRjaGxpc3R9c2V0V2F0Y2hsaXN0KGUpe3JldHVybiB0aGlzLnNldFN5bWJvbHMoey4uLnRoaXMuZ2V0U3ltYm9scygpLHdhdGNobGlzdDplfSksdGhpc31yZXNldFdhdGNobGlzdCgpe3JldHVybiB0aGlzLl9zeW1ib2xzLnJlc2V0V2F0Y2hsaXN0KCksdGhpc31yZXNldFBhcmFtcygpe3JldHVybiB0aGlzLl9maWx0ZXIyPXZvaWQgMCx0aGlzLmRvTm90SWdub3JlVW5rbm93bkZpZWxkcygpLHRoaXMucmVzZXRDb2x1bW5zKCksdGhpcy5yZXNldEZpbHRlcnMoKSx0aGlzLnJlc2V0RmlsdGVyT1IoKSx0aGlzLnJlc2V0T3B0aW9ucygpLHRoaXMucmVzZXRQcmljZUNvbnZlcnNpb24oKSx0aGlzLnJlc2V0UmFuZ2UoKSx0aGlzLnJlc2V0U3ltYm9scygpLHRoaXMucmVzZXRJbmRleEZpbHRlcnMoKSx0aGlzLnJlc2V0V2F0Y2hsaXN0KCksdGhpc319fSwzMjMwMjcoZSx0LHMpe3MuZCh0LHtTb3J0OigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3Rvcigpe3RoaXMuX3NvcnQ9e319c2V0U3RhdGUoZSl7cmV0dXJuIHRoaXMuX3NvcnQ9ZSx0aGlzfWdldFN0YXRlKCl7cmV0dXJuey4uLnRoaXMuX3NvcnR9fXNvcnRCeShlKXtyZXR1cm4gdGhpcy5fc29ydC5zb3J0Qnk9ZSx0aGlzLl9zb3J0LnNvcnRPcmRlcnx8dGhpcy5zb3J0RGVzYygpLHRoaXN9c29ydEFzYygpe3JldHVybiB0aGlzLl9zb3J0LnNvcnRCeSYmKHRoaXMuX3NvcnQuc29ydE9yZGVyPSJhc2MiKSx0aGlzfXNvcnREZXNjKCl7cmV0dXJuIHRoaXMuX3NvcnQuc29ydEJ5JiYodGhpcy5fc29ydC5zb3J0T3JkZXI9ImRlc2MiKSx0aGlzfXJlc2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fc29ydD17fSx0aGlzfWlzRW1wdHkoKXtyZXR1cm4gMD09PU9iamVjdC52YWx1ZXModGhpcy5fc29ydCkubGVuZ3RofX19LDczODgxKGUsdCxzKXtzLmQodCx7U3ltYm9sczooKT0+cn0pO2NsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLl9zeW1ib2xzPXt9fXNldFN0YXRlKGUpe3JldHVybiB0aGlzLl9zeW1ib2xzPWUsdGhpc31nZXRTdGF0ZSgpe2NvbnN0IGU9dGhpcy5fc3ltYm9scy5xdWVyeT97cXVlcnk6ey4uLnRoaXMuX3N5bWJvbHMucXVlcnl9fTp7fSx0PXRoaXMuX3N5bWJvbHMudGlja2Vycz97dGlja2VyczpbLi4udGhpcy5fc3ltYm9scy50aWNrZXJzXX06W10scz10aGlzLl9zeW1ib2xzLmdyb3Vwcz97Z3JvdXBzOnRoaXMuX3N5bWJvbHMuZ3JvdXBzLm1hcCgoZT0+KHt0eXBlOmUudHlwZSx2YWx1ZXM6Wy4uLmUudmFsdWVzXX0pKSl9Ont9LHI9dGhpcy5fc3ltYm9scy5zeW1ib2xzZXQ/e3N5bWJvbHNldDpbLi4udGhpcy5fc3ltYm9scy5zeW1ib2xzZXRdfTpbXSxpPXRoaXMuX3N5bWJvbHMud2F0Y2hsaXN0P3t3YXRjaGxpc3Q6e2lkOnRoaXMuX3N5bWJvbHMud2F0Y2hsaXN0LmlkfX06e307cmV0dXJuey4uLmUsLi4udCwuLi5zLC4uLnIsLi4udm9pZCAwPT09dGhpcy5fc3ltYm9scy5ibGFja19saXN0X3N5bWJvbHM/e306e2JsYWNrX2xpc3Rfc3ltYm9sczp0aGlzLl9zeW1ib2xzLmJsYWNrX2xpc3Rfc3ltYm9sc30sLi4uaX19c2V0VGlja2VycyhlKXtyZXR1cm4gdGhpcy5fc3ltYm9scy50aWNrZXJzPWUsdGhpc31yZXNldFRpY2tlcnMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy50aWNrZXJzPVtdLHRoaXN9c2V0VHlwZXMoZSl7cmV0dXJuIHRoaXMuX3N5bWJvbHM9ey4uLnRoaXMuX3N5bWJvbHMscXVlcnk6ey4uLnRoaXMuX3N5bWJvbHMucXVlcnksdHlwZXM6ZX19LHRoaXN9cmVzZXRUeXBlcygpe3JldHVybiB0aGlzLl9zeW1ib2xzPXsuLi50aGlzLl9zeW1ib2xzLHF1ZXJ5OnsuLi50aGlzLl9zeW1ib2xzLnF1ZXJ5LHR5cGVzOltdfX0sdGhpc31yZXNldFN0YXRlKCl7cmV0dXJuIHRoaXMuX3N5bWJvbHM9e30sdGhpc31zZXRHcm91cHMoZSl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuZ3JvdXBzPWUsdGhpc31yZXNldEdyb3Vwcygpe3JldHVybiBkZWxldGUgdGhpcy5fc3ltYm9scy5ncm91cHMsdGhpc31zZXRTeW1ib2xzZXQoZSl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc3ltYm9sc2V0PWUsdGhpc31yZXNldFN5bWJvbHNldCgpe3JldHVybiB0aGlzLl9zeW1ib2xzLnN5bWJvbHNldD1bXSx0aGlzfXJlc2V0V2F0Y2hsaXN0KCl7Y29uc3R7d2F0Y2hsaXN0OmUsLi4udH09dGhpcy5fc3ltYm9scztyZXR1cm4gdGhpcy5fc3ltYm9scz10LHRoaXN9aXNFbXB0eSgpe3JldHVybiAwPT09T2JqZWN0LnZhbHVlcyh0aGlzLl9zeW1ib2xzKS5sZW5ndGh9fX0sMTI4ODE0KGUsdCxzKXtzLmQodCx7UXVvdGVTZXNzaW9uU25hcHNob3RlcjooKT0+dX0pO3ZhciByPXMoOTQ4MzgwKSxpPXMoMTUwMTUwKSxuPXMoMjE0OTg3KSxvPXMoMTM4NjM4KSxhPXMoMzY3OTQ2KSxsPXMoOTcwNzc0KSxfPXMoMzA5MDUyKTtjb25zdCBjPW5ldyBNYXAoW1siY2hhbmdlIiwiY2giXSxbImxhc3RfcHJpY2UiLCJscCJdLFsiY2hhbmdlX3BlcmNlbnQiLCJjaHAiXSxbInVwZGF0ZV9tb2RlX3NlY29uZHMiLG51bGxdXSk7bmV3IE1hcChbWyJjaCIsImNoYW5nZSJdLFsibHAiLCJsYXN0X3ByaWNlIl0sWyJjaHAiLCJjaGFuZ2VfcGVyY2VudCJdXSk7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlKXtpZih0aGlzLl9vblN5bWJvbERhdGE9bmV3IHIuRGVsZWdhdGUsdGhpcy5faW5jb21wbGV0ZT1uZXcgU2V0LHRoaXMuX3VwZGF0ZWRGaWVsZHM9bmV3IE1hcCx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsLHRoaXMuX2hhbmRsZXI9ZT0+e3N3aXRjaChlLm1ldGhvZCl7Y2FzZSJjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZHx8KHRoaXMuX2Nvbm5lY3RlZD0hMCx0aGlzLl9oYW5kbGVDb25uZWN0ZWQoKSk7YnJlYWsKO2Nhc2UicXVvdGVfc3ltYm9sX2RhdGEiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5faGFuZGxlU3ltYm9sRGF0YShlLnBhcmFtc1swXSk7YnJlYWs7Y2FzZSJxdW90ZV9jb21wbGV0ZWQiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5faGFuZGxlQ29tcGxldGVEYXRhKGUucGFyYW1zWzBdKTticmVhaztjYXNlImRpc2Nvbm5lY3RlZCI6dGhpcy5fY29ubmVjdGVkJiYodGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX2JhdGNoZXI9bnVsbCl9fSwwPT09ZS5maWVsZHMubGVuZ3RoKXRocm93IG5ldyBFcnJvcignU3VwcG9ydCBmb3IgZW1wdHkgImZpZWxkcyIgYXJyYXkgaXMgbm90IGltcGxlbWVudGVkJyk7Y29uc3R7cHJvdmlkZXI6dD1sLlF1b3RlU2Vzc2lvbn09ZTt0aGlzLl9maWVsZHM9bmV3IFNldChlLmZpZWxkcyksdGhpcy5fc2Vzc2lvbj1uZXcgdChlLmFwaSxbInNuYXBzaG90ZXIiLGUubmFtZSwoMCxpLnJhbmRvbUhhc2gpKCldLmZpbHRlcihCb29sZWFuKS5qb2luKCJfIikpLHRoaXMuX3Nlc3Npb24uY29ubmVjdCh0aGlzLl9oYW5kbGVyKX1nZXRTbmFwc2hvdFN5bmMoZSx0KXtjb25zdCBzPXUuY2FjaGUuZ2V0KGUpO3JldHVybiBzJiZ0aGlzLl9pc1NuYXBzaG90UmVhZHkocyx7ZmllbGRzOnQsdGltZXN0YW1wOm51bGx9KT9zOm51bGx9Z2V0U25hcHNob3RzRm9yQWxsU3luYyhlLHQpe3JldHVybiBlLm1hcCgoZT0+dGhpcy5nZXRTbmFwc2hvdFN5bmMoZSx0KSkpfWdldFNuYXBzaG90KGUsdCxzKXtjb25zdCByPXM/LnNpZ25hbD8/bnVsbCxpPXM/LmZyZXNobmVzcyxhPXZvaWQgMCE9PWk/RGF0ZS5ub3coKS1pOm51bGw7cmV0dXJuIG5ldyBQcm9taXNlKCgocyxpKT0+e2lmKHImJnIuYWJvcnRlZCl0aHJvdygwLG4uY3JlYXRlQWJvcnRFcnJvcikoKTtjb25zdCBsPSgpPT57dGhpcy5fb25TeW1ib2xEYXRhLnVuc3Vic2NyaWJlKHRoaXMsXyksaSgoMCxuLmNyZWF0ZUFib3J0RXJyb3IpKCkpfSxfPShpPWUpPT57aWYoaSE9PWUpcmV0dXJuO2NvbnN0IG49dS5jYWNoZS5nZXQoZSk7biYmdGhpcy5faXNTbmFwc2hvdFJlYWR5KG4se3RpbWVzdGFtcDphLHN5bWJvbDplLGZpZWxkczp0fSkmJih0aGlzLl9vblN5bWJvbERhdGEudW5zdWJzY3JpYmUodGhpcyxfKSxyPy5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIsbCkscyhuKSl9O2lmKCEoKCk9Pntjb25zdCByPXUuY2FjaGUuZ2V0KGUpO2lmKCFyKXJldHVybiExO2NvbnN0IGk9KDAsby5lbnN1cmVOb3ROdWxsKSh1LmNhY2hlLmdldFRpbWVzKGUpKTtyZXR1cm4hIXRoaXMuX2lzU25hcHNob3RSZWFkeShyLHtmaWVsZHM6dCxzeW1ib2w6ZSx0aW1lc3RhbXA6YSx0aW1lczppfSkmJihzKHIpLCEwKX0pKCkmJihyPy5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsbCx7b25jZTohMH0pLHRoaXMuX29uU3ltYm9sRGF0YS5zdWJzY3JpYmUodGhpcyxfKSwhdGhpcy5faW5jb21wbGV0ZS5oYXMoZSkpKXtpZih0aGlzLl91cGRhdGVkRmllbGRzLnNldChlLG5ldyBTZXQpLHRoaXMuX2luY29tcGxldGUuYWRkKGUpLCF0aGlzLl9jb25uZWN0ZWQpcmV0dXJuO2lmKG51bGw9PT10aGlzLl9iYXRjaGVyKXtjb25zdCB0PXRoaXMuX2JhdGNoZXI9e3N5bWJvbHM6bmV3IFNldChbZV0pLHByb21pc2U6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9Pnt0aGlzLl9iYXRjaGVyPT09dCYmKHRoaXMuX3Nlc3Npb24ucXVvdGVBZGRTeW1ib2xzKFsuLi50LnN5bWJvbHNdKSx0aGlzLl9iYXRjaGVyPW51bGwpfSkpfX1lbHNlIHRoaXMuX2JhdGNoZXIuc3ltYm9scy5hZGQoZSl9fSkpfWdldFNuYXBzaG90c0ZvckFsbChlLHQscyl7cmV0dXJuIFByb21pc2UuYWxsKGUubWFwKChlPT50aGlzLmdldFNuYXBzaG90KGUsdCxzKSkpKX1zdGF0aWMgcmVsYXgoZSl7cmV0dXJuIGV9c3RhdGljIGlzU3VjY2VzcyhlKXtyZXR1cm4iZXJyb3IiIT09ZS5zdGF0dXN9c3RhdGljIGhhc0FsbEZpZWxkcyhlLHQpe2Zvcihjb25zdCBzIG9mIEFycmF5LmZyb20odCkpaWYoIWUuaGFzT3duUHJvcGVydHkocykpcmV0dXJuITE7cmV0dXJuITB9X2lzU25hcHNob3RSZWFkeShlLHQpe2NvbnN0e2ZpZWxkczpzLHRpbWVzdGFtcDpyLHRpbWVzOmksc3ltYm9sOm59PXQ7cmV0dXJuImVycm9yIj09PWUuc3RhdHVzfHwobnVsbCE9PXImJmk/dGhpcy5faXNBbGxGaWVsZHNVcFRvRGF0ZShlLGkscyxyKTpudWxsIT09ciYmbj90aGlzLl9pc0FsbEZpZWxkc1VwZGF0ZWQoZSxuLHMpOnRoaXMuX2hhc0FsbEZpZWxkcyhlLHMpKX1faXNBbGxGaWVsZHNVcGRhdGVkKGUsdCxzKXtpZigiZXJyb3IiPT09ZS5zdGF0dXMpcmV0dXJuITA7Y29uc3Qgcj10aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KTtpZighcnx8IXIuc2l6ZSlyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHMpKWlmKCFyLmhhcyhlKSlyZXR1cm4hMTtyZXR1cm4hMH1faGFzQWxsRmllbGRzKGUsdCl7cmV0dXJuIHUuaGFzQWxsRmllbGRzKGUudmFsdWVzLEFycmF5LmZyb20odCkpfV9pc0FsbEZpZWxkc1VwVG9EYXRlKGUsdCxzLHIpe2lmKCJlcnJvciI9PT1lLnN0YXR1cylyZXR1cm4hMDtpZighdClyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHMpKXtjb25zdCBzPXQuZ2V0KGUpO2lmKCF0LmhhcyhlKXx8dm9pZCAwPT09cylyZXR1cm4hMTtpZihzPHIpcmV0dXJuITF9cmV0dXJuITB9X2hhbmRsZUNvbm5lY3RlZCgpe2lmKHRoaXMuX2ZpZWxkcy5zaXplPjApe2NvbnN0IGU9Wy4uLnRoaXMuX2ZpZWxkc10uZmxhdE1hcCgoZT0+e2NvbnN0IHQ9Yy5nZXQoZSk7cmV0dXJuIG51bGwhPT10P3Q/P2U6W119KSk7dGhpcy5fc2Vzc2lvbi5xdW90ZVNldEZpZWxkcyhlKX10aGlzLl9pbmNvbXBsZXRlLnNpemU+MCYmdGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnRoaXMuX2luY29tcGxldGVdKX1faGFuZGxlQ29tcGxldGVEYXRhKGUpe2NvbnN0IHQ9dS5jYWNoZS5nZXQoZSk/P3tzeW1ib2xuYW1lOmUsc3RhdHVzOiJvayIsdmFsdWVzOnt9fTt1LmNhY2hlLnVwZGF0ZSh0LHRoaXMuX2ZpZWxkcywhMCksdGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQoZSx0aGlzLl9maWVsZHMpLAp0aGlzLl9zZXNzaW9uLnF1b3RlUmVtb3ZlU3ltYm9scyhbZV0pLHRoaXMuX2luY29tcGxldGUuZGVsZXRlKGUpLHRoaXMuX29uU3ltYm9sRGF0YS5maXJlKGUpfV9oYW5kbGVTeW1ib2xEYXRhKGUpeygwLGEubm9ybWFsaXplVXBkYXRlTW9kZSkoZS52YWx1ZXMpLHUuY2FjaGUudXBkYXRlKGUsdGhpcy5fZmllbGRzLCExKTtjb25zdCB0PWUuc3ltYm9sbmFtZSxzPSgwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5fdXBkYXRlZEZpZWxkcy5nZXQodCkpLHI9bmV3IFNldChzKTtmb3IoY29uc3QgdCBvZiB0aGlzLl9maWVsZHMpZS52YWx1ZXMuaGFzT3duUHJvcGVydHkodCkmJnIuYWRkKHQpO3RoaXMuX3VwZGF0ZWRGaWVsZHMuc2V0KHQsciksImVycm9yIj09PWUuc3RhdHVzP3RoaXMuX2hhbmRsZUNvbXBsZXRlRGF0YSh0KTp0aGlzLl9vblN5bWJvbERhdGEuZmlyZSh0KX19dS5jYWNoZT1fLlFVT1RFX0ZJRUxEU19DQUNIRX0sNjE1NTQ3KGUsdCxzKXtzLmQodCx7RGV0YWlsc0RhdGFQcm92aWRlcjooKT0+QSxnZXRCb25kc1JlcXVlc3RQYXJhbXM6KCk9PkIsZ2V0RnV0dXJlc1JlcXVlc3RQYXJhbXM6KCk9PlAsZ2V0U2NyZWVuZXJSZXF1ZXN0UGFyYW1zOigpPT5NLHByZXBhcmVCb25kc0RhdGE6KCk9PnEscHJlcGFyZUZ1dHVyZXNEYXRhOigpPT54fSk7dmFyIHI9cygxNTAxNTApLGk9cygxMzg2MzgpLG49cygxODA2NjcpLG89cyg4MjcwMjkpO2NvbnN0IGE9ZT0+ImZ1dHVyZXMiPT09ZT9vLk5vblN0b2NrTWFya2V0LkZ1dHVyZXM6by5HbG9iYWxNYXJrZXQuR2xvYmFsO3ZhciBsLF89cyg2MTkxMjMpLGM9cygxNTY4MjkpLHU9cyg3MzEwOTEpLGg9cygyMTQ5ODcpLGQ9cyg3NzA4MjUpOyFmdW5jdGlvbihlKXtlLkFsbFN0b2Nrcz0iYWxsX3N0b2NrcyIsZS5TbWFsbENhcD0ic21hbGxfY2FwIixlLkxhcmdlQ2FwPSJsYXJnZV9jYXAiLGUuTGFyZ2VzdEVtcGxveWVycz0ibGFyZ2VzdF9lbXBsb3llcnMiLGUuSGlnaERpdmlkZW5kPSJoaWdoX2RpdmlkZW5kIixlLkhpZ2hlc3ROZXRJbmNvbWU9ImhpZ2hlc3RfbmV0X2luY29tZSIsZS5IaWdoZXN0Q2FzaD0iaGlnaGVzdF9jYXNoIixlLkhpZ2hlc3RQcm9maXRQZXJFbXBsb3llZT0iaGlnaGVzdF9wcm9maXRfcGVyX2VtcGxveWVlIixlLkdhaW5lcnM9ImdhaW5lcnMiLGUuTG9zZXJzPSJsb3NlcnMiLGUuVm9sdW1lTGVhZGVycz0idm9sdW1lX2xlYWRlcnMiLGUuVW51c3VhbFZvbHVtZT0idW51c3VhbF92b2x1bWUiLGUuTW9zdFZvbGF0aWxlPSJtb3N0X3ZvbGF0aWxlIixlLkhpZ2hCZXRhPSJoaWdoX2JldGEiLGUuQmVzdFBlcmZvcm1pbmc9ImJlc3RfcGVyZm9ybWluZyIsZS5IaWdoZXN0UmV2ZW51ZT0iaGlnaGVzdF9yZXZlbnVlIixlLk1vc3RFeHBlbnNpdmU9Im1vc3RfZXhwZW5zaXZlIixlLlBlbm55U3RvY2tzPSJwZW5ueV9zdG9ja3MiLGUuT3ZlcmJvdWdodD0ib3ZlcmJvdWdodCIsZS5PdmVyc29sZD0ib3ZlcnNvbGQiLGUuQWxsVGltZUhpZ2g9ImFsbF90aW1lX2hpZ2giLGUuQWxsVGltZUxvdz0iYWxsX3RpbWVfbG93IixlLkFib3ZlNTJ3a0hpZ2g9ImFib3ZlXzUyd2tfaGlnaCIsZS5CZWxvdzUyd2tMb3c9ImJlbG93XzUyd2tfbG93IixlLlByZU1hcmtldEdhaW5lcnM9InByZS1tYXJrZXQtZ2FpbmVycyIsZS5QcmVNYXJrZXRMb3NlcnM9InByZS1tYXJrZXQtbG9zZXJzIixlLlByZU1hcmtldE1vc3RBY3RpdmU9InByZV9tYXJrZXRfbW9zdF9hY3RpdmUiLGUuUHJlTWFya2V0R2FwcGVycz0icHJlX21hcmtldF9nYXBwZXJzIixlLkFmdGVySG91cnNHYWluZXJzPSJhZnRlcl9ob3Vyc19nYWluZXJzIixlLkFmdGVySG91cnNMb3NlcnM9ImFmdGVyX2hvdXJzX2xvc2VycyIsZS5BY3RpdmVBZnRlckhvdXJzPSJhY3RpdmVfYWZ0ZXJfaG91cnMiLGUuUGlua1NoZWV0U3RvY2tzPSJwaW5rLXNoZWV0LXN0b2NrcyIsZS5FYXJuaW5nPSJlYXJuaW5nIixlLkNyeXB0b3BhaXJzTWFya2V0cz0iY3J5cHRvcGFpcnNfbWFya2V0cyIsZS5Ub3BEZWZpPSJ0b3AtZGVmaSIsZS5NYXJrZXRDYXBSYW5rPSJtYXJrZXQtY2FwLXJhbmsiLGUuV29ybGRzTGFyZ2VzdENvbXBhbmllcz0id29ybGRzX2xhcmdlc3RfY29tcGFuaWVzIixlLldvcmxkc05vblVzQ29tcGFuaWVzPSJ3b3JsZHNfbm9uX3VzX2NvbXBhbmllcyIsZS5Xb3JsZHNMYXJnZXN0RW1wbG95ZXJzPSJ3b3JsZHNfbGFyZ2VzdF9lbXBsb3llcnMiLGUuV29ybGRzSGlnaGVzdFJldmVudWU9Indvcmxkc19oaWdoZXN0X3JldmVudWUiLGUuV29ybGRzSGlnaGVzdFJldmVudWVQZXJFbXBsb3llZUNvbXBhbmllcz0id29ybGRzX2hpZ2hlc3RfcmV2ZW51ZV9wZXJfZW1wbG95ZWVfY29tcGFuaWVzIixlLldvcmxkc0hpZ2hlc3RQcm9maXRQZXJFbXBsb3llZUNvbXBhbmllcz0id29ybGRzX2hpZ2hlc3RfcHJvZml0X3Blcl9lbXBsb3llZV9jb21wYW5pZXMiLGUuV29ybGRzSGlnaGVzdEVhcm5pbmdzPSJ3b3JsZHNfaGlnaGVzdF9lYXJuaW5ncyIsZS5Xb3JsZHNIaWdoZXN0RGl2aWRlbmRzPSJ3b3JsZHNfaGlnaGVzdF9kaXZpZGVuZHMiLGUuV29ybGRzTGFyZ2VzdE9pbEFuZEdhc0NvbXBhbmllcz0id29ybGRzX2xhcmdlc3Rfb2lsX2FuZF9nYXNfY29tcGFuaWVzIixlLldvcmxkc0xhcmdlc3RTZW1pY29uZHVjdG9yc1Byb2R1Y2Vycz0id29ybGRzX2xhcmdlc3Rfc2VtaWNvbmR1Y3RvcnNfcHJvZHVjZXJzIixlLldvcmxkc0xhcmdlc3RUZWxlY29tbXVuaWNhdGlvbkNvbXBhbmllcz0id29ybGRzX2xhcmdlc3RfdGVsZWNvbW11bmljYXRpb25fY29tcGFuaWVzIixlLldvcmxkc0xhcmdlc3RUZWNoQ29tcGFuaWVzPSJ3b3JsZHNfbGFyZ2VzdF90ZWNoX2NvbXBhbmllcyIsZS5Xb3JsZHNMYXJnZXN0QmlvdGVjaENvbXBhbmllcz0id29ybGRzX2xhcmdlc3RfYmlvdGVjaF9jb21wYW5pZXMiLGUuV29ybGRzTGFyZ2VzdEZpbmFuY2VDb21wYW5pZXM9Indvcmxkc19sYXJnZXN0X2ZpbmFuY2VfY29tcGFuaWVzIixlLldvcmxkc0xhcmdlc3RCYW5rcz0id29ybGRzX2xhcmdlc3RfYmFua3MiLGUuV29ybGRzTGFyZ2VzdEVDb21tZXJjZUNvbXBhbmllcz0id29ybGRzX2xhcmdlc3RfZV9jb21tZXJjZV9jb21wYW5pZXMiLAplLldvcmxkc0xhcmdlc3RTb2Z0d2FyZUNvbXBhbmllcz0id29ybGRzX2xhcmdlc3Rfc29mdHdhcmVfY29tcGFuaWVzIixlLldvcmxkc0xhcmdlc3RBdXRvbWFrZXJzPSJ3b3JsZHNfbGFyZ2VzdF9hdXRvbWFrZXJzIixlLldvcmxkc0xhcmdlc3RIb3RlbHNBbmRSZXNvcnRzPSJ3b3JsZHNfbGFyZ2VzdF9ob3RlbHNfYW5kX3Jlc29ydHMiLGUuV29ybGRzTGFyZ2VzdFJlc3RhdXJhbnRDaGFpbnM9Indvcmxkc19sYXJnZXN0X3Jlc3RhdXJhbnRfY2hhaW5zIixlLldvcmxkc0xhcmdlc3RTdG9yZXM9Indvcmxkc19sYXJnZXN0X3N0b3JlcyIsZS5Xb3JsZHNMYXJnZXN0QmV2ZXJhZ2VDb21wYW5pZXM9Indvcmxkc19sYXJnZXN0X2JldmVyYWdlX2NvbXBhbmllcyIsZS5Xb3JsZHNMYXJnZXN0Rm9vZENvbXBhbmllcz0id29ybGRzX2xhcmdlc3RfZm9vZF9jb21wYW5pZXMiLGUuRnV0dXJlc0FsbD0iZnV0dXJlc19hbGwiLGUuRnV0dXJlc0FncmljdWx0dXJhbD0iZnV0dXJlc19hZ3JpY3VsdHVyYWwiLGUuRnV0dXJlc0VuZXJneT0iZnV0dXJlc19lbmVyZ3kiLGUuRnV0dXJlc0N1cnJlbmNpZXM9ImZ1dHVyZXNfY3VycmVuY2llcyIsZS5GdXR1cmVzTWV0YWxzPSJmdXR1cmVzX21ldGFscyIsZS5GdXR1cmVzV29ybGRJbmRpY2VzPSJmdXR1cmVzX3dvcmxkX2luZGljZXMiLGUuRnV0dXJlc0ludGVyZXN0UmF0ZXM9ImZ1dHVyZXNfaW50ZXJlc3RfcmF0ZXMiLGUuRnV0dXJlc0NvbnRyYWN0cz0iZnV0dXJlc19jb250cmFjdHMiLGUuQm9uZHNBbGxZaWVsZD0iYm9uZHNfYWxsX3lpZWxkIixlLkJvbmRzQWxsMTB5WWllbGQ9ImJvbmRzX2FsbF8xMHlfeWllbGQiLGUuQm9uZHNNYWpvcjEweVlpZWxkPSJib25kc19tYWpvcl8xMHlfeWllbGQiLGUuQm9uZHNBbWVyaWNhc1lpZWxkPSJib25kc19hbWVyaWNhc195aWVsZCIsZS5Cb25kc0V1cm9wZVlpZWxkPSJib25kc19ldXJvcGVfeWllbGQiLGUuQm9uZHNBc2lhWWllbGQ9ImJvbmRzX2FzaWFfeWllbGQiLGUuQm9uZHNQYWNpZmljWWllbGQ9ImJvbmRzX3BhY2lmaWNfeWllbGQiLGUuQm9uZHNNaWRkbGVFYXN0WWllbGQ9ImJvbmRzX21pZGRsZV9lYXN0X3lpZWxkIixlLkJvbmRzQWZyaWNhWWllbGQ9ImJvbmRzX2FmcmljYV95aWVsZCIsZS5Cb25kc1VTQVlpZWxkPSJib25kc191c2FfeWllbGQiLGUuQm9uZHNVS1lpZWxkPSJib25kc191a195aWVsZCIsZS5Cb25kc0VVWWllbGQ9ImJvbmRzX2V1X3lpZWxkIixlLkJvbmRzR2VybWFueVlpZWxkPSJib25kc19nZXJtYW55X3lpZWxkIixlLkJvbmRzRnJhbmNlWWllbGQ9ImJvbmRzX2ZyYW5jZV95aWVsZCIsZS5Cb25kc0NoaW5hWWllbGQ9ImJvbmRzX2NoaW5hX3lpZWxkIixlLkJvbmRzSW5kaWFZaWVsZD0iYm9uZHNfaW5kaWFfeWllbGQiLGUuQm9uZHNKYXBhbllpZWxkPSJib25kc19qYXBhbl95aWVsZCIsZS5TdG9ja3NSZWxhdGVkQm9uZHM9InN0b2Nrc19yZWxhdGVkX2JvbmRzIixlLkNvaW5NYXJrZXRDYXBSYW5rPSJjb2luX21hcmtldF9jYXBfcmFuayIsZS5Db2luVG90YWxWYWx1ZUxvY2tlZD0iY29pbl90b3RhbF92YWx1ZV9sb2NrZWQiLGUuQ29pbkRlZmk9ImNvaW5fZGVmaSIsZS5Db2luR2FpbmVycz0iY29pbl9nYWluZXJzIixlLkNvaW5Mb3NlcnM9ImNvaW5fbG9zZXJzIixlLkNvaW5MYXJnZUNhcD0iY29pbl9sYXJnZV9jYXAiLGUuQ29pblNtYWxsQ2FwPSJjb2luX3NtYWxsX2NhcCIsZS5Db2luTW9zdFRyYWRlZD0iY29pbl9tb3N0X3RyYWRlZCIsZS5Db2luTW9zdFRyYW5zYWN0aW9ucz0iY29pbl9tb3N0X3RyYW5zYWN0aW9ucyIsZS5Db2luSGlnaGVzdFRyYW5zYWN0aW9uVm9sPSJjb2luX2hpZ2hlc3RfdHJhbnNhY3Rpb25fdm9sdW1lIixlLkNvaW5Mb3dlc3RTdXBwbHk9ImNvaW5fbG93ZXN0X3N1cHBseSIsZS5Db2luSGlnaGVzdFN1cHBseT0iY29pbl9oaWdoZXN0X3N1cHBseSIsZS5Db2luTW9zdEV4cGVuc2l2ZT0iY29pbl9tb3N0X2V4cGVuc2l2ZSIsZS5Db2luTW9zdFZvbGF0aWxlPSJjb2luX21vc3Rfdm9sYXRpbGUiLGUuQ29pbkFsbFRpbWVHaWdoPSJjb2luX2FsbF90aW1lX2hpZ2giLGUuQ29pbkFsbFRpbWVMb3c9ImNvaW5fYWxsX3RpbWVfbG93IixlLkNvaW41MldlZWtIaWdoPSJjb2luXzUyX3dlZWtfaGlnaCIsZS5Db2luNTJXZWVrTG93PSJjb2luXzUyX3dlZWtfbG93IixlLkNvaW5Nb3N0QWRkcmVzc2VzV2l0aEJhbGFuY2U9ImNvaW5fbW9zdF9hZGRyZXNzZXNfd2l0aF9iYWxhbmNlIixlLkNvaW5Nb3N0QWRkcmVzc2VzQWN0aXZlPSJjb2luX21vc3RfYWRkcmVzc2VzX2FjdGl2ZSIsZS5Db2luSGlnaGVzdE9wZW5JbnRlcmVzdD0iY29pbl9oaWdoZXN0X29wZW5faW50ZXJlc3QiLGUuQ29pblJpc2luZ09wZW5JbnRlcmVzdD0iY29pbl9yaXNpbmdfb3Blbl9pbnRlcmVzdCIsZS5Db2luRnVuZGluZ0V4dHJlbWVzPSJjb2luX2Z1bmRpbmdfZXh0cmVtZXMiLGUuQ29pbkxpcXVpZGF0aW9uU3Bpa2VzPSJjb2luX3RvcF9saXF1aWRhdGlvbnMiLGUuSW5kaWNlc0N1cnJlbmN5PSJpbmRpY2VzX2N1cnJlbmN5IixlLkZvcmV4UmF0ZXNBbGw9ImZvcmV4X3JhdGVzX2FsbCIsZS5Gb3Jlc1JhdGVzTWFqb3I9ImZvcmV4X3JhdGVzX21ham9yIixlLkZvcmV4UmF0ZXNNaW5vcj0iZm9yZXhfcmF0ZXNfbWlub3IiLGUuRm9yZXhSYXRlc0V4b3RpYz0iZm9yZXhfcmF0ZXNfZXhvdGljIixlLkZvcmV4UmF0ZXNBbWVyaWNhcz0iZm9yZXhfcmF0ZXNfYW1lcmljYXMiLGUuRm9yZXhSYXRlc0V1cm9wZT0iZm9yZXhfcmF0ZXNfZXVyb3BlIixlLkZvcmV4UmF0ZXNBc2lhPSJmb3JleF9yYXRlc19hc2lhIixlLkZvcmV4UmF0ZXNQYWNpZmljPSJmb3JleF9yYXRlc19wYWNpZmljIixlLkZvcmV4UmF0ZXNNaWRkbGVFYXN0PSJmb3JleF9yYXRlc19taWRkbGVfZWFzdCIsZS5Gb3JleFJhdGVzQWZyaWNhPSJmb3JleF9yYXRlc19hZnJpY2EiLGUuSW5kaWNlc0FsbD0iaW5kaWNlc19hbGwiLGUuSW5kaWNlc01ham9yPSJpbmRpY2VzX21ham9yIixlLkluZGljZXNVUz0iaW5kaWNlc191cyIsZS5JbmRpY2VzU05QPSJpbmRpY2VzX3NucF9zZWN0b3JzIixlLkluZGljZXNBbWVyaWNhcz0iaW5kaWNlc19hbWVyaWNhcyIsCmUuSW5kaWNlc0V1cm9wZT0iaW5kaWNlc19ldXJvcGUiLGUuSW5kaWNlc0FzaWE9ImluZGljZXNfYXNpYSIsZS5JbmRpY2VzUGFjaWZpYz0iaW5kaWNlc19wYWNpZmljIixlLkluZGljZXNNaWRkbGVFYXN0PSJpbmRpY2VzX21pZGRsZV9lYXN0IixlLkluZGljZXNBZnJpY2E9ImluZGljZXNfYWZyaWNhIixlLkluZGV4Q29tcG9uZW50c01hcmtldFBhZ2VzPSJpbmRleF9jb21wb25lbnRzX21hcmtldF9wYWdlcyIsZS5TZWN0b3JzPSJtYXJrZXRfc2VjdG9ycyIsZS5JbmR1c3RyaWVzPSJtYXJrZXRfaW5kdXN0cmllcyIsZS5NYXJrZXRDb21wYW55PSJtYXJrZXRfY29tcGFueSIsZS5FdGZMYXJnZXN0PSJldGZzX21hcmtldF9wYWdlX2xhcmdlc3QiLGUuRXRmSGlnaGVzdEF1bUdyb3d0aD0iZXRmc19tYXJrZXRfaGlnaGVzdF9hdW1fZ3Jvd3RoIixlLkV0ZkhpZ2hlc3RSZXR1cm5zPSJldGZzX21hcmtldF9wYWdlX2hpZ2hlc3RfcmV0dXJuIixlLkV0Zkxvc2Vycz0iZXRmc19tYXJrZXRfcGFnZV9iaWdnZXN0X2xvc3NlcyIsZS5FdGZFcXVpdHk9ImV0ZnNfbWFya2V0X3BhZ2VfZXF1aXR5XzV5IixlLkV0ZkdvbGQ9ImV0ZnNfbWFya2V0X3BhZ2VfZ29sZCIsZS5FdGZGaXhlZEluY29tZT0iZXRmc19tYXJrZXRfcGFnZV9maXhlZF9pbmNvbWVfNXkiLGUuRXRmUmVhbEVzdGF0ZT0iZXRmc19tYXJrZXRfcGFnZV9yZWFsX2VzdGF0ZSIsZS5FdGZDb21tb2RpdGllczV5PSJldGZzX21hcmtldF9wYWdlX2NvbW1vZGl0aWVzXzV5IixlLkV0Zk1vc3RUcmFkZWRBbGxNYXJrZXRzPSJldGZzX21hcmtldF9wYWdlX21vc3RfdHJhZGVkX2FsbF9tYXJrZXRzIixlLkV0ZkhpZ2hlc3RZaWVsZD0iZXRmc19tYXJrZXRfcGFnZV9oaWdoZXN0X3lpZWxkIixlLkV0ZkRpdmlkZW5kPSJldGZzX21hcmtldF9wYWdlX2RpdmlkZW5kIixlLkV0ZkFjdGl2ZWx5TWFuYWdlZD0iZXRmc19tYXJrZXRfcGFnZV9hY3RpdmVseV9tYW5hZ2VkIixlLkV0ZkFzc2V0QWxsb2NhdGlvbjV5PSJldGZzX21hcmtldF9wYWdlX2Fzc2V0X2FsbG9jYXRpb25fNXkiLGUuRXRmU2VjdG9yPSJldGZzX21hcmtldF9wYWdlX3NlY3Rvcl9hdW0iLGUuRXRmc01hcmtldFBhZ2VEaXZpZGVuZHM9ImV0ZnNfbWFya2V0X3BhZ2VfZGl2aWRlbmRzIixlLkV0ZnNNYXJrZXRQYWdlU2VjdG9yPSJldGZzX21hcmtldF9wYWdlX3NlY3RvciIsZS5Db3VudHJ5VG9wRXRmc01vc3RUcmFkZWQ9ImNvdW50cnlfdG9wX2V0ZnNfbW9zdF90cmFkZWQiLGUuRXRmVVNBPSJldGZzX21hcmtldF9wYWdlX2NvdW50cnlfdG9wX3VzIixlLkV0ZkNhbmFkYT0iZXRmc19tYXJrZXRfcGFnZV9jb3VudHJ5X3RvcF9jYSIsZS5FdGZVSz0iZXRmc19tYXJrZXRfcGFnZV9jb3VudHJ5X3RvcF91ayIsZS5FdGZHZXJtYW55PSJldGZzX21hcmtldF9wYWdlX2NvdW50cnlfdG9wX2RlIixlLkV0ZkphcGFuPSJldGZzX21hcmtldF9wYWdlX2NvdW50cnlfdG9wX2pwIixlLkV0ZkF1c3RyYWxpYT0iZXRmc19tYXJrZXRfcGFnZV9jb3VudHJ5X3RvcF9hdSIsZS5FdGZzRXRoZXJldW09ImV0ZnNfbWFya2V0X3BhZ2VfZXRoZXJldW0iLGUuQ29ycG9yYXRlQm9uZHNIaWdoZXN0WWllbGQ9ImhpZ2hlc3RfeWllbGRfYm9uZHMiLGUuQ29ycG9yYXRlQm9uZHNTaG9ydFRlcm09InNob3J0X3Rlcm1fYm9uZHMiLGUuQ29ycG9yYXRlQm9uZHNMb25nVGVybT0ibG9uZ190ZXJtX2JvbmRzIixlLkNvcnBvcmF0ZUJvbmRzWmVyb0NvdXBvbj0iemVyb19jb3Vwb25fYm9uZHMiLGUuQ29ycG9yYXRlQm9uZHNGaXhlZFJhdGU9ImZpeGVkX3JhdGVfYm9uZHMiLGUuQ29ycG9yYXRlQm9uZHNGbG9hdGluZ1JhdGU9ImZsb2F0aW5nX3JhdGVfYm9uZHMiLGUuSXBvQ2FsZW5kYXI9Imlwb19jYWxlbmRhciJ9KGx8fChsPXt9KSk7dmFyIG09cyg2NjMwNDYpLHA9cyg4Mzk0MjYpLHk9cygzMDgzODgpLGc9cyg1OTU1MTcpLGY9cyg0MjA5ODkpO2NsYXNzIGJ7Y29uc3RydWN0b3IoKXt0aGlzLl9yZXF1ZXN0U3ltYm9sRGF0YT0oMCxtLmRlZmF1bHQpKCgoZSwuLi50KT0+KHt0aW1lOnBlcmZvcm1hbmNlLm5vdygpLGRhdGE6KDAseS5nZXRTeW1ib2xEYXRhKSguLi50KX0pKSksdGhpcy5fcmVxdWVzdFNjYW5EYXRhPSgwLG0uZGVmYXVsdCkoKChlLC4uLnQpPT4oe3RpbWU6cGVyZm9ybWFuY2Uubm93KCksZGF0YTooMCxnLmdldFNjYW5EYXRhKSguLi50KX0pKSksdGhpcy5fcmVxdWVzdEJvbmRzPSgwLG0uZGVmYXVsdCkoKChlLC4uLnQpPT4oe3RpbWU6cGVyZm9ybWFuY2Uubm93KCksZGF0YTooMCxmLmdldEJvbmRzKSguLi50KX0pKSksdGhpcy5fcmVxdWVzdEZ1dHVyZXNDb250cmFjdHM9KDAsbS5kZWZhdWx0KSgoKGUsLi4udCk9Pih7dGltZTpwZXJmb3JtYW5jZS5ub3coKSxkYXRhOigwLGYuZ2V0RnV0dXJlc0NvbnRyYWN0cykoLi4udCl9KSkpfWdldFN5bWJvbERhdGEoZSwuLi50KXtyZXR1cm4gdGhpcy5fY2xlYXJJZlN0YWxlKGUsdGhpcy5fcmVxdWVzdFN5bWJvbERhdGEuY2FjaGUpLHRoaXMuX3JlcXVlc3RTeW1ib2xEYXRhKGUsLi4udCkuZGF0YX1nZXRTY2FuRGF0YShlLC4uLnQpe3JldHVybiB0aGlzLl9jbGVhcklmU3RhbGUoZSx0aGlzLl9yZXF1ZXN0U2NhbkRhdGEuY2FjaGUpLHRoaXMuX3JlcXVlc3RTY2FuRGF0YShlLC4uLnQpLmRhdGF9Z2V0Qm9uZHMoZSwuLi50KXtyZXR1cm4gdGhpcy5fY2xlYXJJZlN0YWxlKGUsdGhpcy5fcmVxdWVzdEJvbmRzLmNhY2hlKSx0aGlzLl9yZXF1ZXN0Qm9uZHMoZSwuLi50KS5kYXRhfWdldEZ1dHVyZXNDb250cmFjdHMoZSwuLi50KXtyZXR1cm4gdGhpcy5fY2xlYXJJZlN0YWxlKGUsdGhpcy5fcmVxdWVzdEZ1dHVyZXNDb250cmFjdHMuY2FjaGUpLHRoaXMuX3JlcXVlc3RGdXR1cmVzQ29udHJhY3RzKGUsLi4udCkuZGF0YX1fY2xlYXJJZlN0YWxlKGUsdCl7Y29uc3Qgcz10LmdldChlKTtzJiZNYXRoLmFicyhzLnRpbWUtcGVyZm9ybWFuY2Uubm93KCkpPjVlMyYmdC5kZWxldGUoZSl9fWNvbnN0IHY9KDAsCnAuZGVmYXVsdCkoKCgpPT5uZXcgYikpLFM9WyJwcmljZV81Ml93ZWVrX2hpZ2giLCJwcmljZV81Ml93ZWVrX2xvdyIsInNlY3RvciIsImNvdW50cnkiLCJtYXJrZXQiLCJMb3cuMU0iLCJIaWdoLjFNIiwiUGVyZi5XIiwiUGVyZi4xTSIsIlBlcmYuM00iLCJQZXJmLjZNIiwiUGVyZi5ZIiwiUGVyZi5ZVEQiLCJSZWNvbW1lbmQuQWxsIiwiYXZlcmFnZV92b2x1bWVfMTBkX2NhbGMiLCJhdmVyYWdlX3ZvbHVtZV8zMGRfY2FsYyIsIm5hdl9kaXNjb3VudF9wcmVtaXVtIiwib3Blbl9pbnRlcmVzdCIsImNvdW50cnlfY29kZV9mdW5kIiwiaXYiLCJ1bmRlcmx5aW5nX3N5bWJvbCIsImRlbHRhIiwiZ2FtbWEiLCJyaG8iLCJ0aGV0YSIsInZlZ2EiLCJ0aGVvUHJpY2UiXSxDPVsiZXhwaXJhdGlvbiIsImNsb3NlIiwicHJpY2VzY2FsZSIsIm1pbm1vdiJdLGs9WyJtYXJrZXRfY2FwX2NhbGMiLCJtYXJrZXRfY2FwX2RpbHV0ZWRfY2FsYyIsInRvdGFsX3NoYXJlc19vdXRzdGFuZGluZyIsInRvdGFsX3ZhbHVlX3RyYWRlZCIsIjI0aF92b2xfdG9fbWFya2V0X2NhcCIsImZ1bGx5X2RpbHV0ZWRfdmFsdWUiLCJkZXhfdG90YWxfbGlxdWlkaXR5IiwiZGV4X3RyYWRpbmdfdm9sdW1lXzI0aCJdLHc9WyIyNGhfdm9sX3RvX21hcmtldF9jYXAiXSxEPVsiZnVuZGluZ19yYXRlIiwib3Blbl9pbnRlcmVzdCIsImxpcXVpZGF0aW9uc192b2x1bWVfMjRoIl0sRT1bIlBlcmYuM1kiLCJQZXJmLjVZIiwibmF2X3RvdGFsX3JldHVybi4xTSIsIm5hdl90b3RhbF9yZXR1cm4uM00iLCJuYXZfdG90YWxfcmV0dXJuLjFZIiwibmF2X3RvdGFsX3JldHVybi5ZVEQiLCJuYXZfdG90YWxfcmV0dXJuLjNZIiwibmF2X3RvdGFsX3JldHVybi41WSJdLEY9WyJtYXR1cml0eV9kYXRlIiwiY2xvc2UiLCJjb3Vwb24iLCJ0eXBlc3BlY3MiLCJwcmljZXNjYWxlIiwiZnJhY3Rpb25hbCIsIm1pbm1vdiIsIm1pbm1vdmUyIiwidGVybS10by1tYXR1cml0eSIsImRheXNfdG9fbWF0dXJpdHkiLCJjb3VudHJ5X2NvZGVfZnVuZCJdLFI9WyJ5aWVsZF90b19tYXR1cml0eSIsIm1hdHVyaXR5X2RhdGUiXTtjbGFzcyBBe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9zdWJzY3JpYmVkPSExLHRoaXMuX2Z1dHVyZXM9W10sdGhpcy5fYm9uZHM9W10sdGhpcy5fc3RvY2tzUmVsYXRlZEJvbmRzRGF0YT1bXSx0aGlzLl9jcnlwdG9EYXRhPW51bGwsdGhpcy5fY3J5cHRvQXNzZXREYXRhPW51bGwsdGhpcy5fY3J5cHRvRGVyaXZhdGl2ZURhdGE9bnVsbCx0aGlzLl91bmRlcmx5aW5nU3ltYm9sRGF0YT1udWxsLHRoaXMuX2V0ZkRhdGE9bnVsbCx0aGlzLl9jb250cmFjdEZ1dHVyZXNSZXF1ZXN0PW51bGwsdGhpcy5fdW5kZXJseWluZ1N5bWJvbD1udWxsLHRoaXMuX2RleENvbnZlcnRlZFN5bWJvbD1udWxsLHRoaXMuX3NjcmVlbmVyQ3J5cHRvUmVxdWVzdD1udWxsLHRoaXMuX3NjcmVlbmVyQ3J5cHRvQXNzZXRSZXF1ZXN0PW51bGwsdGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlUmVxdWVzdD1udWxsLHRoaXMuX3NjcmVlbmVyRXRmUmVxdWVzdD1udWxsLHRoaXMuX2NvbnRyYWN0Qm9uZHNSZXF1ZXN0PW51bGwsdGhpcy5fc3RvY2tzUmVsYXRlZEJvbmRzUmVxdWVzdD1udWxsLHRoaXMuX3NjcmVlbmVyRGF0YT17fSx0aGlzLl9kZXhDb252ZXJ0ZWRTeW1ib2xEYXRhPW51bGwsdGhpcy5fc2NyZWVuZXJSZXF1ZXN0PW51bGwsdGhpcy5fcmVzcG9uc2U9bnVsbCx0aGlzLl9zY3JlZW5lckNvbXBsZXRlPW51bGwsdGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlQ29tcGxldGU9bnVsbCx0aGlzLl9ib25kc0NvbXBsZXRlPW51bGwsdGhpcy5fZnV0dXJlc0NvbXBsZXRlPW51bGwsdGhpcy5fcHJvZHVjdExhYmVsPW51bGwsdGhpcy5fc3ltYm9sPWUuc3ltYm9sLHRoaXMuX2NsaWVudElkPSgwLHIuZ3VpZCkoKSx0aGlzLl9wcm9kdWN0TGFiZWw9ZS5sYWJlbD8/bnVsbCx0aGlzLl9xdW90ZVNlc3Npb25NdWx0aXBsZXhlckluc3RhbmNlPWUucXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXJJbnN0YW5jZX1zZXRIYW5kbGVyKGUpe3RoaXMuX2Rlc3Ryb3llZHx8dGhpcy5fc3Vic2NyaWJlZHx8KHRoaXMuX3N1YnNjcmliZWQ9ITAsdGhpcy5fcXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXJJbnN0YW5jZS5zdWJzY3JpYmUodGhpcy5fY2xpZW50SWQsdGhpcy5fc3ltYm9sLCh0PT57dGhpcy5fY2hlY2tEYXRhSGFuZGxlcih0LGUpfSkpKX1kZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkPSEwLHRoaXMuX3N1YnNjcmliZWQ9ITEsdGhpcy5fcXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXJJbnN0YW5jZS51bnN1YnNjcmliZSh0aGlzLl9jbGllbnRJZCx0aGlzLl9zeW1ib2wpLHRoaXMuX3VuZGVybHlpbmdTeW1ib2wmJnRoaXMuX3F1b3RlU2Vzc2lvbk11bHRpcGxleGVySW5zdGFuY2UudW5zdWJzY3JpYmUodGhpcy5fY2xpZW50SWQsdGhpcy5fdW5kZXJseWluZ1N5bWJvbCksdGhpcy5fZGV4Q29udmVydGVkU3ltYm9sJiZ0aGlzLl9xdW90ZVNlc3Npb25NdWx0aXBsZXhlckluc3RhbmNlLnVuc3Vic2NyaWJlKHRoaXMuX2NsaWVudElkLHRoaXMuX2RleENvbnZlcnRlZFN5bWJvbCl9X21lcmdlRGF0YUhhbmRsZXIoZSl7Y29uc3QgdD0oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Jlc3BvbnNlKSxzPXtzeW1ib2w6dGhpcy5fc3ltYm9sLHF1b3Rlczp7Li4udC52YWx1ZXN9LHNjcmVlbmVyOnt9LGFnZ3JlZ2F0ZWQ6e2Z1dHVyZXM6dGhpcy5fZnV0dXJlcyxib25kczp0aGlzLl9ib25kcyxjcnlwdG9fZGF0YTp0aGlzLl9jcnlwdG9EYXRhLGV0Zl9kYXRhOnRoaXMuX2V0ZkRhdGEsY3J5cHRvX2Fzc2V0X2RhdGE6dGhpcy5fY3J5cHRvQXNzZXREYXRhLGNyeXB0b19kZXJpdmF0aXZlX2RhdGE6dGhpcy5fY3J5cHRvRGVyaXZhdGl2ZURhdGEsdW5kZXJseWluZ19zeW1ib2xfZGF0YTp0aGlzLl91bmRlcmx5aW5nU3ltYm9sRGF0YSxkZXhfY29udmVydGVkX3N5bWJvbF9kYXRhOnRoaXMuX2RleENvbnZlcnRlZFN5bWJvbERhdGEsc3RvY2tzX3JlbGF0ZWRfYm9uZHNfZGF0YTp0aGlzLl9zdG9ja3NSZWxhdGVkQm9uZHNEYXRhfX07Uy5mb3JFYWNoKChlPT57CnZvaWQgMCE9PXRoaXMuX3NjcmVlbmVyRGF0YVtlXSYmbnVsbCE9PXRoaXMuX3NjcmVlbmVyRGF0YVtlXSYmKHMuc2NyZWVuZXJbZV09dGhpcy5fc2NyZWVuZXJEYXRhW2VdKX0pKTtjb25zdCByPXsuLi50LHZhbHVlczpzfTtudWxsPT09dGhpcy5fc2NyZWVuZXJDb21wbGV0ZSYmdC5jb21wbGV0ZSYmbnVsbD09PXRoaXMuX3NjcmVlbmVyUmVxdWVzdCYmKHRoaXMuX3NjcmVlbmVyQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCkpLHRoaXMuX3NjcmVlbmVyQ29tcGxldGUmJihyLmNvbXBsZXRlU2NyZWVuZXI9dGhpcy5fc2NyZWVuZXJDb21wbGV0ZSxudWxsPT09dGhpcy5fY29udHJhY3RCb25kc1JlcXVlc3QmJih0aGlzLl9jb250cmFjdEJvbmRzUmVxdWVzdD10aGlzLl9yZXF1ZXN0Qm9uZENvbnRyYWN0cyhyLGUpKSksdGhpcy5fYm9uZHNDb21wbGV0ZSYmKHIuYm9uZHNDb21wbGV0ZT10aGlzLl9ib25kc0NvbXBsZXRlKSxudWxsPT09dGhpcy5fZnV0dXJlc0NvbXBsZXRlJiZ0LmNvbXBsZXRlJiZudWxsPT09dGhpcy5fY29udHJhY3RGdXR1cmVzUmVxdWVzdCYmKHRoaXMuX2Z1dHVyZXNDb21wbGV0ZT1wZXJmb3JtYW5jZS5ub3coKSksdGhpcy5fZnV0dXJlc0NvbXBsZXRlJiYoci5mdXR1cmVzQ29tcGxldGU9dGhpcy5fZnV0dXJlc0NvbXBsZXRlKSxudWxsPT09dGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlQ29tcGxldGUmJnQuY29tcGxldGUmJm51bGw9PT10aGlzLl9zY3JlZW5lckNyeXB0b0Rlcml2YXRpdmVSZXF1ZXN0JiYodGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCkpLHRoaXMuX3NjcmVlbmVyQ3J5cHRvRGVyaXZhdGl2ZUNvbXBsZXRlJiYoci5jcnlwdG9EZXJpdmF0aXZlQ29tcGxldGU9dGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlQ29tcGxldGUpLGUocil9X2NoZWNrRGF0YUhhbmRsZXIoZSx0KXt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9yZXNwb25zZT1lLG51bGw9PT10aGlzLl9zY3JlZW5lclJlcXVlc3QmJih0aGlzLl9zY3JlZW5lclJlcXVlc3Q9dGhpcy5fcmVxdWVzdFNjcmVlbmVyKGUsdCkpLG51bGw9PT10aGlzLl9zY3JlZW5lckNyeXB0b1JlcXVlc3QmJih0aGlzLl9zY3JlZW5lckNyeXB0b1JlcXVlc3Q9dGhpcy5fcmVxdWVzdENyeXB0b0RhdGEoZSx0KSksbnVsbD09PXRoaXMuX3NjcmVlbmVyQ3J5cHRvQXNzZXRSZXF1ZXN0JiYodGhpcy5fc2NyZWVuZXJDcnlwdG9Bc3NldFJlcXVlc3Q9dGhpcy5fcmVxdWVzdENyeXB0b0Fzc2V0RGF0YShlLHQpKSxudWxsPT09dGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlUmVxdWVzdCYmKHRoaXMuX3NjcmVlbmVyQ3J5cHRvRGVyaXZhdGl2ZVJlcXVlc3Q9dGhpcy5fcmVxdWVzdENyeXB0b0Rlcml2YXRpdmVEYXRhKGUsdCkpLG51bGw9PT10aGlzLl9zY3JlZW5lckV0ZlJlcXVlc3QmJih0aGlzLl9zY3JlZW5lckV0ZlJlcXVlc3Q9dGhpcy5fcmVxdWVzdEV0ZkRhdGEoZSx0KSksbnVsbD09PXRoaXMuX2NvbnRyYWN0RnV0dXJlc1JlcXVlc3QmJih0aGlzLl9jb250cmFjdEZ1dHVyZXNSZXF1ZXN0PXRoaXMuX3JlcXVlc3RGdXR1cmVzQ29udHJhY3RzKGUsdCkpLHRoaXMuX3VuZGVybHlpbmdTeW1ib2x8fCh0aGlzLl91bmRlcmx5aW5nU3ltYm9sPXRoaXMuX3N1YnNjcmliZVVuZGVybHlpbmdTeW1ib2xEYXRhKGUsdCkpLHRoaXMuX2RleENvbnZlcnRlZFN5bWJvbHx8KHRoaXMuX2RleENvbnZlcnRlZFN5bWJvbD10aGlzLl9zdWJzY3JpYmVEZXhDb252ZXJ0ZWRTeW1ib2xEYXRhKGUsdCkpLG51bGw9PT10aGlzLl9zdG9ja3NSZWxhdGVkQm9uZHNSZXF1ZXN0JiYodGhpcy5fc3RvY2tzUmVsYXRlZEJvbmRzUmVxdWVzdD10aGlzLl9yZXF1ZXN0U3RvY2tzUmVsYXRlZEJvbmRzKGUsdCkpLHRoaXMuX21lcmdlRGF0YUhhbmRsZXIodCkpfV9yZXF1ZXN0U3RvY2tzUmVsYXRlZEJvbmRzKGUsdCl7Y29uc3R7InN5bWJvbC1wcmltYXJ5bmFtZSI6cyxoYXNfYm9uZHM6cn09ZS52YWx1ZXM7aWYoIXN8fHZvaWQgMD09PXIpcmV0dXJuIG51bGw7aWYoIXIpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2NvbnN0IGk9KG5ldyBuLlNjYW5QYXJhbXNNYW5hZ2VyKS5zZXRDb2x1bW5zKFsuLi5SXSkuc2V0UHJlc2V0KGwuU3RvY2tzUmVsYXRlZEJvbmRzKS5zZXRSYW5nZShbMCwzXSkuc2V0SW5kZXhGaWx0ZXJzKFt7bmFtZToiYm9uZF9pc3N1ZXJfY3JfcGFyZW50X3N0b2NrX3N5bWJvbCIsdmFsdWVzOltzXX1dKTtyZXR1cm4gdigpLmdldFNjYW5EYXRhKGBzY3JlZW5lci1zdG9jay1yZWxhdGVkLWJvbmRzLSR7c31gLG51bGwsaSxvLk5vblN0b2NrTWFya2V0LkJvbmQsdGhpcy5fcHJvZHVjdExhYmVsPz92b2lkIDApLnRoZW4oKGU9PnshZS5lcnJvciYmZS5kYXRhJiYodGhpcy5fc3RvY2tzUmVsYXRlZEJvbmRzRGF0YT1lLmRhdGEucmVkdWNlKCgoZSx0KT0+e2ZvcihsZXQgcz0wO3M8Ui5sZW5ndGg7cysrKWlmKG51bGw9PT10LmRbc10pcmV0dXJuIGU7Y29uc3Qgcz1SLnJlZHVjZSgoKGUscyxyKT0+KHsuLi5lLFtzXTp0LmRbcl19KSkse3N5bWJvbDp0LnN9KTtyZXR1cm4gZS5wdXNoKHMpLGV9KSxbXSksdGhpcy5fbWVyZ2VEYXRhSGFuZGxlcih0KSl9KSkuY2F0Y2goKGU9PntpZighKDAsaC5pc0Fib3J0RXJyb3IpKGUpKXRocm93IGV9KSl9X3JlcXVlc3RGdXR1cmVzQ29udHJhY3RzKGUsdCl7Y29uc3Qgcz1QKGUudmFsdWVzKTtpZih2b2lkIDA9PT1zKXJldHVybiB0aGlzLl9mdXR1cmVzQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCksUHJvbWlzZS5yZXNvbHZlKCk7aWYobnVsbD09PXMpcmV0dXJuIG51bGw7Y29uc3R7c3ltYm9sOnIsb3B0aW9uczppLG1hcmtldDpufT1zO3JldHVybiB2KCkuZ2V0RnV0dXJlc0NvbnRyYWN0cyhgc2NyZWVuZXItZnV0dXJlcy1jb250cmFjdHMtJHtyfWAscixpLG4pLnRoZW4oKGU9Pnt0aGlzLl9mdXR1cmVzQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCksZSYmIXRoaXMuX2Rlc3Ryb3llZCYmKGUuZGF0YS5sZW5ndGgmJih0aGlzLl9mdXR1cmVzPXgoZSkpLHRoaXMuX21lcmdlRGF0YUhhbmRsZXIodCkpfSkpfQpfc3Vic2NyaWJlVW5kZXJseWluZ1N5bWJvbERhdGEoZSx0KXtjb25zdCBzPWUudmFsdWVzWyJ1bmRlcmx5aW5nLXN5bWJvbCJdO3JldHVybiBzPyh0aGlzLl9xdW90ZVNlc3Npb25NdWx0aXBsZXhlckluc3RhbmNlLnN1YnNjcmliZSh0aGlzLl9jbGllbnRJZCxzLChlPT57ZSYmIXRoaXMuX2Rlc3Ryb3llZCYmKE9iamVjdC5rZXlzKGUudmFsdWVzKS5sZW5ndGgmJih0aGlzLl91bmRlcmx5aW5nU3ltYm9sRGF0YT1lLnZhbHVlcyksdGhpcy5fbWVyZ2VEYXRhSGFuZGxlcih0KSl9KSkscyk6bnVsbH1fc3Vic2NyaWJlRGV4Q29udmVydGVkU3ltYm9sRGF0YShlLHQpe2NvbnN0IHM9ZS52YWx1ZXMuZGV4X2NvbnZlcnRlZF9zeW1ib2w7cmV0dXJuIHMmJiJVU0QiIT09ZS52YWx1ZXMuY3VycmVuY3lfaWQ/KHRoaXMuX3F1b3RlU2Vzc2lvbk11bHRpcGxleGVySW5zdGFuY2Uuc3Vic2NyaWJlKHRoaXMuX2NsaWVudElkLHMsKGU9PntlJiYhdGhpcy5fZGVzdHJveWVkJiYoT2JqZWN0LmtleXMoZS52YWx1ZXMpLmxlbmd0aCYmKHRoaXMuX2RleENvbnZlcnRlZFN5bWJvbERhdGE9ZS52YWx1ZXMpLHRoaXMuX21lcmdlRGF0YUhhbmRsZXIodCkpfSkpLHMpOm51bGx9X3JlcXVlc3RCb25kQ29udHJhY3RzKGUsdCl7Y29uc3Qgcz1CKHsuLi5lLnZhbHVlcy5xdW90ZXMsY291bnRyeV9jb2RlX2Z1bmQ6ZS52YWx1ZXMuc2NyZWVuZXI/LmNvdW50cnlfY29kZV9mdW5kfSk7aWYodm9pZCAwPT09cylyZXR1cm4gdGhpcy5fYm9uZHNDb21wbGV0ZT1wZXJmb3JtYW5jZS5ub3coKSxQcm9taXNlLnJlc29sdmUoKTtpZihudWxsPT09cylyZXR1cm4gdGhpcy5fYm9uZHNDb21wbGV0ZT1wZXJmb3JtYW5jZS5ub3coKSxudWxsO2NvbnN0e2NvdW50cnlDb2RlOnIsb3B0aW9uczppLG1hcmtldDpufT1zO3JldHVybiB2KCkuZ2V0Qm9uZHMoYHNjcmVlbmVyLWJvbmRzLSR7ZS52YWx1ZXMucXVvdGVzLnByb19uYW1lfWAscixpLG4pLnRoZW4oKGU9Pnt0aGlzLl9ib25kc0NvbXBsZXRlPXBlcmZvcm1hbmNlLm5vdygpLGUmJiF0aGlzLl9kZXN0cm95ZWQmJihlLmRhdGEubGVuZ3RoJiYodGhpcy5fYm9uZHM9cShlKSksdGhpcy5fbWVyZ2VEYXRhSGFuZGxlcih0KSl9KSl9X3JlcXVlc3RDcnlwdG9Bc3NldERhdGEoZSx0KXtjb25zdHtjcnlwdG9fYXNzZXQ6c309ZS52YWx1ZXM7cmV0dXJuIHM/digpLmdldFN5bWJvbERhdGEoYHNjcmVlbmVyLWNyeXB0by1hc3NldC0ke3N9YCxudWxsLHMsdyx0aGlzLl9wcm9kdWN0TGFiZWwpLnRoZW4oKGU9PnshdGhpcy5fZGVzdHJveWVkJiZlJiYoMCE9PU9iamVjdC5rZXlzKGUpLmxlbmd0aCYmKHRoaXMuX2NyeXB0b0Fzc2V0RGF0YT13LnJlZHVjZSgoKHQscyk9Pih7Li4udCxbc106ZVtzXX0pKSx7fSkpLHRoaXMuX21lcmdlRGF0YUhhbmRsZXIodCkpfSkpLmNhdGNoKChlPT57aWYoISgoMCxoLmlzQWJvcnRFcnJvcikoZSl8fGUgaW5zdGFuY2VvZiBkLlN5bWJvbERvZXNOb3RFeGlzdEVycm9yUmVzcG9uc2UpKXRocm93IGV9KSk6bnVsbH1fcmVxdWVzdENyeXB0b0Rlcml2YXRpdmVEYXRhKGUsdCl7Y29uc3R7dHlwZTpzfT1lLnZhbHVlcyxyPSgpPT4odGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCksUHJvbWlzZS5yZXNvbHZlKCkpO2lmKHMmJiJzcG90IiE9PXMpcmV0dXJuIHIoKTtpZighZS5jb21wbGV0ZSlyZXR1cm4gbnVsbDtjb25zdCBpPWZ1bmN0aW9uKGUpe2NvbnN0e3Byb19uYW1lOnQsY3J5cHRvX2Fzc2V0OnMsZnVuZF92aWV3X21vZGVzOnIsYmFzZV9jdXJyZW5jeV9pZDppLHR5cGU6bixjdXJyZW5jeV9pZDpvfT1lLGE9Qm9vbGVhbih0JiZzJiZ0PT09cyksbD0ic3BvdCI9PT1uJiYiVVNEIj09PW87aWYoIWEmJiFsfHwhcj8uY3J5cHRvPy5pbmNsdWRlcygiY3J5cHRvX2Rlcml2YXRpdmVfbWV0cmljc19hZ2ciKSlyZXR1cm4gbnVsbDtpZihzKXJldHVybiBzO2lmKGkpcmV0dXJuYENSWVBUTzoke2kucmVwbGFjZSgvXlhUVkMvLCIiKX1VU0RgO3JldHVybiBudWxsfShlLnZhbHVlcyk7cmV0dXJuIGk/digpLmdldFN5bWJvbERhdGEoYHNjcmVlbmVyLWNyeXB0by1kZXJpdmF0aXZlLSR7aX1gLG51bGwsaSxELHRoaXMuX3Byb2R1Y3RMYWJlbCkudGhlbigoZT0+e3RoaXMuX3NjcmVlbmVyQ3J5cHRvRGVyaXZhdGl2ZUNvbXBsZXRlPXBlcmZvcm1hbmNlLm5vdygpLCF0aGlzLl9kZXN0cm95ZWQmJmUmJigwIT09T2JqZWN0LmtleXMoZSkubGVuZ3RoJiYodGhpcy5fY3J5cHRvRGVyaXZhdGl2ZURhdGE9RC5yZWR1Y2UoKCh0LHMpPT4oey4uLnQsW3NdOmVbc119KSkse30pKSx0aGlzLl9tZXJnZURhdGFIYW5kbGVyKHQpKX0pKS5jYXRjaCgoZT0+e2lmKCEoKDAsaC5pc0Fib3J0RXJyb3IpKGUpfHxlIGluc3RhbmNlb2YgZC5TeW1ib2xEb2VzTm90RXhpc3RFcnJvclJlc3BvbnNlKSl0aHJvdyBlfSkpOnIoKX1fcmVxdWVzdENyeXB0b0RhdGEoZSx0KXtjb25zdHt0eXBlc3BlY3M6cyxwcm9fbmFtZTpyLGN1cnJlbmN5X2NvZGU6aSxkZXhfY29udmVydGVkX3N5bWJvbDpufT1lLnZhbHVlcztpZihzJiYhKDAsYy5oYXNDcnlwdG9UeXBlc3BlYykocykpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2lmKCFyKXJldHVybiBudWxsO2xldCBvPXI7aWYoIlVTRCIhPT1pKXtpZighbilyZXR1cm4gbnVsbDtvPW59cmV0dXJuIHYoKS5nZXRTeW1ib2xEYXRhKGBzY3JlZW5lci1jcnlwdG8tJHtvfWAsbnVsbCxvLGssdGhpcy5fcHJvZHVjdExhYmVsKS50aGVuKChlPT57IXRoaXMuX2Rlc3Ryb3llZCYmZSYmKDAhPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgmJih0aGlzLl9jcnlwdG9EYXRhPWsucmVkdWNlKCgodCxzKT0+KHsuLi50LFtzXTplW3NdfSkpLHt9KSksdGhpcy5fbWVyZ2VEYXRhSGFuZGxlcih0KSl9KSkuY2F0Y2goKGU9PntpZighKCgwLGguaXNBYm9ydEVycm9yKShlKXx8ZSBpbnN0YW5jZW9mIGQuU3ltYm9sRG9lc05vdEV4aXN0RXJyb3JSZXNwb25zZSkpdGhyb3cgZX0pKX1fcmVxdWVzdEV0ZkRhdGEoZSx0KXtjb25zdHt0eXBlc3BlY3M6cyxwcm9fbmFtZTpyLHR5cGU6aX09ZS52YWx1ZXM7cmV0dXJuIGkmJnMmJiEoMCwKYy5pc0V0ZikoaSxzKT9Qcm9taXNlLnJlc29sdmUoKTpyP3YoKS5nZXRTeW1ib2xEYXRhKGBzY3JlZW5lci1ldGYtJHtyfWAsbnVsbCxyLEUsdGhpcy5fcHJvZHVjdExhYmVsKS50aGVuKChlPT57IXRoaXMuX2Rlc3Ryb3llZCYmZSYmKDAhPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgmJih0aGlzLl9ldGZEYXRhPUUucmVkdWNlKCgodCxzKT0+KHsuLi50LFtzXTplW3NdfSkpLHt9KSksdGhpcy5fbWVyZ2VEYXRhSGFuZGxlcih0KSl9KSkuY2F0Y2goKGU9PntpZighKCgwLGguaXNBYm9ydEVycm9yKShlKXx8ZSBpbnN0YW5jZW9mIGQuU3ltYm9sRG9lc05vdEV4aXN0RXJyb3JSZXNwb25zZSkpdGhyb3cgZX0pKTpudWxsfV9yZXF1ZXN0U2NyZWVuZXIoZSx0KXtjb25zdCBzPU0oZS52YWx1ZXMpO2lmKHZvaWQgMD09PXMpcmV0dXJuIHRoaXMuX3NjcmVlbmVyQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCksUHJvbWlzZS5yZXNvbHZlKCk7aWYobnVsbD09PXMpcmV0dXJuIG51bGw7Y29uc3R7bmFtZTpyfT1zO3JldHVybiB2KCkuZ2V0U3ltYm9sRGF0YShgc2NyZWVuZXItZ2VuZXJpYy0ke3J9YCxudWxsLHIsUyx0aGlzLl9wcm9kdWN0TGFiZWwpLnRoZW4oKGU9PntlP3RoaXMuX2Rlc3Ryb3llZHx8KDAhPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgmJlMuZm9yRWFjaCgodD0+e2NvbnN0IHM9ZVt0XTt0aGlzLl9zY3JlZW5lckRhdGFbdF09c30pKSx0aGlzLl9zY3JlZW5lckNvbXBsZXRlPXBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX21lcmdlRGF0YUhhbmRsZXIodCkpOnRoaXMuX3NjcmVlbmVyQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCl9KSkuY2F0Y2goKGU9PntpZighKCgwLGguaXNBYm9ydEVycm9yKShlKXx8ZSBpbnN0YW5jZW9mIGQuU3ltYm9sRG9lc05vdEV4aXN0RXJyb3JSZXNwb25zZSkpdGhyb3cgZX0pKX19ZnVuY3Rpb24geChlKXtyZXR1cm4gZS5kYXRhLm1hcCgoZT0+Qy5yZWR1Y2UoKCh0LHMscik9Pih7Li4udCxbc106ImV4cGlyYXRpb24iPT09cz8oMCxfLm11dGF0ZVNpbXBsZURhdGUpKGUuZFtyXSk6ZS5kW3JdfSkpLHtzeW1ib2w6ZS5zfSkpKX1mdW5jdGlvbiBxKGUpe3JldHVybiBlLmRhdGEubWFwKChlPT5GLnJlZHVjZSgoKHQscyxyKT0+e2xldCBpO3N3aXRjaChzKXtjYXNlIm1hdHVyaXR5X2RhdGUiOmk9KDAsXy5tdXRhdGVTaW1wbGVEYXRlKShlLmRbcl0pO2JyZWFrO2Nhc2UiZnJhY3Rpb25hbCI6aT0idHJ1ZSI9PT1lLmRbcl07YnJlYWs7ZGVmYXVsdDppPWUuZFtyXX1yZXR1cm57Li4udCxbc106aX19KSx7c3ltYm9sOmUuc30pKSl9ZnVuY3Rpb24gUChlKXtjb25zdHtsaXN0ZWRfZXhjaGFuZ2U6dCxyb290OnMsdHlwZTpyfT1lO2lmKHImJiJmdXR1cmVzIiE9PXIpcmV0dXJuO2lmKCF0fHwhcnx8IXMpcmV0dXJuIG51bGw7Y29uc3QgaT17Y29sdW1uczpDLHNvcnQ6e3NvcnRCeToiZXhwaXJhdGlvbiIsc29ydE9yZGVyOiJhc2MifX07cmV0dXJue3N5bWJvbDpgJHt0fToke3N9YCxtYXJrZXQ6YSgpLG9wdGlvbnM6aX19ZnVuY3Rpb24gQihlLHQ9e2NvbHVtbnM6Rixzb3J0Ontzb3J0Qnk6Im1hdHVyaXR5X2RhdGUiLHNvcnRPcmRlcjoiYXNjIn19KXtjb25zdHtsaXN0ZWRfZXhjaGFuZ2U6cyx0eXBlOnIsdHlwZXNwZWNzOmksY291bnRyeV9jb2RlX2Z1bmQ6bn09ZTtpZihyJiYiYm9uZCIhPT1yKXJldHVybjtpZighKHMmJnImJm4mJmk/LmluY2x1ZGVzKCJnb3Zlcm5tZW50IikpKXJldHVybiBudWxsO3JldHVybntjb3VudHJ5Q29kZTpuLG1hcmtldDphKCksb3B0aW9uczp0fX1mdW5jdGlvbiBNKGUpe2lmKCFlLnR5cGV8fCFlLmxpc3RlZF9leGNoYW5nZSlyZXR1cm4gbnVsbDtpZih1LlNZTUJPTF9UWVBFX0JMQUNLX0xJU1QuaGFzKGUudHlwZSkpcmV0dXJuO2NvbnN0IHQ9ZS5wcm9fbmFtZTtyZXR1cm4gdD97bmFtZTp0LHR5cGU6ZS50eXBlfTpudWxsfX0sNDIwOTg5KGUsdCxzKXtzLmQodCx7Z2V0Qm9uZHM6KCk9PnUsZ2V0RnV0dXJlc0NvbnRyYWN0czooKT0+Y30pO3ZhciByPXMoMjIxMDYxKSxpPXMoODI3MDI5KSxuPXMoMzg0MDE3KSxvPXMoMjE0OTg3KTtjb25zdCBhPSgpPT53aW5kb3cuU0NSRUVORVJfSE9TVHx8Imh0dHBzOi8vc2Nhbm5lci50cmFkaW5ndmlldy5jb20iO2Z1bmN0aW9uIGwoZSx0PWUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2UubGVuZ3RoPjE/YCR7YSgpfS9nbG9iYWwvYDpgJHthKCl9LyR7dFswXX0vYDpgJHthKCl9LyR7dH0vYH1jb25zdCBfPSgwLHIuZ2V0TG9nZ2VyKSgiU2NyZWVuZXIuV2lkZ2V0Iik7ZnVuY3Rpb24gYyhlLHQscyl7Y29uc3Qgcj17ZmlsdGVyOlt7bGVmdDoiZXhwaXJhdGlvbiIsb3BlcmF0aW9uOiJuZW1wdHkifSx7bGVmdDoic3VidHlwZSIsb3BlcmF0aW9uOiJuZXF1YWwiLHJpZ2h0OiJjb250aW51b3VzIn1dLGluZGV4X2ZpbHRlcnM6W3tuYW1lOiJyb290Iix2YWx1ZXM6W2VdfV0sbWFya2V0czpbaS5Ob25TdG9ja01hcmtldC5GdXR1cmVzXSwuLi50fTtyZXR1cm4oMCxuLmZldGNoKShsKHMsImZ1dHVyZXMiKSsic2NhbiIse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeShyKSxjcmVkZW50aWFsczoiaW5jbHVkZSJ9KS50aGVuKChlPT5lLmpzb24oKSkpLmNhdGNoKChlPT57Xy5sb2dFcnJvcihgRmFpbGVkIHRvIGdldCBmdXR1cmVzIGNvbnRyYWN0cy4gJHtlLm1lc3NhZ2V9YCl9KSl9ZnVuY3Rpb24gdShlLHQscyxyKXtjb25zdCBhPXtmaWx0ZXI6W3tsZWZ0OiJtYXR1cml0eV9kYXRlIixvcGVyYXRpb246Im5lbXB0eSJ9LHtsZWZ0OiJjb3VudHJ5X2NvZGUiLG9wZXJhdGlvbjoiZXF1YWwiLHJpZ2h0OmV9LHtsZWZ0OiJ0eXBlc3BlY3MiLG9wZXJhdGlvbjoiaGFzIixyaWdodDoiZ292ZXJubWVudCJ9XSxzeW1ib2xzOntxdWVyeTp7dHlwZXM6WyJib25kIl19fSxtYXJrZXRzOltpLk5vblN0b2NrTWFya2V0LkJvbmRzXSwuLi50fTtyZXR1cm4oMCxuLmZldGNoKShsKHMpKyJzY2FuIix7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KGEpLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixzaWduYWw6cn0pLnRoZW4oKGU9PmUuanNvbigpKSkuY2F0Y2goKGU9PnsoMCxvLnJldGhyb3dBYm9ydEVycm9yKShlKSwKXy5sb2dFcnJvcihgRmFpbGVkIHRvIGdldCBib25kcy4gJHtlLm1lc3NhZ2V9YCl9KSl9fSw2MTkxMjMoZSx0LHMpe3MuZCh0LHttdXRhdGVTaW1wbGVEYXRlOigpPT5vfSk7dmFyIHI9cyg2MDE4NDEpLGk9cyg0OTExNjUpLG49cygxNjg4MjQpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIGUmJigwLHIuaXNOdW1iZXIpKGUpP2kuZGF0ZUZvcm1hdEZ1bmN0aW9uc1sieXl5eS1NTS1kZCJdKCgwLG4uZ2V0RGF0ZUZyb21ZWVlZTU1ERCkoZSksITApOiLigJQifX0sMTY4ODI0KGUsdCxzKXtmdW5jdGlvbiByKGUpe2NvbnN0W3QscyxyXT1mdW5jdGlvbihlKXtjb25zdCB0PWUudG9TdHJpbmcoKTtyZXR1cm5bTnVtYmVyKHQuc2xpY2UoMCw0KSksTnVtYmVyKHQuc2xpY2UoNCw2KSksTnVtYmVyKHQuc2xpY2UoNikpXX0oZSk7cmV0dXJuIG5ldyBEYXRlKHQscy0xLHIpfXMuZCh0LHtnZXREYXRlRnJvbVlZWVlNTUREOigpPT5yfSl9LDYyMzUxMShlLHQscyl7ZnVuY3Rpb24gcihlKXtsZXQgdD1udWxsO3JldHVybigpPT4obnVsbD09PXQmJih0PWUoKSksdCl9cy5kKHQse2xhenlWYWx1ZTooKT0+cn0pfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"bootstrap.smartsuppchat.com/widget/7c41989de532a7e64d010ae84a108706b1242b01.json","fqdn":"bootstrap.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"3.69.194.231","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:47.278Z","timestamp":1785141587278,"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/7c41989de532a7e64d010ae84a108706b1242b01.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://oxlofttrd.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://oxlofttrd.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 08:39:47 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: \"5d4-2aC7V1Tyt+L+/CtkLwVA43IjBe8\"\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":1492,"size_decoded":1026,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"d56aa89e58e3dfe68a972d9a030c0ff5","sha1":"d9a0bb5754f2b7e2fefc2b642f0540e3722305ef","sha256":"4b1914cdb95256282b34969dc2b32cbf76545f8962319041d0bc9e6c13c8b5df","sha512":"7e1557ebbbadf66c9321b81422957ae9101ae41b2e9929ad598eb3ecc1a5529952d29860d455b5248ffea854cd5468f0eae78c504674b26b9a6fb9eac8349480","ssdeep":"","tlshash":"98319b6e895826ed1249c7d6c5047f036abddcb771003ebeea0d0a1d70db2e5223786b","first_seen":"2026-07-27T06:14:34.295792Z","last_seen":"2026-07-27T12:12:28.972153Z","times_seen":5,"resource_available":false,"data":"eyJhaVJhdGluZ0VuYWJsZWQiOnRydWUsImFsbG93ZWREb21haW5zIjpbXSwiYnV0dG9uU3R5bGUiOiJncmVldGluZyIsImNvbG9yIjoiIzE1MTUyYyIsImNvbG9yMiI6bnVsbCwiY29sb3JHcmFkaWVudCI6dHJ1ZSwiY29uc2VudE1vZGVFbmFibGVkIjpmYWxzZSwiY3Jvc3NEb21haW5FbmFibGVkIjpmYWxzZSwiY3VzdG9tQnJhbmRpbmdFbmFibGVkIjpmYWxzZSwiY3VzdG9tQnJhbmRpbmdMaW5rIjoiIiwiY3VzdG9tQnJhbmRpbmdUZXh0IjoiIiwiZW1haWxDb250cm9sIjp0cnVlLCJmZWF0dXJlcyI6eyJhcGkiOmZhbHNlLCJjdXN0b21pemUiOmZhbHNlLCJnYSI6ZmFsc2UsImdyb3VwcyI6ZmFsc2UsInJhdGluZyI6ZmFsc2UsIndoaXRlTGFiZWwiOmZhbHNlfSwiZ29vZ2xlQW5hbHl0aWNzRW5hYmxlZCI6ZmFsc2UsImdvb2dsZUFuYWx5dGljc01hbnVhbCI6ZmFsc2UsImdvb2dsZUFuYWx5dGljc01lYXN1cmVtZW50SWRzIjpbXSwiZ3JvdXBTZWxlY3RFbmFibGVkIjpmYWxzZSwiaGVhZGVyU3R5bGUiOiJzdGFuZGFyZCIsImhpZGVPZmZsaW5lQ2hhdCI6ZmFsc2UsImhpZGVXaWRnZXQiOmZhbHNlLCJob3N0Ijoid2Vic29ja2V0LXZpc2l0b3JzLnNtYXJ0c3VwcC5jb20iLCJpbnRlcm5hbEFuYWx5dGljc0VuYWJsZWQiOmZhbHNlLCJpc0Jsb2NrZWQiOmZhbHNlLCJsYW5nIjoiZW4iLCJtb2JpbGVQb3B1cHNFbmFibGVkIjp0cnVlLCJuYW1lQ29udHJvbCI6dHJ1ZSwibnVtYmVyQ29udHJvbCI6ZmFsc2UsIm9wZW5PblRyaWdnZXIiOmZhbHNlLCJvcmllbnRhdGlvbiI6InJpZ2h0IiwicGFja2FnZU5hbWUiOiJmcmVlIiwicG9wdXBUZXh0YXJlYUVuYWJsZWQiOmZhbHNlLCJwcml2YWN5Tm90aWNlQ2hlY2tSZXF1aXJlZCI6ZmFsc2UsInByaXZhY3lOb3RpY2VFbmFibGVkIjp0cnVlLCJwcml2YWN5Tm90aWNlVXJsIjoiIiwicmF0aW5nRW5hYmxlZCI6ZmFsc2UsInJlcXVpcmVMb2dpbiI6ZmFsc2UsInRyYW5zbGF0ZXMiOnsiZW4iOnsiYnV0dG9uLmdyZWV0aW5nIjoiTGl2ZSBDaGF0IiwiY2hhdElucHV0LnBsYWNlaG9sZGVyIjoiVHlwZSB5b3VyIG1lc3NhZ2UgaGVyZSIsInN0YXR1c0Jhci5vZmZsaW5lVGV4dCI6IkhhcHB5IHRvIGFuc3dlciB5b3UgbGF0ZXIiLCJzdGF0dXNCYXIub25saW5lVGV4dCI6IldlIHJlcGx5IGltbWVkaWF0ZWx5IiwidG9wQmFyLm9mZmxpbmUuaGVsbG8iOiJTZW5kIHVzIGEgbWVzc2FnZSIsInRvcEJhci5vbmxpbmUuaGVsbG8iOiJIb3cgY2FuIHdlIGhlbHA/ICAifX0sInVybENhcmRzRW5hYmxlZCI6dHJ1ZSwid2lkZ2V0VmVyc2lvbiI6MywiaGFzSW50ZXJuYWxBcGkiOmZhbHNlLCJjb25maWciOnt9LCJicm93c2VyTGFuZyI6ImVuIiwid2lkZ2V0VHJhY2tlclVybCI6Imh0dHBzOi8vd2lkZ2V0LXRyYWNrZXIuc21hcnRzdXBwLmNvbSIsInRyYW5zbGF0aW9uc0Jhc2VVcmwiOiJodHRwczovL3RyYW5zbGF0aW9ucy5zbWFydHN1cHBjZG4uY29tIiwid2lkZ2V0VHJhY2tlckVuYWJsZWQiOmZhbHNlfQ=="}},"time_used":99,"timings":{"blocked":0,"dns":4,"connect":21,"send":0,"wait":25,"receive":0,"ssl":48},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/54681.a717110e6749f307ed6d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.113Z","timestamp":1785141584113,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/54681.a717110e6749f307ed6d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a041685-15e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 13 May 2026 06:13:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.52\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/13/2026 09:56:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3cc472550076152901294865e37ca807\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":350,"size_decoded":952,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (350), with no line terminators","md5":"f2e28dcef513e7329db6a3a69720bb48","sha1":"d2b0bc2f96723e3d74402c72a78a9a449405c692","sha256":"b2adba47f3ef9121bd8fb32842dcca6edcc4b9e36084de7724ef7244f6b03640","sha512":"97e9c6797a664f80308677fd34c5ddaafe0f74b206038c67761074bc9062d4439f8bd8aaae50193cd70d06f3baa8f30eb1fad236115eb4cda845f8dc922c1e2f","ssdeep":"","tlshash":"60e08cc3f0c6000444a341329c00b738fdaf98588b836ea4805e77304b166cf3b30dae","first_seen":"2026-05-13T13:23:52.95015Z","last_seen":"2026-07-27T14:53:25.500585Z","times_seen":2200,"resource_available":false,"data":"LmktaGlkZGVue2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmktaW52aXNpYmxle3Zpc2liaWxpdHk6aGlkZGVuIWltcG9ydGFudH0uaS1hbGlnbl9sZWZ0e3RleHQtYWxpZ246c3RhcnQhaW1wb3J0YW50fS5pLWFsaWduX3JpZ2h0e3RleHQtYWxpZ246ZW5kIWltcG9ydGFudH0uaS1hbGlnbl9jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fS5pLWZsb2F0X2xlZnR7ZmxvYXQ6aW5saW5lLXN0YXJ0IWltcG9ydGFudH0uaS1mbG9hdF9yaWdodHtmbG9hdDppbmxpbmUtZW5kIWltcG9ydGFudH0uaS1mbG9hdF9ub25le2Zsb2F0Om5vbmUhaW1wb3J0YW50fS5pLW5vLWJyZWFre3doaXRlLXNwYWNlOm5vd3JhcH0="}},"time_used":6,"timings":{"blocked":-1,"dns":2,"connect":1,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30699.1386dfaa78e6e5f6c87c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.749Z","timestamp":1785141584749,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/30699.1386dfaa78e6e5f6c87c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-67c0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0ddd9651d75fe2f40407cd7f5bcd5917\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":26560,"size_decoded":11050,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"4a29e78f7139204a8e4159e22b4457d8","sha1":"c9a58310328ae1ad0d2e0fcca742938bc1a98b9b","sha256":"6f44e98c09d8a5d97d1a874f53c5b793b1a574f733d209dad573911990ed412c","sha512":"6e07063f10462d08f62ed60257251c3083cbcf72fb69a4621dab4b090fe83d73e91ba23664e96011a1171b08aa2cd94984dbb7095b4d752d2da0f749f195715f","ssdeep":"384:DuiNnqiEZQep9G6Q+4DygstN2KZZL3Rj41wA1ggfJYXQWbyvItjIVnZKbVtO:DjheJQ+4DwN2YYpiXXuejQyo","tlshash":"3ec286c9b6d1f0a552a36561803f214bf13a3a65349ed090d722e5e0bcb95ae8137f3e","first_seen":"2026-07-23T14:00:31.735168Z","last_seen":"2026-07-27T14:50:15.497445Z","times_seen":116,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMzA2OTldLHsxMzA2OTkodCxlLHIpe3IuZChlLHtjb25maWd1cmVTdG9yZTooKT0+QSxjcmVhdGVBY3Rpb246KCk9Pl8sY3JlYXRlQXN5bmNUaHVuazooKT0+VCxjcmVhdGVEcmFmdFNhZmVTZWxlY3RvcjooKT0+dyxjcmVhdGVTbGljZTooKT0+eCxpc0FueU9mOigpPT5xLGlzRnVsZmlsbGVkOigpPT5VLGlzUGVuZGluZzooKT0+Syxpc1JlamVjdGVkOigpPT5MfSk7dmFyIG49cigzMjcyMzkpLG89cigzNjQzNTApLGk9cig3ODc3MjQpO2lmKCEvXigxOTUwOHw5NDgxOSkkLy50ZXN0KHIuaikpdmFyIHU9cig5NTM3NDkpO3ZhciBmLGE9KGY9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxlKXt0Ll9fcHJvdG9fXz1lfXx8ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmKHRbcl09ZVtyXSl9LGYodCxlKX0sZnVuY3Rpb24odCxlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9PWUpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhlKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fWYodCxlKSx0LnByb3RvdHlwZT1udWxsPT09ZT9PYmplY3QuY3JlYXRlKGUpOihyLnByb3RvdHlwZT1lLnByb3RvdHlwZSxuZXcgcil9KSxjPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbixvLGksdT17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZvWzBdKXRocm93IG9bMV07cmV0dXJuIG9bMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gaT17bmV4dDpmKDApLHRocm93OmYoMSkscmV0dXJuOmYoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihpW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLGk7ZnVuY3Rpb24gZihpKXtyZXR1cm4gZnVuY3Rpb24oZil7cmV0dXJuIGZ1bmN0aW9uKGkpe2lmKHIpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7dTspdHJ5e2lmKHI9MSxuJiYobz0yJmlbMF0/bi5yZXR1cm46aVswXT9uLnRocm93fHwoKG89bi5yZXR1cm4pJiZvLmNhbGwobiksMCk6bi5uZXh0KSYmIShvPW8uY2FsbChuLGlbMV0pKS5kb25lKXJldHVybiBvO3N3aXRjaChuPTAsbyYmKGk9WzImaVswXSxvLnZhbHVlXSksaVswXSl7Y2FzZSAwOmNhc2UgMTpvPWk7YnJlYWs7Y2FzZSA0OnJldHVybiB1LmxhYmVsKysse3ZhbHVlOmlbMV0sZG9uZTohMX07Y2FzZSA1OnUubGFiZWwrKyxuPWlbMV0saT1bMF07Y29udGludWU7Y2FzZSA3Omk9dS5vcHMucG9wKCksdS50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoIShvPXUudHJ5cywobz1vLmxlbmd0aD4wJiZvW28ubGVuZ3RoLTFdKXx8NiE9PWlbMF0mJjIhPT1pWzBdKSl7dT0wO2NvbnRpbnVlfWlmKDM9PT1pWzBdJiYoIW98fGlbMV0+b1swXSYmaVsxXTxvWzNdKSl7dS5sYWJlbD1pWzFdO2JyZWFrfWlmKDY9PT1pWzBdJiZ1LmxhYmVsPG9bMV0pe3UubGFiZWw9b1sxXSxvPWk7YnJlYWt9aWYobyYmdS5sYWJlbDxvWzJdKXt1LmxhYmVsPW9bMl0sdS5vcHMucHVzaChpKTticmVha31vWzJdJiZ1Lm9wcy5wb3AoKSx1LnRyeXMucG9wKCk7Y29udGludWV9aT1lLmNhbGwodCx1KX1jYXRjaCh0KXtpPVs2LHRdLG49MH1maW5hbGx5e3I9bz0wfWlmKDUmaVswXSl0aHJvdyBpWzFdO3JldHVybnt2YWx1ZTppWzBdP2lbMV06dm9pZCAwLGRvbmU6ITB9fShbaSxmXSl9fX0sbD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wLG49ZS5sZW5ndGgsbz10Lmxlbmd0aDtyPG47cisrLG8rKyl0W29dPWVbcl07cmV0dXJuIHR9LHM9T2JqZWN0LmRlZmluZVByb3BlcnR5LHA9T2JqZWN0LmRlZmluZVByb3BlcnRpZXMsZD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyx2PU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMseT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGg9T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxiPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gZSBpbiB0P3ModCxlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpyfSk6dFtlXT1yfSxnPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIGV8fChlPXt9KSl5LmNhbGwoZSxyKSYmYih0LHIsZVtyXSk7aWYodilmb3IodmFyIG49MCxvPXYoZSk7bjxvLmxlbmd0aDtuKyspe3I9b1tuXTtoLmNhbGwoZSxyKSYmYih0LHIsZVtyXSl9cmV0dXJuIHR9LG09ZnVuY3Rpb24odCxlKXtyZXR1cm4gcCh0LGQoZSkpfSx3PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3ZhciByPW8uY3JlYXRlU2VsZWN0b3IuYXBwbHkodm9pZCAwLHQpO3JldHVybiBmdW5jdGlvbih0KXtmb3IodmFyIGU9W10sbz0xO288YXJndW1lbnRzLmxlbmd0aDtvKyspZVtvLTFdPWFyZ3VtZW50c1tvXTtyZXR1cm4gci5hcHBseSh2b2lkIDAsbChbKDAsbi5pc0RyYWZ0KSh0KT8oMCxuLmN1cnJlbnQpKHQpOnRdLGUpKX19LE89InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9DT01QT1NFX18/d2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX0NPTVBPU0VfXzpmdW5jdGlvbigpe2lmKDAhPT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiJvYmplY3QiPT10eXBlb2YgYXJndW1lbnRzWzBdP2kuY29tcG9zZTppLmNvbXBvc2UuYXBwbHkobnVsbCxhcmd1bWVudHMpfTsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18mJndpbmRvdy5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fO2Z1bmN0aW9uIGoodCl7CmlmKCJvYmplY3QiIT10eXBlb2YgdHx8bnVsbD09PXQpcmV0dXJuITE7Zm9yKHZhciBlPXQ7bnVsbCE9PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTspZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk7cmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZih0KT09PWV9dmFyIFA9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe2Zvcih2YXIgcj1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKylyW25dPWFyZ3VtZW50c1tuXTt2YXIgbz10LmFwcGx5KHRoaXMscil8fHRoaXM7cmV0dXJuIE9iamVjdC5zZXRQcm90b3R5cGVPZihvLGUucHJvdG90eXBlKSxvfXJldHVybiBhKGUsdCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsU3ltYm9sLnNwZWNpZXMse2dldDpmdW5jdGlvbigpe3JldHVybiBlfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGUucHJvdG90eXBlLmNvbmNhdD1mdW5jdGlvbigpe2Zvcih2YXIgZT1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyllW3JdPWFyZ3VtZW50c1tyXTtyZXR1cm4gdC5wcm90b3R5cGUuY29uY2F0LmFwcGx5KHRoaXMsZSl9LGUucHJvdG90eXBlLnByZXBlbmQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10scj0wO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspdFtyXT1hcmd1bWVudHNbcl07cmV0dXJuIDE9PT10Lmxlbmd0aCYmQXJyYXkuaXNBcnJheSh0WzBdKT9uZXcoZS5iaW5kLmFwcGx5KGUsbChbdm9pZCAwXSx0WzBdLmNvbmNhdCh0aGlzKSkpKTpuZXcoZS5iaW5kLmFwcGx5KGUsbChbdm9pZCAwXSx0LmNvbmNhdCh0aGlzKSkpKX0sZX0oQXJyYXkpO2Z1bmN0aW9uIEUoKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZvaWQgMD09PXQmJih0PXt9KTt2YXIgZT10LnRodW5rLHI9dm9pZCAwPT09ZXx8ZSxuPSh0LmltbXV0YWJsZUNoZWNrLHQuc2VyaWFsaXphYmxlQ2hlY2ssbmV3IFApO3ImJigiYm9vbGVhbiI9PXR5cGVvZiByP24ucHVzaCh1LmRlZmF1bHQpOm4ucHVzaCh1LmRlZmF1bHQud2l0aEV4dHJhQXJndW1lbnQoci5leHRyYUFyZ3VtZW50KSkpOzA7cmV0dXJuIG59KHQpfX12YXIgUz0hL14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopfHxudWxsO2Z1bmN0aW9uIEEodCl7dmFyIGUscj1FKCksbj10fHx7fSxvPW4ucmVkdWNlcix1PXZvaWQgMD09PW8/dm9pZCAwOm8sZj1uLm1pZGRsZXdhcmUsYT12b2lkIDA9PT1mP3IoKTpmLGM9bi5kZXZUb29scyxzPXZvaWQgMD09PWN8fGMscD1uLnByZWxvYWRlZFN0YXRlLGQ9dm9pZCAwPT09cD92b2lkIDA6cCx2PW4uZW5oYW5jZXJzLHk9dm9pZCAwPT09dj92b2lkIDA6djtpZigiZnVuY3Rpb24iPT10eXBlb2YgdSllPXU7ZWxzZXtpZighaih1KSl0aHJvdyBuZXcgRXJyb3IoJyJyZWR1Y2VyIiBpcyBhIHJlcXVpcmVkIGFyZ3VtZW50LCBhbmQgbXVzdCBiZSBhIGZ1bmN0aW9uIG9yIGFuIG9iamVjdCBvZiBmdW5jdGlvbnMgdGhhdCBjYW4gYmUgcGFzc2VkIHRvIGNvbWJpbmVSZWR1Y2VycycpO2U9KDAsaS5jb21iaW5lUmVkdWNlcnMpKHUpfXZhciBoPWE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGgmJihoPWgociksIVMmJiFBcnJheS5pc0FycmF5KGgpKSl0aHJvdyBuZXcgRXJyb3IoIndoZW4gdXNpbmcgYSBtaWRkbGV3YXJlIGJ1aWxkZXIgZnVuY3Rpb24sIGFuIGFycmF5IG9mIG1pZGRsZXdhcmUgbXVzdCBiZSByZXR1cm5lZCIpO2lmKCFTJiZoLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiJmdW5jdGlvbiIhPXR5cGVvZiB0fSkpKXRocm93IG5ldyBFcnJvcigiZWFjaCBtaWRkbGV3YXJlIHByb3ZpZGVkIHRvIGNvbmZpZ3VyZVN0b3JlIG11c3QgYmUgYSBmdW5jdGlvbiIpO3ZhciBiPWkuYXBwbHlNaWRkbGV3YXJlLmFwcGx5KHZvaWQgMCxoKSxtPWkuY29tcG9zZTtzJiYobT1PKGcoe3RyYWNlOiFTfSwib2JqZWN0Ij09dHlwZW9mIHMmJnMpKSk7dmFyIHc9W2JdO0FycmF5LmlzQXJyYXkoeSk/dz1sKFtiXSx5KToiZnVuY3Rpb24iPT10eXBlb2YgeSYmKHc9eSh3KSk7dmFyIFA9bS5hcHBseSh2b2lkIDAsdyk7cmV0dXJuKDAsaS5jcmVhdGVTdG9yZSkoZSxkLFApfWZ1bmN0aW9uIF8odCxlKXtmdW5jdGlvbiByKCl7Zm9yKHZhciByPVtdLG49MDtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXJbbl09YXJndW1lbnRzW25dO2lmKGUpe3ZhciBvPWUuYXBwbHkodm9pZCAwLHIpO2lmKCFvKXRocm93IG5ldyBFcnJvcigicHJlcGFyZUFjdGlvbiBkaWQgbm90IHJldHVybiBhbiBvYmplY3QiKTtyZXR1cm4gZyhnKHt0eXBlOnQscGF5bG9hZDpvLnBheWxvYWR9LCJtZXRhImluIG8mJnttZXRhOm8ubWV0YX0pLCJlcnJvciJpbiBvJiZ7ZXJyb3I6by5lcnJvcn0pfXJldHVybnt0eXBlOnQscGF5bG9hZDpyWzBdfX1yZXR1cm4gci50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiIiK3R9LHIudHlwZT10LHIubWF0Y2g9ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PXR9LHJ9ZnVuY3Rpb24gRCh0KXt2YXIgZSxyPXt9LG49W10sbz17YWRkQ2FzZTpmdW5jdGlvbih0LGUpe3ZhciBuPSJzdHJpbmciPT10eXBlb2YgdD90OnQudHlwZTtpZihuIGluIHIpdGhyb3cgbmV3IEVycm9yKCJhZGRDYXNlIGNhbm5vdCBiZSBjYWxsZWQgd2l0aCB0d28gcmVkdWNlcnMgZm9yIHRoZSBzYW1lIGFjdGlvbiB0eXBlIik7cmV0dXJuIHJbbl09ZSxvfSxhZGRNYXRjaGVyOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4ucHVzaCh7bWF0Y2hlcjp0LHJlZHVjZXI6ZX0pLG99LGFkZERlZmF1bHRDYXNlOmZ1bmN0aW9uKHQpe3JldHVybiBlPXQsb319O3JldHVybiB0KG8pLFtyLG4sZV19ZnVuY3Rpb24geCh0KXt2YXIgZT10Lm5hbWUscj10LmluaXRpYWxTdGF0ZTtpZighZSl0aHJvdyBuZXcgRXJyb3IoImBuYW1lYCBpcyBhIHJlcXVpcmVkIG9wdGlvbiBmb3IgY3JlYXRlU2xpY2UiKQo7dmFyIG89dC5yZWR1Y2Vyc3x8e30saT0iZnVuY3Rpb24iPT10eXBlb2YgdC5leHRyYVJlZHVjZXJzP0QodC5leHRyYVJlZHVjZXJzKTpbdC5leHRyYVJlZHVjZXJzXSx1PWlbMF0sZj12b2lkIDA9PT11P3t9OnUsYT1pWzFdLGM9dm9pZCAwPT09YT9bXTphLHM9aVsyXSxwPXZvaWQgMD09PXM/dm9pZCAwOnMsZD1PYmplY3Qua2V5cyhvKSx2PXt9LHk9e30saD17fTtkLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciByLG4saT1vW3RdLHU9ZSsiLyIrdDsicmVkdWNlciJpbiBpPyhyPWkucmVkdWNlcixuPWkucHJlcGFyZSk6cj1pLHZbdF09cix5W3VdPXIsaFt0XT1uP18odSxuKTpfKHUpfSkpO3ZhciBiPWZ1bmN0aW9uKHQsZSxyLG8pe3ZvaWQgMD09PXImJihyPVtdKTt2YXIgaT0iZnVuY3Rpb24iPT10eXBlb2YgZT9EKGUpOltlLHIsb10sdT1pWzBdLGY9aVsxXSxhPWlbMl0sYz0oMCxuLmRlZmF1bHQpKHQsKGZ1bmN0aW9uKCl7fSkpO3JldHVybiBmdW5jdGlvbih0LGUpe3ZvaWQgMD09PXQmJih0PWMpO3ZhciByPWwoW3VbZS50eXBlXV0sZi5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybigwLHQubWF0Y2hlcikoZSl9KSkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWR1Y2VyfSkpKTtyZXR1cm4gMD09PXIuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4hIXR9KSkubGVuZ3RoJiYocj1bYV0pLHIucmVkdWNlKChmdW5jdGlvbih0LHIpe2lmKHIpe3ZhciBvO2lmKCgwLG4uaXNEcmFmdCkodCkpcmV0dXJuIHZvaWQgMD09PShvPXIodCxlKSk/dDpvO2lmKCgwLG4uaXNEcmFmdGFibGUpKHQpKXJldHVybigwLG4uZGVmYXVsdCkodCwoZnVuY3Rpb24odCl7cmV0dXJuIHIodCxlKX0pKTtpZih2b2lkIDA9PT0obz1yKHQsZSkpKXtpZihudWxsPT09dClyZXR1cm4gdDt0aHJvdyBFcnJvcigiQSBjYXNlIHJlZHVjZXIgb24gYSBub24tZHJhZnRhYmxlIHZhbHVlIG11c3Qgbm90IHJldHVybiB1bmRlZmluZWQiKX1yZXR1cm4gb31yZXR1cm4gdH0pLHQpfX0ocixnKGcoe30sZikseSksYyxwKTtyZXR1cm57bmFtZTplLHJlZHVjZXI6YixhY3Rpb25zOmgsY2FzZVJlZHVjZXJzOnZ9fXZhciBrPWZ1bmN0aW9uKHQpe3ZvaWQgMD09PXQmJih0PTIxKTtmb3IodmFyIGU9IiIscj10O3ItLTspZSs9Ik1vZHVsZVN5bWJoYXNPd25Qci0wMTIzNDU2Nzg5QUJDREVGR0hOUlZmZ2N0aVV2el9LcVlUSmtMeHBaWElqUVciWzY0Kk1hdGgucmFuZG9tKCl8MF07cmV0dXJuIGV9LEk9L14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopP251bGw6WyJuYW1lIiwibWVzc2FnZSIsInN0YWNrIiwiY29kZSJdLFI9ZnVuY3Rpb24odCxlKXt0aGlzLnBheWxvYWQ9dCx0aGlzLm1ldGE9ZX0sTj1mdW5jdGlvbih0LGUpe3RoaXMucGF5bG9hZD10LHRoaXMubWV0YT1lfSxDPWZ1bmN0aW9uKHQpe2lmKCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQpe2Zvcih2YXIgZT17fSxyPTAsbj1JO3I8bi5sZW5ndGg7cisrKXt2YXIgbz1uW3JdOyJzdHJpbmciPT10eXBlb2YgdFtvXSYmKGVbb109dFtvXSl9cmV0dXJuIGV9cmV0dXJue21lc3NhZ2U6U3RyaW5nKHQpfX07ZnVuY3Rpb24gVCh0LGUscil7dmFyIG49Xyh0KyIvZnVsZmlsbGVkIiwoZnVuY3Rpb24odCxlLHIsbil7cmV0dXJue3BheWxvYWQ6dCxtZXRhOm0oZyh7fSxufHx7fSkse2FyZzpyLHJlcXVlc3RJZDplLHJlcXVlc3RTdGF0dXM6ImZ1bGZpbGxlZCJ9KX19KSksbz1fKHQrIi9wZW5kaW5nIiwoZnVuY3Rpb24odCxlLHIpe3JldHVybntwYXlsb2FkOnZvaWQgMCxtZXRhOm0oZyh7fSxyfHx7fSkse2FyZzplLHJlcXVlc3RJZDp0LHJlcXVlc3RTdGF0dXM6InBlbmRpbmcifSl9fSkpLGk9Xyh0KyIvcmVqZWN0ZWQiLChmdW5jdGlvbih0LGUsbixvLGkpe3JldHVybntwYXlsb2FkOm8sZXJyb3I6KHImJnIuc2VyaWFsaXplRXJyb3J8fEMpKHR8fCJSZWplY3RlZCIpLG1ldGE6bShnKHt9LGl8fHt9KSx7YXJnOm4scmVxdWVzdElkOmUscmVqZWN0ZWRXaXRoVmFsdWU6ISFvLHJlcXVlc3RTdGF0dXM6InJlamVjdGVkIixhYm9ydGVkOiJBYm9ydEVycm9yIj09PShudWxsPT10P3ZvaWQgMDp0Lm5hbWUpLGNvbmRpdGlvbjoiQ29uZGl0aW9uRXJyb3IiPT09KG51bGw9PXQ/dm9pZCAwOnQubmFtZSl9KX19KSksdT0idW5kZWZpbmVkIiE9dHlwZW9mIEFib3J0Q29udHJvbGxlcj9BYm9ydENvbnRyb2xsZXI6ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7dGhpcy5zaWduYWw9e2Fib3J0ZWQ6ITEsYWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbigpe30sZGlzcGF0Y2hFdmVudDpmdW5jdGlvbigpe3JldHVybiExfSxvbmFib3J0OmZ1bmN0aW9uKCl7fSxyZW1vdmVFdmVudExpc3RlbmVyOmZ1bmN0aW9uKCl7fX19cmV0dXJuIHQucHJvdG90eXBlLmFib3J0PWZ1bmN0aW9uKCl7MH0sdH0oKTtyZXR1cm4gT2JqZWN0LmFzc2lnbigoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGYsYSxsKXt2YXIgcyxwLGQ9KG51bGwhPShzPW51bGw9PXI/dm9pZCAwOnIuaWRHZW5lcmF0b3IpP3M6aykoKSx2PW5ldyB1LHk9bmV3IFByb21pc2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHYuc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoZnVuY3Rpb24oKXtyZXR1cm4gZSh7bmFtZToiQWJvcnRFcnJvciIsbWVzc2FnZTpwfHwiQWJvcnRlZCJ9KX0pKX0pKSxoPSExO3ZhciBiPWZ1bmN0aW9uKCl7cmV0dXJuIHU9dGhpcyxzPW51bGwscD1mdW5jdGlvbigpe3ZhciB1LHMscDtyZXR1cm4gYyh0aGlzLChmdW5jdGlvbihjKXtzd2l0Y2goYy5sYWJlbCl7Y2FzZSAwOmlmKGMudHJ5cy5wdXNoKFswLDIsLDNdKSxyJiZyLmNvbmRpdGlvbiYmITE9PT1yLmNvbmRpdGlvbih0LHtnZXRTdGF0ZTphLGV4dHJhOmx9KSl0aHJvd3tuYW1lOiJDb25kaXRpb25FcnJvciIsbWVzc2FnZToiQWJvcnRlZCBkdWUgdG8gY29uZGl0aW9uIGNhbGxiYWNrIHJldHVybmluZyBmYWxzZS4ifTtyZXR1cm4gaD0hMCxmKG8oZCx0LG51bGw9PSh1PW51bGw9PXI/dm9pZCAwOnIuZ2V0UGVuZGluZ01ldGEpP3ZvaWQgMDp1LmNhbGwocix7cmVxdWVzdElkOmQsYXJnOnR9LHtnZXRTdGF0ZTphLGV4dHJhOmx9KSkpLApbNCxQcm9taXNlLnJhY2UoW3ksUHJvbWlzZS5yZXNvbHZlKGUodCx7ZGlzcGF0Y2g6ZixnZXRTdGF0ZTphLGV4dHJhOmwscmVxdWVzdElkOmQsc2lnbmFsOnYuc2lnbmFsLHJlamVjdFdpdGhWYWx1ZTpmdW5jdGlvbih0LGUpe3JldHVybiBuZXcgUih0LGUpfSxmdWxmaWxsV2l0aFZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBOKHQsZSl9fSkpLnRoZW4oKGZ1bmN0aW9uKGUpe2lmKGUgaW5zdGFuY2VvZiBSKXRocm93IGU7cmV0dXJuIGUgaW5zdGFuY2VvZiBOP24oZS5wYXlsb2FkLGQsdCxlLm1ldGEpOm4oZSxkLHQpfSkpXSldO2Nhc2UgMTpyZXR1cm4gcz1jLnNlbnQoKSxbMywzXTtjYXNlIDI6cmV0dXJuIHA9Yy5zZW50KCkscz1wIGluc3RhbmNlb2YgUj9pKG51bGwsZCx0LHAucGF5bG9hZCxwLm1ldGEpOmkocCxkLHQpLFszLDNdO2Nhc2UgMzpyZXR1cm4gciYmIXIuZGlzcGF0Y2hDb25kaXRpb25SZWplY3Rpb24mJmkubWF0Y2gocykmJnMubWV0YS5jb25kaXRpb258fGYocyksWzIsc119fSkpfSxuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxlKXt2YXIgcj1mdW5jdGlvbih0KXt0cnl7byhwLm5leHQodCkpfWNhdGNoKHQpe2UodCl9fSxuPWZ1bmN0aW9uKHQpe3RyeXtvKHAudGhyb3codCkpfWNhdGNoKHQpe2UodCl9fSxvPWZ1bmN0aW9uKGUpe3JldHVybiBlLmRvbmU/dChlLnZhbHVlKTpQcm9taXNlLnJlc29sdmUoZS52YWx1ZSkudGhlbihyLG4pfTtvKChwPXAuYXBwbHkodSxzKSkubmV4dCgpKX0pKTt2YXIgdSxzLHB9KCk7cmV0dXJuIE9iamVjdC5hc3NpZ24oYix7YWJvcnQ6ZnVuY3Rpb24odCl7aCYmKHA9dCx2LmFib3J0KCkpfSxyZXF1ZXN0SWQ6ZCxhcmc6dCx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gYi50aGVuKE0pfX0pfX0pLHtwZW5kaW5nOm8scmVqZWN0ZWQ6aSxmdWxmaWxsZWQ6bix0eXBlUHJlZml4OnR9KX1mdW5jdGlvbiBNKHQpe2lmKHQubWV0YSYmdC5tZXRhLnJlamVjdGVkV2l0aFZhbHVlKXRocm93IHQucGF5bG9hZDtpZih0LmVycm9yKXRocm93IHQuZXJyb3I7cmV0dXJuIHQucGF5bG9hZH12YXIgRj1mdW5jdGlvbih0LGUpe3JldHVybihyPXQpJiYiZnVuY3Rpb24iPT10eXBlb2Ygci5tYXRjaD90Lm1hdGNoKGUpOnQoZSk7dmFyIHJ9O2Z1bmN0aW9uIHEoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiBGKHQsZSl9KSl9fWZ1bmN0aW9uICQodCxlKXtpZighdHx8IXQubWV0YSlyZXR1cm4hMTt2YXIgcj0ic3RyaW5nIj09dHlwZW9mIHQubWV0YS5yZXF1ZXN0SWQsbj1lLmluZGV4T2YodC5tZXRhLnJlcXVlc3RTdGF0dXMpPi0xO3JldHVybiByJiZufWZ1bmN0aW9uIFcodCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHRbMF0mJiJwZW5kaW5nImluIHRbMF0mJiJmdWxmaWxsZWQiaW4gdFswXSYmInJlamVjdGVkImluIHRbMF19ZnVuY3Rpb24gSygpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4gMD09PXQubGVuZ3RoP2Z1bmN0aW9uKHQpe3JldHVybiAkKHQsWyJwZW5kaW5nIl0pfTpXKHQpP2Z1bmN0aW9uKGUpe3ZhciByPXQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5wZW5kaW5nfSkpO3JldHVybiBxLmFwcGx5KHZvaWQgMCxyKShlKX06SygpKHRbMF0pfWZ1bmN0aW9uIEwoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07cmV0dXJuIDA9PT10Lmxlbmd0aD9mdW5jdGlvbih0KXtyZXR1cm4gJCh0LFsicmVqZWN0ZWQiXSl9OlcodCk/ZnVuY3Rpb24oZSl7dmFyIHI9dC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlamVjdGVkfSkpO3JldHVybiBxLmFwcGx5KHZvaWQgMCxyKShlKX06TCgpKHRbMF0pfWZ1bmN0aW9uIFUoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07cmV0dXJuIDA9PT10Lmxlbmd0aD9mdW5jdGlvbih0KXtyZXR1cm4gJCh0LFsiZnVsZmlsbGVkIl0pfTpXKHQpP2Z1bmN0aW9uKGUpe3ZhciByPXQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5mdWxmaWxsZWR9KSk7cmV0dXJuIHEuYXBwbHkodm9pZCAwLHIpKGUpfTpVKCkodFswXSl9KDAsbi5lbmFibGVFUzUpKCl9LDMyNzIzOSh0LGUscil7ZnVuY3Rpb24gbih0KXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCxyPUFycmF5KGU+MT9lLTE6MCksbj0xO248ZTtuKyspcltuLTFdPWFyZ3VtZW50c1tuXTt0aHJvdyBFcnJvcigiW0ltbWVyXSBtaW5pZmllZCBlcnJvciBucjogIit0KyhyLmxlbmd0aD8iICIrci5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiInIit0KyInIn0pKS5qb2luKCIsIik6IiIpKyIuIEZpbmQgdGhlIGZ1bGwgZXJyb3IgYXQ6IGh0dHBzOi8vYml0Lmx5LzNjWEVLV2YiKX1mdW5jdGlvbiBvKHQpe3JldHVybiEhdCYmISF0W0ddfWZ1bmN0aW9uIGkodCl7cmV0dXJuISF0JiYoZnVuY3Rpb24odCl7aWYoIXR8fCJvYmplY3QiIT10eXBlb2YgdClyZXR1cm4hMTt2YXIgZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodCk7aWYobnVsbD09PWUpcmV0dXJuITA7dmFyIHI9T2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoZSwiY29uc3RydWN0b3IiKSYmZS5jb25zdHJ1Y3RvcjtyZXR1cm4gcj09PU9iamVjdHx8ImZ1bmN0aW9uIj09dHlwZW9mIHImJkZ1bmN0aW9uLnRvU3RyaW5nLmNhbGwocik9PT1KfSh0KXx8QXJyYXkuaXNBcnJheSh0KXx8ISF0W0JdfHwhIXQuY29uc3RydWN0b3JbQl18fGQodCl8fHYodCkpfWZ1bmN0aW9uIHUodCl7cmV0dXJuIG8odCl8fG4oMjMsdCksdFtHXS50fWZ1bmN0aW9uIGYodCxlLHIpe3ZvaWQgMD09PXImJihyPSExKSwwPT09YSh0KT8ocj9PYmplY3Qua2V5czpIKSh0KS5mb3JFYWNoKChmdW5jdGlvbihuKXtyJiYic3ltYm9sIj09dHlwZW9mIG58fGUobix0W25dLHQpfSkpOnQuZm9yRWFjaCgoZnVuY3Rpb24ocixuKXtyZXR1cm4gZShuLHIsdCl9KSl9ZnVuY3Rpb24gYSh0KXt2YXIgZT10W0ddCjtyZXR1cm4gZT9lLmk+Mz9lLmktNDplLmk6QXJyYXkuaXNBcnJheSh0KT8xOmQodCk/Mjp2KHQpPzM6MH1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIDI9PT1hKHQpP3QuaGFzKGUpOk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpfWZ1bmN0aW9uIGwodCxlKXtyZXR1cm4gMj09PWEodCk/dC5nZXQoZSk6dFtlXX1mdW5jdGlvbiBzKHQsZSxyKXt2YXIgbj1hKHQpOzI9PT1uP3Quc2V0KGUscik6Mz09PW4/KHQuZGVsZXRlKGUpLHQuYWRkKHIpKTp0W2VdPXJ9ZnVuY3Rpb24gcCh0LGUpe3JldHVybiB0PT09ZT8wIT09dHx8MS90PT0xL2U6dCE9dCYmZSE9ZX1mdW5jdGlvbiBkKHQpe3JldHVybiBVJiZ0IGluc3RhbmNlb2YgTWFwfWZ1bmN0aW9uIHYodCl7cmV0dXJuIHomJnQgaW5zdGFuY2VvZiBTZXR9ZnVuY3Rpb24geSh0KXtyZXR1cm4gdC5vfHx0LnR9ZnVuY3Rpb24gaCh0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTt2YXIgZT1RKHQpO2RlbGV0ZSBlW0ddO2Zvcih2YXIgcj1IKGUpLG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIG89cltuXSxpPWVbb107ITE9PT1pLndyaXRhYmxlJiYoaS53cml0YWJsZT0hMCxpLmNvbmZpZ3VyYWJsZT0hMCksKGkuZ2V0fHxpLnNldCkmJihlW29dPXtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsZW51bWVyYWJsZTppLmVudW1lcmFibGUsdmFsdWU6dFtvXX0pfXJldHVybiBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0KSxlKX1mdW5jdGlvbiBiKHQsZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPSExKSxtKHQpfHxvKHQpfHwhaSh0KXx8KGEodCk+MSYmKHQuc2V0PXQuYWRkPXQuY2xlYXI9dC5kZWxldGU9ZyksT2JqZWN0LmZyZWV6ZSh0KSxlJiZmKHQsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGIoZSwhMCl9KSwhMCkpLHR9ZnVuY3Rpb24gZygpe24oMil9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gbnVsbD09dHx8Im9iamVjdCIhPXR5cGVvZiB0fHxPYmplY3QuaXNGcm96ZW4odCl9ZnVuY3Rpb24gdyh0KXt2YXIgZT1ZW3RdO3JldHVybiBlfHxuKDE4LHQpLGV9ZnVuY3Rpb24gTyh0LGUpe1lbdF18fChZW3RdPWUpfWZ1bmN0aW9uIGooKXtyZXR1cm4gS31mdW5jdGlvbiBQKHQsZSl7ZSYmKHcoIlBhdGNoZXMiKSx0LnU9W10sdC5zPVtdLHQudj1lKX1mdW5jdGlvbiBFKHQpe1ModCksdC5wLmZvckVhY2goXyksdC5wPW51bGx9ZnVuY3Rpb24gUyh0KXt0PT09SyYmKEs9dC5sKX1mdW5jdGlvbiBBKHQpe3JldHVybiBLPXtwOltdLGw6SyxoOnQsbTohMCxfOjB9fWZ1bmN0aW9uIF8odCl7dmFyIGU9dFtHXTswPT09ZS5pfHwxPT09ZS5pP2UuaigpOmUuTz0hMH1mdW5jdGlvbiBEKHQsZSl7ZS5fPWUucC5sZW5ndGg7dmFyIHI9ZS5wWzBdLG89dm9pZCAwIT09dCYmdCE9PXI7cmV0dXJuIGUuaC5nfHx3KCJFUzUiKS5TKGUsdCxvKSxvPyhyW0ddLlAmJihFKGUpLG4oNCkpLGkodCkmJih0PXgoZSx0KSxlLmx8fEkoZSx0KSksZS51JiZ3KCJQYXRjaGVzIikuTShyW0ddLHQsZS51LGUucykpOnQ9eChlLHIsW10pLEUoZSksZS51JiZlLnYoZS51LGUucyksdCE9PVY/dDp2b2lkIDB9ZnVuY3Rpb24geCh0LGUscil7aWYobShlKSlyZXR1cm4gZTt2YXIgbj1lW0ddO2lmKCFuKXJldHVybiBmKGUsKGZ1bmN0aW9uKG8saSl7cmV0dXJuIGsodCxuLGUsbyxpLHIpfSksITApLGU7aWYobi5BIT09dClyZXR1cm4gZTtpZighbi5QKXJldHVybiBJKHQsbi50LCEwKSxuLnQ7aWYoIW4uSSl7bi5JPSEwLG4uQS5fLS07dmFyIG89ND09PW4uaXx8NT09PW4uaT9uLm89aChuLmspOm4ubztmKDM9PT1uLmk/bmV3IFNldChvKTpvLChmdW5jdGlvbihlLGkpe3JldHVybiBrKHQsbixvLGUsaSxyKX0pKSxJKHQsbywhMSksciYmdC51JiZ3KCJQYXRjaGVzIikuUihuLHIsdC51LHQucyl9cmV0dXJuIG4ub31mdW5jdGlvbiBrKHQsZSxyLG4sdSxmKXtpZihvKHUpKXt2YXIgYT14KHQsdSxmJiZlJiYzIT09ZS5pJiYhYyhlLkQsbik/Zi5jb25jYXQobik6dm9pZCAwKTtpZihzKHIsbixhKSwhbyhhKSlyZXR1cm47dC5tPSExfWlmKGkodSkmJiFtKHUpKXtpZighdC5oLkYmJnQuXzwxKXJldHVybjt4KHQsdSksZSYmZS5BLmx8fEkodCx1KX19ZnVuY3Rpb24gSSh0LGUscil7dm9pZCAwPT09ciYmKHI9ITEpLHQuaC5GJiZ0Lm0mJmIoZSxyKX1mdW5jdGlvbiBSKHQsZSl7dmFyIHI9dFtHXTtyZXR1cm4ocj95KHIpOnQpW2VdfWZ1bmN0aW9uIE4odCxlKXtpZihlIGluIHQpZm9yKHZhciByPU9iamVjdC5nZXRQcm90b3R5cGVPZih0KTtyOyl7dmFyIG49T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGUpO2lmKG4pcmV0dXJuIG47cj1PYmplY3QuZ2V0UHJvdG90eXBlT2Yocil9fWZ1bmN0aW9uIEModCl7dC5QfHwodC5QPSEwLHQubCYmQyh0LmwpKX1mdW5jdGlvbiBUKHQpe3Qub3x8KHQubz1oKHQudCkpfWZ1bmN0aW9uIE0odCxlLHIpe3ZhciBuPWQoZSk/dygiTWFwU2V0IikuTihlLHIpOnYoZSk/dygiTWFwU2V0IikuVChlLHIpOnQuZz9mdW5jdGlvbih0LGUpe3ZhciByPUFycmF5LmlzQXJyYXkodCksbj17aTpyPzE6MCxBOmU/ZS5BOmooKSxQOiExLEk6ITEsRDp7fSxsOmUsdCxrOm51bGwsbzpudWxsLGo6bnVsbCxDOiExfSxvPW4saT1aO3ImJihvPVtuXSxpPXR0KTt2YXIgdT1Qcm94eS5yZXZvY2FibGUobyxpKSxmPXUucmV2b2tlLGE9dS5wcm94eTtyZXR1cm4gbi5rPWEsbi5qPWYsYX0oZSxyKTp3KCJFUzUiKS5KKGUscik7cmV0dXJuKHI/ci5BOmooKSkucC5wdXNoKG4pLG59ZnVuY3Rpb24gRih0KXtyZXR1cm4gbyh0KXx8bigyMix0KSxmdW5jdGlvbiB0KGUpe2lmKCFpKGUpKXJldHVybiBlO3ZhciByLG49ZVtHXSxvPWEoZSk7aWYobil7aWYoIW4uUCYmKG4uaTw0fHwhdygiRVM1IikuSyhuKSkpcmV0dXJuIG4udDtuLkk9ITAscj1xKGUsbyksbi5JPSExfWVsc2Ugcj1xKGUsbyk7cmV0dXJuIGYociwoZnVuY3Rpb24oZSxvKXtuJiZsKG4udCxlKT09PW98fHMocixlLHQobykpfSkpLDM9PT1vP25ldyBTZXQocik6cn0odCl9ZnVuY3Rpb24gcSh0LGUpe3N3aXRjaChlKXtjYXNlIDI6CnJldHVybiBuZXcgTWFwKHQpO2Nhc2UgMzpyZXR1cm4gQXJyYXkuZnJvbSh0KX1yZXR1cm4gaCh0KX1mdW5jdGlvbiAkKCl7ZnVuY3Rpb24gdCh0LGUpe3ZhciByPWlbdF07cmV0dXJuIHI/ci5lbnVtZXJhYmxlPWU6aVt0XT1yPXtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTplLGdldDpmdW5jdGlvbigpe3ZhciBlPXRoaXNbR107cmV0dXJuIFouZ2V0KGUsdCl9LHNldDpmdW5jdGlvbihlKXt2YXIgcj10aGlzW0ddO1ouc2V0KHIsdCxlKX19LHJ9ZnVuY3Rpb24gZSh0KXtmb3IodmFyIGU9dC5sZW5ndGgtMTtlPj0wO2UtLSl7dmFyIG89dFtlXVtHXTtpZighby5QKXN3aXRjaChvLmkpe2Nhc2UgNTpuKG8pJiZDKG8pO2JyZWFrO2Nhc2UgNDpyKG8pJiZDKG8pfX19ZnVuY3Rpb24gcih0KXtmb3IodmFyIGU9dC50LHI9dC5rLG49SChyKSxvPW4ubGVuZ3RoLTE7bz49MDtvLS0pe3ZhciBpPW5bb107aWYoaSE9PUcpe3ZhciB1PWVbaV07aWYodm9pZCAwPT09dSYmIWMoZSxpKSlyZXR1cm4hMDt2YXIgZj1yW2ldLGE9ZiYmZltHXTtpZihhP2EudCE9PXU6IXAoZix1KSlyZXR1cm4hMH19dmFyIGw9ISFlW0ddO3JldHVybiBuLmxlbmd0aCE9PUgoZSkubGVuZ3RoKyhsPzA6MSl9ZnVuY3Rpb24gbih0KXt2YXIgZT10Lms7aWYoZS5sZW5ndGghPT10LnQubGVuZ3RoKXJldHVybiEwO3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxlLmxlbmd0aC0xKTtyZXR1cm4hKCFyfHxyLmdldCl9dmFyIGk9e307TygiRVM1Iix7SjpmdW5jdGlvbihlLHIpe3ZhciBuPUFycmF5LmlzQXJyYXkoZSksbz1mdW5jdGlvbihlLHIpe2lmKGUpe2Zvcih2YXIgbj1BcnJheShyLmxlbmd0aCksbz0wO288ci5sZW5ndGg7bysrKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCIiK28sdChvLCEwKSk7cmV0dXJuIG59dmFyIGk9UShyKTtkZWxldGUgaVtHXTtmb3IodmFyIHU9SChpKSxmPTA7Zjx1Lmxlbmd0aDtmKyspe3ZhciBhPXVbZl07aVthXT10KGEsZXx8ISFpW2FdLmVudW1lcmFibGUpfXJldHVybiBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZihyKSxpKX0obixlKSxpPXtpOm4/NTo0LEE6cj9yLkE6aigpLFA6ITEsSTohMSxEOnt9LGw6cix0OmUsazpvLG86bnVsbCxPOiExLEM6ITF9O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkobyxHLHt2YWx1ZTppLHdyaXRhYmxlOiEwfSksb30sUzpmdW5jdGlvbih0LHIsaSl7aT9vKHIpJiZyW0ddLkE9PT10JiZlKHQucCk6KHQudSYmZnVuY3Rpb24gdChlKXtpZihlJiYib2JqZWN0Ij09dHlwZW9mIGUpe3ZhciByPWVbR107aWYocil7dmFyIG89ci50LGk9ci5rLHU9ci5ELGE9ci5pO2lmKDQ9PT1hKWYoaSwoZnVuY3Rpb24oZSl7ZSE9PUcmJih2b2lkIDAhPT1vW2VdfHxjKG8sZSk/dVtlXXx8dChpW2VdKToodVtlXT0hMCxDKHIpKSl9KSksZihvLChmdW5jdGlvbih0KXt2b2lkIDAhPT1pW3RdfHxjKGksdCl8fCh1W3RdPSExLEMocikpfSkpO2Vsc2UgaWYoNT09PWEpe2lmKG4ocikmJihDKHIpLHUubGVuZ3RoPSEwKSxpLmxlbmd0aDxvLmxlbmd0aClmb3IodmFyIGw9aS5sZW5ndGg7bDxvLmxlbmd0aDtsKyspdVtsXT0hMTtlbHNlIGZvcih2YXIgcz1vLmxlbmd0aDtzPGkubGVuZ3RoO3MrKyl1W3NdPSEwO2Zvcih2YXIgcD1NYXRoLm1pbihpLmxlbmd0aCxvLmxlbmd0aCksZD0wO2Q8cDtkKyspdm9pZCAwPT09dVtkXSYmdChpW2RdKX19fX0odC5wWzBdKSxlKHQucCkpfSxLOmZ1bmN0aW9uKHQpe3JldHVybiA0PT09dC5pP3IodCk6bih0KX19KX1yLmQoZSx7Y3VycmVudDooKT0+RixkZWZhdWx0OigpPT5vdCxlbmFibGVFUzU6KCk9PiQsaXNEcmFmdDooKT0+byxpc0RyYWZ0YWJsZTooKT0+aSxvcmlnaW5hbDooKT0+dX0pO3ZhciBXLEssTD0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2woIngiKSxVPSJ1bmRlZmluZWQiIT10eXBlb2YgTWFwLHo9InVuZGVmaW5lZCIhPXR5cGVvZiBTZXQsWD0idW5kZWZpbmVkIiE9dHlwZW9mIFByb3h5JiZ2b2lkIDAhPT1Qcm94eS5yZXZvY2FibGUmJiJ1bmRlZmluZWQiIT10eXBlb2YgUmVmbGVjdCxWPUw/U3ltYm9sLmZvcigiaW1tZXItbm90aGluZyIpOigoVz17fSlbImltbWVyLW5vdGhpbmciXT0hMCxXKSxCPUw/U3ltYm9sLmZvcigiaW1tZXItZHJhZnRhYmxlIik6Il9fJGltbWVyX2RyYWZ0YWJsZSIsRz1MP1N5bWJvbC5mb3IoImltbWVyLXN0YXRlIik6Il9fJGltbWVyX3N0YXRlIixKPSgidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yLCIiK09iamVjdC5wcm90b3R5cGUuY29uc3RydWN0b3IpLEg9InVuZGVmaW5lZCIhPXR5cGVvZiBSZWZsZWN0JiZSZWZsZWN0Lm93bktleXM/UmVmbGVjdC5vd25LZXlzOnZvaWQgMCE9PU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpKX06T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMsUT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yc3x8ZnVuY3Rpb24odCl7dmFyIGU9e307cmV0dXJuIEgodCkuZm9yRWFjaCgoZnVuY3Rpb24ocil7ZVtyXT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQscil9KSksZX0sWT17fSxaPXtnZXQ6ZnVuY3Rpb24odCxlKXtpZihlPT09RylyZXR1cm4gdDt2YXIgcj15KHQpO2lmKCFjKHIsZSkpcmV0dXJuIGZ1bmN0aW9uKHQsZSxyKXt2YXIgbixvPU4oZSxyKTtyZXR1cm4gbz8idmFsdWUiaW4gbz9vLnZhbHVlOm51bGw9PT0obj1vLmdldCl8fHZvaWQgMD09PW4/dm9pZCAwOm4uY2FsbCh0LmspOnZvaWQgMH0odCxyLGUpO3ZhciBuPXJbZV07cmV0dXJuIHQuSXx8IWkobik/bjpuPT09Uih0LnQsZSk/KFQodCksdC5vW2VdPU0odC5BLmgsbix0KSk6bn0saGFzOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUgaW4geSh0KX0sb3duS2V5czpmdW5jdGlvbih0KXtyZXR1cm4gUmVmbGVjdC5vd25LZXlzKHkodCkpfSxzZXQ6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPU4oeSh0KSxlKQo7aWYobnVsbD09bj92b2lkIDA6bi5zZXQpcmV0dXJuIG4uc2V0LmNhbGwodC5rLHIpLCEwO2lmKCF0LlApe3ZhciBvPVIoeSh0KSxlKSxpPW51bGw9PW8/dm9pZCAwOm9bR107aWYoaSYmaS50PT09cilyZXR1cm4gdC5vW2VdPXIsdC5EW2VdPSExLCEwO2lmKHAocixvKSYmKHZvaWQgMCE9PXJ8fGModC50LGUpKSlyZXR1cm4hMDtUKHQpLEModCl9cmV0dXJuIHQub1tlXT09PXImJiJudW1iZXIiIT10eXBlb2YgciYmKHZvaWQgMCE9PXJ8fGUgaW4gdC5vKXx8KHQub1tlXT1yLHQuRFtlXT0hMCwhMCl9LGRlbGV0ZVByb3BlcnR5OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMCE9PVIodC50LGUpfHxlIGluIHQudD8odC5EW2VdPSExLFQodCksQyh0KSk6ZGVsZXRlIHQuRFtlXSx0Lm8mJmRlbGV0ZSB0Lm9bZV0sITB9LGdldE93blByb3BlcnR5RGVzY3JpcHRvcjpmdW5jdGlvbih0LGUpe3ZhciByPXkodCksbj1SZWZsZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGUpO3JldHVybiBuP3t3cml0YWJsZTohMCxjb25maWd1cmFibGU6MSE9PXQuaXx8Imxlbmd0aCIhPT1lLGVudW1lcmFibGU6bi5lbnVtZXJhYmxlLHZhbHVlOnJbZV19Om59LGRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKCl7bigxMSl9LGdldFByb3RvdHlwZU9mOmZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YodC50KX0sc2V0UHJvdG90eXBlT2Y6ZnVuY3Rpb24oKXtuKDEyKX19LHR0PXt9O2YoWiwoZnVuY3Rpb24odCxlKXt0dFt0XT1mdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHNbMF09YXJndW1lbnRzWzBdWzBdLGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0pKSx0dC5kZWxldGVQcm9wZXJ0eT1mdW5jdGlvbih0LGUpe3JldHVybiBaLmRlbGV0ZVByb3BlcnR5LmNhbGwodGhpcyx0WzBdLGUpfSx0dC5zZXQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBaLnNldC5jYWxsKHRoaXMsdFswXSxlLHIsdFswXSl9O3ZhciBldD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dmFyIGU9dGhpczt0aGlzLmc9WCx0aGlzLkY9ITAsdGhpcy5wcm9kdWNlPWZ1bmN0aW9uKHQscixvKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdCYmImZ1bmN0aW9uIiE9dHlwZW9mIHIpe3ZhciB1PXI7cj10O3ZhciBmPWU7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7dm9pZCAwPT09dCYmKHQ9dSk7Zm9yKHZhciBuPWFyZ3VtZW50cy5sZW5ndGgsbz1BcnJheShuPjE/bi0xOjApLGk9MTtpPG47aSsrKW9baS0xXT1hcmd1bWVudHNbaV07cmV0dXJuIGYucHJvZHVjZSh0LChmdW5jdGlvbih0KXt2YXIgbjtyZXR1cm4obj1yKS5jYWxsLmFwcGx5KG4sW2UsdF0uY29uY2F0KG8pKX0pKX19dmFyIGE7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHImJm4oNiksdm9pZCAwIT09byYmImZ1bmN0aW9uIiE9dHlwZW9mIG8mJm4oNyksaSh0KSl7dmFyIGM9QShlKSxsPU0oZSx0LHZvaWQgMCkscz0hMDt0cnl7YT1yKGwpLHM9ITF9ZmluYWxseXtzP0UoYyk6UyhjKX1yZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIFByb21pc2UmJmEgaW5zdGFuY2VvZiBQcm9taXNlP2EudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIFAoYyxvKSxEKHQsYyl9KSwoZnVuY3Rpb24odCl7dGhyb3cgRShjKSx0fSkpOihQKGMsbyksRChhLGMpKX1pZighdHx8Im9iamVjdCIhPXR5cGVvZiB0KXtpZigoYT1yKHQpKT09PVYpcmV0dXJuO3JldHVybiB2b2lkIDA9PT1hJiYoYT10KSxlLkYmJmIoYSwhMCksYX1uKDIxLHQpfSx0aGlzLnByb2R1Y2VXaXRoUGF0Y2hlcz1mdW5jdGlvbih0LHIpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0P2Z1bmN0aW9uKHIpe2Zvcih2YXIgbj1hcmd1bWVudHMubGVuZ3RoLG89QXJyYXkobj4xP24tMTowKSxpPTE7aTxuO2krKylvW2ktMV09YXJndW1lbnRzW2ldO3JldHVybiBlLnByb2R1Y2VXaXRoUGF0Y2hlcyhyLChmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseSh2b2lkIDAsW2VdLmNvbmNhdChvKSl9KSl9OltlLnByb2R1Y2UodCxyLChmdW5jdGlvbih0LGUpe249dCxvPWV9KSksbixvXTt2YXIgbixvfSwiYm9vbGVhbiI9PXR5cGVvZihudWxsPT10P3ZvaWQgMDp0LnVzZVByb3hpZXMpJiZ0aGlzLnNldFVzZVByb3hpZXModC51c2VQcm94aWVzKSwiYm9vbGVhbiI9PXR5cGVvZihudWxsPT10P3ZvaWQgMDp0LmF1dG9GcmVlemUpJiZ0aGlzLnNldEF1dG9GcmVlemUodC5hdXRvRnJlZXplKX12YXIgZT10LnByb3RvdHlwZTtyZXR1cm4gZS5jcmVhdGVEcmFmdD1mdW5jdGlvbih0KXtpKHQpfHxuKDgpLG8odCkmJih0PUYodCkpO3ZhciBlPUEodGhpcykscj1NKHRoaXMsdCx2b2lkIDApO3JldHVybiByW0ddLkM9ITAsUyhlKSxyfSxlLmZpbmlzaERyYWZ0PWZ1bmN0aW9uKHQsZSl7dmFyIHI9KHQmJnRbR10pLkE7cmV0dXJuIFAocixlKSxEKHZvaWQgMCxyKX0sZS5zZXRBdXRvRnJlZXplPWZ1bmN0aW9uKHQpe3RoaXMuRj10fSxlLnNldFVzZVByb3hpZXM9ZnVuY3Rpb24odCl7dCYmIVgmJm4oMjApLHRoaXMuZz10fSxlLmFwcGx5UGF0Y2hlcz1mdW5jdGlvbih0LGUpe3ZhciByO2ZvcihyPWUubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBuPWVbcl07aWYoMD09PW4ucGF0aC5sZW5ndGgmJiJyZXBsYWNlIj09PW4ub3Ape3Q9bi52YWx1ZTticmVha319cj4tMSYmKGU9ZS5zbGljZShyKzEpKTt2YXIgaT13KCJQYXRjaGVzIikuJDtyZXR1cm4gbyh0KT9pKHQsZSk6dGhpcy5wcm9kdWNlKHQsKGZ1bmN0aW9uKHQpe3JldHVybiBpKHQsZSl9KSl9LHR9KCkscnQ9bmV3IGV0LG50PXJ0LnByb2R1Y2U7cnQucHJvZHVjZVdpdGhQYXRjaGVzLmJpbmQocnQpLHJ0LnNldEF1dG9GcmVlemUuYmluZChydCkscnQuc2V0VXNlUHJveGllcy5iaW5kKHJ0KSxydC5hcHBseVBhdGNoZXMuYmluZChydCkscnQuY3JlYXRlRHJhZnQuYmluZChydCkscnQuZmluaXNoRHJhZnQuYmluZChydCk7Y29uc3Qgb3Q9bnR9LDk1Mzc0OSh0LGUscil7ZnVuY3Rpb24gbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHI9ZS5kaXNwYXRjaCxuPWUuZ2V0U3RhdGU7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihvKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbz9vKHIsbix0KTplKG8pfX0KfX1yLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBvPW4oKTtvLndpdGhFeHRyYUFyZ3VtZW50PW47Y29uc3QgaT0vXigxOTUwOHw5NDgxOSkkLy50ZXN0KHIuaik/bnVsbDpvfSw3ODc3MjQodCxlLHIpe2lmKHIuZChlLHthcHBseU1pZGRsZXdhcmU6KCk9PnYsYmluZEFjdGlvbkNyZWF0b3JzOigpPT5wLGNvbWJpbmVSZWR1Y2VyczooKT0+bCxjb21wb3NlOigpPT5kLGNyZWF0ZVN0b3JlOigpPT5jfSksIS9eKDE5NTA4fDk0ODE5KSQvLnRlc3Qoci5qKSl2YXIgbj1yKDIyNDEwNyk7ZnVuY3Rpb24gbyh0KXtyZXR1cm4iTWluaWZpZWQgUmVkdXggZXJyb3IgIyIrdCsiOyB2aXNpdCBodHRwczovL3JlZHV4LmpzLm9yZy9FcnJvcnM/Y29kZT0iK3QrIiBmb3IgdGhlIGZ1bGwgbWVzc2FnZSBvciB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgZm9yIGZ1bGwgZXJyb3JzLiAifXZhciBpPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5vYnNlcnZhYmxlfHwiQEBvYnNlcnZhYmxlIix1PWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZyg3KS5zcGxpdCgiIikuam9pbigiLiIpfSxmPXtJTklUOiJAQHJlZHV4L0lOSVQiK3UoKSxSRVBMQUNFOiJAQHJlZHV4L1JFUExBQ0UiK3UoKSxQUk9CRV9VTktOT1dOX0FDVElPTjpmdW5jdGlvbigpe3JldHVybiJAQHJlZHV4L1BST0JFX1VOS05PV05fQUNUSU9OIit1KCl9fTtmdW5jdGlvbiBhKHQpe2lmKCJvYmplY3QiIT10eXBlb2YgdHx8bnVsbD09PXQpcmV0dXJuITE7Zm9yKHZhciBlPXQ7bnVsbCE9PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTspZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk7cmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZih0KT09PWV9ZnVuY3Rpb24gYyh0LGUscil7dmFyIG47aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiByfHwiZnVuY3Rpb24iPT10eXBlb2YgciYmImZ1bmN0aW9uIj09dHlwZW9mIGFyZ3VtZW50c1szXSl0aHJvdyBuZXcgRXJyb3IobygwKSk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUmJnZvaWQgMD09PXImJihyPWUsZT12b2lkIDApLHZvaWQgMCE9PXIpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiByKXRocm93IG5ldyBFcnJvcihvKDEpKTtyZXR1cm4gcihjKSh0LGUpfWlmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcihvKDIpKTt2YXIgdT10LGw9ZSxzPVtdLHA9cyxkPSExO2Z1bmN0aW9uIHYoKXtwPT09cyYmKHA9cy5zbGljZSgpKX1mdW5jdGlvbiB5KCl7aWYoZCl0aHJvdyBuZXcgRXJyb3IobygzKSk7cmV0dXJuIGx9ZnVuY3Rpb24gaCh0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3Iobyg0KSk7aWYoZCl0aHJvdyBuZXcgRXJyb3Iobyg1KSk7dmFyIGU9ITA7cmV0dXJuIHYoKSxwLnB1c2godCksZnVuY3Rpb24oKXtpZihlKXtpZihkKXRocm93IG5ldyBFcnJvcihvKDYpKTtlPSExLHYoKTt2YXIgcj1wLmluZGV4T2YodCk7cC5zcGxpY2UociwxKSxzPW51bGx9fX1mdW5jdGlvbiBiKHQpe2lmKCFhKHQpKXRocm93IG5ldyBFcnJvcihvKDcpKTtpZih2b2lkIDA9PT10LnR5cGUpdGhyb3cgbmV3IEVycm9yKG8oOCkpO2lmKGQpdGhyb3cgbmV3IEVycm9yKG8oOSkpO3RyeXtkPSEwLGw9dShsLHQpfWZpbmFsbHl7ZD0hMX1mb3IodmFyIGU9cz1wLHI9MDtyPGUubGVuZ3RoO3IrKyl7KDAsZVtyXSkoKX1yZXR1cm4gdH1yZXR1cm4gYih7dHlwZTpmLklOSVR9KSwobj17ZGlzcGF0Y2g6YixzdWJzY3JpYmU6aCxnZXRTdGF0ZTp5LHJlcGxhY2VSZWR1Y2VyOmZ1bmN0aW9uKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcihvKDEwKSk7dT10LGIoe3R5cGU6Zi5SRVBMQUNFfSl9fSlbaV09ZnVuY3Rpb24oKXt2YXIgdCxlPWg7cmV0dXJuKHQ9e3N1YnNjcmliZTpmdW5jdGlvbih0KXtpZigib2JqZWN0IiE9dHlwZW9mIHR8fG51bGw9PT10KXRocm93IG5ldyBFcnJvcihvKDExKSk7ZnVuY3Rpb24gcigpe3QubmV4dCYmdC5uZXh0KHkoKSl9cmV0dXJuIHIoKSx7dW5zdWJzY3JpYmU6ZShyKX19fSlbaV09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sdH0sbn1mdW5jdGlvbiBsKHQpe2Zvcih2YXIgZT1PYmplY3Qua2V5cyh0KSxyPXt9LG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGk9ZVtuXTswLCJmdW5jdGlvbiI9PXR5cGVvZiB0W2ldJiYocltpXT10W2ldKX12YXIgdSxhPU9iamVjdC5rZXlzKHIpO3RyeXshZnVuY3Rpb24odCl7T2JqZWN0LmtleXModCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIHI9dFtlXTtpZih2b2lkIDA9PT1yKHZvaWQgMCx7dHlwZTpmLklOSVR9KSl0aHJvdyBuZXcgRXJyb3IobygxMikpO2lmKHZvaWQgMD09PXIodm9pZCAwLHt0eXBlOmYuUFJPQkVfVU5LTk9XTl9BQ1RJT04oKX0pKXRocm93IG5ldyBFcnJvcihvKDEzKSl9KSl9KHIpfWNhdGNoKHQpe3U9dH1yZXR1cm4gZnVuY3Rpb24odCxlKXtpZih2b2lkIDA9PT10JiYodD17fSksdSl0aHJvdyB1O2Zvcih2YXIgbj0hMSxpPXt9LGY9MDtmPGEubGVuZ3RoO2YrKyl7dmFyIGM9YVtmXSxsPXJbY10scz10W2NdLHA9bChzLGUpO2lmKHZvaWQgMD09PXApe2UmJmUudHlwZTt0aHJvdyBuZXcgRXJyb3IobygxNCkpfWlbY109cCxuPW58fHAhPT1zfXJldHVybihuPW58fGEubGVuZ3RoIT09T2JqZWN0LmtleXModCkubGVuZ3RoKT9pOnR9fWZ1bmN0aW9uIHModCxlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZSh0LmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9fWZ1bmN0aW9uIHAodCxlKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdClyZXR1cm4gcyh0LGUpO2lmKCJvYmplY3QiIT10eXBlb2YgdHx8bnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKG8oMTYpKTt2YXIgcj17fTtmb3IodmFyIG4gaW4gdCl7dmFyIGk9dFtuXTsiZnVuY3Rpb24iPT10eXBlb2YgaSYmKHJbbl09cyhpLGUpKX1yZXR1cm4gcn1mdW5jdGlvbiBkKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1uZXcgQXJyYXkodCkscj0wO3I8dDtyKyspZVtyXT1hcmd1bWVudHNbcl0KO3JldHVybiAwPT09ZS5sZW5ndGg/ZnVuY3Rpb24odCl7cmV0dXJuIHR9OjE9PT1lLmxlbmd0aD9lWzBdOmUucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0KGUuYXBwbHkodm9pZCAwLGFyZ3VtZW50cykpfX0pKX1mdW5jdGlvbiB2KCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1uZXcgQXJyYXkodCkscj0wO3I8dDtyKyspZVtyXT1hcmd1bWVudHNbcl07cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciByPXQuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyksaT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihvKDE1KSl9LHU9e2dldFN0YXRlOnIuZ2V0U3RhdGUsZGlzcGF0Y2g6ZnVuY3Rpb24oKXtyZXR1cm4gaS5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19LGY9ZS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0KHUpfSkpO3JldHVybiBpPWQuYXBwbHkodm9pZCAwLGYpKHIuZGlzcGF0Y2gpLCgwLG4uZGVmYXVsdCkoKDAsbi5kZWZhdWx0KSh7fSxyKSx7fSx7ZGlzcGF0Y2g6aX0pfX19fSwxOTM3MSh0LGUscil7aWYoci5kKGUse2RlZmF1bHQ6KCk9Pm99KSwhL14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopKXZhciBuPXIoOTA4MTU0KTtmdW5jdGlvbiBvKHQsZSxyKXtyZXR1cm4oZT0oMCxuLmRlZmF1bHQpKGUpKWluIHQ/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6cixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOnRbZV09cix0fX0sMjI0MTA3KHQsZSxyKXtpZihyLmQoZSx7ZGVmYXVsdDooKT0+aX0pLCEvXigxOTUwOHw5NDgxOSkkLy50ZXN0KHIuaikpdmFyIG49cigxOTM3MSk7ZnVuY3Rpb24gbyh0LGUpe3ZhciByPU9iamVjdC5rZXlzKHQpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCk7ZSYmKG49bi5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsZSkuZW51bWVyYWJsZX0pKSksci5wdXNoLmFwcGx5KHIsbil9cmV0dXJuIHJ9ZnVuY3Rpb24gaSh0KXtmb3IodmFyIGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgcj1udWxsIT1hcmd1bWVudHNbZV0/YXJndW1lbnRzW2VdOnt9O2UlMj9vKE9iamVjdChyKSwhMCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7KDAsbi5kZWZhdWx0KSh0LGUscltlXSl9KSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXModCxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhyKSk6byhPYmplY3QocikpLmZvckVhY2goKGZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGUpKX0pKX1yZXR1cm4gdH19LDg5MjYzOSh0LGUscil7aWYoci5kKGUse2RlZmF1bHQ6KCk9Pm99KSwhL14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopKXZhciBuPXIoMTI5NDc2KTtmdW5jdGlvbiBvKHQsZSl7aWYoIm9iamVjdCIhPSgwLG4uZGVmYXVsdCkodCl8fCF0KXJldHVybiB0O3ZhciByPXRbU3ltYm9sLnRvUHJpbWl0aXZlXTtpZih2b2lkIDAhPT1yKXt2YXIgbz1yLmNhbGwodCxlfHwiZGVmYXVsdCIpO2lmKCJvYmplY3QiIT0oMCxuLmRlZmF1bHQpKG8pKXJldHVybiBvO3Rocm93IG5ldyBUeXBlRXJyb3IoIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuIil9cmV0dXJuKCJzdHJpbmciPT09ZT9TdHJpbmc6TnVtYmVyKSh0KX19LDkwODE1NCh0LGUscil7aWYoci5kKGUse2RlZmF1bHQ6KCk9Pml9KSwhL14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopKXZhciBuPXIoMTI5NDc2KTtpZighL14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopKXZhciBvPXIoODkyNjM5KTtmdW5jdGlvbiBpKHQpe3ZhciBlPSgwLG8uZGVmYXVsdCkodCwic3RyaW5nIik7cmV0dXJuInN5bWJvbCI9PSgwLG4uZGVmYXVsdCkoZSk/ZTplKyIifX0sMTI5NDc2KHQsZSxyKXtmdW5jdGlvbiBuKHQpe3JldHVybiBuPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKHQpe3JldHVybiB0eXBlb2YgdH06ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJnQuY29uc3RydWN0b3I9PT1TeW1ib2wmJnQhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiB0fSxuKHQpfXIuZChlLHtkZWZhdWx0OigpPT5ufSl9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/202.072e990c76641068d8e3.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.801Z","timestamp":1785141584801,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/202.072e990c76641068d8e3.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-132\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8608b8a462b8532511c1017938cfd257\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":306,"size_decoded":944,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (306), with no line terminators","md5":"cb8fa6b3f87a2345533ef73d9ce94efb","sha1":"534e37132178ef4786a8b4671717bfd4ef5867cd","sha256":"33b229a3fbec03996ba88aa195ef07f83ff055cbdd2c760874be142bc7eabdaa","sha512":"65cdae9e4fe341fde4951075dcf1c7ff79f7904b1b0f1aba42cfc73327300fb696a189161e0fd149becaf22695a1d1e435c6e7b2cb662b2691265f303073bb95","ssdeep":"","tlshash":"58e0c21532d4253ad20f223a83f5c8fcf002dd13cc8ce6736c29d692d004fd62381928","first_seen":"2026-07-17T03:30:51.171265Z","last_seen":"2026-07-27T12:48:39.69063Z","times_seen":130,"resource_available":false,"data":"LnNlcGFyYXRvci13c055UDllMntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtZGl2aWRlci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yKSk7ZmxleC1zaHJpbms6MDtoZWlnaHQ6MXB4O21hcmdpbjo2cHggMH0uc21hbGwtd3NOeVA5ZTJ7bWFyZ2luLWJvdHRvbTo0cHg7bWFyZ2luLXRvcDo0cHh9Lm5vcm1hbC13c055UDllMnttYXJnaW4tYm90dG9tOjZweDttYXJnaW4tdG9wOjZweH0ubGFyZ2Utd3NOeVA5ZTJ7bWFyZ2luLWJvdHRvbTo4cHg7bWFyZ2luLXRvcDo4cHh9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/70656.ce4fb4dfd959eefc84c7.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.808Z","timestamp":1785141584808,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/70656.ce4fb4dfd959eefc84c7.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd8a-9de\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:17:46 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d23df5eb9efff80c6cafe8f7707bb747\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2526,"size_decoded":1471,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2526), with no line terminators","md5":"b42a9e7d525b085dd6a8b47f0de67234","sha1":"3f0eec62020fc6a548ca79f106d4977314a8c1fe","sha256":"9dcf914fe1e67e14d06fe012bbdf425fcf085e0e703d42d1f360e3b840a4fc8c","sha512":"c899b211a18c733fd09e7fe54459d19a86b71efb75553f219188672793ad1aba396df2fb87b1e4fafb0dedd93bd4341004cdeb0a9a6339c3183e5a08237c2e3f","ssdeep":"","tlshash":"b8513c88f161b43f2e4f71290318c16c73267591ef820bb9f826f5d401d6feba6a6715","first_seen":"2026-07-20T16:56:18.412108Z","last_seen":"2026-07-27T12:48:39.706259Z","times_seen":109,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtZzctcjp2YXIoLS1jb2xvci1iYW5hbmEteWVsbG93LTcwMCk7LS1fMS1nNy1yOiMwMDAwfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtZzctcjp2YXIoLS1jb2xvci1iYW5hbmEteWVsbG93LTgwMCk7LS1fMS1nNy1yOiMwMDAwfS5mYXZvcml0ZS1Rd0tXU1VtYXthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1saXN0LWl0ZW0tYnV0dG9uLWJhY2tncm91bmQtY29sb3IpO2JvcmRlci1yYWRpdXM6NHB4O2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0KSk7ZGlzcGxheTppbmxpbmUtZmxleDtmb250LXNpemU6MDtoZWlnaHQ6MjJweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi13aWR0aDoyMnB4O3dpZHRoOjIycHh9LmZhdm9yaXRlLVF3S1dTVW1hLmhvdmVyZWQtUXdLV1NVbWEsLmZhdm9yaXRlLVF3S1dTVW1hOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZC1ob3Zlci1jb2xvcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5mYXZvcml0ZS1Rd0tXU1VtYTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZC1ob3Zlci1jb2xvcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyKSl9fS5mYXZvcml0ZS1Rd0tXU1VtYS5kaXNhYmxlZC1Rd0tXU1VtYSwuZmF2b3JpdGUtUXdLV1NVbWEuZGlzYWJsZWQtUXdLV1NVbWE6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtbGlzdC1pdGVtLWJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kLWNvbG9yLHZhcigtLV8xLWc3LXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmZhdm9yaXRlLVF3S1dTVW1hLmRpc2FibGVkLVF3S1dTVW1hOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtbGlzdC1pdGVtLWJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kLWNvbG9yLHZhcigtLV8xLWc3LXIpKX19LmZhdm9yaXRlLVF3S1dTVW1he291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5mYXZvcml0ZS1Rd0tXU1VtYTpmb2N1c3tvdXRsaW5lOm5vbmV9LmZhdm9yaXRlLVF3S1dTVW1hOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5mYXZvcml0ZS1Rd0tXU1VtYTphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKTtib3JkZXItcmFkaXVzOjRweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDRweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi0ycHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweDt3aWR0aDpjYWxjKDEwMCUgKyA0cHgpO3otaW5kZXg6MX0uZmF2b3JpdGUtUXdLV1NVbWEuZm9jdXNlZC1Rd0tXU1VtYTphZnRlcntkaXNwbGF5OmJsb2NrfS5mYXZvcml0ZS1Rd0tXU1VtYS5hY3RpdmUtUXdLV1NVbWF7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpKX0uZmF2b3JpdGUtUXdLV1NVbWEuYWN0aXZlLVF3S1dTVW1hLmhvdmVyZWQtUXdLV1NVbWEsLmZhdm9yaXRlLVF3S1dTVW1hLmFjdGl2ZS1Rd0tXU1VtYTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIsdmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtYm9sZCkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZmF2b3JpdGUtUXdLV1NVbWEuYWN0aXZlLVF3S1dTVW1hOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyLHZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpKX19LmZhdm9yaXRlLVF3S1dTVW1hLmNoZWNrZWQtUXdLV1NVbWF7Y29sb3I6dmFyKC0tXzAtZzctcil9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/83675.5ed018482723abaf9e86.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.861Z","timestamp":1785141584861,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/83675.5ed018482723abaf9e86.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-1a35\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ab9484ef403ddc8001546d51dd2db633\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":6709,"size_decoded":2668,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6709), with no line terminators","md5":"3f790f633d8facc5e65117a693bcb945","sha1":"09d8046538d3d64702bb83b904211cc3b7e53315","sha256":"e836e2f9c24d09a5854a2ac144aac0e02c25f367f144431842f67ba211772f4d","sha512":"b48f882acc8ed75b94109472053e0d36b77b454d4ce805e6f9164afa42a16a8d87ef45c6c5d4d48f9083110b728c76451164751562c818d62ba7b160c3e3217b","ssdeep":"96:NACi/4ObSCZGbgQc9VUKQgJyzWsQuZdxexDyC14HIPsiCSvgd:Nji/ZZGkx9qKQgJyzWsQuM4HIE5","tlshash":"a8d1874af120916c64fbb5adb9ed830e632cbce2ef8157dc769539b144cd3e60623906","first_seen":"2026-07-24T11:36:47.840348Z","last_seen":"2026-07-27T12:48:39.751847Z","times_seen":93,"resource_available":false,"data":"LnNlcGFyYXRvci1sbHVxdWZWcXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItZGl2aWRlci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXRvb2xiYXItZGl2aWRlci1iYWNrZ3JvdW5kKSk7aGVpZ2h0OjIycHg7bWFyZ2luOmF1dG8gNHB4O3dpZHRoOjFweH0uZ3JvdXAtTExaQWJzMEd7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcGFuZS1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBhbmUtYmcpKTtib3JkZXItcmFkaXVzOjA7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4taW5saW5lLXN0YXJ0OjA7bWluLXdpZHRoOjM3cHg7b3ZlcmZsb3c6aGlkZGVufS5ncm91cC1MTFpBYnMwRzpmaXJzdC1jaGlsZHtib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowfS5ncm91cC1MTFpBYnMwRzpmaXJzdC1jaGlsZCAuc2VwYXJhdG9yLUxMWkFiczBHe2Rpc3BsYXk6bm9uZX0uZ3JvdXAtTExaQWJzMEc6bGFzdC1jaGlsZHtib3JkZXItZW5kLWVuZC1yYWRpdXM6MDttYXJnaW4taW5saW5lLWVuZDowfS5ncm91cC1MTFpBYnMwRy5ub0xlZnREZWNvcmF0aW9uLUxMWkFiczBHe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjA7bWFyZ2luLWlubGluZS1zdGFydDowfS5ncm91cC1MTFpBYnMwRy5ub1JpZ2h0RGVjb3JhdGlvbi1MTFpBYnMwR3tib3JkZXItZW5kLWVuZC1yYWRpdXM6MDttYXJnaW4taW5saW5lLWVuZDowfS5ncm91cC1MTFpBYnMwRy5ub01pbmltYWxXaWR0aC1MTFpBYnMwR3ttaW4td2lkdGg6MH0uc2VwYXJhdG9yV3JhcC1MTFpBYnMwR3thbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wYW5lLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcGFuZS1iZykpO2Rpc3BsYXk6ZmxleH0uc2VwYXJhdG9yV3JhcC1MTFpBYnMwRzpmaXJzdC1jaGlsZHtkaXNwbGF5Om5vbmV9W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtYXpyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0ud3JhcC1VTDNGSXBzZXthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tXzAtYXpyeSk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4fS53cmFwLVVMM0ZJcHNlIC5pY29uLVVMM0ZJcHNle21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZTo4cHggMXB4fS53cmFwLVVMM0ZJcHNlIHN2Z3tmaWxsOmN1cnJlbnRDb2xvcn1bZGF0YS10aGVtZT1saWdodF17LS1fMC10NkNPOiMxZTIyMmQ5OTstLV8xLXQ2Q086I2ZmZjB9W2RhdGEtdGhlbWU9ZGFya117LS1fMC10NkNPOiM2YTZkNzg5OTstLV8xLXQ2Q086IzEzMTcyMjAwfS53cmFwLXFZbTR4MnV1e2RpcmVjdGlvbjpsdHI7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LndyYXAtcVltNHgydXUgc3Zne2Rpc3BsYXk6YmxvY2t9LndyYXBXaXRoQXJyb3dzT3V0aW5nLXFZbTR4MnV1e21hcmdpbi1pbmxpbmUtZW5kOmF1dG87bWFyZ2luLWlubGluZS1zdGFydDphdXRvO292ZXJmbG93OnZpc2libGU7d2lkdGg6Y2FsYygxMDAlIC0gNDBweCl9LndyYXAtcVltNHgydXU6ZGlyKHJ0bCl7ZGlyZWN0aW9uOnJ0bH0ud3JhcE92ZXJmbG93LXFZbTR4MnV1e2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlfS5zY3JvbGxXcmFwLXFZbTR4MnV1e2hlaWdodDoxMDAlO292ZXJmbG93LXg6YXV0bztvdmVyZmxvdy15OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO2NvbnRhaW46Y29udGVudH0uc2Nyb2xsV3JhcC1xWW00eDJ1dTo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9LnNjcm9sbFdyYXAtcVltNHgydXU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXNjcm9sbGJhci10aHVtYi1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXNjcm9sbC1iZykpO2JvcmRlcjoxcHggc29saWQgIzAwMDA7Ym9yZGVyLXJhZGl1czozcHh9LnNjcm9sbFdyYXAtcVltNHgydXU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXItcmFkaXVzOjNweH0uc2Nyb2xsV3JhcC1xWW00eDJ1dTo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uc2Nyb2xsV3JhcC1xWW00eDJ1dS5ub1Njcm9sbEJhci1xWW00eDJ1dXttYXJnaW4tYm90dG9tOi0xMDBweDtwYWRkaW5nLWJvdHRvbToxMDBweH0uc2Nyb2xsV3JhcC1xWW00eDJ1dS5ub1Njcm9sbEJhci1xWW00eDJ1dS5zYi1zY3JvbGxiYXItd3JhcHtkaXNwbGF5Om5vbmV9LnNjcm9sbFdyYXAtcVltNHgydXUubm9TY3JvbGxCYXItcVltNHgydXU6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MDt3aWR0aDowfS5zY3JvbGxXcmFwLXFZbTR4MnV1Lm5vU2Nyb2xsQmFyLXFZbTR4MnV1Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuc2Nyb2xsV3JhcC1xWW00eDJ1dS5ub1Njcm9sbEJhci1xWW00eDJ1dTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7ZGlzcGxheTpub25lfS5zY3JvbGxXcmFwLXFZbTR4MnV1Lm5vU2Nyb2xsQmFyLXFZbTR4MnV1Ojotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS5pY29uLXFZbTR4MnV1e2Rpc3BsYXk6YmxvY2s7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNjBtcyBlYXNlfS5zY3JvbGxMZWZ0LXFZbTR4MnV1LC5zY3JvbGxSaWdodC1xWW00eDJ1dXthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpyZ2IoZnJvbSB2YXIoLS1jb2xvci1sZWdhY3ktYmctc2Nyb2xsLWJ1dHRvbnMpIHIgZyBiLy42KTtjb2xvcjp2YXIoLS1jb2xvci1zY3JvbGwtYnV0dG9ucy1hcnJvdyk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLHRyYW5zZm9ybSAuMTE2NjY2NjdzIGN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSk7d2lkdGg6MjRweH1Ac3VwcG9ydHMgbm90IChiYWNrZ3JvdW5kOnJnYihmcm9tICMwMDAgciBnIGIpKXsuc2Nyb2xsTGVmdC1xWW00eDJ1dSwuc2Nyb2xsUmlnaHQtcVltNHgydXV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC10NkNPKX19LnNjcm9sbExlZnQtcVltNHgydXU6YWN0aXZlLC5zY3JvbGxSaWdodC1xWW00eDJ1dTphY3RpdmV7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDU4LjMzMzMzbXMgZWFzZSx0cmFuc2Zvcm0gLjExNjY2NjY3cyBjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNjcm9sbExlZnQtcVltNHgydXU6aG92ZXIsLnNjcm9sbFJpZ2h0LXFZbTR4MnV1OmhvdmVye3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciA1OC4zMzMzM21zIGVhc2UsdHJhbnNmb3JtIC4xMTY2NjY2N3MgY3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSl9fS5zY3JvbGxMZWZ0LXFZbTR4MnV1LmlzVmlzaWJsZS1xWW00eDJ1dSwuc2Nyb2xsUmlnaHQtcVltNHgydXUuaXNWaXNpYmxlLXFZbTR4MnV1e3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpfS5zY3JvbGxMZWZ0LXFZbTR4MnV1e2xlZnQ6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9LnNjcm9sbExlZnQtcVltNHgydXUgLmljb25XcmFwLXFZbTR4MnV1e3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5zY3JvbGxSaWdodC1xWW00eDJ1dXtyaWdodDowO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpfS5zY3JvbGxSaWdodC1xWW00eDJ1dSAuaWNvbldyYXAtcVltNHgydXV7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpfS5mYWRlTGVmdC1xWW00eDJ1dSwuZmFkZVJpZ2h0LXFZbTR4MnV1e2NvbG9yOnJnYihmcm9tIHZhcigtLWNvbG9yLXBhbmUtYmcpIHIgZyBiLzApO2hlaWdodDoxMDAlO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6NTBweH1Ac3VwcG9ydHMgbm90IChiYWNrZ3JvdW5kOnJnYihmcm9tICMwMDAgciBnIGIpKXsuZmFkZUxlZnQtcVltNHgydXUsLmZhZGVSaWdodC1xWW00eDJ1dXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLXQ2Q08pfX0uZmFkZUxlZnQtcVltNHgydXUuaXNWaXNpYmxlLXFZbTR4MnV1LC5mYWRlUmlnaHQtcVltNHgydXUuaXNWaXNpYmxlLXFZbTR4MnV1e3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpfS5mYWRlTGVmdC1xWW00eDJ1dXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZmZmLCNmZmYwKTtsZWZ0Oi0xcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpfWh0bWwudGhlbWUtZGFyayAuZmFkZUxlZnQtcVltNHgydXV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzBmMGYwZiwjMGYwZjBmMDApfS5mYWRlUmlnaHQtcVltNHgydXV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCNmZmYsI2ZmZjApO3JpZ2h0Oi0xcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9aHRtbC50aGVtZS1kYXJrIC5mYWRlUmlnaHQtcVltNHgydXV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCMwZjBmMGYsIzBmMGYwZjAwKX0uaW5uZXJXcmFwLWRsRkROMFpke2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSBhdXRvO2hlaWdodDozOHB4O21pbi13aWR0aDowfS5pbm5lci1kbEZETjBaZHtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCV9LmZha2UtZGxGRE4wWmR7aGVpZ2h0OjM4cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246Zml4ZWQ7dG9wOjA7dmlzaWJpbGl0eTpoaWRkZW59LmZpbGwtZGxGRE4wWmR7ZmxleDoxIDEgMTAwJTttaW4td2lkdGg6MH0uZmlsbC1kbEZETjBaZC5jb2xsYXBzZS1kbEZETjBaZHtmbGV4OjAgMCAwJX0uYnV0dG9uLWRsRkROMFpke3BhZGRpbmctYmxvY2s6MCAwO3BhZGRpbmctaW5saW5lOjVweCAxMHB4fS5pY29uQnV0dG9uLWRsRkROMFpke3BhZGRpbmc6MCA1cHh9LmhpZGRlbi1kbEZETjBaZHtkaXNwbGF5Om5vbmV9LmNvbnRlbnQtZGxGRE4wWmR7ZGlzcGxheTp0YWJsZTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTAwJX0uZGVza3RvcFB1Ymxpc2gtZGxGRE4wWmQsLmRlc2t0b3BUcmFkZS1kbEZETjBaZHtkaXNwbGF5OmZsZXh9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsuZGVza3RvcFB1Ymxpc2gtZGxGRE4wWmQsLmRlc2t0b3BUcmFkZS1kbEZETjBaZHtkaXNwbGF5Om5vbmV9fS5tb2JpbGVQdWJsaXNoLWRsRkROMFpkLC5tb2JpbGVUcmFkZS1kbEZETjBaZHtkaXNwbGF5Om5vbmV9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsubW9iaWxlUHVibGlzaC1kbEZETjBaZCwubW9iaWxlVHJhZGUtZGxGRE4wWmR7ZGlzcGxheTpmbGV4fX1AbWVkaWEgKG1heC1oZWlnaHQ6NDQ1cHgpLChtYXgtd2lkdGg6NTY3cHgpey5kZXNrdG9wVHJhZGUtZGxGRE4wWmQsLm1vYmlsZVRyYWRlLWRsRkROMFpke2Rpc3BsYXk6bm9uZX19W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtblpSQjojMDAwMH0udG9vbGJhci1OQ1l5b3poaHtmb250LXNpemU6MTRweDtoZWlnaHQ6MTAwJTtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmV9LnRvb2xiYXItTkNZeW96aGguaXNIaWRkZW4tTkNZeW96aGh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1uWlJCKX0udG9vbGJhci1OQ1l5b3poaC5pc0hpZGRlbi1OQ1l5b3poaCAub3ZlcmZsb3dXcmFwLU5DWXlvemhoe2Rpc3BsYXk6bm9uZX0ub3ZlcmZsb3dXcmFwLU5DWXlvemhoe2hlaWdodDozOHB4O292ZXJmbG93OmhpZGRlbn0uY3VzdG9tQnV0dG9uLU5DWXlvemhoe2NvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dCkpO3BhZGRpbmc6MCAxMHB4fS5jdXN0b21CdXR0b24tTkNZeW96aGguaG92ZXItTkNZeW96aGgsLmN1c3RvbUJ1dHRvbi1OQ1l5b3poaDphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jdXN0b21CdXR0b24tTkNZeW96aGg6aG92ZXJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyKSl9fS5jdXN0b21CdXR0b24tTkNZeW96aGguY2xpY2tlZC1OQ1l5b3poaCwuY3VzdG9tQnV0dG9uLU5DWXlvemhoOmFjdGl2ZXtjb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWNsaWNrZWQsdmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyKSkpfQ=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/8579.6f6518be4293822786e0.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.009Z","timestamp":1785141585009,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/8579.6f6518be4293822786e0.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1a27\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 15f0bfaff1b083a02fce725d54d1fa4a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":6695,"size_decoded":1628,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6695), with no line terminators","md5":"aeecabaec60d7097b5e0df49367d3ee8","sha1":"f170c1bb6b76ce03bb8bc5e206a34a0fe91631e7","sha256":"5e3d9d49b9da950fbda835658d479573002ce3d34f5365b6f7dc9a1fe8ab3721","sha512":"d98867b86352def67f1efa0d2e1e76b45d2a102d316b7f5fb9ec3f1f1569a25c6b72f0a52ada71baf88eed1de8775c8e0163899fc4fc30d610c654508298c920","ssdeep":"192:kgzg8gGgHgDgYgygFg/g5gZgWATd8QnBiEogsOpOOO4O1O5OCO8OrO9OxOJOJ5a:kgzg8gGgHgDgYgygFg/g5gZgWATd8Qn5","tlshash":"bad1991be7e487737c638ff9c28ca0645f1ad69abe604fa6a1307e0c8bc7e555760402","first_seen":"2026-07-17T03:30:51.23738Z","last_seen":"2026-07-27T14:50:15.288331Z","times_seen":92,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTXVZODpub25lOy0tXzEtTXVZODpub25lOy0tXzItTXVZODpub25lOy0tXzMtTXVZODpub25lOy0tXzQtTXVZODpub25lfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtTXVZODppbnZlcnQoMSk7LS1fMS1NdVk4OmludmVydCgxKTstLV8yLU11WTg6aW52ZXJ0KDEpOy0tXzMtTXVZODppbnZlcnQoMSk7LS1fNC1NdVk4OmludmVydCgxKX0uaW5wdXQtSDB4ZENuRlN7cGFkZGluZzowIGNhbGMoOHB4IC0gdmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAycHgpIC0gdmFyKC0tdWktbGliLWNvbnRyb2wtaW5uZXItc2xvdC1nYXAsIDJweCkpfS5pbnB1dC1IMHhkQ25GUy5zaXplLXh4c21hbGwtSDB4ZENuRlN7LXdlYmtpdC1hcHBlYXJhbmNlOmF1dG87YXBwZWFyYW5jZTp0ZXh0ZmllbGQ7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7bWFyZ2luOjA7bWluLXdpZHRoOjA7b3V0bGluZTowO3dpZHRoOjEwMCU7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dmFyKC0tdWktbGliLWNvbnRyb2wtdGV4dC1maWxsLWNvbG9yLGN1cnJlbnRDb2xvcik7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O29yZGVyOjB9LmlucHV0LUgweGRDbkZTLnNpemUteHhzbWFsbC1IMHhkQ25GUzo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1maWVsZC1wbGFjZWhvbGRlci1kZWZhdWx0KTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjpjdXJyZW50Q29sb3I7b3BhY2l0eToxfS5pbnB1dC1IMHhkQ25GUy5zaXplLXh4c21hbGwtSDB4ZENuRlM6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciwuaW5wdXQtSDB4ZENuRlMuc2l6ZS14eHNtYWxsLUgweGRDbkZTOjotd2Via2l0LWNsZWFyLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS14eHNtYWxsLUgweGRDbkZTOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLXh4c21hbGwtSDB4ZENuRlM6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sLmlucHV0LUgweGRDbkZTLnNpemUteHhzbWFsbC1IMHhkQ25GUzo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9LmlucHV0LUgweGRDbkZTLnNpemUteHhzbWFsbC1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsLC5pbnB1dC1IMHhkQ25GUy5zaXplLXh4c21hbGwtSDB4ZENuRlM6LXdlYmtpdC1hdXRvZmlsbDphY3RpdmUsLmlucHV0LUgweGRDbkZTLnNpemUteHhzbWFsbC1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmZvY3Vze2JvcmRlci1yYWRpdXM6MnB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaW5wdXQtSDB4ZENuRlMuc2l6ZS14eHNtYWxsLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6aG92ZXJ7Ym9yZGVyLXJhZGl1czoycHh9fS5pbnB1dC1IMHhkQ25GUy5zaXplLXh4c21hbGwtSDB4ZENuRlM6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvcntmaWx0ZXI6dmFyKC0tXzAtTXVZOCl9LmlucHV0LUgweGRDbkZTLnNpemUteHNtYWxsLUgweGRDbkZTey13ZWJraXQtYXBwZWFyYW5jZTphdXRvO2FwcGVhcmFuY2U6dGV4dGZpZWxkO2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO21hcmdpbjowO21pbi13aWR0aDowO291dGxpbmU6MDt3aWR0aDoxMDAlOy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnZhcigtLXVpLWxpYi1jb250cm9sLXRleHQtZmlsbC1jb2xvcixjdXJyZW50Q29sb3IpO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtvcmRlcjowfS5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1maWVsZC1wbGFjZWhvbGRlci1kZWZhdWx0KTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjpjdXJyZW50Q29sb3I7b3BhY2l0eToxfS5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yLC5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzo6LXdlYmtpdC1jbGVhci1idXR0b24sLmlucHV0LUgweGRDbkZTLnNpemUteHNtYWxsLUgweGRDbkZTOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS14c21hbGwtSDB4ZENuRlM6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfS5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsLC5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSwuaW5wdXQtSDB4ZENuRlMuc2l6ZS14c21hbGwtSDB4ZENuRlM6LXdlYmtpdC1hdXRvZmlsbDpmb2N1c3tib3JkZXItcmFkaXVzOjRweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmlucHV0LUgweGRDbkZTLnNpemUteHNtYWxsLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6aG92ZXJ7Ym9yZGVyLXJhZGl1czo0cHh9fS5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9ye2ZpbHRlcjp2YXIoLS1fMS1NdVk4KX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1zbWFsbC1IMHhkQ25GU3std2Via2l0LWFwcGVhcmFuY2U6YXV0bzthcHBlYXJhbmNlOnRleHRmaWVsZDtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjA7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTttYXJnaW46MDttaW4td2lkdGg6MDtvdXRsaW5lOjA7d2lkdGg6MTAwJTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp2YXIoLS11aS1saWItY29udHJvbC10ZXh0LWZpbGwtY29sb3IsY3VycmVudENvbG9yKTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7b3JkZXI6MH0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1zbWFsbC1IMHhkQ25GUzo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1maWVsZC1wbGFjZWhvbGRlci1kZWZhdWx0KTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjpjdXJyZW50Q29sb3I7b3BhY2l0eToxfS5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IsLmlucHV0LUgweGRDbkZTLnNpemUtc21hbGwtSDB4ZENuRlM6Oi13ZWJraXQtY2xlYXItYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1zbWFsbC1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsLC5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlLC5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXN7Ym9yZGVyLXJhZGl1czo0cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6aG92ZXJ7Ym9yZGVyLXJhZGl1czo0cHh9fS5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3J7ZmlsdGVyOnZhcigtLV8yLU11WTgpfS5pbnB1dC1IMHhkQ25GUy5zaXplLW1lZGl1bS1IMHhkQ25GU3std2Via2l0LWFwcGVhcmFuY2U6YXV0bzthcHBlYXJhbmNlOnRleHRmaWVsZDtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjA7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTttYXJnaW46MDttaW4td2lkdGg6MDtvdXRsaW5lOjA7d2lkdGg6MTAwJTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp2YXIoLS11aS1saWItY29udHJvbC10ZXh0LWZpbGwtY29sb3IsY3VycmVudENvbG9yKTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7b3JkZXI6MH0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGVmYXVsdCk7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6Y3VycmVudENvbG9yO29wYWNpdHk6MX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6Oi13ZWJraXQtY2xlYXItYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLW1lZGl1bS1IMHhkQ25GUzo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sLmlucHV0LUgweGRDbkZTLnNpemUtbWVkaXVtLUgweGRDbkZTOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6LXdlYmtpdC1hdXRvZmlsbCwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6LXdlYmtpdC1hdXRvZmlsbDphY3RpdmUsLmlucHV0LUgweGRDbkZTLnNpemUtbWVkaXVtLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXN7Ym9yZGVyLXJhZGl1czo2cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pbnB1dC1IMHhkQ25GUy5zaXplLW1lZGl1bS1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmhvdmVye2JvcmRlci1yYWRpdXM6NnB4fX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvcntmaWx0ZXI6dmFyKC0tXzMtTXVZOCl9LmlucHV0LUgweGRDbkZTLnNpemUtbGFyZ2UtSDB4ZENuRlN7LXdlYmtpdC1hcHBlYXJhbmNlOmF1dG87YXBwZWFyYW5jZTp0ZXh0ZmllbGQ7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7bWFyZ2luOjA7bWluLXdpZHRoOjA7b3V0bGluZTowO3dpZHRoOjEwMCU7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dmFyKC0tdWktbGliLWNvbnRyb2wtdGV4dC1maWxsLWNvbG9yLGN1cnJlbnRDb2xvcik7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O29yZGVyOjB9LmlucHV0LUgweGRDbkZTLnNpemUtbGFyZ2UtSDB4ZENuRlM6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGVmYXVsdCk7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6Y3VycmVudENvbG9yO29wYWNpdHk6MX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yLC5pbnB1dC1IMHhkQ25GUy5zaXplLWxhcmdlLUgweGRDbkZTOjotd2Via2l0LWNsZWFyLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9LmlucHV0LUgweGRDbkZTLnNpemUtbGFyZ2UtSDB4ZENuRlM6LXdlYmtpdC1hdXRvZmlsbCwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmZvY3Vze2JvcmRlci1yYWRpdXM6NnB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmhvdmVye2JvcmRlci1yYWRpdXM6NnB4fX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9ye2ZpbHRlcjp2YXIoLS1fNC1NdVk4KX0uaW5wdXQtSDB4ZENuRlMud2l0aC1zdGFydC1zbG90LUgweGRDbkZTe3BhZGRpbmctaW5saW5lLXN0YXJ0OmNhbGMoNHB4IC0gdmFyKC0tdWktbGliLWNvbnRyb2wtaW5uZXItc2xvdC1nYXAsIDJweCkpfS5pbnB1dC1IMHhkQ25GUy53aXRoLWVuZC1zbG90LUgweGRDbkZTe3BhZGRpbmctaW5saW5lLWVuZDpjYWxjKDRweCAtIHZhcigtLXVpLWxpYi1jb250cm9sLWlubmVyLXNsb3QtZ2FwLCAycHgpKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.894Z","timestamp":1785141582894,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-includes/js/jquery/jquery.min.js?ver=3.7.1 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Mon, 28 Aug 2023 21:44:24 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 30368\r\nKeep-Alive: timeout=5, max=99\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":87553,"size_decoded":30734,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (65447)","md5":"826eb77e86b02ab7724fe3d0141ff87c","sha1":"79cd3587d565afe290076a8d36c31c305a573d18","sha256":"cb6f2d32c49d1c2b25e9ffc9aaafa3f83075346c01bcd4ae6eb187392a4292cf","sha512":"fc79fdb76763025dc39fac045a215ff155ef2f492a0e9640079d6f089fa6218af2b3ab7c6eaf636827dee9294e6939a95ab24554e870c976679c25567ad6374c","ssdeep":"1536:0RUX9uDgwxcy2KVBNwchN6SLaHEk2BSrBESp+a/IEk4aAocVi8SMBQ47GKO:sHNwcv9VBQpLl88SMBQ47GKO","tlshash":"7483f8df77ca702247ab30b9006f550bf276199d684d4400f159d8e9bcb8a4a827bf7e","first_seen":"2023-11-03T09:26:43Z","last_seen":"2026-07-27T15:02:44.698527Z","times_seen":992868,"resource_available":true,"data":"LyohIGpRdWVyeSB2My43LjEgfCAoYykgT3BlbkpTIEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycyB8IGpxdWVyeS5vcmcvbGljZW5zZSAqLwohZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZS5kb2N1bWVudD90KGUsITApOmZ1bmN0aW9uKGUpe2lmKCFlLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiB0KGUpfTp0KGUpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihpZSxlKXsidXNlIHN0cmljdCI7dmFyIG9lPVtdLHI9T2JqZWN0LmdldFByb3RvdHlwZU9mLGFlPW9lLnNsaWNlLGc9b2UuZmxhdD9mdW5jdGlvbihlKXtyZXR1cm4gb2UuZmxhdC5jYWxsKGUpfTpmdW5jdGlvbihlKXtyZXR1cm4gb2UuY29uY2F0LmFwcGx5KFtdLGUpfSxzPW9lLnB1c2gsc2U9b2UuaW5kZXhPZixuPXt9LGk9bi50b1N0cmluZyx1ZT1uLmhhc093blByb3BlcnR5LG89dWUudG9TdHJpbmcsYT1vLmNhbGwoT2JqZWN0KSxsZT17fSx2PWZ1bmN0aW9uKGUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlJiYibnVtYmVyIiE9dHlwZW9mIGUubm9kZVR5cGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlLml0ZW19LHk9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWUmJmU9PT1lLndpbmRvd30sQz1pZS5kb2N1bWVudCx1PXt0eXBlOiEwLHNyYzohMCxub25jZTohMCxub01vZHVsZTohMH07ZnVuY3Rpb24gbShlLHQsbil7dmFyIHIsaSxvPShuPW58fEMpLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2lmKG8udGV4dD1lLHQpZm9yKHIgaW4gdSkoaT10W3JdfHx0LmdldEF0dHJpYnV0ZSYmdC5nZXRBdHRyaWJ1dGUocikpJiZvLnNldEF0dHJpYnV0ZShyLGkpO24uaGVhZC5hcHBlbmRDaGlsZChvKS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG8pfWZ1bmN0aW9uIHgoZSl7cmV0dXJuIG51bGw9PWU/ZSsiIjoib2JqZWN0Ij09dHlwZW9mIGV8fCJmdW5jdGlvbiI9PXR5cGVvZiBlP25baS5jYWxsKGUpXXx8Im9iamVjdCI6dHlwZW9mIGV9dmFyIHQ9IjMuNy4xIixsPS9IVE1MJC9pLGNlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5ldyBjZS5mbi5pbml0KGUsdCl9O2Z1bmN0aW9uIGMoZSl7dmFyIHQ9ISFlJiYibGVuZ3RoImluIGUmJmUubGVuZ3RoLG49eChlKTtyZXR1cm4hdihlKSYmIXkoZSkmJigiYXJyYXkiPT09bnx8MD09PXR8fCJudW1iZXIiPT10eXBlb2YgdCYmMDx0JiZ0LTEgaW4gZSl9ZnVuY3Rpb24gZmUoZSx0KXtyZXR1cm4gZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dC50b0xvd2VyQ2FzZSgpfWNlLmZuPWNlLnByb3RvdHlwZT17anF1ZXJ5OnQsY29uc3RydWN0b3I6Y2UsbGVuZ3RoOjAsdG9BcnJheTpmdW5jdGlvbigpe3JldHVybiBhZS5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/YWUuY2FsbCh0aGlzKTplPDA/dGhpc1tlK3RoaXMubGVuZ3RoXTp0aGlzW2VdfSxwdXNoU3RhY2s6ZnVuY3Rpb24oZSl7dmFyIHQ9Y2UubWVyZ2UodGhpcy5jb25zdHJ1Y3RvcigpLGUpO3JldHVybiB0LnByZXZPYmplY3Q9dGhpcyx0fSxlYWNoOmZ1bmN0aW9uKGUpe3JldHVybiBjZS5lYWNoKHRoaXMsZSl9LG1hcDpmdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soY2UubWFwKHRoaXMsZnVuY3Rpb24oZSx0KXtyZXR1cm4gbi5jYWxsKGUsdCxlKX0pKX0sc2xpY2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYWUuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0sZmlyc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgwKX0sbGFzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKC0xKX0sZXZlbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhjZS5ncmVwKHRoaXMsZnVuY3Rpb24oZSx0KXtyZXR1cm4odCsxKSUyfSkpfSxvZGQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soY2UuZ3JlcCh0aGlzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQlMn0pKX0sZXE6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5sZW5ndGgsbj0rZSsoZTwwP3Q6MCk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKDA8PW4mJm48dD9bdGhpc1tuXV06W10pfSxlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlzLmNvbnN0cnVjdG9yKCl9LHB1c2g6cyxzb3J0Om9lLnNvcnQsc3BsaWNlOm9lLnNwbGljZX0sY2UuZXh0ZW5kPWNlLmZuLmV4dGVuZD1mdW5jdGlvbigpe3ZhciBlLHQsbixyLGksbyxhPWFyZ3VtZW50c1swXXx8e30scz0xLHU9YXJndW1lbnRzLmxlbmd0aCxsPSExO2ZvcigiYm9vbGVhbiI9PXR5cGVvZiBhJiYobD1hLGE9YXJndW1lbnRzW3NdfHx7fSxzKyspLCJvYmplY3QiPT10eXBlb2YgYXx8dihhKXx8KGE9e30pLHM9PT11JiYoYT10aGlzLHMtLSk7czx1O3MrKylpZihudWxsIT0oZT1hcmd1bWVudHNbc10pKWZvcih0IGluIGUpcj1lW3RdLCJfX3Byb3RvX18iIT09dCYmYSE9PXImJihsJiZyJiYoY2UuaXNQbGFpbk9iamVjdChyKXx8KGk9QXJyYXkuaXNBcnJheShyKSkpPyhuPWFbdF0sbz1pJiYhQXJyYXkuaXNBcnJheShuKT9bXTppfHxjZS5pc1BsYWluT2JqZWN0KG4pP246e30saT0hMSxhW3RdPWNlLmV4dGVuZChsLG8scikpOnZvaWQgMCE9PXImJihhW3RdPXIpKTtyZXR1cm4gYX0sY2UuZXh0ZW5kKHtleHBhbmRvOiJqUXVlcnkiKyh0K01hdGgucmFuZG9tKCkpLnJlcGxhY2UoL1xEL2csIiIpLGlzUmVhZHk6ITAsZXJyb3I6ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKGUpfSxub29wOmZ1bmN0aW9uKCl7fSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGUpe3ZhciB0LG47cmV0dXJuISghZXx8IltvYmplY3QgT2JqZWN0XSIhPT1pLmNhbGwoZSkpJiYoISh0PXIoZSkpfHwiZnVuY3Rpb24iPT10eXBlb2Yobj11ZS5jYWxsKHQsImNvbnN0cnVjdG9yIikmJnQuY29uc3RydWN0b3IpJiZvLmNhbGwobik9PT1hKX0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihlKXt2YXIgdDtmb3IodCBpbiBlKXJldHVybiExO3JldHVybiEwfSxnbG9iYWxFdmFsOmZ1bmN0aW9uKGUsdCxuKXttKGUse25vbmNlOnQmJnQubm9uY2V9LG4pfSxlYWNoOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0wO2lmKGMoZSkpe2ZvcihuPWUubGVuZ3RoO3I8bjtyKyspaWYoITE9PT10LmNhbGwoZVtyXSxyLGVbcl0pKWJyZWFrfWVsc2UgZm9yKHIgaW4gZSlpZighMT09PXQuY2FsbChlW3JdLHIsZVtyXSkpYnJlYWs7cmV0dXJuIGV9LHRleHQ6ZnVuY3Rpb24oZSl7dmFyIHQsbj0iIixyPTAsaT1lLm5vZGVUeXBlO2lmKCFpKXdoaWxlKHQ9ZVtyKytdKW4rPWNlLnRleHQodCk7cmV0dXJuIDE9PT1pfHwxMT09PWk/ZS50ZXh0Q29udGVudDo5PT09aT9lLmRvY3VtZW50RWxlbWVudC50ZXh0Q29udGVudDozPT09aXx8ND09PWk/ZS5ub2RlVmFsdWU6bn0sbWFrZUFycmF5OmZ1bmN0aW9uKGUsdCl7dmFyIG49dHx8W107cmV0dXJuIG51bGwhPWUmJihjKE9iamVjdChlKSk/Y2UubWVyZ2Uobiwic3RyaW5nIj09dHlwZW9mIGU/W2VdOmUpOnMuY2FsbChuLGUpKSxufSxpbkFycmF5OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbnVsbD09dD8tMTpzZS5jYWxsKHQsZSxuKX0saXNYTUxEb2M6ZnVuY3Rpb24oZSl7dmFyIHQ9ZSYmZS5uYW1lc3BhY2VVUkksbj1lJiYoZS5vd25lckRvY3VtZW50fHxlKS5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIWwudGVzdCh0fHxuJiZuLm5vZGVOYW1lfHwiSFRNTCIpfSxtZXJnZTpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0rdC5sZW5ndGgscj0wLGk9ZS5sZW5ndGg7cjxuO3IrKyllW2krK109dFtyXTtyZXR1cm4gZS5sZW5ndGg9aSxlfSxncmVwOmZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9W10saT0wLG89ZS5sZW5ndGgsYT0hbjtpPG87aSsrKSF0KGVbaV0saSkhPT1hJiZyLnB1c2goZVtpXSk7cmV0dXJuIHJ9LG1hcDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPTAsYT1bXTtpZihjKGUpKWZvcihyPWUubGVuZ3RoO288cjtvKyspbnVsbCE9KGk9dChlW29dLG8sbikpJiZhLnB1c2goaSk7ZWxzZSBmb3IobyBpbiBlKW51bGwhPShpPXQoZVtvXSxvLG4pKSYmYS5wdXNoKGkpO3JldHVybiBnKGEpfSxndWlkOjEsc3VwcG9ydDpsZX0pLCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihjZS5mbltTeW1ib2wuaXRlcmF0b3JdPW9lW1N5bWJvbC5pdGVyYXRvcl0pLGNlLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IgU3ltYm9sIi5zcGxpdCgiICIpLGZ1bmN0aW9uKGUsdCl7blsiW29iamVjdCAiK3QrIl0iXT10LnRvTG93ZXJDYXNlKCl9KTt2YXIgcGU9b2UucG9wLGRlPW9lLnNvcnQsaGU9b2Uuc3BsaWNlLGdlPSJbXFx4MjBcXHRcXHJcXG5cXGZdIix2ZT1uZXcgUmVnRXhwKCJeIitnZSsiK3woKD86XnxbXlxcXFxdKSg/OlxcXFwuKSopIitnZSsiKyQiLCJnIik7Y2UuY29udGFpbnM9ZnVuY3Rpb24oZSx0KXt2YXIgbj10JiZ0LnBhcmVudE5vZGU7cmV0dXJuIGU9PT1ufHwhKCFufHwxIT09bi5ub2RlVHlwZXx8IShlLmNvbnRhaW5zP2UuY29udGFpbnMobik6ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihuKSkpfTt2YXIgZj0vKFtcMC1ceDFmXHg3Zl18Xi0/XGQpfF4tJHxbXlx4ODAtXHVGRkZGXHctXS9nO2Z1bmN0aW9uIHAoZSx0KXtyZXR1cm4gdD8iXDAiPT09ZT8iXHVmZmZkIjplLnNsaWNlKDAsLTEpKyJcXCIrZS5jaGFyQ29kZUF0KGUubGVuZ3RoLTEpLnRvU3RyaW5nKDE2KSsiICI6IlxcIitlfWNlLmVzY2FwZVNlbGVjdG9yPWZ1bmN0aW9uKGUpe3JldHVybihlKyIiKS5yZXBsYWNlKGYscCl9O3ZhciB5ZT1DLG1lPXM7IWZ1bmN0aW9uKCl7dmFyIGUsYix3LG8sYSxULHIsQyxkLGksaz1tZSxTPWNlLmV4cGFuZG8sRT0wLG49MCxzPVcoKSxjPVcoKSx1PVcoKSxoPVcoKSxsPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9PT10JiYoYT0hMCksMH0sZj0iY2hlY2tlZHxzZWxlY3RlZHxhc3luY3xhdXRvZm9jdXN8YXV0b3BsYXl8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGlzbWFwfGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWQiLHQ9Iig/OlxcXFxbXFxkYS1mQS1GXXsxLDZ9IitnZSsiP3xcXFxcW15cXHJcXG5cXGZdfFtcXHctXXxbXlwwLVxceDdmXSkrIixwPSJcXFsiK2dlKyIqKCIrdCsiKSg/OiIrZ2UrIiooWypeJHwhfl0/PSkiK2dlKyIqKD86JygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCJ8KCIrdCsiKSl8KSIrZ2UrIipcXF0iLGc9IjooIit0KyIpKD86XFwoKCgnKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcIil8KCg/OlxcXFwufFteXFxcXCgpW1xcXV18IitwKyIpKil8LiopXFwpfCkiLHY9bmV3IFJlZ0V4cChnZSsiKyIsImciKSx5PW5ldyBSZWdFeHAoIl4iK2dlKyIqLCIrZ2UrIioiKSxtPW5ldyBSZWdFeHAoIl4iK2dlKyIqKFs+K35dfCIrZ2UrIikiK2dlKyIqIikseD1uZXcgUmVnRXhwKGdlKyJ8PiIpLGo9bmV3IFJlZ0V4cChnKSxBPW5ldyBSZWdFeHAoIl4iK3QrIiQiKSxEPXtJRDpuZXcgUmVnRXhwKCJeIygiK3QrIikiKSxDTEFTUzpuZXcgUmVnRXhwKCJeXFwuKCIrdCsiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrdCsifFsqXSkiKSxBVFRSOm5ldyBSZWdFeHAoIl4iK3ApLFBTRVVETzpuZXcgUmVnRXhwKCJeIitnKSxDSElMRDpuZXcgUmVnRXhwKCJeOihvbmx5fGZpcnN0fGxhc3R8bnRofG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXCgiK2dlKyIqKGV2ZW58b2RkfCgoWystXXwpKFxcZCopbnwpIitnZSsiKig/OihbKy1dfCkiK2dlKyIqKFxcZCspfCkpIitnZSsiKlxcKXwpIiwiaSIpLGJvb2w6bmV3IFJlZ0V4cCgiXig/OiIrZisiKSQiLCJpIiksbmVlZHNDb250ZXh0Om5ldyBSZWdFeHAoIl4iK2dlKyIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK2dlKyIqKCg/Oi1cXGQpP1xcZCopIitnZSsiKlxcKXwpKD89W14tXXwkKSIsImkiKX0sTj0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLHE9L15oXGQkL2ksTD0vXig/OiMoW1x3LV0rKXwoXHcrKXxcLihbXHctXSspKSQvLEg9L1srfl0vLE89bmV3IFJlZ0V4cCgiXFxcXFtcXGRhLWZBLUZdezEsNn0iK2dlKyI/fFxcXFwoW15cXHJcXG5cXGZdKSIsImciKSxQPWZ1bmN0aW9uKGUsdCl7dmFyIG49IjB4IitlLnNsaWNlKDEpLTY1NTM2O3JldHVybiB0fHwobjwwP1N0cmluZy5mcm9tQ2hhckNvZGUobis2NTUzNik6U3RyaW5nLmZyb21DaGFyQ29kZShuPj4xMHw1NTI5NiwxMDIzJm58NTYzMjApKX0sTT1mdW5jdGlvbigpe1YoKX0sUj1KKGZ1bmN0aW9uKGUpe3JldHVybiEwPT09ZS5kaXNhYmxlZCYmZmUoZSwiZmllbGRzZXQiKX0se2RpcjoicGFyZW50Tm9kZSIsbmV4dDoibGVnZW5kIn0pO3RyeXtrLmFwcGx5KG9lPWFlLmNhbGwoeWUuY2hpbGROb2RlcykseWUuY2hpbGROb2Rlcyksb2VbeWUuY2hpbGROb2Rlcy5sZW5ndGhdLm5vZGVUeXBlfWNhdGNoKGUpe2s9e2FwcGx5OmZ1bmN0aW9uKGUsdCl7bWUuYXBwbHkoZSxhZS5jYWxsKHQpKX0sY2FsbDpmdW5jdGlvbihlKXttZS5hcHBseShlLGFlLmNhbGwoYXJndW1lbnRzLDEpKX19fWZ1bmN0aW9uIEkodCxlLG4scil7dmFyIGksbyxhLHMsdSxsLGMsZj1lJiZlLm93bmVyRG9jdW1lbnQscD1lP2Uubm9kZVR5cGU6OTtpZihuPW58fFtdLCJzdHJpbmciIT10eXBlb2YgdHx8IXR8fDEhPT1wJiY5IT09cCYmMTEhPT1wKXJldHVybiBuO2lmKCFyJiYoVihlKSxlPWV8fFQsQykpe2lmKDExIT09cCYmKHU9TC5leGVjKHQpKSlpZihpPXVbMV0pe2lmKDk9PT1wKXtpZighKGE9ZS5nZXRFbGVtZW50QnlJZChpKSkpcmV0dXJuIG47aWYoYS5pZD09PWkpcmV0dXJuIGsuY2FsbChuLGEpLG59ZWxzZSBpZihmJiYoYT1mLmdldEVsZW1lbnRCeUlkKGkpKSYmSS5jb250YWlucyhlLGEpJiZhLmlkPT09aSlyZXR1cm4gay5jYWxsKG4sYSksbn1lbHNle2lmKHVbMl0pcmV0dXJuIGsuYXBwbHkobixlLmdldEVsZW1lbnRzQnlUYWdOYW1lKHQpKSxuO2lmKChpPXVbM10pJiZlLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIGsuYXBwbHkobixlLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoaSkpLG59aWYoIShoW3QrIiAiXXx8ZCYmZC50ZXN0KHQpKSl7aWYoYz10LGY9ZSwxPT09cCYmKHgudGVzdCh0KXx8bS50ZXN0KHQpKSl7KGY9SC50ZXN0KHQpJiZVKGUucGFyZW50Tm9kZSl8fGUpPT1lJiZsZS5zY29wZXx8KChzPWUuZ2V0QXR0cmlidXRlKCJpZCIpKT9zPWNlLmVzY2FwZVNlbGVjdG9yKHMpOmUuc2V0QXR0cmlidXRlKCJpZCIscz1TKSksbz0obD1ZKHQpKS5sZW5ndGg7d2hpbGUoby0tKWxbb109KHM/IiMiK3M6IjpzY29wZSIpKyIgIitRKGxbb10pO2M9bC5qb2luKCIsIil9dHJ5e3JldHVybiBrLmFwcGx5KG4sZi5xdWVyeVNlbGVjdG9yQWxsKGMpKSxufWNhdGNoKGUpe2godCwhMCl9ZmluYWxseXtzPT09UyYmZS5yZW1vdmVBdHRyaWJ1dGUoImlkIil9fX1yZXR1cm4gcmUodC5yZXBsYWNlKHZlLCIkMSIpLGUsbixyKX1mdW5jdGlvbiBXKCl7dmFyIHI9W107cmV0dXJuIGZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gci5wdXNoKHQrIiAiKT5iLmNhY2hlTGVuZ3RoJiZkZWxldGUgZVtyLnNoaWZ0KCldLGVbdCsiICJdPW59fWZ1bmN0aW9uIEYoZSl7cmV0dXJuIGVbU109ITAsZX1mdW5jdGlvbiAkKGUpe3ZhciB0PVQuY3JlYXRlRWxlbWVudCgiZmllbGRzZXQiKTt0cnl7cmV0dXJuISFlKHQpfWNhdGNoKGUpe3JldHVybiExfWZpbmFsbHl7dC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCksdD1udWxsfX1mdW5jdGlvbiBCKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZmUoZSwiaW5wdXQiKSYmZS50eXBlPT09dH19ZnVuY3Rpb24gXyh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuKGZlKGUsImlucHV0Iil8fGZlKGUsImJ1dHRvbiIpKSYmZS50eXBlPT09dH19ZnVuY3Rpb24geih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuImZvcm0iaW4gZT9lLnBhcmVudE5vZGUmJiExPT09ZS5kaXNhYmxlZD8ibGFiZWwiaW4gZT8ibGFiZWwiaW4gZS5wYXJlbnROb2RlP2UucGFyZW50Tm9kZS5kaXNhYmxlZD09PXQ6ZS5kaXNhYmxlZD09PXQ6ZS5pc0Rpc2FibGVkPT09dHx8ZS5pc0Rpc2FibGVkIT09IXQmJlIoZSk9PT10OmUuZGlzYWJsZWQ9PT10OiJsYWJlbCJpbiBlJiZlLmRpc2FibGVkPT09dH19ZnVuY3Rpb24gWChhKXtyZXR1cm4gRihmdW5jdGlvbihvKXtyZXR1cm4gbz0rbyxGKGZ1bmN0aW9uKGUsdCl7dmFyIG4scj1hKFtdLGUubGVuZ3RoLG8pLGk9ci5sZW5ndGg7d2hpbGUoaS0tKWVbbj1yW2ldXSYmKGVbbl09ISh0W25dPWVbbl0pKX0pfSl9ZnVuY3Rpb24gVShlKXtyZXR1cm4gZSYmInVuZGVmaW5lZCIhPXR5cGVvZiBlLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZlfWZ1bmN0aW9uIFYoZSl7dmFyIHQsbj1lP2Uub3duZXJEb2N1bWVudHx8ZTp5ZTtyZXR1cm4gbiE9VCYmOT09PW4ubm9kZVR5cGUmJm4uZG9jdW1lbnRFbGVtZW50JiYocj0oVD1uKS5kb2N1bWVudEVsZW1lbnQsQz0hY2UuaXNYTUxEb2MoVCksaT1yLm1hdGNoZXN8fHIud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxyLm1zTWF0Y2hlc1NlbGVjdG9yLHIubXNNYXRjaGVzU2VsZWN0b3ImJnllIT1UJiYodD1ULmRlZmF1bHRWaWV3KSYmdC50b3AhPT10JiZ0LmFkZEV2ZW50TGlzdGVuZXIoInVubG9hZCIsTSksbGUuZ2V0QnlJZD0kKGZ1bmN0aW9uKGUpe3JldHVybiByLmFwcGVuZENoaWxkKGUpLmlkPWNlLmV4cGFuZG8sIVQuZ2V0RWxlbWVudHNCeU5hbWV8fCFULmdldEVsZW1lbnRzQnlOYW1lKGNlLmV4cGFuZG8pLmxlbmd0aH0pLGxlLmRpc2Nvbm5lY3RlZE1hdGNoPSQoZnVuY3Rpb24oZSl7cmV0dXJuIGkuY2FsbChlLCIqIil9KSxsZS5zY29wZT0kKGZ1bmN0aW9uKCl7cmV0dXJuIFQucXVlcnlTZWxlY3RvckFsbCgiOnNjb3BlIil9KSxsZS5jc3NIYXM9JChmdW5jdGlvbigpe3RyeXtyZXR1cm4gVC5xdWVyeVNlbGVjdG9yKCI6aGFzKCosOmpxZmFrZSkiKSwhMX1jYXRjaChlKXtyZXR1cm4hMH19KSxsZS5nZXRCeUlkPyhiLmZpbHRlci5JRD1mdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UoTyxQKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJpZCIpPT09dH19LGIuZmluZC5JRD1mdW5jdGlvbihlLHQpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgdC5nZXRFbGVtZW50QnlJZCYmQyl7dmFyIG49dC5nZXRFbGVtZW50QnlJZChlKTtyZXR1cm4gbj9bbl06W119fSk6KGIuZmlsdGVyLklEPWZ1bmN0aW9uKGUpe3ZhciBuPWUucmVwbGFjZShPLFApO3JldHVybiBmdW5jdGlvbihlKXt2YXIgdD0idW5kZWZpbmVkIiE9dHlwZW9mIGUuZ2V0QXR0cmlidXRlTm9kZSYmZS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpO3JldHVybiB0JiZ0LnZhbHVlPT09bn19LGIuZmluZC5JRD1mdW5jdGlvbihlLHQpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgdC5nZXRFbGVtZW50QnlJZCYmQyl7dmFyIG4scixpLG89dC5nZXRFbGVtZW50QnlJZChlKTtpZihvKXtpZigobj1vLmdldEF0dHJpYnV0ZU5vZGUoImlkIikpJiZuLnZhbHVlPT09ZSlyZXR1cm5bb107aT10LmdldEVsZW1lbnRzQnlOYW1lKGUpLHI9MDt3aGlsZShvPWlbcisrXSlpZigobj1vLmdldEF0dHJpYnV0ZU5vZGUoImlkIikpJiZuLnZhbHVlPT09ZSlyZXR1cm5bb119cmV0dXJuW119fSksYi5maW5kLlRBRz1mdW5jdGlvbihlLHQpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgdC5nZXRFbGVtZW50c0J5VGFnTmFtZT90LmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpOnQucXVlcnlTZWxlY3RvckFsbChlKX0sYi5maW5kLkNMQVNTPWZ1bmN0aW9uKGUsdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJkMpcmV0dXJuIHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlKX0sZD1bXSwkKGZ1bmN0aW9uKGUpe3ZhciB0O3IuYXBwZW5kQ2hpbGQoZSkuaW5uZXJIVE1MPSI8YSBpZD0nIitTKyInIGhyZWY9JycgZGlzYWJsZWQ9J2Rpc2FibGVkJz48L2E+PHNlbGVjdCBpZD0nIitTKyItXHJcXCcgZGlzYWJsZWQ9J2Rpc2FibGVkJz48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiIsZS5xdWVyeVNlbGVjdG9yQWxsKCJbc2VsZWN0ZWRdIikubGVuZ3RofHxkLnB1c2goIlxcWyIrZ2UrIiooPzp2YWx1ZXwiK2YrIikiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZH49IitTKyItXSIpLmxlbmd0aHx8ZC5wdXNoKCJ+PSIpLGUucXVlcnlTZWxlY3RvckFsbCgiYSMiK1MrIisqIikubGVuZ3RofHxkLnB1c2goIi4jLitbK35dIiksZS5xdWVyeVNlbGVjdG9yQWxsKCI6Y2hlY2tlZCIpLmxlbmd0aHx8ZC5wdXNoKCI6Y2hlY2tlZCIpLCh0PVQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSkuc2V0QXR0cmlidXRlKCJ0eXBlIiwiaGlkZGVuIiksZS5hcHBlbmRDaGlsZCh0KS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCJEIiksci5hcHBlbmRDaGlsZChlKS5kaXNhYmxlZD0hMCwyIT09ZS5xdWVyeVNlbGVjdG9yQWxsKCI6ZGlzYWJsZWQiKS5sZW5ndGgmJmQucHVzaCgiOmVuYWJsZWQiLCI6ZGlzYWJsZWQiKSwodD1ULmNyZWF0ZUVsZW1lbnQoImlucHV0IikpLnNldEF0dHJpYnV0ZSgibmFtZSIsIiIpLGUuYXBwZW5kQ2hpbGQodCksZS5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT0nJ10iKS5sZW5ndGh8fGQucHVzaCgiXFxbIitnZSsiKm5hbWUiK2dlKyIqPSIrZ2UrIiooPzonJ3xcIlwiKSIpfSksbGUuY3NzSGFzfHxkLnB1c2goIjpoYXMiKSxkPWQubGVuZ3RoJiZuZXcgUmVnRXhwKGQuam9pbigifCIpKSxsPWZ1bmN0aW9uKGUsdCl7aWYoZT09PXQpcmV0dXJuIGE9ITAsMDt2YXIgbj0hZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbi0hdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbjtyZXR1cm4gbnx8KDEmKG49KGUub3duZXJEb2N1bWVudHx8ZSk9PSh0Lm93bmVyRG9jdW1lbnR8fHQpP2UuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCk6MSl8fCFsZS5zb3J0RGV0YWNoZWQmJnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSk9PT1uP2U9PT1UfHxlLm93bmVyRG9jdW1lbnQ9PXllJiZJLmNvbnRhaW5zKHllLGUpPy0xOnQ9PT1UfHx0Lm93bmVyRG9jdW1lbnQ9PXllJiZJLmNvbnRhaW5zKHllLHQpPzE6bz9zZS5jYWxsKG8sZSktc2UuY2FsbChvLHQpOjA6NCZuPy0xOjEpfSksVH1mb3IoZSBpbiBJLm1hdGNoZXM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gSShlLG51bGwsbnVsbCx0KX0sSS5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oZSx0KXtpZihWKGUpLEMmJiFoW3QrIiAiXSYmKCFkfHwhZC50ZXN0KHQpKSl0cnl7dmFyIG49aS5jYWxsKGUsdCk7aWYobnx8bGUuZGlzY29ubmVjdGVkTWF0Y2h8fGUuZG9jdW1lbnQmJjExIT09ZS5kb2N1bWVudC5ub2RlVHlwZSlyZXR1cm4gbn1jYXRjaChlKXtoKHQsITApfXJldHVybiAwPEkodCxULG51bGwsW2VdKS5sZW5ndGh9LEkuY29udGFpbnM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4oZS5vd25lckRvY3VtZW50fHxlKSE9VCYmVihlKSxjZS5jb250YWlucyhlLHQpfSxJLmF0dHI9ZnVuY3Rpb24oZSx0KXsoZS5vd25lckRvY3VtZW50fHxlKSE9VCYmVihlKTt2YXIgbj1iLmF0dHJIYW5kbGVbdC50b0xvd2VyQ2FzZSgpXSxyPW4mJnVlLmNhbGwoYi5hdHRySGFuZGxlLHQudG9Mb3dlckNhc2UoKSk/bihlLHQsIUMpOnZvaWQgMDtyZXR1cm4gdm9pZCAwIT09cj9yOmUuZ2V0QXR0cmlidXRlKHQpfSxJLmVycm9yPWZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIitlKX0sY2UudW5pcXVlU29ydD1mdW5jdGlvbihlKXt2YXIgdCxuPVtdLHI9MCxpPTA7aWYoYT0hbGUuc29ydFN0YWJsZSxvPSFsZS5zb3J0U3RhYmxlJiZhZS5jYWxsKGUsMCksZGUuY2FsbChlLGwpLGEpe3doaWxlKHQ9ZVtpKytdKXQ9PT1lW2ldJiYocj1uLnB1c2goaSkpO3doaWxlKHItLSloZS5jYWxsKGUsbltyXSwxKX1yZXR1cm4gbz1udWxsLGV9LGNlLmZuLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soY2UudW5pcXVlU29ydChhZS5hcHBseSh0aGlzKSkpfSwoYj1jZS5leHByPXtjYWNoZUxlbmd0aDo1MCxjcmVhdGVQc2V1ZG86RixtYXRjaDpELGF0dHJIYW5kbGU6e30sZmluZDp7fSxyZWxhdGl2ZTp7Ij4iOntkaXI6InBhcmVudE5vZGUiLGZpcnN0OiEwfSwiICI6e2RpcjoicGFyZW50Tm9kZSJ9LCIrIjp7ZGlyOiJwcmV2aW91c1NpYmxpbmciLGZpcnN0OiEwfSwifiI6e2RpcjoicHJldmlvdXNTaWJsaW5nIn19LHByZUZpbHRlcjp7QVRUUjpmdW5jdGlvbihlKXtyZXR1cm4gZVsxXT1lWzFdLnJlcGxhY2UoTyxQKSxlWzNdPShlWzNdfHxlWzRdfHxlWzVdfHwiIikucmVwbGFjZShPLFApLCJ+PSI9PT1lWzJdJiYoZVszXT0iICIrZVszXSsiICIpLGUuc2xpY2UoMCw0KX0sQ0hJTEQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMV09ZVsxXS50b0xvd2VyQ2FzZSgpLCJudGgiPT09ZVsxXS5zbGljZSgwLDMpPyhlWzNdfHxJLmVycm9yKGVbMF0pLGVbNF09KyhlWzRdP2VbNV0rKGVbNl18fDEpOjIqKCJldmVuIj09PWVbM118fCJvZGQiPT09ZVszXSkpLGVbNV09KyhlWzddK2VbOF18fCJvZGQiPT09ZVszXSkpOmVbM10mJkkuZXJyb3IoZVswXSksZX0sUFNFVURPOmZ1bmN0aW9uKGUpe3ZhciB0LG49IWVbNl0mJmVbMl07cmV0dXJuIEQuQ0hJTEQudGVzdChlWzBdKT9udWxsOihlWzNdP2VbMl09ZVs0XXx8ZVs1XXx8IiI6biYmai50ZXN0KG4pJiYodD1ZKG4sITApKSYmKHQ9bi5pbmRleE9mKCIpIixuLmxlbmd0aC10KS1uLmxlbmd0aCkmJihlWzBdPWVbMF0uc2xpY2UoMCx0KSxlWzJdPW4uc2xpY2UoMCx0KSksZS5zbGljZSgwLDMpKX19LGZpbHRlcjp7VEFHOmZ1bmN0aW9uKGUpe3ZhciB0PWUucmVwbGFjZShPLFApLnRvTG93ZXJDYXNlKCk7cmV0dXJuIioiPT09ZT9mdW5jdGlvbigpe3JldHVybiEwfTpmdW5jdGlvbihlKXtyZXR1cm4gZmUoZSx0KX19LENMQVNTOmZ1bmN0aW9uKGUpe3ZhciB0PXNbZSsiICJdO3JldHVybiB0fHwodD1uZXcgUmVnRXhwKCIoXnwiK2dlKyIpIitlKyIoIitnZSsifCQpIikpJiZzKGUsZnVuY3Rpb24oZSl7cmV0dXJuIHQudGVzdCgic3RyaW5nIj09dHlwZW9mIGUuY2xhc3NOYW1lJiZlLmNsYXNzTmFtZXx8InVuZGVmaW5lZCIhPXR5cGVvZiBlLmdldEF0dHJpYnV0ZSYmZS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX0pfSxBVFRSOmZ1bmN0aW9uKG4scixpKXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQ9SS5hdHRyKGUsbik7cmV0dXJuIG51bGw9PXQ/IiE9Ij09PXI6IXJ8fCh0Kz0iIiwiPSI9PT1yP3Q9PT1pOiIhPSI9PT1yP3QhPT1pOiJePSI9PT1yP2kmJjA9PT10LmluZGV4T2YoaSk6Iio9Ij09PXI/aSYmLTE8dC5pbmRleE9mKGkpOiIkPSI9PT1yP2kmJnQuc2xpY2UoLWkubGVuZ3RoKT09PWk6In49Ij09PXI/LTE8KCIgIit0LnJlcGxhY2UodiwiICIpKyIgIikuaW5kZXhPZihpKToifD0iPT09ciYmKHQ9PT1pfHx0LnNsaWNlKDAsaS5sZW5ndGgrMSk9PT1pKyItIikpfX0sQ0hJTEQ6ZnVuY3Rpb24oZCxlLHQsaCxnKXt2YXIgdj0ibnRoIiE9PWQuc2xpY2UoMCwzKSx5PSJsYXN0IiE9PWQuc2xpY2UoLTQpLG09Im9mLXR5cGUiPT09ZTtyZXR1cm4gMT09PWgmJjA9PT1nP2Z1bmN0aW9uKGUpe3JldHVybiEhZS5wYXJlbnROb2RlfTpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscyx1PXYhPT15PyJuZXh0U2libGluZyI6InByZXZpb3VzU2libGluZyIsbD1lLnBhcmVudE5vZGUsYz1tJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksZj0hbiYmIW0scD0hMTtpZihsKXtpZih2KXt3aGlsZSh1KXtvPWU7d2hpbGUobz1vW3VdKWlmKG0/ZmUobyxjKToxPT09by5ub2RlVHlwZSlyZXR1cm4hMTtzPXU9Im9ubHkiPT09ZCYmIXMmJiJuZXh0U2libGluZyJ9cmV0dXJuITB9aWYocz1beT9sLmZpcnN0Q2hpbGQ6bC5sYXN0Q2hpbGRdLHkmJmYpe3A9KGE9KHI9KGk9bFtTXXx8KGxbU109e30pKVtkXXx8W10pWzBdPT09RSYmclsxXSkmJnJbMl0sbz1hJiZsLmNoaWxkTm9kZXNbYV07d2hpbGUobz0rK2EmJm8mJm9bdV18fChwPWE9MCl8fHMucG9wKCkpaWYoMT09PW8ubm9kZVR5cGUmJisrcCYmbz09PWUpe2lbZF09W0UsYSxwXTticmVha319ZWxzZSBpZihmJiYocD1hPShyPShpPWVbU118fChlW1NdPXt9KSlbZF18fFtdKVswXT09PUUmJnJbMV0pLCExPT09cCl3aGlsZShvPSsrYSYmbyYmb1t1XXx8KHA9YT0wKXx8cy5wb3AoKSlpZigobT9mZShvLGMpOjE9PT1vLm5vZGVUeXBlKSYmKytwJiYoZiYmKChpPW9bU118fChvW1NdPXt9KSlbZF09W0UscF0pLG89PT1lKSlicmVhaztyZXR1cm4ocC09Zyk9PT1ofHxwJWg9PTAmJjA8PXAvaH19fSxQU0VVRE86ZnVuY3Rpb24oZSxvKXt2YXIgdCxhPWIucHNldWRvc1tlXXx8Yi5zZXRGaWx0ZXJzW2UudG9Mb3dlckNhc2UoKV18fEkuZXJyb3IoInVuc3VwcG9ydGVkIHBzZXVkbzogIitlKTtyZXR1cm4gYVtTXT9hKG8pOjE8YS5sZW5ndGg/KHQ9W2UsZSwiIixvXSxiLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoZS50b0xvd2VyQ2FzZSgpKT9GKGZ1bmN0aW9uKGUsdCl7dmFyIG4scj1hKGUsbyksaT1yLmxlbmd0aDt3aGlsZShpLS0pZVtuPXNlLmNhbGwoZSxyW2ldKV09ISh0W25dPXJbaV0pfSk6ZnVuY3Rpb24oZSl7cmV0dXJuIGEoZSwwLHQpfSk6YX19LHBzZXVkb3M6e25vdDpGKGZ1bmN0aW9uKGUpe3ZhciByPVtdLGk9W10scz1uZShlLnJlcGxhY2UodmUsIiQxIikpO3JldHVybiBzW1NdP0YoZnVuY3Rpb24oZSx0LG4scil7dmFyIGksbz1zKGUsbnVsbCxyLFtdKSxhPWUubGVuZ3RoO3doaWxlKGEtLSkoaT1vW2FdKSYmKGVbYV09ISh0W2FdPWkpKX0pOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gclswXT1lLHMocixudWxsLG4saSksclswXT1udWxsLCFpLnBvcCgpfX0pLGhhczpGKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gMDxJKHQsZSkubGVuZ3RofX0pLGNvbnRhaW5zOkYoZnVuY3Rpb24odCl7cmV0dXJuIHQ9dC5yZXBsYWNlKE8sUCksZnVuY3Rpb24oZSl7cmV0dXJuLTE8KGUudGV4dENvbnRlbnR8fGNlLnRleHQoZSkpLmluZGV4T2YodCl9fSksbGFuZzpGKGZ1bmN0aW9uKG4pe3JldHVybiBBLnRlc3Qobnx8IiIpfHxJLmVycm9yKCJ1bnN1cHBvcnRlZCBsYW5nOiAiK24pLG49bi5yZXBsYWNlKE8sUCkudG9Mb3dlckNhc2UoKSxmdW5jdGlvbihlKXt2YXIgdDtkb3tpZih0PUM/ZS5sYW5nOmUuZ2V0QXR0cmlidXRlKCJ4bWw6bGFuZyIpfHxlLmdldEF0dHJpYnV0ZSgibGFuZyIpKXJldHVybih0PXQudG9Mb3dlckNhc2UoKSk9PT1ufHwwPT09dC5pbmRleE9mKG4rIi0iKX13aGlsZSgoZT1lLnBhcmVudE5vZGUpJiYxPT09ZS5ub2RlVHlwZSk7cmV0dXJuITF9fSksdGFyZ2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWllLmxvY2F0aW9uJiZpZS5sb2NhdGlvbi5oYXNoO3JldHVybiB0JiZ0LnNsaWNlKDEpPT09ZS5pZH0scm9vdDpmdW5jdGlvbihlKXtyZXR1cm4gZT09PXJ9LGZvY3VzOmZ1bmN0aW9uKGUpe3JldHVybiBlPT09ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIFQuYWN0aXZlRWxlbWVudH1jYXRjaChlKXt9fSgpJiZULmhhc0ZvY3VzKCkmJiEhKGUudHlwZXx8ZS5ocmVmfHx+ZS50YWJJbmRleCl9LGVuYWJsZWQ6eighMSksZGlzYWJsZWQ6eighMCksY2hlY2tlZDpmdW5jdGlvbihlKXtyZXR1cm4gZmUoZSwiaW5wdXQiKSYmISFlLmNoZWNrZWR8fGZlKGUsIm9wdGlvbiIpJiYhIWUuc2VsZWN0ZWR9LHNlbGVjdGVkOmZ1bmN0aW9uKGUpe3JldHVybiBlLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LCEwPT09ZS5zZWxlY3RlZH0sZW1wdHk6ZnVuY3Rpb24oZSl7Zm9yKGU9ZS5maXJzdENoaWxkO2U7ZT1lLm5leHRTaWJsaW5nKWlmKGUubm9kZVR5cGU8NilyZXR1cm4hMTtyZXR1cm4hMH0scGFyZW50OmZ1bmN0aW9uKGUpe3JldHVybiFiLnBzZXVkb3MuZW1wdHkoZSl9LGhlYWRlcjpmdW5jdGlvbihlKXtyZXR1cm4gcS50ZXN0KGUubm9kZU5hbWUpfSxpbnB1dDpmdW5jdGlvbihlKXtyZXR1cm4gTi50ZXN0KGUubm9kZU5hbWUpfSxidXR0b246ZnVuY3Rpb24oZSl7cmV0dXJuIGZlKGUsImlucHV0IikmJiJidXR0b24iPT09ZS50eXBlfHxmZShlLCJidXR0b24iKX0sdGV4dDpmdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gZmUoZSwiaW5wdXQiKSYmInRleHQiPT09ZS50eXBlJiYobnVsbD09KHQ9ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fCJ0ZXh0Ij09PXQudG9Mb3dlckNhc2UoKSl9LGZpcnN0OlgoZnVuY3Rpb24oKXtyZXR1cm5bMF19KSxsYXN0OlgoZnVuY3Rpb24oZSx0KXtyZXR1cm5bdC0xXX0pLGVxOlgoZnVuY3Rpb24oZSx0LG4pe3JldHVybltuPDA/bit0Om5dfSksZXZlbjpYKGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTA7bjx0O24rPTIpZS5wdXNoKG4pO3JldHVybiBlfSksb2RkOlgoZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49MTtuPHQ7bis9MillLnB1c2gobik7cmV0dXJuIGV9KSxsdDpYKGZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtmb3Iocj1uPDA/bit0OnQ8bj90Om47MDw9LS1yOyllLnB1c2gocik7cmV0dXJuIGV9KSxndDpYKGZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9bjwwP24rdDpuOysrcjx0OyllLnB1c2gocik7cmV0dXJuIGV9KX19KS5wc2V1ZG9zLm50aD1iLnBzZXVkb3MuZXEse3JhZGlvOiEwLGNoZWNrYm94OiEwLGZpbGU6ITAscGFzc3dvcmQ6ITAsaW1hZ2U6ITB9KWIucHNldWRvc1tlXT1CKGUpO2ZvcihlIGlue3N1Ym1pdDohMCxyZXNldDohMH0pYi5wc2V1ZG9zW2VdPV8oZSk7ZnVuY3Rpb24gRygpe31mdW5jdGlvbiBZKGUsdCl7dmFyIG4scixpLG8sYSxzLHUsbD1jW2UrIiAiXTtpZihsKXJldHVybiB0PzA6bC5zbGljZSgwKTthPWUscz1bXSx1PWIucHJlRmlsdGVyO3doaWxlKGEpe2ZvcihvIGluIG4mJiEocj15LmV4ZWMoYSkpfHwociYmKGE9YS5zbGljZShyWzBdLmxlbmd0aCl8fGEpLHMucHVzaChpPVtdKSksbj0hMSwocj1tLmV4ZWMoYSkpJiYobj1yLnNoaWZ0KCksaS5wdXNoKHt2YWx1ZTpuLHR5cGU6clswXS5yZXBsYWNlKHZlLCIgIil9KSxhPWEuc2xpY2Uobi5sZW5ndGgpKSxiLmZpbHRlcikhKHI9RFtvXS5leGVjKGEpKXx8dVtvXSYmIShyPXVbb10ocikpfHwobj1yLnNoaWZ0KCksaS5wdXNoKHt2YWx1ZTpuLHR5cGU6byxtYXRjaGVzOnJ9KSxhPWEuc2xpY2Uobi5sZW5ndGgpKTtpZighbilicmVha31yZXR1cm4gdD9hLmxlbmd0aDphP0kuZXJyb3IoZSk6YyhlLHMpLnNsaWNlKDApfWZ1bmN0aW9uIFEoZSl7Zm9yKHZhciB0PTAsbj1lLmxlbmd0aCxyPSIiO3Q8bjt0Kyspcis9ZVt0XS52YWx1ZTtyZXR1cm4gcn1mdW5jdGlvbiBKKGEsZSx0KXt2YXIgcz1lLmRpcix1PWUubmV4dCxsPXV8fHMsYz10JiYicGFyZW50Tm9kZSI9PT1sLGY9bisrO3JldHVybiBlLmZpcnN0P2Z1bmN0aW9uKGUsdCxuKXt3aGlsZShlPWVbc10paWYoMT09PWUubm9kZVR5cGV8fGMpcmV0dXJuIGEoZSx0LG4pO3JldHVybiExfTpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPVtFLGZdO2lmKG4pe3doaWxlKGU9ZVtzXSlpZigoMT09PWUubm9kZVR5cGV8fGMpJiZhKGUsdCxuKSlyZXR1cm4hMH1lbHNlIHdoaWxlKGU9ZVtzXSlpZigxPT09ZS5ub2RlVHlwZXx8YylpZihpPWVbU118fChlW1NdPXt9KSx1JiZmZShlLHUpKWU9ZVtzXXx8ZTtlbHNle2lmKChyPWlbbF0pJiZyWzBdPT09RSYmclsxXT09PWYpcmV0dXJuIG9bMl09clsyXTtpZigoaVtsXT1vKVsyXT1hKGUsdCxuKSlyZXR1cm4hMH1yZXR1cm4hMX19ZnVuY3Rpb24gSyhpKXtyZXR1cm4gMTxpLmxlbmd0aD9mdW5jdGlvbihlLHQsbil7dmFyIHI9aS5sZW5ndGg7d2hpbGUoci0tKWlmKCFpW3JdKGUsdCxuKSlyZXR1cm4hMTtyZXR1cm4hMH06aVswXX1mdW5jdGlvbiBaKGUsdCxuLHIsaSl7Zm9yKHZhciBvLGE9W10scz0wLHU9ZS5sZW5ndGgsbD1udWxsIT10O3M8dTtzKyspKG89ZVtzXSkmJihuJiYhbihvLHIsaSl8fChhLnB1c2gobyksbCYmdC5wdXNoKHMpKSk7cmV0dXJuIGF9ZnVuY3Rpb24gZWUoZCxoLGcsdix5LGUpe3JldHVybiB2JiYhdltTXSYmKHY9ZWUodikpLHkmJiF5W1NdJiYoeT1lZSh5LGUpKSxGKGZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpLG8sYSxzLHU9W10sbD1bXSxjPXQubGVuZ3RoLGY9ZXx8ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj0wLGk9dC5sZW5ndGg7cjxpO3IrKylJKGUsdFtyXSxuKTtyZXR1cm4gbn0oaHx8IioiLG4ubm9kZVR5cGU/W25dOm4sW10pLHA9IWR8fCFlJiZoP2Y6WihmLHUsZCxuLHIpO2lmKGc/ZyhwLHM9eXx8KGU/ZDpjfHx2KT9bXTp0LG4scik6cz1wLHYpe2k9WihzLGwpLHYoaSxbXSxuLHIpLG89aS5sZW5ndGg7d2hpbGUoby0tKShhPWlbb10pJiYoc1tsW29dXT0hKHBbbFtvXV09YSkpfWlmKGUpe2lmKHl8fGQpe2lmKHkpe2k9W10sbz1zLmxlbmd0aDt3aGlsZShvLS0pKGE9c1tvXSkmJmkucHVzaChwW29dPWEpO3kobnVsbCxzPVtdLGkscil9bz1zLmxlbmd0aDt3aGlsZShvLS0pKGE9c1tvXSkmJi0xPChpPXk/c2UuY2FsbChlLGEpOnVbb10pJiYoZVtpXT0hKHRbaV09YSkpfX1lbHNlIHM9WihzPT09dD9zLnNwbGljZShjLHMubGVuZ3RoKTpzKSx5P3kobnVsbCx0LHMscik6ay5hcHBseSh0LHMpfSl9ZnVuY3Rpb24gdGUoZSl7Zm9yKHZhciBpLHQsbixyPWUubGVuZ3RoLG89Yi5yZWxhdGl2ZVtlWzBdLnR5cGVdLGE9b3x8Yi5yZWxhdGl2ZVsiICJdLHM9bz8xOjAsdT1KKGZ1bmN0aW9uKGUpe3JldHVybiBlPT09aX0sYSwhMCksbD1KKGZ1bmN0aW9uKGUpe3JldHVybi0xPHNlLmNhbGwoaSxlKX0sYSwhMCksYz1bZnVuY3Rpb24oZSx0LG4pe3ZhciByPSFvJiYobnx8dCE9dyl8fCgoaT10KS5ub2RlVHlwZT91KGUsdCxuKTpsKGUsdCxuKSk7cmV0dXJuIGk9bnVsbCxyfV07czxyO3MrKylpZih0PWIucmVsYXRpdmVbZVtzXS50eXBlXSljPVtKKEsoYyksdCldO2Vsc2V7aWYoKHQ9Yi5maWx0ZXJbZVtzXS50eXBlXS5hcHBseShudWxsLGVbc10ubWF0Y2hlcykpW1NdKXtmb3Iobj0rK3M7bjxyO24rKylpZihiLnJlbGF0aXZlW2Vbbl0udHlwZV0pYnJlYWs7cmV0dXJuIGVlKDE8cyYmSyhjKSwxPHMmJlEoZS5zbGljZSgwLHMtMSkuY29uY2F0KHt2YWx1ZToiICI9PT1lW3MtMl0udHlwZT8iKiI6IiJ9KSkucmVwbGFjZSh2ZSwiJDEiKSx0LHM8biYmdGUoZS5zbGljZShzLG4pKSxuPHImJnRlKGU9ZS5zbGljZShuKSksbjxyJiZRKGUpKX1jLnB1c2godCl9cmV0dXJuIEsoYyl9ZnVuY3Rpb24gbmUoZSx0KXt2YXIgbix2LHksbSx4LHIsaT1bXSxvPVtdLGE9dVtlKyIgIl07aWYoIWEpe3R8fCh0PVkoZSkpLG49dC5sZW5ndGg7d2hpbGUobi0tKShhPXRlKHRbbl0pKVtTXT9pLnB1c2goYSk6by5wdXNoKGEpOyhhPXUoZSwodj1vLG09MDwoeT1pKS5sZW5ndGgseD0wPHYubGVuZ3RoLHI9ZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgbyxhLHMsdT0wLGw9IjAiLGM9ZSYmW10sZj1bXSxwPXcsZD1lfHx4JiZiLmZpbmQuVEFHKCIqIixpKSxoPUUrPW51bGw9PXA/MTpNYXRoLnJhbmRvbSgpfHwuMSxnPWQubGVuZ3RoO2ZvcihpJiYodz10PT1UfHx0fHxpKTtsIT09ZyYmbnVsbCE9KG89ZFtsXSk7bCsrKXtpZih4JiZvKXthPTAsdHx8by5vd25lckRvY3VtZW50PT1UfHwoVihvKSxuPSFDKTt3aGlsZShzPXZbYSsrXSlpZihzKG8sdHx8VCxuKSl7ay5jYWxsKHIsbyk7YnJlYWt9aSYmKEU9aCl9bSYmKChvPSFzJiZvKSYmdS0tLGUmJmMucHVzaChvKSl9aWYodSs9bCxtJiZsIT09dSl7YT0wO3doaWxlKHM9eVthKytdKXMoYyxmLHQsbik7aWYoZSl7aWYoMDx1KXdoaWxlKGwtLSljW2xdfHxmW2xdfHwoZltsXT1wZS5jYWxsKHIpKTtmPVooZil9ay5hcHBseShyLGYpLGkmJiFlJiYwPGYubGVuZ3RoJiYxPHUreS5sZW5ndGgmJmNlLnVuaXF1ZVNvcnQocil9cmV0dXJuIGkmJihFPWgsdz1wKSxjfSxtP0Yocik6cikpKS5zZWxlY3Rvcj1lfXJldHVybiBhfWZ1bmN0aW9uIHJlKGUsdCxuLHIpe3ZhciBpLG8sYSxzLHUsbD0iZnVuY3Rpb24iPT10eXBlb2YgZSYmZSxjPSFyJiZZKGU9bC5zZWxlY3Rvcnx8ZSk7aWYobj1ufHxbXSwxPT09Yy5sZW5ndGgpe2lmKDI8KG89Y1swXT1jWzBdLnNsaWNlKDApKS5sZW5ndGgmJiJJRCI9PT0oYT1vWzBdKS50eXBlJiY5PT09dC5ub2RlVHlwZSYmQyYmYi5yZWxhdGl2ZVtvWzFdLnR5cGVdKXtpZighKHQ9KGIuZmluZC5JRChhLm1hdGNoZXNbMF0ucmVwbGFjZShPLFApLHQpfHxbXSlbMF0pKXJldHVybiBuO2wmJih0PXQucGFyZW50Tm9kZSksZT1lLnNsaWNlKG8uc2hpZnQoKS52YWx1ZS5sZW5ndGgpfWk9RC5uZWVkc0NvbnRleHQudGVzdChlKT8wOm8ubGVuZ3RoO3doaWxlKGktLSl7aWYoYT1vW2ldLGIucmVsYXRpdmVbcz1hLnR5cGVdKWJyZWFrO2lmKCh1PWIuZmluZFtzXSkmJihyPXUoYS5tYXRjaGVzWzBdLnJlcGxhY2UoTyxQKSxILnRlc3Qob1swXS50eXBlKSYmVSh0LnBhcmVudE5vZGUpfHx0KSkpe2lmKG8uc3BsaWNlKGksMSksIShlPXIubGVuZ3RoJiZRKG8pKSlyZXR1cm4gay5hcHBseShuLHIpLG47YnJlYWt9fX1yZXR1cm4obHx8bmUoZSxjKSkocix0LCFDLG4sIXR8fEgudGVzdChlKSYmVSh0LnBhcmVudE5vZGUpfHx0KSxufUcucHJvdG90eXBlPWIuZmlsdGVycz1iLnBzZXVkb3MsYi5zZXRGaWx0ZXJzPW5ldyBHLGxlLnNvcnRTdGFibGU9Uy5zcGxpdCgiIikuc29ydChsKS5qb2luKCIiKT09PVMsVigpLGxlLnNvcnREZXRhY2hlZD0kKGZ1bmN0aW9uKGUpe3JldHVybiAxJmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24oVC5jcmVhdGVFbGVtZW50KCJmaWVsZHNldCIpKX0pLGNlLmZpbmQ9SSxjZS5leHByWyI6Il09Y2UuZXhwci5wc2V1ZG9zLGNlLnVuaXF1ZT1jZS51bmlxdWVTb3J0LEkuY29tcGlsZT1uZSxJLnNlbGVjdD1yZSxJLnNldERvY3VtZW50PVYsSS50b2tlbml6ZT1ZLEkuZXNjYXBlPWNlLmVzY2FwZVNlbGVjdG9yLEkuZ2V0VGV4dD1jZS50ZXh0LEkuaXNYTUw9Y2UuaXNYTUxEb2MsSS5zZWxlY3RvcnM9Y2UuZXhwcixJLnN1cHBvcnQ9Y2Uuc3VwcG9ydCxJLnVuaXF1ZVNvcnQ9Y2UudW5pcXVlU29ydH0oKTt2YXIgZD1mdW5jdGlvbihlLHQsbil7dmFyIHI9W10saT12b2lkIDAhPT1uO3doaWxlKChlPWVbdF0pJiY5IT09ZS5ub2RlVHlwZSlpZigxPT09ZS5ub2RlVHlwZSl7aWYoaSYmY2UoZSkuaXMobikpYnJlYWs7ci5wdXNoKGUpfXJldHVybiByfSxoPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPVtdO2U7ZT1lLm5leHRTaWJsaW5nKTE9PT1lLm5vZGVUeXBlJiZlIT09dCYmbi5wdXNoKGUpO3JldHVybiBufSxiPWNlLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LHc9L148KFthLXpdW15cL1wwPjpceDIwXHRcclxuXGZdKilbXHgyMFx0XHJcblxmXSpcLz8+KD86PFwvXDE+fCkkL2k7ZnVuY3Rpb24gVChlLG4scil7cmV0dXJuIHYobik/Y2UuZ3JlcChlLGZ1bmN0aW9uKGUsdCl7cmV0dXJuISFuLmNhbGwoZSx0LGUpIT09cn0pOm4ubm9kZVR5cGU/Y2UuZ3JlcChlLGZ1bmN0aW9uKGUpe3JldHVybiBlPT09biE9PXJ9KToic3RyaW5nIiE9dHlwZW9mIG4/Y2UuZ3JlcChlLGZ1bmN0aW9uKGUpe3JldHVybi0xPHNlLmNhbGwobixlKSE9PXJ9KTpjZS5maWx0ZXIobixlLHIpfWNlLmZpbHRlcj1mdW5jdGlvbihlLHQsbil7dmFyIHI9dFswXTtyZXR1cm4gbiYmKGU9Ijpub3QoIitlKyIpIiksMT09PXQubGVuZ3RoJiYxPT09ci5ub2RlVHlwZT9jZS5maW5kLm1hdGNoZXNTZWxlY3RvcihyLGUpP1tyXTpbXTpjZS5maW5kLm1hdGNoZXMoZSxjZS5ncmVwKHQsZnVuY3Rpb24oZSl7cmV0dXJuIDE9PT1lLm5vZGVUeXBlfSkpfSxjZS5mbi5leHRlbmQoe2ZpbmQ6ZnVuY3Rpb24oZSl7dmFyIHQsbixyPXRoaXMubGVuZ3RoLGk9dGhpcztpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuIHRoaXMucHVzaFN0YWNrKGNlKGUpLmZpbHRlcihmdW5jdGlvbigpe2Zvcih0PTA7dDxyO3QrKylpZihjZS5jb250YWlucyhpW3RdLHRoaXMpKXJldHVybiEwfSkpO2ZvcihuPXRoaXMucHVzaFN0YWNrKFtdKSx0PTA7dDxyO3QrKyljZS5maW5kKGUsaVt0XSxuKTtyZXR1cm4gMTxyP2NlLnVuaXF1ZVNvcnQobik6bn0sZmlsdGVyOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnB1c2hTdGFjayhUKHRoaXMsZXx8W10sITEpKX0sbm90OmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnB1c2hTdGFjayhUKHRoaXMsZXx8W10sITApKX0saXM6ZnVuY3Rpb24oZSl7cmV0dXJuISFUKHRoaXMsInN0cmluZyI9PXR5cGVvZiBlJiZiLnRlc3QoZSk/Y2UoZSk6ZXx8W10sITEpLmxlbmd0aH19KTt2YXIgayxTPS9eKD86XHMqKDxbXHdcV10rPilbXj5dKnwjKFtcdy1dKykpJC87KGNlLmZuLmluaXQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk7aWYoIWUpcmV0dXJuIHRoaXM7aWYobj1ufHxrLCJzdHJpbmciPT10eXBlb2YgZSl7aWYoIShyPSI8Ij09PWVbMF0mJiI+Ij09PWVbZS5sZW5ndGgtMV0mJjM8PWUubGVuZ3RoP1tudWxsLGUsbnVsbF06Uy5leGVjKGUpKXx8IXJbMV0mJnQpcmV0dXJuIXR8fHQuanF1ZXJ5Pyh0fHxuKS5maW5kKGUpOnRoaXMuY29uc3RydWN0b3IodCkuZmluZChlKTtpZihyWzFdKXtpZih0PXQgaW5zdGFuY2VvZiBjZT90WzBdOnQsY2UubWVyZ2UodGhpcyxjZS5wYXJzZUhUTUwoclsxXSx0JiZ0Lm5vZGVUeXBlP3Qub3duZXJEb2N1bWVudHx8dDpDLCEwKSksdy50ZXN0KHJbMV0pJiZjZS5pc1BsYWluT2JqZWN0KHQpKWZvcihyIGluIHQpdih0aGlzW3JdKT90aGlzW3JdKHRbcl0pOnRoaXMuYXR0cihyLHRbcl0pO3JldHVybiB0aGlzfXJldHVybihpPUMuZ2V0RWxlbWVudEJ5SWQoclsyXSkpJiYodGhpc1swXT1pLHRoaXMubGVuZ3RoPTEpLHRoaXN9cmV0dXJuIGUubm9kZVR5cGU/KHRoaXNbMF09ZSx0aGlzLmxlbmd0aD0xLHRoaXMpOnYoZSk/dm9pZCAwIT09bi5yZWFkeT9uLnJlYWR5KGUpOmUoY2UpOmNlLm1ha2VBcnJheShlLHRoaXMpfSkucHJvdG90eXBlPWNlLmZuLGs9Y2UoQyk7dmFyIEU9L14oPzpwYXJlbnRzfHByZXYoPzpVbnRpbHxBbGwpKS8saj17Y2hpbGRyZW46ITAsY29udGVudHM6ITAsbmV4dDohMCxwcmV2OiEwfTtmdW5jdGlvbiBBKGUsdCl7d2hpbGUoKGU9ZVt0XSkmJjEhPT1lLm5vZGVUeXBlKTtyZXR1cm4gZX1jZS5mbi5leHRlbmQoe2hhczpmdW5jdGlvbihlKXt2YXIgdD1jZShlLHRoaXMpLG49dC5sZW5ndGg7cmV0dXJuIHRoaXMuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTxuO2UrKylpZihjZS5jb250YWlucyh0aGlzLHRbZV0pKXJldHVybiEwfSl9LGNsb3Nlc3Q6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPTAsaT10aGlzLmxlbmd0aCxvPVtdLGE9InN0cmluZyIhPXR5cGVvZiBlJiZjZShlKTtpZighYi50ZXN0KGUpKWZvcig7cjxpO3IrKylmb3Iobj10aGlzW3JdO24mJm4hPT10O249bi5wYXJlbnROb2RlKWlmKG4ubm9kZVR5cGU8MTEmJihhPy0xPGEuaW5kZXgobik6MT09PW4ubm9kZVR5cGUmJmNlLmZpbmQubWF0Y2hlc1NlbGVjdG9yKG4sZSkpKXtvLnB1c2gobik7YnJlYWt9cmV0dXJuIHRoaXMucHVzaFN0YWNrKDE8by5sZW5ndGg/Y2UudW5pcXVlU29ydChvKTpvKX0saW5kZXg6ZnVuY3Rpb24oZSl7cmV0dXJuIGU/InN0cmluZyI9PXR5cGVvZiBlP3NlLmNhbGwoY2UoZSksdGhpc1swXSk6c2UuY2FsbCh0aGlzLGUuanF1ZXJ5P2VbMF06ZSk6dGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlP3RoaXMuZmlyc3QoKS5wcmV2QWxsKCkubGVuZ3RoOi0xfSxhZGQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soY2UudW5pcXVlU29ydChjZS5tZXJnZSh0aGlzLmdldCgpLGNlKGUsdCkpKSl9LGFkZEJhY2s6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuYWRkKG51bGw9PWU/dGhpcy5wcmV2T2JqZWN0OnRoaXMucHJldk9iamVjdC5maWx0ZXIoZSkpfX0pLGNlLmVhY2goe3BhcmVudDpmdW5jdGlvbihlKXt2YXIgdD1lLnBhcmVudE5vZGU7cmV0dXJuIHQmJjExIT09dC5ub2RlVHlwZT90Om51bGx9LHBhcmVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIGQoZSwicGFyZW50Tm9kZSIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBkKGUsInBhcmVudE5vZGUiLG4pfSxuZXh0OmZ1bmN0aW9uKGUpe3JldHVybiBBKGUsIm5leHRTaWJsaW5nIil9LHByZXY6ZnVuY3Rpb24oZSl7cmV0dXJuIEEoZSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIGQoZSwibmV4dFNpYmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihlKXtyZXR1cm4gZChlLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dFVudGlsOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZChlLCJuZXh0U2libGluZyIsbil9LHByZXZVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGQoZSwicHJldmlvdXNTaWJsaW5nIixuKX0sc2libGluZ3M6ZnVuY3Rpb24oZSl7cmV0dXJuIGgoKGUucGFyZW50Tm9kZXx8e30pLmZpcnN0Q2hpbGQsZSl9LGNoaWxkcmVuOmZ1bmN0aW9uKGUpe3JldHVybiBoKGUuZmlyc3RDaGlsZCl9LGNvbnRlbnRzOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lLmNvbnRlbnREb2N1bWVudCYmcihlLmNvbnRlbnREb2N1bWVudCk/ZS5jb250ZW50RG9jdW1lbnQ6KGZlKGUsInRlbXBsYXRlIikmJihlPWUuY29udGVudHx8ZSksY2UubWVyZ2UoW10sZS5jaGlsZE5vZGVzKSl9fSxmdW5jdGlvbihyLGkpe2NlLmZuW3JdPWZ1bmN0aW9uKGUsdCl7dmFyIG49Y2UubWFwKHRoaXMsaSxlKTtyZXR1cm4iVW50aWwiIT09ci5zbGljZSgtNSkmJih0PWUpLHQmJiJzdHJpbmciPT10eXBlb2YgdCYmKG49Y2UuZmlsdGVyKHQsbikpLDE8dGhpcy5sZW5ndGgmJihqW3JdfHxjZS51bmlxdWVTb3J0KG4pLEUudGVzdChyKSYmbi5yZXZlcnNlKCkpLHRoaXMucHVzaFN0YWNrKG4pfX0pO3ZhciBEPS9bXlx4MjBcdFxyXG5cZl0rL2c7ZnVuY3Rpb24gTihlKXtyZXR1cm4gZX1mdW5jdGlvbiBxKGUpe3Rocm93IGV9ZnVuY3Rpb24gTChlLHQsbixyKXt2YXIgaTt0cnl7ZSYmdihpPWUucHJvbWlzZSk/aS5jYWxsKGUpLmRvbmUodCkuZmFpbChuKTplJiZ2KGk9ZS50aGVuKT9pLmNhbGwoZSx0LG4pOnQuYXBwbHkodm9pZCAwLFtlXS5zbGljZShyKSl9Y2F0Y2goZSl7bi5hcHBseSh2b2lkIDAsW2VdKX19Y2UuQ2FsbGJhY2tzPWZ1bmN0aW9uKHIpe3ZhciBlLG47cj0ic3RyaW5nIj09dHlwZW9mIHI/KGU9cixuPXt9LGNlLmVhY2goZS5tYXRjaChEKXx8W10sZnVuY3Rpb24oZSx0KXtuW3RdPSEwfSksbik6Y2UuZXh0ZW5kKHt9LHIpO3ZhciBpLHQsbyxhLHM9W10sdT1bXSxsPS0xLGM9ZnVuY3Rpb24oKXtmb3IoYT1hfHxyLm9uY2Usbz1pPSEwO3UubGVuZ3RoO2w9LTEpe3Q9dS5zaGlmdCgpO3doaWxlKCsrbDxzLmxlbmd0aCkhMT09PXNbbF0uYXBwbHkodFswXSx0WzFdKSYmci5zdG9wT25GYWxzZSYmKGw9cy5sZW5ndGgsdD0hMSl9ci5tZW1vcnl8fCh0PSExKSxpPSExLGEmJihzPXQ/W106IiIpfSxmPXthZGQ6ZnVuY3Rpb24oKXtyZXR1cm4gcyYmKHQmJiFpJiYobD1zLmxlbmd0aC0xLHUucHVzaCh0KSksZnVuY3Rpb24gbihlKXtjZS5lYWNoKGUsZnVuY3Rpb24oZSx0KXt2KHQpP3IudW5pcXVlJiZmLmhhcyh0KXx8cy5wdXNoKHQpOnQmJnQubGVuZ3RoJiYic3RyaW5nIiE9PXgodCkmJm4odCl9KX0oYXJndW1lbnRzKSx0JiYhaSYmYygpKSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oKXtyZXR1cm4gY2UuZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oZSx0KXt2YXIgbjt3aGlsZSgtMTwobj1jZS5pbkFycmF5KHQscyxuKSkpcy5zcGxpY2UobiwxKSxuPD1sJiZsLS19KSx0aGlzfSxoYXM6ZnVuY3Rpb24oZSl7cmV0dXJuIGU/LTE8Y2UuaW5BcnJheShlLHMpOjA8cy5sZW5ndGh9LGVtcHR5OmZ1bmN0aW9uKCl7cmV0dXJuIHMmJihzPVtdKSx0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGE9dT1bXSxzPXQ9IiIsdGhpc30sZGlzYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hc30sbG9jazpmdW5jdGlvbigpe3JldHVybiBhPXU9W10sdHx8aXx8KHM9dD0iIiksdGhpc30sbG9ja2VkOmZ1bmN0aW9uKCl7cmV0dXJuISFhfSxmaXJlV2l0aDpmdW5jdGlvbihlLHQpe3JldHVybiBhfHwodD1bZSwodD10fHxbXSkuc2xpY2U/dC5zbGljZSgpOnRdLHUucHVzaCh0KSxpfHxjKCkpLHRoaXN9LGZpcmU6ZnVuY3Rpb24oKXtyZXR1cm4gZi5maXJlV2l0aCh0aGlzLGFyZ3VtZW50cyksdGhpc30sZmlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIW99fTtyZXR1cm4gZn0sY2UuZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihlKXt2YXIgbz1bWyJub3RpZnkiLCJwcm9ncmVzcyIsY2UuQ2FsbGJhY2tzKCJtZW1vcnkiKSxjZS5DYWxsYmFja3MoIm1lbW9yeSIpLDJdLFsicmVzb2x2ZSIsImRvbmUiLGNlLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxjZS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksMCwicmVzb2x2ZWQiXSxbInJlamVjdCIsImZhaWwiLGNlLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxjZS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksMSwicmVqZWN0ZWQiXV0saT0icGVuZGluZyIsYT17c3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIHMuZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSx0aGlzfSwiY2F0Y2giOmZ1bmN0aW9uKGUpe3JldHVybiBhLnRoZW4obnVsbCxlKX0scGlwZTpmdW5jdGlvbigpe3ZhciBpPWFyZ3VtZW50cztyZXR1cm4gY2UuRGVmZXJyZWQoZnVuY3Rpb24ocil7Y2UuZWFjaChvLGZ1bmN0aW9uKGUsdCl7dmFyIG49dihpW3RbNF1dKSYmaVt0WzRdXTtzW3RbMV1dKGZ1bmN0aW9uKCl7dmFyIGU9biYmbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZSYmdihlLnByb21pc2UpP2UucHJvbWlzZSgpLnByb2dyZXNzKHIubm90aWZ5KS5kb25lKHIucmVzb2x2ZSkuZmFpbChyLnJlamVjdCk6clt0WzBdKyJXaXRoIl0odGhpcyxuP1tlXTphcmd1bWVudHMpfSl9KSxpPW51bGx9KS5wcm9taXNlKCl9LHRoZW46ZnVuY3Rpb24odCxuLHIpe3ZhciB1PTA7ZnVuY3Rpb24gbChpLG8sYSxzKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj10aGlzLHI9YXJndW1lbnRzLGU9ZnVuY3Rpb24oKXt2YXIgZSx0O2lmKCEoaTx1KSl7aWYoKGU9YS5hcHBseShuLHIpKT09PW8ucHJvbWlzZSgpKXRocm93IG5ldyBUeXBlRXJyb3IoIlRoZW5hYmxlIHNlbGYtcmVzb2x1dGlvbiIpO3Q9ZSYmKCJvYmplY3QiPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUpJiZlLnRoZW4sdih0KT9zP3QuY2FsbChlLGwodSxvLE4scyksbCh1LG8scSxzKSk6KHUrKyx0LmNhbGwoZSxsKHUsbyxOLHMpLGwodSxvLHEscyksbCh1LG8sTixvLm5vdGlmeVdpdGgpKSk6KGEhPT1OJiYobj12b2lkIDAscj1bZV0pLChzfHxvLnJlc29sdmVXaXRoKShuLHIpKX19LHQ9cz9lOmZ1bmN0aW9uKCl7dHJ5e2UoKX1jYXRjaChlKXtjZS5EZWZlcnJlZC5leGNlcHRpb25Ib29rJiZjZS5EZWZlcnJlZC5leGNlcHRpb25Ib29rKGUsdC5lcnJvciksdTw9aSsxJiYoYSE9PXEmJihuPXZvaWQgMCxyPVtlXSksby5yZWplY3RXaXRoKG4scikpfX07aT90KCk6KGNlLkRlZmVycmVkLmdldEVycm9ySG9vaz90LmVycm9yPWNlLkRlZmVycmVkLmdldEVycm9ySG9vaygpOmNlLkRlZmVycmVkLmdldFN0YWNrSG9vayYmKHQuZXJyb3I9Y2UuRGVmZXJyZWQuZ2V0U3RhY2tIb29rKCkpLGllLnNldFRpbWVvdXQodCkpfX1yZXR1cm4gY2UuRGVmZXJyZWQoZnVuY3Rpb24oZSl7b1swXVszXS5hZGQobCgwLGUsdihyKT9yOk4sZS5ub3RpZnlXaXRoKSksb1sxXVszXS5hZGQobCgwLGUsdih0KT90Ok4pKSxvWzJdWzNdLmFkZChsKDAsZSx2KG4pP246cSkpfSkucHJvbWlzZSgpfSxwcm9taXNlOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lP2NlLmV4dGVuZChlLGEpOmF9fSxzPXt9O3JldHVybiBjZS5lYWNoKG8sZnVuY3Rpb24oZSx0KXt2YXIgbj10WzJdLHI9dFs1XTthW3RbMV1dPW4uYWRkLHImJm4uYWRkKGZ1bmN0aW9uKCl7aT1yfSxvWzMtZV1bMl0uZGlzYWJsZSxvWzMtZV1bM10uZGlzYWJsZSxvWzBdWzJdLmxvY2ssb1swXVszXS5sb2NrKSxuLmFkZCh0WzNdLmZpcmUpLHNbdFswXV09ZnVuY3Rpb24oKXtyZXR1cm4gc1t0WzBdKyJXaXRoIl0odGhpcz09PXM/dm9pZCAwOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxzW3RbMF0rIldpdGgiXT1uLmZpcmVXaXRofSksYS5wcm9taXNlKHMpLGUmJmUuY2FsbChzLHMpLHN9LHdoZW46ZnVuY3Rpb24oZSl7dmFyIG49YXJndW1lbnRzLmxlbmd0aCx0PW4scj1BcnJheSh0KSxpPWFlLmNhbGwoYXJndW1lbnRzKSxvPWNlLkRlZmVycmVkKCksYT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7clt0XT10aGlzLGlbdF09MTxhcmd1bWVudHMubGVuZ3RoP2FlLmNhbGwoYXJndW1lbnRzKTplLC0tbnx8by5yZXNvbHZlV2l0aChyLGkpfX07aWYobjw9MSYmKEwoZSxvLmRvbmUoYSh0KSkucmVzb2x2ZSxvLnJlamVjdCwhbiksInBlbmRpbmciPT09by5zdGF0ZSgpfHx2KGlbdF0mJmlbdF0udGhlbikpKXJldHVybiBvLnRoZW4oKTt3aGlsZSh0LS0pTChpW3RdLGEodCksby5yZWplY3QpO3JldHVybiBvLnByb21pc2UoKX19KTt2YXIgSD0vXihFdmFsfEludGVybmFsfFJhbmdlfFJlZmVyZW5jZXxTeW50YXh8VHlwZXxVUkkpRXJyb3IkLztjZS5EZWZlcnJlZC5leGNlcHRpb25Ib29rPWZ1bmN0aW9uKGUsdCl7aWUuY29uc29sZSYmaWUuY29uc29sZS53YXJuJiZlJiZILnRlc3QoZS5uYW1lKSYmaWUuY29uc29sZS53YXJuKCJqUXVlcnkuRGVmZXJyZWQgZXhjZXB0aW9uOiAiK2UubWVzc2FnZSxlLnN0YWNrLHQpfSxjZS5yZWFkeUV4Y2VwdGlvbj1mdW5jdGlvbihlKXtpZS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgZX0pfTt2YXIgTz1jZS5EZWZlcnJlZCgpO2Z1bmN0aW9uIFAoKXtDLnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLFApLGllLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLFApLGNlLnJlYWR5KCl9Y2UuZm4ucmVhZHk9ZnVuY3Rpb24oZSl7cmV0dXJuIE8udGhlbihlKVsiY2F0Y2giXShmdW5jdGlvbihlKXtjZS5yZWFkeUV4Y2VwdGlvbihlKX0pLHRoaXN9LGNlLmV4dGVuZCh7aXNSZWFkeTohMSxyZWFkeVdhaXQ6MSxyZWFkeTpmdW5jdGlvbihlKXsoITA9PT1lPy0tY2UucmVhZHlXYWl0OmNlLmlzUmVhZHkpfHwoY2UuaXNSZWFkeT0hMCkhPT1lJiYwPC0tY2UucmVhZHlXYWl0fHxPLnJlc29sdmVXaXRoKEMsW2NlXSl9fSksY2UucmVhZHkudGhlbj1PLnRoZW4sImNvbXBsZXRlIj09PUMucmVhZHlTdGF0ZXx8ImxvYWRpbmciIT09Qy5yZWFkeVN0YXRlJiYhQy5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGw/aWUuc2V0VGltZW91dChjZS5yZWFkeSk6KEMuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsUCksaWUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsUCkpO3ZhciBNPWZ1bmN0aW9uKGUsdCxuLHIsaSxvLGEpe3ZhciBzPTAsdT1lLmxlbmd0aCxsPW51bGw9PW47aWYoIm9iamVjdCI9PT14KG4pKWZvcihzIGluIGk9ITAsbilNKGUsdCxzLG5bc10sITAsbyxhKTtlbHNlIGlmKHZvaWQgMCE9PXImJihpPSEwLHYocil8fChhPSEwKSxsJiYoYT8odC5jYWxsKGUsciksdD1udWxsKToobD10LHQ9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBsLmNhbGwoY2UoZSksbil9KSksdCkpZm9yKDtzPHU7cysrKXQoZVtzXSxuLGE/cjpyLmNhbGwoZVtzXSxzLHQoZVtzXSxuKSkpO3JldHVybiBpP2U6bD90LmNhbGwoZSk6dT90KGVbMF0sbik6b30sUj0vXi1tcy0vLEk9Ly0oW2Etel0pL2c7ZnVuY3Rpb24gVyhlLHQpe3JldHVybiB0LnRvVXBwZXJDYXNlKCl9ZnVuY3Rpb24gRihlKXtyZXR1cm4gZS5yZXBsYWNlKFIsIm1zLSIpLnJlcGxhY2UoSSxXKX12YXIgJD1mdW5jdGlvbihlKXtyZXR1cm4gMT09PWUubm9kZVR5cGV8fDk9PT1lLm5vZGVUeXBlfHwhK2Uubm9kZVR5cGV9O2Z1bmN0aW9uIEIoKXt0aGlzLmV4cGFuZG89Y2UuZXhwYW5kbytCLnVpZCsrfUIudWlkPTEsQi5wcm90b3R5cGU9e2NhY2hlOmZ1bmN0aW9uKGUpe3ZhciB0PWVbdGhpcy5leHBhbmRvXTtyZXR1cm4gdHx8KHQ9e30sJChlKSYmKGUubm9kZVR5cGU/ZVt0aGlzLmV4cGFuZG9dPXQ6T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdGhpcy5leHBhbmRvLHt2YWx1ZTp0LGNvbmZpZ3VyYWJsZTohMH0pKSksdH0sc2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpPXRoaXMuY2FjaGUoZSk7aWYoInN0cmluZyI9PXR5cGVvZiB0KWlbRih0KV09bjtlbHNlIGZvcihyIGluIHQpaVtGKHIpXT10W3JdO3JldHVybiBpfSxnZXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdm9pZCAwPT09dD90aGlzLmNhY2hlKGUpOmVbdGhpcy5leHBhbmRvXSYmZVt0aGlzLmV4cGFuZG9dW0YodCldfSxhY2Nlc3M6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB2b2lkIDA9PT10fHx0JiYic3RyaW5nIj09dHlwZW9mIHQmJnZvaWQgMD09PW4/dGhpcy5nZXQoZSx0KToodGhpcy5zZXQoZSx0LG4pLHZvaWQgMCE9PW4/bjp0KX0scmVtb3ZlOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1lW3RoaXMuZXhwYW5kb107aWYodm9pZCAwIT09cil7aWYodm9pZCAwIT09dCl7bj0odD1BcnJheS5pc0FycmF5KHQpP3QubWFwKEYpOih0PUYodCkpaW4gcj9bdF06dC5tYXRjaChEKXx8W10pLmxlbmd0aDt3aGlsZShuLS0pZGVsZXRlIHJbdFtuXV19KHZvaWQgMD09PXR8fGNlLmlzRW1wdHlPYmplY3QocikpJiYoZS5ub2RlVHlwZT9lW3RoaXMuZXhwYW5kb109dm9pZCAwOmRlbGV0ZSBlW3RoaXMuZXhwYW5kb10pfX0saGFzRGF0YTpmdW5jdGlvbihlKXt2YXIgdD1lW3RoaXMuZXhwYW5kb107cmV0dXJuIHZvaWQgMCE9PXQmJiFjZS5pc0VtcHR5T2JqZWN0KHQpfX07dmFyIF89bmV3IEIsej1uZXcgQixYPS9eKD86XHtbXHdcV10qXH18XFtbXHdcV10qXF0pJC8sVT0vW0EtWl0vZztmdW5jdGlvbiBWKGUsdCxuKXt2YXIgcixpO2lmKHZvaWQgMD09PW4mJjE9PT1lLm5vZGVUeXBlKWlmKHI9ImRhdGEtIit0LnJlcGxhY2UoVSwiLSQmIikudG9Mb3dlckNhc2UoKSwic3RyaW5nIj09dHlwZW9mKG49ZS5nZXRBdHRyaWJ1dGUocikpKXt0cnl7bj0idHJ1ZSI9PT0oaT1uKXx8ImZhbHNlIiE9PWkmJigibnVsbCI9PT1pP251bGw6aT09PStpKyIiPytpOlgudGVzdChpKT9KU09OLnBhcnNlKGkpOmkpfWNhdGNoKGUpe316LnNldChlLHQsbil9ZWxzZSBuPXZvaWQgMDtyZXR1cm4gbn1jZS5leHRlbmQoe2hhc0RhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuIHouaGFzRGF0YShlKXx8Xy5oYXNEYXRhKGUpfSxkYXRhOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gei5hY2Nlc3MoZSx0LG4pfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGUsdCl7ei5yZW1vdmUoZSx0KX0sX2RhdGE6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBfLmFjY2VzcyhlLHQsbil9LF9yZW1vdmVEYXRhOmZ1bmN0aW9uKGUsdCl7Xy5yZW1vdmUoZSx0KX19KSxjZS5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24obixlKXt2YXIgdCxyLGksbz10aGlzWzBdLGE9byYmby5hdHRyaWJ1dGVzO2lmKHZvaWQgMD09PW4pe2lmKHRoaXMubGVuZ3RoJiYoaT16LmdldChvKSwxPT09by5ub2RlVHlwZSYmIV8uZ2V0KG8sImhhc0RhdGFBdHRycyIpKSl7dD1hLmxlbmd0aDt3aGlsZSh0LS0pYVt0XSYmMD09PShyPWFbdF0ubmFtZSkuaW5kZXhPZigiZGF0YS0iKSYmKHI9RihyLnNsaWNlKDUpKSxWKG8scixpW3JdKSk7Xy5zZXQobywiaGFzRGF0YUF0dHJzIiwhMCl9cmV0dXJuIGl9cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBuP3RoaXMuZWFjaChmdW5jdGlvbigpe3ouc2V0KHRoaXMsbil9KTpNKHRoaXMsZnVuY3Rpb24oZSl7dmFyIHQ7aWYobyYmdm9pZCAwPT09ZSlyZXR1cm4gdm9pZCAwIT09KHQ9ei5nZXQobyxuKSk/dDp2b2lkIDAhPT0odD1WKG8sbikpP3Q6dm9pZCAwO3RoaXMuZWFjaChmdW5jdGlvbigpe3ouc2V0KHRoaXMsbixlKX0pfSxudWxsLGUsMTxhcmd1bWVudHMubGVuZ3RoLG51bGwsITApfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt6LnJlbW92ZSh0aGlzLGUpfSl9fSksY2UuZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihlLHQsbil7dmFyIHI7aWYoZSlyZXR1cm4gdD0odHx8ImZ4IikrInF1ZXVlIixyPV8uZ2V0KGUsdCksbiYmKCFyfHxBcnJheS5pc0FycmF5KG4pP3I9Xy5hY2Nlc3MoZSx0LGNlLm1ha2VBcnJheShuKSk6ci5wdXNoKG4pKSxyfHxbXX0sZGVxdWV1ZTpmdW5jdGlvbihlLHQpe3Q9dHx8ImZ4Ijt2YXIgbj1jZS5xdWV1ZShlLHQpLHI9bi5sZW5ndGgsaT1uLnNoaWZ0KCksbz1jZS5fcXVldWVIb29rcyhlLHQpOyJpbnByb2dyZXNzIj09PWkmJihpPW4uc2hpZnQoKSxyLS0pLGkmJigiZngiPT09dCYmbi51bnNoaWZ0KCJpbnByb2dyZXNzIiksZGVsZXRlIG8uc3RvcCxpLmNhbGwoZSxmdW5jdGlvbigpe2NlLmRlcXVldWUoZSx0KX0sbykpLCFyJiZvJiZvLmVtcHR5LmZpcmUoKX0sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oZSx0KXt2YXIgbj10KyJxdWV1ZUhvb2tzIjtyZXR1cm4gXy5nZXQoZSxuKXx8Xy5hY2Nlc3MoZSxuLHtlbXB0eTpjZS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IikuYWRkKGZ1bmN0aW9uKCl7Xy5yZW1vdmUoZSxbdCsicXVldWUiLG5dKX0pfSl9fSksY2UuZm4uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbih0LG4pe3ZhciBlPTI7cmV0dXJuInN0cmluZyIhPXR5cGVvZiB0JiYobj10LHQ9ImZ4IixlLS0pLGFyZ3VtZW50cy5sZW5ndGg8ZT9jZS5xdWV1ZSh0aGlzWzBdLHQpOnZvaWQgMD09PW4/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1jZS5xdWV1ZSh0aGlzLHQsbik7Y2UuX3F1ZXVlSG9va3ModGhpcyx0KSwiZngiPT09dCYmImlucHJvZ3Jlc3MiIT09ZVswXSYmY2UuZGVxdWV1ZSh0aGlzLHQpfSl9LGRlcXVldWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2NlLmRlcXVldWUodGhpcyxlKX0pfSxjbGVhclF1ZXVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnF1ZXVlKGV8fCJmeCIsW10pfSxwcm9taXNlOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0xLGk9Y2UuRGVmZXJyZWQoKSxvPXRoaXMsYT10aGlzLmxlbmd0aCxzPWZ1bmN0aW9uKCl7LS1yfHxpLnJlc29sdmVXaXRoKG8sW29dKX07InN0cmluZyIhPXR5cGVvZiBlJiYodD1lLGU9dm9pZCAwKSxlPWV8fCJmeCI7d2hpbGUoYS0tKShuPV8uZ2V0KG9bYV0sZSsicXVldWVIb29rcyIpKSYmbi5lbXB0eSYmKHIrKyxuLmVtcHR5LmFkZChzKSk7cmV0dXJuIHMoKSxpLnByb21pc2UodCl9fSk7dmFyIEc9L1srLV0/KD86XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5zb3VyY2UsWT1uZXcgUmVnRXhwKCJeKD86KFsrLV0pPXwpKCIrRysiKShbYS16JV0qKSQiLCJpIiksUT1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLEo9Qy5kb2N1bWVudEVsZW1lbnQsSz1mdW5jdGlvbihlKXtyZXR1cm4gY2UuY29udGFpbnMoZS5vd25lckRvY3VtZW50LGUpfSxaPXtjb21wb3NlZDohMH07Si5nZXRSb290Tm9kZSYmKEs9ZnVuY3Rpb24oZSl7cmV0dXJuIGNlLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCxlKXx8ZS5nZXRSb290Tm9kZShaKT09PWUub3duZXJEb2N1bWVudH0pO3ZhciBlZT1mdW5jdGlvbihlLHQpe3JldHVybiJub25lIj09PShlPXR8fGUpLnN0eWxlLmRpc3BsYXl8fCIiPT09ZS5zdHlsZS5kaXNwbGF5JiZLKGUpJiYibm9uZSI9PT1jZS5jc3MoZSwiZGlzcGxheSIpfTtmdW5jdGlvbiB0ZShlLHQsbixyKXt2YXIgaSxvLGE9MjAscz1yP2Z1bmN0aW9uKCl7cmV0dXJuIHIuY3VyKCl9OmZ1bmN0aW9uKCl7cmV0dXJuIGNlLmNzcyhlLHQsIiIpfSx1PXMoKSxsPW4mJm5bM118fChjZS5jc3NOdW1iZXJbdF0/IiI6InB4IiksYz1lLm5vZGVUeXBlJiYoY2UuY3NzTnVtYmVyW3RdfHwicHgiIT09bCYmK3UpJiZZLmV4ZWMoY2UuY3NzKGUsdCkpO2lmKGMmJmNbM10hPT1sKXt1Lz0yLGw9bHx8Y1szXSxjPSt1fHwxO3doaWxlKGEtLSljZS5zdHlsZShlLHQsYytsKSwoMS1vKSooMS0obz1zKCkvdXx8LjUpKTw9MCYmKGE9MCksYy89bztjKj0yLGNlLnN0eWxlKGUsdCxjK2wpLG49bnx8W119cmV0dXJuIG4mJihjPStjfHwrdXx8MCxpPW5bMV0/YysoblsxXSsxKSpuWzJdOituWzJdLHImJihyLnVuaXQ9bCxyLnN0YXJ0PWMsci5lbmQ9aSkpLGl9dmFyIG5lPXt9O2Z1bmN0aW9uIHJlKGUsdCl7Zm9yKHZhciBuLHIsaSxvLGEscyx1LGw9W10sYz0wLGY9ZS5sZW5ndGg7YzxmO2MrKykocj1lW2NdKS5zdHlsZSYmKG49ci5zdHlsZS5kaXNwbGF5LHQ/KCJub25lIj09PW4mJihsW2NdPV8uZ2V0KHIsImRpc3BsYXkiKXx8bnVsbCxsW2NdfHwoci5zdHlsZS5kaXNwbGF5PSIiKSksIiI9PT1yLnN0eWxlLmRpc3BsYXkmJmVlKHIpJiYobFtjXT0odT1hPW89dm9pZCAwLGE9KGk9cikub3duZXJEb2N1bWVudCxzPWkubm9kZU5hbWUsKHU9bmVbc10pfHwobz1hLmJvZHkuYXBwZW5kQ2hpbGQoYS5jcmVhdGVFbGVtZW50KHMpKSx1PWNlLmNzcyhvLCJkaXNwbGF5Iiksby5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG8pLCJub25lIj09PXUmJih1PSJibG9jayIpLG5lW3NdPXUpKSkpOiJub25lIiE9PW4mJihsW2NdPSJub25lIixfLnNldChyLCJkaXNwbGF5IixuKSkpO2ZvcihjPTA7YzxmO2MrKyludWxsIT1sW2NdJiYoZVtjXS5zdHlsZS5kaXNwbGF5PWxbY10pO3JldHVybiBlfWNlLmZuLmV4dGVuZCh7c2hvdzpmdW5jdGlvbigpe3JldHVybiByZSh0aGlzLCEwKX0saGlkZTpmdW5jdGlvbigpe3JldHVybiByZSh0aGlzKX0sdG9nZ2xlOmZ1bmN0aW9uKGUpe3JldHVybiJib29sZWFuIj09dHlwZW9mIGU/ZT90aGlzLnNob3coKTp0aGlzLmhpZGUoKTp0aGlzLmVhY2goZnVuY3Rpb24oKXtlZSh0aGlzKT9jZSh0aGlzKS5zaG93KCk6Y2UodGhpcykuaGlkZSgpfSl9fSk7dmFyIHhlLGJlLHdlPS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pLFRlPS88KFthLXpdW15cL1wwPlx4MjBcdFxyXG5cZl0qKS9pLENlPS9eJHxebW9kdWxlJHxcLyg/OmphdmF8ZWNtYSlzY3JpcHQvaTt4ZT1DLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKS5hcHBlbmRDaGlsZChDLmNyZWF0ZUVsZW1lbnQoImRpdiIpKSwoYmU9Qy5jcmVhdGVFbGVtZW50KCJpbnB1dCIpKS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJyYWRpbyIpLGJlLnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsImNoZWNrZWQiKSxiZS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCJ0IikseGUuYXBwZW5kQ2hpbGQoYmUpLGxlLmNoZWNrQ2xvbmU9eGUuY2xvbmVOb2RlKCEwKS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5jaGVja2VkLHhlLmlubmVySFRNTD0iPHRleHRhcmVhPng8L3RleHRhcmVhPiIsbGUubm9DbG9uZUNoZWNrZWQ9ISF4ZS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWUseGUuaW5uZXJIVE1MPSI8b3B0aW9uPjwvb3B0aW9uPiIsbGUub3B0aW9uPSEheGUubGFzdENoaWxkO3ZhciBrZT17dGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLGNvbDpbMiwiPHRhYmxlPjxjb2xncm91cD4iLCI8L2NvbGdyb3VwPjwvdGFibGU+Il0sdHI6WzIsIjx0YWJsZT48dGJvZHk+IiwiPC90Ym9keT48L3RhYmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3RyPjwvdGJvZHk+PC90YWJsZT4iXSxfZGVmYXVsdDpbMCwiIiwiIl19O2Z1bmN0aW9uIFNlKGUsdCl7dmFyIG47cmV0dXJuIG49InVuZGVmaW5lZCIhPXR5cGVvZiBlLmdldEVsZW1lbnRzQnlUYWdOYW1lP2UuZ2V0RWxlbWVudHNCeVRhZ05hbWUodHx8IioiKToidW5kZWZpbmVkIiE9dHlwZW9mIGUucXVlcnlTZWxlY3RvckFsbD9lLnF1ZXJ5U2VsZWN0b3JBbGwodHx8IioiKTpbXSx2b2lkIDA9PT10fHx0JiZmZShlLHQpP2NlLm1lcmdlKFtlXSxuKTpufWZ1bmN0aW9uIEVlKGUsdCl7Zm9yKHZhciBuPTAscj1lLmxlbmd0aDtuPHI7bisrKV8uc2V0KGVbbl0sImdsb2JhbEV2YWwiLCF0fHxfLmdldCh0W25dLCJnbG9iYWxFdmFsIikpfWtlLnRib2R5PWtlLnRmb290PWtlLmNvbGdyb3VwPWtlLmNhcHRpb249a2UudGhlYWQsa2UudGg9a2UudGQsbGUub3B0aW9ufHwoa2Uub3B0Z3JvdXA9a2Uub3B0aW9uPVsxLCI8c2VsZWN0IG11bHRpcGxlPSdtdWx0aXBsZSc+IiwiPC9zZWxlY3Q+Il0pO3ZhciBqZT0vPHwmIz9cdys7LztmdW5jdGlvbiBBZShlLHQsbixyLGkpe2Zvcih2YXIgbyxhLHMsdSxsLGMsZj10LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxwPVtdLGQ9MCxoPWUubGVuZ3RoO2Q8aDtkKyspaWYoKG89ZVtkXSl8fDA9PT1vKWlmKCJvYmplY3QiPT09eChvKSljZS5tZXJnZShwLG8ubm9kZVR5cGU/W29dOm8pO2Vsc2UgaWYoamUudGVzdChvKSl7YT1hfHxmLmFwcGVuZENoaWxkKHQuY3JlYXRlRWxlbWVudCgiZGl2IikpLHM9KFRlLmV4ZWMobyl8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCksdT1rZVtzXXx8a2UuX2RlZmF1bHQsYS5pbm5lckhUTUw9dVsxXStjZS5odG1sUHJlZmlsdGVyKG8pK3VbMl0sYz11WzBdO3doaWxlKGMtLSlhPWEubGFzdENoaWxkO2NlLm1lcmdlKHAsYS5jaGlsZE5vZGVzKSwoYT1mLmZpcnN0Q2hpbGQpLnRleHRDb250ZW50PSIifWVsc2UgcC5wdXNoKHQuY3JlYXRlVGV4dE5vZGUobykpO2YudGV4dENvbnRlbnQ9IiIsZD0wO3doaWxlKG89cFtkKytdKWlmKHImJi0xPGNlLmluQXJyYXkobyxyKSlpJiZpLnB1c2gobyk7ZWxzZSBpZihsPUsobyksYT1TZShmLmFwcGVuZENoaWxkKG8pLCJzY3JpcHQiKSxsJiZFZShhKSxuKXtjPTA7d2hpbGUobz1hW2MrK10pQ2UudGVzdChvLnR5cGV8fCIiKSYmbi5wdXNoKG8pfXJldHVybiBmfXZhciBEZT0vXihbXi5dKikoPzpcLiguKyl8KS87ZnVuY3Rpb24gTmUoKXtyZXR1cm4hMH1mdW5jdGlvbiBxZSgpe3JldHVybiExfWZ1bmN0aW9uIExlKGUsdCxuLHIsaSxvKXt2YXIgYSxzO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7Zm9yKHMgaW4ic3RyaW5nIiE9dHlwZW9mIG4mJihyPXJ8fG4sbj12b2lkIDApLHQpTGUoZSxzLG4scix0W3NdLG8pO3JldHVybiBlfWlmKG51bGw9PXImJm51bGw9PWk/KGk9bixyPW49dm9pZCAwKTpudWxsPT1pJiYoInN0cmluZyI9PXR5cGVvZiBuPyhpPXIscj12b2lkIDApOihpPXIscj1uLG49dm9pZCAwKSksITE9PT1pKWk9cWU7ZWxzZSBpZighaSlyZXR1cm4gZTtyZXR1cm4gMT09PW8mJihhPWksKGk9ZnVuY3Rpb24oZSl7cmV0dXJuIGNlKCkub2ZmKGUpLGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSkuZ3VpZD1hLmd1aWR8fChhLmd1aWQ9Y2UuZ3VpZCsrKSksZS5lYWNoKGZ1bmN0aW9uKCl7Y2UuZXZlbnQuYWRkKHRoaXMsdCxpLHIsbil9KX1mdW5jdGlvbiBIZShlLHIsdCl7dD8oXy5zZXQoZSxyLCExKSxjZS5ldmVudC5hZGQoZSxyLHtuYW1lc3BhY2U6ITEsaGFuZGxlcjpmdW5jdGlvbihlKXt2YXIgdCxuPV8uZ2V0KHRoaXMscik7aWYoMSZlLmlzVHJpZ2dlciYmdGhpc1tyXSl7aWYobikoY2UuZXZlbnQuc3BlY2lhbFtyXXx8e30pLmRlbGVnYXRlVHlwZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKG49YWUuY2FsbChhcmd1bWVudHMpLF8uc2V0KHRoaXMscixuKSx0aGlzW3JdKCksdD1fLmdldCh0aGlzLHIpLF8uc2V0KHRoaXMsciwhMSksbiE9PXQpcmV0dXJuIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksZS5wcmV2ZW50RGVmYXVsdCgpLHR9ZWxzZSBuJiYoXy5zZXQodGhpcyxyLGNlLmV2ZW50LnRyaWdnZXIoblswXSxuLnNsaWNlKDEpLHRoaXMpKSxlLnN0b3BQcm9wYWdhdGlvbigpLGUuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9TmUpfX0pKTp2b2lkIDA9PT1fLmdldChlLHIpJiZjZS5ldmVudC5hZGQoZSxyLE5lKX1jZS5ldmVudD17Z2xvYmFsOnt9LGFkZDpmdW5jdGlvbih0LGUsbixyLGkpe3ZhciBvLGEscyx1LGwsYyxmLHAsZCxoLGcsdj1fLmdldCh0KTtpZigkKHQpKXtuLmhhbmRsZXImJihuPShvPW4pLmhhbmRsZXIsaT1vLnNlbGVjdG9yKSxpJiZjZS5maW5kLm1hdGNoZXNTZWxlY3RvcihKLGkpLG4uZ3VpZHx8KG4uZ3VpZD1jZS5ndWlkKyspLCh1PXYuZXZlbnRzKXx8KHU9di5ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSksKGE9di5oYW5kbGUpfHwoYT12LmhhbmRsZT1mdW5jdGlvbihlKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIGNlJiZjZS5ldmVudC50cmlnZ2VyZWQhPT1lLnR5cGU/Y2UuZXZlbnQuZGlzcGF0Y2guYXBwbHkodCxhcmd1bWVudHMpOnZvaWQgMH0pLGw9KGU9KGV8fCIiKS5tYXRjaChEKXx8WyIiXSkubGVuZ3RoO3doaWxlKGwtLSlkPWc9KHM9RGUuZXhlYyhlW2xdKXx8W10pWzFdLGg9KHNbMl18fCIiKS5zcGxpdCgiLiIpLnNvcnQoKSxkJiYoZj1jZS5ldmVudC5zcGVjaWFsW2RdfHx7fSxkPShpP2YuZGVsZWdhdGVUeXBlOmYuYmluZFR5cGUpfHxkLGY9Y2UuZXZlbnQuc3BlY2lhbFtkXXx8e30sYz1jZS5leHRlbmQoe3R5cGU6ZCxvcmlnVHlwZTpnLGRhdGE6cixoYW5kbGVyOm4sZ3VpZDpuLmd1aWQsc2VsZWN0b3I6aSxuZWVkc0NvbnRleHQ6aSYmY2UuZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChpKSxuYW1lc3BhY2U6aC5qb2luKCIuIil9LG8pLChwPXVbZF0pfHwoKHA9dVtkXT1bXSkuZGVsZWdhdGVDb3VudD0wLGYuc2V0dXAmJiExIT09Zi5zZXR1cC5jYWxsKHQscixoLGEpfHx0LmFkZEV2ZW50TGlzdGVuZXImJnQuYWRkRXZlbnRMaXN0ZW5lcihkLGEpKSxmLmFkZCYmKGYuYWRkLmNhbGwodCxjKSxjLmhhbmRsZXIuZ3VpZHx8KGMuaGFuZGxlci5ndWlkPW4uZ3VpZCkpLGk/cC5zcGxpY2UocC5kZWxlZ2F0ZUNvdW50KyssMCxjKTpwLnB1c2goYyksY2UuZXZlbnQuZ2xvYmFsW2RdPSEwKX19LHJlbW92ZTpmdW5jdGlvbihlLHQsbixyLGkpe3ZhciBvLGEscyx1LGwsYyxmLHAsZCxoLGcsdj1fLmhhc0RhdGEoZSkmJl8uZ2V0KGUpO2lmKHYmJih1PXYuZXZlbnRzKSl7bD0odD0odHx8IiIpLm1hdGNoKEQpfHxbIiJdKS5sZW5ndGg7d2hpbGUobC0tKWlmKGQ9Zz0ocz1EZS5leGVjKHRbbF0pfHxbXSlbMV0saD0oc1syXXx8IiIpLnNwbGl0KCIuIikuc29ydCgpLGQpe2Y9Y2UuZXZlbnQuc3BlY2lhbFtkXXx8e30scD11W2Q9KHI/Zi5kZWxlZ2F0ZVR5cGU6Zi5iaW5kVHlwZSl8fGRdfHxbXSxzPXNbMl0mJm5ldyBSZWdFeHAoIihefFxcLikiK2guam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIiksYT1vPXAubGVuZ3RoO3doaWxlKG8tLSljPXBbb10sIWkmJmchPT1jLm9yaWdUeXBlfHxuJiZuLmd1aWQhPT1jLmd1aWR8fHMmJiFzLnRlc3QoYy5uYW1lc3BhY2UpfHxyJiZyIT09Yy5zZWxlY3RvciYmKCIqKiIhPT1yfHwhYy5zZWxlY3Rvcil8fChwLnNwbGljZShvLDEpLGMuc2VsZWN0b3ImJnAuZGVsZWdhdGVDb3VudC0tLGYucmVtb3ZlJiZmLnJlbW92ZS5jYWxsKGUsYykpO2EmJiFwLmxlbmd0aCYmKGYudGVhcmRvd24mJiExIT09Zi50ZWFyZG93bi5jYWxsKGUsaCx2LmhhbmRsZSl8fGNlLnJlbW92ZUV2ZW50KGUsZCx2LmhhbmRsZSksZGVsZXRlIHVbZF0pfWVsc2UgZm9yKGQgaW4gdSljZS5ldmVudC5yZW1vdmUoZSxkK3RbbF0sbixyLCEwKTtjZS5pc0VtcHR5T2JqZWN0KHUpJiZfLnJlbW92ZShlLCJoYW5kbGUgZXZlbnRzIil9fSxkaXNwYXRjaDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsaSxvLGEscz1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCksdT1jZS5ldmVudC5maXgoZSksbD0oXy5nZXQodGhpcywiZXZlbnRzIil8fE9iamVjdC5jcmVhdGUobnVsbCkpW3UudHlwZV18fFtdLGM9Y2UuZXZlbnQuc3BlY2lhbFt1LnR5cGVdfHx7fTtmb3Ioc1swXT11LHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXNbdF09YXJndW1lbnRzW3RdO2lmKHUuZGVsZWdhdGVUYXJnZXQ9dGhpcywhYy5wcmVEaXNwYXRjaHx8ITEhPT1jLnByZURpc3BhdGNoLmNhbGwodGhpcyx1KSl7YT1jZS5ldmVudC5oYW5kbGVycy5jYWxsKHRoaXMsdSxsKSx0PTA7d2hpbGUoKGk9YVt0KytdKSYmIXUuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSl7dS5jdXJyZW50VGFyZ2V0PWkuZWxlbSxuPTA7d2hpbGUoKG89aS5oYW5kbGVyc1tuKytdKSYmIXUuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQoKSl1LnJuYW1lc3BhY2UmJiExIT09by5uYW1lc3BhY2UmJiF1LnJuYW1lc3BhY2UudGVzdChvLm5hbWVzcGFjZSl8fCh1LmhhbmRsZU9iaj1vLHUuZGF0YT1vLmRhdGEsdm9pZCAwIT09KHI9KChjZS5ldmVudC5zcGVjaWFsW28ub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxvLmhhbmRsZXIpLmFwcGx5KGkuZWxlbSxzKSkmJiExPT09KHUucmVzdWx0PXIpJiYodS5wcmV2ZW50RGVmYXVsdCgpLHUuc3RvcFByb3BhZ2F0aW9uKCkpKX1yZXR1cm4gYy5wb3N0RGlzcGF0Y2gmJmMucG9zdERpc3BhdGNoLmNhbGwodGhpcyx1KSx1LnJlc3VsdH19LGhhbmRsZXJzOmZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG8sYSxzPVtdLHU9dC5kZWxlZ2F0ZUNvdW50LGw9ZS50YXJnZXQ7aWYodSYmbC5ub2RlVHlwZSYmISgiY2xpY2siPT09ZS50eXBlJiYxPD1lLmJ1dHRvbikpZm9yKDtsIT09dGhpcztsPWwucGFyZW50Tm9kZXx8dGhpcylpZigxPT09bC5ub2RlVHlwZSYmKCJjbGljayIhPT1lLnR5cGV8fCEwIT09bC5kaXNhYmxlZCkpe2ZvcihvPVtdLGE9e30sbj0wO248dTtuKyspdm9pZCAwPT09YVtpPShyPXRbbl0pLnNlbGVjdG9yKyIgIl0mJihhW2ldPXIubmVlZHNDb250ZXh0Py0xPGNlKGksdGhpcykuaW5kZXgobCk6Y2UuZmluZChpLHRoaXMsbnVsbCxbbF0pLmxlbmd0aCksYVtpXSYmby5wdXNoKHIpO28ubGVuZ3RoJiZzLnB1c2goe2VsZW06bCxoYW5kbGVyczpvfSl9cmV0dXJuIGw9dGhpcyx1PHQubGVuZ3RoJiZzLnB1c2goe2VsZW06bCxoYW5kbGVyczp0LnNsaWNlKHUpfSksc30sYWRkUHJvcDpmdW5jdGlvbih0LGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShjZS5FdmVudC5wcm90b3R5cGUsdCx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0OnYoZSk/ZnVuY3Rpb24oKXtpZih0aGlzLm9yaWdpbmFsRXZlbnQpcmV0dXJuIGUodGhpcy5vcmlnaW5hbEV2ZW50KX06ZnVuY3Rpb24oKXtpZih0aGlzLm9yaWdpbmFsRXZlbnQpcmV0dXJuIHRoaXMub3JpZ2luYWxFdmVudFt0XX0sc2V0OmZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLHQse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmV9KX19KX0sZml4OmZ1bmN0aW9uKGUpe3JldHVybiBlW2NlLmV4cGFuZG9dP2U6bmV3IGNlLkV2ZW50KGUpfSxzcGVjaWFsOntsb2FkOntub0J1YmJsZTohMH0sY2xpY2s6e3NldHVwOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXN8fGU7cmV0dXJuIHdlLnRlc3QodC50eXBlKSYmdC5jbGljayYmZmUodCwiaW5wdXQiKSYmSGUodCwiY2xpY2siLCEwKSwhMX0sdHJpZ2dlcjpmdW5jdGlvbihlKXt2YXIgdD10aGlzfHxlO3JldHVybiB3ZS50ZXN0KHQudHlwZSkmJnQuY2xpY2smJmZlKHQsImlucHV0IikmJkhlKHQsImNsaWNrIiksITB9LF9kZWZhdWx0OmZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O3JldHVybiB3ZS50ZXN0KHQudHlwZSkmJnQuY2xpY2smJmZlKHQsImlucHV0IikmJl8uZ2V0KHQsImNsaWNrIil8fGZlKHQsImEiKX19LGJlZm9yZXVubG9hZDp7cG9zdERpc3BhdGNoOmZ1bmN0aW9uKGUpe3ZvaWQgMCE9PWUucmVzdWx0JiZlLm9yaWdpbmFsRXZlbnQmJihlLm9yaWdpbmFsRXZlbnQucmV0dXJuVmFsdWU9ZS5yZXN1bHQpfX19fSxjZS5yZW1vdmVFdmVudD1mdW5jdGlvbihlLHQsbil7ZS5yZW1vdmVFdmVudExpc3RlbmVyJiZlLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxuKX0sY2UuRXZlbnQ9ZnVuY3Rpb24oZSx0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBjZS5FdmVudCkpcmV0dXJuIG5ldyBjZS5FdmVudChlLHQpO2UmJmUudHlwZT8odGhpcy5vcmlnaW5hbEV2ZW50PWUsdGhpcy50eXBlPWUudHlwZSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1lLmRlZmF1bHRQcmV2ZW50ZWR8fHZvaWQgMD09PWUuZGVmYXVsdFByZXZlbnRlZCYmITE9PT1lLnJldHVyblZhbHVlP05lOnFlLHRoaXMudGFyZ2V0PWUudGFyZ2V0JiYzPT09ZS50YXJnZXQubm9kZVR5cGU/ZS50YXJnZXQucGFyZW50Tm9kZTplLnRhcmdldCx0aGlzLmN1cnJlbnRUYXJnZXQ9ZS5jdXJyZW50VGFyZ2V0LHRoaXMucmVsYXRlZFRhcmdldD1lLnJlbGF0ZWRUYXJnZXQpOnRoaXMudHlwZT1lLHQmJmNlLmV4dGVuZCh0aGlzLHQpLHRoaXMudGltZVN0YW1wPWUmJmUudGltZVN0YW1wfHxEYXRlLm5vdygpLHRoaXNbY2UuZXhwYW5kb109ITB9LGNlLkV2ZW50LnByb3RvdHlwZT17Y29uc3RydWN0b3I6Y2UuRXZlbnQsaXNEZWZhdWx0UHJldmVudGVkOnFlLGlzUHJvcGFnYXRpb25TdG9wcGVkOnFlLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOnFlLGlzU2ltdWxhdGVkOiExLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPU5lLGUmJiF0aGlzLmlzU2ltdWxhdGVkJiZlLnByZXZlbnREZWZhdWx0KCl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPU5lLGUmJiF0aGlzLmlzU2ltdWxhdGVkJiZlLnN0b3BQcm9wYWdhdGlvbigpfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1OZSxlJiYhdGhpcy5pc1NpbXVsYXRlZCYmZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSx0aGlzLnN0b3BQcm9wYWdhdGlvbigpfX0sY2UuZWFjaCh7YWx0S2V5OiEwLGJ1YmJsZXM6ITAsY2FuY2VsYWJsZTohMCxjaGFuZ2VkVG91Y2hlczohMCxjdHJsS2V5OiEwLGRldGFpbDohMCxldmVudFBoYXNlOiEwLG1ldGFLZXk6ITAscGFnZVg6ITAscGFnZVk6ITAsc2hpZnRLZXk6ITAsdmlldzohMCwiY2hhciI6ITAsY29kZTohMCxjaGFyQ29kZTohMCxrZXk6ITAsa2V5Q29kZTohMCxidXR0b246ITAsYnV0dG9uczohMCxjbGllbnRYOiEwLGNsaWVudFk6ITAsb2Zmc2V0WDohMCxvZmZzZXRZOiEwLHBvaW50ZXJJZDohMCxwb2ludGVyVHlwZTohMCxzY3JlZW5YOiEwLHNjcmVlblk6ITAsdGFyZ2V0VG91Y2hlczohMCx0b0VsZW1lbnQ6ITAsdG91Y2hlczohMCx3aGljaDohMH0sY2UuZXZlbnQuYWRkUHJvcCksY2UuZWFjaCh7Zm9jdXM6ImZvY3VzaW4iLGJsdXI6ImZvY3Vzb3V0In0sZnVuY3Rpb24ocixpKXtmdW5jdGlvbiBvKGUpe2lmKEMuZG9jdW1lbnRNb2RlKXt2YXIgdD1fLmdldCh0aGlzLCJoYW5kbGUiKSxuPWNlLmV2ZW50LmZpeChlKTtuLnR5cGU9ImZvY3VzaW4iPT09ZS50eXBlPyJmb2N1cyI6ImJsdXIiLG4uaXNTaW11bGF0ZWQ9ITAsdChlKSxuLnRhcmdldD09PW4uY3VycmVudFRhcmdldCYmdChuKX1lbHNlIGNlLmV2ZW50LnNpbXVsYXRlKGksZS50YXJnZXQsY2UuZXZlbnQuZml4KGUpKX1jZS5ldmVudC5zcGVjaWFsW3JdPXtzZXR1cDpmdW5jdGlvbigpe3ZhciBlO2lmKEhlKHRoaXMsciwhMCksIUMuZG9jdW1lbnRNb2RlKXJldHVybiExOyhlPV8uZ2V0KHRoaXMsaSkpfHx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoaSxvKSxfLnNldCh0aGlzLGksKGV8fDApKzEpfSx0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIEhlKHRoaXMsciksITB9LHRlYXJkb3duOmZ1bmN0aW9uKCl7dmFyIGU7aWYoIUMuZG9jdW1lbnRNb2RlKXJldHVybiExOyhlPV8uZ2V0KHRoaXMsaSktMSk/Xy5zZXQodGhpcyxpLGUpOih0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoaSxvKSxfLnJlbW92ZSh0aGlzLGkpKX0sX2RlZmF1bHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIF8uZ2V0KGUudGFyZ2V0LHIpfSxkZWxlZ2F0ZVR5cGU6aX0sY2UuZXZlbnQuc3BlY2lhbFtpXT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMuZG9jdW1lbnR8fHRoaXMsdD1DLmRvY3VtZW50TW9kZT90aGlzOmUsbj1fLmdldCh0LGkpO258fChDLmRvY3VtZW50TW9kZT90aGlzLmFkZEV2ZW50TGlzdGVuZXIoaSxvKTplLmFkZEV2ZW50TGlzdGVuZXIocixvLCEwKSksXy5zZXQodCxpLChufHwwKSsxKX0sdGVhcmRvd246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMuZG9jdW1lbnR8fHRoaXMsdD1DLmRvY3VtZW50TW9kZT90aGlzOmUsbj1fLmdldCh0LGkpLTE7bj9fLnNldCh0LGksbik6KEMuZG9jdW1lbnRNb2RlP3RoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihpLG8pOmUucmVtb3ZlRXZlbnRMaXN0ZW5lcihyLG8sITApLF8ucmVtb3ZlKHQsaSkpfX19KSxjZS5lYWNoKHttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0Iixwb2ludGVyZW50ZXI6InBvaW50ZXJvdmVyIixwb2ludGVybGVhdmU6InBvaW50ZXJvdXQifSxmdW5jdGlvbihlLGkpe2NlLmV2ZW50LnNwZWNpYWxbZV09e2RlbGVnYXRlVHlwZTppLGJpbmRUeXBlOmksaGFuZGxlOmZ1bmN0aW9uKGUpe3ZhciB0LG49ZS5yZWxhdGVkVGFyZ2V0LHI9ZS5oYW5kbGVPYmo7cmV0dXJuIG4mJihuPT09dGhpc3x8Y2UuY29udGFpbnModGhpcyxuKSl8fChlLnR5cGU9ci5vcmlnVHlwZSx0PXIuaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyksZS50eXBlPWkpLHR9fX0pLGNlLmZuLmV4dGVuZCh7b246ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIExlKHRoaXMsZSx0LG4scil9LG9uZTpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gTGUodGhpcyxlLHQsbixyLDEpfSxvZmY6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk7aWYoZSYmZS5wcmV2ZW50RGVmYXVsdCYmZS5oYW5kbGVPYmopcmV0dXJuIHI9ZS5oYW5kbGVPYmosY2UoZS5kZWxlZ2F0ZVRhcmdldCkub2ZmKHIubmFtZXNwYWNlP3Iub3JpZ1R5cGUrIi4iK3IubmFtZXNwYWNlOnIub3JpZ1R5cGUsci5zZWxlY3RvcixyLmhhbmRsZXIpLHRoaXM7aWYoIm9iamVjdCI9PXR5cGVvZiBlKXtmb3IoaSBpbiBlKXRoaXMub2ZmKGksdCxlW2ldKTtyZXR1cm4gdGhpc31yZXR1cm4hMSE9PXQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0fHwobj10LHQ9dm9pZCAwKSwhMT09PW4mJihuPXFlKSx0aGlzLmVhY2goZnVuY3Rpb24oKXtjZS5ldmVudC5yZW1vdmUodGhpcyxlLG4sdCl9KX19KTt2YXIgT2U9LzxzY3JpcHR8PHN0eWxlfDxsaW5rL2ksUGU9L2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksTWU9L15ccyo8IVxbQ0RBVEFcW3xcXVxdPlxzKiQvZztmdW5jdGlvbiBSZShlLHQpe3JldHVybiBmZShlLCJ0YWJsZSIpJiZmZSgxMSE9PXQubm9kZVR5cGU/dDp0LmZpcnN0Q2hpbGQsInRyIikmJmNlKGUpLmNoaWxkcmVuKCJ0Ym9keSIpWzBdfHxlfWZ1bmN0aW9uIEllKGUpe3JldHVybiBlLnR5cGU9KG51bGwhPT1lLmdldEF0dHJpYnV0ZSgidHlwZSIpKSsiLyIrZS50eXBlLGV9ZnVuY3Rpb24gV2UoZSl7cmV0dXJuInRydWUvIj09PShlLnR5cGV8fCIiKS5zbGljZSgwLDUpP2UudHlwZT1lLnR5cGUuc2xpY2UoNSk6ZS5yZW1vdmVBdHRyaWJ1dGUoInR5cGUiKSxlfWZ1bmN0aW9uIEZlKGUsdCl7dmFyIG4scixpLG8sYSxzO2lmKDE9PT10Lm5vZGVUeXBlKXtpZihfLmhhc0RhdGEoZSkmJihzPV8uZ2V0KGUpLmV2ZW50cykpZm9yKGkgaW4gXy5yZW1vdmUodCwiaGFuZGxlIGV2ZW50cyIpLHMpZm9yKG49MCxyPXNbaV0ubGVuZ3RoO248cjtuKyspY2UuZXZlbnQuYWRkKHQsaSxzW2ldW25dKTt6Lmhhc0RhdGEoZSkmJihvPXouYWNjZXNzKGUpLGE9Y2UuZXh0ZW5kKHt9LG8pLHouc2V0KHQsYSkpfX1mdW5jdGlvbiAkZShuLHIsaSxvKXtyPWcocik7dmFyIGUsdCxhLHMsdSxsLGM9MCxmPW4ubGVuZ3RoLHA9Zi0xLGQ9clswXSxoPXYoZCk7aWYoaHx8MTxmJiYic3RyaW5nIj09dHlwZW9mIGQmJiFsZS5jaGVja0Nsb25lJiZQZS50ZXN0KGQpKXJldHVybiBuLmVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9bi5lcShlKTtoJiYoclswXT1kLmNhbGwodGhpcyxlLHQuaHRtbCgpKSksJGUodCxyLGksbyl9KTtpZihmJiYodD0oZT1BZShyLG5bMF0ub3duZXJEb2N1bWVudCwhMSxuLG8pKS5maXJzdENoaWxkLDE9PT1lLmNoaWxkTm9kZXMubGVuZ3RoJiYoZT10KSx0fHxvKSl7Zm9yKHM9KGE9Y2UubWFwKFNlKGUsInNjcmlwdCIpLEllKSkubGVuZ3RoO2M8ZjtjKyspdT1lLGMhPT1wJiYodT1jZS5jbG9uZSh1LCEwLCEwKSxzJiZjZS5tZXJnZShhLFNlKHUsInNjcmlwdCIpKSksaS5jYWxsKG5bY10sdSxjKTtpZihzKWZvcihsPWFbYS5sZW5ndGgtMV0ub3duZXJEb2N1bWVudCxjZS5tYXAoYSxXZSksYz0wO2M8cztjKyspdT1hW2NdLENlLnRlc3QodS50eXBlfHwiIikmJiFfLmFjY2Vzcyh1LCJnbG9iYWxFdmFsIikmJmNlLmNvbnRhaW5zKGwsdSkmJih1LnNyYyYmIm1vZHVsZSIhPT0odS50eXBlfHwiIikudG9Mb3dlckNhc2UoKT9jZS5fZXZhbFVybCYmIXUubm9Nb2R1bGUmJmNlLl9ldmFsVXJsKHUuc3JjLHtub25jZTp1Lm5vbmNlfHx1LmdldEF0dHJpYnV0ZSgibm9uY2UiKX0sbCk6bSh1LnRleHRDb250ZW50LnJlcGxhY2UoTWUsIiIpLHUsbCkpfXJldHVybiBufWZ1bmN0aW9uIEJlKGUsdCxuKXtmb3IodmFyIHIsaT10P2NlLmZpbHRlcih0LGUpOmUsbz0wO251bGwhPShyPWlbb10pO28rKylufHwxIT09ci5ub2RlVHlwZXx8Y2UuY2xlYW5EYXRhKFNlKHIpKSxyLnBhcmVudE5vZGUmJihuJiZLKHIpJiZFZShTZShyLCJzY3JpcHQiKSksci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIpKTtyZXR1cm4gZX1jZS5leHRlbmQoe2h0bWxQcmVmaWx0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LGNsb25lOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLHUsbCxjPWUuY2xvbmVOb2RlKCEwKSxmPUsoZSk7aWYoIShsZS5ub0Nsb25lQ2hlY2tlZHx8MSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZXx8Y2UuaXNYTUxEb2MoZSkpKWZvcihhPVNlKGMpLHI9MCxpPShvPVNlKGUpKS5sZW5ndGg7cjxpO3IrKylzPW9bcl0sdT1hW3JdLHZvaWQgMCwiaW5wdXQiPT09KGw9dS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKSYmd2UudGVzdChzLnR5cGUpP3UuY2hlY2tlZD1zLmNoZWNrZWQ6ImlucHV0IiE9PWwmJiJ0ZXh0YXJlYSIhPT1sfHwodS5kZWZhdWx0VmFsdWU9cy5kZWZhdWx0VmFsdWUpO2lmKHQpaWYobilmb3Iobz1vfHxTZShlKSxhPWF8fFNlKGMpLHI9MCxpPW8ubGVuZ3RoO3I8aTtyKyspRmUob1tyXSxhW3JdKTtlbHNlIEZlKGUsYyk7cmV0dXJuIDA8KGE9U2UoYywic2NyaXB0IikpLmxlbmd0aCYmRWUoYSwhZiYmU2UoZSwic2NyaXB0IikpLGN9LGNsZWFuRGF0YTpmdW5jdGlvbihlKXtmb3IodmFyIHQsbixyLGk9Y2UuZXZlbnQuc3BlY2lhbCxvPTA7dm9pZCAwIT09KG49ZVtvXSk7bysrKWlmKCQobikpe2lmKHQ9bltfLmV4cGFuZG9dKXtpZih0LmV2ZW50cylmb3IociBpbiB0LmV2ZW50cylpW3JdP2NlLmV2ZW50LnJlbW92ZShuLHIpOmNlLnJlbW92ZUV2ZW50KG4scix0LmhhbmRsZSk7bltfLmV4cGFuZG9dPXZvaWQgMH1uW3ouZXhwYW5kb10mJihuW3ouZXhwYW5kb109dm9pZCAwKX19fSksY2UuZm4uZXh0ZW5kKHtkZXRhY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIEJlKHRoaXMsZSwhMCl9LHJlbW92ZTpmdW5jdGlvbihlKXtyZXR1cm4gQmUodGhpcyxlKX0sdGV4dDpmdW5jdGlvbihlKXtyZXR1cm4gTSh0aGlzLGZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDA9PT1lP2NlLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmVhY2goZnVuY3Rpb24oKXsxIT09dGhpcy5ub2RlVHlwZSYmMTEhPT10aGlzLm5vZGVUeXBlJiY5IT09dGhpcy5ub2RlVHlwZXx8KHRoaXMudGV4dENvbnRlbnQ9ZSl9KX0sbnVsbCxlLGFyZ3VtZW50cy5sZW5ndGgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gJGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7MSE9PXRoaXMubm9kZVR5cGUmJjExIT09dGhpcy5ub2RlVHlwZSYmOSE9PXRoaXMubm9kZVR5cGV8fFJlKHRoaXMsZSkuYXBwZW5kQ2hpbGQoZSl9KX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiAkZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXtpZigxPT09dGhpcy5ub2RlVHlwZXx8MTE9PT10aGlzLm5vZGVUeXBlfHw5PT09dGhpcy5ub2RlVHlwZSl7dmFyIHQ9UmUodGhpcyxlKTt0Lmluc2VydEJlZm9yZShlLHQuZmlyc3RDaGlsZCl9fSl9LGJlZm9yZTpmdW5jdGlvbigpe3JldHVybiAkZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSx0aGlzKX0pfSxhZnRlcjpmdW5jdGlvbigpe3JldHVybiAkZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSx0aGlzLm5leHRTaWJsaW5nKX0pfSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgZSx0PTA7bnVsbCE9KGU9dGhpc1t0XSk7dCsrKTE9PT1lLm5vZGVUeXBlJiYoY2UuY2xlYW5EYXRhKFNlKGUsITEpKSxlLnRleHRDb250ZW50PSIiKTtyZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT1udWxsIT1lJiZlLHQ9bnVsbD09dD9lOnQsdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gY2UuY2xvbmUodGhpcyxlLHQpfSl9LGh0bWw6ZnVuY3Rpb24oZSl7cmV0dXJuIE0odGhpcyxmdW5jdGlvbihlKXt2YXIgdD10aGlzWzBdfHx7fSxuPTAscj10aGlzLmxlbmd0aDtpZih2b2lkIDA9PT1lJiYxPT09dC5ub2RlVHlwZSlyZXR1cm4gdC5pbm5lckhUTUw7aWYoInN0cmluZyI9PXR5cGVvZiBlJiYhT2UudGVzdChlKSYmIWtlWyhUZS5leGVjKGUpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSl7ZT1jZS5odG1sUHJlZmlsdGVyKGUpO3RyeXtmb3IoO248cjtuKyspMT09PSh0PXRoaXNbbl18fHt9KS5ub2RlVHlwZSYmKGNlLmNsZWFuRGF0YShTZSh0LCExKSksdC5pbm5lckhUTUw9ZSk7dD0wfWNhdGNoKGUpe319dCYmdGhpcy5lbXB0eSgpLmFwcGVuZChlKX0sbnVsbCxlLGFyZ3VtZW50cy5sZW5ndGgpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbigpe3ZhciBuPVtdO3JldHVybiAkZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXt2YXIgdD10aGlzLnBhcmVudE5vZGU7Y2UuaW5BcnJheSh0aGlzLG4pPDAmJihjZS5jbGVhbkRhdGEoU2UodGhpcykpLHQmJnQucmVwbGFjZUNoaWxkKGUsdGhpcykpfSxuKX19KSxjZS5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sZnVuY3Rpb24oZSxhKXtjZS5mbltlXT1mdW5jdGlvbihlKXtmb3IodmFyIHQsbj1bXSxyPWNlKGUpLGk9ci5sZW5ndGgtMSxvPTA7bzw9aTtvKyspdD1vPT09aT90aGlzOnRoaXMuY2xvbmUoITApLGNlKHJbb10pW2FdKHQpLHMuYXBwbHkobix0LmdldCgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobil9fSk7dmFyIF9lPW5ldyBSZWdFeHAoIl4oIitHKyIpKD8hcHgpW2EteiVdKyQiLCJpIiksemU9L14tLS8sWGU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O3JldHVybiB0JiZ0Lm9wZW5lcnx8KHQ9aWUpLHQuZ2V0Q29tcHV0ZWRTdHlsZShlKX0sVWU9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz17fTtmb3IoaSBpbiB0KW9baV09ZS5zdHlsZVtpXSxlLnN0eWxlW2ldPXRbaV07Zm9yKGkgaW4gcj1uLmNhbGwoZSksdCllLnN0eWxlW2ldPW9baV07cmV0dXJuIHJ9LFZlPW5ldyBSZWdFeHAoUS5qb2luKCJ8IiksImkiKTtmdW5jdGlvbiBHZShlLHQsbil7dmFyIHIsaSxvLGEscz16ZS50ZXN0KHQpLHU9ZS5zdHlsZTtyZXR1cm4obj1ufHxYZShlKSkmJihhPW4uZ2V0UHJvcGVydHlWYWx1ZSh0KXx8blt0XSxzJiZhJiYoYT1hLnJlcGxhY2UodmUsIiQxIil8fHZvaWQgMCksIiIhPT1hfHxLKGUpfHwoYT1jZS5zdHlsZShlLHQpKSwhbGUucGl4ZWxCb3hTdHlsZXMoKSYmX2UudGVzdChhKSYmVmUudGVzdCh0KSYmKHI9dS53aWR0aCxpPXUubWluV2lkdGgsbz11Lm1heFdpZHRoLHUubWluV2lkdGg9dS5tYXhXaWR0aD11LndpZHRoPWEsYT1uLndpZHRoLHUud2lkdGg9cix1Lm1pbldpZHRoPWksdS5tYXhXaWR0aD1vKSksdm9pZCAwIT09YT9hKyIiOmF9ZnVuY3Rpb24gWWUoZSx0KXtyZXR1cm57Z2V0OmZ1bmN0aW9uKCl7aWYoIWUoKSlyZXR1cm4odGhpcy5nZXQ9dCkuYXBwbHkodGhpcyxhcmd1bWVudHMpO2RlbGV0ZSB0aGlzLmdldH19fSFmdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXtpZihsKXt1LnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTExMTExcHg7d2lkdGg6NjBweDttYXJnaW4tdG9wOjFweDtwYWRkaW5nOjA7Ym9yZGVyOjAiLGwuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6c2Nyb2xsO21hcmdpbjphdXRvO2JvcmRlcjoxcHg7cGFkZGluZzoxcHg7d2lkdGg6NjAlO3RvcDoxJSIsSi5hcHBlbmRDaGlsZCh1KS5hcHBlbmRDaGlsZChsKTt2YXIgZT1pZS5nZXRDb21wdXRlZFN0eWxlKGwpO249IjElIiE9PWUudG9wLHM9MTI9PT10KGUubWFyZ2luTGVmdCksbC5zdHlsZS5yaWdodD0iNjAlIixvPTM2PT09dChlLnJpZ2h0KSxyPTM2PT09dChlLndpZHRoKSxsLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsaT0xMj09PXQobC5vZmZzZXRXaWR0aC8zKSxKLnJlbW92ZUNoaWxkKHUpLGw9bnVsbH19ZnVuY3Rpb24gdChlKXtyZXR1cm4gTWF0aC5yb3VuZChwYXJzZUZsb2F0KGUpKX12YXIgbixyLGksbyxhLHMsdT1DLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGw9Qy5jcmVhdGVFbGVtZW50KCJkaXYiKTtsLnN0eWxlJiYobC5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD0iY29udGVudC1ib3giLGwuY2xvbmVOb2RlKCEwKS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD0iIixsZS5jbGVhckNsb25lU3R5bGU9ImNvbnRlbnQtYm94Ij09PWwuc3R5bGUuYmFja2dyb3VuZENsaXAsY2UuZXh0ZW5kKGxlLHtib3hTaXppbmdSZWxpYWJsZTpmdW5jdGlvbigpe3JldHVybiBlKCkscn0scGl4ZWxCb3hTdHlsZXM6ZnVuY3Rpb24oKXtyZXR1cm4gZSgpLG99LHBpeGVsUG9zaXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gZSgpLG59LHJlbGlhYmxlTWFyZ2luTGVmdDpmdW5jdGlvbigpe3JldHVybiBlKCksc30sc2Nyb2xsYm94U2l6ZTpmdW5jdGlvbigpe3JldHVybiBlKCksaX0scmVsaWFibGVUckRpbWVuc2lvbnM6ZnVuY3Rpb24oKXt2YXIgZSx0LG4scjtyZXR1cm4gbnVsbD09YSYmKGU9Qy5jcmVhdGVFbGVtZW50KCJ0YWJsZSIpLHQ9Qy5jcmVhdGVFbGVtZW50KCJ0ciIpLG49Qy5jcmVhdGVFbGVtZW50KCJkaXYiKSxlLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTExMTExcHg7Ym9yZGVyLWNvbGxhcHNlOnNlcGFyYXRlIix0LnN0eWxlLmNzc1RleHQ9ImJveC1zaXppbmc6Y29udGVudC1ib3g7Ym9yZGVyOjFweCBzb2xpZCIsdC5zdHlsZS5oZWlnaHQ9IjFweCIsbi5zdHlsZS5oZWlnaHQ9IjlweCIsbi5zdHlsZS5kaXNwbGF5PSJibG9jayIsSi5hcHBlbmRDaGlsZChlKS5hcHBlbmRDaGlsZCh0KS5hcHBlbmRDaGlsZChuKSxyPWllLmdldENvbXB1dGVkU3R5bGUodCksYT1wYXJzZUludChyLmhlaWdodCwxMCkrcGFyc2VJbnQoci5ib3JkZXJUb3BXaWR0aCwxMCkrcGFyc2VJbnQoci5ib3JkZXJCb3R0b21XaWR0aCwxMCk9PT10Lm9mZnNldEhlaWdodCxKLnJlbW92ZUNoaWxkKGUpKSxhfX0pKX0oKTt2YXIgUWU9WyJXZWJraXQiLCJNb3oiLCJtcyJdLEplPUMuY3JlYXRlRWxlbWVudCgiZGl2Iikuc3R5bGUsS2U9e307ZnVuY3Rpb24gWmUoZSl7dmFyIHQ9Y2UuY3NzUHJvcHNbZV18fEtlW2VdO3JldHVybiB0fHwoZSBpbiBKZT9lOktlW2VdPWZ1bmN0aW9uKGUpe3ZhciB0PWVbMF0udG9VcHBlckNhc2UoKStlLnNsaWNlKDEpLG49UWUubGVuZ3RoO3doaWxlKG4tLSlpZigoZT1RZVtuXSt0KWluIEplKXJldHVybiBlfShlKXx8ZSl9dmFyIGV0PS9eKG5vbmV8dGFibGUoPyEtY1tlYV0pLispLyx0dD17cG9zaXRpb246ImFic29sdXRlIix2aXNpYmlsaXR5OiJoaWRkZW4iLGRpc3BsYXk6ImJsb2NrIn0sbnQ9e2xldHRlclNwYWNpbmc6IjAiLGZvbnRXZWlnaHQ6IjQwMCJ9O2Z1bmN0aW9uIHJ0KGUsdCxuKXt2YXIgcj1ZLmV4ZWModCk7cmV0dXJuIHI/TWF0aC5tYXgoMCxyWzJdLShufHwwKSkrKHJbM118fCJweCIpOnR9ZnVuY3Rpb24gaXQoZSx0LG4scixpLG8pe3ZhciBhPSJ3aWR0aCI9PT10PzE6MCxzPTAsdT0wLGw9MDtpZihuPT09KHI/ImJvcmRlciI6ImNvbnRlbnQiKSlyZXR1cm4gMDtmb3IoO2E8NDthKz0yKSJtYXJnaW4iPT09biYmKGwrPWNlLmNzcyhlLG4rUVthXSwhMCxpKSkscj8oImNvbnRlbnQiPT09biYmKHUtPWNlLmNzcyhlLCJwYWRkaW5nIitRW2FdLCEwLGkpKSwibWFyZ2luIiE9PW4mJih1LT1jZS5jc3MoZSwiYm9yZGVyIitRW2FdKyJXaWR0aCIsITAsaSkpKToodSs9Y2UuY3NzKGUsInBhZGRpbmciK1FbYV0sITAsaSksInBhZGRpbmciIT09bj91Kz1jZS5jc3MoZSwiYm9yZGVyIitRW2FdKyJXaWR0aCIsITAsaSk6cys9Y2UuY3NzKGUsImJvcmRlciIrUVthXSsiV2lkdGgiLCEwLGkpKTtyZXR1cm4hciYmMDw9byYmKHUrPU1hdGgubWF4KDAsTWF0aC5jZWlsKGVbIm9mZnNldCIrdFswXS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSldLW8tdS1zLS41KSl8fDApLHUrbH1mdW5jdGlvbiBvdChlLHQsbil7dmFyIHI9WGUoZSksaT0oIWxlLmJveFNpemluZ1JlbGlhYmxlKCl8fG4pJiYiYm9yZGVyLWJveCI9PT1jZS5jc3MoZSwiYm94U2l6aW5nIiwhMSxyKSxvPWksYT1HZShlLHQscikscz0ib2Zmc2V0Iit0WzBdLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKTtpZihfZS50ZXN0KGEpKXtpZighbilyZXR1cm4gYTthPSJhdXRvIn1yZXR1cm4oIWxlLmJveFNpemluZ1JlbGlhYmxlKCkmJml8fCFsZS5yZWxpYWJsZVRyRGltZW5zaW9ucygpJiZmZShlLCJ0ciIpfHwiYXV0byI9PT1hfHwhcGFyc2VGbG9hdChhKSYmImlubGluZSI9PT1jZS5jc3MoZSwiZGlzcGxheSIsITEscikpJiZlLmdldENsaWVudFJlY3RzKCkubGVuZ3RoJiYoaT0iYm9yZGVyLWJveCI9PT1jZS5jc3MoZSwiYm94U2l6aW5nIiwhMSxyKSwobz1zIGluIGUpJiYoYT1lW3NdKSksKGE9cGFyc2VGbG9hdChhKXx8MCkraXQoZSx0LG58fChpPyJib3JkZXIiOiJjb250ZW50IiksbyxyLGEpKyJweCJ9ZnVuY3Rpb24gYXQoZSx0LG4scixpKXtyZXR1cm4gbmV3IGF0LnByb3RvdHlwZS5pbml0KGUsdCxuLHIsaSl9Y2UuZXh0ZW5kKHtjc3NIb29rczp7b3BhY2l0eTp7Z2V0OmZ1bmN0aW9uKGUsdCl7aWYodCl7dmFyIG49R2UoZSwib3BhY2l0eSIpO3JldHVybiIiPT09bj8iMSI6bn19fX0sY3NzTnVtYmVyOnthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxhc3BlY3RSYXRpbzohMCxib3JkZXJJbWFnZVNsaWNlOiEwLGNvbHVtbkNvdW50OiEwLGZsZXhHcm93OiEwLGZsZXhTaHJpbms6ITAsZm9udFdlaWdodDohMCxncmlkQXJlYTohMCxncmlkQ29sdW1uOiEwLGdyaWRDb2x1bW5FbmQ6ITAsZ3JpZENvbHVtblN0YXJ0OiEwLGdyaWRSb3c6ITAsZ3JpZFJvd0VuZDohMCxncmlkUm93U3RhcnQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsc2NhbGU6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwLGZpbGxPcGFjaXR5OiEwLGZsb29kT3BhY2l0eTohMCxzdG9wT3BhY2l0eTohMCxzdHJva2VNaXRlcmxpbWl0OiEwLHN0cm9rZU9wYWNpdHk6ITB9LGNzc1Byb3BzOnt9LHN0eWxlOmZ1bmN0aW9uKGUsdCxuLHIpe2lmKGUmJjMhPT1lLm5vZGVUeXBlJiY4IT09ZS5ub2RlVHlwZSYmZS5zdHlsZSl7dmFyIGksbyxhLHM9Rih0KSx1PXplLnRlc3QodCksbD1lLnN0eWxlO2lmKHV8fCh0PVplKHMpKSxhPWNlLmNzc0hvb2tzW3RdfHxjZS5jc3NIb29rc1tzXSx2b2lkIDA9PT1uKXJldHVybiBhJiYiZ2V0ImluIGEmJnZvaWQgMCE9PShpPWEuZ2V0KGUsITEscikpP2k6bFt0XTsic3RyaW5nIj09PShvPXR5cGVvZiBuKSYmKGk9WS5leGVjKG4pKSYmaVsxXSYmKG49dGUoZSx0LGkpLG89Im51bWJlciIpLG51bGwhPW4mJm49PW4mJigibnVtYmVyIiE9PW98fHV8fChuKz1pJiZpWzNdfHwoY2UuY3NzTnVtYmVyW3NdPyIiOiJweCIpKSxsZS5jbGVhckNsb25lU3R5bGV8fCIiIT09bnx8MCE9PXQuaW5kZXhPZigiYmFja2dyb3VuZCIpfHwobFt0XT0iaW5oZXJpdCIpLGEmJiJzZXQiaW4gYSYmdm9pZCAwPT09KG49YS5zZXQoZSxuLHIpKXx8KHU/bC5zZXRQcm9wZXJ0eSh0LG4pOmxbdF09bikpfX0sY3NzOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpLG8sYSxzPUYodCk7cmV0dXJuIHplLnRlc3QodCl8fCh0PVplKHMpKSwoYT1jZS5jc3NIb29rc1t0XXx8Y2UuY3NzSG9va3Nbc10pJiYiZ2V0ImluIGEmJihpPWEuZ2V0KGUsITAsbikpLHZvaWQgMD09PWkmJihpPUdlKGUsdCxyKSksIm5vcm1hbCI9PT1pJiZ0IGluIG50JiYoaT1udFt0XSksIiI9PT1ufHxuPyhvPXBhcnNlRmxvYXQoaSksITA9PT1ufHxpc0Zpbml0ZShvKT9vfHwwOmkpOml9fSksY2UuZWFjaChbImhlaWdodCIsIndpZHRoIl0sZnVuY3Rpb24oZSx1KXtjZS5jc3NIb29rc1t1XT17Z2V0OmZ1bmN0aW9uKGUsdCxuKXtpZih0KXJldHVybiFldC50ZXN0KGNlLmNzcyhlLCJkaXNwbGF5IikpfHxlLmdldENsaWVudFJlY3RzKCkubGVuZ3RoJiZlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoP290KGUsdSxuKTpVZShlLHR0LGZ1bmN0aW9uKCl7cmV0dXJuIG90KGUsdSxuKX0pfSxzZXQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk9WGUoZSksbz0hbGUuc2Nyb2xsYm94U2l6ZSgpJiYiYWJzb2x1dGUiPT09aS5wb3NpdGlvbixhPShvfHxuKSYmImJvcmRlci1ib3giPT09Y2UuY3NzKGUsImJveFNpemluZyIsITEsaSkscz1uP2l0KGUsdSxuLGEsaSk6MDtyZXR1cm4gYSYmbyYmKHMtPU1hdGguY2VpbChlWyJvZmZzZXQiK3VbMF0udG9VcHBlckNhc2UoKSt1LnNsaWNlKDEpXS1wYXJzZUZsb2F0KGlbdV0pLWl0KGUsdSwiYm9yZGVyIiwhMSxpKS0uNSkpLHMmJihyPVkuZXhlYyh0KSkmJiJweCIhPT0oclszXXx8InB4IikmJihlLnN0eWxlW3VdPXQsdD1jZS5jc3MoZSx1KSkscnQoMCx0LHMpfX19KSxjZS5jc3NIb29rcy5tYXJnaW5MZWZ0PVllKGxlLnJlbGlhYmxlTWFyZ2luTGVmdCxmdW5jdGlvbihlLHQpe2lmKHQpcmV0dXJuKHBhcnNlRmxvYXQoR2UoZSwibWFyZ2luTGVmdCIpKXx8ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0LVVlKGUse21hcmdpbkxlZnQ6MH0sZnVuY3Rpb24oKXtyZXR1cm4gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0fSkpKyJweCJ9KSxjZS5lYWNoKHttYXJnaW46IiIscGFkZGluZzoiIixib3JkZXI6IldpZHRoIn0sZnVuY3Rpb24oaSxvKXtjZS5jc3NIb29rc1tpK29dPXtleHBhbmQ6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTAsbj17fSxyPSJzdHJpbmciPT10eXBlb2YgZT9lLnNwbGl0KCIgIik6W2VdO3Q8NDt0KyspbltpK1FbdF0rb109clt0XXx8clt0LTJdfHxyWzBdO3JldHVybiBufX0sIm1hcmdpbiIhPT1pJiYoY2UuY3NzSG9va3NbaStvXS5zZXQ9cnQpfSksY2UuZm4uZXh0ZW5kKHtjc3M6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTSh0aGlzLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89e30sYT0wO2lmKEFycmF5LmlzQXJyYXkodCkpe2ZvcihyPVhlKGUpLGk9dC5sZW5ndGg7YTxpO2ErKylvW3RbYV1dPWNlLmNzcyhlLHRbYV0sITEscik7cmV0dXJuIG99cmV0dXJuIHZvaWQgMCE9PW4/Y2Uuc3R5bGUoZSx0LG4pOmNlLmNzcyhlLHQpfSxlLHQsMTxhcmd1bWVudHMubGVuZ3RoKX19KSwoKGNlLlR3ZWVuPWF0KS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmF0LGluaXQ6ZnVuY3Rpb24oZSx0LG4scixpLG8pe3RoaXMuZWxlbT1lLHRoaXMucHJvcD1uLHRoaXMuZWFzaW5nPWl8fGNlLmVhc2luZy5fZGVmYXVsdCx0aGlzLm9wdGlvbnM9dCx0aGlzLnN0YXJ0PXRoaXMubm93PXRoaXMuY3VyKCksdGhpcy5lbmQ9cix0aGlzLnVuaXQ9b3x8KGNlLmNzc051bWJlcltuXT8iIjoicHgiKX0sY3VyOmZ1bmN0aW9uKCl7dmFyIGU9YXQucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIGUmJmUuZ2V0P2UuZ2V0KHRoaXMpOmF0LnByb3BIb29rcy5fZGVmYXVsdC5nZXQodGhpcyl9LHJ1bjpmdW5jdGlvbihlKXt2YXIgdCxuPWF0LnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiB0aGlzLm9wdGlvbnMuZHVyYXRpb24/dGhpcy5wb3M9dD1jZS5lYXNpbmdbdGhpcy5lYXNpbmddKGUsdGhpcy5vcHRpb25zLmR1cmF0aW9uKmUsMCwxLHRoaXMub3B0aW9ucy5kdXJhdGlvbik6dGhpcy5wb3M9dD1lLHRoaXMubm93PSh0aGlzLmVuZC10aGlzLnN0YXJ0KSp0K3RoaXMuc3RhcnQsdGhpcy5vcHRpb25zLnN0ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRoaXMubm93LHRoaXMpLG4mJm4uc2V0P24uc2V0KHRoaXMpOmF0LnByb3BIb29rcy5fZGVmYXVsdC5zZXQodGhpcyksdGhpc319KS5pbml0LnByb3RvdHlwZT1hdC5wcm90b3R5cGUsKGF0LnByb3BIb29rcz17X2RlZmF1bHQ6e2dldDpmdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gMSE9PWUuZWxlbS5ub2RlVHlwZXx8bnVsbCE9ZS5lbGVtW2UucHJvcF0mJm51bGw9PWUuZWxlbS5zdHlsZVtlLnByb3BdP2UuZWxlbVtlLnByb3BdOih0PWNlLmNzcyhlLmVsZW0sZS5wcm9wLCIiKSkmJiJhdXRvIiE9PXQ/dDowfSxzZXQ6ZnVuY3Rpb24oZSl7Y2UuZnguc3RlcFtlLnByb3BdP2NlLmZ4LnN0ZXBbZS5wcm9wXShlKToxIT09ZS5lbGVtLm5vZGVUeXBlfHwhY2UuY3NzSG9va3NbZS5wcm9wXSYmbnVsbD09ZS5lbGVtLnN0eWxlW1plKGUucHJvcCldP2UuZWxlbVtlLnByb3BdPWUubm93OmNlLnN0eWxlKGUuZWxlbSxlLnByb3AsZS5ub3crZS51bml0KX19fSkuc2Nyb2xsVG9wPWF0LnByb3BIb29rcy5zY3JvbGxMZWZ0PXtzZXQ6ZnVuY3Rpb24oZSl7ZS5lbGVtLm5vZGVUeXBlJiZlLmVsZW0ucGFyZW50Tm9kZSYmKGUuZWxlbVtlLnByb3BdPWUubm93KX19LGNlLmVhc2luZz17bGluZWFyOmZ1bmN0aW9uKGUpe3JldHVybiBlfSxzd2luZzpmdW5jdGlvbihlKXtyZXR1cm4uNS1NYXRoLmNvcyhlKk1hdGguUEkpLzJ9LF9kZWZhdWx0OiJzd2luZyJ9LGNlLmZ4PWF0LnByb3RvdHlwZS5pbml0LGNlLmZ4LnN0ZXA9e307dmFyIHN0LHV0LGx0LGN0LGZ0PS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxwdD0vcXVldWVIb29rcyQvO2Z1bmN0aW9uIGR0KCl7dXQmJighMT09PUMuaGlkZGVuJiZpZS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU/aWUucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGR0KTppZS5zZXRUaW1lb3V0KGR0LGNlLmZ4LmludGVydmFsKSxjZS5meC50aWNrKCkpfWZ1bmN0aW9uIGh0KCl7cmV0dXJuIGllLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtzdD12b2lkIDB9KSxzdD1EYXRlLm5vdygpfWZ1bmN0aW9uIGd0KGUsdCl7dmFyIG4scj0wLGk9e2hlaWdodDplfTtmb3IodD10PzE6MDtyPDQ7cis9Mi10KWlbIm1hcmdpbiIrKG49UVtyXSldPWlbInBhZGRpbmciK25dPWU7cmV0dXJuIHQmJihpLm9wYWNpdHk9aS53aWR0aD1lKSxpfWZ1bmN0aW9uIHZ0KGUsdCxuKXtmb3IodmFyIHIsaT0oeXQudHdlZW5lcnNbdF18fFtdKS5jb25jYXQoeXQudHdlZW5lcnNbIioiXSksbz0wLGE9aS5sZW5ndGg7bzxhO28rKylpZihyPWlbb10uY2FsbChuLHQsZSkpcmV0dXJuIHJ9ZnVuY3Rpb24geXQobyxlLHQpe3ZhciBuLGEscj0wLGk9eXQucHJlZmlsdGVycy5sZW5ndGgscz1jZS5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2RlbGV0ZSB1LmVsZW19KSx1PWZ1bmN0aW9uKCl7aWYoYSlyZXR1cm4hMTtmb3IodmFyIGU9c3R8fGh0KCksdD1NYXRoLm1heCgwLGwuc3RhcnRUaW1lK2wuZHVyYXRpb24tZSksbj0xLSh0L2wuZHVyYXRpb258fDApLHI9MCxpPWwudHdlZW5zLmxlbmd0aDtyPGk7cisrKWwudHdlZW5zW3JdLnJ1bihuKTtyZXR1cm4gcy5ub3RpZnlXaXRoKG8sW2wsbix0XSksbjwxJiZpP3Q6KGl8fHMubm90aWZ5V2l0aChvLFtsLDEsMF0pLHMucmVzb2x2ZVdpdGgobyxbbF0pLCExKX0sbD1zLnByb21pc2Uoe2VsZW06byxwcm9wczpjZS5leHRlbmQoe30sZSksb3B0czpjZS5leHRlbmQoITAse3NwZWNpYWxFYXNpbmc6e30sZWFzaW5nOmNlLmVhc2luZy5fZGVmYXVsdH0sdCksb3JpZ2luYWxQcm9wZXJ0aWVzOmUsb3JpZ2luYWxPcHRpb25zOnQsc3RhcnRUaW1lOnN0fHxodCgpLGR1cmF0aW9uOnQuZHVyYXRpb24sdHdlZW5zOltdLGNyZWF0ZVR3ZWVuOmZ1bmN0aW9uKGUsdCl7dmFyIG49Y2UuVHdlZW4obyxsLm9wdHMsZSx0LGwub3B0cy5zcGVjaWFsRWFzaW5nW2VdfHxsLm9wdHMuZWFzaW5nKTtyZXR1cm4gbC50d2VlbnMucHVzaChuKSxufSxzdG9wOmZ1bmN0aW9uKGUpe3ZhciB0PTAsbj1lP2wudHdlZW5zLmxlbmd0aDowO2lmKGEpcmV0dXJuIHRoaXM7Zm9yKGE9ITA7dDxuO3QrKylsLnR3ZWVuc1t0XS5ydW4oMSk7cmV0dXJuIGU/KHMubm90aWZ5V2l0aChvLFtsLDEsMF0pLHMucmVzb2x2ZVdpdGgobyxbbCxlXSkpOnMucmVqZWN0V2l0aChvLFtsLGVdKSx0aGlzfX0pLGM9bC5wcm9wcztmb3IoIWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG8sYTtmb3IobiBpbiBlKWlmKGk9dFtyPUYobildLG89ZVtuXSxBcnJheS5pc0FycmF5KG8pJiYoaT1vWzFdLG89ZVtuXT1vWzBdKSxuIT09ciYmKGVbcl09byxkZWxldGUgZVtuXSksKGE9Y2UuY3NzSG9va3Nbcl0pJiYiZXhwYW5kImluIGEpZm9yKG4gaW4gbz1hLmV4cGFuZChvKSxkZWxldGUgZVtyXSxvKW4gaW4gZXx8KGVbbl09b1tuXSx0W25dPWkpO2Vsc2UgdFtyXT1pfShjLGwub3B0cy5zcGVjaWFsRWFzaW5nKTtyPGk7cisrKWlmKG49eXQucHJlZmlsdGVyc1tyXS5jYWxsKGwsbyxjLGwub3B0cykpcmV0dXJuIHYobi5zdG9wKSYmKGNlLl9xdWV1ZUhvb2tzKGwuZWxlbSxsLm9wdHMucXVldWUpLnN0b3A9bi5zdG9wLmJpbmQobikpLG47cmV0dXJuIGNlLm1hcChjLHZ0LGwpLHYobC5vcHRzLnN0YXJ0KSYmbC5vcHRzLnN0YXJ0LmNhbGwobyxsKSxsLnByb2dyZXNzKGwub3B0cy5wcm9ncmVzcykuZG9uZShsLm9wdHMuZG9uZSxsLm9wdHMuY29tcGxldGUpLmZhaWwobC5vcHRzLmZhaWwpLmFsd2F5cyhsLm9wdHMuYWx3YXlzKSxjZS5meC50aW1lcihjZS5leHRlbmQodSx7ZWxlbTpvLGFuaW06bCxxdWV1ZTpsLm9wdHMucXVldWV9KSksbH1jZS5BbmltYXRpb249Y2UuZXh0ZW5kKHl0LHt0d2VlbmVyczp7IioiOltmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMuY3JlYXRlVHdlZW4oZSx0KTtyZXR1cm4gdGUobi5lbGVtLGUsWS5leGVjKHQpLG4pLG59XX0sdHdlZW5lcjpmdW5jdGlvbihlLHQpe3YoZSk/KHQ9ZSxlPVsiKiJdKTplPWUubWF0Y2goRCk7Zm9yKHZhciBuLHI9MCxpPWUubGVuZ3RoO3I8aTtyKyspbj1lW3JdLHl0LnR3ZWVuZXJzW25dPXl0LnR3ZWVuZXJzW25dfHxbXSx5dC50d2VlbmVyc1tuXS51bnNoaWZ0KHQpfSxwcmVmaWx0ZXJzOltmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscyx1LGwsYyxmPSJ3aWR0aCJpbiB0fHwiaGVpZ2h0ImluIHQscD10aGlzLGQ9e30saD1lLnN0eWxlLGc9ZS5ub2RlVHlwZSYmZWUoZSksdj1fLmdldChlLCJmeHNob3ciKTtmb3IociBpbiBuLnF1ZXVlfHwobnVsbD09KGE9Y2UuX3F1ZXVlSG9va3MoZSwiZngiKSkudW5xdWV1ZWQmJihhLnVucXVldWVkPTAscz1hLmVtcHR5LmZpcmUsYS5lbXB0eS5maXJlPWZ1bmN0aW9uKCl7YS51bnF1ZXVlZHx8cygpfSksYS51bnF1ZXVlZCsrLHAuYWx3YXlzKGZ1bmN0aW9uKCl7cC5hbHdheXMoZnVuY3Rpb24oKXthLnVucXVldWVkLS0sY2UucXVldWUoZSwiZngiKS5sZW5ndGh8fGEuZW1wdHkuZmlyZSgpfSl9KSksdClpZihpPXRbcl0sZnQudGVzdChpKSl7aWYoZGVsZXRlIHRbcl0sbz1vfHwidG9nZ2xlIj09PWksaT09PShnPyJoaWRlIjoic2hvdyIpKXtpZigic2hvdyIhPT1pfHwhdnx8dm9pZCAwPT09dltyXSljb250aW51ZTtnPSEwfWRbcl09diYmdltyXXx8Y2Uuc3R5bGUoZSxyKX1pZigodT0hY2UuaXNFbXB0eU9iamVjdCh0KSl8fCFjZS5pc0VtcHR5T2JqZWN0KGQpKWZvcihyIGluIGYmJjE9PT1lLm5vZGVUeXBlJiYobi5vdmVyZmxvdz1baC5vdmVyZmxvdyxoLm92ZXJmbG93WCxoLm92ZXJmbG93WV0sbnVsbD09KGw9diYmdi5kaXNwbGF5KSYmKGw9Xy5nZXQoZSwiZGlzcGxheSIpKSwibm9uZSI9PT0oYz1jZS5jc3MoZSwiZGlzcGxheSIpKSYmKGw/Yz1sOihyZShbZV0sITApLGw9ZS5zdHlsZS5kaXNwbGF5fHxsLGM9Y2UuY3NzKGUsImRpc3BsYXkiKSxyZShbZV0pKSksKCJpbmxpbmUiPT09Y3x8ImlubGluZS1ibG9jayI9PT1jJiZudWxsIT1sKSYmIm5vbmUiPT09Y2UuY3NzKGUsImZsb2F0IikmJih1fHwocC5kb25lKGZ1bmN0aW9uKCl7aC5kaXNwbGF5PWx9KSxudWxsPT1sJiYoYz1oLmRpc3BsYXksbD0ibm9uZSI9PT1jPyIiOmMpKSxoLmRpc3BsYXk9ImlubGluZS1ibG9jayIpKSxuLm92ZXJmbG93JiYoaC5vdmVyZmxvdz0iaGlkZGVuIixwLmFsd2F5cyhmdW5jdGlvbigpe2gub3ZlcmZsb3c9bi5vdmVyZmxvd1swXSxoLm92ZXJmbG93WD1uLm92ZXJmbG93WzFdLGgub3ZlcmZsb3dZPW4ub3ZlcmZsb3dbMl19KSksdT0hMSxkKXV8fCh2PyJoaWRkZW4iaW4gdiYmKGc9di5oaWRkZW4pOnY9Xy5hY2Nlc3MoZSwiZnhzaG93Iix7ZGlzcGxheTpsfSksbyYmKHYuaGlkZGVuPSFnKSxnJiZyZShbZV0sITApLHAuZG9uZShmdW5jdGlvbigpe2ZvcihyIGluIGd8fHJlKFtlXSksXy5yZW1vdmUoZSwiZnhzaG93IiksZCljZS5zdHlsZShlLHIsZFtyXSl9KSksdT12dChnP3Zbcl06MCxyLHApLHIgaW4gdnx8KHZbcl09dS5zdGFydCxnJiYodS5lbmQ9dS5zdGFydCx1LnN0YXJ0PTApKX1dLHByZWZpbHRlcjpmdW5jdGlvbihlLHQpe3Q/eXQucHJlZmlsdGVycy51bnNoaWZ0KGUpOnl0LnByZWZpbHRlcnMucHVzaChlKX19KSxjZS5zcGVlZD1mdW5jdGlvbihlLHQsbil7dmFyIHI9ZSYmIm9iamVjdCI9PXR5cGVvZiBlP2NlLmV4dGVuZCh7fSxlKTp7Y29tcGxldGU6bnx8IW4mJnR8fHYoZSkmJmUsZHVyYXRpb246ZSxlYXNpbmc6biYmdHx8dCYmIXYodCkmJnR9O3JldHVybiBjZS5meC5vZmY/ci5kdXJhdGlvbj0wOiJudW1iZXIiIT10eXBlb2Ygci5kdXJhdGlvbiYmKHIuZHVyYXRpb24gaW4gY2UuZnguc3BlZWRzP3IuZHVyYXRpb249Y2UuZnguc3BlZWRzW3IuZHVyYXRpb25dOnIuZHVyYXRpb249Y2UuZnguc3BlZWRzLl9kZWZhdWx0KSxudWxsIT1yLnF1ZXVlJiYhMCE9PXIucXVldWV8fChyLnF1ZXVlPSJmeCIpLHIub2xkPXIuY29tcGxldGUsci5jb21wbGV0ZT1mdW5jdGlvbigpe3Yoci5vbGQpJiZyLm9sZC5jYWxsKHRoaXMpLHIucXVldWUmJmNlLmRlcXVldWUodGhpcyxyLnF1ZXVlKX0scn0sY2UuZm4uZXh0ZW5kKHtmYWRlVG86ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaXMuZmlsdGVyKGVlKS5jc3MoIm9wYWNpdHkiLDApLnNob3coKS5lbmQoKS5hbmltYXRlKHtvcGFjaXR5OnR9LGUsbixyKX0sYW5pbWF0ZTpmdW5jdGlvbih0LGUsbixyKXt2YXIgaT1jZS5pc0VtcHR5T2JqZWN0KHQpLG89Y2Uuc3BlZWQoZSxuLHIpLGE9ZnVuY3Rpb24oKXt2YXIgZT15dCh0aGlzLGNlLmV4dGVuZCh7fSx0KSxvKTsoaXx8Xy5nZXQodGhpcywiZmluaXNoIikpJiZlLnN0b3AoITApfTtyZXR1cm4gYS5maW5pc2g9YSxpfHwhMT09PW8ucXVldWU/dGhpcy5lYWNoKGEpOnRoaXMucXVldWUoby5xdWV1ZSxhKX0sc3RvcDpmdW5jdGlvbihpLGUsbyl7dmFyIGE9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zdG9wO2RlbGV0ZSBlLnN0b3AsdChvKX07cmV0dXJuInN0cmluZyIhPXR5cGVvZiBpJiYobz1lLGU9aSxpPXZvaWQgMCksZSYmdGhpcy5xdWV1ZShpfHwiZngiLFtdKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT0hMCx0PW51bGwhPWkmJmkrInF1ZXVlSG9va3MiLG49Y2UudGltZXJzLHI9Xy5nZXQodGhpcyk7aWYodClyW3RdJiZyW3RdLnN0b3AmJmEoclt0XSk7ZWxzZSBmb3IodCBpbiByKXJbdF0mJnJbdF0uc3RvcCYmcHQudGVzdCh0KSYmYShyW3RdKTtmb3IodD1uLmxlbmd0aDt0LS07KW5bdF0uZWxlbSE9PXRoaXN8fG51bGwhPWkmJm5bdF0ucXVldWUhPT1pfHwoblt0XS5hbmltLnN0b3AobyksZT0hMSxuLnNwbGljZSh0LDEpKTshZSYmb3x8Y2UuZGVxdWV1ZSh0aGlzLGkpfSl9LGZpbmlzaDpmdW5jdGlvbihhKXtyZXR1cm4hMSE9PWEmJihhPWF8fCJmeCIpLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBlLHQ9Xy5nZXQodGhpcyksbj10W2ErInF1ZXVlIl0scj10W2ErInF1ZXVlSG9va3MiXSxpPWNlLnRpbWVycyxvPW4/bi5sZW5ndGg6MDtmb3IodC5maW5pc2g9ITAsY2UucXVldWUodGhpcyxhLFtdKSxyJiZyLnN0b3AmJnIuc3RvcC5jYWxsKHRoaXMsITApLGU9aS5sZW5ndGg7ZS0tOylpW2VdLmVsZW09PT10aGlzJiZpW2VdLnF1ZXVlPT09YSYmKGlbZV0uYW5pbS5zdG9wKCEwKSxpLnNwbGljZShlLDEpKTtmb3IoZT0wO2U8bztlKyspbltlXSYmbltlXS5maW5pc2gmJm5bZV0uZmluaXNoLmNhbGwodGhpcyk7ZGVsZXRlIHQuZmluaXNofSl9fSksY2UuZWFjaChbInRvZ2dsZSIsInNob3ciLCJoaWRlIl0sZnVuY3Rpb24oZSxyKXt2YXIgaT1jZS5mbltyXTtjZS5mbltyXT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIG51bGw9PWV8fCJib29sZWFuIj09dHlwZW9mIGU/aS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dGhpcy5hbmltYXRlKGd0KHIsITApLGUsdCxuKX19KSxjZS5lYWNoKHtzbGlkZURvd246Z3QoInNob3ciKSxzbGlkZVVwOmd0KCJoaWRlIiksc2xpZGVUb2dnbGU6Z3QoInRvZ2dsZSIpLGZhZGVJbjp7b3BhY2l0eToic2hvdyJ9LGZhZGVPdXQ6e29wYWNpdHk6ImhpZGUifSxmYWRlVG9nZ2xlOntvcGFjaXR5OiJ0b2dnbGUifX0sZnVuY3Rpb24oZSxyKXtjZS5mbltlXT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMuYW5pbWF0ZShyLGUsdCxuKX19KSxjZS50aW1lcnM9W10sY2UuZngudGljaz1mdW5jdGlvbigpe3ZhciBlLHQ9MCxuPWNlLnRpbWVycztmb3Ioc3Q9RGF0ZS5ub3coKTt0PG4ubGVuZ3RoO3QrKykoZT1uW3RdKSgpfHxuW3RdIT09ZXx8bi5zcGxpY2UodC0tLDEpO24ubGVuZ3RofHxjZS5meC5zdG9wKCksc3Q9dm9pZCAwfSxjZS5meC50aW1lcj1mdW5jdGlvbihlKXtjZS50aW1lcnMucHVzaChlKSxjZS5meC5zdGFydCgpfSxjZS5meC5pbnRlcnZhbD0xMyxjZS5meC5zdGFydD1mdW5jdGlvbigpe3V0fHwodXQ9ITAsZHQoKSl9LGNlLmZ4LnN0b3A9ZnVuY3Rpb24oKXt1dD1udWxsfSxjZS5meC5zcGVlZHM9e3Nsb3c6NjAwLGZhc3Q6MjAwLF9kZWZhdWx0OjQwMH0sY2UuZm4uZGVsYXk9ZnVuY3Rpb24ocixlKXtyZXR1cm4gcj1jZS5meCYmY2UuZnguc3BlZWRzW3JdfHxyLGU9ZXx8ImZ4Iix0aGlzLnF1ZXVlKGUsZnVuY3Rpb24oZSx0KXt2YXIgbj1pZS5zZXRUaW1lb3V0KGUscik7dC5zdG9wPWZ1bmN0aW9uKCl7aWUuY2xlYXJUaW1lb3V0KG4pfX0pfSxsdD1DLmNyZWF0ZUVsZW1lbnQoImlucHV0IiksY3Q9Qy5jcmVhdGVFbGVtZW50KCJzZWxlY3QiKS5hcHBlbmRDaGlsZChDLmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpKSxsdC50eXBlPSJjaGVja2JveCIsbGUuY2hlY2tPbj0iIiE9PWx0LnZhbHVlLGxlLm9wdFNlbGVjdGVkPWN0LnNlbGVjdGVkLChsdD1DLmNyZWF0ZUVsZW1lbnQoImlucHV0IikpLnZhbHVlPSJ0IixsdC50eXBlPSJyYWRpbyIsbGUucmFkaW9WYWx1ZT0idCI9PT1sdC52YWx1ZTt2YXIgbXQseHQ9Y2UuZXhwci5hdHRySGFuZGxlO2NlLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihlLHQpe3JldHVybiBNKHRoaXMsY2UuYXR0cixlLHQsMTxhcmd1bWVudHMubGVuZ3RoKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Y2UucmVtb3ZlQXR0cih0aGlzLGUpfSl9fSksY2UuZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89ZS5ub2RlVHlwZTtpZigzIT09byYmOCE9PW8mJjIhPT1vKXJldHVybiJ1bmRlZmluZWQiPT10eXBlb2YgZS5nZXRBdHRyaWJ1dGU/Y2UucHJvcChlLHQsbik6KDE9PT1vJiZjZS5pc1hNTERvYyhlKXx8KGk9Y2UuYXR0ckhvb2tzW3QudG9Mb3dlckNhc2UoKV18fChjZS5leHByLm1hdGNoLmJvb2wudGVzdCh0KT9tdDp2b2lkIDApKSx2b2lkIDAhPT1uP251bGw9PT1uP3ZvaWQgY2UucmVtb3ZlQXR0cihlLHQpOmkmJiJzZXQiaW4gaSYmdm9pZCAwIT09KHI9aS5zZXQoZSxuLHQpKT9yOihlLnNldEF0dHJpYnV0ZSh0LG4rIiIpLG4pOmkmJiJnZXQiaW4gaSYmbnVsbCE9PShyPWkuZ2V0KGUsdCkpP3I6bnVsbD09KHI9Y2UuZmluZC5hdHRyKGUsdCkpP3ZvaWQgMDpyKX0sYXR0ckhvb2tzOnt0eXBlOntzZXQ6ZnVuY3Rpb24oZSx0KXtpZighbGUucmFkaW9WYWx1ZSYmInJhZGlvIj09PXQmJmZlKGUsImlucHV0Iikpe3ZhciBuPWUudmFsdWU7cmV0dXJuIGUuc2V0QXR0cmlidXRlKCJ0eXBlIix0KSxuJiYoZS52YWx1ZT1uKSx0fX19fSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0wLGk9dCYmdC5tYXRjaChEKTtpZihpJiYxPT09ZS5ub2RlVHlwZSl3aGlsZShuPWlbcisrXSllLnJlbW92ZUF0dHJpYnV0ZShuKX19KSxtdD17c2V0OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4hMT09PXQ/Y2UucmVtb3ZlQXR0cihlLG4pOmUuc2V0QXR0cmlidXRlKG4sbiksbn19LGNlLmVhY2goY2UuZXhwci5tYXRjaC5ib29sLnNvdXJjZS5tYXRjaCgvXHcrL2cpLGZ1bmN0aW9uKGUsdCl7dmFyIGE9eHRbdF18fGNlLmZpbmQuYXR0cjt4dFt0XT1mdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPXQudG9Mb3dlckNhc2UoKTtyZXR1cm4gbnx8KGk9eHRbb10seHRbb109cixyPW51bGwhPWEoZSx0LG4pP286bnVsbCx4dFtvXT1pKSxyfX0pO3ZhciBidD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLHd0PS9eKD86YXxhcmVhKSQvaTtmdW5jdGlvbiBUdChlKXtyZXR1cm4oZS5tYXRjaChEKXx8W10pLmpvaW4oIiAiKX1mdW5jdGlvbiBDdChlKXtyZXR1cm4gZS5nZXRBdHRyaWJ1dGUmJmUuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIn1mdW5jdGlvbiBrdChlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lOiJzdHJpbmciPT10eXBlb2YgZSYmZS5tYXRjaChEKXx8W119Y2UuZm4uZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIE0odGhpcyxjZS5wcm9wLGUsdCwxPGFyZ3VtZW50cy5sZW5ndGgpfSxyZW1vdmVQcm9wOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtkZWxldGUgdGhpc1tjZS5wcm9wRml4W2VdfHxlXX0pfX0pLGNlLmV4dGVuZCh7cHJvcDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPWUubm9kZVR5cGU7aWYoMyE9PW8mJjghPT1vJiYyIT09bylyZXR1cm4gMT09PW8mJmNlLmlzWE1MRG9jKGUpfHwodD1jZS5wcm9wRml4W3RdfHx0LGk9Y2UucHJvcEhvb2tzW3RdKSx2b2lkIDAhPT1uP2kmJiJzZXQiaW4gaSYmdm9pZCAwIT09KHI9aS5zZXQoZSxuLHQpKT9yOmVbdF09bjppJiYiZ2V0ImluIGkmJm51bGwhPT0ocj1pLmdldChlLHQpKT9yOmVbdF19LHByb3BIb29rczp7dGFiSW5kZXg6e2dldDpmdW5jdGlvbihlKXt2YXIgdD1jZS5maW5kLmF0dHIoZSwidGFiaW5kZXgiKTtyZXR1cm4gdD9wYXJzZUludCh0LDEwKTpidC50ZXN0KGUubm9kZU5hbWUpfHx3dC50ZXN0KGUubm9kZU5hbWUpJiZlLmhyZWY/MDotMX19fSxwcm9wRml4OnsiZm9yIjoiaHRtbEZvciIsImNsYXNzIjoiY2xhc3NOYW1lIn19KSxsZS5vcHRTZWxlY3RlZHx8KGNlLnByb3BIb29rcy5zZWxlY3RlZD17Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50Tm9kZTtyZXR1cm4gdCYmdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCxudWxsfSxzZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3QmJih0LnNlbGVjdGVkSW5kZXgsdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCl9fSksY2UuZWFjaChbInRhYkluZGV4IiwicmVhZE9ubHkiLCJtYXhMZW5ndGgiLCJjZWxsU3BhY2luZyIsImNlbGxQYWRkaW5nIiwicm93U3BhbiIsImNvbFNwYW4iLCJ1c2VNYXAiLCJmcmFtZUJvcmRlciIsImNvbnRlbnRFZGl0YWJsZSJdLGZ1bmN0aW9uKCl7Y2UucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldPXRoaXN9KSxjZS5mbi5leHRlbmQoe2FkZENsYXNzOmZ1bmN0aW9uKHQpe3ZhciBlLG4scixpLG8sYTtyZXR1cm4gdih0KT90aGlzLmVhY2goZnVuY3Rpb24oZSl7Y2UodGhpcykuYWRkQ2xhc3ModC5jYWxsKHRoaXMsZSxDdCh0aGlzKSkpfSk6KGU9a3QodCkpLmxlbmd0aD90aGlzLmVhY2goZnVuY3Rpb24oKXtpZihyPUN0KHRoaXMpLG49MT09PXRoaXMubm9kZVR5cGUmJiIgIitUdChyKSsiICIpe2ZvcihvPTA7bzxlLmxlbmd0aDtvKyspaT1lW29dLG4uaW5kZXhPZigiICIraSsiICIpPDAmJihuKz1pKyIgIik7YT1UdChuKSxyIT09YSYmdGhpcy5zZXRBdHRyaWJ1dGUoImNsYXNzIixhKX19KTp0aGlzfSxyZW1vdmVDbGFzczpmdW5jdGlvbih0KXt2YXIgZSxuLHIsaSxvLGE7cmV0dXJuIHYodCk/dGhpcy5lYWNoKGZ1bmN0aW9uKGUpe2NlKHRoaXMpLnJlbW92ZUNsYXNzKHQuY2FsbCh0aGlzLGUsQ3QodGhpcykpKX0pOmFyZ3VtZW50cy5sZW5ndGg/KGU9a3QodCkpLmxlbmd0aD90aGlzLmVhY2goZnVuY3Rpb24oKXtpZihyPUN0KHRoaXMpLG49MT09PXRoaXMubm9kZVR5cGUmJiIgIitUdChyKSsiICIpe2ZvcihvPTA7bzxlLmxlbmd0aDtvKyspe2k9ZVtvXTt3aGlsZSgtMTxuLmluZGV4T2YoIiAiK2krIiAiKSluPW4ucmVwbGFjZSgiICIraSsiICIsIiAiKX1hPVR0KG4pLHIhPT1hJiZ0aGlzLnNldEF0dHJpYnV0ZSgiY2xhc3MiLGEpfX0pOnRoaXM6dGhpcy5hdHRyKCJjbGFzcyIsIiIpfSx0b2dnbGVDbGFzczpmdW5jdGlvbih0LG4pe3ZhciBlLHIsaSxvLGE9dHlwZW9mIHQscz0ic3RyaW5nIj09PWF8fEFycmF5LmlzQXJyYXkodCk7cmV0dXJuIHYodCk/dGhpcy5lYWNoKGZ1bmN0aW9uKGUpe2NlKHRoaXMpLnRvZ2dsZUNsYXNzKHQuY2FsbCh0aGlzLGUsQ3QodGhpcyksbiksbil9KToiYm9vbGVhbiI9PXR5cGVvZiBuJiZzP24/dGhpcy5hZGRDbGFzcyh0KTp0aGlzLnJlbW92ZUNsYXNzKHQpOihlPWt0KHQpLHRoaXMuZWFjaChmdW5jdGlvbigpe2lmKHMpZm9yKG89Y2UodGhpcyksaT0wO2k8ZS5sZW5ndGg7aSsrKXI9ZVtpXSxvLmhhc0NsYXNzKHIpP28ucmVtb3ZlQ2xhc3Mocik6by5hZGRDbGFzcyhyKTtlbHNlIHZvaWQgMCE9PXQmJiJib29sZWFuIiE9PWF8fCgocj1DdCh0aGlzKSkmJl8uc2V0KHRoaXMsIl9fY2xhc3NOYW1lX18iLHIpLHRoaXMuc2V0QXR0cmlidXRlJiZ0aGlzLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHJ8fCExPT09dD8iIjpfLmdldCh0aGlzLCJfX2NsYXNzTmFtZV9fIil8fCIiKSl9KSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scj0wO3Q9IiAiK2UrIiAiO3doaWxlKG49dGhpc1tyKytdKWlmKDE9PT1uLm5vZGVUeXBlJiYtMTwoIiAiK1R0KEN0KG4pKSsiICIpLmluZGV4T2YodCkpcmV0dXJuITA7cmV0dXJuITF9fSk7dmFyIFN0PS9cci9nO2NlLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKG4pe3ZhciByLGUsaSx0PXRoaXNbMF07cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9dihuKSx0aGlzLmVhY2goZnVuY3Rpb24oZSl7dmFyIHQ7MT09PXRoaXMubm9kZVR5cGUmJihudWxsPT0odD1pP24uY2FsbCh0aGlzLGUsY2UodGhpcykudmFsKCkpOm4pP3Q9IiI6Im51bWJlciI9PXR5cGVvZiB0P3QrPSIiOkFycmF5LmlzQXJyYXkodCkmJih0PWNlLm1hcCh0LGZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lPyIiOmUrIiJ9KSksKHI9Y2UudmFsSG9va3NbdGhpcy50eXBlXXx8Y2UudmFsSG9va3NbdGhpcy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSkmJiJzZXQiaW4gciYmdm9pZCAwIT09ci5zZXQodGhpcyx0LCJ2YWx1ZSIpfHwodGhpcy52YWx1ZT10KSl9KSk6dD8ocj1jZS52YWxIb29rc1t0LnR5cGVdfHxjZS52YWxIb29rc1t0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSYmImdldCJpbiByJiZ2b2lkIDAhPT0oZT1yLmdldCh0LCJ2YWx1ZSIpKT9lOiJzdHJpbmciPT10eXBlb2YoZT10LnZhbHVlKT9lLnJlcGxhY2UoU3QsIiIpOm51bGw9PWU/IiI6ZTp2b2lkIDB9fSksY2UuZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9Y2UuZmluZC5hdHRyKGUsInZhbHVlIik7cmV0dXJuIG51bGwhPXQ/dDpUdChjZS50ZXh0KGUpKX19LHNlbGVjdDp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpPWUub3B0aW9ucyxvPWUuc2VsZWN0ZWRJbmRleCxhPSJzZWxlY3Qtb25lIj09PWUudHlwZSxzPWE/bnVsbDpbXSx1PWE/bysxOmkubGVuZ3RoO2ZvcihyPW88MD91OmE/bzowO3I8dTtyKyspaWYoKChuPWlbcl0pLnNlbGVjdGVkfHxyPT09bykmJiFuLmRpc2FibGVkJiYoIW4ucGFyZW50Tm9kZS5kaXNhYmxlZHx8IWZlKG4ucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2lmKHQ9Y2UobikudmFsKCksYSlyZXR1cm4gdDtzLnB1c2godCl9cmV0dXJuIHN9LHNldDpmdW5jdGlvbihlLHQpe3ZhciBuLHIsaT1lLm9wdGlvbnMsbz1jZS5tYWtlQXJyYXkodCksYT1pLmxlbmd0aDt3aGlsZShhLS0pKChyPWlbYV0pLnNlbGVjdGVkPS0xPGNlLmluQXJyYXkoY2UudmFsSG9va3Mub3B0aW9uLmdldChyKSxvKSkmJihuPSEwKTtyZXR1cm4gbnx8KGUuc2VsZWN0ZWRJbmRleD0tMSksb319fX0pLGNlLmVhY2goWyJyYWRpbyIsImNoZWNrYm94Il0sZnVuY3Rpb24oKXtjZS52YWxIb29rc1t0aGlzXT17c2V0OmZ1bmN0aW9uKGUsdCl7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gZS5jaGVja2VkPS0xPGNlLmluQXJyYXkoY2UoZSkudmFsKCksdCl9fSxsZS5jaGVja09ufHwoY2UudmFsSG9va3NbdGhpc10uZ2V0PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09ZS5nZXRBdHRyaWJ1dGUoInZhbHVlIik/Im9uIjplLnZhbHVlfSl9KTt2YXIgRXQ9aWUubG9jYXRpb24sanQ9e2d1aWQ6RGF0ZS5ub3coKX0sQXQ9L1w/LztjZS5wYXJzZVhNTD1mdW5jdGlvbihlKXt2YXIgdCxuO2lmKCFlfHwic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuIG51bGw7dHJ5e3Q9KG5ldyBpZS5ET01QYXJzZXIpLnBhcnNlRnJvbVN0cmluZyhlLCJ0ZXh0L3htbCIpfWNhdGNoKGUpe31yZXR1cm4gbj10JiZ0LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpWzBdLHQmJiFufHxjZS5lcnJvcigiSW52YWxpZCBYTUw6ICIrKG4/Y2UubWFwKG4uY2hpbGROb2RlcyxmdW5jdGlvbihlKXtyZXR1cm4gZS50ZXh0Q29udGVudH0pLmpvaW4oIlxuIik6ZSkpLHR9O3ZhciBEdD0vXig/OmZvY3VzaW5mb2N1c3xmb2N1c291dGJsdXIpJC8sTnQ9ZnVuY3Rpb24oZSl7ZS5zdG9wUHJvcGFnYXRpb24oKX07Y2UuZXh0ZW5kKGNlLmV2ZW50LHt0cmlnZ2VyOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpLG8sYSxzLHUsbCxjLGYscD1bbnx8Q10sZD11ZS5jYWxsKGUsInR5cGUiKT9lLnR5cGU6ZSxoPXVlLmNhbGwoZSwibmFtZXNwYWNlIik/ZS5uYW1lc3BhY2Uuc3BsaXQoIi4iKTpbXTtpZihvPWY9YT1uPW58fEMsMyE9PW4ubm9kZVR5cGUmJjghPT1uLm5vZGVUeXBlJiYhRHQudGVzdChkK2NlLmV2ZW50LnRyaWdnZXJlZCkmJigtMTxkLmluZGV4T2YoIi4iKSYmKGQ9KGg9ZC5zcGxpdCgiLiIpKS5zaGlmdCgpLGguc29ydCgpKSx1PWQuaW5kZXhPZigiOiIpPDAmJiJvbiIrZCwoZT1lW2NlLmV4cGFuZG9dP2U6bmV3IGNlLkV2ZW50KGQsIm9iamVjdCI9PXR5cGVvZiBlJiZlKSkuaXNUcmlnZ2VyPXI/MjozLGUubmFtZXNwYWNlPWguam9pbigiLiIpLGUucm5hbWVzcGFjZT1lLm5hbWVzcGFjZT9uZXcgUmVnRXhwKCIoXnxcXC4pIitoLmpvaW4oIlxcLig/Oi4qXFwufCkiKSsiKFxcLnwkKSIpOm51bGwsZS5yZXN1bHQ9dm9pZCAwLGUudGFyZ2V0fHwoZS50YXJnZXQ9biksdD1udWxsPT10P1tlXTpjZS5tYWtlQXJyYXkodCxbZV0pLGM9Y2UuZXZlbnQuc3BlY2lhbFtkXXx8e30scnx8IWMudHJpZ2dlcnx8ITEhPT1jLnRyaWdnZXIuYXBwbHkobix0KSkpe2lmKCFyJiYhYy5ub0J1YmJsZSYmIXkobikpe2ZvcihzPWMuZGVsZWdhdGVUeXBlfHxkLER0LnRlc3QocytkKXx8KG89by5wYXJlbnROb2RlKTtvO289by5wYXJlbnROb2RlKXAucHVzaChvKSxhPW87YT09PShuLm93bmVyRG9jdW1lbnR8fEMpJiZwLnB1c2goYS5kZWZhdWx0Vmlld3x8YS5wYXJlbnRXaW5kb3d8fGllKX1pPTA7d2hpbGUoKG89cFtpKytdKSYmIWUuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlmPW8sZS50eXBlPTE8aT9zOmMuYmluZFR5cGV8fGQsKGw9KF8uZ2V0KG8sImV2ZW50cyIpfHxPYmplY3QuY3JlYXRlKG51bGwpKVtlLnR5cGVdJiZfLmdldChvLCJoYW5kbGUiKSkmJmwuYXBwbHkobyx0KSwobD11JiZvW3VdKSYmbC5hcHBseSYmJChvKSYmKGUucmVzdWx0PWwuYXBwbHkobyx0KSwhMT09PWUucmVzdWx0JiZlLnByZXZlbnREZWZhdWx0KCkpO3JldHVybiBlLnR5cGU9ZCxyfHxlLmlzRGVmYXVsdFByZXZlbnRlZCgpfHxjLl9kZWZhdWx0JiYhMSE9PWMuX2RlZmF1bHQuYXBwbHkocC5wb3AoKSx0KXx8ISQobil8fHUmJnYobltkXSkmJiF5KG4pJiYoKGE9blt1XSkmJihuW3VdPW51bGwpLGNlLmV2ZW50LnRyaWdnZXJlZD1kLGUuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSYmZi5hZGRFdmVudExpc3RlbmVyKGQsTnQpLG5bZF0oKSxlLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkmJmYucmVtb3ZlRXZlbnRMaXN0ZW5lcihkLE50KSxjZS5ldmVudC50cmlnZ2VyZWQ9dm9pZCAwLGEmJihuW3VdPWEpKSxlLnJlc3VsdH19LHNpbXVsYXRlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1jZS5leHRlbmQobmV3IGNlLkV2ZW50LG4se3R5cGU6ZSxpc1NpbXVsYXRlZDohMH0pO2NlLmV2ZW50LnRyaWdnZXIocixudWxsLHQpfX0pLGNlLmZuLmV4dGVuZCh7dHJpZ2dlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtjZS5ldmVudC50cmlnZ2VyKGUsdCx0aGlzKX0pfSx0cmlnZ2VySGFuZGxlcjpmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXNbMF07aWYobilyZXR1cm4gY2UuZXZlbnQudHJpZ2dlcihlLHQsbiwhMCl9fSk7dmFyIHF0PS9cW1xdJC8sTHQ9L1xyP1xuL2csSHQ9L14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLE90PS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGtleWdlbikvaTtmdW5jdGlvbiBQdChuLGUscixpKXt2YXIgdDtpZihBcnJheS5pc0FycmF5KGUpKWNlLmVhY2goZSxmdW5jdGlvbihlLHQpe3J8fHF0LnRlc3Qobik/aShuLHQpOlB0KG4rIlsiKygib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPXQ/ZToiIikrIl0iLHQscixpKX0pO2Vsc2UgaWYocnx8Im9iamVjdCIhPT14KGUpKWkobixlKTtlbHNlIGZvcih0IGluIGUpUHQobisiWyIrdCsiXSIsZVt0XSxyLGkpfWNlLnBhcmFtPWZ1bmN0aW9uKGUsdCl7dmFyIG4scj1bXSxpPWZ1bmN0aW9uKGUsdCl7dmFyIG49dih0KT90KCk6dDtyW3IubGVuZ3RoXT1lbmNvZGVVUklDb21wb25lbnQoZSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChudWxsPT1uPyIiOm4pfTtpZihudWxsPT1lKXJldHVybiIiO2lmKEFycmF5LmlzQXJyYXkoZSl8fGUuanF1ZXJ5JiYhY2UuaXNQbGFpbk9iamVjdChlKSljZS5lYWNoKGUsZnVuY3Rpb24oKXtpKHRoaXMubmFtZSx0aGlzLnZhbHVlKX0pO2Vsc2UgZm9yKG4gaW4gZSlQdChuLGVbbl0sdCxpKTtyZXR1cm4gci5qb2luKCImIil9LGNlLmZuLmV4dGVuZCh7c2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIGNlLnBhcmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSl9LHNlcmlhbGl6ZUFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGU9Y2UucHJvcCh0aGlzLCJlbGVtZW50cyIpO3JldHVybiBlP2NlLm1ha2VBcnJheShlKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy50eXBlO3JldHVybiB0aGlzLm5hbWUmJiFjZSh0aGlzKS5pcygiOmRpc2FibGVkIikmJk90LnRlc3QodGhpcy5ub2RlTmFtZSkmJiFIdC50ZXN0KGUpJiYodGhpcy5jaGVja2VkfHwhd2UudGVzdChlKSl9KS5tYXAoZnVuY3Rpb24oZSx0KXt2YXIgbj1jZSh0aGlzKS52YWwoKTtyZXR1cm4gbnVsbD09bj9udWxsOkFycmF5LmlzQXJyYXkobik/Y2UubWFwKG4sZnVuY3Rpb24oZSl7cmV0dXJue25hbWU6dC5uYW1lLHZhbHVlOmUucmVwbGFjZShMdCwiXHJcbiIpfX0pOntuYW1lOnQubmFtZSx2YWx1ZTpuLnJlcGxhY2UoTHQsIlxyXG4iKX19KS5nZXQoKX19KTt2YXIgTXQ9LyUyMC9nLFJ0PS8jLiokLyxJdD0vKFs/Jl0pXz1bXiZdKi8sV3Q9L14oLio/KTpbIFx0XSooW15cclxuXSopJC9nbSxGdD0vXig/OkdFVHxIRUFEKSQvLCR0PS9eXC9cLy8sQnQ9e30sX3Q9e30senQ9IiovIi5jb25jYXQoIioiKSxYdD1DLmNyZWF0ZUVsZW1lbnQoImEiKTtmdW5jdGlvbiBVdChvKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXsic3RyaW5nIiE9dHlwZW9mIGUmJih0PWUsZT0iKiIpO3ZhciBuLHI9MCxpPWUudG9Mb3dlckNhc2UoKS5tYXRjaChEKXx8W107aWYodih0KSl3aGlsZShuPWlbcisrXSkiKyI9PT1uWzBdPyhuPW4uc2xpY2UoMSl8fCIqIiwob1tuXT1vW25dfHxbXSkudW5zaGlmdCh0KSk6KG9bbl09b1tuXXx8W10pLnB1c2godCl9fWZ1bmN0aW9uIFZ0KHQsaSxvLGEpe3ZhciBzPXt9LHU9dD09PV90O2Z1bmN0aW9uIGwoZSl7dmFyIHI7cmV0dXJuIHNbZV09ITAsY2UuZWFjaCh0W2VdfHxbXSxmdW5jdGlvbihlLHQpe3ZhciBuPXQoaSxvLGEpO3JldHVybiJzdHJpbmciIT10eXBlb2Ygbnx8dXx8c1tuXT91PyEocj1uKTp2b2lkIDA6KGkuZGF0YVR5cGVzLnVuc2hpZnQobiksbChuKSwhMSl9KSxyfXJldHVybiBsKGkuZGF0YVR5cGVzWzBdKXx8IXNbIioiXSYmbCgiKiIpfWZ1bmN0aW9uIEd0KGUsdCl7dmFyIG4scixpPWNlLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKG4gaW4gdCl2b2lkIDAhPT10W25dJiYoKGlbbl0/ZTpyfHwocj17fSkpW25dPXRbbl0pO3JldHVybiByJiZjZS5leHRlbmQoITAsZSxyKSxlfVh0LmhyZWY9RXQuaHJlZixjZS5leHRlbmQoe2FjdGl2ZTowLGxhc3RNb2RpZmllZDp7fSxldGFnOnt9LGFqYXhTZXR0aW5nczp7dXJsOkV0LmhyZWYsdHlwZToiR0VUIixpc0xvY2FsOi9eKD86YWJvdXR8YXBwfGFwcC1zdG9yYWdlfC4rLWV4dGVuc2lvbnxmaWxlfHJlc3x3aWRnZXQpOiQvLnRlc3QoRXQucHJvdG9jb2wpLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IixhY2NlcHRzOnsiKiI6enQsdGV4dDoidGV4dC9wbGFpbiIsaHRtbDoidGV4dC9odG1sIix4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCJ9LGNvbnRlbnRzOnt4bWw6L1xieG1sXGIvLGh0bWw6L1xiaHRtbC8sanNvbjovXGJqc29uXGIvfSxyZXNwb25zZUZpZWxkczp7eG1sOiJyZXNwb25zZVhNTCIsdGV4dDoicmVzcG9uc2VUZXh0Iixqc29uOiJyZXNwb25zZUpTT04ifSxjb252ZXJ0ZXJzOnsiKiB0ZXh0IjpTdHJpbmcsInRleHQgaHRtbCI6ITAsInRleHQganNvbiI6SlNPTi5wYXJzZSwidGV4dCB4bWwiOmNlLnBhcnNlWE1MfSxmbGF0T3B0aW9uczp7dXJsOiEwLGNvbnRleHQ6ITB9fSxhamF4U2V0dXA6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD9HdChHdChlLGNlLmFqYXhTZXR0aW5ncyksdCk6R3QoY2UuYWpheFNldHRpbmdzLGUpfSxhamF4UHJlZmlsdGVyOlV0KEJ0KSxhamF4VHJhbnNwb3J0OlV0KF90KSxhamF4OmZ1bmN0aW9uKGUsdCl7Im9iamVjdCI9PXR5cGVvZiBlJiYodD1lLGU9dm9pZCAwKSx0PXR8fHt9O3ZhciBjLGYscCxuLGQscixoLGcsaSxvLHY9Y2UuYWpheFNldHVwKHt9LHQpLHk9di5jb250ZXh0fHx2LG09di5jb250ZXh0JiYoeS5ub2RlVHlwZXx8eS5qcXVlcnkpP2NlKHkpOmNlLmV2ZW50LHg9Y2UuRGVmZXJyZWQoKSxiPWNlLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSx3PXYuc3RhdHVzQ29kZXx8e30sYT17fSxzPXt9LHU9ImNhbmNlbGVkIixUPXtyZWFkeVN0YXRlOjAsZ2V0UmVzcG9uc2VIZWFkZXI6ZnVuY3Rpb24oZSl7dmFyIHQ7aWYoaCl7aWYoIW4pe249e307d2hpbGUodD1XdC5leGVjKHApKW5bdFsxXS50b0xvd2VyQ2FzZSgpKyIgIl09KG5bdFsxXS50b0xvd2VyQ2FzZSgpKyIgIl18fFtdKS5jb25jYXQodFsyXSl9dD1uW2UudG9Mb3dlckNhc2UoKSsiICJdfXJldHVybiBudWxsPT10P251bGw6dC5qb2luKCIsICIpfSxnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gaD9wOm51bGx9LHNldFJlcXVlc3RIZWFkZXI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbnVsbD09aCYmKGU9c1tlLnRvTG93ZXJDYXNlKCldPXNbZS50b0xvd2VyQ2FzZSgpXXx8ZSxhW2VdPXQpLHRoaXN9LG92ZXJyaWRlTWltZVR5cGU6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWgmJih2Lm1pbWVUeXBlPWUpLHRoaXN9LHN0YXR1c0NvZGU6ZnVuY3Rpb24oZSl7dmFyIHQ7aWYoZSlpZihoKVQuYWx3YXlzKGVbVC5zdGF0dXNdKTtlbHNlIGZvcih0IGluIGUpd1t0XT1bd1t0XSxlW3RdXTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZXx8dTtyZXR1cm4gYyYmYy5hYm9ydCh0KSxsKDAsdCksdGhpc319O2lmKHgucHJvbWlzZShUKSx2LnVybD0oKGV8fHYudXJsfHxFdC5ocmVmKSsiIikucmVwbGFjZSgkdCxFdC5wcm90b2NvbCsiLy8iKSx2LnR5cGU9dC5tZXRob2R8fHQudHlwZXx8di5tZXRob2R8fHYudHlwZSx2LmRhdGFUeXBlcz0odi5kYXRhVHlwZXx8IioiKS50b0xvd2VyQ2FzZSgpLm1hdGNoKEQpfHxbIiJdLG51bGw9PXYuY3Jvc3NEb21haW4pe3I9Qy5jcmVhdGVFbGVtZW50KCJhIik7dHJ5e3IuaHJlZj12LnVybCxyLmhyZWY9ci5ocmVmLHYuY3Jvc3NEb21haW49WHQucHJvdG9jb2wrIi8vIitYdC5ob3N0IT1yLnByb3RvY29sKyIvLyIrci5ob3N0fWNhdGNoKGUpe3YuY3Jvc3NEb21haW49ITB9fWlmKHYuZGF0YSYmdi5wcm9jZXNzRGF0YSYmInN0cmluZyIhPXR5cGVvZiB2LmRhdGEmJih2LmRhdGE9Y2UucGFyYW0odi5kYXRhLHYudHJhZGl0aW9uYWwpKSxWdChCdCx2LHQsVCksaClyZXR1cm4gVDtmb3IoaSBpbihnPWNlLmV2ZW50JiZ2Lmdsb2JhbCkmJjA9PWNlLmFjdGl2ZSsrJiZjZS5ldmVudC50cmlnZ2VyKCJhamF4U3RhcnQiKSx2LnR5cGU9di50eXBlLnRvVXBwZXJDYXNlKCksdi5oYXNDb250ZW50PSFGdC50ZXN0KHYudHlwZSksZj12LnVybC5yZXBsYWNlKFJ0LCIiKSx2Lmhhc0NvbnRlbnQ/di5kYXRhJiZ2LnByb2Nlc3NEYXRhJiYwPT09KHYuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYmKHYuZGF0YT12LmRhdGEucmVwbGFjZShNdCwiKyIpKToobz12LnVybC5zbGljZShmLmxlbmd0aCksdi5kYXRhJiYodi5wcm9jZXNzRGF0YXx8InN0cmluZyI9PXR5cGVvZiB2LmRhdGEpJiYoZis9KEF0LnRlc3QoZik/IiYiOiI/Iikrdi5kYXRhLGRlbGV0ZSB2LmRhdGEpLCExPT09di5jYWNoZSYmKGY9Zi5yZXBsYWNlKEl0LCIkMSIpLG89KEF0LnRlc3QoZik/IiYiOiI/IikrIl89IitqdC5ndWlkKysrbyksdi51cmw9ZitvKSx2LmlmTW9kaWZpZWQmJihjZS5sYXN0TW9kaWZpZWRbZl0mJlQuc2V0UmVxdWVzdEhlYWRlcigiSWYtTW9kaWZpZWQtU2luY2UiLGNlLmxhc3RNb2RpZmllZFtmXSksY2UuZXRhZ1tmXSYmVC5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Ob25lLU1hdGNoIixjZS5ldGFnW2ZdKSksKHYuZGF0YSYmdi5oYXNDb250ZW50JiYhMSE9PXYuY29udGVudFR5cGV8fHQuY29udGVudFR5cGUpJiZULnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsdi5jb250ZW50VHlwZSksVC5zZXRSZXF1ZXN0SGVhZGVyKCJBY2NlcHQiLHYuZGF0YVR5cGVzWzBdJiZ2LmFjY2VwdHNbdi5kYXRhVHlwZXNbMF1dP3YuYWNjZXB0c1t2LmRhdGFUeXBlc1swXV0rKCIqIiE9PXYuZGF0YVR5cGVzWzBdPyIsICIrenQrIjsgcT0wLjAxIjoiIik6di5hY2NlcHRzWyIqIl0pLHYuaGVhZGVycylULnNldFJlcXVlc3RIZWFkZXIoaSx2LmhlYWRlcnNbaV0pO2lmKHYuYmVmb3JlU2VuZCYmKCExPT09di5iZWZvcmVTZW5kLmNhbGwoeSxULHYpfHxoKSlyZXR1cm4gVC5hYm9ydCgpO2lmKHU9ImFib3J0IixiLmFkZCh2LmNvbXBsZXRlKSxULmRvbmUodi5zdWNjZXNzKSxULmZhaWwodi5lcnJvciksYz1WdChfdCx2LHQsVCkpe2lmKFQucmVhZHlTdGF0ZT0xLGcmJm0udHJpZ2dlcigiYWpheFNlbmQiLFtULHZdKSxoKXJldHVybiBUO3YuYXN5bmMmJjA8di50aW1lb3V0JiYoZD1pZS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7VC5hYm9ydCgidGltZW91dCIpfSx2LnRpbWVvdXQpKTt0cnl7aD0hMSxjLnNlbmQoYSxsKX1jYXRjaChlKXtpZihoKXRocm93IGU7bCgtMSxlKX19ZWxzZSBsKC0xLCJObyBUcmFuc3BvcnQiKTtmdW5jdGlvbiBsKGUsdCxuLHIpe3ZhciBpLG8sYSxzLHUsbD10O2h8fChoPSEwLGQmJmllLmNsZWFyVGltZW91dChkKSxjPXZvaWQgMCxwPXJ8fCIiLFQucmVhZHlTdGF0ZT0wPGU/NDowLGk9MjAwPD1lJiZlPDMwMHx8MzA0PT09ZSxuJiYocz1mdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscz1lLmNvbnRlbnRzLHU9ZS5kYXRhVHlwZXM7d2hpbGUoIioiPT09dVswXSl1LnNoaWZ0KCksdm9pZCAwPT09ciYmKHI9ZS5taW1lVHlwZXx8dC5nZXRSZXNwb25zZUhlYWRlcigiQ29udGVudC1UeXBlIikpO2lmKHIpZm9yKGkgaW4gcylpZihzW2ldJiZzW2ldLnRlc3Qocikpe3UudW5zaGlmdChpKTticmVha31pZih1WzBdaW4gbilvPXVbMF07ZWxzZXtmb3IoaSBpbiBuKXtpZighdVswXXx8ZS5jb252ZXJ0ZXJzW2krIiAiK3VbMF1dKXtvPWk7YnJlYWt9YXx8KGE9aSl9bz1vfHxhfWlmKG8pcmV0dXJuIG8hPT11WzBdJiZ1LnVuc2hpZnQobyksbltvXX0odixULG4pKSwhaSYmLTE8Y2UuaW5BcnJheSgic2NyaXB0Iix2LmRhdGFUeXBlcykmJmNlLmluQXJyYXkoImpzb24iLHYuZGF0YVR5cGVzKTwwJiYodi5jb252ZXJ0ZXJzWyJ0ZXh0IHNjcmlwdCJdPWZ1bmN0aW9uKCl7fSkscz1mdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvLGEscyx1LGw9e30sYz1lLmRhdGFUeXBlcy5zbGljZSgpO2lmKGNbMV0pZm9yKGEgaW4gZS5jb252ZXJ0ZXJzKWxbYS50b0xvd2VyQ2FzZSgpXT1lLmNvbnZlcnRlcnNbYV07bz1jLnNoaWZ0KCk7d2hpbGUobylpZihlLnJlc3BvbnNlRmllbGRzW29dJiYobltlLnJlc3BvbnNlRmllbGRzW29dXT10KSwhdSYmciYmZS5kYXRhRmlsdGVyJiYodD1lLmRhdGFGaWx0ZXIodCxlLmRhdGFUeXBlKSksdT1vLG89Yy5zaGlmdCgpKWlmKCIqIj09PW8pbz11O2Vsc2UgaWYoIioiIT09dSYmdSE9PW8pe2lmKCEoYT1sW3UrIiAiK29dfHxsWyIqICIrb10pKWZvcihpIGluIGwpaWYoKHM9aS5zcGxpdCgiICIpKVsxXT09PW8mJihhPWxbdSsiICIrc1swXV18fGxbIiogIitzWzBdXSkpeyEwPT09YT9hPWxbaV06ITAhPT1sW2ldJiYobz1zWzBdLGMudW5zaGlmdChzWzFdKSk7YnJlYWt9aWYoITAhPT1hKWlmKGEmJmVbInRocm93cyJdKXQ9YSh0KTtlbHNlIHRyeXt0PWEodCl9Y2F0Y2goZSl7cmV0dXJue3N0YXRlOiJwYXJzZXJlcnJvciIsZXJyb3I6YT9lOiJObyBjb252ZXJzaW9uIGZyb20gIit1KyIgdG8gIitvfX19cmV0dXJue3N0YXRlOiJzdWNjZXNzIixkYXRhOnR9fSh2LHMsVCxpKSxpPyh2LmlmTW9kaWZpZWQmJigodT1ULmdldFJlc3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIikpJiYoY2UubGFzdE1vZGlmaWVkW2ZdPXUpLCh1PVQuZ2V0UmVzcG9uc2VIZWFkZXIoImV0YWciKSkmJihjZS5ldGFnW2ZdPXUpKSwyMDQ9PT1lfHwiSEVBRCI9PT12LnR5cGU/bD0ibm9jb250ZW50IjozMDQ9PT1lP2w9Im5vdG1vZGlmaWVkIjoobD1zLnN0YXRlLG89cy5kYXRhLGk9IShhPXMuZXJyb3IpKSk6KGE9bCwhZSYmbHx8KGw9ImVycm9yIixlPDAmJihlPTApKSksVC5zdGF0dXM9ZSxULnN0YXR1c1RleHQ9KHR8fGwpKyIiLGk/eC5yZXNvbHZlV2l0aCh5LFtvLGwsVF0pOngucmVqZWN0V2l0aCh5LFtULGwsYV0pLFQuc3RhdHVzQ29kZSh3KSx3PXZvaWQgMCxnJiZtLnRyaWdnZXIoaT8iYWpheFN1Y2Nlc3MiOiJhamF4RXJyb3IiLFtULHYsaT9vOmFdKSxiLmZpcmVXaXRoKHksW1QsbF0pLGcmJihtLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW1Qsdl0pLC0tY2UuYWN0aXZlfHxjZS5ldmVudC50cmlnZ2VyKCJhamF4U3RvcCIpKSl9cmV0dXJuIFR9LGdldEpTT046ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBjZS5nZXQoZSx0LG4sImpzb24iKX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGNlLmdldChlLHZvaWQgMCx0LCJzY3JpcHQiKX19KSxjZS5lYWNoKFsiZ2V0IiwicG9zdCJdLGZ1bmN0aW9uKGUsaSl7Y2VbaV09ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHYodCkmJihyPXJ8fG4sbj10LHQ9dm9pZCAwKSxjZS5hamF4KGNlLmV4dGVuZCh7dXJsOmUsdHlwZTppLGRhdGFUeXBlOnIsZGF0YTp0LHN1Y2Nlc3M6bn0sY2UuaXNQbGFpbk9iamVjdChlKSYmZSkpfX0pLGNlLmFqYXhQcmVmaWx0ZXIoZnVuY3Rpb24oZSl7dmFyIHQ7Zm9yKHQgaW4gZS5oZWFkZXJzKSJjb250ZW50LXR5cGUiPT09dC50b0xvd2VyQ2FzZSgpJiYoZS5jb250ZW50VHlwZT1lLmhlYWRlcnNbdF18fCIiKX0pLGNlLl9ldmFsVXJsPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gY2UuYWpheCh7dXJsOmUsdHlwZToiR0VUIixkYXRhVHlwZToic2NyaXB0IixjYWNoZTohMCxhc3luYzohMSxnbG9iYWw6ITEsY29udmVydGVyczp7InRleHQgc2NyaXB0IjpmdW5jdGlvbigpe319LGRhdGFGaWx0ZXI6ZnVuY3Rpb24oZSl7Y2UuZ2xvYmFsRXZhbChlLHQsbil9fSl9LGNlLmZuLmV4dGVuZCh7d3JhcEFsbDpmdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gdGhpc1swXSYmKHYoZSkmJihlPWUuY2FsbCh0aGlzWzBdKSksdD1jZShlLHRoaXNbMF0ub3duZXJEb2N1bWVudCkuZXEoMCkuY2xvbmUoITApLHRoaXNbMF0ucGFyZW50Tm9kZSYmdC5pbnNlcnRCZWZvcmUodGhpc1swXSksdC5tYXAoZnVuY3Rpb24oKXt2YXIgZT10aGlzO3doaWxlKGUuZmlyc3RFbGVtZW50Q2hpbGQpZT1lLmZpcnN0RWxlbWVudENoaWxkO3JldHVybiBlfSkuYXBwZW5kKHRoaXMpKSx0aGlzfSx3cmFwSW5uZXI6ZnVuY3Rpb24obil7cmV0dXJuIHYobik/dGhpcy5lYWNoKGZ1bmN0aW9uKGUpe2NlKHRoaXMpLndyYXBJbm5lcihuLmNhbGwodGhpcyxlKSl9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1jZSh0aGlzKSx0PWUuY29udGVudHMoKTt0Lmxlbmd0aD90LndyYXBBbGwobik6ZS5hcHBlbmQobil9KX0sd3JhcDpmdW5jdGlvbih0KXt2YXIgbj12KHQpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oZSl7Y2UodGhpcykud3JhcEFsbChuP3QuY2FsbCh0aGlzLGUpOnQpfSl9LHVud3JhcDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wYXJlbnQoZSkubm90KCJib2R5IikuZWFjaChmdW5jdGlvbigpe2NlKHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2hpbGROb2Rlcyl9KSx0aGlzfX0pLGNlLmV4cHIucHNldWRvcy5oaWRkZW49ZnVuY3Rpb24oZSl7cmV0dXJuIWNlLmV4cHIucHNldWRvcy52aXNpYmxlKGUpfSxjZS5leHByLnBzZXVkb3MudmlzaWJsZT1mdW5jdGlvbihlKXtyZXR1cm4hIShlLm9mZnNldFdpZHRofHxlLm9mZnNldEhlaWdodHx8ZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCl9LGNlLmFqYXhTZXR0aW5ncy54aHI9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBpZS5YTUxIdHRwUmVxdWVzdH1jYXRjaChlKXt9fTt2YXIgWXQ9ezA6MjAwLDEyMjM6MjA0fSxRdD1jZS5hamF4U2V0dGluZ3MueGhyKCk7bGUuY29ycz0hIVF0JiYid2l0aENyZWRlbnRpYWxzImluIFF0LGxlLmFqYXg9UXQ9ISFRdCxjZS5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKGkpe3ZhciBvLGE7aWYobGUuY29yc3x8UXQmJiFpLmNyb3NzRG9tYWluKXJldHVybntzZW5kOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1pLnhocigpO2lmKHIub3BlbihpLnR5cGUsaS51cmwsaS5hc3luYyxpLnVzZXJuYW1lLGkucGFzc3dvcmQpLGkueGhyRmllbGRzKWZvcihuIGluIGkueGhyRmllbGRzKXJbbl09aS54aHJGaWVsZHNbbl07Zm9yKG4gaW4gaS5taW1lVHlwZSYmci5vdmVycmlkZU1pbWVUeXBlJiZyLm92ZXJyaWRlTWltZVR5cGUoaS5taW1lVHlwZSksaS5jcm9zc0RvbWFpbnx8ZVsiWC1SZXF1ZXN0ZWQtV2l0aCJdfHwoZVsiWC1SZXF1ZXN0ZWQtV2l0aCJdPSJYTUxIdHRwUmVxdWVzdCIpLGUpci5zZXRSZXF1ZXN0SGVhZGVyKG4sZVtuXSk7bz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtvJiYobz1hPXIub25sb2FkPXIub25lcnJvcj1yLm9uYWJvcnQ9ci5vbnRpbWVvdXQ9ci5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCwiYWJvcnQiPT09ZT9yLmFib3J0KCk6ImVycm9yIj09PWU/Im51bWJlciIhPXR5cGVvZiByLnN0YXR1cz90KDAsImVycm9yIik6dChyLnN0YXR1cyxyLnN0YXR1c1RleHQpOnQoWXRbci5zdGF0dXNdfHxyLnN0YXR1cyxyLnN0YXR1c1RleHQsInRleHQiIT09KHIucmVzcG9uc2VUeXBlfHwidGV4dCIpfHwic3RyaW5nIiE9dHlwZW9mIHIucmVzcG9uc2VUZXh0P3tiaW5hcnk6ci5yZXNwb25zZX06e3RleHQ6ci5yZXNwb25zZVRleHR9LHIuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpKX19LHIub25sb2FkPW8oKSxhPXIub25lcnJvcj1yLm9udGltZW91dD1vKCJlcnJvciIpLHZvaWQgMCE9PXIub25hYm9ydD9yLm9uYWJvcnQ9YTpyLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpezQ9PT1yLnJlYWR5U3RhdGUmJmllLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtvJiZhKCl9KX0sbz1vKCJhYm9ydCIpO3RyeXtyLnNlbmQoaS5oYXNDb250ZW50JiZpLmRhdGF8fG51bGwpfWNhdGNoKGUpe2lmKG8pdGhyb3cgZX19LGFib3J0OmZ1bmN0aW9uKCl7byYmbygpfX19KSxjZS5hamF4UHJlZmlsdGVyKGZ1bmN0aW9uKGUpe2UuY3Jvc3NEb21haW4mJihlLmNvbnRlbnRzLnNjcmlwdD0hMSl9KSxjZS5hamF4U2V0dXAoe2FjY2VwdHM6e3NjcmlwdDoidGV4dC9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9lY21hc2NyaXB0LCBhcHBsaWNhdGlvbi94LWVjbWFzY3JpcHQifSxjb250ZW50czp7c2NyaXB0Oi9cYig/OmphdmF8ZWNtYSlzY3JpcHRcYi99LGNvbnZlcnRlcnM6eyJ0ZXh0IHNjcmlwdCI6ZnVuY3Rpb24oZSl7cmV0dXJuIGNlLmdsb2JhbEV2YWwoZSksZX19fSksY2UuYWpheFByZWZpbHRlcigic2NyaXB0IixmdW5jdGlvbihlKXt2b2lkIDA9PT1lLmNhY2hlJiYoZS5jYWNoZT0hMSksZS5jcm9zc0RvbWFpbiYmKGUudHlwZT0iR0VUIil9KSxjZS5hamF4VHJhbnNwb3J0KCJzY3JpcHQiLGZ1bmN0aW9uKG4pe3ZhciByLGk7aWYobi5jcm9zc0RvbWFpbnx8bi5zY3JpcHRBdHRycylyZXR1cm57c2VuZDpmdW5jdGlvbihlLHQpe3I9Y2UoIjxzY3JpcHQ+IikuYXR0cihuLnNjcmlwdEF0dHJzfHx7fSkucHJvcCh7Y2hhcnNldDpuLnNjcmlwdENoYXJzZXQsc3JjOm4udXJsfSkub24oImxvYWQgZXJyb3IiLGk9ZnVuY3Rpb24oZSl7ci5yZW1vdmUoKSxpPW51bGwsZSYmdCgiZXJyb3IiPT09ZS50eXBlPzQwNDoyMDAsZS50eXBlKX0pLEMuaGVhZC5hcHBlbmRDaGlsZChyWzBdKX0sYWJvcnQ6ZnVuY3Rpb24oKXtpJiZpKCl9fX0pO3ZhciBKdCxLdD1bXSxadD0vKD0pXD8oPz0mfCQpfFw/XD8vO2NlLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGU9S3QucG9wKCl8fGNlLmV4cGFuZG8rIl8iK2p0Lmd1aWQrKztyZXR1cm4gdGhpc1tlXT0hMCxlfX0pLGNlLmFqYXhQcmVmaWx0ZXIoImpzb24ganNvbnAiLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYT0hMSE9PWUuanNvbnAmJihadC50ZXN0KGUudXJsKT8idXJsIjoic3RyaW5nIj09dHlwZW9mIGUuZGF0YSYmMD09PShlLmNvbnRlbnRUeXBlfHwiIikuaW5kZXhPZigiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIikmJlp0LnRlc3QoZS5kYXRhKSYmImRhdGEiKTtpZihhfHwianNvbnAiPT09ZS5kYXRhVHlwZXNbMF0pcmV0dXJuIHI9ZS5qc29ucENhbGxiYWNrPXYoZS5qc29ucENhbGxiYWNrKT9lLmpzb25wQ2FsbGJhY2soKTplLmpzb25wQ2FsbGJhY2ssYT9lW2FdPWVbYV0ucmVwbGFjZShadCwiJDEiK3IpOiExIT09ZS5qc29ucCYmKGUudXJsKz0oQXQudGVzdChlLnVybCk/IiYiOiI/IikrZS5qc29ucCsiPSIrciksZS5jb252ZXJ0ZXJzWyJzY3JpcHQganNvbiJdPWZ1bmN0aW9uKCl7cmV0dXJuIG98fGNlLmVycm9yKHIrIiB3YXMgbm90IGNhbGxlZCIpLG9bMF19LGUuZGF0YVR5cGVzWzBdPSJqc29uIixpPWllW3JdLGllW3JdPWZ1bmN0aW9uKCl7bz1hcmd1bWVudHN9LG4uYWx3YXlzKGZ1bmN0aW9uKCl7dm9pZCAwPT09aT9jZShpZSkucmVtb3ZlUHJvcChyKTppZVtyXT1pLGVbcl0mJihlLmpzb25wQ2FsbGJhY2s9dC5qc29ucENhbGxiYWNrLEt0LnB1c2gocikpLG8mJnYoaSkmJmkob1swXSksbz1pPXZvaWQgMH0pLCJzY3JpcHQifSksbGUuY3JlYXRlSFRNTERvY3VtZW50PSgoSnQ9Qy5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLmJvZHkpLmlubmVySFRNTD0iPGZvcm0+PC9mb3JtPjxmb3JtPjwvZm9ybT4iLDI9PT1KdC5jaGlsZE5vZGVzLmxlbmd0aCksY2UucGFyc2VIVE1MPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGU/W106KCJib29sZWFuIj09dHlwZW9mIHQmJihuPXQsdD0hMSksdHx8KGxlLmNyZWF0ZUhUTUxEb2N1bWVudD8oKHI9KHQ9Qy5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpKS5jcmVhdGVFbGVtZW50KCJiYXNlIikpLmhyZWY9Qy5sb2NhdGlvbi5ocmVmLHQuaGVhZC5hcHBlbmRDaGlsZChyKSk6dD1DKSxvPSFuJiZbXSwoaT13LmV4ZWMoZSkpP1t0LmNyZWF0ZUVsZW1lbnQoaVsxXSldOihpPUFlKFtlXSx0LG8pLG8mJm8ubGVuZ3RoJiZjZShvKS5yZW1vdmUoKSxjZS5tZXJnZShbXSxpLmNoaWxkTm9kZXMpKSk7dmFyIHIsaSxvfSxjZS5mbi5sb2FkPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYT10aGlzLHM9ZS5pbmRleE9mKCIgIik7cmV0dXJuLTE8cyYmKHI9VHQoZS5zbGljZShzKSksZT1lLnNsaWNlKDAscykpLHYodCk/KG49dCx0PXZvaWQgMCk6dCYmIm9iamVjdCI9PXR5cGVvZiB0JiYoaT0iUE9TVCIpLDA8YS5sZW5ndGgmJmNlLmFqYXgoe3VybDplLHR5cGU6aXx8IkdFVCIsZGF0YVR5cGU6Imh0bWwiLGRhdGE6dH0pLmRvbmUoZnVuY3Rpb24oZSl7bz1hcmd1bWVudHMsYS5odG1sKHI/Y2UoIjxkaXY+IikuYXBwZW5kKGNlLnBhcnNlSFRNTChlKSkuZmluZChyKTplKX0pLmFsd2F5cyhuJiZmdW5jdGlvbihlLHQpe2EuZWFjaChmdW5jdGlvbigpe24uYXBwbHkodGhpcyxvfHxbZS5yZXNwb25zZVRleHQsdCxlXSl9KX0pLHRoaXN9LGNlLmV4cHIucHNldWRvcy5hbmltYXRlZD1mdW5jdGlvbih0KXtyZXR1cm4gY2UuZ3JlcChjZS50aW1lcnMsZnVuY3Rpb24oZSl7cmV0dXJuIHQ9PT1lLmVsZW19KS5sZW5ndGh9LGNlLm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLHUsbD1jZS5jc3MoZSwicG9zaXRpb24iKSxjPWNlKGUpLGY9e307InN0YXRpYyI9PT1sJiYoZS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxzPWMub2Zmc2V0KCksbz1jZS5jc3MoZSwidG9wIiksdT1jZS5jc3MoZSwibGVmdCIpLCgiYWJzb2x1dGUiPT09bHx8ImZpeGVkIj09PWwpJiYtMTwobyt1KS5pbmRleE9mKCJhdXRvIik/KGE9KHI9Yy5wb3NpdGlvbigpKS50b3AsaT1yLmxlZnQpOihhPXBhcnNlRmxvYXQobyl8fDAsaT1wYXJzZUZsb2F0KHUpfHwwKSx2KHQpJiYodD10LmNhbGwoZSxuLGNlLmV4dGVuZCh7fSxzKSkpLG51bGwhPXQudG9wJiYoZi50b3A9dC50b3Atcy50b3ArYSksbnVsbCE9dC5sZWZ0JiYoZi5sZWZ0PXQubGVmdC1zLmxlZnQraSksInVzaW5nImluIHQ/dC51c2luZy5jYWxsKGUsZik6Yy5jc3MoZil9fSxjZS5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbih0KXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT10P3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKGUpe2NlLm9mZnNldC5zZXRPZmZzZXQodGhpcyx0LGUpfSk7dmFyIGUsbixyPXRoaXNbMF07cmV0dXJuIHI/ci5nZXRDbGllbnRSZWN0cygpLmxlbmd0aD8oZT1yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49ci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LHt0b3A6ZS50b3Arbi5wYWdlWU9mZnNldCxsZWZ0OmUubGVmdCtuLnBhZ2VYT2Zmc2V0fSk6e3RvcDowLGxlZnQ6MH06dm9pZCAwfSxwb3NpdGlvbjpmdW5jdGlvbigpe2lmKHRoaXNbMF0pe3ZhciBlLHQsbixyPXRoaXNbMF0saT17dG9wOjAsbGVmdDowfTtpZigiZml4ZWQiPT09Y2UuY3NzKHIsInBvc2l0aW9uIikpdD1yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2Vsc2V7dD10aGlzLm9mZnNldCgpLG49ci5vd25lckRvY3VtZW50LGU9ci5vZmZzZXRQYXJlbnR8fG4uZG9jdW1lbnRFbGVtZW50O3doaWxlKGUmJihlPT09bi5ib2R5fHxlPT09bi5kb2N1bWVudEVsZW1lbnQpJiYic3RhdGljIj09PWNlLmNzcyhlLCJwb3NpdGlvbiIpKWU9ZS5wYXJlbnROb2RlO2UmJmUhPT1yJiYxPT09ZS5ub2RlVHlwZSYmKChpPWNlKGUpLm9mZnNldCgpKS50b3ArPWNlLmNzcyhlLCJib3JkZXJUb3BXaWR0aCIsITApLGkubGVmdCs9Y2UuY3NzKGUsImJvcmRlckxlZnRXaWR0aCIsITApKX1yZXR1cm57dG9wOnQudG9wLWkudG9wLWNlLmNzcyhyLCJtYXJnaW5Ub3AiLCEwKSxsZWZ0OnQubGVmdC1pLmxlZnQtY2UuY3NzKHIsIm1hcmdpbkxlZnQiLCEwKX19fSxvZmZzZXRQYXJlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9mZnNldFBhcmVudDt3aGlsZShlJiYic3RhdGljIj09PWNlLmNzcyhlLCJwb3NpdGlvbiIpKWU9ZS5vZmZzZXRQYXJlbnQ7cmV0dXJuIGV8fEp9KX19KSxjZS5lYWNoKHtzY3JvbGxMZWZ0OiJwYWdlWE9mZnNldCIsc2Nyb2xsVG9wOiJwYWdlWU9mZnNldCJ9LGZ1bmN0aW9uKHQsaSl7dmFyIG89InBhZ2VZT2Zmc2V0Ij09PWk7Y2UuZm5bdF09ZnVuY3Rpb24oZSl7cmV0dXJuIE0odGhpcyxmdW5jdGlvbihlLHQsbil7dmFyIHI7aWYoeShlKT9yPWU6OT09PWUubm9kZVR5cGUmJihyPWUuZGVmYXVsdFZpZXcpLHZvaWQgMD09PW4pcmV0dXJuIHI/cltpXTplW3RdO3I/ci5zY3JvbGxUbyhvP3IucGFnZVhPZmZzZXQ6bixvP246ci5wYWdlWU9mZnNldCk6ZVt0XT1ufSx0LGUsYXJndW1lbnRzLmxlbmd0aCl9fSksY2UuZWFjaChbInRvcCIsImxlZnQiXSxmdW5jdGlvbihlLG4pe2NlLmNzc0hvb2tzW25dPVllKGxlLnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oZSx0KXtpZih0KXJldHVybiB0PUdlKGUsbiksX2UudGVzdCh0KT9jZShlKS5wb3NpdGlvbigpW25dKyJweCI6dH0pfSksY2UuZWFjaCh7SGVpZ2h0OiJoZWlnaHQiLFdpZHRoOiJ3aWR0aCJ9LGZ1bmN0aW9uKGEscyl7Y2UuZWFjaCh7cGFkZGluZzoiaW5uZXIiK2EsY29udGVudDpzLCIiOiJvdXRlciIrYX0sZnVuY3Rpb24ocixvKXtjZS5mbltvXT1mdW5jdGlvbihlLHQpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGgmJihyfHwiYm9vbGVhbiIhPXR5cGVvZiBlKSxpPXJ8fCghMD09PWV8fCEwPT09dD8ibWFyZ2luIjoiYm9yZGVyIik7cmV0dXJuIE0odGhpcyxmdW5jdGlvbihlLHQsbil7dmFyIHI7cmV0dXJuIHkoZSk/MD09PW8uaW5kZXhPZigib3V0ZXIiKT9lWyJpbm5lciIrYV06ZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbImNsaWVudCIrYV06OT09PWUubm9kZVR5cGU/KHI9ZS5kb2N1bWVudEVsZW1lbnQsTWF0aC5tYXgoZS5ib2R5WyJzY3JvbGwiK2FdLHJbInNjcm9sbCIrYV0sZS5ib2R5WyJvZmZzZXQiK2FdLHJbIm9mZnNldCIrYV0sclsiY2xpZW50IithXSkpOnZvaWQgMD09PW4/Y2UuY3NzKGUsdCxpKTpjZS5zdHlsZShlLHQsbixpKX0scyxuP2U6dm9pZCAwLG4pfX0pfSksY2UuZWFjaChbImFqYXhTdGFydCIsImFqYXhTdG9wIiwiYWpheENvbXBsZXRlIiwiYWpheEVycm9yIiwiYWpheFN1Y2Nlc3MiLCJhamF4U2VuZCJdLGZ1bmN0aW9uKGUsdCl7Y2UuZm5bdF09ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMub24odCxlKX19KSxjZS5mbi5leHRlbmQoe2JpbmQ6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0aGlzLm9uKGUsbnVsbCx0LG4pfSx1bmJpbmQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5vZmYoZSxudWxsLHQpfSxkZWxlZ2F0ZTpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gdGhpcy5vbih0LGUsbixyKX0sdW5kZWxlZ2F0ZTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMub2ZmKGUsIioqIik6dGhpcy5vZmYodCxlfHwiKioiLG4pfSxob3ZlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm9uKCJtb3VzZWVudGVyIixlKS5vbigibW91c2VsZWF2ZSIsdHx8ZSl9fSksY2UuZWFjaCgiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IHJlc2l6ZSBzY3JvbGwgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBjb250ZXh0bWVudSIuc3BsaXQoIiAiKSxmdW5jdGlvbihlLG4pe2NlLmZuW25dPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIDA8YXJndW1lbnRzLmxlbmd0aD90aGlzLm9uKG4sbnVsbCxlLHQpOnRoaXMudHJpZ2dlcihuKX19KTt2YXIgZW49L15bXHNcdUZFRkZceEEwXSt8KFteXHNcdUZFRkZceEEwXSlbXHNcdUZFRkZceEEwXSskL2c7Y2UucHJveHk9ZnVuY3Rpb24oZSx0KXt2YXIgbixyLGk7aWYoInN0cmluZyI9PXR5cGVvZiB0JiYobj1lW3RdLHQ9ZSxlPW4pLHYoZSkpcmV0dXJuIHI9YWUuY2FsbChhcmd1bWVudHMsMiksKGk9ZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseSh0fHx0aGlzLHIuY29uY2F0KGFlLmNhbGwoYXJndW1lbnRzKSkpfSkuZ3VpZD1lLmd1aWQ9ZS5ndWlkfHxjZS5ndWlkKyssaX0sY2UuaG9sZFJlYWR5PWZ1bmN0aW9uKGUpe2U/Y2UucmVhZHlXYWl0Kys6Y2UucmVhZHkoITApfSxjZS5pc0FycmF5PUFycmF5LmlzQXJyYXksY2UucGFyc2VKU09OPUpTT04ucGFyc2UsY2Uubm9kZU5hbWU9ZmUsY2UuaXNGdW5jdGlvbj12LGNlLmlzV2luZG93PXksY2UuY2FtZWxDYXNlPUYsY2UudHlwZT14LGNlLm5vdz1EYXRlLm5vdyxjZS5pc051bWVyaWM9ZnVuY3Rpb24oZSl7dmFyIHQ9Y2UudHlwZShlKTtyZXR1cm4oIm51bWJlciI9PT10fHwic3RyaW5nIj09PXQpJiYhaXNOYU4oZS1wYXJzZUZsb2F0KGUpKX0sY2UudHJpbT1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT8iIjooZSsiIikucmVwbGFjZShlbiwiJDEiKX0sImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIGNlfSk7dmFyIHRuPWllLmpRdWVyeSxubj1pZS4kO3JldHVybiBjZS5ub0NvbmZsaWN0PWZ1bmN0aW9uKGUpe3JldHVybiBpZS4kPT09Y2UmJihpZS4kPW5uKSxlJiZpZS5qUXVlcnk9PT1jZSYmKGllLmpRdWVyeT10biksY2V9LCJ1bmRlZmluZWQiPT10eXBlb2YgZSYmKGllLmpRdWVyeT1pZS4kPWNlKSxjZX0pOwpqUXVlcnkubm9Db25mbGljdCgpOw=="}},"time_used":424,"timings":{"blocked":239,"dns":0,"connect":0,"send":0,"wait":95,"receive":90,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49518.081f9637b94ee62a6e6f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.117Z","timestamp":1785141584117,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49518.081f9637b94ee62a6e6f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b70-14e9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:20 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 51fcfb0f31a35913fcc962c544b5f039\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5353,"size_decoded":1929,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5353), with no line terminators","md5":"d7a9f60b8ae2b7f3ca613c9e5b32c1be","sha1":"96edacc2eaf0e2cf90be1c863bcdf71fce951db7","sha256":"62105e79933d1412be7816bc118e665a99e90c3d846b5e3282d35372ec43018a","sha512":"be8a4d2d71a8547c7dd2aa502370f205f86911c5def4816629a2da7cd82f3786e92dd78ecc49e89a9af136891ed67fb875ef4fcddcc07ccc31b5f51d430f4da3","ssdeep":"48:DVGIKVGI0GIKZGIpGIoVGIRGIqGIuGIjVGI0QVGIZGITZGI0LGI06GIHGI8GI/G7:D81CWQbawWxrGn5W+orw57Ur6Mpk98","tlshash":"12b1f676e8201aa675ba5a192380fad45034d022bf219ffff3c568168dcf1c6789381d","first_seen":"2026-03-24T10:46:27.490841Z","last_seen":"2026-07-27T14:53:25.838864Z","times_seen":1656,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8xLTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fMi02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tXzMtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV80LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fNS02YW5NOnZhcigtLWNvbG9yLXdoaXRlKTstLV82LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fNy02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tXzgtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLV85LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzEtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV8yLTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fMy02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzQtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV81LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fNi02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzctNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV84LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fOS02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApfS50di1jb250cm9sLWNoZWNrYm94ey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0udHYtY29udHJvbC1jaGVja2JveC0taW4tYWN0aW9uc3ttYXgtd2lkdGg6NTAlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1jaGVja2JveC0taW4tYWN0aW9uc3ttYXgtd2lkdGg6bm9uZX19LnR2LWNvbnRyb2wtY2hlY2tib3gsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0udHYtY29udHJvbC1jaGVja2JveC0tbm93cmFwLC50di1jb250cm9sLWNoZWNrYm94X19sYWJlbC0tbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0udHYtY29udHJvbC1jaGVja2JveF9faW5wdXR7aGVpZ2h0OjE4cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtib3JkZXItcmFkaXVzOjNweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtsaW5lLWhlaWdodDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZTt3aWR0aDoxOHB4fS50di1jb250cm9sLWNoZWNrYm94X19ib3g6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXItcmFkaXVzOjNweDtpbnNldC1pbmxpbmUtc3RhcnQ6NTAlO21hcmdpbi10b3A6LTlweDttYXJnaW4taW5saW5lLXN0YXJ0Oi05cHg7dG9wOjUwJTt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLGJvcmRlci1yYWRpdXMgLjM1cyBlYXNlfS50di1jb250cm9sLWNoZWNrYm94X19ib3g6YWZ0ZXIsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzAtNmFuTSk7Ym9yZGVyLXJhZGl1czozcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2luc2V0LWlubGluZS1zdGFydDowO3RvcDowO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4zNXMgZWFzZX0udHYtY29udHJvbC1jaGVja2JveF9fYm94IHN2Z3tkaXNwbGF5OmJsb2NrO2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLXRvcDotNnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6LTZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEycHg7c3Ryb2tlOiMwMDAwO3RyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2l0aW9uOnN0cm9rZSAuMzVzIGVhc2UgMW1zLHRyYW5zZm9ybSAuMzVzIGVhc2UgMW1zfS50di1jb250cm9sLWNoZWNrYm94X19sYWJlbHttYXJnaW4taW5saW5lLWVuZDoxMHB4O3doaXRlLXNwYWNlOm5vcm1hbH0udHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwtLXR3by1saW5lc3t3aWR0aDoxNTVweH0udHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwtLW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsLS1saWwtbGluZS1oZWlnaHR7bGluZS1oZWlnaHQ6MTZweDttYXgtd2lkdGg6ODAlO21pbi13aWR0aDo0NSV9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsKy50di1jb250cm9sLWNoZWNrYm94e21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtY29udHJvbC1jaGVja2JveCsudHYtY29udHJvbC1jaGVja2JveF9fbGFiZWx7bWFyZ2luLWlubGluZS1lbmQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHg7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDFleCAtIDI4cHgpfS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9fYm94LC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94e3dpbGwtY2hhbmdlOmJhY2tncm91bmQtY29sb3J9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWNoZWNrYm94OmhvdmVyIC50di1jb250cm9sLWNoZWNrYm94X19ib3h7d2lsbC1jaGFuZ2U6YmFja2dyb3VuZC1jb2xvcn19LnR2LWNvbnRyb2wtY2hlY2tib3g6YWN0aXZlIC50di1jb250cm9sLWNoZWNrYm94X19ib3g6YmVmb3JlLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXt3aWxsLWNoYW5nZTp0cmFuc2Zvcm0sYm9yZGVyLXJhZGl1c31AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDpiZWZvcmV7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtLGJvcmRlci1yYWRpdXN9fS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVyLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVye3dpbGwtY2hhbmdlOmJvcmRlci1jb2xvcn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzEtNmFuTSk7d2lsbC1jaGFuZ2U6Ym9yZGVyLWNvbG9yfX0udHYtY29udHJvbC1jaGVja2JveDphY3RpdmUgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlciwudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Zm9jdXMrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzItNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zLTZhbk0pfS50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLWNoZWNrYm94X19ib3gsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlciwudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX0udHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXtib3JkZXItcmFkaXVzOjUwJTt0cmFuc2Zvcm06c2NhbGUoMCl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzQtNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveCBzdmd7c3Ryb2tlOnZhcigtLV81LTZhbk0pO3RyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2l0aW9uLWRlbGF5Ojg3LjVtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKTt3aWxsLWNoYW5nZTpzdHJva2UsdHJhbnNmb3JtfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1jaGVja2JveDpob3ZlciAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94e2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzYtNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzctNmFuTSl9fS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94LC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cy12aXNpYmxlOmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV84LTZhbk0pfS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVyLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cy12aXNpYmxlOmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzktNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0W2Rpc2FibGVkXSsudHYtY29udHJvbC1jaGVja2JveF9fYm94e29wYWNpdHk6LjV9LnR2LWNvbnRyb2wtY2hlY2tib3guaS1lcnJvciAudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApfQ=="}},"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/32857.e4968cc906ac5769906a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.823Z","timestamp":1785141584823,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32857.e4968cc906ac5769906a.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-36c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1562bf9f8b332ebebf1d178edb052fd6\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":876,"size_decoded":1159,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (876), with no line terminators","md5":"2300c14fa93a6ca1be5ffcb4cde75b7a","sha1":"72f13b32bf8fc0e3ab8b60346fefa2fca04e68bd","sha256":"d1c022b9f3d492df3952eec63edac14172bf0bef9d6fc6d4b74ec034fb3daf44","sha512":"f696e9482d69b33dd34f340bf9db4d17972f5e08b58b5bd428647093fced8bfa93ad0aa0ae0ddb380e127ec490ea2c07363d59641c264138a29601add8b7c743","ssdeep":"","tlshash":"0d119088b301e03e7d0f2a3e439ac1dc62149852e9012f7db172d17044c57d676f252c","first_seen":"2026-06-30T21:57:43.416866Z","last_seen":"2026-07-27T12:48:39.691159Z","times_seen":222,"resource_available":false,"data":"LnN1bW1hcnktRTZ0eklRa1J7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQpKTtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmZsZXg7ZmxleDpub25lO2ZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFjaW5nOi40cHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MDtwYWRkaW5nLWJsb2NrOjAgMDtwYWRkaW5nLWlubGluZToxMnB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2lkdGg6MTAwJX0uc3VtbWFyeS1FNnR6SVFrUi5ob3ZlcmVkLUU2dHpJUWtSe2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc3VtbWFyeS1FNnR6SVFrUjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX19LnN1bW1hcnktRTZ0eklRa1I6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkpfS5jYXJldC1FNnR6SVFrUntoZWlnaHQ6MThweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1ibG9jazoycHggMnB4O21hcmdpbi1pbmxpbmU6YXV0byAwO3dpZHRoOjE4cHh9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/47632.33d2a3745af497e3da5d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.123Z","timestamp":1785141585123,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/47632.33d2a3745af497e3da5d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-b2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e05dbb4dfa97c9347f217fb67771170c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":178,"size_decoded":890,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"6b0e113b7611f749d459a146078f9a58","sha1":"5b1aec3af3fe370284f6a23557895bd0490a484c","sha256":"5d823f4989976ca71db5dbc63763c653f7f997d13757235fde75755413631b18","sha512":"93cc8381bee6b3f9f3ad64202f4c08c80830f96e99758b28c9a981feda509a38e4fd34bd149a5a7e549c7a7454930a4bdcf3e44a6d270087c2bcd027a72c82a0","ssdeep":"","tlshash":"7bc0801d13d4b410145701ef69e8662c247554fdf7136e5c36d4173b435fe1c0751970","first_seen":"2026-07-16T13:40:49.787877Z","last_seen":"2026-07-27T14:36:17.495376Z","times_seen":290,"resource_available":false,"data":"LmhpZGRlbi1uTXR4WFRYX3tvcGFjaXR5OjB9LmZhZGVJbldyYXBwZXItbk10eFhUWF97d2lkdGg6MTAwJX0uZmFkZUluV3JhcHBlci1uTXR4WFRYXy5pc0FuaW1hdGVkLW5NdHhYVFhfe3RyYW5zaXRpb246b3BhY2l0eSB2YXIoLS11aS1saWItZmFkZUluV3JhcHBlci10cmFuc2l0aW9uLWR1cmF0aW9uLC4zNXMpfQ=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/23669.a61971d84257c346bd5f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.814Z","timestamp":1785141584814,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/23669.a61971d84257c346bd5f.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-aa8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9ca77e5aa221e57ca9cfa10e559dcff4\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2728,"size_decoded":1649,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2728), with no line terminators","md5":"da3d6d05d2dc6bb0ff4b03eeae50a509","sha1":"971568eb9afbac7c18c9ca16e66bdf625523fedb","sha256":"7d4afa2f45d8b837f2049b2c41340a236d2c063efdfb60095bdd1e9bc5db27f2","sha512":"ca319be4af9c386f0b41df40efa6885fa6ebc3e8b804d6d26179b1f08f0e676aaf47163b09510a6848c93a02a544cc3319d21e4d3bc7761ee6244fd052c90d6a","ssdeep":"","tlshash":"4751fcc8a3587817a61b713dd78892ccd125a863fc980addfc62f190c3da7e0d7a9854","first_seen":"2026-06-30T21:57:43.387896Z","last_seen":"2026-07-27T12:48:39.685884Z","times_seen":223,"resource_available":false,"data":"LndyYXBwZXItcTU0VHd5Q097YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nLWJsb2NrOjZweCAycHg7cGFkZGluZy1pbmxpbmU6MTJweCAxMHB4O3doaXRlLXNwYWNlOm5vd3JhcH0ud3JhcHBlci1xNTRUd3lDTy5ob3ZlcmVkLXE1NFR3eUNPLC53cmFwcGVyLXE1NFR3eUNPOmFjdGl2ZXtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey53cmFwcGVyLXE1NFR3eUNPOmhvdmVye2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX19LndyYXBwZXItcTU0VHd5Q08uaG92ZXJlZC1xNTRUd3lDT3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LndyYXBwZXItcTU0VHd5Q086aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9fS53cmFwcGVyLXE1NFR3eUNPOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpKX0ud3JhcHBlci1xNTRUd3lDTzpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoyMHB4fS53cmFwcGVyLXE1NFR3eUNPIC5zd2l0Y2hXcmFwLXE1NFR3eUNPe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9LndyYXBwZXItcTU0VHd5Q08ud2l0aEljb24tcTU0VHd5Q08gLmxhYmVsUm93LXE1NFR3eUNPe3BhZGRpbmc6MH0uaWNvbi1xNTRUd3lDTywud3JhcHBlci1xNTRUd3lDTy53aXRoSWNvbi1xNTRUd3lDTyAubGFiZWwtcTU0VHd5Q08sLndyYXBwZXItcTU0VHd5Q08ud2l0aEljb24tcTU0VHd5Q08gLnN3aXRjaFdyYXAtcTU0VHd5Q097YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjhweH0uaWNvbi1xNTRUd3lDT3tqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmUtZW5kOjZweDt3aWR0aDoyOHB4fS5pY29uLXE1NFR3eUNPIHN2Z3tkaXNwbGF5OmJsb2NrfS5sYWJlbFJvdy1xNTRUd3lDT3tmbGV4OjEgMSBhdXRvO21pbi13aWR0aDowO3BhZGRpbmc6MnB4IDAgNnB4fS5sYWJlbC1xNTRUd3lDT3tmb250LXNpemU6MTRweDttYXJnaW4taW5saW5lLWVuZDoxMnB4O292ZXJmbG93OmhpZGRlbn0ubGFiZWxfZGlzYWJsZWQtcTU0VHd5Q097b3BhY2l0eTouNX0ubGFiZWxIaW50LXE1NFR3eUNPe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Y29udGFpbjpjb250ZW50O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW4tdG9wOjA7bWF4LWhlaWdodDowO29wYWNpdHk6MDtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4yNXMgZWFzZS1pbixtYXJnaW4tdG9wIC4yNXMgZWFzZS1pbixvcGFjaXR5IC4zNXMgbGluZWFyO3doaXRlLXNwYWNlOm5vcm1hbH0ubGFiZWxPbi1xNTRUd3lDTysubGFiZWxIaW50LXE1NFR3eUNPe21hcmdpbi10b3A6NHB4O21heC1oZWlnaHQ6MzRweDtvcGFjaXR5OjE7dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4ycyBlYXNlLW91dCxtYXJnaW4tdG9wIC4ycyBlYXNlLW91dCxvcGFjaXR5IC4zNXMgbGluZWFyfS5hY2Nlc3NpYmxlLXE1NFR3eUNPe291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5hY2Nlc3NpYmxlLXE1NFR3eUNPOmZvY3Vze291dGxpbmU6bm9uZX0uYWNjZXNzaWJsZS1xNTRUd3lDTzpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uYWNjZXNzaWJsZS1xNTRUd3lDTzphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6MX0uYWNjZXNzaWJsZS1xNTRUd3lDTzpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5hY2Nlc3NpYmxlLXE1NFR3eUNPOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWNjZXNzaWJsZS1xNTRUd3lDTzpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYWNjZXNzaWJsZS1xNTRUd3lDTzphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApO2JvcmRlci1yYWRpdXM6NnB4fQ=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/47092.c57238934a2f7a36a0c0.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.145Z","timestamp":1785141585145,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/47092.c57238934a2f7a36a0c0.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-b9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1cfad8f0b97034b14ef49ce8f6cc691a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":185,"size_decoded":890,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"24e74681705029f86b9d87bedc027aa5","sha1":"fe1386df90ebe4f07b9dff456b94337a883095c2","sha256":"202296674a1e160a78b7c4b60243b3ee3e435038df80806234e5d0c7ba5a45de","sha512":"c796dea4f074dc6dc1ce415b6f58c1074ecef040f75963d77b501466b6c7d01c2df3dd3c2c6f8a0aafe54ae942c597af1ff7e5a4e44fb78d5a1cc675f07e3206","ssdeep":"","tlshash":"9dc0121255062d0ac4a756a27971259410705417ad336d3fe17c3b314daa6c9299e586","first_seen":"2026-07-19T21:33:33.838584Z","last_seen":"2026-07-27T12:48:39.620018Z","times_seen":57,"resource_available":false,"data":"LmludGVyc2VjdGlvblpvbmUtRUlWMl9SZDB7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MH0uaW50ZXJzZWN0aW9uRGV0ZWN0b3ItRUlWMl9SZDB7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGV9LmxlZnQtRUlWMl9SZDB7aW5zZXQtaW5saW5lLXN0YXJ0OjB9LnJpZ2h0LUVJVjJfUmQwe2luc2V0LWlubGluZS1lbmQ6MH0="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/45277.ec6e36193d139c5c5f7b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.535Z","timestamp":1785141585535,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/45277.ec6e36193d139c5c5f7b.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-2b88\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 58ef5405516837b5095f526df0a41f42\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":11144,"size_decoded":5155,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"e18907ad974965570fff5fe138910b3e","sha1":"42a83b0c792ca4963052a4c61df2709d9d009ff6","sha256":"ec78fef0e90dea389a0c9b780256ce3c56ad02e3dc55e8821641c312af8f6f82","sha512":"e5ec15969c1036dbd81bb3f2cc8eee0c72ca47617098bacff7c655a4f45e4ecd8c7910ba484be4a0f780329316de5b0b67c8cbe7bb41d5f259e6dd3deeb1ddba","ssdeep":"192:j/f5hxzIhzOTre4LiZa6CWwvIe1ySWu3XXfBIrbgouzQBFivV+GRe2t6RufLKPXZ:j/f5Lz6zOTrMZcW62Sd3nfBIrbVu8BF1","tlshash":"7132c5a5328240ee53e617d53835464b9314bd5b39cb9ca8b16c58cf286e88e36fd738","first_seen":"2026-07-17T03:30:51.165572Z","last_seen":"2026-07-27T14:50:15.470475Z","times_seen":105,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNDUyNzddLHsxMDAodCxlLG4pe24uZChlLHtjdWJpY0JlemllckhpdFRlc3Q6KCk9PnIsY3ViaWNCZXppZXJQb2ludDooKT0+bCxleHRlbmRRdWFkcm9CZXppZXI6KCk9PmgscXVhZHJvQmV6aWVySGl0VGVzdDooKT0+c30pO3ZhciBpLGE9big3MDA3NCksbz1uKDY0MDc0NCk7ZnVuY3Rpb24gcyh0LGUsbixpLG8pe2NvbnN0IHM9bi5zdWJ0cmFjdCh0KS5sZW5ndGgoKStuLnN1YnRyYWN0KGUpLmxlbmd0aCgpLGw9TWF0aC5tYXgoMy9zLC4wMik7bGV0IHI7Zm9yKGxldCBzPTA7O3MrPWwpe3M+MSYmKHM9MSk7Y29uc3QgbD10LnNjYWxlZCgoMS1zKSooMS1zKSksaD1uLnNjYWxlZCgyKnMqKDEtcykpLGQ9ZS5zY2FsZWQocypzKSx1PWwuYWRkKGgpLmFkZChkKTtpZih2b2lkIDAhPT1yKXtpZigoMCxhLmRpc3RhbmNlVG9TZWdtZW50KSh1LHIsaSkuZGlzdGFuY2U8bylyZXR1cm4hMH1lbHNlIGlmKHUuc3VidHJhY3QoaSkubGVuZ3RoKCk8bylyZXR1cm4hMDtpZihyPXUsMT09PXMpYnJlYWt9cmV0dXJuITF9ZnVuY3Rpb24gbCh0LGUsbixpLGEpe2E9KDAsby5jbGFtcCkoYSwwLDEpO2NvbnN0IHM9dC5zY2FsZWQoKDEtYSkqKDEtYSkqKDEtYSkpLGw9ZS5zY2FsZWQoMyooMS1hKSooMS1hKSphKSxyPW4uc2NhbGVkKDMqKDEtYSkqYSphKSxoPWkuc2NhbGVkKGEqYSphKTtyZXR1cm4gcy5hZGQobCkuYWRkKHIpLmFkZChoKX1mdW5jdGlvbiByKHQsZSxuLGksbyxzKXtjb25zdCByPWUuc3VidHJhY3QodCkubGVuZ3RoKCkrbi5zdWJ0cmFjdChlKS5sZW5ndGgoKStpLnN1YnRyYWN0KG4pLmxlbmd0aCgpLGg9TWF0aC5tYXgoMy9yLC4wMik7bGV0IGQ7Zm9yKGxldCByPTA7O3IrPWgpe2NvbnN0IGg9bCh0LGUsbixpLHIpO2lmKHZvaWQgMCE9PWQpe2lmKCgwLGEuZGlzdGFuY2VUb1NlZ21lbnQpKGgsZCxvKS5kaXN0YW5jZTxzKXJldHVybiEwfWVsc2UgaWYoaC5zdWJ0cmFjdChvKS5sZW5ndGgoKTxzKXJldHVybiEwO2lmKGQ9aCxyPj0xKWJyZWFrfXJldHVybiExfWZ1bmN0aW9uIGgodCxlLG4saSxhKXtjb25zdCBvPW4uc3VidHJhY3QodCkubGVuZ3RoKCkrbi5zdWJ0cmFjdChlKS5sZW5ndGgoKTtpZighbylyZXR1cm5bXTtjb25zdCBzPWZ1bmN0aW9uKHQsZSxuLGksYSl7Y29uc3Qgbz1bXSxzPWQodC55LGUueSxuLnksMCkuY29uY2F0KGQodC55LGUueSxuLnksYSkpO2ZvcihsZXQgYT0wO2E8cy5sZW5ndGg7YSsrKXtjb25zdCBsPXUodC54LGUueCxuLngsc1thXSk7bD49MCYmbDw9aSYmby5wdXNoKHNbYV0pfWNvbnN0IGw9ZCh0LngsZS54LG4ueCwwKS5jb25jYXQoZCh0LngsZS54LG4ueCxpKSk7Zm9yKGxldCBpPTA7aTxsLmxlbmd0aDtpKyspe2NvbnN0IHM9dSh0LnksZS55LG4ueSxsW2ldKTtzPj0wJiZzPD1hJiZvLnB1c2gobFtpXSl9cmV0dXJuIG99KHQsZSxuLGksYSkuZmlsdGVyKCh0PT50PjEpKS5zb3J0KCgodCxlKT0+dC1lKSk7ZS54Pj0wJiZlLng8PWkmJmUueT49MCYmZS55PD1hJiZzLnVuc2hpZnQoMSk7Y29uc3QgbD0zL28scj1bXTtmb3IobGV0IGk9MDtpPHMubGVuZ3RoLTE7aSs9Mil7bGV0IGE9bCxvPXNbaV0saD1zW2krMV0rYTtjb25zdCBkPVtdO2Zvcig7bzw9aDspe2NvbnN0IGk9dC5zY2FsZWQoKDEtbykqKDEtbykpLHM9bi5zY2FsZWQoMipvKigxLW8pKSxsPWUuc2NhbGVkKG8qbykscj1pLmFkZChzKS5hZGQobCk7aWYoZC5sZW5ndGg+MCl7ZFtkLmxlbmd0aC0xXS5zdWJ0cmFjdChyKS5sZW5ndGgoKTwyJiYoaCs9YSxhKj0yKX1kLnB1c2gociksbys9YX1kLmxlbmd0aD4wJiZyLnB1c2goZCl9cmV0dXJuIHJ9ZnVuY3Rpb24gZCh0LGUsbixpKXtjb25zdCBhPVtdLG89dC0yKm4rZSxzPTIqbi0yKnQsbD10LWk7aWYoTWF0aC5hYnMobyk+MWUtOCl7Y29uc3QgdD1zKnMtNCpvKmw7dD49MCYmKGEucHVzaCgoLXMrTWF0aC5zcXJ0KHQpKS8oMipvKSksYS5wdXNoKCgtcy1NYXRoLnNxcnQodCkpLygyKm8pKSl9ZWxzZSBhLnB1c2goLWwvcyk7cmV0dXJuIGF9ZnVuY3Rpb24gdSh0LGUsbixpKXtyZXR1cm4oMS1pKSooMS1pKSp0KzIqKDEtaSkqaSpuK2kqaSplfSFmdW5jdGlvbih0KXt0W3QuTWF4SGl0VGVzdFNlZ21lbnRzPTUwXT0iTWF4SGl0VGVzdFNlZ21lbnRzIn0oaXx8KGk9e30pKX0sNzE2MDIxKHQsZSxuKXtuLmQoZSx7aW50ZXJzZWN0TGluZVdpdGhWaWV3cG9ydDooKT0+c30pO3ZhciBpPW4oNzM2NTMxKTtmdW5jdGlvbiBhKHQsZSxuKXtyZXR1cm4gdD49ZSYmdDw9bj90Om51bGx9ZnVuY3Rpb24gbyh0LGUsbixpKXtyZXR1cm4gTWF0aC5zaWduKHQueC1lLngpPT09TWF0aC5zaWduKG4ueC1pLngpJiZNYXRoLnNpZ24odC55LWUueSk9PT1NYXRoLnNpZ24obi55LWkueSl9ZnVuY3Rpb24gcyh0LGUsbixzLGwscixoKXtjb25zdCBkPXQueD49MCYmdC54PD1sJiZ0Lnk+PTAmJnQueTw9cix1PWUueD49MCYmZS54PD1sJiZlLnk+PTAmJmUueTw9cjtpZihkJiZ1JiYhbiYmIXMpcmV0dXJuW3QsZV07aWYodC54PDAmJmUueDwwJiYodC54PGUueD8hczohbil8fHQueD5sJiZlLng+bCYmKHQueDxlLng/IW46IXMpfHx0Lnk8MCYmZS55PDAmJih0Lnk8ZS55PyFzOiFuKXx8dC55PnImJmUueT5yJiYodC55PGUueT8hbjohcykpcmV0dXJuIG51bGw7Y29uc3QgYz1bXTtpZih0Lng9PT1lLngpe2lmKHQueDwwfHx0Lng+bClyZXR1cm4gbnVsbDt0Lnk8ZS55P2MucHVzaChuZXcgaS5Qb2ludCh0LngsMD09PWg/MDp0Lnk8MD90LnklaDotKGgtdC55JWgpKSxuZXcgaS5Qb2ludChlLngscikpOmMucHVzaChuZXcgaS5Qb2ludCh0LngsMD09PWg/cjp0Lnk+cj9yKyh0LnktciklaDpyKyhoLShyLXQueSklaCkpLG5ldyBpLlBvaW50KGUueCwwKSl9ZWxzZSBpZih0Lnk9PT1lLnkpe2lmKHQueTwwfHx0Lnk+cilyZXR1cm4gbnVsbAo7dC54PGUueD9jLnB1c2gobmV3IGkuUG9pbnQoMD09PWg/MDp0Lng8MD90LnglaDotKGgtdC54JWgpLHQueSksbmV3IGkuUG9pbnQobCxlLnkpKTpjLnB1c2gobmV3IGkuUG9pbnQoMD09PWg/bDp0Lng+bD9sKyh0LngtbCklaDpsKyhoLShsLXQueCklaCksdC55KSxuZXcgaS5Qb2ludCgwLGUueSkpfWVsc2V7Y29uc3Qgbz0oZS55LXQueSkvKGUueC10LngpLHM9dC55LW8qdC54O2xldCBkPTAsdT0wO2NvbnN0IHg9YShzLDAscik7aWYobnVsbCE9PXgpaWYoaD4wJiYodC54PD0wfHxuJiZ0Lng8ZS54KSl7Y29uc3QgZT10Lng8PTA/TWF0aC5zcXJ0KE1hdGgucG93KDAtdC54LDIpK01hdGgucG93KHgtdC55LDIpKSVoOmgtTWF0aC5zcXJ0KE1hdGgucG93KDAtdC54LDIpK01hdGgucG93KHgtdC55LDIpKSVoO2Q9TWF0aC5jb3MoTWF0aC5hdGFuKG8pKSplLHU9bypkLGMucHVzaChuZXcgaS5Qb2ludCgtZCx4LXUpKX1lbHNlIGMucHVzaChuZXcgaS5Qb2ludCgwLHgpKTtjb25zdCBwPWEobypsK3MsMCxyKTtpZihudWxsIT09cClpZihoPjAmJih0Lng+PWx8fG4mJnQueD5lLngpKXtjb25zdCBlPXQueD49bD9NYXRoLnNxcnQoTWF0aC5wb3codC54LWwsMikrTWF0aC5wb3codC55LXAsMikpJWg6aC1NYXRoLnNxcnQoTWF0aC5wb3codC54LWwsMikrTWF0aC5wb3codC55LXAsMikpJWg7ZD1NYXRoLmNvcyhNYXRoLmF0YW4obykpKmUsdT1vKmQsYy5wdXNoKG5ldyBpLlBvaW50KGwrZCxwK3UpKX1lbHNlIGMucHVzaChuZXcgaS5Qb2ludChsLHApKTtjb25zdCB5PWEoLXMvbywwLGwpO2lmKG51bGwhPT15JiYoMCE9PXl8fDAhPT14KSlpZihoPjAmJih0Lnk8PTB8fG4mJnQueTxlLnkpKXtjb25zdCBlPXQueTw9MD9NYXRoLnNxcnQoTWF0aC5wb3codC54LXksMikrTWF0aC5wb3codC55LTAsMikpJWg6aC1NYXRoLnNxcnQoTWF0aC5wb3codC54LXksMikrTWF0aC5wb3codC55LTAsMikpJWg7ZD1NYXRoLmNvcyhNYXRoLmF0YW4obykpKmUsdT1vKmQsYy5wdXNoKG5ldyBpLlBvaW50KHktTWF0aC5zaWduKG8pKmQsLU1hdGguc2lnbihvKSp1KSl9ZWxzZSBjLnB1c2gobmV3IGkuUG9pbnQoeSwwKSk7Y29uc3QgZj1hKChyLXMpL28sMCxsKTtpZihudWxsIT09ZiYmKDAhPT1mfHxwIT09cikpaWYoaD4wJiYodC55Pj1yfHxuJiZ0Lnk+ZS55KSl7Y29uc3QgZT10Lnk+PXI/TWF0aC5zcXJ0KE1hdGgucG93KHQueC1mLDIpK01hdGgucG93KHQueS1yLDIpKSVoOmgtTWF0aC5zcXJ0KE1hdGgucG93KHQueC1mLDIpK01hdGgucG93KHQueS1yLDIpKSVoO2Q9TWF0aC5jb3MoTWF0aC5hdGFuKG8pKSplLHU9bypkLGMucHVzaChuZXcgaS5Qb2ludChmK01hdGguc2lnbihvKSpkLHIrTWF0aC5zaWduKG8pKnUpKX1lbHNlIGMucHVzaChuZXcgaS5Qb2ludChmLHIpKX1pZihjLmxlbmd0aDwxKXJldHVybiBudWxsO2lmKGMubGVuZ3RoPDImJmMucHVzaChjWzBdKSwhbiYmZCl7cmV0dXJuW3QsbyhjWzBdLGNbMV0sdCxlKT9jWzFdOmNbMF1dfWlmKCFzJiZ1KXtyZXR1cm5bbyhjWzBdLGNbMV0sdCxlKT9jWzBdOmNbMV0sZV19cmV0dXJuIG8oY1swXSxjWzFdLHQsZSk/W2NbMF0sY1sxXV06W2NbMV0sY1swXV19fSw1NzI3OTYodCxlLG4pe24uZChlLHtQYXJhbGxlbENoYW5uZWxSZW5kZXJlcjooKT0+eX0pO3ZhciBpPW4oNzM3MzcxKSxhPW4oNzY4MzA1KSxvPW4oNzM2NTMxKSxzPW4oNzAwNzQpLGw9bigzNTE5MDApLHI9bigyNjA2OSksaD1uKDc2MyksZD1uKDYwNDIxNCksdT1uKDc4NjQzNiksYz1uKDcxNjAyMSkseD1uKDE1MTIxKSxwPW4oOTM0MzA1KTtjbGFzcyB5IGV4dGVuZHMgcC5CaXRtYXBDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKCksdGhpcy5fZGF0YT1udWxsLHRoaXMuX2JhY2tncm91bmRQb2x5Z29uPW51bGwsdGhpcy5fY2xpcHBlZExpbmVzPW5ldyBNYXAsdGhpcy5faGl0dGVzdFJlc3VsdD10fHxuZXcgaC5IaXRUZXN0UmVzdWx0KGguSGl0VGFyZ2V0Lk1vdmVQb2ludCksdGhpcy5fYmFja0hpdHRlc3RSZXN1bHQ9ZXx8bmV3IGguSGl0VGVzdFJlc3VsdChoLkhpdFRhcmdldC5Nb3ZlUG9pbnRCYWNrZ3JvdW5kKX1zZXREYXRhKHQpe3RoaXMuX2RhdGE9dCx0aGlzLl9iYWNrZ3JvdW5kUG9seWdvbj1udWxsLHRoaXMuX2NsaXBwZWRMaW5lcy5jbGVhcigpfWhpdFRlc3QodCxlKXtpZihudWxsPT09dGhpcy5fZGF0YSlyZXR1cm4gbnVsbDtjb25zdHtsaW5lMTpuLGxpbmUyOmksbWlkZGxlTGluZTpvfT10aGlzLl9kYXRhLGw9ZS5tZWRpYVNpemUscj0oMCxkLmludGVyYWN0aW9uVG9sZXJhbmNlKSgpLmxpbmU7Zm9yKGNvbnN0IGUgb2ZbbixpLG9dKXtpZighZSljb250aW51ZTtjb25zdCBuPXRoaXMuX2dldENsaXBwZWRMaW5lKGUsdGhpcy5fZGF0YSxsKTtpZihuKXtpZigoMCxzLmRpc3RhbmNlVG9TZWdtZW50KShuLnBvaW50c1swXSxuLnBvaW50c1sxXSx0KS5kaXN0YW5jZTw9cilyZXR1cm4gdGhpcy5faGl0dGVzdFJlc3VsdH19aWYodGhpcy5fZGF0YS5oaXR0ZXN0T25CYWNrZ3JvdW5kJiZ0aGlzLl9kYXRhLmZpbGxCYWNrZ3JvdW5kKXtjb25zdCBlPXRoaXMuX2dldEJhY2tncm91bmRQb2x5Z29uKHRoaXMuX2RhdGEsbCk7aWYoZS5sZW5ndGg+MCYmKDAsYS5wb2ludEluUG9seWdvbikodCxlKSlyZXR1cm4gdGhpcy5fYmFja0hpdHRlc3RSZXN1bHR9cmV0dXJuIG51bGx9X2RyYXdJbXBsKHQpe2lmKG51bGw9PT10aGlzLl9kYXRhKXJldHVybjtjb25zdHtsaW5lMTplLGxpbmUyOm4sbWlkZGxlTGluZTppLHNraXBMaW5lczphLHNraXBUb3BMaW5lOm8sZmlsbEJhY2tncm91bmQ6cyxiYWNrQ29sb3I6bH09dGhpcy5fZGF0YSxyPXQuY29udGV4dDtyLmxpbmVDYXA9InJvdW5kIjtjb25zdCBoPXRoaXMuX2RhdGE7aWYocyYmbil7Y29uc3QgZT10aGlzLl9nZXRCYWNrZ3JvdW5kUG9seWdvbih0aGlzLl9kYXRhLHQubWVkaWFTaXplKTtpZihlLmxlbmd0aD4wKXtyLmJlZ2luUGF0aCgpO3tjb25zdCBuPWVbMF0ueCp0Lmhvcml6b250YWxQaXhlbFJhdGlvLGk9ZVswXS55KnQudmVydGljYWxQaXhlbFJhdGlvO3IubW92ZVRvKG4saSl9Zm9yKGxldCBuPTE7bjxlLmxlbmd0aDtuKyspewpjb25zdCBpPWVbbl0ueCp0Lmhvcml6b250YWxQaXhlbFJhdGlvLGE9ZVtuXS55KnQudmVydGljYWxQaXhlbFJhdGlvO3IubGluZVRvKGksYSl9ci5maWxsU3R5bGU9bCxyLmZpbGwoKX19dm9pZCAwIT09aC5leGNsdWRlQm91bmRhcmllcyYmKHIuc2F2ZSgpLCgwLHguYWRkRXhjbHVzaW9uQXJlYSkocix0LGguZXhjbHVkZUJvdW5kYXJpZXMpKSxhfHx0aGlzLl9kcmF3TGluZSh0LGUsdGhpcy5fZGF0YSksYXx8b3x8IW58fHRoaXMuX2RyYXdMaW5lKHQsbix0aGlzLl9kYXRhKSxpJiYhdGhpcy5fZGF0YS5za2lwTGluZXMmJnRoaXMuX2RyYXdMaW5lKHQsaSx0aGlzLl9kYXRhKSx2b2lkIDAhPT1oLmV4Y2x1ZGVCb3VuZGFyaWVzJiZyLnJlc3RvcmUoKX1fZHJhd0xpbmUodCxlLG4pe2NvbnN0IGk9dGhpcy5fZ2V0Q2xpcHBlZExpbmUoZSxuLHQubWVkaWFTaXplKTtpZighaSlyZXR1cm47Y29uc3QgYT10LmNvbnRleHQ7YS5zdHJva2VTdHlsZT1pLmNvbG9yLGEubGluZVdpZHRoPWEubGluZVdpZHRoPU1hdGgubWF4KDEsTWF0aC5mbG9vcihpLmxpbmVXaWR0aCp0Lmhvcml6b250YWxQaXhlbFJhdGlvKSksYS5saW5lQ2FwPWkubGluZVN0eWxlPT09ci5MSU5FU1RZTEVfU09MSUQ/InJvdW5kIjoiYnV0dCIsKDAsdS5zZXRMaW5lU3R5bGUpKGEsaS5saW5lU3R5bGUpLGEuc3Ryb2tlU3R5bGU9aS5jb2xvcjtjb25zdFtvLHNdPWkucG9pbnRzLGw9by54KnQuaG9yaXpvbnRhbFBpeGVsUmF0aW8saD1vLnkqdC52ZXJ0aWNhbFBpeGVsUmF0aW8sZD1zLngqdC5ob3Jpem9udGFsUGl4ZWxSYXRpbyxjPXMueSp0LnZlcnRpY2FsUGl4ZWxSYXRpbzsoMCx1LmRyYXdQaXhlbFBlcmZlY3RMaW5lKShhLGwsaCxkLGMpfV9nZXRDbGlwcGVkTGluZSh0LGUsbil7bGV0IGE9dGhpcy5fY2xpcHBlZExpbmVzLmdldCh0KTtpZih2b2lkIDA9PT1hKXtjb25zdHtsaW5lV2lkdGg6byxsaW5lU3R5bGU6cyxwb2ludHM6W2wscl19PXQ7bGV0IGg9ITEsZD0hMTtsLnghPT1yLngmJih7ZXh0ZW5kTGVmdDpoLGV4dGVuZFJpZ2h0OmR9PWUpO2NvbnN0IHg9KDAsYy5pbnRlcnNlY3RMaW5lV2l0aFZpZXdwb3J0KShsLHIsaCxkLG4ud2lkdGgsbi5oZWlnaHQsKDAsaS5kZWZhdWx0KSgoMCx1LmNvbXB1dGVEYXNoUGF0dGVybikobyxzKSkpO2E9bnVsbD09eD9udWxsOnsuLi50LHBvaW50czp4fSx0aGlzLl9jbGlwcGVkTGluZXMuc2V0KHQsYSl9cmV0dXJuIGF9X2dldEJhY2tncm91bmRQb2x5Z29uKHQsZSl7cmV0dXJuIHRoaXMuX2JhY2tncm91bmRQb2x5Z29ufHwodGhpcy5fYmFja2dyb3VuZFBvbHlnb249dGhpcy5fZ2V0QmFja2dyb3VuZFBvbHlnb25JbXBsKHQsZSk/P1tdKSx0aGlzLl9iYWNrZ3JvdW5kUG9seWdvbn1fZ2V0QmFja2dyb3VuZFBvbHlnb25JbXBsKHQsZSl7aWYodm9pZCAwPT09dC5saW5lMilyZXR1cm4gbnVsbDtjb25zdFtuLGldPXQubGluZTEucG9pbnRzLFthLGxdPXQubGluZTIucG9pbnRzO2lmKCgwLG8uZXF1YWxQb2ludHMpKG4saSl8fCgwLG8uZXF1YWxQb2ludHMpKGEsbCl8fCgwLHMuZGlzdGFuY2VUb0xpbmUpKG4saSxhKS5kaXN0YW5jZTwxZS02fHwoMCxzLmRpc3RhbmNlVG9MaW5lKShuLGksbCkuZGlzdGFuY2U8MWUtNilyZXR1cm4gbnVsbDtpZihlLndpZHRoPD0wfHxlLmhlaWdodDw9MClyZXR1cm4gbnVsbDtsZXQgcj1bbmV3IG8uUG9pbnQoMCwwKSxuZXcgby5Qb2ludChlLndpZHRoLDApLG5ldyBvLlBvaW50KGUud2lkdGgsZS5oZWlnaHQpLG5ldyBvLlBvaW50KDAsZS5oZWlnaHQpXTtyZXR1cm4gcj1mKHIsbixpLGwpLHQuZXh0ZW5kUmlnaHR8fChyPWYocixpLGwsYSkpLHI9ZihyLGwsYSxuKSx0LmV4dGVuZExlZnR8fChyPWYocixhLG4saSkpLHJ9fWZ1bmN0aW9uIGYodCxlLG4saSl7cmV0dXJuIG51bGwhPT10PygwLGwuaW50ZXJzZWN0UG9seWdvbkFuZEhhbGZwbGFuZSkodCwoMCxvLmhhbGZwbGFuZVRocm91Z2hQb2ludCkoKDAsby5saW5lVGhyb3VnaFBvaW50cykoZSxuKSxpKSk6bnVsbH19LDU0MDg0NSh0LGUsbil7bi5kKGUse1ZlcnRpY2FsTGluZVJlbmRlcmVyOigpPT5yfSk7dmFyIGk9big3NjMpLGE9big3ODY0MzYpLG89big2MDQyMTQpLHM9bigxNTEyMSksbD1uKDkzNDMwNSk7Y2xhc3MgciBleHRlbmRzIGwuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2RhdGE9bnVsbCx0aGlzLl9oaXRUZXN0PW5ldyBpLkhpdFRlc3RSZXN1bHQoaS5IaXRUYXJnZXQuTW92ZVBvaW50KX1zZXREYXRhKHQpe3RoaXMuX2RhdGE9dH1zZXRIaXRUZXN0KHQpe3RoaXMuX2hpdFRlc3Q9dH1oaXRUZXN0KHQpe2lmKG51bGw9PT10aGlzLl9kYXRhfHxudWxsPT09dGhpcy5faGl0VGVzdClyZXR1cm4gbnVsbDtjb25zdCBlPSgwLG8uaW50ZXJhY3Rpb25Ub2xlcmFuY2UpKCkubGluZSxuPU1hdGguYWJzKHQueC10aGlzLl9kYXRhLngpPD1lK3RoaXMuX2RhdGEubGluZXdpZHRoLzIsaT12b2lkIDA9PT10aGlzLl9kYXRhLnRvcHx8dGhpcy5fZGF0YS50b3AtdC55PD1lLGE9dm9pZCAwPT09dGhpcy5fZGF0YS5ib3R0b218fHQueS10aGlzLl9kYXRhLmJvdHRvbTw9ZTtyZXR1cm4gbiYmaSYmYT90aGlzLl9oaXRUZXN0Om51bGx9X2RyYXdJbXBsKHQpe2lmKG51bGw9PT10aGlzLl9kYXRhfHx0aGlzLl9kYXRhLmxpbmV3aWR0aDw9MClyZXR1cm47Y29uc3R7Y29udGV4dDplLGhvcml6b250YWxQaXhlbFJhdGlvOm4sdmVydGljYWxQaXhlbFJhdGlvOmksbWVkaWFTaXplOm99PXQ7aWYodGhpcy5fZGF0YS54PC10aGlzLl9kYXRhLmxpbmV3aWR0aC8yfHx0aGlzLl9kYXRhLng+by53aWR0aCt0aGlzLl9kYXRhLmxpbmV3aWR0aC8yKXJldHVybjtlLmxpbmVDYXA9ImJ1dHQiLGUuc3Ryb2tlU3R5bGU9dGhpcy5fZGF0YS5jb2xvcixlLmxpbmVXaWR0aD1NYXRoLm1heCgxLE1hdGguZmxvb3IodGhpcy5fZGF0YS5saW5ld2lkdGgqbikpLHZvaWQgMCE9PXRoaXMuX2RhdGEubGluZXN0eWxlJiYoMCxhLnNldExpbmVTdHlsZSkoZSx0aGlzLl9kYXRhLmxpbmVzdHlsZSkKO2NvbnN0IGw9dm9pZCAwIT09dGhpcy5fZGF0YS50b3A/TWF0aC5tYXgodGhpcy5fZGF0YS50b3AsMCk6MCxyPXZvaWQgMCE9PXRoaXMuX2RhdGEuYm90dG9tP01hdGgubWluKHRoaXMuX2RhdGEuYm90dG9tLG8uaGVpZ2h0KTpvLmhlaWdodCxoPU1hdGgucm91bmQodGhpcy5fZGF0YS54Km4pLGQ9TWF0aC5mbG9vcihsKmkpLHU9TWF0aC5jZWlsKHIqaSksYz10aGlzLl9kYXRhLmV4Y2x1ZGVCb3VuZGFyaWVzO3ZvaWQgMCE9PWMmJigwLHMuYWRkRXhjbHVzaW9uQXJlYUJ5U2NvcGUpKHQsYyksKDAsYS5kcmF3VmVydGljYWxMaW5lKShlLGgsZCx1KX19fSw3NDIxNDIodCxlLG4pe24uZChlLHtwcmVwYXJlTGluZWFyUmVncmVzc2lvblJlbmRlcmVyc0RhdGE6KCk9Pmh9KTt2YXIgaT1uKDEzODYzOCksYT1uKDczNjUzMSksbz1uKDg4NDI4KSxzPW4oNjYwMTYxKSxsPW4oOTI2MTQ5KSxyPW4oMTY4MjU4KTtmdW5jdGlvbiBoKHQsZSl7Y29uc3Qgbj17bGluZXM6W10scGVhcnNvbnM6bnVsbH07aWYoIWUucHJvcGVydGllcygpLnZpc2libGUudmFsdWUoKSlyZXR1cm4gbjtjb25zdCBoPXQudGltZVNjYWxlKCksZD1lLnByaWNlU2NhbGUoKSx1PXQubWFpblNlcmllcygpLmZpcnN0QmFyKCk7aWYoIWR8fGQuaXNFbXB0eSgpfHxoLmlzRW1wdHkoKXx8IXUpcmV0dXJuIG47Y29uc3QgYz1lLnN0YXJ0SW5kZXgoKSx4PWUuZW5kSW5kZXgoKTtpZihudWxsPT09Y3x8bnVsbD09PXgpcmV0dXJuIG47Y29uc3QgcD1bZS5iYXNlTGluZSgpLGUuZG93bkxpbmUoKSxlLnVwTGluZSgpXSx5PU1hdGgucm91bmQoaC5pbmRleFRvQ29vcmRpbmF0ZShjKSksZj1NYXRoLnJvdW5kKGguaW5kZXhUb0Nvb3JkaW5hdGUoeCkpLGc9ZS5wcm9wZXJ0aWVzKCksXz1bZy5zdHlsZXMuYmFzZUxpbmUsZy5zdHlsZXMuZG93bkxpbmUsZy5zdHlsZXMudXBMaW5lXSx3PXVbNF07Zm9yKGxldCB0PTA7dDxwLmxlbmd0aDt0Kyspe2lmKChfW3RdLmRpc3BsYXkudmFsdWUoKSZyLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUGFuZSkhPT1yLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUGFuZSljb250aW51ZTtjb25zdCBlPSgwLGkuZW5zdXJlTm90TnVsbCkocFt0XSkuc3RhcnRQcmljZSxvPSgwLGkuZW5zdXJlTm90TnVsbCkocFt0XSkuZW5kUHJpY2U7aWYodm9pZCAwPT09ZXx8dm9pZCAwPT09byljb250aW51ZTtjb25zdCBsPWQucHJpY2VUb0Nvb3JkaW5hdGUoZSx3KSxoPWQucHJpY2VUb0Nvb3JkaW5hdGUobyx3KSx1PXtwb2ludHM6W25ldyBhLlBvaW50KHksbCksbmV3IGEuUG9pbnQoZixoKV0sY29sb3I6X1t0XS5jb2xvci52YWx1ZSgpLGxpbmV3aWR0aDpfW3RdLmxpbmV3aWR0aC52YWx1ZSgpLGxpbmVzdHlsZTpfW3RdLmxpbmVzdHlsZS52YWx1ZSgpLGV4dGVuZGxlZnQ6ITEsZXh0ZW5kcmlnaHQ6Zy5zdHlsZXMuZXh0ZW5kTGluZXMudmFsdWUoKSxsZWZ0ZW5kOnMuTGluZUVuZC5Ob3JtYWwscmlnaHRlbmQ6cy5MaW5lRW5kLk5vcm1hbH07bi5saW5lcy5wdXNoKHUpfWNvbnN0IFA9KDAsaS5lbnN1cmVOb3ROdWxsKShlLmRvd25MaW5lKCkpO2lmKGcuc3R5bGVzLnNob3dQZWFyc29ucy52YWx1ZSgpJiZ2b2lkIDAhPT1QLnN0YXJ0UHJpY2Upe2NvbnN0IHQ9ZC5wcmljZVRvQ29vcmRpbmF0ZShQLnN0YXJ0UHJpY2UsdyksaT1uZXcgYS5Qb2ludCh5LHQpO24ucGVhcnNvbnM9e3BvaW50czpbaV0sdGV4dDoiIitlLnBlYXJzb25zKCksY29sb3I6Zy5zdHlsZXMuZG93bkxpbmUuY29sb3IudmFsdWUoKSx2ZXJ0QWxpZ246by5WZXJ0aWNhbEFsaWduLlRvcCxob3J6QWxpZ246by5Ib3Jpem9udGFsQWxpZ24uQ2VudGVyLGZvbnQ6bC5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLG9mZnNldFg6MCxvZmZzZXRZOjQsZm9udHNpemU6MTJ9fXJldHVybiBufX0sNzM3MzcxKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+b30pO2NvbnN0IGk9ZnVuY3Rpb24odCxlKXtmb3IodmFyIG4saT0tMSxhPXQubGVuZ3RoOysraTxhOyl7dmFyIG89ZSh0W2ldKTt2b2lkIDAhPT1vJiYobj12b2lkIDA9PT1uP286bitvKX1yZXR1cm4gbn07dmFyIGE9bigyMzI4NTQpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuIHQmJnQubGVuZ3RoP2kodCxhLmRlZmF1bHQpOjB9fX1dKTs="}},"time_used":3,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css2?family=Outfit:wght@100;200;300;400;500;600;700;800;900\u0026display=swap","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.877Z","timestamp":1785141582877,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /css2?family=Outfit:wght@100;200;300;400;500;600;700;800;900\u0026display=swap HTTP/1.1\r\nHost: fonts.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://oxlofttrd.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 08:39:42 GMT\r\ndate: Mon, 27 Jul 2026 08:39:42 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":7623,"size_decoded":1180,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"f80b14ecf598320f3d430b18d1be789e","sha1":"819789473d87048f10ed3e7a9505478fd898371d","sha256":"0bef3f11e881c01a307529245da7d8387a1488babb6f5c2ce2793da47851f76b","sha512":"c03c6548b84c32015aa4927a3804d1449387c6d6d5018cd353a75625a6c6af79497ae1fcc1e3b959e3793033db54af101ca9801336d30ea2c5abd7493cb15796","ssdeep":"96:cOS0aRJc+uwOS0aKNNO6aRJc+uwO6aKNNO1aRJc+uwO1aKNNOEaRJc+uwOEaKNN1:Iphzpnh0AhbNh6OhprhwEhXxhWCh1V","tlshash":"a2f1eda1082ba144df970cc222ce7e33ef5f62516444d934affe1899ac6bd5a835770d","first_seen":"2025-09-05T18:29:33.889482Z","last_seen":"2026-07-27T12:12:28.743837Z","times_seen":1298,"resource_available":false,"data":"LyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3V0Zml0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL291dGZpdC92MTUvUUdZdnpfTVZjQmVOUDROSnVrdHFVWVRrbnRCSjJmay53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3V0Zml0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL291dGZpdC92MTUvUUdZdnpfTVZjQmVOUDROSnRFdHFVWVRrbnRCSi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ091dGZpdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAyMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vdXRmaXQvdjE1L1FHWXZ6X01WY0JlTlA0Tkp1a3RxVVlUa250QkoyZmsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ091dGZpdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAyMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vdXRmaXQvdjE1L1FHWXZ6X01WY0JlTlA0Tkp0RXRxVVlUa250Qkoud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPdXRmaXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3V0Zml0L3YxNS9RR1l2el9NVmNCZU5QNE5KdWt0cVVZVGtudEJKMmZrLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPdXRmaXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3V0Zml0L3YxNS9RR1l2el9NVmNCZU5QNE5KdEV0cVVZVGtudEJKLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3V0Zml0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL291dGZpdC92MTUvUUdZdnpfTVZjQmVOUDROSnVrdHFVWVRrbnRCSjJmay53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3V0Zml0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL291dGZpdC92MTUvUUdZdnpfTVZjQmVOUDROSnRFdHFVWVRrbnRCSi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ091dGZpdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vdXRmaXQvdjE1L1FHWXZ6X01WY0JlTlA0Tkp1a3RxVVlUa250QkoyZmsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ091dGZpdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vdXRmaXQvdjE1L1FHWXZ6X01WY0JlTlA0Tkp0RXRxVVlUa250Qkoud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPdXRmaXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3V0Zml0L3YxNS9RR1l2el9NVmNCZU5QNE5KdWt0cVVZVGtudEJKMmZrLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPdXRmaXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3V0Zml0L3YxNS9RR1l2el9NVmNCZU5QNE5KdEV0cVVZVGtudEJKLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3V0Zml0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL291dGZpdC92MTUvUUdZdnpfTVZjQmVOUDROSnVrdHFVWVRrbnRCSjJmay53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3V0Zml0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL291dGZpdC92MTUvUUdZdnpfTVZjQmVOUDROSnRFdHFVWVRrbnRCSi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ091dGZpdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vdXRmaXQvdjE1L1FHWXZ6X01WY0JlTlA0Tkp1a3RxVVlUa250QkoyZmsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ091dGZpdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vdXRmaXQvdjE1L1FHWXZ6X01WY0JlTlA0Tkp0RXRxVVlUa250Qkoud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPdXRmaXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogOTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3V0Zml0L3YxNS9RR1l2el9NVmNCZU5QNE5KdWt0cVVZVGtudEJKMmZrLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPdXRmaXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogOTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3V0Zml0L3YxNS9RR1l2el9NVmNCZU5QNE5KdEV0cVVZVGtudEJKLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0K"}},"time_used":83,"timings":{"blocked":-1,"dns":2,"connect":15,"send":0,"wait":33,"receive":0,"ssl":32},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/67685.13755296d7d26eb7dbcc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.838Z","timestamp":1785141584838,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/67685.13755296d7d26eb7dbcc.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fcb-15f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:51 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2f7430064a4bca82bb6452c13df6dde5\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":351,"size_decoded":962,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (351), with no line terminators","md5":"e318e6f9288c2f57bc947bf5784073b5","sha1":"a8b58198db65d302cc3fbf15118ab6bc7d525299","sha256":"71a4dbafdc173ecf98b93d11ac6a6ee8c80cbc2ea048858bcffa5e40d5254862","sha512":"dd5a0eddb94f41914f89297eba707a66a3471917598a8b67f2a6305092870bbc68f08e9af7598c1481a6fc82a2b44452c0b8f13d9ccc3eb9f059726a689bc62f","ssdeep":"","tlshash":"d8e020e355cd600d012f064cfd5774be920955037b5b6ccbea50e185edc82402535c08","first_seen":"2026-06-30T21:57:43.299741Z","last_seen":"2026-07-27T12:48:39.786558Z","times_seen":222,"resource_available":false,"data":"Lml0ZW0tWVJXMEpzRGR7cGFkZGluZy1ib3R0b206MnB4O3BhZGRpbmctdG9wOjJweDtwb3NpdGlvbjpyZWxhdGl2ZX1AbWVkaWEgKG1heC13aWR0aDo0NDBweCl7Lml0ZW0tWVJXMEpzRGR7Zm9udC1zaXplOjE2cHg7cGFkZGluZy1ib3R0b206NnB4O3BhZGRpbmctdG9wOjZweH19LnNob3J0Y3V0LVlSVzBKc0Rke21hcmdpbi1pbmxpbmUtZW5kOjA7bWluLXdpZHRoOmF1dG99QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey5zaG9ydGN1dC1ZUlcwSnNEZHtkaXNwbGF5Om5vbmV9fS5sb2FkaW5nLVlSVzBKc0RkIC5pY29uLVlSVzBKc0RkLC5sb2FkaW5nLVlSVzBKc0RkIC5zaG9ydGN1dC1ZUlcwSnNEZHtvcGFjaXR5OjB9"}},"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/98084.76948764014ae1d4ccfb.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.118Z","timestamp":1785141585118,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/98084.76948764014ae1d4ccfb.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-5bd\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 45139fbf3590285dfea2f2af375f9d6f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1469,"size_decoded":1283,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1469), with no line terminators","md5":"42926374e3993d87871854153a9b3f3d","sha1":"8d35f66931a91c4b7dff7c4fb4582b1171f1c65e","sha256":"7c919d72e24d1abd7eb6597bab8be0b3c12227984b62546c4aea7f45fa74759f","sha512":"0d537ebd2b9b8f6e3dd1ae384bcde8b0b86861c84b0810f3c386fafb4394ba8456cb9e60753f2cf9be2c4c53de6bff8f09de764bd469802d154c9b45b250aa20","ssdeep":"","tlshash":"7e314c4a3354a874bb9318a676b7a5983544c87e6543c9ffcd619f5c95c22bb120c318","first_seen":"2026-07-19T21:33:34.13195Z","last_seen":"2026-07-27T12:48:39.787078Z","times_seen":58,"resource_available":false,"data":"LmNvbnRhaW5lci1ENl9uaE9NRntjdXJzb3I6ZGVmYXVsdDt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlfS50aXRsZS1ENl9uaE9NRntkaXNwbGF5OmJsb2NrO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsO21hcmdpbi1ib3R0b206MTJweDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxOHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjYwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KX0udGl0bGUtRDZfbmhPTUYsLnRpdGxlX2xhcmdlLUQ2X25oT01Ge2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS50aXRsZV9sYXJnZS1ENl9uaE9NRntmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI4cHg7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MjRweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo3MDB9Lmljb24tRDZfbmhPTUZ7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWJvdHRvbToxMnB4fUBtZWRpYSAobWF4LWhlaWdodDo0NDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5pY29uLUQ2X25oT01Ge2Rpc3BsYXk6bm9uZX19LnRleHQtRDZfbmhPTUZ7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LnRleHQtRDZfbmhPTUYsLnRleHRfbm9ybWFsLUQ2X25oT01Ge2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0udGV4dF9ub3JtYWwtRDZfbmhPTUZ7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHh9LmFjdGlvbi1ENl9uaE9NRntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tdG9wOjIwcHg7d2lkdGg6MTAwJX0="}},"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":"translations.smartsuppcdn.com/api/v1/widget/translations/lang/en/defaults","fqdn":"translations.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:47.612Z","timestamp":1785141587612,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1087630013.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 03 Jun 2026 14:33:02 GMT","end":"Tue, 01 Sep 2026 14:33:01 GMT"},"fingerprint":{"sha1":"CE:B9:32:81:E9:D2:46:C8:31:53:55:D3:41:19:F7:94:91:30:D1:93","sha256":"54:C9:41:2F:97:E8:14:28:D7:2C:4F:FA:E0:C3:3A:BC:85:F8:14:22:1C:98:23:82:53:4D:5D:58:C9:0B:C9:68"}}},"request":{"raw":"GET /api/v1/widget/translations/lang/en/defaults HTTP/1.1\r\nHost: translations.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://oxlofttrd.com/\r\nOrigin: https://oxlofttrd.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 08:39:50 GMT\r\ncontent-type: application/json; charset=utf-8\r\naccess-control-allow-origin: *\r\ncache-control: max-age=600\r\nx-response-time: 1ms\r\nx-version: 0dd3c95f86cdb6b59a0dad25ffcd406aa7c7723b\r\nx-77-nzt: kxrD9tvUMiYRcc+4AMmrQ7fXzVgm7y21X5EFBUCd3zAaKHb/1mdvzdq7M5N+4gO7wdu7EH0\r\nx-77-nzt-ray: fdb54123b752d0965619676a370fa436\r\nx-77-cache: HIT\r\nx-77-age: 430\r\nvary: Origin, Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":7216,"size_decoded":3346,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"05d7604a60456ab25eb809557b353edc","sha1":"e32135b721636e7994e42748da35341e03dfd123","sha256":"5892aca834fe3f9f8fb66f68c8a3eb2295708a3b428cf355d7f3e3c1a0b7b62e","sha512":"db4124c008e22597192e1f07b44575ff191a03322f763bffb1efd129152e0f6f1546d98f5016967b32cc71a8252fefc0546aef0be258e8343fbba4ae2afe00da","ssdeep":"192:Ccdft/hc4l6WKHSY8pZcqq+jT0UHAfoW/Ymz8:CgF/hcbWbYKZcF+jhqoWQmw","tlshash":"48e1b54f9a144ea987c6438276cfb84675bc80734250993afd8cc8b842697cda3e3b94","first_seen":"2026-04-01T12:23:41.393805Z","last_seen":"2026-07-27T13:21:25.866734Z","times_seen":5254,"resource_available":false,"data":"eyJhZ2VudFJhdGluZy5hbGwucGxhY2Vob2xkZXIiOiJMZWF2ZSB1cyBmZWVkYmFjayIsImFnZW50UmF0aW5nLmJhZC5mb3JtVGV4dCI6IlNvIHNvcnJ5IPCfmJMgV2hhdCB3ZW50IHdyb25nPyIsImFnZW50UmF0aW5nLmdvb2QuZm9ybVRleHQiOiJUaGFua3Mg8J+kqSBXaGF0IHdhcyBzbyBncmVhdD8iLCJhZ2VudFJhdGluZy5ub3JtYWwuZm9ybVRleHQiOiJUaGFua3Mg8J+RjSBIb3cgY2FuIHdlIGltcHJvdmU/IiwiYWdlbnRUcmFuc2Zlci5kZWZhdWx0VGV4dCI6IkFnZW50IiwiYWdlbnRUcmFuc2Zlci5qb2luZWQiOiJqb2luZWQgdGhlIGNoYXQiLCJhZ2VudFRyYW5zZmVyLmxlZnQiOiJsZWZ0IiwiYWdlbnRUcmFuc2Zlci5yZWRpcmVjdGVkIjoiaXMgeW91ciBuZXcgYWdlbnQiLCJhcmlhTGFiZWwuYWdlbnRBdmF0YXIiOiJBZ2VudCBhdmF0YXIiLCJhcmlhTGFiZWwuY2FyZCI6IlByb2R1Y3QgY2FyZCIsImFyaWFMYWJlbC5jaGF0Q29udGVudCI6IkNoYXQgY29udGVudCIsImFyaWFMYWJlbC5jaGF0Ym90QXZhdGFyIjoiQ2hhdGJvdCBhdmF0YXIiLCJhcmlhTGFiZWwuZHJhd2VyLmNvbnRlbnQiOiJEcmF3ZXIgY29udGVudCIsImFyaWFMYWJlbC5kcmF3ZXIub3ZlcmxheSI6IkRyYXdlciBvdmVybGF5IiwiYXJpYUxhYmVsLmlubGluZUVtb2ppUGlja2VyLmRlc2NyaXB0aW9uIjoiU2hvd2luZyB7Y291bnR9IGVtb2ppcyIsImFyaWFMYWJlbC5pbmxpbmVFbW9qaVBpY2tlci5sYWJlbCI6IkVtb2ppIHN1Z2dlc3Rpb25zIiwiYXJpYUxhYmVsLmxlZnQiOiJMZWZ0IiwiYXJpYUxhYmVsLm9wZW5DaGF0IjoiT3BlbiBTbWFydHN1cHAgY2hhdCIsImFyaWFMYWJlbC5wb3B1cCI6IlNtYXJ0c3VwcCBjaGF0IHBvcHVwIiwiYXJpYUxhYmVsLnJhdGVDaGF0LmJhZCI6IlJhdGUgY2hhdCBuZWdhdGl2ZWxseSIsImFyaWFMYWJlbC5yYXRlQ2hhdC5nb29kIjoiUmF0ZSBjaGF0IHBvc2l0aXZlbHkiLCJhcmlhTGFiZWwucmF0ZUNoYXQubmV1dHJhbCI6IlJhdGUgY2hhdCBuZXV0cmFsbHkiLCJhcmlhTGFiZWwucmVtb3ZlQXR0YWNobWVudCI6IlJlbW92ZSBhdHRhY2htZW50IiwiYXJpYUxhYmVsLnJpZ2h0IjoiUmlnaHQiLCJhcmlhTGFiZWwuc2Nyb2xsRG93biI6IlNjcm9sbCBkb3duIiwiYXJpYUxhYmVsLnN1Y2Nlc3MiOiJTdWNjZXNzIiwiYXJpYUxhYmVsLnVwbG9hZGluZyI6IlVwbG9hZGluZy4uLiIsImFyaWFMYWJlbC53aWRnZXRCcmFuZGluZyI6IlNtYXJ0c3VwcCBicmFuZGluZyIsImF1dGhGb3JtLmFjY2VwdFRlcm1zIjoiSSBhZ3JlZSB3aXRoIHByaXZhY3kgcG9saWN5IiwiYXV0aEZvcm0uYnV0dG9uLnNlbmQiOiJTZW5kIG1lc3NhZ2UiLCJhdXRoRm9ybS5kZXNjcmlwdGlvbiI6Ildl4oCZbGwgdXNlIHlvdXIgY29udGFjdCBpbmZvIG9ubHkgaWYgYWxsIHRoZSBhZ2VudHMgYXJlIGJ1c3kgYXQgdGhlIG1vbWVudCBhbmQgY2Fubm90IGltbWVkaWF0ZWx5IHJlcGx5LiIsImF1dGhGb3JtLmdyZWV0aW5nIjoi8J+RiyBQbGVhc2UgaW50cm9kdWNlIHlvdXJzZWxmIiwiYXV0aEZvcm0uZ3JvdXAiOiJDaG9vc2UgYSBncm91cCIsImF1dGhGb3JtLmxhYmVsLmVtYWlsIjoiRS1tYWlsIiwiYXV0aEZvcm0ubGFiZWwuZ3JvdXAiOiJHcm91cCIsImF1dGhGb3JtLmxhYmVsLm5hbWUiOiJOYW1lIiwiYXV0aEZvcm0ubGFiZWwucGhvbmUiOiJQaG9uZSIsImF1dGhGb3JtLnN1Ym1pdC5lcnJvciI6IkF1dGhlbnRpY2F0aW9uIGZhaWxlZCIsImF1dGhGb3JtLnN1Ym1pdC5zdWNjZXNzIjoiQXV0aGVudGljYXRpb24gd2FzIHN1Y2Nlc3NmdWwiLCJhdXRoRm9ybS55b3VyRW1haWwiOiJZb3VyIGVtYWlsIiwiYXV0aEZvcm0ueW91ck5hbWUiOiJZb3VyIG5hbWUiLCJhdXRoRm9ybS55b3VyUGhvbmUiOiJQaG9uZSBudW1iZXIiLCJidXR0b24uZ3JlZXRpbmciOiJDaGF0IiwiY2FyZC5saW5rc0xpbWl0UmVhY2hlZCI6IlVuYWJsZSB0byBzZW5kIG1vcmUgdGhhbiAyMCBVUkwgbGlua3MuIiwiY2FyZC5ub1ByZXZpZXdUaXRsZSI6IlByZXZpZXcgbm90IGF2YWlsYWJsZSIsImNhcmQub3BlblVybFRpdGxlIjoiUmVhZCBtb3JlIiwiY2FyZC5zZW5kaW5nSW5Qcm9ncmVzcyI6IlNlbmRpbmcgaW4gcHJvZ3Jlc3MsIHBsZWFzZSB3YWl04oCmIiwiY2hhdElucHV0LnBsYWNlaG9sZGVyIjoiVHlwZSB5b3VyIG1lc3NhZ2UgaGVyZSIsImNoYXRQcmV2aWV3Lm1lc3NhZ2UxIjoiSGksIGlzIGFueWJvZHkgaGVyZT8iLCJjaGF0UHJldmlldy5tZXNzYWdlMiI6IkhlbGxvLCB5ZXMgd2UgYXJlIGhlcmUiLCJjaGF0UHJldmlldy5tZXNzYWdlMyI6Ik9rLCB0aGFua3MiLCJjaGF0Ym90LmdvQmFjayI6IkdvIGJhY2siLCJjbG9zZUNvbnZlcnNhdGlvbk1vZGFsLmJ1dHRvbiI6IlllcywgZW5kIGNoYXQiLCJjbG9zZUNvbnZlcnNhdGlvbk1vZGFsLnRleHQiOiJJcyB0aGF0IHJlYWxseSBhbGw/IElmIHNvbWV0aGluZyBlbHNlIGNvbWVzIHRvIG1pbmQsIHlvdSBjYW4gYWx3YXlzIHJldHVybiB0byB0aGUgY29udmVyc2F0aW9uLiIsImNsb3NlQ29udmVyc2F0aW9uTW9kYWwudGl0bGUiOiJFbmQgY2hhdCIsImRyYWdBbmREcm9wLmRyb3BIZXJlIjoiRHJvcCB5b3VyIGZpbGUocykgaGVyZSIsImVtYWlsVHJhbnNjcmlwdC5wb3NpdGl2ZUZlZWRiYWNrIjoiVHJhbnNjcmlwdCBoYXMgYmVlbiBzZW50IiwiZW1haWxUcmFuc2NyaXB0LnNlbmRDb3B5IjoiU2VuZCBjb252ZXJzYXRpb24gY29weSIsImVycm9yLmZpbGVVcGxvYWQiOiJGaWxlIHVwbG9hZCBmYWlsdXJlIiwiZXJyb3Iubm9JbnRlcm5ldCI6IkludGVybmV0IGNvbm5lY3Rpb24gbG9zdCIsImVycm9yLnNlcnZlckVycm9yIjoiU2VydmVyIGVycm9yIG9jY3VycmVkIiwiZmlsZVVwbG9hZC5iYWRGaWxlVHlwZSI6IlRoaXMgZmlsZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQuIiwiZmlsZVVwbG9hZC5maWxlVG9vQmlnIjoiVGhlIGZpbGUgaXMgYmlnZ2VyIHRoYW4gdGhlIGFsbG93ZWQgbGltaXQiLCJmaWxlVXBsb2FkLmZpbGVzV2VyZW50UHJvY2Vzc2VkIjoiU29tZSBmaWxlcyBjb3VsZCBub3QgYmUgcHJvY2Vzc2VkIiwiZmlsZVVwbG9hZC5pbWFnZUVycm9yIjoiVGhpcyBpbWFnZSBpcyBub3QgdmFsaWQiLCJmaWxlVXBsb2FkLnRvb01hbnlGaWxlcyI6IkxpbWl0IGZvciB1cGxvYWRpbmcgZmlsZXMgaXMgIiwiZmlsZVVwbG9hZC51cGxvYWRGaWxlIjoiVXBsb2FkIGZpbGUiLCJmb3JtLnN1Ym1pdC5lcnJvciI6IlNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImZvcm0uc3VibWl0LnN1Y2Nlc3MiOiJTdWNjZXNzZnVsbHkgZG9uZSIsImdkcHIuZGF0YVByaXZhY3lIZWFkbGluZSI6IlBlcnNvbmFsIGRhdGEgcHJvY2Vzc2luZyIsImdkcHIuZGF0YVByaXZhY3lUZXh0IjoiU21hcnRzdXBwLmNvbSwgcy5yLm8sIHByb2Nlc3NlcyBwZXJzb25hbCBkYXRhLiwgVkFUIElEIENaMDM2Njg2ODEgKGZ1cnRoZXIgYXMgXCJTbWFydHN1cHBcIikgYXMgYSBkYXRhIHByb2Nlc3NvciB3aG8gYWN0cyBvbiBiZWhhbGYgb2YgdGhlIHdlYnNpdGUgb3duZXIgd2hvIGlzIHRoZSBkYXRhIGNvbnRyb2xsZXIuIFxuXG5TbWFydHN1cHAgaXMgR0RQUiBjb21wbGlhbnQuIFlvdSBjYW4gZmluZCBpbmZvcm1hdGlvbiBhYm91dCBTbWFydHN1cHAgcGVyc29uYWwgZGF0YSBwcml2YWN5IGFuZCBwcm9jZXNzaW5nIG9uIGhlbHAuc21hcnRzdXBwLmNvbS9lbl9VUy9wcml2YWN5LiBcblxuUHJvY2Vzc2luZyBvZiB5b3VyIHBlcnNvbmFsIGRhdGEgaXMgbmVjZXNzYXJ5IGluIG9yZGVyIHRvIHByb3ZpZGUgY3VzdG9tZXIgc2VydmljZS4gQWR2YW5jZWQgZmVhdHVyZXMgd2lsbCBvbmx5IGJlIHR1cm5lZCBvbiBpZiB5b3UgaGF2ZSBhZ3JlZWQgdG8gdGhlbS4gXG5cblBsZWFzZSBjb250YWN0IHRoZSB3ZWJzaXRlIG93bmVyIGlmIHlvdSBoYXZlIHF1ZXN0aW9ucyBhYm91dCB0aGUgcHJvY2Vzc2luZyBvZiBwZXJzb25hbCBkYXRhIG9yIGlmIHlvdSB3YW50IHRvIHJlcXVlc3Qgb3IgZXJhc2UgeW91ciBwZXJzb25hbCBkYXRhLiIsImdlbmVyYWwuYmFjayI6IkJhY2siLCJnZW5lcmFsLm5ld01lc3NhZ2VzIjoiTmV3IG1lc3NhZ2VzIiwiZ2VuZXJhbC5zZW5kIjoiU2VuZCIsIm9wdGlvbnMuYWNjZXNzaWJpbGl0eSI6IkFjY2Vzc2liaWxpdHkiLCJvcHRpb25zLmNvcHlyaWdodCI6IsKpIHt5ZWFyfSBTbWFydHN1cHAuY29tIiwib3B0aW9ucy5lbWFpbFRyYW5zY3JpcHQiOiJTZW5kIGVtYWlsIHRyYW5zY3JpcHQiLCJvcHRpb25zLmZlZWRiYWNrIjoiRGlkIHlvdSBmaW5kIGEgYnVnPyIsIm9wdGlvbnMuZ2RwciI6IkdEUFIgYW5kIHByaXZhY3kiLCJvcHRpb25zLnBkZlRyYW5zY3JpcHQiOiJEb3dubG9hZCB0cmFuc2NyaXB0Iiwib3B0aW9ucy5wbGF5U291bmRzIjoiUGxheSB0aGUgc291bmRzIiwib3B0aW9ucy50aXRsZSI6Ik9wdGlvbnMiLCJyYXRpbmcuYnV0dG9uLnJhdGUuYWdlbnQiOiJSYXRlIGNoYXQiLCJyYXRpbmcuYnV0dG9uLnJhdGUuYWkiOiJSYXRlIEFJIGNoYXRib3QiLCJyYXRpbmcuc3VibWl0LnN1Y2Nlc3MiOiJSYXRpbmcgc2VudCIsInJhdGluZy5zdWJtaXRGZWVkYmFjay5zdWNjZXNzIjoiVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrIiwicmF0aW5nLndhc0l0SGVscGZ1bC5hZ2VudCI6IkhvdyB3b3VsZCB5b3UgcmF0ZSBvdXIgc3VwcG9ydD8iLCJyYXRpbmcud2FzSXRIZWxwZnVsLmFpIjoiSG93IHdvdWxkIHlvdSByYXRlIHRoZSBBSSBjaGF0Ym90IGV4cGVyaWVuY2U/Iiwic3RhdHVzQmFyLmJvdElkZW50aXR5IjoiQUkgYXNzaXN0YW50Iiwic3RhdHVzQmFyLm9mZmxpbmVUZXh0IjoiSGFwcHkgdG8gYW5zd2VyIHlvdSBsYXRlciIsInN0YXR1c0Jhci5vbmxpbmVUZXh0IjoiV2UgcmVwbHkgaW1tZWRpYXRlbHkiLCJzeXN0ZW1NZXNzYWdlLmNoYXRDbG9zZWQiOiJDaGF0IHdhcyBjbG9zZWQiLCJzeXN0ZW1NZXNzYWdlLmNoYXRSZXNvbHZlZCI6InJlc29sdmVkIGNvbnZlcnNhdGlvbiIsInRpY2tldEZvcm0ubGFiZWwubWVzc2FnZSI6IldoYXQgY2FuIHdlIGhlbHAgeW91IHdpdGg/IiwidGlja2V0Rm9ybS5tZXNzYWdlLnBsYWNlaG9sZGVyIjoiRGVzY3JpYmUgeW91ciBwcm9ibGVtIiwidGlja2V0Rm9ybS5zdWJtaXQuYnV0dG9uIjoi4pyJ77iPIENvbnRhY3QgdGhlIGFnZW50IGJ5IGVtYWlsIiwidGltZWFnby5YRGF5c0FnbyI6IiclcyBkYXlzIGFnbyIsInRpbWVhZ28uWEhvdXJzQWdvIjoiJXMgaG91cnMgYWdvIiwidGltZWFnby5YTWludXRlc0FnbyI6IiVzIG1pbnV0ZXMgYWdvIiwidGltZWFnby5YTW9udGhzQWdvIjoiJXMgbW9udGhzIGFnbyIsInRpbWVhZ28uWFNlY29uZHNBZ28iOiIlcyBzZWNvbmRzIGFnbyIsInRpbWVhZ28uWFdlZWtzQWdvIjoiJXMgd2Vla3MgYWdvIiwidGltZWFnby5YWWVhcnNBZ28iOiIlcyB5ZWFycyBhZ28iLCJ0aW1lYWdvLmp1c3ROb3ciOiJqdXN0IG5vdyIsInRpbWVhZ28ub25lRGF5QWdvIjoiMSBkYXkgYWdvIiwidGltZWFnby5vbmVIb3VyQWdvIjoiMSBob3VyIGFnbyIsInRpbWVhZ28ub25lTWludXRlQWdvIjoiMSBtaW51dGUgYWdvIiwidGltZWFnby5vbmVNb250aEFnbyI6IjEgbW9udGggYWdvIiwidGltZWFnby5vbmVXZWVrQWdvIjoiMSB3ZWVrIGFnbyIsInRpbWVhZ28ub25lWWVhckFnbyI6IjEgeWVhciBhZ28iLCJ0aW1lYWdvLnJpZ2h0Tm93IjoicmlnaHQgbm93IiwidGltZWFnby5zZWNvbmRzIjoiaW4gJXMgc2Vjb25kcyIsInRvb2x0aXAuYXR0YWNobWVudCI6IkF0dGFjaG1lbnQiLCJ0b29sdGlwLmNsb3NlIjoiQ2xvc2UiLCJ0b29sdGlwLmNvbGxhcHNlIjoiQ29sbGFwc2UgY2hhdCIsInRvb2x0aXAuZW1vamkiOiJFbW9qaSIsInRvb2x0aXAuZXhwYW5kIjoiRXhwYW5kIGNoYXQiLCJ0b29sdGlwLm1pbmltaXplIjoiTWluaW1pemUgY2hhdCIsInRvb2x0aXAubW9yZSI6IlNob3cgbW9yZSIsInRvb2x0aXAubW9yZUJ1dHRvbiI6IlNob3cgTW9yZSIsInRvb2x0aXAucmF0ZUNoYXQiOiJSYXRlIENoYXQiLCJ0b29sdGlwLnNlbmQiOiJTZW5kIiwidG9wQmFyLmVtYWlsVHJhbnNjcmlwdCI6IlNlbmQgZW1haWwgdHJhbnNjcmlwdCIsInRvcEJhci5nZHByVGl0bGUiOiJHRFBSIGFuZCBwcml2YWN5IiwidG9wQmFyLm9mZmxpbmUuaGVsbG8iOiJTZW5kIHVzIGEgbWVzc2FnZSIsInRvcEJhci5vbmxpbmUuaGVsbG8iOiJIb3cgY2FuIHdlIGhlbHA/IiwidG9wQmFyLnR1cm5PZmZTb3VuZHMiOiJUdXJuIG9mZiBzb3VuZHMiLCJ0b3BCYXIudHVybk9uU291bmRzIjoiVHVybiBvbiBzb3VuZHMiLCJ0cmlnZ2VyLm9wZW5DaGF0QnV0dG9uIjoiTGV0J3MgY2hhdCIsInRyaWdnZXIucmVwbHlCdXR0b24iOiJSZXBseSIsInZhbGlkYXRpb25zLmNoZWNrZWRUZXJtcyI6IllvdSBtdXN0IGFncmVlIHdpdGggdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIHRvIGNvbnRpbnVlIiwidmFsaWRhdGlvbnMuaXNFbWFpbCI6IlBsZWFzZSBlbnRlciB2YWxpZCBlbWFpbCIsInZhbGlkYXRpb25zLnBob25lIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgcGhvbmUgbnVtYmVyIiwidmFsaWRhdGlvbnMucmVxdWlyZWQiOiJQbGVhc2UgZmlsbCBvdXQgdGhpcyBmaWVsZCIsIndhcm5pbmdCYXIubWF4TGVuZ3RoIjoiWW91IGhhdmUgcmVhY2hlZCB0aGUgbWF4aW11bSBhbGxvd2VkIG51bWJlciBvZiBjaGFyYWN0ZXJzICgyMDAwKSIsIndhcm5pbmdCYXIuc2FtZU1lc3NhZ2VUd2ljZSI6IkNhbm5vdCBzZW5kIHRoZSBzYW1lIG1lc3NhZ2UgdHdpY2UgaW4gYSByb3cuIiwid2FybmluZ0Jhci5zcGFtUHJvdGVjdGlvbiI6IllvdXIgbWVzc2FnZXMgaGF2ZSBiZWVuIGlkZW50aWZpZWQgYXMgc3BhbS4gUGxlYXNlIHdhaXQgZm9yIDMwIHNlY29uZHMgYmVmb3JlIHNlbmRpbmcgYW5vdGhlciBtZXNzYWdlLiIsIndhcm5pbmdCYXIudXBsb2FkRmlsZU5vdEZpcnN0IjoiRmlyc3QgbWVzc2FnZSBjYW5ub3QgYmUgYSBmaWxlIiwid2lkZ2V0UHJldmlldy5jb250YWN0TWVzc2FnZSI6IvCfjokgTG9va3MgZmFudGFzdGljISDwn5Kq8J+PuyBMZXTCtHMgcm9jayB0aG9zZSBjb252ZXJzYXRpb25zIGFuZCBsZWF2ZSBhIGxhc3RpbmcgaW1wcmVzc2lvbiEg8J+agCIsIndpZGdldFByZXZpZXcud2VsY29tZU1lc3NhZ2UiOiLwn5GL8J+PuyBXZWxjb21lISBUaGlzIGlzIGEgc25lYWsgcGVlayBvZiB5b3VyIGNoYXQgYm94LiBHZXQgcmVhZHkgdG8gc2hpbmUg4pyoIGluIGN1c3RvbWVyIGludGVyYWN0aW9ucyEiLCJtZXNzYWdlLmRlbGV0ZWQiOiJUaGlzIG1lc3NhZ2Ugd2FzIHJlbW92ZWQifQ=="}},"time_used":3310,"timings":{"blocked":0,"dns":33,"connect":8,"send":0,"wait":9,"receive":0,"ssl":3259},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/51508.767219283c65f4d4ca6e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.115Z","timestamp":1785141584115,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/51508.767219283c65f4d4ca6e.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\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: 23415344eb3243bce5cd50d3832e89ab\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2529,"size_decoded":1498,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2529), with no line terminators","md5":"76e3b34ef660092cb6ebcda4b1e8a0b0","sha1":"d997b9296e92721e4cfa8c5cd062150dd5a72d76","sha256":"1f4abc998292aaf8b21eb2933273369f5d7611063f098e70b47fbd27258859c0","sha512":"91d3087923640eeca24866262f097a03a730ca9ecbcab63c5851539144aca3fc7b28c2b2a340a3318f5a5f4149e8f995999a8ec0680a94a7780ac64e2ce591a3","ssdeep":"","tlshash":"6651481fb3fb1d212c234b0047d56e432330e5a315e36aece810d1ae9eda9de39b1285","first_seen":"2026-04-15T09:47:56.501715Z","last_seen":"2026-07-27T15:03:44.22899Z","times_seen":5399,"resource_available":false,"data":"LnR2LWRhdGEtbW9kZXt2ZXJ0aWNhbC1hbGlnbjp0b3B9LnR2LWRhdGEtbW9kZS0tcmVhbHRpbWV7Y29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtZGF0YS1tb2RlLS1zbmFwc2hvdHtjb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTQwMCl9LnR2LWRhdGEtbW9kZS0tZW5kb2ZkYXl7Y29sb3I6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS00MDApfS50di1kYXRhLW1vZGUtLWNvbm5lY3RpbmcsLnR2LWRhdGEtbW9kZS0tZm9yYmlkZGVuLC50di1kYXRhLW1vZGUtLWludmFsaWQsLnR2LWRhdGEtbW9kZS0tbG9hZGluZ3t2aXNpYmlsaXR5OmhpZGRlbn0udHYtZGF0YS1tb2RlLS1kZWxheWVke2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtZGF0YS1tb2RlLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O3Bvc2l0aW9uOmFic29sdXRlfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtZGF0YS1tb2RlLS1mb3ItdGlja2VyLXRhcGV7Zm9udC1zaXplOjEwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KX0udHYtZGF0YS1tb2RlLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXI6ZGlyKHJ0bCksLnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci10YXBlOmRpcihydGwpe3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXIsLnR2LWRhdGEtbW9kZS0tcmVhbHRpbWUtLWZvci10aWNrZXItdGFwZXtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6bm9ybWFsO21hcmdpbi1pbmxpbmUtc3RhcnQ6MXB4O21hcmdpbi10b3A6NHB4O3ZlcnRpY2FsLWFsaWduOnRvcH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci10aWNrZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bWFyZ2luLWxlZnQ6MnB4fS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItdGlja2VyLC50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1uby1yZWFsdGltZXtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tcmVwbGF5e2NvbG9yOnZhcigtLWNvbG9yLXJlcGxheS1kYXRhLW1vZGUpfS50di1kYXRhLW1vZGUtLWZvci1jaGFydHtmbG9hdDppbmxpbmUtZW5kO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLWlubGluZS1zdGFydDo2cHh9LnR2LWRhdGEtbW9kZS0tY29ubmVjdGluZy0tZm9yLWNoYXJ0LC50di1kYXRhLW1vZGUtLWxvYWRpbmctLWZvci1jaGFydHtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tZm9yYmlkZGVuLS1mb3ItY2hhcnQsLnR2LWRhdGEtbW9kZS0taW52YWxpZC0tZm9yLWNoYXJ0e2NvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7dmlzaWJpbGl0eTp2aXNpYmxlfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItY2hhcnR7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci1jaGFydC50di1kYXRhLW1vZGUtLXJlcGxheXttYXJnaW4tbGVmdDowfS50di1kYXRhLW1vZGUtLWZvci10aWNrZXItY2FyZHtkaXNwbGF5OmlubGluZTttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtZGF0YS1tb2RlLS1mb3Itc3ltYm9sLXdpZGdldHtkaXNwbGF5OmlubGluZTtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxN3B4O21hcmdpbi1sZWZ0OjNweH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS50di1kYXRhLW1vZGUtLWZvci1zeW1ib2wtd2lkZ2V0LC50di1kYXRhLW1vZGUtLXJlYWx0aW1lLnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci1jYXJke2Rpc3BsYXk6bm9uZX0udHYtZGF0YS1tb2RlLS1mb3Itd2F0Y2gtbGlzdHtmb250LXNpemU6MTBweDtsaW5lLWhlaWdodDoxNHB4O292ZXJmbG93OnZpc2libGU7cG9pbnRlci1ldmVudHM6YXV0bzt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWRhdGEtbW9kZS0tZm9yLXdhdGNoLWxpc3Q6ZGlyKHJ0bCl7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MnB4fS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3Itd2F0Y2gtbGlzdHt2aXNpYmlsaXR5OmhpZGRlbn0udHYtZGF0YS1tb2RlLS1zaXplX2xhcmdle2ZvbnQtc2l6ZToxMnB4fS50di1kYXRhLW1vZGUtLWZvci1zeW1ib2wtaW5mb3tkaXNwbGF5OmlubGluZTtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxN3B4O21hcmdpbi1sZWZ0OjNweH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS0tZm9yLXN5bWJvbC1pbmZve2Rpc3BsYXk6bm9uZX0udHYtZGF0YS1tb2RlLS1mb3Itc2NyZWVuZXJ7Zm9udC1zaXplOjEwcHh9LnR2LWRhdGEtbW9kZS0tcmVhbHRpbWUtLWZvci1zY3JlZW5lcntkaXNwbGF5Om5vbmV9"}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/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/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.745Z","timestamp":1785141584745,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/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/advanced-chart/?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 08:39:44 GMT\r\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: eb1e5cf389f9f49830d24b8ac2832748\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-07-27T15:00:09.830769Z","times_seen":2613,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMzIzODddLHs1MzIzODcoZSxuLHQpe3ZhciByPXQoNzc5NDc0KSxsPXQoMTgyNjE0KTtmdW5jdGlvbiBhKGUpe2Zvcih2YXIgbj0iaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2Vycm9yLWRlY29kZXIuaHRtbD9pbnZhcmlhbnQ9IitlLHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKW4rPSImYXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1t0XSk7cmV0dXJuIk1pbmlmaWVkIFJlYWN0IGVycm9yICMiK2UrIjsgdmlzaXQgIituKyIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLiJ9dmFyIHU9bmV3IFNldCxvPXt9O2Z1bmN0aW9uIGkoZSxuKXtzKGUsbikscyhlKyJDYXB0dXJlIixuKX1mdW5jdGlvbiBzKGUsbil7Zm9yKG9bZV09bixlPTA7ZTxuLmxlbmd0aDtlKyspdS5hZGQobltlXSl9dmFyIGM9ISgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvd3x8dm9pZCAwPT09d2luZG93LmRvY3VtZW50fHx2b2lkIDA9PT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCksZj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGQ9L15bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRF1bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRFwtLjAtOVx1MDBCN1x1MDMwMC1cdTAzNkZcdTIwM0YtXHUyMDQwXSokLyxwPXt9LG09e307ZnVuY3Rpb24gaChlLG4sdCxyLGwsYSx1KXt0aGlzLmFjY2VwdHNCb29sZWFucz0yPT09bnx8Mz09PW58fDQ9PT1uLHRoaXMuYXR0cmlidXRlTmFtZT1yLHRoaXMuYXR0cmlidXRlTmFtZXNwYWNlPWwsdGhpcy5tdXN0VXNlUHJvcGVydHk9dCx0aGlzLnByb3BlcnR5TmFtZT1lLHRoaXMudHlwZT1uLHRoaXMuc2FuaXRpemVVUkw9YSx0aGlzLnJlbW92ZUVtcHR5U3RyaW5nPXV9dmFyIGc9e307ImNoaWxkcmVuIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIGRlZmF1bHRWYWx1ZSBkZWZhdWx0Q2hlY2tlZCBpbm5lckhUTUwgc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIHN1cHByZXNzSHlkcmF0aW9uV2FybmluZyBzdHlsZSIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsMCwhMSxlLG51bGwsITEsITEpfSkpLFtbImFjY2VwdENoYXJzZXQiLCJhY2NlcHQtY2hhcnNldCJdLFsiY2xhc3NOYW1lIiwiY2xhc3MiXSxbImh0bWxGb3IiLCJmb3IiXSxbImh0dHBFcXVpdiIsImh0dHAtZXF1aXYiXV0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZVswXTtnW25dPW5ldyBoKG4sMSwhMSxlWzFdLG51bGwsITEsITEpfSkpLFsiY29udGVudEVkaXRhYmxlIiwiZHJhZ2dhYmxlIiwic3BlbGxDaGVjayIsInZhbHVlIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7Z1tlXT1uZXcgaChlLDIsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSkpLFsiYXV0b1JldmVyc2UiLCJleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIiwiZm9jdXNhYmxlIiwicHJlc2VydmVBbHBoYSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwyLCExLGUsbnVsbCwhMSwhMSl9KSksImFsbG93RnVsbFNjcmVlbiBhc3luYyBhdXRvRm9jdXMgYXV0b1BsYXkgY29udHJvbHMgZGVmYXVsdCBkZWZlciBkaXNhYmxlZCBkaXNhYmxlUGljdHVyZUluUGljdHVyZSBkaXNhYmxlUmVtb3RlUGxheWJhY2sgZm9ybU5vVmFsaWRhdGUgaGlkZGVuIGxvb3Agbm9Nb2R1bGUgbm9WYWxpZGF0ZSBvcGVuIHBsYXlzSW5saW5lIHJlYWRPbmx5IHJlcXVpcmVkIHJldmVyc2VkIHNjb3BlZCBzZWFtbGVzcyBpdGVtU2NvcGUiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7Z1tlXT1uZXcgaChlLDMsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSkpLFsiY2hlY2tlZCIsIm11bHRpcGxlIiwibXV0ZWQiLCJzZWxlY3RlZCJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwzLCEwLGUsbnVsbCwhMSwhMSl9KSksWyJjYXB0dXJlIiwiZG93bmxvYWQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsNCwhMSxlLG51bGwsITEsITEpfSkpLFsiY29scyIsInJvd3MiLCJzaXplIiwic3BhbiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSw2LCExLGUsbnVsbCwhMSwhMSl9KSksWyJyb3dTcGFuIiwic3RhcnQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsNSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMSwhMSl9KSk7dmFyIHY9L1tcLTpdKFthLXpdKS9nO2Z1bmN0aW9uIHkoZSl7cmV0dXJuIGVbMV0udG9VcHBlckNhc2UoKX1mdW5jdGlvbiBiKGUsbix0LHIpe3ZhciBsPWcuaGFzT3duUHJvcGVydHkobik/Z1tuXTpudWxsOyhudWxsIT09bD8wIT09bC50eXBlOnJ8fCEoMjxuLmxlbmd0aCl8fCJvIiE9PW5bMF0mJiJPIiE9PW5bMF18fCJuIiE9PW5bMV0mJiJOIiE9PW5bMV0pJiYoZnVuY3Rpb24oZSxuLHQscil7aWYobnVsbD09bnx8ZnVuY3Rpb24oZSxuLHQscil7aWYobnVsbCE9PXQmJjA9PT10LnR5cGUpcmV0dXJuITE7c3dpdGNoKHR5cGVvZiBuKXtjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6cmV0dXJuITA7Y2FzZSJib29sZWFuIjpyZXR1cm4hciYmKG51bGwhPT10PyF0LmFjY2VwdHNCb29sZWFuczoiZGF0YS0iIT09KGU9ZS50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSkpJiYiYXJpYS0iIT09ZSk7ZGVmYXVsdDpyZXR1cm4hMX19KGUsbix0LHIpKXJldHVybiEwCjtpZihyKXJldHVybiExO2lmKG51bGwhPT10KXN3aXRjaCh0LnR5cGUpe2Nhc2UgMzpyZXR1cm4hbjtjYXNlIDQ6cmV0dXJuITE9PT1uO2Nhc2UgNTpyZXR1cm4gaXNOYU4obik7Y2FzZSA2OnJldHVybiBpc05hTihuKXx8MT5ufXJldHVybiExfShuLHQsbCxyKSYmKHQ9bnVsbCkscnx8bnVsbD09PWw/ZnVuY3Rpb24oZSl7cmV0dXJuISFmLmNhbGwobSxlKXx8IWYuY2FsbChwLGUpJiYoZC50ZXN0KGUpP21bZV09ITA6KHBbZV09ITAsITEpKX0obikmJihudWxsPT09dD9lLnJlbW92ZUF0dHJpYnV0ZShuKTplLnNldEF0dHJpYnV0ZShuLCIiK3QpKTpsLm11c3RVc2VQcm9wZXJ0eT9lW2wucHJvcGVydHlOYW1lXT1udWxsPT09dD8zIT09bC50eXBlJiYiIjp0OihuPWwuYXR0cmlidXRlTmFtZSxyPWwuYXR0cmlidXRlTmFtZXNwYWNlLG51bGw9PT10P2UucmVtb3ZlQXR0cmlidXRlKG4pOih0PTM9PT0obD1sLnR5cGUpfHw0PT09bCYmITA9PT10PyIiOiIiK3Qscj9lLnNldEF0dHJpYnV0ZU5TKHIsbix0KTplLnNldEF0dHJpYnV0ZShuLHQpKSkpfSJhY2NlbnQtaGVpZ2h0IGFsaWdubWVudC1iYXNlbGluZSBhcmFiaWMtZm9ybSBiYXNlbGluZS1zaGlmdCBjYXAtaGVpZ2h0IGNsaXAtcGF0aCBjbGlwLXJ1bGUgY29sb3ItaW50ZXJwb2xhdGlvbiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMgY29sb3ItcHJvZmlsZSBjb2xvci1yZW5kZXJpbmcgZG9taW5hbnQtYmFzZWxpbmUgZW5hYmxlLWJhY2tncm91bmQgZmlsbC1vcGFjaXR5IGZpbGwtcnVsZSBmbG9vZC1jb2xvciBmbG9vZC1vcGFjaXR5IGZvbnQtZmFtaWx5IGZvbnQtc2l6ZSBmb250LXNpemUtYWRqdXN0IGZvbnQtc3RyZXRjaCBmb250LXN0eWxlIGZvbnQtdmFyaWFudCBmb250LXdlaWdodCBnbHlwaC1uYW1lIGdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwgZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwgaG9yaXotYWR2LXggaG9yaXotb3JpZ2luLXggaW1hZ2UtcmVuZGVyaW5nIGxldHRlci1zcGFjaW5nIGxpZ2h0aW5nLWNvbG9yIG1hcmtlci1lbmQgbWFya2VyLW1pZCBtYXJrZXItc3RhcnQgb3ZlcmxpbmUtcG9zaXRpb24gb3ZlcmxpbmUtdGhpY2tuZXNzIHBhaW50LW9yZGVyIHBhbm9zZS0xIHBvaW50ZXItZXZlbnRzIHJlbmRlcmluZy1pbnRlbnQgc2hhcGUtcmVuZGVyaW5nIHN0b3AtY29sb3Igc3RvcC1vcGFjaXR5IHN0cmlrZXRocm91Z2gtcG9zaXRpb24gc3RyaWtldGhyb3VnaC10aGlja25lc3Mgc3Ryb2tlLWRhc2hhcnJheSBzdHJva2UtZGFzaG9mZnNldCBzdHJva2UtbGluZWNhcCBzdHJva2UtbGluZWpvaW4gc3Ryb2tlLW1pdGVybGltaXQgc3Ryb2tlLW9wYWNpdHkgc3Ryb2tlLXdpZHRoIHRleHQtYW5jaG9yIHRleHQtZGVjb3JhdGlvbiB0ZXh0LXJlbmRlcmluZyB1bmRlcmxpbmUtcG9zaXRpb24gdW5kZXJsaW5lLXRoaWNrbmVzcyB1bmljb2RlLWJpZGkgdW5pY29kZS1yYW5nZSB1bml0cy1wZXItZW0gdi1hbHBoYWJldGljIHYtaGFuZ2luZyB2LWlkZW9ncmFwaGljIHYtbWF0aGVtYXRpY2FsIHZlY3Rvci1lZmZlY3QgdmVydC1hZHYteSB2ZXJ0LW9yaWdpbi14IHZlcnQtb3JpZ2luLXkgd29yZC1zcGFjaW5nIHdyaXRpbmctbW9kZSB4bWxuczp4bGluayB4LWhlaWdodCIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbj1lLnJlcGxhY2Uodix5KTtnW25dPW5ldyBoKG4sMSwhMSxlLG51bGwsITEsITEpfSkpLCJ4bGluazphY3R1YXRlIHhsaW5rOmFyY3JvbGUgeGxpbms6cm9sZSB4bGluazpzaG93IHhsaW5rOnRpdGxlIHhsaW5rOnR5cGUiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZS5yZXBsYWNlKHYseSk7Z1tuXT1uZXcgaChuLDEsITEsZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsITEsITEpfSkpLFsieG1sOmJhc2UiLCJ4bWw6bGFuZyIsInhtbDpzcGFjZSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBuPWUucmVwbGFjZSh2LHkpO2dbbl09bmV3IGgobiwxLCExLGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsITEsITEpfSkpLFsidGFiSW5kZXgiLCJjcm9zc09yaWdpbiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwxLCExLGUudG9Mb3dlckNhc2UoKSxudWxsLCExLCExKX0pKSxnLnhsaW5rSHJlZj1uZXcgaCgieGxpbmtIcmVmIiwxLCExLCJ4bGluazpocmVmIiwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsITAsITEpLFsic3JjIiwiaHJlZiIsImFjdGlvbiIsImZvcm1BY3Rpb24iXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsMSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMCwhMCl9KSk7dmFyIGs9ci5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCx3PVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxTPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLHg9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxFPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksQz1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLHo9U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKSxOPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxfPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksUD1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLFQ9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLEw9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLE09U3ltYm9sLmZvcigicmVhY3QubGF6eSIpO1N5bWJvbC5mb3IoInJlYWN0LnNjb3BlIiksU3ltYm9sLmZvcigicmVhY3QuZGVidWdfdHJhY2VfbW9kZSIpO3ZhciBGPVN5bWJvbC5mb3IoInJlYWN0Lm9mZnNjcmVlbiIpO1N5bWJvbC5mb3IoInJlYWN0LmxlZ2FjeV9oaWRkZW4iKSxTeW1ib2wuZm9yKCJyZWFjdC5jYWNoZSIpLFN5bWJvbC5mb3IoInJlYWN0LnRyYWNpbmdfbWFya2VyIik7dmFyIFI9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIEQoZSl7CnJldHVybiBudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKGU9UiYmZVtSXXx8ZVsiQEBpdGVyYXRvciJdKT9lOm51bGx9dmFyIEksTz1PYmplY3QuYXNzaWduO2Z1bmN0aW9uIFUoZSl7aWYodm9pZCAwPT09SSl0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXt2YXIgbj1lLnN0YWNrLnRyaW0oKS5tYXRjaCgvXG4oICooYXQgKT8pLyk7ST1uJiZuWzFdfHwiIn1yZXR1cm4iXG4iK0krZX12YXIgVj0hMTtmdW5jdGlvbiBBKGUsbil7aWYoIWV8fFYpcmV0dXJuIiI7Vj0hMDt2YXIgdD1FcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT12b2lkIDA7dHJ5e2lmKG4paWYobj1mdW5jdGlvbigpe3Rocm93IEVycm9yKCl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSwicHJvcHMiLHtzZXQ6ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfX0pLCJvYmplY3QiPT10eXBlb2YgUmVmbGVjdCYmUmVmbGVjdC5jb25zdHJ1Y3Qpe3RyeXtSZWZsZWN0LmNvbnN0cnVjdChuLFtdKX1jYXRjaChlKXt2YXIgcj1lfVJlZmxlY3QuY29uc3RydWN0KGUsW10sbil9ZWxzZXt0cnl7bi5jYWxsKCl9Y2F0Y2goZSl7cj1lfWUuY2FsbChuLnByb3RvdHlwZSl9ZWxzZXt0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXtyPWV9ZSgpfX1jYXRjaChuKXtpZihuJiZyJiYic3RyaW5nIj09dHlwZW9mIG4uc3RhY2spe2Zvcih2YXIgbD1uLnN0YWNrLnNwbGl0KCJcbiIpLGE9ci5zdGFjay5zcGxpdCgiXG4iKSx1PWwubGVuZ3RoLTEsbz1hLmxlbmd0aC0xOzE8PXUmJjA8PW8mJmxbdV0hPT1hW29dOylvLS07Zm9yKDsxPD11JiYwPD1vO3UtLSxvLS0paWYobFt1XSE9PWFbb10pe2lmKDEhPT11fHwxIT09bylkb3tpZih1LS0sMD4tLW98fGxbdV0hPT1hW29dKXt2YXIgaT0iXG4iK2xbdV0ucmVwbGFjZSgiIGF0IG5ldyAiLCIgYXQgIik7cmV0dXJuIGUuZGlzcGxheU5hbWUmJmkuaW5jbHVkZXMoIjxhbm9ueW1vdXM+IikmJihpPWkucmVwbGFjZSgiPGFub255bW91cz4iLGUuZGlzcGxheU5hbWUpKSxpfX13aGlsZSgxPD11JiYwPD1vKTticmVha319fWZpbmFsbHl7Vj0hMSxFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT10fXJldHVybihlPWU/ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lOiIiKT9VKGUpOiIifWZ1bmN0aW9uIEIoZSl7c3dpdGNoKGUudGFnKXtjYXNlIDU6cmV0dXJuIFUoZS50eXBlKTtjYXNlIDE2OnJldHVybiBVKCJMYXp5Iik7Y2FzZSAxMzpyZXR1cm4gVSgiU3VzcGVuc2UiKTtjYXNlIDE5OnJldHVybiBVKCJTdXNwZW5zZUxpc3QiKTtjYXNlIDA6Y2FzZSAyOmNhc2UgMTU6cmV0dXJuIGU9QShlLnR5cGUsITEpO2Nhc2UgMTE6cmV0dXJuIGU9QShlLnR5cGUucmVuZGVyLCExKTtjYXNlIDE6cmV0dXJuIGU9QShlLnR5cGUsITApO2RlZmF1bHQ6cmV0dXJuIiJ9fWZ1bmN0aW9uIFcoZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gZS5kaXNwbGF5TmFtZXx8ZS5uYW1lfHxudWxsO2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gZTtzd2l0Y2goZSl7Y2FzZSB4OnJldHVybiJGcmFnbWVudCI7Y2FzZSBTOnJldHVybiJQb3J0YWwiO2Nhc2UgQzpyZXR1cm4iUHJvZmlsZXIiO2Nhc2UgRTpyZXR1cm4iU3RyaWN0TW9kZSI7Y2FzZSBQOnJldHVybiJTdXNwZW5zZSI7Y2FzZSBUOnJldHVybiJTdXNwZW5zZUxpc3QifWlmKCJvYmplY3QiPT10eXBlb2YgZSlzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBOOnJldHVybihlLmRpc3BsYXlOYW1lfHwiQ29udGV4dCIpKyIuQ29uc3VtZXIiO2Nhc2UgejpyZXR1cm4oZS5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIF86dmFyIG49ZS5yZW5kZXI7cmV0dXJuKGU9ZS5kaXNwbGF5TmFtZSl8fChlPSIiIT09KGU9bi5kaXNwbGF5TmFtZXx8bi5uYW1lfHwiIik/IkZvcndhcmRSZWYoIitlKyIpIjoiRm9yd2FyZFJlZiIpLGU7Y2FzZSBMOnJldHVybiBudWxsIT09KG49ZS5kaXNwbGF5TmFtZXx8bnVsbCk/bjpXKGUudHlwZSl8fCJNZW1vIjtjYXNlIE06bj1lLl9wYXlsb2FkLGU9ZS5faW5pdDt0cnl7cmV0dXJuIFcoZShuKSl9Y2F0Y2goZSl7fX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBIKGUpe3ZhciBuPWUudHlwZTtzd2l0Y2goZS50YWcpe2Nhc2UgMjQ6cmV0dXJuIkNhY2hlIjtjYXNlIDk6cmV0dXJuKG4uZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSAxMDpyZXR1cm4obi5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIDE4OnJldHVybiJEZWh5ZHJhdGVkRnJhZ21lbnQiO2Nhc2UgMTE6cmV0dXJuIGU9KGU9bi5yZW5kZXIpLmRpc3BsYXlOYW1lfHxlLm5hbWV8fCIiLG4uZGlzcGxheU5hbWV8fCgiIiE9PWU/IkZvcndhcmRSZWYoIitlKyIpIjoiRm9yd2FyZFJlZiIpO2Nhc2UgNzpyZXR1cm4iRnJhZ21lbnQiO2Nhc2UgNTpyZXR1cm4gbjtjYXNlIDQ6cmV0dXJuIlBvcnRhbCI7Y2FzZSAzOnJldHVybiJSb290IjtjYXNlIDY6cmV0dXJuIlRleHQiO2Nhc2UgMTY6cmV0dXJuIFcobik7Y2FzZSA4OnJldHVybiBuPT09RT8iU3RyaWN0TW9kZSI6Ik1vZGUiO2Nhc2UgMjI6cmV0dXJuIk9mZnNjcmVlbiI7Y2FzZSAxMjpyZXR1cm4iUHJvZmlsZXIiO2Nhc2UgMjE6cmV0dXJuIlNjb3BlIjtjYXNlIDEzOnJldHVybiJTdXNwZW5zZSI7Y2FzZSAxOTpyZXR1cm4iU3VzcGVuc2VMaXN0IjtjYXNlIDI1OnJldHVybiJUcmFjaW5nTWFya2VyIjtjYXNlIDE6Y2FzZSAwOmNhc2UgMTc6Y2FzZSAyOmNhc2UgMTQ6Y2FzZSAxNTppZigiZnVuY3Rpb24iPT10eXBlb2YgbilyZXR1cm4gbi5kaXNwbGF5TmFtZXx8bi5uYW1lfHxudWxsO2lmKCJzdHJpbmciPT10eXBlb2YgbilyZXR1cm4gbn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBRKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJib29sZWFuIjpjYXNlIm51bWJlciI6Y2FzZSJzdHJpbmciOmNhc2UidW5kZWZpbmVkIjpjYXNlIm9iamVjdCI6cmV0dXJuIGU7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gaihlKXt2YXIgbj1lLnR5cGUKO3JldHVybihlPWUubm9kZU5hbWUpJiYiaW5wdXQiPT09ZS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PW58fCJyYWRpbyI9PT1uKX1mdW5jdGlvbiAkKGUpe2UuX3ZhbHVlVHJhY2tlcnx8KGUuX3ZhbHVlVHJhY2tlcj1mdW5jdGlvbihlKXt2YXIgbj1qKGUpPyJjaGVja2VkIjoidmFsdWUiLHQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSxuKSxyPSIiK2Vbbl07aWYoIWUuaGFzT3duUHJvcGVydHkobikmJnZvaWQgMCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldCYmImZ1bmN0aW9uIj09dHlwZW9mIHQuc2V0KXt2YXIgbD10LmdldCxhPXQuc2V0O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGwuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKGUpe3I9IiIrZSxhLmNhbGwodGhpcyxlKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtlbnVtZXJhYmxlOnQuZW51bWVyYWJsZX0pLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiByfSxzZXRWYWx1ZTpmdW5jdGlvbihlKXtyPSIiK2V9LHN0b3BUcmFja2luZzpmdW5jdGlvbigpe2UuX3ZhbHVlVHJhY2tlcj1udWxsLGRlbGV0ZSBlW25dfX19fShlKSl9ZnVuY3Rpb24gcShlKXtpZighZSlyZXR1cm4hMTt2YXIgbj1lLl92YWx1ZVRyYWNrZXI7aWYoIW4pcmV0dXJuITA7dmFyIHQ9bi5nZXRWYWx1ZSgpLHI9IiI7cmV0dXJuIGUmJihyPWooZSk/ZS5jaGVja2VkPyJ0cnVlIjoiZmFsc2UiOmUudmFsdWUpLChlPXIpIT09dCYmKG4uc2V0VmFsdWUoZSksITApfWZ1bmN0aW9uIEsoZSl7aWYodm9pZCAwPT09KGU9ZXx8KCJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQ/ZG9jdW1lbnQ6dm9pZCAwKSkpcmV0dXJuIG51bGw7dHJ5e3JldHVybiBlLmFjdGl2ZUVsZW1lbnR8fGUuYm9keX1jYXRjaChuKXtyZXR1cm4gZS5ib2R5fX1mdW5jdGlvbiBZKGUsbil7dmFyIHQ9bi5jaGVja2VkO3JldHVybiBPKHt9LG4se2RlZmF1bHRDaGVja2VkOnZvaWQgMCxkZWZhdWx0VmFsdWU6dm9pZCAwLHZhbHVlOnZvaWQgMCxjaGVja2VkOm51bGwhPXQ/dDplLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWR9KX1mdW5jdGlvbiBYKGUsbil7dmFyIHQ9bnVsbD09bi5kZWZhdWx0VmFsdWU/IiI6bi5kZWZhdWx0VmFsdWUscj1udWxsIT1uLmNoZWNrZWQ/bi5jaGVja2VkOm4uZGVmYXVsdENoZWNrZWQ7dD1RKG51bGwhPW4udmFsdWU/bi52YWx1ZTp0KSxlLl93cmFwcGVyU3RhdGU9e2luaXRpYWxDaGVja2VkOnIsaW5pdGlhbFZhbHVlOnQsY29udHJvbGxlZDoiY2hlY2tib3giPT09bi50eXBlfHwicmFkaW8iPT09bi50eXBlP251bGwhPW4uY2hlY2tlZDpudWxsIT1uLnZhbHVlfX1mdW5jdGlvbiBHKGUsbil7bnVsbCE9KG49bi5jaGVja2VkKSYmYihlLCJjaGVja2VkIixuLCExKX1mdW5jdGlvbiBaKGUsbil7RyhlLG4pO3ZhciB0PVEobi52YWx1ZSkscj1uLnR5cGU7aWYobnVsbCE9dCkibnVtYmVyIj09PXI/KDA9PT10JiYiIj09PWUudmFsdWV8fGUudmFsdWUhPXQpJiYoZS52YWx1ZT0iIit0KTplLnZhbHVlIT09IiIrdCYmKGUudmFsdWU9IiIrdCk7ZWxzZSBpZigic3VibWl0Ij09PXJ8fCJyZXNldCI9PT1yKXJldHVybiB2b2lkIGUucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpO24uaGFzT3duUHJvcGVydHkoInZhbHVlIik/ZWUoZSxuLnR5cGUsdCk6bi5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdFZhbHVlIikmJmVlKGUsbi50eXBlLFEobi5kZWZhdWx0VmFsdWUpKSxudWxsPT1uLmNoZWNrZWQmJm51bGwhPW4uZGVmYXVsdENoZWNrZWQmJihlLmRlZmF1bHRDaGVja2VkPSEhbi5kZWZhdWx0Q2hlY2tlZCl9ZnVuY3Rpb24gSihlLG4sdCl7aWYobi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKXx8bi5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdFZhbHVlIikpe3ZhciByPW4udHlwZTtpZighKCJzdWJtaXQiIT09ciYmInJlc2V0IiE9PXJ8fHZvaWQgMCE9PW4udmFsdWUmJm51bGwhPT1uLnZhbHVlKSlyZXR1cm47bj0iIitlLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlLHR8fG49PT1lLnZhbHVlfHwoZS52YWx1ZT1uKSxlLmRlZmF1bHRWYWx1ZT1ufSIiIT09KHQ9ZS5uYW1lKSYmKGUubmFtZT0iIiksZS5kZWZhdWx0Q2hlY2tlZD0hIWUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsQ2hlY2tlZCwiIiE9PXQmJihlLm5hbWU9dCl9ZnVuY3Rpb24gZWUoZSxuLHQpeyJudW1iZXIiPT09biYmSyhlLm93bmVyRG9jdW1lbnQpPT09ZXx8KG51bGw9PXQ/ZS5kZWZhdWx0VmFsdWU9IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZTplLmRlZmF1bHRWYWx1ZSE9PSIiK3QmJihlLmRlZmF1bHRWYWx1ZT0iIit0KSl9dmFyIG5lPUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24gdGUoZSxuLHQscil7aWYoZT1lLm9wdGlvbnMsbil7bj17fTtmb3IodmFyIGw9MDtsPHQubGVuZ3RoO2wrKyluWyIkIit0W2xdXT0hMDtmb3IodD0wO3Q8ZS5sZW5ndGg7dCsrKWw9bi5oYXNPd25Qcm9wZXJ0eSgiJCIrZVt0XS52YWx1ZSksZVt0XS5zZWxlY3RlZCE9PWwmJihlW3RdLnNlbGVjdGVkPWwpLGwmJnImJihlW3RdLmRlZmF1bHRTZWxlY3RlZD0hMCl9ZWxzZXtmb3IodD0iIitRKHQpLG49bnVsbCxsPTA7bDxlLmxlbmd0aDtsKyspe2lmKGVbbF0udmFsdWU9PT10KXJldHVybiBlW2xdLnNlbGVjdGVkPSEwLHZvaWQociYmKGVbbF0uZGVmYXVsdFNlbGVjdGVkPSEwKSk7bnVsbCE9PW58fGVbbF0uZGlzYWJsZWR8fChuPWVbbF0pfW51bGwhPT1uJiYobi5zZWxlY3RlZD0hMCl9fWZ1bmN0aW9uIHJlKGUsbil7aWYobnVsbCE9bi5kYW5nZXJvdXNseVNldElubmVySFRNTCl0aHJvdyBFcnJvcihhKDkxKSk7cmV0dXJuIE8oe30sbix7dmFsdWU6dm9pZCAwLGRlZmF1bHRWYWx1ZTp2b2lkIDAsY2hpbGRyZW46IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZX0pfWZ1bmN0aW9uIGxlKGUsbil7dmFyIHQ9bi52YWx1ZTtpZihudWxsPT10KXtpZih0PW4uY2hpbGRyZW4sbj1uLmRlZmF1bHRWYWx1ZSxudWxsIT10KXtpZihudWxsIT1uKXRocm93IEVycm9yKGEoOTIpKTtpZihuZSh0KSl7CmlmKDE8dC5sZW5ndGgpdGhyb3cgRXJyb3IoYSg5MykpO3Q9dFswXX1uPXR9bnVsbD09biYmKG49IiIpLHQ9bn1lLl93cmFwcGVyU3RhdGU9e2luaXRpYWxWYWx1ZTpRKHQpfX1mdW5jdGlvbiBhZShlLG4pe3ZhciB0PVEobi52YWx1ZSkscj1RKG4uZGVmYXVsdFZhbHVlKTtudWxsIT10JiYoKHQ9IiIrdCkhPT1lLnZhbHVlJiYoZS52YWx1ZT10KSxudWxsPT1uLmRlZmF1bHRWYWx1ZSYmZS5kZWZhdWx0VmFsdWUhPT10JiYoZS5kZWZhdWx0VmFsdWU9dCkpLG51bGwhPXImJihlLmRlZmF1bHRWYWx1ZT0iIityKX1mdW5jdGlvbiB1ZShlKXt2YXIgbj1lLnRleHRDb250ZW50O249PT1lLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlJiYiIiE9PW4mJm51bGwhPT1uJiYoZS52YWx1ZT1uKX1mdW5jdGlvbiBvZShlKXtzd2l0Y2goZSl7Y2FzZSJzdmciOnJldHVybiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI7Y2FzZSJtYXRoIjpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI7ZGVmYXVsdDpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCJ9fWZ1bmN0aW9uIGllKGUsbil7cmV0dXJuIG51bGw9PWV8fCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/b2Uobik6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj09PWUmJiJmb3JlaWduT2JqZWN0Ij09PW4/Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiOmV9dmFyIHNlLGNlLGZlPShjZT1mdW5jdGlvbihlLG4pe2lmKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIhPT1lLm5hbWVzcGFjZVVSSXx8ImlubmVySFRNTCJpbiBlKWUuaW5uZXJIVE1MPW47ZWxzZXtmb3IoKHNlPXNlfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuaW5uZXJIVE1MPSI8c3ZnPiIrbi52YWx1ZU9mKCkudG9TdHJpbmcoKSsiPC9zdmc+IixuPXNlLmZpcnN0Q2hpbGQ7ZS5maXJzdENoaWxkOyllLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCk7Zm9yKDtuLmZpcnN0Q2hpbGQ7KWUuYXBwZW5kQ2hpbGQobi5maXJzdENoaWxkKX19LCJ1bmRlZmluZWQiIT10eXBlb2YgTVNBcHAmJk1TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uP2Z1bmN0aW9uKGUsbix0LHIpe01TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uKChmdW5jdGlvbigpe3JldHVybiBjZShlLG4pfSkpfTpjZSk7ZnVuY3Rpb24gZGUoZSxuKXtpZihuKXt2YXIgdD1lLmZpcnN0Q2hpbGQ7aWYodCYmdD09PWUubGFzdENoaWxkJiYzPT09dC5ub2RlVHlwZSlyZXR1cm4gdm9pZCh0Lm5vZGVWYWx1ZT1uKX1lLnRleHRDb250ZW50PW59dmFyIHBlPXthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxhc3BlY3RSYXRpbzohMCxib3JkZXJJbWFnZU91dHNldDohMCxib3JkZXJJbWFnZVNsaWNlOiEwLGJvcmRlckltYWdlV2lkdGg6ITAsYm94RmxleDohMCxib3hGbGV4R3JvdXA6ITAsYm94T3JkaW5hbEdyb3VwOiEwLGNvbHVtbkNvdW50OiEwLGNvbHVtbnM6ITAsZmxleDohMCxmbGV4R3JvdzohMCxmbGV4UG9zaXRpdmU6ITAsZmxleFNocmluazohMCxmbGV4TmVnYXRpdmU6ITAsZmxleE9yZGVyOiEwLGdyaWRBcmVhOiEwLGdyaWRSb3c6ITAsZ3JpZFJvd0VuZDohMCxncmlkUm93U3BhbjohMCxncmlkUm93U3RhcnQ6ITAsZ3JpZENvbHVtbjohMCxncmlkQ29sdW1uRW5kOiEwLGdyaWRDb2x1bW5TcGFuOiEwLGdyaWRDb2x1bW5TdGFydDohMCxmb250V2VpZ2h0OiEwLGxpbmVDbGFtcDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx0YWJTaXplOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMCxmaWxsT3BhY2l0eTohMCxmbG9vZE9wYWNpdHk6ITAsc3RvcE9wYWNpdHk6ITAsc3Ryb2tlRGFzaGFycmF5OiEwLHN0cm9rZURhc2hvZmZzZXQ6ITAsc3Ryb2tlTWl0ZXJsaW1pdDohMCxzdHJva2VPcGFjaXR5OiEwLHN0cm9rZVdpZHRoOiEwfSxtZT1bIldlYmtpdCIsIm1zIiwiTW96IiwiTyJdO2Z1bmN0aW9uIGhlKGUsbix0KXtyZXR1cm4gbnVsbD09bnx8ImJvb2xlYW4iPT10eXBlb2Ygbnx8IiI9PT1uPyIiOnR8fCJudW1iZXIiIT10eXBlb2Ygbnx8MD09PW58fHBlLmhhc093blByb3BlcnR5KGUpJiZwZVtlXT8oIiIrbikudHJpbSgpOm4rInB4In1mdW5jdGlvbiBnZShlLG4pe2Zvcih2YXIgdCBpbiBlPWUuc3R5bGUsbilpZihuLmhhc093blByb3BlcnR5KHQpKXt2YXIgcj0wPT09dC5pbmRleE9mKCItLSIpLGw9aGUodCxuW3RdLHIpOyJmbG9hdCI9PT10JiYodD0iY3NzRmxvYXQiKSxyP2Uuc2V0UHJvcGVydHkodCxsKTplW3RdPWx9fU9iamVjdC5rZXlzKHBlKS5mb3JFYWNoKChmdW5jdGlvbihlKXttZS5mb3JFYWNoKChmdW5jdGlvbihuKXtuPW4rZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnN1YnN0cmluZygxKSxwZVtuXT1wZVtlXX0pKX0pKTt2YXIgdmU9Tyh7bWVudWl0ZW06ITB9LHthcmVhOiEwLGJhc2U6ITAsYnI6ITAsY29sOiEwLGVtYmVkOiEwLGhyOiEwLGltZzohMCxpbnB1dDohMCxrZXlnZW46ITAsbGluazohMCxtZXRhOiEwLHBhcmFtOiEwLHNvdXJjZTohMCx0cmFjazohMCx3YnI6ITB9KTtmdW5jdGlvbiB5ZShlLG4pe2lmKG4pe2lmKHZlW2VdJiYobnVsbCE9bi5jaGlsZHJlbnx8bnVsbCE9bi5kYW5nZXJvdXNseVNldElubmVySFRNTCkpdGhyb3cgRXJyb3IoYSgxMzcsZSkpO2lmKG51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpe2lmKG51bGwhPW4uY2hpbGRyZW4pdGhyb3cgRXJyb3IoYSg2MCkpO2lmKCJvYmplY3QiIT10eXBlb2Ygbi5kYW5nZXJvdXNseVNldElubmVySFRNTHx8ISgiX19odG1sImluIG4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpKXRocm93IEVycm9yKGEoNjEpKX1pZihudWxsIT1uLnN0eWxlJiYib2JqZWN0IiE9dHlwZW9mIG4uc3R5bGUpdGhyb3cgRXJyb3IoYSg2MikpfX1mdW5jdGlvbiBiZShlLG4pe2lmKC0xPT09ZS5pbmRleE9mKCItIikpcmV0dXJuInN0cmluZyI9PXR5cGVvZiBuLmlzO3N3aXRjaChlKXtjYXNlImFubm90YXRpb24teG1sIjpjYXNlImNvbG9yLXByb2ZpbGUiOmNhc2UiZm9udC1mYWNlIjpjYXNlImZvbnQtZmFjZS1zcmMiOgpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIga2U9bnVsbDtmdW5jdGlvbiB3ZShlKXtyZXR1cm4oZT1lLnRhcmdldHx8ZS5zcmNFbGVtZW50fHx3aW5kb3cpLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50JiYoZT1lLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSwzPT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGU6ZX12YXIgU2U9bnVsbCx4ZT1udWxsLEVlPW51bGw7ZnVuY3Rpb24gQ2UoZSl7aWYoZT1ibChlKSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFNlKXRocm93IEVycm9yKGEoMjgwKSk7dmFyIG49ZS5zdGF0ZU5vZGU7biYmKG49d2wobiksU2UoZS5zdGF0ZU5vZGUsZS50eXBlLG4pKX19ZnVuY3Rpb24gemUoZSl7eGU/RWU/RWUucHVzaChlKTpFZT1bZV06eGU9ZX1mdW5jdGlvbiBOZSgpe2lmKHhlKXt2YXIgZT14ZSxuPUVlO2lmKEVlPXhlPW51bGwsQ2UoZSksbilmb3IoZT0wO2U8bi5sZW5ndGg7ZSsrKUNlKG5bZV0pfX1mdW5jdGlvbiBfZShlLG4pe3JldHVybiBlKG4pfWZ1bmN0aW9uIFBlKCl7fXZhciBUZT0hMTtmdW5jdGlvbiBMZShlLG4sdCl7aWYoVGUpcmV0dXJuIGUobix0KTtUZT0hMDt0cnl7cmV0dXJuIF9lKGUsbix0KX1maW5hbGx5e1RlPSExLChudWxsIT09eGV8fG51bGwhPT1FZSkmJihQZSgpLE5lKCkpfX1mdW5jdGlvbiBNZShlLG4pe3ZhciB0PWUuc3RhdGVOb2RlO2lmKG51bGw9PT10KXJldHVybiBudWxsO3ZhciByPXdsKHQpO2lmKG51bGw9PT1yKXJldHVybiBudWxsO3Q9cltuXTtlOnN3aXRjaChuKXtjYXNlIm9uQ2xpY2siOmNhc2Uib25DbGlja0NhcHR1cmUiOmNhc2Uib25Eb3VibGVDbGljayI6Y2FzZSJvbkRvdWJsZUNsaWNrQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlRG93biI6Y2FzZSJvbk1vdXNlRG93bkNhcHR1cmUiOmNhc2Uib25Nb3VzZU1vdmUiOmNhc2Uib25Nb3VzZU1vdmVDYXB0dXJlIjpjYXNlIm9uTW91c2VVcCI6Y2FzZSJvbk1vdXNlVXBDYXB0dXJlIjpjYXNlIm9uTW91c2VFbnRlciI6KHI9IXIuZGlzYWJsZWQpfHwocj0hKCJidXR0b24iPT09KGU9ZS50eXBlKXx8ImlucHV0Ij09PWV8fCJzZWxlY3QiPT09ZXx8InRleHRhcmVhIj09PWUpKSxlPSFyO2JyZWFrIGU7ZGVmYXVsdDplPSExfWlmKGUpcmV0dXJuIG51bGw7aWYodCYmImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgRXJyb3IoYSgyMzEsbix0eXBlb2YgdCkpO3JldHVybiB0fXZhciBGZT0hMTtpZihjKXRyeXt2YXIgUmU9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KFJlLCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7RmU9ITB9fSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLFJlLFJlKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsUmUsUmUpfWNhdGNoKGNlKXtGZT0hMX1mdW5jdGlvbiBEZShlLG4sdCxyLGwsYSx1LG8saSl7dmFyIHM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDMpO3RyeXtuLmFwcGx5KHQscyl9Y2F0Y2goZSl7dGhpcy5vbkVycm9yKGUpfX12YXIgSWU9ITEsT2U9bnVsbCxVZT0hMSxWZT1udWxsLEFlPXtvbkVycm9yOmZ1bmN0aW9uKGUpe0llPSEwLE9lPWV9fTtmdW5jdGlvbiBCZShlLG4sdCxyLGwsYSx1LG8saSl7SWU9ITEsT2U9bnVsbCxEZS5hcHBseShBZSxhcmd1bWVudHMpfWZ1bmN0aW9uIFdlKGUpe3ZhciBuPWUsdD1lO2lmKGUuYWx0ZXJuYXRlKWZvcig7bi5yZXR1cm47KW49bi5yZXR1cm47ZWxzZXtlPW47ZG97ISEoNDA5OCYobj1lKS5mbGFncykmJih0PW4ucmV0dXJuKSxlPW4ucmV0dXJufXdoaWxlKGUpfXJldHVybiAzPT09bi50YWc/dDpudWxsfWZ1bmN0aW9uIEhlKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPWUubWVtb2l6ZWRTdGF0ZTtpZihudWxsPT09biYmKG51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJihuPWUubWVtb2l6ZWRTdGF0ZSkpLG51bGwhPT1uKXJldHVybiBuLmRlaHlkcmF0ZWR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gUWUoZSl7aWYoV2UoZSkhPT1lKXRocm93IEVycm9yKGEoMTg4KSl9ZnVuY3Rpb24gamUoZSl7cmV0dXJuIG51bGwhPT0oZT1mdW5jdGlvbihlKXt2YXIgbj1lLmFsdGVybmF0ZTtpZighbil7aWYobnVsbD09PShuPVdlKGUpKSl0aHJvdyBFcnJvcihhKDE4OCkpO3JldHVybiBuIT09ZT9udWxsOmV9Zm9yKHZhciB0PWUscj1uOzspe3ZhciBsPXQucmV0dXJuO2lmKG51bGw9PT1sKWJyZWFrO3ZhciB1PWwuYWx0ZXJuYXRlO2lmKG51bGw9PT11KXtpZihudWxsIT09KHI9bC5yZXR1cm4pKXt0PXI7Y29udGludWV9YnJlYWt9aWYobC5jaGlsZD09PXUuY2hpbGQpe2Zvcih1PWwuY2hpbGQ7dTspe2lmKHU9PT10KXJldHVybiBRZShsKSxlO2lmKHU9PT1yKXJldHVybiBRZShsKSxuO3U9dS5zaWJsaW5nfXRocm93IEVycm9yKGEoMTg4KSl9aWYodC5yZXR1cm4hPT1yLnJldHVybil0PWwscj11O2Vsc2V7Zm9yKHZhciBvPSExLGk9bC5jaGlsZDtpOyl7aWYoaT09PXQpe289ITAsdD1sLHI9dTticmVha31pZihpPT09cil7bz0hMCxyPWwsdD11O2JyZWFrfWk9aS5zaWJsaW5nfWlmKCFvKXtmb3IoaT11LmNoaWxkO2k7KXtpZihpPT09dCl7bz0hMCx0PXUscj1sO2JyZWFrfWlmKGk9PT1yKXtvPSEwLHI9dSx0PWw7YnJlYWt9aT1pLnNpYmxpbmd9aWYoIW8pdGhyb3cgRXJyb3IoYSgxODkpKX19aWYodC5hbHRlcm5hdGUhPT1yKXRocm93IEVycm9yKGEoMTkwKSl9aWYoMyE9PXQudGFnKXRocm93IEVycm9yKGEoMTg4KSk7cmV0dXJuIHQuc3RhdGVOb2RlLmN1cnJlbnQ9PT10P2U6bn0oZSkpPyRlKGUpOm51bGx9ZnVuY3Rpb24gJGUoZSl7aWYoNT09PWUudGFnfHw2PT09ZS50YWcpcmV0dXJuIGU7Zm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe3ZhciBuPSRlKGUpO2lmKG51bGwhPT1uKXJldHVybiBuO2U9ZS5zaWJsaW5nfXJldHVybiBudWxsfQp2YXIgcWU9bC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrLEtlPWwudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2ssWWU9bC51bnN0YWJsZV9zaG91bGRZaWVsZCxYZT1sLnVuc3RhYmxlX3JlcXVlc3RQYWludCxHZT1sLnVuc3RhYmxlX25vdyxaZT1sLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsLEplPWwudW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHksZW49bC51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eSxubj1sLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LHRuPWwudW5zdGFibGVfTG93UHJpb3JpdHkscm49bC51bnN0YWJsZV9JZGxlUHJpb3JpdHksbG49bnVsbCxhbj1udWxsO3ZhciB1bj1NYXRoLmNsejMyP01hdGguY2x6MzI6ZnVuY3Rpb24oZSl7cmV0dXJuIGU+Pj49MCwwPT09ZT8zMjozMS0ob24oZSkvc258MCl8MH0sb249TWF0aC5sb2csc249TWF0aC5MTjI7dmFyIGNuPTY0LGZuPTQxOTQzMDQ7ZnVuY3Rpb24gZG4oZSl7c3dpdGNoKGUmLWUpe2Nhc2UgMTpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiA0O2Nhc2UgODpyZXR1cm4gODtjYXNlIDE2OnJldHVybiAxNjtjYXNlIDMyOnJldHVybiAzMjtjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiA0MTk0MjQwJmU7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6Y2FzZSA2NzEwODg2NDpyZXR1cm4gMTMwMDIzNDI0JmU7Y2FzZSAxMzQyMTc3Mjg6cmV0dXJuIDEzNDIxNzcyODtjYXNlIDI2ODQzNTQ1NjpyZXR1cm4gMjY4NDM1NDU2O2Nhc2UgNTM2ODcwOTEyOnJldHVybiA1MzY4NzA5MTI7Y2FzZSAxMDczNzQxODI0OnJldHVybiAxMDczNzQxODI0O2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIHBuKGUsbil7dmFyIHQ9ZS5wZW5kaW5nTGFuZXM7aWYoMD09PXQpcmV0dXJuIDA7dmFyIHI9MCxsPWUuc3VzcGVuZGVkTGFuZXMsYT1lLnBpbmdlZExhbmVzLHU9MjY4NDM1NDU1JnQ7aWYoMCE9PXUpe3ZhciBvPXUmfmw7MCE9PW8/cj1kbihvKTowIT09KGEmPXUpJiYocj1kbihhKSl9ZWxzZSAwIT09KHU9dCZ+bCk/cj1kbih1KTowIT09YSYmKHI9ZG4oYSkpO2lmKDA9PT1yKXJldHVybiAwO2lmKDAhPT1uJiZuIT09ciYmIShuJmwpJiYoKGw9ciYtcik+PShhPW4mLW4pfHwxNj09PWwmJjQxOTQyNDAmYSkpcmV0dXJuIG47aWYoNCZyJiYocnw9MTYmdCksMCE9PShuPWUuZW50YW5nbGVkTGFuZXMpKWZvcihlPWUuZW50YW5nbGVtZW50cyxuJj1yOzA8bjspbD0xPDwodD0zMS11bihuKSkscnw9ZVt0XSxuJj1+bDtyZXR1cm4gcn1mdW5jdGlvbiBtbihlLG4pe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgNDpyZXR1cm4gbisyNTA7Y2FzZSA4OmNhc2UgMTY6Y2FzZSAzMjpjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiBuKzVlMztkZWZhdWx0OnJldHVybi0xfX1mdW5jdGlvbiBobihlKXtyZXR1cm4gMCE9PShlPS0xMDczNzQxODI1JmUucGVuZGluZ0xhbmVzKT9lOjEwNzM3NDE4MjQmZT8xMDczNzQxODI0OjB9ZnVuY3Rpb24gZ24oKXt2YXIgZT1jbjtyZXR1cm4hKDQxOTQyNDAmKGNuPDw9MSkpJiYoY249NjQpLGV9ZnVuY3Rpb24gdm4oZSl7Zm9yKHZhciBuPVtdLHQ9MDszMT50O3QrKyluLnB1c2goZSk7cmV0dXJuIG59ZnVuY3Rpb24geW4oZSxuLHQpe2UucGVuZGluZ0xhbmVzfD1uLDUzNjg3MDkxMiE9PW4mJihlLnN1c3BlbmRlZExhbmVzPTAsZS5waW5nZWRMYW5lcz0wKSwoZT1lLmV2ZW50VGltZXMpW249MzEtdW4obildPXR9ZnVuY3Rpb24gYm4oZSxuKXt2YXIgdD1lLmVudGFuZ2xlZExhbmVzfD1uO2ZvcihlPWUuZW50YW5nbGVtZW50czt0Oyl7dmFyIHI9MzEtdW4odCksbD0xPDxyO2wmbnxlW3JdJm4mJihlW3JdfD1uKSx0Jj1+bH19dmFyIGtuPTA7ZnVuY3Rpb24gd24oZSl7cmV0dXJuIDE8KGUmPS1lKT80PGU/MjY4NDM1NDU1JmU/MTY6NTM2ODcwOTEyOjQ6MX12YXIgU24seG4sRW4sQ24sem4sTm49ITEsX249W10sUG49bnVsbCxUbj1udWxsLExuPW51bGwsTW49bmV3IE1hcCxGbj1uZXcgTWFwLFJuPVtdLERuPSJtb3VzZWRvd24gbW91c2V1cCB0b3VjaGNhbmNlbCB0b3VjaGVuZCB0b3VjaHN0YXJ0IGF1eGNsaWNrIGRibGNsaWNrIHBvaW50ZXJjYW5jZWwgcG9pbnRlcmRvd24gcG9pbnRlcnVwIGRyYWdlbmQgZHJhZ3N0YXJ0IGRyb3AgY29tcG9zaXRpb25lbmQgY29tcG9zaXRpb25zdGFydCBrZXlkb3duIGtleXByZXNzIGtleXVwIGlucHV0IHRleHRJbnB1dCBjb3B5IGN1dCBwYXN0ZSBjbGljayBjaGFuZ2UgY29udGV4dG1lbnUgcmVzZXQgc3VibWl0Ii5zcGxpdCgiICIpO2Z1bmN0aW9uIEluKGUsbil7c3dpdGNoKGUpe2Nhc2UiZm9jdXNpbiI6Y2FzZSJmb2N1c291dCI6UG49bnVsbDticmVhaztjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnbGVhdmUiOlRuPW51bGw7YnJlYWs7Y2FzZSJtb3VzZW92ZXIiOmNhc2UibW91c2VvdXQiOkxuPW51bGw7YnJlYWs7Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVyb3V0IjpNbi5kZWxldGUobi5wb2ludGVySWQpO2JyZWFrO2Nhc2UiZ290cG9pbnRlcmNhcHR1cmUiOmNhc2UibG9zdHBvaW50ZXJjYXB0dXJlIjpGbi5kZWxldGUobi5wb2ludGVySWQpfX1mdW5jdGlvbiBPbihlLG4sdCxyLGwsYSl7cmV0dXJuIG51bGw9PT1lfHxlLm5hdGl2ZUV2ZW50IT09YT8oZT17YmxvY2tlZE9uOm4sZG9tRXZlbnROYW1lOnQsZXZlbnRTeXN0ZW1GbGFnczpyLG5hdGl2ZUV2ZW50OmEsdGFyZ2V0Q29udGFpbmVyczpbbF19LG51bGwhPT1uJiYobnVsbCE9PShuPWJsKG4pKSYmeG4obikpLAplKTooZS5ldmVudFN5c3RlbUZsYWdzfD1yLG49ZS50YXJnZXRDb250YWluZXJzLG51bGwhPT1sJiYtMT09PW4uaW5kZXhPZihsKSYmbi5wdXNoKGwpLGUpfWZ1bmN0aW9uIFVuKGUpe3ZhciBuPXlsKGUudGFyZ2V0KTtpZihudWxsIT09bil7dmFyIHQ9V2Uobik7aWYobnVsbCE9PXQpaWYoMTM9PT0obj10LnRhZykpe2lmKG51bGwhPT0obj1IZSh0KSkpcmV0dXJuIGUuYmxvY2tlZE9uPW4sdm9pZCB6bihlLnByaW9yaXR5LChmdW5jdGlvbigpe0VuKHQpfSkpfWVsc2UgaWYoMz09PW4mJnQuc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpcmV0dXJuIHZvaWQoZS5ibG9ja2VkT249Mz09PXQudGFnP3Quc3RhdGVOb2RlLmNvbnRhaW5lckluZm86bnVsbCl9ZS5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBWbihlKXtpZihudWxsIT09ZS5ibG9ja2VkT24pcmV0dXJuITE7Zm9yKHZhciBuPWUudGFyZ2V0Q29udGFpbmVyczswPG4ubGVuZ3RoOyl7dmFyIHQ9WG4oZS5kb21FdmVudE5hbWUsZS5ldmVudFN5c3RlbUZsYWdzLG5bMF0sZS5uYXRpdmVFdmVudCk7aWYobnVsbCE9PXQpcmV0dXJuIG51bGwhPT0obj1ibCh0KSkmJnhuKG4pLGUuYmxvY2tlZE9uPXQsITE7dmFyIHI9bmV3KHQ9ZS5uYXRpdmVFdmVudCkuY29uc3RydWN0b3IodC50eXBlLHQpO2tlPXIsdC50YXJnZXQuZGlzcGF0Y2hFdmVudChyKSxrZT1udWxsLG4uc2hpZnQoKX1yZXR1cm4hMH1mdW5jdGlvbiBBbihlLG4sdCl7Vm4oZSkmJnQuZGVsZXRlKG4pfWZ1bmN0aW9uIEJuKCl7Tm49ITEsbnVsbCE9PVBuJiZWbihQbikmJihQbj1udWxsKSxudWxsIT09VG4mJlZuKFRuKSYmKFRuPW51bGwpLG51bGwhPT1MbiYmVm4oTG4pJiYoTG49bnVsbCksTW4uZm9yRWFjaChBbiksRm4uZm9yRWFjaChBbil9ZnVuY3Rpb24gV24oZSxuKXtlLmJsb2NrZWRPbj09PW4mJihlLmJsb2NrZWRPbj1udWxsLE5ufHwoTm49ITAsbC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKGwudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksQm4pKSl9ZnVuY3Rpb24gSG4oZSl7ZnVuY3Rpb24gbihuKXtyZXR1cm4gV24obixlKX1pZigwPF9uLmxlbmd0aCl7V24oX25bMF0sZSk7Zm9yKHZhciB0PTE7dDxfbi5sZW5ndGg7dCsrKXt2YXIgcj1fblt0XTtyLmJsb2NrZWRPbj09PWUmJihyLmJsb2NrZWRPbj1udWxsKX19Zm9yKG51bGwhPT1QbiYmV24oUG4sZSksbnVsbCE9PVRuJiZXbihUbixlKSxudWxsIT09TG4mJlduKExuLGUpLE1uLmZvckVhY2gobiksRm4uZm9yRWFjaChuKSx0PTA7dDxSbi5sZW5ndGg7dCsrKShyPVJuW3RdKS5ibG9ja2VkT249PT1lJiYoci5ibG9ja2VkT249bnVsbCk7Zm9yKDswPFJuLmxlbmd0aCYmbnVsbD09PSh0PVJuWzBdKS5ibG9ja2VkT247KVVuKHQpLG51bGw9PT10LmJsb2NrZWRPbiYmUm4uc2hpZnQoKX12YXIgUW49ay5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxqbj0hMDtmdW5jdGlvbiAkbihlLG4sdCxyKXt2YXIgbD1rbixhPVFuLnRyYW5zaXRpb247UW4udHJhbnNpdGlvbj1udWxsO3RyeXtrbj0xLEtuKGUsbix0LHIpfWZpbmFsbHl7a249bCxRbi50cmFuc2l0aW9uPWF9fWZ1bmN0aW9uIHFuKGUsbix0LHIpe3ZhciBsPWtuLGE9UW4udHJhbnNpdGlvbjtRbi50cmFuc2l0aW9uPW51bGw7dHJ5e2tuPTQsS24oZSxuLHQscil9ZmluYWxseXtrbj1sLFFuLnRyYW5zaXRpb249YX19ZnVuY3Rpb24gS24oZSxuLHQscil7aWYoam4pe3ZhciBsPVhuKGUsbix0LHIpO2lmKG51bGw9PT1sKVFyKGUsbixyLFluLHQpLEluKGUscik7ZWxzZSBpZihmdW5jdGlvbihlLG4sdCxyLGwpe3N3aXRjaChuKXtjYXNlImZvY3VzaW4iOnJldHVybiBQbj1PbihQbixlLG4sdCxyLGwpLCEwO2Nhc2UiZHJhZ2VudGVyIjpyZXR1cm4gVG49T24oVG4sZSxuLHQscixsKSwhMDtjYXNlIm1vdXNlb3ZlciI6cmV0dXJuIExuPU9uKExuLGUsbix0LHIsbCksITA7Y2FzZSJwb2ludGVyb3ZlciI6dmFyIGE9bC5wb2ludGVySWQ7cmV0dXJuIE1uLnNldChhLE9uKE1uLmdldChhKXx8bnVsbCxlLG4sdCxyLGwpKSwhMDtjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpyZXR1cm4gYT1sLnBvaW50ZXJJZCxGbi5zZXQoYSxPbihGbi5nZXQoYSl8fG51bGwsZSxuLHQscixsKSksITB9cmV0dXJuITF9KGwsZSxuLHQscikpci5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKEluKGUsciksNCZuJiYtMTxEbi5pbmRleE9mKGUpKXtmb3IoO251bGwhPT1sOyl7dmFyIGE9YmwobCk7aWYobnVsbCE9PWEmJlNuKGEpLG51bGw9PT0oYT1YbihlLG4sdCxyKSkmJlFyKGUsbixyLFluLHQpLGE9PT1sKWJyZWFrO2w9YX1udWxsIT09bCYmci5zdG9wUHJvcGFnYXRpb24oKX1lbHNlIFFyKGUsbixyLG51bGwsdCl9fXZhciBZbj1udWxsO2Z1bmN0aW9uIFhuKGUsbix0LHIpe2lmKFluPW51bGwsbnVsbCE9PShlPXlsKGU9d2UocikpKSlpZihudWxsPT09KG49V2UoZSkpKWU9bnVsbDtlbHNlIGlmKDEzPT09KHQ9bi50YWcpKXtpZihudWxsIT09KGU9SGUobikpKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKDM9PT10KXtpZihuLnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXJldHVybiAzPT09bi50YWc/bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzpudWxsO2U9bnVsbH1lbHNlIG4hPT1lJiYoZT1udWxsKTtyZXR1cm4gWW49ZSxudWxsfWZ1bmN0aW9uIEduKGUpe3N3aXRjaChlKXtjYXNlImNhbmNlbCI6Y2FzZSJjbGljayI6Y2FzZSJjbG9zZSI6Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjpjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmNhc2UiaW5wdXQiOmNhc2UiaW52YWxpZCI6Y2FzZSJrZXlkb3duIjpjYXNlImtleXByZXNzIjpjYXNlImtleXVwIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZXVwIjpjYXNlInBhc3RlIjpjYXNlInBhdXNlIjpjYXNlInBsYXkiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVydXAiOmNhc2UicmF0ZWNoYW5nZSI6CmNhc2UicmVzZXQiOmNhc2UicmVzaXplIjpjYXNlInNlZWtlZCI6Y2FzZSJzdWJtaXQiOmNhc2UidG91Y2hjYW5jZWwiOmNhc2UidG91Y2hlbmQiOmNhc2UidG91Y2hzdGFydCI6Y2FzZSJ2b2x1bWVjaGFuZ2UiOmNhc2UiY2hhbmdlIjpjYXNlInNlbGVjdGlvbmNoYW5nZSI6Y2FzZSJ0ZXh0SW5wdXQiOmNhc2UiY29tcG9zaXRpb25zdGFydCI6Y2FzZSJjb21wb3NpdGlvbmVuZCI6Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Y2FzZSJiZWZvcmVibHVyIjpjYXNlImFmdGVyYmx1ciI6Y2FzZSJiZWZvcmVpbnB1dCI6Y2FzZSJibHVyIjpjYXNlImZ1bGxzY3JlZW5jaGFuZ2UiOmNhc2UiZm9jdXMiOmNhc2UiaGFzaGNoYW5nZSI6Y2FzZSJwb3BzdGF0ZSI6Y2FzZSJzZWxlY3QiOmNhc2Uic2VsZWN0c3RhcnQiOnJldHVybiAxO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJzY3JvbGwiOmNhc2UidG9nZ2xlIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ3aGVlbCI6Y2FzZSJtb3VzZWVudGVyIjpjYXNlIm1vdXNlbGVhdmUiOmNhc2UicG9pbnRlcmVudGVyIjpjYXNlInBvaW50ZXJsZWF2ZSI6cmV0dXJuIDQ7Y2FzZSJtZXNzYWdlIjpzd2l0Y2goWmUoKSl7Y2FzZSBKZTpyZXR1cm4gMTtjYXNlIGVuOnJldHVybiA0O2Nhc2Ugbm46Y2FzZSB0bjpyZXR1cm4gMTY7Y2FzZSBybjpyZXR1cm4gNTM2ODcwOTEyO2RlZmF1bHQ6cmV0dXJuIDE2fWRlZmF1bHQ6cmV0dXJuIDE2fX12YXIgWm49bnVsbCxKbj1udWxsLGV0PW51bGw7ZnVuY3Rpb24gbnQoKXtpZihldClyZXR1cm4gZXQ7dmFyIGUsbix0PUpuLHI9dC5sZW5ndGgsbD0idmFsdWUiaW4gWm4/Wm4udmFsdWU6Wm4udGV4dENvbnRlbnQsYT1sLmxlbmd0aDtmb3IoZT0wO2U8ciYmdFtlXT09PWxbZV07ZSsrKTt2YXIgdT1yLWU7Zm9yKG49MTtuPD11JiZ0W3Itbl09PT1sW2Etbl07bisrKTtyZXR1cm4gZXQ9bC5zbGljZShlLDE8bj8xLW46dm9pZCAwKX1mdW5jdGlvbiB0dChlKXt2YXIgbj1lLmtleUNvZGU7cmV0dXJuImNoYXJDb2RlImluIGU/MD09PShlPWUuY2hhckNvZGUpJiYxMz09PW4mJihlPTEzKTplPW4sMTA9PT1lJiYoZT0xMyksMzI8PWV8fDEzPT09ZT9lOjB9ZnVuY3Rpb24gcnQoKXtyZXR1cm4hMH1mdW5jdGlvbiBsdCgpe3JldHVybiExfWZ1bmN0aW9uIGF0KGUpe2Z1bmN0aW9uIG4obix0LHIsbCxhKXtmb3IodmFyIHUgaW4gdGhpcy5fcmVhY3ROYW1lPW4sdGhpcy5fdGFyZ2V0SW5zdD1yLHRoaXMudHlwZT10LHRoaXMubmF0aXZlRXZlbnQ9bCx0aGlzLnRhcmdldD1hLHRoaXMuY3VycmVudFRhcmdldD1udWxsLGUpZS5oYXNPd25Qcm9wZXJ0eSh1KSYmKG49ZVt1XSx0aGlzW3VdPW4/bihsKTpsW3VdKTtyZXR1cm4gdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9KG51bGwhPWwuZGVmYXVsdFByZXZlbnRlZD9sLmRlZmF1bHRQcmV2ZW50ZWQ6ITE9PT1sLnJldHVyblZhbHVlKT9ydDpsdCx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPWx0LHRoaXN9cmV0dXJuIE8obi5wcm90b3R5cGUse3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwO3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOiJ1bmtub3duIiE9dHlwZW9mIGUucmV0dXJuVmFsdWUmJihlLnJldHVyblZhbHVlPSExKSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1ydCl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uP2Uuc3RvcFByb3BhZ2F0aW9uKCk6InVua25vd24iIT10eXBlb2YgZS5jYW5jZWxCdWJibGUmJihlLmNhbmNlbEJ1YmJsZT0hMCksdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1ydCl9LHBlcnNpc3Q6ZnVuY3Rpb24oKXt9LGlzUGVyc2lzdGVudDpydH0pLG59dmFyIHV0LG90LGl0LHN0PXtldmVudFBoYXNlOjAsYnViYmxlczowLGNhbmNlbGFibGU6MCx0aW1lU3RhbXA6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudGltZVN0YW1wfHxEYXRlLm5vdygpfSxkZWZhdWx0UHJldmVudGVkOjAsaXNUcnVzdGVkOjB9LGN0PWF0KHN0KSxmdD1PKHt9LHN0LHt2aWV3OjAsZGV0YWlsOjB9KSxkdD1hdChmdCkscHQ9Tyh7fSxmdCx7c2NyZWVuWDowLHNjcmVlblk6MCxjbGllbnRYOjAsY2xpZW50WTowLHBhZ2VYOjAscGFnZVk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTpDdCxidXR0b246MCxidXR0b25zOjAscmVsYXRlZFRhcmdldDpmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZS5yZWxhdGVkVGFyZ2V0P2UuZnJvbUVsZW1lbnQ9PT1lLnNyY0VsZW1lbnQ/ZS50b0VsZW1lbnQ6ZS5mcm9tRWxlbWVudDplLnJlbGF0ZWRUYXJnZXR9LG1vdmVtZW50WDpmdW5jdGlvbihlKXtyZXR1cm4ibW92ZW1lbnRYImluIGU/ZS5tb3ZlbWVudFg6KGUhPT1pdCYmKGl0JiYibW91c2Vtb3ZlIj09PWUudHlwZT8odXQ9ZS5zY3JlZW5YLWl0LnNjcmVlblgsb3Q9ZS5zY3JlZW5ZLWl0LnNjcmVlblkpOm90PXV0PTAsaXQ9ZSksdXQpfSxtb3ZlbWVudFk6ZnVuY3Rpb24oZSl7cmV0dXJuIm1vdmVtZW50WSJpbiBlP2UubW92ZW1lbnRZOm90fX0pLG10PWF0KHB0KSxodD1hdChPKHt9LHB0LHtkYXRhVHJhbnNmZXI6MH0pKSxndD1hdChPKHt9LGZ0LHtyZWxhdGVkVGFyZ2V0OjB9KSksdnQ9YXQoTyh7fSxzdCx7YW5pbWF0aW9uTmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLHl0PU8oe30sc3Qse2NsaXBib2FyZERhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuImNsaXBib2FyZERhdGEiaW4gZT9lLmNsaXBib2FyZERhdGE6d2luZG93LmNsaXBib2FyZERhdGF9fSksYnQ9YXQoeXQpLGt0PWF0KE8oe30sc3Qse2RhdGE6MH0pKSx3dD17RXNjOiJFc2NhcGUiLFNwYWNlYmFyOiIgIixMZWZ0OiJBcnJvd0xlZnQiLApVcDoiQXJyb3dVcCIsUmlnaHQ6IkFycm93UmlnaHQiLERvd246IkFycm93RG93biIsRGVsOiJEZWxldGUiLFdpbjoiT1MiLE1lbnU6IkNvbnRleHRNZW51IixBcHBzOiJDb250ZXh0TWVudSIsU2Nyb2xsOiJTY3JvbGxMb2NrIixNb3pQcmludGFibGVLZXk6IlVuaWRlbnRpZmllZCJ9LFN0PXs4OiJCYWNrc3BhY2UiLDk6IlRhYiIsMTI6IkNsZWFyIiwxMzoiRW50ZXIiLDE2OiJTaGlmdCIsMTc6IkNvbnRyb2wiLDE4OiJBbHQiLDE5OiJQYXVzZSIsMjA6IkNhcHNMb2NrIiwyNzoiRXNjYXBlIiwzMjoiICIsMzM6IlBhZ2VVcCIsMzQ6IlBhZ2VEb3duIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IkFycm93TGVmdCIsMzg6IkFycm93VXAiLDM5OiJBcnJvd1JpZ2h0Iiw0MDoiQXJyb3dEb3duIiw0NToiSW5zZXJ0Iiw0NjoiRGVsZXRlIiwxMTI6IkYxIiwxMTM6IkYyIiwxMTQ6IkYzIiwxMTU6IkY0IiwxMTY6IkY1IiwxMTc6IkY2IiwxMTg6IkY3IiwxMTk6IkY4IiwxMjA6IkY5IiwxMjE6IkYxMCIsMTIyOiJGMTEiLDEyMzoiRjEyIiwxNDQ6Ik51bUxvY2siLDE0NToiU2Nyb2xsTG9jayIsMjI0OiJNZXRhIn0seHQ9e0FsdDoiYWx0S2V5IixDb250cm9sOiJjdHJsS2V5IixNZXRhOiJtZXRhS2V5IixTaGlmdDoic2hpZnRLZXkifTtmdW5jdGlvbiBFdChlKXt2YXIgbj10aGlzLm5hdGl2ZUV2ZW50O3JldHVybiBuLmdldE1vZGlmaWVyU3RhdGU/bi5nZXRNb2RpZmllclN0YXRlKGUpOiEhKGU9eHRbZV0pJiYhIW5bZV19ZnVuY3Rpb24gQ3QoKXtyZXR1cm4gRXR9dmFyIHp0PU8oe30sZnQse2tleTpmdW5jdGlvbihlKXtpZihlLmtleSl7dmFyIG49d3RbZS5rZXldfHxlLmtleTtpZigiVW5pZGVudGlmaWVkIiE9PW4pcmV0dXJuIG59cmV0dXJuImtleXByZXNzIj09PWUudHlwZT8xMz09PShlPXR0KGUpKT8iRW50ZXIiOlN0cmluZy5mcm9tQ2hhckNvZGUoZSk6ImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP1N0W2Uua2V5Q29kZV18fCJVbmlkZW50aWZpZWQiOiIifSxjb2RlOjAsbG9jYXRpb246MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAscmVwZWF0OjAsbG9jYWxlOjAsZ2V0TW9kaWZpZXJTdGF0ZTpDdCxjaGFyQ29kZTpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3R0KGUpOjB9LGtleUNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP2Uua2V5Q29kZTowfSx3aGljaDpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3R0KGUpOiJrZXlkb3duIj09PWUudHlwZXx8ImtleXVwIj09PWUudHlwZT9lLmtleUNvZGU6MH19KSxOdD1hdCh6dCksX3Q9YXQoTyh7fSxwdCx7cG9pbnRlcklkOjAsd2lkdGg6MCxoZWlnaHQ6MCxwcmVzc3VyZTowLHRhbmdlbnRpYWxQcmVzc3VyZTowLHRpbHRYOjAsdGlsdFk6MCx0d2lzdDowLHBvaW50ZXJUeXBlOjAsaXNQcmltYXJ5OjB9KSksUHQ9YXQoTyh7fSxmdCx7dG91Y2hlczowLHRhcmdldFRvdWNoZXM6MCxjaGFuZ2VkVG91Y2hlczowLGFsdEtleTowLG1ldGFLZXk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxnZXRNb2RpZmllclN0YXRlOkN0fSkpLFR0PWF0KE8oe30sc3Qse3Byb3BlcnR5TmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLEx0PU8oe30scHQse2RlbHRhWDpmdW5jdGlvbihlKXtyZXR1cm4iZGVsdGFYImluIGU/ZS5kZWx0YVg6IndoZWVsRGVsdGFYImluIGU/LWUud2hlZWxEZWx0YVg6MH0sZGVsdGFZOmZ1bmN0aW9uKGUpe3JldHVybiJkZWx0YVkiaW4gZT9lLmRlbHRhWToid2hlZWxEZWx0YVkiaW4gZT8tZS53aGVlbERlbHRhWToid2hlZWxEZWx0YSJpbiBlPy1lLndoZWVsRGVsdGE6MH0sZGVsdGFaOjAsZGVsdGFNb2RlOjB9KSxNdD1hdChMdCksRnQ9WzksMTMsMjcsMzJdLFJ0PWMmJiJDb21wb3NpdGlvbkV2ZW50ImluIHdpbmRvdyxEdD1udWxsO2MmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJihEdD1kb2N1bWVudC5kb2N1bWVudE1vZGUpO3ZhciBJdD1jJiYiVGV4dEV2ZW50ImluIHdpbmRvdyYmIUR0LE90PWMmJighUnR8fER0JiY4PER0JiYxMT49RHQpLFV0PVN0cmluZy5mcm9tQ2hhckNvZGUoMzIpLFZ0PSExO2Z1bmN0aW9uIEF0KGUsbil7c3dpdGNoKGUpe2Nhc2Uia2V5dXAiOnJldHVybi0xIT09RnQuaW5kZXhPZihuLmtleUNvZGUpO2Nhc2Uia2V5ZG93biI6cmV0dXJuIDIyOSE9PW4ua2V5Q29kZTtjYXNlImtleXByZXNzIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJmb2N1c291dCI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gQnQoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZihlPWUuZGV0YWlsKSYmImRhdGEiaW4gZT9lLmRhdGE6bnVsbH12YXIgV3Q9ITE7dmFyIEh0PXtjb2xvcjohMCxkYXRlOiEwLGRhdGV0aW1lOiEwLCJkYXRldGltZS1sb2NhbCI6ITAsZW1haWw6ITAsbW9udGg6ITAsbnVtYmVyOiEwLHBhc3N3b3JkOiEwLHJhbmdlOiEwLHNlYXJjaDohMCx0ZWw6ITAsdGV4dDohMCx0aW1lOiEwLHVybDohMCx3ZWVrOiEwfTtmdW5jdGlvbiBRdChlKXt2YXIgbj1lJiZlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PW4/ISFIdFtlLnR5cGVdOiJ0ZXh0YXJlYSI9PT1ufWZ1bmN0aW9uIGp0KGUsbix0LHIpe3plKHIpLDA8KG49JHIobiwib25DaGFuZ2UiKSkubGVuZ3RoJiYodD1uZXcgY3QoIm9uQ2hhbmdlIiwiY2hhbmdlIixudWxsLHQsciksZS5wdXNoKHtldmVudDp0LGxpc3RlbmVyczpufSkpfXZhciAkdD1udWxsLHF0PW51bGw7ZnVuY3Rpb24gS3QoZSl7VXIoZSwwKX1mdW5jdGlvbiBZdChlKXtpZihxKGtsKGUpKSlyZXR1cm4gZX1mdW5jdGlvbiBYdChlLG4pe2lmKCJjaGFuZ2UiPT09ZSlyZXR1cm4gbn12YXIgR3Q9ITE7aWYoYyl7dmFyIFp0O2lmKGMpe3ZhciBKdD0ib25pbnB1dCJpbiBkb2N1bWVudDtpZighSnQpe3ZhciBlcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlci5zZXRBdHRyaWJ1dGUoIm9uaW5wdXQiLCJyZXR1cm47IiksSnQ9ImZ1bmN0aW9uIj09dHlwZW9mIGVyLm9uaW5wdXR9WnQ9SnQKfWVsc2UgWnQ9ITE7R3Q9WnQmJighZG9jdW1lbnQuZG9jdW1lbnRNb2RlfHw5PGRvY3VtZW50LmRvY3VtZW50TW9kZSl9ZnVuY3Rpb24gbnIoKXskdCYmKCR0LmRldGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIix0cikscXQ9JHQ9bnVsbCl9ZnVuY3Rpb24gdHIoZSl7aWYoInZhbHVlIj09PWUucHJvcGVydHlOYW1lJiZZdChxdCkpe3ZhciBuPVtdO2p0KG4scXQsZSx3ZShlKSksTGUoS3Qsbil9fWZ1bmN0aW9uIHJyKGUsbix0KXsiZm9jdXNpbiI9PT1lPyhucigpLHF0PXQsKCR0PW4pLmF0dGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIix0cikpOiJmb2N1c291dCI9PT1lJiZucigpfWZ1bmN0aW9uIGxyKGUpe2lmKCJzZWxlY3Rpb25jaGFuZ2UiPT09ZXx8ImtleXVwIj09PWV8fCJrZXlkb3duIj09PWUpcmV0dXJuIFl0KHF0KX1mdW5jdGlvbiBhcihlLG4pe2lmKCJjbGljayI9PT1lKXJldHVybiBZdChuKX1mdW5jdGlvbiB1cihlLG4pe2lmKCJpbnB1dCI9PT1lfHwiY2hhbmdlIj09PWUpcmV0dXJuIFl0KG4pfXZhciBvcj0iZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmlzP09iamVjdC5pczpmdW5jdGlvbihlLG4pe3JldHVybiBlPT09biYmKDAhPT1lfHwxL2U9PTEvbil8fGUhPWUmJm4hPW59O2Z1bmN0aW9uIGlyKGUsbil7aWYob3IoZSxuKSlyZXR1cm4hMDtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIG58fG51bGw9PT1uKXJldHVybiExO3ZhciB0PU9iamVjdC5rZXlzKGUpLHI9T2JqZWN0LmtleXMobik7aWYodC5sZW5ndGghPT1yLmxlbmd0aClyZXR1cm4hMTtmb3Iocj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbD10W3JdO2lmKCFmLmNhbGwobixsKXx8IW9yKGVbbF0sbltsXSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gc3IoZSl7Zm9yKDtlJiZlLmZpcnN0Q2hpbGQ7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfWZ1bmN0aW9uIGNyKGUsbil7dmFyIHQscj1zcihlKTtmb3IoZT0wO3I7KXtpZigzPT09ci5ub2RlVHlwZSl7aWYodD1lK3IudGV4dENvbnRlbnQubGVuZ3RoLGU8PW4mJnQ+PW4pcmV0dXJue25vZGU6cixvZmZzZXQ6bi1lfTtlPXR9ZTp7Zm9yKDtyOyl7aWYoci5uZXh0U2libGluZyl7cj1yLm5leHRTaWJsaW5nO2JyZWFrIGV9cj1yLnBhcmVudE5vZGV9cj12b2lkIDB9cj1zcihyKX19ZnVuY3Rpb24gZnIoZSxuKXtyZXR1cm4hKCFlfHwhbikmJihlPT09bnx8KCFlfHwzIT09ZS5ub2RlVHlwZSkmJihuJiYzPT09bi5ub2RlVHlwZT9mcihlLG4ucGFyZW50Tm9kZSk6ImNvbnRhaW5zImluIGU/ZS5jb250YWlucyhuKTohIWUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJiEhKDE2JmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24obikpKSl9ZnVuY3Rpb24gZHIoKXtmb3IodmFyIGU9d2luZG93LG49SygpO24gaW5zdGFuY2VvZiBlLkhUTUxJRnJhbWVFbGVtZW50Oyl7dHJ5e3ZhciB0PSJzdHJpbmciPT10eXBlb2Ygbi5jb250ZW50V2luZG93LmxvY2F0aW9uLmhyZWZ9Y2F0Y2goZSl7dD0hMX1pZighdClicmVhaztuPUsoKGU9bi5jb250ZW50V2luZG93KS5kb2N1bWVudCl9cmV0dXJuIG59ZnVuY3Rpb24gcHIoZSl7dmFyIG49ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiBuJiYoImlucHV0Ij09PW4mJigidGV4dCI9PT1lLnR5cGV8fCJzZWFyY2giPT09ZS50eXBlfHwidGVsIj09PWUudHlwZXx8InVybCI9PT1lLnR5cGV8fCJwYXNzd29yZCI9PT1lLnR5cGUpfHwidGV4dGFyZWEiPT09bnx8InRydWUiPT09ZS5jb250ZW50RWRpdGFibGUpfWZ1bmN0aW9uIG1yKGUpe3ZhciBuPWRyKCksdD1lLmZvY3VzZWRFbGVtLHI9ZS5zZWxlY3Rpb25SYW5nZTtpZihuIT09dCYmdCYmdC5vd25lckRvY3VtZW50JiZmcih0Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHQpKXtpZihudWxsIT09ciYmcHIodCkpaWYobj1yLnN0YXJ0LHZvaWQgMD09PShlPXIuZW5kKSYmKGU9biksInNlbGVjdGlvblN0YXJ0ImluIHQpdC5zZWxlY3Rpb25TdGFydD1uLHQuc2VsZWN0aW9uRW5kPU1hdGgubWluKGUsdC52YWx1ZS5sZW5ndGgpO2Vsc2UgaWYoKGU9KG49dC5vd25lckRvY3VtZW50fHxkb2N1bWVudCkmJm4uZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uKXtlPWUuZ2V0U2VsZWN0aW9uKCk7dmFyIGw9dC50ZXh0Q29udGVudC5sZW5ndGgsYT1NYXRoLm1pbihyLnN0YXJ0LGwpO3I9dm9pZCAwPT09ci5lbmQ/YTpNYXRoLm1pbihyLmVuZCxsKSwhZS5leHRlbmQmJmE+ciYmKGw9cixyPWEsYT1sKSxsPWNyKHQsYSk7dmFyIHU9Y3IodCxyKTtsJiZ1JiYoMSE9PWUucmFuZ2VDb3VudHx8ZS5hbmNob3JOb2RlIT09bC5ub2RlfHxlLmFuY2hvck9mZnNldCE9PWwub2Zmc2V0fHxlLmZvY3VzTm9kZSE9PXUubm9kZXx8ZS5mb2N1c09mZnNldCE9PXUub2Zmc2V0KSYmKChuPW4uY3JlYXRlUmFuZ2UoKSkuc2V0U3RhcnQobC5ub2RlLGwub2Zmc2V0KSxlLnJlbW92ZUFsbFJhbmdlcygpLGE+cj8oZS5hZGRSYW5nZShuKSxlLmV4dGVuZCh1Lm5vZGUsdS5vZmZzZXQpKToobi5zZXRFbmQodS5ub2RlLHUub2Zmc2V0KSxlLmFkZFJhbmdlKG4pKSl9Zm9yKG49W10sZT10O2U9ZS5wYXJlbnROb2RlOykxPT09ZS5ub2RlVHlwZSYmbi5wdXNoKHtlbGVtZW50OmUsbGVmdDplLnNjcm9sbExlZnQsdG9wOmUuc2Nyb2xsVG9wfSk7Zm9yKCJmdW5jdGlvbiI9PXR5cGVvZiB0LmZvY3VzJiZ0LmZvY3VzKCksdD0wO3Q8bi5sZW5ndGg7dCsrKShlPW5bdF0pLmVsZW1lbnQuc2Nyb2xsTGVmdD1lLmxlZnQsZS5lbGVtZW50LnNjcm9sbFRvcD1lLnRvcH19dmFyIGhyPWMmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJjExPj1kb2N1bWVudC5kb2N1bWVudE1vZGUsZ3I9bnVsbCx2cj1udWxsLHlyPW51bGwsYnI9ITE7ZnVuY3Rpb24ga3IoZSxuLHQpe3ZhciByPXQud2luZG93PT09dD90LmRvY3VtZW50Ojk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50O2JyfHxudWxsPT1ncnx8Z3IhPT1LKHIpfHwoInNlbGVjdGlvblN0YXJ0ImluKHI9Z3IpJiZwcihyKT9yPXtzdGFydDpyLnNlbGVjdGlvblN0YXJ0LGVuZDpyLnNlbGVjdGlvbkVuZAp9OnI9e2FuY2hvck5vZGU6KHI9KHIub3duZXJEb2N1bWVudCYmci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbigpKS5hbmNob3JOb2RlLGFuY2hvck9mZnNldDpyLmFuY2hvck9mZnNldCxmb2N1c05vZGU6ci5mb2N1c05vZGUsZm9jdXNPZmZzZXQ6ci5mb2N1c09mZnNldH0seXImJmlyKHlyLHIpfHwoeXI9ciwwPChyPSRyKHZyLCJvblNlbGVjdCIpKS5sZW5ndGgmJihuPW5ldyBjdCgib25TZWxlY3QiLCJzZWxlY3QiLG51bGwsbix0KSxlLnB1c2goe2V2ZW50Om4sbGlzdGVuZXJzOnJ9KSxuLnRhcmdldD1ncikpKX1mdW5jdGlvbiB3cihlLG4pe3ZhciB0PXt9O3JldHVybiB0W2UudG9Mb3dlckNhc2UoKV09bi50b0xvd2VyQ2FzZSgpLHRbIldlYmtpdCIrZV09IndlYmtpdCIrbix0WyJNb3oiK2VdPSJtb3oiK24sdH12YXIgU3I9e2FuaW1hdGlvbmVuZDp3cigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uRW5kIiksYW5pbWF0aW9uaXRlcmF0aW9uOndyKCJBbmltYXRpb24iLCJBbmltYXRpb25JdGVyYXRpb24iKSxhbmltYXRpb25zdGFydDp3cigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uU3RhcnQiKSx0cmFuc2l0aW9uZW5kOndyKCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvbkVuZCIpfSx4cj17fSxFcj17fTtmdW5jdGlvbiBDcihlKXtpZih4cltlXSlyZXR1cm4geHJbZV07aWYoIVNyW2VdKXJldHVybiBlO3ZhciBuLHQ9U3JbZV07Zm9yKG4gaW4gdClpZih0Lmhhc093blByb3BlcnR5KG4pJiZuIGluIEVyKXJldHVybiB4cltlXT10W25dO3JldHVybiBlfWMmJihFcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSwiQW5pbWF0aW9uRXZlbnQiaW4gd2luZG93fHwoZGVsZXRlIFNyLmFuaW1hdGlvbmVuZC5hbmltYXRpb24sZGVsZXRlIFNyLmFuaW1hdGlvbml0ZXJhdGlvbi5hbmltYXRpb24sZGVsZXRlIFNyLmFuaW1hdGlvbnN0YXJ0LmFuaW1hdGlvbiksIlRyYW5zaXRpb25FdmVudCJpbiB3aW5kb3d8fGRlbGV0ZSBTci50cmFuc2l0aW9uZW5kLnRyYW5zaXRpb24pO3ZhciB6cj1DcigiYW5pbWF0aW9uZW5kIiksTnI9Q3IoImFuaW1hdGlvbml0ZXJhdGlvbiIpLF9yPUNyKCJhbmltYXRpb25zdGFydCIpLFByPUNyKCJ0cmFuc2l0aW9uZW5kIiksVHI9bmV3IE1hcCxMcj0iYWJvcnQgYXV4Q2xpY2sgY2FuY2VsIGNhblBsYXkgY2FuUGxheVRocm91Z2ggY2xpY2sgY2xvc2UgY29udGV4dE1lbnUgY29weSBjdXQgZHJhZyBkcmFnRW5kIGRyYWdFbnRlciBkcmFnRXhpdCBkcmFnTGVhdmUgZHJhZ092ZXIgZHJhZ1N0YXJ0IGRyb3AgZHVyYXRpb25DaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgZ290UG9pbnRlckNhcHR1cmUgaW5wdXQgaW52YWxpZCBrZXlEb3duIGtleVByZXNzIGtleVVwIGxvYWQgbG9hZGVkRGF0YSBsb2FkZWRNZXRhZGF0YSBsb2FkU3RhcnQgbG9zdFBvaW50ZXJDYXB0dXJlIG1vdXNlRG93biBtb3VzZU1vdmUgbW91c2VPdXQgbW91c2VPdmVyIG1vdXNlVXAgcGFzdGUgcGF1c2UgcGxheSBwbGF5aW5nIHBvaW50ZXJDYW5jZWwgcG9pbnRlckRvd24gcG9pbnRlck1vdmUgcG9pbnRlck91dCBwb2ludGVyT3ZlciBwb2ludGVyVXAgcHJvZ3Jlc3MgcmF0ZUNoYW5nZSByZXNldCByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdWJtaXQgc3VzcGVuZCB0aW1lVXBkYXRlIHRvdWNoQ2FuY2VsIHRvdWNoRW5kIHRvdWNoU3RhcnQgdm9sdW1lQ2hhbmdlIHNjcm9sbCB0b2dnbGUgdG91Y2hNb3ZlIHdhaXRpbmcgd2hlZWwiLnNwbGl0KCIgIik7ZnVuY3Rpb24gTXIoZSxuKXtUci5zZXQoZSxuKSxpKG4sW2VdKX1mb3IodmFyIEZyPTA7RnI8THIubGVuZ3RoO0ZyKyspe3ZhciBScj1McltGcl07TXIoUnIudG9Mb3dlckNhc2UoKSwib24iKyhSclswXS50b1VwcGVyQ2FzZSgpK1JyLnNsaWNlKDEpKSl9TXIoenIsIm9uQW5pbWF0aW9uRW5kIiksTXIoTnIsIm9uQW5pbWF0aW9uSXRlcmF0aW9uIiksTXIoX3IsIm9uQW5pbWF0aW9uU3RhcnQiKSxNcigiZGJsY2xpY2siLCJvbkRvdWJsZUNsaWNrIiksTXIoImZvY3VzaW4iLCJvbkZvY3VzIiksTXIoImZvY3Vzb3V0Iiwib25CbHVyIiksTXIoUHIsIm9uVHJhbnNpdGlvbkVuZCIpLHMoIm9uTW91c2VFbnRlciIsWyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdKSxzKCJvbk1vdXNlTGVhdmUiLFsibW91c2VvdXQiLCJtb3VzZW92ZXIiXSkscygib25Qb2ludGVyRW50ZXIiLFsicG9pbnRlcm91dCIsInBvaW50ZXJvdmVyIl0pLHMoIm9uUG9pbnRlckxlYXZlIixbInBvaW50ZXJvdXQiLCJwb2ludGVyb3ZlciJdKSxpKCJvbkNoYW5nZSIsImNoYW5nZSBjbGljayBmb2N1c2luIGZvY3Vzb3V0IGlucHV0IGtleWRvd24ga2V5dXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKSxpKCJvblNlbGVjdCIsImZvY3Vzb3V0IGNvbnRleHRtZW51IGRyYWdlbmQgZm9jdXNpbiBrZXlkb3duIGtleXVwIG1vdXNlZG93biBtb3VzZXVwIHNlbGVjdGlvbmNoYW5nZSIuc3BsaXQoIiAiKSksaSgib25CZWZvcmVJbnB1dCIsWyJjb21wb3NpdGlvbmVuZCIsImtleXByZXNzIiwidGV4dElucHV0IiwicGFzdGUiXSksaSgib25Db21wb3NpdGlvbkVuZCIsImNvbXBvc2l0aW9uZW5kIGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxpKCJvbkNvbXBvc2l0aW9uU3RhcnQiLCJjb21wb3NpdGlvbnN0YXJ0IGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxpKCJvbkNvbXBvc2l0aW9uVXBkYXRlIiwiY29tcG9zaXRpb251cGRhdGUgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpCjt2YXIgRHI9ImFib3J0IGNhbnBsYXkgY2FucGxheXRocm91Z2ggZHVyYXRpb25jaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgbG9hZGVkZGF0YSBsb2FkZWRtZXRhZGF0YSBsb2Fkc3RhcnQgcGF1c2UgcGxheSBwbGF5aW5nIHByb2dyZXNzIHJhdGVjaGFuZ2UgcmVzaXplIHNlZWtlZCBzZWVraW5nIHN0YWxsZWQgc3VzcGVuZCB0aW1ldXBkYXRlIHZvbHVtZWNoYW5nZSB3YWl0aW5nIi5zcGxpdCgiICIpLElyPW5ldyBTZXQoImNhbmNlbCBjbG9zZSBpbnZhbGlkIGxvYWQgc2Nyb2xsIHRvZ2dsZSIuc3BsaXQoIiAiKS5jb25jYXQoRHIpKTtmdW5jdGlvbiBPcihlLG4sdCl7dmFyIHI9ZS50eXBlfHwidW5rbm93bi1ldmVudCI7ZS5jdXJyZW50VGFyZ2V0PXQsZnVuY3Rpb24oZSxuLHQscixsLHUsbyxpLHMpe2lmKEJlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxJZSl7aWYoIUllKXRocm93IEVycm9yKGEoMTk4KSk7dmFyIGM9T2U7SWU9ITEsT2U9bnVsbCxVZXx8KFVlPSEwLFZlPWMpfX0ocixuLHZvaWQgMCxlKSxlLmN1cnJlbnRUYXJnZXQ9bnVsbH1mdW5jdGlvbiBVcihlLG4pe249ISEoNCZuKTtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIHI9ZVt0XSxsPXIuZXZlbnQ7cj1yLmxpc3RlbmVycztlOnt2YXIgYT12b2lkIDA7aWYobilmb3IodmFyIHU9ci5sZW5ndGgtMTswPD11O3UtLSl7dmFyIG89clt1XSxpPW8uaW5zdGFuY2Uscz1vLmN1cnJlbnRUYXJnZXQ7aWYobz1vLmxpc3RlbmVyLGkhPT1hJiZsLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYnJlYWsgZTtPcihsLG8scyksYT1pfWVsc2UgZm9yKHU9MDt1PHIubGVuZ3RoO3UrKyl7aWYoaT0obz1yW3VdKS5pbnN0YW5jZSxzPW8uY3VycmVudFRhcmdldCxvPW8ubGlzdGVuZXIsaSE9PWEmJmwuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO09yKGwsbyxzKSxhPWl9fX1pZihVZSl0aHJvdyBlPVZlLFVlPSExLFZlPW51bGwsZX1mdW5jdGlvbiBWcihlLG4pe3ZhciB0PW5baGxdO3ZvaWQgMD09PXQmJih0PW5baGxdPW5ldyBTZXQpO3ZhciByPWUrIl9fYnViYmxlIjt0LmhhcyhyKXx8KEhyKG4sZSwyLCExKSx0LmFkZChyKSl9ZnVuY3Rpb24gQXIoZSxuLHQpe3ZhciByPTA7biYmKHJ8PTQpLEhyKHQsZSxyLG4pfXZhciBCcj0iX3JlYWN0TGlzdGVuaW5nIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtmdW5jdGlvbiBXcihlKXtpZighZVtCcl0pe2VbQnJdPSEwLHUuZm9yRWFjaCgoZnVuY3Rpb24obil7InNlbGVjdGlvbmNoYW5nZSIhPT1uJiYoSXIuaGFzKG4pfHxBcihuLCExLGUpLEFyKG4sITAsZSkpfSkpO3ZhciBuPTk9PT1lLm5vZGVUeXBlP2U6ZS5vd25lckRvY3VtZW50O251bGw9PT1ufHxuW0JyXXx8KG5bQnJdPSEwLEFyKCJzZWxlY3Rpb25jaGFuZ2UiLCExLG4pKX19ZnVuY3Rpb24gSHIoZSxuLHQscil7c3dpdGNoKEduKG4pKXtjYXNlIDE6dmFyIGw9JG47YnJlYWs7Y2FzZSA0Omw9cW47YnJlYWs7ZGVmYXVsdDpsPUtufXQ9bC5iaW5kKG51bGwsbix0LGUpLGw9dm9pZCAwLCFGZXx8InRvdWNoc3RhcnQiIT09biYmInRvdWNobW92ZSIhPT1uJiYid2hlZWwiIT09bnx8KGw9ITApLHI/dm9pZCAwIT09bD9lLmFkZEV2ZW50TGlzdGVuZXIobix0LHtjYXB0dXJlOiEwLHBhc3NpdmU6bH0pOmUuYWRkRXZlbnRMaXN0ZW5lcihuLHQsITApOnZvaWQgMCE9PWw/ZS5hZGRFdmVudExpc3RlbmVyKG4sdCx7cGFzc2l2ZTpsfSk6ZS5hZGRFdmVudExpc3RlbmVyKG4sdCwhMSl9ZnVuY3Rpb24gUXIoZSxuLHQscixsKXt2YXIgYT1yO2lmKCEoMSZufHwyJm58fG51bGw9PT1yKSllOmZvcig7Oyl7aWYobnVsbD09PXIpcmV0dXJuO3ZhciB1PXIudGFnO2lmKDM9PT11fHw0PT09dSl7dmFyIG89ci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztpZihvPT09bHx8OD09PW8ubm9kZVR5cGUmJm8ucGFyZW50Tm9kZT09PWwpYnJlYWs7aWYoND09PXUpZm9yKHU9ci5yZXR1cm47bnVsbCE9PXU7KXt2YXIgaT11LnRhZztpZigoMz09PWl8fDQ9PT1pKSYmKChpPXUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pPT09bHx8OD09PWkubm9kZVR5cGUmJmkucGFyZW50Tm9kZT09PWwpKXJldHVybjt1PXUucmV0dXJufWZvcig7bnVsbCE9PW87KXtpZihudWxsPT09KHU9eWwobykpKXJldHVybjtpZig1PT09KGk9dS50YWcpfHw2PT09aSl7cj1hPXU7Y29udGludWUgZX1vPW8ucGFyZW50Tm9kZX19cj1yLnJldHVybn1MZSgoZnVuY3Rpb24oKXt2YXIgcj1hLGw9d2UodCksdT1bXTtlOnt2YXIgbz1Uci5nZXQoZSk7aWYodm9pZCAwIT09byl7dmFyIGk9Y3Qscz1lO3N3aXRjaChlKXtjYXNlImtleXByZXNzIjppZigwPT09dHQodCkpYnJlYWsgZTtjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOmk9TnQ7YnJlYWs7Y2FzZSJmb2N1c2luIjpzPSJmb2N1cyIsaT1ndDticmVhaztjYXNlImZvY3Vzb3V0IjpzPSJibHVyIixpPWd0O2JyZWFrO2Nhc2UiYmVmb3JlYmx1ciI6Y2FzZSJhZnRlcmJsdXIiOmk9Z3Q7YnJlYWs7Y2FzZSJjbGljayI6aWYoMj09PXQuYnV0dG9uKWJyZWFrIGU7Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJtb3VzZWRvd24iOmNhc2UibW91c2Vtb3ZlIjpjYXNlIm1vdXNldXAiOmNhc2UibW91c2VvdXQiOmNhc2UibW91c2VvdmVyIjpjYXNlImNvbnRleHRtZW51IjppPW10O2JyZWFrO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnZXhpdCI6Y2FzZSJkcmFnbGVhdmUiOmNhc2UiZHJhZ292ZXIiOmNhc2UiZHJhZ3N0YXJ0IjpjYXNlImRyb3AiOmk9aHQ7YnJlYWs7Y2FzZSJ0b3VjaGNhbmNlbCI6Y2FzZSJ0b3VjaGVuZCI6Y2FzZSJ0b3VjaG1vdmUiOmNhc2UidG91Y2hzdGFydCI6aT1QdDticmVhaztjYXNlIHpyOmNhc2UgTnI6Y2FzZSBfcjppPXZ0O2JyZWFrO2Nhc2UgUHI6aT1UdDticmVhaztjYXNlInNjcm9sbCI6aT1kdDticmVhaztjYXNlIndoZWVsIjppPU10O2JyZWFrO2Nhc2UiY29weSI6Y2FzZSJjdXQiOmNhc2UicGFzdGUiOmk9YnQ7YnJlYWs7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJsb3N0cG9pbnRlcmNhcHR1cmUiOgpjYXNlInBvaW50ZXJjYW5jZWwiOmNhc2UicG9pbnRlcmRvd24iOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVydXAiOmk9X3R9dmFyIGM9ISEoNCZuKSxmPSFjJiYic2Nyb2xsIj09PWUsZD1jP251bGwhPT1vP28rIkNhcHR1cmUiOm51bGw6bztjPVtdO2Zvcih2YXIgcCxtPXI7bnVsbCE9PW07KXt2YXIgaD0ocD1tKS5zdGF0ZU5vZGU7aWYoNT09PXAudGFnJiZudWxsIT09aCYmKHA9aCxudWxsIT09ZCYmKG51bGwhPShoPU1lKG0sZCkpJiZjLnB1c2goanIobSxoLHApKSkpLGYpYnJlYWs7bT1tLnJldHVybn0wPGMubGVuZ3RoJiYobz1uZXcgaShvLHMsbnVsbCx0LGwpLHUucHVzaCh7ZXZlbnQ6byxsaXN0ZW5lcnM6Y30pKX19aWYoISg3Jm4pKXtpZihpPSJtb3VzZW91dCI9PT1lfHwicG9pbnRlcm91dCI9PT1lLCghKG89Im1vdXNlb3ZlciI9PT1lfHwicG9pbnRlcm92ZXIiPT09ZSl8fHQ9PT1rZXx8IShzPXQucmVsYXRlZFRhcmdldHx8dC5mcm9tRWxlbWVudCl8fCF5bChzKSYmIXNbbWxdKSYmKGl8fG8pJiYobz1sLndpbmRvdz09PWw/bDoobz1sLm93bmVyRG9jdW1lbnQpP28uZGVmYXVsdFZpZXd8fG8ucGFyZW50V2luZG93OndpbmRvdyxpPyhpPXIsbnVsbCE9PShzPShzPXQucmVsYXRlZFRhcmdldHx8dC50b0VsZW1lbnQpP3lsKHMpOm51bGwpJiYocyE9PShmPVdlKHMpKXx8NSE9PXMudGFnJiY2IT09cy50YWcpJiYocz1udWxsKSk6KGk9bnVsbCxzPXIpLGkhPT1zKSl7aWYoYz1tdCxoPSJvbk1vdXNlTGVhdmUiLGQ9Im9uTW91c2VFbnRlciIsbT0ibW91c2UiLCJwb2ludGVyb3V0IiE9PWUmJiJwb2ludGVyb3ZlciIhPT1lfHwoYz1fdCxoPSJvblBvaW50ZXJMZWF2ZSIsZD0ib25Qb2ludGVyRW50ZXIiLG09InBvaW50ZXIiKSxmPW51bGw9PWk/bzprbChpKSxwPW51bGw9PXM/bzprbChzKSwobz1uZXcgYyhoLG0rImxlYXZlIixpLHQsbCkpLnRhcmdldD1mLG8ucmVsYXRlZFRhcmdldD1wLGg9bnVsbCx5bChsKT09PXImJigoYz1uZXcgYyhkLG0rImVudGVyIixzLHQsbCkpLnRhcmdldD1wLGMucmVsYXRlZFRhcmdldD1mLGg9YyksZj1oLGkmJnMpZTp7Zm9yKGQ9cyxtPTAscD1jPWk7cDtwPXFyKHApKW0rKztmb3IocD0wLGg9ZDtoO2g9cXIoaCkpcCsrO2Zvcig7MDxtLXA7KWM9cXIoYyksbS0tO2Zvcig7MDxwLW07KWQ9cXIoZCkscC0tO2Zvcig7bS0tOyl7aWYoYz09PWR8fG51bGwhPT1kJiZjPT09ZC5hbHRlcm5hdGUpYnJlYWsgZTtjPXFyKGMpLGQ9cXIoZCl9Yz1udWxsfWVsc2UgYz1udWxsO251bGwhPT1pJiZLcih1LG8saSxjLCExKSxudWxsIT09cyYmbnVsbCE9PWYmJktyKHUsZixzLGMsITApfWlmKCJzZWxlY3QiPT09KGk9KG89cj9rbChyKTp3aW5kb3cpLm5vZGVOYW1lJiZvLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpfHwiaW5wdXQiPT09aSYmImZpbGUiPT09by50eXBlKXZhciBnPVh0O2Vsc2UgaWYoUXQobykpaWYoR3QpZz11cjtlbHNle2c9bHI7dmFyIHY9cnJ9ZWxzZShpPW8ubm9kZU5hbWUpJiYiaW5wdXQiPT09aS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PW8udHlwZXx8InJhZGlvIj09PW8udHlwZSkmJihnPWFyKTtzd2l0Y2goZyYmKGc9ZyhlLHIpKT9qdCh1LGcsdCxsKToodiYmdihlLG8sciksImZvY3Vzb3V0Ij09PWUmJih2PW8uX3dyYXBwZXJTdGF0ZSkmJnYuY29udHJvbGxlZCYmIm51bWJlciI9PT1vLnR5cGUmJmVlKG8sIm51bWJlciIsby52YWx1ZSkpLHY9cj9rbChyKTp3aW5kb3csZSl7Y2FzZSJmb2N1c2luIjooUXQodil8fCJ0cnVlIj09PXYuY29udGVudEVkaXRhYmxlKSYmKGdyPXYsdnI9cix5cj1udWxsKTticmVhaztjYXNlImZvY3Vzb3V0Ijp5cj12cj1ncj1udWxsO2JyZWFrO2Nhc2UibW91c2Vkb3duIjpicj0hMDticmVhaztjYXNlImNvbnRleHRtZW51IjpjYXNlIm1vdXNldXAiOmNhc2UiZHJhZ2VuZCI6YnI9ITEsa3IodSx0LGwpO2JyZWFrO2Nhc2Uic2VsZWN0aW9uY2hhbmdlIjppZihocilicmVhaztjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOmtyKHUsdCxsKX12YXIgeTtpZihSdCllOntzd2l0Y2goZSl7Y2FzZSJjb21wb3NpdGlvbnN0YXJ0Ijp2YXIgYj0ib25Db21wb3NpdGlvblN0YXJ0IjticmVhayBlO2Nhc2UiY29tcG9zaXRpb25lbmQiOmI9Im9uQ29tcG9zaXRpb25FbmQiO2JyZWFrIGU7Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Yj0ib25Db21wb3NpdGlvblVwZGF0ZSI7YnJlYWsgZX1iPXZvaWQgMH1lbHNlIFd0P0F0KGUsdCkmJihiPSJvbkNvbXBvc2l0aW9uRW5kIik6ImtleWRvd24iPT09ZSYmMjI5PT09dC5rZXlDb2RlJiYoYj0ib25Db21wb3NpdGlvblN0YXJ0Iik7YiYmKE90JiYia28iIT09dC5sb2NhbGUmJihXdHx8Im9uQ29tcG9zaXRpb25TdGFydCIhPT1iPyJvbkNvbXBvc2l0aW9uRW5kIj09PWImJld0JiYoeT1udCgpKTooSm49InZhbHVlImluKFpuPWwpP1puLnZhbHVlOlpuLnRleHRDb250ZW50LFd0PSEwKSksMDwodj0kcihyLGIpKS5sZW5ndGgmJihiPW5ldyBrdChiLGUsbnVsbCx0LGwpLHUucHVzaCh7ZXZlbnQ6YixsaXN0ZW5lcnM6dn0pLHk/Yi5kYXRhPXk6bnVsbCE9PSh5PUJ0KHQpKSYmKGIuZGF0YT15KSkpLCh5PUl0P2Z1bmN0aW9uKGUsbil7c3dpdGNoKGUpe2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiBCdChuKTtjYXNlImtleXByZXNzIjpyZXR1cm4gMzIhPT1uLndoaWNoP251bGw6KFZ0PSEwLFV0KTtjYXNlInRleHRJbnB1dCI6cmV0dXJuKGU9bi5kYXRhKT09PVV0JiZWdD9udWxsOmU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KGUsdCk6ZnVuY3Rpb24oZSxuKXtpZihXdClyZXR1cm4iY29tcG9zaXRpb25lbmQiPT09ZXx8IVJ0JiZBdChlLG4pPyhlPW50KCksZXQ9Sm49Wm49bnVsbCxXdD0hMSxlKTpudWxsO3N3aXRjaChlKXtjYXNlInBhc3RlIjpkZWZhdWx0OnJldHVybiBudWxsO2Nhc2Uia2V5cHJlc3MiOmlmKCEobi5jdHJsS2V5fHxuLmFsdEtleXx8bi5tZXRhS2V5KXx8bi5jdHJsS2V5JiZuLmFsdEtleSl7aWYobi5jaGFyJiYxPG4uY2hhci5sZW5ndGgpcmV0dXJuIG4uY2hhcgo7aWYobi53aGljaClyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShuLndoaWNoKX1yZXR1cm4gbnVsbDtjYXNlImNvbXBvc2l0aW9uZW5kIjpyZXR1cm4gT3QmJiJrbyIhPT1uLmxvY2FsZT9udWxsOm4uZGF0YX19KGUsdCkpJiYoMDwocj0kcihyLCJvbkJlZm9yZUlucHV0IikpLmxlbmd0aCYmKGw9bmV3IGt0KCJvbkJlZm9yZUlucHV0IiwiYmVmb3JlaW5wdXQiLG51bGwsdCxsKSx1LnB1c2goe2V2ZW50OmwsbGlzdGVuZXJzOnJ9KSxsLmRhdGE9eSkpfVVyKHUsbil9KSl9ZnVuY3Rpb24ganIoZSxuLHQpe3JldHVybntpbnN0YW5jZTplLGxpc3RlbmVyOm4sY3VycmVudFRhcmdldDp0fX1mdW5jdGlvbiAkcihlLG4pe2Zvcih2YXIgdD1uKyJDYXB0dXJlIixyPVtdO251bGwhPT1lOyl7dmFyIGw9ZSxhPWwuc3RhdGVOb2RlOzU9PT1sLnRhZyYmbnVsbCE9PWEmJihsPWEsbnVsbCE9KGE9TWUoZSx0KSkmJnIudW5zaGlmdChqcihlLGEsbCkpLG51bGwhPShhPU1lKGUsbikpJiZyLnB1c2goanIoZSxhLGwpKSksZT1lLnJldHVybn1yZXR1cm4gcn1mdW5jdGlvbiBxcihlKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtkb3tlPWUucmV0dXJufXdoaWxlKGUmJjUhPT1lLnRhZyk7cmV0dXJuIGV8fG51bGx9ZnVuY3Rpb24gS3IoZSxuLHQscixsKXtmb3IodmFyIGE9bi5fcmVhY3ROYW1lLHU9W107bnVsbCE9PXQmJnQhPT1yOyl7dmFyIG89dCxpPW8uYWx0ZXJuYXRlLHM9by5zdGF0ZU5vZGU7aWYobnVsbCE9PWkmJmk9PT1yKWJyZWFrOzU9PT1vLnRhZyYmbnVsbCE9PXMmJihvPXMsbD9udWxsIT0oaT1NZSh0LGEpKSYmdS51bnNoaWZ0KGpyKHQsaSxvKSk6bHx8bnVsbCE9KGk9TWUodCxhKSkmJnUucHVzaChqcih0LGksbykpKSx0PXQucmV0dXJufTAhPT11Lmxlbmd0aCYmZS5wdXNoKHtldmVudDpuLGxpc3RlbmVyczp1fSl9dmFyIFlyPS9cclxuPy9nLFhyPS9cdTAwMDB8XHVGRkZEL2c7ZnVuY3Rpb24gR3IoZSl7cmV0dXJuKCJzdHJpbmciPT10eXBlb2YgZT9lOiIiK2UpLnJlcGxhY2UoWXIsIlxuIikucmVwbGFjZShYciwiIil9ZnVuY3Rpb24gWnIoZSxuLHQpe2lmKG49R3IobiksR3IoZSkhPT1uJiZ0KXRocm93IEVycm9yKGEoNDI1KSl9ZnVuY3Rpb24gSnIoKXt9dmFyIGVsPW51bGwsbmw9bnVsbDtmdW5jdGlvbiB0bChlLG4pe3JldHVybiJ0ZXh0YXJlYSI9PT1lfHwibm9zY3JpcHQiPT09ZXx8InN0cmluZyI9PXR5cGVvZiBuLmNoaWxkcmVufHwibnVtYmVyIj09dHlwZW9mIG4uY2hpbGRyZW58fCJvYmplY3QiPT10eXBlb2Ygbi5kYW5nZXJvdXNseVNldElubmVySFRNTCYmbnVsbCE9PW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwmJm51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sfXZhciBybD0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0OnZvaWQgMCxsbD0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDp2b2lkIDAsYWw9ImZ1bmN0aW9uIj09dHlwZW9mIFByb21pc2U/UHJvbWlzZTp2b2lkIDAsdWw9ImZ1bmN0aW9uIj09dHlwZW9mIHF1ZXVlTWljcm90YXNrP3F1ZXVlTWljcm90YXNrOnZvaWQgMCE9PWFsP2Z1bmN0aW9uKGUpe3JldHVybiBhbC5yZXNvbHZlKG51bGwpLnRoZW4oZSkuY2F0Y2gob2wpfTpybDtmdW5jdGlvbiBvbChlKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe3Rocm93IGV9KSl9ZnVuY3Rpb24gaWwoZSxuKXt2YXIgdD1uLHI9MDtkb3t2YXIgbD10Lm5leHRTaWJsaW5nO2lmKGUucmVtb3ZlQ2hpbGQodCksbCYmOD09PWwubm9kZVR5cGUpaWYoIi8kIj09PSh0PWwuZGF0YSkpe2lmKDA9PT1yKXJldHVybiBlLnJlbW92ZUNoaWxkKGwpLHZvaWQgSG4obik7ci0tfWVsc2UiJCIhPT10JiYiJD8iIT09dCYmIiQhIiE9PXR8fHIrKzt0PWx9d2hpbGUodCk7SG4obil9ZnVuY3Rpb24gc2woZSl7Zm9yKDtudWxsIT1lO2U9ZS5uZXh0U2libGluZyl7dmFyIG49ZS5ub2RlVHlwZTtpZigxPT09bnx8Mz09PW4pYnJlYWs7aWYoOD09PW4pe2lmKCIkIj09PShuPWUuZGF0YSl8fCIkISI9PT1ufHwiJD8iPT09bilicmVhaztpZigiLyQiPT09bilyZXR1cm4gbnVsbH19cmV0dXJuIGV9ZnVuY3Rpb24gY2woZSl7ZT1lLnByZXZpb3VzU2libGluZztmb3IodmFyIG49MDtlOyl7aWYoOD09PWUubm9kZVR5cGUpe3ZhciB0PWUuZGF0YTtpZigiJCI9PT10fHwiJCEiPT09dHx8IiQ/Ij09PXQpe2lmKDA9PT1uKXJldHVybiBlO24tLX1lbHNlIi8kIj09PXQmJm4rK31lPWUucHJldmlvdXNTaWJsaW5nfXJldHVybiBudWxsfXZhciBmbD1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKSxkbD0iX19yZWFjdEZpYmVyJCIrZmwscGw9Il9fcmVhY3RQcm9wcyQiK2ZsLG1sPSJfX3JlYWN0Q29udGFpbmVyJCIrZmwsaGw9Il9fcmVhY3RFdmVudHMkIitmbCxnbD0iX19yZWFjdExpc3RlbmVycyQiK2ZsLHZsPSJfX3JlYWN0SGFuZGxlcyQiK2ZsO2Z1bmN0aW9uIHlsKGUpe3ZhciBuPWVbZGxdO2lmKG4pcmV0dXJuIG47Zm9yKHZhciB0PWUucGFyZW50Tm9kZTt0Oyl7aWYobj10W21sXXx8dFtkbF0pe2lmKHQ9bi5hbHRlcm5hdGUsbnVsbCE9PW4uY2hpbGR8fG51bGwhPT10JiZudWxsIT09dC5jaGlsZClmb3IoZT1jbChlKTtudWxsIT09ZTspe2lmKHQ9ZVtkbF0pcmV0dXJuIHQ7ZT1jbChlKX1yZXR1cm4gbn10PShlPXQpLnBhcmVudE5vZGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gYmwoZSl7cmV0dXJuIShlPWVbZGxdfHxlW21sXSl8fDUhPT1lLnRhZyYmNiE9PWUudGFnJiYxMyE9PWUudGFnJiYzIT09ZS50YWc/bnVsbDplfWZ1bmN0aW9uIGtsKGUpe2lmKDU9PT1lLnRhZ3x8Nj09PWUudGFnKXJldHVybiBlLnN0YXRlTm9kZTt0aHJvdyBFcnJvcihhKDMzKSl9ZnVuY3Rpb24gd2woZSl7cmV0dXJuIGVbcGxdfHxudWxsfXZhciBTbD1bXSx4bD0tMTtmdW5jdGlvbiBFbChlKXtyZXR1cm57Y3VycmVudDplfX1mdW5jdGlvbiBDbChlKXswPnhsfHwoZS5jdXJyZW50PVNsW3hsXSxTbFt4bF09bnVsbCx4bC0tKX1mdW5jdGlvbiB6bChlLG4pe3hsKyssU2xbeGxdPWUuY3VycmVudCxlLmN1cnJlbnQ9bn0KdmFyIE5sPXt9LF9sPUVsKE5sKSxQbD1FbCghMSksVGw9Tmw7ZnVuY3Rpb24gTGwoZSxuKXt2YXIgdD1lLnR5cGUuY29udGV4dFR5cGVzO2lmKCF0KXJldHVybiBObDt2YXIgcj1lLnN0YXRlTm9kZTtpZihyJiZyLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQ9PT1uKXJldHVybiByLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWFza2VkQ2hpbGRDb250ZXh0O3ZhciBsLGE9e307Zm9yKGwgaW4gdClhW2xdPW5bbF07cmV0dXJuIHImJigoZT1lLnN0YXRlTm9kZSkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1uLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSksYX1mdW5jdGlvbiBNbChlKXtyZXR1cm4gbnVsbCE9KGU9ZS5jaGlsZENvbnRleHRUeXBlcyl9ZnVuY3Rpb24gRmwoKXtDbChQbCksQ2woX2wpfWZ1bmN0aW9uIFJsKGUsbix0KXtpZihfbC5jdXJyZW50IT09TmwpdGhyb3cgRXJyb3IoYSgxNjgpKTt6bChfbCxuKSx6bChQbCx0KX1mdW5jdGlvbiBEbChlLG4sdCl7dmFyIHI9ZS5zdGF0ZU5vZGU7aWYobj1uLmNoaWxkQ29udGV4dFR5cGVzLCJmdW5jdGlvbiIhPXR5cGVvZiByLmdldENoaWxkQ29udGV4dClyZXR1cm4gdDtmb3IodmFyIGwgaW4gcj1yLmdldENoaWxkQ29udGV4dCgpKWlmKCEobCBpbiBuKSl0aHJvdyBFcnJvcihhKDEwOCxIKGUpfHwiVW5rbm93biIsbCkpO3JldHVybiBPKHt9LHQscil9ZnVuY3Rpb24gSWwoZSl7cmV0dXJuIGU9KGU9ZS5zdGF0ZU5vZGUpJiZlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0fHxObCxUbD1fbC5jdXJyZW50LHpsKF9sLGUpLHpsKFBsLFBsLmN1cnJlbnQpLCEwfWZ1bmN0aW9uIE9sKGUsbix0KXt2YXIgcj1lLnN0YXRlTm9kZTtpZighcil0aHJvdyBFcnJvcihhKDE2OSkpO3Q/KGU9RGwoZSxuLFRsKSxyLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0PWUsQ2woUGwpLENsKF9sKSx6bChfbCxlKSk6Q2woUGwpLHpsKFBsLHQpfXZhciBVbD1udWxsLFZsPSExLEFsPSExO2Z1bmN0aW9uIEJsKGUpe251bGw9PT1VbD9VbD1bZV06VWwucHVzaChlKX1mdW5jdGlvbiBXbCgpe2lmKCFBbCYmbnVsbCE9PVVsKXtBbD0hMDt2YXIgZT0wLG49a247dHJ5e3ZhciB0PVVsO2Zvcihrbj0xO2U8dC5sZW5ndGg7ZSsrKXt2YXIgcj10W2VdO2Rve3I9cighMCl9d2hpbGUobnVsbCE9PXIpfVVsPW51bGwsVmw9ITF9Y2F0Y2gobil7dGhyb3cgbnVsbCE9PVVsJiYoVWw9VWwuc2xpY2UoZSsxKSkscWUoSmUsV2wpLG59ZmluYWxseXtrbj1uLEFsPSExfX1yZXR1cm4gbnVsbH12YXIgSGw9W10sUWw9MCxqbD1udWxsLCRsPTAscWw9W10sS2w9MCxZbD1udWxsLFhsPTEsR2w9IiI7ZnVuY3Rpb24gWmwoZSxuKXtIbFtRbCsrXT0kbCxIbFtRbCsrXT1qbCxqbD1lLCRsPW59ZnVuY3Rpb24gSmwoZSxuLHQpe3FsW0tsKytdPVhsLHFsW0tsKytdPUdsLHFsW0tsKytdPVlsLFlsPWU7dmFyIHI9WGw7ZT1HbDt2YXIgbD0zMi11bihyKS0xO3ImPX4oMTw8bCksdCs9MTt2YXIgYT0zMi11bihuKStsO2lmKDMwPGEpe3ZhciB1PWwtbCU1O2E9KHImKDE8PHUpLTEpLnRvU3RyaW5nKDMyKSxyPj49dSxsLT11LFhsPTE8PDMyLXVuKG4pK2x8dDw8bHxyLEdsPWErZX1lbHNlIFhsPTE8PGF8dDw8bHxyLEdsPWV9ZnVuY3Rpb24gZWEoZSl7bnVsbCE9PWUucmV0dXJuJiYoWmwoZSwxKSxKbChlLDEsMCkpfWZ1bmN0aW9uIG5hKGUpe2Zvcig7ZT09PWpsOylqbD1IbFstLVFsXSxIbFtRbF09bnVsbCwkbD1IbFstLVFsXSxIbFtRbF09bnVsbDtmb3IoO2U9PT1ZbDspWWw9cWxbLS1LbF0scWxbS2xdPW51bGwsR2w9cWxbLS1LbF0scWxbS2xdPW51bGwsWGw9cWxbLS1LbF0scWxbS2xdPW51bGx9dmFyIHRhPW51bGwscmE9bnVsbCxsYT0hMSxhYT1udWxsO2Z1bmN0aW9uIHVhKGUsbil7dmFyIHQ9THMoNSxudWxsLG51bGwsMCk7dC5lbGVtZW50VHlwZT0iREVMRVRFRCIsdC5zdGF0ZU5vZGU9bix0LnJldHVybj1lLG51bGw9PT0obj1lLmRlbGV0aW9ucyk/KGUuZGVsZXRpb25zPVt0XSxlLmZsYWdzfD0xNik6bi5wdXNoKHQpfWZ1bmN0aW9uIG9hKGUsbil7c3dpdGNoKGUudGFnKXtjYXNlIDU6dmFyIHQ9ZS50eXBlO3JldHVybiBudWxsIT09KG49MSE9PW4ubm9kZVR5cGV8fHQudG9Mb3dlckNhc2UoKSE9PW4ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT9udWxsOm4pJiYoZS5zdGF0ZU5vZGU9bix0YT1lLHJhPXNsKG4uZmlyc3RDaGlsZCksITApO2Nhc2UgNjpyZXR1cm4gbnVsbCE9PShuPSIiPT09ZS5wZW5kaW5nUHJvcHN8fDMhPT1uLm5vZGVUeXBlP251bGw6bikmJihlLnN0YXRlTm9kZT1uLHRhPWUscmE9bnVsbCwhMCk7Y2FzZSAxMzpyZXR1cm4gbnVsbCE9PShuPTghPT1uLm5vZGVUeXBlP251bGw6bikmJih0PW51bGwhPT1ZbD97aWQ6WGwsb3ZlcmZsb3c6R2x9Om51bGwsZS5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOm4sdHJlZUNvbnRleHQ6dCxyZXRyeUxhbmU6MTA3Mzc0MTgyNH0sKHQ9THMoMTgsbnVsbCxudWxsLDApKS5zdGF0ZU5vZGU9bix0LnJldHVybj1lLGUuY2hpbGQ9dCx0YT1lLHJhPW51bGwsITApO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIGlhKGUpe3JldHVybiEoISgxJmUubW9kZSl8fDEyOCZlLmZsYWdzKX1mdW5jdGlvbiBzYShlKXtpZihsYSl7dmFyIG49cmE7aWYobil7dmFyIHQ9bjtpZighb2EoZSxuKSl7aWYoaWEoZSkpdGhyb3cgRXJyb3IoYSg0MTgpKTtuPXNsKHQubmV4dFNpYmxpbmcpO3ZhciByPXRhO24mJm9hKGUsbik/dWEocix0KTooZS5mbGFncz0tNDA5NyZlLmZsYWdzfDIsbGE9ITEsdGE9ZSl9fWVsc2V7aWYoaWEoZSkpdGhyb3cgRXJyb3IoYSg0MTgpKTtlLmZsYWdzPS00MDk3JmUuZmxhZ3N8MixsYT0hMSx0YT1lfX19ZnVuY3Rpb24gY2EoZSl7Zm9yKGU9ZS5yZXR1cm47bnVsbCE9PWUmJjUhPT1lLnRhZyYmMyE9PWUudGFnJiYxMyE9PWUudGFnOyllPWUucmV0dXJuO3RhPWV9ZnVuY3Rpb24gZmEoZSl7aWYoZSE9PXRhKXJldHVybiExO2lmKCFsYSlyZXR1cm4gY2EoZSksbGE9ITAsITE7dmFyIG4KO2lmKChuPTMhPT1lLnRhZykmJiEobj01IT09ZS50YWcpJiYobj0iaGVhZCIhPT0obj1lLnR5cGUpJiYiYm9keSIhPT1uJiYhdGwoZS50eXBlLGUubWVtb2l6ZWRQcm9wcykpLG4mJihuPXJhKSl7aWYoaWEoZSkpdGhyb3cgZGEoKSxFcnJvcihhKDQxOCkpO2Zvcig7bjspdWEoZSxuKSxuPXNsKG4ubmV4dFNpYmxpbmcpfWlmKGNhKGUpLDEzPT09ZS50YWcpe2lmKCEoZT1udWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IoYSgzMTcpKTtlOntmb3IoZT1lLm5leHRTaWJsaW5nLG49MDtlOyl7aWYoOD09PWUubm9kZVR5cGUpe3ZhciB0PWUuZGF0YTtpZigiLyQiPT09dCl7aWYoMD09PW4pe3JhPXNsKGUubmV4dFNpYmxpbmcpO2JyZWFrIGV9bi0tfWVsc2UiJCIhPT10JiYiJCEiIT09dCYmIiQ/IiE9PXR8fG4rK31lPWUubmV4dFNpYmxpbmd9cmE9bnVsbH19ZWxzZSByYT10YT9zbChlLnN0YXRlTm9kZS5uZXh0U2libGluZyk6bnVsbDtyZXR1cm4hMH1mdW5jdGlvbiBkYSgpe2Zvcih2YXIgZT1yYTtlOyllPXNsKGUubmV4dFNpYmxpbmcpfWZ1bmN0aW9uIHBhKCl7cmE9dGE9bnVsbCxsYT0hMX1mdW5jdGlvbiBtYShlKXtudWxsPT09YWE/YWE9W2VdOmFhLnB1c2goZSl9dmFyIGhhPWsuUmVhY3RDdXJyZW50QmF0Y2hDb25maWc7ZnVuY3Rpb24gZ2EoZSxuKXtpZihlJiZlLmRlZmF1bHRQcm9wcyl7Zm9yKHZhciB0IGluIG49Tyh7fSxuKSxlPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PW5bdF0mJihuW3RdPWVbdF0pO3JldHVybiBufXJldHVybiBufXZhciB2YT1FbChudWxsKSx5YT1udWxsLGJhPW51bGwsa2E9bnVsbDtmdW5jdGlvbiB3YSgpe2thPWJhPXlhPW51bGx9ZnVuY3Rpb24gU2EoZSl7dmFyIG49dmEuY3VycmVudDtDbCh2YSksZS5fY3VycmVudFZhbHVlPW59ZnVuY3Rpb24geGEoZSxuLHQpe2Zvcig7bnVsbCE9PWU7KXt2YXIgcj1lLmFsdGVybmF0ZTtpZigoZS5jaGlsZExhbmVzJm4pIT09bj8oZS5jaGlsZExhbmVzfD1uLG51bGwhPT1yJiYoci5jaGlsZExhbmVzfD1uKSk6bnVsbCE9PXImJihyLmNoaWxkTGFuZXMmbikhPT1uJiYoci5jaGlsZExhbmVzfD1uKSxlPT09dClicmVhaztlPWUucmV0dXJufX1mdW5jdGlvbiBFYShlLG4pe3lhPWUsa2E9YmE9bnVsbCxudWxsIT09KGU9ZS5kZXBlbmRlbmNpZXMpJiZudWxsIT09ZS5maXJzdENvbnRleHQmJighIShlLmxhbmVzJm4pJiYoa289ITApLGUuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIENhKGUpe3ZhciBuPWUuX2N1cnJlbnRWYWx1ZTtpZihrYSE9PWUpaWYoZT17Y29udGV4dDplLG1lbW9pemVkVmFsdWU6bixuZXh0Om51bGx9LG51bGw9PT1iYSl7aWYobnVsbD09PXlhKXRocm93IEVycm9yKGEoMzA4KSk7YmE9ZSx5YS5kZXBlbmRlbmNpZXM9e2xhbmVzOjAsZmlyc3RDb250ZXh0OmV9fWVsc2UgYmE9YmEubmV4dD1lO3JldHVybiBufXZhciB6YT1udWxsO2Z1bmN0aW9uIE5hKGUpe251bGw9PT16YT96YT1bZV06emEucHVzaChlKX1mdW5jdGlvbiBfYShlLG4sdCxyKXt2YXIgbD1uLmludGVybGVhdmVkO3JldHVybiBudWxsPT09bD8odC5uZXh0PXQsTmEobikpOih0Lm5leHQ9bC5uZXh0LGwubmV4dD10KSxuLmludGVybGVhdmVkPXQsUGEoZSxyKX1mdW5jdGlvbiBQYShlLG4pe2UubGFuZXN8PW47dmFyIHQ9ZS5hbHRlcm5hdGU7Zm9yKG51bGwhPT10JiYodC5sYW5lc3w9biksdD1lLGU9ZS5yZXR1cm47bnVsbCE9PWU7KWUuY2hpbGRMYW5lc3w9bixudWxsIT09KHQ9ZS5hbHRlcm5hdGUpJiYodC5jaGlsZExhbmVzfD1uKSx0PWUsZT1lLnJldHVybjtyZXR1cm4gMz09PXQudGFnP3Quc3RhdGVOb2RlOm51bGx9dmFyIFRhPSExO2Z1bmN0aW9uIExhKGUpe2UudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLm1lbW9pemVkU3RhdGUsZmlyc3RCYXNlVXBkYXRlOm51bGwsbGFzdEJhc2VVcGRhdGU6bnVsbCxzaGFyZWQ6e3BlbmRpbmc6bnVsbCxpbnRlcmxlYXZlZDpudWxsLGxhbmVzOjB9LGVmZmVjdHM6bnVsbH19ZnVuY3Rpb24gTWEoZSxuKXtlPWUudXBkYXRlUXVldWUsbi51cGRhdGVRdWV1ZT09PWUmJihuLnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6ZS5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmUuZmlyc3RCYXNlVXBkYXRlLGxhc3RCYXNlVXBkYXRlOmUubGFzdEJhc2VVcGRhdGUsc2hhcmVkOmUuc2hhcmVkLGVmZmVjdHM6ZS5lZmZlY3RzfSl9ZnVuY3Rpb24gRmEoZSxuKXtyZXR1cm57ZXZlbnRUaW1lOmUsbGFuZTpuLHRhZzowLHBheWxvYWQ6bnVsbCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH19ZnVuY3Rpb24gUmEoZSxuLHQpe3ZhciByPWUudXBkYXRlUXVldWU7aWYobnVsbD09PXIpcmV0dXJuIG51bGw7aWYocj1yLnNoYXJlZCwyJl9pKXt2YXIgbD1yLnBlbmRpbmc7cmV0dXJuIG51bGw9PT1sP24ubmV4dD1uOihuLm5leHQ9bC5uZXh0LGwubmV4dD1uKSxyLnBlbmRpbmc9bixQYShlLHQpfXJldHVybiBudWxsPT09KGw9ci5pbnRlcmxlYXZlZCk/KG4ubmV4dD1uLE5hKHIpKToobi5uZXh0PWwubmV4dCxsLm5leHQ9biksci5pbnRlcmxlYXZlZD1uLFBhKGUsdCl9ZnVuY3Rpb24gRGEoZSxuLHQpe2lmKG51bGwhPT0obj1uLnVwZGF0ZVF1ZXVlKSYmKG49bi5zaGFyZWQsNDE5NDI0MCZ0KSl7dmFyIHI9bi5sYW5lczt0fD1yJj1lLnBlbmRpbmdMYW5lcyxuLmxhbmVzPXQsYm4oZSx0KX19ZnVuY3Rpb24gSWEoZSxuKXt2YXIgdD1lLnVwZGF0ZVF1ZXVlLHI9ZS5hbHRlcm5hdGU7aWYobnVsbCE9PXImJnQ9PT0ocj1yLnVwZGF0ZVF1ZXVlKSl7dmFyIGw9bnVsbCxhPW51bGw7aWYobnVsbCE9PSh0PXQuZmlyc3RCYXNlVXBkYXRlKSl7ZG97dmFyIHU9e2V2ZW50VGltZTp0LmV2ZW50VGltZSxsYW5lOnQubGFuZSx0YWc6dC50YWcscGF5bG9hZDp0LnBheWxvYWQsY2FsbGJhY2s6dC5jYWxsYmFjayxuZXh0Om51bGx9O251bGw9PT1hP2w9YT11OmE9YS5uZXh0PXUsdD10Lm5leHR9d2hpbGUobnVsbCE9PXQpO251bGw9PT1hP2w9YT1uOmE9YS5uZXh0PW59ZWxzZSBsPWE9bjtyZXR1cm4gdD17YmFzZVN0YXRlOnIuYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTpsLGxhc3RCYXNlVXBkYXRlOmEsCnNoYXJlZDpyLnNoYXJlZCxlZmZlY3RzOnIuZWZmZWN0c30sdm9pZChlLnVwZGF0ZVF1ZXVlPXQpfW51bGw9PT0oZT10Lmxhc3RCYXNlVXBkYXRlKT90LmZpcnN0QmFzZVVwZGF0ZT1uOmUubmV4dD1uLHQubGFzdEJhc2VVcGRhdGU9bn1mdW5jdGlvbiBPYShlLG4sdCxyKXt2YXIgbD1lLnVwZGF0ZVF1ZXVlO1RhPSExO3ZhciBhPWwuZmlyc3RCYXNlVXBkYXRlLHU9bC5sYXN0QmFzZVVwZGF0ZSxvPWwuc2hhcmVkLnBlbmRpbmc7aWYobnVsbCE9PW8pe2wuc2hhcmVkLnBlbmRpbmc9bnVsbDt2YXIgaT1vLHM9aS5uZXh0O2kubmV4dD1udWxsLG51bGw9PT11P2E9czp1Lm5leHQ9cyx1PWk7dmFyIGM9ZS5hbHRlcm5hdGU7bnVsbCE9PWMmJigobz0oYz1jLnVwZGF0ZVF1ZXVlKS5sYXN0QmFzZVVwZGF0ZSkhPT11JiYobnVsbD09PW8/Yy5maXJzdEJhc2VVcGRhdGU9czpvLm5leHQ9cyxjLmxhc3RCYXNlVXBkYXRlPWkpKX1pZihudWxsIT09YSl7dmFyIGY9bC5iYXNlU3RhdGU7Zm9yKHU9MCxjPXM9aT1udWxsLG89YTs7KXt2YXIgZD1vLmxhbmUscD1vLmV2ZW50VGltZTtpZigociZkKT09PWQpe251bGwhPT1jJiYoYz1jLm5leHQ9e2V2ZW50VGltZTpwLGxhbmU6MCx0YWc6by50YWcscGF5bG9hZDpvLnBheWxvYWQsY2FsbGJhY2s6by5jYWxsYmFjayxuZXh0Om51bGx9KTtlOnt2YXIgbT1lLGg9bztzd2l0Y2goZD1uLHA9dCxoLnRhZyl7Y2FzZSAxOmlmKCJmdW5jdGlvbiI9PXR5cGVvZihtPWgucGF5bG9hZCkpe2Y9bS5jYWxsKHAsZixkKTticmVhayBlfWY9bTticmVhayBlO2Nhc2UgMzptLmZsYWdzPS02NTUzNyZtLmZsYWdzfDEyODtjYXNlIDA6aWYobnVsbD09KGQ9ImZ1bmN0aW9uIj09dHlwZW9mKG09aC5wYXlsb2FkKT9tLmNhbGwocCxmLGQpOm0pKWJyZWFrIGU7Zj1PKHt9LGYsZCk7YnJlYWsgZTtjYXNlIDI6VGE9ITB9fW51bGwhPT1vLmNhbGxiYWNrJiYwIT09by5sYW5lJiYoZS5mbGFnc3w9NjQsbnVsbD09PShkPWwuZWZmZWN0cyk/bC5lZmZlY3RzPVtvXTpkLnB1c2gobykpfWVsc2UgcD17ZXZlbnRUaW1lOnAsbGFuZTpkLHRhZzpvLnRhZyxwYXlsb2FkOm8ucGF5bG9hZCxjYWxsYmFjazpvLmNhbGxiYWNrLG5leHQ6bnVsbH0sbnVsbD09PWM/KHM9Yz1wLGk9Zik6Yz1jLm5leHQ9cCx1fD1kO2lmKG51bGw9PT0obz1vLm5leHQpKXtpZihudWxsPT09KG89bC5zaGFyZWQucGVuZGluZykpYnJlYWs7bz0oZD1vKS5uZXh0LGQubmV4dD1udWxsLGwubGFzdEJhc2VVcGRhdGU9ZCxsLnNoYXJlZC5wZW5kaW5nPW51bGx9fWlmKG51bGw9PT1jJiYoaT1mKSxsLmJhc2VTdGF0ZT1pLGwuZmlyc3RCYXNlVXBkYXRlPXMsbC5sYXN0QmFzZVVwZGF0ZT1jLG51bGwhPT0obj1sLnNoYXJlZC5pbnRlcmxlYXZlZCkpe2w9bjtkb3t1fD1sLmxhbmUsbD1sLm5leHR9d2hpbGUobCE9PW4pfWVsc2UgbnVsbD09PWEmJihsLnNoYXJlZC5sYW5lcz0wKTtJaXw9dSxlLmxhbmVzPXUsZS5tZW1vaXplZFN0YXRlPWZ9fWZ1bmN0aW9uIFVhKGUsbix0KXtpZihlPW4uZWZmZWN0cyxuLmVmZmVjdHM9bnVsbCxudWxsIT09ZSlmb3Iobj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dLGw9ci5jYWxsYmFjaztpZihudWxsIT09bCl7aWYoci5jYWxsYmFjaz1udWxsLHI9dCwiZnVuY3Rpb24iIT10eXBlb2YgbCl0aHJvdyBFcnJvcihhKDE5MSxsKSk7bC5jYWxsKHIpfX19dmFyIFZhPShuZXcgci5Db21wb25lbnQpLnJlZnM7ZnVuY3Rpb24gQWEoZSxuLHQscil7dD1udWxsPT0odD10KHIsbj1lLm1lbW9pemVkU3RhdGUpKT9uOk8oe30sbix0KSxlLm1lbW9pemVkU3RhdGU9dCwwPT09ZS5sYW5lcyYmKGUudXBkYXRlUXVldWUuYmFzZVN0YXRlPXQpfXZhciBCYT17aXNNb3VudGVkOmZ1bmN0aW9uKGUpe3JldHVybiEhKGU9ZS5fcmVhY3RJbnRlcm5hbHMpJiZXZShlKT09PWV9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbihlLG4sdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj1lcygpLGw9bnMoZSksYT1GYShyLGwpO2EucGF5bG9hZD1uLG51bGwhPXQmJihhLmNhbGxiYWNrPXQpLG51bGwhPT0obj1SYShlLGEsbCkpJiYodHMobixlLGwsciksRGEobixlLGwpKX0sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbihlLG4sdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj1lcygpLGw9bnMoZSksYT1GYShyLGwpO2EudGFnPTEsYS5wYXlsb2FkPW4sbnVsbCE9dCYmKGEuY2FsbGJhY2s9dCksbnVsbCE9PShuPVJhKGUsYSxsKSkmJih0cyhuLGUsbCxyKSxEYShuLGUsbCkpfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oZSxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciB0PWVzKCkscj1ucyhlKSxsPUZhKHQscik7bC50YWc9MixudWxsIT1uJiYobC5jYWxsYmFjaz1uKSxudWxsIT09KG49UmEoZSxsLHIpKSYmKHRzKG4sZSxyLHQpLERhKG4sZSxyKSl9fTtmdW5jdGlvbiBXYShlLG4sdCxyLGwsYSx1KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YoZT1lLnN0YXRlTm9kZSkuc2hvdWxkQ29tcG9uZW50VXBkYXRlP2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKHIsYSx1KTohbi5wcm90b3R5cGV8fCFuLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudHx8KCFpcih0LHIpfHwhaXIobCxhKSl9ZnVuY3Rpb24gSGEoZSxuLHQpe3ZhciByPSExLGw9TmwsYT1uLmNvbnRleHRUeXBlO3JldHVybiJvYmplY3QiPT10eXBlb2YgYSYmbnVsbCE9PWE/YT1DYShhKToobD1NbChuKT9UbDpfbC5jdXJyZW50LGE9KHI9bnVsbCE9KHI9bi5jb250ZXh0VHlwZXMpKT9MbChlLGwpOk5sKSxuPW5ldyBuKHQsYSksZS5tZW1vaXplZFN0YXRlPW51bGwhPT1uLnN0YXRlJiZ2b2lkIDAhPT1uLnN0YXRlP24uc3RhdGU6bnVsbCxuLnVwZGF0ZXI9QmEsZS5zdGF0ZU5vZGU9bixuLl9yZWFjdEludGVybmFscz1lLHImJigoZT1lLnN0YXRlTm9kZSkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1sLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSksbn1mdW5jdGlvbiBRYShlLG4sdCxyKXtlPW4uc3RhdGUsCiJmdW5jdGlvbiI9PXR5cGVvZiBuLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJm4uY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh0LHIpLCJmdW5jdGlvbiI9PXR5cGVvZiBuLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZuLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHQsciksbi5zdGF0ZSE9PWUmJkJhLmVucXVldWVSZXBsYWNlU3RhdGUobixuLnN0YXRlLG51bGwpfWZ1bmN0aW9uIGphKGUsbix0LHIpe3ZhciBsPWUuc3RhdGVOb2RlO2wucHJvcHM9dCxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxsLnJlZnM9VmEsTGEoZSk7dmFyIGE9bi5jb250ZXh0VHlwZTsib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hP2wuY29udGV4dD1DYShhKTooYT1NbChuKT9UbDpfbC5jdXJyZW50LGwuY29udGV4dD1MbChlLGEpKSxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSwiZnVuY3Rpb24iPT10eXBlb2YoYT1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcykmJihBYShlLG4sYSx0KSxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIG4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzfHwiZnVuY3Rpb24iPT10eXBlb2YgbC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGwuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIGwuY29tcG9uZW50V2lsbE1vdW50fHwobj1sLnN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZiBsLmNvbXBvbmVudFdpbGxNb3VudCYmbC5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgbC5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZsLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSxuIT09bC5zdGF0ZSYmQmEuZW5xdWV1ZVJlcGxhY2VTdGF0ZShsLGwuc3RhdGUsbnVsbCksT2EoZSx0LGwsciksbC5zdGF0ZT1lLm1lbW9pemVkU3RhdGUpLCJmdW5jdGlvbiI9PXR5cGVvZiBsLmNvbXBvbmVudERpZE1vdW50JiYoZS5mbGFnc3w9NDE5NDMwOCl9ZnVuY3Rpb24gJGEoZSxuLHQpe2lmKG51bGwhPT0oZT10LnJlZikmJiJmdW5jdGlvbiIhPXR5cGVvZiBlJiYib2JqZWN0IiE9dHlwZW9mIGUpe2lmKHQuX293bmVyKXtpZih0PXQuX293bmVyKXtpZigxIT09dC50YWcpdGhyb3cgRXJyb3IoYSgzMDkpKTt2YXIgcj10LnN0YXRlTm9kZX1pZighcil0aHJvdyBFcnJvcihhKDE0NyxlKSk7dmFyIGw9cix1PSIiK2U7cmV0dXJuIG51bGwhPT1uJiZudWxsIT09bi5yZWYmJiJmdW5jdGlvbiI9PXR5cGVvZiBuLnJlZiYmbi5yZWYuX3N0cmluZ1JlZj09PXU/bi5yZWY6KG49ZnVuY3Rpb24oZSl7dmFyIG49bC5yZWZzO249PT1WYSYmKG49bC5yZWZzPXt9KSxudWxsPT09ZT9kZWxldGUgblt1XTpuW3VdPWV9LG4uX3N0cmluZ1JlZj11LG4pfWlmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBFcnJvcihhKDI4NCkpO2lmKCF0Ll9vd25lcil0aHJvdyBFcnJvcihhKDI5MCxlKSl9cmV0dXJuIGV9ZnVuY3Rpb24gcWEoZSxuKXt0aHJvdyBlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuKSxFcnJvcihhKDMxLCJbb2JqZWN0IE9iamVjdF0iPT09ZT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyhuKS5qb2luKCIsICIpKyJ9IjplKSl9ZnVuY3Rpb24gS2EoZSl7cmV0dXJuKDAsZS5faW5pdCkoZS5fcGF5bG9hZCl9ZnVuY3Rpb24gWWEoZSl7ZnVuY3Rpb24gbihuLHQpe2lmKGUpe3ZhciByPW4uZGVsZXRpb25zO251bGw9PT1yPyhuLmRlbGV0aW9ucz1bdF0sbi5mbGFnc3w9MTYpOnIucHVzaCh0KX19ZnVuY3Rpb24gdCh0LHIpe2lmKCFlKXJldHVybiBudWxsO2Zvcig7bnVsbCE9PXI7KW4odCxyKSxyPXIuc2libGluZztyZXR1cm4gbnVsbH1mdW5jdGlvbiByKGUsbil7Zm9yKGU9bmV3IE1hcDtudWxsIT09bjspbnVsbCE9PW4ua2V5P2Uuc2V0KG4ua2V5LG4pOmUuc2V0KG4uaW5kZXgsbiksbj1uLnNpYmxpbmc7cmV0dXJuIGV9ZnVuY3Rpb24gbChlLG4pe3JldHVybihlPUZzKGUsbikpLmluZGV4PTAsZS5zaWJsaW5nPW51bGwsZX1mdW5jdGlvbiB1KG4sdCxyKXtyZXR1cm4gbi5pbmRleD1yLGU/bnVsbCE9PShyPW4uYWx0ZXJuYXRlKT8ocj1yLmluZGV4KTx0PyhuLmZsYWdzfD0yLHQpOnI6KG4uZmxhZ3N8PTIsdCk6KG4uZmxhZ3N8PTEwNDg1NzYsdCl9ZnVuY3Rpb24gbyhuKXtyZXR1cm4gZSYmbnVsbD09PW4uYWx0ZXJuYXRlJiYobi5mbGFnc3w9Miksbn1mdW5jdGlvbiBpKGUsbix0LHIpe3JldHVybiBudWxsPT09bnx8NiE9PW4udGFnPygobj1Pcyh0LGUubW9kZSxyKSkucmV0dXJuPWUsbik6KChuPWwobix0KSkucmV0dXJuPWUsbil9ZnVuY3Rpb24gcyhlLG4sdCxyKXt2YXIgYT10LnR5cGU7cmV0dXJuIGE9PT14P2YoZSxuLHQucHJvcHMuY2hpbGRyZW4scix0LmtleSk6bnVsbCE9PW4mJihuLmVsZW1lbnRUeXBlPT09YXx8Im9iamVjdCI9PXR5cGVvZiBhJiZudWxsIT09YSYmYS4kJHR5cGVvZj09PU0mJkthKGEpPT09bi50eXBlKT8oKHI9bChuLHQucHJvcHMpKS5yZWY9JGEoZSxuLHQpLHIucmV0dXJuPWUscik6KChyPVJzKHQudHlwZSx0LmtleSx0LnByb3BzLG51bGwsZS5tb2RlLHIpKS5yZWY9JGEoZSxuLHQpLHIucmV0dXJuPWUscil9ZnVuY3Rpb24gYyhlLG4sdCxyKXtyZXR1cm4gbnVsbD09PW58fDQhPT1uLnRhZ3x8bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyE9PXQuY29udGFpbmVySW5mb3x8bi5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24hPT10LmltcGxlbWVudGF0aW9uPygobj1Vcyh0LGUubW9kZSxyKSkucmV0dXJuPWUsbik6KChuPWwobix0LmNoaWxkcmVufHxbXSkpLnJldHVybj1lLG4pfWZ1bmN0aW9uIGYoZSxuLHQscixhKXtyZXR1cm4gbnVsbD09PW58fDchPT1uLnRhZz8oKG49RHModCxlLm1vZGUscixhKSkucmV0dXJuPWUsbik6KChuPWwobix0KSkucmV0dXJuPWUsbil9ZnVuY3Rpb24gZChlLG4sdCl7aWYoInN0cmluZyI9PXR5cGVvZiBuJiYiIiE9PW58fCJudW1iZXIiPT10eXBlb2YgbilyZXR1cm4obj1PcygiIituLGUubW9kZSx0KSkucmV0dXJuPWUsbjtpZigib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uKXsKc3dpdGNoKG4uJCR0eXBlb2Ype2Nhc2UgdzpyZXR1cm4odD1ScyhuLnR5cGUsbi5rZXksbi5wcm9wcyxudWxsLGUubW9kZSx0KSkucmVmPSRhKGUsbnVsbCxuKSx0LnJldHVybj1lLHQ7Y2FzZSBTOnJldHVybihuPVVzKG4sZS5tb2RlLHQpKS5yZXR1cm49ZSxuO2Nhc2UgTTpyZXR1cm4gZChlLCgwLG4uX2luaXQpKG4uX3BheWxvYWQpLHQpfWlmKG5lKG4pfHxEKG4pKXJldHVybihuPURzKG4sZS5tb2RlLHQsbnVsbCkpLnJldHVybj1lLG47cWEoZSxuKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBwKGUsbix0LHIpe3ZhciBsPW51bGwhPT1uP24ua2V5Om51bGw7aWYoInN0cmluZyI9PXR5cGVvZiB0JiYiIiE9PXR8fCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gbnVsbCE9PWw/bnVsbDppKGUsbiwiIit0LHIpO2lmKCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQpe3N3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIHc6cmV0dXJuIHQua2V5PT09bD9zKGUsbix0LHIpOm51bGw7Y2FzZSBTOnJldHVybiB0LmtleT09PWw/YyhlLG4sdCxyKTpudWxsO2Nhc2UgTTpyZXR1cm4gcChlLG4sKGw9dC5faW5pdCkodC5fcGF5bG9hZCkscil9aWYobmUodCl8fEQodCkpcmV0dXJuIG51bGwhPT1sP251bGw6ZihlLG4sdCxyLG51bGwpO3FhKGUsdCl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbShlLG4sdCxyLGwpe2lmKCJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yfHwibnVtYmVyIj09dHlwZW9mIHIpcmV0dXJuIGkobixlPWUuZ2V0KHQpfHxudWxsLCIiK3IsbCk7aWYoIm9iamVjdCI9PXR5cGVvZiByJiZudWxsIT09cil7c3dpdGNoKHIuJCR0eXBlb2Ype2Nhc2UgdzpyZXR1cm4gcyhuLGU9ZS5nZXQobnVsbD09PXIua2V5P3Q6ci5rZXkpfHxudWxsLHIsbCk7Y2FzZSBTOnJldHVybiBjKG4sZT1lLmdldChudWxsPT09ci5rZXk/dDpyLmtleSl8fG51bGwscixsKTtjYXNlIE06cmV0dXJuIG0oZSxuLHQsKDAsci5faW5pdCkoci5fcGF5bG9hZCksbCl9aWYobmUocil8fEQocikpcmV0dXJuIGYobixlPWUuZ2V0KHQpfHxudWxsLHIsbCxudWxsKTtxYShuLHIpfXJldHVybiBudWxsfWZ1bmN0aW9uIGgobCxhLG8saSl7Zm9yKHZhciBzPW51bGwsYz1udWxsLGY9YSxoPWE9MCxnPW51bGw7bnVsbCE9PWYmJmg8by5sZW5ndGg7aCsrKXtmLmluZGV4Pmg/KGc9ZixmPW51bGwpOmc9Zi5zaWJsaW5nO3ZhciB2PXAobCxmLG9baF0saSk7aWYobnVsbD09PXYpe251bGw9PT1mJiYoZj1nKTticmVha31lJiZmJiZudWxsPT09di5hbHRlcm5hdGUmJm4obCxmKSxhPXUodixhLGgpLG51bGw9PT1jP3M9djpjLnNpYmxpbmc9dixjPXYsZj1nfWlmKGg9PT1vLmxlbmd0aClyZXR1cm4gdChsLGYpLGxhJiZabChsLGgpLHM7aWYobnVsbD09PWYpe2Zvcig7aDxvLmxlbmd0aDtoKyspbnVsbCE9PShmPWQobCxvW2hdLGkpKSYmKGE9dShmLGEsaCksbnVsbD09PWM/cz1mOmMuc2libGluZz1mLGM9Zik7cmV0dXJuIGxhJiZabChsLGgpLHN9Zm9yKGY9cihsLGYpO2g8by5sZW5ndGg7aCsrKW51bGwhPT0oZz1tKGYsbCxoLG9baF0saSkpJiYoZSYmbnVsbCE9PWcuYWx0ZXJuYXRlJiZmLmRlbGV0ZShudWxsPT09Zy5rZXk/aDpnLmtleSksYT11KGcsYSxoKSxudWxsPT09Yz9zPWc6Yy5zaWJsaW5nPWcsYz1nKTtyZXR1cm4gZSYmZi5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gbihsLGUpfSkpLGxhJiZabChsLGgpLHN9ZnVuY3Rpb24gZyhsLG8saSxzKXt2YXIgYz1EKGkpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBjKXRocm93IEVycm9yKGEoMTUwKSk7aWYobnVsbD09KGk9Yy5jYWxsKGkpKSl0aHJvdyBFcnJvcihhKDE1MSkpO2Zvcih2YXIgZj1jPW51bGwsaD1vLGc9bz0wLHY9bnVsbCx5PWkubmV4dCgpO251bGwhPT1oJiYheS5kb25lO2crKyx5PWkubmV4dCgpKXtoLmluZGV4Pmc/KHY9aCxoPW51bGwpOnY9aC5zaWJsaW5nO3ZhciBiPXAobCxoLHkudmFsdWUscyk7aWYobnVsbD09PWIpe251bGw9PT1oJiYoaD12KTticmVha31lJiZoJiZudWxsPT09Yi5hbHRlcm5hdGUmJm4obCxoKSxvPXUoYixvLGcpLG51bGw9PT1mP2M9YjpmLnNpYmxpbmc9YixmPWIsaD12fWlmKHkuZG9uZSlyZXR1cm4gdChsLGgpLGxhJiZabChsLGcpLGM7aWYobnVsbD09PWgpe2Zvcig7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9ZChsLHkudmFsdWUscykpJiYobz11KHksbyxnKSxudWxsPT09Zj9jPXk6Zi5zaWJsaW5nPXksZj15KTtyZXR1cm4gbGEmJlpsKGwsZyksY31mb3IoaD1yKGwsaCk7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9bShoLGwsZyx5LnZhbHVlLHMpKSYmKGUmJm51bGwhPT15LmFsdGVybmF0ZSYmaC5kZWxldGUobnVsbD09PXkua2V5P2c6eS5rZXkpLG89dSh5LG8sZyksbnVsbD09PWY/Yz15OmYuc2libGluZz15LGY9eSk7cmV0dXJuIGUmJmguZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIG4obCxlKX0pKSxsYSYmWmwobCxnKSxjfXJldHVybiBmdW5jdGlvbiBlKHIsYSx1LGkpe2lmKCJvYmplY3QiPT10eXBlb2YgdSYmbnVsbCE9PXUmJnUudHlwZT09PXgmJm51bGw9PT11LmtleSYmKHU9dS5wcm9wcy5jaGlsZHJlbiksIm9iamVjdCI9PXR5cGVvZiB1JiZudWxsIT09dSl7c3dpdGNoKHUuJCR0eXBlb2Ype2Nhc2UgdzplOntmb3IodmFyIHM9dS5rZXksYz1hO251bGwhPT1jOyl7aWYoYy5rZXk9PT1zKXtpZigocz11LnR5cGUpPT09eCl7aWYoNz09PWMudGFnKXt0KHIsYy5zaWJsaW5nKSwoYT1sKGMsdS5wcm9wcy5jaGlsZHJlbikpLnJldHVybj1yLHI9YTticmVhayBlfX1lbHNlIGlmKGMuZWxlbWVudFR5cGU9PT1zfHwib2JqZWN0Ij09dHlwZW9mIHMmJm51bGwhPT1zJiZzLiQkdHlwZW9mPT09TSYmS2Eocyk9PT1jLnR5cGUpe3QocixjLnNpYmxpbmcpLChhPWwoYyx1LnByb3BzKSkucmVmPSRhKHIsYyx1KSxhLnJldHVybj1yLHI9YTticmVhayBlfXQocixjKTticmVha31uKHIsYyksYz1jLnNpYmxpbmd9dS50eXBlPT09eD8oKGE9RHModS5wcm9wcy5jaGlsZHJlbixyLm1vZGUsaSx1LmtleSkpLnJldHVybj1yLHI9YSk6KChpPVJzKHUudHlwZSx1LmtleSx1LnByb3BzLG51bGwsci5tb2RlLGkpKS5yZWY9JGEocixhLHUpLAppLnJldHVybj1yLHI9aSl9cmV0dXJuIG8ocik7Y2FzZSBTOmU6e2ZvcihjPXUua2V5O251bGwhPT1hOyl7aWYoYS5rZXk9PT1jKXtpZig0PT09YS50YWcmJmEuc3RhdGVOb2RlLmNvbnRhaW5lckluZm89PT11LmNvbnRhaW5lckluZm8mJmEuc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uPT09dS5pbXBsZW1lbnRhdGlvbil7dChyLGEuc2libGluZyksKGE9bChhLHUuY2hpbGRyZW58fFtdKSkucmV0dXJuPXIscj1hO2JyZWFrIGV9dChyLGEpO2JyZWFrfW4ocixhKSxhPWEuc2libGluZ30oYT1Vcyh1LHIubW9kZSxpKSkucmV0dXJuPXIscj1hfXJldHVybiBvKHIpO2Nhc2UgTTpyZXR1cm4gZShyLGEsKGM9dS5faW5pdCkodS5fcGF5bG9hZCksaSl9aWYobmUodSkpcmV0dXJuIGgocixhLHUsaSk7aWYoRCh1KSlyZXR1cm4gZyhyLGEsdSxpKTtxYShyLHUpfXJldHVybiJzdHJpbmciPT10eXBlb2YgdSYmIiIhPT11fHwibnVtYmVyIj09dHlwZW9mIHU/KHU9IiIrdSxudWxsIT09YSYmNj09PWEudGFnPyh0KHIsYS5zaWJsaW5nKSwoYT1sKGEsdSkpLnJldHVybj1yLHI9YSk6KHQocixhKSwoYT1Pcyh1LHIubW9kZSxpKSkucmV0dXJuPXIscj1hKSxvKHIpKTp0KHIsYSl9fXZhciBYYT1ZYSghMCksR2E9WWEoITEpLFphPXt9LEphPUVsKFphKSxldT1FbChaYSksbnU9RWwoWmEpO2Z1bmN0aW9uIHR1KGUpe2lmKGU9PT1aYSl0aHJvdyBFcnJvcihhKDE3NCkpO3JldHVybiBlfWZ1bmN0aW9uIHJ1KGUsbil7c3dpdGNoKHpsKG51LG4pLHpsKGV1LGUpLHpsKEphLFphKSxlPW4ubm9kZVR5cGUpe2Nhc2UgOTpjYXNlIDExOm49KG49bi5kb2N1bWVudEVsZW1lbnQpP24ubmFtZXNwYWNlVVJJOmllKG51bGwsIiIpO2JyZWFrO2RlZmF1bHQ6bj1pZShuPShlPTg9PT1lP24ucGFyZW50Tm9kZTpuKS5uYW1lc3BhY2VVUkl8fG51bGwsZT1lLnRhZ05hbWUpfUNsKEphKSx6bChKYSxuKX1mdW5jdGlvbiBsdSgpe0NsKEphKSxDbChldSksQ2wobnUpfWZ1bmN0aW9uIGF1KGUpe3R1KG51LmN1cnJlbnQpO3ZhciBuPXR1KEphLmN1cnJlbnQpLHQ9aWUobixlLnR5cGUpO24hPT10JiYoemwoZXUsZSksemwoSmEsdCkpfWZ1bmN0aW9uIHV1KGUpe2V1LmN1cnJlbnQ9PT1lJiYoQ2woSmEpLENsKGV1KSl9dmFyIG91PUVsKDApO2Z1bmN0aW9uIGl1KGUpe2Zvcih2YXIgbj1lO251bGwhPT1uOyl7aWYoMTM9PT1uLnRhZyl7dmFyIHQ9bi5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT10JiYobnVsbD09PSh0PXQuZGVoeWRyYXRlZCl8fCIkPyI9PT10LmRhdGF8fCIkISI9PT10LmRhdGEpKXJldHVybiBufWVsc2UgaWYoMTk9PT1uLnRhZyYmdm9pZCAwIT09bi5tZW1vaXplZFByb3BzLnJldmVhbE9yZGVyKXtpZigxMjgmbi5mbGFncylyZXR1cm4gbn1lbHNlIGlmKG51bGwhPT1uLmNoaWxkKXtuLmNoaWxkLnJldHVybj1uLG49bi5jaGlsZDtjb250aW51ZX1pZihuPT09ZSlicmVhaztmb3IoO251bGw9PT1uLnNpYmxpbmc7KXtpZihudWxsPT09bi5yZXR1cm58fG4ucmV0dXJuPT09ZSlyZXR1cm4gbnVsbDtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9cmV0dXJuIG51bGx9dmFyIHN1PVtdO2Z1bmN0aW9uIGN1KCl7Zm9yKHZhciBlPTA7ZTxzdS5sZW5ndGg7ZSsrKXN1W2VdLl93b3JrSW5Qcm9ncmVzc1ZlcnNpb25QcmltYXJ5PW51bGw7c3UubGVuZ3RoPTB9dmFyIGZ1PWsuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixkdT1rLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLHB1PTAsbXU9bnVsbCxodT1udWxsLGd1PW51bGwsdnU9ITEseXU9ITEsYnU9MCxrdT0wO2Z1bmN0aW9uIHd1KCl7dGhyb3cgRXJyb3IoYSgzMjEpKX1mdW5jdGlvbiBTdShlLG4pe2lmKG51bGw9PT1uKXJldHVybiExO2Zvcih2YXIgdD0wO3Q8bi5sZW5ndGgmJnQ8ZS5sZW5ndGg7dCsrKWlmKCFvcihlW3RdLG5bdF0pKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIHh1KGUsbix0LHIsbCx1KXtpZihwdT11LG11PW4sbi5tZW1vaXplZFN0YXRlPW51bGwsbi51cGRhdGVRdWV1ZT1udWxsLG4ubGFuZXM9MCxmdS5jdXJyZW50PW51bGw9PT1lfHxudWxsPT09ZS5tZW1vaXplZFN0YXRlP3VvOm9vLGU9dChyLGwpLHl1KXt1PTA7ZG97aWYoeXU9ITEsYnU9MCwyNTw9dSl0aHJvdyBFcnJvcihhKDMwMSkpO3UrPTEsZ3U9aHU9bnVsbCxuLnVwZGF0ZVF1ZXVlPW51bGwsZnUuY3VycmVudD1pbyxlPXQocixsKX13aGlsZSh5dSl9aWYoZnUuY3VycmVudD1hbyxuPW51bGwhPT1odSYmbnVsbCE9PWh1Lm5leHQscHU9MCxndT1odT1tdT1udWxsLHZ1PSExLG4pdGhyb3cgRXJyb3IoYSgzMDApKTtyZXR1cm4gZX1mdW5jdGlvbiBFdSgpe3ZhciBlPTAhPT1idTtyZXR1cm4gYnU9MCxlfWZ1bmN0aW9uIEN1KCl7dmFyIGU9e21lbW9pemVkU3RhdGU6bnVsbCxiYXNlU3RhdGU6bnVsbCxiYXNlUXVldWU6bnVsbCxxdWV1ZTpudWxsLG5leHQ6bnVsbH07cmV0dXJuIG51bGw9PT1ndT9tdS5tZW1vaXplZFN0YXRlPWd1PWU6Z3U9Z3UubmV4dD1lLGd1fWZ1bmN0aW9uIHp1KCl7aWYobnVsbD09PWh1KXt2YXIgZT1tdS5hbHRlcm5hdGU7ZT1udWxsIT09ZT9lLm1lbW9pemVkU3RhdGU6bnVsbH1lbHNlIGU9aHUubmV4dDt2YXIgbj1udWxsPT09Z3U/bXUubWVtb2l6ZWRTdGF0ZTpndS5uZXh0O2lmKG51bGwhPT1uKWd1PW4saHU9ZTtlbHNle2lmKG51bGw9PT1lKXRocm93IEVycm9yKGEoMzEwKSk7ZT17bWVtb2l6ZWRTdGF0ZTooaHU9ZSkubWVtb2l6ZWRTdGF0ZSxiYXNlU3RhdGU6aHUuYmFzZVN0YXRlLGJhc2VRdWV1ZTpodS5iYXNlUXVldWUscXVldWU6aHUucXVldWUsbmV4dDpudWxsfSxudWxsPT09Z3U/bXUubWVtb2l6ZWRTdGF0ZT1ndT1lOmd1PWd1Lm5leHQ9ZX1yZXR1cm4gZ3V9ZnVuY3Rpb24gTnUoZSxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj9uKGUpOm59ZnVuY3Rpb24gX3UoZSl7dmFyIG49enUoKSx0PW4ucXVldWU7aWYobnVsbD09PXQpdGhyb3cgRXJyb3IoYSgzMTEpKTt0Lmxhc3RSZW5kZXJlZFJlZHVjZXI9ZTt2YXIgcj1odSxsPXIuYmFzZVF1ZXVlLHU9dC5wZW5kaW5nO2lmKG51bGwhPT11KXtpZihudWxsIT09bCl7dmFyIG89bC5uZXh0CjtsLm5leHQ9dS5uZXh0LHUubmV4dD1vfXIuYmFzZVF1ZXVlPWw9dSx0LnBlbmRpbmc9bnVsbH1pZihudWxsIT09bCl7dT1sLm5leHQscj1yLmJhc2VTdGF0ZTt2YXIgaT1vPW51bGwscz1udWxsLGM9dTtkb3t2YXIgZj1jLmxhbmU7aWYoKHB1JmYpPT09ZiludWxsIT09cyYmKHM9cy5uZXh0PXtsYW5lOjAsYWN0aW9uOmMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Yy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Yy5lYWdlclN0YXRlLG5leHQ6bnVsbH0pLHI9Yy5oYXNFYWdlclN0YXRlP2MuZWFnZXJTdGF0ZTplKHIsYy5hY3Rpb24pO2Vsc2V7dmFyIGQ9e2xhbmU6ZixhY3Rpb246Yy5hY3Rpb24saGFzRWFnZXJTdGF0ZTpjLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTpjLmVhZ2VyU3RhdGUsbmV4dDpudWxsfTtudWxsPT09cz8oaT1zPWQsbz1yKTpzPXMubmV4dD1kLG11LmxhbmVzfD1mLElpfD1mfWM9Yy5uZXh0fXdoaWxlKG51bGwhPT1jJiZjIT09dSk7bnVsbD09PXM/bz1yOnMubmV4dD1pLG9yKHIsbi5tZW1vaXplZFN0YXRlKXx8KGtvPSEwKSxuLm1lbW9pemVkU3RhdGU9cixuLmJhc2VTdGF0ZT1vLG4uYmFzZVF1ZXVlPXMsdC5sYXN0UmVuZGVyZWRTdGF0ZT1yfWlmKG51bGwhPT0oZT10LmludGVybGVhdmVkKSl7bD1lO2Rve3U9bC5sYW5lLG11LmxhbmVzfD11LElpfD11LGw9bC5uZXh0fXdoaWxlKGwhPT1lKX1lbHNlIG51bGw9PT1sJiYodC5sYW5lcz0wKTtyZXR1cm5bbi5tZW1vaXplZFN0YXRlLHQuZGlzcGF0Y2hdfWZ1bmN0aW9uIFB1KGUpe3ZhciBuPXp1KCksdD1uLnF1ZXVlO2lmKG51bGw9PT10KXRocm93IEVycm9yKGEoMzExKSk7dC5sYXN0UmVuZGVyZWRSZWR1Y2VyPWU7dmFyIHI9dC5kaXNwYXRjaCxsPXQucGVuZGluZyx1PW4ubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09bCl7dC5wZW5kaW5nPW51bGw7dmFyIG89bD1sLm5leHQ7ZG97dT1lKHUsby5hY3Rpb24pLG89by5uZXh0fXdoaWxlKG8hPT1sKTtvcih1LG4ubWVtb2l6ZWRTdGF0ZSl8fChrbz0hMCksbi5tZW1vaXplZFN0YXRlPXUsbnVsbD09PW4uYmFzZVF1ZXVlJiYobi5iYXNlU3RhdGU9dSksdC5sYXN0UmVuZGVyZWRTdGF0ZT11fXJldHVyblt1LHJdfWZ1bmN0aW9uIFR1KCl7fWZ1bmN0aW9uIEx1KGUsbil7dmFyIHQ9bXUscj16dSgpLGw9bigpLHU9IW9yKHIubWVtb2l6ZWRTdGF0ZSxsKTtpZih1JiYoci5tZW1vaXplZFN0YXRlPWwsa289ITApLHI9ci5xdWV1ZSxIdShSdS5iaW5kKG51bGwsdCxyLGUpLFtlXSksci5nZXRTbmFwc2hvdCE9PW58fHV8fG51bGwhPT1ndSYmMSZndS5tZW1vaXplZFN0YXRlLnRhZyl7aWYodC5mbGFnc3w9MjA0OCxVdSg5LEZ1LmJpbmQobnVsbCx0LHIsbCxuKSx2b2lkIDAsbnVsbCksbnVsbD09PVBpKXRocm93IEVycm9yKGEoMzQ5KSk7MzAmcHV8fE11KHQsbixsKX1yZXR1cm4gbH1mdW5jdGlvbiBNdShlLG4sdCl7ZS5mbGFnc3w9MTYzODQsZT17Z2V0U25hcHNob3Q6bix2YWx1ZTp0fSxudWxsPT09KG49bXUudXBkYXRlUXVldWUpPyhuPXtsYXN0RWZmZWN0Om51bGwsc3RvcmVzOm51bGx9LG11LnVwZGF0ZVF1ZXVlPW4sbi5zdG9yZXM9W2VdKTpudWxsPT09KHQ9bi5zdG9yZXMpP24uc3RvcmVzPVtlXTp0LnB1c2goZSl9ZnVuY3Rpb24gRnUoZSxuLHQscil7bi52YWx1ZT10LG4uZ2V0U25hcHNob3Q9cixEdShuKSYmSXUoZSl9ZnVuY3Rpb24gUnUoZSxuLHQpe3JldHVybiB0KChmdW5jdGlvbigpe0R1KG4pJiZJdShlKX0pKX1mdW5jdGlvbiBEdShlKXt2YXIgbj1lLmdldFNuYXBzaG90O2U9ZS52YWx1ZTt0cnl7dmFyIHQ9bigpO3JldHVybiFvcihlLHQpfWNhdGNoKGUpe3JldHVybiEwfX1mdW5jdGlvbiBJdShlKXt2YXIgbj1QYShlLDEpO251bGwhPT1uJiZ0cyhuLGUsMSwtMSl9ZnVuY3Rpb24gT3UoZSl7dmFyIG49Q3UoKTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZSYmKGU9ZSgpKSxuLm1lbW9pemVkU3RhdGU9bi5iYXNlU3RhdGU9ZSxlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjpOdSxsYXN0UmVuZGVyZWRTdGF0ZTplfSxuLnF1ZXVlPWUsZT1lLmRpc3BhdGNoPW5vLmJpbmQobnVsbCxtdSxlKSxbbi5tZW1vaXplZFN0YXRlLGVdfWZ1bmN0aW9uIFV1KGUsbix0LHIpe3JldHVybiBlPXt0YWc6ZSxjcmVhdGU6bixkZXN0cm95OnQsZGVwczpyLG5leHQ6bnVsbH0sbnVsbD09PShuPW11LnVwZGF0ZVF1ZXVlKT8obj17bGFzdEVmZmVjdDpudWxsLHN0b3JlczpudWxsfSxtdS51cGRhdGVRdWV1ZT1uLG4ubGFzdEVmZmVjdD1lLm5leHQ9ZSk6bnVsbD09PSh0PW4ubGFzdEVmZmVjdCk/bi5sYXN0RWZmZWN0PWUubmV4dD1lOihyPXQubmV4dCx0Lm5leHQ9ZSxlLm5leHQ9cixuLmxhc3RFZmZlY3Q9ZSksZX1mdW5jdGlvbiBWdSgpe3JldHVybiB6dSgpLm1lbW9pemVkU3RhdGV9ZnVuY3Rpb24gQXUoZSxuLHQscil7dmFyIGw9Q3UoKTttdS5mbGFnc3w9ZSxsLm1lbW9pemVkU3RhdGU9VXUoMXxuLHQsdm9pZCAwLHZvaWQgMD09PXI/bnVsbDpyKX1mdW5jdGlvbiBCdShlLG4sdCxyKXt2YXIgbD16dSgpO3I9dm9pZCAwPT09cj9udWxsOnI7dmFyIGE9dm9pZCAwO2lmKG51bGwhPT1odSl7dmFyIHU9aHUubWVtb2l6ZWRTdGF0ZTtpZihhPXUuZGVzdHJveSxudWxsIT09ciYmU3Uocix1LmRlcHMpKXJldHVybiB2b2lkKGwubWVtb2l6ZWRTdGF0ZT1VdShuLHQsYSxyKSl9bXUuZmxhZ3N8PWUsbC5tZW1vaXplZFN0YXRlPVV1KDF8bix0LGEscil9ZnVuY3Rpb24gV3UoZSxuKXtyZXR1cm4gQXUoODM5MDY1Niw4LGUsbil9ZnVuY3Rpb24gSHUoZSxuKXtyZXR1cm4gQnUoMjA0OCw4LGUsbil9ZnVuY3Rpb24gUXUoZSxuKXtyZXR1cm4gQnUoNCwyLGUsbil9ZnVuY3Rpb24ganUoZSxuKXtyZXR1cm4gQnUoNCw0LGUsbil9ZnVuY3Rpb24gJHUoZSxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj8oZT1lKCksbihlKSxmdW5jdGlvbigpe24obnVsbCl9KTpudWxsIT1uPyhlPWUoKSxuLmN1cnJlbnQ9ZSxmdW5jdGlvbigpe24uY3VycmVudD1udWxsfSk6dm9pZCAwfWZ1bmN0aW9uIHF1KGUsbix0KXsKcmV0dXJuIHQ9bnVsbCE9dD90LmNvbmNhdChbZV0pOm51bGwsQnUoNCw0LCR1LmJpbmQobnVsbCxuLGUpLHQpfWZ1bmN0aW9uIEt1KCl7fWZ1bmN0aW9uIFl1KGUsbil7dmFyIHQ9enUoKTtuPXZvaWQgMD09PW4/bnVsbDpuO3ZhciByPXQubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PXImJm51bGwhPT1uJiZTdShuLHJbMV0pP3JbMF06KHQubWVtb2l6ZWRTdGF0ZT1bZSxuXSxlKX1mdW5jdGlvbiBYdShlLG4pe3ZhciB0PXp1KCk7bj12b2lkIDA9PT1uP251bGw6bjt2YXIgcj10Lm1lbW9pemVkU3RhdGU7cmV0dXJuIG51bGwhPT1yJiZudWxsIT09biYmU3UobixyWzFdKT9yWzBdOihlPWUoKSx0Lm1lbW9pemVkU3RhdGU9W2Usbl0sZSl9ZnVuY3Rpb24gR3UoZSxuLHQpe3JldHVybiAyMSZwdT8ob3IodCxuKXx8KHQ9Z24oKSxtdS5sYW5lc3w9dCxJaXw9dCxlLmJhc2VTdGF0ZT0hMCksbik6KGUuYmFzZVN0YXRlJiYoZS5iYXNlU3RhdGU9ITEsa289ITApLGUubWVtb2l6ZWRTdGF0ZT10KX1mdW5jdGlvbiBadShlLG4pe3ZhciB0PWtuO2tuPTAhPT10JiY0PnQ/dDo0LGUoITApO3ZhciByPWR1LnRyYW5zaXRpb247ZHUudHJhbnNpdGlvbj17fTt0cnl7ZSghMSksbigpfWZpbmFsbHl7a249dCxkdS50cmFuc2l0aW9uPXJ9fWZ1bmN0aW9uIEp1KCl7cmV0dXJuIHp1KCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBlbyhlLG4sdCl7dmFyIHI9bnMoZSk7aWYodD17bGFuZTpyLGFjdGlvbjp0LGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH0sdG8oZSkpcm8obix0KTtlbHNlIGlmKG51bGwhPT0odD1fYShlLG4sdCxyKSkpe3RzKHQsZSxyLGVzKCkpLGxvKHQsbixyKX19ZnVuY3Rpb24gbm8oZSxuLHQpe3ZhciByPW5zKGUpLGw9e2xhbmU6cixhY3Rpb246dCxoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9O2lmKHRvKGUpKXJvKG4sbCk7ZWxzZXt2YXIgYT1lLmFsdGVybmF0ZTtpZigwPT09ZS5sYW5lcyYmKG51bGw9PT1hfHwwPT09YS5sYW5lcykmJm51bGwhPT0oYT1uLmxhc3RSZW5kZXJlZFJlZHVjZXIpKXRyeXt2YXIgdT1uLmxhc3RSZW5kZXJlZFN0YXRlLG89YSh1LHQpO2lmKGwuaGFzRWFnZXJTdGF0ZT0hMCxsLmVhZ2VyU3RhdGU9byxvcihvLHUpKXt2YXIgaT1uLmludGVybGVhdmVkO3JldHVybiBudWxsPT09aT8obC5uZXh0PWwsTmEobikpOihsLm5leHQ9aS5uZXh0LGkubmV4dD1sKSx2b2lkKG4uaW50ZXJsZWF2ZWQ9bCl9fWNhdGNoKGUpe31udWxsIT09KHQ9X2EoZSxuLGwscikpJiYodHModCxlLHIsbD1lcygpKSxsbyh0LG4scikpfX1mdW5jdGlvbiB0byhlKXt2YXIgbj1lLmFsdGVybmF0ZTtyZXR1cm4gZT09PW11fHxudWxsIT09biYmbj09PW11fWZ1bmN0aW9uIHJvKGUsbil7eXU9dnU9ITA7dmFyIHQ9ZS5wZW5kaW5nO251bGw9PT10P24ubmV4dD1uOihuLm5leHQ9dC5uZXh0LHQubmV4dD1uKSxlLnBlbmRpbmc9bn1mdW5jdGlvbiBsbyhlLG4sdCl7aWYoNDE5NDI0MCZ0KXt2YXIgcj1uLmxhbmVzO3R8PXImPWUucGVuZGluZ0xhbmVzLG4ubGFuZXM9dCxibihlLHQpfX12YXIgYW89e3JlYWRDb250ZXh0OkNhLHVzZUNhbGxiYWNrOnd1LHVzZUNvbnRleHQ6d3UsdXNlRWZmZWN0Ond1LHVzZUltcGVyYXRpdmVIYW5kbGU6d3UsdXNlSW5zZXJ0aW9uRWZmZWN0Ond1LHVzZUxheW91dEVmZmVjdDp3dSx1c2VNZW1vOnd1LHVzZVJlZHVjZXI6d3UsdXNlUmVmOnd1LHVzZVN0YXRlOnd1LHVzZURlYnVnVmFsdWU6d3UsdXNlRGVmZXJyZWRWYWx1ZTp3dSx1c2VUcmFuc2l0aW9uOnd1LHVzZU11dGFibGVTb3VyY2U6d3UsdXNlU3luY0V4dGVybmFsU3RvcmU6d3UsdXNlSWQ6d3UsdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSx1bz17cmVhZENvbnRleHQ6Q2EsdXNlQ2FsbGJhY2s6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gQ3UoKS5tZW1vaXplZFN0YXRlPVtlLHZvaWQgMD09PW4/bnVsbDpuXSxlfSx1c2VDb250ZXh0OkNhLHVzZUVmZmVjdDpXdSx1c2VJbXBlcmF0aXZlSGFuZGxlOmZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gdD1udWxsIT10P3QuY29uY2F0KFtlXSk6bnVsbCxBdSg0MTk0MzA4LDQsJHUuYmluZChudWxsLG4sZSksdCl9LHVzZUxheW91dEVmZmVjdDpmdW5jdGlvbihlLG4pe3JldHVybiBBdSg0MTk0MzA4LDQsZSxuKX0sdXNlSW5zZXJ0aW9uRWZmZWN0OmZ1bmN0aW9uKGUsbil7cmV0dXJuIEF1KDQsMixlLG4pfSx1c2VNZW1vOmZ1bmN0aW9uKGUsbil7dmFyIHQ9Q3UoKTtyZXR1cm4gbj12b2lkIDA9PT1uP251bGw6bixlPWUoKSx0Lm1lbW9pemVkU3RhdGU9W2Usbl0sZX0sdXNlUmVkdWNlcjpmdW5jdGlvbihlLG4sdCl7dmFyIHI9Q3UoKTtyZXR1cm4gbj12b2lkIDAhPT10P3Qobik6bixyLm1lbW9pemVkU3RhdGU9ci5iYXNlU3RhdGU9bixlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjplLGxhc3RSZW5kZXJlZFN0YXRlOm59LHIucXVldWU9ZSxlPWUuZGlzcGF0Y2g9ZW8uYmluZChudWxsLG11LGUpLFtyLm1lbW9pemVkU3RhdGUsZV19LHVzZVJlZjpmdW5jdGlvbihlKXtyZXR1cm4gZT17Y3VycmVudDplfSxDdSgpLm1lbW9pemVkU3RhdGU9ZX0sdXNlU3RhdGU6T3UsdXNlRGVidWdWYWx1ZTpLdSx1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBDdSgpLm1lbW9pemVkU3RhdGU9ZX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBlPU91KCExKSxuPWVbMF07cmV0dXJuIGU9WnUuYmluZChudWxsLGVbMV0pLEN1KCkubWVtb2l6ZWRTdGF0ZT1lLFtuLGVdfSx1c2VNdXRhYmxlU291cmNlOmZ1bmN0aW9uKCl7fSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpmdW5jdGlvbihlLG4sdCl7dmFyIHI9bXUsbD1DdSgpO2lmKGxhKXtpZih2b2lkIDA9PT10KXRocm93IEVycm9yKGEoNDA3KSk7dD10KCl9ZWxzZXtpZih0PW4oKSxudWxsPT09UGkpdGhyb3cgRXJyb3IoYSgzNDkpKTszMCZwdXx8TXUocixuLHQpfWwubWVtb2l6ZWRTdGF0ZT10O3ZhciB1PXt2YWx1ZTp0LGdldFNuYXBzaG90Om59O3JldHVybiBsLnF1ZXVlPXUsCld1KFJ1LmJpbmQobnVsbCxyLHUsZSksW2VdKSxyLmZsYWdzfD0yMDQ4LFV1KDksRnUuYmluZChudWxsLHIsdSx0LG4pLHZvaWQgMCxudWxsKSx0fSx1c2VJZDpmdW5jdGlvbigpe3ZhciBlPUN1KCksbj1QaS5pZGVudGlmaWVyUHJlZml4O2lmKGxhKXt2YXIgdD1HbDtuPSI6IituKyJSIisodD0oWGwmfigxPDwzMi11bihYbCktMSkpLnRvU3RyaW5nKDMyKSt0KSwwPCh0PWJ1KyspJiYobis9IkgiK3QudG9TdHJpbmcoMzIpKSxuKz0iOiJ9ZWxzZSBuPSI6IituKyJyIisodD1rdSsrKS50b1N0cmluZygzMikrIjoiO3JldHVybiBlLm1lbW9pemVkU3RhdGU9bn0sdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSxvbz17cmVhZENvbnRleHQ6Q2EsdXNlQ2FsbGJhY2s6WXUsdXNlQ29udGV4dDpDYSx1c2VFZmZlY3Q6SHUsdXNlSW1wZXJhdGl2ZUhhbmRsZTpxdSx1c2VJbnNlcnRpb25FZmZlY3Q6UXUsdXNlTGF5b3V0RWZmZWN0Omp1LHVzZU1lbW86WHUsdXNlUmVkdWNlcjpfdSx1c2VSZWY6VnUsdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gX3UoTnUpfSx1c2VEZWJ1Z1ZhbHVlOkt1LHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIEd1KHp1KCksaHUubWVtb2l6ZWRTdGF0ZSxlKX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3JldHVybltfdShOdSlbMF0senUoKS5tZW1vaXplZFN0YXRlXX0sdXNlTXV0YWJsZVNvdXJjZTpUdSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpMdSx1c2VJZDpKdSx1bnN0YWJsZV9pc05ld1JlY29uY2lsZXI6ITF9LGlvPXtyZWFkQ29udGV4dDpDYSx1c2VDYWxsYmFjazpZdSx1c2VDb250ZXh0OkNhLHVzZUVmZmVjdDpIdSx1c2VJbXBlcmF0aXZlSGFuZGxlOnF1LHVzZUluc2VydGlvbkVmZmVjdDpRdSx1c2VMYXlvdXRFZmZlY3Q6anUsdXNlTWVtbzpYdSx1c2VSZWR1Y2VyOlB1LHVzZVJlZjpWdSx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBQdShOdSl9LHVzZURlYnVnVmFsdWU6S3UsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlKXt2YXIgbj16dSgpO3JldHVybiBudWxsPT09aHU/bi5tZW1vaXplZFN0YXRlPWU6R3UobixodS5tZW1vaXplZFN0YXRlLGUpfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuW1B1KE51KVswXSx6dSgpLm1lbW9pemVkU3RhdGVdfSx1c2VNdXRhYmxlU291cmNlOlR1LHVzZVN5bmNFeHRlcm5hbFN0b3JlOkx1LHVzZUlkOkp1LHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjohMX07ZnVuY3Rpb24gc28oZSxuKXt0cnl7dmFyIHQ9IiIscj1uO2Rve3QrPUIocikscj1yLnJldHVybn13aGlsZShyKTt2YXIgbD10fWNhdGNoKGUpe2w9IlxuRXJyb3IgZ2VuZXJhdGluZyBzdGFjazogIitlLm1lc3NhZ2UrIlxuIitlLnN0YWNrfXJldHVybnt2YWx1ZTplLHNvdXJjZTpuLHN0YWNrOmwsZGlnZXN0Om51bGx9fWZ1bmN0aW9uIGNvKGUsbix0KXtyZXR1cm57dmFsdWU6ZSxzb3VyY2U6bnVsbCxzdGFjazpudWxsIT10P3Q6bnVsbCxkaWdlc3Q6bnVsbCE9bj9uOm51bGx9fWZ1bmN0aW9uIGZvKGUsbil7dHJ5e2NvbnNvbGUuZXJyb3Iobi52YWx1ZSl9Y2F0Y2goZSl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0aHJvdyBlfSkpfX12YXIgcG89ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtNYXA/V2Vha01hcDpNYXA7ZnVuY3Rpb24gbW8oZSxuLHQpeyh0PUZhKC0xLHQpKS50YWc9Myx0LnBheWxvYWQ9e2VsZW1lbnQ6bnVsbH07dmFyIHI9bi52YWx1ZTtyZXR1cm4gdC5jYWxsYmFjaz1mdW5jdGlvbigpe1FpfHwoUWk9ITAsamk9ciksZm8oMCxuKX0sdH1mdW5jdGlvbiBobyhlLG4sdCl7KHQ9RmEoLTEsdCkpLnRhZz0zO3ZhciByPWUudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBsPW4udmFsdWU7dC5wYXlsb2FkPWZ1bmN0aW9uKCl7cmV0dXJuIHIobCl9LHQuY2FsbGJhY2s9ZnVuY3Rpb24oKXtmbygwLG4pfX12YXIgYT1lLnN0YXRlTm9kZTtyZXR1cm4gbnVsbCE9PWEmJiJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudERpZENhdGNoJiYodC5jYWxsYmFjaz1mdW5jdGlvbigpe2ZvKDAsbiksImZ1bmN0aW9uIiE9dHlwZW9mIHImJihudWxsPT09JGk/JGk9bmV3IFNldChbdGhpc10pOiRpLmFkZCh0aGlzKSk7dmFyIGU9bi5zdGFjazt0aGlzLmNvbXBvbmVudERpZENhdGNoKG4udmFsdWUse2NvbXBvbmVudFN0YWNrOm51bGwhPT1lP2U6IiJ9KX0pLHR9ZnVuY3Rpb24gZ28oZSxuLHQpe3ZhciByPWUucGluZ0NhY2hlO2lmKG51bGw9PT1yKXtyPWUucGluZ0NhY2hlPW5ldyBwbzt2YXIgbD1uZXcgU2V0O3Iuc2V0KG4sbCl9ZWxzZSB2b2lkIDA9PT0obD1yLmdldChuKSkmJihsPW5ldyBTZXQsci5zZXQobixsKSk7bC5oYXModCl8fChsLmFkZCh0KSxlPUNzLmJpbmQobnVsbCxlLG4sdCksbi50aGVuKGUsZSkpfWZ1bmN0aW9uIHZvKGUpe2Rve3ZhciBuO2lmKChuPTEzPT09ZS50YWcpJiYobj1udWxsPT09KG49ZS5tZW1vaXplZFN0YXRlKXx8bnVsbCE9PW4uZGVoeWRyYXRlZCksbilyZXR1cm4gZTtlPWUucmV0dXJufXdoaWxlKG51bGwhPT1lKTtyZXR1cm4gbnVsbH1mdW5jdGlvbiB5byhlLG4sdCxyLGwpe3JldHVybiAxJmUubW9kZT8oZS5mbGFnc3w9NjU1MzYsZS5sYW5lcz1sLGUpOihlPT09bj9lLmZsYWdzfD02NTUzNjooZS5mbGFnc3w9MTI4LHQuZmxhZ3N8PTEzMTA3Mix0LmZsYWdzJj0tNTI4MDUsMT09PXQudGFnJiYobnVsbD09PXQuYWx0ZXJuYXRlP3QudGFnPTE3Oigobj1GYSgtMSwxKSkudGFnPTIsUmEodCxuLDEpKSksdC5sYW5lc3w9MSksZSl9dmFyIGJvPWsuUmVhY3RDdXJyZW50T3duZXIsa289ITE7ZnVuY3Rpb24gd28oZSxuLHQscil7bi5jaGlsZD1udWxsPT09ZT9HYShuLG51bGwsdCxyKTpYYShuLGUuY2hpbGQsdCxyKX1mdW5jdGlvbiBTbyhlLG4sdCxyLGwpe3Q9dC5yZW5kZXI7dmFyIGE9bi5yZWY7cmV0dXJuIEVhKG4sbCkscj14dShlLG4sdCxyLGEsbCksdD1FdSgpLG51bGw9PT1lfHxrbz8obGEmJnQmJmVhKG4pLG4uZmxhZ3N8PTEsd28oZSxuLHIsbCksbi5jaGlsZCk6KG4udXBkYXRlUXVldWU9ZS51cGRhdGVRdWV1ZSxuLmZsYWdzJj0tMjA1MywKZS5sYW5lcyY9fmwsUW8oZSxuLGwpKX1mdW5jdGlvbiB4byhlLG4sdCxyLGwpe2lmKG51bGw9PT1lKXt2YXIgYT10LnR5cGU7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIGF8fE1zKGEpfHx2b2lkIDAhPT1hLmRlZmF1bHRQcm9wc3x8bnVsbCE9PXQuY29tcGFyZXx8dm9pZCAwIT09dC5kZWZhdWx0UHJvcHM/KChlPVJzKHQudHlwZSxudWxsLHIsbixuLm1vZGUsbCkpLnJlZj1uLnJlZixlLnJldHVybj1uLG4uY2hpbGQ9ZSk6KG4udGFnPTE1LG4udHlwZT1hLEVvKGUsbixhLHIsbCkpfWlmKGE9ZS5jaGlsZCwhKGUubGFuZXMmbCkpe3ZhciB1PWEubWVtb2l6ZWRQcm9wcztpZigodD1udWxsIT09KHQ9dC5jb21wYXJlKT90OmlyKSh1LHIpJiZlLnJlZj09PW4ucmVmKXJldHVybiBRbyhlLG4sbCl9cmV0dXJuIG4uZmxhZ3N8PTEsKGU9RnMoYSxyKSkucmVmPW4ucmVmLGUucmV0dXJuPW4sbi5jaGlsZD1lfWZ1bmN0aW9uIEVvKGUsbix0LHIsbCl7aWYobnVsbCE9PWUpe3ZhciBhPWUubWVtb2l6ZWRQcm9wcztpZihpcihhLHIpJiZlLnJlZj09PW4ucmVmKXtpZihrbz0hMSxuLnBlbmRpbmdQcm9wcz1yPWEsIShlLmxhbmVzJmwpKXJldHVybiBuLmxhbmVzPWUubGFuZXMsUW8oZSxuLGwpOzEzMTA3MiZlLmZsYWdzJiYoa289ITApfX1yZXR1cm4gTm8oZSxuLHQscixsKX1mdW5jdGlvbiBDbyhlLG4sdCl7dmFyIHI9bi5wZW5kaW5nUHJvcHMsbD1yLmNoaWxkcmVuLGE9bnVsbCE9PWU/ZS5tZW1vaXplZFN0YXRlOm51bGw7aWYoImhpZGRlbiI9PT1yLm1vZGUpaWYoMSZuLm1vZGUpe2lmKCEoMTA3Mzc0MTgyNCZ0KSlyZXR1cm4gZT1udWxsIT09YT9hLmJhc2VMYW5lc3x0OnQsbi5sYW5lcz1uLmNoaWxkTGFuZXM9MTA3Mzc0MTgyNCxuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczplLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LG4udXBkYXRlUXVldWU9bnVsbCx6bChGaSxNaSksTWl8PWUsbnVsbDtuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LHI9bnVsbCE9PWE/YS5iYXNlTGFuZXM6dCx6bChGaSxNaSksTWl8PXJ9ZWxzZSBuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LHpsKEZpLE1pKSxNaXw9dDtlbHNlIG51bGwhPT1hPyhyPWEuYmFzZUxhbmVzfHQsbi5tZW1vaXplZFN0YXRlPW51bGwpOnI9dCx6bChGaSxNaSksTWl8PXI7cmV0dXJuIHdvKGUsbixsLHQpLG4uY2hpbGR9ZnVuY3Rpb24gem8oZSxuKXt2YXIgdD1uLnJlZjsobnVsbD09PWUmJm51bGwhPT10fHxudWxsIT09ZSYmZS5yZWYhPT10KSYmKG4uZmxhZ3N8PTUxMixuLmZsYWdzfD0yMDk3MTUyKX1mdW5jdGlvbiBObyhlLG4sdCxyLGwpe3ZhciBhPU1sKHQpP1RsOl9sLmN1cnJlbnQ7cmV0dXJuIGE9TGwobixhKSxFYShuLGwpLHQ9eHUoZSxuLHQscixhLGwpLHI9RXUoKSxudWxsPT09ZXx8a28/KGxhJiZyJiZlYShuKSxuLmZsYWdzfD0xLHdvKGUsbix0LGwpLG4uY2hpbGQpOihuLnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsbi5mbGFncyY9LTIwNTMsZS5sYW5lcyY9fmwsUW8oZSxuLGwpKX1mdW5jdGlvbiBfbyhlLG4sdCxyLGwpe2lmKE1sKHQpKXt2YXIgYT0hMDtJbChuKX1lbHNlIGE9ITE7aWYoRWEobixsKSxudWxsPT09bi5zdGF0ZU5vZGUpSG8oZSxuKSxIYShuLHQsciksamEobix0LHIsbCkscj0hMDtlbHNlIGlmKG51bGw9PT1lKXt2YXIgdT1uLnN0YXRlTm9kZSxvPW4ubWVtb2l6ZWRQcm9wczt1LnByb3BzPW87dmFyIGk9dS5jb250ZXh0LHM9dC5jb250ZXh0VHlwZTsib2JqZWN0Ij09dHlwZW9mIHMmJm51bGwhPT1zP3M9Q2Eocyk6cz1MbChuLHM9TWwodCk/VGw6X2wuY3VycmVudCk7dmFyIGM9dC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsZj0iZnVuY3Rpb24iPT10eXBlb2YgY3x8ImZ1bmN0aW9uIj09dHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGU7Znx8ImZ1bmN0aW9uIiE9dHlwZW9mIHUuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJiJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHN8fChvIT09cnx8aSE9PXMpJiZRYShuLHUscixzKSxUYT0hMTt2YXIgZD1uLm1lbW9pemVkU3RhdGU7dS5zdGF0ZT1kLE9hKG4scix1LGwpLGk9bi5tZW1vaXplZFN0YXRlLG8hPT1yfHxkIT09aXx8UGwuY3VycmVudHx8VGE/KCJmdW5jdGlvbiI9PXR5cGVvZiBjJiYoQWEobix0LGMsciksaT1uLm1lbW9pemVkU3RhdGUpLChvPVRhfHxXYShuLHQsbyxyLGQsaSxzKSk/KGZ8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJiJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudFdpbGxNb3VudHx8KCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudFdpbGxNb3VudCYmdS5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZ1LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSksImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50RGlkTW91bnQmJihuLmZsYWdzfD00MTk0MzA4KSk6KCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZE1vdW50JiYobi5mbGFnc3w9NDE5NDMwOCksbi5tZW1vaXplZFByb3BzPXIsbi5tZW1vaXplZFN0YXRlPWkpLHUucHJvcHM9cix1LnN0YXRlPWksdS5jb250ZXh0PXMscj1vKTooImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50RGlkTW91bnQmJihuLmZsYWdzfD00MTk0MzA4KSxyPSExKX1lbHNle3U9bi5zdGF0ZU5vZGUsTWEoZSxuKSxvPW4ubWVtb2l6ZWRQcm9wcyxzPW4udHlwZT09PW4uZWxlbWVudFR5cGU/bzpnYShuLnR5cGUsbyksdS5wcm9wcz1zLGY9bi5wZW5kaW5nUHJvcHMsZD11LmNvbnRleHQsIm9iamVjdCI9PXR5cGVvZihpPXQuY29udGV4dFR5cGUpJiZudWxsIT09aT9pPUNhKGkpOmk9TGwobixpPU1sKHQpP1RsOl9sLmN1cnJlbnQpO3ZhciBwPXQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzCjsoYz0iZnVuY3Rpb24iPT10eXBlb2YgcHx8ImZ1bmN0aW9uIj09dHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUpfHwiZnVuY3Rpb24iIT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIHUuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KG8hPT1mfHxkIT09aSkmJlFhKG4sdSxyLGkpLFRhPSExLGQ9bi5tZW1vaXplZFN0YXRlLHUuc3RhdGU9ZCxPYShuLHIsdSxsKTt2YXIgbT1uLm1lbW9pemVkU3RhdGU7byE9PWZ8fGQhPT1tfHxQbC5jdXJyZW50fHxUYT8oImZ1bmN0aW9uIj09dHlwZW9mIHAmJihBYShuLHQscCxyKSxtPW4ubWVtb2l6ZWRTdGF0ZSksKHM9VGF8fFdhKG4sdCxzLHIsZCxtLGkpfHwhMSk/KGN8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiYiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnRXaWxsVXBkYXRlfHwoImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5jb21wb25lbnRXaWxsVXBkYXRlKHIsbSxpKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShyLG0saSkpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZSYmKG4uZmxhZ3N8PTQpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlJiYobi5mbGFnc3w9MTAyNCkpOigiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnREaWRVcGRhdGV8fG89PT1lLm1lbW9pemVkUHJvcHMmJmQ9PT1lLm1lbW9pemVkU3RhdGV8fChuLmZsYWdzfD00KSwiZnVuY3Rpb24iIT10eXBlb2YgdS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KG4uZmxhZ3N8PTEwMjQpLG4ubWVtb2l6ZWRQcm9wcz1yLG4ubWVtb2l6ZWRTdGF0ZT1tKSx1LnByb3BzPXIsdS5zdGF0ZT1tLHUuY29udGV4dD1pLHI9cyk6KCJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KG4uZmxhZ3N8PTQpLCJmdW5jdGlvbiIhPXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwobi5mbGFnc3w9MTAyNCkscj0hMSl9cmV0dXJuIFBvKGUsbix0LHIsYSxsKX1mdW5jdGlvbiBQbyhlLG4sdCxyLGwsYSl7em8oZSxuKTt2YXIgdT0hISgxMjgmbi5mbGFncyk7aWYoIXImJiF1KXJldHVybiBsJiZPbChuLHQsITEpLFFvKGUsbixhKTtyPW4uc3RhdGVOb2RlLGJvLmN1cnJlbnQ9bjt2YXIgbz11JiYiZnVuY3Rpb24iIT10eXBlb2YgdC5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I/bnVsbDpyLnJlbmRlcigpO3JldHVybiBuLmZsYWdzfD0xLG51bGwhPT1lJiZ1PyhuLmNoaWxkPVhhKG4sZS5jaGlsZCxudWxsLGEpLG4uY2hpbGQ9WGEobixudWxsLG8sYSkpOndvKGUsbixvLGEpLG4ubWVtb2l6ZWRTdGF0ZT1yLnN0YXRlLGwmJk9sKG4sdCwhMCksbi5jaGlsZH1mdW5jdGlvbiBUbyhlKXt2YXIgbj1lLnN0YXRlTm9kZTtuLnBlbmRpbmdDb250ZXh0P1JsKDAsbi5wZW5kaW5nQ29udGV4dCxuLnBlbmRpbmdDb250ZXh0IT09bi5jb250ZXh0KTpuLmNvbnRleHQmJlJsKDAsbi5jb250ZXh0LCExKSxydShlLG4uY29udGFpbmVySW5mbyl9ZnVuY3Rpb24gTG8oZSxuLHQscixsKXtyZXR1cm4gcGEoKSxtYShsKSxuLmZsYWdzfD0yNTYsd28oZSxuLHQsciksbi5jaGlsZH12YXIgTW8sRm8sUm8sRG89e2RlaHlkcmF0ZWQ6bnVsbCx0cmVlQ29udGV4dDpudWxsLHJldHJ5TGFuZTowfTtmdW5jdGlvbiBJbyhlKXtyZXR1cm57YmFzZUxhbmVzOmUsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH19ZnVuY3Rpb24gT28oZSxuLHQpe3ZhciByLGw9bi5wZW5kaW5nUHJvcHMsdT1vdS5jdXJyZW50LG89ITEsaT0hISgxMjgmbi5mbGFncyk7aWYoKHI9aSl8fChyPShudWxsPT09ZXx8bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSkmJiEhKDImdSkpLHI/KG89ITAsbi5mbGFncyY9LTEyOSk6bnVsbCE9PWUmJm51bGw9PT1lLm1lbW9pemVkU3RhdGV8fCh1fD0xKSx6bChvdSwxJnUpLG51bGw9PT1lKXJldHVybiBzYShuKSxudWxsIT09KGU9bi5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PShlPWUuZGVoeWRyYXRlZCk/KDEmbi5tb2RlPyIkISI9PT1lLmRhdGE/bi5sYW5lcz04Om4ubGFuZXM9MTA3Mzc0MTgyNDpuLmxhbmVzPTEsbnVsbCk6KGk9bC5jaGlsZHJlbixlPWwuZmFsbGJhY2ssbz8obD1uLm1vZGUsbz1uLmNoaWxkLGk9e21vZGU6ImhpZGRlbiIsY2hpbGRyZW46aX0sMSZsfHxudWxsPT09bz9vPUlzKGksbCwwLG51bGwpOihvLmNoaWxkTGFuZXM9MCxvLnBlbmRpbmdQcm9wcz1pKSxlPURzKGUsbCx0LG51bGwpLG8ucmV0dXJuPW4sZS5yZXR1cm49bixvLnNpYmxpbmc9ZSxuLmNoaWxkPW8sbi5jaGlsZC5tZW1vaXplZFN0YXRlPUlvKHQpLG4ubWVtb2l6ZWRTdGF0ZT1EbyxlKTpVbyhuLGkpKTtpZihudWxsIT09KHU9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PShyPXUuZGVoeWRyYXRlZCkpcmV0dXJuIGZ1bmN0aW9uKGUsbix0LHIsbCx1LG8pe2lmKHQpcmV0dXJuIDI1NiZuLmZsYWdzPyhuLmZsYWdzJj0tMjU3LFZvKGUsbixvLHI9Y28oRXJyb3IoYSg0MjIpKSkpKTpudWxsIT09bi5tZW1vaXplZFN0YXRlPyhuLmNoaWxkPWUuY2hpbGQsbi5mbGFnc3w9MTI4LG51bGwpOih1PXIuZmFsbGJhY2ssbD1uLm1vZGUscj1Jcyh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46ci5jaGlsZHJlbn0sbCwwLG51bGwpLCh1PURzKHUsbCxvLG51bGwpKS5mbGFnc3w9MixyLnJldHVybj1uLHUucmV0dXJuPW4sci5zaWJsaW5nPXUsbi5jaGlsZD1yLDEmbi5tb2RlJiZYYShuLGUuY2hpbGQsbnVsbCxvKSxuLmNoaWxkLm1lbW9pemVkU3RhdGU9SW8obyksbi5tZW1vaXplZFN0YXRlPURvLHUpO2lmKCEoMSZuLm1vZGUpKXJldHVybiBWbyhlLG4sbyxudWxsKTtpZigiJCEiPT09bC5kYXRhKXsKaWYocj1sLm5leHRTaWJsaW5nJiZsLm5leHRTaWJsaW5nLmRhdGFzZXQpdmFyIGk9ci5kZ3N0O3JldHVybiByPWksVm8oZSxuLG8scj1jbyh1PUVycm9yKGEoNDE5KSkscix2b2lkIDApKX1pZihpPSEhKG8mZS5jaGlsZExhbmVzKSxrb3x8aSl7aWYobnVsbCE9PShyPVBpKSl7c3dpdGNoKG8mLW8pe2Nhc2UgNDpsPTI7YnJlYWs7Y2FzZSAxNjpsPTg7YnJlYWs7Y2FzZSA2NDpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjpjYXNlIDY3MTA4ODY0Omw9MzI7YnJlYWs7Y2FzZSA1MzY4NzA5MTI6bD0yNjg0MzU0NTY7YnJlYWs7ZGVmYXVsdDpsPTB9MCE9PShsPWwmKHIuc3VzcGVuZGVkTGFuZXN8byk/MDpsKSYmbCE9PXUucmV0cnlMYW5lJiYodS5yZXRyeUxhbmU9bCxQYShlLGwpLHRzKHIsZSxsLC0xKSl9cmV0dXJuIGhzKCksVm8oZSxuLG8scj1jbyhFcnJvcihhKDQyMSkpKSl9cmV0dXJuIiQ/Ij09PWwuZGF0YT8obi5mbGFnc3w9MTI4LG4uY2hpbGQ9ZS5jaGlsZCxuPU5zLmJpbmQobnVsbCxlKSxsLl9yZWFjdFJldHJ5PW4sbnVsbCk6KGU9dS50cmVlQ29udGV4dCxyYT1zbChsLm5leHRTaWJsaW5nKSx0YT1uLGxhPSEwLGFhPW51bGwsbnVsbCE9PWUmJihxbFtLbCsrXT1YbCxxbFtLbCsrXT1HbCxxbFtLbCsrXT1ZbCxYbD1lLmlkLEdsPWUub3ZlcmZsb3csWWw9biksbj1VbyhuLHIuY2hpbGRyZW4pLG4uZmxhZ3N8PTQwOTYsbil9KGUsbixpLGwscix1LHQpO2lmKG8pe289bC5mYWxsYmFjayxpPW4ubW9kZSxyPSh1PWUuY2hpbGQpLnNpYmxpbmc7dmFyIHM9e21vZGU6ImhpZGRlbiIsY2hpbGRyZW46bC5jaGlsZHJlbn07cmV0dXJuIDEmaXx8bi5jaGlsZD09PXU/KGw9RnModSxzKSkuc3VidHJlZUZsYWdzPTE0NjgwMDY0JnUuc3VidHJlZUZsYWdzOigobD1uLmNoaWxkKS5jaGlsZExhbmVzPTAsbC5wZW5kaW5nUHJvcHM9cyxuLmRlbGV0aW9ucz1udWxsKSxudWxsIT09cj9vPUZzKHIsbyk6KG89RHMobyxpLHQsbnVsbCkpLmZsYWdzfD0yLG8ucmV0dXJuPW4sbC5yZXR1cm49bixsLnNpYmxpbmc9byxuLmNoaWxkPWwsbD1vLG89bi5jaGlsZCxpPW51bGw9PT0oaT1lLmNoaWxkLm1lbW9pemVkU3RhdGUpP0lvKHQpOntiYXNlTGFuZXM6aS5iYXNlTGFuZXN8dCxjYWNoZVBvb2w6bnVsbCx0cmFuc2l0aW9uczppLnRyYW5zaXRpb25zfSxvLm1lbW9pemVkU3RhdGU9aSxvLmNoaWxkTGFuZXM9ZS5jaGlsZExhbmVzJn50LG4ubWVtb2l6ZWRTdGF0ZT1EbyxsfXJldHVybiBlPShvPWUuY2hpbGQpLnNpYmxpbmcsbD1GcyhvLHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpsLmNoaWxkcmVufSksISgxJm4ubW9kZSkmJihsLmxhbmVzPXQpLGwucmV0dXJuPW4sbC5zaWJsaW5nPW51bGwsbnVsbCE9PWUmJihudWxsPT09KHQ9bi5kZWxldGlvbnMpPyhuLmRlbGV0aW9ucz1bZV0sbi5mbGFnc3w9MTYpOnQucHVzaChlKSksbi5jaGlsZD1sLG4ubWVtb2l6ZWRTdGF0ZT1udWxsLGx9ZnVuY3Rpb24gVW8oZSxuKXtyZXR1cm4obj1Jcyh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46bn0sZS5tb2RlLDAsbnVsbCkpLnJldHVybj1lLGUuY2hpbGQ9bn1mdW5jdGlvbiBWbyhlLG4sdCxyKXtyZXR1cm4gbnVsbCE9PXImJm1hKHIpLFhhKG4sZS5jaGlsZCxudWxsLHQpLChlPVVvKG4sbi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4pKS5mbGFnc3w9MixuLm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIEFvKGUsbix0KXtlLmxhbmVzfD1uO3ZhciByPWUuYWx0ZXJuYXRlO251bGwhPT1yJiYoci5sYW5lc3w9bikseGEoZS5yZXR1cm4sbix0KX1mdW5jdGlvbiBCbyhlLG4sdCxyLGwpe3ZhciBhPWUubWVtb2l6ZWRTdGF0ZTtudWxsPT09YT9lLm1lbW9pemVkU3RhdGU9e2lzQmFja3dhcmRzOm4scmVuZGVyaW5nOm51bGwscmVuZGVyaW5nU3RhcnRUaW1lOjAsbGFzdDpyLHRhaWw6dCx0YWlsTW9kZTpsfTooYS5pc0JhY2t3YXJkcz1uLGEucmVuZGVyaW5nPW51bGwsYS5yZW5kZXJpbmdTdGFydFRpbWU9MCxhLmxhc3Q9cixhLnRhaWw9dCxhLnRhaWxNb2RlPWwpfWZ1bmN0aW9uIFdvKGUsbix0KXt2YXIgcj1uLnBlbmRpbmdQcm9wcyxsPXIucmV2ZWFsT3JkZXIsYT1yLnRhaWw7aWYod28oZSxuLHIuY2hpbGRyZW4sdCksMiYocj1vdS5jdXJyZW50KSlyPTEmcnwyLG4uZmxhZ3N8PTEyODtlbHNle2lmKG51bGwhPT1lJiYxMjgmZS5mbGFncyllOmZvcihlPW4uY2hpbGQ7bnVsbCE9PWU7KXtpZigxMz09PWUudGFnKW51bGwhPT1lLm1lbW9pemVkU3RhdGUmJkFvKGUsdCxuKTtlbHNlIGlmKDE5PT09ZS50YWcpQW8oZSx0LG4pO2Vsc2UgaWYobnVsbCE9PWUuY2hpbGQpe2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkO2NvbnRpbnVlfWlmKGU9PT1uKWJyZWFrIGU7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxlLnJldHVybj09PW4pYnJlYWsgZTtlPWUucmV0dXJufWUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmd9ciY9MX1pZih6bChvdSxyKSwxJm4ubW9kZSlzd2l0Y2gobCl7Y2FzZSJmb3J3YXJkcyI6Zm9yKHQ9bi5jaGlsZCxsPW51bGw7bnVsbCE9PXQ7KW51bGwhPT0oZT10LmFsdGVybmF0ZSkmJm51bGw9PT1pdShlKSYmKGw9dCksdD10LnNpYmxpbmc7bnVsbD09PSh0PWwpPyhsPW4uY2hpbGQsbi5jaGlsZD1udWxsKToobD10LnNpYmxpbmcsdC5zaWJsaW5nPW51bGwpLEJvKG4sITEsbCx0LGEpO2JyZWFrO2Nhc2UiYmFja3dhcmRzIjpmb3IodD1udWxsLGw9bi5jaGlsZCxuLmNoaWxkPW51bGw7bnVsbCE9PWw7KXtpZihudWxsIT09KGU9bC5hbHRlcm5hdGUpJiZudWxsPT09aXUoZSkpe24uY2hpbGQ9bDticmVha31lPWwuc2libGluZyxsLnNpYmxpbmc9dCx0PWwsbD1lfUJvKG4sITAsdCxudWxsLGEpO2JyZWFrO2Nhc2UidG9nZXRoZXIiOgpCbyhuLCExLG51bGwsbnVsbCx2b2lkIDApO2JyZWFrO2RlZmF1bHQ6bi5tZW1vaXplZFN0YXRlPW51bGx9ZWxzZSBuLm1lbW9pemVkU3RhdGU9bnVsbDtyZXR1cm4gbi5jaGlsZH1mdW5jdGlvbiBIbyhlLG4peyEoMSZuLm1vZGUpJiZudWxsIT09ZSYmKGUuYWx0ZXJuYXRlPW51bGwsbi5hbHRlcm5hdGU9bnVsbCxuLmZsYWdzfD0yKX1mdW5jdGlvbiBRbyhlLG4sdCl7aWYobnVsbCE9PWUmJihuLmRlcGVuZGVuY2llcz1lLmRlcGVuZGVuY2llcyksSWl8PW4ubGFuZXMsISh0Jm4uY2hpbGRMYW5lcykpcmV0dXJuIG51bGw7aWYobnVsbCE9PWUmJm4uY2hpbGQhPT1lLmNoaWxkKXRocm93IEVycm9yKGEoMTUzKSk7aWYobnVsbCE9PW4uY2hpbGQpe2Zvcih0PUZzKGU9bi5jaGlsZCxlLnBlbmRpbmdQcm9wcyksbi5jaGlsZD10LHQucmV0dXJuPW47bnVsbCE9PWUuc2libGluZzspZT1lLnNpYmxpbmcsKHQ9dC5zaWJsaW5nPUZzKGUsZS5wZW5kaW5nUHJvcHMpKS5yZXR1cm49bjt0LnNpYmxpbmc9bnVsbH1yZXR1cm4gbi5jaGlsZH1mdW5jdGlvbiBqbyhlLG4pe2lmKCFsYSlzd2l0Y2goZS50YWlsTW9kZSl7Y2FzZSJoaWRkZW4iOm49ZS50YWlsO2Zvcih2YXIgdD1udWxsO251bGwhPT1uOyludWxsIT09bi5hbHRlcm5hdGUmJih0PW4pLG49bi5zaWJsaW5nO251bGw9PT10P2UudGFpbD1udWxsOnQuc2libGluZz1udWxsO2JyZWFrO2Nhc2UiY29sbGFwc2VkIjp0PWUudGFpbDtmb3IodmFyIHI9bnVsbDtudWxsIT09dDspbnVsbCE9PXQuYWx0ZXJuYXRlJiYocj10KSx0PXQuc2libGluZztudWxsPT09cj9ufHxudWxsPT09ZS50YWlsP2UudGFpbD1udWxsOmUudGFpbC5zaWJsaW5nPW51bGw6ci5zaWJsaW5nPW51bGx9fWZ1bmN0aW9uICRvKGUpe3ZhciBuPW51bGwhPT1lLmFsdGVybmF0ZSYmZS5hbHRlcm5hdGUuY2hpbGQ9PT1lLmNoaWxkLHQ9MCxyPTA7aWYobilmb3IodmFyIGw9ZS5jaGlsZDtudWxsIT09bDspdHw9bC5sYW5lc3xsLmNoaWxkTGFuZXMscnw9MTQ2ODAwNjQmbC5zdWJ0cmVlRmxhZ3Mscnw9MTQ2ODAwNjQmbC5mbGFncyxsLnJldHVybj1lLGw9bC5zaWJsaW5nO2Vsc2UgZm9yKGw9ZS5jaGlsZDtudWxsIT09bDspdHw9bC5sYW5lc3xsLmNoaWxkTGFuZXMscnw9bC5zdWJ0cmVlRmxhZ3Mscnw9bC5mbGFncyxsLnJldHVybj1lLGw9bC5zaWJsaW5nO3JldHVybiBlLnN1YnRyZWVGbGFnc3w9cixlLmNoaWxkTGFuZXM9dCxufWZ1bmN0aW9uIHFvKGUsbix0KXt2YXIgcj1uLnBlbmRpbmdQcm9wcztzd2l0Y2gobmEobiksbi50YWcpe2Nhc2UgMjpjYXNlIDE2OmNhc2UgMTU6Y2FzZSAwOmNhc2UgMTE6Y2FzZSA3OmNhc2UgODpjYXNlIDEyOmNhc2UgOTpjYXNlIDE0OnJldHVybiAkbyhuKSxudWxsO2Nhc2UgMTpjYXNlIDE3OnJldHVybiBNbChuLnR5cGUpJiZGbCgpLCRvKG4pLG51bGw7Y2FzZSAzOnJldHVybiByPW4uc3RhdGVOb2RlLGx1KCksQ2woUGwpLENsKF9sKSxjdSgpLHIucGVuZGluZ0NvbnRleHQmJihyLmNvbnRleHQ9ci5wZW5kaW5nQ29udGV4dCxyLnBlbmRpbmdDb250ZXh0PW51bGwpLG51bGwhPT1lJiZudWxsIT09ZS5jaGlsZHx8KGZhKG4pP24uZmxhZ3N8PTQ6bnVsbD09PWV8fGUubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQmJiEoMjU2Jm4uZmxhZ3MpfHwobi5mbGFnc3w9MTAyNCxudWxsIT09YWEmJih1cyhhYSksYWE9bnVsbCkpKSwkbyhuKSxudWxsO2Nhc2UgNTp1dShuKTt2YXIgbD10dShudS5jdXJyZW50KTtpZih0PW4udHlwZSxudWxsIT09ZSYmbnVsbCE9bi5zdGF0ZU5vZGUpRm8oZSxuLHQsciksZS5yZWYhPT1uLnJlZiYmKG4uZmxhZ3N8PTUxMixuLmZsYWdzfD0yMDk3MTUyKTtlbHNle2lmKCFyKXtpZihudWxsPT09bi5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjYpKTtyZXR1cm4gJG8obiksbnVsbH1pZihlPXR1KEphLmN1cnJlbnQpLGZhKG4pKXtyPW4uc3RhdGVOb2RlLHQ9bi50eXBlO3ZhciB1PW4ubWVtb2l6ZWRQcm9wcztzd2l0Y2gocltkbF09bixyW3BsXT11LGU9ISEoMSZuLm1vZGUpLHQpe2Nhc2UiZGlhbG9nIjpWcigiY2FuY2VsIixyKSxWcigiY2xvc2UiLHIpO2JyZWFrO2Nhc2UiaWZyYW1lIjpjYXNlIm9iamVjdCI6Y2FzZSJlbWJlZCI6VnIoImxvYWQiLHIpO2JyZWFrO2Nhc2UidmlkZW8iOmNhc2UiYXVkaW8iOmZvcihsPTA7bDxEci5sZW5ndGg7bCsrKVZyKERyW2xdLHIpO2JyZWFrO2Nhc2Uic291cmNlIjpWcigiZXJyb3IiLHIpO2JyZWFrO2Nhc2UiaW1nIjpjYXNlImltYWdlIjpjYXNlImxpbmsiOlZyKCJlcnJvciIsciksVnIoImxvYWQiLHIpO2JyZWFrO2Nhc2UiZGV0YWlscyI6VnIoInRvZ2dsZSIscik7YnJlYWs7Y2FzZSJpbnB1dCI6WChyLHUpLFZyKCJpbnZhbGlkIixyKTticmVhaztjYXNlInNlbGVjdCI6ci5fd3JhcHBlclN0YXRlPXt3YXNNdWx0aXBsZTohIXUubXVsdGlwbGV9LFZyKCJpbnZhbGlkIixyKTticmVhaztjYXNlInRleHRhcmVhIjpsZShyLHUpLFZyKCJpbnZhbGlkIixyKX1mb3IodmFyIGkgaW4geWUodCx1KSxsPW51bGwsdSlpZih1Lmhhc093blByb3BlcnR5KGkpKXt2YXIgcz11W2ldOyJjaGlsZHJlbiI9PT1pPyJzdHJpbmciPT10eXBlb2Ygcz9yLnRleHRDb250ZW50IT09cyYmKCEwIT09dS5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcmJlpyKHIudGV4dENvbnRlbnQscyxlKSxsPVsiY2hpbGRyZW4iLHNdKToibnVtYmVyIj09dHlwZW9mIHMmJnIudGV4dENvbnRlbnQhPT0iIitzJiYoITAhPT11LnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmWnIoci50ZXh0Q29udGVudCxzLGUpLGw9WyJjaGlsZHJlbiIsIiIrc10pOm8uaGFzT3duUHJvcGVydHkoaSkmJm51bGwhPXMmJiJvblNjcm9sbCI9PT1pJiZWcigic2Nyb2xsIixyKX1zd2l0Y2godCl7Y2FzZSJpbnB1dCI6JChyKSxKKHIsdSwhMCk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6JChyKSx1ZShyKTticmVhaztjYXNlInNlbGVjdCI6Y2FzZSJvcHRpb24iOmJyZWFrO2RlZmF1bHQ6ImZ1bmN0aW9uIj09dHlwZW9mIHUub25DbGljayYmKHIub25jbGljaz1Kcil9cj1sLG4udXBkYXRlUXVldWU9cixudWxsIT09ciYmKG4uZmxhZ3N8PTQpfWVsc2V7Cmk9OT09PWwubm9kZVR5cGU/bDpsLm93bmVyRG9jdW1lbnQsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPT09ZSYmKGU9b2UodCkpLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/InNjcmlwdCI9PT10PygoZT1pLmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5pbm5lckhUTUw9IjxzY3JpcHQ+PFwvc2NyaXB0PiIsZT1lLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCkpOiJzdHJpbmciPT10eXBlb2Ygci5pcz9lPWkuY3JlYXRlRWxlbWVudCh0LHtpczpyLmlzfSk6KGU9aS5jcmVhdGVFbGVtZW50KHQpLCJzZWxlY3QiPT09dCYmKGk9ZSxyLm11bHRpcGxlP2kubXVsdGlwbGU9ITA6ci5zaXplJiYoaS5zaXplPXIuc2l6ZSkpKTplPWkuY3JlYXRlRWxlbWVudE5TKGUsdCksZVtkbF09bixlW3BsXT1yLE1vKGUsbiksbi5zdGF0ZU5vZGU9ZTtlOntzd2l0Y2goaT1iZSh0LHIpLHQpe2Nhc2UiZGlhbG9nIjpWcigiY2FuY2VsIixlKSxWcigiY2xvc2UiLGUpLGw9cjticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOmNhc2UiZW1iZWQiOlZyKCJsb2FkIixlKSxsPXI7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKGw9MDtsPERyLmxlbmd0aDtsKyspVnIoRHJbbF0sZSk7bD1yO2JyZWFrO2Nhc2Uic291cmNlIjpWcigiZXJyb3IiLGUpLGw9cjticmVhaztjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJsaW5rIjpWcigiZXJyb3IiLGUpLFZyKCJsb2FkIixlKSxsPXI7YnJlYWs7Y2FzZSJkZXRhaWxzIjpWcigidG9nZ2xlIixlKSxsPXI7YnJlYWs7Y2FzZSJpbnB1dCI6WChlLHIpLGw9WShlLHIpLFZyKCJpbnZhbGlkIixlKTticmVhaztjYXNlIm9wdGlvbiI6ZGVmYXVsdDpsPXI7YnJlYWs7Y2FzZSJzZWxlY3QiOmUuX3dyYXBwZXJTdGF0ZT17d2FzTXVsdGlwbGU6ISFyLm11bHRpcGxlfSxsPU8oe30scix7dmFsdWU6dm9pZCAwfSksVnIoImludmFsaWQiLGUpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmxlKGUsciksbD1yZShlLHIpLFZyKCJpbnZhbGlkIixlKX1mb3IodSBpbiB5ZSh0LGwpLHM9bClpZihzLmhhc093blByb3BlcnR5KHUpKXt2YXIgYz1zW3VdOyJzdHlsZSI9PT11P2dlKGUsYyk6ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PXU/bnVsbCE9KGM9Yz9jLl9faHRtbDp2b2lkIDApJiZmZShlLGMpOiJjaGlsZHJlbiI9PT11PyJzdHJpbmciPT10eXBlb2YgYz8oInRleHRhcmVhIiE9PXR8fCIiIT09YykmJmRlKGUsYyk6Im51bWJlciI9PXR5cGVvZiBjJiZkZShlLCIiK2MpOiJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciIT09dSYmInN1cHByZXNzSHlkcmF0aW9uV2FybmluZyIhPT11JiYiYXV0b0ZvY3VzIiE9PXUmJihvLmhhc093blByb3BlcnR5KHUpP251bGwhPWMmJiJvblNjcm9sbCI9PT11JiZWcigic2Nyb2xsIixlKTpudWxsIT1jJiZiKGUsdSxjLGkpKX1zd2l0Y2godCl7Y2FzZSJpbnB1dCI6JChlKSxKKGUsciwhMSk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6JChlKSx1ZShlKTticmVhaztjYXNlIm9wdGlvbiI6bnVsbCE9ci52YWx1ZSYmZS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwiIitRKHIudmFsdWUpKTticmVhaztjYXNlInNlbGVjdCI6ZS5tdWx0aXBsZT0hIXIubXVsdGlwbGUsbnVsbCE9KHU9ci52YWx1ZSk/dGUoZSwhIXIubXVsdGlwbGUsdSwhMSk6bnVsbCE9ci5kZWZhdWx0VmFsdWUmJnRlKGUsISFyLm11bHRpcGxlLHIuZGVmYXVsdFZhbHVlLCEwKTticmVhaztkZWZhdWx0OiJmdW5jdGlvbiI9PXR5cGVvZiBsLm9uQ2xpY2smJihlLm9uY2xpY2s9SnIpfXN3aXRjaCh0KXtjYXNlImJ1dHRvbiI6Y2FzZSJpbnB1dCI6Y2FzZSJzZWxlY3QiOmNhc2UidGV4dGFyZWEiOnI9ISFyLmF1dG9Gb2N1czticmVhayBlO2Nhc2UiaW1nIjpyPSEwO2JyZWFrIGU7ZGVmYXVsdDpyPSExfX1yJiYobi5mbGFnc3w9NCl9bnVsbCE9PW4ucmVmJiYobi5mbGFnc3w9NTEyLG4uZmxhZ3N8PTIwOTcxNTIpfXJldHVybiAkbyhuKSxudWxsO2Nhc2UgNjppZihlJiZudWxsIT1uLnN0YXRlTm9kZSlSbygwLG4sZS5tZW1vaXplZFByb3BzLHIpO2Vsc2V7aWYoInN0cmluZyIhPXR5cGVvZiByJiZudWxsPT09bi5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjYpKTtpZih0PXR1KG51LmN1cnJlbnQpLHR1KEphLmN1cnJlbnQpLGZhKG4pKXtpZihyPW4uc3RhdGVOb2RlLHQ9bi5tZW1vaXplZFByb3BzLHJbZGxdPW4sKHU9ci5ub2RlVmFsdWUhPT10KSYmbnVsbCE9PShlPXRhKSlzd2l0Y2goZS50YWcpe2Nhc2UgMzpacihyLm5vZGVWYWx1ZSx0LCEhKDEmZS5tb2RlKSk7YnJlYWs7Y2FzZSA1OiEwIT09ZS5tZW1vaXplZFByb3BzLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmWnIoci5ub2RlVmFsdWUsdCwhISgxJmUubW9kZSkpfXUmJihuLmZsYWdzfD00KX1lbHNlKHI9KDk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50KS5jcmVhdGVUZXh0Tm9kZShyKSlbZGxdPW4sbi5zdGF0ZU5vZGU9cn1yZXR1cm4gJG8obiksbnVsbDtjYXNlIDEzOmlmKENsKG91KSxyPW4ubWVtb2l6ZWRTdGF0ZSxudWxsPT09ZXx8bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZS5kZWh5ZHJhdGVkKXtpZihsYSYmbnVsbCE9PXJhJiYxJm4ubW9kZSYmISgxMjgmbi5mbGFncykpZGEoKSxwYSgpLG4uZmxhZ3N8PTk4NTYwLHU9ITE7ZWxzZSBpZih1PWZhKG4pLG51bGwhPT1yJiZudWxsIT09ci5kZWh5ZHJhdGVkKXtpZihudWxsPT09ZSl7aWYoIXUpdGhyb3cgRXJyb3IoYSgzMTgpKTtpZighKHU9bnVsbCE9PSh1PW4ubWVtb2l6ZWRTdGF0ZSk/dS5kZWh5ZHJhdGVkOm51bGwpKXRocm93IEVycm9yKGEoMzE3KSk7dVtkbF09bn1lbHNlIHBhKCksISgxMjgmbi5mbGFncykmJihuLm1lbW9pemVkU3RhdGU9bnVsbCksbi5mbGFnc3w9NDskbyhuKSx1PSExfWVsc2UgbnVsbCE9PWFhJiYodXMoYWEpLGFhPW51bGwpLHU9ITA7aWYoIXUpcmV0dXJuIDY1NTM2Jm4uZmxhZ3M/bjpudWxsfXJldHVybiAxMjgmbi5mbGFncz8obi5sYW5lcz10LG4pOigocj1udWxsIT09cikhPT0obnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUpJiZyJiYobi5jaGlsZC5mbGFnc3w9ODE5MiwKMSZuLm1vZGUmJihudWxsPT09ZXx8MSZvdS5jdXJyZW50PzA9PT1SaSYmKFJpPTMpOmhzKCkpKSxudWxsIT09bi51cGRhdGVRdWV1ZSYmKG4uZmxhZ3N8PTQpLCRvKG4pLG51bGwpO2Nhc2UgNDpyZXR1cm4gbHUoKSxudWxsPT09ZSYmV3Iobi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksJG8obiksbnVsbDtjYXNlIDEwOnJldHVybiBTYShuLnR5cGUuX2NvbnRleHQpLCRvKG4pLG51bGw7Y2FzZSAxOTppZihDbChvdSksbnVsbD09PSh1PW4ubWVtb2l6ZWRTdGF0ZSkpcmV0dXJuICRvKG4pLG51bGw7aWYocj0hISgxMjgmbi5mbGFncyksbnVsbD09PShpPXUucmVuZGVyaW5nKSlpZihyKWpvKHUsITEpO2Vsc2V7aWYoMCE9PVJpfHxudWxsIT09ZSYmMTI4JmUuZmxhZ3MpZm9yKGU9bi5jaGlsZDtudWxsIT09ZTspe2lmKG51bGwhPT0oaT1pdShlKSkpe2ZvcihuLmZsYWdzfD0xMjgsam8odSwhMSksbnVsbCE9PShyPWkudXBkYXRlUXVldWUpJiYobi51cGRhdGVRdWV1ZT1yLG4uZmxhZ3N8PTQpLG4uc3VidHJlZUZsYWdzPTAscj10LHQ9bi5jaGlsZDtudWxsIT09dDspZT1yLCh1PXQpLmZsYWdzJj0xNDY4MDA2NixudWxsPT09KGk9dS5hbHRlcm5hdGUpPyh1LmNoaWxkTGFuZXM9MCx1LmxhbmVzPWUsdS5jaGlsZD1udWxsLHUuc3VidHJlZUZsYWdzPTAsdS5tZW1vaXplZFByb3BzPW51bGwsdS5tZW1vaXplZFN0YXRlPW51bGwsdS51cGRhdGVRdWV1ZT1udWxsLHUuZGVwZW5kZW5jaWVzPW51bGwsdS5zdGF0ZU5vZGU9bnVsbCk6KHUuY2hpbGRMYW5lcz1pLmNoaWxkTGFuZXMsdS5sYW5lcz1pLmxhbmVzLHUuY2hpbGQ9aS5jaGlsZCx1LnN1YnRyZWVGbGFncz0wLHUuZGVsZXRpb25zPW51bGwsdS5tZW1vaXplZFByb3BzPWkubWVtb2l6ZWRQcm9wcyx1Lm1lbW9pemVkU3RhdGU9aS5tZW1vaXplZFN0YXRlLHUudXBkYXRlUXVldWU9aS51cGRhdGVRdWV1ZSx1LnR5cGU9aS50eXBlLGU9aS5kZXBlbmRlbmNpZXMsdS5kZXBlbmRlbmNpZXM9bnVsbD09PWU/bnVsbDp7bGFuZXM6ZS5sYW5lcyxmaXJzdENvbnRleHQ6ZS5maXJzdENvbnRleHR9KSx0PXQuc2libGluZztyZXR1cm4gemwob3UsMSZvdS5jdXJyZW50fDIpLG4uY2hpbGR9ZT1lLnNpYmxpbmd9bnVsbCE9PXUudGFpbCYmR2UoKT5XaSYmKG4uZmxhZ3N8PTEyOCxyPSEwLGpvKHUsITEpLG4ubGFuZXM9NDE5NDMwNCl9ZWxzZXtpZighcilpZihudWxsIT09KGU9aXUoaSkpKXtpZihuLmZsYWdzfD0xMjgscj0hMCxudWxsIT09KHQ9ZS51cGRhdGVRdWV1ZSkmJihuLnVwZGF0ZVF1ZXVlPXQsbi5mbGFnc3w9NCksam8odSwhMCksbnVsbD09PXUudGFpbCYmImhpZGRlbiI9PT11LnRhaWxNb2RlJiYhaS5hbHRlcm5hdGUmJiFsYSlyZXR1cm4gJG8obiksbnVsbH1lbHNlIDIqR2UoKS11LnJlbmRlcmluZ1N0YXJ0VGltZT5XaSYmMTA3Mzc0MTgyNCE9PXQmJihuLmZsYWdzfD0xMjgscj0hMCxqbyh1LCExKSxuLmxhbmVzPTQxOTQzMDQpO3UuaXNCYWNrd2FyZHM/KGkuc2libGluZz1uLmNoaWxkLG4uY2hpbGQ9aSk6KG51bGwhPT0odD11Lmxhc3QpP3Quc2libGluZz1pOm4uY2hpbGQ9aSx1Lmxhc3Q9aSl9cmV0dXJuIG51bGwhPT11LnRhaWw/KG49dS50YWlsLHUucmVuZGVyaW5nPW4sdS50YWlsPW4uc2libGluZyx1LnJlbmRlcmluZ1N0YXJ0VGltZT1HZSgpLG4uc2libGluZz1udWxsLHQ9b3UuY3VycmVudCx6bChvdSxyPzEmdHwyOjEmdCksbik6KCRvKG4pLG51bGwpO2Nhc2UgMjI6Y2FzZSAyMzpyZXR1cm4gZnMoKSxyPW51bGwhPT1uLm1lbW9pemVkU3RhdGUsbnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUhPT1yJiYobi5mbGFnc3w9ODE5MiksciYmMSZuLm1vZGU/ISEoMTA3Mzc0MTgyNCZNaSkmJigkbyhuKSw2Jm4uc3VidHJlZUZsYWdzJiYobi5mbGFnc3w9ODE5MikpOiRvKG4pLG51bGw7Y2FzZSAyNDpjYXNlIDI1OnJldHVybiBudWxsfXRocm93IEVycm9yKGEoMTU2LG4udGFnKSl9ZnVuY3Rpb24gS28oZSxuKXtzd2l0Y2gobmEobiksbi50YWcpe2Nhc2UgMTpyZXR1cm4gTWwobi50eXBlKSYmRmwoKSw2NTUzNiYoZT1uLmZsYWdzKT8obi5mbGFncz0tNjU1MzcmZXwxMjgsbik6bnVsbDtjYXNlIDM6cmV0dXJuIGx1KCksQ2woUGwpLENsKF9sKSxjdSgpLDY1NTM2JihlPW4uZmxhZ3MpJiYhKDEyOCZlKT8obi5mbGFncz0tNjU1MzcmZXwxMjgsbik6bnVsbDtjYXNlIDU6cmV0dXJuIHV1KG4pLG51bGw7Y2FzZSAxMzppZihDbChvdSksbnVsbCE9PShlPW4ubWVtb2l6ZWRTdGF0ZSkmJm51bGwhPT1lLmRlaHlkcmF0ZWQpe2lmKG51bGw9PT1uLmFsdGVybmF0ZSl0aHJvdyBFcnJvcihhKDM0MCkpO3BhKCl9cmV0dXJuIDY1NTM2JihlPW4uZmxhZ3MpPyhuLmZsYWdzPS02NTUzNyZlfDEyOCxuKTpudWxsO2Nhc2UgMTk6cmV0dXJuIENsKG91KSxudWxsO2Nhc2UgNDpyZXR1cm4gbHUoKSxudWxsO2Nhc2UgMTA6cmV0dXJuIFNhKG4udHlwZS5fY29udGV4dCksbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIGZzKCksbnVsbDtkZWZhdWx0OnJldHVybiBudWxsfX1Nbz1mdW5jdGlvbihlLG4pe2Zvcih2YXIgdD1uLmNoaWxkO251bGwhPT10Oyl7aWYoNT09PXQudGFnfHw2PT09dC50YWcpZS5hcHBlbmRDaGlsZCh0LnN0YXRlTm9kZSk7ZWxzZSBpZig0IT09dC50YWcmJm51bGwhPT10LmNoaWxkKXt0LmNoaWxkLnJldHVybj10LHQ9dC5jaGlsZDtjb250aW51ZX1pZih0PT09bilicmVhaztmb3IoO251bGw9PT10LnNpYmxpbmc7KXtpZihudWxsPT09dC5yZXR1cm58fHQucmV0dXJuPT09bilyZXR1cm47dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfX0sRm89ZnVuY3Rpb24oZSxuLHQscil7dmFyIGw9ZS5tZW1vaXplZFByb3BzO2lmKGwhPT1yKXtlPW4uc3RhdGVOb2RlLHR1KEphLmN1cnJlbnQpO3ZhciBhLHU9bnVsbDtzd2l0Y2godCl7Y2FzZSJpbnB1dCI6bD1ZKGUsbCkscj1ZKGUsciksdT1bXTticmVhaztjYXNlInNlbGVjdCI6bD1PKHt9LGwse3ZhbHVlOnZvaWQgMH0pLHI9Tyh7fSxyLHt2YWx1ZTp2b2lkIDB9KSx1PVtdO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmw9cmUoZSxsKSxyPXJlKGUsciksdT1bXTticmVhawo7ZGVmYXVsdDoiZnVuY3Rpb24iIT10eXBlb2YgbC5vbkNsaWNrJiYiZnVuY3Rpb24iPT10eXBlb2Ygci5vbkNsaWNrJiYoZS5vbmNsaWNrPUpyKX1mb3IoYyBpbiB5ZSh0LHIpLHQ9bnVsbCxsKWlmKCFyLmhhc093blByb3BlcnR5KGMpJiZsLmhhc093blByb3BlcnR5KGMpJiZudWxsIT1sW2NdKWlmKCJzdHlsZSI9PT1jKXt2YXIgaT1sW2NdO2ZvcihhIGluIGkpaS5oYXNPd25Qcm9wZXJ0eShhKSYmKHR8fCh0PXt9KSx0W2FdPSIiKX1lbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiE9PWMmJiJjaGlsZHJlbiIhPT1jJiYic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIiE9PWMmJiJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciIT09YyYmImF1dG9Gb2N1cyIhPT1jJiYoby5oYXNPd25Qcm9wZXJ0eShjKT91fHwodT1bXSk6KHU9dXx8W10pLnB1c2goYyxudWxsKSk7Zm9yKGMgaW4gcil7dmFyIHM9cltjXTtpZihpPW51bGwhPWw/bFtjXTp2b2lkIDAsci5oYXNPd25Qcm9wZXJ0eShjKSYmcyE9PWkmJihudWxsIT1zfHxudWxsIT1pKSlpZigic3R5bGUiPT09YylpZihpKXtmb3IoYSBpbiBpKSFpLmhhc093blByb3BlcnR5KGEpfHxzJiZzLmhhc093blByb3BlcnR5KGEpfHwodHx8KHQ9e30pLHRbYV09IiIpO2ZvcihhIGluIHMpcy5oYXNPd25Qcm9wZXJ0eShhKSYmaVthXSE9PXNbYV0mJih0fHwodD17fSksdFthXT1zW2FdKX1lbHNlIHR8fCh1fHwodT1bXSksdS5wdXNoKGMsdCkpLHQ9cztlbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PWM/KHM9cz9zLl9faHRtbDp2b2lkIDAsaT1pP2kuX19odG1sOnZvaWQgMCxudWxsIT1zJiZpIT09cyYmKHU9dXx8W10pLnB1c2goYyxzKSk6ImNoaWxkcmVuIj09PWM/InN0cmluZyIhPXR5cGVvZiBzJiYibnVtYmVyIiE9dHlwZW9mIHN8fCh1PXV8fFtdKS5wdXNoKGMsIiIrcyk6InN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyIhPT1jJiYic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiE9PWMmJihvLmhhc093blByb3BlcnR5KGMpPyhudWxsIT1zJiYib25TY3JvbGwiPT09YyYmVnIoInNjcm9sbCIsZSksdXx8aT09PXN8fCh1PVtdKSk6KHU9dXx8W10pLnB1c2goYyxzKSl9dCYmKHU9dXx8W10pLnB1c2goInN0eWxlIix0KTt2YXIgYz11OyhuLnVwZGF0ZVF1ZXVlPWMpJiYobi5mbGFnc3w9NCl9fSxSbz1mdW5jdGlvbihlLG4sdCxyKXt0IT09ciYmKG4uZmxhZ3N8PTQpfTt2YXIgWW89ITEsWG89ITEsR289ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtTZXQ/V2Vha1NldDpTZXQsWm89bnVsbDtmdW5jdGlvbiBKbyhlLG4pe3ZhciB0PWUucmVmO2lmKG51bGwhPT10KWlmKCJmdW5jdGlvbiI9PXR5cGVvZiB0KXRyeXt0KG51bGwpfWNhdGNoKHQpe0VzKGUsbix0KX1lbHNlIHQuY3VycmVudD1udWxsfWZ1bmN0aW9uIGVpKGUsbix0KXt0cnl7dCgpfWNhdGNoKHQpe0VzKGUsbix0KX19dmFyIG5pPSExO2Z1bmN0aW9uIHRpKGUsbix0KXt2YXIgcj1uLnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT0ocj1udWxsIT09cj9yLmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciBsPXI9ci5uZXh0O2Rve2lmKChsLnRhZyZlKT09PWUpe3ZhciBhPWwuZGVzdHJveTtsLmRlc3Ryb3k9dm9pZCAwLHZvaWQgMCE9PWEmJmVpKG4sdCxhKX1sPWwubmV4dH13aGlsZShsIT09cil9fWZ1bmN0aW9uIHJpKGUsbil7aWYobnVsbCE9PShuPW51bGwhPT0obj1uLnVwZGF0ZVF1ZXVlKT9uLmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciB0PW49bi5uZXh0O2Rve2lmKCh0LnRhZyZlKT09PWUpe3ZhciByPXQuY3JlYXRlO3QuZGVzdHJveT1yKCl9dD10Lm5leHR9d2hpbGUodCE9PW4pfX1mdW5jdGlvbiBsaShlKXt2YXIgbj1lLnJlZjtpZihudWxsIT09bil7dmFyIHQ9ZS5zdGF0ZU5vZGU7ZS50YWcsZT10LCJmdW5jdGlvbiI9PXR5cGVvZiBuP24oZSk6bi5jdXJyZW50PWV9fWZ1bmN0aW9uIGFpKGUpe3ZhciBuPWUuYWx0ZXJuYXRlO251bGwhPT1uJiYoZS5hbHRlcm5hdGU9bnVsbCxhaShuKSksZS5jaGlsZD1udWxsLGUuZGVsZXRpb25zPW51bGwsZS5zaWJsaW5nPW51bGwsNT09PWUudGFnJiYobnVsbCE9PShuPWUuc3RhdGVOb2RlKSYmKGRlbGV0ZSBuW2RsXSxkZWxldGUgbltwbF0sZGVsZXRlIG5baGxdLGRlbGV0ZSBuW2dsXSxkZWxldGUgblt2bF0pKSxlLnN0YXRlTm9kZT1udWxsLGUucmV0dXJuPW51bGwsZS5kZXBlbmRlbmNpZXM9bnVsbCxlLm1lbW9pemVkUHJvcHM9bnVsbCxlLm1lbW9pemVkU3RhdGU9bnVsbCxlLnBlbmRpbmdQcm9wcz1udWxsLGUuc3RhdGVOb2RlPW51bGwsZS51cGRhdGVRdWV1ZT1udWxsfWZ1bmN0aW9uIHVpKGUpe3JldHVybiA1PT09ZS50YWd8fDM9PT1lLnRhZ3x8ND09PWUudGFnfWZ1bmN0aW9uIG9pKGUpe2U6Zm9yKDs7KXtmb3IoO251bGw9PT1lLnNpYmxpbmc7KXtpZihudWxsPT09ZS5yZXR1cm58fHVpKGUucmV0dXJuKSlyZXR1cm4gbnVsbDtlPWUucmV0dXJufWZvcihlLnNpYmxpbmcucmV0dXJuPWUucmV0dXJuLGU9ZS5zaWJsaW5nOzUhPT1lLnRhZyYmNiE9PWUudGFnJiYxOCE9PWUudGFnOyl7aWYoMiZlLmZsYWdzKWNvbnRpbnVlIGU7aWYobnVsbD09PWUuY2hpbGR8fDQ9PT1lLnRhZyljb250aW51ZSBlO2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkfWlmKCEoMiZlLmZsYWdzKSlyZXR1cm4gZS5zdGF0ZU5vZGV9fWZ1bmN0aW9uIGlpKGUsbix0KXt2YXIgcj1lLnRhZztpZig1PT09cnx8Nj09PXIpZT1lLnN0YXRlTm9kZSxuPzg9PT10Lm5vZGVUeXBlP3QucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSxuKTp0Lmluc2VydEJlZm9yZShlLG4pOig4PT09dC5ub2RlVHlwZT8obj10LnBhcmVudE5vZGUpLmluc2VydEJlZm9yZShlLHQpOihuPXQpLmFwcGVuZENoaWxkKGUpLG51bGwhPSh0PXQuX3JlYWN0Um9vdENvbnRhaW5lcil8fG51bGwhPT1uLm9uY2xpY2t8fChuLm9uY2xpY2s9SnIpKTtlbHNlIGlmKDQhPT1yJiZudWxsIT09KGU9ZS5jaGlsZCkpZm9yKGlpKGUsbix0KSxlPWUuc2libGluZztudWxsIT09ZTspaWkoZSxuLHQpLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIHNpKGUsbix0KXt2YXIgcj1lLnRhZztpZig1PT09cnx8Nj09PXIpZT1lLnN0YXRlTm9kZSwKbj90Lmluc2VydEJlZm9yZShlLG4pOnQuYXBwZW5kQ2hpbGQoZSk7ZWxzZSBpZig0IT09ciYmbnVsbCE9PShlPWUuY2hpbGQpKWZvcihzaShlLG4sdCksZT1lLnNpYmxpbmc7bnVsbCE9PWU7KXNpKGUsbix0KSxlPWUuc2libGluZ312YXIgY2k9bnVsbCxmaT0hMTtmdW5jdGlvbiBkaShlLG4sdCl7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspcGkoZSxuLHQpLHQ9dC5zaWJsaW5nfWZ1bmN0aW9uIHBpKGUsbix0KXtpZihhbiYmImZ1bmN0aW9uIj09dHlwZW9mIGFuLm9uQ29tbWl0RmliZXJVbm1vdW50KXRyeXthbi5vbkNvbW1pdEZpYmVyVW5tb3VudChsbix0KX1jYXRjaChlKXt9c3dpdGNoKHQudGFnKXtjYXNlIDU6WG98fEpvKHQsbik7Y2FzZSA2OnZhciByPWNpLGw9Zmk7Y2k9bnVsbCxkaShlLG4sdCksZmk9bCxudWxsIT09KGNpPXIpJiYoZmk/KGU9Y2ksdD10LnN0YXRlTm9kZSw4PT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCk6ZS5yZW1vdmVDaGlsZCh0KSk6Y2kucmVtb3ZlQ2hpbGQodC5zdGF0ZU5vZGUpKTticmVhaztjYXNlIDE4Om51bGwhPT1jaSYmKGZpPyhlPWNpLHQ9dC5zdGF0ZU5vZGUsOD09PWUubm9kZVR5cGU/aWwoZS5wYXJlbnROb2RlLHQpOjE9PT1lLm5vZGVUeXBlJiZpbChlLHQpLEhuKGUpKTppbChjaSx0LnN0YXRlTm9kZSkpO2JyZWFrO2Nhc2UgNDpyPWNpLGw9ZmksY2k9dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxmaT0hMCxkaShlLG4sdCksY2k9cixmaT1sO2JyZWFrO2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTppZighWG8mJihudWxsIT09KHI9dC51cGRhdGVRdWV1ZSkmJm51bGwhPT0ocj1yLmxhc3RFZmZlY3QpKSl7bD1yPXIubmV4dDtkb3t2YXIgYT1sLHU9YS5kZXN0cm95O2E9YS50YWcsdm9pZCAwIT09dSYmKDImYXx8NCZhKSYmZWkodCxuLHUpLGw9bC5uZXh0fXdoaWxlKGwhPT1yKX1kaShlLG4sdCk7YnJlYWs7Y2FzZSAxOmlmKCFYbyYmKEpvKHQsbiksImZ1bmN0aW9uIj09dHlwZW9mKHI9dC5zdGF0ZU5vZGUpLmNvbXBvbmVudFdpbGxVbm1vdW50KSl0cnl7ci5wcm9wcz10Lm1lbW9pemVkUHJvcHMsci5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsci5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKGUpe0VzKHQsbixlKX1kaShlLG4sdCk7YnJlYWs7Y2FzZSAyMTpkaShlLG4sdCk7YnJlYWs7Y2FzZSAyMjoxJnQubW9kZT8oWG89KHI9WG8pfHxudWxsIT09dC5tZW1vaXplZFN0YXRlLGRpKGUsbix0KSxYbz1yKTpkaShlLG4sdCk7YnJlYWs7ZGVmYXVsdDpkaShlLG4sdCl9fWZ1bmN0aW9uIG1pKGUpe3ZhciBuPWUudXBkYXRlUXVldWU7aWYobnVsbCE9PW4pe2UudXBkYXRlUXVldWU9bnVsbDt2YXIgdD1lLnN0YXRlTm9kZTtudWxsPT09dCYmKHQ9ZS5zdGF0ZU5vZGU9bmV3IEdvKSxuLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciByPV9zLmJpbmQobnVsbCxlLG4pO3QuaGFzKG4pfHwodC5hZGQobiksbi50aGVuKHIscikpfSkpfX1mdW5jdGlvbiBoaShlLG4pe3ZhciB0PW4uZGVsZXRpb25zO2lmKG51bGwhPT10KWZvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbD10W3JdO3RyeXt2YXIgdT1lLG89bixpPW87ZTpmb3IoO251bGwhPT1pOyl7c3dpdGNoKGkudGFnKXtjYXNlIDU6Y2k9aS5zdGF0ZU5vZGUsZmk9ITE7YnJlYWsgZTtjYXNlIDM6Y2FzZSA0OmNpPWkuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sZmk9ITA7YnJlYWsgZX1pPWkucmV0dXJufWlmKG51bGw9PT1jaSl0aHJvdyBFcnJvcihhKDE2MCkpO3BpKHUsbyxsKSxjaT1udWxsLGZpPSExO3ZhciBzPWwuYWx0ZXJuYXRlO251bGwhPT1zJiYocy5yZXR1cm49bnVsbCksbC5yZXR1cm49bnVsbH1jYXRjaChlKXtFcyhsLG4sZSl9fWlmKDEyODU0Jm4uc3VidHJlZUZsYWdzKWZvcihuPW4uY2hpbGQ7bnVsbCE9PW47KWdpKG4sZSksbj1uLnNpYmxpbmd9ZnVuY3Rpb24gZ2koZSxuKXt2YXIgdD1lLmFsdGVybmF0ZSxyPWUuZmxhZ3M7c3dpdGNoKGUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWYoaGkobixlKSx2aShlKSw0JnIpe3RyeXt0aSgzLGUsZS5yZXR1cm4pLHJpKDMsZSl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX10cnl7dGkoNSxlLGUucmV0dXJuKX1jYXRjaChuKXtFcyhlLGUucmV0dXJuLG4pfX1icmVhaztjYXNlIDE6aGkobixlKSx2aShlKSw1MTImciYmbnVsbCE9PXQmJkpvKHQsdC5yZXR1cm4pO2JyZWFrO2Nhc2UgNTppZihoaShuLGUpLHZpKGUpLDUxMiZyJiZudWxsIT09dCYmSm8odCx0LnJldHVybiksMzImZS5mbGFncyl7dmFyIGw9ZS5zdGF0ZU5vZGU7dHJ5e2RlKGwsIiIpfWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWlmKDQmciYmbnVsbCE9KGw9ZS5zdGF0ZU5vZGUpKXt2YXIgdT1lLm1lbW9pemVkUHJvcHMsbz1udWxsIT09dD90Lm1lbW9pemVkUHJvcHM6dSxpPWUudHlwZSxzPWUudXBkYXRlUXVldWU7aWYoZS51cGRhdGVRdWV1ZT1udWxsLG51bGwhPT1zKXRyeXsiaW5wdXQiPT09aSYmInJhZGlvIj09PXUudHlwZSYmbnVsbCE9dS5uYW1lJiZHKGwsdSksYmUoaSxvKTt2YXIgYz1iZShpLHUpO2ZvcihvPTA7bzxzLmxlbmd0aDtvKz0yKXt2YXIgZj1zW29dLGQ9c1tvKzFdOyJzdHlsZSI9PT1mP2dlKGwsZCk6ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PWY/ZmUobCxkKToiY2hpbGRyZW4iPT09Zj9kZShsLGQpOmIobCxmLGQsYyl9c3dpdGNoKGkpe2Nhc2UiaW5wdXQiOloobCx1KTticmVhaztjYXNlInRleHRhcmVhIjphZShsLHUpO2JyZWFrO2Nhc2Uic2VsZWN0Ijp2YXIgcD1sLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGU7bC5fd3JhcHBlclN0YXRlLndhc011bHRpcGxlPSEhdS5tdWx0aXBsZTt2YXIgbT11LnZhbHVlO251bGwhPW0/dGUobCwhIXUubXVsdGlwbGUsbSwhMSk6cCE9PSEhdS5tdWx0aXBsZSYmKG51bGwhPXUuZGVmYXVsdFZhbHVlP3RlKGwsISF1Lm11bHRpcGxlLHUuZGVmYXVsdFZhbHVlLCEwKTp0ZShsLCEhdS5tdWx0aXBsZSx1Lm11bHRpcGxlP1tdOiIiLCExKSl9bFtwbF09dX1jYXRjaChuKXtFcyhlLGUucmV0dXJuLG4pfX1icmVhaztjYXNlIDY6aWYoaGkobixlKSx2aShlKSw0JnIpewppZihudWxsPT09ZS5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjIpKTtsPWUuc3RhdGVOb2RlLHU9ZS5tZW1vaXplZFByb3BzO3RyeXtsLm5vZGVWYWx1ZT11fWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWJyZWFrO2Nhc2UgMzppZihoaShuLGUpLHZpKGUpLDQmciYmbnVsbCE9PXQmJnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpdHJ5e0huKG4uY29udGFpbmVySW5mbyl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX1icmVhaztjYXNlIDQ6ZGVmYXVsdDpoaShuLGUpLHZpKGUpO2JyZWFrO2Nhc2UgMTM6aGkobixlKSx2aShlKSw4MTkyJihsPWUuY2hpbGQpLmZsYWdzJiYodT1udWxsIT09bC5tZW1vaXplZFN0YXRlLGwuc3RhdGVOb2RlLmlzSGlkZGVuPXUsIXV8fG51bGwhPT1sLmFsdGVybmF0ZSYmbnVsbCE9PWwuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGV8fChCaT1HZSgpKSksNCZyJiZtaShlKTticmVhaztjYXNlIDIyOmlmKGY9bnVsbCE9PXQmJm51bGwhPT10Lm1lbW9pemVkU3RhdGUsMSZlLm1vZGU/KFhvPShjPVhvKXx8ZixoaShuLGUpLFhvPWMpOmhpKG4sZSksdmkoZSksODE5MiZyKXtpZihjPW51bGwhPT1lLm1lbW9pemVkU3RhdGUsKGUuc3RhdGVOb2RlLmlzSGlkZGVuPWMpJiYhZiYmMSZlLm1vZGUpZm9yKFpvPWUsZj1lLmNoaWxkO251bGwhPT1mOyl7Zm9yKGQ9Wm89ZjtudWxsIT09Wm87KXtzd2l0Y2gobT0ocD1abykuY2hpbGQscC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTp0aSg0LHAscC5yZXR1cm4pO2JyZWFrO2Nhc2UgMTpKbyhwLHAucmV0dXJuKTt2YXIgaD1wLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2YgaC5jb21wb25lbnRXaWxsVW5tb3VudCl7cj1wLHQ9cC5yZXR1cm47dHJ5e249cixoLnByb3BzPW4ubWVtb2l6ZWRQcm9wcyxoLnN0YXRlPW4ubWVtb2l6ZWRTdGF0ZSxoLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goZSl7RXMocix0LGUpfX1icmVhaztjYXNlIDU6Sm8ocCxwLnJldHVybik7YnJlYWs7Y2FzZSAyMjppZihudWxsIT09cC5tZW1vaXplZFN0YXRlKXt3aShkKTtjb250aW51ZX19bnVsbCE9PW0/KG0ucmV0dXJuPXAsWm89bSk6d2koZCl9Zj1mLnNpYmxpbmd9ZTpmb3IoZj1udWxsLGQ9ZTs7KXtpZig1PT09ZC50YWcpe2lmKG51bGw9PT1mKXtmPWQ7dHJ5e2w9ZC5zdGF0ZU5vZGUsYz8iZnVuY3Rpb24iPT10eXBlb2YodT1sLnN0eWxlKS5zZXRQcm9wZXJ0eT91LnNldFByb3BlcnR5KCJkaXNwbGF5Iiwibm9uZSIsImltcG9ydGFudCIpOnUuZGlzcGxheT0ibm9uZSI6KGk9ZC5zdGF0ZU5vZGUsbz1udWxsIT0ocz1kLm1lbW9pemVkUHJvcHMuc3R5bGUpJiZzLmhhc093blByb3BlcnR5KCJkaXNwbGF5Iik/cy5kaXNwbGF5Om51bGwsaS5zdHlsZS5kaXNwbGF5PWhlKCJkaXNwbGF5IixvKSl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX19fWVsc2UgaWYoNj09PWQudGFnKXtpZihudWxsPT09Zil0cnl7ZC5zdGF0ZU5vZGUubm9kZVZhbHVlPWM/IiI6ZC5tZW1vaXplZFByb3BzfWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWVsc2UgaWYoKDIyIT09ZC50YWcmJjIzIT09ZC50YWd8fG51bGw9PT1kLm1lbW9pemVkU3RhdGV8fGQ9PT1lKSYmbnVsbCE9PWQuY2hpbGQpe2QuY2hpbGQucmV0dXJuPWQsZD1kLmNoaWxkO2NvbnRpbnVlfWlmKGQ9PT1lKWJyZWFrIGU7Zm9yKDtudWxsPT09ZC5zaWJsaW5nOyl7aWYobnVsbD09PWQucmV0dXJufHxkLnJldHVybj09PWUpYnJlYWsgZTtmPT09ZCYmKGY9bnVsbCksZD1kLnJldHVybn1mPT09ZCYmKGY9bnVsbCksZC5zaWJsaW5nLnJldHVybj1kLnJldHVybixkPWQuc2libGluZ319YnJlYWs7Y2FzZSAxOTpoaShuLGUpLHZpKGUpLDQmciYmbWkoZSk7Y2FzZSAyMTp9fWZ1bmN0aW9uIHZpKGUpe3ZhciBuPWUuZmxhZ3M7aWYoMiZuKXt0cnl7ZTp7Zm9yKHZhciB0PWUucmV0dXJuO251bGwhPT10Oyl7aWYodWkodCkpe3ZhciByPXQ7YnJlYWsgZX10PXQucmV0dXJufXRocm93IEVycm9yKGEoMTYwKSl9c3dpdGNoKHIudGFnKXtjYXNlIDU6dmFyIGw9ci5zdGF0ZU5vZGU7MzImci5mbGFncyYmKGRlKGwsIiIpLHIuZmxhZ3MmPS0zMyksc2koZSxvaShlKSxsKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciB1PXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87aWkoZSxvaShlKSx1KTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMTYxKSl9fWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9ZS5mbGFncyY9LTN9NDA5NiZuJiYoZS5mbGFncyY9LTQwOTcpfWZ1bmN0aW9uIHlpKGUsbix0KXtabz1lLGJpKGUsbix0KX1mdW5jdGlvbiBiaShlLG4sdCl7Zm9yKHZhciByPSEhKDEmZS5tb2RlKTtudWxsIT09Wm87KXt2YXIgbD1abyxhPWwuY2hpbGQ7aWYoMjI9PT1sLnRhZyYmcil7dmFyIHU9bnVsbCE9PWwubWVtb2l6ZWRTdGF0ZXx8WW87aWYoIXUpe3ZhciBvPWwuYWx0ZXJuYXRlLGk9bnVsbCE9PW8mJm51bGwhPT1vLm1lbW9pemVkU3RhdGV8fFhvO289WW87dmFyIHM9WG87aWYoWW89dSwoWG89aSkmJiFzKWZvcihabz1sO251bGwhPT1abzspaT0odT1abykuY2hpbGQsMjI9PT11LnRhZyYmbnVsbCE9PXUubWVtb2l6ZWRTdGF0ZT9TaShsKTpudWxsIT09aT8oaS5yZXR1cm49dSxabz1pKTpTaShsKTtmb3IoO251bGwhPT1hOylabz1hLGJpKGEsbix0KSxhPWEuc2libGluZztabz1sLFlvPW8sWG89c31raShlKX1lbHNlIDg3NzImbC5zdWJ0cmVlRmxhZ3MmJm51bGwhPT1hPyhhLnJldHVybj1sLFpvPWEpOmtpKGUpfX1mdW5jdGlvbiBraShlKXtmb3IoO251bGwhPT1abzspe3ZhciBuPVpvO2lmKDg3NzImbi5mbGFncyl7dmFyIHQ9bi5hbHRlcm5hdGU7dHJ5e2lmKDg3NzImbi5mbGFncylzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6WG98fHJpKDUsbik7YnJlYWs7Y2FzZSAxOnZhciByPW4uc3RhdGVOb2RlO2lmKDQmbi5mbGFncyYmIVhvKWlmKG51bGw9PT10KXIuY29tcG9uZW50RGlkTW91bnQoKTtlbHNle3ZhciBsPW4uZWxlbWVudFR5cGU9PT1uLnR5cGU/dC5tZW1vaXplZFByb3BzOmdhKG4udHlwZSx0Lm1lbW9pemVkUHJvcHMpCjtyLmNvbXBvbmVudERpZFVwZGF0ZShsLHQubWVtb2l6ZWRTdGF0ZSxyLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKX12YXIgdT1uLnVwZGF0ZVF1ZXVlO251bGwhPT11JiZVYShuLHUscik7YnJlYWs7Y2FzZSAzOnZhciBvPW4udXBkYXRlUXVldWU7aWYobnVsbCE9PW8pe2lmKHQ9bnVsbCxudWxsIT09bi5jaGlsZClzd2l0Y2gobi5jaGlsZC50YWcpe2Nhc2UgNTpjYXNlIDE6dD1uLmNoaWxkLnN0YXRlTm9kZX1VYShuLG8sdCl9YnJlYWs7Y2FzZSA1OnZhciBpPW4uc3RhdGVOb2RlO2lmKG51bGw9PT10JiY0Jm4uZmxhZ3Mpe3Q9aTt2YXIgcz1uLm1lbW9pemVkUHJvcHM7c3dpdGNoKG4udHlwZSl7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjpzLmF1dG9Gb2N1cyYmdC5mb2N1cygpO2JyZWFrO2Nhc2UiaW1nIjpzLnNyYyYmKHQuc3JjPXMuc3JjKX19YnJlYWs7Y2FzZSA2OmNhc2UgNDpjYXNlIDEyOmNhc2UgMTk6Y2FzZSAxNzpjYXNlIDIxOmNhc2UgMjI6Y2FzZSAyMzpjYXNlIDI1OmJyZWFrO2Nhc2UgMTM6aWYobnVsbD09PW4ubWVtb2l6ZWRTdGF0ZSl7dmFyIGM9bi5hbHRlcm5hdGU7aWYobnVsbCE9PWMpe3ZhciBmPWMubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09Zil7dmFyIGQ9Zi5kZWh5ZHJhdGVkO251bGwhPT1kJiZIbihkKX19fWJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoYSgxNjMpKX1Yb3x8NTEyJm4uZmxhZ3MmJmxpKG4pfWNhdGNoKGUpe0VzKG4sbi5yZXR1cm4sZSl9fWlmKG49PT1lKXtabz1udWxsO2JyZWFrfWlmKG51bGwhPT0odD1uLnNpYmxpbmcpKXt0LnJldHVybj1uLnJldHVybixabz10O2JyZWFrfVpvPW4ucmV0dXJufX1mdW5jdGlvbiB3aShlKXtmb3IoO251bGwhPT1abzspe3ZhciBuPVpvO2lmKG49PT1lKXtabz1udWxsO2JyZWFrfXZhciB0PW4uc2libGluZztpZihudWxsIT09dCl7dC5yZXR1cm49bi5yZXR1cm4sWm89dDticmVha31abz1uLnJldHVybn19ZnVuY3Rpb24gU2koZSl7Zm9yKDtudWxsIT09Wm87KXt2YXIgbj1abzt0cnl7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnZhciB0PW4ucmV0dXJuO3RyeXtyaSg0LG4pfWNhdGNoKGUpe0VzKG4sdCxlKX1icmVhaztjYXNlIDE6dmFyIHI9bi5zdGF0ZU5vZGU7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkTW91bnQpe3ZhciBsPW4ucmV0dXJuO3RyeXtyLmNvbXBvbmVudERpZE1vdW50KCl9Y2F0Y2goZSl7RXMobixsLGUpfX12YXIgYT1uLnJldHVybjt0cnl7bGkobil9Y2F0Y2goZSl7RXMobixhLGUpfWJyZWFrO2Nhc2UgNTp2YXIgdT1uLnJldHVybjt0cnl7bGkobil9Y2F0Y2goZSl7RXMobix1LGUpfX19Y2F0Y2goZSl7RXMobixuLnJldHVybixlKX1pZihuPT09ZSl7Wm89bnVsbDticmVha312YXIgbz1uLnNpYmxpbmc7aWYobnVsbCE9PW8pe28ucmV0dXJuPW4ucmV0dXJuLFpvPW87YnJlYWt9Wm89bi5yZXR1cm59fXZhciB4aSxFaT1NYXRoLmNlaWwsQ2k9ay5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLHppPWsuUmVhY3RDdXJyZW50T3duZXIsTmk9ay5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxfaT0wLFBpPW51bGwsVGk9bnVsbCxMaT0wLE1pPTAsRmk9RWwoMCksUmk9MCxEaT1udWxsLElpPTAsT2k9MCxVaT0wLFZpPW51bGwsQWk9bnVsbCxCaT0wLFdpPTEvMCxIaT1udWxsLFFpPSExLGppPW51bGwsJGk9bnVsbCxxaT0hMSxLaT1udWxsLFlpPTAsWGk9MCxHaT1udWxsLFppPS0xLEppPTA7ZnVuY3Rpb24gZXMoKXtyZXR1cm4gNiZfaT9HZSgpOi0xIT09Wmk/Wmk6Wmk9R2UoKX1mdW5jdGlvbiBucyhlKXtyZXR1cm4gMSZlLm1vZGU/MiZfaSYmMCE9PUxpP0xpJi1MaTpudWxsIT09aGEudHJhbnNpdGlvbj8oMD09PUppJiYoSmk9Z24oKSksSmkpOjAhPT0oZT1rbik/ZTplPXZvaWQgMD09PShlPXdpbmRvdy5ldmVudCk/MTY6R24oZS50eXBlKToxfWZ1bmN0aW9uIHRzKGUsbix0LHIpe2lmKDUwPFhpKXRocm93IFhpPTAsR2k9bnVsbCxFcnJvcihhKDE4NSkpO3luKGUsdCxyKSwyJl9pJiZlPT09UGl8fChlPT09UGkmJighKDImX2kpJiYoT2l8PXQpLDQ9PT1SaSYmb3MoZSxMaSkpLHJzKGUsciksMT09PXQmJjA9PT1faSYmISgxJm4ubW9kZSkmJihXaT1HZSgpKzUwMCxWbCYmV2woKSkpfWZ1bmN0aW9uIHJzKGUsbil7dmFyIHQ9ZS5jYWxsYmFja05vZGU7IWZ1bmN0aW9uKGUsbil7Zm9yKHZhciB0PWUuc3VzcGVuZGVkTGFuZXMscj1lLnBpbmdlZExhbmVzLGw9ZS5leHBpcmF0aW9uVGltZXMsYT1lLnBlbmRpbmdMYW5lczswPGE7KXt2YXIgdT0zMS11bihhKSxvPTE8PHUsaT1sW3VdOy0xPT09aT9vJnQmJiEobyZyKXx8KGxbdV09bW4obyxuKSk6aTw9biYmKGUuZXhwaXJlZExhbmVzfD1vKSxhJj1+b319KGUsbik7dmFyIHI9cG4oZSxlPT09UGk/TGk6MCk7aWYoMD09PXIpbnVsbCE9PXQmJktlKHQpLGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7ZWxzZSBpZihuPXImLXIsZS5jYWxsYmFja1ByaW9yaXR5IT09bil7aWYobnVsbCE9dCYmS2UodCksMT09PW4pMD09PWUudGFnP2Z1bmN0aW9uKGUpe1ZsPSEwLEJsKGUpfShpcy5iaW5kKG51bGwsZSkpOkJsKGlzLmJpbmQobnVsbCxlKSksdWwoKGZ1bmN0aW9uKCl7ISg2Jl9pKSYmV2woKX0pKSx0PW51bGw7ZWxzZXtzd2l0Y2god24ocikpe2Nhc2UgMTp0PUplO2JyZWFrO2Nhc2UgNDp0PWVuO2JyZWFrO2Nhc2UgMTY6ZGVmYXVsdDp0PW5uO2JyZWFrO2Nhc2UgNTM2ODcwOTEyOnQ9cm59dD1Qcyh0LGxzLmJpbmQobnVsbCxlKSl9ZS5jYWxsYmFja1ByaW9yaXR5PW4sZS5jYWxsYmFja05vZGU9dH19ZnVuY3Rpb24gbHMoZSxuKXtpZihaaT0tMSxKaT0wLDYmX2kpdGhyb3cgRXJyb3IoYSgzMjcpKTt2YXIgdD1lLmNhbGxiYWNrTm9kZTtpZihTcygpJiZlLmNhbGxiYWNrTm9kZSE9PXQpcmV0dXJuIG51bGw7dmFyIHI9cG4oZSxlPT09UGk/TGk6MCk7aWYoMD09PXIpcmV0dXJuIG51bGw7aWYoMzAmcnx8ciZlLmV4cGlyZWRMYW5lc3x8biluPWdzKGUscik7ZWxzZXtuPXI7dmFyIGw9X2k7X2l8PTI7dmFyIHU9bXMoKQo7Zm9yKFBpPT09ZSYmTGk9PT1ufHwoSGk9bnVsbCxXaT1HZSgpKzUwMCxkcyhlLG4pKTs7KXRyeXt5cygpO2JyZWFrfWNhdGNoKG4pe3BzKGUsbil9d2EoKSxDaS5jdXJyZW50PXUsX2k9bCxudWxsIT09VGk/bj0wOihQaT1udWxsLExpPTAsbj1SaSl9aWYoMCE9PW4pe2lmKDI9PT1uJiYoMCE9PShsPWhuKGUpKSYmKHI9bCxuPWFzKGUsbCkpKSwxPT09bil0aHJvdyB0PURpLGRzKGUsMCksb3MoZSxyKSxycyhlLEdlKCkpLHQ7aWYoNj09PW4pb3MoZSxyKTtlbHNle2lmKGw9ZS5jdXJyZW50LmFsdGVybmF0ZSwhKDMwJnJ8fGZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1lOzspe2lmKDE2Mzg0Jm4uZmxhZ3Mpe3ZhciB0PW4udXBkYXRlUXVldWU7aWYobnVsbCE9PXQmJm51bGwhPT0odD10LnN0b3JlcykpZm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBsPXRbcl0sYT1sLmdldFNuYXBzaG90O2w9bC52YWx1ZTt0cnl7aWYoIW9yKGEoKSxsKSlyZXR1cm4hMX1jYXRjaChlKXtyZXR1cm4hMX19fWlmKHQ9bi5jaGlsZCwxNjM4NCZuLnN1YnRyZWVGbGFncyYmbnVsbCE9PXQpdC5yZXR1cm49bixuPXQ7ZWxzZXtpZihuPT09ZSlicmVhaztmb3IoO251bGw9PT1uLnNpYmxpbmc7KXtpZihudWxsPT09bi5yZXR1cm58fG4ucmV0dXJuPT09ZSlyZXR1cm4hMDtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9fXJldHVybiEwfShsKXx8KG49Z3MoZSxyKSwyPT09biYmKHU9aG4oZSksMCE9PXUmJihyPXUsbj1hcyhlLHUpKSksMSE9PW4pKSl0aHJvdyB0PURpLGRzKGUsMCksb3MoZSxyKSxycyhlLEdlKCkpLHQ7c3dpdGNoKGUuZmluaXNoZWRXb3JrPWwsZS5maW5pc2hlZExhbmVzPXIsbil7Y2FzZSAwOmNhc2UgMTp0aHJvdyBFcnJvcihhKDM0NSkpO2Nhc2UgMjpjYXNlIDU6d3MoZSxBaSxIaSk7YnJlYWs7Y2FzZSAzOmlmKG9zKGUsciksKDEzMDAyMzQyNCZyKT09PXImJjEwPChuPUJpKzUwMC1HZSgpKSl7aWYoMCE9PXBuKGUsMCkpYnJlYWs7aWYoKChsPWUuc3VzcGVuZGVkTGFuZXMpJnIpIT09cil7ZXMoKSxlLnBpbmdlZExhbmVzfD1lLnN1c3BlbmRlZExhbmVzJmw7YnJlYWt9ZS50aW1lb3V0SGFuZGxlPXJsKHdzLmJpbmQobnVsbCxlLEFpLEhpKSxuKTticmVha313cyhlLEFpLEhpKTticmVhaztjYXNlIDQ6aWYob3MoZSxyKSwoNDE5NDI0MCZyKT09PXIpYnJlYWs7Zm9yKG49ZS5ldmVudFRpbWVzLGw9LTE7MDxyOyl7dmFyIG89MzEtdW4ocik7dT0xPDxvLChvPW5bb10pPmwmJihsPW8pLHImPX51fWlmKHI9bCwxMDwocj0oMTIwPihyPUdlKCktcik/MTIwOjQ4MD5yPzQ4MDoxMDgwPnI/MTA4MDoxOTIwPnI/MTkyMDozZTM+cj8zZTM6NDMyMD5yPzQzMjA6MTk2MCpFaShyLzE5NjApKS1yKSl7ZS50aW1lb3V0SGFuZGxlPXJsKHdzLmJpbmQobnVsbCxlLEFpLEhpKSxyKTticmVha313cyhlLEFpLEhpKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMzI5KSl9fX1yZXR1cm4gcnMoZSxHZSgpKSxlLmNhbGxiYWNrTm9kZT09PXQ/bHMuYmluZChudWxsLGUpOm51bGx9ZnVuY3Rpb24gYXMoZSxuKXt2YXIgdD1WaTtyZXR1cm4gZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkJiYoZHMoZSxuKS5mbGFnc3w9MjU2KSwyIT09KGU9Z3MoZSxuKSkmJihuPUFpLEFpPXQsbnVsbCE9PW4mJnVzKG4pKSxlfWZ1bmN0aW9uIHVzKGUpe251bGw9PT1BaT9BaT1lOkFpLnB1c2guYXBwbHkoQWksZSl9ZnVuY3Rpb24gb3MoZSxuKXtmb3IobiY9flVpLG4mPX5PaSxlLnN1c3BlbmRlZExhbmVzfD1uLGUucGluZ2VkTGFuZXMmPX5uLGU9ZS5leHBpcmF0aW9uVGltZXM7MDxuOyl7dmFyIHQ9MzEtdW4obikscj0xPDx0O2VbdF09LTEsbiY9fnJ9fWZ1bmN0aW9uIGlzKGUpe2lmKDYmX2kpdGhyb3cgRXJyb3IoYSgzMjcpKTtTcygpO3ZhciBuPXBuKGUsMCk7aWYoISgxJm4pKXJldHVybiBycyhlLEdlKCkpLG51bGw7dmFyIHQ9Z3MoZSxuKTtpZigwIT09ZS50YWcmJjI9PT10KXt2YXIgcj1obihlKTswIT09ciYmKG49cix0PWFzKGUscikpfWlmKDE9PT10KXRocm93IHQ9RGksZHMoZSwwKSxvcyhlLG4pLHJzKGUsR2UoKSksdDtpZig2PT09dCl0aHJvdyBFcnJvcihhKDM0NSkpO3JldHVybiBlLmZpbmlzaGVkV29yaz1lLmN1cnJlbnQuYWx0ZXJuYXRlLGUuZmluaXNoZWRMYW5lcz1uLHdzKGUsQWksSGkpLHJzKGUsR2UoKSksbnVsbH1mdW5jdGlvbiBzcyhlLG4pe3ZhciB0PV9pO19pfD0xO3RyeXtyZXR1cm4gZShuKX1maW5hbGx5ezA9PT0oX2k9dCkmJihXaT1HZSgpKzUwMCxWbCYmV2woKSl9fWZ1bmN0aW9uIGNzKGUpe251bGwhPT1LaSYmMD09PUtpLnRhZyYmISg2Jl9pKSYmU3MoKTt2YXIgbj1faTtfaXw9MTt2YXIgdD1OaS50cmFuc2l0aW9uLHI9a247dHJ5e2lmKE5pLnRyYW5zaXRpb249bnVsbCxrbj0xLGUpcmV0dXJuIGUoKX1maW5hbGx5e2tuPXIsTmkudHJhbnNpdGlvbj10LCEoNiYoX2k9bikpJiZXbCgpfX1mdW5jdGlvbiBmcygpe01pPUZpLmN1cnJlbnQsQ2woRmkpfWZ1bmN0aW9uIGRzKGUsbil7ZS5maW5pc2hlZFdvcms9bnVsbCxlLmZpbmlzaGVkTGFuZXM9MDt2YXIgdD1lLnRpbWVvdXRIYW5kbGU7aWYoLTEhPT10JiYoZS50aW1lb3V0SGFuZGxlPS0xLGxsKHQpKSxudWxsIT09VGkpZm9yKHQ9VGkucmV0dXJuO251bGwhPT10Oyl7dmFyIHI9dDtzd2l0Y2gobmEociksci50YWcpe2Nhc2UgMTpudWxsIT0ocj1yLnR5cGUuY2hpbGRDb250ZXh0VHlwZXMpJiZGbCgpO2JyZWFrO2Nhc2UgMzpsdSgpLENsKFBsKSxDbChfbCksY3UoKTticmVhaztjYXNlIDU6dXUocik7YnJlYWs7Y2FzZSA0Omx1KCk7YnJlYWs7Y2FzZSAxMzpjYXNlIDE5OkNsKG91KTticmVhaztjYXNlIDEwOlNhKHIudHlwZS5fY29udGV4dCk7YnJlYWs7Y2FzZSAyMjpjYXNlIDIzOmZzKCl9dD10LnJldHVybn1pZihQaT1lLFRpPWU9RnMoZS5jdXJyZW50LG51bGwpLExpPU1pPW4sUmk9MCxEaT1udWxsLFVpPU9pPUlpPTAsQWk9Vmk9bnVsbCxudWxsIT09emEpe2ZvcihuPTA7bjx6YS5sZW5ndGg7bisrKWlmKG51bGwhPT0ocj0odD16YVtuXSkuaW50ZXJsZWF2ZWQpKXt0LmludGVybGVhdmVkPW51bGwKO3ZhciBsPXIubmV4dCxhPXQucGVuZGluZztpZihudWxsIT09YSl7dmFyIHU9YS5uZXh0O2EubmV4dD1sLHIubmV4dD11fXQucGVuZGluZz1yfXphPW51bGx9cmV0dXJuIGV9ZnVuY3Rpb24gcHMoZSxuKXtmb3IoOzspe3ZhciB0PVRpO3RyeXtpZih3YSgpLGZ1LmN1cnJlbnQ9YW8sdnUpe2Zvcih2YXIgcj1tdS5tZW1vaXplZFN0YXRlO251bGwhPT1yOyl7dmFyIGw9ci5xdWV1ZTtudWxsIT09bCYmKGwucGVuZGluZz1udWxsKSxyPXIubmV4dH12dT0hMX1pZihwdT0wLGd1PWh1PW11PW51bGwseXU9ITEsYnU9MCx6aS5jdXJyZW50PW51bGwsbnVsbD09PXR8fG51bGw9PT10LnJldHVybil7Umk9MSxEaT1uLFRpPW51bGw7YnJlYWt9ZTp7dmFyIHU9ZSxvPXQucmV0dXJuLGk9dCxzPW47aWYobj1MaSxpLmZsYWdzfD0zMjc2OCxudWxsIT09cyYmIm9iamVjdCI9PXR5cGVvZiBzJiYiZnVuY3Rpb24iPT10eXBlb2Ygcy50aGVuKXt2YXIgYz1zLGY9aSxkPWYudGFnO2lmKCEoMSZmLm1vZGV8fDAhPT1kJiYxMSE9PWQmJjE1IT09ZCkpe3ZhciBwPWYuYWx0ZXJuYXRlO3A/KGYudXBkYXRlUXVldWU9cC51cGRhdGVRdWV1ZSxmLm1lbW9pemVkU3RhdGU9cC5tZW1vaXplZFN0YXRlLGYubGFuZXM9cC5sYW5lcyk6KGYudXBkYXRlUXVldWU9bnVsbCxmLm1lbW9pemVkU3RhdGU9bnVsbCl9dmFyIG09dm8obyk7aWYobnVsbCE9PW0pe20uZmxhZ3MmPS0yNTcseW8obSxvLGksMCxuKSwxJm0ubW9kZSYmZ28odSxjLG4pLHM9Yzt2YXIgaD0obj1tKS51cGRhdGVRdWV1ZTtpZihudWxsPT09aCl7dmFyIGc9bmV3IFNldDtnLmFkZChzKSxuLnVwZGF0ZVF1ZXVlPWd9ZWxzZSBoLmFkZChzKTticmVhayBlfWlmKCEoMSZuKSl7Z28odSxjLG4pLGhzKCk7YnJlYWsgZX1zPUVycm9yKGEoNDI2KSl9ZWxzZSBpZihsYSYmMSZpLm1vZGUpe3ZhciB2PXZvKG8pO2lmKG51bGwhPT12KXshKDY1NTM2JnYuZmxhZ3MpJiYodi5mbGFnc3w9MjU2KSx5byh2LG8saSwwLG4pLG1hKHNvKHMsaSkpO2JyZWFrIGV9fXU9cz1zbyhzLGkpLDQhPT1SaSYmKFJpPTIpLG51bGw9PT1WaT9WaT1bdV06VmkucHVzaCh1KSx1PW87ZG97c3dpdGNoKHUudGFnKXtjYXNlIDM6dS5mbGFnc3w9NjU1MzYsbiY9LW4sdS5sYW5lc3w9bixJYSh1LG1vKDAscyxuKSk7YnJlYWsgZTtjYXNlIDE6aT1zO3ZhciB5PXUudHlwZSxiPXUuc3RhdGVOb2RlO2lmKCEoMTI4JnUuZmxhZ3N8fCJmdW5jdGlvbiIhPXR5cGVvZiB5LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciYmKG51bGw9PT1ifHwiZnVuY3Rpb24iIT10eXBlb2YgYi5jb21wb25lbnREaWRDYXRjaHx8bnVsbCE9PSRpJiYkaS5oYXMoYikpKSl7dS5mbGFnc3w9NjU1MzYsbiY9LW4sdS5sYW5lc3w9bixJYSh1LGhvKHUsaSxuKSk7YnJlYWsgZX19dT11LnJldHVybn13aGlsZShudWxsIT09dSl9a3ModCl9Y2F0Y2goZSl7bj1lLFRpPT09dCYmbnVsbCE9PXQmJihUaT10PXQucmV0dXJuKTtjb250aW51ZX1icmVha319ZnVuY3Rpb24gbXMoKXt2YXIgZT1DaS5jdXJyZW50O3JldHVybiBDaS5jdXJyZW50PWFvLG51bGw9PT1lP2FvOmV9ZnVuY3Rpb24gaHMoKXswIT09UmkmJjMhPT1SaSYmMiE9PVJpfHwoUmk9NCksbnVsbD09PVBpfHwhKDI2ODQzNTQ1NSZJaSkmJiEoMjY4NDM1NDU1Jk9pKXx8b3MoUGksTGkpfWZ1bmN0aW9uIGdzKGUsbil7dmFyIHQ9X2k7X2l8PTI7dmFyIHI9bXMoKTtmb3IoUGk9PT1lJiZMaT09PW58fChIaT1udWxsLGRzKGUsbikpOzspdHJ5e3ZzKCk7YnJlYWt9Y2F0Y2gobil7cHMoZSxuKX1pZih3YSgpLF9pPXQsQ2kuY3VycmVudD1yLG51bGwhPT1UaSl0aHJvdyBFcnJvcihhKDI2MSkpO3JldHVybiBQaT1udWxsLExpPTAsUml9ZnVuY3Rpb24gdnMoKXtmb3IoO251bGwhPT1UaTspYnMoVGkpfWZ1bmN0aW9uIHlzKCl7Zm9yKDtudWxsIT09VGkmJiFZZSgpOylicyhUaSl9ZnVuY3Rpb24gYnMoZSl7dmFyIG49eGkoZS5hbHRlcm5hdGUsZSxNaSk7ZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLG51bGw9PT1uP2tzKGUpOlRpPW4semkuY3VycmVudD1udWxsfWZ1bmN0aW9uIGtzKGUpe3ZhciBuPWU7ZG97dmFyIHQ9bi5hbHRlcm5hdGU7aWYoZT1uLnJldHVybiwzMjc2OCZuLmZsYWdzKXtpZihudWxsIT09KHQ9S28odCxuKSkpcmV0dXJuIHQuZmxhZ3MmPTMyNzY3LHZvaWQoVGk9dCk7aWYobnVsbD09PWUpcmV0dXJuIFJpPTYsdm9pZChUaT1udWxsKTtlLmZsYWdzfD0zMjc2OCxlLnN1YnRyZWVGbGFncz0wLGUuZGVsZXRpb25zPW51bGx9ZWxzZSBpZihudWxsIT09KHQ9cW8odCxuLE1pKSkpcmV0dXJuIHZvaWQoVGk9dCk7aWYobnVsbCE9PShuPW4uc2libGluZykpcmV0dXJuIHZvaWQoVGk9bik7VGk9bj1lfXdoaWxlKG51bGwhPT1uKTswPT09UmkmJihSaT01KX1mdW5jdGlvbiB3cyhlLG4sdCl7dmFyIHI9a24sbD1OaS50cmFuc2l0aW9uO3RyeXtOaS50cmFuc2l0aW9uPW51bGwsa249MSxmdW5jdGlvbihlLG4sdCxyKXtkb3tTcygpfXdoaWxlKG51bGwhPT1LaSk7aWYoNiZfaSl0aHJvdyBFcnJvcihhKDMyNykpO3Q9ZS5maW5pc2hlZFdvcms7dmFyIGw9ZS5maW5pc2hlZExhbmVzO2lmKG51bGw9PT10KXJldHVybiBudWxsO2lmKGUuZmluaXNoZWRXb3JrPW51bGwsZS5maW5pc2hlZExhbmVzPTAsdD09PWUuY3VycmVudCl0aHJvdyBFcnJvcihhKDE3NykpO2UuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7dmFyIHU9dC5sYW5lc3x0LmNoaWxkTGFuZXM7aWYoZnVuY3Rpb24oZSxuKXt2YXIgdD1lLnBlbmRpbmdMYW5lcyZ+bjtlLnBlbmRpbmdMYW5lcz1uLGUuc3VzcGVuZGVkTGFuZXM9MCxlLnBpbmdlZExhbmVzPTAsZS5leHBpcmVkTGFuZXMmPW4sZS5tdXRhYmxlUmVhZExhbmVzJj1uLGUuZW50YW5nbGVkTGFuZXMmPW4sbj1lLmVudGFuZ2xlbWVudHM7dmFyIHI9ZS5ldmVudFRpbWVzO2ZvcihlPWUuZXhwaXJhdGlvblRpbWVzOzA8dDspe3ZhciBsPTMxLXVuKHQpLGE9MTw8bDtuW2xdPTAscltsXT0tMSxlW2xdPS0xLHQmPX5hfX0oZSx1KSxlPT09UGkmJihUaT1QaT1udWxsLExpPTApLAohKDIwNjQmdC5zdWJ0cmVlRmxhZ3MpJiYhKDIwNjQmdC5mbGFncyl8fHFpfHwocWk9ITAsUHMobm4sKGZ1bmN0aW9uKCl7cmV0dXJuIFNzKCksbnVsbH0pKSksdT0hISgxNTk5MCZ0LmZsYWdzKSwhISgxNTk5MCZ0LnN1YnRyZWVGbGFncyl8fHUpe3U9TmkudHJhbnNpdGlvbixOaS50cmFuc2l0aW9uPW51bGw7dmFyIG89a247a249MTt2YXIgaT1faTtfaXw9NCx6aS5jdXJyZW50PW51bGwsZnVuY3Rpb24oZSxuKXtpZihlbD1qbixwcihlPWRyKCkpKXtpZigic2VsZWN0aW9uU3RhcnQiaW4gZSl2YXIgdD17c3RhcnQ6ZS5zZWxlY3Rpb25TdGFydCxlbmQ6ZS5zZWxlY3Rpb25FbmR9O2Vsc2UgZTp7dmFyIHI9KHQ9KHQ9ZS5vd25lckRvY3VtZW50KSYmdC5kZWZhdWx0Vmlld3x8d2luZG93KS5nZXRTZWxlY3Rpb24mJnQuZ2V0U2VsZWN0aW9uKCk7aWYociYmMCE9PXIucmFuZ2VDb3VudCl7dD1yLmFuY2hvck5vZGU7dmFyIGw9ci5hbmNob3JPZmZzZXQsdT1yLmZvY3VzTm9kZTtyPXIuZm9jdXNPZmZzZXQ7dHJ5e3Qubm9kZVR5cGUsdS5ub2RlVHlwZX1jYXRjaChlKXt0PW51bGw7YnJlYWsgZX12YXIgbz0wLGk9LTEscz0tMSxjPTAsZj0wLGQ9ZSxwPW51bGw7bjpmb3IoOzspe2Zvcih2YXIgbTtkIT09dHx8MCE9PWwmJjMhPT1kLm5vZGVUeXBlfHwoaT1vK2wpLGQhPT11fHwwIT09ciYmMyE9PWQubm9kZVR5cGV8fChzPW8rciksMz09PWQubm9kZVR5cGUmJihvKz1kLm5vZGVWYWx1ZS5sZW5ndGgpLG51bGwhPT0obT1kLmZpcnN0Q2hpbGQpOylwPWQsZD1tO2Zvcig7Oyl7aWYoZD09PWUpYnJlYWsgbjtpZihwPT09dCYmKytjPT09bCYmKGk9bykscD09PXUmJisrZj09PXImJihzPW8pLG51bGwhPT0obT1kLm5leHRTaWJsaW5nKSlicmVhaztwPShkPXApLnBhcmVudE5vZGV9ZD1tfXQ9LTE9PT1pfHwtMT09PXM/bnVsbDp7c3RhcnQ6aSxlbmQ6c319ZWxzZSB0PW51bGx9dD10fHx7c3RhcnQ6MCxlbmQ6MH19ZWxzZSB0PW51bGw7Zm9yKG5sPXtmb2N1c2VkRWxlbTplLHNlbGVjdGlvblJhbmdlOnR9LGpuPSExLFpvPW47bnVsbCE9PVpvOylpZihlPShuPVpvKS5jaGlsZCwxMDI4Jm4uc3VidHJlZUZsYWdzJiZudWxsIT09ZSllLnJldHVybj1uLFpvPWU7ZWxzZSBmb3IoO251bGwhPT1abzspe249Wm87dHJ5e3ZhciBoPW4uYWx0ZXJuYXRlO2lmKDEwMjQmbi5mbGFncylzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6Y2FzZSA1OmNhc2UgNjpjYXNlIDQ6Y2FzZSAxNzpicmVhaztjYXNlIDE6aWYobnVsbCE9PWgpe3ZhciBnPWgubWVtb2l6ZWRQcm9wcyx2PWgubWVtb2l6ZWRTdGF0ZSx5PW4uc3RhdGVOb2RlLGI9eS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZShuLmVsZW1lbnRUeXBlPT09bi50eXBlP2c6Z2Eobi50eXBlLGcpLHYpO3kuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGU9Yn1icmVhaztjYXNlIDM6dmFyIGs9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzsxPT09ay5ub2RlVHlwZT9rLnRleHRDb250ZW50PSIiOjk9PT1rLm5vZGVUeXBlJiZrLmRvY3VtZW50RWxlbWVudCYmay5yZW1vdmVDaGlsZChrLmRvY3VtZW50RWxlbWVudCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihhKDE2MykpfX1jYXRjaChlKXtFcyhuLG4ucmV0dXJuLGUpfWlmKG51bGwhPT0oZT1uLnNpYmxpbmcpKXtlLnJldHVybj1uLnJldHVybixabz1lO2JyZWFrfVpvPW4ucmV0dXJufWg9bmksbmk9ITF9KGUsdCksZ2kodCxlKSxtcihubCksam49ISFlbCxubD1lbD1udWxsLGUuY3VycmVudD10LHlpKHQsZSxsKSxYZSgpLF9pPWksa249byxOaS50cmFuc2l0aW9uPXV9ZWxzZSBlLmN1cnJlbnQ9dDtpZihxaSYmKHFpPSExLEtpPWUsWWk9bCksdT1lLnBlbmRpbmdMYW5lcywwPT09dSYmKCRpPW51bGwpLGZ1bmN0aW9uKGUpe2lmKGFuJiYiZnVuY3Rpb24iPT10eXBlb2YgYW4ub25Db21taXRGaWJlclJvb3QpdHJ5e2FuLm9uQ29tbWl0RmliZXJSb290KGxuLGUsdm9pZCAwLCEoMTI4Jn5lLmN1cnJlbnQuZmxhZ3MpKX1jYXRjaChlKXt9fSh0LnN0YXRlTm9kZSkscnMoZSxHZSgpKSxudWxsIT09bilmb3Iocj1lLm9uUmVjb3ZlcmFibGVFcnJvcix0PTA7dDxuLmxlbmd0aDt0KyspbD1uW3RdLHIobC52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bC5zdGFjayxkaWdlc3Q6bC5kaWdlc3R9KTtpZihRaSl0aHJvdyBRaT0hMSxlPWppLGppPW51bGwsZTshISgxJllpKSYmMCE9PWUudGFnJiZTcygpLHU9ZS5wZW5kaW5nTGFuZXMsMSZ1P2U9PT1HaT9YaSsrOihYaT0wLEdpPWUpOlhpPTAsV2woKX0oZSxuLHQscil9ZmluYWxseXtOaS50cmFuc2l0aW9uPWwsa249cn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBTcygpe2lmKG51bGwhPT1LaSl7dmFyIGU9d24oWWkpLG49TmkudHJhbnNpdGlvbix0PWtuO3RyeXtpZihOaS50cmFuc2l0aW9uPW51bGwsa249MTY+ZT8xNjplLG51bGw9PT1LaSl2YXIgcj0hMTtlbHNle2lmKGU9S2ksS2k9bnVsbCxZaT0wLDYmX2kpdGhyb3cgRXJyb3IoYSgzMzEpKTt2YXIgbD1faTtmb3IoX2l8PTQsWm89ZS5jdXJyZW50O251bGwhPT1abzspe3ZhciB1PVpvLG89dS5jaGlsZDtpZigxNiZaby5mbGFncyl7dmFyIGk9dS5kZWxldGlvbnM7aWYobnVsbCE9PWkpe2Zvcih2YXIgcz0wO3M8aS5sZW5ndGg7cysrKXt2YXIgYz1pW3NdO2Zvcihabz1jO251bGwhPT1abzspe3ZhciBmPVpvO3N3aXRjaChmLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTp0aSg4LGYsdSl9dmFyIGQ9Zi5jaGlsZDtpZihudWxsIT09ZClkLnJldHVybj1mLFpvPWQ7ZWxzZSBmb3IoO251bGwhPT1abzspe3ZhciBwPShmPVpvKS5zaWJsaW5nLG09Zi5yZXR1cm47aWYoYWkoZiksZj09PWMpe1pvPW51bGw7YnJlYWt9aWYobnVsbCE9PXApe3AucmV0dXJuPW0sWm89cDticmVha31abz1tfX19dmFyIGg9dS5hbHRlcm5hdGU7aWYobnVsbCE9PWgpe3ZhciBnPWguY2hpbGQ7aWYobnVsbCE9PWcpe2guY2hpbGQ9bnVsbDtkb3t2YXIgdj1nLnNpYmxpbmc7Zy5zaWJsaW5nPW51bGwsZz12fXdoaWxlKG51bGwhPT1nKX19Wm89dX19aWYoMjA2NCZ1LnN1YnRyZWVGbGFncyYmbnVsbCE9PW8pby5yZXR1cm49dSwKWm89bztlbHNlIGU6Zm9yKDtudWxsIT09Wm87KXtpZigyMDQ4Jih1PVpvKS5mbGFncylzd2l0Y2godS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6dGkoOSx1LHUucmV0dXJuKX12YXIgeT11LnNpYmxpbmc7aWYobnVsbCE9PXkpe3kucmV0dXJuPXUucmV0dXJuLFpvPXk7YnJlYWsgZX1abz11LnJldHVybn19dmFyIGI9ZS5jdXJyZW50O2Zvcihabz1iO251bGwhPT1abzspe3ZhciBrPShvPVpvKS5jaGlsZDtpZigyMDY0Jm8uc3VidHJlZUZsYWdzJiZudWxsIT09aylrLnJldHVybj1vLFpvPWs7ZWxzZSBlOmZvcihvPWI7bnVsbCE9PVpvOyl7aWYoMjA0OCYoaT1abykuZmxhZ3MpdHJ5e3N3aXRjaChpLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpyaSg5LGkpfX1jYXRjaChlKXtFcyhpLGkucmV0dXJuLGUpfWlmKGk9PT1vKXtabz1udWxsO2JyZWFrIGV9dmFyIHc9aS5zaWJsaW5nO2lmKG51bGwhPT13KXt3LnJldHVybj1pLnJldHVybixabz13O2JyZWFrIGV9Wm89aS5yZXR1cm59fWlmKF9pPWwsV2woKSxhbiYmImZ1bmN0aW9uIj09dHlwZW9mIGFuLm9uUG9zdENvbW1pdEZpYmVyUm9vdCl0cnl7YW4ub25Qb3N0Q29tbWl0RmliZXJSb290KGxuLGUpfWNhdGNoKGUpe31yPSEwfXJldHVybiByfWZpbmFsbHl7a249dCxOaS50cmFuc2l0aW9uPW59fXJldHVybiExfWZ1bmN0aW9uIHhzKGUsbix0KXtlPVJhKGUsbj1tbygwLG49c28odCxuKSwxKSwxKSxuPWVzKCksbnVsbCE9PWUmJih5bihlLDEsbikscnMoZSxuKSl9ZnVuY3Rpb24gRXMoZSxuLHQpe2lmKDM9PT1lLnRhZyl4cyhlLGUsdCk7ZWxzZSBmb3IoO251bGwhPT1uOyl7aWYoMz09PW4udGFnKXt4cyhuLGUsdCk7YnJlYWt9aWYoMT09PW4udGFnKXt2YXIgcj1uLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2Ygbi50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8ImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkQ2F0Y2gmJihudWxsPT09JGl8fCEkaS5oYXMocikpKXtuPVJhKG4sZT1obyhuLGU9c28odCxlKSwxKSwxKSxlPWVzKCksbnVsbCE9PW4mJih5bihuLDEsZSkscnMobixlKSk7YnJlYWt9fW49bi5yZXR1cm59fWZ1bmN0aW9uIENzKGUsbix0KXt2YXIgcj1lLnBpbmdDYWNoZTtudWxsIT09ciYmci5kZWxldGUobiksbj1lcygpLGUucGluZ2VkTGFuZXN8PWUuc3VzcGVuZGVkTGFuZXMmdCxQaT09PWUmJihMaSZ0KT09PXQmJig0PT09Uml8fDM9PT1SaSYmKDEzMDAyMzQyNCZMaSk9PT1MaSYmNTAwPkdlKCktQmk/ZHMoZSwwKTpVaXw9dCkscnMoZSxuKX1mdW5jdGlvbiB6cyhlLG4pezA9PT1uJiYoMSZlLm1vZGU/KG49Zm4sISgxMzAwMjM0MjQmKGZuPDw9MSkpJiYoZm49NDE5NDMwNCkpOm49MSk7dmFyIHQ9ZXMoKTtudWxsIT09KGU9UGEoZSxuKSkmJih5bihlLG4sdCkscnMoZSx0KSl9ZnVuY3Rpb24gTnMoZSl7dmFyIG49ZS5tZW1vaXplZFN0YXRlLHQ9MDtudWxsIT09biYmKHQ9bi5yZXRyeUxhbmUpLHpzKGUsdCl9ZnVuY3Rpb24gX3MoZSxuKXt2YXIgdD0wO3N3aXRjaChlLnRhZyl7Y2FzZSAxMzp2YXIgcj1lLnN0YXRlTm9kZSxsPWUubWVtb2l6ZWRTdGF0ZTtudWxsIT09bCYmKHQ9bC5yZXRyeUxhbmUpO2JyZWFrO2Nhc2UgMTk6cj1lLnN0YXRlTm9kZTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMzE0KSl9bnVsbCE9PXImJnIuZGVsZXRlKG4pLHpzKGUsdCl9ZnVuY3Rpb24gUHMoZSxuKXtyZXR1cm4gcWUoZSxuKX1mdW5jdGlvbiBUcyhlLG4sdCxyKXt0aGlzLnRhZz1lLHRoaXMua2V5PXQsdGhpcy5zaWJsaW5nPXRoaXMuY2hpbGQ9dGhpcy5yZXR1cm49dGhpcy5zdGF0ZU5vZGU9dGhpcy50eXBlPXRoaXMuZWxlbWVudFR5cGU9bnVsbCx0aGlzLmluZGV4PTAsdGhpcy5yZWY9bnVsbCx0aGlzLnBlbmRpbmdQcm9wcz1uLHRoaXMuZGVwZW5kZW5jaWVzPXRoaXMubWVtb2l6ZWRTdGF0ZT10aGlzLnVwZGF0ZVF1ZXVlPXRoaXMubWVtb2l6ZWRQcm9wcz1udWxsLHRoaXMubW9kZT1yLHRoaXMuc3VidHJlZUZsYWdzPXRoaXMuZmxhZ3M9MCx0aGlzLmRlbGV0aW9ucz1udWxsLHRoaXMuY2hpbGRMYW5lcz10aGlzLmxhbmVzPTAsdGhpcy5hbHRlcm5hdGU9bnVsbH1mdW5jdGlvbiBMcyhlLG4sdCxyKXtyZXR1cm4gbmV3IFRzKGUsbix0LHIpfWZ1bmN0aW9uIE1zKGUpe3JldHVybiEoIShlPWUucHJvdG90eXBlKXx8IWUuaXNSZWFjdENvbXBvbmVudCl9ZnVuY3Rpb24gRnMoZSxuKXt2YXIgdD1lLmFsdGVybmF0ZTtyZXR1cm4gbnVsbD09PXQ/KCh0PUxzKGUudGFnLG4sZS5rZXksZS5tb2RlKSkuZWxlbWVudFR5cGU9ZS5lbGVtZW50VHlwZSx0LnR5cGU9ZS50eXBlLHQuc3RhdGVOb2RlPWUuc3RhdGVOb2RlLHQuYWx0ZXJuYXRlPWUsZS5hbHRlcm5hdGU9dCk6KHQucGVuZGluZ1Byb3BzPW4sdC50eXBlPWUudHlwZSx0LmZsYWdzPTAsdC5zdWJ0cmVlRmxhZ3M9MCx0LmRlbGV0aW9ucz1udWxsKSx0LmZsYWdzPTE0NjgwMDY0JmUuZmxhZ3MsdC5jaGlsZExhbmVzPWUuY2hpbGRMYW5lcyx0LmxhbmVzPWUubGFuZXMsdC5jaGlsZD1lLmNoaWxkLHQubWVtb2l6ZWRQcm9wcz1lLm1lbW9pemVkUHJvcHMsdC5tZW1vaXplZFN0YXRlPWUubWVtb2l6ZWRTdGF0ZSx0LnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsbj1lLmRlcGVuZGVuY2llcyx0LmRlcGVuZGVuY2llcz1udWxsPT09bj9udWxsOntsYW5lczpuLmxhbmVzLGZpcnN0Q29udGV4dDpuLmZpcnN0Q29udGV4dH0sdC5zaWJsaW5nPWUuc2libGluZyx0LmluZGV4PWUuaW5kZXgsdC5yZWY9ZS5yZWYsdH1mdW5jdGlvbiBScyhlLG4sdCxyLGwsdSl7dmFyIG89MjtpZihyPWUsImZ1bmN0aW9uIj09dHlwZW9mIGUpTXMoZSkmJihvPTEpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlKW89NTtlbHNlIGU6c3dpdGNoKGUpe2Nhc2UgeDpyZXR1cm4gRHModC5jaGlsZHJlbixsLHUsbik7Y2FzZSBFOm89OCxsfD04O2JyZWFrO2Nhc2UgQzpyZXR1cm4oZT1McygxMix0LG4sMnxsKSkuZWxlbWVudFR5cGU9QyxlLmxhbmVzPXUsZTtjYXNlIFA6cmV0dXJuKGU9THMoMTMsdCxuLGwpKS5lbGVtZW50VHlwZT1QLGUubGFuZXM9dSxlO2Nhc2UgVDoKcmV0dXJuKGU9THMoMTksdCxuLGwpKS5lbGVtZW50VHlwZT1ULGUubGFuZXM9dSxlO2Nhc2UgRjpyZXR1cm4gSXModCxsLHUsbik7ZGVmYXVsdDppZigib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lKXN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIHo6bz0xMDticmVhayBlO2Nhc2UgTjpvPTk7YnJlYWsgZTtjYXNlIF86bz0xMTticmVhayBlO2Nhc2UgTDpvPTE0O2JyZWFrIGU7Y2FzZSBNOm89MTYscj1udWxsO2JyZWFrIGV9dGhyb3cgRXJyb3IoYSgxMzAsbnVsbD09ZT9lOnR5cGVvZiBlLCIiKSl9cmV0dXJuKG49THMobyx0LG4sbCkpLmVsZW1lbnRUeXBlPWUsbi50eXBlPXIsbi5sYW5lcz11LG59ZnVuY3Rpb24gRHMoZSxuLHQscil7cmV0dXJuKGU9THMoNyxlLHIsbikpLmxhbmVzPXQsZX1mdW5jdGlvbiBJcyhlLG4sdCxyKXtyZXR1cm4oZT1McygyMixlLHIsbikpLmVsZW1lbnRUeXBlPUYsZS5sYW5lcz10LGUuc3RhdGVOb2RlPXtpc0hpZGRlbjohMX0sZX1mdW5jdGlvbiBPcyhlLG4sdCl7cmV0dXJuKGU9THMoNixlLG51bGwsbikpLmxhbmVzPXQsZX1mdW5jdGlvbiBVcyhlLG4sdCl7cmV0dXJuKG49THMoNCxudWxsIT09ZS5jaGlsZHJlbj9lLmNoaWxkcmVuOltdLGUua2V5LG4pKS5sYW5lcz10LG4uc3RhdGVOb2RlPXtjb250YWluZXJJbmZvOmUuY29udGFpbmVySW5mbyxwZW5kaW5nQ2hpbGRyZW46bnVsbCxpbXBsZW1lbnRhdGlvbjplLmltcGxlbWVudGF0aW9ufSxufWZ1bmN0aW9uIFZzKGUsbix0LHIsbCl7dGhpcy50YWc9bix0aGlzLmNvbnRhaW5lckluZm89ZSx0aGlzLmZpbmlzaGVkV29yaz10aGlzLnBpbmdDYWNoZT10aGlzLmN1cnJlbnQ9dGhpcy5wZW5kaW5nQ2hpbGRyZW49bnVsbCx0aGlzLnRpbWVvdXRIYW5kbGU9LTEsdGhpcy5jYWxsYmFja05vZGU9dGhpcy5wZW5kaW5nQ29udGV4dD10aGlzLmNvbnRleHQ9bnVsbCx0aGlzLmNhbGxiYWNrUHJpb3JpdHk9MCx0aGlzLmV2ZW50VGltZXM9dm4oMCksdGhpcy5leHBpcmF0aW9uVGltZXM9dm4oLTEpLHRoaXMuZW50YW5nbGVkTGFuZXM9dGhpcy5maW5pc2hlZExhbmVzPXRoaXMubXV0YWJsZVJlYWRMYW5lcz10aGlzLmV4cGlyZWRMYW5lcz10aGlzLnBpbmdlZExhbmVzPXRoaXMuc3VzcGVuZGVkTGFuZXM9dGhpcy5wZW5kaW5nTGFuZXM9MCx0aGlzLmVudGFuZ2xlbWVudHM9dm4oMCksdGhpcy5pZGVudGlmaWVyUHJlZml4PXIsdGhpcy5vblJlY292ZXJhYmxlRXJyb3I9bCx0aGlzLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGE9bnVsbH1mdW5jdGlvbiBBcyhlLG4sdCxyLGwsYSx1LG8saSl7cmV0dXJuIGU9bmV3IFZzKGUsbix0LG8saSksMT09PW4/KG49MSwhMD09PWEmJihufD04KSk6bj0wLGE9THMoMyxudWxsLG51bGwsbiksZS5jdXJyZW50PWEsYS5zdGF0ZU5vZGU9ZSxhLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6dCxjYWNoZTpudWxsLHRyYW5zaXRpb25zOm51bGwscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpudWxsfSxMYShhKSxlfWZ1bmN0aW9uIEJzKGUpe2lmKCFlKXJldHVybiBObDtlOntpZihXZShlPWUuX3JlYWN0SW50ZXJuYWxzKSE9PWV8fDEhPT1lLnRhZyl0aHJvdyBFcnJvcihhKDE3MCkpO3ZhciBuPWU7ZG97c3dpdGNoKG4udGFnKXtjYXNlIDM6bj1uLnN0YXRlTm9kZS5jb250ZXh0O2JyZWFrIGU7Y2FzZSAxOmlmKE1sKG4udHlwZSkpe249bi5zdGF0ZU5vZGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQ7YnJlYWsgZX19bj1uLnJldHVybn13aGlsZShudWxsIT09bik7dGhyb3cgRXJyb3IoYSgxNzEpKX1pZigxPT09ZS50YWcpe3ZhciB0PWUudHlwZTtpZihNbCh0KSlyZXR1cm4gRGwoZSx0LG4pfXJldHVybiBufWZ1bmN0aW9uIFdzKGUsbix0LHIsbCxhLHUsbyxpKXtyZXR1cm4oZT1Bcyh0LHIsITAsZSwwLGEsMCxvLGkpKS5jb250ZXh0PUJzKG51bGwpLHQ9ZS5jdXJyZW50LChhPUZhKHI9ZXMoKSxsPW5zKHQpKSkuY2FsbGJhY2s9bnVsbCE9bj9uOm51bGwsUmEodCxhLGwpLGUuY3VycmVudC5sYW5lcz1sLHluKGUsbCxyKSxycyhlLHIpLGV9ZnVuY3Rpb24gSHMoZSxuLHQscil7dmFyIGw9bi5jdXJyZW50LGE9ZXMoKSx1PW5zKGwpO3JldHVybiB0PUJzKHQpLG51bGw9PT1uLmNvbnRleHQ/bi5jb250ZXh0PXQ6bi5wZW5kaW5nQ29udGV4dD10LChuPUZhKGEsdSkpLnBheWxvYWQ9e2VsZW1lbnQ6ZX0sbnVsbCE9PShyPXZvaWQgMD09PXI/bnVsbDpyKSYmKG4uY2FsbGJhY2s9ciksbnVsbCE9PShlPVJhKGwsbix1KSkmJih0cyhlLGwsdSxhKSxEYShlLGwsdSkpLHV9ZnVuY3Rpb24gUXMoZSl7cmV0dXJuKGU9ZS5jdXJyZW50KS5jaGlsZD8oZS5jaGlsZC50YWcsZS5jaGlsZC5zdGF0ZU5vZGUpOm51bGx9ZnVuY3Rpb24ganMoZSxuKXtpZihudWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PWUuZGVoeWRyYXRlZCl7dmFyIHQ9ZS5yZXRyeUxhbmU7ZS5yZXRyeUxhbmU9MCE9PXQmJnQ8bj90Om59fWZ1bmN0aW9uICRzKGUsbil7anMoZSxuKSwoZT1lLmFsdGVybmF0ZSkmJmpzKGUsbil9eGk9ZnVuY3Rpb24oZSxuLHQpe2lmKG51bGwhPT1lKWlmKGUubWVtb2l6ZWRQcm9wcyE9PW4ucGVuZGluZ1Byb3BzfHxQbC5jdXJyZW50KWtvPSEwO2Vsc2V7aWYoIShlLmxhbmVzJnR8fDEyOCZuLmZsYWdzKSlyZXR1cm4ga289ITEsZnVuY3Rpb24oZSxuLHQpe3N3aXRjaChuLnRhZyl7Y2FzZSAzOlRvKG4pLHBhKCk7YnJlYWs7Y2FzZSA1OmF1KG4pO2JyZWFrO2Nhc2UgMTpNbChuLnR5cGUpJiZJbChuKTticmVhaztjYXNlIDQ6cnUobixuLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTticmVhaztjYXNlIDEwOnZhciByPW4udHlwZS5fY29udGV4dCxsPW4ubWVtb2l6ZWRQcm9wcy52YWx1ZTt6bCh2YSxyLl9jdXJyZW50VmFsdWUpLHIuX2N1cnJlbnRWYWx1ZT1sO2JyZWFrO2Nhc2UgMTM6aWYobnVsbCE9PShyPW4ubWVtb2l6ZWRTdGF0ZSkpcmV0dXJuIG51bGwhPT1yLmRlaHlkcmF0ZWQ/KHpsKG91LDEmb3UuY3VycmVudCksbi5mbGFnc3w9MTI4LG51bGwpOnQmbi5jaGlsZC5jaGlsZExhbmVzP09vKGUsbix0KTooemwob3UsMSZvdS5jdXJyZW50KSwKbnVsbCE9PShlPVFvKGUsbix0KSk/ZS5zaWJsaW5nOm51bGwpO3psKG91LDEmb3UuY3VycmVudCk7YnJlYWs7Y2FzZSAxOTppZihyPSEhKHQmbi5jaGlsZExhbmVzKSwxMjgmZS5mbGFncyl7aWYocilyZXR1cm4gV28oZSxuLHQpO24uZmxhZ3N8PTEyOH1pZihudWxsIT09KGw9bi5tZW1vaXplZFN0YXRlKSYmKGwucmVuZGVyaW5nPW51bGwsbC50YWlsPW51bGwsbC5sYXN0RWZmZWN0PW51bGwpLHpsKG91LG91LmN1cnJlbnQpLHIpYnJlYWs7cmV0dXJuIG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBuLmxhbmVzPTAsQ28oZSxuLHQpfXJldHVybiBRbyhlLG4sdCl9KGUsbix0KTtrbz0hISgxMzEwNzImZS5mbGFncyl9ZWxzZSBrbz0hMSxsYSYmMTA0ODU3NiZuLmZsYWdzJiZKbChuLCRsLG4uaW5kZXgpO3N3aXRjaChuLmxhbmVzPTAsbi50YWcpe2Nhc2UgMjp2YXIgcj1uLnR5cGU7SG8oZSxuKSxlPW4ucGVuZGluZ1Byb3BzO3ZhciBsPUxsKG4sX2wuY3VycmVudCk7RWEobix0KSxsPXh1KG51bGwsbixyLGUsbCx0KTt2YXIgdT1FdSgpO3JldHVybiBuLmZsYWdzfD0xLCJvYmplY3QiPT10eXBlb2YgbCYmbnVsbCE9PWwmJiJmdW5jdGlvbiI9PXR5cGVvZiBsLnJlbmRlciYmdm9pZCAwPT09bC4kJHR5cGVvZj8obi50YWc9MSxuLm1lbW9pemVkU3RhdGU9bnVsbCxuLnVwZGF0ZVF1ZXVlPW51bGwsTWwocik/KHU9ITAsSWwobikpOnU9ITEsbi5tZW1vaXplZFN0YXRlPW51bGwhPT1sLnN0YXRlJiZ2b2lkIDAhPT1sLnN0YXRlP2wuc3RhdGU6bnVsbCxMYShuKSxsLnVwZGF0ZXI9QmEsbi5zdGF0ZU5vZGU9bCxsLl9yZWFjdEludGVybmFscz1uLGphKG4scixlLHQpLG49UG8obnVsbCxuLHIsITAsdSx0KSk6KG4udGFnPTAsbGEmJnUmJmVhKG4pLHdvKG51bGwsbixsLHQpLG49bi5jaGlsZCksbjtjYXNlIDE2OnI9bi5lbGVtZW50VHlwZTtlOntzd2l0Y2goSG8oZSxuKSxlPW4ucGVuZGluZ1Byb3BzLHI9KGw9ci5faW5pdCkoci5fcGF5bG9hZCksbi50eXBlPXIsbD1uLnRhZz1mdW5jdGlvbihlKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gTXMoZSk/MTowO2lmKG51bGwhPWUpe2lmKChlPWUuJCR0eXBlb2YpPT09XylyZXR1cm4gMTE7aWYoZT09PUwpcmV0dXJuIDE0fXJldHVybiAyfShyKSxlPWdhKHIsZSksbCl7Y2FzZSAwOm49Tm8obnVsbCxuLHIsZSx0KTticmVhayBlO2Nhc2UgMTpuPV9vKG51bGwsbixyLGUsdCk7YnJlYWsgZTtjYXNlIDExOm49U28obnVsbCxuLHIsZSx0KTticmVhayBlO2Nhc2UgMTQ6bj14byhudWxsLG4scixnYShyLnR5cGUsZSksdCk7YnJlYWsgZX10aHJvdyBFcnJvcihhKDMwNixyLCIiKSl9cmV0dXJuIG47Y2FzZSAwOnJldHVybiByPW4udHlwZSxsPW4ucGVuZGluZ1Byb3BzLE5vKGUsbixyLGw9bi5lbGVtZW50VHlwZT09PXI/bDpnYShyLGwpLHQpO2Nhc2UgMTpyZXR1cm4gcj1uLnR5cGUsbD1uLnBlbmRpbmdQcm9wcyxfbyhlLG4scixsPW4uZWxlbWVudFR5cGU9PT1yP2w6Z2EocixsKSx0KTtjYXNlIDM6ZTp7aWYoVG8obiksbnVsbD09PWUpdGhyb3cgRXJyb3IoYSgzODcpKTtyPW4ucGVuZGluZ1Byb3BzLGw9KHU9bi5tZW1vaXplZFN0YXRlKS5lbGVtZW50LE1hKGUsbiksT2EobixyLG51bGwsdCk7dmFyIG89bi5tZW1vaXplZFN0YXRlO2lmKHI9by5lbGVtZW50LHUuaXNEZWh5ZHJhdGVkKXtpZih1PXtlbGVtZW50OnIsaXNEZWh5ZHJhdGVkOiExLGNhY2hlOm8uY2FjaGUscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpvLnBlbmRpbmdTdXNwZW5zZUJvdW5kYXJpZXMsdHJhbnNpdGlvbnM6by50cmFuc2l0aW9uc30sbi51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9dSxuLm1lbW9pemVkU3RhdGU9dSwyNTYmbi5mbGFncyl7bj1MbyhlLG4scix0LGw9c28oRXJyb3IoYSg0MjMpKSxuKSk7YnJlYWsgZX1pZihyIT09bCl7bj1MbyhlLG4scix0LGw9c28oRXJyb3IoYSg0MjQpKSxuKSk7YnJlYWsgZX1mb3IocmE9c2wobi5zdGF0ZU5vZGUuY29udGFpbmVySW5mby5maXJzdENoaWxkKSx0YT1uLGxhPSEwLGFhPW51bGwsdD1HYShuLG51bGwscix0KSxuLmNoaWxkPXQ7dDspdC5mbGFncz0tMyZ0LmZsYWdzfDQwOTYsdD10LnNpYmxpbmd9ZWxzZXtpZihwYSgpLHI9PT1sKXtuPVFvKGUsbix0KTticmVhayBlfXdvKGUsbixyLHQpfW49bi5jaGlsZH1yZXR1cm4gbjtjYXNlIDU6cmV0dXJuIGF1KG4pLG51bGw9PT1lJiZzYShuKSxyPW4udHlwZSxsPW4ucGVuZGluZ1Byb3BzLHU9bnVsbCE9PWU/ZS5tZW1vaXplZFByb3BzOm51bGwsbz1sLmNoaWxkcmVuLHRsKHIsbCk/bz1udWxsOm51bGwhPT11JiZ0bChyLHUpJiYobi5mbGFnc3w9MzIpLHpvKGUsbiksd28oZSxuLG8sdCksbi5jaGlsZDtjYXNlIDY6cmV0dXJuIG51bGw9PT1lJiZzYShuKSxudWxsO2Nhc2UgMTM6cmV0dXJuIE9vKGUsbix0KTtjYXNlIDQ6cmV0dXJuIHJ1KG4sbi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbykscj1uLnBlbmRpbmdQcm9wcyxudWxsPT09ZT9uLmNoaWxkPVhhKG4sbnVsbCxyLHQpOndvKGUsbixyLHQpLG4uY2hpbGQ7Y2FzZSAxMTpyZXR1cm4gcj1uLnR5cGUsbD1uLnBlbmRpbmdQcm9wcyxTbyhlLG4scixsPW4uZWxlbWVudFR5cGU9PT1yP2w6Z2EocixsKSx0KTtjYXNlIDc6cmV0dXJuIHdvKGUsbixuLnBlbmRpbmdQcm9wcyx0KSxuLmNoaWxkO2Nhc2UgODpjYXNlIDEyOnJldHVybiB3byhlLG4sbi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sdCksbi5jaGlsZDtjYXNlIDEwOmU6e2lmKHI9bi50eXBlLl9jb250ZXh0LGw9bi5wZW5kaW5nUHJvcHMsdT1uLm1lbW9pemVkUHJvcHMsbz1sLnZhbHVlLHpsKHZhLHIuX2N1cnJlbnRWYWx1ZSksci5fY3VycmVudFZhbHVlPW8sbnVsbCE9PXUpaWYob3IodS52YWx1ZSxvKSl7aWYodS5jaGlsZHJlbj09PWwuY2hpbGRyZW4mJiFQbC5jdXJyZW50KXtuPVFvKGUsbix0KTticmVhayBlfX1lbHNlIGZvcihudWxsIT09KHU9bi5jaGlsZCkmJih1LnJldHVybj1uKTtudWxsIT09dTspe3ZhciBpPXUuZGVwZW5kZW5jaWVzO2lmKG51bGwhPT1pKXtvPXUuY2hpbGQ7Zm9yKHZhciBzPWkuZmlyc3RDb250ZXh0O251bGwhPT1zOyl7aWYocy5jb250ZXh0PT09cil7CmlmKDE9PT11LnRhZyl7KHM9RmEoLTEsdCYtdCkpLnRhZz0yO3ZhciBjPXUudXBkYXRlUXVldWU7aWYobnVsbCE9PWMpe3ZhciBmPShjPWMuc2hhcmVkKS5wZW5kaW5nO251bGw9PT1mP3MubmV4dD1zOihzLm5leHQ9Zi5uZXh0LGYubmV4dD1zKSxjLnBlbmRpbmc9c319dS5sYW5lc3w9dCxudWxsIT09KHM9dS5hbHRlcm5hdGUpJiYocy5sYW5lc3w9dCkseGEodS5yZXR1cm4sdCxuKSxpLmxhbmVzfD10O2JyZWFrfXM9cy5uZXh0fX1lbHNlIGlmKDEwPT09dS50YWcpbz11LnR5cGU9PT1uLnR5cGU/bnVsbDp1LmNoaWxkO2Vsc2UgaWYoMTg9PT11LnRhZyl7aWYobnVsbD09PShvPXUucmV0dXJuKSl0aHJvdyBFcnJvcihhKDM0MSkpO28ubGFuZXN8PXQsbnVsbCE9PShpPW8uYWx0ZXJuYXRlKSYmKGkubGFuZXN8PXQpLHhhKG8sdCxuKSxvPXUuc2libGluZ31lbHNlIG89dS5jaGlsZDtpZihudWxsIT09bylvLnJldHVybj11O2Vsc2UgZm9yKG89dTtudWxsIT09bzspe2lmKG89PT1uKXtvPW51bGw7YnJlYWt9aWYobnVsbCE9PSh1PW8uc2libGluZykpe3UucmV0dXJuPW8ucmV0dXJuLG89dTticmVha31vPW8ucmV0dXJufXU9b313byhlLG4sbC5jaGlsZHJlbix0KSxuPW4uY2hpbGR9cmV0dXJuIG47Y2FzZSA5OnJldHVybiBsPW4udHlwZSxyPW4ucGVuZGluZ1Byb3BzLmNoaWxkcmVuLEVhKG4sdCkscj1yKGw9Q2EobCkpLG4uZmxhZ3N8PTEsd28oZSxuLHIsdCksbi5jaGlsZDtjYXNlIDE0OnJldHVybiBsPWdhKHI9bi50eXBlLG4ucGVuZGluZ1Byb3BzKSx4byhlLG4scixsPWdhKHIudHlwZSxsKSx0KTtjYXNlIDE1OnJldHVybiBFbyhlLG4sbi50eXBlLG4ucGVuZGluZ1Byb3BzLHQpO2Nhc2UgMTc6cmV0dXJuIHI9bi50eXBlLGw9bi5wZW5kaW5nUHJvcHMsbD1uLmVsZW1lbnRUeXBlPT09cj9sOmdhKHIsbCksSG8oZSxuKSxuLnRhZz0xLE1sKHIpPyhlPSEwLElsKG4pKTplPSExLEVhKG4sdCksSGEobixyLGwpLGphKG4scixsLHQpLFBvKG51bGwsbixyLCEwLGUsdCk7Y2FzZSAxOTpyZXR1cm4gV28oZSxuLHQpO2Nhc2UgMjI6cmV0dXJuIENvKGUsbix0KX10aHJvdyBFcnJvcihhKDE1NixuLnRhZykpfTt2YXIgcXM9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmZ1bmN0aW9uKGUpe2NvbnNvbGUuZXJyb3IoZSl9O2Z1bmN0aW9uIEtzKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIFlzKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIFhzKGUpe3JldHVybiEoIWV8fDEhPT1lLm5vZGVUeXBlJiY5IT09ZS5ub2RlVHlwZSYmMTEhPT1lLm5vZGVUeXBlKX1mdW5jdGlvbiBHcyhlKXtyZXR1cm4hKCFlfHwxIT09ZS5ub2RlVHlwZSYmOSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZSYmKDghPT1lLm5vZGVUeXBlfHwiIHJlYWN0LW1vdW50LXBvaW50LXVuc3RhYmxlICIhPT1lLm5vZGVWYWx1ZSkpfWZ1bmN0aW9uIFpzKCl7fWZ1bmN0aW9uIEpzKGUsbix0LHIsbCl7dmFyIGE9dC5fcmVhY3RSb290Q29udGFpbmVyO2lmKGEpe3ZhciB1PWE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGwpe3ZhciBvPWw7bD1mdW5jdGlvbigpe3ZhciBlPVFzKHUpO28uY2FsbChlKX19SHMobix1LGUsbCl9ZWxzZSB1PWZ1bmN0aW9uKGUsbix0LHIsbCl7aWYobCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBhPXI7cj1mdW5jdGlvbigpe3ZhciBlPVFzKHUpO2EuY2FsbChlKX19dmFyIHU9V3MobixyLGUsMCxudWxsLCExLDAsIiIsWnMpO3JldHVybiBlLl9yZWFjdFJvb3RDb250YWluZXI9dSxlW21sXT11LmN1cnJlbnQsV3IoOD09PWUubm9kZVR5cGU/ZS5wYXJlbnROb2RlOmUpLGNzKCksdX1mb3IoO2w9ZS5sYXN0Q2hpbGQ7KWUucmVtb3ZlQ2hpbGQobCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBvPXI7cj1mdW5jdGlvbigpe3ZhciBlPVFzKGkpO28uY2FsbChlKX19dmFyIGk9QXMoZSwwLCExLG51bGwsMCwhMSwwLCIiLFpzKTtyZXR1cm4gZS5fcmVhY3RSb290Q29udGFpbmVyPWksZVttbF09aS5jdXJyZW50LFdyKDg9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplKSxjcygoZnVuY3Rpb24oKXtIcyhuLGksdCxyKX0pKSxpfSh0LG4sZSxsLHIpO3JldHVybiBRcyh1KX1Zcy5wcm90b3R5cGUucmVuZGVyPUtzLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGw9PT1uKXRocm93IEVycm9yKGEoNDA5KSk7SHMoZSxuLG51bGwsbnVsbCl9LFlzLnByb3RvdHlwZS51bm1vdW50PUtzLnByb3RvdHlwZS51bm1vdW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGwhPT1lKXt0aGlzLl9pbnRlcm5hbFJvb3Q9bnVsbDt2YXIgbj1lLmNvbnRhaW5lckluZm87Y3MoKGZ1bmN0aW9uKCl7SHMobnVsbCxlLG51bGwsbnVsbCl9KSksblttbF09bnVsbH19LFlzLnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbj1mdW5jdGlvbihlKXtpZihlKXt2YXIgbj1DbigpO2U9e2Jsb2NrZWRPbjpudWxsLHRhcmdldDplLHByaW9yaXR5Om59O2Zvcih2YXIgdD0wO3Q8Um4ubGVuZ3RoJiYwIT09biYmbjxSblt0XS5wcmlvcml0eTt0KyspO1JuLnNwbGljZSh0LDAsZSksMD09PXQmJlVuKGUpfX0sU249ZnVuY3Rpb24oZSl7c3dpdGNoKGUudGFnKXtjYXNlIDM6dmFyIG49ZS5zdGF0ZU5vZGU7aWYobi5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXt2YXIgdD1kbihuLnBlbmRpbmdMYW5lcyk7MCE9PXQmJihibihuLDF8dCkscnMobixHZSgpKSwhKDYmX2kpJiYoV2k9R2UoKSs1MDAsV2woKSkpfWJyZWFrO2Nhc2UgMTM6Y3MoKGZ1bmN0aW9uKCl7dmFyIG49UGEoZSwxKTtpZihudWxsIT09bil7dmFyIHQ9ZXMoKTt0cyhuLGUsMSx0KX19KSksJHMoZSwxKX19LHhuPWZ1bmN0aW9uKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPVBhKGUsMTM0MjE3NzI4KTtpZihudWxsIT09bil0cyhuLGUsMTM0MjE3NzI4LGVzKCkpOyRzKGUsMTM0MjE3NzI4KX19LEVuPWZ1bmN0aW9uKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPW5zKGUpLHQ9UGEoZSxuKQo7aWYobnVsbCE9PXQpdHModCxlLG4sZXMoKSk7JHMoZSxuKX19LENuPWZ1bmN0aW9uKCl7cmV0dXJuIGtufSx6bj1mdW5jdGlvbihlLG4pe3ZhciB0PWtuO3RyeXtyZXR1cm4ga249ZSxuKCl9ZmluYWxseXtrbj10fX0sU2U9ZnVuY3Rpb24oZSxuLHQpe3N3aXRjaChuKXtjYXNlImlucHV0IjppZihaKGUsdCksbj10Lm5hbWUsInJhZGlvIj09PXQudHlwZSYmbnVsbCE9bil7Zm9yKHQ9ZTt0LnBhcmVudE5vZGU7KXQ9dC5wYXJlbnROb2RlO2Zvcih0PXQucXVlcnlTZWxlY3RvckFsbCgiaW5wdXRbbmFtZT0iK0pTT04uc3RyaW5naWZ5KCIiK24pKyddW3R5cGU9InJhZGlvIl0nKSxuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07aWYociE9PWUmJnIuZm9ybT09PWUuZm9ybSl7dmFyIGw9d2wocik7aWYoIWwpdGhyb3cgRXJyb3IoYSg5MCkpO3EociksWihyLGwpfX19YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6YWUoZSx0KTticmVhaztjYXNlInNlbGVjdCI6bnVsbCE9KG49dC52YWx1ZSkmJnRlKGUsISF0Lm11bHRpcGxlLG4sITEpfX0sX2U9c3MsUGU9Y3M7dmFyIGVjPXt1c2luZ0NsaWVudEVudHJ5UG9pbnQ6ITEsRXZlbnRzOltibCxrbCx3bCx6ZSxOZSxzc119LG5jPXtmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTp5bCxidW5kbGVUeXBlOjAsdmVyc2lvbjoiMTguMi4wIixyZW5kZXJlclBhY2thZ2VOYW1lOiJyZWFjdC1kb20ifSx0Yz17YnVuZGxlVHlwZTpuYy5idW5kbGVUeXBlLHZlcnNpb246bmMudmVyc2lvbixyZW5kZXJlclBhY2thZ2VOYW1lOm5jLnJlbmRlcmVyUGFja2FnZU5hbWUscmVuZGVyZXJDb25maWc6bmMucmVuZGVyZXJDb25maWcsb3ZlcnJpZGVIb29rU3RhdGU6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZURlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZVJlbmFtZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzOm51bGwsb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzUmVuYW1lUGF0aDpudWxsLHNldEVycm9ySGFuZGxlcjpudWxsLHNldFN1c3BlbnNlSGFuZGxlcjpudWxsLHNjaGVkdWxlVXBkYXRlOm51bGwsY3VycmVudERpc3BhdGNoZXJSZWY6ay5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLGZpbmRIb3N0SW5zdGFuY2VCeUZpYmVyOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09KGU9amUoZSkpP251bGw6ZS5zdGF0ZU5vZGV9LGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOm5jLmZpbmRGaWJlckJ5SG9zdEluc3RhbmNlfHxmdW5jdGlvbigpe3JldHVybiBudWxsfSxmaW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2g6bnVsbCxzY2hlZHVsZVJlZnJlc2g6bnVsbCxzY2hlZHVsZVJvb3Q6bnVsbCxzZXRSZWZyZXNoSGFuZGxlcjpudWxsLGdldEN1cnJlbnRGaWJlcjpudWxsLHJlY29uY2lsZXJWZXJzaW9uOiIxOC4yLjAtbmV4dC05ZTNiNzcyYjgtMjAyMjA2MDgifTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyl7dmFyIHJjPV9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztpZighcmMuaXNEaXNhYmxlZCYmcmMuc3VwcG9ydHNGaWJlcil0cnl7bG49cmMuaW5qZWN0KHRjKSxhbj1yY31jYXRjaChjZSl7fX1uLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEPWVjLG4uY3JlYXRlUG9ydGFsPWZ1bmN0aW9uKGUsbil7dmFyIHQ9Mjxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOm51bGw7aWYoIVhzKG4pKXRocm93IEVycm9yKGEoMjAwKSk7cmV0dXJuIGZ1bmN0aW9uKGUsbix0KXt2YXIgcj0zPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106bnVsbDtyZXR1cm57JCR0eXBlb2Y6UyxrZXk6bnVsbD09cj9udWxsOiIiK3IsY2hpbGRyZW46ZSxjb250YWluZXJJbmZvOm4saW1wbGVtZW50YXRpb246dH19KGUsbixudWxsLHQpfSxuLmNyZWF0ZVJvb3Q9ZnVuY3Rpb24oZSxuKXtpZighWHMoZSkpdGhyb3cgRXJyb3IoYSgyOTkpKTt2YXIgdD0hMSxyPSIiLGw9cXM7cmV0dXJuIG51bGwhPW4mJighMD09PW4udW5zdGFibGVfc3RyaWN0TW9kZSYmKHQ9ITApLHZvaWQgMCE9PW4uaWRlbnRpZmllclByZWZpeCYmKHI9bi5pZGVudGlmaWVyUHJlZml4KSx2b2lkIDAhPT1uLm9uUmVjb3ZlcmFibGVFcnJvciYmKGw9bi5vblJlY292ZXJhYmxlRXJyb3IpKSxuPUFzKGUsMSwhMSxudWxsLDAsdCwwLHIsbCksZVttbF09bi5jdXJyZW50LFdyKDg9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplKSxuZXcgS3Mobil9LG4uZmluZERPTU5vZGU9ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigxPT09ZS5ub2RlVHlwZSlyZXR1cm4gZTt2YXIgbj1lLl9yZWFjdEludGVybmFscztpZih2b2lkIDA9PT1uKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZS5yZW5kZXIpdGhyb3cgRXJyb3IoYSgxODgpKTt0aHJvdyBlPU9iamVjdC5rZXlzKGUpLmpvaW4oIiwiKSxFcnJvcihhKDI2OCxlKSl9cmV0dXJuIGU9bnVsbD09PShlPWplKG4pKT9udWxsOmUuc3RhdGVOb2RlfSxuLmZsdXNoU3luYz1mdW5jdGlvbihlKXtyZXR1cm4gY3MoZSl9LG4uaHlkcmF0ZT1mdW5jdGlvbihlLG4sdCl7aWYoIUdzKG4pKXRocm93IEVycm9yKGEoMjAwKSk7cmV0dXJuIEpzKG51bGwsZSxuLCEwLHQpfSxuLmh5ZHJhdGVSb290PWZ1bmN0aW9uKGUsbix0KXtpZighWHMoZSkpdGhyb3cgRXJyb3IoYSg0MDUpKTt2YXIgcj1udWxsIT10JiZ0Lmh5ZHJhdGVkU291cmNlc3x8bnVsbCxsPSExLHU9IiIsbz1xcztpZihudWxsIT10JiYoITA9PT10LnVuc3RhYmxlX3N0cmljdE1vZGUmJihsPSEwKSx2b2lkIDAhPT10LmlkZW50aWZpZXJQcmVmaXgmJih1PXQuaWRlbnRpZmllclByZWZpeCksdm9pZCAwIT09dC5vblJlY292ZXJhYmxlRXJyb3ImJihvPXQub25SZWNvdmVyYWJsZUVycm9yKSksbj1XcyhuLG51bGwsZSwxLG51bGwhPXQ/dDpudWxsLGwsMCx1LG8pLGVbbWxdPW4uY3VycmVudCxXcihlKSxyKWZvcihlPTA7ZTxyLmxlbmd0aDtlKyspbD0obD0odD1yW2VdKS5fZ2V0VmVyc2lvbikodC5fc291cmNlKSwKbnVsbD09bi5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhP24ubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YT1bdCxsXTpuLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGEucHVzaCh0LGwpO3JldHVybiBuZXcgWXMobil9LG4ucmVuZGVyPWZ1bmN0aW9uKGUsbix0KXtpZighR3MobikpdGhyb3cgRXJyb3IoYSgyMDApKTtyZXR1cm4gSnMobnVsbCxlLG4sITEsdCl9LG4udW5tb3VudENvbXBvbmVudEF0Tm9kZT1mdW5jdGlvbihlKXtpZighR3MoZSkpdGhyb3cgRXJyb3IoYSg0MCkpO3JldHVybiEhZS5fcmVhY3RSb290Q29udGFpbmVyJiYoY3MoKGZ1bmN0aW9uKCl7SnMobnVsbCxudWxsLGUsITEsKGZ1bmN0aW9uKCl7ZS5fcmVhY3RSb290Q29udGFpbmVyPW51bGwsZVttbF09bnVsbH0pKX0pKSwhMCl9LG4udW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM9c3Msbi51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcj1mdW5jdGlvbihlLG4sdCxyKXtpZighR3ModCkpdGhyb3cgRXJyb3IoYSgyMDApKTtpZihudWxsPT1lfHx2b2lkIDA9PT1lLl9yZWFjdEludGVybmFscyl0aHJvdyBFcnJvcihhKDM4KSk7cmV0dXJuIEpzKGUsbix0LCExLHIpfSxuLnZlcnNpb249IjE4LjIuMC1uZXh0LTllM2I3NzJiOC0yMDIyMDYwOCJ9LDUwODIwNyhlLG4pe2Z1bmN0aW9uIHQoZSxuKXt2YXIgdD1lLmxlbmd0aDtlLnB1c2gobik7ZTpmb3IoOzA8dDspe3ZhciByPXQtMT4+PjEsbD1lW3JdO2lmKCEoMDxhKGwsbikpKWJyZWFrIGU7ZVtyXT1uLGVbdF09bCx0PXJ9fWZ1bmN0aW9uIHIoZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD9udWxsOmVbMF19ZnVuY3Rpb24gbChlKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIG51bGw7dmFyIG49ZVswXSx0PWUucG9wKCk7aWYodCE9PW4pe2VbMF09dDtlOmZvcih2YXIgcj0wLGw9ZS5sZW5ndGgsdT1sPj4+MTtyPHU7KXt2YXIgbz0yKihyKzEpLTEsaT1lW29dLHM9bysxLGM9ZVtzXTtpZigwPmEoaSx0KSlzPGwmJjA+YShjLGkpPyhlW3JdPWMsZVtzXT10LHI9cyk6KGVbcl09aSxlW29dPXQscj1vKTtlbHNle2lmKCEoczxsJiYwPmEoYyx0KSkpYnJlYWsgZTtlW3JdPWMsZVtzXT10LHI9c319fXJldHVybiBufWZ1bmN0aW9uIGEoZSxuKXt2YXIgdD1lLnNvcnRJbmRleC1uLnNvcnRJbmRleDtyZXR1cm4gMCE9PXQ/dDplLmlkLW4uaWR9aWYoIm9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmImZ1bmN0aW9uIj09dHlwZW9mIHBlcmZvcm1hbmNlLm5vdyl7dmFyIHU9cGVyZm9ybWFuY2U7bi51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gdS5ub3coKX19ZWxzZXt2YXIgbz1EYXRlLGk9by5ub3coKTtuLnVuc3RhYmxlX25vdz1mdW5jdGlvbigpe3JldHVybiBvLm5vdygpLWl9fXZhciBzPVtdLGM9W10sZj0xLGQ9bnVsbCxwPTMsbT0hMSxoPSExLGc9ITEsdj0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0Om51bGwseT0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDpudWxsLGI9InVuZGVmaW5lZCIhPXR5cGVvZiBzZXRJbW1lZGlhdGU/c2V0SW1tZWRpYXRlOm51bGw7ZnVuY3Rpb24gayhlKXtmb3IodmFyIG49cihjKTtudWxsIT09bjspe2lmKG51bGw9PT1uLmNhbGxiYWNrKWwoYyk7ZWxzZXtpZighKG4uc3RhcnRUaW1lPD1lKSlicmVhaztsKGMpLG4uc29ydEluZGV4PW4uZXhwaXJhdGlvblRpbWUsdChzLG4pfW49cihjKX19ZnVuY3Rpb24gdyhlKXtpZihnPSExLGsoZSksIWgpaWYobnVsbCE9PXIocykpaD0hMCxGKFMpO2Vsc2V7dmFyIG49cihjKTtudWxsIT09biYmUih3LG4uc3RhcnRUaW1lLWUpfX1mdW5jdGlvbiBTKGUsdCl7aD0hMSxnJiYoZz0hMSx5KHopLHo9LTEpLG09ITA7dmFyIGE9cDt0cnl7Zm9yKGsodCksZD1yKHMpO251bGwhPT1kJiYoIShkLmV4cGlyYXRpb25UaW1lPnQpfHxlJiYhUCgpKTspe3ZhciB1PWQuY2FsbGJhY2s7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHUpe2QuY2FsbGJhY2s9bnVsbCxwPWQucHJpb3JpdHlMZXZlbDt2YXIgbz11KGQuZXhwaXJhdGlvblRpbWU8PXQpO3Q9bi51bnN0YWJsZV9ub3coKSwiZnVuY3Rpb24iPT10eXBlb2Ygbz9kLmNhbGxiYWNrPW86ZD09PXIocykmJmwocyksayh0KX1lbHNlIGwocyk7ZD1yKHMpfWlmKG51bGwhPT1kKXZhciBpPSEwO2Vsc2V7dmFyIGY9cihjKTtudWxsIT09ZiYmUih3LGYuc3RhcnRUaW1lLXQpLGk9ITF9cmV0dXJuIGl9ZmluYWxseXtkPW51bGwscD1hLG09ITF9fSJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiZ2b2lkIDAhPT1uYXZpZ2F0b3Iuc2NoZWR1bGluZyYmdm9pZCAwIT09bmF2aWdhdG9yLnNjaGVkdWxpbmcuaXNJbnB1dFBlbmRpbmcmJm5hdmlnYXRvci5zY2hlZHVsaW5nLmlzSW5wdXRQZW5kaW5nLmJpbmQobmF2aWdhdG9yLnNjaGVkdWxpbmcpO3ZhciB4LEU9ITEsQz1udWxsLHo9LTEsTj01LF89LTE7ZnVuY3Rpb24gUCgpe3JldHVybiEobi51bnN0YWJsZV9ub3coKS1fPE4pfWZ1bmN0aW9uIFQoKXtpZihudWxsIT09Qyl7dmFyIGU9bi51bnN0YWJsZV9ub3coKTtfPWU7dmFyIHQ9ITA7dHJ5e3Q9QyghMCxlKX1maW5hbGx5e3Q/eCgpOihFPSExLEM9bnVsbCl9fWVsc2UgRT0hMX1pZigiZnVuY3Rpb24iPT10eXBlb2YgYil4PWZ1bmN0aW9uKCl7YihUKX07ZWxzZSBpZigidW5kZWZpbmVkIiE9dHlwZW9mIE1lc3NhZ2VDaGFubmVsKXt2YXIgTD1uZXcgTWVzc2FnZUNoYW5uZWwsTT1MLnBvcnQyO0wucG9ydDEub25tZXNzYWdlPVQseD1mdW5jdGlvbigpe00ucG9zdE1lc3NhZ2UobnVsbCl9fWVsc2UgeD1mdW5jdGlvbigpe3YoVCwwKX07ZnVuY3Rpb24gRihlKXtDPWUsRXx8KEU9ITAseCgpKX1mdW5jdGlvbiBSKGUsdCl7ej12KChmdW5jdGlvbigpe2Uobi51bnN0YWJsZV9ub3coKSl9KSx0KX1uLnVuc3RhYmxlX0lkbGVQcmlvcml0eT01LG4udW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHk9MSxuLnVuc3RhYmxlX0xvd1ByaW9yaXR5PTQsbi51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eT0zLG4udW5zdGFibGVfUHJvZmlsaW5nPW51bGwsbi51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eT0yLApuLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrPWZ1bmN0aW9uKGUpe2UuY2FsbGJhY2s9bnVsbH0sbi51bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbj1mdW5jdGlvbigpe2h8fG18fChoPSEwLEYoUykpfSxuLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlPWZ1bmN0aW9uKGUpezA+ZXx8MTI1PGU/Y29uc29sZS5lcnJvcigiZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsIGZvcmNpbmcgZnJhbWUgcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3Qgc3VwcG9ydGVkIik6Tj0wPGU/TWF0aC5mbG9vcigxZTMvZSk6NX0sbi51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbD1mdW5jdGlvbigpe3JldHVybiBwfSxuLnVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIHIocyl9LG4udW5zdGFibGVfbmV4dD1mdW5jdGlvbihlKXtzd2l0Y2gocCl7Y2FzZSAxOmNhc2UgMjpjYXNlIDM6dmFyIG49MzticmVhaztkZWZhdWx0Om49cH12YXIgdD1wO3A9bjt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e3A9dH19LG4udW5zdGFibGVfcGF1c2VFeGVjdXRpb249ZnVuY3Rpb24oKXt9LG4udW5zdGFibGVfcmVxdWVzdFBhaW50PWZ1bmN0aW9uKCl7fSxuLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eT1mdW5jdGlvbihlLG4pe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6ZT0zfXZhciB0PXA7cD1lO3RyeXtyZXR1cm4gbigpfWZpbmFsbHl7cD10fX0sbi51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrPWZ1bmN0aW9uKGUsbCxhKXt2YXIgdT1uLnVuc3RhYmxlX25vdygpO3N3aXRjaCgib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hP2E9Im51bWJlciI9PXR5cGVvZihhPWEuZGVsYXkpJiYwPGE/dSthOnU6YT11LGUpe2Nhc2UgMTp2YXIgbz0tMTticmVhaztjYXNlIDI6bz0yNTA7YnJlYWs7Y2FzZSA1Om89MTA3Mzc0MTgyMzticmVhaztjYXNlIDQ6bz0xZTQ7YnJlYWs7ZGVmYXVsdDpvPTVlM31yZXR1cm4gZT17aWQ6ZisrLGNhbGxiYWNrOmwscHJpb3JpdHlMZXZlbDplLHN0YXJ0VGltZTphLGV4cGlyYXRpb25UaW1lOm89YStvLHNvcnRJbmRleDotMX0sYT51PyhlLnNvcnRJbmRleD1hLHQoYyxlKSxudWxsPT09cihzKSYmZT09PXIoYykmJihnPyh5KHopLHo9LTEpOmc9ITAsUih3LGEtdSkpKTooZS5zb3J0SW5kZXg9byx0KHMsZSksaHx8bXx8KGg9ITAsRihTKSkpLGV9LG4udW5zdGFibGVfc2hvdWxkWWllbGQ9UCxuLnVuc3RhYmxlX3dyYXBDYWxsYmFjaz1mdW5jdGlvbihlKXt2YXIgbj1wO3JldHVybiBmdW5jdGlvbigpe3ZhciB0PXA7cD1uO3RyeXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZmluYWxseXtwPXR9fX19LDE4MjYxNChlLG4sdCl7ZS5leHBvcnRzPXQoNTA4MjA3KX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/26118.3f4b0e5de045d6bd8295.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.848Z","timestamp":1785141584848,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/26118.3f4b0e5de045d6bd8295.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-f26e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4181b473f26ce0d166cae3a441d79a57\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":62062,"size_decoded":23231,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (7991)","md5":"1df37fb14b509991868640e93d196bed","sha1":"5f505db48850be97fd31188d307c0ca784a40dfa","sha256":"ed0d9ccffe67dd588b5c48ee432f2e2dd44b6cf6cfad2f9758b8301cd0d8520f","sha512":"912b321be9c0a010a1c7329216e9ab2c519ffc0ab565211c1eff82d6a9ad052dd9a608f210d4946ef10e20a2d65e45692b0f2ca44bdb5810354db30cd40ef97d","ssdeep":"768:iDUhaWDzyJMn6lh1lMAf0BokL0ZBWTvf4bAGUvS2w+Ntd87EKEV3GmXEKptPPFb4:iUnZVrXEKtql5suJ+m3SJaIKoCVmG","tlshash":"d1533b907354a29f53d3e1adc63d8496771a60b7b80f4a70b4eacee8116b47ff913908","first_seen":"2026-07-23T14:00:31.462637Z","last_seen":"2026-07-27T12:48:39.742998Z","times_seen":102,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syNjExOF0sezk2OTYzMShlKXtlLmV4cG9ydHM9e2Zhdm9yaXRlOiJmYXZvcml0ZS1Rd0tXU1VtYSIsaG92ZXJlZDoiaG92ZXJlZC1Rd0tXU1VtYSIsZGlzYWJsZWQ6ImRpc2FibGVkLVF3S1dTVW1hIixmb2N1c2VkOiJmb2N1c2VkLVF3S1dTVW1hIixhY3RpdmU6ImFjdGl2ZS1Rd0tXU1VtYSIsY2hlY2tlZDoiY2hlY2tlZC1Rd0tXU1VtYSJ9fSw5MjQ1MDcoZSl7ZS5leHBvcnRzPXsidGFibGV0LW5vcm1hbC1icmVha3BvaW50IjoiKG1heC13aWR0aDogNzY4cHgpIiwic21hbGwtaGVpZ2h0LWJyZWFrcG9pbnQiOiIobWF4LWhlaWdodDogMzYwcHgpIiwidGFibGV0LXNtYWxsLWJyZWFrcG9pbnQiOiIobWF4LXdpZHRoOiA0NDBweCkifX0sMzU0ODEyKGUpe2UuZXhwb3J0cz17aXRlbToiaXRlbS1mU2FUX0RFTSIsbGFiZWw6ImxhYmVsLWZTYVRfREVNIixsYWJlbFJvdzoibGFiZWxSb3ctZlNhVF9ERU0iLHRvb2xib3g6InRvb2xib3gtZlNhVF9ERU0ifX0sNzQwOTQzKGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24tV01wS0tVQ3EiLGhvdmVyZWQ6ImhvdmVyZWQtV01wS0tVQ3EiLGRpc2FibGVkOiJkaXNhYmxlZC1XTXBLS1VDcSIsZm9jdXNlZDoiZm9jdXNlZC1XTXBLS1VDcSIsYWN0aXZlOiJhY3RpdmUtV01wS0tVQ3EiLGhpZGRlbjoiaGlkZGVuLVdNcEtLVUNxIn19LDEzMzY1NihlKXtlLmV4cG9ydHM9e2Zhdm9yaXRlc0ljb25CdXR0b25Ub2dnbGVkOiJmYXZvcml0ZXNJY29uQnV0dG9uVG9nZ2xlZC1ZRlhWSk5FUSIscHJpbWFyeToicHJpbWFyeS1ZRlhWSk5FUSIsc2Vjb25kYXJ5OiJzZWNvbmRhcnktWUZYVkpORVEiLHRlcnRpYXJ5OiJ0ZXJ0aWFyeS1ZRlhWSk5FUSJ9fSw5OTM5OTUoZSl7ZS5leHBvcnRzPXtpY29uQnV0dG9uOiJpY29uQnV0dG9uLUhERFVZT0JJIixzcXVhcmU6InNxdWFyZS1IRERVWU9CSSIscm91bmQ6InJvdW5kLUhERFVZT0JJIixwcmltYXJ5OiJwcmltYXJ5LUhERFVZT0JJIixpY29uOiJpY29uLUhERFVZT0JJIixzZWNvbmRhcnk6InNlY29uZGFyeS1IRERVWU9CSSIsdGVydGlhcnk6InRlcnRpYXJ5LUhERFVZT0JJIiwicHJpbWFyeS1zcGVjaWFsIjoicHJpbWFyeS1zcGVjaWFsLUhERFVZT0JJIn19LDE0NTk4NShlKXtlLmV4cG9ydHM9e2Jsb2NrSWNvbjoiYmxvY2tJY29uLWd2T1FWaVY3In19LDk5NDI4KGUpe2UuZXhwb3J0cz17ZGl2aWRlcjoiZGl2aWRlci1aZF90cXVjRCIsbGluZToibGluZS1aZF90cXVjRCJ9fSw2MjU3MDkoZSl7ZS5leHBvcnRzPXtzbWFsbDoic21hbGwtdFdESUNUYXkiLG1lZGl1bToibWVkaXVtLXRXRElDVGF5IixsYXJnZToibGFyZ2UtdFdESUNUYXkiLHN3aXRjaFZpZXc6InN3aXRjaFZpZXctdFdESUNUYXkiLGNoZWNrZWQ6ImNoZWNrZWQtdFdESUNUYXkiLGRpc2FibGVkOiJkaXNhYmxlZC10V0RJQ1RheSIsdHJhY2s6InRyYWNrLXRXRElDVGF5Iix0aHVtYjoidGh1bWItdFdESUNUYXkifX0sNjg3NTQ3KGUpe2UuZXhwb3J0cz17c3dpdGNoZXI6InN3aXRjaGVyLWwzRHRLTHNMIixpbnB1dDoiaW5wdXQtbDNEdEtMc0wiLHRodW1iV3JhcHBlcjoidGh1bWJXcmFwcGVyLWwzRHRLTHNMIixkaXNhYmxlZDoiZGlzYWJsZWQtbDNEdEtMc0wiLGNoZWNrZWQ6ImNoZWNrZWQtbDNEdEtMc0wifX0sNTcwNDk4KGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24tR2F3cEIwcGYiLGFjdGl2ZToiYWN0aXZlLUdhd3BCMHBmIixmYXZvcml0ZToiZmF2b3JpdGUtR2F3cEIwcGYiLGZpbGxlZDoiZmlsbGVkLUdhd3BCMHBmIn19LDU1MzE0OShlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItSmE3SUdET2ciLGxhYmVsUm93OiJsYWJlbFJvdy1KYTdJR0RPZyIsbGFiZWw6ImxhYmVsLUphN0lHRE9nIixsYWJlbEhpbnQ6ImxhYmVsSGludC1KYTdJR0RPZyIsbGFiZWxPbjoibGFiZWxPbi1KYTdJR0RPZyJ9fSw3MzU0NjIoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLXE1NFR3eUNPIixob3ZlcmVkOiJob3ZlcmVkLXE1NFR3eUNPIixzd2l0Y2hXcmFwOiJzd2l0Y2hXcmFwLXE1NFR3eUNPIix3aXRoSWNvbjoid2l0aEljb24tcTU0VHd5Q08iLGxhYmVsUm93OiJsYWJlbFJvdy1xNTRUd3lDTyIsbGFiZWw6ImxhYmVsLXE1NFR3eUNPIixpY29uOiJpY29uLXE1NFR3eUNPIixsYWJlbF9kaXNhYmxlZDoibGFiZWxfZGlzYWJsZWQtcTU0VHd5Q08iLGxhYmVsSGludDoibGFiZWxIaW50LXE1NFR3eUNPIixsYWJlbE9uOiJsYWJlbE9uLXE1NFR3eUNPIixhY2Nlc3NpYmxlOiJhY2Nlc3NpYmxlLXE1NFR3eUNPIn19LDI3NzA3NihlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLUhkS2hjVHllIixwcmVzc2VkOiJwcmVzc2VkLUhkS2hjVHllIixob3ZlcjoiaG92ZXItSGRLaGNUeWUiLGNsaWNrZWQ6ImNsaWNrZWQtSGRLaGNUeWUiLGlzSW50ZXJhY3RpdmU6ImlzSW50ZXJhY3RpdmUtSGRLaGNUeWUiLGFjY2Vzc2libGU6ImFjY2Vzc2libGUtSGRLaGNUeWUiLGlzR3JvdXBlZDoiaXNHcm91cGVkLUhkS2hjVHllIixpc0FjdGl2ZToiaXNBY3RpdmUtSGRLaGNUeWUiLGlzT3BlbmVkOiJpc09wZW5lZC1IZEtoY1R5ZSIsaXNEaXNhYmxlZDoiaXNEaXNhYmxlZC1IZEtoY1R5ZSIsdGV4dDoidGV4dC1IZEtoY1R5ZSIsaWNvbjoiaWNvbi1IZEtoY1R5ZSIsZW5kSWNvbjoiZW5kSWNvbi1IZEtoY1R5ZSJ9fSwyOTgwODYoZSl7ZS5leHBvcnRzPXtidXR0b246ImJ1dHRvbi1GRHRpRGJ5aiJ9fSw5MTM3NyhlKXtlLmV4cG9ydHM9e2FjdGlvbjoiYWN0aW9uLXltRnU5UUVEIixzaG93T25Ib3Zlcjoic2hvd09uSG92ZXIteW1GdTlRRUQifX0sNTI4MTAxKGUpe2UuZXhwb3J0cz17YmFkZ2VOZXc6ImJhZGdlTmV3LWFfU2FnWlFBIn19LDQyODA5NyhlKXtlLmV4cG9ydHM9e2Vtb2ppOiJlbW9qaS1Cc0VSR2NaMSIsY2xlYXJCdXR0b246ImNsZWFyQnV0dG9uLUJzRVJHY1oxIn19LDQwMjIzKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1tejA4NjZNMiIsaG92ZXJlZDoiaG92ZXJlZC1tejA4NjZNMiJ9fSw2ODQ3MzcoZSx0LG4pewoidXNlIHN0cmljdCI7bi5kKHQse1JlbW92ZVRpdGxlVHlwZTooKT0+YSxyZW1vdmVUaXRsZXNNYXA6KCk9PnJ9KTt2YXIgYSxvPW4oNzgzMjU0KTshZnVuY3Rpb24oZSl7ZS5BZGQ9ImFkZCIsZS5SZW1vdmU9InJlbW92ZSJ9KGF8fChhPXt9KSk7Y29uc3Qgcj17W2EuQWRkXTpvLnQobnVsbCx2b2lkIDAsbig5OTUyOSkpLFthLlJlbW92ZV06by50KG51bGwsdm9pZCAwLG4oNjk0MjA5KSl9fSwzNTcyNjIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RmF2b3JpdGVCdXR0b246KCk9PnV9KTt2YXIgYT1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscj1uLm4obyksaT1uKDI3MzMxMCksbD1uKDY4NDczNykscz1uKDk1Mzc0KSxjPW4oNjk2NDMpLGQ9big4MjY5NzgpLG09big5Njk2MzEpO2Z1bmN0aW9uIHUoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsaXNGaWxsZWQ6bixpc0FjdGl2ZTpvLG9uQ2xpY2s6dSx0aXRsZTpoLC4uLnZ9PWUsW3AsZl09KDAscy51c2VBY3RpdmVEZXNjZW5kYW50KShudWxsKSxnPWg/PyhuP2wucmVtb3ZlVGl0bGVzTWFwW2wuUmVtb3ZlVGl0bGVUeXBlLlJlbW92ZV06bC5yZW1vdmVUaXRsZXNNYXBbbC5SZW1vdmVUaXRsZVR5cGUuQWRkXSk7cmV0dXJuKDAsYS51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9cC5jdXJyZW50O2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmZyYmZS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY29tbW9uLXRvb2x0aXAtdXBkYXRlIikpfSksW2cscF0pLGEuY3JlYXRlRWxlbWVudChpLkljb24sey4uLnYsY2xhc3NOYW1lOnIoKShtLmZhdm9yaXRlLCJhcHBseS1jb21tb24tdG9vbHRpcCIsbiYmbS5jaGVja2VkLG8mJm0uYWN0aXZlLGYmJm0uZm9jdXNlZCx0KSxvbkNsaWNrOnUsaWNvbjpuP2M6ZCx0aXRsZTpnLGFyaWFMYWJlbDpnLHJlZjpwfSl9fSw5NTM3NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VBY3RpdmVEZXNjZW5kYW50OigpPT5yfSk7dmFyIGE9big3Nzk0NzQpLG89big3ODc4OTUpO2Z1bmN0aW9uIHIoZSx0PVtdKXtjb25zdFtuLHJdPSgwLGEudXNlU3RhdGUpKCExKSxpPSgwLG8udXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoZSk7cmV0dXJuKDAsYS51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9aS5jdXJyZW50O2lmKG51bGw9PT1lKXJldHVybjtjb25zdCB0PWU9Pntzd2l0Y2goZS50eXBlKXtjYXNlImFjdGl2ZS1kZXNjZW5kYW50LWZvY3VzIjpyKCEwKTticmVhaztjYXNlImFjdGl2ZS1kZXNjZW5kYW50LWJsdXIiOnIoITEpfX07cmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtZm9jdXMiLHQpLGUuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtYmx1ciIsdCksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFjdGl2ZS1kZXNjZW5kYW50LWZvY3VzIix0KSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFjdGl2ZS1kZXNjZW5kYW50LWJsdXIiLHQpfX0pLHQpLFtpLG5dfX0sNjA5NTI4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RpYWxvZ0JyZWFrcG9pbnRzOigpPT5vfSk7dmFyIGE9big5MjQ1MDcpO2NvbnN0IG89e1NtYWxsSGVpZ2h0OmFbInNtYWxsLWhlaWdodC1icmVha3BvaW50Il0sVGFibGV0U21hbGw6YVsidGFibGV0LXNtYWxsLWJyZWFrcG9pbnQiXSxUYWJsZXROb3JtYWw6YVsidGFibGV0LW5vcm1hbC1icmVha3BvaW50Il19fSwzOTE1MDQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bXVsdGlsaW5lTGFiZWxXaXRoSWNvbkFuZFRvb2xib3hUaGVtZTooKT0+aX0pO3ZhciBhPW4oMzg3MjMxKSxvPW4oNDcwMjk1KSxyPW4oMzU0ODEyKTtjb25zdCBpPSgwLGEubWVyZ2VUaGVtZXMpKG8scil9LDU0NTQyMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtSZW1vdmVCdXR0b246KCk9Pm19KTt2YXIgYT1uKDc4MzI1NCksbz1uKDc3OTQ3NCkscj1uKDkxNDQ4NyksaT1uLm4ociksbD1uKDI3MzMxMCkscz1uKDk1Mzc0KSxjPW4oNDg5MDU5KSxkPW4oNzQwOTQzKTtmdW5jdGlvbiBtKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGlzQWN0aXZlOnIsb25DbGljazptLG9uTW91c2VEb3duOnUsdGl0bGU6aCxoaWRkZW46diwiZGF0YS1uYW1lIjpwPSJyZW1vdmUtYnV0dG9uIixpY29uOmYsLi4uZ309ZSxbdyxiXT0oMCxzLnVzZUFjdGl2ZURlc2NlbmRhbnQpKG51bGwpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQobC5JY29uLHsuLi5nLCJkYXRhLW5hbWUiOnAsY2xhc3NOYW1lOmkoKShkLmJ1dHRvbiwiYXBwbHktY29tbW9uLXRvb2x0aXAiLHImJmQuYWN0aXZlLHYmJmQuaGlkZGVuLGImJmQuZm9jdXNlZCx0KSxpY29uOmZ8fGMsb25DbGljazptLG9uTW91c2VEb3duOnUsdGl0bGU6aD8/YS50KG51bGwsdm9pZCAwLG4oOTExMjYpKSxhcmlhTGFiZWw6aD8/YS50KG51bGwsdm9pZCAwLG4oOTExMjYpKSxyZWY6d30pfX0sNzE5NzM3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0Zhdm9yaXRlSWNvbkJ1dHRvbjooKT0+d30pO3ZhciBhPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxyPW4ubihvKSxpPW4oNzgzMjU0KSxsPW4oMzMyNjg3KSxzPW4oNzI5MjUwKSxjPW4oMzQ1MTE2KSxkPW4oNTk5NzUpLG09bi5uKGQpLHU9bigyMzA2ODYpLGg9bi5uKHUpLHY9bigxMzM2NTYpLHA9bi5uKHYpO2NvbnN0IGY9bSgpLGc9aCgpLHc9KDAsYS5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdCBvPSgwLGEudXNlQ29udGV4dCkobC5JY29uQnV0dG9uVmFyaWFudENvbnRleHQpLHtpc0Zhdm9yaXRlOmQsb25DaGFuZ2VJc0Zhdm9yaXRlOm0sc2hhcGU6dSx2YXJpYW50Omg9by52YXJpYW50Pz8icHJpbWFyeSIsdGFiSW5kZXg6dixkYXRhUWFJZDp3LHJvbGU6YiwuLi55fT1lLEU9KDAsYy5maWx0ZXJDaGVja2VkRGF0YVByb3BzKSh5KTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KHMuVG9nZ2xlYWJsZUljb25CdXR0b24se3RvZ2dsZWRJY29uOmYsdW50b2dnbGVkSWNvbjpnLHRvZ2dsZWRDb2xvckNsYXNzTmFtZTpyKCkocCgpLmZhdm9yaXRlc0ljb25CdXR0b25Ub2dnbGVkLHAoKVtoXSksaXNUb2dnbGVkOmQsb25Ub2dnbGU6bSwKdW50b2dnbGVkVGl0bGU6aS50KG51bGwsdm9pZCAwLG4oOTk1MjkpKSx0b2dnbGVkVGl0bGU6aS50KG51bGwsdm9pZCAwLG4oNjk0MjA5KSksc2hhcGU6dSx2YXJpYW50OmgsdGFiSW5kZXg6dixkYXRhUWFJZDp3LHJlZjp0LHJvbGU6YiwuLi5FfSl9KSl9LDIzNDYzNihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciBhO24uZCh0LHtCYWRnZVNpemU6KCk9PmF9KSxmdW5jdGlvbihlKXtlLlhTbWFsbD0ieHNtYWxsIixlLlNtYWxsPSJzbWFsbCIsZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UiLGUuWExhcmdlPSJ4bGFyZ2UifShhfHwoYT17fSkpfSwyNjQzMTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q2xpY2thYmxlSWNvbkJ1dHRvbjooKT0+bX0pO3ZhciBhPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxyPW4ubihvKSxpPW4oMzMyNjg3KSxsPW4oMjE3Mjc0KSxzPW4oMzQ1MTE2KSxjPW4oOTkzOTk1KSxkPW4ubihjKTtjb25zdCBtPSgwLGEuZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3Qgbj0oMCxhLnVzZUNvbnRleHQpKGkuSWNvbkJ1dHRvblZhcmlhbnRDb250ZXh0KS52YXJpYW50LHt0aXRsZTpvLG9uQ2xpY2s6Yyxjb2xvckNsYXNzTmFtZTptLGljb246dSx2YXJpYW50Omg9bj8/aS5ERUZBVUxUX0lDT05fQlVUVE9OX1ZBUklBTlQsc2hhcGU6dj0ic3F1YXJlIix0YWJJbmRleDpwLHJvbGU6ZixkYXRhUWFJZDpnLC4uLnd9PWUsYj0oMCxzLmZpbHRlckNoZWNrZWREYXRhUHJvcHMpKHcsZyk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7cmVmOnQsdGl0bGU6byx0eXBlOiJidXR0b24iLHJvbGU6ZiwiYXJpYS1sYWJlbCI6byxvbkNsaWNrOmMsdGFiSW5kZXg6cCxjbGFzc05hbWU6cigpKGQoKS5pY29uQnV0dG9uLGQoKVtoXSxkKClbdl0sbSwiYXBwbHktY29tbW9uLXRvb2x0aXAiKSwuLi5ifSxhLmNyZWF0ZUVsZW1lbnQobC5CbG9ja0ljb24se2ljb246dSxjbGFzc05hbWU6ZCgpLmljb24sImFyaWEtaGlkZGVuIjoidHJ1ZSJ9KSl9KSl9LDcyOTI1MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb2dnbGVhYmxlSWNvbkJ1dHRvbjooKT0+aX0pO3ZhciBhPW4oNzc5NDc0KSxvPW4oMjY0MzE4KSxyPW4oMzQ1MTE2KTtjb25zdCBpPSgwLGEuZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7b25Ub2dnbGU6bixpc1RvZ2dsZWQ6aSx0b2dnbGVkVGl0bGU6bCx0b2dnbGVkSWNvbjpzLHRvZ2dsZWRDb2xvckNsYXNzTmFtZTpjLHVudG9nZ2xlZFRpdGxlOmQsdW50b2dnbGVkSWNvbjptLHVudG9nZ2xlZENvbG9yQ2xhc3NOYW1lOnUsdmFyaWFudDpoLHNoYXBlOnYsZGF0YVFhSWQ6cCx0YWJJbmRleDpmLHJvbGU6ZywuLi53fT1lLGI9KDAsci5maWx0ZXJDaGVja2VkRGF0YVByb3BzKSh3KTtsZXQgeSxFLFQ7cmV0dXJuIGk/KFQ9bCx5PXMsRT1jKTooVD1kLHk9bSxFPXUpLGEuY3JlYXRlRWxlbWVudChvLkNsaWNrYWJsZUljb25CdXR0b24se3RpdGxlOlQsaWNvbjp5LG9uQ2xpY2s6KCk9Pm4oIWkpLGNvbG9yQ2xhc3NOYW1lOkUsdmFyaWFudDpoLHNoYXBlOnYscmVmOnQsZGF0YVFhSWQ6cCx0YWJJbmRleDpmLHJvbGU6ZywuLi5ifSl9KSl9LDIxNzI3NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtCbG9ja0ljb246KCk9PmN9KTt2YXIgYT1uKDkxNDQ4Nyksbz1uLm4oYSkscj1uKDc3OTQ3NCksaT1uKDk0ODQ1MCksbD1uKDE0NTk4NSkscz1uLm4obCk7Y29uc3QgYz1yLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOm4saWNvbjphLGFyaWFMYWJlbDpsLGFyaWFMYWJlbGxlZGJ5OmMsdGl0bGU6ZCwuLi5tfT1lLHU9bTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KGkuQ29tbW9uSWNvbix7Y2xhc3NOYW1lOm8oKShuLHMoKS5ibG9ja0ljb24pLHJlZjp0LGljb246YSxhcmlhTGFiZWw6bCxhcmlhTGFiZWxsZWRieTpjLHRpdGxlOmQsLi4udX0pfSkpfSw3MzI3MzEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RGl2aWRlckxpc3RJdGVtOigpPT5pfSk7dmFyIGE9big3Nzk0NzQpLG89big5OTQyOCkscj1uLm4obyk7ZnVuY3Rpb24gaShlKXtjb25zdHtyb2xlOnR9PWU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKS5kaXZpZGVyLHJvbGU6dH0sYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6cigpLmxpbmV9KSl9fSwzMDgyMTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3dpdGNoVmlldzooKT0+Y30pO3ZhciBhLG89big3Nzk0NzQpLHI9big5MTQ0ODcpLGk9bi5uKHIpLGw9big2MjU3MDkpLHM9bi5uKGwpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7c2l6ZTp0PSJzbWFsbCIsY2hlY2tlZDpuLGRpc2FibGVkOmF9PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTppKCkocygpLnN3aXRjaFZpZXcscygpW3RdLGEmJnMoKS5kaXNhYmxlZCxuJiZzKCkuY2hlY2tlZCl9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkudHJhY2t9KSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpLnRodW1ifSkpfSFmdW5jdGlvbihlKXtlLlNtYWxsPSJzbWFsbCIsZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UifShhfHwoYT17fSkpfSwxMjgzMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTd2l0Y2g6KCk9PnV9KTt2YXIgYSxvPW4oNzc5NDc0KSxyPW4oOTE0NDg3KSxpPW4ubihyKSxsPW4oMzA5OTIwKSxzPW4oMzA4MjE2KSxjPW4oMjM1NzI0KSxkPW4oNjg3NTQ3KSxtPW4ubihkKTtmdW5jdGlvbiB1KGUpe2NvbnN0IHQ9KDAsby51c2VDb250ZXh0KShsLkN1c3RvbUJlaGF2aW91ckNvbnRleHQpLHtzaXplOm4saW50ZW50OmE9ImRlZmF1bHQiLGNoZWNrZWQ6cixjbGFzc05hbWU6ZCxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczp1PXQuZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXMsZGlzYWJsZWQ6aCxvbkNoYW5nZTp2LHRpdGxlOnAsaWQ6ZixuYW1lOmcsdmFsdWU6dyx0YWJJbmRleDpiLHJvbGU6eT0ic3dpdGNoIixhcmlhRGlzYWJsZWQ6RSxyZWZlcmVuY2U6VCxhcmlhTGFiZWxsZWRCeTp4LGFyaWFMYWJlbDpJLC4uLkN9PWUKO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6aSgpKGQsbSgpLnN3aXRjaGVyKX0sby5jcmVhdGVFbGVtZW50KCJpbnB1dCIsey4uLkMsdHlwZToiY2hlY2tib3giLGNsYXNzTmFtZTppKCkobSgpLmlucHV0LHUmJm0oKS5hY3RpdmVTdHlsZXNFbmFibGVkLHImJm0oKS5jaGVja2VkLGgmJm0oKS5kaXNhYmxlZCkscm9sZTp5LCJhcmlhLWNoZWNrZWQiOnIsY2hlY2tlZDpyLG9uS2V5RG93bjplPT57MTM9PT0oMCxjLmhhc2hGcm9tRXZlbnQpKGUpJiZlLmN1cnJlbnRUYXJnZXQ/LmNsaWNrKCl9LG9uQ2hhbmdlOnYsZGlzYWJsZWQ6aCwiYXJpYS1kaXNhYmxlZCI6RSx0YWJJbmRleDpiLHRpdGxlOnAsaWQ6ZixuYW1lOmcsdmFsdWU6dyxyZWY6VCwiYXJpYS1sYWJlbCI6SSwiYXJpYS1sYWJlbGxlZGJ5Ijp4fSksby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmkoKShtKCkudGh1bWJXcmFwcGVyLG0oKVthXSl9LG8uY3JlYXRlRWxlbWVudChzLlN3aXRjaFZpZXcse2NoZWNrZWQ6cixzaXplOm4sZGlzYWJsZWQ6aH0pKSl9IWZ1bmN0aW9uKGUpe2UuRGVmYXVsdD0iZGVmYXVsdCIsZS5TZWxlY3Q9InNlbGVjdCJ9KGF8fChhPXt9KSl9LDY1OTM2NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtiaW5kU2NyZWVuc2hvdDooKT0+aH0pO3ZhciBhPW4oMTg1MjcxKSxvPW4oNzc5NDc0KSxyPW4oMjIxODk2KSxpPW4oNTY5NjUyKSxsPW4oNzU0MjQ2KSxzPW4oODI2MTU2KSxjPW4oMzQ0MTAzKTtjb25zdCBkPW5ldyBzLkRhdGVUaW1lRm9ybWF0dGVyKHtkYXRlVGltZVNlcGFyYXRvcjoiXyIsdGltZUZvcm1hdDoiJWgtJW0tJXMifSksbT17dGFrZVNuYXBzaG90OmEudChudWxsLHZvaWQgMCxuKDIwNzM3MSkpfSx1PSgwLGkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtmdW5jdGlvbiBoKGUpe3ZhciB0O3JldHVybih0PWNsYXNzIGV4dGVuZHMgby5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9jbGllbnRTbmFwc2hvdD1hc3luYygpPT57Y29uc3QgZT10aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCkubW9kZWwoKS5tYWluU2VyaWVzKCkuYWN0dWFsU3ltYm9sKCk7cmV0dXJue2NhbnZhczphd2FpdCB0aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmNsaWVudFNuYXBzaG90KCksbmFtZTpgJHsoMCxjLnNob3J0TmFtZSkoZSl9XyR7ZC5mb3JtYXRMb2NhbChuZXcgRGF0ZSl9YH19LHRoaXMuX3NlcnZlclNuYXBzaG90PWFzeW5jKCk9Pntjb25zdCBlPXRoaXMuY29udGV4dC5jaGFydFdpZGdldENvbGxlY3Rpb24uYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKS5tb2RlbCgpLm1haW5TZXJpZXMoKS5hY3R1YWxTeW1ib2woKSx0PWF3YWl0IHRoaXMuY29udGV4dC5jaGFydFdpZGdldENvbGxlY3Rpb24udGFrZVNjcmVlbnNob3QoKSxuPSgwLGwuY29udmVydEltYWdlTmFtZVRvVXJsKSh0KTtyZXR1cm57c3ltYm9sOigwLGMuc2hvcnROYW1lKShlKSxpbWFnZVVybDpufX0sKDAsaS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtjaGFydFdpZGdldENvbGxlY3Rpb246ci5hbnkuaXNSZXF1aXJlZH0pfXJlbmRlcigpe2NvbnN0e2NsYXNzTmFtZTp0LGlkOm59PXRoaXMucHJvcHM7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChlLHtpZDpuLGNsYXNzTmFtZTp0LHRvb2x0aXA6bS50YWtlU25hcHNob3Qsc2VydmVyU25hcHNob3Q6dGhpcy5fc2VydmVyU25hcHNob3QsY2xpZW50U25hcHNob3Q6dGhpcy5fY2xpZW50U25hcHNob3Qsc25hcHNob3RVcmw6dGhpcy5jb250ZXh0LnNuYXBzaG90VXJsfSl9fSkuY29udGV4dFR5cGU9dSx0fX0sODYxMTg4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2ZvY3VzRmlyc3RNZW51SXRlbTooKT0+ZCxoYW5kbGVBY2Nlc3NpYmxlTWVudUZvY3VzOigpPT5zLGhhbmRsZUFjY2Vzc2libGVNZW51S2V5RG93bjooKT0+YyxxdWVyeU1lbnVFbGVtZW50czooKT0+aH0pO3ZhciBhPW4oOTgzNjE2KSxvPW4oMzI5NjY4KSxyPW4oMjM1NzI0KSxpPW4oNjgyMzgxKTtjb25zdCBsPVszNywzOSwzOCw0MF07ZnVuY3Rpb24gcyhlLHQpe2lmKCFlLnRhcmdldClyZXR1cm47Y29uc3Qgbj1lLnJlbGF0ZWRUYXJnZXQ/LmdldEF0dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50Iik7aWYoZS5yZWxhdGVkVGFyZ2V0IT09dC5jdXJyZW50KXtjb25zdCBlPW4mJmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG4pO2lmKCFlfHxlIT09dC5jdXJyZW50KXJldHVybn1kKGUudGFyZ2V0KX1mdW5jdGlvbiBjKGUpe2lmKGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47Y29uc3QgdD0oMCxyLmhhc2hGcm9tRXZlbnQpKGUpO2lmKCFsLmluY2x1ZGVzKHQpKXJldHVybjtjb25zdCBuPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7aWYoIShkb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKXJldHVybjtjb25zdCBpPWgoZS5jdXJyZW50VGFyZ2V0KS5zb3J0KGEubmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvcik7aWYoMD09PWkubGVuZ3RoKXJldHVybjtjb25zdCBzPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuY2xvc2VzdCgnW2RhdGEtcm9sZT0ibWVudWl0ZW0iXScpfHxkb2N1bWVudC5hY3RpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXJvbGU9Im1lbnVpdGVtIl0nKTtpZighKHMgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpcmV0dXJuO2NvbnN0IGM9aS5pbmRleE9mKHMpO2lmKC0xPT09YylyZXR1cm47Y29uc3QgZD12KHMpLHA9ZC5pbmRleE9mKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpLGY9LTEhPT1wLGc9ZT0+e24mJigwLG8uYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkobiksKDAsby5iZWNvbWVNYWluRWxlbWVudCkoZSksZS5mb2N1cygpfTtzd2l0Y2goKDAsYS5tYXBLZXlDb2RlVG9EaXJlY3Rpb24pKHQpKXtjYXNlImlubGluZVByZXYiOmlmKCFkLmxlbmd0aClyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpLGcoMD09PXA/aVtjXTpmP20oZCxwLC0xKTpkW2QubGVuZ3RoLTFdKTticmVhaztjYXNlImlubGluZU5leHQiOgppZighZC5sZW5ndGgpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSxwPT09ZC5sZW5ndGgtMT9nKGlbY10pOmcoZj9tKGQscCwxKTpkWzBdKTticmVhaztjYXNlImJsb2NrUHJldiI6e2UucHJldmVudERlZmF1bHQoKTtjb25zdCB0PW0oaSxjLC0xKTtpZihmKXtjb25zdCBlPXUodCxwKTtnKGV8fHQpO2JyZWFrfWcodCk7YnJlYWt9Y2FzZSJibG9ja05leHQiOntlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgdD1tKGksYywxKTtpZihmKXtjb25zdCBlPXUodCxwKTtnKGV8fHQpO2JyZWFrfWcodCl9fX1mdW5jdGlvbiBkKGUpe2NvbnN0W3RdPWgoZSk7dCYmKCgwLG8uYmVjb21lTWFpbkVsZW1lbnQpKHQpLHQuZm9jdXMoKSl9ZnVuY3Rpb24gbShlLHQsbil7cmV0dXJuIGVbKHQrZS5sZW5ndGgrbiklZS5sZW5ndGhdfWZ1bmN0aW9uIHUoZSx0KXtjb25zdCBuPXYoZSk7cmV0dXJuIG4ubGVuZ3RoP25bKHQrbi5sZW5ndGgpJW4ubGVuZ3RoXTpudWxsfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIEFycmF5LmZyb20oZS5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1yb2xlPSJtZW51aXRlbSJdOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKScpKS5maWx0ZXIoKDAsaS5jcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcikoZSkpfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIEFycmF5LmZyb20oZS5xdWVyeVNlbGVjdG9yQWxsKCdbdGFiaW5kZXhdOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKScpKS5maWx0ZXIoKDAsaS5jcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcikoZSkpfX0sNjE5MTA1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse01lbnVGYXZvcml0ZUJ1dHRvbjooKT0+ZH0pO3ZhciBhPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxyPW4ubihvKSxpPW4oMTgyMzA4KSxsPW4oMzU3MjYyKSxzPW4oNjg0NzM3KSxjPW4oNTcwNDk4KTtmdW5jdGlvbiBkKGUpe2NvbnN0e29uQ2xpY2s6dCxpc0ZpbGxlZDpuLGlzQWN0aXZlOm8sY2xhc3NOYW1lOmQsY29sb3JUeXBlOm09ImxlZ2FjeSIsLi4udX09ZSxbaCx2XT0oMCxpLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkobnVsbCkscD1uP3MucmVtb3ZlVGl0bGVzTWFwW3MuUmVtb3ZlVGl0bGVUeXBlLlJlbW92ZV06cy5yZW1vdmVUaXRsZXNNYXBbcy5SZW1vdmVUaXRsZVR5cGUuQWRkXTtyZXR1cm4oMCxhLnVzZUxheW91dEVmZmVjdCkoKCgpPT57Y29uc3QgZT1oLmN1cnJlbnQ7ZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb21tb24tdG9vbHRpcC11cGRhdGUiKSl9KSxbcCxoXSksYS5jcmVhdGVFbGVtZW50KCJidXR0b24iLHtyZWY6aCx0YWJJbmRleDp2LG9uQ2xpY2s6dCxjbGFzc05hbWU6cigpKGMuYnV0dG9uLG8mJmMuYWN0aXZlLGQsImFwcGx5LWNvbW1vbi10b29sdGlwIiksdHlwZToiYnV0dG9uIiwiYXJpYS1sYWJlbCI6cCwiZGF0YS10b29sdGlwIjpwLCJkYXRhLXFhLWlkIjoicHJlc2V0LW1lbnUtZmF2b3JpdGUtYnV0dG9uIn0sYS5jcmVhdGVFbGVtZW50KGwuRmF2b3JpdGVCdXR0b24sey4uLnUsaXNGaWxsZWQ6bixpc0FjdGl2ZTpvLHRpdGxlOiIiLGNsYXNzTmFtZTpyKCkoYy5mYXZvcml0ZSwibmV3Ij09PW0mJm4mJmMuZmlsbGVkLG8mJmMuYWN0aXZlKX0pKX19LDI1NTMyOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtERUZBVUxUX01FTlVfSVRFTV9TV0lUQ0hFUl9USEVNRTooKT0+dSxNZW51SXRlbVN3aXRjaGVyOigpPT5ofSk7dmFyIGE9big3Nzk0NzQpLG89big5MTQ0ODcpLHI9bi5uKG8pLGk9bigxMjgzMiksbD1uKDI3MzMxMCkscz1uKDIzNTcyNCksYz1uKDE4MjMwOCksZD1uKDM0NTExNiksbT1uKDczNTQ2Mik7Y29uc3QgdT1tO2Z1bmN0aW9uIGgoZSl7Y29uc3R7cm9sZTp0LGNoZWNrZWQ6bixvbkNoYW5nZTpvLGNsYXNzTmFtZTp1LGlkOmgsbGFiZWw6dixsYWJlbERlc2NyaXB0aW9uOnAscHJldmVudExhYmVsSGlnaGxpZ2h0OmYsdmFsdWU6ZyxyZWZlcmVuY2U6dyxzd2l0Y2hSZWZlcmVuY2U6Yix0aGVtZTp5PW0sZGlzYWJsZWQ6RSxzd2l0Y2hSb2xlOlQsaWNvbjp4fT1lLFtJLENdPSgwLGMudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KShudWxsKSxTPXIoKSh5LmxhYmVsLG4mJiFmJiZ5LmxhYmVsT24sRSYmbS5sYWJlbF9kaXNhYmxlZCksaz1yKCkodSx5LndyYXBwZXIsbiYmeS53cmFwcGVyV2l0aE9uTGFiZWwscCYmeS53cmFwcGVyV2l0aERlc2NyaXB0aW9uKTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KCJsYWJlbCIse3JvbGU6dCxjbGFzc05hbWU6cigpKGsseCYmeS53aXRoSWNvbixtLmFjY2Vzc2libGUpLGh0bWxGb3I6aCxyZWY6dyxvbktleURvd246ZnVuY3Rpb24oZSl7aWYoZS50YXJnZXQhPT1lLmN1cnJlbnRUYXJnZXQpcmV0dXJuO2NvbnN0IHQ9KDAscy5oYXNoRnJvbUV2ZW50KShlKTsxMyE9PXQmJjMyIT09dHx8KGUucHJldmVudERlZmF1bHQoKSxJLmN1cnJlbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmSS5jdXJyZW50LmNsaWNrKCkpfSx0YWJJbmRleDpDLCJkYXRhLXJvbGUiOiJtZW51aXRlbSIsImFyaWEtZGlzYWJsZWQiOkV8fHZvaWQgMCwiYXJpYS1zZWxlY3RlZCI6bn0sdm9pZCAwIT09eCYmYS5jcmVhdGVFbGVtZW50KGwuSWNvbix7Y2xhc3NOYW1lOnkuaWNvbixpY29uOnh9KSxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp5LmxhYmVsUm93fSxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpTfSx2KSxwJiZhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp5LmxhYmVsSGludH0scCkpLGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOm0uc3dpdGNoV3JhcH0sYS5jcmVhdGVFbGVtZW50KGkuU3dpdGNoLHtkaXNhYmxlZDpFLGNsYXNzTmFtZTp5LnN3aXRjaCxyZWZlcmVuY2U6ZnVuY3Rpb24oZSl7SShlKSxiPy4oZSl9LGNoZWNrZWQ6bixvbkNoYW5nZTpmdW5jdGlvbihlKXtjb25zdCB0PWUudGFyZ2V0LmNoZWNrZWQ7dm9pZCAwIT09byYmbyh0KX0sdmFsdWU6Zyx0YWJJbmRleDotMSxpZDpoLHJvbGU6VCxhcmlhRGlzYWJsZWQ6ITAsCi4uLigwLGQuZmlsdGVyRGF0YVByb3BzKShlKX0pKSl9fSwzNzQzMDQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bWVudUl0ZW1Td2l0Y2hlck1vYmlsZVRoZW1lOigpPT5pfSk7dmFyIGE9bigzODcyMzEpLG89bigyNTUzMjkpLHI9big1NTMxNDkpO2NvbnN0IGk9KDAsYS5tZXJnZVRoZW1lcykoby5ERUZBVUxUX01FTlVfSVRFTV9TV0lUQ0hFUl9USEVNRSxyKX0sOTk1NzE5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RFRkFVTFRfVE9PTF9XSURHRVRfQlVUVE9OX1RIRU1FOigpPT5zLFRvb2xXaWRnZXRCdXR0b246KCk9PmN9KTt2YXIgYT1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscj1uLm4obyksaT1uKDI3MzMxMCksbD1uKDI3NzA3Nik7Y29uc3Qgcz1sLGM9YS5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e3RhZzpuPSJkaXYiLGljb246byxlbmRJY29uOnMsaXNBY3RpdmU6Yyxpc09wZW5lZDpkLGlzRGlzYWJsZWQ6bSxpc0Rpc2FibGVkQXBwZWFyYW5jZTp1LGlzRGlzYWJsZUludGVyYWN0aW9uOmgsaXNHcm91cGVkOnYsaXNIb3ZlcmVkOnAsaXNDbGlja2VkOmYsb25DbGljazpnLHRleHQ6dyx0ZXh0QmVmb3JlSWNvbjpiLHRpdGxlOnksdGhlbWU6RT1sLGNsYXNzTmFtZTpULGZvcmNlSW50ZXJhY3RpdmU6eCwiZGF0YS1uYW1lIjpJLCJkYXRhLXRvb2x0aXAiOkMsdG9vbHRpcFBvc2l0aW9uOlMsY2hpbGRyZW46ayxpc1ByZXNzZWQ6XywuLi5NfT1lLE49cigpKFQsRS5idXR0b24seyJhcHBseS1jb21tb24tdG9vbHRpcCI6Qm9vbGVhbih5fHxDKSwiY29tbW9uLXRvb2x0aXAtdmVydGljYWwiOkJvb2xlYW4oQykmJiJ2ZXJ0aWNhbCI9PT1TLFtFLmlzQWN0aXZlXTpjLFtFLmlzT3BlbmVkXTpkLFtFLmlzSW50ZXJhY3RpdmVdOih4fHxCb29sZWFuKGcpKSYmIW0mJiF1LFtFLmlzRGlzYWJsZWRdOkJvb2xlYW4obXx8dSksW0UuaXNHcm91cGVkXTp2LFtFLmhvdmVyXTpwLFtFLmNsaWNrZWRdOmYsW0UucHJlc3NlZF06X30pLHo9byYmKCJzdHJpbmciPT10eXBlb2Ygbz9hLmNyZWF0ZUVsZW1lbnQoaS5JY29uLHtjbGFzc05hbWU6RS5pY29uLGljb246b30pOmEuY2xvbmVFbGVtZW50KG8se2NsYXNzTmFtZTpyKCkoRS5pY29uLG8ucHJvcHMuY2xhc3NOYW1lKX0pKTtyZXR1cm4iYnV0dG9uIj09PW4/YS5jcmVhdGVFbGVtZW50KCJidXR0b24iLHsuLi5NLHJlZjp0LHR5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOnIoKShOLEUuYWNjZXNzaWJsZSksZGlzYWJsZWQ6bSYmIXV8fGgsb25DbGljazpnLHRpdGxlOnksImRhdGEtbmFtZSI6SSwiZGF0YS10b29sdGlwIjpDfSxiJiZ3JiZhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkoImpzLWJ1dHRvbi10ZXh0IixFLnRleHQpfSx3KSx6LCFiJiZ3JiZhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkoImpzLWJ1dHRvbi10ZXh0IixFLnRleHQpfSx3KSxrKTphLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLk0scmVmOnQsImRhdGEtcm9sZSI6ImJ1dHRvbiIsY2xhc3NOYW1lOk4sb25DbGljazptfHxoP3ZvaWQgMDpnLHRpdGxlOnksImRhdGEtbmFtZSI6SSwiZGF0YS10b29sdGlwIjpDfSxiJiZ3JiZhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkoImpzLWJ1dHRvbi10ZXh0IixFLnRleHQpfSx3KSx6LCFiJiZ3JiZhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkoImpzLWJ1dHRvbi10ZXh0IixFLnRleHQpfSx3KSxzJiZhLmNyZWF0ZUVsZW1lbnQoaS5JY29uLHtpY29uOnMsY2xhc3NOYW1lOmwuZW5kSWNvbn0pLGspfSkpfSw0MDg0MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sV2lkZ2V0SWNvbkJ1dHRvbjooKT0+c30pO3ZhciBhPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxyPW4ubihvKSxpPW4oOTk1NzE5KSxsPW4oMjk4MDg2KTtjb25zdCBzPWEuZm9yd2FyZFJlZigoZnVuY3Rpb24oZSx0KXtjb25zdHtjbGFzc05hbWU6bixpZDpvLC4uLnN9PWU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChpLlRvb2xXaWRnZXRCdXR0b24se2lkOm8sImRhdGEtbmFtZSI6bywuLi5zLHJlZjp0LGNsYXNzTmFtZTpyKCkobixsLmJ1dHRvbil9KX0pKX0sMTAzMTYwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvbnRleHRBY3Rpb246KCk9PmN9KTt2YXIgYT1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscj1uLm4obyksaT1uKDk4ODA2OCksbD1uKDkxMzc3KTtjb25zdCBzPXtbaS5EQVRBX0lTX0NPTlRFWFRfQUNUSU9OXTohMH07ZnVuY3Rpb24gYyhlKXtjb25zdHtjaGlsZHJlbjp0LGNsYXNzTmFtZTpuLGhpZGVJZk5vSG92ZXI6bywuLi5pfT1lO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsuLi5pLC4uLnMsY2xhc3NOYW1lOnIoKShsLmFjdGlvbixvJiZsLnNob3dPbkhvdmVyLG4pLG9uQ2xpY2s6ZT0+e2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpfX0sdCl9fSw5Nzk3NDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RmF2b3JpdGVJY29uQnV0dG9uOigpPT5pfSk7dmFyIGE9big3Nzk0NzQpLG89big3MTk3MzcpLHI9bigxODIzMDgpO2Z1bmN0aW9uIGkoZSl7Y29uc3R7aXNGYXZvcml0ZTp0LG9uQ2xpY2s6bn09ZSxbaSxsXT0oMCxyLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkobnVsbCk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChvLkZhdm9yaXRlSWNvbkJ1dHRvbix7cmVmOmkscm9sZToiYnV0dG9uIix0YWJJbmRleDpsLGlzRmF2b3JpdGU6dCxvbkNoYW5nZUlzRmF2b3JpdGU6KCk9Pm4oKSwiZGF0YS1xYS1pZCI6InByZXNldC1tZW51LWZhdm9yaXRlLWJ1dHRvbiJ9KX19LDcyMzk4NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNZW51U3dpdGNoZXJJdGVtOigpPT5pfSk7dmFyIGE9big3Nzk0NzQpLG89bigzMDgyMTYpLHI9bigzMTMxMTApO2Z1bmN0aW9uIGkoZSl7Y29uc3R7dmFsdWU6dCwuLi5ufT1lO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoci5NZW51SXRlbSx7Li4ubixyaWdodFNsb3Q6YS5jcmVhdGVFbGVtZW50KCJkaXYiLHtyb2xlOiJncmlkY2VsbCJ9LGEuY3JlYXRlRWxlbWVudChvLlN3aXRjaFZpZXcse2NoZWNrZWQ6dH0pKSxhcmlhQ2hlY2tlZDp0LApkb250Q2xvc2VQb3B1cDohMH0pfX0sNTU4MDc1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dlbmVyYXRlQ2hhcnRVcmw6KCk9Pm99KTt2YXIgYT1uKDExNzMxMyk7ZnVuY3Rpb24gbyhlKXtjb25zdCB0PWUuY2hhcnRJZD9gL2NoYXJ0LyR7ZS5jaGFydElkfS9gOiIvY2hhcnQvIixuPW5ldyBVUkwodCxsb2NhdGlvbi5ocmVmKTtyZXR1cm4gZS5zeW1ib2wmJm4uc2VhcmNoUGFyYW1zLmFwcGVuZCgic3ltYm9sIixlLnN5bWJvbCksZS5pbnRlcnZhbCYmbi5zZWFyY2hQYXJhbXMuYXBwZW5kKCJpbnRlcnZhbCIsZS5pbnRlcnZhbCksZS5zdHlsZSYmbi5zZWFyY2hQYXJhbXMuYXBwZW5kKCJzdHlsZSIsZS5zdHlsZSksKDAsYS51cmxXaXRoTW9iaWxlQXBwUGFyYW1zKShuLmhyZWYpfX0sOTA4MDM0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVJvd3NOYXZpZ2F0aW9uOigpPT5tfSk7dmFyIGE9big3Nzk0NzQpLG89bigxMzg2MzgpLHI9big5ODM2MTYpLGk9bigyMzU3MjQpLGw9bigzMjk2NjgpLHM9big2ODIzODEpLGM9big2MTYzMTEpO2NvbnN0IGQ9WzM3LDM5LDM4LDQwXTtmdW5jdGlvbiBtKGUpe2NvbnN0IHQ9KDAsYS51c2VSZWYpKG51bGwpO3JldHVybigwLGMudXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57Y29uc3QgZT0oMCxvLmVuc3VyZU5vdE51bGwpKHQuY3VycmVudCksbj0oKT0+e2NvbnN0IG49KDAsci5xdWVyeVRhYmJhYmxlRWxlbWVudHMpKGUpLnNvcnQoci5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKTtpZigwPT09bi5sZW5ndGh8fG5bMF0ucGFyZW50RWxlbWVudCYmIXYoblswXS5wYXJlbnRFbGVtZW50LCgwLG8uZW5zdXJlTm90TnVsbCkodC5jdXJyZW50KSkpe2NvbnN0IGE9ZnVuY3Rpb24oZSl7Y29uc3Qgbj1oKGUpLnNvcnQoci5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKSxhPW4uZmluZCgoZT0+dihlLCgwLG8uZW5zdXJlTm90TnVsbCkodC5jdXJyZW50KSkpKTtpZighYSlyZXR1cm4gbnVsbDtjb25zdCBpPUFycmF5LmZyb20oYS5jaGlsZHJlbik7aWYoIWkubGVuZ3RoKXJldHVybiBudWxsO3JldHVybiBpWzBdfShlKTtpZihudWxsPT09YSlyZXR1cm47aWYoKDAsbC5iZWNvbWVNYWluRWxlbWVudCkoYSksbi5sZW5ndGg+MClmb3IoY29uc3QgZSBvZiBuKSgwLGwuYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkoZSl9fTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWJvYXJkLW5hdmlnYXRpb24tYWN0aXZhdGlvbiIsbiksbigpLCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5Ym9hcmQtbmF2aWdhdGlvbi1hY3RpdmF0aW9uIixuKX0pLFtdKSxbdCxmdW5jdGlvbih0KXtpZih0LmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2NvbnN0IG49KDAsaS5oYXNoRnJvbUV2ZW50KSh0KTtpZighZC5pbmNsdWRlcyhuKSlyZXR1cm47Y29uc3QgYT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2lmKCEoYSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlyZXR1cm47Y29uc3Qgbz10LmN1cnJlbnRUYXJnZXQ7bGV0IGwsYztpZihlKXtjb25zdCBlPWEucGFyZW50RWxlbWVudDtsPWU/QXJyYXkuZnJvbShlLmNoaWxkcmVuKTpbXSxjPWwuaW5kZXhPZihhKX1lbHNlIGw9KG09byxBcnJheS5mcm9tKG0ucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pJykpLmZpbHRlcigoMCxzLmNyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyKShtKSkpLnNvcnQoci5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKSxjPWwuaW5kZXhPZihhKTt2YXIgbTtpZigwPT09bC5sZW5ndGh8fC0xPT09YylyZXR1cm47Y29uc3Qgdj0oMCxyLm1hcEtleUNvZGVUb0RpcmVjdGlvbikobik7c3dpdGNoKHYpe2Nhc2UiaW5saW5lUHJldiI6aWYodC5wcmV2ZW50RGVmYXVsdCgpLCFlJiYwPT09YylicmVhaztwKHUobCxjLC0xKSk7YnJlYWs7Y2FzZSJpbmxpbmVOZXh0IjppZih0LnByZXZlbnREZWZhdWx0KCksIWUmJmM9PT1sLmxlbmd0aC0xKWJyZWFrO3AodShsLGMsMSkpO2JyZWFrO2Nhc2UiYmxvY2tQcmV2IjpjYXNlImJsb2NrTmV4dCI6KG49PntpZighZG9jdW1lbnQuYWN0aXZlRWxlbWVudClyZXR1cm47Y29uc3QgYT1oKG8pLHI9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O2lmKCFyKXJldHVybjtjb25zdCBpPUFycmF5LmZyb20oci5jaGlsZHJlbikuaW5kZXhPZihkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtpZigtMT09PWkpcmV0dXJuO2NvbnN0IGw9YVsiYmxvY2tOZXh0Ij09PW4/YS5pbmRleE9mKHIpKzE6YS5pbmRleE9mKHIpLTFdO2lmKCFsKXJldHVybjt0LnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgcz1BcnJheS5mcm9tKGwuY2hpbGRyZW4pO3MubGVuZ3RoJiYoIWUmJmk8PXMubGVuZ3RoLTE/cChzW2ldKTpwKHNbMF0pKX0pKHYpfX1dfWZ1bmN0aW9uIHUoZSx0LG4pe3JldHVybiBlWyh0K2UubGVuZ3RoK24pJWUubGVuZ3RoXX1mdW5jdGlvbiBoKGUpe3JldHVybiBBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtcm9sZT0icm93Il0nKSkuZmlsdGVyKCgwLHMuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKGUpKX1mdW5jdGlvbiB2KGUsdCl7Y29uc3Qgbj0oMCxvLmVuc3VyZU5vdE51bGwpKGUucGFyZW50RWxlbWVudCkub2Zmc2V0VG9wLGE9bisoMCxvLmVuc3VyZU5vdE51bGwpKGUucGFyZW50RWxlbWVudCkuY2xpZW50SGVpZ2h0LHI9dC5zY3JvbGxUb3AsaT1yK3QuY2xpZW50SGVpZ2h0O3JldHVybiBuPj1yJiZhPD1pfWZ1bmN0aW9uIHAoZSl7ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCYmKDAsbC5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShkb2N1bWVudC5hY3RpdmVFbGVtZW50KSwoMCxsLmJlY29tZU1haW5FbGVtZW50KShlKSxlLmZvY3VzKCl9fSw3MDM4MTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7QmFkZ2VOZXc6KCk9PmN9KTt2YXIgYT1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscj1uLm4obyksaT1uKDU5MDQ4NiksbD1uKDIzNDYzNikscz1uKDUyODEwMSk7ZnVuY3Rpb24gYyhlKXtjb25zdHtzaXplOnQsY2xhc3NOYW1lOm59PWUKO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoaS5CYWRnZSx7c2l6ZTp0Pz9sLkJhZGdlU2l6ZS5YU21hbGwsY2xhc3NOYW1lOnIoKShzLmJhZGdlTmV3LG4pfSwiTkVXIil9fSw0Mjc3NzMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RU1QVFlfRU1PSkk6KCk9PmF9KTtjb25zdCBhPSIifSwzMTUxNTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZW1vamlHcm91cHM6KCk9PkwsaXNTdXBwb3J0ZWRFbW9qaTooKT0+TSxsb2NhbGVDb21wYXJlRW1vamlUaXRsZXM6KCk9PnoscmVtb3ZlVW5hdmFpbGFibGVFbW9qaTooKT0+XyxzZXBhcmF0ZUVtb2ppOigpPT5OfSk7dmFyIGE9big3Nzk0NzQpLG89bigxODUyNzEpLHI9big2NjMwNDYpLGk9big2NDE1OTMpLGw9bigxMzg2MzgpLHM9bigyNzM3MzIpLGM9big4MTQ2NzApLGQ9big2MjA3ODEpLG09bigxNjExNzcpLHU9bigxODU2MDUpLGg9bigyMDI1MTEpLHY9big3NTA3NjkpLHA9big2OTQ1MzIpLGY9big5MDAzMTEpLGc9big1Njk3ODUpCjtjb25zdCB3PVsi8J+YgCIsIvCfmIMiLCLwn5iEIiwi8J+YgSIsIvCfmIYiLCLwn5iFIiwi8J+YgiIsIvCfpKMiLCLimLrvuI8iLCLwn5iKIiwi8J+YhyIsIvCfmYIiLCLwn5mDIiwi8J+YiSIsIvCfmIwiLCLwn5iNIiwi8J+lsCIsIvCfmJgiLCLwn5iXIiwi8J+YmSIsIvCfmJoiLCLwn5iLIiwi8J+YmyIsIvCfmJ0iLCLwn5icIiwi8J+kqiIsIvCfpKgiLCLwn6eQIiwi8J+kkyIsIvCfmI4iLCLwn6SpIiwi8J+lsyIsIvCfmI8iLCLwn5iSIiwi8J+YniIsIvCfmJQiLCLwn5ifIiwi8J+YlSIsIvCfmYEiLCLimLnvuI8iLCLwn5ijIiwi8J+YliIsIvCfmKsiLCLwn5ipIiwi8J+luiIsIvCfmKIiLCLwn5itIiwi8J+YpCIsIvCfmKAiLCLwn5ihIiwi8J+krCIsIvCfpK8iLCLwn5izIiwi8J+ltSIsIvCfpbYiLCLwn5ixIiwi8J+YqCIsIvCfmLAiLCLwn5ilIiwi8J+YkyIsIvCfpJciLCLwn6SUIiwi8J+krSIsIvCfpKsiLCLwn6SlIiwi8J+YtiIsIvCfmJAiLCLwn5iRIiwi8J+YrCIsIvCfmYQiLCLwn5ivIiwi8J+YpiIsIvCfmKciLCLwn5iuIiwi8J+YsiIsIvCfpbEiLCLwn5i0Iiwi8J+kpCIsIvCfmKoiLCLwn5i1Iiwi8J+kkCIsIvCfpbQiLCLwn6SiIiwi8J+kriIsIvCfpKciLCLwn5i3Iiwi8J+kkiIsIvCfpJUiLCLwn6SRIiwi8J+koCIsIvCfmIgiLCLwn5G/Iiwi8J+RuSIsIvCfkboiLCLwn6ShIiwi8J+SqSIsIvCfkbsiLCLwn5KAIiwi4pig77iPIiwi8J+RvSIsIvCfkb4iLCLwn6SWIiwi8J+OgyIsIvCfmLoiLCLwn5i4Iiwi8J+YuSIsIvCfmLsiLCLwn5i8Iiwi8J+YvSIsIvCfmYAiLCLwn5i/Iiwi8J+YviIsIvCfkYsiLCLwn6SaIiwi8J+WkCIsIuKciyIsIvCflpYiLCLwn5GMIiwi8J+kjyIsIuKcjO+4jyIsIvCfpJ4iLCLwn6SfIiwi8J+kmCIsIvCfpJkiLCLwn5GIIiwi8J+RiSIsIvCfkYYiLCLwn5aVIiwi8J+RhyIsIuKYne+4jyIsIvCfkY0iLCLwn5GOIiwi4pyKIiwi8J+RiiIsIvCfpJsiLCLwn6ScIiwi8J+RjyIsIvCfmYwiLCLwn5GQIiwi8J+ksiIsIvCfpJ0iLCLwn5mPIiwi4pyN77iPIiwi8J+ShSIsIvCfpLMiLCLwn5KqIiwi8J+mviIsIvCfprUiLCLwn6a/Iiwi8J+mtiIsIvCfkYIiLCLwn6a7Iiwi8J+RgyIsIvCfp6AiLCLwn6a3Iiwi8J+mtCIsIvCfkYAiLCLwn5GBIiwi8J+RhSIsIvCfkYQiLCLwn5KLIiwi8J+puCIsIvCfkbYiLCLwn6eSIiwi8J+RpiIsIvCfkaciLCLwn6eRIiwi8J+RsSIsIvCfkagiLCLwn6eUIiwi8J+RqOKAjfCfprAiLCLwn5Go4oCN8J+msSIsIvCfkajigI3wn6azIiwi8J+RqOKAjfCfprIiLCLwn5GpIiwi8J+RqeKAjfCfprAiLCLwn6eR4oCN8J+msCIsIvCfkanigI3wn6axIiwi8J+nkeKAjfCfprEiLCLwn5Gp4oCN8J+msyIsIvCfp5HigI3wn6azIiwi8J+RqeKAjfCfprIiLCLwn6eR4oCN8J+msiIsIvCfkbHigI3imYDvuI8iLCLwn5Gx4oCN4pmC77iPIiwi8J+nkyIsIvCfkbQiLCLwn5G1Iiwi8J+ZjSIsIvCfmY3igI3imYLvuI8iLCLwn5mN4oCN4pmA77iPIiwi8J+ZjiIsIvCfmY7igI3imYLvuI8iLCLwn5mO4oCN4pmA77iPIiwi8J+ZhSIsIvCfmYXigI3imYLvuI8iLCLwn5mF4oCN4pmA77iPIiwi8J+ZhiIsIvCfmYbigI3imYLvuI8iLCLwn5mG4oCN4pmA77iPIiwi8J+SgSIsIvCfkoHigI3imYLvuI8iLCLwn5KB4oCN4pmA77iPIiwi8J+ZiyIsIvCfmYvigI3imYLvuI8iLCLwn5mL4oCN4pmA77iPIiwi8J+njyIsIvCfp4/igI3imYLvuI8iLCLwn6eP4oCN4pmA77iPIiwi8J+ZhyIsIvCfmYfigI3imYLvuI8iLCLwn5mH4oCN4pmA77iPIiwi8J+kpiIsIvCfpKbigI3imYLvuI8iLCLwn6Sm4oCN4pmA77iPIiwi8J+ktyIsIvCfpLfigI3imYLvuI8iLCLwn6S34oCN4pmA77iPIiwi8J+nkeKAjeKale+4jyIsIvCfkajigI3impXvuI8iLCLwn5Gp4oCN4pqV77iPIiwi8J+nkeKAjfCfjpMiLCLwn5Go4oCN8J+OkyIsIvCfkanigI3wn46TIiwi8J+nkeKAjfCfj6siLCLwn5Go4oCN8J+PqyIsIvCfkanigI3wn4+rIiwi8J+nkeKAjeKalu+4jyIsIvCfkajigI3impbvuI8iLCLwn5Gp4oCN4pqW77iPIiwi8J+nkeKAjfCfjL4iLCLwn5Go4oCN8J+MviIsIvCfkanigI3wn4y+Iiwi8J+nkeKAjfCfjbMiLCLwn5Go4oCN8J+NsyIsIvCfkanigI3wn42zIiwi8J+nkeKAjfCflKciLCLwn5Go4oCN8J+UpyIsIvCfkanigI3wn5SnIiwi8J+nkeKAjfCfj60iLCLwn5Go4oCN8J+PrSIsIvCfkanigI3wn4+tIiwi8J+nkeKAjfCfkrwiLCLwn5Go4oCN8J+SvCIsIvCfkanigI3wn5K8Iiwi8J+nkeKAjfCflKwiLCLwn5Go4oCN8J+UrCIsIvCfkanigI3wn5SsIiwi8J+nkeKAjfCfkrsiLCLwn5Go4oCN8J+SuyIsIvCfkanigI3wn5K7Iiwi8J+nkeKAjfCfjqQiLCLwn5Go4oCN8J+OpCIsIvCfkanigI3wn46kIiwi8J+nkeKAjfCfjqgiLCLwn5Go4oCN8J+OqCIsIvCfkanigI3wn46oIiwi8J+nkeKAjeKciO+4jyIsIvCfkajigI3inIjvuI8iLCLwn5Gp4oCN4pyI77iPIiwi8J+nkeKAjfCfmoAiLCLwn5Go4oCN8J+agCIsIvCfkanigI3wn5qAIiwi8J+nkeKAjfCfmpIiLCLwn5Go4oCN8J+akiIsIvCfkanigI3wn5qSIiwi8J+RriIsIvCfka7igI3imYLvuI8iLCLwn5Gu4oCN4pmA77iPIiwi8J+VtSIsIvCflbXvuI/igI3imYLvuI8iLCLwn5W177iP4oCN4pmA77iPIiwi8J+SgiIsIvCfkoLigI3imYLvuI8iLCLwn5KC4oCN4pmA77iPIiwi8J+RtyIsIvCfkbfigI3imYLvuI8iLCLwn5G34oCN4pmA77iPIiwi8J+ktCIsIvCfkbgiLCLwn5GzIiwi8J+Rs+KAjeKZgu+4jyIsIvCfkbPigI3imYDvuI8iLCLwn5GyIiwi8J+nlSIsIvCfpLUiLCLwn5GwIiwi8J+ksCIsIvCfpLEiLCLwn5G8Iiwi8J+OhSIsIvCfpLYiLCLwn6a4Iiwi8J+muOKAjeKZgu+4jyIsIvCfprjigI3imYDvuI8iLCLwn6a5Iiwi8J+mueKAjeKZgu+4jyIsIvCfprnigI3imYDvuI8iLCLwn6eZIiwi8J+nmeKAjeKZgu+4jyIsIvCfp5nigI3imYDvuI8iLCLwn6eaIiwi8J+nmuKAjeKZgu+4jyIsIvCfp5rigI3imYDvuI8iLCLwn6ebIiwi8J+nm+KAjeKZgu+4jyIsIvCfp5vigI3imYDvuI8iLCLwn6ecIiwi8J+nnOKAjeKZgu+4jyIsIvCfp5zigI3imYDvuI8iLCLwn6edIiwi8J+nneKAjeKZgu+4jyIsIvCfp53igI3imYDvuI8iLCLwn6eeIiwi8J+nnuKAjeKZgu+4jyIsIvCfp57igI3imYDvuI8iLCLwn6efIiwi8J+nn+KAjeKZgu+4jyIsIvCfp5/igI3imYDvuI8iLCLwn5KGIiwi8J+ShuKAjeKZgu+4jyIsIvCfkobigI3imYDvuI8iLCLwn5KHIiwi8J+Sh+KAjeKZgu+4jyIsIvCfkofigI3imYDvuI8iLCLwn5q2Iiwi8J+atuKAjeKZgu+4jyIsIvCfmrbigI3imYDvuI8iLCLwn6eNIiwi8J+njeKAjeKZgu+4jyIsIvCfp43igI3imYDvuI8iLCLwn6eOIiwi8J+njuKAjeKZgu+4jyIsIvCfp47igI3imYDvuI8iLCLwn6eR4oCN8J+mryIsIvCfkajigI3wn6avIiwi8J+RqeKAjfCfpq8iLCLwn6eR4oCN8J+mvCIsIvCfkajigI3wn6a8Iiwi8J+RqeKAjfCfprwiLCLwn6eR4oCN8J+mvSIsIvCfkajigI3wn6a9Iiwi8J+RqeKAjfCfpr0iLCLwn4+DIiwi8J+Pg+KAjeKZgu+4jyIsIvCfj4PigI3imYDvuI8iLCLwn5KDIiwi8J+VuiIsIvCflbQiLCLwn5GvIiwi8J+Rr+KAjeKZgu+4jyIsIvCfka/igI3imYDvuI8iLCLwn6eWIiwi8J+nluKAjeKZgu+4jyIsIvCfp5bigI3imYDvuI8iLCLwn6eR4oCN8J+kneKAjfCfp5EiLCLwn5GtIiwi8J+RqyIsIvCfkawiLCLwn5KPIiwi8J+RqOKAjeKdpO+4j+KAjfCfkovigI3wn5GoIiwi8J+RqeKAjeKdpO+4j+KAjfCfkovigI3wn5GpIiwi8J+SkSIsIvCfkajigI3inaTvuI/igI3wn5GoIiwi8J+RqeKAjeKdpO+4j+KAjfCfkakiLCLwn5GqIiwi8J+RqOKAjfCfkanigI3wn5GmIiwi8J+RqOKAjfCfkanigI3wn5GnIiwi8J+RqOKAjfCfkanigI3wn5Gn4oCN8J+RpiIsIvCfkajigI3wn5Gp4oCN8J+RpuKAjfCfkaYiLCLwn5Go4oCN8J+RqeKAjfCfkafigI3wn5GnIiwi8J+RqOKAjfCfkajigI3wn5GmIiwi8J+RqOKAjfCfkajigI3wn5GnIiwi8J+RqOKAjfCfkajigI3wn5Gn4oCN8J+RpiIsIvCfkajigI3wn5Go4oCN8J+RpuKAjfCfkaYiLCLwn5Go4oCN8J+RqOKAjfCfkafigI3wn5GnIiwi8J+RqeKAjfCfkanigI3wn5GmIiwi8J+RqeKAjfCfkanigI3wn5GnIiwi8J+RqeKAjfCfkanigI3wn5Gn4oCN8J+RpiIsIvCfkanigI3wn5Gp4oCN8J+RpuKAjfCfkaYiLCLwn5Gp4oCN8J+RqeKAjfCfkafigI3wn5GnIiwi8J+RqOKAjfCfkaYiLCLwn5Go4oCN8J+RpuKAjfCfkaYiLCLwn5Go4oCN8J+RpyIsIvCfkajigI3wn5Gn4oCN8J+RpiIsIvCfkajigI3wn5Gn4oCN8J+RpyIsIvCfkanigI3wn5GmIiwi8J+RqeKAjfCfkabigI3wn5GmIiwi8J+RqeKAjfCfkaciLCLwn5Gp4oCN8J+Rp+KAjfCfkaYiLCLwn5Gp4oCN8J+Rp+KAjfCfkaciLCLwn5ejIiwi8J+RpCIsIvCfkaUiLCLwn5GjIl0sYj1bIvCfkLYiLCLwn5CxIiwi8J+QrSIsIvCfkLkiLCLwn5CwIiwi8J+miiIsIvCfkLsiLCLwn5C8Iiwi8J+QqCIsIvCfkK8iLCLwn6aBIiwi8J+QriIsIvCfkLciLCLwn5C9Iiwi8J+QuCIsIvCfkLUiLCLwn5mIIiwi8J+ZiSIsIvCfmYoiLCLwn5CSIiwi8J+QlCIsIvCfkKciLCLwn5CmIiwi8J+QpCIsIvCfkKMiLCLwn5ClIiwi8J+mhiIsIvCfpoUiLCLwn6aJIiwi8J+mhyIsIvCfkLoiLCLwn5CXIiwi8J+QtCIsIvCfpoQiLCLwn5CdIiwi8J+QmyIsIvCfposiLCLwn5CMIiwi8J+QniIsIvCfkJwiLCLwn6afIiwi8J+mlyIsIvCflbciLCLwn5W4Iiwi8J+mgiIsIvCfkKIiLCLwn5CNIiwi8J+mjiIsIvCfppYiLCLwn6aVIiwi8J+QmSIsIvCfppEiLCLwn6aQIiwi8J+mniIsIvCfpoAiLCLwn5ChIiwi8J+QoCIsIvCfkJ8iLCLwn5CsIiwi8J+QsyIsIvCfkIsiLCLwn6aIIiwi8J+QiiIsIvCfkIUiLCLwn5CGIiwi8J+mkyIsIvCfpo0iLCLwn6anIiwi8J+QmCIsIvCfppsiLCLwn6aPIiwi8J+QqiIsIvCfkKsiLCLwn6aSIiwi8J+mmCIsIvCfkIMiLCLwn5CCIiwi8J+QhCIsIvCfkI4iLCLwn5CWIiwi8J+QjyIsIvCfkJEiLCLwn6aZIiwi8J+QkCIsIvCfpowiLCLwn5CVIiwi8J+QqSIsIvCfpq4iLCLwn5CV4oCN8J+muiIsIvCfkIgiLCLwn5CTIiwi8J+mgyIsIvCfppoiLCLwn6acIiwi8J+moiIsIvCfpqkiLCLwn5WKIiwi8J+QhyIsIvCfpp0iLCLwn6aoIiwi8J+moSIsIvCfpqYiLCLwn6alIiwi8J+QgSIsIvCfkIAiLCLwn5C/Iiwi8J+mlCIsIvCfkL4iLCLwn5CJIiwi8J+QsiIsIvCfjLUiLCLwn46EIiwi8J+MsiIsIvCfjLMiLCLwn4y0Iiwi8J+MsSIsIvCfjL8iLCLimJjvuI8iLCLwn42AIiwi8J+OjSIsIvCfjosiLCLwn42DIiwi8J+NgiIsIvCfjYEiLCLwn42EIiwi8J+QmiIsIvCfjL4iLCLwn5KQIiwi8J+MtyIsIvCfjLkiLCLwn6WAIiwi8J+MuiIsIvCfjLgiLCLwn4y8Iiwi8J+MuyIsIvCfjJ4iLCLwn4ydIiwi8J+MmyIsIvCfjJwiLCLwn4yaIiwi8J+MlSIsIvCfjJYiLCLwn4yXIiwi8J+MmCIsIvCfjJEiLCLwn4ySIiwi8J+MkyIsIvCfjJQiLCLwn4yZIiwi8J+MjiIsIvCfjI0iLCLwn4yPIiwi8J+qkCIsIvCfkqsiLCLirZDvuI8iLCLwn4yfIiwi4pyoIiwi4pqh77iPIiwi4piE77iPIiwi8J+SpSIsIvCflKUiLCLwn4yqIiwi8J+MiCIsIuKYgO+4jyIsIvCfjKQiLCLim4XvuI8iLCLwn4ylIiwi4piB77iPIiwi8J+MpiIsIvCfjKciLCLim4giLCLwn4ypIiwi8J+MqCIsIuKdhO+4jyIsIuKYg++4jyIsIuKbhO+4jyIsIvCfjKwiLCLwn5KoIiwi8J+SpyIsIvCfkqYiLCLimJTvuI8iLCLwn4yKIiwi8J+MqyJdLHk9WyLwn42PIiwi8J+NjiIsIvCfjZAiLCLwn42KIiwi8J+NiyIsIvCfjYwiLCLwn42JIiwi8J+NhyIsIvCfjZMiLCLwn42IIiwi8J+NkiIsIvCfjZEiLCLwn6WtIiwi8J+NjSIsIvCfpaUiLCLwn6WdIiwi8J+NhSIsIvCfjYYiLCLwn6WRIiwi8J+lpiIsIvCfpawiLCLwn6WSIiwi8J+MtiIsIvCfjL0iLCLwn6WVIiwi8J+nhCIsIvCfp4UiLCLwn6WUIiwi8J+NoCIsIvCfpZAiLCLwn6WvIiwi8J+NniIsIvCfpZYiLCLwn6WoIiwi8J+ngCIsIvCfpZoiLCLwn42zIiwi8J+niCIsIvCfpZ4iLCLwn6eHIiwi8J+lkyIsIvCfpakiLCLwn42XIiwi8J+NliIsIvCfjK0iLCLwn42UIiwi8J+NnyIsIvCfjZUiLCLwn6WqIiwi8J+lmSIsIvCfp4YiLCLwn4yuIiwi8J+MryIsIvCfpZciLCLwn6WYIiwi8J+lqyIsIvCfjZ0iLCLwn42cIiwi8J+NsiIsIvCfjZsiLCLwn42jIiwi8J+NsSIsIvCfpZ8iLCLwn6aqIiwi8J+NpCIsIvCfjZkiLCLwn42aIiwi8J+NmCIsIvCfjaUiLCLwn6WgIiwi8J+lriIsIvCfjaIiLCLwn42hIiwi8J+NpyIsIvCfjagiLCLwn42mIiwi8J+lpyIsIvCfp4EiLCLwn42wIiwi8J+OgiIsIvCfja4iLCLwn42tIiwi8J+NrCIsIvCfjasiLCLwn42/Iiwi8J+NqSIsIvCfjaoiLCLwn4ywIiwi8J+lnCIsIvCfja8iLCLwn6WbIiwi8J+NvCIsIuKYle+4jyIsIvCfjbUiLCLwn6eDIiwi8J+lpCIsIvCfjbYiLCLwn426Iiwi8J+NuyIsIvCfpYIiLCLwn423Iiwi8J+lgyIsIvCfjbgiLCLwn425Iiwi8J+niSIsIvCfjb4iLCLwn6eKIiwi8J+lhCIsIvCfjbQiLCLwn429Iiwi8J+loyIsIvCfpaEiLCLwn6WiIiwi8J+ngiJdLEU9WyLimr3vuI8iLCLwn4+AIiwi8J+PiCIsIuKavu+4jyIsIvCfpY4iLCLwn46+Iiwi8J+PkCIsIvCfj4kiLCLwn6WPIiwi8J+OsSIsIvCfqoAiLCLwn4+TIiwi8J+PuCIsIvCfj5IiLCLwn4+RIiwi8J+ljSIsIvCfj48iLCLwn6WFIiwi4puz77iPIiwi8J+qgSIsIvCfj7kiLCLwn46jIiwi8J+kvyIsIvCfpYoiLCLwn6WLIiwi8J+OvSIsIvCfm7kiLCLwn5u3Iiwi4pu4Iiwi8J+ljCIsIvCfjr8iLCLim7ciLCLwn4+CIiwi8J+qgiIsIvCfj4vvuI8iLCLwn4+L77iP4oCN4pmC77iPIiwi8J+Pi++4j+KAjeKZgO+4jyIsIvCfpLwiLCLwn6S84oCN4pmC77iPIiwi8J+kvOKAjeKZgO+4jyIsIvCfpLjigI3imYDvuI8iLCLwn6S4Iiwi8J+kuOKAjeKZgu+4jyIsIuKbue+4jyIsIuKbue+4j+KAjeKZgu+4jyIsIuKbue+4j+KAjeKZgO+4jyIsIvCfpLoiLCLwn6S+Iiwi8J+kvuKAjeKZgu+4jyIsIvCfpL7igI3imYDvuI8iLCLwn4+M77iPIiwi8J+PjO+4j+KAjeKZgu+4jyIsIvCfj4zvuI/igI3imYDvuI8iLCLwn4+HIiwi8J+nmCIsIvCfp5jigI3imYLvuI8iLCLwn6eY4oCN4pmA77iPIiwi8J+PhCIsIvCfj4TigI3imYLvuI8iLCLwn4+E4oCN4pmA77iPIiwi8J+PiiIsIvCfj4rigI3imYLvuI8iLCLwn4+K4oCN4pmA77iPIiwi8J+kvSIsIvCfpL3igI3imYLvuI8iLCLwn6S94oCN4pmA77iPIiwi8J+aoyIsIvCfmqPigI3imYLvuI8iLCLwn5qj4oCN4pmA77iPIiwi8J+nlyIsIvCfp5figI3imYLvuI8iLCLwn6eX4oCN4pmA77iPIiwi8J+atSIsIvCfmrXigI3imYLvuI8iLCLwn5q14oCN4pmA77iPIiwi8J+atCIsIvCfmrTigI3imYLvuI8iLCLwn5q04oCN4pmA77iPIiwi8J+PhiIsIvCfpYciLCLwn6WIIiwi8J+liSIsIvCfj4UiLCLwn46WIiwi8J+PtSIsIvCfjpciLCLwn46rIiwi8J+OnyIsIvCfjqoiLCLwn6S5Iiwi8J+kueKAjeKZgu+4jyIsIvCfpLnigI3imYDvuI8iLCLwn46tIiwi8J+OqCIsIvCfjqwiLCLwn46kIiwi8J+OpyIsIvCfjrwiLCLwn465Iiwi8J+lgSIsIvCfjrciLCLwn466Iiwi8J+OuCIsIvCfqpUiLCLwn467Iiwi8J+OsiIsIvCfjq8iLCLwn46zIiwi8J+OriIsIvCfjrAiLCLwn6epIl0sVD1bIvCfmpciLCLwn5qVIiwi8J+amSIsIvCfmowiLCLwn5qOIiwi8J+PjiIsIvCfmpMiLCLwn5qRIiwi8J+akiIsIvCfmpAiLCLwn5qaIiwi8J+amyIsIvCfmpwiLCLwn6avIiwi8J+mvSIsIvCfprwiLCLwn5u0Iiwi8J+asiIsIvCfm7UiLCLwn4+NIiwi8J+buiIsIvCfmqgiLCLwn5qUIiwi8J+ajSIsIvCfmpgiLCLwn5qWIiwi8J+aoSIsIvCfmqAiLCLwn5qfIiwi8J+agyIsIvCfmosiLCLwn5qeIiwi8J+anSIsIvCfmoQiLCLwn5qFIiwi8J+aiCIsIvCfmoIiLCLwn5qGIiwi8J+ahyIsIvCfmooiLCLwn5qJIiwi4pyI77iPIiwi8J+bqyIsIvCfm6wiLCLwn5upIiwi8J+SuiIsIvCfm7AiLCLwn5qAIiwi8J+buCIsIvCfmoEiLCLwn5u2Iiwi4pu177iPIiwi8J+apCIsIvCfm6UiLCLwn5uzIiwi4pu0Iiwi8J+aoiIsIuKak++4jyIsIuKbve+4jyIsIvCfmqciLCLwn5qmIiwi8J+apSIsIvCfmo8iLCLwn5e6Iiwi8J+XvyIsIvCfl70iLCLwn5e8Iiwi8J+PsCIsIvCfj68iLCLwn4+fIiwi8J+OoSIsIvCfjqIiLCLwn46gIiwi4puy77iPIiwi4puxIiwi8J+PliIsIvCfj50iLCLwn4+cIiwi8J+MiyIsIuKbsCIsIvCfj5QiLCLwn5e7Iiwi8J+PlSIsIuKbuu+4jyIsIvCfj6AiLCLwn4+hIiwi8J+PmCIsIvCfj5oiLCLwn4+XIiwi8J+PrSIsIvCfj6IiLCLwn4+sIiwi8J+PoyIsIvCfj6QiLCLwn4+lIiwi8J+PpiIsIvCfj6giLCLwn4+qIiwi8J+PqyIsIvCfj6kiLCLwn5KSIiwi8J+PmyIsIuKbqu+4jyIsIvCflYwiLCLwn5WNIiwi8J+blSIsIvCflYsiLCLim6kiLCLwn5ukIiwi8J+boyIsIvCfl74iLCLwn46RIiwi8J+PniIsIvCfjIUiLCLwn4yEIiwi8J+MoCIsIvCfjociLCLwn46GIiwi8J+MhyIsIvCfjIYiLCLwn4+ZIiwi8J+MgyIsIvCfjIwiLCLwn4yJIiwi8J+MgSJdLHg9WyLijJrvuI8iLCLwn5OxIiwi8J+TsiIsIvCfkrsiLCLijKjvuI8iLCLwn5alIiwi8J+WqCIsIvCflrEiLCLwn5ayIiwi8J+VuSIsIvCfl5wiLCLwn5K9Iiwi8J+SviIsIvCfkr8iLCLwn5OAIiwi8J+TvCIsIvCfk7ciLCLwn5O4Iiwi8J+TuSIsIvCfjqUiLCLwn5O9Iiwi8J+OniIsIvCfk54iLCLimI7vuI8iLCLwn5OfIiwi8J+ToCIsIvCfk7oiLCLwn5O7Iiwi8J+OmSIsIvCfjpoiLCLwn46bIiwi8J+nrSIsIuKPsSIsIuKPsiIsIuKPsCIsIvCflbAiLCLijJvvuI8iLCLij7MiLCLwn5OhIiwi8J+UiyIsIvCflIwiLCLwn5KhIiwi8J+UpiIsIvCfla8iLCLwn6qUIiwi8J+nryIsIvCfm6IiLCLwn5K4Iiwi8J+StSIsIvCfkrQiLCLwn5K2Iiwi8J+StyIsIvCfkrAiLCLwn5KzIiwi8J+SjiIsIuKalu+4jyIsIvCfp7AiLCLwn5SnIiwi8J+UqCIsIuKakiIsIvCfm6AiLCLim48iLCLwn5SpIiwi4pqZ77iPIiwi8J+nsSIsIuKbkyIsIvCfp7IiLCLwn5SrIiwi8J+SoyIsIvCfp6giLCLwn6qTIiwi8J+UqiIsIvCfl6EiLCLimpTvuI8iLCLwn5uhIiwi8J+arCIsIuKasO+4jyIsIuKase+4jyIsIvCfj7oiLCLwn5SuIiwi8J+TvyIsIvCfp78iLCLwn5KIIiwi4pqX77iPIiwi8J+UrSIsIvCflKwiLCLwn5WzIiwi8J+puSIsIvCfqboiLCLwn5KKIiwi8J+SiSIsIvCfp6wiLCLwn6agIiwi8J+nqyIsIvCfp6oiLCLwn4yhIiwi8J+nuSIsIvCfp7oiLCLwn6e7Iiwi8J+avSIsIvCfmrAiLCLwn5q/Iiwi8J+bgSIsIvCfm4AiLCLwn6e8Iiwi8J+qkiIsIvCfp70iLCLwn6e0Iiwi8J+bjiIsIvCflJEiLCLwn5edIiwi8J+aqiIsIvCfqpEiLCLwn5uLIiwi8J+bjyIsIvCfm4wiLCLwn6e4Iiwi8J+WvCIsIvCfm40iLCLwn5uSIiwi8J+OgSIsIvCfjogiLCLwn46PIiwi8J+OgCIsIvCfjooiLCLwn46JIiwi8J+OjiIsIvCfj64iLCLwn46QIiwi8J+npyIsIuKcie+4jyIsIvCfk6kiLCLwn5OoIiwi8J+TpyIsIvCfkowiLCLwn5OlIiwi8J+TpCIsIvCfk6YiLCLwn4+3Iiwi8J+TqiIsIvCfk6siLCLwn5OsIiwi8J+TrSIsIvCfk64iLCLwn5OvIiwi8J+TnCIsIvCfk4MiLCLwn5OEIiwi8J+TkSIsIvCfp74iLCLwn5OKIiwi8J+TiCIsIvCfk4kiLCLwn5eSIiwi8J+XkyIsIvCfk4YiLCLwn5OFIiwi8J+XkSIsIvCfk4ciLCLwn5eDIiwi8J+XsyIsIvCfl4QiLCLwn5OLIiwi8J+TgSIsIvCfk4IiLCLwn5eCIiwi8J+XniIsIvCfk7AiLCLwn5OTIiwi8J+TlCIsIvCfk5IiLCLwn5OVIiwi8J+TlyIsIvCfk5giLCLwn5OZIiwi8J+TmiIsIvCfk5YiLCLwn5SWIiwi8J+ntyIsIvCflJciLCLwn5OOIiwi8J+WhyIsIvCfk5AiLCLwn5OPIiwi8J+nriIsIvCfk4wiLCLwn5ONIiwi4pyC77iPIiwi8J+WiiIsIvCflosiLCLinJLvuI8iLCLwn5aMIiwi8J+WjSIsIvCfk50iLCLinI/vuI8iLCLwn5SNIiwi8J+UjiIsIvCflI8iLCLwn5SQIiwi8J+UkiIsIvCflJMiLCLwn6ezIiwi8J+MgiIsIuKYgu+4jyIsIvCfp7UiLCLwn6e2Iiwi8J+RkyIsIvCflbYiLCLwn6W9Iiwi8J+lvCIsIvCfproiLCLwn5GUIiwi8J+RlSIsIvCfkZYiLCLwn6ejIiwi8J+npCIsIvCfp6UiLCLwn6emIiwi8J+RlyIsIvCfkZgiLCLwn6W7Iiwi8J+psSIsIvCfqbIiLCLwn6mzIiwi8J+RmSIsIvCfkZoiLCLwn5GbIiwi8J+RnCIsIvCfkZ0iLCLwn46SIiwi8J+RniIsIvCfkZ8iLCLwn6W+Iiwi8J+lvyIsIvCfkaAiLCLwn5GhIiwi8J+psCIsIvCfkaIiLCLwn5GRIiwi8J+RkiIsIvCfjqkiLCLwn46TIiwi8J+noiIsIuKbkSIsIvCfkoQiLCLwn5KNIiwi8J+SvCJdLEk9WyLinaTvuI8iLCLwn6ehIiwi8J+SmyIsIvCfkpoiLCLwn5KZIiwi8J+SnCIsIvCflqQiLCLwn6SNIiwi8J+kjiIsIvCfkpQiLCLinaPvuI8iLCLwn5KVIiwi8J+SniIsIvCfkpMiLCLwn5KXIiwi8J+SliIsIvCfkpgiLCLwn5KdIiwi8J+SnyIsIuKYru+4jyIsIuKcne+4jyIsIuKYqu+4jyIsIvCflYkiLCLimLjvuI8iLCLinKHvuI8iLCLwn5SvIiwi8J+VjiIsIuKYr++4jyIsIuKYpu+4jyIsIvCfm5AiLCLim44iLCLimYjvuI8iLCLimYnvuI8iLCLimYrvuI8iLCLimYvvuI8iLCLimYzvuI8iLCLimY3vuI8iLCLimY7vuI8iLCLimY/vuI8iLCLimZDvuI8iLCLimZHvuI8iLCLimZLvuI8iLCLimZPvuI8iLCLwn4aUIiwi4pqb77iPIiwi8J+JkSIsIuKYou+4jyIsIuKYo++4jyIsIvCfk7QiLCLwn5OzIiwi8J+ItiIsIvCfiJrvuI8iLCLwn4i4Iiwi8J+IuiIsIvCfiLfvuI8iLCLinLTvuI8iLCLwn4aaIiwi8J+SriIsIvCfiZAiLCLjipnvuI8iLCLjipfvuI8iLCLwn4i0Iiwi8J+ItSIsIvCfiLkiLCLwn4iyIiwi8J+FsO+4jyIsIvCfhbHvuI8iLCLwn4aOIiwi8J+GkSIsIvCfhb7vuI8iLCLwn4aYIiwi4p2MIiwi4q2V77iPIiwi8J+bkSIsIuKblO+4jyIsIvCfk5siLCLwn5qrIiwi8J+SryIsIvCfkqIiLCLimajvuI8iLCLwn5q3Iiwi8J+aryIsIvCfmrMiLCLwn5qxIiwi8J+UniIsIvCfk7UiLCLwn5qtIiwi4p2X77iPIiwi4p2VIiwi4p2TIiwi4p2UIiwi4oC877iPIiwi4oGJ77iPIiwi8J+UhSIsIvCflIYiLCLjgL3vuI8iLCLimqDvuI8iLCLwn5q4Iiwi8J+UsSIsIuKanO+4jyIsIvCflLAiLCLimbvvuI8iLCLinIUiLCLwn4iv77iPIiwi8J+SuSIsIuKdh++4jyIsIuKcs++4jyIsIuKdjiIsIvCfjJAiLCLwn5KgIiwi4pOC77iPIiwi8J+MgCIsIvCfkqQiLCLwn4+nIiwi8J+aviIsIuKZv++4jyIsIvCfhb/vuI8iLCLwn4izIiwi8J+Igu+4jyIsIvCfm4IiLCLwn5uDIiwi8J+bhCIsIvCfm4UiLCLwn5q5Iiwi8J+auiIsIvCfmrwiLCLwn5q7Iiwi8J+ariIsIvCfjqYiLCLwn5O2Iiwi8J+IgSIsIvCflKMiLCLihLnvuI8iLCLwn5SkIiwi8J+UoSIsIvCflKAiLCLwn4aWIiwi8J+GlyIsIvCfhpkiLCLwn4aSIiwi8J+GlSIsIvCfhpMiLCIw77iP4oOjIiwiMe+4j+KDoyIsIjLvuI/ig6MiLCIz77iP4oOjIiwiNO+4j+KDoyIsIjXvuI/ig6MiLCI277iP4oOjIiwiN++4j+KDoyIsIjjvuI/ig6MiLCI577iP4oOjIiwi8J+UnyIsIvCflKIiLCIj77iP4oOjIiwiKu+4j+KDoyIsIuKPj++4jyIsIuKWtu+4jyIsIuKPuCIsIuKPryIsIuKPuSIsIuKPuiIsIuKPrSIsIuKPriIsIuKPqSIsIuKPqiIsIuKPqyIsIuKPrCIsIuKXgO+4jyIsIvCflLwiLCLwn5S9Iiwi4p6h77iPIiwi4qyF77iPIiwi4qyG77iPIiwi4qyH77iPIiwi4oaX77iPIiwi4oaY77iPIiwi4oaZ77iPIiwi4oaW77iPIiwi4oaV77iPIiwi4oaU77iPIiwi4oaq77iPIiwi4oap77iPIiwi4qS077iPIiwi4qS177iPIiwi8J+UgCIsIvCflIEiLCLwn5SCIiwi8J+UhCIsIvCflIMiLCLwn461Iiwi8J+OtiIsIuKelSIsIuKeliIsIuKelyIsIuKclu+4jyIsIuKZviIsIvCfkrIiLCLwn5KxIiwi4oSi77iPIiwiwqnvuI8iLCLCru+4jyIsIuOAsO+4jyIsIuKesCIsIuKevyIsIvCflJoiLCLwn5SZIiwi8J+UmyIsIvCflJ0iLCLwn5ScIiwi4pyU77iPIiwi4piR77iPIiwi8J+UmCIsIvCflLQiLCLwn5+gIiwi8J+foSIsIvCfn6IiLCLwn5S1Iiwi8J+foyIsIuKaq++4jyIsIuKaqu+4jyIsIvCfn6QiLCLwn5S6Iiwi8J+UuyIsIvCflLgiLCLwn5S5Iiwi8J+UtiIsIvCflLciLCLwn5SzIiwi8J+UsiIsIuKWqu+4jyIsIuKWq++4jyIsIuKXvu+4jyIsIuKXve+4jyIsIuKXvO+4jyIsIuKXu++4jyIsIvCfn6UiLCLwn5+nIiwi8J+fqCIsIvCfn6kiLCLwn5+mIiwi8J+fqiIsIuKsm++4jyIsIuKsnO+4jyIsIvCfn6siLCLwn5SIIiwi8J+UhyIsIvCflIkiLCLwn5SKIiwi8J+UlCIsIvCflJUiLCLwn5OjIiwi8J+ToiIsIvCfkYHigI3wn5eoIiwi8J+SrCIsIvCfkq0iLCLwn5evIiwi4pmg77iPIiwi4pmj77iPIiwi4pml77iPIiwi4pmm77iPIiwi8J+DjyIsIvCfjrQiLCLwn4CE77iPIiwi8J+VkCIsIvCflZEiLCLwn5WSIiwi8J+VkyIsIvCflZQiLCLwn5WVIiwi8J+VliIsIvCflZciLCLwn5WYIiwi8J+VmSIsIvCflZoiLCLwn5WbIiwi8J+VnCIsIvCflZ0iLCLwn5WeIiwi8J+VnyIsIvCflaAiLCLwn5WhIiwi8J+VoiIsIvCflaMiLCLwn5WkIiwi8J+VpSIsIvCflaYiLCLwn5WnIl0sQz1bIvCfj7PvuI8iLCLwn4+0Iiwi8J+PgSIsIvCfmqkiLCLwn4+z77iP4oCN8J+MiCIsIvCfj7TigI3imKDvuI8iLCLwn4em8J+HqyIsIvCfh6bwn4e9Iiwi8J+HpvCfh7EiLCLwn4ep8J+HvyIsIvCfh6bwn4e4Iiwi8J+HpvCfh6kiLCLwn4em8J+HtCIsIvCfh6bwn4euIiwi8J+HpvCfh7YiLCLwn4em8J+HrCIsIvCfh6bwn4e3Iiwi8J+HpvCfh7IiLCLwn4em8J+HvCIsIvCfh6bwn4e6Iiwi8J+HpvCfh7kiLCLwn4em8J+HvyIsIvCfh6fwn4e4Iiwi8J+Hp/Cfh60iLCLwn4en8J+HqSIsIvCfh6fwn4enIiwi8J+Hp/Cfh74iLCLwn4en8J+HqiIsIvCfh6fwn4e/Iiwi8J+Hp/Cfh68iLCLwn4en8J+HsiIsIvCfh6fwn4e5Iiwi8J+Hp/Cfh7QiLCLwn4en8J+HpiIsIvCfh6fwn4e8Iiwi8J+Hp/Cfh7ciLCLwn4eu8J+HtCIsIvCfh7vwn4esIiwi8J+Hp/Cfh7MiLCLwn4en8J+HrCIsIvCfh6fwn4erIiwi8J+Hp/Cfh64iLCLwn4ew8J+HrSIsIvCfh6jwn4eyIiwi8J+HqPCfh6YiLCLwn4eu8J+HqCIsIvCfh6jwn4e7Iiwi8J+Hp/Cfh7YiLCLwn4ew8J+HviIsIvCfh6jwn4erIiwi8J+HufCfh6kiLCLwn4eo8J+HsSIsIvCfh6jwn4ezIiwi8J+HqPCfh70iLCLwn4eo8J+HqCIsIvCfh6jwn4e0Iiwi8J+HsPCfh7IiLCLwn4eo8J+HrCIsIvCfh6jwn4epIiwi8J+HqPCfh7AiLCLwn4eo8J+HtyIsIvCfh6jwn4euIiwi8J+HrfCfh7ciLCLwn4eo8J+HuiIsIvCfh6jwn4e8Iiwi8J+HqPCfh74iLCLwn4eo8J+HvyIsIvCfh6nwn4ewIiwi8J+HqfCfh68iLCLwn4ep8J+HsiIsIvCfh6nwn4e0Iiwi8J+HqvCfh6giLCLwn4eq8J+HrCIsIvCfh7jwn4e7Iiwi8J+HrPCfh7YiLCLwn4eq8J+HtyIsIvCfh6rwn4eqIiwi8J+HqvCfh7kiLCLwn4eq8J+HuiIsIvCfh6vwn4ewIiwi8J+Hq/Cfh7QiLCLwn4er8J+HryIsIvCfh6vwn4euIiwi8J+Hq/Cfh7ciLCLwn4es8J+HqyIsIvCfh7Xwn4erIiwi8J+HufCfh6siLCLwn4es8J+HpiIsIvCfh6zwn4eyIiwi8J+HrPCfh6oiLCLwn4ep8J+HqiIsIvCfh6zwn4etIiwi8J+HrPCfh64iLCLwn4es8J+HtyIsIvCfh6zwn4exIiwi8J+HrPCfh6kiLCLwn4es8J+HtSIsIvCfh6zwn4e6Iiwi8J+HrPCfh7kiLCLwn4es8J+HrCIsIvCfh6zwn4ezIiwi8J+HrPCfh7wiLCLwn4es8J+HviIsIvCfh63wn4e5Iiwi8J+HrfCfh7MiLCLwn4et8J+HsCIsIvCfh63wn4e6Iiwi8J+HrvCfh7giLCLwn4eu8J+HsyIsIvCfh67wn4epIiwi8J+HrvCfh7ciLCLwn4eu8J+HtiIsIvCfh67wn4eqIiwi8J+HrvCfh7IiLCLwn4eu8J+HsSIsIvCfh67wn4e5Iiwi8J+Hr/Cfh7IiLCLwn4ev8J+HtSIsIvCfjowiLCLwn4ev8J+HqiIsIvCfh6/wn4e0Iiwi8J+HsPCfh78iLCLwn4ew8J+HqiIsIvCfh7Dwn4euIiwi8J+HvfCfh7AiLCLwn4ew8J+HvCIsIvCfh7Dwn4esIiwi8J+HsfCfh6YiLCLwn4ex8J+HuyIsIvCfh7Hwn4enIiwi8J+HsfCfh7giLCLwn4ex8J+HtyIsIvCfh7Hwn4e+Iiwi8J+HsfCfh64iLCLwn4ex8J+HuSIsIvCfh7Hwn4e6Iiwi8J+HsvCfh7QiLCLwn4ey8J+HsCIsIvCfh7Lwn4esIiwi8J+HsvCfh7wiLCLwn4ey8J+HviIsIvCfh7Lwn4e7Iiwi8J+HsvCfh7EiLCLwn4ey8J+HuSIsIvCfh7Lwn4etIiwi8J+HsvCfh7YiLCLwn4ey8J+HtyIsIvCfh7Lwn4e6Iiwi8J+HvvCfh7kiLCLwn4ey8J+HvSIsIvCfh6vwn4eyIiwi8J+HsvCfh6kiLCLwn4ey8J+HqCIsIvCfh7Lwn4ezIiwi8J+HsvCfh6oiLCLwn4ey8J+HuCIsIvCfh7Lwn4emIiwi8J+HsvCfh78iLCLwn4ey8J+HsiIsIvCfh7Pwn4emIiwi8J+Hs/Cfh7ciLCLwn4ez8J+HtSIsIvCfh7Pwn4exIiwi8J+Hs/Cfh6giLCLwn4ez8J+HvyIsIvCfh7Pwn4euIiwi8J+Hs/Cfh6oiLCLwn4ez8J+HrCIsIvCfh7Pwn4e6Iiwi8J+Hs/Cfh6siLCLwn4ew8J+HtSIsIvCfh7Lwn4e1Iiwi8J+Hs/Cfh7QiLCLwn4e08J+HsiIsIvCfh7Xwn4ewIiwi8J+HtfCfh7wiLCLwn4e18J+HuCIsIvCfh7Xwn4emIiwi8J+HtfCfh6wiLCLwn4e18J+HviIsIvCfh7Xwn4eqIiwi8J+HtfCfh60iLCLwn4e18J+HsyIsIvCfh7Xwn4exIiwi8J+HtfCfh7kiLCLwn4e18J+HtyIsIvCfh7bwn4emIiwi8J+Ht/Cfh6oiLCLwn4e38J+HtCIsIvCfh7fwn4e6Iiwi8J+Ht/Cfh7wiLCLwn4e88J+HuCIsIvCfh7jwn4eyIiwi8J+HuPCfh6YiLCLwn4e48J+HsyIsIvCfh7fwn4e4Iiwi8J+HuPCfh6giLCLwn4e48J+HsSIsIvCfh7jwn4esIiwi8J+HuPCfh70iLCLwn4e48J+HsCIsIvCfh7jwn4euIiwi8J+HrPCfh7giLCLwn4e48J+HpyIsIvCfh7jwn4e0Iiwi8J+Hv/Cfh6YiLCLwn4ew8J+HtyIsIvCfh7jwn4e4Iiwi8J+HqvCfh7giLCLwn4ex8J+HsCIsIvCfh6fwn4exIiwi8J+HuPCfh60iLCLwn4ew8J+HsyIsIvCfh7Hwn4eoIiwi8J+HtfCfh7IiLCLwn4e78J+HqCIsIvCfh7jwn4epIiwi8J+HuPCfh7ciLCLwn4e48J+HvyIsIvCfh7jwn4eqIiwi8J+HqPCfh60iLCLwn4e48J+HviIsIvCfh7nwn4e8Iiwi8J+HufCfh68iLCLwn4e58J+HvyIsIvCfh7nwn4etIiwi8J+HufCfh7EiLCLwn4e58J+HrCIsIvCfh7nwn4ewIiwi8J+HufCfh7QiLCLwn4e58J+HuSIsIvCfh7nwn4ezIiwi8J+HufCfh7ciLCLwn4e58J+HsiIsIvCfh7nwn4eoIiwi8J+HufCfh7siLCLwn4e78J+HriIsIvCfh7rwn4esIiwi8J+HuvCfh6YiLCLwn4em8J+HqiIsIvCfh6zwn4enIiwi8J+PtPOggafzoIGi86CBpfOgga7zoIGn86CBvyIsIvCfj7TzoIGn86CBovOggbPzoIGj86CBtPOggb8iLCLwn4+086CBp/OggaLzoIG386CBrPOggbPzoIG/Iiwi8J+HuvCfh7MiLCLwn4e68J+HuCIsIvCfh7rwn4e+Iiwi8J+HuvCfh78iLCLwn4e78J+HuiIsIvCfh7vwn4emIiwi8J+Hu/Cfh6oiLCLwn4e78J+HsyIsIvCfh7zwn4erIiwi8J+HqvCfh60iLCLwn4e+8J+HqiIsIvCfh7/wn4eyIiwi8J+Hv/Cfh7wiXSxTPVsuLi53LC4uLmIsLi4ueSwuLi5FLC4uLlQsLi4ueCwuLi5JLC4uLkNdLGs9bmV3IFNldChTKQo7ZnVuY3Rpb24gXyhlKXtyZXR1cm4gZS5maWx0ZXIoKGU9PmsuaGFzKGUpKSl9ZnVuY3Rpb24gTShlKXtyZXR1cm4gay5oYXMoZSl9Y29uc3QgTj0oMCxyLmRlZmF1bHQpKChlPT57Y29uc3QgdD0oMCxpLmdldEZpcnN0U2VnbWVudE9yQ29kZVBvaW50U3RyaW5nKShlKSxuPW51bGwhPT10JiZNKHQpP3Q6IiI7cmV0dXJue2Vtb2ppOm4sZW1vamlMZXNzU3RyaW5nOmUucmVwbGFjZShuLCIiKX19KSk7ZnVuY3Rpb24geihlLHQsLi4ubil7Y29uc3QgYT1OKCgwLGwuZW5zdXJlTm90TnVsbCkoZSkpLmVtb2ppTGVzc1N0cmluZy50cmltKCksbz1OKCgwLGwuZW5zdXJlTm90TnVsbCkodCkpLmVtb2ppTGVzc1N0cmluZy50cmltKCk7cmV0dXJuIGE9PT1vP2UubG9jYWxlQ29tcGFyZSh0LC4uLm4pOmEubG9jYWxlQ29tcGFyZShvLC4uLm4pfWNvbnN0IEw9KCk9Plt7dGl0bGU6by50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sbig0NjU0NTYpKSxlbW9qaXM6W10sY29udGVudDphLmNyZWF0ZUVsZW1lbnQocy5JY29uSXRlbSx7aWNvbjpjfSl9LHt0aXRsZTpvLnQobnVsbCx7Y29udGV4dDoiZW1vamlfZ3JvdXAifSxuKDMwNjA3MCkpLGVtb2ppczp3LGNvbnRlbnQ6YS5jcmVhdGVFbGVtZW50KHMuSWNvbkl0ZW0se2ljb246ZH0pfSx7dGl0bGU6by50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sbig2Njg0NDkpKSxlbW9qaXM6Yixjb250ZW50OmEuY3JlYXRlRWxlbWVudChzLkljb25JdGVtLHtpY29uOm19KX0se3RpdGxlOm8udChudWxsLHtjb250ZXh0OiJlbW9qaV9ncm91cCJ9LG4oMTQ3NTAwKSksZW1vamlzOnksY29udGVudDphLmNyZWF0ZUVsZW1lbnQocy5JY29uSXRlbSx7aWNvbjp1fSl9LHt0aXRsZTpvLnQobnVsbCx7Y29udGV4dDoiZW1vamlfZ3JvdXAifSxuKDU3NDcxNSkpLGVtb2ppczpFLGNvbnRlbnQ6YS5jcmVhdGVFbGVtZW50KHMuSWNvbkl0ZW0se2ljb246aH0pfSx7dGl0bGU6by50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sbigxMjMxMzgpKSxlbW9qaXM6VCxjb250ZW50OmEuY3JlYXRlRWxlbWVudChzLkljb25JdGVtLHtpY29uOnZ9KX0se3RpdGxlOm8udChudWxsLHtjb250ZXh0OiJlbW9qaV9ncm91cCJ9LG4oOTQzMzkzKSksZW1vamlzOngsY29udGVudDphLmNyZWF0ZUVsZW1lbnQocy5JY29uSXRlbSx7aWNvbjpwfSl9LHt0aXRsZTpvLnQobnVsbCx7Y29udGV4dDoiZW1vamlfZ3JvdXAifSxuKDI3NjYwOSkpLGVtb2ppczpJLGNvbnRlbnQ6YS5jcmVhdGVFbGVtZW50KHMuSWNvbkl0ZW0se2ljb246Zn0pfSx7dGl0bGU6by50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sbigxNzQxNzgpKSxlbW9qaXM6Qyxjb250ZW50OmEuY3JlYXRlRWxlbWVudChzLkljb25JdGVtLHtpY29uOmd9KX1dfSw0Mjg5MjQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RW1vamlJdGVtOigpPT51fSk7dmFyIGE9big3Nzk0NzQpLG89big5MTQ0ODcpLHI9bi5uKG8pLGk9bigyNzMzMTApLGw9bigxODUyNzEpLHM9bigzMzMzMTIpLGM9big0Mjc3NzMpLGQ9big0MjgwOTcpLG09big4ODk1NDYpO2Z1bmN0aW9uIHUoZSl7Y29uc3R7ZW1vamk6dCxjbGFzc05hbWU6b309ZTtpZih0PT09Yy5FTVBUWV9FTU9KSSlyZXR1cm4gYS5jcmVhdGVFbGVtZW50KGkuSWNvbix7Y2xhc3NOYW1lOnIoKShvLGQuY2xlYXJCdXR0b24sImFwcGx5LWNvbW1vbi10b29sdGlwIiksaWNvbjptLHRpdGxlOmwudChudWxsLHZvaWQgMCxuKDc1NDM4MikpfSk7Y29uc3QgdT0oMCxzLmdldFR3ZW1vamlVcmwpKHQsInBuZyIpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImltZyIse2NsYXNzTmFtZTpyKCkobyxkLmVtb2ppKSxzcmM6dSxkZWNvZGluZzoiYXN5bmMiLHdpZHRoOiIyNCIsaGVpZ2h0OiIyNCIsYWx0OiIiLGRyYWdnYWJsZTohMSxvbkNvbnRleHRNZW51OmZ1bmN0aW9uKGUpe2lmKGUudGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCYmZS50YXJnZXQuY2xvc2VzdCgiYSIpKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCl9fSl9fSwyNzM3MzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7SWNvbkl0ZW06KCk9PnN9KTt2YXIgYT1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscj1uLm4obyksaT1uKDI3MzMxMCksbD1uKDQwMjIzKTtmdW5jdGlvbiBzKGUpe3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkobC53cmFwcGVyLGUuY2xhc3NOYW1lKX0sYS5jcmVhdGVFbGVtZW50KGkuSWNvbix7aWNvbjplLmljb259KSl9fSw0MzA4MTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7YmFja2VuZDooKT0+cX0pO3ZhciBhPXt9O24ucihhKSxuLmQoYSx7ZmF2b3JTdGFuZGFyZFN0dWR5VGVtcGxhdGU6KCk9Pk8sZmF2b3JTdHVkeVRlbXBsYXRlOigpPT5BLGdldENoYXJ0czooKT0+eCxnZXRDaGFydHNDb3VudDooKT0+SSxnZXREcmF3aW5nVGVtcGxhdGVzOigpPT5XLGdldFN0YW5kYXJkU3R1ZHlUZW1wbGF0ZUJ5SWQ6KCk9PkgsZ2V0U3R1ZHlUZW1wbGF0ZUJ5SWQ6KCk9PkIsZ2V0U3R1ZHlUZW1wbGF0ZXNMaXN0OigpPT56LGludmFsaWRhdGVTdHVkeVRlbXBsYXRlc0xpc3Q6KCk9PkwsbG9hZERyYXdpbmdUZW1wbGF0ZTooKT0+Rixsb2FkTGF5b3V0OigpPT5DLG9wZW5MYXlvdXRMaW5rOigpPT5TLHJlbW92ZUNoYXJ0OigpPT5NLHJlbW92ZURyYXdpbmdUZW1wbGF0ZTooKT0+SyxyZW1vdmVTdHVkeVRlbXBsYXRlOigpPT5qLHJlbmFtZVN0dWR5VGVtcGxhdGU6KCk9PlAscmVwbGFjZVN0dWR5VGVtcGxhdGU6KCk9PlUsc2F2ZUNoYXJ0OigpPT5fLHNhdmVEcmF3aW5nVGVtcGxhdGU6KCk9PlIsc2F2ZVN0dWR5VGVtcGxhdGU6KCk9PkR9KTt2YXIgbz1uKDMwNDIyMSkscj1uKDU1ODA3NSksaT1uKDIyMTA2MSksbD1uKDc4MzU5Myk7Y29uc3Qgcz0oMCxpLmdldExvZ2dlcikoIkxpYi5Bc3luY0d6aXAiKTt2YXIgYzshZnVuY3Rpb24oZSl7ZVtlLkxvYWRpbmdUaW1lb3V0PTVlM109IkxvYWRpbmdUaW1lb3V0IixlW2UuUHJvY2Vzc2luZ1RpbWVvdXQ9M2U0XT0iUHJvY2Vzc2luZ1RpbWVvdXQiLGVbZS5Xb3JrZXJQb29sTWF4U2l6ZT0xXT0iV29ya2VyUG9vbE1heFNpemUiCn0oY3x8KGM9e30pKTtjb25zdCBkPVtdO2Z1bmN0aW9uIG0oZSl7bGV0IHQ7Y29uc3QgYT1uZXcgUHJvbWlzZSgoKGEsbyk9PntsZXQgcj1zZXRUaW1lb3V0KG8sNWUzLG5ldyBFcnJvcigiTG9hZGluZyB0aW1lZCBvdXQiKSk7dD1kLnBvcCgpfHxuZXcgbC5Xb3JrZXIobmV3IFVSTChuLnArbi51KDU5NjMwKSxuLmIpLHtuYW1lOiJBc3luYyBnemlwIHdvcmtlciJ9KSx0Lm9uZXJyb3I9byx0Lm9ubWVzc2FnZWVycm9yPW8sdC5vbm1lc3NhZ2U9ZT0+e2NsZWFyVGltZW91dChyKSwiZG9uZSI9PT1lLmRhdGEudHlwZT9hKGUuZGF0YS5wYXlsb2FkKTpyPXNldFRpbWVvdXQobywzZTQsbmV3IEVycm9yKCJQcm9jZXNzaW5nIHRpbWVkIG91dCIpKX0sdC5wb3N0TWVzc2FnZSh7dHlwZToiZG8iLHBheWxvYWQ6ZX0pfSkpO3JldHVybiBhLnRoZW4oKCgpPT57ZC5sZW5ndGg8MT8oZGVsZXRlIHQub25lcnJvcixkZWxldGUgdC5vbm1lc3NhZ2UsZGVsZXRlIHQub25tZXNzYWdlZXJyb3IsZC5wdXNoKHQpKTp0LnRlcm1pbmF0ZSgpfSksKGU9PntzLmxvZ0Vycm9yKGBXb3JrZXIgcmVxdWVzdCBmYWlsZWQ6ICR7ZS5tZXNzYWdlfWApLHQudGVybWluYXRlKCl9KSksYX12YXIgdT1uKDM4NDAxNyk7ZnVuY3Rpb24gaChlKXtpZihlLm9rKXJldHVybiBlLmpzb24oKTt0aHJvdyBuZXcgRXJyb3IoIm5vdCBvayIpfWZ1bmN0aW9uIHYoZSl7aWYoZS5vaylyZXR1cm4gZS5qc29uKCk7dGhyb3cgbmV3IEVycm9yKCJub3Qgb2siKX12YXIgcD1uKDExNzMxMyksZj1uKDc0ODkxMiksZz1uKDYwNTI1Nyksdz1uKDk3NDY2MyksYj1uKDY5NDM4OSk7Y2xhc3MgeSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSksdGhpcy5zdGF0dXM9dD8uc3RhdHVzLHRoaXMuY29kZT10Py5jb2RlLHRoaXMucmVzcG9uc2U9dD8ucmVzcG9uc2V9fXZhciBFPW4oNTg5NzQ5KTtjb25zdCBUPSIvYXBpL3YxLyI7YXN5bmMgZnVuY3Rpb24geChlPW51bGwsdCl7Y29uc3Qgbj1uZXcgVVJMKCIvbXktY2hhcnRzLyIsd2luZG93LmxvY2F0aW9uLm9yaWdpbik7dm9pZCAwIT09dCYmbi5zZWFyY2hQYXJhbXMuYXBwZW5kKCJsaW1pdCIsdC50b1N0cmluZygpKTtjb25zdCBhPWF3YWl0KDAsdS5mZXRjaCkobi50b1N0cmluZygpLHttZXRob2Q6IkdFVCIsc2lnbmFsOmV9KTtpZighYS5vayl0aHJvdyBuZXcgRXJyb3IoIkdldHRpbmcgbXkgY2hhcnRzIHJlc3BvbnNlIHdhcyBub3QgT0siKTtyZXR1cm4gYS5qc29uKCl9YXN5bmMgZnVuY3Rpb24gSSgpe2NvbnN0IGU9YXdhaXQoMCx1LmZldGNoKShUKyJjaGFydHMvY291bnQvIik7aWYoIWUub2spdGhyb3cgZTtyZXR1cm4gZS5qc29uKCl9YXN5bmMgZnVuY3Rpb24gQyhlKXtjb25zdCB0PW5ldyBVUkwoYC9jaGFydC8ke2UudXJsfS9qc29uL2Asd2luZG93LmxvY2F0aW9uLm9yaWdpbiksYT1hd2FpdCgwLHUuZmV0Y2gpKHQudG9TdHJpbmcoKSx7bWV0aG9kOiJHRVQiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KTtpZighYS5vayl0aHJvdyBhO2xldCByO2NvbnN0IGk9YXdhaXQgYS5qc29uKCk7cmV0dXJuIHI9InVuZGVmaW5lZCIhPT1pLmNvbnRlbnQmJiJudWxsIiE9PWkuY29udGVudCYmaS5jb250ZW50P0pTT04ucGFyc2UoaS5jb250ZW50KTphd2FpdCBhc3luYyBmdW5jdGlvbigpe2NvbnN0IGU9KDAsZy5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKTthd2FpdCBlLnJlcXVlc3RNZXRhSW5mbygpO2NvbnN0W3Qse3ByZXBhcmVTdHVkeVByb3BlcnRpZXM6YX1dPWF3YWl0IFByb21pc2UuYWxsKFtlLmZpbmRCeUlkKHt0eXBlOiJqYXZhIixzdHVkeUlkOiJWb2x1bWVAdHYtYmFzaWNzdHVkaWVzIn0pLFByb21pc2UuYWxsKFtuLmUoMjE3ODQpLG4uZSgzMTAwMSksbi5lKDg2MTc4KSxuLmUoOTE5NDQpLG4uZSg5NzU1OCksbi5lKDY2OTg4KSxuLmUoOTcyNzIpLG4uZSg5MjcwKSxuLmUoODQyNjUpLG4uZSg1MzU1KSxuLmUoMTIyMjcpLG4uZSg1OTY0OSksbi5lKDQ3NTM4KV0pLnRoZW4obi5iaW5kKG4sNDM3NzQ5KSldKSxvPWEodCx7fSxudWxsLGUuc3R1ZHlWZXJzaW9uaW5nKCksW10pLHI9e21fcHJpY2VSYW5nZTpudWxsLG1faXNBdXRvU2NhbGU6ITAsbV9pc1BlcmNlbnRhZ2U6ITEsbV9pc0luZGV4ZWRUbzEwMDohMSxtX2lzTG9nOiExLG1faXNMb2NrU2NhbGU6ITEsbV9pc0ludmVydGVkOiExLG1fdG9wTWFyZ2luOi4xLG1fYm90dG9tTWFyZ2luOi4wOCxhbGlnbkxhYmVsczohMH07cmV0dXJue25hbWU6IiIsbGF5b3V0OiJzIixjaGFydHM6W3twYW5lczpbe21vZGU6Yi5QYW5lTW9kZS5SZWd1bGFyLHNvdXJjZXM6W3t0eXBlOiJNYWluU2VyaWVzIixpZDoiX3Nlcmllc0lkIix6b3JkZXI6MCxzdGF0ZTp7Li4uKG5ldyBmLlNlcmllc1Byb3BlcnRpZXNJbXBsKS5zdGF0ZSgpLHN0eWxlOjEsc3ltYm9sOiJOQVNEQVE6QUFQTCIsc2hvcnROYW1lOiJBQVBMIix0aW1lZnJhbWU6IiIsaW50ZXJ2YWw6IjFNIix1bml0SWQ6bnVsbCx0aW1lem9uZToiVVRDIixjdXJyZW5jeUlkOm51bGx9fSx7dHlwZToic3R1ZHlfVm9sdW1lIixpZDoibkFBTEdkIixzdGF0ZTpvLnN0YXRlKCksbWV0YUluZm86dC5zdGF0ZSgpfV0sbWFpblNvdXJjZUlkOiJfc2VyaWVzSWQiLHN0cmV0Y2hGYWN0b3I6MmUzLGxlZnRBeGlzZXNTdGF0ZTpbXSxyaWdodEF4aXNlc1N0YXRlOlt7c3RhdGU6e2lkOiJIOW8yemJaME5UakwiLC4uLnJ9LHNvdXJjZXM6WyJfc2VyaWVzSWQiXX1dLG92ZXJsYXlQcmljZVNjYWxlczp7bkFBTEdkOntpZDoiSDlvMnpiWjBOVGpMIiwuLi5yfX0scHJpY2VTY2FsZVJhdGlvOm51bGwsaXNDb2xsYXBzZWQ6ITEsaXNNYXhpbWl6ZWQ6ITF9XSx0aW1lU2NhbGU6e21fYmFyU3BhY2luZzo2LG1fcmlnaHRPZmZzZXQ6MTB9LGNoYXJ0UHJvcGVydGllczpuZXcgdy5EZWZhdWx0UHJvcGVydHkoe2RlZmF1bHROYW1lOiJjaGFydHByb3BlcnRpZXMifSkuc3RhdGUoKSx2ZXJzaW9uOjMsdGltZXpvbmU6IkV0Yy9VVEMiLHNob3VsZEJlU2F2ZWRFdmVuSWZIaWRkZW46ITEsbGlua2luZ0dyb3VwOm51bGwsbGluZVRvb2xzR3JvdXBzOntncm91cHM6W119LGNoYXJ0SWQ6IjEifV0sc3ltYm9sTG9jazowLAppbnRlcnZhbExvY2s6MCx0cmFja1RpbWVMb2NrOjAsZGF0ZVJhbmdlTG9jazowLGNyb3NzaGFpckxvY2s6MX19KCksImNvbnRlbnRfc3R1ZHlfbWV0YSJpbiBpJiYoMCxvLmRlZmF1bHQpKGkuY29udGVudF9zdHVkeV9tZXRhKSYmKHIuc3R1ZHlNZXRhSW5mb01hcD17Li4uci5zdHVkeU1ldGFJbmZvTWFwPz97fSwuLi5KU09OLnBhcnNlKGkuY29udGVudF9zdHVkeV9tZXRhKX0pLHtuYW1lOmkubmFtZSxjaGFydFdpZGdldENvbGxlY3Rpb25TdGF0ZTpyLHVpZDppLnVpZCxsYXN0TW9kaWZpZWQ6aS5sYXN0X21vZGlmaWVkLGlkOmkuaWQsZGVzY3JpcHRpb246aS5kZXNjcmlwdGlvbix1c2VybmFtZTppLnVzZXJuYW1lLGlzUHJpdmF0ZTppLmlzX3ByaXZhdGV9fWZ1bmN0aW9uIFMoZSx0KXtjb25zdCBuPSgwLHIuZ2VuZXJhdGVDaGFydFVybCkoe2NoYXJ0SWQ6ZS51cmx9KSxhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTthLmhyZWY9biwhKDAscC5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpJiYvXlwvY2hhcnQoXC98JCkvLnRlc3QobG9jYXRpb24ucGF0aG5hbWUpJiYoYS50YXJnZXQ9dD8iX2JsYW5rIjoiX3NlbGYiLGEucmVsPSJub29wZW5lciIpLGEuY2xpY2soKX1hc3luYyBmdW5jdGlvbiBrKGUsdCl7bGV0IG4sYTt0cnl7W24sYV09YXdhaXQgUHJvbWlzZS5hbGwoW20oZS5jb250ZW50KSxlLnN0dWR5X21ldGFfaW5mb19tYXA/bShlLnN0dWR5X21ldGFfaW5mb19tYXApOlByb21pc2UucmVzb2x2ZShlLnN0dWR5X21ldGFfaW5mb19tYXApXSl9Y2F0Y2goZSl7fWNvbnN0IG89bmV3IEZvcm1EYXRhO3QudWlkJiZvLmFwcGVuZCgiaW1hZ2VfdXJsIix0LnVpZCk7Zm9yKGNvbnN0IHQgaW4gZSkiaWQiIT09dCYmKCJjb250ZW50Ij09PXQmJm4/by5hcHBlbmQodCxuZXcgQmxvYihbbl0se3R5cGU6ImFwcGxpY2F0aW9uL2d6aXAifSksImJsb2IuZ3oiKToic3R1ZHlfbWV0YV9pbmZvX21hcCI9PT10JiZhP28uYXBwZW5kKHQsbmV3IEJsb2IoW2FdLHt0eXBlOiJhcHBsaWNhdGlvbi9nemlwIn0pLCJibG9iLmd6Iik6by5hcHBlbmQodCxlW3RdKSk7dHJ5e2NvbnN0IGU9YXdhaXQoMCx1LmZldGNoKShUKyJjaGFydHMvc2F2ZS8iLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpvfSk7aWYoIWUub2spe2NvbnN0e2RldGFpbDp0LGNvZGU6bn09YXdhaXQgYXN5bmMgZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJue307aWYoIShlLmhlYWRlcnMuZ2V0KCJjb250ZW50LXR5cGUiKT8/IiIpLmluY2x1ZGVzKCJhcHBsaWNhdGlvbi9qc29uIikpcmV0dXJue307dHJ5e3JldHVybiBhd2FpdCBlLmpzb24oKX1jYXRjaChlKXtyZXR1cm57fX19KGUpO3Rocm93IG5ldyB5KHQ/P2Uuc3RhdHVzVGV4dD8/IlVua25vd24gZXJyb3IiLHtzdGF0dXM6ZS5zdGF0dXMsY29kZTpuLHJlc3BvbnNlOmV9KX1jb25zdCB0PWF3YWl0IGUuanNvbigpO3JldHVybntyZXN1bHQ6e2lkOnQuaWQsaW1hZ2VfdXJsOnQuaW1hZ2VfdXJsP3QuaW1hZ2VfdXJsOnZvaWQgMCxsYXN0TW9kaWZpZWQ6dC5sYXN0X21vZGlmaWVkfSxyZXNwb25zZTplfX1jYXRjaChlKXtsZXQgdD1lO3Rocm93IGZ1bmN0aW9uKGUpe3JldHVybiBlIGluc3RhbmNlb2YgeX0odCl8fCh0PW5ldyB5KCgwLEUuZXJyb3JUb1N0cmluZykodCkpKSx0fX1hc3luYyBmdW5jdGlvbiBfKGUsdCxuLGEsbyl7cmV0dXJuIGsoYSxvKX1mdW5jdGlvbiBNKGUpe3JldHVybigwLHUuZmV0Y2gpKFQrImNoYXJ0cy9kZWxldGUvIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe3VpZDpbZV19KSxoZWFkZXJzOm5ldyBIZWFkZXJzKHsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9KX0pLnRoZW4oKGU9PntpZighZS5vayl0aHJvdyBlO3JldHVybiBlLmpzb24oKX0pKS50aGVuKChlPT57aWYoZS5lcnJvcil0aHJvdyBlLmVycm9yfSkpfWxldCBOPW51bGw7ZnVuY3Rpb24geigpe3JldHVybiBudWxsPT09TiYmKE49KDAsdS5mZXRjaCkoIi9hcGkvdjEvc3R1ZHktdGVtcGxhdGVzIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oaCkudGhlbigoZT0+e2NvbnN0IHQ9ZS5jdXN0b218fFtdLG49ZS5zdGFuZGFyZHx8W10sYT1lLmZ1bmRhbWVudGFsc3x8W10sbz1uZXcgU2V0KFsuLi5uLC4uLmFdLm1hcCgoZT0+ZS5uYW1lKSkpLHI9dC5tYXAoKGU9Pih7Li4uZSxpc19kZWZhdWx0OiExLGlzX2Z1bmRhbWVudGFsOiExLGZhdm9yaXRlX2RhdGU6ZS5mYXZvcml0ZV9kYXRlP25ldyBEYXRlKGUuZmF2b3JpdGVfZGF0ZSkuZ2V0VGltZSgpOm51bGx9KSkpO2Zvcihjb25zdCBlIG9mIHIpby5kZWxldGUoZS5uYW1lKTtjb25zdCBpPW4uZmlsdGVyKChlPT5vLmhhcyhlLm5hbWUpKSkubWFwKChlPT4oey4uLmUsaXNfZGVmYXVsdDohMCxpc19mdW5kYW1lbnRhbDohMSxmYXZvcml0ZV9kYXRlOmUuZmF2b3JpdGVfZGF0ZT9uZXcgRGF0ZShlLmZhdm9yaXRlX2RhdGUpLmdldFRpbWUoKTpudWxsfSkpKSxsPWEuZmlsdGVyKChlPT5vLmhhcyhlLm5hbWUpKSkubWFwKChlPT4oey4uLmUsaXNfZGVmYXVsdDohMCxpc19mdW5kYW1lbnRhbDohMCxmYXZvcml0ZV9kYXRlOmUuZmF2b3JpdGVfZGF0ZT9uZXcgRGF0ZShlLmZhdm9yaXRlX2RhdGUpLmdldFRpbWUoKTpudWxsfSkpKTtyZXR1cm5bLi4uciwuLi5pLC4uLmxdfSkpKSxOfWZ1bmN0aW9uIEwoKXtOPW51bGx9ZnVuY3Rpb24gRChlKXtyZXR1cm4gdD17bmFtZTplLm5hbWUsY29udGVudDplLmNvbnRlbnQsbWV0YV9pbmZvOmUubWV0YV9pbmZvfHx7aW5kaWNhdG9yczpbXX19LCgwLHUuZmV0Y2gpKCIvYXBpL3YxL3N0dWR5LXRlbXBsYXRlcyIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsbWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkodCl9KS50aGVuKChlPT57aWYoZS5vaylyZXR1cm4gZS5qc29uKCkudGhlbigoZT0+KHtyZXN1bHQ6ZX0pKSk7c3dpdGNoKGUuc3RhdHVzKXtjYXNlIDQwMzpyZXR1cm4gZS5qc29uKCkudGhlbigoZT0+KHsKZXJyb3I6ZS5jb2RlfSkpKTtjYXNlIDQyMjpyZXR1cm4gZS5qc29uKCkudGhlbigoZT0+KHtlcnJvcjplLmNvZGUsaWQ6ZS5pZH0pKSk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIm5vdCBvayIpfX0pKTt2YXIgdH1mdW5jdGlvbiBBKGUsdCxuKXsoZnVuY3Rpb24oZSx0KXtyZXR1cm4oMCx1LmZldGNoKShgL2FwaS92MS9zdHVkeS10ZW1wbGF0ZXMvJHtlfS9mYXZvcml0ZWAse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsbWV0aG9kOnQ/IlBPU1QiOiJERUxFVEUifSkudGhlbihoKX0pKGUsdCkudGhlbigoZT0+e24/LihlPy5mYXZvcml0ZV9kYXRlP25ldyBEYXRlKGUuZmF2b3JpdGVfZGF0ZSkuZ2V0VGltZSgpOm51bGwpfSkpfWZ1bmN0aW9uIE8oZSx0LG4peyhmdW5jdGlvbihlLHQpe3JldHVybigwLHUuZmV0Y2gpKGAvYXBpL3YxL3N0dWR5LXRlbXBsYXRlcy9zdGFuZGFyZC8ke2V9L2Zhdm9yaXRlYCx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixtZXRob2Q6dD8iUE9TVCI6IkRFTEVURSJ9KS50aGVuKGgpfSkoZSx0KS50aGVuKChlPT57bj8uKGU/LmZhdm9yaXRlX2RhdGU/bmV3IERhdGUoZS5mYXZvcml0ZV9kYXRlKS5nZXRUaW1lKCk6bnVsbCl9KSl9ZnVuY3Rpb24gQihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuKDAsdS5mZXRjaCkoYC9hcGkvdjEvc3R1ZHktdGVtcGxhdGVzLyR7ZX1gLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihoKX0oZSl9ZnVuY3Rpb24gSChlLHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4oMCx1LmZldGNoKShgL2FwaS92MS9zdHVkeS10ZW1wbGF0ZXMvc3RhbmRhcmQvJHtlfWAse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGgpfShlKS50aGVuKHQpfWZ1bmN0aW9uIGooZSl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybigwLHUuZmV0Y2gpKGAvYXBpL3YxL3N0dWR5LXRlbXBsYXRlcy8ke2V9YCx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixtZXRob2Q6IkRFTEVURSJ9KS50aGVuKChlPT57aWYoIWUub2spdGhyb3cgbmV3IEVycm9yKCJub3Qgb2siKX0pKX0oZSl9ZnVuY3Rpb24gUChlLHQsbil7KGZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsdS5mZXRjaCkoYC9hcGkvdjEvc3R1ZHktdGVtcGxhdGVzLyR7ZX0vcmVuYW1lL2Ase2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsbWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkodCl9KS50aGVuKGgpfSkoZSx7bmFtZTp0fSkudGhlbihuKX1mdW5jdGlvbiBVKGUsdCxuKXsoZnVuY3Rpb24oZSx0KXtyZXR1cm4oMCx1LmZldGNoKShgL2FwaS92MS9zdHVkeS10ZW1wbGF0ZXMvJHtlfWAse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsbWV0aG9kOiJQVVQiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh0KX0pLnRoZW4oaCl9KShlLHtuYW1lOnQubmFtZSxjb250ZW50OnQuY29udGVudCxtZXRhX2luZm86dC5tZXRhX2luZm98fHtpbmRpY2F0b3JzOltdfX0pLnRoZW4oKGU9Pm4oe3Jlc3VsdDplfSkpKX1mdW5jdGlvbiBXKGUpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4oMCx1LmZldGNoKShgL2RyYXdpbmctdGVtcGxhdGVzLyR7ZX0vYCx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4odil9KGUpfWZ1bmN0aW9uIFIoZSx0LG4pe3JldHVybiBmdW5jdGlvbihlLHQsbil7Y29uc3QgYT1uZXcgRm9ybURhdGE7cmV0dXJuIGEuYXBwZW5kKCJuYW1lIix0KSxhLmFwcGVuZCgidG9vbCIsZSksYS5hcHBlbmQoImNvbnRlbnQiLG4pLCgwLHUuZmV0Y2gpKCIvc2F2ZS1kcmF3aW5nLXRlbXBsYXRlLyIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OmF9KS50aGVuKHYpfShlLHQsbil9ZnVuY3Rpb24gRihlLHQpe3JldHVybiBhc3luYyBmdW5jdGlvbihlLHQpe2NvbnN0IG49YXdhaXQoMCx1LmZldGNoKShgL2RyYXdpbmctdGVtcGxhdGUvJHtlfS8/dGVtcGxhdGVOYW1lPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHQpfWAse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KSxhPWF3YWl0IHYobik7cmV0dXJuIEpTT04ucGFyc2UoYS5jb250ZW50KX0oZSx0KX1mdW5jdGlvbiBLKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1uZXcgRm9ybURhdGE7cmV0dXJuIG4uYXBwZW5kKCJuYW1lIix0KSxuLmFwcGVuZCgidG9vbCIsZSksKDAsdS5mZXRjaCkoIi9yZW1vdmUtZHJhd2luZy10ZW1wbGF0ZS8iLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpufSkudGhlbih2KX0oZSx0KX1jb25zdCBxPWF9LDMzMzMxMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRUd2Vtb2ppVXJsOigpPT5vfSk7dmFyIGE9bigyNjA2MDMpO2Z1bmN0aW9uIG8oZSx0KXtsZXQgbj0iIjtyZXR1cm4gYS5kZWZhdWx0LnBhcnNlKGUsKGU9PihuPWEuZGVmYXVsdC5iYXNlKygic3ZnIj09PXQ/YHN2Zy8ke2V9LnN2Z2A6YDcyeDcyLyR7ZX0ucG5nYCksITEpKSksbn1hLmRlZmF1bHQuYmFzZT0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvdHdlbW9qaS8xMy4wLjEvIn0sMzA5ODM2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2FkZFV0bVRvVXJsOigpPT5vfSk7dmFyIGE9big2MDE1ODcpO2Z1bmN0aW9uIG8oZSx0KXtpZighLyhbYS16QS1aMC05Li1dKnRyYWRpbmd2aWV3LmNvbSl8bG9jYWxob3N0Ly50ZXN0KGUpKXJldHVybiBlO2NvbnN0IG49KDAsYS5idWlsZFV0bVF1ZXJ5U3RyaW5nKSh0KTtpZigiIj09PW4pcmV0dXJuIGU7Y29uc3Qgbz1lLmluZGV4T2YoIj8iKSxyPWUuaW5kZXhPZigiIyIpLGk9LTEhPT1yO2lmKC0xIT09byYmKCFpfHxvPHIpKXtyZXR1cm5gJHtlLnNsaWNlKDAsbyl9PyR7aT9lLnNsaWNlKG8rMSxyKTplLnNsaWNlKG8rMSl9JiR7bn0ke2k/ZS5zbGljZShyKToiIn1gfWlmKGkpe3JldHVybmAke2Uuc2xpY2UoMCxyKX0/JHtufSR7ZS5zbGljZShyKX1gfXJldHVybmAke2V9PyR7bn1gfX0sNjAxNTg3KGUsdCxuKXsKInVzZSBzdHJpY3QiO24uZCh0LHtidWlsZFV0bVF1ZXJ5U3RyaW5nOigpPT5sLGJ1aWxkVXRtUXVlcnlTdHJpbmdGcm9tVXJsUGFyYW1zOigpPT5zLGZpbHRlclV0bUluZm86KCk9Pml9KTt2YXIgYT1uKDQ5MjY3Nyksbz1uKDY0MTU5Myk7Y29uc3Qgcj1bInV0bV9zb3VyY2UiLCJ1dG1fbWVkaXVtIiwidXRtX2NhbXBhaWduIl07ZnVuY3Rpb24gaShlKXtjb25zdCB0PXt9O3JldHVybiByLmZvckVhY2goKG49Pntjb25zdCBhPWVbbl07InN0cmluZyI9PXR5cGVvZiBhJiYiIiE9PWEmJih0W25dPSgwLG8uaHRtbEVzY2FwZSkoYSkpfSkpLHR9ZnVuY3Rpb24gbChlLHQ9ITEpe2NvbnN0IG49KDAsYS5jcmVhdGVVcmxQYXJhbXMpKGUpO3JldHVybiBuJiZ0PyI/IituOm59ZnVuY3Rpb24gcyhlKXtyZXR1cm4gbChpKCgwLGEuZ2V0VXJsUGFyYW1zKSgpKSxlKX19LDY5NjQzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDFsMi4zNSA0Ljc2IDUuMjYuNzctMy44IDMuNy45IDUuMjRMOSAxM2wtNC43IDIuNDcuOS01LjIzLTMuOC0zLjcxIDUuMjUtLjc3TDkgMXoiLz48L3N2Zz4nfSw4MjY5NzgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNOSAyLjEzbDEuOTAzIDMuODU1LjExNi4yMzYuMjYuMDM4IDQuMjU1LjYxOC0zLjA3OSAzLjAwMS0uMTg4LjE4NC4wNDQuMjU5LjcyNyA0LjIzNy0zLjgwNS0yTDkgMTIuNDM0bC0uMjMzLjEyMi0zLjgwNSAyLjAwMS43MjctNC4yMzcuMDQ0LS4yNi0uMTg4LS4xODMtMy4wNzktMy4wMDEgNC4yNTUtLjYxOC4yNi0uMDM4LjExNi0uMjM2TDkgMi4xM3oiLz48L3N2Zz4nfSwzNDc5NzMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTggOS41SDYuNWExIDEgMCAwIDAtMSAxdjExYTEgMSAwIDAgMCAxIDFoMTFhMSAxIDAgMCAwIDEtMVYyMG0tOC0xLjVoMTFhMSAxIDAgMCAwIDEtMXYtMTFhMSAxIDAgMCAwLTEtMWgtMTFhMSAxIDAgMCAwLTEgMXYxMWExIDEgMCAwIDAgMSAxeiIvPjwvc3ZnPid9LDQ4OTA1OShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkuNzA3IDlsNC42NDctNC42NDYtLjcwNy0uNzA4TDkgOC4yOTMgNC4zNTQgMy42NDZsLS43MDguNzA4TDguMjkzIDlsLTQuNjQ3IDQuNjQ2LjcwOC43MDhMOSA5LjcwN2w0LjY0NiA0LjY0Ny43MDgtLjcwN0w5LjcwNyA5eiIvPjwvc3ZnPid9LDU5OTc1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDFsMi4zNSA0Ljc2IDUuMjYuNzctMy44IDMuNy45IDUuMjRMOSAxM2wtNC43IDIuNDcuOS01LjIzLTMuOC0zLjcxIDUuMjUtLjc3TDkgMXoiLz48L3N2Zz4nfSwyMzA2ODYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNOSAyLjEzbDEuOTAzIDMuODU1LjExNi4yMzYuMjYuMDM4IDQuMjU1LjYxOC0zLjA3OSAzLjAwMS0uMTg4LjE4NC4wNDQuMjU5LjcyNyA0LjIzNy0zLjgwNS0yTDkgMTIuNDM0bC0uMjMzLjEyMi0zLjgwNSAyLjAwMS43MjctNC4yMzcuMDQ0LS4yNi0uMTg4LS4xODMtMy4wNzktMy4wMDEgNC4yNTUtLjYxOC4yNi0uMDM4LjExNi0uMjM2TDkgMi4xM3oiLz48L3N2Zz4nfSw4ODk1NDYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTcuMzMyIDYuNTQ4IDIxLjQyIDIwLjcwNEE5Ljk2MiA5Ljk2MiAwIDAgMCAyNCAxNGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwYTkuOTYxIDkuOTYxIDAgMCAwLTYuNjY4IDIuNTQ4Wm0xMy4zODEgMTQuODY0TDYuNjIxIDcuMjUyQTkuOTYyIDkuOTYyIDAgMCAwIDQgMTRjMCA1LjUyMyA0LjQ3NyAxMCAxMCAxMCAyLjU4NCAwIDQuOTM4LS45OCA2LjcxMy0yLjU4OFpNNi4yNjMgNi4xODFBMTAuOTY3IDEwLjk2NyAwIDAgMSAxNCAzYzYuMDc1IDAgMTEgNC45MjUgMTEgMTEgMCAzLjAzNi0xLjIzIDUuNzg1LTMuMjE4IDcuNzc1QTEwLjk2NyAxMC45NjcgMCAwIDEgMTQgMjVDNy45MjUgMjUgMyAyMC4wNzUgMyAxNGMwLTMuMDU4IDEuMjQ5LTUuODI2IDMuMjYzLTcuODJaIi8+PC9zdmc+J30sNzk1OTg2KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMS4xMTggNmEuNS41IDAgMCAwLS40NDcuMjc2TDkuODA5IDhINS41QTEuNSAxLjUgMCAwIDAgNCA5LjV2MTBBMS41IDEuNSAwIDAgMCA1LjUgMjFoMTZhMS41IDEuNSAwIDAgMCAxLjUtMS41di0xMEExLjUgMS41IDAgMCAwIDIxLjUgOGgtNC4zMDlsLS44NjItMS43MjRBLjUuNSAwIDAgMCAxNS44ODIgNmgtNC43NjR6bS0xLjM0Mi0uMTdBMS41IDEuNSAwIDAgMSAxMS4xMTggNWg0Ljc2NGExLjUgMS41IDAgMCAxIDEuMzQyLjgzTDE3LjgwOSA3SDIxLjVBMi41IDIuNSAwIDAgMSAyNCA5LjV2MTBhMi41IDIuNSAwIDAgMS0yLjUgMi41aC0xNkEyLjUgMi41IDAgMCAxIDMgMTkuNXYtMTBBMi41IDIuNSAwIDAgMSA1LjUgN2gzLjY5MWwuNTg1LTEuMTd6Ii8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy41IDE4YTMuNSAzLjUgMCAxIDAgMC03IDMuNSAzLjUgMCAwIDAgMCA3em0wIDFhNC41IDQuNSAwIDEgMCAwLTkgNC41IDQuNSAwIDAgMCAwIDl6Ii8+PC9zdmc+J30sMjAyNTExKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEzLjk4IDYuMDJMMTQuNSA2YzIuMTggMCA0LjE2LjggNS42NiAyLjE0bC01LjY2IDUuNjUtMi4zMS0yLjNhOC40MyA4LjQzIDAgMCAwIDEuNTUtMy42NCAxNC4wMSAxNC4wMSAwIDAgMCAuMjQtMS44M3ptLTEuMDEuMTJhOC40NSA4LjQ1IDAgMCAwLTQuMTMgMmwyLjY0IDIuNjNhNy41OSA3LjU5IDAgMCAwIDEuMjgtMy4xMmMuMTItLjU5LjE4LTEuMTIuMi0xLjUxem0tNC44MyAyLjdhOC40NSA4LjQ1IDAgMCAwLTIgNC4xM2MuMzktLjAzLjkyLS4xIDEuNTEtLjIxYTcuNTkgNy41OSAwIDAgMCAzLjEyLTEuMjhMOC4xNCA4Ljg0em0tMi4xMiA1LjE0YTguNDggOC40OCAwIDAgMCAyLjEyIDYuMThsNS42NS01LjY2LTIuMy0yLjMxYTguNDMgOC40MyAwIDAgMS0zLjY0IDEuNTUgMTQuMDMgMTQuMDMgMCAwIDEtMS44My4yNHptMi44MiA2Ljg4YTguNDYgOC40NiAwIDAgMCA1LjEzIDIuMTJ2LS4wN0E4Ljk1IDguOTUgMCAwIDEgMTYuMyAxN2wtMS44LTEuOC01LjY2IDUuNjV6TTE0Ljk3IDIzYzItLjEgMy44LS45IDUuMTktMi4xM0wxNyAxNy43MmE3Ljk0IDcuOTQgMCAwIDAtMi4wNCA1LjI3em01LjktMi44M2E4LjQ2IDguNDYgMCAwIDAgMi4xMS01LjEzaC0uMDJhMTAuNjIgMTAuNjIgMCAwIDAtNS4yIDJsMy4xIDMuMTN6bTIuMTItNi4xM2MtLjEtMi0uOS0zLjgtMi4xMy01LjE5bC01LjY1IDUuNjYgMS44MyAxLjgzYTExLjYgMTEuNiAwIDAgMSA1Ljk1LTIuM3pNMTQuNSA1QTkuNDYgOS40NiAwIDAgMCA1IDE0LjVjMCA1LjI4IDQuMjIgOS41IDkuNSA5LjVzOS41LTQuMjIgOS41LTkuNVMxOS43OCA1IDE0LjUgNXoiLz48L3N2Zz4nfSwxNjExNzcoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik00LjU0IDMuMmwuNzgtLjU5IDUuNDkgNC41IDEuNDMgMS4wN2E1LjI4IDUuMjggMCAwIDEgMi4xOS0yLjMgOS4xOSA5LjE5IDAgMCAxIDEuODgtLjg1aC4wNGwuMDEtLjAxLjE0LjQ4LjQyLS4yOHYuMDFsLjAxLjAyYTMuMTQgMy4xNCAwIDAgMSAuMTYuMjZsLjM3LjcyYy4yLjQ1LjQgMS4wMi41IDEuNjRhMi4xMyAyLjEzIDAgMCAxIDEuODkuNDZsLjE4LjE2LjAzLjAyLjE4LjE2Yy4yMi4xNi40Mi4yNy44MS4yNWE1LjkgNS45IDAgMCAwIDIuMi0uODZsLjY2LS4zNi4wOS43NWE1Ljk4IDUuOTggMCAwIDEtMS43IDUuMSA2Ljg3IDYuODcgMCAwIDEtMS43IDEuMjMgMTkuOTcgMTkuOTcgMCAwIDEgLjQ4IDIuNDhjLjI1IDEuNzMuNDIgNC4wOC4wNiA2LjVBMS40NiAxLjQ2IDAgMCAxIDE5LjY4IDI1aC03LjcxYTEuNSAxLjUgMCAwIDEtMS40LTIuMDZsMS0yLjQ3Yy0uMTguMDItLjM3LjAzLS41OC4wM2EzIDMgMCAwIDEtMS41My0uNCA2Ljg0IDYuODQgMCAwIDEtMS42LjY0Yy0xLjA4LjI3LTIuNTUuMjktMy43Mi0uODlhNC4wNiA0LjA2IDAgMCAxLS45Ni0zIDUuMSA1LjEgMCAwIDEgMi0zLjc0IDk4LjUgOTguNSAwIDAgMCAyLjctMi4yNEw0LjU1IDMuMnpNMTYuNSA1LjVsLS4xNC0uNDguMzUtLjEuMi4zLS40MS4yOHptLTcuODcgNi4wNmE1Ny40OCA1Ny40OCAwIDAgMS0yLjE5IDEuODJsLjQ5LjI2Yy42NS4zNyAxLjQ4LjkgMS45NyAxLjU2YTUuNzggNS43OCAwIDAgMSAxLjE0IDQuMDdsLjA2LjAzYy4xOS4xLjQ5LjIuOS4yLjY4IDAgLjk1LS4xMSAxLjAzLS4xNnYtLjAzbC45Ny4xOWgtLjUuNXYuMDNhLjc1Ljc1IDAgMCAxLS4wMS4xLjc0Ljc0IDAgMCAxLS4wOS4yMWwtMS4zOSAzLjQ3YS41LjUgMCAwIDAgLjQ3LjY5aDcuNzFjLjI0IDAgLjQzLS4xNy40Ny0uMzhhMjIgMjIgMCAwIDAtLjA2LTYuMjIgMjQuNCAyNC40IDAgMCAwLS41Ni0yLjcxIDExLjM1IDExLjM1IDAgMCAwLS45NC0xLjUyIDcuMSA3LjEgMCAwIDAtMi4zMS0yLjIybC0uNjItLjMxLjQ5LS41QTMuMDMgMy4wMyAwIDAgMCAxNyA4LjZhMS4yIDEuMiAwIDAgMCAuMDEtLjFjMC0uNjUtLjIyLTEuMzMtLjQ2LTEuODYtLjEtLjIxLS4xOC0uNC0uMjYtLjU0YTguMDcgOC4wNyAwIDAgMC0xLjM0LjY0Yy0uOS41NC0xLjc0IDEuMzItMS45NSAyLjM2di4wM2wtLjAyLjAzTDEyLjUgOWwuNDcuMTZ2LjAyYTIuOTcgMi45NyAwIDAgMS0uMS4yNiA1LjkgNS45IDAgMCAxLS4zMS42MmMtLjI3LjQ2LS43IDEuMDctMS4zNCAxLjM5LS42My4zMS0xLjM4LjMtMS45LjIzYTUuODMgNS44MyAwIDAgMS0uNy0uMTJ6bTMuMjYtMi4zOUwxMC4yIDcuOWwtLjAyLS4wMUw2LjMgNC43bDIuNTcgNS44OGguMDFjLjE0LjA0LjM0LjA4LjU3LjExLjQ3LjA2Ljk3LjA1IDEuMzQtLjE0LjM2LS4xOC42OC0uNTcuOTEtLjk5LjA4LS4xNC4xNS0uMjcuMi0uMzl6bTguMzIgNC42OGE1LjQ3IDUuNDcgMCAwIDAgMS4zNy0xLjAyIDQuODggNC44OCAwIDAgMCAxLjQ2LTMuNTNjLS44LjM5LTEuNDEuNTgtMS45Mi42MS0uNy4wNS0xLjE0LS4xOC0xLjQ5LS40NWE1LjYgNS42IDAgMCAxLS4yMi0uMTlsLS4wMy0uMDMtLjE3LS4xM2ExLjQgMS40IDAgMCAwLS4zMy0uMjJjLS4xOC0uMDctLjQ0LS4xMi0uOTMgMGwtLjEuNGMtLjEuMy0uMjguNjktLjU4IDEuMDkuODcuNTkgMS42IDEuNDYgMi4xNCAyLjJhMTQuOTIgMTQuOTIgMCAwIDEgLjggMS4yN3pNOS4wNSAxOS4xOXYtLjA5YTQuNzggNC43OCAwIDAgMC0uOTYtMy4zIDUuNTYgNS41NiAwIDAgMC0xLjY1LTEuMjljLS4zLS4xNy0uNi0uMy0uOC0uNGwtLjA1LS4wM2E0LjA1IDQuMDUgMCAwIDAtMS40IDIuODIgMy4xIDMuMSAwIDAgMCAuNjYgMi4yNWMuODMuODIgMS44Ni44NCAyLjc4LjYyYTUuNzEgNS43MSAwIDAgMCAxLjQyLS41OHptNC4yNi01Ljg3Yy0uMy4yNC0uNzQuNTQtMS4xOC42Ni0uMzcuMS0uODEuMS0xLjEyLjA4YTYuOTUgNi45NSAwIDAgMS0uNTQtLjA2aC0uMDVsLjA4LS41LjA4LS41LjAzLjAxYTUuMDIgNS4wMiAwIDAgMCAxLjI2IDBjLjI0LS4wNi41NC0uMjUuODMtLjQ3YTYuMSA2LjEgMCAwIDAgLjQyLS4zN2wuMDItLjAyLjM2LjM1LjM1LjM2aC0uMDFsLS4wMy4wNGE2LjA5IDYuMDkgMCAwIDEtLjUuNDJ6TTYgMTdoMXYtMUg2djF6Ii8+PC9zdmc+J30sNTY5Nzg1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTcuNSAyNHYtNS41bTAgMHMyLjctMS4xIDQuNS0xYzIuMS4xMiAyLjkgMS44OCA1IDIgMS44LjEgNC41LTEgNC41LTF2LTZtLTE0IDZ2LTZtMCAwdi02czIuNy0xLjEgNC41LTFjMi4xLjEyIDIuOSAxLjg4IDUgMiAxLjguMSA0LjUtMSA0LjUtMXY2bS0xNCAwczIuNy0xLjEgNC41LTFjMi4xLjEyIDIuOSAxLjg4IDUgMiAxLjguMSA0LjUtMSA0LjUtMSIvPjwvc3ZnPid9LDE4NTYwNShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTIuNSA4aDEuMzZsLS44NS0zLjM4Ljk4LS4yNC45IDMuNjJoNy42NGExLjM0IDEuMzQgMCAwIDEgLjIuMDJjLjEzLjAyLjMxLjA3LjUuMTYuMTguMDkuMzguMjQuNTMuNDYuMTUuMjQuMjQuNTIuMjQuODYgMCAuMzQtLjA5LjYyLS4yNC44NmExLjM4IDEuMzggMCAwIDEtLjc5LjU2TDIyIDI0LjU0bC0uMDMuNDZINi41Yy0xIDAtMS42NC0uNjgtMS45OS0xLjIzYTQuNCA0LjQgMCAwIDEtLjM4LS43OGwtLjAxLS4wNGMtLjEtLjAzLS4yMi0uMDctLjM0LS4xM2ExLjM2IDEuMzYgMCAwIDEtLjU0LS40NkExLjUxIDEuNTEgMCAwIDEgMyAyMS41YzAtLjM0LjA5LS42Mi4yNC0uODYuMTUtLjIyLjM1LS4zNy41NC0uNDYuMS0uMDUuMi0uMDkuMjgtLjExYTYuNiA2LjYgMCAwIDEgLjk2LTIuMzRDNS45MiAxNi4zNSA3LjU2IDE1IDEwLjUgMTVjLjcyIDAgMS4zNi4wOCAxLjkzLjIybC0uNC00LjNhMS4zOCAxLjM4IDAgMCAxLS44LS41N0ExLjUxIDEuNTEgMCAwIDEgMTEgOS41YzAtLjM0LjA5LS42Mi4yNC0uODYuMTUtLjIyLjM1LS4zNy41NC0uNDZhMS43MyAxLjczIDAgMCAxIC43LS4xOGguMDJ2LjVWOHptLjk2IDcuNTdhNS43MyA1LjczIDAgMCAxIDIuNTIgMi4xNiA2Ljg2IDYuODYgMCAwIDEgLjk1IDIuMzQgMS4zOCAxLjM4IDAgMCAxIC44Mi41OGMuMTYuMjMuMjUuNTEuMjUuODUgMCAuMzQtLjA5LjYyLS4yNC44Ni0uMTUuMjItLjM1LjM3LS41NC40Ni0uMTIuMDYtLjI0LjEtLjM0LjEzbC0uMDEuMDRhNC40IDQuNCAwIDAgMS0uNTQgMS4wMWg0LjdsLjkzLTEzaC04LjkxbC40MSA0LjU3ek0xNC41IDloOGEuNzMuNzMgMCAwIDEgLjI4LjA3Yy4wNi4wNC4xMS4wOC4xNS4xMy4wMy4wNS4wNy4xNC4wNy4zIDAgLjE2LS4wNC4yNS0uMDcuM2EuMzguMzggMCAwIDEtLjE1LjEzLjczLjczIDAgMCAxLS4yNy4wN0gxMi41YS43My43MyAwIDAgMS0uMjgtLjA3LjM4LjM4IDAgMCAxLS4xNS0uMTMuNTIuNTIgMCAwIDEtLjA3LS4zYzAtLjE2LjA0LS4yNS4wNy0uMy4wNC0uMDUuMDktLjEuMTUtLjEzQS43My43MyAwIDAgMSAxMi41IDloMi4wMXptMS40IDExYTUuOCA1LjggMCAwIDAtLjc2LTEuNzNDMTQuNDEgMTcuMTUgMTMuMDYgMTYgMTAuNSAxNmMtMi41NiAwLTMuOTEgMS4xNS00LjY0IDIuMjdBNS44NiA1Ljg2IDAgMCAwIDUuMSAyMGgxMC43OHpNNC41IDIxYS43Mi43MiAwIDAgMC0uMjguMDcuMzguMzggMCAwIDAtLjE1LjEzLjUyLjUyIDAgMCAwLS4wNy4zYzAgLjE2LjA0LjI1LjA3LjMuMDQuMDUuMDkuMS4xNS4xM2EuNzMuNzMgMCAwIDAgLjI3LjA3SDE2LjVhLjcyLjcyIDAgMCAwIC4yOC0uMDcuMzguMzggMCAwIDAgLjE1LS4xMy41Mi41MiAwIDAgMCAuMDctLjMuNTIuNTIgMCAwIDAtLjA3LS4zLjM4LjM4IDAgMCAwLS4xNS0uMTMuNzMuNzMgMCAwIDAtLjI3LS4wN0g0LjV6bS43MyAybC4xMy4yM2MuMjguNDUuNjUuNzcgMS4xNC43N2g4Yy41IDAgLjg2LS4zMiAxLjE0LS43Ny4wNS0uMDcuMS0uMTUuMTMtLjIzSDUuMjN6TTExIDE3djFoLTF2LTFoMXptLTMgMWgxdjFIOHYtMXptNCAxdi0xaDF2MWgtMXoiLz48L3N2Zz4nfSw2OTQ1MzIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkuNSAyMUg5aC41em04IDBIMTdoLjV6bS02LTEwSDExdjFoLjV2LTF6bTQgMWguNXYtMWgtLjV2MXptMiA3LjVoLjUtLjV6bS4yOS0xLjU5QTcuOTcgNy45NyAwIDAgMCAyMSAxMS41aC0xYTYuOTcgNi45NyAwIDAgMS0yLjc5IDUuNTlsLjU4Ljgyek0yMSAxMS41QTcuNSA3LjUgMCAwIDAgMTMuNSA0djFhNi41IDYuNSAwIDAgMSA2LjUgNi41aDF6TTEzLjUgNEE3LjUgNy41IDAgMCAwIDYgMTEuNWgxQTYuNSA2LjUgMCAwIDEgMTMuNSA1VjR6TTYgMTEuNWE3Ljk4IDcuOTggMCAwIDAgMy4yMSA2LjQxbC41Ny0uODJBNi45OCA2Ljk4IDAgMCAxIDcgMTEuNUg2ek05IDIxYTEgMSAwIDAgMCAxIDF2LTFIOXptOCAxYTEgMSAwIDAgMCAxLTFoLTF2MXptLTYtLjVWMjNoMXYtMS41aC0xem0wIDEuNWExIDEgMCAwIDAgMSAxdi0xaC0xem0xIDFoM3YtMWgtM3Yxem0zIDBhMSAxIDAgMCAwIDEtMWgtMXYxem0xLTF2LTEuNWgtMVYyM2gxem0tMy0xMS41djZoMXYtNmgtMXpNOS41IDIwaDh2LTFoLTh2MXpNOSAxNy41djJoMXYtMkg5em0wIDJWMjFoMXYtMS41SDl6bTkgMS41di0xLjVoLTFWMjFoMXptMC0xLjV2LTJoLTF2Mmgxek05LjUgMThoNHYtMWgtNHYxem00IDBoNHYtMWgtNHYxem0tMi02aDJ2LTFoLTJ2MXptMiAwaDJ2LTFoLTJ2MXpNMTAgMjJoMS41di0xSDEwdjF6bTEuNSAwaDR2LTFoLTR2MXptNCAwSDE3di0xaC0xLjV2MXoiLz48L3N2Zz4nfSw4MTQ2NzAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTYgMTQuNUM2IDkuNzggOS43OCA2IDE0LjUgNmM0LjcyIDAgOC41IDMuNzggOC41IDguNSAwIDQuNzItMy43OCA4LjUtOC41IDguNUE4LjQ2IDguNDYgMCAwIDEgNiAxNC41ek0xNC41IDVBOS40NiA5LjQ2IDAgMCAwIDUgMTQuNWMwIDUuMjggNC4yMiA5LjUgOS41IDkuNXM5LjUtNC4yMiA5LjUtOS41UzE5Ljc4IDUgMTQuNSA1ek0xNCAxNlY5aDF2Nmg0djFoLTV6Ii8+PC9zdmc+J30sNjIwNzgxKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNiAxNC41QzYgOS43OCA5Ljc4IDYgMTQuNSA2YzQuNzIgMCA4LjUgMy43OCA4LjUgOC41IDAgNC43Mi0zLjc4IDguNS04LjUgOC41QTguNDYgOC40NiAwIDAgMSA2IDE0LjV6TTE0LjUgNUE5LjQ2IDkuNDYgMCAwIDAgNSAxNC41YzAgNS4yOCA0LjIyIDkuNSA5LjUgOS41czkuNS00LjIyIDkuNS05LjVTMTkuNzggNSAxNC41IDV6TTEyIDEyYTEgMSAwIDEgMCAwIDIgMSAxIDAgMCAwIDAtMnptNCAxYTEgMSAwIDEgMSAyIDAgMSAxIDAgMCAxLTIgMHptLTYgNGwtLjQzLjI2di4wMWwuMDMuMDNhMy41NSAzLjU1IDAgMCAwIC4zLjQgNS43IDUuNyAwIDAgMCA5LjIyIDAgNS40MiA1LjQyIDAgMCAwIC4yOC0uNGwuMDItLjAzdi0uMDFMMTkgMTdsLS40My0uMjZ2LjAyYTIuNDUgMi40NSAwIDAgMS0uMjQuMzJjLS4xNy4yMS0uNDMuNS0uNzguNzlhNC43MSA0LjcxIDAgMCAxLTYuODgtLjggNC4zMiA0LjMyIDAgMCAxLS4yMy0uMzFsLS4wMS0uMDJMMTAgMTd6Ii8+PC9zdmc+J30sOTAwMzExKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTUuNiAxNS40M0E2LjE5IDYuMTkgMCAwIDEgMTQgNi4zNmE2LjE5IDYuMTkgMCAwIDEgOC40IDkuMDhsLS4wMy4wMi03LjMgNy4zMWExLjUgMS41IDAgMCAxLTIuMTMgMGwtNy4zLTcuMy0uMDMtLjAzbS43MS0uN3YtLjAxYTUuMTkgNS4xOSAwIDAgMSA3LjMzLTcuMzR2LjAxYy4yLjIuNTEuMTkuNyAwYTUuMTkgNS4xOSAwIDAgMSA3LjM0IDcuMzNsLS4wMy4wMi03LjMgNy4zMWEuNS41IDAgMCAxLS43MSAwbC03LjMtNy4zLS4wMy0uMDJ6Ii8+PC9zdmc+J30sNzUwNzY5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMi44NyA2LjQ0Yy4wOS0uNzgtLjUzLTEuNC0xLjMtMS4zMS0xLjQzLjE1LTMuNDMuNDgtNS40MiAxLjJhMTEuOCAxMS44IDAgMCAwLTUuMjMgMy40NEw5Ljg2IDExLjlsNi4yNCA2LjI0IDIuMTMtMS4wNmExMS44IDExLjggMCAwIDAgMy40NC01LjIzYy43Mi0xLjk5IDEuMDUtNCAxLjItNS40MXptLTQuOTMgMTEuOWwtMS43Mi44Ni0uMDQuMDJoLS4wNGwtMi4yLjY3di4wMWExOS42OCAxOS42OCAwIDAgMC0uMTMgMy4zM2MuMDEuMTQuMDguMjIuMTcuMjYuMDguMDQuMi4wNS4zMi0uMDNhMTguODMgMTguODMgMCAwIDAgMi43OS0yLjI2IDguMTggOC4xOCAwIDAgMCAuNDQtMS4xYy4xNi0uNTEuMzMtMS4xMi40MS0xLjc2em0tLjQ0IDMuMTZsLjM1LjM1LS4wMS4wMi0uMDUuMDVhMTYuODUgMTYuODUgMCAwIDEtLjgzLjc2Yy0uNTQuNDctMS4zIDEuMDgtMi4xIDEuNjFhMS4zIDEuMyAwIDAgMS0yLjA1LS45OCAxNi40NiAxNi40NiAwIDAgMSAuMDktMy4wOGwtLjE2LjA1YTEuNSAxLjUgMCAwIDEtMS41My0uMzZsLTMuMTMtMy4xM2MtLjQtLjQtLjU0LTEtLjM2LTEuNTNsLjA1LS4xNi0uMzYuMDRjLS43LjA2LTEuNjIuMTEtMi41NC4wNmExLjMgMS4zIDAgMCAxLTEuMTMtLjhjLS4xOC0uNDItLjEzLS45NC4xNy0xLjM1YTg3LjU1IDg3LjU1IDAgMCAxIDIuMTUtMi44bC4wNC0uMDR2LS4wMmwuNC4zMS0uMjItLjQ1LjAzLS4wMWE1LjkzIDUuOTMgMCAwIDEgLjM0LS4xNmMuMjMtLjEuNTUtLjIyLjk0LS4zNUE5Ljc3IDkuNzcgMCAwIDEgMTAuMjYgOWExMi45IDEyLjkgMCAwIDEgNS41NS0zLjYxYzIuMDktLjc2IDQuMTgtMS4xIDUuNjUtMS4yNiAxLjQxLS4xNSAyLjU2IDEgMi40IDIuNDFhMjQuMDQgMjQuMDQgMCAwIDEtMS4yNSA1LjY1QTEyLjkgMTIuOSAwIDAgMSAxOSAxNy43NGE5Ljc3IDkuNzcgMCAwIDEtLjg4IDMuNjEgOS4xOCA5LjE4IDAgMCAxLS4xNi4zNHYuMDNoLS4wMWwtLjQ1LS4yMnptMCAwbC40NS4yMi0uMDQuMDgtLjA2LjA1LS4zNS0uMzV6bS0xMS0xMWwtLjQtLjMxLjA4LS4wOS4xLS4wNS4yMi40NXptMy4xNi0uNDRhOS42MSA5LjYxIDAgMCAwLTIuODQuODRsLS4xMy4xNmExMDkuODMgMTA5LjgzIDAgMCAwLTEuOTcgMi41OC40LjQgMCAwIDAtLjA2LjM4Yy4wNC4xLjEyLjE3LjI3LjE4YTE2LjA1IDE2LjA1IDAgMCAwIDMuMTgtLjE1bC42Ni0yLjIuMDEtLjAzLjAyLS4wNC44Ni0xLjcyem01LjQgOC40NWwtNS41Ny01LjU2LS41MSAxLjctLjMxLjkyYS41LjUgMCAwIDAgLjEyLjUxbDMuMTMgMy4xM2EuNS41IDAgMCAwIC41LjEybC45Mi0uM2guMDJsMS43LS41MnptLTEwLjkxLjY0bDItMiAuNy43LTIgMi0uNy0uN3ptMCA0bDQtNCAuNy43LTQgNC0uNy0uN3ptNCAwbDItMiAuNy43LTIgMi0uNy0uN3pNMTYgMTAuNWExLjUgMS41IDAgMSAxIDMgMCAxLjUgMS41IDAgMCAxLTMgMHpNMTcuNSA4YTIuNSAyLjUgMCAxIDAgMCA1IDIuNSAyLjUgMCAwIDAgMC01eiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/change-interval-dialog.7a1e205ad9ad595dc28c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.015Z","timestamp":1785141585015,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/change-interval-dialog.7a1e205ad9ad595dc28c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-7e2f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 424d63d8e6aa5805eaa9e04e5298b166\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32303,"size_decoded":12573,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"012b19873ae550b0ac01861ba22c40d6","sha1":"d046baf7d21186590435643dfcaae010980cf02d","sha256":"ea8993b45e050b00b0c9f192820f9dd9d19b496d0915eab277f8a4e8d2855894","sha512":"c67cd6ee2ca902a6a5e4e6637b02a50d545bf653062bdad2b68810086db8adba534dfa065e2596c8c605ef0d40a451acd3bad6cf06580c05446349c8e9047841","ssdeep":"768:62g2dzQiBy1d8Xne9Rsdcr5n9caI3CqAUSfGEoZd69a8J13oTRcf:62g2dzQbXVIyGGGEoGZ2af","tlshash":"6ae22d9071d1b0e956f785eb807f0546f3372968780d4c24b279dccdbaec898a136fa9","first_seen":"2026-07-23T14:00:31.699735Z","last_seen":"2026-07-27T14:50:15.335276Z","times_seen":75,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0Njc3Miw2MzU5NSw2NDY0NCw3MTMwMF0sezkxNDQ4NyhlLHQpe3ZhciBuOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgcj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBvKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07aWYobil7dmFyIHM9dHlwZW9mIG47aWYoInN0cmluZyI9PT1zfHwibnVtYmVyIj09PXMpZS5wdXNoKG4pO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShuKSYmbi5sZW5ndGgpe3ZhciBpPW8uYXBwbHkobnVsbCxuKTtpJiZlLnB1c2goaSl9ZWxzZSBpZigib2JqZWN0Ij09PXMpZm9yKHZhciBhIGluIG4pci5jYWxsKG4sYSkmJm5bYV0mJmUucHVzaChhKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oby5kZWZhdWx0PW8sZS5leHBvcnRzPW8pOnZvaWQgMD09PShuPWZ1bmN0aW9uKCl7cmV0dXJuIG99LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1uKX0oKX0sMjA3MzQyKGUpe2UuZXhwb3J0cz17Y29udGFpbmVyOiJjb250YWluZXItTjg0WFNjR24iLCJjb250YWluZXIteHhzbWFsbCI6ImNvbnRhaW5lci14eHNtYWxsLU44NFhTY0duIiwiY29udGFpbmVyLXhzbWFsbCI6ImNvbnRhaW5lci14c21hbGwtTjg0WFNjR24iLCJjb250YWluZXItc21hbGwiOiJjb250YWluZXItc21hbGwtTjg0WFNjR24iLCJjb250YWluZXItbWVkaXVtIjoiY29udGFpbmVyLW1lZGl1bS1OODRYU2NHbiIsImNvbnRhaW5lci1sYXJnZSI6ImNvbnRhaW5lci1sYXJnZS1OODRYU2NHbiIsImludGVudC1kZWZhdWx0IjoiaW50ZW50LWRlZmF1bHQtTjg0WFNjR24iLGZvY3VzZWQ6ImZvY3VzZWQtTjg0WFNjR24iLHJlYWRvbmx5OiJyZWFkb25seS1OODRYU2NHbiIsZGlzYWJsZWQ6ImRpc2FibGVkLU44NFhTY0duIiwid2l0aC1oaWdobGlnaHQiOiJ3aXRoLWhpZ2hsaWdodC1OODRYU2NHbiIsZ3JvdXBlZDoiZ3JvdXBlZC1OODRYU2NHbiIsImFkanVzdC1wb3NpdGlvbiI6ImFkanVzdC1wb3NpdGlvbi1OODRYU2NHbiIsImZpcnN0LXJvdyI6ImZpcnN0LXJvdy1OODRYU2NHbiIsImZpcnN0LWNvbCI6ImZpcnN0LWNvbC1OODRYU2NHbiIsc3RyZXRjaDoic3RyZXRjaC1OODRYU2NHbiIsImZvbnQtc2l6ZS1tZWRpdW0iOiJmb250LXNpemUtbWVkaXVtLU44NFhTY0duIiwiZm9udC1zaXplLWxhcmdlIjoiZm9udC1zaXplLWxhcmdlLU44NFhTY0duIiwibm8tY29ybmVyLXRvcC1sZWZ0Ijoibm8tY29ybmVyLXRvcC1sZWZ0LU44NFhTY0duIiwibm8tY29ybmVyLXRvcC1yaWdodCI6Im5vLWNvcm5lci10b3AtcmlnaHQtTjg0WFNjR24iLCJuby1jb3JuZXItYm90dG9tLXJpZ2h0Ijoibm8tY29ybmVyLWJvdHRvbS1yaWdodC1OODRYU2NHbiIsIm5vLWNvcm5lci1ib3R0b20tbGVmdCI6Im5vLWNvcm5lci1ib3R0b20tbGVmdC1OODRYU2NHbiIsInNpemUteHhzbWFsbCI6InNpemUteHhzbWFsbC1OODRYU2NHbiIsInNpemUteHNtYWxsIjoic2l6ZS14c21hbGwtTjg0WFNjR24iLCJzaXplLXNtYWxsIjoic2l6ZS1zbWFsbC1OODRYU2NHbiIsInNpemUtbWVkaXVtIjoic2l6ZS1tZWRpdW0tTjg0WFNjR24iLCJzaXplLWxhcmdlIjoic2l6ZS1sYXJnZS1OODRYU2NHbiIsImludGVudC1zdWNjZXNzIjoiaW50ZW50LXN1Y2Nlc3MtTjg0WFNjR24iLCJpbnRlbnQtd2FybmluZyI6ImludGVudC13YXJuaW5nLU44NFhTY0duIiwiaW50ZW50LWRhbmdlciI6ImludGVudC1kYW5nZXItTjg0WFNjR24iLCJpbnRlbnQtcHJpbWFyeSI6ImludGVudC1wcmltYXJ5LU44NFhTY0duIiwiYm9yZGVyLW5vbmUiOiJib3JkZXItbm9uZS1OODRYU2NHbiIsImJvcmRlci10aGluIjoiYm9yZGVyLXRoaW4tTjg0WFNjR24iLCJib3JkZXItdGhpY2siOiJib3JkZXItdGhpY2stTjg0WFNjR24iLGhpZ2hsaWdodDoiaGlnaGxpZ2h0LU44NFhTY0duIixzaG93bjoic2hvd24tTjg0WFNjR24ifX0sODk0NDY0KGUpe2UuZXhwb3J0cz17ImlubmVyLXNsb3QiOiJpbm5lci1zbG90LU5iR3B0RDVqIixpbnRlcmFjdGl2ZToiaW50ZXJhY3RpdmUtTmJHcHRENWoiLGljb246Imljb24tTmJHcHRENWoiLCJpbm5lci1taWRkbGUtc2xvdCI6ImlubmVyLW1pZGRsZS1zbG90LU5iR3B0RDVqIiwiYmVmb3JlLXNsb3QiOiJiZWZvcmUtc2xvdC1OYkdwdEQ1aiIsImFmdGVyLXNsb3QiOiJhZnRlci1zbG90LU5iR3B0RDVqIn19LDU5MjU1MChlKXtlLmV4cG9ydHM9e2lucHV0OiJpbnB1dC1IMHhkQ25GUyIsInNpemUteHhzbWFsbCI6InNpemUteHhzbWFsbC1IMHhkQ25GUyIsInNpemUteHNtYWxsIjoic2l6ZS14c21hbGwtSDB4ZENuRlMiLCJzaXplLXNtYWxsIjoic2l6ZS1zbWFsbC1IMHhkQ25GUyIsInNpemUtbWVkaXVtIjoic2l6ZS1tZWRpdW0tSDB4ZENuRlMiLCJzaXplLWxhcmdlIjoic2l6ZS1sYXJnZS1IMHhkQ25GUyIsIndpdGgtc3RhcnQtc2xvdCI6IndpdGgtc3RhcnQtc2xvdC1IMHhkQ25GUyIsIndpdGgtZW5kLXNsb3QiOiJ3aXRoLWVuZC1zbG90LUgweGRDbkZTIn19LDcxNzE5NShlKXtlLmV4cG9ydHM9e2RpYWxvZzoiZGlhbG9nLVVHZEM2OXN3IixkaWFsb2dJbm5lcjoiZGlhbG9nSW5uZXItVUdkQzY5c3ciLHRpdGxlV3JhcHBlcjoidGl0bGVXcmFwcGVyLVVHZEM2OXN3Iix0aXRsZToidGl0bGUtVUdkQzY5c3ciLGluZm9IaW50OiJpbmZvSGludC1VR2RDNjlzdyIsZm9ybToiZm9ybS1VR2RDNjlzdyIsaW5wdXRXcmFwcGVyOiJpbnB1dFdyYXBwZXItVUdkQzY5c3ciLGlucHV0OiJpbnB1dC1VR2RDNjlzdyIsaGludDoiaGludC1VR2RDNjlzdyIsZXJyb3I6ImVycm9yLVVHZEM2OXN3In19LDg2NTU2MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUVkFwcENvbnRleHQ6KCk9PmMsVFZBcHBDb250ZXh0UHJvdmlkZXI6KCk9Pmx9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDExNTI5Mykscz1uKDk5OTUxKSxpPW4oMTE3MzEzKTtjb25zdCBhPXtpT3M6Im9sZCIsYW5kcm9pZDoibmV3IixvbGQ6Im9sZCIsbmV3OiJuZXciLGFueToiYW55In07ZnVuY3Rpb24gbChlKXsKY29uc3RbdF09KDAsci51c2VTdGF0ZSkoe2lzT25Nb2JpbGVBcHBQYWdlOmU9PigwLGkuaXNPbk1vYmlsZUFwcFBhZ2UpKGFbZV0pLGlzUnRsOigwLG8uaXNSdGwpKCksbG9jYWxlOndpbmRvdy5sb2NhbGUscmVuZGVyTW9kZTplLnJlbmRlck1vZGU/PyJsZWdhY3kifSk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChzLkFwcENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnR9LGUuY2hpbGRyZW4pfWNvbnN0IGM9cy5BcHBDb250ZXh0fSw1NzEzMDAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksbi5kKHQse2NyZWF0ZVJlYWN0Um9vdDooKT0+YX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oMTI5MzY1KSxzPW4oMzM2MzM0KSxpPW4oODY1NTYwKTtmdW5jdGlvbiBhKGUsdCxuPSJsZWdhY3kiKXtjb25zdCBhPXIuY3JlYXRlRWxlbWVudChpLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOm59LGUpO2lmKCJtb2Rlcm4iPT09bil7Y29uc3QgZT0oMCxzLmNyZWF0ZVJvb3QpKHQpO3JldHVybiBlLnJlbmRlcihhKSx7cmVuZGVyKHQpe2UucmVuZGVyKHIuY3JlYXRlRWxlbWVudChpLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOm59LHQpKX0sdW5tb3VudCgpe2UudW5tb3VudCgpfX19cmV0dXJuIG8ucmVuZGVyKGEsdCkse3JlbmRlcihlKXtvLnJlbmRlcihyLmNyZWF0ZUVsZW1lbnQoaS5UVkFwcENvbnRleHRQcm92aWRlcix7cmVuZGVyTW9kZTpufSxlKSx0KX0sdW5tb3VudCgpe28udW5tb3VudENvbXBvbmVudEF0Tm9kZSh0KX19fX0sNjU5ODc4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse21ha2VPdmVybGFwYWJsZTooKT0+c30pO3ZhciByPW4oNzc5NDc0KSxvPW4oNTg1NDgpO2Z1bmN0aW9uIHMoZSx0KXtyZXR1cm4gY2xhc3MgZXh0ZW5kcyByLlB1cmVDb21wb25lbnR7cmVuZGVyKCl7Y29uc3R7aXNPcGVuZWQ6bixyb290OnN9PXRoaXMucHJvcHM7aWYoIW4pcmV0dXJuIG51bGw7Y29uc3QgaT1yLmNyZWF0ZUVsZW1lbnQoZSx7Li4udGhpcy5wcm9wcyxyZWY6dGhpcy5wcm9wcy5jb21wb25lbnRSZWYsekluZGV4OjE1MH0pO3JldHVybiJwYXJlbnQiPT09cz9pOnIuY3JlYXRlRWxlbWVudChvLlBvcnRhbCx7c2hvdWxkVHJhcEZvY3VzOnR9LGkpfX19fSw5OTk1MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtBcHBDb250ZXh0OigpPT5yfSk7Y29uc3Qgcj0oMCxuKDc3OTQ3NCkuY3JlYXRlQ29udGV4dCkoe2lzT25Nb2JpbGVBcHBQYWdlOigpPT4hMSxpc1J0bDohMSxsb2NhbGU6ImVuIixyZW5kZXJNb2RlOiJsZWdhY3kifSl9LDUzMjAxMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDb250cm9sR3JvdXBDb250ZXh0OigpPT5zLGRlZmF1bHRDZWxsU3RhdGU6KCk9Pm99KTt2YXIgcj1uKDc3OTQ3NCk7Y29uc3Qgbz17aXNUb3A6ITAsaXNSaWdodDohMCxpc0JvdHRvbTohMCxpc0xlZnQ6ITB9LHM9ci5jcmVhdGVDb250ZXh0KHtpc0dyb3VwZWQ6ITEsY2VsbFN0YXRlOm99KX0sNjA1MTQxKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtsZXQgdD0wO3JldHVybiBlLmlzVG9wJiZlLmlzTGVmdHx8KHQrPTEpLGUuaXNUb3AmJmUuaXNSaWdodHx8KHQrPTIpLGUuaXNCb3R0b20mJmUuaXNMZWZ0fHwodCs9OCksZS5pc0JvdHRvbSYmZS5pc1JpZ2h0fHwodCs9NCksdH1uLmQodCx7Z2V0R3JvdXBDZWxsUmVtb3ZlUm91bmRCb3JkZXJzOigpPT5yfSl9LDU2MDQ5MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDb250cm9sU2tlbGV0b246KCk9Pl8sSW5wdXRDbGFzc2VzOigpPT5nfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLHM9bi5uKG8pLGk9bigxMzg2MzgpLGE9bigzMTk2OSksbD1uKDM0NTExNiksYz1uKDUzMjAxMSksdT1uKDYwNTE0MSk7dmFyIGQ9bigyMDczNDIpLGY9bi5uKGQpO2Z1bmN0aW9uIHAoZSl7bGV0IHQ9IiI7cmV0dXJuIDAhPT1lJiYoMSZlJiYodD1zKCkodCxmKClbIm5vLWNvcm5lci10b3AtbGVmdCJdKSksMiZlJiYodD1zKCkodCxmKClbIm5vLWNvcm5lci10b3AtcmlnaHQiXSkpLDQmZSYmKHQ9cygpKHQsZigpWyJuby1jb3JuZXItYm90dG9tLXJpZ2h0Il0pKSw4JmUmJih0PXMoKSh0LGYoKVsibm8tY29ybmVyLWJvdHRvbS1sZWZ0Il0pKSksdH1mdW5jdGlvbiBoKGUsdCxuLHIpe2NvbnN0e3JlbW92ZVJvdW5kQm9yZGVyOm8sY2xhc3NOYW1lOmksaW50ZW50OmE9ImRlZmF1bHQiLGJvcmRlclN0eWxlOmw9InRoaW4iLHNpemU6YyxoaWdobGlnaHQ6ZCxkaXNhYmxlZDpoLHJlYWRvbmx5Om0sc3RyZXRjaDpnLG5vUmVhZG9ubHlTdHlsZXM6dixpc0ZvY3VzZWQ6eX09ZSxfPXAobz8/KDAsdS5nZXRHcm91cENlbGxSZW1vdmVSb3VuZEJvcmRlcnMpKG4pKTtyZXR1cm4gcygpKGYoKS5jb250YWluZXIsZigpW2Bjb250YWluZXItJHtjfWBdLGYoKVtgaW50ZW50LSR7YX1gXSxmKClbYGJvcmRlci0ke2x9YF0sYyYmZigpW2BzaXplLSR7Y31gXSxfLGQmJmYoKVsid2l0aC1oaWdobGlnaHQiXSxoJiZmKCkuZGlzYWJsZWQsbSYmIXYmJmYoKS5yZWFkb25seSx5JiZmKCkuZm9jdXNlZCxnJiZmKCkuc3RyZXRjaCx0JiZmKCkuZ3JvdXBlZCwhciYmZigpWyJhZGp1c3QtcG9zaXRpb24iXSxuLmlzVG9wJiZmKClbImZpcnN0LXJvdyJdLG4uaXNMZWZ0JiZmKClbImZpcnN0LWNvbCJdLGkpfWZ1bmN0aW9uIG0oZSx0LG4pe2NvbnN0e2hpZ2hsaWdodDpyLGhpZ2hsaWdodFJlbW92ZVJvdW5kQm9yZGVyOm99PWU7aWYoIXIpcmV0dXJuIGYoKS5oaWdobGlnaHQ7Y29uc3QgaT1wKG8/PygwLHUuZ2V0R3JvdXBDZWxsUmVtb3ZlUm91bmRCb3JkZXJzKSh0KSk7cmV0dXJuIHMoKShmKCkuaGlnaGxpZ2h0LGYoKS5zaG93bixmKClbYHNpemUtJHtufWBdLGkpfWNvbnN0IGc9e0ZvbnRTaXplTWVkaXVtOigwLGkuZW5zdXJlRGVmaW5lZCkoZigpWyJmb250LXNpemUtbWVkaXVtIl0pLEZvbnRTaXplTGFyZ2U6KDAsaS5lbnN1cmVEZWZpbmVkKShmKClbImZvbnQtc2l6ZS1sYXJnZSJdKX0sdj17cGFzc2l2ZTohMX07ZnVuY3Rpb24geShlLHQpewpjb25zdHtzdHlsZTpuLGlkOm8scm9sZTpzLG9uRm9jdXM6aSxvbkJsdXI6dSxvbk1vdXNlT3ZlcjpkLG9uTW91c2VPdXQ6Zixvbk1vdXNlRW50ZXI6cCxvbk1vdXNlTGVhdmU6Zyxvbk1vdXNlRG93bjp5LG9uTW91c2VVcDpfLG9uS2V5RG93bjpDLG9uQ2xpY2s6dyx0YWJJbmRleDpTLHN0YXJ0U2xvdDpiLG1pZGRsZVNsb3Q6RSxlbmRTbG90Ongsb25XaGVlbDpOLG9uV2hlZWxOb1Bhc3NpdmU6Uj1udWxsLHNpemU6SSx0YWc6Tz0ic3BhbiIsdHlwZTpNfT1lLHtpc0dyb3VwZWQ6QSxjZWxsU3RhdGU6RCxkaXNhYmxlUG9zaXRpb25BZGp1c3RtZW50OlQ9ITF9PSgwLHIudXNlQ29udGV4dCkoYy5Db250cm9sR3JvdXBDb250ZXh0KSxHPWZ1bmN0aW9uKGUsdD1udWxsLG4pe2NvbnN0IG89KDAsci51c2VSZWYpKG51bGwpLHM9KDAsci51c2VSZWYpKG51bGwpLGk9KDAsci51c2VDYWxsYmFjaykoKCgpPT57aWYobnVsbD09PW8uY3VycmVudHx8bnVsbD09PXMuY3VycmVudClyZXR1cm47Y29uc3RbZSx0LG5dPXMuY3VycmVudDtudWxsIT09dCYmby5jdXJyZW50LmFkZEV2ZW50TGlzdGVuZXIoZSx0LG4pfSksW10pLGE9KDAsci51c2VDYWxsYmFjaykoKCgpPT57aWYobnVsbD09PW8uY3VycmVudHx8bnVsbD09PXMuY3VycmVudClyZXR1cm47Y29uc3RbZSx0LG5dPXMuY3VycmVudDtudWxsIT09dCYmby5jdXJyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZSx0LG4pfSksW10pLGw9KDAsci51c2VDYWxsYmFjaykoKGU9PnthKCksby5jdXJyZW50PWUsaSgpfSksW10pO3JldHVybigwLHIudXNlRWZmZWN0KSgoKCk9PihzLmN1cnJlbnQ9W2UsdCxuXSxpKCksYSkpLFtlLHQsbl0pLGx9KCJ3aGVlbCIsUix2KSxMPU87cmV0dXJuIHIuY3JlYXRlRWxlbWVudChMLHt0eXBlOk0sc3R5bGU6bixpZDpvLHJvbGU6cyxjbGFzc05hbWU6aChlLEEsRCxUKSx0YWJJbmRleDpTLHJlZjooMCxhLnVzZU1lcmdlZFJlZnMpKFt0LEddKSxvbkZvY3VzOmksb25CbHVyOnUsb25Nb3VzZU92ZXI6ZCxvbk1vdXNlT3V0OmYsb25Nb3VzZUVudGVyOnAsb25Nb3VzZUxlYXZlOmcsb25Nb3VzZURvd246eSxvbk1vdXNlVXA6XyxvbktleURvd246QyxvbkNsaWNrOncsb25XaGVlbDpOLC4uLigwLGwuZmlsdGVyRGF0YVByb3BzKShlKSwuLi4oMCxsLmZpbHRlckFyaWFQcm9wcykoZSl9LGIsRSx4LHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTptKGUsRCxJKX0pKX15LmRpc3BsYXlOYW1lPSJDb250cm9sU2tlbGV0b24iO2NvbnN0IF89ci5mb3J3YXJkUmVmKHkpfSw1MDU2MzkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7QWZ0ZXJTbG90OigpPT5mLEJlZm9yZVNsb3Q6KCk9PmwsRW5kU2xvdDooKT0+ZCxNaWRkbGVTbG90OigpPT51LFN0YXJ0U2xvdDooKT0+Y30pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxzPW4ubihvKSxpPW4oODk0NDY0KSxhPW4ubihpKTtmdW5jdGlvbiBsKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGNoaWxkcmVuOm59PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkoYSgpWyJiZWZvcmUtc2xvdCJdLHQpfSxuKX1mdW5jdGlvbiBjKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGludGVyYWN0aXZlOm49ITAsaWNvbjpvPSExLGNoaWxkcmVuOml9PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkoYSgpWyJpbm5lci1zbG90Il0sbiYmYSgpLmludGVyYWN0aXZlLG8mJmEoKS5pY29uLHQpfSxpKX1mdW5jdGlvbiB1KGUpe2NvbnN0e2NsYXNzTmFtZTp0LGNoaWxkcmVuOm59PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkoYSgpWyJpbm5lci1zbG90Il0sYSgpWyJpbm5lci1taWRkbGUtc2xvdCJdLHQpfSxuKX1mdW5jdGlvbiBkKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGludGVyYWN0aXZlOm49ITAsaWNvbjpvPSExLGNoaWxkcmVuOmksZGF0YVFhSWQ6bH09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShhKClbImlubmVyLXNsb3QiXSxuJiZhKCkuaW50ZXJhY3RpdmUsbyYmYSgpLmljb24sdCksImRhdGEtcWEtaWQiOmx9LGkpfWZ1bmN0aW9uIGYoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsY2hpbGRyZW46bixkYXRhUWFJZDpvfT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpKGEoKVsiYWZ0ZXItc2xvdCJdLHQpLCJkYXRhLXFhLWlkIjpvfSxuKX19LDM2MTg1NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtJbnB1dDooKT0+XyxJbnB1dENvbnRyb2w6KCk9PkN9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscz1uLm4obyksaT1uKDE0NzkwMSksYT1uKDM0NTExNiksbD1uKDgzMzkwMyksYz1uKDc4MDY1MSksdT1uKDMxOTY5KSxkPW4oOTA4MDk3KSxmPW4oMTQ1OTg0KSxwPW4oNTY0MjEpLGg9big1NjA0OTEpLG09big1MDU2MzkpLGc9big1OTI1NTApLHY9bi5uKGcpO2Z1bmN0aW9uIHkoZSl7cmV0dXJuISgwLGEuaXNBcmlhQXR0cmlidXRlKShlKSYmISgwLGEuaXNEYXRhQXR0cmlidXRlKShlKX1mdW5jdGlvbiBfKGUpe2NvbnN0e2lkOnQsdGl0bGU6bixyb2xlOm8sdGFiSW5kZXg6bCxwbGFjZWhvbGRlcjpjLG5hbWU6dSx0eXBlOmQsdmFsdWU6ZixkZWZhdWx0VmFsdWU6cCxkcmFnZ2FibGU6ZyxhdXRvQ29tcGxldGU6XyxhdXRvRm9jdXM6QyxhdXRvQ2FwaXRhbGl6ZTp3LGF1dG9Db3JyZWN0OlMsbWF4TGVuZ3RoOmIsbWluOkUsbWF4Ongsc3RlcDpOLHBhdHRlcm46UixpbnB1dE1vZGU6SSxvblNlbGVjdDpPLG9uRm9jdXM6TSxvbkJsdXI6QSxvbktleURvd246RCxvbktleVVwOlQsb25LZXlQcmVzczpHLG9uQ2hhbmdlOkwsb25EcmFnU3RhcnQ6ayxzaXplOlA9InNtYWxsIixjbGFzc05hbWU6eixpbnB1dENsYXNzTmFtZTpGLGRpc2FibGVkOkIscmVhZG9ubHk6VSxjb250YWluZXJUYWJJbmRleDpYLHN0YXJ0U2xvdDpqLGVuZFNsb3Q6SCxyZWZlcmVuY2U6JCxjb250YWluZXJSZWZlcmVuY2U6VixvbkNvbnRhaW5lckZvY3VzOlcsZGF0YVFhSWQ6SywuLi5xfT1lLFE9KDAsYS5maWx0ZXJQcm9wcykocSx5KSxaPXsuLi4oMCwKYS5maWx0ZXJBcmlhUHJvcHMpKHEpLC4uLigwLGEuZmlsdGVyRGF0YVByb3BzKShxKSxpZDp0LHRpdGxlOm4scm9sZTpvLHRhYkluZGV4OmwscGxhY2Vob2xkZXI6YyxuYW1lOnUsdHlwZTpkLHZhbHVlOmYsZGVmYXVsdFZhbHVlOnAsZHJhZ2dhYmxlOmcsYXV0b0NvbXBsZXRlOl8sYXV0b0ZvY3VzOkMsYXV0b0NhcGl0YWxpemU6dyxhdXRvQ29ycmVjdDpTLG1heExlbmd0aDpiLG1pbjpFLG1heDp4LHN0ZXA6TixwYXR0ZXJuOlIsaW5wdXRNb2RlOkksb25TZWxlY3Q6TyxvbkZvY3VzOk0sb25CbHVyOkEsb25LZXlEb3duOkQsb25LZXlVcDpULG9uS2V5UHJlc3M6RyxvbkNoYW5nZTpMLG9uRHJhZ1N0YXJ0Omt9O3JldHVybiByLmNyZWF0ZUVsZW1lbnQoaC5Db250cm9sU2tlbGV0b24sey4uLlEsZGlzYWJsZWQ6QixyZWFkb25seTpVLHRhYkluZGV4OlgsY2xhc3NOYW1lOnosc2l6ZTpQLHJlZjpWLG9uRm9jdXM6VyxzdGFydFNsb3Q6aixtaWRkbGVTbG90OnIuY3JlYXRlRWxlbWVudChtLk1pZGRsZVNsb3QsbnVsbCxyLmNyZWF0ZUVsZW1lbnQoImlucHV0Iix7Li4uWixjbGFzc05hbWU6cygpKHYoKS5pbnB1dCx2KClbYHNpemUtJHtQfWBdLEYsaiYmdigpWyJ3aXRoLXN0YXJ0LXNsb3QiXSxIJiZ2KClbIndpdGgtZW5kLXNsb3QiXSksZGlzYWJsZWQ6QixyZWFkT25seTpVLHJlZjokLCJkYXRhLXFhLWlkIjooMCxpLmRhdGFRYUlkcykoInVpLWxpYi1JbnB1dC1pbnB1dCIsSz9gJHtLfS1pbnB1dGA6dm9pZCAwKX0pKSxlbmRTbG90OkgsImRhdGEtcWEtaWQiOigwLGkuZGF0YVFhSWRzKSgidWktbGliLUlucHV0IixLKX0pfWZ1bmN0aW9uIEMoZSl7ZT0oMCxkLnVzZUNvbnRyb2wpKGUpO2NvbnN0e2Rpc2FibGVkOnQsYXV0b1NlbGVjdE9uRm9jdXM6bix0YWJJbmRleDpvPTAsb25Gb2N1czpzLG9uQmx1cjppLHJlZmVyZW5jZTphLGNvbnRhaW5lclJlZmVyZW5jZTpoPW51bGwsZGF0YVFhSWQ6bX09ZSxnPSgwLHIudXNlUmVmKShudWxsKSx2PSgwLHIudXNlUmVmKShudWxsKSxbeSxDXT0oMCxmLnVzZUZvY3VzKSgpLHc9dD92b2lkIDA6eT8tMTpvLFM9dD92b2lkIDA6eT9vOi0xLHtpc01vdXNlRG93bjpiLGhhbmRsZU1vdXNlRG93bjpFLGhhbmRsZU1vdXNlVXA6eH09KDAscC51c2VJc01vdXNlRG93bikoKSxOPSgwLGwuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoQy5vbkZvY3VzLChmdW5jdGlvbihlKXtuJiYhYi5jdXJyZW50JiYoMCxjLnNlbGVjdEFsbENvbnRlbnQpKGUuY3VycmVudFRhcmdldCl9KSxzKSxSPSgwLGwuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoQy5vbkJsdXIsaSksST0oMCxyLnVzZUNhbGxiYWNrKSgoZT0+e2cuY3VycmVudD1lLGEmJigiZnVuY3Rpb24iPT10eXBlb2YgYSYmYShlKSwib2JqZWN0Ij09dHlwZW9mIGEmJihhLmN1cnJlbnQ9ZSkpfSksW2csYV0pO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoXyx7Li4uZSxpc0ZvY3VzZWQ6eSxjb250YWluZXJUYWJJbmRleDp3LHRhYkluZGV4OlMsb25Db250YWluZXJGb2N1czpmdW5jdGlvbihlKXt2LmN1cnJlbnQ9PT1lLnRhcmdldCYmbnVsbCE9PWcuY3VycmVudCYmZy5jdXJyZW50LmZvY3VzKCl9LG9uRm9jdXM6TixvbkJsdXI6UixyZWZlcmVuY2U6SSxjb250YWluZXJSZWZlcmVuY2U6KDAsdS51c2VNZXJnZWRSZWZzKShbdixoXSksb25Nb3VzZURvd246RSxvbk1vdXNlVXA6eCxkYXRhUWFJZDptfSl9fSw5MDgwOTcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29udHJvbDooKT0+c30pO3ZhciByPW4oODMzOTAzKSxvPW4oMTQ1OTg0KTtmdW5jdGlvbiBzKGUpe2NvbnN0e29uRm9jdXM6dCxvbkJsdXI6bixpbnRlbnQ6cyxoaWdobGlnaHQ6aSxkaXNhYmxlZDphfT1lLFtsLGNdPSgwLG8udXNlRm9jdXMpKHZvaWQgMCxhKSx1PSgwLHIuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoYT92b2lkIDA6Yy5vbkZvY3VzLHQpLGQ9KDAsci5jcmVhdGVTYWZlTXVsdGljYXN0RXZlbnRIYW5kbGVyKShhP3ZvaWQgMDpjLm9uQmx1cixuKTtyZXR1cm57Li4uZSxpbnRlbnQ6c3x8KGw/InByaW1hcnkiOiJkZWZhdWx0IiksaGlnaGxpZ2h0Omk/P2wsb25Gb2N1czp1LG9uQmx1cjpkfX19LDE0NTk4NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VGb2N1czooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdCl7Y29uc3RbbixvXT0oMCxyLnVzZVN0YXRlKSghMSk7KDAsci51c2VFZmZlY3QpKCgoKT0+e3QmJm4mJm8oITEpfSksW3Qsbl0pO2NvbnN0IHM9e29uRm9jdXM6KDAsci51c2VDYWxsYmFjaykoKGZ1bmN0aW9uKHQpe3ZvaWQgMCE9PWUmJmUuY3VycmVudCE9PXQudGFyZ2V0fHxvKCEwKX0pLFtlXSksb25CbHVyOigwLHIudXNlQ2FsbGJhY2spKChmdW5jdGlvbih0KXt2b2lkIDAhPT1lJiZlLmN1cnJlbnQhPT10LnRhcmdldHx8byghMSl9KSxbZV0pfTtyZXR1cm5bbixzXX19LDU2NDIxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUlzTW91c2VEb3duOigpPT5vfSk7dmFyIHI9big3Nzk0NzQpO2Z1bmN0aW9uIG8oKXtjb25zdCBlPSgwLHIudXNlUmVmKSghMSksdD0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9PntlLmN1cnJlbnQ9ITB9KSxbZV0pLG49KDAsci51c2VDYWxsYmFjaykoKCgpPT57ZS5jdXJyZW50PSExfSksW2VdKTtyZXR1cm57aXNNb3VzZURvd246ZSxoYW5kbGVNb3VzZURvd246dCxoYW5kbGVNb3VzZVVwOm59fX0sMzE5NjkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlTWVyZ2VkUmVmczooKT0+c30pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTY0NTk0KTtmdW5jdGlvbiBzKGUpe3JldHVybigwLHIudXNlQ2FsbGJhY2spKCgwLG8ubWVyZ2VSZWZzKShlKSxlKX19LDkwMDg0MShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0LG4scixvKXtmdW5jdGlvbiBzKG8pe2lmKGU+by50aW1lU3RhbXApcmV0dXJuO2NvbnN0IHM9by50YXJnZXQ7dm9pZCAwIT09biYmbnVsbCE9PXQmJm51bGwhPT1zJiZzLm93bmVyRG9jdW1lbnQ9PT1yJiYodC5jb250YWlucyhzKXx8bihvKSl9CnJldHVybiBvLmNsaWNrJiZyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixzLCExKSxvLm1vdXNlRG93biYmci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHMsITEpLG8udG91Y2hFbmQmJnIuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHMsITEpLG8udG91Y2hTdGFydCYmci5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixzLCExKSwoKT0+e3IucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHMsITEpLHIucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixzLCExKSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixzLCExKSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHMsITEpfX1uLmQodCx7YWRkT3V0c2lkZUV2ZW50TGlzdGVuZXI6KCk9PnJ9KX0sMjM2NzY1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU91dHNpZGVFdmVudDooKT0+aX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oNjE2MzExKSxzPW4oOTAwODQxKTtmdW5jdGlvbiBpKGUpe2NvbnN0e2NsaWNrOnQsbW91c2VEb3duOm4sdG91Y2hFbmQ6aSx0b3VjaFN0YXJ0OmEsaGFuZGxlcjpsLHJlZmVyZW5jZTpjfT1lLHU9KDAsci51c2VSZWYpKG51bGwpLGQ9KDAsci51c2VSZWYpKCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93PzA6bmV3IHdpbmRvdy5DdXN0b21FdmVudCgidGltZXN0YW1wIikudGltZVN0YW1wKTtyZXR1cm4oMCxvLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9e2NsaWNrOnQsbW91c2VEb3duOm4sdG91Y2hFbmQ6aSx0b3VjaFN0YXJ0OmF9LHI9Yz9jLmN1cnJlbnQ6dS5jdXJyZW50O3JldHVybigwLHMuYWRkT3V0c2lkZUV2ZW50TGlzdGVuZXIpKGQuY3VycmVudCxyLGwsZG9jdW1lbnQsZSl9KSxbdCxuLGksYSxsXSksY3x8dX19LDI3MzMxMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtJY29uOigpPT5vfSk7dmFyIHI9big3Nzk0NzQpO2NvbnN0IG89ci5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e2ljb246bj0iIix0aXRsZTpvLGFyaWFMYWJlbDpzLGFyaWFMYWJlbGxlZGJ5OmksYXJpYUhpZGRlbjphLC4uLmx9PWUsYz0hIShvfHxzfHxpKTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJzcGFuIix7cm9sZToiaW1nIiwuLi5sLHJlZjp0LCJhcmlhLWxhYmVsIjpzLCJhcmlhLWxhYmVsbGVkYnkiOmksImFyaWEtaGlkZGVuIjphfHwhYyx0aXRsZTpvLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6bn19KX0pKX0sNTg1NDgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UG9ydGFsOigpPT5jLFBvcnRhbENvbnRleHQ6KCk9PnV9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDEyOTM2NSkscz1uKDg1Njc3MCksaT1uKDkwMzQyKSxhPW4oNTcwMTkzKSxsPW4oNjA3ODMyKTtjbGFzcyBjIGV4dGVuZHMgci5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl91dWlkPSgwLHMubmFub2lkKSgpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fbWFuYWdlcigpLnJlbW92ZVdpbmRvdyh0aGlzLl91dWlkKX1yZW5kZXIoKXtjb25zdCBlPXRoaXMuX21hbmFnZXIoKS5lbnN1cmVXaW5kb3codGhpcy5fdXVpZCx0aGlzLnByb3BzLmxheWVyT3B0aW9ucyk7ZS5zdHlsZS50b3A9dGhpcy5wcm9wcy50b3B8fCIiLGUuc3R5bGUuYm90dG9tPXRoaXMucHJvcHMuYm90dG9tfHwiIixlLnN0eWxlLmxlZnQ9dGhpcy5wcm9wcy5sZWZ0fHwiIixlLnN0eWxlLnJpZ2h0PXRoaXMucHJvcHMucmlnaHR8fCIiLGUuc3R5bGUucG9pbnRlckV2ZW50cz10aGlzLnByb3BzLnBvaW50ZXJFdmVudHN8fCIiO2NvbnN0IHQ9dGhpcy5wcm9wcy5jbGFzc05hbWU7cmV0dXJuIHQmJigic3RyaW5nIj09dHlwZW9mIHQ/ZS5jbGFzc0xpc3QuYWRkKHQpOmUuY2xhc3NMaXN0LmFkZCguLi50KSksdGhpcy5wcm9wcy5zaG91bGRUcmFwRm9jdXMmJiFlLmhhc0F0dHJpYnV0ZShhLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUpJiZlLnNldEF0dHJpYnV0ZShhLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUsInRydWUiKSx0aGlzLnByb3BzWyJhcmlhLWhpZGRlbiJdJiZlLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIiksby5jcmVhdGVQb3J0YWwoci5jcmVhdGVFbGVtZW50KHUuUHJvdmlkZXIse3ZhbHVlOnRoaXN9LHRoaXMucHJvcHMuY2hpbGRyZW4pLGUpfW1vdmVUb1RvcCgpe3RoaXMuX21hbmFnZXIoKS5tb3ZlVG9Ub3AodGhpcy5fdXVpZCl9X21hbmFnZXIoKXtyZXR1cm4gbnVsbD09PXRoaXMuY29udGV4dD8oMCxpLmdldFJvb3RPdmVybGFwTWFuYWdlcikoKTp0aGlzLmNvbnRleHR9fWMuY29udGV4dFR5cGU9bC5TbG90Q29udGV4dDtjb25zdCB1PXIuY3JlYXRlQ29udGV4dChudWxsKX0sNjA3ODMyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Nsb3Q6KCk9Pm8sU2xvdENvbnRleHQ6KCk9PnN9KTt2YXIgcj1uKDc3OTQ3NCk7Y2xhc3MgbyBleHRlbmRzIHIuQ29tcG9uZW50e3Nob3VsZENvbXBvbmVudFVwZGF0ZSgpe3JldHVybiExfXJlbmRlcigpe3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse3N0eWxlOntwb3NpdGlvbjoiZml4ZWQiLHpJbmRleDoxNTAsbGVmdDowLHRvcDowfSxyZWY6dGhpcy5wcm9wcy5yZWZlcmVuY2V9KX19Y29uc3Qgcz1yLmNyZWF0ZUNvbnRleHQobnVsbCl9LDM0NTExNihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIHMoZSxpKX1mdW5jdGlvbiBvKGUpe3JldHVybiBzKGUsYSl9ZnVuY3Rpb24gcyhlLHQpe2NvbnN0IG49T2JqZWN0LmVudHJpZXMoZSkuZmlsdGVyKHQpLHI9e307Zm9yKGNvbnN0W2UsdF1vZiBuKXJbZV09dDtyZXR1cm4gcn1mdW5jdGlvbiBpKGUpe2NvbnN0W3Qsbl09ZTtyZXR1cm4gMD09PXQuaW5kZXhPZigiZGF0YS0iKSYmInN0cmluZyI9PXR5cGVvZiBufWZ1bmN0aW9uIGEoZSl7cmV0dXJuIDA9PT1lWzBdLmluZGV4T2YoImFyaWEtIil9ZnVuY3Rpb24gbChlLHQpe2NvbnN0IG49cihlKTtyZXR1cm4gdCYmKG5bImRhdGEtcWEtaWQiXT10KSxufW4uZCh0LHtmaWx0ZXJBcmlhUHJvcHM6KCk9Pm8sCmZpbHRlckNoZWNrZWREYXRhUHJvcHM6KCk9PmwsZmlsdGVyRGF0YVByb3BzOigpPT5yLGZpbHRlclByb3BzOigpPT5zLGlzQXJpYUF0dHJpYnV0ZTooKT0+YSxpc0RhdGFBdHRyaWJ1dGU6KCk9Pml9KX0sMTQ3OTAxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1VJX0xJQl9EQVRBX1FBX0lEX1BSRUZJWDooKT0+aSxjb25jYXRJZk5vdE51bGw6KCk9PnMsZGF0YVFhSWRzOigpPT5vfSk7dmFyIHI9big1NjU3NDUpO2Z1bmN0aW9uIG8oZSx0KXtyZXR1cm5bZSx0XS5maWx0ZXIoci5pc0V4aXN0ZW50KS5qb2luKCIgIil9ZnVuY3Rpb24gcyhlLHQpe2lmKCgwLHIuaXNFeGlzdGVudCkodCkpcmV0dXJuW2UsdF0uam9pbigiICIpfWNvbnN0IGk9InVpLWxpYi0ifSw3ODA2NTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe251bGwhPT1lJiZlLnNldFNlbGVjdGlvblJhbmdlKDAsZS52YWx1ZS5sZW5ndGgpfW4uZCh0LHtzZWxlY3RBbGxDb250ZW50OigpPT5yfSl9LDk2NDU5NChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIHQ9PntlLmZvckVhY2goKGU9PnsiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJihlLmN1cnJlbnQ9dCl9KSl9fWZ1bmN0aW9uIG8oZSl7cmV0dXJuIHIoW2VdKX1uLmQodCx7aXNvbW9ycGhpY1JlZjooKT0+byxtZXJnZVJlZnM6KCk9PnJ9KX0sNzE4NTUzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse091dHNpZGVFdmVudDooKT0+b30pO3ZhciByPW4oMjM2NzY1KTtmdW5jdGlvbiBvKGUpe2NvbnN0e2NoaWxkcmVuOnQsLi4ubn09ZTtyZXR1cm4gdCgoMCxyLnVzZU91dHNpZGVFdmVudCkobikpfX0sOTAzNDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7T3ZlcmxhcE1hbmFnZXI6KCk9PmksZ2V0Um9vdE92ZXJsYXBNYW5hZ2VyOigpPT5sfSk7dmFyIHI9bigxMzg2MzgpLG89big1NzAxOTMpO2NsYXNzIHN7Y29uc3RydWN0b3IoKXt0aGlzLl9zdG9yYWdlPVtdfWFkZChlKXt0aGlzLl9zdG9yYWdlLnB1c2goZSl9cmVtb3ZlKGUpe3RoaXMuX3N0b3JhZ2U9dGhpcy5fc3RvcmFnZS5maWx0ZXIoKHQ9PmUhPT10KSl9aGFzKGUpe3JldHVybiB0aGlzLl9zdG9yYWdlLmluY2x1ZGVzKGUpfWdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX3N0b3JhZ2V9fWNsYXNzIGl7Y29uc3RydWN0b3IoZT1kb2N1bWVudCl7dGhpcy5fc3RvcmFnZT1uZXcgcyx0aGlzLl93aW5kb3dzPW5ldyBNYXAsdGhpcy5faW5kZXg9MCx0aGlzLl9kb2N1bWVudD1lLHRoaXMuX2NvbnRhaW5lcj1lLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKX1zZXRDb250YWluZXIoZSl7Y29uc3QgdD10aGlzLl9jb250YWluZXIsbj1udWxsPT09ZT90aGlzLl9kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk6ZTshZnVuY3Rpb24oZSx0KXtBcnJheS5mcm9tKGUuY2hpbGROb2RlcykuZm9yRWFjaCgoZT0+e2Uubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmdC5hcHBlbmRDaGlsZChlKX0pKX0odCxuKSx0aGlzLl9jb250YWluZXI9bn1yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLmhhcyhlKXx8dGhpcy5fc3RvcmFnZS5hZGQoZSl9ZW5zdXJlV2luZG93KGUsdD17cG9zaXRpb246ImZpeGVkIixkaXJlY3Rpb246Im5vcm1hbCJ9KXtjb25zdCBuPXRoaXMuX3dpbmRvd3MuZ2V0KGUpO2lmKHZvaWQgMCE9PW4pcmV0dXJuIG47dGhpcy5yZWdpc3RlcldpbmRvdyhlKTtjb25zdCByPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKHIuc3R5bGUucG9zaXRpb249dC5wb3NpdGlvbixyLnN0eWxlLnpJbmRleD10aGlzLl9pbmRleC50b1N0cmluZygpLHIuZGF0YXNldC5pZD1lLHZvaWQgMCE9PXQuaW5kZXgpe2NvbnN0IGU9dGhpcy5fY29udGFpbmVyLmNoaWxkTm9kZXMubGVuZ3RoO2lmKHQuaW5kZXg+PWUpdGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKHIpO2Vsc2UgaWYodC5pbmRleDw9MCl0aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKHIsdGhpcy5fY29udGFpbmVyLmZpcnN0Q2hpbGQpO2Vsc2V7Y29uc3QgZT10aGlzLl9jb250YWluZXIuY2hpbGROb2Rlc1t0LmluZGV4XTt0aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKHIsZSl9fWVsc2UicmV2ZXJzZSI9PT10LmRpcmVjdGlvbj90aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKHIsdGhpcy5fY29udGFpbmVyLmZpcnN0Q2hpbGQpOnRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChyKTtyZXR1cm4gdGhpcy5fd2luZG93cy5zZXQoZSxyKSwrK3RoaXMuX2luZGV4LHJ9dW5yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLnJlbW92ZShlKTtjb25zdCB0PXRoaXMuX3dpbmRvd3MuZ2V0KGUpO3ZvaWQgMCE9PXQmJihudWxsIT09dC5wYXJlbnRFbGVtZW50JiZ0LnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodCksdGhpcy5fd2luZG93cy5kZWxldGUoZSkpfWdldFppbmRleChlKXtjb25zdCB0PXRoaXMuZW5zdXJlV2luZG93KGUpO3JldHVybiBwYXJzZUludCh0LnN0eWxlLnpJbmRleHx8IjAiKX1tb3ZlTGFzdFdpbmRvd1RvVG9wKCl7Y29uc3QgZT10aGlzLl9zdG9yYWdlLmdldEl0ZW1zKCksdD1lW2UubGVuZ3RoLTFdO3QmJnRoaXMubW92ZVRvVG9wKHQpfW1vdmVUb1RvcChlKXtpZih0aGlzLmdldFppbmRleChlKSE9PXRoaXMuX2luZGV4KXtjb25zdCB0PXRoaXMuZW5zdXJlV2luZG93KGUpO3RoaXMuX3dpbmRvd3MuZm9yRWFjaCgoKGUsbik9PntlLmhhc0F0dHJpYnV0ZShvLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUpJiZlLnNldEF0dHJpYnV0ZShvLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUsZT09PXQ/InRydWUiOiJmYWxzZSIpfSkpLHQuc3R5bGUuekluZGV4PSgrK3RoaXMuX2luZGV4KS50b1N0cmluZygpfX1yZW1vdmVXaW5kb3coZSl7dGhpcy51bnJlZ2lzdGVyV2luZG93KGUpfX1jb25zdCBhPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIGwoZT1kb2N1bWVudCl7Y29uc3QgdD1lLmdldEVsZW1lbnRCeUlkKCJvdmVybGFwLW1hbmFnZXItcm9vdCIpO2lmKG51bGwhPT10KXJldHVybigwLHIuZW5zdXJlRGVmaW5lZCkoYS5nZXQodCkpO3sKY29uc3QgdD1uZXcgaShlKSxuPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHQuc3R5bGUuekluZGV4PTE1MC4udG9TdHJpbmcoKSx0LnN0eWxlLnRvcD0iMHB4Iix0LnN0eWxlLmxlZnQ9IjBweCIsdC5pZD0ib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiLHQuZGF0YXNldC5xYUlkPSJvdmVybGFwLW1hbmFnZXItcm9vdCIsdH0oZSk7cmV0dXJuIGEuc2V0KG4sdCksdC5zZXRDb250YWluZXIobiksZS5ib2R5LmFwcGVuZENoaWxkKG4pLHR9fXZhciBjOyFmdW5jdGlvbihlKXtlW2UuQmFzZVppbmRleD0xNTBdPSJCYXNlWmluZGV4In0oY3x8KGM9e30pKX0sODMzOTAzKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gciguLi5lKXtyZXR1cm4gdD0+e2Zvcihjb25zdCBuIG9mIGUpdm9pZCAwIT09biYmbih0KX19bi5kKHQse2NyZWF0ZVNhZmVNdWx0aWNhc3RFdmVudEhhbmRsZXI6KCk9PnJ9KX0sNTY1NzQ1KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4gbnVsbCE9ZX1uLmQodCx7aXNFeGlzdGVudDooKT0+cn0pfSw2MTYzMTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdDooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdCl7KCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93P3IudXNlRWZmZWN0OnIudXNlTGF5b3V0RWZmZWN0KShlLHQpfX0sODYzNDQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RGlhbG9nc09wZW5lck1hbmFnZXI6KCk9PnIsZGlhbG9nc09wZW5lck1hbmFnZXI6KCk9Pm99KTtjbGFzcyBye2NvbnN0cnVjdG9yKCl7dGhpcy5fc3RvcmFnZT1uZXcgTWFwfXNldEFzT3BlbmVkKGUsdCl7dGhpcy5fc3RvcmFnZS5zZXQoZSx0KX1zZXRBc0Nsb3NlZChlKXt0aGlzLl9zdG9yYWdlLmRlbGV0ZShlKX1pc09wZW5lZChlKXtyZXR1cm4gdGhpcy5fc3RvcmFnZS5oYXMoZSl9Z2V0RGlhbG9nUGF5bG9hZChlKXtyZXR1cm4gdGhpcy5fc3RvcmFnZS5nZXQoZSl9fWNvbnN0IG89bmV3IHJ9LDY5MjI2NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sdGlwV2lkZ2V0OigpPT5kLFRvb2x0aXBXaXphcmQ6KCk9PnV9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscz1uLm4obyksaT1uKDI3MzMxMCksYT1uKDU4NTQ4KSxsPW4oODA2NjkzKSxjPW4oOTIzNTEzKTtjbGFzcyB1IGV4dGVuZHMgci5QdXJlQ29tcG9uZW50e3JlbmRlcigpe2NvbnN0e2NoaWxkcmVuOmUscG9wcGVyQ2hpbGRyZW5Qcm9wczp0LG9uQ2xvc2U6bixyZWZlcmVuY2U6byxjb250YWluZXJDbGFzc05hbWU6aSxhcnJvd0NsYXNzTmFtZTpsLHJvbGU6dX09dGhpcy5wcm9wcztyZXR1cm4gci5jcmVhdGVFbGVtZW50KGEuUG9ydGFsLG51bGwsci5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6b30sci5jcmVhdGVFbGVtZW50KGQse3JlZmVyZW5jZTp0LnJlZixzdHlsZTp0LnN0eWxlLGFycm93Q2xhc3NOYW1lOnMoKShjLmFycm93SG9sZGVyLHRoaXMuX2dldEFycm93RGlyZWN0aW9uQ2xhc3MoKSxsKSxhcnJvd1JlZmVyZW5jZTp0LmFycm93UHJvcHMucmVmLGFycm93U3R5bGU6dC5hcnJvd1Byb3BzLnN0eWxlLCJkYXRhLXBsYWNlbWVudCI6dC5wbGFjZW1lbnQsb25DbG9zZTpuLGNvbnRhaW5lckNsYXNzTmFtZTppLHJvbGU6dX0sZSkpKX1fZ2V0QXJyb3dEaXJlY3Rpb25DbGFzcygpe2NvbnN0e3BvcHBlckNoaWxkcmVuUHJvcHM6ZX09dGhpcy5wcm9wcztzd2l0Y2goZS5wbGFjZW1lbnQpe2Nhc2UibGVmdCI6Y2FzZSJsZWZ0LXN0YXJ0IjpyZXR1cm4gcygpKGNbImFycm93SG9sZGVyLS1hZnRlciJdLGNbImFycm93SG9sZGVyLS1hZnRlci1sdHItZml4Il0pO2Nhc2UidG9wIjpyZXR1cm4gcygpKGNbImFycm93SG9sZGVyLS1hYm92ZSJdLGNbImFycm93SG9sZGVyLS1hYm92ZS1maXgiXSk7Y2FzZSJib3R0b20iOmNhc2UiYm90dG9tLXN0YXJ0IjpjYXNlImJvdHRvbS1lbmQiOnJldHVybiBjWyJhcnJvd0hvbGRlci0tYmVsb3ciXTtkZWZhdWx0OnJldHVybiBzKCkoY1siYXJyb3dIb2xkZXItLWJlZm9yZSJdLGNbImFycm93SG9sZGVyLS1iZWZvcmUtcnRsLWZpeCJdKX19fWZ1bmN0aW9uIGQoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsY29udGFpbmVyQ2xhc3NOYW1lOm4sY29udGVudENsYXNzTmFtZTpvLHJlZmVyZW5jZTphLHN0eWxlOnUsYXJyb3c6ZD0hMCxhcnJvd0NsYXNzTmFtZTpmLGFycm93UmVmZXJlbmNlOnAsb25DbG9zZTpoLGFycm93U3R5bGU6bSxjaGlsZHJlbjpnLHJvbGU6diwuLi55fT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLnksY2xhc3NOYW1lOnQscmVmOmEsc3R5bGU6dSwiZGF0YS1yb2xlIjp2fSxkJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmLHJlZjpwLHN0eWxlOm19KSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoYy5jb250YWluZXIsbil9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnMoKShjLmNvbnRlbnQsbyl9LGcpLGgmJnIuY3JlYXRlRWxlbWVudChpLkljb24se2NsYXNzTmFtZTpjLmNsb3NlQnV0dG9uLGljb246bCxvbkNsaWNrOmh9KSkpfX0sMzM2MzM0KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigxMjkzNjUpO3QuY3JlYXRlUm9vdD1yLmNyZWF0ZVJvb3Qsci5oeWRyYXRlUm9vdH0sMTI5MzY1KGUsdCxuKXsidXNlIHN0cmljdCI7IWZ1bmN0aW9uIGUoKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyYmImZ1bmN0aW9uIj09dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRSl0cnl7X19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKGUpfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoZSl9fSgpLGUuZXhwb3J0cz1uKDUzMjM4Nyl9LDEyMjc0OShlLHQpeyJ1c2Ugc3RyaWN0Igo7dmFyIG49U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLHI9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksbz1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLHM9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxpPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksYT1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLGw9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGM9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSx1PVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksZD1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksZj1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IikscD1TeW1ib2wuaXRlcmF0b3I7dmFyIGg9e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LG09T2JqZWN0LmFzc2lnbixnPXt9O2Z1bmN0aW9uIHYoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zyx0aGlzLnVwZGF0ZXI9bnx8aH1mdW5jdGlvbiB5KCl7fWZ1bmN0aW9uIF8oZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zyx0aGlzLnVwZGF0ZXI9bnx8aH12LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LHYucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0sdi5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LHkucHJvdG90eXBlPXYucHJvdG90eXBlO3ZhciBDPV8ucHJvdG90eXBlPW5ldyB5O0MuY29uc3RydWN0b3I9XyxtKEMsdi5wcm90b3R5cGUpLEMuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIHc9QXJyYXkuaXNBcnJheSxTPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksYj17Y3VycmVudDpudWxsfSxFPXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24geChlLHQscil7dmFyIG8scz17fSxpPW51bGwsYT1udWxsO2lmKG51bGwhPXQpZm9yKG8gaW4gdm9pZCAwIT09dC5yZWYmJihhPXQucmVmKSx2b2lkIDAhPT10LmtleSYmKGk9IiIrdC5rZXkpLHQpUy5jYWxsKHQsbykmJiFFLmhhc093blByb3BlcnR5KG8pJiYoc1tvXT10W29dKTt2YXIgbD1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWwpcy5jaGlsZHJlbj1yO2Vsc2UgaWYoMTxsKXtmb3IodmFyIGM9QXJyYXkobCksdT0wO3U8bDt1KyspY1t1XT1hcmd1bWVudHNbdSsyXTtzLmNoaWxkcmVuPWN9aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKG8gaW4gbD1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1zW29dJiYoc1tvXT1sW29dKTtyZXR1cm57JCR0eXBlb2Y6bix0eXBlOmUsa2V5OmkscmVmOmEscHJvcHM6cyxfb3duZXI6Yi5jdXJyZW50fX1mdW5jdGlvbiBOKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1ufXZhciBSPS9cLysvZztmdW5jdGlvbiBJKGUsdCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/ZnVuY3Rpb24oZSl7dmFyIHQ9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrZS5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfSkpfSgiIitlLmtleSk6dC50b1N0cmluZygzNil9ZnVuY3Rpb24gTyhlLHQsbyxzLGkpe3ZhciBhPXR5cGVvZiBlOyJ1bmRlZmluZWQiIT09YSYmImJvb2xlYW4iIT09YXx8KGU9bnVsbCk7dmFyIGw9ITE7aWYobnVsbD09PWUpbD0hMDtlbHNlIHN3aXRjaChhKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmw9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIG46Y2FzZSByOmw9ITB9fWlmKGwpcmV0dXJuIGk9aShsPWUpLGU9IiI9PT1zPyIuIitJKGwsMCk6cyx3KGkpPyhvPSIiLG51bGwhPWUmJihvPWUucmVwbGFjZShSLCIkJi8iKSsiLyIpLE8oaSx0LG8sIiIsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpKTpudWxsIT1pJiYoTihpKSYmKGk9ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6bix0eXBlOmUudHlwZSxrZXk6dCxyZWY6ZS5yZWYscHJvcHM6ZS5wcm9wcyxfb3duZXI6ZS5fb3duZXJ9fShpLG8rKCFpLmtleXx8bCYmbC5rZXk9PT1pLmtleT8iIjooIiIraS5rZXkpLnJlcGxhY2UoUiwiJCYvIikrIi8iKStlKSksdC5wdXNoKGkpKSwxO2lmKGw9MCxzPSIiPT09cz8iLiI6cysiOiIsdyhlKSlmb3IodmFyIGM9MDtjPGUubGVuZ3RoO2MrKyl7dmFyIHU9cytJKGE9ZVtjXSxjKTtsKz1PKGEsdCxvLHUsaSl9ZWxzZSBpZih1PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKGU9cCYmZVtwXXx8ZVsiQEBpdGVyYXRvciJdKT9lOm51bGx9KGUpLCJmdW5jdGlvbiI9PXR5cGVvZiB1KWZvcihlPXUuY2FsbChlKSxjPTA7IShhPWUubmV4dCgpKS5kb25lOylsKz1PKGE9YS52YWx1ZSx0LG8sdT1zK0koYSxjKyspLGkpO2Vsc2UgaWYoIm9iamVjdCI9PT1hKXRocm93IHQ9U3RyaW5nKGUpLEVycm9yKCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICIrKCJbb2JqZWN0IE9iamVjdF0iPT09dD8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyhlKS5qb2luKCIsICIpKyJ9Ijp0KSsiKS4gSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSBpbnN0ZWFkLiIpCjtyZXR1cm4gbH1mdW5jdGlvbiBNKGUsdCxuKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciByPVtdLG89MDtyZXR1cm4gTyhlLHIsIiIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwobixlLG8rKyl9KSkscn1mdW5jdGlvbiBBKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD1lLl9yZXN1bHQ7KHQ9dCgpKS50aGVuKChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pKSwtMT09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZigxPT09ZS5fc3RhdHVzKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIEQ9e2N1cnJlbnQ6bnVsbH0sVD17dHJhbnNpdGlvbjpudWxsfSxHPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOkQsUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6VCxSZWFjdEN1cnJlbnRPd25lcjpifTt0LkNoaWxkcmVuPXttYXA6TSxmb3JFYWNoOmZ1bmN0aW9uKGUsdCxuKXtNKGUsKGZ1bmN0aW9uKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxuKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4gTShlLChmdW5jdGlvbigpe3QrK30pKSx0fSx0b0FycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBNKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighTihlKSl0aHJvdyBFcnJvcigiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuIik7cmV0dXJuIGV9fSx0LkNvbXBvbmVudD12LHQuRnJhZ21lbnQ9byx0LlByb2ZpbGVyPWksdC5QdXJlQ29tcG9uZW50PV8sdC5TdHJpY3RNb2RlPXMsdC5TdXNwZW5zZT11LHQuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9Ryx0LmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQscil7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIG89bSh7fSxlLnByb3BzKSxzPWUua2V5LGk9ZS5yZWYsYT1lLl9vd25lcjtpZihudWxsIT10KXtpZih2b2lkIDAhPT10LnJlZiYmKGk9dC5yZWYsYT1iLmN1cnJlbnQpLHZvaWQgMCE9PXQua2V5JiYocz0iIit0LmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzKXZhciBsPWUudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKGMgaW4gdClTLmNhbGwodCxjKSYmIUUuaGFzT3duUHJvcGVydHkoYykmJihvW2NdPXZvaWQgMD09PXRbY10mJnZvaWQgMCE9PWw/bFtjXTp0W2NdKX12YXIgYz1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWMpby5jaGlsZHJlbj1yO2Vsc2UgaWYoMTxjKXtsPUFycmF5KGMpO2Zvcih2YXIgdT0wO3U8Yzt1KyspbFt1XT1hcmd1bWVudHNbdSsyXTtvLmNoaWxkcmVuPWx9cmV0dXJueyQkdHlwZW9mOm4sdHlwZTplLnR5cGUsa2V5OnMscmVmOmkscHJvcHM6byxfb3duZXI6YX19LHQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6bCxfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6YSxfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9LHQuY3JlYXRlRWxlbWVudD14LHQuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD14LmJpbmQobnVsbCxlKTtyZXR1cm4gdC50eXBlPWUsdH0sdC5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sdC5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpjLHJlbmRlcjplfX0sdC5pc1ZhbGlkRWxlbWVudD1OLHQubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6ZixfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0OkF9fSx0Lm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6ZCx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LHQuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PVQudHJhbnNpdGlvbjtULnRyYW5zaXRpb249e307dHJ5e2UoKX1maW5hbGx5e1QudHJhbnNpdGlvbj10fX0sdC51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0sdC51c2VDYWxsYmFjaz1mdW5jdGlvbihlLHQpe3JldHVybiBELmN1cnJlbnQudXNlQ2FsbGJhY2soZSx0KX0sdC51c2VDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBELmN1cnJlbnQudXNlQ29udGV4dChlKX0sdC51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSx0LnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24oZSl7cmV0dXJuIEQuY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKGUpfSx0LnVzZUVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBELmN1cnJlbnQudXNlRWZmZWN0KGUsdCl9LHQudXNlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gRC5jdXJyZW50LnVzZUlkKCl9LHQudXNlSW1wZXJhdGl2ZUhhbmRsZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIEQuY3VycmVudC51c2VJbXBlcmF0aXZlSGFuZGxlKGUsdCxuKX0sdC51c2VJbnNlcnRpb25FZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gRC5jdXJyZW50LnVzZUluc2VydGlvbkVmZmVjdChlLHQpfSx0LnVzZUxheW91dEVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBELmN1cnJlbnQudXNlTGF5b3V0RWZmZWN0KGUsdCl9LHQudXNlTWVtbz1mdW5jdGlvbihlLHQpe3JldHVybiBELmN1cnJlbnQudXNlTWVtbyhlLHQpfSx0LnVzZVJlZHVjZXI9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBELmN1cnJlbnQudXNlUmVkdWNlcihlLHQsbil9LHQudXNlUmVmPWZ1bmN0aW9uKGUpewpyZXR1cm4gRC5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gRC5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gRC5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxuKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIEQuY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sNzc5NDc0KGUsdCxuKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPW4oMTIyNzQ5KX0sNDUwNzgzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpLG4uZCh0LHtzaG93Q2hhbmdlSW50ZXJ2YWxEaWFsb2c6KCk9PlN9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscz1uLm4obyksaT1uKDE4NTI3MSksYT1uKDM2MTg1NSksbD1uKDU2MDQ5MSksYz1uKDIyNTI5OCksdT1uKDU4NTgyMSksZD1uKDI3MzMxMCksZj1uKDM3MTk0OCk7Y29uc3QgcD1pLnQobnVsbCx2b2lkIDAsbig0ODc3NjMpKSxoPWkudChudWxsLHZvaWQgMCxuKDIxMjA1KSk7ZnVuY3Rpb24gbShlKXtjb25zdHtjbGFzc05hbWU6dCxpc1NlY29uZHNFbmFibGVkOm59PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChkLkljb24se2ljb246ZixjbGFzc05hbWU6cygpKCJhcHBseS1jb21tb24tdG9vbHRpcCIsdCksdGl0bGU6bj9oOnB9KX12YXIgZz1uKDQ2NTEzNyksdj1uKDI1NDY3Myk7dmFyIHk9big3MTcxOTUpO2Z1bmN0aW9uIF8oZSl7Y29uc3R7aW5pdFZhbDp0LHNlbGVjdE9uSW5pdDpvLG9uQ2xvc2U6ZH09ZSxmPSgwLHIudXNlUmVmKShudWxsKSxbcCxoXT0oMCxyLnVzZVN0YXRlKSh0LnRvVXBwZXJDYXNlKCkpLF89KDAsci51c2VNZW1vKSgoKCk9PnYuSW50ZXJ2YWwucGFyc2UocCkpLFtwXSksQz1mdW5jdGlvbihlLHQpe3JldHVybigwLHIudXNlTWVtbykoKCgpPT57aWYoIXQuaXNWYWxpZCgpfHwhKDAsZy5pbnRlcnZhbElzU3VwcG9ydGVkKShlKSlyZXR1cm4hMTtjb25zdCBuPXYuSW50ZXJ2YWwubm9ybWFsaXplKGUpO3JldHVybiBudWxsIT09biYmKDAsZy5pc1Jlc29sdXRpb25NdWx0aXBsaWVyVmFsaWQpKG4pfSksW2UsdF0pfShwLF8pLHc9KDAsci51c2VNZW1vKSgoKCk9PntpZighQylyZXR1cm4gbnVsbDtyZXR1cm4oMCxnLmdldFRyYW5zbGF0ZWRSZXNvbHV0aW9uTW9kZWwpKF8udmFsdWUoKSkuaGludH0pLFtDLF9dKTtyZXR1cm4oMCxyLnVzZUxheW91dEVmZmVjdCkoKCgpPT57bz9mLmN1cnJlbnQ/LnNlbGVjdCgpOmYuY3VycmVudD8uZm9jdXMoKX0pLFtvXSksci5jcmVhdGVFbGVtZW50KHUuUG9wdXBEaWFsb2cse2NsYXNzTmFtZTp5LmRpYWxvZywiZGF0YS1kaWFsb2ctbmFtZSI6ImNoYW5nZS1pbnRlcnZhbC1kaWFsb2ciLGlzT3BlbmVkOiEwLG9uQ2xpY2tPdXRzaWRlOmQsb25Gb2N1czpmdW5jdGlvbigpe2YuY3VycmVudD8uZm9jdXMoKX0sb25LZXlEb3duOmZ1bmN0aW9uKGUpezI3PT09ZS5rZXlDb2RlJiZkPy4oKX19LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnkuZGlhbG9nSW5uZXJ9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnkudGl0bGVXcmFwcGVyfSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp5LnRpdGxlfSxpLnQobnVsbCx2b2lkIDAsbig1OTc3NzApKSksci5jcmVhdGVFbGVtZW50KG0se2NsYXNzTmFtZTp5LmluZm9IaW50LGlzU2Vjb25kc0VuYWJsZWQ6KDAsZy5pc1NlY29uZHNFbmFibGVkKSgpfSkpLHIuY3JlYXRlRWxlbWVudCgiZm9ybSIse2NsYXNzTmFtZTp5LmZvcm0sb25TdWJtaXQ6ZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IHQ9Yy5saW5raW5nLmludGVydmFsLnZhbHVlKCksbj12LkludGVydmFsLm5vcm1hbGl6ZShwKTtuJiZ0IT09biYmQyYmYy5saW5raW5nLnNldEludGVydmFsQW5kTG9nSW5pdGlhdG9yKG4sIkNoYW5nZSBpbnRlcnZhbCBkaWFsb2ciKTtkPy4oKX19LHIuY3JlYXRlRWxlbWVudChhLklucHV0Q29udHJvbCx7Y2xhc3NOYW1lOnMoKSh5LmlucHV0V3JhcHBlcixsLklucHV0Q2xhc3Nlcy5Gb250U2l6ZUxhcmdlKSxpbnB1dENsYXNzTmFtZTp5LmlucHV0LHR5cGU6InRleHQiLHNpemU6ImxhcmdlIixyZWZlcmVuY2U6Zix2YWx1ZTpwLG1heExlbmd0aDo4LGludGVudDpDP3ZvaWQgMDoiZGFuZ2VyIixvbkNoYW5nZTpmdW5jdGlvbihlKXtjb25zdHt2YWx1ZTp0fT1lLnRhcmdldDtoKHQudG9VcHBlckNhc2UoKSl9fSkpLEM/ci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6eS5oaW50fSx3KTpyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoeS5oaW50LHkuZXJyb3IpfSxpLnQobnVsbCx2b2lkIDAsbigxNDM0MTIpKSkpKX12YXIgQz1uKDg2MzQ0KSx3PW4oNTcxMzAwKTtmdW5jdGlvbiBTKGUpe2lmKEMuZGlhbG9nc09wZW5lck1hbmFnZXIuaXNPcGVuZWQoIkNoYW5nZUludGVydmFsRGlhbG9nIil8fEMuZGlhbG9nc09wZW5lck1hbmFnZXIuaXNPcGVuZWQoIlN5bWJvbFNlYXJjaCIpKXJldHVybjtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHtpbml0VmFsOm4sc2VsZWN0T25Jbml0Om8sb25DbG9zZTpzfT1lLGk9ci5jcmVhdGVFbGVtZW50KF8se2luaXRWYWw6bixzZWxlY3RPbkluaXQ6byxvbkNsb3NlOmZ1bmN0aW9uKCl7YS51bm1vdW50KCksQy5kaWFsb2dzT3BlbmVyTWFuYWdlci5zZXRBc0Nsb3NlZCgiQ2hhbmdlSW50ZXJ2YWxEaWFsb2ciKSxzPy4oKX19KSxhPSgwLHcuY3JlYXRlUmVhY3RSb290KShpLHQpO0MuZGlhbG9nc09wZW5lck1hbmFnZXIuc2V0QXNPcGVuZWQoIkNoYW5nZUludGVydmFsRGlhbG9nIil9fSwzMzI2NjAoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjtuLmQodCx7RGlhbG9nRXZlbnREaXNwYXRjaGVyOigpPT5hfSksZnVuY3Rpb24oZSl7ZS5PcGVuPSJkaWFsb2ctb3BlbiIsZS5DbG9zZT0iZGlhbG9nLWNsb3NlIixlLkZ1bGxzY3JlZW5Pbj0iZGlhbG9nLWZ1bGxzY3JlZW4tb24iLGUuRnVsbHNjcmVlbk9mZj0iZGlhbG9nLWZ1bGxzY3JlZW4tb2ZmIn0ocnx8KHI9e30pKQo7dmFyIG89bigyMjEwNjEpLHM9bigxNTAxNTApO2NvbnN0IGk9KDAsby5nZXRMb2dnZXIpKCJEaWFsb2dFdmVudERpc3BhdGNoZXIiKTtjbGFzcyBhe2NvbnN0cnVjdG9yKCl7dGhpcy5fb3BlblNlc3Npb25JZD1udWxsfWRpc3BhdGNoKGUpe2lmKCJkaWFsb2ctb3BlbiI9PT1lKXtpZihudWxsIT09dGhpcy5fb3BlblNlc3Npb25JZClyZXR1cm4gdm9pZCBpLmxvZ0Vycm9yKCJNdWx0aXBsZSBjYWxscyB0byBvcGVuIGRpYWxvZyIpO3RoaXMuX29wZW5TZXNzaW9uSWQ9KDAscy5yYW5kb21IYXNoKSgpfW51bGwhPT10aGlzLl9vcGVuU2Vzc2lvbklkPyh3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoZSx7YnViYmxlczohMCxkZXRhaWw6e2RpYWxvZ1Nlc3Npb25JZDp0aGlzLl9vcGVuU2Vzc2lvbklkfX0pKSwiZGlhbG9nLWNsb3NlIj09PWUmJih0aGlzLl9vcGVuU2Vzc2lvbklkPW51bGwpKTppLmxvZ0Vycm9yKCJFbXB0eSBvcGVuIGRpYWxvZyBzZXNzaW9uIGlkIil9fX0sMzM3MzYyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0VtYmVkVmlld3BvcnREaW1lbnNpb25zUHJvdmlkZXI6KCk9Pm99KTt2YXIgcj1uKDkzMDIzMSk7Y2xhc3Mgb3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2RhdGE9bnVsbCx0aGlzLl9tZXNzYWdlUmVjZWl2ZXI9bnVsbH1zdGFydExpc3RlbmluZygpe3RoaXMuX21lc3NhZ2VSZWNlaXZlcnx8KHRoaXMuX21lc3NhZ2VSZWNlaXZlcj1lPT57aWYoZS5kYXRhKXRyeXtjb25zdCB0PUpTT04ucGFyc2UoZS5kYXRhKTsic2V0LWVtYmVkLXJlc2l6ZXItb3ZlcnJpZGVzIj09PXQuZXZlbnQmJih0aGlzLl9kYXRhPXQuZWRnZXMpfWNhdGNoe319LHRoaXMuX2FkZE1lc3NhZ2VMaXN0ZW5lcigpKX1kZXN0cm95KCl7dGhpcy5fcmVtb3ZlTWVzc2FnZUxpc3RlbmVyKCl9ZGF0YSgpe3JldHVybiB0aGlzLl9kYXRhfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiB0aGlzLl9pbnN0YW5jZXx8KHRoaXMuX2luc3RhbmNlPW5ldyBvKSx0aGlzLl9pbnN0YW5jZX1fYWRkTWVzc2FnZUxpc3RlbmVyKCl7dGhpcy5fbWVzc2FnZVJlY2VpdmVyJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fbWVzc2FnZVJlY2VpdmVyKX1fcmVtb3ZlTWVzc2FnZUxpc3RlbmVyKCl7dGhpcy5fbWVzc2FnZVJlY2VpdmVyJiZ3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fbWVzc2FnZVJlY2VpdmVyKSx0aGlzLl9tZXNzYWdlUmVjZWl2ZXI9bnVsbH19KDAsci5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZW1iZWRfcmVzaXplcl9vdmVycmlkZXMiKSYmby5nZXRJbnN0YW5jZSgpLnN0YXJ0TGlzdGVuaW5nKCl9LDM3MTk0OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDguNWgxLjVWMTQiLz48Y2lyY2xlIGZpbGw9ImN1cnJlbnRDb2xvciIgY3g9IjkiIGN5PSI1IiByPSIxIi8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNi41IDlhNy41IDcuNSAwIDEgMS0xNSAwIDcuNSA3LjUgMCAwIDEgMTUgMHoiLz48L3N2Zz4nfSw4NTY3NzAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bmFub2lkOigpPT5yfSk7bGV0IHI9KGU9MjEpPT5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKG5ldyBVaW50OEFycmF5KGUpKS5yZWR1Y2UoKChlLHQpPT5lKz0odCY9NjMpPDM2P3QudG9TdHJpbmcoMzYpOnQ8NjI/KHQtMjYpLnRvU3RyaW5nKDM2KS50b1VwcGVyQ2FzZSgpOnQ+NjI/Ii0iOiJfIiksIiIpfX1dKTs="}},"time_used":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/72666.2229173bf4d674484637.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.116Z","timestamp":1785141585116,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/72666.2229173bf4d674484637.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 58\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-3a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5a471f5a21f7f42f3c1efbfb5c34badc\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":58,"size_decoded":842,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"691ceadea1eb9eac0db53f098918ee89","sha1":"6ac0eb21dbe2096e311778d8f7762524a2ce54ef","sha256":"07585e380a6fda6e9c3929fbd2c3632419823c24aa4ca17e10a444bc0e58e444","sha512":"487330ec519f60ed6fa1798f2dbd0164f0462df8bb57fdefa5c8d164fda54d213501636c4b9ba9de88958f080bc138c80676e892f659561af6eed5f946a9457f","ssdeep":"","tlshash":"97a00214848071d08e0bf34920d1b41ad2391be089b1e55d5517072d564f411055fcb4","first_seen":"2026-07-19T21:33:33.743099Z","last_seen":"2026-07-27T12:48:39.753843Z","times_seen":57,"resource_available":false,"data":"LmRpc2FibGVTZWxmUG9zaXRpb25pbmctTHJacDRST0N7bWFyZ2luOjA7cG9zaXRpb246c3RhdGljfQ=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/50221.f49da2a7279774aa5fe8.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.125Z","timestamp":1785141585125,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/50221.f49da2a7279774aa5fe8.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-c5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9ab24ad07b11e4451a38ff7238d1b4cc\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":197,"size_decoded":911,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"bc1901314fcc62f8ef539d88faeaca36","sha1":"ba55a4ec0d7824f8528bc278b9be78720717c84a","sha256":"026507e65d33327e7d6d98823d6fc3811034aa4a37822b71b643c63ed67730f4","sha512":"a067df264905a867bbb63d375d50b57eef2e9fbc7ee4f71675080a6027ba1e03725e3ad8d526bd8fd83638e2f7266526cbe7703db7bb22f0cf6c4ef13c7fa32d","ssdeep":"","tlshash":"3ed022b1e3b23017b921883ffe882acd12792036e210022c38dc266c4312b00d3204b1","first_seen":"2026-07-19T14:58:49.002434Z","last_seen":"2026-07-27T14:27:22.480528Z","times_seen":96,"resource_available":false,"data":"LndyYXBwZXItYm9IeW5lMTN7Ym9yZGVyOjFweCBzb2xpZH0ud3JhcHBlci1FaVNJQnY0ZHtib3JkZXItcmFkaXVzOjUwJX0ud3JhcHBlci1FaVNJQnY0ZCwud3JhcHBlci1hRGNTNGxlRywud3JhcHBlci1oVHpmYXQ5NXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0ud3JhcHBlci1hRGNTNGxlR3toZWlnaHQ6MjRweDt3aWR0aDoxMDBweH0="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/81107.1bba59e2089e58347859.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.817Z","timestamp":1785141584817,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/81107.1bba59e2089e58347859.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a168c40-1a6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 27 May 2026 06:16:32 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.53\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/27/2026 10:28:25\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bd6d75a01cde39475e839de96e0e4c2e\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":422,"size_decoded":1071,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (422), with no line terminators","md5":"bbedb6cfb6fdedcd16b81f2902fc0dd3","sha1":"a08e4fbb5cf25c5f36e5205c1daaef7e8932a13a","sha256":"a66450b6e17ba000dfee8e666e946eafb12a80bdece569b3d84ee53deeb26719","sha512":"ddd2ce1956348275866bef49d9e080afd694d048db9dee2058a369a7b03877c8fbbbcca91d67e5c712789bff19c9bae30838e8fe3b0cedf48ec09bf240623705","ssdeep":"","tlshash":"60e055a3f418822e3a12ad3b1390474fa069f8476803b658ea85b51800c36e328b1708","first_seen":"2026-05-29T10:56:22.456907Z","last_seen":"2026-07-27T12:48:39.804439Z","times_seen":316,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdm1jVjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtdm1jVjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKX0uZm9vdGVyLVlCSk16QV9se2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXZtY1YpO2JvcmRlci1yYWRpdXM6MCAwIDZweCA2cHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87Zm9udC1zaXplOjEzcHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtsaW5lLWhlaWdodDoxN3B4O21heC1oZWlnaHQ6NjVweDttaW4taGVpZ2h0OjQwcHg7cGFkZGluZzo5cHggMjBweDt0ZXh0LWFsaWduOmNlbnRlcn0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T08:39:40.234Z","timestamp":1785141580234,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: document\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: none\r\nPriority: u=0, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:40 GMT\r\nServer: Apache\r\nLink: \u003chttps://oxlofttrd.com/wp-json/\u003e; rel=\"https://api.w.org/\", \u003chttps://oxlofttrd.com/wp-json/wp/v2/pages/15\u003e; rel=\"alternate\"; title=\"JSON\"; type=\"application/json\", \u003chttps://oxlofttrd.com/\u003e; rel=shortlink\r\nCache-Control: max-age=0\r\nExpires: Mon, 27 Jul 2026 08:39:40 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 19092\r\nKeep-Alive: timeout=5, max=100\r\nConnection: Keep-Alive\r\nContent-Type: text/html; charset=UTF-8\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]},{"name":"jQuery","description":"jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.","website":"https://jquery.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery:*:*:*:*:*:*:*:*","icon":"jQuery.svg","categories":["JavaScript libraries"]},{"name":"jQuery Migrate:3.4.1","description":"Query Migrate is a javascript library that allows you to preserve the compatibility of your jQuery code developed for versions of jQuery older than 1.9.","website":"https://github.com/jquery/jquery-migrate","common_platform_enumeration":"","icon":"jQuery.svg","categories":["JavaScript libraries"]},{"name":"Contact Form 7:6.0.3","description":"Contact Form 7 is an WordPress plugin which can manage multiple contact forms. The form supports Ajax-powered submitting, CAPTCHA, Akismet spam filtering.","website":"https://contactform7.com","common_platform_enumeration":"","icon":"Contact Form 7.png","categories":["WordPress plugins","Form builders"]},{"name":"PHP","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]},{"name":"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":"Swiper","description":"Swiper is a JavaScript library that creates modern touch sliders with hardware-accelerated transitions.","website":"https://swiperjs.com","common_platform_enumeration":"","icon":"Swiper.svg","categories":["JavaScript libraries"]},{"name":"MySQL","description":"MySQL is an open-source relational database management system.","website":"https://mysql.com","common_platform_enumeration":"cpe:2.3:a:mysql:mysql:*:*:*:*:*:*:*:*","icon":"MySQL.svg","categories":["Databases"]},{"name":"Magnific Popup:1.0.0","description":"Magnific Popup is a responsive lightbox \u0026 dialog script with focus on performance and providing best experience for user with any device.","website":"https://dimsemenov.com/plugins/magnific-popup/","common_platform_enumeration":"","icon":"Magnific Popup.png","categories":["JavaScript libraries"]},{"name":"Elementor:3.26.5","description":"Elementor is a website builder platform for professionals on WordPress.","website":"https://elementor.com","common_platform_enumeration":"","icon":"Elementor.svg","categories":["Page builders","WordPress plugins"]},{"name":"WordPress:7.0.2","description":"WordPress is a free and open-source content management system written in PHP and paired with a MySQL or MariaDB database. Features include a plugin architecture and a template system.","website":"https://wordpress.org","common_platform_enumeration":"cpe:2.3:a:wordpress:wordpress:*:*:*:*:*:*:*:*","icon":"WordPress.svg","categories":["CMS","Blogs"]}],"data":{"size":89303,"size_decoded":19607,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (9139)","md5":"b3e3902b3b1988e197d810bc257193a4","sha1":"1b7a1d24a381f7680587dd6724bb6b861b069deb","sha256":"63609050a9521e780db7588e804d2f7b278be41d8d44a87cdd9fc90d1264f2a2","sha512":"bffe5dcc3b32e506f173af62438aa78f452743c983b879ba3240a9071c51f674896cbfcce4565052ca1d908e571c775855e86961d5451d5fa974e9b5b15481bd","ssdeep":"1536:mDyp+adfdU5oxpF0mpE+pujeYNyrGZ+cfmTBJ7AYQyBwbHqFh2S:mucToxpF0maoSyrGZnfmTBJ7AYQyBwm7","tlshash":"ef93e571788a2836110f02cf9027720ca49beef6d512a6e5f2ff61645bf1dd0bad3169","first_seen":"2026-07-27T06:14:34.115417Z","last_seen":"2026-07-27T08:41:50.584576Z","times_seen":3,"resource_available":false,"data":"PCFkb2N0eXBlIGh0bWw+CjxodG1sIGxhbmc9ImVuLVVTIj4KPGhlYWQ+Cgk8IS0tIE1ldGEgRGF0YSAtLT4KCTxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KCTxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgoJPGxpbmsgcmVsPSJwcm9maWxlIiBocmVmPSJodHRwczovL2dtcGcub3JnL3hmbi8xMSI+CgoJPHRpdGxlPk94IExvZnQgVHJhZGU8L3RpdGxlPgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iRW1icmFjZSBQcm9maXRhYmxlIFBvc3NpYmlsaXRpZXMg4oCTIFRyYWRpbmcgTWFkZSBFYXN5IiAvPgo8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9ImluZGV4LCBmb2xsb3ciIC8+CjxtZXRhIG5hbWU9Imdvb2dsZWJvdCIgY29udGVudD0iaW5kZXgsIGZvbGxvdywgbWF4LXNuaXBwZXQ6LTEsIG1heC1pbWFnZS1wcmV2aWV3OmxhcmdlLCBtYXgtdmlkZW8tcHJldmlldzotMSIgLz4KPG1ldGEgbmFtZT0iYmluZ2JvdCIgY29udGVudD0iaW5kZXgsIGZvbGxvdywgbWF4LXNuaXBwZXQ6LTEsIG1heC1pbWFnZS1wcmV2aWV3OmxhcmdlLCBtYXgtdmlkZW8tcHJldmlldzotMSIgLz4KPGxpbmsgcmVsPSJjYW5vbmljYWwiIGhyZWY9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS8iIC8+CjxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+eyJAY29udGV4dCI6Imh0dHBzOlwvXC9zY2hlbWEub3JnIiwiQHR5cGUiOiJXZWJTaXRlIiwibmFtZSI6Ik94IExvZnQgVHJhZGUiLCJhbHRlcm5hdGVOYW1lIjoiT3ggTG9mdCBUcmFkZSIsImRlc2NyaXB0aW9uIjoiRW1icmFjZSBQcm9maXRhYmxlIFBvc3NpYmlsaXRpZXMgJm5kYXNoOyBUcmFkaW5nIE1hZGUgRWFzeSIsInVybCI6Imh0dHBzOlwvXC9veGxvZnR0cmQuY29tIiwicG90ZW50aWFsQWN0aW9uIjp7IkB0eXBlIjoiU2VhcmNoQWN0biIsInRhcmdldCI6eyJAdHlwZSI6IkVudHJ5UG9pbnQiLCJ1cmxUZW1wbGF0ZSI6Imh0dHBzOlwvXC9veGxvZnR0cmQuY29tXC8/cz17c2VhcmNoX3Rlcm1fc3RyaW5nfSJ9LCJxdWVyeS1pbnB1dCI6InJlcXVpcmVkIG5hbWU9c2VhcmNoX3Rlcm1fc3RyaW5nIn19PC9zY3JpcHQ+CjxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS8iIC8+CjxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9Ik94IExvZnQgVHJhZGUiIC8+CjxtZXRhIHByb3BlcnR5PSJvZzpsb2NhbGUiIGNvbnRlbnQ9ImVuX1VTIiAvPgo8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0id2Vic2l0ZSIgLz4KPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSJPeCBMb2Z0IFRyYWRlIiAvPgo8bWV0YSBwcm9wZXJ0eT0ib2c6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkVtYnJhY2UgUHJvZml0YWJsZSBQb3NzaWJpbGl0aWVzIOKAkyBUcmFkaW5nIE1hZGUgRWFzeSIgLz4KPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlIiBjb250ZW50PSJodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjUvMDEvYWJvdXQtZnJvbnQtaW1nLmpwZyIgLz4KPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlOnNlY3VyZV91cmwiIGNvbnRlbnQ9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8wMS9hYm91dC1mcm9udC1pbWcuanBnIiAvPgo8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2U6d2lkdGgiIGNvbnRlbnQ9IjE0MDAiIC8+CjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTpoZWlnaHQiIGNvbnRlbnQ9IjIwOTkiIC8+CjxtZXRhIG5hbWU9InR3aXR0ZXI6Y2FyZCIgY29udGVudD0ic3VtbWFyeSIgLz4KPG1ldGEgbmFtZT0idHdpdHRlcjp0aXRsZSIgY29udGVudD0iT3ggTG9mdCBUcmFkZSIgLz4KPG1ldGEgbmFtZT0idHdpdHRlcjpkZXNjcmlwdGlvbiIgY29udGVudD0iRW1icmFjZSBQcm9maXRhYmxlIFBvc3NpYmlsaXRpZXMg4oCTIFRyYWRpbmcgTWFkZSBFYXN5IiAvPgo8bWV0YSBuYW1lPSJ0d2l0dGVyOmltYWdlIiBjb250ZW50PSJodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjUvMDEvYWJvdXQtZnJvbnQtaW1nLmpwZyIgLz4KPGxpbmsgcmVsPSdkbnMtcHJlZmV0Y2gnIGhyZWY9Jy8vZm9udHMuZ29vZ2xlYXBpcy5jb20nIC8+CjxsaW5rIHJlbD0iYWx0ZXJuYXRlIiB0eXBlPSJhcHBsaWNhdGlvbi9yc3MreG1sIiB0aXRsZT0iT3ggTG9mdCBUcmFkZSAmcmFxdW87IEZlZWQiIGhyZWY9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS9mZWVkLyIgLz4KPGxpbmsgcmVsPSJhbHRlcm5hdGUiIHR5cGU9ImFwcGxpY2F0aW9uL3Jzcyt4bWwiIHRpdGxlPSJPeCBMb2Z0IFRyYWRlICZyYXF1bzsgQ29tbWVudHMgRmVlZCIgaHJlZj0iaHR0cHM6Ly9veGxvZnR0cmQuY29tL2NvbW1lbnRzL2ZlZWQvIiAvPgo8c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iPnsiQGNvbnRleHQiOiJodHRwczpcL1wvc2NoZW1hLm9yZyIsIkB0eXBlIjoiT3JnYW5pemF0aW9uIiwibmFtZSI6Ik94IExvZnQgVHJhZGUiLCJ1cmwiOiJodHRwczpcL1wvb3hsb2Z0dHJkLmNvbSJ9PC9zY3JpcHQ+PGxpbmsgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJvRW1iZWQgKEpTT04pIiB0eXBlPSJhcHBsaWNhdGlvbi9qc29uK29lbWJlZCIgaHJlZj0iaHR0cHM6Ly9veGxvZnR0cmQuY29tL3dwLWpzb24vb2VtYmVkLzEuMC9lbWJlZD91cmw9aHR0cHMlM0ElMkYlMkZveGxvZnR0cmQuY29tJTJGIiAvPgo8bGluayByZWw9ImFsdGVybmF0ZSIgdGl0bGU9Im9FbWJlZCAoWE1MKSIgdHlwZT0idGV4dC94bWwrb2VtYmVkIiBocmVmPSJodHRwczovL294bG9mdHRyZC5jb20vd3AtanNvbi9vZW1iZWQvMS4wL2VtYmVkP3VybD1odHRwcyUzQSUyRiUyRm94bG9mdHRyZC5jb20lMkYmIzAzODtmb3JtYXQ9eG1sIiAvPgo8c3R5bGUgaWQ9IndwLWltZy1hdXRvLXNpemVzLWNvbnRhaW4taW5saW5lLWNzcyI+CmltZzppcyhbc2l6ZXM9YXV0byBpXSxbc2l6ZXNePSJhdXRvLCIgaV0pe2NvbnRhaW4taW50cmluc2ljLXNpemU6MzAwMHB4IDE1MDBweH0KLyojIHNvdXJjZVVSTD13cC1pbWctYXV0by1zaXplcy1jb250YWluLWlubGluZS1jc3MgKi8KPC9zdHlsZT4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nYXNobGV5LXBsdWdpbi1mcm9udGVuZC13aWRnZXQtc3R5bGUtY3NzJyBocmVmPSdodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC9wbHVnaW5zL2FzaGxleS1wbHVnaW4vZWxlbWVudG9yL2Fzc2V0cy9jc3Mvc3R5bGUuY3NzP3Zlcj0xJyBtZWRpYT0nYWxsJyAvPgo8c3R5bGUgaWQ9IndwLWVtb2ppLXN0eWxlcy1pbmxpbmUtY3NzIj4KCglpbWcud3Atc21pbGV5LCBpbWcuZW1vamkgewoJCWRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OwoJCWJvcmRlcjogbm9uZSAhaW1wb3J0YW50OwoJCWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKCQloZWlnaHQ6IDFlbSAhaW1wb3J0YW50OwoJCXdpZHRoOiAxZW0gIWltcG9ydGFudDsKCQltYXJnaW46IDAgMC4wN2VtICFpbXBvcnRhbnQ7CgkJdmVydGljYWwtYWxpZ246IC0wLjFlbSAhaW1wb3J0YW50OwoJCWJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsKCQlwYWRkaW5nOiAwICFpbXBvcnRhbnQ7Cgl9Ci8qIyBzb3VyY2VVUkw9d3AtZW1vamktc3R5bGVzLWlubGluZS1jc3MgKi8KPC9zdHlsZT4KPHN0eWxlIGlkPSJjbGFzc2ljLXRoZW1lLXN0eWxlcy1pbmxpbmUtY3NzIj4KLyohIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCAqLwoud3AtYmxvY2stYnV0dG9uX19saW5re2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzIzNzNjO2JvcmRlci1yYWRpdXM6OTk5OXB4O2JveC1zaGFkb3c6bm9uZTt0ZXh0LWRlY29yYXRpb246bm9uZTtwYWRkaW5nOmNhbGMoLjY2N2VtICsgMnB4KSBjYWxjKDEuMzMzZW0gKyAycHgpO2ZvbnQtc2l6ZToxLjEyNWVtfS53cC1ibG9jay1maWxlX19idXR0b257YmFja2dyb3VuZDojMzIzNzNjO2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Ci8qIyBzb3VyY2VVUkw9L3dwLWluY2x1ZGVzL2Nzcy9jbGFzc2ljLXRoZW1lcy5taW4uY3NzICovCjwvc3R5bGU+Cgo8c3R5bGUgaWQ9Imdsb2JhbC1zdHlsZXMtaW5saW5lLWNzcyI+Cjpyb290ey0td3AtLXByZXNldC0tYXNwZWN0LXJhdGlvLS1zcXVhcmU6IDE7LS13cC0tcHJlc2V0LS1hc3BlY3QtcmF0aW8tLTQtMzogNC8zOy0td3AtLXByZXNldC0tYXNwZWN0LXJhdGlvLS0zLTQ6IDMvNDstLXdwLS1wcmVzZXQtLWFzcGVjdC1yYXRpby0tMy0yOiAzLzI7LS13cC0tcHJlc2V0LS1hc3BlY3QtcmF0aW8tLTItMzogMi8zOy0td3AtLXByZXNldC0tYXNwZWN0LXJhdGlvLS0xNi05OiAxNi85Oy0td3AtLXByZXNldC0tYXNwZWN0LXJhdGlvLS05LTE2OiA5LzE2Oy0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrOiAjMDAwMDAwOy0td3AtLXByZXNldC0tY29sb3ItLWN5YW4tYmx1aXNoLWdyYXk6ICNhYmI4YzM7LS13cC0tcHJlc2V0LS1jb2xvci0td2hpdGU6ICNmZmZmZmY7LS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rOiAjZjc4ZGE3Oy0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXJlZDogI2NmMmUyZTstLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1vcmFuZ2U6ICNmZjY5MDA7LS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXI6ICNmY2I5MDA7LS13cC0tcHJlc2V0LS1jb2xvci0tbGlnaHQtZ3JlZW4tY3lhbjogIzdiZGNiNTstLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1ncmVlbi1jeWFuOiAjMDBkMDg0Oy0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlOiAjOGVkMWZjOy0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWN5YW4tYmx1ZTogIzA2OTNlMzstLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1wdXJwbGU6ICM5YjUxZTA7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tdml2aWQtY3lhbi1ibHVlLXRvLXZpdmlkLXB1cnBsZTogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoNiwxNDcsMjI3KSAwJSxyZ2IoMTU1LDgxLDIyNCkgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbGlnaHQtZ3JlZW4tY3lhbi10by12aXZpZC1ncmVlbi1jeWFuOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigxMjIsMjIwLDE4MCkgMCUscmdiKDAsMjA4LDEzMCkgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtYW1iZXItdG8tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyNTIsMTg1LDApIDAlLHJnYigyNTUsMTA1LDApIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLXZpdmlkLW9yYW5nZS10by12aXZpZC1yZWQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDI1NSwxMDUsMCkgMCUscmdiKDIwNyw0Niw0NikgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXk6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDIzOCwyMzgsMjM4KSAwJSxyZ2IoMTY5LDE4NCwxOTUpIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLWNvb2wtdG8td2FybS1zcGVjdHJ1bTogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoNzQsMjM0LDIyMCkgMCUscmdiKDE1MSwxMjAsMjA5KSAyMCUscmdiKDIwNyw0MiwxODYpIDQwJSxyZ2IoMjM4LDQ0LDEzMCkgNjAlLHJnYigyNTEsMTA1LDk4KSA4MCUscmdiKDI1NCwyNDgsNzYpIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWxpZ2h0LXB1cnBsZTogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMjU1LDIwNiwyMzYpIDAlLHJnYigxNTIsMTUwLDI0MCkgMTAwJSk7LS13cC0tcHJlc2V0LS1ncmFkaWVudC0tYmx1c2gtYm9yZGVhdXg6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDI1NCwyMDUsMTY1KSAwJSxyZ2IoMjU0LDQ1LDQ1KSA1MCUscmdiKDEwNywwLDYyKSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy1kdXNrOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyNTUsMjAzLDExMikgMCUscmdiKDE5OSw4MSwxOTIpIDUwJSxyZ2IoNjUsODgsMjA4KSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1wYWxlLW9jZWFuOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyNTUsMjQ1LDIwMykgMCUscmdiKDE4MiwyMjcsMjEyKSA1MCUscmdiKDUxLDE2NywxODEpIDEwMCUpOy0td3AtLXByZXNldC0tZ3JhZGllbnQtLWVsZWN0cmljLWdyYXNzOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyMDIsMjQ4LDEyOCkgMCUscmdiKDExMywyMDYsMTI2KSAxMDAlKTstLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1taWRuaWdodDogbGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMiwzLDEyOSkgMCUscmdiKDQwLDExNiwyNTIpIDEwMCUpOy0td3AtLXByZXNldC0tZm9udC1zaXplLS1zbWFsbDogMTNweDstLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbWVkaXVtOiAyMHB4Oy0td3AtLXByZXNldC0tZm9udC1zaXplLS1sYXJnZTogMzZweDstLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0teC1sYXJnZTogNDJweDstLXdwLS1wcmVzZXQtLXNwYWNpbmctLTIwOiAwLjQ0cmVtOy0td3AtLXByZXNldC0tc3BhY2luZy0tMzA6IDAuNjdyZW07LS13cC0tcHJlc2V0LS1zcGFjaW5nLS00MDogMXJlbTstLXdwLS1wcmVzZXQtLXNwYWNpbmctLTUwOiAxLjVyZW07LS13cC0tcHJlc2V0LS1zcGFjaW5nLS02MDogMi4yNXJlbTstLXdwLS1wcmVzZXQtLXNwYWNpbmctLTcwOiAzLjM4cmVtOy0td3AtLXByZXNldC0tc3BhY2luZy0tODA6IDUuMDZyZW07LS13cC0tcHJlc2V0LS1zaGFkb3ctLW5hdHVyYWw6IDZweCA2cHggOXB4IHJnYmEoMCwgMCwgMCwgMC4yKTstLXdwLS1wcmVzZXQtLXNoYWRvdy0tZGVlcDogMTJweCAxMnB4IDUwcHggcmdiYSgwLCAwLCAwLCAwLjQpOy0td3AtLXByZXNldC0tc2hhZG93LS1zaGFycDogNnB4IDZweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpOy0td3AtLXByZXNldC0tc2hhZG93LS1vdXRsaW5lZDogNnB4IDZweCAwcHggLTNweCByZ2IoMjU1LCAyNTUsIDI1NSksIDZweCA2cHggcmdiKDAsIDAsIDApOy0td3AtLXByZXNldC0tc2hhZG93LS1jcmlzcDogNnB4IDZweCAwcHggcmdiKDAsIDAsIDApO306d2hlcmUoYm9keSkgeyBtYXJnaW46IDA7IH06d2hlcmUoLmlzLWxheW91dC1mbGV4KXtnYXA6IDAuNWVtO306d2hlcmUoLmlzLWxheW91dC1ncmlkKXtnYXA6IDAuNWVtO31ib2R5IC5pcy1sYXlvdXQtZmxleHtkaXNwbGF5OiBmbGV4O30uaXMtbGF5b3V0LWZsZXh7ZmxleC13cmFwOiB3cmFwO2FsaWduLWl0ZW1zOiBjZW50ZXI7fS5pcy1sYXlvdXQtZmxleCA+IDppcygqLCBkaXYpe21hcmdpbjogMDt9Ym9keSAuaXMtbGF5b3V0LWdyaWR7ZGlzcGxheTogZ3JpZDt9LmlzLWxheW91dC1ncmlkID4gOmlzKCosIGRpdil7bWFyZ2luOiAwO31ib2R5e3BhZGRpbmctdG9wOiAwcHg7cGFkZGluZy1yaWdodDogMHB4O3BhZGRpbmctYm90dG9tOiAwcHg7cGFkZGluZy1sZWZ0OiAwcHg7fTpyb290IDp3aGVyZSgud3AtZWxlbWVudC1idXR0b24sIC53cC1ibG9jay1idXR0b25fX2xpbmspe2JhY2tncm91bmQtY29sb3I6ICMzMjM3M2M7Ym9yZGVyLXdpZHRoOiAwO2NvbG9yOiAjZmZmO2ZvbnQtZmFtaWx5OiBpbmhlcml0O2ZvbnQtc2l6ZTogaW5oZXJpdDtmb250LXN0eWxlOiBpbmhlcml0O2ZvbnQtd2VpZ2h0OiBpbmhlcml0O2xldHRlci1zcGFjaW5nOiBpbmhlcml0O2xpbmUtaGVpZ2h0OiBpbmhlcml0O3BhZGRpbmctdG9wOiBjYWxjKDAuNjY3ZW0gKyAycHgpO3BhZGRpbmctcmlnaHQ6IGNhbGMoMS4zMzNlbSArIDJweCk7cGFkZGluZy1ib3R0b206IGNhbGMoMC42NjdlbSArIDJweCk7cGFkZGluZy1sZWZ0OiBjYWxjKDEuMzMzZW0gKyAycHgpO3RleHQtZGVjb3JhdGlvbjogbm9uZTt0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDt9Lmhhcy1ibGFjay1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrKSAhaW1wb3J0YW50O30uaGFzLWN5YW4tYmx1aXNoLWdyYXktY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1jeWFuLWJsdWlzaC1ncmF5KSAhaW1wb3J0YW50O30uaGFzLXdoaXRlLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0td2hpdGUpICFpbXBvcnRhbnQ7fS5oYXMtcGFsZS1waW5rLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLXJlZC1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXJlZCkgIWltcG9ydGFudDt9Lmhhcy1sdW1pbm91cy12aXZpZC1vcmFuZ2UtY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7fS5oYXMtbHVtaW5vdXMtdml2aWQtYW1iZXItY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1hbWJlcikgIWltcG9ydGFudDt9Lmhhcy1saWdodC1ncmVlbi1jeWFuLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbGlnaHQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1ncmVlbi1jeWFuLWNvbG9ye2NvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDt9Lmhhcy1wYWxlLWN5YW4tYmx1ZS1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlKSAhaW1wb3J0YW50O30uaGFzLXZpdmlkLWN5YW4tYmx1ZS1jb2xvcntjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWN5YW4tYmx1ZSkgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1wdXJwbGUtY29sb3J7Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7fS5oYXMtYmxhY2stYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2spICFpbXBvcnRhbnQ7fS5oYXMtY3lhbi1ibHVpc2gtZ3JheS1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1jeWFuLWJsdWlzaC1ncmF5KSAhaW1wb3J0YW50O30uaGFzLXdoaXRlLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKSAhaW1wb3J0YW50O30uaGFzLXBhbGUtcGluay1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLXBpbmspICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtcmVkLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXJlZCkgIWltcG9ydGFudDt9Lmhhcy1sdW1pbm91cy12aXZpZC1vcmFuZ2UtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLWFtYmVyKSAhaW1wb3J0YW50O30uaGFzLWxpZ2h0LWdyZWVuLWN5YW4tYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbGlnaHQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1ncmVlbi1jeWFuLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7fS5oYXMtcGFsZS1jeWFuLWJsdWUtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7fS5oYXMtdml2aWQtY3lhbi1ibHVlLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWN5YW4tYmx1ZSkgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1wdXJwbGUtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlKSAhaW1wb3J0YW50O30uaGFzLWJsYWNrLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjaykgIWltcG9ydGFudDt9Lmhhcy1jeWFuLWJsdWlzaC1ncmF5LWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1jeWFuLWJsdWlzaC1ncmF5KSAhaW1wb3J0YW50O30uaGFzLXdoaXRlLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSkgIWltcG9ydGFudDt9Lmhhcy1wYWxlLXBpbmstYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtcGluaykgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1yZWQtYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXJlZCkgIWltcG9ydGFudDt9Lmhhcy1sdW1pbm91cy12aXZpZC1vcmFuZ2UtYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLW9yYW5nZSkgIWltcG9ydGFudDt9Lmhhcy1sdW1pbm91cy12aXZpZC1hbWJlci1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXIpICFpbXBvcnRhbnQ7fS5oYXMtbGlnaHQtZ3JlZW4tY3lhbi1ib3JkZXItY29sb3J7Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbGlnaHQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1ncmVlbi1jeWFuLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50O30uaGFzLXBhbGUtY3lhbi1ibHVlLWJvcmRlci1jb2xvcntib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLWN5YW4tYmx1ZSkgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1jeWFuLWJsdWUtYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWN5YW4tYmx1ZSkgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1wdXJwbGUtYm9yZGVyLWNvbG9ye2JvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXB1cnBsZSkgIWltcG9ydGFudDt9Lmhhcy12aXZpZC1jeWFuLWJsdWUtdG8tdml2aWQtcHVycGxlLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7fS5oYXMtbGlnaHQtZ3JlZW4tY3lhbi10by12aXZpZC1ncmVlbi1jeWFuLWdyYWRpZW50LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDt9Lmhhcy1sdW1pbm91cy12aXZpZC1hbWJlci10by1sdW1pbm91cy12aXZpZC1vcmFuZ2UtZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtYW1iZXItdG8tbHVtaW5vdXMtdml2aWQtb3JhbmdlKSAhaW1wb3J0YW50O30uaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS10by12aXZpZC1yZWQtZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtb3JhbmdlLXRvLXZpdmlkLXJlZCkgIWltcG9ydGFudDt9Lmhhcy12ZXJ5LWxpZ2h0LWdyYXktdG8tY3lhbi1ibHVpc2gtZ3JheS1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS12ZXJ5LWxpZ2h0LWdyYXktdG8tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDt9Lmhhcy1jb29sLXRvLXdhcm0tc3BlY3RydW0tZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tY29vbC10by13YXJtLXNwZWN0cnVtKSAhaW1wb3J0YW50O30uaGFzLWJsdXNoLWxpZ2h0LXB1cnBsZS1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1ibHVzaC1saWdodC1wdXJwbGUpICFpbXBvcnRhbnQ7fS5oYXMtYmx1c2gtYm9yZGVhdXgtZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tYmx1c2gtYm9yZGVhdXgpICFpbXBvcnRhbnQ7fS5oYXMtbHVtaW5vdXMtZHVzay1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy1kdXNrKSAhaW1wb3J0YW50O30uaGFzLXBhbGUtb2NlYW4tZ3JhZGllbnQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tcGFsZS1vY2VhbikgIWltcG9ydGFudDt9Lmhhcy1lbGVjdHJpYy1ncmFzcy1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1lbGVjdHJpYy1ncmFzcykgIWltcG9ydGFudDt9Lmhhcy1taWRuaWdodC1ncmFkaWVudC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1taWRuaWdodCkgIWltcG9ydGFudDt9Lmhhcy1zbWFsbC1mb250LXNpemV7Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtYWxsKSAhaW1wb3J0YW50O30uaGFzLW1lZGl1bS1mb250LXNpemV7Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLW1lZGl1bSkgIWltcG9ydGFudDt9Lmhhcy1sYXJnZS1mb250LXNpemV7Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWxhcmdlKSAhaW1wb3J0YW50O30uaGFzLXgtbGFyZ2UtZm9udC1zaXple2ZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS14LWxhcmdlKSAhaW1wb3J0YW50O30KLyojIHNvdXJjZVVSTD1nbG9iYWwtc3R5bGVzLWlubGluZS1jc3MgKi8KPC9zdHlsZT4KCjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2NvbnRhY3QtZm9ybS03LWNzcycgaHJlZj0naHR0cHM6Ly9veGxvZnR0cmQuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9jb250YWN0LWZvcm0tNy9pbmNsdWRlcy9jc3Mvc3R5bGVzLmNzcz92ZXI9Ni4wLjMnIG1lZGlhPSdhbGwnIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2FzaGxleS1mb250cy1jc3MnIGhyZWY9J2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9T3V0Zml0OndnaHRAMTAwOzIwMDszMDA7NDAwOzUwMDs2MDA7NzAwOzgwMDs5MDAmIzAzODtkaXNwbGF5PXN3YXAnIG1lZGlhPSdhbGwnIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2Jvb3RzdHJhcC1jc3MnIGhyZWY9J2h0dHBzOi8vb3hsb2Z0dHJkLmNvbS93cC1jb250ZW50L3RoZW1lcy9hc2hsZXkvYXNzZXRzL2Nzcy9ib290c3RyYXAuY3NzP3Zlcj03LjAuMicgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nZm9udGF3ZXNvbWUtY3NzJyBocmVmPSdodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC90aGVtZXMvYXNobGV5L2Fzc2V0cy9jc3MvZm9udC1hd2Vzb21lLmNzcz92ZXI9Ny4wLjInIG1lZGlhPSdhbGwnIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3N3aXBlci1jc3MnIGhyZWY9J2h0dHBzOi8vb3hsb2Z0dHJkLmNvbS93cC1jb250ZW50L3BsdWdpbnMvZWxlbWVudG9yL2Fzc2V0cy9saWIvc3dpcGVyL3Y4L2Nzcy9zd2lwZXIubWluLmNzcz92ZXI9OC40LjUnIG1lZGlhPSdhbGwnIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J21hZ25pZmljLXBvcHVwLWNzcycgaHJlZj0naHR0cHM6Ly9veGxvZnR0cmQuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2FzaGxleS9hc3NldHMvY3NzL21hZ25pZmljLXBvcHVwLmNzcz92ZXI9Ny4wLjInIG1lZGlhPSdhbGwnIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2FzaGxleS1zdHlsZS1jc3MnIGhyZWY9J2h0dHBzOi8vb3hsb2Z0dHJkLmNvbS93cC1jb250ZW50L3RoZW1lcy9hc2hsZXkvc3R5bGUuY3NzP3Zlcj03LjAuMicgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nZWxlbWVudG9yLWZyb250ZW5kLWNzcycgaHJlZj0naHR0cHM6Ly9veGxvZnR0cmQuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2Nzcy9mcm9udGVuZC5taW4uY3NzP3Zlcj0zLjI2LjUnIG1lZGlhPSdhbGwnIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2VsZW1lbnRvci1wb3N0LTgtY3NzJyBocmVmPSdodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC91cGxvYWRzL2VsZW1lbnRvci9jc3MvcG9zdC04LmNzcz92ZXI9MTc4NDMxODg5MScgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nd2lkZ2V0LXRleHQtZWRpdG9yLWNzcycgaHJlZj0naHR0cHM6Ly9veGxvZnR0cmQuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2Nzcy93aWRnZXQtdGV4dC1lZGl0b3IubWluLmNzcz92ZXI9My4yNi41JyBtZWRpYT0nYWxsJyAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSd3aWRnZXQtaW1hZ2UtY3NzJyBocmVmPSdodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC9wbHVnaW5zL2VsZW1lbnRvci9hc3NldHMvY3NzL3dpZGdldC1pbWFnZS5taW4uY3NzP3Zlcj0zLjI2LjUnIG1lZGlhPSdhbGwnIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2Utc2hhcGVzLWNzcycgaHJlZj0naHR0cHM6Ly9veGxvZnR0cmQuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2Nzcy9jb25kaXRpb25hbHMvc2hhcGVzLm1pbi5jc3M/dmVyPTMuMjYuNScgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nZWxlbWVudG9yLXBvc3QtMTUtY3NzJyBocmVmPSdodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC91cGxvYWRzL2VsZW1lbnRvci9jc3MvcG9zdC0xNS5jc3M/dmVyPTE3ODQzMTk1MzQnIG1lZGlhPSdhbGwnIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2dvb2dsZS1mb250cy0xLWNzcycgaHJlZj0naHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzoxMDAsMTAwaXRhbGljLDIwMCwyMDBpdGFsaWMsMzAwLDMwMGl0YWxpYyw0MDAsNDAwaXRhbGljLDUwMCw1MDBpdGFsaWMsNjAwLDYwMGl0YWxpYyw3MDAsNzAwaXRhbGljLDgwMCw4MDBpdGFsaWMsOTAwLDkwMGl0YWxpYyU3Q1JvYm90bytTbGFiOjEwMCwxMDBpdGFsaWMsMjAwLDIwMGl0YWxpYywzMDAsMzAwaXRhbGljLDQwMCw0MDBpdGFsaWMsNTAwLDUwMGl0YWxpYyw2MDAsNjAwaXRhbGljLDcwMCw3MDBpdGFsaWMsODAwLDgwMGl0YWxpYyw5MDAsOTAwaXRhbGljJiMwMzg7ZGlzcGxheT1zd2FwJiMwMzg7dmVyPTcuMC4yJyBtZWRpYT0nYWxsJyAvPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vIiBjcm9zc29yaWdpbj48c2NyaXB0IGlkPSJqcXVlcnktY29yZS1qcyIgc3JjPSJodHRwczovL294bG9mdHRyZC5jb20vd3AtaW5jbHVkZXMvanMvanF1ZXJ5L2pxdWVyeS5taW4uanM/dmVyPTMuNy4xIj48L3NjcmlwdD4KPHNjcmlwdCBpZD0ianF1ZXJ5LW1pZ3JhdGUtanMiIHNyYz0iaHR0cHM6Ly9veGxvZnR0cmQuY29tL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS9qcXVlcnktbWlncmF0ZS5taW4uanM/dmVyPTMuNC4xIj48L3NjcmlwdD4KPGxpbmsgcmVsPSJodHRwczovL2FwaS53Lm9yZy8iIGhyZWY9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS93cC1qc29uLyIgLz48bGluayByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IkpTT04iIHR5cGU9ImFwcGxpY2F0aW9uL2pzb24iIGhyZWY9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS93cC1qc29uL3dwL3YyL3BhZ2VzLzE1IiAvPjxsaW5rIHJlbD0iRWRpdFVSSSIgdHlwZT0iYXBwbGljYXRpb24vcnNkK3htbCIgdGl0bGU9IlJTRCIgaHJlZj0iaHR0cHM6Ly9veGxvZnR0cmQuY29tL3htbHJwYy5waHA/cnNkIiAvPgo8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IldvcmRQcmVzcyA3LjAuMiIgLz4KPGxpbmsgcmVsPSdzaG9ydGxpbmsnIGhyZWY9J2h0dHBzOi8vb3hsb2Z0dHJkLmNvbS8nIC8+Cgo8c3R5bGU+CgkvKkJlZ2luIENvbG9ycyBPcHRpb25zKi8KCQkJCQkJCQkJLypFbmQgQ29sb3JzIE9wdGlvbnMqLwoKCS8qQmVnaW4gVHlwb2dyYXBoeSBPcHRpb25zKi8KCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkvKkVuZCBUeXBvZ3JhcGh5IE9wdGlvbnMqLwoKCS8qQmVnaW4gQnV0dG9ucyBPcHRpb25zKi8KCQkJCQkJCQoJLypCZWdpbiBQcmVsb2FkZXIgT3B0aW9ucyovCgkJCQkvKkVuZCBQcmVsb2FkZXIgT3B0aW9ucyovCgoJLypCZWdpbiBDdXJzb3IgT3B0aW9ucyovCgkJCS8qRW5kIEN1cnNvciBPcHRpb25zKi8KCgkvKkJlZ2luIERpc2FibGUgTG9nbyBDb2xvciBJbnZlcnQqLwoJCS5taWwtZGFyay1iZzpub3QoZm9vdGVyLCAubWlsLTQwNC1iYW5uZXIpOmJlZm9yZSwgLm1pbC1kYXJrLWJnOm5vdChmb290ZXIsIC5taWwtNDA0LWJhbm5lcik6YWZ0ZXIgewoJCWNvbnRlbnQ6ICIiOwoJCXdpZHRoOiAwOwoJCWhlaWdodDogMTAwJTsKCQlwb3NpdGlvbjogYWJzb2x1dGU7CgkJdG9wOiAwOwoJCWxlZnQ6IGF1dG87CgkJcmlnaHQ6IDA7CgkJcG9pbnRlci1ldmVudHM6IG5vbmU7Cgl9CgkubWlsLWRhcmstYmc6bm90KGZvb3RlciwgLm1pbC00MDQtYmFubmVyKTphZnRlciB7CgkJLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IG5vbmU7CgkJYmFja2Ryb3AtZmlsdGVyOiBub25lOwoJCXJpZ2h0OiBhdXRvOwoJCWxlZnQ6IDA7CgkJd2lkdGg6IDEwMCU7CgkJYmFja2dyb3VuZDogIzAwMDsKCQl6LWluZGV4OiAtMTsKCX0KCS5taWwtZGFyay1iZyAubWlsLWRhcmstYmc6YmVmb3JlLCAubWlsLWRhcmstYmcgLm1pbC1kYXJrLWJnOmFmdGVyIHsKCQlvcGFjaXR5OiAwOwoJfQoJCS8qRW5kIERpc2FibGUgTG9nbyBDb2xvciBJbnZlcnQqLwo8L3N0eWxlPgoKPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJFbGVtZW50b3IgMy4yNi41OyBmZWF0dXJlczogZV9mb250X2ljb25fc3ZnLCBhZGRpdGlvbmFsX2N1c3RvbV9icmVha3BvaW50cywgZV9lbGVtZW50X2NhY2hlOyBzZXR0aW5nczogY3NzX3ByaW50X21ldGhvZC1leHRlcm5hbCwgZ29vZ2xlX2ZvbnQtZW5hYmxlZCwgZm9udF9kaXNwbGF5LXN3YXAiPgoJCQk8c3R5bGU+CgkJCQkuZS1jb24uZS1wYXJlbnQ6bnRoLW9mLXR5cGUobis0KTpub3QoLmUtbGF6eWxvYWRlZCk6bm90KC5lLW5vLWxhenlsb2FkKSwKCQkJCS5lLWNvbi5lLXBhcmVudDpudGgtb2YtdHlwZShuKzQpOm5vdCguZS1sYXp5bG9hZGVkKTpub3QoLmUtbm8tbGF6eWxvYWQpICogewoJCQkJCWJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsKCQkJCX0KCQkJCUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAxMDI0cHgpIHsKCQkJCQkuZS1jb24uZS1wYXJlbnQ6bnRoLW9mLXR5cGUobiszKTpub3QoLmUtbGF6eWxvYWRlZCk6bm90KC5lLW5vLWxhenlsb2FkKSwKCQkJCQkuZS1jb24uZS1wYXJlbnQ6bnRoLW9mLXR5cGUobiszKTpub3QoLmUtbGF6eWxvYWRlZCk6bm90KC5lLW5vLWxhenlsb2FkKSAqIHsKCQkJCQkJYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OwoJCQkJCX0KCQkJCX0KCQkJCUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA2NDBweCkgewoJCQkJCS5lLWNvbi5lLXBhcmVudDpudGgtb2YtdHlwZShuKzIpOm5vdCguZS1sYXp5bG9hZGVkKTpub3QoLmUtbm8tbGF6eWxvYWQpLAoJCQkJCS5lLWNvbi5lLXBhcmVudDpudGgtb2YtdHlwZShuKzIpOm5vdCguZS1sYXp5bG9hZGVkKTpub3QoLmUtbm8tbGF6eWxvYWQpICogewoJCQkJCQliYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7CgkJCQkJfQoJCQkJfQoJCQk8L3N0eWxlPgoJCQk8bGluayByZWw9Imljb24iIGhyZWY9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8wMS9jcm9wcGVkLWFuZHJvaWQtY2hyb21lLTUxMng1MTItMS0zMngzMi5wbmciIHNpemVzPSIzMngzMiIgLz4KPGxpbmsgcmVsPSJpY29uIiBocmVmPSJodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjUvMDEvY3JvcHBlZC1hbmRyb2lkLWNocm9tZS01MTJ4NTEyLTEtMTkyeDE5Mi5wbmciIHNpemVzPSIxOTJ4MTkyIiAvPgo8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIGhyZWY9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8wMS9jcm9wcGVkLWFuZHJvaWQtY2hyb21lLTUxMng1MTItMS0xODB4MTgwLnBuZyIgLz4KPG1ldGEgbmFtZT0ibXNhcHBsaWNhdGlvbi1UaWxlSW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8wMS9jcm9wcGVkLWFuZHJvaWQtY2hyb21lLTUxMng1MTItMS0yNzB4MjcwLnBuZyIgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nZWxlbWVudG9yLXBvc3QtMTgtY3NzJyBocmVmPSdodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC91cGxvYWRzL2VsZW1lbnRvci9jc3MvcG9zdC0xOC5jc3M/dmVyPTE3ODQzMTg4OTEnIG1lZGlhPSdhbGwnIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2VsZW1lbnRvci1wb3N0LTg5OS1jc3MnIGhyZWY9J2h0dHBzOi8vb3hsb2Z0dHJkLmNvbS93cC1jb250ZW50L3VwbG9hZHMvZWxlbWVudG9yL2Nzcy9wb3N0LTg5OS5jc3M/dmVyPTE3ODQzMTg4OTEnIG1lZGlhPSdhbGwnIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2VsZW1lbnRvci1wb3N0LTIwLWNzcycgaHJlZj0naHR0cHM6Ly9veGxvZnR0cmQuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy9lbGVtZW50b3IvY3NzL3Bvc3QtMjAuY3NzP3Zlcj0xNzg0MzE5NTM0JyBtZWRpYT0nYWxsJyAvPgoKPC9oZWFkPgoKPGJvZHkgY2xhc3M9ImhvbWUgd3Atc2luZ3VsYXIgcGFnZS10ZW1wbGF0ZSBwYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWxheW91dC1idWlsZGVyIHBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtbGF5b3V0LWJ1aWxkZXItcGhwIHBhZ2UgcGFnZS1pZC0xNSB3cC1jdXN0b20tbG9nbyB3cC10aGVtZS1hc2hsZXkgbWlsLXNjcm9sbGJhciBlbGVtZW50b3ItZGVmYXVsdCBlbGVtZW50b3Ita2l0LTggZWxlbWVudG9yLXBhZ2UgZWxlbWVudG9yLXBhZ2UtMTUiPgogIAogIAogIDwhLS0gd3JhcHBlciAtLT4KICA8ZGl2IGNsYXNzPSJtaWwtd3JhcHBlciIgaWQ9InRvcCIgZGF0YS1zbW9vdGgtc2Nyb2xsPSIxIiBkYXRhLWRhcmstY29sb3I9IiIgZGF0YS1saWdodC1jb2xvcj0iIiBkYXRhLWFjY2VudC1jb2xvcj0iIj4KICAgICAgICA8IS0tIGN1cnNvciAtLT4KICAgIDxkaXYgY2xhc3M9Im1pbC1iYWxsIj4KICAgICAgICA8c3BhbiBjbGFzcz0ibWlsLWljb24tMSI+CiAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDEyOCAxMjgiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwNi4xLDQxLjljLTEuMi0xLjItMy4xLTEuMi00LjIsMGMtMS4yLDEuMi0xLjIsMy4xLDAsNC4yTDExNi44LDYxSDExLjJsMTQuOS0xNC45YzEuMi0xLjIsMS4yLTMuMSwwLTQuMgljLTEuMi0xLjItMy4xLTEuMi00LjIsMGwtMjAsMjBjLTEuMiwxLjItMS4yLDMuMSwwLDQuMmwyMCwyMGMwLjYsMC42LDEuNCwwLjksMi4xLDAuOXMxLjUtMC4zLDIuMS0wLjljMS4yLTEuMiwxLjItMy4xLDAtNC4yCUwxMS4yLDY3aDEwNS41bC0xNC45LDE0LjljLTEuMiwxLjItMS4yLDMuMSwwLDQuMmMwLjYsMC42LDEuNCwwLjksMi4xLDAuOXMxLjUtMC4zLDIuMS0wLjlsMjAtMjBjMS4yLTEuMiwxLjItMy4xLDAtNC4yTDEwNi4xLDQxLjkJeiIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9Im1pbC1tb3JlLXRleHQiPk1vcmU8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtaWwtY2hvb3NlLXRleHQiPtChaG9vc2U8L2Rpdj4KICAgIDwvZGl2PgogICAgPCEtLSBjdXJzb3IgZW5kIC0tPgogICAgCiAgICAgICAgPCEtLSBwcmVsb2FkZXIgLS0+CiAgICA8ZGl2IGNsYXNzPSJtaWwtcHJlbG9hZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtaWwtcHJlbG9hZGVyLWFuaW1hdGlvbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbC1wb3MtYWJzIG1pbC1hbmltYXRpb24tMSI+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0ibWlsLWgzIG1pbC1tdXRlZCBtaWwtdGhpbiI+UGlvbmVlcmluZzwvcD4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJtaWwtaDMgbWlsLW11dGVkIj5DcmVhdGl2ZTwvcD4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJtaWwtaDMgbWlsLW11dGVkIG1pbC10aGluIj5FeGNlbGxlbmNlPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWlsLXBvcy1hYnMgbWlsLWFuaW1hdGlvbi0yIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbC1yZXZlYWwtZnJhbWUiPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJtaWwtcmV2ZWFsLWJveCI+PC9wPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJtaWwtaDMgbWlsLW11dGVkIG1pbC10aGluIj5PeCBMb2Z0IFRyYWRlIExURDwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPCEtLSBwcmVsb2FkZXIgZW5kIC0tPgogICAgICAgIAogICAgICAgIDwhLS0gc2Nyb2xsYmFyIHByb2dyZXNzIC0tPgogICAgPGRpdiBjbGFzcz0ibWlsLXByb2dyZXNzLXRyYWNrIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtaWwtcHJvZ3Jlc3MiPjwvZGl2PgogICAgPC9kaXY+CiAgICA8IS0tIHNjcm9sbGJhciBwcm9ncmVzcyBlbmQgLS0+CiAgICAgICAgICAgIAogICAgPCEtLSBjdXJ0YWluIC0tPgogICAgPGRpdiBjbGFzcz0ibWlsLWN1cnRhaW4iPjwvZGl2PgogICAgPCEtLSBjdXJ0YWluIGVuZCAtLT4KCiAgICAKICAgIDwhLS0gZnJhbWUgLS0+CiAgICA8ZGl2IGNsYXNzPSJtaWwtZnJhbWUiPgogICAgICAgIDxkaXYgY2xhc3M9Im1pbC1mcmFtZS10b3AiPgogICAgICAgICAgICAJCTxkaXYgZGF0YS1lbGVtZW50b3ItdHlwZT0id3AtcG9zdCIgZGF0YS1lbGVtZW50b3ItaWQ9IjE4IiBjbGFzcz0iZWxlbWVudG9yIGVsZW1lbnRvci0xOCI+CgkJCQkJCTxzZWN0aW9uIGNsYXNzPSJlbGVtZW50b3Itc2VjdGlvbiBlbGVtZW50b3ItdG9wLXNlY3Rpb24gZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtNmY2NzdhNiBlbGVtZW50b3Itc2VjdGlvbi1mdWxsX3dpZHRoIGVsZW1lbnRvci1zZWN0aW9uLWhlaWdodC1kZWZhdWx0IGVsZW1lbnRvci1zZWN0aW9uLWhlaWdodC1kZWZhdWx0IiBkYXRhLWlkPSI2ZjY3N2E2IiBkYXRhLWVsZW1lbnRfdHlwZT0ic2VjdGlvbiI+CgkJCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1jb250YWluZXIgZWxlbWVudG9yLWNvbHVtbi1nYXAtZGVmYXVsdCI+CgkJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWNvbHVtbiBlbGVtZW50b3ItY29sLTMzIGVsZW1lbnRvci10b3AtY29sdW1uIGVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LWFmNDZmNWMiIGRhdGEtaWQ9ImFmNDZmNWMiIGRhdGEtZWxlbWVudF90eXBlPSJjb2x1bW4iPgoJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3Itd2lkZ2V0LXdyYXAgZWxlbWVudG9yLWVsZW1lbnQtcG9wdWxhdGVkIj4KCQkJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtZWMwM2Q5MCBlbGVtZW50b3Itd2lkZ2V0IGVsZW1lbnRvci13aWRnZXQtYXNobGV5LWhlYWRlci1sb2dvIiBkYXRhLWlkPSJlYzAzZDkwIiBkYXRhLWVsZW1lbnRfdHlwZT0id2lkZ2V0IiBkYXRhLXdpZGdldF90eXBlPSJhc2hsZXktaGVhZGVyLWxvZ28uZGVmYXVsdCI+CgkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lciI+CgkJCQkJCQkKCQkKCQkJCTxkaXYgY2xhc3M9ImpzLXJlcGxhY2UiPgoJCSAgPGRpdiBjbGFzcz0ianMtcmVwbGFjZV9faXRlbSBqcy1yZXBsYWNlX19pdGVtLS1hY3RpdmUiPgoJCQk8ZGl2IGNsYXNzPSJqcy1yZXBsYWNlX19jb250ZW50Ij4KCQkJCTxhIGhyZWY9Ii8iIGNsYXNzPSJtaWwtbG9nbyI+CgkJCQkJCQkJCQkJCQkJCQkJPGltZyBkZWNvZGluZz0iYXN5bmMiIHNyYz0iaHR0cHM6Ly9veGxvZnR0cmQuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzEwL2Zhdmljb24tMzJ4MzItMS5wbmciIGFsdD0iIiAvPgoJCQkJCQkJCQkJCQkJCQk8L2E+CgkJCTwvZGl2PgoJCSAgPC9kaXY+CgkJICA8ZGl2IGNsYXNzPSJqcy1yZXBsYWNlX19pdGVtIj4KCQkJPGRpdiBjbGFzcz0ianMtcmVwbGFjZV9fY29udGVudCI+CgkJCQk8YSBocmVmPSIvIiBjbGFzcz0ibWlsLWxvZ28iIHN0eWxlPSJjb2xvcjogI2ZmZjsiPgoJCQkJCQkJCQkJCQkJCQkJCTxpbWcgZGVjb2Rpbmc9ImFzeW5jIiBzcmM9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyMy8xMC9mYXZpY29uLTMyeDMyLTEucG5nIiBhbHQ9IiIgLz4KCQkJCQkJCQkJCQkJCQkJPC9hPgoJCQk8L2Rpdj4KCQkgIDwvZGl2PgoJCTwvZGl2PgoJCQoJCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCTwvZGl2PgoJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWNvbHVtbiBlbGVtZW50b3ItY29sLTMzIGVsZW1lbnRvci10b3AtY29sdW1uIGVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LWJhZTM5OGMiIGRhdGEtaWQ9ImJhZTM5OGMiIGRhdGEtZWxlbWVudF90eXBlPSJjb2x1bW4iPgoJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3Itd2lkZ2V0LXdyYXAiPgoJCQkJCQkJPC9kaXY+CgkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItY29sdW1uIGVsZW1lbnRvci1jb2wtMzMgZWxlbWVudG9yLXRvcC1jb2x1bW4gZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtMjYwNzUzMyIgZGF0YS1pZD0iMjYwNzUzMyIgZGF0YS1lbGVtZW50X3R5cGU9ImNvbHVtbiI+CgkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtd3JhcCBlbGVtZW50b3ItZWxlbWVudC1wb3B1bGF0ZWQiPgoJCQkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC0yODRjZjkzIGVsZW1lbnRvci13aWRnZXQgZWxlbWVudG9yLXdpZGdldC1hc2hsZXktaGVhZGVyLW1lbnUiIGRhdGEtaWQ9IjI4NGNmOTMiIGRhdGEtZWxlbWVudF90eXBlPSJ3aWRnZXQiIGRhdGEtd2lkZ2V0X3R5cGU9ImFzaGxleS1oZWFkZXItbWVudS5kZWZhdWx0Ij4KCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyIj4KCQkJCQkJCQoJCTwhLS0gbWVudSBidXR0b24gLS0+CgkJCQkJCTxkaXYgY2xhc3M9ImpzLXJlcGxhY2UtdHdvIj4KCQkJPGRpdiBjbGFzcz0ianMtcmVwbGFjZV9faXRlbS10d28ganMtcmVwbGFjZV9faXRlbS0tYWN0aXZlLXR3byI+CgkJCQk8ZGl2IGNsYXNzPSJqcy1yZXBsYWNlX19jb250ZW50LXR3byI+CgkJCQkJPGRpdiBjbGFzcz0ibWlsLW1lbnUtYnRuIj4KCQkJCQkJPHNwYW4+PC9zcGFuPgoJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJqcy1yZXBsYWNlX19pdGVtLXR3byI+CgkJCQk8ZGl2IGNsYXNzPSJqcy1yZXBsYWNlX19jb250ZW50LXR3byI+CgkJCQkJPGRpdiBjbGFzcz0ibWlsLW1lbnUtYnRuIj4KCQkJCQkJPHNwYW4+PC9zcGFuPgoJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCTwvZGl2PgoJCQkJPCEtLSBtZW51IGJ1dHRvbiBlbmQgLS0+CgoJCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCTwvc2VjdGlvbj4KCQkJCTwvZGl2PgoJCSAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImpzLXJlcGxhY2UtdGhyZWUiPjxkaXYgY2xhc3M9ImpzLXJlcGxhY2VfX2l0ZW0tdGhyZWUganMtcmVwbGFjZV9faXRlbS0tYWN0aXZlLXRocmVlIj48ZGl2IGNsYXNzPSJqcy1yZXBsYWNlX19jb250ZW50LXRocmVlIj48ZGl2IGNsYXNzPSJtaWwtZnJhbWUtYm90dG9tIj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtaWwtY3VycmVudC1wYWdlIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbC1iYWNrLXRvLXRvcCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjdG9wIiBjbGFzcz0ibWlsLWxpbmsgbWlsLWRhcmsgbWlsLWFycm93LXBsYWNlIj4KICAgICAgICAgICAgICAgICAgICA8c3Bhbj5CYWNrIHRvIHRvcDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJqcy1yZXBsYWNlX19pdGVtLXRocmVlIj48ZGl2IGNsYXNzPSJqcy1yZXBsYWNlX19jb250ZW50LXRocmVlIj48ZGl2IGNsYXNzPSJtaWwtZnJhbWUtYm90dG9tIj4KICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbC1jdXJyZW50LXBhZ2UiPjwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWlsLWJhY2stdG8tdG9wIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiN0b3AiIGNsYXNzPSJtaWwtbGluayBtaWwtZGFyayBtaWwtYXJyb3ctcGxhY2UiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPkJhY2sgdG8gdG9wPC9zcGFuPgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgIDwhLS0gZnJhbWUgZW5kIC0tPgogICAgCiAgICA8IS0tIG1lbnUgLS0+CiAgICA8ZGl2IGNsYXNzPSJtaWwtbWVudS1mcmFtZSI+CiAgICAgICAgPCEtLSBmcmFtZSBjbG9uZSAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJtaWwtZnJhbWUtdG9wIj4KICAgICAgICAgICAgCQk8ZGl2IGRhdGEtZWxlbWVudG9yLXR5cGU9IndwLXBvc3QiIGRhdGEtZWxlbWVudG9yLWlkPSIxOCIgY2xhc3M9ImVsZW1lbnRvciBlbGVtZW50b3ItMTgiPgoJCQkJCQk8c2VjdGlvbiBjbGFzcz0iZWxlbWVudG9yLXNlY3Rpb24gZWxlbWVudG9yLXRvcC1zZWN0aW9uIGVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LTZmNjc3YTYgZWxlbWVudG9yLXNlY3Rpb24tZnVsbF93aWR0aCBlbGVtZW50b3Itc2VjdGlvbi1oZWlnaHQtZGVmYXVsdCBlbGVtZW50b3Itc2VjdGlvbi1oZWlnaHQtZGVmYXVsdCIgZGF0YS1pZD0iNmY2NzdhNiIgZGF0YS1lbGVtZW50X3R5cGU9InNlY3Rpb24iPgoJCQkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItY29udGFpbmVyIGVsZW1lbnRvci1jb2x1bW4tZ2FwLWRlZmF1bHQiPgoJCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1jb2x1bW4gZWxlbWVudG9yLWNvbC0zMyBlbGVtZW50b3ItdG9wLWNvbHVtbiBlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC1hZjQ2ZjVjIiBkYXRhLWlkPSJhZjQ2ZjVjIiBkYXRhLWVsZW1lbnRfdHlwZT0iY29sdW1uIj4KCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLXdpZGdldC13cmFwIGVsZW1lbnRvci1lbGVtZW50LXBvcHVsYXRlZCI+CgkJCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LWVjMDNkOTAgZWxlbWVudG9yLXdpZGdldCBlbGVtZW50b3Itd2lkZ2V0LWFzaGxleS1oZWFkZXItbG9nbyIgZGF0YS1pZD0iZWMwM2Q5MCIgZGF0YS1lbGVtZW50X3R5cGU9IndpZGdldCIgZGF0YS13aWRnZXRfdHlwZT0iYXNobGV5LWhlYWRlci1sb2dvLmRlZmF1bHQiPgoJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLXdpZGdldC1jb250YWluZXIiPgoJCQkJCQkJCgkJCgkJCQk8ZGl2IGNsYXNzPSJqcy1yZXBsYWNlIj4KCQkgIDxkaXYgY2xhc3M9ImpzLXJlcGxhY2VfX2l0ZW0ganMtcmVwbGFjZV9faXRlbS0tYWN0aXZlIj4KCQkJPGRpdiBjbGFzcz0ianMtcmVwbGFjZV9fY29udGVudCI+CgkJCQk8YSBocmVmPSIvIiBjbGFzcz0ibWlsLWxvZ28iPgoJCQkJCQkJCQkJCQkJCQkJCTxpbWcgZGVjb2Rpbmc9ImFzeW5jIiBzcmM9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyMy8xMC9mYXZpY29uLTMyeDMyLTEucG5nIiBhbHQ9IiIgLz4KCQkJCQkJCQkJCQkJCQkJPC9hPgoJCQk8L2Rpdj4KCQkgIDwvZGl2PgoJCSAgPGRpdiBjbGFzcz0ianMtcmVwbGFjZV9faXRlbSI+CgkJCTxkaXYgY2xhc3M9ImpzLXJlcGxhY2VfX2NvbnRlbnQiPgoJCQkJPGEgaHJlZj0iLyIgY2xhc3M9Im1pbC1sb2dvIiBzdHlsZT0iY29sb3I6ICNmZmY7Ij4KCQkJCQkJCQkJCQkJCQkJCQk8aW1nIGRlY29kaW5nPSJhc3luYyIgc3JjPSJodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjMvMTAvZmF2aWNvbi0zMngzMi0xLnBuZyIgYWx0PSIiIC8+CgkJCQkJCQkJCQkJCQkJCTwvYT4KCQkJPC9kaXY+CgkJICA8L2Rpdj4KCQk8L2Rpdj4KCQkKCQkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1jb2x1bW4gZWxlbWVudG9yLWNvbC0zMyBlbGVtZW50b3ItdG9wLWNvbHVtbiBlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC1iYWUzOThjIiBkYXRhLWlkPSJiYWUzOThjIiBkYXRhLWVsZW1lbnRfdHlwZT0iY29sdW1uIj4KCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLXdpZGdldC13cmFwIj4KCQkJCQkJCTwvZGl2PgoJCTwvZGl2PgoJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWNvbHVtbiBlbGVtZW50b3ItY29sLTMzIGVsZW1lbnRvci10b3AtY29sdW1uIGVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LTI2MDc1MzMiIGRhdGEtaWQ9IjI2MDc1MzMiIGRhdGEtZWxlbWVudF90eXBlPSJjb2x1bW4iPgoJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3Itd2lkZ2V0LXdyYXAgZWxlbWVudG9yLWVsZW1lbnQtcG9wdWxhdGVkIj4KCQkJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtMjg0Y2Y5MyBlbGVtZW50b3Itd2lkZ2V0IGVsZW1lbnRvci13aWRnZXQtYXNobGV5LWhlYWRlci1tZW51IiBkYXRhLWlkPSIyODRjZjkzIiBkYXRhLWVsZW1lbnRfdHlwZT0id2lkZ2V0IiBkYXRhLXdpZGdldF90eXBlPSJhc2hsZXktaGVhZGVyLW1lbnUuZGVmYXVsdCI+CgkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lciI+CgkJCQkJCQkKCQk8IS0tIG1lbnUgYnV0dG9uIC0tPgoJCQkJCQk8ZGl2IGNsYXNzPSJqcy1yZXBsYWNlLXR3byI+CgkJCTxkaXYgY2xhc3M9ImpzLXJlcGxhY2VfX2l0ZW0tdHdvIGpzLXJlcGxhY2VfX2l0ZW0tLWFjdGl2ZS10d28iPgoJCQkJPGRpdiBjbGFzcz0ianMtcmVwbGFjZV9fY29udGVudC10d28iPgoJCQkJCTxkaXYgY2xhc3M9Im1pbC1tZW51LWJ0biI+CgkJCQkJCTxzcGFuPjwvc3Bhbj4KCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQkJPGRpdiBjbGFzcz0ianMtcmVwbGFjZV9faXRlbS10d28iPgoJCQkJPGRpdiBjbGFzcz0ianMtcmVwbGFjZV9fY29udGVudC10d28iPgoJCQkJCTxkaXYgY2xhc3M9Im1pbC1tZW51LWJ0biI+CgkJCQkJCTxzcGFuPjwvc3Bhbj4KCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCQkJCTwhLS0gbWVudSBidXR0b24gZW5kIC0tPgoKCQkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQk8L3NlY3Rpb24+CgkJCQk8L2Rpdj4KCQkgICAgICAgIDwvZGl2PgogICAgICAgIDwhLS0gZnJhbWUgY2xvbmUgZW5kIC0tPgogICAgICAgIAogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbC1tZW51LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgCQk8ZGl2IGRhdGEtZWxlbWVudG9yLXR5cGU9IndwLXBvc3QiIGRhdGEtZWxlbWVudG9yLWlkPSI4OTkiIGNsYXNzPSJlbGVtZW50b3IgZWxlbWVudG9yLTg5OSI+CgkJCQkJCTxzZWN0aW9uIGNsYXNzPSJlbGVtZW50b3Itc2VjdGlvbiBlbGVtZW50b3ItdG9wLXNlY3Rpb24gZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtYzNjZWRjMCBlbGVtZW50b3Itc2VjdGlvbi1ib3hlZCBlbGVtZW50b3Itc2VjdGlvbi1oZWlnaHQtZGVmYXVsdCBlbGVtZW50b3Itc2VjdGlvbi1oZWlnaHQtZGVmYXVsdCIgZGF0YS1pZD0iYzNjZWRjMCIgZGF0YS1lbGVtZW50X3R5cGU9InNlY3Rpb24iPgoJCQkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItY29udGFpbmVyIGVsZW1lbnRvci1jb2x1bW4tZ2FwLWRlZmF1bHQiPgoJCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1jb2x1bW4gZWxlbWVudG9yLWNvbC01MCBlbGVtZW50b3ItdG9wLWNvbHVtbiBlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC1lYzk2NGRkIiBkYXRhLWlkPSJlYzk2NGRkIiBkYXRhLWVsZW1lbnRfdHlwZT0iY29sdW1uIj4KCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLXdpZGdldC13cmFwIGVsZW1lbnRvci1lbGVtZW50LXBvcHVsYXRlZCI+CgkJCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LWQ3MDQzZGEgZWxlbWVudG9yLXdpZGdldCBlbGVtZW50b3Itd2lkZ2V0LWFzaGxleS1wb3B1cC1tZW51IiBkYXRhLWlkPSJkNzA0M2RhIiBkYXRhLWVsZW1lbnRfdHlwZT0id2lkZ2V0IiBkYXRhLXdpZGdldF90eXBlPSJhc2hsZXktcG9wdXAtbWVudS5kZWZhdWx0Ij4KCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyIj4KCQkJCQkKCQk8bmF2IGNsYXNzPSJtaWwtbWFpbi1tZW51IiBpZD0ic3d1cE1lbnUiPgoJCQk8dWwgaWQ9Im1lbnUtbWFpbi1tZW51IiBjbGFzcz0ibWlsLW1haW4tbWVudS1saXN0Ij48bGkgaWQ9Im1lbnUtaXRlbS0xOTgiIGNsYXNzPSIgbWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLWhvbWUgY3VycmVudC1tZW51LWl0ZW0gcGFnZV9pdGVtIHBhZ2UtaXRlbS0xNSBjdXJyZW50X3BhZ2VfaXRlbSBtaWwtY3VycmVudCBtaWwtYWN0aXZlIj48YSBjbGFzcz0ibWlsLWl0ZW0tbGluayIgIGhyZWY9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS8iPkhvbWU8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tMTQ2OCIgY2xhc3M9IiBtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSI+PGEgY2xhc3M9Im1pbC1pdGVtLWxpbmsiICBocmVmPSJodHRwczovL294bG9mdHRyZC5jb20vYWJvdXQtdXMvIj5BYm91dCBVczwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS0xNDY3IiBjbGFzcz0iIG1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIj48YSBjbGFzcz0ibWlsLWl0ZW0tbGluayIgIGhyZWY9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS9hYm91dC11cy1jbG9uZS8iPkZBUTwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS0xNDY5IiBjbGFzcz0iIG1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIj48YSBjbGFzcz0ibWlsLWl0ZW0tbGluayIgIGhyZWY9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS9jb250YWN0LyI+U3VwcG9ydDwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS0xNDcwIiBjbGFzcz0iIG1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1jdXN0b20gbWVudS1pdGVtLW9iamVjdC1jdXN0b20gbWVudS1pdGVtLWhhcy1jaGlsZHJlbiBtaWwtaGFzLWNoaWxkcmVuIj48YSBjbGFzcz0ibWlsLWl0ZW0tbGluayIgPkFjY291bnQ8L2E+Cjx1bCBjbGFzcz0ic3ViLW1lbnUiPgoJPGxpIGlkPSJtZW51LWl0ZW0tMTQ3MSIgY2xhc3M9IiBtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtY3VzdG9tIG1lbnUtaXRlbS1vYmplY3QtY3VzdG9tIj48YSBjbGFzcz0ibWlsLWl0ZW0tbGluayIgIGhyZWY9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS9hcHAvbG9naW4iPkxvZ2luPC9hPjwvbGk+Cgk8bGkgaWQ9Im1lbnUtaXRlbS0xNDcyIiBjbGFzcz0iIG1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1jdXN0b20gbWVudS1pdGVtLW9iamVjdC1jdXN0b20iPjxhIGNsYXNzPSJtaWwtaXRlbS1saW5rIiAgaHJlZj0iaHR0cHM6Ly9veGxvZnR0cmQuY29tL2FwcC9yZWdpc3RlciI+U2lnbnVwPC9hPjwvbGk+CjwvdWw+CjwvbGk+CjwvdWw+CQk8L25hdj4KCgkJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItY29sdW1uIGVsZW1lbnRvci1jb2wtNTAgZWxlbWVudG9yLXRvcC1jb2x1bW4gZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtZjFhNDg3ZCBlbGVtZW50b3ItaGlkZGVuLXRhYmxldCBlbGVtZW50b3ItaGlkZGVuLW1vYmlsZSIgZGF0YS1pZD0iZjFhNDg3ZCIgZGF0YS1lbGVtZW50X3R5cGU9ImNvbHVtbiI+CgkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtd3JhcCBlbGVtZW50b3ItZWxlbWVudC1wb3B1bGF0ZWQiPgoJCQkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC03M2NlOWIwIGVsZW1lbnRvci13aWRnZXQgZWxlbWVudG9yLXdpZGdldC1hc2hsZXktcG9wdXAtY29udGVudCIgZGF0YS1pZD0iNzNjZTliMCIgZGF0YS1lbGVtZW50X3R5cGU9IndpZGdldCIgZGF0YS13aWRnZXRfdHlwZT0iYXNobGV5LXBvcHVwLWNvbnRlbnQuZGVmYXVsdCI+CgkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lciI+CgkJCQkJCgkJPGRpdiBjbGFzcz0ibWlsLW1lbnUtcmlnaHQtZnJhbWUiPgoJCQkJCQk8ZGl2IGNsYXNzPSJtaWwtYW5pbWF0aW9uLWluIj4KCQkJCTxkaXYgY2xhc3M9Im1pbC1hbmltYXRpb24tZnJhbWUiPgoJCQkJCTxkaXYgY2xhc3M9Im1pbC1hbmltYXRpb24gbWlsLXBvc2l0aW9uLTEgbWlsLXNjYWxlIiBkYXRhLXZhbHVlLTE9IjIiIGRhdGEtdmFsdWUtMj0iMiI+PC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJCQoJCQk8ZGl2IGNsYXNzPSJtaWwtbWVudS1yaWdodCI+CgkJCQkJCQkJPGRpdiBjbGFzcz0icm93IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIj4KCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1sZy00IG1pbC1tYi02MCI+CgkJCQkJCQkJCQkJCTxoNiBjbGFzcz0ibWlsLW11dGVkIG1pbC1tYi0zMCI+CgkJCQkJCQk8c3BhbiA+CgkJCQkJCQkJUHJvamVjdHMJCQkJCQkJPC9zcGFuPgoJCQkJCQk8L2g2PgoJCQkJCQkJCQkJCQkJCQkJCQkJPHVsIGlkPSJtZW51LXByb2plY3RzLWxpc3QtbWVudSIgY2xhc3M9Im1pbC1tZW51LWxpc3QiPjxsaSBpZD0ibWVudS1pdGVtLTkyNCIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wb3J0Zm9saW8gbWVudS1pdGVtLTkyNCI+PGEgaHJlZj0iaHR0cHM6Ly9veGxvZnR0cmQuY29tL3BvcnRmb2xpby9pdGVtL3Byb2plY3QtMS8iPjxzcGFuIGNsYXNzPSJtaWwtbGlnaHQtc29mdCI+SW50ZXJpb3IgZGVzaWduIHN0dWRpbzwvc3Bhbj48L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tOTIzIiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBvcnRmb2xpbyBtZW51LWl0ZW0tOTIzIj48YSBocmVmPSJodHRwczovL294bG9mdHRyZC5jb20vcG9ydGZvbGlvL2l0ZW0vcHJvamVjdC0yLyI+PHNwYW4gY2xhc3M9Im1pbC1saWdodC1zb2Z0Ij5Ib21lIFNlY3VyaXR5IENhbWVyYTwvc3Bhbj48L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tOTI1IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBvcnRmb2xpbyBtZW51LWl0ZW0tOTI1Ij48YSBocmVmPSJodHRwczovL294bG9mdHRyZC5jb20vcG9ydGZvbGlvL2l0ZW0vcHJvamVjdC0zLyI+PHNwYW4gY2xhc3M9Im1pbC1saWdodC1zb2Z0Ij5LZW1pYSBIb25lc3QgU2tpbmNhcmU8L3NwYW4+PC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTkyMiIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wb3J0Zm9saW8gbWVudS1pdGVtLTkyMiI+PGEgaHJlZj0iaHR0cHM6Ly9veGxvZnR0cmQuY29tL3BvcnRmb2xpby9pdGVtL3Byb2plY3QtNC8iPjxzcGFuIGNsYXNzPSJtaWwtbGlnaHQtc29mdCI+Q2FzY2FkZSBvZiBMYXZhPC9zcGFuPjwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS05MjEiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcG9ydGZvbGlvIG1lbnUtaXRlbS05MjEiPjxhIGhyZWY9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS9wb3J0Zm9saW8vaXRlbS9wcm9qZWN0LTUvIj48c3BhbiBjbGFzcz0ibWlsLWxpZ2h0LXNvZnQiPkFpciBQcm8gYnkgTW9sZWt1bGU8L3NwYW4+PC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTkyNiIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wb3J0Zm9saW8gbWVudS1pdGVtLTkyNiI+PGEgaHJlZj0iaHR0cHM6Ly9veGxvZnR0cmQuY29tL3BvcnRmb2xpby9pdGVtL3Byb2plY3QtNi8iPjxzcGFuIGNsYXNzPSJtaWwtbGlnaHQtc29mdCI+VG9ueeKAmXMgQ2hvY29sb25lbHk8L3NwYW4+PC9hPjwvbGk+CjwvdWw+CQkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1sZy00IG1pbC1tYi02MCI+CgkJCQkJCQkJCQkJCTxoNiBjbGFzcz0ibWlsLW11dGVkIG1pbC1tYi0zMCI+CgkJCQkJCQk8c3BhbiA+CgkJCQkJCQkJVXNlZnVsIGxpbmtzCQkJCQkJCTwvc3Bhbj4KCQkJCQkJPC9oNj4KCQkJCQkJCQkJCQkJCQkJCQkJCTx1bCBpZD0ibWVudS11c2VmdWwtbGlua3MtbWVudSIgY2xhc3M9Im1pbC1tZW51LWxpc3QiPjxsaSBpZD0ibWVudS1pdGVtLTkzNSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS05MzUiPjxhIGhyZWY9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS9wcml2YWN5LXBvbGljeS0yLyI+PHNwYW4gY2xhc3M9Im1pbC1saWdodC1zb2Z0Ij5Qcml2YWN5IFBvbGljeTwvc3Bhbj48L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tOTM0IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTkzNCI+PGEgaHJlZj0iaHR0cHM6Ly9veGxvZnR0cmQuY29tL3Rlcm1zLWFuZC1jb25kaXRpb25zLyI+PHNwYW4gY2xhc3M9Im1pbC1saWdodC1zb2Z0Ij5UZXJtcyBhbmQgQ29uZGl0aW9uczwvc3Bhbj48L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tOTM2IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBtZW51LWl0ZW0tOTM2Ij48YSBocmVmPSIvcHJpdmFjeS1wb2xpY3kvI2Nvb2tpZXMiPjxzcGFuIGNsYXNzPSJtaWwtbGlnaHQtc29mdCI+Q29va2llIFBvbGljeTwvc3Bhbj48L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tOTM3IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBtZW51LWl0ZW0tOTM3Ij48YSBocmVmPSIvY29udGFjdC8iPjxzcGFuIGNsYXNzPSJtaWwtbGlnaHQtc29mdCI+Q2FyZWVyczwvc3Bhbj48L2E+PC9saT4KPC91bD4JCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9Im1pbC1kaXZpZGVyIG1pbC1tYi02MCI+PC9kaXY+CgkJCQkJCQkJPGRpdiBjbGFzcz0icm93IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIj4KCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1sZy00IG1pbC1tYi02MCI+CgkJCQkJCQkJCQkJCTxoNiBjbGFzcz0ibWlsLW11dGVkIG1pbC1tYi0zMCI+CgkJCQkJCQk8c3BhbiA+CgkJCQkJCQkJQ2FuYWRhCQkJCQkJCTwvc3Bhbj4KCQkJCQkJPC9oNj4KCQkJCQkJCQkJCQkJCQkJCQkJPHAgY2xhc3M9Im1pbC1saWdodC1zb2Z0IG1pbC11cCI+CgkJCQkJCQk8c3BhbiA+CgkJCQkJCQkJNzEgU291dGggTG9zIENhcm5lcm9zIFJvYWQsIENhbGlmb3JuaWEgPHNwYW4gY2xhc3M9Im1pbC1uby13cmFwIj4rNTEgMTc0IDcwNSA4MTI8L3NwYW4+CQkJCQkJCTwvc3Bhbj4KCQkJCQkJPC9wPgoJCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLWxnLTQgbWlsLW1iLTYwIj4KCQkJCQkJCQkJCQkJPGg2IGNsYXNzPSJtaWwtbXV0ZWQgbWlsLW1iLTMwIj4KCQkJCQkJCTxzcGFuID4KCQkJCQkJCQlHZXJtYW55CQkJCQkJCTwvc3Bhbj4KCQkJCQkJPC9oNj4KCQkJCQkJCQkJCQkJCQkJCQkJPHAgY2xhc3M9Im1pbC1saWdodC1zb2Z0IG1pbC11cCI+CgkJCQkJCQk8c3BhbiA+CgkJCQkJCQkJTGVlaG92ZSA0MCwgMjY3OCBNQyBEZSBMaWVyLCBOZXRoZXJsYW5kcyA8c3BhbiBjbGFzcz0ibWlsLW5vLXdyYXAiPiszMSAxNzQgNzA1IDgxMTwvc3Bhbj4JCQkJCQkJPC9zcGFuPgoJCQkJCQk8L3A+CgkJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJPC9kaXY+CgkJPC9kaXY+CgoJCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCTwvc2VjdGlvbj4KCQkJCTwvZGl2PgoJCQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPCEtLSBtZW51IC0tPgoKICAgIDwhLS0gY29udGVudCAtLT4KICAgIDxkaXYgY2xhc3M9Im1pbC1jb250ZW50Ij4KICAgICAgICA8ZGl2IGlkPSJzd3VwTWFpbiIgY2xhc3M9Im1pbC1tYWluLXRyYW5zaXRpb24iPgoKCQk8ZGl2IGlkPSJwb3N0LTE1IiBjbGFzcz0icG9zdC0xNSBwYWdlIHR5cGUtcGFnZSBzdGF0dXMtcHVibGlzaCBoZW50cnkiPgoJCQkJCTxkaXYgZGF0YS1lbGVtZW50b3ItdHlwZT0id3AtcGFnZSIgZGF0YS1lbGVtZW50b3ItaWQ9IjE1IiBjbGFzcz0iZWxlbWVudG9yIGVsZW1lbnRvci0xNSI+CgkJCQkJCTxzZWN0aW9uIGNsYXNzPSJlbGVtZW50b3Itc2VjdGlvbiBlbGVtZW50b3ItdG9wLXNlY3Rpb24gZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtNDNiMTRlMyBlbGVtZW50b3Itc2VjdGlvbi1mdWxsX3dpZHRoIGVsZW1lbnRvci1zZWN0aW9uLWhlaWdodC1kZWZhdWx0IGVsZW1lbnRvci1zZWN0aW9uLWhlaWdodC1kZWZhdWx0IiBkYXRhLWlkPSI0M2IxNGUzIiBkYXRhLWVsZW1lbnRfdHlwZT0ic2VjdGlvbiI+CgkJCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1jb250YWluZXIgZWxlbWVudG9yLWNvbHVtbi1nYXAtbm8iPgoJCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1jb2x1bW4gZWxlbWVudG9yLWNvbC0xMDAgZWxlbWVudG9yLXRvcC1jb2x1bW4gZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtNGJlZjE5ZiIgZGF0YS1pZD0iNGJlZjE5ZiIgZGF0YS1lbGVtZW50X3R5cGU9ImNvbHVtbiI+CgkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtd3JhcCBlbGVtZW50b3ItZWxlbWVudC1wb3B1bGF0ZWQiPgoJCQkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC0wNjYwODA3IGVsZW1lbnRvci13aWRnZXQgZWxlbWVudG9yLXdpZGdldC1hc2hsZXktaGVyby1iYW5uZXIiIGRhdGEtaWQ9IjA2NjA4MDciIGRhdGEtZWxlbWVudF90eXBlPSJ3aWRnZXQiIGRhdGEtd2lkZ2V0X3R5cGU9ImFzaGxleS1oZXJvLWJhbm5lci5kZWZhdWx0Ij4KCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyIj4KCQkJCQkKCQk8IS0tIGJhbm5lciAtLT4KCQk8c2VjdGlvbiBjbGFzcz0ibWlsLWJhbm5lciBtaWwtZGFyay1iZyI+CgkJCTxkaXYgY2xhc3M9Im1pLWludmVydC1maXgiPgoJCQkJCQkJCTxkaXYgY2xhc3M9Im1pbC1hbmltYXRpb24tZnJhbWUiPgoJCQkJCTxkaXYgY2xhc3M9Im1pbC1hbmltYXRpb24gbWlsLXBvc2l0aW9uLTEgbWlsLXNjYWxlIiBkYXRhLXZhbHVlLTE9IjciIGRhdGEtdmFsdWUtMj0iMS42Ij48L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJtaWwtYW5pbWF0aW9uIG1pbC1wb3NpdGlvbi0yIG1pbC1zY2FsZSIgZGF0YS12YWx1ZS0xPSI0IiBkYXRhLXZhbHVlLTI9IjEiPjwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9Im1pbC1hbmltYXRpb24gbWlsLXBvc2l0aW9uLTMgbWlsLXNjYWxlIiBkYXRhLXZhbHVlLTE9IjEuMiIgZGF0YS12YWx1ZS0yPSIuMSI+PC9kaXY+CgkJCQk8L2Rpdj4KCQkJCQoJCQkJPGRpdiBjbGFzcz0ibWlsLWdyYWRpZW50Ij48L2Rpdj4KCgkJCQk8ZGl2IGNsYXNzPSJjb250YWluZXIiPgoJCQkJCTxkaXYgY2xhc3M9Im1pbC1iYW5uZXItY29udGVudCBtaWwtdXAiPgoJCQkJCQkJCQkJCQk8aDEgY2xhc3M9ImVsLXRpdGxlIG1pbC1tdXRlZCBtaWwtbWItNjAiPgoJCQkJCQkJPHNwYW4gPgoJCQkJCQkJCVRyYWRlIDxzcGFuIGNsYXNzPSJtaWwtdGhpbiI+V2l0aDwvc3Bhbj48YnI+IENvbmZpZGVuY2UgPHNwYW4gY2xhc3M9Im1pbC10aGluIj5Ub2RheSE8L3NwYW4+CQkJCQkJCTwvc3Bhbj4KCQkJCQkJPC9oMT4KCQkJCQkJCgkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9InJvdyI+CgkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtbWQtNyBjb2wtbGctNSI+CgkJCQkJCQkJPHAgY2xhc3M9ImVsLXRleHQgbWlsLWxpZ2h0LXNvZnQgbWlsLW1iLTYwIj4KCQkJCQkJCQkJPHNwYW4gPgoJCQkJCQkJCQkJT3ggTG9mdCBUcmFkZSBMVEQgaXMgYSB2YWx1ZS1kcml2ZW4gQ29tcGFueSBkZWRpY2F0ZWQgdG8gQnVpbGRpbmcgYSBjb25zdGFudCBSZXZlbnVlIGZsb3cgZm9yIE91ciBJbnZlc3RvcnMuCQkJCQkJCQkJPC9zcGFuPgoJCQkJCQkJCTwvcD4KCQkJCQkJCTwvZGl2PgoJCQkJCQk8L2Rpdj4KCQkJCQkJCgkJCQkJCQkJCQkJCTwhLS0gYnV0dG9ucyAtLT4KCQkJCQkJCQkJCQkJCQkJCQkJPGEgaHJlZj0iL2FwcC9yZWdpc3RlciIgY2xhc3M9Im1pbC1idXR0b24gbWlsLWFycm93LXBsYWNlIG1pbC1idG4tc3BhY2UiPgoJCQkJCQkJPHNwYW4gPgoJCQkJCQkJCUdldCBTdGFydGVkCQkJCQkJCTwvc3Bhbj4KCQkJCQkJPC9hPgoJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQk8YSBocmVmPSIvYXBwL2xvZ2luIiBjbGFzcz0ibWlsLWxpbmsgbWlsLW11dGVkIG1pbC1hcnJvdy1wbGFjZSI+CgkJCQkJCQk8c3BhbiA+CgkJCQkJCQkJTG9naW4JCQkJCQkJPC9zcGFuPgoJCQkJCQk8L2E+CgkJCQkJCQkJCQkJCQkJCQkJCTwhLS0gYnV0dG9ucyBlbmQgLS0+CgkJCQkJCQkJCQkJCQoJCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJtaWwtY2lyY2xlLXRleHQiPgoJCQkJCQkJPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzAwIDMwMCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzAwIDMwMCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgY2xhc3M9Im1pbC1jdC1zdmcgbWlsLXJvdGF0ZSIgZGF0YS12YWx1ZT0iMzYwIj4KCQkJCQkJCQk8ZGVmcz4KCQkJCQkJCQkJPHBhdGggaWQ9ImNpcmNsZVBhdGgiIGQ9Ik0gMTUwLCAxNTAgbSAtNjAsIDAgYSA2MCw2MCAwIDAsMSAxMjAsMCBhIDYwLDYwIDAgMCwxIC0xMjAsMCAiIC8+CgkJCQkJCQkJPC9kZWZzPgoJCQkJCQkJCTxjaXJjbGUgY3g9IjE1MCIgY3k9IjEwMCIgcj0iNzUiIGZpbGw9Im5vbmUiIC8+CgkJCQkJCQkJPGc+CgkJCQkJCQkJCTx1c2UgeGxpbms6aHJlZj0iI2NpcmNsZVBhdGgiIGZpbGw9Im5vbmUiIC8+CgkJCQkJCQkJCTx0ZXh0IHN0eWxlPSJsZXR0ZXItc3BhY2luZzogNi41cHgiPgoJCQkJCQkJCQkJPCEtLSBjaXJjbGUgdGV4dCAtLT4KCQkJCQkJCQkJCTx0ZXh0UGF0aCB4bGluazpocmVmPSIjY2lyY2xlUGF0aCI+U2Nyb2xsIGRvd24gLSBTY3JvbGwgZG93biAtIDwvdGV4dFBhdGg+CgkJCQkJCQkJCTwvdGV4dD4KCQkJCQkJCQk8L2c+CgkJCQkJCQk8L3N2Zz4KCQkJCQkJCTxhIGhyZWY9IiNhYm91dCIgYXJpYS1sYWJlbD0iU2Nyb2xsIGRvd24gLSBTY3JvbGwgZG93biAtICIgY2xhc3M9Im1pbC1idXR0b24gbWlsLWFycm93LXBsYWNlIG1pbC1pY29uLWJ1dHRvbiBtaWwtYXJyb3ctZG93biI+PC9hPgoJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQk8L3NlY3Rpb24+CgkJPCEtLSBiYW5uZXIgZW5kIC0tPgoKCQkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQk8L3NlY3Rpb24+CgkJCQk8c2VjdGlvbiBjbGFzcz0iZWxlbWVudG9yLXNlY3Rpb24gZWxlbWVudG9yLXRvcC1zZWN0aW9uIGVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LThjNDUzZDkgZWxlbWVudG9yLXNlY3Rpb24tY29udGVudC1taWRkbGUgZWxlbWVudG9yLXNlY3Rpb24tYm94ZWQgZWxlbWVudG9yLXNlY3Rpb24taGVpZ2h0LWRlZmF1bHQgZWxlbWVudG9yLXNlY3Rpb24taGVpZ2h0LWRlZmF1bHQiIGRhdGEtaWQ9IjhjNDUzZDkiIGRhdGEtZWxlbWVudF90eXBlPSJzZWN0aW9uIiBpZD0iYWJvdXQiPgoJCQkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItY29udGFpbmVyIGVsZW1lbnRvci1jb2x1bW4tZ2FwLWRlZmF1bHQiPgoJCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1jb2x1bW4gZWxlbWVudG9yLWNvbC01MCBlbGVtZW50b3ItdG9wLWNvbHVtbiBlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC1kOTExNzQ5IiBkYXRhLWlkPSJkOTExNzQ5IiBkYXRhLWVsZW1lbnRfdHlwZT0iY29sdW1uIj4KCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLXdpZGdldC13cmFwIGVsZW1lbnRvci1lbGVtZW50LXBvcHVsYXRlZCI+CgkJCQkJCTxzZWN0aW9uIGNsYXNzPSJlbGVtZW50b3Itc2VjdGlvbiBlbGVtZW50b3ItaW5uZXItc2VjdGlvbiBlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC01NjBmNTU5IGVsZW1lbnRvci1zZWN0aW9uLWJveGVkIGVsZW1lbnRvci1zZWN0aW9uLWhlaWdodC1kZWZhdWx0IGVsZW1lbnRvci1zZWN0aW9uLWhlaWdodC1kZWZhdWx0IiBkYXRhLWlkPSI1NjBmNTU5IiBkYXRhLWVsZW1lbnRfdHlwZT0ic2VjdGlvbiI+CgkJCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1jb250YWluZXIgZWxlbWVudG9yLWNvbHVtbi1nYXAtZGVmYXVsdCI+CgkJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWNvbHVtbiBlbGVtZW50b3ItY29sLTEwMCBlbGVtZW50b3ItaW5uZXItY29sdW1uIGVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LThlYTA0ZGQiIGRhdGEtaWQ9IjhlYTA0ZGQiIGRhdGEtZWxlbWVudF90eXBlPSJjb2x1bW4iPgoJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3Itd2lkZ2V0LXdyYXAgZWxlbWVudG9yLWVsZW1lbnQtcG9wdWxhdGVkIj4KCQkJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtMTZlN2Q5OCBlbGVtZW50b3Itd2lkZ2V0IGVsZW1lbnRvci13aWRnZXQtYXNobGV5LWFib3V0LXVzIiBkYXRhLWlkPSIxNmU3ZDk4IiBkYXRhLWVsZW1lbnRfdHlwZT0id2lkZ2V0IiBkYXRhLXdpZGdldF90eXBlPSJhc2hsZXktYWJvdXQtdXMuZGVmYXVsdCI+CgkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lciI+CgkJCQkJCgkJCgkJCQk8aDIgY2xhc3M9Im1pbC1oMiBtaWwtdGl0bGUtZWwgbWlsLXVwIG1pbC1tYi0zMCI+CgkJCTxzcGFuID4KCQkJCUFib3V0IDxzcGFuIGNsYXNzPSJtaWwtdGhpbiI+VVM8L3NwYW4+CQkJPC9zcGFuPgoJCTwvaDI+CgkJCgkJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJPC9zZWN0aW9uPgoJCQkJPHNlY3Rpb24gY2xhc3M9ImVsZW1lbnRvci1zZWN0aW9uIGVsZW1lbnRvci1pbm5lci1zZWN0aW9uIGVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LWFiY2JmNTggZWxlbWVudG9yLXNlY3Rpb24tYm94ZWQgZWxlbWVudG9yLXNlY3Rpb24taGVpZ2h0LWRlZmF1bHQgZWxlbWVudG9yLXNlY3Rpb24taGVpZ2h0LWRlZmF1bHQiIGRhdGEtaWQ9ImFiY2JmNTgiIGRhdGEtZWxlbWVudF90eXBlPSJzZWN0aW9uIj4KCQkJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWNvbnRhaW5lciBlbGVtZW50b3ItY29sdW1uLWdhcC1kZWZhdWx0Ij4KCQkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItY29sdW1uIGVsZW1lbnRvci1jb2wtMTAwIGVsZW1lbnRvci1pbm5lci1jb2x1bW4gZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtYWY2YzMyOCIgZGF0YS1pZD0iYWY2YzMyOCIgZGF0YS1lbGVtZW50X3R5cGU9ImNvbHVtbiI+CgkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtd3JhcCBlbGVtZW50b3ItZWxlbWVudC1wb3B1bGF0ZWQiPgoJCQkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC05OGYzMTdmIGVsZW1lbnRvci13aWRnZXQgZWxlbWVudG9yLXdpZGdldC1hc2hsZXktZGVzY3JpcHRpb24iIGRhdGEtaWQ9Ijk4ZjMxN2YiIGRhdGEtZWxlbWVudF90eXBlPSJ3aWRnZXQiIGRhdGEtd2lkZ2V0X3R5cGU9ImFzaGxleS1kZXNjcmlwdGlvbi5kZWZhdWx0Ij4KCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyIj4KCQkJCQkKCQkJCTxkaXYgY2xhc3M9Im1pbC10ZXh0IG1pbC11cCBtaWwtbWItMzAgIG1pbC10ZXh0LWxnIj4KCQkJPGRpdiA+CgkJCQk8cD5PeCBMb2Z0IFRyYWRlIExURCBpcyBpbmNvcnBvcmF0ZWQgaW4gVVNBLCBPeCBMb2Z0IFRyYWRlIExURCBpcyBhbiBhaSB0cmFkaW5nIHBsYXRmb3JtIHRoYXQgY29ubmVjdHMgYWR2aXNvcnMgYW5kIGludmVzdG9ycyB0byB0aGUgYmVzdCBhbHRlcm5hdGl2ZSBpbnZlc3RtZW50IG1hbmFnZXJzLjwvcD48cD5Ub2RheSBtYW55IHRyYWRlcnMgYW5kIGFsdGVybmF0aXZlIGludmVzdG1lbnQgbWFuYWdlcnMgYXJlIGxpbWl0ZWQgdG8gcmFpc2luZyBjYXBpdGFsIGxvY2FsbHkuPC9wPjxwPkhvd2V2ZXIgd2l0aCBPeCBMb2Z0IFRyYWRlIExURCwgdGhlc2UgbWFuYWdlcnMgY2FuIG5vdyByYWlzZSBjYXBpdGFsIGdsb2JhbGx5IHRocm91Z2ggb3VyIHBsYXRmb3JtJ3MgY29ubmVjdGl2aXR5IHdpdGggaW5zdGl0dXRpb25hbCBhbmQgaW50ZXJtZWRpYXJ5IGNoYW5uZWxzLiBPdXIgZmlybeKAmXMgZ3Jvd2luZyBjbGllbnQgbGlzdCBpbmNsdWRlcyBzb21lIG9mIHRoZSB3b3JsZOKAmXMgbW9zdCByZXNwZWN0ZWQgYWx0ZXJuYXRpdmUgaW52ZXN0bWVudCBtYW5hZ2VycyB0aGF0IGFyZSB1c2luZyBvdXIgdGVjaG5vbG9neSB0byBpbmNyZWFzZSB0aGVpciBBVU0uPC9wPgkJCTwvZGl2PgoJCTwvZGl2PgoJCQoJCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCTwvc2VjdGlvbj4KCQkJCTxzZWN0aW9uIGNsYXNzPSJlbGVtZW50b3Itc2VjdGlvbiBlbGVtZW50b3ItaW5uZXItc2VjdGlvbiBlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC00Y2UwNzU1IGVsZW1lbnRvci1zZWN0aW9uLWJveGVkIGVsZW1lbnRvci1zZWN0aW9uLWhlaWdodC1kZWZhdWx0IGVsZW1lbnRvci1zZWN0aW9uLWhlaWdodC1kZWZhdWx0IiBkYXRhLWlkPSI0Y2UwNzU1IiBkYXRhLWVsZW1lbnRfdHlwZT0ic2VjdGlvbiI+CgkJCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1jb250YWluZXIgZWxlbWVudG9yLWNvbHVtbi1nYXAtZGVmYXVsdCI+CgkJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWNvbHVtbiBlbGVtZW50b3ItY29sLTEwMCBlbGVtZW50b3ItaW5uZXItY29sdW1uIGVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LTU2ODdiMmEiIGRhdGEtaWQ9IjU2ODdiMmEiIGRhdGEtZWxlbWVudF90eXBlPSJjb2x1bW4iPgoJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3Itd2lkZ2V0LXdyYXAgZWxlbWVudG9yLWVsZW1lbnQtcG9wdWxhdGVkIj4KCQkJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtNjQwNzczMCBlbGVtZW50b3ItYnV0dG9uLWRhbmdlciBlbGVtZW50b3Itd2lkZ2V0IGVsZW1lbnRvci13aWRnZXQtYnV0dG9uIiBkYXRhLWlkPSI2NDA3NzMwIiBkYXRhLWVsZW1lbnRfdHlwZT0id2lkZ2V0IiBkYXRhLXdpZGdldF90eXBlPSJidXR0b24uZGVmYXVsdCI+CgkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lciI+CgkJCQkJCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1idXR0b24td3JhcHBlciI+CgkJCQkJPGEgY2xhc3M9ImVsZW1lbnRvci1idXR0b24gZWxlbWVudG9yLWJ1dHRvbi1saW5rIGVsZW1lbnRvci1zaXplLXNtIiBocmVmPSIvYWJvdXQtdXMvIj4KCQkJCQkJPHNwYW4gY2xhc3M9ImVsZW1lbnRvci1idXR0b24tY29udGVudC13cmFwcGVyIj4KCQkJCQkJCQkJPHNwYW4gY2xhc3M9ImVsZW1lbnRvci1idXR0b24tdGV4dCI+UmVhZCBNb3JlPC9zcGFuPgoJCQkJCTwvc3Bhbj4KCQkJCQk8L2E+CgkJCQk8L2Rpdj4KCQkJCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCTwvc2VjdGlvbj4KCQkJCQk8L2Rpdj4KCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1jb2x1bW4gZWxlbWVudG9yLWNvbC01MCBlbGVtZW50b3ItdG9wLWNvbHVtbiBlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC1lZjA3MWQ1IiBkYXRhLWlkPSJlZjA3MWQ1IiBkYXRhLWVsZW1lbnRfdHlwZT0iY29sdW1uIj4KCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLXdpZGdldC13cmFwIGVsZW1lbnRvci1lbGVtZW50LXBvcHVsYXRlZCI+CgkJCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LWQ2MTIyMTcgZWxlbWVudG9yLXdpZGdldCBlbGVtZW50b3Itd2lkZ2V0LWFzaGxleS1hYm91dC1pbWFnZSIgZGF0YS1pZD0iZDYxMjIxNyIgZGF0YS1lbGVtZW50X3R5cGU9IndpZGdldCIgZGF0YS13aWRnZXRfdHlwZT0iYXNobGV5LWFib3V0LWltYWdlLmRlZmF1bHQiPgoJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLXdpZGdldC1jb250YWluZXIiPgoJCQkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtaWwtYWJvdXQtcGhvdG8iPgoJCQk8ZGl2IGNsYXNzPSJtaWwtbGluZXMtcGxhY2UiPjwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJtaWwtdXAgbWlsLWltZy1mcmFtZSIgc3R5bGU9InBhZGRpbmctYm90dG9tOiAxNjAlOyI+CgkJCQk8aW1nIGRlY29kaW5nPSJhc3luYyIgc3JjPSJodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjUvMDEvYWJvdXQtZnJvbnQtaW1nLmpwZyIgYWx0PSIiIGNsYXNzPSJtaWwtc2NhbGUiIGRhdGEtdmFsdWUtMT0iMSIgZGF0YS12YWx1ZS0yPSIxLjIiIC8+CgkJCTwvZGl2PgoJCTwvZGl2PgoJCQoJCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCTwvc2VjdGlvbj4KCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC0yODc0YmZhIGUtZmxleCBlLWNvbi1ib3hlZCBlLWNvbiBlLXBhcmVudCIgZGF0YS1pZD0iMjg3NGJmYSIgZGF0YS1lbGVtZW50X3R5cGU9ImNvbnRhaW5lciI+CgkJCQkJPGRpdiBjbGFzcz0iZS1jb24taW5uZXIiPgoJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LWU2YmZlMGQgZS1jb24tZnVsbCBlLWZsZXggZS1jb24gZS1jaGlsZCIgZGF0YS1pZD0iZTZiZmUwZCIgZGF0YS1lbGVtZW50X3R5cGU9ImNvbnRhaW5lciI+CgkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC02OTM1MTU1IGVsZW1lbnRvci13aWRnZXQgZWxlbWVudG9yLXdpZGdldC10ZXh0LWVkaXRvciIgZGF0YS1pZD0iNjkzNTE1NSIgZGF0YS1lbGVtZW50X3R5cGU9IndpZGdldCIgZGF0YS13aWRnZXRfdHlwZT0idGV4dC1lZGl0b3IuZGVmYXVsdCI+CgkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lciI+CgkJCQkJCQkJCTxoNSBjbGFzcz0iaWNvbi1ib3gtdGl0bGUgIj5XZSBhcmUgVHJhZGluZyBmb3IgeW91PC9oNT48ZGl2IGNsYXNzPSJjb250ZW50Ij48cCBjbGFzcz0iYW5pbWF0ZWQgZmFkZUluVXAiIGRhdGEtYW5pbWF0ZT0iZmFkZUluVXAiIGRhdGEtZGVsYXk9Ii4zIj5XaXRoIG91ciBlYXN5IHRvIHVzZSBvbmxpbmUgcGxhdGZvcm0sIHlvdeKAmWxsIGhhdmUgbW9yZSBjb250cm9sIG92ZXIgeW91ciBmaW5hbmNpYWwgcG9zaXRpb24uIFlvdSBhbmQgeW91ciBmaW5hbmNpYWwgYWR2aXNlciBjYW4gbWFuYWdlIHlvdXIgaW52ZXN0bWVudHMgb25saW5lLCByZWFjdCBtb3JlIHF1aWNrbHkgdG8gbWFya2V0IGRldmVsb3BtZW50cyBhbmQgYWx0ZXIgeW91ciBhc3NldCBjaG9pY2Ugd2hlbmV2ZXIgeW91IHdhbnQsIHdlIGFyZSBvZmZlcmluZyBhIGNlcnRhaW4gbGV2ZWwgb2YgcmVmZXJyYWwgaW5jb21lIHRocm91Z2ggb3VyIHJlZmVycmFsIHByb2dyYW0uIHlvdSBjYW4gaW5jcmVhc2UgeW91ciBpbmNvbWUgYnkgc2ltcGx5IHJlZmVycmluZyA1MCBhY3RpdmUgcmVmZXJyYWxzIGJvdGggRGlyZWN0IGFuZCBpbmRpcmVjdCBhbmQgZWFybiBhIHNhbGFyeSBvZiAkMjAwMCBtb250aGx5LjwvcD48dWw+PGxpPk1hbmFnZSBZb3VyIFBvcnRmb2xpbzwvbGk+PGxpPlN0YWJsZSBQcm9maXQ8L2xpPjxsaT5TZWN1cmVkIFRlY2hub2xvZ3k8L2xpPjxsaT5IaWdoIHRyYWRpbmcgdm9sdW1lPC9saT48bGk+VHJ1c3RlZCBTZXJ2aWNlPC9saT48bGk+RWFzeSB0byBNYW5hZ2U8L2xpPjwvdWw+PC9kaXY+CQkJCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtOWJiMzY0YSBlLWNvbi1mdWxsIGUtZmxleCBlLWNvbiBlLWNoaWxkIiBkYXRhLWlkPSI5YmIzNjRhIiBkYXRhLWVsZW1lbnRfdHlwZT0iY29udGFpbmVyIj4KCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC1hOWY1ZTFhIGUtY29uLWZ1bGwgZS1mbGV4IGUtY29uIGUtY2hpbGQiIGRhdGEtaWQ9ImE5ZjVlMWEiIGRhdGEtZWxlbWVudF90eXBlPSJjb250YWluZXIiPgoJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtZGM0YWE4NCBlbGVtZW50b3Itd2lkZ2V0IGVsZW1lbnRvci13aWRnZXQtdGV4dC1lZGl0b3IiIGRhdGEtaWQ9ImRjNGFhODQiIGRhdGEtZWxlbWVudF90eXBlPSJ3aWRnZXQiIGRhdGEtd2lkZ2V0X3R5cGU9InRleHQtZWRpdG9yLmRlZmF1bHQiPgoJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLXdpZGdldC1jb250YWluZXIiPgoJCQkJCQkJCQk8aDUgY2xhc3M9Imljb24tYm94LXRpdGxlICI+SW5ub3ZhdGUgd2l0aCBPeCBMb2Z0IFRyYWRlIExURDwvaDU+PGRpdiBjbGFzcz0iY29udGVudCI+PHA+RXhwZXJpZW5jZSBmaW5hbmNpYWwgZW1wb3dlcm1lbnQgdGhyb3VnaCBJbm5vdmF0ZSB3aXRoIFBvcnRmb2xpbyBUcmFkZXImIzgyMTc7cyB0cmFuc3BhcmVudCwgYWNjZXNzaWJsZSBibG9ja2NoYWluIHBsYXRmb3JtLiBKb2luIHVzIGluIHNoYXBpbmcgYSB3b3JsZCB3aGVyZSBmaW5hbmNlIGtub3dzIG5vIGJvdW5kcy48L3A+PC9kaXY+CQkJCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtOTY1MmU1NCBlLWNvbi1mdWxsIGUtZmxleCBlLWNvbiBlLWNoaWxkIiBkYXRhLWlkPSI5NjUyZTU0IiBkYXRhLWVsZW1lbnRfdHlwZT0iY29udGFpbmVyIj4KCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LTZkOWY0NjYgZWxlbWVudG9yLXdpZGdldCBlbGVtZW50b3Itd2lkZ2V0LXRleHQtZWRpdG9yIiBkYXRhLWlkPSI2ZDlmNDY2IiBkYXRhLWVsZW1lbnRfdHlwZT0id2lkZ2V0IiBkYXRhLXdpZGdldF90eXBlPSJ0ZXh0LWVkaXRvci5kZWZhdWx0Ij4KCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyIj4KCQkJCQkJCQkJPGg1IGNsYXNzPSJpY29uLWJveC10aXRsZSAiPkxlYWRpbmcgdGhlIENyeXB0byBSZXZvbHV0aW9uPC9oNT48ZGl2IGNsYXNzPSJjb250ZW50Ij48cD5PeCBMb2Z0IFRyYWRlIExURCBwaW9uZWVycyBibG9ja2NoYWluIGlubm92YXRpb24sIHRyYW5zZm9ybWluZyBmaW5hbmNlIHdpdGggc2VjdXJlIGFuZCB0cmFuc3BhcmVudCBzb2x1dGlvbnMuIEpvaW4gdXMgZm9yIGEgZGVjZW50cmFsaXplZCBmdXR1cmUsIHdoZXJlIGluY2x1c2l2aXR5IG1lZXRzIGVmZmljaWVuY3kuPC9wPjwvZGl2PgkJCQkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC1mNGFjZjEwIGUtZmxleCBlLWNvbi1ib3hlZCBlLWNvbiBlLXBhcmVudCIgZGF0YS1pZD0iZjRhY2YxMCIgZGF0YS1lbGVtZW50X3R5cGU9ImNvbnRhaW5lciI+CgkJCQkJPGRpdiBjbGFzcz0iZS1jb24taW5uZXIiPgoJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LTUzNWRhYTMgZS1jb24tZnVsbCBlLWZsZXggZS1jb24gZS1jaGlsZCIgZGF0YS1pZD0iNTM1ZGFhMyIgZGF0YS1lbGVtZW50X3R5cGU9ImNvbnRhaW5lciI+CgkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC1mZjc2YmVmIGVsZW1lbnRvci13aWRnZXQgZWxlbWVudG9yLXdpZGdldC1pbWFnZSIgZGF0YS1pZD0iZmY3NmJlZiIgZGF0YS1lbGVtZW50X3R5cGU9IndpZGdldCIgZGF0YS13aWRnZXRfdHlwZT0iaW1hZ2UuZGVmYXVsdCI+CgkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lciI+CgkJCQkJCQkJCQkJCQkJCTxpbWcgZmV0Y2hwcmlvcml0eT0iaGlnaCIgZGVjb2Rpbmc9ImFzeW5jIiB3aWR0aD0iNjgzIiBoZWlnaHQ9IjEwMjQiIHNyYz0iaHR0cHM6Ly9veGxvZnR0cmQuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzAxL2FpLTY4M3gxMDI0LmpwZyIgY2xhc3M9ImF0dGFjaG1lbnQtbGFyZ2Ugc2l6ZS1sYXJnZSB3cC1pbWFnZS0xMzY0IiBhbHQ9IiIgc3Jjc2V0PSJodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjUvMDEvYWktNjgzeDEwMjQuanBnIDY4M3csIGh0dHBzOi8vb3hsb2Z0dHJkLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8wMS9haS0yMDB4MzAwLmpwZyAyMDB3LCBodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjUvMDEvYWktNzY4eDExNTEuanBnIDc2OHcsIGh0dHBzOi8vb3hsb2Z0dHJkLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8wMS9haS0xMDI0eDE1MzYuanBnIDEwMjR3LCBodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjUvMDEvYWktMTM2NngyMDQ4LmpwZyAxMzY2dywgaHR0cHM6Ly9veGxvZnR0cmQuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzAxL2FpLTk1MHgxNDI0LmpwZyA5NTB3LCBodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjUvMDEvYWkuanBnIDE0MDB3IiBzaXplcz0iKG1heC13aWR0aDogNjgzcHgpIDEwMHZ3LCA2ODNweCIgLz4JCQkJCQkJCQkJCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtYzgxMmYwZCBlLWNvbi1mdWxsIGUtZmxleCBlLWNvbiBlLWNoaWxkIiBkYXRhLWlkPSJjODEyZjBkIiBkYXRhLWVsZW1lbnRfdHlwZT0iY29udGFpbmVyIj4KCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LWVlOWVlN2YgZWxlbWVudG9yLXdpZGdldCBlbGVtZW50b3Itd2lkZ2V0LXRleHQtZWRpdG9yIiBkYXRhLWlkPSJlZTllZTdmIiBkYXRhLWVsZW1lbnRfdHlwZT0id2lkZ2V0IiBkYXRhLXdpZGdldF90eXBlPSJ0ZXh0LWVkaXRvci5kZWZhdWx0Ij4KCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyIj4KCQkJCQkJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtNmIxOGYzOSBlbGVtZW50b3Itd2lkZ2V0IGVsZW1lbnRvci13aWRnZXQtdG0tZWxlLXRleHQtZWRpdG9yIiBkYXRhLWlkPSI2YjE4ZjM5IiBkYXRhLWVsZW1lbnRfdHlwZT0id2lkZ2V0IiBkYXRhLXdpZGdldF90eXBlPSJ0bS1lbGUtdGV4dC1lZGl0b3IuZGVmYXVsdCI+PGRpdiBjbGFzcz0iZWxlbWVudG9yLXdpZGdldC1jb250YWluZXIiPjxkaXYgY2xhc3M9InRtLXRleHQtZWRpdG9yIj48aDU+QUkgVHJhZGluZzwvaDU+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtZDFmZWRjMiBlbGVtZW50b3Itd2lkZ2V0IGVsZW1lbnRvci13aWRnZXQtdGV4dC1lZGl0b3IiIGRhdGEtaWQ9ImQxZmVkYzIiIGRhdGEtZWxlbWVudF90eXBlPSJ3aWRnZXQiIGRhdGEtd2lkZ2V0X3R5cGU9InRleHQtZWRpdG9yLmRlZmF1bHQiPjxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyIj48cD5UaGUgdGVhbSBvZiBwcm9mZXNzaW9uYWxzIGF0IDxzdHJvbmc+T3ggTG9mdCBUcmFkZSBMVEQ8L3N0cm9uZz4gUGxhdGZvcm0gaGFzIGRldmVsb3BlZCBhIHVuaXF1ZSB0cmFkaW5nIHJvYm90IHRoYXQgZ2VuZXJhdGVzIHByb2ZpdCBpbiBhbnkgbWFya2V0IGNvbmRpdGlvbiwgd2hldGhlciBpdOKAmXMgcmlzaW5nIG9yIGZhbGxpbmcuPC9wPjxwPlRoZSByb2JvdCBvcGVyYXRlcyBpbmRlcGVuZGVudGx5IG9mIGh1bWFuIGludGVydmVudGlvbiwgZW5zdXJpbmcgdGhhdCBhbGwgaW52ZXN0bWVudHMgYXJlIHJlbGlhYmxlIGFuZCBjb21wbGV0ZWx5IHNhZmUuPC9wPjxwPlRoZSBoaWdobHkgcHJvZmVzc2lvbmFsIHRlYW0gYXQgPHN0cm9uZz5PeCBMb2Z0IFRyYWRlIExURDwvc3Ryb25nPiBvdmVyc2VlcyB0aGUgdHJhZGluZyByb2JvdOKAmXMgb3BlcmF0aW9ucyBhcm91bmQgdGhlIGNsb2NrLiBPbmNlIHlvdSBpbnZlc3QsIHlvdeKAmWxsIGJlIGFibGUgdG8gd2F0Y2ggeW91ciBjYXBpdGFsIGdyb3cgaW4gcmVhbCB0aW1lLjwvcD48L2Rpdj48L2Rpdj48aDU+wqA8L2g1PjxoNT5EZWRpY2F0ZWQgTWFuYWdlcjwvaDU+PHA+RXZlcnkgaW52ZXN0b3Igd2l0aCBhbiBhY3RpdmUgYWNjb3VudCBpcyBhc3NpZ25lZCBhIGRlZGljYXRlZCBpbnZlc3RtZW50IG1hbmFnZXIgd2hvIG9mZmVycyBwZXJzb25hbGl6ZWQgZ3VpZGFuY2UgYW5kIGVuc3VyZXMgeW91ciBwb3J0Zm9saW8gaXMgZXhwZXJ0bHkgbWFuYWdlZC4gT3VyIG1hbmFnZXJzIGFyZSBoaWdobHkgdHJhaW5lZCwgZXhwZXJpZW5jZWQgaW4gY3VzdG9tZXIgcmVsYXRpb25zLCBhbmQgc2tpbGxlZCBpbnZlc3RvcnMgdGhlbXNlbHZlcywgc28gbm8gY2xpZW50IGlzIGV2ZXIgbGVmdCBpbiB0aGUgZGFyay48L3A+PHA+V2UgZ3VhcmFudGVlIHRoYXQgeW91IHdpbGwgYWx3YXlzIGJlIGluZm9ybWVkIGFib3V0IHlvdXIgcG9ydGZvbGlv4oCZcyBwZXJmb3JtYW5jZS4gSW4gYWRkaXRpb24gdG8gYSBjb21wcmVoZW5zaXZlIGJhY2sgb2ZmaWNlIGZvciBtb25pdG9yaW5nIHlvdXIgaW52ZXN0bWVudCwgeW91IGhhdmUgYWNjZXNzIHRvIHlvdXIgZGVkaWNhdGVkIG1hbmFnZXIgZm9yIGxpdmUgY29uc3VsdGF0aW9ucy48L3A+CQkJCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCTxzZWN0aW9uIGNsYXNzPSJlbGVtZW50b3Itc2VjdGlvbiBlbGVtZW50b3ItdG9wLXNlY3Rpb24gZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtZDI5OTUwYiBlbGVtZW50b3Itc2VjdGlvbi1mdWxsX3dpZHRoIGVsZW1lbnRvci1zZWN0aW9uLWhlaWdodC1kZWZhdWx0IGVsZW1lbnRvci1zZWN0aW9uLWhlaWdodC1kZWZhdWx0IiBkYXRhLWlkPSJkMjk5NTBiIiBkYXRhLWVsZW1lbnRfdHlwZT0ic2VjdGlvbiI+CgkJCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1jb250YWluZXIgZWxlbWVudG9yLWNvbHVtbi1nYXAtbm8iPgoJCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1jb2x1bW4gZWxlbWVudG9yLWNvbC0xMDAgZWxlbWVudG9yLXRvcC1jb2x1bW4gZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtOTA2OTZhOSIgZGF0YS1pZD0iOTA2OTZhOSIgZGF0YS1lbGVtZW50X3R5cGU9ImNvbHVtbiI+CgkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtd3JhcCBlbGVtZW50b3ItZWxlbWVudC1wb3B1bGF0ZWQiPgoJCQkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC03Mzc4NTViIGVsZW1lbnRvci13aWRnZXQgZWxlbWVudG9yLXdpZGdldC1hc2hsZXktc2VydmljZXMiIGRhdGEtaWQ9IjczNzg1NWIiIGRhdGEtZWxlbWVudF90eXBlPSJ3aWRnZXQiIGRhdGEtd2lkZ2V0X3R5cGU9ImFzaGxleS1zZXJ2aWNlcy5kZWZhdWx0Ij4KCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyIj4KCQkJCQkKCQk8IS0tIHNlcnZpY2VzIC0tPgoJCTxzZWN0aW9uIGNsYXNzPSJtaWwtZGFyay1iZyI+CgkJCTxkaXYgY2xhc3M9Im1pLWludmVydC1maXgiPgoJCQkJCQkJCTxkaXYgY2xhc3M9Im1pbC1hbmltYXRpb24tZnJhbWUiPgoJCQkJCTxkaXYgY2xhc3M9Im1pbC1hbmltYXRpb24gbWlsLXBvc2l0aW9uLTEgbWlsLXNjYWxlIiBkYXRhLXZhbHVlLTE9IjIuNCIgZGF0YS12YWx1ZS0yPSIxLjQiIHN0eWxlPSJ0b3A6IDMwMHB4OyByaWdodDogLTEwMHB4Ij48L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJtaWwtYW5pbWF0aW9uIG1pbC1wb3NpdGlvbi0yIG1pbC1zY2FsZSIgZGF0YS12YWx1ZS0xPSIyIiBkYXRhLXZhbHVlLTI9IjEiIHN0eWxlPSJsZWZ0OiAxNTBweCI+PC9kaXY+CgkJCQk8L2Rpdj4KCQkJCQoJCQkJPGRpdiBjbGFzcz0iY29udGFpbmVyIG1pbC1wLTEyMC0wIj4KCgkJCQkJPGRpdiBjbGFzcz0ibWlsLW1iLTEyMCI+CgkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9InJvdyI+CgkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtbGctMTAiPgoJCQkJCQkJCTxzcGFuIGNsYXNzPSJtaWwtc3VwdGl0bGUgbWlsLWxpZ2h0LXNvZnQgbWlsLXN1cHRpdGxlLXJpZ2h0IG1pbC11cCI+CgkJCQkJCQkJCTxzcGFuID4KCQkJCQkJCQkJCUFuIEFJLVBvd2VyZWQgVHJhZGluZywgPGJyPiBJbnZlc3RpbmcgYW5kIE1pbmluZyBQbGF0Zm9ybS4JCQkJCQkJCQk8L3NwYW4+CgkJCQkJCQkJPC9zcGFuPgoJCQkJCQkJPC9kaXY+CgkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJtaWwtY29tcGxleC10ZXh0IGp1c3RpZnktY29udGVudC1jZW50ZXIgbWlsLXVwIG1pbC1tYi0xNSI+CgkJCQkJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Im1pbC10ZXh0LWltYWdlIj48aW1nIGRlY29kaW5nPSJhc3luYyIgc3JjPSJodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjMvMTAvcGhvdG8tMi5qcGciIGFsdD0iIiAvPjwvc3Bhbj4KCQkJCQkJCQkJCQkJCQkJCQkJCQkJPGgyIGNsYXNzPSJtaWwtaDEgbWlsLW11dGVkIG1pbC1jZW50ZXIiPgoJCQkJCQkJCTxzcGFuID4KCQkJCQkJCQkJVW5pcXVlIDxzcGFuIGNsYXNzPSJtaWwtdGhpbiI+SWRlYXM8L3NwYW4+CQkJCQkJCQk8L3NwYW4+CgkJCQkJCQk8L2gyPgoJCQkJCQkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9Im1pbC1jb21wbGV4LXRleHQganVzdGlmeS1jb250ZW50LWNlbnRlciBtaWwtdXAiPgoJCQkJCQkJCQkJCQkJCTxoMiBjbGFzcz0ibWlsLWgxIG1pbC1tdXRlZCBtaWwtY2VudGVyIj4KCQkJCQkJCQk8c3BhbiA+CgkJCQkJCQkJCUZvciA8c3BhbiBjbGFzcz0ibWlsLXRoaW4iPlRyYWRpbmcuPC9zcGFuPgkJCQkJCQkJPC9zcGFuPgoJCQkJCQkJPC9oMj4KCQkJCQkJCQkJCQkJCQkJCQkJCQkJPGEgaHJlZj0iL3NlcnZpY2VzIiBjbGFzcz0ibWlsLXNlcnZpY2VzLWJ1dHRvbiBtaWwtYnV0dG9uIG1pbC1hcnJvdy1wbGFjZSI+CgkJCQkJCQkJPHNwYW4gPgoJCQkJCQkJCQlXaGF0IHdlIGRvCQkJCQkJCQk8L3NwYW4+CgkJCQkJCQk8L2E+CgkJCQkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCQk8L2Rpdj4KCgkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJyb3cgbWlsLXNlcnZpY2VzLWdyaWQgbS0wIj4KCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLWxnLTMgbWlsLXNlcnZpY2VzLWdyaWQtaXRlbSBwLTAiPgoKCQkJCQkJCTxhICBocmVmPSIvc2VydmljZXMvaXRlbS9mdXR1cmUtZm9yd2FyZC1taW5pbmcvIiBjbGFzcz0ibWlsLXNlcnZpY2UtY2FyZC1zbSBtaWwtdXAiPgoJCQkJCQkJCQkJCQkJCQkJPGg1IGNsYXNzPSJtaWwtbXV0ZWQgbWlsLW1iLTMwIj4KCQkJCQkJCQkJPHNwYW4gPgoJCQkJCQkJCQkJRnV0dXJlLUZvcndhcmQgPGJyPk1pbmluZwkJCQkJCQkJCTwvc3Bhbj4KCQkJCQkJCQk8L2g1PgoJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQk8cCBjbGFzcz0ibWlsLWxpZ2h0LXNvZnQgbWlsLW1iLTMwIj4KCQkJCQkJCQkJPHNwYW4gPgoJCQkJCQkJCQkJSm9pbiBQb3J0Zm9saW8gVHJhZGVyJ3MgbWluaW5nIGluaXRpYXRpdmVzIGZvciBhY3RpdmUgcGFydGljaXBhdGlvbiBpbiBibG9ja2NoYWluIG5ldHdvcmtzIGFuZCBsdWNyYXRpdmUgcmV3YXJkcy4gQmUgcGFydCBvZiB0aGUgZGVjZW50cmFsaXplZCBmdXR1cmUuCQkJCQkJCQkJPC9zcGFuPgoJCQkJCQkJCTwvcD4KCQkJCQkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9Im1pbC1idXR0b24gbWlsLWljb24tYnV0dG9uLXNtIG1pbC1hcnJvdy1wbGFjZSI+PC9kaXY+CgkJCQkJCQk8L2E+CgoJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLWxnLTMgbWlsLXNlcnZpY2VzLWdyaWQtaXRlbSBwLTAiPgoKCQkJCQkJCTxhICBocmVmPSIvc2VydmljZXMvaXRlbS9lZmZvcnRsZXNzLXRyYWRpbmcvIiBjbGFzcz0ibWlsLXNlcnZpY2UtY2FyZC1zbSBtaWwtdXAiPgoJCQkJCQkJCQkJCQkJCQkJPGg1IGNsYXNzPSJtaWwtbXV0ZWQgbWlsLW1iLTMwIj4KCQkJCQkJCQkJPHNwYW4gPgoJCQkJCQkJCQkJRWZmb3J0bGVzcyA8YnI+VHJhZGluZwkJCQkJCQkJCTwvc3Bhbj4KCQkJCQkJCQk8L2g1PgoJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQk8cCBjbGFzcz0ibWlsLWxpZ2h0LXNvZnQgbWlsLW1iLTMwIj4KCQkJCQkJCQkJPHNwYW4gPgoJCQkJCQkJCQkJVHJhZGUgc2VhbWxlc3NseSBvbiB1c2VyLWZyaWVuZGx5IHBsYXRmb3Jtcy4gT3ggTG9mdCBUcmFkZSBMVEQgcHJvdmlkZXMgcmVhbC10aW1lIGRhdGEgYW5kIGFkdmFuY2VkIHRvb2xzIGZvciBib3RoIG5vdmljZSBhbmQgZXhwZXJ0IHRyYWRlcnMuCQkJCQkJCQkJPC9zcGFuPgoJCQkJCQkJCTwvcD4KCQkJCQkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9Im1pbC1idXR0b24gbWlsLWljb24tYnV0dG9uLXNtIG1pbC1hcnJvdy1wbGFjZSI+PC9kaXY+CgkJCQkJCQk8L2E+CgoJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLWxnLTMgbWlsLXNlcnZpY2VzLWdyaWQtaXRlbSBwLTAiPgoKCQkJCQkJCTxhICBocmVmPSIvc2VydmljZXMvaXRlbS9jcnlwdG8taW52ZXN0bWVudC8iIGNsYXNzPSJtaWwtc2VydmljZS1jYXJkLXNtIG1pbC11cCI+CgkJCQkJCQkJCQkJCQkJCQk8aDUgY2xhc3M9Im1pbC1tdXRlZCBtaWwtbWItMzAiPgoJCQkJCQkJCQk8c3BhbiA+CgkJCQkJCQkJCQlDcnlwdG8gPGJyPiBJbnZlc3RtZW50CgoJCQkJCQkJCQk8L3NwYW4+CgkJCQkJCQkJPC9oNT4KCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJPHAgY2xhc3M9Im1pbC1saWdodC1zb2Z0IG1pbC1tYi0zMCI+CgkJCQkJCQkJCTxzcGFuID4KCQkJCQkJCQkJCVVubG9jayB0YWlsb3JlZCBpbnZlc3RtZW50IHN0cmF0ZWdpZXMgZm9yIG1heGltdW0gcmV0dXJucyB3aXRoIE94IExvZnQgVHJhZGUgTFRELiBPdXIgZXhwZXJ0IHRlYW0gZW5zdXJlcyB5b3VyIHBvcnRmb2xpbyB0aHJpdmVzIGluIHRoZSBjcnlwdG8gbWFya2V0LgkJCQkJCQkJCTwvc3Bhbj4KCQkJCQkJCQk8L3A+CgkJCQkJCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJtaWwtYnV0dG9uIG1pbC1pY29uLWJ1dHRvbi1zbSBtaWwtYXJyb3ctcGxhY2UiPjwvZGl2PgoJCQkJCQkJPC9hPgoKCQkJCQkJPC9kaXY+CgkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1tZC02IGNvbC1sZy0zIG1pbC1zZXJ2aWNlcy1ncmlkLWl0ZW0gcC0wIj4KCgkJCQkJCQk8YSAgaHJlZj0iL3NlcnZpY2VzL2l0ZW0vaW52ZXN0bWVudC1wbGFubmluZy8iIGNsYXNzPSJtaWwtc2VydmljZS1jYXJkLXNtIG1pbC11cCI+CgkJCQkJCQkJCQkJCQkJCQk8aDUgY2xhc3M9Im1pbC1tdXRlZCBtaWwtbWItMzAiPgoJCQkJCQkJCQk8c3BhbiA+CgkJCQkJCQkJCQlJbnZlc3RtZW50IDxicj4gUGxhbm5pbmcJCQkJCQkJCQk8L3NwYW4+CgkJCQkJCQkJPC9oNT4KCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJPHAgY2xhc3M9Im1pbC1saWdodC1zb2Z0IG1pbC1tYi0zMCI+CgkJCQkJCQkJCTxzcGFuID4KCQkJCQkJCQkJCVlvdXIgaW52ZXN0bWVudCBtdWx0aXBsaWVzIHdpdGggT1ggTG9mdCBUcmFkZSBMVEQsIHdpdGhkcmF3IHlvdXIgcHJvZml0cyB3aGVuZXZlciB5b3Ugd2FudCBvciBwdXJjaGFzZSBtb3JlIHBsYW5zIGZyb20gdGhlbS4JCQkJCQkJCQk8L3NwYW4+CgkJCQkJCQkJPC9wPgoJCQkJCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0ibWlsLWJ1dHRvbiBtaWwtaWNvbi1idXR0b24tc20gbWlsLWFycm93LXBsYWNlIj48L2Rpdj4KCQkJCQkJCTwvYT4KCgkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJPC9zZWN0aW9uPgoJCTwhLS0gc2VydmljZXMgZW5kIC0tPgoKCQkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQk8L3NlY3Rpb24+CgkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtMWQ0ZDNkZSBlLWZsZXggZS1jb24tYm94ZWQgZS1jb24gZS1wYXJlbnQiIGRhdGEtaWQ9IjFkNGQzZGUiIGRhdGEtZWxlbWVudF90eXBlPSJjb250YWluZXIiPgoJCQkJCTxkaXYgY2xhc3M9ImUtY29uLWlubmVyIj4KCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LTViYWQyZWMgZWxlbWVudG9yLXdpZGdldCBlbGVtZW50b3Itd2lkZ2V0LWh0bWwiIGRhdGEtaWQ9IjViYWQyZWMiIGRhdGEtZWxlbWVudF90eXBlPSJ3aWRnZXQiIGRhdGEtd2lkZ2V0X3R5cGU9Imh0bWwuZGVmYXVsdCI+CgkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lciI+CgkJCQkJPCEtLSBUcmFkaW5nVmlldyBXaWRnZXQgQkVHSU4gLS0+CjxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb250YWluZXIiIHN0eWxlPSJoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlIj4KICA8ZGl2IGNsYXNzPSJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyX193aWRnZXQiIHN0eWxlPSJoZWlnaHQ6Y2FsYygxMDAlIC0gMzJweCk7d2lkdGg6MTAwJSI+PC9kaXY+CiAgPGRpdiBjbGFzcz0idHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCI+PGEgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tLyIgcmVsPSJub29wZW5lciBub2ZvbGxvdyIgdGFyZ2V0PSJfYmxhbmsiPjxzcGFuIGNsYXNzPSJibHVlLXRleHQiPlRyYWNrIGFsbCBtYXJrZXRzIG9uIFRyYWRpbmdWaWV3PC9zcGFuPjwvYT48L2Rpdj4KICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3MzLnRyYWRpbmd2aWV3LmNvbS9leHRlcm5hbC1lbWJlZGRpbmcvZW1iZWQtd2lkZ2V0LWFkdmFuY2VkLWNoYXJ0LmpzIiBhc3luYz4KICB7CiAgImF1dG9zaXplIjogdHJ1ZSwKICAic3ltYm9sIjogIk5BU0RBUTpBQVBMIiwKICAiaW50ZXJ2YWwiOiAiRCIsCiAgInRpbWV6b25lIjogIkV0Yy9VVEMiLAogICJ0aGVtZSI6ICJkYXJrIiwKICAic3R5bGUiOiAiMSIsCiAgImxvY2FsZSI6ICJlbiIsCiAgImFsbG93X3N5bWJvbF9jaGFuZ2UiOiB0cnVlLAogICJjYWxlbmRhciI6IGZhbHNlLAogICJzdXBwb3J0X2hvc3QiOiAiaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tIgp9CiAgPC9zY3JpcHQ+CjwvZGl2Pgo8IS0tIFRyYWRpbmdWaWV3IFdpZGdldCBFTkQgLS0+CQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC03ZTQzYzI2IGUtZmxleCBlLWNvbi1ib3hlZCBlLWNvbiBlLXBhcmVudCIgZGF0YS1pZD0iN2U0M2MyNiIgZGF0YS1lbGVtZW50X3R5cGU9ImNvbnRhaW5lciIgZGF0YS1zZXR0aW5ncz0ieyZxdW90O2JhY2tncm91bmRfYmFja2dyb3VuZCZxdW90OzomcXVvdDtjbGFzc2ljJnF1b3Q7LCZxdW90O3NoYXBlX2RpdmlkZXJfdG9wJnF1b3Q7OiZxdW90O21vdW50YWlucyZxdW90O30iPgoJCQkJCTxkaXYgY2xhc3M9ImUtY29uLWlubmVyIj4KCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1zaGFwZSBlbGVtZW50b3Itc2hhcGUtdG9wIiBkYXRhLW5lZ2F0aXZlPSJmYWxzZSI+CgkJCTxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgoJPHBhdGggY2xhc3M9ImVsZW1lbnRvci1zaGFwZS1maWxsIiBvcGFjaXR5PSIwLjMzIiBkPSJNNDczLDY3LjNjLTIwMy45LDg4LjMtMjYzLjEtMzQtMzIwLjMsMEM2NiwxMTkuMSwwLDU5LjcsMCw1OS43VjBoMTAwMHY1OS43IGMwLDAtNjIuMSwyNi4xLTk0LjksMjkuM2MtMzIuOCwzLjMtNjIuOC0xMi4zLTc1LjgtMjIuMUM4MDYsNDkuNiw3NDUuMyw4LjcsNjk0LjksNC43UzQ5Mi40LDU5LDQ3Myw2Ny4zeiIvPgoJPHBhdGggY2xhc3M9ImVsZW1lbnRvci1zaGFwZS1maWxsIiBvcGFjaXR5PSIwLjY2IiBkPSJNNzM0LDY3LjNjLTQ1LjUsMC03Ny4yLTIzLjItMTI5LjEtMzkuMWMtMjguNi04LjctMTUwLjMtMTAuMS0yNTQsMzkuMSBzLTkxLjctMzQuNC0xNDkuMiwwQzExNS43LDExOC4zLDAsMzkuOCwwLDM5LjhWMGgxMDAwdjM2LjVjMCwwLTI4LjItMTguNS05Mi4xLTE4LjVDODEwLjIsMTguMSw3NzUuNyw2Ny4zLDczNCw2Ny4zeiIvPgoJPHBhdGggY2xhc3M9ImVsZW1lbnRvci1zaGFwZS1maWxsIiBkPSJNNzY2LjEsMjguOWMtMjAwLTU3LjUtMjY2LDY1LjUtMzk1LjEsMTkuNUMyNDIsMS44LDI0Miw1LjQsMTg0LjgsMjAuNkMxMjgsMzUuOCwxMzIuMyw0NC45LDg5LjksNTIuNUMyOC42LDYzLjcsMCwwLDAsMCBoMTAwMGMwLDAtOS45LDQwLjktODMuNiw0OC4xUzgyOS42LDQ3LDc2Ni4xLDI4Ljl6Ii8+Cjwvc3ZnPgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtMjBjZTkyNSBlLWNvbi1mdWxsIGUtZmxleCBlLWNvbiBlLWNoaWxkIiBkYXRhLWlkPSIyMGNlOTI1IiBkYXRhLWVsZW1lbnRfdHlwZT0iY29udGFpbmVyIj4KCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LTNjMDkxMDIgZWxlbWVudG9yLXZpZXctZGVmYXVsdCBlbGVtZW50b3Itd2lkZ2V0IGVsZW1lbnRvci13aWRnZXQtaWNvbiIgZGF0YS1pZD0iM2MwOTEwMiIgZGF0YS1lbGVtZW50X3R5cGU9IndpZGdldCIgZGF0YS13aWRnZXRfdHlwZT0iaWNvbi5kZWZhdWx0Ij4KCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyIj4KCQkJCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1pY29uLXdyYXBwZXIiPgoJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItaWNvbiI+CgkJCTxzdmcgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJlLWZvbnQtaWNvbi1zdmcgZS1mYXItY2hhcnQtYmFyIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMzk2LjggMzUyaDIyLjRjNi40IDAgMTIuOC02LjQgMTIuOC0xMi44VjEwOC44YzAtNi40LTYuNC0xMi44LTEyLjgtMTIuOGgtMjIuNGMtNi40IDAtMTIuOCA2LjQtMTIuOCAxMi44djIzMC40YzAgNi40IDYuNCAxMi44IDEyLjggMTIuOHptLTE5MiAwaDIyLjRjNi40IDAgMTIuOC02LjQgMTIuOC0xMi44VjE0MC44YzAtNi40LTYuNC0xMi44LTEyLjgtMTIuOGgtMjIuNGMtNi40IDAtMTIuOCA2LjQtMTIuOCAxMi44djE5OC40YzAgNi40IDYuNCAxMi44IDEyLjggMTIuOHptOTYgMGgyMi40YzYuNCAwIDEyLjgtNi40IDEyLjgtMTIuOFYyMDQuOGMwLTYuNC02LjQtMTIuOC0xMi44LTEyLjhoLTIyLjRjLTYuNCAwLTEyLjggNi40LTEyLjggMTIuOHYxMzQuNGMwIDYuNCA2LjQgMTIuOCAxMi44IDEyLjh6TTQ5NiA0MDBINDhWODBjMC04Ljg0LTcuMTYtMTYtMTYtMTZIMTZDNy4xNiA2NCAwIDcxLjE2IDAgODB2MzM2YzAgMTcuNjcgMTQuMzMgMzIgMzIgMzJoNDY0YzguODQgMCAxNi03LjE2IDE2LTE2di0xNmMwLTguODQtNy4xNi0xNi0xNi0xNnptLTM4Ny4yLTQ4aDIyLjRjNi40IDAgMTIuOC02LjQgMTIuOC0xMi44di03MC40YzAtNi40LTYuNC0xMi44LTEyLjgtMTIuOGgtMjIuNGMtNi40IDAtMTIuOCA2LjQtMTIuOCAxMi44djcwLjRjMCA2LjQgNi40IDEyLjggMTIuOCAxMi44eiI+PC9wYXRoPjwvc3ZnPgkJCTwvZGl2PgoJCTwvZGl2PgoJCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtY2FiYmY2OCBlbGVtZW50b3Itd2lkZ2V0IGVsZW1lbnRvci13aWRnZXQtdGV4dC1lZGl0b3IiIGRhdGEtaWQ9ImNhYmJmNjgiIGRhdGEtZWxlbWVudF90eXBlPSJ3aWRnZXQiIGRhdGEtd2lkZ2V0X3R5cGU9InRleHQtZWRpdG9yLmRlZmF1bHQiPgoJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLXdpZGdldC1jb250YWluZXIiPgoJCQkJCQkJCQk8cCBjbGFzcz0iaWNvbi1ib3gtdGl0bGUgIj48c3Ryb25nPlByb2Zlc3Npb25hbCBQcmljaW5nPC9zdHJvbmc+PC9wPjxkaXYgY2xhc3M9ImNvbnRlbnQiPjxwPkNvbW1pc3Npb25zIHN0YXJ0aW5nIGF0ICQwPHN1cCBjbGFzcz0iZGlzY2xvc3VyZS1pbmRpY2F0b3IiIGFyaWEtZGV0YWlscz0iZC1pYmtyLWxpdGUiPjc8L3N1cD4sIGxvdyBtYXJnaW4gcmF0ZXMsIGhpZ2ggaW50ZXJlc3QgcGFpZCwgYW5kIFN0b2NrIFlpZWxkIEVuaGFuY2VtZW50LjwvcD48L2Rpdj4JCQkJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC1lMTFhYjk3IGUtY29uLWZ1bGwgZS1mbGV4IGUtY29uIGUtY2hpbGQiIGRhdGEtaWQ9ImUxMWFiOTciIGRhdGEtZWxlbWVudF90eXBlPSJjb250YWluZXIiPgoJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtNTRlNTU0NSBlbGVtZW50b3Itdmlldy1kZWZhdWx0IGVsZW1lbnRvci13aWRnZXQgZWxlbWVudG9yLXdpZGdldC1pY29uIiBkYXRhLWlkPSI1NGU1NTQ1IiBkYXRhLWVsZW1lbnRfdHlwZT0id2lkZ2V0IiBkYXRhLXdpZGdldF90eXBlPSJpY29uLmRlZmF1bHQiPgoJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLXdpZGdldC1jb250YWluZXIiPgoJCQkJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWljb24td3JhcHBlciI+CgkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1pY29uIj4KCQkJPHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9ImUtZm9udC1pY29uLXN2ZyBlLWZhcy1nbG9iZSIgdmlld0JveD0iMCAwIDQ5NiA1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTMzNi41IDE2MEMzMjIgNzAuNyAyODcuOCA4IDI0OCA4cy03NCA2Mi43LTg4LjUgMTUyaDE3N3pNMTUyIDI1NmMwIDIyLjIgMS4yIDQzLjUgMy4zIDY0aDE4NS4zYzIuMS0yMC41IDMuMy00MS44IDMuMy02NHMtMS4yLTQzLjUtMy4zLTY0SDE1NS4zYy0yLjEgMjAuNS0zLjMgNDEuOC0zLjMgNjR6bTMyNC43LTk2Yy0yOC42LTY3LjktODYuNS0xMjAuNC0xNTgtMTQxLjYgMjQuNCAzMy44IDQxLjIgODQuNyA1MCAxNDEuNmgxMDh6TTE3Ny4yIDE4LjRDMTA1LjggMzkuNiA0Ny44IDkyLjEgMTkuMyAxNjBoMTA4YzguNy01Ni45IDI1LjUtMTA3LjggNDkuOS0xNDEuNnpNNDg3LjQgMTkySDM3Mi43YzIuMSAyMSAzLjMgNDIuNSAzLjMgNjRzLTEuMiA0My0zLjMgNjRoMTE0LjZjNS41LTIwLjUgOC42LTQxLjggOC42LTY0cy0zLjEtNDMuNS04LjUtNjR6TTEyMCAyNTZjMC0yMS41IDEuMi00MyAzLjMtNjRIOC42QzMuMiAyMTIuNSAwIDIzMy44IDAgMjU2czMuMiA0My41IDguNiA2NGgxMTQuNmMtMi0yMS0zLjItNDIuNS0zLjItNjR6bTM5LjUgOTZjMTQuNSA4OS4zIDQ4LjcgMTUyIDg4LjUgMTUyczc0LTYyLjcgODguNS0xNTJoLTE3N3ptMTU5LjMgMTQxLjZjNzEuNC0yMS4yIDEyOS40LTczLjcgMTU4LTE0MS42aC0xMDhjLTguOCA1Ni45LTI1LjYgMTA3LjgtNTAgMTQxLjZ6TTE5LjMgMzUyYzI4LjYgNjcuOSA4Ni41IDEyMC40IDE1OCAxNDEuNi0yNC40LTMzLjgtNDEuMi04NC43LTUwLTE0MS42aC0xMDh6Ij48L3BhdGg+PC9zdmc+CQkJPC9kaXY+CgkJPC9kaXY+CgkJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC02MTU3ZWQ5IGVsZW1lbnRvci13aWRnZXQgZWxlbWVudG9yLXdpZGdldC10ZXh0LWVkaXRvciIgZGF0YS1pZD0iNjE1N2VkOSIgZGF0YS1lbGVtZW50X3R5cGU9IndpZGdldCIgZGF0YS13aWRnZXRfdHlwZT0idGV4dC1lZGl0b3IuZGVmYXVsdCI+CgkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lciI+CgkJCQkJCQkJCTxwPjxzdHJvbmc+R2xvYmFsIEFjY2Vzczwvc3Ryb25nPjwvcD48cD48YnIgLz5JbnZlc3QgZ2xvYmFsbHkgaW4gc3RvY2tzLCBvcHRpb25zLCBmdXR1cmVzLCBjdXJyZW5jaWVzLCBib25kcyBhbmQgZnVuZHMgZnJvbSBhIHNpbmdsZSB1bmlmaWVkIHBsYXRmb3JtLjwvcD4JCQkJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC0zNWVkYWJlIGUtY29uLWZ1bGwgZS1mbGV4IGUtY29uIGUtY2hpbGQiIGRhdGEtaWQ9IjM1ZWRhYmUiIGRhdGEtZWxlbWVudF90eXBlPSJjb250YWluZXIiPgoJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtZGNmZjJjOCBlbGVtZW50b3Itdmlldy1kZWZhdWx0IGVsZW1lbnRvci13aWRnZXQgZWxlbWVudG9yLXdpZGdldC1pY29uIiBkYXRhLWlkPSJkY2ZmMmM4IiBkYXRhLWVsZW1lbnRfdHlwZT0id2lkZ2V0IiBkYXRhLXdpZGdldF90eXBlPSJpY29uLmRlZmF1bHQiPgoJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLXdpZGdldC1jb250YWluZXIiPgoJCQkJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWljb24td3JhcHBlciI+CgkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1pY29uIj4KCQkJPHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9ImUtZm9udC1pY29uLXN2ZyBlLWZhci1saWdodGJ1bGIiIHZpZXdCb3g9IjAgMCAzNTIgNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNzYgODBjLTUyLjk0IDAtOTYgNDMuMDYtOTYgOTYgMCA4Ljg0IDcuMTYgMTYgMTYgMTZzMTYtNy4xNiAxNi0xNmMwLTM1LjMgMjguNzItNjQgNjQtNjQgOC44NCAwIDE2LTcuMTYgMTYtMTZzLTcuMTYtMTYtMTYtMTZ6TTk2LjA2IDQ1OS4xN2MwIDMuMTUuOTMgNi4yMiAyLjY4IDguODRsMjQuNTEgMzYuODRjMi45NyA0LjQ2IDcuOTcgNy4xNCAxMy4zMiA3LjE0aDc4Ljg1YzUuMzYgMCAxMC4zNi0yLjY4IDEzLjMyLTcuMTRsMjQuNTEtMzYuODRjMS43NC0yLjYyIDIuNjctNS43IDIuNjgtOC44NGwuMDUtNDMuMThIOTYuMDJsLjA0IDQzLjE4ek0xNzYgMEM3My43MiAwIDAgODIuOTcgMCAxNzZjMCA0NC4zNyAxNi40NSA4NC44NSA0My41NiAxMTUuNzggMTYuNjQgMTguOTkgNDIuNzQgNTguOCA1Mi40MiA5Mi4xNnYuMDZoNDh2LS4xMmMtLjAxLTQuNzctLjcyLTkuNTEtMi4xNS0xNC4wNy01LjU5LTE3LjgxLTIyLjgyLTY0Ljc3LTYyLjE3LTEwOS42Ny0yMC41NC0yMy40My0zMS41Mi01My4xNS0zMS42MS04NC4xNC0uMi03My42NCA1OS42Ny0xMjggMTI3Ljk1LTEyOCA3MC41OCAwIDEyOCA1Ny40MiAxMjggMTI4IDAgMzAuOTctMTEuMjQgNjAuODUtMzEuNjUgODQuMTQtMzkuMTEgNDQuNjEtNTYuNDIgOTEuNDctNjIuMSAxMDkuNDZhNDcuNTA3IDQ3LjUwNyAwIDAgMC0yLjIyIDE0LjN2LjFoNDh2LS4wNWM5LjY4LTMzLjM3IDM1Ljc4LTczLjE4IDUyLjQyLTkyLjE2QzMzNS41NSAyNjAuODUgMzUyIDIyMC4zNyAzNTIgMTc2IDM1MiA3OC44IDI3My4yIDAgMTc2IDB6Ij48L3BhdGg+PC9zdmc+CQkJPC9kaXY+CgkJPC9kaXY+CgkJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC0wNWYxMzBhIGVsZW1lbnRvci13aWRnZXQgZWxlbWVudG9yLXdpZGdldC10ZXh0LWVkaXRvciIgZGF0YS1pZD0iMDVmMTMwYSIgZGF0YS1lbGVtZW50X3R5cGU9IndpZGdldCIgZGF0YS13aWRnZXRfdHlwZT0idGV4dC1lZGl0b3IuZGVmYXVsdCI+CgkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lciI+CgkJCQkJCQkJCTxwPjxzdHJvbmc+UHJlbWllciBUZWNobm9sb2d5PC9zdHJvbmc+PC9wPjxwPjxiciAvPk94IExvZnQgVHJhZGUgTFREJiM4MjE3O3MgcG93ZXJmdWwgc3VpdGUgb2YgdGVjaG5vbG9neSBoZWxwcyB5b3Ugb3B0aW1pemUgeW91ciB0cmFkaW5nIHNwZWVkIGFuZCBlZmZpY2llbmN5IGFuZCBwZXJmb3JtIHNvcGhpc3RpY2F0ZWQgcG9ydGZvbGlvIGFuYWx5c2lzLjwvcD4JCQkJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC0yNmYzZDNlIGUtY29uLWZ1bGwgZS1mbGV4IGUtY29uIGUtY2hpbGQiIGRhdGEtaWQ9IjI2ZjNkM2UiIGRhdGEtZWxlbWVudF90eXBlPSJjb250YWluZXIiPgoJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtMTFmYTUzYSBlbGVtZW50b3Itdmlldy1kZWZhdWx0IGVsZW1lbnRvci13aWRnZXQgZWxlbWVudG9yLXdpZGdldC1pY29uIiBkYXRhLWlkPSIxMWZhNTNhIiBkYXRhLWVsZW1lbnRfdHlwZT0id2lkZ2V0IiBkYXRhLXdpZGdldF90eXBlPSJpY29uLmRlZmF1bHQiPgoJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLXdpZGdldC1jb250YWluZXIiPgoJCQkJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWljb24td3JhcHBlciI+CgkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1pY29uIj4KCQkJPHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9ImUtZm9udC1pY29uLXN2ZyBlLWZhci1zdW4iIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik00OTQuMiAyMjEuOWwtNTkuOC00MC41IDEzLjctNzFjMi42LTEzLjItMS42LTI2LjgtMTEuMS0zNi40LTkuNi05LjUtMjMuMi0xMy43LTM2LjItMTEuMWwtNzAuOSAxMy43LTQwLjQtNTkuOWMtMTUuMS0yMi4zLTUxLjktMjIuMy02NyAwbC00MC40IDU5LjktNzAuOC0xMy43Qzk4IDYwLjQgODQuNSA2NC41IDc1IDc0LjFjLTkuNSA5LjYtMTMuNyAyMy4xLTExLjEgMzYuM2wxMy43IDcxLTU5LjggNDAuNUM2LjYgMjI5LjUgMCAyNDIgMCAyNTUuNXM2LjcgMjYgMTcuOCAzMy41bDU5LjggNDAuNS0xMy43IDcxYy0yLjYgMTMuMiAxLjYgMjYuOCAxMS4xIDM2LjMgOS41IDkuNSAyMi45IDEzLjcgMzYuMyAxMS4xbDcwLjgtMTMuNyA0MC40IDU5LjlDMjMwIDUwNS4zIDI0Mi42IDUxMiAyNTYgNTEyczI2LTYuNyAzMy41LTE3LjhsNDAuNC01OS45IDcwLjkgMTMuN2MxMy40IDIuNyAyNi44LTEuNiAzNi4zLTExLjEgOS41LTkuNSAxMy42LTIzLjEgMTEuMS0zNi4zbC0xMy43LTcxIDU5LjgtNDAuNWMxMS4xLTcuNSAxNy44LTIwLjEgMTcuOC0zMy41LS4xLTEzLjYtNi43LTI2LjEtMTcuOS0zMy43em0tMTEyLjkgODUuNmwxNy42IDkxLjItOTEtMTcuNkwyNTYgNDU4bC01MS45LTc3LTkwLjkgMTcuNiAxNy42LTkxLjItNzYuOC01MiA3Ni44LTUyLTE3LjYtOTEuMiA5MSAxNy42TDI1NiA1M2w1MS45IDc2LjkgOTEtMTcuNi0xNy42IDkxLjEgNzYuOCA1Mi03Ni44IDUyLjF6TTI1NiAxNTJjLTU3LjMgMC0xMDQgNDYuNy0xMDQgMTA0czQ2LjcgMTA0IDEwNCAxMDQgMTA0LTQ2LjcgMTA0LTEwNC00Ni43LTEwNC0xMDQtMTA0em0wIDE2MGMtMzAuOSAwLTU2LTI1LjEtNTYtNTZzMjUuMS01NiA1Ni01NiA1NiAyNS4xIDU2IDU2LTI1LjEgNTYtNTYgNTZ6Ij48L3BhdGg+PC9zdmc+CQkJPC9kaXY+CgkJPC9kaXY+CgkJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC02NTg1NDhmIGVsZW1lbnRvci13aWRnZXQgZWxlbWVudG9yLXdpZGdldC10ZXh0LWVkaXRvciIgZGF0YS1pZD0iNjU4NTQ4ZiIgZGF0YS1lbGVtZW50X3R5cGU9IndpZGdldCIgZGF0YS13aWRnZXRfdHlwZT0idGV4dC1lZGl0b3IuZGVmYXVsdCI+CgkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lciI+CgkJCQkJCQkJCTxwPjxzdHJvbmc+U3RyZW5ndGggJmFtcDsgU2VjdXJpdHk8L3N0cm9uZz48L3A+PHA+JDE1LjEgYmlsbGlvbiBpbiBlcXVpdHkgY2FwaXRhbCwgYXV0b21hdGVkIHJpc2sgY29udHJvbHMsIGFsbCBhc3NldHMgbWFya2VkIHRvIG1hcmtldCBkYWlseSwgcmF0ZWQg4oCcQS0gT3V0bG9vayBTdGFibGXigJ0gYnkgU3RhbmRhcmQgJmFtcDsgUG9vciYjODIxNztzLjExPC9wPgkJCQkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCTwvZGl2PjwhLS0gI3Bvc3QtMTUgLS0+CgkJCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwhLS0gaGlkZGVuIGVsZW1lbnRzIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWlsLWhpZGRlbi1lbGVtZW50cyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWlsLWRvZGVjYWhlZHJvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbC1wZW50YWdvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbC1wZW50YWdvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbC1wZW50YWdvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbC1wZW50YWdvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbC1wZW50YWdvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbC1wZW50YWdvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbC1wZW50YWdvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbC1wZW50YWdvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbC1wZW50YWdvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbC1wZW50YWdvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbC1wZW50YWdvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbC1wZW50YWdvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGNsYXNzPSJtaWwtYXJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNIDE0IDUuMzQxNzk2OSBDIDEzLjc0NDEyNSA1LjM0MTc5NjkgMTMuNDg3OTY5IDUuNDQxMjE4NyAxMy4yOTI5NjkgNS42MzY3MTg4IEwgMTMuMjA3MDMxIDUuNzIyNjU2MiBDIDEyLjgxNjAzMSA2LjExMzY1NjMgMTIuODE2MDMxIDYuNzQ2NzE4OCAxMy4yMDcwMzEgNy4xMzY3MTg4IEwgMTcuMDcwMzEyIDExIEwgNCAxMSBDIDMuNDQ4IDExIDMgMTEuNDQ4IDMgMTIgQyAzIDEyLjU1MiAzLjQ0OCAxMyA0IDEzIEwgMTcuMDcwMzEyIDEzIEwgMTMuMjA3MDMxIDE2Ljg2MzI4MSBDIDEyLjgxNjAzMSAxNy4yNTQyODEgMTIuODE2MDMxIDE3Ljg4NzM0NCAxMy4yMDcwMzEgMTguMjc3MzQ0IEwgMTMuMjkyOTY5IDE4LjM2MzI4MSBDIDEzLjY4Mzk2OSAxOC43NTQyODEgMTQuMzE3MDMxIDE4Ljc1NDI4MSAxNC43MDcwMzEgMTguMzYzMjgxIEwgMjAuMzYzMjgxIDEyLjcwNzAzMSBDIDIwLjc1NDI4MSAxMi4zMTYwMzEgMjAuNzU0MjgxIDExLjY4Mjk2OSAyMC4zNjMyODEgMTEuMjkyOTY5IEwgMTQuNzA3MDMxIDUuNjM2NzE4OCBDIDE0LjUxMTUzMSA1LjQ0MTIxODcgMTQuMjU1ODc1IDUuMzQxNzk2OSAxNCA1LjM0MTc5NjkgeiIgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KCiAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMjUwIiB2aWV3Qm94PSIwIDAgMzAwIDE0MDQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9Im1pbC1saW5lcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMSA4OTJMMSA5NDFIMjk5Vjg5MkMyOTkgODA5LjcxIDIzMi4yOSA3NDMgMTUwIDc0M0M2Ny43MDk2IDc0MyAxIDgwOS43MSAxIDg5MlpNMCA5NDJIMzAwVjg5MkMzMDAgODA5LjE1NyAyMzIuODQzIDc0MiAxNTAgNzQyQzY3LjE1NzMgNzQyIDAgODA5LjE1NyAwIDg5MkwwIDk0MloiIGNsYXNzPSJtaWwtbW92ZSIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yOTkgMTQ2Vjk3TDEgOTdWMTQ2QzEgMjI4LjI5IDY3LjcwOTYgMjk1IDE1MCAyOTVDMjMyLjI5IDI5NSAyOTkgMjI4LjI5IDI5OSAxNDZaTTMwMCA5NkwwIDk2VjE0NkMwIDIyOC44NDMgNjcuMTU3MyAyOTYgMTUwIDI5NkMyMzIuODQzIDI5NiAzMDAgMjI4Ljg0MyAzMDAgMTQ2Vjk2WiIgY2xhc3M9Im1pbC1tb3ZlIiAvPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTI5OSAxSDFWMTQwM0gyOTlWMVpNMCAwVjE0MDRIMzAwVjBIMFoiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTUwIC00LjM3MTE1ZS0wOEwxNTAgMTQwNEwxNDkgMTQwNEwxNDkgMEwxNTAgLTQuMzcxMTVlLTA4WiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNTAgMTMyNEMyMzIuMjkgMTMyNCAyOTkgMTI1Ny4yOSAyOTkgMTE3NUMyOTkgMTA5Mi43MSAyMzIuMjkgMTAyNiAxNTAgMTAyNkM2Ny43MDk2IDEwMjYgMSAxMDkyLjcxIDEgMTE3NUMxIDEyNTcuMjkgNjcuNzA5NiAxMzI0IDE1MCAxMzI0Wk0xNTAgMTMyNUMyMzIuODQzIDEzMjUgMzAwIDEyNTcuODQgMzAwIDExNzVDMzAwIDEwOTIuMTYgMjMyLjg0MyAxMDI1IDE1MCAxMDI1QzY3LjE1NzMgMTAyNSAwIDEwOTIuMTYgMCAxMTc1QzAgMTI1Ny44NCA2Ny4xNTczIDEzMjUgMTUwIDEzMjVaIiBjbGFzcz0ibWlsLW1vdmUiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMzAwIDExNzVIMFYxMTc0SDMwMFYxMTc1WiIgY2xhc3M9Im1pbC1tb3ZlIiAvPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE1MCA2NzhDMjMyLjI5IDY3OCAyOTkgNjExLjI5IDI5OSA1MjlDMjk5IDQ0Ni43MSAyMzIuMjkgMzgwIDE1MCAzODBDNjcuNzA5NiAzODAgMSA0NDYuNzEgMSA1MjlDMSA2MTEuMjkgNjcuNzA5NiA2NzggMTUwIDY3OFpNMTUwIDY3OUMyMzIuODQzIDY3OSAzMDAgNjExLjg0MyAzMDAgNTI5QzMwMCA0NDYuMTU3IDIzMi44NDMgMzc5IDE1MCAzNzlDNjcuMTU3MyAzNzkgMCA0NDYuMTU3IDAgNTI5QzAgNjExLjg0MyA2Ny4xNTczIDY3OSAxNTAgNjc5WiIgY2xhc3M9Im1pbC1tb3ZlIiAvPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTI5OSAzODBIMVY2NzhIMjk5VjM4MFpNMCAzNzlWNjc5SDMwMFYzNzlIMFoiIGNsYXNzPSJtaWwtbW92ZSIgLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPCEtLSBoaWRkZW4gZWxlbWVudHMgZW5kIC0tPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGZvb3RlciAtLT4KICAgICAgICAgICAgICAgIDxmb290ZXIgY2xhc3M9Im1pbC1kYXJrLWJnIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtaS1pbnZlcnQtZml4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgCQk8ZGl2IGRhdGEtZWxlbWVudG9yLXR5cGU9IndwLXBvc3QiIGRhdGEtZWxlbWVudG9yLWlkPSIyMCIgY2xhc3M9ImVsZW1lbnRvciBlbGVtZW50b3ItMjAiPgoJCQkJCQk8c2VjdGlvbiBjbGFzcz0iZWxlbWVudG9yLXNlY3Rpb24gZWxlbWVudG9yLXRvcC1zZWN0aW9uIGVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LTRjOTQ4OTEgZWxlbWVudG9yLXNlY3Rpb24tZnVsbF93aWR0aCBlbGVtZW50b3Itc2VjdGlvbi1oZWlnaHQtZGVmYXVsdCBlbGVtZW50b3Itc2VjdGlvbi1oZWlnaHQtZGVmYXVsdCIgZGF0YS1pZD0iNGM5NDg5MSIgZGF0YS1lbGVtZW50X3R5cGU9InNlY3Rpb24iPgoJCQkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItY29udGFpbmVyIGVsZW1lbnRvci1jb2x1bW4tZ2FwLW5vIj4KCQkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItY29sdW1uIGVsZW1lbnRvci1jb2wtMTAwIGVsZW1lbnRvci10b3AtY29sdW1uIGVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LWE0M2ExNTYiIGRhdGEtaWQ9ImE0M2ExNTYiIGRhdGEtZWxlbWVudF90eXBlPSJjb2x1bW4iPgoJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3Itd2lkZ2V0LXdyYXAgZWxlbWVudG9yLWVsZW1lbnQtcG9wdWxhdGVkIj4KCQkJCQkJPHNlY3Rpb24gY2xhc3M9ImVsZW1lbnRvci1zZWN0aW9uIGVsZW1lbnRvci1pbm5lci1zZWN0aW9uIGVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LTVhYzllNjcgZWxlbWVudG9yLXNlY3Rpb24tYm94ZWQgZWxlbWVudG9yLXNlY3Rpb24taGVpZ2h0LWRlZmF1bHQgZWxlbWVudG9yLXNlY3Rpb24taGVpZ2h0LWRlZmF1bHQiIGRhdGEtaWQ9IjVhYzllNjciIGRhdGEtZWxlbWVudF90eXBlPSJzZWN0aW9uIj4KCQkJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWNvbnRhaW5lciBlbGVtZW50b3ItY29sdW1uLWdhcC1kZWZhdWx0Ij4KCQkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItY29sdW1uIGVsZW1lbnRvci1jb2wtNTAgZWxlbWVudG9yLWlubmVyLWNvbHVtbiBlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC0wZGU5YWQ5IiBkYXRhLWlkPSIwZGU5YWQ5IiBkYXRhLWVsZW1lbnRfdHlwZT0iY29sdW1uIj4KCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLXdpZGdldC13cmFwIGVsZW1lbnRvci1lbGVtZW50LXBvcHVsYXRlZCI+CgkJCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LWQ4ZDdmMWIgZWxlbWVudG9yLXdpZGdldCBlbGVtZW50b3Itd2lkZ2V0LWFzaGxleS1mb290ZXItbG9nbyIgZGF0YS1pZD0iZDhkN2YxYiIgZGF0YS1lbGVtZW50X3R5cGU9IndpZGdldCIgZGF0YS13aWRnZXRfdHlwZT0iYXNobGV5LWZvb3Rlci1sb2dvLmRlZmF1bHQiPgoJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLXdpZGdldC1jb250YWluZXIiPgoJCQkJCQoJCTxhIGhyZWY9Ii8iIGNsYXNzPSJtaWwtbXV0ZWQgbWlsLWxvZ28gbWlsLXVwIj4KCQkJCQkJCQkJCQk8aW1nIGRlY29kaW5nPSJhc3luYyIgc3JjPSJodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjUvMDEvT3gtTG9mdC1UcmFkZS1MVEQtTE9HTy1SRUMtMzUwLcOXLTEwMC5wbmciIGFsdD0iIiAvPgoJCQkJCQkJCQk8L2E+CgoJCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtMjRiYTYyMiBtaWwtbGlnaHQtc29mdCBlbGVtZW50b3Itd2lkZ2V0IGVsZW1lbnRvci13aWRnZXQtYXNobGV5LWRlc2NyaXB0aW9uIiBkYXRhLWlkPSIyNGJhNjIyIiBkYXRhLWVsZW1lbnRfdHlwZT0id2lkZ2V0IiBkYXRhLXdpZGdldF90eXBlPSJhc2hsZXktZGVzY3JpcHRpb24uZGVmYXVsdCI+CgkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lciI+CgkJCQkJCgkJCQk8ZGl2IGNsYXNzPSJtaWwtdGV4dCBtaWwtdXAgbWlsLW1iLTMwIj4KCQkJPGRpdiA+CgkJCQk8cD5PeCBMb2Z0IFRyYWRlIExURCwgaW52ZXN0bWVudCBicm9rZXIgb2ZmZXJpbmcgY2xpZW50cyBhY2Nlc3MgdG8gYSBuaW1ibGUgYW5kIHBvd2VyZnVsIHNlcnZpY2UgZm9yIGludmVzdGluZyBpbiBGb3JleCwgRGVmaSwgSW5kaWNlcywgbWV0YXZlcnNlIGFuZCBTaGFyZXMuPC9wPgkJCTwvZGl2PgoJCTwvZGl2PgoJCQoJCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCTwvZGl2PgoJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWNvbHVtbiBlbGVtZW50b3ItY29sLTI1IGVsZW1lbnRvci1pbm5lci1jb2x1bW4gZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtZTM4MTg0NiIgZGF0YS1pZD0iZTM4MTg0NiIgZGF0YS1lbGVtZW50X3R5cGU9ImNvbHVtbiI+CgkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtd3JhcCBlbGVtZW50b3ItZWxlbWVudC1wb3B1bGF0ZWQiPgoJCQkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC0zYWJkZTI5IGVsZW1lbnRvci13aWRnZXQgZWxlbWVudG9yLXdpZGdldC1hc2hsZXktZm9vdGVyLW1lbnUiIGRhdGEtaWQ9IjNhYmRlMjkiIGRhdGEtZWxlbWVudF90eXBlPSJ3aWRnZXQiIGRhdGEtd2lkZ2V0X3R5cGU9ImFzaGxleS1mb290ZXItbWVudS5kZWZhdWx0Ij4KCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyIj4KCQkJCQkKCQk8ZGl2IGNsYXNzPSJtaWwtZm9vdGVyLW1lbnUiPgoJICAgIAk8dWwgaWQ9Im1lbnUtZm9vdGVyLW1lbnUiIGNsYXNzPSJtaWwtZm9vdGVyLW1lbnUtbGlzdCI+PGxpIGlkPSJtZW51LWl0ZW0tMjI0IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLWhvbWUgY3VycmVudC1tZW51LWl0ZW0gcGFnZV9pdGVtIHBhZ2UtaXRlbS0xNSBjdXJyZW50X3BhZ2VfaXRlbSBtZW51LWl0ZW0tMjI0Ij48YSBocmVmPSJodHRwczovL294bG9mdHRyZC5jb20vIiBhcmlhLWN1cnJlbnQ9InBhZ2UiPjxzcGFuIGNsYXNzPSJtaWwtdXAiPkhvbWU8L3NwYW4+PC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTE0NzMiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tMTQ3MyI+PGEgaHJlZj0iaHR0cHM6Ly9veGxvZnR0cmQuY29tL2Fib3V0LXVzLWNsb25lLyI+PHNwYW4gY2xhc3M9Im1pbC11cCI+RkFRPC9zcGFuPjwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS0xNDc0IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTE0NzQiPjxhIGhyZWY9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS9hYm91dC11cy8iPjxzcGFuIGNsYXNzPSJtaWwtdXAiPkFib3V0IFVzPC9zcGFuPjwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS0xNDc1IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTE0NzUiPjxhIGhyZWY9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS9jb250YWN0LyI+PHNwYW4gY2xhc3M9Im1pbC11cCI+Q29udGFjdDwvc3Bhbj48L2E+PC9saT4KPC91bD4JCTwvZGl2PgoKCQkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci1jb2x1bW4gZWxlbWVudG9yLWNvbC0yNSBlbGVtZW50b3ItaW5uZXItY29sdW1uIGVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LTcxZTU5YTUiIGRhdGEtaWQ9IjcxZTU5YTUiIGRhdGEtZWxlbWVudF90eXBlPSJjb2x1bW4iPgoJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3Itd2lkZ2V0LXdyYXAgZWxlbWVudG9yLWVsZW1lbnQtcG9wdWxhdGVkIj4KCQkJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtMjdlYjc1ZCBlbGVtZW50b3Itd2lkZ2V0IGVsZW1lbnRvci13aWRnZXQtYXNobGV5LWZvb3Rlci1saW5rcyIgZGF0YS1pZD0iMjdlYjc1ZCIgZGF0YS1lbGVtZW50X3R5cGU9IndpZGdldCIgZGF0YS13aWRnZXRfdHlwZT0iYXNobGV5LWZvb3Rlci1saW5rcy5kZWZhdWx0Ij4KCQkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyIj4KCQkJCQkKCQk8IS0tIG1lbnUgbGlzdCAtLT4KCQk8dWwgY2xhc3M9Im1pbC1tZW51LWxpc3QgbWlsLXVwIj4KCQkJCQkJCQkJCQk8bGk+CgkJCQkJPGEgaHJlZj0iL3ByaXZhY3ktcG9saWN5LyIgY2xhc3M9Im1pbC1saWdodC1zb2Z0Ij4KCQkJCQkJPHNwYW4gPgoJCQkJCQkJUHJpdmFjeSBQb2xpY3kJCQkJCQk8L3NwYW4+CgkJCQkJPC9hPgoJCQkJPC9saT4KCQkJCQkJCQk8bGk+CgkJCQkJPGEgaHJlZj0iL3Rlcm1zLWFuZC1jb25kaXRpb25zLyIgY2xhc3M9Im1pbC1saWdodC1zb2Z0Ij4KCQkJCQkJPHNwYW4gPgoJCQkJCQkJVGVybXMgYW5kIGNvbmRpdGlvbnMJCQkJCQk8L3NwYW4+CgkJCQkJPC9hPgoJCQkJPC9saT4KCQkJCQkJCQk8bGk+CgkJCQkJPGEgaHJlZj0iL2FwcC9yZWdpc3RlciIgY2xhc3M9Im1pbC1saWdodC1zb2Z0Ij4KCQkJCQkJPHNwYW4gPgoJCQkJCQkJU2lnbnVwCQkJCQkJPC9zcGFuPgoJCQkJCTwvYT4KCQkJCTwvbGk+CgkJCQkJCQkJPGxpPgoJCQkJCTxhIGhyZWY9Ii9hcHAvbG9naW4iIGNsYXNzPSJtaWwtbGlnaHQtc29mdCI+CgkJCQkJCTxzcGFuID4KCQkJCQkJCUxvZ2luCQkJCQkJPC9zcGFuPgoJCQkJCTwvYT4KCQkJCTwvbGk+CgkJCQkJCQkJCTwvdWw+CiAgICAgICAgPCEtLSBtZW51IGxpc3QgZW5kIC0tPgoKCQkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQk8L3NlY3Rpb24+CgkJCQk8c2VjdGlvbiBjbGFzcz0iZWxlbWVudG9yLXNlY3Rpb24gZWxlbWVudG9yLWlubmVyLXNlY3Rpb24gZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtZjNmNzM4MiBlbGVtZW50b3ItcmV2ZXJzZS1tb2JpbGUgZWxlbWVudG9yLXNlY3Rpb24tYm94ZWQgZWxlbWVudG9yLXNlY3Rpb24taGVpZ2h0LWRlZmF1bHQgZWxlbWVudG9yLXNlY3Rpb24taGVpZ2h0LWRlZmF1bHQiIGRhdGEtaWQ9ImYzZjczODIiIGRhdGEtZWxlbWVudF90eXBlPSJzZWN0aW9uIj4KCQkJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLWNvbnRhaW5lciBlbGVtZW50b3ItY29sdW1uLWdhcC1kZWZhdWx0Ij4KCQkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItY29sdW1uIGVsZW1lbnRvci1jb2wtMTAwIGVsZW1lbnRvci1pbm5lci1jb2x1bW4gZWxlbWVudG9yLWVsZW1lbnQgZWxlbWVudG9yLWVsZW1lbnQtOTA4YWZkYSIgZGF0YS1pZD0iOTA4YWZkYSIgZGF0YS1lbGVtZW50X3R5cGU9ImNvbHVtbiI+CgkJCTxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtd3JhcCBlbGVtZW50b3ItZWxlbWVudC1wb3B1bGF0ZWQiPgoJCQkJCQk8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC1kMWVlMGRkIG1pbC11cCBlbGVtZW50b3Itd2lkZ2V0IGVsZW1lbnRvci13aWRnZXQtdGV4dC1lZGl0b3IiIGRhdGEtaWQ9ImQxZWUwZGQiIGRhdGEtZWxlbWVudF90eXBlPSJ3aWRnZXQiIGRhdGEtd2lkZ2V0X3R5cGU9InRleHQtZWRpdG9yLmRlZmF1bHQiPgoJCQkJPGRpdiBjbGFzcz0iZWxlbWVudG9yLXdpZGdldC1jb250YWluZXIiPgoJCQkJCQkJCQk8cD7CqSAyMDE0IE94IExvZnQgVHJhZGUgTFRELiBBbGwgUmlnaHRzIFJlc2VydmVkLjwvcD4JCQkJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJPC9zZWN0aW9uPgoJCQkJCTwvZGl2PgoJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCTwvc2VjdGlvbj4KCQkJCTwvZGl2PgoJCSAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Zvb3Rlcj4KICAgICAgICAgICAgICAgIDwhLS0gZm9vdGVyIGVuZCAtLT4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8IS0tIGNvbnRlbnQgLS0+CiAgICA8L2Rpdj4KICAgIDwhLS0gd3JhcHBlciBlbmQgLS0+CiAgICAKICAgIDxzY3JpcHQgdHlwZT0ic3BlY3VsYXRpb25ydWxlcyI+CnsicHJlZmV0Y2giOlt7InNvdXJjZSI6ImRvY3VtZW50Iiwid2hlcmUiOnsiYW5kIjpbeyJocmVmX21hdGNoZXMiOiIvKiJ9LHsibm90Ijp7ImhyZWZfbWF0Y2hlcyI6WyIvd3AtKi5waHAiLCIvd3AtYWRtaW4vKiIsIi93cC1jb250ZW50L3VwbG9hZHMvKiIsIi93cC1jb250ZW50LyoiLCIvd3AtY29udGVudC9wbHVnaW5zLyoiLCIvd3AtY29udGVudC90aGVtZXMvYXNobGV5LyoiLCIvKlxcPyguKykiXX19LHsibm90Ijp7InNlbGVjdG9yX21hdGNoZXMiOiJhW3JlbH49XCJub2ZvbGxvd1wiXSJ9fSx7Im5vdCI6eyJzZWxlY3Rvcl9tYXRjaGVzIjoiLm5vLXByZWZldGNoLCAubm8tcHJlZmV0Y2ggYSJ9fV19LCJlYWdlcm5lc3MiOiJjb25zZXJ2YXRpdmUifV19Cjwvc2NyaXB0PgoJCQk8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+CgkJCQljb25zdCBsYXp5bG9hZFJ1bk9ic2VydmVyID0gKCkgPT4gewoJCQkJCWNvbnN0IGxhenlsb2FkQmFja2dyb3VuZHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCBgLmUtY29uLmUtcGFyZW50Om5vdCguZS1sYXp5bG9hZGVkKWAgKTsKCQkJCQljb25zdCBsYXp5bG9hZEJhY2tncm91bmRPYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlciggKCBlbnRyaWVzICkgPT4gewoJCQkJCQllbnRyaWVzLmZvckVhY2goICggZW50cnkgKSA9PiB7CgkJCQkJCQlpZiAoIGVudHJ5LmlzSW50ZXJzZWN0aW5nICkgewoJCQkJCQkJCWxldCBsYXp5bG9hZEJhY2tncm91bmQgPSBlbnRyeS50YXJnZXQ7CgkJCQkJCQkJaWYoIGxhenlsb2FkQmFja2dyb3VuZCApIHsKCQkJCQkJCQkJbGF6eWxvYWRCYWNrZ3JvdW5kLmNsYXNzTGlzdC5hZGQoICdlLWxhenlsb2FkZWQnICk7CgkJCQkJCQkJfQoJCQkJCQkJCWxhenlsb2FkQmFja2dyb3VuZE9ic2VydmVyLnVub2JzZXJ2ZSggZW50cnkudGFyZ2V0ICk7CgkJCQkJCQl9CgkJCQkJCX0pOwoJCQkJCX0sIHsgcm9vdE1hcmdpbjogJzIwMHB4IDBweCAyMDBweCAwcHgnIH0gKTsKCQkJCQlsYXp5bG9hZEJhY2tncm91bmRzLmZvckVhY2goICggbGF6eWxvYWRCYWNrZ3JvdW5kICkgPT4gewoJCQkJCQlsYXp5bG9hZEJhY2tncm91bmRPYnNlcnZlci5vYnNlcnZlKCBsYXp5bG9hZEJhY2tncm91bmQgKTsKCQkJCQl9ICk7CgkJCQl9OwoJCQkJY29uc3QgZXZlbnRzID0gWwoJCQkJCSdET01Db250ZW50TG9hZGVkJywKCQkJCQknZWxlbWVudG9yL2xhenlsb2FkL29ic2VydmUnLAoJCQkJXTsKCQkJCWV2ZW50cy5mb3JFYWNoKCAoIGV2ZW50ICkgPT4gewoJCQkJCWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIGV2ZW50LCBsYXp5bG9hZFJ1bk9ic2VydmVyICk7CgkJCQl9ICk7CgkJCTwvc2NyaXB0PgoJCQk8c2NyaXB0IGlkPSJhc2hsZXktcGx1Z2luLWZyb250ZW5kLXdpZGdldC1zY3JpcHRzLWpzIiBzcmM9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS93cC1jb250ZW50L3BsdWdpbnMvYXNobGV5LXBsdWdpbi9lbGVtZW50b3IvYXNzZXRzL2pzL2Zyb250LWVuZC13aWRnZXQuanM/dmVyPTcuMC4yIj48L3NjcmlwdD4KPHNjcmlwdCBpZD0id3AtaG9va3MtanMiIHNyYz0iaHR0cHM6Ly9veGxvZnR0cmQuY29tL3dwLWluY2x1ZGVzL2pzL2Rpc3QvaG9va3MubWluLmpzP3Zlcj03NDk2OTY5NzI4Y2EwZjk1NzMyZCI+PC9zY3JpcHQ+CjxzY3JpcHQgaWQ9IndwLWkxOG4tanMiIHNyYz0iaHR0cHM6Ly9veGxvZnR0cmQuY29tL3dwLWluY2x1ZGVzL2pzL2Rpc3QvaTE4bi5taW4uanM/dmVyPTc4MWQxMTUxNWFkM2Q5MTc4NmVjIj48L3NjcmlwdD4KPHNjcmlwdCBpZD0id3AtaTE4bi1qcy1hZnRlciI+CndwLmkxOG4uc2V0TG9jYWxlRGF0YSggeyAndGV4dCBkaXJlY3Rpb25cdTAwMDRsdHInOiBbICdsdHInIF0gfSApOwovLyMgc291cmNlVVJMPXdwLWkxOG4tanMtYWZ0ZXIKPC9zY3JpcHQ+CjxzY3JpcHQgaWQ9InN3di1qcyIgc3JjPSJodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL3N3di9qcy9pbmRleC5qcz92ZXI9Ni4wLjMiPjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJjb250YWN0LWZvcm0tNy1qcy1iZWZvcmUiPgp2YXIgd3BjZjcgPSB7CiAgICAiYXBpIjogewogICAgICAgICJyb290IjogImh0dHBzOlwvXC9veGxvZnR0cmQuY29tXC93cC1qc29uXC8iLAogICAgICAgICJuYW1lc3BhY2UiOiAiY29udGFjdC1mb3JtLTdcL3YxIgogICAgfSwKICAgICJjYWNoZWQiOiAxCn07Ci8vIyBzb3VyY2VVUkw9Y29udGFjdC1mb3JtLTctanMtYmVmb3JlCjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJjb250YWN0LWZvcm0tNy1qcyIgc3JjPSJodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL2pzL2luZGV4LmpzP3Zlcj02LjAuMyI+PC9zY3JpcHQ+CjxzY3JpcHQgaWQ9ImFzaGxleS1za2lwLWxpbmstZm9jdXMtZml4LWpzIiBzcmM9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS93cC1jb250ZW50L3RoZW1lcy9hc2hsZXkvYXNzZXRzL2pzL3NraXAtbGluay1mb2N1cy1maXguanM/dmVyPTIwMTUxMjE1Ij48L3NjcmlwdD4KPHNjcmlwdCBpZD0iZ3NhcC1qcyIgc3JjPSJodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC90aGVtZXMvYXNobGV5L2Fzc2V0cy9qcy9nc2FwLmpzP3Zlcj0xLjAuMCI+PC9zY3JpcHQ+CjxzY3JpcHQgaWQ9IlNjcm9sbFRyaWdnZXItanMiIHNyYz0iaHR0cHM6Ly9veGxvZnR0cmQuY29tL3dwLWNvbnRlbnQvdGhlbWVzL2FzaGxleS9hc3NldHMvanMvU2Nyb2xsVHJpZ2dlci5qcz92ZXI9MS4wLjAiPjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJTY3JvbGxUby1qcyIgc3JjPSJodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC90aGVtZXMvYXNobGV5L2Fzc2V0cy9qcy9TY3JvbGxUby5qcz92ZXI9MS4wLjAiPjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJtYWduaWZpYy1wb3B1cC1qcyIgc3JjPSJodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC90aGVtZXMvYXNobGV5L2Fzc2V0cy9qcy9tYWduaWZpYy1wb3B1cC5qcz92ZXI9MS4wLjAiPjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJzd2lwZXItanMiIHNyYz0iaHR0cHM6Ly9veGxvZnR0cmQuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2xpYi9zd2lwZXIvdjgvc3dpcGVyLm1pbi5qcz92ZXI9OC40LjUiPjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJpbWFnZXNsb2FkZWQtcGtnZC1qcyIgc3JjPSJodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC90aGVtZXMvYXNobGV5L2Fzc2V0cy9qcy9pbWFnZXNsb2FkZWQucGtnZC5qcz92ZXI9MS4wLjAiPjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJhc2hsZXktbWFpbi1qcyIgc3JjPSJodHRwczovL294bG9mdHRyZC5jb20vd3AtY29udGVudC90aGVtZXMvYXNobGV5L2Fzc2V0cy9qcy9tYWluLmpzP3Zlcj0xLjAuMCI+PC9zY3JpcHQ+CjxzY3JpcHQgaWQ9ImVsZW1lbnRvci13ZWJwYWNrLXJ1bnRpbWUtanMiIHNyYz0iaHR0cHM6Ly9veGxvZnR0cmQuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2pzL3dlYnBhY2sucnVudGltZS5taW4uanM/dmVyPTMuMjYuNSI+PC9zY3JpcHQ+CjxzY3JpcHQgaWQ9ImVsZW1lbnRvci1mcm9udGVuZC1tb2R1bGVzLWpzIiBzcmM9Imh0dHBzOi8vb3hsb2Z0dHJkLmNvbS93cC1jb250ZW50L3BsdWdpbnMvZWxlbWVudG9yL2Fzc2V0cy9qcy9mcm9udGVuZC1tb2R1bGVzLm1pbi5qcz92ZXI9My4yNi41Ij48L3NjcmlwdD4KPHNjcmlwdCBpZD0ianF1ZXJ5LXVpLWNvcmUtanMiIHNyYz0iaHR0cHM6Ly9veGxvZnR0cmQuY29tL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS9jb3JlLm1pbi5qcz92ZXI9MS4xMy4zIj48L3NjcmlwdD4KPHNjcmlwdCBpZD0iZWxlbWVudG9yLWZyb250ZW5kLWpzLWJlZm9yZSI+CnZhciBlbGVtZW50b3JGcm9udGVuZENvbmZpZyA9IHsiZW52aXJvbm1lbnRNb2RlIjp7ImVkaXQiOmZhbHNlLCJ3cFByZXZpZXciOmZhbHNlLCJpc1NjcmlwdERlYnVnIjpmYWxzZX0sImkxOG4iOnsic2hhcmVPbkZhY2Vib29rIjoiU2hhcmUgb24gRmFjZWJvb2siLCJzaGFyZU9uVHdpdHRlciI6IlNoYXJlIG9uIFR3aXR0ZXIiLCJwaW5JdCI6IlBpbiBpdCIsImRvd25sb2FkIjoiRG93bmxvYWQiLCJkb3dubG9hZEltYWdlIjoiRG93bmxvYWQgaW1hZ2UiLCJmdWxsc2NyZWVuIjoiRnVsbHNjcmVlbiIsInpvb20iOiJab29tIiwic2hhcmUiOiJTaGFyZSIsInBsYXlWaWRlbyI6IlBsYXkgVmlkZW8iLCJwcmV2aW91cyI6IlByZXZpb3VzIiwibmV4dCI6Ik5leHQiLCJjbG9zZSI6IkNsb3NlIiwiYTExeUNhcm91c2VsUHJldlNsaWRlTWVzc2FnZSI6IlByZXZpb3VzIHNsaWRlIiwiYTExeUNhcm91c2VsTmV4dFNsaWRlTWVzc2FnZSI6Ik5leHQgc2xpZGUiLCJhMTF5Q2Fyb3VzZWxGaXJzdFNsaWRlTWVzc2FnZSI6IlRoaXMgaXMgdGhlIGZpcnN0IHNsaWRlIiwiYTExeUNhcm91c2VsTGFzdFNsaWRlTWVzc2FnZSI6IlRoaXMgaXMgdGhlIGxhc3Qgc2xpZGUiLCJhMTF5Q2Fyb3VzZWxQYWdpbmF0aW9uQnVsbGV0TWVzc2FnZSI6IkdvIHRvIHNsaWRlIn0sImlzX3J0bCI6ZmFsc2UsImJyZWFrcG9pbnRzIjp7InhzIjowLCJzbSI6NDgwLCJtZCI6NzY4LCJsZyI6MTAyNSwieGwiOjE0NDAsInh4bCI6MTYwMH0sInJlc3BvbnNpdmUiOnsiYnJlYWtwb2ludHMiOnsibW9iaWxlIjp7ImxhYmVsIjoiTW9iaWxlIFBvcnRyYWl0IiwidmFsdWUiOjc2NywiZGVmYXVsdF92YWx1ZSI6NzY3LCJkaXJlY3Rpb24iOiJtYXgiLCJpc19lbmFibGVkIjp0cnVlfSwibW9iaWxlX2V4dHJhIjp7ImxhYmVsIjoiTW9iaWxlIExhbmRzY2FwZSIsInZhbHVlIjo4ODAsImRlZmF1bHRfdmFsdWUiOjg4MCwiZGlyZWN0aW9uIjoibWF4IiwiaXNfZW5hYmxlZCI6ZmFsc2V9LCJ0YWJsZXQiOnsibGFiZWwiOiJUYWJsZXQgUG9ydHJhaXQiLCJ2YWx1ZSI6MTAyNCwiZGVmYXVsdF92YWx1ZSI6MTAyNCwiZGlyZWN0aW9uIjoibWF4IiwiaXNfZW5hYmxlZCI6dHJ1ZX0sInRhYmxldF9leHRyYSI6eyJsYWJlbCI6IlRhYmxldCBMYW5kc2NhcGUiLCJ2YWx1ZSI6MTIwMCwiZGVmYXVsdF92YWx1ZSI6MTIwMCwiZGlyZWN0aW9uIjoibWF4IiwiaXNfZW5hYmxlZCI6ZmFsc2V9LCJsYXB0b3AiOnsibGFiZWwiOiJMYXB0b3AiLCJ2YWx1ZSI6MTM2NiwiZGVmYXVsdF92YWx1ZSI6MTM2NiwiZGlyZWN0aW9uIjoibWF4IiwiaXNfZW5hYmxlZCI6ZmFsc2V9LCJ3aWRlc2NyZWVuIjp7ImxhYmVsIjoiV2lkZXNjcmVlbiIsInZhbHVlIjoyNDAwLCJkZWZhdWx0X3ZhbHVlIjoyNDAwLCJkaXJlY3Rpb24iOiJtaW4iLCJpc19lbmFibGVkIjpmYWxzZX19LCJoYXNDdXN0b21CcmVha3BvaW50cyI6ZmFsc2V9LCJ2ZXJzaW9uIjoiMy4yNi41IiwiaXNfc3RhdGljIjpmYWxzZSwiZXhwZXJpbWVudGFsRmVhdHVyZXMiOnsiZV9mb250X2ljb25fc3ZnIjp0cnVlLCJhZGRpdGlvbmFsX2N1c3RvbV9icmVha3BvaW50cyI6dHJ1ZSwiY29udGFpbmVyIjp0cnVlLCJlX3N3aXBlcl9sYXRlc3QiOnRydWUsImVfbmVzdGVkX2F0b21pY19yZXBlYXRlcnMiOnRydWUsImVfb25ib2FyZGluZyI6dHJ1ZSwiZV9jc3Nfc21vb3RoX3Njcm9sbCI6dHJ1ZSwiaG9tZV9zY3JlZW4iOnRydWUsIm5lc3RlZC1lbGVtZW50cyI6dHJ1ZSwiZWRpdG9yX3YyIjp0cnVlLCJlX2VsZW1lbnRfY2FjaGUiOnRydWUsImxpbmstaW4tYmlvIjp0cnVlLCJmbG9hdGluZy1idXR0b25zIjp0cnVlLCJsYXVuY2hwYWQtY2hlY2tsaXN0Ijp0cnVlfSwidXJscyI6eyJhc3NldHMiOiJodHRwczpcL1wvb3hsb2Z0dHJkLmNvbVwvd3AtY29udGVudFwvcGx1Z2luc1wvZWxlbWVudG9yXC9hc3NldHNcLyIsImFqYXh1cmwiOiJodHRwczpcL1wvb3hsb2Z0dHJkLmNvbVwvd3AtYWRtaW5cL2FkbWluLWFqYXgucGhwIiwidXBsb2FkVXJsIjoiaHR0cHM6XC9cL294bG9mdHRyZC5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHMifSwibm9uY2VzIjp7ImZsb2F0aW5nQnV0dG9uc0NsaWNrVHJhY2tpbmciOiIxODdiMTYzZDczIn0sInN3aXBlckNsYXNzIjoic3dpcGVyIiwic2V0dGluZ3MiOnsicGFnZSI6W10sImVkaXRvclByZWZlcmVuY2VzIjpbXX0sImtpdCI6eyJhY3RpdmVfYnJlYWtwb2ludHMiOlsidmlld3BvcnRfbW9iaWxlIiwidmlld3BvcnRfdGFibGV0Il0sImdsb2JhbF9pbWFnZV9saWdodGJveCI6InllcyIsImxpZ2h0Ym94X2VuYWJsZV9jb3VudGVyIjoieWVzIiwibGlnaHRib3hfZW5hYmxlX2Z1bGxzY3JlZW4iOiJ5ZXMiLCJsaWdodGJveF9lbmFibGVfem9vbSI6InllcyIsImxpZ2h0Ym94X2VuYWJsZV9zaGFyZSI6InllcyIsImxpZ2h0Ym94X3RpdGxlX3NyYyI6InRpdGxlIiwibGlnaHRib3hfZGVzY3JpcHRpb25fc3JjIjoiZGVzY3JpcHRpb24ifSwicG9zdCI6eyJpZCI6MTUsInRpdGxlIjoiT3glMjBMb2Z0JTIwVHJhZGUiLCJleGNlcnB0IjoiIiwiZmVhdHVyZWRJbWFnZSI6ZmFsc2V9fTsKLy8jIHNvdXJjZVVSTD1lbGVtZW50b3ItZnJvbnRlbmQtanMtYmVmb3JlCjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJlbGVtZW50b3ItZnJvbnRlbmQtanMiIHNyYz0iaHR0cHM6Ly9veGxvZnR0cmQuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2pzL2Zyb250ZW5kLm1pbi5qcz92ZXI9My4yNi41Ij48L3NjcmlwdD4KPHNjcmlwdCBpZD0id3AtZW1vamktc2V0dGluZ3MiIHR5cGU9ImFwcGxpY2F0aW9uL2pzb24iPgp7ImJhc2VVcmwiOiJodHRwczovL3Mudy5vcmcvaW1hZ2VzL2NvcmUvZW1vamkvMTcuMC4yLzcyeDcyLyIsImV4dCI6Ii5wbmciLCJzdmdVcmwiOiJodHRwczovL3Mudy5vcmcvaW1hZ2VzL2NvcmUvZW1vamkvMTcuMC4yL3N2Zy8iLCJzdmdFeHQiOiIuc3ZnIiwic291cmNlIjp7ImNvbmNhdGVtb2ppIjoiaHR0cHM6Ly9veGxvZnR0cmQuY29tL3dwLWluY2x1ZGVzL2pzL3dwLWVtb2ppLXJlbGVhc2UubWluLmpzP3Zlcj03LjAuMiJ9fQo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJtb2R1bGUiPgovKiEgVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkICovCmNvbnN0IGE9SlNPTi5wYXJzZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid3AtZW1vamktc2V0dGluZ3MiKS50ZXh0Q29udGVudCksbz0od2luZG93Ll93cGVtb2ppU2V0dGluZ3M9YSwid3BFbW9qaVNldHRpbmdzU3VwcG9ydHMiKSxzPVsiZmxhZyIsImVtb2ppIl07ZnVuY3Rpb24gaShlKXt0cnl7dmFyIHQ9e3N1cHBvcnRUZXN0czplLHRpbWVzdGFtcDoobmV3IERhdGUpLnZhbHVlT2YoKX07c2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShvLEpTT04uc3RyaW5naWZ5KHQpKX1jYXRjaChlKXt9fWZ1bmN0aW9uIGMoZSx0LG4pe2UuY2xlYXJSZWN0KDAsMCxlLmNhbnZhcy53aWR0aCxlLmNhbnZhcy5oZWlnaHQpLGUuZmlsbFRleHQodCwwLDApO3Q9bmV3IFVpbnQzMkFycmF5KGUuZ2V0SW1hZ2VEYXRhKDAsMCxlLmNhbnZhcy53aWR0aCxlLmNhbnZhcy5oZWlnaHQpLmRhdGEpO2UuY2xlYXJSZWN0KDAsMCxlLmNhbnZhcy53aWR0aCxlLmNhbnZhcy5oZWlnaHQpLGUuZmlsbFRleHQobiwwLDApO2NvbnN0IGE9bmV3IFVpbnQzMkFycmF5KGUuZ2V0SW1hZ2VEYXRhKDAsMCxlLmNhbnZhcy53aWR0aCxlLmNhbnZhcy5oZWlnaHQpLmRhdGEpO3JldHVybiB0LmV2ZXJ5KChlLHQpPT5lPT09YVt0XSl9ZnVuY3Rpb24gcChlLHQpe2UuY2xlYXJSZWN0KDAsMCxlLmNhbnZhcy53aWR0aCxlLmNhbnZhcy5oZWlnaHQpLGUuZmlsbFRleHQodCwwLDApO3ZhciBuPWUuZ2V0SW1hZ2VEYXRhKDE2LDE2LDEsMSk7Zm9yKGxldCBlPTA7ZTxuLmRhdGEubGVuZ3RoO2UrKylpZigwIT09bi5kYXRhW2VdKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIHUoZSx0LG4sYSl7c3dpdGNoKHQpe2Nhc2UiZmxhZyI6cmV0dXJuIG4oZSwiXHVkODNjXHVkZmYzXHVmZTBmXHUyMDBkXHUyNmE3XHVmZTBmIiwiXHVkODNjXHVkZmYzXHVmZTBmXHUyMDBiXHUyNmE3XHVmZTBmIik/ITE6IW4oZSwiXHVkODNjXHVkZGU4XHVkODNjXHVkZGY2IiwiXHVkODNjXHVkZGU4XHUyMDBiXHVkODNjXHVkZGY2IikmJiFuKGUsIlx1ZDgzY1x1ZGZmNFx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM2Mlx1ZGI0MFx1ZGM2NVx1ZGI0MFx1ZGM2ZVx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM3ZiIsIlx1ZDgzY1x1ZGZmNFx1MjAwYlx1ZGI0MFx1ZGM2N1x1MjAwYlx1ZGI0MFx1ZGM2Mlx1MjAwYlx1ZGI0MFx1ZGM2NVx1MjAwYlx1ZGI0MFx1ZGM2ZVx1MjAwYlx1ZGI0MFx1ZGM2N1x1MjAwYlx1ZGI0MFx1ZGM3ZiIpO2Nhc2UiZW1vamkiOnJldHVybiFhKGUsIlx1ZDgzZVx1MWZhYzgiKX1yZXR1cm4hMX1mdW5jdGlvbiBmKGUsdCxuLGEpe2xldCByO2NvbnN0IG89KHI9InVuZGVmaW5lZCIhPXR5cGVvZiBXb3JrZXJHbG9iYWxTY29wZSYmc2VsZiBpbnN0YW5jZW9mIFdvcmtlckdsb2JhbFNjb3BlP25ldyBPZmZzY3JlZW5DYW52YXMoMzAwLDE1MCk6ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikpLmdldENvbnRleHQoIjJkIix7d2lsbFJlYWRGcmVxdWVudGx5OiEwfSkscz0oby50ZXh0QmFzZWxpbmU9InRvcCIsby5mb250PSI2MDAgMzJweCBBcmlhbCIse30pO3JldHVybiBlLmZvckVhY2goZT0+e3NbZV09dChvLGUsbixhKX0pLHN9ZnVuY3Rpb24gcihlKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTt0LnNyYz1lLHQuZGVmZXI9ITAsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCh0KX1hLnN1cHBvcnRzPXtldmVyeXRoaW5nOiEwLGV2ZXJ5dGhpbmdFeGNlcHRGbGFnOiEwfSxuZXcgUHJvbWlzZSh0PT57bGV0IG49ZnVuY3Rpb24oKXt0cnl7dmFyIGU9SlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKG8pKTtpZigib2JqZWN0Ij09dHlwZW9mIGUmJiJudW1iZXIiPT10eXBlb2YgZS50aW1lc3RhbXAmJihuZXcgRGF0ZSkudmFsdWVPZigpPGUudGltZXN0YW1wKzYwNDgwMCYmIm9iamVjdCI9PXR5cGVvZiBlLnN1cHBvcnRUZXN0cylyZXR1cm4gZS5zdXBwb3J0VGVzdHN9Y2F0Y2goZSl7fXJldHVybiBudWxsfSgpO2lmKCFuKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIFdvcmtlciYmInVuZGVmaW5lZCIhPXR5cGVvZiBPZmZzY3JlZW5DYW52YXMmJiJ1bmRlZmluZWQiIT10eXBlb2YgVVJMJiZVUkwuY3JlYXRlT2JqZWN0VVJMJiYidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2IpdHJ5e3ZhciBlPSJwb3N0TWVzc2FnZSgiK2YudG9TdHJpbmcoKSsiKCIrW0pTT04uc3RyaW5naWZ5KHMpLHUudG9TdHJpbmcoKSxjLnRvU3RyaW5nKCkscC50b1N0cmluZygpXS5qb2luKCIsIikrIikpOyIsYT1uZXcgQmxvYihbZV0se3R5cGU6InRleHQvamF2YXNjcmlwdCJ9KTtjb25zdCByPW5ldyBXb3JrZXIoVVJMLmNyZWF0ZU9iamVjdFVSTChhKSx7bmFtZToid3BUZXN0RW1vamlTdXBwb3J0cyJ9KTtyZXR1cm4gdm9pZChyLm9ubWVzc2FnZT1lPT57aShuPWUuZGF0YSksci50ZXJtaW5hdGUoKSx0KG4pfSl9Y2F0Y2goZSl7fWkobj1mKHMsdSxjLHApKX10KG4pfSkudGhlbihlPT57Zm9yKGNvbnN0IG4gaW4gZSlhLnN1cHBvcnRzW25dPWVbbl0sYS5zdXBwb3J0cy5ldmVyeXRoaW5nPWEuc3VwcG9ydHMuZXZlcnl0aGluZyYmYS5zdXBwb3J0c1tuXSwiZmxhZyIhPT1uJiYoYS5zdXBwb3J0cy5ldmVyeXRoaW5nRXhjZXB0RmxhZz1hLnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnJiZhLnN1cHBvcnRzW25dKTt2YXIgdDthLnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnPWEuc3VwcG9ydHMuZXZlcnl0aGluZ0V4Y2VwdEZsYWcmJiFhLnN1cHBvcnRzLmZsYWcsYS5zdXBwb3J0cy5ldmVyeXRoaW5nfHwoKHQ9YS5zb3VyY2V8fHt9KS5jb25jYXRlbW9qaT9yKHQuY29uY2F0ZW1vamkpOnQud3BlbW9qaSYmdC50d2Vtb2ppJiYocih0LnR3ZW1vamkpLHIodC53cGVtb2ppKSkpfSk7Ci8vIyBzb3VyY2VVUkw9aHR0cHM6Ly9veGxvZnR0cmQuY29tL3dwLWluY2x1ZGVzL2pzL3dwLWVtb2ppLWxvYWRlci5taW4uanMKPC9zY3JpcHQ+CiAgICAKICAgIAogICAgCiAgICAKICAgIAo8IS0tIFNtYXJ0c3VwcCBMaXZlIENoYXQgc2NyaXB0IC0tPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBfc21hcnRzdXBwID0gX3NtYXJ0c3VwcCB8fCB7fTsKX3NtYXJ0c3VwcC5rZXkgPSAnN2M0MTk4OWRlNTMyYTdlNjRkMDEwYWU4NGExMDg3MDZiMTI0MmIwMSc7CndpbmRvdy5zbWFydHN1cHB8fChmdW5jdGlvbihkKSB7CiAgdmFyIHMsYyxvPXNtYXJ0c3VwcD1mdW5jdGlvbigpeyBvLl8ucHVzaChhcmd1bWVudHMpfTtvLl89W107CiAgcz1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTtjPWQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgYy50eXBlPSd0ZXh0L2phdmFzY3JpcHQnO2MuY2hhcnNldD0ndXRmLTgnO2MuYXN5bmM9dHJ1ZTsKICBjLnNyYz0naHR0cHM6Ly93d3cuc21hcnRzdXBwY2hhdC5jb20vbG9hZGVyLmpzPyc7cy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLHMpOwp9KShkb2N1bWVudCk7Cjwvc2NyaXB0Pgo8bm9zY3JpcHQ+IFBvd2VyZWQgYnkgPGEgaHJlZj3igJxodHRwczovL3d3dy5zbWFydHN1cHAuY29t4oCdIHRhcmdldD3igJxfYmxhbmvigJ0+U21hcnRzdXBwPC9hPjwvbm9zY3JpcHQ+Cgo8L2JvZHk+CjwvaHRtbD4K"}},"time_used":2360,"timings":{"blocked":-1,"dns":64,"connect":90,"send":0,"wait":1930,"receive":90,"ssl":186},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/3905.682e89ef2dc4c70423c6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.111Z","timestamp":1785141584111,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/3905.682e89ef2dc4c70423c6.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\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: cc5f5064f6744b51b1fb05144665cae2\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9156,"size_decoded":2693,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (9156), with no line terminators","md5":"585b0debea11681772c2af93fac32f6f","sha1":"239ef62778933c4ffbb2003ad1da3ab7f1c412e6","sha256":"7a6f9ce2286878bf4b28af0ff0922e443fe7fd6f6289968222d35cacb1fd8f85","sha512":"f37cf7f51a2fb42cf0f1822ddea62c13673cc6ac0dd4e9ec40de3f0387a5fc680d4eeec0d9d2b81cbc71136e743b6e8692b20d29e16cd72a6c83c741eea6239e","ssdeep":"192:aB56ZYifpWjOHpRSvoAyGGoCARk3NPmHHZ+DG4x8:ayXsh","tlshash":"6612cf5bf5e30baa2f63e1255a2d7b48516773062887a5f5ee42f3e045caec216036cc","first_seen":"2026-03-24T10:38:42.78469Z","last_seen":"2026-07-27T15:03:44.188284Z","times_seen":6652,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtd01EZjojMDAwMDstLV8xLXdNRGY6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tXzItd01EZjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLV8zLXdNRGY6IzAwMDB9W2RhdGEtdGhlbWU9ZGFya117LS1fMC13TURmOiMwMDAwOy0tXzEtd01EZjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1fMi13TURmOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tXzMtd01EZjojMDAwMH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxM3B4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7Y29sb3I6dmFyKC0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dCk7ZGlzcGxheTppbmxpbmUtZmxleDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgbGluZWFyO3otaW5kZXg6MTAwMH0uY29tbW9uLXRvb2x0aXAtLWhpZGRlbi1FSkJEOTZ6WHtvcGFjaXR5OjB9LmNvbW1vbi10b29sdGlwLS1ob3Jpem9udGFsLUVKQkQ5NnpYe21hcmdpbjo0cHggMH0uY29tbW9uLXRvb2x0aXAtLWhvcml6b250YWwtRUpCRDk2elguY29tbW9uLXRvb2x0aXAtLWZhcnRoZXItRUpCRDk2elh7bWFyZ2luOjhweCAwfS5jb21tb24tdG9vbHRpcC0tdmVydGljYWwtRUpCRDk2elh7bWFyZ2luOjAgNHB4fS5jb21tb24tdG9vbHRpcC0tdmVydGljYWwtRUpCRDk2elguY29tbW9uLXRvb2x0aXAtZmFydGhlci1FSkJEOTZ6WHttYXJnaW46MCA4cHh9LmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsLUVKQkQ5NnpYe2ZsZXgtZGlyZWN0aW9uOnJvd30uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19ib2R5LS1uby1idXR0b25zLUVKQkQ5NnpYLC5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1jb250YWluZXItRUpCRDk2elh7Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtZW5kLXJhZGl1czoycHh9LmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsLUVKQkQ5NnpYIC5jb21tb24tdG9vbHRpcF9fYnV0dG9uLUVKQkQ5NnpYOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWlubGluZS1lbmQ6MXB4fS5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkLUVKQkQ5NnpYe2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkLUVKQkQ5NnpYIC5jb21tb24tdG9vbHRpcF9fYm9keS1FSkJEOTZ6WHtib3JkZXItZW5kLWVuZC1yYWRpdXM6MnB4O2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2JvZHktLW5vLWJ1dHRvbnMtRUpCRDk2elgsLmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fcmV2ZXJzZWQtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyLUVKQkQ5NnpYe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1FSkJEOTZ6WDpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4taW5saW5lLXN0YXJ0OjFweH0uY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elh7cG9zaXRpb246cmVsYXRpdmV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYOmFmdGVye2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb21tb24tdG9vbHRpcC1iZyk7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUtRUpCRDk2elg6YWZ0ZXIsLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdy1FSkJEOTZ6WDphZnRlcntib3JkZXItbGVmdDo2cHggc29saWQ7Ym9yZGVyLWxlZnQtY29sb3I6dmFyKC0tXzMtd01EZik7Ym9yZGVyLXJpZ2h0OjZweCBzb2xpZDtib3JkZXItcmlnaHQtY29sb3I6dmFyKC0tXzMtd01EZik7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTZweH0uY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93LUVKQkQ5NnpYOmFmdGVye2JvcmRlci1ib3R0b20td2lkdGg6NHB4O2JvdHRvbToxMDAlfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLXRvcC13aWR0aDo0cHg7dG9wOjEwMCV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDphZnRlcntib3JkZXItYm90dG9tOjZweCBzb2xpZDtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLV8zLXdNRGYpO2JvcmRlci10b3A6NnB4IHNvbGlkO2JvcmRlci10b3AtY29sb3I6dmFyKC0tXzMtd01EZik7bWFyZ2luLXRvcDotNnB4O3RvcDo1MCV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjRweDtyaWdodDoxMDAlfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXItRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWxlZnQtd2lkdGg6NHB4O2xlZnQ6MTAwJX0uY29tbW9uLXRvb2x0aXBfX2JvZHktRUpCRDk2elh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb21tb24tdG9vbHRpcC1iZyk7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjMxMHB4O3BhZGRpbmc6M3B4IDhweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLXdyYXA6YnJlYWstd29yZDtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpzdGFydH0uY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpdGgtaG90a2V5LUVKQkQ5NnpYe2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6NDIwcHg7cGFkZGluZzowfS5jb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfd2lkZS1FSkJEOTZ6WHttYXgtd2lkdGg6NjQwcHh9LmNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF9uYXJyb3ctRUpCRDk2elh7bWF4LXdpZHRoOjIwMHB4fS5jb21tb24tdG9vbHRpcF9fYm9keS0tbm8tcGFkZGluZy1FSkJEOTZ6WHtwYWRkaW5nOjB9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleDoxIDAgYXV0bztqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xpbmUtaGVpZ2h0OjEycHg7bWFyZ2luOjNweCAwO3BhZGRpbmctaW5saW5lLWVuZDo4cHh9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stLWRpdmlkZXItRUpCRDk2elg6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7Y29udGVudDoiIjtoZWlnaHQ6MTAwJTttYXJnaW4taW5saW5lLWVuZDo4cHg7d2lkdGg6MXB4fS5jb21tb24tdG9vbHRpcF9faG90a2V5LXRleHQtRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7bWFyZ2luOjNweCA4cHh9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYnV0dG9uLUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtoZWlnaHQ6MThweDtwYWRkaW5nOjFweCA2cHg7d2lkdGg6YXV0bzstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE2cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjEycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNpemluZzpib3JkZXItYm94O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMH0uY29tbW9uLXRvb2x0aXBfX3BsdXMtc2lnbi1FSkJEOTZ6WHtoZWlnaHQ6MTVweDtsaW5lLWhlaWdodDoxNHB4O3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEzcHh9LmNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyLUVKQkQ5NnpYe2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9LmNvbW1vbi10b29sdGlwX19idXR0b24tRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2NvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCAxMHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1FSkJEOTZ6WDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKX19LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRle2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSl9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fYm9keS1FSkJEOTZ6WHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpO2JvcmRlci1yYWRpdXM6MH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYe2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdy1FSkJEOTZ6WDphZnRlcntib3JkZXItaW5saW5lLWVuZDo2cHggc29saWQ7Ym9yZGVyLWlubGluZS1lbmQtY29sb3I6dmFyKC0tXzAtd01EZik7Ym9yZGVyLWlubGluZS1zdGFydDo2cHggc29saWQ7Ym9yZGVyLWlubGluZS1zdGFydC1jb2xvcjp2YXIoLS1fMC13TURmKX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjZweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elg6YmVmb3Jle2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXIpO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO3otaW5kZXg6MTAwMH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDpiZWZvcmUsLmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ctRUpCRDk2elg6YmVmb3Jle2JvcmRlci1pbmxpbmUtZW5kOjdweCBzb2xpZDtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItaW5saW5lLXN0YXJ0OjdweCBzb2xpZDtib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOnZhcigtLV8wLXdNRGYpO2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLWlubGluZS1zdGFydDotN3B4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93LUVKQkQ5NnpYOmJlZm9yZXtib3JkZXItYm90dG9tLXdpZHRoOjZweDt0b3A6LTZweH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLXRvcC13aWR0aDo2cHg7Ym90dG9tOi02cHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXItRUpCRDk2elg6YmVmb3JlLC5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLWJvdHRvbTo3cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjdweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpO21hcmdpbi10b3A6LTdweDt0b3A6NTAlfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLWlubGluZS1lbmQtd2lkdGg6NnB4O2luc2V0LWlubGluZS1zdGFydDotNnB4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFmdGVyLUVKQkQ5NnpYOmJlZm9yZXtib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOjZweDtpbnNldC1pbmxpbmUtZW5kOi02cHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvd3tib3gtc2hhZG93OjAgMXB4IDNweCAwICMyYTJjMzk0YTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSl9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvdyAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtcm91bmQtc2hhZG93IC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ctRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWlubGluZS1lbmQ6NnB4IHNvbGlkO2JvcmRlci1pbmxpbmUtZW5kLWNvbG9yOnZhcigtLV8wLXdNRGYpO2JvcmRlci1pbmxpbmUtc3RhcnQ6NnB4IHNvbGlkO2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tXzAtd01EZil9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvdyAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFmdGVyLUVKQkQ5NnpYOmFmdGVyLC5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjZweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1jaGFydCAuY29tbW9uLXRvb2x0aXBfX2JvZHktRUpCRDk2elh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWRpdmlkZXIpO2JvcmRlci1yYWRpdXM6MTZweDtib3gtc2hhZG93OjAgMnB4IDRweCB2YXIoLS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KTttYXgtd2lkdGg6MzQycHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLWNoYXJ0IC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci1FSkJEOTZ6WDphZnRlcntjb250ZW50Om5vbmV9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLW5ld3MgLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSk7Ym9yZGVyLXJhZGl1czo4cHg7Ym94LXNoYWRvdzowIDJweCA0cHggdmFyKC0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eSk7bWF4LXdpZHRoOjMyMHB4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1uZXdzIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci1FSkJEOTZ6WDphZnRlcntjb250ZW50Om5vbmV9"}},"time_used":7,"timings":{"blocked":-1,"dns":3,"connect":2,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.95114.3b57335a3d1cb4c80bdd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.137Z","timestamp":1785141584137,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.95114.3b57335a3d1cb4c80bdd.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a7-6fa\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:07 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a6ba9037b5f3dfaa6f4cc697f99f916b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1786,"size_decoded":1551,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (1784), with no line terminators","md5":"b387ba60284a5ea232d8b146d9a92222","sha1":"b0e7409a69216356392ad22b0802cfb4f3264701","sha256":"ede33045a90b91e44e7924729039086ba1b6c0c80af85a0270d6bfbd73b16016","sha512":"edb4fe9a9cef5244ac53909f955bd5b705ae3d7c47b9b1f9a4324774d86b8c6bd769cc14e2ed495e65651937070330be7df4571f581c873e655b1782f152180d","ssdeep":"","tlshash":"b731f01bf01032e9aff2a232725aec70bc1474d810f3c5c95ab7b716da17e6c4976688","first_seen":"2026-07-23T13:54:09.147041Z","last_seen":"2026-07-27T14:50:15.298796Z","times_seen":291,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5NTExNF0sezgxOTA3OCh0KXt0LmV4cG9ydHM9WyIzTSJdfSwyNzIwOTgodCl7dC5leHBvcnRzPVsiM1kiXX0sOTk1MDY2KHQpe3QuZXhwb3J0cz1bIjEwWSJdfSw4MzI3MzModCl7dC5leHBvcnRzPVsiMU0iXX0sOTM4MTAwKHQpe3QuZXhwb3J0cz1bIjFEIl19LDQ5MjEzNSh0KXt0LmV4cG9ydHM9WyIxVyJdfSw3NzAzMDModCl7dC5leHBvcnRzPVsiMVkiXX0sOTM0Nzc3KHQpe3QuZXhwb3J0cz1bIjJZIl19LDgyODU1KHQpe3QuZXhwb3J0cz1bIjVEIl19LDQ0NjU2MCh0KXt0LmV4cG9ydHM9WyI1WSJdfSw2ODA3Nih0KXt0LmV4cG9ydHM9WyI2TSJdfSwzODg3NzAodCl7dC5leHBvcnRzPVsiQ2hhcnQgaW1hZ2UgY29waWVkIHRvIGNsaXBib2FyZCB7ZW1vaml9Il19LDgzNDgyMih0KXt0LmV4cG9ydHM9WyJDaGFydCBpbWFnZSBlbWJlZCBjb2RlIGNvcGllZCB0byBjbGlwYm9hcmQge2Vtb2ppfSJdfSwxNjE1MjgodCl7dC5leHBvcnRzPVsiQ2xpY2sgdG8gc2V0IGEgcG9pbnQiXX0sMjMzNjkwKHQpe3QuZXhwb3J0cz1bIkFsbCJdfSwyOTY0NzEodCl7dC5leHBvcnRzPVsiRG91YmxlLWNsaWNrIGFueSBlZGdlIHRvIHJlc2V0IGxheW91dCBncmlkIl19LDY0MTE2MSh0KXt0LmV4cG9ydHM9WyJEb3VibGUtY2xpY2sgdG8gZmluaXNoIHBhdGgiXX0sNTgwOTg1KHQpe3QuZXhwb3J0cz1bIkRvdWJsZS1jbGljayB0byBmaW5pc2ggcG9seWxpbmUiXX0sMTM3MTQ5KHQpe3QuZXhwb3J0cz1bIkRvdWJsZS10YXAgYW55IGVkZ2UgdG8gcmVzZXQgbGF5b3V0IGdyaWQiXX0sODIxMjQ4KHQpe3QuZXhwb3J0cz1bIkhvdGxpc3RzIl19LDU4MjMwMyh0KXt0LmV4cG9ydHM9WyJIb2xkIHtrZXl9IGZvciB0ZW1wb3JhcnkgZHJhd2luZyJdfSw5NDQ3MDgodCl7dC5leHBvcnRzPVsiSGVhZHMgdXAg4oCUIHRoZSBhbmNob3JlZCB0ZXh0IHRvb2wgd2lsbCBiZSByZW1vdmVkIHNvb24uIFVzZSB0aGUgdGV4dCB0b29sIHdpdGggdGhlIGFuY2hvciBvcHRpb24gc3dpdGNoZWQgb24gdG8gZ2V0IHRoZSBzYW1lIHJlc3VsdHMuIl19LDIyMjkodCl7dC5leHBvcnRzPVsiTGluayB0byB0aGUgY2hhcnQgaW1hZ2UgY29waWVkIHRvIGNsaXBib2FyZCB7ZW1vaml9Il19LDczMDkzNSh0KXt0LmV4cG9ydHM9WyJNb3ZlIHRoZSBwb2ludCB0byBwb3NpdGlvbiB0aGUgYW5jaG9yIHRoZW4gdGFwIHRvIHBsYWNlIl19LDQ3NTI5OSh0KXt0LmV4cG9ydHM9WyJQcmVzcyBhbmQgaG9sZCB7a2V5fSB3aGlsZSB6b29taW5nIHRvIG1haW50YWluIHRoZSBjaGFydCBwb3NpdGlvbiJdfSwzOTc3ODgodCl7dC5leHBvcnRzPVsiV2F0Y2hsaXN0Il19LDcxNjA2Nih0KXt0LmV4cG9ydHM9WyJXaWRnZXRzIl19LDQyMjM2OSh0KXt0LmV4cG9ydHM9WyJZVEQiXX0sNDg1NDIwKHQpe3QuZXhwb3J0cz1bIlllYXIgdG8gZGF0ZSJdfSwxMDMwMzAodCl7dC5leHBvcnRzPVsie3N0cn0gZGF5Iiwie3N0cn0gZGF5cyJdfSwyMTA1NzQodCl7dC5leHBvcnRzPVsie3N0cn0gaG91ciIsIntzdHJ9IGhvdXJzIl19LDY5NDYxNyh0KXt0LmV4cG9ydHM9WyJ7c3RyfSBtb250aCIsIntzdHJ9IG1vbnRocyJdfSw0MzkwKHQpe3QuZXhwb3J0cz1bIntzdHJ9IG1pbnV0ZSIsIntzdHJ9IG1pbnV0ZXMiXX0sNjQ0NjI1KHQpe3QuZXhwb3J0cz1bIntzdHJ9IHdlZWsiLCJ7c3RyfSB3ZWVrcyJdfSwyMTY0MDIodCl7dC5leHBvcnRzPVsie3N0cn0geWVhciIsIntzdHJ9IHllYXJzIl19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52095.e6eb530a13b2febd2cd3.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.706Z","timestamp":1785141584706,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52095.e6eb530a13b2febd2cd3.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1ff-18c2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:17:35 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 817de16b38f7a034bf1cf637bdb9ca49\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":6338,"size_decoded":2044,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6338), with no line terminators","md5":"caf4bfb0a92f81c0fb9d32b268c23f3c","sha1":"9157a7392cd2a99623089b8a8b0c46066c18c88b","sha256":"3fac059dd2a8faed0d0e54c7f4f74b33d35ee9572c353c6fde78c6cd96f168a1","sha512":"d6b7104f441ac900f2633fda4217d59f42503ae78aed48880181f69174c8e2422ec2a64e191f78c7760476881aa76db8007e9f911ebe2ff98ccab39b640ff4ef","ssdeep":"192:lnsu2uCTwTyQnjnvOJOdr45YERrzxD0VOnPn3nTuouzTmTogen9gqpnq:BI","tlshash":"0fd1794cf146b43e265f353a4319d1eca218b4c2e9c21ff7b971d2244ae1bc2e5f991a","first_seen":"2026-07-23T14:00:31.721517Z","last_seen":"2026-07-27T14:53:25.840013Z","times_seen":375,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtemtrcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXpra3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9Lml0ZW0tdlRtOE8wTE17dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcH0uaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTXtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9Lml0ZW0tdlRtOE8wTE0uaW50ZXJhY3RpdmUtdlRtOE8wTE0uaG92ZXJlZC12VG04TzBMTSwuaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTpob3Zlcntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9fS5pdGVtLXZUbThPMExNLmludGVyYWN0aXZlLXZUbThPMExNLmhvdmVyZWQtdlRtOE8wTE17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmludGVyYWN0aXZlLXZUbThPMExNOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfX0uaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSl9Lml0ZW0tdlRtOE8wTE0uZGlzYWJsZWQtdlRtOE8wTE17Y3Vyc29yOmRlZmF1bHQ7b3BhY2l0eTouNX0uaXRlbS12VG04TzBMTS5kaXNhYmxlZC12VG04TzBMTSwuaXRlbS12VG04TzBMTS5kaXNhYmxlZC12VG04TzBMTTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmRpc2FibGVkLXZUbThPMExNOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtYmFja2dyb3VuZCx2YXIoLS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfX0uaXRlbS12VG04TzBMTS5hY3RpdmUtdlRtOE8wTE0sLml0ZW0tdlRtOE8wTE0uYWN0aXZlLXZUbThPMExNOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9fS5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTSAuc2hvcnRjdXQtdlRtOE8wTE0sLml0ZW0tdlRtOE8wTE0uYWN0aXZlLXZUbThPMExNOmFjdGl2ZSAuc2hvcnRjdXQtdlRtOE8wTE17Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTTpob3ZlciAuc2hvcnRjdXQtdlRtOE8wTE17Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5pdGVtLXZUbThPMExNLm5vcm1hbC12VG04TzBMTXtoZWlnaHQ6MzJweH0uaXRlbS12VG04TzBMTS5iaWctdlRtOE8wTE17aGVpZ2h0OjY4cHh9Lmljb25DZWxsLXZUbThPMExNe21pbi13aWR0aDo2cHh9Lmljb24tdlRtOE8wTE17YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctaW5saW5lLXN0YXJ0OjhweDt3aWR0aDoyOHB4fS5pY29uLXZUbThPMExNIHN2Z3toZWlnaHQ6MjhweDt3aWR0aDoyOHB4fS5jb250ZW50LXZUbThPMExNe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjM2NXB4O3BhZGRpbmctaW5saW5lLWVuZDoyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweH0ubGFiZWwtdlRtOE8wTE17ZmxleDoxIDEgYXV0bztmb250LXNpemU6MTRweDtvdmVyZmxvdy14OmhpZGRlbjtwYWRkaW5nLWlubGluZS1zdGFydDoycHg7dGV4dC1hbGlnbjpzdGFydH0udG9vbGJveC12VG04TzBMTXtmbGV4OjAgMSBhdXRvO2xpbmUtaGVpZ2h0OjE0cHg7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4fS5mZWF0dXJlLW5vLW1vYmlsZXRvdWNoIC50b29sYm94LXZUbThPMExNLnNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTXtvcGFjaXR5OjB9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5mZWF0dXJlLW5vLW1vYmlsZXRvdWNoIC5pdGVtLXZUbThPMExNOmhvdmVyIC50b29sYm94LXZUbThPMExNLnNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTXtvcGFjaXR5OjF9fS5hcnJvd0ljb24tdlRtOE8wTE17ZmxleDowIDEgYXV0bzttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHh9LmFycm93SWNvbi12VG04TzBMTSBzdmd7aGVpZ2h0OjEwcHg7ZmlsbDpjdXJyZW50Q29sb3J9LmFycm93SWNvbi12VG04TzBMTSBzdmc6ZGlyKHJ0bCl7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LnNob3J0Y3V0LXZUbThPMExNe2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtaGludC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtaGludC10ZXh0KSk7ZmxleDowIDEgYXV0bztmb250LXNpemU6MTJweDttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHg7cGFkZGluZy10b3A6MnB4fS5zdWJNZW51LXZUbThPMExNe2hlaWdodDowfS5pbnZpc2libGVIb3RrZXktdlRtOE8wTE17dmlzaWJpbGl0eTpoaWRkZW59Lml0ZW0tZDlqTE9MclJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O3BhZGRpbmctYmxvY2s6OHB4IDhweDtwYWRkaW5nLWlubGluZTo0MnB4IDhweDtwb3NpdGlvbjpyZWxhdGl2ZX0uaXRlbS1kOWpMT0xyUi5lbXB0eUljb25zLWQ5akxPTHJSe3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9Lml0ZW0tZDlqTE9MclIubG9hZGluZy1kOWpMT0xyUntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfS5pdGVtLWQ5akxPTHJSLmRpc2FibGVkLWQ5akxPTHJSe2N1cnNvcjpkZWZhdWx0O29wYWNpdHk6LjV9Lml0ZW0tZDlqTE9MclIuZGlzYWJsZWQtZDlqTE9MclIsLml0ZW0tZDlqTE9MclIuZGlzYWJsZWQtZDlqTE9MclI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtYmFja2dyb3VuZCx2YXIoLS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1kOWpMT0xyUi5kaXNhYmxlZC1kOWpMT0xyUjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQpKX19Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfS5pdGVtLWQ5akxPTHJSLmludGVyYWN0aXZlLWQ5akxPTHJSLmhvdmVyZWQtZDlqTE9MclIsLml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6aG92ZXJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfX0uaXRlbS1kOWpMT0xyUi5pbnRlcmFjdGl2ZS1kOWpMT0xyUi5ob3ZlcmVkLWQ5akxPTHJSe2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1kOWpMT0xyUi5pbnRlcmFjdGl2ZS1kOWpMT0xyUjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX19Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkpfS5pdGVtLWQ5akxPTHJSLm5vcm1hbC1kOWpMT0xyUnttaW4taGVpZ2h0OjQwcHh9Lml0ZW0tZDlqTE9MclIuYmlnLWQ5akxPTHJSe21pbi1oZWlnaHQ6NjhweH0uaWNvbi1kOWpMT0xyUnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDoyOHB4O2luc2V0LWlubGluZS1zdGFydDo4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NnB4O3dpZHRoOjI4cHh9Lmljb24tZDlqTE9MclIsLmxhYmVsLWQ5akxPTHJSe2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQpKX0ubGFiZWwtZDlqTE9MclJ7ZmxleC1ncm93OjE7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjRweDttYXJnaW4taW5saW5lLWVuZDo4cHg7bWF4LXdpZHRoOjEwMCU7d29yZC1icmVhazpicmVhay13b3JkfS50aXRsZS1kOWpMT0xyUntmb250LXdlaWdodDo3MDB9LnRpdGxlLWQ5akxPTHJSIC5pY29uLWQ5akxPTHJSOmRpcihydGwpe3RyYW5zZm9ybTpzY2FsZVgoLTEpfS5uZXN0ZWQtZDlqTE9MclJ7YWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLXNlbGY6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MThweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmUtc3RhcnQ6YXV0bzt3aWR0aDoxOHB4fS5uZXN0ZWQtZDlqTE9MclI6ZGlyKHJ0bCl7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LnNob3J0Y3V0LWQ5akxPTHJSe2xpbmUtaGVpZ2h0OjI0cHg7cGFkZGluZzowfS5yZW1vdmUtZDlqTE9MclIsLnNob3J0Y3V0LWQ5akxPTHJSe21hcmdpbi1pbmxpbmUtZW5kOjhweDttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG99LnJlbW92ZS1kOWpMT0xyUnthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.16193.ba075f895c6ed057c11c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.856Z","timestamp":1785141584856,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.16193.ba075f895c6ed057c11c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-154\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:50\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c460ea90f63b94391fa27fa486c7f3ec\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":340,"size_decoded":1001,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (340), with no line terminators","md5":"5ffc24a684cc802b7c100f2bd550db9f","sha1":"b566199860bd35dadee744f2ca93987c9fd7d81d","sha256":"c54bf8e5790bf29f7fdee0e7434ac170011edad6053be09f6b60d44ad7568e06","sha512":"f810b69576133f10a55ec59fee0e46a450731cbf26f01155ab1f66b2ed4b100bbef9e4d74b9d95d2032a5c84713b3dfc85f01c946ce927039e4c4c5645b70994","ssdeep":"","tlshash":"c5e0c203e160f8a17e7ade043b508de630f4b08114f2d0ceb3282f51c017c352810b6c","first_seen":"2026-05-05T12:17:23.646279Z","last_seen":"2026-07-27T12:48:39.662941Z","times_seen":360,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNjE5M10sezMxNzI5KGUpe2UuZXhwb3J0cz1bImRheXMiXX0sODAwMDA5KGUpe2UuZXhwb3J0cz1bImhvdXJzIl19LDU1NDY1MShlKXtlLmV4cG9ydHM9WyJtb250aHMiXX0sMzQzNzU3KGUpe2UuZXhwb3J0cz1bIm1pbnV0ZXMiXX0sOTczMzQ3KGUpe2UuZXhwb3J0cz1bInJhbmdlIl19LDU0ODM3NChlKXtlLmV4cG9ydHM9WyJ3ZWVrcyJdfSwzNjkxMjkoZSl7ZS5leHBvcnRzPVsidGlja3MiXX0sNTQwOTEwKGUpe2UuZXhwb3J0cz1bIlZpZXcgT25seSBNb2RlIl19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://websocket-visitors.smartsupp.com/socket/?EIO=3\u0026transport=websocket","fqdn":"websocket-visitors.smartsupp.com","domain":"smartsupp.com","tld":"com"},"ip":{"addr":"18.195.200.162","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:50.960Z","timestamp":1785141590960,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.smartsupp.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Wed, 24 Jun 2026 00:00:00 GMT","end":"Thu, 07 Jan 2027 23:59:59 GMT"},"fingerprint":{"sha1":"4F:1A:3B:79:00:E3:DC:1F:92:62:7C:DC:85:3A:BE:8C:D1:68:F2:57","sha256":"7F:93:E6:29:5D:CA:78:BD:30:0D:25:11:3B:E2:01:C9:DC:80:3C:80:90:3F:84:D2:72:1B:0D:42:F1:20:13:D9"}}},"request":{"raw":"GET /socket/?EIO=3\u0026transport=websocket HTTP/1.1\r\nHost: websocket-visitors.smartsupp.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-WebSocket-Version: 13\r\nOrigin: https://oxlofttrd.com\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: CfngqQAK+ld4X7PbWOtZvw==\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 08:39:51 GMT\r\nConnection: upgrade\r\nUpgrade: websocket\r\nSec-WebSocket-Accept: YPcU+KvcYB3GtXe/sjK5A+0nQqc=\r\nSec-WebSocket-Version: 13\r\nWebSocket-Server: uWebSockets\r\n\r\n","headers":null,"cookies":null,"status_code":"101","status_text":"Switching Protocols","fingerprints":null,"data":{"size":0,"size_decoded":224,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T15:05:58.256156Z","times_seen":17565140,"resource_available":true,"data":""}},"time_used":240,"timings":{"blocked":0,"dns":82,"connect":104,"send":0,"wait":26,"receive":0,"ssl":28},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/1331.54fd2a5952c88f3555c1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.168Z","timestamp":1785141585168,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/1331.54fd2a5952c88f3555c1.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-2d2b1\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d4d1430f301a061cd4b5325f505d6d40\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":185009,"size_decoded":63168,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3070)","md5":"0501ef2557ab73aa0e242f1410552693","sha1":"e569c953f6e6c95a9d3cbba1ae1b93120b4e136d","sha256":"c76b72cbdcf6fee1dc0fd1903df2e2e2c90f846b942f16951116443d4f041177","sha512":"27a42e4490c90aff8af7a9c0804160d4efd88924878164391ac4442baa4c5faebd5f55f7f730976feb526d62386ba9a31ac50a3b568cac3216b0f60ecfee827b","ssdeep":"3072:COeUpW3gc3TJqv4ub7HlfzVV3Mze+wyQlmcnbmfH48J24NnUxsLIymKS:COeUpB42HlfzwAyEPbUH48Y4uxsLIyw","tlshash":"52045a61b440b67e92f304db94be1489e73d2b49e4044474f26dcc9e2ae9c88f17af79","first_seen":"2026-07-24T15:28:44.734426Z","last_seen":"2026-07-27T12:48:39.745493Z","times_seen":54,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMzMxXSx7ODUzMzM2KGUsdCl7dmFyIG4scixvO3I9W3RdLG49ZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQoZSl7aWYoQXJyYXkuaXNBcnJheShlKSl7Zm9yKHZhciB0PTAsbj1BcnJheShlLmxlbmd0aCk7dDxlLmxlbmd0aDt0Kyspblt0XT1lW3RdO3JldHVybiBufXJldHVybiBBcnJheS5mcm9tKGUpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj0hMTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyl7dmFyIHI9e2dldCBwYXNzaXZlKCl7bj0hMH19O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0UGFzc2l2ZSIsbnVsbCxyKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdFBhc3NpdmUiLG51bGwscil9dmFyIG89InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy5uYXZpZ2F0b3ImJndpbmRvdy5uYXZpZ2F0b3IucGxhdGZvcm0mJi9pUChhZHxob25lfG9kKS8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtKSxsPVtdLGE9ITEscz0tMSxpPXZvaWQgMCxjPXZvaWQgMCx1PWZ1bmN0aW9uKGUpe3JldHVybiBsLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiEoIXQub3B0aW9ucy5hbGxvd1RvdWNoTW92ZXx8IXQub3B0aW9ucy5hbGxvd1RvdWNoTW92ZShlKSl9KSl9LGQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZXx8d2luZG93LmV2ZW50O3JldHVybiEhdSh0LnRhcmdldCl8fDE8dC50b3VjaGVzLmxlbmd0aHx8KHQucHJldmVudERlZmF1bHQmJnQucHJldmVudERlZmF1bHQoKSwhMSl9LG09ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe3ZvaWQgMCE9PWMmJihkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD1jLGM9dm9pZCAwKSx2b2lkIDAhPT1pJiYoZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz1pLGk9dm9pZCAwKX0pKX07ZS5kaXNhYmxlQm9keVNjcm9sbD1mdW5jdGlvbihlLHIpe2lmKG8pe2lmKCFlKXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoImRpc2FibGVCb2R5U2Nyb2xsIHVuc3VjY2Vzc2Z1bCAtIHRhcmdldEVsZW1lbnQgbXVzdCBiZSBwcm92aWRlZCB3aGVuIGNhbGxpbmcgZGlzYWJsZUJvZHlTY3JvbGwgb24gSU9TIGRldmljZXMuIik7aWYoZSYmIWwuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIHQudGFyZ2V0RWxlbWVudD09PWV9KSkpe3ZhciBtPXt0YXJnZXRFbGVtZW50OmUsb3B0aW9uczpyfHx7fX07bD1bXS5jb25jYXQodChsKSxbbV0pLGUub250b3VjaHN0YXJ0PWZ1bmN0aW9uKGUpezE9PT1lLnRhcmdldFRvdWNoZXMubGVuZ3RoJiYocz1lLnRhcmdldFRvdWNoZXNbMF0uY2xpZW50WSl9LGUub250b3VjaG1vdmU9ZnVuY3Rpb24odCl7dmFyIG4scixvLGw7MT09PXQudGFyZ2V0VG91Y2hlcy5sZW5ndGgmJihyPWUsbD0obj10KS50YXJnZXRUb3VjaGVzWzBdLmNsaWVudFktcywhdShuLnRhcmdldCkmJihyJiYwPT09ci5zY3JvbGxUb3AmJjA8bHx8KG89cikmJm8uc2Nyb2xsSGVpZ2h0LW8uc2Nyb2xsVG9wPD1vLmNsaWVudEhlaWdodCYmbDwwP2Qobik6bi5zdG9wUHJvcGFnYXRpb24oKSkpfSxhfHwoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixkLG4/e3Bhc3NpdmU6ITF9OnZvaWQgMCksYT0hMCl9fWVsc2V7aD1yLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7aWYodm9pZCAwPT09Yyl7dmFyIGU9ISFoJiYhMD09PWgucmVzZXJ2ZVNjcm9sbEJhckdhcCx0PXdpbmRvdy5pbm5lcldpZHRoLWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDtlJiYwPHQmJihjPWRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0LGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0PXQrInB4Iil9dm9pZCAwPT09aSYmKGk9ZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyxkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iKX0pKTt2YXIgcD17dGFyZ2V0RWxlbWVudDplLG9wdGlvbnM6cnx8e319O2w9W10uY29uY2F0KHQobCksW3BdKX12YXIgaH0sZS5jbGVhckFsbEJvZHlTY3JvbGxMb2Nrcz1mdW5jdGlvbigpe28/KGwuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS50YXJnZXRFbGVtZW50Lm9udG91Y2hzdGFydD1udWxsLGUudGFyZ2V0RWxlbWVudC5vbnRvdWNobW92ZT1udWxsfSkpLGEmJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGQsbj97cGFzc2l2ZTohMX06dm9pZCAwKSxhPSExKSxsPVtdLHM9LTEpOihtKCksbD1bXSl9LGUuZW5hYmxlQm9keVNjcm9sbD1mdW5jdGlvbihlKXtpZihvKXtpZighZSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJlbmFibGVCb2R5U2Nyb2xsIHVuc3VjY2Vzc2Z1bCAtIHRhcmdldEVsZW1lbnQgbXVzdCBiZSBwcm92aWRlZCB3aGVuIGNhbGxpbmcgZW5hYmxlQm9keVNjcm9sbCBvbiBJT1MgZGV2aWNlcy4iKTtlLm9udG91Y2hzdGFydD1udWxsLGUub250b3VjaG1vdmU9bnVsbCxsPWwuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC50YXJnZXRFbGVtZW50IT09ZX0pKSxhJiYwPT09bC5sZW5ndGgmJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGQsbj97cGFzc2l2ZTohMX06dm9pZCAwKSxhPSExKX1lbHNlIDE9PT1sLmxlbmd0aCYmbFswXS50YXJnZXRFbGVtZW50PT09ZT8obSgpLGw9W10pOmw9bC5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldEVsZW1lbnQhPT1lfSkpfX0sdm9pZCAwPT09KG89ImZ1bmN0aW9uIj09dHlwZW9mIG4/bi5hcHBseSh0LHIpOm4pfHwoZS5leHBvcnRzPW8pfSw2MzIyMjAoZSl7InVzZSBzdHJpY3QiO3ZhciB0PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7ZnVuY3Rpb24gbihlLHQpe3JldHVybiBlPT09dD8wIT09ZXx8MCE9PXR8fDEvZT09MS90OmUhPWUmJnQhPXR9ZS5leHBvcnRzPWZ1bmN0aW9uKGUscil7aWYobihlLHIpKXJldHVybiEwCjtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIHJ8fG51bGw9PT1yKXJldHVybiExO3ZhciBvPU9iamVjdC5rZXlzKGUpLGw9T2JqZWN0LmtleXMocik7aWYoby5sZW5ndGghPT1sLmxlbmd0aClyZXR1cm4hMTtmb3IodmFyIGE9MDthPG8ubGVuZ3RoO2ErKylpZighdC5jYWxsKHIsb1thXSl8fCFuKGVbb1thXV0scltvW2FdXSkpcmV0dXJuITE7cmV0dXJuITB9fSwzNTM3NDcoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci1ENl9uaE9NRiIsdGl0bGU6InRpdGxlLUQ2X25oT01GIix0aXRsZV9sYXJnZToidGl0bGVfbGFyZ2UtRDZfbmhPTUYiLGljb246Imljb24tRDZfbmhPTUYiLHRleHQ6InRleHQtRDZfbmhPTUYiLHRleHRfbm9ybWFsOiJ0ZXh0X25vcm1hbC1ENl9uaE9NRiIsYWN0aW9uOiJhY3Rpb24tRDZfbmhPTUYifX0sNTM2MjE5KGUpe2UuZXhwb3J0cz17aGlnaGxpZ2h0ZWQ6ImhpZ2hsaWdodGVkLVVzVHFua0wwIn19LDk5Mzk5NShlKXtlLmV4cG9ydHM9e2ljb25CdXR0b246Imljb25CdXR0b24tSEREVVlPQkkiLHNxdWFyZToic3F1YXJlLUhERFVZT0JJIixyb3VuZDoicm91bmQtSEREVVlPQkkiLHByaW1hcnk6InByaW1hcnktSEREVVlPQkkiLGljb246Imljb24tSEREVVlPQkkiLHNlY29uZGFyeToic2Vjb25kYXJ5LUhERFVZT0JJIix0ZXJ0aWFyeToidGVydGlhcnktSEREVVlPQkkiLCJwcmltYXJ5LXNwZWNpYWwiOiJwcmltYXJ5LXNwZWNpYWwtSEREVVlPQkkifX0sNDAyMjUzKGUpe2UuZXhwb3J0cz17bmF2QnV0dG9uOiJuYXZCdXR0b24taGJTSlZ4a1EiLGxpbms6ImxpbmstaGJTSlZ4a1EiLGJhY2tncm91bmQ6ImJhY2tncm91bmQtaGJTSlZ4a1EiLGljb246Imljb24taGJTSlZ4a1EiLGZsaXBJY29uOiJmbGlwSWNvbi1oYlNKVnhrUSIsbGFyZ2U6ImxhcmdlLWhiU0pWeGtRIixwcmVzZXJ2ZVBhZGRpbmdzOiJwcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRIixtZWRpdW06Im1lZGl1bS1oYlNKVnhrUSIsc21hbGw6InNtYWxsLWhiU0pWeGtRIix4c21hbGw6InhzbWFsbC1oYlNKVnhrUSIseHhzbWFsbDoieHhzbWFsbC1oYlNKVnhrUSIsYmxlbmRNb2RlOiJibGVuZE1vZGUtaGJTSlZ4a1EiLHZpc3VhbGx5SGlkZGVuOiJ2aXN1YWxseUhpZGRlbi1oYlNKVnhrUSJ9fSwyMDMyNzMoZSl7ZS5leHBvcnRzPXtzY2FsYWJsZUljb246InNjYWxhYmxlSWNvbi1jajFiQVNmNyJ9fSw0MTM2OTEoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLUVpU0lCdjRkIn19LDc1MjI5NShlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItYm9IeW5lMTMifX0sNDYxNTE1KGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1hRGNTNGxlRyJ9fSwzMzA2NzEoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLWhUemZhdDk1In19LDY5Mjk1NihlKXtlLmV4cG9ydHM9e2NvbnRhaW5lcjoiY29udGFpbmVyLVRhRl9hWUVGIixmbGFnOiJmbGFnLVRhRl9hWUVGIixjb250ZW50OiJjb250ZW50LVRhRl9hWUVGIn19LDU0MDMwKGUpe2UuZXhwb3J0cz17cm9vdDoicm9vdC1Od0ZVWmNuUiIsY2hhaW46ImNoYWluLU53RlVaY25SIixzZWxlY3Rvcjoic2VsZWN0b3ItTndGVVpjblIiLGVtcHR5U3RhdGVJY29uOiJlbXB0eVN0YXRlSWNvbi1Od0ZVWmNuUiIsZW1wdHk6ImVtcHR5LU53RlVaY25SIn19LDg0Njc3OShlKXtlLmV4cG9ydHM9e3VuZGVybHlpbmdDZWxsOiJ1bmRlcmx5aW5nQ2VsbC1VY2NkSGxoZyIsdW5kZXJseWluZ0JhZGdlOiJ1bmRlcmx5aW5nQmFkZ2UtVWNjZEhsaGcifX0sMjA5NjAoZSl7ZS5leHBvcnRzPXtyb290OiJyb290LVh3Sm9faVA2IixzZWxlY3Rvcjoic2VsZWN0b3ItWHdKb19pUDYiLGNoYWluOiJjaGFpbi1Yd0pvX2lQNiIsZW1wdHk6ImVtcHR5LVh3Sm9faVA2In19LDUzNzczMChlKXtlLmV4cG9ydHM9e2J1dHRvbkNvbG9yczoiYnV0dG9uQ29sb3JzLXBlTWpRYnV6In19LDM4NDQ1OChlKXtlLmV4cG9ydHM9eyJ0YWJsZXQtc21hbGwtYnJlYWtwb2ludCI6IihtYXgtd2lkdGg6IDQ0MHB4KSIsaXRlbVJvdzoiaXRlbVJvdy1yX2Y1UWFuVyIsbXVsdGlMaW5lOiJtdWx0aUxpbmUtcl9mNVFhblciLGNvbXBvc2l0ZURlc2NyaXB0aW9uOiJjb21wb3NpdGVEZXNjcmlwdGlvbi1yX2Y1UWFuVyIsY2VsbDoiY2VsbC1yX2Y1UWFuVyIsaXRlbUluZm9DZWxsOiJpdGVtSW5mb0NlbGwtcl9mNVFhblciLGRlc2NyaXB0aW9uOiJkZXNjcmlwdGlvbi1yX2Y1UWFuVyIsc3ltYm9sRGVzY3JpcHRpb246InN5bWJvbERlc2NyaXB0aW9uLXJfZjVRYW5XIixmbGFnOiJmbGFnLXJfZjVRYW5XIixleGNoYW5nZURlc2NyaXB0aW9uOiJleGNoYW5nZURlc2NyaXB0aW9uLXJfZjVRYW5XIixtYXJrZXRUeXBlOiJtYXJrZXRUeXBlLXJfZjVRYW5XIixleGNoYW5nZU5hbWU6ImV4Y2hhbmdlTmFtZS1yX2Y1UWFuVyIsYWN0aW9uSGFuZGxlV3JhcDoiYWN0aW9uSGFuZGxlV3JhcC1yX2Y1UWFuVyIsc291cmNlOiJzb3VyY2Utcl9mNVFhblciLGFjdGl2ZToiYWN0aXZlLXJfZjVRYW5XIixzZWxlY3RlZDoic2VsZWN0ZWQtcl9mNVFhblciLG5lc3RlZEJvcmRlck92ZXJsYXA6Im5lc3RlZEJvcmRlck92ZXJsYXAtcl9mNVFhblciLGV4cGFuZGVkOiJleHBhbmRlZC1yX2Y1UWFuVyIsbmVzdGVkOiJuZXN0ZWQtcl9mNVFhblciLGhvdmVyOiJob3Zlci1yX2Y1UWFuVyIsaGlnaGxpZ2h0ZWQ6ImhpZ2hsaWdodGVkLXJfZjVRYW5XIixsaWdodDoibGlnaHQtcl9mNVFhblciLCJoaWdobGlnaHQtYW5pbWF0aW9uLXRoZW1lLWxpZ2h0IjoiaGlnaGxpZ2h0LWFuaW1hdGlvbi10aGVtZS1saWdodC1yX2Y1UWFuVyIsZGFyazoiZGFyay1yX2Y1UWFuVyIsImhpZ2hsaWdodC1hbmltYXRpb24tdGhlbWUtZGFyayI6ImhpZ2hsaWdodC1hbmltYXRpb24tdGhlbWUtZGFyay1yX2Y1UWFuVyIsbWFya2VkRmxhZzoibWFya2VkRmxhZy1yX2Y1UWFuVyIsb2Zmc2V0OiJvZmZzZXQtcl9mNVFhblciLGRlc2NyaXB0aW9uQ2VsbDoiZGVzY3JpcHRpb25DZWxsLXJfZjVRYW5XIixhZGRpdGlvbjoiYWRkaXRpb24tcl9mNVFhblciLApleGNoYW5nZUNlbGw6ImV4Y2hhbmdlQ2VsbC1yX2Y1UWFuVyIsbXVsdGlwbGVGbGFnczoibXVsdGlwbGVGbGFncy1yX2Y1UWFuVyIsaGlkZGVuOiJoaWRkZW4tcl9mNVFhblciLGhvdmVyQ2VsbDoiaG92ZXJDZWxsLXJfZjVRYW5XIixmaXhlZFdpZHRoOiJmaXhlZFdpZHRoLXJfZjVRYW5XIixleHBhbmRUb2dnbGU6ImV4cGFuZFRvZ2dsZS1yX2Y1UWFuVyIsc3ltYm9sVGl0bGU6InN5bWJvbFRpdGxlLXJfZjVRYW5XIixpbnZhbGlkOiJpbnZhbGlkLXJfZjVRYW5XIixub0Rlc2NyaXB0aW9uOiJub0Rlc2NyaXB0aW9uLXJfZjVRYW5XIixoaWdobGlnaHRlZFRleHQ6ImhpZ2hsaWdodGVkVGV4dC1yX2Y1UWFuVyIsc3ltYm9sRGVzY3JpcHRpb25NYWluOiJzeW1ib2xEZXNjcmlwdGlvbk1haW4tcl9mNVFhblciLHN5bWJvbERlc2NyaXB0aW9uRGV0YWlsczoic3ltYm9sRGVzY3JpcHRpb25EZXRhaWxzLXJfZjVRYW5XIixuYXJyb3c6Im5hcnJvdy1yX2Y1UWFuVyIsd2lkZToid2lkZS1yX2Y1UWFuVyIsZGF0YU1vZGU6ImRhdGFNb2RlLXJfZjVRYW5XIixhY3Rpb25zQ2VsbDoiYWN0aW9uc0NlbGwtcl9mNVFhblciLGFjdGlvbjoiYWN0aW9uLXJfZjVRYW5XIix0YXJnZXRBY3Rpb246InRhcmdldEFjdGlvbi1yX2Y1UWFuVyIscmVtb3ZlQWN0aW9uOiJyZW1vdmVBY3Rpb24tcl9mNVFhblciLGFkZEFjdGlvbjoiYWRkQWN0aW9uLXJfZjVRYW5XIixlbXB0eUFjdGlvbnM6ImVtcHR5QWN0aW9ucy1yX2Y1UWFuVyIsbWFya2VkRmxhZ1dyYXA6Im1hcmtlZEZsYWdXcmFwLXJfZjVRYW5XIixtYXJrZWRGbGFnTW9iaWxlOiJtYXJrZWRGbGFnTW9iaWxlLXJfZjVRYW5XIixsb2dvOiJsb2dvLXJfZjVRYW5XIixwcmltYXJ5SWNvbjoicHJpbWFyeUljb24tcl9mNVFhblciLHByb21vQmFkZ2U6InByb21vQmFkZ2Utcl9mNVFhblciLHByb21vSWNvbjoicHJvbW9JY29uLXJfZjVRYW5XIn19LDUyMzI4NihlKXtlLmV4cG9ydHM9e2ZsYWc6ImZsYWctTm0xNzR6cVMiLGZsYWdzOiJmbGFncy1ObTE3NHpxUyIsZmxhZ0NvbnRhaW5lcjoiZmxhZ0NvbnRhaW5lci1ObTE3NHpxUyIsY291bnRlcjoiY291bnRlci1ObTE3NHpxUyIsY29udGFpbmVyOiJjb250YWluZXItTm0xNzR6cVMifX0sNDA5NjQwKGUpe2UuZXhwb3J0cz17dGl0bGU6InRpdGxlLWMxMmxhNWlNIixpY29uOiJpY29uLWMxMmxhNWlNIn19LDk4NzUyKGUpe2UuZXhwb3J0cz17b3RoZXJTeW1ib2xzOiJvdGhlclN5bWJvbHMtUjFvV21vcE0iLG5ld1N0eWxlczoibmV3U3R5bGVzLVIxb1dtb3BNIixzbWFsbEZvbnQ6InNtYWxsRm9udC1SMW9XbW9wTSIscmVzZXRGaWx0ZXJzOiJyZXNldEZpbHRlcnMtUjFvV21vcE0iLGJvbGQ6ImJvbGQtUjFvV21vcE0iLGV4Y2hhbmdlV3JhcDoiZXhjaGFuZ2VXcmFwLVIxb1dtb3BNIixpY29uOiJpY29uLVIxb1dtb3BNIixub1Jlc3VsdHNEZXNrdG9wOiJub1Jlc3VsdHNEZXNrdG9wLVIxb1dtb3BNIix0b2tlbjoidG9rZW4tUjFvV21vcE0iLHNob3dNZToic2hvd01lLVIxb1dtb3BNIn19LDQwNzk0NyhlKXtlLmV4cG9ydHM9e3dyYXA6IndyYXAtSEVpSVFlYkIiLGxpYkFsbFNlbGVjdGVkOiJsaWJBbGxTZWxlY3RlZC1IRWlJUWViQiIsY29udGFpbmVyOiJjb250YWluZXItSEVpSVFlYkIiLGljb25XcmFwOiJpY29uV3JhcC1IRWlJUWViQiIsaWNvbjoiaWNvbi1IRWlJUWViQiIsdGl0bGU6InRpdGxlLUhFaUlRZWJCIixoaWdobGlnaHRlZDoiaGlnaGxpZ2h0ZWQtSEVpSVFlYkIiLGRlc2NyaXB0aW9uOiJkZXNjcmlwdGlvbi1IRWlJUWViQiIsbW9iaWxlOiJtb2JpbGUtSEVpSVFlYkIiLGFsbFNlbGVjdGVkOiJhbGxTZWxlY3RlZC1IRWlJUWViQiIsZGVza3RvcDoiZGVza3RvcC1IRWlJUWViQiIsYWxsU2VsZWN0ZWRJY29uOiJhbGxTZWxlY3RlZEljb24tSEVpSVFlYkIiLHNlbGVjdGVkOiJzZWxlY3RlZC1IRWlJUWViQiIsZm9jdXNlZDoiZm9jdXNlZC1IRWlJUWViQiIsdGl0bGVXaXRob3V0RGVzYzoidGl0bGVXaXRob3V0RGVzYy1IRWlJUWViQiIsdGV4dEJsb2NrOiJ0ZXh0QmxvY2stSEVpSVFlYkIiLGJvcmRlcmVkOiJib3JkZXJlZC1IRWlJUWViQiJ9fSw2NTk4ODQoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci10c2ptUXRYUSIsY29udGVudExpc3Q6ImNvbnRlbnRMaXN0LXRzam1RdFhRIixjb250ZW50TGlzdERlc2t0b3A6ImNvbnRlbnRMaXN0RGVza3RvcC10c2ptUXRYUSIsc2VhcmNoU291cmNlSXRlbXNDb250YWluZXI6InNlYXJjaFNvdXJjZUl0ZW1zQ29udGFpbmVyLXRzam1RdFhRIixvbmVDb2x1bW46Im9uZUNvbHVtbi10c2ptUXRYUSIsc2VhcmNoU291cmNlSXRlbXNDb250YWluZXJEZXNrdG9wOiJzZWFyY2hTb3VyY2VJdGVtc0NvbnRhaW5lckRlc2t0b3AtdHNqbVF0WFEiLGdyb3VwVGl0bGVEZXNrdG9wOiJncm91cFRpdGxlRGVza3RvcC10c2ptUXRYUSIsY29sdW1uOiJjb2x1bW4tdHNqbVF0WFEiLGVtcHR5VGV4dDoiZW1wdHlUZXh0LXRzam1RdFhRIixlbXB0eUljb246ImVtcHR5SWNvbi10c2ptUXRYUSIsbm9SZXN1bHRzRGVza3RvcDoibm9SZXN1bHRzRGVza3RvcC10c2ptUXRYUSJ9fSw5Nzc2OTkoZSl7ZS5leHBvcnRzPXt0aXRsZToidGl0bGUtTmQzd3NrbEsifX0sNDA4NjIwKGUpe2UuZXhwb3J0cz17YWN0aW9uczoiYWN0aW9ucy1vQXRvWGxSNCIsYWN0aW9uOiJhY3Rpb24tb0F0b1hsUjQiLGRpc2FibGVkOiJkaXNhYmxlZC1vQXRvWGxSNCJ9fSw1OTQ3ODAoZSl7ZS5leHBvcnRzPXt3cmFwOiJ3cmFwLUJkMDVCalVhIixpdGVtOiJpdGVtLUJkMDVCalVhIixzbWFsbDoic21hbGwtQmQwNUJqVWEiLG5ld1N0eWxlczoibmV3U3R5bGVzLUJkMDVCalVhIixtb2JpbGU6Im1vYmlsZS1CZDA1QmpVYSIsdGV4dDoidGV4dC1CZDA1QmpVYSIsZXhjaGFuZ2U6ImV4Y2hhbmdlLUJkMDVCalVhIixmaWx0ZXJJdGVtOiJmaWx0ZXJJdGVtLUJkMDVCalVhIix0cmFkaW5nRmlsdGVyQnV0dG9uV3JhcDoidHJhZGluZ0ZpbHRlckJ1dHRvbldyYXAtQmQwNUJqVWEiLGVtcHR5U3BhY2U6ImVtcHR5U3BhY2UtQmQwNUJqVWEifX0sNTk2ODk4KGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC1GU1g2QWF0WCIsCndhdGNobGlzdDoid2F0Y2hsaXN0LUZTWDZBYXRYIixub0ZlZWQ6Im5vRmVlZC1GU1g2QWF0WCIsbmV3U3R5bGVzOiJuZXdTdHlsZXMtRlNYNkFhdFgiLHNjcm9sbENvbnRhaW5lcjoic2Nyb2xsQ29udGFpbmVyLUZTWDZBYXRYIix3YXRjaGxpc3RDb250YWluZXI6IndhdGNobGlzdENvbnRhaW5lci1GU1g2QWF0WCIsbGlzdENvbnRhaW5lcjoibGlzdENvbnRhaW5lci1GU1g2QWF0WCIsbXVsdGlMaW5lSXRlbXNDb250YWluZXI6Im11bHRpTGluZUl0ZW1zQ29udGFpbmVyLUZTWDZBYXRYIix3aXRoU3Bpbm5lcjoid2l0aFNwaW5uZXItRlNYNkFhdFgiLHNwaW5uZXJDb250YWluZXI6InNwaW5uZXJDb250YWluZXItRlNYNkFhdFgiLGxhcmdlU3Bpbm5lcjoibGFyZ2VTcGlubmVyLUZTWDZBYXRYIn19LDIzODkwNChlKXtlLmV4cG9ydHM9e3NlYXJjaDoic2VhcmNoLWsyUkJ2TFZNIix1cHBlckNhc2U6InVwcGVyQ2FzZS1rMlJCdkxWTSIsaW5wdXRDb250YWluZXI6ImlucHV0Q29udGFpbmVyLWsyUkJ2TFZNIixzcHJlYWRzOiJzcHJlYWRzLWsyUkJ2TFZNIixidWJibGVzQ29udGFpbmVyOiJidWJibGVzQ29udGFpbmVyLWsyUkJ2TFZNIixidWJibGVzOiJidWJibGVzLWsyUkJ2TFZNIixzcGlubmVyV3JhcDoic3Bpbm5lcldyYXAtazJSQnZMVk0iLGVtcHR5VGV4dDoiZW1wdHlUZXh0LWsyUkJ2TFZNIixlbXB0eUljb246ImVtcHR5SWNvbi1rMlJCdkxWTSIsbm9SZXN1bHRzRGVza3RvcDoibm9SZXN1bHRzRGVza3RvcC1rMlJCdkxWTSIsdHJhZGluZ0ZpbHRlckJ1dHRvbldyYXA6InRyYWRpbmdGaWx0ZXJCdXR0b25XcmFwLWsyUkJ2TFZNIn19LDMwMTcwOChlKXtlLmV4cG9ydHM9e2ZsYWdXcmFwOiJmbGFnV3JhcC1FQk5aZENIMSIsaWNvbjoiaWNvbi1FQk5aZENIMSIsY2FyZXQ6ImNhcmV0LUVCTlpkQ0gxIix0aXRsZToidGl0bGUtRUJOWmRDSDEifX0sMzE4MjU0KGUpe2UuZXhwb3J0cz17ZGlhbG9nOiJkaWFsb2ctc2FiaDFmaDQiLHRhYmxldERpYWxvZzoidGFibGV0RGlhbG9nLXNhYmgxZmg0IixkZXNrdG9wRGlhbG9nOiJkZXNrdG9wRGlhbG9nLXNhYmgxZmg0IixiYWNrQnV0dG9uOiJiYWNrQnV0dG9uLXNhYmgxZmg0In19LDkwNzY4OChlKXtlLmV4cG9ydHM9e2NoaWxkcmVuV3JhcHBlcjoiY2hpbGRyZW5XcmFwcGVyLU1ncEQ5dVRPIixjb250YWluZXI6ImNvbnRhaW5lci1NZ3BEOXVUTyJ9fSwxMjk2ODAoZSl7ZS5leHBvcnRzPXtkaWFsb2c6ImRpYWxvZy1iOFN4TW56WCIsd3JhcHBlcjoid3JhcHBlci1iOFN4TW56WCIsc2VwYXJhdG9yOiJzZXBhcmF0b3ItYjhTeE1uelgiLGJvdW5kZWQ6ImJvdW5kZWQtYjhTeE1uelgifX0sNDcxODgoZSl7ZS5leHBvcnRzPXsic21hbGwtaGVpZ2h0LWJyZWFrcG9pbnQiOiIobWF4LWhlaWdodDogMzYwcHgpIixjb250YWluZXI6ImNvbnRhaW5lci1CWktFTmtoVCIsdW5zZXRBbGlnbjoidW5zZXRBbGlnbi1CWktFTmtoVCIsdGl0bGU6InRpdGxlLUJaS0VOa2hUIixzdWJ0aXRsZToic3VidGl0bGUtQlpLRU5raFQiLHRleHRXcmFwOiJ0ZXh0V3JhcC1CWktFTmtoVCIsZWxsaXBzaXM6ImVsbGlwc2lzLUJaS0VOa2hUIixjbG9zZToiY2xvc2UtQlpLRU5raFQiLGljb246Imljb24tQlpLRU5raFQifX0sNTMwMDYwKGUpe2UuZXhwb3J0cz17Y29udGFpbmVyOiJjb250YWluZXItcW03Umc1TUIiLG1vYmlsZToibW9iaWxlLXFtN1JnNU1CIixpbnB1dENvbnRhaW5lcjoiaW5wdXRDb250YWluZXItcW03Umc1TUIiLHdpdGhDYW5jZWw6IndpdGhDYW5jZWwtcW03Umc1TUIiLGlucHV0OiJpbnB1dC1xbTdSZzVNQiIsaWNvbjoiaWNvbi1xbTdSZzVNQiIsY2FuY2VsOiJjYW5jZWwtcW03Umc1TUIifX0sMzQzMDY2KGUpe2UuZXhwb3J0cz17Y29udGFpbmVyOiJjb250YWluZXItVHY3TFNqVXoiLG92ZXJsYXlTY3JvbGxXcmFwOiJvdmVybGF5U2Nyb2xsV3JhcC1UdjdMU2pVeiIsd3JhcHBlcjoid3JhcHBlci1UdjdMU2pVeiJ9fSw4NjkzMjAoZSl7ZS5leHBvcnRzPXtzZWFyY2g6InNlYXJjaC1sQU51YlNjMiIsaW5wdXRDb250YWluZXI6ImlucHV0Q29udGFpbmVyLWxBTnViU2MyIixzZWFyY2hJbnB1dEljb246InNlYXJjaElucHV0SWNvbi1sQU51YlNjMiIsYWN0aW9uczoiYWN0aW9ucy1sQU51YlNjMiIsZGl2aWRlcjoiZGl2aWRlci1sQU51YlNjMiJ9fSwyNDQ4MjAoZSl7ZS5leHBvcnRzPXtsb2dvOiJsb2dvLWQwdlZtR3ZUIn19LDQyMTY1MChlKXtlLmV4cG9ydHM9e2ljb246Imljb24tT0pwa19DQVEifX0sNTIwOTc3KGUpe2UuZXhwb3J0cz17cGxhY2VIb2xkZXI6InBsYWNlSG9sZGVyLXlsd2FlX0d0IixoaWRkZW46ImhpZGRlbi15bHdhZV9HdCJ9fSw0MzUxMDEoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLUs0dTROZzNaIix0aXRsZToidGl0bGUtSzR1NE5nM1oiLGFkZGl0aW9uYWxCdXR0b246ImFkZGl0aW9uYWxCdXR0b24tSzR1NE5nM1oiLGJ1dHRvbnM6ImJ1dHRvbnMtSzR1NE5nM1oiLHRleHQ6InRleHQtSzR1NE5nM1oiLGJ1dHRvbjoiYnV0dG9uLUs0dTROZzNaIn19LDE5ODIwOShlKXtlLmV4cG9ydHM9eyJpY29uLXdyYXBwZXIiOiJpY29uLXdyYXBwZXItZGlrZGV3d3giLCJ3aXRoLWxpbmsiOiJ3aXRoLWxpbmstZGlrZGV3d3giLCJ3aXRoLXRvb2x0aXAiOiJ3aXRoLXRvb2x0aXAtZGlrZGV3d3giLCJuby1hY3RpdmUtc3RhdGUiOiJuby1hY3RpdmUtc3RhdGUtZGlrZGV3d3gifX0sODA2MDc4KGUpe2UuZXhwb3J0cz17c2VwYXJhdG9yOiJzZXBhcmF0b3ItUGY0ckl6RXQifX0sNzk3MzU3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0VtcHR5U3RhdGVCbG9ja1RpdGxlOigpPT5zfSk7dmFyIHI9big5MTQ0ODcpLG89bi5uKHIpLGw9big3Nzk0NzQpLGE9bigzNTM3NDcpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7dGl0bGU6dCx0YWdOYW1lOm4sdGl0bGVTaXplOnIsY2xhc3NOYW1lOnN9PWUsaT1ufHwic3Ryb25nIjtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KGkse2NsYXNzTmFtZTpvKCkoYS50aXRsZSxhW2B0aXRsZV8ke3J9YF0scyl9LHQpfX0sNzY1OTE0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0VtcHR5U3RhdGVCbG9jazooKT0+aX0pCjt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksbD1uLm4obyksYT1uKDc5NzM1Nykscz1uKDM1Mzc0Nyk7Y29uc3QgaT0oMCxyLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkocy5jb250YWluZXIsZS5jbGFzc05hbWUpLHJlZjp0LCJkYXRhLXFhLWlkIjplLmRhdGFRYUlkfSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkocy5pY29uLGUuaWNvbkNsYXNzKX0sZS5pY29uKSxlLnRpdGxlJiZyLmNyZWF0ZUVsZW1lbnQoYS5FbXB0eVN0YXRlQmxvY2tUaXRsZSx7dGl0bGU6ZS50aXRsZSx0aXRsZVNpemU6ZS50aXRsZVNpemUsdGFnTmFtZTplLnRpdGxlVGFnTmFtZSxjbGFzc05hbWU6ZS50aXRsZUNsYXNzfSksZS50ZXh0JiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkocy50ZXh0LCJub3JtYWwiPT09ZS50ZXh0U2l6ZSYmcy50ZXh0X25vcm1hbCxlLnRleHRDbGFzcyl9LGUudGV4dCksZS5hY3Rpb24mJnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShzLmFjdGlvbixlLmFjdGlvbkNsYXNzKX0sZS5hY3Rpb24pKX0pKX0sMjAxNDQ0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2NyZWF0ZVJlZ0V4cExpc3Q6KCk9PnMsZ2V0SGlnaGxpZ2h0ZWRDaGFyczooKT0+aSxyYW5rZWRTZWFyY2g6KCk9PmF9KTt2YXIgcixvPW4oNjAxODQxKSxsPW4oODM4OTAyKTtmdW5jdGlvbiBhKGUpe2NvbnN0e2RhdGE6dCxydWxlczpuLHF1ZXJ5U3RyaW5nOnIsaXNQcmV2ZW50ZWRGcm9tRmlsdGVyaW5nOmwscHJpbWFyeUtleTphLHNlY29uZGFyeUtleTpzPWEsb3B0aW9uYWxQcmltYXJ5S2V5OmksdGVydGlhcnlLZXk6Y309ZTtyZXR1cm4gdC5tYXAoKGU9Pntjb25zdCB0PWkmJmVbaV0/ZVtpXTplW2FdLGw9ZVtzXSx1PWMmJmVbY107bGV0IGQsbT0wO3JldHVybiBuLmZvckVhY2goKGU9Pntjb25zdHtyZTpuLGZ1bGxNYXRjaDphfT1lO2lmKG4ubGFzdEluZGV4PTAsKDAsby5pc1N0cmluZykodCkmJnQmJnQudG9Mb3dlckNhc2UoKT09PXIudG9Mb3dlckNhc2UoKSlyZXR1cm4gbT00LHZvaWQoZD10Lm1hdGNoKGEpPy5pbmRleCk7aWYoKDAsby5pc1N0cmluZykodCkmJmEudGVzdCh0KSlyZXR1cm4gbT0zLHZvaWQoZD10Lm1hdGNoKGEpPy5pbmRleCk7aWYoKDAsby5pc1N0cmluZykobCkmJmEudGVzdChsKSlyZXR1cm4gbT0yLHZvaWQoZD1sLm1hdGNoKGEpPy5pbmRleCk7aWYoKDAsby5pc1N0cmluZykobCkmJm4udGVzdChsKSlyZXR1cm4gbT0yLHZvaWQoZD1sLm1hdGNoKG4pPy5pbmRleCk7aWYoQXJyYXkuaXNBcnJheSh1KSlmb3IoY29uc3QgZSBvZiB1KWlmKGEudGVzdChlKSlyZXR1cm4gbT0xLHZvaWQoZD1lLm1hdGNoKGEpPy5pbmRleCl9KSkse21hdGNoUHJpb3JpdHk6bSxtYXRjaEluZGV4OmQsaXRlbTplfX0pKS5maWx0ZXIoKGU9Pmx8fGUubWF0Y2hQcmlvcml0eSkpLnNvcnQoKChlLHQpPT57aWYoZS5tYXRjaFByaW9yaXR5PHQubWF0Y2hQcmlvcml0eSlyZXR1cm4gMTtpZihlLm1hdGNoUHJpb3JpdHk+dC5tYXRjaFByaW9yaXR5KXJldHVybi0xO2lmKGUubWF0Y2hQcmlvcml0eT09PXQubWF0Y2hQcmlvcml0eSl7aWYodm9pZCAwPT09ZS5tYXRjaEluZGV4fHx2b2lkIDA9PT10Lm1hdGNoSW5kZXgpcmV0dXJuIDA7aWYoZS5tYXRjaEluZGV4PnQubWF0Y2hJbmRleClyZXR1cm4gMTtpZihlLm1hdGNoSW5kZXg8dC5tYXRjaEluZGV4KXJldHVybi0xfXJldHVybiAwfSkpLm1hcCgoKHtpdGVtOmV9KT0+ZSkpfWZ1bmN0aW9uIHMoZSx0KXtjb25zdCBuPVtdLHI9ZS50b0xvd2VyQ2FzZSgpLG89ZS5zcGxpdCgiIikubWFwKCgoZSx0KT0+YCgkezAhPT10P2BbL1xccy1dJHsoMCxsLnJlZ2V4cEVzY2FwZSkoZSl9YDooMCxsLnJlZ2V4cEVzY2FwZSkoZSl9KWApKS5qb2luKCIoLio/KSIpKyIoLiopIjtyZXR1cm4gbi5wdXNoKHtmdWxsTWF0Y2g6bmV3IFJlZ0V4cChgKCR7KDAsbC5yZWdleHBFc2NhcGUpKGUpfSlgLCJpIikscmU6bmV3IFJlZ0V4cChgXiR7b31gLCJpIikscmVzZXJ2ZVJlOm5ldyBSZWdFeHAobywiaSIpLGZ1enp5SGlnaGxpZ2h0OiEwfSksdCYmdC5oYXNPd25Qcm9wZXJ0eShyKSYmbi5wdXNoKHtmdWxsTWF0Y2g6dFtyXSxyZTp0W3JdLGZ1enp5SGlnaGxpZ2h0OiExfSksbn1mdW5jdGlvbiBpKGUsdCxuKXtjb25zdCByPVtdO3JldHVybiBlJiZuPyhuLmZvckVhY2goKGU9Pntjb25zdHtmdWxsTWF0Y2g6bixyZTpvLHJlc2VydmVSZTpsfT1lO24ubGFzdEluZGV4PTAsby5sYXN0SW5kZXg9MDtjb25zdCBhPW4uZXhlYyh0KSxzPWF8fG8uZXhlYyh0KXx8bCYmbC5leGVjKHQpO2lmKGUuZnV6enlIaWdobGlnaHQ9IWEscylpZihlLmZ1enp5SGlnaGxpZ2h0KXtsZXQgZT1zLmluZGV4O2ZvcihsZXQgdD0xO3Q8cy5sZW5ndGg7dCsrKXtjb25zdCBuPXNbdF0sbz1zW3RdLmxlbmd0aDtpZih0JTIpe2NvbnN0IHQ9bi5zdGFydHNXaXRoKCIgIil8fG4uc3RhcnRzV2l0aCgiLyIpfHxuLnN0YXJ0c1dpdGgoIi0iKTtyW3Q/ZSsxOmVdPSEwfWUrPW99fWVsc2UgZm9yKGxldCBlPTA7ZTxzWzBdLmxlbmd0aDtlKyspcltzLmluZGV4K2VdPSEwfSkpLHIpOnJ9IWZ1bmN0aW9uKGUpe2VbZS5Mb3c9MF09IkxvdyIsZVtlLk1lZGl1bUxvdz0xXT0iTWVkaXVtTG93IixlW2UuTWVkaXVtPTJdPSJNZWRpdW0iLGVbZS5IaWdoPTNdPSJIaWdoIixlW2UuSGlnaGVzdD00XT0iSGlnaGVzdCJ9KHJ8fChyPXt9KSl9LDk0OTM3NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtIaWdobGlnaHRlZFRleHQ6KCk9Pml9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksbD1uLm4obyksYT1uKDIwMTQ0NCkscz1uKDUzNjIxOSk7ZnVuY3Rpb24gaShlKXtjb25zdHtxdWVyeVN0cmluZzp0LHJ1bGVzOm4sdGV4dDpvLGNsYXNzTmFtZTppfT1lLGM9KDAsci51c2VNZW1vKSgoKCk9PigwLGEuZ2V0SGlnaGxpZ2h0ZWRDaGFycykodCxvLG4pKSxbdCxuLG9dKQo7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChyLkZyYWdtZW50LG51bGwsYy5sZW5ndGg/by5zcGxpdCgiIikubWFwKCgoZSx0KT0+ci5jcmVhdGVFbGVtZW50KHIuRnJhZ21lbnQse2tleTp0fSxjW3RdP3IuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpsKCkocy5oaWdobGlnaHRlZCxpKX0sZSk6ci5jcmVhdGVFbGVtZW50KCJzcGFuIixudWxsLGUpKSkpOm8pfX0sNzM0NjQxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse01hdGNoTWVkaWFNYXA6KCk9PmF9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDYzMjIyMCksbD1uLm4obyk7Y2xhc3MgYSBleHRlbmRzIHIuQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX2hhbmRsZU1lZGlhQ2hhbmdlPSgpPT57Y29uc3QgZT1pKHRoaXMuc3RhdGUucXVlcmllcywoKGUsdCk9PnQubWF0Y2hlcykpO2xldCB0PSExO2Zvcihjb25zdCBuIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShuKSYmdGhpcy5zdGF0ZS5tYXRjaGVzW25dIT09ZVtuXSl7dD0hMDticmVha310JiZ0aGlzLnNldFN0YXRlKHttYXRjaGVzOmV9KX07Y29uc3R7cnVsZXM6dH09dGhpcy5wcm9wczt0aGlzLnN0YXRlPXModCl9c2hvdWxkQ29tcG9uZW50VXBkYXRlKGUsdCl7cmV0dXJuIWwoKShlLHRoaXMucHJvcHMpfHwoIWwoKSh0LnJ1bGVzLHRoaXMuc3RhdGUucnVsZXMpfHwhbCgpKHQubWF0Y2hlcyx0aGlzLnN0YXRlLm1hdGNoZXMpKX1jb21wb25lbnREaWRNb3VudCgpe3RoaXMuX21pZ3JhdGUobnVsbCx0aGlzLnN0YXRlLnF1ZXJpZXMpfWNvbXBvbmVudERpZFVwZGF0ZShlLHQpe2woKShlLnJ1bGVzLHRoaXMucHJvcHMucnVsZXMpfHx0aGlzLl9taWdyYXRlKHQucXVlcmllcyx0aGlzLnN0YXRlLnF1ZXJpZXMpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fbWlncmF0ZSh0aGlzLnN0YXRlLnF1ZXJpZXMsbnVsbCl9cmVuZGVyKCl7cmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW4odGhpcy5zdGF0ZS5tYXRjaGVzKX1zdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKGUsdCl7aWYobCgpKGUucnVsZXMsdC5ydWxlcykpcmV0dXJuIG51bGw7Y29uc3R7cnVsZXM6bn09ZTtyZXR1cm4gcyhuKX1fbWlncmF0ZShlLHQpe251bGwhPT1lJiZpKGUsKChlLHQpPT57dC5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHRoaXMuX2hhbmRsZU1lZGlhQ2hhbmdlKX0pKSxudWxsIT09dCYmaSh0LCgoZSx0KT0+e3QuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLl9oYW5kbGVNZWRpYUNoYW5nZSl9KSl9fWZ1bmN0aW9uIHMoZSl7Y29uc3QgdD1pKGUsKChlLHQpPT53aW5kb3cubWF0Y2hNZWRpYSh0KSkpO3JldHVybntxdWVyaWVzOnQsbWF0Y2hlczppKHQsKChlLHQpPT50Lm1hdGNoZXMpKSxydWxlczp7Li4uZX19fWZ1bmN0aW9uIGkoZSx0KXtjb25zdCBuPXt9O2Zvcihjb25zdCByIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShyKSYmKG5bcl09dChyLGVbcl0pKTtyZXR1cm4gbn19LDM0NDg3MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtSb3VuZEJ1dHRvblRhYnM6KCk9Pmx9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDUwOTQ4OSk7ZnVuY3Rpb24gbChlKXtjb25zdHsiZGF0YS1uYW1lIjp0PSJyb3VuZC10YWJzLWJ1dHRvbnMiLC4uLm59PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChvLlJvdW5kQnV0dG9uVGFic0ltcGwsey4uLm4sImRhdGEtbmFtZSI6dH0pfX0sOTcxNTEyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2NvbnRhaW5UYWJOYXZpZ2F0aW9uOigpPT5vfSk7dmFyIHI9bigyMzU3MjQpO2Z1bmN0aW9uIG8oZSl7Wzksci5Nb2RpZmllcnMuU2hpZnQrOV0uaW5jbHVkZXMoKDAsci5oYXNoRnJvbUV2ZW50KShlKSkmJmUuc3RvcFByb3BhZ2F0aW9uKCl9fSwyNzM2ODQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7QmFja0J1dHRvbjooKT0+aX0pO3ZhciByLG89big3Nzk0NzQpLGw9big4ODA4ODYpLGE9big1OTQyMzApLHM9bi5uKGEpOyFmdW5jdGlvbihlKXtlLlRoaW49IjEuMiIsZS5NZWRpdW09IjEuNSJ9KHJ8fChyPXt9KSk7Y29uc3QgaT1vLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7YXJpYUxhYmVsOm4sZmxpcEljb25PblJ0bDpyLGljb25TdHJva2VXaWR0aDphLC4uLml9PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChsLk5hdkJ1dHRvbix7Li4uaSxhcmlhTGFiZWw6bixyZWY6dCxpY29uOnMoKSxmbGlwSWNvbk9uUnRsOnJ9KX0pKX0sMzEyOTMyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0Nsb3NlQnV0dG9uOigpPT5zfSk7dmFyIHI9big3Nzk0NzQpLG89big4ODA4ODYpLGw9big5MTUwOTApLGE9bi5uKGwpO2NvbnN0IHM9ci5mb3J3YXJkUmVmKCgoZSx0KT0+ci5jcmVhdGVFbGVtZW50KG8uTmF2QnV0dG9uLHsuLi5lLHJlZjp0LGljb246YSgpfSkpKX0sMjY0MzE4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NsaWNrYWJsZUljb25CdXR0b246KCk9PmR9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksbD1uLm4obyksYT1uKDMzMjY4Nykscz1uKDIxNzI3NCksaT1uKDM0NTExNiksYz1uKDk5Mzk5NSksdT1uLm4oYyk7Y29uc3QgZD0oMCxyLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0IG49KDAsci51c2VDb250ZXh0KShhLkljb25CdXR0b25WYXJpYW50Q29udGV4dCkudmFyaWFudCx7dGl0bGU6byxvbkNsaWNrOmMsY29sb3JDbGFzc05hbWU6ZCxpY29uOm0sdmFyaWFudDpwPW4/P2EuREVGQVVMVF9JQ09OX0JVVFRPTl9WQVJJQU5ULHNoYXBlOmg9InNxdWFyZSIsdGFiSW5kZXg6Zixyb2xlOlMsZGF0YVFhSWQ6ZywuLi55fT1lLGI9KDAsaS5maWx0ZXJDaGVja2VkRGF0YVByb3BzKSh5LGcpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse3JlZjp0LHRpdGxlOm8sdHlwZToiYnV0dG9uIixyb2xlOlMsImFyaWEtbGFiZWwiOm8sb25DbGljazpjLHRhYkluZGV4OmYsY2xhc3NOYW1lOmwoKSh1KCkuaWNvbkJ1dHRvbix1KClbcF0sdSgpW2hdLGQsImFwcGx5LWNvbW1vbi10b29sdGlwIiksLi4uYn0sci5jcmVhdGVFbGVtZW50KHMuQmxvY2tJY29uLHtpY29uOm0sY2xhc3NOYW1lOnUoKS5pY29uLAoiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pKX0pKX0sMzEyMjk1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0ljb25CdXR0b246KCk9PmF9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDI2NDMxOCksbD1uKDcyOTI1MCk7Y29uc3QgYT0oMCxyLmZvcndhcmRSZWYpKCgoZSx0KT0+Im9uQ2xpY2siaW4gZT9yLmNyZWF0ZUVsZW1lbnQoby5DbGlja2FibGVJY29uQnV0dG9uLHsuLi5lLHJlZjp0fSk6ci5jcmVhdGVFbGVtZW50KGwuVG9nZ2xlYWJsZUljb25CdXR0b24sey4uLmUscmVmOnR9KSkpfSw3MjkyNTAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VG9nZ2xlYWJsZUljb25CdXR0b246KCk9PmF9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDI2NDMxOCksbD1uKDM0NTExNik7Y29uc3QgYT0oMCxyLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e29uVG9nZ2xlOm4saXNUb2dnbGVkOmEsdG9nZ2xlZFRpdGxlOnMsdG9nZ2xlZEljb246aSx0b2dnbGVkQ29sb3JDbGFzc05hbWU6Yyx1bnRvZ2dsZWRUaXRsZTp1LHVudG9nZ2xlZEljb246ZCx1bnRvZ2dsZWRDb2xvckNsYXNzTmFtZTptLHZhcmlhbnQ6cCxzaGFwZTpoLGRhdGFRYUlkOmYsdGFiSW5kZXg6Uyxyb2xlOmcsLi4ueX09ZSxiPSgwLGwuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoeSk7bGV0IHYsXyxFO3JldHVybiBhPyhFPXMsdj1pLF89Yyk6KEU9dSx2PWQsXz1tKSxyLmNyZWF0ZUVsZW1lbnQoby5DbGlja2FibGVJY29uQnV0dG9uLHt0aXRsZTpFLGljb246dixvbkNsaWNrOigpPT5uKCFhKSxjb2xvckNsYXNzTmFtZTpfLHZhcmlhbnQ6cCxzaGFwZTpoLHJlZjp0LGRhdGFRYUlkOmYsdGFiSW5kZXg6Uyxyb2xlOmcsLi4uYn0pfSkpfSw5ODY2MDkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TmF2QnV0dG9uQ29udGVudDooKT0+ZCxnZXROYXZCdXR0b25DbGFzc2VzOigpPT51fSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big0ODA5NzIpLHM9big0MDIyNTMpLGk9bi5uKHMpO2NvbnN0IGM9eyItLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ibGVuZE1peExpZ2h0IjoiY29sb3ItYnVybiIsIi0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWJsZW5kTWl4RGFyayI6ImNvbG9yLWRvZGdlIn07ZnVuY3Rpb24gdShlKXtjb25zdHtzaXplOnQ9ImxhcmdlIixwcmVzZXJ2ZVBhZGRpbmdzOm4saXNMaW5rOnIsZmxpcEljb25PblJ0bDpvLGJsZW5kTW9kZTphLGNsYXNzTmFtZTpzfT1lO3JldHVybiBsKCkoaSgpLm5hdkJ1dHRvbixpKClbdF0sbiYmaSgpLnByZXNlcnZlUGFkZGluZ3MsbyYmaSgpLmZsaXBJY29uLGEmJmkoKS5ibGVuZE1vZGUsciYmaSgpLmxpbmsscyl9ZnVuY3Rpb24gZChlKXtjb25zdHtjaGlsZHJlbjp0LGljb246bixibGVuZE1vZGU6b309ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KHIuRnJhZ21lbnQsbnVsbCxyLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6aSgpLmJhY2tncm91bmQsc3R5bGU6bz9jOnZvaWQgMH0pLHIuY3JlYXRlRWxlbWVudChhLlNjYWxhYmxlSWNvbix7aWNvbjpuLGNsYXNzTmFtZTppKCkuaWNvbn0pLHQmJnIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTppKCkudmlzdWFsbHlIaWRkZW59LHQpKX19LDg4MDg4NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtOYXZCdXR0b246KCk9Pmx9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDk4NjYwOSk7Y29uc3QgbD0oMCxyLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2ljb246bix0eXBlOmw9ImJ1dHRvbiIscHJlc2VydmVQYWRkaW5nczphLGZsaXBJY29uT25SdGw6cyxzaXplOmksYmxlbmRNb2RlOmMsYXJpYUxhYmVsOnUsLi4uZH09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJidXR0b24iLHsuLi5kLGNsYXNzTmFtZTooMCxvLmdldE5hdkJ1dHRvbkNsYXNzZXMpKHsuLi5lLGNoaWxkcmVuOnV9KSxyZWY6dCx0eXBlOmx9LHIuY3JlYXRlRWxlbWVudChvLk5hdkJ1dHRvbkNvbnRlbnQse2ljb246bixibGVuZE1vZGU6Y30sdSkpfSkpO2wuZGlzcGxheU5hbWU9Ik5hdkJ1dHRvbiJ9LDcxOTQyNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VSZXNpemVPYnNlcnZlcjooKT0+YX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oNjE2MzExKSxsPW4oNzg3ODk1KTtmdW5jdGlvbiBhKGUsdD1bXSl7Y29uc3R7Y2FsbGJhY2s6bixyZWY6YT1udWxsfT1mdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZT97Y2FsbGJhY2s6ZX06ZX0oZSkscz0oMCxyLnVzZVJlZikobnVsbCksaT0oMCxyLnVzZVJlZikobik7aS5jdXJyZW50PW47Y29uc3QgYz0oMCxsLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKGEpLHU9KDAsci51c2VDYWxsYmFjaykoKGU9PntjKGUpLG51bGwhPT1zLmN1cnJlbnQmJihzLmN1cnJlbnQuZGlzY29ubmVjdCgpLG51bGwhPT1lJiZzLmN1cnJlbnQub2JzZXJ2ZShlKSl9KSxbYyxzXSk7cmV0dXJuKDAsby51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9PihzLmN1cnJlbnQ9bmV3IFJlc2l6ZU9ic2VydmVyKCgoZSx0KT0+e2kuY3VycmVudChlLHQpfSkpLGMuY3VycmVudCYmdShjLmN1cnJlbnQpLCgpPT57cy5jdXJyZW50Py5kaXNjb25uZWN0KCl9KSksW2MsLi4udF0pLHV9fSw0ODA5NzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2NhbGFibGVJY29uOigpPT5jfSk7dmFyIHI9big5MTQ0ODcpLG89bi5uKHIpLGw9big3Nzk0NzQpLGE9big5NDg0NTApLHM9bigyMDMyNzMpLGk9bi5uKHMpO2NvbnN0IGM9bC5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTpuLC4uLnJ9PWU7cmV0dXJuIGwuY3JlYXRlRWxlbWVudChhLkNvbW1vbkljb24sey4uLnIsY2xhc3NOYW1lOm8oKShuLGkoKS5zY2FsYWJsZUljb24pLHJlZjp0fSl9KSl9LDEyNDYyNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VNZW51QW5jaG9yUHJvcHM6KCk9PmF9KTt2YXIgcj1uKDczMzYxNyksbz1uKDc4Mjk1NSksbD1uKDM5MTE1Mik7ZnVuY3Rpb24gYShlKXtyZXR1cm4gZnVuY3Rpb24oZSl7CmNvbnN0e2lzT3Blbjp0LG9uQ2xvc2U6bixjb250ZW50SWQ6YSxhbmNob3JCdXR0b25SZWY6cyxhbmNob3JJZDppLGhhbmRsZUFuY2hvckNsaWNrOmMsaGFuZGxlQW5jaG9yS2V5RG93bjp1fT0oMCxyLnVzZURlZmF1bHRCdXR0b25BbmNob3JQcm9wcykoe2FuY2hvcklkOmUuYW5jaG9ySWQsb3Blbk9uRW50ZXI6ZS5vcGVuT25FbnRlcn0pO3JldHVybntpc09wZW46dCxhbmNob3JQcm9wczp7aWQ6aSxyb2xlOiJidXR0b24iLG9uQ2xpY2s6YyxvbktleURvd246dSwuLi4oMCxsLmNyZWF0ZVJlZlByb3ApKGUucmVmU3R5bGUscyksLi4uKDAsby5jcmVhdGVBcmlhQXR0cmlidXRlc1Byb3BzKShlLmFyaWFTdHlsZSx7ZXhwYW5kZWQ6dCxjb250cm9sczphLGhhc3BvcHVwOiJtZW51In0pfSxwb3BvdmVyUHJvcHM6e2lzT3Blbjp0LGFuY2hvcklkOmksYW5jaG9yQnV0dG9uUmVmOnMsY29udGVudElkOmEsb25DbG9zZTpufX19KHtvcGVuT25FbnRlcjplPy5vcGVuT25FbnRlcixyZWZTdHlsZTplPy5yZWZTdHlsZT8/InJlZmVyZW5jZSIsYXJpYVN0eWxlOmU/LmFyaWFTdHlsZT8/ImtlYmFiLWNhc2UiLGFuY2hvcklkOmU/LmFuY2hvcklkfSl9fSw3MjQ0NDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2tlbGV0b25DaXJjbGU6KCk9PmN9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksbD1uLm4obyksYT1uKDQxMzY5MSkscz1uLm4oYSk7Y29uc3QgaT0yNDtmdW5jdGlvbiBjKGUpe2NvbnN0e2NsYXNzTmFtZTp0LHN0eWxlOm4sc2l6ZTpvPWl9PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShzKCkud3JhcHBlcix0KSxzdHlsZTp7aGVpZ2h0Om8sd2lkdGg6bywuLi5ufX0pfX0sMjMyNzk4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NrZWxldG9uQ29udGFpbmVyOigpPT5pfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big3NTIyOTUpLHM9bi5uKGEpO2Z1bmN0aW9uIGkoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsc3R5bGU6bixjaGlsZHJlbjpvfT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkocygpLndyYXBwZXIsdCksc3R5bGU6bn0sbyl9fSw0OTczMTAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2tlbGV0b25SZWN0YW5nbGU6KCk9Pml9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksbD1uLm4obyksYT1uKDQ2MTUxNSkscz1uLm4oYSk7ZnVuY3Rpb24gaShlKXtjb25zdHtjbGFzc05hbWU6dCxzdHlsZTpuLHdpZHRoOm8saGVpZ2h0OmF9PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShzKCkud3JhcHBlcix0KSxzdHlsZTp7d2lkdGg6byxoZWlnaHQ6YSwuLi5ufX0pfX0sNTE5MDk0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NrZWxldG9uU3F1YXJlOigpPT5jfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9bigzMzA2NzEpLHM9bi5uKGEpO2NvbnN0IGk9NDI7ZnVuY3Rpb24gYyhlKXtjb25zdHtjbGFzc05hbWU6dCxzdHlsZTpuLHNpemU6bz1pfT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkocygpLndyYXBwZXIsdCksc3R5bGU6e3dpZHRoOm8saGVpZ2h0Om8sLi4ubn19KX19LDQwMTg2MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTa2VsZXRvbjooKT0+bX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxsPW4ubihvKSxhPW4oMjMyNzk4KSxzPW4oNzI0NDQyKSxpPW4oNTE5MDk0KSxjPW4oNDk3MzEwKSx1PW4oOTc1Mjg1KSxkPW4ubih1KTtjbGFzcyBtIGV4dGVuZHMgci5QdXJlQ29tcG9uZW50e3JlbmRlcigpe2NvbnN0e2NoaWxkcmVuOmUsY2xhc3NOYW1lOnQsYW5pbWF0ZWQ6bj0hMCxpbnB1dFJlZjpvfT10aGlzLnByb3BzO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpvLGNsYXNzTmFtZTpsKCkoZCgpLndyYXBwZXIsbiYmZCgpLmFuaW1hdGVkLHQpfSxlKX19bS5Db250YWluZXI9YS5Ta2VsZXRvbkNvbnRhaW5lcixtLkNpcmNsZT1zLlNrZWxldG9uQ2lyY2xlLG0uU3F1YXJlPWkuU2tlbGV0b25TcXVhcmUsbS5SZWN0YW5nbGU9Yy5Ta2VsZXRvblJlY3RhbmdsZX0sOTA2MTM0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Rvb2x0aXA6KCk9PmMsVHJpZ2dlcjooKT0+cn0pO3ZhciByLG89big3Nzk0NzQpLGw9bigxNTM3MjgpLGE9big5NjQ1OTQpLHM9big1MjUyNCksaT1uKDE1MzE1NCk7ZnVuY3Rpb24gYyh7Y2hpbGRyZW46ZSxpZDp0LHRyaWdnZXI6bj1yLkhvdmVyLGRlbGF5OmM9WzUwMCwwXSxjb250ZW50OnUsaXNSdGw6ZD0hMSxlbmRTbG90Om0scGxhY2VtZW50OnAsaGFzQXJyb3c6aD0hMCxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpmLG9mZnNldDpTLGRpc2FibGVJbnRlcmFjdGl2ZTpnfSl7Y29uc3QgeT0oMCxvLnVzZUlkKSgpLGI9QXJyYXkuaXNBcnJheShuKT9uOltuXSxbdixfXT1BcnJheS5pc0FycmF5KGMpP2M6W2MsY10se3Zpc2libGU6RSxvcGVuOkMsY2xvc2U6VCx0b2dnbGU6eH09KDAsbC51c2VUb29sdGlwU3RhdGUpKHtvcGVuRGVsYXk6dixjbG9zZURlbGF5Ol99KSxJPSgwLG8udXNlUmVmKShudWxsKSx3PW8uQ2hpbGRyZW4ub25seShlKSxOPWIucmVkdWNlKCgoZSx0KT0+e3N3aXRjaCh0KXtjYXNlIHIuQ2xpY2s6ZS5vbkNsaWNrPSgwLHMuZm9ya0ZuKSh3LnByb3BzLm9uQ2xpY2sseCk7YnJlYWs7Y2FzZSByLkZvY3VzOmUub25Gb2N1cz0oMCxzLmZvcmtGbikody5wcm9wcy5vbkZvY3VzLChlPT57ZS5jdXJyZW50VGFyZ2V0Lm1hdGNoZXMoIjpmb2N1cy12aXNpYmxlIikmJkMoKX0pKSxlLm9uQmx1cj0oMCxzLmZvcmtGbikody5wcm9wcy5vbkJsdXIsKGU9PntlLmN1cnJlbnRUYXJnZXQubWF0Y2hlcygiOmhvdmVyIil8fFQoKX0pKTticmVhaztjYXNlIHIuSG92ZXI6ZS5vbk1vdXNlRW50ZXI9KDAscy5mb3JrRm4pKHcucHJvcHMub25Nb3VzZUVudGVyLEMpLGUub25Nb3VzZUxlYXZlPSgwLHMuZm9ya0ZuKSh3LnByb3BzLm9uTW91c2VMZWF2ZSwoZT0+ewpJLmN1cnJlbnQ/LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpJiZlLmN1cnJlbnRUYXJnZXQubWF0Y2hlcygiOmZvY3VzLXZpc2libGUiKXx8VCgpfSkpfXJldHVybiBlfSkse30pLFI9InN0cmluZyI9PXR5cGVvZiB3LnR5cGU/InJlZiI6InJlZmVyZW5jZSIsQT0icmVmImluIHcmJm51bGwhPXcucmVmP3cucmVmOncucHJvcHNbUl0sTD0oMCxhLm1lcmdlUmVmcykoW0EsSV0pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLCgwLG8uY2xvbmVFbGVtZW50KSh3LHsuLi5OLFtSXTpMLCJhcmlhLWRlc2NyaWJlZGJ5Ijp0fSksby5jcmVhdGVFbGVtZW50KGkuVG9vbHRpcFN0YXRlbGVzcyx7aWQ6dHx8eSxwbGFjZW1lbnQ6cCxjb250ZW50OnUsZW5kU2xvdDptLG9wZW46RSYmISF1LGFuY2hvcjpJLG9uQ2xvc2U6VCxpc1J0bDpkLGhhc0Fycm93OmgsY2xvc2VPblNjcm9sbE91dHNpZGU6ZixvZmZzZXQ6UyxkaXNhYmxlSW50ZXJhY3RpdmU6Z30pKX0hZnVuY3Rpb24oZSl7ZS5Ib3Zlcj0iaG92ZXIiLGUuQ2xpY2s9ImNsaWNrIixlLkZvY3VzPSJmb2N1cyJ9KHJ8fChyPXt9KSl9LDcyNjYwMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt0cmllc1RyYW5zbGF0ZU1hcmtldFR5cGU6KCk9Pm99KTt2YXIgcj1uKDE4NTI3MSk7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbC5nZXQoZSk/LigpfHxlfWNvbnN0IGw9bmV3IE1hcChbWyJjZmQiLCgpPT5yLnQobnVsbCx2b2lkIDAsbigyMDgwMTcpKV0sWyJkciIsKCk9PnIudChudWxsLHZvaWQgMCxuKDk3NDI2NCkpXSxbImluZGV4IiwoKT0+ci50KG51bGwsdm9pZCAwLG4oNjU4OTI2KSldLFsiZm9yZXgiLCgpPT5yLnQobnVsbCx2b2lkIDAsbig4NzM1OTcpKV0sWyJyaWdodCIsKCk9PnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfdHlwZSJ9LG4oMjg3MDM4KSldLFsiYm9uZCIsKCk9PnIudChudWxsLHZvaWQgMCxuKDkwOTA1NCkpXSxbImJpdGNvaW4iLCgpPT5yLnQobnVsbCx2b2lkIDAsbig5OTEwNTkpKV0sWyJjcnlwdG8iLCgpPT5yLnQobnVsbCx2b2lkIDAsbig5OTEwNTkpKV0sWyJlY29ub21pYyIsKCk9PnIudChudWxsLHZvaWQgMCxuKDk5Njg4MikpXSxbImluZGljZXMiLCgpPT5yLnQobnVsbCx2b2lkIDAsbigxNTE2MSkpXSxbImZ1dHVyZXMiLCgpPT5yLnQobnVsbCx2b2lkIDAsbig4MDY3MjcpKV0sWyJzdG9jayIsKCk9PnIudChudWxsLHZvaWQgMCxuKDM2NDYyNSkpXSxbImNvbW1vZGl0eSIsKCk9PnIudChudWxsLHZvaWQgMCxuKDc2MjkyMikpXV0pfSw0ODAyODQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7T3B0aW9uc1NvdXJjZVRyYWNrRXZlbnRQcm92aWRlcjooKT0+YSx1c2VPcHRpb25zU291cmNlVHJhY2tFdmVudDooKT0+bH0pO3ZhciByPW4oNzc5NDc0KTtjb25zdCBvPSgwLHIuY3JlYXRlQ29udGV4dCkobnVsbCk7ZnVuY3Rpb24gbCgpe2NvbnN0IGU9KDAsci51c2VDb250ZXh0KShvKTtpZihudWxsPT09ZSl0aHJvdyBuZXcgRXJyb3IoIk9wdGlvbnNTb3VyY2VUcmFja0V2ZW50Q29udGV4dCBpcyBub3QgaW5pdGlhbGl6ZWQuIEFsbCBvcHRpb25zIGZlYXR1cmVzIG11c3QgaGF2ZSBhIHNvdXJjZSB0byB0cmFjayBldmVudHMuIE1ha2Ugc3VyZSB0byB3cmFwIHlvdXIgY29tcG9uZW50cyBpbiA8T3B0aW9uc1NvdXJjZVRyYWNrRXZlbnRQcm92aWRlcj4gcHJvdmlkZXIuIik7cmV0dXJuIGV9ZnVuY3Rpb24gYShlKXtjb25zdHtjaGlsZHJlbjp0LHNvdXJjZTpufT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoby5Qcm92aWRlcix7dmFsdWU6bn0sdCl9fSw3Nzc2ODAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlR2V0U2VyaWVzOigpPT5sfSk7dmFyIHI9big3Nzk0NzQpLG89bigzNjM5NTgpO2Z1bmN0aW9uIGwoZSl7cmV0dXJuKDAsci51c2VNZW1vKSgoKCk9PigwLG8uYnVpbGRTZXJpZXMpKGUpKSxbZV0pfX0sMjUyODY2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0VNUFRZX1ZBTFVFOigpPT5yfSk7Y29uc3Qgcj0i4oCUIn0sNTUxNTA1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2ZpbmRNYXhQcmVjaXNpb246KCk9PmksZmluZFByZWNpc2lvbkJ5TWF4VmFsdWU6KCk9PnMsZmluZFByZWNpc2lvbkJ5TWluVmFsdWU6KCk9PmEsZ2V0Um91bmROdW1iZXI6KCk9PnV9KTt2YXIgcj1uKDcxMjc0NSk7Y29uc3Qgbz1NYXRoLnBvdygxMCwtMTIpO2Z1bmN0aW9uIGwoZSx0LG4scj0yKXtsZXQgbD1lLGE9MDtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoO2UrKylNYXRoLmFicyhuW2VdKTxvfHwobD10KGwsTWF0aC5hYnMobltlXSkpLGE9TWF0aC5tYXgoYSxjKG5bZV0pLmxlbmd0aCkpO2lmKGw+PTEpcmV0dXJuIHI7Y29uc3Qgcz1jKGwpO2lmKGE9PT1zLmxlbmd0aCYmMT09PXMucmVwbGFjZSgvXjAqLywiIikubGVuZ3RoKXJldHVybiBzLmxlbmd0aDtmb3IobGV0IGU9MDtlPHMubGVuZ3RoO2UrKylpZigiMCIhPT1zW2VdKXJldHVybiBlK3I7cmV0dXJuIHJ9ZnVuY3Rpb24gYShlLHQ9Mil7cmV0dXJuIE1hdGgubWluKDEyLGwoMSxNYXRoLm1pbixlLHQpKX1mdW5jdGlvbiBzKGUsdD0yKXtyZXR1cm4gTWF0aC5taW4oMTIsbCgwLE1hdGgubWF4LGUsdCkpfWZ1bmN0aW9uIGkoZSl7bGV0IHQ9MDtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl7Y29uc3Qgcj1jKGVbbl0pO3Q9TWF0aC5tYXgodCxyLmxlbmd0aCl9cmV0dXJuIE1hdGgubWluKDEyLHQpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIG5ldyByLkJpZyhlKS50b0ZpeGVkKCkuc3BsaXQoIi4iKVsxXXx8IiJ9ZnVuY3Rpb24gdShlLHQpe2NvbnN0IG49TWF0aC5wb3coMTAsdCk7cmV0dXJuIE1hdGgucm91bmQoKGUrTnVtYmVyLkVQU0lMT04pKm4pL259fSwzNjM5NTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7YnVpbGRTZXJpZXM6KCk9Pm0sYnVpbGRTZXJpZXNQaWNrZXJHcm91cHM6KCk9PmMsZm9ybWF0RXhwaXJhdGlvbkRhdGU6KCk9PnMsZm9ybWF0RXhwaXJhdGlvbkRhdGVMb25nOigpPT5pLGdldERheXNVbnRpbEV4cGlyYXRpb246KCk9PmQsZ2V0U2VyaWVzU3RyaWtlczooKT0+aCxnZXRTZXJpZXNVbmRlcmx5aW5nczooKT0+cCwKaXNDb250aW51b3VzU2VyaWVzOigpPT5mfSk7dmFyIHI9big1ODMwMzgpLG89big0MDIzOSksbD1uKDE2ODgyNCksYT1uKDg5MzExNSk7ZnVuY3Rpb24gcyhlLHQ9KDAsYS5nZXRMb2NhbGVJc28pKCkpe3JldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh0LHt5ZWFyOiJudW1lcmljIixkYXk6Im51bWVyaWMiLG1vbnRoOiJzaG9ydCJ9KS5mb3JtYXQoZSl9ZnVuY3Rpb24gaShlLHQ9ImxvbmciLG49KDAsYS5nZXRMb2NhbGVJc28pKCkpe3JldHVybiBlLmdldEZ1bGxZZWFyKCk9PT0obmV3IERhdGUpLmdldEZ1bGxZZWFyKCk/bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobix7ZGF5OiJudW1lcmljIixtb250aDp0fSkuZm9ybWF0KGUpOm5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KG4se3llYXI6Im51bWVyaWMiLGRheToibnVtZXJpYyIsbW9udGg6dH0pLmZvcm1hdChlKX1mdW5jdGlvbiBjKGUpe2NvbnN0IHQ9W10sbj1mdW5jdGlvbihlPSgwLGEuZ2V0TG9jYWxlSXNvKSgpKXtjb25zdCB0PW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGUse2RheToibnVtZXJpYyJ9KTtyZXR1cm4gZT0+dC5mb3JtYXQoZSl9KCkscj1mdW5jdGlvbihlPSgwLGEuZ2V0TG9jYWxlSXNvKSgpKXtjb25zdCB0PW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGUse3llYXI6IjItZGlnaXQifSksbj1uZXcgSW50bC5EYXRlVGltZUZvcm1hdChlLHttb250aDoic2hvcnQifSk7cmV0dXJuKGUscj0hMSk9PnI/YCR7bi5mb3JtYXQoZSl9ICcke3QuZm9ybWF0KGUpfWA6bi5mb3JtYXQoZSl9KCk7Zm9yKGxldCBsPTA7bDxlLmxlbmd0aDtsKyspe2NvbnN0IGE9ZVtsXSxzPWVbbCsxXSxpPWVbbC0xXSxjPXRbdC5sZW5ndGgtMV0sdT1uKGEuZXhwRGF0ZSksZD0obz1hLmV4cERhdGUsbmV3IERhdGUoby5nZXRGdWxsWWVhcigpLG8uZ2V0TW9udGgoKSwxKSksbT1hLmV4cD09PXM/LmV4cHx8YS5leHA9PT1pPy5leHAscD0hIWkmJmkuZXhwRGF0ZS5nZXRGdWxsWWVhcigpIT09YS5leHBEYXRlLmdldEZ1bGxZZWFyKCksaD17dGl0bGU6bT9gJHt1fSAke2EuZmFtaWx5TmFtZX1gOnUsdmFsdWU6YS5pZCx0b29sdGlwOmEubGFiZWx9O2M/LmlkPT09ZC50b0lTT1N0cmluZygpP2MuaXRlbXMucHVzaChoKTp0LnB1c2goe2lkOmQudG9JU09TdHJpbmcoKSxpdGVtczpbaF0sdGl0bGU6cihkLHApLHN1Ymdyb3VwOnB9KX12YXIgbztyZXR1cm4gdH1mdW5jdGlvbiB1KGUsdCxuKXtjb25zdCBvPXMobiksbD1kKG4pLGE9KDAsci5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdLnJlcGxhY2UoLzIwKFxkXGQpLywiJDEiKTtyZXR1cm5gJHtvfSAoJHtsfSkgJHthPT09dD90OmAke2F9ICR7dH1gfWB9ZnVuY3Rpb24gZChlKXtyZXR1cm4gTWF0aC5tYXgoMCwoMCxvLmdldENhbGVuZGFyRGF5c0RpZmYpKGUsbmV3IERhdGUpKX1mdW5jdGlvbiBtKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IG4gb2YgZSlmb3IoY29uc3QgZSBvZiBuLnNlcmllcyl7Y29uc3Qgcj0oMCxsLmdldERhdGVGcm9tWVlZWU1NREQpKGUuZXhwKSxvPXsuLi5lLGV4cERhdGU6cixmYW1pbHlEZXNjcmlwdGlvbjpuLmRlc2NyaXB0aW9uLGZhbWlseU5hbWU6bi5uYW1lLGxhYmVsOnUoZS51bmRlcmx5aW5nLG4ubmFtZSxyKSxzaG9ydElkOmAke2UuZXhwfWB9O3QucHVzaChvKX1yZXR1cm4gdC5zb3J0KCgoZSx0KT0+ZS5leHAtdC5leHApKS5tYXAoKChlLHQsbik9Pih7Li4uZSxzaG9ydElkOmUuZXhwPT09blt0LTFdPy5leHB8fGUuZXhwPT09blt0KzFdPy5leHA/YCR7ZS5leHB9JHtlLnJvb3R9YDpgJHtlLmV4cH1gfSkpKX1mdW5jdGlvbiBwKGUpe2NvbnN0IHQ9bmV3IFNldDtmb3IoY29uc3QgbiBvZiBlKXQuYWRkKG4udW5kZXJseWluZyk7cmV0dXJuIEFycmF5LmZyb20odCl9ZnVuY3Rpb24gaChlKXtjb25zdCB0PW5ldyBTZXQsbj17fTtmb3IoY29uc3QgciBvZiBlKWZvcihjb25zdCBlIG9mIHIuc3RyaWtlcyl0LmFkZChlKSxuW2VdPShuW2VdPz8wKSsxO3JldHVybntzdHJpa2VzQ291bnQ6bixzdHJpa2VzOkFycmF5LmZyb20odCkuc29ydCgoKGUsdCk9PmUtdCkpLHN0cmlrZXNNYXA6dH19ZnVuY3Rpb24gZihlKXtyZXR1cm4oMCxyLnNwbGl0U3ltYm9sTmFtZSkoZS51bmRlcmx5aW5nKVsxXSE9PWUucm9vdH19LDMyNjA0OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtCYWRSZXF1ZXN0RXJyb3JSZXNwb25zZTooKT0+b30pO3ZhciByPW4oMTMzODc0KTtjbGFzcyBvIGV4dGVuZHMgci5FcnJvclJlc3BvbnNle2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMubmFtZT0iQmFkUmVxdWVzdEVycm9yIixlLmVycm9yP3RoaXMubWVzc2FnZT1lLmVycm9yOnRoaXMubWVzc2FnZT0idW5rbm93biBlcnJvciJ9fX0sMTMzODc0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0Vycm9yUmVzcG9uc2U6KCk9PnJ9KTtjbGFzcyBye2NvbnN0cnVjdG9yKGUpe3RoaXMuX3N0YXR1cz1lLnN0YXR1cyx0aGlzLl9zdGF0dXNUZXh0PWUuc3RhdHVzVGV4dHx8IiJ9Z2V0SW5mbygpe3JldHVybntuYW1lOnRoaXMubmFtZSxzdGF0dXM6dGhpcy5fc3RhdHVzLHN0YXR1c1RleHQ6dGhpcy5fc3RhdHVzVGV4dCxtZXNzYWdlOnRoaXMubWVzc2FnZX19fX0sMTU4NzYzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0h0dHBFcnJvclJlc3BvbnNlOigpPT5vfSk7dmFyIHI9bigxMzM4NzQpO2NsYXNzIG8gZXh0ZW5kcyByLkVycm9yUmVzcG9uc2V7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5uYW1lPSJIdHRwRXJyb3JSZXNwb25zZSIsdGhpcy5fc3RhdHVzPj0yMDAmJnRoaXMuX3N0YXR1czwzMDA/dGhpcy5tZXNzYWdlPWBIdHRwIGZhaWx1cmUgZHVyaW5nIHBhcnNpbmcgZm9yICR7ZS51cmx8fCIodW5rbm93biB1cmwpIn1gOnRoaXMubWVzc2FnZT1gSHR0cCBmYWlsdXJlIHJlc3BvbnNlIGZvciAke2UudXJsfHwiKHVua25vd24gdXJsKSJ9OiAke2Uuc3RhdHVzfSAke2Uuc3RhdHVzVGV4dH1gfX19LDIxNjA3OShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoKXtyZXR1cm4gd2luZG93LlNDUkVFTkVSX0hPU1R8fCJodHRwczovL3NjYW5uZXIudHJhZGluZ3ZpZXcuY29tIn1mdW5jdGlvbiBvKGUsdCl7CmNvbnN0IG49cigpO3JldHVybiB0P2Ake259LyR7dH0vYDoxPT09ZS5sZW5ndGg/YCR7bn0vJHtlWzBdfS9gOmAke259L2dsb2JhbC9gfWZ1bmN0aW9uIGwoZSx0LG4sbyxsKXtjb25zdCBhPXIoKSxzPXtzeW1ib2w6ZSxmaWVsZHM6dH07byYmKHMubm9fNDA0PSJ0cnVlIiksbCYmKHMucHJpY2VfY29udmVyc2lvbj0iZGlzYWJsZWQiKSxuJiYoc1sibGFiZWwtcHJvZHVjdCJdPW4pO2NvbnN0IGk9bmV3IFVSTChgJHthfS9zeW1ib2xgKTtyZXR1cm4gT2JqZWN0LmtleXMocykuZm9yRWFjaCgoZT0+e2kuc2VhcmNoUGFyYW1zLmFwcGVuZChlLHNbZV0pfSkpLGkudG9TdHJpbmcoKX1mdW5jdGlvbiBhKGUsdCl7cmV0dXJuYCR7cigpfS9lbnVtP2lkPSR7ZX0mbGFuZz0ke3R8fHdpbmRvdy5sYW5ndWFnZXx8ImVuIn1gfWZ1bmN0aW9uIHMoZSx0KXtyZXR1cm5gJHtyKCl9L2VudW0vb3JkZXJlZD9pZD0ke2V9Jmxhbmc9JHt0fHx3aW5kb3cubGFuZ3VhZ2V8fCJlbiJ9YH1uLmQodCx7Z2V0QmFja2VuZFVybDooKT0+byxnZXRFbnVtT3JkZXJlZFJlZ2lzdHJ5VXJsOigpPT5zLGdldEVudW1SZWdpc3RyeVVybDooKT0+YSxnZXRTeW1ib2xEYXRhVXJsOigpPT5sfSl9LDc5MDA0MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjaGFuZ2VEZXNjcmlwdGlvbjooKT0+Yyxjb252ZXJ0VG9DdXN0b21TeW1ib2xMaXN0OigpPT5zLGNvbnZlcnRUb01hcmtlZFN5bWJvbExpc3Q6KCk9Pml9KTt2YXIgcj1uKDEzODYzOCksbz1uKDM4NDAxNyksbD1uKDU4MDUyNiksYT0obig2MjEyMCksbig5NjIwODEpLG4oMzA0Mzk5KSk7bigxNTU5MDApLG4oNTY5Mzk4KSxuKDc4ODAxKTtmdW5jdGlvbiBzKGUpe2NvbnN0IHQ9ZS5pZCxuPWUubmFtZSx7c3ltYm9sczpyLGNvbGxhcHNlZFNlcGFyYXRvcnM6b309KDAsbC5sb2NhbENvbGxhcHNlU3RhdGVGcm9tUmVtb3RlU3ltYm9scykoZS5zeW1ib2xzPz9bXSk7cmV0dXJue3R5cGU6ImN1c3RvbSIsaWQ6dCxuYW1lOm4sZGVzY3JpcHRpb246ZS5kZXNjcmlwdGlvbixhY3RpdmU6ZS5hY3RpdmUsc3ltYm9sczpyLHNoYXJlZDplLnNoYXJlZCxjb2xsYXBzZWRTZXBhcmF0b3JzOm8scGVyc2lzdGVkU3RhdGU6ZSxtZXRhOntzZXJ2ZXJfaWQ6K3R9fX1mdW5jdGlvbiBpKGUpe2NvbnN0IHQ9KDAsci5lbnN1cmVOb3ROdWxsKShlLmNvbG9yKSx7c3ltYm9sczpuLGNvbGxhcHNlZFNlcGFyYXRvcnM6b309KDAsbC5sb2NhbENvbGxhcHNlU3RhdGVGcm9tUmVtb3RlU3ltYm9scykoZS5zeW1ib2xzPz9bXSk7cmV0dXJue3R5cGU6ImNvbG9yZWQiLGlkOnQsY29sb3I6dCxuYW1lOmUubmFtZT8/bnVsbCxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLGFjdGl2ZTplLmFjdGl2ZSxzeW1ib2xzOm4sc2hhcmVkOmUuc2hhcmVkLGNvbGxhcHNlZFNlcGFyYXRvcnM6byxwZXJzaXN0ZWRTdGF0ZTplLG1ldGE6e3NlcnZlcl9pZDorZS5pZH19fWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4oMCxvLmZldGNoKSgoMCxhLndhdGNobGlzdFVybCkoYC9hcGkvdjEvc3ltYm9sc19saXN0L2N1c3RvbS8ke2V9L3VwZGF0ZV9tZXRhL2ApLHttZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2Rlc2NyaXB0aW9uOnR9KSxjcmVkZW50aWFsczoiaW5jbHVkZSIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pLnRoZW4oYS5oYW5kbGVKU09OKS50aGVuKHMpfX0sNTgwNTI2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldExvY2FsTGlzdFN5bWJvbHM6KCk9Pm0sbG9jYWxDb2xsYXBzZVN0YXRlRnJvbVJlbW90ZVN5bWJvbHM6KCk9PmkscmVtb3RlUmVuYW1lU2VwYXJhdG9yczooKT0+dSxyZW1vdGVTeW1ib2xzRm9ybUxvY2FsU3RhdGU6KCk9PmMsc2VwYXJhdG9yUmVtb3RlUmVwcmVzZW50YXRpb246KCk9PmR9KTt2YXIgcj1uKDEzODYzOCksbz1uKDkwMTAyMiksbD1uKDcwNTAxMiksYT1uKDkyMjI0OCk7Y29uc3Qgcz1uZXcgUmVnRXhwKGBeJHtvLlNFUEFSQVRPUl9QUkVGSVh9KOKBpCk/KC4rKSRgKTtmdW5jdGlvbiBpKGUpe2NvbnN0IHQ9W10sbj1bXTtyZXR1cm4gZS5mb3JFYWNoKChlPT57Y29uc3RbLHIsbF09ZS5tYXRjaChzKXx8W107aWYobCl7Y29uc3QgZT1gJHtvLlNFUEFSQVRPUl9QUkVGSVh9JHtsfWA7ciYmbi5wdXNoKGUpLHQucHVzaChlKX1lbHNlIHQucHVzaChlKX0pKSx7c3ltYm9sczp0LGNvbGxhcHNlZFNlcGFyYXRvcnM6bn19ZnVuY3Rpb24gYyhlLHQpe2NvbnN0IG49aChlKTtyZXR1cm4gdC5tYXAoKGU9Pm4/Lmhhc093blByb3BlcnR5KGUpP2QoZSxuW2VdKTplKSl9ZnVuY3Rpb24gdShlLHQsbil7Y29uc3Qgcj1oKGUpO2lmKHI/Lmhhc093blByb3BlcnR5KG4pKXtjb25zdCBlPXJbbl07cmV0dXJue29sZFNlcGFyYXRvcjpkKHQsZSksbmV3U2VwYXJhdG9yOmQobixlKX19cmV0dXJue29sZFNlcGFyYXRvcjp0LG5ld1NlcGFyYXRvcjpufX1mdW5jdGlvbiBkKGUsdCl7Y29uc3Qgbj1lLnJlcGxhY2Uoby5TRVBBUkFUT1JfUFJFRklYLCIiKS5yZXBsYWNlKCLigaQiLCIiKTtyZXR1cm5gJHtvLlNFUEFSQVRPUl9QUkVGSVh9JHt0PyLigaQiOiIifSR7bn1gfWZ1bmN0aW9uIG0oZSl7Y29uc3QgdD1wKCk7cmV0dXJuKDAsci5lbnN1cmVEZWZpbmVkKSh0Lm1hcmtlZExpc3RzPy5saXN0cy5ieUNvbG9yW2VdPy5zeW1ib2xzfHx0LmN1c3RvbUxpc3RzLmxpc3RzLmJ5SWRbZV0/LnN5bWJvbHMpfWZ1bmN0aW9uIHAoKXtyZXR1cm4oMCxsLnNlcnZpY2UpKGEuU1lNQk9MX0xJU1RfU0VSVklDRSkuc3RvcmUuZ2V0U3RhdGUoKX1mdW5jdGlvbiBoKGUpe3JldHVybiBwKCkuY29sbGFwc2VkU2VwYXJhdG9yc1tlXX19LDYyMTIwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3BlbmRpbmdPcGVuU2VwYXJhdG9yczooKT0+cn0pO2NvbnN0IHI9bmV3IFNldH0sODc3NDQyKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHIsbyxsO24uZCh0LHtUaWNrZXJUeXBlOigpPT5yfSksZnVuY3Rpb24oZSl7ZS5UaWNrZXI9InRpY2tlciIsZS5EZXNjcmlwdGlvbj0iZGVzY3JpcHRpb24ifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuU3ltYm9sTmFtZT0ic2hvcnRfbmFtZSIsCmUuTGFzdD0ibGFzdF9wcmljZSIsZS5DaGFuZ2U9ImNoYW5nZSIsZS5DaGFuZ2VJblBlcmNlbnRzPSJjaGFuZ2VfcGVyY2VudCIsZS5Wb2x1bWU9InZvbHVtZSIsZS5QcmVQb3N0TWFya2V0PSJyY2hwIixlLkZsYWc9ImZsYWcifShvfHwobz17fSkpLGZ1bmN0aW9uKGUpe2VbZS5ERVNDPS0xXT0iREVTQyIsZVtlLkFTQz0xXT0iQVNDIn0obHx8KGw9e30pKX0sNjY0Mzg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1N5bWJvbFNlYXJjaERpYWxvZ0NvbnRlbnRJdGVtOigpPT5VLGlzR3JvdXBlZFN5bWJvbEV4dGVuZGVkOigpPT5IfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big3ODMyNTQpLHM9bigxMzg2MzgpLGk9bigyNzMzMTApLGM9bigyNzgyNjMpLHU9big5MzAyMzEpLGQ9big1NjEyMDUpLG09big4MTA0MSkscD1uKDEwNjkwMCksaD1uKDIwMDY2NiksZj1uKDczODQ1OCksUz1uKDY0MTU5MyksZz1uKDU3NzEwOSkseT1uKDkyMzIzOSksYj1uKDUyMzI4Niksdj1uLm4oYik7ZnVuY3Rpb24gXyhlKXtjb25zdHtmbGFnczp0LGxpbWl0Om4sY2xhc3NOYW1lOm99PWUsYT10LnNsaWNlKDAsbikscz10Lmxlbmd0aC1uO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkodigpLmNvbnRhaW5lcixvKX0sci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6digpLmZsYWdzfSxhLm1hcCgoKGUsdCk9PnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnYoKS5mbGFnQ29udGFpbmVyLHN0eWxlOnt6SW5kZXg6YS5sZW5ndGgtdH0sa2V5OnR9LHIuY3JlYXRlRWxlbWVudCh5LlN5bWJvbFNlYXJjaEZsYWcsey4uLmUsY2xhc3NOYW1lOnYoKS5mbGFnfSkpKSkpLHM+MCYmci5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnYoKS5jb3VudGVyfSxgKyR7c31gKSl9dmFyIEU9bigyNjQzMTgpLEM9bigxNjM1NzYpLFQ9bi5uKEMpLHg9big5MzUxKSxJPW4ubih4KSx3PW4oNTM3NzMwKTtmdW5jdGlvbiBOKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGlzRXhwYW5kZWQ6byxvbkNsaWNrOmx9PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnR9LHIuY3JlYXRlRWxlbWVudChFLkNsaWNrYWJsZUljb25CdXR0b24se2NvbG9yQ2xhc3NOYW1lOncuYnV0dG9uQ29sb3JzLHRpdGxlOm8/YS50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZXhwYW5kX3RvZ2dsZSJ9LG4oMjM5MTk4KSk6YS50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZXhwYW5kX3RvZ2dsZSJ9LG4oMzg2MjQ2KSksdGFiSW5kZXg6LTEsaWNvbjpvP1QoKTpJKCksb25DbGljazpsfSkpfXZhciBSPW4oMTE3MzEzKSxBPW4oODkzMTE1KSxMPW4oNzY5OSksaz1uKDU5NTE4OSksTz1uKDU5MDQ4NiksTT1uKDIzNDYzNiksRD1uKDQ4MDk3MiksUD1uKDE3ODQwNyksRj1uKDE0MDM0MCksQj1uKDM4NDQ1OCk7ZnVuY3Rpb24gSChlKXtyZXR1cm4gQm9vbGVhbigicGFyZW50ImluIGUmJmUucGFyZW50Lmdyb3VwZWRfc3ltYm9scyl9ZnVuY3Rpb24gVShlKXtjb25zdHtkYW5nZXJvdXNUaXRsZUhUTUw6dCx0aXRsZTpvLGRhbmdlcm91c0Rlc2NyaXB0aW9uSFRNTDp5LGRlc2NyaXB0aW9uOmIsc2VhcmNoVG9rZW46dixleGNoYW5nZU5hbWU6RSxtYXJrZXRUeXBlOkMsb25DbGljazpULGlzU2VsZWN0ZWQ6eCxpc0VvZDpJPSExLGlzQWN0aXZlOnc9ITEsaXNPZmZzZXQ6VT0hMSxpbnZhbGlkOlc9ITEsaXNIaWdobGlnaHRlZDpWPSExLGhpZGVFeGNoYW5nZTpHPSExLGhpZGVNYXJrZWRMaXN0RmxhZzpRPSExLG9uRXhwYW5kQ2xpY2s6eixpc0V4cGFuZGVkOiQsaG92ZXJDb21wb25lbnQ6cSxzb3VyY2U6Syxzb3VyY2UyOlksc291cmNlTG9nb3M6WD1bXSx0eXBlOmosaXRlbVJlZjpaLG9uTW91c2VPdXQ6Sixvbk1vdXNlT3ZlcjplZSxjbGFzc05hbWU6dGUsYWN0aW9uczpuZSxyZWZlcmVuY2U6cmUsaXRlbTpvZSxmdWxsU3ltYm9sTmFtZTpsZSxsb2dvRGF0YTphZSxzaG9ydE5hbWU6c2UsaGlkZUxvZ286aWU9ITEsZXhjaGFuZ2VUb29sdGlwOmNlLGhpZGVNYXJrZXRUeXBlOnVlLGlzUHJpbWFyeTpkZSxpc1Byb21vOm1lLGZvdW5kX2J5X2N1c2lwOnBlLGN1c2lwOmhlLGZvdW5kX2J5X2lzaW46ZmUsaXNpbjpTZSxpcG9EYXRlOmdlfT1lLHtjb3VudHJ5OnllLHByb3ZpZGVySWQ6YmV9PVhbMF18fHt9LHtpc1NtYWxsV2lkdGg6dmUsaXNNb2JpbGU6X2V9PSgwLHMuZW5zdXJlTm90TnVsbCkoKDAsci51c2VDb250ZXh0KShkLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCkpLEVlPUJvb2xlYW4ocSksQ2U9IVcmJiFHJiYoX2V8fCFFZSksVGU9KDAscC51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTpoLndhdGNoZWRUaGVtZX0pPT09bS5TdGRUaGVtZS5EYXJrP0IuZGFyazpCLmxpZ2h0LHhlPXEsSWU9Qm9vbGVhbihvZSYmImdyb3VwZWRfc3ltYm9scyJpbiBvZSYmb2UuZ3JvdXBlZF9zeW1ib2xzKSx3ZT0hKDAsUi5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpJiYhKDAsdS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IikmJiFXJiYhUSYmKCF6fHxJZSkmJmxlLE5lPSgwLHUuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfc3ltYm9sX2xvZ29zIiksUmU9KDAsdS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19leGNoYW5nZV9sb2dvcyIpLEFlPU5lfHwhKDAsdS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IikmJiFpZSxMZT1ZPy5kZXNjcmlwdGlvbj8/SyxrZT1ZPy5uYW1lPz9LLE9lPW9lJiYoZnVuY3Rpb24oZSl7cmV0dXJuIEJvb2xlYW4oInBhcmVudCJpbiBlJiZlLnBhcmVudC5jb250cmFjdHMpfShvZSl8fEgob2UpKSxNZT14ZT9yLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoQi5jZWxsLEIuaG92ZXJDZWxsKX0sci5jcmVhdGVFbGVtZW50KHhlLHsuLi5lLG9uTW91c2VPdmVyOnZvaWQgMCxvbk1vdXNlT3V0OnZvaWQgMH0pLHomJnIuY3JlYXRlRWxlbWVudChOLHtjbGFzc05hbWU6Qi5leHBhbmRUb2dnbGUsaXNFeHBhbmRlZDokLG9uQ2xpY2s6UGV9KSk6dm9pZCAwCjtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKEIuaXRlbVJvdyx2ZSYmQi5tdWx0aUxpbmUsViYmQi5oaWdobGlnaHRlZCxWJiZUZSx4JiZCLnNlbGVjdGVkLHcmJkIuYWN0aXZlLFcmJkIuaW52YWxpZCwkJiZCLmV4cGFuZGVkLE9lJiZCLm5lc3RlZCwhX2UmJmYubW9iaWxldG91Y2gmJkVlJiZCLmhvdmVyLHRlKSxvbkNsaWNrOmZ1bmN0aW9uKGUpe2lmKCFUfHxlLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSxUKGUpfSwiZGF0YS1yb2xlIjplWyJkYXRhLXJvbGUiXXx8Imxpc3QtaXRlbSIsImRhdGEtcWEtaWQiOmVbImRhdGEtcWEtaWQiXSwiZGF0YS1hY3RpdmUiOncsImRhdGEtc3MtaXRlbSI6bWU/ImZlYXR1cmVkIjp2b2lkIDAsImRhdGEtc3ltYm9sLW5hbWUiOmxlLCJkYXRhLXR5cGUiOkMsImRhdGEtbmFtZSI6InN5bWJvbC1zZWFyY2gtZGlhbG9nLWNvbnRlbnQtaXRlbSIsb25Nb3VzZU91dDpKLG9uTW91c2VPdmVyOmVlLHJlZjpyZX0sci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Qi5uZXN0ZWRCb3JkZXJPdmVybGFwfSksci5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6WixjbGFzc05hbWU6bCgpKEIuaXRlbUluZm9DZWxsLEIuY2VsbCxVJiZCLm9mZnNldCl9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShCLmFjdGlvbkhhbmRsZVdyYXAsIUFlJiZCLmZpeGVkV2lkdGgpfSxyLmNyZWF0ZUVsZW1lbnQoci5GcmFnbWVudCxudWxsLHdlJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoQi5tYXJrZWRGbGFnV3JhcCxVJiZCLm9mZnNldCl9LHIuY3JlYXRlRWxlbWVudChrLkZsYWcse2NsYXNzTmFtZTpmLm1vYmlsZXRvdWNoP0IubWFya2VkRmxhZ01vYmlsZTpCLm1hcmtlZEZsYWcsc3ltYm9sOmxlfSkpLEFlJiYhVSYmci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Qi5sb2dvfSxyLmNyZWF0ZUVsZW1lbnQoZy5TeW1ib2xMb2dvLHtrZXk6bGUsbG9nbzphZSxwbGFjZWhvbGRlcjpzZT9zZVswXTp2b2lkIDB9KSkpKSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoQi5kZXNjcmlwdGlvbixBZSYmVSYmQi5vZmZzZXQpfSxvJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoQi5zeW1ib2xUaXRsZSxXJiZCLmludmFsaWQsIUJvb2xlYW4oeSkmJkIubm9EZXNjcmlwdGlvbiwhZi5tb2JpbGV0b3VjaCYmImFwcGx5LW92ZXJmbG93LXRvb2x0aXAiKSwiZGF0YS1vdmVyZmxvdy10b29sdGlwLXRleHQiOm8sImRhdGEtbmFtZSI6Imxpc3QtaXRlbS10aXRsZSJ9LG8sSSYmci5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOkIuZGF0YU1vZGV9LCJFIikpLCFvJiZ0JiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoQi5zeW1ib2xUaXRsZSxXJiZCLmludmFsaWQsIWYubW9iaWxldG91Y2gmJiJhcHBseS1vdmVyZmxvdy10b29sdGlwIiksImRhdGEtbmFtZSI6Imxpc3QtaXRlbS10aXRsZSIsImRhdGEtb3ZlcmZsb3ctdG9vbHRpcC10ZXh0IjooMCxTLnJlbW92ZVRhZ3MpKHQpfSxyLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOnR9fSksSSYmci5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOkIuZGF0YU1vZGV9LCJFIikpLHZlJiZEZSgpKSksdmU/TWU6ci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKEIuY2VsbCxCLmRlc2NyaXB0aW9uQ2VsbCxFZSYmQi5hZGRpdGlvbil9LERlKCksTWUpLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShCLmV4Y2hhbmdlQ2VsbCxCLmNlbGwsIUNlJiZCLmhpZGRlbil9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShCLmV4Y2hhbmdlRGVzY3JpcHRpb24pfSwhdmUmJm1lJiZyLmNyZWF0ZUVsZW1lbnQoTy5CYWRnZSx7Y2xhc3NOYW1lOkIucHJvbW9CYWRnZSxzaXplOk0uQmFkZ2VTaXplLlNtYWxsLGNoaWxkcmVuOmEudChudWxsLHZvaWQgMCxuKDk2NjQ3NSkpfSksIXVlJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpCLm1hcmtldFR5cGV9LEMpLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkIuc291cmNlfSx2ZSYmbWUmJnIuY3JlYXRlRWxlbWVudChPLkJhZGdlLHtjbGFzc05hbWU6bCgpKEIucHJvbW9CYWRnZSxCLnByb21vSWNvbiwiYXBwbHktY29tbW9uLXRvb2x0aXAiKSxzaXplOk0uQmFkZ2VTaXplLlNtYWxsLHRpdGxlOmEudChudWxsLHZvaWQgMCxuKDk2NjQ3NSkpLGxlZnRTbG90OnIuY3JlYXRlRWxlbWVudChELlNjYWxhYmxlSWNvbix7aWNvbjpGfSl9KSxkZSYmdiYmci5jcmVhdGVFbGVtZW50KGkuSWNvbix7Y2xhc3NOYW1lOmwoKSgiYXBwbHktY29tbW9uLXRvb2x0aXAiLEIucHJpbWFyeUljb24pLHRpdGxlOmEudChudWxsLHZvaWQgMCxuKDU1MjA5NSkpLGljb246UH0pLCJlY29ub21pYyI9PT1qJiZMZSYma2U/ci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKEIuZXhjaGFuZ2VOYW1lLCJhcHBseS1jb21tb24tdG9vbHRpcCIsQi5uYXJyb3csdWUmJkIud2lkZSksdGl0bGU6TGV9LGtlKTpyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoQi5leGNoYW5nZU5hbWUsY2UmJiJhcHBseS1jb21tb24tdG9vbHRpcCIpLHRpdGxlOmNlfSwoMCxMLnJlZGVmaW5lRXhjaGFuZ2VOYW1lKShFKSkpKSxyLmNyZWF0ZUVsZW1lbnQoXyx7a2V5OlJlP2Ake2xlfV9leGNoYW5nZWA6YCR7eWV9XyR7YmV9XyR7WT8uaWR9XyR7an1gLGNsYXNzTmFtZTpsKCkoQi5mbGFnLFgubGVuZ3RoPjE/Qi5tdWx0aXBsZUZsYWdzOnZvaWQgMCksbGltaXQ6dmU/Mzo1LGZsYWdzOlh9KSx6JiZyLmNyZWF0ZUVsZW1lbnQoTix7Y2xhc3NOYW1lOkIuZXhwYW5kVG9nZ2xlLGlzRXhwYW5kZWQ6JCxvbkNsaWNrOlBlfSkpLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShCLmNlbGwsQm9vbGVhbihuZSk/Qi5hY3Rpb25zQ2VsbDpCLmVtcHR5QWN0aW9ucyl9LG5lKSk7ZnVuY3Rpb24gRGUoKXsKaWYoVylyZXR1cm4gbnVsbDtjb25zdCBlPWwoKShCLnN5bWJvbERlc2NyaXB0aW9uLCFmLm1vYmlsZXRvdWNoJiYiYXBwbHktb3ZlcmZsb3ctdG9vbHRpcCBhcHBseS1vdmVyZmxvdy10b29sdGlwLS1hbGxvdy10ZXh0Iik7aWYoeSl7Y29uc3QgdD1mdW5jdGlvbigpezA7aWYocGUmJmhlKXJldHVybmBDVVNJUDogJHtoZX1gO2lmKGZlJiZTZSlyZXR1cm5gSVNJTjogJHtTZX1gO2lmKGdlKXJldHVybigwLGMuZm9ybWF0VGltZSkoMWUzKmdlLCgwLEEuZ2V0TG9jYWxlSXNvKSgpLCJ5ZWFyIiwiZGF5Iik7cmV0dXJuIG51bGx9KCk7cmV0dXJuIHQ/ci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKEIuc3ltYm9sRGVzY3JpcHRpb24sQi5jb21wb3NpdGVEZXNjcmlwdGlvbil9LHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpsKCkoQi5zeW1ib2xEZXNjcmlwdGlvbk1haW4sIWYubW9iaWxldG91Y2gmJiJhcHBseS1vdmVyZmxvdy10b29sdGlwIGFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWFsbG93LXRleHQiKSwiZGF0YS1vdmVyZmxvdy10b29sdGlwLXRleHQiOigwLFMucmVtb3ZlVGFncykoeSksZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDp5fX0pLHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpCLnN5bWJvbERlc2NyaXB0aW9uRGV0YWlscyxkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOnR9fSkpOnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtb3ZlcmZsb3ctdG9vbHRpcC10ZXh0IjooMCxTLnJlbW92ZVRhZ3MpKHkpLGNsYXNzTmFtZTplLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6eX19KX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBQZShlKXt6JiYhZS5kZWZhdWx0UHJldmVudGVkJiYoZS5wcmV2ZW50RGVmYXVsdCgpLHooZSkpfX19LDczMjUzMyhlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByLG87bi5kKHQse1JPV19IRUlHSFQ6KCk9PmEsdGFic1dpdGhIaWRkZW5NYXJrZXRUeXBlOigpPT5sfSksZnVuY3Rpb24oZSl7ZS5TdG9ja3M9InN0b2NrcyIsZS5GdXR1cmVzPSJmdXR1cmVzIixlLkZ1bmRzPSJmdW5kcyIsZS5Gb3JleD0iZm9yZXgiLGUuQ3J5cHRvPSJiaXRjb2luLGNyeXB0byIsZS5JbmRleD0iaW5kZXgiLGUuQm9uZD0iYm9uZCIsZS5FY29ub21pYz0iZWNvbm9taWMiLGUuT3B0aW9ucz0ib3B0aW9ucyJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZS5FY29ub21pY0NvdW50cnlTZWxlY3Q9ImVjb25vbWljLWNvdW50cnktc2VsZWN0IixlLkVjb25vbWljU291cmNlU2VsZWN0PSJlY29ub21pYy1zb3VyY2Utc2VsZWN0IixlLkVjb25vbWljQ2F0ZWdvcnlTZWxlY3Q9ImVjb25vbWljLWNhdGVnb3J5LXNlbGVjdCIsZS5TdG9ja3NDb3VudHJ5U2VsZWN0PSJzdG9ja3MtY291bnRyeS1zZWxlY3QiLGUuU3RvY2tUeXBlU2VsZWN0PSJzdG9jay10eXBlLXNlbGVjdCIsZS5TdG9ja1NlY3RvclNlbGVjdD0ic3RvY2stc2VjdG9yLXNlbGVjdCIsZS5GdXR1cmVzQ291bnRyeVNlbGVjdD0iZnV0dXJlcy1jb3VudHJ5LXNlbGVjdCIsZS5GdXR1cmVzQ2F0ZWdvcnlTZWxlY3Q9ImZ1dHVyZXMtY2F0ZWdvcnktc2VsZWN0IixlLkZ1bmRzQ291bnRyeVNlbGVjdD0iZnVuZHMtY291bnRyeS1zZWxlY3QiLGUuRnVuZHNUeXBlU2VsZWN0PSJmdW5kcy10eXBlLXNlbGVjdCIsZS5DcnlwdG9FeGNoYW5nZVNlbGVjdD0iY3J5cHRvLWV4Y2hhbmdlLXNlbGVjdCIsZS5DcnlwdG9UeXBlU2VsZWN0PSJjcnlwdG8tdHlwZS1zZWxlY3QiLGUuQ3J5cHRvRXhjaGFuZ2VUeXBlU2VsZWN0PSJjcnlwdG8tZXhjaGFuZ2UtdHlwZS1zZWxlY3QiLGUuRm9yZXhFeGNoYW5nZVNlbGVjdD0iZm9yZXgtZXhjaGFuZ2Utc2VsZWN0IixlLkluZGV4RXhjaGFuZ2VTZWxlY3Q9ImluZGV4LWV4Y2hhbmdlLXNlbGVjdCIsZS5Cb25kQ291bnRyeVNlbGVjdD0iYm9uZC1jb3VudHJ5LXNlbGVjdCIsZS5Cb25kVHlwZVNlbGVjdD0iYm9uZC10eXBlLXNlbGVjdCJ9KG98fChvPXt9KSk7Y29uc3QgbD1bImZ1dHVyZXMiLCJmb3JleCIsImJvbmQiLCJlY29ub21pYyIsIm9wdGlvbnMiXSxhPTUyfSw3ODMxMTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RklMVEVSX0RFRkFVTFRfVkFMVUU6KCk9PmEsVEFCX1NFTEVDVF9GSUxURVJfTUFQOigpPT5tLFRBQl9TT1VSQ0VfRklMVEVSX01BUDooKT0+ZH0pO3ZhciByPW4oMTg1MjcxKTtjb25zdCBvPSgpPT5be25hbWU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LG4oMzUwMTQ2KSksdmFsdWU6IiIsc2VhcmNoX3R5cGU6InVuZGVmaW5lZCJ9LHtuYW1lOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxuKDU1NTUxMCkpLHZhbHVlOiJzdG9ja3MiLHNlYXJjaF90eXBlOiJzdG9ja3MifSx7bmFtZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sbig1NjQ5MTcpKSx2YWx1ZToiZnVuZHMiLHNlYXJjaF90eXBlOiJmdW5kcyJ9LHtuYW1lOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxuKDUwNTA3OSkpLHZhbHVlOiJmdXR1cmVzIixzZWFyY2hfdHlwZToiZnV0dXJlcyJ9LHtuYW1lOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxuKDk3OTk3KSksdmFsdWU6ImZvcmV4IixzZWFyY2hfdHlwZToiZm9yZXgifSx7bmFtZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sbigzODQ1OTcpKSx2YWx1ZToiY2ZkIixzZWFyY2hfdHlwZToiY2ZkIn0se25hbWU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LG4oNjU1MjM1KSksdmFsdWU6ImJpdGNvaW4sY3J5cHRvIixzZWFyY2hfdHlwZToiY3J5cHRvIn0se25hbWU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LG4oOTI3NDExKSksdmFsdWU6ImluZGV4IixzZWFyY2hfdHlwZToiaW5kZXgifSx7bmFtZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sbig3NjU0NDApKSx2YWx1ZToiYm9uZCIsc2VhcmNoX3R5cGU6ImJvbmQifSx7bmFtZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sbig1NDgzMjIpKSx2YWx1ZToiZWNvbm9taWMiLApzZWFyY2hfdHlwZToiZWNvbm9taWMifSx7bmFtZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sbig3OTYwMCkpLHZhbHVlOiJvcHRpb25zIixzZWFyY2hfdHlwZToib3B0aW9ucyJ9XTsoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCJuYW1lIil8fHt9KS53cml0YWJsZXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIm5hbWUiLHt2YWx1ZToiZGVmYXVsdCIsY29uZmlndXJhYmxlOiEwfSk7Y29uc3QgbD0oKT0+W3t0eXBlOiJ0YWJzIix1cmxQYXJhbToic2VhcmNoX3R5cGUiLHRhYnM6W3t2YWx1ZToidW5kZWZpbmVkIix0aXRsZTpyLnQobnVsbCx2b2lkIDAsbigyMzM2OTApKSxmaWx0ZXJzOltdfSx7dmFsdWU6ImVjb25vbWljIix0aXRsZTpyLnQobnVsbCx2b2lkIDAsbigxNzYzNzgpKSxmaWx0ZXJzOlt7dHlwZToic291cmNlLXNlbGVjdCIsdXJsUGFyYW06e2J5Q291bnRyeToiY291bnRyeSIsYnlFeGNoYW5nZToiZXhjaGFuZ2UifSxpZDoiZWNvbm9taWMtY291bnRyeS1zZWxlY3QiLGFsbFNlYXJjaFNvdXJjZXNUaXRsZTpyLnQobnVsbCx2b2lkIDAsbig1MTMzMDgpKSxncm91cHM6WyJOb3J0aCBBbWVyaWNhIiwiRXVyb3BlIiwiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLCJBc2lhIC8gUGFjaWZpYyJdfSx7dHlwZToic2VsZWN0IixpZDoiZWNvbm9taWMtc291cmNlLXNlbGVjdCIsdXJsUGFyYW06InNvdXJjZV9pZCIsbGFiZWw6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyX2xhYmVsIn0sbigzMjEwODkpKSxvcHRpb25zOlt7dmFsdWU6bnVsbCx0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDI4OTI4MCkpLGFuYWx5dGljc0xhYmVsOiJBbGwgc291cmNlcyJ9LHt2YWx1ZToiX19XQiIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbigzMzYxMTIpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjU4NzYwKSl9LHt2YWx1ZToiX19FVVJPU1RBVCIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig2Mjg0NzIpKX0se3ZhbHVlOiJfX0FLQU1BSSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig5OTMxNjgpKX0se3ZhbHVlOiJfX1RJIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDc3MDEyKSl9LHt2YWx1ZToiX19PRUNEIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDExNzgxMCkpLHNob3J0VGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig1MjAwNDApKX0se3ZhbHVlOiJfX1dFRiIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig4NTk5NTUpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNzkwNDY2KSl9LHt2YWx1ZToiX19XSUYiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMzQ1NjA5KSksc2hvcnRUaXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDcxNDE0NSkpfSx7dmFsdWU6IlVTQkxTIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDkwMzA4MykpLHNob3J0VGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig5Njk2MTMpKX0se3ZhbHVlOiJVU0ZSIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDExMDYyKSl9LHt2YWx1ZToiX19TSVBSSSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig4NzE3MjcpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNzcwOTgyKSl9LHt2YWx1ZToiX19JRVAiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oODMyODY2KSksc2hvcnRUaXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDM3Nzc0MikpfSx7dmFsdWU6IlVTQkVBIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDU0MzU1MCkpLHNob3J0VGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig4OTcwMjkpKX0se3ZhbHVlOiJfX1dHQyIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig0ODM5NjYpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oODMyOTQ3KSl9LHt2YWx1ZToiVVNDQiIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig3ODkzMTkpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMzk5NDUxKSl9LHt2YWx1ZToiX19CQ0VBTyIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig4NTQ2NjEpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNTQ2NDkpKX0se3ZhbHVlOiJfX0lNRiIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig4NDAxODcpKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNjY1Njg5KSl9LHt2YWx1ZToiX19VRUlBIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDU5OTgwNykpLHNob3J0VGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig2Mjc1MDQpKX0se3ZhbHVlOiJDQVNDIix0aXRsZTpyLnQobnVsbCx7CmNvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig2NTQ0NDApKSxzaG9ydFRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oOTE3ODA1KSl9LHt2YWx1ZToiR0JPTlMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oOTc4Mjk0KSksc2hvcnRUaXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDQ1MDU1MCkpfSx7dmFsdWU6Ik5PU04iLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oODYzMjM2KSl9XX0se3R5cGU6InNlbGVjdCIsaWQ6ImVjb25vbWljLWNhdGVnb3J5LXNlbGVjdCIsdXJsUGFyYW06ImVjb25vbWljX2NhdGVnb3J5IixsYWJlbDpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXJfbGFiZWwifSxuKDU4MDU2OCkpLG9wdGlvbnM6W3t2YWx1ZTpudWxsLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oOTc3NzY3KSksYW5hbHl0aWNzTGFiZWw6IkFsbCBjYXRlZ29yaWVzIn0se3ZhbHVlOiJnZHAiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNDE1NDApKX0se3ZhbHVlOiJsYnIiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oODE1NzQxKSl9LHt2YWx1ZToicHJjZSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig1MzYzMzMpKX0se3ZhbHVlOiJobHRoIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDIyMjAwMikpfSx7dmFsdWU6Im1ueSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig3NTQ0OTApKX0se3ZhbHVlOiJ0cmQiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjM5OTI5KSl9LHt2YWx1ZToiZ292Iix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDgzNDYzNCkpfSx7dmFsdWU6ImJzbnNzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDM4NTE2MikpfSx7dmFsdWU6ImNuc20iLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNjg1MTMpKX0se3ZhbHVlOiJoc2UiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjAxNTc0KSl9LHt2YWx1ZToidHhzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDI3NjgzMykpfV19XX0se3ZhbHVlOiJzdG9ja3MiLHRpdGxlOnIudChudWxsLHZvaWQgMCxuKDUyMjAxNCkpLGZpbHRlcnM6W3t0eXBlOiJzb3VyY2Utc2VsZWN0Iix1cmxQYXJhbTp7YnlDb3VudHJ5OiJjb3VudHJ5IixieUV4Y2hhbmdlOiJleGNoYW5nZSJ9LGlkOiJzdG9ja3MtY291bnRyeS1zZWxlY3QiLGFsbFNlYXJjaFNvdXJjZXNUaXRsZTpyLnQobnVsbCx2b2lkIDAsbig1MTMzMDgpKSxncm91cHM6WyJOb3J0aCBBbWVyaWNhIiwiRXVyb3BlIiwiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLCJBc2lhIC8gUGFjaWZpYyJdfSx7dHlwZToic2VsZWN0IixpZDoic3RvY2stdHlwZS1zZWxlY3QiLHVybFBhcmFtOiJzZWFyY2hfdHlwZSIsbGFiZWw6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyX2xhYmVsIn0sbig2NjI4MzQpKSxvcHRpb25zOlt7dmFsdWU6bnVsbCx0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDc2MTM2NCkpLGFuYWx5dGljc0xhYmVsOiJBbGwgdHlwZXMifSx7dmFsdWU6ImNvbW1vbl9zdG9jayIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig0NTAyNzMpKX0se3ZhbHVlOiJwcmVmZXJyZWRfc3RvY2siLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNDg3NDA0KSl9LHt2YWx1ZToiZGVwb3NpdG9yeV9yZWNlaXB0Iix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDI5MjAyMCkpfSx7dmFsdWU6IndhcnJhbnQiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNDU1NDA0KSl9LHt2YWx1ZToiaXBvX3N0b2NrIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDY3ODM1KSl9XX0se3R5cGU6InNlbGVjdCIsaWQ6InN0b2NrLXNlY3Rvci1zZWxlY3QiLHVybFBhcmFtOiJzZWN0b3IiLGxhYmVsOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlcl9sYWJlbCJ9LG4oODk1MTc2KSksb3B0aW9uczpbe3ZhbHVlOm51bGwsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig1MDI1NTMpKSxhbmFseXRpY3NMYWJlbDoiQWxsIHNlY3RvcnMifSx7dmFsdWU6IkNvbW1lcmNpYWwgU2VydmljZXMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMzAxNTkzKSl9LHt2YWx1ZToiQ29tbXVuaWNhdGlvbnMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oOTM0MjQ2KSl9LHt2YWx1ZToiQ29uc3VtZXIgRHVyYWJsZXMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjczOTQzKSl9LHt2YWx1ZToiQ29uc3VtZXIgTm9uLUR1cmFibGVzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDI0NjU1KSl9LHt2YWx1ZToiQ29uc3VtZXIgU2VydmljZXMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjQ0OTIpKX0se3ZhbHVlOiJEaXN0cmlidXRpb24gU2VydmljZXMiLHRpdGxlOnIudChudWxsLHsKY29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDI5NDgxMCkpfSx7dmFsdWU6IkVsZWN0cm9uaWMgVGVjaG5vbG9neSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig2MTIwNzUpKX0se3ZhbHVlOiJFbmVyZ3kgTWluZXJhbHMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNjYyNDgxKSl9LHt2YWx1ZToiRmluYW5jZSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig2OTExODkpKX0se3ZhbHVlOiJHb3Zlcm5tZW50Iix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDUzNTU5KSl9LHt2YWx1ZToiSGVhbHRoIFNlcnZpY2VzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDYwMTM0OSkpfSx7dmFsdWU6IkhlYWx0aCBUZWNobm9sb2d5Iix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDE1MjgwNSkpfSx7dmFsdWU6IkluZHVzdHJpYWwgU2VydmljZXMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMzgyMTQwKSl9LHt2YWx1ZToiTWlzY2VsbGFuZW91cyIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbigzNjc3NjMpKX0se3ZhbHVlOiJOb24tRW5lcmd5IE1pbmVyYWxzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDE5MTQyKSl9LHt2YWx1ZToiUHJvY2VzcyBJbmR1c3RyaWVzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDcxMjE5OCkpfSx7dmFsdWU6IlByb2R1Y2VyIE1hbnVmYWN0dXJpbmciLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oOTk2NDIwKSl9LHt2YWx1ZToiUmV0YWlsIFRyYWRlIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDM2NzU4MikpfSx7dmFsdWU6IlRlY2hub2xvZ3kgU2VydmljZXMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjg0Njc3KSl9LHt2YWx1ZToiVHJhbnNwb3J0YXRpb24iLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNDMyNzM4KSl9LHt2YWx1ZToiVXRpbGl0aWVzIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDM0MzI4NCkpfV19XX0se3ZhbHVlOiJmdXR1cmVzIix0aXRsZTpyLnQobnVsbCx2b2lkIDAsbig5NDM5MDMpKSxmaWx0ZXJzOlt7dHlwZToic291cmNlLXNlbGVjdCIsdXJsUGFyYW06e2J5Q291bnRyeToiY291bnRyeSIsYnlFeGNoYW5nZToiZXhjaGFuZ2UifSxpZDoiZnV0dXJlcy1jb3VudHJ5LXNlbGVjdCIsYWxsU2VhcmNoU291cmNlc1RpdGxlOnIudChudWxsLHZvaWQgMCxuKDUxMzMwOCkpLGdyb3VwczpbIk5vcnRoIEFtZXJpY2EiLCJFdXJvcGUiLCJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIk1leGljbyBhbmQgU291dGggQW1lcmljYSIsIkFzaWEgLyBQYWNpZmljIl19LHt0eXBlOiJzZWxlY3QiLGlkOiJmdXR1cmVzLWNhdGVnb3J5LXNlbGVjdCIsdXJsUGFyYW06InByb2R1Y3QiLGxhYmVsOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlcl9sYWJlbCJ9LG4oNTgwNTY4KSksb3B0aW9uczpbe3ZhbHVlOm51bGwsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig5Nzc3NjcpKSxhbmFseXRpY3NMYWJlbDoiQWxsIGNhdGVnb3JpZXMifSx7dmFsdWU6IkZpbmFuY2lhbC9FcXVpdHkiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNzQ2NzkyKSl9LHt2YWx1ZToiRmluYW5jaWFsL0luZGV4Iix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDcyMTc2MikpfSx7dmFsdWU6IkZpbmFuY2lhbC9DdXJyZW5jeSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig1OTg1OCkpfSx7dmFsdWU6IkZpbmFuY2lhbC9JbnRlcmVzdFJhdGUiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNjAxNTUxKSl9LHt2YWx1ZToiQ29tbW9kaXR5L0VuZXJneSIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbigyMzM4OTApKX0se3ZhbHVlOiJDb21tb2RpdHkvQWdyaWN1bHR1cmUiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNDQ2NzY3KSl9LHt2YWx1ZToiQ29tbW9kaXR5L01ldGFscyIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig3NjExMjIpKX0se3ZhbHVlOiJDb21tb2RpdHkvV2VhdGhlciIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig5MTE4NjIpKX0se3ZhbHVlOiJDb21tb2RpdHkvQnVpbGRpbmdNYXRlcmlhbHMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMTM3MzUzKSl9LHt2YWx1ZToiQ29tbW9kaXR5L0NoZW1pY2FscyIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbigzMzgxOTcpKX1dfV19LHt2YWx1ZToiZnVuZHMiLHRpdGxlOnIudChudWxsLHZvaWQgMCxuKDQ4MDQ2MSkpLGZpbHRlcnM6W3t0eXBlOiJzb3VyY2Utc2VsZWN0Iix1cmxQYXJhbTp7YnlDb3VudHJ5OiJjb3VudHJ5IixieUV4Y2hhbmdlOiJleGNoYW5nZSJ9LGlkOiJmdW5kcy1jb3VudHJ5LXNlbGVjdCIsYWxsU2VhcmNoU291cmNlc1RpdGxlOnIudChudWxsLHZvaWQgMCxuKDUxMzMwOCkpLApncm91cHM6WyJOb3J0aCBBbWVyaWNhIiwiRXVyb3BlIiwiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLCJBc2lhIC8gUGFjaWZpYyJdfSx7dHlwZToic2VsZWN0IixpZDoiZnVuZHMtdHlwZS1zZWxlY3QiLHVybFBhcmFtOiJzZWFyY2hfdHlwZSIsbGFiZWw6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyX2xhYmVsIn0sbig2NjI4MzQpKSxvcHRpb25zOlt7dmFsdWU6bnVsbCx0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDc2MTM2NCkpLGFuYWx5dGljc0xhYmVsOiJBbGwgdHlwZXMifSx7dmFsdWU6ImV0ZiIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbigyMjc4NjApKX0se3ZhbHVlOiJtdXR1YWxfZnVuZCIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig5NTc3OTgpKX0se3ZhbHVlOiJ0cnVzdF9mdW5kIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDkzNzkzNSkpfSx7dmFsdWU6InJlaXQiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oOTUwMTc0KSl9XX1dfSx7dmFsdWU6ImNyeXB0byIsdGl0bGU6ci50KG51bGwsdm9pZCAwLG4oODgyNDExKSksZmlsdGVyczpbe3R5cGU6InNvdXJjZS1zZWxlY3QiLHVybFBhcmFtOntieUNvdW50cnk6ImNvdW50cnkiLGJ5RXhjaGFuZ2U6ImV4Y2hhbmdlIn0saWQ6ImNyeXB0by1leGNoYW5nZS1zZWxlY3QiLGdyb3VwczpbIkNyeXB0b2N1cnJlbmN5IiwiRm9yZXgiXX0se3R5cGU6InNlbGVjdCIsaWQ6ImNyeXB0by10eXBlLXNlbGVjdCIsdXJsUGFyYW06InNlYXJjaF90eXBlIixsYWJlbDpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXJfbGFiZWwifSxuKDY2MjgzNCkpLG9wdGlvbnM6W3t2YWx1ZTpudWxsLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNzYxMzY0KSksYW5hbHl0aWNzTGFiZWw6IkFsbCB0eXBlcyJ9LHt2YWx1ZToiY3J5cHRvX3Nwb3QiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNDM3MzU2KSl9LHt2YWx1ZToiY3J5cHRvX3N3YXAiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMTY5MTQ1KSl9LHt2YWx1ZToiY3J5cHRvX2Z1dHVyZXMiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMjA2MTEpKX0se3ZhbHVlOiJjcnlwdG9faW5kZXgiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oNTk3MjAwKSl9LHt2YWx1ZToiY3J5cHRvX2Z1bmRhbWVudGFsIix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDk4NzQzNCkpfV19LHt0eXBlOiJzZWxlY3QiLGlkOiJjcnlwdG8tZXhjaGFuZ2UtdHlwZS1zZWxlY3QiLHVybFBhcmFtOiJjZW50cmFsaXphdGlvbiIsbGFiZWw6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyX2xhYmVsIn0sbigzNDQ3ODEpKSxvcHRpb25zOlt7dmFsdWU6bnVsbCx0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDM2NTM0MCkpLGFuYWx5dGljc0xhYmVsOiJBbGwgZXhjaGFuZ2UgdHlwZXMifSx7dmFsdWU6ImNleCIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbigxODEzMDUpKX0se3ZhbHVlOiJkZXgiLHRpdGxlOnIudChudWxsLHtjb250ZXh0OiJzeW1ib2xfc2VhcmNoX2ZpbHRlciJ9LG4oMzI4NTQ1KSl9XX1dfSx7dmFsdWU6ImZvcmV4Iix0aXRsZTpyLnQobnVsbCx2b2lkIDAsbigyNTUwOTMpKSxmaWx0ZXJzOlt7dHlwZToic291cmNlLXNlbGVjdCIsdXJsUGFyYW06ImV4Y2hhbmdlIixpZDoiZm9yZXgtZXhjaGFuZ2Utc2VsZWN0Iixncm91cHM6WyJGb3JleCJdfV19LHt2YWx1ZToiaW5kZXgiLHRpdGxlOnIudChudWxsLHZvaWQgMCxuKDU2MjY2NykpLGZpbHRlcnM6W3t0eXBlOiJzb3VyY2Utc2VsZWN0Iix1cmxQYXJhbTp7YnlDb3VudHJ5OiJjb3VudHJ5IixieUV4Y2hhbmdlOiJleGNoYW5nZSJ9LGlkOiJpbmRleC1leGNoYW5nZS1zZWxlY3QiLGdyb3VwczpbIk5vcnRoIEFtZXJpY2EiLCJFdXJvcGUiLCJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIk1leGljbyBhbmQgU291dGggQW1lcmljYSIsIkFzaWEgLyBQYWNpZmljIiwiRm9yZXgiXX1dfSx7dmFsdWU6ImJvbmQiLHRpdGxlOnIudChudWxsLHZvaWQgMCxuKDI0MzQ2NCkpLGZpbHRlcnM6W3t0eXBlOiJzb3VyY2Utc2VsZWN0Iix1cmxQYXJhbTp7YnlDb3VudHJ5OiJjb3VudHJ5IixieUV4Y2hhbmdlOiJleGNoYW5nZSJ9LGlkOiJib25kLWNvdW50cnktc2VsZWN0IixhbGxTZWFyY2hTb3VyY2VzVGl0bGU6ci50KG51bGwsdm9pZCAwLG4oNTEzMzA4KSksZ3JvdXBzOlsiTm9ydGggQW1lcmljYSIsIkV1cm9wZSIsIk1pZGRsZSBFYXN0IC8gQWZyaWNhIiwiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwiQXNpYSAvIFBhY2lmaWMiXX0se3R5cGU6InNlbGVjdCIsdXJsUGFyYW06InNlYXJjaF90eXBlIixpZDoiYm9uZC10eXBlLXNlbGVjdCIsbGFiZWw6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyX2xhYmVsIn0sbig2NjI4MzQpKSxvcHRpb25zOlt7dmFsdWU6bnVsbCx0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDc2MTM2NCkpLGFuYWx5dGljc0xhYmVsOiJBbGwgdHlwZXMifSx7dmFsdWU6ImJvbmRfZ292Iix0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9maWx0ZXIifSxuKDgzNDYzNCkpfSx7dmFsdWU6ImJvbmRfY29ycCIsdGl0bGU6ci50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2hfZmlsdGVyIn0sbig2NzU0NDMpKX1dfV19LHt2YWx1ZToib3B0aW9ucyIsdGl0bGU6ci50KG51bGwsdm9pZCAwLG4oNTg3NDY0KSksCmZpbHRlcnM6W119XX1dOyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsIm5hbWUiKXx8e30pLndyaXRhYmxlfHxPYmplY3QuZGVmaW5lUHJvcGVydHkobCwibmFtZSIse3ZhbHVlOiJkZWZhdWx0Iixjb25maWd1cmFibGU6ITB9KTtjb25zdCBhPW51bGw7ZnVuY3Rpb24gcyhlKXtyZXR1cm4ic291cmNlLXNlbGVjdCI9PT1lLnR5cGV9ZnVuY3Rpb24gaShlKXtyZXR1cm4ic2VsZWN0Ij09PWUudHlwZX1jb25zdCBjPW5ldyBNYXAobCgpWzBdLnRhYnMubWFwKChlPT5bZS52YWx1ZSxlLmZpbHRlcnMuZmlsdGVyKGkpXSkpKSx1PW5ldyBNYXAobCgpWzBdLnRhYnMubWFwKChlPT5bZS52YWx1ZSxlLmZpbHRlcnMuZmlsdGVyKHMpWzBdXSkpKSxkPXt9LG09e307bygpLmZvckVhY2goKCh7dmFsdWU6ZSxzZWFyY2hfdHlwZTp0fSk9Pntjb25zdCBuPXUuZ2V0KHQpO24mJihkW2VdPXthbGxTZWFyY2hTb3VyY2VzVGl0bGU6bi5hbGxTZWFyY2hTb3VyY2VzVGl0bGUsdmFsdWU6bi5ncm91cHN9KTtjb25zdCByPWMuZ2V0KHQpO3ImJnIubGVuZ3RoPjAmJihtW2VdPXIpfSkpfSwyNDgzMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtRdWFsaWZpZWRTb3VyY2VzOigpPT5yLHF1YWxpZnlQcm9OYW1lOigpPT5sfSk7big5MzAyMzEpO3ZhciByLG89big3Mjc1NjkpO2Z1bmN0aW9uIGwoZSl7cmV0dXJuIGV9IWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7cmV0dXJuIGUucHJvX25hbWV9ZnVuY3Rpb24gbihlKXtyZXR1cm4gZS5wcm9fbmFtZX1lLmZyb21RdW90ZXNTbmFwc2hvdD1mdW5jdGlvbihlKXtyZXR1cm4iZXJyb3IiPT09ZS5zdGF0dXM/ZS5zeW1ib2xuYW1lOmUudmFsdWVzLnByb19uYW1lfSxlLmZyb21RdW90ZXNSZXNwb25zZT1mdW5jdGlvbihlKXtjb25zdHt2YWx1ZXM6bixzeW1ib2xuYW1lOnIsc3RhdHVzOm99PWU7cmV0dXJuImVycm9yIj09PW8mJnI/cjp0KG4pfSxlLmZyb21RdW90ZXM9dCxlLmZyb21TeW1ib2xTZWFyY2hSZXN1bHQ9ZnVuY3Rpb24oZSx0KXt7Y29uc3R7ZXhjaGFuZ2U6bn09ZSx7c3ltYm9sOnIscHJlZml4Omx9PXQ/P2U7cmV0dXJuKDAsby5nZXRTeW1ib2xGdWxsTmFtZSkoe25hbWU6cixleGNoYW5nZTpuLHByZWZpeDpsfSl9fSxlLmZyb21TeW1ib2xJbmZvPW4sZS5mcm9tU3ltYm9sTWVzc2FnZT1mdW5jdGlvbihlLHQpe3JldHVybiJzeW1ib2xfcmVzb2x2ZWQiPT09dC5tZXRob2Q/bih0LnBhcmFtc1sxXSk6ZX19KHJ8fChyPXt9KSl9LDE4NzMzOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjcmVhdGVTZWFyY2hTb3VyY2VzOigpPT5pLGZpbHRlclNlYXJjaFNvdXJjZXM6KCk9PmEsaXNBbGxTZWFyY2hTb3VyY2VzU2VsZWN0ZWQ6KCk9Pmwsc3BsaXRTZWFyY2hTb3VyY2VzQnlHcm91cDooKT0+c30pO3ZhciByPW4oMzk4MTMyKTtjb25zdCBvPVtyLkV4Y2hhbmdlR3JvdXAuTm9ydGhBbWVyaWNhLHIuRXhjaGFuZ2VHcm91cC5FdXJvcGUsci5FeGNoYW5nZUdyb3VwLk1pZGRsZUVhc3RBZnJpY2Esci5FeGNoYW5nZUdyb3VwLk1leGljb1NvdXRoQW1lcmljYSxyLkV4Y2hhbmdlR3JvdXAuQXNpYVBhY2lmaWMsci5FeGNoYW5nZUdyb3VwLkNyeXB0b2N1cnJlbmN5LHIuRXhjaGFuZ2VHcm91cC5Gb3JleCxyLkV4Y2hhbmdlR3JvdXAuRWNvbm9teV07ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS5ncm91cCgpPT09ci5FeGNoYW5nZUdyb3VwLkFsbEV4Y2hhbmdlc31mdW5jdGlvbiBhKGUsdCl7cmV0dXJuIGUuZmlsdGVyKChlPT5lLmluY2x1ZGVzKHQpKSl9ZnVuY3Rpb24gcyhlKXtjb25zdCB0PW5ldyBNYXA7ZS5mb3JFYWNoKChlPT57dC5oYXMoZS5ncm91cCgpKT90LmdldChlLmdyb3VwKCkpLnB1c2goZSk6dC5zZXQoZS5ncm91cCgpLFtlXSl9KSk7Zm9yKGNvbnN0IGUgb2YgdC52YWx1ZXMoKSl7ZVswXS5ncm91cCgpIT09ci5FeGNoYW5nZUdyb3VwLk5vcnRoQW1lcmljYSYmZS5zb3J0KCgoZSx0KT0+ZS5uYW1lKCkudG9Mb3dlckNhc2UoKT50Lm5hbWUoKS50b0xvd2VyQ2FzZSgpPzE6LTEpKX1yZXR1cm4gbmV3IE1hcChbLi4udC5lbnRyaWVzKCldLnNvcnQoKChbZV0sW3RdKT0+by5pbmRleE9mKGUpLW8uaW5kZXhPZih0KSkpKX1mdW5jdGlvbiBpKGUsdCl7cmV0dXJuIHQubWFwKCh0PT5uZXcgZSh0KSkpfX0sNTA0MDcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3ltYm9sU2VhcmNoRGlhbG9nQm9keUNvbnRleHQ6KCk9PnJ9KTtjb25zdCByPW4oNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSw0OTA1ODAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3ltYm9sU2VhcmNoRmVlZEhlYWRlcjooKT0+RH0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxsPW4ubihvKSxhPW4oNzgzMjU0KSxzPW4oMTM2NjMpLGk9big1NjEyMDUpLGM9bigxMzg2MzgpLHU9bigyNzMzMTApLGQ9bigyMzI2NzYpLG09big0Njc2NTIpLHA9big4NjU5NzIpLGg9big4OTY4MzEpLGY9big2MjY3MDQpLFM9bigyNDYzNTApLGc9bigyMTA5ODApLHk9big0OTE2NDApLGI9bigyMDcyNDEpLHY9big3MDg4NDIpLF89big3Mjc1NjkpLEU9big5MjMyMzkpLEM9bigxODYzODQpLFQ9big5MjE3MDgpLHg9bigzMDE3MDgpO2NvbnN0IEk9KDAsXy5nZXREZWZhdWx0U2VhcmNoU291cmNlKSgpO2Z1bmN0aW9uIHcoZSl7Y29uc3R7bW9kZTp0LHNldE1vZGU6byxzZWFyY2hSZWY6dyxjYWNoZWRJbnB1dFZhbHVlOk4sc2V0U2VsZWN0ZWRJbmRleDpSLHNldFNlbGVjdGVkU2VhcmNoU291cmNlOkEsaXNBbGxTZWFyY2hTb3VyY2VzU2VsZWN0ZWQ6TCxhbGxTZWFyY2hTb3VyY2VzVGl0bGU6ayx1cHBlckNhc2VFbmFibGVkOk8sc3ltYm9sU2VhcmNoQ29udGVudDpNfT0oMCxzLnVzZUVuc3VyZWRDb250ZXh0KShpLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCksRD1NLmN1cnJlbnRTZWxlY3RlZFNlYXJjaFNvdXJjZSxQPSgwLGMuZW5zdXJlTm90TnVsbCkoRCksRj0ic3ltYm9sU2VhcmNoIj09PXQsQj1MKFApLEg9Xy5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicyYmQiYmaz9rOlAubmFtZSgpLFU9KDAsci51c2VDYWxsYmFjaykoKCgpPT57SSYmKEEoSSksUigtMSksCncuY3VycmVudD8uZm9jdXMoKSl9KSxbdyxBXSksVz0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9Pnt3LmN1cnJlbnQmJihOLmN1cnJlbnQ9Tz93LmN1cnJlbnQudmFsdWUudG9VcHBlckNhc2UoKTp3LmN1cnJlbnQudmFsdWUpLG8oImV4Y2hhbmdlIil9KSxbdyxPLG9dKSxWPSgwLHIudXNlQ2FsbGJhY2spKCgoKT0+e18uaXNTZXBhcmF0ZVN5bWJvbFNlYXJjaFRhYnMmJiFCP1UoKTpXKCl9KSxbQix3LE8sbyxVXSksRz1CP251bGw6ci5jcmVhdGVFbGVtZW50KEUuU3ltYm9sU2VhcmNoRmxhZyx7a2V5OlAudmFsdWUoKSxjbGFzc05hbWU6eC5pY29uLGNvdW50cnk6UC5jb3VudHJ5KCkscHJvdmlkZXJJZDpQLnByb3ZpZGVySWQoKSxzb3VyY2VJZDpQLnNvdXJjZUlkKCl9KTtyZXR1cm4gXy5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz9GP3IuY3JlYXRlRWxlbWVudChwLlBpbGxDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp7c2l6ZToieHNtYWxsIn19LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtcWEtaWQiOiJzb3VyY2VzLWJ1dHRvbiJ9LHIuY3JlYXRlRWxlbWVudChkLlBpbGwse3R5cGU6Qj8iZ2hvc3QiOiJ0ZXJ0aWFyeSJ9LHIuY3JlYXRlRWxlbWVudChtLlBpbGxBY3RpdmVBcmVhLHtvbkNsaWNrOlcsImRhdGEtcWEtaWQiOiJzcy1maWx0ZXItc2VsZWN0LWJ1dHRvbiJ9LHIuY3JlYXRlRWxlbWVudChiLlBpbGxMYXlvdXRVbml2ZXJzYWwse3N0YXJ0SWNvblNsb3Q6ci5jcmVhdGVFbGVtZW50KGguUGlsbExheW91dEVxdWlsYXRlcmFsLG51bGwsRyksc3RhcnRUZXh0U2xvdDpCP3IuY3JlYXRlRWxlbWVudChTLlBpbGxQcmltYXJ5VGV4dCxudWxsLEgpOnIuY3JlYXRlRWxlbWVudChnLlBpbGxBY3RpdmVUZXh0LG51bGwsSCksZW5kSWNvblNsb3Q6Qj9yLmNyZWF0ZUVsZW1lbnQoeS5BcnJvd0ljb25QaWxsUGFydCx7b3BlbjohMX0pOnZvaWQgMH0pKSwhQiYmci5jcmVhdGVFbGVtZW50KG0uUGlsbEFjdGl2ZUFyZWEseyJkYXRhLXFhLWlkIjoic3MtZmlsdGVyLXJlc2V0LWJ1dHRvbiIsb25DbGljazpVfSxyLmNyZWF0ZUVsZW1lbnQoaC5QaWxsTGF5b3V0RXF1aWxhdGVyYWwsbnVsbCxyLmNyZWF0ZUVsZW1lbnQoZi5TdmdJY29uUGlsbFBhcnQse2ljb25Tdmc6Q30pKSkpKSk6bnVsbDpGP3IuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKSh4LmZsYWdXcmFwLCJhcHBseS1jb21tb24tdG9vbHRpcCIsIUImJngud2l0aEZsYWcpLHRpdGxlOmEudChudWxsLHZvaWQgMCxuKDQ3OTI0NikpLG9uQ2xpY2s6ViwiZGF0YS1xYS1pZCI6InNvdXJjZXMtYnV0dG9uIn0sQiYmci5jcmVhdGVFbGVtZW50KHUuSWNvbix7Y2xhc3NOYW1lOnguaWNvbixpY29uOlR9KSxHLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKSh4LnRpdGxlKX0sSCksci5jcmVhdGVFbGVtZW50KHYuVG9vbFdpZGdldENhcmV0LHtjbGFzc05hbWU6eC5jYXJldCxkcm9wcGVkOiExfSkpOm51bGx9dmFyIE49big3ODMxMTYpLFI9bigxMjQ2MjUpLEE9big4MDg5NDYpO2Z1bmN0aW9uIEwoZSl7Y29uc3R7c2VsZWN0ZWRPcHRpb246dCxkZWZhdWx0T3B0aW9uOm4sb3B0aW9uczpvLG9uU2VsZWN0OmwsbGFiZWw6YSwuLi5zfT1lLHthbmNob3JQcm9wczppLHBvcG92ZXJQcm9wczpjfT0oMCxSLnVzZU1lbnVBbmNob3JQcm9wcykoKSx1PSgwLHIudXNlTWVtbykoKCgpPT5be3R5cGU6InRpdGxlIix0aXRsZTphLHZpc2libGU6Im1vYmlsZU9ubHkifSx7dHlwZToiZGl2aWRlciIsdmlzaWJsZToibW9iaWxlT25seSJ9LC4uLm8ubWFwKChlPT4oe3RpdGxlOmUudGl0bGUsb25DbGljazooKT0+bChlKSxzZWxlY3RlZDp0LnZhbHVlPT09ZS52YWx1ZX0pKSldKSxbbyxsLGMsYV0pLHY9KDAsci51c2VDYWxsYmFjaykoKCgpPT5sKG4pKSxbbCxuXSksXz10LnNob3J0VGl0bGU/P3QudGl0bGUsRT10LnNob3J0VGl0bGUmJnQuc2hvcnRUaXRsZSE9PXQudGl0bGU/dC50aXRsZTp2b2lkIDAsVD10LnZhbHVlIT09bi52YWx1ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KHIuRnJhZ21lbnQsbnVsbCxyLmNyZWF0ZUVsZW1lbnQocC5QaWxsQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6e3NpemU6InhzbWFsbCJ9fSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLnN9LHIuY3JlYXRlRWxlbWVudChkLlBpbGwse3R5cGU6VD8idGVydGlhcnkiOiJnaG9zdCJ9LHIuY3JlYXRlRWxlbWVudChtLlBpbGxBY3RpdmVBcmVhLHsuLi5pLHRvb2x0aXA6RSwiZGF0YS1xYS1pZCI6InNzLWZpbHRlci1zZWxlY3QtYnV0dG9uIn0sci5jcmVhdGVFbGVtZW50KGIuUGlsbExheW91dFVuaXZlcnNhbCx7c3RhcnRUZXh0U2xvdDpUP3IuY3JlYXRlRWxlbWVudChnLlBpbGxBY3RpdmVUZXh0LG51bGwsXyk6ci5jcmVhdGVFbGVtZW50KFMuUGlsbFByaW1hcnlUZXh0LG51bGwsXyksZW5kSWNvblNsb3Q6VD92b2lkIDA6ci5jcmVhdGVFbGVtZW50KHkuQXJyb3dJY29uUGlsbFBhcnQse29wZW46Yy5pc09wZW59KX0pKSxUJiZyLmNyZWF0ZUVsZW1lbnQobS5QaWxsQWN0aXZlQXJlYSx7b25DbGljazp2LCJkYXRhLXFhLWlkIjoic3MtZmlsdGVyLXJlc2V0LWJ1dHRvbiJ9LHIuY3JlYXRlRWxlbWVudChoLlBpbGxMYXlvdXRFcXVpbGF0ZXJhbCxudWxsLHIuY3JlYXRlRWxlbWVudChmLlN2Z0ljb25QaWxsUGFydCx7aWNvblN2ZzpDfSkpKSkpKSxyLmNyZWF0ZUVsZW1lbnQoQS5NZW51UG9wb3Zlcix7Li4uYyxpdGVtczp1fSkpfXZhciBrPW4oMzg2OTMxKSxPPW4oNzM4NDU4KSxNPW4oNTk0NzgwKTtmdW5jdGlvbiBEKGUpe2NvbnN0e3RyYWRpbmdGaWx0ZXJCdXR0b246dD1udWxsfT1lLHtpc1NtYWxsV2lkdGg6byxzZWxlY3RlZEZpbHRlclZhbHVlczpjLHNldFNlbGVjdGVkRmlsdGVyVmFsdWVzOnUsc2V0U2VsZWN0ZWRJbmRleDpkLHNlYXJjaFJlZjptLHN5bWJvbFNlYXJjaENvbnRlbnQ6cH09KDAscy51c2VFbnN1cmVkQ29udGV4dCkoaS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpLGg9cC50YWJTZWxlY3RGaWx0ZXJzO2lmKF8uaXNTZXBhcmF0ZVN5bWJvbFNlYXJjaFRhYnMpewpyZXR1cm4gdHx8cC5jYW5DaGFuZ2VFeGNoYW5nZXx8aCYmaC5sZW5ndGg+MD9yLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoTS53cmFwLE0uc21hbGwsTS5uZXdTdHlsZXMsTy5tb2JpbGV0b3VjaCYmTS5tb2JpbGUpfSx0JiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLnRyYWRpbmdGaWx0ZXJCdXR0b25XcmFwfSx0KSxwLmNhbkNoYW5nZUV4Y2hhbmdlJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLmZpbHRlckl0ZW19LHIuY3JlYXRlRWxlbWVudCh3LG51bGwpKSxoJiZoLm1hcCgoZT0+e2NvbnN0e2lkOnQsb3B0aW9uczpuLGxhYmVsOm99PWUsbD1uLmZpbmQoKGU9PmUudmFsdWU9PT1OLkZJTFRFUl9ERUZBVUxUX1ZBTFVFKSk7aWYoIWwpdGhyb3cgbmV3IEVycm9yKCJUaGVyZSBtdXN0IGJlIGRlZmF1bHQgZmlsdGVyIHZhbHVlIGluIGZpbHRlciBkZWZpbml0aW9uIik7Y29uc3QgYT1uLmZpbmQoKGU9PmUudmFsdWU9PT1jW3AuY3VycmVudFN5bWJvbFR5cGVdPy5bdF0pKXx8bDtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtrZXk6dCxjbGFzc05hbWU6TS5maWx0ZXJJdGVtfSxyLmNyZWF0ZUVsZW1lbnQoTCx7c2VsZWN0ZWRPcHRpb246YSxkZWZhdWx0T3B0aW9uOmwsb3B0aW9uczpuLG9uU2VsZWN0OmU9Pnt1KHAuY3VycmVudFN5bWJvbFR5cGUse1t0XTplLnZhbHVlfSksKDAsay50cmFja0V2ZW50KSgiTmV3IFNTIixwLmN1cnJlbnRTeW1ib2xUeXBlLG51bGw9PT1lLnZhbHVlP2UuYW5hbHl0aWNzTGFiZWw6ZS52YWx1ZSksZCgtMSksbS5jdXJyZW50Py5mb2N1cygpfSxsYWJlbDpvLCJkYXRhLXFhLWlkIjp0fSkpfSkpKTpyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLmVtcHR5U3BhY2V9KX1yZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKE0ud3JhcCxvJiZNLnNtYWxsKX0sci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6TS5pdGVtfSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLnRleHR9LG8/YS50KG51bGwsdm9pZCAwLG4oMTAwMzczKSk6YS50KG51bGwsdm9pZCAwLG4oNjEzMTYzKSkpKSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLml0ZW19LCFvJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLnRleHR9LGEudChudWxsLHZvaWQgMCxuKDM5Nzk4NykpKSxwLmNhbkNoYW5nZUV4Y2hhbmdlJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpNLmV4Y2hhbmdlfSxyLmNyZWF0ZUVsZW1lbnQodyxudWxsKSkpKX19LDIwMTk2MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTeW1ib2xTZWFyY2hGZWVkOigpPT5nfSk7dmFyIHI9big3Nzk0NzQpLG89big2ODA5MTUpLGw9big5MTQ0ODcpLGE9bi5uKGwpLHM9bigxMzg2MzgpLGk9big3MTk0MjUpLGM9big1NjEyMDUpLHU9big0OTA1ODApLGQ9big5NjkxNjgpLG09bigxMzY2MykscD1uKDcyNzU2OSksaD1uKDI4NDU4KSxmPW4oNjQxOTApLFM9big1OTY4OTgpO2Z1bmN0aW9uIGcoZSl7Y29uc3R7b25Ub3VjaE1vdmU6dCxsaXN0UmVmOm4sY2xhc3NOYW1lOmwsbGlzdFdyYXBSZWY6Zyx2aXJ0dWFsTGlzdEtleTp5LGl0ZW1zOmIsZ2V0SXRlbVNpemU6dixoaWRlRmVlZDpfLGNhbkxvYWRNb3JlOkUsb25Mb2FkTW9yZVN5bWJvbHM6Q309ZSx7bW9kZTpULGlzU21hbGxXaWR0aDp4LGhhbmRsZUxpc3RXaWR0aDpJfT0oMCxtLnVzZUVuc3VyZWRDb250ZXh0KShjLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCksW3csTl09KDAsci51c2VTdGF0ZSkobnVsbCksUj0oMCxpLnVzZVJlc2l6ZU9ic2VydmVyKSgoZnVuY3Rpb24oW2VdKXtOKGUuY29udGVudFJlY3QuaGVpZ2h0KSxJKGUuY29udGVudFJlY3Qud2lkdGgpfSkpLEE9KDAsci51c2VDYWxsYmFjaykoKGU9Pntjb25zdHtpbmRleDp0LHN0eWxlOm59PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6bn0sYlt0XSl9KSxbYl0pLEw9KDAsci51c2VDYWxsYmFjaykoKGU9PigwLHMuZW5zdXJlKShiW2VdLmtleSkpLFtiXSksaz0id2F0Y2hsaXN0Ij09PVQmJm51bGwhPT13LE89KDAsaC51c2VJbnRlcnNlY3Rpb25PYnNlcnZlcikoKGU9Pntjb25zdCB0PWUucG9wKCk7dm9pZCAwIT09dCYmdC5pc0ludGVyc2VjdGluZyYmQyYmQygpfSkse3RocmVzaG9sZDowLHJvb3RNYXJnaW46IjBweCAwcHggMjBweCAwcHgiLHJvb3Q6Z30pO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkoUy53cmFwLGsmJlMud2F0Y2hsaXN0LF8mJlMubm9GZWVkLF8mJnAuaXNTZXBhcmF0ZVN5bWJvbFNlYXJjaFRhYnMmJlMubmV3U3R5bGVzLGwpLG9uVG91Y2hNb3ZlOnQscmVmOlJ9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOmcsY2xhc3NOYW1lOmEoKShTLnNjcm9sbENvbnRhaW5lcixfJiZTLm5vRmVlZCl9LGs/ci5jcmVhdGVFbGVtZW50KG8uVmFyaWFibGVTaXplTGlzdCx7a2V5OnkscmVmOm4sY2xhc3NOYW1lOlMud2F0Y2hsaXN0Q29udGFpbmVyLHdpZHRoOiIxMDAlIixoZWlnaHQ6KDAscy5lbnN1cmVOb3ROdWxsKSh3KSxpdGVtQ291bnQ6Yi5sZW5ndGgsaXRlbVNpemU6dixjaGlsZHJlbjpBLGl0ZW1LZXk6TCxvdmVyc2NhbkNvdW50OjIwLGRpcmVjdGlvbjooMCxkLmlzUnRsKSgpPyJydGwiOiJsdHIifSk6ci5jcmVhdGVFbGVtZW50KHIuRnJhZ21lbnQsbnVsbCxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkoUy5saXN0Q29udGFpbmVyLHgmJlMubXVsdGlMaW5lSXRlbXNDb250YWluZXIpfSwhcC5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicyYmci5jcmVhdGVFbGVtZW50KHUuU3ltYm9sU2VhcmNoRmVlZEhlYWRlcixudWxsKSwuLi5iLEUmJnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7a2V5OmBvYnNlcnZlci0ke2IubGVuZ3RofWAsY2xhc3NOYW1lOmEoKShTLnNwaW5uZXJDb250YWluZXIseCYmUy5sYXJnZVNwaW5uZXIpLHJlZjpPfSxyLmNyZWF0ZUVsZW1lbnQoZi5TcGlubmVyLHtzaXplOng/InNtYWxsIjoibWluaSJ9KSkpKSkpfX0sNTk3NjU0KGUsdCxuKXsKInVzZSBzdHJpY3QiO24uZCh0LHtTeW1ib2xTZWFyY2hJdGVtc0RpYWxvZzooKT0+Z259KTt2YXIgcixvLGw9big3Nzk0NzQpLGE9big5MTQ0ODcpLHM9bi5uKGEpLGk9big5MzAyMzEpLGM9big3ODMyNTQpLHU9bigyMjUyOTgpLGQ9big4NTE0NTgpLG09big3Mjc1NjkpO2Z1bmN0aW9uIHAoZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtsZXQgdCxuPTAscj0wO2ZvcihsZXQgbz0wO288ZS5sZW5ndGg7bysrKXtjb25zdCBsPWVbb107aWYoIndoaXRlc3BhY2UiIT09bC50eXBlKXN3aXRjaChuKXtjYXNlIDA6aWYoIm51bWJlciIhPT1sLnR5cGV8fDEhPStsLnZhbHVlKXJldHVybltdO249MTticmVhaztjYXNlIDE6aWYoMSE9PW58fCJkaXZpZGUiIT09bC50eXBlKXJldHVybltdO249Mix0PW8rMTticmVhaztjYXNlIDI6aWYoIm9wZW5CcmFjZSI9PT1sLnR5cGUpbj0zLHI9MTtlbHNlIGlmKCgwLGQuaXNCaW5hcnlPcGVyYXRvcikobC50eXBlKSlyZXR1cm5bXTticmVhaztjYXNlIDM6Im9wZW5CcmFjZSI9PT1sLnR5cGU/cisrOiJjbG9zZUJyYWNlIj09PWwudHlwZSYmKHItLSxyPD0wJiYobj0yKSl9fXJldHVybiBlLnNsaWNlKHQpfShlKTtyZXR1cm4gdC5sZW5ndGg/KDAsZC5mYWN0b3JPdXRCcmFjZXMpKHQpOigwLGQuZmFjdG9yT3V0QnJhY2VzKSgoMCxkLnRva2VuaXplKSgiMS8oIitoKGUpKyIpIikpfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGUucmVkdWNlKCgoZSx0KT0+InN5bWJvbCI9PT10LnR5cGUmJmQuc3ltYm9sVG9rZW5Fc2NhcGVSZS50ZXN0KHQudmFsdWUpP2UrYCcke3QudmFsdWV9J2A6ZSt0LnZhbHVlKSwiIil9ZnVuY3Rpb24gZihlKXtjb25zdCB0PWZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsZC50b2tlbml6ZSkoZSksbj1bXTtyZXR1cm4gdC5mb3JFYWNoKChlPT57aWYoInN5bWJvbCIhPT1lLnR5cGUpcmV0dXJuO2NvbnN0W3RdPSgwLGQucGFyc2VUb2tlbikoZSk7dCYmbi5wdXNoKHQpfSkpLG59KGUpO2lmKDE9PT10Lmxlbmd0aClyZXR1cm4gdFswXX1mdW5jdGlvbiBTKGUsdCxuKXtjb25zdCByPWUudmFsdWUsW28sbF09ZyhlLG4pLGE9KDAsbS5nZXRTeW1ib2xGdWxsTmFtZSkodCkscz1kLnN5bWJvbFRva2VuRXNjYXBlUmUudGVzdChhKT9gJyR7YX0nYDphO3JldHVybltyLnN1YnN0cmluZygwLGwpK3Mrci5zdWJzdHJpbmcobCtvLmxlbmd0aCksbCtzLmxlbmd0aF19ZnVuY3Rpb24gZyhlLHQpe2NvbnN0e3ZhbHVlOm4sc2VsZWN0aW9uU3RhcnQ6cn09ZSxvPSgwLGQudG9rZW5pemUpKHQ/bi50b1VwcGVyQ2FzZSgpOm4pLGw9KDAsZC5nZXRUb2tlbkF0UG9zKShvLHJ8fDApO3JldHVybltsPy52YWx1ZXx8IiIsbD9sLm9mZnNldDpuLmxlbmd0aCxvXX0hZnVuY3Rpb24oZSl7ZS5Jbml0PSJpbml0IixlLlZhcj0idmFyIixlLk9wZXJhdG9yPSJvcGVyYXRvciJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZVtlLkluaXQ9MF09IkluaXQiLGVbZS5EaXY9MV09IkRpdiIsZVtlLkV4cHJlc3Npb249Ml09IkV4cHJlc3Npb24iLGVbZS5CcmFjZWRFeHByZXNzaW9uPTNdPSJCcmFjZWRFeHByZXNzaW9uIn0ob3x8KG89e30pKTt2YXIgeT1uKDU2OTM5OCksYj1uKDkzMDU2Niksdj1uKDgzOTQyNiksXz1uKDQxMTQwNyk7ZnVuY3Rpb24gRSgpe2NvbnN0IGU9ZnVuY3Rpb24oKXtjb25zdCBlPSgwLF8udHJhZGluZ1NlcnZpY2UpKCk7cmV0dXJuIGUmJjE9PT1lLmNvbm5lY3RTdGF0dXMoKT9lLmFjdGl2ZUJyb2tlcigpOm51bGx9KCk7cmV0dXJuIGU/e2Jyb2tlcjplLGFjY291bnRNZXRhaW5mbzooMCx2LmRlZmF1bHQpKCgoKT0+ZS5hY2NvdW50TWV0YWluZm8oKSkpfTpudWxsfWZ1bmN0aW9uIEMoKXtjb25zdCBlPWZ1bmN0aW9uKCl7Y29uc3RbZSx0XT0oMCxsLnVzZVN0YXRlKShFKTtyZXR1cm4oMCxsLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT0oMCxfLnRyYWRpbmdTZXJ2aWNlKSgpLG49KCk9Pnt0KEUoKSl9O3JldHVybiBlJiYoZS5vbkJyb2tlckNoYW5nZS5zdWJzY3JpYmUobnVsbCxuKSxlLm9uQ29ubmVjdGlvblN0YXR1c0NoYW5nZS5zdWJzY3JpYmUobnVsbCxuKSksKCk9PntlJiYoZS5vbkJyb2tlckNoYW5nZS51bnN1YnNjcmliZShudWxsLG4pLGUub25Db25uZWN0aW9uU3RhdHVzQ2hhbmdlLnVuc3Vic2NyaWJlKG51bGwsbikpfX0pLFtdKSxlfSgpLHQ9ZT8uYnJva2VyPz9udWxsLG49KDAsbC51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2lmKGUmJmUubWV0YWluZm8oKS5jb25maWdGbGFncy5zdXBwb3J0U3ltYm9sU2VhcmNoKXJldHVybiBlLm1ldGFpbmZvKCkuYmFja2VuZEJyb2tlck5hbWV8fGUubWV0YWluZm8oKS5pZC50b0xvd2VyQ2FzZSgpO3JldHVybn0odCkpLFt0XSkscj0oMCxsLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSx0KXtpZih0KXJldHVybiBlPy5tZXRhaW5mbygpLnRpdGxlO3JldHVybn0odCxuKSksW3Qsbl0pLG89KDAsbC51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2lmKGUpcmV0dXJue2xvZ29NaW5pVXJsOmUubWV0YWluZm8oKS5sb2dvTWluaVVybCxsb2dvTWluaUJsYWNrVXJsOmUubWV0YWluZm8oKS5sb2dvTWluaUJsYWNrVXJsfTtyZXR1cm59KHQpKSxbdF0pLGE9KDAsbC51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2lmKGUpe2NvbnN0IHQ9ZS5tZXRhaW5mbygpLmNvbmZpZ0ZsYWdzLnN1cHBvcnRVbmhpZGVTeW1ib2xTZWFyY2hHcm91cHM7aWYoMT09PWUuY29ubmVjdGlvblN0YXR1cygpJiZ0JiZlLnVuaGlkZVN5bWJvbFNlYXJjaEdyb3VwcylyZXR1cm4gZS51bmhpZGVTeW1ib2xTZWFyY2hHcm91cHMoKS5qb2luKCIsIil9cmV0dXJufSh0KSksW3RdKSxzPSgwLGwudXNlTWVtbykoKCgpPT5mdW5jdGlvbihlKXtyZXR1cm4gQm9vbGVhbihlPy5tZXRhaW5mbygpLmNvbmZpZ0ZsYWdzLnN1cHBvcnREaXNwbGF5QnJva2VyTmFtZUluU3ltYm9sU2VhcmNoKX0odCkpLFt0XSksW2ksY109KDAsbC51c2VTdGF0ZSkoKCgpPT5iLmdldEJvb2woInN5bWJvbGVkaXQudHJhZGFibGUiLCEwKSkpO3JldHVybigwLGwudXNlRWZmZWN0KSgoKCk9PntiLnNldFZhbHVlKCJzeW1ib2xlZGl0LnRyYWRhYmxlIixpKX0pLFtpXSkse2Jyb2tlcldyYXBwZXI6ZSwKYnJva2VySWQ6bixicm9rZXJUaXRsZTpyLGJyb2tlckxvZ29JbmZvOm8saXNCcm9rZXJDaGVja2VkOmksc2V0SXNCcm9rZXJDaGVja2VkOmMsZGlzcGxheUJyb2tlclN5bWJvbDpzLHVuaGlkZVN5bWJvbFNlYXJjaEdyb3VwczphfX12YXIgVD1uKDY5NzQ3MikseD1uKDM5ODEzMik7ZnVuY3Rpb24gSShlKXtjb25zdFt0LG5dPSgwLGwudXNlU3RhdGUpKCgoKT0+e2NvbnN0e3NlYXJjaFNvdXJjZXM6dH09ZSxuPWIuZ2V0SlNPTigic3ltYm9sZWRpdC5zZWxlY3RlZFNlYXJjaFNvdXJjZXMiLHt9KSxyPXt9O3JldHVybiBPYmplY3Qua2V5cyhuKS5mb3JFYWNoKChlPT57Y29uc3Qgbz10LmZpbmQoKHQ9PnQudmFsdWUoKT09PW5bZV0pKTtvJiYocltlXT1vKX0pKSxyfSkpO3JldHVyblt0LCgwLGwudXNlQ2FsbGJhY2spKCgoZSx0KT0+e24oKG49Pntjb25zdCByPXsuLi5uLFtlXTp0fTtyZXR1cm4gZnVuY3Rpb24oZSl7Y29uc3QgdD17fTtPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChuPT57dFtuXT1lW25dLnZhbHVlKCl9KSksYi5zZXRKU09OKCJzeW1ib2xlZGl0LnNlbGVjdGVkU2VhcmNoU291cmNlcyIsdCl9KHIpLHJ9KSl9KSxbXSldfXZhciB3PW4oMTM4NjM4KTt2YXIgTj1uKDc4MzExNiksUj1uKDM0NDEwMyksQT1uKDMyMDU1KTtjb25zdCBMPW5ldyBTZXQoWyJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJkZXNjcmlwdGlvbiIsImV4Y2hhbmdlIiwidHlwZSIsImNvdW50cnlfY29kZSIsInByb3ZpZGVyX2lkIiwibG9nbyIsInNvdXJjZS1sb2dvaWQiLCJ1cGRhdGVfbW9kZSIsInR5cGVzcGVjcyIsInNvdXJjZSIsInNvdXJjZTIiXSk7YXN5bmMgZnVuY3Rpb24gaygpe3JldHVybiBhc3luYyBmdW5jdGlvbihlKXtjb25zdCB0PVtdLG49YXdhaXQoMCxBLnNuYXBzaG90ZXIpKCkuZ2V0U25hcHNob3RzRm9yQWxsKGUsTCk7cmV0dXJuIG4uZmlsdGVyKEQpLmZvckVhY2goKGU9Pntjb25zdHt2YWx1ZXM6e3Nob3J0X25hbWU6bixwcm9fbmFtZTpyLGRlc2NyaXB0aW9uOm8sdHlwZTpsLGxvZ286YSwic291cmNlLWxvZ29pZCI6cyxjb3VudHJ5X2NvZGU6aSxwcm92aWRlcl9pZDpjLHVwZGF0ZV9tb2RlOnUsdHlwZXNwZWNzOmQsc291cmNlOm0sc291cmNlMjpwfX09ZTtvJiZsJiZ0LnB1c2goe2Z1bGxfbmFtZTpyLHN5bWJvbDoic3ByZWFkIj09PWw/cjpuLGV4Y2hhbmdlOiJzcHJlYWQiPT09bD9udWxsOigwLFIuZ2V0RXhjaGFuZ2UpKHIpLGRlc2NyaXB0aW9uOm8sdHlwZTpsLHR5cGVzcGVjczpkLGxvZ286YSxzb3VyY2VfbG9nb2lkOnMsY291bnRyeTppPy50b0xvd2VyQ2FzZSgpLHByb3ZpZGVyX2lkOmM/LnRvTG93ZXJDYXNlKCkscGFyYW1zOiJlbmRvZmRheSI9PT11P1siZW9kIl06dm9pZCAwLHNvdXJjZTptLHNvdXJjZTI6cH0pfSkpLHR9KGIuZ2V0SlNPTigiU3ltYm9sU2VhcmNoLnJlY2VudCIsW10pLmZpbHRlcigoZT0+InN0cmluZyI9PXR5cGVvZiBlKSkpfWFzeW5jIGZ1bmN0aW9uIE8oZSl7Y29uc3QgdD1hd2FpdCBhc3luYyBmdW5jdGlvbihlKXtjb25zdCB0PWF3YWl0KDAsQS5zbmFwc2hvdGVyKSgpLmdldFNuYXBzaG90KGUsTCk7cmV0dXJuIEQodCk/dC52YWx1ZXMucHJvX25hbWU6bnVsbH0oZSk7bnVsbCE9PXQmJk0odCl9ZnVuY3Rpb24gTShlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuO2NvbnN0IHQ9bmV3IFNldChiLmdldEpTT04oIlN5bWJvbFNlYXJjaC5yZWNlbnQiLFtdKSk7dC5oYXMoZSkmJnQuZGVsZXRlKGUpLHQuaGFzKG51bGwpJiZ0LmRlbGV0ZShudWxsKSxiLnNldEpTT04oIlN5bWJvbFNlYXJjaC5yZWNlbnQiLFtlLC4uLnRdLnNsaWNlKDAsMzApKX1mdW5jdGlvbiBEKGUpe3JldHVybiJlcnJvciIhPT1lLnN0YXR1c312YXIgUD1uKDM4NjkzMSksRj1uKDU4OTkxNSksQj1uKDQwMTA3OCksSD1uKDkzMTc1NyksVT1uKDM0OTM0MSksVz1uKDc2NTU5KSxWPW4oNDgwMjg0KSxHPW4oNzc3NjgwKSxRPW4oMjE0OTg3KSx6PW4oNjE2MzExKSwkPW4oMTg1MjcxKSxxPW4oMTQ5MjAwKSxLPW4oMzE1MzIwKSxZPW4oNDg4NzgyKSxYPW4oMTIzNjMxKSxqPW4oODY2NzEpLFo9bigxMzY3NTEpLEo9big1NDY1NTkpLGVlPW4oMzcwNjQyKSx0ZT1uKDYwNzM0NSksbmU9big3OTExNDApLHJlPW4oMzYzOTU4KSxvZT1uKDc2NTkxNCksbGU9big2MDE4NDEpLGFlPW4oNzU1NjI3KSxzZT1uKDgxMDA1OSksaWU9big3MDYwNTApLGNlPW4oNTUxNTA1KSx1ZT1uKDUxODc1KSxkZT1uKDU5NTE4OSksbWU9big3MjY4MjYpLHBlPW4oNjkyOTU2KTtmdW5jdGlvbiBoZShlKXtjb25zdHtzeW1ib2w6dCxjaGlsZHJlbjpyLHNob3dIaW50Om99PWUsYT0oMCxsLnVzZVJlZikobnVsbCkscz0oMCxsLnVzZUNhbGxiYWNrKSgoZT0+e2U/KGEuY3VycmVudD1lLGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHVlLnByZXZlbnREZWZhdWx0KSk6YS5jdXJyZW50JiYoYS5jdXJyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix1ZS5wcmV2ZW50RGVmYXVsdCksYS5jdXJyZW50PW51bGwpfSksW10pO3JldHVybiB0P2wuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnBlLmNvbnRhaW5lcn0sbC5jcmVhdGVFbGVtZW50KGRlLkZsYWcse2NsYXNzTmFtZTpwZS5mbGFnLHN5bWJvbDp0fSksbC5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnBlLmNvbnRlbnR9LHIpLG8mJmwuY3JlYXRlRWxlbWVudChtZS5IaW50UmVmZXJlbmNlYWJsZSx7YnV0dG9uVGV4dDokLnQobnVsbCx2b2lkIDAsbigxNDUzNDgpKSxoaWRlV2l0aFJlZmVyZW5jZTohMCxwbGFjZW1lbnQ6InRvcCIscmVmZXJlbmNlOnMsc2V0dGluZ3NIaW50S2V5OiJoaW50Lm9wdGlvbnNTeW1ib2xTZWFyY2giLHRleHQ6JC50KG51bGwsdm9pZCAwLG4oNTQyNjA5KSl9KSk6bC5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnBlLmNvbnRlbnR9LHIpfXZhciBmZT1uKDU4MzAzOCksU2U9big4NDY3NzkpO2NvbnN0IGdlPWwubWVtbygoZnVuY3Rpb24oZSl7Y29uc3R7Y29sU3Bhbjp0LHByaWNlOm4scHJpY2VzY2FsZTpyLHN5bWJvbDpvfT1lLGE9KDAsbC51c2VNZW1vKSgoKCk9Pm5ldyBhZS5QcmljZUZvcm1hdHRlcih7CnByaWNlU2NhbGU6cj8/dm9pZCAwfSkpLFtyXSk7cmV0dXJuIGwuY3JlYXRlRWxlbWVudCgidHIiLHsiZGF0YS1xYS1pZCI6Im9wdGlvbi1jaGFpbi11bmRlcmx5aW5nLXJvdyJ9LGwuY3JlYXRlRWxlbWVudCgidGQiLHtjbGFzc05hbWU6U2UudW5kZXJseWluZ0NlbGwsY29sU3Bhbjp0LCJkYXRhLWNlbGwtaWQiOm99LGwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOlNlLnVuZGVybHlpbmdCYWRnZX0sKDAsZmUuc3BsaXRTeW1ib2xOYW1lKShvKVsxXSwiICIsYS5mb3JtYXQobikpKSl9KSkseWU9WyJzeW1ib2wiXSxiZT1bInN0cmlrZSJdO2Z1bmN0aW9uIHZlKGUpe2NvbnN0e2N1cnJlbnRQcmljZTp0LGluaXRpYWxPcHRpb246cixvbkNoYW5nZVNvcnQ6byxvcHRpb25zOmEscHJpY2VzY2FsZTpzLHNlcmllOmksc29ydERlc2M6Y309ZSx7c3RyaWtlczp1LHVuZGVybHlpbmc6ZH09aSxtPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9e29wdGlvblR5cGU6W10sc3RyaWtlOltdLHN5bWJvbDpbXX07Zm9yKGNvbnN0IG4gb2YgT2JqZWN0LnZhbHVlcyhlKSlmb3IoY29uc3QgZSBvZiBPYmplY3QudmFsdWVzKG4pKSgwLGxlLmlzTnVtYmVyKShlLnN0cmlrZSkmJnQuc3RyaWtlLnB1c2goZS5zdHJpa2UpO2NvbnN0IG49bmV3IGFlLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOjJ9KTtyZXR1cm57b3B0aW9uVHlwZTpuLHN0cmlrZTpuZXcgYWUuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6MTAqKigwLGNlLmZpbmRNYXhQcmVjaXNpb24pKHQuc3RyaWtlKX0pLHN5bWJvbDpufX0oYSkscD1bXTtsZXQgaCxmLFMsZz1udWxsLHk9bnVsbDtmdW5jdGlvbiBiKGUpe3JldHVybiBlP3tzeW1ib2w6YCR7ZS5vcHRpb25UeXBlfSAkeygwLGllLmNoYWluRm9ybWF0TnVtYmVyKShlLnN0cmlrZSxtLnN0cmlrZSl9YH06e3N5bWJvbDoi4oCTIn19Zm9yKGxldCBlPTA7ZTx1Lmxlbmd0aDtlKyspe2NvbnN0IG49dVtlXSxvPWFbbl07aWYoIW8pY29udGludWU7Y29uc3QgYz17dHlwZToib3B0aW9uIixjYWxsOmIoby5jYWxsKSxjYWxsUGFydENvbG9yOnQ+PW4/Im91dC1vZi10aGUtbW9uZXkiOiJpbi10aGUtbW9uZXkiLGNhbGxJZDpvLmNhbGw/LnN5bWJvbCxjZW50cmFsOntzdHJpa2U6KDAsaWUuY2hhaW5Gb3JtYXROdW1iZXIpKG4sbS5zdHJpa2UpfSxwdXQ6YihvLnB1dCkscHV0UGFydENvbG9yOnQ8bj8ib3V0LW9mLXRoZS1tb25leSI6ImluLXRoZS1tb25leSIscHV0SWQ6by5wdXQ/LnN5bWJvbCx1bmRlcmx5aW5nOmkudW5kZXJseWluZyxzdHJpa2U6bn07IXJ8fHIhPT1vLmNhbGw/LnN5bWJvbCYmciE9PW8ucHV0Py5zeW1ib2x8fChmPXIsaD1yLFM9cikscC5wdXNoKGMpLHQ+PXVbZV0mJnQ8dVtlKzFdJiYoZz1lLHk9bC5jcmVhdGVFbGVtZW50KGdlLHtrZXk6ZCxjb2xTcGFuOjIqeWUubGVuZ3RoK2JlLmxlbmd0aCxwcmljZTp0LHByaWNlc2NhbGU6cyxzeW1ib2w6ZH0pLGh8fChoPWMuY2FsbElkKSxTfHwoUz1kLGY9Yy5jYWxsSWQ/P2MucHV0SWQ/P3ZvaWQgMCkpfWMmJihwLnJldmVyc2UoKSxudWxsIT09ZyYmKGc9cC5sZW5ndGgtZy0yKSk7cmV0dXJue3Nlcmllc0lkOmkuaWQscm93czpwLGNvbHNEYXRhOntjZW50cmFsQ29sczpiZSxjZW50cmFsQ29sc0RhdGE6e3N0cmlrZTp7YWxpZ246ImNlbnRlciIsc29ydDpjPyJkZXNjZW5kaW5nIjoiYXNjZW5kaW5nIix0aXRsZTpsLmNyZWF0ZUVsZW1lbnQoc2UuT3B0aW9uc0NoYWluU29ydGFibGVDZWxsLHtvbkNsaWNrOigpPT5vKCFjKSxzb3J0RGVzYzpjLHNvcnRBY3RpdmU6ITB9LCQudChudWxsLHtjb250ZXh0OiJwcmljZSJ9LG4oNDQ1MzMzKSkpfX0sc2lkZUNvbHM6eWUsc2lkZUNvbHNEYXRhOntzeW1ib2w6e2FsaWduOiJjZW50ZXIiLHRpdGxlOiQudChudWxsLHtjb250ZXh0OiJpbnN0cnVtZW50X3N5bWJvbF9uYW1lIn0sbigxNjM5ODApKSxjdXN0b21Db250ZW50UmVuZGVyOih7Y2VsbElkOmUsY2hpbGRyZW46dH0pPT5sLmNyZWF0ZUVsZW1lbnQoaGUse3Nob3dIaW50Omg9PT1lLHN5bWJvbDplfSx0KX19fSxpbml0aWFsU2Nyb2xsUG9zaXRpb25DZWxsSWQ6Uyxpbml0aWFsTmF2aWdhdGVkQ2VsbElkOmYsdW5kZXJseWluZ0luZGV4OmcsdW5kZXJseWluZ1Jvdzp5LHNlbGVjdGVkQ2VsbElkOnJ9fXZhciBfZT1uKDU5NTUxNyksRWU9big4ODQ2MzQpLENlPW4oODI3MDI5KSxUZT1uKDYzMjA2MCkseGU9big3MDEyNTkpO2NvbnN0IEllPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2NvbHVtbnM9WyJvcHRpb24tdHlwZSIsInN0cmlrZSJdfWFzeW5jIGdldFNlcmllc09wdGlvbnMoZSx0LG4pe2NvbnN0e2V4cDpyLHVuZGVybHlpbmc6byxyb290Omx9PWUsYT0oMCx4ZS5jcmVhdGVTY2FuUGFyYW1NYW5hZ2VyKSh7Y29sdW1uczp0aGlzLl9jb2x1bW5zLGluZGV4X2ZpbHRlcnM6W3tuYW1lOiJ1bmRlcmx5aW5nX3N5bWJvbCIsdmFsdWVzOltvXX1dLGZpbHRlcjpbe2xlZnQ6InR5cGUiLG9wZXJhdGlvbjpFZS5GaWx0ZXJPcGVyYXRpb24uRXF1YWwscmlnaHQ6Im9wdGlvbiJ9LHtsZWZ0OiJleHBpcmF0aW9uIixvcGVyYXRpb246RWUuRmlsdGVyT3BlcmF0aW9uLkVxdWFsLHJpZ2h0OnJ9LHtsZWZ0OiJyb290IixvcGVyYXRpb246RWUuRmlsdGVyT3BlcmF0aW9uLkVxdWFsLHJpZ2h0Omx9XSxzb3J0Ontzb3J0Qnk6Im5hbWUiLHNvcnRPcmRlcjoiYXNjIn19KSx7c3ltYm9sczpzLGZpZWxkczppfT1hd2FpdCgwLF9lLmdldFNjYW4yRGF0YSkobixhLENlLk5vblN0b2NrTWFya2V0Lk9wdGlvbnMsdCk7aWYoIXMpcmV0dXJuW107Y29uc3QgYz17fTtmb3IoY29uc3QgZSBvZiBzKXtjb25zdCB0PVRlLlNjYW5uZXJVdGlscy5tYXBTY2FubmVyU3ltYm9sKGksZSkseyJvcHRpb24tdHlwZSI6bixzdHJpa2U6cn09dDtUZS5TY2FubmVyVXRpbHMuaXNPcHRpb25UeXBlKG4pJiZUZS5TY2FubmVyVXRpbHMuaXNTdHJpa2UocikmJihjW3JdfHwoY1tyXT17fSksY1tyXVtuXT17b3B0aW9uVHlwZTpuLHN0cmlrZTpyLHN5bWJvbDp0Lm5hbWV9KX1yZXR1cm4gY319LHdlPS9eXHcrOihbXHcmXSspKD88ZGF0ZT5bMC05XXs2fSkoUHxDKS0/WzAtOS5dKyQvCjt2YXIgTmU9big1NDAzMCk7ZnVuY3Rpb24gUmUoZSl7Y29uc3R7Y3VycmVudFByaWNlOnQsaW5pdGlhbE9wdGlvbjpyLG9uU2VsZWN0Om8scHJpY2VzY2FsZTphLHNjYW5uZXJMYWJlbDppLHNlcmllczpjfT1lLHU9KDAsdGUudXNlT3B0aW9uc0V2ZW50VHJhY2tlcikoKTsoMCxlZS51c2VPcGVuVHJhY2tpbmcpKEYuT3B0aW9uc1RyYWNrZXIuRWxlbWVudC5PcHRpb25zQ2hhaW5PcGVuKSwoMCxKLnVzZUFjdGl2aXR5VGltZVRyYWNraW5nKShGLk9wdGlvbnNUcmFja2VyLkVsZW1lbnQuT3B0aW9uc0NoYWluVGltZVNwZW50KTtjb25zdCBkPSgwLGwudXNlUmVmKSh0KTtkLmN1cnJlbnQ9dDtjb25zdFttLHBdPSgwLGwudXNlU3RhdGUpKCgoKT0+ZnVuY3Rpb24oZSx0KXtpZighZSlyZXR1cm4gbnVsbDtjb25zdCBuPWUubWF0Y2god2UpO2lmKCFuKXJldHVybiBudWxsO2NvbnN0IHI9TnVtYmVyKDIwK25bMl0pLG89blsxXTtyZXR1cm4gTnVtYmVyLmlzTmFOKHIpP251bGw6dC5maW5kKChlPT5lLmV4cD09PXImJmUucm9vdD09PW8pKT8/bnVsbH0ocixjKT8uaWQ/PygwLHcuZW5zdXJlRGVmaW5lZCkoY1swXSkuaWQpKSxbaCxmXT0oMCxsLnVzZVN0YXRlKSh7c3RhdGU6ImxvYWRpbmcifSksW1MsZ109bmUudXNlVFZTZXR0aW5ncy5ib29sZWFuKCJvcHRpb25zQ2hhaW4uc29ydERlc2MiLCExKSx5PSgwLGwudXNlTWVtbykoKCgpPT5bbV0pLFttXSksYj0oMCxsLnVzZU1lbW8pKCgoKT0+KDAscmUuYnVpbGRTZXJpZXNQaWNrZXJHcm91cHMpKGMpKSxbY10pLHY9KDAsbC51c2VNZW1vKSgoKCk9PiJzdWNjZXNzIj09PWguc3RhdGU/e3N0YXRlOiJzdWNjZXNzIixkYXRhOnZlKHtjdXJyZW50UHJpY2U6ZC5jdXJyZW50LGluaXRpYWxPcHRpb246cixvbkNoYW5nZVNvcnQ6ZyxvcHRpb25zOmgub3B0aW9ucyxwcmljZXNjYWxlOmEsc2VyaWU6aC5zZXJpZSxzb3J0RGVzYzpTfSl9OmgpLFtoLHIsYSxTLGddKSxfPSgwLGwudXNlQ2FsbGJhY2spKChlPT57Y29uc3QgdD0oMCx3LmVuc3VyZURlZmluZWQpKGMuZmluZCgodD0+dC5pZD09PWUpKSk7cChlKSx1KEYuT3B0aW9uc1RyYWNrZXIuRWxlbWVudC5PcHRpb25zQ2hhaW5TZWxlY3RTZXJpZXMsKDAscmUuZ2V0RGF5c1VudGlsRXhwaXJhdGlvbikodC5leHBEYXRlKS50b1N0cmluZygpKX0pLFt1LGNdKTtyZXR1cm4oMCxsLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT1uZXcgQWJvcnRDb250cm9sbGVyLHQ9KDAsdy5lbnN1cmVEZWZpbmVkKShjLmZpbmQoKGU9PmUuaWQ9PT1tKSkpO3JldHVybiBmKHtzdGF0ZToibG9hZGluZyJ9KSxJZS5nZXRTZXJpZXNPcHRpb25zKHQsaSxlLnNpZ25hbCkudGhlbigoZT0+e2Yoe3N0YXRlOiJzdWNjZXNzIixvcHRpb25zOmUsc2VyaWU6dH0pfSkpLmNhdGNoKChlPT57KDAsUS5pc0Fib3J0RXJyb3IpKGUpfHxmKHtzdGF0ZToiZXJyb3IifSl9KSksKCk9PntlLmFib3J0KCl9fSksW2ksbSxjXSksbC5jcmVhdGVFbGVtZW50KFguT3B0aW9uc0NoYWluV3JhcHBlcix7Y2xhc3NOYW1lOk5lLnJvb3R9LGwuY3JlYXRlRWxlbWVudChaLlBpY2tlcix7Y2xhc3NOYW1lOk5lLnNlbGVjdG9yLCJkYXRhLXFhLWlkIjoib3B0aW9uLWNoYWluLXBpY2tlciIsZ3JvdXBzOmIsbW9kZToic2luZ2xlLXNlbGVjdCIsb25TZWxlY3Q6Xyx2YWx1ZXM6eX0pLCJsb2FkaW5nIj09PXYuc3RhdGU/bC5jcmVhdGVFbGVtZW50KEguT3B0aW9uc0NoYWluU2tlbGV0b24se2NlbnRyYWxDb2xzQ291bnQ6MSxjbGFzc05hbWU6TmUuY2hhaW4sc2lkZUNvbHNDb3VudDoxfSk6ImVycm9yIj09PXYuc3RhdGU/bC5jcmVhdGVFbGVtZW50KG9lLkVtcHR5U3RhdGVCbG9jayx7Y2xhc3NOYW1lOnMoKShOZS5lbXB0eSxOZS5jaGFpbiksaWNvbkNsYXNzOk5lLmVtcHR5U3RhdGVJY29uLHRleHQ6JC50KG51bGwsdm9pZCAwLG4oMzM1NjczKSksdGl0bGU6JC50KG51bGwsdm9pZCAwLG4oMjg1MTMxKSl9KTpsLmNyZWF0ZUVsZW1lbnQoQWUse2RhdGE6di5kYXRhLG9uU2VsZWN0Om99KSl9ZnVuY3Rpb24gQWUoZSl7Y29uc3R7ZGF0YTp0LG9uU2VsZWN0Om59PWUscj0oMCxsLnVzZVJlZikobnVsbCksbz0oMCxsLnVzZVJlZikobnVsbCksYT0oMCxsLnVzZUNhbGxiYWNrKSgoZT0+eygwLGouc2Nyb2xsVG9Sb3cpKGUsci5jdXJyZW50KX0pLFtyXSk7KDAsei51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pnt0LmluaXRpYWxTY3JvbGxQb3NpdGlvbkNlbGxJZCYmYSh0LmluaXRpYWxTY3JvbGxQb3NpdGlvbkNlbGxJZCl9KSxbdCxhXSk7Y29uc3Qgcz0oMCxsLnVzZU1lbW8pKCgoKT0+W3tncm91cElkOnQuc2VyaWVzSWQscm93czp0LnJvd3MubWFwKChlPT4oe2NhbGxJZDplLmNhbGxJZCxwdXRJZDplLnB1dElkfSkpKX1dKSxbdF0pLHtoYW5kbGVUYWJsZUtleURvd246aSxuYXZpZ2F0ZWRJZDpjLHRhYmxlVGFiSW5kZXg6dX09KDAsSy51c2VLZXlib2FyZE5hdmlnYXRpb24pKG8sdC5pbml0aWFsTmF2aWdhdGVkQ2VsbElkLHMsYSxudWxsKTsoMCxsLnVzZUVmZmVjdCkoKCgpPT5vLmN1cnJlbnQ/LmZvY3VzKCkpLFtdKTtjb25zdCBkPSgwLGwudXNlQ2FsbGJhY2spKChlPT57aWYoZS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtjb25zdCB0PWUuY3VycmVudFRhcmdldC5kYXRhc2V0LmNlbGxJZDt0JiZuKHQpfSksW25dKTtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KHEuT3B0aW9uc0NoYWluLHtjbGFzc05hbWU6TmUuY2hhaW4sY29sc0RhdGE6dC5jb2xzRGF0YSxvblRhYmxlS2V5RG93bjppLHNjcm9sbENvbnRhaW5lclJlZjpyLHRhYmxlUmVmOm8sdGFibGVUYWJJbmRleDp1fSxsLmNyZWF0ZUVsZW1lbnQoInRib2R5IixudWxsLHQucm93cy5mbGF0TWFwKCgoZSxuKT0+W2wuY3JlYXRlRWxlbWVudChZLk9wdGlvbnNDaGFpbk9wdGlvblJvdyx7Y2FsbENvbG9yOmUuY2FsbFBhcnRDb2xvcixjYWxsTmF2aWdhdGVkOmUuY2FsbElkPT09YyxjYWxsU2VsZWN0ZWQ6ZS5jYWxsSWQ9PT10LnNlbGVjdGVkQ2VsbElkLGNvbHNEYXRhOnQuY29sc0RhdGEsa2V5OmUuc3RyaWtlLG9uQ2VsbENsaWNrOmQscHV0Q29sb3I6ZS5wdXRQYXJ0Q29sb3IscHV0TmF2aWdhdGVkOmUucHV0SWQ9PT1jLApwdXRTZWxlY3RlZDplLnB1dElkPT09dC5zZWxlY3RlZENlbGxJZCxyb3dEYXRhOmV9KSxuPT09dC51bmRlcmx5aW5nSW5kZXgmJnQudW5kZXJseWluZ1Jvd10pKSkpfXZhciBMZT1uKDIwOTYwKTtmdW5jdGlvbiBrZShlKXtjb25zdHtzeW1ib2w6dCxvblNlbGVjdDpuLGluaXRpYWxPcHRpb246cn09ZSx7cXVvdGVzOm8sY29tcGxldGVkOmF9PSgwLEIudXNlU3ltYm9sUXVvdGVzKSh0LCEwKSxzPSgwLEcudXNlR2V0U2VyaWVzKShvPy5bIm9wdGlvbnMtaW5mbyJdPy5mYW1pbGllcz8/W10pLGk9bz8ubGFzdF9wcmljZT8/MCxjPW8/LnByaWNlc2NhbGU/P251bGw7cmV0dXJuIGE/MD09PXMubGVuZ3RoP2wuY3JlYXRlRWxlbWVudChVLkVtcHR5U3ltYm9sUXVvdGVzLHtjbGFzc05hbWU6TGUuZW1wdHksc3ltYm9sOnR9KTpsLmNyZWF0ZUVsZW1lbnQoVi5PcHRpb25zU291cmNlVHJhY2tFdmVudFByb3ZpZGVyLHtzb3VyY2U6Ri5PcHRpb25zVHJhY2tlci5Tb3VyY2UuU3ltYm9sU2VhcmNofSxsLmNyZWF0ZUVsZW1lbnQoUmUse2N1cnJlbnRQcmljZTppLGluaXRpYWxPcHRpb246cixvblNlbGVjdDpuLHByaWNlc2NhbGU6YyxzY2FubmVyTGFiZWw6Im9wdGlvbnMtc3ltYm9sLXNlYXJjaCIsc2VyaWVzOnN9KSk6bC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6TGUucm9vdH0sbC5jcmVhdGVFbGVtZW50KFcuUGlja2VyU2tlbGV0b24se2NsYXNzTmFtZTpMZS5zZWxlY3Rvcn0pLGwuY3JlYXRlRWxlbWVudChILk9wdGlvbnNDaGFpblNrZWxldG9uLHtjbGFzc05hbWU6TGUuY2hhaW4sc2lkZUNvbHNDb3VudDoxLGNlbnRyYWxDb2xzQ291bnQ6MX0pKX1uKDEzODk5NCksbig5MjY5OTUpO3ZhciBPZT1uKDQwOTY0MCk7ZnVuY3Rpb24gTWUoZSl7Y29uc3QgdD0oMCxmZS5zcGxpdFN5bWJvbE5hbWUpKGUuc3ltYm9sKVsxXTtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOk9lLnRpdGxlfSxjLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sTmFtZTp0fX0sbig5MDE1MjcpKSwhMSl9dmFyIERlPW4oNzMyNTMzKSxQZT1uKDczNDY0MSksRmU9big2MDk1MjgpLEJlPW4oOTY0MzYxKSxIZT1uKDI3MzMxMCksVWU9big4MDk0MzYpLFdlPW4oNzE3OTMyKSxWZT1uKDU2MTIwNSksR2U9bigzNjY1OTcpLFFlPW4oOTI2MTUzKSx6ZT1uKDE4NzMzOSksJGU9big3MTcyNjMpLHFlPW4oOTc3Njk5KTtmdW5jdGlvbiBLZShlKXtjb25zdHtjbGFzc05hbWU6dCxjaGlsZHJlbjpuLC4uLnJ9PWU7cmV0dXJuIGwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Li4ucixjbGFzc05hbWU6cygpKHFlLnRpdGxlLHQpfSxuKX12YXIgWWU9bigxMzY2MyksWGU9big5NDkzNzQpLGplPW4oMjAxNDQ0KSxaZT1uKDkyMzIzOSksSmU9big5MjE3MDgpLGV0PW4oNDA3OTQ3KTtmdW5jdGlvbiB0dChlKXtjb25zdHtzZWFyY2hTb3VyY2U6dCxvbkNsaWNrOm4scXVlcnlTdHJpbmc6cixpc0ZvY3VzZWQ6byxpZDphfT1lLHtzeW1ib2xTZWFyY2hDb250ZW50OmksaXNBbGxTZWFyY2hTb3VyY2VzU2VsZWN0ZWQ6YyxhbGxTZWFyY2hTb3VyY2VzVGl0bGU6dSxpc01vYmlsZTpkfT0oMCxZZS51c2VFbnN1cmVkQ29udGV4dCkoVmUuU3ltYm9sU2VhcmNoSXRlbXNEaWFsb2dDb250ZXh0KSxwPWkuY3VycmVudFNlbGVjdGVkU2VhcmNoU291cmNlLGg9KDAsdy5lbnN1cmVOb3ROdWxsKShwKS52YWx1ZSgpLGY9Yyh0KSxTPWg/dC52YWx1ZSgpPT09aDpmLGc9KDAsbC51c2VNZW1vKSgoKCk9PigwLGplLmNyZWF0ZVJlZ0V4cExpc3QpKHIpKSxbcl0pLHk9dC5kZXNjcmlwdGlvbigpLGI9eSYmIWYsdj1tLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzJiZmJiZ1P3U6dC5uYW1lKCksXz1zKCkoZXQuY29udGFpbmVyLGQ/ZXQubW9iaWxlOmV0LmRlc2t0b3AsUyYmZXQuc2VsZWN0ZWQsbyYmZXQuZm9jdXNlZCxmJiZldC5hbGxTZWxlY3RlZCxmJiYhMSwhZiYmZCYmZXQuYm9yZGVyZWQpO3JldHVybiBsLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoIWQmJmV0LndyYXAsZiYmITEpLG9uQ2xpY2s6bixpZDphfSxsLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpffSxsLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpldC5pY29uV3JhcH0sZj9sLmNyZWF0ZUVsZW1lbnQoSGUuSWNvbix7Y2xhc3NOYW1lOnMoKShldC5pY29uLGV0LmFsbFNlbGVjdGVkSWNvbiksaWNvbjpKZX0pOmwuY3JlYXRlRWxlbWVudChaZS5TeW1ib2xTZWFyY2hGbGFnLHtjbGFzc05hbWU6ZXQuaWNvbixjb3VudHJ5OnQuY291bnRyeSgpLHByb3ZpZGVySWQ6dC5wcm92aWRlcklkKCksc291cmNlSWQ6dC5zb3VyY2VJZCgpfSkpLGwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmV0LnRleHRCbG9ja30sbC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6cygpKGV0LnRpdGxlLCFiJiYhZCYmZXQudGl0bGVXaXRob3V0RGVzYyl9LGwuY3JlYXRlRWxlbWVudChYZS5IaWdobGlnaHRlZFRleHQse2NsYXNzTmFtZTpzKCkoUyYmZXQuaGlnaGxpZ2h0ZWQpLHF1ZXJ5U3RyaW5nOnIsdGV4dDp2LHJ1bGVzOmd9KSksYiYmbC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6cygpKGV0LmRlc2NyaXB0aW9uLCJhcHBseS1vdmVyZmxvdy10b29sdGlwIil9LGwuY3JlYXRlRWxlbWVudChYZS5IaWdobGlnaHRlZFRleHQse2NsYXNzTmFtZTpldC5oaWdobGlnaHRlZCxxdWVyeVN0cmluZzpyLHJ1bGVzOmcsdGV4dDp5fSkpKSkpfXZhciBudD1uKDEwNjkwMCkscnQ9bigyMDA2NjYpLG90PW4oODEwNDEpLGx0PW4oNTA0MDcpLGF0PW4oMTQwODk1KSxzdD1uKDQ4Nzc1MCksaXQ9big2NTk4ODQpO2NvbnN0IGN0PXtlbXB0eVRleHRDbGFzc05hbWU6aXQuZW1wdHlUZXh0fTtmdW5jdGlvbiB1dChlKXtjb25zdHtzZWFyY2hTb3VyY2VzOnR9PWUse3NldFNlbGVjdGVkSW5kZXg6cixzZXRTZWxlY3RlZFNlYXJjaFNvdXJjZTpvLHNldE1vZGU6YSxpc01vYmlsZTppLGVtcHR5U3RhdGU6dSxhdXRvZm9jdXM6ZH09KDAsWWUudXNlRW5zdXJlZENvbnRleHQpKFZlLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCkscD0oMCwKbnQudXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6cnQud2F0Y2hlZFRoZW1lfSk9PT1vdC5TdGRUaGVtZS5EYXJrP2F0OnN0LGg9KDAsV2UudXNlTWF0Y2hNZWRpYSkoVWVbIm1lZGlhLXBob25lLXZlcnRpY2FsIl0pLFtmLFNdPSgwLGwudXNlU3RhdGUpKCIiKSxnPSgwLGwudXNlTWVtbykoKCgpPT57cmV0dXJuWy4uLigwLHplLnNwbGl0U2VhcmNoU291cmNlc0J5R3JvdXApKHQpLmVudHJpZXMoKV0ubWFwKCgoW2UsdF0pPT4oe2dyb3VwOmUsc291cmNlczooMCxtLmNyZWF0ZUdyb3VwQ29sdW1ucykoKDAsemUuZmlsdGVyU2VhcmNoU291cmNlcykodCxmKSxoPzE6Mil9KSkpfSksW3QsZixoXSkseT0oMCxsLnVzZU1lbW8pKCgoKT0+KDAseC5nZXRFeGNoYW5nZXNHcm91cE5hbWUpKCkpLFtdKSxiPSgwLGwudXNlUmVmKShudWxsKSx2PSgwLGwudXNlUmVmKShudWxsKSx7Zm9jdXNlZEl0ZW06XyxhY3RpdmVEZXNjZW5kYW50OkUsaGFuZGxlS2V5RG93bjpDLHJlc2V0Rm9jdXNlZEl0ZW06VH09KDAsUWUudXNlU291cmNlc0tleWJvYXJkTmF2aWdhdGlvbikoZyxoLHYpOygwLGwudXNlTGF5b3V0RWZmZWN0KSgoKCk9PntkJiZiPy5jdXJyZW50Py5mb2N1cygpfSksW10pO2NvbnN0IEk9dT9sLmNyZWF0ZUVsZW1lbnQodSxudWxsKTpsLmNyZWF0ZUVsZW1lbnQoJGUuU3ltYm9sU2VhcmNoTm9SZXN1bHQse2NsYXNzTmFtZTppdC5ub1Jlc3VsdHNEZXNrdG9wfSxsLmNyZWF0ZUVsZW1lbnQoSGUuSWNvbix7aWNvbjpwLGNsYXNzTmFtZTppdC5lbXB0eUljb259KSxsLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTppdC5lbXB0eVRleHR9LGMudChudWxsLHZvaWQgMCxuKDQ3MjI5OSkpKSksdz0hKGcubGVuZ3RoJiZnLmV2ZXJ5KChlPT4wPT09ZS5zb3VyY2VzLmxlbmd0aCkpKTtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KGx0LlN5bWJvbFNlYXJjaERpYWxvZ0JvZHlDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpjdH0sbC5jcmVhdGVFbGVtZW50KEdlLkRpYWxvZ1NlYXJjaCx7cGxhY2Vob2xkZXI6Yy50KG51bGwsdm9pZCAwLG4oMzUyMTI3KSksb25DaGFuZ2U6ZnVuY3Rpb24oZSl7VCgpLFMoZS50YXJnZXQudmFsdWUpLHYmJnYuY3VycmVudCYmKHYuY3VycmVudC5zY3JvbGxUb3A9MCl9LHJlZmVyZW5jZTpiLG9uS2V5RG93bjpDLG9uQmx1cjpULCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiOkV9KSx3P2wuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOnYsY2xhc3NOYW1lOnMoKShpdC5jb250ZW50TGlzdCwhaSYmaXQuY29udGVudExpc3REZXNrdG9wKSxvblRvdWNoU3RhcnQ6ZnVuY3Rpb24oKXtiLmN1cnJlbnQ/LmJsdXIoKX19LGcubWFwKCgoZSx0KT0+e2NvbnN0e2dyb3VwOm4sc291cmNlczpyfT1lO3JldHVybiAwPT09ci5sZW5ndGg/bC5jcmVhdGVFbGVtZW50KGwuRnJhZ21lbnQse2tleTpufSk6bC5jcmVhdGVFbGVtZW50KGwuRnJhZ21lbnQse2tleTpufSxuJiZuIT09eC5FeGNoYW5nZUdyb3VwLkFsbEV4Y2hhbmdlcyYmbC5jcmVhdGVFbGVtZW50KEtlLHtjbGFzc05hbWU6cygpKCFpJiZpdC5ncm91cFRpdGxlRGVza3RvcCl9LHlbbl0pLGwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnMoKShpdC5zZWFyY2hTb3VyY2VJdGVtc0NvbnRhaW5lciwhaSYmaXQuc2VhcmNoU291cmNlSXRlbXNDb250YWluZXJEZXNrdG9wLGgmJml0Lm9uZUNvbHVtbil9LHIubWFwKCgoZSxuKT0+bC5jcmVhdGVFbGVtZW50KCJkaXYiLHtrZXk6YCR7dH0tJHtufWAsY2xhc3NOYW1lOml0LmNvbHVtbn0sZS5tYXAoKChlLHIpPT5sLmNyZWF0ZUVsZW1lbnQodHQse2lkOigwLFFlLmNyZWF0ZUl0ZW1JZCkodCxuLHIpLGlzRm9jdXNlZDohIV8mJihfLmdyb3VwSW5kZXg9PT10JiZfLmNvbD09PW4mJl8ucm93PT09ciksa2V5OmUudmFsdWUoKSxzZWFyY2hTb3VyY2U6ZSxxdWVyeVN0cmluZzpmLG9uQ2xpY2s6Ti5iaW5kKG51bGwsZSl9KSkpKSkpKSl9KSkpOkkpO2Z1bmN0aW9uIE4oZSl7byhlKSxhKCJzeW1ib2xTZWFyY2giKSxyKC0xKX19dmFyIGR0PW4oMTI5MzY1KSxtdD1uKDMxMjI5NSkscHQ9big0NzUxNjQpO2xldCBodDt2YXIgZnQ9bigyMzU3MjQpLFN0PW4oODA5NDQ0KSxndD1uKDc0OTY5NykseXQ9big5ODc2ODMpLGJ0PW4oMTU3NjgxKSx2dD1uKDMwMzIzOCksX3Q9big5ODk4OTQpLEV0PW4oNDA4NjIwKTtmdW5jdGlvbiBDdChlKXtjb25zdHtzdGF0ZTp0LHVwZGF0ZTpyLGNsYXNzTmFtZTpvfT1lLHtzZWFyY2hSZWY6YSxmb3JjZVVwZGF0ZTp1LHVwcGVyQ2FzZUVuYWJsZWQ6bX09KDAsdy5lbnN1cmVOb3ROdWxsKSgoMCxsLnVzZUNvbnRleHQpKFZlLlN5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dCkpLGY9KDAsZC50b2tlbml6ZSkoYS5jdXJyZW50Py52YWx1ZSksUz1mdW5jdGlvbihlKXtjb25zdCB0PXticmFjZUJhbGFuY2U6MCxjdXJyZW50U3RhdGU6InZhciIsd2FybmluZ3M6W10sZXJyb3JzOltdfTtsZXQgbj0iaW5pdCI7Y29uc3Qgcj1bXTtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyl7Y29uc3QgbD1lW29dO2lmKCJ3aGl0ZXNwYWNlIiE9PWwudHlwZSl7aWYoImluY29tcGxldGVTeW1ib2wiPT09bC50eXBlfHwiaW5jb21wbGV0ZU51bWJlciI9PT1sLnR5cGUpe2NvbnN0IG49byE9PWUubGVuZ3RoLTEscj17c3RhdHVzOm4/ImVycm9yIjoiaW5jb21wbGV0ZSIscmVhc29uOiJpbmNvbXBsZXRlX3Rva2VuIixvZmZzZXQ6bC5vZmZzZXQsdG9rZW46bH07aWYobj90LmVycm9ycy5wdXNoKHIpOnQud2FybmluZ3MucHVzaChyKSxuKWNvbnRpbnVlfXN3aXRjaChsLnR5cGUpe2Nhc2Uic3ltYm9sIjpjYXNlIm51bWJlciI6aWYoInZhciI9PT1uKXt0LmVycm9ycy5wdXNoKHtzdGF0dXM6ImVycm9yIixyZWFzb246InVuZXhwZWN0ZWRfdG9rZW4iLG9mZnNldDpsLm9mZnNldCx0b2tlbjpsfSk7Y29udGludWV9bj0idmFyIjticmVhaztjYXNlInBsdXMiOmNhc2UibWludXMiOmNhc2UibXVsdGlwbHkiOmNhc2UiZGl2aWRlIjpjYXNlInBvd2VyIjppZigidmFyIiE9PW4pe3QuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsCm9mZnNldDpsLm9mZnNldCx0b2tlbjpsfSk7Y29udGludWV9bj0ib3BlcmF0b3IiO2JyZWFrO2Nhc2Uib3BlbkJyYWNlIjppZigidmFyIj09PW4pe3QuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0Omwub2Zmc2V0LHRva2VuOmx9KTtjb250aW51ZX1yLnB1c2gobCksbj0iaW5pdCI7YnJlYWs7Y2FzZSJjbG9zZUJyYWNlIjppZigidmFyIiE9PW4pe3QuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0Omwub2Zmc2V0LHRva2VuOmx9KTtjb250aW51ZX1yLnBvcCgpfHx0LmVycm9ycy5wdXNoKHtzdGF0dXM6ImVycm9yIixyZWFzb246InVuYmFsYW5jZWRfYnJhY2UiLG9mZnNldDpsLm9mZnNldCx0b2tlbjpsfSksbj0idmFyIjticmVhaztjYXNlInVucGFyc2VkIjp0LmVycm9ycy5wdXNoKHtzdGF0dXM6ImVycm9yIixyZWFzb246InVucGFyc2VkX2VudGl0eSIsb2Zmc2V0Omwub2Zmc2V0LHRva2VuOmx9KX19fWZvcih0LmJyYWNlQmFsYW5jZT1yLmxlbmd0aCwidmFyIiE9PW4mJnQud2FybmluZ3MucHVzaCh7c3RhdHVzOiJpbmNvbXBsZXRlIix0b2tlbjplW2UubGVuZ3RoLTFdfSk7ci5sZW5ndGg7KXtjb25zdCBlPXIucG9wKCk7ZSYmdC53YXJuaW5ncy5wdXNoKHtzdGF0dXM6ImluY29tcGxldGUiLHJlYXNvbjoidW5iYWxhbmNlZF9icmFjZSIsb2Zmc2V0OmUub2Zmc2V0LHRva2VuOmV9KX1yZXR1cm4gdC5jdXJyZW50U3RhdGU9bix0fShmKTtsZXQgeT1be2ljb246U3QsaW5zZXJ0OiIvIix0eXBlOiJiaW5hcnlPcCIsbmFtZToiZGl2aXNpb24iLHRpdGxlOmMudChudWxsLHtjb250ZXh0OiJzcHJlYWRzX2FjdGlvbnMifSxuKDMzODAwKSl9LHtpY29uOmd0LGluc2VydDoiLSIsdHlwZToiYmluYXJ5T3AiLG5hbWU6InN1YnRyYWN0aW9uIix0aXRsZTpjLnQobnVsbCx7Y29udGV4dDoic3ByZWFkc19hY3Rpb25zIn0sbig5MDUyOTkpKX0se2ljb246eXQsaW5zZXJ0OiIrIix0eXBlOiJiaW5hcnlPcCIsbmFtZToiYWRkaXRpb24iLHRpdGxlOmMudChudWxsLHtjb250ZXh0OiJzcHJlYWRzX2FjdGlvbnMifSxuKDk2MjMxOCkpfSx7aWNvbjpidCxpbnNlcnQ6IioiLHR5cGU6ImJpbmFyeU9wIixuYW1lOiJtdWx0aXBsaWNhdGlvbiIsdGl0bGU6Yy50KG51bGwse2NvbnRleHQ6InNwcmVhZHNfYWN0aW9ucyJ9LG4oNDg0ODc1KSl9XTtyZXR1cm4oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX2V4cG9uZW50aWF0aW9uX3NwcmVhZF9vcGVyYXRvciIpfHwoeT15LmNvbmNhdChbe2ljb246dnQsaW5zZXJ0OiJeIix0eXBlOiJiaW5hcnlPcCIsbmFtZToiZXhwb25lbnRpYXRpb24iLHRpdGxlOmMudChudWxsLHtjb250ZXh0OiJzcHJlYWRzX2FjdGlvbnMifSxuKDkyMzAyMSkpfV0pKSwoMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3JlY2lwcm9jYWxfc3ByZWFkX29wZXJhdG9yIil8fCh5PXkuY29uY2F0KFt7aWNvbjpfdCx0eXBlOiJjb21wbGV0ZSIsbmFtZToicmVjaXByb2NhbCIsdGl0bGU6Yy50KG51bGwse2NvbnRleHQ6InNwcmVhZHNfYWN0aW9ucyJ9LG4oODUzMzQ5KSksY2FsbGJhY2s6KCk9PnshYS5jdXJyZW50fHxTLmVycm9ycy5sZW5ndGh8fFMud2FybmluZ3MubGVuZ3RofHwoYS5jdXJyZW50LnZhbHVlPWgocChmKSksdSgpKX19XSkpLGwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnMoKShFdC5hY3Rpb25zLG8pfSx5Lm1hcCgoZT0+bC5jcmVhdGVFbGVtZW50KG10Lkljb25CdXR0b24se2tleTplLm5hbWUsY29sb3JDbGFzc05hbWU6cygpKEV0LmFjdGlvbixUdChlLFMpJiZFdC5kaXNhYmxlZCksdGl0bGU6ZS50aXRsZSxpY29uOmUuaWNvbixvbkNsaWNrOigpPT5mdW5jdGlvbihlKXtpZighVHQoZSxTKSl7aWYoZS5pbnNlcnQmJmEuY3VycmVudCl7Y29uc3Qgbj1hLmN1cnJlbnQudmFsdWUrZS5pbnNlcnQ7YS5jdXJyZW50LnZhbHVlPW4sYS5jdXJyZW50LnNldFNlbGVjdGlvblJhbmdlKG4ubGVuZ3RoLG4ubGVuZ3RoKTtjb25zdFtvLCxsXT1nKGEuY3VycmVudCxtKTt0LmN1cnJlbnQmJih0LmN1cnJlbnQuc2VsZWN0ZWRJbmRleFZhbHVlPS0xLHQuY3VycmVudC5zZWFyY2hTcHJlYWRzVmFsdWU9KDAsZC5pc1NwcmVhZCkobCksdC5jdXJyZW50LnNlYXJjaFRva2VuVmFsdWU9byksdSgpLHIoKX1lLmNhbGxiYWNrJiZlLmNhbGxiYWNrKCksYS5jdXJyZW50Py5mb2N1cygpLCgwLFAudHJhY2tFdmVudCkoIkdVSSIsIlNTIixlLm5hbWUpfX0oZSl9KSkpKX1mdW5jdGlvbiBUdChlLHQpe2xldCBuPSExO2lmKCF0LmVycm9ycy5sZW5ndGgpc3dpdGNoKGUudHlwZSl7Y2FzZSJiaW5hcnlPcCI6bj0idmFyIj09PXQuY3VycmVudFN0YXRlO2JyZWFrO2Nhc2Uib3BlbkJyYWNlIjpuPSJ2YXIiIT09dC5jdXJyZW50U3RhdGU7YnJlYWs7Y2FzZSJjbG9zZUJyYWNlIjpuPSJ2YXIiPT09dC5jdXJyZW50U3RhdGUmJnQuYnJhY2VCYWxhbmNlPjA7YnJlYWs7Y2FzZSJjb21wbGV0ZSI6bj0hdC5lcnJvcnMubGVuZ3RoJiYhdC53YXJuaW5ncy5sZW5ndGh9cmV0dXJuIW59ZnVuY3Rpb24geHQoZSl7Y29uc3QgdD1lPy5icm9rZXI/P251bGwsbj1lPy5hY2NvdW50TWV0YWluZm8sW3Isb109KDAsbC51c2VTdGF0ZSkobnVsbCksW2Esc109KDAsbC51c2VTdGF0ZSkoKCgpPT5iLmdldEJvb2woInN5bWJvbGVkaXQuYWNjb3VudFRyYWRhYmxlIiwhMCkpKSxpPWZ1bmN0aW9uKGUpe3JldHVybiBCb29sZWFuKGU/Lm1ldGFpbmZvKCkuY29uZmlnRmxhZ3Muc3VwcG9ydEN1c3RvbVN5bWJvbFNlYXJjaEZpbHRlcil9KHQpLGM9cj8uc3ltYm9sU2VhcmNoRmlsdGVyUGFyYW1zPy50aXRsZSx1PXI/LnN5bWJvbFNlYXJjaEZpbHRlclBhcmFtcz8udG9vbHRpcFRleHQsZD0oMCxsLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSl7aWYoZSlyZXR1cm57bG9nb01pbmlVcmw6ZS5tZXRhaW5mbygpLmxvZ29NaW5pVXJsLGxvZ29NaW5pQmxhY2tVcmw6ZS5tZXRhaW5mbygpLmxvZ29NaW5pQmxhY2tVcmx9O3JldHVybn0odCkpLFt0XSk7cmV0dXJuKDAsbC51c2VFZmZlY3QpKCgoKT0+ewpiLnNldFZhbHVlKCJzeW1ib2xlZGl0LmFjY291bnRUcmFkYWJsZSIsYSl9KSxbYV0pLCgwLGwudXNlRWZmZWN0KSgoKCk9PntpZighbnx8IWkpcmV0dXJuIHZvaWQgbyhudWxsKTtjb25zdCBlPW5ldyBBYm9ydENvbnRyb2xsZXI7cmV0dXJuKDAsUS5yZXNwZWN0QWJvcnQpKGUuc2lnbmFsLG4oKSkudGhlbigodD0+ZS5zaWduYWwuYWJvcnRlZD9udWxsOihvKHQpLHQpKSkuY2F0Y2goKHQ9PigoMCxRLmlzQWJvcnRFcnJvcikodCl8fGUuc2lnbmFsLmFib3J0ZWR8fG8obnVsbCksbnVsbCkpKSwoKT0+ZS5hYm9ydCgpfSksW24saV0pLHthY2NvdW50RmlsdGVyVGl0bGU6YyxhY2NvdW50RmlsdGVyVG9vbHRpcFRleHQ6dSxhY2NvdW50RmlsdGVyTG9nb0luZm86ZCxpc0FjY291bnRGaWx0ZXJDaGVja2VkOmEsc2V0SXNBY2NvdW50RmlsdGVyQ2hlY2tlZDpzLGlzU3VwcG9ydEFjY291bnRGaWx0ZXI6aX19dmFyIEl0PW4oNjE2NjQzKSx3dD1uKDg1NDgyMCk7ZnVuY3Rpb24gTnQoZSl7Y29uc3QgdD0oMCxmdC5oYXNoRnJvbUV2ZW50KShlKTt0IT09OStmdC5Nb2RpZmllcnMuU2hpZnQmJjkhPT10JiZlLnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIFJ0KGUpe2NvbnN0IHQ9KDAsSXQudXNlVGhlbWUpKCkse3RleHQ6bix0b29sdGlwVGV4dDpyLGlzQWN0aXZlOm8sb25Ub2dnbGU6YSxsb2dvSW5mbzpzfT1lO3JldHVybiBsLmNyZWF0ZUVsZW1lbnQod3QuTGlnaHRCdXR0b24se2NsYXNzTmFtZToiYXBwbHktY29tbW9uLXRvb2x0aXAiLHZhcmlhbnQ6bz8icHJpbWFyeSI6InNlY29uZGFyeSIsc2l6ZToieHNtYWxsIixpc1BpbGxzOm8sb25DbGljazooKT0+YSghbyksb25LZXlEb3duOk50LHRpdGxlOnIsc3RhcnRTbG90OmwuY3JlYXRlRWxlbWVudChIZS5JY29uLHtpY29uOnM/YDxpbWcgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBzcmM9IiR7dD09PW90LlN0ZFRoZW1lLkRhcmsmJnMubG9nb01pbmlCbGFja1VybD9zLmxvZ29NaW5pQmxhY2tVcmw6cy5sb2dvTWluaVVybH0iIGFsdD0iIi8+YDp2b2lkIDB9KSwiYXJpYS1jaGVja2VkIjpvfSxuKX12YXIgQXQ9bigxNTM1ODIpLEx0PW4oNzIwNjc3KSxrdD1uKDY0MTkwKSxPdD1uKDIwMTk2MSksTXQ9big2NjQzODYpLER0PW4oNDkwNTgwKSxQdD1uKDczODQ1OCksRnQ9bigzNDQ4NzApLEJ0PW4oNjc0NzQ5KSxIdD1uKDk4NzUyKTtjb25zdCBVdD0oMCxtLmdldERlZmF1bHRTZWFyY2hTb3VyY2UpKCksV3Q9Yy50KG51bGwse2NvbnRleHQ6InB1bmN0dWF0aW9uRnVsbFN0b3AifSxuKDE2MTcwOCkpO2Z1bmN0aW9uIFZ0KGUpe2NvbnN0e290aGVyU3ltYm9sc0NvdW50OnQsb25DbGljazpyLHRva2VuOm99PWUse2lzQWxsU2VhcmNoU291cmNlc1NlbGVjdGVkOmEsc3ltYm9sU2VhcmNoQ29udGVudDppLHN5bWJvbFR5cGVzOnUsZW1wdHlTdGF0ZTpkLHNldFNlbGVjdGVkU2VhcmNoU291cmNlOnAsc2V0U2VsZWN0ZWRGaWx0ZXJWYWx1ZXM6aCxzZWxlY3RlZEZpbHRlclZhbHVlczpmfT0oMCxZZS51c2VFbnN1cmVkQ29udGV4dCkoVmUuU3ltYm9sU2VhcmNoSXRlbXNEaWFsb2dDb250ZXh0KSxTPWkuY3VycmVudFNlbGVjdGVkU2VhcmNoU291cmNlLHtzeW1ib2xTZWFyY2hTdGF0ZTpnfT0oMCxZZS51c2VFbnN1cmVkQ29udGV4dCkobHQuU3ltYm9sU2VhcmNoRGlhbG9nQm9keUNvbnRleHQpLHk9dS5maW5kKChlPT5lLnZhbHVlPT09aS5jdXJyZW50U3ltYm9sVHlwZSkpPy5uYW1lLGI9ZD8/JGUuU3ltYm9sU2VhcmNoTm9SZXN1bHQsdj1TJiYhYShTKSxfPWZ1bmN0aW9uKCl7aWYoIW0uaXNTZXBhcmF0ZVN5bWJvbFNlYXJjaFRhYnMpcmV0dXJuIGMudChudWxsLHtwbHVyYWw6InttYXRjaGluZ0NvdW50fSBtYXRjaGluZyBzeW1ib2xzIGZvdW5kIHdpdGggb3RoZXIgZmlsdGVycyIsY291bnQ6dH0sbigxMDEyMjgpKS5mb3JtYXQoe21hdGNoaW5nQ291bnQ6YDxzcGFuIGNsYXNzPSIke0h0LmJvbGR9Ij4ke3QudG9TdHJpbmcoKX08L3NwYW4+YH0pO2lmKCJyZXNldEZpbHRlciI9PT1nKXJldHVybiBjLnQobnVsbCx7cGx1cmFsOiJUaGVyZSBhcmUgYWxzbyB7Y291bnR9IHN5bWJvbHMgaW4gb3RoZXIgbWFya2V0cyIsY291bnQ6dCxyZXBsYWNlOntjb3VudDp0LnRvU3RyaW5nKCl9fSxuKDQzODc3NSkpO3JldHVybiBjLnQobnVsbCx2b2lkIDAsbig5NzIxNzMpKS5mb3JtYXQoe3N5bWJvbFR5cGU6YDxzcGFuIGNsYXNzPSIke0h0LmJvbGR9Ij4ke3l8fCIifTwvc3Bhbj5gfSl9KCk7cmV0dXJuIGwuY3JlYXRlRWxlbWVudChiLHtjbGFzc05hbWU6SHQubm9SZXN1bHRzRGVza3RvcH0sbC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6cygpKEh0Lm90aGVyU3ltYm9scyxtLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzJiZIdC5uZXdTdHlsZXMpfSxmdW5jdGlvbigpe2lmKGkuY3VycmVudFN5bWJvbFR5cGUhPT0oMCxtLmdldEFsbFN5bWJvbFR5cGVzVmFsdWUpKCkpe2NvbnN0IGU9YDxzcGFuIGNsYXNzPSIke0h0LmJvbGR9Ij4ke3l8fCIifTwvc3Bhbj5gO2lmKG0uaXNTZXBhcmF0ZVN5bWJvbFNlYXJjaFRhYnMpe2NvbnN0IHQ9ZltpLmN1cnJlbnRTeW1ib2xUeXBlXSxyPXQmJk9iamVjdC52YWx1ZXModCkuc29tZSgoZT0+ZSE9PU4uRklMVEVSX0RFRkFVTFRfVkFMVUUpKTtpZigicmVzZXRUYWJGaWx0ZXIiPT09Z3x8dnx8cil7Y29uc3QgdD0iIj09PW8/Yy50KG51bGwsdm9pZCAwLG4oNDY1NjA2KSkuZm9ybWF0KHtzeW1ib2xUeXBlOmV9KTpjLnQobnVsbCx2b2lkIDAsbigyMDMwODUpKS5mb3JtYXQoe3N5bWJvbFR5cGU6ZSxzeW1ib2w6YDxzcGFuIGNsYXNzPSIke0h0LnRva2VufSI+JHtvfTwvc3Bhbj5gfSk7cmV0dXJuIGwuY3JlYXRlRWxlbWVudCgic3BhbiIse2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6dH19KX19aWYodil7Y29uc3QgdD1gJHtjLnQobnVsbCx2b2lkIDAsbig0ODg1OTkpKS5mb3JtYXQoe3N5bWJvbFR5cGU6ZSxleGNoYW5nZU5hbWU6YDxzcGFuIGNsYXNzPSIke0h0LmJvbGR9Ij4ke1MubmFtZSgpfTwvc3Bhbj5gfSl9JHtXdH1gO3JldHVybiBsLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtkYW5nZXJvdXNseVNldElubmVySFRNTDp7Cl9faHRtbDp0fX0pfWNvbnN0IHQ9Yy50KG51bGwsdm9pZCAwLG4oMjcxODQwKSkuZm9ybWF0KHtzeW1ib2xUeXBlOmV9KSxyPW8/Yy50KG51bGwsdm9pZCAwLG4oNTM0MTMyKSkuZm9ybWF0KHtzeW1ib2xUeXBlOmUsc3ltYm9sOmA8c3BhbiBjbGFzcz0iJHtIdC50b2tlbn0iPiR7b308L3NwYW4+YH0pOnQsYT1gJHt0fSR7V3R9YDtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KCJzcGFuIix7ZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDptLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzP3I6YX19KX1pZih2KXtjb25zdCBlPWAke2MudChudWxsLHZvaWQgMCxuKDQwNjAxMykpLmZvcm1hdCh7ZXhjaGFuZ2VOYW1lOmA8c3BhbiBjbGFzcz0iJHtIdC5ib2xkfSI+JHtTLm5hbWUoKX08L3NwYW4+YH0pfSR7V3R9YDtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KCJzcGFuIix7ZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDplfX0pfXJldHVybiIifSgpKSxsLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoSHQub3RoZXJTeW1ib2xzLG0uaXNTZXBhcmF0ZVN5bWJvbFNlYXJjaFRhYnMmJkh0LnNtYWxsRm9udCl9LGwuY3JlYXRlRWxlbWVudCgic3BhbiIse2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6X319KSksbS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz9sLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpIdC5yZXNldEZpbHRlcnN9LGZ1bmN0aW9uKCl7aWYoInJlc2V0RmlsdGVyIj09PWcpcmV0dXJuIGwuY3JlYXRlRWxlbWVudCh3dC5MaWdodEJ1dHRvbix7Y2xhc3NOYW1lOkh0LnNob3dNZSxzaXplOiJzbWFsbCIsb25DbGljazpyfSxjLnQobnVsbCx2b2lkIDAsbig2MjE0MzApKSk7cmV0dXJuIGwuY3JlYXRlRWxlbWVudCh3dC5MaWdodEJ1dHRvbix7Y2xhc3NOYW1lOkh0LnNob3dNZSxzaXplOiJzbWFsbCIsb25DbGljazpFfSxjLnQobnVsbCx2b2lkIDAsbig5MjQzMjgpKSl9KCkpOmwuY3JlYXRlRWxlbWVudChCdC5CdXR0b24se2NsYXNzTmFtZTpIdC5yZXNldEZpbHRlcnMsc2l6ZToibSIsYXBwZWFyYW5jZToic3Ryb2tlIixvbkNsaWNrOnJ9LGMudChudWxsLHZvaWQgMCxuKDYyMTQzMCkpKSk7ZnVuY3Rpb24gRSgpe3YmJmZ1bmN0aW9uKCl7aWYobnVsbD09PVV0KXJldHVybjtwKFV0KX0oKTtjb25zdCBlPWkudGFiU2VsZWN0RmlsdGVycztpZighZSlyZXR1cm47Y29uc3QgdD1lLnJlZHVjZSgoKGUsdCk9PihlW3QuaWRdPU4uRklMVEVSX0RFRkFVTFRfVkFMVUUsZSkpLHt9KTtoKGkuY3VycmVudFN5bWJvbFR5cGUsdCl9fXZhciBHdD1uKDMxMjE0NyksUXQ9bigzNjU0NiksenQ9bigyMzg5MDQpO2NvbnN0ICR0PSgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfaW1hZ2VfaW52YWxpZF9zeW1ib2wiKTtmdW5jdGlvbiBxdChlKXtjb25zdHtvdGhlclN5bWJvbHNDb3VudDp0LG9uQ2hhbmdlU3ltYm9sVHlwZUZpbHRlcjpuLG9uUmVzZXRGaWx0ZXJzOnIsb25MaXN0VG91Y2hNb3ZlOm8sbGlzdFJlZjphLGxpc3RXcmFwUmVmOnMsb25Mb2FkTW9yZVN5bWJvbHM6aSxjYW5Mb2FkTW9yZTpjLHRyYWRpbmdGaWx0ZXJCdXR0b246dX09ZSx7bW9kZTpkLHNlbGVjdGVkU3ltYm9sVHlwZTpwLHN5bWJvbFR5cGVzOmgsZmVlZEl0ZW1zOmYsY29udGVudEl0ZW06UyxlbXB0eVN0YXRlOmc9S3Qsc3ltYm9sU2VhcmNoQ29udGVudDp5LHN5bWJvbFNlYXJjaFN0YXRlOmJ9PSgwLFllLnVzZUVuc3VyZWRDb250ZXh0KShWZS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpLHY9aC5tYXAoKGU9Pih7aWQ6ZS52YWx1ZSxjaGlsZHJlbjplLm5hbWV9KSkpLF89InN5bWJvbFNlYXJjaCI9PT1kJiZbImdvb2QiLCJsb2FkaW5nV2l0aFBhZ2luYXRlZCJdLmluY2x1ZGVzKGIpLEU9Uz8/TXQuU3ltYm9sU2VhcmNoRGlhbG9nQ29udGVudEl0ZW0sQz0oMCxsLnVzZU1lbW8pKCgoKT0+Zi5tYXAoKGU9PmwuY3JlYXRlRWxlbWVudChFLHsuLi5lLHNlYXJjaFRva2VuOnkudG9rZW59KSkpKSxbZl0pO3JldHVybiBsLmNyZWF0ZUVsZW1lbnQobC5GcmFnbWVudCxudWxsLCJzeW1ib2xTZWFyY2giPT09ZCYmbC5jcmVhdGVFbGVtZW50KGwuRnJhZ21lbnQsbnVsbCxsLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp6dC5idWJibGVzQ29udGFpbmVyfSxoLmxlbmd0aD4wJiZsLmNyZWF0ZUVsZW1lbnQoRnQuUm91bmRCdXR0b25UYWJzLHtpZDoic3ltYm9sLXNlYXJjaC10YWJzIixpc0FjdGl2ZTplPT5lLmlkPT09cCxvbkFjdGl2YXRlOm4sb3ZlcmZsb3dCZWhhdmlvdXI6UHQubW9iaWxldG91Y2g/InNjcm9sbCI6IndyYXAiLGNsYXNzTmFtZTp6dC5idWJibGVzLGl0ZW1zOnZ9LFB0Lm1vYmlsZXRvdWNoP251bGw6bC5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsdSkpLCFtLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzJiZQdC5tb2JpbGV0b3VjaCYmaC5sZW5ndGg+MCYmdSYmbC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6enQudHJhZGluZ0ZpbHRlckJ1dHRvbldyYXB9LHUpKSxtLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzJiZsLmNyZWF0ZUVsZW1lbnQoRHQuU3ltYm9sU2VhcmNoRmVlZEhlYWRlcix7dHJhZGluZ0ZpbHRlckJ1dHRvbjpQdC5tb2JpbGV0b3VjaD91OnZvaWQgMH0pKSxsLmNyZWF0ZUVsZW1lbnQoT3QuU3ltYm9sU2VhcmNoRmVlZCx7bGlzdFJlZjphLGxpc3RXcmFwUmVmOnMsb25Ub3VjaE1vdmU6byxpdGVtczpDLGdldEl0ZW1TaXplOigpPT5EZS5ST1dfSEVJR0hULG9uTG9hZE1vcmVTeW1ib2xzOmksY2FuTG9hZE1vcmU6YyxoaWRlRmVlZDohX30pLCJsb2FkaW5nIj09PWImJmwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnp0LnNwaW5uZXJXcmFwfSxsLmNyZWF0ZUVsZW1lbnQoa3QuU3Bpbm5lcixudWxsKSksInN5bWJvbFNlYXJjaCI9PT1kJiZsLmNyZWF0ZUVsZW1lbnQobC5GcmFnbWVudCxudWxsLCgicmVzZXRGaWx0ZXIiPT09Ynx8InJlc2V0VGFiRmlsdGVyIj09PWIpJiZsLmNyZWF0ZUVsZW1lbnQoVnQse3Rva2VuOnkudG9rZW4sb3RoZXJTeW1ib2xzQ291bnQ6dCxvbkNsaWNrOnIKfSksImVtcHR5Ij09PWImJmwuY3JlYXRlRWxlbWVudChnLG51bGwpKSl9ZnVuY3Rpb24gS3QoZSl7Y29uc3QgdD0oMCxJdC51c2VUaGVtZSkoKT09PW90LlN0ZFRoZW1lLkRhcms/R3Q6UXQ7cmV0dXJuIGwuY3JlYXRlRWxlbWVudCgkZS5TeW1ib2xTZWFyY2hOb1Jlc3VsdCx7Y2xhc3NOYW1lOnp0Lm5vUmVzdWx0c0Rlc2t0b3B9LCEkdCYmbC5jcmVhdGVFbGVtZW50KEhlLkljb24se2ljb246dCxjbGFzc05hbWU6enQuZW1wdHlJY29ufSksbC5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6enQuZW1wdHlUZXh0fSxjLnQobnVsbCx2b2lkIDAsbig0MTc3NykpKSl9dmFyIFl0PW4oODM0MzgpLFh0PW4oNDIxMDY3KTtjb25zdCBqdD0oMCxtLmdldERlZmF1bHRTZWFyY2hTb3VyY2UpKCk7ZnVuY3Rpb24gWnQoZSl7Y29uc3R7bW9kZTp0LHNldE1vZGU6cixzZXRTZWxlY3RlZEluZGV4Om8saXNNb2JpbGU6YSxzZWxlY3RlZFNlYXJjaFNvdXJjZTp1LHNldFNlbGVjdGVkU2VhcmNoU291cmNlOnAsaXNBbGxTZWFyY2hTb3VyY2VzU2VsZWN0ZWQ6aCxzZWxlY3RlZFN5bWJvbFR5cGU6YixzZXRTZWxlY3RlZFN5bWJvbFR5cGU6dixzeW1ib2xTZWFyY2hDb250ZW50Ol8sc2V0U3ltYm9sU2VhcmNoQ29udGVudDpFLHNlYXJjaFJlZjpULGxpc3RXcmFwUmVmOngsc2V0U2VhcmNoU3ByZWFkczpJLHNob3dTcHJlYWRBY3Rpb25zOncsc2VsZWN0ZWRJdGVtOk4sZm9yY2VVcGRhdGU6UixwbGFjZWhvbGRlcjpBLGluaXRpYWxTY3JlZW46TCxmb290ZXI6TyxzZWFyY2hJbnB1dDpNLHVwcGVyQ2FzZUVuYWJsZWQ6RCxleHRlcm5hbElucHV0OkYsaGFuZGxlS2V5RG93bjpCLGN1c3RvbVNlYXJjaFN5bWJvbHM6SCxmaWx0ZXJRdWVyeVBhcmFtczpVLHNlYXJjaFNvdXJjZXM6VyxzeW1ib2xTZWFyY2hTdGF0ZTpWLHNldFN5bWJvbFNlYXJjaFN0YXRlOkcsb25FbXB0eVJlc3VsdHM6eixvdmVycmlkZVF1ZXJ5UGFyYW1zOiQsZ2V0RmlsdGVyc0J5U3ltYm9sVHlwZTpxLHNob3dSZWNlbnRzOkssc2VhcmNoSW5pdGlhdGlvblBvaW50Oll9PSgwLFllLnVzZUVuc3VyZWRDb250ZXh0KShWZS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpLFtYLGpdPSgwLGwudXNlU3RhdGUpKCExKSxaPXZvaWQgMCE9PUgsSj1IPz9wdC5zZWFyY2hTeW1ib2xzUGFnaW5hdGVkLGVlPSgwLGwudXNlUmVmKSh0KTtlZS5jdXJyZW50PXQ7Y29uc3QgdGU9KDAsbC51c2VSZWYpKG5ldyBBYm9ydENvbnRyb2xsZXIpLFtuZSxyZV09KDAsbC51c2VTdGF0ZSkoMCksb2U9KDAsbC51c2VSZWYpKDApLFtsZSxhZV09KDAsbC51c2VTdGF0ZSkoXy50b2tlbiksc2U9KDAsbC51c2VSZWYpKG51bGwpLGllPSgwLGwudXNlUmVmKSh7c2VsZWN0ZWRJbmRleFZhbHVlOi0xLHNlYXJjaFRva2VuVmFsdWU6IiIsc2VhcmNoU3ByZWFkc1ZhbHVlOiEwfSksY2U9KDAsbC51c2VSZWYpKG51bGwpLHVlPSgwLGwudXNlUmVmKShudWxsKSxkZT0oMCxsLnVzZVJlZikobnVsbCkse2Jyb2tlcldyYXBwZXI6bWU9bnVsbCxicm9rZXJJZDpwZSxicm9rZXJUaXRsZTpoZSxicm9rZXJMb2dvSW5mbzpmZSxpc0Jyb2tlckNoZWNrZWQ6U2U9ITEsc2V0SXNCcm9rZXJDaGVja2VkOmdlPSgpPT57fSx1bmhpZGVTeW1ib2xTZWFyY2hHcm91cHM6eWU9IiJ9PUMoKSx7aXNTdXBwb3J0QWNjb3VudEZpbHRlcjpiZT0hMSxhY2NvdW50RmlsdGVyVGl0bGU6dmUsYWNjb3VudEZpbHRlclRvb2x0aXBUZXh0Ol9lLGFjY291bnRGaWx0ZXJMb2dvSW5mbzpFZSxpc0FjY291bnRGaWx0ZXJDaGVja2VkOkNlPSExLHNldElzQWNjb3VudEZpbHRlckNoZWNrZWQ6VGU9KCk9Pnt9fT14dChtZSk7KDAsbC51c2VFZmZlY3QpKCgoKT0+KCk9Pnt0ZS5jdXJyZW50LmFib3J0KCksR2UoKSxRZSgpfSksW10pLCgwLGwudXNlRWZmZWN0KSgoKCk9Pntjb25zdCBlPVQuY3VycmVudDtpZihlKXJldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixNZSksZS5hZGRFdmVudExpc3RlbmVyKCJzZWFyY2gtaW5wdXQtY2xlYXIiLE1lKSxlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixVZSksZS5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3QiLE9lKSxlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixPZSksZS5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsV2UpLCgpPT57ZSYmKGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW5wdXQiLE1lKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlYXJjaC1pbnB1dC1jbGVhciIsTWUpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLFVlKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlbGVjdCIsT2UpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLE9lKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleXVwIixXZSkpfX0pLFtCXSksKDAsbC51c2VFZmZlY3QpKCgoKT0+e0Jvb2xlYW4oTCkmJiIiPT09bGUudHJpbSgpP0UoKGU9Pntjb25zdCB0PUJvb2xlYW4odSYmVy5sZW5ndGg+MSYmISgwLG0uZXhjaGFuZ2VTZWxlY3REaXNhYmxlZCkoYikpLG49cShiKTtyZXR1cm57Li4uZSx0YWJTZWxlY3RGaWx0ZXJzOm4sY3VycmVudFN5bWJvbFR5cGU6YixjYW5DaGFuZ2VFeGNoYW5nZTp0LHdpdGhGaWx0ZXJzOkJvb2xlYW4odHx8bj8ubGVuZ3RoKSx0b2tlbjpsZSxjdXJyZW50VGFiQXZhaWxhYmxlU2VhcmNoU291cmNlczpXLGN1cnJlbnRTZWxlY3RlZFNlYXJjaFNvdXJjZTp1fX0pKTooRSgoZT0+KHsuLi5lLHN5bWJvbFN0YXJ0SW5kZXg6MH0pKSksUGUobGUsYix1KS50aGVuKCgoKT0+e3guY3VycmVudCYmKHguY3VycmVudC5zY3JvbGxUb3A9MCl9KSkpfSksW2xlLGIsdSxTZSxDZSxMLFVdKSwoMCxsLnVzZUVmZmVjdCkoKCgpPT57aWYoIU58fCFULmN1cnJlbnQpcmV0dXJuO2NvbnN0IGU9KDAscHQuaXNTeW1ib2xTZWFyY2hSZXN1bHQpKE4pP04uZXhjaGFuZ2U6Ti5wYXJlbnQuZXhjaGFuZ2U7bGV0IHQ7dD0iY29udHJhY3RzImluIE4mJk4uY29udHJhY3RzPy5sZW5ndGg/Ti5jb250cmFjdHNbMF06Tjtjb25zdCBuPXtuYW1lOnQuc3ltYm9sLGV4Y2hhbmdlOmUscHJlZml4OnQucHJlZml4LGZ1bGxOYW1lOnQuZnVsbF9uYW1lfSxbcixvXT1TKFQuY3VycmVudCxuLEQpCjtULmN1cnJlbnQudmFsdWU9cixULmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UobyxvKSxSKCl9KSxbTl0pO2NvbnN0IHhlPUw/PyJkaXYiLEllPUJvb2xlYW4oTCkmJiJzeW1ib2xTZWFyY2giIT09dCx3ZT1NPz9MdC5TZWFyY2hJbnB1dCxOZT1BfHxjLnQobnVsbCx2b2lkIDAsbigyMTMyOTkpKSxSZT0oMCxsLnVzZU1lbW8pKCgoKT0+KHtsaXN0UmVmOnNlLHJlc2V0UmVjb21tZW5kczpIZSx1cGRhdGVSZWNvbW1lbmRzOlBlLHNlYXJjaFRva2VuOmxlLGVtcHR5VGV4dENsYXNzTmFtZTp6dC5lbXB0eVRleHQsaXNCcm9rZXJDaGVja2VkOlNlLGlzQWNjb3VudEZpbHRlckNoZWNrZWQ6Q2Usc3ltYm9sU2VhcmNoU3RhdGU6VixjdXJyZW50TW9kZTplZX0pKSxbc2UsbGUsU2UsQ2UsVixlZSxVXSksQWU9ZnVuY3Rpb24oKXswO2lmKGhlKXJldHVybiBsLmNyZWF0ZUVsZW1lbnQoUnQse3RleHQ6aGUsdG9vbHRpcFRleHQ6Yy50KG51bGwse3JlcGxhY2U6e2Jyb2tlck5hbWU6aGV9fSxuKDU4OTA3MikpLGlzQWN0aXZlOlNlLG9uVG9nZ2xlOmdlLGxvZ29JbmZvOmZlfSk7aWYodmUpcmV0dXJuIGwuY3JlYXRlRWxlbWVudChSdCx7dGV4dDp2ZSx0b29sdGlwVGV4dDpfZSxpc0FjdGl2ZTpDZSxvblRvZ2dsZTpUZSxsb2dvSW5mbzpFZX0pO3JldHVybiBudWxsfSgpO3JldHVybiBsLmNyZWF0ZUVsZW1lbnQobHQuU3ltYm9sU2VhcmNoRGlhbG9nQm9keUNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOlJlfSwhKEYmJiJzeW1ib2xTZWFyY2giPT09dCkmJmwuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnMoKSh6dC5pbnB1dENvbnRhaW5lcil9LGwuY3JlYXRlRWxlbWVudCh3ZSx7ImRhdGEtcWEtaWQiOiJzeW1ib2wtc2VhcmNoLWlucHV0IixpbnB1dENsYXNzTmFtZTpzKCkoenQuc2VhcmNoLEQmJnp0LnVwcGVyQ2FzZSksb25SZXNldDpmdW5jdGlvbigpe2lmKCFULmN1cnJlbnQpcmV0dXJuO1QuY3VycmVudC52YWx1ZT0iIixULmN1cnJlbnQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlYXJjaC1pbnB1dC1jbGVhciIpKSxMZSh7c2VsZWN0ZWRJbmRleFZhbHVlOi0xLHNlYXJjaFNwcmVhZHNWYWx1ZTohMSxzZWFyY2hUb2tlblZhbHVlOiIifSksYXx8VC5jdXJyZW50LmZvY3VzKCl9LHJlZmVyZW5jZTpULGlzTW9iaWxlOmEscGxhY2Vob2xkZXI6TmUsZW5kU2xvdDp3JiZsLmNyZWF0ZUVsZW1lbnQobC5GcmFnbWVudCxudWxsLFgmJmwuY3JlYXRlRWxlbWVudChDdCx7c3RhdGU6aWUsdXBkYXRlOkRlfSksbC5jcmVhdGVFbGVtZW50KG10Lkljb25CdXR0b24se3RvZ2dsZWRUaXRsZTpjLnQobnVsbCx7Y29udGV4dDoic2VhcmNoX2lucHV0X3NwcmVhZHMifSxuKDg5MjUpKSx1bnRvZ2dsZWRUaXRsZTpjLnQobnVsbCx7Y29udGV4dDoic2VhcmNoX2lucHV0X3NwcmVhZHMifSxuKDMyMzM2MykpLG9uVG9nZ2xlOmosaXNUb2dnbGVkOlgsdW50b2dnbGVkSWNvbjpZdCx0b2dnbGVkSWNvbjpYdH0pKX0pKSxJZT9sLmNyZWF0ZUVsZW1lbnQoeGUsbnVsbCk6bC5jcmVhdGVFbGVtZW50KHF0LHtvdGhlclN5bWJvbHNDb3VudDpuZSxvbkxpc3RUb3VjaE1vdmU6ZnVuY3Rpb24oKXtULmN1cnJlbnQ/LmJsdXIoKX0sb25DaGFuZ2VTeW1ib2xUeXBlRmlsdGVyOmZ1bmN0aW9uKGUpe2NvbnN0e2lkOnR9PWU7dih0KSxvKC0xKX0sb25SZXNldEZpbHRlcnM6ZnVuY3Rpb24oKXttLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzPyJyZXNldEZpbHRlciI9PT1WP3YoKDAsbS5nZXRBbGxTeW1ib2xUeXBlc1ZhbHVlKSgpKTpqdCYmcChqdCk6KHYoKDAsbS5nZXRBbGxTeW1ib2xUeXBlc1ZhbHVlKSgpKSxqdCYmcChqdCkpO2dlKCExKSxUZSghMSksYXx8VC5jdXJyZW50Py5mb2N1cygpfSx0cmFkaW5nRmlsdGVyQnV0dG9uOkFlLGxpc3RSZWY6c2UsbGlzdFdyYXBSZWY6eCxvbkxvYWRNb3JlU3ltYm9sczpmdW5jdGlvbigpeyJsb2FkaW5nV2l0aFBhZ2luYXRlZCIhPT1WJiZQZShsZSxfLmN1cnJlbnRTeW1ib2xUeXBlLHUsXy5zeW1ib2xTdGFydEluZGV4KX0sY2FuTG9hZE1vcmU6MCE9PV8uc3ltYm9sc1JlbWFpbmluZ30pLE8pO2Z1bmN0aW9uIExlKGUpe2llLmN1cnJlbnQ9ey4uLmV9LGNlLmN1cnJlbnR8fChjZS5jdXJyZW50PXNldFRpbWVvdXQoRGUsMCkpfWZ1bmN0aW9uIGtlKCl7aWYoIVQuY3VycmVudClyZXR1cm47Y29uc3RbZSx0LG5dPWcoVC5jdXJyZW50LEQpO29lLmN1cnJlbnQ9dCxMZSh7c2VsZWN0ZWRJbmRleFZhbHVlOi0xLHNlYXJjaFNwcmVhZHNWYWx1ZTooMCxkLmlzU3ByZWFkKShuKSxzZWFyY2hUb2tlblZhbHVlOmV9KX1mdW5jdGlvbiBPZSgpe2lmKCFULmN1cnJlbnQpcmV0dXJuO2NvbnN0WyxlXT1nKFQuY3VycmVudCxEKTtlIT09b2UuY3VycmVudCYma2UoKX1mdW5jdGlvbiBNZSgpe1IoKSxrZSgpfWZ1bmN0aW9uIERlKCl7Y29uc3R7c2VsZWN0ZWRJbmRleFZhbHVlOmUsc2VhcmNoVG9rZW5WYWx1ZTp0LHNlYXJjaFNwcmVhZHNWYWx1ZTpufT1pZS5jdXJyZW50O2NlLmN1cnJlbnQ9bnVsbCwoMCxkdC51bnN0YWJsZV9iYXRjaGVkVXBkYXRlcykoKCgpPT57SShuKSxvKGUpLGFlKEQ/dC50b1VwcGVyQ2FzZSgpOnQpfSkpfWFzeW5jIGZ1bmN0aW9uIFBlKGUsdCxuLHIpe3plKCk7Y29uc3Qgbz10ZS5jdXJyZW50LnNpZ25hbDt0cnl7bGV0IGE7Im5vb3AiPT09Vj9HKCJsb2FkaW5nIik6cj9HKCJsb2FkaW5nV2l0aFBhZ2luYXRlZCIpOihHZSgpLFFlKCksdWUuY3VycmVudD1zZXRUaW1lb3V0KCgoKT0+e2lmKG8uYWJvcnRlZClyZXR1cm47Y29uc3Qgbj1Cb29sZWFuKHUmJlcubGVuZ3RoPjEmJiEoMCxtLmV4Y2hhbmdlU2VsZWN0RGlzYWJsZWQpKHQpKSxyPXEodCk7RSh7dG9rZW46ZSxjYW5DaGFuZ2VFeGNoYW5nZTpuLHRhYlNlbGVjdEZpbHRlcnM6cix3aXRoRmlsdGVyczpCb29sZWFuKG58fHI/Lmxlbmd0aCksY3VycmVudFN5bWJvbFR5cGU6dCxjdXJyZW50U2VsZWN0ZWRTZWFyY2hTb3VyY2U6dSxjdXJyZW50VGFiQXZhaWxhYmxlU2VhcmNoU291cmNlczpXLHJlbmRlclN5bWJvbFNlYXJjaExpc3Q6W10sc3ltYm9sc1JlbWFpbmluZzowLHN5bWJvbFN0YXJ0SW5kZXg6MH0pLEcoImxvYWRpbmciKQp9KSw1MDApKTtsZXQgcz0hMTtpZihtZSYmQ2UmJmJlKXtjb25zdCBlPWF3YWl0KDAsUS5yZXNwZWN0QWJvcnQpKG8sbWUuYWNjb3VudE1ldGFpbmZvKCkpO3M9Qm9vbGVhbihlLnN5bWJvbFNlYXJjaEZpbHRlclBhcmFtcz8uaXNFeHRlcm5hbCksYT1lLnN5bWJvbFNlYXJjaEZpbHRlclBhcmFtcz8uaWR9Y29uc3QgYz1TZSYmbWUscD10PT09KDAsbS5nZXRBbGxTeW1ib2xUeXBlc1ZhbHVlKSgpLFM9IiI9PT1lLnRyaW0oKSYmIVomJiFjJiYhYSYmcCYmSztsZXQgZztpZihTZSYmbWUpe2c9KGF3YWl0KDAsUS5yZXNwZWN0QWJvcnQpKG8sbWUuYWNjb3VudE1ldGFpbmZvKCkpKS5wcmVmaXh9Y29uc3QgYj1mKGUpPz9nPz9uPy5nZXRSZXF1ZXN0RXhjaGFuZ2VWYWx1ZSgpLHY9ZihlKT92b2lkIDA6KG58fHUpPy5nZXRSZXF1ZXN0Q291bnRyeVZhbHVlKCksW0MsVF09YXdhaXQgUHJvbWlzZS5hbGwoW0JlKG8sZSx0LG4sYix2LHIsYSxzKSxTJiYhcj9rKCk6UHJvbWlzZS5yZXNvbHZlKFtdKV0pO2lmKG8uYWJvcnRlZClyZXR1cm47Y29uc3QgeD1ULmZpbHRlcigoZT0+Yj9lLmV4Y2hhbmdlPy50b0xvd2VyQ2FzZSgpPT09Yi50b0xvd2VyQ2FzZSgpOiF2fHxlLmNvdW50cnk/LnRvTG93ZXJDYXNlKCk9PT12LnRvTG93ZXJDYXNlKCkpKSxJPW5ldyBTZXQoeC5tYXAoKGU9PmAke2UuZXhjaGFuZ2V9XyR7ZS5zeW1ib2x9YCkpKSx3PUMuc3ltYm9scy5maWx0ZXIoKGU9PiFJLmhhcyhgJHtlLmV4Y2hhbmdlfV8ke2Uuc3ltYm9sfWApKSk7bGV0IE49ZnVuY3Rpb24oZSx0PXdpbmRvdy5DaGFydEFwaUluc3RhbmNlLnN5bWJvbHNHcm91cGluZygpKXtjb25zdCBuPXt9LHI9W107Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDsrK28pe2NvbnN0IGw9ZVtvXTtpZihsLnByZWZpeHx8QXJyYXkuaXNBcnJheShsLmNvbnRyYWN0cykpcmV0dXJuIGU7Y29uc3QgYT10W2wudHlwZV07aWYodm9pZCAwPT09YSl7ci5wdXNoKGwpO2NvbnRpbnVlfWNvbnN0IHM9YS5leGVjKGwuc3ltYm9sKTtpZihzKXtjb25zdCBlPXNbMV07bGV0IHQ7bi5oYXNPd25Qcm9wZXJ0eShlKT90PW5bZV06KHQ9ci5sZW5ndGgsbltlXT10LHIucHVzaCh7dHlwZTpsLnR5cGUsc3ltYm9sOmUsZXhjaGFuZ2U6bC5leGNoYW5nZSxkZXNjcmlwdGlvbjpsLmRlc2NyaXB0aW9uLGZ1bGxfbmFtZTpsLmV4Y2hhbmdlKyI6IitlLGNvbnRyYWN0czpbXX0pKSxyW3RdLmNvbnRyYWN0cz8ucHVzaChsKX1lbHNlIHIucHVzaChsKX1yZXR1cm4gcn0oWy4uLngsLi4ud10pO2lmKGw9TixOPSgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpP2wuZmlsdGVyKChlPT4hZS5wYXJhbXN8fC0xPT09ZS5wYXJhbXMuaW5kZXhPZigicHJvIikpKTpsLHImJihOPVsuLi5fLnJlbmRlclN5bWJvbFNlYXJjaExpc3QsLi4uTl0pLE4ubGVuZ3RoKUdlKCksRSgobj0+e2NvbnN0IHI9Qm9vbGVhbih1JiZXLmxlbmd0aD4xJiYhKDAsbS5leGNoYW5nZVNlbGVjdERpc2FibGVkKSh0KSksbz1xKHQpO3JldHVybnsuLi5uLGNhbkNoYW5nZUV4Y2hhbmdlOnIsdGFiU2VsZWN0RmlsdGVyczpvLHJlbmRlclN5bWJvbFNlYXJjaExpc3Q6Tix0b2tlbjplLHN5bWJvbHNSZW1haW5pbmc6Qy5zeW1ib2xzX3JlbWFpbmluZyx3aXRoRmlsdGVyczpCb29sZWFuKHJ8fG8/Lmxlbmd0aCksY3VycmVudFN5bWJvbFR5cGU6dCxjdXJyZW50U2VsZWN0ZWRTZWFyY2hTb3VyY2U6dSxjdXJyZW50VGFiQXZhaWxhYmxlU2VhcmNoU291cmNlczpXLHN5bWJvbFN0YXJ0SW5kZXg6bi5zeW1ib2xTdGFydEluZGV4K0Muc3ltYm9scy5sZW5ndGh9fSkpLEcoImdvb2QiKTtlbHNle2lmKEUoKG49Pntjb25zdCByPUJvb2xlYW4odSYmVy5sZW5ndGg+MSYmISgwLG0uZXhjaGFuZ2VTZWxlY3REaXNhYmxlZCkodCkpLG89cSh0KTtyZXR1cm57Li4ubixjYW5DaGFuZ2VFeGNoYW5nZTpyLHRhYlNlbGVjdEZpbHRlcnM6byx0b2tlbjplLHN5bWJvbHNSZW1haW5pbmc6MCx3aXRoRmlsdGVyczpCb29sZWFuKHJ8fG8/Lmxlbmd0aCksY3VycmVudFN5bWJvbFR5cGU6dCxjdXJyZW50U2VsZWN0ZWRTZWFyY2hTb3VyY2U6dSxjdXJyZW50VGFiQXZhaWxhYmxlU2VhcmNoU291cmNlczpXfX0pKSxwJiZ1JiZoKHUpKXJldHVybiBHZSgpLEcoImVtcHR5Iiksdm9pZCBGZSgpO2NvbnN0IG49dD0+YXN5bmMgZnVuY3Rpb24oZSx0LG4scil7Y29uc3Qgbz17c2VydmVySGlnaGxpZ2h0OiEwLHRleHQ6KDAsZC5zaG9ydE5hbWUpKHQpLGV4Y2hhbmdlOmYodCl8fCIiLHR5cGU6bS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz9uOigwLG0uZ2V0QWxsU3ltYm9sVHlwZXNWYWx1ZSkoKSxsYW5nOndpbmRvdy5sYW5ndWFnZXx8IiIsc29ydEJ5Q291bnRyeTooMCxBdC5nZXRDdXJyZW50TG9jYWxlSW5mb0NvdW50cnkpKCksYnJva2VySWQ6cGUsZW5hYmxlR3JvdXBpbmc6KDAseS5pc0ZlYXR1cmVFbmFibGVkKSgic3ltYm9sX3NlYXJjaF9ncm91cGluZyIpJiYhcGUmJiFyLGFjY291bnRGaWx0ZXJJZDpyLG9ubHlUcmFkYWJsZTpCb29sZWFuKHBlKSYmU2Usb25seUFjY291bnRUcmFkYWJsZTpCb29sZWFuKHIpJiZDZSx1bmhpZGVTeW1ib2xTZWFyY2hHcm91cHM6eWUsc2lnbmFsOmV9O3JldHVybiBKKG8pfShvLGUsdCxhKSxyPWF3YWl0IFByb21pc2UuYWxsKFtuKCgwLG0uZ2V0QWxsU3ltYm9sVHlwZXNWYWx1ZSkoKSksbS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz9uKHQpOlByb21pc2UucmVzb2x2ZShudWxsKV0pO2lmKG8uYWJvcnRlZClyZXR1cm47R2UoKTtjb25zdFtsLHNdPXIubWFwKChlPT5udWxsPT09ZT8wOmUuc3ltYm9scy5sZW5ndGgpKTtzPyhHKCJyZXNldFRhYkZpbHRlciIpLHJlKHMpKTpsPyhHKCJyZXNldEZpbHRlciIpLHJlKGwpKTpHKCJlbXB0eSIpLEZlKCl9fWNhdGNoKGUpeygwLFEuc2tpcEFib3J0RXJyb3IpKGUpfXZhciBsfWZ1bmN0aW9uIEZlKCl7eiYmKGRlLmN1cnJlbnQ9c2V0VGltZW91dCgoKCk9PnooKSksMWUzKSl9YXN5bmMgZnVuY3Rpb24gQmUoZSx0LG4scixvLGwsYSxzLGkpe2NvbnN0IGM9e3NlcnZlckhpZ2hsaWdodDohMCx0ZXh0OigwLGQuc2hvcnROYW1lKSh0KSxleGNoYW5nZTpvLGNvdW50cnk6bCwKdHlwZTpuLGxhbmc6d2luZG93Lmxhbmd1YWdlfHwiIixlbmFibGVHcm91cGluZzooMCx5LmlzRmVhdHVyZUVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX2dyb3VwaW5nIikmJiFwZSYmIXMsc29ydEJ5Q291bnRyeTooMCxBdC5nZXRDdXJyZW50TG9jYWxlSW5mb0NvdW50cnkpKCksYnJva2VySWQ6cGUsYWNjb3VudEZpbHRlcklkOnMsaXNFeHRlcm5hbDppLG9ubHlUcmFkYWJsZTpCb29sZWFuKHBlKSYmU2Usb25seUFjY291bnRUcmFkYWJsZTpCb29sZWFuKHMpJiZDZSx1bmhpZGVTeW1ib2xTZWFyY2hHcm91cHM6eWUsc2lnbmFsOmUsc3RhcnQ6YSxmaWx0ZXJRdWVyeVBhcmFtczpVLG92ZXJyaWRlUXVlcnlQYXJhbXM6JCxzZWFyY2hJbml0aWF0aW9uUG9pbnQ6dm9pZCAwfSx1PWh0O3JldHVybiB2b2lkIDAhPT11JiZhd2FpdCgwLFEuZGVsYXkpKGUsdSksSihjKX1mdW5jdGlvbiBIZSgpe3plKCksRygiZW1wdHkiKSxhZSgiIiksSSghMSksRSgoZT0+KHsuLi5lLHN5bWJvbFN0YXJ0SW5kZXg6MH0pKSksR2UoKX1mdW5jdGlvbiBVZSgpeyJ3YXRjaGxpc3QiPT09ZWUuY3VycmVudCYmKHIoInN5bWJvbFNlYXJjaCIpLCgwLFAudHJhY2tFdmVudCkoIldhdGNobGlzdCIsIk1vYmlsZSBTUyIsIkdvIHRvIFNTIHBhZ2UiKSl9ZnVuY3Rpb24gV2UoZSl7c3dpdGNoKCgwLGZ0Lmhhc2hGcm9tRXZlbnQpKGUpKXtjYXNlIDM3OmNhc2UgMzk6T2UoKX19ZnVuY3Rpb24gR2UoKXt1ZS5jdXJyZW50JiZjbGVhclRpbWVvdXQodWUuY3VycmVudCl9ZnVuY3Rpb24gUWUoKXtkZS5jdXJyZW50JiZjbGVhclRpbWVvdXQoZGUuY3VycmVudCl9ZnVuY3Rpb24gemUoKXt0ZS5jdXJyZW50LmFib3J0KCksdGUuY3VycmVudD1uZXcgQWJvcnRDb250cm9sbGVyfX12YXIgSnQ9bigyNzM2ODQpLGVuPW4oODI0MzUpLHRuPW4oMjQ4MzEpO2Z1bmN0aW9uIG5uKGUpe2NvbnN0IHQ9KDAsbC51c2VNZW1vKShULmdldFdpZGdldFN5bWJvbFNlYXJjaENvbmZpZyxbXSksbj12b2lkIDA9PT10LFtyLG9dPSgwLGwudXNlU3RhdGUpKCgoKT0+ZnVuY3Rpb24oZSl7Y29uc3R7Y29uZmlndXJlZERlZmF1bHRFeGNoYW5nZTp0LGRlZmF1bHRTZWFyY2hTb3VyY2U6bixzYXZlZFNlYXJjaFNvdXJjZU5hbWU6cixzZWFyY2hTb3VyY2VzOm99PWU7aWYodm9pZCAwIT09dCl7Y29uc3QgZT1vLmZpbmQoKGU9PmUudmFsdWUoKT09PXQudG9VcHBlckNhc2UoKSkpO2lmKHZvaWQgMCE9PWUpcmV0dXJuIGV9aWYodm9pZCAwIT09cil7Y29uc3QgZT1vLmZpbmQoKGU9PmUudmFsdWUoKT09PXIpKTtpZih2b2lkIDAhPT1lKXJldHVybiBlfXJldHVybiBufSh7Li4uZSxjb25maWd1cmVkRGVmYXVsdEV4Y2hhbmdlOnQ/LmRlZmF1bHRFeGNoYW5nZSxzYXZlZFNlYXJjaFNvdXJjZU5hbWU6bj9iLmdldFZhbHVlKCJzeW1ib2xlZGl0LmV4Y2hhbmdlZmlsdGVyIiwiIik6dm9pZCAwfSkpKTtyZXR1cm5bciwoMCxsLnVzZUNhbGxiYWNrKSgoZT0+e3ZhciB0O28oZSksbiYmKHQ9ZSxiLnNldFZhbHVlKCJzeW1ib2xlZGl0LmV4Y2hhbmdlZmlsdGVyIix0LnZhbHVlKCkpKX0pLFtuXSldfWZ1bmN0aW9uIHJuKGUpe2NvbnN0e3NlbGVjdGVkU3ltYm9sU2V0dGluZ3NLZXk6dD0ic3ltYm9sZWRpdC5maWx0ZXIifT1lLFtuLHJdPSgwLGwudXNlU3RhdGUpKCgoKT0+e2lmKDE9PT1lLnR5cGVzLmxlbmd0aClyZXR1cm4gZS50eXBlc1swXS52YWx1ZTtjb25zdCBuPWIuZ2V0VmFsdWUodCwoMCxtLmdldEFsbFN5bWJvbFR5cGVzVmFsdWUpKCkpO3JldHVybiBlLnR5cGVzLmZpbmQoKGU9PmUudmFsdWU9PT1uKSk/bjooMCxtLmdldEFsbFN5bWJvbFR5cGVzVmFsdWUpKCl9KSk7cmV0dXJuW24sKDAsbC51c2VDYWxsYmFjaykoKGU9PntyKGUpLGZ1bmN0aW9uKGUsdD0ic3ltYm9sZWRpdC5maWx0ZXIiKXtiLnNldFZhbHVlKHQsZSl9KGUsdCl9KSxbdF0pXX12YXIgb249bigzNDIyNjEpLGxuPW4oNjQzOTAzKSxhbj1uKDE1NjgyOSksc249big4NDg5ODgpLGNuPW4oOTY5MTY4KSx1bj1uKDk4MzYxNiksZG49bigzMTgyNTQpO2NvbnN0IG1uPSgwLHkuaXNGZWF0dXJlRW5hYmxlZCkoImJyb2tlcl9pZF9zZXNzaW9uIikscG49KDAsbS5nZXRBdmFpbGFibGVTZWFyY2hTb3VyY2VzKSgpLGhuPSgwLG0uZ2V0RGVmYXVsdFNlYXJjaFNvdXJjZSkoKSxmbj0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyIpLFNuPSgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfaGlnaGxpZ2h0X2FjdGl2ZV9zeW1ib2wiKSYmKCEhKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iil8fHdpbmRvdy5UcmFkaW5nVmlldy5vbkNoYXJ0UGFnZSk7ZnVuY3Rpb24gZ24oZSl7Y29uc3R7b25DbG9zZTp0LGluaXRpYWxNb2RlOnIsZGVmYXVsdFZhbHVlOm89IiIsc2hvd1NwcmVhZEFjdGlvbnM6YSxoaWRlTWFya2VkTGlzdEZsYWc6cyxzZWxlY3RTZWFyY2hPbkluaXQ6aT0hMCxvblNlYXJjaENvbXBsZXRlOmQsZGlhbG9nVGl0bGU6cD1jLnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaF9kaWFsb2dfdGl0bGUifSxuKDg0NTIyOCkpLHBsYWNlaG9sZGVyOmgsZnVsbHNjcmVlbjpmLGluaXRpYWxTY3JlZW46Zyx3cmFwcGVyOnYsZGlhbG9nOl8sY29udGVudEl0ZW06RSxmb290ZXI6UixzZWFyY2hJbnB1dDpBLGVtcHR5U3RhdGU6TCxhdXRvZm9jdXM6ayxkaWFsb2dXaWR0aDpELG9uS2V5RG93bjpGLHNlYXJjaFNvdXJjZXNTY3JlZW46QixjdXN0b21TZWFyY2hTeW1ib2xzOkgsaXNEaXNhYmxlRmlsdGVyaW5nOlUsZGlzYWJsZVJlY2VudHM6VyxzaG91bGRSZXR1cm5Gb2N1czpWLG9uU3ltYm9sRmlsdGVyc1BhcmFtc0NoYW5nZTpHLG9uRW1wdHlSZXN1bHRzOlEsZW5hYmxlT3B0aW9uc0NoYWluOnosb3ZlcnJpZGVRdWVyeVBhcmFtczokLGhpZGRlbkZpbHRlcklkczpxLHNob3dSZWNlbnRzOks9ITAsc2VhcmNoSW5pdGlhdGlvblBvaW50Olk9InN5bWJvbFNlYXJjaCIsc2VsZWN0ZWRTeW1ib2xTZXR0aW5nc0tleTpYLGZpbHRlclZhbHVlc1NldHRpbmdzS2V5Omp9PWUsWj0oMCxsLnVzZU1lbW8pKCgoKT0+VT9bXTplLnN5bWJvbFR5cGVzPz8oMCwKbS5nZXRBdmFpbGFibGVTeW1ib2xUeXBlcykoKSksW10pLEo9dm9pZCAwIT09ZS5pbnB1dCxlZT1VP1tdOnBuLFt0ZSxuZV09KDAsbC51c2VTdGF0ZSkoKCgpPT5DbihvLHopPyJvcHRpb25zIjpyKSksW3JlLG9lXT0oMCxsLnVzZVN0YXRlKSgoKCk9PkNuKG8seikpKSxbbGUsYWVdPSgwLGwudXNlU3RhdGUpKCgoKT0+eiYmKDAsbS5pc09wdGlvbkRlZmF1bHRWYWx1ZSkobyk/by52YWx1ZTpudWxsKSksc2U9KDAsbC51c2VSZWYpKGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1DbihlLHQpO3JldHVybigwLG0uaXNPcHRpb25EZWZhdWx0VmFsdWUpKGUpP24/P2UudmFsdWU6ZX0obyx6KSksW2llLGNlXT1ubih7c2VhcmNoU291cmNlczplZSxkZWZhdWx0U2VhcmNoU291cmNlOmhufSksW3VlLGRlXT1JKHtzZWFyY2hTb3VyY2VzOmVlfSksW21lLHBlXT1ybih7dHlwZXM6WixzZWxlY3RlZFN5bWJvbFNldHRpbmdzS2V5Olh9KSxbaGUsZmVdPWZ1bmN0aW9uKGUsdD0ic2VsZWN0ZWRTeW1ib2xTZWFyY2hGaWx0ZXJWYWx1ZXMiKXtjb25zdFtuLHJdPSgwLGwudXNlU3RhdGUpKCgoKT0+e2NvbnN0IG49Yi5nZXRKU09OKHQse30pLHI9e307Zm9yKGNvbnN0W3Qsb11vZiBPYmplY3QuZW50cmllcyhuKSl7aWYoIWUuaGFzT3duUHJvcGVydHkodCkpY29udGludWU7Y29uc3Qgbj1uZXcgU2V0KCgwLHcuZW5zdXJlRGVmaW5lZCkoZVt0XSkubWFwKChlPT5lLmlkKSkpO2Zvcihjb25zdFtlLGxdb2YgT2JqZWN0LmVudHJpZXMobykpbi5oYXMoZSkmJihyW3RdfHwoclt0XT17fSksclt0XVtlXT1sKX1yZXR1cm4gcn0pKTtyZXR1cm5bbiwoMCxsLnVzZUNhbGxiYWNrKSgoKGUsbik9PntyKChyPT57Y29uc3Qgbz1yW2VdP3suLi5yW2VdfTp7fSxsPU9iamVjdC5rZXlzKG4pO2Zvcihjb25zdCBlIG9mIGwpe2NvbnN0IHQ9bltlXTt2b2lkIDA9PT10P28uaGFzT3duUHJvcGVydHkoZSkmJmRlbGV0ZSBvW2VdOm9bZV09dH1jb25zdCBhPXsuLi5yLFtlXTpvfTtyZXR1cm4gYi5zZXRKU09OKHQsYSksYX0pKX0pLFt0XSldfShOLlRBQl9TRUxFQ1RfRklMVEVSX01BUCxqKSxbU2UsZ2VdPSgwLGwudXNlU3RhdGUpKCExKSxbeWUsYmVdPSgwLGwudXNlU3RhdGUpKC0xKSxbdmUsX2VdPSgwLGwudXNlU3RhdGUpKCJub29wIiksW0VlLENlXT0oMCxsLnVzZVN0YXRlKShTbj91LmxpbmtpbmcucHJvU3ltYm9sLnZhbHVlKCk6bnVsbCksVGU9bS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz91ZT8uW21lXXx8aG46aWUseGU9KDAsbC51c2VNZW1vKSgoKCk9PntpZighbS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicylyZXR1cm4gZWU7cmV0dXJuKCJlY29ub21pYyI9PT1tZT9lZS5tYXAobS5tYXBFY29ub215U291cmNlKTplZSkuZmlsdGVyKChlPT57Y29uc3QgdD1OLlRBQl9TT1VSQ0VfRklMVEVSX01BUFttZV07aWYoIXQpcmV0dXJuITE7aWYoIW1lKXJldHVybiEwO2NvbnN0IG49ZS5ncm91cCgpO3JldHVybiBuPT09eC5FeGNoYW5nZUdyb3VwLkFsbEV4Y2hhbmdlc3x8biYmdC52YWx1ZS5pbmNsdWRlcyhuKX0pKX0pLFtlZSxtZV0pLEllPSgwLGwudXNlQ2FsbGJhY2spKChlPT57Y29uc3QgdD1tLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzP04uVEFCX1NFTEVDVF9GSUxURVJfTUFQOnZvaWQgMDtpZih0KXJldHVybiBxPy5sZW5ndGg/dFtlXT8uZmlsdGVyKChlPT4hcS5pbmNsdWRlcyhlLmlkKSkpOnRbZV19KSxbcV0pLFt3ZSxOZV09KDAsbC51c2VTdGF0ZSkoKCgpPT57Y29uc3QgZT1Cb29sZWFuKGllJiZwbi5sZW5ndGg+MSYmISgwLG0uZXhjaGFuZ2VTZWxlY3REaXNhYmxlZCkobWUpKSx0PUllKG1lKTtyZXR1cm57Y2FuQ2hhbmdlRXhjaGFuZ2U6ZSx0YWJTZWxlY3RGaWx0ZXJzOnQsd2l0aEZpbHRlcnM6Qm9vbGVhbihlfHx0Py5sZW5ndGgpLHJlbmRlclN5bWJvbFNlYXJjaExpc3Q6W10sdG9rZW46c2UuY3VycmVudCxzeW1ib2xzUmVtYWluaW5nOjAsY3VycmVudFN5bWJvbFR5cGU6bWUsY3VycmVudFNlbGVjdGVkU2VhcmNoU291cmNlOlRlLGN1cnJlbnRUYWJBdmFpbGFibGVTZWFyY2hTb3VyY2VzOnhlLHN5bWJvbFN0YXJ0SW5kZXg6MH19KSksUmU9KDAsbC51c2VDYWxsYmFjaykoKGU9PnsoMCxQLnRyYWNrRXZlbnQpKCJOZXcgU1MiLG1lLCJDaGFuZ2Ugc291cmNlcyIpLGRlPy4obWUsZSksTmUoKHQ9Pih7Li4udCxjdXJyZW50U2VsZWN0ZWRTZWFyY2hTb3VyY2U6ZX0pKSl9KSxbbWUsTmVdKSxBZT0oMCxsLnVzZVJlZikoZS5pbnB1dD8/bnVsbCksTGU9KDAsbC51c2VSZWYpKG51bGwpLFtPZSxCZV09KDAsbC51c2VTdGF0ZSkoITEpLEhlPSgwLG9uLnVzZUZvcmNlVXBkYXRlKSgpLFtVZSxXZV09KDAsbC51c2VTdGF0ZSkobmV3IFNldCkse2Jyb2tlcldyYXBwZXI6R2U9bnVsbCxicm9rZXJJZDpRZSx1bmhpZGVTeW1ib2xTZWFyY2hHcm91cHM6JGU9IiIsZGlzcGxheUJyb2tlclN5bWJvbDpxZT0hMX09QygpOygwLGwudXNlTGF5b3V0RWZmZWN0KSgoKCk9PnshQWU/LmN1cnJlbnR8fCFKJiZCb29sZWFuKEFlLmN1cnJlbnQ/LnZhbHVlKXx8KEp8fCJjb21wYXJlIj09PXRlfHwoQWUuY3VycmVudC52YWx1ZT1zZS5jdXJyZW50KSwha3x8SiYmInN5bWJvbFNlYXJjaCIhPT10ZXx8QWUuY3VycmVudC5mb2N1cygpKX0pLFt0ZV0pLCgwLGwudXNlRWZmZWN0KSgoKCk9PntBZT8uY3VycmVudCYmaSYmayYmQWUuY3VycmVudC5zZWxlY3QoKX0pLFtdKSwoMCxsLnVzZUVmZmVjdCkoKCgpPT57aWYoIVNuKXJldHVybjtjb25zdCBlPWU9PntDZShlKX07cmV0dXJuIHUubGlua2luZy5wcm9TeW1ib2wuc3Vic2NyaWJlKGUpLCgpPT57dS5saW5raW5nLnByb1N5bWJvbC51bnN1YnNjcmliZShlKX19KSxbXSksKDAsbC51c2VFZmZlY3QpKCgoKT0+e2lmKCFFZSlyZXR1cm47bGV0IGU7Zm9yKGNvbnN0IHQgb2Ygd2UucmVuZGVyU3ltYm9sU2VhcmNoTGlzdCl7aWYodC5ncm91cGVkX3N5bWJvbHMpe2lmKHRuLlF1YWxpZmllZFNvdXJjZXMuZnJvbVN5bWJvbFNlYXJjaFJlc3VsdCh0KT09PUVlKWJyZWFrCjt0Lmdyb3VwZWRfc3ltYm9scy5maW5kKChlPT50bi5RdWFsaWZpZWRTb3VyY2VzLmZyb21TeW1ib2xTZWFyY2hSZXN1bHQoZSk9PT1FZSkpJiYoZT10KX1lbHNleyh0LmNvbnRyYWN0cz90bi5RdWFsaWZpZWRTb3VyY2VzLmZyb21TeW1ib2xTZWFyY2hSZXN1bHQodCx0LmNvbnRyYWN0c1swXSk6dG4uUXVhbGlmaWVkU291cmNlcy5mcm9tU3ltYm9sU2VhcmNoUmVzdWx0KHQpKT09PUVlJiYoZT10KX1pZihlKWJyZWFrfWlmKGUmJigwLHB0LmlzRXhwYW5kYWJsZVJlc3VsdCkoZSkpe2NvbnN0IHQ9dm4oZSk7V2UoKGU9Pntjb25zdCBuPW5ldyBTZXQoZSk7cmV0dXJuIG4uYWRkKHQpLG59KSl9fSksW0VlLHdlLnJlbmRlclN5bWJvbFNlYXJjaExpc3RdKTtjb25zdCBLZT0oMCxsLnVzZU1lbW8pKCgoKT0+d2UucmVuZGVyU3ltYm9sU2VhcmNoTGlzdC5yZWR1Y2UoKChlLHQpPT57Y29uc3Qgbj12bih0KSxyPVVlLmhhcyhuKTtyZXR1cm4gZS5wdXNoKHQpLHImJnQuZ3JvdXBlZF9zeW1ib2xzJiZlLnB1c2goLi4udC5ncm91cGVkX3N5bWJvbHMubWFwKChlPT4oey4uLmUscGFyZW50OnR9KSkpKSxyJiZ0LmNvbnRyYWN0cyYmZS5wdXNoKC4uLnQuY29udHJhY3RzLm1hcCgoZT0+KHsuLi5lLHBhcmVudDp0fSkpKSksZX0pLFtdKSksW3dlLnJlbmRlclN5bWJvbFNlYXJjaExpc3QsVWVdKSxZZT0oMCxsLnVzZVJlZikobnVsbCk7KDAsbC51c2VFZmZlY3QpKCgoKT0+ey0xIT09eWUmJlllLmN1cnJlbnQ/LnNjcm9sbEludG9WaWV3KHtibG9jazoibmVhcmVzdCJ9KX0pLFt5ZSxZZV0pO2NvbnN0IFhlPURlLnRhYnNXaXRoSGlkZGVuTWFya2V0VHlwZS5pbmNsdWRlcyhtZSksamU9KDAsbC51c2VNZW1vKSgoKCk9Pntjb25zdCBlPWU9Pntjb25zdCB0PVQuZ2V0RXhjaGFuZ2VzPygwLFQuZ2V0RXhjaGFuZ2VzKSgpLmZpbHRlcigodD0+dC52YWx1ZT09PShlLnByZWZpeHx8ZS5leGNoYW5nZSkpKVswXTpudWxsO3JldHVybiB0Py5kZXNjfHwiIn07cmV0dXJuIEtlLm1hcCgoKHQsbik9PntpZigoMCxwdC5pc1N5bWJvbFNlYXJjaFJlc3VsdCkodCkpe2NvbnN0IHI9dm4odCksbz0oMCxwdC5pc0V4cGFuZGFibGVSZXN1bHQpKHQpLGw9KDAsTXQuaXNHcm91cGVkU3ltYm9sRXh0ZW5kZWQpKHQpLGE9bz9VZS5oYXMocik6dm9pZCAwLGk9bj09PXllLGM9d2UucmVuZGVyU3ltYm9sU2VhcmNoTGlzdC5maW5kSW5kZXgoKGU9PmUuc3ltYm9sPT09dC5zeW1ib2wmJmUuZXhjaGFuZ2U9PT10LmV4Y2hhbmdlKSkrMSx1PXQuY29udHJhY3RzP3RuLlF1YWxpZmllZFNvdXJjZXMuZnJvbVN5bWJvbFNlYXJjaFJlc3VsdCh0LHQuY29udHJhY3RzWzBdKTp0bi5RdWFsaWZpZWRTb3VyY2VzLmZyb21TeW1ib2xTZWFyY2hSZXN1bHQodCk7cmV0dXJue2tleTpuLG51bWJlckluTGlzdDpjLGlkOnIsZGFuZ2Vyb3VzVGl0bGVIVE1MOmJuKHQscWUpLGRhbmdlcm91c0Rlc2NyaXB0aW9uSFRNTDp0LmRlc2NyaXB0aW9uLGlzT2Zmc2V0Omwsb25DbGljazpkdC5iaW5kKG51bGwsdCxjKSxzb3VyY2U6dC5zb3VyY2Usc291cmNlMjp0LnNvdXJjZTIsdHlwZTp0LnR5cGUsdHlwZXNwZWNzOnQudHlwZXNwZWNzLGV4Y2hhbmdlTmFtZTpudWxsPT09dC5leGNoYW5nZT92b2lkIDA6dC5leGNoYW5nZSxleGNoYW5nZVRvb2x0aXA6ZSh0KSxwcmVmaXg6dC5wcmVmaXh8fHZvaWQgMCxtYXJrZXRUeXBlOigwLGVuLm1hcmtldFR5cGUpKHQudHlwZSx0LnR5cGVzcGVjcywhMSksaGlkZU1hcmtldFR5cGU6WGUsaXNFb2Q6dC5wYXJhbXM/LmluY2x1ZGVzKCJlb2QiKSYmImVjb25vbWljIiE9PXQudHlwZSxpc1lpZWxkOigwLGFuLmlzWWllbGQpKHQpLGlzRXhwYW5kZWQ6YSxpc0FjdGl2ZTpFZSYmIXQuY29udHJhY3RzP0VlPT09dTp2b2lkIDAsb25FeHBhbmRDbGljazpvP210LmJpbmQobnVsbCxyKTp2b2lkIDAsZnVsbFN5bWJvbE5hbWU6dSxpdGVtUmVmOmk/WWU6dm9pZCAwLGlzU2VsZWN0ZWQ6bj09PXllLGhpZGVNYXJrZWRMaXN0RmxhZzpzLGl0ZW06dCxsb2dvRGF0YTp0LmxvZ28/P3ZvaWQgMCxzb3VyY2VMb2dvczpbdCwuLi4hYSYmdC5ncm91cGVkX3N5bWJvbHM/dC5ncm91cGVkX3N5bWJvbHM6W11dLm1hcCgoZT0+aXQoZSkpKSxzaG9ydE5hbWU6KDAsbG4uc2FmZVNob3J0TmFtZSkodG4uUXVhbGlmaWVkU291cmNlcy5mcm9tU3ltYm9sU2VhcmNoUmVzdWx0KHQpKSxjdXJyZW5jeUNvZGU6dC5jdXJyZW5jeV9jb2RlLGlzUHJpbWFyeTohdC5ncm91cGVkX3N5bWJvbHMmJiFsJiZ0LmlzX3ByaW1hcnlfbGlzdGluZyxpc1Byb21vOnQuaXNfcHJvbW8sZm91bmRfYnlfY3VzaXA6dC5mb3VuZF9ieV9jdXNpcCxjdXNpcDp0LmN1c2lwLGZvdW5kX2J5X2lzaW46Qm9vbGVhbihhJiZ0Lmdyb3VwZWRfc3ltYm9sc3x8bCl8fHQuZm91bmRfYnlfaXNpbixpc2luOnQuaXNpbixpcG9EYXRlOigwLGFuLmlzUHJlSXBvKSh0LnR5cGUsdC50eXBlc3BlY3MpP3QuaXBvX29mZmVyX3RpbWU/P3QuaXBvX29mZmVyX2RhdGU6dm9pZCAwfX17Y29uc3R7cGFyZW50OnJ9PXQsbz10bi5RdWFsaWZpZWRTb3VyY2VzLmZyb21TeW1ib2xTZWFyY2hSZXN1bHQodC5wYXJlbnQsdCksbD12bihyKSxhPW49PT15ZSxpPXdlLnJlbmRlclN5bWJvbFNlYXJjaExpc3QuZmluZEluZGV4KChlPT5lLnN5bWJvbD09PXIuc3ltYm9sJiZlLmV4Y2hhbmdlPT09ci5leGNoYW5nZSkpKzE7cmV0dXJue2tleTpuLG51bWJlckluTGlzdDppLGlkOmwrdC5zeW1ib2wsZGFuZ2Vyb3VzVGl0bGVIVE1MOmJuKHQscWUpLGRhbmdlcm91c0Rlc2NyaXB0aW9uSFRNTDpgJHtyLmRlc2NyaXB0aW9ufWArKHQuZGVzY3JpcHRpb24/YCAoJHt0LmRlc2NyaXB0aW9ufSlgOiIiKSxpc09mZnNldDohMCxpc0VvZDp0LnBhcmFtcz8uaW5jbHVkZXMoImVvZCIpLGlzWWllbGQ6KDAsYW4uaXNZaWVsZCkodCksb25DbGljazpodC5iaW5kKG51bGwsdC5wYXJlbnQsdCxpKSxzb3VyY2VMb2dvczpbaXQocildLHR5cGU6ci50eXBlLGV4Y2hhbmdlTmFtZTpudWxsPT09ci5leGNoYW5nZT92b2lkIDA6ci5leGNoYW5nZSxleGNoYW5nZVRvb2x0aXA6ZShyKSxtYXJrZXRUeXBlOigwLAplbi5tYXJrZXRUeXBlKShyLnR5cGUsdC50eXBlc3BlY3MsITEpLGhpZGVNYXJrZXRUeXBlOlhlLGZ1bGxTeW1ib2xOYW1lOm8saXRlbVJlZjphP1llOnZvaWQgMCxpc0FjdGl2ZTpFZT9FZT09PW86dm9pZCAwLGlzU2VsZWN0ZWQ6YSxoaWRlTWFya2VkTGlzdEZsYWc6cyxpdGVtOnR9fX0pKX0pLFt3ZS5yZW5kZXJTeW1ib2xTZWFyY2hMaXN0LGQsVWUsdGUseWUsRixFZV0pLFplPSgwLGwudXNlTWVtbykoKCgpPT5mdW5jdGlvbihlLHQsbil7Y29uc3Qgcj1uZXcgTWFwKHQ/Lm1hcCgoZT0+W2UuaWQsZS51cmxQYXJhbV0pKSksbz1uW2VdO2xldCBsO2lmKG8pe2w9e307Zm9yKGNvbnN0W2UsdF1vZiBPYmplY3QuZW50cmllcyhvKSl7Y29uc3Qgbj1yLmdldChlKTtuJiYobFtuXT10KX19cmV0dXJuIGx9KG1lLEllKG1lKSxoZSkpLFttZSxJZSxoZV0pLEplPSgwLGwudXNlTWVtbykoKCgpPT53ZS5yZW5kZXJTeW1ib2xTZWFyY2hMaXN0LnNsaWNlKDAsMjApLm1hcCgoZT0+ZS5jb250cmFjdHM/dG4uUXVhbGlmaWVkU291cmNlcy5mcm9tU3ltYm9sU2VhcmNoUmVzdWx0KGUsZS5jb250cmFjdHNbMF0pOnRuLlF1YWxpZmllZFNvdXJjZXMuZnJvbVN5bWJvbFNlYXJjaFJlc3VsdChlKSkpKSxbd2UucmVuZGVyU3ltYm9sU2VhcmNoTGlzdF0pOygwLGwudXNlRWZmZWN0KSgoKCk9PntpZighRylyZXR1cm47Y29uc3QgZT1bInJlc2V0RmlsdGVyIiwicmVzZXRUYWJGaWx0ZXIiLCJlbXB0eSJdLmluY2x1ZGVzKHZlKT9bXTpKZSx0PXsuLi5aZSxyZXN1bHRfbGlzdDplfTtpZih0LnNlYXJjaF90eXBlfHwodC5zZWFyY2hfdHlwZT0iYml0Y29pbixjcnlwdG8iPT09bWU/ImNyeXB0byI6bWUpLCFtLmlzU2VwYXJhdGVTeW1ib2xTZWFyY2hUYWJzKXJldHVybiB0LmV4Y2hhbmdlPVRlPy5nZXRSZXF1ZXN0Q291bnRyeVZhbHVlKCk/P251bGwsdm9pZCBHKHQpO2lmKG1lKXtjb25zdCBlPVRlPy5nZXRSZXF1ZXN0Q291bnRyeVZhbHVlKCk/P251bGw7ZSYmKHQuY291bnRyeT1lKTtjb25zdCBuPVRlPy5nZXRSZXF1ZXN0RXhjaGFuZ2VWYWx1ZSgpPz9udWxsO24mJih0LmV4Y2hhbmdlPW4pfUcodCl9KSxbbWUsWmUsSmUsVGUsdmVdKTtjb25zdCBldD0oMCxsLnVzZU1lbW8pKCgoKT0+SHx8KHomJiJvcHRpb25zIj09PW1lP2U9PntsZXQgdD1lLmV4Y2hhbmdlO2lmKCgwLHkuaXNGZWF0dXJlRW5hYmxlZCkoInVzZV9zeW1ib2xfc2VhcmNoX29wdGlvbnNfZXhjaGFuZ2VzX2xpc3QiKSl7Y29uc3QgZT1bIkFNRVgiLCJCU0UiLCJDQk9FIiwiTkFTREFRIiwiTlNFIiwiTllTRSIsIlRWQyIsIlhFVFIiLCJFVVJFWCJdO2lmKCgwLHkuaXNGZWF0dXJlRW5hYmxlZCkoInVzZV9pbl9zeW1ib2xfc2VhcmNoX29wdGlvbnNfbWN4X2V4Y2hhbmdlIikmJmUucHVzaCgiTUNYIiksdCYmIWUuaW5jbHVkZXModCkpcmV0dXJuKDAscHQuZ2V0RW1wdHlTZWFyY2gpKCk7dHx8KHQ9ZS5qb2luKCIsIikpfXJldHVybigwLHB0LnNlYXJjaFN5bWJvbHNQYWdpbmF0ZWQpKHsuLi5lLGZpbHRlclF1ZXJ5UGFyYW1zOnsuLi5lLmZpbHRlclF1ZXJ5UGFyYW1zLG9ubHlfaGFzX29wdGlvbnM6InRydWUiLHNlYXJjaF90eXBlOnZvaWQgMH0sZXhjaGFuZ2U6dCx0eXBlOnZvaWQgMH0pfTp2b2lkIDApKSxbbWUsSCxaZSx6XSksdHQ9Xz8/RW4sbnQ9dHQhPT1FbixydD0oZSxuKT0+KHttb2RlOnRlLHNldE1vZGU6bmUsc2VsZWN0ZWRTZWFyY2hTb3VyY2U6VGUsc2V0U2VsZWN0ZWRTZWFyY2hTb3VyY2U6bS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz9SZTpjZSxpc0FsbFNlYXJjaFNvdXJjZXNTZWxlY3RlZDp6ZS5pc0FsbFNlYXJjaFNvdXJjZXNTZWxlY3RlZCxhbGxTZWFyY2hTb3VyY2VzVGl0bGU6bS5pc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFicz9OLlRBQl9TT1VSQ0VfRklMVEVSX01BUFt3ZS5jdXJyZW50U3ltYm9sVHlwZV0/LmFsbFNlYXJjaFNvdXJjZXNUaXRsZTp2b2lkIDAsc2VsZWN0ZWRTeW1ib2xUeXBlOm1lLHNldFNlbGVjdGVkU3ltYm9sVHlwZTpwZSxzZWxlY3RlZEluZGV4OnllLHNldFNlbGVjdGVkSW5kZXg6YmUsb25DbG9zZTp0LHNldFN5bWJvbFNlYXJjaENvbnRlbnQ6TmUsc3ltYm9sU2VhcmNoQ29udGVudDp3ZSxzZWFyY2hSZWY6QWUsbGlzdFdyYXBSZWY6TGUsY2FjaGVkSW5wdXRWYWx1ZTpzZSxzZWFyY2hTcHJlYWRzOlNlLHNldFNlYXJjaFNwcmVhZHM6Z2UsaGFuZGxlTGlzdFdpZHRoOlN0LGlzU21hbGxXaWR0aDpPZSxmZWVkSXRlbXM6amUsaXNNb2JpbGU6ZSxzaG93U3ByZWFkQWN0aW9uczphLHNlbGVjdFNlYXJjaE9uSW5pdDppLGlzVGFibGV0Om4sc2VsZWN0ZWRJdGVtOktlW3llXSxmb3JjZVVwZGF0ZTpIZSxwbGFjZWhvbGRlcjpoLGluaXRpYWxTY3JlZW46Zyx0b2dnbGVFeHBhbmQ6bXQsb3BlbmVkSXRlbXM6VWUsb25TdWJtaXQ6YnQsb25TZWFyY2hDb21wbGV0ZTpkLGZvb3RlcjpSLHN5bWJvbFR5cGVzOlosY29udGVudEl0ZW06RSxzZWFyY2hJbnB1dDpBLGVtcHR5U3RhdGU6TCxhdXRvZm9jdXM6ayx1cHBlckNhc2VFbmFibGVkOmZuLGV4dGVybmFsSW5wdXQ6SixoYW5kbGVLZXlEb3duOm50P3ZvaWQgMDp5dCxjdXN0b21TZWFyY2hTeW1ib2xzOmV0LHNlYXJjaFNvdXJjZXM6eGUsc2VsZWN0ZWRGaWx0ZXJWYWx1ZXM6aGUsc2V0U2VsZWN0ZWRGaWx0ZXJWYWx1ZXM6ZmUsZmlsdGVyUXVlcnlQYXJhbXM6WmUsc3ltYm9sU2VhcmNoU3RhdGU6dmUsc2V0U3ltYm9sU2VhcmNoU3RhdGU6X2Usb25FbXB0eVJlc3VsdHM6UT9jdDp2b2lkIDAsb3ZlcnJpZGVRdWVyeVBhcmFtczokLGdldEZpbHRlcnNCeVN5bWJvbFR5cGU6SWUsc2hvd1JlY2VudHM6SyxzZWFyY2hJbml0aWF0aW9uUG9pbnQ6WSxhY3RpdmVTeW1ib2w6RWUsaGFuZGxlT3B0aW9uc0JhY2s6YXR9KSxvdD1CPz91dCxsdD12Pz8iZGl2IjtyZXR1cm4gbC5jcmVhdGVFbGVtZW50KGx0LG51bGwsbC5jcmVhdGVFbGVtZW50KFBlLk1hdGNoTWVkaWFNYXAse3J1bGVzOkZlLkRpYWxvZ0JyZWFrcG9pbnRzfSwoKHtUYWJsZXRTbWFsbDplLFRhYmxldE5vcm1hbDpyfSk9PmwuY3JlYXRlRWxlbWVudChWZS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQuUHJvdmlkZXIsewp2YWx1ZTpydChlLHIpfSxsLmNyZWF0ZUVsZW1lbnQodHQsey4uLiJleGNoYW5nZSI9PT10ZT97dGl0bGU6Yy50KG51bGwsdm9pZCAwLG4oNDg2NzE0KSksZGF0YU5hbWU6ImV4Y2hhbmdlcy1zZWFyY2giLHJlbmRlcjooKT0+bC5jcmVhdGVFbGVtZW50KG90LHtzZWFyY2hTb3VyY2VzOndlLmN1cnJlbnRUYWJBdmFpbGFibGVTZWFyY2hTb3VyY2VzfSksYWRkaXRpb25hbEhlYWRlckVsZW1lbnQ6bC5jcmVhdGVFbGVtZW50KEp0LkJhY2tCdXR0b24se29uQ2xpY2s6KCk9Pm5lKCJzeW1ib2xTZWFyY2giKSxjbGFzc05hbWU6ZG4uYmFja0J1dHRvbixzaXplOiJtZWRpdW0iLGFyaWFMYWJlbDpjLnQobnVsbCx7Y29udGV4dDoiaW5wdXQifSxuKDMwNjYyNikpLHByZXNlcnZlUGFkZGluZ3M6ITAsZmxpcEljb25PblJ0bDooMCxjbi5pc1J0bCkoKX0pLGFkZGl0aW9uYWxFbGVtZW50UG9zOiJiZWZvcmUifTpyZSYmIm9wdGlvbnMiPT09dGU/e3RpdGxlOmwuY3JlYXRlRWxlbWVudChNZSx7c3ltYm9sOnJlfSksZGF0YU5hbWU6Im9wdGlvbnMtc2VhcmNoIixyZW5kZXI6KCk9PmwuY3JlYXRlRWxlbWVudChrZSx7c3ltYm9sOnJlLG9uU2VsZWN0OnN0LGluaXRpYWxPcHRpb246bGU/P3ZvaWQgMH0pLGFkZGl0aW9uYWxIZWFkZXJFbGVtZW50OmwuY3JlYXRlRWxlbWVudChKdC5CYWNrQnV0dG9uLHtvbkNsaWNrOmF0LGNsYXNzTmFtZTpkbi5iYWNrQnV0dG9uLHNpemU6Im1lZGl1bSIsYXJpYUxhYmVsOmMudChudWxsLHtjb250ZXh0OiJpbnB1dCJ9LG4oMzA2NjI2KSkscHJlc2VydmVQYWRkaW5nczohMCxmbGlwSWNvbk9uUnRsOigwLGNuLmlzUnRsKSgpfSksYWRkaXRpb25hbEVsZW1lbnRQb3M6ImJlZm9yZSJ9Ont0aXRsZTpwLGRhdGFOYW1lOiJzeW1ib2wtc2VhcmNoLWl0ZW1zLWRpYWxvZyIscmVuZGVyOigpPT5sLmNyZWF0ZUVsZW1lbnQoWnQsbnVsbCksYWRkaXRpb25hbEVsZW1lbnRQb3M6ImFmdGVyIn0sc2hvdWxkUmV0dXJuRm9jdXM6VixmdWxsU2NyZWVuOmYsb25DbG9zZTp0LG9uQ2xpY2tPdXRzaWRlOnQsb25LZXlEb3duOm50P3ZvaWQgMDp5dCxpc09wZW5lZDohMH0pKSkpKTtmdW5jdGlvbiBhdCgpe25lKCJzeW1ib2xTZWFyY2giKSxvZShudWxsKSxhZShudWxsKX1mdW5jdGlvbiBzdChlKXtkKFt7c3ltYm9sOmUscmVzb2x2ZWQ6ITF9XSx7c3ltYm9sVHlwZTptZX0pLHQoKX1mdW5jdGlvbiBpdChlKXtyZXR1cm57Y291bnRyeTplLmNvdW50cnk/LnRvTG9jYWxlTG93ZXJDYXNlKCkscHJvdmlkZXJJZDplLnByb3ZpZGVyX2lkLHNvdXJjZUxvZ29JZDplLnNvdXJjZV9sb2dvaWQ/P3ZvaWQgMH19ZnVuY3Rpb24gY3QoKXtTZXx8UT8uKEFlLmN1cnJlbnQ/LnZhbHVlfHwiIil9ZnVuY3Rpb24gZHQoZSx0LG4pe2h0KGUsZS5jb250cmFjdHM/LlswXSx0LG4pfWZ1bmN0aW9uIG10KGUpe2NvbnN0IHQ9bmV3IFNldChVZSk7dC5oYXMoZSk/dC5kZWxldGUoZSk6dC5hZGQoZSksV2UodCl9ZnVuY3Rpb24gaHQoZSxuLHIsbyl7Y29uc3QgbD1ufHxlLHtleGNoYW5nZTphfT1lO3tjb25zdCBlPXtuYW1lOmwuc3ltYm9sLGV4Y2hhbmdlOmEscHJlZml4OmwucHJlZml4LGZ1bGxOYW1lOmwuZnVsbF9uYW1lfTtpZihTZSlyZXR1cm4gZ3QoZSksdm9pZCBIZSgpO2lmKEFlLmN1cnJlbnQmJkFlLmN1cnJlbnQudmFsdWUuaW5jbHVkZXMoIiwiKSlyZXR1cm4gdm9pZCBndChlKX1pZih6JiYib3B0aW9ucyI9PT1tZSl7bmUoIm9wdGlvbnMiKTtjb25zdCBlPSgwLG0uZ2V0U3ltYm9sRnVsbE5hbWUpKHtuYW1lOmwuc3ltYm9sLGV4Y2hhbmdlOmEscHJlZml4OmwucHJlZml4LGZ1bGxOYW1lOmwuZnVsbF9uYW1lfSk7cmV0dXJuIGFlKG51bGwpLG9lKGUpLHZvaWQoQWUuY3VycmVudCYmKHNlLmN1cnJlbnQ9Zm4/QWUuY3VycmVudC52YWx1ZS50b1VwcGVyQ2FzZSgpOkFlLmN1cnJlbnQudmFsdWUpKX12dChbe3Jlc29sdmVkOiEwLHN5bWJvbDp0bi5RdWFsaWZpZWRTb3VyY2VzLmZyb21TeW1ib2xTZWFyY2hSZXN1bHQoZSxuKSxyZXN1bHQ6bH1dLHIsbyksdCgpfWZ1bmN0aW9uIFN0KGUpe0JlKCJmaXhlZCI9PT1EfHxlPD02NDApfWZ1bmN0aW9uIGd0KGUpe2lmKCFBZS5jdXJyZW50KXJldHVybjtjb25zdFt0LG5dPVMoQWUuY3VycmVudCxlLGZuKTtBZS5jdXJyZW50LnZhbHVlPXQsQWUuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZShuLG4pLEFlLmN1cnJlbnQuZm9jdXMoKX1mdW5jdGlvbiB5dChlKXtpZihlLnRhcmdldCYmZS50YXJnZXQhPT1BZS5jdXJyZW50KXJldHVybjtjb25zdCBuPSgwLGZ0Lmhhc2hGcm9tRXZlbnQpKGUpO3N3aXRjaChuKXtjYXNlIDEzOmUucHJldmVudERlZmF1bHQoKSxidCghMCk7YnJlYWs7Y2FzZSAyNzppZihlLnByZXZlbnREZWZhdWx0KCksImV4Y2hhbmdlIj09PXRlKXJldHVybiB2b2lkIG5lKCJzeW1ib2xTZWFyY2giKTtpZigib3B0aW9ucyI9PT10ZSlyZXR1cm4gdm9pZCBhdCgpO3QoKX1zd2l0Y2goKDAsdW4ubWFwS2V5Q29kZVRvRGlyZWN0aW9uKShuKSl7Y2FzZSJibG9ja1ByZXYiOmlmKGUucHJldmVudERlZmF1bHQoKSwwPT09eWV8fCJnb29kIiE9PXZlKXJldHVybjtpZigtMT09PXllKXJldHVybiB2b2lkIGJlKDApO2JlKHllLTEpO2JyZWFrO2Nhc2UiYmxvY2tOZXh0IjppZihlLnByZXZlbnREZWZhdWx0KCkseWU9PT1qZS5sZW5ndGgtMXx8Imdvb2QiIT09dmUpcmV0dXJuO2JlKHllKzEpO2JyZWFrO2Nhc2UiaW5saW5lUHJldiI6e2lmKC0xPT09eWUpcmV0dXJuO2NvbnN0IHQ9amVbeWVdLHtpZDpuLGlzT2Zmc2V0OnIsb25FeHBhbmRDbGljazpvfT10O2lmKCFyJiZuJiZVZS5oYXMobikmJkJvb2xlYW4obykmJiFCb29sZWFuKEYpJiYoZS5wcmV2ZW50RGVmYXVsdCgpLG10KG4pKSxvKXJldHVybiB2b2lkIEY/LihlLCEwKTticmVha31jYXNlImlubGluZU5leHQiOntpZigtMT09PXllKXJldHVybjtjb25zdCB0PWplW3llXSx7aWQ6bixpc09mZnNldDpyLG9uRXhwYW5kQ2xpY2s6b309dDtpZihyfHwhbnx8VWUuaGFzKG4pfHwhQm9vbGVhbihvKXx8Qm9vbGVhbihGKXx8KGUucHJldmVudERlZmF1bHQoKSxtdChuKSksbylyZXR1cm4gdm9pZCBGPy4oZSwhMCk7YnJlYWt9fUY/LihlKX0KZnVuY3Rpb24gYnQoZSl7aWYoIUFlLmN1cnJlbnQpcmV0dXJuO2xldCBuPUFlLmN1cnJlbnQudmFsdWU7aWYoU2UmJm4pe2NvbnN0IHI9amVbeWVdO2lmKHImJnZvaWQgMCE9PXIuaXNFeHBhbmRlZCYmKHIub25DbGljaygpLG49QWUuY3VycmVudC52YWx1ZSksbi5pbmNsdWRlcygiLCIpKXtyZXR1cm4gdnQoX24obikubWFwKHluKSxudWxsKSx2b2lkKGUmJnQoKSl9cmV0dXJuIHZ0KFt7c3ltYm9sOmZuP24udG9VcHBlckNhc2UoKTpuLHJlc29sdmVkOiExfV0sbnVsbCksdm9pZChlJiZ0KCkpfWlmKG4uaW5jbHVkZXMoIiwiKSlyZXR1cm4gdnQoX24obikubWFwKHluKSxudWxsKSx2b2lkKGUmJnQoKSk7aWYoLTEhPT15ZSl7amVbeWVdLm9uQ2xpY2soKX1lbHNle3tjb25zdCByPWZuP24udG9VcHBlckNhc2UoKTpuO2lmKHImJiIiIT09ci50cmltKCkpe2NvbnN0IGU9X24ocik7aWYobW58fHZvaWQgMD09PVFlfHwtMSE9PXIuaW5kZXhPZigiOiIpKXt2dChlLm1hcCh5biksbnVsbCl9ZWxzZShmdW5jdGlvbihlKXtsZXQgdD0hMTtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoKGU9Pi0xIT09ZS5pbmRleE9mKCI6Iil8fHQ/UHJvbWlzZS5yZXNvbHZlKHtzeW1ib2w6ZSxyZXNvbHZlZDohMX0pOih0PSEwLGFzeW5jIGZ1bmN0aW9uKGUpe2NvbnN0IHQ9KGF3YWl0KEdlPy5hY2NvdW50TWV0YWluZm8oKSkpPy5wcmVmaXgsbj10fHx2b2lkIDAscj1hd2FpdCgwLHB0LnNlYXJjaFN5bWJvbHNQYWdpbmF0ZWQpKHtzdHJpY3RNYXRjaDohMCxzZXJ2ZXJIaWdobGlnaHQ6ITEsdGV4dDplLGxhbmc6d2luZG93Lmxhbmd1YWdlfHwiIixicm9rZXJJZDpRZSxvbmx5VHJhZGFibGU6ITAsdW5oaWRlU3ltYm9sU2VhcmNoR3JvdXBzOiRlLGV4Y2hhbmdlOm59KTtpZigwIT09ci5zeW1ib2xzLmxlbmd0aCl7Y29uc3QgZT1yLnN5bWJvbHNbMF0se2NvbnRyYWN0czp0fT1lLG49dCYmdC5sZW5ndGg+MD90WzBdOnZvaWQgMCxvPWUucHJlZml4fHxlLmV4Y2hhbmdlLGw9bj9uLnN5bWJvbDplLnN5bWJvbDtpZihvJiZsKXJldHVybntzeW1ib2w6dG4uUXVhbGlmaWVkU291cmNlcy5mcm9tU3ltYm9sU2VhcmNoUmVzdWx0KGUsbikscmVzb2x2ZWQ6ITAscmVzdWx0OmV9fXJldHVybntzeW1ib2w6ZSxyZXNvbHZlZDohMX19KGUpKSkpKX0pKGUpLnRoZW4oKGU9PnZ0KGUsbnVsbCkpKX1lJiZ0KCl9fX1hc3luYyBmdW5jdGlvbiB2dChlLHQsbil7Y29uc3Rbe3Jlc3VsdDpyLHN5bWJvbDpvLHJlc29sdmVkOmx9XT1lLGE9QWUuY3VycmVudD8udmFsdWUscz1MZS5jdXJyZW50PygwLG0uZ2V0RmVhdHVyZWRTeW1ib2xOYW1lKShMZS5jdXJyZW50KTpudWxsLGk9IW58fCgwLHNuLmlzS2V5Ym9hcmRDbGljaykobik7bGV0IGM9U2U7dm9pZCAwIT09ciYmKDAscHQuaXNTeW1ib2xTZWFyY2hSZXN1bHQpKHIpJiYoYz0ic3ByZWFkIj09PXIudHlwZSksV3x8KGw/TShvKTphd2FpdCBPKG8pKSxkKGUse3N5bWJvbFR5cGU6bWUsZmVhdHVyZWRTeW1ib2xOYW1lOnMsaXNLZXlib2FyZEV2ZW50OmksbnVtYmVySW5MaXN0OnQsaW5wdXRWYWx1ZTphLGlzU3ByZWFkOmN9KX19ZnVuY3Rpb24geW4oZSl7cmV0dXJue3N5bWJvbDpmbj9lLnRvVXBwZXJDYXNlKCk6ZSxyZXNvbHZlZDohMX19ZnVuY3Rpb24gYm4oZSx0KXtjb25zdHticm9rZXJfc3ltYm9sOm4sc3ltYm9sOnIsZGVzY3JpcHRpb246b309ZTtyZXR1cm5gJHsic3ByZWFkIj09PWUudHlwZT9vOnJ9JHt0JiZuP2AgKCR7bn0pYDoiIn1gfWZ1bmN0aW9uIHZuKGUpe3JldHVybiBlLnN5bWJvbCtlLmV4Y2hhbmdlK2UuZGVzY3JpcHRpb259ZnVuY3Rpb24gX24oZSl7cmV0dXJuIGUuc3BsaXQoIiwiKS5tYXAoKGU9PmUudHJpbSgpKSkuZmlsdGVyKChlPT4iIiE9PWUpKX1mdW5jdGlvbiBFbihlKXtjb25zdHtpc01vYmlsZTp0LGlzVGFibGV0Om59PSgwLFllLnVzZUVuc3VyZWRDb250ZXh0KShWZS5TeW1ib2xTZWFyY2hJdGVtc0RpYWxvZ0NvbnRleHQpO3JldHVybiBsLmNyZWF0ZUVsZW1lbnQoQmUuQWRhcHRpdmVQb3B1cERpYWxvZyx7Li4uZSxjbGFzc05hbWU6cygpKGRuLmRpYWxvZywhdCYmKG4/ZG4udGFibGV0RGlhbG9nOmRuLmRlc2t0b3BEaWFsb2cpKSxiYWNrZHJvcDohMCxkcmFnZ2FibGU6ITF9KX1mdW5jdGlvbiBDbihlLHQpe3JldHVybigwLG0uaXNPcHRpb25EZWZhdWx0VmFsdWUpKGUpJiZ0P2UudW5kZXJseWluZzpudWxsfX0sNzE3MjYzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1N5bWJvbFNlYXJjaE5vUmVzdWx0OigpPT5zfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big5MDc2ODgpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7Y2hpbGRyZW46dCxjbGFzc05hbWU6bn09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKGEuY29udGFpbmVyLG4pfSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphLmNoaWxkcmVuV3JhcHBlcn0sdCkpfX0sNzI3NTY5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2NyZWF0ZUdyb3VwQ29sdW1uczooKT0+TixleGNoYW5nZVNlbGVjdERpc2FibGVkOigpPT54LGdldEFsbFN5bWJvbFR5cGVzVmFsdWU6KCk9PlQsZ2V0QXZhaWxhYmxlU2VhcmNoU291cmNlczooKT0+RSxnZXRBdmFpbGFibGVTeW1ib2xUeXBlczooKT0+QyxnZXREZWZhdWx0U2VhcmNoU291cmNlOigpPT5fLGdldEZlYXR1cmVkU3ltYm9sTmFtZTooKT0+dyxnZXRTeW1ib2xGdWxsTmFtZTooKT0+dixpc09wdGlvbkRlZmF1bHRWYWx1ZTooKT0+QSxpc1NlcGFyYXRlU3ltYm9sU2VhcmNoVGFiczooKT0+UixtYXBFY29ub215U291cmNlOigpPT5JfSk7dmFyIHI9big3ODMyNTQpLG89bigxODczMzkpO2NsYXNzIGx7Y29uc3RydWN0b3IoZSl7dGhpcy5fZXhjaGFuZ2U9ZX12YWx1ZSgpe3JldHVybiB0aGlzLl9leGNoYW5nZS52YWx1ZX1uYW1lKCl7cmV0dXJuKDAsby5pc0FsbFNlYXJjaFNvdXJjZXNTZWxlY3RlZCkodGhpcyk/ci50KG51bGwsdm9pZCAwLG4oMzg0MDIwKSk6dGhpcy5fZXhjaGFuZ2UubmFtZX1kZXNjcmlwdGlvbigpe3JldHVybiB0aGlzLl9leGNoYW5nZS5kZXNjfWNvdW50cnkoKXsKcmV0dXJuIHRoaXMuX2V4Y2hhbmdlLmNvdW50cnl9cHJvdmlkZXJJZCgpe3JldHVybiB0aGlzLl9leGNoYW5nZS5wcm92aWRlcklkfXNvdXJjZUlkKCl7cmV0dXJuIHRoaXMuX2V4Y2hhbmdlLnNvdXJjZUlkfWdyb3VwKCl7cmV0dXJuIHRoaXMuX2V4Y2hhbmdlLmdyb3VwfWluY2x1ZGVzKGUpe3JldHVybiBhKHRoaXMuX2V4Y2hhbmdlLGUpfWdldFJlcXVlc3RFeGNoYW5nZVZhbHVlKCl7cmV0dXJuIHRoaXMuX2V4Y2hhbmdlLnZhbHVlfWdldFJlcXVlc3RDb3VudHJ5VmFsdWUoKXt9fWZ1bmN0aW9uIGEoZSx0KXtjb25zdCBuPXQudG9Mb3dlckNhc2UoKSx7bmFtZTpyLGRlc2M6byxzZWFyY2hUZXJtczpsfT1lO3JldHVybiByLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobil8fG8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhuKXx8dm9pZCAwIT09bCYmbC5zb21lKChlPT5lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobikpKX12YXIgcz1uKDY5NzQ3MiksaT1uKDkzMDIzMSksYz1uKDM5ODEzMik7dmFyIHU9big2NjE4NTgpO2NvbnN0IGQ9dVswXS52YWx1ZTt2YXIgbT1uKDU2OTM5OCkscD1uKDEzODYzOCksaD1uKDI1NTUxNiksZj1uKDk3MzA0MSk7Y2xhc3MgU3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9kYXRhPWV9cmF3KCl7cmV0dXJuIHRoaXMuX2RhdGF9dmFsdWUoKXtyZXR1cm4gdGhpcy5fZGF0YS5jb3VudHJ5fW5hbWUoKXtjb25zdCBlPSJ1ayI9PT10aGlzLl9kYXRhLmNvdW50cnk/ImdiIjp0aGlzLl9kYXRhLmNvdW50cnk7cmV0dXJuIGhbZV0/KDAsZi50cmllc1RyYW5zbGF0ZUNvdW50cmllTmFtZSkoaFtlXS50aXRsZSk6ZX1kZXNjcmlwdGlvbigpe3JldHVybiB0aGlzLl9kYXRhLmV4Y2hhbmdlcy5tYXAoKGU9PmUubmFtZSkpLmpvaW4oIiwgIil9Y291bnRyeSgpe3JldHVybiB0aGlzLl9kYXRhLmNvdW50cnl9cHJvdmlkZXJJZCgpe3JldHVybiIifXNvdXJjZUlkKCl7fWdyb3VwKCl7cmV0dXJuIHRoaXMuX2RhdGEuZ3JvdXB9aW5jbHVkZXMoZSl7Y29uc3QgdD0idWsiPT09dGhpcy5fZGF0YS5jb3VudHJ5PyJnYiI6dGhpcy5fZGF0YS5jb3VudHJ5LG49ZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0aGlzLm5hbWUoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKG4pfHx0aGlzLmNvdW50cnkoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKG4pfHxoW3RdLnRpdGxlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKG4pfHx0aGlzLmRlc2NyaXB0aW9uKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhuKXx8dGhpcy5fZGF0YS5leGNoYW5nZXMuc29tZSgodD0+YSh0LGUpKSl9Z2V0UmVxdWVzdEV4Y2hhbmdlVmFsdWUoKXt9Z2V0UmVxdWVzdENvdW50cnlWYWx1ZSgpe2NvbnN0e2NvdW50cnk6ZX09dGhpcy5fZGF0YTtyZXR1cm4oInVrIj09PWU/ImdiIjplKS50b1VwcGVyQ2FzZSgpfX1jbGFzcyBnIGV4dGVuZHMgU3tjb25zdHJ1Y3RvcihlKXtzdXBlcih7Li4uZS5yYXcoKSxleGNoYW5nZXM6W119KX19dmFyIHk9big3ODMxMTYpO2NvbnN0IGI9ISgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpJiYoMCxtLmlzRmVhdHVyZUVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX2NvdW50cnlfc291cmNlcyIpO2Z1bmN0aW9uIHYoZSl7aWYoZS5mdWxsTmFtZSlyZXR1cm4gZS5mdWxsTmFtZTtsZXQgdDtyZXR1cm4gdD1lLnByZWZpeHx8ZS5leGNoYW5nZT8oZS5wcmVmaXh8fGUuZXhjaGFuZ2UpKyI6IitlLm5hbWU6ZS5uYW1lLHQucmVwbGFjZSgvPFwvP1tePl0rKD58JCkvZywiIil9ZnVuY3Rpb24gXygpe3JldHVybiBFKClbMF19ZnVuY3Rpb24gRSgpe2NvbnN0IGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZmlsdGVyKChlPT4hZS5oaWRlSW5TeW1ib2xTZWFyY2gpKX0oZnVuY3Rpb24oZSl7MDtyZXR1cm4oMCxzLmdldFdpZGdldENvbmZpZ3VyZWRFeGNoYW5nZXMpKGUsKDAscy5nZXRXaWRnZXRTeW1ib2xTZWFyY2hDb25maWcpKCkpfSgoMCxzLmdldEV4Y2hhbmdlcykoKSkpO2lmKCFiKXJldHVybigwLG8uY3JlYXRlU2VhcmNoU291cmNlcykobCxlKTtjb25zdCB0PWZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IE1hcDtyZXR1cm4gZS5mb3JFYWNoKChlPT57Y29uc3R7Y291bnRyeTpuLGZsYWc6cixncm91cDpvfT1lO3QuaGFzKG4pPygwLHAuZW5zdXJlRGVmaW5lZCkodC5nZXQobikpLmV4Y2hhbmdlcy5wdXNoKGUpOnQuc2V0KG4se2NvdW50cnk6bixncm91cDooMCxwLmVuc3VyZURlZmluZWQpKG8pLGZsYWc6cixleGNoYW5nZXM6W2VdfSl9KSksdH0oZS5maWx0ZXIoKGU9PmUuZ3JvdXAhPT1jLkV4Y2hhbmdlR3JvdXAuRWNvbm9teSkpKSxuPVtdLHI9dC5nZXQoIiIpO3JldHVybiByJiYodC5kZWxldGUoIiIpLG4ucHVzaCguLi4oMCxvLmNyZWF0ZVNlYXJjaFNvdXJjZXMpKGwsci5leGNoYW5nZXMpKSksbi5wdXNoKC4uLigwLG8uY3JlYXRlU2VhcmNoU291cmNlcykoUyxbLi4udC52YWx1ZXMoKV0pKSxufWZ1bmN0aW9uIEMoKXtyZXR1cm4iY21lIj09PXdpbmRvdy5UcmFkaW5nVmlldy53aWRnZXRDdXN0b21lcj9bXTooMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT93aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5zdXBwb3J0ZWRTeW1ib2xzVHlwZXMoKTp1LmZpbHRlcigoZT0+ImNmZCIhPT1lLnZhbHVlKSl9ZnVuY3Rpb24gVCgpe3JldHVybiBkfWZ1bmN0aW9uIHgoZSl7cmV0dXJuIFI/IXkuVEFCX1NPVVJDRV9GSUxURVJfTUFQW2VdOiJib3Zlc3BhIj09PXdpbmRvdy5UcmFkaW5nVmlldy53aWRnZXRDdXN0b21lcnx8ImNtZSI9PT13aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ9ZnVuY3Rpb24gSShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIFM/bmV3IGcoZSk6ZX1mdW5jdGlvbiB3KGUpe3JldHVybiBlLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXNzLWl0ZW09ImZlYXR1cmVkIl0nKT8uZ2V0QXR0cmlidXRlKCJkYXRhLXN5bWJvbC1uYW1lIik/P251bGx9ZnVuY3Rpb24gTihlLHQ9Mil7aWYoMD09PWUubGVuZ3RoKXJldHVybltdO2lmKDE9PT10KXJldHVybltlXTtjb25zdCBuPU1hdGguZmxvb3IoZS5sZW5ndGgvMikrZS5sZW5ndGglMgo7cmV0dXJuW2Uuc2xpY2UoMCxuKSxlLnNsaWNlKG4pXS5maWx0ZXIoKGU9PmUubGVuZ3RoPjApKX1jb25zdCBSPSEoMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtmdW5jdGlvbiBBKGUpe3JldHVybiJzdHJpbmciIT10eXBlb2YgZX19LDk2NjM2NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7Y29uc3QgdD1uZXcgVVJMU2VhcmNoUGFyYW1zO2Zvcihjb25zdFtuLHJdb2YgT2JqZWN0LmVudHJpZXMoZSkpdm9pZCAwIT09ciYmdC5zZXQobixTdHJpbmcocikpO3JldHVybiB0fW4uZCh0LHtjcmVhdGVTZWFyY2hQYXJhbXM6KCk9PnJ9KX0sOTAxMDIyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NFUEFSQVRPUl9QUkVGSVg6KCk9PnIsaXNTZXBhcmF0b3JJdGVtOigpPT5vfSk7Y29uc3Qgcj0iIyMjIjtmdW5jdGlvbiBvKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgocil9fSwxMjg4MTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UXVvdGVTZXNzaW9uU25hcHNob3RlcjooKT0+ZH0pO3ZhciByPW4oOTQ4MzgwKSxvPW4oMTUwMTUwKSxsPW4oMjE0OTg3KSxhPW4oMTM4NjM4KSxzPW4oMzY3OTQ2KSxpPW4oOTcwNzc0KSxjPW4oMzA5MDUyKTtjb25zdCB1PW5ldyBNYXAoW1siY2hhbmdlIiwiY2giXSxbImxhc3RfcHJpY2UiLCJscCJdLFsiY2hhbmdlX3BlcmNlbnQiLCJjaHAiXSxbInVwZGF0ZV9tb2RlX3NlY29uZHMiLG51bGxdXSk7bmV3IE1hcChbWyJjaCIsImNoYW5nZSJdLFsibHAiLCJsYXN0X3ByaWNlIl0sWyJjaHAiLCJjaGFuZ2VfcGVyY2VudCJdXSk7Y2xhc3MgZHtjb25zdHJ1Y3RvcihlKXtpZih0aGlzLl9vblN5bWJvbERhdGE9bmV3IHIuRGVsZWdhdGUsdGhpcy5faW5jb21wbGV0ZT1uZXcgU2V0LHRoaXMuX3VwZGF0ZWRGaWVsZHM9bmV3IE1hcCx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsLHRoaXMuX2hhbmRsZXI9ZT0+e3N3aXRjaChlLm1ldGhvZCl7Y2FzZSJjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZHx8KHRoaXMuX2Nvbm5lY3RlZD0hMCx0aGlzLl9oYW5kbGVDb25uZWN0ZWQoKSk7YnJlYWs7Y2FzZSJxdW90ZV9zeW1ib2xfZGF0YSI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVTeW1ib2xEYXRhKGUucGFyYW1zWzBdKTticmVhaztjYXNlInF1b3RlX2NvbXBsZXRlZCI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVDb21wbGV0ZURhdGEoZS5wYXJhbXNbMF0pO2JyZWFrO2Nhc2UiZGlzY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWQmJih0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsKX19LDA9PT1lLmZpZWxkcy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCdTdXBwb3J0IGZvciBlbXB0eSAiZmllbGRzIiBhcnJheSBpcyBub3QgaW1wbGVtZW50ZWQnKTtjb25zdHtwcm92aWRlcjp0PWkuUXVvdGVTZXNzaW9ufT1lO3RoaXMuX2ZpZWxkcz1uZXcgU2V0KGUuZmllbGRzKSx0aGlzLl9zZXNzaW9uPW5ldyB0KGUuYXBpLFsic25hcHNob3RlciIsZS5uYW1lLCgwLG8ucmFuZG9tSGFzaCkoKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIl8iKSksdGhpcy5fc2Vzc2lvbi5jb25uZWN0KHRoaXMuX2hhbmRsZXIpfWdldFNuYXBzaG90U3luYyhlLHQpe2NvbnN0IG49ZC5jYWNoZS5nZXQoZSk7cmV0dXJuIG4mJnRoaXMuX2lzU25hcHNob3RSZWFkeShuLHtmaWVsZHM6dCx0aW1lc3RhbXA6bnVsbH0pP246bnVsbH1nZXRTbmFwc2hvdHNGb3JBbGxTeW5jKGUsdCl7cmV0dXJuIGUubWFwKChlPT50aGlzLmdldFNuYXBzaG90U3luYyhlLHQpKSl9Z2V0U25hcHNob3QoZSx0LG4pe2NvbnN0IHI9bj8uc2lnbmFsPz9udWxsLG89bj8uZnJlc2huZXNzLHM9dm9pZCAwIT09bz9EYXRlLm5vdygpLW86bnVsbDtyZXR1cm4gbmV3IFByb21pc2UoKChuLG8pPT57aWYociYmci5hYm9ydGVkKXRocm93KDAsbC5jcmVhdGVBYm9ydEVycm9yKSgpO2NvbnN0IGk9KCk9Pnt0aGlzLl9vblN5bWJvbERhdGEudW5zdWJzY3JpYmUodGhpcyxjKSxvKCgwLGwuY3JlYXRlQWJvcnRFcnJvcikoKSl9LGM9KG89ZSk9PntpZihvIT09ZSlyZXR1cm47Y29uc3QgbD1kLmNhY2hlLmdldChlKTtsJiZ0aGlzLl9pc1NuYXBzaG90UmVhZHkobCx7dGltZXN0YW1wOnMsc3ltYm9sOmUsZmllbGRzOnR9KSYmKHRoaXMuX29uU3ltYm9sRGF0YS51bnN1YnNjcmliZSh0aGlzLGMpLHI/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixpKSxuKGwpKX07aWYoISgoKT0+e2NvbnN0IHI9ZC5jYWNoZS5nZXQoZSk7aWYoIXIpcmV0dXJuITE7Y29uc3Qgbz0oMCxhLmVuc3VyZU5vdE51bGwpKGQuY2FjaGUuZ2V0VGltZXMoZSkpO3JldHVybiEhdGhpcy5faXNTbmFwc2hvdFJlYWR5KHIse2ZpZWxkczp0LHN5bWJvbDplLHRpbWVzdGFtcDpzLHRpbWVzOm99KSYmKG4ociksITApfSkoKSYmKHI/LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixpLHtvbmNlOiEwfSksdGhpcy5fb25TeW1ib2xEYXRhLnN1YnNjcmliZSh0aGlzLGMpLCF0aGlzLl9pbmNvbXBsZXRlLmhhcyhlKSkpe2lmKHRoaXMuX3VwZGF0ZWRGaWVsZHMuc2V0KGUsbmV3IFNldCksdGhpcy5faW5jb21wbGV0ZS5hZGQoZSksIXRoaXMuX2Nvbm5lY3RlZClyZXR1cm47aWYobnVsbD09PXRoaXMuX2JhdGNoZXIpe2NvbnN0IHQ9dGhpcy5fYmF0Y2hlcj17c3ltYm9sczpuZXcgU2V0KFtlXSkscHJvbWlzZTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e3RoaXMuX2JhdGNoZXI9PT10JiYodGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnQuc3ltYm9sc10pLHRoaXMuX2JhdGNoZXI9bnVsbCl9KSl9fWVsc2UgdGhpcy5fYmF0Y2hlci5zeW1ib2xzLmFkZChlKX19KSl9Z2V0U25hcHNob3RzRm9yQWxsKGUsdCxuKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoKGU9PnRoaXMuZ2V0U25hcHNob3QoZSx0LG4pKSkpfXN0YXRpYyByZWxheChlKXtyZXR1cm4gZX1zdGF0aWMgaXNTdWNjZXNzKGUpe3JldHVybiJlcnJvciIhPT1lLnN0YXR1c31zdGF0aWMgaGFzQWxsRmllbGRzKGUsdCl7Zm9yKGNvbnN0IG4gb2YgQXJyYXkuZnJvbSh0KSlpZighZS5oYXNPd25Qcm9wZXJ0eShuKSlyZXR1cm4hMTtyZXR1cm4hMH0KX2lzU25hcHNob3RSZWFkeShlLHQpe2NvbnN0e2ZpZWxkczpuLHRpbWVzdGFtcDpyLHRpbWVzOm8sc3ltYm9sOmx9PXQ7cmV0dXJuImVycm9yIj09PWUuc3RhdHVzfHwobnVsbCE9PXImJm8/dGhpcy5faXNBbGxGaWVsZHNVcFRvRGF0ZShlLG8sbixyKTpudWxsIT09ciYmbD90aGlzLl9pc0FsbEZpZWxkc1VwZGF0ZWQoZSxsLG4pOnRoaXMuX2hhc0FsbEZpZWxkcyhlLG4pKX1faXNBbGxGaWVsZHNVcGRhdGVkKGUsdCxuKXtpZigiZXJyb3IiPT09ZS5zdGF0dXMpcmV0dXJuITA7Y29uc3Qgcj10aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KTtpZighcnx8IXIuc2l6ZSlyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKG4pKWlmKCFyLmhhcyhlKSlyZXR1cm4hMTtyZXR1cm4hMH1faGFzQWxsRmllbGRzKGUsdCl7cmV0dXJuIGQuaGFzQWxsRmllbGRzKGUudmFsdWVzLEFycmF5LmZyb20odCkpfV9pc0FsbEZpZWxkc1VwVG9EYXRlKGUsdCxuLHIpe2lmKCJlcnJvciI9PT1lLnN0YXR1cylyZXR1cm4hMDtpZighdClyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKG4pKXtjb25zdCBuPXQuZ2V0KGUpO2lmKCF0LmhhcyhlKXx8dm9pZCAwPT09bilyZXR1cm4hMTtpZihuPHIpcmV0dXJuITF9cmV0dXJuITB9X2hhbmRsZUNvbm5lY3RlZCgpe2lmKHRoaXMuX2ZpZWxkcy5zaXplPjApe2NvbnN0IGU9Wy4uLnRoaXMuX2ZpZWxkc10uZmxhdE1hcCgoZT0+e2NvbnN0IHQ9dS5nZXQoZSk7cmV0dXJuIG51bGwhPT10P3Q/P2U6W119KSk7dGhpcy5fc2Vzc2lvbi5xdW90ZVNldEZpZWxkcyhlKX10aGlzLl9pbmNvbXBsZXRlLnNpemU+MCYmdGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnRoaXMuX2luY29tcGxldGVdKX1faGFuZGxlQ29tcGxldGVEYXRhKGUpe2NvbnN0IHQ9ZC5jYWNoZS5nZXQoZSk/P3tzeW1ib2xuYW1lOmUsc3RhdHVzOiJvayIsdmFsdWVzOnt9fTtkLmNhY2hlLnVwZGF0ZSh0LHRoaXMuX2ZpZWxkcywhMCksdGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQoZSx0aGlzLl9maWVsZHMpLHRoaXMuX3Nlc3Npb24ucXVvdGVSZW1vdmVTeW1ib2xzKFtlXSksdGhpcy5faW5jb21wbGV0ZS5kZWxldGUoZSksdGhpcy5fb25TeW1ib2xEYXRhLmZpcmUoZSl9X2hhbmRsZVN5bWJvbERhdGEoZSl7KDAscy5ub3JtYWxpemVVcGRhdGVNb2RlKShlLnZhbHVlcyksZC5jYWNoZS51cGRhdGUoZSx0aGlzLl9maWVsZHMsITEpO2NvbnN0IHQ9ZS5zeW1ib2xuYW1lLG49KDAsYS5lbnN1cmVEZWZpbmVkKSh0aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KSkscj1uZXcgU2V0KG4pO2Zvcihjb25zdCB0IG9mIHRoaXMuX2ZpZWxkcyllLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eSh0KSYmci5hZGQodCk7dGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQodCxyKSwiZXJyb3IiPT09ZS5zdGF0dXM/dGhpcy5faGFuZGxlQ29tcGxldGVEYXRhKHQpOnRoaXMuX29uU3ltYm9sRGF0YS5maXJlKHQpfX1kLmNhY2hlPWMuUVVPVEVfRklFTERTX0NBQ0hFfSw2NDc2MTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZmxhZ1VybDooKT0+aSxnZXRNb2NrZWRGbGFnOigpPT5jfSk7dmFyIHI9big4MTA0MSksbz1uKDg2MjIxMyksbD1uKDcxNzE0MSksYT1uKDQ1ODA1OSk7Y29uc3Qgcz17ZXJsOiJFVSIsdWs6IkdCIixiaXRjb2luOiJCVEMifTtmdW5jdGlvbiBpKGUsdCxuPW8uTG9nb1NpemUuTWVkaXVtKXtyZXR1cm4gZT8oZS50b0xvd2VyQ2FzZSgpaW4gcyYmKGU9c1tlXSksKDAsby5nZXRMb2dvVXJsUmVzb2x2ZXIpKCkuZ2V0Q291bnRyeUZsYWdVcmwoZS50b1VwcGVyQ2FzZSgpLG4pKTpjKHQpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGU9PT1yLlN0ZFRoZW1lLkRhcms/bDphfX0sMzk4MTMyKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHIsbztuLmQodCx7RXhjaGFuZ2VHcm91cDooKT0+cixnZXRFeGNoYW5nZXNHcm91cE5hbWU6KCk9PmF9KSxmdW5jdGlvbihlKXtlLk5vcnRoQW1lcmljYT0iTm9ydGggQW1lcmljYSIsZS5FdXJvcGU9IkV1cm9wZSIsZS5NaWRkbGVFYXN0QWZyaWNhPSJNaWRkbGUgRWFzdCAvIEFmcmljYSIsZS5NZXhpY29Tb3V0aEFtZXJpY2E9Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsZS5Bc2lhUGFjaWZpYz0iQXNpYSAvIFBhY2lmaWMiLGUuV29ybGR3aWRlPSJXb3JsZHdpZGUiLGUuQ3J5cHRvY3VycmVuY3k9IkNyeXB0b2N1cnJlbmN5IixlLkZvcmV4PSJGb3JleCIsZS5BbGxFeGNoYW5nZXM9IkFsbEV4Y2hhbmdlcyIsZS5PdGhlcnM9Ik90aGVycyIsZS5FY29ub215PSJFY29ub215In0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlLlVTQT0iVW5pdGVkIFN0YXRlcyIsZS5DYW5hZGE9IkNhbmFkYSIsZS5FVT0iRXVyb3BlYW4gVW5pb24iLGUuR2VybWFueT0iR2VybWFueSIsZS5JdGFseT0iSXRhbHkiLGUuUG9sYW5kPSJQb2xhbmQiLGUuUnVzc2lhPSJSdXNzaWFuIEZlZGVyYXRpb24iLGUuU2VyYmlhPSJTZXJiaWEiLGUuU3BhaW49IlNwYWluIixlLlN3aXR6ZXJsYW5kPSJTd2l0emVybGFuZCIsZS5UdXJrZXk9IlR1cmtleSIsZS5VSz0iVW5pdGVkIEtpbmdkb20iLGUuQmFocmFpbj0iQmFocmFpbiIsZS5FZ3lwdD0iRWd5cHQiLGUuSXNyYWVsPSJJc3JhZWwiLGUuTmlnZXJpYT0iTmlnZXJpYSIsZS5TYXVkaUFyYWJpYT0iU2F1ZGkgQXJhYmlhIixlLlVBRT0iVW5pdGVkIEFyYWIgRW1pcmF0ZXMiLGUuQXJnZW50aW5hPSJBcmdlbnRpbmEiLGUuQnJhemlsPSJCcmF6aWwiLGUuQ2hpbGU9IkNoaWxlIixlLkN6ZWNoPSJDemVjaCIsZS5NZXhpY289Ik1leGljbyIsZS5BdXN0cmFsaWE9IkF1c3RyYWxpYSIsZS5DaGluYT0iTWFpbmxhbmQgQ2hpbmEiLGUuSW5kaWE9IkluZGlhIixlLkluZG9uZXNpYT0iSW5kb25lc2lhIixlLkhvbmdLb25nPSJIb25nIEtvbmcsIENoaW5hIixlLkphcGFuPSJKYXBhbiIsZS5NYWxheXNpYT0iTWFsYXlzaWEiLGUuTmV3WmVhbGFuZD0iTmV3IFplYWxhbmQiLGUuU2luZ2Fwb3JlPSJTaW5nYXBvcmUiLGUuVGFpd2FuPSJUYWl3YW4sIENoaW5hIixlLlRoYWlsYW5kPSJUaGFpbGFuZCIsZS5Tb3V0aEtvcmVhPSJTb3V0aCBLb3JlYSIsZS5QZXJ1PSJQZXJ1IiwKZS5Db2xvbWJpYT0iQ29sb21iaWEiLGUuU3dlZGVuPSJTd2VkZW4iLGUuSXJlbGFuZD0iSXJlbGFuZCIsZS5BdXN0cmlhPSJBdXN0cmlhIixlLk5vcndheT0iTm9yd2F5IixlLlFhdGFyPSJRYXRhciIsZS5EZW5tYXJrPSJEZW5tYXJrIixlLkljZWxhbmQ9IkljZWxhbmQiLGUuRmlubGFuZD0iRmlubGFuZCIsZS5MaXRodWFuaWE9IkxpdGh1YW5pYSIsZS5Fc3RvbmlhPSJFc3RvbmlhIixlLkxhdHZpYT0iTGF0dmlhIixlLlZpZXRuYW09IlZpZXRuYW0iLGUuU291dGhBZnJpY2E9IlNvdXRoIEFmcmljYSIsZS5OZXRoZXJsYW5kcz0iTmV0aGVybGFuZHMiLGUuQmVsZ2l1bT0iQmVsZ2l1bSIsZS5Qb3J0dWdhbD0iUG9ydHVnYWwiLGUuRnJhbmNlPSJGcmFuY2UiLGUuQmFuZ2xhZGVzaD0iQmFuZ2xhZGVzaCJ9KG98fChvPXt9KSk7dmFyIGw9bigxODUyNzEpO2Z1bmN0aW9uIGEoKXtyZXR1cm57W3IuTm9ydGhBbWVyaWNhXTpsLnQobnVsbCx2b2lkIDAsbig2ODk3MTYpKSxbci5FdXJvcGVdOmwudChudWxsLHZvaWQgMCxuKDk1MjM2NykpLFtyLk1pZGRsZUVhc3RBZnJpY2FdOmwudChudWxsLHZvaWQgMCxuKDYwMzA2NSkpLFtyLk1leGljb1NvdXRoQW1lcmljYV06bC50KG51bGwsdm9pZCAwLG4oNTk4MjQ3KSksW3IuQXNpYVBhY2lmaWNdOmwudChudWxsLHZvaWQgMCxuKDc2NDE3MSkpLFtyLldvcmxkd2lkZV06bC50KG51bGwsdm9pZCAwLG4oNTEzOTUzKSksW3IuQ3J5cHRvY3VycmVuY3ldOmwudChudWxsLHZvaWQgMCxuKDI5OTk2NikpLFtyLkZvcmV4XTpsLnQobnVsbCx2b2lkIDAsbig0OTc1NjkpKSxbci5PdGhlcnNdOmwudChudWxsLHZvaWQgMCxuKDk3MDkwOSkpLFtyLkVjb25vbXldOmwudChudWxsLHZvaWQgMCxuKDE3NjM3OCkpfX19LDYyMzUxMShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7bGV0IHQ9bnVsbDtyZXR1cm4oKT0+KG51bGw9PT10JiYodD1lKCkpLHQpfW4uZCh0LHtsYXp5VmFsdWU6KCk9PnJ9KX0sNzg4MDEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7c2Vzc2lvblRoZW5Mb2NhbDooKT0+cixzZXNzaW9uVGhlblR2U2V0dGluZ3M6KCk9Pm99KTt2YXIgcj17fTtuLnIociksbi5kKHIse2dldDooKT0+Zyxsb2dnZXI6KCk9PmYsc2V0OigpPT5TfSk7dmFyIG89e307bi5yKG8pLG4uZChvLHtnZXQ6KCk9Pl8sbG9nZ2VyOigpPT5iLHNldDooKT0+dn0pO3ZhciBsPW4oMjIxMDYxKSxhPW4oOTMyMzY1KTtpZig3OTc5NT09bi5qKXZhciBzPW4oMjM3MzY5KTtpZig3OTc5NT09bi5qKXZhciBpPW4oNzc2MTczKTt2YXIgYz1uKDgzOTQyNiksdT1uKDU2OTM5OCk7Y29uc3QgZD0oMCxsLmdldExvZ2dlcikoIkxpYi5TZXNzaW9uU2NvcGVkU2V0dGluZ3MiKTtjb25zdCBtPSgwLGMuZGVmYXVsdCkoKCgpPT57cmV0dXJuIHZvaWQgMCE9PXdpbmRvdy5UVkQ/bnVsbCE9KGU9d2luZG93LlRWRC5zZXNzaW9uU3RvcmFnZSkmJiJvYmplY3QiPT10eXBlb2YgZSYmImdldEl0ZW0iaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUuZ2V0SXRlbSYmInNldEl0ZW0iaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUuc2V0SXRlbSYmKDAsdS5pc0ZlYXR1cmVFbmFibGVkKSgidXNlX2Rlc2t0b3Bfc2Vzc2lvbl9zdG9yYWdlIik/d2luZG93LlRWRC5zZXNzaW9uU3RvcmFnZTpudWxsOigwLHUuaXNGZWF0dXJlRW5hYmxlZCkoInVzZV9icm93c2VyX3Nlc3Npb25fc3RvcmFnZSIpP3dpbmRvdy5zZXNzaW9uU3RvcmFnZTpudWxsO3ZhciBlfSkpO2Z1bmN0aW9uIHAoZSx0KXtjb25zdCBuPW0oKTtpZihudWxsIT09bil0cnl7bi5zZXRJdGVtKGUsdCl9Y2F0Y2goZSl7ZD8ubG9nV2Fybihgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSBmYWlsZWQsIGJlY2F1c2Ugb2YgZXhjZXB0aW9uOiAkeygwLHMuZ2V0RXJyb3JNZXNzYWdlKShlKX1gKX19ZnVuY3Rpb24gaChlKXtjb25zdCB0PW0oKTtyZXR1cm4gbnVsbD09PXQ/bnVsbDp0LmdldEl0ZW0oZSl9Y29uc3QgZj0oMCxsLmdldExvZ2dlcikoIkxpYi5TZXNzaW9uU2NvcGVkU2V0dGluZ3MiKTtmdW5jdGlvbiBTKGUsdCl7dHJ5e2NvbnN0IG49KDAsaS5zZXR0aW5nVmFsdWVUb1N0cmluZykodCk7cChlLG4pLGEuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShlLG4pfWNhdGNoKGUpe2Y/LmxvZ1dhcm4oYHNlc3Npb25UaGVuTG9jYWwuc2V0IGZhaWxlZDogJHsoMCxzLmdldEVycm9yTWVzc2FnZSkoZSl9YCl9fWZ1bmN0aW9uIGcoZSx0LG4pe3RyeXtyZXR1cm4oMCxpLnBhcnNlU2V0dGluZ1ZhbHVlKShmdW5jdGlvbihlLHQpe2xldCBuPWgoZSk7bnVsbD09PW4mJihuPWEuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShlKT8/dCxwKGUsbikpO3JldHVybiBufShlLCgwLGkuc2V0dGluZ1ZhbHVlVG9TdHJpbmcpKHQpKSxuKX1jYXRjaChlKXtyZXR1cm4gZj8ubG9nV2Fybihgc2Vzc2lvblRoZW5Mb2NhbC5nZXQgaXMgYWJvdXQgdG8gcmV0dXJuIHRoZSBkZWZhdWx0IHZhbHVlIGR1ZSB0byBlcnJvcjogJHsoMCxzLmdldEVycm9yTWVzc2FnZSkoZSl9YCksdH19dmFyIHk9big5MzA1NjYpO2NvbnN0IGI9KDAsbC5nZXRMb2dnZXIpKCJMaWIuU2Vzc2lvblNjb3BlZFNldHRpbmdzIik7ZnVuY3Rpb24gdihlLHQpe3RyeXtjb25zdCBuPSgwLGkuc2V0dGluZ1ZhbHVlVG9TdHJpbmcpKHQpO3AoZSxuKSx5LnNldFZhbHVlKGUsbil9Y2F0Y2goZSl7Yj8ubG9nV2Fybihgc2Vzc2lvblRoZW5UdlNldHRpbmdzLnNldCBmYWlsZWQ6ICR7KDAscy5nZXRFcnJvck1lc3NhZ2UpKGUpfWApfX1mdW5jdGlvbiBfKGUsdCxuKXt0cnl7cmV0dXJuKDAsaS5wYXJzZVNldHRpbmdWYWx1ZSkoZnVuY3Rpb24oZSx0KXtsZXQgbj1oKGUpO251bGw9PT1uJiYobj15LmdldFZhbHVlKGUpPz90LHAoZSxuKSk7cmV0dXJuIG59KGUsKDAsaS5zZXR0aW5nVmFsdWVUb1N0cmluZykodCkpLG4pfWNhdGNoKGUpe3JldHVybiBiPy5sb2dXYXJuKGBzZXNzaW9uVGhlblR2U2V0dGluZ3MuZ2V0IGlzIGFib3V0IHRvIHJldHVybiB0aGUgZGVmYXVsdCB2YWx1ZSBkdWUgdG8gZXJyb3I6ICR7KDAscy5nZXRFcnJvck1lc3NhZ2UpKGUpfWApLHR9fX0sNzc2MTczKGUsdCxuKXsidXNlIHN0cmljdCIKO2Z1bmN0aW9uIHIoZSx0KXtjb25zdCBuPUpTT04ucGFyc2UoZSk7aWYodm9pZCAwPT09dClyZXR1cm4gbjtpZih0KG4pKXJldHVybiBuO3Rocm93IG5ldyBUeXBlRXJyb3IoIlBhcnNlZCB2YWx1ZSBkb2VzIG5vdCBzYXRpc2Z5IHRoZSBwcm92aWRlZCB2YWxpZGF0aW9uIHByZWRpY2F0ZSIpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGUpfW4uZCh0LHtwYXJzZVNldHRpbmdWYWx1ZTooKT0+cixzZXR0aW5nVmFsdWVUb1N0cmluZzooKT0+b30pfSw1ODk5MTUoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcixvLGwsYSxzLGksYyx1O24uZCh0LHtPcHRpb25zVHJhY2tlcjooKT0+aX0pLGZ1bmN0aW9uKGUpe2UuVG9wVG9vbGJhcj0idG9wIHRvb2xiYXIiLGUuTGVmdFRvb2xiYXI9ImxlZnQgdG9vbGJhciIsZS5Cb3R0b21Ub29sYmFyPSJib3R0b20gdG9vbGJhciIsZS5Cb3R0b21QYW5lbD0iYm90dG9tIHBhbmVsIixlLlJpZ2h0UGFuZWw9InJpZ2h0IHBhbmVsIixlLldhdGNobGlzdD0id2F0Y2hsaXN0IixlLk1hbmFnZUxheW91dD0ibWFuYWdlIGxheW91dCIsZS5Ib3RrZXk9ImhvdGtleSJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZS5TeW1ib2xTZWFyY2g9InN5bWJvbCBzZWFyY2giLGUuSW50ZXJ2YWw9ImludGVydmFsIixlLkNoYXJ0U3R5bGU9ImNoYXJ0IHN0eWxlIixlLkNvbXBhcmU9ImNvbXBhcmUiLGUuSW5kaWNhdG9ycz0iaW5kaWNhdG9ycyIsZS5GaW5hbmNpYWxzPSJmaW5hbmNpYWxzIixlLkluZGljYXRvclRlbXBsYXRlcz0iaW5kaWNhdG9yIHRlbXBsYXRlcyIsZS5BbGVydD0iYWxlcnQiLGUuQmFyUmVwbGF5PSJiYXIgcmVwbGF5IixlLlVuZG89InVuZG8iLGUuUmVkbz0icmVkbyIsZS5MYXlvdXRUeXBlPSJsYXlvdXQgdHlwZSIsZS5NYW5hZ2VMYXlvdXRzPSJtYW5hZ2UgbGF5b3V0cyIsZS5DaGFydFNldHRpbmdzPSJjaGFydCBzZXR0aW5ncyIsZS5GdWxsc2NyZWVuTW9kZT0iZnVsbHNjcmVlbiBtb2RlIixlLlNuYXBzaG90PSJzbmFwc2hvdCIsZS5UZWxlZ3JhbVNoYXJlPSJ0ZWxlZ3JhbSBzaGFyZSIsZS5QdWJsaXNoPSJwdWJsaXNoIixlLkNvcHk9ImNvcHkiLGUuVG9wVG9vbGJhclRyYWRlQnV0dG9uPSJ0b3BfdG9vbGJhcl90cmFkZV9idXR0b24iLGUuQ3Vyc29ycz0iY3Vyc29ycyIsZS5UcmVuZExpbmVUb29scz0idHJlbmQgbGluZSB0b29scyIsZS5HYW5BbmRGaWJUb29scz0iZ2FuIGFuZCBmaWIgdG9vbHMiLGUuR2VvbWV0cmljU2hhcGVzPSJnZW9tZXRyaWMgc2hhcGVzIixlLkFubm90YXRpb25Ub29scz0iYW5ub3RhdGlvbiB0b29scyIsZS5QYXR0ZXJucz0icGF0dGVybnMiLGUuUHJlZGljdGlvblRvb2xzPSJwcmVkaWN0aW9uIHRvb2xzIixlLkljb25zPSJpY29ucyIsZS5NZWFzdXJlPSJtZWFzdXJlIixlLlpvb21Jbj0iem9vbSBpbiIsZS5ab29tT3V0PSJ6b29tIG91dCIsZS5NYWduZXRNb2RlPSJtYWduZXQgbW9kZSIsZS5NYWduZXRTbmFwcz0ibWFnbmV0IHNuYXBzIixlLkRyYXdpbmdNb2RlPSJkcmF3aW5nIG1vZGUiLGUuTG9jaz0ibG9jayIsZS5IaWRlRHJhd2luZ3M9ImhpZGUiLGUuU3luYz0ic3luYyIsZS5SZW1vdmU9InJlbW92ZSIsZS5GYXZvcml0ZVRvb2xiYXI9ImZhdm9yaXRlIHRvb2xiYXIiLGUuT2JqZWN0VHJlZT0ib2JqZWN0IHRyZWUiLGUuRGF5PSIxZCIsZS5GaXZlRGF5cz0iNWQiLGUuTW9udGg9IjFtIixlLlRocmVlTW9udGhzPSIzbSIsZS5TaXhNb250aHM9IjZtIixlLllURD0ieXRkIixlLlllYXI9IjF5IixlLkZpdmVZZWFycz0iNXkiLGUuQWxsPSJhbGwiLGUuR29Ubz0iZ28gdG8iLGUuRGF0ZVJhbmdlPSJkYXRlIHJhbmdlIixlLlRpbWV6b25lPSJ0aW1lem9uZSIsZS5TZXNzaW9uPSJzZXNzaW9uIixlLkFkaj0iYWRqIixlLlBlcmNlbnQ9InBlcmNlbnQiLGUuTG9nPSJsb2ciLGUuQXV0bz0iYXV0byIsZS5NYXhpbWl6ZUNoYXJ0PSJtYXhpbWl6ZSBjaGFydCIsZS5XYXRjaGxpc3Q9IndhdGNobGlzdCIsZS5BbGVydHM9ImFsZXJ0cyIsZS5EYXRhV2luZG93PSJkYXRhIHdpbmRvdyIsZS5Ib3RsaXN0PSJob3RsaXN0IixlLkNhbGVuZGFyPSJjYWxlbmRhciIsZS5DYWxlbmRhckRpYWxvZz0iY2FsZW5kYXIgZGlhbG9nIixlLlVuaW9uQ2hhdHM9ImNoYXRzIixlLk9yZGVyUGFuZWw9Im9yZGVyIHBhbmVsIixlLkRPTT0iZG9tIixlLkhlbHBDZW50ZXI9ImhlbHAgY2VudGVyIixlLkV4cG9ydD0iZXhwb3J0IixlLk1ha2VBQ29weT0ibWFrZSBhIGNvcHkifShvfHwobz17fSkpLGZ1bmN0aW9uKGUpe2UuTWVudT0ibWVudSIsZS5Pbj0ib24iLGUuT2ZmPSJvZmYifShsfHwobD17fSkpLGZ1bmN0aW9uKGUpe2UuQ29weT0iY29weSIsZS5TaGFyZT0ic2hhcmUifShhfHwoYT17fSkpLGZ1bmN0aW9uKGUpe2xldCB0LG47IWZ1bmN0aW9uKGUpe2UuRmlsdGVyUGlsbD0iRklMVEVSX1BJTEwiLGUuRmlsdGVyUGlsbFJlc2V0PSJGSUxURVJfUElMTF9SRVNFVCIsZS5GaWx0ZXJSZXNldEFsbD0iRklMVEVSX1JFU0VUX0FMTCIsZS5GaWx0ZXJSZW1vdmVBbGw9IkZJTFRFUl9SRU1PVkVfQUxMIixlLkZpbHRlclJlbW92ZUluYWN0aXZlPSJGSUxURVJfUkVNT1ZFX0lOQUNUSVZFIixlLkFkZEZpbHRlcj0iQUREX0ZJTFRFUiIsZS5FZGl0RmlsdGVyPSJFRElUX0ZJTFRFUiIsZS5GaWx0ZXJQb3BvdmVyUmVzZXQ9IkZJTFRFUl9QT1BPVkVSX1JFU0VUIixlLkZpbHRlclBvcG92ZXJQcmVzZXQ9IkZJTFRFUl9QT1BPVkVSX1BSRVNFVCIsZS5GaWx0ZXJQb3BvdmVyRGVsZXRlPSJGSUxURVJfUE9QT1ZFUl9ERUxFVEUiLGUuRmlsdGVyUG9wb3ZlckN1c3RvbT0iRklMVEVSX1BPUE9WRVJfQ1VTVE9NIixlLkZpbHRlclBvcG92ZXJBcHBseT0iRklMVEVSX1BPUE9WRVJfQVBQTFkiLGUuU2VhcmNoRmlsdGVyRGlhbG9nT3BlbkZyb21QaWxsPSJTRUFSQ0hfRklMVEVSX0RJQUxPR19PUEVOX0ZST01fUElMTCIsZS5TZWFyY2hGaWx0ZXJEaWFsb2dDbGlja0ZpbHRlcj0iU0VBUkNIX0ZJTFRFUl9ESUFMT0dfQ0xJQ0tfRklMVEVSIixlLlNlYXJjaEZpbHRlckRpYWxvZ0NoYW5nZUdyb3VwPSJTRUFSQ0hfRklMVEVSX0RJQUxPR19DSEFOR0VfR1JPVVAiLAplLlNlYXJjaEZpbHRlckRpYWxvZ0ZpbHRlck9wdGlvbj0iU0VBUkNIX0ZJTFRFUl9ESUFMT0dfRklMVEVSX09QVElPTiIsZS5TZWFyY2hGaWx0ZXJEaWFsb2dGaWx0ZXJTb2x1dGlvbj0iU0VBUkNIX0ZJTFRFUl9ESUFMT0dfRklMVEVSX1NPTFVUSU9OIixlLlNlYXJjaEZpbHRlckRpYWxvZ0ZpbHRlck91dHNpZGU9IlNFQVJDSF9GSUxURVJfRElBTE9HX0ZJTFRFUl9PVVRTSURFIixlLlNlYXJjaEZpbHRlckRpYWxvZ0ZpbHRlckNsb3NlPSJTRUFSQ0hfRklMVEVSX0RJQUxPR19GSUxURVJfQ0xPU0UiLGUuU2VhcmNoRmlsdGVyRGlhbG9nRmlsdGVyTWVudUFwcGx5PSJTRUFSQ0hfRklMVEVSX0RJQUxPR19GSUxURVJfTUVOVV9BUFBMWSIsZS5DcmVhdGVFZGl0RmlsdGVyRGlhbG9nUmVzZXQ9IkNSRUFURV9FRElUX0ZJTFRFUl9ESUFMT0dfUkVTRVQiLGUuQ3JlYXRlRWRpdEZpbHRlckRpYWxvZ1NlbGVjdEFsbD0iQ1JFQVRFX0VESVRfRklMVEVSX0RJQUxPR19TRUxFQ1RfQUxMIixlLkNyZWF0ZUVkaXRGaWx0ZXJEaWFsb2dVbnNlbGVjdEFsbD0iQ1JFQVRFX0VESVRfRklMVEVSX0RJQUxPR19VTlNFTEVDVF9BTEwiLGUuQ3JlYXRlRWRpdEZpbHRlckRpYWxvZ0NhbmNlbD0iQ1JFQVRFX0VESVRfRklMVEVSX0RJQUxPR19DQU5DRUwiLGUuQ3JlYXRlRWRpdEZpbHRlckRpYWxvZ0FwcGx5PSJDUkVBVEVfRURJVF9GSUxURVJfRElBTE9HX0FQUExZIixlLkNyZWF0ZUVkaXRGaWx0ZXJEaWFsb2dGaWx0ZXJTb2x1dGlvbj0iQ1JFQVRFX0VESVRfRklMVEVSX0RJQUxPR19GSUxURVJfU09MVVRJT04iLGUuQ3JlYXRlRWRpdEZpbHRlckRpYWxvZ091dHNpZGU9IkNSRUFURV9FRElUX0ZJTFRFUl9ESUFMT0dfT1VUU0lERSIsZS5DcmVhdGVFZGl0RmlsdGVyRGlhbG9nQ2xvc2U9IkNSRUFURV9FRElUX0ZJTFRFUl9ESUFMT0dfQ0xPU0UiLGUuU2NyZWVuZXJWaWV3VHlwZT0iU0NSRUVORVJfVklFV19UWVBFIixlLlNlYXJjaENvbHVtbkRpYWxvZ09wZW5Gcm9tVGFibGVIZWFkZXI9IlNFQVJDSF9DT0xVTU5fRElBTE9HX09QRU5fRlJPTV9UQUJMRV9IRUFERVIiLGUuU2VhcmNoQ29sdW1uRGlhbG9nQ2xpY2tDb2x1bW49IlNFQVJDSF9DT0xVTU5fRElBTE9HX0NMSUNLX0NPTFVNTiIsZS5TZWFyY2hDb2x1bW5EaWFsb2dDbGVhckFsbD0iU0VBUkNIX0NPTFVNTl9ESUFMT0dfQ0xFQVJfQUxMIixlLlNlYXJjaENvbHVtbkRpYWxvZ1JlbW92ZUNvbHVtbj0iU0VBUkNIX0NPTFVNTl9ESUFMT0dfUkVNT1ZFX0NPTFVNTiIsZS5TZWFyY2hDb2x1bW5EaWFsb2dBcHBseT0iU0VBUkNIX0NPTFVNTl9ESUFMT0dfQVBQTFkiLGUuU2VhcmNoQ29sdW1uRGlhbG9nQ2FuY2VsPSJTRUFSQ0hfQ09MVU1OX0RJQUxPR19DQU5DRUwiLGUuU2VhcmNoQ29sdW1uRGlhbG9nT3V0c2lkZT0iU0VBUkNIX0NPTFVNTl9ESUFMT0dfT1VUU0lERSIsZS5TZWFyY2hDb2x1bW5EaWFsb2dDbG9zZT0iU0VBUkNIX0NPTFVNTl9ESUFMT0dfQ0xPU0UiLGUuU2VhcmNoQ29sdW1uRGlhbG9nQ2hhbmdlR3JvdXA9IlNFQVJDSF9DT0xVTU5fRElBTE9HX0NIQU5HRV9HUk9VUCIsZS5DcmVhdGVFZGl0Q29sdW1uRGlhbG9nQXBwbHk9IkNSRUFURV9FRElUX0NPTFVNTl9ESUFMT0dfQVBQTFkiLGUuQ3JlYXRlRWRpdENvbHVtbkRpYWxvZ0NhbmNlbD0iQ1JFQVRFX0VESVRfQ09MVU1OX0RJQUxPR19DQU5DRUwiLGUuQ3JlYXRlRWRpdENvbHVtbkRpYWxvZ091dHNpZGU9IkNSRUFURV9FRElUX0NPTFVNTl9ESUFMT0dfT1VUU0lERSIsZS5DcmVhdGVFZGl0Q29sdW1uRGlhbG9nQ2xvc2U9IkNSRUFURV9FRElUX0NPTFVNTl9ESUFMT0dfQ0xPU0UiLGUuQ3JlYXRlRWRpdENvbHVtblBvcG92ZXJNZW51QXBwbHk9IkNSRUFURV9FRElUX0NPTFVNTl9QT1BPVkVSX01FTlVfQVBQTFkiLGUuQ3JlYXRlRWRpdENvbHVtblBvcG92ZXJNZW51Q2FuY2VsPSJDUkVBVEVfRURJVF9DT0xVTU5fUE9QT1ZFUl9NRU5VX0NBTkNFTCIsZS5TY3JlZW5DYXJkUG9wdWxhclNlbGVjdD0iU0NSRUVOX0NBUkRfUE9QVUxBUl9TRUxFQ1QiLGUuQ29sdW1uU2V0U2VsZWN0PSJDT0xVTU5fU0VUX1NFTEVDVCIsZS5IZWFkZXJDb2xsYXBzZT0iSEVBREVSX0NPTExBUFNFIixlLkZ1bGxzY3JlZW49IkZVTExTQ1JFRU4iLGUuRXhwb3J0Q1NWPSJFWFBPUlRfQ1NWIixlLlNjcmVlbmVyU2V0dGluZ3NPcGVuRnJvbUJ1dHRvbj0iU0NSRUVORVJfU0VUVElOR1NfT1BFTl9GUk9NX0JVVFRPTiIsZS5TY3JlZW5lclNldHRpbmdzQ2xpY2tBdXRvUmVmcmVzaE9wdGlvbj0iU0NSRUVORVJfU0VUVElOR1NfQ0xJQ0tfQVVUT19SRUZSRVNIX09QVElPTiIsZS5TY3JlZW5lclNldHRpbmdzQ2xpY2tDb252ZXJ0Q3VycmVuY3lPcHRpb249IlNDUkVFTkVSX1NFVFRJTkdTX0NMSUNLX0NPTlZFUlRfQ1VSUkVOQ1lfT1BUSU9OIixlLlNjcmVlbmVyU2V0dGluZ3NHcm91cEJ5SXNpblRvZ2dsZVJlZ3dhbGxPcGVuPSJTRVRUSU5HU19HUk9VUF9CWV9JU0lOX1RPR0dMRV9SRUdXQUxMX09QRU4iLGUuQ29sdW1uU2VhcmNoU3ltYm9sUmVnd2FsbE9wZW49IkNPTFVNTl9TRUFSQ0hfU1lNQk9MX1JFR1dBTExfT1BFTiIsZS5Db2x1bW5Db250ZXh0TWVudVNvcnRBc2M9IkNPTFVNTl9DT05URVhUX01FTlVfU09SVF9BU0MiLGUuQ29sdW1uQ29udGV4dE1lbnVTb3J0RGVzYz0iQ09MVU1OX0NPTlRFWFRfTUVOVV9TT1JUX0RFU0MiLGUuQ29sdW1uQ29udGV4dE1lbnVTb3J0UmVnd2FsbE9wZW49IkNPTFVNTl9DT05URVhUX01FTlVfU09SVF9SRUdXQUxMX09QRU4iLGUuQ29sdW1uQ29udGV4dE1lbnVNb3ZlTGVmdD0iQ09MVU1OX0NPTlRFWFRfTUVOVV9NT1ZFX0xFRlQiLGUuQ29sdW1uQ29udGV4dE1lbnVNb3ZlUmlnaHQ9IkNPTFVNTl9DT05URVhUX01FTlVfTU9WRV9SSUdIVCIsZS5Db2x1bW5Db250ZXh0TWVudU1vdmVUb1RoZUVuZD0iQ09MVU1OX0NPTlRFWFRfTUVOVV9NT1ZFX1RPX1RIRV9FTkQiLGUuQ29sdW1uQ29udGV4dE1lbnVNb3ZlVG9UaGVTdGFydD0iQ09MVU1OX0NPTlRFWFRfTUVOVV9NT1ZFX1RPX1RIRV9TVEFSVCIsZS5Db2x1bW5Db250ZXh0TWVudVJlbW92ZUNvbHVtbj0iQ09MVU1OX0NPTlRFWFRfTUVOVV9SRU1PVkVfQ09MVU1OIiwKZS5Db2x1bW5Db250ZXh0TWVudUNoYW5nZVBhcmFtPSJDT0xVTU5fQ09OVEVYVF9NRU5VX0NIQU5HRV9QQVJBTSIsZS5Tb3J0U2VsZWN0T3BlbkZyb21CdXR0b249IlNPUlRfU0VMRUNUX09QRU5fRlJPTV9CVVRUT04iLGUuU29ydFNlbGVjdENsaWNrQ29sdW1uPSJTT1JUX1NFTEVDVF9DTElDS19DT0xVTU4iLGUuU2NyZWVuZXJNYW51YWxSZWZyZXNoT3B0aW9uPSJTQ1JFRU5FUl9NQU5VQUxfUkVGUkVTSF9PUFRJT04iLGUuTWFya2V0UHJpbWFyeUxpc3RpbmdUb2dnbGU9Ik1BUktFVF9QUklNQVJZX0xJU1RJTkdfVE9HR0xFIixlLk1hcmtldENoYW5nZU9wdGlvbj0iTUFSS0VUX0NIQU5HRV9PUFRJT04iLGUuTWFya2V0U2VsZWN0TXVsdGlwbGU9Ik1BUktFVF9TRUxFQ1RfTVVMVElQTEUiLGUuT3BlblNjcmVlbmVyPSJPUEVOX1NDUkVFTkVSIixlLkNoYW5nZVN0YW5kYWxvbmVUeXBlPSJDSEFOR0VfU1RBTkRBTE9ORV9UWVBFIixlLlRhYmxlQ29udGV4dE1lbnVBZGRTeW1ib2xUb1dhdGNobGlzdD0iVEFCTEVfQ09OVEVYVF9NRU5VX0FERF9TWU1CT0xfVE9fV0FUQ0hMSVNUIixlLlRhYmxlUm93QWRkU3ltYm9sVG9XYXRjaGxpc3Q9IlRBQkxFX1JPV19BRERfU1lNQk9MX1RPX1dBVENITElTVCIsZS5XYXRjaGxpc3RBcHBsaWVkU2Nhbj0iV0FUQ0hMSVNUX0FQUExJRURfU0NBTiIsZS5XYXRjaGxpc3RQb3BvdmVyT3Blbj0iV0FUQ0hMSVNUX1BPUE9WRVJfT1BFTiIsZS5TY3JlZW5BY3Rpb25zRHJvcGRvd25Jc09wZW49IlNDUkVFTkVSX01FTlVfT1BFTiIsZS5TY3JlZW5BY3Rpb25zRHJvcGRvd25SZWNlbnRTY3JlZW49Ik9QRU5fUkVDRU5UTFlfVVNFRCIsZS5TYXZlZFNjcmVlblNoYXJlPSJTQVZFRF9TQ1JFRU5fU0hBUkUiLGUuU2hhcmVkU2NyZWVuT3Blbj0iU0hBUkVEX1NDUkVFTl9PUEVOIixlLlNoYXJlZFNjcmVlbkNvcHk9IlNIQVJFRF9TQ1JFRU5fQ09QWSIsZS5TYXZlZFNjcmVlbkF1dG9zYXZlPSJTQVZFRF9TQ1JFRU5fQVVUT1NBVkUiLGUuU2F2ZWRTY3JlZW5NYWtlQ29weT0iU0FWRURfU0NSRUVOX01BS0VfQ09QWSIsZS5TYXZlU2NyZWVuPSJTQVZFX1NDUkVFTiIsZS5DcmVhdGVTY3JlZW49IkNSRUFURV9TQ1JFRU4iLGUuRmlsdGVyQ3VzdG9tUGFyYW1BcHBseT0iRklMVEVSX0NVU1RPTV9QQVJBTV9BUFBMWSIsZS5Db2x1bW5DdXN0b21QYXJhbUFwcGx5PSJDT0xVTU5fQ1VTVE9NX1BBUkFNX0FQUExZIixlLlNjcmVlblVuZG89IlNDUkVFTl9VTkRPIixlLlNjcmVlblJlZG89IlNDUkVFTl9SRURPIixlLlNjcmVlbkNvbHVtbkFycm93U29ydD0iU0NSRUVOX0NPTFVNTl9BUlJPV19TT1JUIixlLlNjcmVlbkNvbHVtblNvcnRSZWd3YWxsT3Blbj0iU0NSRUVOX0NPTFVNTl9TT1JUX1JFR1dBTExfT1BFTiIsZS5SZWdpc3RyYXRpb25Cb3R0b21CYXJDbGlja1JlZ2lzdGVyPSJSRUdJU1RSQVRJT05fQk9UVE9NX0JBUl9DTElDS19SRUdJU1RFUiIsZS5TY3JlZW5lclNhdmVBcz0iU0NSRUVORVJfU0FWRV9BUyIsZS5QaW5lU2NyZWVuZXJTZWxlY3RXYXRjaGxpc3Q9IlBJTkVfU0NSRUVORVJfU0VMRUNUX1dBVENITElTVCIsZS5QaW5lU2NyZWVuZXJTZWxlY3RJbmRpY2F0b3I9IlBJTkVfU0NSRUVORVJfU0VMRUNUX0lORElDQVRPUiIsZS5QaW5lU2NyZWVuZXJDbGlja1NjYW49IlBJTkVfU0NSRUVORVJfQ0xJQ0tfU0NBTiIsZS5QaW5lU2NyZWVuZXJDbGlja1N0b3BTY2FuPSJQSU5FX1NDUkVFTkVSX0NMSUNLX1NUT1BfU0NBTiIsZS5QaW5lU2NyZWVuZXJEb3dubG9hZFJlc3VsdHNBc0NTVj0iUElORV9TQ1JFRU5FUl9ET1dOTE9BRF9SRVNVTFRTX0FTX0NTViIsZS5QaW5lU2NyZWVuZXJTYXZlUmVzdWx0c0FzV2F0Y2hsaXN0PSJQSU5FX1NDUkVFTkVSX1NBVkVfUkVTVUxUU19BU19XQVRDSExJU1QiLGUuUGluZVNjcmVlbmVyUmVzdWx0c0FzV2F0Y2hsaXN0U3VjY2Vzc2Z1bGx5U2F2ZWQ9IlBJTkVfU0NSRUVORVJfUkVTVUxUU19BU19XQVRDSExJU1RfU1VDQ0VTU0ZVTExZX1NBVkVEIixlLlBpbmVTY3JlZW5lckFib3V0PSJQSU5FX1NDUkVFTkVSX0FCT1VUIixlLlNjcmVlbmVyQWlTdGFydD0iU0NSRUVORVJfQUlfU1RBUlQiLGUuU2NyZWVuZXJBaUV4cGxhbmF0aW9uPSJTQ1JFRU5FUl9BSV9FWFBMQU5BVElPTiIsZS5TY3JlZW5lckFpR2VuZXJhdGVGaWx0ZXJzPSJTQ1JFRU5FUl9BSV9HRU5FUkFURV9GSUxURVJTIixlLlNjcmVlbmVyQWlTdG9wPSJTQ1JFRU5FUl9BSV9TVE9QIixlLlNjcmVlbmVyQWlQb3B1bGFyU2VsZWN0PSJTQ1JFRU5FUl9BSV9QT1BVTEFSX1NFTEVDVCJ9KHQ9ZS5CdXR0b258fChlLkJ1dHRvbj17fSkpLGZ1bmN0aW9uKGUpe2UuU2Nyb2xsRGVwdGg9IlNDUk9MTF9ERVBUSCJ9KG49ZS5TY3JvbGx8fChlLlNjcm9sbD17fSkpfShzfHwocz17fSkpLGZ1bmN0aW9uKGUpe2xldCB0LG47IWZ1bmN0aW9uKGUpe2UuRGV0YWlsc1dpZGdldD0iREVUQUlMU19XSURHRVQiLGUuTW9yZURpYWxvZz0iTU9SRV9ESUFMT0ciLGUuUHJvZHVjdERpYWxvZz0iUFJPRFVDVF9ESUFMT0ciLGUuUHJvZHVjdFBhZ2U9IlBST0RVQ1RfUEFHRSIsZS5TeW1ib2xQYWdlVGFiPSJTWU1CT0xfUEFHRV9UQUIiLGUuU3ltYm9sU2VhcmNoPSJTWU1CT0xfU0VBUkNIIixlLk9wdGlvbnNXZWJ2aWV3PSJPUFRJT05TX1dFQlZJRVcifSh0PWUuU291cmNlfHwoZS5Tb3VyY2U9e30pKSxmdW5jdGlvbihlKXtlLkJyb2tlckNvbm5lY3Q9IkJST0tFUl9DT05ORUNUIixlLkJyb2tlclNlbGVjdD0iQlJPS0VSX1NFTEVDVCIsZS5CdWlsZGVyRnVsbHNjcmVlbk1vZGU9IkJVSUxERVJfRlVMTFNDUkVFTl9NT0RFIixlLkJ1aWxkZXJUYWJzPSJCVUlMREVSX1RBQlMiLGUuQ29ubmVjdEJyb2tlckJ1dHRvbj0iQ09OTkVDVF9CUk9LRVJfQlVUVE9OIixlLkNvcHlTaGFyZWRTdHJhdGVneT0iQ09QWV9TSEFSRURfU1RSQVRFR1kiLGUuQ3JlYXRlU3RyYXRlZ3lUZW1wbGF0ZUJ1dHRvbj0iQ1JFQVRFX1NUUkFURUdZX1RFTVBMQVRFX0JVVFRPTiIsZS5EcmFnU3RyYXRlZ3lDaGFydFBvc2l0aW9uUG9pbnQ9IkRSQUdfU1RSQVRFR1lfQ0hBUlRfUE9TSVRJT05fUE9JTlQiLGUuR3JlZWtTZWxlY3Q9IkdSRUVLX1NFTEVDVCIsCmUuTmV0U3RyYXRlZ3lDaGFydD0iTkVUX1NUUkFURUdZX0NIQVJUIixlLk9wZW5GdWxsc2NyZWVuVGFibGVCdXR0b249Ik9QRU5fRlVMTFNDUkVFTl9UQUJMRV9CVVRUT04iLGUuT3B0aW9uc0NoYWluQWRkQ29sdW1uPSJPUFRJT05TX0NIQUlOX0FERF9DT0xVTU4iLGUuT3B0aW9uc0NoYWluRXhwYW5kUm93PSJPUFRJT05TX0NIQUlOX0VYUEFORF9ST1ciLGUuT3B0aW9uc0NoYWluSW52b2tlT3JkZXI9Ik9QVElPTlNfQ0hBSU5fSU5WT0tFX09SREVSIixlLk9wdGlvbnNDaGFpbk1hbnVhbERhdGVSYW5nZVNlbGVjdD0iT1BUSU9OU19DSEFJTl9NQU5VQUxfREFURV9SQU5HRV9TRUxFQ1QiLGUuT3B0aW9uc0NoYWluTWFudWFsU3RyaWtlUmFuZ2VTZWxlY3Q9Ik9QVElPTlNfQ0hBSU5fTUFOVUFMX1NUUklLRV9SQU5HRV9TRUxFQ1QiLGUuT3B0aW9uc0NoYWluT3Blbj0iT1BUSU9OU19DSEFJTl9PUEVOIixlLk9wdGlvbnNDaGFpblJlbW92ZUNvbHVtbj0iT1BUSU9OU19DSEFJTl9SRU1PVkVfQ09MVU1OIixlLk9wdGlvbnNDaGFpblNlbGVjdFNlcmllcz0iT1BUSU9OU19DSEFJTl9TRUxFQ1RfU0VSSUVTIixlLk9wdGlvbnNDaGFpblNlbGVjdFN0cmlrZXM9Ik9QVElPTlNfQ0hBSU5fU0VMRUNUX1NUUklLRVMiLGUuT3B0aW9uc0NoYWluU3BlY2lmaWNEYXRlc1NlbGVjdD0iT1BUSU9OU19DSEFJTl9TUEVDSUZJQ19EQVRFU19TRUxFQ1QiLGUuT3B0aW9uc0NoYWluU3BlY2lmaWNTdHJpa2VzU2VsZWN0PSJPUFRJT05TX0NIQUlOX1NQRUNJRklDX1NUUklLRVNfU0VMRUNUIixlLk9wdGlvbnNDaGFpblRpbWVTcGVudD0iT1BUSU9OU19DSEFJTl9USU1FX1NQRU5UIixlLlBvc2l0aW9uVmlzaWJpbGl0eUJ1dHRvbj0iUE9TSVRJT05fVklTSUJJTElUWV9CVVRUT04iLGUuU2lnbmluV2l0aEZlYXR1cmU9IlNJR05JTl9XSVRIX0ZFQVRVUkUiLGUuU3ByZWFkZXhGaWx0ZXJDaGFuZ2U9IlNQUkVBREVYX0ZJTFRFUl9DSEFOR0UiLGUuU3RyYXRlZ2llc0dyb3VwPSJTVFJBVEVHSUVTX0dST1VQIixlLlN0cmF0ZWd5QWRkUG9zaXRpb25CdXR0b249IlNUUkFURUdZX0FERF9QT1NJVElPTl9CVVRUT04iLGUuU3RyYXRlZ3lBZGp1c3REaXNjbG9zdXJlPSJTVFJBVEVHWV9BREpVU1RfRElTQ0xPU1VSRSIsZS5TdHJhdGVneUNoYXJ0RXJyb3I9IlNUUkFURUdZX0NIQVJUX0VSUk9SIixlLlN0cmF0ZWd5Q2hhcnRTaGFyaW5nPSJTVFJBVEVHWV9DSEFSVF9TSEFSSU5HIixlLlN0cmF0ZWd5RmluZGVyQ3JlYXRlU3RyYXRlZ3k9IlNUUkFURUdZX0ZJTkRFUl9DUkVBVEVfU1RSQVRFR1kiLGUuU3RyYXRlZ3lMaXN0U2V0dGluZ3NCdXR0b249IlNUUkFURUdZX0xJU1RfU0VUVElOR1NfQlVUVE9OIixlLlN0cmF0ZWd5TW9kUG9zaXRpb25DaGFpbj0iU1RSQVRFR1lfTU9EX1BPU0lUSU9OX0NIQUlOIixlLlN0cmF0ZWd5TW9kUG9zaXRpb25FeHA9IlNUUkFURUdZX01PRF9QT1NJVElPTl9FWFAiLGUuU3RyYXRlZ3lOYW1lRGlzY2xvc3VyZT0iU1RSQVRFR1lfTkFNRV9ESVNDTE9TVVJFIixlLlN0cmF0ZWd5U2V0dGluZ3NEaXNjbG9zdXJlPSJTVFJBVEVHWV9TRVRUSU5HU19ESVNDTE9TVVJFIixlLlN0cmF0ZWd5U2hhcmU9IlNUUkFURUdZX1NIQVJFIixlLlN0cmF0ZWd5VmlzaWJpbGl0eUJ1dHRvbj0iU1RSQVRFR1lfVklTSUJJTElUWV9CVVRUT04iLGUuU3ltYm9sU2VhcmNoRGlhbG9nPSJTWU1CT0xfU0VBUkNIX0RJQUxPRyIsZS5TeW5jT3ZlcmxheUNoYXJ0PSJTWU5DX09WRVJMQVlfQ0hBUlQiLGUuVmlzaXRTaGFyZWRTdHJhdGVneT0iVklTSVRfU0hBUkVEX1NUUkFURUdZIixlLlZvbGF0aWxpdHlTZWxlY3RTZXJpZXM9IlZPTEFUSUxJVFlfU0VMRUNUX1NFUklFUyIsZS5XaGF0SWZTY2VuYXJpb0FkZD0iV0hBVF9JRl9TQ0VOQVJJT19BREQiLGUuV2hhdElmU2NlbmFyaW9EZWxldGU9IldIQVRfSUZfU0NFTkFSSU9fREVMRVRFIixlLldoYXRJZlNjZW5hcmlvRWRpdD0iV0hBVF9JRl9TQ0VOQVJJT19FRElUIixlLldoYXRJZlNjZW5hcmlvU2VsZWN0PSJXSEFUX0lGX1NDRU5BUklPX1NFTEVDVCJ9KG49ZS5FbGVtZW50fHwoZS5FbGVtZW50PXt9KSl9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7bGV0IHQ7IWZ1bmN0aW9uKGUpe2UuRmF2b3JpdGVTdGF0ZT0iZmF2b3JpdGUgc3RhdGUiLGUuUmVtb3ZlRnJvbUZhdm9yaXRlcz0icmVtb3ZlIGZyb20gZmF2b3JpdGVzIixlLkFkZFRvRmF2b3JpdGVzPSJhZGQgdG8gZmF2b3JpdGVzIixlLk9wZW5EcmF3ZXI9Im9wZW4gZHJhd2VyIixlLkNsb3NlRHJhd2VyPSJjbG9zZSBkcmF3ZXIiLGUuT3BlblNwbGl0Vmlldz0ib3BlbiBzcGxpdCB2aWV3IixlLkNsb3NlU3BsaXRWaWV3PSJjbG9zZSBzcGxpdCB2aWV3IixlLk1vdmVTcGxpdFYxPSJtb3ZlX3NwbGl0X3YxIixlLk1vdmVTcGxpdFYyPSJtb3ZlX3NwbGl0X3YyIixlLk1vdmVPdmVybGF5VjE9Im1vdmVfb3ZlcmxheV92MSIsZS5Nb3ZlT3ZlcmxheVYyPSJtb3ZlX292ZXJsYXlfdjIifSh0PWUuQWN0aW9uVHlwZXx8KGUuQWN0aW9uVHlwZT17fSkpfShjfHwoYz17fSkpLGZ1bmN0aW9uKGUpe2xldCB0OyFmdW5jdGlvbihlKXtlLkNsaWNrPSJjbGljayIsZS5TaG93PSJzaG93In0odD1lLlR5cGV8fChlLlR5cGU9e30pKX0odXx8KHU9e30pKX0sOTY0MzYxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0FkYXB0aXZlUG9wdXBEaWFsb2c6KCk9Pnd9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDEzODYzOCksbD1uKDkxNDQ4NyksYT1uLm4obCkscz1uKDkzMDIzMSksaT1uKDIzNTcyNCksYz1uKDk2OTE2OCksdT1uKDMzNzM2MiksZD1uKDcyMTM2OSksbT1uKDU4NTgyMSkscD1uKDIzMTEzMyksaD1uKDYwOTUyOCksZj1uKDQwNjExMCksUz1uKDQ5MDg5MyksZz1uKDk3MTUxMikseT1uKDYwMzYxMiksYj1uKDE3OTc3MSksdj1uKDExMzc1NyksXz1uKDk2NDU5NCksRT1uKDM0NTExNiksQz1uKDE1MDE1MCksVD1uKDEyOTY4MCk7Y29uc3QgeD17dmVydGljYWw6MjB9LEk9e3ZlcnRpY2FsOjB9O2NsYXNzIHcgZXh0ZW5kcyByLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2NvbnRyb2xsZXI9bnVsbCwKdGhpcy5fcmVmZXJlbmNlPW51bGwsdGhpcy5fb3JpZW50YXRpb25NZWRpYVF1ZXJ5PW51bGwsdGhpcy5fZW1iZWRSZXNpemVyT3ZlcnJpZGVzRW5hYmxlZD0oMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbWJlZF9yZXNpemVyX292ZXJyaWRlcyIpLHRoaXMuX3RpdGxlSWQ9YHRpdGxlXyR7KDAsQy5yYW5kb21IYXNoKSgpfWAsdGhpcy5fcmVuZGVyQ2hpbGRyZW49KGUsdCk9Pih0aGlzLl9jb250cm9sbGVyPWUsdGhpcy5wcm9wcy5yZW5kZXIoe3JlcXVlc3RSZXNpemU6dGhpcy5fcmVxdWVzdFJlc2l6ZSxjZW50ZXJBbmRGaXQ6dGhpcy5fY2VudGVyQW5kRml0LGlzU21hbGxXaWR0aDp0fSkpLHRoaXMuX2hhbmRsZVJlZmVyZW5jZT1lPT50aGlzLl9yZWZlcmVuY2U9ZSx0aGlzLl9oYW5kbGVDbG9zZUJ0bkNsaWNrPSgpPT57dGhpcy5wcm9wcy5vbktleWJvYXJkQ2xvc2UmJnRoaXMucHJvcHMub25LZXlib2FyZENsb3NlKCksdGhpcy5faGFuZGxlQ2xvc2UoKX0sdGhpcy5faGFuZGxlQ2xvc2U9KCk9Pnt0aGlzLnByb3BzLm9uQ2xvc2UoKX0sdGhpcy5faGFuZGxlT3Blbj0oKT0+e3ZvaWQgMCE9PXRoaXMucHJvcHMub25PcGVuJiZ0aGlzLnByb3BzLmlzT3BlbmVkJiZ0aGlzLnByb3BzLm9uT3Blbih0aGlzLnByb3BzLmZ1bGxTY3JlZW58fHdpbmRvdy5tYXRjaE1lZGlhKGguRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGwpLm1hdGNoZXMpfSx0aGlzLl9oYW5kbGVLZXlEb3duPWU9PntpZighZS5kZWZhdWx0UHJldmVudGVkKXtpZih0aGlzLnByb3BzLm9uS2V5RG93biYmdGhpcy5wcm9wcy5vbktleURvd24oZSksMjc9PT0oMCxpLmhhc2hGcm9tRXZlbnQpKGUpKXtpZihlLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2lmKHRoaXMucHJvcHMuZm9yY2VDbG9zZU9uRXNjJiZ0aGlzLnByb3BzLmZvcmNlQ2xvc2VPbkVzYygpKXJldHVybiB0aGlzLnByb3BzLm9uS2V5Ym9hcmRDbG9zZSYmdGhpcy5wcm9wcy5vbktleWJvYXJkQ2xvc2UoKSx2b2lkIHRoaXMuX2hhbmRsZUNsb3NlKCk7Y29uc3R7YWN0aXZlRWxlbWVudDpufT1kb2N1bWVudDtpZihudWxsIT09bil7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLCJ0cnVlIj09PSh0PW4pLmdldEF0dHJpYnV0ZSgiZGF0YS1oYXNwb3B1cCIpJiYidHJ1ZSIhPT10LmdldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIpKXJldHVybiB2b2lkIHRoaXMuX2hhbmRsZUNsb3NlKCk7Y29uc3Qgcj10aGlzLl9yZWZlcmVuY2U7aWYobnVsbCE9PXImJigwLGQuaXNUZXh0RWRpdGluZ0ZpZWxkKShuKSlyZXR1cm4gdm9pZCByLmZvY3VzKCk7aWYocj8uY29udGFpbnMobikpcmV0dXJuIHRoaXMucHJvcHMub25LZXlib2FyZENsb3NlJiZ0aGlzLnByb3BzLm9uS2V5Ym9hcmRDbG9zZSgpLHZvaWQgdGhpcy5faGFuZGxlQ2xvc2UoKX19dmFyIHQ7KGZ1bmN0aW9uKGUpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlKXJldHVybiBlKCk7cmV0dXJuIEJvb2xlYW4oZSl9KSh0aGlzLnByb3BzLmRpc2FibGVUYWJOYXZpZ2F0aW9uQ29udGFpbm1lbnQpfHwoMCxnLmNvbnRhaW5UYWJOYXZpZ2F0aW9uKShlKX19LHRoaXMuX3JlcXVlc3RSZXNpemU9KCk9PntudWxsIT09dGhpcy5fY29udHJvbGxlciYmdGhpcy5fY29udHJvbGxlci5yZWNhbGN1bGF0ZUJvdW5kcygpfSx0aGlzLl9jZW50ZXJBbmRGaXQ9KCk9PntudWxsIT09dGhpcy5fY29udHJvbGxlciYmdGhpcy5fY29udHJvbGxlci5jZW50ZXJBbmRGaXQoKX0sdGhpcy5fY2FsY3VsYXRlUG9zaXRpb25XaXRoT2Zmc2V0cz0oZSx0KT0+e2NvbnN0IG49KDAsby5lbnN1cmVEZWZpbmVkKSh0aGlzLnByb3BzLmZ1bGxTY3JlZW5WaWV3T2Zmc2V0cykudmFsdWUoKTtpZih0aGlzLl9lbWJlZFJlc2l6ZXJPdmVycmlkZXNFbmFibGVkKXtjb25zdCBlPXUuRW1iZWRWaWV3cG9ydERpbWVuc2lvbnNQcm92aWRlci5nZXRJbnN0YW5jZSgpLmRhdGEoKTtlJiYobi50b3A9ZS50b3Asbi5ib3R0b209dC5jbGllbnRIZWlnaHQtZS5oZWlnaHQpfXJldHVybnt0b3A6bi50b3AsbGVmdDooMCxjLmlzUnRsKSgpPy1uLnJpZ2h0Om4ubGVmdCx3aWR0aDp0LmNsaWVudFdpZHRoLW4ubGVmdC1uLnJpZ2h0LGhlaWdodDp0LmNsaWVudEhlaWdodC1uLnRvcC1uLmJvdHRvbX19fWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5wcm9wcy5pZ25vcmVDbG9zZVBvcHVwc0FuZERpYWxvZ3x8Yi5zdWJzY3JpYmUoeS5DTE9TRV9QT1BVUFNfQU5EX0RJQUxPR1NfQ09NTUFORCx0aGlzLl9oYW5kbGVDbG9zZSxudWxsKSx0aGlzLl9oYW5kbGVPcGVuKCksdm9pZCAwIT09dGhpcy5wcm9wcy5vbk9wZW4mJih0aGlzLl9vcmllbnRhdGlvbk1lZGlhUXVlcnk9d2luZG93Lm1hdGNoTWVkaWEoIihvcmllbnRhdGlvbjogcG9ydHJhaXQpIiksdGhpcy5fb3JpZW50YXRpb25NZWRpYVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdGhpcy5faGFuZGxlT3BlbikpLHRoaXMucHJvcHMuZnVsbFNjcmVlblZpZXdPZmZzZXRzJiZ0aGlzLnByb3BzLmZ1bGxTY3JlZW4mJnRoaXMucHJvcHMuZnVsbFNjcmVlblZpZXdPZmZzZXRzLnN1YnNjcmliZSh0aGlzLl9yZXF1ZXN0UmVzaXplKTtjb25zdHtiYWNrZHJvcDplLGRyYWdnYWJsZTp0PSFlLGNlbnRlck9uUmVzaXplOm49IXR9PXRoaXMucHJvcHM7biYmd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fY2VudGVyQW5kRml0KX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMucHJvcHMuaWdub3JlQ2xvc2VQb3B1cHNBbmREaWFsb2d8fGIudW5zdWJzY3JpYmUoeS5DTE9TRV9QT1BVUFNfQU5EX0RJQUxPR1NfQ09NTUFORCx0aGlzLl9oYW5kbGVDbG9zZSxudWxsKSxudWxsIT09dGhpcy5fb3JpZW50YXRpb25NZWRpYVF1ZXJ5JiZ0aGlzLl9vcmllbnRhdGlvbk1lZGlhUXVlcnkucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLl9oYW5kbGVPcGVuKSx0aGlzLnByb3BzLmZ1bGxTY3JlZW5WaWV3T2Zmc2V0cyYmdGhpcy5wcm9wcy5mdWxsU2NyZWVuJiZ0aGlzLnByb3BzLmZ1bGxTY3JlZW5WaWV3T2Zmc2V0cy51bnN1YnNjcmliZSh0aGlzLl9yZXF1ZXN0UmVzaXplKSwKd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fY2VudGVyQW5kRml0KX1mb2N1cygpeygwLG8uZW5zdXJlTm90TnVsbCkodGhpcy5fcmVmZXJlbmNlKS5mb2N1cygpfWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fcmVmZXJlbmNlfWNvbnRhaW5zKGUpe3JldHVybiB0aGlzLl9yZWZlcmVuY2U/LmNvbnRhaW5zKGUpPz8hMX1yZW5kZXIoKXtjb25zdHtjbGFzc05hbWU6ZSx3cmFwcGVyQ2xhc3NOYW1lOnQsaGVhZGVyQ2xhc3NOYW1lOm4saXNPcGVuZWQ6byx0aXRsZTpsLHRpdGxlVGV4dFdyYXA6cyx0aXRsZUNsYXNzTmFtZTppLGRhdGFOYW1lOmMsZGF0YVFhSWQ6dSxvbkNsaWNrT3V0c2lkZTpkLG9uQ2xpY2tCYWNrZHJvcDpnLGFkZGl0aW9uYWxFbGVtZW50UG9zOnksYWRkaXRpb25hbEhlYWRlckVsZW1lbnQ6YixiYWNrZHJvcDpDLHNob3VsZEZvcmNlRm9jdXM6dz0hMCxzaG91bGRSZXR1cm5Gb2N1czpOLG9uRm9yY2VGb2N1czpSLHNob3dTZXBhcmF0b3I6QSxzdWJ0aXRsZTpMLGRyYWdnYWJsZTprPSFDLGZ1bGxTY3JlZW46Tz0hMSxzaG93Q2xvc2VJY29uOk09ITAscm91bmRlZDpEPSEwLGlzQW5pbWF0aW9uRW5hYmxlZDpQLGdyb3dQb2ludDpGLGRpYWxvZ1Rvb2x0aXA6Qix1bnNldEhlYWRlckFsaWduOkgsb25EcmFnU3RhcnQ6VSxkYXRhRGlhbG9nTmFtZTpXLGNsb3NlQXJpYUxhYmVsOlYsY29udGFpbmVyQXJpYUxhYmVsOkcscmVmZXJlbmNlOlEsY29udGFpbmVyVGFiSW5kZXg6eixjbG9zZUJ1dHRvblJlZmVyZW5jZTokLG9uQ2xvc2VCdXR0b25LZXlEb3duOnEsc2hhZG93ZWQ6SyxmdWxsU2NyZWVuVmlld09mZnNldHM6WSxvbkNsaWNrOlgscmVuZGVyQ2xvc2VCdXR0b246aix0aXRsZVdyYXBDbGFzc05hbWU6WixhZGRSaWdodFNoYWRvdzpKPSEwfT10aGlzLnByb3BzLGVlPXRoaXMucHJvcHMuZml4ZWRCb2R5Pz8oISFDfHx2b2lkIDApLHRlPSJhZnRlciIhPT15P2I6dm9pZCAwLG5lPSJhZnRlciI9PT15P2I6dm9pZCAwLHJlPSJzdHJpbmciPT10eXBlb2YgbD9sOld8fCIiLG9lPSgwLEUuZmlsdGVyRGF0YVByb3BzKSh0aGlzLnByb3BzKSxsZT0oMCxfLm1lcmdlUmVmcykoW3RoaXMuX2hhbmRsZVJlZmVyZW5jZSxRXSk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChmLk1hdGNoTWVkaWEse3J1bGU6aC5EaWFsb2dCcmVha3BvaW50cy5TbWFsbEhlaWdodH0sKHk9PnIuY3JlYXRlRWxlbWVudChmLk1hdGNoTWVkaWEse3J1bGU6aC5EaWFsb2dCcmVha3BvaW50cy5UYWJsZXRTbWFsbH0sKGg9PnIuY3JlYXRlRWxlbWVudChtLlBvcHVwRGlhbG9nLHtyb3VuZGVkOiEoaHx8TykmJkQsY2xhc3NOYW1lOmEoKShULmRpYWxvZyxPJiZZJiZKJiZULmJvdW5kZWQsZSksaXNPcGVuZWQ6byxyZWZlcmVuY2U6bGUsb25LZXlEb3duOnRoaXMuX2hhbmRsZUtleURvd24sb25DbGlja091dHNpZGU6ZCxvbkNsaWNrQmFja2Ryb3A6Zz8/ZCxmdWxsc2NyZWVuOmh8fE8sZ3VhcmQ6eT9JOngsYm91bmRCeVNjcmVlbjpofHxPLHNob3VsZEZvcmNlRm9jdXM6dyxvbkZvcmNlRm9jdXM6UixzaG91bGRSZXR1cm5Gb2N1czpOLGJhY2tkcm9wOkMsZHJhZ2dhYmxlOmssaXNBbmltYXRpb25FbmFibGVkOlAsZ3Jvd1BvaW50OkYsbmFtZTp0aGlzLnByb3BzLmRhdGFOYW1lLGRpYWxvZ1Rvb2x0aXA6QixvbkRyYWdTdGFydDpVLGNvbnRhaW5lckFyaWFMYWJlbDpHLGNvbnRhaW5lclRhYkluZGV4OnosY2FsY3VsYXRlRGlhbG9nUG9zaXRpb246TyYmWT90aGlzLl9jYWxjdWxhdGVQb3NpdGlvbldpdGhPZmZzZXRzOnZvaWQgMCxzaGFkb3dlZDpLLGZpeGVkQm9keTplZSxvbkNsaWNrOlgsLi4ub2V9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToiZGlhbG9nIiwiYXJpYS1sYWJlbGxlZGJ5Ijp2b2lkIDAhPT1sP3RoaXMuX3RpdGxlSWQ6dm9pZCAwLGNsYXNzTmFtZTphKCkoVC53cmFwcGVyLHQpLCJkYXRhLW5hbWUiOmMsImRhdGEtcWEtaWQiOnUsImRhdGEtZGlhbG9nLW5hbWUiOnJlfSx2b2lkIDAhPT1sJiZyLmNyZWF0ZUVsZW1lbnQodi5EaWFsb2dIZWFkZXIse2RyYWdnYWJsZTprJiYhKGh8fE8pLG9uQ2xvc2U6dGhpcy5faGFuZGxlQ2xvc2VCdG5DbGljayxyZW5kZXJBZnRlcjpuZSxyZW5kZXJCZWZvcmU6dGUsc3VidGl0bGU6TCx0aXRsZTpsLHRpdGxlSWQ6dGhpcy5fdGl0bGVJZCx0aXRsZVRleHRXcmFwOnMsc2hvd0Nsb3NlSWNvbjpNLGNsYXNzTmFtZTpuLHRpdGxlQ2xhc3NOYW1lOmksdW5zZXRBbGlnbjpILGNsb3NlQXJpYUxhYmVsOlYsY2xvc2VCdXR0b25SZWZlcmVuY2U6JCxvbkNsb3NlQnV0dG9uS2V5RG93bjpxLHJlbmRlckNsb3NlQnV0dG9uOmosdGl0bGVXcmFwQ2xhc3NOYW1lOlp9KSxBJiZyLmNyZWF0ZUVsZW1lbnQocC5TZXBhcmF0b3Ise2NsYXNzTmFtZTpULnNlcGFyYXRvcn0pLHIuY3JlYXRlRWxlbWVudChTLlBvcHVwQ29udGV4dC5Db25zdW1lcixudWxsLChlPT50aGlzLl9yZW5kZXJDaGlsZHJlbihlLGh8fE8pKSkpKSkpKSl9fX0sODY0MTQ3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RpYWxvZ0hlYWRlckNvbnRleHQ6KCk9PnJ9KTtjb25zdCByPW4oNzc5NDc0KS5jcmVhdGVDb250ZXh0KHtzZXRIaWRlQ2xvc2U6KCk9Pnt9fSl9LDExMzc1NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtEaWFsb2dIZWFkZXI6KCk9PnV9KTt2YXIgcj1uKDE4NTI3MSksbz1uKDc3OTQ3NCksbD1uKDkxNDQ4NyksYT1uLm4obCkscz1uKDMxMjkzMiksaT1uKDg2NDE0NyksYz1uKDQ3MTg4KTtmdW5jdGlvbiB1KGUpewpjb25zdHt0aXRsZUlkOnQsdGl0bGU6bCx0aXRsZVRleHRXcmFwOnU9ITEsdGl0bGVDbGFzc05hbWU6ZCxzdWJ0aXRsZTptLHNob3dDbG9zZUljb246cD0hMCxvbkNsb3NlOmgsb25DbG9zZUJ1dHRvbktleURvd246ZixyZW5kZXJCZWZvcmU6UyxyZW5kZXJBZnRlcjpnLGRyYWdnYWJsZTp5LGNsYXNzTmFtZTpiLHVuc2V0QWxpZ246dixjbG9zZUFyaWFMYWJlbDpfPXIudChudWxsLHZvaWQgMCxuKDU0OTEwKSksY2xvc2VCdXR0b25SZWZlcmVuY2U6RSxkaXNhYmxlRHJhZ09uQ2xvc2VCdXR0b246QyxyZW5kZXJDbG9zZUJ1dHRvbjpULHRpdGxlV3JhcENsYXNzTmFtZTp4LC4uLkl9PWUsW3csTl09KDAsby51c2VTdGF0ZSkoITEpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaS5EaWFsb2dIZWFkZXJDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp7c2V0SGlkZUNsb3NlOk59fSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLkksY2xhc3NOYW1lOmEoKShjLmNvbnRhaW5lcixiLChtfHx2KSYmYy51bnNldEFsaWduKX0sUyxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2lkOnQsY2xhc3NOYW1lOmEoKShjLnRpdGxlLHgpLCJkYXRhLWRyYWdnLWFyZWEiOnl9LG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEoKSh1P2MudGV4dFdyYXA6Yy5lbGxpcHNpcyxkKX0sbCksbSYmby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKGMuZWxsaXBzaXMsYy5zdWJ0aXRsZSl9LG0pKSxnLHAmJiF3JiYoVD9UKHtjbG9zZUFyaWFMYWJlbDpfLG9uQ2xvc2U6aCxvbkNsb3NlQnV0dG9uS2V5RG93bjpmLGRpc2FibGVEcmFnT25DbG9zZUJ1dHRvbjpDfSk6by5jcmVhdGVFbGVtZW50KHMuQ2xvc2VCdXR0b24seyJkYXRhLWRpc2FibGUtZHJhZyI6QyxjbGFzc05hbWU6Yy5jbG9zZSwiZGF0YS1xYS1pZCI6ImNsb3NlIixhcmlhTGFiZWw6XyxvbkNsaWNrOmgsb25LZXlEb3duOmYscmVmOkUsc2l6ZToibWVkaXVtIixwcmVzZXJ2ZVBhZGRpbmdzOiEwfSkpKSl9fSwzNjY1OTcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RGlhbG9nU2VhcmNoOigpPT5kfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9bigxODUyNzEpLHM9bigyNzMzMTApLGk9big5MjAwMyksYz1uKDc3ODI3NSksdT1uKDUzMDA2MCk7ZnVuY3Rpb24gZChlKXtjb25zdHtjaGlsZHJlbjp0LGlzTW9iaWxlOm8scmVuZGVySW5wdXQ6ZCxvbkNhbmNlbDpwLGNvbnRhaW5lckNsYXNzTmFtZTpoLGlucHV0Q29udGFpbmVyQ2xhc3NOYW1lOmYsaWNvbkNsYXNzTmFtZTpTLGNhbmNlbFRpdGxlOmc9YS50KG51bGwsdm9pZCAwLG4oNzQzNTYzKSksLi4ueX09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKHUuY29udGFpbmVyLG8mJnUubW9iaWxlLGgpfSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkodS5pbnB1dENvbnRhaW5lcixvJiZ1Lm1vYmlsZSxmLHAmJnUud2l0aENhbmNlbCl9LGR8fHIuY3JlYXRlRWxlbWVudChtLHtpc01vYmlsZTpvLC4uLnl9KSksdCxyLmNyZWF0ZUVsZW1lbnQocy5JY29uLHtjbGFzc05hbWU6bCgpKHUuaWNvbixvJiZ1Lm1vYmlsZSxTKSxpY29uOm8/YzppfSkscCYmKCFvfHwiIiE9PXkudmFsdWUpJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkodS5jYW5jZWwsbyYmdS5tb2JpbGUpLG9uQ2xpY2s6cH0sZykpfWZ1bmN0aW9uIG0oZSl7Y29uc3R7Y2xhc3NOYW1lOnQscmVmZXJlbmNlOm4saXNNb2JpbGU6byx2YWx1ZTphLG9uQ2hhbmdlOnMsb25Gb2N1czppLG9uQmx1cjpjLG9uS2V5RG93bjpkLG9uU2VsZWN0Om0scGxhY2Vob2xkZXI6cCxhY3RpdmVEZXNjZW5kYW50OmgsLi4uZn09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJpbnB1dCIsey4uLmYscmVmOm4sdHlwZToidGV4dCIsY2xhc3NOYW1lOmwoKSh0LHUuaW5wdXQsbyYmdS5tb2JpbGUpLGF1dG9Db21wbGV0ZToib2ZmIixyb2xlOiJzZWFyY2hib3giLCJkYXRhLXJvbGUiOiJzZWFyY2giLCJkYXRhLXFhLWlkIjoiZGlhbG9nLXNlYXJjaC1pbnB1dCIscGxhY2Vob2xkZXI6cCx2YWx1ZTphLG9uQ2hhbmdlOnMsb25Gb2N1czppLG9uQmx1cjpjLG9uU2VsZWN0Om0sb25LZXlEb3duOmQsImFyaWEtYWN0aXZlZGVzY2VuZGFudCI6aH0pfX0sMTc3NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtPdmVybGF5U2Nyb2xsV3JhcHBlcjooKT0+dX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxsPW4ubihvKSxhPW4oNTk4MjMpLHM9bigyMTA3NjQpLGk9bigzMDU0NzQpLGM9bigzNDMwNjYpO2Z1bmN0aW9uIHUoZSl7Y29uc3R7Y2hpbGRyZW46dCxjbGFzc05hbWU6bix3cmFwcGVyQ2xhc3NOYW1lOm8scmVmZXJlbmNlOnUsaGFzQ3VzdG9tVG91Y2hTY3JvbGxBbmltYXRpb246ZCxzY3JvbGxDb250YWluZXJSZWY6bSxpc0ZvcmNlVmlzaWJsZTpwLHRhYkluZGV4OmgsLi4uZn09ZSxbUyxnLHksYl09KDAscy51c2VPdmVybGF5U2Nyb2xsKShtLGQpO3JldHVybigwLGkudXNlQ3VzdG9tVG91Y2hTY3JvbGxBbmltYXRpb24pKHtzY3JvbGxDb250YWluZXJSZWY6ZD95OnZvaWQgMH0pLCgwLHIudXNlSW1wZXJhdGl2ZUhhbmRsZSkodSwoKCk9Pih7dXBkYXRlU2Nyb2xsU3RhdGU6Yn0pKSksci5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5mLC4uLmcsY2xhc3NOYW1lOmwoKShjLmNvbnRhaW5lcixuKX0sci5jcmVhdGVFbGVtZW50KGEuT3ZlcmxheVNjcm9sbENvbnRhaW5lcix7Li4uUyx2aXNpYmxlOnA/P1MudmlzaWJsZSxjbGFzc05hbWU6Yy5vdmVybGF5U2Nyb2xsV3JhcH0pLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShjLndyYXBwZXIsbyksdGFiSW5kZXg6aCxyZWY6eSxvblNjcm9sbDpifSx0KSl9fSw3MjA2NzcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2VhcmNoSW5wdXQ6KCk9PnB9KTt2YXIgcj1uKDE4NTI3MSksbz1uKDc3OTQ3NCksbD1uKDkxNDQ4NyksYT1uLm4obCkscz1uKDI3MzMxMCksaT1uKDMxMjI5NSksYz1uKDQ1Mzc4MiksdT1uKDUyNjcxKSxkPW4oNTc2NDkzKSxtPW4oODY5MzIwKTtmdW5jdGlvbiBwKGUpewpjb25zdHtjbGFzc05hbWU6dCxyZWZlcmVuY2U6bCxvblJlc2V0OnAsaW5wdXRDbGFzc05hbWU6aCxlbmRTbG90OmYsaXNNb2JpbGU6UyxzaG93Q2xlYXJBbHdheXM6ZywuLi55fT1lLGI9Z3x8Qm9vbGVhbihsLmN1cnJlbnQ/LnZhbHVlKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKG0uaW5wdXRDb250YWluZXIsdCl9LG8uY3JlYXRlRWxlbWVudChzLkljb24se2NsYXNzTmFtZTptLnNlYXJjaElucHV0SWNvbixpY29uOnV9KSxvLmNyZWF0ZUVsZW1lbnQoImlucHV0Iix7Li4ueSxjbGFzc05hbWU6YSgpKG0uc2VhcmNoLGgpLHJlZjpsLHJvbGU6InNlYXJjaGJveCIsdHlwZToidGV4dCIsYXV0b0NvbXBsZXRlOiJvZmYifSksby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bS5hY3Rpb25zfSxiJiZwJiZvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLG8uY3JlYXRlRWxlbWVudChpLkljb25CdXR0b24se29uQ2xpY2s6cCx0aXRsZTpyLnQobnVsbCx7Y29udGV4dDoiY2xlYXJfc2VhcmNoIn0sbigyMDY5NDgpKSxpY29uOmR9KSksIVMmJmYmJmImJm8uY3JlYXRlRWxlbWVudChjLkRpdmlkZXIse2NsYXNzTmFtZTptLmRpdmlkZXIsc2l6ZToieHNtYWxsIixvcmllbnRhdGlvbjoidmVydGljYWwifSksIVMmJmYpKX19LDU3NzEwOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTeW1ib2xMb2dvOigpPT51fSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pO3ZhciBhPW4oOTg2Mjc1KSxzPW4oNjIwMzU0KSxpPW4oNDQ4NjQ1KSxjPW4oMjQ0ODIwKTtmdW5jdGlvbiB1KGUpe2NvbnN0e3BsYWNlaG9sZGVyOnQsY2xhc3NOYW1lOm4sc2l6ZTpvPSJ4c21hbGwifT1lLHU9ZnVuY3Rpb24oZSl7cmV0dXJuImxvZ28iaW4gZX0oZSk/ZS5sb2dvOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5sb2dvPz9udWxsO2lmKCF0KXtpZigibG9nb2lkImluIGUmJmUubG9nb2lkKXJldHVybntzdHlsZToic2luZ2xlIixsb2dvaWQ6ZS5sb2dvaWR9O2NvbnN0IHQ9ImN1cnJlbmN5LWxvZ29pZCJpbiBlP2VbImN1cnJlbmN5LWxvZ29pZCJdOm51bGwsbj0iYmFzZS1jdXJyZW5jeS1sb2dvaWQiaW4gZT9lWyJiYXNlLWN1cnJlbmN5LWxvZ29pZCJdOm51bGw7aWYodCYmbilyZXR1cm57c3R5bGU6InBhaXIiLGxvZ29pZDpuLGxvZ29pZDI6dH07aWYodHx8bilyZXR1cm57c3R5bGU6InNpbmdsZSIsbG9nb2lkOnQ/P259fXJldHVybiB0fSh7bG9nb2lkOmUubG9nb0lkLCJjdXJyZW5jeS1sb2dvaWQiOmUuY3VycmVuY3lMb2dvSWQsImJhc2UtY3VycmVuY3ktbG9nb2lkIjplLmJhc2VDdXJyZW5jeUxvZ29JZH0pLGQ9KDAsci51c2VNZW1vKSgoKCk9PnU/KDAsYS5yZW1vdmVVc2RGcm9tQ3J5cHRvUGFpckxvZ29zKSgoMCxhLnJlc29sdmVMb2dvVXJsc0Zyb21Mb2dvRGF0YSkodSxzLkxvZ29TaXplLk1lZGl1bSkpOltdKSxbdV0pO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoaS5DYWNoZWRMb2dvLHtrZXk6byxjbGFzc05hbWU6bCgpKGMubG9nbyxuKSx1cmwxOmRbMF0sdXJsMjpkWzFdLHBsYWNlaG9sZGVyTGV0dGVyOnQsc2l6ZTpvfSl9fSwzNzc3ODkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0RmxhZ1NyYzooKT0+c30pO3ZhciByPW4oMTM4NjM4KSxvPW4oODYyMjEzKSxsPW4oNjQ3NjE0KTtjb25zdCBhPW8uTG9nb1NpemUuTWVkaXVtO2Z1bmN0aW9uIHMoe2NvdW50cnk6ZSxwcm92aWRlcklkOnQsc291cmNlSWQ6bixzb3VyY2VMb2dvSWQ6c30pe2NvbnN0IGk9KDAsby5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7cmV0dXJuIG89Pntjb25zdCBjPVt7dmFsdWU6cyxyZXNvbHZlOmU9PmkuZ2V0U3ltYm9sTG9nb1VybChlLGEpfSx7dmFsdWU6bixyZXNvbHZlOmU9PmkuZ2V0U291cmNlTG9nb1VybChlLGEpfSx7dmFsdWU6ZSxyZXNvbHZlOmU9PmkuZ2V0Q291bnRyeUZsYWdVcmwoZS50b1VwcGVyQ2FzZSgpLGEpfSx7dmFsdWU6dCxyZXNvbHZlOmU9PmkuZ2V0UHJvdmlkZXJMb2dvVXJsKGUsYSl9XS5maW5kKCgoe3ZhbHVlOmV9KT0+dm9pZCAwIT09ZSYmZS5sZW5ndGg+MCkpO3JldHVybiB2b2lkIDAhPT1jP2MucmVzb2x2ZSgoMCxyLmVuc3VyZURlZmluZWQpKGMudmFsdWUpKTooMCxsLmdldE1vY2tlZEZsYWcpKG8pfX19LDkyMzIzOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTeW1ib2xTZWFyY2hGbGFnOigpPT5kfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big2NDc2MTQpLHM9bigxMDY5MDApLGk9bigyMDA2NjYpLGM9bigzNzc3ODkpLHU9big0MjE2NTApO2Z1bmN0aW9uIGQoZSl7Y29uc3R7Y291bnRyeTp0LHRvb2x0aXA6bixwcm92aWRlcklkOm8sc291cmNlSWQ6ZCxzb3VyY2VMb2dvSWQ6bSxjbGFzc05hbWU6cH09ZSxoPSgwLHMudXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6aS53YXRjaGVkVGhlbWV9KSxbZixTXT0oMCxyLnVzZVN0YXRlKSgoMCxjLmdldEZsYWdTcmMpKHtjb3VudHJ5OnQscHJvdmlkZXJJZDpvLHNvdXJjZUlkOmQsc291cmNlTG9nb0lkOm19KShoKSk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiaW1nIix7Y2xhc3NOYW1lOmwoKShwLCJhcHBseS1jb21tb24tdG9vbHRpcCIsdS5pY29uKSxjcm9zc09yaWdpbjoiIiwiZGF0YS10b29sdGlwIjpuLHNyYzpmLG9uRXJyb3I6ZnVuY3Rpb24oKXtTKCgwLGEuZ2V0TW9ja2VkRmxhZykoaCkpfX0pfX0sNjAzNjEyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NMT1NFX1BPUFVQU19BTkRfRElBTE9HU19DT01NQU5EOigpPT5yLGJyZWFrcG9pbnRMaXN0OigpPT5sfSk7Y29uc3Qgcj0iQ0xPU0VfUE9QVVBTX0FORF9ESUFMT0dTX0NPTU1BTkQiO3ZhciBvOyFmdW5jdGlvbihlKXtlW2UuTW9iaWxlPTBdPSJNb2JpbGUiLGVbZS5UYWJsZXRTbWFsbD00ODBdPSJUYWJsZXRTbWFsbCIsZVtlLlRhYmxldD03NjhdPSJUYWJsZXQiLGVbZS5UYWJsZXRMYXJnZT0xMDI0XT0iVGFibGV0TGFyZ2UiLGVbZS5EZXNrdG9wU21hbGw9MTI4MF09IkRlc2t0b3BTbWFsbCIsZVtlLkRlc2t0b3A9MTQ0MF09IkRlc2t0b3AiLAplW2UuRGVza3RvcExhcmdlPTE5MjBdPSJEZXNrdG9wTGFyZ2UifShvfHwobz17fSkpO2NvbnN0IGw9Nzk3OTU9PW4uaj9bMTkyMCwxNDQwLDEyODAsMTAyNCw3NjgsNDgwLDBdOm51bGx9LDkyNjE1MyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjcmVhdGVJdGVtSWQ6KCk9PnMsdXNlU291cmNlc0tleWJvYXJkTmF2aWdhdGlvbjooKT0+YX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oMjM1NzI0KSxsPW4oOTgzNjE2KTtmdW5jdGlvbiBhKGUsdCxuKXtjb25zdFthLGldPSgwLHIudXNlU3RhdGUpKG51bGwpLFtjLHVdPSgwLHIudXNlU3RhdGUpKCIiKTtmdW5jdGlvbiBkKHQpe2NvbnN0IG49ZVt0Lmdyb3VwSW5kZXhdLnNvdXJjZXNbdC5jb2xdLmxlbmd0aC0xO2lmKHQucm93PT09bil7Y29uc3QgZT1oKHQuZ3JvdXBJbmRleCsxKTtpZihudWxsPT09ZSlyZXR1cm47cmV0dXJuIHQuY29sPjAmJiFwKHsuLi50LGdyb3VwSW5kZXg6ZSxyb3c6MH0pP3ZvaWQgaSh7Z3JvdXBJbmRleDplLGNvbDowLHJvdzowfSk6dm9pZCBpKHsuLi50LGdyb3VwSW5kZXg6ZSxyb3c6MH0pfWkoey4uLnQscm93OnQucm93KzF9KX1mdW5jdGlvbiBtKHQpe2lmKDA9PT10LnJvdyl7Y29uc3Qgbj1oKHQuZ3JvdXBJbmRleC0xLC0xKTtpZihudWxsPT09bilyZXR1cm47Y29uc3Qgcj1lW25dLnNvdXJjZXNbdC5jb2xdPy5sZW5ndGg/PzA7cmV0dXJuIDA9PT1yP3ZvaWQgaSh7Z3JvdXBJbmRleDpuLGNvbDowLHJvdzowfSk6dm9pZCBpKHsuLi50LGdyb3VwSW5kZXg6bixyb3c6ci0xfSl9aSh7Li4udCxyb3c6dC5yb3ctMX0pfWZ1bmN0aW9uIHAodCl7cmV0dXJuIEJvb2xlYW4oZVt0Lmdyb3VwSW5kZXhdPy5zb3VyY2VzW3QuY29sXT8uW3Qucm93XSl9ZnVuY3Rpb24gaCh0PTAsbj0xKXtjb25zdCByPWUubGVuZ3RoO2xldCBvPSh0K3IpJXI7Zm9yKDshcCh7Z3JvdXBJbmRleDpvLGNvbDowLHJvdzowfSk7KWlmKG89KG8rbityKSVyLG89PT10KXJldHVybiBudWxsO3JldHVybiBvfXJldHVybigwLHIudXNlRWZmZWN0KSgoKCk9PntpZighbi5jdXJyZW50KXJldHVybjtpZighYSlyZXR1cm4gdm9pZCB1KCIiKTtjb25zdCBlPXMoYS5ncm91cEluZGV4LGEuY29sLGEucm93KSx0PW4uY3VycmVudC5xdWVyeVNlbGVjdG9yKGAjJHtlfWApO3Q/LnNjcm9sbEludG9WaWV3KHtibG9jazoibmVhcmVzdCJ9KSx1KGUpfSksW2FdKSwoMCxyLnVzZUVmZmVjdCkoKCgpPT57aShudWxsKX0pLFt0XSkse2ZvY3VzZWRJdGVtOmEsYWN0aXZlRGVzY2VuZGFudDpjLGhhbmRsZUtleURvd246ZnVuY3Rpb24ocil7aWYoIW4uY3VycmVudClyZXR1cm47Y29uc3QgYz0oMCxvLmhhc2hGcm9tRXZlbnQpKHIpO2lmKDMyPT09Y3x8MTM9PT1jKXtpZighYSlyZXR1cm47ci5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGU9bi5jdXJyZW50LnF1ZXJ5U2VsZWN0b3IoYCMke3MoYS5ncm91cEluZGV4LGEuY29sLGEucm93KX1gKTtyZXR1cm4gdm9pZChlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJmUuY2xpY2soKSl9c3dpdGNoKCgwLGwubWFwS2V5Q29kZVRvRGlyZWN0aW9uKShjKSl7Y2FzZSJibG9ja05leHQiOmlmKHIucHJldmVudERlZmF1bHQoKSwhYSl7Y29uc3QgZT1oKCk7aWYobnVsbD09PWUpYnJlYWs7aSh7Z3JvdXBJbmRleDplLGNvbDowLHJvdzowfSk7YnJlYWt9ZChhKTticmVhaztjYXNlImJsb2NrUHJldiI6aWYoci5wcmV2ZW50RGVmYXVsdCgpLCFhKWJyZWFrO20oYSk7YnJlYWs7Y2FzZSJpbmxpbmVOZXh0Ijp7aWYoIWF8fHQpYnJlYWs7ci5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IG49ZVthLmdyb3VwSW5kZXhdLnNvdXJjZXMubGVuZ3RoO2lmKGEuY29sPT09bi0xfHwhcCh7Li4uYSxjb2w6YS5jb2wrMX0pKXtkKHsuLi5hLGNvbDowfSk7YnJlYWt9aSh7Li4uYSxjb2w6YS5jb2wrMX0pO2JyZWFrfWNhc2UiaW5saW5lUHJldiI6e2lmKCFhfHx0KWJyZWFrO3IucHJldmVudERlZmF1bHQoKTtjb25zdCBuPWVbYS5ncm91cEluZGV4XS5zb3VyY2VzLmxlbmd0aDtpZigwPT09YS5jb2wpe2lmKDAhPT1hLnJvdyl7bSh7Li4uYSxjb2w6bi0xfSk7YnJlYWt9Y29uc3QgdD1oKGEuZ3JvdXBJbmRleC0xLC0xKTtpZihudWxsPT09dClicmVhaztjb25zdCByPWVbdF0uc291cmNlcy5sZW5ndGgsbz1lW3RdLnNvdXJjZXNbMF0ubGVuZ3RoO2lmKCFwKHtncm91cEluZGV4OnQsY29sOnItMSxyb3c6by0xfSkpe20oYSk7YnJlYWt9aSh7Z3JvdXBJbmRleDp0LGNvbDpyLTEscm93Om8tMX0pO2JyZWFrfWkoey4uLmEsY29sOmEuY29sLTF9KTticmVha319fSxyZXNldEZvY3VzZWRJdGVtOigpPT5pKG51bGwpfX1mdW5jdGlvbiBzKGUsdCxuKXtyZXR1cm5gc291cmNlLWl0ZW0tJHtlfS0ke3R9LSR7bn1gfX0sNzI2ODI2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0hpbnRSZWZlcmVuY2VhYmxlOigpPT51fSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big5NjQ1OTQpLHM9big0Nzk5MjApLGk9big1MDI3MTEpLGM9big1MjA5NzcpO2NvbnN0IHU9ci5mb3J3YXJkUmVmKCgoZSx0KT0+ewpjb25zdHt0aGVtZTpvLHBsYWNlSG9sZGVyQ2xhc3NOYW1lOnMsc21hbGxQbGFjZUhvbGRlckNsYXNzTmFtZTp1LHNldHRpbmdzSGludEtleTptLHBsYWNlbWVudDpwLG9uQ2xpY2s6aCxyZWZlcmVuY2U6ZixidXR0b25UZXh0OlMsY2xvc2VCdXR0b246ZyxoaWRlQnV0dG9uOnksb25DbG9zZTpiLHRleHQ6dix0aXRsZTpfLG9uQWRkaXRpb25hbENsaWNrOkUsYWRkaXRpb25hbEJ1dHRvblRleHQ6QyxhZGRpdGlvbmFsQnV0dG9uQ2xhc3NOYW1lOlQsZXNjYXBlV2l0aFJlZmVyZW5jZTp4LG92ZXJmbG93UGFkZGluZzpJLGJvdW5kYXJpZXNFbGVtZW50OncsaGludFN0YXRlSGFuZGxlcjpOPWkuZGVmYXVsdEhpbnRTdGF0ZUhhbmRsZXIsY29udGFpbmVyQ2xhc3NOYW1lOlIsaGlkZVdpdGhSZWZlcmVuY2U6QT0hMSxlbmFibGVGbGlwOkw9ITAsZm9yY2VTaG93T25Jbml0Omssb25PcGVuZWRTdGF0ZUNoYW5nZWQ6Tyxmb3JjZUhpZGU6TSxwbGFjZUhvbGRlclN0eWxlOkQsYnV0dG9uU2l6ZTpQLHNhdmVIaW50U3RhdGVCeUNsaWNrOkY9ITAsc2F2ZUhpbnRTdGF0ZUJ5QWRkaXRpb25hbENsaWNrOkI9ITAsb25CdXR0b25Gb2N1czpILGJ1dHRvbkRhdGFOYW1lOlUsaXNBcnJvd0hpZGRlbjpXPSExfT1lLFY9KDAsci51c2VSZWYpKG51bGwpLFtHLFFdPSgwLHIudXNlU3RhdGUpKG51bGwpLFt6LCRdPSgwLHIudXNlU3RhdGUpKCgoKT0+Ti5nZXRIaW50U3RhdGUobSxrKSkpLFtxLEtdPSgwLHIudXNlU3RhdGUpKCExKSxbWSxYXT0oMCxyLnVzZVN0YXRlKShCb29sZWFuKE0pKSxqPSgwLHIudXNlUmVmKShudWxsKSxaPSgwLHIudXNlUmVmKShudWxsKSxKPSgwLHIudXNlUmVmKShudWxsKSxlZT0oMCxyLnVzZVJlZikobnVsbCksdGU9KDAsci51c2VNZW1vKSgoKCk9Pih7Y2xvc2UoZT0hMSl7JCghMSksZSYmTi5zZXRIaW50U3RhdGUobSl9LGdldFBvcHBlclJlZjooKT0+aixnZXRQbGFjZWhvbGRlclJlZjooKT0+SixnZXRCdXR0b25SZWY6KCk9PmVlLHVwZGF0ZTooKT0+Wi5jdXJyZW50Py51cGRhdGUoKX0pKSxbTl0pO2lmKCgwLHIudXNlSW1wZXJhdGl2ZUhhbmRsZSkodCwoKCk9PnRlKSxbdGVdKSwoMCxyLnVzZUVmZmVjdCkoKCgpPT4oeiYmKFYuY3VycmVudD1uLmUoNjI5NDMpLnRoZW4obi5iaW5kKG4sNjg0NzQwKSksVi5jdXJyZW50LnRoZW4oKGU9PntWLmN1cnJlbnQmJlEoZSl9KSkpLCgpPT57Vi5jdXJyZW50PW51bGx9KSksW10pLCgwLHIudXNlRWZmZWN0KSgoKCk9PntudWxsIT09ai5jdXJyZW50JiYoai5jdXJyZW50LnN0eWxlLnBvaW50ZXJFdmVudHM9WT8ibm9uZSI6IiIpfSksW1ldKSwoMCxyLnVzZUVmZmVjdCkoKCgpPT5YKEJvb2xlYW4oTSkpKSxbTV0pLCgwLHIudXNlRWZmZWN0KSgoKCk9Pk8/LihCb29sZWFuKHopKSksW3pdKSx6JiZHKXtjb25zdHtNYW5hZ2VyOmUsUmVmZXJlbmNlOnQsUG9wcGVyOm59PUc7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChlLG51bGwsci5jcmVhdGVFbGVtZW50KHQsbnVsbCwoZT0+ci5jcmVhdGVFbGVtZW50KCJkaXYiLHtzdHlsZTpELHJlZjooMCxhLm1lcmdlUmVmcykoW2UucmVmLEpdKSxjbGFzc05hbWU6bCgpKGMucGxhY2VIb2xkZXIscyxxJiZ1KX0pKSksci5jcmVhdGVFbGVtZW50KG4se2lubmVyUmVmOmoscGxhY2VtZW50OnAsc3RyYXRlZ3k6ImZpeGVkIixtb2RpZmllcnM6W3tuYW1lOiJvZmZzZXQiLG9wdGlvbnM6e29mZnNldDpbMCw1XX19LHtuYW1lOiJwcmV2ZW50T3ZlcmZsb3ciLG9wdGlvbnM6e3Jvb3RCb3VuZGFyeTp3fHwidmlld3BvcnQiLGFsdEJvdW5kYXJ5Onh8fCExLHBhZGRpbmc6SX19LHtuYW1lOiJmbGlwIixlbmFibGVkOkwsb3B0aW9uczp7ZmFsbGJhY2tQbGFjZW1lbnRzOlsibGVmdCIsImJvdHRvbSJdfX0se25hbWU6ImhpZGVXaXRoUmVmZXJlbmNlIixlbmFibGVkOkEscGhhc2U6Im1haW4iLGZuOmU9Pntjb25zdHtzdGF0ZTp0fT1lLG49Qm9vbGVhbih0Lm1vZGlmaWVyc0RhdGEuaGlkZT8uaXNSZWZlcmVuY2VIaWRkZW4pO1khPT1uJiZYKG4pfX1dfSwoZT0+KFouY3VycmVudD1lLHIuY3JlYXRlRWxlbWVudChkLHtzZXRTbWFsbFNpemU6Syx0ZXh0OnYsYnV0dG9uVGV4dDpTLHJlZmVyZW5jZTpmLHBvcHBlckNoaWxkcmVuUHJvcHM6ZSx0aXRsZTpfLHRoZW1lOm8sYXJyb3dDbGFzc05hbWU6bCgpKChXfHxZKSYmYy5oaWRkZW4pLGNvbnRhaW5lckNsYXNzTmFtZTpsKCkoUixZJiZjLmhpZGRlbiksb25DbGljazp5P3ZvaWQgMDpuZSxidXR0b25TaXplOlAsb25BZGRpdGlvbmFsQ2xpY2s6cmUsYWRkaXRpb25hbEJ1dHRvblRleHQ6QyxhZGRpdGlvbmFsQnV0dG9uQ2xhc3NOYW1lOlQsYnV0dG9uUmVmZXJlbmNlOmVlLG9uQnV0dG9uRm9jdXM6SCxidXR0b25EYXRhTmFtZTpVLG9uQ2xvc2U6eT9uZTpnP29lOnZvaWQgMH0pKSkpKX1yZXR1cm4gbnVsbDtmdW5jdGlvbiBuZSgpe3RlLmNsb3NlKEYpLGgmJmgoKX1mdW5jdGlvbiByZSgpe3RlLmNsb3NlKEIpLEUmJkUoKX1mdW5jdGlvbiBvZSgpe2NvbnN0e3NhdmVIaW50U3RhdGVCeU9uQ2xvc2U6dD0hMX09ZTt0ZS5jbG9zZSh0KSxiJiZiKCl9fSkpO2Z1bmN0aW9uIGQoZSl7Y29uc3R7c2V0U21hbGxTaXplOnQscG9wcGVyQ2hpbGRyZW5Qcm9wczpuLC4uLm99PWU7cmV0dXJuKDAsci51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e3Qobi5wbGFjZW1lbnQmJm4ucGxhY2VtZW50LnN0YXJ0c1dpdGgoImJvdHRvbSIpKX0pLFt0LG5dKSxyLmNyZWF0ZUVsZW1lbnQocy5IaW50V2l6YXJkLHsuLi5vLHBvcHBlckNoaWxkcmVuUHJvcHM6bn0pfX0sNTAyNzExKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHRIaW50U3RhdGVIYW5kbGVyOigpPT5vfSk7dmFyIHI9big5MzA1NjYpO2NvbnN0IG89e2dldEhpbnRTdGF0ZTooZSx0KT0+e2lmKCFlfHx0KXJldHVybiEwO2NvbnN0IG49ci5nZXRCb29sKGUpO3JldHVybiB3aW5kb3cuaXNfYXV0aGVudGljYXRlZCYmKG58fHZvaWQgMD09PW4pfSxzZXRIaW50U3RhdGU6ZT0+e2UmJnIuc2V0VmFsdWUoZSwhMSx7Zm9yY2VGbHVzaDohMH0pfX19LDQ3OTkyMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtERUZBVUxUX0hJTlRfVEhFTUU6KCk9PnUsCkhpbnRXaXphcmQ6KCk9PmR9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDE4NTI3MSksbD1uKDkxNDQ4NyksYT1uLm4obCkscz1uKDY5MjI2NiksaT1uKDg1NDgyMCksYz1uKDQzNTEwMSk7Y29uc3QgdT03OTc5NT09bi5qP2M6bnVsbDtmdW5jdGlvbiBkKGUpe2NvbnN0e3BvcHBlckNoaWxkcmVuUHJvcHM6dCxvbkNsaWNrOmwscmVmZXJlbmNlOnUsdGV4dDpkLGJ1dHRvblRleHQ6bSxhZGRpdGlvbmFsQnV0dG9uVGV4dDpwLG9uQWRkaXRpb25hbENsaWNrOmgsdGl0bGU6Zix0aGVtZTpTPWMsY29udGFpbmVyQ2xhc3NOYW1lOmcsYXJyb3dDbGFzc05hbWU6eSxhZGRpdGlvbmFsQnV0dG9uQ2xhc3NOYW1lOmIsb25DbG9zZTp2LGJ1dHRvblNpemU6Xz0ieHNtYWxsIixidXR0b25SZWZlcmVuY2U6RSxvbkJ1dHRvbkZvY3VzOkMsYnV0dG9uRGF0YU5hbWU6VH09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KHMuVG9vbHRpcFdpemFyZCx7cmVmZXJlbmNlOnUscG9wcGVyQ2hpbGRyZW5Qcm9wczp0LGNvbnRhaW5lckNsYXNzTmFtZTpnLGFycm93Q2xhc3NOYW1lOnksb25DbG9zZTp2LHJvbGU6ImhpbnQifSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpTLndyYXBwZXJ9LGYmJnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOlMudGl0bGV9LGYpLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOlMudGV4dH0sZCksci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Uy5idXR0b25zfSxoJiZwJiZyLmNyZWF0ZUVsZW1lbnQoaS5MaWdodEJ1dHRvbix7dmFyaWFudDoiZ2hvc3QiLGNvbG9yOiJncmF5IixjbGFzc05hbWU6YSgpKFMuYWRkaXRpb25hbEJ1dHRvbixiKSxzaXplOl8sb25DbGljazpofSxwKSxsJiZyLmNyZWF0ZUVsZW1lbnQoaS5MaWdodEJ1dHRvbix7ZGF0YVFhSWQ6VCxvbkZvY3VzOkMscmVmZXJlbmNlOkUsdmFyaWFudDoicHJpbWFyeSIsY29sb3I6ImdyYXkiLGNsYXNzTmFtZTpTLmJ1dHRvbixzaXplOl8sb25DbGljazpsfSxtfHxvLnQobnVsbCx2b2lkIDAsbig0MDIzMjQpKSkpKSl9fSwzMDU0NzQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ3VzdG9tVG91Y2hTY3JvbGxBbmltYXRpb246KCk9Pml9KTt2YXIgcixvLGw9big3Nzk0NzQpLGE9bigxMzg2MzgpLHM9big5MjU5ODUpO2Z1bmN0aW9uIGkoZSl7Y29uc3R7c2Nyb2xsQ29udGFpbmVyUmVmOnR9PWU7Yyh7c2Nyb2xsQ29udGFpbmVyUmVmOnQsZGlyZWN0aW9uOjB9KSxjKHtzY3JvbGxDb250YWluZXJSZWY6dCxkaXJlY3Rpb246MX0pfWZ1bmN0aW9uIGMoZSl7Y29uc3R7c2Nyb2xsQ29udGFpbmVyUmVmOnQsZGlyZWN0aW9uOm59PWUscj0oMCxsLnVzZVJlZikobnVsbCksbz0oMCxsLnVzZVJlZikobnVsbCkscz0oMCxsLnVzZVJlZikodSgpKSxpPSgwLGwudXNlUmVmKSghMSksYz0oMCxsLnVzZVJlZikoe3g6MCx5OjB9KTtmdW5jdGlvbiBkKGUpe3JldHVybiAwPT09bj9lLnRvdWNoZXNbMF0uY2xpZW50WTplLnRvdWNoZXNbMF0uY2xpZW50WH1mdW5jdGlvbiBtKGUpe3JldHVybiAwPT09bj9lLnNjcm9sbFRvcDplLnNjcm9sbExlZnR9ZnVuY3Rpb24gcChlLHQpezA9PT1uP2Uuc2Nyb2xsVG9wPXQ6ZS5zY3JvbGxMZWZ0PXR9ZnVuY3Rpb24gaChlKXtyZXR1cm4gMD09PW4/ZS5zY3JvbGxIZWlnaHQtZS5jbGllbnRIZWlnaHQ6ZS5zY3JvbGxXaWR0aC1lLmNsaWVudFdpZHRofWZ1bmN0aW9uIGYoZSl7Y29uc3Qgbj0oMCxhLmVuc3VyZU5vdE51bGwpKCgwLGEuZW5zdXJlRGVmaW5lZCkodCkuY3VycmVudCk7aS5jdXJyZW50PTA9PT1oKG4pLGkuY3VycmVudHx8KHIuY3VycmVudD1kKGUpLGMuY3VycmVudD17eDplLnRvdWNoZXNbMF0uY2xpZW50WCx5OmUudG91Y2hlc1swXS5jbGllbnRZfSxzLmN1cnJlbnQ9dSgpKX1mdW5jdGlvbiBTKGUpe2lmKGkuY3VycmVudClyZXR1cm47aWYoZnVuY3Rpb24oZSl7Y29uc3QgdD1NYXRoLmF0YW4yKGUudG91Y2hlc1swXS5jbGllbnRZLWMuY3VycmVudC55LGUudG91Y2hlc1swXS5jbGllbnRYLWMuY3VycmVudC54KSxuPU1hdGguYWJzKHQpO3JldHVybiBuPk1hdGguUEkvNCYmbjwzKk1hdGguUEkvND8wOjF9KGUpIT09bilyZXR1cm4gdm9pZChpLmN1cnJlbnQ9ITApO2UucHJldmVudERlZmF1bHQoKTtjb25zdCBvPSgwLGEuZW5zdXJlTm90TnVsbCkoKDAsYS5lbnN1cmVEZWZpbmVkKSh0KS5jdXJyZW50KSxsPWQoZSksdT1sLSgwLGEuZW5zdXJlTm90TnVsbCkoci5jdXJyZW50KTtwKG8sbShvKS11KSxyLmN1cnJlbnQ9bDtjb25zdCBoPXBlcmZvcm1hbmNlLm5vdygpOygwLGEuZW5zdXJlTm90TnVsbCkocy5jdXJyZW50KS5hZGRQb3NpdGlvbihtKG8pLGgpfWZ1bmN0aW9uIGcoKXtpZihpLmN1cnJlbnQpcmV0dXJuO2NvbnN0IGU9cGVyZm9ybWFuY2Uubm93KCksbj0oMCxhLmVuc3VyZU5vdE51bGwpKCgwLGEuZW5zdXJlRGVmaW5lZCkodCkuY3VycmVudCk7cy5jdXJyZW50LnN0YXJ0KG0obiksZSkscy5jdXJyZW50LmZpbmlzaGVkKGUpfHwoby5jdXJyZW50PXJlcXVlc3RBbmltYXRpb25GcmFtZSh5KSksci5jdXJyZW50PW51bGx9ZnVuY3Rpb24geShlKXtpZihzLmN1cnJlbnQuZmluaXNoZWQoZSkpcmV0dXJuIHZvaWQgYigpO2NvbnN0IG49KDAsYS5lbnN1cmVOb3ROdWxsKSgoMCxhLmVuc3VyZURlZmluZWQpKHQpLmN1cnJlbnQpLHI9cy5jdXJyZW50LmdldFBvc2l0aW9uKGUpO3AobixyKSxyPD0wfHxoKG4pPD1yP2IoKTpvLmN1cnJlbnQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHkpfWZ1bmN0aW9uIGIoKXtvLmN1cnJlbnQmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKG8uY3VycmVudCl9KDAsbC51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9dD8uY3VycmVudDtyZXR1cm4gZT8uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZiksZT8uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixTKSxlPy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsZyksZT8uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hjYW5jZWwiLGcpLCgpPT57ZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZiksZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixTKSwKZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLGcpLGU/LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoY2FuY2VsIixnKX19KSxbdCxuXSksKDAsbC51c2VFZmZlY3QpKCgoKT0+KCk9PmIoKSksW10pfWZ1bmN0aW9uIHUoKXtyZXR1cm4gbmV3IHMuS2luZXRpY0FuaW1hdGlvbiguMiw3LC45OTcsMTUpfSFmdW5jdGlvbihlKXtlW2UuVmVydGljYWw9MF09IlZlcnRpY2FsIixlW2UuSG9yaXpvbnRhbD0xXT0iSG9yaXpvbnRhbCJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZVtlLk1pblNjcm9sbFNwZWVkPS4yXT0iTWluU2Nyb2xsU3BlZWQiLGVbZS5NYXhTY3JvbGxTcGVlZD03XT0iTWF4U2Nyb2xsU3BlZWQiLGVbZS5EdW1waW5nQ29lZmY9Ljk5N109IkR1bXBpbmdDb2VmZiIsZVtlLlNjcm9sbE1pbk1vdmU9MTVdPSJTY3JvbGxNaW5Nb3ZlIn0ob3x8KG89e30pKX0sMTM4OTk0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0ljb25RdWVzdGlvbkluZm9ybWF0aW9uOigpPT5wLEljb25RdWVzdGlvbkluZm9ybWF0aW9uQnV0dG9uOigpPT5mLEljb25RdWVzdGlvbkluZm9ybWF0aW9uTGluazooKT0+aH0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxsPW4ubihvKSxhPW4oMTE5NzUwKSxzPW4oODY1MDkyKSxpPW4oMzQ0Nzg1KSxjPW4oMTk4MjA5KSx1PW4ubihjKTtmdW5jdGlvbiBkKCl7ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixkKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixkKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsZCksKDAsaS5oaWRlKSgpfWNvbnN0IG09ZT0+eygwLGkuc2hvd09uRWxlbWVudCkoZS5jdXJyZW50VGFyZ2V0LHt0b29sdGlwRGVsYXk6MH0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsZCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdXQiLGQpfSxwPSgwLHIuZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOm4sb25DbGljazpvPW0sZG9Ob3RTaG93VG9vbHRpcE9uVG91Y2g6YyxzaXplOmQsLi4ucH09ZSx7dG9vbHRpcDpoLGNsYXNzTmFtZTpmLC4uLlN9PSgwLHMudXNlVG9vbHRpcCkoe3Rvb2x0aXA6ZS50b29sdGlwLGRvTm90U2hvd1Rvb2x0aXBPblRvdWNoOiExLHNob3dUb29sdGlwOmkuc2hvd09uRWxlbWVudCxoaWRlVG9vbHRpcDppLmhpZGUsb25DbGljazpvfSx0KTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KGEuSWNvblF1ZXN0aW9uSW5mb3JtYXRpb24se2NsYXNzTmFtZTpsKCkobix1KClbImljb24td3JhcHBlciJdLGgmJnUoKVsid2l0aC10b29sdGlwIl0sZiksdG9vbHRpcDpoLHNpemU6ZCwuLi5wLC4uLlN9KX0pKSxoPSgwLHIuZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOm4saHJlZjpvLHJlbDphLHRhcmdldDpzLC4uLml9PWUsYz0oMCxyLnVzZU1lbW8pKCgoKT0+KDAsci5mb3J3YXJkUmVmKSgoKGUsdCk9PnIuY3JlYXRlRWxlbWVudCgiYSIse2hyZWY6byxyZWw6YSx0YXJnZXQ6cyxyZWY6dCwuLi5lfSkpKSksW28sYSxzXSk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChwLHsuLi5pLGNsYXNzTmFtZTpsKCkobix1KClbIndpdGgtbGluayJdKSxyZW5kZXJDb21wb25lbnQ6YyxyZWY6dCxkb05vdFNob3dUb29sdGlwT25Ub3VjaDohMH0pfSkpLGY9KDAsci5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtjbGFzc05hbWU6bix3aXRoQWN0aXZlU3RhdGU6bywuLi5hfT1lLHM9KDAsci51c2VNZW1vKSgoKCk9PigwLHIuZm9yd2FyZFJlZikoKChlLHQpPT5yLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIsey4uLmUscmVmOnQsdHlwZToiYnV0dG9uIn0pKSkpLFtdKTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KHAsey4uLmEsY2xhc3NOYW1lOmwoKShuLCFvJiZ1KClbIm5vLWFjdGl2ZS1zdGF0ZSJdKSxyZW5kZXJDb21wb25lbnQ6cyxyZWY6dH0pfSkpfSwyMzExMzMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2VwYXJhdG9yOigpPT5zfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGw9bi5uKG8pLGE9big4MDYwNzgpO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShhLnNlcGFyYXRvcixlLmNsYXNzTmFtZSl9KX19LDM2NDM1MChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm4gZT09PXR9bi5kKHQse2NyZWF0ZVNlbGVjdG9yOigpPT5vfSk7dmFyIG89ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsbj1BcnJheSh0PjE/dC0xOjApLHI9MTtyPHQ7cisrKW5bci0xXT1hcmd1bWVudHNbcl07cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgscj1BcnJheSh0KSxvPTA7bzx0O28rKylyW29dPWFyZ3VtZW50c1tvXTt2YXIgbD0wLGE9ci5wb3AoKSxzPWZ1bmN0aW9uKGUpe3ZhciB0PUFycmF5LmlzQXJyYXkoZVswXSk/ZVswXTplO2lmKCF0LmV2ZXJ5KChmdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZX0pKSl7dmFyIG49dC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX0pKS5qb2luKCIsICIpO3Rocm93IG5ldyBFcnJvcigiU2VsZWN0b3IgY3JlYXRvcnMgZXhwZWN0IGFsbCBpbnB1dC1zZWxlY3RvcnMgdG8gYmUgZnVuY3Rpb25zLCBpbnN0ZWFkIHJlY2VpdmVkIHRoZSBmb2xsb3dpbmcgdHlwZXM6IFsiK24rIl0iKX1yZXR1cm4gdH0ociksaT1lLmFwcGx5KHZvaWQgMCxbZnVuY3Rpb24oKXtyZXR1cm4gbCsrLGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfV0uY29uY2F0KG4pKSxjPWUoKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLHQ9cy5sZW5ndGgsbj0wO248dDtuKyspZS5wdXNoKHNbbl0uYXBwbHkobnVsbCxhcmd1bWVudHMpKTtyZXR1cm4gaS5hcHBseShudWxsLGUpfSkpO3JldHVybiBjLnJlc3VsdEZ1bmM9YSxjLmRlcGVuZGVuY2llcz1zLGMucmVjb21wdXRhdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gbH0sCmMucmVzZXRSZWNvbXB1dGF0aW9ucz1mdW5jdGlvbigpe3JldHVybiBsPTB9LGN9fSgoZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnIsbj1udWxsLG89bnVsbDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe2lmKG51bGw9PT10fHxudWxsPT09bnx8dC5sZW5ndGghPT1uLmxlbmd0aClyZXR1cm4hMTtmb3IodmFyIHI9dC5sZW5ndGgsbz0wO288cjtvKyspaWYoIWUodFtvXSxuW29dKSlyZXR1cm4hMTtyZXR1cm4hMH0odCxuLGFyZ3VtZW50cyl8fChvPWUuYXBwbHkobnVsbCxhcmd1bWVudHMpKSxuPWFyZ3VtZW50cyxvfX0pKX0sNzY5OShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7aWYoIWUpcmV0dXJuIiI7aWYoWyJOWVNFIEFSQ0EgJiBNS1QiLCJBTUVYIl0uaW5jbHVkZXMoZSkpcmV0dXJuIk5ZU0UgQXJjYSI7aWYoWyJDYm9lIEJaWCJdLmluY2x1ZGVzKGUpKXJldHVybiJDYm9lIE9uZSI7aWYoWyJGVFNFU1QiXS5pbmNsdWRlcyhlKSlyZXR1cm4iRlRTRSBTVCI7Y29uc3QgdD0vXihDTUV8Q09NRVh8Q0JPVHxOWU1FWClfTUlOSSQvLmV4ZWMoZSk7cmV0dXJuIG51bGwhPT10P3RbMV06ZX1uLmQodCx7cmVkZWZpbmVFeGNoYW5nZU5hbWU6KCk9PnJ9KX0sNDc1MTY0KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHIsbztuLnIodCksbi5kKHQse0ZpbHRlclF1ZXJ5UGFyYW06KCk9PnIsU2VhcmNoSW5pdGlhdGlvblBvaW50OigpPT5vLGdldEVtcHR5U2VhcmNoOigpPT5TLGlzRXhwYW5kYWJsZVJlc3VsdDooKT0+Zixpc1N5bWJvbFNlYXJjaFJlc3VsdDooKT0+aCxzZWFyY2hTeW1ib2xzOigpPT5nLHNlYXJjaFN5bWJvbHNQYWdpbmF0ZWQ6KCk9Pnl9KSxmdW5jdGlvbihlKXtlLlNvdXJjZUlkPSJzb3VyY2VfaWQiLGUuRWNvbm9taWNDYXRlZ29yeT0iZWNvbm9taWNfY2F0ZWdvcnkiLGUuU2VhcmNoVHlwZT0ic2VhcmNoX3R5cGUiLGUuU2VjdG9yPSJzZWN0b3IiLGUuUHJvZHVjdD0icHJvZHVjdCIsZS5DZW50cmFsaXphdGlvbj0iY2VudHJhbGl6YXRpb24iLGUuT25seUhhc09wdGlvbnM9Im9ubHlfaGFzX29wdGlvbnMifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuU3ltYm9sU2VhcmNoPSJzeW1ib2xTZWFyY2giLGUuV2F0Y2hsaXN0PSJ3YXRjaGxpc3QiLGUuQ29tcGFyZT0iY29tcGFyZSIsZS5JbmRpY2F0b3JJbnB1dHM9ImluZGljYXRvcklucHV0cyJ9KG98fChvPXt9KSk7dmFyIGwsYSxzPW4oMTM4NjM4KSxpPW4oMTU2ODUwKSxjPW4oOTY2MzY3KSx1PW4oMjM3MzY5KSxkPW4oNjYxODU4KSxtPW4oMTYwMjk2KSxwPW4oMzg0MDE3KTtmdW5jdGlvbiBoKGUpe3JldHVybiBlLmhhc093blByb3BlcnR5KCJleGNoYW5nZSIpfWZ1bmN0aW9uIGYoZSl7cmV0dXJuIHZvaWQgMCE9PWUuZ3JvdXBlZF9zeW1ib2xzfHx2b2lkIDAhPT1lLmNvbnRyYWN0c31hc3luYyBmdW5jdGlvbiBTKCl7cmV0dXJue3N5bWJvbHM6W10sc3ltYm9sc19yZW1haW5pbmc6MH19YXN5bmMgZnVuY3Rpb24gZyhlKXtjb25zdCB0PUUoKSxuPWIoZSkscj1gJHt0fT8keygwLGMuY3JlYXRlU2VhcmNoUGFyYW1zKShuKS50b1N0cmluZygpfWAsbz0obmV3IERhdGUpLmdldFRpbWUoKTt0cnl7Y29uc3QgdD1hd2FpdCgwLHAuZmV0Y2gpKHIse3NpZ25hbDplLnNpZ25hbH0pO2lmKCF0Lm9rKXRocm93IGUuc2VydmVyTG9nZ2VyPy5sb2coe2FjdGlvbjoic3ltYm9sLXNlYXJjaC5lcnJvci1yZXNwb25zZSIsbGV2ZWw6ImVycm9yIixwYXlsb2FkOntyZXF1ZXN0Ont1cmw6cixtZXRob2Q6IkdFVCJ9LHN0YXR1c0NvZGU6dC5zdGF0dXMsbWVzc2FnZTooYXdhaXQgdC50ZXh0KCkpLnNsaWNlKDAsMjUwKX19KSxuZXcgRXJyb3IoYCR7dC5zdGF0dXN9OiAke3Quc3RhdHVzVGV4dH1gKTtjb25zdCBuPWF3YWl0IHQuanNvbigpO3JldHVybiBpLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoInN5bWJvbF9zZWFyY2hfaHR0cF9zdGF0dXMiLHt2YWx1ZTp0LnN0YXR1c30pLDA9PT1uLmxlbmd0aD9lLnNlcnZlckxvZ2dlcj8ubG9nKHthY3Rpb246InN5bWJvbC1zZWFyY2guZW1wdHktcmVzcG9uc2UiLGxldmVsOiJlcnJvciIscGF5bG9hZDp7cmVxdWVzdDp7dXJsOnIsbWV0aG9kOiJHRVQifX19KTplLnNlcnZlckxvZ2dlcj8ubG9nKHthY3Rpb246InN5bWJvbC1zZWFyY2guc3VjY2Vzcy1yZXNwb25zZSIsbGV2ZWw6ImluZm8iLHBheWxvYWQ6e3JlcXVlc3Q6e3VybDpyLG1ldGhvZDoiR0VUIn0sc3ltYm9sc0NvdW50Om4ubGVuZ3RofX0pLG59Y2F0Y2godCl7dGhyb3cgaS50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJzeW1ib2xfc2VhcmNoX2h0dHBfZXJyb3IiKSxlLnNlcnZlckxvZ2dlcj8ubG9nKHthY3Rpb246InN5bWJvbC1zZWFyY2gubmV0d29yay1lcnJvciIsbGV2ZWw6ImVycm9yIixwYXlsb2FkOntyZXF1ZXN0Ont1cmw6cixtZXRob2Q6IkdFVCJ9LG1lc3NhZ2U6KDAsdS5nZXRMb2dnZXJNZXNzYWdlKSh0KX19KSx0fWZpbmFsbHl7dihvKX19YXN5bmMgZnVuY3Rpb24geShlKXtjb25zdCB0PUUoITApLG49YihlKSxyPWAke3R9PyR7KDAsYy5jcmVhdGVTZWFyY2hQYXJhbXMpKGUub3ZlcnJpZGVRdWVyeVBhcmFtcz9lLm92ZXJyaWRlUXVlcnlQYXJhbXMobixlLnR5cGUpOm4pLnRvU3RyaW5nKCl9YCxvPShuZXcgRGF0ZSkuZ2V0VGltZSgpO3RyeXtjb25zdCB0PWF3YWl0KDAscC5mZXRjaCkocix7c2lnbmFsOmUuc2lnbmFsfSk7aWYoIXQub2spdGhyb3cgZS5zZXJ2ZXJMb2dnZXI/LmxvZyh7YWN0aW9uOiJzeW1ib2wtc2VhcmNoLmVycm9yLXJlc3BvbnNlIixsZXZlbDoiZXJyb3IiLHBheWxvYWQ6e3JlcXVlc3Q6e3VybDpyLG1ldGhvZDoiR0VUIn0sc3RhdHVzQ29kZTp0LnN0YXR1cyxtZXNzYWdlOihhd2FpdCB0LnRleHQoKSkuc2xpY2UoMCwyNTApfX0pLG5ldyBFcnJvcihgJHt0LnN0YXR1c306ICR7dC5zdGF0dXNUZXh0fWApO2NvbnN0IG49YXdhaXQgdC5qc29uKCk7cmV0dXJuIGkudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgic3ltYm9sX3NlYXJjaF9odHRwX3N0YXR1cyIse3ZhbHVlOnQuc3RhdHVzfSksCjA9PT1uLnN5bWJvbHMubGVuZ3RoP2Uuc2VydmVyTG9nZ2VyPy5sb2coe2FjdGlvbjoic3ltYm9sLXNlYXJjaC5lbXB0eS1yZXNwb25zZSIsbGV2ZWw6ImVycm9yIixwYXlsb2FkOntyZXF1ZXN0Ont1cmw6cixtZXRob2Q6IkdFVCJ9fX0pOmUuc2VydmVyTG9nZ2VyPy5sb2coe2FjdGlvbjoic3ltYm9sLXNlYXJjaC5zdWNjZXNzLXJlc3BvbnNlIixsZXZlbDoiaW5mbyIscGF5bG9hZDp7cmVxdWVzdDp7dXJsOnIsbWV0aG9kOiJHRVQifSxzeW1ib2xzQ291bnQ6bi5zeW1ib2xzLmxlbmd0aH19KSxufWNhdGNoKHQpe3Rocm93IGkudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgic3ltYm9sX3NlYXJjaF9odHRwX2Vycm9yIiksZS5zZXJ2ZXJMb2dnZXI/LmxvZyh7YWN0aW9uOiJzeW1ib2wtc2VhcmNoLm5ldHdvcmstZXJyb3IiLGxldmVsOiJlcnJvciIscGF5bG9hZDp7cmVxdWVzdDp7dXJsOnIsbWV0aG9kOiJHRVQifSxtZXNzYWdlOigwLHUuZ2V0TG9nZ2VyTWVzc2FnZSkodCl9fSksdH1maW5hbGx5e3Yobyl9fWZ1bmN0aW9uIGIoZSl7Y29uc3QgdD17fTt2b2lkIDAhPT1lLnRleHQmJih0LnRleHQ9ZS50ZXh0KSx2b2lkIDAhPT1lLmJyb2tlclN5bWJvbHMmJih0LmJyb2tlcl9zeW1ib2xzPWUuYnJva2VyU3ltYm9scy5zb3J0KCkuam9pbigiLCIpKSx2b2lkIDAhPT1lLnNlcnZlckhpZ2hsaWdodCYmKHQuaGw9ZS5zZXJ2ZXJIaWdobGlnaHQ/IjEiOiIwIiksdm9pZCAwIT09ZS5leGNoYW5nZSYmKHQuZXhjaGFuZ2U9ZS5leGNoYW5nZSksdm9pZCAwIT09ZS5jb3VudHJ5JiYodC5jb3VudHJ5PWUuY291bnRyeSksZS5zdHJpY3RNYXRjaCYmKHQuc3RyaWN0PSIxIiksZS5ub0xpbWl0cyYmKHQubm9fbGltaXRzPSIxIiksdm9pZCAwIT09ZS5sYW5nJiYodC5sYW5nPWUubGFuZyk7Y29uc3R7dHlwZTpufT1lO3ZhciByO3ZvaWQgMCE9PW4mJih0LnNlYXJjaF90eXBlPShyPW4sKDAscy5lbnN1cmVEZWZpbmVkKShDLmdldChyKSkpKSx2b2lkIDAhPT1lLnN0YXJ0JiYodC5zdGFydD1lLnN0YXJ0KTtjb25zdHtmaWx0ZXJRdWVyeVBhcmFtczpvfT1lO3JldHVybiB2b2lkIDAhPT1vJiZPYmplY3Qua2V5cyhvKS5mb3JFYWNoKChlPT57Y29uc3Qgbj1vW2VdO24mJih0W2VdPW4pfSkpLHdpbmRvdy5TU19ET01BSU5fUEFSQU1FVEVSJiYodC5kb21haW49d2luZG93LlNTX0RPTUFJTl9QQVJBTUVURVIpLGUuYWNjb3VudEZpbHRlcklkJiZlLmlzRXh0ZXJuYWw/dC5hZGRpdGlvbmFsX2ZpbHRlcj1gdHJhZGluZy8ke2UuYWNjb3VudEZpbHRlcklkfWA6KGUuYnJva2VySWR8fGUuYWNjb3VudEZpbHRlcklkKSYmKHQuYnJva2VyPWUuYnJva2VySWQ/LnRvTG93ZXJDYXNlKCl8fGUuYWNjb3VudEZpbHRlcklkPy50b0xvd2VyQ2FzZSgpLChlLmJyb2tlcklkJiZlLm9ubHlUcmFkYWJsZXx8ZS5hY2NvdW50RmlsdGVySWQmJmUub25seUFjY291bnRUcmFkYWJsZSkmJih0LnRyYWRhYmxlPSIxIiksZS51bmhpZGVTeW1ib2xTZWFyY2hHcm91cHMmJih0LnVuaGlkZT1lLnVuaGlkZVN5bWJvbFNlYXJjaEdyb3VwcykpLGUuZW5hYmxlR3JvdXBpbmcmJih0LmVuYWJsZV9ncm91cGluZz1lLmVuYWJsZUdyb3VwaW5nKSxlLnNvcnRCeUNvdW50cnkmJih0LnNvcnRfYnlfY291bnRyeT1lLnNvcnRCeUNvdW50cnkpLHQucHJvbW89ITAsdH1mdW5jdGlvbiB2KGUpe2NvbnN0IHQ9KG5ldyBEYXRlKS5nZXRUaW1lKCktZTtpLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoInN5bWJvbF9zZWFyY2hfdGltZV9mcmFtZSIse3ZhbHVlOnR9KX0hZnVuY3Rpb24oZSl7ZVtlLlByb2Q9MF09IlByb2QiLGVbZS5Mb2NhbD0xXT0iTG9jYWwifShsfHwobD17fSkpLGZ1bmN0aW9uKGUpe2VbZS5QYWdpbmF0ZWQ9MF09IlBhZ2luYXRlZCIsZVtlLk5vTGltaXQ9MV09Ik5vTGltaXQifShhfHwoYT17fSkpO2NvbnN0IF89ezA6ezA6Ii9zeW1ib2xfc2VhcmNoL3YzLyIsMToiL3N5bWJvbF9zZWFyY2gvIn0sMTp7MDoiL2xvY2FsX3NlYXJjaC92My8iLDE6Ii9sb2NhbF9zZWFyY2gvIn19O2Z1bmN0aW9uIEUoZSl7bGV0IHQ9Imh0dHBzOi8vIit3aW5kb3cuU1NfSE9TVDtjb25zdCBuPSgwLG0uaXNQcm9kKSgpPzA6MTtyZXR1cm4gdCs9X1tuXVtlPzA6MV0sd2luZG93LlNTX1VSTCYmKHQ9d2luZG93LlNTX1VSTCksdH1jb25zdCBDPW5ldyBNYXAoZC5tYXAoKCh7dmFsdWU6ZSxzZWFyY2hfdHlwZTp0fSk9PltlLHRdKSkpfSw4MjQzNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtWSVNJQkxFX1RZUEVTUEVDUzooKT0+YSxtYXJrZXRUeXBlOigpPT5zfSk7dmFyIHI9bigxNTY4MjkpLG89big3MjY2MDIpO24oODI5MTgwKTtjb25zdCBsPW5ldyBNYXAsYT1uZXcgU2V0KFsiY2ZkIiwic3ByZWFkYmV0IiwiZGVmaSIsInlpZWxkIiwiZ292ZXJubWVudCIsImNvcnBvcmF0ZSIsIm11dHVhbCIsIm1vbmV5IiwiZXRmIiwidW5pdCIsInRydXN0IiwicmVpdCIsImV0biIsImNvbnZlcnRpYmxlIiwiY2xvc2VkZW5kIiwiY3J5cHRvIiwib3JhY2xlIiwibmRmIiwiYWxnb3JpdGhtaWMiXSk7ZnVuY3Rpb24gcyhlLHQ9W10sbj0hMCl7aWYoKDAsci5pc1ByZUlwbykoZSx0KSlyZXR1cm4icHJlLUlQTyI7Y29uc3Qgcz10LmZpbHRlcigoZT0+YS5oYXMoZSkpKSxpPWAke2V9XyR7cy5zb3J0KCkuam9pbigiXyIpfWAsYz1sLmdldChpKTtpZih2b2lkIDAhPT1jKXJldHVybiBjO2NvbnN0IHU9bj8oMCxvLnRyaWVzVHJhbnNsYXRlTWFya2V0VHlwZSkoZSk6ZSxkPUJvb2xlYW4odC5sZW5ndGgpP1t1LC4uLnNdLmpvaW4oIiAiKTp1O3JldHVybiBsLnNldChpLGQpLGR9fSw0MDIzOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtmb3JtYXRDYWxlbmRhckRheXNEaWZmOigpPT5hLGdldENhbGVuZGFyRGF5c0RpZmY6KCk9Pm99KTt2YXIgcj1uKDE4NTI3MSk7ZnVuY3Rpb24gbyhlLHQsbil7Y29uc3Qgcj1uZXcgRGF0ZSh0KSxvPW5ldyBEYXRlKGUpLGE9bj8wOjYwKihsKHIpLWwobykpKjFlMztyZXR1cm4gbj8oci5zZXRVVENIb3VycygxMiwwLDAsMCksby5zZXRVVENIb3VycygxMiwwLDAsMCkpOihyLnNldEhvdXJzKDEyLDAsMCwwKSxvLnNldEhvdXJzKDEyLDAsMCwwKSksCihzPShvLmdldFRpbWUoKS1yLmdldFRpbWUoKS1hKS84NjRlNSk8MD9NYXRoLmNlaWwocyk6TWF0aC5mbG9vcihzKTt2YXIgc31mdW5jdGlvbiBsKGUpe3JldHVybiAxNSotTWF0aC5yb3VuZChlLmdldFRpbWV6b25lT2Zmc2V0KCkvMTUpfWZ1bmN0aW9uIGEoZSl7aWYoMD09PWUpcmV0dXJuIHIudChudWxsLHZvaWQgMCxuKDYxNDQ1MCkpO2lmKDE9PT1lKXJldHVybiByLnQobnVsbCx2b2lkIDAsbig5NDA0ODMpKTtpZigtMT09PWUpcmV0dXJuIHIudChudWxsLHZvaWQgMCxuKDk2NTU3MykpO2NvbnN0IHQ9TWF0aC5hYnMoZSksbz1yLnQobnVsbCx7cGx1cmFsOiIlZCBkYXlzIixjb3VudDp0fSxuKDU1MDI2KSkucmVwbGFjZSgiJWQiLFN0cmluZyh0KSk7cmV0dXJuIGU+MT9yLnQobnVsbCx7Y29udGV4dDoidGltZV9yYW5nZSJ9LG4oNDkwNzQwKSkucmVwbGFjZSgiJXMiLG8pOnIudChudWxsLHtjb250ZXh0OiJ0aW1lX3JhbmdlIn0sbig1MDI2OTIpKS5yZXBsYWNlKCIlcyIsbyl9fSwzMDk4MzYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7YWRkVXRtVG9Vcmw6KCk9Pm99KTt2YXIgcj1uKDYwMTU4Nyk7ZnVuY3Rpb24gbyhlLHQpe2lmKCEvKFthLXpBLVowLTkuLV0qdHJhZGluZ3ZpZXcuY29tKXxsb2NhbGhvc3QvLnRlc3QoZSkpcmV0dXJuIGU7Y29uc3Qgbj0oMCxyLmJ1aWxkVXRtUXVlcnlTdHJpbmcpKHQpO2lmKCIiPT09bilyZXR1cm4gZTtjb25zdCBvPWUuaW5kZXhPZigiPyIpLGw9ZS5pbmRleE9mKCIjIiksYT0tMSE9PWw7aWYoLTEhPT1vJiYoIWF8fG88bCkpe3JldHVybmAke2Uuc2xpY2UoMCxvKX0/JHthP2Uuc2xpY2UobysxLGwpOmUuc2xpY2UobysxKX0mJHtufSR7YT9lLnNsaWNlKGwpOiIifWB9aWYoYSl7cmV0dXJuYCR7ZS5zbGljZSgwLGwpfT8ke259JHtlLnNsaWNlKGwpfWB9cmV0dXJuYCR7ZX0/JHtufWB9fSw2MDE1ODcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7YnVpbGRVdG1RdWVyeVN0cmluZzooKT0+cyxidWlsZFV0bVF1ZXJ5U3RyaW5nRnJvbVVybFBhcmFtczooKT0+aSxmaWx0ZXJVdG1JbmZvOigpPT5hfSk7dmFyIHI9big0OTI2NzcpLG89big2NDE1OTMpO2NvbnN0IGw9WyJ1dG1fc291cmNlIiwidXRtX21lZGl1bSIsInV0bV9jYW1wYWlnbiJdO2Z1bmN0aW9uIGEoZSl7Y29uc3QgdD17fTtyZXR1cm4gbC5mb3JFYWNoKChuPT57Y29uc3Qgcj1lW25dOyJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yJiYodFtuXT0oMCxvLmh0bWxFc2NhcGUpKHIpKX0pKSx0fWZ1bmN0aW9uIHMoZSx0PSExKXtjb25zdCBuPSgwLHIuY3JlYXRlVXJsUGFyYW1zKShlKTtyZXR1cm4gbiYmdD8iPyIrbjpufWZ1bmN0aW9uIGkoZSl7cmV0dXJuIHMoYSgoMCxyLmdldFVybFBhcmFtcykoKSksZSl9fSwxNjM1NzYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTMuOTIgMTAuMTcgOSA1LjcxbDUuMDggNC40Ni0xIDEuMTNMOSA3LjcxIDQuOTEgMTEuM2wtLjk5LTEuMTNaIi8+PC9zdmc+J30sMTg2Mzg0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMy4zNSA1LjM1YS41LjUgMCAwIDAtLjctLjdMOSA4LjI5IDUuMzUgNC42NWEuNS41IDAgMSAwLS43LjdMOC4yOSA5bC0zLjY0IDMuNjVhLjUuNSAwIDAgMCAuNy43TDkgOS43MWwzLjY1IDMuNjRhLjUuNSAwIDAgMCAuNy0uN0w5LjcxIDlsMy42NC0zLjY1eiIvPjwvc3ZnPid9LDU3NjQ5MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZabTAtOS4wNEw2LjA0IDUgNSA2LjA0IDcuOTYgOSA1IDExLjk2IDYuMDQgMTMgOSAxMC4wNCAxMS45NiAxMyAxMyAxMS45NiAxMC4wNCA5IDEzIDYuMDQgMTEuOTYgNSA5IDcuOTZaIi8+PC9zdmc+J30sNTI2NzEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEyLjE4MiA0YTguMTggOC4xOCAwIDAgMSA2LjI5IDEzLjQxMmw1LjUyNiA1LjUyNS0xLjA2IDEuMDYtNS41MjctNS41MjVBOC4xODIgOC4xODIgMCAxIDEgMTIuMTgxIDRtMCAxLjVhNi42ODEgNi42ODEgMCAxIDAgMCAxMy4zNjMgNi42ODEgNi42ODEgMCAwIDAgMC0xMy4zNjMiLz48L3N2Zz4nfSwxNzg0MDcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1IDExLjVWMTRIM3YtMi41em0tMi4yNS0zLjc1TDE1IDZ2NEgzVjZsMi4yNSAxLjc1TDkgNHoiLz48L3N2Zz4nfSw5MTUwOTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE0IDE0Ij48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjIiIGQ9Im0xLjUgMS41IDExIDExbTAtMTEtMTEgMTEiIHZlY3Rvci1lZmZlY3Q9Im5vbi1zY2FsaW5nLXN0cm9rZSIvPjwvc3ZnPid9LDU5NDIzMChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMi45MiAxLjkyIDUuODUgOWw3LjA3IDcuMDgtLjg0Ljg0LTcuNS03LjVMNC4xNSA5bC40My0uNDIgNy41LTcuNXoiLz48L3N2Zz4nfSwxNDAzNDAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMSAxMC4wNyAxMS40MyAyMWgxLjE0TDIzIDEwLjA3bC01LjIyLTUuODMtLjU2LS4yNEg2Ljc4bC0uNTYuMjRMMSAxMC4wN1ptMTAuOTYgOC41OC4wNC4wNSA4LjI4LTguNjdMMTYuNjggNmgtNC43MnYxMi42NVoiLz48L3N2Zz4nfSw0MjEwNjcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1IDJhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMS44IDEuOTlMMTUgMTZINWwtLjItLjAxQTIgMiAwIDAgMSAzIDE0LjJMMyAxNGgxYTEgMSAwIDAgMCAxIDFoMTBhMSAxIDAgMCAwIDEtMVY0YTEgMSAwIDAgMC0xLTFINWExIDEgMCAwIDAtMSAxSDNjMC0xLjEuOS0yIDItMnptLTcgOWgxdjFIOHYxSDd2LTFINnYtMWgxdi0xaDF6bTYgMmgtM3YtMWgzek00LjQyIDlsLTIuNjggMy0uNzQtLjY2TDMuMDggOSAxIDYuNjZsLjc1LS42N3pNMTQgMTFoLTN2LTFoM3ptLTEuNS01LjIuOC0uOC43LjctLjguOC44LjgtLjcuNy0uOC0uNzktLjguNzktLjctLjcuNzktLjgtLjc5LS44LjctLjd6TTkgN0g2VjZoM3oiLz48L3N2Zz4nfSw4MzQzOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUgMmEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0xLjggMS45OUwxNSAxNkg1bC0uMi0uMDFBMiAyIDAgMCAxIDMgMTQuMkwzIDE0aDFhMSAxIDAgMCAwIDEgMWgxMGExIDEgMCAwIDAgMS0xVjRhMSAxIDAgMCAwLTEtMUg1YTEgMSAwIDAgMC0xIDFIM2MwLTEuMS45LTIgMi0yem0tNyA5aDF2MUg4djFIN3YtMUg2di0xaDF2LTFoMXptNiAyaC0zdi0xaDN6TTQuMjcgNi42NCAyLjMgOWwxLjk3IDIuMzYtLjc3LjY0TDEgOWwyLjUtM3pNMTQgMTFoLTN2LTFoM3ptLTEuNS01LjIuOC0uOC43LjctLjguOC44LjgtLjcuNy0uOC0uNzktLjguNzktLjctLjcuNzktLjgtLjc5LS44LjctLjd6TTkgN0g2VjZoM3oiLz48L3N2Zz4nfSw4MDk0NDQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEzIDEzIiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMi41IDYuNWg5Ii8+PGNpcmNsZSBmaWxsPSJjdXJyZW50Q29sb3IiIGN4PSI3IiBjeT0iMyIgcj0iMSIvPjxjaXJjbGUgZmlsbD0iY3VycmVudENvbG9yIiBjeD0iNyIgY3k9IjEwIiByPSIxIi8+PC9zdmc+J30sOTg5ODk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMyAxMyIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iY3VycmVudENvbG9yIj48cGF0aCBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJNMy41IDEwVjIuNUwxIDUiLz48cGF0aCBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMS41IDEwLjVoNCIvPjxwYXRoIGQ9Ik04IDEybDMtMTEiLz48L2c+PC9zdmc+J30sNzQ5Njk3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMyAxMyIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTIuNSA2LjVoOCIvPjwvc3ZnPid9LDE1NzY4MShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTMgMTMiIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyI+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0zIDEwbDctN00zIDNsNyA3Ii8+PC9zdmc+J30sOTg3NjgzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMyAxMyIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTIuNSA2LjVoOG0tNC00djgiLz48L3N2Zz4nfSwzMDMyMzgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEzIDEzIiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMyA3bDMuNS0zLjVMMTAgNyIvPjwvc3ZnPid9LDkyMTcwOChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMi41IDE0LjVjMS42OC0xLjI2IDMuNy0yIDYuNS0yczQuOTEuNzQgNi41IDJtLTEzLTExYzEuNjggMS4yNiAzLjcgMiA2LjUgMnM0LjkxLS43NCA2LjUtMiIvPjxjaXJjbGUgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGN4PSI5IiBjeT0iOSIgcj0iOC41Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMy41IDljMCAyLjQyLS41NSA0LjU4LTEuNCA2LjEyLS44NyAxLjU2LTEuOTggMi4zOC0zLjEgMi4zOHMtMi4yMy0uODItMy4xLTIuMzhjLS44NS0xLjU0LTEuNC0zLjctMS40LTYuMTJzLjU1LTQuNTggMS40LTYuMTJDNi43NyAxLjMyIDcuODguNSA5IC41czIuMjMuODIgMy4xIDIuMzhjLjg1IDEuNTQgMS40IDMuNyAxLjQgNi4xMnoiLz48L3N2Zz4nfSwxNDA4OTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEyMCAxMjAiIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIj48cGF0aCBmaWxsPSIjQjJCNUJFIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMyAzOWEzNiAzNiAwIDAgMSA3MiAwdjEzLjE1bDE1LjEgOC40NCAyLjE2IDEuMi0xLjY0IDEuODYtMTIuODUgMTQuNTkgMy43MyA0LjAzTDk4LjU3IDg1IDk1IDgxLjEzVjExN0g3N3YtMTJINjd2OUg1MFY5NUg0MHYyMkgyM1Y4MS4yOGwtMy44IDMuNjEtMi43Ni0yLjkgNC4wNS0zLjg0LTEyLjc3LTE0LjUtMS42NC0xLjg2IDIuMTYtMS4yTDIzIDUyLjM0VjM5Wm03MiAzNi4zMyAxMC45OC0xMi40Nkw5NSA1Ni43M3YxOC42Wk0yMyA1Ni45MnYxOC4wM0wxMi4zNSA2Mi44NyAyMyA1Ni45MlpNNTkgN2EzMiAzMiAwIDAgMC0zMiAzMnY3NGg5VjkxaDE4djE5aDl2LTloMTh2MTJoMTBWMzlBMzIgMzIgMCAwIDAgNTkgN1ptLTcgMzZhMyAzIDAgMSAxLTYgMCAzIDMgMCAwIDEgNiAwWm0xOSAzYTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNloiLz48L3N2Zz4nfSw0ODc3NTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEyMCAxMjAiIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIj48cGF0aCBmaWxsPSIjMTMxNzIyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMyAzOWEzNiAzNiAwIDAgMSA3MiAwdjEzLjE1bDE1LjEgOC40NCAyLjE2IDEuMi0xLjY0IDEuODYtMTIuODUgMTQuNTkgMy43MyA0LjAzTDk4LjU3IDg1IDk1IDgxLjEzVjExN0g3N3YtMTJINjd2OUg1MFY5NUg0MHYyMkgyM1Y4MS4yOGwtMy44IDMuNjEtMi43Ni0yLjkgNC4wNS0zLjg0LTEyLjc3LTE0LjUtMS42NC0xLjg2IDIuMTYtMS4yTDIzIDUyLjM0VjM5Wm03MiAzNi4zMyAxMC45OC0xMi40Nkw5NSA1Ni43M3YxOC42Wk0yMyA1Ni45MnYxOC4wM0wxMi4zNSA2Mi44NyAyMyA1Ni45MlpNNTkgN2EzMiAzMiAwIDAgMC0zMiAzMnY3NGg5VjkxaDE4djE5aDl2LTloMTh2MTJoMTBWMzlBMzIgMzIgMCAwIDAgNTkgN1ptLTcgMzZhMyAzIDAgMSAxLTYgMCAzIDMgMCAwIDEgNiAwWm0xOSAzYTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNloiLz48L3N2Zz4nfSwzMTIxNDcoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAgMTIwIiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjEyMCI+PHBhdGggZD0iTTYwLjkgNi42OGM2LjMuMjggMTEuNjQgMy42NyAxNC4xNyA4LjQ1IDEwLjgzIDIuNzUgMTguMjYgOC4zOSAxOC4yNiAxNC44OXYuNDNjLS4yNiA0Ljg4LTQuNzEgOS4yMy0xMS42MyAxMi4ybDMzLjMgNzAuNjhoLTMuNjdsLTMyLjc4LTY5LjVBNjAgNjAgMCAwIDEgNjAgNDYuNjdhNTggNTggMCAwIDEtMTkuOTMtMy4zbC0zMS40IDY5Ljk2SDVsMzItNzEuMjZjLTYuMTctMi45NC0xMC4wNy03LjA1LTEwLjMtMTEuNjJsLS4wMy0uNDVjMC02LjUgNy40My0xMi4xMyAxOC4yOC0xNC44OCAyLjY3LTUgOC40My04LjQ3IDE1LjEtOC40N1ptNy42IDQ5Ljk5Yy40NiAwIDEgMi4wNi45MiA0LjE2IDEuOC0uMjMgMy42My4yOCA1LjA0IDEuNDJsLjkuNy44Ny4wN2E1LjkgNS45IDAgMCAxIDUuNDQgNS44OHYuNDJhNS44IDUuOCAwIDAgMS0zLjU3IDUuMDFsLTMuNCAxLjQ0di4wNmEzMCAzMCAwIDAgMS0zLjE2IDEwLjk0bDMuMDYgOS04LjkzIDQuMjMtNS40Ni02LjQ2LTQuMTMgMi4xcS0uMzQgMS40Ni0uODggMi44NGwxLjQ3IDUuMy05LjYgNC41NUwzNC45NSA4Ni4zYTMuMzQgMy4zNCAwIDAgMC0xLjA1IDQuMDJsMy43IDguMzMtMy4wNSAxLjM1LTMuNy04LjMzYTYuNjcgNi42NyAwIDAgMSAyLjk4LTguNiAzLjEgMy4xIDAgMCAxIDEuNzQtMi40NGwyMy42Ni0xMS4zLTIuNTYtNS4wNCA2LS43NWExMi43IDEyLjcgMCAwIDAgNS40OC02LjM0cS4xNS0uNTUuMzUtLjUzbTMuODggOC4xOGEzLjMgMy4zIDAgMCAwLTMuODEtLjI1bC0yLjk1IDEuNzgtLjMuMTctLjM0LjA1LTMuMi40IDEuMTcgMi4zMy43OCAxLjU0LTEuNTMuNzMtMjQuOTcgMTEuOTQgMTEuMjMgMjAuNDggNC4yNS0yLjA0LTEuMDQtMy42Ni4zNy0uODljLjg1LTIuMTUgMS4zLTQuNDUgMS4zLTYuNzZ2LTRoMy4zM3Y0bC0uMDIuOTUgNC40Mi0yLjI1IDUuNSA2LjUxIDMuOTEtMS44Ni0yLjU2LTcuNTQuNDEtLjhhMjcgMjcgMCAwIDAgMy4wNS0xMC4xNmwuMS0xLjA2LjA5LTEgLjkxLS4zOCA0LjMyLTEuODFhMi41NiAyLjU2IDAgMCAwLS44Mi00LjkybC0xLjQtLjEyLS41LS4wMy0uNDEtLjMzWm0tMjguOC00NS44OWE0MCA0MCAwIDAgMC01LjY2IDIuMjRDMzIuMjUgMjQuMDQgMzAgMjcuMzcgMzAgMzAuMDJzMi4yNSA1Ljk2IDcuOTIgOC44QzQzLjQgNDEuNTUgNTEuMiA0My4zMyA2MCA0My4zM3MxNi42LTEuNzggMjIuMDgtNC41MUM4Ny43NSAzNS45OCA5MCAzMi42NyA5MCAzMHMtMi4yNS01Ljk2LTcuOTItOC44MmEzNyAzNyAwIDAgMC01LjY2LTIuMjJxLjI1IDEuMjMuMjUgMi41YzAgMy41NC00LjQgOC41NC0xNi42MiA4LjU0LTUtLjA3LTE2LjcyLTEuMzctMTYuNzItOC41cTAtMS4zLjI1LTIuNTRNNjAgMzVhMS42NyAxLjY3IDAgMSAxIDAgMy4zM0ExLjY3IDEuNjcgMCAwIDEgNjAgMzVtLTIxLjY3LTYuNjdhMS42NyAxLjY3IDAgMSAxIDAgMy4zNCAxLjY3IDEuNjcgMCAwIDEgMC0zLjM0bTQzLjM0IDBhMS42NyAxLjY3IDAgMSAxIDAgMy4zMyAxLjY3IDEuNjcgMCAwIDEgMC0zLjMzTTYwLjA1IDEwYy03Ljc4IDAtMTMuMzggNS41LTEzLjM4IDExLjUgMCAuMy4zMyAxLjU0IDIuNjYgMi44NyAyLjIgMS4yNiA1Ljc3IDIuMyAxMC43MiAyLjMgNS42OCAwIDkuMTYtMS4xNyAxMS4wOC0yLjQyIDEuOTUtMS4yNSAyLjItMi40MiAyLjItMi43NSAwLTYtNS41My0xMS41LTEzLjI4LTExLjUiIHN0eWxlPSJmaWxsOiNkYmRiZGIiLz48L3N2Zz4nfSwzNjU0NihlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEyMCAxMjAiIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik02MC4wNSA4YzcuMTIgMCAxMy4xNyAzLjU5IDE1LjcgOC42OEM4Ni4wMiAxOS4zMiA5MyAyNC40OCA5MyAzMC40YzAgNC43My00LjQ0IDguOTYtMTEuNDYgMTEuODFMMTE2IDExMmgtNC40NEw3Ny43NSA0My41NkE2MiA2MiAwIDAgMSA2MCA0NmE2MSA2MSAwIDAgMS0xOS4xNi0yLjlMOS40IDExMkg1bDMyLjExLTcwLjM2QzMwLjg4IDM4LjgxIDI3IDM0LjgzIDI3IDMwLjQxYzAtNS45MyA2Ljk4LTExLjEgMTcuMjctMTMuNzRDNDYuODIgMTEuNTggNTIuOTIgOCA2MC4wNSA4bTcuODMgNDljLjQ0IDAgLjk3IDIuMDUuODggNC4xMnEuNTEtLjExIDEuMDItLjEyYy45NyAwIDEuOTQuMzIgMi43Ny44OWwxLjEyLjc2IDMuMzQuOTZhNS41MiA1LjUyIDAgMCAxIC43NiAxMC4zMmwtMy4xNCAxLjQ0LS4xOCAyLjAxYTE5IDE5IDAgMCAxLTIuMTcgNy4yNGwtLjcgMS4yOSAyLjQ4IDcuNTMuNTYgMS42OC03LjMyIDMuNDQtLjk4LTEuMjQtNC4zNS01LjQ3LTggMy43NmExNCAxNCAwIDAgMS0uNzIgMS41bC0uMTguMzMgMS45MyA2Ljk4LTcuOCAzLjU4LTExLjcyLTIxLjg4YTUuMSA1LjEgMCAwIDAtLjk0IDUuNzJsMy4wNiA2LjUtMy42MiAxLjY2LTMuMDYtNi40NkE5LjEgOS4xIDAgMCAxIDM0LjEgODIuMWEzLjQgMy40IDAgMCAxIDEuOS0yLjU0bDIzLjItMTAuODktMi4yLTQuODhjMi4xLS4zIDQuMjEtLjYgNi4zNC0uNzZhMTMgMTMgMCAwIDAgNC4yLTUuNXEuMTUtLjUzLjM0LS41Mm0yLjQyIDguMmExIDEgMCAwIDAtMS4wNi0uMDVsLTIuNjMgMS41LS40Ni4yN2gtLjU0Yy0uNzcgMC0xLjc4LjA2LTIuNzQuMTVsMS42NSAzLjUxTDM4LjMgODIuOWwxMC42NSAxOS44NiAxLjItLjU3TDQ5IDk3LjY1bC0uMTktLjc3LjM4LS42OS41Ni0xLjAyQTEwIDEwIDAgMCAwIDUxIDkwLjM0Vjg2aDR2NC43MUw2My4xMyA4N2wuOTkgMS4xMiA0LjM1IDUuNDcgMS4yNC0uNTgtMi4xOS02LjY3LS4yNy0uODEuNC0uNzYgMS4xLTIuMDRhMTUgMTUgMCAwIDAgMS43MS01LjcxbC4zLTMuMTcuMS0xLjE1IDEuMDYtLjQ5IDQuMTktMS45MWExLjUyIDEuNTIgMCAwIDAtLjIxLTIuODRsLTMuNjUtMS4wNi0uMy0uMDktLjI3LS4xOHpNNDMuMDMgMjEuMTdxLTIuNTUuOC00LjY1IDEuOEMzMi43NCAyNS42NCAzMSAyOC41NCAzMSAzMC40YzAgMS44NiAxLjc0IDQuNzUgNy4zNyA3LjQxQzQzLjcgNDAuMzQgNTEuMzQgNDIgNjAgNDJzMTYuMy0xLjY2IDIxLjYzLTQuMThjNS42My0yLjY2IDcuMzctNS41NSA3LjM3LTcuNDFzLTEuNzQtNC43Ny03LjM4LTcuNDNhMzYgMzYgMCAwIDAtNC42NS0xLjhxLjAzLjQuMDMuOGwtLjAxLjNDNzYuNyAyNS41NyA3Mi4xMiAzMCA2MC4wNSAzMCA0OS4yNSAzMCA0My4yIDI1LjkgNDMgMjIuMTV2LS4xOHEwLS40LjAzLS43OU02MCAzNGEyIDIgMCAxIDEgMCA0IDIgMiAwIDAgMSAwLTRtLTIyLTZhMiAyIDAgMSAxIDAgNCAyIDIgMCAwIDEgMC00bTQ0IDBhMiAyIDAgMSAxIDAgNCAyIDIgMCAwIDEgMC00TTYwLjA1IDEyYy03Ljk2IDAtMTMgNS4xMy0xMy4wNSA5LjkyIDAtLjA1LjE2LjgzIDIuMjkgMS45NUM1MS40NiAyNS4wNCA1NS4wNCAyNiA2MC4wNSAyNmM1Ljc4IDAgOS4yNC0xLjEgMTEuMS0yLjIxIDEuNjctMSAxLjgzLTEuOCAxLjg1LTEuODVsLS4wMS0uNDJjLS4zLTQuNjktNS4yNC05LjUyLTEyLjk0LTkuNTIiLz48L3N2Zz4nfSw3NzgyNzUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTguNSAxMi41YTYgNiAwIDEgMS0xMiAwIDYgNiAwIDAgMSAxMiAwWm0tMS4yNSA1LjhhNy41IDcuNSAwIDEgMSAxLjA2LTEuMDZsNC4yMiA0LjIzLjUzLjUzTDIyIDIzLjA2bC0uNTMtLjUzLTQuMjItNC4yMloiLz48L3N2Zz4nfSw5MjAwMyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNy40IDE3LjVhNyA3IDAgMSAwLTQuOSAyYzEuOSAwIDMuNjQtLjc2IDQuOS0yem0wIDBsNS4xIDUiLz48L3N2Zz4nfSw3MTcxNDEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9bi5wKyJtb2NrLWRhcmsuMTZiNWYzYTQzMWY1MDJiMDNhZTMuc3ZnIn0sNDU4MDU5KGUsdCxuKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPW4ucCsibW9jay1saWdodC5kMjAxMzEzMDE3ZWIyYzFiOTg5Zi5zdmcifX1dKTs="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/themes/ashley/assets/js/main.js?ver=1.0.0","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.913Z","timestamp":1785141582913,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/themes/ashley/assets/js/main.js?ver=1.0.0 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:55:08 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 5945\r\nKeep-Alive: timeout=5, max=97\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":33923,"size_decoded":6310,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (365)","md5":"e18fe38b351699858c39a93eafcd284b","sha1":"7982616b7fcd1503030ccc6e33b786684cffb644","sha256":"d2fa25d6b218e61376231c17d9cd2067f8a34196ff367cb40a3e0a6589e519db","sha512":"5d1fd31d829e59cff07b1d1debf372df0a1c90e8d1c70e78881a1fe9293146fd260f0076b33037ff091e0550d8890c0d67f49831eb42b1341a0d9ce6af6e79f3","ssdeep":"192:lN3j/Vne8uYpqGV1iuyEJmydVCSCTuHub2n2xmELGAEGTSG1ekPLyFmGEbk/MKbg:UMLALkErDpgHbV9yiYP5oMLEO28hdWY","tlshash":"d2e2638cb8b22c630477767e57ef42c466328047981aec243c6cb6155fac56c51bafed","first_seen":"2026-07-27T06:14:34.121198Z","last_seen":"2026-07-27T12:12:28.854837Z","times_seen":5,"resource_available":true,"data":"LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpOYW1lOiAJCUFzaGxleQpWZXJzaW9uOiAgICAxLjIKQXV0aG9yOgkJYnNsdGhlbWVzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCiggZnVuY3Rpb24oICQgKSB7CiAgJ3VzZSBzdHJpY3QnOwogICAgCiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqCgogICAgY29sb3IgdmFyaWFibGVzCgogICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogICAgdmFyIHZhcmlhYmxlcyA9IHsKICAgICAgICAiYWNjZW50Q29sb3IiOiAncmdiYSgyNTUsIDE1MiwgMCwgMSknLAogICAgICAgICJkYXJrQ29sb3IiOiAnIzAwMCcsCiAgICAgICAgImxpZ2h0Q29sb3IiIDogJyNmZmYnCiAgICB9CgogICAgLyogQ3VzdG9tIENvbG9ycyAqLwogICAgaWYgKCAkKCcubWlsLXdyYXBwZXInKS5kYXRhKCdkYXJrLWNvbG9yJykgKSB7CiAgICAgICAgdmFyaWFibGVzLmRhcmtDb2xvciA9ICQoJy5taWwtd3JhcHBlcicpLmRhdGEoJ2RhcmstY29sb3InKTsKICAgIH0KICAgIGlmICggJCgnLm1pbC13cmFwcGVyJykuZGF0YSgnYWNjZW50LWNvbG9yJykgKSB7CiAgICAgICAgdmFyaWFibGVzLmFjY2VudENvbG9yID0gJCgnLm1pbC13cmFwcGVyJykuZGF0YSgnYWNjZW50LWNvbG9yJyk7CiAgICB9CiAgICBpZiAoICQoJy5taWwtd3JhcHBlcicpLmRhdGEoJ2xpZ2h0LWNvbG9yJykgKSB7CiAgICAgICAgdmFyaWFibGVzLmxpZ2h0Q29sb3IgPSAkKCcubWlsLXdyYXBwZXInKS5kYXRhKCdsaWdodC1jb2xvcicpOwogICAgfQoKICAgIC8qIEVsZW1lbnRvciBFZGl0b3IgKi8KICAgIHZhciBlbGVtZW50b3IgPSAwOwogICAgaWYgKCB3aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKCcvP2VsZW1lbnRvci1wcmV2aWV3PScpID4gLTEgfHwgd2luZG93LmxvY2F0aW9uLmhyZWYuaW5kZXhPZignJmFjdGlvbj1lbGVtZW50b3InKSA+IC0xICkgewogICAgICAgIGVsZW1lbnRvciA9IDE7CiAgICB9CgogICAgLyogRWxlbWVudG9yIFNlY3Rpb24gRGFyayAqLwogICAgJCgnLmVsZW1lbnRvci1zZWN0aW9uLm1pbC1kYXJrLWJnID4gLmVsZW1lbnRvci1jb250YWluZXInKS5hZGRDbGFzcygnbWktaW52ZXJ0LWZpeCcpOwogICAgJCgnLmVsZW1lbnRvci1lbGVtZW50Lm1pbC1kYXJrLWJnID4gZGl2JykuYWRkQ2xhc3MoJ21pLWludmVydC1maXgnKTsKCiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqCgogICAgcmVnaXN0ZXIgZ3NhcCBwbHVnaW5zCgogICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogICAgZ3NhcC5yZWdpc3RlclBsdWdpbihTY3JvbGxUcmlnZ2VyLCBTY3JvbGxUb1BsdWdpbik7CgogICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKgoKICAgIHByZWxvYWRlcgogICAgCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAgICB2YXIgdGltZWxpbmUgPSBnc2FwLnRpbWVsaW5lKCk7CgogICAgaWYgKCAkKCcubWlsLXByZWxvYWRlci1hbmltYXRpb24nKS5sZW5ndGggKSB7CiAgICB0aW1lbGluZS50bygiLm1pbC1wcmVsb2FkZXItYW5pbWF0aW9uIiwgewogICAgICAgIG9wYWNpdHk6IDEsCiAgICB9KTsKICAgIH0KCiAgICBpZiAoICQoJy5taWwtYW5pbWF0aW9uLTEgLm1pbC1oMycpLmxlbmd0aCApIHsKICAgIHRpbWVsaW5lLmZyb21UbygKICAgICAgICAiLm1pbC1hbmltYXRpb24tMSAubWlsLWgzIiwgewogICAgICAgICAgICB5OiAiMzBweCIsCiAgICAgICAgICAgIG9wYWNpdHk6IDAKICAgICAgICB9LCB7CiAgICAgICAgICAgIHk6ICIwcHgiLAogICAgICAgICAgICBvcGFjaXR5OiAxLAogICAgICAgICAgICBzdGFnZ2VyOiAwLjQKICAgICAgICB9LAogICAgKTsKICAgIHRpbWVsaW5lLnRvKCIubWlsLWFuaW1hdGlvbi0xIC5taWwtaDMiLCB7CiAgICAgICAgb3BhY2l0eTogMCwKICAgICAgICB5OiAnLTMwJywKICAgIH0sICIrPS4zIik7CiAgICB9CgogICAgaWYgKCAkKCcubWlsLXJldmVhbC1ib3gnKS5sZW5ndGggKSB7CiAgICB0aW1lbGluZS5mcm9tVG8oIi5taWwtcmV2ZWFsLWJveCIsIDAuMSwgewogICAgICAgIG9wYWNpdHk6IDAsCiAgICB9LCB7CiAgICAgICAgb3BhY2l0eTogMSwKICAgICAgICB4OiAnLTMwJywKICAgIH0pOwogICAgdGltZWxpbmUudG8oIi5taWwtcmV2ZWFsLWJveCIsIDAuNDUsIHsKICAgICAgICB3aWR0aDogIjEwMCUiLAogICAgICAgIHg6IDAsCiAgICB9LCAiKz0uMSIpOwogICAgdGltZWxpbmUudG8oIi5taWwtcmV2ZWFsLWJveCIsIHsKICAgICAgICByaWdodDogIjAiCiAgICB9KTsKICAgIHRpbWVsaW5lLnRvKCIubWlsLXJldmVhbC1ib3giLCAwLjMsIHsKICAgICAgICB3aWR0aDogIjAlIgogICAgfSk7CiAgICB9CgogICAgaWYgKCAkKCcubWlsLWFuaW1hdGlvbi0yIC5taWwtaDMnKS5sZW5ndGggKSB7CiAgICB0aW1lbGluZS5mcm9tVG8oIi5taWwtYW5pbWF0aW9uLTIgLm1pbC1oMyIsIHsKICAgICAgICBvcGFjaXR5OiAwLAogICAgfSwgewogICAgICAgIG9wYWNpdHk6IDEsCiAgICB9LCAiLT0uNSIpOwogICAgdGltZWxpbmUudG8oIi5taWwtYW5pbWF0aW9uLTIgLm1pbC1oMyIsIDAuNiwgewogICAgICAgIG9wYWNpdHk6IDAsCiAgICAgICAgeTogJy0zMCcKICAgIH0sICIrPS41Iik7CiAgICB9CgogICAgaWYgKCAkKCcubWlsLXByZWxvYWRlcicpLmxlbmd0aCApIHsKICAgIHRpbWVsaW5lLnRvKCIubWlsLXByZWxvYWRlciIsIDAuOCwgewogICAgICAgIG9wYWNpdHk6IDAsCiAgICAgICAgZWFzZTogJ3NpbmUnLAogICAgfSwgIis9LjIiKTsKICAgIH0KICAgIAogICAgaWYgKCAkKCcubWlsLXByZWxvYWRlciAubWlsLXVwJykubGVuZ3RoICkgewogICAgdGltZWxpbmUuZnJvbVRvKCIubWlsLXByZWxvYWRlciAubWlsLXVwIiwgMC44LCB7CiAgICAgICAgb3BhY2l0eTogMCwKICAgICAgICB5OiA0MCwKICAgICAgICBzY2FsZTogLjk4LAogICAgICAgIGVhc2U6ICdzaW5lJywKICAgIH0sIHsKICAgICAgICB5OiAwLAogICAgICAgIG9wYWNpdHk6IDEsCiAgICAgICAgc2NhbGU6IDEsCiAgICAgICAgb25Db21wbGV0ZTogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAkKCcubWlsLXByZWxvYWRlcicpLmFkZENsYXNzKCJtaWwtaGlkZGVuIik7CiAgICAgICAgfSwKICAgIH0sICItPTEiKTsKICAgIH0KICAgCiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqCgogICAgYW5jaG9yIHNjcm9sbAoKICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsICdhW2hyZWZePSIjIl06bm90KFtocmVmXj0iI2VsZW1lbnRvciJdKScsIGZ1bmN0aW9uIChldmVudCkgewogICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgogICAgICAgIHZhciB0YXJnZXQgPSAkKCQuYXR0cih0aGlzLCAnaHJlZicpKTsKICAgICAgICB2YXIgb2Zmc2V0ID0gMDsKCiAgICAgICAgaWYgKCQod2luZG93KS53aWR0aCgpIDwgMTIwMCkgewogICAgICAgICAgICBvZmZzZXQgPSA5MDsKICAgICAgICB9CgogICAgICAgICQoJ2h0bWwsIGJvZHknKS5hbmltYXRlKHsKICAgICAgICAgICAgc2Nyb2xsVG9wOiB0YXJnZXQub2Zmc2V0KCkudG9wIC0gb2Zmc2V0CiAgICAgICAgfSwgNDAwKTsKICAgIH0pOwoKICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioKCiAgICBhcHBlbmQKCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKSB7CiAgICAgICAgJCgiLm1pbC1hcnJvdyIpLmNsb25lKCkuYXBwZW5kVG8oIi5taWwtYXJyb3ctcGxhY2UiKTsKICAgICAgICAkKCIubWlsLWRvZGVjYWhlZHJvbiIpLmNsb25lKCkuYXBwZW5kVG8oIi5taWwtYW5pbWF0aW9uIik7CiAgICAgICAgJCgiLm1pbC1saW5lcyIpLmNsb25lKCkuYXBwZW5kVG8oIi5taWwtbGluZXMtcGxhY2UiKTsKICAgICAgICAkKCIubWlsLW1haW4tbWVudSB1bCBsaS5taWwtYWN0aXZlID4gYSIpLmNsb25lKCkuYXBwZW5kVG8oIi5taWwtY3VycmVudC1wYWdlIik7CiAgICB9KTsKCiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqCgogICAgYWNjb3JkaW9uCgogICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogICAgbGV0IGdyb3VwcyA9IGdzYXAudXRpbHMudG9BcnJheSgiLm1pbC1hY2NvcmRpb24tZ3JvdXAiKTsKICAgIGxldCBtZW51cyA9IGdzYXAudXRpbHMudG9BcnJheSgiLm1pbC1hY2NvcmRpb24tbWVudSIpOwogICAgbGV0IG1lbnVUb2dnbGVzID0gZ3JvdXBzLm1hcChjcmVhdGVBbmltYXRpb24pOwoKICAgIG1lbnVzLmZvckVhY2goKG1lbnUpID0+IHsKICAgICAgICBtZW51LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gdG9nZ2xlTWVudShtZW51KSk7CiAgICB9KTsKCiAgICBmdW5jdGlvbiB0b2dnbGVNZW51KGNsaWNrZWRNZW51KSB7CiAgICAgICAgbWVudVRvZ2dsZXMuZm9yRWFjaCgodG9nZ2xlRm4pID0+IHRvZ2dsZUZuKGNsaWNrZWRNZW51KSk7CiAgICB9CgogICAgZnVuY3Rpb24gY3JlYXRlQW5pbWF0aW9uKGVsZW1lbnQpIHsKICAgICAgICBsZXQgbWVudSA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcigiLm1pbC1hY2NvcmRpb24tbWVudSIpOwogICAgICAgIGxldCBib3ggPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5taWwtYWNjb3JkaW9uLWNvbnRlbnQiKTsKICAgICAgICBsZXQgc3ltYm9sID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yKCIubWlsLXN5bWJvbCIpOwogICAgICAgIGxldCBtaW51c0VsZW1lbnQgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5taWwtbWludXMiKTsKICAgICAgICBsZXQgcGx1c0VsZW1lbnQgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5taWwtcGx1cyIpOwoKICAgICAgICBnc2FwLnNldChib3gsIHsKICAgICAgICAgICAgaGVpZ2h0OiAiYXV0byIsCiAgICAgICAgfSk7CgogICAgICAgIGxldCBhbmltYXRpb24gPSBnc2FwCiAgICAgICAgICAgIC50aW1lbGluZSgpCiAgICAgICAgICAgIC5mcm9tKGJveCwgewogICAgICAgICAgICAgICAgaGVpZ2h0OiAwLAogICAgICAgICAgICAgICAgZHVyYXRpb246IDAuNCwKICAgICAgICAgICAgICAgIGVhc2U6ICJzaW5lIgogICAgICAgICAgICB9KQogICAgICAgICAgICAuZnJvbShtaW51c0VsZW1lbnQsIHsKICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAwLjQsCiAgICAgICAgICAgICAgICBhdXRvQWxwaGE6IDAsCiAgICAgICAgICAgICAgICBlYXNlOiAibm9uZSIsCiAgICAgICAgICAgIH0sIDApCiAgICAgICAgICAgIC50byhwbHVzRWxlbWVudCwgewogICAgICAgICAgICAgICAgZHVyYXRpb246IDAuNCwKICAgICAgICAgICAgICAgIGF1dG9BbHBoYTogMCwKICAgICAgICAgICAgICAgIGVhc2U6ICJub25lIiwKICAgICAgICAgICAgfSwgMCkKICAgICAgICAgICAgLnRvKHN5bWJvbCwgewogICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyaWFibGVzLmFjY2VudENvbG9yLAogICAgICAgICAgICAgICAgZWFzZTogIm5vbmUiLAogICAgICAgICAgICB9LCAwKQogICAgICAgICAgICAucmV2ZXJzZSgpOwoKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKGNsaWNrZWRNZW51KSB7CiAgICAgICAgICAgIGlmIChjbGlja2VkTWVudSA9PT0gbWVudSkgewogICAgICAgICAgICAgICAgYW5pbWF0aW9uLnJldmVyc2VkKCFhbmltYXRpb24ucmV2ZXJzZWQoKSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBhbmltYXRpb24ucmV2ZXJzZSgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH0KCiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqCgogICAgYmFjayB0byB0b3AKCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAgICBpZiAoJCh3aW5kb3cpLndpZHRoKCkgPiA5OTEpIHsKICAgIGNvbnN0IGJ0dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5taWwtYmFjay10by10b3AgLm1pbC1saW5rIik7CgogICAgZ3NhcC5zZXQoYnR0LCB7CiAgICAgICAgeDogLTMwLAogICAgICAgIG9wYWNpdHk6IDAsCiAgICB9KTsKCiAgICBnc2FwLnRvKGJ0dCwgewogICAgICAgIHg6IDAsCiAgICAgICAgb3BhY2l0eTogMSwKICAgICAgICBlYXNlOiAnc2luZScsCiAgICAgICAgc2Nyb2xsVHJpZ2dlcjogewogICAgICAgICAgICB0cmlnZ2VyOiAiYm9keSIsCiAgICAgICAgICAgIHN0YXJ0OiAidG9wIC00MCUiLAogICAgICAgICAgICBlbmQ6ICJ0b3AgLTQwJSIsCiAgICAgICAgICAgIHRvZ2dsZUFjdGlvbnM6ICJwbGF5IG5vbmUgcmV2ZXJzZSBub25lIgogICAgICAgIH0KICAgIH0pOwogICAgfQoKICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioKCiAgICBjdXJzb3IKCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAgICBjb25zdCBjdXJzb3IgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubWlsLWJhbGwnKTsKCiAgICBnc2FwLnNldChjdXJzb3IsIHsKICAgICAgICB4UGVyY2VudDogLTUwLAogICAgICAgIHlQZXJjZW50OiAtNTAsCiAgICB9KTsKCiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVybW92ZScsIG1vdmVjdXJzb3IpOwoKICAgIGZ1bmN0aW9uIG1vdmVjdXJzb3IoZSkgewogICAgICAgIGdzYXAudG8oY3Vyc29yLCB7CiAgICAgICAgICAgIGR1cmF0aW9uOiAwLjYsCiAgICAgICAgICAgIGVhc2U6ICdzaW5lJywKICAgICAgICAgICAgeDogZS5jbGllbnRYLAogICAgICAgICAgICB5OiBlLmNsaWVudFksCiAgICAgICAgfSk7CiAgICB9CgogICAgJCgnLm1pbC1kcmFnLCAubWlsLW1vcmUsIC5taWwtY2hvb3NlJykubW91c2VvdmVyKGZ1bmN0aW9uICgpIHsKICAgICAgICBnc2FwLnRvKCQoY3Vyc29yKSwgLjIsIHsKICAgICAgICAgICAgd2lkdGg6IDkwLAogICAgICAgICAgICBoZWlnaHQ6IDkwLAogICAgICAgICAgICBvcGFjaXR5OiAxLAogICAgICAgICAgICBlYXNlOiAnc2luZScsCiAgICAgICAgfSk7CiAgICB9KTsKCiAgICAkKCcubWlsLWRyYWcsIC5taWwtbW9yZSwgLm1pbC1jaG9vc2UnKS5tb3VzZWxlYXZlKGZ1bmN0aW9uICgpIHsKICAgICAgICBnc2FwLnRvKCQoY3Vyc29yKSwgLjIsIHsKICAgICAgICAgICAgd2lkdGg6IDIwLAogICAgICAgICAgICBoZWlnaHQ6IDIwLAogICAgICAgICAgICBvcGFjaXR5OiAuMSwKICAgICAgICAgICAgZWFzZTogJ3NpbmUnLAogICAgICAgIH0pOwogICAgfSk7CgogICAgJCgnLm1pbC1hY2NlbnQtY3Vyc29yJykubW91c2VvdmVyKGZ1bmN0aW9uICgpIHsKICAgICAgICBnc2FwLnRvKCQoY3Vyc29yKSwgLjIsIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyaWFibGVzLmFjY2VudENvbG9yLAogICAgICAgICAgICBlYXNlOiAnc2luZScsCiAgICAgICAgfSk7CiAgICAgICAgJChjdXJzb3IpLmFkZENsYXNzKCdtaWwtYWNjZW50Jyk7CiAgICB9KTsKCiAgICAkKCcubWlsLWFjY2VudC1jdXJzb3InKS5tb3VzZWxlYXZlKGZ1bmN0aW9uICgpIHsKICAgICAgICBnc2FwLnRvKCQoY3Vyc29yKSwgLjIsIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyaWFibGVzLmRhcmtDb2xvciwKICAgICAgICAgICAgZWFzZTogJ3NpbmUnLAogICAgICAgIH0pOwogICAgICAgICQoY3Vyc29yKS5yZW1vdmVDbGFzcygnbWlsLWFjY2VudCcpOwogICAgfSk7CgogICAgJCgnLm1pbC1kcmFnJykubW91c2VvdmVyKGZ1bmN0aW9uICgpIHsKICAgICAgICBnc2FwLnRvKCQoJy5taWwtYmFsbCAubWlsLWljb24tMScpLCAuMiwgewogICAgICAgICAgICBzY2FsZTogJzEnLAogICAgICAgICAgICBlYXNlOiAnc2luZScsCiAgICAgICAgfSk7CiAgICB9KTsKCiAgICAkKCcubWlsLWRyYWcnKS5tb3VzZWxlYXZlKGZ1bmN0aW9uICgpIHsKICAgICAgICBnc2FwLnRvKCQoJy5taWwtYmFsbCAubWlsLWljb24tMScpLCAuMiwgewogICAgICAgICAgICBzY2FsZTogJzAnLAogICAgICAgICAgICBlYXNlOiAnc2luZScsCiAgICAgICAgfSk7CiAgICB9KTsKCiAgICAkKCcubWlsLW1vcmUnKS5tb3VzZW92ZXIoZnVuY3Rpb24gKCkgewogICAgICAgIGdzYXAudG8oJCgnLm1pbC1iYWxsIC5taWwtbW9yZS10ZXh0JyksIC4yLCB7CiAgICAgICAgICAgIHNjYWxlOiAnMScsCiAgICAgICAgICAgIGVhc2U6ICdzaW5lJywKICAgICAgICB9KTsKICAgIH0pOwoKICAgICQoJy5taWwtbW9yZScpLm1vdXNlbGVhdmUoZnVuY3Rpb24gKCkgewogICAgICAgIGdzYXAudG8oJCgnLm1pbC1iYWxsIC5taWwtbW9yZS10ZXh0JyksIC4yLCB7CiAgICAgICAgICAgIHNjYWxlOiAnMCcsCiAgICAgICAgICAgIGVhc2U6ICdzaW5lJywKICAgICAgICB9KTsKICAgIH0pOwoKICAgICQoJy5taWwtY2hvb3NlJykubW91c2VvdmVyKGZ1bmN0aW9uICgpIHsKICAgICAgICBnc2FwLnRvKCQoJy5taWwtYmFsbCAubWlsLWNob29zZS10ZXh0JyksIC4yLCB7CiAgICAgICAgICAgIHNjYWxlOiAnMScsCiAgICAgICAgICAgIGVhc2U6ICdzaW5lJywKICAgICAgICB9KTsKICAgIH0pOwoKICAgICQoJy5taWwtY2hvb3NlJykubW91c2VsZWF2ZShmdW5jdGlvbiAoKSB7CiAgICAgICAgZ3NhcC50bygkKCcubWlsLWJhbGwgLm1pbC1jaG9vc2UtdGV4dCcpLCAuMiwgewogICAgICAgICAgICBzY2FsZTogJzAnLAogICAgICAgICAgICBlYXNlOiAnc2luZScsCiAgICAgICAgfSk7CiAgICB9KTsKCiAgICAkKCdhOm5vdCgiLm1pbC1jaG9vc2UgLCAubWlsLW1vcmUgLCAubWlsLWRyYWcgLCAubWlsLWFjY2VudC1jdXJzb3IiKSwgaW5wdXQgLCB0ZXh0YXJlYSwgLm1pbC1hY2NvcmRpb24tbWVudScpLm1vdXNlb3ZlcihmdW5jdGlvbiAoKSB7CiAgICAgICAgZ3NhcC50bygkKGN1cnNvciksIC4yLCB7CiAgICAgICAgICAgIHNjYWxlOiAwLAogICAgICAgICAgICBlYXNlOiAnc2luZScsCiAgICAgICAgfSk7CiAgICAgICAgZ3NhcC50bygkKCcubWlsLWJhbGwgc3ZnJyksIC4yLCB7CiAgICAgICAgICAgIHNjYWxlOiAwLAogICAgICAgIH0pOwogICAgfSk7CgogICAgJCgnYTpub3QoIi5taWwtY2hvb3NlICwgLm1pbC1tb3JlICwgLm1pbC1kcmFnICwgLm1pbC1hY2NlbnQtY3Vyc29yIiksIGlucHV0LCB0ZXh0YXJlYSwgLm1pbC1hY2NvcmRpb24tbWVudScpLm1vdXNlbGVhdmUoZnVuY3Rpb24gKCkgewogICAgICAgIGdzYXAudG8oJChjdXJzb3IpLCAuMiwgewogICAgICAgICAgICBzY2FsZTogMSwKICAgICAgICAgICAgZWFzZTogJ3NpbmUnLAogICAgICAgIH0pOwoKICAgICAgICBnc2FwLnRvKCQoJy5taWwtYmFsbCBzdmcnKSwgLjIsIHsKICAgICAgICAgICAgc2NhbGU6IDEsCiAgICAgICAgfSk7CiAgICB9KTsKCiAgICAkKCdib2R5JykubW91c2Vkb3duKGZ1bmN0aW9uICgpIHsKICAgICAgICBnc2FwLnRvKCQoY3Vyc29yKSwgLjIsIHsKICAgICAgICAgICAgc2NhbGU6IC4xLAogICAgICAgICAgICBlYXNlOiAnc2luZScsCiAgICAgICAgfSk7CiAgICB9KTsKICAgICQoJ2JvZHknKS5tb3VzZXVwKGZ1bmN0aW9uICgpIHsKICAgICAgICBnc2FwLnRvKCQoY3Vyc29yKSwgLjIsIHsKICAgICAgICAgICAgc2NhbGU6IDEsCiAgICAgICAgICAgIGVhc2U6ICdzaW5lJywKICAgICAgICB9KTsKICAgIH0pOwoKICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioKCiAgICAgbWVudQoKICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICAgICQoJy5taWwtbWVudS1idG4nKS5vbigiY2xpY2siLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgJCgnLm1pbC1tZW51LWJ0bicpLnRvZ2dsZUNsYXNzKCdtaWwtYWN0aXZlJyk7CiAgICAgICAgJCgnLm1pbC1tZW51JykudG9nZ2xlQ2xhc3MoJ21pbC1hY3RpdmUnKTsKICAgICAgICAkKCcubWlsLW1lbnUtZnJhbWUnKS50b2dnbGVDbGFzcygnbWlsLWFjdGl2ZScpOwogICAgfSk7CgogICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKgoKICAgIG1haW4gbWVudQoKICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICAgICQoJy5taWwtaGFzLWNoaWxkcmVuID4gYScpLmFmdGVyKCc8ZGl2IGNsYXNzPSJhcnJvdy1kcm9wZG93biI+PGkgY2xhc3M9ImZhIGZhLWNoZXZyb24tZG93biI+PC9pPjwvZGl2PicpOwogICAgJCgnLm1pbC1oYXMtY2hpbGRyZW4nKS5vbignY2xpY2snLCAnPiAuYXJyb3ctZHJvcGRvd24nLCBmdW5jdGlvbiAoZSkgewogICAgICAgIGlmICggJCh0aGlzKS5wcmV2KCkuaGFzQ2xhc3MoJ21pbC1hY3RpdmUnKSApIHsKICAgICAgICAgICAgJCgnLm1pbC1oYXMtY2hpbGRyZW4gPiB1bCcpLnJlbW92ZUNsYXNzKCdtaWwtYWN0aXZlJyk7CiAgICAgICAgICAgICQoJy5taWwtaGFzLWNoaWxkcmVuID4gYScpLnJlbW92ZUNsYXNzKCdtaWwtYWN0aXZlJyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJCh0aGlzKS5wcmV2KCkudG9nZ2xlQ2xhc3MoJ21pbC1hY3RpdmUnKTsKICAgICAgICAgICAgJCh0aGlzKS5uZXh0KCkudG9nZ2xlQ2xhc3MoJ21pbC1hY3RpdmUnKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0pOwoKICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioKCiAgICBwcm9ncmVzc2JhcgoKICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICAgIGlmICgkKHdpbmRvdykud2lkdGgoKSA+IDk5MSkgewogICAgdmFyIHNtb290aFNjcm9sbEVuYWJsZSA9ICQoJy5taWwtd3JhcHBlcicpLmRhdGEoJ3Ntb290aC1zY3JvbGwnKTsKCiAgICBpZiAoIHNtb290aFNjcm9sbEVuYWJsZSApIHsKICAgIGdzYXAudG8oJy5taWwtcHJvZ3Jlc3MnLCB7CiAgICAgICAgaGVpZ2h0OiAnMTAwJScsCiAgICAgICAgZWFzZTogJ3NpbmUnLAogICAgICAgIHNjcm9sbFRyaWdnZXI6IHsKICAgICAgICAgICAgc2NydWI6IDAuMwogICAgICAgIH0KICAgIH0pOwogICAgfQogICAgfQoKICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioKCiAgICBzY3JvbGwgYW5pbWF0aW9ucwoKICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICAgIGlmICggIWVsZW1lbnRvciApIHsKICAgIGNvbnN0IGFwcGVhcmFuY2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIubWlsLXVwIik7CiAgICBhcHBlYXJhbmNlLmZvckVhY2goKHNlY3Rpb24pID0+IHsKICAgICAgICBnc2FwLmZyb21UbyhzZWN0aW9uLCB7CiAgICAgICAgICAgIG9wYWNpdHk6IDAsCiAgICAgICAgICAgIHk6IDQwLAogICAgICAgICAgICBzY2FsZTogLjk4LAogICAgICAgICAgICBlYXNlOiAnc2luZScsCiAgICAgICAgICAgIG9uQ29tcGxldGU6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgJChzZWN0aW9uKS5hZGRDbGFzcygnbWlsLXVwLWNvbXBsZXRlZCcpOwogICAgICAgICAgICB9LAogICAgICAgIH0sIHsKICAgICAgICAgICAgeTogMCwKICAgICAgICAgICAgb3BhY2l0eTogMSwKICAgICAgICAgICAgc2NhbGU6IDEsCiAgICAgICAgICAgIGR1cmF0aW9uOiAuNCwKICAgICAgICAgICAgc2Nyb2xsVHJpZ2dlcjogewogICAgICAgICAgICAgICAgdHJpZ2dlcjogc2VjdGlvbiwKICAgICAgICAgICAgICAgIHRvZ2dsZUFjdGlvbnM6ICdwbGF5IG5vbmUgbm9uZSByZXZlcnNlJywKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7CgogICAgY29uc3Qgc2NhbGVJbWFnZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5taWwtc2NhbGUiKTsKICAgIHNjYWxlSW1hZ2UuZm9yRWFjaCgoc2VjdGlvbikgPT4gewogICAgICAgIHZhciB2YWx1ZTEgPSAkKHNlY3Rpb24pLmRhdGEoInZhbHVlLTEiKTsKICAgICAgICB2YXIgdmFsdWUyID0gJChzZWN0aW9uKS5kYXRhKCJ2YWx1ZS0yIik7CiAgICAgICAgZ3NhcC5mcm9tVG8oc2VjdGlvbiwgewogICAgICAgICAgICBlYXNlOiAnc2luZScsCiAgICAgICAgICAgIHNjYWxlOiB2YWx1ZTEsCgogICAgICAgIH0sIHsKICAgICAgICAgICAgc2NhbGU6IHZhbHVlMiwKICAgICAgICAgICAgc2Nyb2xsVHJpZ2dlcjogewogICAgICAgICAgICAgICAgdHJpZ2dlcjogc2VjdGlvbiwKICAgICAgICAgICAgICAgIHNjcnViOiB0cnVlLAogICAgICAgICAgICAgICAgdG9nZ2xlQWN0aW9uczogJ3BsYXkgbm9uZSBub25lIHJldmVyc2UnLAogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9KTsKCiAgICBjb25zdCBwYXJhbGxheEltYWdlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLm1pbC1wYXJhbGxheCIpOwogICAgaWYgKCQod2luZG93KS53aWR0aCgpID4gOTYwKSB7CiAgICAgICAgcGFyYWxsYXhJbWFnZS5mb3JFYWNoKChzZWN0aW9uKSA9PiB7CiAgICAgICAgICAgIHZhciB2YWx1ZTEgPSAkKHNlY3Rpb24pLmRhdGEoInZhbHVlLTEiKTsKICAgICAgICAgICAgdmFyIHZhbHVlMiA9ICQoc2VjdGlvbikuZGF0YSgidmFsdWUtMiIpOwogICAgICAgICAgICBnc2FwLmZyb21UbyhzZWN0aW9uLCB7CiAgICAgICAgICAgICAgICBlYXNlOiAnc2luZScsCiAgICAgICAgICAgICAgICB5OiB2YWx1ZTEsCgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICB5OiB2YWx1ZTIsCiAgICAgICAgICAgICAgICBzY3JvbGxUcmlnZ2VyOiB7CiAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogc2VjdGlvbiwKICAgICAgICAgICAgICAgICAgICBzY3J1YjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICB0b2dnbGVBY3Rpb25zOiAncGxheSBub25lIG5vbmUgcmV2ZXJzZScsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgfQoKICAgIGNvbnN0IHJvdGF0ZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5taWwtcm90YXRlIik7CiAgICByb3RhdGUuZm9yRWFjaCgoc2VjdGlvbikgPT4gewogICAgICAgIHZhciB2YWx1ZSA9ICQoc2VjdGlvbikuZGF0YSgidmFsdWUiKTsKICAgICAgICBnc2FwLmZyb21UbyhzZWN0aW9uLCB7CiAgICAgICAgICAgIGVhc2U6ICdzaW5lJywKICAgICAgICAgICAgcm90YXRlOiAwLAoKICAgICAgICB9LCB7CiAgICAgICAgICAgIHJvdGF0ZTogdmFsdWUsCiAgICAgICAgICAgIHNjcm9sbFRyaWdnZXI6IHsKICAgICAgICAgICAgICAgIHRyaWdnZXI6IHNlY3Rpb24sCiAgICAgICAgICAgICAgICBzY3J1YjogdHJ1ZSwKICAgICAgICAgICAgICAgIHRvZ2dsZUFjdGlvbnM6ICdwbGF5IG5vbmUgbm9uZSByZXZlcnNlJywKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7CiAgICB9CgogICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKgoKICAgIHJldmlld3Mgc2xpZGVyCgogICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogICAgdmFyIG1lbnUgPSBbJzxkaXYgY2xhc3M9Im1pbC1jdXN0b20tZG90IG1pbC1zbGlkZS0xIj48L2Rpdj4nLCAnPGRpdiBjbGFzcz0ibWlsLWN1c3RvbS1kb3QgbWlsLXNsaWRlLTIiPjwvZGl2PicsICc8ZGl2IGNsYXNzPSJtaWwtY3VzdG9tLWRvdCBtaWwtc2xpZGUtMyI+PC9kaXY+JywgJzxkaXYgY2xhc3M9Im1pbC1jdXN0b20tZG90IG1pbC1zbGlkZS00Ij48L2Rpdj4nLCAnPGRpdiBjbGFzcz0ibWlsLWN1c3RvbS1kb3QgbWlsLXNsaWRlLTUiPjwvZGl2PicsICc8ZGl2IGNsYXNzPSJtaWwtY3VzdG9tLWRvdCBtaWwtc2xpZGUtNiI+PC9kaXY+JywgJzxkaXYgY2xhc3M9Im1pbC1jdXN0b20tZG90IG1pbC1zbGlkZS03Ij48L2Rpdj4nXQogICAgdmFyIG15U3dpcGVyID0gbmV3IFN3aXBlcignLm1pbC1yZXZpZXdzLXNsaWRlcicsIHsKICAgICAgICAvLyBJZiB3ZSBuZWVkIHBhZ2luYXRpb24KICAgICAgICBwYWdpbmF0aW9uOiB7CiAgICAgICAgICAgIGVsOiAnLm1pbC1yZXZpLXBhZ2luYXRpb24nLAogICAgICAgICAgICBjbGlja2FibGU6IHRydWUsCiAgICAgICAgICAgIHJlbmRlckJ1bGxldDogZnVuY3Rpb24gKGluZGV4LCBjbGFzc05hbWUpIHsKICAgICAgICAgICAgICAgIHZhciBpbWFnZSA9ICQoJy5taWwtcmV2aWV3LScrKGluZGV4KzEpKS5kYXRhKCdpbWFnZScpOwogICAgICAgICAgICAgICAgcmV0dXJuICc8c3BhbiBjbGFzcz0iJyArIGNsYXNzTmFtZSArICciPjxzcGFuIGNsYXNzPSJtaWwtY3VzdG9tLWRvdCBtaWwtc2xpZGUtJyArIChpbmRleCsxKSArICciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyArIGltYWdlICsgJykiPjwvc3Bhbj48L3NwYW4+JzsKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIHNwZWVkOiA4MDAsCiAgICAgICAgZWZmZWN0OiAnZmFkZScsCiAgICAgICAgcGFyYWxsYXg6IHRydWUsCiAgICAgICAgbmF2aWdhdGlvbjogewogICAgICAgICAgICBuZXh0RWw6ICcubWlsLXJldmktbmV4dCcsCiAgICAgICAgICAgIHByZXZFbDogJy5taWwtcmV2aS1wcmV2JywKICAgICAgICB9LAogICAgfSkKCiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqCgogICAgaW5maW5pdGUgc2xpZGVyCgogICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogICAgdmFyIHN3aXBlciA9IG5ldyBTd2lwZXIoJy5taWwtaW5maW5pdGUtc2hvdycsIHsKICAgICAgICBzbGlkZXNQZXJWaWV3OiAyLAogICAgICAgIHNwYWNlQmV0d2VlbjogMzAsCiAgICAgICAgc3BlZWQ6IDUwMDAsCiAgICAgICAgYXV0b3BsYXk6IHRydWUsCiAgICAgICAgYXV0b3BsYXk6IHsKICAgICAgICAgICAgZGVsYXk6IDAsCiAgICAgICAgfSwKICAgICAgICBsb29wOiB0cnVlLAogICAgICAgIGZyZWVNb2RlOiB0cnVlLAogICAgICAgIGJyZWFrcG9pbnRzOiB7CiAgICAgICAgICAgIDk5MjogewogICAgICAgICAgICAgICAgc2xpZGVzUGVyVmlldzogNCwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgfSk7CgogICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKgoKICAgIHBvcnRmb2xpbyBzbGlkZXIKCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAgICB2YXIgcF9tb3VzZXdoZWVsID0gdHJ1ZTsKICAgIHZhciBwX21vdXNld2hlZWxfcGFyYW0gPSAkKCcubWlsLXBvcnRmb2xpby1zbGlkZXInKS5kYXRhKCdtb3VzZXdoZWVsJyk7CiAgICBpZiAocF9tb3VzZXdoZWVsX3BhcmFtID09ICdmYWxzZScpIHsKICAgICAgICBwX21vdXNld2hlZWwgPSBmYWxzZTsKICAgIH0KICAgIHZhciBzd2lwZXIgPSBuZXcgU3dpcGVyKCcubWlsLXBvcnRmb2xpby1zbGlkZXInLCB7CiAgICAgICAgc2xpZGVzUGVyVmlldzogMSwKICAgICAgICBzcGFjZUJldHdlZW46IDAsCiAgICAgICAgc3BlZWQ6IDgwMCwKICAgICAgICBwYXJhbGxheDogdHJ1ZSwKICAgICAgICBtb3VzZXdoZWVsOiB7CiAgICAgICAgICAgIGVuYWJsZTogcF9tb3VzZXdoZWVsCiAgICAgICAgfSwKICAgICAgICBuYXZpZ2F0aW9uOiB7CiAgICAgICAgICAgIG5leHRFbDogJy5taWwtcG9ydGZvbGlvLW5leHQnLAogICAgICAgICAgICBwcmV2RWw6ICcubWlsLXBvcnRmb2xpby1wcmV2JywKICAgICAgICB9LAogICAgICAgIHBhZ2luYXRpb246IHsKICAgICAgICAgICAgZWw6ICcuc3dpcGVyLXBvcnRmb2xpby1wYWdpbmF0aW9uJywKICAgICAgICAgICAgdHlwZTogJ2ZyYWN0aW9uJywKICAgICAgICB9LAogICAgfSk7CgogICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKgoKICAgIDEgaXRlbSBzbGlkZXIKCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAgICB2YXIgc3dpcGVyID0gbmV3IFN3aXBlcignLm1pbC0xLXNsaWRlcicsIHsKICAgICAgICBzbGlkZXNQZXJWaWV3OiAxLAogICAgICAgIHNwYWNlQmV0d2VlbjogMzAsCiAgICAgICAgc3BlZWQ6IDgwMCwKICAgICAgICBwYXJhbGxheDogdHJ1ZSwKICAgICAgICBuYXZpZ2F0aW9uOiB7CiAgICAgICAgICAgIG5leHRFbDogJy5taWwtcG9ydGZvbGlvLW5leHQnLAogICAgICAgICAgICBwcmV2RWw6ICcubWlsLXBvcnRmb2xpby1wcmV2JywKICAgICAgICB9LAogICAgICAgIHBhZ2luYXRpb246IHsKICAgICAgICAgICAgZWw6ICcuc3dpcGVyLXBvcnRmb2xpby1wYWdpbmF0aW9uJywKICAgICAgICAgICAgdHlwZTogJ2ZyYWN0aW9uJywKICAgICAgICB9LAogICAgfSk7CgogICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKgoKICAgIDIgaXRlbSBzbGlkZXIKCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAgICB2YXIgc3dpcGVyID0gbmV3IFN3aXBlcignLm1pbC0yLXNsaWRlcicsIHsKICAgICAgICBzbGlkZXNQZXJWaWV3OiAxLAogICAgICAgIHNwYWNlQmV0d2VlbjogMzAsCiAgICAgICAgc3BlZWQ6IDgwMCwKICAgICAgICBwYXJhbGxheDogdHJ1ZSwKICAgICAgICBuYXZpZ2F0aW9uOiB7CiAgICAgICAgICAgIG5leHRFbDogJy5taWwtcG9ydGZvbGlvLW5leHQnLAogICAgICAgICAgICBwcmV2RWw6ICcubWlsLXBvcnRmb2xpby1wcmV2JywKICAgICAgICB9LAogICAgICAgIHBhZ2luYXRpb246IHsKICAgICAgICAgICAgZWw6ICcuc3dpcGVyLXBvcnRmb2xpby1wYWdpbmF0aW9uJywKICAgICAgICAgICAgdHlwZTogJ2ZyYWN0aW9uJywKICAgICAgICB9LAogICAgICAgIGJyZWFrcG9pbnRzOiB7CiAgICAgICAgICAgIDk5MjogewogICAgICAgICAgICAgICAgc2xpZGVzUGVyVmlldzogMiwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgfSk7CgogICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKgoKICAgIE1hZ25pZmljIFBvcHVwcwoKICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICAgIGlmKC9cLig/OmpwZ3xqcGVnfGdpZnxwbmcpJC9pLnRlc3QoJCgnLndwLWJsb2NrLWdhbGxlcnkgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW06Zmlyc3QgYScpLmF0dHIoJ2hyZWYnKSkpewogICAgJCgnLndwLWJsb2NrLWdhbGxlcnkgYScpLm1hZ25pZmljUG9wdXAoewogICAgICAgIGdhbGxlcnk6IHsKICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICAgIH0sCiAgICAgICAgdHlwZTogJ2ltYWdlJywKICAgICAgICBjbG9zZU9uQ29udGVudENsaWNrOiBmYWxzZSwKICAgICAgICBmaXhlZENvbnRlbnRQb3M6IGZhbHNlLAogICAgICAgIGNsb3NlQnRuSW5zaWRlOiBmYWxzZSwKICAgICAgICBjYWxsYmFja3M6IHsKICAgICAgICBiZWZvcmVPcGVuOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgLy8ganVzdCBhIGhhY2sgdGhhdCBhZGRzIG1mcC1hbmltIGNsYXNzIHRvIG1hcmt1cAogICAgICAgICAgICB0aGlzLnN0LmltYWdlLm1hcmt1cCA9IHRoaXMuc3QuaW1hZ2UubWFya3VwLnJlcGxhY2UoJ21mcC1maWd1cmUnLCAnbWZwLWZpZ3VyZSBtZnAtd2l0aC1hbmltJyk7CiAgICAgICAgICAgIHRoaXMuc3QubWFpbkNsYXNzID0gJ21mcC16b29tLWluJzsKICAgICAgICB9CiAgICAgICAgfSwKICAgIH0pOwogICAgfQogICAgJCgnW2RhdGEtbWFnbmlmaWMtaW5saW5lXScpLm1hZ25pZmljUG9wdXAoewogICAgdHlwZTogJ2lubGluZScsCiAgICBvdmVyZmxvd1k6ICdhdXRvJywKICAgIHByZWxvYWRlcjogZmFsc2UsCiAgICBjYWxsYmFja3M6IHsKICAgICAgICBiZWZvcmVPcGVuOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdGhpcy5zdC5tYWluQ2xhc3MgPSAnbWZwLXpvb20taW4nOwogICAgICAgIH0KICAgIH0sCiAgICB9KTsKICAgICQoJ1tkYXRhLW1hZ25pZmljLWltYWdlXScpLm1hZ25pZmljUG9wdXAoewogICAgdHlwZTogJ2ltYWdlJywKICAgIGNsb3NlT25Db250ZW50Q2xpY2s6IHRydWUsCiAgICBmaXhlZENvbnRlbnRQb3M6IGZhbHNlLAogICAgY2xvc2VCdG5JbnNpZGU6IGZhbHNlLAogICAgY2FsbGJhY2tzOiB7CiAgICAgICAgYmVmb3JlT3BlbjogZnVuY3Rpb24oKSB7CiAgICAgICAgLy8ganVzdCBhIGhhY2sgdGhhdCBhZGRzIG1mcC1hbmltIGNsYXNzIHRvIG1hcmt1cAogICAgICAgICAgICB0aGlzLnN0LmltYWdlLm1hcmt1cCA9IHRoaXMuc3QuaW1hZ2UubWFya3VwLnJlcGxhY2UoJ21mcC1maWd1cmUnLCAnbWZwLWZpZ3VyZSBtZnAtd2l0aC1hbmltJyk7CiAgICAgICAgICAgIHRoaXMuc3QubWFpbkNsYXNzID0gJ21mcC16b29tLWluJzsKICAgICAgICB9CiAgICB9LAogICAgfSk7CiAgICBpZiAoISQoJ2JvZHknKS5oYXNDbGFzcygnZWxlbWVudG9yLXBhZ2UnKSkgewogICAgJCgiYSIpLmVhY2goZnVuY3Rpb24oaSwgZWwpIHsKICAgICAgICB2YXIgaHJlZl92YWx1ZSA9IGVsLmhyZWY7CiAgICAgICAgaWYgKC9cLihqcGd8cG5nfGdpZikkLy50ZXN0KGhyZWZfdmFsdWUpKSB7CiAgICAgICAgICAgICQoZWwpLm1hZ25pZmljUG9wdXAoewogICAgICAgICAgICB0eXBlOiAnaW1hZ2UnLAogICAgICAgICAgICBjbG9zZU9uQ29udGVudENsaWNrOiB0cnVlLAogICAgICAgICAgICBmaXhlZENvbnRlbnRQb3M6IGZhbHNlLAogICAgICAgICAgICBjbG9zZUJ0bkluc2lkZTogZmFsc2UsCiAgICAgICAgICAgIGNhbGxiYWNrczogewogICAgICAgICAgICAgICAgYmVmb3JlT3BlbjogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAvLyBqdXN0IGEgaGFjayB0aGF0IGFkZHMgbWZwLWFuaW0gY2xhc3MgdG8gbWFya3VwCiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdC5pbWFnZS5tYXJrdXAgPSB0aGlzLnN0LmltYWdlLm1hcmt1cC5yZXBsYWNlKCdtZnAtZmlndXJlJywgJ21mcC1maWd1cmUgbWZwLXdpdGgtYW5pbScpOwogICAgICAgICAgICAgICAgICAgIHRoaXMuc3QubWFpbkNsYXNzID0gJ21mcC16b29tLWluJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgfSk7CiAgICB9CiAgICAkKCdbZGF0YS1tYWduaWZpYy12aWRlb10nKS5tYWduaWZpY1BvcHVwKHsKICAgIHR5cGU6ICdpZnJhbWUnLAogICAgaWZyYW1lOiB7CiAgICAgICAgcGF0dGVybnM6IHsKICAgICAgICAgICAgeW91dHViZV9zaG9ydDogewogICAgICAgICAgICAgICAgaW5kZXg6ICd5b3V0dS5iZS8nLAogICAgICAgICAgICAgICAgaWQ6ICd5b3V0dS5iZS8nLAogICAgICAgICAgICAgICAgc3JjOiAnaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvJWlkJT9hdXRvcGxheT0xJwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSwKICAgIHByZWxvYWRlcjogZmFsc2UsCiAgICBmaXhlZENvbnRlbnRQb3M6IGZhbHNlLAogICAgY2FsbGJhY2tzOiB7CiAgICAgICAgbWFya3VwUGFyc2U6IGZ1bmN0aW9uKHRlbXBsYXRlLCB2YWx1ZXMsIGl0ZW0pIHsKICAgICAgICB0ZW1wbGF0ZS5maW5kKCdpZnJhbWUnKS5hdHRyKCdhbGxvdycsICdhdXRvcGxheScpOwogICAgICAgIH0sCiAgICAgICAgYmVmb3JlT3BlbjogZnVuY3Rpb24oKSB7CiAgICAgICAgLy8ganVzdCBhIGhhY2sgdGhhdCBhZGRzIG1mcC1hbmltIGNsYXNzIHRvIG1hcmt1cAogICAgICAgICAgICB0aGlzLnN0LmltYWdlLm1hcmt1cCA9IHRoaXMuc3QuaW1hZ2UubWFya3VwLnJlcGxhY2UoJ21mcC1maWd1cmUnLCAnbWZwLWZpZ3VyZSBtZnAtd2l0aC1hbmltJyk7CiAgICAgICAgICAgIHRoaXMuc3QubWFpbkNsYXNzID0gJ21mcC16b29tLWluJzsKICAgICAgICB9CiAgICB9LAogICAgfSk7CiAgICAkKCdbZGF0YS1tYWduaWZpYy1tdXNpY10nKS5tYWduaWZpY1BvcHVwKHsKICAgIHR5cGU6ICdpZnJhbWUnLAogICAgcHJlbG9hZGVyOiBmYWxzZSwKICAgIGZpeGVkQ29udGVudFBvczogZmFsc2UsCiAgICBjbG9zZUJ0bkluc2lkZTogdHJ1ZSwKICAgIGNhbGxiYWNrczogewogICAgICAgIGJlZm9yZU9wZW46IGZ1bmN0aW9uKCkgewogICAgICAgIC8vIGp1c3QgYSBoYWNrIHRoYXQgYWRkcyBtZnAtYW5pbSBjbGFzcyB0byBtYXJrdXAKICAgICAgICAgICAgdGhpcy5zdC5pbWFnZS5tYXJrdXAgPSB0aGlzLnN0LmltYWdlLm1hcmt1cC5yZXBsYWNlKCdtZnAtZmlndXJlJywgJ21mcC1maWd1cmUgbWZwLXdpdGgtYW5pbScpOwogICAgICAgICAgICB0aGlzLnN0Lm1haW5DbGFzcyA9ICdtZnAtem9vbS1pbic7CiAgICAgICAgfQogICAgfSwKICAgIH0pOwogICAgJCgnW2RhdGEtbWFnbmlmaWMtZ2FsbGVyeV0nKS5tYWduaWZpY1BvcHVwKHsKICAgIGdhbGxlcnk6IHsKICAgICAgICBlbmFibGVkOiB0cnVlCiAgICB9LAogICAgdHlwZTogJ2ltYWdlJywKICAgIGNsb3NlT25Db250ZW50Q2xpY2s6IGZhbHNlLAogICAgZml4ZWRDb250ZW50UG9zOiBmYWxzZSwKICAgIGNsb3NlQnRuSW5zaWRlOiBmYWxzZSwKICAgIGNhbGxiYWNrczogewogICAgICAgIGJlZm9yZU9wZW46IGZ1bmN0aW9uKCkgewogICAgICAgIC8vIGp1c3QgYSBoYWNrIHRoYXQgYWRkcyBtZnAtYW5pbSBjbGFzcyB0byBtYXJrdXAKICAgICAgICAgICAgdGhpcy5zdC5pbWFnZS5tYXJrdXAgPSB0aGlzLnN0LmltYWdlLm1hcmt1cC5yZXBsYWNlKCdtZnAtZmlndXJlJywgJ21mcC1maWd1cmUgbWZwLXdpdGgtYW5pbScpOwogICAgICAgICAgICB0aGlzLnN0Lm1haW5DbGFzcyA9ICdtZnAtem9vbS1pbic7CiAgICAgICAgfQogICAgfSwKICAgIH0pOwoKICAgIC8qIEdlbmVyYXRlIFJhbmRvbSBUaXRsZSBNYXJrdXAgKi8KICAgIGlmICggJCgnLm1pbC10aGluLWdlbicpLmxlbmd0aCApIHsKICAgICAgICB2YXIgbXRnX3dvcmRzID0gJCgnLm1pbC10aGluLWdlbicpLnRleHQoKS5zcGxpdCgnICcpOwogICAgICAgIHZhciBtdGdfbnVtID0gbXRnX3dvcmRzLmxlbmd0aDsKICAgICAgICB2YXIgbXRnX2NvdW50ID0gcGFyc2VJbnQobXRnX251bS8yKTsKICAgICAgICB2YXIgbXRnX2luZGV4ZXMgPSBbXTsKICAgICAgICB2YXIgbXRnX3JlcyA9ICcnOwogICAgICAgIGZvciAodmFyIGkgPSAwOyBpPG10Z19jb3VudDsgaSsrKXsKICAgICAgICAgICAgbXRnX2luZGV4ZXMucHVzaChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBtdGdfbnVtKSk7CiAgICAgICAgfQogICAgICAgIGZvciAodmFyIGk9MDsgaTxtdGdfbnVtOyBpKyspIHsKICAgICAgICAgICAgaWYgKCBtdGdfaW5kZXhlcy5pbmNsdWRlcyhpKSApIHsKICAgICAgICAgICAgICAgIG10Z19yZXMgKz0gJyAnICsgJzxzcGFuIGNsYXNzPSJtaWwtdGhpbiI+JyArIG10Z193b3Jkc1tpXSArICc8L3NwYW4+JzsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIG10Z19yZXMgKz0gJyAnICsgbXRnX3dvcmRzW2ldOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmICggbXRnX3JlcyApIHsKICAgICAgICAgICAgJCgnLm1pbC10aGluLWdlbicpLmh0bWwobXRnX3Jlcyk7CiAgICAgICAgfQogICAgfQoKICAgIC8qIAoJCVggSWNvbgoJKi8KCWlmKCQoJ2Zvb3RlciAubWlsLXNvY2lhbC1pY29ucyAuZmFiLmZhLXR3aXR0ZXInKS5sZW5ndGgpewoJCSQoJ2Zvb3RlciAubWlsLXNvY2lhbC1pY29ucyAuZmFiLmZhLXR3aXR0ZXInKS5hZGRDbGFzcygneC1pY29uJyk7CgkJJCgnZm9vdGVyIC5taWwtc29jaWFsLWljb25zIC5mYWIuZmEtdHdpdHRlcicpLmFwcGVuZCgnPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBmaWxsPSIjZmZmZmZmIiBkPSJNMzg5LjIgNDhoNzAuNkwzMDUuNiAyMjQuMiA0ODcgNDY0SDM0NUwyMzMuNyAzMTguNiAxMDYuNSA0NjRIMzUuOEwyMDAuNyAyNzUuNSAyNi44IDQ4SDE3Mi40TDI3Mi45IDE4MC45IDM4OS4yIDQ4ek0zNjQuNCA0MjEuOGgzOS4xTDE1MS4xIDg4aC00MkwzNjQuNCA0MjEuOHoiLz48L3N2Zz4nKTsKCX0KCiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqCgogICAgTG9nbyBJbnZlcnQKCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAgICBpZiAoICQoJy5qcy1yZXBsYWNlJykubGVuZ3RoICYmICFlbGVtZW50b3IgJiYgJCh3aW5kb3cpLndpZHRoKCkgPiA5OTEgKSB7CiAgICAgICAgLy8gRGV0ZWN0IHJlcXVlc3QgYW5pbWF0aW9uIGZyYW1lCiAgICAgICAgdmFyIHNjcm9sbCA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwgZnVuY3Rpb24oY2FsbGJhY2speyB3aW5kb3cuc2V0VGltZW91dChjYWxsYmFjaywgMTAwMC82MCkgfTsKICAgICAgICB2YXIgbGFzdFBvc2l0aW9uID0gLTE7CgogICAgICAgIC8vIG15IFZhcmlhYmxlcwogICAgICAgIHZhciBsYXN0U2VjdGlvbiA9IGZhbHNlOwogICAgICAgIHZhciByZXBsYWNlSXRlbVRvcCA9IC0xOwogICAgICAgIHZhciByZXBsYWNlSXRlbUJvdHRvbSA9IC0xOwogICAgICAgIHZhciByZXBsYWNlSXRlbUhlaWdodCA9IC0xOwoKICAgICAgICAvLyBUaGUgU2Nyb2xsIEZ1bmN0aW9uCiAgICAgICAgZnVuY3Rpb24gbG9vcCgpewogICAgICAgICAgICB2YXIgdG9wID0gd2luZG93LnBhZ2VZT2Zmc2V0OwogICAgICAgICAgICB2YXIgc2VjdGlvbnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubWlsLW1haW4tdHJhbnNpdGlvbiA+IGRpdiA+IGRpdi5lbGVtZW50b3IgPiBzZWN0aW9uJyk7CiAgICAgICAgICAgIHNlY3Rpb25zLmZvckVhY2goZnVuY3Rpb24gKHNlY3Rpb24pIHsKICAgICAgICAgICAgICAgIGlmIChzZWN0aW9uLnF1ZXJ5U2VsZWN0b3IoJy5taWwtZGFyay1iZycpICE9PSBudWxsKSB7CiAgICAgICAgICAgICAgICAgICAgc2VjdGlvbi5jbGFzc0xpc3QuYWRkKCdtaWwtZGFyay1iZycpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgICAgdmFyIHJlcGxhY2VDb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuanMtcmVwbGFjZScpOwogICAgICAgICAgICB2YXIgcmVwbGFjZUl0ZW0gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuanMtcmVwbGFjZV9faXRlbScpOwogICAgICAgICAgICBpZiAocmVwbGFjZUl0ZW0ubGVuZ3RoID4gMCkgewogICAgICAgICAgICAgICAgLy8gZ2V0IHRvcCBwb3NpdGlvbiBvZiBpdGVtIGZyb20gY29udGFpbmVyLCBiZWNhdXNlIGltYWdlIG1pZ2h0IG5vdCBoYXZlIGxvYWRlZAogICAgICAgICAgICAgICAgcmVwbGFjZUl0ZW1Ub3AgPSBwYXJzZUludChyZXBsYWNlQ29udGFpbmVyWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCk7CiAgICAgICAgICAgICAgICByZXBsYWNlSXRlbUhlaWdodCA9IHJlcGxhY2VJdGVtWzBdLm9mZnNldEhlaWdodDsKICAgICAgICAgICAgICAgIHJlcGxhY2VJdGVtQm90dG9tID0gcmVwbGFjZUl0ZW1Ub3AgKyByZXBsYWNlSXRlbUhlaWdodDsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgc2VjdGlvblRvcCA9IC0xOwogICAgICAgICAgICB2YXIgc2VjdGlvbkJvdHRvbSA9IC0xOwogICAgICAgICAgICB2YXIgY3VycmVudFNlY3Rpb24gPSAtMTsKCiAgICAgICAgICAgIC8vIEZpcmUgd2hlbiBuZWVkZWQKICAgICAgICAgICAgaWYgKGxhc3RQb3NpdGlvbiA9PSB3aW5kb3cucGFnZVlPZmZzZXQpIHsKICAgICAgICAgICAgICAgIHNjcm9sbChsb29wKTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGxhc3RQb3NpdGlvbiA9IHdpbmRvdy5wYWdlWU9mZnNldDsKCiAgICAgICAgICAgICAgICAvLyBZb3VyIEZ1bmN0aW9uCiAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHNlY3Rpb25zLCBmdW5jdGlvbihlbCwgaSl7CiAgICAgICAgICAgICAgICAgICAgc2VjdGlvblRvcCA9IHBhcnNlSW50KGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCk7CiAgICAgICAgICAgICAgICAgICAgc2VjdGlvbkJvdHRvbSA9IHBhcnNlSW50KGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbSk7CgogICAgICAgICAgICAgICAgICAgIC8vIGFjdGl2ZSBzZWN0aW9uCiAgICAgICAgICAgICAgICAgICAgaWYgKCAoc2VjdGlvblRvcCA8PSByZXBsYWNlSXRlbUJvdHRvbSkgJiYgKHNlY3Rpb25Cb3R0b20gPiByZXBsYWNlSXRlbVRvcCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgY3VycmVudCBzZWN0aW9uIGhhcyBiZwogICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50U2VjdGlvbiA9IGVsLmNsYXNzTGlzdC5jb250YWlucygnbWlsLWRhcmstYmcnKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN3aXRjaCBjbGFzcyBkZXBlbmRpbmcgb24gYmFja2dyb3VuZCBpbWFnZQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGN1cnJlbnRTZWN0aW9uICkgeyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcGxhY2VDb250YWluZXJbMF0uY2xhc3NMaXN0LnJlbW92ZSgnanMtcmVwbGFjZS0tcmV2ZXJzZScpOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZUNvbnRhaW5lclswXS5jbGFzc0xpc3QuYWRkKCdqcy1yZXBsYWNlLS1yZXZlcnNlJykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAvLyBlbmQgYWN0aXZlIHNlY3Rpb24KCiAgICAgICAgICAgICAgICAgICAgLy8gaWYgYWN0aXZlIFNlY3Rpb24gaGl0cyByZXBsYWNlIGFyZWEKICAgICAgICAgICAgICAgICAgICBpZiAoIChyZXBsYWNlSXRlbVRvcCA8IHNlY3Rpb25Ub3ApICYmICggc2VjdGlvblRvcCA8PSByZXBsYWNlSXRlbUJvdHRvbSkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFuaW1hdGUgb25seSwgaWYgc2VjdGlvbiBiYWNrZ3JvdW5kIGNoYW5nZWQKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRTZWN0aW9uICE9IGxhc3RTZWN0aW9uKSAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLXJlcGxhY2Utb2Zmc2V0JywgMTAwIC8gcmVwbGFjZUl0ZW1IZWlnaHQgKiBwYXJzZUludChzZWN0aW9uVG9wIC0gcmVwbGFjZUl0ZW1Ub3ApICsgJyUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAvLyBlbmQgYWN0aXZlIHNlY3Rpb24gaW4gcmVwbGFjZSBhcmVhCgogICAgICAgICAgICAgICAgICAgIC8vIGlmIHNlY3Rpb24gYWJvdmUgcmVwbGFjZSBhcmVhCiAgICAgICAgICAgICAgICAgICAgaWYgKCByZXBsYWNlSXRlbVRvcCA+PSBzZWN0aW9uVG9wICkgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBzZXQgb2Zmc2V0IHRvIDAgaWYgeW91IHNjcm9sbCB0b28gZmFzdAogICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tcmVwbGFjZS1vZmZzZXQnLCAwICsgJyUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gc2V0IGxhc3Qgc2VjdGlvbiB0byBjdXJyZW50IHNlY3Rpb24KICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlY3Rpb24gPSBjdXJyZW50U2VjdGlvbjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gQ2FsbCB0aGUgbG9vcAogICAgICAgIGxvb3AoKTsKICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCAoZXZlbnQpID0+IHsKICAgICAgICAgICAgbG9vcCgpOwogICAgICAgIH0pOwogICAgfQoKICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioKCiAgICBNZW51IEludmVydAoKICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICAgIGlmICggJCgnLmpzLXJlcGxhY2UtdHdvJykubGVuZ3RoICYmICFlbGVtZW50b3IgJiYgJCh3aW5kb3cpLndpZHRoKCkgPiA5OTEgKSB7CiAgICAgICAgLy8gRGV0ZWN0IHJlcXVlc3QgYW5pbWF0aW9uIGZyYW1lCiAgICAgICAgdmFyIHNjcm9sbF90d28gPSB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8IGZ1bmN0aW9uKGNhbGxiYWNrX3R3byl7IHdpbmRvdy5zZXRUaW1lb3V0KGNhbGxiYWNrX3R3bywgMTAwMC82MCkgfTsKICAgICAgICB2YXIgbGFzdFBvc2l0aW9uX3R3byA9IC0xOwoKICAgICAgICAvLyBteSBWYXJpYWJsZXMKICAgICAgICB2YXIgbGFzdFNlY3Rpb25fdHdvID0gZmFsc2U7CiAgICAgICAgdmFyIHJlcGxhY2VJdGVtVG9wX3R3byA9IC0xOwogICAgICAgIHZhciByZXBsYWNlSXRlbUJvdHRvbV90d28gPSAtMTsKICAgICAgICB2YXIgcmVwbGFjZUl0ZW1IZWlnaHRfdHdvID0gLTE7CgogICAgICAgIC8vIFRoZSBTY3JvbGwgRnVuY3Rpb24KICAgICAgICBmdW5jdGlvbiBsb29wX3R3bygpewogICAgICAgICAgICB2YXIgdG9wID0gd2luZG93LnBhZ2VZT2Zmc2V0OwogICAgICAgICAgICB2YXIgc2VjdGlvbnNfdHdvID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm1pbC1tYWluLXRyYW5zaXRpb24gPiBkaXYgPiBkaXYuZWxlbWVudG9yID4gc2VjdGlvbicpOwogICAgICAgICAgICBzZWN0aW9uc190d28uZm9yRWFjaChmdW5jdGlvbiAoc2VjdGlvbikgewogICAgICAgICAgICAgICAgaWYgKHNlY3Rpb24ucXVlcnlTZWxlY3RvcignLm1pbC1kYXJrLWJnJykgIT09IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICBzZWN0aW9uLmNsYXNzTGlzdC5hZGQoJ21pbC1kYXJrLWJnJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICB2YXIgcmVwbGFjZUNvbnRhaW5lcl90d28gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuanMtcmVwbGFjZS10d28nKTsKICAgICAgICAgICAgdmFyIHJlcGxhY2VJdGVtX3R3byA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5qcy1yZXBsYWNlX19pdGVtLXR3bycpOwogICAgICAgICAgICBpZiAocmVwbGFjZUl0ZW1fdHdvLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgICAgIC8vIGdldCB0b3AgcG9zaXRpb24gb2YgaXRlbSBmcm9tIGNvbnRhaW5lciwgYmVjYXVzZSBpbWFnZSBtaWdodCBub3QgaGF2ZSBsb2FkZWQKICAgICAgICAgICAgICAgIHJlcGxhY2VJdGVtVG9wX3R3byA9IHBhcnNlSW50KHJlcGxhY2VDb250YWluZXJfdHdvWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCk7CiAgICAgICAgICAgICAgICByZXBsYWNlSXRlbUhlaWdodF90d28gPSByZXBsYWNlSXRlbV90d29bMF0ub2Zmc2V0SGVpZ2h0OwogICAgICAgICAgICAgICAgcmVwbGFjZUl0ZW1Cb3R0b21fdHdvID0gcmVwbGFjZUl0ZW1Ub3BfdHdvICsgcmVwbGFjZUl0ZW1IZWlnaHRfdHdvOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciBzZWN0aW9uVG9wX3R3byA9IC0xOwogICAgICAgICAgICB2YXIgc2VjdGlvbkJvdHRvbV90d28gPSAtMTsKICAgICAgICAgICAgdmFyIGN1cnJlbnRTZWN0aW9uX3R3byA9IC0xOwoKICAgICAgICAgICAgLy8gRmlyZSB3aGVuIG5lZWRlZAogICAgICAgICAgICBpZiAobGFzdFBvc2l0aW9uX3R3byA9PSB3aW5kb3cucGFnZVlPZmZzZXQpIHsKICAgICAgICAgICAgICAgIHNjcm9sbF90d28obG9vcF90d28pOwogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgbGFzdFBvc2l0aW9uX3R3byA9IHdpbmRvdy5wYWdlWU9mZnNldDsKCiAgICAgICAgICAgICAgICAvLyBZb3VyIEZ1bmN0aW9uCiAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHNlY3Rpb25zX3R3bywgZnVuY3Rpb24oZWwsIGkpewogICAgICAgICAgICAgICAgICAgIHNlY3Rpb25Ub3BfdHdvID0gcGFyc2VJbnQoZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wKTsKICAgICAgICAgICAgICAgICAgICBzZWN0aW9uQm90dG9tX3R3byA9IHBhcnNlSW50KGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbSk7CgogICAgICAgICAgICAgICAgICAgIC8vIGFjdGl2ZSBzZWN0aW9uCiAgICAgICAgICAgICAgICAgICAgaWYgKCAoc2VjdGlvblRvcF90d28gPD0gcmVwbGFjZUl0ZW1Cb3R0b21fdHdvKSAmJiAoc2VjdGlvbkJvdHRvbV90d28gPiByZXBsYWNlSXRlbVRvcF90d28pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNoZWNrIGlmIGN1cnJlbnQgc2VjdGlvbiBoYXMgYmcKICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFNlY3Rpb25fdHdvID0gZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdtaWwtZGFyay1iZycpOwoKICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3dpdGNoIGNsYXNzIGRlcGVuZGluZyBvbiBiYWNrZ3JvdW5kIGltYWdlCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICggY3VycmVudFNlY3Rpb25fdHdvIHx8IGVsLnF1ZXJ5U2VsZWN0b3JBbGwoJy5taWwtZGFyay1iZycpLmxlbmd0aCApIHsgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNlQ29udGFpbmVyX3R3b1swXS5jbGFzc0xpc3QucmVtb3ZlKCdqcy1yZXBsYWNlLS1yZXZlcnNlLXR3bycpOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZUNvbnRhaW5lcl90d29bMF0uY2xhc3NMaXN0LmFkZCgnanMtcmVwbGFjZS0tcmV2ZXJzZS10d28nKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIC8vIGVuZCBhY3RpdmUgc2VjdGlvbgoKICAgICAgICAgICAgICAgICAgICAvLyBpZiBhY3RpdmUgU2VjdGlvbiBoaXRzIHJlcGxhY2UgYXJlYQogICAgICAgICAgICAgICAgICAgIGlmICggKHJlcGxhY2VJdGVtVG9wX3R3byA8IHNlY3Rpb25Ub3BfdHdvKSAmJiAoIHNlY3Rpb25Ub3BfdHdvIDw9IHJlcGxhY2VJdGVtQm90dG9tX3R3bykgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFuaW1hdGUgb25seSwgaWYgc2VjdGlvbiBiYWNrZ3JvdW5kIGNoYW5nZWQKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRTZWN0aW9uX3R3byAhPSBsYXN0U2VjdGlvbl90d28pICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tcmVwbGFjZS1vZmZzZXQtdHdvJywgMTAwIC8gcmVwbGFjZUl0ZW1IZWlnaHRfdHdvICogcGFyc2VJbnQoc2VjdGlvblRvcF90d28gLSByZXBsYWNlSXRlbVRvcF90d28pICsgJyUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAvLyBlbmQgYWN0aXZlIHNlY3Rpb24gaW4gcmVwbGFjZSBhcmVhCgogICAgICAgICAgICAgICAgICAgIC8vIGlmIHNlY3Rpb24gYWJvdmUgcmVwbGFjZSBhcmVhCiAgICAgICAgICAgICAgICAgICAgaWYgKCByZXBsYWNlSXRlbVRvcF90d28gPj0gc2VjdGlvblRvcF90d28gKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNldCBvZmZzZXQgdG8gMCBpZiB5b3Ugc2Nyb2xsIHRvbyBmYXN0CiAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1yZXBsYWNlLW9mZnNldC10d28nLCAwICsgJyUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gc2V0IGxhc3Qgc2VjdGlvbiB0byBjdXJyZW50IHNlY3Rpb24KICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlY3Rpb25fdHdvID0gY3VycmVudFNlY3Rpb25fdHdvOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBDYWxsIHRoZSBsb29wCiAgICAgICAgbG9vcF90d28oKTsKICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCAoZXZlbnQpID0+IHsKICAgICAgICAgICAgbG9vcF90d28oKTsKICAgICAgICB9KTsKICAgIH0KCiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqCgogICAgU2Nyb2xsIFRvIFRvcCBJbnZlcnQKCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAgICBpZiAoICQoJy5qcy1yZXBsYWNlLXRocmVlJykubGVuZ3RoICYmICFlbGVtZW50b3IgJiYgJCh3aW5kb3cpLndpZHRoKCkgPiA5OTEgKSB7CiAgICAgICAgLy8gRGV0ZWN0IHJlcXVlc3QgYW5pbWF0aW9uIGZyYW1lCiAgICAgICAgdmFyIHNjcm9sbF90aHJlZSA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwgZnVuY3Rpb24oY2FsbGJhY2tfdGhyZWUpeyB3aW5kb3cuc2V0VGltZW91dChjYWxsYmFja190aHJlZSwgMTAwMC82MCkgfTsKICAgICAgICB2YXIgbGFzdFBvc2l0aW9uX3RocmVlID0gLTE7CgogICAgICAgIC8vIG15IFZhcmlhYmxlcwogICAgICAgIHZhciBsYXN0U2VjdGlvbl90aHJlZSA9IGZhbHNlOwogICAgICAgIHZhciByZXBsYWNlSXRlbVRvcF90aHJlZSA9IC0xOwogICAgICAgIHZhciByZXBsYWNlSXRlbUJvdHRvbV90aHJlZSA9IC0xOwogICAgICAgIHZhciByZXBsYWNlSXRlbUhlaWdodF90aHJlZSA9IC0xOwoKICAgICAgICAvLyBUaGUgU2Nyb2xsIEZ1bmN0aW9uCiAgICAgICAgZnVuY3Rpb24gbG9vcF90aHJlZSgpewogICAgICAgICAgICB2YXIgdG9wID0gd2luZG93LnBhZ2VZT2Zmc2V0OwogICAgICAgICAgICB2YXIgc2VjdGlvbnNfdGhyZWUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubWlsLW1haW4tdHJhbnNpdGlvbiA+IGRpdiA+IGRpdi5lbGVtZW50b3IgPiBzZWN0aW9uJyk7CiAgICAgICAgICAgIHNlY3Rpb25zX3RocmVlLmZvckVhY2goZnVuY3Rpb24gKHNlY3Rpb24pIHsKICAgICAgICAgICAgICAgIGlmIChzZWN0aW9uLnF1ZXJ5U2VsZWN0b3IoJy5taWwtZGFyay1iZycpICE9PSBudWxsKSB7CiAgICAgICAgICAgICAgICAgICAgc2VjdGlvbi5jbGFzc0xpc3QuYWRkKCdtaWwtZGFyay1iZycpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgICAgdmFyIHJlcGxhY2VDb250YWluZXJfdGhyZWUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuanMtcmVwbGFjZS10aHJlZScpOwogICAgICAgICAgICB2YXIgcmVwbGFjZUl0ZW1fdGhyZWUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuanMtcmVwbGFjZV9faXRlbS10aHJlZScpOwoKICAgICAgICAgICAgaWYgKHJlcGxhY2VJdGVtX3RocmVlLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgICAgIC8vIGdldCB0b3AgcG9zaXRpb24gb2YgaXRlbSBmcm9tIGNvbnRhaW5lciwgYmVjYXVzZSBpbWFnZSBtaWdodCBub3QgaGF2ZSBsb2FkZWQKICAgICAgICAgICAgICAgIHJlcGxhY2VJdGVtVG9wX3RocmVlID0gcGFyc2VJbnQocmVwbGFjZUNvbnRhaW5lcl90aHJlZVswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3ApOwogICAgICAgICAgICAgICAgcmVwbGFjZUl0ZW1IZWlnaHRfdGhyZWUgPSByZXBsYWNlSXRlbV90aHJlZVswXS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgICAgICAgICByZXBsYWNlSXRlbUJvdHRvbV90aHJlZSA9IHJlcGxhY2VJdGVtVG9wX3RocmVlICsgcmVwbGFjZUl0ZW1IZWlnaHRfdGhyZWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciBzZWN0aW9uVG9wX3RocmVlID0gLTE7CiAgICAgICAgICAgIHZhciBzZWN0aW9uQm90dG9tX3RocmVlID0gLTE7CiAgICAgICAgICAgIHZhciBjdXJyZW50U2VjdGlvbl90aHJlZSA9IC0xOwoKICAgICAgICAgICAgLy8gRmlyZSB3aGVuIG5lZWRlZAogICAgICAgICAgICBpZiAobGFzdFBvc2l0aW9uX3RocmVlID09IHdpbmRvdy5wYWdlWU9mZnNldCkgewogICAgICAgICAgICAgICAgc2Nyb2xsX3RocmVlKGxvb3BfdGhyZWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgbGFzdFBvc2l0aW9uX3RocmVlID0gd2luZG93LnBhZ2VZT2Zmc2V0OwoKICAgICAgICAgICAgICAgIC8vIFlvdXIgRnVuY3Rpb24KICAgICAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoc2VjdGlvbnNfdGhyZWUsIGZ1bmN0aW9uKGVsLCBpKXsKICAgICAgICAgICAgICAgICAgICBzZWN0aW9uVG9wX3RocmVlID0gcGFyc2VJbnQoZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wKTsKICAgICAgICAgICAgICAgICAgICBzZWN0aW9uQm90dG9tX3RocmVlID0gcGFyc2VJbnQoZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuYm90dG9tKTsKCiAgICAgICAgICAgICAgICAgICAgLy8gYWN0aXZlIHNlY3Rpb24KICAgICAgICAgICAgICAgICAgICBpZiAoIChzZWN0aW9uVG9wX3RocmVlIDw9IHJlcGxhY2VJdGVtQm90dG9tX3RocmVlKSAmJiAoc2VjdGlvbkJvdHRvbV90aHJlZSA+IHJlcGxhY2VJdGVtVG9wX3RocmVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBjaGVjayBpZiBjdXJyZW50IHNlY3Rpb24gaGFzIGJnCiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRTZWN0aW9uX3RocmVlID0gZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdtaWwtZGFyay1iZycpOwoKICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3dpdGNoIGNsYXNzIGRlcGVuZGluZyBvbiBiYWNrZ3JvdW5kIGltYWdlCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICggY3VycmVudFNlY3Rpb25fdGhyZWUgfHwgZWwucXVlcnlTZWxlY3RvckFsbCgnLm1pbC1kYXJrLWJnJykubGVuZ3RoICkgeyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcGxhY2VDb250YWluZXJfdGhyZWVbMF0uY2xhc3NMaXN0LnJlbW92ZSgnanMtcmVwbGFjZS0tcmV2ZXJzZS10aHJlZScpOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZUNvbnRhaW5lcl90aHJlZVswXS5jbGFzc0xpc3QuYWRkKCdqcy1yZXBsYWNlLS1yZXZlcnNlLXRocmVlJykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAvLyBlbmQgYWN0aXZlIHNlY3Rpb24KCiAgICAgICAgICAgICAgICAgICAgLy8gaWYgYWN0aXZlIFNlY3Rpb24gaGl0cyByZXBsYWNlIGFyZWEKICAgICAgICAgICAgICAgICAgICBpZiAoIChyZXBsYWNlSXRlbVRvcF90aHJlZSA8IHNlY3Rpb25Ub3BfdGhyZWUpICYmICggc2VjdGlvblRvcF90aHJlZSA8PSByZXBsYWNlSXRlbUJvdHRvbV90aHJlZSkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFuaW1hdGUgb25seSwgaWYgc2VjdGlvbiBiYWNrZ3JvdW5kIGNoYW5nZWQKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRTZWN0aW9uX3RocmVlICE9IGxhc3RTZWN0aW9uX3RocmVlKSAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLXJlcGxhY2Utb2Zmc2V0LXRocmVlJywgMTAwIC8gcmVwbGFjZUl0ZW1IZWlnaHRfdGhyZWUgKiBwYXJzZUludChzZWN0aW9uVG9wX3RocmVlIC0gcmVwbGFjZUl0ZW1Ub3BfdGhyZWUpICsgJyUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAvLyBlbmQgYWN0aXZlIHNlY3Rpb24gaW4gcmVwbGFjZSBhcmVhCgogICAgICAgICAgICAgICAgICAgIC8vIGlmIHNlY3Rpb24gYWJvdmUgcmVwbGFjZSBhcmVhCiAgICAgICAgICAgICAgICAgICAgaWYgKCByZXBsYWNlSXRlbVRvcF90aHJlZSA+PSBzZWN0aW9uVG9wX3RocmVlICkgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBzZXQgb2Zmc2V0IHRvIDAgaWYgeW91IHNjcm9sbCB0b28gZmFzdAogICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tcmVwbGFjZS1vZmZzZXQtdGhyZWUnLCAwICsgJyUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gc2V0IGxhc3Qgc2VjdGlvbiB0byBjdXJyZW50IHNlY3Rpb24KICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFNlY3Rpb25fdGhyZWUgPSBjdXJyZW50U2VjdGlvbl90aHJlZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gQ2FsbCB0aGUgbG9vcAogICAgICAgIGxvb3BfdGhyZWUoKTsKICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCAoZXZlbnQpID0+IHsKICAgICAgICAgICAgbG9vcF90aHJlZSgpOwogICAgICAgIH0pOwogICAgfQoKfSApKCBqUXVlcnkgKTs="}},"time_used":602,"timings":{"blocked":510,"dns":0,"connect":0,"send":0,"wait":92,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/71414.e345ed752d3a20d19467.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.790Z","timestamp":1785141584790,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/71414.e345ed752d3a20d19467.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-e5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c0d5e52a5682560474d90b4ac15b54c5\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":229,"size_decoded":932,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"dba3b8b6e522981747aa88dbb55e965d","sha1":"5a76446063310fe075cf2a937154a1aea73f1679","sha256":"83032ab92bfa437e6220899f5aec9d57a35bc5811fbb395c19f27e069db50c01","sha512":"6bf4cbdf37126f5115df62c04af8d2348ad30107f48d0156b0c25c4327f7632d11d42e318171954fbec505ddba87a7b228597ec6d2229e5633ff36d5f4a5aba9","ssdeep":"","tlshash":"bed0a75af604b031786fa136d38da4df7504b94b5400ae779650c5c94051ad2b3d9b58","first_seen":"2026-07-17T03:30:51.226443Z","last_seen":"2026-07-27T12:48:39.803901Z","times_seen":134,"resource_available":false,"data":"LnRpdGxlLW5ma0dtN05He2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1zZWNvbmRhcnktdGV4dCkpO2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFjaW5nOi40cHg7bGluZS1oZWlnaHQ6MTZweDttYXJnaW46NnB4IDA7cGFkZGluZzowIDEycHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/style-CliJwUTR.css","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.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":"stylesheet","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:47.514Z","timestamp":1785141587514,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/style-CliJwUTR.css HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://oxlofttrd.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 08:39:47 GMT\r\ncontent-type: text/css\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a4cb803-8d68\"\r\nexpires: Wed, 07 Jul 2027 08:30:01 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: k+h6ngDdCVFUBganlEDsE6l1qF5e32qa3nVIf8JSta3OmJUOlm1cku+vPgg2pCCn8LskDpE\r\nx-77-nzt-ray: e2f75420e61480335319676a3eecdd1e\r\nx-77-cache: HIT\r\nx-77-age: 1728545\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":36200,"size_decoded":8208,"mime_type":"text/css","magic":"ASCII text, with very long lines (36187)","md5":"840dfdb09fc1a11a5c3a5b5f808e3160","sha1":"46140a50b100fa33b974027c13bb9f2de5c784b7","sha256":"b5b9a339413a55a0d828ab6be236e2a495594a19fb3283f846c607d7b6996ad7","sha512":"61e37700ee60ed584c8ae7b6313c5dddf6950c9664aa57f32bb4a70d775b1a1d5bfc249c6c1238495ef2cb7e12bae5f00c4ddb3df4dde44a01081117b74e2ba2","ssdeep":"384:F8fY2l091g7Tc6/WYtGLadKzSVX8Kj6+eZcrNSN56qB56YR9evZLLq51vZLLq5G:F8wM091gTcCWYtG4XqcrNSN56DwQ43","tlshash":"05f2966daad9093dac23c179e3f8e58c911af5d5df3226daf74239008ac17ff0986514","first_seen":"2026-07-07T11:50:17.712499Z","last_seen":"2026-07-27T15:05:49.475186Z","times_seen":2749,"resource_available":false,"data":"LmJ0bi5zdmVsdGUteXdvZm1se2JvcmRlci1yYWRpdXM6OTk5OXB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6LjI1cmVtO2ZvbnQtc2l6ZToxLjEyNXJlbTtsaW5lLWhlaWdodDoxLjc1cmVtO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtkaXNwbGF5OmlubGluZS1mbGV4fS5idG4tcHJpbWFyeS5zdmVsdGUteXdvZm1se2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSB9LmJ0bi1wcmltYXJ5LnN2ZWx0ZS15d29mbWw6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5idG4tZ2hvc3Quc3ZlbHRlLXl3b2ZtbDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6LjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMCAwIDAvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYnRuLXN1Y2Nlc3Muc3ZlbHRlLXl3b2ZtbHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxNiAxODUgMTI5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSA7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5idG4tc3VjY2Vzcy5zdmVsdGUteXdvZm1sOmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDUgMTUwIDEwNS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5idG4tc20uc3ZlbHRlLXl3b2ZtbHt3aWR0aDoxLjVyZW07aGVpZ2h0OjEuNXJlbX0uYnRuLW1kLnN2ZWx0ZS15d29mbWx7d2lkdGg6MnJlbTtoZWlnaHQ6MnJlbX0uYnRuLWxnLnN2ZWx0ZS15d29mbWx7d2lkdGg6Mi43NXJlbTtoZWlnaHQ6Mi43NXJlbX0uYnRuLXhsLnN2ZWx0ZS15d29mbWx7d2lkdGg6M3JlbTtoZWlnaHQ6M3JlbX0uYnRuLWRpc2FibGVkLnN2ZWx0ZS15d29mbWx7Y3Vyc29yOm5vdC1hbGxvd2VkO29wYWNpdHk6LjJ9LmJ0bi1kaXNhYmxlZC5zdmVsdGUteXdvZm1sOmhvdmVyOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzAwMDB9Kiw6YmVmb3JlLDphZnRlcntib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDowO2JvcmRlci1jb2xvcjp2YXIoLS11bi1kZWZhdWx0LWJvcmRlci1jb2xvciwjZTVlN2ViKX06YmVmb3JlLDphZnRlcnstLXVuLWNvbnRlbnQ6IiJ9aHRtbCw6aG9zdHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTt0YWItc2l6ZTo0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczpub3JtYWw7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6bm9ybWFsOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDtmb250LWZhbWlseTp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLEFwcGxlIENvbG9yIEVtb2ppLFNlZ29lIFVJIEVtb2ppLFNlZ29lIFVJIFN5bWJvbCxOb3RvIENvbG9yIEVtb2ppO2xpbmUtaGVpZ2h0OjEuNX1ib2R5e2xpbmUtaGVpZ2h0OmluaGVyaXQ7bWFyZ2luOjB9aHJ7aGVpZ2h0OjA7Y29sb3I6aW5oZXJpdDtib3JkZXItdG9wLXdpZHRoOjFweH1hYmJyOndoZXJlKFt0aXRsZV0pey13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9aDEsaDIsaDMsaDQsaDUsaDZ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdH1he2NvbG9yOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdH1iLHN0cm9uZ3tmb250LXdlaWdodDpib2xkZXJ9Y29kZSxrYmQsc2FtcCxwcmV7Zm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczpub3JtYWw7Zm9udC1mYW1pbHk6dWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcyxMaWJlcmF0aW9uIE1vbm8sQ291cmllciBOZXcsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW19c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX1zdWJ7Ym90dG9tOi0uMjVlbX1zdXB7dG9wOi0uNWVtfXRhYmxle3RleHQtaW5kZW50OjA7Ym9yZGVyLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Zm9udC1mZWF0dXJlLXNldHRpbmdzOmluaGVyaXQ7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxMDAlO2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtjb2xvcjppbmhlcml0O21hcmdpbjowO3BhZGRpbmc6MH1idXR0b24sc2VsZWN0e3RleHQtdHJhbnNmb3JtOm5vbmV9YnV0dG9uLFt0eXBlPWJ1dHRvbl0sW3R5cGU9cmVzZXRdLFt0eXBlPXN1Ym1pdF17LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JhY2tncm91bmQtaW1hZ2U6bm9uZX06LW1vei1mb2N1c3Jpbmd7b3V0bGluZTphdXRvfTotbW96LXVpLWludmFsaWR7Ym94LXNoYWRvdzpub25lfXByb2dyZXNze3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b306Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99W3R5cGU9c2VhcmNoXXstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkO291dGxpbmUtb2Zmc2V0Oi0ycHh9Ojotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtmb250OmluaGVyaXR9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX1ibG9ja3F1b3RlLGRsLGRkLGgxLGgyLGgzLGg0LGg1LGg2LGhyLGZpZ3VyZSxwLHByZXttYXJnaW46MH1maWVsZHNldHttYXJnaW46MDtwYWRkaW5nOjB9bGVnZW5ke3BhZGRpbmc6MH1vbCx1bCxtZW51e21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmV9ZGlhbG9ne3BhZGRpbmc6MH10ZXh0YXJlYXtyZXNpemU6dmVydGljYWx9aW5wdXQ6OnBsYWNlaG9sZGVyLHRleHRhcmVhOjpwbGFjZWhvbGRlcntvcGFjaXR5OjE7Y29sb3I6IzljYTNhZn1idXR0b24sW3JvbGU9YnV0dG9uXXtjdXJzb3I6cG9pbnRlcn06ZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9aW1nLHN2Zyx2aWRlbyxjYW52YXMsYXVkaW8saWZyYW1lLGVtYmVkLG9iamVjdHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTpibG9ja31pbWcsdmlkZW97bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99W2hpZGRlbl06d2hlcmUoOm5vdChbaGlkZGVuPXVudGlsLWZvdW5kXSkpe2Rpc3BsYXk6bm9uZX0qLDpiZWZvcmUsOmFmdGVyLDo6YmFja2Ryb3B7LS11bi1yb3RhdGU6MDstLXVuLXJvdGF0ZS14OjA7LS11bi1yb3RhdGUteTowOy0tdW4tcm90YXRlLXo6MDstLXVuLXNjYWxlLXg6MTstLXVuLXNjYWxlLXk6MTstLXVuLXNjYWxlLXo6MTstLXVuLXNrZXcteDowOy0tdW4tc2tldy15OjA7LS11bi10cmFuc2xhdGUteDowOy0tdW4tdHJhbnNsYXRlLXk6MDstLXVuLXRyYW5zbGF0ZS16OjA7LS11bi1wYW4teDogOy0tdW4tcGFuLXk6IDstLXVuLXBpbmNoLXpvb206IDstLXVuLXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6cHJveGltaXR5Oy0tdW4tb3JkaW5hbDogOy0tdW4tc2xhc2hlZC16ZXJvOiA7LS11bi1udW1lcmljLWZpZ3VyZTogOy0tdW4tbnVtZXJpYy1zcGFjaW5nOiA7LS11bi1udW1lcmljLWZyYWN0aW9uOiA7LS11bi1ib3JkZXItc3BhY2luZy14OjA7LS11bi1ib3JkZXItc3BhY2luZy15OjA7LS11bi1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdW4tcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdW4tc2hhZG93LWluc2V0OiA7LS11bi1zaGFkb3c6MCAwICMwMDAwOy0tdW4tcmluZy1pbnNldDogOy0tdW4tcmluZy1vZmZzZXQtd2lkdGg6MHB4Oy0tdW4tcmluZy1vZmZzZXQtY29sb3I6I2ZmZjstLXVuLXJpbmctd2lkdGg6MHB4Oy0tdW4tcmluZy1jb2xvcjojOTNjNWZkODA7LS11bi1ibHVyOiA7LS11bi1icmlnaHRuZXNzOiA7LS11bi1jb250cmFzdDogOy0tdW4tZHJvcC1zaGFkb3c6IDstLXVuLWdyYXlzY2FsZTogOy0tdW4taHVlLXJvdGF0ZTogOy0tdW4taW52ZXJ0OiA7LS11bi1zYXR1cmF0ZTogOy0tdW4tc2VwaWE6IDstLXVuLWJhY2tkcm9wLWJsdXI6IDstLXVuLWJhY2tkcm9wLWJyaWdodG5lc3M6IDstLXVuLWJhY2tkcm9wLWNvbnRyYXN0OiA7LS11bi1iYWNrZHJvcC1ncmF5c2NhbGU6IDstLXVuLWJhY2tkcm9wLWh1ZS1yb3RhdGU6IDstLXVuLWJhY2tkcm9wLWludmVydDogOy0tdW4tYmFja2Ryb3Atb3BhY2l0eTogOy0tdW4tYmFja2Ryb3Atc2F0dXJhdGU6IDstLXVuLWJhY2tkcm9wLXNlcGlhOiB9LmZsZXgtY2VudGVye2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uYnV0dG9uLWZvY3VzOmZvY3VzLXZpc2libGV7b3V0bGluZS13aWR0aDoycHg7b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6MXB4O291dGxpbmUtc3R5bGU6c29saWR9LmJ1dHRvbi1mb2N1cy1zZWNvbmRhcnk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLXdpZHRoOjJweDtvdXRsaW5lLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktZm9jdXMpIDtvdXRsaW5lLWNvbG9yOnZhcigtLWNvbG9yLXNlY29uZGFyeS1mb2N1cykgO291dGxpbmUtb2Zmc2V0OjFweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5jb250ZW50LWZvY3VzOmZvY3VzLXZpc2libGV7b3V0bGluZS13aWR0aDoycHg7b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6LTVweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5jb250ZW50LWZvY3VzLXNlY29uZGFyeTpmb2N1cy12aXNpYmxle291dGxpbmUtd2lkdGg6MnB4O291dGxpbmUtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1mb2N1cykgO291dGxpbmUtY29sb3I6dmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6LTVweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5cW2NsaXBcOnJlY3RcKDBcLDBcLDBcLDBcKVxde2NsaXA6cmVjdCgwLDAsMCwwKX0uc3Itb25seXtjbGlwOnJlY3QoMCwwLDAsMCk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci13aWR0aDowO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW59LnBvaW50ZXItZXZlbnRzLWF1dG97cG9pbnRlci1ldmVudHM6YXV0b30ucG9pbnRlci1ldmVudHMtbm9uZXtwb2ludGVyLWV2ZW50czpub25lfS5hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZX0uZml4ZWR7cG9zaXRpb246Zml4ZWR9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS5zdGlja3l7cG9zaXRpb246c3RpY2t5fS4tYm90dG9tLTRcLjV7Ym90dG9tOi0xLjEyNXJlbX0uLXJpZ2h0LVxbNHB4XF17cmlnaHQ6LTRweH0uLXRvcC1cWzRweFxde3RvcDotNHB4fS5ib3R0b20tXFstOHB4XF17Ym90dG9tOi04cHh9LmJvdHRvbS0we2JvdHRvbTowfS5ib3R0b20tM3tib3R0b206Ljc1cmVtfS5ib3R0b20tZnVsbHtib3R0b206MTAwJX0ubGVmdC1cWzJweFxde2xlZnQ6MnB4fS5sZWZ0LTB7bGVmdDowfS5sZWZ0LTFcLzJ7bGVmdDo1MCV9LmxlZnQtMntsZWZ0Oi41cmVtfS5sZWZ0LTNcLjd7bGVmdDouOTI1cmVtfS5yaWdodC1cWzE2cHhcXXtyaWdodDoxNnB4fS5yaWdodC0we3JpZ2h0OjB9LnJpZ2h0LTBcLjV7cmlnaHQ6LjEyNXJlbX0ucmlnaHQtMntyaWdodDouNXJlbX0ucmlnaHQtM3tyaWdodDouNzVyZW19LnRvcC1cWzJweFxde3RvcDoycHh9LnRvcC0we3RvcDowfS50b3AtMnt0b3A6LjVyZW19LnRvcC0ze3RvcDouNzVyZW19LnRvcC0zXC43e3RvcDouOTI1cmVtfS50b3AtMzB7dG9wOjcuNXJlbX0udG9wLTQwe3RvcDoxMHJlbX0ubGluZS1jbGFtcC0xey13ZWJraXQtbGluZS1jbGFtcDoxO2xpbmUtY2xhbXA6MTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW59LmxpbmUtY2xhbXAtMnstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS5saW5lLWNsYW1wLTN7LXdlYmtpdC1saW5lLWNsYW1wOjM7bGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbn0ubGluZS1jbGFtcC01ey13ZWJraXQtbGluZS1jbGFtcDo1O2xpbmUtY2xhbXA6NTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW59LnotMXt6LWluZGV4OjF9LnotMTB7ei1pbmRleDoxMH0uei0xMDB7ei1pbmRleDoxMDB9LnotNTB7ei1pbmRleDo1MH0uZ3JpZHtkaXNwbGF5OmdyaWR9LmZsb2F0LXJpZ2h0e2Zsb2F0OnJpZ2h0fS4tbS1weHttYXJnaW46LTFweH0ubS0ze21hcmdpbjouNzVyZW19Lm0tYXV0b3ttYXJnaW46YXV0b30ubTE1e21hcmdpbjozLjc1cmVtfS5tMTZ7bWFyZ2luOjRyZW19Lm0xOHttYXJnaW46NC41cmVtfS5tMjF7bWFyZ2luOjUuMjVyZW19Lm0yMnttYXJnaW46NS41cmVtfS5tNnttYXJnaW46MS41cmVtfS5tN3ttYXJnaW46MS43NXJlbX0ubTh7bWFyZ2luOjJyZW19Lm05e21hcmdpbjoyLjI1cmVtfS5teC0ye21hcmdpbi1sZWZ0Oi41cmVtO21hcmdpbi1yaWdodDouNXJlbX0ubXgtM3ttYXJnaW4tbGVmdDouNzVyZW07bWFyZ2luLXJpZ2h0Oi43NXJlbX0ubXgtNHttYXJnaW4tbGVmdDoxcmVtO21hcmdpbi1yaWdodDoxcmVtfS5teS0ze21hcmdpbi10b3A6Ljc1cmVtO21hcmdpbi1ib3R0b206Ljc1cmVtfS5teS00e21hcmdpbi10b3A6MXJlbTttYXJnaW4tYm90dG9tOjFyZW19Li1tdC0ze21hcmdpbi10b3A6LS43NXJlbX0ubWItXFsycHhcXXttYXJnaW4tYm90dG9tOjJweH0ubWItMHttYXJnaW4tYm90dG9tOjB9Lm1iLTEsLm5vdC1sYXN0LW9mLXR5cGVcOm1iLTE6bm90KDpsYXN0LW9mLXR5cGUpe21hcmdpbi1ib3R0b206LjI1cmVtfS5tYi0ye21hcmdpbi1ib3R0b206LjVyZW19Lm1iLTN7bWFyZ2luLWJvdHRvbTouNzVyZW19Lm1iLTR7bWFyZ2luLWJvdHRvbToxcmVtfS5tYi02e21hcmdpbi1ib3R0b206MS41cmVtfS5tbC0wXC41e21hcmdpbi1sZWZ0Oi4xMjVyZW19Lm1sLTF7bWFyZ2luLWxlZnQ6LjI1cmVtfS5tbC0ye21hcmdpbi1sZWZ0Oi41cmVtfS5tbC0ze21hcmdpbi1sZWZ0Oi43NXJlbX0ubWwtNHttYXJnaW4tbGVmdDoxcmVtfS5tbC04e21hcmdpbi1sZWZ0OjJyZW19Lm1yLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbX0ubXItMVwuNXttYXJnaW4tcmlnaHQ6LjM3NXJlbX0ubXItMTB7bWFyZ2luLXJpZ2h0OjIuNXJlbX0ubXItMnttYXJnaW4tcmlnaHQ6LjVyZW19Lm1yLTN7bWFyZ2luLXJpZ2h0Oi43NXJlbX0ubXItNHttYXJnaW4tcmlnaHQ6MXJlbX0ubXQtXFsxcHhcXXttYXJnaW4tdG9wOjFweH0ubXQtMFwuNXttYXJnaW4tdG9wOi4xMjVyZW19Lm10LTJ7bWFyZ2luLXRvcDouNXJlbX0ubXQtM3ttYXJnaW4tdG9wOi43NXJlbX0ubXQtNHttYXJnaW4tdG9wOjFyZW19Lm10LTZ7bWFyZ2luLXRvcDoxLjVyZW19Lm10LTh7bWFyZ2luLXRvcDoycmVtfS5maXJzdC1vZi10eXBlXDptdC0yOmZpcnN0LW9mLXR5cGV7bWFyZ2luLXRvcDouNXJlbX0uaW5saW5le2Rpc3BsYXk6aW5saW5lfS5ibG9ja3tkaXNwbGF5OmJsb2NrfS5pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmhpZGRlbntkaXNwbGF5Om5vbmV9LmgtXFsxXC4yZW1cXXtoZWlnaHQ6MS4yZW19LmgtXFsxZW1cXXtoZWlnaHQ6MWVtfS5oLVxbNTBweFxde2hlaWdodDo1MHB4fS5oLTF7aGVpZ2h0Oi4yNXJlbX0uaC0xMHtoZWlnaHQ6Mi41cmVtfS5oLTExe2hlaWdodDoyLjc1cmVtfS5oLTEye2hlaWdodDozcmVtfS5oLTJ7aGVpZ2h0Oi41cmVtfS5oLTJcLjV7aGVpZ2h0Oi42MjVyZW19LmgtMjB7aGVpZ2h0OjVyZW19LmgtMzB7aGVpZ2h0OjcuNXJlbX0uaC00e2hlaWdodDoxcmVtfS5oLTQwe2hlaWdodDoxMHJlbX0uaC00MDBweHtoZWlnaHQ6NDAwcHh9LmgtNXtoZWlnaHQ6MS4yNXJlbX0uaC01NHB4e2hlaWdodDo1NHB4fS5oLTZ7aGVpZ2h0OjEuNXJlbX0uaC02MHB4e2hlaWdodDo2MHB4fS5oLTY0cHh7aGVpZ2h0OjY0cHh9LmgtN3toZWlnaHQ6MS43NXJlbX0uaC04e2hlaWdodDoycmVtfS5oLWZ1bGx7aGVpZ2h0OjEwMCV9LmgtcHh7aGVpZ2h0OjFweH0ubWF4LWgtXFsxMjVweFxde21heC1oZWlnaHQ6MTI1cHh9Lm1heC1oLVxbMjQwcHhcXXttYXgtaGVpZ2h0OjI0MHB4fS5tYXgtaC1cWzMycHhcXXttYXgtaGVpZ2h0OjMycHh9Lm1heC1oLTEzMnB4e21heC1oZWlnaHQ6MTMycHh9Lm1heC1oLTY0e21heC1oZWlnaHQ6MTZyZW19Lm1heC1oLTgwdmh7bWF4LWhlaWdodDo4MHZofS5tYXgtaC04NnttYXgtaGVpZ2h0OjIxLjVyZW19Lm1heC1oLWZ1bGx7bWF4LWhlaWdodDoxMDAlfS5tYXgtdy1cWzgwXCVcXXttYXgtd2lkdGg6ODAlfS5tYXgtdy1cWzg1XCVcXXttYXgtd2lkdGg6ODUlfS5tYXgtdy1cW2NhbGNcKDEwMFwlLTE1MHB4XClcXXttYXgtd2lkdGg6Y2FsYygxMDAlIC0gMTUwcHgpfS5tYXgtdy1mdWxse21heC13aWR0aDoxMDAlfS5taW4taC1cWzE2cHhcXXttaW4taGVpZ2h0OjE2cHh9Lm1pbi13LVxbMTZweFxde21pbi13aWR0aDoxNnB4fS5taW4tdy0we21pbi13aWR0aDowfS5taW4tdy01e21pbi13aWR0aDoxLjI1cmVtfS5taW4tdy01XC41e21pbi13aWR0aDoxLjM3NXJlbX0ubWluLXctNnttaW4td2lkdGg6MS41cmVtfS53LVxbMVwuMmVtXF17d2lkdGg6MS4yZW19LnctXFsxZW1cXXt3aWR0aDoxZW19LnctXFs1MHB4XF17d2lkdGg6NTBweH0udy0we3dpZHRoOjB9LnctMXt3aWR0aDouMjVyZW19LnctMTF7d2lkdGg6Mi43NXJlbX0udy0xMTZ7d2lkdGg6MjlyZW19LnctMTJ7d2lkdGg6M3JlbX0udy0ye3dpZHRoOi41cmVtfS53LTJcLjV7d2lkdGg6LjYyNXJlbX0udy0yODBweHt3aWR0aDoyODBweH0udy0zNDhweHt3aWR0aDozNDhweH0udy00e3dpZHRoOjFyZW19LnctNXt3aWR0aDoxLjI1cmVtfS53LTUye3dpZHRoOjEzcmVtfS53LTU2e3dpZHRoOjE0cmVtfS53LTZ7d2lkdGg6MS41cmVtfS53LTYwcHh7d2lkdGg6NjBweH0udy03e3dpZHRoOjEuNzVyZW19LnctOHt3aWR0aDoycmVtfS53LWZ1bGx7d2lkdGg6MTAwJX0udy1tYXh7d2lkdGg6bWF4LWNvbnRlbnR9LnctcHh7d2lkdGg6MXB4fS5mbGV4e2Rpc3BsYXk6ZmxleH0uaW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleH0uZmxleC0xe2ZsZXg6MX0uZmxleC1ub25le2ZsZXg6bm9uZX0uZmxleC1zaHJpbmt7ZmxleC1zaHJpbms6MX0uZmxleC1zaHJpbmstMCwuc2hyaW5rLTB7ZmxleC1zaHJpbms6MH0uZmxleC1ncm93LC5ncm93e2ZsZXgtZ3JvdzoxfS5mbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZmxleC13cmFwe2ZsZXgtd3JhcDp3cmFwfS4tdHJhbnNsYXRlLXgtMVwvMnstLXVuLXRyYW5zbGF0ZS14Oi01MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0udHJhbnNsYXRlLXgtZnVsbHstLXVuLXRyYW5zbGF0ZS14OjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0uZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpzY2FsZS0xMTV7LS11bi1zY2FsZS14OjEuMTU7LS11bi1zY2FsZS15OjEuMTU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0uaG92ZXJcOnNjYWxlLTEyMDpob3ZlcnstLXVuLXNjYWxlLXg6MS4yOy0tdW4tc2NhbGUteToxLjI7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0udHJhbnNmb3Jte3RyYW5zZm9ybTp0cmFuc2xhdGVYKHZhcigtLXVuLXRyYW5zbGF0ZS14KSkgdHJhbnNsYXRlWSh2YXIoLS11bi10cmFuc2xhdGUteSkpIHRyYW5zbGF0ZVoodmFyKC0tdW4tdHJhbnNsYXRlLXopKSByb3RhdGUodmFyKC0tdW4tcm90YXRlKSkgcm90YXRlWCh2YXIoLS11bi1yb3RhdGUteCkpIHJvdGF0ZVkodmFyKC0tdW4tcm90YXRlLXkpKSByb3RhdGVaKHZhcigtLXVuLXJvdGF0ZS16KSkgc2tld1godmFyKC0tdW4tc2tldy14KSkgc2tld1kodmFyKC0tdW4tc2tldy15KSkgc2NhbGVYKHZhcigtLXVuLXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdW4tc2NhbGUteSkpIHNjYWxlWih2YXIoLS11bi1zY2FsZS16KSl9QGtleWZyYW1lcyBwdWxzZXswJSx0b3tvcGFjaXR5OjF9NTAle29wYWNpdHk6LjV9fUBrZXlmcmFtZXMgcHVzaC10by1sZWZ0ezAle21hcmdpbi1yaWdodDotNTAlO3RyYW5zZm9ybTpzY2FsZSgwKX10b3ttYXJnaW4tcmlnaHQ6aW5oZXJpdDt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgc3BpbnswJXtyb3RhdGU6MGRlZ310b3tyb3RhdGU6MzYwZGVnfX1Aa2V5ZnJhbWVzIHR5cGluZ3swJSw1MCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MjUle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpfX0uYW5pbWF0ZS1wdWxzZXthbmltYXRpb246MnMgY3ViaWMtYmV6aWVyKC40LDAsLjYsMSkgaW5maW5pdGUgcHVsc2V9LmFuaW1hdGUtcHVzaC10by1sZWZ0e2FuaW1hdGlvbjouMjVzIGVhc2UtaW4tb3V0IHB1c2gtdG8tbGVmdH0uYW5pbWF0ZS1zcGlue2FuaW1hdGlvbjoxcyBsaW5lYXIgaW5maW5pdGUgc3Bpbn0uYW5pbWF0ZS10eXBpbmd7YW5pbWF0aW9uOi44cyBlYXNlLWluLW91dCB0eXBpbmd9LmN1cnNvci1hdXRve2N1cnNvcjphdXRvfS5jdXJzb3ItcG9pbnRlciwuaG92ZXJcOmN1cnNvci1wb2ludGVyOmhvdmVye2N1cnNvcjpwb2ludGVyfS5jdXJzb3Itbm90LWFsbG93ZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5zZWxlY3Qtbm9uZXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ucmVzaXple3Jlc2l6ZTpib3RofS5yZXNpemUtbm9uZXtyZXNpemU6bm9uZX0uc2Nyb2xsLW10LTJ7c2Nyb2xsLW1hcmdpbi10b3A6LjVyZW19Lmxpc3QtZGVjaW1hbHtsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbH0ubGlzdC1kaXNje2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5jb250ZW50LWNlbnRlcnthbGlnbi1jb250ZW50OmNlbnRlcn0uaXRlbXMtc3RhcnR7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uaXRlbXMtZW5ke2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5pdGVtcy1iYXNlbGluZXthbGlnbi1pdGVtczpiYXNlbGluZX0uc2VsZi1zdHJldGNoe2FsaWduLXNlbGY6c3RyZXRjaH0uanVzdGlmeS1zdGFydHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uanVzdGlmeS1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWJldHdlZW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmdhcC0ye2dhcDouNXJlbX0uZ2FwLTN7Z2FwOi43NXJlbX0uc3BhY2UteC0yPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdW4tc3BhY2UteC1yZXZlcnNlOjA7bWFyZ2luLWxlZnQ6Y2FsYyguNXJlbSAqIGNhbGMoMSAtIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpKTttYXJnaW4tcmlnaHQ6Y2FsYyguNXJlbSAqIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS14LTU+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS11bi1zcGFjZS14LXJldmVyc2U6MDttYXJnaW4tbGVmdDpjYWxjKDEuMjVyZW0gKiBjYWxjKDEgLSB2YXIoLS11bi1zcGFjZS14LXJldmVyc2UpKSk7bWFyZ2luLXJpZ2h0OmNhbGMoMS4yNXJlbSAqIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS15LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS11bi1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tdG9wOmNhbGMoLjVyZW0gKiBjYWxjKDEgLSB2YXIoLS11bi1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKC41cmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktND46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXVuLXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi10b3A6Y2FsYygxcmVtICogY2FsYygxIC0gdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxcmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktNT46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXVuLXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi10b3A6Y2FsYygxLjI1cmVtICogY2FsYygxIC0gdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxLjI1cmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9Lm92ZXJmbG93LWF1dG97b3ZlcmZsb3c6YXV0b30ub3ZlcmZsb3ctY2xpcHtvdmVyZmxvdzpjbGlwfS5vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVufS5vdmVyZmxvdy14LWhpZGRlbntvdmVyZmxvdy14OmhpZGRlbn0ub3ZlcmZsb3cteS1hdXRve292ZXJmbG93LXk6YXV0b30ub3ZlcmZsb3cteS1zY3JvbGx7b3ZlcmZsb3cteTpzY3JvbGx9Lm92ZXJzY3JvbGwtY29udGFpbntvdmVyc2Nyb2xsLWJlaGF2aW9yOmNvbnRhaW59LnRydW5jYXRle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0udGV4dC1lbGxpcHNpc3t0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS53aGl0ZXNwYWNlLW5vcm1hbHt3aGl0ZS1zcGFjZTpub3JtYWx9LndoaXRlc3BhY2Utbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0ud2hpdGVzcGFjZS1wcmV7d2hpdGUtc3BhY2U6cHJlfS53aGl0ZXNwYWNlLXByZS13cmFwe3doaXRlLXNwYWNlOnByZS13cmFwfS5icmVhay13b3Jkc3tvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LmJyZWFrLWFsbHt3b3JkLWJyZWFrOmJyZWFrLWFsbH0uYm9yZGVyLC5ib3JkZXItMXtib3JkZXItd2lkdGg6MXB4fS5ib3JkZXItMHtib3JkZXItd2lkdGg6MH0uYm9yZGVyLTJ7Ym9yZGVyLXdpZHRoOjJweH0uYm9yZGVyLXQtMntib3JkZXItdG9wLXdpZHRoOjJweH0uYm9yZGVyLWdyYXktMzAwey0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDIwOSAyMTMgMjE5L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci1ncmVlbi00MDB7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoNzQgMjIyIDEyOC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItcHJpbWFyeXtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeSl9LmJvcmRlci1wcmltYXJ5LWJ1dHRvbntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pfS5ib3JkZXItcmVkLTUwMHstLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMzkgNjggNjgvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKX0uYm9yZGVyLXNsYXRlLTIwMHstLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMjYgMjMyIDI0MC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItd2hpdGV7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKX0uZm9jdXNcOmJvcmRlci1ibHVlLTUwMDpmb2N1c3stLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci10LW5ldXRyYWwtMTAwey0tdW4tYm9yZGVyLW9wYWNpdHk6MTstLXVuLWJvcmRlci10b3Atb3BhY2l0eTp2YXIoLS11bi1ib3JkZXItb3BhY2l0eSk7Ym9yZGVyLXRvcC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYm9yZGVyLXRvcC1vcGFjaXR5KSl9LmJvcmRlci1yb3VuZGVkLWZ1bGwsLnJvdW5kZWQtZnVsbHtib3JkZXItcmFkaXVzOjk5OTlweH0ucm91bmRlZC0yLC5yb3VuZGVkLWxne2JvcmRlci1yYWRpdXM6LjVyZW19LnJvdW5kZWQtMnhse2JvcmRlci1yYWRpdXM6MXJlbX0ucm91bmRlZC0zeGwsLnJvdW5kZWQtNntib3JkZXItcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1tZHtib3JkZXItcmFkaXVzOi4zNzVyZW19LnJvdW5kZWQteGx7Ym9yZGVyLXJhZGl1czouNzVyZW19LnJvdW5kZWQtbHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbX0ucm91bmRlZC1sLTN4bHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEuNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1ye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMjVyZW19LnJvdW5kZWQtci0zeGx7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC10LTZ7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxLjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5yb3VuZGVkLWxiLTN4bHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1sdC0zeGx7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxLjVyZW19LnJvdW5kZWQtcmItM3hse2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1ydC0zeGx7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5ib3JkZXItZGFzaGVke2JvcmRlci1zdHlsZTpkYXNoZWR9LmJvcmRlci1ub25le2JvcmRlci1zdHlsZTpub25lfS5iZy1ibGFja3stLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ibGFja1wvODB7YmFja2dyb3VuZC1jb2xvcjojMDAwY30uYmctZW1lcmFsZC01MDB7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTYgMTg1IDEyOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTIwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjkgMjMxIDIzNS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTMwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTQwMFwvXFtcLjk1XF17YmFja2dyb3VuZC1jb2xvcjojOWNhM2FmZjJ9LmJnLWdyYXktNjAwXC9cW1wuOTVcXXtiYWNrZ3JvdW5kLWNvbG9yOiM0YjU1NjNmMn0uYmctZ3JlZW4tNDAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDc0IDIyMiAxMjgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctZ3JlZW4tNTAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDM0IDE5NyA5NC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1uZXV0cmFsLTEwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDUgMjQ1IDI0NS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1uZXV0cmFsLTEwMFwvNTB7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1ODB9LmJnLW5ldXRyYWwtNjAwXC80MHtiYWNrZ3JvdW5kLWNvbG9yOiM1MjUyNTI2Nn0uYmctb3JhbmdlLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDkgMTE1IDIyL3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXByaW1hcnktYnV0dG9ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIH0uYmctcmVkLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMzkgNjggNjgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctcmVkLTYwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjAgMzggMzgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctc2xhdGUtMTAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXNsYXRlLTIwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjYgMjMyIDI0MC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1zbGF0ZS0zMDB7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjAzIDIxMyAyMjUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctc2xhdGUtNDAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDE0OCAxNjMgMTg0L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXNsYXRlLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13aGl0ZXstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUgMjU1IDI1NS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy1ibGFjazpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy1lbWVyYWxkLTYwMDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYig1IDE1MCAxMDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uaG92ZXItYmctcHJpbWFyeS1idXR0b24taG92ZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5ob3Zlci1iZy1wcmltYXJ5LWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LmhvdmVyLWJnLXNsYXRlLTEwMDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDEgMjQ1IDI0OS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy10cmFuc3BhcmVudDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5ob3Zlclw6Ymctc2xhdGUtMTAwOmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLW9wYWNpdHktMTAsLmhvdmVyLWJnLW9wYWNpdHktMTA6aG92ZXJ7LS11bi1iZy1vcGFjaXR5Oi4xfS5mcm9tLXdoaXRlXC8xMDB7LS11bi1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlOy0tdW4tZ3JhZGllbnQtZnJvbTojZmZmIHZhcigtLXVuLWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdW4tZ3JhZGllbnQtdG8tcG9zaXRpb246MTAwJTstLXVuLWdyYWRpZW50LXRvOiNmZmYwIHZhcigtLXVuLWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXVuLWdyYWRpZW50LXN0b3BzOnZhcigtLXVuLWdyYWRpZW50LWZyb20pLCB2YXIoLS11bi1ncmFkaWVudC10byl9LnZpYS13aGl0ZVwvNDB7LS11bi1ncmFkaWVudC12aWEtcG9zaXRpb246NTAlOy0tdW4tZ3JhZGllbnQtdG86I2ZmZjA7LS11bi1ncmFkaWVudC1zdG9wczp2YXIoLS11bi1ncmFkaWVudC1mcm9tKSwgI2ZmZjYgdmFyKC0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdW4tZ3JhZGllbnQtdG8pfS52aWEtd2hpdGVcLzUwey0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjUwJTstLXVuLWdyYWRpZW50LXRvOiNmZmYwOy0tdW4tZ3JhZGllbnQtc3RvcHM6dmFyKC0tdW4tZ3JhZGllbnQtZnJvbSksICNmZmZmZmY4MCB2YXIoLS11bi1ncmFkaWVudC12aWEtcG9zaXRpb24pLCB2YXIoLS11bi1ncmFkaWVudC10byl9LnRvLXRyYW5zcGFyZW50ey0tdW4tZ3JhZGllbnQtdG8tcG9zaXRpb246MTAwJTstLXVuLWdyYWRpZW50LXRvOnRyYW5zcGFyZW50IHZhcigtLXVuLWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uZnJvbS0wXCV7LS11bi1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlfS52aWEtNTBcJXstLXVuLWdyYWRpZW50LXZpYS1wb3NpdGlvbjo1MCV9LnZpYS03MFwley0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjcwJX0uYmctZ3JhZGllbnQtdG8tdHstLXVuLWdyYWRpZW50LXNoYXBlOnRvIHRvcCBpbiBva2xjaDstLXVuLWdyYWRpZW50OnZhcigtLXVuLWdyYWRpZW50LXNoYXBlKSwgdmFyKC0tdW4tZ3JhZGllbnQtc3RvcHMpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHZhcigtLXVuLWdyYWRpZW50KSl9LmZpbGwtY3VycmVudHtmaWxsOmN1cnJlbnRDb2xvcn0uZmlsbC1wcmltYXJ5LWJ1dHRvbntmaWxsOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LmZpbGwtcHJpbWFyeS1idXR0b24tY29udGVudHtmaWxsOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0ub2JqZWN0LWNvbnRhaW57b2JqZWN0LWZpdDpjb250YWlufS5wLTB7cGFkZGluZzowfS5wLTBcLjh7cGFkZGluZzouMnJlbX0ucC0xe3BhZGRpbmc6LjI1cmVtfS5wLTFcLjV7cGFkZGluZzouMzc1cmVtfS5wLTJ7cGFkZGluZzouNXJlbX0ucC0ze3BhZGRpbmc6Ljc1cmVtfS5wLTR7cGFkZGluZzoxcmVtfS5wLTh7cGFkZGluZzoycmVtfS5weCwucHgtNHtwYWRkaW5nLWxlZnQ6MXJlbTtwYWRkaW5nLXJpZ2h0OjFyZW19LnB4LTF7cGFkZGluZy1sZWZ0Oi4yNXJlbTtwYWRkaW5nLXJpZ2h0Oi4yNXJlbX0ucHgtMntwYWRkaW5nLWxlZnQ6LjVyZW07cGFkZGluZy1yaWdodDouNXJlbX0ucHgtM3twYWRkaW5nLWxlZnQ6Ljc1cmVtO3BhZGRpbmctcmlnaHQ6Ljc1cmVtfS5weC04e3BhZGRpbmctbGVmdDoycmVtO3BhZGRpbmctcmlnaHQ6MnJlbX0ucHktMXtwYWRkaW5nLXRvcDouMjVyZW07cGFkZGluZy1ib3R0b206LjI1cmVtfS5weS0ye3BhZGRpbmctdG9wOi41cmVtO3BhZGRpbmctYm90dG9tOi41cmVtfS5weS0yXC41e3BhZGRpbmctdG9wOi42MjVyZW07cGFkZGluZy1ib3R0b206LjYyNXJlbX0ucHktM3twYWRkaW5nLXRvcDouNzVyZW07cGFkZGluZy1ib3R0b206Ljc1cmVtfS5wYi0we3BhZGRpbmctYm90dG9tOjB9LnBiLTF7cGFkZGluZy1ib3R0b206LjI1cmVtfS5wYi0ye3BhZGRpbmctYm90dG9tOi41cmVtfS5wYi0ze3BhZGRpbmctYm90dG9tOi43NXJlbX0ucGItNHtwYWRkaW5nLWJvdHRvbToxcmVtfS5wbC0ye3BhZGRpbmctbGVmdDouNXJlbX0ucGwtNCwuZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpub3QtZmlyc3RcOnBsLTQ6bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy1sZWZ0OjFyZW19LnByLTF7cGFkZGluZy1yaWdodDouMjVyZW19LnByLTR7cGFkZGluZy1yaWdodDoxcmVtfS5wdC0xe3BhZGRpbmctdG9wOi4yNXJlbX0ucHQtNntwYWRkaW5nLXRvcDoxLjVyZW19LnB0LTl7cGFkZGluZy10b3A6Mi4yNXJlbX0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRleHQtMnhse2ZvbnQtc2l6ZToxLjVyZW07bGluZS1oZWlnaHQ6MnJlbX0udGV4dC1iYXNle2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNXJlbX0udGV4dC1iYXNlLWlucHV0e2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuMjVyZW19LnRleHQtbGd7Zm9udC1zaXplOjEuMTI1cmVtO2xpbmUtaGVpZ2h0OjEuNzVyZW19LnRleHQtc217Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS4yNXJlbX0udGV4dC14c3tmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjFyZW19LnRleHQtYmxhY2t7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMCAwIDAvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LWdyYXktMzAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIwOSAyMTMgMjE5L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1ncmF5LTUwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDcgMTE0IDEyOC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtbmV1dHJhbC00MDB7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTYzIDE2MyAxNjMvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LW5ldXRyYWwtNTAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDExNSAxMTUgMTE1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1wcmltYXJ5e2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnkpIH0udGV4dC1wcmltYXJ5LWJ1dHRvbntjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbikgfS50ZXh0LXByaW1hcnktYnV0dG9uLWNvbnRlbnR7Y29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24tY29udGVudCkgfS50ZXh0LXByaW1hcnktY29udGVudHtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRlbnQpIH0udGV4dC1yZWQtNTAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIzOSA2OCA2OC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtc2xhdGUtNDAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE0OCAxNjMgMTg0L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uY29sb3Itc2xhdGUtNTAwLC50ZXh0LXNsYXRlLTUwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtc2xhdGUtNjAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDcxIDg1IDEwNS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LmNvbG9yLXNsYXRlLTgwMCwudGV4dC1zbGF0ZS04MDB7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzAgNDEgNTkvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LXdoaXRley0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDI1NSAyNTUgMjU1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uaG92ZXItdGV4dC1wcmltYXJ5LWJ1dHRvbi1jb250ZW50OmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0uaG92ZXJcOnRleHQtZ3JheS00MDA6aG92ZXJ7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTU2IDE2MyAxNzUvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5ob3Zlclw6dGV4dC1zbGF0ZS04MDA6aG92ZXJ7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzAgNDEgNTkvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5wbGFjZWhvbGRlclw6dGV4dC1zbGF0ZS0zMDA6OnBsYWNlaG9sZGVyey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIwMyAyMTMgMjI1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uY29sb3ItcmVkLTYwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyMjAgMzggMzgvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5ob3Zlclw6Y29sb3Itc2xhdGUtNzAwOmhvdmVyey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDUxIDY1IDg1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1vcGFjaXR5LTIwey0tdW4tdGV4dC1vcGFjaXR5Oi4yfS5mb250LTIwMHtmb250LXdlaWdodDoyMDB9LmZvbnQtNTAwLC5mb250LW1lZGl1bXtmb250LXdlaWdodDo1MDB9LmZvbnQtYm9sZHtmb250LXdlaWdodDo3MDB9LmZvbnQtbGlnaHR7Zm9udC13ZWlnaHQ6MzAwfS5mb250LXNlbWlib2xke2ZvbnQtd2VpZ2h0OjYwMH0ubGVhZGluZy1cWzIycHhcXXtsaW5lLWhlaWdodDoyMnB4fS5sZWFkaW5nLTRcLjV7bGluZS1oZWlnaHQ6MS4xMjVyZW19LmxlYWRpbmctNVwuNXtsaW5lLWhlaWdodDoxLjM3NXJlbX0ubGVhZGluZy02e2xpbmUtaGVpZ2h0OjEuNXJlbX0ubGVhZGluZy1ub3JtYWx7bGluZS1oZWlnaHQ6MS41fS5pdGFsaWN7Zm9udC1zdHlsZTppdGFsaWN9LnVuZGVybGluZXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm5vLXVuZGVybGluZSwuaG92ZXItbm8tdW5kZXJsaW5lOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5vcGFjaXR5LTEwe29wYWNpdHk6LjF9Lm9wYWNpdHktMTAwe29wYWNpdHk6MX0ub3BhY2l0eS0yMHtvcGFjaXR5Oi4yfS5vcGFjaXR5LTMwe29wYWNpdHk6LjN9Lm9wYWNpdHktNjB7b3BhY2l0eTouNn0uc2hhZG93ey0tdW4tc2hhZG93OnZhcigtLXVuLXNoYWRvdy1pbnNldCkgMCAxcHggM3B4IDAgdmFyKC0tdW4tc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksdmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDFweCAycHggLTFweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uc2hhZG93LWxney0tdW4tc2hhZG93OnZhcigtLXVuLXNoYWRvdy1pbnNldCkgMCAxMHB4IDE1cHggLTNweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSx2YXIoLS11bi1zaGFkb3ctaW5zZXQpIDAgNHB4IDZweCAtNHB4IHZhcigtLXVuLXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdW4tcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdW4tcmluZy1zaGFkb3cpLCB2YXIoLS11bi1zaGFkb3cpfS5zaGFkb3ctbWR7LS11bi1zaGFkb3c6dmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDRweCA2cHggLTFweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSx2YXIoLS11bi1zaGFkb3ctaW5zZXQpIDAgMnB4IDRweCAtMnB4IHZhcigtLXVuLXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdW4tcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdW4tcmluZy1zaGFkb3cpLCB2YXIoLS11bi1zaGFkb3cpfS5zaGFkb3ctc217LS11bi1zaGFkb3c6dmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDFweCAycHggMCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDBkKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uZm9jdXMtd2l0aGluXDpvdXRsaW5lLTI6Zm9jdXMtd2l0aGlue291dGxpbmUtd2lkdGg6MnB4fS5mb2N1cy13aXRoaW5cOm91dGxpbmUtcHJpbWFyeS1mb2N1czpmb2N1cy13aXRoaW57b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSB9Lm91dGxpbmUsLmZvY3VzLXdpdGhpblw6b3V0bGluZS1zb2xpZDpmb2N1cy13aXRoaW57b3V0bGluZS1zdHlsZTpzb2xpZH0ub3V0bGluZS1ub25lLC5mb2N1c1w6b3V0bGluZS1ub25lOmZvY3VzLC5mb2N1cy12aXNpYmxlXDpvdXRsaW5lLW5vbmU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDoycHg7b3V0bGluZToycHggc29saWQgIzAwMDB9LmZvY3VzLXdpdGhpblw6cmluZy0zOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctd2lkdGg6M3B4Oy0tdW4tcmluZy1vZmZzZXQtc2hhZG93OnZhcigtLXVuLXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXVuLXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS11bi1yaW5nLW9mZnNldC1jb2xvcik7LS11bi1yaW5nLXNoYWRvdzp2YXIoLS11bi1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKHZhcigtLXVuLXJpbmctd2lkdGgpICsgdmFyKC0tdW4tcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS11bi1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uZm9jdXMtd2l0aGluXDpyaW5nLW9mZnNldC0xOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctb2Zmc2V0LXdpZHRoOjFweH0uZm9jdXMtd2l0aGluXDpyaW5nLWJsdWUtNDAwOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctb3BhY2l0eToxOy0tdW4tcmluZy1jb2xvcjpyZ2IoOTYgMTY1IDI1MC92YXIoLS11bi1yaW5nLW9wYWNpdHkpKSB9LmZvY3VzXDpyaW5nLWJsdWUtNTAwOmZvY3Vzey0tdW4tcmluZy1vcGFjaXR5OjE7LS11bi1yaW5nLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXVuLXJpbmctb3BhY2l0eSkpIH0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZSxvcGFjaXR5LGJveC1zaGFkb3csdHJhbnNmb3JtLGZpbHRlciwtd2Via2l0LWJhY2tkcm9wLWZpbHRlcixiYWNrZHJvcC1maWx0ZXI7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLWFsbHt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tY29sb3Jze3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0udHJhbnNpdGlvbi1vcGFjaXR5e3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tcGFkZGluZy00MDB7dHJhbnNpdGlvbi1wcm9wZXJ0eTpwYWRkaW5nO3RyYW5zaXRpb24tZHVyYXRpb246LjRzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLXRyYW5zZm9ybXt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24td2lkdGgtMjUwe3RyYW5zaXRpb24tcHJvcGVydHk6d2lkdGg7dHJhbnNpdGlvbi1kdXJhdGlvbjouMjVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5kdXJhdGlvbi0xNTB7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzfS5kdXJhdGlvbi0zMDB7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmR1cmF0aW9uLTc1e3RyYW5zaXRpb24tZHVyYXRpb246NzVtc30uZGVsYXktMHt0cmFuc2l0aW9uLWRlbGF5OjBzfS5lYXNlLWluLW91dHt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uZWFzZS1vdXR7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0uY29udGVudC1cW1wiXCJcXXtjb250ZW50OiIifS5iZy1wcmltYXJ5LWdyYWRpZW50e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDgwZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWZyb20pLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LXRvKSAxMzAlKX0uYmctcHJpbWFyeS1ncmFkaWVudC1idXR0b257YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoODBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtYnV0dG9uLWZyb20pLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWJ1dHRvbi10bykgMTMwJSl9LmJnLXByaW1hcnktZ3JhZGllbnQtaG92ZXI6aG92ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoODBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtaG92ZXItZnJvbSksIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtaG92ZXItdG8pIDEzMCUpfS5saW5lLWNsYW1wLTV7LXdlYmtpdC1saW5lLWNsYW1wOjU7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS50eXBpbmctaW5kaWNhdG9yLnN2ZWx0ZS1zNDB4Z2t7Ym9yZGVyLXJhZGl1czo5OTk5cHh9LnR5cGluZy1pbmRpY2F0b3Iuc20uc3ZlbHRlLXM0MHhna3t3aWR0aDouMjVyZW07aGVpZ2h0Oi4yNXJlbX0udHlwaW5nLWluZGljYXRvci5tZC5zdmVsdGUtczQweGdre3dpZHRoOi41cmVtO2hlaWdodDouNXJlbX0udHlwaW5nLWluZGljYXRvci5pbmRpY2F0b3ItY29sb3ItYmxhY2suc3ZlbHRlLXM0MHhna3stLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS50eXBpbmctaW5kaWNhdG9yLmluZGljYXRvci1jb2xvci1ncmF5LnN2ZWx0ZS1zNDB4Z2t7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTAwIDExNiAxMzkvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0udHlwaW5nLWluZGljYXRvci5zdmVsdGUtczQweGdrOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi4yNXJlbX0udHlwaW5nLWluZGljYXRvci1zZWNvbmQuc3ZlbHRlLXM0MHhna3thbmltYXRpb24tZGVsYXk6LjFzfS50eXBpbmctaW5kaWNhdG9yLXRoaXJkLnN2ZWx0ZS1zNDB4Z2t7YW5pbWF0aW9uLWRlbGF5Oi4yc30uYnRuLnN2ZWx0ZS0xZTg0bjd3e2JvcmRlci1yYWRpdXM6MS41cmVtO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmctbGVmdDoxcmVtO3BhZGRpbmctcmlnaHQ6MXJlbTt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7ZGlzcGxheTppbmxpbmUtZmxleH0uYnRuLXByaW1hcnkuc3ZlbHRlLTFlODRuN3d7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbikgO2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0uYnRuLXByaW1hcnkuc3ZlbHRlLTFlODRuN3c6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5idG4tb3V0bGluZS5zdmVsdGUtMWU4NG43d3tib3JkZXItd2lkdGg6MXB4O2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbik7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigwIDAgMC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LmJ0bi1vdXRsaW5lLnN2ZWx0ZS0xZTg0bjd3OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSB9LmJ0bi1yYWlzZWQuc3ZlbHRlLTFlODRuN3d7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSA7Ym94LXNoYWRvdzowIDJweCA2cHggIzAwMDAwMDI5fS5idG4tcmFpc2VkLnN2ZWx0ZS0xZTg0bjd3OmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJ0bi1zbS5zdmVsdGUtMWU4NG43d3toZWlnaHQ6MnJlbX0uYnRuLW1kLnN2ZWx0ZS0xZTg0bjd3e2hlaWdodDoyLjVyZW19LmJ0bi1sZy5zdmVsdGUtMWU4NG43d3toZWlnaHQ6M3JlbX0uYnRuLWRpc2FibGVkLnN2ZWx0ZS0xZTg0bjd3e2N1cnNvcjpub3QtYWxsb3dlZDtvcGFjaXR5Oi4yfS5kYXJrLnN2ZWx0ZS1zajk5aDN7YmFja2dyb3VuZC1jb2xvcjojNGI1NTYzZjI7cGFkZGluZzouNXJlbSAuNzVyZW19LmxpZ2h0LnN2ZWx0ZS1zajk5aDN7YmFja2dyb3VuZC1jb2xvcjojOWNhM2FmZjI7cGFkZGluZzouMjVyZW0gLjVyZW19c3ZnLnN2ZWx0ZS15aXhoYXR7ZmlsbDpjdXJyZW50Q29sb3I7d2lkdGg6MWVtO2hlaWdodDoxZW19LmNhcm91c2VsLnN2ZWx0ZS0xMHFxanpke2p1c3RpZnktY29udGVudDpzdGFydDthbGlnbi1pdGVtczpzdGFydDt3aWR0aDoxMDAlfS5jYXJvdXNlbC5zdmVsdGUtMTBxcWp6ZDpob3ZlciAuYnV0dG9uOndoZXJlKC5zdmVsdGUtMTBxcWp6ZCksLmNhcm91c2VsLnN2ZWx0ZS0xMHFxanpkOmZvY3VzLXdpdGhpbiAuYnV0dG9uOndoZXJlKC5zdmVsdGUtMTBxcWp6ZCl7b3BhY2l0eToxfS5idXR0b24uc3ZlbHRlLTEwcXFqemR7b3BhY2l0eTowO3otaW5kZXg6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlcjpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuNHM7cG9zaXRpb246YWJzb2x1dGV9LmxlZnQuc3ZlbHRlLTEwcXFqemR7bGVmdDotMWVtfS5yaWdodC5zdmVsdGUtMTBxcWp6ZHtyaWdodDotMWVtfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCB1bHttYXJnaW4tcmlnaHQ6LjI1cmVtO3BhZGRpbmctbGVmdDoxcmVtO2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCBsaTpub3QoOmZpcnN0LWNoaWxkKSwubWVzc2FnZS1jb250ZW50LWh0bWwgbGk+dWwsLm1lc3NhZ2UtY29udGVudC1odG1sIGxpPm9se21hcmdpbi10b3A6LjVyZW19Lm1lc3NhZ2UtY29udGVudC1odG1sIG9se21hcmdpbi1yaWdodDouMjVyZW07cGFkZGluZy1sZWZ0OjFyZW07bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9Lm1lc3NhZ2UtY29udGVudC1odG1sIGF7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCAqe3doaXRlLXNwYWNlOm5vcm1hbDtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9Lm1lc3NhZ2UtY29udGVudC10ZXh0LnN2ZWx0ZS1uZmIweW17b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO3dvcmQtYnJlYWs6YnJlYWstd29yZDt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0ubWVzc2FnZS1jb250ZW50LXRleHQgYXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm1lc3NhZ2UtY29udGVudC10ZXh0IGE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmF2YXRhci1ncm91cC1pdGVtLnN2ZWx0ZS15ZnhhN3Q6Zmlyc3Qtb2YtdHlwZXt6LWluZGV4OjN9LmF2YXRhci1ncm91cC1pdGVtLnN2ZWx0ZS15ZnhhN3Q6bnRoLW9mLXR5cGUoMil7ei1pbmRleDoyfS5hdmF0YXItZ3JvdXAtaXRlbS5zdmVsdGUteWZ4YTd0Om50aC1vZi10eXBlKDMpe3otaW5kZXg6MX0uYXZhdGFyLXNtLnN2ZWx0ZS15ZnhhN3Q6bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LTEycHh9LmF2YXRhci1tZC5zdmVsdGUteWZ4YTd0Om5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi0xNnB4fS5hdmF0YXItbGcuc3ZlbHRlLXlmeGE3dDpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDotMjJweH0ucmVtb3ZlSWNvbi5zdmVsdGUtMTFmM2Jkd3tvcGFjaXR5OjA7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5O3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uYXR0YWNobWVudFdyYXBwZXIuc3ZlbHRlLTExZjNiZHc6aG92ZXIgLnJlbW92ZUljb246d2hlcmUoLnN2ZWx0ZS0xMWYzYmR3KSwuYXR0YWNobWVudFdyYXBwZXIuc3ZlbHRlLTExZjNiZHc6Zm9jdXMtd2l0aGluIC5yZW1vdmVJY29uOndoZXJlKC5zdmVsdGUtMTFmM2Jkdyl7b3BhY2l0eToxfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2V7b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWluO3Njcm9sbGJhci13aWR0aDpub25lO2ZsZXg6MTttYXgtaGVpZ2h0OjMycHg7bWFyZ2luLXRvcDouNzVyZW07bWFyZ2luLWJvdHRvbTouNzVyZW07ZGlzcGxheTpncmlkO292ZXJmbG93OmhpZGRlbiBhdXRvfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0udGV4dGFyZWEtY29udGFpbmVyLXJlc2l6YWJsZS5zdmVsdGUtMXRsOWxjZXttYXgtaGVpZ2h0OjEyNXB4fS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6YWZ0ZXJ7Y29udGVudDphdHRyKGRhdGEtdGV4dGFyZWEtdmFsdWUpICIgIjt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt2aXNpYmlsaXR5OmhpZGRlbjtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQ7d29yZC1icmVhazpicmVhay13b3JkfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6YWZ0ZXIsdGV4dGFyZWEuc3ZlbHRlLTF0bDlsY2V7Zm9udC1zaXplOmluaGVyaXQ7Z3JpZC1hcmVhOjEvMS8yLzI7bWFyZ2luLWxlZnQ6MXJlbTttYXJnaW4tcmlnaHQ6Ljc1cmVtfXRleHRhcmVhLnN2ZWx0ZS0xdGw5bGNlOjpwbGFjZWhvbGRlcnt3b3JkLWJyZWFrOmJyZWFrLWFsbDtvdmVyZmxvdzpoaWRkZW59ZW0tZW1vamktcGlja2Vyey0tYm9yZGVyLXJhZGl1czoxMnB4Oy0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1jb2xvcjpyZ2IoMjI2IDIzMiAyNDAvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKTtib3JkZXItcmFkaXVzOi43NXJlbTt3aWR0aDoxMDAlO2hlaWdodDo0MDBweDttYXgtaGVpZ2h0Ojgwdmg7cGFkZGluZy10b3A6LjI1cmVtO2JveC1zaGFkb3c6MCAxcHggMTVweCAxcHggIzAwMDAwMDFmfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em97LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjI5IDIzMSAyMzUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDtib3JkZXItcmFkaXVzOjk5OTlweDt3aWR0aDoyLjc1cmVtO2hlaWdodDoxLjVyZW07dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2U7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em86Zm9jdXN7b3V0bGluZS1vZmZzZXQ6MnB4O291dGxpbmU6MnB4IHNvbGlkICMwMDAwfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em86YWZ0ZXJ7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpOy0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0NSAyNDUgMjQ1L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSA7Y29udGVudDoiIjtib3JkZXItcmFkaXVzOjk5OTlweDt3aWR0aDoxLjI1cmVtO2hlaWdodDoxLjI1cmVtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MnB4O2xlZnQ6MnB4fS5zd2l0Y2guY2hlY2tlZC5zdmVsdGUtMXl6Znp6b3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LnN3aXRjaC5jaGVja2VkLnN2ZWx0ZS0xeXpmenpvOmFmdGVyey0tdW4tdHJhbnNsYXRlLXg6MTAwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCh2YXIoLS11bi10cmFuc2xhdGUteCkpIHRyYW5zbGF0ZVkodmFyKC0tdW4tdHJhbnNsYXRlLXkpKSB0cmFuc2xhdGVaKHZhcigtLXVuLXRyYW5zbGF0ZS16KSkgcm90YXRlKHZhcigtLXVuLXJvdGF0ZSkpIHJvdGF0ZVgodmFyKC0tdW4tcm90YXRlLXgpKSByb3RhdGVZKHZhcigtLXVuLXJvdGF0ZS15KSkgcm90YXRlWih2YXIoLS11bi1yb3RhdGUteikpIHNrZXdYKHZhcigtLXVuLXNrZXcteCkpIHNrZXdZKHZhcigtLXVuLXNrZXcteSkpIHNjYWxlWCh2YXIoLS11bi1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXVuLXNjYWxlLXkpKSBzY2FsZVoodmFyKC0tdW4tc2NhbGUteikpOy0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0NSAyNDUgMjQ1L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmludmFsaWQuc3ZlbHRlLTEyZjRjMWcsLmludmFsaWQuc3ZlbHRlLTE5bTN1Y3l7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjM5IDY4IDY4L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9c2VsZWN0LnN2ZWx0ZS04aDVycTR7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzZCNzI4MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTYgOCA0IDQgNC00Jy8lM0UlM0Mvc3ZnJTNFIik7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAuNXJlbSBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZToxLjVlbSAxLjVlbX0uaW52YWxpZC5zdmVsdGUtOGg1cnE0ey0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDIzOSA2OCA2OC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5pY29uLnN2ZWx0ZS0xcnNhMnF2e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSA7Ym9yZGVyLXJhZGl1czoxLjVyZW07cGFkZGluZzouNXJlbTtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uZHJhd2VyLWJ1dHRvbi5zdmVsdGUtajZleHEwe3RleHQtYWxpZ246bGVmdDtib3JkZXItcmFkaXVzOi41cmVtO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO3BhZGRpbmc6LjVyZW07dHJhbnNpdGlvbjpjb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxib3JkZXItY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSx0ZXh0LWRlY29yYXRpb24tY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxmaWxsIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksc3Ryb2tlIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7ZGlzcGxheTpmbGV4fS5kcmF3ZXItYnV0dG9uLnN2ZWx0ZS1qNmV4cTA6aG92ZXJ7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uZHJhd2VyLWJ1dHRvbi1kaXNhYmxlZC5zdmVsdGUtajZleHEwe3RleHQtYWxpZ246bGVmdDtvcGFjaXR5Oi4zO2JvcmRlci1yYWRpdXM6LjVyZW07YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7cGFkZGluZzouNXJlbTtkaXNwbGF5OmZsZXh9LmRyYXdlci1idXR0b24tZGlzYWJsZWQuc3ZlbHRlLWo2ZXhxMDpob3ZlcntjdXJzb3I6bm90LWFsbG93ZWR9LmRyYXdlci1zd2l0Y2guc3ZlbHRlLTFqZXN4dGN7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dGV4dC1hbGlnbjpsZWZ0O2JvcmRlci1yYWRpdXM6LjVyZW07YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7cGFkZGluZzouNXJlbTt0cmFuc2l0aW9uOmNvbG9yIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksYmFja2dyb3VuZC1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGJvcmRlci1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLHRleHQtZGVjb3JhdGlvbi1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGZpbGwgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxzdHJva2UgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtkaXNwbGF5OmZsZXh9LmRyYXdlci1zd2l0Y2guc3ZlbHRlLTFqZXN4dGM6aG92ZXJ7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0ubWVzc2FnZS1jb250ZW50LnN2ZWx0ZS0xZ2Z2aGk2e292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7d2hpdGUtc3BhY2U6cHJlLXdyYXB9Lm1lc3NhZ2UtY29udGVudC1sZWZ0LnN2ZWx0ZS0xZ2Z2aGk2e2JvcmRlci1yYWRpdXM6LjI1cmVtIDEuNXJlbSAxLjVyZW0gLjI1cmVtfS5tZXNzYWdlLWNvbnRlbnQtbGVmdC1maXJzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEuNXJlbX0ubWVzc2FnZS1jb250ZW50LWxlZnQtbGFzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ubWVzc2FnZS1jb250ZW50LXJpZ2h0LnN2ZWx0ZS0xZ2Z2aGk2e2JvcmRlci1yYWRpdXM6MS41cmVtIC4yNXJlbSAuMjVyZW0gMS41cmVtfS5tZXNzYWdlLWNvbnRlbnQtcmlnaHQtZmlyc3Quc3ZlbHRlLTFnZnZoaTZ7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5tZXNzYWdlLWNvbnRlbnQtcmlnaHQtbGFzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoxLjVyZW19LmNvdW50LWFuaW1hdGUuc3ZlbHRlLTIyOGM3bnthbmltYXRpb246LjJzIGN1YmljLWJlemllciguNCwyLC42LDEpIHN2ZWx0ZS0yMjhjN24tcG9wLXNjYWxlfUBrZXlmcmFtZXMgc3ZlbHRlLTIyOGM3bi1wb3Atc2NhbGV7MCV7dHJhbnNmb3JtOnNjYWxlKDEpfTUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xKX10b3t0cmFuc2Zvcm06c2NhbGUoMSl9fQovKiR2aXRlJDoxKi8="}},"time_used":20,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":20,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/33735.2cb844ad2b0f3c892162.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.130Z","timestamp":1785141584130,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/33735.2cb844ad2b0f3c892162.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a3e1907-eb6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 26 Jun 2026 06:15:35 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/26/2026 11:13:50\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 590e2b416f6d0637f1449d5962e41310\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3766,"size_decoded":1923,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3766), with no line terminators","md5":"c9433cd2c494e00bc1f5eeb71eecd363","sha1":"da37ba6947ef271416292a4bec7fd80696864e22","sha256":"83f03dfc765b467ce1c567e7c09720d3c654d84ee9ac41c94804ee40cd808af1","sha512":"b29c41b6ced30e594e30b98862f24c8824d4187d5bda612574fadeeb13c4f440d1f30c411d3803c9cd32479fbfabde86b44bc5257aa1f4144bacfc414d897a15","ssdeep":"","tlshash":"9e71001176a6973cfb279620c2a27daeb38ca9207b4f0ef99d0751740ace3d67071489","first_seen":"2026-06-26T14:56:44.439294Z","last_seen":"2026-07-27T14:50:15.372326Z","times_seen":730,"resource_available":false,"data":"Ym9keXtvdmVyZmxvdy15OnNjcm9sbH0udHYtbGF5b3V0LXdpZHRoe2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXJnaW46MCBhdXRvO3BhZGRpbmc6MCAyMHB4O3dpZHRoOjEwMjBweH0udHYtbGF5b3V0LXdpZHRoLS1uby1wYWRkaW5ne3BhZGRpbmc6MDt3aWR0aDo5ODBweH0udHYtbGF5b3V0LXdpZHRoLS1zaW1wbGV7cGFkZGluZzowfS50di1kaWFsb2cgLnR2LWxheW91dC13aWR0aHttYXgtd2lkdGg6MTAwJX0uY2hhcnQtcGFnZSAudHYtbGF5b3V0LXdpZHRoe3dpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtbGF5b3V0LXdpZHRoe3dpZHRoOmF1dG99LnR2LWxheW91dC13aWR0aCAudHYtZmVlZHttYXJnaW4taW5saW5lLWVuZDotMjBweDttYXJnaW4taW5saW5lLXN0YXJ0Oi0yMHB4fS50di1sYXlvdXQtd2lkdGggLnR2LWZlZWQtLXRhYmxldC10b3AtaW5kZW50e21hcmdpbi10b3A6NDhweH19LnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dCxib2R5LnBhZ2Utd2lkZSAudHYtbGF5b3V0LXdpZHRoLmZ1bGwtd2lkdGgtbGF5b3V0e3dpZHRoOmF1dG87LS1hZGFwdGl2ZS1tZi1jb250YWluZXItcGFkZGluZzpjYWxjKHZhcigtLXNpZGUtZ2FwLW1vZGUtYWRhcHRpdmUsIDEpKjIwcHggKyB2YXIoLS1zaWRlLWdhcC1tb2RlLWZpeGVkLCAwKSoyMHB4KTstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1tYXgtd2lkdGg6MjM2MHB4O2JveC1zaXppbmc6aW5pdGlhbDtwYWRkaW5nLWlubGluZS1lbmQ6dmFyKC0tYWRhcHRpdmUtbWYtY29udGFpbmVyLXBhZGRpbmcpO3BhZGRpbmctaW5saW5lLXN0YXJ0OnZhcigtLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nKX1AbWVkaWEgKG1pbi13aWR0aDoxMDI0cHgpey50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXQsYm9keS5wYWdlLXdpZGUgLnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dHstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nOmNhbGModmFyKC0tc2lkZS1nYXAtbW9kZS1hZGFwdGl2ZSwgMSkqMzJweCArIHZhcigtLXNpZGUtZ2FwLW1vZGUtZml4ZWQsIDApKjIwcHgpfX1AbWVkaWEgKG1pbi13aWR0aDoxNDQwcHgpey50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXQsYm9keS5wYWdlLXdpZGUgLnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dHstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nOmNhbGModmFyKC0tc2lkZS1nYXAtbW9kZS1hZGFwdGl2ZSwgMSkqNDBweCArIHZhcigtLXNpZGUtZ2FwLW1vZGUtZml4ZWQsIDApKjIwcHgpfX1AbWVkaWEgKG1pbi13aWR0aDoxOTIwcHgpey50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXQsYm9keS5wYWdlLXdpZGUgLnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dHstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nOmNhbGModmFyKC0tc2lkZS1nYXAtbW9kZS1hZGFwdGl2ZSwgMSkqMTAwcHggKyB2YXIoLS1zaWRlLWdhcC1tb2RlLWZpeGVkLCAwKSoyMHB4KX19QG1lZGlhIChtaW4td2lkdGg6MjU2MHB4KXsudHYtbGF5b3V0LXdpZHRoLmZ1bGwtd2lkdGgtbGF5b3V0LGJvZHkucGFnZS13aWRlIC50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXR7LS1hZGFwdGl2ZS1tZi1jb250YWluZXItcGFkZGluZzpjYWxjKHZhcigtLXNpZGUtZ2FwLW1vZGUtYWRhcHRpdmUsIDEpKigxMDB2dyAtIHZhcigtLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1tYXgtd2lkdGgpKS8yICsgdmFyKC0tc2lkZS1nYXAtbW9kZS1maXhlZCwgMCkqMjBweCk7bWFyZ2luLWlubGluZS1lbmQ6YXV0bzttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG87bWF4LXdpZHRoOnZhcigtLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1tYXgtd2lkdGgpfX0uZmlsdGVyLWlkZWFzLWJ1dHRvbi13aXRoLXBhZGRpbmd7cGFkZGluZy1pbmxpbmU6NXB4fS50di1sYXlvdXQtcGFkZGluZ3twYWRkaW5nOjAgMjBweH1ib2R5LnBhZ2Utd2lkZSAudHYtbGF5b3V0LXdpZHRoe3dpZHRoOjE1MjBweH0udHYtbWFpbixib2R5LnBhZ2UtZnVsbHdpZHRoIC50di1sYXlvdXQtd2lkdGh7d2lkdGg6MTAwJX0udHYtbWFpbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi1oZWlnaHQ6MTAwJX0uY2xlYXJ7Y2xlYXI6Ym90aH0uY2xlYXJmaXg6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6dGFibGV9LmhpZGV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uc2hvd3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0udHYtcmlnaHR7ZmxvYXQ6aW5saW5lLWVuZCFpbXBvcnRhbnR9LnR2LWxlZnR7ZmxvYXQ6aW5saW5lLXN0YXJ0IWltcG9ydGFudH0udHYtY29udGVudHtmbGV4OjEgMCBhdXRvfS50di1jb250ZW50X19jb250ZW50LWJsb2Nre3BhZGRpbmc6NzBweCAwfS50di1mZWVke21hcmdpbjo0OHB4IC0xMHB4O21pbi1oZWlnaHQ6NTAwcHh9LnR2LWZlZWQ6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6dGFibGV9LnR2LWZlZWQtLW5vLW1pbi1oZWlnaHR7bWluLWhlaWdodDphdXRvfS50di1mZWVkLS1uby1oaW5kZW50e21hcmdpbi1pbmxpbmUtZW5kOjA7bWFyZ2luLWlubGluZS1zdGFydDowfUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LWZlZWR7bWFyZ2luOjAgMCA0OHB4fX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LnR2LWZlZWR7bWFyZ2luOjB9fS50di1mZWVkLS1uby12ZXJ0aWNhbC1tYXJnaW57bWFyZ2luLWJvdHRvbTowO21hcmdpbi10b3A6MH0udHYtZmVlZF9fZW1wdHl7Y2xlYXI6Ym90aDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7ZmxleDoxIDEgYXV0bztmb250LXNpemU6MjBweDtwYWRkaW5nOjEwMHB4IDA7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnR2LWZlZWRfX2l0ZW17Zm9udC1zaXplOjEzcHg7bWFyZ2luLWJvdHRvbToyMHB4O3BhZGRpbmc6MCAxMHB4O3dpZHRoOjQ4MHB4fS50di1mZWVkX19pdGVtLS13aWR0aF90d28tY29sdW1uc3t3aWR0aDo5ODBweH0udHYtZmVlZF9faXRlbS0td2lkdGhfZnVsbHtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJX0udHYtZmVlZF9faXRlbS0td2lkdGhfaGFsZntib3gtc2l6aW5nOmJvcmRlci1ib3g7ZmxvYXQ6aW5saW5lLXN0YXJ0O3dpZHRoOjUwJX1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1mZWVkX19pdGVte21hcmdpbi1ib3R0b206MTBweDtwYWRkaW5nOjA7d2lkdGg6MTAwJX0udHYtZmVlZF9faXRlbTpsYXN0LW9mLXR5cGV7Ym9yZGVyLWJvdHRvbTpub25lfX0udHYtZmVlZF9fc2VjdGlvbi10aXRsZXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LWZlZWRfX3NlY3Rpb24tdGl0bGV7YWxpZ24taXRlbXM6YmFzZWxpbmU7bWFyZ2luLWlubGluZS1zdGFydDoxMnB4fX1bZGF0YS10aGVtZT1saWdodF17LS1fMC1oN0RNOiNkOWRhZGJ9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1oN0RNOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApfWJvZHksaHRtbHtiYWNrZ3JvdW5kOm5vbmU7aGVpZ2h0OjEwMCU7bWluLXdpZHRoOjI0MHB4O292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlfWJvZHl7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tXzAtaDdETSk7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNpemluZzpib3JkZXItYm94fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/11461.e27cb4ecf30492ac11f6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.692Z","timestamp":1785141584692,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/11461.e27cb4ecf30492ac11f6.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-d22\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 79232fd94cc046c202ebe27b3c8f2c50\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3362,"size_decoded":1718,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3362), with no line terminators","md5":"d57b002e0b956f52c9bfada971230444","sha1":"06594be9b9b68921b0e108591a901858ebc1f8b1","sha256":"f1b83b2356d69c4ca5f06d45aa89ed7abedeeb54bec8ab856702bdadaf099259","sha512":"14fd023c81be241ae68a71bfac23b1be63eb4f5893a2728775eac03ad277734fd2762138ef44afc0769cd939d74c34eb7e2af50b51ee6680e2c6f678aaae7892","ssdeep":"","tlshash":"3c613e72c50424b536ffe8d68e928f47191c6463ea03264fa6217e2859c7ffe04e21a7","first_seen":"2026-07-16T13:40:49.805257Z","last_seen":"2026-07-27T14:50:15.381375Z","times_seen":243,"resource_available":false,"data":"LmJvZHlOb1Njcm9sbC1mT0lSS0F0SHttYXJnaW4tcmlnaHQ6dmFyKC0tdWktbGliLXByaXZhdGUtc2Nyb2xsVHJhcC1zY3JvbGwtd2lkdGgpO292ZXJmbG93OmhpZGRlbjt0b3VjaC1hY3Rpb246bm9uZX1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuYm9keU5vU2Nyb2xsLWZPSVJLQXRIe3Njcm9sbGJhci13aWR0aDpub25lfX0uYm9keU5vU2Nyb2xsLWZPSVJLQXRILnNiLXNjcm9sbGJhci13cmFwe2Rpc3BsYXk6bm9uZX0uYm9keU5vU2Nyb2xsLWZPSVJLQXRIOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0uYm9keU5vU2Nyb2xsLWZPSVJLQXRIOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuYm9keU5vU2Nyb2xsLWZPSVJLQXRIOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tkaXNwbGF5Om5vbmV9LmJvZHlOb1Njcm9sbC1mT0lSS0F0SDo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uc2Nyb2xsVHJhcC1MbjBBSVc0RntoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtvdmVyZmxvdzpzY3JvbGw7cG9zaXRpb246Zml4ZWQ7dG9wOjA7d2lkdGg6MTAwJX1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuc2Nyb2xsVHJhcC1MbjBBSVc0RntzY3JvbGxiYXItd2lkdGg6bm9uZX19LnNjcm9sbFRyYXAtTG4wQUlXNEYuc2Itc2Nyb2xsYmFyLXdyYXB7ZGlzcGxheTpub25lfS5zY3JvbGxUcmFwLUxuMEFJVzRGOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0uc2Nyb2xsVHJhcC1MbjBBSVc0Rjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsLnNjcm9sbFRyYXAtTG4wQUlXNEY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2Rpc3BsYXk6bm9uZX0uc2Nyb2xsVHJhcC1MbjBBSVc0Rjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uc2Nyb2xsVHJhcENvbnRlbnQtTG4wQUlXNEZ7aGVpZ2h0OmNhbGMoMTAwJSArIDEwMDAwcHgpO3dpZHRoOmNhbGMoMTAwJSArIDEwMDAwcHgpfS5zdHViLUl1aE9qb3VZe2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1zZWNvbmRhcnkpO2JvdHRvbTowO2hlaWdodDo0cHg7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6LjU7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjpmaXhlZH0uY29udGVudC1hZjBMQ2d5NXtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmhpZGRlbjtvdmVyc2Nyb2xsLWJlaGF2aW9yOm5vbmU7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxOy0td2Via2l0LW92ZXJzY3JvbGwtYmVoYWl2aW91cjpub25lO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dyaWQtdGVtcGxhdGUtcm93czoxZnJ9LnN0cmV0Y2gtYWYwTENneTV7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uYmVnaW4tYWYwTENneTV7aW5zZXQtaW5saW5lLXN0YXJ0OjB9LmVuZC1hZjBMQ2d5NXtpbnNldC1pbmxpbmUtZW5kOjB9LmJlZ2luLWFmMExDZ3k1LC5lbmQtYWYwTENneTV7aGVpZ2h0OjEwMCU7bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAxMDBweCk7dG9wOjB9LnRvcC1hZjBMQ2d5NXt0b3A6MH0uYm90dG9tLWFmMExDZ3k1e2JvdHRvbTowfS5ib3R0b20tYWYwTENneTUsLnRvcC1hZjBMQ2d5NXtpbnNldC1pbmxpbmUtc3RhcnQ6MDttYXgtaGVpZ2h0OmNhbGMoMTAwJSAtIDEwMHB4KTt3aWR0aDoxMDAlfUBzdXBwb3J0cyAoaGVpZ2h0OjEwMGR2aCl7LmJvdHRvbS1hZjBMQ2d5NSwudG9wLWFmMExDZ3k1e21heC1oZWlnaHQ6Y2FsYygxMDBkdmggLSAxMDBweCl9fS5iYWNrZHJvcC1hZjBMQ2d5NXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW90aGVyLW1vZGFsLWJhY2tncm91bmQpO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO292ZXJzY3JvbGwtYmVoYXZpb3I6bm9uZTtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlOy0td2Via2l0LW92ZXJzY3JvbGwtYmVoYWl2aW91cjpub25lfS5tb2JpbGVDb250ZXh0LVZ4bjRMaFlMe2Rpc3BsYXk6Y29udGVudHM7LS11aS1saWItb3V0LXBvc2l0aW9uZXItaXNBbmNob3JQb3NpdGlvbmVyOjA7LS11aS1saWItb3V0LXBvc2l0aW9uZXItaXNNb2JpbGVQb3NpdGlvbmVyOjF9LmFuY2hvckNvbnRleHQtVnhuNExoWUx7ZGlzcGxheTpjb250ZW50czstLXVpLWxpYi1vdXQtcG9zaXRpb25lci1pc0FuY2hvclBvc2l0aW9uZXI6MTstLXVpLWxpYi1vdXQtcG9zaXRpb25lci1pc01vYmlsZVBvc2l0aW9uZXI6MH0uY29udGVudERlZmF1bHRBcHBlYXJhbmNlTW9iaWxlLWc4Um9oZ05Ye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSk7Ym9yZGVyLXJhZGl1czowIDAgMTBweCAxMHB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpfS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlg6ZGlyKHJ0bCl7Ym9yZGVyLXJhZGl1czowIDAgMTBweCAxMHB4fS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlguYmVnaW4tZzhSb2hnTlh7Ym9yZGVyLXJhZGl1czowIDEwcHggMTBweCAwfS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlguYmVnaW4tZzhSb2hnTlg6ZGlyKHJ0bCl7Ym9yZGVyLXJhZGl1czoxMHB4IDAgMCAxMHB4fS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlguZW5kLWc4Um9oZ05Ye2JvcmRlci1yYWRpdXM6MTBweCAwIDAgMTBweH0uY29udGVudERlZmF1bHRBcHBlYXJhbmNlTW9iaWxlLWc4Um9oZ05YLmVuZC1nOFJvaGdOWDpkaXIocnRsKXtib3JkZXItcmFkaXVzOjAgMTBweCAxMHB4IDB9LmNvbnRlbnREZWZhdWx0QXBwZWFyYW5jZU1vYmlsZS1nOFJvaGdOWC50b3AtZzhSb2hnTlh7Ym9yZGVyLXJhZGl1czowIDAgMTBweCAxMHB4fS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlguYm90dG9tLWc4Um9oZ05Ye2JvcmRlci1yYWRpdXM6MTBweCAxMHB4IDAgMH0uY29udGVudERlZmF1bHRBcHBlYXJhbmNlLWc4Um9oZ05Ye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSk7Ym9yZGVyLXJhZGl1czoxMHB4IDEwcHggMTBweCAxMHB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpO292ZXJmbG93OmhpZGRlbn0uY29udGVudERlZmF1bHRBcHBlYXJhbmNlLWc4Um9oZ05YOmRpcihydGwpe2JvcmRlci1yYWRpdXM6MTBweCAxMHB4IDEwcHggMTBweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42212.4754c2804ab9a979776b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.758Z","timestamp":1785141584758,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42212.4754c2804ab9a979776b.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-8f61\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 699c43d0671ed43c35a29ae39e323cc9\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":36705,"size_decoded":14239,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"e76e3cc979825bc25c1aa111b75bd78b","sha1":"6113f71858e18e692dc20143a9c20e222a5cc559","sha256":"bddee1e8d256f7e1fad4922a61955b4edaf993c3c78d20ce8c5ebd04ad4a3c21","sha512":"0d629425dab529dffde41a65bf8dacd4d7bd38f868a631db502b2eac3cf58f53c08d489b94580f84b89263cda52fe48cb17f0d61d27f55132f6ee350a2b8d719","ssdeep":"768:XuCACOy5bi5yIx6nSiRUhAmhY1pQZ7U49dSH7Y9syV2zNRbMMUzGTvFr9t7bRkzm:vLbRIAS/AmY1pQakdSb0saNzkbPlgQHL","tlshash":"74f219e071d5b05163d740eb843f4402f1692e2578064961fa6d9cdebe6c889723bfbc","first_seen":"2026-07-23T14:00:31.440048Z","last_seen":"2026-07-27T14:50:15.286714Z","times_seen":115,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0MjIxMl0sezkyNDUwNyhlKXtlLmV4cG9ydHM9eyJ0YWJsZXQtbm9ybWFsLWJyZWFrcG9pbnQiOiIobWF4LXdpZHRoOiA3NjhweCkiLCJzbWFsbC1oZWlnaHQtYnJlYWtwb2ludCI6IihtYXgtaGVpZ2h0OiAzNjBweCkiLCJ0YWJsZXQtc21hbGwtYnJlYWtwb2ludCI6IihtYXgtd2lkdGg6IDQ0MHB4KSJ9fSwyNDQ1MjUoZSl7ZS5leHBvcnRzPXtsb2FkZXI6ImxvYWRlci1NZ2Y4RUZ3SyIsc3RhdGljOiJzdGF0aWMtTWdmOEVGd0siLGl0ZW06Iml0ZW0tTWdmOEVGd0siLCJ0di1idXR0b24tbG9hZGVyIjoidHYtYnV0dG9uLWxvYWRlci1NZ2Y4RUZ3SyIsbWVkaXVtOiJtZWRpdW0tTWdmOEVGd0siLHNtYWxsOiJzbWFsbC1NZ2Y4RUZ3SyIsYmxhY2s6ImJsYWNrLU1nZjhFRndLIix3aGl0ZToid2hpdGUtTWdmOEVGd0siLGdyYXk6ImdyYXktTWdmOEVGd0siLHByaW1hcnk6InByaW1hcnktTWdmOEVGd0sifX0sNDA2MTEwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse01hdGNoTWVkaWE6KCk9Pm99KTt2YXIgbj1zKDc3OTQ3NCk7Y2xhc3MgbyBleHRlbmRzIG4uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9oYW5kbGVDaGFuZ2U9KCk9Pnt0aGlzLmZvcmNlVXBkYXRlKCl9LHRoaXMuc3RhdGU9e3F1ZXJ5OndpbmRvdy5tYXRjaE1lZGlhKHRoaXMucHJvcHMucnVsZSl9fWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5fc3Vic2NyaWJlKHRoaXMuc3RhdGUucXVlcnkpfWNvbXBvbmVudERpZFVwZGF0ZShlLHQpe3RoaXMuc3RhdGUucXVlcnkhPT10LnF1ZXJ5JiYodGhpcy5fdW5zdWJzY3JpYmUodC5xdWVyeSksdGhpcy5fc3Vic2NyaWJlKHRoaXMuc3RhdGUucXVlcnkpKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX3Vuc3Vic2NyaWJlKHRoaXMuc3RhdGUucXVlcnkpfXJlbmRlcigpe3JldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuKHRoaXMuc3RhdGUucXVlcnkubWF0Y2hlcyl9c3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhlLHQpe3JldHVybiBlLnJ1bGUhPT10LnF1ZXJ5Lm1lZGlhP3txdWVyeTp3aW5kb3cubWF0Y2hNZWRpYShlLnJ1bGUpfTpudWxsfV9zdWJzY3JpYmUoZSl7ZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHRoaXMuX2hhbmRsZUNoYW5nZSl9X3Vuc3Vic2NyaWJlKGUpe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLl9oYW5kbGVDaGFuZ2UpfX19LDYwOTUyOChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtEaWFsb2dCcmVha3BvaW50czooKT0+b30pO3ZhciBuPXMoOTI0NTA3KTtjb25zdCBvPXtTbWFsbEhlaWdodDpuWyJzbWFsbC1oZWlnaHQtYnJlYWtwb2ludCJdLFRhYmxldFNtYWxsOm5bInRhYmxldC1zbWFsbC1icmVha3BvaW50Il0sVGFibGV0Tm9ybWFsOm5bInRhYmxldC1ub3JtYWwtYnJlYWtwb2ludCJdfX0sNjU5ODc4KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse21ha2VPdmVybGFwYWJsZTooKT0+cn0pO3ZhciBuPXMoNzc5NDc0KSxvPXMoNTg1NDgpO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm4gY2xhc3MgZXh0ZW5kcyBuLlB1cmVDb21wb25lbnR7cmVuZGVyKCl7Y29uc3R7aXNPcGVuZWQ6cyxyb290OnJ9PXRoaXMucHJvcHM7aWYoIXMpcmV0dXJuIG51bGw7Y29uc3QgaT1uLmNyZWF0ZUVsZW1lbnQoZSx7Li4udGhpcy5wcm9wcyxyZWY6dGhpcy5wcm9wcy5jb21wb25lbnRSZWYsekluZGV4OjE1MH0pO3JldHVybiJwYXJlbnQiPT09cj9pOm4uY3JlYXRlRWxlbWVudChvLlBvcnRhbCx7c2hvdWxkVHJhcEZvY3VzOnR9LGkpfX19fSw1NTgwMzAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7VG91Y2hTY3JvbGxDb250YWluZXI6KCk9PmN9KTt2YXIgbj1zKDc3OTQ3NCksbz1zKDg1MzMzNikscj1zKDEzODYzOCksaT1zKDczODQ1OCk7Y29uc3QgYT1DU1Muc3VwcG9ydHMoIm92ZXJzY3JvbGwtYmVoYXZpb3IiLCJub25lIik7bGV0IGw9MDtjb25zdCBjPSgwLG4uZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7Y2hpbGRyZW46cywuLi5yfT1lLGM9KDAsbi51c2VSZWYpKG51bGwpO3JldHVybigwLG4udXNlSW1wZXJhdGl2ZUhhbmRsZSkodCwoKCk9PmMuY3VycmVudCkpLCgwLG4udXNlTGF5b3V0RWZmZWN0KSgoKCk9PntpZihpLmlzSU9TKXJldHVybiBsKyssbnVsbCE9PWMuY3VycmVudCYmKGE/MT09PWwmJihkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0ibm9uZSIpOigwLG8uZGlzYWJsZUJvZHlTY3JvbGwpKGMuY3VycmVudCx7YWxsb3dUb3VjaE1vdmU6dShjKX0pKSwoKT0+e2wtLSxudWxsIT09Yy5jdXJyZW50JiYoYT8wPT09bCYmKGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcnNjcm9sbEJlaGF2aW9yPSIiKTooMCxvLmVuYWJsZUJvZHlTY3JvbGwpKGMuY3VycmVudCkpfX0pLFtdKSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpjLC4uLnJ9LHMpfSkpO2Z1bmN0aW9uIHUoZSl7cmV0dXJuIHQ9Pntjb25zdCBzPSgwLHIuZW5zdXJlTm90TnVsbCkoZS5jdXJyZW50KSxuPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7cmV0dXJuIXMuY29udGFpbnModCl8fG51bGwhPT1uJiZzLmNvbnRhaW5zKG4pJiZuLmNvbnRhaW5zKHQpfX19LDY0OTE2NihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtMb2FkZXI6KCk9PmN9KTt2YXIgbixvPXMoNzc5NDc0KSxyPXMoOTE0NDg3KSxpPXMubihyKSxhPXMoMjQ0NTI1KSxsPXMubihhKTtmdW5jdGlvbiBjKGUpe2NvbnN0e2NsYXNzTmFtZTp0LHNpemU6cz0ibWVkaXVtIixzdGF0aWNQb3NpdGlvbjpuLGNvbG9yOnI9ImJsYWNrIn09ZSxhPWkoKShsKCkuaXRlbSxsKClbcl0sbCgpW3NdKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmkoKShsKCkubG9hZGVyLG4mJmwoKS5zdGF0aWMsdCl9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTphfSksby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmF9KSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YX0pKX0KIWZ1bmN0aW9uKGUpe2UuTWVkaXVtPSJtZWRpdW0iLGUuU21hbGw9InNtYWxsIn0obnx8KG49e30pKX0sNTg1NDgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UG9ydGFsOigpPT5jLFBvcnRhbENvbnRleHQ6KCk9PnV9KTt2YXIgbj1zKDc3OTQ3NCksbz1zKDEyOTM2NSkscj1zKDg1Njc3MCksaT1zKDkwMzQyKSxhPXMoNTcwMTkzKSxsPXMoNjA3ODMyKTtjbGFzcyBjIGV4dGVuZHMgbi5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl91dWlkPSgwLHIubmFub2lkKSgpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fbWFuYWdlcigpLnJlbW92ZVdpbmRvdyh0aGlzLl91dWlkKX1yZW5kZXIoKXtjb25zdCBlPXRoaXMuX21hbmFnZXIoKS5lbnN1cmVXaW5kb3codGhpcy5fdXVpZCx0aGlzLnByb3BzLmxheWVyT3B0aW9ucyk7ZS5zdHlsZS50b3A9dGhpcy5wcm9wcy50b3B8fCIiLGUuc3R5bGUuYm90dG9tPXRoaXMucHJvcHMuYm90dG9tfHwiIixlLnN0eWxlLmxlZnQ9dGhpcy5wcm9wcy5sZWZ0fHwiIixlLnN0eWxlLnJpZ2h0PXRoaXMucHJvcHMucmlnaHR8fCIiLGUuc3R5bGUucG9pbnRlckV2ZW50cz10aGlzLnByb3BzLnBvaW50ZXJFdmVudHN8fCIiO2NvbnN0IHQ9dGhpcy5wcm9wcy5jbGFzc05hbWU7cmV0dXJuIHQmJigic3RyaW5nIj09dHlwZW9mIHQ/ZS5jbGFzc0xpc3QuYWRkKHQpOmUuY2xhc3NMaXN0LmFkZCguLi50KSksdGhpcy5wcm9wcy5zaG91bGRUcmFwRm9jdXMmJiFlLmhhc0F0dHJpYnV0ZShhLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUpJiZlLnNldEF0dHJpYnV0ZShhLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUsInRydWUiKSx0aGlzLnByb3BzWyJhcmlhLWhpZGRlbiJdJiZlLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIiksby5jcmVhdGVQb3J0YWwobi5jcmVhdGVFbGVtZW50KHUuUHJvdmlkZXIse3ZhbHVlOnRoaXN9LHRoaXMucHJvcHMuY2hpbGRyZW4pLGUpfW1vdmVUb1RvcCgpe3RoaXMuX21hbmFnZXIoKS5tb3ZlVG9Ub3AodGhpcy5fdXVpZCl9X21hbmFnZXIoKXtyZXR1cm4gbnVsbD09PXRoaXMuY29udGV4dD8oMCxpLmdldFJvb3RPdmVybGFwTWFuYWdlcikoKTp0aGlzLmNvbnRleHR9fWMuY29udGV4dFR5cGU9bC5TbG90Q29udGV4dDtjb25zdCB1PW4uY3JlYXRlQ29udGV4dChudWxsKX0sNjA3ODMyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1Nsb3Q6KCk9Pm8sU2xvdENvbnRleHQ6KCk9PnJ9KTt2YXIgbj1zKDc3OTQ3NCk7Y2xhc3MgbyBleHRlbmRzIG4uQ29tcG9uZW50e3Nob3VsZENvbXBvbmVudFVwZGF0ZSgpe3JldHVybiExfXJlbmRlcigpe3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImRpdiIse3N0eWxlOntwb3NpdGlvbjoiZml4ZWQiLHpJbmRleDoxNTAsbGVmdDowLHRvcDowfSxyZWY6dGhpcy5wcm9wcy5yZWZlcmVuY2V9KX19Y29uc3Qgcj1uLmNyZWF0ZUNvbnRleHQobnVsbCl9LDcxODU1MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtPdXRzaWRlRXZlbnQ6KCk9Pm99KTt2YXIgbj1zKDIzNjc2NSk7ZnVuY3Rpb24gbyhlKXtjb25zdHtjaGlsZHJlbjp0LC4uLnN9PWU7cmV0dXJuIHQoKDAsbi51c2VPdXRzaWRlRXZlbnQpKHMpKX19LDkwMzQyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse092ZXJsYXBNYW5hZ2VyOigpPT5pLGdldFJvb3RPdmVybGFwTWFuYWdlcjooKT0+bH0pO3ZhciBuPXMoMTM4NjM4KSxvPXMoNTcwMTkzKTtjbGFzcyBye2NvbnN0cnVjdG9yKCl7dGhpcy5fc3RvcmFnZT1bXX1hZGQoZSl7dGhpcy5fc3RvcmFnZS5wdXNoKGUpfXJlbW92ZShlKXt0aGlzLl9zdG9yYWdlPXRoaXMuX3N0b3JhZ2UuZmlsdGVyKCh0PT5lIT09dCkpfWhhcyhlKXtyZXR1cm4gdGhpcy5fc3RvcmFnZS5pbmNsdWRlcyhlKX1nZXRJdGVtcygpe3JldHVybiB0aGlzLl9zdG9yYWdlfX1jbGFzcyBpe2NvbnN0cnVjdG9yKGU9ZG9jdW1lbnQpe3RoaXMuX3N0b3JhZ2U9bmV3IHIsdGhpcy5fd2luZG93cz1uZXcgTWFwLHRoaXMuX2luZGV4PTAsdGhpcy5fZG9jdW1lbnQ9ZSx0aGlzLl9jb250YWluZXI9ZS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCl9c2V0Q29udGFpbmVyKGUpe2NvbnN0IHQ9dGhpcy5fY29udGFpbmVyLHM9bnVsbD09PWU/dGhpcy5fZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOmU7IWZ1bmN0aW9uKGUsdCl7QXJyYXkuZnJvbShlLmNoaWxkTm9kZXMpLmZvckVhY2goKGU9PntlLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJnQuYXBwZW5kQ2hpbGQoZSl9KSl9KHQscyksdGhpcy5fY29udGFpbmVyPXN9cmVnaXN0ZXJXaW5kb3coZSl7dGhpcy5fc3RvcmFnZS5oYXMoZSl8fHRoaXMuX3N0b3JhZ2UuYWRkKGUpfWVuc3VyZVdpbmRvdyhlLHQ9e3Bvc2l0aW9uOiJmaXhlZCIsZGlyZWN0aW9uOiJub3JtYWwifSl7Y29uc3Qgcz10aGlzLl93aW5kb3dzLmdldChlKTtpZih2b2lkIDAhPT1zKXJldHVybiBzO3RoaXMucmVnaXN0ZXJXaW5kb3coZSk7Y29uc3Qgbj10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZihuLnN0eWxlLnBvc2l0aW9uPXQucG9zaXRpb24sbi5zdHlsZS56SW5kZXg9dGhpcy5faW5kZXgudG9TdHJpbmcoKSxuLmRhdGFzZXQuaWQ9ZSx2b2lkIDAhPT10LmluZGV4KXtjb25zdCBlPXRoaXMuX2NvbnRhaW5lci5jaGlsZE5vZGVzLmxlbmd0aDtpZih0LmluZGV4Pj1lKXRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChuKTtlbHNlIGlmKHQuaW5kZXg8PTApdGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShuLHRoaXMuX2NvbnRhaW5lci5maXJzdENoaWxkKTtlbHNle2NvbnN0IGU9dGhpcy5fY29udGFpbmVyLmNoaWxkTm9kZXNbdC5pbmRleF07dGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShuLGUpfX1lbHNlInJldmVyc2UiPT09dC5kaXJlY3Rpb24/dGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShuLHRoaXMuX2NvbnRhaW5lci5maXJzdENoaWxkKTp0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQobik7cmV0dXJuIHRoaXMuX3dpbmRvd3Muc2V0KGUsbiksKyt0aGlzLl9pbmRleCxufQp1bnJlZ2lzdGVyV2luZG93KGUpe3RoaXMuX3N0b3JhZ2UucmVtb3ZlKGUpO2NvbnN0IHQ9dGhpcy5fd2luZG93cy5nZXQoZSk7dm9pZCAwIT09dCYmKG51bGwhPT10LnBhcmVudEVsZW1lbnQmJnQucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0KSx0aGlzLl93aW5kb3dzLmRlbGV0ZShlKSl9Z2V0WmluZGV4KGUpe2NvbnN0IHQ9dGhpcy5lbnN1cmVXaW5kb3coZSk7cmV0dXJuIHBhcnNlSW50KHQuc3R5bGUuekluZGV4fHwiMCIpfW1vdmVMYXN0V2luZG93VG9Ub3AoKXtjb25zdCBlPXRoaXMuX3N0b3JhZ2UuZ2V0SXRlbXMoKSx0PWVbZS5sZW5ndGgtMV07dCYmdGhpcy5tb3ZlVG9Ub3AodCl9bW92ZVRvVG9wKGUpe2lmKHRoaXMuZ2V0WmluZGV4KGUpIT09dGhpcy5faW5kZXgpe2NvbnN0IHQ9dGhpcy5lbnN1cmVXaW5kb3coZSk7dGhpcy5fd2luZG93cy5mb3JFYWNoKCgoZSxzKT0+e2UuaGFzQXR0cmlidXRlKG8uRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSkmJmUuc2V0QXR0cmlidXRlKG8uRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSxlPT09dD8idHJ1ZSI6ImZhbHNlIil9KSksdC5zdHlsZS56SW5kZXg9KCsrdGhpcy5faW5kZXgpLnRvU3RyaW5nKCl9fXJlbW92ZVdpbmRvdyhlKXt0aGlzLnVucmVnaXN0ZXJXaW5kb3coZSl9fWNvbnN0IGE9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbChlPWRvY3VtZW50KXtjb25zdCB0PWUuZ2V0RWxlbWVudEJ5SWQoIm92ZXJsYXAtbWFuYWdlci1yb290Iik7aWYobnVsbCE9PXQpcmV0dXJuKDAsbi5lbnN1cmVEZWZpbmVkKShhLmdldCh0KSk7e2NvbnN0IHQ9bmV3IGkoZSkscz1mdW5jdGlvbihlKXtjb25zdCB0PWUuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuc3R5bGUucG9zaXRpb249ImFic29sdXRlIix0LnN0eWxlLnpJbmRleD0xNTAuLnRvU3RyaW5nKCksdC5zdHlsZS50b3A9IjBweCIsdC5zdHlsZS5sZWZ0PSIwcHgiLHQuaWQ9Im92ZXJsYXAtbWFuYWdlci1yb290Iix0LmRhdGFzZXQucWFJZD0ib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiLHR9KGUpO3JldHVybiBhLnNldChzLHQpLHQuc2V0Q29udGFpbmVyKHMpLGUuYm9keS5hcHBlbmRDaGlsZChzKSx0fX12YXIgYzshZnVuY3Rpb24oZSl7ZVtlLkJhc2VaaW5kZXg9MTUwXT0iQmFzZVppbmRleCJ9KGN8fChjPXt9KSl9LDQ5ODY1MShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtpc0lEQ0V4Y2hhbmdlOigpPT5vfSk7dmFyIG49cygyMzI5NDgpO2Z1bmN0aW9uIG8oZSx0PSExKXtpZihlJiZlLnN0YXJ0c1dpdGgoImV4Y2hhbmdlLSIpKXJldHVybiBmdW5jdGlvbihlLHQ9ITEpe2NvbnN0IHM9d2luZG93LnBybz8uZ2V0UHJvZHVjdChlKTtyZXR1cm4hKHZvaWQgMD09PXN8fCEoMCxuLmlzUHJvZHVjdERlZmluZWQpKHMpfHwodD8hcy5pZGNfc2VydmljZV9jb2Rlc19kZWxheTohcy5pZGNfc2VydmljZV9jb2RlcykpfShlLHQpO2NvbnN0IHM9KGV8fCIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiB3aW5kb3cucHJvPy5nZXRJRENFeGNoYW5nZXModCk/LmluY2x1ZGVzKHMpPz8hMX19LDkzMTM1MihlLHQscyl7InVzZSBzdHJpY3QiO2lmKHMuZCh0LHtnZXRPd25TaGFyZWRMaXN0OigpPT5jLHNoYXJlQ3VzdG9tTGlzdDooKT0+bCxzaGFyZU1hcmtlZExpc3Q6KCk9PmF9KSwyMTE4IT1zLmopdmFyIG49cyg3MTIxMzQpO3ZhciBvPXMoMzg0MDE3KSxyPXMoMzA0Mzk5KSxpPXMoNzkwMDQxKTtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuKDAsby5mZXRjaCkoKDAsci53YXRjaGxpc3RVcmwpKGAvYXBpL3YxL3N5bWJvbHNfbGlzdC9jb2xvcmVkLyR7ZX0vc2hhcmUvYCkse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeSh7c2hhcmVkOnR9KSxjcmVkZW50aWFsczoiaW5jbHVkZSIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pLnRoZW4oci5oYW5kbGVKU09OKS50aGVuKGkuY29udmVydFRvTWFya2VkU3ltYm9sTGlzdCl9ZnVuY3Rpb24gbChlLHQpe3JldHVybigwLG8uZmV0Y2gpKCgwLHIud2F0Y2hsaXN0VXJsKShgL2FwaS92MS9zeW1ib2xzX2xpc3QvY3VzdG9tLyR7ZX0vc2hhcmUvYCkse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeSh7c2hhcmVkOnR9KSxjcmVkZW50aWFsczoiaW5jbHVkZSIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pLnRoZW4oci5oYW5kbGVKU09OKS50aGVuKGkuY29udmVydFRvQ3VzdG9tU3ltYm9sTGlzdCl9ZnVuY3Rpb24gYyhlLHQpe3JldHVybigwLG4uaXNMaXN0Q29sb3IpKGUpPygwLG8uZmV0Y2gpKCgwLHIud2F0Y2hsaXN0VXJsKShgL2FwaS92MS9zeW1ib2xzX2xpc3QvY29sb3JlZC8ke2V9YCkse21ldGhvZDoiR0VUIixjcmVkZW50aWFsczoiaW5jbHVkZSIsc2lnbmFsOnR9KS50aGVuKHIuaGFuZGxlSlNPTik6KDAsby5mZXRjaCkoKDAsci53YXRjaGxpc3RVcmwpKGAvYXBpL3YxL3N5bWJvbHNfbGlzdC9jdXN0b20vJHtlfWApLHttZXRob2Q6IkdFVCIsY3JlZGVudGlhbHM6ImluY2x1ZGUiLHNpZ25hbDp0fSkudGhlbihyLmhhbmRsZUpTT04pfX0sOTE5OTg1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2J1aWxkVW5pcXVlTmFtZTooKT0+UyxjYW5Vc2VNdWx0aXBsZUxpc3RzOigpPT5fLGNvbXBhcmVTeW1ib2xzOigpPT5QLGNvbnZlcnRUb1NlcGFyYXRvck5hbWU6KCk9PnYsY3JlYXRlU2F2ZVJlbmFtZURpYWxvZzooKT0+dyxmaW5kTmV4dEF2YWlsYWJsZVN5bWJvbDooKT0+RCxnZXRTeW1ib2xGcm9tTGlzdDooKT0+ayxnZXRUcmFuc2xhdGVkTGlzdFRpdGxlOigpPT5FLGhhc0R1cGxpY2F0ZXM6KCk9PkwsaXNFcXVhbFJlY29yZHM6KCk9Pk4saXNWYWxpZFNlcGFyYXRvckl0ZW06KCk9Pmcsc2VwYXJhdG9yVmFsVG9EaXNwbGF5VmFsOigpPT5iLHNob3dSZW1vdmVTZWxlY3RlZFN5bWJvbHNDb25maXJtOigpPT5SLHNob3dVbmZsYWdBbGxTeW1ib2xzQ29uZmlybTooKT0+QixzaG93VW5mbGFnU2VsZWN0ZWRTeW1ib2xzQ29uZmlybTooKT0+SSxzb3J0U3ltYm9sczooKT0+VCx0b1Bvc2l0aW9uUmVjb3JkOigpPT5PLHRyYWNrUmVtb3ZlRXZlbnQ6KCk9PkF9KQo7dmFyIG49cygxMzg2MzgpLG89cyg5MzAyMzEpLHI9cyg3ODMyNTQpLGk9cygyMzQ5NjQpLGE9cyg4Nzc0NDIpLGw9cyg3NDU2NTQpLGM9cyg1MjgzOTYpLHU9cyg2OTMyMTYpLGQ9cyg5Mjk0ODgpO2lmKDIxMTghPXMuail2YXIgbT1zKDkwMTAyMik7dmFyIGg9cygzODY5MzEpLHA9cyg2NDM5MDMpLHk9KHMoOTExMzI3KSxzKDQ0MzgyNykpLGY9cyg4MzE1MjcpO3MoMzIwNTUpO2Z1bmN0aW9uIGcoZSl7cmV0dXJuKDAsZC5pc1NlcGFyYXRvckl0ZW0pKGUpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuIGUucmVwbGFjZShtLlNFUEFSQVRPUl9QUkVGSVgsIiIpfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIG0uU0VQQVJBVE9SX1BSRUZJWCtlfWZ1bmN0aW9uIFMoZSx0LHM9ITApe2NvbnN0IG49bmV3IFNldChlKSxvPXM/IiAxIjoiIjtpZighbi5oYXModCtvKSlyZXR1cm4gdCtvO2xldCByPTIsaT0iIjtmb3IoO3I8PTJlMyYmKGk9YCR7dH0gJHtyfWAsbi5oYXMoaSkpOylyKz0xO3JldHVybiBpfWZ1bmN0aW9uIF8oKXtyZXR1cm4oMCxvLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJtdWx0aXBsZV93YXRjaGxpc3RzIikmJndpbmRvdy51c2VyJiZCb29sZWFuKHdpbmRvdy51c2VyLmlzX3Bybyl9ZnVuY3Rpb24gdyhlLHQsbixvLGEpe3JldHVybigpPT5uZXcgUHJvbWlzZSgoKGwsYyk9PnsoMCxpLnNob3dSZW5hbWUpKHt0aXRsZTplLGluaXRWYWx1ZTp0LHRleHQ6ci50KG51bGwse2NvbnRleHQ6ImlucHV0IGxhYmVsIn0scyg2NTE2MzgpKSxtYXhMZW5ndGg6MTI4LGVtb2ppUGlja2VyOiEwLG1haW5CdXR0b25UZXh0OmEsb25SZW5hbWU6KHtuZXdWYWx1ZTplLGRpYWxvZ0Nsb3NlOnR9KT0+e2woZSksdCgpLG8/LigpfX0sbil9KSl9ZnVuY3Rpb24gQyhlKXtyZXR1cm4gZS5yZXBsYWNlKCLiiJIiLCItIil9ZnVuY3Rpb24gVChlLHQscyxvLHIpe2NvbnN0IGk9ZnVuY3Rpb24oZSl7Y29uc3QgdD1bXSxzPVtdO2UuZm9yRWFjaCgoKGUsdCk9PnsoMCxkLmlzU2VwYXJhdG9ySXRlbSkoZSkmJnMucHVzaCh0KX0pKTtsZXQgbj0wO3MuZm9yRWFjaCgocz0+e3QucHVzaCh7dmFsdWVzOmUuc2xpY2UobixzKSxzZXBhcmF0b3I6ZVtzXX0pLG49cysxfSkpO2NvbnN0IG89c1tzLmxlbmd0aC0xXSxyPWUuc2xpY2UobysxKTtyZXR1cm4gci5sZW5ndGg+MCYmdC5wdXNoKHt2YWx1ZXM6cixzZXBhcmF0b3I6bnVsbH0pLHR9KHQpO3JldHVybiBpLmZvckVhY2goKHQ9Pnt0LnZhbHVlcy5zb3J0KCgodCxpKT0+e2lmKCJmbGFnIj09PXMpe2NvbnN0IGU9KDAsZi5nZXRNYXJrZWRTeW1ib2xzTGlzdFNlcnZpY2VJbnN0YW5jZSkoKS5nZXRTeW1ib2xDb2xvcih0KSxzPSgwLGYuZ2V0TWFya2VkU3ltYm9sc0xpc3RTZXJ2aWNlSW5zdGFuY2UpKCkuZ2V0U3ltYm9sQ29sb3IoaSk7cmV0dXJuKDAseS5nZXRTb3J0QnlDb2xvckNvbXBhcmF0b3IpKG8pKGUscyl9Y29uc3QgZD1sLnF1b3RlU2Vzc2lvbkFkYXB0ZXJzLmdldChlKS5nZXRMYXN0U3ltYm9sRGF0YSh0KSxtPWwucXVvdGVTZXNzaW9uQWRhcHRlcnMuZ2V0KGUpLmdldExhc3RTeW1ib2xEYXRhKGkpLGg9KDAsdS5pc0V4dHJhSG91cnNTZXNzaW9uKShkPy52YWx1ZXMuY3VycmVudF9zZXNzaW9uKSxnPSgwLHUuaXNFeHRyYUhvdXJzU2Vzc2lvbikobT8udmFsdWVzLmN1cnJlbnRfc2Vzc2lvbiksYj0oZSx0KT0+e2lmKCFlfHwiZmxhZyI9PT1zKXJldHVybjt2YXIgbjtyZXR1cm4iZXJyb3IiPT09ZS5zdGF0dXM/dm9pZCAwOnI9PT1hLlRpY2tlclR5cGUuRGVzY3JpcHRpb24mJiJzaG9ydF9uYW1lIj09PXM/KG49ZS52YWx1ZXMsKDAsYy5nZXRUcmFuc2xhdGVkU3ltYm9sRGVzY3JpcHRpb24pKG4pfHwoMCxwLnNhZmVTaG9ydE5hbWUpKHQpKToicmNocCI9PT1zPygwLHUuZ2V0RXh0cmFIb3Vyc0NoYW5nZVBlcmNlbnQpKGUudmFsdWVzKT8/dm9pZCAwOmUudmFsdWVzW3NdfSx2PWIoZCx0KSxTPWIobSxpKTtyZXR1cm4gZnVuY3Rpb24oZSx0KXtjb25zdCBzPS0xPT09dD8tMS8wOjEvMDtyZXR1cm4obyxyLGksYSk9PntpZigicmNocCIhPT1lKXtpZih2b2lkIDA9PT1vJiZ2b2lkIDA9PT1yKXJldHVybiAwO2lmKHZvaWQgMD09PW8pcmV0dXJuLXQ7aWYodm9pZCAwPT09cilyZXR1cm4gdH1zd2l0Y2goZSl7Y2FzZSJzaG9ydF9uYW1lIjpyZXR1cm4gdCoobz09PXI/MDooMCxuLmVuc3VyZSkobyk8KDAsbi5lbnN1cmUpKHIpPy0xOjEpO2Nhc2UicmNocCI6cmV0dXJuIGkhPT1hP2k+YT8tMToxOihpfHwobz12b2lkIDApLGF8fChyPXZvaWQgMCkseChvLHIsdCxzKSk7Y2FzZSJsYXN0X3ByaWNlIjpjYXNlImNoYW5nZSI6Y2FzZSJjaGFuZ2VfcGVyY2VudCI6cmV0dXJuIHgobyxyLHQscyk7Y2FzZSJ2b2x1bWUiOntjb25zdCBlPSgwLG4uZW5zdXJlKShvKT49MWUxMDA/czpOdW1iZXIobyksaT0oMCxuLmVuc3VyZSkocik+PTFlMTAwP3M6TnVtYmVyKHIpO3JldHVybiB0KihlLWkpfWRlZmF1bHQ6cmV0dXJuKDAsbi5lbnN1cmUpKG8pPigwLG4uZW5zdXJlKShyKT8tMToxfX19KHMsbykodixTLGgsZyl9KSl9KSksZnVuY3Rpb24oZSl7Y29uc3QgdD1bXTtyZXR1cm4gZS5mb3JFYWNoKCgoe3ZhbHVlczplLHNlcGFyYXRvcjpzfSk9Pnt0LnB1c2goLi4uZSksbnVsbCE9PXMmJnQucHVzaChzKX0pKSx0fShpKX1mdW5jdGlvbiB4KGUsdCxzLG4pe2xldCBvPXBhcnNlRmxvYXQoQyhTdHJpbmcoZSkpKSxyPXBhcnNlRmxvYXQoQyhTdHJpbmcodCkpKTtyZXR1cm4gbz1pc05hTihvKT9uOm8scj1pc05hTihyKT9uOnIscyooby1yKX1mdW5jdGlvbiBFKGUpe3JldHVybiJjb2xvcmVkIj09PWUudHlwZT9lLm5hbWV8fCgwLHkuZ2V0Q29sb3JlZExpc3RUaXRsZSkoZS5jb2xvcik6ZS5uYW1lfWZ1bmN0aW9uIFAoZSx0KXtyZXR1cm4gZT09PXR8fCgwLHAuc2FmZVNob3J0TmFtZSkoZSk9PT10fWZ1bmN0aW9uIE8oZSl7cmV0dXJue3N5bWJvbDplLnN5bWJvbCxzaWRlOmUuc2lkZSxxdHk6ZS5xdHksYXZnUHJpY2U6ZS5hdmdQcmljZX19ZnVuY3Rpb24gTihlLHQpewpyZXR1cm4gZT09PXR8fHZvaWQgMCE9PWUmJnZvaWQgMCE9PXQmJihlLnNpZGU9PT10LnNpZGUmJmUucXR5PT09dC5xdHkmJmUuYXZnUHJpY2U9PT10LmF2Z1ByaWNlJiZlLnN5bWJvbD09PXQuc3ltYm9sKX1mdW5jdGlvbiBMKGUpe2NvbnN0IHQ9bmV3IE1hcDtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKyl7Y29uc3Qgbz1lW3NdLnRvVXBwZXJDYXNlKCkscj0oMCxwLnNhZmVTaG9ydE5hbWUpKG8pO2lmKHQuaGFzKHIpKXtjb25zdCBlPSgwLG4uZW5zdXJlRGVmaW5lZCkodC5nZXQocikpO2lmKGUuaGFzKG8pfHxlLmhhcyhyKXx8bz09PXIpcmV0dXJuITA7ZS5hZGQobyksdC5zZXQocixlKX1lbHNlIHQuc2V0KHIsbmV3IFNldChbb10pKX1yZXR1cm4hMX1mdW5jdGlvbiBrKGUsdCl7aWYodC5pbmNsdWRlcyhlKSlyZXR1cm4gZX1mdW5jdGlvbiBEKGUsdCxzKXtjb25zdCBuPSJuZXh0Ij09PXM7Zm9yKGxldCBzPWU7bj9zPHQubGVuZ3RoOnM+PTA7bj9zKys6cy0tKWlmKCEoMCxkLmlzU2VwYXJhdG9ySXRlbSkodFtzXSkmJnMhPT1lKXJldHVybiB0W3NdO2ZvcihsZXQgcz1uPzA6dC5sZW5ndGgtMTtuP3M8ZTpzPmU7bj9zKys6cy0tKWlmKCEoMCxkLmlzU2VwYXJhdG9ySXRlbSkodFtzXSkpcmV0dXJuIHRbc119ZnVuY3Rpb24gQShlKXtlPygwLGgudHJhY2tFdmVudCkoIldhdGNobGlzdCIsIk11bHRpIHNlbGVjdCIsIlJlbW92ZSIpOigwLGgudHJhY2tFdmVudCkoIldhdGNobGlzdCIsIlJlbW92ZSIpfWZ1bmN0aW9uIE0oZSl7cmV0dXJuIHIudChudWxsLHtwbHVyYWw6IkRvaW5nIHRoaXMgd2lsbCByZW1vdmUge2NvdW50fSBzZWxlY3RlZCBzeW1ib2xzIGZyb20geW91ciB3YXRjaGxpc3QuIixjb250ZXh0OiJzeW1ib2xzX2FuZF9kcmF3aW5nc19jb3VudCIsY291bnQ6ZSxyZXBsYWNlOntjb3VudDplLnRvU3RyaW5nKCl9fSxzKDE2OTgzKSl9ZnVuY3Rpb24gUihlLHQpe2NvbnN0IG49ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsoMCxpLnNob3dDb25maXJtKSh7dGl0bGU6ci50KG51bGwse2NvbnRleHQ6ImNvbmZpcm1fZGlhbG9nX3RpdGxlIn0scyg0MzU3NTApKSx0ZXh0Ok0oZSksbWFpbkJ1dHRvblRleHQ6ci50KG51bGwse2NvbnRleHQ6ImFjdGlvbiJ9LHMoMTA4KSksbWFpbkJ1dHRvbkludGVudDoiZGFuZ2VyIixjYW5jZWxCdXR0b25UZXh0OnIudChudWxsLHtjb250ZXh0OiJhY3Rpb24ifSxzKDMwOTMzKSksb25Db25maXJtOih7ZGlhbG9nQ2xvc2U6ZX0pPT57dCgpLGUoKX0sb25DbG9zZTooKT0+e24/LmZvY3VzKCl9fSl9ZnVuY3Rpb24gSShlKXsoMCxpLnNob3dDb25maXJtKSh7dGl0bGU6ci50KG51bGwse2NvbnRleHQ6ImNvbmZpcm1fZGlhbG9nX3RpdGxlIn0scyg0MTcxOTEpKSx0ZXh0OnIudChudWxsLHZvaWQgMCxzKDQ5NTM2OSkpLG1haW5CdXR0b25UZXh0OnIudChudWxsLHtjb250ZXh0OiJhY3Rpb24ifSxzKDgzNTkzNykpLG1haW5CdXR0b25JbnRlbnQ6ImRhbmdlciIsY2FuY2VsQnV0dG9uVGV4dDpyLnQobnVsbCx7Y29udGV4dDoiYWN0aW9uIn0scygzMDkzMykpLG9uQ29uZmlybTooe2RpYWxvZ0Nsb3NlOnR9KT0+e2UoKSx0KCl9fSl9ZnVuY3Rpb24gQihlKXsoMCxpLnNob3dDb25maXJtKSh7dGl0bGU6ci50KG51bGwse2NvbnRleHQ6ImNvbmZpcm1fZGlhbG9nX3RpdGxlIn0scyg4MjY4NzMpKSx0ZXh0OnIudChudWxsLHZvaWQgMCxzKDk1ODk1MSkpLG1haW5CdXR0b25UZXh0OnIudChudWxsLHtjb250ZXh0OiJhY3Rpb24ifSxzKDgzNTkzNykpLG1haW5CdXR0b25JbnRlbnQ6ImRhbmdlciIsY2FuY2VsQnV0dG9uVGV4dDpyLnQobnVsbCx7Y29udGV4dDoiYWN0aW9uIn0scygzMDkzMykpLG9uQ29uZmlybTooe2RpYWxvZ0Nsb3NlOnR9KT0+e2UoKSx0KCl9fSl9fSw0MzIzNTAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Uk9VVElORV9DQU5DRUxMRURfTUVTU0FHRTooKT0+YyxTeW1ib2xMaXN0U3luY2hyb25pemF0aW9uU2VydmljZTooKT0+dX0pO3ZhciBuPXMoNTA3Mjg1KSxvPXMoNjMyNjg2KSxyPXMoMjIxMDYxKTtzKDMwMDI4Nik7Y29uc3QgaT02ZTUsYT0zZTQsbD0zZTQsYz0iUk9VVElORV9DQU5DRUxMRUQiO2NsYXNzIHV7Y29uc3RydWN0b3IoZSl7dGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX3N0YXRlPW51bGwsdGhpcy5fc3luYz1udWxsLHRoaXMuX2Rpc2Nvbm5lY3RUaW1lc3RhbXA9bnVsbCx0aGlzLl9wcmV2Q29ubmVjdGlvblN0YXR1cz1udWxsLHRoaXMuX29uUHVzaFN0cmVhbUNoYW5nZT1lPT57d2luZG93LnVzZXImJndpbmRvdy51c2VyLnNlc3Npb25faGFzaCE9PWUuc2Vzc2lvbl9oYXNoP24ucHVzaFN0cmVhbU11bHRpcGxleGVyLm93blB1c2hTdHJlYW0oKT8odGhpcy5fbG9nZ2VyLmxvZ05vcm1hbCgiQ3Jvc3MgYnJvd3NlciBzeW5jIiksdGhpcy5zeW5jU3ltYm9scyhlKSk6dGhpcy5fbG9nZ2VyLmxvZ0RlYnVnKCJTeW5jIHNraXBwZWQ6IG9uIHNlY29uZGFyeSB0YWIiKTp0aGlzLl9sb2dnZXIubG9nRGVidWcoIlN5bmMgc2tpcHBlZDogc2Vzc2lvbiBoYXNoIil9LHRoaXMuX29uUHVzaFN0cmVhbVN0YXR1cz1lPT57Y29uc3QgdD1EYXRlLm5vdygpO2lmKGU9PT1vLkNvbm5lY3Rpb25TdGF0dXMuT3BlbiYmdGhpcy5fcHJldkNvbm5lY3Rpb25TdGF0dXM9PT1vLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkKXt0aGlzLl9wcmV2Q29ubmVjdGlvblN0YXR1cz1lO2NvbnN0IHM9bnVsbD09PXRoaXMuX2Rpc2Nvbm5lY3RUaW1lc3RhbXA/MDp0LXRoaXMuX2Rpc2Nvbm5lY3RUaW1lc3RhbXA7aWYodGhpcy5fZGlzY29ubmVjdFRpbWVzdGFtcD1udWxsLCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZClyZXR1cm4gdm9pZCB0aGlzLl9sb2dnZXIubG9nRGVidWcoIlN5bmMgc2tpcHBlZDogaXMgbm90IGF1dGhlbnRpY2F0ZWQiKTtpZighbi5wdXNoU3RyZWFtTXVsdGlwbGV4ZXIub3duUHVzaFN0cmVhbSgpKXJldHVybiB2b2lkIHRoaXMuX2xvZ2dlci5sb2dEZWJ1ZygiU3luYyBza2lwcGVkOiBvbiBzZWNvbmRhcnkgdGFiIik7aWYoczxpKXJldHVybiB2b2lkIHRoaXMuX2xvZ2dlci5sb2dEZWJ1ZygiU3luYyBza2lwcGVkOiBzaG9ydCBkaXNjb25uZWN0aW9uIikKO3RoaXMuX3JlY29ubmVjdFRpbWVvdXQ9c2V0VGltZW91dCgoKCk9Pntjb25zdCBlPW51bGwhPT10aGlzLl9zdGF0ZT90aGlzLl9nZXRUaW1lc3RhbXAodGhpcy5fc3RhdGUpOm51bGw7bnVsbD09PWV8fGU8dD8odGhpcy5fbG9nZ2VyLmxvZ05vcm1hbCgiUmVjb25uZWN0IHN5bmMiKSx0aGlzLnN5bmNTeW1ib2xzKCkpOnRoaXMuX2xvZ2dlci5sb2dOb3JtYWwoIlJlY29ubmVjdCBzeW5jIGhhbmRsZWQgYnkgYW5vdGhlciB0YWIiKX0pLE1hdGgucmFuZG9tKCkqbCthKX1lbHNlIGU9PT1vLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkJiYodGhpcy5fZGlzY29ubmVjdFRpbWVzdGFtcD1EYXRlLm5vdygpLHRoaXMuX3ByZXZDb25uZWN0aW9uU3RhdHVzPWUsY2xlYXJUaW1lb3V0KHRoaXMuX3JlY29ubmVjdFRpbWVvdXQpKX07Y29uc3R7ZXZlbnQ6dCxzdGF0ZTpzLHN5bmNocm9uaXplOmMsZ2V0VGltZXN0YW1wOnUsbG9nZ2VyTmFtZTpkfT1lO3RoaXMuX2V2ZW50PXQsdGhpcy5fc3luY2hyb25pemU9Yyx0aGlzLl9zdGF0ZT1zLHRoaXMuX2dldFRpbWVzdGFtcD11LHRoaXMuX2xvZ2dlcj0oMCxyLmdldExvZ2dlcikoYCR7ZH0uU3ltYm9sTGlzdFN5bmNocm9uaXphdGlvblNlcnZpY2VgKSx0aGlzLmNvbm5lY3QoKX1kZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkPSEwLHRoaXMuX3N5bmM9bnVsbCx0aGlzLmNsb3NlQ29ubmVjdGlvbigpfXN5bmNTeW1ib2xzKGUpe2lmKG51bGw9PT10aGlzLl9zeW5jKXtjb25zdCB0PXRoaXMuX3N5bmM9dGhpcy5fc3luY2hyb25pemUoe2Fzc2VydDooKT0+e2lmKHRoaXMuX3N5bmMhPT10KXRocm93IG5ldyBFcnJvcihjKX0sY2FuY2VsOigpPT57dGhpcy5fc3luYz1udWxsfX0sZSkudGhlbigoKCk9Pnt0aGlzLl9zeW5jPW51bGx9KSwoZT0+e3Rocm93IHRoaXMuX3N5bmM9bnVsbCxlfSkpfXJldHVybiB0aGlzLl9zeW5jfWNvbm5lY3QoKXt0aGlzLl9zdWJzY3JpYmVPblB1c2hTdHJlYW0oKX1jbG9zZUNvbm5lY3Rpb24oKXt0aGlzLl91bnN1YnNjcmliZU9uUHVzaFN0cmVhbSgpfWlzRGVzdHJveWVkKCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZH1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLl9zdGF0ZX1zZXRTdGF0ZShlKXt0aGlzLl9zdGF0ZT1lfV9zdWJzY3JpYmVPblB1c2hTdHJlYW0oKXtuLnB1c2hTdHJlYW1NdWx0aXBsZXhlci5vbih0aGlzLl9ldmVudCx0aGlzLl9vblB1c2hTdHJlYW1DaGFuZ2UpLG4ucHVzaFN0cmVhbU11bHRpcGxleGVyLm9uUHJpdmF0ZVN0YXR1cyh0aGlzLl9vblB1c2hTdHJlYW1TdGF0dXMpfV91bnN1YnNjcmliZU9uUHVzaFN0cmVhbSgpe24ucHVzaFN0cmVhbU11bHRpcGxleGVyLm9mZih0aGlzLl9ldmVudCx0aGlzLl9vblB1c2hTdHJlYW1DaGFuZ2UpLG4ucHVzaFN0cmVhbU11bHRpcGxleGVyLm9mZlN0YXR1cyh0aGlzLl9vblB1c2hTdHJlYW1TdGF0dXMpLGNsZWFyVGltZW91dCh0aGlzLl9yZWNvbm5lY3RUaW1lb3V0KSx0aGlzLl9wcmV2Q29ubmVjdGlvblN0YXR1cz1udWxsfX19LDMxMzMwMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtNQVhfV0FUQ0hMSVNUX0xFTkdUSDooKT0+YSxnZXRXYXRjaGxpc3RTeW1ib2xzTGltaXQ6KCk9Pmwsc2hvd01heExpbWl0RXJyb3I6KCk9PmN9KTt2YXIgbj1zKDU2OTM5OCksbz1zKDQ3OTM0KSxyPXMoMjM0OTY0KSxpPXMoNzgzMjU0KTtzKDMwMDI4Nik7Y29uc3QgYT0xZTM7ZnVuY3Rpb24gbCgpe3JldHVybigwLG4uaXNGZWF0dXJlRW5hYmxlZCkoIndhdGNobGlzdF9zeW1ib2xzX3RpZXJlZF9saW1pdHMiKT8oMCxvLmdldENvbmZpZykoIldBVENITElTVF9TWU1CT0xTIik/LmxpbWl0Pz9hOmF9ZnVuY3Rpb24gYyhlKXsoMCxyLnNob3dXYXJuaW5nKSh7dGl0bGU6aS50KG51bGwsdm9pZCAwLHMoNTY2OTQ4KSksdGV4dDppLnQobnVsbCx7cmVwbGFjZTp7bnVtYmVyOmEudG9TdHJpbmcoKX19LHMoMzI4ODI4KSl9LGUpfX0sOTEzNDEzKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse01hcmtlZFN5bWJvbHNMaXN0QXBpOigpPT5tfSk7dmFyIG49cygyMjEwNjEpLG89cygzODQwMTcpLHI9cyg1ODA1MjYpLGk9cyg2MjEyMCksYT1zKDk2MjA4MSksbD1zKDMwNDM5OSk7YXN5bmMgZnVuY3Rpb24gYyhlLHQpe2NvbnN0IHM9KDAsci5yZW1vdGVTeW1ib2xzRm9ybUxvY2FsU3RhdGUpKGUsdCk7cmV0dXJuIGkucGVuZGluZ09wZW5TZXBhcmF0b3JzLmRlbGV0ZShlKSwoMCxvLmZldGNoKSgoMCxsLndhdGNobGlzdFVybCkoYC9hcGkvdjEvc3ltYm9sc19saXN0L2NvbG9yZWQvJHtlfS9yZXBsYWNlLz91bnNhZmU9dHJ1ZWApLHttZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkocyksY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn19KS50aGVuKGwuaGFuZGxlSlNPTil9dmFyIHU9cyg5MzEzNTIpO2NvbnN0IGQ9KDAsbi5nZXRMb2dnZXIpKCJNYXJrZWRTeW1ib2xzLkFwaSIpO2NsYXNzIG17Z2V0TGlzdHMoKXtyZXR1cm4oMCxvLmZldGNoKSgoMCxsLndhdGNobGlzdFVybCkoIi9hcGkvdjEvc3ltYm9sc19saXN0L2NvbG9yZWQvIikse2NyZWRlbnRpYWxzOiJpbmNsdWRlIn0pLnRoZW4obC5oYW5kbGVKU09OKX1yZW1vdmVTeW1ib2xzKGUsdCl7cmV0dXJuIDA9PT10Lmxlbmd0aD9Qcm9taXNlLnJlc29sdmUobnVsbCk6KGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gcmVtb3ZlIHN5bWJvbHMgZnJvbSAke2V9LWxpc3Q6ICR7dH1gKSxhc3luYyBmdW5jdGlvbihlLHQpe3JldHVybiBpLnBlbmRpbmdPcGVuU2VwYXJhdG9ycy5oYXMoZSk/YyhlLCgwLHIuZ2V0TG9jYWxMaXN0U3ltYm9scykoZSkpOigwLG8uZmV0Y2gpKCgwLGwud2F0Y2hsaXN0VXJsKShgL2FwaS92MS9zeW1ib2xzX2xpc3QvY29sb3JlZC8ke2V9L3JlbW92ZS9gKSx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KHQpLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbihsLmhhbmRsZUpTT04pfShlLHQpKX1hcHBlbmRTeW1ib2xzKGUsdCl7CnJldHVybiAwPT09dC5sZW5ndGg/UHJvbWlzZS5yZXNvbHZlKG51bGwpOihkLmxvZ05vcm1hbChgU2VuZGluZyByZXF1ZXN0IHRvIGFwcGVuZCBzeW1ib2xzIHRvICR7ZX0tbGlzdDogJHt0fWApLGFzeW5jIGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkucGVuZGluZ09wZW5TZXBhcmF0b3JzLmhhcyhlKT9jKGUsKDAsci5nZXRMb2NhbExpc3RTeW1ib2xzKShlKSk6KDAsby5mZXRjaCkoKDAsbC53YXRjaGxpc3RVcmwpKGAvYXBpL3YxL3N5bWJvbHNfbGlzdC9jb2xvcmVkLyR7ZX0vYXBwZW5kL2ApLHttZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkodCksY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn19KS50aGVuKGwuaGFuZGxlSlNPTil9KGUsdCkpfXJlcGxhY2VTeW1ib2xzKGUsdCl7cmV0dXJuIDA9PT10Lmxlbmd0aD9Qcm9taXNlLnJlc29sdmUobnVsbCk6KGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gcmVwbGFjZSBzeW1ib2xzIGluICR7ZX0tbGlzdDogJHt0fWApLGMoZSx0KSl9cmVzZXRTeW1ib2xzKGUpe3JldHVybiAwPT09ZS5sZW5ndGg/UHJvbWlzZS5yZXNvbHZlKCk6KGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gcmVzZXQgc3ltYm9sczogJHtlfWApLGZ1bmN0aW9uKGUpe3JldHVybigwLG8uZmV0Y2gpKCgwLGwud2F0Y2hsaXN0VXJsKSgiL2FwaS92MS9zeW1ib2xzX2xpc3QvY29sb3JlZC9idWxrX3JlbW92ZS8iKSx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KGUpLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbihsLmhhbmRsZUpTT04pfShlKSl9cmVzZXRBbGwoKXtyZXR1cm4gZC5sb2dOb3JtYWwoIlNlbmRpbmcgcmVxdWVzdCB0byByZXNldCBBTEwgc3ltYm9scyIpLCgwLG8uZmV0Y2gpKCgwLGwud2F0Y2hsaXN0VXJsKSgiL2FwaS92MS9zeW1ib2xzX2xpc3QvY29sb3JlZC8iKSx7bWV0aG9kOiJERUxFVEUiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pLnRoZW4obC5oYW5kbGVKU09OKX1yZW5hbWVMaXN0KGUsdCl7cmV0dXJuIGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gcmVuYW1lICR7ZX0tbGlzdDogJHt0fWApLGZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsby5mZXRjaCkoKDAsbC53YXRjaGxpc3RVcmwpKGAvYXBpL3YxL3N5bWJvbHNfbGlzdC9jb2xvcmVkLyR7ZX0vcmVuYW1lL2ApLHttZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkoe25hbWU6dH0pLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbihsLmhhbmRsZUpTT04pfShlLHQpfXNoYXJlTGlzdChlLHQpe3JldHVybiBkLmxvZ05vcm1hbChgU2VuZGluZyByZXF1ZXN0IHRvIHNoYXJlICR7ZX0tbGlzdDogJHt0fWApLCgwLHUuc2hhcmVNYXJrZWRMaXN0KShlLHQpfWNoYW5nZURlc2NyaXB0aW9uKGUsdCl7cmV0dXJuIGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gY2hhbmdlIGRlc2NyaXB0aW9uICR7ZX0tbGlzdDogJHt0fWApLGZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsby5mZXRjaCkoKDAsbC53YXRjaGxpc3RVcmwpKGAvYXBpL3YxL3N5bWJvbHNfbGlzdC9jb2xvcmVkLyR7ZX0vdXBkYXRlX21ldGEvYCkse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeSh7ZGVzY3JpcHRpb246dH0pLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbihsLmhhbmRsZUpTT04pfShlLHQpfXJlbmFtZVNlcGFyYXRvcihlLHQscyl7cmV0dXJuIGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gcmVuYW1lIHNlcGFyYXRvciAke2V9LWxpc3Q6ICR7dH0gdG8gJHtzfWApLGFzeW5jIGZ1bmN0aW9uKGUsdCxzKXtyZXR1cm4oMCxhLmNvbW1vblJlbmFtZVNlcGFyYXRvcikoZSwiY29sb3JlZCIsdCxzKX0oZSx0LHMpfX19LDcxMjEzNChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtMSVNUX0NPTE9SUzooKT0+bSxMaXN0Q29sb3I6KCk9Pm4sY2hhbmdlRGVzY3JpcHRpb246KCk9PkMsY3JlYXRlQ3Jvc3NUYWJTeW5jTWlkZGxld2FyZTooKT0+TixnZXRDb21tYW5kczooKT0+QSxnZXRMaXN0QnlDb2xvcjooKT0+ayxnZXRTeW1ib2xDb2xvcjooKT0+TCxnZXRTeW1ib2xzQnlDb2xvcjooKT0+RCxnZXRUaW1lc3RhbXA6KCk9Pk0saXNMaXN0Q29sb3I6KCk9PmgsbWFya01hbnk6KCk9PmIscmVkdWNlcjooKT0+TyxyZW1vdmU6KCk9Pl8scmVuYW1lOigpPT53LHJlbmFtZVNlcGFyYXRvcjooKT0+VCxyZXNldDooKT0+UyxzZXR1cDooKT0+dixzaGFyZTooKT0+RSxzaGlmdENvbW1hbmQ6KCk9PngsdXBkYXRlUGVyc2lzdGVkU3RhdGU6KCk9PlB9KTt2YXIgbixvPXMoMTMwNjk5KSxyPXMoMzI3MjM5KSxpPXMoMTM4NjM4KSxhPXMoNDMzMjApLGw9cygyOTUyMzUpLGM9cyg2MTI0NDYpLHU9cyg5MDEwMjIpLGQ9cyg5NzM1MjQpOyFmdW5jdGlvbihlKXtlLlJlZD0icmVkIixlLkJsdWU9ImJsdWUiLGUuR3JlZW49ImdyZWVuIixlLk9yYW5nZT0ib3JhbmdlIixlLlB1cnBsZT0icHVycGxlIixlLkN5YW49ImN5YW4iLGUuUGluaz0icGluayJ9KG58fChuPXt9KSk7Y29uc3QgbT1bbi5SZWQsbi5CbHVlLG4uR3JlZW4sbi5PcmFuZ2Usbi5QdXJwbGUsbi5DeWFuLG4uUGlua107ZnVuY3Rpb24gaChlKXtyZXR1cm4gbmV3IFNldChtKS5oYXMoZSl9Y29uc3QgcD17bGlzdHM6e2NvbG9yczpbXSxieUNvbG9yOnt9LGJ5U3ltYm9sOnt9fSxjb21tYW5kczpbXSx0aW1lc3RhbXA6bnVsbH07ZnVuY3Rpb24geShlLHQpe2NvbnN0e2xpc3RzOnN9PWUsbj1zLmJ5Q29sb3JbdF07biYmMD09PW4uc3ltYm9scy5sZW5ndGgmJihzLmNvbG9ycz1zLmNvbG9ycy5maWx0ZXIoKGU9PmUhPT10KSkpfWZ1bmN0aW9uIGYoZSl7cmV0dXJuKDAsdS5pc1NlcGFyYXRvckl0ZW0pKGUpfWNvbnN0IGc9KDAsby5jcmVhdGVTbGljZSkoe25hbWU6Im1hcmtlZC1saXN0cyIsaW5pdGlhbFN0YXRlOnAsCnJlZHVjZXJzOntzZXR1cDooZSx0KT0+e2NvbnN0e2xpc3RzOnMsdGltZXN0YW1wOm59PXQucGF5bG9hZCxvPXtsaXN0czp7Y29sb3JzOltdLGJ5Q29sb3I6e30sYnlTeW1ib2w6e319LGNvbW1hbmRzOltdLHRpbWVzdGFtcDpudWxsfTtvLnRpbWVzdGFtcD1uO2Zvcihjb25zdCBlIG9mIGZ1bmN0aW9uKGUsdCl7cmV0dXJuWy4uLmVdLnNvcnQoKChlLHMpPT50LmluZGV4T2YoZS5jb2xvciktdC5pbmRleE9mKHMuY29sb3IpKSl9KHMsbSkpe2NvbnN0IHQ9ZS5zeW1ib2xzLmZpbHRlcigodD0+dm9pZCAwPT09by5saXN0cy5ieVN5bWJvbFt0XSYmKGYodCl8fChvLmxpc3RzLmJ5U3ltYm9sW3RdPWUuY29sb3IpLCEwKSkpO28ubGlzdHMuYnlDb2xvcltlLmNvbG9yXT17Y29sb3I6ZS5jb2xvcixuYW1lOmUubmFtZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLHNoYXJlZDplLnNoYXJlZCxzeW1ib2xzOnQscGVyc2lzdGVkU3RhdGU6ZS5wZXJzaXN0ZWRTdGF0ZX0sdC5sZW5ndGg+MCYmby5saXN0cy5jb2xvcnMucHVzaChlLmNvbG9yKX1yZXR1cm4gb30scmVtb3ZlOihlLHQpPT57Y29uc3R7Y29sb3I6cyxzeW1ib2xzOm4sc2lsZW50Om99PXQucGF5bG9hZCx7bGlzdHM6YSxjb21tYW5kczpsfT1lLHU9YS5ieUNvbG9yW3NdO2lmKHZvaWQgMD09PXV8fDA9PT11LnN5bWJvbHMubGVuZ3RoKXJldHVybjtjb25zdCBkPW5ldyBTZXQobiksbT11LnN5bWJvbHMuZmlsdGVyKChlPT4hZC5oYXMoZSkpKTtpZighKDAsYy5lcXVhbEFycmF5cykobSx1LnN5bWJvbHMpKXt1LnN5bWJvbHM9bTtmb3IoY29uc3QgZSBvZiBkKWRlbGV0ZSBhLmJ5U3ltYm9sW2VdO298fGwucHVzaCh7dHlwZToicmVtb3ZlIixjb2xvcjpzLHN5bWJvbHM6Wy4uLmRdLHByZXZMaXN0czooMCxpLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pLHkoZSxzKX19LG1hcmtNYW55OihlLHQpPT57Y29uc3R7Y29sb3I6cyxiZWZvcmU6bixzaWxlbnQ6b309dC5wYXlsb2FkLHtsaXN0czphLGNvbW1hbmRzOmx9PWUse3VuaXF1ZTp1LGV4Y2x1c2lvbnM6bX09ZnVuY3Rpb24oZSx0KXtjb25zdHtjb2xvcjpzLHN5bWJvbHM6bixzZXBhcmF0b3JzOm99PXQucGF5bG9hZCx7bGlzdHM6cn09ZSxhPXt9LGw9bmV3IFNldCxjPWU9PmYoZSk/KCgwLGkuYXNzZXJ0KShudWxsIT09cykscyk6ci5ieVN5bWJvbFtlXTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoOysrZSl7Y29uc3QgdD1uW2VdO2lmKGwuaGFzKHQpfHxmKHQpJiYhbyljb250aW51ZTtsLmFkZCh0KTtjb25zdCBzPWModCk7dm9pZCAwIT09cyYmKGFbc109YVtzXT8/bmV3IFNldCkuYWRkKHQpfXJldHVybntleGNsdXNpb25zOmEsdW5pcXVlOmx9fShlLHQpO2lmKDA9PT11LnNpemUpcmV0dXJuO2NvbnN0IGg9ZnVuY3Rpb24oZSx0LHMsbil7Y29uc3R7Y29sb3I6byxiZWZvcmU6cn09dC5wYXlsb2FkLHtsaXN0czppfT1lO2xldCBhO2lmKG51bGwhPT1vJiZ2b2lkIDAhPT1yJiZzLmhhcyhyKSl7Y29uc3QgZT1pLmJ5Q29sb3Jbb107aWYodm9pZCAwIT09ZSl7YT1uO2ZvcihsZXQgdD1lLnN5bWJvbHMuaW5kZXhPZihyKTt0Pj0wOy0tdClpZighcy5oYXMoZS5zeW1ib2xzW3RdKSl7YT1lLnN5bWJvbHNbdF07YnJlYWt9fX1yZXR1cm4gYX0oZSx0LHUsZC5MSVNUX1NUQVJUKTtpZihudWxsIT09cyYmdm9pZCAwIT09bVtzXSYmMT09PU9iamVjdC5rZXlzKG0pLmxlbmd0aCl7Y29uc3QgdD1hLmJ5Q29sb3Jbc107KDAsaS5hc3NlcnQpKHZvaWQgMCE9PXQpO2NvbnN0IHA9dC5zeW1ib2xzLmZpbHRlcigoZT0+IXUuaGFzKGUpKSksZz0oMCxkLmdldFRhcmdldEluZGV4KShwLG4saCk7aWYodm9pZCAwPT09Zz9wLnB1c2goLi4udSk6cC5zcGxpY2UoZywwLC4uLnUpLCgwLGMuZXF1YWxBcnJheXMpKHAsdC5zeW1ib2xzKSlyZXR1cm47e2NvbnN0IG49bVtzXTsoMCxpLmFzc2VydCkodm9pZCAwIT09biksdC5zeW1ib2xzPXA7Zm9yKGNvbnN0IGUgb2YgbilkZWxldGUgYS5ieVN5bWJvbFtlXTtmb3IoY29uc3QgZSBvZiB1KWYoZSl8fChhLmJ5U3ltYm9sW2VdPXMpO3JldHVybiB5KGUscyksdm9pZChvfHxsLnB1c2goe3R5cGU6InJlcGxhY2UiLGNvbG9yOnMsc3ltYm9sczpbLi4udC5zeW1ib2xzXSxwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9fWZvcihjb25zdCB0IGluIG0pe2lmKCFtLmhhc093blByb3BlcnR5KHQpKWNvbnRpbnVlO2NvbnN0IHM9bVt0XTsoMCxpLmFzc2VydCkodm9pZCAwIT09cyk7Y29uc3Qgbj1hLmJ5Q29sb3JbdF07KDAsaS5hc3NlcnQpKHZvaWQgMCE9PW4pLG4uc3ltYm9scz1uLnN5bWJvbHMuZmlsdGVyKChlPT4hcy5oYXMoZSl8fChkZWxldGUgYS5ieVN5bWJvbFtlXSwhMSkpKSx5KGUsdCl9aWYobnVsbD09PXMpcmV0dXJuIHZvaWQob3x8bC5wdXNoKHt0eXBlOiJyZXNldCIsc3ltYm9sczpbLi4udV0scHJldkxpc3RzOigwLGkuZW5zdXJlRGVmaW5lZCkoKDAsci5vcmlnaW5hbCkoZSkpLmxpc3RzfSkpO2NvbnN0IHA9YS5ieUNvbG9yW3NdO2lmKGEuY29sb3JzLmluY2x1ZGVzKHMpKXsoMCxpLmFzc2VydCkodm9pZCAwIT09cCk7Y29uc3QgdD0oMCxkLmdldFRhcmdldEluZGV4KShwLnN5bWJvbHMsbixoKTt2b2lkIDA9PT10PyhwLnN5bWJvbHMucHVzaCguLi51KSxvfHwodm9pZCAwPT09bVtzXT9sLnB1c2goe3R5cGU6ImFwcGVuZCIsY29sb3I6cyxzeW1ib2xzOlsuLi51XSxwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KTpsLnB1c2goe3R5cGU6InJlcGxhY2UiLGNvbG9yOnMsc3ltYm9sczpbLi4ucC5zeW1ib2xzXSxwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSkpOihwLnN5bWJvbHMuc3BsaWNlKHQsMCwuLi51KSxvfHxsLnB1c2goe3R5cGU6InJlcGxhY2UiLGNvbG9yOnMsc3ltYm9sczpbLi4ucC5zeW1ib2xzXSxwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9ZWxzZSB2b2lkIDA9PT1wP2EuYnlDb2xvcltzXT17Y29sb3I6cywKc3ltYm9sczpbLi4udV0sbmFtZTpudWxsLGRlc2NyaXB0aW9uOm51bGwsc2hhcmVkOiExLHBlcnNpc3RlZFN0YXRlOm51bGx9OnAuc3ltYm9scz1bLi4udV0sYS5jb2xvcnMucHVzaChzKSxvfHxsLnB1c2goe3R5cGU6ImFwcGVuZCIsY29sb3I6cyxzeW1ib2xzOlsuLi51XSxwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KTtmb3IoY29uc3QgZSBvZiB1KWYoZSl8fChhLmJ5U3ltYm9sW2VdPXMpfSxyZW5hbWVTZXBhcmF0b3I6KGUsdCk9Pntjb25zdHtjb2xvcjpzLHNlcGFyYXRvcjpuLG5hbWU6byxzaWxlbnQ6YX09dC5wYXlsb2FkO2lmKG49PT1vfHwhZihuKXx8IWYobykpcmV0dXJuO2NvbnN0IGw9ZS5saXN0cy5ieUNvbG9yW3NdOygwLGkuYXNzZXJ0KSh2b2lkIDAhPT1sKTtjb25zdCBjPWwuc3ltYm9scy5pbmRleE9mKG4pOy0xIT09YyYmLTE9PT1sLnN5bWJvbHMuaW5kZXhPZihvKSYmKGwuc3ltYm9scy5zcGxpY2UoYywxLG8pLGF8fGUuY29tbWFuZHMucHVzaCh7dHlwZToicmVuYW1lLXNlcGFyYXRvciIsY29sb3I6cyxzZXBhcmF0b3I6bixuYW1lOm8scHJldkxpc3RzOigwLGkuZW5zdXJlRGVmaW5lZCkoKDAsci5vcmlnaW5hbCkoZSkpLmxpc3RzfSkpfSxyZW5hbWU6KGUsdCk9Pntjb25zdHtuYW1lOnMsY29sb3I6bixzaWxlbnQ6b309dC5wYXlsb2FkLGE9ZS5saXN0cy5ieUNvbG9yW25dOygwLGkuYXNzZXJ0KSh2b2lkIDAhPT1hKSxhLm5hbWUhPT1zJiYoYS5uYW1lPXMsb3x8ZS5jb21tYW5kcy5wdXNoKHt0eXBlOiJyZW5hbWUiLGNvbG9yOm4sbmFtZTpzLHByZXZMaXN0czooMCxpLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pKX0sY2hhbmdlRGVzY3JpcHRpb246KGUsdCk9Pntjb25zdHtjb2xvcjpzLGRlc2NyaXB0aW9uOm4sc2lsZW50Om99PXQucGF5bG9hZCxhPWUubGlzdHMuYnlDb2xvcltzXTsoMCxpLmFzc2VydCkodm9pZCAwIT09YSksYS5kZXNjcmlwdGlvbiE9PW4mJihhLmRlc2NyaXB0aW9uPW4sb3x8ZS5jb21tYW5kcy5wdXNoKHt0eXBlOiJjaGFuZ2UtZGVzY3JpcHRpb24iLGNvbG9yOnMsZGVzY3JpcHRpb246bixwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9LHJlc2V0OihlLHQpPT57Y29uc3R7c2lsZW50OnN9PXQucGF5bG9hZCx7bGlzdHM6bn09ZTtmb3IoY29uc3QgZSBvZiBtKXtjb25zdCB0PW4uYnlDb2xvcltlXTt2b2lkIDAhPT10JiYodC5zeW1ib2xzPVtdKX1uLmNvbG9ycz1bXSxuLmJ5U3ltYm9sPXt9LHN8fGUuY29tbWFuZHMucHVzaCh7dHlwZToicmVzZXQtYWxsIixwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KX0sc2hhcmU6KGUsdCk9Pntjb25zdHtsaXN0czpzLGNvbW1hbmRzOm59PWUse3NoYXJlZDpvLGNvbG9yOmEsc2lsZW50Omx9PXQucGF5bG9hZCxjPXMuYnlDb2xvclthXTt2b2lkIDAhPT1jJiZjLnNoYXJlZCE9PW8mJihjLnNoYXJlZD1vLGx8fG4ucHVzaCh7dHlwZToic2hhcmUiLGNvbG9yOmEsc2hhcmVkOm8scHJldkxpc3RzOigwLGkuZW5zdXJlRGVmaW5lZCkoKDAsci5vcmlnaW5hbCkoZSkpLmxpc3RzfSkpfSx1cGRhdGVQZXJzaXN0ZWRTdGF0ZTooZSx0KT0+e2NvbnN0e2xpc3RzOnN9PWU7Zm9yKGNvbnN0IGUgb2YgbSl7Y29uc3Qgbj1zLmJ5Q29sb3JbZV0sbz10LnBheWxvYWRbZV07dm9pZCAwIT09biYmbi5wZXJzaXN0ZWRTdGF0ZSYmbyYmKG4ucGVyc2lzdGVkU3RhdGU9ey4uLm4ucGVyc2lzdGVkU3RhdGUsLi4ub30pfX0sc2hpZnRDb21tYW5kOihlLHQpPT57Y29uc3R7Y291bnQ6c309dC5wYXlsb2FkO2UuY29tbWFuZHMuc3BsaWNlKDAscyl9fX0pLHttYXJrTWFueTpiLHNldHVwOnYscmVzZXQ6UyxyZW1vdmU6XyxyZW5hbWU6dyxjaGFuZ2VEZXNjcmlwdGlvbjpDLHJlbmFtZVNlcGFyYXRvcjpULHNoaWZ0Q29tbWFuZDp4LHNoYXJlOkUsdXBkYXRlUGVyc2lzdGVkU3RhdGU6UH09Zy5hY3Rpb25zLHtyZWR1Y2VyOk99PWc7ZnVuY3Rpb24gTihlLHQscz1nKXtyZXR1cm4oMCxhLmNyZWF0ZUNyb3NzVGFiU3luY01pZGRsZXdhcmUpKHtpZDplLGNoYW5uZWw6dCxldmVudDoibWFya2VkLWxpc3QtY3Jvc3MtdGFiLXN5bmMiLGZpbHRlcjplPT5mdW5jdGlvbihlLHQpe3JldHVybiB0LmFjdGlvbnMubWFya01hbnkubWF0Y2goZSl8fHQuYWN0aW9ucy5yZW5hbWUubWF0Y2goZSl8fHQuYWN0aW9ucy5jaGFuZ2VEZXNjcmlwdGlvbi5tYXRjaChlKXx8dC5hY3Rpb25zLnJlbW92ZS5tYXRjaChlKXx8dC5hY3Rpb25zLnNldHVwLm1hdGNoKGUpfHx0LmFjdGlvbnMucmVuYW1lU2VwYXJhdG9yLm1hdGNoKGUpfHx0LmFjdGlvbnMucmVzZXQubWF0Y2goZSl8fHQuYWN0aW9ucy5zaGFyZS5tYXRjaChlKXx8dC5hY3Rpb25zLnVwZGF0ZVBlcnNpc3RlZFN0YXRlLm1hdGNoKGUpfShlLHMpfSl9ZnVuY3Rpb24gTChlLHQpe3JldHVybiBlLmxpc3RzLmJ5U3ltYm9sW2wucXVhbGlmaWVkLmNhc3QodCldPz9udWxsfWZ1bmN0aW9uIGsoZSx0KXtyZXR1cm4gZS5saXN0cy5ieUNvbG9yW3RdPz9udWxsfWZ1bmN0aW9uIEQoZSx0KXtyZXR1cm4gayhlLHQpPy5zeW1ib2xzPz9udWxsfWZ1bmN0aW9uIEEoZSl7cmV0dXJuIGUuY29tbWFuZHN9ZnVuY3Rpb24gTShlKXtyZXR1cm4gZS50aW1lc3RhbXB9fSw0OTI2NzcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoZS5yZXBsYWNlKC9cKy9nLCIgIikpLnJlcGxhY2UoLzxcLz9bXj5dKyg+fCQpL2csIiIpfWZ1bmN0aW9uIG8oZSl7Y29uc3QgdD0vKFteJj1dKyk9PyhbXiZdKikvZyxzPXt9O2lmKCFlKXJldHVybiBzO2xldCBvPXQuZXhlYyhlKTtmb3IoO287KXNbbihvWzFdKV09bihvWzJdKSxvPXQuZXhlYyhlKTtyZXR1cm4gc31mdW5jdGlvbiByKCl7cmV0dXJuIG8od2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSkpfWZ1bmN0aW9uIGkoKXtjb25zdCBlPXdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCIjIilbMF0KO3dpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSgiIixkb2N1bWVudC50aXRsZSxlKX1mdW5jdGlvbiBhKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IHMgaW4gZSlpZihlLmhhc093blByb3BlcnR5KHMpJiZudWxsIT1lW3NdKXtjb25zdCBuPWVbc10sbz0ib2JqZWN0Ij09dHlwZW9mIG4/SlNPTi5zdHJpbmdpZnkobik6U3RyaW5nKG4pO3QucHVzaCh7a2V5OnMscGFpcjplbmNvZGVVUklDb21wb25lbnQocykrIj0iK2VuY29kZVVSSUNvbXBvbmVudChvKX0pfXJldHVybiB0LnNvcnQoKChlLHQpPT5lLmtleT50LmtleT8xOmUua2V5PHQua2V5Py0xOjApKS5tYXAoKGU9PmUucGFpcikpLmpvaW4oIiYiKX1zLmQodCx7Y3JlYXRlVXJsUGFyYW1zOigpPT5hLGdldFVybFBhcmFtczooKT0+cixyZW1vdmVIYXNoRnJvbVVybDooKT0+aX0pfSw5NzM1MjQoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7TElTVF9TVEFSVDooKT0+bixnZXRUYXJnZXRJbmRleDooKT0+b30pO2NvbnN0IG49U3ltYm9sKCk7ZnVuY3Rpb24gbyhlLHQscyl7Y29uc3Qgbz12b2lkIDA9PT1zP3ZvaWQgMCE9PXQ/ZS5pbmRleE9mKHQpOnZvaWQgMDpzPT09bj8wOmUuaW5kZXhPZihzKSsxO3JldHVybi0xIT09bz9vOnZvaWQgMH19LDQzMzIwKGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtjb25zdHtpZDp0LGV2ZW50OnMsY2hhbm5lbDpuLGZpbHRlcjpvfT1lO3JldHVybiBlPT4obi5vbihzLChzPT57Y29uc3R7YWN0aW9uOm4sZW1pdHRlcjpyfT1KU09OLnBhcnNlKHMpO3IhPT10JiZvKG4pJiZlLmRpc3BhdGNoKHsuLi5uLHBheWxvYWQ6ey4uLm4ucGF5bG9hZCxzaWxlbnQ6ITB9fSl9KSksZT0+cj0+e2NvbnN0IGk9ZShyKTtyZXR1cm4gbyhyKSYmKHIucGF5bG9hZC5zaWxlbnR8fG4uZW1pdChzLEpTT04uc3RyaW5naWZ5KHthY3Rpb246cixlbWl0dGVyOnR9KSkpLGl9KX1zLmQodCx7Y3JlYXRlQ3Jvc3NUYWJTeW5jTWlkZGxld2FyZTooKT0+bn0pfSwyOTUyMzUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7cXVhbGlmaWVkOigpPT5ufSk7Y29uc3Qgbj17Y2FzdDplPT5lLGNhc3RNYW55OmU9PmUubWFwKG4uY2FzdCl9fSw2MTI0NDYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCl7aWYoZS5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoOysrcylpZihlW3NdIT09dFtzXSlyZXR1cm4hMTtyZXR1cm4hMH1zLmQodCx7ZXF1YWxBcnJheXM6KCk9Pm59KX0sMzA0Mzk5KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2hhbmRsZUpTT046KCk9PnIsd2F0Y2hsaXN0VXJsOigpPT5pfSk7dmFyIG49cygzMTg5NzQpLG89cyg1NjkzOTgpO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIGUub2s/MjA0PT09ZS5zdGF0dXM/UHJvbWlzZS5yZXNvbHZlKCk6ZS5qc29uKCk6ZS5qc29uKCkudGhlbigoZT0+e2NvbnN0IHQ9bmV3IEVycm9yKGUuZGV0YWlsfHwibm90IG9rIik7dGhyb3cgZS5jb2RlJiYodC5uYW1lPWBBcGlFcnJvcjoke2UuY29kZX1gKSx0fSkpfWZ1bmN0aW9uIGkoZSl7Y29uc3QgdD13aW5kb3cuVFZfV0FUQ0hMSVNUU19VUkwrZTtpZighKDAsby5pc0ZlYXR1cmVFbmFibGVkKSgid2F0Y2hsaXN0X2FkZF9zb3VyY2VfcGFyYW0iKSlyZXR1cm4gdDtjb25zdCBzPSgwLG4uaXNEZXNrdG9wQXBwKSgpPyJ3ZWItdHZkIjoid2ViIjtyZXR1cm4gdCsoZS5pbmNsdWRlcygiPyIpPyImIjoiPyIpKyJzb3VyY2U9IitzfX0sNDM2Mzk0KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1dhcm5pbmc6KCk9PmF9KTt2YXIgbj1zKDc3OTQ3NCksbz1zKDE4NTI3MSkscj1zKDcyNTg2MiksaT1zKDQ1OTg2Myk7ZnVuY3Rpb24gYShlKXtjb25zdHt0aXRsZTp0LGNsb3NlT25PdXRzaWRlQ2xpY2s6YSxvbkNsb3NlOmM9KCk9Pnt9LGJhY2tkcm9wOnUsc2hvd0Nsb3NlQnV0dG9uOmQsZGF0YVFhSWQ6bX09ZSxoPSgwLGkuZ2V0Q29udGVudCkoZSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChyLlNpbXBsZURpYWxvZyx7Li4uaCx0aXRsZTp0fHxvLnQobnVsbCx2b2lkIDAscyg5MzcwMTcpKSxvbkNsb3NlOmMsYmFja2Ryb3A6dSxhY3Rpb25zOmwoZSksZGF0YU5hbWU6Indhcm5pbmctZGlhbG9nIixkYXRhUWFJZDptLGNsb3NlT25PdXRzaWRlQ2xpY2s6YSxzaG93Q2xvc2VCdXR0b246ZH0pfWZ1bmN0aW9uIGwoZSl7Y29uc3R7YnV0dG9uVGV4dDp0LGludGVudEJ1dHRvbjpuLGFjdGlvbnM6cixvbkNvbmZpcm06aX09ZSxhPVt7bmFtZToib2siLHRpdGxlOnR8fG8udChudWxsLHZvaWQgMCxzKDIwODA3OCkpLGludGVudDpuLGhhbmRsZXI6KHtkaWFsb2dDbG9zZTplfSk9PntpPy4oKSxlKCl9fV07cmV0dXJuIHImJnIuZm9yRWFjaCgoZT0+YS5wdXNoKGUpKSksYX19LDU5NjA1MChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtzaG93U2ltcGxlRGlhbG9nSW5zdGFuY2U6KCk9PmN9KTt2YXIgbj1zKDc3OTQ3NCksbz1zKDEzODYzOCkscj1zKDYwNzgzMiksaT1zKDg2MzQ0KSxhPXMoNTcxMzAwKTtjb25zdCBsPW5ldyBpLkRpYWxvZ3NPcGVuZXJNYW5hZ2VyO2Z1bmN0aW9uIGMoZSx0LHMpe2NvbnN0e3RpdGxlOml9PWU7bGV0IGM9YCR7aX1fYDtpZihjKz0idGV4dCJpbiBlP2UudGV4dDoiaHRtbCJpbiBlP2UuaHRtbDplLmlkLGwuaXNPcGVuZWQoYykpcmV0dXJuKDAsby5lbnN1cmVEZWZpbmVkKShsLmdldERpYWxvZ1BheWxvYWQoYykpLmNsb3NlSGFuZGxlcjtjb25zdCB1PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQ9KCk9PntlLm9uQ2xvc2U/LigpLG0udW5tb3VudCgpLGwuc2V0QXNDbG9zZWQoYyl9LG09KDAsYS5jcmVhdGVSZWFjdFJvb3QpKG4uY3JlYXRlRWxlbWVudChyLlNsb3RDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpzfHxudWxsfSxuLmNyZWF0ZUVsZW1lbnQodCx7Li4uZSxvbkNsb3NlOmR9KSksdSk7cmV0dXJuIGwuc2V0QXNPcGVuZWQoYyx7Y2xvc2VIYW5kbGVyOmR9KSxkfX0sODYzNDQoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7RGlhbG9nc09wZW5lck1hbmFnZXI6KCk9Pm4sZGlhbG9nc09wZW5lck1hbmFnZXI6KCk9Pm99KTtjbGFzcyBue2NvbnN0cnVjdG9yKCl7CnRoaXMuX3N0b3JhZ2U9bmV3IE1hcH1zZXRBc09wZW5lZChlLHQpe3RoaXMuX3N0b3JhZ2Uuc2V0KGUsdCl9c2V0QXNDbG9zZWQoZSl7dGhpcy5fc3RvcmFnZS5kZWxldGUoZSl9aXNPcGVuZWQoZSl7cmV0dXJuIHRoaXMuX3N0b3JhZ2UuaGFzKGUpfWdldERpYWxvZ1BheWxvYWQoZSl7cmV0dXJuIHRoaXMuX3N0b3JhZ2UuZ2V0KGUpfX1jb25zdCBvPW5ldyBufSw4NTE0NTgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7ZmFjdG9yT3V0QnJhY2VzOigpPT5oLGdldFRva2VuQXRQb3M6KCk9Pm0saXNCaW5hcnlPcGVyYXRvcjooKT0+dSxpc1NwcmVhZDooKT0+ZCxwYXJzZVRva2VuOigpPT55LHNob3J0TmFtZTooKT0+cCxzeW1ib2xUb2tlbkVzY2FwZVJlOigpPT5hLHRva2VuaXplOigpPT5jfSk7dmFyIG4sbz1zKDkwMTAyMikscj1zKDU2OTM5OCk7IWZ1bmN0aW9uKGUpe2UuU3ltYm9sPSJzeW1ib2wiLGUuSW5jb21wbGV0ZVN5bWJvbD0iaW5jb21wbGV0ZVN5bWJvbCIsZS5OdW1iZXI9Im51bWJlciIsZS5JbmNvbXBsZXRlTnVtYmVyPSJpbmNvbXBsZXRlTnVtYmVyIixlLlNlcGFyYXRvclByZWZpeD0ic2VwYXJhdG9yUHJlZml4IixlLk9wZW5CcmFjZT0ib3BlbkJyYWNlIixlLkNsb3NlQnJhY2U9ImNsb3NlQnJhY2UiLGUuUGx1cz0icGx1cyIsZS5NaW51cz0ibWludXMiLGUuTXVsdGlwbHk9Im11bHRpcGx5IixlLkRpdmlkZT0iZGl2aWRlIixlLlBvd2VyPSJwb3dlciIsZS5XaGl0ZXNwYWNlPSJ3aGl0ZXNwYWNlIixlLlVucGFyc2VkPSJ1bnBhcnNlZCJ9KG58fChuPXt9KSk7Y29uc3QgaT0vKD86W14tK1wvKl5cc10nfFthLXpBLVowLTlfXHUwMzcwLVx1MUZGRl9cdTJFODAtXHVGRkZGXSkoPzpbXi0rXC8qXlxzXSd8W2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKSp8Jy4rPycvLGE9L1srXC0vKl0vLGw9KGU9KDAsci5pc0ZlYXR1cmVFbmFibGVkKSgiYWxsb3dfdHJhaWxpbmdfd2hpdGVzcGFjZV9pbl9udW1iZXJfdG9rZW4iKSk9Pih7bnVtYmVyOmU/L1xkKyg/OlwuXGQqfCg/IVthLXpBLVowLTlfITouJl0pKSg/OlxzKig/PVxzKiQpKT98XC5cZCsoPzpccyooPz1ccyokKSk/LzovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxpbmNvbXBsZXRlTnVtYmVyOi9cLi8sc3ltYm9sOmksaW5jb21wbGV0ZVN5bWJvbDovJ1teJ10qLyxzZXBhcmF0b3JQcmVmaXg6by5TRVBBUkFUT1JfUFJFRklYLG9wZW5CcmFjZToiKCIsY2xvc2VCcmFjZToiKSIscGx1czoiKyIsbWludXM6Ii0iLG11bHRpcGx5OiIqIixkaXZpZGU6Ii8iLHBvd2VyOiJeIix3aGl0ZXNwYWNlOi9bXDAtXHgyMFxzXSsvLHVucGFyc2VkOm51bGx9KTtmdW5jdGlvbiBjKGUsdD1sKCkpe2lmKCFlKXJldHVybltdO2NvbnN0IHM9W10sbj1PYmplY3Qua2V5cyh0KTtsZXQgbztjb25zdCByPSgoZT1sKCkpPT5uZXcgUmVnRXhwKE9iamVjdC52YWx1ZXMoZSkubWFwKChlPT57cmV0dXJuIG51bGw9PT1lPyIiOmAoJHsic3RyaW5nIj09dHlwZW9mIGU/KHQ9ZSx0LnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIikpOmUuc291cmNlfSlgO3ZhciB0fSkpLmZpbHRlcigoZT0+IiIhPT1lKSkuY29uY2F0KCIuIikuam9pbigifCIpLCJnIikpKHQpO2Zvcig7bz1yLmV4ZWMoZSk7KXtsZXQgZT0hMTtmb3IobGV0IHQ9bi5sZW5ndGg7dC0tOylpZihvW3QrMV0pe25bdF0mJnMucHVzaCh7dmFsdWU6b1t0KzFdLHR5cGU6blt0XSxwcmVjZWRlbmNlOjAsb2Zmc2V0Om8uaW5kZXh9KSxlPSEwO2JyZWFrfWV8fHMucHVzaCh7dmFsdWU6b1swXSx0eXBlOiJ1bnBhcnNlZCIscHJlY2VkZW5jZTowLG9mZnNldDpvLmluZGV4fSl9cmV0dXJuIHN9ZnVuY3Rpb24gdShlKXtyZXR1cm4icGx1cyI9PT1lfHwibWludXMiPT09ZXx8Im11bHRpcGx5Ij09PWV8fCJkaXZpZGUiPT09ZXx8InBvd2VyIj09PWV9ZnVuY3Rpb24gZChlKXtyZXR1cm4gZS5sZW5ndGg+MSYmZS5zb21lKChlPT51KGUudHlwZSkpKX1mdW5jdGlvbiBtKGUsdCl7Zm9yKGxldCBzPTA7czxlLmxlbmd0aDtzKyspe2NvbnN0IG49ZVtzXSxvPSJzeW1ib2wiPT09bi50eXBlfHwiaW5jb21wbGV0ZVN5bWJvbCI9PT1uLnR5cGV8fCJudW1iZXIiPT09bi50eXBlO2lmKG4ub2Zmc2V0PD10JiZ0PD1uLm9mZnNldCtuLnZhbHVlLmxlbmd0aCYmbylyZXR1cm4gbn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBoKGUpe2U9ZnVuY3Rpb24oZSl7Y29uc3QgdD1bXTtmb3IoY29uc3QgcyBvZiBlKSJ3aGl0ZXNwYWNlIiE9PXMudHlwZSYmdC5wdXNoKHMpO3JldHVybiB0fShlKTtjb25zdCB0PVtdLHM9W107bGV0IG47Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDtvKyspe2NvbnN0IHI9ZVtvXTtzd2l0Y2goci50eXBlKXtjYXNlInBsdXMiOmNhc2UibWludXMiOmNhc2UibXVsdGlwbHkiOmNhc2UiZGl2aWRlIjpjYXNlInBvd2VyIjpzLmxlbmd0aCYmc1tzLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPnIucHJlY2VkZW5jZSYmKHNbcy5sZW5ndGgtMV0ubWluUHJlY2VkZW5jZT1yLnByZWNlZGVuY2UpO2JyZWFrO2Nhc2Uib3BlbkJyYWNlIjpuPXttaW5QcmVjZWRlbmNlOjEvMCxvcGVuQnJhY2VJbmRleDpvfSxzLnB1c2gobik7YnJlYWs7Y2FzZSJjbG9zZUJyYWNlIjp7aWYobj1zLnBvcCgpLCFuKWJyZWFrO2NvbnN0IHI9ZVtuLm9wZW5CcmFjZUluZGV4LTFdLGk9ZVtvKzFdLGE9ciYmKCJwbHVzIj09PXIudHlwZXx8Im11bHRpcGx5Ij09PXIudHlwZSk7KCF1KGk/LnR5cGUpfHxpPy5wcmVjZWRlbmNlPD1uLm1pblByZWNlZGVuY2UpJiYoIXUocj8udHlwZSl8fHI/LnByZWNlZGVuY2U8bj8ubWluUHJlY2VkZW5jZXx8cj8ucHJlY2VkZW5jZT09PW4/Lm1pblByZWNlZGVuY2UmJmEpJiYodC51bnNoaWZ0KG4ub3BlbkJyYWNlSW5kZXgpLHQucHVzaChvKSxzLmxlbmd0aCYmc1tzLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPm4ubWluUHJlY2VkZW5jZSYmKHNbcy5sZW5ndGgtMV0ubWluUHJlY2VkZW5jZT1uLm1pblByZWNlZGVuY2UpKX19fWZvcihsZXQgcz10Lmxlbmd0aDtzLS07KWUuc3BsaWNlKHRbc10sMSk7cmV0dXJuIGV9ZnVuY3Rpb24gcChlKXsKcmV0dXJuIGgoYyhlKSkucmVkdWNlKCgoZSx0KT0+e2lmKCJzeW1ib2wiIT09dC50eXBlKXJldHVybiBlK3QudmFsdWU7Y29uc3RbLHNdPXkodCk7cmV0dXJuIHM/ZStzOmV9KSwiIil9ZnVuY3Rpb24geShlKXtjb25zdCB0PS9eJz8oPzooW0EtWjAtOV9dKyk6KT8oLio/KSc/JC9pLmV4ZWMoZS52YWx1ZSk7cmV0dXJuIG51bGw9PT10P1t2b2lkIDAsdm9pZCAwXTpbdFsxXSx0WzJdXX19LDY5MjI2NihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtUb29sdGlwV2lkZ2V0OigpPT5kLFRvb2x0aXBXaXphcmQ6KCk9PnV9KTt2YXIgbj1zKDc3OTQ3NCksbz1zKDkxNDQ4Nykscj1zLm4obyksaT1zKDI3MzMxMCksYT1zKDU4NTQ4KSxsPXMoODA2NjkzKSxjPXMoOTIzNTEzKTtjbGFzcyB1IGV4dGVuZHMgbi5QdXJlQ29tcG9uZW50e3JlbmRlcigpe2NvbnN0e2NoaWxkcmVuOmUscG9wcGVyQ2hpbGRyZW5Qcm9wczp0LG9uQ2xvc2U6cyxyZWZlcmVuY2U6byxjb250YWluZXJDbGFzc05hbWU6aSxhcnJvd0NsYXNzTmFtZTpsLHJvbGU6dX09dGhpcy5wcm9wcztyZXR1cm4gbi5jcmVhdGVFbGVtZW50KGEuUG9ydGFsLG51bGwsbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6b30sbi5jcmVhdGVFbGVtZW50KGQse3JlZmVyZW5jZTp0LnJlZixzdHlsZTp0LnN0eWxlLGFycm93Q2xhc3NOYW1lOnIoKShjLmFycm93SG9sZGVyLHRoaXMuX2dldEFycm93RGlyZWN0aW9uQ2xhc3MoKSxsKSxhcnJvd1JlZmVyZW5jZTp0LmFycm93UHJvcHMucmVmLGFycm93U3R5bGU6dC5hcnJvd1Byb3BzLnN0eWxlLCJkYXRhLXBsYWNlbWVudCI6dC5wbGFjZW1lbnQsb25DbG9zZTpzLGNvbnRhaW5lckNsYXNzTmFtZTppLHJvbGU6dX0sZSkpKX1fZ2V0QXJyb3dEaXJlY3Rpb25DbGFzcygpe2NvbnN0e3BvcHBlckNoaWxkcmVuUHJvcHM6ZX09dGhpcy5wcm9wcztzd2l0Y2goZS5wbGFjZW1lbnQpe2Nhc2UibGVmdCI6Y2FzZSJsZWZ0LXN0YXJ0IjpyZXR1cm4gcigpKGNbImFycm93SG9sZGVyLS1hZnRlciJdLGNbImFycm93SG9sZGVyLS1hZnRlci1sdHItZml4Il0pO2Nhc2UidG9wIjpyZXR1cm4gcigpKGNbImFycm93SG9sZGVyLS1hYm92ZSJdLGNbImFycm93SG9sZGVyLS1hYm92ZS1maXgiXSk7Y2FzZSJib3R0b20iOmNhc2UiYm90dG9tLXN0YXJ0IjpjYXNlImJvdHRvbS1lbmQiOnJldHVybiBjWyJhcnJvd0hvbGRlci0tYmVsb3ciXTtkZWZhdWx0OnJldHVybiByKCkoY1siYXJyb3dIb2xkZXItLWJlZm9yZSJdLGNbImFycm93SG9sZGVyLS1iZWZvcmUtcnRsLWZpeCJdKX19fWZ1bmN0aW9uIGQoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsY29udGFpbmVyQ2xhc3NOYW1lOnMsY29udGVudENsYXNzTmFtZTpvLHJlZmVyZW5jZTphLHN0eWxlOnUsYXJyb3c6ZD0hMCxhcnJvd0NsYXNzTmFtZTptLGFycm93UmVmZXJlbmNlOmgsb25DbG9zZTpwLGFycm93U3R5bGU6eSxjaGlsZHJlbjpmLHJvbGU6ZywuLi5ifT1lO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLmIsY2xhc3NOYW1lOnQscmVmOmEsc3R5bGU6dSwiZGF0YS1yb2xlIjpnfSxkJiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTptLHJlZjpoLHN0eWxlOnl9KSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkoYy5jb250YWluZXIscyl9LG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKShjLmNvbnRlbnQsbyl9LGYpLHAmJm4uY3JlYXRlRWxlbWVudChpLkljb24se2NsYXNzTmFtZTpjLmNsb3NlQnV0dG9uLGljb246bCxvbkNsaWNrOnB9KSkpfX0sMjQxOTM3KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQpe2NvbnN0IHM9dHx8d2luZG93LmxvY2FsZXx8ImVuIjtsZXQgbj1lW3NdP2Vbc106ZS5lbjtyZXR1cm4gbj0idHJhZGluZ3ZpZXcuY29tIj09PW4/Ind3dy50cmFkaW5ndmlldy5jb20iOm4sbj9kb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK246IiJ9cy5kKHQse2RldGVybWluZUJhc2VVcmw6KCk9Pm59KX0sMzM3MzYyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0VtYmVkVmlld3BvcnREaW1lbnNpb25zUHJvdmlkZXI6KCk9Pm99KTt2YXIgbj1zKDkzMDIzMSk7Y2xhc3Mgb3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2RhdGE9bnVsbCx0aGlzLl9tZXNzYWdlUmVjZWl2ZXI9bnVsbH1zdGFydExpc3RlbmluZygpe3RoaXMuX21lc3NhZ2VSZWNlaXZlcnx8KHRoaXMuX21lc3NhZ2VSZWNlaXZlcj1lPT57aWYoZS5kYXRhKXRyeXtjb25zdCB0PUpTT04ucGFyc2UoZS5kYXRhKTsic2V0LWVtYmVkLXJlc2l6ZXItb3ZlcnJpZGVzIj09PXQuZXZlbnQmJih0aGlzLl9kYXRhPXQuZWRnZXMpfWNhdGNoe319LHRoaXMuX2FkZE1lc3NhZ2VMaXN0ZW5lcigpKX1kZXN0cm95KCl7dGhpcy5fcmVtb3ZlTWVzc2FnZUxpc3RlbmVyKCl9ZGF0YSgpe3JldHVybiB0aGlzLl9kYXRhfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiB0aGlzLl9pbnN0YW5jZXx8KHRoaXMuX2luc3RhbmNlPW5ldyBvKSx0aGlzLl9pbnN0YW5jZX1fYWRkTWVzc2FnZUxpc3RlbmVyKCl7dGhpcy5fbWVzc2FnZVJlY2VpdmVyJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fbWVzc2FnZVJlY2VpdmVyKX1fcmVtb3ZlTWVzc2FnZUxpc3RlbmVyKCl7dGhpcy5fbWVzc2FnZVJlY2VpdmVyJiZ3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fbWVzc2FnZVJlY2VpdmVyKSx0aGlzLl9tZXNzYWdlUmVjZWl2ZXI9bnVsbH19KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZW1iZWRfcmVzaXplcl9vdmVycmlkZXMiKSYmby5nZXRJbnN0YW5jZSgpLnN0YXJ0TGlzdGVuaW5nKCl9LDk2MzkwMChlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBuOyFmdW5jdGlvbihlKXtlLkVtcHR5PSIiLGUuVGVjaG5pY2Fsc1BhdGg9InRlY2huaWNhbHMvIixlLkZpbmFuY2lhbHNPdmVydmlld1BhdGg9ImZpbmFuY2lhbHMtb3ZlcnZpZXcvIixlLlRpbWVsaW5lUGF0aD0iaGlzdG9yeS10aW1lbGluZS8iLGUuTmV3c1BhdGg9Im5ld3MvIixlLk9wdGlvbnNQYXRoPSJvcHRpb25zLyIsZS5Qcm9maWxlUGF0aD0icHJvZmlsZS8iLAplLkhvbGRpbmdzUGF0aD0iaG9sZGluZ3MvIn0obnx8KG49e30pKX19XSk7"}},"time_used":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/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/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.133Z","timestamp":1785141584133,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.58667.d15fc4b5c631bb5ece8d.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\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: 9beb3bf56d95cbe0dacfde02d0fc86f8\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":27626,"size_decoded":6249,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3069)","md5":"c37495f6ca72950f28ad5a6a79a0bab4","sha1":"b23429fd2dea7f2557a8a68545083949759c3ad4","sha256":"b4511e0c850bde295127e6af14148f016b9aea35ea705cdf3106a5a1edbd93b8","sha512":"ddee6e0c9cd60676d9195e2fb635982af76e72cf188acf0f42ba7ac648dbd5acc579a186a2c51fb5ac9d5e758c5289ab285ea4e80694b19f70a1715a5707b77c","ssdeep":"384:L+x0EMPsBRgXD2PTmdN2/5dQ1tHSJm/BtU:L7E2NJuJmI","tlshash":"2cc2c007cd96b099f3f6e24e0eb4d50c2cb453495270d702be868e289ae5ee69d2f315","first_seen":"2026-05-05T10:36:04.872376Z","last_seen":"2026-07-27T15:03:44.253556Z","times_seen":4192,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1ODY2N10sezI1ODY2NyhvKXtvLmV4cG9ydHM9T2JqZWN0LmNyZWF0ZShudWxsKSxvLmV4cG9ydHNbIiNBQVBMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXBwbGUgSW5jIl0sby5leHBvcnRzWyIjQU1FWDpTQ0hPLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2Nod2FiIFNob3J0LVRlcm0gVS5TLiBUcmVhc3VyeSBFVEYiXSxvLmV4cG9ydHNbIiNBTUVYOlNIWUctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTaGFyZXMgMC01IFlFQVIgSGlnaCBZaWVsZCBDb3Jwb3JhdGUgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNBU1g6WEFGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCBBbGwgQXVzdHJhbGlhbiA1MCBJbmRleCJdLG8uZXhwb3J0c1siI0FTWDpYQVQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvQVNYIEFsbCBBdXN0cmFsaWFuIDIwMCBJbmRleCJdLG8uZXhwb3J0c1siI0FTWDpYSk8tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvQVNYIDIwMCBJbmRleCJdLG8uZXhwb3J0c1siI0FVRENBRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyL0NhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0FVRENIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIC8gU3dpc3MgRnJhbmMiXSxvLmV4cG9ydHNbIiNBVURKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhciAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0FVRE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjQVVEUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhbiBEb2xsYXIgLyBSdXNzaWFuIFJ1YmxlIl0sby5leHBvcnRzWyIjQVVEVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhbiBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JDQkE6SU1WLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIE1FUlZBTCBJbmRleCJdLG8uZXhwb3J0c1siI0JDSEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gQ2FzaCAvIEV1cm8iXSxvLmV4cG9ydHNbIiNCQ0hVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIENhc2ggLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JFTEVYOkJFTEVYMTUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCRUxFWCAxNSBJbmRleCJdLG8uZXhwb3J0c1siI0JJU1Q6WFUxMDAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCSVNUIDEwMCBJbmRleCJdLG8uZXhwb3J0c1siI0JJVE1FWDpYQlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gVS5TLiBEb2xsYXIgSW5kZXgiXSxvLmV4cG9ydHNbIiNCTUU6SUJDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSUJFWCAzNSBJbmRleCJdLG8uZXhwb3J0c1siI0JNRkJPVkVTUEE6SUJPVi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJvdmVzcGEgSW5kZXgiXSxvLmV4cG9ydHNbIiNCTUZCT1ZFU1BBOklCUkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJQnJhc2lsIEluZGV4Il0sby5leHBvcnRzWyIjQk1GQk9WRVNQQTpJQlhMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJhemlsIDUwIEluZGV4Il0sby5leHBvcnRzWyIjQk1WOkNULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2hpbmEgU1gyMCBSVCJdLG8uZXhwb3J0c1siI0JNVjpGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRm9yZCBNb3RvciBDb21wYW55Il0sby5leHBvcnRzWyIjQk1WOk1FLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0JNViBJUEMgSW5kZXgiXSxvLmV4cG9ydHNbIiNCUkxKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmF6aWxpYW4gUmVhbCAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0JTRTpJVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJVEkgTHRkIl0sby5leHBvcnRzWyIjQlNFOlNFTlNFWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCBCU0UgU2Vuc2V4IEluZGV4Il0sby5leHBvcnRzWyIjQlRDQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjQlRDQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0JUQ0NOWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBDaGluZXNlIFl1YW4iXSxvLmV4cG9ydHNbIiNCVENFVVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gRXVybyJdLG8uZXhwb3J0c1siI0JUQ0dCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBCcml0aXNoIFBvdW5kIl0sby5leHBvcnRzWyIjQlRDSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0JUQ0tSVy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjQlRDUExOLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFBvbGlzaCBabG90eSJdLG8uZXhwb3J0c1siI0JUQ1JVQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBSdXNzaWFuIFJ1YmxlIl0sby5leHBvcnRzWyIjQlRDVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFRoYWkgQmFodCJdLG8uZXhwb3J0c1siI0JUQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JUR1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gR29sZCAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjQlZMOlNQQkxQR1BULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIC8gQlZMIFBlcnUgR2VuZXJhbCBJbmRleCAoUEVOKSJdLG8uZXhwb3J0c1siI0JWU1Atc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmF6aWwgQm92ZXNwYSBJbmRleCJdLApvLmV4cG9ydHNbIiNDQURKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBEb2xsYXIgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNDQURVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0NCT0U6T0VYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDEwMCBJbmRleCJdLG8uZXhwb3J0c1siI0NCT0U6VklYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVm9sYXRpbGl0eSBTJlAgNTAwIEluZGV4Il0sby5leHBvcnRzWyIjQ0JPVDpaQjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVC1Cb25kIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpDMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb3JuIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpNMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTb3liZWFuIE1lYWwgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6Wk4xIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIjEwIFllYXIgVC1Ob3RlIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpPMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJPYXQgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlExIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIjMwIERheSBGZWRlcmFsIEZ1bmRzIEludGVyZXN0IFJhdGUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlIxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJpY2UgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlMxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNveWJlYW4gRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIldoZWF0IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UX01JTkk6WEsxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNveWJlYW4gTWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ0JPVF9NSU5JOlhXMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJXaGVhdCBNaW5pIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UX01JTkk6WU0xIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBEb3cgSm9uZXMgKCQ1KSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ0hGSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgRnJhbmMgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNDSEZVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTd2lzcyBGcmFuYyAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjQ01FOkJUQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiBDTUUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRTpDQjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnV0dGVyIEZ1dHVyZXMtQ2FzaCAoQ29udGludW91czogQ3VycmVudCBjb250cmFjdCBpbiBmcm9udCkiXSxvLmV4cG9ydHNbIiNDTUU6R0YxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZlZWRlciBDYXR0bGUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRTpIRTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGVhbiBIb2dzIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDTUU6TEUxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdmUgQ2F0dGxlIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDTUVfTUlOSTpFNzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBFLW1pbmkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRV9NSU5JOkVTMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgNTAwIEUtbWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ01FX01JTkk6SjcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiBFLW1pbmkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRV9NSU5JOk5RMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOQVNEQVEgMTAwIEUtbWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ01FX01JTkk6UlRZMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFLU1pbmkgUnVzc2VsbCAyMDAwIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpBRVAxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFsdW1pbml1bSBFdXJvcGVhbiBQcmVtaXVtIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpBVVAxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFsdW1pbnVtIE1XIFUuUy4gVHJhbnNhY3Rpb24gUHJlbWl1bSBQbGF0dHMgKDI1TVQpIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpHQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVg6SEcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNvcHBlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVg6U0kxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNpbHZlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIENvcHBlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRSTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2lsdmVyIChNaW5pKSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRTzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCAoTWluaSkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NPUFBFUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ29wcGVyIl0sby5leHBvcnRzWyIjQ09STlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ29ybiJdLG8uZXhwb3J0c1siI0NPVFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ290dG9uIl0sby5leHBvcnRzWyIjQ1JZUFRPQ0FQOlRPVEFMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ3J5cHRvIFRvdGFsIE1hcmtldCBDYXAsICQiXSxvLmV4cG9ydHNbIiNERk06REZNR0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJERk0gSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tcG9zaXRlIEF2ZXJhZ2UgSW5kZXgiXSwKby5leHBvcnRzWyIjREo6REpDSUFHQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggQWdyaWN1bHR1cmUgQ2FwcGVkIENvbXBvbmVudCJdLG8uZXhwb3J0c1siI0RKOkRKQ0lDQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggQ29jb2EiXSxvLmV4cG9ydHNbIiNESjpESkNJRU4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IEVuZXJneSJdLG8uZXhwb3J0c1siI0RKOkRKQ0lHQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggR29sZCJdLG8uZXhwb3J0c1siI0RKOkRKQ0lHUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggR3JhaW5zIl0sby5leHBvcnRzWyIjREo6REpDSUlLLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIENvbW1vZGl0eSBJbmRleCBOaWNrZWwiXSxvLmV4cG9ydHNbIiNESjpESkNJS0Mtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IENvZmZlZSJdLG8uZXhwb3J0c1siI0RKOkRKQ0lTQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggU3VnYXIiXSxvLmV4cG9ydHNbIiNESjpESkNJU0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IFNpbHZlciJdLG8uZXhwb3J0c1siI0RKOkRKSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBJbmR1c3RyaWFsIEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgVHJhbnNwb3J0YXRpb24gQXZlcmFnZSBJbmRleCJdLG8uZXhwb3J0c1siI0RKOkRKVS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBVdGlsaXR5IEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESlVTQ0wtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgVS5TLiBDb2FsIEluZGV4Il0sby5leHBvcnRzWyIjRUdYOkVHWDMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRUdYIDMwIEluZGV4Il0sby5leHBvcnRzWyIjRVRDQlRDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gQ2xhc3NpYyAvIEJpdGNvaW4iXSxvLmV4cG9ydHNbIiNFVENFVVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSBDbGFzc2ljIC8gRXVybyJdLG8uZXhwb3J0c1siI0VUQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIENsYXNzaWMgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0VUSEJUQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gQml0Y29pbiJdLG8uZXhwb3J0c1siI0VUSEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gRXVybyJdLG8uZXhwb3J0c1siI0VUSEdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gQnJpdGlzaCBQb3VuZCJdLG8uZXhwb3J0c1siI0VUSEpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gSmFwYW5lc2UgWWVuIl0sby5leHBvcnRzWyIjRVRIS1JXLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjRVRIVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBUaGFpIEJhaHQiXSxvLmV4cG9ydHNbIiNFVEhVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjRVVCVU5ELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBCdW5kIl0sby5leHBvcnRzWyIjRVVSQVVELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEF1c3RyYWxpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjRVVSQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjRVVSQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0VVUkNIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBTd2lzcyBGcmFuYyJdLG8uZXhwb3J0c1siI0VVUkdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBCcml0aXNoIFBvdW5kIl0sby5leHBvcnRzWyIjRVVSSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0VVUk5PSy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBOb3J3ZWdpYW4gS3JvbmUiXSxvLmV4cG9ydHNbIiNFVVJOWkQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjRVVST05FWFQ6QUVYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQUVYIEluZGV4Il0sby5leHBvcnRzWyIjRVVST05FWFQ6QkVMMjAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCRUwgMjAgSW5kZXgiXSxvLmV4cG9ydHNbIiNFVVJPTkVYVDpQWDEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDQUMgNDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNFVVJSVUItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI0VVUlJVQl9UT00tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gUnVzc2lhbiBSdWJsZSBUT00iXSxvLmV4cG9ydHNbIiNFVVJTRUstc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gU3dlZGlzaCBLcm9uYSJdLG8uZXhwb3J0c1siI0VVUlRSWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBUdXJraXNoIExpcmEiXSxvLmV4cG9ydHNbIiNFVVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNFVVNUWDUwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBTdG94eCA1MCBJbmRleCJdLG8uZXhwb3J0c1siI0ZPUkVYQ09NOlVTMjAwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIFNtYWxsIENhcCAyMDAwIl0sCm8uZXhwb3J0c1siI0ZSQTQwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0FDIDQwIEluZGV4Il0sby5leHBvcnRzWyIjRlJFRDpHRFAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHcm9zcyBEb21lc3RpYyBQcm9kdWN0LCAxIERlY2ltYWwiXSxvLmV4cG9ydHNbIiNGUkVEOlBPUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRvdGFsIFBvcHVsYXRpb246IEFsbCBBZ2VzIEluY2x1ZGluZyBBcm1lZCBGb3JjZXMgT3ZlcnNlYXMiXSxvLmV4cG9ydHNbIiNGUkVEOlVOUkFURS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNpdmlsaWFuIFVuZW1wbG95bWVudCBSYXRlIl0sby5leHBvcnRzWyIjRlRTRU1ZWDpGQk1LTENJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRlRTRSBCdXJzYSBNYWxheXNpYSBLTENJIEluZGV4Il0sby5leHBvcnRzWyIjRldCOktUMS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIktleSBUcm9uaWMgQ29y0YAuIl0sby5leHBvcnRzWyIjRlg6QVVTMjAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCBJbmRleCJdLG8uZXhwb3J0c1siI0ZYOlVTMzAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgSW5kdXN0cmlhbCBBdmVyYWdlIEluZGV4Il0sby5leHBvcnRzWyIjR0JQQVVELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIEF1c3RyYWxpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjR0JQQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0dCUENIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBTd2lzcyBGcmFuYyJdLG8uZXhwb3J0c1siI0dCUEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBFdXJvIl0sby5leHBvcnRzWyIjR0JQSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0dCUE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBOZXcgWmVhbGFuZCBEb2xsYXIiXSxvLmV4cG9ydHNbIiNHQlBQTE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gUG9saXNoIFpsb3R5Il0sby5leHBvcnRzWyIjR0JQUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIFJ1c3NpYW4gUnVibGUiXSxvLmV4cG9ydHNbIiNHQlBVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNHRVIzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRBWCBJbmRleCJdLG8uZXhwb3J0c1siI0dPT0ctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQyJdLG8uZXhwb3J0c1siI0dPT0dMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWxwaGFiZXQgSW5jIChHb29nbGUpIENsYXNzIEEiXSxvLmV4cG9ydHNbIiNHUFc6QUNHLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWNhdXRvZ2F6Il0sby5leHBvcnRzWyIjR1BXOldJRzIwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiV0lHMjAgSW5kZXgiXSxvLmV4cG9ydHNbIiNIU0k6SFNJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGFuZyBTZW5nIEluZGV4Il0sby5leHBvcnRzWyIjSUNFVVM6RFgxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNJRFg6Q09NUE9TSVRFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSURYIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOkhTQ0Utc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJIYW5nIFNlbmcgQ2hpbmEgRW50ZXJwcmlzZXMgSW5kZXgiXSxvLmV4cG9ydHNbIiNJTkRFWDpKS1NFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFrYXJ0YSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNJTkRFWDpLTFNFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnVyc2EgTWFsYXlzaWEgS0xDSSBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOk1JQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1JQiBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOk1PWTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIFN0b3h4IDUwIEluZGV4Il0sby5leHBvcnRzWyIjSU5ERVg6U1RJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU1RJIEluZGV4Il0sby5leHBvcnRzWyIjSU5ERVg6VFdJSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhaXdhbiBXZWlnaHRlZCBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOlhMWTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTaGFuZ2hhaSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNJT1RVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJT1RBIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNKUE4yMjUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbiAyMjUgSW5kZXgiXSxvLmV4cG9ydHNbIiNKUFlLUlctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbmVzZSBZZW4gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjSlBZUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI0pQWVVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjTEtPSC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxVS09JTCJdLG8uZXhwb3J0c1siI0xTRTpTQ0hPLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2Nob2xpdW0gR3JvdXAgUGxjIE9yZCAxUCJdLG8uZXhwb3J0c1siI0xUQ0JSTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdGVjb2luIC8gQnJhemlsaWFuIFJlYWwiXSxvLmV4cG9ydHNbIiNMVENCVEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMaXRlY29pbiAvIEJpdGNvaW4iXSxvLmV4cG9ydHNbIiNMVENVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMaXRlY29pbiAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjTFVOQVVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkx1bmEgLyBVLlMuIERvbGxhciJdLApvLmV4cG9ydHNbIiNNT0VYOkJSMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmVudCBPaWwgRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6R0FaUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkdBWlBST00iXSxvLmV4cG9ydHNbIiNNT0VYOklNT0VYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTU9FWCBSdXNzaWEgSW5kZXgiXSxvLmV4cG9ydHNbIiNNT0VYOk1HTlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNQUdOSVQiXSxvLmV4cG9ydHNbIiNNT0VYOk1JQ0VYSU5ERVhDRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1PRVggUnVzc2lhIEluZGV4Il0sby5leHBvcnRzWyIjTU9FWDpNWDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTUlDRVggSW5kZXggRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6TVgyIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1JQ0VYIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNNT0VYOlJJMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSVFMgSW5kZXggRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6UlRTSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJUUyBJbmRleCJdLG8uZXhwb3J0c1siI01PRVg6UlVBTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVuaXRlZCBDb21wYW55IFJVU0FMIFBMQyJdLG8uZXhwb3J0c1siI01PRVg6U0JFUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNCRVJCQU5LIl0sby5leHBvcnRzWyIjTU9FWDpWVEJSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVlRCIl0sby5leHBvcnRzWyIjTVNGVC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1pY3Jvc29mdCBDb3JwLiJdLG8uZXhwb3J0c1siI05BUzEwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIDEwMCBDYXNoIENGRCJdLG8uZXhwb3J0c1siI05BU0RBUTpBTUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBZHZhbmNlZCBNaWNybyBEZXZpY2VzIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpHT09HLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWxwaGFiZXQgSW5jIChHb29nbGUpIENsYXNzIEMiXSxvLmV4cG9ydHNbIiNOQVNEQVE6R09PR0wtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQSJdLG8uZXhwb3J0c1siI05BU0RBUTpIR1gtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQSExYIEhvdXNpbmcgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROklFRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgNy0xMCBZZWFyIFRyZWFzdXJ5IEJvbmQgRVRGIl0sby5leHBvcnRzWyIjTkFTREFROklFSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgMy03IFllYXIgVHJlYXN1cnkgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNOQVNEQVE6SVRJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXRlcmlzIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpJWElDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmFzZGFxIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI05BU0RBUTpMQ0lELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTHVjaWQgR3JvdXAsIEluYy4iXSxvLmV4cG9ydHNbIiNOQVNEQVE6TEUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMYW5kcycgRW5kIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpORFgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXNkYXEgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROk9TWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggT2lsIFNlcnZpY2UgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROlNIWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgMS0zIFllYXIgVHJlYXN1cnkgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNOQVNEQVE6U09YLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUGhpbGFkZWxwaGlhIFNlbWljb25kdWN0b3IgSW5kZXgiXSxvLmV4cG9ydHNbIiNOQVNEQVE6VExULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXNoYXJlcyAyMCsgWWVhciBUcmVhc3VyeSBCb25kIEVURiJdLG8uZXhwb3J0c1siI05BU0RBUTpVVFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQSExYIFV0aWxpdHkgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROlhBVS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggR29sZCBhbmQgU2lsdmVyIFNlY3RvciBJbmRleCJdLG8uZXhwb3J0c1siI05BU0RBUTpaUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlpzY2FsZXIgSW5jIl0sby5leHBvcnRzWyIjTkVPVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTkVPIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNOR0FTLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmF0dXJhbCBHYXMgKEhlbnJ5IEh1YikiXSxvLmV4cG9ydHNbIiNOS1ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbiAyMjUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOU0U6SVRJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kaWFuIFRlbGVwaG9uZSBJbmR1c3RyaWVzIExpbWl0ZWQiXSxvLmV4cG9ydHNbIiNOU0U6TklGVFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOaWZ0eSA1MCBJbmRleCJdLG8uZXhwb3J0c1siI05ZTUVYOkFFWjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTlkgRXRoYW5vbCBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6Q0oxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNvY29hIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWU1FWDpDTDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGlnaHQgQ3J1ZGUgT2lsIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWU1FWDpITzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTlkgSGFyYm9yIFVMU0QgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOktUMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb2ZmZWUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOk5HMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXR1cmFsIEdhcyBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6UEExIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBhbGxhZGl1bSBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6UEwxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBsYXRpbnVtIEZ1dHVyZXMiXSwKby5leHBvcnRzWyIjTllNRVg6UkIxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJCT0IgR2Fzb2xpbmUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOlRUMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb3R0b24gRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYX01JTkk6UUcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBOYXR1cmFsIEdhcyBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVhfTUlOSTpRTTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIExpZ2h0IENydWRlIE9pbCBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVhfTUlOSTpRVTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIEdhc29saW5lIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWVNFOkJBQkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbGliYWJhIEdyb3VwIEhvbGRpbmdzIEx0ZC4iXSxvLmV4cG9ydHNbIiNOWVNFOkYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGT1JEIE1UUiBDTyBERUwiXSxvLmV4cG9ydHNbIiNOWVNFOkhFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGF3YWlpYW4gRWxlY3RyaWMgSW5kdXN0cmllcyJdLG8uZXhwb3J0c1siI05ZU0U6TllBLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTllTRSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWVNFOlBCUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBFVFJPTEVPIEJSQVNJTEVJUk8gU0EgUEVUUk9CUiJdLG8uZXhwb3J0c1siI05ZU0U6WEFYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQU1FWCBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWVNFOlhNSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ZU0UgQVJDQSBNYWpvciBNYXJrZXQgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWkRKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNOWkRVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI05aWDpBTExDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL05aWCBBbGwgSW5kZXggKENhcGl0YWwgSW5kZXgpIl0sby5leHBvcnRzWyIjTlpYOk5aNTBHLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIC8gTlpYIDUwIEluZGV4IEdyb3NzIl0sby5leHBvcnRzWyIjT0FOREE6TkFUR0FTVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBOYXR1cmFsIEdhcyJdLG8uZXhwb3J0c1siI09BTkRBOlNQWDUwMFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNPQU5EQTpYQ1VVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIENvcHBlciAoVVMkIC8gbGIpIl0sby5leHBvcnRzWyIjT01YQ09QOk9NWEMyNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBDb3BlbmhhZ2VuIDI1IEluZGV4Il0sby5leHBvcnRzWyIjT01YQ09QOlNDSE8tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTY2hvdXcgJiBDbyBBL1MiXSxvLmV4cG9ydHNbIiNPTVhIRVg6T01YSDI1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIEhlbHNpbmtpIDI1IEluZGV4Il0sby5leHBvcnRzWyIjT01YUlNFOk9NWFJHSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBSaWdhIEdyb3NzIEluZGV4Il0sby5leHBvcnRzWyIjT01YU1RPOk9NWFMzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBTdG9ja2hvbG0gMzAgSW5kZXgiXSxvLmV4cG9ydHNbIiNPTVhUU0U6T01YVEdJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFRhbGxpbm4gR3Jvc3MgSW5kZXgiXSxvLmV4cG9ydHNbIiNPTVhWU0U6T01YVkdJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFZpbG5pdXMgR3Jvc3MgSW5kZXgiXSxvLmV4cG9ydHNbIiNPVEM6SUhSTUYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJc2hhcmVzIE1TQ0kgSmFwYW4gU0hTIl0sby5leHBvcnRzWyIjUVNFOkdOUkktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJRRSBJbmRleCJdLG8uZXhwb3J0c1siI1JUUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJ1c3NpYW4gUlRTIEluZGV4Il0sby5leHBvcnRzWyIjUlVTU0VMTDpSVUEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSdXNzZWxsIDMwMDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNSVVNTRUxMOlJVSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJ1c3NlbGwgMTAwMCBJbmRleCJdLG8uZXhwb3J0c1siI1JVU1NFTEw6UlVULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUnVzc2VsbCAyMDAwIEluZGV4Il0sby5leHBvcnRzWyIjU0VUOkdDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR2xvYmFsIENvbm5lY3Rpb25zIFB1YmxpYyBDb21wYW55Il0sby5leHBvcnRzWyIjU0lYOkYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGb3JkIE1vdG9yIENvbXBhbnkiXSxvLmV4cG9ydHNbIiNTSVg6U01JLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgTWFya2V0IEluZGV4Il0sby5leHBvcnRzWyIjU09MVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU29sYW5hIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNTT1lCTlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gU295YmVhbnMiXSxvLmV4cG9ydHNbIiNTUDpPRVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjU1A6U1BHU0NJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIEdvbGRtYW4gU2FjaHMgQ29tbW9kaXR5IEluZGV4Il0sby5leHBvcnRzWyIjU1A6U1BYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDUwMCBJbmRleCJdLG8uZXhwb3J0c1siI1NQOlNWWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgVmFsdWUgSW5kZXgiXSxvLmV4cG9ydHNbIiNTUFg1MDAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgNTAwIEluZGV4Il0sby5leHBvcnRzWyIjU1VHQVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFN1Z2FyIl0sCm8uZXhwb3J0c1siI1NaU0U6Mzk5MDAxLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2hlbnpoZW4gQ29tcG9uZW50IEluZGV4Il0sby5leHBvcnRzWyIjVEFEQVdVTDoyMzcwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWlkZGxlIEVhc3QgU3BlY2lhbGl6ZWQgQ2FibGVzIENvLiJdLG8uZXhwb3J0c1siI1RBREFXVUw6VEFTSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhZGF3dWwgQWxsIFNoYXJlcyBJbmRleCJdLG8uZXhwb3J0c1siI1RBU0U6VEEzNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRBLTM1IEluZGV4Il0sby5leHBvcnRzWyIjVFNYOlRTWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUC9UU1ggQ29tcG9zaXRlIEluZGV4Il0sby5leHBvcnRzWyIjVFNYOlRYNjAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvVFNYIDYwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkFVMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpBVTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkFYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkJYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgQ3VycmVuY3kgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6Q0ExMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNhbmFkaWFuIEdvdmVybm1lbnQgQm9uZHMsIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOkNBMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpDQUM0MC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNBQyA0MCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpDTjEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2hpbmEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpDTjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNoaW5hIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6Q1hZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gRG9sbGFyIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkRFMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHZXJtYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpERTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkdlcm1hbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkRFVTMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiREFYIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkRKSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBJbmR1c3RyaWFsIEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6RFhZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6RVMxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNwYWluIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6RVMxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTcGFpbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkVVQlVORC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gQnVuZCJdLG8uZXhwb3J0c1siI1RWQzpFWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkZSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGcmFuY2UgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpGUjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZyYW5jZSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkZUTUlCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWlsYW5vIEl0YWxpYSBCb3JzYSBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpHQjAyLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgR292ZXJubWVudCBCb25kcyAyIFlSIl0sby5leHBvcnRzWyIjVFZDOkdCMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVSyBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOkdCMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpHT0xELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBHb2xkIChVUyQgLyBPWikiXSxvLmV4cG9ydHNbIiNUVkM6SFNJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGFuZyBTZW5nIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOklCRVgzNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklCRVggMzUgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6SUQwMy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZG9uZXNpYSBHb3Zlcm5tZW50IEJvbmRzIDMgWVIiXSxvLmV4cG9ydHNbIiNUVkM6SUQxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZG9uZXNpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOklEMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kb25lc2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6SU4xMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZGlhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6SU4xMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJbmRpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOklUMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJdGFseSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOklUMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXRhbHkgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLApvLmV4cG9ydHNbIiNUVkM6SVhJQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpKUDEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpKUDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6SlhZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOktPU1BJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiS29yZWEgQ29tcG9zaXRlIFN0b2NrIFByaWNlIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOktSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJLb3JlYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOktSMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiS29yZWEgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpNWTEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWFsYXlzaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpNWTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1hbGF5c2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6TkRYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOk5JMjI1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW4gMjI1IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOk5MMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXRoZXJsYW5kcyBHb3Zlcm5tZW50IEJvbmRzLCAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpOTDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldGhlcmxhbmRzIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6TllBLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTllTRSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6TloxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldyBaZWFsYW5kIEdvdmVybm1lbnQgQm9uZHMsIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOk5aMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmV3IFplYWxhbmQgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpQQUxMQURJVU0tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFBhbGxhZGl1bSAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlBMMDVZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUG9sYW5kIEdvdmVybm1lbnQgQm9uZHMgNSBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpQTDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBvbGFuZCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOlBMQVRJTlVNLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBQbGF0aW51bSAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlBUMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQb3J0dWdhbCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOlBUMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUG9ydHVnYWwgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpTQTQwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU291dGggQWZyaWNhIFRvcCA0MCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpTSUxWRVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFNpbHZlciAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlNQWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6U1NNSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN3aXNzIE1hcmtldCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpTVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTdHJhaXRzIFRpbWVzIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlNYNUUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIFN0b3h4IDUwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlNYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN3aXNzIEZyYW5jIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlRSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUdXJrZXkgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpUUjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlR1cmtleSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOlVLT0lMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBCcmVudCBDcnVkZSBPaWwiXSxvLmV4cG9ydHNbIiNUVkM6VUtYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlVTMDItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBHb3Zlcm5tZW50IEJvbmRzIDIgWVIiXSxvLmV4cG9ydHNbIiNUVkM6VVMwMlktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBHb3Zlcm5tZW50IEJvbmRzIDIgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6VVMwNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgNSBZUiJdLG8uZXhwb3J0c1siI1RWQzpVUzA1WS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgNSBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpVUzEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpVUzEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6VVMzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMzAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6VVNPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFdUSSBDcnVkZSBPaWwiXSwKby5leHBvcnRzWyIjVFZDOlZJWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlZvbGF0aWxpdHkgUyZQIDUwMCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpaWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgQ3VycmVuY3kgSW5kZXgiXSxvLmV4cG9ydHNbIiNUV0lJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVGFpd2FuIFdlaWdodGVkIEluZGV4Il0sby5leHBvcnRzWyIjVFdTRTpUQUlFWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhaXdhbiBDYXBpdGFsaXphdGlvbiBXZWlnaHRlZCBTdG9jayBJbmRleCJdLG8uZXhwb3J0c1siI1RXVFItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUd2l0dGVyIEluYyJdLG8uZXhwb3J0c1siI1VLMTAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRlRTRSAxMDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNVS09JTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ3J1ZGUgT2lsIChCcmVudCkiXSxvLmV4cG9ydHNbIiNVTklVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVbmlzd2FwIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVUzMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIEluZHVzdHJpYWwgQXZlcmFnZSBJbmRleCJdLG8uZXhwb3J0c1siI1VTREFVRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gQXVzdHJhbGlhbiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RCUkwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjVVNEQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBDYW5hZGlhbiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RDSEYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFN3aXNzIEZyYW5jIl0sby5leHBvcnRzWyIjVVNEQ05ZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBDaGluZXNlIFl1YW4iXSxvLmV4cG9ydHNbIiNVU0RES0stc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIERhbmlzaCBLcm9uZSJdLG8uZXhwb3J0c1siI1VTREVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gRXVybyJdLG8uZXhwb3J0c1siI1VTREdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUG91bmQgU3RlcmxpbmciXSxvLmV4cG9ydHNbIiNVU0RIS0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEhvbmcgS29uZyBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RIVUYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEh1bmdhcmlhbiBGb3JpbnQiXSxvLmV4cG9ydHNbIiNVU0RJRFItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFJ1cGlhaCJdLG8uZXhwb3J0c1siI1VTRElMUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSXNyYWVsaSBTaGVrZWwiXSxvLmV4cG9ydHNbIiNVU0RJTlItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEluZGlhbiBSdXBlZSJdLG8uZXhwb3J0c1siI1VTREpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSmFwYW5lc2UgWWVuIl0sby5leHBvcnRzWyIjVVNES1JXLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTb3V0aCBLb3JlYW4iXSxvLmV4cG9ydHNbIiNVU0RNWE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIE1leGljYW4gUGVzbyJdLG8uZXhwb3J0c1siI1VTRE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjVVNEUEhQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBQaGlsaXBwaW5lIHBlc28iXSxvLmV4cG9ydHNbIiNVU0RQTE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFBvbGlzaCBabG90eSJdLG8uZXhwb3J0c1siI1VTRFJVQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI1VTRFJVQl9UT00tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFJ1c3NpYW4gUnVibGUgVE9NIl0sby5leHBvcnRzWyIjVVNEU0VLLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTd2VkaXNoIEtyb25hIl0sby5leHBvcnRzWyIjVVNEU0dELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTaW5nYXBvcmUgRG9sbGFyIl0sby5leHBvcnRzWyIjVVNEVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBUaGFpIEJhaHQiXSxvLmV4cG9ydHNbIiNVU0RUUlktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFR1cmtpc2ggTGlyYSJdLG8uZXhwb3J0c1siI1VTRFpBUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gU291dGggQWZyaWNhbiBSYW5kIl0sby5leHBvcnRzWyIjVVNPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIENydWRlIE9pbCAoV1RJKSJdLG8uZXhwb3J0c1siI1dIRUFUVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBXaGVhdCJdLG8uZXhwb3J0c1siI1hBR1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNpbHZlciAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjWEFVVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCBTcG90IC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNYQlRDQUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gQ2FuYWRpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjWEVUUjpEQVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEQVggSW5kZXgiXSxvLmV4cG9ydHNbIiNYTVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNb25lcm8gLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI1hQRFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gUGFsbGFkaXVtIl0sCm8uZXhwb3J0c1siI1hQVFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBsYXRpbnVtIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNYUlBCVEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJYUlAgLyBCaXRjb2luIl0sby5leHBvcnRzWyIjWFJQRVVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWFJQIC8gRXVybyJdLG8uZXhwb3J0c1siI1hSUFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlhSUCAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjWkVDVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWmNhc2ggLyBVLlMuIERvbGxhciJdfX1dKTs="}},"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/53297.a6f6547cdad8d37971fc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.844Z","timestamp":1785141584844,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/53297.a6f6547cdad8d37971fc.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-103a6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ab7061285dbfbbfcb4536dc43c17e22f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":66470,"size_decoded":23266,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"c6a3f4550b8b4efa1a9ac0a26ab757a6","sha1":"376e5c7e4bf11c4c576ba0a644af8f841f17c662","sha256":"e673211228f9cec0ee6b36576c556da8959897ff56e4baa281606d9694f888fc","sha512":"fbe34869d39b17339388031748218f6816d1fe3b5a9dea653c536c49ea8fa574d3164227efd1dceb114737127e80c52c98fa1f254d7bbc7863dcf4fb37759723","ssdeep":"1536:QGwKmjvbKAmbj5HdO/Z8y+xp2PFg4PPNn42M:9XA299O/Z8DxpyFg4PP6b","tlshash":"ee535c40b160b0fc45e7809ad52f049ae33b1558b46648e8f53ddcec2a9adcdb267e7c","first_seen":"2026-07-24T11:36:48.185143Z","last_seen":"2026-07-27T12:48:39.791498Z","times_seen":97,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNTk2NCw1MzI5Nyw2MzU5NV0sezg1MzMzNihlLHQpe3ZhciBvLG4scztuPVt0XSxvPWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpe2Zvcih2YXIgdD0wLG89QXJyYXkoZS5sZW5ndGgpO3Q8ZS5sZW5ndGg7dCsrKW9bdF09ZVt0XTtyZXR1cm4gb31yZXR1cm4gQXJyYXkuZnJvbShlKX1PYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG89ITE7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpe3ZhciBuPXtnZXQgcGFzc2l2ZSgpe289ITB9fTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdFBhc3NpdmUiLG51bGwsbiksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3RQYXNzaXZlIixudWxsLG4pfXZhciBzPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtJiYvaVAoYWR8aG9uZXxvZCkvLnRlc3Qod2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybSksaT1bXSxyPSExLGE9LTEsbD12b2lkIDAsYz12b2lkIDAsdT1mdW5jdGlvbihlKXtyZXR1cm4gaS5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4hKCF0Lm9wdGlvbnMuYWxsb3dUb3VjaE1vdmV8fCF0Lm9wdGlvbnMuYWxsb3dUb3VjaE1vdmUoZSkpfSkpfSxkPWZ1bmN0aW9uKGUpe3ZhciB0PWV8fHdpbmRvdy5ldmVudDtyZXR1cm4hIXUodC50YXJnZXQpfHwxPHQudG91Y2hlcy5sZW5ndGh8fCh0LnByZXZlbnREZWZhdWx0JiZ0LnByZXZlbnREZWZhdWx0KCksITEpfSxoPWZ1bmN0aW9uKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt2b2lkIDAhPT1jJiYoZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQ9YyxjPXZvaWQgMCksdm9pZCAwIT09bCYmKGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c9bCxsPXZvaWQgMCl9KSl9O2UuZGlzYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24oZSxuKXtpZihzKXtpZighZSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJkaXNhYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGRpc2FibGVCb2R5U2Nyb2xsIG9uIElPUyBkZXZpY2VzLiIpO2lmKGUmJiFpLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldEVsZW1lbnQ9PT1lfSkpKXt2YXIgaD17dGFyZ2V0RWxlbWVudDplLG9wdGlvbnM6bnx8e319O2k9W10uY29uY2F0KHQoaSksW2hdKSxlLm9udG91Y2hzdGFydD1mdW5jdGlvbihlKXsxPT09ZS50YXJnZXRUb3VjaGVzLmxlbmd0aCYmKGE9ZS50YXJnZXRUb3VjaGVzWzBdLmNsaWVudFkpfSxlLm9udG91Y2htb3ZlPWZ1bmN0aW9uKHQpe3ZhciBvLG4scyxpOzE9PT10LnRhcmdldFRvdWNoZXMubGVuZ3RoJiYobj1lLGk9KG89dCkudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZLWEsIXUoby50YXJnZXQpJiYobiYmMD09PW4uc2Nyb2xsVG9wJiYwPGl8fChzPW4pJiZzLnNjcm9sbEhlaWdodC1zLnNjcm9sbFRvcDw9cy5jbGllbnRIZWlnaHQmJmk8MD9kKG8pOm8uc3RvcFByb3BhZ2F0aW9uKCkpKX0scnx8KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsZCxvP3twYXNzaXZlOiExfTp2b2lkIDApLHI9ITApfX1lbHNle209bixzZXRUaW1lb3V0KChmdW5jdGlvbigpe2lmKHZvaWQgMD09PWMpe3ZhciBlPSEhbSYmITA9PT1tLnJlc2VydmVTY3JvbGxCYXJHYXAsdD13aW5kb3cuaW5uZXJXaWR0aC1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7ZSYmMDx0JiYoYz1kb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCxkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD10KyJweCIpfXZvaWQgMD09PWwmJihsPWRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3csZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIil9KSk7dmFyIHA9e3RhcmdldEVsZW1lbnQ6ZSxvcHRpb25zOm58fHt9fTtpPVtdLmNvbmNhdCh0KGkpLFtwXSl9dmFyIG19LGUuY2xlYXJBbGxCb2R5U2Nyb2xsTG9ja3M9ZnVuY3Rpb24oKXtzPyhpLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UudGFyZ2V0RWxlbWVudC5vbnRvdWNoc3RhcnQ9bnVsbCxlLnRhcmdldEVsZW1lbnQub250b3VjaG1vdmU9bnVsbH0pKSxyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixkLG8/e3Bhc3NpdmU6ITF9OnZvaWQgMCkscj0hMSksaT1bXSxhPS0xKTooaCgpLGk9W10pfSxlLmVuYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24oZSl7aWYocyl7aWYoIWUpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiZW5hYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGVuYWJsZUJvZHlTY3JvbGwgb24gSU9TIGRldmljZXMuIik7ZS5vbnRvdWNoc3RhcnQ9bnVsbCxlLm9udG91Y2htb3ZlPW51bGwsaT1pLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHQudGFyZ2V0RWxlbWVudCE9PWV9KSksciYmMD09PWkubGVuZ3RoJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixkLG8/e3Bhc3NpdmU6ITF9OnZvaWQgMCkscj0hMSl9ZWxzZSAxPT09aS5sZW5ndGgmJmlbMF0udGFyZ2V0RWxlbWVudD09PWU/KGgoKSxpPVtdKTppPWkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC50YXJnZXRFbGVtZW50IT09ZX0pKX19LHZvaWQgMD09PShzPSJmdW5jdGlvbiI9PXR5cGVvZiBvP28uYXBwbHkodCxuKTpvKXx8KGUuZXhwb3J0cz1zKX0sOTU4NjM5KGUpe2UuZXhwb3J0cz17bWVudVdyYXA6Im1lbnVXcmFwLWxCSXhJd3R6Iixpc01lYXN1cmluZzoiaXNNZWFzdXJpbmctbEJJeEl3dHoiLHNjcm9sbFdyYXA6InNjcm9sbFdyYXAtbEJJeEl3dHoiLG1vbWVudHVtQmFzZWQ6Im1vbWVudHVtQmFzZWQtbEJJeEl3dHoiLG1lbnVCb3g6Im1lbnVCb3gtbEJJeEl3dHoiLAppc0hpZGRlbjoiaXNIaWRkZW4tbEJJeEl3dHoifX0sNDcwMjk1KGUpe2UuZXhwb3J0cz17InRhYmxldC1zbWFsbC1icmVha3BvaW50IjoiKG1heC13aWR0aDogNDQwcHgpIixpdGVtOiJpdGVtLU1pMF90NXVOIixob3ZlcmVkOiJob3ZlcmVkLU1pMF90NXVOIixpc0Rpc2FibGVkOiJpc0Rpc2FibGVkLU1pMF90NXVOIixpc0FjdGl2ZToiaXNBY3RpdmUtTWkwX3Q1dU4iLHNob3J0Y3V0OiJzaG9ydGN1dC1NaTBfdDV1TiIsdG9vbGJveDoidG9vbGJveC1NaTBfdDV1TiIsd2l0aEljb246IndpdGhJY29uLU1pMF90NXVOIiwicm91bmQtaWNvbiI6InJvdW5kLWljb24tTWkwX3Q1dU4iLGljb246Imljb24tTWkwX3Q1dU4iLHN0YXJ0U2xvdDoic3RhcnRTbG90LU1pMF90NXVOIixsYWJlbFJvdzoibGFiZWxSb3ctTWkwX3Q1dU4iLGxhYmVsOiJsYWJlbC1NaTBfdDV1TiIsc2hvd09uSG92ZXI6InNob3dPbkhvdmVyLU1pMF90NXVOIiwiZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvIjoiZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvLU1pMF90NXVOIixzaG93T25Gb2N1czoic2hvd09uRm9jdXMtTWkwX3Q1dU4ifX0sNzYxMDkzKGUpe2UuZXhwb3J0cz17dGl0bGU6InRpdGxlLW5ma0dtN05HIn19LDk3Nzc3KGUpe2UuZXhwb3J0cz17YmFkZ2U6ImJhZGdlLXg0VVZaYWJNIixoYXNDaGlsZHJlbjoiaGFzQ2hpbGRyZW4teDRVVlphYk0iLGNvbnRlbnQ6ImNvbnRlbnQteDRVVlphYk0iLHNsb3Q6InNsb3QteDRVVlphYk0iLHhzbWFsbDoieHNtYWxsLXg0VVZaYWJNIixzbWFsbDoic21hbGwteDRVVlphYk0iLG1lZGl1bToibWVkaXVtLXg0VVZaYWJNIixsYXJnZToibGFyZ2UteDRVVlphYk0iLHhsYXJnZToieGxhcmdlLXg0VVZaYWJNIix4eGxhcmdlOiJ4eGxhcmdlLXg0VVZaYWJNIn19LDk5NDUoZSl7ZS5leHBvcnRzPXtkZWZhdWx0OiJkZWZhdWx0LUdaTHlrTlFQIixkYW5nZXI6ImRhbmdlci1HWkx5a05RUCIsd2FybmluZzoid2FybmluZy1HWkx5a05RUCIsc3VjY2Vzczoic3VjY2Vzcy1HWkx5a05RUCIsbmV1dHJhbDoibmV1dHJhbC1HWkx5a05RUCIsIm5ldXRyYWwtbGlnaHQiOiJuZXV0cmFsLWxpZ2h0LUdaTHlrTlFQIixzbWFsbDoic21hbGwtR1pMeWtOUVAiLG1lZGl1bToibWVkaXVtLUdaTHlrTlFQIixsYXJnZToibGFyZ2UtR1pMeWtOUVAiLGljb25XcmFwcGVyOiJpY29uV3JhcHBlci1HWkx5a05RUCIsaWNvbjoiaWNvbi1HWkx5a05RUCJ9fSw0MjQyNjIoZSl7ZS5leHBvcnRzPXtidXR0b246ImJ1dHRvbi1zWHNwWk5uWiIsaG92ZXI6ImhvdmVyLXNYc3BaTm5aIixjbGlja2VkOiJjbGlja2VkLXNYc3BaTm5aIixhY2Nlc3NpYmxlOiJhY2Nlc3NpYmxlLXNYc3BaTm5aIixhcnJvdzoiYXJyb3ctc1hzcFpObloiLGFycm93V3JhcDoiYXJyb3dXcmFwLXNYc3BaTm5aIixpc09wZW5lZDoiaXNPcGVuZWQtc1hzcFpObloifX0sMTk4MjA5KGUpe2UuZXhwb3J0cz17Imljb24td3JhcHBlciI6Imljb24td3JhcHBlci1kaWtkZXd3eCIsIndpdGgtbGluayI6IndpdGgtbGluay1kaWtkZXd3eCIsIndpdGgtdG9vbHRpcCI6IndpdGgtdG9vbHRpcC1kaWtkZXd3eCIsIm5vLWFjdGl2ZS1zdGF0ZSI6Im5vLWFjdGl2ZS1zdGF0ZS1kaWtkZXd3eCJ9fSw4MTAyODEoZSl7ZS5leHBvcnRzPXtpY29uOiJpY29uLVdCMnkwRW5QIixkcm9wcGVkOiJkcm9wcGVkLVdCMnkwRW5QIn19LDQwNjExMChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtNYXRjaE1lZGlhOigpPT5zfSk7dmFyIG49byg3Nzk0NzQpO2NsYXNzIHMgZXh0ZW5kcyBuLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5faGFuZGxlQ2hhbmdlPSgpPT57dGhpcy5mb3JjZVVwZGF0ZSgpfSx0aGlzLnN0YXRlPXtxdWVyeTp3aW5kb3cubWF0Y2hNZWRpYSh0aGlzLnByb3BzLnJ1bGUpfX1jb21wb25lbnREaWRNb3VudCgpe3RoaXMuX3N1YnNjcmliZSh0aGlzLnN0YXRlLnF1ZXJ5KX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXt0aGlzLnN0YXRlLnF1ZXJ5IT09dC5xdWVyeSYmKHRoaXMuX3Vuc3Vic2NyaWJlKHQucXVlcnkpLHRoaXMuX3N1YnNjcmliZSh0aGlzLnN0YXRlLnF1ZXJ5KSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLl91bnN1YnNjcmliZSh0aGlzLnN0YXRlLnF1ZXJ5KX1yZW5kZXIoKXtyZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlbih0aGlzLnN0YXRlLnF1ZXJ5Lm1hdGNoZXMpfXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMoZSx0KXtyZXR1cm4gZS5ydWxlIT09dC5xdWVyeS5tZWRpYT97cXVlcnk6d2luZG93Lm1hdGNoTWVkaWEoZS5ydWxlKX06bnVsbH1fc3Vic2NyaWJlKGUpe2UuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLl9oYW5kbGVDaGFuZ2UpfV91bnN1YnNjcmliZShlKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdGhpcy5faGFuZGxlQ2hhbmdlKX19fSw2ODEyMjQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7TWVudUNvbnRleHQ6KCk9Pm59KTtjb25zdCBuPW8oNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSwxNDUxNTAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7REVGQVVMVF9NRU5VX1RIRU1FOigpPT5mLE1lbnU6KCk9PmJ9KTt2YXIgbj1vKDc3OTQ3NCkscz1vKDkxNDQ4NyksaT1vLm4ocykscj1vKDEzODYzOCksYT1vKDYwNzgzMiksbD1vKDkwMzQyKSxjPW8oODkxMjA5KSx1PW8oNjQwNzQ0KSxkPW8oNTE4NzUpLGg9byg3MjcwOSkscD1vKDI3NjAxOSksbT1vKDY4MTIyNCksdj1vKDk1ODYzOSk7Y29uc3QgZj12O3ZhciBnOyFmdW5jdGlvbihlKXtlW2UuSW5kZW50RnJvbVdpbmRvdz0wXT0iSW5kZW50RnJvbVdpbmRvdyJ9KGd8fChnPXt9KSk7Y2xhc3MgYiBleHRlbmRzIG4uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9jb250YWluZXJSZWY9bnVsbCx0aGlzLl9zY3JvbGxXcmFwUmVmPW51bGwsdGhpcy5fcmFmPW51bGwsdGhpcy5fc2Nyb2xsUmFmPW51bGwsdGhpcy5fc2Nyb2xsVGltZW91dD12b2lkIDAsdGhpcy5fbWFuYWdlcj1uZXcgbC5PdmVybGFwTWFuYWdlcix0aGlzLl9ob3RrZXlzPW51bGwsCnRoaXMuX3Njcm9sbD0wLHRoaXMuX2hhbmRsZUNvbnRhaW5lclJlZj1lPT57dGhpcy5fY29udGFpbmVyUmVmPWUsdGhpcy5wcm9wcy5yZWZlcmVuY2UmJigiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5wcm9wcy5yZWZlcmVuY2UmJnRoaXMucHJvcHMucmVmZXJlbmNlKGUpLCJvYmplY3QiPT10eXBlb2YgdGhpcy5wcm9wcy5yZWZlcmVuY2UmJih0aGlzLnByb3BzLnJlZmVyZW5jZS5jdXJyZW50PWUpKX0sdGhpcy5faGFuZGxlU2Nyb2xsV3JhcFJlZj1lPT57dGhpcy5fc2Nyb2xsV3JhcFJlZj1lLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLnByb3BzLnNjcm9sbFdyYXBSZWZlcmVuY2UmJnRoaXMucHJvcHMuc2Nyb2xsV3JhcFJlZmVyZW5jZShlKSwib2JqZWN0Ij09dHlwZW9mIHRoaXMucHJvcHMuc2Nyb2xsV3JhcFJlZmVyZW5jZSYmKHRoaXMucHJvcHMuc2Nyb2xsV3JhcFJlZmVyZW5jZS5jdXJyZW50PWUpfSx0aGlzLl9oYW5kbGVDdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZT0oKT0+e3RoaXMuX3Jlc2l6ZUZvcmNlZCgpLHRoaXMuX2hhbmRsZU1lYXN1cmUoKX0sdGhpcy5faGFuZGxlTWVhc3VyZT0oe2NhbGxiYWNrOmUsZm9yY2VSZWNhbGNQb3NpdGlvbjp0fT17fSk9PntpZih0aGlzLnN0YXRlLmlzTWVhc3VyZVZhbGlkJiYhdClyZXR1cm47Y29uc3R7cG9zaXRpb246b309dGhpcy5wcm9wcyxuPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fY29udGFpbmVyUmVmKTtsZXQgcz1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2NvbnN0IGk9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxhPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCxsPXRoaXMucHJvcHMuY2xvc2VPblNjcm9sbE91dHNpZGVPZmZzZXQ/PzA7bGV0IGM9aS0wLWw7Y29uc3QgZD1zLmhlaWdodD5jO2lmKGQpeygwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fc2Nyb2xsV3JhcFJlZikuc3R5bGUub3ZlcmZsb3dZPSJzY3JvbGwiLHM9bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1jb25zdHt3aWR0aDpoLGhlaWdodDpwfT1zLG09ImZ1bmN0aW9uIj09dHlwZW9mIG8/byh7Y29udGVudFdpZHRoOmgsY29udGVudEhlaWdodDpwLGF2YWlsYWJsZVdpZHRoOmEsYXZhaWxhYmxlSGVpZ2h0Oml9KTpvLHY9bT8uaW5kZW50RnJvbVdpbmRvdz8ubGVmdD8/MCxmPWEtKG0ub3ZlcnJpZGVXaWR0aD8/aCktKG0/LmluZGVudEZyb21XaW5kb3c/LnJpZ2h0Pz8wKSxnPSgwLHUuY2xhbXApKG0ueCx2LE1hdGgubWF4KHYsZikpLGI9KG0/LmluZGVudEZyb21XaW5kb3c/LnRvcD8/MCkrbCx3PWktKG0ub3ZlcnJpZGVIZWlnaHQ/P3ApLShtPy5pbmRlbnRGcm9tV2luZG93Py5ib3R0b20/PzApO2xldCB5PSgwLHUuY2xhbXApKG0ueSxiLE1hdGgubWF4KGIsdykpO2lmKG0uZm9yYmlkQ29ycmVjdFlDb29yZCYmeTxtLnkmJihjLT1tLnkteSx5PW0ueSksdCYmdm9pZCAwIT09dGhpcy5wcm9wcy5jbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldCYmbS55PD10aGlzLnByb3BzLmNsb3NlT25TY3JvbGxPdXRzaWRlT2Zmc2V0KXJldHVybiB2b2lkIHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKCEwKTtjb25zdCBfPW0ub3ZlcnJpZGVIZWlnaHQ/PyhkP2M6dm9pZCAwKTt0aGlzLnNldFN0YXRlKHthcHBlYXJpbmdNZW51SGVpZ2h0OnQ/dGhpcy5zdGF0ZS5hcHBlYXJpbmdNZW51SGVpZ2h0Ol8sYXBwZWFyaW5nTWVudVdpZHRoOnQ/dGhpcy5zdGF0ZS5hcHBlYXJpbmdNZW51V2lkdGg6bS5vdmVycmlkZVdpZHRoLGFwcGVhcmluZ1Bvc2l0aW9uOnt4OmcseX0saXNNZWFzdXJlVmFsaWQ6ITB9LCgoKT0+e3RoaXMucHJvcHMuZG9Ob3RSZXN0b3JlUG9zaXRpb258fHRoaXMuX3Jlc3RvcmVTY3JvbGxQb3NpdGlvbigpLGUmJmUoKX0pKX0sdGhpcy5fcmVzdG9yZVNjcm9sbFBvc2l0aW9uPSgpPT57Y29uc3QgZT0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Njcm9sbFdyYXBSZWYpO2Uuc2Nyb2xsVG9wPXRoaXMuX3Njcm9sbDtjb25zdCB0PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsbz0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NvbnRhaW5lclJlZik7aWYodCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZvLmNvbnRhaW5zKHQpJiYhdGhpcy5faXNFbGVtZW50RnVsbHlWaXNpYmxlKHQsZSkpdHJ5e3Quc2Nyb2xsSW50b1ZpZXcoKX1jYXRjaChlKXt9fSx0aGlzLl9pc0VsZW1lbnRGdWxseVZpc2libGU9KGUsdCk9Pntjb25zdCBvPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBvLnRvcD49bi50b3AmJm8uYm90dG9tPD1uLmJvdHRvbX0sdGhpcy5fcmVzaXplRm9yY2VkPSgpPT57dGhpcy5zZXRTdGF0ZSh7YXBwZWFyaW5nTWVudUhlaWdodDp2b2lkIDAsYXBwZWFyaW5nTWVudVdpZHRoOnZvaWQgMCxhcHBlYXJpbmdQb3NpdGlvbjp2b2lkIDAsaXNNZWFzdXJlVmFsaWQ6dm9pZCAwfSl9LHRoaXMuX3Jlc2l6ZT0oKT0+e251bGw9PT10aGlzLl9yYWYmJih0aGlzLl9yYWY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuc2V0U3RhdGUoe2FwcGVhcmluZ01lbnVIZWlnaHQ6dm9pZCAwLGFwcGVhcmluZ01lbnVXaWR0aDp2b2lkIDAsYXBwZWFyaW5nUG9zaXRpb246dm9pZCAwLGlzTWVhc3VyZVZhbGlkOnZvaWQgMH0pLHRoaXMuX3JhZj1udWxsfSkpKX0sdGhpcy5faGFuZGxlR2xvYmFsQ2xvc2U9ZT0+e3RoaXMucHJvcHMub25DbG9zZShlKX0sdGhpcy5faGFuZGxlU2xvdD1lPT57dGhpcy5fbWFuYWdlci5zZXRDb250YWluZXIoZSl9LHRoaXMuX2hhbmRsZVNjcm9sbD0oKT0+e3RoaXMuX3Njcm9sbD0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Njcm9sbFdyYXBSZWYpLnNjcm9sbFRvcH0sdGhpcy5faGFuZGxlU2Nyb2xsT3V0c2lkZUVuZD0oKT0+e2NsZWFyVGltZW91dCh0aGlzLl9zY3JvbGxUaW1lb3V0KSx0aGlzLl9zY3JvbGxUaW1lb3V0PXNldFRpbWVvdXQoKCgpPT57dGhpcy5faGFuZGxlTWVhc3VyZSh7Zm9yY2VSZWNhbGNQb3NpdGlvbjohMH0pfSksODApfSx0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlPWU9PnsKZS50YXJnZXQhPT10aGlzLl9zY3JvbGxXcmFwUmVmJiYodGhpcy5faGFuZGxlU2Nyb2xsT3V0c2lkZUVuZCgpLG51bGw9PT10aGlzLl9zY3JvbGxSYWYmJih0aGlzLl9zY3JvbGxSYWY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuX2hhbmRsZU1lYXN1cmUoe2ZvcmNlUmVjYWxjUG9zaXRpb246ITB9KSx0aGlzLl9zY3JvbGxSYWY9bnVsbH0pKSkpfSx0aGlzLnN0YXRlPXt9fWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5faGFuZGxlTWVhc3VyZSh7Y2FsbGJhY2s6dGhpcy5wcm9wcy5vbk9wZW59KTtjb25zdHtjdXN0b21DbG9zZURlbGVnYXRlOmU9cC5nbG9iYWxDbG9zZURlbGVnYXRlLGN1c3RvbVJlbWVhc3VyZURlbGVnYXRlOnR9PXRoaXMucHJvcHM7ZS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZSksdD8uc3Vic2NyaWJlKG51bGwsdGhpcy5faGFuZGxlQ3VzdG9tUmVtZWFzdXJlRGVsZWdhdGUpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX3Jlc2l6ZSk7Y29uc3Qgbz1udWxsIT09dGhpcy5jb250ZXh0O3RoaXMuX2hvdGtleXN8fG98fCh0aGlzLl9ob3RrZXlzPWguY3JlYXRlR3JvdXAoe2Rlc2M6IlBvcHVwIG1lbnUifSksdGhpcy5faG90a2V5cy5hZGQoe2Rlc2M6IkNsb3NlIixob3RrZXk6MjcsaGFuZGxlcjooKT0+e3RoaXMucHJvcHMub25LZXlib2FyZENsb3NlJiZ0aGlzLnByb3BzLm9uS2V5Ym9hcmRDbG9zZSgpLHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKCl9fSkpLHRoaXMucHJvcHMucmVwb3NpdGlvbk9uU2Nyb2xsJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlLHtjYXB0dXJlOiEwfSl9Y29tcG9uZW50RGlkVXBkYXRlKCl7dGhpcy5faGFuZGxlTWVhc3VyZSgpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7Y3VzdG9tQ2xvc2VEZWxlZ2F0ZTplPXAuZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSxjdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZTp0fT10aGlzLnByb3BzO2UudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZSksdD8udW5zdWJzY3JpYmUobnVsbCx0aGlzLl9oYW5kbGVDdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fcmVzaXplKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlLHtjYXB0dXJlOiEwfSksdGhpcy5faG90a2V5cyYmKHRoaXMuX2hvdGtleXMuZGVzdHJveSgpLHRoaXMuX2hvdGtleXM9bnVsbCksbnVsbCE9PXRoaXMuX3JhZiYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3JhZiksdGhpcy5fcmFmPW51bGwpLG51bGwhPT10aGlzLl9zY3JvbGxSYWYmJihjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9zY3JvbGxSYWYpLHRoaXMuX3Njcm9sbFJhZj1udWxsKSx0aGlzLl9zY3JvbGxUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fc2Nyb2xsVGltZW91dCl9cmVuZGVyKCl7Y29uc3R7aWQ6ZSxyb2xlOnQsImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6cywiYXJpYS1hY3RpdmVkZXNjZW5kYW50IjpyLCJhcmlhLWhpZGRlbiI6bCwiYXJpYS1kZXNjcmliZWRieSI6dSwiYXJpYS1pbnZhbGlkIjpoLGNoaWxkcmVuOnAsbWluV2lkdGg6Zix0aGVtZTpnPXYsY2xhc3NOYW1lOmIsbWF4SGVpZ2h0Onksb25Nb3VzZU92ZXI6Xyxvbk1vdXNlT3V0Ongsb25LZXlEb3duOkUsb25Gb2N1czpDLG9uQmx1cjpTfT10aGlzLnByb3BzLHthcHBlYXJpbmdNZW51SGVpZ2h0Ok0sYXBwZWFyaW5nTWVudVdpZHRoOkEsYXBwZWFyaW5nUG9zaXRpb246ayxpc01lYXN1cmVWYWxpZDpOfT10aGlzLnN0YXRlLEQ9eyItLXVpLWtpdC1tZW51LW1heC13aWR0aCI6YCR7ayYmay54fXB4YCxtYXhXaWR0aDoiY2FsYygxMDB2dyAtIHZhcigtLXVpLWtpdC1tZW51LW1heC13aWR0aCkgLSA2cHgpIn07cmV0dXJuIG4uY3JlYXRlRWxlbWVudChtLk1lbnVDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0aGlzfSxuLmNyZWF0ZUVsZW1lbnQoYy5TdWJtZW51SGFuZGxlcixudWxsLG4uY3JlYXRlRWxlbWVudChhLlNsb3RDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0aGlzLl9tYW5hZ2VyfSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2lkOmUscm9sZTp0LCJhcmlhLWxhYmVsIjpvLCJhcmlhLWxhYmVsbGVkYnkiOnMsImFyaWEtYWN0aXZlZGVzY2VuZGFudCI6ciwiYXJpYS1oaWRkZW4iOmwsImFyaWEtZGVzY3JpYmVkYnkiOnUsImFyaWEtaW52YWxpZCI6aCxjbGFzc05hbWU6aSgpKGIsZy5tZW51V3JhcCwhTiYmZy5pc01lYXN1cmluZyksc3R5bGU6e2hlaWdodDpNLGxlZnQ6ayYmay54LG1pbldpZHRoOmYscG9zaXRpb246ImZpeGVkIix0b3A6ayYmay55LHdpZHRoOkEsLi4udGhpcy5wcm9wcy5saW1pdE1heFdpZHRoJiZEfSwiZGF0YS1uYW1lIjp0aGlzLnByb3BzWyJkYXRhLW5hbWUiXSwiZGF0YS1xYS1pZCI6dGhpcy5wcm9wcy5kYXRhUWFJZCwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOnRoaXMucHJvcHNbImRhdGEtdG9vbHRpcC1zaG93LW9uLWZvY3VzIl0scmVmOnRoaXMuX2hhbmRsZUNvbnRhaW5lclJlZixvblNjcm9sbENhcHR1cmU6dGhpcy5wcm9wcy5vblNjcm9sbCxvbkNvbnRleHRNZW51OmQucHJldmVudERlZmF1bHRGb3JDb250ZXh0TWVudSx0YWJJbmRleDp0aGlzLnByb3BzLnRhYkluZGV4LG9uTW91c2VPdmVyOl8sb25Nb3VzZU91dDp4LG9uS2V5RG93bjpFLG9uRm9jdXM6QyxvbkJsdXI6U30sbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKGcuc2Nyb2xsV3JhcCwhdGhpcy5wcm9wcy5ub01vbWVudHVtQmFzZWRTY3JvbGwmJmcubW9tZW50dW1CYXNlZCksc3R5bGU6e292ZXJmbG93WTp2b2lkIDAhPT1NPyJzY3JvbGwiOiJhdXRvIixtYXhIZWlnaHQ6eX0sb25TY3JvbGxDYXB0dXJlOnRoaXMuX2hhbmRsZVNjcm9sbCxyZWY6dGhpcy5faGFuZGxlU2Nyb2xsV3JhcFJlZn0sbi5jcmVhdGVFbGVtZW50KHcse2NsYXNzTmFtZTpnLm1lbnVCb3h9LHApKSkpLG4uY3JlYXRlRWxlbWVudChhLlNsb3QsewpyZWZlcmVuY2U6dGhpcy5faGFuZGxlU2xvdH0pKSl9dXBkYXRlKGUpe2U/dGhpcy5fcmVzaXplRm9yY2VkKCk6dGhpcy5fcmVzaXplKCl9Zm9jdXMoZSl7dGhpcy5fY29udGFpbmVyUmVmPy5mb2N1cyhlKX1ibHVyKCl7dGhpcy5fY29udGFpbmVyUmVmPy5ibHVyKCl9fWZ1bmN0aW9uIHcoZSl7Y29uc3QgdD0oMCxyLmVuc3VyZU5vdE51bGwpKCgwLG4udXNlQ29udGV4dCkoYy5TdWJtZW51Q29udGV4dCkpLG89bi51c2VSZWYobnVsbCk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOm8sY2xhc3NOYW1lOmUuY2xhc3NOYW1lLG9uTW91c2VPdmVyOmZ1bmN0aW9uKGUpe2lmKCEobnVsbCE9PXQuY3VycmVudCYmZS50YXJnZXQgaW5zdGFuY2VvZiBOb2RlJiYobj1lLnRhcmdldCxvLmN1cnJlbnQ/LmNvbnRhaW5zKG4pKSkpcmV0dXJuO3ZhciBuO3QuaXNTdWJtZW51Tm9kZShlLnRhcmdldCl8fHQuc2V0Q3VycmVudChudWxsKX0sImRhdGEtcWEtaWQiOiJtZW51LWlubmVyIn0sZS5jaGlsZHJlbil9Yi5jb250ZXh0VHlwZT1jLlN1Ym1lbnVDb250ZXh0fSwxNTM3MzQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7REVGQVVMVF9QT1BVUF9NRU5VX0lURU1fVEhFTUU6KCk9PnUsUG9wdXBNZW51SXRlbTooKT0+aH0pO3ZhciBuPW8oNzc5NDc0KSxzPW8oOTE0NDg3KSxpPW8ubihzKSxyPW8oMzg3Nzc0KSxhPW8oODQ4OTg4KSxsPW8oMjc2MDE5KSxjPW8oNDcwMjk1KTtjb25zdCB1PWM7ZnVuY3Rpb24gZChlKXtlLnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGgoZSl7Y29uc3R7aWQ6dCxyb2xlOm8sY2xhc3NOYW1lOnMsdGl0bGU6dSxsYWJlbFJvd0NsYXNzTmFtZTpoLGxhYmVsQ2xhc3NOYW1lOnAsdG9vbGJveENsYXNzTmFtZTptLHNob3J0Y3V0OnYsZm9yY2VTaG93U2hvcnRjdXRzOmYsaWNvbjpnLGljb25DbGFzc25hbWU6Yixpc0FjdGl2ZTp3LGlzRGlzYWJsZWQ6eSxpc0hvdmVyZWQ6XyxhcHBlYXJBc0Rpc2FibGVkOngsbGFiZWw6RSxsaW5rOkMsc2hvd1Rvb2xib3hPbkhvdmVyOlMsc2hvd1Rvb2xib3hPbkZvY3VzOk0sdGFyZ2V0OkEscmVsOmssdG9vbGJveDpOLHRvb2xib3hSb2xlOkQscmVmZXJlbmNlOk8sb25Nb3VzZU91dDpQLG9uTW91c2VPdmVyOkwsb25LZXlEb3duOkIsc3VwcHJlc3NUb29sYm94Q2xpY2s6VD0hMCx0aGVtZTpSPWMsdGFiSW5kZXg6eix0YWdOYW1lOkYscmVuZGVyQ29tcG9uZW50Okkscm91bmRlZEljb246VyxpY29uQXJpYVByb3BzOkgsY2lyY2xlTG9nbzpWLGRvbnRDbG9zZVBvcHVwOlEsb25DbGljazpVLG9uQ2xpY2tBcmc6WixvbkNvbnRleHRNZW51OnEsb25Nb3VzZVVwOkcsc3RhcnRTbG90OkssZGF0YVFhSWQ6JCwuLi5qfT1lLFk9KDAsbi51c2VSZWYpKG51bGwpLFg9KDAsbi51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQodCl7Y29uc3R7cmVmZXJlbmNlOm8sLi4uc309dCxpPWU/PyhzLmhyZWY/ImEiOiJkaXYiKSxyPSJhIj09PWk/czpmdW5jdGlvbihlKXtjb25zdHtkb3dubG9hZDp0LGhyZWY6byxocmVmTGFuZzpuLG1lZGlhOnMscGluZzppLHJlbDpyLHRhcmdldDphLHR5cGU6bCxyZWZlcnJlclBvbGljeTpjLC4uLnV9PWU7cmV0dXJuIHV9KHMpO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoaSx7Li4ucixyZWY6b30pfXJldHVybiB0LmRpc3BsYXlOYW1lPWBEZWZhdWx0Q29tcG9uZW50KCR7ZX0pYCx0fShGKSksW0ZdKSxKPUk/P1g7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChKLHsuLi5qLGlkOnQscm9sZTpvLGNsYXNzTmFtZTppKCkocyxSLml0ZW0sZyYmUi53aXRoSWNvbix7W1IuaXNBY3RpdmVdOncsW1IuaXNEaXNhYmxlZF06eXx8eCxbUi5ob3ZlcmVkXTpffSksdGl0bGU6dSxocmVmOkMsdGFyZ2V0OkEscmVsOmsscmVmZXJlbmNlOmZ1bmN0aW9uKGUpe1kuY3VycmVudD1lLCJmdW5jdGlvbiI9PXR5cGVvZiBPJiZPKGUpOyJvYmplY3QiPT10eXBlb2YgTyYmKE8uY3VycmVudD1lKX0sb25DbGljazpmdW5jdGlvbihlKXtpZih5KXJldHVybjtVJiZVKFosZSk7UXx8KGUuY3VycmVudFRhcmdldC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicG9wdXAtbWVudS1jbG9zZS1ldmVudCIse2J1YmJsZXM6ITAsZGV0YWlsOntjbGlja1R5cGU6KDAsYS5pc0tleWJvYXJkQ2xpY2spKGUpPyJrZXlib2FyZCI6Im1vdXNlIn19KSksKDAsbC5nbG9iYWxDbG9zZU1lbnUpKCkpfSxvbkNvbnRleHRNZW51OnEsb25Nb3VzZVVwOkcsb25Nb3VzZU92ZXI6TCxvbk1vdXNlT3V0OlAsb25LZXlEb3duOkIsdGFiSW5kZXg6eiwiZGF0YS1xYS1pZCI6JH0sViYmbi5jcmVhdGVFbGVtZW50KHIuQ2lyY2xlTG9nbyx7Li4uSCxjbGFzc05hbWU6Y1siZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvIl0sc2l6ZToieHh4c21hbGwiLGxvZ29Vcmw6Vi5sb2dvVXJsLHBsYWNlaG9sZGVyTGV0dGVyOiJwbGFjZWhvbGRlckxldHRlciJpbiBWP1YucGxhY2Vob2xkZXJMZXR0ZXI6dm9pZCAwfSksSyYmbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOlIuc3RhcnRTbG90fSxLKSxnJiZuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsiYXJpYS1sYWJlbCI6SCYmSFsiYXJpYS1sYWJlbCJdLCJhcmlhLWhpZGRlbiI6SCYmQm9vbGVhbihIWyJhcmlhLWhpZGRlbiJdKSxjbGFzc05hbWU6aSgpKFIuaWNvbixXJiZjWyJyb3VuZC1pY29uIl0sYiksZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpnfX0pLG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTppKCkoUi5sYWJlbFJvdyxoKX0sbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmkoKShSLmxhYmVsLHApfSxFKSksKHZvaWQgMCE9PXZ8fGYpJiZuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6Ui5zaG9ydGN1dH0sKGVlPXYpJiZlZS5zcGxpdCgiKyIpLmpvaW4oIiArICIpKSx2b2lkIDAhPT1OJiZuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOkQsb25DbGljazpUP2Q6dm9pZCAwLGNsYXNzTmFtZTppKCkobSxSLnRvb2xib3gse1tSLnNob3dPbkhvdmVyXTpTLFtSLnNob3dPbkZvY3VzXTpNfSl9LE4pKTt2YXIgZWV9fSw2MzI5OTIoZSx0LG8peyJ1c2Ugc3RyaWN0Igo7by5kKHQse0Nsb3NlRGVsZWdhdGVDb250ZXh0OigpPT5pfSk7dmFyIG49byg3Nzk0NzQpLHM9bygyNzYwMTkpO2NvbnN0IGk9bi5jcmVhdGVDb250ZXh0KHMuZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSl9LDgzNTk2NChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtQb3B1cE1lbnU6KCk9Pmh9KTt2YXIgbj1vKDc3OTQ3NCkscz1vKDEyOTM2NSksaT1vKDkyODEzMikscj1vKDU4NTQ4KSxhPW8oMjM2NzY1KSxsPW8oMjI3OTQ5KSxjPW8oMTQ1MTUwKSx1PW8oNjMyOTkyKSxkPW8oMzAxOTM3KTtmdW5jdGlvbiBoKGUpe2NvbnN0e2NvbnRyb2xsZXI6dCxjaGlsZHJlbjpvLGlzT3BlbmVkOmgsY2xvc2VPbkNsaWNrT3V0c2lkZTpwPSEwLGRvTm90Q2xvc2VPbjptLG9uQ2xpY2tPdXRzaWRlOnYsb25DbG9zZTpmLG9uS2V5Ym9hcmRDbG9zZTpnLGRhdGFRYUlkOmI9InBvcHVwLW1lbnUtY29udGFpbmVyIixjbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldDp3LC4uLnl9PWUsXz0oMCxuLnVzZUNvbnRleHQpKHUuQ2xvc2VEZWxlZ2F0ZUNvbnRleHQpLHg9bi51c2VDb250ZXh0KGwuTWVudVdpZHRoQ29udGV4dCksRT0oMCxuLnVzZUNvbnRleHQpKGQuUmVtZWFzdXJlRGVsZWdhdGVDb250ZXh0KSxDPSgwLGEudXNlT3V0c2lkZUV2ZW50KSh7aGFuZGxlcjpmdW5jdGlvbihlKXt2JiZ2KGUpO2lmKCFwKXJldHVybjtjb25zdCB0PSgwLGkuZGVmYXVsdCkobSk/bSgpOm51bGw9PW0/W106W21dO2lmKHQubGVuZ3RoPjAmJmUudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSlmb3IoY29uc3QgbyBvZiB0KXtjb25zdCB0PXMuZmluZERPTU5vZGUobyk7aWYodCBpbnN0YW5jZW9mIE5vZGUmJnQuY29udGFpbnMoZS50YXJnZXQpKXJldHVybn1mKCl9LG1vdXNlRG93bjohMCx0b3VjaFN0YXJ0OiEwfSk7cmV0dXJuIGg/bi5jcmVhdGVFbGVtZW50KHIuUG9ydGFsLHt0b3A6IjAiLGxlZnQ6IjAiLHJpZ2h0OiIwIixib3R0b206IjAiLHBvaW50ZXJFdmVudHM6Im5vbmUifSxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyZWY6QyxzdHlsZTp7cG9pbnRlckV2ZW50czoiYXV0byJ9fSxuLmNyZWF0ZUVsZW1lbnQoYy5NZW51LHsuLi55LG9uQ2xvc2U6ZixvbktleWJvYXJkQ2xvc2U6ZyxvblNjcm9sbDpmdW5jdGlvbih0KXtjb25zdHtvblNjcm9sbDpvfT1lO28mJm8odCl9LGN1c3RvbUNsb3NlRGVsZWdhdGU6XyxjdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZTpFLHJlZjp0LGRhdGFRYUlkOmIsbGltaXRNYXhXaWR0aDp4LnNldE1lbnVNYXhXaWR0aCwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOiJ0cnVlIixjbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldDp3fSxvKSkpOm51bGx9fSwzMDE5MzcoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7UmVtZWFzdXJlRGVsZWdhdGVDb250ZXh0OigpPT5ufSk7Y29uc3Qgbj1vKDc3OTQ3NCkuY3JlYXRlQ29udGV4dCh2b2lkIDApfSwxOTkxNzIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7VG9vbFdpZGdldE1lbnVTdW1tYXJ5OigpPT5hfSk7dmFyIG49byg3Nzk0NzQpLHM9byg5MTQ0ODcpLGk9by5uKHMpLHI9byg3NjEwOTMpO2Z1bmN0aW9uIGEoZSl7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShlLmNsYXNzTmFtZSxyLnRpdGxlKX0sZS5jaGlsZHJlbil9fSw1NTgwMzAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7VG91Y2hTY3JvbGxDb250YWluZXI6KCk9PmN9KTt2YXIgbj1vKDc3OTQ3NCkscz1vKDg1MzMzNiksaT1vKDEzODYzOCkscj1vKDczODQ1OCk7Y29uc3QgYT1DU1Muc3VwcG9ydHMoIm92ZXJzY3JvbGwtYmVoYXZpb3IiLCJub25lIik7bGV0IGw9MDtjb25zdCBjPSgwLG4uZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7Y2hpbGRyZW46bywuLi5pfT1lLGM9KDAsbi51c2VSZWYpKG51bGwpO3JldHVybigwLG4udXNlSW1wZXJhdGl2ZUhhbmRsZSkodCwoKCk9PmMuY3VycmVudCkpLCgwLG4udXNlTGF5b3V0RWZmZWN0KSgoKCk9PntpZihyLmlzSU9TKXJldHVybiBsKyssbnVsbCE9PWMuY3VycmVudCYmKGE/MT09PWwmJihkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0ibm9uZSIpOigwLHMuZGlzYWJsZUJvZHlTY3JvbGwpKGMuY3VycmVudCx7YWxsb3dUb3VjaE1vdmU6dShjKX0pKSwoKT0+e2wtLSxudWxsIT09Yy5jdXJyZW50JiYoYT8wPT09bCYmKGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcnNjcm9sbEJlaGF2aW9yPSIiKTooMCxzLmVuYWJsZUJvZHlTY3JvbGwpKGMuY3VycmVudCkpfX0pLFtdKSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpjLC4uLml9LG8pfSkpO2Z1bmN0aW9uIHUoZSl7cmV0dXJuIHQ9Pntjb25zdCBvPSgwLGkuZW5zdXJlTm90TnVsbCkoZS5jdXJyZW50KSxuPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7cmV0dXJuIW8uY29udGFpbnModCl8fG51bGwhPT1uJiZvLmNvbnRhaW5zKG4pJiZuLmNvbnRhaW5zKHQpfX19LDM4NzIzMShlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSx0LG89e30pe3JldHVybiBPYmplY3QuYXNzaWduKHt9LGUsZnVuY3Rpb24oZSx0LG89e30pe2NvbnN0IG49T2JqZWN0LmFzc2lnbih7fSx0KTtmb3IoY29uc3QgcyBvZiBPYmplY3Qua2V5cyh0KSl7Y29uc3QgaT1vW3NdfHxzO2kgaW4gZSYmKG5bc109W2VbaV0sdFtzXV0uam9pbigiICIpKX1yZXR1cm4gbn0oZSx0LG8pKX1vLmQodCx7bWVyZ2VUaGVtZXM6KCk9Pm59KX0sNTkwNDg2KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0JhZGdlOigpPT5jfSk7dmFyIG49byg3Nzk0NzQpLHM9byg5MTQ0ODcpLGk9by5uKHMpLHI9byg5Nzc3NyksYT1vLm4ocik7ZnVuY3Rpb24gbCh7aHJlZjplLG9uQ2xpY2s6dCxyZWZlcmVuY2U6bywuLi5zfSl7cmV0dXJuIGU/bi5jcmVhdGVFbGVtZW50KCJhIix7aHJlZjplLG9uQ2xpY2s6dCx0YXJnZXQ6Il9ibGFuayIscmVmOm8sLi4uc30pOnQ/bi5jcmVhdGVFbGVtZW50KCJidXR0b24iLHtvbkNsaWNrOnQscmVmOm8sLi4uc30pOm4uY3JlYXRlRWxlbWVudCgic3BhbiIse3JlZjpvLC4uLnN9KX0KZnVuY3Rpb24gYyh7Y2xhc3NOYW1lOmUsc2l6ZTp0LGxlZnRTbG90Om8scmlnaHRTbG90OnMsY2hpbGRyZW46ciwuLi5jfSl7Y29uc3QgdT1pKCkoZSxhKCkuYmFkZ2UsdCYmYSgpW3RdLHImJmEoKS5oYXNDaGlsZHJlbik7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChsLHtjbGFzc05hbWU6dSwuLi5jfSxvJiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkuc2xvdH0sbyksciYmbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEoKS5jb250ZW50fSxyKSxzJiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkuc2xvdH0scykpfX0sOTAwODQxKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQsbyxuLHMpe2Z1bmN0aW9uIGkocyl7aWYoZT5zLnRpbWVTdGFtcClyZXR1cm47Y29uc3QgaT1zLnRhcmdldDt2b2lkIDAhPT1vJiZudWxsIT09dCYmbnVsbCE9PWkmJmkub3duZXJEb2N1bWVudD09PW4mJih0LmNvbnRhaW5zKGkpfHxvKHMpKX1yZXR1cm4gcy5jbGljayYmbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsaSwhMSkscy5tb3VzZURvd24mJm4uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixpLCExKSxzLnRvdWNoRW5kJiZuLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixpLCExKSxzLnRvdWNoU3RhcnQmJm4uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsaSwhMSksKCk9PntuLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIixpLCExKSxuLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsaSwhMSksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsaSwhMSksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixpLCExKX19by5kKHQse2FkZE91dHNpZGVFdmVudExpc3RlbmVyOigpPT5ufSl9LDIzNjc2NShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt1c2VPdXRzaWRlRXZlbnQ6KCk9PnJ9KTt2YXIgbj1vKDc3OTQ3NCkscz1vKDYxNjMxMSksaT1vKDkwMDg0MSk7ZnVuY3Rpb24gcihlKXtjb25zdHtjbGljazp0LG1vdXNlRG93bjpvLHRvdWNoRW5kOnIsdG91Y2hTdGFydDphLGhhbmRsZXI6bCxyZWZlcmVuY2U6Y309ZSx1PSgwLG4udXNlUmVmKShudWxsKSxkPSgwLG4udXNlUmVmKSgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz8wOm5ldyB3aW5kb3cuQ3VzdG9tRXZlbnQoInRpbWVzdGFtcCIpLnRpbWVTdGFtcCk7cmV0dXJuKDAscy51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pntjb25zdCBlPXtjbGljazp0LG1vdXNlRG93bjpvLHRvdWNoRW5kOnIsdG91Y2hTdGFydDphfSxuPWM/Yy5jdXJyZW50OnUuY3VycmVudDtyZXR1cm4oMCxpLmFkZE91dHNpZGVFdmVudExpc3RlbmVyKShkLmN1cnJlbnQsbixsLGRvY3VtZW50LGUpfSksW3QsbyxyLGEsbF0pLGN8fHV9fSwyOTAyNDMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7dXNlU2FmZU1vYmlsZVRvdWNoOigpPT5pfSk7dmFyIG49byg3Nzk0NzQpLHM9byg3Mzg0NTgpO2Z1bmN0aW9uIGkoKXtjb25zdFtlLHRdPSgwLG4udXNlU3RhdGUpKCExKTtyZXR1cm4oMCxuLnVzZUVmZmVjdCkoKCgpPT57dChzLm1vYmlsZXRvdWNoKX0pLFtdKSxlfX0sMTE5NzUwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0ljb25RdWVzdGlvbkluZm9ybWF0aW9uOigpPT5DLEljb25RdWVzdGlvbkluZm9ybWF0aW9uQnV0dG9uOigpPT5TfSk7dmFyIG4scz1vKDc3OTQ3NCksaT1vKDkxNDQ4Nykscj1vLm4oaSksYT1vKDM0NTExNiksbD1vKDI3MzMxMCksYz1vKDc4NTk5NSksdT1vLm4oYyksZD1vKDUyNzIxOSksaD1vLm4oZCkscD1vKDY3MzA2NSksbT1vLm4ocCksdj1vKDQwMDA0NiksZj1vLm4odiksZz1vKDk5NDUpLGI9by5uKGcpOyFmdW5jdGlvbihlKXtlLlNtYWxsPSJzbWFsbCIsZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UifShufHwobj17fSkpO2NvbnN0IHc9InNtYWxsIjt2YXIgeSxfOyFmdW5jdGlvbihlKXtlLkRlZmF1bHQ9ImRlZmF1bHQiLGUuRGFuZ2VyPSJkYW5nZXIiLGUuV2FybmluZz0id2FybmluZyIsZS5TdWNjZXNzPSJzdWNjZXNzIixlLk5ldXRyYWw9Im5ldXRyYWwiLGUuTmV1dHJhbExpZ2h0PSJuZXV0cmFsLWxpZ2h0In0oeXx8KHk9e30pKSxmdW5jdGlvbihlKXtlLkluZm89ImluZm8iLGUuUXVlc3Rpb249InF1ZXN0aW9uIixlLkNoZWNrPSJjaGVjayIsZS5FeGNsYW1hdGlvbj0iZXhjbGFtYXRpb24ifShffHwoXz17fSkpO2NvbnN0IHg9e2luZm86aCgpLHF1ZXN0aW9uOnUoKSxjaGVjazptKCksZXhjbGFtYXRpb246ZigpfSxFPXMuZm9yd2FyZFJlZigoKGUsdCk9PnMuY3JlYXRlRWxlbWVudCgic3BhbiIsey4uLmUscmVmOnQsY2xhc3NOYW1lOnIoKShlLmNsYXNzTmFtZSxiKClbIm5vLWFjdGl2ZS1zdGF0ZSJdKX0pKSksQz1zLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjpvPSJleGNsYW1hdGlvbiIsaW50ZW50Om49ImRlZmF1bHQiLGFyaWFMYWJlbDppLHRvb2x0aXA6YyxjbGFzc05hbWU6dSxyZW5kZXJDb21wb25lbnQ6ZD1FLHRhYkluZGV4Omg9MCxzaXplOnA9dyxvbkZvY3VzOm0sb25CbHVyOnYsb25DbGljazpmLC4uLmd9PWUseT14W29dPz9vO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoZCx7Y2xhc3NOYW1lOnIoKSh1LGIoKS5pY29uV3JhcHBlcixiKClbbl0sYigpW3BdKSx0aXRsZTpjLHJlZjp0LHRhYkluZGV4Omgsb25Gb2N1czptLG9uQmx1cjp2LG9uQ2xpY2s6ZiwuLi4oMCxhLmZpbHRlckRhdGFQcm9wcykoZyl9LHMuY3JlYXRlRWxlbWVudChsLkljb24seyJhcmlhLWhpZGRlbiI6IWksImFyaWEtbGFiZWwiOmksaWNvbjp5LGNsYXNzTmFtZTpiKCkuaWNvbn0pKX0pKTtmdW5jdGlvbiBTKGUpe2NvbnN0e2ljb246dD0iZXhjbGFtYXRpb24iLGludGVudDpvPSJkZWZhdWx0IixzaXplOm49dyxvbkNsaWNrOmksb25Nb3VzZUVudGVyOmEsb25Nb3VzZUxlYXZlOmMsb25Gb2N1czp1LG9uQmx1cjpkLHJlZmVyZW5jZTpoLGFyaWFMYWJlbDpwfT1lLG09eFt0XT8/dDtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJidXR0b24iLHtjbGFzc05hbWU6cigpKGIoKS5pY29uV3JhcHBlcixiKClbb10sYigpW25dKSwKcmVmOmgsb25DbGljazppLG9uTW91c2VFbnRlcjphLG9uTW91c2VMZWF2ZTpjLG9uRm9jdXM6dSxvbkJsdXI6ZCwiYXJpYS1sYWJlbCI6cH0scy5jcmVhdGVFbGVtZW50KGwuSWNvbix7aWNvbjptLGNsYXNzTmFtZTpiKCkuaWNvbn0pKX19LDg2NTA5MihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt1c2VUb29sdGlwOigpPT5yfSk7dmFyIG49byg3Nzk0NzQpLHM9bygyOTAyNDMpLGk9byg3ODc4OTUpO2Z1bmN0aW9uIHIoZSx0PW51bGwpe2NvbnN0e3Nob3dUb29sdGlwOm8saGlkZVRvb2x0aXA6cixvbkNsaWNrOmEsZG9Ob3RTaG93VG9vbHRpcE9uVG91Y2g6bD0hMX09ZSxjPSgwLGkudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkodCksdT0oMCxzLnVzZVNhZmVNb2JpbGVUb3VjaCkoKSxkPXUmJmw/dm9pZCAwOmUudG9vbHRpcDsoMCxuLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT0oKT0+ciYmcigpO3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUsITApLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUsITApfSksW2Mscl0pO3JldHVybntvbkJsdXI6KDAsbi51c2VDYWxsYmFjaykoKGU9PntyJiZyKCl9KSxbcl0pLG9uRm9jdXM6KDAsbi51c2VDYWxsYmFjaykoKGU9PnshZS50YXJnZXQubWF0Y2hlcygiOmhvdmVyIikmJm8mJmUudGFyZ2V0Lm1hdGNoZXMoIjpmb2N1cy12aXNpYmxlIikmJm8oZS5jdXJyZW50VGFyZ2V0LHt0b29sdGlwRGVsYXk6MjAwfSl9KSxbb10pLG9uQ2xpY2s6KDAsbi51c2VDYWxsYmFjaykoKGU9Pnt1JiZjPy5jdXJyZW50Py5mb2N1cygpLGEmJmEoZSl9KSxbYSxjLHVdKSx0b29sdGlwOmQsY2xhc3NOYW1lOnZvaWQgMCE9PWQ/ImFwcGx5LWNvbW1vbi10b29sdGlwIjp2b2lkIDAscmVmOmN9fX0sMjI3OTQ5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse01lbnVXaWR0aENvbnRleHQ6KCk9Pm59KTtjb25zdCBuPW8oNzc5NDc0KS5jcmVhdGVDb250ZXh0KHtzZXRNZW51TWF4V2lkdGg6ITF9KX0sODkxMjA5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1N1Ym1lbnVDb250ZXh0OigpPT5zLFN1Ym1lbnVIYW5kbGVyOigpPT5pfSk7dmFyIG49byg3Nzk0NzQpO2NvbnN0IHM9bi5jcmVhdGVDb250ZXh0KG51bGwpO2Z1bmN0aW9uIGkoZSl7Y29uc3RbdCxvXT0oMCxuLnVzZVN0YXRlKShudWxsKSxpPSgwLG4udXNlUmVmKShudWxsKSxyPSgwLG4udXNlUmVmKShuZXcgTWFwKTtyZXR1cm4oMCxuLnVzZUVmZmVjdCkoKCgpPT4oKT0+e251bGwhPT1pLmN1cnJlbnQmJmNsZWFyVGltZW91dChpLmN1cnJlbnQpfSksW10pLG4uY3JlYXRlRWxlbWVudChzLlByb3ZpZGVyLHt2YWx1ZTp7Y3VycmVudDp0LHNldEN1cnJlbnQ6ZnVuY3Rpb24oZSl7bnVsbCE9PWkuY3VycmVudCYmKGNsZWFyVGltZW91dChpLmN1cnJlbnQpLGkuY3VycmVudD1udWxsKTtudWxsPT09dD9vKGUpOmkuY3VycmVudD1zZXRUaW1lb3V0KCgoKT0+e2kuY3VycmVudD1udWxsLG8oZSl9KSwxMDApfSxyZWdpc3RlclN1Ym1lbnU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gci5jdXJyZW50LnNldChlLHQpLCgpPT57ci5jdXJyZW50LmRlbGV0ZShlKX19LGlzU3VibWVudU5vZGU6ZnVuY3Rpb24oZSl7cmV0dXJuIEFycmF5LmZyb20oci5jdXJyZW50LnZhbHVlcygpKS5zb21lKCh0PT50KGUpKSl9fX0sZS5jaGlsZHJlbil9fSwxNDc5MDEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7VUlfTElCX0RBVEFfUUFfSURfUFJFRklYOigpPT5yLGNvbmNhdElmTm90TnVsbDooKT0+aSxkYXRhUWFJZHM6KCk9PnN9KTt2YXIgbj1vKDU2NTc0NSk7ZnVuY3Rpb24gcyhlLHQpe3JldHVybltlLHRdLmZpbHRlcihuLmlzRXhpc3RlbnQpLmpvaW4oIiAiKX1mdW5jdGlvbiBpKGUsdCl7aWYoKDAsbi5pc0V4aXN0ZW50KSh0KSlyZXR1cm5bZSx0XS5qb2luKCIgIil9Y29uc3Qgcj0idWktbGliLSJ9LDIzMTMzMChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtpc05ld3NBbGxvd2VkOigpPT5pLGlzTmV3c1N0cmVhbWluZ0VuYWJsZWQ6KCk9PnJ9KTt2YXIgbj1vKDkzMDIzMSkscz1vKDU2OTM5OCk7Y29uc3QgaT0hKDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iikscj0oMCxzLmlzRmVhdHVyZUVuYWJsZWQpKCJuZXdzX2VuYWJsZV9zdHJlYW1pbmciKSYmKDAscy5pc0ZlYXR1cmVFbmFibGVkKSgiZW5hYmxlX2RldGFpbHNfbmV3c19zdHJlYW1pbmciKX0sMjU4NDkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7dXNlRGlhbG9nQWN0aW9uczooKT0+X30pO3ZhciBuPW8oNzc5NDc0KSxzPW8oNTUxNzkpLGk9byg5MjgwMDIpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdFtvLHNdPSgwLG4udXNlU3RhdGUpKCgoKT0+ZT8uaXNEaXNhYmxlZCgpPz8hMCkpO3JldHVybigwLG4udXNlRWZmZWN0KSgoKCk9PntpZighZSlyZXR1cm4gdm9pZCBzKCEwKTtjb25zdCB0PSgpPT5zKGUuaXNEaXNhYmxlZCgpKTtyZXR1cm4gZS5vblVwZGF0ZSgpLnN1YnNjcmliZShudWxsLHQpLCgpPT57ZS5vblVwZGF0ZSgpLnVuc3Vic2NyaWJlKG51bGwsdCl9fSksW2VdKSwoMCxuLnVzZUVmZmVjdCkoKCgpPT57ZSYmZS51cGRhdGVFeGVjdXRlKHQpfSksW3QsZV0pLG99dmFyIGE9byg2ODA5MzMpLGw9byg1NTI2OTUpLGM9byg4NjIwODApLHU9byg2MzA3ODcpLGQ9byg4OTIxMzMpLGg9byg0ODQ0NCkscD1vKDcwNzcxNiksbT1vKDE4NTI3MSksdj1vKDU4MzAzOCksZj1vKDc2Mjg1MSksZz1vKDkxNzk4NiksYj1vKDE3MDQ0KSx3PW8oODkwODM1KTtjbGFzcyB5IGV4dGVuZHMgZy5EaWFsb2dBY3Rpb257Y29uc3RydWN0b3IoZSl7Y29uc3QgdD0oMCxiLmFjdGl2ZVByb1N5bWJvbFF1b3Rlc1Byb3ZpZGVyKSgpLnJlcXVlc3RlZFN5bWJvbCgpLG49dD8oMCx2LnNwbGl0U3ltYm9sTmFtZSkodClbMV06IiI7c3VwZXIoe2xhYmVsOigwLGYuYXBwZW5kRWxsaXBzaXMpKG0udChudWxsLHtyZXBsYWNlOntzeW1ib2w6bn0sY29udGV4dDoiQ29tbXVuaXR5IHBvc3RzIGRpYWxvZyJ9LG8oOTk0MDE2KSkpLGlkOiJDb21tdW5pdHkgRGlhbG9nIixpY29uOm8oODQ0NjQxKSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIiwKZGlzYWJsZWQ6ITB9KSx0aGlzLl9vdmVydmlld09wdGlvbnM9ZTtjb25zdCBzPSgwLGIuYWN0aXZlUHJvU3ltYm9sUXVvdGVzUHJvdmlkZXIpKCkucXVvdGVzKCk7dGhpcy51cGRhdGUoe2Rpc2FibGVkOnRoaXMuX2lzRGlzYWJsZWQocyl9KSx0aGlzLnVwZGF0ZUV4ZWN1dGUoKX11cGRhdGVFeGVjdXRlKGUpe3RoaXMudXBkYXRlKHtvbkV4ZWN1dGU6KCk9Pnt2YXIgdDtlP3dpbmRvdy5sb2NhdGlvbi5hc3NpZ24oZSk6KHQ9dGhpcy5fb3ZlcnZpZXdPcHRpb25zLHcuY3VycmVudExheW91dC52YWx1ZSgpPy5zaG93QW5hbHlzaXNWaWV3KCJjb21tdW5pdHkiLHQpKX19KX1zdGF0aWMgY3JlYXRlQWN0aW9uKGUpe3JldHVybiBuZXcgeShlKX1faXNEaXNhYmxlZChlKXtyZXR1cm4hKGUmJiJvayI9PT1lLnN0YXR1cyl9fWZ1bmN0aW9uIF8oZT17fSl7Y29uc3R7c2Vhc29uYWxzTGluazp0LGZvcmVjYXN0TGluazpvLG9wdGlvbnNMaW5rOm0sZWNvbm9teUluZGljYXRvcnNMaW5rOnYsc3RvY2tCb25kc0xpbms6ZixuZXdzTGluazpnLGNvbW11bml0eUxpbms6Yixjb21tdW5pdHlPdmVydmlld09wdGlvbnM6d309ZSxfPSgwLG4udXNlTWVtbykoKCgpPT5sLlNlYXNvbmFsc0FjdGlvbi5jcmVhdGVBY3Rpb24oKSksW10pO3IoXyx0KTtjb25zdCB4PSgwLG4udXNlTWVtbykoKCgpPT5jLkFuYWx5c2lzQWN0aW9uLmNyZWF0ZUFjdGlvbigpKSxbXSk7cih4KTtjb25zdCBFPSgwLG4udXNlTWVtbykoKCgpPT5zLkZvcmVjYXN0QWN0aW9uLmNyZWF0ZUFjdGlvbigpKSxbXSk7cihFLG8pO2NvbnN0IEM9KDAsbi51c2VNZW1vKSgoKCk9PmEuT3B0aW9uc0FjdGlvbi5jcmVhdGVBY3Rpb24oKSksW10pO3IoQyxtKTtjb25zdCBTPSgwLG4udXNlTWVtbykoKCgpPT5pLkVjb25vbXlJbmRpY2F0b3JzQWN0aW9uLmNyZWF0ZUFjdGlvbigpKSxbXSk7cihTLHYpO2NvbnN0IE09KDAsbi51c2VNZW1vKSgoKCk9PnUuU3RvY2tCb25kc0FjdGlvbi5jcmVhdGVBY3Rpb24oKSksW10pO3IoTSxmKTtjb25zdCBBPSgwLG4udXNlTWVtbykoKCgpPT5kLkRvY3VtZW50c0FjdGlvbi5jcmVhdGVBY3Rpb24oKSksW10pO3IoQSk7Y29uc3Qgaz0oMCxuLnVzZU1lbW8pKCgoKT0+cC5OZXdzQWN0aW9uLmNyZWF0ZUFjdGlvbigpKSxbXSk7cihrLGcpO2NvbnN0IE49KDAsbi51c2VNZW1vKSgoKCk9PmguRXRmc0FjdGlvbi5jcmVhdGVBY3Rpb24oKSksW10pO3IoTik7Y29uc3QgRD0oMCxuLnVzZVJlZikodyksTz0oMCxuLnVzZU1lbW8pKCgoKT0+eS5jcmVhdGVBY3Rpb24oRC5jdXJyZW50KSksW10pO3JldHVybiByKE8sYikse3NlYXNvbmFsc0FjdGlvbjpfLGZvcmVjYXN0QWN0aW9uOkUsYW5hbHlzaXNBY3Rpb246eCxvcHRpb25zQWN0aW9uOkMsZWNvbm9teUluZGljYXRvcnNBY3Rpb246UyxzdG9ja0JvbmRzQWN0aW9uOk0sZG9jdW1lbnRzQWN0aW9uOkEsZXRmc0FjdGlvbjpOLG5ld3NBY3Rpb246ayxjb21tdW5pdHlBY3Rpb246T319fSw5MjgwMDIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7RWNvbm9teUluZGljYXRvcnNBY3Rpb246KCk9PnV9KTt2YXIgbj1vKDE4NTI3MSkscz1vKDc2Mjg1MSksaT1vKDkzMDIzMSkscj1vKDkxNzk4NiksYT1vKDE3MDQ0KSxsPW8oODkwODM1KTt2YXIgYz1vKDE1NjgyOSk7Y2xhc3MgdSBleHRlbmRzIHIuRGlhbG9nQWN0aW9ue2NvbnN0cnVjdG9yKCl7c3VwZXIoe2xhYmVsOigwLHMuYXBwZW5kRWxsaXBzaXMpKG4udChudWxsLHZvaWQgMCxvKDI1MzUzKSkpLGlkOiJFY29ub215SW5kaWNhdG9yc0RpYWxvZyIsaWNvbjpvKDY3NDkwNSksY2F0ZWdvcnk6ImZ1bmN0aW9uQWN0aW9ucyIsZGlzYWJsZWQ6ITB9KSx0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZCgoMCxhLmFjdGl2ZVByb1N5bWJvbFF1b3Rlc1Byb3ZpZGVyKSgpLnF1b3RlcygpKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciB0O2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTpsLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiZWNvbm9teS1pbmRpY2F0b3JzIix0KX19KX1zdGF0aWMgY3JlYXRlQWN0aW9uKCl7cmV0dXJuKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iik/bnVsbDpuZXcgdX1zdGF0aWMgY2hlY2tBdmFpbGFiaWxpdHkoZSx0KXtyZXR1cm4gQm9vbGVhbihlJiYoMCxjLmlzRWNvbm9taWNTeW1ib2wpKGUpJiZ0KX1faXNEaXNhYmxlZChlKXtpZihlJiYib2siPT09ZS5zdGF0dXMpe2NvbnN0e3ZhbHVlczp0fT1lO3JldHVybiF1LmNoZWNrQXZhaWxhYmlsaXR5KHQudHlwZSx0WyJmaW5hbmNpYWwtaW5kaWNhdG9yLWlkIl0pfXJldHVybiEwfX19LDU1MTc5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0ZvcmVjYXN0QWN0aW9uOigpPT5ofSk7dmFyIG49bygxODUyNzEpLHM9byg1ODMwMzgpLGk9byg5MzAyMzEpLHI9byg3NjI4NTEpLGE9byg4OTA4MzUpO3ZhciBsPW8oOTE3OTg2KSxjPW8oMTcwNDQpLHU9byg5MjY2OTgpLGQ9by5uKHUpO2NsYXNzIGggZXh0ZW5kcyBsLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsYy5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxyLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9fSxvKDQ1MDE2NikpKSxpZDoiRm9yZWNhc3REaWFsb2ciLGljb246ZCgpLGNhdGVnb3J5OiJmdW5jdGlvbkFjdGlvbnMiLGRpc2FibGVkOiEwfSk7Y29uc3QgaT0oMCxjLmFjdGl2ZVByb1N5bWJvbFF1b3Rlc1Byb3ZpZGVyKSgpLnF1b3RlcygpO3RoaXMudXBkYXRlKHtkaXNhYmxlZDp0aGlzLl9pc0Rpc2FibGVkKGkpfSksdGhpcy51cGRhdGVFeGVjdXRlKCl9dXBkYXRlRXhlY3V0ZShlKXt0aGlzLnVwZGF0ZSh7b25FeGVjdXRlOigpPT57dmFyIHQKO2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTphLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiZm9yZWNhc3QiLHQpfX0pfXN0YXRpYyBjcmVhdGVBY3Rpb24oKXtyZXR1cm4oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT9udWxsOm5ldyBofXN0YXRpYyBjaGVja0F2YWlsYWJpbGl0eShlKXtyZXR1cm4gQm9vbGVhbihlKX1faXNEaXNhYmxlZChlKXtpZihlJiYib2siPT09ZS5zdGF0dXMpe2NvbnN0e3ZhbHVlczp0fT1lO3JldHVybiFoLmNoZWNrQXZhaWxhYmlsaXR5KHQucmVjb21tZW5kYXRpb25fbWFyayl9cmV0dXJuITB9fX0sOTcxMTgzKGUsdCxvKXsidXNlIHN0cmljdCI7dmFyIG47by5kKHQse0xhYmVsUHJvZHVjdDooKT0+bn0pLGZ1bmN0aW9uKGUpe2UuSG90bGlzdHM9ImhvdGxpc3RzIixlLk1hcmtldEVhcm5pbmdzPSJtYXJrZXRzLWVhcm5pbmdzIixlLktleVN0YXRzPSJzeW1ib2xzLWtleXN0YXRzIixlLlRlY2huaWNhbHM9InN5bWJvbHMtdGVjaG5pY2FscyIsZS5QZXJmb3JtYW5jZT0ic3ltYm9scy1wZXJmb3JtYW5jZSIsZS5Cb25kc1lpZWxkQ3VydmU9ImJvbmRzLXlpZWxkLWN1cnZlIixlLkZ1dHVyZXNGb3J3YXJkQ3VydmU9ImZ1dHVyZXMtZm9yd2FyZC1jdXJ2ZSIsZS5NYXJrZXRzRm9yZXhIZWF0bWFwPSJtYXJrZXRzLWZvcmV4LWhlYXRtYXAiLGUuTWFya2V0c0JvbmRzWWllbGRIZWF0bWFwPSJtYXJrZXRzLWJvbmRzLXlpZWxkLWhlYXRtYXAiLGUuTWFya2V0c1NlY3RvclBlcmZvcm1hbmNlSGVhdG1hcD0ibWFya2V0cy1zZWN0b3ItcGVyZm9ybWFuY2UtaGVhdG1hcCIsZS5DYWxlbmRhckVhcm5pbmdzPSJjYWxlbmRhci1lYXJuaW5ncyIsZS5DYWxlbmRhckRpdmlkZW5kcz0iY2FsZW5kYXItZGl2aWRlbmRzIixlLkNhbGVuZGFySXBvPSJjYWxlbmRhci1pcG8iLGUuUXVpY2tTZWFyY2hEaWFsb2c9InF1aWNrLXNlYXJjaC1kaWFsb2ciLGUuUG9wdXBFVEZBbmFseXNpcz0icG9wdXAtZXRmLWFuYWx5c2lzIixlLkNoYXJ0U3ltYm9saW5mbz0iY2hhcnQtc3ltYm9saW5mbyIsZS5FeHRlcm5hbFdpZGdldHM9ImV4dGVybmFsLXdpZGdldHMiLGUuUmVsYXRlZFN5bWJvbHM9InJlbGF0ZWQtc3ltYm9scyIsZS5SaWdodERldGFpbHM9InJpZ2h0LWRldGFpbHMiLGUuRm9yZXhQZXJmb3JtYW5jZT0iZm9yZXgtcGVyZm9ybWFuY2UiLGUuTWFya2V0U2VjdG9yUGVyZm9ybWFuY2U9Im1hcmtldC1zZWN0b3ItcGVyZm9ybWFuY2UiLGUuQ2hhcnRNZXRyaWNzQWN0aW9uPSJjaGFydC1tZXRyaWNzLWFjdGlvbiIsZS5HbG9iYWxTZWFyY2g9Imdsb2JhbC1zZWFyY2giLGUuU3ltYm9sU2VhcmNoQnV0dG9uPSJzeW1ib2wtc2VhcmNoLWJ1dHRvbiJ9KG58fChuPXt9KSl9LDgzMzQwOShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtzaG93VGVjaG5pY2Fsc0RpYWxvZzooKT0+c30pO3ZhciBuPW8oODkwODM1KTtmdW5jdGlvbiBzKGUpe24uY3VycmVudExheW91dC52YWx1ZSgpPy5zaG93QW5hbHlzaXNWaWV3KCJ0ZWNobmljYWxzIixlKX19LDkxNzk4NihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtEaWFsb2dBY3Rpb246KCk9PmF9KTt2YXIgbixzPW8oNTA5MDQpOyFmdW5jdGlvbihlKXtlLkRyYXdpbmdzPSJkcmF3aW5nc0FjdGlvbnMiLGUuRnVuY3Rpb249ImZ1bmN0aW9uQWN0aW9ucyIsZS5TZXR0aW5ncz0ic2V0dGluZ3NBY3Rpb25zIn0obnx8KG49e30pKTtjbGFzcyBpIGV4dGVuZHMgcy5BY3Rpb257Y29uc3RydWN0b3Ioe2lkOmUsY2F0ZWdvcnk6dCxmYXZvdXJpdGU6byxvbkZhdm91cml0ZUNsaWNrOm4saG90a2V5R3JvdXA6cyxob3RrZXlIYXNoOmksYWxpYXNlczpyLG9wdGlvbnNMb2FkZXI6YSxvblN0YXJ0TGlzdGVuaW5nOmwsLi4uY30pe3N1cGVyKHthY3Rpb25JZDoiVW5rbm93bkFjdGlvbiIsb3B0aW9uczp7Li4uYyxkb05vdENsb3NlT25DbGljazohMH0saWQ6ZSxvcHRpb25zTG9hZGVyOmEsb25TdGFydExpc3RlbmluZzpsfSksdGhpcy5leGVjdXRlPSgpPT57c3VwZXIuZXhlY3V0ZSgpfSx0aGlzLmdldFN0YXRlPSgpPT4oey4uLnN1cGVyLmdldFN0YXRlKCksaWQ6dGhpcy5fc2VhcmNoT3B0aW9ucy5pZCxjYXRlZ29yeTp0aGlzLl9zZWFyY2hPcHRpb25zLmNhdGVnb3J5LGZhdm91cml0ZTp0aGlzLl9zZWFyY2hPcHRpb25zLmZhdm91cml0ZSxvbkZhdm91cml0ZUNsaWNrOnRoaXMuX29uRmF2b3VyaXRlQ2xpY2ssYWxpYXNlczp0aGlzLl9zZWFyY2hPcHRpb25zLmFsaWFzZXN9KSx0aGlzLnVwZGF0ZT1lPT57dGhpcy5fc2VhcmNoT3B0aW9ucz1PYmplY3QuYXNzaWduKHRoaXMuX3NlYXJjaE9wdGlvbnMsZSksc3VwZXIudXBkYXRlKGUpfSx0aGlzLl9vbkZhdm91cml0ZUNsaWNrPWU9Pnt0aGlzLl9zZWFyY2hPcHRpb25zLm9uRmF2b3VyaXRlQ2xpY2smJih0aGlzLnVwZGF0ZSh7ZmF2b3VyaXRlOiF0aGlzLl9zZWFyY2hPcHRpb25zLmZhdm91cml0ZX0pLHRoaXMuX3NlYXJjaE9wdGlvbnMub25GYXZvdXJpdGVDbGljayhlKSl9LHRoaXMuX3NlYXJjaE9wdGlvbnM9e2lkOmUsY2F0ZWdvcnk6dCxmYXZvdXJpdGU6byxvbkZhdm91cml0ZUNsaWNrOm4sYWxpYXNlczpyfX19dmFyIHI9bygxNzA0NCk7Y2xhc3MgYSBleHRlbmRzIGl7Y29uc3RydWN0b3IoZSl7c3VwZXIoey4uLmUsb25TdGFydExpc3RlbmluZzooKT0+KCgwLHIuYWN0aXZlUHJvU3ltYm9sUXVvdGVzUHJvdmlkZXIpKCkucXVvdGVzVXBkYXRlKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25RdW90ZXNVcGRhdGUpLCgpPT4oMCxyLmFjdGl2ZVByb1N5bWJvbFF1b3Rlc1Byb3ZpZGVyKSgpLnF1b3Rlc1VwZGF0ZSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25RdW90ZXNVcGRhdGUpKX0pfWRlc3Ryb3koKXtzdXBlci5kZXN0cm95KCl9X29uUXVvdGVzVXBkYXRlKGUpe3RoaXMudXBkYXRlKHtkaXNhYmxlZDp0aGlzLl9pc0Rpc2FibGVkKGUpfSl9fX0sMTMxMzIxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0hvcml6b250YWxBdHRhY2hFZGdlOigpPT5zLEhvcml6b250YWxEcm9wRGlyZWN0aW9uOigpPT5yLFZlcnRpY2FsQXR0YWNoRWRnZTooKT0+biwKVmVydGljYWxEcm9wRGlyZWN0aW9uOigpPT5pLGdldFBvcHVwUG9zaXRpb25lcjooKT0+Y30pO3ZhciBuLHMsaSxyLGE9bygxMzg2MzgpOyFmdW5jdGlvbihlKXtlW2UuVG9wPTBdPSJUb3AiLGVbZS5Cb3R0b209MV09IkJvdHRvbSIsZVtlLkF1dG9TdHJpY3Q9Ml09IkF1dG9TdHJpY3QifShufHwobj17fSkpLGZ1bmN0aW9uKGUpe2VbZS5MZWZ0PTBdPSJMZWZ0IixlW2UuUmlnaHQ9MV09IlJpZ2h0In0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlW2UuRnJvbVRvcFRvQm90dG9tPTBdPSJGcm9tVG9wVG9Cb3R0b20iLGVbZS5Gcm9tQm90dG9tVG9Ub3A9MV09IkZyb21Cb3R0b21Ub1RvcCJ9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7ZVtlLkZyb21MZWZ0VG9SaWdodD0wXT0iRnJvbUxlZnRUb1JpZ2h0IixlW2UuRnJvbVJpZ2h0VG9MZWZ0PTFdPSJGcm9tUmlnaHRUb0xlZnQifShyfHwocj17fSkpO2NvbnN0IGw9e3ZlcnRpY2FsQXR0YWNoRWRnZTpuLkJvdHRvbSxob3Jpem9udGFsQXR0YWNoRWRnZTpzLkxlZnQsdmVydGljYWxEcm9wRGlyZWN0aW9uOmkuRnJvbVRvcFRvQm90dG9tLGhvcml6b250YWxEcm9wRGlyZWN0aW9uOnIuRnJvbUxlZnRUb1JpZ2h0LHZlcnRpY2FsTWFyZ2luOjAsaG9yaXpvbnRhbE1hcmdpbjowLG1hdGNoQnV0dG9uQW5kTGlzdGJveFdpZHRoczohMX07ZnVuY3Rpb24gYyhlLHQpe3JldHVybiBvPT57Y29uc3R7Y29udGVudFdpZHRoOmMsY29udGVudEhlaWdodDp1LGF2YWlsYWJsZUhlaWdodDpkfT1vLGg9KDAsYS5lbnN1cmVOb3ROdWxsKShlKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx7aG9yaXpvbnRhbEF0dGFjaEVkZ2U6cD1sLmhvcml6b250YWxBdHRhY2hFZGdlLGhvcml6b250YWxEcm9wRGlyZWN0aW9uOm09bC5ob3Jpem9udGFsRHJvcERpcmVjdGlvbixob3Jpem9udGFsTWFyZ2luOnY9bC5ob3Jpem9udGFsTWFyZ2luLHZlcnRpY2FsTWFyZ2luOmY9bC52ZXJ0aWNhbE1hcmdpbixtYXRjaEJ1dHRvbkFuZExpc3Rib3hXaWR0aHM6Zz1sLm1hdGNoQnV0dG9uQW5kTGlzdGJveFdpZHRoc309dDtsZXQgYj10LnZlcnRpY2FsQXR0YWNoRWRnZT8/bC52ZXJ0aWNhbEF0dGFjaEVkZ2Usdz10LnZlcnRpY2FsRHJvcERpcmVjdGlvbj8/bC52ZXJ0aWNhbERyb3BEaXJlY3Rpb247Yj09PW4uQXV0b1N0cmljdCYmKGQ8aC55K2guaGVpZ2h0K2YrdT8oYj1uLlRvcCx3PWkuRnJvbUJvdHRvbVRvVG9wKTooYj1uLkJvdHRvbSx3PWkuRnJvbVRvcFRvQm90dG9tKSk7Y29uc3QgeT1iPT09bi5Ub3A/LTEqZjpmLF89cD09PXMuUmlnaHQ/aC5yaWdodDpoLmxlZnQseD1iPT09bi5Ub3A/aC50b3A6aC5ib3R0b20sRT17eDpfLShtPT09ci5Gcm9tUmlnaHRUb0xlZnQ/YzowKSt2LHk6eC0odz09PWkuRnJvbUJvdHRvbVRvVG9wP3U6MCkreX07cmV0dXJuIGcmJihFLm92ZXJyaWRlV2lkdGg9aC53aWR0aCksRX19fSwyOTY0NDkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7REVGQVVMVF9UT09MX1dJREdFVF9NRU5VX1RIRU1FOigpPT5mLFRvb2xXaWRnZXRNZW51OigpPT5ifSk7dmFyIG49byg3Nzk0NzQpLHM9byg5MTQ0ODcpLGk9by5uKHMpLHI9bygyMzU3MjQpLGE9byg4MzU5NjQpLGw9byg3MDg4NDIpLGM9bygzNDUxMTYpLHU9bygzMTM3NzIpLGQ9byg5NjQyMTQpLGg9bygxMzEzMjEpLHA9byg0MDYxMTApLG09byg4NDg5ODgpLHY9byg0MjQyNjIpO2NvbnN0IGY9djt2YXIgZzshZnVuY3Rpb24oZSl7ZVtlLlZlcnRpY2FsPTJdPSJWZXJ0aWNhbCIsZVtlLkhvcml6b250YWw9MF09Ikhvcml6b250YWwifShnfHwoZz17fSkpO2NsYXNzIGIgZXh0ZW5kcyBuLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fd3JhcHBlclJlZj1udWxsLHRoaXMuX3Njcm9sbFdyYXBSZWY9bnVsbCx0aGlzLl9zY3JvbGxDb21wZW5zYXRpb25PYnNlcnZlcj1udWxsLHRoaXMuX2NvbnRyb2xsZXI9bi5jcmVhdGVSZWYoKSx0aGlzLl9vblBvcHVwQ2xvc2VPbkNsaWNrPWU9Pnsia2V5Ym9hcmQiPT09ZS5kZXRhaWwuY2xpY2tUeXBlJiZ0aGlzLmZvY3VzKCl9LHRoaXMuX2hhbmRsZU1lbnVGb2N1cz1lPT57ZS5yZWxhdGVkVGFyZ2V0PT09dGhpcy5fd3JhcHBlclJlZiYmdGhpcy5zZXRTdGF0ZSgoZT0+KHsuLi5lLGlzT3BlbmVkQnlCdXR0b246ITB9KSkpLHRoaXMucHJvcHMub25NZW51Rm9jdXM/LihlKX0sdGhpcy5faGFuZGxlV3JhcHBlclJlZj1lPT57dGhpcy5fd3JhcHBlclJlZj1lLHRoaXMucHJvcHMucmVmZXJlbmNlJiZ0aGlzLnByb3BzLnJlZmVyZW5jZShlKX0sdGhpcy5faGFuZGxlU2Nyb2xsV3JhcFJlZj1lPT57dGhpcy5fc2Nyb2xsV3JhcFJlZj1lLHRoaXMuX3N5bmNTY3JvbGxDb21wZW5zYXRpb25PYnNlcnZlcigpLHRoaXMuX3VwZGF0ZVNjcm9sbENvbXBlbnNhdGlvbigpfSx0aGlzLl9zeW5jU2Nyb2xsQ29tcGVuc2F0aW9uT2JzZXJ2ZXI9KCk9Pnt0aGlzLl9kZXN0cm95U2Nyb2xsQ29tcGVuc2F0aW9uT2JzZXJ2ZXIoKSx0aGlzLnByb3BzLmVuYWJsZVNjcm9sbENvbXBlbnNhdGlvbiYmbnVsbCE9PXRoaXMuX3Njcm9sbFdyYXBSZWYmJih0aGlzLl9zY3JvbGxDb21wZW5zYXRpb25PYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5fdXBkYXRlU2Nyb2xsQ29tcGVuc2F0aW9uKSx0aGlzLl9zY3JvbGxDb21wZW5zYXRpb25PYnNlcnZlci5vYnNlcnZlKHRoaXMuX3Njcm9sbFdyYXBSZWYpKX0sdGhpcy5fZGVzdHJveVNjcm9sbENvbXBlbnNhdGlvbk9ic2VydmVyPSgpPT57bnVsbCE9PXRoaXMuX3Njcm9sbENvbXBlbnNhdGlvbk9ic2VydmVyJiYodGhpcy5fc2Nyb2xsQ29tcGVuc2F0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMuX3Njcm9sbENvbXBlbnNhdGlvbk9ic2VydmVyPW51bGwpfSx0aGlzLl91cGRhdGVTY3JvbGxDb21wZW5zYXRpb249KCk9PntpZihudWxsPT09dGhpcy5fc2Nyb2xsV3JhcFJlZilyZXR1cm4gdm9pZCB0aGlzLnNldFN0YXRlKHtzY3JvbGxDb21wZW5zYXRpb246bnVsbH0pO2NvbnN0IGU9dGhpcy5fc2Nyb2xsV3JhcFJlZi5vZmZzZXRXaWR0aC10aGlzLl9zY3JvbGxXcmFwUmVmLmNsaWVudFdpZHRoLHQ9ZT4wPy1lKyJweCI6bnVsbAo7dGhpcy5zZXRTdGF0ZSh7c2Nyb2xsQ29tcGVuc2F0aW9uOnR9KX0sdGhpcy5faGFuZGxlT3Blbj0oKT0+eyJkaXYiIT09dGhpcy5wcm9wcy50YWcmJih0aGlzLnNldFN0YXRlKChlPT4oey4uLmUsaXNPcGVuZWRCeUJ1dHRvbjohMX0pKSksdGhpcy5wcm9wcy5tZW51UmVmZXJlbmNlPy5jdXJyZW50Py5hZGRFdmVudExpc3RlbmVyKCJwb3B1cC1tZW51LWNsb3NlLWV2ZW50Iix0aGlzLl9vblBvcHVwQ2xvc2VPbkNsaWNrKSx0aGlzLl9jb250cm9sbGVyLmN1cnJlbnQ/LmZvY3VzKCkpfSx0aGlzLl9oYW5kbGVDbGljaz1lPT57ZS50YXJnZXQgaW5zdGFuY2VvZiBOb2RlJiZlLmN1cnJlbnRUYXJnZXQuY29udGFpbnMoZS50YXJnZXQpJiYodGhpcy5faGFuZGxlVG9nZ2xlRHJvcGRvd24odm9pZCAwLCgwLG0uaXNLZXlib2FyZENsaWNrKShlKSksdGhpcy5wcm9wcy5vbkNsaWNrJiZ0aGlzLnByb3BzLm9uQ2xpY2soZSwhdGhpcy5zdGF0ZS5pc09wZW5lZCkpfSx0aGlzLl9oYW5kbGVUb2dnbGVEcm9wZG93bj0oZSx0PSExKT0+e2NvbnN0e29uQ2xvc2U6byxvbk9wZW46bn09dGhpcy5wcm9wcyx7aXNPcGVuZWQ6c309dGhpcy5zdGF0ZSxpPSJib29sZWFuIj09dHlwZW9mIGU/ZTohczt0aGlzLnNldFN0YXRlKHtpc09wZW5lZDppLHNob3VsZFJldHVybkZvY3VzOiEhaSYmdH0pLGkmJm4mJm4oKSwhaSYmbyYmbygpfSx0aGlzLl9oYW5kbGVDbG9zZT0oKT0+e3RoaXMuY2xvc2UoKX0sdGhpcy5faGFuZGxlS2V5RG93bj1lPT57Y29uc3R7b3JpZW50YXRpb246dD0iaG9yaXpvbnRhbCJ9PXRoaXMucHJvcHM7aWYoZS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtpZighKGUudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSkpcmV0dXJuO2NvbnN0IG89KDAsci5oYXNoRnJvbUV2ZW50KShlKTtpZihlLmN1cnJlbnRUYXJnZXQuY29udGFpbnMoZS50YXJnZXQpKXN3aXRjaChvKXtjYXNlIDQwOmlmKCJkaXYiPT09dGhpcy5wcm9wcy50YWd8fCJob3Jpem9udGFsIiE9PXQpcmV0dXJuO2lmKHRoaXMuc3RhdGUuaXNPcGVuZWQpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSx0aGlzLl9oYW5kbGVUb2dnbGVEcm9wZG93bighMCwhMCk7YnJlYWs7Y2FzZSAyNzppZighdGhpcy5zdGF0ZS5pc09wZW5lZHx8IXRoaXMucHJvcHMuY2xvc2VPbkVzYylyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5faGFuZGxlVG9nZ2xlRHJvcGRvd24oITEpfWVsc2V7aWYoImRpdiI9PT10aGlzLnByb3BzLnRhZylyZXR1cm47c3dpdGNoKG8pe2Nhc2UgMjc6e2UucHJldmVudERlZmF1bHQoKTtjb25zdHtzaG91bGRSZXR1cm5Gb2N1czp0LGlzT3BlbmVkQnlCdXR0b246b309dGhpcy5zdGF0ZTt0aGlzLl9oYW5kbGVUb2dnbGVEcm9wZG93bighMSksdCYmbyYmdGhpcy5fd3JhcHBlclJlZj8uZm9jdXMoKTticmVha319fX0sdGhpcy5zdGF0ZT17aXNPcGVuZWQ6ITEsc2hvdWxkUmV0dXJuRm9jdXM6ITEsaXNPcGVuZWRCeUJ1dHRvbjohMSxzY3JvbGxDb21wZW5zYXRpb246bnVsbH19cmVuZGVyKCl7Y29uc3R7dGFnOmU9ImRpdiIsaWQ6dCxhcnJvdzpvLGNvbnRlbnQ6cyxpc0Rpc2FibGVkOnIsaXNEcmF3ZXI6YSxpc1Nob3dUb29sdGlwOnUsdGl0bGU6ZCxjbGFzc05hbWU6aCxob3RLZXk6bSx0aGVtZTp2LGRyYXdlckJyZWFrcG9pbnQ6Zix0YWJJbmRleDpnLGlzQ2xpY2tlZDpifT10aGlzLnByb3BzLHtpc09wZW5lZDp5fT10aGlzLnN0YXRlLF89aSgpKGgsdi5idXR0b24seyJhcHBseS1jb21tb24tdG9vbHRpcCI6dXx8IXIsW3YuaXNEaXNhYmxlZF06cixbdi5pc09wZW5lZF06eSxbdi5jbGlja2VkXTpifSkseD13KHMpP3Moe2lzT3BlbmVkOnl9KTpzO3JldHVybiJidXR0b24iPT09ZT9uLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsaWQ6dCxjbGFzc05hbWU6aSgpKF8sdi5hY2Nlc3NpYmxlKSxkaXNhYmxlZDpyLG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2ssdGl0bGU6ZCwiZGF0YS10b29sdGlwLWhvdGtleSI6bSxyZWY6dGhpcy5faGFuZGxlV3JhcHBlclJlZixvbktleURvd246dGhpcy5faGFuZGxlS2V5RG93bix0YWJJbmRleDpnLC4uLigwLGMuZmlsdGVyRGF0YVByb3BzKSh0aGlzLnByb3BzKSwuLi4oMCxjLmZpbHRlckFyaWFQcm9wcykodGhpcy5wcm9wcyl9LHgsbyYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6di5hcnJvd30sbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6di5hcnJvd1dyYXB9LG4uY3JlYXRlRWxlbWVudChsLlRvb2xXaWRnZXRDYXJldCx7ZHJvcHBlZDp5fSkpKSx0aGlzLnN0YXRlLmlzT3BlbmVkJiYoZj9uLmNyZWF0ZUVsZW1lbnQocC5NYXRjaE1lZGlhLHtydWxlOmZ9LChlPT50aGlzLl9yZW5kZXJDb250ZW50KGUpKSk6dGhpcy5fcmVuZGVyQ29udGVudChhKSkpOm4uY3JlYXRlRWxlbWVudCgiZGl2Iix7aWQ6dCxjbGFzc05hbWU6XyxvbkNsaWNrOnI/dm9pZCAwOnRoaXMuX2hhbmRsZUNsaWNrLHRpdGxlOmQsImRhdGEtdG9vbHRpcC1ob3RrZXkiOm0scmVmOnRoaXMuX2hhbmRsZVdyYXBwZXJSZWYsImRhdGEtcm9sZSI6ImJ1dHRvbiIsdGFiSW5kZXg6ZyxvbktleURvd246dGhpcy5faGFuZGxlS2V5RG93biwiYXJpYS1oYXNwb3B1cCI6dGhpcy5wcm9wc1siYXJpYS1oYXNwb3B1cCJdLC4uLigwLGMuZmlsdGVyRGF0YVByb3BzKSh0aGlzLnByb3BzKX0seCxvJiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2LmFycm93fSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2LmFycm93V3JhcH0sbi5jcmVhdGVFbGVtZW50KGwuVG9vbFdpZGdldENhcmV0LHtkcm9wcGVkOnl9KSkpLHRoaXMuc3RhdGUuaXNPcGVuZWQmJihmP24uY3JlYXRlRWxlbWVudChwLk1hdGNoTWVkaWEse3J1bGU6Zn0sKGU9PnRoaXMuX3JlbmRlckNvbnRlbnQoZSkpKTp0aGlzLl9yZW5kZXJDb250ZW50KGEpKSl9Y29tcG9uZW50RGlkVXBkYXRlKGUpeyF0aGlzLnByb3BzLmVuYWJsZVNjcm9sbENvbXBlbnNhdGlvbiYmZS5lbmFibGVTY3JvbGxDb21wZW5zYXRpb24mJih0aGlzLl9kZXN0cm95U2Nyb2xsQ29tcGVuc2F0aW9uT2JzZXJ2ZXIoKSwKdGhpcy5zZXRTdGF0ZSh7c2Nyb2xsQ29tcGVuc2F0aW9uOm51bGx9KSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLl9kZXN0cm95U2Nyb2xsQ29tcGVuc2F0aW9uT2JzZXJ2ZXIoKX1jbG9zZSgpe3RoaXMucHJvcHMubWVudVJlZmVyZW5jZT8uY3VycmVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9wdXAtbWVudS1jbG9zZS1ldmVudCIsdGhpcy5fb25Qb3B1cENsb3NlT25DbGljayksdGhpcy5faGFuZGxlVG9nZ2xlRHJvcGRvd24oITEpfWZvY3VzKCl7dGhpcy5fd3JhcHBlclJlZj8uZm9jdXMoKX11cGRhdGUoKXtudWxsIT09dGhpcy5fY29udHJvbGxlci5jdXJyZW50JiZ0aGlzLl9jb250cm9sbGVyLmN1cnJlbnQudXBkYXRlKCl9X3JlbmRlckNvbnRlbnQoZSl7Y29uc3R7bWVudURhdGFOYW1lOnQsbWluV2lkdGg6byxtZW51Q2xhc3NOYW1lOnMsZHJhd2VyQ2xhc3NOYW1lOmksbWVudVJvbGU6cixtYXhIZWlnaHQ6bCxkcmF3ZXJQb3NpdGlvbjpjPSJCb3R0b20iLGNoaWxkcmVuOnAsbm9Nb21lbnR1bUJhc2VkU2Nyb2xsOm0sZW5hYmxlU2Nyb2xsQ29tcGVuc2F0aW9uOnZ9PXRoaXMucHJvcHMse2lzT3BlbmVkOmZ9PXRoaXMuc3RhdGUsZz17aG9yaXpvbnRhbE1hcmdpbjp0aGlzLnByb3BzLmhvcml6b250YWxNYXJnaW58fDAsdmVydGljYWxNYXJnaW46dGhpcy5wcm9wcy52ZXJ0aWNhbE1hcmdpbnx8Mix2ZXJ0aWNhbEF0dGFjaEVkZ2U6dGhpcy5wcm9wcy52ZXJ0aWNhbEF0dGFjaEVkZ2UsaG9yaXpvbnRhbEF0dGFjaEVkZ2U6dGhpcy5wcm9wcy5ob3Jpem9udGFsQXR0YWNoRWRnZSx2ZXJ0aWNhbERyb3BEaXJlY3Rpb246dGhpcy5wcm9wcy52ZXJ0aWNhbERyb3BEaXJlY3Rpb24saG9yaXpvbnRhbERyb3BEaXJlY3Rpb246dGhpcy5wcm9wcy5ob3Jpem9udGFsRHJvcERpcmVjdGlvbixtYXRjaEJ1dHRvbkFuZExpc3Rib3hXaWR0aHM6dGhpcy5wcm9wcy5tYXRjaEJ1dHRvbkFuZExpc3Rib3hXaWR0aHN9LGI9Qm9vbGVhbihmJiZlJiZjKSx5PXcocCk/cCh7aXNEcmF3ZXI6Yn0pOnA7cmV0dXJuIGI/bi5jcmVhdGVFbGVtZW50KHUuRHJhd2VyTWFuYWdlcixudWxsLG4uY3JlYXRlRWxlbWVudChkLkRyYXdlcix7Y2xhc3NOYW1lOmkscmVmZXJlbmNlOnRoaXMucHJvcHMuZHJhd2VyUmVmZXJlbmNlLG9uQ2xvc2U6dGhpcy5faGFuZGxlQ2xvc2UscG9zaXRpb246YywiZGF0YS1uYW1lIjp0fSx5KSk6bi5jcmVhdGVFbGVtZW50KGEuUG9wdXBNZW51LHtyZWZlcmVuY2U6dGhpcy5wcm9wcy5tZW51UmVmZXJlbmNlLHNjcm9sbFdyYXBSZWZlcmVuY2U6dj90aGlzLl9oYW5kbGVTY3JvbGxXcmFwUmVmOnZvaWQgMCxyb2xlOnIsY29udHJvbGxlcjp0aGlzLl9jb250cm9sbGVyLGNsb3NlT25DbGlja091dHNpZGU6dGhpcy5wcm9wcy5jbG9zZU9uQ2xpY2tPdXRzaWRlLGRvTm90Q2xvc2VPbjp0aGlzLGlzT3BlbmVkOmYsbWluV2lkdGg6byxvbkNsb3NlOnRoaXMuX2hhbmRsZUNsb3NlLHBvc2l0aW9uOigwLGguZ2V0UG9wdXBQb3NpdGlvbmVyKSh0aGlzLl93cmFwcGVyUmVmLGcpLGNsYXNzTmFtZTpzLG1heEhlaWdodDpsLGRhdGFRYUlkOnQsdGFiSW5kZXg6ImRpdiIhPT10aGlzLnByb3BzLnRhZz8tMTp2b2lkIDAsb25PcGVuOnRoaXMuX2hhbmRsZU9wZW4sb25LZXlEb3duOnRoaXMucHJvcHMub25NZW51S2V5RG93bixvbkZvY3VzOnRoaXMuX2hhbmRsZU1lbnVGb2N1cyxub01vbWVudHVtQmFzZWRTY3JvbGw6bX0sdj9uLmNyZWF0ZUVsZW1lbnQoImRpdiIse3N0eWxlOnRoaXMuc3RhdGUuc2Nyb2xsQ29tcGVuc2F0aW9uP3ttYXJnaW5JbmxpbmVFbmQ6dGhpcy5zdGF0ZS5zY3JvbGxDb21wZW5zYXRpb259OnZvaWQgMH0seSk6eSl9fWZ1bmN0aW9uIHcoZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV9Yi5kZWZhdWx0UHJvcHM9e2Fycm93OiEwLGNsb3NlT25DbGlja091dHNpZGU6ITAsdGhlbWU6dn19LDEzNjYzKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3VzZUVuc3VyZWRDb250ZXh0OigpPT5pfSk7dmFyIG49byg3Nzk0NzQpLHM9bygxMzg2MzgpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuKDAscy5lbnN1cmVOb3ROdWxsKSgoMCxuLnVzZUNvbnRleHQpKGUpKX19LDU1MzY2OShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt0cmFja01ldHJpY3NNZW51QWN0aW9uOigpPT5zfSk7dmFyIG49bygzNjIyMzkpO2Z1bmN0aW9uIHMoZSl7KDAsbi5nZXRUcmFja2VyKSgpLnRoZW4oKHQ9PntudWxsIT09dCYmdC50cmFja0NoYXJ0TWV0cmljc01lbnUoZSl9KSl9fSw2MzEyNTQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7c2hvd0JvbmRZaWVsZEN1cnZlRGlhbG9nOigpPT5zfSk7dmFyIG49byg4OTA4MzUpO2Z1bmN0aW9uIHMoZSl7bi5jdXJyZW50TGF5b3V0LnZhbHVlKCk/LnNob3dBbmFseXNpc1ZpZXcoInlpZWxkLWN1cnZlIixlKX19LDg2MjA4MChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtBbmFseXNpc0FjdGlvbjooKT0+ZH0pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oOTMwMjMxKSxyPW8oNzYyODUxKSxhPW8oMTU2ODI5KSxsPW8oODkwODM1KTt2YXIgYz1vKDE3MDQ0KSx1PW8oOTE3OTg2KTtjbGFzcyBkIGV4dGVuZHMgdS5EaWFsb2dBY3Rpb257Y29uc3RydWN0b3IoKXtjb25zdCBlPSgwLGMuYWN0aXZlUHJvU3ltYm9sUXVvdGVzUHJvdmlkZXIpKCkucmVxdWVzdGVkU3ltYm9sKCksdD1lPygwLHMuc3BsaXRTeW1ib2xOYW1lKShlKVsxXToiIjtzdXBlcih7bGFiZWw6KDAsci5hcHBlbmRFbGxpcHNpcykobi50KG51bGwse2NvbnRleHQ6InByb2ZpbGVfYWN0aW9uIixyZXBsYWNlOntzeW1ib2w6dH19LG8oNjg1NTc1KSkpLGlkOiJBbmFseXNpcyIsaWNvbjpvKDg1OTc5MSksY2F0ZWdvcnk6ImZ1bmN0aW9uQWN0aW9ucyIsZGlzYWJsZWQ6ITB9KTtjb25zdCBpPSgwLGMuYWN0aXZlUHJvU3ltYm9sUXVvdGVzUHJvdmlkZXIpKCkucXVvdGVzKCk7dGhpcy51cGRhdGUoe2Rpc2FibGVkOnRoaXMuX2lzRGlzYWJsZWQoaSl9KSx0aGlzLnVwZGF0ZUV4ZWN1dGUoKX11cGRhdGVFeGVjdXRlKCl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciBlCjtsLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiYW5hbHlzaXMiLGUpfX0pfXN0YXRpYyBjcmVhdGVBY3Rpb24oKXtyZXR1cm4oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT9udWxsOm5ldyBkfXN0YXRpYyBjaGVja0F2YWlsYWJpbGl0eShlLHQpe3JldHVybiBCb29sZWFuKGUmJnQmJigoMCxhLmlzRnVuZEV0ZikoZSx0KXx8KDAsYS5pc0NvcnBvcmF0ZUJvbmQpKGUsdCl8fCgwLGEuaXNHb3Zlcm5tZW50T25seUJvbmQpKGUsdCkpKX1faXNEaXNhYmxlZChlKXtpZihlJiYib2siPT09ZS5zdGF0dXMpe2NvbnN0e3ZhbHVlczp0fT1lO3JldHVybiFkLmNoZWNrQXZhaWxhYmlsaXR5KHQudHlwZSx0LnR5cGVzcGVjcyl9cmV0dXJuITB9fX0sODkyMTMzKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0RvY3VtZW50c0FjdGlvbjooKT0+Y30pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oNzYyODUxKSxyPW8oOTE3OTg2KSxhPW8oMTcwNDQpLGw9byg4OTA4MzUpO2NsYXNzIGMgZXh0ZW5kcyByLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxpLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9fSxvKDc1MTI4MykpKSxpZDoiRG9jdW1lbnRzIixpY29uOm8oMjI4OTU4KSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIixkaXNhYmxlZDohMH0pO2NvbnN0IHI9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5xdW90ZXMoKTt0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZChyKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciB0O2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTpsLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiZG9jdW1lbnRzIix0KX19KX1zdGF0aWMgY3JlYXRlQWN0aW9uKCl7cmV0dXJuIG5ldyBjfXN0YXRpYyBjaGVja0F2YWlsYWJpbGl0eShlKXtyZXR1cm4gMT09PWV9X2lzRGlzYWJsZWQoZSl7aWYoZSYmIm9rIj09PWUuc3RhdHVzKXtjb25zdHt2YWx1ZXM6dH09ZTtyZXR1cm4hYy5jaGVja0F2YWlsYWJpbGl0eSh0LmRvY3VtZW50cyl9cmV0dXJuITB9fX0sNDg0NDQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7RXRmc0FjdGlvbjooKT0+Y30pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oNzYyODUxKSxyPW8oOTE3OTg2KSxhPW8oMTcwNDQpLGw9byg4OTA4MzUpO2NsYXNzIGMgZXh0ZW5kcyByLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxpLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9LGNvbnRleHQ6ImV0ZnNfZGlhbG9nIn0sbyg1MjcxKSkpLGlkOiJFVEZzIixpY29uOm8oMTg3MTQ3KSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIixkaXNhYmxlZDohMH0pO2NvbnN0IHI9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5xdW90ZXMoKTt0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZChyKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciB0O2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTpsLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiZXRmcyIsdCl9fSl9c3RhdGljIGNyZWF0ZUFjdGlvbigpe3JldHVybiBuZXcgY31zdGF0aWMgY2hlY2tBdmFpbGFiaWxpdHkoZSl7cmV0dXJuIEJvb2xlYW4oZS5oYXNfZXRmX293bmVyc2hpcCYmZS5zeW1ib2xfcHJpbWFyeV9saXN0aW5nKXx8Qm9vbGVhbigic3BvdCI9PT1lLnR5cGUmJmUuc2hvcnRfbmFtZSYmWyJCVENVU0QiLCJCSVRDT0lOIiwiRVRIVVNEIiwiRVRIRVJFVU0iXS5pbmNsdWRlcyhlLnNob3J0X25hbWUpKX1faXNEaXNhYmxlZChlKXtpZihlJiYib2siPT09ZS5zdGF0dXMpe2NvbnN0e3ZhbHVlczp0fT1lO3JldHVybiFjLmNoZWNrQXZhaWxhYmlsaXR5KHQpfXJldHVybiEwfX19LDE5OTc0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3Nob3dGb3J3YXJkQ3VydmVEaWFsb2c6KCk9PnN9KTt2YXIgbj1vKDg5MDgzNSk7ZnVuY3Rpb24gcyhlKXtuLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiZm9yd2FyZC1jdXJ2ZSIsZSl9fSw3MDc3MTYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7TmV3c0FjdGlvbjooKT0+dX0pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oNzYyODUxKSxyPW8oOTE3OTg2KSxhPW8oMTcwNDQpLGw9bygxMjI5MzIpLGM9bygyMzEzMzApO2NsYXNzIHUgZXh0ZW5kcyByLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxpLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9LGNvbnRleHQ6Im5ld3NfZGlhbG9nIn0sbygxMDE0MzUpKSksaWQ6Ik5ld3MgRGlhbG9nIixpY29uOm8oMzc0NjAwKSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIixkaXNhYmxlZDohMH0pO2NvbnN0IHI9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5xdW90ZXMoKTt0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZChyKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+ewplP3dpbmRvdy5sb2NhdGlvbi5hc3NpZ24oZSk6KDAsbC5zaG93TmV3c0RpYWxvZykoKX19KX1zdGF0aWMgY3JlYXRlQWN0aW9uKCl7cmV0dXJuIG5ldyB1fXN0YXRpYyBjaGVja0F2YWlsYWJpbGl0eShlKXtyZXR1cm4gYy5pc05ld3NBbGxvd2VkJiZ2b2lkIDAhPT1lfV9pc0Rpc2FibGVkKGUpe2lmKGUmJiJvayI9PT1lLnN0YXR1cyl7Y29uc3R7dmFsdWVzOnR9PWU7cmV0dXJuIXUuY2hlY2tBdmFpbGFiaWxpdHkodC50eXBlKX1yZXR1cm4hMH19fSwxMjI5MzIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7c2hvd05ld3NEaWFsb2c6KCk9PnN9KTt2YXIgbj1vKDg5MDgzNSk7ZnVuY3Rpb24gcyhlKXtuLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygibmV3cyIsZSl9fSw2ODA5MzMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7T3B0aW9uc0FjdGlvbjooKT0+ZH0pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oMTcwNDQpLHI9byg5MzAyMzEpLGE9byg3NjI4NTEpLGw9byg5MTc5ODYpLGM9byg4OTA4MzUpO3ZhciB1PW8oODg3NjYzKTtjbGFzcyBkIGV4dGVuZHMgbC5EaWFsb2dBY3Rpb257Y29uc3RydWN0b3IoKXtjb25zdCBlPSgwLGkuYWN0aXZlUHJvU3ltYm9sUXVvdGVzUHJvdmlkZXIpKCkucmVxdWVzdGVkU3ltYm9sKCksdD1lPygwLHMuc3BsaXRTeW1ib2xOYW1lKShlKVsxXToiIjtzdXBlcih7bGFiZWw6KDAsYS5hcHBlbmRFbGxpcHNpcykobi50KG51bGwse3JlcGxhY2U6e3N5bWJvbDp0fX0sbyg0MTI3NzYpKSksaWQ6Ik9wdGlvbnNEaWFsb2ciLGljb246dSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIixkaXNhYmxlZDohMH0pO2NvbnN0IHI9KDAsaS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5xdW90ZXMoKTt0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZChyKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciB0O2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTpjLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygib3B0aW9ucyIsdCl9fSl9c3RhdGljIGNyZWF0ZUFjdGlvbigpe3JldHVybigwLHIuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpP251bGw6bmV3IGR9c3RhdGljIGNoZWNrQXZhaWxhYmlsaXR5KGUpe3JldHVybiBCb29sZWFuKGUpfV9pc0Rpc2FibGVkKGUpe2lmKGUmJiJvayI9PT1lLnN0YXR1cyl7Y29uc3R7dmFsdWVzOnR9PWU7cmV0dXJuIWQuY2hlY2tBdmFpbGFiaWxpdHkodFsib3B0aW9ucy1pbmZvIl0pfXJldHVybiEwfX19LDk5NTEyNihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtoYXNTZWFzb25hbHM6KCk9PnN9KTt2YXIgbj1vKDE1NjgyOSk7ZnVuY3Rpb24gcyhlLHQsbyl7cmV0dXJuISgoMCxuLmlzQm9uZCkoZSl8fCgwLG4uaXNFY29ub21pY1N5bWJvbCkoZSl8fCgwLG4uaXNPcHRpb24pKGUpfHwoMCxuLmlzU3ByZWFkKShlKXx8KDAsbi5pc1N5bWJvbERlbGlzdGVkKSh0KXx8KDAsbi5pc1N0b2Nrc1N5bWJvbCkoZSx0Pz9bXSkmJnZvaWQgMD09PW98fHZvaWQgMCE9PW8mJmZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IERhdGUoMWUzKmUpLmdldEZ1bGxZZWFyKCksbz0obmV3IERhdGUpLmdldEZ1bGxZZWFyKCk7cmV0dXJuIHQ9PT1vfShvKSl9fSw1NTI2OTUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7U2Vhc29uYWxzQWN0aW9uOigpPT5kfSk7dmFyIG49bygxODUyNzEpLHM9byg1ODMwMzgpLGk9byg3NjI4NTEpLHI9bygxNTY4MjkpLGE9byg5OTUxMjYpLGw9byg4OTA4MzUpO3ZhciBjPW8oOTE3OTg2KSx1PW8oMTcwNDQpO2NsYXNzIGQgZXh0ZW5kcyBjLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsdS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxpLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9fSxvKDY4NTk2MykpKSxpZDoiU2Vhc29uYWxzRGlhbG9nIixpY29uOm8oNjI3NjAyKSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIixkaXNhYmxlZDohMH0pO2NvbnN0IHI9KDAsdS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5xdW90ZXMoKTt0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZChyKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciB0O2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTpsLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygic2Vhc29uYWxzIix0KX19KX1zdGF0aWMgY3JlYXRlQWN0aW9uKCl7cmV0dXJuIG5ldyBkfXN0YXRpYyBjaGVja0F2YWlsYWJpbGl0eShlLHQsbyxuKXtyZXR1cm4gQm9vbGVhbihlJiZ0JiYhKDAsci5pc0RleCkobikmJigwLGEuaGFzU2Vhc29uYWxzKShlLHQsbykpfV9pc0Rpc2FibGVkKGUpe2lmKGUmJiJvayI9PT1lLnN0YXR1cyl7Y29uc3R7dmFsdWVzOnR9PWU7cmV0dXJuIWQuY2hlY2tBdmFpbGFiaWxpdHkodC50eXBlLHQudHlwZXNwZWNzLHQuZmlyc3RfYmFyX3RpbWVfMWQsdFsiZXhjaGFuZ2UtaW5mbyJdKX1yZXR1cm4hMH19fSw2MzA3ODcoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7U3RvY2tCb25kc0FjdGlvbjooKT0+Y30pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oNzYyODUxKSxyPW8oOTE3OTg2KSxhPW8oMTcwNDQpLGw9byg4OTA4MzUpO2NsYXNzIGMgZXh0ZW5kcyByLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxpLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9fSxvKDg5MzU3NikpKSxpZDoiU3RvY2tCb25kcyIsCmljb246byg0MDk0NTUpLGNhdGVnb3J5OiJmdW5jdGlvbkFjdGlvbnMiLGRpc2FibGVkOiEwfSk7Y29uc3Qgcj0oMCxhLmFjdGl2ZVByb1N5bWJvbFF1b3Rlc1Byb3ZpZGVyKSgpLnF1b3RlcygpO3RoaXMudXBkYXRlKHtkaXNhYmxlZDp0aGlzLl9pc0Rpc2FibGVkKHIpfSksdGhpcy51cGRhdGVFeGVjdXRlKCl9dXBkYXRlRXhlY3V0ZShlKXt0aGlzLnVwZGF0ZSh7b25FeGVjdXRlOigpPT57dmFyIHQ7ZT93aW5kb3cubG9jYXRpb24uYXNzaWduKGUpOmwuY3VycmVudExheW91dC52YWx1ZSgpPy5zaG93QW5hbHlzaXNWaWV3KCJib25kcyIsdCl9fSl9c3RhdGljIGNyZWF0ZUFjdGlvbigpe3JldHVybiBuZXcgY31zdGF0aWMgY2hlY2tBdmFpbGFiaWxpdHkoZSx0LG8pe3JldHVybiBCb29sZWFuKGUmJnQmJm8pfV9pc0Rpc2FibGVkKGUpe2lmKGUmJiJvayI9PT1lLnN0YXR1cyl7Y29uc3R7dmFsdWVzOnR9PWU7cmV0dXJuIWMuY2hlY2tBdmFpbGFiaWxpdHkodC50eXBlLHQudHlwZXNwZWNzLHQuaGFzX2JvbmRzKX1yZXR1cm4hMH19fSw5Mjk0ODgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7aXNTZXBhcmF0b3JJdGVtOigpPT5zfSk7dmFyIG49byg5MDEwMjIpO2Z1bmN0aW9uIHMoZSl7cmV0dXJuKDAsbi5pc1NlcGFyYXRvckl0ZW0pKGUpfX0sMzIwNTUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLnIodCksby5kKHQse3Jlc29sdmVTeW1ib2xOYW1lOigpPT5jLHJlc29sdmVTeW1ib2xOYW1lRm9yQWxsOigpPT51LHJlc29sdmVTeW1ib2xOYW1lRm9yQWxsRGlzdGluY3Q6KCk9PmQsc25hcHNob3RlcjooKT0+YX0pO3ZhciBuPW8oMTI4ODE0KSxzPW8oNjIzNTExKSxpPW8oOTI5NDg4KTtjb25zdCByPW5ldyBTZXQoWyJwcm9fbmFtZSIsImJhc2VfbmFtZSIsInNob3J0X25hbWUiLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJleGNoYW5nZSIsInR5cGVzcGVjcyIsImxpc3RlZF9leGNoYW5nZSIsImxhc3RfcHJpY2UiLCJjb3VudHJ5X2NvZGUiLCJwcm92aWRlcl9pZCIsInN5bWJvbC1wcmltYXJ5bmFtZSIsImxvZ29pZCIsImxvZ28iLCJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImN1cnJlbmN5LWxvZ29pZCIsInNvdXJjZS1sb2dvaWQiLCJ1cGRhdGVfbW9kZSIsInVwZGF0ZV9tb2RlX3NlY29uZHMiLCJwcm9fcGVybSIsInNvdXJjZSIsInNvdXJjZTIiLCJwcmljZXNjYWxlIiwibWlubW92IiwiZnJhY3Rpb25hbCIsInZpc2libGUtcGxvdHMtc2V0IiwibG9jYWxfZGVzY3JpcHRpb24iLCJsYW5ndWFnZSIsInVuZGVybHlpbmctc3ltYm9sIl0pLGE9KDAscy5sYXp5VmFsdWUpKCgoKT0+bmV3IG4uUXVvdGVTZXNzaW9uU25hcHNob3Rlcih7bmFtZToiYmFzaWMtc3ltYm9sLXF1b3RlcyIsZmllbGRzOlsuLi5yXSxhcGk6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2V9KSkpLGw9bmV3IFNldChbInByb19uYW1lIl0pO2FzeW5jIGZ1bmN0aW9uIGMoZSl7cmV0dXJuKDAsaS5pc1NlcGFyYXRvckl0ZW0pKGUpP2U6YSgpLmdldFNuYXBzaG90KGUsbCkudGhlbigoZT0+ImVycm9yIj09PWUuc3RhdHVzP2Uuc3ltYm9sbmFtZTplLnZhbHVlcy5wcm9fbmFtZSkpfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIFByb21pc2UuYWxsKGUubWFwKGMpKX1mdW5jdGlvbiBkKGUpe3JldHVybiB1KGUpLnRoZW4oKGU9PlsuLi5uZXcgU2V0KGUpXSkpfX0sODUxNDU4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2ZhY3Rvck91dEJyYWNlczooKT0+cCxnZXRUb2tlbkF0UG9zOigpPT5oLGlzQmluYXJ5T3BlcmF0b3I6KCk9PnUsaXNTcHJlYWQ6KCk9PmQscGFyc2VUb2tlbjooKT0+dixzaG9ydE5hbWU6KCk9Pm0sc3ltYm9sVG9rZW5Fc2NhcGVSZTooKT0+YSx0b2tlbml6ZTooKT0+Y30pO3ZhciBuLHM9byg5MDEwMjIpLGk9byg1NjkzOTgpOyFmdW5jdGlvbihlKXtlLlN5bWJvbD0ic3ltYm9sIixlLkluY29tcGxldGVTeW1ib2w9ImluY29tcGxldGVTeW1ib2wiLGUuTnVtYmVyPSJudW1iZXIiLGUuSW5jb21wbGV0ZU51bWJlcj0iaW5jb21wbGV0ZU51bWJlciIsZS5TZXBhcmF0b3JQcmVmaXg9InNlcGFyYXRvclByZWZpeCIsZS5PcGVuQnJhY2U9Im9wZW5CcmFjZSIsZS5DbG9zZUJyYWNlPSJjbG9zZUJyYWNlIixlLlBsdXM9InBsdXMiLGUuTWludXM9Im1pbnVzIixlLk11bHRpcGx5PSJtdWx0aXBseSIsZS5EaXZpZGU9ImRpdmlkZSIsZS5Qb3dlcj0icG93ZXIiLGUuV2hpdGVzcGFjZT0id2hpdGVzcGFjZSIsZS5VbnBhcnNlZD0idW5wYXJzZWQifShufHwobj17fSkpO2NvbnN0IHI9Lyg/OlteLStcLypeXHNdJ3xbYS16QS1aMC05X1x1MDM3MC1cdTFGRkZfXHUyRTgwLVx1RkZGRl0pKD86W14tK1wvKl5cc10nfFthLXpBLVowLTlfXHUwMDIwXHUwMzcwLVx1MUZGRl9cdTJFODAtXHVGRkZGXyF8Oi4mXSkqfCcuKz8nLyxhPS9bK1wtLypdLyxsPShlPSgwLGkuaXNGZWF0dXJlRW5hYmxlZCkoImFsbG93X3RyYWlsaW5nX3doaXRlc3BhY2VfaW5fbnVtYmVyX3Rva2VuIikpPT4oe251bWJlcjplPy9cZCsoPzpcLlxkKnwoPyFbYS16QS1aMC05XyE6LiZdKSkoPzpccyooPz1ccyokKSk/fFwuXGQrKD86XHMqKD89XHMqJCkpPy86L1xkKyg/OlwuXGQqfCg/IVthLXpBLVowLTlfITouJl0pKXxcLlxkKy8saW5jb21wbGV0ZU51bWJlcjovXC4vLHN5bWJvbDpyLGluY29tcGxldGVTeW1ib2w6LydbXiddKi8sc2VwYXJhdG9yUHJlZml4OnMuU0VQQVJBVE9SX1BSRUZJWCxvcGVuQnJhY2U6IigiLGNsb3NlQnJhY2U6IikiLHBsdXM6IisiLG1pbnVzOiItIixtdWx0aXBseToiKiIsZGl2aWRlOiIvIixwb3dlcjoiXiIsd2hpdGVzcGFjZTovW1wwLVx4MjBcc10rLyx1bnBhcnNlZDpudWxsfSk7ZnVuY3Rpb24gYyhlLHQ9bCgpKXtpZighZSlyZXR1cm5bXTtjb25zdCBvPVtdLG49T2JqZWN0LmtleXModCk7bGV0IHM7Y29uc3QgaT0oKGU9bCgpKT0+bmV3IFJlZ0V4cChPYmplY3QudmFsdWVzKGUpLm1hcCgoZT0+e3JldHVybiBudWxsPT09ZT8iIjpgKCR7InN0cmluZyI9PXR5cGVvZiBlPyh0PWUsdC5yZXBsYWNlKC9bXF4kKClbXF17fSorP3xcXF0vZywiXFwkJiIpKTplLnNvdXJjZX0pYDt2YXIgdAp9KSkuZmlsdGVyKChlPT4iIiE9PWUpKS5jb25jYXQoIi4iKS5qb2luKCJ8IiksImciKSkodCk7Zm9yKDtzPWkuZXhlYyhlKTspe2xldCBlPSExO2ZvcihsZXQgdD1uLmxlbmd0aDt0LS07KWlmKHNbdCsxXSl7blt0XSYmby5wdXNoKHt2YWx1ZTpzW3QrMV0sdHlwZTpuW3RdLHByZWNlZGVuY2U6MCxvZmZzZXQ6cy5pbmRleH0pLGU9ITA7YnJlYWt9ZXx8by5wdXNoKHt2YWx1ZTpzWzBdLHR5cGU6InVucGFyc2VkIixwcmVjZWRlbmNlOjAsb2Zmc2V0OnMuaW5kZXh9KX1yZXR1cm4gb31mdW5jdGlvbiB1KGUpe3JldHVybiJwbHVzIj09PWV8fCJtaW51cyI9PT1lfHwibXVsdGlwbHkiPT09ZXx8ImRpdmlkZSI9PT1lfHwicG93ZXIiPT09ZX1mdW5jdGlvbiBkKGUpe3JldHVybiBlLmxlbmd0aD4xJiZlLnNvbWUoKGU9PnUoZS50eXBlKSkpfWZ1bmN0aW9uIGgoZSx0KXtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyl7Y29uc3Qgbj1lW29dLHM9InN5bWJvbCI9PT1uLnR5cGV8fCJpbmNvbXBsZXRlU3ltYm9sIj09PW4udHlwZXx8Im51bWJlciI9PT1uLnR5cGU7aWYobi5vZmZzZXQ8PXQmJnQ8PW4ub2Zmc2V0K24udmFsdWUubGVuZ3RoJiZzKXJldHVybiBufXJldHVybiBudWxsfWZ1bmN0aW9uIHAoZSl7ZT1mdW5jdGlvbihlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBvIG9mIGUpIndoaXRlc3BhY2UiIT09by50eXBlJiZ0LnB1c2gobyk7cmV0dXJuIHR9KGUpO2NvbnN0IHQ9W10sbz1bXTtsZXQgbjtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKyl7Y29uc3QgaT1lW3NdO3N3aXRjaChpLnR5cGUpe2Nhc2UicGx1cyI6Y2FzZSJtaW51cyI6Y2FzZSJtdWx0aXBseSI6Y2FzZSJkaXZpZGUiOmNhc2UicG93ZXIiOm8ubGVuZ3RoJiZvW28ubGVuZ3RoLTFdLm1pblByZWNlZGVuY2U+aS5wcmVjZWRlbmNlJiYob1tvLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPWkucHJlY2VkZW5jZSk7YnJlYWs7Y2FzZSJvcGVuQnJhY2UiOm49e21pblByZWNlZGVuY2U6MS8wLG9wZW5CcmFjZUluZGV4OnN9LG8ucHVzaChuKTticmVhaztjYXNlImNsb3NlQnJhY2UiOntpZihuPW8ucG9wKCksIW4pYnJlYWs7Y29uc3QgaT1lW24ub3BlbkJyYWNlSW5kZXgtMV0scj1lW3MrMV0sYT1pJiYoInBsdXMiPT09aS50eXBlfHwibXVsdGlwbHkiPT09aS50eXBlKTsoIXUocj8udHlwZSl8fHI/LnByZWNlZGVuY2U8PW4ubWluUHJlY2VkZW5jZSkmJighdShpPy50eXBlKXx8aT8ucHJlY2VkZW5jZTxuPy5taW5QcmVjZWRlbmNlfHxpPy5wcmVjZWRlbmNlPT09bj8ubWluUHJlY2VkZW5jZSYmYSkmJih0LnVuc2hpZnQobi5vcGVuQnJhY2VJbmRleCksdC5wdXNoKHMpLG8ubGVuZ3RoJiZvW28ubGVuZ3RoLTFdLm1pblByZWNlZGVuY2U+bi5taW5QcmVjZWRlbmNlJiYob1tvLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPW4ubWluUHJlY2VkZW5jZSkpfX19Zm9yKGxldCBvPXQubGVuZ3RoO28tLTspZS5zcGxpY2UodFtvXSwxKTtyZXR1cm4gZX1mdW5jdGlvbiBtKGUpe3JldHVybiBwKGMoZSkpLnJlZHVjZSgoKGUsdCk9PntpZigic3ltYm9sIiE9PXQudHlwZSlyZXR1cm4gZSt0LnZhbHVlO2NvbnN0WyxvXT12KHQpO3JldHVybiBvP2UrbzplfSksIiIpfWZ1bmN0aW9uIHYoZSl7Y29uc3QgdD0vXic/KD86KFtBLVowLTlfXSspOik/KC4qPyknPyQvaS5leGVjKGUudmFsdWUpO3JldHVybiBudWxsPT09dD9bdm9pZCAwLHZvaWQgMF06W3RbMV0sdFsyXV19fSwxMzg5OTQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7SWNvblF1ZXN0aW9uSW5mb3JtYXRpb246KCk9PnAsSWNvblF1ZXN0aW9uSW5mb3JtYXRpb25CdXR0b246KCk9PnYsSWNvblF1ZXN0aW9uSW5mb3JtYXRpb25MaW5rOigpPT5tfSk7dmFyIG49byg3Nzk0NzQpLHM9byg5MTQ0ODcpLGk9by5uKHMpLHI9bygxMTk3NTApLGE9byg4NjUwOTIpLGw9bygzNDQ3ODUpLGM9bygxOTgyMDkpLHU9by5uKGMpO2Z1bmN0aW9uIGQoKXtkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IixkKSwoMCxsLmhpZGUpKCl9Y29uc3QgaD1lPT57KDAsbC5zaG93T25FbGVtZW50KShlLmN1cnJlbnRUYXJnZXQse3Rvb2x0aXBEZWxheTowfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixkKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixkKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsZCl9LHA9KDAsbi5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtjbGFzc05hbWU6byxvbkNsaWNrOnM9aCxkb05vdFNob3dUb29sdGlwT25Ub3VjaDpjLHNpemU6ZCwuLi5wfT1lLHt0b29sdGlwOm0sY2xhc3NOYW1lOnYsLi4uZn09KDAsYS51c2VUb29sdGlwKSh7dG9vbHRpcDplLnRvb2x0aXAsZG9Ob3RTaG93VG9vbHRpcE9uVG91Y2g6ITEsc2hvd1Rvb2x0aXA6bC5zaG93T25FbGVtZW50LGhpZGVUb29sdGlwOmwuaGlkZSxvbkNsaWNrOnN9LHQpO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoci5JY29uUXVlc3Rpb25JbmZvcm1hdGlvbix7Y2xhc3NOYW1lOmkoKShvLHUoKVsiaWNvbi13cmFwcGVyIl0sbSYmdSgpWyJ3aXRoLXRvb2x0aXAiXSx2KSx0b29sdGlwOm0sc2l6ZTpkLC4uLnAsLi4uZn0pfSkpLG09KDAsbi5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtjbGFzc05hbWU6byxocmVmOnMscmVsOnIsdGFyZ2V0OmEsLi4ubH09ZSxjPSgwLG4udXNlTWVtbykoKCgpPT4oMCxuLmZvcndhcmRSZWYpKCgoZSx0KT0+bi5jcmVhdGVFbGVtZW50KCJhIix7aHJlZjpzLHJlbDpyLHRhcmdldDphLHJlZjp0LC4uLmV9KSkpKSxbcyxyLGFdKTtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KHAsey4uLmwsY2xhc3NOYW1lOmkoKShvLHUoKVsid2l0aC1saW5rIl0pLHJlbmRlckNvbXBvbmVudDpjLHJlZjp0LGRvTm90U2hvd1Rvb2x0aXBPblRvdWNoOiEwfSl9KSksdj0oMCxuLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTpvLHdpdGhBY3RpdmVTdGF0ZTpzLC4uLnJ9PWUsYT0oMCwKbi51c2VNZW1vKSgoKCk9PigwLG4uZm9yd2FyZFJlZikoKChlLHQpPT5uLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIsey4uLmUscmVmOnQsdHlwZToiYnV0dG9uIn0pKSkpLFtdKTtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KHAsey4uLnIsY2xhc3NOYW1lOmkoKShvLCFzJiZ1KClbIm5vLWFjdGl2ZS1zdGF0ZSJdKSxyZW5kZXJDb21wb25lbnQ6YSxyZWY6dH0pfSkpfSw3MDg4NDIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7VG9vbFdpZGdldENhcmV0OigpPT5jfSk7dmFyIG49byg3Nzk0NzQpLHM9byg5MTQ0ODcpLGk9by5uKHMpLHI9bygyNzMzMTApLGE9byg4MTAyODEpLGw9bygzNTY3MjEpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7ZHJvcHBlZDp0LGNsYXNzTmFtZTpvfT1lO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtjbGFzc05hbWU6aSgpKG8sYS5pY29uLHtbYS5kcm9wcGVkXTp0fSksaWNvbjpsfSl9fSwxNzA0NChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHthY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcjooKT0+bH0pO3ZhciBuPW8oODM5NDI2KSxzPW8oMTU5NTEzKSxpPW8oMzA5MDUyKSxyPW8oMjI1Mjk4KSxhPW8oOTQ4MzgwKTtjb25zdCBsPSgwLG4uZGVmYXVsdCkoKCgpPT57Y29uc3QgZT0oMCxzLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSgiZnVsbCIpO2xldCB0PW51bGw7Y29uc3Qgbz1uZXcgYS5EZWxlZ2F0ZSxuPShlLHQpPT57by5maXJlKGUsdCl9O3JldHVybiByLmxpbmtpbmcucHJvU3ltYm9sLnN1YnNjcmliZSgobz0+e3QmJmUudW5zdWJzY3JpYmUoIkFDVElWRV9QUk9fU1lNQk9MX1FVT1RFU19QUk9WSURFUiIsdCxuKSx0PW8sbyYmZS5zdWJzY3JpYmUoIkFDVElWRV9QUk9fU1lNQk9MX1FVT1RFU19QUk9WSURFUiIsbyxuKX0pLHtjYWxsV2l0aExhc3Q6ITB9KSx7cXVvdGVzOigpPT50P2kuUVVPVEVfRklFTERTX0NBQ0hFLmdldCh0KTpudWxsLHF1b3Rlc1VwZGF0ZTooKT0+byxyZXF1ZXN0ZWRTeW1ib2w6KCk9PnR9fSkpfSwyNjE5MzYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7ZGVib3VuY2VIaWRlVG9vbHRpcDooKT0+YSxzaG93VG9vbHRpcDooKT0+dX0pO3ZhciBuPW8oNTQ3ODUxKSxzPW8oMzQ0Nzg1KSxpPW8oNDgzNDA5KSxyPW8oMTg1MjcxKTtjb25zdCBhPSgwLG4uZGVmYXVsdCkobCwxNTAwKTtmdW5jdGlvbiBsKCl7ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixsKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixsKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsbCksKDAscy5oaWRlKSgpfWNvbnN0IGM9NDAwO2Z1bmN0aW9uIHUoZSx0PXt9KXtjb25zdHtpbml0aWFsRGVsYXk6bj1jLGxlYXZlT25Nb3VzZU91dDphLHdpdGhvdXRUaHVtYnN1cEljb246dSx0ZXh0OmQ9ci50KG51bGwsdm9pZCAwLG8oNDQ3MTUwKSl9PXQ7KDAscy5zaG93T25FbGVtZW50KShlLHtiZWxvdzohMCx0b29sdGlwRGVsYXk6bixjb250ZW50Ont0eXBlOiJodG1sIixkYXRhOmAke2R9JHt1PyIiOmAgPHNwYW4gc3R5bGU9InZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Ij4ke2l9PC9zcGFuPmB9YH19KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGwpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGwpLGF8fGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IixsKX19LDkxMTMyNyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtleHRyYWN0VGFiUGF0aDooKT0+ZyxnZXRTeW1ib2xQYWdlUGF0aDooKT0+YyxtYWtlU3ltYm9sQ2hhcnRVcmw6KCk9PmYsbWFrZVN5bWJvbFBhZ2VVcmw6KCk9PnZ9KTtvKDk2MzkwMCk7dmFyIG49bygzMDk4MzYpLHM9bygyNDE5MzcpLGk9byg4NTE0NTgpLHI9bygxNTY4MjkpO2NvbnN0IGE9bmV3IFNldChbIlNQOlNQWCIsIkNCT0U6U1BYIl0pO2Z1bmN0aW9uIGwoZSl7Y29uc3QgdD17Li4uZX07aWYoInNwcmVhZCI9PT10LnR5cGV8fCJleHByZXNzaW9uIj09PXQudHlwZSl7Y29uc3QgZT10LnNob3J0TmFtZSYmdSh0LnNob3J0TmFtZSksbz10LnByb05hbWUmJnUodC5wcm9OYW1lKTt0LnR5cGU9dm9pZCAwLHQuc2hvcnROYW1lPWUsdC5wcm9OYW1lPW99cmV0dXJuIHR9ZnVuY3Rpb24gYyhlLHQpe2NvbnN0IG89bChlKTtyZXR1cm4gaChwKG8sdCksZChvKSl9ZnVuY3Rpb24gdShlKXtyZXR1cm4oMCxpLnRva2VuaXplKShlKS5maW5kKChlPT4ic3ltYm9sIj09PWUudHlwZSkpPy52YWx1ZX1mdW5jdGlvbiBkKGUpe2NvbnN0IHQ9e3Nob3J0TmFtZTplLnNob3J0TmFtZSxleGNoYW5nZTplLmV4Y2hhbmdlLHByb05hbWU6ZS5wcm9OYW1lLHR5cGU6ZS50eXBlLHR5cGVzcGVjczplLnR5cGVzcGVjcyxyb290OmUucm9vdH07cmV0dXJuIHQucHJvTmFtZSYmdC5wcm9OYW1lLmluY2x1ZGVzKCI6IikmJihbdC5leGNoYW5nZSx0LnNob3J0TmFtZV09dC5wcm9OYW1lLnNwbGl0KCI6IikpLHR9ZnVuY3Rpb24gaChlLHQpe2NvbnN0IG89ZW5jb2RlVVJJQ29tcG9uZW50KHQuc2hvcnROYW1lfHwiIiksbj1lbmNvZGVVUklDb21wb25lbnQodC5leGNoYW5nZXx8IiIpLHM9ZW5jb2RlVVJJQ29tcG9uZW50KHQucHJvTmFtZXx8IiIpLGk9ZW5jb2RlVVJJQ29tcG9uZW50KHQucm9vdHx8IiIpO3JldHVybiBlLnJlcGxhY2UoInt0dmV4Y2hhbmdlfSIsbikucmVwbGFjZSgie3R2c3ltYm9sfSIsbykucmVwbGFjZSgie3R2cHJvc3ltYm9sfSIscykucmVwbGFjZSgie3R2cm9vdH0iLGkpfWZ1bmN0aW9uIHAoZSx0PSIiKXtjb25zdCBvPWQoZSkse3R5cGU6bix0eXBlc3BlY3M6cyxzaG9ydE5hbWU6aSxwcm9OYW1lOmwsZXhjaGFuZ2U6Yyxyb290OnV9PW87cmV0dXJuIHZvaWQgMD09PWkmJnZvaWQgMD09PWw/KGNvbnNvbGUud2FybigiUGFyYW1zIG1pc3NlZCIpLAoiLyIpOmwmJmEuaGFzKGwpP2Avc3ltYm9scy97dHZzeW1ib2x9LyR7dH1gOm58fHM/ImNvbW1vZGl0eSI9PT1uJiZzJiZzLmluY2x1ZGVzKCJjZmQiKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjohdXx8IXN8fCJmdXR1cmVzIiE9PW58fHMuaW5jbHVkZXMoImNvbnRpbnVvdXMiKSYmaT8uZW5kc1dpdGgoIjEhIil8fHMuaW5jbHVkZXMoImV4Y2hhbmdlLWNvbnRpbnVvdXMiKT9jJiYoImZvcmV4Ij09PW58fHMmJigwLHIuaGFzQ3J5cHRvVHlwZXNwZWMpKHMpKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjpjP2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnJvb3R9MSEvJHt0fT9jb250cmFjdD17dHZzeW1ib2x9YDpjP2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YH1mdW5jdGlvbiBtKGUsdCxvLGkpe2NvbnN0IHI9KHdpbmRvdy5sb2NhbGVfZG9tYWlucz8oMCxzLmRldGVybWluZUJhc2VVcmwpKHdpbmRvdy5sb2NhbGVfZG9tYWlucyxpKTp3aW5kb3cubG9jYXRpb24ub3JpZ2luKStoKGUsZChsKHQpKSk7cmV0dXJuIG8/KDAsbi5hZGRVdG1Ub1VybCkocixvKTpyfWZ1bmN0aW9uIHYoZSx0LG8sbil7Y29uc3Qgcz1sKGUpO3JldHVybiBtKHAocyxuKSxzLHQsbyl9ZnVuY3Rpb24gZihlLHQpe3JldHVybiBtKCIvY2hhcnQvP3N5bWJvbD17dHZwcm9zeW1ib2x9IixlLHQpfWZ1bmN0aW9uIGcoZSx0KXtjb25zdCBvPWMoe3Byb05hbWU6ZX0pO3JldHVybiB0LnN0YXJ0c1dpdGgobyk/dC5yZXBsYWNlKG8uc2xpY2UoMCxvLmxlbmd0aC0xKSwiIik6bnVsbH19LDY3MzA2NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZabTQtOS45N0wxMS45IDYgOC4zIDkuODIgNi4xIDcuNDYgNC45OSA4LjUgOC4zMiAxMiAxMyA3LjAzWiIvPjwvc3ZnPid9LDQwMDA0NihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZaTTkgNGMtLjc5IDAtMS4zOC43LTEuMjUgMS40OGwuNjcgNC4wM2EuNTkuNTkgMCAwIDAgMS4xNiAwbC42Ny00LjAzQTEuMjcgMS4yNyAwIDAgMCA5IDRabTAgOGExIDEgMCAxIDAgMCAyIDEgMSAwIDAgMCAwLTJaIi8+PC9zdmc+J30sNTI3MjE5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZabTEtMTJhMSAxIDAgMSAxLTIgMCAxIDEgMCAwIDEgMiAwWk04LjUgOS41SDdWOGgzdjZIOC41VjkuNVoiLz48L3N2Zz4nfSw3ODU5OTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOSAxN0E4IDggMCAxIDAgOSAxYTggOCAwIDAgMCAwIDE2Wm0tMS00YTEgMSAwIDEgMCAyIDAgMSAxIDAgMCAwLTIgMFptMi44My0zLjUyYy0uNDkuNDMtLjk3Ljg1LTEuMDYgMS41Mkg4LjI2Yy4wOC0xLjE4Ljc0LTEuNjkgMS4zMi0yLjEzLjQ5LS4zOC45Mi0uNzEuOTItMS4zN0MxMC41IDYuNjcgOS44MiA2IDkgNnMtMS41LjY3LTEuNSAxLjVWOEg2di0uNWEzIDMgMCAxIDEgNiAwYzAgLjk2LS42IDEuNDgtMS4xNyAxLjk4WiIvPjwvc3ZnPid9LDQwOTQ1NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTcgNEg2djE5aDE1VjEwaDF2MTRINVYzaDEyem0tMyAydjJoMWEzIDMgMCAwIDEgMyAzaC0xYTIgMiAwIDAgMC0yLTJoLTNhMiAyIDAgMSAwIDAgNGgzYTMgMyAwIDEgMSAwIDZoLTF2MmgtMXYtMmgtMWEzIDMgMCAwIDEtMy0zaDFhMiAyIDAgMCAwIDIgMmgzYTIgMiAwIDEgMCAwLTRoLTNhMyAzIDAgMSAxIDAtNmgxVjZ6bTExLS41LTIuMzM5IDIuMzU0LS43MDctLjcwOEwyMy4xMDEgNkgxOVY1aDQuMWwtMS4xNDYtMS4xNDYuNzA3LS43MDh6Ii8+PC9zdmc+J30sODQ0NjQxKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTIgMTZhNSA1IDAgMCAxIDUgNWgtMWE0IDQgMCAwIDAtNC00SDhhNCA0IDAgMCAwLTQgNEgzYTUgNSAwIDAgMSA1LTV6bTkgMWE0IDQgMCAwIDEgNCA0aC0xYTMgMyAwIDAgMC0zLTNoLTN2LTF6bS0xLjUtOWMuNDY0IDAgLjY5NyAwIC44OTIuMDI1YTMgMyAwIDAgMSAyLjU4MyAyLjU4M2MuMDI1LjE5NS4wMjUuNDI4LjAyNS44OTJzMCAuNjk3LS4wMjUuODkxbC0uMDQ0LjI1YTMgMyAwIDAgMS0yLjU0IDIuMzMzbC0uMTU2LjAxNWMtLjE2OS4wMS0uMzg3LjAxLS43MzUuMDFzLS41NjYgMC0uNzM1LS4wMWwtLjE1Ny0uMDE1YTMgMyAwIDAgMS0yLjUzOS0yLjMzNGwtLjA0NC0uMjQ5QzE2IDEyLjE5NyAxNiAxMS45NjQgMTYgMTEuNXMwLS42OTcuMDI1LS44OTJhMyAzIDAgMCAxIDIuNTgzLTIuNTgzQzE4LjgwMyA4IDE5LjAzNiA4IDE5LjUgOE0xMCA2Yy40NjQgMCAuNjk2IDAgLjg5Mi4wMjJhMy41IDMuNSAwIDAgMSAzLjA4NSAzLjA4NkMxNCA5LjMwMyAxNCA5LjUzNiAxNCAxMHMwIC42OTYtLjAyMy44OTFhMy41IDMuNSAwIDAgMS0zLjA4NSAzLjA4NkMxMC42OTYgMTQgMTAuNDY0IDE0IDEwIDE0Yy0uMzQ4IDAtLjU2NiAwLS43MzUtLjAxbC0uMTU3LS4wMTNhMy41IDMuNSAwIDAgMS0zLjAzOS0yLjc4NWwtLjA0Ny0uM0M2LjAwMSAxMC42OTUgNiAxMC40NjMgNiAxMGMwLS4zNDggMC0uNTY2LjAxLS43MzZsLjAxMi0uMTU2QTMuNSAzLjUgMCAwIDEgOC44MDggNi4wN2wuMy0uMDQ3QzkuMzA0IDYgOS41MzYgNiAxMCA2bTkuNSAzYy0uNDk2IDAtLjY0Ny4wMDItLjc2LjAxN2EyIDIgMCAwIDAtMS43MjIgMS43MjJjLS4wMTUuMTE0LS4wMTguMjY1LS4wMTguNzYgMCAuNDk2LjAwMy42NDguMDE4Ljc2MWEyIDIgMCAwIDAgMS43MjEgMS43MjJjLjExNC4wMTUuMjY1LjAxOC43NjEuMDE4cy42NDctLjAwMy43Ni0uMDE4YTIgMiAwIDAgMCAxLjcyMi0xLjcyMWMuMDE1LS4xMTQuMDE4LS4yNjYuMDE4LS43NjEgMC0uNDk2LS4wMDMtLjY0Ny0uMDE4LS43NjFhMiAyIDAgMCAwLTEuNzIxLTEuNzIyQzIwLjE0NyA5LjAwMiAxOS45OTYgOSAxOS41IDlNMTAgN2MtLjQ5MiAwLS42NTUuMDAxLS43OC4wMTVBMi41IDIuNSAwIDAgMCA3LjAxNiA5LjIyQzcgOS4zNDUgNyA5LjUxIDcgMTBjMCAuNDkyLjAwMi42NTYuMDE2Ljc4MWEyLjUgMi41IDAgMCAwIDIuMjA0IDIuMjA0Yy4xMjUuMDE0LjI4OC4wMTYuNzguMDE2cy42NTUtLjAwMi43OC0uMDE2YTIuNSAyLjUgMCAwIDAgMi4yMDQtMi4yMDRjLjAxNC0uMTI1LjAxNi0uMjg5LjAxNi0uNzhzLS4wMDItLjY1NS0uMDE2LS43OGEyLjUgMi41IDAgMCAwLTIuMjA0LTIuMjA1QzEwLjY1NSA3LjAwMSAxMC40OTIgNyAxMCA3Ii8+PC9zdmc+J30sMjI4OTU4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMiAxMC41VjI0SDZWNGgxMC41ek03IDIzaDE0VjExaC01VjVIN3ptMTItNEg5di0xaDEwem0wLTRIOXYtMWgxMHptLTYtNEg5di0xaDR6bTQtMWgzLjI2N0wxNyA2LjEzOXoiLz48L3N2Zz4nfSwxODcxNDcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTE3LjM5NCA2LjAxNC4yMTIuMTUzQTEzIDEzIDAgMCAxIDIzIDE2LjcwOVYyM2wtLjAwNC4xNTRhMyAzIDAgMCAxLTIuODQyIDIuODQyTDIwIDI2SDhhMyAzIDAgMCAxLTIuOTk2LTIuODQ2TDUgMjN2LTYuMjkxQTEzIDEzIDAgMCAxIDEwLjA4IDYuNGwuMzE0LS4yMzMuMjExLS4xNTNMOSAyaDEwek0xMC45NDkgN0ExMiAxMiAwIDAgMCA2IDE2LjcwOVYyM2EyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LTYuMjkxQTEyIDEyIDAgMCAwIDE3LjA1IDd6TTExIDE3SDl2MWgxLjc0M3YxSDl2MWgydjFIOHYtNWgzem01IDBoLTEuNDgydjRoLTEuMDMzdi00SDEydi0xaDR6bTQgMGgtMnYxaDEuNzcxdjFIMTh2MmgtMXYtNWgzek0xMS42NzcgNmg0LjY0NmwxLjItM2gtNy4wNDZ6Ii8+PC9zdmc+J30sOTI2Njk4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNSAyNWgtMXYtMmgxem0wLTRoLTF2LTJoMXptOC0xM3Y1aC0xVjkuNzA3bC03LjQ2MyA3LjQ2My01LTQtNC42ODMgNC42ODQtLjcwOC0uNzA3IDUuMzE3LTUuMzE3IDUgNEwyMS4yOTMgOUgxOFY4em0tOCA1aC0xdi0yaDF6bTAtNGgtMVY3aDF6bTAtNGgtMVYzaDF6Ii8+PC9zdmc+J30sODU5NzkxKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOSAxMmMxLjI5NiAwIDIuNDkzLjIzMiAzLjM4NS42MjkuNDQ1LjE5Ny44MzcuNDQ3IDEuMTI0Ljc0OC4yODkuMzAzLjQ5LjY4NC40OTEgMS4xMjN2Mi40NnEuMjg0LS4xODQuNjE1LS4zMzFjLjg5Mi0uMzk3IDIuMDktLjYzIDMuMzg1LS42MyAxLjI5NiAwIDIuNDkzLjIzMyAzLjM4NS42My40NDUuMTk3LjgzNy40NDcgMS4xMjQuNzQ4LjI4OS4zMDMuNDkuNjg0LjQ5MSAxLjEyM3YzYzAgLjQzOC0uMjAyLjgxOS0uNDkxIDEuMTIzLS4yODcuMzAxLS42NzkuNTUtMS4xMjQuNzQ4LS44OTIuMzk2LTIuMDkuNjI5LTMuMzg1LjYyOS0xLjI5NiAwLTIuNDkzLS4yMzMtMy4zODUtLjYzLS40NDUtLjE5Ny0uODM3LS40NDYtMS4xMjQtLjc0N2ExLjggMS44IDAgMCAxLS40MDctLjY0MnEtLjMxNi4yMi0uNy4zOWMtLjg5LjM5Ni0yLjA4Ny42MjktMy4zODQuNjI5cy0yLjQ5My0uMjMzLTMuMzg1LS42M2MtLjQ0NS0uMTk3LS44MzctLjQ0Ni0xLjEyNC0uNzQ3QzQuMjAyIDIxLjMxOSA0IDIwLjkzOCA0IDIwLjV2LTZjMC0uNDM5LjIwMi0uODIuNDkxLTEuMTIzLjI4Ny0uMzAyLjY3OS0uNTUgMS4xMjQtLjc0OC44OTItLjM5NyAyLjA5LS42MyAzLjM4NS0uNjNtMTMgOC4wMzlhNC40IDQuNCAwIDAgMS0uNjE1LjMzMmMtLjg5Mi4zOTYtMi4wOS42MjktMy4zODUuNjI5LTEuMjk2IDAtMi40OTMtLjIzMy0zLjM4NS0uNjNBNC4zIDQuMyAwIDAgMSAxNCAyMC4wNHYxLjQ2YzAgLjExNC4wNS4yNi4yMTYuNDM0LjE2OC4xNzcuNDM3LjM2LjgwNi41MjQuNzM2LjMyNyAxLjc4OS41NDMgMi45NzguNTQzczIuMjQyLS4yMTYgMi45NzktLjU0M2MuMzY4LS4xNjQuNjM3LS4zNDcuODA1LS41MjQuMTY2LS4xNzQuMjE2LS4zMi4yMTYtLjQzM3ptLTE3IC40NmMwIC4xMTQuMDUuMjYuMjE2LjQzNC4xNjguMTc3LjQzNy4zNi44MDUuNTI0LjczNy4zMjcgMS43OS41NDMgMi45NzkuNTQzczIuMjQyLS4yMTYgMi45NzktLjU0M2MuMzY4LS4xNjQuNjM3LS4zNDcuODA1LS41MjQuMTY2LS4xNzQuMjE2LS4zMi4yMTYtLjQzM3YtMS40NmE0LjQgNC40IDAgMCAxLS42MTUuMzNjLS44OTIuMzk3LTIuMDkuNjMtMy4zODUuNjMtMS4yOTYgMC0yLjQ5My0uMjMzLTMuMzg1LS42M0E0LjQgNC40IDAgMCAxIDUgMTkuMDR6TTE4IDE3Yy0xLjE5IDAtMi4yNDIuMjE2LTIuOTc5LjU0NC0uMzY4LjE2NC0uNjM3LjM0Ni0uODA1LjUyMy0uMTY2LjE3NS0uMjE2LjMyLS4yMTYuNDM0cy4wNS4yNTkuMjE2LjQzM2MuMTY4LjE3Ny40MzcuMzYuODA2LjUyNC43MzYuMzI3IDEuNzg5LjU0MyAyLjk3OC41NDNzMi4yNDItLjIxNiAyLjk3OS0uNTQzYy4zNjgtLjE2NC42MzctLjM0Ny44MDUtLjUyNC4xNjYtLjE3NC4yMTYtLjMyLjIxNi0uNDMzIDAtLjExNC0uMDUtLjI2LS4yMTYtLjQzNC0uMTY4LS4xNzctLjQzNy0uMzYtLjgwNS0uNTIzQzIwLjI0MiAxNy4yMTUgMTkuMTg5IDE3IDE4IDE3bS01LS45NmE0LjQgNC40IDAgMCAxLS42MTUuMzMyYy0uODkyLjM5Ni0yLjA5LjYyOS0zLjM4NS42MjktMS4yOTYgMC0yLjQ5My0uMjMzLTMuMzg1LS42M0E0LjMgNC4zIDAgMCAxIDUgMTYuMDR2MS40NmMwIC4xMTQuMDUuMjYuMjE2LjQzNC4xNjguMTc3LjQzNy4zNi44MDUuNTI0LjczNy4zMjcgMS43OS41NDMgMi45NzkuNTQzczIuMjQyLS4yMTYgMi45NzktLjU0M2MuMzY4LS4xNjQuNjM3LS4zNDcuODA1LS41MjQuMTY2LS4xNzQuMjE2LS4zMi4yMTYtLjQzM3pNOSAxM2MtMS4xOSAwLTIuMjQyLjIxNi0yLjk3OS41NDQtLjM2OC4xNjQtLjYzNy4zNDYtLjgwNS41MjMtLjE2Ni4xNzUtLjIxNi4zMi0uMjE2LjQzNHMuMDUuMjU5LjIxNi40MzNjLjE2OC4xNzguNDM3LjM2LjgwNS41MjQuNzM3LjMyNyAxLjc5LjU0MyAyLjk3OS41NDNzMi4yNDItLjIxNiAyLjk3OS0uNTQzYy4zNjgtLjE2NC42MzctLjM0Ny44MDUtLjUyNC4xNjYtLjE3NC4yMTYtLjMyLjIxNi0uNDMzIDAtLjExNC0uMDUtLjI2LS4yMTYtLjQzNC0uMTY4LS4xNzctLjQzNy0uMzYtLjgwNi0uNTIzQzExLjI0MyAxMy4yMTUgMTAuMTkgMTMgOSAxM20xMi41LTRhMi41IDIuNSAwIDEgMSAwIDUuMDAyQTIuNSAyLjUgMCAwIDEgMjEuNSA5bS40OTktMy4zNEwxNS43NjYgMTNsLS43NjQtLjYzTDIxLjIzNSA1ek0yMS41IDEwYTEuNSAxLjUgMCAxIDAgMCAzLjAwMSAxLjUgMS41IDAgMCAwIDAtM20tNi02YTIuNSAyLjUgMCAxIDEgMCA1LjAwMkEyLjUgMi41IDAgMCAxIDE1LjUgNG0wIDFhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTMiLz48L3N2Zz4nfSwzNzQ2MDAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTIxIDEzaDN2OC41YTIuNSAyLjUgMCAwIDEtMi41IDIuNWgtMTVhMi41IDIuNSAwIDAgMS0yLjQ4Ny0yLjI0NEw0IDIxLjVWNWgxN3pNNSAyMS41QTEuNSAxLjUgMCAwIDAgNi41IDIzSDIwVjZINXpNMjEgMjNoLjVhMS41IDEuNSAwIDAgMCAxLjUtMS41VjE0aC0yem0tNy0zSDd2LTFoN3ptNC0zSDd2LTFoMTF6bS03LTRIN1Y5aDR6bTcgMGgtNXYtMWg1ek04IDEyaDJ2LTJIOHptMTAtMmgtNVY5aDV6Ii8+PC9zdmc+J30sODg3NjYzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDEyaDguMTdsMi45NTgtNS45ODEuODk2LjQ0M0wxNy4yODYgMTJoLjA1MmwtLjQ5MyAxaC0uMDUzbC0zLjMyMiA2LjcyLS4xMzguMjhIOHY1SDdWM2gxem0wIDdoNC43MWwyLjk2Ny02SDh6bTE1LTZoLTUuMDRsLjQ5My0xSDIzeiIvPjwvc3ZnPid9LDYyNzYwMihlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTIwLjUwNSA5LjQyOS4zOTQuNzg4YTguMSA4LjEgMCAwIDEgLjUwMiA2LjAxM2MxLjQwNy0uMzI5IDIuNjkyLS4xNzIgNC4xMDMuMjgzbC40OTYuMTU3LS4xNzguNDg0Yy0uNzgxIDIuMjItMi43MjUgMy44Ni00LjY3OCA0LjU3Ni41NS41NzIuOTI2IDEuMjUzIDEuMjcgMS44NzVsLjA3My4xMzEuMjQ1LjQ0NC0uNDQ1LjIzOWMtMi4yNDIgMS4yMDctNSAuNDA4LTYuNjE0LTEuMzU1bC0uNTMxIDEuNDAyLS45MzUtLjM1NC41MTUtMS4zNmMtMi4zNi4zNDEtNS4wMTItLjc3NC01Ljk5OC0zLjEwOGwtLjE5OC0uNDY3LjQ3LS4xOWMuNjk1LS4yODQgMS40MTItLjU3IDIuMi0uNzEtMS41NDItMi4yNDEtMS40Mi00LjE3NS0uNjM2LTYuNDA0bC4xNi0uNDUxLjQ1Ny4xMzhjMS4zOTguNDI0IDIuNjA5IDEuMDQxIDMuNDQzIDIuMjY0YTkuMDIgOS4wMiAwIDAgMSA0LjMxMi00LjIwMmwuOTE3LS40MjMuNDQtLjIwM3pNMTkuMzUgMTAuNTNhOC4wMiA4LjAyIDAgMCAwLTQuMTEyIDQuMzY3bC0uMDk4LjI1Mi0uNDQ2IDEuMTQtLjQ4LTEuMTI1Yy0uNTczLTEuMzQyLTEuNTMxLTIuMDI0LTIuODYtMi40OTQtLjYwNCAyLjA4My0uNTQ0IDMuODY3IDEuMTc0IDUuNjg0bC43NTMuODMyLTEuMTIzLjAwM2MtLjc5Ni4wMDMtMS41MDguMjIxLTIuMjgzLjUyMiAxLjA1NiAxLjc2OCAzLjQ5NyAyLjUzIDUuNDg2IDEuODY2bC4zNy0uMTIzLjIxLjMyN2MxLjEzMSAxLjc2MiAzLjQ4MyAyLjY4NSA1LjQwNyAxLjk2OC0uNDI5LS43NTQtLjg0NS0xLjM4Ny0xLjUxNi0xLjgxNWwtMS4wMjYtLjY1NiAxLjE5MS0uMjU1YzEuOC0uMzg0IDMuNzgxLTEuNzY3IDQuNjgzLTMuNzEyLTEuMzU0LS4zNjQtMi41NC0uMzY3LTMuOTI2LjE2MmwtMS4wODcuNDE1LjQ0Ny0xLjA3NS4wOTctLjIzYTcuMSA3LjEgMCAwIDAtLjIwNi01LjkxOGwtLjE3OC0uMzU1em0tMTMuOTc5IDYuNy0xLjg3IDEuMDk4LS41MDYtLjg2MyAxLjg3LTEuMDk3ek0xMi41IDZhNi40OSA2LjQ5IDAgMCAxIDUuMiAyLjU5OWwtLjcxNi43MTVhNS41IDUuNSAwIDEgMC03LjY3IDcuNjdMOC42IDE3LjdBNi41IDYuNSAwIDAgMSAxMi41IDZNNCAxMnYxSDJ2LTF6bTEuNDMtNC4yNzQtLjUwNy44NjItMS45MjctMS4xMzQuNTA4LS44NjF6TTE4LjMxNSAzLjUgMTcuMjEgNS40MDNsLS44NjQtLjUwMkwxNy40NSAzek04LjY0NyA0Ljg0OWwtLjg2NS41MDItMS4wNy0xLjg0Ljg2NS0uNTAyek0xMyA0aC0xVjJoMXoiLz48L3N2Zz4nfSw2NzQ5MDUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQuNSAyMmgtMXYtM2gxem0zIDBoLTF2LTZoMXptMyAwaC0xdi04aDF6bTMgMGgtMXYtNmgxem0zIDBoLTF2LTRoMXptMyAwaC0xdi02aDF6bTMgMGgtMXYtOGgxem0tLjE0Ni0xNC4xNDYtNC41ODYgNC41ODZhMi41IDIuNSAwIDAgMS0zLjUzNiAwbC0zLjE3MS0zLjE3MmExLjUgMS41IDAgMCAwLTIuMTIyIDBsLTQuNTg1IDQuNTg2LS43MDgtLjcwN0w4LjIzMiA4LjU2YTIuNSAyLjUgMCAwIDEgMy41MzYgMGwzLjE3MiAzLjE3MWExLjUgMS41IDAgMCAwIDIuMTIgMGw0LjU4Ny00LjU4NnoiLz48L3N2Zz4nfSwzNTY3MjEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDgiIHdpZHRoPSIxNiIgaGVpZ2h0PSI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0wIDEuNDc1bDcuMzk2IDYuMDQuNTk2LjQ4NS41OTMtLjQ5TDE2IDEuMzkgMTQuODA3IDAgNy4zOTMgNi4xMjIgOC41OCA2LjEyIDEuMTg2LjA4eiIvPjwvc3ZnPid9LDQ4MzQwOShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDApIj48cGF0aCBmaWxsPSIjRkZEQjVFIiBkPSJNMTMuNjUxIDcuOTcyYzAtLjE2OC0uMDQtLjMyNS0uMTA3LS40NjgtLjQ0Ny0xLjQ0Mi0yLjU0LTEuMzM3LTUuNTE2LTEuNDA3LS40OTgtLjAxMi0uMjEzLS42LS4wMzgtMS44OS4xMTMtLjgzOC0uNDI4LTIuMTI3LTEuMzM3LTIuMTI3LTEuNSAwLS4wNTcgMS4xODMtMS4zODMgNC4xMDgtLjcwOCAxLjU2Mi0yLjI5MS42ODctMi4yOTEgMi4yNTd2My41NzNjMCAuNjEuMDYgMS4xOTguOTE5IDEuMjk1LjgzMy4wOTMuNjQ2LjY4NyAxLjg0Ny42ODdoNi4wMTVhMS4xMTIgMS4xMTIgMCAwIDAgMS4xMS0xLjExMWMwLS4yNTQtLjA4OC0uNDg2LS4yMzItLjY3My4zNC0uMTkuNTczLS41NS41NzMtLjk2NmExLjEgMS4xIDAgMCAwLS4yMzItLjY3MmMuMzQxLS4xOS41NzYtLjU1LjU3Ni0uOTY3IDAtLjMwMy0uMTIzLS41NzgtLjMyLS43NzlhMS4xMDUgMS4xMDUgMCAwIDAgLjQxNi0uODZ6Ii8+PHBhdGggZmlsbD0iI0VFOTU0NyIgZD0iTTkuNjczIDkuMDgzaDIuODY3Yy4zOSAwIC43NTctLjIwOS45NTYtLjU0NGEuMjkyLjI5MiAwIDAgMC0uNTAyLS4yOTguNTMuNTMgMCAwIDEtLjQ1NC4yNTlIOS42MDRhLjUyOC41MjggMCAwIDEgMC0xLjA1NmgxLjk2MmEuMjkyLjI5MiAwIDAgMCAwLS41ODNIOS42MDNhMS4xMTIgMS4xMTIgMCAwIDAtMS4xMSAxLjExMWMwIC4zNDIuMTU4LjY0NC40Ljg0OGExLjEwNyAxLjEwNyAwIDAgMC0uMzMyLjc5MWMwIC4zNDMuMTYuNjQ2LjQwNC44NWExLjEwNSAxLjEwNSAwIDAgMCAuMTQgMS42OTMgMS4xMDIgMS4xMDIgMCAwIDAgLjA0MiAxLjUyYy4yMDguMjA4LjQ5LjMyNS43ODUuMzI2aDEuODI4YTEuMTE3IDEuMTE3IDAgMCAwIC45NTYtLjU0NC4yOTIuMjkyIDAgMCAwLS41MDItLjI5OC41MzEuNTMxIDAgMCAxLS40NTQuMjU4SDkuOTMyYS41MjguNTI4IDAgMCAxIDAtMS4wNTVIMTIuMWExLjExNyAxLjExNyAwIDAgMCAuOTU2LS41NDQuMjkyLjI5MiAwIDEgMC0uNTAxLS4yOTguNTI2LjUyNiAwIDAgMS0uNDU0LjI1OUg5Ljc0NWEuNTI5LjUyOSAwIDAgMSAwLTEuMDU2aDIuNjk3YTEuMTE2IDEuMTE2IDAgMCAwIC45NTYtLjU0NC4yOTIuMjkyIDAgMCAwLS41MDEtLjI5OC41MjUuNTI1IDAgMCAxLS40NTUuMjU5aC0yLjc3YS41MjkuNTI5IDAgMCAxIDAtMS4wNTZ6Ii8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMTJ2MTJIMHoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4nfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52065.de9eddb339ac77d1dbf8.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.121Z","timestamp":1785141585121,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52065.de9eddb339ac77d1dbf8.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4f5c82-3a3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 09 Jul 2026 08:32:02 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/09/2026 11:43:01\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 17ab50aef4d2e2e65184c33a3cc0ada6\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":931,"size_decoded":1213,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (931), with no line terminators","md5":"3053a0430cd82554d9d18841226bcf14","sha1":"d36bf12346d438365d482697e192eb89e6c87dac","sha256":"d8e583ee4c6e07de08baade2e2c20f2ee50ce314ce21f56429ce719de2d80225","sha512":"7bf59310bea9e3dac3cef4eb734765099c03b81015f6f3e82b0024a156ac0bfe7d538daee6ff98605ea047dd495b5e9d79168d8c7f9e9788fed9cfd27e8a819d","ssdeep":"","tlshash":"bf11145751b7a222b4262a320741ce4da300cd375884dab5ee808a3cc3c999136d1b3d","first_seen":"2026-07-09T18:30:19.462745Z","last_seen":"2026-07-27T12:48:39.648105Z","times_seen":73,"resource_available":false,"data":"LmNvbnRhaW5lci1CWktFTmtoVHthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87cGFkZGluZzowIDIwcHh9LnVuc2V0QWxpZ24tQlpLRU5raFR7YWxpZ24taXRlbXM6c3RyZXRjaH0udGl0bGUtQlpLRU5raFR7Y29sb3I6dmFyKC0tdHYtY29sb3ItZGlhbG9nLWhlYWRlci10ZXh0LHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSkpO2ZsZXgtZ3JvdzoxO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoyOHB4O21pbi13aWR0aDowO3BhZGRpbmc6MTdweCAwfUBtZWRpYSAobWF4LWhlaWdodDozNjBweCl7LnRpdGxlLUJaS0VOa2hUe3BhZGRpbmc6MTBweCAwfX0uc3VidGl0bGUtQlpLRU5raFR7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjI0cHg7bWFyZ2luLWJsb2NrOjhweCAzcHg7bWFyZ2luLWlubGluZTowIDB9LnRleHRXcmFwLUJaS0VOa2hUe2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDoyOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtsaW5lLWhlaWdodDoyOHB4O21heC1oZWlnaHQ6NTZweH0uZWxsaXBzaXMtQlpLRU5raFR7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5jbG9zZS1CWktFTmtoVHtjb2xvcjp2YXIoLS10di1jb2xvci1kaWFsb2ctaGVhZGVyLXRleHQsdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KSk7ZmxleC1zaHJpbms6MDttYXJnaW4tYmxvY2s6MTdweCAxN3B4O21hcmdpbi1pbmxpbmU6MCAtM3B4fUBtZWRpYSAobWF4LWhlaWdodDozNjBweCl7LmNsb3NlLUJaS0VOa2hUe21hcmdpbi1ib3R0b206MTBweDttYXJnaW4tdG9wOjEwcHh9fS5pY29uLUJaS0VOa2hUe2hlaWdodDoxN3B4fQ=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/13492.2c77730d1125a4985bdc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.659Z","timestamp":1785141584659,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/13492.2c77730d1125a4985bdc.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b74-576\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: df8dbcde137eea6967a0fee461c94d62\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1398,"size_decoded":1347,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1398), with no line terminators","md5":"88088354fa104e0cdaa0351d0833f141","sha1":"674bbd4045db55c1c49a9f3af542cd275937376a","sha256":"c42ecd718858fd3cceedecc55ab1cf73c0ccdb74827944445c7c052992794a35","sha512":"4053448b9df28fb4c2a0b6b1789292a442298ab528e1048e9bb0152879454c993e76ea915c66ca4b0cbfcd35b123a8733dfc67fd7b9ee87d99ddc0bcfb60a2a6","ssdeep":"","tlshash":"8d217d9afbd91169a713f1355100bfc9ed5a7f60c7532395f6caf210c0caae85c75888","first_seen":"2026-04-09T17:47:32.54555Z","last_seen":"2026-07-27T14:50:15.322998Z","times_seen":626,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtYldRMjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1fMS1iV1EyOiMwMDAwfS5jb250YWluZXItekxWbTZCNHR7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtiYWNrZ3JvdW5kOnZhcigtLV8wLWJXUTIpO2JvcmRlci1yYWRpdXM6NHB4O2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzphdXRvO3BhZGRpbmc6OHB4fS5jb250ZW50LXpMVm02QjR0e3BhZGRpbmc6NHB4IDhweH0uYXJyb3dIb2xkZXItekxWbTZCNHR7cG9zaXRpb246YWJzb2x1dGV9LmFycm93SG9sZGVyLXpMVm02QjR0OmFmdGVye2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1fMC1iV1EyKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjB9LmFycm93SG9sZGVyLS1hYm92ZS16TFZtNkI0dDphZnRlciwuYXJyb3dIb2xkZXItLWJlbG93LXpMVm02QjR0OmFmdGVye2JvcmRlci1sZWZ0OjZweCBzb2xpZDtib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1fMS1iV1EyKTtib3JkZXItcmlnaHQ6NnB4IHNvbGlkO2JvcmRlci1yaWdodC1jb2xvcjp2YXIoLS1fMS1iV1EyKTtsZWZ0OjUwJTttYXJnaW4tbGVmdDotNnB4fS5hcnJvd0hvbGRlci0tYmVsb3ctekxWbTZCNHQ6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbS13aWR0aDo0cHg7Ym90dG9tOjEwMCV9LmFycm93SG9sZGVyLS1hYm92ZS16TFZtNkI0dDphZnRlcntib3JkZXItdG9wLXdpZHRoOjRweDt0b3A6MTAwJX0uYXJyb3dIb2xkZXItLWFmdGVyLXpMVm02QjR0OmFmdGVyLC5hcnJvd0hvbGRlci0tYmVmb3JlLXpMVm02QjR0OmFmdGVye2JvcmRlci1ib3R0b206NnB4IHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tXzEtYldRMik7Ym9yZGVyLXRvcDo2cHggc29saWQ7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1fMS1iV1EyKTttYXJnaW4tdG9wOi02cHg7dG9wOjUwJX0uYXJyb3dIb2xkZXItLWJlZm9yZS16TFZtNkI0dDphZnRlcntib3JkZXItcmlnaHQtd2lkdGg6NHB4O3JpZ2h0OjEwMCV9LmFycm93SG9sZGVyLS1hZnRlci16TFZtNkI0dDphZnRlcntib3JkZXItbGVmdC13aWR0aDo0cHg7bGVmdDoxMDAlfS5hcnJvd0hvbGRlci0tYWJvdmUtZml4LXpMVm02QjR0e2JvdHRvbTowfS5hcnJvd0hvbGRlci0tYmVmb3JlLXJ0bC1maXgtekxWbTZCNHQ6ZGlyKHJ0bCl7bGVmdDowfS5hcnJvd0hvbGRlci0tYWZ0ZXItbHRyLWZpeC16TFZtNkI0dHtyaWdodDowfS5sYWJlbC16TFZtNkI0dHtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bzttYXJnaW4taW5saW5lLWVuZDoyNHB4fS5jbG9zZUJ1dHRvbi16TFZtNkI0dHtjb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/elementor/assets/css/widget-image.min.css?ver=3.26.5","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.889Z","timestamp":1785141582889,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/plugins/elementor/assets/css/widget-image.min.css?ver=3.26.5 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://oxlofttrd.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:57:43 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 165\r\nKeep-Alive: timeout=5, max=98\r\nConnection: Keep-Alive\r\nContent-Type: text/css\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":254,"size_decoded":515,"mime_type":"text/css","magic":"ASCII text","md5":"d7bf67366902e30a251e7a4239cf7efa","sha1":"fe0e2da6742044fa906aab6f4761ac5327f45132","sha256":"4511189810897916c181a1eca664f5decded92b62f9338df10d730c9651c3e28","sha512":"cbd1520a1f04334870a225219c071bd43dd8b0e0614c7e1ae96d8a8b4e3929eb746efb81815fab986d41a883267d8a526fb44add805b1e12b1bdf1829da788aa","ssdeep":"","tlshash":"a1d05e4134678382701f596d2aab2a9e78c01dd8e246cb90aca1665266bacc83772120","first_seen":"2025-01-16T00:22:47.898904Z","last_seen":"2026-07-27T12:12:28.966434Z","times_seen":460,"resource_available":false,"data":"LyohIGVsZW1lbnRvciAtIHYzLjI2LjAgLSAxNS0wMS0yMDI1ICovCi5lbGVtZW50b3Itd2lkZ2V0LWltYWdle3RleHQtYWxpZ246Y2VudGVyfS5lbGVtZW50b3Itd2lkZ2V0LWltYWdlIGF7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmVsZW1lbnRvci13aWRnZXQtaW1hZ2UgYSBpbWdbc3JjJD0iLnN2ZyJde3dpZHRoOjQ4cHh9LmVsZW1lbnRvci13aWRnZXQtaW1hZ2UgaW1ne2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0="}},"time_used":238,"timings":{"blocked":147,"dns":0,"connect":0,"send":0,"wait":91,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/uploads/2025/01/Ox-Loft-Trade-LTD-LOGO-REC-350-%C3%97-100.png","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.931Z","timestamp":1785141582931,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/uploads/2025/01/Ox-Loft-Trade-LTD-LOGO-REC-350-%C3%97-100.png HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,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://oxlofttrd.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 11:28:20 GMT\r\nAccept-Ranges: bytes\r\nContent-Length: 67281\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nKeep-Alive: timeout=5, max=90\r\nConnection: Keep-Alive\r\nContent-Type: image/png\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":67281,"size_decoded":67587,"mime_type":"image/png","magic":"PNG image data, 350 x 129, 16-bit/color RGBA, non-interlaced","md5":"1b9dbcf5d221249eb7b11e5d9be989b9","sha1":"a19b282070870df572ccd9fb2701c9ee69352a2a","sha256":"69a833d6d8fe03ff88debac5ccf7a5e0c78c11955e562701f113de0d59eea671","sha512":"741ad53f1ce6a4d5e95c915ac1a1fa301cac229697f7b796ba5d01d41ff7f50fb2a32f90158e738c099422e94c033a25988fd41f9be6d06c00ed24a2f13e4315","ssdeep":"1536:IdammB7gHTFx/ljC4HeUgN1TyuWKQ/JU18mpc3Os:9J4ZxQee1uf0eOC","tlshash":"ab630158db02c514a24fff09fec64b9bce7b5284e5d068647895ee44ccb1b7cac498ca","first_seen":"2026-07-27T06:14:34.23045Z","last_seen":"2026-07-27T12:12:28.830589Z","times_seen":5,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAV4AAACBEAYAAADYpA4XAAAACXBIWXMAAC4jAAAuIwF4pT92AAAPlGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0MzUyLCAyMDIwLzAxLzMwLTE1OjUwOjM4ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnBkZj0iaHR0cDovL25zLmFkb2JlLmNvbS9wZGYvMS4zLyIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyMS4xIChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjUtMDEtMDNUMTQ6MDgrMDE6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjUtMDEtMTZUMTI6Mjc6NTArMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI1LTAxLTE2VDEyOjI3OjUwKzAxOjAwIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ4NWU1MTIyLTE2OWQtY2I0Zi04NDM4LTJmMWY0ZDM1NmY1MCIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjg1MzUzN2U3LTllMTctNTA0Ni1iYzE1LTc3ZWYzZDc2ZGFhOSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOmM4ZTQ3YjZlLTBjZTQtMmQ0Yi1hY2NiLTE0YzYxM2Y4MmZmOCIgcGRmOlByb2R1Y2VyPSJBZG9iZSBQaG90b3Nob3AgZm9yIFdpbmRvd3MgLS0gSW1hZ2UgQ29udmVyc2lvbiBQbHVnLWluIiB0aWZmOk9yaWVudGF0aW9uPSIxIiB0aWZmOlhSZXNvbHV0aW9uPSIzMDAwMDAwLzEwMDAwIiB0aWZmOllSZXNvbHV0aW9uPSIzMDAwMDAwLzEwMDAwIiB0aWZmOlJlc29sdXRpb25Vbml0PSIyIiBleGlmOkNvbG9yU3BhY2U9IjEiIGV4aWY6UGl4ZWxYRGltZW5zaW9uPSIzMDAwIiBleGlmOlBpeGVsWURpbWVuc2lvbj0iMzAwMCI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YzhlNDdiNmUtMGNlNC0yZDRiLWFjY2ItMTRjNjEzZjgyZmY4IiBzdEV2dDp3aGVuPSIyMDI1LTAxLTAzVDE0OjA4KzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMSAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmVhOWQ2YzJmLTMwMTYtZDI0ZC1hNmI1LTQ5MWJkYTY2MmMyNyIgc3RFdnQ6d2hlbj0iMjAyNS0wMS0wM1QxNDowOToyNCswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjEgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjb252ZXJ0ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBhcHBsaWNhdGlvbi9wZGYiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImRlcml2ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImNvbnZlcnRlZCBmcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gYXBwbGljYXRpb24vcGRmIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo0YjRiMGEzYi0yMWVlLTBhNDctOTAwNS04ZmQ0ZjcwMWQ0YjYiIHN0RXZ0OndoZW49IjIwMjUtMDEtMDNUMTQ6MDk6MjQrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4xIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MmM2ZWI5ODItNmI2Yy01YTRkLTg0MjYtZThlYjA4YjMwOTJhIiBzdEV2dDp3aGVuPSIyMDI1LTAxLTAzVDE0OjE0OjIyKzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMSAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImRlcml2ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImNvbnZlcnRlZCBmcm9tIGFwcGxpY2F0aW9uL3BkZiB0byBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDphMGY0ZTY5Ni1iYjlkLTBmNGEtOGY3Zi02ZTJmZWQ2OGMwZWYiIHN0RXZ0OndoZW49IjIwMjUtMDEtMDNUMTQ6MTU6NDYrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4xIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YmIxYjAxMmYtZTBkNC00MjQ0LWE2NWUtYjNlMmNlN2ZkYWIwIiBzdEV2dDp3aGVuPSIyMDI1LTAxLTE2VDEyOjExOjEzKzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMSAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNvbnZlcnRlZCIgc3RFdnQ6cGFyYW1ldGVycz0iZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iZGVyaXZlZCIgc3RFdnQ6cGFyYW1ldGVycz0iY29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmVlZGU5ZDkyLWRiNmMtYjU0Mi1hZTkyLWM4OGM5ZGUwM2U1YyIgc3RFdnQ6d2hlbj0iMjAyNS0wMS0xNlQxMjoxMToxMyswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjEgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ODVlNTEyMi0xNjlkLWNiNGYtODQzOC0y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"}},"time_used":855,"timings":{"blocked":673,"dns":0,"connect":0,"send":0,"wait":92,"receive":90,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.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://oxlofttrd.com/","date":"2026-07-27T08:39:43.878Z","timestamp":1785141583878,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /embed-widget/advanced-chart/?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://oxlofttrd.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 08:39:44 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 08:41:11 GMT\r\ncontent-security-policy: default-src 'self' https: data: blob: wss: 'unsafe-inline'; base-uri 'none'; object-src '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-4GX563+cDNcG7cnJae+t4g=='\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 08:39:44\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1d2a2812b2eae7166e11456bc81dc48e\r\ncdn-cache: EXPIRED\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]},{"name":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]}],"data":{"size":76549,"size_decoded":18874,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (17729)","md5":"95aea1b56daf44f6297134dc827b980c","sha1":"b2e3928963bbadbefe0ebce6d5004e5e5cf47b6d","sha256":"9074e249ff307ba6fbac4deffc2a4d21577751ddc994cbc95f251cb0868a8367","sha512":"152786af31acb9b8b81cb20656bfd57f2ba4ad19831cef3f261b2b3e7b9bff2118ec9f86cf4cc78c5cb05e15a4998f97ac79cc52a6d5ade00c66b1851fe55e32","ssdeep":"1536:h8DCteAQTe8NzMob3e9c/1fFNogdZ3s4UNogdJWn+66ceuvRMK:h8DCteAQTe8NzMob3e9c/1fFNlcNlJWR","tlshash":"12730757d80d8705d9968a157c33b202fd29036c859268947aecdcec149bec3f19bbbe","first_seen":"2026-07-27T08:40:28.72233Z","last_seen":"2026-07-27T08:41:50.491118Z","times_seen":2,"resource_available":false,"data":"Cgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xIj4KCTx0aXRsZT5UcmFkaW5nVmlldyBDaGFydCBXaWRnZXQ8L3RpdGxlPgoKCjxsaW5rCglyZWw9ImNvbnZlcnNpb25zLWNvbmZpZyBwcmVmZXRjaCIKYXM9ImZldGNoIiBjcm9zc29yaWdpbglocmVmPSJodHRwczovL3MzLnRyYWRpbmd2aWV3LmNvbS9jb252ZXJzaW9uc19lbi5qc29uIgo+CjxsaW5rCglyZWw9Im1ldHJpY3MtY29uZmlnIHByZWZldGNoIgphcz0iZmV0Y2giCWhyZWY9Imh0dHBzOi8vc2Nhbm5lci1iYWNrZW5kLnRyYWRpbmd2aWV3LmNvbS9lbnVtL29yZGVyZWQ/aWQ9bWV0cmljc19mdWxsX25hbWUsbWV0cmljcyZsYW5nPWVuJmxhYmVsLXByb2R1Y3Q9eXRtLW1ldHJpY3MtcGxhbi5qc29uIgoJY3Jvc3NvcmlnaW4KPjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vIiBjcm9zc29yaWdpbj4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL3BpbmUtZmFjYWRlLnRyYWRpbmd2aWV3LmNvbS9waW5lLWZhY2FkZSIgY3Jvc3NvcmlnaW49InVzZS1jcmVkZW50aWFscyI+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzkwNS42ODJlODllZjJkYzRjNzA0MjNjNi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NDY4MS5hNzE3MTEwZTY3NDlmMzA3ZWQ2ZC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMTgzNy5kMzY4Y2FhNjRkNDk0YTQwODdjYy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MTUwOC43NjcyMTkyODNjNjVmNGQ0Y2E2ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTUxOC4wODFmOTYzN2I5NGVlNjJhNmU2Zi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMjYzMi41OTZlNTM0OGExNTM4YTE4ZmQ0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84NDA4LmRlNTM0NjYzZTA1MjA3NWJhMTJmLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5NTI3LjE1YzVjMjVkMjdhNTZhMGRmNzcyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzExNDA5LmZmODRjZTRkNTIzZDM1NDBjN2IyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMwMjAwLjcxZGEwNzZmYjAxOTdlNGQ1OTUzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg4OTA2LjBkNjUwNDY5YzljODQzNTc3YjQ3LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzEzODA5LmMyYmIxNjIzY2VkNzdhZDA3ZjljLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg1NTEwLmRlODYyZjlkMjZkYjdjZjNjZDA4LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMzNzM1LjJjYjg0NGFkMmIwZjNjODkyMTYyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgoKPHNjcmlwdCBub25jZT0iNEdYNTYzK2NETmNHN2NuSmFlK3Q0Zz09Ij4KCXdpbmRvdy5sb2NhbGUgPSAnZW4nOwoJd2luZG93Lmxhbmd1YWdlID0gJ2VuJzsKPC9zY3JpcHQ+Cgk8c2NyaXB0IG5vbmNlPSI0R1g1NjMrY0ROY0c3Y25KYWUrdDRnPT0iPnZhciBlbnZpcm9ubWVudCA9ICJiYXR0bGUiOzwvc2NyaXB0PgoKPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9ydW50aW1lLWVtYmVkX2FkdmFuY2VkX2NoYXJ0LjJhZGFkZjFjYzBlYzU3MDk3ODAzLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi41ODY2Ny5kMTVmYzRiNWM2MzFiYjVlY2U4ZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uNjIzNTEuYjM4MmRhMTc0ZjA5N2EwZDBlNDMuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjk1MTE0LjNiNTczMzVhM2QxY2I0YzgwYmRkLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xMzE0OC4zMmNjMDFkYzAxNzUxYjkxNjgyYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDkyNjUuYzIwOGVmODM3OWUwNzNmOTRkMTYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5ODI3LmQzOTc2ZGMwYzVjZmEyYzIxNDBlLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NjI1OC4yODJlNjE0MWZjMDJhYzg1ZDBkNS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTM2MjcuMTE1MTk1YjcyZjJkOTJjZWNiOWIuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM0Njc4LjRhOTkyYWExNTBkOGVkYTVmMjljLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80NDkxMS5mYTYxZDJhMjc0ZDQyMjQ0MzRjYS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjU4NjIuOTU3NjQ3NTJjMDlmM2YxOGY4OTAuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zNTUyLjRjNTUzNTE4M2I3YTAzMzBhODlkLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NDgyNS44YTkwYzBjM2ViZDQxM2ViOWM4MS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTIxODEuYjY1YTU4MzU1ZmY3Y2MzNDk1MGYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzY5MzQuOTBlZGZlZjZjZTk4MzY5YWUwNGEuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk1MjQ0LjlkYTg4OWMxMzZkMjUwNmEzZDgxLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NTk2OS40M2MzNzQ4MDE0ZGUyY2QwYmQxYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTM0MjYuMDA4M2QxNjNkNzI4YmZmNzg0ZDkuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzYzMTYwLjJhM2EyMTE4NWZiY2M3MDc5ZGFlLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NzQ3Mi5lODE5NTQwNWY5OTA1NWE4M2M2Zi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTk0NjUuOGU5YzA2Yjc2YzlkNTBiYzI0MmIuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX2FkdmFuY2VkX2NoYXJ0LjZkMDdlNGZkOGUzZjI3ODVjZjI1LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz48c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9ydW50aW1lLWVtYmVkX2FkdmFuY2VkX2NoYXJ0LjJhZGFkZjFjYzBlYzU3MDk3ODAzLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uNTg2NjcuZDE1ZmM0YjVjNjMxYmI1ZWNlOGQuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi42MjM1MS5iMzgyZGExNzRmMDk3YTBkMGU0My5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjk1MTE0LjNiNTczMzVhM2QxY2I0YzgwYmRkLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTMxNDguMzJjYzAxZGMwMTc1MWI5MTY4MmMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTI2NS5jMjA4ZWY4Mzc5ZTA3M2Y5NGQxNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5ODI3LmQzOTc2ZGMwYzVjZmEyYzIxNDBlLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTYyNTguMjgyZTYxNDFmYzAyYWM4NWQwZDUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MzYyNy4xMTUxOTViNzJmMmQ5MmNlY2I5Yi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM0Njc4LjRhOTkyYWExNTBkOGVkYTVmMjljLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDQ5MTEuZmE2MWQyYTI3NGQ0MjI0NDM0Y2EuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82NTg2Mi45NTc2NDc1MmMwOWYzZjE4Zjg5MC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzU1Mi40YzU1MzUxODNiN2EwMzMwYTg5ZC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk0ODI1LjhhOTBjMGMzZWJkNDEzZWI5YzgxLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTIxODEuYjY1YTU4MzU1ZmY3Y2MzNDk1MGYuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82OTM0LjkwZWRmZWY2Y2U5ODM2OWFlMDRhLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTUyNDQuOWRhODg5YzEzNmQyNTA2YTNkODEuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NTk2OS40M2MzNzQ4MDE0ZGUyY2QwYmQxYy5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzkzNDI2LjAwODNkMTYzZDcyOGJmZjc4NGQ5LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjMxNjAuMmEzYTIxMTg1ZmJjYzcwNzlkYWUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NzQ3Mi5lODE5NTQwNWY5OTA1NWE4M2M2Zi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzU5NDY1LjhlOWMwNmI3NmM5ZDUwYmMyNDJiLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW1iZWRfYWR2YW5jZWRfY2hhcnQuNmQwN2U0ZmQ4ZTNmMjc4NWNmMjUuanMiIGRlZmVyPjwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9IjRHWDU2MytjRE5jRzdjbkphZSt0NGc9PSI+d2luZG93LmZlYXR1cmVUb2dnbGVTdGF0ZSA9IHsic2hvd19mZWF0dXJlZF9pcG8iOjEuMCwiYmxhY2tfZnJpZGF5X3BvcHVwIjoxLjAsImJsYWNrX2ZyaWRheV9tYWlucGFnZSI6MS4wLCJibGFja19mcmlkYXlfZXh0ZW5kX2xpbWl0YXRpb24iOjEuMCwiZW5hYmxlX3RyYWRpbmdfcmVwbGF5X2Zvcl9wb2ludF9pbmRleGVzIjoxLjAsImluY3JlYXNlX21ldGFpbmZvX3ZlcnNpb24iOjAuMzUsImNoYXJ0X2F1dG9zYXZlXzVtaW4iOjEuMCwiY2hhcnRfYXV0b3NhdmVfMzBtaW4iOjEuMCwicGVyZm9ybWFuY2VfdGVzdF9tb2RlIjoxLjAsImNoZWNrX2F1dGhfdG9rZW5fZXhwaXJhdGlvbl9vbl9ldmVyeV9yZXF1ZXN0IjoxLjAsImNoYXJ0X3N0b3JhZ2VfaGliZXJuYXRpb25fZGVsYXlfNjBtaW4iOjEuMCwic3VwcG9ydF9wZXJzaXN0ZW50X2xvZ3MiOjEuMCwibmV3X3N0b3JhZ2Vfc3Vic2NyaXB0aW9uX3VybCI6MS4wLCJyZW1vdmVfYW5jaG9yZWRfdGV4dCI6MS4wLCJlbmFibGVfc3RlcF9ieV9zdGVwX2hpbnRzX2Zvcl9kcmF3aW5ncyI6MS4wLCJwdXNoc3RyZWFtX2Jhc2ljX3RlbGVtZXRyeSI6MS4wLCJhbGxvd19icmFja2V0c19wcm9maXRfbG9zcyI6MS4wLCJlbmFibGVfdHJhZGVkX2NvbnRleHRfbGlua2luZyI6MS4wLCJvcmRlcl9jb250ZXh0X3ZhbGlkYXRpb25faW5faW5zdGFudF9tb2RlIjoxLjAsImFsZXJ0cy1vbi1mdW5kYW1lbnRhbC1tZXRyaWNzIjoxLjAsImFsZXJ0cy1ub3RpZmljYXRpb24tc2NoZWR1bGUiOjEuMCwiYWxlcnRzLXdhdGNobGlzdC1leHRlbmRlZC1ob3VycyI6MS4wLCJlbmFibGVfc3ltYm9sX2NoYW5nZV9yZXN0cmljdGlvbl9vbl93aWRnZXRzIjoxLjAsImVuYWJsZV9hc3hfc3ltYm9sX3Jlc3RyaWN0aW9uIjoxLjAsInN5bXBob255X2FsbG93X25vbl9wYXJ0aXRpb25lZF9jb29raWVfb25fb2xkX3N5bXBob255IjoxLjAsInN5bXBob255X25vdGlmaWNhdGlvbl9iYWRnZXMiOjEuMCwic3ltcGhvbnlfdXNlX2Fka19mb3JfdXBncmFkZV9yZXF1ZXN0IjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3RyYWNraW5nIjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3NvZnRfbGltaXQiOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfaGFyZF9saW1pdCI6MS4wLCJ0ZWxlZ3JhbV9taW5pX2FwcF9yZWR1Y2Vfc25hcHNob3RfcXVhbGl0eSI6MS4wLCJuZXdzX3N5bWJvbF9vdmVydmlld19rZXlfZmFjdHMiOjEuMCwidGltZW91dF9kamFuZ29fZGIiOjAuMTUsInRpbWVvdXRfZGphbmdvX3VzZXJzZXR0aW5nc19kYiI6MC4xNSwidGltZW91dF9kamFuZ29fY2hhcnRzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19zeW1ib2xzX2xpc3RzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19taW5kc19kYiI6MC4wNSwidGltZW91dF9kamFuZ29fbG9nZ2luZ19kYiI6MC4yNSwiZGlzYWJsZV9zZXJ2aWNlc19tb25pdG9yX21ldHJpY3MiOjEuMCwiZW5hYmxlX3NpZ25pbl9yZWNhcHRjaGEiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWwiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWxfY29tbWVudHMiOjEuMCwiZW5hYmxlX3NwYW1kZXRlY3Rvcm1sX2NoYXQiOjEuMCwiZW5hYmxlX21pbmRzX3NwYW1kZXRlY3Rvcm1sIjoxLjAsImJhY2tlbmQtY29ubmVjdGlvbnMtaW4tdG9rZW4iOjEuMCwib25lX2Nvbm5lY3Rpb25fd2l0aF9leGNoYW5nZXMiOjEuMCwibW9iaWxlLWFkcy1pb3MiOjEuMCwibW9iaWxlLWFkcy1hbmRyb2lkIjoxLjAsImdvb2dsZS1vbmUtdGFwLXNpZ25pbiI6MS4wLCJicmFpbnRyZWUtZ29wcm8taW4tb3JkZXItZGlhbG9nIjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWdvb2dsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS1mcm9tLWlvcy1hcHAiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS10cmlhbCI6MS4wLCJ0cmlwbGVhLXBheW1lbnRzIjoxLjAsImJyYWludHJlZS1nb29nbGUtcGF5LXRyaWFsIjoxLjAsImJyYWludHJlZS1vbmUtdXNkLXZlcmlmaWNhdGlvbiI6MS4wLCJicmFpbnRyZWUtM2RzLWVuYWJsZWQiOjEuMCwiYnJhaW50cmVlLTNkcy1zdGF0dXMtY2hlY2siOjEuMCwiYnJhaW50cmVlLWFkZGl0aW9uYWwtY2FyZC1jaGVja3MtZm9yLXRyaWFsIjoxLjAsImJyYWludHJlZS1pbnN0YW50LXNldHRsZW1lbnQiOjEuMCwiYnJhaW50cmVlX3JlY3VycmluZ19iaWxsaW5nX3NjaGVkdWxlcl9zdWJzY3JpcHRpb24iOjEuMCwiY2hlY2tvdXRfbWFudWFsX2NhcHR1cmVfcmVxdWlyZWQiOjEuMCwiY2hlY2tvdXQtc3Vic2NyaXB0aW9ucyI6MS4wLCJjaGVja291dF9hZGRpdGlvbmFsX2NhcmRfY2hlY2tzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfcHJlbWl1bV90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX3ByZXBhaWRfY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2FkZGl0aW9uYWxfY2FyZF9jaGVja3NfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3ByZW1pdW1fdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fcHJlcGFpZF9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9jb21tZXJjaWFsX2NhcmRfdHJpYWwiOjEuMCwiZW5hYmxlX3BheW1lbnRzXzNkc19vcHRpbWl6YXRpb24iOjEuMCwiY291bnRyeV9vZl9pc3N1YW5jZV92c19iaWxsaW5nX2NvdW50cnkiOjEuMCwiY2hlY2tvdXRfc2hvd19pbnN0ZWFkX29mX2JyYWludHJlZSI6MS4wLCJjaGVja291dC0zZHMiOjEuMCwiY2hlY2tvdXQtcGF5cGFsIjoxLjAsImNoZWNrb3V0X2luY2x1ZGVfYWNjb3VudF9ob2xkZXIiOjEuMCwiY2hlY2tvdXQtcGF5cGFsLXRyaWFsIjoxLjAsImFubnVhbF90b19tb250aGx5X2Rvd25ncmFkZV9hdHRlbXB0IjoxLjAsInJhem9ycGF5X3RyaWFsXzEwX2luciI6MS4wLCJyYXpvcnBheS1jYXJkLW9yZGVyLXRva2VuLXNlY3Rpb24iOjEuMCwicmF6b3JwYXktY2FyZC1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXVwaS1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXMzLWludm9pY2UtdXBsb2FkIjoxLjAsInJhem9ycGF5X2luY2x1ZGVfZGF0ZV9vZl9iaXJ0aCI6MS4wLCJkbG9jYWwtcGF5bWVudHMiOjEuMCwicmV2b2x1dC1wYXktcGF5bWVudHMiOjEuMCwicmV2b2x1dC1jYXJkLXBheW1lbnRzIjowLjUsImRsb2NhbC1waXgtYXV0b21hdGljbyI6MS4wLCJicmFpbnRyZWVfdHJhbnNhY3Rpb25fc291cmNlIjoxLjAsInZlcnRleC10YXgiOjEuMCwidmVydGV4LXRheC1maXgiOjEuMCwicmVjZWlwdF9pbl9lbWFpbHMiOjEuMCwiYWR3b3Jkcy1hbmFseXRpY3MiOjEuMCwiY20zNjAtYW5hbHl0aWNzIjoxLjAsImRpc2FibGVfbW9iaWxlX3Vwc2VsbF9pb3MiOjEuMCwiZGlzYWJsZV9tb2JpbGVfdXBzZWxsX2FuZHJvaWQiOjEuMCwicmVxdWlyZWRfYWdyZWVtZW50X2Zvcl9ydCI6MS4wLCJjaGVja19tYXJrZXRfZGF0YV9saW1pdHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfZGF0YSI6MS4wLCJmb3JjZV90b191cGdyYWRlX3RvX2V4cGVydCI6MS4wLCJzZW5kX3RyYWRldmFuX2ludm9pY2UiOjEuMCwic2hvd19wZXBlX2FuaW1hdGlvbiI6MS4wLCJzZW5kX25leHRfcGF5bWVudF9pbmZvX3JlY2VpcHQiOjEuMCwic3VwcG9ydF9vdmVybmlnaHRfc2Vzc2lvbiI6MS4wLCJzY3JlZW5lci1hbGVydHMtcmVhZC1vbmx5IjoxLjAsInNjcmVlbmVyX2JvbmRfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX3N0b2NrX2FpX2ZpbHRlcnNfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9pc19hbGxvd2VkX3RvX2NyZWF0ZV9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmF0aW5nX2NvbHVtbnNfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfc29ydGluZ19yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9ncm91cF9ieV9pc2luX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3N5bWJvbF9zZWFyY2hfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmVnaXN0cmF0aW9uX2Jhbm5lcl9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2VzX3RyYWNraW5nIjoxLjAsInNlbmRfZmluYW5jaWFsX25vdGlmaWNhdGlvbnMiOjEuMCwic3BhcmtfdHJhbnNsYXRpb25zIjoxLjAsInNwYXJrX2NhdGVnb3J5X3RyYW5zbGF0aW9ucyI6MS4wLCJzcGFya190YWdzX3RyYW5zbGF0aW9ucyI6MS4wLCJwcm9fcGxhbl9pbml0aWFsX3JlZnVuZHNfZGlzYWJsZWQiOjEuMCwicHJldmlvdXNfbW9ub3Byb2R1Y3RfcHVyY2hhc2VzX3JlZnVuZHNfZW5hYmxlZCI6MS4wLCJlbmFibGVfaWRlYXNfcmVjb21tZW5kYXRpb25zIjoxLjAsImVuYWJsZV9pZGVhc19yZWNvbW1lbmRhdGlvbnNfZmVlZCI6MS4wLCJmYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImV0aG9jYV9hbGVydF9ub3RpZmljYXRpb25fd2ViaG9vayI6MS4wLCJoaWRlX3N1c3BpY2lvdXNfdXNlcnNfaWRlYXMiOjEuMCwiZGlzYWJsZV9wdWJsaXNoX3N0cmF0ZWd5X3JhbmdlX2Jhc2VkX2NoYXJ0IjoxLjAsInJlc3RyaWN0X3NpbXVsdGFuZW91c19yZXF1ZXN0cyI6MS4wLCJsb2dpbl9mcm9tX25ld19kZXZpY2VfZW1haWwiOjEuMCwic3NyX3dvcmtlcl9ub3dhaXQiOjEuMCwiYnJva2VyX0ExQ0FQSVRBTCI6MS4wLCJicm9rZXJfQUNUSVZUUkFERVMiOjEuMCwiYnJva2VyX0FMQ0hFTVlNQVJLRVRTIjoxLjAsImJyb2tlcl9BTElDRUJMVUUiOjEuMCwiaGlkZV9BTE9SX29uX2lvcyI6MS4wLCJoaWRlX0FMT1Jfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0FMT1Jfb25fbW9iaWxlX3dlYiI6MS4wLCJhbG9yLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfQUxQQUNBIjoxLjAsImJyb2tlcl9BTFJBTVoiOjEuMCwiYnJva2VyX0FNUCI6MS4wLCJicm9rZXJfQU5HRUxPTkUiOjEuMCwiYnJva2VyX0FWQV9GVVRVUkVTIjoxLjAsIkFWQV9GVVRVUkVTX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX0IyUFJJTUUiOjEuMCwiYnJva2VyX0JBSkFKIjoxLjAsImJyb2tlcl9CRVlPTkQiOjEuMCwiYnJva2VyX0JJTkFOQ0UiOjEuMCwiZW5hYmxlX2JpbmFuY2VhcGlzX2Jhc2VfdXJsIjoxLjAsImJyb2tlcl9CSU5HQk9OIjoxLjAsImJyb2tlcl9CSVRBWlpBIjoxLjAsImJyb2tlcl9CSVRHRVQiOjEuMCwiYnJva2VyX0JJVE1FWCI6MS4wLCJicm9rZXJfQklUU1RBTVAiOjEuMCwiYnJva2VyX0JMQUNLQlVMTCI6MS4wLCJicm9rZXJfQkxVRUJFUlJZTUFSS0VUUyI6MS4wLCJicm9rZXJfQlRDQyI6MS4wLCJicm9rZXJfQllCSVQiOjEuMCwiYnJva2VyX0NBUElUQUxDT00iOjEuMCwiYnJva2VyX0NBUFRSQURFUiI6MS4wLCJDQVBUUkFERVJfc2VwYXJhdGVfaW50ZWdyYXRpb25fbWlncmF0aW9uX3dhcm5pbmciOjEuMCwiYnJva2VyX0NGSSI6MS4wLCJicm9rZXJfQ0dTSSI6MS4wLCJicm9rZXJfQ0lUWUlOREVYIjoxLjAsImNpdHlpbmRleF9zcHJlYWRiZXR0aW5nIjoxLjAsIkNMRUFSU1RSRUVUX2JldGEiOjEuMCwiYnJva2VyX0NNQ01BUktFVFMiOjEuMCwiYnJva2VyX0NPQlJBVFJBRElORyI6MS4wLCJicm9rZXJfQ09JTkJBU0UiOjEuMCwiY29pbmJhc2VfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImNvaW5iYXNlX2NhbmNlbF9wb3NpdGlvbl9icmFja2V0cyI6MS4wLCJicm9rZXJfQ09JTkpBUiI6MS4wLCJDT0lOSkFSX2JldGEiOjEuMCwiYnJva2VyX0NPSU5TV0lUQ0giOjEuMCwiYnJva2VyX0NPSU5XIjoxLjAsImJyb2tlcl9DT0xNRVgiOjEuMCwiaGlkZV9DUUdfb25faW9zIjoxLjAsImhpZGVfQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJjcWctcmVhbHRpbWUtYmFuZHdpZHRoLWxpbWl0IjoxLjAsImJyb2tlcl9DUllQVE9DT00iOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9pb3MiOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfQ1hNIjoxLjAsImJyb2tlcl9EQU9MIjoxLjAsImJyb2tlcl9EQVJXSU5FWCI6MS4wLCJEQVJXSU5FWF9iZXRhIjoxLjAsImJyb2tlcl9ERUxUQSI6MS4wLCJicm9rZXJfREVSQVlBSCI6MS4wLCJicm9rZXJfREVSSVYiOjEuMCwiYnJva2VyX0RIQU4iOjEuMCwiYnJva2VyX0ROU0UiOjEuMCwiYnJva2VyX0RPUk1BTiI6MS4wLCJoaWRlX0RVTU1ZX29uX2lvcyI6MS4wLCJoaWRlX0RVTU1ZX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9EVU1NWV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9FQVNZTUFSS0VUUyI6MS4wLCJicm9rZXJfRUNPVkFMT1JFUyI6MS4wLCJicm9rZXJfRURHRUNMRUFSIjoxLjAsImVkZ2VjbGVhcl9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9FSUdIVENBUCI6MS4wLCJicm9rZXJfRVJSQU5URSI6MS4wLCJicm9rZXJfRVNBRlgiOjEuMCwiRklERUxJVFlfYmV0YSI6MS4wLCJGSURFTElUWV91c19yZWxlYXNlIjowLjI1LCJmaWRlbGl0eV9zZWN1cml0eV90b2tlbiI6MS4wLCJicm9rZXJfRk9SRVhDT00iOjEuMCwiZm9yZXhjb21fc2Vzc2lvbl92MiI6MS4wLCJicm9rZXJfRlBNQVJLRVRTIjoxLjAsImhpZGVfRlRYX29uX2lvcyI6MS4wLCJoaWRlX0ZUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRlRYX29uX21vYmlsZV93ZWIiOjEuMCwiZnR4X3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfRlVTSU9OTUFSS0VUUyI6MS4wLCJmeGNtX3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0ZYQ00iOjEuMCwiaGlkZV9GWE9QRU5fb25faW9zIjoxLjAsImhpZGVfRlhPUEVOX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9GWE9QRU5fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfRlhQUk8iOjEuMCwiYnJva2VyX0ZYVEYiOjEuMCwiYnJva2VyX0ZZRVJTIjoxLjAsImJyb2tlcl9HQVRFIjoxLjAsImJyb2tlcl9HQkVCUk9LRVJTIjoxLjAsImdlbWluaS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dFTklBTElOVkVTVElNRU5UT1MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9pb3MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25fbW9iaWxlX3dlYiI6MS4wLCJnbG9iYWxwcmltZS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dPTUFSS0VUUyI6MS4wLCJicm9rZXJfR09UUkFERSI6MS4wLCJnb3RyYWRlX2VuYWJsZV9zdHJlYW1pbmdfZW5kcG9pbnRzIjoxLjAsImJyb2tlcl9IRVJFTllBIjoxLjAsImhpZGVfSFRYX29uX2lvcyI6MS4wLCJoaWRlX0hUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfSFRYX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0lCS1IiOjEuMCwiY2hlY2tfaWJrcl9zaWRlX21haW50ZW5hbmNlIjoxLjAsImlia3JfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3JfcGFyYWxsZWxfcHJvdmlkZXJfaW5pdGlhbGl6YXRpb24iOjEuMCwiaWJrcl93c19hY2NvdW50X3N1bW1hcnkiOjEuMCwiaWJrcl93c19zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3Jfc3Vic2NyaWJlX3RvX29yZGVyX3VwZGF0ZXNfZmlyc3QiOjEuMCwiaWJrcl93c19hY2NvdW50X2xlZGdlciI6MS4wLCJicm9rZXJfSUJST0tFUiI6MS4wLCJicm9rZXJfSUNNQVJLRVRTIjoxLjAsImJyb2tlcl9JQ01BUktFVFNfQVNJQyI6MS4wLCJicm9rZXJfSUNNQVJLRVRTX0VVIjoxLjAsImJyb2tlcl9JRyI6MS4wLCJicm9rZXJfSU5EU1RPQ0tTIjoxLjAsImJyb2tlcl9JTkZPWUFUSVJJTSI6MS4wLCJicm9rZXJfSU5OT1ZFU1RYIjoxLjAsImJyb2tlcl9JTlRFUkFDVElWRUlMIjoxLjAsImJyb2tlcl9JTlZFU1RSQURFIjoxLjAsIklOVkVTVFJBREVfYmV0YSI6MS4wLCJicm9rZXJfSVJPTkJFQU0iOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25faW9zIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS0lXT09NIjoxLjAsImtpd29vbV91c2Vfc2VwYXJhdGVfc3RyZWFtaW5nX3VybCI6MS4wLCJicm9rZXJfS09UQUsiOjEuMCwiaGlkZV9LT1RBS19vbl9pb3MiOjEuMCwiaGlkZV9LT1RBS19vbl9hbmRyb2lkIjoxLjAsImhpZGVfS09UQUtfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS1JBS0VOIjoxLjAsImhpZGVfS1JBS0VOX29uX2lvcyI6MS4wLCJoaWRlX0tSQUtFTl9vbl9hbmRyb2lkIjoxLjAsIktSQUtFTl9iZXRhIjoxLjAsImtyYWtlbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0tTRUNVUklUSUVTIjoxLjAsImJyb2tlcl9MSUJFUkFUT1IiOjEuMCwiYnJva2VyX01FWEMiOjEuMCwiYnJva2VyX01FWEVNIjoxLjAsImJyb2tlcl9NSURBUyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX21vYmlsZV93ZWIiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfTU9PTU9PIjoxLjAsImJyb2tlcl9NT1RJTEFMT1NXQUwiOjEuMCwiYnJva2VyX05JTkpBVFJBREVSIjoxLjAsImJyb2tlcl9PQU5EQSI6MS4wLCJvYW5kYV9zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJvYW5kYV9vYXV0aF9tdWx0aXBsZXhpbmciOjEuMCwiYnJva2VyX09LWCI6MS4wLCJicm9rZXJfT1BPRklOQU5DRSI6MS4wLCJicm9rZXJfT1BUSU1VUyI6MS4wLCJicm9rZXJfT1NNQU5MSSI6MS4wLCJicm9rZXJfT1NNQU5MSUZYIjoxLjAsInBhcGVyX2ZvcmNlX2Nvbm5lY3RfcHVzaHN0cmVhbSI6MS4wLCJwYXBlcl9zdWJhY2NvdW50X2N1c3RvbV9jdXJyZW5jeSI6MS4wLCJwYXBlcl9vdXRzaWRlX3J0aCI6MS4wLCJicm9rZXJfUEFZVE0iOjEuMCwiYnJva2VyX1BFUFBFUlNUT05FIjoxLjAsImJyb2tlcl9QSEVNRVgiOjEuMCwiYnJva2VyX1BISUxMSVBDQVBJVEFMX1RSIjoxLjAsImJyb2tlcl9QSElMTElQTk9WQSI6MS4wLCJicm9rZXJfUExVUzUwMCI6MS4wLCJwbHVzNTAwX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiUExVUzUwMFVTX2JldGEiOjEuMCwiYnJva2VyX1BVUlBMRVRSQURJTkciOjEuMCwiYnJva2VyX1FVRVNUUkFERSI6MS4wLCJicm9rZXJfUkFWQUJVUlNBVElMIjoxLjAsIlJBVkFCVVJTQVRJTF9iZXRhIjoxLjAsImJyb2tlcl9SSVlBRENBUElUQUwiOjEuMCwiYnJva2VyX1JPQk9NQVJLRVRTIjoxLjAsImJyb2tlcl9SRVBMQVlCUk9LRVIiOjEuMCwiYnJva2VyX1NBTVVFTCI6MS4wLCJicm9rZXJfU0FYT0JBTksiOjEuMCwiYnJva2VyX1NIQVJFTUFSS0VUIjoxLjAsImJyb2tlcl9TS0lMTElORyI6MS4wLCJicm9rZXJfU1BSRUFERVgiOjEuMCwiYnJva2VyX1NXSVNTUVVPVEUiOjEuMCwiYnJva2VyX1NUT05FWCI6MS4wLCJicm9rZXJfVEFTVFlGWCI6MS4wLCJicm9rZXJfVEFTVFlUUkFERSI6MS4wLCJicm9rZXJfVEhJTktNQVJLRVRTIjoxLjAsInRoaW5rbWFya2V0c19hY2NvdW50X2RhdGFfc3RyZWFtaW5nIjoxLjAsImJyb2tlcl9USUNLTUlMTCI6MS4wLCJoaWRlX1RJR0VSX29uX2lvcyI6MS4wLCJoaWRlX1RJR0VSX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9USUdFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9UUkFERU5BVElPTiI6MS4wLCJicm9rZXJfVFJBREVTVEFUSU9OIjoxLjAsInRyYWRlc3RhdGlvbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwidHJhZGVzdGF0aW9uX2FjY291bnRfZGF0YV9zdHJlYW1pbmciOjEuMCwidHJhZGVzdGF0aW9uX3N0cmVhbWluZ19zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJicm9rZXJfVFJBREVaRVJPIjoxLjAsImJyb2tlcl9UUkFESUVSIjoxLjAsImJyb2tlcl9UUkFESUVSX0ZVVFVSRVMiOjEuMCwidHJhZGllcl9mdXR1cmVzX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX1RSQURPVkFURSI6MS4wLCJoaWRlX1RSQURVX29uX2lvcyI6MS4wLCJoaWRlX1RSQURVX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9UUkFEVV9vbl9tb2JpbGVfd2ViIjoxLjAsInRyYWR1X3NwcmVhZF9iZXQiOjEuMCwiYnJva2VyX1RSSVZFIjoxLjAsImJyb2tlcl9WQU5UQUdFIjoxLjAsImJyb2tlcl9WRUxPQ0lUWSI6MS4wLCJicm9rZXJfV0VCVUxMIjoxLjAsImJyb2tlcl9XRUJVTExKQVBBTiI6MS4wLCJicm9rZXJfV0VCVUxMUEFZIjoxLjAsImJyb2tlcl9XRUJVTExVSyI6MS4wLCJicm9rZXJfV0hJVEVCSVQiOjEuMCwiYnJva2VyX1dIU0VMRklOVkVTVCI6MS4wLCJicm9rZXJfV0hTRUxGSU5WRVNUX0ZVVFVSRVMiOjEuMCwiV0hTRUxGSU5WRVNUX0ZVVFVSRVNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfWENVQkUiOjEuMCwiYnJva2VyX1lMRyI6MS4wLCJicm9rZXJfaWRfc2Vzc2lvbiI6MS4wLCJkaXNhbGxvd19jb25jdXJyZW50X3Nlc3Npb25zIjoxLjAsInVzZV9jb2RlX2Zsb3dfdjJfcHJvdmlkZXIiOjEuMCwidXNlX2NvZGVfZmxvd192Ml9wcm92aWRlcl9mb3JfdW50ZXN0ZWRfYnJva2VycyI6MS4wLCJtb2JpbGVfdHJhZGluZ193ZWIiOjEuMCwibW9iaWxlX3RyYWRpbmdfaW9zIjoxLjAsIm1vYmlsZV90cmFkaW5nX2FuZHJvaWQiOjEuMCwiY29udGludW91c19mcm9udF9jb250cmFjdF90cmFkaW5nIjoxLjAsInRyYWRpbmdfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInJlc3RfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9hdXRoMl9jb2RlX2Zsb3dfcHJvdmlkZXJfc2VydmVyX2xvZ2dlciI6MS4wLCJyZXN0X29hdXRoMl9jb2RlX2Zsb3dfbXVsdGlwbGV4aW5nIjoxLjAsInJlc3RfbG9nb3V0X29uXzQyOSI6MS4wLCJyZXZpZXdfcG9wdXBfb25fY2hhcnQiOjEuMCwic2hvd19jb25jdXJyZW50X2Nvbm5lY3Rpb25fd2FybmluZyI6MS4wLCJlbmFibGVfdHJhZGluZ19zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9yZGVyX3ByZXNldHMiOjEuMCwib3JkZXJfdGlja2V0X3Jlc2l6YWJsZV9kcmF3ZXJfb24iOjEuMCwicmVzdF91c2VfYXN5bmNfbWFwcGVyIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX2Jhbm5lcl9zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZ19zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9sZWFkZXJib2FyZCI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9wcmV2aW91c19jb21wZXRpdGlvbnMiOjEuMCwiYW1wX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYmx1ZWxpbmVfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJkb3JtYW5fb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJpcm9uYmVhbV9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsIm9wdGltdXNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJzdG9uZXhfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ5bGdfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ0cmFkaW5nX2dlbmVyYWxfZXZlbnRzX2dhX3RyYWNraW5nIjoxLjAsInJlcGxheV9yZXN1bHRfc2hhcmluZyI6MS4wLCJyZXBsYXlfdHJhZGluZ19icmFja2V0cyI6MS4wLCJoaWRlX2FsbF9icm9rZXJzX2J1dHRvbl9pbl9pb3NfYXBwIjoxLjAsImZvcmNlX21heF9hbGxvd2VkX3B1bGxpbmdfaW50ZXJ2YWxzIjoxLjAsInBhcGVyX2RlbGF5X3RyYWRpbmciOjEuMCwiZW5hYmxlX2ZpcnN0X3RvdWNoX2lzX3NlbGVjdGlvbiI6MS4wLCJjbGVhcl9wcm9qZWN0X29yZGVyX29uX29yZGVyX3RpY2tldF9jbG9zZSI6MS4wLCJlbmFibGVfbmV3X2JlaGF2aW9yX29mX2NvbmZpcm1fYnV0dG9uc19vbl9tb2JpbGUiOjEuMCwicmVuZXdfdG9rZW5fcHJlZW1wdGlvbl8zMCI6MS4wLCJkb19ub3Rfb3Blbl9vdF9mcm9tX3BsdXNfYnV0dG9uIjoxLjAsImJyb2tlcl9zaWRlX3Byb21vdGlvbiI6MS4wLCJlbmFibGVfbmV3X3RyYWRpbmdfbWVudV9zdHJ1Y3R1cmUiOjEuMCwicXVpY2tfdHJhZGluZ19wYW5lbCI6MS4wLCJwYXBlcl9vcmRlcl9jb25maXJtYXRpb25fZGlhbG9nIjoxLjAsInBhcGVyX211bHRpcGxlX2xldmVsc19lbmFibGVkIjoxLjAsInBhcGVyX21hcmdpbl9jb250cm9sIjoxLjAsImVuYWJsZV9zZWdtZW50YXRpb25fcGFwZXJfdHJhZGluZyI6MS4wLCJlbmFibGVfY2hhcnRfYWRhcHRpdmVfdHBzbF9idXR0b25zX29uX21vYmlsZSI6MS4wLCJlbmFibGVfbWFya2V0X3Byb2plY3Rfb3JkZXIiOjEuMCwiZW5hYmxlX3N5bWJvbHNfcG9wdWxhcml0eV9zaG93aW5nIjoxLjAsImVuYWJsZV90cmFuc2xhdGlvbnNfczNfdXBsb2FkIjoxLjAsImV0Zl9mdW5kX2Zsb3dzX29ubHlfZGF5c19yZXNvbHV0aW9ucyI6MS4wLCJkaXNhYmxlX3Nub3dwbG93X3BsYXRmb3JtX2V2ZW50cyI6MS4wLCJub3RpZnlfaWRlYV9tb2RzX2Fib3V0X2ZpcnN0X3B1YmxpY2F0aW9uIjoxLjAsImVuYWJsZV93YWZfdHJhY2tpbmciOjEuMCwibmV3X2Vycm9yc19mbG93IjoxLjAsInF1b3RlLXRva2VuLWZpbHRlci1vd24tc2NyaXB0cy1ieS1hY2Nlc3MiOjEuMCwia2VlcF9pbmRpY2F0b3JzX3NlYXJjaF9zdGF0ZSI6MS4wLCJrZWVwX2luZGljYXRvcnNfdGFiX3Njcm9sbF9zdGF0ZSI6MS4wLCJjb25maWd1cmFibGVfc2VhcmNoX2FuZF9maWx0cmF0aW9uIjoxLjAsInBpbmVfZWRpdG9yX3dyYXBfb25fbGluZV9zcGxpdCI6MS4wLCJzeW1ib2xfc2VhcmNoX2NvdW50cnlfc291cmNlcyI6MS4wLCJ3YXRjaGxpc3RzX2RpYWxvZ19zY3JvbGxfdG9fYWN0aXZlIjoxLjAsImJvdHRvbV9wYW5lbF90cmFja19ldmVudHMiOjEuMCwic25vd3Bsb3dfYmVhY29uX2ZlYXR1cmUiOjEuMCwic2hvd19kYXRhX3Byb2JsZW1zX2luX2hlbHBfY2VudGVyIjoxLjAsImVuYWJsZV9hcHBsZV9kZXZpY2VfY2hlY2siOjEuMCwiZW5hYmxlX2FwcGxlX2ludHJvX29mZmVyX3NpZ25hdHVyZSI6MS4wLCJlbmFibGVfYXBwbGVfcHJvbW9fb2ZmZXJfc2lnbmF0dXJlX3YyIjoxLjAsImVuYWJsZV9hcHBsZV9wcm9tb19zaWduYXR1cmUiOjEuMCwiZW5hYmxlX3B1c2hfbm90aWZpY2F0aW9uc19hbmRyb2lkIjoxLjAsImVuYWJsZV9wdXNoX25vdGlmaWNhdGlvbnNfaW9zIjoxLjAsImVuYWJsZV9tYW50aWNvcmVfY2x1c3RlciI6MS4wLCJlbmFibGVfcHVzaHN0cmVhbV9hdXRoIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eSI6MS4wLCJlbmFibGVfZW52b3lfcHJveHlfcGFwZXJ0cmFkaW5nIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eV9zY3JlZW5lciI6MS4wLCJvcHRpb25zX3JlZHVjZV9wb2xsaW5nX2ludGVydmFsIjoxLjAsIm9wdGlvbnNfYnVpbGRlcl9ncm91cF9hY3Rpb25zIjoxLjAsIm9wdGlvbnNfY2hhaW5fc2lnbWFfZmlsdGVyIjoxLjAsIm9wdGlvbnNfYnJva2VyX3N0cmF0ZWdpZXMiOjEuMCwic2hvd190b2FzdF9hYm91dF91bnJlYWRfbWVzc2FnZSI6MS4wLCJlbmFibGVfcGFydG5lcl9wYXlvdXQiOjEuMCwiZW5hYmxlX2VtYWlsX2NoYW5nZV9sb2dnaW5nIjoxLjAsImVuYWJsZV9lbWFpbF9vbl9wYXJ0bmVyX3N0YXR1c19jaGFuZ2UiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcHJvZ3JhbV9hcHBseSI6MS4wLCJlbmFibGVfcGFydG5lcl9wcm9ncmFtIjoxLjAsImNvbXByZXNzX2NhY2hlX2RhdGEiOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nIjoxLjAsIm5ld3Nfc2NyZWVuZXJfcGFnZV9jbGllbnQiOjEuMCwiZW5hYmxlX2RlY2xhcmF0aW9uX3BvcHVwX29uX2xvYWQiOjEuMCwic2hvd19kYXRhX2JvbmRzX2ZyZWVfdXNlcnMiOjEuMCwiZW5hYmxlX21vZGVybl9yZW5kZXJfbW9kZSI6MS4wLCJlbmFibGVfcHJvZl9wb3B1cF9mcmVlIjoxLjAsImlvc19hcHBfbmV3c19hbmRfbWluZHMiOjEuMCwiZG9fbm90X2Rpc2Nsb3NlX3Bob25lX29jY3VwYW5jeSI6MS4wLCJlbmFibGVfcmVkaXJlY3RfdG9fd2lkZ2V0X2RvY3VtZW50YXRpb25fb2ZfYW55X2xvY2FsaXphdGlvbiI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmdfaGliZXJuYXRpb24iOjEuMCwibmV3c19zdHJlYW1pbmdfaGliZXJuYXRpb25fZGVsYXlfMTBtaW4iOjEuMCwicGFzc19yZWNvdmVyeV9zZWFyY2hfaGlkZV9pbmZvIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZ19vbl9zY3JlZW5lciI6MS4wLCJlbmFibGVfZm9yY2VkX2VtYWlsX2NvbmZpcm1hdGlvbiI6MS4wLCJzaG93X2dpZnRfYnV0dG9uIjoxLjAsImFkZHJlc3NfdmFsaWRhdGlvbl9lbmFibGVkIjoxLjAsImRpc2FibGVfdW52ZXJpZmllZF9hZGRyZXNzIjoxLjAsImdlbmVyYXRlX2ludm9pY2VfbnVtYmVyX2J5X2NvdW50cnkiOjEuMCwic2hvd19mYXZvcml0ZV9sYXlvdXRzIjoxLjAsImVuYWJsZV9zb2NpYWxfYXV0aF9jb25maXJtYXRpb24iOjEuMCwiZW5hYmxlX2FkX2Jsb2NrX2RldGVjdCI6MS4wLCJ0dmRfbmV3X3RhYl9saW5raW5nIjoxLjAsInR2ZF90aW1lX2FuZF9kYXRlX3JhbmdlX2xpbmtpbmciOjEuMCwidXNlX2Jyb3dzZXJfc2Vzc2lvbl9zdG9yYWdlIjoxLjAsInVzZV9kZXNrdG9wX3Nlc3Npb25fc3RvcmFnZSI6MS4wLCJ3cm9uZ19hY2NvdW50X2RpYWxvZ19wcmltYXJ5X3N3aXRjaCI6MS4wLCJlbmFibGVfbGluZ3VhX2xhbmdfY2hlY2siOjEuMCwiZ2V0X3NhdmVkX2FjdGl2ZV9saXN0X2JlZm9yZV9nZXR0aW5nX2FsbF9saXN0cyI6MS4wLCJ3YXRjaGxpc3RfYWRkX3NvdXJjZV9wYXJhbSI6MS4wLCJzaG93X3JlZmVycmFsX25vdGlmaWNhdGlvbl9kaWFsb2ciOjEuMCwic2V0X25ld19ibGFja19jb2xvciI6MS4wLCJuZXdzX3VzZV9uZXdzX21lZGlhdG9yIjoxLjAsImFsbG93X3RyYWlsaW5nX3doaXRlc3BhY2VfaW5fbnVtYmVyX3Rva2VuIjoxLjAsInJlc3RyaWN0X3B3bmVkX3Bhc3N3b3JkX3NldCI6MS4wLCJub3RpZl9zZXR0aW5nc19lbmFibGVfbmV3X3N0b3JlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3dyaXRlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3JlYWQiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGsiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGstZm9yLWluaXRpYWwtcHVyY2hhc2UiOjEuMCwiZW5hYmxlX21ldGFkZWZlbmRlcl9jaGVja19mb3JfYWdyZWVtZW50IjoxLjAsInNob3dfZG93bmxvYWRfeWllbGRfY3VydmVzX2RhdGEiOjEuMCwibW92ZV9rZXlfdGVub3JzX3RvX3NldHRpbmdzIjoxLjAsInNob3dfeWllbGRfY3VydmVzX21hcCI6MS4wLCJkaXNhYmxlX3dpZGdldGJhcl9pbl9hcHBzIjoxLjAsImhpZGVfcHVibGljYXRpb25zX29mX2Jhbm5lZF91c2VycyI6MS4wLCJlbmFibGVfc3VtbWFyeV91cGRhdGVzX2Zyb21fY2hhcnRfc2Vzc2lvbiI6MS4wLCJzaG93X25ld3NfZmxvd190b29sX3JpZ2h0X2JhciI6MS4wLCJlbmFibGVfY2hhcnRfc2F2aW5nX3N0YXRzIjoxLjAsImVuYWJsZV9zYXZpbmdfc2FtZV9jaGFydF9yYXRlX2xpbWl0IjoxLjAsIm5ld3NfYWxlcnRzX2VuYWJsZWQiOjEuMCwibmV3c19tdWx0aXBsZV9hbGVydHNfZW5hYmxlZCI6MS4wLCJyZWZ1bmRfdW52b2lkYWJsZV9jb3Vwb25zX2VuYWJsZWQiOjEuMCwiZW5hYmxlX3Nub3dwbG93X2VtYWlsX3RyYWNraW5nIjoxLjAsIm5ld3NfZW5hYmxlX3NlbnRpbWVudCI6MS4wLCJ1c2VfaW5fc3ltYm9sX3NlYXJjaF9vcHRpb25zX21jeF9leGNoYW5nZSI6MS4wLCJlbmFibGVfdXNlcnNldHRpbmdzX3N5bWJvbHNfcGVyX3Jvd19zb2Z0X2xpbWl0IjowLjEsImZvcmJpZF9sb2dpbl93aXRoX3B3bmVkX3Bhc3N3b3JkcyI6MS4wLCJkZWJ1Z19nZXRfdGVzdF9iYXJzX2RhdGEiOjEuMCwibmV3c191c2VfbWVkaWF0b3Jfc3RvcnkiOjEuMCwibmV3c19mbG93X3JlY29uZmlndXJlX2ZpbHRlcnMiOjEuMCwiYmxhY2tfZnJpZGF5X2VuYWJsZV9za2lwX3RvX3BheW1lbnQiOjEuMCwiaGlkZV90cmFkaW5nX2J1dHRvbl9vbl9ib3R0b21fcGFuZWxfYW5kX3JlcGxheV90YWIiOjEuMCwiaGlkZV90cmFkZV9idXR0b25faGludF9pbl9oZWFkZXJfdG9vbGJhciI6MS4wLCJoaWRlX3NlZV9vbl9zdXBlcl9jaGFydHNfYnV0dG9uIjoxLjAsImhpZGVfc3ltYm9sX3BhZ2VfY2hhcnRfdHlwZV9zd2l0Y2hlciI6MS4wLCJkaXNhYmxlX2NoYXRfc3BhbV9wcm90ZWN0aW9uX2Zvcl9wcmVtaXVtX3VzZXJzIjoxLjAsImRpc2FibGVfcHVibGljX3BpbmVfc2NyaXB0X3B1Ymxpc2hfbGltaXRzIjoxLjAsIm1ha2VfdHJhZGluZ19wYW5lbF9jb250ZXh0dWFsX3RhYiI6MS4wLCJyZWNvbm5lY3RfZ2Fpbl9zZXNzaW9uX29uX2xzX2Vycm9yIjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5bWVudHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfa3ljIjoxLjAsImluZGlhX2V4Y2x1ZGVfYnJhaW50cmVlX3RhYiI6MS4wLCJtYWNyb19tYXBzX2hpZGVfdG9vbHRpcF9jaGFydF9idXR0b24iOjEuMCwiZm9yY2Vfa3ljX2Zvcl9ub25wcm9fcHVyY2hhc2VfYnlfY29tbWVyY2lhbCI6MS4wLCJzaG93X3NwbGl0X3BhbmVsX2Z1bGxzY3JlZW5fYnV0dG9uIjoxLjAsInNob3dfc3BsaXRfcGFuZWxfbW92ZV9idXR0b25fdG9fdGl0bGUiOjEuMCwib3JkZXJfcHJlc2V0c19jcnVkX3N0b3JhZ2UiOjEuMCwib3JkZXJfcHJlc2V0c19yZW1vdmVfZnJvbV90dl9zZXR0aW5ncyI6MS4wLCJjaGVja291dC1mbG93LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctZ29vZ2xlcGF5IjoxLjAsImNoZWNrb3V0LWZsb3ctYXBwbGVwYXkiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXlwYWwiOjEuMCwiZm9yYmlkX3NpZ251cF93aXRoX2Zha2VfZ21haWxfZG9tYWlucyI6MS4wLCJzaG93X2ltcG9ydF9mcm9tX3BhcGVyX3RyYWRpbmdfYnV0dG9uIjoxLjAsInN5bWJvbF9zZWFyY2hfZ3JvdXBpbmciOjEuMCwiY2hlY2tvdXQtZmxvdy1nb29nbGVwYXktdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1hcHBsZXBheS10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LXBheXBhbC10cmlhbCI6MS4wLCJ2b2lkX25vdF9mb3VuZF9ja29fcGF5bWVudF9pbl9hcHByb3ZlZF93ZWJob29rIjoxLjAsInNob3dfcGFuZWxfY29sbGFwc2VfYnV0dG9uIjoxLjAsImRlbGF5X3N0YXR1c19vbl9sYXN0X2JhciI6MC41fTsKd2luZG93LmluaXREYXRhID0ge307CgkJd2luZG93LlMzX0xPR09fU0VSVklDRV9CQVNFX1VSTCA9ICJodHRwczovL3MzLXN5bWJvbC1sb2dvLnRyYWRpbmd2aWV3LmNvbS8iOwoKd2luZG93LmluaXREYXRhID0geyJ3aWRnZXREZWZhdWx0cyI6eyJkZWZfaGlkZV9zeW1ib2xfZWRpdCI6dHJ1ZSwid2lkZ2V0RmVhdHVyZXNldCI6IndpZGdldCIsImJvZHlJZCI6IndpZGdldC1jb250YWluZXIiLCJib2R5Q2xhc3NlcyI6WyJjaGFydC1wYWdlIiwidW5zZWxlY3RhYmxlIiwib24td2lkZ2V0Il0sImNvbG9yVGhlbWUiOiJsaWdodCIsImxvY2FsZSI6ImVuIn19OwoJCXdpbmRvdy5pbml0RGF0YS5jdXJyZW50TG9jYWxlSW5mbyA9IHsibGFuZ3VhZ2UiOiJlbiIsImxhbmd1YWdlX25hbWUiOiJFbmdsaXNoIiwiZmxhZyI6InVzIiwiZ2VvaXBfY29kZSI6InVzIiwiaXNvIjoiZW4iLCJpc29fNjM5XzMiOiJlbmciLCJnbG9iYWxfbmFtZSI6IkVuZ2xpc2giLCJpc19vbmx5X3JlY29tbWVuZGVkX3R3X2F1dG9yZXBvc3QiOnRydWV9OwoJCXdpbmRvdy5pbml0RGF0YS5zZXR0aW5ncyA9IHsnUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMJzogJ2h0dHBzOi8vczMtc3ltYm9sLWxvZ28udHJhZGluZ3ZpZXcuY29tLycsICdTM19ORVdTX0lNQUdFX1NFUlZJQ0VfQkFTRV9VUkwnOiAnaHR0cHM6Ly9zMy50cmFkaW5ndmlldy5jb20vbmV3cy8nLCAnV0VCUEFDS19TVEFUSUNfUEFUSCc6ICdodHRwczovL3N0YXRpYy50cmFkaW5ndmlldy5jb20vc3RhdGljL2J1bmRsZXMvJywgJ1RSQURJTkdfVVJMUyc6IHsnZnJlZSc6ICdodHRwczovL3BhcGVydHJhZGluZy1mcmVlLnRyYWRpbmd2aWV3LmNvbScsICdwcm8nOiAnaHR0cHM6Ly9wYXBlcnRyYWRpbmcudHJhZGluZ3ZpZXcuY29tJ30sICdDT05URVNUU19VUkwnOiAnL3BhcGVyLXRyYWRpbmcnLCAnQ1JVRF9TVE9SQUdFX1VSTCc6ICdodHRwczovL2NydWQtc3RvcmFnZS50cmFkaW5ndmlldy5jb20nfTs8L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSI0R1g1NjMrY0ROY0c3Y25KYWUrdDRnPT0iPgoJCSgoKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCBlPXt3aGl0ZWxhYmVsOiEwLHBlcm1pc3Npb25PdmVycmlkZXM6ITAsbGlua0NhcHR1cmluZ0FsbG93ZWQ6ITAsc3ltYm9sX3NlYXJjaF9kZWZhdWx0X2V4Y2hhbmdlOiEwLHN5bWJvbF9zZWFyY2hfYWxsb3dlZF9leGNoYW5nZXM6ITB9O2NvbnN0IHQ9d2luZG93O3QuaW5pdERhdGE9dC5pbml0RGF0YXx8e307Y29uc3QgYT0vXCsvZyxuPS88XC8/W14+XSsoPnwkKS9nLHM9ZT0+ZGVjb2RlVVJJQ29tcG9uZW50KGUucmVwbGFjZShhLCIgIikpLnJlcGxhY2UobiwiIiksbz10LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSksYz0vKFteJj1dKyk9PyhbXiZdKikvZyxpPXt9O2xldCBsLHI9Yy5leGVjKG8pO2Zvcig7bnVsbCE9PXI7KWlbcyhyWzFdKV09cyhyWzJdKSxyPWMuZXhlYyhvKTt0cnl7bD1KU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudCh0LmxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpKSksIm9iamVjdCI9PXR5cGVvZiBsJiZudWxsIT09bHx8KGw9e30pfWNhdGNoKGUpe2w9e319dmFyIGg7dC5pbml0RGF0YS5xdWVyeVNldHRpbmdzPWksdC5pbml0RGF0YS5oYXNoU2V0dGluZ3M9KGg9bCxPYmplY3Qua2V5cyhoKS5mb3JFYWNoKCh0PT57ZVt0XSYmZGVsZXRlIGhbdF19KSksaCl9KSgpOwoJPC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0iNEdYNTYzK2NETmNHN2NuSmFlK3Q0Zz09Ij53aW5kb3cuU1NfSE9TVCA9ICJzeW1ib2wtc2VhcmNoLnRyYWRpbmd2aWV3LmNvbSI7CgkJd2luZG93LldJREdFVF9TSEVSSUZGX0hPU1QgPSAiaHR0cHM6Ly93aWRnZXQtc2hlcmlmZi50cmFkaW5ndmlldy13aWRnZXQuY29tIjsKCQl3aW5kb3cuaXNfYXV0aGVudGljYXRlZCA9IGZhbHNlOwoKd2luZG93LlBJTkVfVVJMID0gImh0dHBzOi8vcGluZS1mYWNhZGUudHJhZGluZ3ZpZXcuY29tL3BpbmUtZmFjYWRlIjsKCgl3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzID0gW3dpbmRvdy5pbml0RGF0YS53aWRnZXREZWZhdWx0cy53aWRnZXRGZWF0dXJlc2V0XQoJCS5jb25jYXQoSlNPTi5wYXJzZSh3aW5kb3cuaW5pdERhdGEucXVlcnlTZXR0aW5ncy5lbmFibGVkX2ZlYXR1cmVzIHx8ICJbXSIpKQoJCS5jb25jYXQoSlNPTi5wYXJzZSh3aW5kb3cuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMuZW5hYmxlZF9mZWF0dXJlcyB8fCAiW10iKSkKCTsKCgl3aW5kb3cuX19pbml0aWFsRGlzYWJsZWRGZWF0dXJlc2V0cyA9IEpTT04ucGFyc2Uod2luZG93LmluaXREYXRhLnF1ZXJ5U2V0dGluZ3MuZGlzYWJsZWRfZmVhdHVyZXMgfHwgIltdIikKCQkuY29uY2F0KEpTT04ucGFyc2Uod2luZG93LmluaXREYXRhLndpZGdldERlZmF1bHRzLmRpc2FibGVkX2ZlYXR1cmVzIHx8ICJbXSIpKQoJOwoKCXdpbmRvdy5fX2RlZmF1bHRzT3ZlcnJpZGVzID0gSlNPTi5wYXJzZSh3aW5kb3cuaW5pdERhdGEucXVlcnlTZXR0aW5ncy5vdmVycmlkZXMgfHwgd2luZG93LmluaXREYXRhLndpZGdldERlZmF1bHRzLm92ZXJyaWRlcyB8fCAie30iKTsKCgl3aW5kb3cuU1NfSE9TVCA9ICJzeW1ib2wtc2VhcmNoLnRyYWRpbmd2aWV3LmNvbSI7Cgl3aW5kb3cuU1NfRE9NQUlOX1BBUkFNRVRFUiA9ICJwcm9kdWN0aW9uIjsKCXdpbmRvdy5XSURHRVRfU0hFUklGRl9IT1NUID0gImh0dHBzOi8vd2lkZ2V0LXNoZXJpZmYudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbSI7Cgl3aW5kb3cuVEVMRU1FVFJZX1dTX0VSUk9SX0xPR1NfVEhSRVNIT0xEID0gMTAwOwoJd2luZG93LlBVU0hTVFJFQU1fVVJMID0gIndzczovL3B1c2hzdHJlYW0udHJhZGluZ3ZpZXcuY29tIjsKCXdpbmRvdy5DSEFSVEVWRU5UU19VUkwgPSAiaHR0cHM6Ly9jaGFydGV2ZW50cy1yZXV0ZXJzLnRyYWRpbmd2aWV3LmNvbS8iOwoJd2luZG93LkVDT05PTUlDX0NBTEVOREFSX1VSTCA9ICJodHRwczovL2Vjb25vbWljLWNhbGVuZGFyLnRyYWRpbmd2aWV3LmNvbS8iOwoJd2luZG93LkVBUk5JTkdTX0NBTEVOREFSX1VSTCA9ICJodHRwczovL3NjYW5uZXIudHJhZGluZ3ZpZXcuY29tIjsKCXdpbmRvdy5ORVdTX1NFUlZJQ0VfVVJMID0gImh0dHBzOi8vbmV3cy1oZWFkbGluZXMudHJhZGluZ3ZpZXcuY29tIjsKCXdpbmRvdy5ORVdTX01FRElBVE9SX1VSTCA9ICJodHRwczovL25ld3MtbWVkaWF0b3IudHJhZGluZ3ZpZXcuY29tIjsKCXdpbmRvdy5ORVdTX1NUUkVBTUlOR19VUkwgPSAiaHR0cHM6Ly9ub3RpZmljYXRpb25zLnRyYWRpbmd2aWV3LmNvbS9uZXdzL2NoYW5uZWwiOwoJd2luZG93LlNDUkVFTkVSX0hPU1QgPSAiaHR0cHM6Ly9zY2FubmVyLnRyYWRpbmd2aWV3LmNvbSI7Cgl3aW5kb3cuQ09VTlRSWV9DT0RFX1RPX0RFRkFVTFRfRVhDSEFOR0UgPSB7ImVuIjoiVVMiLCJ1cyI6IlVTIiwiYWUiOiJBRFgiLCJhciI6IkJDQkEiLCJhdCI6IlZJRSIsImF1IjoiQVNYIiwiYmQiOiJEU0VCRCIsImJlIjoiRVVST05FWFRfQlJVIiwiYmciOiJCU0VTT0YiLCJiaCI6IkJBSFJBSU4iLCJiciI6IkJNRkJPVkVTUEEiLCJjYSI6IlRTWCIsImNoIjoiU0lYIiwiY2wiOiJCQ1MiLCJ6aF9DTiI6IlNTRSIsImNvIjoiQlZDIiwiaHIiOiJaU0UiLCJjeSI6IkNTRUNZIiwiY3oiOiJQU0VDWiIsImRlX0RFIjoiWEVUUiIsImRrIjoiT01YQ09QIiwiZWUiOiJPTVhUU0UiLCJlZyI6IkVHWCIsImVzIjoiQk1FIiwiZmkiOiJPTVhIRVgiLCJmciI6IkVVUk9ORVhUX1BBUiIsImdyIjoiQVRIRVgiLCJoayI6IkhLRVgiLCJodSI6IkJFVCIsImlkIjoiSURYIiwiaWUiOiJFVVJPTkVYVERVQiIsImhlX0lMIjoiVEFTRSIsImluIjoiQlNFIiwiaXMiOiJPTVhJQ0UiLCJpdCI6Ik1JTCIsImphIjoiVFNFIiwia2UiOiJOU0VLRSIsImtyIjoiS1JYIiwia3ciOiJLU0UiLCJsayI6IkNTRUxLIiwibHQiOiJPTVhWU0UiLCJsdiI6Ik9NWFJTRSIsImx1IjoiTFVYU0UiLCJteCI6IkJNViIsIm1hIjoiQ1NFTUEiLCJtc19NWSI6Ik1ZWCIsIm5nIjoiTlNFTkciLCJubCI6IkVVUk9ORVhUX0FNUyIsIm5vIjoiT1NMIiwibnoiOiJOWlgiLCJwZSI6IkJWTCIsInBoIjoiUFNFIiwicGsiOiJQU1giLCJwbCI6IkdQVyIsInB0IjoiRVVST05FWFRfTElTIiwicWEiOiJRU0UiLCJycyI6IkJFTEVYIiwicnUiOiJSVVMiLCJybyI6IkJWQiIsImFyX0FFIjoiVEFEQVdVTCIsInNlIjoiTkdNIiwic2ciOiJTR1giLCJzaSI6IkxKU0UiLCJzayI6IkJTU0UiLCJ0aF9USCI6IlNFVCIsInRuIjoiQlZNVCIsInRyIjoiQklTVCIsInpoX1RXIjoiVFdTRSIsImdiIjoiTFNFIiwidmUiOiJCVkNWIiwidmlfVk4iOiJIT1NFIiwiemEiOiJKU0UifTsKCXdpbmRvdy5QSU5FX1VSTCA9ICJodHRwczovL3BpbmUtZmFjYWRlLnRyYWRpbmd2aWV3LmNvbS9waW5lLWZhY2FkZSI7Cgl3aW5kb3cuVEVMRU1FVFJZX0hPU1RTID0geyJjaGFydHMiOnsiZnJlZSI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9mcmVlIiwicHJvIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL3BybyIsIndpZGdldCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS93aWRnZXQiLCJpb3NfZnJlZSI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9jaGFydHMtaW9zLWZyZWUiLCJpb3NfcHJvIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2NoYXJ0cy1pb3MtcHJvIiwiYW5kcm9pZF9mcmVlIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2NoYXJ0cy1hbmRyb2lkLWZyZWUiLCJhbmRyb2lkX3BybyI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9jaGFydHMtYW5kcm9pZC1wcm8ifSwiYWxlcnRzIjp7ImFsbCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9hbGVydHMifSwibGluZV90b29sc19zdG9yYWdlIjp7ImFsbCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9saW5lLXRvb2xzLXN0b3JhZ2UifSwibmV3cyI6eyJhbGwiOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vbmV3cyJ9LCJwaW5lIjp7ImFsbCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9waW5lIn0sImNhbGVuZGFycyI6eyJhbGwiOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vY2FsZW5kYXJzIn0sInNpdGUiOnsiZnJlZSI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9zaXRlLWZyZWUiLCJwcm8iOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vc2l0ZS1wcm8iLCJ3aWRnZXQiOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vc2l0ZS13aWRnZXQifSwidHJhZGluZyI6eyJhbGwiOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vdHJhZGluZyJ9fTsKCgkvLyBSRUNBUFRDSEFfU0lURV9LRVkgaXMgTk9UIHVudXNlZCEgU2VlIFRWLTEyNjk5LCBUVi0xMzAwMSBhbmQgc3RhdGljL2pzL2RpYWxvZ3Mvc2lnbi1tb2RhbC9zaWduLW1vZGFsLWltcGwuZXM2Cgl3aW5kb3cuUkVDQVBUQ0hBX1NJVEVfS0VZID0gIjZMY3F2MjRVQUFBQUFJdmtFbER2d1B4RDBSOHNjRG5NcGl6YUJjSFEiOwoJd2luZG93LlJFQ0FQVENIQV9TSVRFX0tFWV9WMyA9ICI2TGVRTUhnVUFBQUFBS0NZY3RpQkdXWXJYTl90dnJPRFNaN2k5ZExBIjsKCgl3aW5kb3cuaXNfYXV0aGVudGljYXRlZCA9IGZhbHNlOwoKCXdpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGUgPSB7InNob3dfZmVhdHVyZWRfaXBvIjoxLjAsImJsYWNrX2ZyaWRheV9wb3B1cCI6MS4wLCJibGFja19mcmlkYXlfbWFpbnBhZ2UiOjEuMCwiYmxhY2tfZnJpZGF5X2V4dGVuZF9saW1pdGF0aW9uIjoxLjAsImVuYWJsZV90cmFkaW5nX3JlcGxheV9mb3JfcG9pbnRfaW5kZXhlcyI6MS4wLCJpbmNyZWFzZV9tZXRhaW5mb192ZXJzaW9uIjowLjM1LCJjaGFydF9hdXRvc2F2ZV81bWluIjoxLjAsImNoYXJ0X2F1dG9zYXZlXzMwbWluIjoxLjAsInBlcmZvcm1hbmNlX3Rlc3RfbW9kZSI6MS4wLCJjaGVja19hdXRoX3Rva2VuX2V4cGlyYXRpb25fb25fZXZlcnlfcmVxdWVzdCI6MS4wLCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzYwbWluIjoxLjAsInN1cHBvcnRfcGVyc2lzdGVudF9sb2dzIjoxLjAsIm5ld19zdG9yYWdlX3N1YnNjcmlwdGlvbl91cmwiOjEuMCwicmVtb3ZlX2FuY2hvcmVkX3RleHQiOjEuMCwiZW5hYmxlX3N0ZXBfYnlfc3RlcF9oaW50c19mb3JfZHJhd2luZ3MiOjEuMCwicHVzaHN0cmVhbV9iYXNpY190ZWxlbWV0cnkiOjEuMCwiYWxsb3dfYnJhY2tldHNfcHJvZml0X2xvc3MiOjEuMCwiZW5hYmxlX3RyYWRlZF9jb250ZXh0X2xpbmtpbmciOjEuMCwib3JkZXJfY29udGV4dF92YWxpZGF0aW9uX2luX2luc3RhbnRfbW9kZSI6MS4wLCJhbGVydHMtb24tZnVuZGFtZW50YWwtbWV0cmljcyI6MS4wLCJhbGVydHMtbm90aWZpY2F0aW9uLXNjaGVkdWxlIjoxLjAsImFsZXJ0cy13YXRjaGxpc3QtZXh0ZW5kZWQtaG91cnMiOjEuMCwiZW5hYmxlX3N5bWJvbF9jaGFuZ2VfcmVzdHJpY3Rpb25fb25fd2lkZ2V0cyI6MS4wLCJlbmFibGVfYXN4X3N5bWJvbF9yZXN0cmljdGlvbiI6MS4wLCJzeW1waG9ueV9hbGxvd19ub25fcGFydGl0aW9uZWRfY29va2llX29uX29sZF9zeW1waG9ueSI6MS4wLCJzeW1waG9ueV9ub3RpZmljYXRpb25fYmFkZ2VzIjoxLjAsInN5bXBob255X3VzZV9hZGtfZm9yX3VwZ3JhZGVfcmVxdWVzdCI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF90cmFja2luZyI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF9zb2Z0X2xpbWl0IjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X2hhcmRfbGltaXQiOjEuMCwidGVsZWdyYW1fbWluaV9hcHBfcmVkdWNlX3NuYXBzaG90X3F1YWxpdHkiOjEuMCwibmV3c19zeW1ib2xfb3ZlcnZpZXdfa2V5X2ZhY3RzIjoxLjAsInRpbWVvdXRfZGphbmdvX2RiIjowLjE1LCJ0aW1lb3V0X2RqYW5nb191c2Vyc2V0dGluZ3NfZGIiOjAuMTUsInRpbWVvdXRfZGphbmdvX2NoYXJ0c19kYiI6MC4yNSwidGltZW91dF9kamFuZ29fc3ltYm9sc19saXN0c19kYiI6MC4yNSwidGltZW91dF9kamFuZ29fbWluZHNfZGIiOjAuMDUsInRpbWVvdXRfZGphbmdvX2xvZ2dpbmdfZGIiOjAuMjUsImRpc2FibGVfc2VydmljZXNfbW9uaXRvcl9tZXRyaWNzIjoxLjAsImVuYWJsZV9zaWduaW5fcmVjYXB0Y2hhIjoxLjAsImVuYWJsZV9pZGVhX3NwYW1kZXRlY3Rvcm1sIjoxLjAsImVuYWJsZV9pZGVhX3NwYW1kZXRlY3Rvcm1sX2NvbW1lbnRzIjoxLjAsImVuYWJsZV9zcGFtZGV0ZWN0b3JtbF9jaGF0IjoxLjAsImVuYWJsZV9taW5kc19zcGFtZGV0ZWN0b3JtbCI6MS4wLCJiYWNrZW5kLWNvbm5lY3Rpb25zLWluLXRva2VuIjoxLjAsIm9uZV9jb25uZWN0aW9uX3dpdGhfZXhjaGFuZ2VzIjoxLjAsIm1vYmlsZS1hZHMtaW9zIjoxLjAsIm1vYmlsZS1hZHMtYW5kcm9pZCI6MS4wLCJnb29nbGUtb25lLXRhcC1zaWduaW4iOjEuMCwiYnJhaW50cmVlLWdvcHJvLWluLW9yZGVyLWRpYWxvZyI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5IjoxLjAsImJyYWludHJlZS1nb29nbGUtcGF5IjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXktZnJvbS1pb3MtYXBwIjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXktdHJpYWwiOjEuMCwidHJpcGxlYS1wYXltZW50cyI6MS4wLCJicmFpbnRyZWUtZ29vZ2xlLXBheS10cmlhbCI6MS4wLCJicmFpbnRyZWUtb25lLXVzZC12ZXJpZmljYXRpb24iOjEuMCwiYnJhaW50cmVlLTNkcy1lbmFibGVkIjoxLjAsImJyYWludHJlZS0zZHMtc3RhdHVzLWNoZWNrIjoxLjAsImJyYWludHJlZS1hZGRpdGlvbmFsLWNhcmQtY2hlY2tzLWZvci10cmlhbCI6MS4wLCJicmFpbnRyZWUtaW5zdGFudC1zZXR0bGVtZW50IjoxLjAsImJyYWludHJlZV9yZWN1cnJpbmdfYmlsbGluZ19zY2hlZHVsZXJfc3Vic2NyaXB0aW9uIjoxLjAsImNoZWNrb3V0X21hbnVhbF9jYXB0dXJlX3JlcXVpcmVkIjoxLjAsImNoZWNrb3V0LXN1YnNjcmlwdGlvbnMiOjEuMCwiY2hlY2tvdXRfYWRkaXRpb25hbF9jYXJkX2NoZWNrc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9jb3VudHJpZXNfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3ByZW1pdW1fdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9jbG9zZV90b19leHBpcmF0aW9uX2NhcmRfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9wcmVwYWlkX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9hZGRpdGlvbmFsX2NhcmRfY2hlY2tzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9jb3VudHJpZXNfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl9wcmVtaXVtX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9jbG9zZV90b19leHBpcmF0aW9uX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX3ByZXBhaWRfY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fY29tbWVyY2lhbF9jYXJkX3RyaWFsIjoxLjAsImVuYWJsZV9wYXltZW50c18zZHNfb3B0aW1pemF0aW9uIjoxLjAsImNvdW50cnlfb2ZfaXNzdWFuY2VfdnNfYmlsbGluZ19jb3VudHJ5IjoxLjAsImNoZWNrb3V0X3Nob3dfaW5zdGVhZF9vZl9icmFpbnRyZWUiOjEuMCwiY2hlY2tvdXQtM2RzIjoxLjAsImNoZWNrb3V0LXBheXBhbCI6MS4wLCJjaGVja291dF9pbmNsdWRlX2FjY291bnRfaG9sZGVyIjoxLjAsImNoZWNrb3V0LXBheXBhbC10cmlhbCI6MS4wLCJhbm51YWxfdG9fbW9udGhseV9kb3duZ3JhZGVfYXR0ZW1wdCI6MS4wLCJyYXpvcnBheV90cmlhbF8xMF9pbnIiOjEuMCwicmF6b3JwYXktY2FyZC1vcmRlci10b2tlbi1zZWN0aW9uIjoxLjAsInJhem9ycGF5LWNhcmQtc3Vic2NyaXB0aW9ucyI6MS4wLCJyYXpvcnBheS11cGktc3Vic2NyaXB0aW9ucyI6MS4wLCJyYXpvcnBheS1zMy1pbnZvaWNlLXVwbG9hZCI6MS4wLCJyYXpvcnBheV9pbmNsdWRlX2RhdGVfb2ZfYmlydGgiOjEuMCwiZGxvY2FsLXBheW1lbnRzIjoxLjAsInJldm9sdXQtcGF5LXBheW1lbnRzIjoxLjAsInJldm9sdXQtY2FyZC1wYXltZW50cyI6MC41LCJkbG9jYWwtcGl4LWF1dG9tYXRpY28iOjEuMCwiYnJhaW50cmVlX3RyYW5zYWN0aW9uX3NvdXJjZSI6MS4wLCJ2ZXJ0ZXgtdGF4IjoxLjAsInZlcnRleC10YXgtZml4IjoxLjAsInJlY2VpcHRfaW5fZW1haWxzIjoxLjAsImFkd29yZHMtYW5hbHl0aWNzIjoxLjAsImNtMzYwLWFuYWx5dGljcyI6MS4wLCJkaXNhYmxlX21vYmlsZV91cHNlbGxfaW9zIjoxLjAsImRpc2FibGVfbW9iaWxlX3Vwc2VsbF9hbmRyb2lkIjoxLjAsInJlcXVpcmVkX2FncmVlbWVudF9mb3JfcnQiOjEuMCwiY2hlY2tfbWFya2V0X2RhdGFfbGltaXRzIjoxLjAsImZvcmNlX3RvX2NvbXBsZXRlX2RhdGEiOjEuMCwiZm9yY2VfdG9fdXBncmFkZV90b19leHBlcnQiOjEuMCwic2VuZF90cmFkZXZhbl9pbnZvaWNlIjoxLjAsInNob3dfcGVwZV9hbmltYXRpb24iOjEuMCwic2VuZF9uZXh0X3BheW1lbnRfaW5mb19yZWNlaXB0IjoxLjAsInN1cHBvcnRfb3Zlcm5pZ2h0X3Nlc3Npb24iOjEuMCwic2NyZWVuZXItYWxlcnRzLXJlYWQtb25seSI6MS4wLCJzY3JlZW5lcl9ib25kX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9zdG9ja19haV9maWx0ZXJzX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfaXNfYWxsb3dlZF90b19jcmVhdGVfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3JhdGluZ19jb2x1bW5zX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3NvcnRpbmdfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfZ3JvdXBfYnlfaXNpbl9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9zeW1ib2xfc2VhcmNoX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3JlZ2lzdHJhdGlvbl9iYW5uZXJfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNlc190cmFja2luZyI6MS4wLCJzZW5kX2ZpbmFuY2lhbF9ub3RpZmljYXRpb25zIjoxLjAsInNwYXJrX3RyYW5zbGF0aW9ucyI6MS4wLCJzcGFya19jYXRlZ29yeV90cmFuc2xhdGlvbnMiOjEuMCwic3BhcmtfdGFnc190cmFuc2xhdGlvbnMiOjEuMCwicHJvX3BsYW5faW5pdGlhbF9yZWZ1bmRzX2Rpc2FibGVkIjoxLjAsInByZXZpb3VzX21vbm9wcm9kdWN0X3B1cmNoYXNlc19yZWZ1bmRzX2VuYWJsZWQiOjEuMCwiZW5hYmxlX2lkZWFzX3JlY29tbWVuZGF0aW9ucyI6MS4wLCJlbmFibGVfaWRlYXNfcmVjb21tZW5kYXRpb25zX2ZlZWQiOjEuMCwiZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJldGhvY2FfYWxlcnRfbm90aWZpY2F0aW9uX3dlYmhvb2siOjEuMCwiaGlkZV9zdXNwaWNpb3VzX3VzZXJzX2lkZWFzIjoxLjAsImRpc2FibGVfcHVibGlzaF9zdHJhdGVneV9yYW5nZV9iYXNlZF9jaGFydCI6MS4wLCJyZXN0cmljdF9zaW11bHRhbmVvdXNfcmVxdWVzdHMiOjEuMCwibG9naW5fZnJvbV9uZXdfZGV2aWNlX2VtYWlsIjoxLjAsInNzcl93b3JrZXJfbm93YWl0IjoxLjAsImJyb2tlcl9BMUNBUElUQUwiOjEuMCwiYnJva2VyX0FDVElWVFJBREVTIjoxLjAsImJyb2tlcl9BTENIRU1ZTUFSS0VUUyI6MS4wLCJicm9rZXJfQUxJQ0VCTFVFIjoxLjAsImhpZGVfQUxPUl9vbl9pb3MiOjEuMCwiaGlkZV9BTE9SX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9BTE9SX29uX21vYmlsZV93ZWIiOjEuMCwiYWxvci1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0FMUEFDQSI6MS4wLCJicm9rZXJfQUxSQU1aIjoxLjAsImJyb2tlcl9BTVAiOjEuMCwiYnJva2VyX0FOR0VMT05FIjoxLjAsImJyb2tlcl9BVkFfRlVUVVJFUyI6MS4wLCJBVkFfRlVUVVJFU19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9CMlBSSU1FIjoxLjAsImJyb2tlcl9CQUpBSiI6MS4wLCJicm9rZXJfQkVZT05EIjoxLjAsImJyb2tlcl9CSU5BTkNFIjoxLjAsImVuYWJsZV9iaW5hbmNlYXBpc19iYXNlX3VybCI6MS4wLCJicm9rZXJfQklOR0JPTiI6MS4wLCJicm9rZXJfQklUQVpaQSI6MS4wLCJicm9rZXJfQklUR0VUIjoxLjAsImJyb2tlcl9CSVRNRVgiOjEuMCwiYnJva2VyX0JJVFNUQU1QIjoxLjAsImJyb2tlcl9CTEFDS0JVTEwiOjEuMCwiYnJva2VyX0JMVUVCRVJSWU1BUktFVFMiOjEuMCwiYnJva2VyX0JUQ0MiOjEuMCwiYnJva2VyX0JZQklUIjoxLjAsImJyb2tlcl9DQVBJVEFMQ09NIjoxLjAsImJyb2tlcl9DQVBUUkFERVIiOjEuMCwiQ0FQVFJBREVSX3NlcGFyYXRlX2ludGVncmF0aW9uX21pZ3JhdGlvbl93YXJuaW5nIjoxLjAsImJyb2tlcl9DRkkiOjEuMCwiYnJva2VyX0NHU0kiOjEuMCwiYnJva2VyX0NJVFlJTkRFWCI6MS4wLCJjaXR5aW5kZXhfc3ByZWFkYmV0dGluZyI6MS4wLCJDTEVBUlNUUkVFVF9iZXRhIjoxLjAsImJyb2tlcl9DTUNNQVJLRVRTIjoxLjAsImJyb2tlcl9DT0JSQVRSQURJTkciOjEuMCwiYnJva2VyX0NPSU5CQVNFIjoxLjAsImNvaW5iYXNlX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJjb2luYmFzZV9jYW5jZWxfcG9zaXRpb25fYnJhY2tldHMiOjEuMCwiYnJva2VyX0NPSU5KQVIiOjEuMCwiQ09JTkpBUl9iZXRhIjoxLjAsImJyb2tlcl9DT0lOU1dJVENIIjoxLjAsImJyb2tlcl9DT0lOVyI6MS4wLCJicm9rZXJfQ09MTUVYIjoxLjAsImhpZGVfQ1FHX29uX2lvcyI6MS4wLCJoaWRlX0NRR19vbl9hbmRyb2lkIjoxLjAsImhpZGVfQ1FHX29uX21vYmlsZV93ZWIiOjEuMCwiY3FnLXJlYWx0aW1lLWJhbmR3aWR0aC1saW1pdCI6MS4wLCJicm9rZXJfQ1JZUFRPQ09NIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25faW9zIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25fYW5kcm9pZCI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0NYTSI6MS4wLCJicm9rZXJfREFPTCI6MS4wLCJicm9rZXJfREFSV0lORVgiOjEuMCwiREFSV0lORVhfYmV0YSI6MS4wLCJicm9rZXJfREVMVEEiOjEuMCwiYnJva2VyX0RFUkFZQUgiOjEuMCwiYnJva2VyX0RFUklWIjoxLjAsImJyb2tlcl9ESEFOIjoxLjAsImJyb2tlcl9ETlNFIjoxLjAsImJyb2tlcl9ET1JNQU4iOjEuMCwiaGlkZV9EVU1NWV9vbl9pb3MiOjEuMCwiaGlkZV9EVU1NWV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRFVNTVlfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfRUFTWU1BUktFVFMiOjEuMCwiYnJva2VyX0VDT1ZBTE9SRVMiOjEuMCwiYnJva2VyX0VER0VDTEVBUiI6MS4wLCJlZGdlY2xlYXJfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfRUlHSFRDQVAiOjEuMCwiYnJva2VyX0VSUkFOVEUiOjEuMCwiYnJva2VyX0VTQUZYIjoxLjAsIkZJREVMSVRZX2JldGEiOjEuMCwiRklERUxJVFlfdXNfcmVsZWFzZSI6MC4yNSwiZmlkZWxpdHlfc2VjdXJpdHlfdG9rZW4iOjEuMCwiYnJva2VyX0ZPUkVYQ09NIjoxLjAsImZvcmV4Y29tX3Nlc3Npb25fdjIiOjEuMCwiYnJva2VyX0ZQTUFSS0VUUyI6MS4wLCJoaWRlX0ZUWF9vbl9pb3MiOjEuMCwiaGlkZV9GVFhfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0ZUWF9vbl9tb2JpbGVfd2ViIjoxLjAsImZ0eF9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0ZVU0lPTk1BUktFVFMiOjEuMCwiZnhjbV9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9GWENNIjoxLjAsImhpZGVfRlhPUEVOX29uX2lvcyI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRlhPUEVOX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0ZYUFJPIjoxLjAsImJyb2tlcl9GWFRGIjoxLjAsImJyb2tlcl9GWUVSUyI6MS4wLCJicm9rZXJfR0FURSI6MS4wLCJicm9rZXJfR0JFQlJPS0VSUyI6MS4wLCJnZW1pbmktYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9HRU5JQUxJTlZFU1RJTUVOVE9TIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25faW9zIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX21vYmlsZV93ZWIiOjEuMCwiZ2xvYmFscHJpbWUtYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9HT01BUktFVFMiOjEuMCwiYnJva2VyX0dPVFJBREUiOjEuMCwiZ290cmFkZV9lbmFibGVfc3RyZWFtaW5nX2VuZHBvaW50cyI6MS4wLCJicm9rZXJfSEVSRU5ZQSI6MS4wLCJoaWRlX0hUWF9vbl9pb3MiOjEuMCwiaGlkZV9IVFhfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0hUWF9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9JQktSIjoxLjAsImNoZWNrX2lia3Jfc2lkZV9tYWludGVuYW5jZSI6MS4wLCJpYmtyX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJpYmtyX3BhcmFsbGVsX3Byb3ZpZGVyX2luaXRpYWxpemF0aW9uIjoxLjAsImlia3Jfd3NfYWNjb3VudF9zdW1tYXJ5IjoxLjAsImlia3Jfd3Nfc2VydmVyX2xvZ2dlciI6MS4wLCJpYmtyX3N1YnNjcmliZV90b19vcmRlcl91cGRhdGVzX2ZpcnN0IjoxLjAsImlia3Jfd3NfYWNjb3VudF9sZWRnZXIiOjEuMCwiYnJva2VyX0lCUk9LRVIiOjEuMCwiYnJva2VyX0lDTUFSS0VUUyI6MS4wLCJicm9rZXJfSUNNQVJLRVRTX0FTSUMiOjEuMCwiYnJva2VyX0lDTUFSS0VUU19FVSI6MS4wLCJicm9rZXJfSUciOjEuMCwiYnJva2VyX0lORFNUT0NLUyI6MS4wLCJicm9rZXJfSU5GT1lBVElSSU0iOjEuMCwiYnJva2VyX0lOTk9WRVNUWCI6MS4wLCJicm9rZXJfSU5URVJBQ1RJVkVJTCI6MS4wLCJicm9rZXJfSU5WRVNUUkFERSI6MS4wLCJJTlZFU1RSQURFX2JldGEiOjEuMCwiYnJva2VyX0lST05CRUFNIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX2lvcyI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9hbmRyb2lkIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0tJV09PTSI6MS4wLCJraXdvb21fdXNlX3NlcGFyYXRlX3N0cmVhbWluZ191cmwiOjEuMCwiYnJva2VyX0tPVEFLIjoxLjAsImhpZGVfS09UQUtfb25faW9zIjoxLjAsImhpZGVfS09UQUtfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0tPVEFLX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0tSQUtFTiI6MS4wLCJoaWRlX0tSQUtFTl9vbl9pb3MiOjEuMCwiaGlkZV9LUkFLRU5fb25fYW5kcm9pZCI6MS4wLCJLUkFLRU5fYmV0YSI6MS4wLCJrcmFrZW5fcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9LU0VDVVJJVElFUyI6MS4wLCJicm9rZXJfTElCRVJBVE9SIjoxLjAsImJyb2tlcl9NRVhDIjoxLjAsImJyb2tlcl9NRVhFTSI6MS4wLCJicm9rZXJfTUlEQVMiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25fbW9iaWxlX3dlYiI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9tb2JpbGVfd2ViIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX01PT01PTyI6MS4wLCJicm9rZXJfTU9USUxBTE9TV0FMIjoxLjAsImJyb2tlcl9OSU5KQVRSQURFUiI6MS4wLCJicm9rZXJfT0FOREEiOjEuMCwib2FuZGFfc2VydmVyX2xvZ2dpbmciOjEuMCwib2FuZGFfb2F1dGhfbXVsdGlwbGV4aW5nIjoxLjAsImJyb2tlcl9PS1giOjEuMCwiYnJva2VyX09QT0ZJTkFOQ0UiOjEuMCwiYnJva2VyX09QVElNVVMiOjEuMCwiYnJva2VyX09TTUFOTEkiOjEuMCwiYnJva2VyX09TTUFOTElGWCI6MS4wLCJwYXBlcl9mb3JjZV9jb25uZWN0X3B1c2hzdHJlYW0iOjEuMCwicGFwZXJfc3ViYWNjb3VudF9jdXN0b21fY3VycmVuY3kiOjEuMCwicGFwZXJfb3V0c2lkZV9ydGgiOjEuMCwiYnJva2VyX1BBWVRNIjoxLjAsImJyb2tlcl9QRVBQRVJTVE9ORSI6MS4wLCJicm9rZXJfUEhFTUVYIjoxLjAsImJyb2tlcl9QSElMTElQQ0FQSVRBTF9UUiI6MS4wLCJicm9rZXJfUEhJTExJUE5PVkEiOjEuMCwiYnJva2VyX1BMVVM1MDAiOjEuMCwicGx1czUwMF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsIlBMVVM1MDBVU19iZXRhIjoxLjAsImJyb2tlcl9QVVJQTEVUUkFESU5HIjoxLjAsImJyb2tlcl9RVUVTVFJBREUiOjEuMCwiYnJva2VyX1JBVkFCVVJTQVRJTCI6MS4wLCJSQVZBQlVSU0FUSUxfYmV0YSI6MS4wLCJicm9rZXJfUklZQURDQVBJVEFMIjoxLjAsImJyb2tlcl9ST0JPTUFSS0VUUyI6MS4wLCJicm9rZXJfUkVQTEFZQlJPS0VSIjoxLjAsImJyb2tlcl9TQU1VRUwiOjEuMCwiYnJva2VyX1NBWE9CQU5LIjoxLjAsImJyb2tlcl9TSEFSRU1BUktFVCI6MS4wLCJicm9rZXJfU0tJTExJTkciOjEuMCwiYnJva2VyX1NQUkVBREVYIjoxLjAsImJyb2tlcl9TV0lTU1FVT1RFIjoxLjAsImJyb2tlcl9TVE9ORVgiOjEuMCwiYnJva2VyX1RBU1RZRlgiOjEuMCwiYnJva2VyX1RBU1RZVFJBREUiOjEuMCwiYnJva2VyX1RISU5LTUFSS0VUUyI6MS4wLCJ0aGlua21hcmtldHNfYWNjb3VudF9kYXRhX3N0cmVhbWluZyI6MS4wLCJicm9rZXJfVElDS01JTEwiOjEuMCwiaGlkZV9USUdFUl9vbl9pb3MiOjEuMCwiaGlkZV9USUdFUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfVElHRVJfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfVFJBREVOQVRJT04iOjEuMCwiYnJva2VyX1RSQURFU1RBVElPTiI6MS4wLCJ0cmFkZXN0YXRpb25fcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInRyYWRlc3RhdGlvbl9hY2NvdW50X2RhdGFfc3RyZWFtaW5nIjoxLjAsInRyYWRlc3RhdGlvbl9zdHJlYW1pbmdfc2VydmVyX2xvZ2dpbmciOjEuMCwiYnJva2VyX1RSQURFWkVSTyI6MS4wLCJicm9rZXJfVFJBRElFUiI6MS4wLCJicm9rZXJfVFJBRElFUl9GVVRVUkVTIjoxLjAsInRyYWRpZXJfZnV0dXJlc19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9UUkFET1ZBVEUiOjEuMCwiaGlkZV9UUkFEVV9vbl9pb3MiOjEuMCwiaGlkZV9UUkFEVV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfVFJBRFVfb25fbW9iaWxlX3dlYiI6MS4wLCJ0cmFkdV9zcHJlYWRfYmV0IjoxLjAsImJyb2tlcl9UUklWRSI6MS4wLCJicm9rZXJfVkFOVEFHRSI6MS4wLCJicm9rZXJfVkVMT0NJVFkiOjEuMCwiYnJva2VyX1dFQlVMTCI6MS4wLCJicm9rZXJfV0VCVUxMSkFQQU4iOjEuMCwiYnJva2VyX1dFQlVMTFBBWSI6MS4wLCJicm9rZXJfV0VCVUxMVUsiOjEuMCwiYnJva2VyX1dISVRFQklUIjoxLjAsImJyb2tlcl9XSFNFTEZJTlZFU1QiOjEuMCwiYnJva2VyX1dIU0VMRklOVkVTVF9GVVRVUkVTIjoxLjAsIldIU0VMRklOVkVTVF9GVVRVUkVTX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX1hDVUJFIjoxLjAsImJyb2tlcl9ZTEciOjEuMCwiYnJva2VyX2lkX3Nlc3Npb24iOjEuMCwiZGlzYWxsb3dfY29uY3VycmVudF9zZXNzaW9ucyI6MS4wLCJ1c2VfY29kZV9mbG93X3YyX3Byb3ZpZGVyIjoxLjAsInVzZV9jb2RlX2Zsb3dfdjJfcHJvdmlkZXJfZm9yX3VudGVzdGVkX2Jyb2tlcnMiOjEuMCwibW9iaWxlX3RyYWRpbmdfd2ViIjoxLjAsIm1vYmlsZV90cmFkaW5nX2lvcyI6MS4wLCJtb2JpbGVfdHJhZGluZ19hbmRyb2lkIjoxLjAsImNvbnRpbnVvdXNfZnJvbnRfY29udHJhY3RfdHJhZGluZyI6MS4wLCJ0cmFkaW5nX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJyZXN0X3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJvYXV0aDJfY29kZV9mbG93X3Byb3ZpZGVyX3NlcnZlcl9sb2dnZXIiOjEuMCwicmVzdF9vYXV0aDJfY29kZV9mbG93X211bHRpcGxleGluZyI6MS4wLCJyZXN0X2xvZ291dF9vbl80MjkiOjEuMCwicmV2aWV3X3BvcHVwX29uX2NoYXJ0IjoxLjAsInNob3dfY29uY3VycmVudF9jb25uZWN0aW9uX3dhcm5pbmciOjEuMCwiZW5hYmxlX3RyYWRpbmdfc2VydmVyX2xvZ2dlciI6MS4wLCJvcmRlcl9wcmVzZXRzIjoxLjAsIm9yZGVyX3RpY2tldF9yZXNpemFibGVfZHJhd2VyX29uIjoxLjAsInJlc3RfdXNlX2FzeW5jX21hcHBlciI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9iYW5uZXJfc2hvd19wcm8iOjEuMCwicGFwZXJfY29tcGV0aXRpb25fc3RhcnRlZF9kaWFsb2ciOjEuMCwicGFwZXJfY29tcGV0aXRpb25fc3RhcnRlZF9kaWFsb2dfc2hvd19wcm8iOjEuMCwicGFwZXJfY29tcGV0aXRpb25fbGVhZGVyYm9hcmQiOjEuMCwicGFwZXJfY29tcGV0aXRpb25fcHJldmlvdXNfY29tcGV0aXRpb25zIjoxLjAsImFtcF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJsdWVsaW5lX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiZG9ybWFuX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiaXJvbmJlYW1fb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJvcHRpbXVzX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwic3RvbmV4X29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwieWxnX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwidHJhZGluZ19nZW5lcmFsX2V2ZW50c19nYV90cmFja2luZyI6MS4wLCJyZXBsYXlfcmVzdWx0X3NoYXJpbmciOjEuMCwicmVwbGF5X3RyYWRpbmdfYnJhY2tldHMiOjEuMCwiaGlkZV9hbGxfYnJva2Vyc19idXR0b25faW5faW9zX2FwcCI6MS4wLCJmb3JjZV9tYXhfYWxsb3dlZF9wdWxsaW5nX2ludGVydmFscyI6MS4wLCJwYXBlcl9kZWxheV90cmFkaW5nIjoxLjAsImVuYWJsZV9maXJzdF90b3VjaF9pc19zZWxlY3Rpb24iOjEuMCwiY2xlYXJfcHJvamVjdF9vcmRlcl9vbl9vcmRlcl90aWNrZXRfY2xvc2UiOjEuMCwiZW5hYmxlX25ld19iZWhhdmlvcl9vZl9jb25maXJtX2J1dHRvbnNfb25fbW9iaWxlIjoxLjAsInJlbmV3X3Rva2VuX3ByZWVtcHRpb25fMzAiOjEuMCwiZG9fbm90X29wZW5fb3RfZnJvbV9wbHVzX2J1dHRvbiI6MS4wLCJicm9rZXJfc2lkZV9wcm9tb3Rpb24iOjEuMCwiZW5hYmxlX25ld190cmFkaW5nX21lbnVfc3RydWN0dXJlIjoxLjAsInF1aWNrX3RyYWRpbmdfcGFuZWwiOjEuMCwicGFwZXJfb3JkZXJfY29uZmlybWF0aW9uX2RpYWxvZyI6MS4wLCJwYXBlcl9tdWx0aXBsZV9sZXZlbHNfZW5hYmxlZCI6MS4wLCJwYXBlcl9tYXJnaW5fY29udHJvbCI6MS4wLCJlbmFibGVfc2VnbWVudGF0aW9uX3BhcGVyX3RyYWRpbmciOjEuMCwiZW5hYmxlX2NoYXJ0X2FkYXB0aXZlX3Rwc2xfYnV0dG9uc19vbl9tb2JpbGUiOjEuMCwiZW5hYmxlX21hcmtldF9wcm9qZWN0X29yZGVyIjoxLjAsImVuYWJsZV9zeW1ib2xzX3BvcHVsYXJpdHlfc2hvd2luZyI6MS4wLCJlbmFibGVfdHJhbnNsYXRpb25zX3MzX3VwbG9hZCI6MS4wLCJldGZfZnVuZF9mbG93c19vbmx5X2RheXNfcmVzb2x1dGlvbnMiOjEuMCwiZGlzYWJsZV9zbm93cGxvd19wbGF0Zm9ybV9ldmVudHMiOjEuMCwibm90aWZ5X2lkZWFfbW9kc19hYm91dF9maXJzdF9wdWJsaWNhdGlvbiI6MS4wLCJlbmFibGVfd2FmX3RyYWNraW5nIjoxLjAsIm5ld19lcnJvcnNfZmxvdyI6MS4wLCJxdW90ZS10b2tlbi1maWx0ZXItb3duLXNjcmlwdHMtYnktYWNjZXNzIjoxLjAsImtlZXBfaW5kaWNhdG9yc19zZWFyY2hfc3RhdGUiOjEuMCwia2VlcF9pbmRpY2F0b3JzX3RhYl9zY3JvbGxfc3RhdGUiOjEuMCwiY29uZmlndXJhYmxlX3NlYXJjaF9hbmRfZmlsdHJhdGlvbiI6MS4wLCJwaW5lX2VkaXRvcl93cmFwX29uX2xpbmVfc3BsaXQiOjEuMCwic3ltYm9sX3NlYXJjaF9jb3VudHJ5X3NvdXJjZXMiOjEuMCwid2F0Y2hsaXN0c19kaWFsb2dfc2Nyb2xsX3RvX2FjdGl2ZSI6MS4wLCJib3R0b21fcGFuZWxfdHJhY2tfZXZlbnRzIjoxLjAsInNub3dwbG93X2JlYWNvbl9mZWF0dXJlIjoxLjAsInNob3dfZGF0YV9wcm9ibGVtc19pbl9oZWxwX2NlbnRlciI6MS4wLCJlbmFibGVfYXBwbGVfZGV2aWNlX2NoZWNrIjoxLjAsImVuYWJsZV9hcHBsZV9pbnRyb19vZmZlcl9zaWduYXR1cmUiOjEuMCwiZW5hYmxlX2FwcGxlX3Byb21vX29mZmVyX3NpZ25hdHVyZV92MiI6MS4wLCJlbmFibGVfYXBwbGVfcHJvbW9fc2lnbmF0dXJlIjoxLjAsImVuYWJsZV9wdXNoX25vdGlmaWNhdGlvbnNfYW5kcm9pZCI6MS4wLCJlbmFibGVfcHVzaF9ub3RpZmljYXRpb25zX2lvcyI6MS4wLCJlbmFibGVfbWFudGljb3JlX2NsdXN0ZXIiOjEuMCwiZW5hYmxlX3B1c2hzdHJlYW1fYXV0aCI6MS4wLCJlbmFibGVfZW52b3lfcHJveHkiOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5X3BhcGVydHJhZGluZyI6MS4wLCJlbmFibGVfZW52b3lfcHJveHlfc2NyZWVuZXIiOjEuMCwib3B0aW9uc19yZWR1Y2VfcG9sbGluZ19pbnRlcnZhbCI6MS4wLCJvcHRpb25zX2J1aWxkZXJfZ3JvdXBfYWN0aW9ucyI6MS4wLCJvcHRpb25zX2NoYWluX3NpZ21hX2ZpbHRlciI6MS4wLCJvcHRpb25zX2Jyb2tlcl9zdHJhdGVnaWVzIjoxLjAsInNob3dfdG9hc3RfYWJvdXRfdW5yZWFkX21lc3NhZ2UiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcGF5b3V0IjoxLjAsImVuYWJsZV9lbWFpbF9jaGFuZ2VfbG9nZ2luZyI6MS4wLCJlbmFibGVfZW1haWxfb25fcGFydG5lcl9zdGF0dXNfY2hhbmdlIjoxLjAsImVuYWJsZV9wYXJ0bmVyX3Byb2dyYW1fYXBwbHkiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcHJvZ3JhbSI6MS4wLCJjb21wcmVzc19jYWNoZV9kYXRhIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZyI6MS4wLCJuZXdzX3NjcmVlbmVyX3BhZ2VfY2xpZW50IjoxLjAsImVuYWJsZV9kZWNsYXJhdGlvbl9wb3B1cF9vbl9sb2FkIjoxLjAsInNob3dfZGF0YV9ib25kc19mcmVlX3VzZXJzIjoxLjAsImVuYWJsZV9tb2Rlcm5fcmVuZGVyX21vZGUiOjEuMCwiZW5hYmxlX3Byb2ZfcG9wdXBfZnJlZSI6MS4wLCJpb3NfYXBwX25ld3NfYW5kX21pbmRzIjoxLjAsImRvX25vdF9kaXNjbG9zZV9waG9uZV9vY2N1cGFuY3kiOjEuMCwiZW5hYmxlX3JlZGlyZWN0X3RvX3dpZGdldF9kb2N1bWVudGF0aW9uX29mX2FueV9sb2NhbGl6YXRpb24iOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nX2hpYmVybmF0aW9uIjoxLjAsIm5ld3Nfc3RyZWFtaW5nX2hpYmVybmF0aW9uX2RlbGF5XzEwbWluIjoxLjAsInBhc3NfcmVjb3Zlcnlfc2VhcmNoX2hpZGVfaW5mbyI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmdfb25fc2NyZWVuZXIiOjEuMCwiZW5hYmxlX2ZvcmNlZF9lbWFpbF9jb25maXJtYXRpb24iOjEuMCwic2hvd19naWZ0X2J1dHRvbiI6MS4wLCJhZGRyZXNzX3ZhbGlkYXRpb25fZW5hYmxlZCI6MS4wLCJkaXNhYmxlX3VudmVyaWZpZWRfYWRkcmVzcyI6MS4wLCJnZW5lcmF0ZV9pbnZvaWNlX251bWJlcl9ieV9jb3VudHJ5IjoxLjAsInNob3dfZmF2b3JpdGVfbGF5b3V0cyI6MS4wLCJlbmFibGVfc29jaWFsX2F1dGhfY29uZmlybWF0aW9uIjoxLjAsImVuYWJsZV9hZF9ibG9ja19kZXRlY3QiOjEuMCwidHZkX25ld190YWJfbGlua2luZyI6MS4wLCJ0dmRfdGltZV9hbmRfZGF0ZV9yYW5nZV9saW5raW5nIjoxLjAsInVzZV9icm93c2VyX3Nlc3Npb25fc3RvcmFnZSI6MS4wLCJ1c2VfZGVza3RvcF9zZXNzaW9uX3N0b3JhZ2UiOjEuMCwid3JvbmdfYWNjb3VudF9kaWFsb2dfcHJpbWFyeV9zd2l0Y2giOjEuMCwiZW5hYmxlX2xpbmd1YV9sYW5nX2NoZWNrIjoxLjAsImdldF9zYXZlZF9hY3RpdmVfbGlzdF9iZWZvcmVfZ2V0dGluZ19hbGxfbGlzdHMiOjEuMCwid2F0Y2hsaXN0X2FkZF9zb3VyY2VfcGFyYW0iOjEuMCwic2hvd19yZWZlcnJhbF9ub3RpZmljYXRpb25fZGlhbG9nIjoxLjAsInNldF9uZXdfYmxhY2tfY29sb3IiOjEuMCwibmV3c191c2VfbmV3c19tZWRpYXRvciI6MS4wLCJhbGxvd190cmFpbGluZ193aGl0ZXNwYWNlX2luX251bWJlcl90b2tlbiI6MS4wLCJyZXN0cmljdF9wd25lZF9wYXNzd29yZF9zZXQiOjEuMCwibm90aWZfc2V0dGluZ3NfZW5hYmxlX25ld19zdG9yZSI6MS4wLCJub3RpZl9zZXR0aW5nc19kaXNhYmxlX29sZF9zdG9yZV93cml0ZSI6MS4wLCJub3RpZl9zZXR0aW5nc19kaXNhYmxlX29sZF9zdG9yZV9yZWFkIjoxLjAsImNoZWNrb3V0LWVuYWJsZS1yaXNrc2RrIjoxLjAsImNoZWNrb3V0LWVuYWJsZS1yaXNrc2RrLWZvci1pbml0aWFsLXB1cmNoYXNlIjoxLjAsImVuYWJsZV9tZXRhZGVmZW5kZXJfY2hlY2tfZm9yX2FncmVlbWVudCI6MS4wLCJzaG93X2Rvd25sb2FkX3lpZWxkX2N1cnZlc19kYXRhIjoxLjAsIm1vdmVfa2V5X3Rlbm9yc190b19zZXR0aW5ncyI6MS4wLCJzaG93X3lpZWxkX2N1cnZlc19tYXAiOjEuMCwiZGlzYWJsZV93aWRnZXRiYXJfaW5fYXBwcyI6MS4wLCJoaWRlX3B1YmxpY2F0aW9uc19vZl9iYW5uZWRfdXNlcnMiOjEuMCwiZW5hYmxlX3N1bW1hcnlfdXBkYXRlc19mcm9tX2NoYXJ0X3Nlc3Npb24iOjEuMCwic2hvd19uZXdzX2Zsb3dfdG9vbF9yaWdodF9iYXIiOjEuMCwiZW5hYmxlX2NoYXJ0X3NhdmluZ19zdGF0cyI6MS4wLCJlbmFibGVfc2F2aW5nX3NhbWVfY2hhcnRfcmF0ZV9saW1pdCI6MS4wLCJuZXdzX2FsZXJ0c19lbmFibGVkIjoxLjAsIm5ld3NfbXVsdGlwbGVfYWxlcnRzX2VuYWJsZWQiOjEuMCwicmVmdW5kX3Vudm9pZGFibGVfY291cG9uc19lbmFibGVkIjoxLjAsImVuYWJsZV9zbm93cGxvd19lbWFpbF90cmFja2luZyI6MS4wLCJuZXdzX2VuYWJsZV9zZW50aW1lbnQiOjEuMCwidXNlX2luX3N5bWJvbF9zZWFyY2hfb3B0aW9uc19tY3hfZXhjaGFuZ2UiOjEuMCwiZW5hYmxlX3VzZXJzZXR0aW5nc19zeW1ib2xzX3Blcl9yb3dfc29mdF9saW1pdCI6MC4xLCJmb3JiaWRfbG9naW5fd2l0aF9wd25lZF9wYXNzd29yZHMiOjEuMCwiZGVidWdfZ2V0X3Rlc3RfYmFyc19kYXRhIjoxLjAsIm5ld3NfdXNlX21lZGlhdG9yX3N0b3J5IjoxLjAsIm5ld3NfZmxvd19yZWNvbmZpZ3VyZV9maWx0ZXJzIjoxLjAsImJsYWNrX2ZyaWRheV9lbmFibGVfc2tpcF90b19wYXltZW50IjoxLjAsImhpZGVfdHJhZGluZ19idXR0b25fb25fYm90dG9tX3BhbmVsX2FuZF9yZXBsYXlfdGFiIjoxLjAsImhpZGVfdHJhZGVfYnV0dG9uX2hpbnRfaW5faGVhZGVyX3Rvb2xiYXIiOjEuMCwiaGlkZV9zZWVfb25fc3VwZXJfY2hhcnRzX2J1dHRvbiI6MS4wLCJoaWRlX3N5bWJvbF9wYWdlX2NoYXJ0X3R5cGVfc3dpdGNoZXIiOjEuMCwiZGlzYWJsZV9jaGF0X3NwYW1fcHJvdGVjdGlvbl9mb3JfcHJlbWl1bV91c2VycyI6MS4wLCJkaXNhYmxlX3B1YmxpY19waW5lX3NjcmlwdF9wdWJsaXNoX2xpbWl0cyI6MS4wLCJtYWtlX3RyYWRpbmdfcGFuZWxfY29udGV4dHVhbF90YWIiOjEuMCwicmVjb25uZWN0X2dhaW5fc2Vzc2lvbl9vbl9sc19lcnJvciI6MS4wLCJjaGVja291dC1mbG93LXBheW1lbnRzIjoxLjAsImZvcmNlX3RvX2NvbXBsZXRlX2t5YyI6MS4wLCJpbmRpYV9leGNsdWRlX2JyYWludHJlZV90YWIiOjEuMCwibWFjcm9fbWFwc19oaWRlX3Rvb2x0aXBfY2hhcnRfYnV0dG9uIjoxLjAsImZvcmNlX2t5Y19mb3Jfbm9ucHJvX3B1cmNoYXNlX2J5X2NvbW1lcmNpYWwiOjEuMCwic2hvd19zcGxpdF9wYW5lbF9mdWxsc2NyZWVuX2J1dHRvbiI6MS4wLCJzaG93X3NwbGl0X3BhbmVsX21vdmVfYnV0dG9uX3RvX3RpdGxlIjoxLjAsIm9yZGVyX3ByZXNldHNfY3J1ZF9zdG9yYWdlIjoxLjAsIm9yZGVyX3ByZXNldHNfcmVtb3ZlX2Zyb21fdHZfc2V0dGluZ3MiOjEuMCwiY2hlY2tvdXQtZmxvdy10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LWdvb2dsZXBheSI6MS4wLCJjaGVja291dC1mbG93LWFwcGxlcGF5IjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5cGFsIjoxLjAsImZvcmJpZF9zaWdudXBfd2l0aF9mYWtlX2dtYWlsX2RvbWFpbnMiOjEuMCwic2hvd19pbXBvcnRfZnJvbV9wYXBlcl90cmFkaW5nX2J1dHRvbiI6MS4wLCJzeW1ib2xfc2VhcmNoX2dyb3VwaW5nIjoxLjAsImNoZWNrb3V0LWZsb3ctZ29vZ2xlcGF5LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctYXBwbGVwYXktdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXlwYWwtdHJpYWwiOjEuMCwidm9pZF9ub3RfZm91bmRfY2tvX3BheW1lbnRfaW5fYXBwcm92ZWRfd2ViaG9vayI6MS4wLCJzaG93X3BhbmVsX2NvbGxhcHNlX2J1dHRvbiI6MS4wLCJkZWxheV9zdGF0dXNfb25fbGFzdF9iYXIiOjAuNX07CgoJd2luZG93LlRyYWRpbmdWaWV3ID0gd2luZG93LlRyYWRpbmdWaWV3IHx8IHt9OwoKCXdpbmRvdy5pbml0RGF0YS5pZGNfZXhjaGFuZ2VzX2xpc3QgPSBbIm56eCIsImJtZSIsImJtZV9zdG9ja3MiLCJzaGZlIiwic3pzZSIsIm5hZyIsInRmeCIsInR3c2UiLCJidmMiLCJidmN2IiwiYm12IiwiYnZtdCIsImJ2bCIsImJjcyIsInNpeCIsImJzc2UiLCJiYWhyYWluIiwiYmVsZXgiLCJuc2VrZSIsInFzZSJdOwoKCQl3aW5kb3cubG9jYWxlX2RvbWFpbnMgPSB7ImVuIjoid3d3LnRyYWRpbmd2aWV3LmNvbSIsImFyX0FFIjoiYXIudHJhZGluZ3ZpZXcuY29tIiwiYnIiOiJici50cmFkaW5ndmlldy5jb20iLCJkZV9ERSI6ImRlLnRyYWRpbmd2aWV3LmNvbSIsImVzIjoiZXMudHJhZGluZ3ZpZXcuY29tIiwiZnIiOiJmci50cmFkaW5ndmlldy5jb20iLCJoZV9JTCI6ImlsLnRyYWRpbmd2aWV3LmNvbSIsImlkIjoiaWQudHJhZGluZ3ZpZXcuY29tIiwiaW4iOiJpbi50cmFkaW5ndmlldy5jb20iLCJpdCI6Iml0LnRyYWRpbmd2aWV3LmNvbSIsImphIjoianAudHJhZGluZ3ZpZXcuY29tIiwia3IiOiJrci50cmFkaW5ndmlldy5jb20iLCJtc19NWSI6Im15LnRyYWRpbmd2aWV3LmNvbSIsInBsIjoicGwudHJhZGluZ3ZpZXcuY29tIiwicnUiOiJydS50cmFkaW5ndmlldy5jb20iLCJ0aF9USCI6InRoLnRyYWRpbmd2aWV3LmNvbSIsInRyIjoidHIudHJhZGluZ3ZpZXcuY29tIiwidmlfVk4iOiJ2bi50cmFkaW5ndmlldy5jb20iLCJ6aF9DTiI6ImNuLnRyYWRpbmd2aWV3LmNvbSIsInpoX1RXIjoidHcudHJhZGluZ3ZpZXcuY29tIiwiY2FfRVMiOiJlcy50cmFkaW5ndmlldy5jb20ifTsKCgkJCXdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMgPSB3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzIHx8IFtdOwoJCQkJd2luZG93Ll9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cy5wdXNoKCd3aWRnZXQnKTsKCgkJd2luZG93LlRyYWRpbmdWaWV3ID0gd2luZG93LlRyYWRpbmdWaWV3IHx8IHt9Owo8L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSI0R1g1NjMrY0ROY0c3Y25KYWUrdDRnPT0iPnZhciBlbnZpcm9ubWVudCA9ICJiYXR0bGUiOwoJCXdpbmRvdy5CVUlMRF9USU1FID0gIjIwMjYtMDctMjRUMTE6NDA6MDgiOwoJCXdpbmRvdy5XRUJTT0NLRVRfSE9TVCA9ICJ3aWRnZXRkYXRhLnRyYWRpbmd2aWV3LmNvbSI7CgkJd2luZG93LldFQlNPQ0tFVF9IT1NUX0ZPUl9SRUNPTk5FQ1QgPSAid2lkZ2V0ZGF0YS1iYWNrdXAudHJhZGluZ3ZpZXcuY29tIjsKCQl3aW5kb3cudXNlciA9IHsndXNlcm5hbWUnOiAnR3Vlc3QnLCAnZm9sbG93aW5nJzogJzAnLCAnZm9sbG93ZXJzJzogJzAnLCAnaWdub3JlX2xpc3QnOiB7fSwgJ2RvX25vdF90cmFjayc6IHRydWV9Ozwvc2NyaXB0PgoJPHNjcmlwdCBub25jZT0iNEdYNTYzK2NETmNHN2NuSmFlK3Q0Zz09Ij5sZXQgcGFyYW1zID0ge307CgkJCWNvbnN0IGh0dHBSZWcgPSBuZXcgUmVnRXhwKCdeaHR0cChzKT86Ly8nKTsKCgkJCXRyeSB7CgkJCQlwYXJhbXMgPSBKU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudChsb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKSkpOwoJCQl9IGNhdGNoIChlKSB7CgkJCQlwYXJhbXMgPSB7fTsKCQkJfQoKCQkJd2luZG93LldFQlNPQ0tFVF9QQVJBTVNfQU5BTFlUSUNTID0gewoJCQkJJ3dzX2FuY2VzdG9yX29yaWdpbic6IHdpbmRvdy5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMgJiYgd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucy5sZW5ndGggPyB3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zW3dpbmRvdy5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMubGVuZ3RoIC0gMV0ucmVwbGFjZShodHRwUmVnLCAnJykgOiBudWxsLAoJCQkJJ3dzX3BhZ2VfdXJpJzogcGFyYW1zWydwYWdlLXVyaSddLAoJCQl9OygoKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKGUsdD0hMSl7Y29uc3R7c2VhcmNoUGFyYW1zOm59PW5ldyBVUkwoU3RyaW5nKGxvY2F0aW9uKSk7bGV0IHM9InRydWUiPT09bi5nZXQoIm1vYmlsZWFwcF9uZXciKSxvPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHAiKTtpZighdCl7Y29uc3QgZT1mdW5jdGlvbihlKXtjb25zdCB0PWUrIj0iLG49ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7Zm9yKGxldCBlPTA7ZTxuLmxlbmd0aDtlKyspe2xldCBzPW5bZV07Zm9yKDsiICI9PT1zLmNoYXJBdCgwKTspcz1zLnN1YnN0cmluZygxLHMubGVuZ3RoKTtpZigwPT09cy5pbmRleE9mKHQpKXJldHVybiBzLnN1YnN0cmluZyh0Lmxlbmd0aCxzLmxlbmd0aCl9cmV0dXJuIG51bGx9KCJ0dl9hcHAiKXx8IiI7c3x8PVsiYW5kcm9pZCIsImFuZHJvaWRfbnBzIl0uaW5jbHVkZXMoZSksb3x8PSJpb3MiPT09ZX1yZXR1cm4hKCJuZXciIT09ZSYmImFueSIhPT1lfHwhcyl8fCEoIm5ldyI9PT1lfHwhbyl9Y29uc3QgdD0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmInVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3Isbj10JiYib250b3VjaHN0YXJ0ImluIHdpbmRvdyxzPSh0JiZuJiZ3aW5kb3csdCYmKG58fG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyksdCYmd2luZG93LmNocm9tZSYmd2luZG93LmNocm9tZS5ydW50aW1lLHQmJndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZigiZmlyZWZveCIpLHQmJi9cc0VkZ2VcL1xkXGRcYi8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSx0JiZCb29sZWFuKG5hdmlnYXRvci52ZW5kb3IpJiZuYXZpZ2F0b3IudmVuZG9yLmluZGV4T2YoIkFwcGxlIik+LTEmJi0xPT09bmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJDcmlPUyIpJiZuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkZ4aU9TIiksdCYmL21hYy9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSx0JiYvV2luMzJ8V2luNjQvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksdCYmL0xpbnV4L2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHQmJi9BbmRyb2lkL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSksbz10JiYvQmxhY2tCZXJyeS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksaT10JiYvaVBob25lfGlQYWR8aVBvZC8udGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHI9dCYmL09wZXJhIE1pbmkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGM9dCYmKCJNYWNJbnRlbCI9PT1uYXZpZ2F0b3IucGxhdGZvcm0mJm5hdmlnYXRvci5tYXhUb3VjaFBvaW50cz4xfHwvaVBhZC8udGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pKSxhPXN8fG98fGl8fHI7Y29uc3QgXz1uZXcgTWFwO2Z1bmN0aW9uIGQoKXtjb25zdCBlPXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSx0PXdpbmRvdy5sb2NhdGlvbi5ob3N0LG49YCR7dH0ke2V9YDtyZXR1cm4gXy5oYXMobil8fF8uc2V0KG4sZnVuY3Rpb24oZSx0KXtjb25zdCBuPVsiXndpZGdldC1kb2NzIl07Zm9yKGNvbnN0IGUgb2YgbilpZihuZXcgUmVnRXhwKGUpLnRlc3QodCkpcmV0dXJuITA7Y29uc3Qgcz1bIl53aWRnZXRlbWJlZC8/JCIsIl5jbWV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldHN0YXRpYy8/JCIsIl4oWzAtOWEtekEtWi1dKyk/Lz9tZWRpdW13aWRnZXRlbWJlZC8/JCIsIl50d2l0dGVyLWNoYXJ0Lz8kIiwiXnRlbGVncmFtL2NoYXJ0Lz8kIiwiXmVtYmVkLyhbMC05YS16QS1aXXs4fSkvPyQiLCJed2lkZ2V0cG9wdXAvPyQiLCJeZXh0ZW5zaW9uLz8kIiwiXmlkZWEtcG9wdXAvPyQiLCJeaG90bGlzdHN3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvaG90bGlzdHN3aWRnZXRlbWJlZC8/JCIsIl5tYXJrZXRvdmVydmlld3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRvdmVydmlld3dpZGdldGVtYmVkLz8kIiwiXmV2ZW50c3dpZGdldGVtYmVkLz8kIiwiXnRpY2tlcnN3aWRnZXRlbWJlZC8/JCIsIl5mb3JleGNyb3NzcmF0ZXN3aWRnZXRlbWJlZC8/JCIsIl5mb3JleGhlYXRtYXB3aWRnZXRlbWJlZC8/JCIsIl5tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl5zY3JlZW5lcndpZGdldC8/JCIsIl5jcnlwdG9ta3RzY3JlZW5lcndpZGdldC8/JCIsIl4oWzAtOWEtekEtWi1dKykvY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL21hcmtldHF1b3Rlc3dpZGdldGVtYmVkLz8kIiwiXnRlY2huaWNhbC1hbmFseXNpcy13aWRnZXQtZW1iZWQvJCIsIl5zaW5nbGVxdW90ZXdpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS9zaW5nbGVxdW90ZXdpZGdldGVtYmVkLz8kIiwiXmVtYmVkLXdpZGdldC8oWzAtOWEtekEtWi1dKykvKChbMC05YS16QS1aLV0rKS8pPyQiLCJed2lkZ2V0LWRvY3MvKFswLTlhLXpBLVotXSspLyhbMC05YS16QS1aLS9dKyk/JCJdLG89ZS5yZXBsYWNlKC9eXC8vLCIiKTtsZXQgaTtmb3IobGV0IGU9cy5sZW5ndGgtMTtlPj0wO2UtLSlpZihpPW5ldyBSZWdFeHAoc1tlXSksaS50ZXN0KG8pKXJldHVybiEwO3JldHVybiExfShlLHQpKSxfLmdldChuKT8/ITF9Y29uc3QgaD13aW5kb3cuVHJhZGluZ1ZpZXc9d2luZG93LlRyYWRpbmdWaWV3fHx7fTtjb25zdCBsPXtBbmRyb2lkOigpPT5zLEJsYWNrQmVycnk6KCk9Pm8saU9TOigpPT5pLE9wZXJhOigpPT5yLGlzSVBhZDooKT0+Yyxhbnk6KCk9PmF9O2guaXNNb2JpbGU9bCxoLm9uV2lkZ2V0PWQ7Y29uc3QgdT0oKT0+e30sZz0ifm1+IjtjbGFzcyBte2NvbnN0cnVjdG9yKGUsdD17fSl7dGhpcy5zZXNzaW9uaWQ9bnVsbCx0aGlzLmNvbm5lY3RlZD0hMSx0aGlzLl90aW1lb3V0PW51bGwsdGhpcy5fYmFzZT1lLHRoaXMuX29wdGlvbnM9e3RpbWVvdXQ6dC50aW1lb3V0fHwyZTQsY29ubmVjdGlvblR5cGU6dC5jb25uZWN0aW9uVHlwZSxhcGlLZXk6dC5hcGlLZXl9fWNvbm5lY3QoKXt0aGlzLl9zb2NrZXQ9bmV3IFdlYlNvY2tldCh0aGlzLl9wcmVwYXJlVXJsKCkpLAp0aGlzLl9zb2NrZXQub25tZXNzYWdlPWU9PntpZigic3RyaW5nIiE9dHlwZW9mIGUuZGF0YSl0aHJvdyBuZXcgVHlwZUVycm9yKGBUaGUgV2ViU29ja2V0IG1lc3NhZ2Ugc2hvdWxkIGJlIGEgc3RyaW5nLiBSZWNpZXZlZCAke09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlLmRhdGEpfWApO3RoaXMuX29uRGF0YShlLmRhdGEpfSx0aGlzLl9zb2NrZXQub25jbG9zZT10aGlzLl9vbkNsb3NlLmJpbmQodGhpcyksdGhpcy5fc29ja2V0Lm9uZXJyb3I9dGhpcy5fb25FcnJvci5iaW5kKHRoaXMpfXNlbmQoZSl7dGhpcy5fc29ja2V0JiZ0aGlzLl9zb2NrZXQuc2VuZCh0aGlzLl9lbmNvZGUoZSkpfWRpc2Nvbm5lY3QoKXt0aGlzLl9jbGVhcklkbGVUaW1lb3V0KCksdGhpcy5fc29ja2V0JiYodGhpcy5fc29ja2V0Lm9ubWVzc2FnZT11LHRoaXMuX3NvY2tldC5vbmNsb3NlPXUsdGhpcy5fc29ja2V0Lm9uZXJyb3I9dSx0aGlzLl9zb2NrZXQuY2xvc2UoKSl9X2NsZWFySWRsZVRpbWVvdXQoKXtudWxsIT09dGhpcy5fdGltZW91dCYmKGNsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0KSx0aGlzLl90aW1lb3V0PW51bGwpfV9lbmNvZGUoZSl7bGV0IHQsbj0iIjtjb25zdCBzPUFycmF5LmlzQXJyYXkoZSk/ZTpbZV0sbz1zLmxlbmd0aDtmb3IobGV0IGU9MDtlPG87ZSsrKXQ9bnVsbD09PXNbZV18fHZvaWQgMD09PXNbZV0/IiI6bS5fc3RyaW5naWZ5KHNbZV0pLG4rPWcrdC5sZW5ndGgrZyt0O3JldHVybiBufV9kZWNvZGUoZSl7Y29uc3QgdD1bXTtsZXQgbixzO2Rve2lmKGUuc3Vic3RyaW5nKDAsMykhPT1nKXJldHVybiB0O249IiIscz0iIjtjb25zdCBvPShlPWUuc3Vic3RyaW5nKDMpKS5sZW5ndGg7Zm9yKGxldCB0PTA7dDxvO3QrKyl7aWYocz1OdW1iZXIoZS5zdWJzdHJpbmcodCx0KzEpKSxOdW1iZXIoZS5zdWJzdHJpbmcodCx0KzEpKSE9PXMpe2U9ZS5zdWJzdHJpbmcobi5sZW5ndGgrMyksbj1OdW1iZXIobik7YnJlYWt9bis9c310LnB1c2goZS5zdWJzdHJpbmcoMCxuKSksZT1lLnN1YnN0cmluZyhuKX13aGlsZSgiIiE9PWUpO3JldHVybiB0fV9vbkRhdGEoZSl7dGhpcy5fc2V0VGltZW91dCgpO2NvbnN0IHQ9dGhpcy5fZGVjb2RlKGUpLG49dC5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxuO2UrKyl0aGlzLl9vbk1lc3NhZ2UodFtlXSl9X3NldFRpbWVvdXQoKXt0aGlzLl9jbGVhcklkbGVUaW1lb3V0KCksdGhpcy5fdGltZW91dD1zZXRUaW1lb3V0KHRoaXMuX29uVGltZW91dC5iaW5kKHRoaXMpLHRoaXMuX29wdGlvbnMudGltZW91dCl9X29uVGltZW91dCgpe3RoaXMuZGlzY29ubmVjdCgpLHRoaXMuX29uRGlzY29ubmVjdCh7Y29kZTo0ZTMscmVhc29uOiJzb2NrZXQuaW8gdGltZW91dCIsd2FzQ2xlYW46ITF9KX1fb25NZXNzYWdlKGUpe3RoaXMuc2Vzc2lvbmlkP3RoaXMuX2NoZWNrSWZIZWFydGJlYXQoZSk/dGhpcy5fb25IZWFydGJlYXQoZS5zbGljZSgzKSk6dGhpcy5fY2hlY2tJZkpzb24oZSk/dGhpcy5fYmFzZS5vbk1lc3NhZ2UoSlNPTi5wYXJzZShlLnNsaWNlKDMpKSk6dGhpcy5fYmFzZS5vbk1lc3NhZ2UoZSk6KHRoaXMuc2Vzc2lvbmlkPWUsdGhpcy5fb25Db25uZWN0KCkpfV9jaGVja0lmSGVhcnRiZWF0KGUpe3JldHVybiB0aGlzLl9jaGVja01lc3NhZ2VUeXBlKGUsImgiKX1fY2hlY2tJZkpzb24oZSl7cmV0dXJuIHRoaXMuX2NoZWNrTWVzc2FnZVR5cGUoZSwiaiIpfV9jaGVja01lc3NhZ2VUeXBlKGUsdCl7cmV0dXJuIGUuc3Vic3RyaW5nKDAsMyk9PT0ifiIrdCsifiJ9X29uSGVhcnRiZWF0KGUpe3RoaXMuc2VuZCgifmh+IitlKX1fb25Db25uZWN0KCl7dGhpcy5jb25uZWN0ZWQ9ITAsdGhpcy5fYmFzZS5vbkNvbm5lY3QoKX1fb25EaXNjb25uZWN0KGUpe3RoaXMuX2NsZWFyKCksdGhpcy5fYmFzZS5vbkRpc2Nvbm5lY3QoZSksdGhpcy5zZXNzaW9uaWQ9bnVsbH1fY2xlYXIoKXt0aGlzLmNvbm5lY3RlZD0hMX1fcHJlcGFyZVVybCgpe2NvbnN0IHQ9ayh0aGlzLl9iYXNlLmhvc3QpO2lmKHQucGF0aG5hbWUrPSJzb2NrZXQuaW8vd2Vic29ja2V0Iix0LnByb3RvY29sPSJ3c3M6Iix0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImZyb20iLHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zbGljZSgxLDUwKSksdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJkYXRlIix3aW5kb3cuQlVJTERfVElNRXx8IiIpLGUoImFueSIpJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImNsaWVudCIsIm1vYmlsZSIpLHRoaXMuX29wdGlvbnMuY29ubmVjdGlvblR5cGUmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgidHlwZSIsdGhpcy5fb3B0aW9ucy5jb25uZWN0aW9uVHlwZSksd2luZG93LldFQlNPQ0tFVF9QQVJBTVNfQU5BTFlUSUNTKXtjb25zdHt3c19wYWdlX3VyaTplLHdzX2FuY2VzdG9yX29yaWdpbjpufT13aW5kb3cuV0VCU09DS0VUX1BBUkFNU19BTkFMWVRJQ1M7ZSYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJwYWdlLXVyaSIsZSksbiYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJhbmNlc3Rvci1vcmlnaW4iLG4pfWNvbnN0IG49d2luZG93LmxvY2F0aW9uLnNlYXJjaC5pbmNsdWRlcygid2lkZ2V0X3Rva2VuIil8fHdpbmRvdy5sb2NhdGlvbi5oYXNoLmluY2x1ZGVzKCJ3aWRnZXRfdG9rZW4iKTtyZXR1cm4gZCgpfHxufHx0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImF1dGgiLCJzZXNzaW9uaWQiKSx2b2lkIDAhPT10aGlzLl9vcHRpb25zLmFwaUtleSYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJhcGlfa2V5Iix0aGlzLl9vcHRpb25zLmFwaUtleSksdC5ocmVmfV9vbkNsb3NlKGUpe3RoaXMuX2NsZWFySWRsZVRpbWVvdXQoKSx0aGlzLl9vbkRpc2Nvbm5lY3QoZSl9X29uRXJyb3IoZSl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX2NsZWFyKCksdGhpcy5fYmFzZS5lbWl0KCJlcnJvciIsW2VdKSx0aGlzLnNlc3Npb25pZD1udWxsfXN0YXRpYyBfc3RyaW5naWZ5KGUpe3JldHVybiJbb2JqZWN0IE9iamVjdF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpPyJ+an4iK0pTT04uc3RyaW5naWZ5KGUpOlN0cmluZyhlKX19Y2xhc3Mgd3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuaG9zdD1lLAp0aGlzLl9jb25uZWN0aW5nPSExLHRoaXMuX2V2ZW50cz17fSx0aGlzLnRyYW5zcG9ydD10aGlzLl9nZXRUcmFuc3BvcnQodCl9aXNDb25uZWN0ZWQoKXtyZXR1cm4hIXRoaXMudHJhbnNwb3J0JiZ0aGlzLnRyYW5zcG9ydC5jb25uZWN0ZWR9aXNDb25uZWN0aW5nKCl7cmV0dXJuIHRoaXMuX2Nvbm5lY3Rpbmd9Y29ubmVjdCgpe3RoaXMuaXNDb25uZWN0ZWQoKXx8KHRoaXMuX2Nvbm5lY3RpbmcmJnRoaXMuZGlzY29ubmVjdCgpLHRoaXMuX2Nvbm5lY3Rpbmc9ITAsdGhpcy50cmFuc3BvcnQuY29ubmVjdCgpKX1zZW5kKGUpe3RoaXMudHJhbnNwb3J0JiZ0aGlzLnRyYW5zcG9ydC5jb25uZWN0ZWQmJnRoaXMudHJhbnNwb3J0LnNlbmQoZSl9ZGlzY29ubmVjdCgpe3RoaXMudHJhbnNwb3J0JiZ0aGlzLnRyYW5zcG9ydC5kaXNjb25uZWN0KCl9b24oZSx0KXtlIGluIHRoaXMuX2V2ZW50c3x8KHRoaXMuX2V2ZW50c1tlXT1bXSksdGhpcy5fZXZlbnRzW2VdLnB1c2godCl9b2ZmQWxsKCl7dGhpcy5fZXZlbnRzPXt9fW9uTWVzc2FnZShlKXt0aGlzLmVtaXQoIm1lc3NhZ2UiLFtlXSl9ZW1pdChlLHQ9W10pe2lmKGUgaW4gdGhpcy5fZXZlbnRzKXtjb25zdCBuPXRoaXMuX2V2ZW50c1tlXS5jb25jYXQoKSxzPW4ubGVuZ3RoO2ZvcihsZXQgZT0wO2U8cztlKyspbltlXS5hcHBseSh0aGlzLHQpfX1vbkNvbm5lY3QoKXt0aGlzLmNsZWFyKCksdGhpcy5lbWl0KCJjb25uZWN0Iil9b25EaXNjb25uZWN0KGUpe3RoaXMuZW1pdCgiZGlzY29ubmVjdCIsW2VdKX1jbGVhcigpe3RoaXMuX2Nvbm5lY3Rpbmc9ITF9X2dldFRyYW5zcG9ydChlKXtyZXR1cm4gbmV3IG0odGhpcyxlKX19ZnVuY3Rpb24gayhlKXtjb25zdCB0PS0xIT09ZS5pbmRleE9mKCIvIik/bmV3IFVSTChlKTpuZXcgVVJMKCJ3c3M6Ly8iK2UpO2lmKCJ3c3M6IiE9PXQucHJvdG9jb2wmJiJodHRwczoiIT09dC5wcm90b2NvbCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgd2Vic29ja2V0IGJhc2UgIitlKTtyZXR1cm4gdC5wYXRobmFtZS5lbmRzV2l0aCgiLyIpfHwodC5wYXRobmFtZSs9Ii8iKSx0LnNlYXJjaD0iIix0LnVzZXJuYW1lPSIiLHQucGFzc3dvcmQ9IiIsdH12YXIgcCxiOyFmdW5jdGlvbihlKXtlW2UuTm9ybWFsPTMwMF09Ik5vcm1hbCIsZVtlLkFmdGVyQ2xvc2VFdmVudD01ZTNdPSJBZnRlckNsb3NlRXZlbnQifShwfHwocD17fSkpLGZ1bmN0aW9uKGUpe2VbZS5JbmZvPTBdPSJJbmZvIixlW2UuTm9ybWFsPTFdPSJOb3JtYWwiLGVbZS5EZWJ1Zz0yXT0iRGVidWciLGVbZS5FcnJvcj0zXT0iRXJyb3IifShifHwoYj17fSkpO2NvbnN0IGY9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJk51bWJlcih3aW5kb3cuVEVMRU1FVFJZX1dTX0VSUk9SX0xPR1NfVEhSRVNIT0xEKXx8MDt2YXIgeTshZnVuY3Rpb24oZSl7ZVtlLlBpbmdJbnRlcnZhbD0xZTRdPSJQaW5nSW50ZXJ2YWwiLGVbZS5NYXhQaW5nc0NvdW50PTEwXT0iTWF4UGluZ3NDb3VudCIsZVtlLk1heFJlZGlyZWN0cz0yMF09Ik1heFJlZGlyZWN0cyIsZVtlLk1heFJlY29ubmVjdHM9MjBdPSJNYXhSZWNvbm5lY3RzIn0oeXx8KHk9e30pKTtjbGFzcyBUe2NvbnN0cnVjdG9yKGUsdD17fSl7dGhpcy5fcXVldWVTdGFjaz1bXSx0aGlzLl9sb2dzUXVldWU9W10sdGhpcy5fdGVsZW1ldHJ5T2JqZWN0c1F1ZXVlPVtdLHRoaXMuX3JlY29ubmVjdENvdW50PTAsdGhpcy5fcmVkaXJlY3RDb3VudD0wLHRoaXMuX2Vycm9yc0NvdW50PTAsdGhpcy5fZXJyb3JzSW5mb1NlbnQ9ITEsdGhpcy5fY29ubmVjdGlvblN0YXJ0PW51bGwsdGhpcy5fY29ubmVjdGlvbkVzdGFibGlzaGVkPW51bGwsdGhpcy5fcmVjb25uZWN0VGltZW91dD1udWxsLHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuPW51bGwsdGhpcy5faXNDb25uZWN0aW9uRm9yYmlkZGVuPSExLHRoaXMuX2luaXRpYWxIb3N0PXQuaW5pdGlhbEhvc3R8fG51bGwsdGhpcy5fc3VnZ2VzdGVkSG9zdD1lLHRoaXMuX3Byb0hvc3Q9dC5wcm9Ib3N0LHRoaXMuX3JlY29ubmVjdEhvc3Q9dC5yZWNvbm5lY3RIb3N0LHRoaXMuX25vUmVjb25uZWN0QWZ0ZXJUaW1lb3V0PSEwPT09dC5ub1JlY29ubmVjdEFmdGVyVGltZW91dCx0aGlzLl9kYXRhUmVxdWVzdFRpbWVvdXQ9dC5kYXRhUmVxdWVzdFRpbWVvdXQsdGhpcy5fY29ubmVjdGlvblR5cGU9dC5jb25uZWN0aW9uVHlwZSx0aGlzLl9hcGlLZXk9dC5hcGlLZXksdGhpcy5fZG9Db25uZWN0KCksdC5waW5nUmVxdWlyZWQmJi0xPT09d2luZG93LmxvY2F0aW9uLnNlYXJjaC5pbmRleE9mKCJub3BpbmciKSYmdGhpcy5fc3RhcnRQaW5nKCl9Y29ubmVjdCgpe3RoaXMuX3RyeUNvbm5lY3QoKX1yZXNldENvdW50ZXJzKCl7dGhpcy5fcmVjb25uZWN0Q291bnQ9MCx0aGlzLl9yZWRpcmVjdENvdW50PTB9c2V0TG9nZ2VyKGUsdCl7dGhpcy5fbG9nZ2VyPWUsdGhpcy5fZ2V0TG9nSGlzdG9yeT10LHRoaXMuX2ZsdXNoTG9ncygpfXNldFRlbGVtZXRyeShlKXt0aGlzLl90ZWxlbWV0cnk9ZSx0aGlzLl90ZWxlbWV0cnkucmVwb3J0U2VudC5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblRlbGVtZXRyeVNlbnQpLHRoaXMuX2ZsdXNoVGVsZW1ldHJ5KCl9b25SZWNvbm5lY3QoZSl7dGhpcy5fb25SZWNvbm5lY3Q9ZX1pc0Nvbm5lY3RlZCgpe3JldHVybiEhdGhpcy5fc29ja2V0JiZ0aGlzLl9zb2NrZXQuaXNDb25uZWN0ZWQoKX1pc0Nvbm5lY3RpbmcoKXtyZXR1cm4hIXRoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LmlzQ29ubmVjdGluZygpfW9uKGUsdCl7cmV0dXJuISF0aGlzLl9zb2NrZXQmJigiY29ubmVjdCI9PT1lJiZ0aGlzLl9zb2NrZXQuaXNDb25uZWN0ZWQoKT90KCk6ImRpc2Nvbm5lY3QiPT09ZT90aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzLnB1c2godCk6dGhpcy5fc29ja2V0Lm9uKGUsdCksITApfWdldFNlc3Npb25JZCgpe3JldHVybiB0aGlzLl9zb2NrZXQmJnRoaXMuX3NvY2tldC50cmFuc3BvcnQ/dGhpcy5fc29ja2V0LnRyYW5zcG9ydC5zZXNzaW9uaWQ6bnVsbH1zZW5kKGUpe3JldHVybiB0aGlzLmlzQ29ubmVjdGVkKCk/KHRoaXMuX3NvY2tldC5zZW5kKGUpLCEwKToodGhpcy5fcXVldWVNZXNzYWdlKGUpLCExKX0KZ2V0Q29ubmVjdGlvbkVzdGFibGlzaGVkKCl7cmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25Fc3RhYmxpc2hlZH1nZXRIb3N0KCl7Y29uc3QgZT10aGlzLl90cnlHZXRQcm9Ib3N0KCk7cmV0dXJuIG51bGwhPT1lP2U6dGhpcy5fcmVjb25uZWN0SG9zdCYmdGhpcy5fcmVjb25uZWN0Q291bnQ+Mz90aGlzLl9yZWNvbm5lY3RIb3N0OnRoaXMuX3N1Z2dlc3RlZEhvc3R9Z2V0UmVjb25uZWN0Q291bnQoKXtyZXR1cm4gdGhpcy5fcmVjb25uZWN0Q291bnR9Z2V0UmVkaXJlY3RDb3VudCgpe3JldHVybiB0aGlzLl9yZWRpcmVjdENvdW50fWdldENvbm5lY3Rpb25TdGFydCgpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uU3RhcnR9ZGlzY29ubmVjdCgpe3RoaXMuX2NsZWFyUmVjb25uZWN0VGltZW91dCgpLCh0aGlzLmlzQ29ubmVjdGVkKCl8fHRoaXMuaXNDb25uZWN0aW5nKCkpJiYodGhpcy5fcHJvcGFnYXRlRGlzY29ubmVjdCgpLHRoaXMuX2Rpc2Nvbm5lY3RDYWxsYmFja3M9W10sdGhpcy5fY2xvc2VTb2NrZXQoKSl9Zm9yYmlkQ29ubmVjdGlvbigpe3RoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbj0hMCx0aGlzLmRpc2Nvbm5lY3QoKX1hbGxvd0Nvbm5lY3Rpb24oKXt0aGlzLl9pc0Nvbm5lY3Rpb25Gb3JiaWRkZW49ITEsdGhpcy5jb25uZWN0KCl9aXNNYXhSZWRpcmVjdHMoKXtyZXR1cm4gdGhpcy5fcmVkaXJlY3RDb3VudD49MjB9aXNNYXhSZWNvbm5lY3RzKCl7cmV0dXJuIHRoaXMuX3JlY29ubmVjdENvdW50Pj0yMH1nZXRQaW5nSW5mbygpe3JldHVybiB0aGlzLl9waW5nSW5mb3x8bnVsbH1nZXRBcGlLZXkoKXtyZXR1cm4gdGhpcy5fYXBpS2V5fV90cnlHZXRQcm9Ib3N0KCl7cmV0dXJuIHdpbmRvdy5UcmFkaW5nVmlldyYmd2luZG93LlRyYWRpbmdWaWV3Lm9uQ2hhcnRQYWdlJiYiYmF0dGxlIj09PXdpbmRvdy5lbnZpcm9ubWVudCYmIXRoaXMuX3JlZGlyZWN0Q291bnQmJi0xPT09d2luZG93LmxvY2F0aW9uLmhyZWYuaW5kZXhPZigid3NfaG9zdCIpP3RoaXMuX2luaXRpYWxIb3N0P3RoaXMuX2luaXRpYWxIb3N0OnZvaWQgMCE9PXdpbmRvdy51c2VyJiZ3aW5kb3cudXNlci5wcm9fcGxhbj90aGlzLl9wcm9Ib3N0fHx0aGlzLl9zdWdnZXN0ZWRIb3N0Om51bGw6bnVsbH1fcXVldWVNZXNzYWdlKGUpezA9PT10aGlzLl9xdWV1ZVN0YWNrLmxlbmd0aCYmdGhpcy5fbG9nTWVzc2FnZSgwLCJTb2NrZXQgaXMgbm90IGNvbm5lY3RlZC4gUXVldWVkIGEgbWVzc2FnZSIpLHRoaXMuX3F1ZXVlU3RhY2sucHVzaChlKX1fcHJvY2Vzc01lc3NhZ2VRdWV1ZSgpezAhPT10aGlzLl9xdWV1ZVN0YWNrLmxlbmd0aCYmKHRoaXMuX2xvZ01lc3NhZ2UoMCwiUHJvY2Vzc2luZyBxdWV1ZWQgbWVzc2FnZXMiKSx0aGlzLl9xdWV1ZVN0YWNrLmZvckVhY2godGhpcy5zZW5kLmJpbmQodGhpcykpLHRoaXMuX2xvZ01lc3NhZ2UoMCwiUHJvY2Vzc2VkICIrdGhpcy5fcXVldWVTdGFjay5sZW5ndGgrIiBtZXNzYWdlcyIpLHRoaXMuX3F1ZXVlU3RhY2s9W10pfV9vbkRpc2Nvbm5lY3QoZSl7dGhpcy5fbm9SZWNvbm5lY3RBZnRlclRpbWVvdXR8fG51bGwhPT10aGlzLl9yZWNvbm5lY3RUaW1lb3V0fHwodGhpcy5fcmVjb25uZWN0VGltZW91dD1zZXRUaW1lb3V0KHRoaXMuX3RyeVJlY29ubmVjdC5iaW5kKHRoaXMpLDVlMykpLHRoaXMuX2NsZWFyT25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKTtsZXQgdD0iZGlzY29ubmVjdCBzZXNzaW9uOiIrdGhpcy5nZXRTZXNzaW9uSWQoKTtlJiYodCs9IiwgY29kZToiK2UuY29kZSsiLCByZWFzb246IitlLnJlYXNvbiwxMDA1PT09ZS5jb2RlJiZ0aGlzLl9zZW5kVGVsZW1ldHJ5KCJ3ZWJzb2NrZXRfY29kZV8xMDA1IikpLHRoaXMuX2xvZ01lc3NhZ2UoMCx0KSx0aGlzLl9wcm9wYWdhdGVEaXNjb25uZWN0KGUpLHRoaXMuX2Nsb3NlU29ja2V0KCksdGhpcy5fcXVldWVTdGFjaz1bXX1fY2xvc2VTb2NrZXQoKXtudWxsIT09dGhpcy5fc29ja2V0JiYodGhpcy5fc29ja2V0Lm9mZkFsbCgpLHRoaXMuX3NvY2tldC5kaXNjb25uZWN0KCksdGhpcy5fc29ja2V0PW51bGwpfV9sb2dNZXNzYWdlKGUsdCl7Y29uc3Qgbj17bWV0aG9kOmUsbWVzc2FnZTp0fTt0aGlzLl9sb2dnZXI/dGhpcy5fZmx1c2hMb2dNZXNzYWdlKG4pOihuLm1lc3NhZ2U9YFskeyhuZXcgRGF0ZSkudG9JU09TdHJpbmcoKX1dICR7bi5tZXNzYWdlfWAsdGhpcy5fbG9nc1F1ZXVlLnB1c2gobikpfV9mbHVzaExvZ01lc3NhZ2UoZSl7c3dpdGNoKGUubWV0aG9kKXtjYXNlIDI6dGhpcy5fbG9nZ2VyLmxvZ0RlYnVnKGUubWVzc2FnZSk7YnJlYWs7Y2FzZSAzOnRoaXMuX2xvZ2dlci5sb2dFcnJvcihlLm1lc3NhZ2UpO2JyZWFrO2Nhc2UgMDp0aGlzLl9sb2dnZXIubG9nSW5mbyhlLm1lc3NhZ2UpO2JyZWFrO2Nhc2UgMTp0aGlzLl9sb2dnZXIubG9nTm9ybWFsKGUubWVzc2FnZSl9fV9mbHVzaExvZ3MoKXt0aGlzLl9mbHVzaExvZ01lc3NhZ2Uoe21ldGhvZDoxLG1lc3NhZ2U6Im1lc3NhZ2VzIGZyb20gcXVldWUuIFN0YXJ0LiJ9KSx0aGlzLl9sb2dzUXVldWUuZm9yRWFjaCgoZT0+e3RoaXMuX2ZsdXNoTG9nTWVzc2FnZShlKX0pKSx0aGlzLl9mbHVzaExvZ01lc3NhZ2Uoe21ldGhvZDoxLG1lc3NhZ2U6Im1lc3NhZ2VzIGZyb20gcXVldWUuIEVuZC4ifSksdGhpcy5fbG9nc1F1ZXVlPVtdfV9zZW5kVGVsZW1ldHJ5KGUsdCl7Y29uc3Qgbj17ZXZlbnQ6ZSxwYXJhbXM6dH07dGhpcy5fdGVsZW1ldHJ5P3RoaXMuX2ZsdXNoVGVsZW1ldHJ5T2JqZWN0KG4pOnRoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZS5wdXNoKG4pfV9mbHVzaFRlbGVtZXRyeU9iamVjdChlKXt0aGlzLl90ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KGUuZXZlbnQsZS5wYXJhbXMsITEpfV9mbHVzaFRlbGVtZXRyeSgpe3RoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZS5mb3JFYWNoKChlPT57dGhpcy5fZmx1c2hUZWxlbWV0cnlPYmplY3QoZSl9KSksdGhpcy5fdGVsZW1ldHJ5T2JqZWN0c1F1ZXVlPVtdfV9kb0Nvbm5lY3QoKXsKdGhpcy5fc29ja2V0JiYodGhpcy5fc29ja2V0LmlzQ29ubmVjdGVkKCl8fHRoaXMuX3NvY2tldC5pc0Nvbm5lY3RpbmcoKSl8fCh0aGlzLl9jbGVhck9ubGluZUNhbmNlbGxhdGlvblRva2VuKCksdGhpcy5faG9zdD10aGlzLmdldEhvc3QoKSx0aGlzLl9zb2NrZXQ9bmV3IHcodGhpcy5faG9zdCx7dGltZW91dDp0aGlzLl9kYXRhUmVxdWVzdFRpbWVvdXQsY29ubmVjdGlvblR5cGU6dGhpcy5fY29ubmVjdGlvblR5cGUsYXBpS2V5OnRoaXMuX2FwaUtleX0pLHRoaXMuX2xvZ01lc3NhZ2UoMCwiQ29ubmVjdGluZyB0byAiK3RoaXMuX2hvc3QpLHRoaXMuX2JpbmRFdmVudHMoKSx0aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzPVtdLHRoaXMuX2Nvbm5lY3Rpb25TdGFydD1wZXJmb3JtYW5jZS5ub3coKSx0aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWQ9bnVsbCx0aGlzLl9zb2NrZXQuY29ubmVjdCgpLHBlcmZvcm1hbmNlLm1hcmsoIlNXU0MiLHtkZXRhaWw6IlN0YXJ0IFdlYlNvY2tldCBjb25uZWN0aW9uIn0pLHRoaXMuX3NvY2tldC5vbigiY29ubmVjdCIsKCgpPT57cGVyZm9ybWFuY2UubWFyaygiRVdTQyIse2RldGFpbDoiRW5kIFdlYlNvY2tldCBjb25uZWN0aW9uIn0pLHBlcmZvcm1hbmNlLm1lYXN1cmUoIldlYlNvY2tldCBjb25uZWN0aW9uIGRlbGF5IiwiU1dTQyIsIkVXU0MiKX0pKSl9X3Byb3BhZ2F0ZURpc2Nvbm5lY3QoZSl7Y29uc3QgdD10aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzLmxlbmd0aDtmb3IobGV0IG49MDtuPHQ7bisrKXRoaXMuX2Rpc2Nvbm5lY3RDYWxsYmFja3Nbbl0oZXx8e30pfV9iaW5kRXZlbnRzKCl7dGhpcy5fc29ja2V0JiYodGhpcy5fc29ja2V0Lm9uKCJjb25uZWN0IiwoKCk9Pntjb25zdCBlPXRoaXMuZ2V0U2Vzc2lvbklkKCk7aWYoInN0cmluZyI9PXR5cGVvZiBlKXtjb25zdCB0PUpTT04ucGFyc2UoZSk7aWYodC5yZWRpcmVjdClyZXR1cm4gdGhpcy5fcmVkaXJlY3RDb3VudCs9MSx0aGlzLl9zdWdnZXN0ZWRIb3N0PXQucmVkaXJlY3QsdGhpcy5pc01heFJlZGlyZWN0cygpJiZ0aGlzLl9zZW5kVGVsZW1ldHJ5KCJyZWRpcmVjdF9iYWlsb3V0Iiksdm9pZCB0aGlzLl9yZWRpcmVjdCgpfXRoaXMuX2Nvbm5lY3Rpb25Fc3RhYmxpc2hlZD1wZXJmb3JtYW5jZS5ub3coKSx0aGlzLl9wcm9jZXNzTWVzc2FnZVF1ZXVlKCksdGhpcy5fbG9nTWVzc2FnZSgwLCJjb25uZWN0IHNlc3Npb246IitlKX0pKSx0aGlzLl9zb2NrZXQub24oImRpc2Nvbm5lY3QiLHRoaXMuX29uRGlzY29ubmVjdC5iaW5kKHRoaXMpKSx0aGlzLl9zb2NrZXQub24oImNsb3NlIix0aGlzLl9vbkRpc2Nvbm5lY3QuYmluZCh0aGlzKSksdGhpcy5fc29ja2V0Lm9uKCJlcnJvciIsKGU9Pnt0aGlzLl9sb2dNZXNzYWdlKDAsbmV3IERhdGUrIiBzZXNzaW9uOiIrdGhpcy5nZXRTZXNzaW9uSWQoKSsiIHdlYnNvY2tldCBlcnJvcjoiK0pTT04uc3RyaW5naWZ5KGUpKSx0aGlzLl9zZW5kVGVsZW1ldHJ5KCJ3ZWJzb2NrZXRfZXJyb3IiKSx0aGlzLl9lcnJvcnNDb3VudCsrLCF0aGlzLl9lcnJvcnNJbmZvU2VudCYmdGhpcy5fZXJyb3JzQ291bnQ+PWYmJih2b2lkIDAhPT10aGlzLl9sYXN0Q29ubmVjdENhbGxTdGFjayYmKHRoaXMuX3NlbmRUZWxlbWV0cnkoIndlYnNvY2tldF9lcnJvcl9jb25uZWN0X3N0YWNrIix7dGV4dDp0aGlzLl9sYXN0Q29ubmVjdENhbGxTdGFja30pLGRlbGV0ZSB0aGlzLl9sYXN0Q29ubmVjdENhbGxTdGFjayksdm9pZCAwIT09dGhpcy5fZ2V0TG9nSGlzdG9yeSYmdGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2Vycm9yX2xvZyIse3RleHQ6dGhpcy5fZ2V0TG9nSGlzdG9yeSg1MCkuam9pbigiXG4iKX0pLHRoaXMuX2Vycm9yc0luZm9TZW50PSEwKX0pKSl9X3JlZGlyZWN0KCl7dGhpcy5kaXNjb25uZWN0KCksdGhpcy5fcmVjb25uZWN0V2hlbk9ubGluZSgpfV90cnlSZWNvbm5lY3QoKXt0aGlzLl90cnlDb25uZWN0KCkmJih0aGlzLl9yZWNvbm5lY3RDb3VudCs9MSl9X3RyeUNvbm5lY3QoKXtyZXR1cm4hdGhpcy5faXNDb25uZWN0aW9uRm9yYmlkZGVuJiYodGhpcy5fY2xlYXJSZWNvbm5lY3RUaW1lb3V0KCksdGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2s9bmV3IEVycm9yKGBXZWJTb2NrZXQgY29ubmVjdCBzdGFjay4gSXMgY29ubmVjdGVkOiAke3RoaXMuaXNDb25uZWN0ZWQoKX0uYCkuc3RhY2t8fCIiLCF0aGlzLmlzQ29ubmVjdGVkKCkmJih0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9yZWNvbm5lY3RXaGVuT25saW5lKCksITApKX1fY2xlYXJPbmxpbmVDYW5jZWxsYXRpb25Ub2tlbigpe3RoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuJiYodGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKSx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1udWxsKX1fY2xlYXJSZWNvbm5lY3RUaW1lb3V0KCl7bnVsbCE9PXRoaXMuX3JlY29ubmVjdFRpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5fcmVjb25uZWN0VGltZW91dCksdGhpcy5fcmVjb25uZWN0VGltZW91dD1udWxsKX1fcmVjb25uZWN0V2hlbk9ubGluZSgpe2lmKG5hdmlnYXRvci5vbkxpbmUpcmV0dXJuIHRoaXMuX2xvZ01lc3NhZ2UoMCwiTmV0d29yayBzdGF0dXM6IG9ubGluZSAtIHRyeWluZyB0byBjb25uZWN0IiksdGhpcy5fZG9Db25uZWN0KCksdm9pZCh0aGlzLl9vblJlY29ubmVjdCYmdGhpcy5fb25SZWNvbm5lY3QoKSk7dGhpcy5fbG9nTWVzc2FnZSgwLCJOZXR3b3JrIHN0YXR1czogb2ZmbGluZSAtIHdhaXQgdW50aWwgb25saW5lIiksdGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW49ZnVuY3Rpb24oZSl7bGV0IHQ9ZTtjb25zdCBuPSgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9ubGluZSIsbiksdCYmdCgpfTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsbiksKCk9Pnt0PW51bGx9fSgoKCk9Pnt0aGlzLl9sb2dNZXNzYWdlKDAsIk5ldHdvcmsgc3RhdHVzIGNoYW5nZWQgdG8gb25saW5lIC0gdHJ5aW5nIHRvIGNvbm5lY3QiKSx0aGlzLl9kb0Nvbm5lY3QoKSx0aGlzLl9vblJlY29ubmVjdCYmdGhpcy5fb25SZWNvbm5lY3QoKX0pKX0KX29uVGVsZW1ldHJ5U2VudChlKXsid2Vic29ja2V0X2Vycm9yImluIGUmJih0aGlzLl9lcnJvcnNDb3VudD0wLHRoaXMuX2Vycm9yc0luZm9TZW50PSExKX1fc3RhcnRQaW5nKCl7aWYodGhpcy5fcGluZ0ludGVydmFsSWQpcmV0dXJuO2NvbnN0IGU9ayh0aGlzLmdldEhvc3QoKSk7ZS5wYXRobmFtZSs9InBpbmciLGUucHJvdG9jb2w9Imh0dHBzOiI7bGV0IHQ9MCxuPTA7Y29uc3Qgcz1lPT57dGhpcy5fcGluZ0luZm89dGhpcy5fcGluZ0luZm98fHttYXg6MCxtaW46MS8wLGF2ZzowfTtjb25zdCBzPShuZXcgRGF0ZSkuZ2V0VGltZSgpLWU7cz50aGlzLl9waW5nSW5mby5tYXgmJih0aGlzLl9waW5nSW5mby5tYXg9cyksczx0aGlzLl9waW5nSW5mby5taW4mJih0aGlzLl9waW5nSW5mby5taW49cyksdCs9cyxuKyssdGhpcy5fcGluZ0luZm8uYXZnPXQvbixuPj0xMCYmdGhpcy5fcGluZ0ludGVydmFsSWQmJihjbGVhckludGVydmFsKHRoaXMuX3BpbmdJbnRlcnZhbElkKSxkZWxldGUgdGhpcy5fcGluZ0ludGVydmFsSWQpfTt0aGlzLl9waW5nSW50ZXJ2YWxJZD1zZXRJbnRlcnZhbCgoKCk9Pntjb25zdCB0PShuZXcgRGF0ZSkuZ2V0VGltZSgpLG49bmV3IFhNTEh0dHBSZXF1ZXN0O24ub3BlbigiR0VUIixlLCEwKSxuLnNlbmQoKSxuLm9ucmVhZHlzdGF0ZWNoYW5nZT0oKT0+e24ucmVhZHlTdGF0ZT09PVhNTEh0dHBSZXF1ZXN0LkRPTkUmJjIwMD09PW4uc3RhdHVzJiZzKHQpfX0pLDFlNCl9fQpjb25zdCBDPSJ3aWRnZXRfdXNlcl90b2tlbi0iLHY9SlNPTi5wYXJzZSgneyJhZHgiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZHgiLCJhZHhEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4RCIsImFnZW5jaWFsYm1jb21iciI6IndpZGdldF91c2VyX3Rva2VuLWFnZW5jaWFsYm1jb21iciIsImFsamF6aXJhY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxEIiwiYWxqYXppcmFjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxSVCIsImFscmFqaGljYXBpdGFsY29tRCI6IndpZGdldF91c2VyX3Rva2VuLWFscmFqaGljYXBpdGFsY29tRCIsImFscmFqaGljYXBpdGFsY29tUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbVJUIiwiYW1iaXRvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYW1iaXRvIiwiYXJlbmF4dHJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYXJlbmF4dHJvIiwiYXJ0ZWNoZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLUFydGVjaGVEIiwiYXRsY2FwaXRhbCI6IndpZGdldF91c2VyX3Rva2VuLWF0bGNhcGl0YWwiLCJiYW5raXJvc3J1Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYmFua2lyb3NydSIsImJidmFjaCI6IndpZGdldF91c2VyX3Rva2VuLWJidmFjaCIsImJlZWtzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWVrc2dyb3VwIiwiYmVsdWdhZ3JvdXBydSI6IndpZGdldF91c2VyX3Rva2VuLWJlbHVnYWdyb3VwcnUiLCJiaXZhY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tYml2YWNvbSIsImJsdWVmaWVsZCI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVmaWVsZCIsImJsdWVsaW5lZnV0dXJlcyI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVsaW5lZnV0dXJlcyIsImJvdmVzcGEiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibWZib3Zlc3BhY29tYnIiLCJidmJybyI6IndpZGdldF91c2VyX3Rva2VuLWJ2YnJvIiwiYnl0ZXRyYXZlbCI6IndpZGdldF91c2VyX3Rva2VuLWJ5dGV0cmF2ZWwiLCJjYm9lY2FuYWRhIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2JvZWNhbmFkYSIsImNoYW1waW9ubmF0Ym91cnNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2hhbXBpb25uYXRib3Vyc2UiLCJjaW5jb2RpYXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jaW5jb2RpYXMiLCJjZW9jYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1jZW9jYUQiLCJjZW9jYVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FSVCIsImNtY21hcmtldHMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jbWNtYXJrZXRzIiwiY29wZWVzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY29wZWVzIiwiY3NlbGsiOiJ3aWRnZXRfdXNlcl90b2tlbi1jc2VsayIsImRhaWx5ZngiOiJ3aWRnZXRfdXNlcl90b2tlbi1kYWlseWZ4IiwiZGVlcHNlYXJjaCI6IndpZGdldF91c2VyX3Rva2VuLWRlZXBzZWFyY2giLCJkZXJheWFoY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGVyYXlhaGNvbSIsImRmbWFlRCI6IndpZGdldF91c2VyX3Rva2VuLWRmbWFlRCIsImRmbWFlUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZVJUIiwiZGluYXJzYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhRCIsImRpbmFyc2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWRpbmFyc2FSVCIsImRvbGFyaG95Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZG9sYXJob3kiLCJlYXN5bnZlc3Rjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWVhc3ludmVzdGNvbWJyIiwiZWRhaWx5Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZWRhaWx5IiwiZWxlc3Bhbm9sY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxlc3Bhbm9sY29tIiwiZWxvYnJlcm9lcyI6IndpZGdldF91c2VyX3Rva2VuLWVsb2JyZXJvZXMiLCJlbG5hY2lvbmFsRCI6IndpZGdldF91c2VyX3Rva2VuLUVsTmFjaW9uYWxEIiwiZWxwYWlzZmluYW5jaWVybyI6IndpZGdldF91c2VyX3Rva2VuLWVscGFpc2ZpbmFuY2llcm8iLCJlbHBlcmlvZGljb2RlbGFlbmVyZ2lhIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxwZXJpb2RpY29kZWxhZW5lcmdpYSIsImV1cXVlcm9pbnZlc3RpciI6IndpZGdldF91c2VyX3Rva2VuLWV1cXVlcm9pbnZlc3RpcmNvbSIsImV1cmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyZXgiLCJldXJvZmlucyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9maW5zIiwiZXBlIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXBlIiwiZXVyb3BhcHJlc3NlcyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9wYXByZXNzZXMiLCJmaW5hbnphc0QiOiJ3aWRnZXRfdXNlcl90b2tlbi1GaW5hbnphc0QiLCJmb3JiZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWZvcmJlc2NvbWJyIiwiZ2VuaWFsaW52ZXN0aW1lbnRvcyI6IndpZGdldF91c2VyX3Rva2VuLWdlbmlhbGludmVzdGltZW50b3MiLCJoZWFsdGhpdGFsaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWFsdGhpdGFsaWEiLCJoZWduYXJubyI6IndpZGdldF91c2VyX3Rva2VuLWhlZ25hcm5vIiwiaGlwb3RlY2FyaW9jb21hciI6IndpZGdldF91c2VyX3Rva2VuLWhpcG90ZWNhcmlvY29tYXIiLCJpZ2NvbSI6IndpZGdldF91c2VyX3Rva2VuLWlnY29tIiwiaW52ZXN0ZWdhdGVjb3VrIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0ZWdhdGVjb3VrIiwiaW52ZXN0b3BlZGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0b3BlZGlhIiwiaW50ZWdyYWx5YXRpcmltIjoid2lkZ2V0X3VzZXJfdG9rZW4taW50ZWdyYWx5YXRpcmltIiwiaXZzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1pdnNncm91cCIsImpzZWNvemEiOiJ3aWRnZXRfdXNlcl90b2tlbi1qc2Vjb3phIiwiYm9lcnNlbnplaXR1bmciOiJ3aWRnZXRfdXNlcl90b2tlbi1ib2Vyc2VuemVpdHVuZyIsImxhaW5mb3JtYWNpb25jb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1sYWluZm9ybWFjaW9uY29tIiwibWFyY29wb2xvY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tYXJjb3BvbG9jb21iciIsIm1lcmNhZG9maW5hbmNpZXJvY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWVyY2Fkb2ZpbmFuY2llcm9jb20iLCJtb2V4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tbW9leCIsIm1vbmV5dGltZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLW1vbmV5dGltZXNjb21iciIsIm1vbml0b3Jkb21lcmNhZG9EIjoid2lkZ2V0X3VzZXJfdG9rZW4tbW9uaXRvcmRvbWVyY2Fkb0QiLCJteW5ldGNvbSI6IndpZGdldF91c2VyX3Rva2VuLW15bmV0Y29tIiwibmVnb2Npb3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1uZWdvY2lvcyIsIk5HWCI6IndpZGdldF91c2VyX3Rva2VuLU5HWCIsIk5vdGljaWFzYWdyaWNvbGFEIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm90aWNpYXNhZ3JpY29sYUQiLCJub21tb21hIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm9tbW9tYSIsIm5zZWNva3IiOiJ3aWRnZXRfdXNlcl90b2tlbi1uc2Vjb2tyIiwib2tkaWFyaW8iOiJ3aWRnZXRfdXNlcl90b2tlbi1va2RpYXJpbyIsInBhbmFmcmljYW5yZXNvdXJjZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1wYW5hZnJpY2FucmVzb3VyY2VzY29tIiwicHNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlIiwicG9kZXIzNjAiOiJ3aWRnZXRfdXNlcl90b2tlbi1wb2RlcjM2MCIsInBzZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1wc2VEIiwicml5YWRoY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsRCIsInJpeWFkaGNhcGl0YWxSVCI6IndpZGdldF91c2VyX3Rva2VuLXJpeWFkaGNhcGl0YWxSVCIsInFlY29tcWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1xZWNvbXFhIiwic2Ftb2xldCI6IndpZGdldF91c2VyX3Rva2VuLXNhbW9sZXQiLCJzZWVpbmdtYWNoaW5lc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXNlZWluZ21hY2hpbmVzY29tIiwic2V1ZGluaGVpcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZXVkaW5oZWlybyIsInNvZnR3YXJlYWciOiJ3aWRnZXRfdXNlcl90b2tlbi1zb2Z0d2FyZWFnIiwic29nZWNsYWlyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29nZWNsYWlyIiwic2djb21wYW55aXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zZ2NvbXBhbnlpdCIsInNoYXJlanVuY3Rpb24iOiJ3aWRnZXRfdXNlcl90b2tlbi1zaGFyZWp1bmN0aW9uIiwic21hcnRsYWItY3VzdG9tIjoid2lkZ2V0X3VzZXJfdG9rZW4tc21hcnRsYWIiLCJzbWFydGxhYiI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic3BhY2Vtb25leWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3BhY2Vtb25leWNvbWJyIiwic3RvbmV4d2RnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4wqMtIXd3dy5zdG9uZXguY29tIiwic3RveGlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RveGlvIiwic3RvbmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4IiwidG9yb2ludmVzdGltZW50b3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10b3JvaW52ZXN0aW1lbnRvc2NvbSIsInRoZWNzZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLXRoZWNzZWNvbSIsInRyYWRlcnNjbHViYnJhc2lsIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWwiLCJ0cmFkZXJzY2x1YmJyYXNpbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkZXJzY2x1YmJyYXNpbEQiLCJ0cmFkaW5ndmlldyI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRpbmd2aWV3IiwieHRvb2xzIjoid2lkZ2V0X3VzZXJfdG9rZW4teHRvb2xzIiwidHdpdHRlciI6IndpZGdldF91c2VyX3Rva2VuLXR3aXR0ZXIiLCJ2ZWxvY2l0eWNvbXBvc2l0ZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi12ZWxvY2l0eWNvbXBvc2l0ZXNjb20iLCJ2b2Nlc2FhYnJpbGNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tdm9jZXNhYWJyaWxjb21iciIsIndlYWx0aHNpbXBsZSI6IndpZGdldF91c2VyX3Rva2VuLXdlYWx0aHNpbXBsZcKjLSFteS53ZWFsdGhzaW1wbGUuY29tIiwid29ybGRjaGVzc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXdvcmxkY2hlc3Njb20iLCJ4Q3J0eUprc3AiOiJ3aWRnZXRfdXNlcl90b2tlbi14Q3J0eUprc3AiLCJ4cGljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXhwaWNvbWJyIn0nKVt3aW5kb3cuVHJhZGluZ1ZpZXcmJndpbmRvdy5UcmFkaW5nVmlldy53aWRnZXRDdXN0b21lcnx8IiJdfHwiIixTPXYuc3RhcnRzV2l0aChDKT92LnN1YnN0cmluZygxOCk6InRyYWRpbmd2aWV3Igo7d2luZG93LldTQmFja2VuZENvbm5lY3Rpb249bmV3IFQod2luZG93LldFQlNPQ0tFVF9IT1NULHtwaW5nUmVxdWlyZWQ6d2luZG93LldTX0hPU1RfUElOR19SRVFVSVJFRCxwcm9Ib3N0OndpbmRvdy5XRUJTT0NLRVRfUFJPX0hPU1QscmVjb25uZWN0SG9zdDp3aW5kb3cuV0VCU09DS0VUX0hPU1RfRk9SX1JFQ09OTkVDVCxpbml0aWFsSG9zdDp3aW5kb3cuV0VCU09DS0VUX0lOSVRJQUxfSE9TVCxjb25uZWN0aW9uVHlwZTp3aW5kb3cuV0VCU09DS0VUX0NPTk5FQ1RJT05fVFlQRSxhcGlLZXk6U30pLHdpbmRvdy5XU0JhY2tlbmRDb25uZWN0aW9uQ3Rvcj1UfSkoKTsKCTwvc2NyaXB0Pgo8L2hlYWQ+Cjxib2R5PgoJPHNjcmlwdCBub25jZT0iNEdYNTYzK2NETmNHN2NuSmFlK3Q0Zz09Ij4KCQkoKCk9PnsidXNlIHN0cmljdCI7Y29uc3QgdD0xMDE5O3ZhciBlLHMsbyxhLGQ7IWZ1bmN0aW9uKHQpe3QuQWRhcHRpdmU9ImFkYXB0aXZlIix0LlJlZ3VsYXI9InJlZ3VsYXIiLHQuQ29tcGFjdD0iY29tcGFjdCJ9KGV8fChlPXt9KSksZnVuY3Rpb24odCl7dC5BbGxTeW1ib2xzPSJhbGxfc3ltYm9scyIsdC5NYXJrZXQ9Im1hcmtldCIsdC5TeW1ib2w9InN5bWJvbCJ9KHN8fChzPXt9KSksZnVuY3Rpb24odCl7dC5DcnlwdG9jdXJyZW5jaWVzPSJjcnlwdG8iLHQuQ3VycmVuY2llcz0iZm9yZXgiLHQuU3RvY2tzPSJzdG9jayIsdC5JbmRpY2VzPSJpbmRleCIsdC5GdXR1cmVzPSJmdXR1cmVzIix0LkJvbmRzPSJjZmQifShvfHwobz17fSkpLGZ1bmN0aW9uKHQpe3QuSFRNTD0iaHRtbCIsdC5SZWFjdD0icmVhY3QifShhfHwoYT17fSkpLGZ1bmN0aW9uKHQpe3QuVGhlbWVDbGFzc1ByZWZpeD0idGhlbWUtIn0oZHx8KGQ9e30pKTtjb25zdCBjPXdpbmRvdztjLmluaXREYXRhPWMuaW5pdERhdGF8fHt9O2xldCBpPWMuaW5pdERhdGEuaGFzaFNldHRpbmdzO2lmKGMuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMmJihpPXsuLi5jLmluaXREYXRhLndpZGdldERlZmF1bHRzLC4uLml9KSx2b2lkIDAhPT1pKXtpZih2b2lkIDAhPT1pLmNvbG9yVGhlbWUmJmZ1bmN0aW9uKHQsZT13aW5kb3cpe2NvbnN0IHM9InRoZW1lLSIrdCxvPWUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdDtmb3IoY29uc3QgdCBvZiBBcnJheS5mcm9tKG8pKXQuc3RhcnRzV2l0aCgidGhlbWUtIikmJnQhPT1zJiZvLnJlbW92ZSh0KTtvLmFkZChzKSxlLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0LnRoZW1lPXR9KGkuY29sb3JUaGVtZSksKGkuaXNUcmFuc3BhcmVudHx8aS50cmFuc3BhcmVuY3kpJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaXMtdHJhbnNwYXJlbnQiKSx2b2lkIDAhPT1pLmRpc3BsYXlNb2RlJiZmdW5jdGlvbihzLG8pe2lmKG89PT1lLkFkYXB0aXZlKXtjb25zdCBlPXdpbmRvdy5tYXRjaE1lZGlhKGAobWF4LXdpZHRoOiAke3R9cHgpYCksbz0oKT0+e3MuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLXJlZ3VsYXIiLCFlLm1hdGNoZXMpLHMuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLWNvbXBhY3QiLGUubWF0Y2hlcyl9O28oKSxlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsbyl9ZWxzZSBzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1yZWd1bGFyIixvPT09ZS5SZWd1bGFyKSxzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1jb21wYWN0IixvPT09ZS5Db21wYWN0KX0oZG9jdW1lbnQuYm9keSxpLmRpc3BsYXlNb2RlKSxpLmJvZHlDbGFzc2VzKWZvcihjb25zdCB0IG9mIGkuYm9keUNsYXNzZXMpZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKHQpO2kuYm9keV9jbGFzcyYmZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKGkuYm9keV9jbGFzcyksaS5ib2R5SWQmJihkb2N1bWVudC5ib2R5LmlkPWkuYm9keUlkKX19KSgpOwoJPC9zY3JpcHQ+CgoKPHNjcmlwdCBub25jZT0iNEdYNTYzK2NETmNHN2NuSmFlK3Q0Zz09Ij4KCXdpbmRvdy5pbml0RGF0YSA9IHdpbmRvdy5pbml0RGF0YSB8fCB7fTsKCgl3aW5kb3cuaW5pdERhdGEuc25vd3Bsb3dTZXR0aW5ncyA9IHsKCQljb2xsZWN0b3JJZDogJ3R2X2NmJywKCQl1cmw6ICdzbm93cGxvdy1waXhlbC50cmFkaW5ndmlldy5jb20nLAoJCXBhcmFtczogewoJCQlhcHBJZDogJ3RyYWRpbmd2aWV3JywKCQkJcG9zdFBhdGg6ICcvY29tLnRyYWRpbmd2aWV3L3RyYWNrJywKCQl9LAoJCWVuYWJsZWQ6IHRydWUsCgl9Cjwvc2NyaXB0PjwvYm9keT4KPC9odG1sPg=="}},"time_used":156,"timings":{"blocked":0,"dns":2,"connect":1,"send":0,"wait":146,"receive":0,"ssl":7},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/11409.ff84ce4d523d3540c7b2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.124Z","timestamp":1785141584124,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/11409.ff84ce4d523d3540c7b2.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323ca6-30a0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:20:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:15:35\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bffd6026b3a3e7896a70b8e044db6172\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":12448,"size_decoded":2540,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (12448), with no line terminators","md5":"9cbd709ec51e71339f9e69c3d1123c45","sha1":"18fc795afdbb481ad608bd860ac9b7bb46ee7e64","sha256":"16656563dbea106cf3921679f643ec67ec00cb3aa403ca62d51a28b02edc49cd","sha512":"26e5802457dc337b290fa5ffd9b5ab3134a9243bc599ee54d8bf8129ad1f8c76256660c9eb5ea4e260161ba1568a64085cfdb3496f618dab283564cf760fcb96","ssdeep":"192:kOE3SjlWLR0cFLonGDgTVoTRRCc0OE3R25jqBfm2GKctwCYzcbyVjEBRroRGR7lW:2Wc1z3lTlftwE+VjEkARZVsr","tlshash":"45428b8ce94142af6813903c1339eb38de46ff53dc524bab7769544a4bc3ae161ebb44","first_seen":"2026-06-17T17:32:05.658594Z","last_seen":"2026-07-27T14:50:15.50412Z","times_seen":918,"resource_available":false,"data":"LnN0YXR1c2VzV3JhcC1VUklqRUI5OHtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmZsZXg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjB9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXXthbGlnbi1zZWxmOmNlbnRlcjtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo5cHg7ZGlzcGxheTppbmxpbmUtZmxleDttaW4td2lkdGg6NnB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjB9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZSk7b3V0bGluZS1vZmZzZXQ6MnB4fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06ZW1wdHksW2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXV9oaWRkZW57ZGlzcGxheTpub25lfVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0uc21hbGwtVVJJakVCOTh7Ym9yZGVyLXJhZGl1czo5cHh9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXS5tZWRpdW0tVVJJakVCOTh7Ym9yZGVyLXJhZGl1czoxMXB4fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0ubGFyZ2UtVVJJakVCOTh7Ym9yZGVyLXJhZGl1czo4cHh9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXS5ibGlua2luZy1VUklqRUI5OHt3aWxsLWNoYW5nZTpvcGFjaXR5fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0gLnN0YXR1c0l0ZW0tVVJJakVCOTg6bm90KDpvbmx5LWNoaWxkKTpmaXJzdC1jaGlsZHtwYWRkaW5nLWxlZnQ6MnB4fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0gLnN0YXR1c0l0ZW0tVVJJakVCOTg6bm90KDpvbmx5LWNoaWxkKTpsYXN0LWNoaWxke3BhZGRpbmctcmlnaHQ6MnB4fS5zdGF0dXNJdGVtLVVSSWpFQjk4e2RpcmVjdGlvbjpsdHI7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5zdGF0dXNJdGVtLVVSSWpFQjk4OmFmdGVye2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6LTF9LnN0YXR1c0l0ZW0tVVJJakVCOTggc3Zne2luc2V0LWlubGluZS1zdGFydDo1MCU7cG9zaXRpb246cmVsYXRpdmU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7ei1pbmRleDowfS5zdGF0dXNJdGVtLVVSSWpFQjk4IHN2ZzpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlKDUwJSwtNTAlKX0uc3RhdHVzSXRlbS1VUklqRUI5OC5zbWFsbC1VUklqRUI5OHtoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS5zdGF0dXNJdGVtLVVSSWpFQjk4Lm1lZGl1bS1VUklqRUI5OHtoZWlnaHQ6MjJweDt3aWR0aDoyMnB4fS5zdGF0dXNJdGVtLVVSSWpFQjk4LmxhcmdlLVVSSWpFQjk4e2hlaWdodDoyOHB4O3dpZHRoOjI4cHh9LnN0YXR1c0l0ZW0tVVJJakVCOTguYmxpbmtpbmctVVJJakVCOTg6YWZ0ZXJ7YW5pbWF0aW9uOmJsaW5raW5nLWFuaW1hdGlvbi1VUklqRUI5OCAyLjVzIGN1YmljLWJlemllciguMjUsMCwuNzUsMSkgaW5maW5pdGV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zdGF0dXNJdGVtLVVSSWpFQjk4LmJsaW5raW5nLVVSSWpFQjk4OmFmdGVyOmhvdmVye29wYWNpdHk6aW5oZXJpdH19LnN0YXR1c0l0ZW0tVVJJakVCOTg6ZGlyKHJ0bCl7ZGlyZWN0aW9uOnJ0bH0ubWFya2V0U3RhdHVzT3Blbi1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKX0ubWFya2V0U3RhdHVzT3Blbi1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLm1hcmtldFN0YXR1c09wZW4tVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLm1hcmtldFN0YXR1c09wZW4tVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtYm9sZCl9Lm1hcmtldFN0YXR1c0Nsb3NlLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9Lm1hcmtldFN0YXR1c0Nsb3NlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5tYXJrZXRTdGF0dXNDbG9zZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNDbG9zZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpfS5tYXJrZXRTdGF0dXNQcmUtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctZXh0cmEtYm9sZCl9Lm1hcmtldFN0YXR1c1ByZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzUHJlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLm1hcmtldFN0YXR1c1ByZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWJvbGQpfS5tYXJrZXRTdGF0dXNQb3N0LVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZCl9Lm1hcmtldFN0YXR1c1Bvc3QtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzUG9zdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLm1hcmtldFN0YXR1c1Bvc3QtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWJvbGQpfS5tYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9Lm1hcmtldFN0YXR1c092ZXJuaWdodC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5tYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQpfS5tYXJrZXRTdGF0dXNIb2xpZGF5LVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9Lm1hcmtldFN0YXR1c0hvbGlkYXktVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLm1hcmtldFN0YXR1c0hvbGlkYXktVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAubWFya2V0U3RhdHVzSG9saWRheS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpfS5tYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfS5tYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzRGVsaXN0ZWQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZCl9Lm1hcmtldFN0YXR1c0V4cGlyZWQtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlcil9Lm1hcmtldFN0YXR1c0V4cGlyZWQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5tYXJrZXRTdGF0dXNFeHBpcmVkLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNFeHBpcmVkLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQpfS5tYXJrZXRTdGF0dXNDdXN0b20tVVJJakVCOTh7Y29sb3I6dmFyKC0tY3VzdG9tLXN0YXR1cy1jb2xvcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQpKX0ubWFya2V0U3RhdHVzQ3VzdG9tLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VzdG9tLXN0YXR1cy1jb2xvci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbGlnaHQpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzQ3VzdG9tLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VzdG9tLXN0YXR1cy1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbm9ybWFsKSl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNDdXN0b20tVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jdXN0b20tc3RhdHVzLWNvbG9yLWJhY2tncm91bmQtYWN0aXZlLHZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItYm9sZCkpfS5pbnZhbGlkU3ltYm9sLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LmludmFsaWRTeW1ib2wtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuaW52YWxpZFN5bWJvbC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmludmFsaWRTeW1ib2wtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLWV4dHJhLWJvbGQpfS5hY3RpdmVTdHJhdGVneS1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQpfS5hY3RpdmVTdHJhdGVneS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5hY3RpdmVTdHJhdGVneS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmFjdGl2ZVN0cmF0ZWd5LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1ib2xkKX0uYWxlcnQtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcyl9LmFsZXJ0LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuYWxlcnQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmFsZXJ0LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWJvbGQpfS5hbGVydEl0ZW1zQ29udGFpbmVyLVVSSWpFQjk4e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHh9LmFsZXJ0SXRlbS1VUklqRUI5OHtkaXNwbGF5OmZsZXh9LnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5OCwucmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5ODphZnRlciwucmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAucmVwbGF5TW9kZUF1dG9QbGF5LVVSSWpFQjk4OmFmdGVyLFtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLnJlcGxheU1vZGVQYXVzZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5ODphZnRlcixbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAucmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1ib2xkKX0ucmVwbGF5TW9kZVBvaW50U2VsZWN0LVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LnJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLnJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLnJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9LnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5OC5ibGlua2luZy1VUklqRUI5ODphZnRlcnthbmltYXRpb246YmxpbmtpbmctYW5pbWF0aW9uLWN1c3RvbS1VUklqRUI5OCAxcyBjdWJpYy1iZXppZXIoLjc3LC4yMSwuMSwuNzQpIGluZmluaXRlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucmVwbGF5TW9kZUF1dG9QbGF5LVVSSWpFQjk4LmJsaW5raW5nLVVSSWpFQjk4OmFmdGVyOmhvdmVye29wYWNpdHk6aW5oZXJpdH19Lm5vdEFjY3VyYXRlLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1leHRyYS1ib2xkKX0ubm90QWNjdXJhdGUtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5ub3RBY2N1cmF0ZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAubm90QWNjdXJhdGUtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItYm9sZCl9Lm9wZW5lZEluUGluZUVkaXRvci1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZCl9Lm9wZW5lZEluUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLm9wZW5lZEluUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAub3BlbmVkSW5QaW5lRWRpdG9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWJvbGQpfS5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvci1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCl9Lm9wZW5lZEluRGV0YWNoZWRQaW5lRWRpdG9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpfS5kZWxheS1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1ib2xkKX0uZGVsYXktVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmRlbGF5LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmRlbGF5LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtYm9sZCl9LmVvZC1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKX0uZW9kLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmVvZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmVvZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtYm9sZCl9LmRhdGFQcm9ibGVtSGlnaC1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfS5kYXRhUHJvYmxlbUhpZ2gtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuZGF0YVByb2JsZW1IaWdoLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAuZGF0YVByb2JsZW1IaWdoLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkKX0uZGF0YVByb2JsZW1Mb3ctVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkKX0uZGF0YVByb2JsZW1Mb3ctVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5kYXRhUHJvYmxlbUxvdy1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAuZGF0YVByb2JsZW1Mb3ctVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZCl9Lmhhc0Vycm9yLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZCl9Lmhhc0Vycm9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuaGFzRXJyb3ItVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmhhc0Vycm9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQpfS51cGRhdGVBdmFpbGFibGUtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1vdGhlci1ub3JtYWwpfS51cGRhdGVBdmFpbGFibGUtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC00LWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAudXBkYXRlQXZhaWxhYmxlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAudXBkYXRlQXZhaWxhYmxlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1ib2xkKX1Aa2V5ZnJhbWVzIGJsaW5raW5nLWFuaW1hdGlvbi1VUklqRUI5OHswJSx0b3tvcGFjaXR5Oi4zfTUwJXtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgYmxpbmtpbmctYW5pbWF0aW9uLWN1c3RvbS1VUklqRUI5OHswJSx0b3tvcGFjaXR5Oi41fTUwJXtvcGFjaXR5OjF9fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/68725.df46d140ffcce5cbedbf.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.759Z","timestamp":1785141584759,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/68725.df46d140ffcce5cbedbf.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-6e6d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b7f8275b2d650fd112295930aab105a2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":28269,"size_decoded":10427,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"301a8f4008180f5ddc683901defaec4d","sha1":"892a96df9fffdbee70f8c3c701e4681b6c4466dc","sha256":"89111fb1ee14c800a44c510278977f64ce50a38e074b3bbaa2f494193ed42cf6","sha512":"86dc50bd47044f799fa90bbb6725d83f782e87021fb6097ab0304ab1db8cbcd8c660f107d780b2c01c6e18fa7d03b5cf55d686e28c12ee3c4fd4a25d406379db","ssdeep":"768:5CNMfr3mWAwSatuyEJEIVVij9+Dpo27SU21KP3:IQPA+wVojcDa27SUh","tlshash":"f5c20964b2a8343541d7825bd4794a03f2356c85b00352adf66e2cde1f9e88d33aaf39","first_seen":"2026-07-23T14:00:31.748932Z","last_seen":"2026-07-27T14:50:15.443985Z","times_seen":115,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szOTYwOSw2ODcyNV0sezQ0ODQxMSh0KXt0LmV4cG9ydHM9e2RpYWxvZzoiZGlhbG9nLUdIVUg2XzFYIixyb3VuZGVkOiJyb3VuZGVkLUdIVUg2XzFYIixzaGFkb3dlZDoic2hhZG93ZWQtR0hVSDZfMVgiLGZ1bGxzY3JlZW46ImZ1bGxzY3JlZW4tR0hVSDZfMVgiLGRhcmtlcjoiZGFya2VyLUdIVUg2XzFYIixiYWNrZHJvcDoiYmFja2Ryb3AtR0hVSDZfMVgifX0sMTQ1OTg1KHQpe3QuZXhwb3J0cz17YmxvY2tJY29uOiJibG9ja0ljb24tZ3ZPUVZpVjcifX0sNzk1NDY1KHQpe3QuZXhwb3J0cz17d3JhcDoid3JhcC1ZWnc4UlhlaSIsdWlNYXJrZXI6InVpTWFya2VyLVladzhSWGVpIixyZWQ6InJlZC1ZWnc4UlhlaSIsYmx1ZToiYmx1ZS1ZWnc4UlhlaSIsZ3JlZW46ImdyZWVuLVladzhSWGVpIixvcmFuZ2U6Im9yYW5nZS1ZWnc4UlhlaSIscHVycGxlOiJwdXJwbGUtWVp3OFJYZWkiLGN5YW46ImN5YW4tWVp3OFJYZWkiLHBpbms6InBpbmstWVp3OFJYZWkiLHVpTWFya2VyX19zbWFsbDoidWlNYXJrZXJfX3NtYWxsLVladzhSWGVpIn19LDE3NTg2Myh0KXt0LmV4cG9ydHM9eyJ0YWJsZXQtbm9ybWFsLWJyZWFrcG9pbnQiOiIobWF4LXdpZHRoOiA3NjhweCkiLCJ0b29sdGlwLW9mZnNldCI6IjIwcHgiLGRpYWxvZzoiZGlhbG9nLXF5Q3cwUGFOIixkcmFnZ2luZzoiZHJhZ2dpbmctcXlDdzBQYU4iLG1vYmlsZToibW9iaWxlLXF5Q3cwUGFOIixmdWxsc2NyZWVuOiJmdWxsc2NyZWVuLXF5Q3cwUGFOIixkaWFsb2dBbmltYXRlZEFwcGVhcmFuY2U6ImRpYWxvZ0FuaW1hdGVkQXBwZWFyYW5jZS1xeUN3MFBhTiIsZGlhbG9nQW5pbWF0aW9uOiJkaWFsb2dBbmltYXRpb24tcXlDdzBQYU4iLGRpYWxvZ1Rvb2x0aXA6ImRpYWxvZ1Rvb2x0aXAtcXlDdzBQYU4ifX0sOTIzNTEzKHQpe3QuZXhwb3J0cz17Y29udGFpbmVyOiJjb250YWluZXItekxWbTZCNHQiLGNvbnRlbnQ6ImNvbnRlbnQtekxWbTZCNHQiLGFycm93SG9sZGVyOiJhcnJvd0hvbGRlci16TFZtNkI0dCIsImFycm93SG9sZGVyLS1iZWxvdyI6ImFycm93SG9sZGVyLS1iZWxvdy16TFZtNkI0dCIsImFycm93SG9sZGVyLS1hYm92ZSI6ImFycm93SG9sZGVyLS1hYm92ZS16TFZtNkI0dCIsImFycm93SG9sZGVyLS1iZWZvcmUiOiJhcnJvd0hvbGRlci0tYmVmb3JlLXpMVm02QjR0IiwiYXJyb3dIb2xkZXItLWFmdGVyIjoiYXJyb3dIb2xkZXItLWFmdGVyLXpMVm02QjR0IiwiYXJyb3dIb2xkZXItLWFib3ZlLWZpeCI6ImFycm93SG9sZGVyLS1hYm92ZS1maXgtekxWbTZCNHQiLCJhcnJvd0hvbGRlci0tYmVmb3JlLXJ0bC1maXgiOiJhcnJvd0hvbGRlci0tYmVmb3JlLXJ0bC1maXgtekxWbTZCNHQiLCJhcnJvd0hvbGRlci0tYWZ0ZXItbHRyLWZpeCI6ImFycm93SG9sZGVyLS1hZnRlci1sdHItZml4LXpMVm02QjR0IixsYWJlbDoibGFiZWwtekxWbTZCNHQiLGNsb3NlQnV0dG9uOiJjbG9zZUJ1dHRvbi16TFZtNkI0dCJ9fSw0OTA4OTModCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7UG9wdXBDb250ZXh0OigpPT5pfSk7Y29uc3QgaT1zKDc3OTQ3NCkuY3JlYXRlQ29udGV4dChudWxsKX0sOTkxMDY2KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse0RpYWxvZzooKT0+ZH0pO3ZhciBpPXMoNzc5NDc0KSxvPXMoOTE0NDg3KSxuPXMubihvKSxhPXMoNjA3ODMyKSxyPXMoOTAzNDIpLGw9cygzNDUxMTYpLGg9cyg0NDg0MTEpLGM9cy5uKGgpO2NsYXNzIGQgZXh0ZW5kcyBpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX21hbmFnZXI9bmV3IHIuT3ZlcmxhcE1hbmFnZXIsdGhpcy5faGFuZGxlU2xvdD10PT57dGhpcy5fbWFuYWdlci5zZXRDb250YWluZXIodCl9fXJlbmRlcigpe2NvbnN0e3JvdW5kZWQ6dD0hMCxzaGFkb3dlZDplPSEwLGZ1bGxzY3JlZW46cz0hMSxkYXJrZXI6bz0hMSxjbGFzc05hbWU6cixiYWNrZHJvcDpoLGNvbnRhaW5lclRhYkluZGV4OmQ9LTF9PXRoaXMucHJvcHMsdT1uKCkocixjKCkuZGlhbG9nLHQmJmMoKS5yb3VuZGVkLGUmJmMoKS5zaGFkb3dlZCxzJiZjKCkuZnVsbHNjcmVlbixvJiZjKCkuZGFya2VyKSxwPSgwLGwuZmlsdGVyRGF0YVByb3BzKSh0aGlzLnByb3BzKSxtPXRoaXMucHJvcHMuc3R5bGU/ey4uLnRoaXMuX2NyZWF0ZVN0eWxlcygpLC4uLnRoaXMucHJvcHMuc3R5bGV9OnRoaXMuX2NyZWF0ZVN0eWxlcygpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoaS5GcmFnbWVudCxudWxsLGkuY3JlYXRlRWxlbWVudChhLlNsb3RDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0aGlzLl9tYW5hZ2VyfSxoJiZpLmNyZWF0ZUVsZW1lbnQoImRpdiIse29uQ2xpY2s6dGhpcy5wcm9wcy5vbkNsaWNrQmFja2Ryb3AsY2xhc3NOYW1lOmMoKS5iYWNrZHJvcH0pLGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Li4ucCxjbGFzc05hbWU6dSxzdHlsZTptLHJlZjp0aGlzLnByb3BzLnJlZmVyZW5jZSxvbkZvY3VzOnRoaXMucHJvcHMub25Gb2N1cyxvbk1vdXNlRG93bjp0aGlzLnByb3BzLm9uTW91c2VEb3duLG9uTW91c2VVcDp0aGlzLnByb3BzLm9uTW91c2VVcCxvbkNsaWNrOnRoaXMucHJvcHMub25DbGljayxvbktleURvd246dGhpcy5wcm9wcy5vbktleURvd24sdGFiSW5kZXg6ZCwiYXJpYS1sYWJlbCI6dGhpcy5wcm9wcy5jb250YWluZXJBcmlhTGFiZWx9LHRoaXMucHJvcHMuY2hpbGRyZW4pKSxpLmNyZWF0ZUVsZW1lbnQoYS5TbG90LHtyZWZlcmVuY2U6dGhpcy5faGFuZGxlU2xvdH0pKX1fY3JlYXRlU3R5bGVzKCl7Y29uc3R7Ym90dG9tOnQsbGVmdDplLHdpZHRoOnMscmlnaHQ6aSx0b3A6byx6SW5kZXg6bixoZWlnaHQ6YX09dGhpcy5wcm9wcztyZXR1cm57Ym90dG9tOnQsbGVmdDplLHJpZ2h0OmksdG9wOm8sekluZGV4Om4sbWF4V2lkdGg6cyxoZWlnaHQ6YX19fX0sMjE3Mjc0KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse0Jsb2NrSWNvbjooKT0+aH0pO3ZhciBpPXMoOTE0NDg3KSxvPXMubihpKSxuPXMoNzc5NDc0KSxhPXMoOTQ4NDUwKSxyPXMoMTQ1OTg1KSxsPXMubihyKQo7Y29uc3QgaD1uLmZvcndhcmRSZWYoKCh0LGUpPT57Y29uc3R7Y2xhc3NOYW1lOnMsaWNvbjppLGFyaWFMYWJlbDpyLGFyaWFMYWJlbGxlZGJ5OmgsdGl0bGU6YywuLi5kfT10LHU9ZDtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KGEuQ29tbW9uSWNvbix7Y2xhc3NOYW1lOm8oKShzLGwoKS5ibG9ja0ljb24pLHJlZjplLGljb246aSxhcmlhTGFiZWw6cixhcmlhTGFiZWxsZWRieTpoLHRpdGxlOmMsLi4udX0pfSkpfSw4MzE1MjcodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLnIoZSkscy5kKGUse01hcmtlZFN5bWJvbHNMaXN0U2VydmljZTooKT0+ZCxnZXRNYXJrZWRTeW1ib2xzTGlzdFNlcnZpY2VJbnN0YW5jZTooKT0+dX0pO3ZhciBpPXMoODM5NDI2KSxvPXMoMTg1MjcxKSxuPXMoNzEyMTM0KSxhPXMoNTAwNTE0KSxyPXMoMjM0OTY0KSxsPXMoMjQzNjMxKSxoPXMoNzcwNzU1KSxjPXMoMzEzMzAwKTtjbGFzcyBke2dldFN5bWJvbHNCeUNvbG9yKHQpe3JldHVybiB0aGlzLl9tb2RlbC5nZXRTeW1ib2xzQnlDb2xvcih0KX1zZXRTeW1ib2xzQ29sb3IodCxlKXswIT09dC5sZW5ndGgmJnRoaXMuX3J1bldpdGhTeW5jKCgoKT0+e3RoaXMuX21vZGVsLnNldFN5bWJvbHNDb2xvcih0LGUpfSkpfWdldFN5bWJvbENvbG9yKHQpe3JldHVybiB0aGlzLl9tb2RlbC5nZXRTeW1ib2xDb2xvcih0KX1tYXJrTWFueSh0KXt0aGlzLl9ydW5XaXRoU3luYygoKCk9Pnt0aGlzLl9tb2RlbC5tYXJrTWFueSh0KX0pKX1jbGVhckFsbFN5bWJvbHNDb2xvcigpe3RoaXMuX3J1bldpdGhTeW5jKCgoKT0+e3RoaXMuX21vZGVsLmNsZWFyQWxsU3ltYm9sc0NvbG9yKCl9KSl9YWRqdXN0U3ltYm9sc0NvbG9ycyh0KXtjb25zdCBlPW5ldyBsLkNvbG9yTWFuYWdlcih7Y29udGV4dDpsLkNvbG9yQ29udGV4dC5TeW1ib2xNYXJrZXJ9KSxzPSF0Lm1hcCgodD0+dGhpcy5nZXRTeW1ib2xDb2xvcih0KSkpLmluY2x1ZGVzKG51bGwpO3RoaXMuc2V0U3ltYm9sc0NvbG9yKHQscz9udWxsOmUuZ2V0Q29sb3IoKSl9b25TeW1ib2xDaGFuZ2UodCxlKXtjb25zdCBzPXRoaXMuX3N5bWJvbENoYW5nZUhhbmRsZXJzLmdldCh0KTtzP3MucHVzaChlKTp0aGlzLl9zeW1ib2xDaGFuZ2VIYW5kbGVycy5zZXQodCxbZV0pfW9mZlN5bWJvbENoYW5nZSh0LGUpe2NvbnN0IHM9dGhpcy5fc3ltYm9sQ2hhbmdlSGFuZGxlcnMuZ2V0KHQpO2lmKHMpe2NvbnN0IGk9cy5maWx0ZXIoKHQ9PnQhPT1lKSk7aS5sZW5ndGg+MD90aGlzLl9zeW1ib2xDaGFuZ2VIYW5kbGVycy5zZXQodCxpKTp0aGlzLl9zeW1ib2xDaGFuZ2VIYW5kbGVycy5kZWxldGUodCl9fW9uTGlzdENoYW5nZSh0KXt0aGlzLl9saXN0Q2hhbmdlSGFuZGxlcnMucHVzaCh0KX1vZmZMaXN0Q2hhbmdlKHQpe3RoaXMuX2xpc3RDaGFuZ2VIYW5kbGVycz10aGlzLl9saXN0Q2hhbmdlSGFuZGxlcnMuZmlsdGVyKChlPT5lIT09dCkpfW9uSW5pdCh0KXt0aGlzLl9pbml0SGFuZGxlcnMucHVzaCh0KX1vZmZJbml0KHQpe3RoaXMuX2luaXRIYW5kbGVycz10aGlzLl9pbml0SGFuZGxlcnMuZmlsdGVyKChlPT5lIT09dCkpfWRlc3Ryb3koKXt0aGlzLl9tb2RlbC5kZXN0cm95KCksdGhpcy5fdW5zdWJzY3JpYmVMb2dpblN0YXRlQ2hhbmdlKCl9aXNJbml0ZWQoKXtyZXR1cm4gdGhpcy5faW5pdGVkfV9zdWJzY3JpYmVMb2dpblN0YXRlQ2hhbmdlKCl7d2luZG93LmxvZ2luU3RhdGVDaGFuZ2UmJndpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTG9naW5TdGF0ZUNoYW5nZSl9X3Vuc3Vic2NyaWJlTG9naW5TdGF0ZUNoYW5nZSgpe3dpbmRvdy5sb2dpblN0YXRlQ2hhbmdlJiZ3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTG9naW5TdGF0ZUNoYW5nZSl9X3N5bmNTeW1ib2xzKCl7aWYod2luZG93LmlzX2F1dGhlbnRpY2F0ZWQpe3RoaXMuX3N5bmM9dGhpcy5fbW9kZWwuc3luY1N5bWJvbHMoKTtjb25zdCB0PSgpPT57dGhpcy5fc3luYz1udWxsLHRoaXMuX2luaXRlZD0hMH07cmV0dXJuIHRoaXMuX3N5bmMudGhlbih0KS5jYXRjaCh0KX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCl9Y29uc3RydWN0b3IodCl7dGhpcy5fc3ltYm9sQ2hhbmdlSGFuZGxlcnM9bmV3IE1hcCx0aGlzLl9saXN0Q2hhbmdlSGFuZGxlcnM9W10sdGhpcy5faW5pdEhhbmRsZXJzPVtdLHRoaXMuX3N5bmM9bnVsbCx0aGlzLl9pbml0ZWQ9ITEsdGhpcy5faGFuZGxlQ2hhbmdlPSh0LGUpPT57aWYodC5saXN0cyE9PWUubGlzdHMpe3RoaXMuX2xpc3RDaGFuZ2VIYW5kbGVycy5mb3JFYWNoKChzPT57dHJ5e3ModCxlKX1jYXRjaHt9fSkpO2Zvcihjb25zdFtzLGldb2YgQXJyYXkuZnJvbSh0aGlzLl9zeW1ib2xDaGFuZ2VIYW5kbGVycy5lbnRyaWVzKCkpKXtjb25zdCBvPSgwLG4uZ2V0U3ltYm9sQ29sb3IpKHQscyksYT0oMCxuLmdldFN5bWJvbENvbG9yKShlLHMpO28hPT1hJiZpLmZvckVhY2goKHQ9Pnt0cnl7dChvLGEpfWNhdGNoe319KSl9fX0sdGhpcy5fb25Mb2dpblN0YXRlQ2hhbmdlPSgpPT57bGV0IHQ7dGhpcy5fbW9kZWwuY2xvc2VDb25uZWN0aW9uKCksd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/KHRoaXMuX21vZGVsLmNvbm5lY3QoKSx0PXRoaXMuX3N5bmNTeW1ib2xzKCkpOih0aGlzLl9tb2RlbC5hbm9ueW1pemUoKSx0aGlzLl9pbml0ZWQ9ITEsdD1Qcm9taXNlLnJlc29sdmUoKSksdC50aGVuKHRoaXMuX2ZpcmVJbml0KX0sdGhpcy5fZmlyZUluaXQ9KCk9Pnt0aGlzLl9pbml0SGFuZGxlcnMuZm9yRWFjaCgodD0+dCgpKSl9LHRoaXMuX3J1bldpdGhTeW5jPXQ9Pnt0aGlzLl9zeW5jP3RoaXMuX3N5bmMudGhlbih0KTp0KCl9LHRoaXMuX2hhbmRsZVJlc3RyaWN0ZWRDb2xvcj0oKT0+eygwLGgub3BlblBheXdhbGwpKHtmZWF0dXJlOiJmbGFnZ2VkU3ltYm9scyJ9KX0sdGhpcy5faGFuZGxlTGltaXQ9KCk9PnsoMCxjLmdldFdhdGNobGlzdFN5bWJvbHNMaW1pdCkoKTxjLk1BWF9XQVRDSExJU1RfTEVOR1RIPygwLGgub3BlblBheXdhbGwpKHtmZWF0dXJlOiJ3YXRjaGxpc3RTeW1ib2xzIn0pOigwLHIuc2hvd1dhcm5pbmcpKHsKdGl0bGU6by50KG51bGwsdm9pZCAwLHMoODQxNzk5KSksdGV4dDpvLnQobnVsbCx7cmVwbGFjZTp7bGltaXQ6U3RyaW5nKGMuTUFYX1dBVENITElTVF9MRU5HVEgpfX0scyg4NjA3MjIpKX0sbnVsbCl9LHRoaXMuX21vZGVsPW5ldyBhLk1hcmtlZFN5bWJvbHNMaXN0TW9kZWwoe2FwaTp0P3QuYXBpOnZvaWQgMCxxdW90ZVNlc3Npb246dD90LnF1b3RlU2Vzc2lvbjp2b2lkIDAsb25DaGFuZ2U6dGhpcy5faGFuZGxlQ2hhbmdlLGxpbWl0OnQ/LmxpbWl0LG9uTGltaXQ6dGhpcy5faGFuZGxlTGltaXQsb25SZXN0cmljdGVkQ29sb3I6dGhpcy5faGFuZGxlUmVzdHJpY3RlZENvbG9yLGNvbG9yczp0Py5jb2xvcnMsZXZlbnQ6Im1hcmtlZC1zeW1ib2xzIn0pLHRoaXMuX3N1YnNjcmliZUxvZ2luU3RhdGVDaGFuZ2UoKSx0aGlzLl9zeW5jU3ltYm9scygpLnRoZW4odGhpcy5fZmlyZUluaXQpfX1jb25zdCB1PSgwLGkuZGVmYXVsdCkoKCgpPT5uZXcgZCkpfSw4Mjk3NjModCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7VWlNYXJrZXI6KCk9Pmh9KTt2YXIgaT1zKDcxMjEzNCksbz1zKDM2MzI2OSksbj1zKDkxNDQ4NyksYT1zLm4obikscj1zKDg1MjUzMSksbD1zKDc5NTQ2NSk7Y2xhc3MgaHtzZXRDb2xvcih0KXt0aGlzLnJlbW92ZUNvbG9yKCksdGhpcy5hZGRDbGFzcyhsW3RdKX1yZW1vdmVDb2xvcigpe3RoaXMuX2VsZW0uY2xhc3NMaXN0LnJlbW92ZShsW2kuTGlzdENvbG9yLlJlZF0sbFtpLkxpc3RDb2xvci5PcmFuZ2VdLGxbaS5MaXN0Q29sb3IuUHVycGxlXSxsW2kuTGlzdENvbG9yLkdyZWVuXSxsW2kuTGlzdENvbG9yLkJsdWVdLGxbaS5MaXN0Q29sb3IuQ3lhbl0sbFtpLkxpc3RDb2xvci5QaW5rXSl9YWRkQ2xhc3ModCl7dGhpcy5fZWxlbS5jbGFzc0xpc3QuYWRkKHQpfXJlbW92ZUNsYXNzKHQpe3RoaXMuX2VsZW0uY2xhc3NMaXN0LnJlbW92ZSh0KX1nZXRFbGVtKCl7cmV0dXJuIHRoaXMuX2VsZW19YXBwZW5kVG8odCl7dGhpcy5kZXRhY2goKSx0aGlzLl9jb250YWluZXI9dCx0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5fZWxlbSksdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKX1kZXRhY2goKXt0aGlzLl9yZW1vdmVFdmVudExpc3RlbmVycygpLHRoaXMuX2NvbnRhaW5lciYmKHRoaXMuX2NvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzLl9lbGVtKSxkZWxldGUgdGhpcy5fY29udGFpbmVyKX1fcmVuZGVyKHQpe2NvbnN0IGU9YSgpKGwudWlNYXJrZXIse1t0LmNsYXNzTmFtZV06Qm9vbGVhbih0LmNsYXNzTmFtZSksW2xbdC5jb2xvcl1dOkJvb2xlYW4odC5jb2xvcil9KSxzPXQuc3BlY2lhbEltYWdlfHxyLGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGkuY2xhc3NOYW1lPWUsaS5pbm5lckhUTUw9cyx0aGlzLl9jb250YWluZXImJnRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChpKSxpfV9hZGRFdmVudExpc3RlbmVycygpe2lmKHRoaXMuX29wdHMub25DbGljayl7Y29uc3QgdD1vLm1vYmlsZXRvdWNoPyJ0b3VjaHN0YXJ0IjoiY2xpY2siO3RoaXMuX2VsZW0uYWRkRXZlbnRMaXN0ZW5lcih0LHRoaXMuX29uQ2xpY2spfXRoaXMuX29wdHMub25EYmxDbGljayYmdGhpcy5fZWxlbS5hZGRFdmVudExpc3RlbmVyKCJkYmxjbGljayIsdGhpcy5fb25EYmxDbGljayl9X3JlbW92ZUV2ZW50TGlzdGVuZXJzKCl7aWYodGhpcy5fb3B0cy5vbkNsaWNrKXtjb25zdCB0PW8ubW9iaWxldG91Y2g/InRvdWNoc3RhcnQiOiJjbGljayI7dGhpcy5fZWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKHQsdGhpcy5fb25DbGljayl9dGhpcy5fb3B0cy5vbkRibENsaWNrJiZ0aGlzLl9lbGVtLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRibGNsaWNrIix0aGlzLl9vbkRibENsaWNrKX1jb25zdHJ1Y3Rvcih0KXt0aGlzLl9vbkNsaWNrPXQ9Pnt0aGlzLl9vcHRzLm9uQ2xpY2smJnRoaXMuX29wdHMub25DbGljayh0KX0sdGhpcy5fb25EYmxDbGljaz10PT57dGhpcy5fb3B0cy5vbkRibENsaWNrJiZ0aGlzLl9vcHRzLm9uRGJsQ2xpY2sodCl9LHRoaXMuX2NvbnRhaW5lcj10LmNvbnRhaW5lcix0aGlzLl9vcHRzPXQsdGhpcy5fZWxlbT10aGlzLl9yZW5kZXIodCksdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKX19fSw0NDM4MjcodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7Z2V0Q29sb3JlZExpc3RUaXRsZTooKT0+bixnZXRTb3J0QnlDb2xvckNvbXBhcmF0b3I6KCk9PnIsbWFrZU1hcmtlZExpc3RGcm9tUmVjb3JkOigpPT5hfSk7dmFyIGk9cyg3MTIxMzQpLG89cyg3ODMyNTQpO2Z1bmN0aW9uIG4odCl7cmV0dXJue1tpLkxpc3RDb2xvci5SZWRdOm8udChudWxsLHZvaWQgMCxzKDE2NTUwMSkpLFtpLkxpc3RDb2xvci5HcmVlbl06by50KG51bGwsdm9pZCAwLHMoNDU5NDAyKSksW2kuTGlzdENvbG9yLk9yYW5nZV06by50KG51bGwsdm9pZCAwLHMoNTA2MzMwKSksW2kuTGlzdENvbG9yLlB1cnBsZV06by50KG51bGwsdm9pZCAwLHMoOTA3ODc0KSksW2kuTGlzdENvbG9yLkJsdWVdOm8udChudWxsLHZvaWQgMCxzKDU3MzgwNykpLFtpLkxpc3RDb2xvci5DeWFuXTpvLnQobnVsbCx2b2lkIDAscyg4MzkzOTApKSxbaS5MaXN0Q29sb3IuUGlua106by50KG51bGwsdm9pZCAwLHMoOTQxOTg2KSl9W3RdfWZ1bmN0aW9uIGEodCl7cmV0dXJue3R5cGU6ImNvbG9yZWQiLGlkOnQuY29sb3IsY29sb3I6dC5jb2xvcixzeW1ib2xzOnQuc3ltYm9scyxuYW1lOnQubmFtZXx8bih0LmNvbG9yKSxkZXNjcmlwdGlvbjp0LmRlc2NyaXB0aW9uLHNoYXJlZDp0LnNoYXJlZCxwZXJzaXN0ZWRTdGF0ZTp0LnBlcnNpc3RlZFN0YXRlfX1mdW5jdGlvbiByKHQpe2NvbnN0IGU9LTE9PT10Py0xLzA6MS8wO3JldHVybihzLGkpPT57Y29uc3Qgbz1sKHMsZSksbj1sKGksZSk7cmV0dXJuIG89PT1uPzA6dCooby1uKX19ZnVuY3Rpb24gbCh0LGUpe3JldHVybiBudWxsPT09dD9lOmkuTElTVF9DT0xPUlMuaW5kZXhPZih0KX19LDc0NTY1NCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtxdW90ZVNlc3Npb25BZGFwdGVyczooKT0+ZH0pCjt2YXIgaT1zKDEzODYzOCksbz1zKDE1OTUxMyksbj1zKDM0NDEwMyksYT1zKDEwMTcxMikscj1zKDQ5ODY1MSksbD1zKDQ3OTM0KSxoPXMoOTI5NDg4KTtjbGFzcyBje2NvbnN0cnVjdG9yKHQsZSxzPSJ3YXRjaGxpc3QiKXt0aGlzLl9zeW1ib2xEYXRhSGFuZGxlcnM9bmV3IE1hcCx0aGlzLl9mYXN0U3ltYm9scz1uZXcgU2V0LHRoaXMuX3N1YnNjcmliZWRTeW1ib2xzPW5ldyBTZXQsdGhpcy5fc3Vic2NyaXB0aW9uU2V0PW5ldyBTZXQsdGhpcy5fY2FuY2VsU3Vic2NyaXB0aW9uU2V0PW5ldyBTZXQsdGhpcy5fcXVvdGVTZXNzaW9uRGF0YUhhbmRsZXI9dD0+e2NvbnN0IGU9KDAsaS5lbnN1cmVEZWZpbmVkKSh0LnN5bWJvbG5hbWUpLHtmaWx0ZXJlZDpzLGtlZXBTdWJzY3JpcHRpb246b309dGhpcy5fYXBwbHlEYXRhRmlsdGVycyh0KTtvfHx0aGlzLl91bnN1YnNjcmliZVN5bWJvbHMoW2VdKSx0aGlzLl9zZXRTeW1ib2xEYXRhQ2FjaGUoZSxzKTtjb25zdCBuPXRoaXMuX3N5bWJvbERhdGFIYW5kbGVycy5nZXQoZSk7biYmbihzKX0sdGhpcy5fY2xpZW50SWQ9dCx0aGlzLl9xdW90ZVNlc3Npb249KDAsby5nZXRRdW90ZVNlc3Npb25JbnN0YW5jZSkocyksdGhpcy5fbGFzdFN5bWJvbERhdGE9ZXx8bmV3IE1hcH1kZXN0cm95KCl7Y29uc3QgdD1BcnJheS5mcm9tKHRoaXMuX3N1YnNjcmliZWRTeW1ib2xzKTt0aGlzLl91bnN1YnNjcmliZVN5bWJvbHModCl9YWRkRmFzdFN5bWJvbCh0KXt0aGlzLl9mYXN0U3ltYm9scy5oYXModCl8fCF0aGlzLl9zdWJzY3JpYmVkU3ltYm9scy5oYXModCl8fCgwLGguaXNTZXBhcmF0b3JJdGVtKSh0KXx8KHRoaXMuX2Zhc3RTeW1ib2xzLmFkZCh0KSx0aGlzLl9xdW90ZVNlc3Npb24uc2V0RmFzdFN5bWJvbHModGhpcy5fY2xpZW50SWQsQXJyYXkuZnJvbSh0aGlzLl9mYXN0U3ltYm9scykpKX1yZW1vdmVGYXN0U3ltYm9sKHQpe3RoaXMuX2Zhc3RTeW1ib2xzLmhhcyh0KSYmKHRoaXMuX2Zhc3RTeW1ib2xzLmRlbGV0ZSh0KSx0aGlzLl9xdW90ZVNlc3Npb24uc2V0RmFzdFN5bWJvbHModGhpcy5fY2xpZW50SWQsQXJyYXkuZnJvbSh0aGlzLl9mYXN0U3ltYm9scykpKX1hZGRTeW1ib2xEYXRhSGFuZGxlcih0LGUpeygwLGguaXNTZXBhcmF0b3JJdGVtKSh0KXx8dGhpcy5fc3ltYm9sRGF0YUhhbmRsZXJzLnNldCh0LGUpfXJlbW92ZVN5bWJvbERhdGFIYW5kbGVyKHQpe3RoaXMuX3N5bWJvbERhdGFIYW5kbGVycy5kZWxldGUodCl9YWRkVG9TdWJzY3JpcHRpb25TZXQodCl7dC5mb3JFYWNoKCh0PT57KDAsaC5pc1NlcGFyYXRvckl0ZW0pKHQpfHx0aGlzLl9zdWJzY3JpcHRpb25TZXQuYWRkKHQpfSkpfWNsZWFyU3Vic2NyaXB0aW9uU2V0KCl7dGhpcy5fc3Vic2NyaXB0aW9uU2V0LmNsZWFyKCl9YWRkVG9DYW5jZWxTdWJzY3JpcHRpb25TZXQodCl7dC5mb3JFYWNoKCh0PT57KDAsaC5pc1NlcGFyYXRvckl0ZW0pKHQpfHx0aGlzLl9jYW5jZWxTdWJzY3JpcHRpb25TZXQuYWRkKHQpfSkpfWNvbW1pdFN1YnNjcmlwdGlvbkNoYW5nZXMoKXtBcnJheS5mcm9tKHRoaXMuX3N1YnNjcmlwdGlvblNldCkuZm9yRWFjaCgodD0+e3RoaXMuX2NhbmNlbFN1YnNjcmlwdGlvblNldC5oYXModCkmJih0aGlzLl9zdWJzY3JpcHRpb25TZXQuZGVsZXRlKHQpLHRoaXMuX2NhbmNlbFN1YnNjcmlwdGlvblNldC5kZWxldGUodCkpfSkpLHRoaXMuX3N1YnNjcmliZVN5bWJvbHMoQXJyYXkuZnJvbSh0aGlzLl9zdWJzY3JpcHRpb25TZXQpKSx0aGlzLl9zdWJzY3JpcHRpb25TZXQuY2xlYXIoKSx0aGlzLl91bnN1YnNjcmliZVN5bWJvbHMoQXJyYXkuZnJvbSh0aGlzLl9jYW5jZWxTdWJzY3JpcHRpb25TZXQpKSx0aGlzLl9jYW5jZWxTdWJzY3JpcHRpb25TZXQuY2xlYXIoKSx0aGlzLl9xdW90ZVNlc3Npb24uc2V0RmFzdFN5bWJvbHModGhpcy5fY2xpZW50SWQsQXJyYXkuZnJvbSh0aGlzLl9mYXN0U3ltYm9scykpfWdldExhc3RTeW1ib2xEYXRhKHQpe3JldHVybiB0aGlzLl9sYXN0U3ltYm9sRGF0YS5nZXQodCl9X3N1YnNjcmliZVN5bWJvbHModCl7dGhpcy5fcXVvdGVTZXNzaW9uLnN1YnNjcmliZSh0aGlzLl9jbGllbnRJZCx0LHRoaXMuX3F1b3RlU2Vzc2lvbkRhdGFIYW5kbGVyKSx0LmZvckVhY2goKHQ9PnRoaXMuX3N1YnNjcmliZWRTeW1ib2xzLmFkZCh0KSkpfV91bnN1YnNjcmliZVN5bWJvbHModCl7dGhpcy5fcXVvdGVTZXNzaW9uLnVuc3Vic2NyaWJlKHRoaXMuX2NsaWVudElkLHQsdGhpcy5fcXVvdGVTZXNzaW9uRGF0YUhhbmRsZXIpLHQuZm9yRWFjaCgodD0+e3RoaXMuX3N1YnNjcmliZWRTeW1ib2xzLmRlbGV0ZSh0KX0pKX1fc2V0U3ltYm9sRGF0YUNhY2hlKHQsZSl7Y29uc3Qgcz10aGlzLl9sYXN0U3ltYm9sRGF0YS5nZXQodCk/LnZhbHVlc3x8e307dGhpcy5fbGFzdFN5bWJvbERhdGEuc2V0KHQsey4uLmUsdmFsdWVzOnsuLi5zLC4uLmUudmFsdWVzfX0pfV9hcHBseURhdGFGaWx0ZXJzKHQpe3tjb25zdCBlPSgpPT4oMCxsLmVuYWJsZWQpKCJJRENfQVZBSUxBQkxFX0RFTEFZIikscz10PT4oey4uLnQsc3RhdHVzOiJzZl9kYXRhIix2YWx1ZXM6e319KTtpZigodD0+KDAsYS5pc1NmUXVvdGVEYXRhKSh0KXx8KDAsci5pc0lEQ0V4Y2hhbmdlKSgoMCxuLmdldEV4Y2hhbmdlKSgoMCxpLmVuc3VyZURlZmluZWQpKHQuc3ltYm9sbmFtZSkpLCEwKSkodCkmJiFlKCkpcmV0dXJue2ZpbHRlcmVkOnModCksa2VlcFN1YnNjcmlwdGlvbjohMX19cmV0dXJue2ZpbHRlcmVkOnQsa2VlcFN1YnNjcmlwdGlvbjohMH19fWNvbnN0IGQ9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5fYWRhcHRlcnNNYXA9bmV3IE1hcCx0aGlzLl9sYXN0U3ltYm9sRGF0YT1uZXcgTWFwfWRlc3Ryb3koKXt0aGlzLl9hZGFwdGVyc01hcC5mb3JFYWNoKCh0PT57dC5mb3JFYWNoKCh0PT50LmRlc3Ryb3koKSkpfSkpLHRoaXMuX2xhc3RTeW1ib2xEYXRhLmNsZWFyKCl9Z2V0KHQsZT0id2F0Y2hsaXN0Iil7bGV0IHM7Y29uc3QgaT10aGlzLl9hZGFwdGVyc01hcC5nZXQodCk7aWYoaSl7Y29uc3Qgbz1pLmdldChlKTtvP3M9bzoocz1uZXcgYyh0LHRoaXMuX2xhc3RTeW1ib2xEYXRhLGUpLGkuc2V0KGUscykpfWVsc2V7CnM9bmV3IGModCx0aGlzLl9sYXN0U3ltYm9sRGF0YSxlKTtjb25zdCBpPW5ldyBNYXA7aS5zZXQoZSxzKSx0aGlzLl9hZGFwdGVyc01hcC5zZXQodCxpKX1yZXR1cm4gc319fSw5OTU2ODIodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7RHJhZ0hhbmRsZXI6KCk9Pm99KTt2YXIgaT1zKDUzMTkyOCk7Y2xhc3Mgb3tjb25zdHJ1Y3Rvcih0LGUscz17Ym91bmRCeVNjcmVlbjohMH0pe3RoaXMuX2RyYWc9bnVsbCx0aGlzLl9jYW5CZVRvdWNoQ2xpY2s9ITEsdGhpcy5fZnJhbWU9bnVsbCx0aGlzLl9vbk1vdXNlRHJhZ1N0YXJ0PXQ9PntpZigwIT09dC5idXR0b258fHRoaXMuX2lzVGFyZ2V0Tm9EcmFnZ2FibGUodCkpcmV0dXJuO3QucHJldmVudERlZmF1bHQoKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX29uTW91c2VEcmFnTW92ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5fb25Nb3VzZURyYWdFbmQpO2NvbnN0IGU9KDAsaS5jbGFtcFBvc2l0aW9uKSgoMCxpLnBvc2l0aW9uRnJvbU1vdXNlRXZlbnQpKHQpKTt0aGlzLl9kcmFnU3RhcnQoZSl9LHRoaXMuX29uVG91Y2hEcmFnU3RhcnQ9dD0+e2lmKHRoaXMuX2lzVGFyZ2V0Tm9EcmFnZ2FibGUodCkpcmV0dXJuO3RoaXMuX2NhbkJlVG91Y2hDbGljaz0hMCx0LnByZXZlbnREZWZhdWx0KCksdGhpcy5faGVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5fb25Ub3VjaERyYWdNb3ZlLHtwYXNzaXZlOiExfSk7Y29uc3QgZT0oMCxpLmNsYW1wUG9zaXRpb24pKCgwLGkucG9zaXRpb25Gcm9tVG91Y2hFdmVudCkodCkpO3RoaXMuX2RyYWdTdGFydChlKX0sdGhpcy5fb25Nb3VzZURyYWdFbmQ9dD0+e3QudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSYmdGhpcy5faGVhZGVyLmNvbnRhaW5zKHQudGFyZ2V0KSYmdC5wcmV2ZW50RGVmYXVsdCgpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fb25Nb3VzZURyYWdNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLl9vbk1vdXNlRHJhZ0VuZCksdGhpcy5fb25EcmFnU3RvcCgpfSx0aGlzLl9vblRvdWNoRHJhZ0VuZD10PT57dGhpcy5faGVhZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5fb25Ub3VjaERyYWdNb3ZlKSx0aGlzLl9vbkRyYWdTdG9wKCksdGhpcy5fY2FuQmVUb3VjaENsaWNrJiYodGhpcy5fY2FuQmVUb3VjaENsaWNrPSExLCgwLGkuc2ltdWxhdGVDbGljaykodC50YXJnZXQpKX0sdGhpcy5fb25Nb3VzZURyYWdNb3ZlPXQ9Pntjb25zdCBlPSgwLGkuY2xhbXBQb3NpdGlvbikoKDAsaS5wb3NpdGlvbkZyb21Nb3VzZUV2ZW50KSh0KSk7dGhpcy5fZHJhZ01vdmUoZSl9LHRoaXMuX29uVG91Y2hEcmFnTW92ZT10PT57dGhpcy5fY2FuQmVUb3VjaENsaWNrPSExLHQucHJldmVudERlZmF1bHQoKTtjb25zdCBlPSgwLGkuY2xhbXBQb3NpdGlvbikoKDAsaS5wb3NpdGlvbkZyb21Ub3VjaEV2ZW50KSh0KSk7dGhpcy5fZHJhZ01vdmUoZSl9LHRoaXMuX29uRHJhZ1N0b3A9KCk9Pnt0aGlzLl9kcmFnPW51bGwsdGhpcy5faGVhZGVyLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIiksdGhpcy5fb3B0aW9ucy5vbkRyYWdFbmQmJnRoaXMuX29wdGlvbnMub25EcmFnRW5kKCl9LHRoaXMuX2RpYWxvZz10LHRoaXMuX2hlYWRlcj1lLHRoaXMuX29wdGlvbnM9cyx0aGlzLl9oZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix0aGlzLl9vbk1vdXNlRHJhZ1N0YXJ0KSx0aGlzLl9oZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5fb25Ub3VjaERyYWdTdGFydCksdGhpcy5faGVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLl9vblRvdWNoRHJhZ0VuZCl9ZGVzdHJveSgpe251bGwhPT10aGlzLl9mcmFtZSYmY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fZnJhbWUpLHRoaXMuX2hlYWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHRoaXMuX29uTW91c2VEcmFnU3RhcnQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuX29uTW91c2VEcmFnRW5kKSx0aGlzLl9oZWFkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5fb25Ub3VjaERyYWdTdGFydCksdGhpcy5faGVhZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLl9vblRvdWNoRHJhZ0VuZCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5fb25Nb3VzZURyYWdFbmQpfXVwZGF0ZU9wdGlvbnModCl7dGhpcy5fb3B0aW9ucz10fV9kcmFnU3RhcnQodCl7Y29uc3QgZT10aGlzLl9kaWFsb2cuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5fZHJhZz17c3RhcnRYOnQueCxzdGFydFk6dC55LGZpbmlzaFg6dC54LGZpbmlzaFk6dC55LGRpYWxvZ1g6ZS5sZWZ0LGRpYWxvZ1k6ZS50b3B9O2NvbnN0IHM9TWF0aC5yb3VuZChlLmxlZnQpLGk9TWF0aC5yb3VuZChlLnRvcCk7dGhpcy5fZGlhbG9nLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlKCR7c31weCwgJHtpfXB4KWAsdGhpcy5faGVhZGVyLmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIiksdGhpcy5fb3B0aW9ucy5vbkRyYWdTdGFydCYmdGhpcy5fb3B0aW9ucy5vbkRyYWdTdGFydCgpfV9kcmFnTW92ZSh0KXtpZih0aGlzLl9kcmFnKXtpZih0aGlzLl9kcmFnLmZpbmlzaFg9dC54LHRoaXMuX2RyYWcuZmluaXNoWT10LnksbnVsbCE9PXRoaXMuX2ZyYW1lKXJldHVybjt0aGlzLl9mcmFtZT1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57aWYodGhpcy5fZHJhZyl7Y29uc3QgZT10LngtdGhpcy5fZHJhZy5zdGFydFgscz10LnktdGhpcy5fZHJhZy5zdGFydFk7dGhpcy5fbW92ZURpYWxvZyh0aGlzLl9kcmFnLmRpYWxvZ1grZSx0aGlzLl9kcmFnLmRpYWxvZ1krcyl9dGhpcy5fZnJhbWU9bnVsbH0pKX19X21vdmVEaWFsb2codCxlKXsKY29uc3Qgcz10aGlzLl9kaWFsb2cuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkse2JvdW5kQnlTY3JlZW46b309dGhpcy5fb3B0aW9ucyxuPSgwLGkuY2xhbXBTZWdtZW50KSh0LHMud2lkdGgsbz8wOi0xLzAsbz93aW5kb3cuaW5uZXJXaWR0aDoxLzApLGE9KDAsaS5jbGFtcFNlZ21lbnQpKGUscy5oZWlnaHQsbz8wOi0xLzAsbz93aW5kb3cuaW5uZXJIZWlnaHQ6MS8wKTt0aGlzLl9kaWFsb2cuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHtNYXRoLnJvdW5kKG4pfXB4LCAke01hdGgucm91bmQoYSl9cHgpYH1faXNUYXJnZXROb0RyYWdnYWJsZSh0KXtyZXR1cm4gdC50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50JiZudWxsIT09dC50YXJnZXQuY2xvc2VzdCgiW2RhdGEtZGlzYWJsZS1kcmFnXSIpfX19LDU4NTgyMSh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtQb3B1cERpYWxvZzooKT0+TH0pO3ZhciBpPXMoNzc5NDc0KSxvPXMoOTE0NDg3KSxuPXMubihvKSxhPXMoMTM4NjM4KSxyPXMoOTkxMDY2KSxsPXMoNzE4NTUzKSxoPXMoOTMwMjMxKSxjPXMoNjU5ODc4KSxkPXMoOTk1NjgyKSx1PXMoNTMxOTI4KTtjb25zdCBwPXt2ZXJ0aWNhbDowfTtjbGFzcyBte2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fZnJhbWU9bnVsbCx0aGlzLl9pc0Z1bGxzY3JlZW49ITEsdGhpcy5faGFuZGxlUmVzaXplPSgpPT57bnVsbD09PXRoaXMuX2ZyYW1lJiYodGhpcy5fZnJhbWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMucmVjYWxjdWxhdGVCb3VuZHMoKSx0aGlzLl9mcmFtZT1udWxsfSkpKX0sdGhpcy5fZGlhbG9nPXQsdGhpcy5fZ3VhcmQ9ZS5ndWFyZHx8cCx0aGlzLl9jYWxjdWxhdGVEaWFsb2dQb3NpdGlvbj1lLmNhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uLHRoaXMuX2luaXRpYWxIZWlnaHQ9dC5zdHlsZS5oZWlnaHQsd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5faGFuZGxlUmVzaXplKX11cGRhdGVPcHRpb25zKHQpe3RoaXMuX2d1YXJkPXQuZ3VhcmR8fHAsdGhpcy5fY2FsY3VsYXRlRGlhbG9nUG9zaXRpb249dC5jYWxjdWxhdGVEaWFsb2dQb3NpdGlvbn1zZXRGdWxsc2NyZWVuKHQpe3RoaXMuX2lzRnVsbHNjcmVlbiE9PXQmJih0aGlzLl9pc0Z1bGxzY3JlZW49dCx0aGlzLnJlY2FsY3VsYXRlQm91bmRzKCkpfWNlbnRlckFuZEZpdCgpe2NvbnN0e3g6dCx5OmV9PXRoaXMuZ2V0RGlhbG9nc1RvcExlZnRDb29yZGluYXRlcygpLHM9dGhpcy5fY2FsY0F2YWlsYWJsZUhlaWdodCgpLGk9dGhpcy5fY2FsY0RpYWxvZ0hlaWdodCgpO2lmKHM9PT1pKWlmKHRoaXMuX2NhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uKXtjb25zdHtsZWZ0OnQsdG9wOmV9PXRoaXMuX2NhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uKHRoaXMuX2RpYWxvZyxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdGhpcy5fZ3VhcmQpO3RoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke01hdGgucm91bmQodCl9cHgsICR7TWF0aC5yb3VuZChlKX1weClgfWVsc2UgdGhpcy5fZGlhbG9nLnN0eWxlLmhlaWdodD1pKyJweCI7dGhpcy5fZGlhbG9nLnN0eWxlLnRvcD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUubGVmdD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHt0fXB4LCAke2V9cHgpYH1nZXREaWFsb2dzVG9wTGVmdENvb3JkaW5hdGVzKCl7Y29uc3R7Y2xpZW50V2lkdGg6dCxjbGllbnRIZWlnaHQ6ZX09dGhpcy5fZ2V0Q2xpZW50RGltZW5zaW9ucygpLHM9dGhpcy5fY2FsY0RpYWxvZ0hlaWdodCgpLGk9dC8yLXRoaXMuX2RpYWxvZy5jbGllbnRXaWR0aC8yLG89ZS8yLXMvMit0aGlzLl9nZXRUb3BPZmZzZXQoKTtyZXR1cm57eDpNYXRoLnJvdW5kKGkpLHk6TWF0aC5yb3VuZChvKX19cmVjYWxjdWxhdGVCb3VuZHMoKXtjb25zdHtjbGllbnRXaWR0aDp0LGNsaWVudEhlaWdodDplfT10aGlzLl9nZXRDbGllbnREaW1lbnNpb25zKCkse3ZlcnRpY2FsOnN9PXRoaXMuX2d1YXJkLGk9dGhpcy5fY2FsY3VsYXRlRGlhbG9nUG9zaXRpb24/Lih0aGlzLl9kaWFsb2cse2NsaWVudFdpZHRoOnQsY2xpZW50SGVpZ2h0OmV9LHt2ZXJ0aWNhbDpzfSk7aWYodGhpcy5faXNGdWxsc2NyZWVuKXtpZih0aGlzLl9kaWFsb2cuc3R5bGUudG9wPSIwcHgiLHRoaXMuX2RpYWxvZy5zdHlsZS5sZWZ0PSIwcHgiLHRoaXMuX2RpYWxvZy5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5fZGlhbG9nLnN0eWxlLmhlaWdodD0iMTAwJSIsdGhpcy5fZGlhbG9nLnN0eWxlLnRyYW5zZm9ybT0ibm9uZSIsaSl7Y29uc3R7bGVmdDp0LHRvcDplLHdpZHRoOnMsaGVpZ2h0Om99PWk7dGhpcy5fZGlhbG9nLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlKCR7TWF0aC5yb3VuZCh0KX1weCwgJHtNYXRoLnJvdW5kKGUpfXB4KWAscyYmKHRoaXMuX2RpYWxvZy5zdHlsZS53aWR0aD1gJHtzfXB4YCx0aGlzLl9kaWFsb2cuc3R5bGUubWluV2lkdGg9InVuc2V0IiksbyYmKHRoaXMuX2RpYWxvZy5zdHlsZS5oZWlnaHQ9YCR7b31weGAsdGhpcy5fZGlhbG9nLnN0eWxlLm1pbkhlaWdodD0idW5zZXQiKX19ZWxzZSBpZihpKXtjb25zdHtsZWZ0OnQsdG9wOmV9PWk7dGhpcy5fZGlhbG9nLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlKCR7TWF0aC5yb3VuZCh0KX1weCwgJHtNYXRoLnJvdW5kKGUpfXB4KWB9ZWxzZXt0aGlzLl9kaWFsb2cuc3R5bGUud2lkdGg9IiIsdGhpcy5fZGlhbG9nLnN0eWxlLmhlaWdodD0iIjtjb25zdCBpPXRoaXMuX2RpYWxvZy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvPWUtMipzLG49KDAsdS5jbGFtcFNlZ21lbnQpKGkubGVmdCxpLndpZHRoLDAsdCksYT0oMCx1LmNsYW1wU2VnbWVudCkoaS50b3AsaS5oZWlnaHQscyxlKTt0aGlzLl9kaWFsb2cuc3R5bGUudG9wPSIwcHgiLHRoaXMuX2RpYWxvZy5zdHlsZS5sZWZ0PSIwcHgiLHRoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke01hdGgucm91bmQobil9cHgsICR7TWF0aC5yb3VuZChhKX1weClgLHRoaXMuX2RpYWxvZy5zdHlsZS5oZWlnaHQ9bzxpLmhlaWdodD9vKyJweCI6dGhpcy5faW5pdGlhbEhlaWdodH19CmRlc3Ryb3koKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9oYW5kbGVSZXNpemUpLG51bGwhPT10aGlzLl9mcmFtZSYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2ZyYW1lKSx0aGlzLl9mcmFtZT1udWxsKX1fZ2V0Q2xpZW50RGltZW5zaW9ucygpe3JldHVybntjbGllbnRIZWlnaHQ6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxjbGllbnRXaWR0aDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGh9fV9nZXRUb3BPZmZzZXQoKXtyZXR1cm4gMH1fY2FsY0RpYWxvZ0hlaWdodCgpe2NvbnN0IHQ9dGhpcy5fY2FsY0F2YWlsYWJsZUhlaWdodCgpO3JldHVybiB0PHRoaXMuX2RpYWxvZy5jbGllbnRIZWlnaHQ/dDp0aGlzLl9kaWFsb2cuY2xpZW50SGVpZ2h0fV9jYWxjQXZhaWxhYmxlSGVpZ2h0KCl7cmV0dXJuIHRoaXMuX2dldENsaWVudERpbWVuc2lvbnMoKS5jbGllbnRIZWlnaHQtMip0aGlzLl9ndWFyZC52ZXJ0aWNhbH19dmFyIF89cyg1ODU0OCksZz1zKDQ5MDg5MyksYj1zKDg3MjUxOCkseT1zKDMzMjY2MCksZj1zKDExNzMxMyksUz1zKDMzNzM2Mik7dmFyIHY9cyg2OTIyNjYpLEM9cygxNDc5MDEpLHc9cygxNzU4NjMpO2NvbnN0IEQ9d1sidG9vbHRpcC1vZmZzZXQiXSxFPSgwLGguaXNGZWF0dXJlc2V0RW5hYmxlZCkoImVtYmVkX3Jlc2l6ZXJfb3ZlcnJpZGVzIik/Y2xhc3MgZXh0ZW5kcyBte2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIodCxlKSx0aGlzLl9lbmFibGVkPSgwLGguaXNGZWF0dXJlc2V0RW5hYmxlZCkoImVtYmVkX3Jlc2l6ZXJfb3ZlcnJpZGVzIil9X2dldENsaWVudERpbWVuc2lvbnMoKXtjb25zdCB0PXN1cGVyLl9nZXRDbGllbnREaW1lbnNpb25zKCk7aWYodGhpcy5fZW5hYmxlZCl7Y29uc3QgZT1TLkVtYmVkVmlld3BvcnREaW1lbnNpb25zUHJvdmlkZXIuZ2V0SW5zdGFuY2UoKS5kYXRhKCk7ZSYmKHQuY2xpZW50SGVpZ2h0PWUuaGVpZ2h0KX1yZXR1cm4gdH1fZ2V0VG9wT2Zmc2V0KCl7aWYodGhpcy5fZW5hYmxlZCl7Y29uc3QgdD1TLkVtYmVkVmlld3BvcnREaW1lbnNpb25zUHJvdmlkZXIuZ2V0SW5zdGFuY2UoKS5kYXRhKCk7aWYodClyZXR1cm4gdC50b3B9cmV0dXJuIHN1cGVyLl9nZXRUb3BPZmZzZXQoKX19Om07Y2xhc3MgeCBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLl9kaWFsb2c9bnVsbCx0aGlzLl9jbGVhblVwRnVuY3Rpb25zPVtdLHRoaXMuX3ByZXZBY3RpdmVFbGVtZW50PW51bGwsdGhpcy5fZXZlbnREaXNwYXRjaGVyPW5ldyB5LkRpYWxvZ0V2ZW50RGlzcGF0Y2hlcix0aGlzLl9oYW5kbGVEaWFsb2dSZWY9dD0+e2NvbnN0e3JlZmVyZW5jZTplfT10aGlzLnByb3BzO3RoaXMuX2RpYWxvZz10LCJmdW5jdGlvbiI9PXR5cGVvZiBlP2UodCk6bnVsbCE9ZSYmKGUuY3VycmVudD10KX0sdGhpcy5faGFuZGxlRm9jdXM9KCk9Pnt0aGlzLl9tb3ZlVG9Ub3AoKX0sdGhpcy5faGFuZGxlTW91c2VEb3duPXQ9Pnt0aGlzLl9tb3ZlVG9Ub3AoKX0sdGhpcy5faGFuZGxlVG91Y2hTdGFydD10PT57dGhpcy5fbW92ZVRvVG9wKCl9LHRoaXMuc3RhdGU9e2NhbkZpdFRvb2x0aXA6ITF9LHRoaXMuX3ByZXZBY3RpdmVFbGVtZW50PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnR9cmVuZGVyKCl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChnLlBvcHVwQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6dGhpc30saS5jcmVhdGVFbGVtZW50KGwuT3V0c2lkZUV2ZW50LHttb3VzZURvd246ITAsdG91Y2hTdGFydDohMCxoYW5kbGVyOnRoaXMucHJvcHMub25DbGlja091dHNpZGV9LCh0PT5pLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjp0LCJkYXRhLW91dHNpZGUtYm91bmRhcnktZm9yIjp0aGlzLnByb3BzLm5hbWUsb25Gb2N1czp0aGlzLl9oYW5kbGVGb2N1cyxvbk1vdXNlRG93bjp0aGlzLl9oYW5kbGVNb3VzZURvd24sb25Ub3VjaFN0YXJ0OnRoaXMuX2hhbmRsZVRvdWNoU3RhcnQsImRhdGEtZGlhbG9nLW5hbWUiOnRoaXMucHJvcHNbImRhdGEtZGlhbG9nLW5hbWUiXSwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOiJ0cnVlIiwiZGF0YS1xYS1pZCI6KDAsQy5kYXRhUWFJZHMpKCJ1aS1saWItUG9wdXBEaWFsb2ciLHRoaXMucHJvcHMuZGF0YVFhSWQpfSxpLmNyZWF0ZUVsZW1lbnQoci5EaWFsb2cse3N0eWxlOnRoaXMuX2FwcGx5QW5pbWF0aW9uQ1NTVmFyaWFibGVzKCksLi4udGhpcy5wcm9wcyxyZWZlcmVuY2U6dGhpcy5faGFuZGxlRGlhbG9nUmVmLGNsYXNzTmFtZTpuKCkody5kaWFsb2csKDAsZi5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpJiYhdGhpcy5wcm9wcy5ub01vYmlsZUFwcFNoYWRvd3MmJncubW9iaWxlLHRoaXMucHJvcHMuZnVsbHNjcmVlbiYmdy5mdWxsc2NyZWVuLHRoaXMucHJvcHMuY2xhc3NOYW1lKX0sdGhpcy5wcm9wcy5kaWFsb2dUb29sdGlwJiZ0aGlzLnN0YXRlLmNhbkZpdFRvb2x0aXAmJmkuY3JlYXRlRWxlbWVudCh2LlRvb2x0aXBXaWRnZXQse2NsYXNzTmFtZTp3LmRpYWxvZ1Rvb2x0aXB9LHRoaXMucHJvcHMuZGlhbG9nVG9vbHRpcCksdGhpcy5wcm9wcy5jaGlsZHJlbikpKSkpfWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7ZHJhZ2dhYmxlOnQsYm91bmRCeVNjcmVlbjplLG9uRHJhZ1N0YXJ0OnN9PXRoaXMucHJvcHMsaT0oMCxhLmVuc3VyZU5vdE51bGwpKHRoaXMuX2RpYWxvZyk7aWYodGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctb3BlbiIpLHQpe2NvbnN0IHQ9aS5xdWVyeVNlbGVjdG9yKCJbZGF0YS1kcmFnZy1hcmVhXSIpO2lmKHQmJnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCl7Y29uc3Qgbz1uZXcgZC5EcmFnSGFuZGxlcihpLHQse2JvdW5kQnlTY3JlZW46Qm9vbGVhbihlKSxvbkRyYWdTdGFydDpzfSk7dGhpcy5fY2xlYW5VcEZ1bmN0aW9ucy5wdXNoKCgoKT0+by5kZXN0cm95KCkpKSx0aGlzLl9kcmFnPW99fXRoaXMucHJvcHMuYXV0b2ZvY3VzJiYhaS5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmaS5mb2N1cygpLAoodGhpcy5faXNGdWxsU2NyZWVuKCl8fHRoaXMucHJvcHMuZml4ZWRCb2R5KSYmKDAsYi5zZXRGaXhlZEJvZHlTdGF0ZSkoITApO2NvbnN0e2d1YXJkOm8sY2FsY3VsYXRlRGlhbG9nUG9zaXRpb246bn09dGhpcy5wcm9wcztpZih0aGlzLnByb3BzLnJlc2l6ZUhhbmRsZXIpdGhpcy5fcmVzaXplPXRoaXMucHJvcHMucmVzaXplSGFuZGxlcjtlbHNle2NvbnN0IHQ9bmV3IEUoaSx7Z3VhcmQ6byxjYWxjdWxhdGVEaWFsb2dQb3NpdGlvbjpufSk7dGhpcy5fY2xlYW5VcEZ1bmN0aW9ucy5wdXNoKCgoKT0+dC5kZXN0cm95KCkpKSx0aGlzLl9yZXNpemU9dH1pZih0aGlzLl9pc0Z1bGxTY3JlZW4oKSYmdGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctZnVsbHNjcmVlbi1vbiIpLHRoaXMucHJvcHMuaXNBbmltYXRpb25FbmFibGVkJiZ0aGlzLnByb3BzLmdyb3dQb2ludCYmdGhpcy5fYXBwbHlBcHBlYXJhbmNlQW5pbWF0aW9uKHRoaXMucHJvcHMuZ3Jvd1BvaW50KSx0aGlzLnByb3BzLmNlbnRlcmVkT25Nb3VudCYmdGhpcy5fcmVzaXplLmNlbnRlckFuZEZpdCgpLHRoaXMuX3Jlc2l6ZS5zZXRGdWxsc2NyZWVuKHRoaXMuX2lzRnVsbFNjcmVlbigpKSx0aGlzLnByb3BzLmRpYWxvZ1Rvb2x0aXAmJnRoaXMuX2hhbmRsZVRvb2x0aXBGaXQoKSx0aGlzLnByb3BzLnNob3VsZEZvcmNlRm9jdXMpe2lmKHRoaXMucHJvcHMub25Gb3JjZUZvY3VzKXJldHVybiB2b2lkIHRoaXMucHJvcHMub25Gb3JjZUZvY3VzKGkpO2kuZm9jdXMoKX1pZighaS5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSl7Y29uc3QgdD0oMCx1LmZpbmREZWZhdWx0Rm9jdXNhYmxlRWxlbWVudCkoaSk7dCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZ0LmZvY3VzKCl9fWNvbXBvbmVudERpZFVwZGF0ZSh0KXtjb25zdCBlPXQuZnVsbHNjcmVlbjtpZih0aGlzLl9yZXNpemUpe2NvbnN0e2d1YXJkOnQsY2FsY3VsYXRlRGlhbG9nUG9zaXRpb246ZX09dGhpcy5wcm9wczt0aGlzLl9yZXNpemUudXBkYXRlT3B0aW9ucyh7Z3VhcmQ6dCxjYWxjdWxhdGVEaWFsb2dQb3NpdGlvbjplfSksdGhpcy5fcmVzaXplLnNldEZ1bGxzY3JlZW4odGhpcy5faXNGdWxsU2NyZWVuKCkpfWlmKHRoaXMuX2RyYWcmJnRoaXMuX2RyYWcudXBkYXRlT3B0aW9ucyh7Ym91bmRCeVNjcmVlbjpCb29sZWFuKHRoaXMucHJvcHMuYm91bmRCeVNjcmVlbiksb25EcmFnU3RhcnQ6dGhpcy5wcm9wcy5vbkRyYWdTdGFydH0pLHQuZnVsbHNjcmVlbiE9PXRoaXMucHJvcHMuZnVsbHNjcmVlbil7Y29uc3QgdD10aGlzLnByb3BzLmZ1bGxzY3JlZW47dCYmIWU/dGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctZnVsbHNjcmVlbi1vbiIpOiF0JiZlJiZ0aGlzLl9ldmVudERpc3BhdGNoZXIuZGlzcGF0Y2goImRpYWxvZy1mdWxsc2NyZWVuLW9mZiIpfX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2lmKHRoaXMucHJvcHMuc2hvdWxkUmV0dXJuRm9jdXMmJnRoaXMuX3ByZXZBY3RpdmVFbGVtZW50JiZkb2N1bWVudC5ib2R5LmNvbnRhaW5zKHRoaXMuX3ByZXZBY3RpdmVFbGVtZW50KSYmKG51bGw9PT1kb2N1bWVudC5hY3RpdmVFbGVtZW50fHxkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09ZG9jdW1lbnQuYm9keXx8dGhpcy5fZGlhbG9nPy5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSkpdHJ5e3NldFRpbWVvdXQoKCgpPT57dGhpcy5fcHJldkFjdGl2ZUVsZW1lbnQuZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KX0pKX1jYXRjaHt9Zm9yKGNvbnN0IHQgb2YgdGhpcy5fY2xlYW5VcEZ1bmN0aW9ucyl0KCk7KHRoaXMuX2lzRnVsbFNjcmVlbigpfHx0aGlzLnByb3BzLmZpeGVkQm9keSkmJigwLGIuc2V0Rml4ZWRCb2R5U3RhdGUpKCExKSx0aGlzLl9pc0Z1bGxTY3JlZW4oKSYmdGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctZnVsbHNjcmVlbi1vZmYiKSx0aGlzLl9ldmVudERpc3BhdGNoZXIuZGlzcGF0Y2goImRpYWxvZy1jbG9zZSIpfWZvY3VzKCl7dGhpcy5fZGlhbG9nJiZ0aGlzLl9kaWFsb2cuZm9jdXMoKX1jZW50ZXJBbmRGaXQoKXt0aGlzLl9yZXNpemUmJnRoaXMuX3Jlc2l6ZS5jZW50ZXJBbmRGaXQoKX1yZWNhbGN1bGF0ZUJvdW5kcygpe3RoaXMuX3Jlc2l6ZSYmdGhpcy5fcmVzaXplLnJlY2FsY3VsYXRlQm91bmRzKCl9X21vdmVUb1RvcCgpe3RoaXMucHJvcHMuaXNaSW5kZXhGaXhlZHx8bnVsbCE9PXRoaXMuY29udGV4dCYmdGhpcy5jb250ZXh0Lm1vdmVUb1RvcCgpfV9hcHBseUFuaW1hdGlvbkNTU1ZhcmlhYmxlcygpe3JldHVybnsiLS1hbmltYXRpb25UcmFuc2xhdGVTdGFydFgiOm51bGwsIi0tYW5pbWF0aW9uVHJhbnNsYXRlU3RhcnRZIjpudWxsLCItLWFuaW1hdGlvblRyYW5zbGF0ZUVuZFgiOm51bGwsIi0tYW5pbWF0aW9uVHJhbnNsYXRlRW5kWSI6bnVsbH19X2FwcGx5QXBwZWFyYW5jZUFuaW1hdGlvbih0KXtpZih0aGlzLl9yZXNpemUmJnRoaXMuX2RpYWxvZyl7Y29uc3R7eDplLHk6c309dCx7eDppLHk6b309dGhpcy5fcmVzaXplLmdldERpYWxvZ3NUb3BMZWZ0Q29vcmRpbmF0ZXMoKTt0aGlzLl9kaWFsb2cuc3R5bGUuc2V0UHJvcGVydHkoIi0tYW5pbWF0aW9uVHJhbnNsYXRlU3RhcnRYIixgJHtlfXB4YCksdGhpcy5fZGlhbG9nLnN0eWxlLnNldFByb3BlcnR5KCItLWFuaW1hdGlvblRyYW5zbGF0ZVN0YXJ0WSIsYCR7c31weGApLHRoaXMuX2RpYWxvZy5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1hbmltYXRpb25UcmFuc2xhdGVFbmRYIixgJHtpfXB4YCksdGhpcy5fZGlhbG9nLnN0eWxlLnNldFByb3BlcnR5KCItLWFuaW1hdGlvblRyYW5zbGF0ZUVuZFkiLGAke299cHhgKSx0aGlzLl9kaWFsb2cuY2xhc3NMaXN0LmFkZCh3LmRpYWxvZ0FuaW1hdGVkQXBwZWFyYW5jZSl9fV9oYW5kbGVUb29sdGlwRml0KCl7aWYodGhpcy5fcmVzaXplKXtjb25zdCB0PXRoaXMuX3Jlc2l6ZS5nZXREaWFsb2dzVG9wTGVmdENvb3JkaW5hdGVzKCkueS1wYXJzZUludChEKT49MDt0aGlzLnNldFN0YXRlKHtjYW5GaXRUb29sdGlwOnR9KX19X2lzRnVsbFNjcmVlbigpewpyZXR1cm4gQm9vbGVhbih0aGlzLnByb3BzLmZ1bGxzY3JlZW4pfX14LmNvbnRleHRUeXBlPV8uUG9ydGFsQ29udGV4dCx4LmRlZmF1bHRQcm9wcz17Ym91bmRCeVNjcmVlbjohMCxkcmFnZ2FibGU6ITAsY2VudGVyZWRPbk1vdW50OiEwLHNob3VsZFJldHVybkZvY3VzOiEwfTtjb25zdCBMPSgwLGMubWFrZU92ZXJsYXBhYmxlKSh4LCEwKX0sNTMxOTI4KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse2NsYW1wUG9zaXRpb246KCk9PnIsY2xhbXBTZWdtZW50OigpPT5hLGZpbmREZWZhdWx0Rm9jdXNhYmxlRWxlbWVudDooKT0+ZCxwb3NpdGlvbkZyb21Nb3VzZUV2ZW50OigpPT5oLHBvc2l0aW9uRnJvbVRvdWNoRXZlbnQ6KCk9PmMsc2ltdWxhdGVDbGljazooKT0+bH0pO3ZhciBpLG89cyg2NDA3NDQpLG49cyg2ODIzODEpO2Z1bmN0aW9uIGEodCxlLHMsaSl7cmV0dXJuIHQrZT5pJiYodD1pLWUpLHQ8cyYmKHQ9cyksdH1mdW5jdGlvbiByKHQpe3JldHVybnt4OigwLG8uY2xhbXApKHQueCwyMCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgtMjApLHk6KDAsby5jbGFtcCkodC55LDIwLHdpbmRvdy5pbm5lckhlaWdodC0yMCl9fWZ1bmN0aW9uIGwodCl7aWYodCBpbnN0YW5jZW9mIFNWR0VsZW1lbnQpe2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIlNWR0V2ZW50cyIpO2UuaW5pdEV2ZW50KCJjbGljayIsITAsITApLHQuZGlzcGF0Y2hFdmVudChlKX10IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnQuY2xpY2soKX1mdW5jdGlvbiBoKHQpe3JldHVybnt4OnQuY2xpZW50WCx5OnQuY2xpZW50WX19ZnVuY3Rpb24gYyh0KXtyZXR1cm57eDp0LnRvdWNoZXNbMF0uY2xpZW50WCx5OnQudG91Y2hlc1swXS5jbGllbnRZfX1mdW5jdGlvbiBkKHQpe2NvbnN0IGU9dC5xdWVyeVNlbGVjdG9yKCJbYXV0b2ZvY3VzXTpub3QoW2Rpc2FibGVkXSkiKTtpZihlKXJldHVybiBlO2lmKHQudGFiSW5kZXg+PTApcmV0dXJuIHQ7Y29uc3Qgcz0oMCxuLmdldEFjdGl2ZUVsZW1lbnRTZWxlY3RvcnMpKCksaT1BcnJheS5mcm9tKHQucXVlcnlTZWxlY3RvckFsbChzKSkuZmlsdGVyKCgwLG4uY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKHQpKTtsZXQgbz1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksYT1udWxsO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXtjb25zdCBlPWlbdF0scz1lLmdldEF0dHJpYnV0ZSgidGFiaW5kZXgiKTtpZihudWxsIT09cyl7Y29uc3QgdD1wYXJzZUludChzLDEwKTshaXNOYU4odCkmJnQ+byYmKG89dCxhPWUpfX1yZXR1cm4gYX0hZnVuY3Rpb24odCl7dFt0Lk1vdXNlR3VhcmRab25lPTIwXT0iTW91c2VHdWFyZFpvbmUifShpfHwoaT17fSkpfSw5MTEzMjcodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7ZXh0cmFjdFRhYlBhdGg6KCk9PmIsZ2V0U3ltYm9sUGFnZVBhdGg6KCk9PmgsbWFrZVN5bWJvbENoYXJ0VXJsOigpPT5nLG1ha2VTeW1ib2xQYWdlVXJsOigpPT5ffSk7cyg5NjM5MDApO3ZhciBpPXMoMzA5ODM2KSxvPXMoMjQxOTM3KSxuPXMoODUxNDU4KSxhPXMoMTU2ODI5KTtjb25zdCByPW5ldyBTZXQoWyJTUDpTUFgiLCJDQk9FOlNQWCJdKTtmdW5jdGlvbiBsKHQpe2NvbnN0IGU9ey4uLnR9O2lmKCJzcHJlYWQiPT09ZS50eXBlfHwiZXhwcmVzc2lvbiI9PT1lLnR5cGUpe2NvbnN0IHQ9ZS5zaG9ydE5hbWUmJmMoZS5zaG9ydE5hbWUpLHM9ZS5wcm9OYW1lJiZjKGUucHJvTmFtZSk7ZS50eXBlPXZvaWQgMCxlLnNob3J0TmFtZT10LGUucHJvTmFtZT1zfXJldHVybiBlfWZ1bmN0aW9uIGgodCxlKXtjb25zdCBzPWwodCk7cmV0dXJuIHUocChzLGUpLGQocykpfWZ1bmN0aW9uIGModCl7cmV0dXJuKDAsbi50b2tlbml6ZSkodCkuZmluZCgodD0+InN5bWJvbCI9PT10LnR5cGUpKT8udmFsdWV9ZnVuY3Rpb24gZCh0KXtjb25zdCBlPXtzaG9ydE5hbWU6dC5zaG9ydE5hbWUsZXhjaGFuZ2U6dC5leGNoYW5nZSxwcm9OYW1lOnQucHJvTmFtZSx0eXBlOnQudHlwZSx0eXBlc3BlY3M6dC50eXBlc3BlY3Mscm9vdDp0LnJvb3R9O3JldHVybiBlLnByb05hbWUmJmUucHJvTmFtZS5pbmNsdWRlcygiOiIpJiYoW2UuZXhjaGFuZ2UsZS5zaG9ydE5hbWVdPWUucHJvTmFtZS5zcGxpdCgiOiIpKSxlfWZ1bmN0aW9uIHUodCxlKXtjb25zdCBzPWVuY29kZVVSSUNvbXBvbmVudChlLnNob3J0TmFtZXx8IiIpLGk9ZW5jb2RlVVJJQ29tcG9uZW50KGUuZXhjaGFuZ2V8fCIiKSxvPWVuY29kZVVSSUNvbXBvbmVudChlLnByb05hbWV8fCIiKSxuPWVuY29kZVVSSUNvbXBvbmVudChlLnJvb3R8fCIiKTtyZXR1cm4gdC5yZXBsYWNlKCJ7dHZleGNoYW5nZX0iLGkpLnJlcGxhY2UoInt0dnN5bWJvbH0iLHMpLnJlcGxhY2UoInt0dnByb3N5bWJvbH0iLG8pLnJlcGxhY2UoInt0dnJvb3R9IixuKX1mdW5jdGlvbiBwKHQsZT0iIil7Y29uc3Qgcz1kKHQpLHt0eXBlOmksdHlwZXNwZWNzOm8sc2hvcnROYW1lOm4scHJvTmFtZTpsLGV4Y2hhbmdlOmgscm9vdDpjfT1zO3JldHVybiB2b2lkIDA9PT1uJiZ2b2lkIDA9PT1sPyhjb25zb2xlLndhcm4oIlBhcmFtcyBtaXNzZWQiKSwiLyIpOmwmJnIuaGFzKGwpP2Avc3ltYm9scy97dHZzeW1ib2x9LyR7ZX1gOml8fG8/ImNvbW1vZGl0eSI9PT1pJiZvJiZvLmluY2x1ZGVzKCJjZmQiKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjohY3x8IW98fCJmdXR1cmVzIiE9PWl8fG8uaW5jbHVkZXMoImNvbnRpbnVvdXMiKSYmbj8uZW5kc1dpdGgoIjEhIil8fG8uaW5jbHVkZXMoImV4Y2hhbmdlLWNvbnRpbnVvdXMiKT9oJiYoImZvcmV4Ij09PWl8fG8mJigwLAphLmhhc0NyeXB0b1R5cGVzcGVjKShvKSk/Ii9zeW1ib2xzL3t0dnN5bWJvbH0vP2V4Y2hhbmdlPXt0dmV4Y2hhbmdlfSI6aD9gL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnN5bWJvbH0vJHtlfWA6YC9zeW1ib2xzL3t0dnN5bWJvbH0vJHtlfWA6YC9zeW1ib2xzL3t0dmV4Y2hhbmdlfS17dHZyb290fTEhLyR7ZX0/Y29udHJhY3Q9e3R2c3ltYm9sfWA6aD9gL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnN5bWJvbH0vJHtlfWA6YC9zeW1ib2xzL3t0dnN5bWJvbH0vJHtlfWB9ZnVuY3Rpb24gbSh0LGUscyxuKXtjb25zdCBhPSh3aW5kb3cubG9jYWxlX2RvbWFpbnM/KDAsby5kZXRlcm1pbmVCYXNlVXJsKSh3aW5kb3cubG9jYWxlX2RvbWFpbnMsbik6d2luZG93LmxvY2F0aW9uLm9yaWdpbikrdSh0LGQobChlKSkpO3JldHVybiBzPygwLGkuYWRkVXRtVG9VcmwpKGEscyk6YX1mdW5jdGlvbiBfKHQsZSxzLGkpe2NvbnN0IG89bCh0KTtyZXR1cm4gbShwKG8saSksbyxlLHMpfWZ1bmN0aW9uIGcodCxlKXtyZXR1cm4gbSgiL2NoYXJ0Lz9zeW1ib2w9e3R2cHJvc3ltYm9sfSIsdCxlKX1mdW5jdGlvbiBiKHQsZSl7Y29uc3Qgcz1oKHtwcm9OYW1lOnR9KTtyZXR1cm4gZS5zdGFydHNXaXRoKHMpP2UucmVwbGFjZShzLnNsaWNlKDAscy5sZW5ndGgtMSksIiIpOm51bGx9fSw4MDY2OTModCl7dC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05LjcwNyA5bDQuNjQ3LTQuNjQ2LS43MDctLjcwOEw5IDguMjkzIDQuMzU0IDMuNjQ2bC0uNzA4LjcwOEw4LjI5MyA5bC00LjY0NyA0LjY0Ni43MDguNzA4TDkgOS43MDdsNC42NDYgNC42NDcuNzA4LS43MDdMOS43MDcgOXoiLz48L3N2Zz4nfSw4NTI1MzEodCl7dC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE0IDEyIiB3aWR0aD0iMTQiIGhlaWdodD0iMTIiIGZpbGw9ImN1cnJlbnRDb2xvciIgZm9jdXNhYmxlPSJmYWxzZSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+PHBhdGggZD0iTTE0IDEybC00LTYgNC02SDB2MTJ6Ii8+PC9zdmc+J319XSk7"}},"time_used":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/40835.76a1c7923a2c986be9ac.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.786Z","timestamp":1785141584786,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/40835.76a1c7923a2c986be9ac.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-100f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 063ec37ca01873d7db9010856138a830\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4111,"size_decoded":2063,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4111), with no line terminators","md5":"a6563141742b204a9593bab5b080de7e","sha1":"3f4c1b48e6a44190e1cc78662a5a045968b7f2c0","sha256":"953092909e4c16b8c1cf3e6aeb8c74f01719e08a67a32f223f4407bc30f28b48","sha512":"2093d4a5d1abb74ca9f78354930c29852daa55f3ed0089aba395758d6061f85d41310f06215e141e409b8e5533f6be5dc824ba5bcc72d9a84da0d022feda2f99","ssdeep":"96:ohOKQtBEBWcXTn0kPO+zjGHq41qiDis3nXi:ohOjkBWcXT0km+zjGD1qiDis3Xi","tlshash":"fe81df9772d06e75bd5259adbaac61ac7384dc35ed6300c7b120be3688c53fa0570c2d","first_seen":"2026-07-17T14:15:58.392302Z","last_seen":"2026-07-27T14:27:22.680581Z","times_seen":158,"resource_available":false,"data":"LmN1c3RvbUxpc3RJdGVtLTlROUZIeXJuey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1iYWNrZ3JvdW5kQ29sb3IsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSkpO2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjZweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O3BhZGRpbmc6MDt0ZXh0LWFsaWduOnN0YXJ0O3dpZHRoOjEwMCV9LmN1c3RvbUxpc3RJdGVtLTlROUZIeXJuOmFmdGVye2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCl9LmN1c3RvbUxpc3RJdGVtLTlROUZIeXJuOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmN1c3RvbUxpc3RJdGVtLTlROUZIeXJuOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uY3VzdG9tTGlzdEl0ZW0tOVE5Rkh5cm46Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9LmN1c3RvbUxpc3RJdGVtLTlROUZIeXJuOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6NHB4fS5jdXN0b21MaXN0SXRlbS05UTlGSHlybntvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uY3VzdG9tTGlzdEl0ZW0tOVE5Rkh5cm46Zm9jdXN7b3V0bGluZTpub25lfS5jdXN0b21MaXN0SXRlbS05UTlGSHlybjpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uY3VzdG9tTGlzdEl0ZW0tOVE5Rkh5cm46YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTt6LWluZGV4OjF9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jbGlja2FibGUtOVE5Rkh5cm46aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tYmFja2dyb3VuZENvbG9ySG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KSl9fS53cmFwcGVyLUtVaXRzdHBKe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXB9LnByaW1hcnlUaXRsZVdyYXBwZXItS1VpdHN0cEp7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS10aXRsZVRleHRDb2xvcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKSk7Y29sdW1uLWdhcDpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSo2cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSo4cHgpO21pbi1oZWlnaHQ6NDBweDtwYWRkaW5nLWJsb2NrOjhweCA4cHg7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqMTBweCArIHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjE2cHgpIGNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjEycHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoyMHB4KTtyb3ctZ2FwOjJweDstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLXNpemU6Y2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqMyArIHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjQpOy0tdWktbGliLXNpemUtZGVmOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplLHZhcigtLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLXNpemUsMykpOy0tdWktbGliLXNpemUtZGVmLXNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDMpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSkpOy0tdWktbGliLXNpemUtZGVmLW1lZGl1bTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA0KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkpKTtmb250LXNpemU6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjE0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoxNnB4KTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNjAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNjAwKTtsaW5lLWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjI0cHgpfS5zZWNvbmRhcnlUaXRsZVdyYXBwZXItS1VpdHN0cEp7Y29sb3I6dmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXRpdGxlU2Vjb25kYXJ5VGV4dENvbG9yLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKSk7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtyb3ctZ2FwOjA7dGV4dC1hbGlnbjpzdGFydDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE2cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjExcHg7Y29sdW1uLWdhcDo2cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi40cHg7bWluLWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSoyNHB4ICsgdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkqMzJweCk7cGFkZGluZzowIGNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjhweCArIHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjE2cHgpO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uc2Vjb25kYXJ5VGl0bGVXcmFwcGVyLUtVaXRzdHBKIC50aXRsZS1LVWl0c3RwSnttaW4taGVpZ2h0OmNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkqMTZweCk7cGFkZGluZzpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjRweCkgMH0uY29udGVudC1LVWl0c3RwSnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlfS5sZWZ0LUtVaXRzdHBKe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLWlubGluZS1lbmQ6NHB4O3dpZHRoOjI4cHh9LndpdGhMZWZ0U2xvdC1LVWl0c3RwSntwYWRkaW5nLWJvdHRvbTo2cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6Y2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqNHB4ICsgdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkqMTJweCk7cGFkZGluZy10b3A6NnB4fS50aXRsZS1LVWl0c3RwSntvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnNwYWNlLUtVaXRzdHBKe2ZsZXg6MX0uaWNvbi1LVWl0c3RwSntkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqLTFweCk7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSotMXB4KTt3aWR0aDoxOHB4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/themes/ashley/assets/css/bootstrap.css?ver=7.0.2","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.879Z","timestamp":1785141582879,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/themes/ashley/assets/css/bootstrap.css?ver=7.0.2 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://oxlofttrd.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:42 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:55:08 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:42 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 7655\r\nKeep-Alive: timeout=5, max=98\r\nConnection: Keep-Alive\r\nContent-Type: text/css\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":71784,"size_decoded":8006,"mime_type":"text/css","magic":"ASCII text","md5":"ad663ae4fa48ba91b3cb8eff80e2b785","sha1":"f0c076556f699caca1201c0f17c4556daf45bd3a","sha256":"9001fb45967b7c03413a5e1948e57be0ef622ab3c723af969da2d0600438ba3d","sha512":"ee776e4dc328b32ebcdfc122de995d3506017d770ea64ef7151416d6496cc4c943647533c2f719d43f8e85dbab8e35c7f7fd6e5ba0aa6434b66cc636f91d81f7","ssdeep":"768:R0pDMwnFnZ35xBttO4GekIUOUwhN13RyzP7Xfl7duLLPZKY2O8UAiIQUIsseE+Uw:WRMBgHuttIjNbPZO","tlshash":"3e63298efdf1140875766269a8aa36f9bd7c8087d349dca778d23671cf423c28cd2949","first_seen":"2024-08-19T16:40:21.242561Z","last_seen":"2026-07-27T12:12:28.783821Z","times_seen":20,"resource_available":false,"data":"LyohCiAqIEJvb3RzdHJhcCBHcmlkIHY1LjIuMiAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLykKICogQ29weXJpZ2h0IDIwMTEtMjAyMiBUaGUgQm9vdHN0cmFwIEF1dGhvcnMKICogQ29weXJpZ2h0IDIwMTEtMjAyMiBUd2l0dGVyLCBJbmMuCiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKQogKi8KOnJvb3QgewogIC0tYnMtYmx1ZTogIzBkNmVmZDsKICAtLWJzLWluZGlnbzogIzY2MTBmMjsKICAtLWJzLXB1cnBsZTogIzZmNDJjMTsKICAtLWJzLXBpbms6ICNkNjMzODQ7CiAgLS1icy1yZWQ6ICNkYzM1NDU7CiAgLS1icy1vcmFuZ2U6ICNmZDdlMTQ7CiAgLS1icy15ZWxsb3c6ICNmZmMxMDc7CiAgLS1icy1ncmVlbjogIzE5ODc1NDsKICAtLWJzLXRlYWw6ICMyMGM5OTc7CiAgLS1icy1jeWFuOiAjMGRjYWYwOwogIC0tYnMtYmxhY2s6ICMwMDA7CiAgLS1icy13aGl0ZTogI2ZmZjsKICAtLWJzLWdyYXk6ICM2Yzc1N2Q7CiAgLS1icy1ncmF5LWRhcms6ICMzNDNhNDA7CiAgLS1icy1ncmF5LTEwMDogI2Y4ZjlmYTsKICAtLWJzLWdyYXktMjAwOiAjZTllY2VmOwogIC0tYnMtZ3JheS0zMDA6ICNkZWUyZTY7CiAgLS1icy1ncmF5LTQwMDogI2NlZDRkYTsKICAtLWJzLWdyYXktNTAwOiAjYWRiNWJkOwogIC0tYnMtZ3JheS02MDA6ICM2Yzc1N2Q7CiAgLS1icy1ncmF5LTcwMDogIzQ5NTA1NzsKICAtLWJzLWdyYXktODAwOiAjMzQzYTQwOwogIC0tYnMtZ3JheS05MDA6ICMyMTI1Mjk7CiAgLS1icy1wcmltYXJ5OiAjMGQ2ZWZkOwogIC0tYnMtc2Vjb25kYXJ5OiAjNmM3NTdkOwogIC0tYnMtc3VjY2VzczogIzE5ODc1NDsKICAtLWJzLWluZm86ICMwZGNhZjA7CiAgLS1icy13YXJuaW5nOiAjZmZjMTA3OwogIC0tYnMtZGFuZ2VyOiAjZGMzNTQ1OwogIC0tYnMtbGlnaHQ6ICNmOGY5ZmE7CiAgLS1icy1kYXJrOiAjMjEyNTI5OwogIC0tYnMtcHJpbWFyeS1yZ2I6IDEzLCAxMTAsIDI1MzsKICAtLWJzLXNlY29uZGFyeS1yZ2I6IDEwOCwgMTE3LCAxMjU7CiAgLS1icy1zdWNjZXNzLXJnYjogMjUsIDEzNSwgODQ7CiAgLS1icy1pbmZvLXJnYjogMTMsIDIwMiwgMjQwOwogIC0tYnMtd2FybmluZy1yZ2I6IDI1NSwgMTkzLCA3OwogIC0tYnMtZGFuZ2VyLXJnYjogMjIwLCA1MywgNjk7CiAgLS1icy1saWdodC1yZ2I6IDI0OCwgMjQ5LCAyNTA7CiAgLS1icy1kYXJrLXJnYjogMzMsIDM3LCA0MTsKICAtLWJzLXdoaXRlLXJnYjogMjU1LCAyNTUsIDI1NTsKICAtLWJzLWJsYWNrLXJnYjogMCwgMCwgMDsKICAtLWJzLWJvZHktY29sb3ItcmdiOiAzMywgMzcsIDQxOwogIC0tYnMtYm9keS1iZy1yZ2I6IDI1NSwgMjU1LCAyNTU7CiAgLS1icy1mb250LXNhbnMtc2VyaWY6IHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgIlNlZ29lIFVJIiwgUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCAiTm90byBTYW5zIiwgIkxpYmVyYXRpb24gU2FucyIsIEFyaWFsLCBzYW5zLXNlcmlmLCAiQXBwbGUgQ29sb3IgRW1vamkiLCAiU2Vnb2UgVUkgRW1vamkiLCAiU2Vnb2UgVUkgU3ltYm9sIiwgIk5vdG8gQ29sb3IgRW1vamkiOwogIC0tYnMtZm9udC1tb25vc3BhY2U6IFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgIkxpYmVyYXRpb24gTW9ubyIsICJDb3VyaWVyIE5ldyIsIG1vbm9zcGFjZTsKICAtLWJzLWdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKTsKICAtLWJzLWJvZHktZm9udC1mYW1pbHk6IHZhcigtLWJzLWZvbnQtc2Fucy1zZXJpZik7CiAgLS1icy1ib2R5LWZvbnQtc2l6ZTogMXJlbTsKICAtLWJzLWJvZHktZm9udC13ZWlnaHQ6IDQwMDsKICAtLWJzLWJvZHktbGluZS1oZWlnaHQ6IDEuNTsKICAtLWJzLWJvZHktY29sb3I6ICMyMTI1Mjk7CiAgLS1icy1ib2R5LWJnOiAjZmZmOwogIC0tYnMtYm9yZGVyLXdpZHRoOiAxcHg7CiAgLS1icy1ib3JkZXItc3R5bGU6IHNvbGlkOwogIC0tYnMtYm9yZGVyLWNvbG9yOiAjZGVlMmU2OwogIC0tYnMtYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiByZ2JhKDAsIDAsIDAsIDAuMTc1KTsKICAtLWJzLWJvcmRlci1yYWRpdXM6IDAuMzc1cmVtOwogIC0tYnMtYm9yZGVyLXJhZGl1cy1zbTogMC4yNXJlbTsKICAtLWJzLWJvcmRlci1yYWRpdXMtbGc6IDAuNXJlbTsKICAtLWJzLWJvcmRlci1yYWRpdXMteGw6IDFyZW07CiAgLS1icy1ib3JkZXItcmFkaXVzLTJ4bDogMnJlbTsKICAtLWJzLWJvcmRlci1yYWRpdXMtcGlsbDogNTByZW07CiAgLS1icy1saW5rLWNvbG9yOiAjMGQ2ZWZkOwogIC0tYnMtbGluay1ob3Zlci1jb2xvcjogIzBhNThjYTsKICAtLWJzLWNvZGUtY29sb3I6ICNkNjMzODQ7CiAgLS1icy1oaWdobGlnaHQtYmc6ICNmZmYzY2Q7Cn0KCi5jb250YWluZXIsCi5jb250YWluZXItZmx1aWQsCi5jb250YWluZXIteHhsLAouY29udGFpbmVyLXhsLAouY29udGFpbmVyLWxnLAouY29udGFpbmVyLW1kLAouY29udGFpbmVyLXNtIHsKICAtLWJzLWd1dHRlci14OiAzMHB4OwogIC0tYnMtZ3V0dGVyLXk6IDA7CiAgcGFkZGluZy1yaWdodDogdmFyKC0tYnMtZ3V0dGVyLXgpOwogIHBhZGRpbmctbGVmdDogdmFyKC0tYnMtZ3V0dGVyLXgpOwogIHdpZHRoOiAxMDAlOwogIG1hcmdpbi1yaWdodDogYXV0bzsKICBtYXJnaW4tbGVmdDogYXV0bzsKfQoKQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7CiAgLmNvbnRhaW5lci1zbSwgLmNvbnRhaW5lciB7CiAgICBtYXgtd2lkdGg6IDEwMCU7CiAgfQp9CkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogIC5jb250YWluZXItbWQsIC5jb250YWluZXItc20sIC5jb250YWluZXIgewogICAgbWF4LXdpZHRoOiAxMDAlOwogIH0KfQpAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsKICAuY29udGFpbmVyLWxnLCAuY29udGFpbmVyLW1kLCAuY29udGFpbmVyLXNtLCAuY29udGFpbmVyIHsKICAgIG1heC13aWR0aDogMTIwMHB4OwogIH0KfQpAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7CiAgLmNvbnRhaW5lci14bCwgLmNvbnRhaW5lci1sZywgLmNvbnRhaW5lci1tZCwgLmNvbnRhaW5lci1zbSwgLmNvbnRhaW5lciB7CiAgICBtYXgtd2lkdGg6IDEwMDBweDsKICB9Cn0KQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkgewogIC5jb250YWluZXIteHhsLCAuY29udGFpbmVyLXhsLCAuY29udGFpbmVyLWxnLCAuY29udGFpbmVyLW1kLCAuY29udGFpbmVyLXNtLCAuY29udGFpbmVyIHsKICAgIG1heC13aWR0aDogMTIwMHB4OwogIH0KfQoucm93IHsKICAtLWJzLWd1dHRlci14OiAzMHB4OwogIC0tYnMtZ3V0dGVyLXk6IDA7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LXdyYXA6IHdyYXA7CiAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLWJzLWd1dHRlci15KSk7CiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0wLjUgKiB2YXIoLS1icy1ndXR0ZXIteCkpOwogIG1hcmdpbi1sZWZ0OiBjYWxjKC0wLjUgKiB2YXIoLS1icy1ndXR0ZXIteCkpOwp9Ci5yb3cgPiAqIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGZsZXgtc2hyaW5rOiAwOwogIHdpZHRoOiAxMDAlOwogIG1heC13aWR0aDogMTAwJTsKICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWJzLWd1dHRlci14KSAqIDAuNSk7CiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWJzLWd1dHRlci14KSAqIDAuNSk7CiAgbWFyZ2luLXRvcDogdmFyKC0tYnMtZ3V0dGVyLXkpOwp9CgouY29sIHsKICBmbGV4OiAxIDAgMCU7Cn0KCi5yb3ctY29scy1hdXRvID4gKiB7CiAgZmxleDogMCAwIGF1dG87CiAgd2lkdGg6IGF1dG87Cn0KCi5yb3ctY29scy0xID4gKiB7CiAgZmxleDogMCAwIGF1dG87CiAgd2lkdGg6IDEwMCU7Cn0KCi5yb3ctY29scy0yID4gKiB7CiAgZmxleDogMCAwIGF1dG87CiAgd2lkdGg6IDUwJTsKfQoKLnJvdy1jb2xzLTMgPiAqIHsKICBmbGV4OiAwIDAgYXV0bzsKICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7Cn0KCi5yb3ctY29scy00ID4gKiB7CiAgZmxleDogMCAwIGF1dG87CiAgd2lkdGg6IDI1JTsKfQoKLnJvdy1jb2xzLTUgPiAqIHsKICBmbGV4OiAwIDAgYXV0bzsKICB3aWR0aDogMjAlOwp9Cgoucm93LWNvbHMtNiA+ICogewogIGZsZXg6IDAgMCBhdXRvOwogIHdpZHRoOiAxNi42NjY2NjY2NjY3JTsKfQoKLmNvbC1hdXRvIHsKICBmbGV4OiAwIDAgYXV0bzsKICB3aWR0aDogYXV0bzsKfQoKLmNvbC0xIHsKICBmbGV4OiAwIDAgYXV0bzsKICB3aWR0aDogOC4zMzMzMzMzMyU7Cn0KCi5jb2wtMiB7CiAgZmxleDogMCAwIGF1dG87CiAgd2lkdGg6IDE2LjY2NjY2NjY3JTsKfQoKLmNvbC0zIHsKICBmbGV4OiAwIDAgYXV0bzsKICB3aWR0aDogMjUlOwp9CgouY29sLTQgewogIGZsZXg6IDAgMCBhdXRvOwogIHdpZHRoOiAzMy4zMzMzMzMzMyU7Cn0KCi5jb2wtNSB7CiAgZmxleDogMCAwIGF1dG87CiAgd2lkdGg6IDQxLjY2NjY2NjY3JTsKfQoKLmNvbC02IHsKICBmbGV4OiAwIDAgYXV0bzsKICB3aWR0aDogNTAlOwp9CgouY29sLTcgewogIGZsZXg6IDAgMCBhdXRvOwogIHdpZHRoOiA1OC4zMzMzMzMzMyU7Cn0KCi5jb2wtOCB7CiAgZmxleDogMCAwIGF1dG87CiAgd2lkdGg6IDY2LjY2NjY2NjY3JTsKfQoKLmNvbC05IHsKICBmbGV4OiAwIDAgYXV0bzsKICB3aWR0aDogNzUlOwp9CgouY29sLTEwIHsKICBmbGV4OiAwIDAgYXV0bzsKICB3aWR0aDogODMuMzMzMzMzMzMlOwp9CgouY29sLTExIHsKICBmbGV4OiAwIDAgYXV0bzsKICB3aWR0aDogOTEuNjY2NjY2NjclOwp9CgouY29sLTEyIHsKICBmbGV4OiAwIDAgYXV0bzsKICB3aWR0aDogMTAwJTsKfQoKLm9mZnNldC0xIHsKICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7Cn0KCi5vZmZzZXQtMiB7CiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTsKfQoKLm9mZnNldC0zIHsKICBtYXJnaW4tbGVmdDogMjUlOwp9Cgoub2Zmc2V0LTQgewogIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMyU7Cn0KCi5vZmZzZXQtNSB7CiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTsKfQoKLm9mZnNldC02IHsKICBtYXJnaW4tbGVmdDogNTAlOwp9Cgoub2Zmc2V0LTcgewogIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMyU7Cn0KCi5vZmZzZXQtOCB7CiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTsKfQoKLm9mZnNldC05IHsKICBtYXJnaW4tbGVmdDogNzUlOwp9Cgoub2Zmc2V0LTEwIHsKICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlOwp9Cgoub2Zmc2V0LTExIHsKICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclOwp9CgouZy0wLAouZ3gtMCB7CiAgLS1icy1ndXR0ZXIteDogMDsKfQoKLmctMCwKLmd5LTAgewogIC0tYnMtZ3V0dGVyLXk6IDA7Cn0KCi5nLTEsCi5neC0xIHsKICAtLWJzLWd1dHRlci14OiAwLjI1cmVtOwp9CgouZy0xLAouZ3ktMSB7CiAgLS1icy1ndXR0ZXIteTogMC4yNXJlbTsKfQoKLmctMiwKLmd4LTIgewogIC0tYnMtZ3V0dGVyLXg6IDAuNXJlbTsKfQoKLmctMiwKLmd5LTIgewogIC0tYnMtZ3V0dGVyLXk6IDAuNXJlbTsKfQoKLmctMywKLmd4LTMgewogIC0tYnMtZ3V0dGVyLXg6IDFyZW07Cn0KCi5nLTMsCi5neS0zIHsKICAtLWJzLWd1dHRlci15OiAxcmVtOwp9CgouZy00LAouZ3gtNCB7CiAgLS1icy1ndXR0ZXIteDogMS41cmVtOwp9CgouZy00LAouZ3ktNCB7CiAgLS1icy1ndXR0ZXIteTogMS41cmVtOwp9CgouZy01LAouZ3gtNSB7CiAgLS1icy1ndXR0ZXIteDogM3JlbTsKfQoKLmctNSwKLmd5LTUgewogIC0tYnMtZ3V0dGVyLXk6IDNyZW07Cn0KCkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgewogIC5jb2wtc20gewogICAgZmxleDogMSAwIDAlOwogIH0KICAucm93LWNvbHMtc20tYXV0byA+ICogewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogYXV0bzsKICB9CiAgLnJvdy1jb2xzLXNtLTEgPiAqIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDEwMCU7CiAgfQogIC5yb3ctY29scy1zbS0yID4gKiB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiA1MCU7CiAgfQogIC5yb3ctY29scy1zbS0zID4gKiB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTsKICB9CiAgLnJvdy1jb2xzLXNtLTQgPiAqIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDI1JTsKICB9CiAgLnJvdy1jb2xzLXNtLTUgPiAqIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDIwJTsKICB9CiAgLnJvdy1jb2xzLXNtLTYgPiAqIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclOwogIH0KICAuY29sLXNtLWF1dG8gewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogYXV0bzsKICB9CiAgLmNvbC1zbS0xIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDguMzMzMzMzMzMlOwogIH0KICAuY29sLXNtLTIgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogMTYuNjY2NjY2NjclOwogIH0KICAuY29sLXNtLTMgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogMjUlOwogIH0KICAuY29sLXNtLTQgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogMzMuMzMzMzMzMzMlOwogIH0KICAuY29sLXNtLTUgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogNDEuNjY2NjY2NjclOwogIH0KICAuY29sLXNtLTYgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogNTAlOwogIH0KICAuY29sLXNtLTcgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogNTguMzMzMzMzMzMlOwogIH0KICAuY29sLXNtLTggewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogNjYuNjY2NjY2NjclOwogIH0KICAuY29sLXNtLTkgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogNzUlOwogIH0KICAuY29sLXNtLTEwIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDgzLjMzMzMzMzMzJTsKICB9CiAgLmNvbC1zbS0xMSB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7CiAgfQogIC5jb2wtc20tMTIgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLm9mZnNldC1zbS0wIHsKICAgIG1hcmdpbi1sZWZ0OiAwOwogIH0KICAub2Zmc2V0LXNtLTEgewogICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMlOwogIH0KICAub2Zmc2V0LXNtLTIgewogICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTsKICB9CiAgLm9mZnNldC1zbS0zIHsKICAgIG1hcmdpbi1sZWZ0OiAyNSU7CiAgfQogIC5vZmZzZXQtc20tNCB7CiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlOwogIH0KICAub2Zmc2V0LXNtLTUgewogICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTsKICB9CiAgLm9mZnNldC1zbS02IHsKICAgIG1hcmdpbi1sZWZ0OiA1MCU7CiAgfQogIC5vZmZzZXQtc20tNyB7CiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlOwogIH0KICAub2Zmc2V0LXNtLTggewogICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTsKICB9CiAgLm9mZnNldC1zbS05IHsKICAgIG1hcmdpbi1sZWZ0OiA3NSU7CiAgfQogIC5vZmZzZXQtc20tMTAgewogICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzJTsKICB9CiAgLm9mZnNldC1zbS0xMSB7CiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclOwogIH0KICAuZy1zbS0wLAouZ3gtc20tMCB7CiAgICAtLWJzLWd1dHRlci14OiAwOwogIH0KICAuZy1zbS0wLAouZ3ktc20tMCB7CiAgICAtLWJzLWd1dHRlci15OiAwOwogIH0KICAuZy1zbS0xLAouZ3gtc20tMSB7CiAgICAtLWJzLWd1dHRlci14OiAwLjI1cmVtOwogIH0KICAuZy1zbS0xLAouZ3ktc20tMSB7CiAgICAtLWJzLWd1dHRlci15OiAwLjI1cmVtOwogIH0KICAuZy1zbS0yLAouZ3gtc20tMiB7CiAgICAtLWJzLWd1dHRlci14OiAwLjVyZW07CiAgfQogIC5nLXNtLTIsCi5neS1zbS0yIHsKICAgIC0tYnMtZ3V0dGVyLXk6IDAuNXJlbTsKICB9CiAgLmctc20tMywKLmd4LXNtLTMgewogICAgLS1icy1ndXR0ZXIteDogMXJlbTsKICB9CiAgLmctc20tMywKLmd5LXNtLTMgewogICAgLS1icy1ndXR0ZXIteTogMXJlbTsKICB9CiAgLmctc20tNCwKLmd4LXNtLTQgewogICAgLS1icy1ndXR0ZXIteDogMS41cmVtOwogIH0KICAuZy1zbS00LAouZ3ktc20tNCB7CiAgICAtLWJzLWd1dHRlci15OiAxLjVyZW07CiAgfQogIC5nLXNtLTUsCi5neC1zbS01IHsKICAgIC0tYnMtZ3V0dGVyLXg6IDNyZW07CiAgfQogIC5nLXNtLTUsCi5neS1zbS01IHsKICAgIC0tYnMtZ3V0dGVyLXk6IDNyZW07CiAgfQp9CkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogIC5jb2wtbWQgewogICAgZmxleDogMSAwIDAlOwogIH0KICAucm93LWNvbHMtbWQtYXV0byA+ICogewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogYXV0bzsKICB9CiAgLnJvdy1jb2xzLW1kLTEgPiAqIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDEwMCU7CiAgfQogIC5yb3ctY29scy1tZC0yID4gKiB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiA1MCU7CiAgfQogIC5yb3ctY29scy1tZC0zID4gKiB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTsKICB9CiAgLnJvdy1jb2xzLW1kLTQgPiAqIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDI1JTsKICB9CiAgLnJvdy1jb2xzLW1kLTUgPiAqIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDIwJTsKICB9CiAgLnJvdy1jb2xzLW1kLTYgPiAqIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclOwogIH0KICAuY29sLW1kLWF1dG8gewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogYXV0bzsKICB9CiAgLmNvbC1tZC0xIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDguMzMzMzMzMzMlOwogIH0KICAuY29sLW1kLTIgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogMTYuNjY2NjY2NjclOwogIH0KICAuY29sLW1kLTMgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogMjUlOwogIH0KICAuY29sLW1kLTQgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogMzMuMzMzMzMzMzMlOwogIH0KICAuY29sLW1kLTUgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogNDEuNjY2NjY2NjclOwogIH0KICAuY29sLW1kLTYgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogNTAlOwogIH0KICAuY29sLW1kLTcgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogNTguMzMzMzMzMzMlOwogIH0KICAuY29sLW1kLTggewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogNjYuNjY2NjY2NjclOwogIH0KICAuY29sLW1kLTkgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogNzUlOwogIH0KICAuY29sLW1kLTEwIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDgzLjMzMzMzMzMzJTsKICB9CiAgLmNvbC1tZC0xMSB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7CiAgfQogIC5jb2wtbWQtMTIgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLm9mZnNldC1tZC0wIHsKICAgIG1hcmdpbi1sZWZ0OiAwOwogIH0KICAub2Zmc2V0LW1kLTEgewogICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMlOwogIH0KICAub2Zmc2V0LW1kLTIgewogICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTsKICB9CiAgLm9mZnNldC1tZC0zIHsKICAgIG1hcmdpbi1sZWZ0OiAyNSU7CiAgfQogIC5vZmZzZXQtbWQtNCB7CiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlOwogIH0KICAub2Zmc2V0LW1kLTUgewogICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTsKICB9CiAgLm9mZnNldC1tZC02IHsKICAgIG1hcmdpbi1sZWZ0OiA1MCU7CiAgfQogIC5vZmZzZXQtbWQtNyB7CiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlOwogIH0KICAub2Zmc2V0LW1kLTggewogICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTsKICB9CiAgLm9mZnNldC1tZC05IHsKICAgIG1hcmdpbi1sZWZ0OiA3NSU7CiAgfQogIC5vZmZzZXQtbWQtMTAgewogICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzJTsKICB9CiAgLm9mZnNldC1tZC0xMSB7CiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclOwogIH0KICAuZy1tZC0wLAouZ3gtbWQtMCB7CiAgICAtLWJzLWd1dHRlci14OiAwOwogIH0KICAuZy1tZC0wLAouZ3ktbWQtMCB7CiAgICAtLWJzLWd1dHRlci15OiAwOwogIH0KICAuZy1tZC0xLAouZ3gtbWQtMSB7CiAgICAtLWJzLWd1dHRlci14OiAwLjI1cmVtOwogIH0KICAuZy1tZC0xLAouZ3ktbWQtMSB7CiAgICAtLWJzLWd1dHRlci15OiAwLjI1cmVtOwogIH0KICAuZy1tZC0yLAouZ3gtbWQtMiB7CiAgICAtLWJzLWd1dHRlci14OiAwLjVyZW07CiAgfQogIC5nLW1kLTIsCi5neS1tZC0yIHsKICAgIC0tYnMtZ3V0dGVyLXk6IDAuNXJlbTsKICB9CiAgLmctbWQtMywKLmd4LW1kLTMgewogICAgLS1icy1ndXR0ZXIteDogMXJlbTsKICB9CiAgLmctbWQtMywKLmd5LW1kLTMgewogICAgLS1icy1ndXR0ZXIteTogMXJlbTsKICB9CiAgLmctbWQtNCwKLmd4LW1kLTQgewogICAgLS1icy1ndXR0ZXIteDogMS41cmVtOwogIH0KICAuZy1tZC00LAouZ3ktbWQtNCB7CiAgICAtLWJzLWd1dHRlci15OiAxLjVyZW07CiAgfQogIC5nLW1kLTUsCi5neC1tZC01IHsKICAgIC0tYnMtZ3V0dGVyLXg6IDNyZW07CiAgfQogIC5nLW1kLTUsCi5neS1tZC01IHsKICAgIC0tYnMtZ3V0dGVyLXk6IDNyZW07CiAgfQp9CkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgewogIC5jb2wtbGcgewogICAgZmxleDogMSAwIDAlOwogIH0KICAucm93LWNvbHMtbGctYXV0byA+ICogewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogYXV0bzsKICB9CiAgLnJvdy1jb2xzLWxnLTEgPiAqIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDEwMCU7CiAgfQogIC5yb3ctY29scy1sZy0yID4gKiB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiA1MCU7CiAgfQogIC5yb3ctY29scy1sZy0zID4gKiB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTsKICB9CiAgLnJvdy1jb2xzLWxnLTQgPiAqIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDI1JTsKICB9CiAgLnJvdy1jb2xzLWxnLTUgPiAqIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDIwJTsKICB9CiAgLnJvdy1jb2xzLWxnLTYgPiAqIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclOwogIH0KICAuY29sLWxnLWF1dG8gewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogYXV0bzsKICB9CiAgLmNvbC1sZy0xIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDguMzMzMzMzMzMlOwogIH0KICAuY29sLWxnLTIgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogMTYuNjY2NjY2NjclOwogIH0KICAuY29sLWxnLTMgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogMjUlOwogIH0KICAuY29sLWxnLTQgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogMzMuMzMzMzMzMzMlOwogIH0KICAuY29sLWxnLTUgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogNDEuNjY2NjY2NjclOwogIH0KICAuY29sLWxnLTYgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogNTAlOwogIH0KICAuY29sLWxnLTcgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogNTguMzMzMzMzMzMlOwogIH0KICAuY29sLWxnLTggewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogNjYuNjY2NjY2NjclOwogIH0KICAuY29sLWxnLTkgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogNzUlOwogIH0KICAuY29sLWxnLTEwIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDgzLjMzMzMzMzMzJTsKICB9CiAgLmNvbC1sZy0xMSB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7CiAgfQogIC5jb2wtbGctMTIgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLm9mZnNldC1sZy0wIHsKICAgIG1hcmdpbi1sZWZ0OiAwOwogIH0KICAub2Zmc2V0LWxnLTEgewogICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMlOwogIH0KICAub2Zmc2V0LWxnLTIgewogICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTsKICB9CiAgLm9mZnNldC1sZy0zIHsKICAgIG1hcmdpbi1sZWZ0OiAyNSU7CiAgfQogIC5vZmZzZXQtbGctNCB7CiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlOwogIH0KICAub2Zmc2V0LWxnLTUgewogICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTsKICB9CiAgLm9mZnNldC1sZy02IHsKICAgIG1hcmdpbi1sZWZ0OiA1MCU7CiAgfQogIC5vZmZzZXQtbGctNyB7CiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlOwogIH0KICAub2Zmc2V0LWxnLTggewogICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTsKICB9CiAgLm9mZnNldC1sZy05IHsKICAgIG1hcmdpbi1sZWZ0OiA3NSU7CiAgfQogIC5vZmZzZXQtbGctMTAgewogICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzJTsKICB9CiAgLm9mZnNldC1sZy0xMSB7CiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclOwogIH0KICAuZy1sZy0wLAouZ3gtbGctMCB7CiAgICAtLWJzLWd1dHRlci14OiAwOwogIH0KICAuZy1sZy0wLAouZ3ktbGctMCB7CiAgICAtLWJzLWd1dHRlci15OiAwOwogIH0KICAuZy1sZy0xLAouZ3gtbGctMSB7CiAgICAtLWJzLWd1dHRlci14OiAwLjI1cmVtOwogIH0KICAuZy1sZy0xLAouZ3ktbGctMSB7CiAgICAtLWJzLWd1dHRlci15OiAwLjI1cmVtOwogIH0KICAuZy1sZy0yLAouZ3gtbGctMiB7CiAgICAtLWJzLWd1dHRlci14OiAwLjVyZW07CiAgfQogIC5nLWxnLTIsCi5neS1sZy0yIHsKICAgIC0tYnMtZ3V0dGVyLXk6IDAuNXJlbTsKICB9CiAgLmctbGctMywKLmd4LWxnLTMgewogICAgLS1icy1ndXR0ZXIteDogMXJlbTsKICB9CiAgLmctbGctMywKLmd5LWxnLTMgewogICAgLS1icy1ndXR0ZXIteTogMXJlbTsKICB9CiAgLmctbGctNCwKLmd4LWxnLTQgewogICAgLS1icy1ndXR0ZXIteDogMS41cmVtOwogIH0KICAuZy1sZy00LAouZ3ktbGctNCB7CiAgICAtLWJzLWd1dHRlci15OiAxLjVyZW07CiAgfQogIC5nLWxnLTUsCi5neC1sZy01IHsKICAgIC0tYnMtZ3V0dGVyLXg6IDNyZW07CiAgfQogIC5nLWxnLTUsCi5neS1sZy01IHsKICAgIC0tYnMtZ3V0dGVyLXk6IDNyZW07CiAgfQp9CkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHsKICAuY29sLXhsIHsKICAgIGZsZXg6IDEgMCAwJTsKICB9CiAgLnJvdy1jb2xzLXhsLWF1dG8gPiAqIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IGF1dG87CiAgfQogIC5yb3ctY29scy14bC0xID4gKiB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiAxMDAlOwogIH0KICAucm93LWNvbHMteGwtMiA+ICogewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogNTAlOwogIH0KICAucm93LWNvbHMteGwtMyA+ICogewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7CiAgfQogIC5yb3ctY29scy14bC00ID4gKiB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiAyNSU7CiAgfQogIC5yb3ctY29scy14bC01ID4gKiB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiAyMCU7CiAgfQogIC5yb3ctY29scy14bC02ID4gKiB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTsKICB9CiAgLmNvbC14bC1hdXRvIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IGF1dG87CiAgfQogIC5jb2wteGwtMSB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiA4LjMzMzMzMzMzJTsKICB9CiAgLmNvbC14bC0yIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDE2LjY2NjY2NjY3JTsKICB9CiAgLmNvbC14bC0zIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDI1JTsKICB9CiAgLmNvbC14bC00IHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDMzLjMzMzMzMzMzJTsKICB9CiAgLmNvbC14bC01IHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDQxLjY2NjY2NjY3JTsKICB9CiAgLmNvbC14bC02IHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDUwJTsKICB9CiAgLmNvbC14bC03IHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDU4LjMzMzMzMzMzJTsKICB9CiAgLmNvbC14bC04IHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDY2LjY2NjY2NjY3JTsKICB9CiAgLmNvbC14bC05IHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDc1JTsKICB9CiAgLmNvbC14bC0xMCB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiA4My4zMzMzMzMzMyU7CiAgfQogIC5jb2wteGwtMTEgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogOTEuNjY2NjY2NjclOwogIH0KICAuY29sLXhsLTEyIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDEwMCU7CiAgfQogIC5vZmZzZXQteGwtMCB7CiAgICBtYXJnaW4tbGVmdDogMDsKICB9CiAgLm9mZnNldC14bC0xIHsKICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzJTsKICB9CiAgLm9mZnNldC14bC0yIHsKICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NyU7CiAgfQogIC5vZmZzZXQteGwtMyB7CiAgICBtYXJnaW4tbGVmdDogMjUlOwogIH0KICAub2Zmc2V0LXhsLTQgewogICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzJTsKICB9CiAgLm9mZnNldC14bC01IHsKICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NyU7CiAgfQogIC5vZmZzZXQteGwtNiB7CiAgICBtYXJnaW4tbGVmdDogNTAlOwogIH0KICAub2Zmc2V0LXhsLTcgewogICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzJTsKICB9CiAgLm9mZnNldC14bC04IHsKICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NyU7CiAgfQogIC5vZmZzZXQteGwtOSB7CiAgICBtYXJnaW4tbGVmdDogNzUlOwogIH0KICAub2Zmc2V0LXhsLTEwIHsKICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMyU7CiAgfQogIC5vZmZzZXQteGwtMTEgewogICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY3JTsKICB9CiAgLmcteGwtMCwKLmd4LXhsLTAgewogICAgLS1icy1ndXR0ZXIteDogMDsKICB9CiAgLmcteGwtMCwKLmd5LXhsLTAgewogICAgLS1icy1ndXR0ZXIteTogMDsKICB9CiAgLmcteGwtMSwKLmd4LXhsLTEgewogICAgLS1icy1ndXR0ZXIteDogMC4yNXJlbTsKICB9CiAgLmcteGwtMSwKLmd5LXhsLTEgewogICAgLS1icy1ndXR0ZXIteTogMC4yNXJlbTsKICB9CiAgLmcteGwtMiwKLmd4LXhsLTIgewogICAgLS1icy1ndXR0ZXIteDogMC41cmVtOwogIH0KICAuZy14bC0yLAouZ3kteGwtMiB7CiAgICAtLWJzLWd1dHRlci15OiAwLjVyZW07CiAgfQogIC5nLXhsLTMsCi5neC14bC0zIHsKICAgIC0tYnMtZ3V0dGVyLXg6IDFyZW07CiAgfQogIC5nLXhsLTMsCi5neS14bC0zIHsKICAgIC0tYnMtZ3V0dGVyLXk6IDFyZW07CiAgfQogIC5nLXhsLTQsCi5neC14bC00IHsKICAgIC0tYnMtZ3V0dGVyLXg6IDEuNXJlbTsKICB9CiAgLmcteGwtNCwKLmd5LXhsLTQgewogICAgLS1icy1ndXR0ZXIteTogMS41cmVtOwogIH0KICAuZy14bC01LAouZ3gteGwtNSB7CiAgICAtLWJzLWd1dHRlci14OiAzcmVtOwogIH0KICAuZy14bC01LAouZ3kteGwtNSB7CiAgICAtLWJzLWd1dHRlci15OiAzcmVtOwogIH0KfQpAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7CiAgLmNvbC14eGwgewogICAgZmxleDogMSAwIDAlOwogIH0KICAucm93LWNvbHMteHhsLWF1dG8gPiAqIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IGF1dG87CiAgfQogIC5yb3ctY29scy14eGwtMSA+ICogewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLnJvdy1jb2xzLXh4bC0yID4gKiB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiA1MCU7CiAgfQogIC5yb3ctY29scy14eGwtMyA+ICogewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7CiAgfQogIC5yb3ctY29scy14eGwtNCA+ICogewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogMjUlOwogIH0KICAucm93LWNvbHMteHhsLTUgPiAqIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDIwJTsKICB9CiAgLnJvdy1jb2xzLXh4bC02ID4gKiB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTsKICB9CiAgLmNvbC14eGwtYXV0byB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiBhdXRvOwogIH0KICAuY29sLXh4bC0xIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDguMzMzMzMzMzMlOwogIH0KICAuY29sLXh4bC0yIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDE2LjY2NjY2NjY3JTsKICB9CiAgLmNvbC14eGwtMyB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiAyNSU7CiAgfQogIC5jb2wteHhsLTQgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogMzMuMzMzMzMzMzMlOwogIH0KICAuY29sLXh4bC01IHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDQxLjY2NjY2NjY3JTsKICB9CiAgLmNvbC14eGwtNiB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiA1MCU7CiAgfQogIC5jb2wteHhsLTcgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogNTguMzMzMzMzMzMlOwogIH0KICAuY29sLXh4bC04IHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDY2LjY2NjY2NjY3JTsKICB9CiAgLmNvbC14eGwtOSB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiA3NSU7CiAgfQogIC5jb2wteHhsLTEwIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDgzLjMzMzMzMzMzJTsKICB9CiAgLmNvbC14eGwtMTEgewogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogOTEuNjY2NjY2NjclOwogIH0KICAuY29sLXh4bC0xMiB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHdpZHRoOiAxMDAlOwogIH0KICAub2Zmc2V0LXh4bC0wIHsKICAgIG1hcmdpbi1sZWZ0OiAwOwogIH0KICAub2Zmc2V0LXh4bC0xIHsKICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzJTsKICB9CiAgLm9mZnNldC14eGwtMiB7CiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjclOwogIH0KICAub2Zmc2V0LXh4bC0zIHsKICAgIG1hcmdpbi1sZWZ0OiAyNSU7CiAgfQogIC5vZmZzZXQteHhsLTQgewogICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzJTsKICB9CiAgLm9mZnNldC14eGwtNSB7CiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjclOwogIH0KICAub2Zmc2V0LXh4bC02IHsKICAgIG1hcmdpbi1sZWZ0OiA1MCU7CiAgfQogIC5vZmZzZXQteHhsLTcgewogICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzJTsKICB9CiAgLm9mZnNldC14eGwtOCB7CiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjclOwogIH0KICAub2Zmc2V0LXh4bC05IHsKICAgIG1hcmdpbi1sZWZ0OiA3NSU7CiAgfQogIC5vZmZzZXQteHhsLTEwIHsKICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMyU7CiAgfQogIC5vZmZzZXQteHhsLTExIHsKICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NyU7CiAgfQogIC5nLXh4bC0wLAouZ3gteHhsLTAgewogICAgLS1icy1ndXR0ZXIteDogMDsKICB9CiAgLmcteHhsLTAsCi5neS14eGwtMCB7CiAgICAtLWJzLWd1dHRlci15OiAwOwogIH0KICAuZy14eGwtMSwKLmd4LXh4bC0xIHsKICAgIC0tYnMtZ3V0dGVyLXg6IDAuMjVyZW07CiAgfQogIC5nLXh4bC0xLAouZ3kteHhsLTEgewogICAgLS1icy1ndXR0ZXIteTogMC4yNXJlbTsKICB9CiAgLmcteHhsLTIsCi5neC14eGwtMiB7CiAgICAtLWJzLWd1dHRlci14OiAwLjVyZW07CiAgfQogIC5nLXh4bC0yLAouZ3kteHhsLTIgewogICAgLS1icy1ndXR0ZXIteTogMC41cmVtOwogIH0KICAuZy14eGwtMywKLmd4LXh4bC0zIHsKICAgIC0tYnMtZ3V0dGVyLXg6IDFyZW07CiAgfQogIC5nLXh4bC0zLAouZ3kteHhsLTMgewogICAgLS1icy1ndXR0ZXIteTogMXJlbTsKICB9CiAgLmcteHhsLTQsCi5neC14eGwtNCB7CiAgICAtLWJzLWd1dHRlci14OiAxLjVyZW07CiAgfQogIC5nLXh4bC00LAouZ3kteHhsLTQgewogICAgLS1icy1ndXR0ZXIteTogMS41cmVtOwogIH0KICAuZy14eGwtNSwKLmd4LXh4bC01IHsKICAgIC0tYnMtZ3V0dGVyLXg6IDNyZW07CiAgfQogIC5nLXh4bC01LAouZ3kteHhsLTUgewogICAgLS1icy1ndXR0ZXIteTogM3JlbTsKICB9Cn0KLmQtaW5saW5lIHsKICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsKfQoKLmQtaW5saW5lLWJsb2NrIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsKfQoKLmQtYmxvY2sgewogIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7Cn0KCi5kLWdyaWQgewogIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDsKfQoKLmQtdGFibGUgewogIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7Cn0KCi5kLXRhYmxlLXJvdyB7CiAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7Cn0KCi5kLXRhYmxlLWNlbGwgewogIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsKfQoKLmQtZmxleCB7CiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50Owp9CgouZC1pbmxpbmUtZmxleCB7CiAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsKfQoKLmQtbm9uZSB7CiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Owp9CgouZmxleC1maWxsIHsKICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50Owp9CgouZmxleC1yb3cgewogIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsKfQoKLmZsZXgtY29sdW1uIHsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7Cn0KCi5mbGV4LXJvdy1yZXZlcnNlIHsKICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsKfQoKLmZsZXgtY29sdW1uLXJldmVyc2UgewogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50Owp9CgouZmxleC1ncm93LTAgewogIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50Owp9CgouZmxleC1ncm93LTEgewogIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50Owp9CgouZmxleC1zaHJpbmstMCB7CiAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsKfQoKLmZsZXgtc2hyaW5rLTEgewogIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7Cn0KCi5mbGV4LXdyYXAgewogIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50Owp9CgouZmxleC1ub3dyYXAgewogIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7Cn0KCi5mbGV4LXdyYXAtcmV2ZXJzZSB7CiAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsKfQoKLmp1c3RpZnktY29udGVudC1zdGFydCB7CiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7Cn0KCi5qdXN0aWZ5LWNvbnRlbnQtZW5kIHsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7Cn0KCi5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50Owp9CgouanVzdGlmeS1jb250ZW50LWJldHdlZW4gewogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50Owp9CgouanVzdGlmeS1jb250ZW50LWFyb3VuZCB7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsKfQoKLmp1c3RpZnktY29udGVudC1ldmVubHkgewogIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5ICFpbXBvcnRhbnQ7Cn0KCi5hbGlnbi1pdGVtcy1zdGFydCB7CiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKfQoKLmFsaWduLWl0ZW1zLWVuZCB7CiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7Cn0KCi5hbGlnbi1pdGVtcy1jZW50ZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKfQoKLmFsaWduLWl0ZW1zLWJhc2VsaW5lIHsKICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsKfQoKLmFsaWduLWl0ZW1zLXN0cmV0Y2ggewogIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7Cn0KCi5hbGlnbi1jb250ZW50LXN0YXJ0IHsKICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7Cn0KCi5hbGlnbi1jb250ZW50LWVuZCB7CiAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsKfQoKLmFsaWduLWNvbnRlbnQtY2VudGVyIHsKICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsKfQoKLmFsaWduLWNvbnRlbnQtYmV0d2VlbiB7CiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50Owp9CgouYWxpZ24tY29udGVudC1hcm91bmQgewogIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50Owp9CgouYWxpZ24tY29udGVudC1zdHJldGNoIHsKICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7Cn0KCi5hbGlnbi1zZWxmLWF1dG8gewogIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsKfQoKLmFsaWduLXNlbGYtc3RhcnQgewogIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKfQoKLmFsaWduLXNlbGYtZW5kIHsKICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50Owp9CgouYWxpZ24tc2VsZi1jZW50ZXIgewogIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50Owp9CgouYWxpZ24tc2VsZi1iYXNlbGluZSB7CiAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsKfQoKLmFsaWduLXNlbGYtc3RyZXRjaCB7CiAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50Owp9Cgoub3JkZXItZmlyc3QgewogIG9yZGVyOiAtMSAhaW1wb3J0YW50Owp9Cgoub3JkZXItMCB7CiAgb3JkZXI6IDAgIWltcG9ydGFudDsKfQoKLm9yZGVyLTEgewogIG9yZGVyOiAxICFpbXBvcnRhbnQ7Cn0KCi5vcmRlci0yIHsKICBvcmRlcjogMiAhaW1wb3J0YW50Owp9Cgoub3JkZXItMyB7CiAgb3JkZXI6IDMgIWltcG9ydGFudDsKfQoKLm9yZGVyLTQgewogIG9yZGVyOiA0ICFpbXBvcnRhbnQ7Cn0KCi5vcmRlci01IHsKICBvcmRlcjogNSAhaW1wb3J0YW50Owp9Cgoub3JkZXItbGFzdCB7CiAgb3JkZXI6IDYgIWltcG9ydGFudDsKfQoKLm0tMCB7CiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7Cn0KCi5tLTEgewogIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50Owp9CgoubS0yIHsKICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50Owp9CgoubS0zIHsKICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDsKfQoKLm0tNCB7CiAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDsKfQoKLm0tNSB7CiAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7Cn0KCi5tLWF1dG8gewogIG1hcmdpbjogYXV0byAhaW1wb3J0YW50Owp9CgoubXgtMCB7CiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsKfQoKLm14LTEgewogIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OwogIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7Cn0KCi5teC0yIHsKICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OwogIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsKfQoKLm14LTMgewogIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OwogIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7Cn0KCi5teC00IHsKICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OwogIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsKfQoKLm14LTUgewogIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50OwogIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7Cn0KCi5teC1hdXRvIHsKICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50Owp9CgoubXktMCB7CiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OwogIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsKfQoKLm15LTEgewogIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsKICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7Cn0KCi5teS0yIHsKICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsKICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsKfQoKLm15LTMgewogIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsKICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7Cn0KCi5teS00IHsKICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsKICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsKfQoKLm15LTUgewogIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsKICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7Cn0KCi5teS1hdXRvIHsKICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7CiAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50Owp9CgoubXQtMCB7CiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50Owp9CgoubXQtMSB7CiAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50Owp9CgoubXQtMiB7CiAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7Cn0KCi5tdC0zIHsKICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7Cn0KCi5tdC00IHsKICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsKfQoKLm10LTUgewogIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsKfQoKLm10LWF1dG8gewogIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsKfQoKLm1lLTAgewogIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50Owp9CgoubWUtMSB7CiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7Cn0KCi5tZS0yIHsKICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50Owp9CgoubWUtMyB7CiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7Cn0KCi5tZS00IHsKICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50Owp9CgoubWUtNSB7CiAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7Cn0KCi5tZS1hdXRvIHsKICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsKfQoKLm1iLTAgewogIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsKfQoKLm1iLTEgewogIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsKfQoKLm1iLTIgewogIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50Owp9CgoubWItMyB7CiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50Owp9CgoubWItNCB7CiAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7Cn0KCi5tYi01IHsKICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7Cn0KCi5tYi1hdXRvIHsKICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7Cn0KCi5tcy0wIHsKICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50Owp9CgoubXMtMSB7CiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsKfQoKLm1zLTIgewogIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsKfQoKLm1zLTMgewogIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7Cn0KCi5tcy00IHsKICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7Cn0KCi5tcy01IHsKICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50Owp9CgoubXMtYXV0byB7CiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsKfQoKLnAtMCB7CiAgcGFkZGluZzogMCAhaW1wb3J0YW50Owp9CgoucC0xIHsKICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7Cn0KCi5wLTIgewogIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50Owp9CgoucC0zIHsKICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7Cn0KCi5wLTQgewogIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50Owp9CgoucC01IHsKICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7Cn0KCi5weC0wIHsKICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7Cn0KCi5weC0xIHsKICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7Cn0KCi5weC0yIHsKICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsKICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50Owp9CgoucHgtMyB7CiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OwogIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50Owp9CgoucHgtNCB7CiAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7CiAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsKfQoKLnB4LTUgewogIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsKICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsKfQoKLnB5LTAgewogIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7CiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsKfQoKLnB5LTEgewogIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsKfQoKLnB5LTIgewogIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsKICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7Cn0KCi5weS0zIHsKICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OwogIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7Cn0KCi5weS00IHsKICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7CiAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50Owp9CgoucHktNSB7CiAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsKICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50Owp9CgoucHQtMCB7CiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsKfQoKLnB0LTEgewogIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7Cn0KCi5wdC0yIHsKICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7Cn0KCi5wdC0zIHsKICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50Owp9CgoucHQtNCB7CiAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50Owp9CgoucHQtNSB7CiAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsKfQoKLnBlLTAgewogIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsKfQoKLnBlLTEgewogIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsKfQoKLnBlLTIgewogIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50Owp9CgoucGUtMyB7CiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50Owp9CgoucGUtNCB7CiAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7Cn0KCi5wZS01IHsKICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7Cn0KCi5wYi0wIHsKICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50Owp9CgoucGItMSB7CiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsKfQoKLnBiLTIgewogIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsKfQoKLnBiLTMgewogIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7Cn0KCi5wYi00IHsKICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7Cn0KCi5wYi01IHsKICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50Owp9CgoucHMtMCB7CiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7Cn0KCi5wcy0xIHsKICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsKfQoKLnBzLTIgewogIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7Cn0KCi5wcy0zIHsKICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsKfQoKLnBzLTQgewogIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7Cn0KCi5wcy01IHsKICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsKfQoKQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7CiAgLmQtc20taW5saW5lIHsKICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OwogIH0KICAuZC1zbS1pbmxpbmUtYmxvY2sgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7CiAgfQogIC5kLXNtLWJsb2NrIHsKICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CiAgfQogIC5kLXNtLWdyaWQgewogICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50OwogIH0KICAuZC1zbS10YWJsZSB7CiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OwogIH0KICAuZC1zbS10YWJsZS1yb3cgewogICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7CiAgfQogIC5kLXNtLXRhYmxlLWNlbGwgewogICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OwogIH0KICAuZC1zbS1mbGV4IHsKICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICB9CiAgLmQtc20taW5saW5lLWZsZXggewogICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsKICB9CiAgLmQtc20tbm9uZSB7CiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXNtLWZpbGwgewogICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsKICB9CiAgLmZsZXgtc20tcm93IHsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsKICB9CiAgLmZsZXgtc20tY29sdW1uIHsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsKICB9CiAgLmZsZXgtc20tcm93LXJldmVyc2UgewogICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXNtLWNvbHVtbi1yZXZlcnNlIHsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OwogIH0KICAuZmxleC1zbS1ncm93LTAgewogICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXNtLWdyb3ctMSB7CiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDsKICB9CiAgLmZsZXgtc20tc2hyaW5rLTAgewogICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsKICB9CiAgLmZsZXgtc20tc2hyaW5rLTEgewogICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsKICB9CiAgLmZsZXgtc20td3JhcCB7CiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsKICB9CiAgLmZsZXgtc20tbm93cmFwIHsKICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXNtLXdyYXAtcmV2ZXJzZSB7CiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OwogIH0KICAuanVzdGlmeS1jb250ZW50LXNtLXN0YXJ0IHsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OwogIH0KICAuanVzdGlmeS1jb250ZW50LXNtLWVuZCB7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7CiAgfQogIC5qdXN0aWZ5LWNvbnRlbnQtc20tY2VudGVyIHsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7CiAgfQogIC5qdXN0aWZ5LWNvbnRlbnQtc20tYmV0d2VlbiB7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsKICB9CiAgLmp1c3RpZnktY29udGVudC1zbS1hcm91bmQgewogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsKICB9CiAgLmp1c3RpZnktY29udGVudC1zbS1ldmVubHkgewogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHkgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWl0ZW1zLXNtLXN0YXJ0IHsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1pdGVtcy1zbS1lbmQgewogICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1pdGVtcy1zbS1jZW50ZXIgewogICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24taXRlbXMtc20tYmFzZWxpbmUgewogICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1pdGVtcy1zbS1zdHJldGNoIHsKICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1jb250ZW50LXNtLXN0YXJ0IHsKICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWNvbnRlbnQtc20tZW5kIHsKICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1jb250ZW50LXNtLWNlbnRlciB7CiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWNvbnRlbnQtc20tYmV0d2VlbiB7CiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1jb250ZW50LXNtLWFyb3VuZCB7CiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWNvbnRlbnQtc20tc3RyZXRjaCB7CiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1zZWxmLXNtLWF1dG8gewogICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tc2VsZi1zbS1zdGFydCB7CiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1zZWxmLXNtLWVuZCB7CiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tc2VsZi1zbS1jZW50ZXIgewogICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1zZWxmLXNtLWJhc2VsaW5lIHsKICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1zZWxmLXNtLXN0cmV0Y2ggewogICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OwogIH0KICAub3JkZXItc20tZmlyc3QgewogICAgb3JkZXI6IC0xICFpbXBvcnRhbnQ7CiAgfQogIC5vcmRlci1zbS0wIHsKICAgIG9yZGVyOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5vcmRlci1zbS0xIHsKICAgIG9yZGVyOiAxICFpbXBvcnRhbnQ7CiAgfQogIC5vcmRlci1zbS0yIHsKICAgIG9yZGVyOiAyICFpbXBvcnRhbnQ7CiAgfQogIC5vcmRlci1zbS0zIHsKICAgIG9yZGVyOiAzICFpbXBvcnRhbnQ7CiAgfQogIC5vcmRlci1zbS00IHsKICAgIG9yZGVyOiA0ICFpbXBvcnRhbnQ7CiAgfQogIC5vcmRlci1zbS01IHsKICAgIG9yZGVyOiA1ICFpbXBvcnRhbnQ7CiAgfQogIC5vcmRlci1zbS1sYXN0IHsKICAgIG9yZGVyOiA2ICFpbXBvcnRhbnQ7CiAgfQogIC5tLXNtLTAgewogICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5tLXNtLTEgewogICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tLXNtLTIgewogICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm0tc20tMyB7CiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLm0tc20tNCB7CiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubS1zbS01IHsKICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OwogIH0KICAubS1zbS1hdXRvIHsKICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50OwogIH0KICAubXgtc20tMCB7CiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsKICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7CiAgfQogIC5teC1zbS0xIHsKICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OwogICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm14LXNtLTIgewogICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsKICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm14LXNtLTMgewogICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAubXgtc20tNCB7CiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OwogICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXgtc20tNSB7CiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsKICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5teC1zbS1hdXRvIHsKICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLm15LXNtLTAgewogICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OwogICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OwogIH0KICAubXktc20tMSB7CiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5teS1zbS0yIHsKICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OwogICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5teS1zbS0zIHsKICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsKICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLm15LXNtLTQgewogICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm15LXNtLTUgewogICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OwogICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OwogIH0KICAubXktc20tYXV0byB7CiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5tdC1zbS0wIHsKICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsKICB9CiAgLm10LXNtLTEgewogICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXQtc20tMiB7CiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm10LXNtLTMgewogICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAubXQtc20tNCB7CiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm10LXNtLTUgewogICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAubXQtc20tYXV0byB7CiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5tZS1zbS0wIHsKICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OwogIH0KICAubWUtc20tMSB7CiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1lLXNtLTIgewogICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1lLXNtLTMgewogICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tZS1zbS00IHsKICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tZS1zbS01IHsKICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAubWUtc20tYXV0byB7CiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLm1iLXNtLTAgewogICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OwogIH0KICAubWItc20tMSB7CiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tYi1zbS0yIHsKICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubWItc20tMyB7CiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tYi1zbS00IHsKICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubWItc20tNSB7CiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tYi1zbS1hdXRvIHsKICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLm1zLXNtLTAgewogICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsKICB9CiAgLm1zLXNtLTEgewogICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1zLXNtLTIgewogICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXMtc20tMyB7CiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAubXMtc20tNCB7CiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tcy1zbS01IHsKICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tcy1zbS1hdXRvIHsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5wLXNtLTAgewogICAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogIH0KICAucC1zbS0xIHsKICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnAtc20tMiB7CiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnAtc20tMyB7CiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wLXNtLTQgewogICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wLXNtLTUgewogICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50OwogIH0KICAucHgtc20tMCB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsKICB9CiAgLnB4LXNtLTEgewogICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OwogICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5weC1zbS0yIHsKICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OwogICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnB4LXNtLTMgewogICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OwogICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5weC1zbS00IHsKICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OwogICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnB4LXNtLTUgewogICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OwogICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5weS1zbS0wIHsKICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OwogIH0KICAucHktc20tMSB7CiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OwogICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnB5LXNtLTIgewogICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OwogICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHktc20tMyB7CiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OwogICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLnB5LXNtLTQgewogICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50OwogICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHktc20tNSB7CiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OwogICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLnB0LXNtLTAgewogICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsKICB9CiAgLnB0LXNtLTEgewogICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnB0LXNtLTIgewogICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHQtc20tMyB7CiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucHQtc20tNCB7CiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wdC1zbS01IHsKICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wZS1zbS0wIHsKICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsKICB9CiAgLnBlLXNtLTEgewogICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAucGUtc20tMiB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnBlLXNtLTMgewogICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucGUtc20tNCB7CiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnBlLXNtLTUgewogICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAucGItc20tMCB7CiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OwogIH0KICAucGItc20tMSB7CiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAucGItc20tMiB7CiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wYi1zbS0zIHsKICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wYi1zbS00IHsKICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnBiLXNtLTUgewogICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLnBzLXNtLTAgewogICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7CiAgfQogIC5wcy1zbS0xIHsKICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHMtc20tMiB7CiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHMtc20tMyB7CiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLnBzLXNtLTQgewogICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnBzLXNtLTUgewogICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7CiAgfQp9CkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogIC5kLW1kLWlubGluZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsKICB9CiAgLmQtbWQtaW5saW5lLWJsb2NrIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OwogIH0KICAuZC1tZC1ibG9jayB7CiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogIH0KICAuZC1tZC1ncmlkIHsKICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDsKICB9CiAgLmQtbWQtdGFibGUgewogICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsKICB9CiAgLmQtbWQtdGFibGUtcm93IHsKICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OwogIH0KICAuZC1tZC10YWJsZS1jZWxsIHsKICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsKICB9CiAgLmQtbWQtZmxleCB7CiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgfQogIC5kLW1kLWlubGluZS1mbGV4IHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7CiAgfQogIC5kLW1kLW5vbmUgewogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogIH0KICAuZmxleC1tZC1maWxsIHsKICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LW1kLXJvdyB7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LW1kLWNvbHVtbiB7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LW1kLXJvdy1yZXZlcnNlIHsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OwogIH0KICAuZmxleC1tZC1jb2x1bW4tcmV2ZXJzZSB7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsKICB9CiAgLmZsZXgtbWQtZ3Jvdy0wIHsKICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OwogIH0KICAuZmxleC1tZC1ncm93LTEgewogICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LW1kLXNocmluay0wIHsKICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LW1kLXNocmluay0xIHsKICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LW1kLXdyYXAgewogICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LW1kLW5vd3JhcCB7CiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OwogIH0KICAuZmxleC1tZC13cmFwLXJldmVyc2UgewogICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsKICB9CiAgLmp1c3RpZnktY29udGVudC1tZC1zdGFydCB7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICB9CiAgLmp1c3RpZnktY29udGVudC1tZC1lbmQgewogICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OwogIH0KICAuanVzdGlmeS1jb250ZW50LW1kLWNlbnRlciB7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogIH0KICAuanVzdGlmeS1jb250ZW50LW1kLWJldHdlZW4gewogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7CiAgfQogIC5qdXN0aWZ5LWNvbnRlbnQtbWQtYXJvdW5kIHsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7CiAgfQogIC5qdXN0aWZ5LWNvbnRlbnQtbWQtZXZlbmx5IHsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5ICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1pdGVtcy1tZC1zdGFydCB7CiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24taXRlbXMtbWQtZW5kIHsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24taXRlbXMtbWQtY2VudGVyIHsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWl0ZW1zLW1kLWJhc2VsaW5lIHsKICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24taXRlbXMtbWQtc3RyZXRjaCB7CiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tY29udGVudC1tZC1zdGFydCB7CiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1jb250ZW50LW1kLWVuZCB7CiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tY29udGVudC1tZC1jZW50ZXIgewogICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1jb250ZW50LW1kLWJldHdlZW4gewogICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tY29udGVudC1tZC1hcm91bmQgewogICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1jb250ZW50LW1kLXN0cmV0Y2ggewogICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tc2VsZi1tZC1hdXRvIHsKICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLmFsaWduLXNlbGYtbWQtc3RhcnQgewogICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tc2VsZi1tZC1lbmQgewogICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLXNlbGYtbWQtY2VudGVyIHsKICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tc2VsZi1tZC1iYXNlbGluZSB7CiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tc2VsZi1tZC1zdHJldGNoIHsKICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsKICB9CiAgLm9yZGVyLW1kLWZpcnN0IHsKICAgIG9yZGVyOiAtMSAhaW1wb3J0YW50OwogIH0KICAub3JkZXItbWQtMCB7CiAgICBvcmRlcjogMCAhaW1wb3J0YW50OwogIH0KICAub3JkZXItbWQtMSB7CiAgICBvcmRlcjogMSAhaW1wb3J0YW50OwogIH0KICAub3JkZXItbWQtMiB7CiAgICBvcmRlcjogMiAhaW1wb3J0YW50OwogIH0KICAub3JkZXItbWQtMyB7CiAgICBvcmRlcjogMyAhaW1wb3J0YW50OwogIH0KICAub3JkZXItbWQtNCB7CiAgICBvcmRlcjogNCAhaW1wb3J0YW50OwogIH0KICAub3JkZXItbWQtNSB7CiAgICBvcmRlcjogNSAhaW1wb3J0YW50OwogIH0KICAub3JkZXItbWQtbGFzdCB7CiAgICBvcmRlcjogNiAhaW1wb3J0YW50OwogIH0KICAubS1tZC0wIHsKICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogIH0KICAubS1tZC0xIHsKICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubS1tZC0yIHsKICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tLW1kLTMgewogICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tLW1kLTQgewogICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm0tbWQtNSB7CiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLm0tbWQtYXV0byB7CiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLm14LW1kLTAgewogICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OwogIH0KICAubXgtbWQtMSB7CiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsKICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5teC1tZC0yIHsKICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5teC1tZC0zIHsKICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OwogICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLm14LW1kLTQgewogICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsKICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm14LW1kLTUgewogICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAubXgtbWQtYXV0byB7CiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5teS1tZC0wIHsKICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsKICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsKICB9CiAgLm15LW1kLTEgewogICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OwogICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXktbWQtMiB7CiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsKICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXktbWQtMyB7CiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5teS1tZC00IHsKICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50OwogICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5teS1tZC01IHsKICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsKICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLm15LW1kLWF1dG8gewogICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OwogICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OwogIH0KICAubXQtbWQtMCB7CiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5tdC1tZC0xIHsKICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm10LW1kLTIgewogICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tdC1tZC0zIHsKICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLm10LW1kLTQgewogICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tdC1tZC01IHsKICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLm10LW1kLWF1dG8gewogICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OwogIH0KICAubWUtbWQtMCB7CiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsKICB9CiAgLm1lLW1kLTEgewogICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tZS1tZC0yIHsKICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tZS1tZC0zIHsKICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAubWUtbWQtNCB7CiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubWUtbWQtNSB7CiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLm1lLW1kLWF1dG8gewogICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5tYi1tZC0wIHsKICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsKICB9CiAgLm1iLW1kLTEgewogICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubWItbWQtMiB7CiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1iLW1kLTMgewogICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OwogIH0KICAubWItbWQtNCB7CiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1iLW1kLTUgewogICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OwogIH0KICAubWItbWQtYXV0byB7CiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5tcy1tZC0wIHsKICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7CiAgfQogIC5tcy1tZC0xIHsKICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tcy1tZC0yIHsKICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1zLW1kLTMgewogICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLm1zLW1kLTQgewogICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXMtbWQtNSB7CiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAubXMtbWQtYXV0byB7CiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OwogIH0KICAucC1tZC0wIHsKICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKICB9CiAgLnAtbWQtMSB7CiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wLW1kLTIgewogICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wLW1kLTMgewogICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucC1tZC00IHsKICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucC1tZC01IHsKICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLnB4LW1kLTAgewogICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OwogICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7CiAgfQogIC5weC1tZC0xIHsKICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHgtbWQtMiB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5weC1tZC0zIHsKICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucHgtbWQtNCB7CiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5weC1tZC01IHsKICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAucHktbWQtMCB7CiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OwogICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsKICB9CiAgLnB5LW1kLTEgewogICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5weS1tZC0yIHsKICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnB5LW1kLTMgewogICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5weS1tZC00IHsKICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnB5LW1kLTUgewogICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wdC1tZC0wIHsKICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5wdC1tZC0xIHsKICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wdC1tZC0yIHsKICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnB0LW1kLTMgewogICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLnB0LW1kLTQgewogICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHQtbWQtNSB7CiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAucGUtbWQtMCB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgfQogIC5wZS1tZC0xIHsKICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnBlLW1kLTIgewogICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wZS1tZC0zIHsKICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLnBlLW1kLTQgewogICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wZS1tZC01IHsKICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLnBiLW1kLTAgewogICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsKICB9CiAgLnBiLW1kLTEgewogICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnBiLW1kLTIgewogICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucGItbWQtMyB7CiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucGItbWQtNCB7CiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wYi1tZC01IHsKICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wcy1tZC0wIHsKICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OwogIH0KICAucHMtbWQtMSB7CiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnBzLW1kLTIgewogICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnBzLW1kLTMgewogICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wcy1tZC00IHsKICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wcy1tZC01IHsKICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OwogIH0KfQpAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsKICAuZC1sZy1pbmxpbmUgewogICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7CiAgfQogIC5kLWxnLWlubGluZS1ibG9jayB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsKICB9CiAgLmQtbGctYmxvY2sgewogICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKICB9CiAgLmQtbGctZ3JpZCB7CiAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7CiAgfQogIC5kLWxnLXRhYmxlIHsKICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7CiAgfQogIC5kLWxnLXRhYmxlLXJvdyB7CiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsKICB9CiAgLmQtbGctdGFibGUtY2VsbCB7CiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7CiAgfQogIC5kLWxnLWZsZXggewogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogIH0KICAuZC1sZy1pbmxpbmUtZmxleCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50OwogIH0KICAuZC1sZy1ub25lIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICB9CiAgLmZsZXgtbGctZmlsbCB7CiAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OwogIH0KICAuZmxleC1sZy1yb3cgewogICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OwogIH0KICAuZmxleC1sZy1jb2x1bW4gewogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OwogIH0KICAuZmxleC1sZy1yb3ctcmV2ZXJzZSB7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsKICB9CiAgLmZsZXgtbGctY29sdW1uLXJldmVyc2UgewogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LWxnLWdyb3ctMCB7CiAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsKICB9CiAgLmZsZXgtbGctZ3Jvdy0xIHsKICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OwogIH0KICAuZmxleC1sZy1zaHJpbmstMCB7CiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OwogIH0KICAuZmxleC1sZy1zaHJpbmstMSB7CiAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50OwogIH0KICAuZmxleC1sZy13cmFwIHsKICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OwogIH0KICAuZmxleC1sZy1ub3dyYXAgewogICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsKICB9CiAgLmZsZXgtbGctd3JhcC1yZXZlcnNlIHsKICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7CiAgfQogIC5qdXN0aWZ5LWNvbnRlbnQtbGctc3RhcnQgewogICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgfQogIC5qdXN0aWZ5LWNvbnRlbnQtbGctZW5kIHsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsKICB9CiAgLmp1c3RpZnktY29udGVudC1sZy1jZW50ZXIgewogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsKICB9CiAgLmp1c3RpZnktY29udGVudC1sZy1iZXR3ZWVuIHsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OwogIH0KICAuanVzdGlmeS1jb250ZW50LWxnLWFyb3VuZCB7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OwogIH0KICAuanVzdGlmeS1jb250ZW50LWxnLWV2ZW5seSB7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seSAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24taXRlbXMtbGctc3RhcnQgewogICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWl0ZW1zLWxnLWVuZCB7CiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWl0ZW1zLWxnLWNlbnRlciB7CiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1pdGVtcy1sZy1iYXNlbGluZSB7CiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWl0ZW1zLWxnLXN0cmV0Y2ggewogICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWNvbnRlbnQtbGctc3RhcnQgewogICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tY29udGVudC1sZy1lbmQgewogICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWNvbnRlbnQtbGctY2VudGVyIHsKICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tY29udGVudC1sZy1iZXR3ZWVuIHsKICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWNvbnRlbnQtbGctYXJvdW5kIHsKICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tY29udGVudC1sZy1zdHJldGNoIHsKICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsKICB9CiAgLmFsaWduLXNlbGYtbGctYXV0byB7CiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1zZWxmLWxnLXN0YXJ0IHsKICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLXNlbGYtbGctZW5kIHsKICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1zZWxmLWxnLWNlbnRlciB7CiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLXNlbGYtbGctYmFzZWxpbmUgewogICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLXNlbGYtbGctc3RyZXRjaCB7CiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgfQogIC5vcmRlci1sZy1maXJzdCB7CiAgICBvcmRlcjogLTEgIWltcG9ydGFudDsKICB9CiAgLm9yZGVyLWxnLTAgewogICAgb3JkZXI6IDAgIWltcG9ydGFudDsKICB9CiAgLm9yZGVyLWxnLTEgewogICAgb3JkZXI6IDEgIWltcG9ydGFudDsKICB9CiAgLm9yZGVyLWxnLTIgewogICAgb3JkZXI6IDIgIWltcG9ydGFudDsKICB9CiAgLm9yZGVyLWxnLTMgewogICAgb3JkZXI6IDMgIWltcG9ydGFudDsKICB9CiAgLm9yZGVyLWxnLTQgewogICAgb3JkZXI6IDQgIWltcG9ydGFudDsKICB9CiAgLm9yZGVyLWxnLTUgewogICAgb3JkZXI6IDUgIWltcG9ydGFudDsKICB9CiAgLm9yZGVyLWxnLWxhc3QgewogICAgb3JkZXI6IDYgIWltcG9ydGFudDsKICB9CiAgLm0tbGctMCB7CiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsKICB9CiAgLm0tbGctMSB7CiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm0tbGctMiB7CiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubS1sZy0zIHsKICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50OwogIH0KICAubS1sZy00IHsKICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tLWxnLTUgewogICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tLWxnLWF1dG8gewogICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5teC1sZy0wIHsKICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OwogICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsKICB9CiAgLm14LWxnLTEgewogICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXgtbGctMiB7CiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OwogICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXgtbGctMyB7CiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsKICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5teC1sZy00IHsKICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5teC1sZy01IHsKICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50OwogICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLm14LWxnLWF1dG8gewogICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OwogIH0KICAubXktbGctMCB7CiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5teS1sZy0xIHsKICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsKICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm15LWxnLTIgewogICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm15LWxnLTMgewogICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OwogICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OwogIH0KICAubXktbGctNCB7CiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsKICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXktbGctNSB7CiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5teS1sZy1hdXRvIHsKICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsKICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLm10LWxnLTAgewogICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OwogIH0KICAubXQtbGctMSB7CiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tdC1sZy0yIHsKICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXQtbGctMyB7CiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tdC1sZy00IHsKICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXQtbGctNSB7CiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tdC1sZy1hdXRvIHsKICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLm1lLWxnLTAgewogICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgfQogIC5tZS1sZy0xIHsKICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubWUtbGctMiB7CiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubWUtbGctMyB7CiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLm1lLWxnLTQgewogICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1lLWxnLTUgewogICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tZS1sZy1hdXRvIHsKICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OwogIH0KICAubWItbGctMCB7CiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5tYi1sZy0xIHsKICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1iLWxnLTIgewogICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tYi1sZy0zIHsKICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLm1iLWxnLTQgewogICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tYi1sZy01IHsKICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLm1iLWxnLWF1dG8gewogICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OwogIH0KICAubXMtbGctMCB7CiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OwogIH0KICAubXMtbGctMSB7CiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXMtbGctMiB7CiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tcy1sZy0zIHsKICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tcy1sZy00IHsKICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1zLWxnLTUgewogICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLm1zLWxnLWF1dG8gewogICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLnAtbGctMCB7CiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5wLWxnLTEgewogICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAucC1sZy0yIHsKICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucC1sZy0zIHsKICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLnAtbGctNCB7CiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnAtbGctNSB7CiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5weC1sZy0wIHsKICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsKICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OwogIH0KICAucHgtbGctMSB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnB4LWxnLTIgewogICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHgtbGctMyB7CiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLnB4LWxnLTQgewogICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHgtbGctNSB7CiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLnB5LWxnLTAgewogICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsKICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5weS1sZy0xIHsKICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHktbGctMiB7CiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5weS1sZy0zIHsKICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucHktbGctNCB7CiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5weS1sZy01IHsKICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OwogIH0KICAucHQtbGctMCB7CiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OwogIH0KICAucHQtbGctMSB7CiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHQtbGctMiB7CiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wdC1sZy0zIHsKICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wdC1sZy00IHsKICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnB0LWxnLTUgewogICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLnBlLWxnLTAgewogICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OwogIH0KICAucGUtbGctMSB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wZS1sZy0yIHsKICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucGUtbGctMyB7CiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wZS1sZy00IHsKICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucGUtbGctNSB7CiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wYi1sZy0wIHsKICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5wYi1sZy0xIHsKICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wYi1sZy0yIHsKICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnBiLWxnLTMgewogICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLnBiLWxnLTQgewogICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucGItbGctNSB7CiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OwogIH0KICAucHMtbGctMCB7CiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsKICB9CiAgLnBzLWxnLTEgewogICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wcy1sZy0yIHsKICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wcy1sZy0zIHsKICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucHMtbGctNCB7CiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHMtbGctNSB7CiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsKICB9Cn0KQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgewogIC5kLXhsLWlubGluZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsKICB9CiAgLmQteGwtaW5saW5lLWJsb2NrIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OwogIH0KICAuZC14bC1ibG9jayB7CiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogIH0KICAuZC14bC1ncmlkIHsKICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDsKICB9CiAgLmQteGwtdGFibGUgewogICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsKICB9CiAgLmQteGwtdGFibGUtcm93IHsKICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OwogIH0KICAuZC14bC10YWJsZS1jZWxsIHsKICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsKICB9CiAgLmQteGwtZmxleCB7CiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7CiAgfQogIC5kLXhsLWlubGluZS1mbGV4IHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7CiAgfQogIC5kLXhsLW5vbmUgewogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogIH0KICAuZmxleC14bC1maWxsIHsKICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXhsLXJvdyB7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXhsLWNvbHVtbiB7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXhsLXJvdy1yZXZlcnNlIHsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OwogIH0KICAuZmxleC14bC1jb2x1bW4tcmV2ZXJzZSB7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsKICB9CiAgLmZsZXgteGwtZ3Jvdy0wIHsKICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OwogIH0KICAuZmxleC14bC1ncm93LTEgewogICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXhsLXNocmluay0wIHsKICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXhsLXNocmluay0xIHsKICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXhsLXdyYXAgewogICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXhsLW5vd3JhcCB7CiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OwogIH0KICAuZmxleC14bC13cmFwLXJldmVyc2UgewogICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsKICB9CiAgLmp1c3RpZnktY29udGVudC14bC1zdGFydCB7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICB9CiAgLmp1c3RpZnktY29udGVudC14bC1lbmQgewogICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OwogIH0KICAuanVzdGlmeS1jb250ZW50LXhsLWNlbnRlciB7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogIH0KICAuanVzdGlmeS1jb250ZW50LXhsLWJldHdlZW4gewogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7CiAgfQogIC5qdXN0aWZ5LWNvbnRlbnQteGwtYXJvdW5kIHsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7CiAgfQogIC5qdXN0aWZ5LWNvbnRlbnQteGwtZXZlbmx5IHsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5ICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1pdGVtcy14bC1zdGFydCB7CiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24taXRlbXMteGwtZW5kIHsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24taXRlbXMteGwtY2VudGVyIHsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWl0ZW1zLXhsLWJhc2VsaW5lIHsKICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24taXRlbXMteGwtc3RyZXRjaCB7CiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tY29udGVudC14bC1zdGFydCB7CiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1jb250ZW50LXhsLWVuZCB7CiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tY29udGVudC14bC1jZW50ZXIgewogICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1jb250ZW50LXhsLWJldHdlZW4gewogICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tY29udGVudC14bC1hcm91bmQgewogICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1jb250ZW50LXhsLXN0cmV0Y2ggewogICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tc2VsZi14bC1hdXRvIHsKICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLmFsaWduLXNlbGYteGwtc3RhcnQgewogICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tc2VsZi14bC1lbmQgewogICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLXNlbGYteGwtY2VudGVyIHsKICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tc2VsZi14bC1iYXNlbGluZSB7CiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tc2VsZi14bC1zdHJldGNoIHsKICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsKICB9CiAgLm9yZGVyLXhsLWZpcnN0IHsKICAgIG9yZGVyOiAtMSAhaW1wb3J0YW50OwogIH0KICAub3JkZXIteGwtMCB7CiAgICBvcmRlcjogMCAhaW1wb3J0YW50OwogIH0KICAub3JkZXIteGwtMSB7CiAgICBvcmRlcjogMSAhaW1wb3J0YW50OwogIH0KICAub3JkZXIteGwtMiB7CiAgICBvcmRlcjogMiAhaW1wb3J0YW50OwogIH0KICAub3JkZXIteGwtMyB7CiAgICBvcmRlcjogMyAhaW1wb3J0YW50OwogIH0KICAub3JkZXIteGwtNCB7CiAgICBvcmRlcjogNCAhaW1wb3J0YW50OwogIH0KICAub3JkZXIteGwtNSB7CiAgICBvcmRlcjogNSAhaW1wb3J0YW50OwogIH0KICAub3JkZXIteGwtbGFzdCB7CiAgICBvcmRlcjogNiAhaW1wb3J0YW50OwogIH0KICAubS14bC0wIHsKICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogIH0KICAubS14bC0xIHsKICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubS14bC0yIHsKICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tLXhsLTMgewogICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tLXhsLTQgewogICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm0teGwtNSB7CiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLm0teGwtYXV0byB7CiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLm14LXhsLTAgewogICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OwogIH0KICAubXgteGwtMSB7CiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsKICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5teC14bC0yIHsKICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5teC14bC0zIHsKICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OwogICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLm14LXhsLTQgewogICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsKICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm14LXhsLTUgewogICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAubXgteGwtYXV0byB7CiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5teS14bC0wIHsKICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsKICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsKICB9CiAgLm15LXhsLTEgewogICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OwogICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXkteGwtMiB7CiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsKICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXkteGwtMyB7CiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5teS14bC00IHsKICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50OwogICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5teS14bC01IHsKICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsKICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLm15LXhsLWF1dG8gewogICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OwogICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OwogIH0KICAubXQteGwtMCB7CiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5tdC14bC0xIHsKICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm10LXhsLTIgewogICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tdC14bC0zIHsKICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLm10LXhsLTQgewogICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tdC14bC01IHsKICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLm10LXhsLWF1dG8gewogICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OwogIH0KICAubWUteGwtMCB7CiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsKICB9CiAgLm1lLXhsLTEgewogICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tZS14bC0yIHsKICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tZS14bC0zIHsKICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAubWUteGwtNCB7CiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubWUteGwtNSB7CiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLm1lLXhsLWF1dG8gewogICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5tYi14bC0wIHsKICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsKICB9CiAgLm1iLXhsLTEgewogICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubWIteGwtMiB7CiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1iLXhsLTMgewogICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OwogIH0KICAubWIteGwtNCB7CiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1iLXhsLTUgewogICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OwogIH0KICAubWIteGwtYXV0byB7CiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5tcy14bC0wIHsKICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7CiAgfQogIC5tcy14bC0xIHsKICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tcy14bC0yIHsKICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1zLXhsLTMgewogICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLm1zLXhsLTQgewogICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXMteGwtNSB7CiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAubXMteGwtYXV0byB7CiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OwogIH0KICAucC14bC0wIHsKICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKICB9CiAgLnAteGwtMSB7CiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wLXhsLTIgewogICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wLXhsLTMgewogICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucC14bC00IHsKICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucC14bC01IHsKICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLnB4LXhsLTAgewogICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OwogICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7CiAgfQogIC5weC14bC0xIHsKICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHgteGwtMiB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5weC14bC0zIHsKICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucHgteGwtNCB7CiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5weC14bC01IHsKICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAucHkteGwtMCB7CiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OwogICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsKICB9CiAgLnB5LXhsLTEgewogICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5weS14bC0yIHsKICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnB5LXhsLTMgewogICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5weS14bC00IHsKICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnB5LXhsLTUgewogICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wdC14bC0wIHsKICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5wdC14bC0xIHsKICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wdC14bC0yIHsKICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnB0LXhsLTMgewogICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLnB0LXhsLTQgewogICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHQteGwtNSB7CiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAucGUteGwtMCB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgfQogIC5wZS14bC0xIHsKICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnBlLXhsLTIgewogICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wZS14bC0zIHsKICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLnBlLXhsLTQgewogICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wZS14bC01IHsKICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLnBiLXhsLTAgewogICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsKICB9CiAgLnBiLXhsLTEgewogICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnBiLXhsLTIgewogICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucGIteGwtMyB7CiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucGIteGwtNCB7CiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wYi14bC01IHsKICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wcy14bC0wIHsKICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OwogIH0KICAucHMteGwtMSB7CiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnBzLXhsLTIgewogICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnBzLXhsLTMgewogICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wcy14bC00IHsKICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wcy14bC01IHsKICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OwogIH0KfQpAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7CiAgLmQteHhsLWlubGluZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsKICB9CiAgLmQteHhsLWlubGluZS1ibG9jayB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsKICB9CiAgLmQteHhsLWJsb2NrIHsKICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CiAgfQogIC5kLXh4bC1ncmlkIHsKICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDsKICB9CiAgLmQteHhsLXRhYmxlIHsKICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7CiAgfQogIC5kLXh4bC10YWJsZS1yb3cgewogICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7CiAgfQogIC5kLXh4bC10YWJsZS1jZWxsIHsKICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsKICB9CiAgLmQteHhsLWZsZXggewogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OwogIH0KICAuZC14eGwtaW5saW5lLWZsZXggewogICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsKICB9CiAgLmQteHhsLW5vbmUgewogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogIH0KICAuZmxleC14eGwtZmlsbCB7CiAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OwogIH0KICAuZmxleC14eGwtcm93IHsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsKICB9CiAgLmZsZXgteHhsLWNvbHVtbiB7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXh4bC1yb3ctcmV2ZXJzZSB7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsKICB9CiAgLmZsZXgteHhsLWNvbHVtbi1yZXZlcnNlIHsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OwogIH0KICAuZmxleC14eGwtZ3Jvdy0wIHsKICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OwogIH0KICAuZmxleC14eGwtZ3Jvdy0xIHsKICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OwogIH0KICAuZmxleC14eGwtc2hyaW5rLTAgewogICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsKICB9CiAgLmZsZXgteHhsLXNocmluay0xIHsKICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXh4bC13cmFwIHsKICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OwogIH0KICAuZmxleC14eGwtbm93cmFwIHsKICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7CiAgfQogIC5mbGV4LXh4bC13cmFwLXJldmVyc2UgewogICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsKICB9CiAgLmp1c3RpZnktY29udGVudC14eGwtc3RhcnQgewogICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgfQogIC5qdXN0aWZ5LWNvbnRlbnQteHhsLWVuZCB7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7CiAgfQogIC5qdXN0aWZ5LWNvbnRlbnQteHhsLWNlbnRlciB7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OwogIH0KICAuanVzdGlmeS1jb250ZW50LXh4bC1iZXR3ZWVuIHsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OwogIH0KICAuanVzdGlmeS1jb250ZW50LXh4bC1hcm91bmQgewogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsKICB9CiAgLmp1c3RpZnktY29udGVudC14eGwtZXZlbmx5IHsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5ICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1pdGVtcy14eGwtc3RhcnQgewogICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWl0ZW1zLXh4bC1lbmQgewogICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1pdGVtcy14eGwtY2VudGVyIHsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWl0ZW1zLXh4bC1iYXNlbGluZSB7CiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWl0ZW1zLXh4bC1zdHJldGNoIHsKICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1jb250ZW50LXh4bC1zdGFydCB7CiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1jb250ZW50LXh4bC1lbmQgewogICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWNvbnRlbnQteHhsLWNlbnRlciB7CiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLWNvbnRlbnQteHhsLWJldHdlZW4gewogICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tY29udGVudC14eGwtYXJvdW5kIHsKICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tY29udGVudC14eGwtc3RyZXRjaCB7CiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7CiAgfQogIC5hbGlnbi1zZWxmLXh4bC1hdXRvIHsKICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLmFsaWduLXNlbGYteHhsLXN0YXJ0IHsKICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLXNlbGYteHhsLWVuZCB7CiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tc2VsZi14eGwtY2VudGVyIHsKICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OwogIH0KICAuYWxpZ24tc2VsZi14eGwtYmFzZWxpbmUgewogICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsKICB9CiAgLmFsaWduLXNlbGYteHhsLXN0cmV0Y2ggewogICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OwogIH0KICAub3JkZXIteHhsLWZpcnN0IHsKICAgIG9yZGVyOiAtMSAhaW1wb3J0YW50OwogIH0KICAub3JkZXIteHhsLTAgewogICAgb3JkZXI6IDAgIWltcG9ydGFudDsKICB9CiAgLm9yZGVyLXh4bC0xIHsKICAgIG9yZGVyOiAxICFpbXBvcnRhbnQ7CiAgfQogIC5vcmRlci14eGwtMiB7CiAgICBvcmRlcjogMiAhaW1wb3J0YW50OwogIH0KICAub3JkZXIteHhsLTMgewogICAgb3JkZXI6IDMgIWltcG9ydGFudDsKICB9CiAgLm9yZGVyLXh4bC00IHsKICAgIG9yZGVyOiA0ICFpbXBvcnRhbnQ7CiAgfQogIC5vcmRlci14eGwtNSB7CiAgICBvcmRlcjogNSAhaW1wb3J0YW50OwogIH0KICAub3JkZXIteHhsLWxhc3QgewogICAgb3JkZXI6IDYgIWltcG9ydGFudDsKICB9CiAgLm0teHhsLTAgewogICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5tLXh4bC0xIHsKICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubS14eGwtMiB7CiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubS14eGwtMyB7CiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLm0teHhsLTQgewogICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm0teHhsLTUgewogICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tLXh4bC1hdXRvIHsKICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50OwogIH0KICAubXgteHhsLTAgewogICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OwogIH0KICAubXgteHhsLTEgewogICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXgteHhsLTIgewogICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsKICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm14LXh4bC0zIHsKICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OwogICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLm14LXh4bC00IHsKICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5teC14eGwtNSB7CiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsKICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5teC14eGwtYXV0byB7CiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5teS14eGwtMCB7CiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5teS14eGwtMSB7CiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5teS14eGwtMiB7CiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsKICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXkteHhsLTMgewogICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OwogICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OwogIH0KICAubXkteHhsLTQgewogICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm15LXh4bC01IHsKICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsKICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLm15LXh4bC1hdXRvIHsKICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsKICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLm10LXh4bC0wIHsKICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsKICB9CiAgLm10LXh4bC0xIHsKICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm10LXh4bC0yIHsKICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXQteHhsLTMgewogICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAubXQteHhsLTQgewogICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tdC14eGwtNSB7CiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tdC14eGwtYXV0byB7CiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5tZS14eGwtMCB7CiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsKICB9CiAgLm1lLXh4bC0xIHsKICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAubWUteHhsLTIgewogICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1lLXh4bC0zIHsKICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAubWUteHhsLTQgewogICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1lLXh4bC01IHsKICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAubWUteHhsLWF1dG8gewogICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5tYi14eGwtMCB7CiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5tYi14eGwtMSB7CiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tYi14eGwtMiB7CiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLm1iLXh4bC0zIHsKICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLm1iLXh4bC00IHsKICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubWIteHhsLTUgewogICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OwogIH0KICAubWIteHhsLWF1dG8gewogICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OwogIH0KICAubXMteHhsLTAgewogICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsKICB9CiAgLm1zLXh4bC0xIHsKICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tcy14eGwtMiB7CiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5tcy14eGwtMyB7CiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAubXMteHhsLTQgewogICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAubXMteHhsLTUgewogICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLm1zLXh4bC1hdXRvIHsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC5wLXh4bC0wIHsKICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKICB9CiAgLnAteHhsLTEgewogICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAucC14eGwtMiB7CiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnAteHhsLTMgewogICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucC14eGwtNCB7CiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnAteHhsLTUgewogICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50OwogIH0KICAucHgteHhsLTAgewogICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OwogICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7CiAgfQogIC5weC14eGwtMSB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnB4LXh4bC0yIHsKICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OwogICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnB4LXh4bC0zIHsKICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucHgteHhsLTQgewogICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHgteHhsLTUgewogICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OwogICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5weS14eGwtMCB7CiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OwogICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsKICB9CiAgLnB5LXh4bC0xIHsKICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHkteHhsLTIgewogICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OwogICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHkteHhsLTMgewogICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsKICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5weS14eGwtNCB7CiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5weS14eGwtNSB7CiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OwogICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLnB0LXh4bC0wIHsKICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7CiAgfQogIC5wdC14eGwtMSB7CiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHQteHhsLTIgewogICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHQteHhsLTMgewogICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLnB0LXh4bC00IHsKICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnB0LXh4bC01IHsKICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wZS14eGwtMCB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgfQogIC5wZS14eGwtMSB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wZS14eGwtMiB7CiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsKICB9CiAgLnBlLXh4bC0zIHsKICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsKICB9CiAgLnBlLXh4bC00IHsKICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucGUteHhsLTUgewogICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OwogIH0KICAucGIteHhsLTAgewogICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsKICB9CiAgLnBiLXh4bC0xIHsKICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wYi14eGwtMiB7CiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wYi14eGwtMyB7CiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OwogIH0KICAucGIteHhsLTQgewogICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucGIteHhsLTUgewogICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsKICB9CiAgLnBzLXh4bC0wIHsKICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OwogIH0KICAucHMteHhsLTEgewogICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wcy14eGwtMiB7CiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHMteHhsLTMgewogICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7CiAgfQogIC5wcy14eGwtNCB7CiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OwogIH0KICAucHMteHhsLTUgewogICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7CiAgfQp9CkBtZWRpYSBwcmludCB7CiAgLmQtcHJpbnQtaW5saW5lIHsKICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OwogIH0KICAuZC1wcmludC1pbmxpbmUtYmxvY2sgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7CiAgfQogIC5kLXByaW50LWJsb2NrIHsKICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7CiAgfQogIC5kLXByaW50LWdyaWQgewogICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50OwogIH0KICAuZC1wcmludC10YWJsZSB7CiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OwogIH0KICAuZC1wcmludC10YWJsZS1yb3cgewogICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7CiAgfQogIC5kLXByaW50LXRhYmxlLWNlbGwgewogICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OwogIH0KICAuZC1wcmludC1mbGV4IHsKICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICB9CiAgLmQtcHJpbnQtaW5saW5lLWZsZXggewogICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsKICB9CiAgLmQtcHJpbnQtbm9uZSB7CiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgfQp9"}},"time_used":94,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":94,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/ashley-plugin/elementor/assets/js/front-end-widget.js?ver=7.0.2","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.902Z","timestamp":1785141582902,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/plugins/ashley-plugin/elementor/assets/js/front-end-widget.js?ver=7.0.2 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:57:40 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 379\r\nKeep-Alive: timeout=5, max=99\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":855,"size_decoded":743,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text","md5":"b094c0cd330814f82729386b5fcc0941","sha1":"5dd4376c907134f08340ba6e1a9946ceab796aad","sha256":"5373dde5033d4165b754b2885af4553cf8d4c2b95a88f6362b2e57dff8df9b29","sha512":"57537ca8bf88066435455fdf49e5432117cec861a65a5596806bb0ee1124387f08a8865e47257f0fbc8e58cd94b1e4d5286b61bffe1b8f9411f09aad61bc9477","ssdeep":"","tlshash":"3b112538f9afe05c607bb97b946ba4dec97b88a4600824628aa5457948f4f743619f0c","first_seen":"2025-08-03T16:59:35.297041Z","last_seen":"2026-07-27T12:12:28.926391Z","times_seen":9,"resource_available":true,"data":"KGZ1bmN0aW9uICgkKSB7CgkidXNlIHN0cmljdCI7CgoJZnVuY3Rpb24gc2xpZGVycygpIHsKCX0KCgkvKiBJbml0IEVsZW1lbnRvciBGcm9udCBTY3JpcHRzICovCgkkKHdpbmRvdykub24oJ2VsZW1lbnRvci9mcm9udGVuZC9pbml0JywgZnVuY3Rpb24gKCkgewoKCQkvLyBXaWRnZXRzCgkJZWxlbWVudG9yRnJvbnRlbmQuaG9va3MuYWRkQWN0aW9uKCAnZnJvbnRlbmQvZWxlbWVudF9yZWFkeS9hc2hsZXktaGVyby1zbGlkZXIuZGVmYXVsdCcsIGZ1bmN0aW9uKCkgewoJCQkvL3NsaWRlcnMoKQoJCX0gKTsKCgkJZWxlbWVudG9yRnJvbnRlbmQuaG9va3MuYWRkQWN0aW9uKCAnZnJvbnRlbmQvZWxlbWVudF9yZWFkeS9hc2hsZXktY3RhLmRlZmF1bHQnLCBmdW5jdGlvbigpIHsKCgkJfSApOwoKCQkvLyBHbG9iYWwKCQllbGVtZW50b3JGcm9udGVuZC5ob29rcy5hZGRBY3Rpb24oICdmcm9udGVuZC9lbGVtZW50X3JlYWR5L2dsb2JhbCcsIGZ1bmN0aW9uKCAkc2NvcGUgKSB7CgkJCQoJCX0gKTsKCQllbGVtZW50b3JGcm9udGVuZC5ob29rcy5hZGRBY3Rpb24oICdmcm9udGVuZC9lbGVtZW50X3JlYWR5L3dpZGdldCcsIGZ1bmN0aW9uKCAkc2NvcGUgKSB7CgkJCS8vdXBkYXRlIHN3aXBlcgoJCQkvL3NsaWRlcnMoKTsKCgkJCS8vYWZ0ZXIgc21hbGwgYmFubmVyCgkJCXZhciBtaWxTQiA9ICQoJy5taWwtc21hbGwtYmFubmVyJyk7CgkJCWlmKG1pbFNCLmxlbmd0aCl7CgkJCQltaWxTQi5jbG9zZXN0KCcuZWxlbWVudG9yLXNlY3Rpb24nKS5uZXh0KCkuZmluZCgnLmVsZW1lbnRvci1jb250YWluZXInKS5hZGRDbGFzcygnbWlsLWNvbnRlbnQtZnJhbWUnKTsgCgkJCX0KCQl9ICk7Cgl9KTsKfSkoalF1ZXJ5KTsK"}},"time_used":415,"timings":{"blocked":324,"dns":0,"connect":0,"send":0,"wait":91,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/uploads/2025/01/cropped-android-chrome-512x512-1-192x192.png","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:44.333Z","timestamp":1785141584333,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/uploads/2025/01/cropped-android-chrome-512x512-1-192x192.png HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,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://oxlofttrd.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:44 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 11:17:13 GMT\r\nAccept-Ranges: bytes\r\nContent-Length: 15204\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:44 GMT\r\nKeep-Alive: timeout=5, max=93\r\nConnection: Keep-Alive\r\nContent-Type: image/png\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":15204,"size_decoded":15510,"mime_type":"image/png","magic":"PNG image data, 192 x 192, 8-bit/color RGBA, non-interlaced","md5":"b9439db1e86aed70a660aa9ec6af76bd","sha1":"5a2eaf14a1d081357d113d82f7a9d3e67d44b6b9","sha256":"1eb2a1430d3c3e030061efeed880bdcd835aa86933dfb7af8d15dc8714cebd9f","sha512":"3309a4589bb68a372cd356b69041f07ff6df43943d061ac7d6bbf7be8e4f12fa6169b6eaaa47cf787e3e2cc3dd21f9cb4ce7e92b73ab6da4e7af06c8adfb97da","ssdeep":"384:TZ2wPtNHbuF197xOIwNl8UpC9W60yO9hFZ2Ecc4azVQ:d2e0F19gIwNSUpC9CyO9hmnGVQ","tlshash":"da62cf13d883d3c7695684d84ef70c0a9bdbb646f7cf668c11f1e098de2a1295a76318","first_seen":"2026-07-27T06:14:34.196012Z","last_seen":"2026-07-27T12:12:28.89426Z","times_seen":5,"resource_available":false,"data":"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"}},"time_used":94,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":94,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/90960.ec941accfaa3ed2cd6e2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.811Z","timestamp":1785141584811,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/90960.ec941accfaa3ed2cd6e2.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b70-186\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:20 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 64b8e5f351dfb1b5d32bbeb2dc476c5d\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":390,"size_decoded":965,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (390), with no line terminators","md5":"82a666c7923903c7a4ea82a3e676d054","sha1":"86c016b68d5ebe6c7ea2171a5c77c3977beae537","sha256":"0d86f8d898eadd5474e95eb88236cad4371819f433c109cb51775d8afe54db99","sha512":"f3e21eff0524a1d3b54afc7e6a639a4982798ecfff9b03e99280419d100ca7233723e5a8384c39e2f02bb6d17afa7bb1b083a3b5086fdf52f7b3ea52c9171867","ssdeep":"","tlshash":"26e09b8a5003791d3c3573145ddc9b09023c515261d71dfd8847a23bd2ca3e13e5b861","first_seen":"2024-12-10T03:17:08.854058Z","last_seen":"2026-07-27T12:48:39.751378Z","times_seen":1168,"resource_available":false,"data":"LmVtb2ppV3JhcC1SMkNUcG1IcnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDttaW4td2lkdGg6dmFyKC0tdHYtbGVhZGluZy1lbW9qaS1zaXplLDE4cHgpfS5lbW9qaS1SMkNUcG1IciwuZW1vamlXcmFwLVIyQ1RwbUhye3dpZHRoOnZhcigtLXR2LWxlYWRpbmctZW1vamktc2l6ZSwxOHB4KX0uZW1vamktUjJDVHBtSHJ7aGVpZ2h0OnZhcigtLXR2LWxlYWRpbmctZW1vamktc2l6ZSwxOHB4KTtwb3NpdGlvbjphYnNvbHV0ZX0udG9vbHRpcEVtb2ppLVIyQ1RwbUhye2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGV9LnRvb2x0aXBFbW9qaVdyYXAtUjJDVHBtSHJ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7bWluLXdpZHRoOjEycHh9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/35342.7d61a7ec764ba6b2c6bd.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.825Z","timestamp":1785141584825,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/35342.7d61a7ec764ba6b2c6bd.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-327\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3894981ea9a185be4ccbf3f2e93bbc8e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":807,"size_decoded":1107,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (807), with no line terminators","md5":"50d3abce4215ba71259575a94352a7c1","sha1":"f6730a01f60611b0d6d8b26b0771318b8ba5e72d","sha256":"8645bbc80c253b897320c57fa607b4f6898034ea24adf1e1ef5f754c8b1255a2","sha512":"cf887dea6f55668c33daa46b54a9fe526a84dee52138a92728920e878e21d5bc8b516e76ce087a8a0580365ea43b8dba7239895e6136f44d43645ef76695bdba","ssdeep":"","tlshash":"ae0155c4a5887e3bac6233f8f61291131754dd19fdda2e427a66e08e80a62e2407a930","first_seen":"2026-07-17T14:15:58.314201Z","last_seen":"2026-07-27T12:48:39.74733Z","times_seen":117,"resource_available":false,"data":"LmZhdm9yaXRlc0ljb25CdXR0b25Ub2dnbGVkLVlGWFZKTkVRLnByaW1hcnktWUZYVkpORVEsLmZhdm9yaXRlc0ljb25CdXR0b25Ub2dnbGVkLVlGWFZKTkVRLnNlY29uZGFyeS1ZRlhWSk5FUSwuZmF2b3JpdGVzSWNvbkJ1dHRvblRvZ2dsZWQtWUZYVkpORVEudGVydGlhcnktWUZYVkpORVF7LS11aS1saWItaWNvbkJ1dHRvbi1pY29uLWNvbG9yLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1ob3Zlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCl9LmFjdGlvbi15bUZ1OVFFRHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5zaG93T25Ib3Zlci15bUZ1OVFFRHstLW1lbnUtaXRlbS1pcy1ob3ZlcmVkLW9yLWZvY3VzZWQ6bWluKDEsdmFyKC0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0taXMtaG92ZXJlZCwwKSArIHZhcigtLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWlzLWZvY3VzZWQtdmlzaWJsZSwwKSl9QG1lZGlhIG5vdCAoYW55LXBvaW50ZXI6Y29hcnNlKXsuc2hvd09uSG92ZXIteW1GdTlRRUR7b3BhY2l0eTptaW4oMSx2YXIoLS1tZW51LWl0ZW0taXMtaG92ZXJlZC1vci1mb2N1c2VkLDApICsgdmFyKC0tbWVudS1pdGVtLWFjdGlvbi1mb3JjZVZpc2libGUsMCkpfX0uc2hvd09uSG92ZXIteW1GdTlRRUQ6aGFzKDpmb2N1cy12aXNpYmxlKXstLW1lbnUtaXRlbS1hY3Rpb24tZm9yY2VWaXNpYmxlOjF9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/5355.2ea3c48a319ee0ff5b78.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.898Z","timestamp":1785141584898,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/5355.2ea3c48a319ee0ff5b78.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-2d9a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1120ed6699eede0f6473450125e9b1b5\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":11674,"size_decoded":5249,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3063)","md5":"2f4dd7b3db38bcef031ce7e36c367340","sha1":"ba2336e05b407794de4dbb6a0e18264c84b3dd51","sha256":"189cf3f450f313efd6f7415f9a052d86c632ae8d97729c459900ef09bcf4f3d1","sha512":"54d54a86d025a62386536e78f7c145ea7bb17f681a93d55091bf41897ec295fd1bbee56de09aecad350c4ca9c7df4668ec0da1f0052fa86b161ea8e9bd958c33","ssdeep":"192:9cNibKfRXUfFYt6Vn3WQt9Oh+yxiJdljjRxU3zty6psROhf0qV+9TrS3ZfEI9n:9cNlfRXUfFBV3Xt9Oh+MiJdljjRxwtyK","tlshash":"83329682312a39aa59e5209424703947920c3c9a375f907cf3b8a9fe755cc5cb2b9b78","first_seen":"2026-07-24T11:36:47.84256Z","last_seen":"2026-07-27T14:50:15.524279Z","times_seen":76,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTM1NV0sezgyMTk5MSh0LGUsaSl7aS5kKGUse2JsZW5kQ29sb3JzOigpPT5vfSk7dmFyIGw9aSgxMzQ2Nyk7Y29uc3Qgbz0odCxlKT0+KDAsbC5yZ2JhVG9TdHJpbmcpKCgwLGwuYmxlbmRSZ2JhKSgoMCxsLnBhcnNlUmdiYSkodCksKDAsbC5wYXJzZVJnYmEpKGUpKSl9LDY4MjcyMCh0LGUsaSl7aS5kKGUse0xvbGxpcG9wVG9vbHRpcE1hbmFnZXI6KCk9PnN9KTt2YXIgbD1pKDE2NzUwMiksbz1pKDEzODYzOCk7Y2xhc3Mgc3tjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX2lzRGVzdHJveWVkPSExLHRoaXMuX2xvbGxpcG9wVG9vbHRpcFJlbmRlcmVyPW51bGwsdGhpcy5fc2hvd1Rvb2x0aXBBYm9ydENvbnRyb2xsZXI9bnVsbCx0aGlzLl9hY3RpdmVMb2xsaXBvcD10LHRoaXMuX2NhcmRUeXBlPWUsdGhpcy5fYWN0aXZlTG9sbGlwb3Auc3Vic2NyaWJlKCh0PT57bnVsbD09PXQmJnRoaXMuX2Rlc3Ryb3lUb29sdGlwKCl9KSl9ZGVzdHJveSgpe3RoaXMuX2Rlc3Ryb3lUb29sdGlwKCksdGhpcy5fYWN0aXZlTG9sbGlwb3AucmVsZWFzZSgpLHRoaXMuX2lzRGVzdHJveWVkPSEwfXRyeVRvSGlkZVRvb2x0aXBCeUNsaWNrT3V0c2lkZSh0LGUsaSl7aWYodGhpcy5faXNDbGlja0luc2lkZVRvb2x0aXAoaSkpcmV0dXJuITE7aWYodm9pZCAwIT09aSl7Y29uc3Qgbz1lKHQsaSk7aWYobnVsbCE9PW8mJigwLGwuZGVmYXVsdCkobyx0aGlzLl9hY3RpdmVMb2xsaXBvcC52YWx1ZSgpKSlyZXR1cm4hMX1jb25zdCBvPSEhdGhpcy5fYWN0aXZlTG9sbGlwb3AudmFsdWUoKTtyZXR1cm4gdGhpcy5fYWN0aXZlTG9sbGlwb3Auc2V0VmFsdWUobnVsbCksb31hc3luYyBzaG93VG9vbHRpcCh0LGUsbCxzLG4pe2NvbnN0IGE9bmV3IEFib3J0Q29udHJvbGxlcjt0aGlzLl9zaG93VG9vbHRpcEFib3J0Q29udHJvbGxlcj8uYWJvcnQoKSx0aGlzLl9zaG93VG9vbHRpcEFib3J0Q29udHJvbGxlcj1hO2NvbnN0IHI9YXdhaXQgbChhLnNpZ25hbCk7aWYobnVsbD09PXJ8fDA9PT1yLmxlbmd0aClyZXR1cm47Y29uc3R7c2hvd0xvbGxpcG9wVG9vbHRpcDpofT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDc3MjYzKSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSgyOTUzNiksaS5lKDUxODQpLGkuZSg1NjI1MiksaS5lKDE3MDg3KSxpLmUoMzI3NDgpLGkuZSg0MzY0NCksaS5lKDQ1MzY4KSxpLmUoMjAyNzEpLGkuZSg1MTg4MCksaS5lKDE4NDcyKSxpLmUoMjU4MDkpLGkuZSgxNzY5MyksaS5lKDUyOTIwKSxpLmUoODIyNzEpLGkuZSgzMTAwMSksaS5lKDY1NjEzKSxpLmUoNDgzMTIpLGkuZSgzMjM4NyksaS5lKDk3NjQ3KSxpLmUoNTc0ODUpLGkuZSg0MTY3MildKS50aGVuKGkuYmluZChpLDEzMDc1MikpLGQ9YXdhaXQgcygpO3RoaXMuX2lzRGVzdHJveWVkfHxhLnNpZ25hbC5hYm9ydGVkfHwoKDAsby5hc3NlcnQpKG51bGw9PT10aGlzLl9sb2xsaXBvcFRvb2x0aXBSZW5kZXJlciwiTG9sbGlwb3AgdG9vbHRpcCByZW5kZXJlciBzaG91bGQgYmUgbnVsbCBiZWZvcmUgY3JlYXRpbmcgYSBuZXcgb25lIiksdGhpcy5fbG9sbGlwb3BUb29sdGlwUmVuZGVyZXI9aCh7aXRlbXM6cixwb3NpdGlvbjplLGN1c3RvbUNsb3NlU3Vic2NyaXB0aW9uczpuLmN1c3RvbUNsb3NlU3Vic2NyaXB0aW9ucyxvbkNsb3NlOigpPT5uLm9uQ2xvc2UodCksb25DbGlja091dHNpZGU6ZT0+bi5vbkNsaWNrT3V0c2lkZSh0LGUpLG9uU2l6ZUNoYW5nZWQ6bi5vblNpemVDaGFuZ2VkLHNob3dTY3JvbGxGYWRlczohMCxjYXJkVHlwZTp0aGlzLl9jYXJkVHlwZSx0aGVtZTpkfSkpfV9pc0NsaWNrSW5zaWRlVG9vbHRpcCh0KXtyZXR1cm4gbnVsbCE9PXRoaXMuX2xvbGxpcG9wVG9vbHRpcFJlbmRlcmVyJiZ2b2lkIDAhPT10JiZ0aGlzLl9sb2xsaXBvcFRvb2x0aXBSZW5kZXJlci5pc0NsaWNrSW5zaWRlKHQpfV9kZXN0cm95VG9vbHRpcCgpe3RoaXMuX3Nob3dUb29sdGlwQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpLHRoaXMuX3Nob3dUb29sdGlwQWJvcnRDb250cm9sbGVyPW51bGwsdGhpcy5fbG9sbGlwb3BUb29sdGlwUmVuZGVyZXI/LmhpZGUoKSx0aGlzLl9sb2xsaXBvcFRvb2x0aXBSZW5kZXJlcj1udWxsfX19LDE0Nzk5Mih0LGUsaSl7dmFyIGw7ZnVuY3Rpb24gbyh0LGUsaT0wKXtlLnNldFZhbHVlKHQudmFsdWUoKSk7Y29uc3QgbD17fTtyZXR1cm4gdC5zdWJzY3JpYmUobCwodD0+e2Uuc2V0VmFsdWUodC52YWx1ZSgpKX0pKSwxPT09aSYmZS5zdWJzY3JpYmUobCwoZT0+e3Quc2V0VmFsdWUoZS52YWx1ZSgpKX0pKSwoKT0+e3QudW5zdWJzY3JpYmVBbGwobCksMT09PWkmJmUudW5zdWJzY3JpYmVBbGwobCl9fWkuZChlLHtiaW5kUHJvcGVydGllczooKT0+b30pLGZ1bmN0aW9uKHQpe3RbdC5PbmVXYXlTcmNUb0RzdD0wXT0iT25lV2F5U3JjVG9Ec3QiLHRbdC5Ud29XYXlzPTFdPSJUd29XYXlzIn0obHx8KGw9e30pKX0sNDk0MDc5KHQsZSxpKXt2YXIgbDtpLmQoZSx7TG9sbGlwb3BQYW5lVmlldzooKT0+d30pLGZ1bmN0aW9uKHQpe3RbdC5TcGFjZUJldHdlZW5Sb3dzPTI1XT0iU3BhY2VCZXR3ZWVuUm93cyIsdFt0LlRvb2x0aXBUb3BNYXJnaW49MTVdPSJUb29sdGlwVG9wTWFyZ2luIix0W3QuU3BhY2VCZXR3ZWVuQ2FyZEFuZExvbGxpcG9wPThdPSJTcGFjZUJldHdlZW5DYXJkQW5kTG9sbGlwb3AifShsfHwobD17fSkpO3ZhciBvPWkoMTY3NTAyKSxzPWkoOTE4Nzc5KSxuPWkoMTM4NjM4KSxhPWkoNzM2NTMxKSxyPWkoNjAxODQxKSxoPWkoNDAyMDQ1KSxkPWkoNjYzNCkscD1pKDY4MjcyMCksYz1pKDc2MyksdT1pKDc4OTE5MCksXz1pKDYzNzEwNCkseT1pKDU0MDg0NSksYj1pKDgyMjcyNiksdj1pKDk3NjgxMyksQz1pKDkyNjE0OSk7Y2xhc3Mgd3tjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX2ludmFsaWRhdGVkPSExLHRoaXMuX3JlbmRlcmVyPW5ldyB1LkNvbXBvc2l0ZVJlbmRlcmVyLHRoaXMuX3RleHRXaWR0aENhY2hlPW5ldyBiLlRleHRXaWR0aENhY2hlLAp0aGlzLl9zdHlsZXNDYWNoZT1udWxsLHRoaXMuX2xvbGxpcG9wcz17fSx0aGlzLl9sb2xsaXBvcHNDb3VudGVyPTAsdGhpcy5fYWN0aXZlTG9sbGlwb3BJbmZvPW5ldyBoLldhdGNoZWRPYmplY3QobnVsbCksdGhpcy5fcmVjcmVhdGVTdHlsZXNCb3VuZD10aGlzLl9yZWNyZWF0ZVN0eWxlcy5iaW5kKHRoaXMpLHRoaXMuX21vZGVsPXQsdGhpcy5fc291cmNlPWUsdGhpcy5fcmVjcmVhdGVTdHlsZXMoKSxDLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnN1YnNjcmliZSh0aGlzLl9yZWNyZWF0ZVN0eWxlc0JvdW5kKSx0LmJhY2tncm91bmRDb2xvcigpLnN1YnNjcmliZSh0aGlzLl9yZWNyZWF0ZVN0eWxlc0JvdW5kKSx0Lm1haW5TZXJpZXMoKS5vblN5bWJvbEludGVydmFsQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU3ltYm9sT3JJbnRlcnZhbENoYW5nZWQpLHRoaXMuX2xvbGxpcG9wVG9vbHRpcD1uZXcgcC5Mb2xsaXBvcFRvb2x0aXBNYW5hZ2VyKHRoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby5zcGF3bk93bmVyc2hpcCgpKSx0aGlzLl9hY3RpdmVMb2xsaXBvcEluZm8uc3Vic2NyaWJlKCgoKT0+e3RoaXMuX3NvdXJjZS51cGRhdGVBbGxWaWV3c0FuZFJlcGFpbnQoKX0pKX1kZXN0cm95KCl7dGhpcy5fbW9kZWwuYmFja2dyb3VuZENvbG9yKCkudW5zdWJzY3JpYmUodGhpcy5fcmVjcmVhdGVTdHlsZXNCb3VuZCksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uU3ltYm9sSW50ZXJ2YWxDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksQy5DSEFSVF9GT05UX0ZBTUlMWV9XVi51bnN1YnNjcmliZSh0aGlzLl9yZWNyZWF0ZVN0eWxlc0JvdW5kKSx0aGlzLl9sb2xsaXBvcFRvb2x0aXAuZGVzdHJveSgpfXByb2Nlc3NDbGlja0luc2lkZSh0LGUsaSl7Y29uc3QgbD10aGlzLl9sb2xsaXBvcHNbaV07cmV0dXJuISghbHx8IWwudmlzaWJsZSkmJih0aGlzLl9sb2xsaXBvcE1vdXNlQ2xpY2tIYW5kbGVyKHQsdGhpcy5fZ2V0TG9sbGlwb3BSZW5kZXJlckRhdGEobCksKDAscy5zaXplKSh7d2lkdGg6ZS5jbGllbnRXaWR0aCxoZWlnaHQ6ZS5jbGllbnRIZWlnaHR9KSx7cHJldmVudERlZmF1bHQ6KCk9Pnt9LHRhcmdldDplfSksITApfXByb2Nlc3NDbGlja091dHNpZGUodCxlKXtyZXR1cm4gdGhpcy5fbG9sbGlwb3BUb29sdGlwLnRyeVRvSGlkZVRvb2x0aXBCeUNsaWNrT3V0c2lkZSh0LHRoaXMuX2dldEFjdGl2ZUxvbGxpcG9wVG9vbHRpcEluZm8uYmluZCh0aGlzKSxlKX11cGRhdGUodCl7dGhpcy5faW52YWxpZGF0ZWQ9ITB9YWZ0ZXJVcGRhdGUodCxlLGksbCl7fWdldFN0eWxlKHQsZSl7bGV0IGk9ZTtpZih0LnN0YWNrJiYoaSs9Il9zdGFjazoiK3Quc3RhY2spLCJhY3RpdmUiPT09aSlyZXR1cm4gdGhpcy5fYWN0aXZlU3R5bGU7aWYoImhvdmVyZWQiPT09aSlyZXR1cm4gdGhpcy5faG92ZXJlZFN0eWxlO2lmKCJkZWZhdWx0Ij09PWkpcmV0dXJuIHRoaXMuX2RlZmF1bHRTdHlsZTtpZih0aGlzLl9zdHlsZXNDYWNoZXx8KHRoaXMuX3N0eWxlc0NhY2hlPXt9KSwhdGhpcy5fc3R5bGVzQ2FjaGVbaV0pe2NvbnN0IGw9KDAsci5jbG9uZSkoImFjdGl2ZSI9PT1lP3RoaXMuX2FjdGl2ZVN0eWxlOiJob3ZlcmVkIj09PWU/dGhpcy5faG92ZXJlZFN0eWxlOnRoaXMuX2RlZmF1bHRTdHlsZSk7dC5zdGFjayYmKGwubG9sbGlwb3AuaW5jSGVpZ2h0PTI1KnQuc3RhY2spLHRoaXMuX3N0eWxlc0NhY2hlW2ldPWx9cmV0dXJuIHRoaXMuX3N0eWxlc0NhY2hlW2ldfWhhc1Rvb2x0aXAodCl7cmV0dXJuITB9Y2xlYXJBY3RpdmVMb2xsaXBvcCgpe3RoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby5zZXRWYWx1ZShudWxsKX1hc3luYyBfc3BlY2lhbFRvb2x0aXBTdHlsZXModCl7fV9nZXRZKCl7bGV0IHQ9MDtjb25zdCBlPXRoaXMuX21vZGVsLnBhbmVzKCk7Zm9yKGxldCBpPWUubGVuZ3RoO2ktLTspe2NvbnN0IGw9ZVtpXTtsLmNvbnRhaW5zTWFpblNlcmllcygpJiYodCs9bC5oZWlnaHQoKSl9cmV0dXJuIHR9X3Nob3dCYXJMaW5lKHQpe3JldHVybiB0aGlzLmhhc1Rvb2x0aXAodCkmJih0LmhvdmVyZWR8fHRoaXMuX2lzTG9sbGlwb3BBY3RpdmUodCkpfV9nZXRMb2xsaXBvcFJlbmRlcmVyRGF0YSh0KXtjb25zdCBlPXRoaXMuX2dldExvbGxpcG9wU3RhdHVzKHQpLGk9dGhpcy5nZXRTdHlsZSh0LGUpO3JldHVybntpZDp0LmlkLGl0ZW1JbmRleDp0Lml0ZW1JbmRleCxjZW50ZXJQb2ludDpuZXcgYS5Qb2ludCh0LmJhc2VQb2ludC54LHQuYmFzZVBvaW50LnktaS5sb2xsaXBvcC5ib3R0b20taS5sb2xsaXBvcC5oZWlnaHQvMi0oaS5sb2xsaXBvcC5pbmNIZWlnaHR8fDApKSxzdHlsZTppLHN0YXR1czplfX1fY3JlYXRlUmVuZGVyZXJzKHQpe2NvbnN0e21lZGlhU2l6ZTplfT10O2Zvcihjb25zdCBpIG9mIE9iamVjdC52YWx1ZXModGhpcy5fbG9sbGlwb3BzKSlpZih2b2lkIDAhPT1pJiZpLnZpc2libGUpe2NvbnN0IGw9dGhpcy5fZ2V0TG9sbGlwb3BTdGF0dXMoaSksbz10aGlzLmdldFN0eWxlKGksbCkscz17aWQ6aS5pZCxpdGVtSW5kZXg6aS5pdGVtSW5kZXgsY2VudGVyUG9pbnQ6bmV3IGEuUG9pbnQoaS5iYXNlUG9pbnQueCxpLmJhc2VQb2ludC55LW8ubG9sbGlwb3AuYm90dG9tLW8ubG9sbGlwb3AuaGVpZ2h0LzItKG8ubG9sbGlwb3AuaW5jSGVpZ2h0fHwwKSksc3R5bGU6byxzdGF0dXM6bH0sbj17Y3Vyc29yVHlwZTp2LlBhbmVDdXJzb3JUeXBlLkRlZmF1bHQsYWN0aXZlSXRlbTp7aWQ6aS5pZCxpdGVtSW5kZXg6aS5pdGVtSW5kZXh9LGhpZGVDcm9zc2hhaXJMaW5lc09uSG92ZXI6ITAsY2xpY2tIYW5kbGVyOihpLGwpPT50aGlzLl9sb2xsaXBvcE1vdXNlQ2xpY2tIYW5kbGVyKHQscyxlLGkpLHRhcEhhbmRsZXI6KGksbCk9PnRoaXMuX2xvbGxpcG9wTW91c2VDbGlja0hhbmRsZXIodCxzLGUsaSl9O2lmKHRoaXMuX3JlbmRlcmVyLmFwcGVuZCh0aGlzLl9jcmVhdGVSZW5kZXJlckZvckxvbGxpcG9wKHMsbikpLHRoaXMuX3Nob3dCYXJMaW5lKGkpKXtjb25zdHtzdHJva2VTdHlsZTp0LGxpbmVTdHlsZTplLGxpbmVXaWR0aDpsfT1vLmJhckxpbmUscz17Y29sb3I6dCxsaW5lc3R5bGU6ZSxsaW5ld2lkdGg6bCwKeDppLmJhc2VQb2ludC54LHRvcDowLGJvdHRvbTppLmJhc2VQb2ludC55LW8ubG9sbGlwb3AuYm90dG9tLW8ubG9sbGlwb3AuaGVpZ2h0fSxuPW5ldyB5LlZlcnRpY2FsTGluZVJlbmRlcmVyO24uc2V0RGF0YShzKSx0aGlzLl9yZW5kZXJlci5pbnNlcnQobiwwKX19fV9yZWNyZWF0ZVN0eWxlcygpe3RoaXMuX3N0eWxlc0NhY2hlPW51bGx9X2NyZWF0ZVJlbmRlcmVyRm9yTG9sbGlwb3AodCxlKXtyZXR1cm4gbmV3IF8uTG9sbGlwb3BSZW5kZXJlcih0LG5ldyBjLkhpdFRlc3RSZXN1bHQoYy5IaXRUYXJnZXQuQ3VzdG9tLGUpLHRoaXMuX3RleHRXaWR0aENhY2hlKX1fb25TeW1ib2xPckludGVydmFsQ2hhbmdlZCgpe3RoaXMuX2xvbGxpcG9wcz17fSx0aGlzLl9sb2xsaXBvcHNDb3VudGVyPTAsdGhpcy5fcmVuZGVyZXIuY2xlYXIoKSx0aGlzLl9hY3RpdmVMb2xsaXBvcEluZm8uc2V0VmFsdWUobnVsbCl9YXN5bmMgX2xvbGxpcG9wTW91c2VDbGlja0hhbmRsZXIodCxlLGksbCl7bC5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IHM9e2lkOmUuaWQsaXRlbUluZGV4OmUuaXRlbUluZGV4fTtpZigoMCxvLmRlZmF1bHQpKHRoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby52YWx1ZSgpLHMpKXJldHVybiB0aGlzLl9hY3RpdmVMb2xsaXBvcEluZm8uc2V0VmFsdWUobnVsbCksITE7dGhpcy5fYWN0aXZlTG9sbGlwb3BJbmZvLnNldFZhbHVlKHMpO2NvbnN0IHI9e3RhcmdldDpsLnRhcmdldCx0YXJnZXRTaXplOmkscG9pbnQ6bmV3IGEuUG9pbnQoZS5jZW50ZXJQb2ludC54LGUuY2VudGVyUG9pbnQueS1lLnN0eWxlLmxvbGxpcG9wLmhlaWdodC8yLTgpLG1hcmdpblRvcDoxNX0saD0oMCxuLmVuc3VyZURlZmluZWQpKHRoaXMuX2xvbGxpcG9wc1tlLmlkXSksZD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtyZXR1cm4gdGhpcy5fbG9sbGlwb3BUb29sdGlwLnNob3dUb29sdGlwKHQsciwodD0+dGhpcy5fY3JlYXRlVG9vbHRpcENvbnRlbnQoaCx0KSksKCgpPT50aGlzLl9zcGVjaWFsVG9vbHRpcFN0eWxlcyhoKSkse29uQ2xvc2U6dGhpcy5wcm9jZXNzQ2xpY2tPdXRzaWRlLmJpbmQodGhpcyksb25DbGlja091dHNpZGU6KHQsZSk9Pnt0aGlzLl9zb3VyY2Uub25DbGlja091dHNpZGU/Lih0LCgwLG4uZW5zdXJlRGVmaW5lZCkoZSkpfSxjdXN0b21DbG9zZVN1YnNjcmlwdGlvbnM6W2Qub25TY3JvbGwoKSxkLmJhclNwYWNpbmdDaGFuZ2VkKCksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uU3ltYm9sSW50ZXJ2YWxDaGFuZ2VkKCldLG9uU2l6ZUNoYW5nZWQ6KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX3NvdXJjZSkpLm9uU2l6ZUNoYW5nZWQoKX0pLCEwfV9nZXRMb2xsaXBvcFN0YXR1cyh0KXtyZXR1cm4gdGhpcy5faXNMb2xsaXBvcEFjdGl2ZSh0KT8iYWN0aXZlIjp0LmhvdmVyZWQ/ImhvdmVyZWQiOiJkZWZhdWx0In1faXNMb2xsaXBvcEFjdGl2ZSh0KXtyZXR1cm4gbnVsbCE9PXRoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby52YWx1ZSgpJiYoMCxvLmRlZmF1bHQpKHRoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby52YWx1ZSgpLHtpZDp0LmlkLGl0ZW1JbmRleDp0Lml0ZW1JbmRleH0pfV9nZXRBY3RpdmVMb2xsaXBvcFRvb2x0aXBJbmZvKHQsZSl7Y29uc3QgaT0oMCxkLmdldENsaWNrUG9zaXRpb24pKGUpO2lmKG51bGw9PT1pKXJldHVybiBudWxsO2NvbnN0IGw9dGhpcy5yZW5kZXJlcih0KT8uaGl0VGVzdChuZXcgYS5Qb2ludChpLngsaS55KSx0KT8uZGF0YSgpPy5hY3RpdmVJdGVtPz9udWxsO3JldHVybiBudWxsPT09bD9udWxsOmx9fX0sNjM3MTA0KHQsZSxpKXt2YXIgbDtpLmQoZSx7TG9sbGlwb3BSZW5kZXJlcjooKT0+ZCxkcmF3TGFiZWw6KCk9PnB9KSxmdW5jdGlvbih0KXt0W3QuU2l6ZURlbHRhPTFdPSJTaXplRGVsdGEifShsfHwobD17fSkpO3ZhciBvPWkoNzY4MzA1KSxzPWkoNzM2NTMxKSxuPWkoMjYwNjkpLGE9aSg3ODY0MzYpLHI9aSgxNTEyMSksaD1pKDYwNDIxNCk7Y2xhc3MgZHtjb25zdHJ1Y3Rvcih0LGUsaSl7dGhpcy5fbWF0cml4PW5ldyBET01NYXRyaXhSZWFkT25seSx0aGlzLl9kYXRhPXQsdGhpcy5faGl0dGVzdD1lLHRoaXMuX3RleHRXaWR0aENhY2hlPWl9ZHJhdyh0LGUpe2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOmx9PWUse2NlbnRlclBvaW50Om8sc3R5bGU6e2xvbGxpcG9wOm59fT10aGlzLl9kYXRhLGE9TWF0aC5yb3VuZChvLngqaSkscj1NYXRoLnJvdW5kKG8ueSpsKSxoPU1hdGgubWF4KDEsTWF0aC5mbG9vcihpKSklMi8yLGQ9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGwpKSUyLzIscD1uZXcgcy5Qb2ludChhK2gsci1kKTt0aGlzLl9tYXRyaXg9KG5ldyBET01NYXRyaXhSZWFkT25seSkudHJhbnNsYXRlKGgsLWQpLnNjYWxlKGksbCkudHJhbnNsYXRlKC1uLndpZHRoLzIsLW4uaGVpZ2h0LzIpLnRyYW5zbGF0ZShvLngsby55KSx0aGlzLl9kcmF3TG9sbGlwb3AodCxwLGUpLHRoaXMuX2RyYXdMYWJlbCh0LHAsZSl9aGl0VGVzdCh0KXtjb25zdCBlPXRoaXMuX2hpdFRlc3RCb3goKTtyZXR1cm4oMCxvLnBvaW50SW5Cb3gpKHQsZSk/dGhpcy5faGl0dGVzdDpudWxsfV9oaXRUZXN0Qm94KCl7Y29uc3QgdD0oMCxoLmludGVyYWN0aW9uVG9sZXJhbmNlKSgpLmVzZCxlPXRoaXMuX2RhdGEuY2VudGVyUG9pbnQueS10aGlzLl9kYXRhLnN0eWxlLmxvbGxpcG9wLmhlaWdodC8yLXQsaT10aGlzLl9kYXRhLmNlbnRlclBvaW50LngtdGhpcy5fZGF0YS5zdHlsZS5sb2xsaXBvcC53aWR0aC8yLXQ7cmV0dXJuKDAscy5ib3gpKG5ldyBzLlBvaW50KGksZSksbmV3IHMuUG9pbnQoaSt0aGlzLl9kYXRhLnN0eWxlLmxvbGxpcG9wLndpZHRoKzIqdCxlK3RoaXMuX2RhdGEuc3R5bGUubG9sbGlwb3AuaGVpZ2h0KzIqdCkpfV9kcmF3TG9sbGlwb3AodCxlLGkpe2NvbnN0IGw9dGhpcy5fZGF0YS5zdHlsZSx7aG9yaXpvbnRhbFBpeGVsUmF0aW86b309aSxzPXRoaXMuX2ZpbGxSYWRpdXMobykKO2wubG9sbGlwb3AuZmlsbENpcmNsZSYmbC5sb2xsaXBvcC5iYWNrZ3JvdW5kQ29sb3ImJnRoaXMuX2RyYXdGaWxsZWRDaXJjbGUodCxlLHMsbC5sb2xsaXBvcC5iYWNrZ3JvdW5kQ29sb3IpO2NvbnN0IG49TWF0aC5yb3VuZChsLmxvbGxpcG9wLmxpbmVXaWR0aCpvKSxhPXMtTWF0aC5yb3VuZCgxKm8rbi8yKTtsLmxvbGxpcG9wLmZpbGxDaXJjbGUmJmwubG9sbGlwb3AuZmlsbFN0eWxlJiZ0aGlzLl9kcmF3RmlsbGVkQ2lyY2xlKHQsZSxhLGwubG9sbGlwb3AuZmlsbFN0eWxlKSx0aGlzLl9kcmF3Qm9yZGVyTGluZSh0LGUsbixhKX1fZHJhd0xhYmVsKHQsZSxpKXtjb25zdCBsPXRoaXMuX2RhdGEuc3R5bGUubG9sbGlwb3AudGV4dCxvPWwubGFiZWw7aWYoIiI9PT1vKXJldHVybjtjb25zdHtob3Jpem9udGFsUGl4ZWxSYXRpbzpzLHZlcnRpY2FsUGl4ZWxSYXRpbzpufT1pO3QudGV4dEFsaWduPSJjZW50ZXIiLHQudGV4dEJhc2VsaW5lPSJtaWRkbGUiLHQuZmlsbFN0eWxlPWwuc3Ryb2tlU3R5bGUsdC5mb250PWwuZm9udDtjb25zdCBhPXRoaXMuX3RleHRXaWR0aENhY2hlLnlNaWRDb3JyZWN0aW9uKHQsbyk7dC50cmFuc2xhdGUoZS54LGUueSthKm4pLCgwLHIuZHJhd1NjYWxlZCkodCxzLG4sKCgpPT57dC5maWxsVGV4dChvLDAsMCl9KSl9X2ZpbGxSYWRpdXModCl7Y29uc3QgZT10aGlzLl9kYXRhLnN0eWxlLGk9TWF0aC5tYXgoMSxNYXRoLmZsb29yKHQpKTtsZXQgbD1NYXRoLnJvdW5kKGUubG9sbGlwb3Aud2lkdGgqdCk7cmV0dXJuIGwlMiE9aSUyJiYobCs9MSksbC8yfV9kcmF3Qm9yZGVyTGluZSh0LGUsaSxsKXtjb25zdCBvPXRoaXMuX2RhdGEuc3R5bGU7dC5zdHJva2VTdHlsZT1vLmxvbGxpcG9wLnN0cm9rZVN0eWxlLHQubGluZVdpZHRoPWksKDAsYS5zZXRMaW5lU3R5bGUpKHQsbi5MSU5FU1RZTEVfU09MSUQpLCgwLGEuY3JlYXRlQ2lyY2xlKSh0LGUueCxlLnksbCksdC5zdHJva2UoKX1fZHJhd0ZpbGxlZENpcmNsZSh0LGUsaSxsKXt0LmZpbGxTdHlsZT1sLCgwLGEuY3JlYXRlQ2lyY2xlKSh0LGUueCxlLnksaSksdC5maWxsKCl9fWZ1bmN0aW9uIHAodCxlLGksbCl7dHJ5e3Quc2F2ZSgpLHQuZmlsbFN0eWxlPWwuZmlsbENvbG9yLHQuZmlsbChmdW5jdGlvbih0LGUpe2NvbnN0IGk9bmV3IFBhdGgyRDtyZXR1cm4gaS5hZGRQYXRoKHQsZSksaX0oZSxpKSxsLmZpbGxSdWxlKX1maW5hbGx5e3QucmVzdG9yZSgpfX19LDU0MDg0NSh0LGUsaSl7aS5kKGUse1ZlcnRpY2FsTGluZVJlbmRlcmVyOigpPT5yfSk7dmFyIGw9aSg3NjMpLG89aSg3ODY0MzYpLHM9aSg2MDQyMTQpLG49aSgxNTEyMSksYT1pKDkzNDMwNSk7Y2xhc3MgciBleHRlbmRzIGEuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2RhdGE9bnVsbCx0aGlzLl9oaXRUZXN0PW5ldyBsLkhpdFRlc3RSZXN1bHQobC5IaXRUYXJnZXQuTW92ZVBvaW50KX1zZXREYXRhKHQpe3RoaXMuX2RhdGE9dH1zZXRIaXRUZXN0KHQpe3RoaXMuX2hpdFRlc3Q9dH1oaXRUZXN0KHQpe2lmKG51bGw9PT10aGlzLl9kYXRhfHxudWxsPT09dGhpcy5faGl0VGVzdClyZXR1cm4gbnVsbDtjb25zdCBlPSgwLHMuaW50ZXJhY3Rpb25Ub2xlcmFuY2UpKCkubGluZSxpPU1hdGguYWJzKHQueC10aGlzLl9kYXRhLngpPD1lK3RoaXMuX2RhdGEubGluZXdpZHRoLzIsbD12b2lkIDA9PT10aGlzLl9kYXRhLnRvcHx8dGhpcy5fZGF0YS50b3AtdC55PD1lLG89dm9pZCAwPT09dGhpcy5fZGF0YS5ib3R0b218fHQueS10aGlzLl9kYXRhLmJvdHRvbTw9ZTtyZXR1cm4gaSYmbCYmbz90aGlzLl9oaXRUZXN0Om51bGx9X2RyYXdJbXBsKHQpe2lmKG51bGw9PT10aGlzLl9kYXRhfHx0aGlzLl9kYXRhLmxpbmV3aWR0aDw9MClyZXR1cm47Y29uc3R7Y29udGV4dDplLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOmwsbWVkaWFTaXplOnN9PXQ7aWYodGhpcy5fZGF0YS54PC10aGlzLl9kYXRhLmxpbmV3aWR0aC8yfHx0aGlzLl9kYXRhLng+cy53aWR0aCt0aGlzLl9kYXRhLmxpbmV3aWR0aC8yKXJldHVybjtlLmxpbmVDYXA9ImJ1dHQiLGUuc3Ryb2tlU3R5bGU9dGhpcy5fZGF0YS5jb2xvcixlLmxpbmVXaWR0aD1NYXRoLm1heCgxLE1hdGguZmxvb3IodGhpcy5fZGF0YS5saW5ld2lkdGgqaSkpLHZvaWQgMCE9PXRoaXMuX2RhdGEubGluZXN0eWxlJiYoMCxvLnNldExpbmVTdHlsZSkoZSx0aGlzLl9kYXRhLmxpbmVzdHlsZSk7Y29uc3QgYT12b2lkIDAhPT10aGlzLl9kYXRhLnRvcD9NYXRoLm1heCh0aGlzLl9kYXRhLnRvcCwwKTowLHI9dm9pZCAwIT09dGhpcy5fZGF0YS5ib3R0b20/TWF0aC5taW4odGhpcy5fZGF0YS5ib3R0b20scy5oZWlnaHQpOnMuaGVpZ2h0LGg9TWF0aC5yb3VuZCh0aGlzLl9kYXRhLngqaSksZD1NYXRoLmZsb29yKGEqbCkscD1NYXRoLmNlaWwocipsKSxjPXRoaXMuX2RhdGEuZXhjbHVkZUJvdW5kYXJpZXM7dm9pZCAwIT09YyYmKDAsbi5hZGRFeGNsdXNpb25BcmVhQnlTY29wZSkodCxjKSwoMCxvLmRyYXdWZXJ0aWNhbExpbmUpKGUsaCxkLHApfX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/19595.d962ab75bd3e1baa5aae.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.002Z","timestamp":1785141585002,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/19595.d962ab75bd3e1baa5aae.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-3aa\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9d110fd52de254fc0f6996b37d4e4d01\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":938,"size_decoded":1141,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (938), with no line terminators","md5":"ef14629eb0ed7a15e49e7c642aa484ef","sha1":"cfeaa9a767678d979a5fd7c738ef2545adf8282b","sha256":"99d133c91adb2471524428e7fc71f9734042eaad94a1abc097a500470c8a2856","sha512":"6f618b450da8775c62ec16e0a36ba0788e31206af19716abc78415d527b21e1d68c824eac3c7dd4ccf35567e42ecbca363d4bd8b077a19e1f49193783ecf3e4c","ssdeep":"","tlshash":"ff11262191110e79bcefa2352ba0990c6281cdb0cd17a4ebb468eb2504c67bb5c8326c","first_seen":"2026-07-17T03:30:51.205823Z","last_seen":"2026-07-27T14:50:15.475914Z","times_seen":93,"resource_available":false,"data":"LmlubmVyLXNsb3QtTmJHcHRENWp7LS11aS1saWItY29udHJvbC1pbm5lci1zbG90LWdhcDoycHg7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleC1zaHJpbms6MDtoZWlnaHQ6Y2FsYygxMDAlIC0gKDNweCAtIHZhcigtLXVpLWxpYi1jb250cm9sLWJvcmRlci13aWR0aCwgMXB4KSkqMik7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tYm90dG9tOmNhbGMoM3B4IC0gdmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAxcHgpKTttYXJnaW4tdG9wOmNhbGMoM3B4IC0gdmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAxcHgpKTttYXJnaW4taW5saW5lLWVuZDp2YXIoLS11aS1saWItY29udHJvbC1pbm5lci1zbG90LWdhcCwycHgpO292ZXJmbG93OmhpZGRlbn0uaW5uZXItc2xvdC1OYkdwdEQ1ajpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0OmNhbGMoM3B4IC0gdmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAxcHgpKX0uaW5uZXItc2xvdC1OYkdwdEQ1ajpudGgtbGFzdC1jaGlsZCgyKXttYXJnaW4taW5saW5lLWVuZDpjYWxjKDNweCAtIHZhcigtLXVpLWxpYi1jb250cm9sLWJvcmRlci13aWR0aCwgMXB4KSl9LmlubmVyLXNsb3QtTmJHcHRENWouaW50ZXJhY3RpdmUtTmJHcHRENWp7Y29sb3I6dmFyKC0tdWktbGliLWNvbnRyb2wtZGVmYXVsdC1zbG90LWNvbG9yLGN1cnJlbnRDb2xvcil9LmlubmVyLXNsb3QtTmJHcHRENWouaWNvbi1OYkdwdEQ1antmbGV4Om5vbmU7d2lkdGg6MjhweH0uaW5uZXItbWlkZGxlLXNsb3QtTmJHcHRENWp7ZmxleDoxIDEgYXV0b30uYmVmb3JlLXNsb3QtTmJHcHRENWp7ZGlzcGxheTpmbGV4O21hcmdpbi1ib3R0b206MnB4fS5hZnRlci1zbG90LU5iR3B0RDVqe2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjRweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.79667.38b400b7bcd71265de7e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.109Z","timestamp":1785141585109,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.79667.38b400b7bcd71265de7e.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632876-443f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:18 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 81d23343baf4219b3cfc5234757c76bd\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":17471,"size_decoded":6840,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3068)","md5":"abdac933416adad2f1f0358c34e06d0c","sha1":"0dc05aeba8286a0334c027665641bcf478994d5d","sha256":"5f564c4503176b996145604c8e659d0a1c2128953899b2e776973f0a91e17e9d","sha512":"56050afbc169f102143e4d56c74c692b0bae5319724042b3417d8740d60592b7d74fb27d1863dce300e020f33f36498a00fd31af8f94b6d301558007054ee92b","ssdeep":"192:nzHO1epgwUCqXYyY0ltStvFnUkst1siHYFhftcmrEnpsMhRl2FlQ8oCe68ciDhvx:nzJWPs0ChspEkmEnptD2FlQ8/e6Axrn","tlshash":"6c72db17c105c0fa8fb5ca227359edc0b5f8b19410f1e8c6b3a95f69c623c656838b79","first_seen":"2026-07-24T15:28:44.838926Z","last_seen":"2026-07-27T12:48:39.705138Z","times_seen":56,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szMjc4LDE4OTExLDUyMzI0LDc5NjY3LDg3MjM4LDk0OTQ3XSx7NDM1NzUwKGUpe2UuZXhwb3J0cz1bIlJlbW92ZSBzZWxlY3RlZCBzeW1ib2xzPyJdfSw4MjY4NzMoZSl7ZS5leHBvcnRzPVsiVW5mbGFnIGFsbCBzeW1ib2xzPyJdfSw0MTcxOTEoZSl7ZS5leHBvcnRzPVsiVW5mbGFnIHNlbGVjdGVkIHN5bWJvbHM/Il19LDIwNjk0OChlKXtlLmV4cG9ydHM9WyJDbGVhciJdfSwzMDkzMyhlKXtlLmV4cG9ydHM9WyJDYW5jZWwiXX0sMTA4KGUpe2UuZXhwb3J0cz1bIlJlbW92ZSJdfSw4MzU5MzcoZSl7ZS5leHBvcnRzPVsiVW5mbGFnIl19LDY2ODQ0OShlKXtlLmV4cG9ydHM9WyJhbmltYWxzICYgbmF0dXJlIl19LDU3NDcxNShlKXtlLmV4cG9ydHM9WyJhY3Rpdml0eSJdfSwxNDc1MDAoZSl7ZS5leHBvcnRzPVsiZm9vZCAmIGRyaW5rIl19LDE3NDE3OChlKXtlLmV4cG9ydHM9WyJmbGFncyJdfSw5NDMzOTMoZSl7ZS5leHBvcnRzPVsib2JqZWN0cyJdfSwzMDYwNzAoZSl7ZS5leHBvcnRzPVsic21pbGVzICYgcGVvcGxlIl19LDI3NjYwOShlKXtlLmV4cG9ydHM9WyJzeW1ib2xzIl19LDQ2NTQ1NihlKXtlLmV4cG9ydHM9WyJyZWNlbnRseSB1c2VkIl19LDEyMzEzOChlKXtlLmV4cG9ydHM9WyJ0cmF2ZWwgJiBwbGFjZXMiXX0sOTA0NzA0KGUpe2UuZXhwb3J0cz1bIk5vIG9wdGlvbnMgYXZhaWxhYmxlIl19LDMwNjYyNihlKXtlLmV4cG9ydHM9WyJCYWNrIl19LDY1MTYzOChlKXtlLmV4cG9ydHM9WyJOZXcgd2F0Y2hsaXN0IG5hbWUiXX0sMTYzOTgwKGUpe2UuZXhwb3J0cz1bIlN5bWJvbCJdfSw3Mzg1NShlKXtlLmV4cG9ydHM9WyJDYWxscyJdfSw5MTU3ODcoZSl7ZS5leHBvcnRzPVsiUHV0cyJdfSw4OTI1KGUpe2UuZXhwb3J0cz1bIkhpZGUgc3ByZWFkIG9wZXJhdG9ycyJdfSwzMjMzNjMoZSl7ZS5leHBvcnRzPVsiU2hvdyBzcHJlYWQgb3BlcmF0b3JzIl19LDk2MjMxOChlKXtlLmV4cG9ydHM9WyJBZGRpdGlvbiJdfSwzMzgwMChlKXtlLmV4cG9ydHM9WyJEaXZpc2lvbiJdfSw5MjMwMjEoZSl7ZS5leHBvcnRzPVsiRXhwb25lbnRpYXRpb24iXX0sNDg0ODc1KGUpe2UuZXhwb3J0cz1bIk11bHRpcGxpY2F0aW9uIl19LDkwNTI5OShlKXtlLmV4cG9ydHM9WyJTdWJ0cmFjdGlvbiJdfSw4NTMzNDkoZSl7ZS5leHBvcnRzPVsiUmVjaXByb2NhbCJdfSw4NDUyMjgoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIHNlYXJjaCJdfSwyMzkxOTgoZSl7ZS5leHBvcnRzPVsiQ29sbGFwc2UiXX0sMzg2MjQ2KGUpe2UuZXhwb3J0cz1bIkV4cGFuZCJdfSwxODEzMDUoZSl7ZS5leHBvcnRzPVsiQ0VYIl19LDQ1MDI3MyhlKXtlLmV4cG9ydHM9WyJDb21tb24gc3RvY2siXX0sMzAxNTkzKGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgU2VydmljZXMiXX0sOTM0MjQ2KGUpe2UuZXhwb3J0cz1bIkNvbW11bmljYXRpb25zIl19LDY4NTEzKGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIl19LDI3Mzk0MyhlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBEdXJhYmxlcyJdfSwyNDY1NShlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBOb24tRHVyYWJsZXMiXX0sMjQ0OTIoZSl7ZS5leHBvcnRzPVsiQ29uc3VtZXIgU2VydmljZXMiXX0sNjc1NDQzKGUpe2UuZXhwb3J0cz1bIkNvcnBvcmF0ZSJdfSw3ODkzMTkoZSl7ZS5leHBvcnRzPVsiQ2Vuc3VzIEJ1cmVhdSJdfSw4NTQ2NjEoZSl7ZS5leHBvcnRzPVsiQ2VudHJhbCBCYW5rIG9mIFdlc3QgQWZyaWNhbiBTdGF0ZXMgKEJDRUFPKSJdfSwzMzgxOTcoZSl7ZS5leHBvcnRzPVsiQ2hlbWljYWxzIl19LDU5ODU4KGUpe2UuZXhwb3J0cz1bIkN1cnJlbmNpZXMiXX0sOTkzMTY4KGUpe2UuZXhwb3J0cz1bIkFLQU1BSSJdfSw0NDY3NjcoZSl7ZS5leHBvcnRzPVsiQWdyaWN1bHR1cmUiXX0sOTc3NzY3KGUpe2UuZXhwb3J0cz1bIkFsbCBjYXRlZ29yaWVzIl19LDM2NTM0MChlKXtlLmV4cG9ydHM9WyJBbGwgZXhjaGFuZ2UgdHlwZXMiXX0sNTAyNTUzKGUpe2UuZXhwb3J0cz1bIkFsbCBzZWN0b3JzIl19LDI4OTI4MChlKXtlLmV4cG9ydHM9WyJBbGwgc291cmNlcyJdfSw3NjEzNjQoZSl7ZS5leHBvcnRzPVsiQWxsIHR5cGVzIl19LDU0NjQ5KGUpe2UuZXhwb3J0cz1bIkJDRUFPIl19LDg5NzAyOShlKXtlLmV4cG9ydHM9WyJCRUEiXX0sOTY5NjEzKGUpe2UuZXhwb3J0cz1bIkJMUyJdfSwxMzczNTMoZSl7ZS5leHBvcnRzPVsiQnVpbGRpbmcgbWF0ZXJpYWxzIl19LDU0MzU1MChlKXtlLmV4cG9ydHM9WyJCdXJlYXUgb2YgRWNvbm9taWNzIEFuYWx5c2lzIl19LDkwMzA4MyhlKXtlLmV4cG9ydHM9WyJCdXJlYXUgb2YgTGFib3VyIFN0YXRpc3RpY3MiXX0sMzg1MTYyKGUpe2UuZXhwb3J0cz1bIkJ1c2luZXNzIl19LDQxNTQwKGUpe2UuZXhwb3J0cz1bIkdEUCJdfSw4MzQ2MzQoZSl7ZS5leHBvcnRzPVsiR292ZXJubWVudCJdfSw1MzU1OShlKXtlLmV4cG9ydHM9WyJHb3Zlcm5tZW50IHNlY3RvciJdfSwzMjg1NDUoZSl7ZS5leHBvcnRzPVsiREVYIl19LDI5MjAyMChlKXtlLmV4cG9ydHM9WyJEZXBvc2l0b3J5IFJlY2VpcHQiXX0sMjk0ODEwKGUpe2UuZXhwb3J0cz1bIkRpc3RyaWJ1dGlvbiBTZXJ2aWNlcyJdfSwyMjc4NjAoZSl7ZS5leHBvcnRzPVsiRVRGIl19LDYyODQ3MihlKXtlLmV4cG9ydHM9WyJFVVJPU1RBVCJdfSwyMzM4OTAoZSl7ZS5leHBvcnRzPVsiRW5lcmd5Il19LDY2MjQ4MShlKXtlLmV4cG9ydHM9WyJFbmVyZ3kgTWluZXJhbHMiXX0sNjEyMDc1KGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWMgVGVjaG5vbG9neSJdfSwxMTA2MihlKXtlLmV4cG9ydHM9WyJGZWRlcmFsIFJlc2VydmUiXX0sNjkxMTg5KGUpe2UuZXhwb3J0cz1bIkZpbmFuY2UiXX0sMjA2MTEoZSl7ZS5leHBvcnRzPVsiRnV0dXJlcyJdfSw5ODc0MzQoZSl7ZS5leHBvcnRzPVsiRnVuZGFtZW50YWwiXX0sMjAxNTc0KGUpe2UuZXhwb3J0cz1bIkhvdXNpbmciXX0sMjIyMDAyKGUpe2UuZXhwb3J0cz1bIkhlYWx0aCJdfSw2MDEzNDkoZSl7ZS5leHBvcnRzPVsiSGVhbHRoIFNlcnZpY2VzIl19LDE1MjgwNShlKXsKZS5leHBvcnRzPVsiSGVhbHRoIFRlY2hub2xvZ3kiXX0sNjY1Njg5KGUpe2UuZXhwb3J0cz1bIklNRiJdfSwzNzc3NDIoZSl7ZS5leHBvcnRzPVsiSUVQIl19LDYwMTU1MShlKXtlLmV4cG9ydHM9WyJJbnRlcmVzdCByYXRlcyJdfSw4NDAxODcoZSl7ZS5leHBvcnRzPVsiSW50ZXJuYXRpb25hbCBNb25ldGFyeSBGdW5kIChJTUYpIl19LDU5NzIwMChlKXtlLmV4cG9ydHM9WyJJbmRleCJdfSwzODIxNDAoZSl7ZS5leHBvcnRzPVsiSW5kdXN0cmlhbCBTZXJ2aWNlcyJdfSw4MzI4NjYoZSl7ZS5leHBvcnRzPVsiSW5zdGl0dXRlIGZvciBFY29ub21pY3MgYW5kIFBlYWNlIl19LDQ1MDU1MChlKXtlLmV4cG9ydHM9WyJPTlMiXX0sNTIwMDQwKGUpe2UuZXhwb3J0cz1bIk9FQ0QiXX0sOTc4Mjk0KGUpe2UuZXhwb3J0cz1bIk9mZmljZSBmb3IgTmF0aW9uYWwgU3RhdGlzdGljcyJdfSwxMTc4MTAoZSl7ZS5leHBvcnRzPVsiT3JnYW5pc2F0aW9uIGZvciBFY29ub21pYyBDby1vcGVyYXRpb24gYW5kIERldmVsb3BtZW50Il19LDgxNTc0MShlKXtlLmV4cG9ydHM9WyJMYWJvciJdfSw3NTQ0OTAoZSl7ZS5leHBvcnRzPVsiTW9uZXkiXX0sNzYxMTIyKGUpe2UuZXhwb3J0cz1bIk1ldGFscyJdfSwzNjc3NjMoZSl7ZS5leHBvcnRzPVsiTWlzY2VsbGFuZW91cyJdfSw5NTc3OTgoZSl7ZS5leHBvcnRzPVsiTXV0dWFsIGZ1bmQiXX0sMTkxNDIoZSl7ZS5leHBvcnRzPVsiTm9uLUVuZXJneSBNaW5lcmFscyJdfSw3NzA5ODIoZSl7ZS5leHBvcnRzPVsiU0lQUkkiXX0sNzQ2NzkyKGUpe2UuZXhwb3J0cz1bIlNpbmdsZSBzdG9jayJdfSw0MzczNTYoZSl7ZS5leHBvcnRzPVsiU3BvdCJdfSw5MTc4MDUoZSl7ZS5leHBvcnRzPVsiU3RhdENhbiJdfSw2NTQ0NDAoZSl7ZS5leHBvcnRzPVsiU3RhdGlzdGljcyBDYW5hZGEiXX0sODYzMjM2KGUpe2UuZXhwb3J0cz1bIlN0YXRpc3RpY3MgTm9yd2F5Il19LDg3MTcyNyhlKXtlLmV4cG9ydHM9WyJTdG9ja2hvbG0gSW50ZXJuYXRpb25hbCBQZWFjZSBSZXNlYXJjaCBJbnN0aXR1dGUiXX0sMTY5MTQ1KGUpe2UuZXhwb3J0cz1bIlN3YXAiXX0sNjc4MzUoZSl7ZS5leHBvcnRzPVsiUHJlLUlQTyJdfSw0ODc0MDQoZSl7ZS5leHBvcnRzPVsiUHJlZmVycmVkIHN0b2NrIl19LDUzNjMzMyhlKXtlLmV4cG9ydHM9WyJQcmljZXMiXX0sNzEyMTk4KGUpe2UuZXhwb3J0cz1bIlByb2Nlc3MgSW5kdXN0cmllcyJdfSw5OTY0MjAoZSl7ZS5leHBvcnRzPVsiUHJvZHVjZXIgTWFudWZhY3R1cmluZyJdfSw5NTAxNzQoZSl7ZS5leHBvcnRzPVsiUkVJVCJdfSwzNjc1ODIoZSl7ZS5leHBvcnRzPVsiUmV0YWlsIFRyYWRlIl19LDI1ODc2MChlKXtlLmV4cG9ydHM9WyJXQiJdfSw3OTA0NjYoZSl7ZS5leHBvcnRzPVsiV0VGIl19LDgzMjk0NyhlKXtlLmV4cG9ydHM9WyJXR0MiXX0sMzM2MTEyKGUpe2UuZXhwb3J0cz1bIldvcmxkIEJhbmsiXX0sNDgzOTY2KGUpe2UuZXhwb3J0cz1bIldvcmxkIEdvbGQgQ291bmNpbCJdfSw4NTk5NTUoZSl7ZS5leHBvcnRzPVsiV29ybGQgRWNvbm9taWMgRm9ydW0iXX0sNzIxNzYyKGUpe2UuZXhwb3J0cz1bIldvcmxkIGluZGljZXMiXX0sNzE0MTQ1KGUpe2UuZXhwb3J0cz1bIldhZ2VJbmRpY2F0b3IiXX0sMzQ1NjA5KGUpe2UuZXhwb3J0cz1bIldhZ2VJbmRpY2F0b3IgRm91bmRhdGlvbiJdfSw0NTU0MDQoZSl7ZS5leHBvcnRzPVsiV2FycmFudCJdfSw5MTE4NjIoZSl7ZS5leHBvcnRzPVsiV2VhdGhlciJdfSwyNzY4MzMoZSl7ZS5leHBvcnRzPVsiVGF4ZXMiXX0sMjg0Njc3KGUpe2UuZXhwb3J0cz1bIlRlY2hub2xvZ3kgU2VydmljZXMiXX0sOTM3OTM1KGUpe2UuZXhwb3J0cz1bIlRydXN0Il19LDIzOTkyOShlKXtlLmV4cG9ydHM9WyJUcmFkZSJdfSw3NzAxMihlKXtlLmV4cG9ydHM9WyJUcmFuc3BhcmVuY3kgSW50ZXJuYXRpb25hbCJdfSw0MzI3MzgoZSl7ZS5leHBvcnRzPVsiVHJhbnNwb3J0YXRpb24iXX0sNTk5ODA3KGUpe2UuZXhwb3J0cz1bIlUuUy4gRW5lcmd5IEluZm9ybWF0aW9uIEFkbWluaXN0cmF0aW9uIl19LDYyNzUwNChlKXtlLmV4cG9ydHM9WyJVRUlBIl19LDM5OTQ1MShlKXtlLmV4cG9ydHM9WyJVU0NCIl19LDM0MzI4NChlKXtlLmV4cG9ydHM9WyJVdGlsaXRpZXMiXX0sNTgwNTY4KGUpe2UuZXhwb3J0cz1bIkNhdGVnb3JpZXMiXX0sMzQ0NzgxKGUpe2UuZXhwb3J0cz1bIkV4Y2hhbmdlIHR5cGVzIl19LDMyMTA4OShlKXtlLmV4cG9ydHM9WyJTb3VyY2VzIl19LDg5NTE3NihlKXtlLmV4cG9ydHM9WyJTZWN0b3JzIl19LDY2MjgzNChlKXtlLmV4cG9ydHM9WyJUeXBlcyJdfSwyODcwMzgoZSl7ZS5leHBvcnRzPVsiUmlnaHQiXX0sNDQ1MzMzKGUpe2UuZXhwb3J0cz1bIlN0cmlrZSJdfSwxNjE3MDgoZSl7ZS5leHBvcnRzPVsiLiJdfSw1MDI2OTIoZSl7ZS5leHBvcnRzPVsiJXMgYWdvIl19LDQ5MDc0MChlKXtlLmV4cG9ydHM9WyJJbiAlcyJdfSwzMjU3MzIoZSl7ZS5leHBvcnRzPVsiQ29jb3MgKEtlZWxpbmcpIElzbGFuZHMiXX0sNDg0MTM2KGUpe2UuZXhwb3J0cz1bIkNvbW9yb3MiXX0sOTY0ODU4KGUpe2UuZXhwb3J0cz1bIkNvbmdvIl19LDI3MTU1OChlKXtlLmV4cG9ydHM9WyJDb25nbyAodGhlIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlKSJdfSw3MDg4NTkoZSl7ZS5leHBvcnRzPVsiQ29vayBJc2xhbmRzIl19LDI2ODg0NChlKXtlLmV4cG9ydHM9WyJDb3N0YSBSaWNhIl19LDY0MTAyNihlKXtlLmV4cG9ydHM9WyJDYXltYW4gSXNsYW5kcyJdfSw2MDEwOTcoZSl7ZS5leHBvcnRzPVsiQ2FibyBWZXJkZSJdfSw1NTU0ODkoZSl7ZS5leHBvcnRzPVsiQ2FtYm9kaWEiXX0sOTc3MDI4KGUpe2UuZXhwb3J0cz1bIkNhbWVyb29uIl19LDc3NDc4KGUpe2UuZXhwb3J0cz1bIkNlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYyJdfSw0ODM1NShlKXtlLmV4cG9ydHM9WyJDaGFkIl19LDk1NjQ2NChlKXtlLmV4cG9ydHM9WyJDaHJpc3RtYXMgSXNsYW5kIl19LDU0OTEwKGUpe2UuZXhwb3J0cz1bIkNsb3NlIG1lbnUiXX0sODgyNDExKGUpe2UuZXhwb3J0cz1bIkNyeXB0byJdfSwyOTk5NjYoZSl7ZS5leHBvcnRzPVsiQ3J5cHRvY3VycmVuY3kiXX0sCjc2OTE0MChlKXtlLmV4cG9ydHM9WyJDdWJhIl19LDU4OTQxNyhlKXtlLmV4cG9ydHM9WyJDdXJhY2FvIl19LDk0NTE3MShlKXtlLmV4cG9ydHM9WyJDdXJhw6dhbyJdfSwxNDY4NChlKXtlLmV4cG9ydHM9WyJDeWFuIl19LDgzOTM5MChlKXtlLmV4cG9ydHM9WyJDeWFuIGxpc3QiXX0sMjYxOTkwKGUpe2UuZXhwb3J0cz1bIkN6ZWNoaWEiXX0sNDk4NzYyKGUpe2UuZXhwb3J0cz1bIkPDtHRlIGQnSXZvaXJlIl19LDEwNDU1MyhlKXtlLmV4cG9ydHM9WyJBbWVyaWNhbiBTYW1vYSJdfSw5OTE0NjQoZSl7ZS5leHBvcnRzPVsiQW1lcmljYXMiXX0sMjk3NTcwKGUpe2UuZXhwb3J0cz1bIkFudGFyY3RpY2EiXX0sNzQ1ODkoZSl7ZS5leHBvcnRzPVsiQW50aWd1YSBhbmQgQmFyYnVkYSJdfSw5NjUyMTMoZSl7ZS5leHBvcnRzPVsiQW5kb3JyYSJdfSw3NzcyMChlKXtlLmV4cG9ydHM9WyJBbmdvbGEiXX0sODU0OTAyKGUpe2UuZXhwb3J0cz1bIkFuZ3VpbGxhIl19LDQxODIzOChlKXtlLmV4cG9ydHM9WyJBZGQgdG8gV2F0Y2hsaXN0Il19LDk5MzEwMShlKXtlLmV4cG9ydHM9WyJBZmdoYW5pc3RhbiJdfSw2NTAzNDQoZSl7ZS5leHBvcnRzPVsiQWZyaWNhIl19LDI4MDAyNShlKXtlLmV4cG9ydHM9WyJBbGJhbmlhIl19LDI5NjE4MShlKXtlLmV4cG9ydHM9WyJBbGdlcmlhIl19LDIzMzY5MChlKXtlLmV4cG9ydHM9WyJBbGwiXX0sNTEzMzA4KGUpe2UuZXhwb3J0cz1bIkFsbCBjb3VudHJpZXMiXX0sMzg0MDIwKGUpe2UuZXhwb3J0cz1bIkFsbCBzb3VyY2VzIl19LDExNDc1NihlKXtlLmV4cG9ydHM9WyJBcnViYSJdfSw3Nzk5NTIoZSl7ZS5leHBvcnRzPVsiQXJtZW5pYSJdfSw2ODkxODIoZSl7ZS5leHBvcnRzPVsiQXNpYSJdfSw3NjQxNzEoZSl7ZS5leHBvcnRzPVsiQXNpYSAvIFBhY2lmaWMiXX0sNDY4MTcoZSl7ZS5leHBvcnRzPVsiQXplcmJhaWphbiJdfSw0MjUzNzgoZSl7ZS5leHBvcnRzPVsiQm90c3dhbmEiXX0sNzMwNzYzKGUpe2UuZXhwb3J0cz1bIkJvdXZldCBJc2xhbmQiXX0sOTMxMzA0KGUpe2UuZXhwb3J0cz1bIkJvbGl2aWEiXX0sNTU3MjM1KGUpe2UuZXhwb3J0cz1bIkJvbmFpcmUsIFNpbnQgRXVzdGF0aXVzIGFuZCBTYWJhIl19LDkwOTA1NChlKXtlLmV4cG9ydHM9WyJCb25kIl19LDI0MzQ2NChlKXtlLmV4cG9ydHM9WyJCb25kcyJdfSw5NzA2OTEoZSl7ZS5leHBvcnRzPVsiQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYSJdfSwzMzUyNTkoZSl7ZS5leHBvcnRzPVsiQmFoYW1hcyJdfSw4MjkzODcoZSl7ZS5leHBvcnRzPVsiQmFyYmFkb3MiXX0sNTIzNTUyKGUpe2UuZXhwb3J0cz1bIkJlbGFydXMiXX0sNzg3NzAxKGUpe2UuZXhwb3J0cz1bIkJlbGl6ZSJdfSw1ODg4NDgoZSl7ZS5leHBvcnRzPVsiQmVuaW4iXX0sMzE0NzM3KGUpe2UuZXhwb3J0cz1bIkJlcm11ZGEiXX0sMjg0NDQyKGUpe2UuZXhwb3J0cz1bIkJodXRhbiJdfSw2MzgxKGUpe2UuZXhwb3J0cz1bIkJsdWUiXX0sNTczODA3KGUpe2UuZXhwb3J0cz1bIkJsdWUgbGlzdCJdfSwzOTE5MDYoZSl7ZS5leHBvcnRzPVsiQnJ1bmVpIl19LDc0NDI0NihlKXtlLmV4cG9ydHM9WyJCcml0aXNoIEluZGlhbiBPY2VhbiBUZXJyaXRvcnkiXX0sNjUzMzQwKGUpe2UuZXhwb3J0cz1bIkJyaXRpc2ggVmlyZ2luIElzbGFuZHMiXX0sMTk4Mjk3KGUpe2UuZXhwb3J0cz1bIkJ1cmtpbmEgRmFzbyJdfSw3NTgyMihlKXtlLmV4cG9ydHM9WyJCdXJ1bmRpIl19LDc2NjYyMihlKXtlLmV4cG9ydHM9WyJHbyB0byBzeW1ib2wiXX0sMzY3NjkwKGUpe2UuZXhwb3J0cz1bIkdhYm9uIl19LDcwODc4NShlKXtlLmV4cG9ydHM9WyJHYW1iaWEiXX0sNzk1OTUxKGUpe2UuZXhwb3J0cz1bIkdlb3JnaWEiXX0sNDk4Njc5KGUpe2UuZXhwb3J0cz1bIkdoYW5hIl19LDc3MTAxNyhlKXtlLmV4cG9ydHM9WyJHaWJyYWx0YXIiXX0sNjgyNjY5KGUpe2UuZXhwb3J0cz1bIkdyZWVuIl19LDQ1OTQwMihlKXtlLmV4cG9ydHM9WyJHcmVlbiBsaXN0Il19LDMxODM5OShlKXtlLmV4cG9ydHM9WyJHcmVlbmxhbmQiXX0sNzkzMjg5KGUpe2UuZXhwb3J0cz1bIkdyZWVjZSJdfSw5MzIwODYoZSl7ZS5leHBvcnRzPVsiR3JlbmFkYSJdfSwyNDIxMTYoZSl7ZS5leHBvcnRzPVsiR3V5YW5hIl19LDE2NDg3NyhlKXtlLmV4cG9ydHM9WyJHdWFkZWxvdXBlIl19LDU0NDMyNShlKXtlLmV4cG9ydHM9WyJHdWFtIl19LDg3NzQ4NyhlKXtlLmV4cG9ydHM9WyJHdWF0ZW1hbGEiXX0sNDA4OTE2KGUpe2UuZXhwb3J0cz1bIkd1ZXJuc2V5Il19LDQzNjQ1NShlKXtlLmV4cG9ydHM9WyJHdWluZWEiXX0sMzA4MjI5KGUpe2UuZXhwb3J0cz1bIkd1aW5lYS1CaXNzYXUiXX0sOTU4OTUxKGUpe2UuZXhwb3J0cz1bIkRvaW5nIHRoaXMgd2lsbCB1bmZsYWcgYWxsIHN5bWJvbHMgZnJvbSBhbGwgeW91ciB3YXRjaGxpc3RzLiJdfSw0OTUzNjkoZSl7ZS5leHBvcnRzPVsiRG9pbmcgdGhpcyB3aWxsIHVuZmxhZyBzZWxlY3RlZCBzeW1ib2xzIGZyb20geW91ciB3YXRjaGxpc3QuIl19LDE5NDMyNihlKXtlLmV4cG9ydHM9WyJEb21pbmljYSJdfSw4MTg2MDQoZSl7ZS5leHBvcnRzPVsiRG9taW5pY2FuIFJlcHVibGljIl19LDM5Nzk4NyhlKXtlLmV4cG9ydHM9WyJEZXNjcmlwdGlvbiJdfSw1MDc3OTgoZSl7ZS5leHBvcnRzPVsiRGppYm91dGkiXX0sNDEzMzk3KGUpe2UuZXhwb3J0cz1bIkVjdWFkb3IiXX0sMTc2Mzc4KGUpe2UuZXhwb3J0cz1bIkVjb25vbXkiXX0sODgwODcyKGUpe2UuZXhwb3J0cz1bIkVsIFNhbHZhZG9yIl19LDc0NjUyNChlKXtlLmV4cG9ydHM9WyJFcXVhdG9yaWFsIEd1aW5lYSJdfSw3MzA4NzMoZSl7ZS5leHBvcnRzPVsiRXJpdHJlYSJdfSw4NzIzOChlKXtlLmV4cG9ydHM9WyJFcnJvciJdfSw4OTgzMDMoZSl7ZS5leHBvcnRzPVsiRXN3YXRpbmkiXX0sMzMxOTEoZSl7ZS5leHBvcnRzPVsiRXRoaW9waWEiXX0sOTUyMzY3KGUpe2UuZXhwb3J0cz1bIkV1cm9wZSJdfSw1MzUxNDYoZSl7ZS5leHBvcnRzPVsiRXVyb3BlYW4gVW5pb24iXX0sMjU1MDkzKGUpe2UuZXhwb3J0cz1bIkZvcmV4Il19LDQ5NzU2OShlKXtlLmV4cG9ydHM9WyJGb3JleCAmIENGRCJdfSw5OTM0NzUoZSl7CmUuZXhwb3J0cz1bIkZhbGtsYW5kIElzbGFuZHMiXX0sNjA3NzIzKGUpe2UuZXhwb3J0cz1bIkZhbGtsYW5kIElzbGFuZHMgKE1hbHZpbmFzKSJdfSw0NTI0ODcoZSl7ZS5leHBvcnRzPVsiRmFyb2UgSXNsYW5kcyJdfSw5NjY0NzUoZSl7ZS5leHBvcnRzPVsiRmVhdHVyZWQiXX0sMTUyNDA5KGUpe2UuZXhwb3J0cz1bIkZpamkiXX0sMzA4MzkoZSl7ZS5leHBvcnRzPVsiRmxhZyB7c3ltYm9sfSJdfSw5NzYwNzkoZSl7ZS5leHBvcnRzPVsiRnJlbmNoIEd1aWFuYSJdfSw4NjM4MjUoZSl7ZS5leHBvcnRzPVsiRnJlbmNoIFBvbHluZXNpYSJdfSwzMjg2MDcoZSl7ZS5leHBvcnRzPVsiRnJlbmNoIFNvdXRoZXJuIFRlcnJpdG9yaWVzIl19LDk0MzkwMyhlKXtlLmV4cG9ydHM9WyJGdXR1cmVzIl19LDQ4MDQ2MShlKXtlLmV4cG9ydHM9WyJGdW5kcyJdfSw2NzY4NihlKXtlLmV4cG9ydHM9WyJLb3Nvdm8iXX0sMjc3NTYwKGUpe2UuZXhwb3J0cz1bIkthemFraHN0YW4iXX0sNDQ2MjkzKGUpe2UuZXhwb3J0cz1bIktpcmliYXRpIl19LDQ1ODY2MChlKXtlLmV4cG9ydHM9WyJLeXJneXpzdGFuIl19LDEyNzQ5KGUpe2UuZXhwb3J0cz1bIkhvbHkgU2VlIl19LDIwMjgxNihlKXtlLmV4cG9ydHM9WyJIb25kdXJhcyJdfSw4OTQ3MDkoZSl7ZS5leHBvcnRzPVsiSGFpdGkiXX0sMjM2MTIzKGUpe2UuZXhwb3J0cz1bIkhlYXJkIElzbGFuZCBhbmQgTWNEb25hbGQgSXNsYW5kcyJdfSw1NjI2NjcoZSl7ZS5leHBvcnRzPVsiSW5kaWNlcyJdfSwzNzE3NDYoZSl7ZS5leHBvcnRzPVsiSXJhcSJdfSwyMDc4MjUoZSl7ZS5leHBvcnRzPVsiSXNsZSBvZiBNYW4iXX0sODQxNzk5KGUpe2UuZXhwb3J0cz1bIklzc3VlIFdpdGggRmxhZ2dpbmciXX0sNTgzMDA5KGUpe2UuZXhwb3J0cz1bIkpvcmRhbiJdfSwxNjM1KGUpe2UuZXhwb3J0cz1bIkphbWFpY2EiXX0sMTE4NTk4KGUpe2UuZXhwb3J0cz1bIkplcnNleSJdfSw0MDIzMjQoZSl7ZS5leHBvcnRzPVsiT0siXX0sMjg1MjkzKGUpe2UuZXhwb3J0cz1bIk9tYW4iXX0sMjg1MTMxKGUpe2UuZXhwb3J0cz1bIk9vcHMhIFRoZXJlJ3Mgbm90aGluZyBoZXJlIGZvciB0aGlzIHNlbGVjdGVkIG9wdGlvbiBzZXJpZXMiXX0sMTQ1MzQ4KGUpe2UuZXhwb3J0cz1bIk9rLCB0aGFua3MiXX0sNTg3NDY0KGUpe2UuZXhwb3J0cz1bIk9wdGlvbnMiXX0sOTcxMjgzKGUpe2UuZXhwb3J0cz1bIk9yYW5nZSJdfSw1MDYzMzAoZSl7ZS5leHBvcnRzPVsiT3JhbmdlIGxpc3QiXX0sOTcwOTA5KGUpe2UuZXhwb3J0cz1bIk90aGVycyJdfSw1OTExODAoZSl7ZS5leHBvcnRzPVsiTGFvcyJdfSw5NDU2MTMoZSl7ZS5leHBvcnRzPVsiTGViYW5vbiJdfSw2NTMzOTUoZSl7ZS5leHBvcnRzPVsiTGVzb3RobyJdfSw2NjIxKGUpe2UuZXhwb3J0cz1bIkxpYmVyaWEiXX0sNTU1MzUyKGUpe2UuZXhwb3J0cz1bIkxpYnlhIl19LDM4NjY2NyhlKXtlLmV4cG9ydHM9WyJMaWVjaHRlbnN0ZWluIl19LDEwMDAyNihlKXtlLmV4cG9ydHM9WyJNb3phbWJpcXVlIl19LDMyMTMzNihlKXtlLmV4cG9ydHM9WyJNb2xkb3ZhIl19LDIwODkwNChlKXtlLmV4cG9ydHM9WyJNb25hY28iXX0sOTEzNzA5KGUpe2UuZXhwb3J0cz1bIk1vbmdvbGlhIl19LDczOTM2NShlKXtlLmV4cG9ydHM9WyJNb250ZW5lZ3JvIl19LDMzMzI2MihlKXtlLmV4cG9ydHM9WyJNb250c2VycmF0Il19LDM5NDk0NyhlKXtlLmV4cG9ydHM9WyJNb3JlIl19LDY2Nzk5NihlKXtlLmV4cG9ydHM9WyJNYXVyaXRhbmlhIl19LDE1MDA1NChlKXtlLmV4cG9ydHM9WyJNYXVyaXRpdXMiXX0sNDgzMTQ5KGUpe2UuZXhwb3J0cz1bIk1heW90dGUiXX0sMzA3MDYyKGUpe2UuZXhwb3J0cz1bIk1hY2FvIl19LDUzMjI2OShlKXtlLmV4cG9ydHM9WyJNYWNhdSwgQ2hpbmEiXX0sNDU5MTA4KGUpe2UuZXhwb3J0cz1bIk1hY2Vkb25pYSJdfSw2NjAxODgoZSl7ZS5leHBvcnRzPVsiTWFkYWdhc2NhciJdfSwyNDU5NDgoZSl7ZS5leHBvcnRzPVsiTWFsYXdpIl19LDMzMTYxNShlKXtlLmV4cG9ydHM9WyJNYWxkaXZlcyJdfSw2MjM0NjUoZSl7ZS5leHBvcnRzPVsiTWFsaSJdfSw0Nzc4NDMoZSl7ZS5leHBvcnRzPVsiTWFyc2hhbGwgSXNsYW5kcyJdfSwxMzUxNTIoZSl7ZS5leHBvcnRzPVsiTWFydGluaXF1ZSJdfSw1OTgyNDcoZSl7ZS5leHBvcnRzPVsiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIl19LDI5MTA5OChlKXtlLmV4cG9ydHM9WyJNaWNyb25lc2lhIChGZWRlcmF0ZWQgU3RhdGVzIG9mKSJdfSw2ODU3NTEoZSl7ZS5leHBvcnRzPVsiTWlkZGxlIEVhc3QiXX0sNjAzMDY1KGUpe2UuZXhwb3J0cz1bIk1pZGRsZSBFYXN0IC8gQWZyaWNhIl19LDIzOTQzKGUpe2UuZXhwb3J0cz1bIk15YW5tYXIiXX0sNzQ0ODcwKGUpe2UuZXhwb3J0cz1bIk5vIGRhdGEgZm9yIHRoaXMgc3ltYm9sIl19LDQ3MjI5OShlKXtlLmV4cG9ydHM9WyJObyBleGNoYW5nZXMgbWF0Y2ggeW91ciBjcml0ZXJpYSJdfSw0MTc3NyhlKXtlLmV4cG9ydHM9WyJObyBzeW1ib2xzIG1hdGNoIHlvdXIgY3JpdGVyaWEiXX0sNjg5NzE2KGUpe2UuZXhwb3J0cz1bIk5vcnRoIEFtZXJpY2EiXX0sNzI5NzgyKGUpe2UuZXhwb3J0cz1bIk5vcnRoIE1hY2Vkb25pYSJdfSw2MTI1NTcoZSl7ZS5leHBvcnRzPVsiTm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzIl19LDQ3MzQzNyhlKXtlLmV4cG9ydHM9WyJOYXVydSJdfSw1NzA2MTgoZSl7ZS5leHBvcnRzPVsiTmFtaWJpYSJdfSwyNDk1ODgoZSl7ZS5leHBvcnRzPVsiTmV3IENhbGVkb25pYSJdfSw0NzEyODgoZSl7ZS5leHBvcnRzPVsiTmVwYWwiXX0sOTA3NDcwKGUpe2UuZXhwb3J0cz1bIk5pdWUiXX0sNjIzNDQwKGUpe2UuZXhwb3J0cz1bIk5pY2FyYWd1YSJdfSw1OTIxODkoZSl7ZS5leHBvcnRzPVsiTmlnZXIiXX0sNzk1MDIxKGUpe2UuZXhwb3J0cz1bIlNJTlQgTUFBUlRFTiAoRFVUQ0ggUEFSVCkiXX0sNDg2NzE0KGUpe2UuZXhwb3J0cz1bIlNvdXJjZXMiXX0sNDQ3ODU0KGUpe2UuZXhwb3J0cz1bIlNvdXRoIEdlb3JnaWEgYW5kIHRoZSBTb3V0aCBTYW5kd2ljaCBJc2xhbmRzIl19LDQ1NzE4NihlKXtlLmV4cG9ydHM9WyJTb3V0aCBTdWRhbiJdfSwxODE3OChlKXsKZS5leHBvcnRzPVsiU29sb21vbiBJc2xhbmRzIl19LDYwMDU3KGUpe2UuZXhwb3J0cz1bIlNvbWFsaWEiXX0sMTk5NDgzKGUpe2UuZXhwb3J0cz1bIlNhaW50IEJhcnRow6lsZW15Il19LDU3Njk3NShlKXtlLmV4cG9ydHM9WyJTYWludCBLaXR0cyBhbmQgTmV2aXMiXX0sOTU1ODM1KGUpe2UuZXhwb3J0cz1bIlNhaW50IEhlbGVuYSwgQXNjZW5zaW9uIGFuZCBUcmlzdGFuIGRhIEN1bmhhIl19LDI1ODMxMShlKXtlLmV4cG9ydHM9WyJTYWludCBMdWNpYSJdfSw0MjUwNjQoZSl7ZS5leHBvcnRzPVsiU2FpbnQgTWFydGluIChGcmVuY2ggcGFydCkiXX0sNzk3MDM1KGUpe2UuZXhwb3J0cz1bIlNhaW50IFBpZXJyZSBhbmQgTWlxdWVsb24iXX0sNjIyNjEzKGUpe2UuZXhwb3J0cz1bIlNhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzIl19LDU5ODk2MyhlKXtlLmV4cG9ydHM9WyJTYW1vYSJdfSw5OTk3NjIoZSl7ZS5leHBvcnRzPVsiU2FuIE1hcmlubyJdfSwyNzkzODIoZSl7ZS5leHBvcnRzPVsiU2FvIFRvbWUgYW5kIFByaW5jaXBlIl19LDUwNjkxNShlKXtlLmV4cG9ydHM9WyJTZXQge2NvbG9yfSBmbGFnIl19LDQyMDgyMShlKXtlLmV4cG9ydHM9WyJTZXljaGVsbGVzIl19LDM1MjEyNyhlKXtlLmV4cG9ydHM9WyJTZWFyY2giXX0sNDc5MjQ2KGUpe2UuZXhwb3J0cz1bIlNlbGVjdCBzb3VyY2UiXX0sMjI0Mjg5KGUpe2UuZXhwb3J0cz1bIlNlbmVnYWwiXX0sNTg5MDcyKGUpe2UuZXhwb3J0cz1bIlNob3cgdGhlIG1hcmtldHMgeW91IGNhbiBwbGFjZSBhbiBvcmRlciB3aXRoIHticm9rZXJOYW1lfSJdfSw2MjE0MzAoZSl7ZS5leHBvcnRzPVsiU2hvdyBtZSJdfSwxNjQ5OTIoZSl7ZS5leHBvcnRzPVsiU2llcnJhIExlb25lIl19LDczNjQwKGUpe2UuZXhwb3J0cz1bIlNpbnQgTWFhcnRlbiAoRHV0Y2ggcGFydCkiXX0sNTIyMDE0KGUpe2UuZXhwb3J0cz1bIlN0b2NrcyJdfSw5NzQ0MDQoZSl7ZS5leHBvcnRzPVsiU3VkYW4iXX0sODE4ODM3KGUpe2UuZXhwb3J0cz1bIlN1cmluYW1lIl19LDk3MzkxNShlKXtlLmV4cG9ydHM9WyJTdmFsYmFyZCBhbmQgSmFuIE1heWVuIl19LDYxMzE2MyhlKXtlLmV4cG9ydHM9WyJTeW1ib2wiXX0sMTAwMzczKGUpe2UuZXhwb3J0cz1bIlN5bWJvbCAmIGRlc2NyaXB0aW9uIl19LDQwNjAxMyhlKXtlLmV4cG9ydHM9WyJTeW1ib2wgbm90IGZvdW5kIG9uIHtleGNoYW5nZU5hbWV9Il19LDk2MTYxNChlKXtlLmV4cG9ydHM9WyJTeW1ib2wgZ3JvdXAiXX0sMjEzMjk5KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCwgSVNJTiwgb3IgQ1VTSVAiXX0sMjcxODQwKGUpe2UuZXhwb3J0cz1bIlN5bWJvbHMgbm90IGZvdW5kIGluIHtzeW1ib2xUeXBlfSJdfSw0ODg1OTkoZSl7ZS5leHBvcnRzPVsiU3ltYm9scyBub3QgZm91bmQgaW4ge3N5bWJvbFR5cGV9IG9uIHtleGNoYW5nZU5hbWV9Il19LDQ2NTYwNihlKXtlLmV4cG9ydHM9WyJTeW1ib2xzIG5vdCBmb3VuZCBpbiB7c3ltYm9sVHlwZX0gd2l0aCBzdWNoIGNyaXRlcmlhIl19LDI3NDQ4NShlKXtlLmV4cG9ydHM9WyJTeXJpYSJdfSw5OTA1NzUoZSl7ZS5leHBvcnRzPVsiUGFjaWZpYyJdfSw3OTg0NzYoZSl7ZS5leHBvcnRzPVsiUGFsYXUiXX0sNjk4MDgzKGUpe2UuZXhwb3J0cz1bIlBhbGVzdGluZSwgU3RhdGUgb2YiXX0sMTAwNzI5KGUpe2UuZXhwb3J0cz1bIlBhbmFtYSJdfSw3MjU2OTcoZSl7ZS5leHBvcnRzPVsiUGFwdWEgTmV3IEd1aW5lYSJdfSw0MjAxMzUoZSl7ZS5leHBvcnRzPVsiUGFyYWd1YXkiXX0sMzg0MzgyKGUpe2UuZXhwb3J0cz1bIlBpdGNhaXJuIl19LDY3Njc2OChlKXtlLmV4cG9ydHM9WyJQaW5rIl19LDk0MTk4NihlKXtlLmV4cG9ydHM9WyJQaW5rIGxpc3QiXX0sNTUyMDk1KGUpe2UuZXhwb3J0cz1bIlByaW1hcnkgZXhjaGFuZ2UiXX0sODQzMzI3KGUpe2UuZXhwb3J0cz1bIlB1ZXJ0byBSaWNvIl19LDY3MDkyMyhlKXtlLmV4cG9ydHM9WyJQdXJwbGUiXX0sOTA3ODc0KGUpe2UuZXhwb3J0cz1bIlB1cnBsZSBsaXN0Il19LDY1NTA0MihlKXtlLmV4cG9ydHM9WyJSZWQiXX0sMTY1NTAxKGUpe2UuZXhwb3J0cz1bIlJlZCBsaXN0Il19LDk2ODA0NyhlKXtlLmV4cG9ydHM9WyJSZW1vdmUgZnJvbSBXYXRjaGxpc3QiXX0sNzU0MzgyKGUpe2UuZXhwb3J0cz1bIlJlbW92ZSBzZWxlY3RlZCBlbW9qaSJdfSw5MjQzMjgoZSl7ZS5leHBvcnRzPVsiUmVzZXQgYWxsIGZpbHRlcnMiXX0sOTcyMTczKGUpe2UuZXhwb3J0cz1bIlJlc2V0IHNvbWUgY3JpdGVyaWEgdG8gc2hvdyBzeW1ib2xzIGluIHtzeW1ib2xUeXBlfSJdfSw5MzQ4ODMoZSl7ZS5leHBvcnRzPVsiUnVzc2lhIl19LDc1ODI5NyhlKXtlLmV4cG9ydHM9WyJSd2FuZGEiXX0sODcyNjgwKGUpe2UuZXhwb3J0cz1bIlLDqXVuaW9uIl19LDUxMzk1MyhlKXtlLmV4cG9ydHM9WyJXb3JsZHdpZGUiXX0sNTY2OTQ4KGUpe2UuZXhwb3J0cz1bIldhdGNobGlzdCBjYW5ub3QgdGFrZSBhbnltb3JlLCBDYXAnbiJdfSwzODIwMjUoZSl7ZS5leHBvcnRzPVsiV2F0Y2hsaXN0IGVycm9yIl19LDU5MDUwNShlKXtlLmV4cG9ydHM9WyJXYWxsaXMgYW5kIEZ1dHVuYSJdfSw4ODEyNzcoZSl7ZS5leHBvcnRzPVsiV2VzdGVybiBTYWhhcmEiXX0sMzI4ODI4KGUpe2UuZXhwb3J0cz1bIldob2EgdGhlcmUsIHlvdSBjYW4ndCBnbyBhZGRpbmcgb3ZlciB7bnVtYmVyfSBzeW1ib2xzIGFuZCBzZXBhcmF0b3JzIHRvIGEgd2F0Y2hsaXN0IOKAkyB3ZSdyZSBlbmdpbmVlcnMgbm90IG1pcmFjbGUgd29ya2Vycy4iXX0sNjE0NDUwKGUpe2UuZXhwb3J0cz1bIlRvZGF5Il19LDgzMjQ0OChlKXtlLmV4cG9ydHM9WyJUb2dvIl19LDk0MDQ4MyhlKXtlLmV4cG9ydHM9WyJUb21vcnJvdyJdfSwyNTA1NTUoZSl7ZS5leHBvcnRzPVsiVG9uZ2EiXX0sOTY4NDU4KGUpe2UuZXhwb3J0cz1bIlRhamlraXN0YW4iXX0sNDk4MTgzKGUpe2UuZXhwb3J0cz1bIlRhbnphbmlhIl19LDgwMzA1MShlKXtlLmV4cG9ydHM9WyJUaW1vci1MZXN0ZSJdfSwzMzU2NzMoZSl7ZS5leHBvcnRzPVsiVHJ5IGFnYWluIGJ5IHNlbGVjdGluZyBhbm90aGVyIGV4cGlyYXRpb24gZGF0ZS4iXX0sOTg0MjM2KGUpewplLmV4cG9ydHM9WyJUcnkgc2VsZWN0aW5nIGFub3RoZXIgc3ltYm9sLiJdfSwzMTQ4NyhlKXtlLmV4cG9ydHM9WyJUcmluaWRhZCBhbmQgVG9iYWdvIl19LDQzMDEzNChlKXtlLmV4cG9ydHM9WyJUdXZhbHUiXX0sNzM1NjgzKGUpe2UuZXhwb3J0cz1bIlR1cmttZW5pc3RhbiJdfSw5NzA2MjQoZSl7ZS5leHBvcnRzPVsiVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzIl19LDE5MjkxMChlKXtlLmV4cG9ydHM9WyJUeXBlIHRvIHNlYXJjaCBmb3Igc3ltYm9sIl19LDQzMTM3NyhlKXtlLmV4cG9ydHM9WyJVLlMuIFZpcmdpbiBJc2xhbmRzIl19LDg2MDcyMihlKXtlLmV4cG9ydHM9WyJVbmFibGUgdG8gZmxhZyBhbGwgc2VsZWN0ZWQgc3ltYm9scyBzaW5jZSBpdCBleGNlZWRzIHRoZSBtYXhpbXVtIGFtb3VudCAoe2xpbWl0fSkuIl19LDMzMjc1MyhlKXtlLmV4cG9ydHM9WyJVbmZsYWcgQWxsIFN5bWJvbHMgaW4gdGhlIFN5c3RlbSJdfSw2OTIxKGUpe2UuZXhwb3J0cz1bIlVuZmxhZyB7c3ltYm9sfSJdfSw5Njc5NDEoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIFN0YXRlcyJdfSw3MzY3OTkoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIFN0YXRlcyBNaW5vciBPdXRseWluZyBJc2xhbmRzIl19LDU4ODY5MyhlKXtlLmV4cG9ydHM9WyJVZ2FuZGEiXX0sMzE3NDc1KGUpe2UuZXhwb3J0cz1bIlVrcmFpbmUiXX0sOTI4NTUzKGUpe2UuZXhwb3J0cz1bIlVydWd1YXkiXX0sNTQyNjA5KGUpe2UuZXhwb3J0cz1bIlVzZSB0aGUgYXJyb3dzIG9yIG1vdXNlIHRvIG5hdmlnYXRlIHRocm91Z2ggdGhlIGNoYWluLiBQcmVzcyBFbnRlciBvciBjbGljayB0byBzZWxlY3QgYW5kIG9wZW4gdGhlIGNoYXJ0LiJdfSw3ODM5NzAoZSl7ZS5leHBvcnRzPVsiVXpiZWtpc3RhbiJdfSw0MTYyNTcoZSl7ZS5leHBvcnRzPVsiVmFudWF0dSJdfSw0MjMyMDYoZSl7ZS5leHBvcnRzPVsiVmlyZ2luIElzbGFuZHMgKEJyaXRpc2gpIl19LDMwMTIyOShlKXtlLmV4cG9ydHM9WyJWaXJnaW4gSXNsYW5kcyAoVS5TLikiXX0sNDA5Mzg0KGUpe2UuZXhwb3J0cz1bIlllbWVuIl19LDk2NTU3MyhlKXtlLmV4cG9ydHM9WyJZZXN0ZXJkYXkiXX0sODY3MzkzKGUpe2UuZXhwb3J0cz1bIlphbWJpYSJdfSw5NTkxNTUoZSl7ZS5leHBvcnRzPVsiWmltYmFid2UiXX0sNzYyOTIyKGUpe2UuZXhwb3J0cz1bImNvbW1vZGl0eSJdfSwyMDgwMTcoZSl7ZS5leHBvcnRzPVsiY2ZkIl19LDk5MTA1OShlKXtlLmV4cG9ydHM9WyJjcnlwdG8iXX0sOTc0MjY0KGUpe2UuZXhwb3J0cz1bImRyIl19LDk5Njg4MihlKXtlLmV4cG9ydHM9WyJlY29ub215Il19LDg3MzU5NyhlKXtlLmV4cG9ydHM9WyJmb3JleCJdfSw4MDY3MjcoZSl7ZS5leHBvcnRzPVsiZnV0dXJlcyJdfSw2NTg5MjYoZSl7ZS5leHBvcnRzPVsiaW5kZXgiXX0sMTUxNjEoZSl7ZS5leHBvcnRzPVsiaW5kaWNlcyJdfSwzNjQ2MjUoZSl7ZS5leHBvcnRzPVsic3RvY2siXX0sOTAxNTI3KGUpe2UuZXhwb3J0cz1bIntzeW1ib2xOYW1lfSBPcHRpb25zIl19LDUzNDEzMihlKXtlLmV4cG9ydHM9WyJ7c3ltYm9sfSBub3QgZm91bmQgaW4ge3N5bWJvbFR5cGV9Il19LDIwMzA4NShlKXtlLmV4cG9ydHM9WyJ7c3ltYm9sfSBub3QgZm91bmQgaW4ge3N5bWJvbFR5cGV9IHdpdGggc3VjaCBjcml0ZXJpYSJdfSw5MDY1NTQoZSl7ZS5leHBvcnRzPVsiw4VsYW5kIElzbGFuZHMiXX0sNTUwMjYoZSl7ZS5leHBvcnRzPVsiJWQgZGF5IiwiJWQgZGF5cyJdfSwxNjk4MyhlKXtlLmV4cG9ydHM9WyJEb2luZyB0aGlzIHdpbGwgcmVtb3ZlIHtjb3VudH0gc2VsZWN0ZWQgc3ltYm9sIGZyb20geW91ciB3YXRjaGxpc3QuIiwiRG9pbmcgdGhpcyB3aWxsIHJlbW92ZSB7Y291bnR9IHNlbGVjdGVkIHN5bWJvbHMgZnJvbSB5b3VyIHdhdGNobGlzdC4iXX0sNDM4Nzc1KGUpe2UuZXhwb3J0cz1bIlRoZXJlIGlzIGFsc28ge2NvdW50fSBzeW1ib2wgaW4gb3RoZXIgbWFya2V0cyIsIlRoZXJlIGFyZSBhbHNvIHtjb3VudH0gc3ltYm9scyBpbiBvdGhlciBtYXJrZXRzIl19LDEwMTIyOChlKXtlLmV4cG9ydHM9WyJ7bWF0Y2hpbmdDb3VudH0gbWF0Y2hpbmcgc3ltYm9sIGZvdW5kIHdpdGggb3RoZXIgZmlsdGVycyIsInttYXRjaGluZ0NvdW50fSBtYXRjaGluZyBzeW1ib2xzIGZvdW5kIHdpdGggb3RoZXIgZmlsdGVycyJdfX1dKTs="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/error-renderer.dc2ce717d0e5028b35fc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.614Z","timestamp":1785141584614,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/error-renderer.dc2ce717d0e5028b35fc.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-3007\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 68e5903bec40856b9b16ed6381180fc4\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":12295,"size_decoded":5518,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3067)","md5":"1c7314ec5698d1269fcf3fe8e9d48648","sha1":"d1fb17b9e771bd250914284740cc34a81547b91d","sha256":"bd627f042740901d7be3db9685ce7831516e3f188779cc4a1ae7dbaa6fd32b74","sha512":"1b164cef2eadd5807eaaff6a71f636a4c6c0f4974124302f30b8eeb70e2bf37fee66589a465b1619919462a2a0c3d3c5336d900152e91200950f0205b73d7452","ssdeep":"384:iBaD9U0gstXMY5/BUFXXRn8XaTigVaft1nglXBxEiS1WCSELCg4N:iBaD20gst8Y5/BUj8XmV+tyLCsCSEM","tlshash":"4042f7a462dab965636201cae474b813b22c2d02348d86a8f72c9dcf371cd41f57d776","first_seen":"2026-07-22T16:00:00.456338Z","last_seen":"2026-07-27T14:50:15.292252Z","times_seen":140,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjA5NjksNzExODUsNzQzNDFdLHs5MDEwMjIoZSx0LHIpe3IuZCh0LHtTRVBBUkFUT1JfUFJFRklYOigpPT5zLGlzU2VwYXJhdG9ySXRlbTooKT0+bn0pO2NvbnN0IHM9IiMjIyI7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZS5zdGFydHNXaXRoKHMpfX0sMTI4ODE0KGUsdCxyKXtyLmQodCx7UXVvdGVTZXNzaW9uU25hcHNob3RlcjooKT0+ZH0pO3ZhciBzPXIoOTQ4MzgwKSxuPXIoMTUwMTUwKSxvPXIoMjE0OTg3KSxhPXIoMTM4NjM4KSxpPXIoMzY3OTQ2KSxsPXIoOTcwNzc0KSxjPXIoMzA5MDUyKTtjb25zdCB1PW5ldyBNYXAoW1siY2hhbmdlIiwiY2giXSxbImxhc3RfcHJpY2UiLCJscCJdLFsiY2hhbmdlX3BlcmNlbnQiLCJjaHAiXSxbInVwZGF0ZV9tb2RlX3NlY29uZHMiLG51bGxdXSk7bmV3IE1hcChbWyJjaCIsImNoYW5nZSJdLFsibHAiLCJsYXN0X3ByaWNlIl0sWyJjaHAiLCJjaGFuZ2VfcGVyY2VudCJdXSk7Y2xhc3MgZHtjb25zdHJ1Y3RvcihlKXtpZih0aGlzLl9vblN5bWJvbERhdGE9bmV3IHMuRGVsZWdhdGUsdGhpcy5faW5jb21wbGV0ZT1uZXcgU2V0LHRoaXMuX3VwZGF0ZWRGaWVsZHM9bmV3IE1hcCx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsLHRoaXMuX2hhbmRsZXI9ZT0+e3N3aXRjaChlLm1ldGhvZCl7Y2FzZSJjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZHx8KHRoaXMuX2Nvbm5lY3RlZD0hMCx0aGlzLl9oYW5kbGVDb25uZWN0ZWQoKSk7YnJlYWs7Y2FzZSJxdW90ZV9zeW1ib2xfZGF0YSI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVTeW1ib2xEYXRhKGUucGFyYW1zWzBdKTticmVhaztjYXNlInF1b3RlX2NvbXBsZXRlZCI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVDb21wbGV0ZURhdGEoZS5wYXJhbXNbMF0pO2JyZWFrO2Nhc2UiZGlzY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWQmJih0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsKX19LDA9PT1lLmZpZWxkcy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCdTdXBwb3J0IGZvciBlbXB0eSAiZmllbGRzIiBhcnJheSBpcyBub3QgaW1wbGVtZW50ZWQnKTtjb25zdHtwcm92aWRlcjp0PWwuUXVvdGVTZXNzaW9ufT1lO3RoaXMuX2ZpZWxkcz1uZXcgU2V0KGUuZmllbGRzKSx0aGlzLl9zZXNzaW9uPW5ldyB0KGUuYXBpLFsic25hcHNob3RlciIsZS5uYW1lLCgwLG4ucmFuZG9tSGFzaCkoKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIl8iKSksdGhpcy5fc2Vzc2lvbi5jb25uZWN0KHRoaXMuX2hhbmRsZXIpfWdldFNuYXBzaG90U3luYyhlLHQpe2NvbnN0IHI9ZC5jYWNoZS5nZXQoZSk7cmV0dXJuIHImJnRoaXMuX2lzU25hcHNob3RSZWFkeShyLHtmaWVsZHM6dCx0aW1lc3RhbXA6bnVsbH0pP3I6bnVsbH1nZXRTbmFwc2hvdHNGb3JBbGxTeW5jKGUsdCl7cmV0dXJuIGUubWFwKChlPT50aGlzLmdldFNuYXBzaG90U3luYyhlLHQpKSl9Z2V0U25hcHNob3QoZSx0LHIpe2NvbnN0IHM9cj8uc2lnbmFsPz9udWxsLG49cj8uZnJlc2huZXNzLGk9dm9pZCAwIT09bj9EYXRlLm5vdygpLW46bnVsbDtyZXR1cm4gbmV3IFByb21pc2UoKChyLG4pPT57aWYocyYmcy5hYm9ydGVkKXRocm93KDAsby5jcmVhdGVBYm9ydEVycm9yKSgpO2NvbnN0IGw9KCk9Pnt0aGlzLl9vblN5bWJvbERhdGEudW5zdWJzY3JpYmUodGhpcyxjKSxuKCgwLG8uY3JlYXRlQWJvcnRFcnJvcikoKSl9LGM9KG49ZSk9PntpZihuIT09ZSlyZXR1cm47Y29uc3Qgbz1kLmNhY2hlLmdldChlKTtvJiZ0aGlzLl9pc1NuYXBzaG90UmVhZHkobyx7dGltZXN0YW1wOmksc3ltYm9sOmUsZmllbGRzOnR9KSYmKHRoaXMuX29uU3ltYm9sRGF0YS51bnN1YnNjcmliZSh0aGlzLGMpLHM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixsKSxyKG8pKX07aWYoISgoKT0+e2NvbnN0IHM9ZC5jYWNoZS5nZXQoZSk7aWYoIXMpcmV0dXJuITE7Y29uc3Qgbj0oMCxhLmVuc3VyZU5vdE51bGwpKGQuY2FjaGUuZ2V0VGltZXMoZSkpO3JldHVybiEhdGhpcy5faXNTbmFwc2hvdFJlYWR5KHMse2ZpZWxkczp0LHN5bWJvbDplLHRpbWVzdGFtcDppLHRpbWVzOm59KSYmKHIocyksITApfSkoKSYmKHM/LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixsLHtvbmNlOiEwfSksdGhpcy5fb25TeW1ib2xEYXRhLnN1YnNjcmliZSh0aGlzLGMpLCF0aGlzLl9pbmNvbXBsZXRlLmhhcyhlKSkpe2lmKHRoaXMuX3VwZGF0ZWRGaWVsZHMuc2V0KGUsbmV3IFNldCksdGhpcy5faW5jb21wbGV0ZS5hZGQoZSksIXRoaXMuX2Nvbm5lY3RlZClyZXR1cm47aWYobnVsbD09PXRoaXMuX2JhdGNoZXIpe2NvbnN0IHQ9dGhpcy5fYmF0Y2hlcj17c3ltYm9sczpuZXcgU2V0KFtlXSkscHJvbWlzZTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e3RoaXMuX2JhdGNoZXI9PT10JiYodGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnQuc3ltYm9sc10pLHRoaXMuX2JhdGNoZXI9bnVsbCl9KSl9fWVsc2UgdGhpcy5fYmF0Y2hlci5zeW1ib2xzLmFkZChlKX19KSl9Z2V0U25hcHNob3RzRm9yQWxsKGUsdCxyKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoKGU9PnRoaXMuZ2V0U25hcHNob3QoZSx0LHIpKSkpfXN0YXRpYyByZWxheChlKXtyZXR1cm4gZX1zdGF0aWMgaXNTdWNjZXNzKGUpe3JldHVybiJlcnJvciIhPT1lLnN0YXR1c31zdGF0aWMgaGFzQWxsRmllbGRzKGUsdCl7Zm9yKGNvbnN0IHIgb2YgQXJyYXkuZnJvbSh0KSlpZighZS5oYXNPd25Qcm9wZXJ0eShyKSlyZXR1cm4hMTtyZXR1cm4hMH1faXNTbmFwc2hvdFJlYWR5KGUsdCl7Y29uc3R7ZmllbGRzOnIsdGltZXN0YW1wOnMsdGltZXM6bixzeW1ib2w6b309dDtyZXR1cm4iZXJyb3IiPT09ZS5zdGF0dXN8fChudWxsIT09cyYmbj90aGlzLl9pc0FsbEZpZWxkc1VwVG9EYXRlKGUsbixyLHMpOm51bGwhPT1zJiZvP3RoaXMuX2lzQWxsRmllbGRzVXBkYXRlZChlLG8scik6dGhpcy5faGFzQWxsRmllbGRzKGUscikpfV9pc0FsbEZpZWxkc1VwZGF0ZWQoZSx0LHIpewppZigiZXJyb3IiPT09ZS5zdGF0dXMpcmV0dXJuITA7Y29uc3Qgcz10aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KTtpZighc3x8IXMuc2l6ZSlyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHIpKWlmKCFzLmhhcyhlKSlyZXR1cm4hMTtyZXR1cm4hMH1faGFzQWxsRmllbGRzKGUsdCl7cmV0dXJuIGQuaGFzQWxsRmllbGRzKGUudmFsdWVzLEFycmF5LmZyb20odCkpfV9pc0FsbEZpZWxkc1VwVG9EYXRlKGUsdCxyLHMpe2lmKCJlcnJvciI9PT1lLnN0YXR1cylyZXR1cm4hMDtpZighdClyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHIpKXtjb25zdCByPXQuZ2V0KGUpO2lmKCF0LmhhcyhlKXx8dm9pZCAwPT09cilyZXR1cm4hMTtpZihyPHMpcmV0dXJuITF9cmV0dXJuITB9X2hhbmRsZUNvbm5lY3RlZCgpe2lmKHRoaXMuX2ZpZWxkcy5zaXplPjApe2NvbnN0IGU9Wy4uLnRoaXMuX2ZpZWxkc10uZmxhdE1hcCgoZT0+e2NvbnN0IHQ9dS5nZXQoZSk7cmV0dXJuIG51bGwhPT10P3Q/P2U6W119KSk7dGhpcy5fc2Vzc2lvbi5xdW90ZVNldEZpZWxkcyhlKX10aGlzLl9pbmNvbXBsZXRlLnNpemU+MCYmdGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnRoaXMuX2luY29tcGxldGVdKX1faGFuZGxlQ29tcGxldGVEYXRhKGUpe2NvbnN0IHQ9ZC5jYWNoZS5nZXQoZSk/P3tzeW1ib2xuYW1lOmUsc3RhdHVzOiJvayIsdmFsdWVzOnt9fTtkLmNhY2hlLnVwZGF0ZSh0LHRoaXMuX2ZpZWxkcywhMCksdGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQoZSx0aGlzLl9maWVsZHMpLHRoaXMuX3Nlc3Npb24ucXVvdGVSZW1vdmVTeW1ib2xzKFtlXSksdGhpcy5faW5jb21wbGV0ZS5kZWxldGUoZSksdGhpcy5fb25TeW1ib2xEYXRhLmZpcmUoZSl9X2hhbmRsZVN5bWJvbERhdGEoZSl7KDAsaS5ub3JtYWxpemVVcGRhdGVNb2RlKShlLnZhbHVlcyksZC5jYWNoZS51cGRhdGUoZSx0aGlzLl9maWVsZHMsITEpO2NvbnN0IHQ9ZS5zeW1ib2xuYW1lLHI9KDAsYS5lbnN1cmVEZWZpbmVkKSh0aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KSkscz1uZXcgU2V0KHIpO2Zvcihjb25zdCB0IG9mIHRoaXMuX2ZpZWxkcyllLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eSh0KSYmcy5hZGQodCk7dGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQodCxzKSwiZXJyb3IiPT09ZS5zdGF0dXM/dGhpcy5faGFuZGxlQ29tcGxldGVEYXRhKHQpOnRoaXMuX29uU3ltYm9sRGF0YS5maXJlKHQpfX1kLmNhY2hlPWMuUVVPVEVfRklFTERTX0NBQ0hFfSw2MjM1MTEoZSx0LHIpe2Z1bmN0aW9uIHMoZSl7bGV0IHQ9bnVsbDtyZXR1cm4oKT0+KG51bGw9PT10JiYodD1lKCkpLHQpfXIuZCh0LHtsYXp5VmFsdWU6KCk9PnN9KX0sOTI5NDg4KGUsdCxyKXtyLmQodCx7aXNTZXBhcmF0b3JJdGVtOigpPT5ufSk7dmFyIHM9cig5MDEwMjIpO2Z1bmN0aW9uIG4oZSl7cmV0dXJuKDAscy5pc1NlcGFyYXRvckl0ZW0pKGUpfX0sMzIwNTUoZSx0LHIpe3Iucih0KSxyLmQodCx7cmVzb2x2ZVN5bWJvbE5hbWU6KCk9PmMscmVzb2x2ZVN5bWJvbE5hbWVGb3JBbGw6KCk9PnUscmVzb2x2ZVN5bWJvbE5hbWVGb3JBbGxEaXN0aW5jdDooKT0+ZCxzbmFwc2hvdGVyOigpPT5pfSk7dmFyIHM9cigxMjg4MTQpLG49cig2MjM1MTEpLG89cig5Mjk0ODgpO2NvbnN0IGE9bmV3IFNldChbInByb19uYW1lIiwiYmFzZV9uYW1lIiwic2hvcnRfbmFtZSIsImRlc2NyaXB0aW9uIiwidHlwZSIsImV4Y2hhbmdlIiwidHlwZXNwZWNzIiwibGlzdGVkX2V4Y2hhbmdlIiwibGFzdF9wcmljZSIsImNvdW50cnlfY29kZSIsInByb3ZpZGVyX2lkIiwic3ltYm9sLXByaW1hcnluYW1lIiwibG9nb2lkIiwibG9nbyIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwiY3VycmVuY3ktbG9nb2lkIiwic291cmNlLWxvZ29pZCIsInVwZGF0ZV9tb2RlIiwidXBkYXRlX21vZGVfc2Vjb25kcyIsInByb19wZXJtIiwic291cmNlIiwic291cmNlMiIsInByaWNlc2NhbGUiLCJtaW5tb3YiLCJmcmFjdGlvbmFsIiwidmlzaWJsZS1wbG90cy1zZXQiLCJsb2NhbF9kZXNjcmlwdGlvbiIsImxhbmd1YWdlIiwidW5kZXJseWluZy1zeW1ib2wiXSksaT0oMCxuLmxhenlWYWx1ZSkoKCgpPT5uZXcgcy5RdW90ZVNlc3Npb25TbmFwc2hvdGVyKHtuYW1lOiJiYXNpYy1zeW1ib2wtcXVvdGVzIixmaWVsZHM6Wy4uLmFdLGFwaTp3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZX0pKSksbD1uZXcgU2V0KFsicHJvX25hbWUiXSk7YXN5bmMgZnVuY3Rpb24gYyhlKXtyZXR1cm4oMCxvLmlzU2VwYXJhdG9ySXRlbSkoZSk/ZTppKCkuZ2V0U25hcHNob3QoZSxsKS50aGVuKChlPT4iZXJyb3IiPT09ZS5zdGF0dXM/ZS5zeW1ib2xuYW1lOmUudmFsdWVzLnByb19uYW1lKSl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoYykpfWZ1bmN0aW9uIGQoZSl7cmV0dXJuIHUoZSkudGhlbigoZT0+Wy4uLm5ldyBTZXQoZSldKSl9fSw0OTAyMDQoZSx0LHIpe3IuZCh0LHtyZXNvbHZlVW5kZXJseWluZ1N5bWJvbDooKT0+bn0pO3ZhciBzPXIoMzIwNTUpO2FzeW5jIGZ1bmN0aW9uIG4oZSl7Y29uc3QgdD1hd2FpdCgwLHMuc25hcHNob3RlcikoKS5nZXRTbmFwc2hvdChlLG5ldyBTZXQoWyJ1bmRlcmx5aW5nLXN5bWJvbCJdKSk7aWYoImVycm9yIj09PXQuc3RhdHVzKXJldHVybiBudWxsO2NvbnN0IHI9dC52YWx1ZXNbInVuZGVybHlpbmctc3ltYm9sIl07cmV0dXJuIHJ8fG51bGx9fSwyNDU4NjEoZSx0LHIpe3IuZCh0LHtFcnJvclJlbmRlcmVyOigpPT5FfSk7dmFyIHM9cigxODUyNzEpLG49cigyMjUyOTgpLG89cigyMDA2NjYpLGE9cig4MTA0MSksaT1yKDkzMDIzMSksbD1yKDk5NDU0MCksYz1yKDU3NzcxMyksdT1yKDkyNjk5NSksZD1yKDU1NDY1NCksaD1yKDQ5MDIwNCk7dmFyIHA9cig1NjkzOTgpLF89cigyMzIzNjQpLG09cig5NTI5MDApLHk9cig5NjI3MzcpLGI9cigxMjg5OTgpO2NvbnN0IGc9cy50KG51bGwse2NvbnRleHQ6IlN5bWJvbCBlcnJvciBlbXB0eSBzdGF0ZSJ9LHIoOTc1ODApKTtmdW5jdGlvbiBmKGUpe3N3aXRjaChlLnJlYXNvbil7Y2FzZSJ1bnN1cHBvcnRlZF9yZXNvbHV0aW9uIjoKcmV0dXJuIHMudChudWxsLHZvaWQgMCxyKDg2MDM4OSkpLmZvcm1hdCh7aW50ZXJ2YWxzOih0PWUuc3VwcG9ydGVkUmVzb2x1dGlvbnMsdC5tYXAoKGU9PmUpKS5qb2luKCIsICIpKX0pO2Nhc2UibGVzc190aGFuX2ZyZXF1ZW5jeSI6cmV0dXJuIHMudChudWxsLHZvaWQgMCxyKDc3ODQ0OCkpO2Nhc2UidW5zdXBwb3J0ZWRfdGlja3MiOnJldHVybiBzLnQobnVsbCx2b2lkIDAscig1MjkzOTYpKX12YXIgdH1mdW5jdGlvbiBTKGUpe3N3aXRjaChlLnJlYXNvbil7Y2FzZSJ1bnN1cHBvcnRlZF9yZXNvbHV0aW9uIjpyZXR1cm4gcy50KG51bGwsdm9pZCAwLHIoNDY1MzEzKSk7Y2FzZSJsZXNzX3RoYW5fZnJlcXVlbmN5IjpyZXR1cm4gcy50KG51bGwsdm9pZCAwLHIoNTQxNTcwKSkuZm9ybWF0KHtyZXNvbHV0aW9uOmUuYXBwbGljYWJsZVJlc29sdXRpb259KTtjYXNlInVuc3VwcG9ydGVkX3RpY2tzIjpyZXR1cm4gcy50KG51bGwsdm9pZCAwLHIoMjU1NzYzKSl9fWZ1bmN0aW9uIHYoZSl7c3dpdGNoKGUucmVhc29uKXtjYXNlInVuc3VwcG9ydGVkX3Jlc29sdXRpb24iOnJldHVybiBzLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIGVycm9yIGVtcHR5IHN0YXRlIn0scig4MjQzNDApKS5mb3JtYXQoe3Jlc29sdXRpb246ZS5hcHBsaWNhYmxlUmVzb2x1dGlvbn0pO2Nhc2UibGVzc190aGFuX2ZyZXF1ZW5jeSI6Y2FzZSJ1bnN1cHBvcnRlZF90aWNrcyI6cmV0dXJuIHMudChudWxsLHZvaWQgMCxyKDgzMDM4NSkpLmZvcm1hdCh7cmVzb2x1dGlvbjplLmFwcGxpY2FibGVSZXNvbHV0aW9ufSl9fWZ1bmN0aW9uIHcoZSl7cmV0dXJuIGU/ey4uLmUsbWVzc2FnZTplLm1lc3NhZ2U/KDAseS5mb3JtYXRTdHVkeUVycm9yKShlLm1lc3NhZ2UpOnZvaWQgMH06bnVsbH1jbGFzcyBFe2NvbnN0cnVjdG9yKGUsdD0hMSl7dGhpcy5fY29udGFpbmVyPW51bGwsdGhpcy5fZXJyb3JDYXJkUmVuZGVyZXI9bnVsbCx0aGlzLl9iYW5FcnJvck1lc3NhZ2U9bmV3IF8uV2F0Y2hlZFZhbHVlKG51bGwpLnNwYXduKCksdGhpcy5faGFzRXJyb3I9bmV3IF8uV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9yZW5kZXJJbnNpZGVDb250YWluZXI9ITEsdGhpcy5fZXJyb3JNZXNzYWdlSGFuZGxlcj1lPT57dGhpcy5faGFzRXJyb3Iuc2V0VmFsdWUobnVsbCE9PWUpLGU9dyhlKSwhdGhpcy5fcmVuZGVySW5zaWRlQ29udGFpbmVyJiZ0aGlzLl9jaGFydFdpZGdldC52YWx1ZSgpLmhhc01vZGVsKCk/dGhpcy5fdXBkYXRlUGFuZVdpZGdldHMoZSk6dGhpcy5fcmVuZGVyRXJyb3JXaXRob3V0TW9kZWwoZSl9LHRoaXMuX2NoYXJ0V2lkZ2V0PWUuc3Bhd24oKSx0aGlzLl9yZW5kZXJJbnNpZGVDb250YWluZXI9dCx0aGlzLl9iYW5FcnJvck1lc3NhZ2U9KDAsbS5jb21iaW5lKSgoZT0+e2lmKCFlKXJldHVybiBudWxsO2xldCB0O2lmKCJiYW5uZWQgYnkgaXAiPT09ZS5yZWFzb24pdD1zLnQobnVsbCx2b2lkIDAscig2NDY2MDEpKTtlbHNlIHQ9cy50KG51bGwsdm9pZCAwLHIoNTkyMDE0KSk7cmV0dXJue3RpdGxlOnMudChudWxsLHtjb250ZXh0OiJCYW4gcmVhc29uIn0scig2MzU5MjMpKSxtZXNzYWdlOnQsYnV0dG9uczpbe25hbWU6cy50KG51bGwse2NvbnRleHQ6InNvbHV0aW9uIGxpbmsifSxyKDgyNDAyNykpLG9uQ2xpY2s6KCk9PnsoMCx1LnNob3dTdXBwb3J0RGlhbG9nKSh7c29sdXRpb25JZDpkLnNvbHV0aW9uSWRzLldIWV9JU19NWV9BQ0NPVU5UX0JBTk5FRH0pfX1dLGljb246InN0b3AtaGFuZCJ9fSksd2luZG93LkNoYXJ0QXBpSW5zdGFuY2UuY29ubmVjdGlvbkJhbkluZm8oKS53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2JhbkVycm9yTWVzc2FnZS5zdWJzY3JpYmUodGhpcy5fZXJyb3JNZXNzYWdlSGFuZGxlcix7Y2FsbFdpdGhMYXN0OiEwfSk7Y29uc3Qgbj0oMCxtLmFjY3VtdWxhdGUpKChlPT57Y29uc3QgdD1lWzBdO3JldHVybltudWxsIT09dD8oMCxiLmdldFNlcmllc0Rpc3BsYXlFcnJvcldWKSh0Lm1haW5TZXJpZXMoKSkub3duZXJzaGlwKCk6bmV3IF8uV2F0Y2hlZFZhbHVlKG51bGwpLm93bmVyc2hpcCgpXX0pLCgwLG0uY29tYmluZSkoKGU9PltlLm1vZGVsV1YoKS53ZWFrUmVmZXJlbmNlKCldKSx0aGlzLl9jaGFydFdpZGdldC53ZWFrUmVmZXJlbmNlKCkpLm93bmVyc2hpcCgpKTt0aGlzLl9wYW5lV2lkZ2V0RXJyb3JNZXNzYWdlPSgwLG0uYWNjdW11bGF0ZSkoKChbZV0sdCk9PntpZih0KXJldHVybiB0O2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IG49dGhpcy5fY2hhcnRXaWRnZXQudmFsdWUoKTtzd2l0Y2goZS50eXBlKXtjYXNlImludmFsaWRfc3ltYm9sIjpyZXR1cm4gdGhpcy5fY3JlYXRlRXJyb3JQYXJhbXNGb3JJbnZhbGlkU3ltYm9sKG4pO2Nhc2UiY2FsY3VsYXRpb25zX2Vycm9yIjpyZXR1cm57dGl0bGU6cy50KG51bGwse2NvbnRleHQ6IlN5bWJvbCBlcnJvciBlbXB0eSBzdGF0ZSJ9LHIoNDg3MjAxKSksbWVzc2FnZTplLmVycm9yTWVzc2FnZSxpY29uOiJhdHRlbnRpb24ifTtjYXNlIm5vX2RhdGEiOnJldHVybnt0aXRsZTpzLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIGVycm9yIGVtcHR5IHN0YXRlIn0scigxOTgwKSksbWVzc2FnZTpzLnQobnVsbCx2b2lkIDAscig5NjkwOSkpLGljb246InVmby1hbmQtY293In07Y2FzZSJ1bnN1cHBvcnRlZF9yZXNvbHV0aW9uIjpyZXR1cm4gdGhpcy5fY3JlYXRlRXJyb3JQYXJhbXNGb3JVbnN1cHBvcnRlZFJlc29sdXRpb24obik7Y2FzZSJpcG9fcHJpY2VkIjpyZXR1cm57dGl0bGU6cy50KG51bGwse2NvbnRleHQ6IlN5bWJvbCBlcnJvciBlbXB0eSBzdGF0ZSJ9LHIoMTM3ODAwKSksbWVzc2FnZTpzLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIGVycm9yIGVtcHR5IHN0YXRlIn0scig0MDM2NzIpKSxpY29uOiJyb2NrZXQtbGF1bmNoIn07Y2FzZSJyZW5rb19jaGFydF90eXBlX2lzc3VlIjpyZXR1cm57dGl0bGU6cy50KG51bGwsdm9pZCAwLHIoNzE2MzApKSxtZXNzYWdlOnMudChudWxsLHZvaWQgMCxyKDU5NTU3MCkpLGljb246InVmby1hbmQtcGVuY2lsIixidXR0b25zOlt7bmFtZTpzLnQobnVsbCx7Y29udGV4dDoic29sdXRpb24gbGluayJ9LHIoODI0MDI3KSksCm9uQ2xpY2s6KCk9PnsoMCx1LnNob3dTdXBwb3J0RGlhbG9nKSh7c29sdXRpb25JZDpkLnNvbHV0aW9uSWRzLlJFTkNPX0NIQVJUX0RJU1BMQVlfSVNTVUVTfSl9fV19O2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJVbmtub3duIHNlcmllcyBlcnJvciB0eXBlIil9fSksbi5vd25lcnNoaXAoKSx0aGlzLl9iYW5FcnJvck1lc3NhZ2Uud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9wYW5lV2lkZ2V0RXJyb3JNZXNzYWdlLnN1YnNjcmliZSh0aGlzLl9lcnJvck1lc3NhZ2VIYW5kbGVyLHtjYWxsV2l0aExhc3Q6ITB9KX1kZXN0cm95KCl7dGhpcy5fYmFuRXJyb3JNZXNzYWdlLmRlc3Ryb3koKSx0aGlzLl9lcnJvckNhcmRSZW5kZXJlcj8udGhlbigoZT0+e2UuY29udGFpbmVyLnJlbW92ZSgpLGUuZGVzdHJveSgpfSkpLHRoaXMuX3BhbmVXaWRnZXRFcnJvck1lc3NhZ2UuZGVzdHJveSgpLHRoaXMuX2NoYXJ0V2lkZ2V0LmRlc3Ryb3koKX11cGRhdGVQYW5lV2lkZ2V0cygpe3RoaXMuX3VwZGF0ZVBhbmVXaWRnZXRzKCl9c2V0Q29udGFpbmVyKGUpe2lmKHRoaXMuX2NvbnRhaW5lciE9PWUpe3RoaXMuX2NvbnRhaW5lcj1lLHRoaXMuX2Vycm9yQ2FyZFJlbmRlcmVyPy50aGVuKChlPT5lLmNvbnRhaW5lci5yZW1vdmUoKSkpO2NvbnN0IHQ9dGhpcy5fZ2V0RXJyb3JNZXNzYWdlKCk7dCYmdGhpcy5fZXJyb3JNZXNzYWdlSGFuZGxlcih0KX19aGFzRXJyb3IoKXtyZXR1cm4gdGhpcy5faGFzRXJyb3IucmVhZG9ubHkoKX1fdXBkYXRlUGFuZVdpZGdldHMoZT10aGlzLl9nZXRFcnJvck1lc3NhZ2UoKSl7dGhpcy5fY2hhcnRXaWRnZXQudmFsdWUoKS5wYW5lV2lkZ2V0cygpLmZvckVhY2goKHQ9PnQuc2V0RXJyb3JNZXNzYWdlKGUpKSl9YXN5bmMgX3JlbmRlckVycm9yV2l0aG91dE1vZGVsKGUpe2lmKG51bGw9PT10aGlzLl9jb250YWluZXJ8fG51bGw9PT1lJiZudWxsPT09dGhpcy5fZXJyb3JDYXJkUmVuZGVyZXIpcmV0dXJuO2NvbnN0IHQ9YXdhaXQgdGhpcy5fZ2V0RXJyb3JDYXJkUmVuZGVyZXIoKTt0aGlzLl9jb250YWluZXIuY29udGFpbnModC5jb250YWluZXIpfHx0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQodC5jb250YWluZXIpLHQudXBkYXRlKHRoaXMuX2NyZWF0ZUVycm9yQ2FyZFJlbmRlcmVyU3RhdGUoZSkpfWFzeW5jIF9nZXRFcnJvckNhcmRSZW5kZXJlcigpe3JldHVybiB0aGlzLl9lcnJvckNhcmRSZW5kZXJlcnx8PXRoaXMuX2NyZWF0ZUVycm9yQ2FyZFJlbmRlcmVyKCl9YXN5bmMgX2NyZWF0ZUVycm9yQ2FyZFJlbmRlcmVyKCl7cmV0dXJuIG5ldyhhd2FpdCgwLGMuZ2V0RXJyb3JDYXJkUmVuZGVyZXIpKCkpfV9jcmVhdGVFcnJvckNhcmRSZW5kZXJlclN0YXRlKGUpe3JldHVybiBlP3t0aXRsZTplLnRpdGxlLG1lc3NhZ2U6ZS5tZXNzYWdlLGljb246ZS5pY29uLGJhY2tncm91bmRDb2xvcjpudWxsLGJ1dHRvbnM6ZS5idXR0b25zLHRoZW1lOm8ud2F0Y2hlZFRoZW1lLnZhbHVlKCk9PT1hLlN0ZFRoZW1lLkRhcms/YS5TdGRUaGVtZS5EYXJrOmEuU3RkVGhlbWUuTGlnaHR9OnZvaWQgMH1fY3JlYXRlRXJyb3JQYXJhbXNGb3JJbnZhbGlkU3ltYm9sKGUpe2NvbnN0IHQ9YXN5bmMoKT0+e2Uuc2V0QWN0aXZlKCEwKTtjb25zdCB0PWUubW9kZWwoKS5tYWluU2VyaWVzKCkscj10LnN5bWJvbCgpLHM9dC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvcnROYW1lLnZhbHVlKCksbj0ib3B0aW9uIj09PXQuc3ltYm9sSW5mbygpPy50eXBlLG89dC5zeW1ib2xJbmZvKCk/LnByb19uYW1lO2xldCBhPXQuaXNTcHJlYWQoKT9yOnN8fHJ8fCIiO2lmKCgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfb3B0aW9uX2NoYWluX3NlbGVjdG9yIikmJm4mJm8pe2NvbnN0IGU9YXdhaXQoMCxoLnJlc29sdmVVbmRlcmx5aW5nU3ltYm9sKShvKTtlJiYoYT17dHlwZToib3B0aW9uIix2YWx1ZTpvLHVuZGVybHlpbmc6ZX0pfSgwLGwuc2hvd0RpYWxvZykoe2RlZmF1bHRWYWx1ZTphLGVuYWJsZU9wdGlvbnNDaGFpbjooMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpLHNlYXJjaFR5cGU6InN1cGVyY2hhcnRzIn0pfSxuPWUuc3ltYm9sV1YoKS52YWx1ZSgpLG89KG4uc3BsaXQoIjoiKVsxXT8/bikudG9VcHBlckNhc2UoKTtyZXR1cm4hKDAscC5pc0ZlYXR1cmVFbmFibGVkKSgibmV3X2VtcHR5X3N0YXRlX3Rlc3QiKXx8IkNIUklTVE1BUyIhPT1vJiYiTkVXWUVBUiIhPT1vJiYiU0FOVEFDTEFVUyIhPT1vJiYiWE1BU1RSRUUiIT09bz97bWVzc2FnZTpzLnQobnVsbCx2b2lkIDAscigyODM1NjIpKSx0aXRsZTpzLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIGVycm9yIGVtcHR5IHN0YXRlIn0scig3MzA3NikpLGljb246InVmby1hbmQtY293IixidXR0b25zOlt7bmFtZTpnLG9uQ2xpY2s6dH1dfTp7bWVzc2FnZTpzLnQobnVsbCx2b2lkIDAscigzNzE3NzkpKSx0aXRsZTpzLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIGVycm9yIGVtcHR5IHN0YXRlIn0scig1MjMyNzkpKSxpY29uOnthbmltYXRpb25Vcmw6cigxMTE4NTkpLHdpZHRoOjEyMCxoZWlnaHQ6MTIwLGtlZXBPcmlnaW5hbFNpemU6ITB9LGJ1dHRvbnM6W3tuYW1lOmcsb25DbGljazp0fV19fV9jcmVhdGVFcnJvclBhcmFtc0ZvclVuc3VwcG9ydGVkUmVzb2x1dGlvbihlKXtjb25zdCB0PWUubW9kZWwoKS5tYWluU2VyaWVzKCkudW5zdXBwb3J0ZWRSZXNvbHV0aW9uU3RhdGUoKS52YWx1ZSgpO3JldHVybiBudWxsPT09dD9udWxsOnttZXNzYWdlOlModCksdGl0bGU6Zih0KSxpY29uOiJ1bnN1cHBvcnRlZC1yZXNvbHV0aW9uIixidXR0b25zOlt7bmFtZTp2KHQpLG9uQ2xpY2s6KCk9PntlLnNldEFjdGl2ZSghMCksbi5saW5raW5nLnNldEludGVydmFsQW5kTG9nSW5pdGlhdG9yKHQuYXBwbGljYWJsZVJlc29sdXRpb24sIkVycm9yIHN0YXRlIil9fV19fV9nZXRFcnJvck1lc3NhZ2UoKXtyZXR1cm4gdyh0aGlzLl9iYW5FcnJvck1lc3NhZ2UudmFsdWUoKXx8dGhpcy5fcGFuZVdpZGdldEVycm9yTWVzc2FnZS52YWx1ZSgpKX19fSwxMTE4NTkoZSx0LHIpewplLmV4cG9ydHM9ci5wKyJueS1hbmltYXRpb24uNDA0MzM0OGQ2ZTYxOTljNGYxYjMuanNvbiJ9fV0pOw=="}},"time_used":3,"timings":{"blocked":0,"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/23743.4733137af2f232a6a34a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.753Z","timestamp":1785141584753,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/23743.4733137af2f232a6a34a.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-5062\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e6d729e4e13f380ff734acf54565f11b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20578,"size_decoded":7832,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3070)","md5":"0662db7d4ac07059ef6d238a7fa48e27","sha1":"736ed22fb893e48eb48b0150ec68ee0e3c69c7b2","sha256":"af1154bdae13a0f96f45923150360a2e20a73f83a62d0d671a137604a1ffe7bd","sha512":"d0f916877c8757288f5d0a63c009b2a6c596c888960ca29b3ca6ac71f629591e473f08f48b89b10d13d074a78ffe51c1cee690861938863df5a0265605fd6df2","ssdeep":"384:9Xwl5lUwL/+MbKlpYZketvNCY7hbyc7KukFhX3ma3anayRwsix6udtd4MkiAN:9Xwl57/bYCPzCY7IgNWaayRD06u3SWAN","tlshash":"739208723591307133efebeb5096041cf330b418a94b88e4b1e9689d35e26b461b6fde","first_seen":"2026-07-23T14:00:31.578797Z","last_seen":"2026-07-27T14:50:15.369438Z","times_seen":222,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syMzc0M10sezY4MzU0MihlKXtlLmV4cG9ydHM9e2NvbnRlbnREZWZhdWx0QXBwZWFyYW5jZU1vYmlsZToiY29udGVudERlZmF1bHRBcHBlYXJhbmNlTW9iaWxlLWc4Um9oZ05YIixiZWdpbjoiYmVnaW4tZzhSb2hnTlgiLGVuZDoiZW5kLWc4Um9oZ05YIix0b3A6InRvcC1nOFJvaGdOWCIsYm90dG9tOiJib3R0b20tZzhSb2hnTlgiLGNvbnRlbnREZWZhdWx0QXBwZWFyYW5jZToiY29udGVudERlZmF1bHRBcHBlYXJhbmNlLWc4Um9oZ05YIn19LDg5NTM3KGUpe2UuZXhwb3J0cz17cG9zaXRpb25lcjoicG9zaXRpb25lci1oQlZrYVAyUCIsbm9Ib3Jpem9udGFsU2hyaW5rOiJub0hvcml6b250YWxTaHJpbmstaEJWa2FQMlAiLG5vSG9yaXpvbnRhbEdyb3c6Im5vSG9yaXpvbnRhbEdyb3ctaEJWa2FQMlAiLG5vVmVydGljYWxTaHJpbms6Im5vVmVydGljYWxTaHJpbmstaEJWa2FQMlAiLG5vVmVydGljYWxHcm93OiJub1ZlcnRpY2FsR3Jvdy1oQlZrYVAyUCIsaW52aXNpYmxlOiJpbnZpc2libGUtaEJWa2FQMlAiLHBvcnRhbDoicG9ydGFsLWhCVmthUDJQIn19LDk5NTczOChlKXtlLmV4cG9ydHM9e3N0dWI6InN0dWItSXVoT2pvdVkifX0sMzI3ODA4KGUpe2UuZXhwb3J0cz17Y29udGVudDoiY29udGVudC1hZjBMQ2d5NSIsc3RyZXRjaDoic3RyZXRjaC1hZjBMQ2d5NSIsYmVnaW46ImJlZ2luLWFmMExDZ3k1IixlbmQ6ImVuZC1hZjBMQ2d5NSIsdG9wOiJ0b3AtYWYwTENneTUiLGJvdHRvbToiYm90dG9tLWFmMExDZ3k1IixiYWNrZHJvcDoiYmFja2Ryb3AtYWYwTENneTUifX0sNzg4NDY1KGUpe2UuZXhwb3J0cz17c2Nyb2xsVHJhcDoic2Nyb2xsVHJhcC1MbjBBSVc0RiIsc2Nyb2xsVHJhcENvbnRlbnQ6InNjcm9sbFRyYXBDb250ZW50LUxuMEFJVzRGIn19LDU2NTUzMChlKXtlLmV4cG9ydHM9e2JvZHlOb1Njcm9sbDoiYm9keU5vU2Nyb2xsLWZPSVJLQXRIIn19LDMxOTY5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU1lcmdlZFJlZnM6KCk9PnJ9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDk2NDU5NCk7ZnVuY3Rpb24gcihlKXtyZXR1cm4oMCxvLnVzZUNhbGxiYWNrKSgoMCxpLm1lcmdlUmVmcykoZSksZSl9fSwyMzY0NTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0NMSUNLX0FXQVk6KCk9PnMsUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0VTQ0FQRTooKT0+YyxQT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fUkVTSVpFX1dJTkRPVzooKT0+dSxQT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fU0NST0xMX09VVFNJREU6KCk9PmwsUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX1RBQjooKT0+ZCxQT1BPVkVSX0RFRkFVTFRfSEVJR0hUOigpPT5yLFBPUE9WRVJfREVGQVVMVF9QTEFDRU1FTlRfUlVMRVM6KCk9PmEsUE9QT1ZFUl9ERUZBVUxUX1dJRFRIOigpPT5pfSk7dmFyIG89big2NDA1MTMpO2NvbnN0IGk9W3tieToiYW5jaG9yIix0eXBlOiJtaW4ifSx7Ynk6ImNvbnRlbnQifV0scj1bXSxhPVtvLlBMQUNFTUVOVF9CT1RUT01fQUxJR05fTEVGVCxvLlBMQUNFTUVOVF9UT1BfQUxJR05fTEVGVCxvLlBMQUNFTUVOVF9CT1RUT01fQUxJR05fUklHSFQsby5QTEFDRU1FTlRfVE9QX0FMSUdOX1JJR0hUXSxjPSEwLHM9InBvaW50ZXJkb3duIixsPSEwLHU9ITAsZD0hMH0sNDQ1NDkzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BvcG92ZXJDb250ZXh0UHJvdmlkZXI6KCk9PmEsdXNlUG9wb3ZlckNvbnRleHQ6KCk9PmN9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDk1NjczMCk7Y29uc3Qgcj0oMCxvLmNyZWF0ZUNvbnRleHQpKHtjbG9zZVBvcG92ZXI6KCk9Pnt9LGlzUnRsOiExLGlzSW5Qb3BvdmVyOiExLGlzQW5jaG9yUG9zaXRpb25lcjohMSxpc01vYmlsZVBvc2l0aW9uZXI6ITF9KTtmdW5jdGlvbiBhKGUpe2NvbnN0e3Bvc2l0aW9uZXI6dCxvbkNsb3NlOm4saXNSdGw6YSxjaGlsZHJlbjpjLG9uUG9wb3ZlckNvbnRlbnRSZXNpemU6c309ZSxsPSgwLG8udXNlTWVtbykoKCgpPT4oe2Nsb3NlUG9wb3ZlcjpuLGlzUnRsOmEsaXNJblBvcG92ZXI6ITAsb25Qb3BvdmVyQ29udGVudFJlc2l6ZTpzLGlzQW5jaG9yUG9zaXRpb25lcjoiYW5jaG9yIj09PXQsaXNNb2JpbGVQb3NpdGlvbmVyOiJtb2JpbGUiPT09dH0pKSxbbixhLHMsdF0pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoci5Qcm92aWRlcix7dmFsdWU6bH0sby5jcmVhdGVFbGVtZW50KGkuUG9zaXRpb25lckNvbnRleHRQcm92aWRlcix7cG9zaXRpb25lcjp0fSxjKSl9ZnVuY3Rpb24gYygpe3JldHVybigwLG8udXNlQ29udGV4dCkocil9fSwyMzc2MTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UG9wb3ZlcjooKT0+Z30pO3ZhciBvPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxyPW4ubihpKSxhPW4oMTk0Mjc1KSxjPW4oNzE3OTMyKSxzPW4oMjg2MzEwKSxsPW4oOTcwMzQyKSx1PW4oNzg3ODk1KTtmdW5jdGlvbiBkKGUpe2NvbnN0IHQ9KDAsby51c2VSZWYpKG51bGwpLHthbmNob3JlZDpuLHBsYWNlbWVudFJ1bGVzOmksd2lkdGg6cixoZWlnaHQ6YSxpc09wZW46Yyxpc1J0bDpkLGFuY2hvclBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpoLHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnA9dCxpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OmYsYXJpYUxhYmVsbGVkYnk6UCxhcmlhTXVsdGlzZWxlY3RhYmxlOm0scm9sZTpiLGNoaWxkcmVuOngsZ2V0Um9vdFJlY3Q6ZyxyZXBvc2l0aW9uVHJpZ2dlcnM6QyxyZXBvc2l0aW9uRGVwZW5kZW5jaWVzOkUsY29udGVudFJlc2l6ZTp2LGRhdGFRYUlkOnksc2Nyb2xsQ29udGFpbmVyOlJ9PWUsdz0oMCx1LnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKHApO3N3aXRjaChuLnR5cGUpe2Nhc2UiZWxlbWVudCI6cmV0dXJuIG8uY3JlYXRlRWxlbWVudChsLkVsZW1lbnRQb3NpdGlvbmVyLHtwbGFjZW1lbnRSdWxlczppLHdpZHRoOnIsaGVpZ2h0OmEsaXNPcGVuOmMsaXNSdGw6ZCwKYW5jaG9yUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOmgscmVmT2JqZWN0VG9Db250ZW50V3JhcHBlckVsZW1lbnQ6dyxpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OmYsYXJpYUxhYmVsbGVkYnk6UCxhcmlhTXVsdGlzZWxlY3RhYmxlOm0scm9sZTpiLGNoaWxkcmVuOngsYW5jaG9yZWRBdDpuLmF0LGdldFJvb3RSZWN0OmcscmVwb3NpdGlvblRyaWdnZXJzOkMsY29udGVudFJlc2l6ZTp2LHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6RSxkYXRhUWFJZDp5LHNjcm9sbENvbnRhaW5lcjpSfSk7Y2FzZSJyZWN0YW5nbGUiOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQocy5SZWN0YW5nbGVQb3NpdGlvbmVyLHtwbGFjZW1lbnRSdWxlczppLHdpZHRoOnIsaGVpZ2h0OmEsaXNPcGVuOmMsaXNSdGw6ZCxhbmNob3JQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6aCxyZWZPYmplY3RUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDp3LGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6ZixhcmlhTGFiZWxsZWRieTpQLGFyaWFNdWx0aXNlbGVjdGFibGU6bSxyb2xlOmIsY2hpbGRyZW46eCxhbmNob3JlZEF0Om4uYXQsZ2V0Um9vdFJlY3Q6Zyxjb250ZW50UmVzaXplOnYscmVwb3NpdGlvbkRlcGVuZGVuY2llczpFLHJlcG9zaXRpb25UcmlnZ2VyczpDLGRhdGFRYUlkOnksc2Nyb2xsQ29udGFpbmVyOlJ9KX19dmFyIGg9big0NDU0OTMpLHA9big1NjI5OCksZj1uKDg3MzA5MCksUD1uKDcwNjk0MyksbT1uKDk1NjczMCksYj1uKDY4MzU0MikseD1uLm4oYik7Y29uc3QgZz0oMCxwLmlnbm9yZU9uU1NSKSgoZnVuY3Rpb24oZSl7Y29uc3R7aXNSdGw6dH09KDAsaC51c2VQb3BvdmVyQ29udGV4dCkoKSx7aXNPcGVuOm4sb25DbG9zZTppLG1vYmlsZVBvc2l0aW9uZXJTaWRlOnM9ImJvdHRvbSIsbW9iaWxlUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOmw9cigpKHgoKS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUseCgpW3NdKSxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDp1LGlzUnRsOnA9dCxjaGlsZHJlbjpiLGFuY2hvclBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpnPXgoKS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2Uscm9sZTpDLGFyaWFMYWJlbGxlZGJ5OkUsYXJpYU11bHRpc2VsZWN0YWJsZTp2LGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6eSxwbGFjZW1lbnRSdWxlczpSLHdpZHRoOncsaGVpZ2h0OlMsYW5jaG9yZWQ6Tyxtb2JpbGVQb3NpdGlvbmVyU3RyZXRjaDpBLHJlcG9zaXRpb25UcmlnZ2VyczpNPVtdLHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6VCxtb2JpbGVCcmVha3BvaW50OkwsY29udGVudFJlc2l6ZTpOLGRhdGFRYUlkOkYsc2Nyb2xsQ29udGFpbmVyOl99PWUse2lzSW5Qb3BvdmVyOkl9PSgwLGgudXNlUG9wb3ZlckNvbnRleHQpKCkse2lzTW9iaWxlUG9zaXRpb25lcjpXfT0oMCxtLnVzZVBvc2l0aW9uZXJDb250ZXh0KSgpLHo9KDAsYy51c2VNYXRjaE1lZGlhKShMPz9mLkRFRkFVTFRfUE9QT1ZFUl9CUkVBS1BPSU5UKSxEPSgwLG8udXNlTWVtbykoUC5jcmVhdGVTaWduYWwsW10pO3JldHVybih2b2lkIDA9PT1MJiZJP1c6eik/by5jcmVhdGVFbGVtZW50KGEuTW9iaWxlUG9zaXRpb25lcix7aXNPcGVuOm4sb25DbG9zZTppLGNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOmwscmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6dSxpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OnksYW5jaG9yZWRBdDoiZWxlbWVudCI9PT1PLnR5cGU/Ty5hdDp2b2lkIDAsY2hpbGRyZW46by5jcmVhdGVFbGVtZW50KGguUG9wb3ZlckNvbnRleHRQcm92aWRlcix7cG9zaXRpb25lcjoibW9iaWxlIixvbkNsb3NlOmksaXNSdGw6cH0sYikscm9sZTpDLGFyaWFMYWJlbGxlZGJ5OkUsYXJpYU11bHRpc2VsZWN0YWJsZTp2LHNpZGU6cyxzdHJldGNoOkEsZGF0YVFhSWQ6Rn0pOm8uY3JlYXRlRWxlbWVudChkLHthbmNob3JlZDpPLGlzUnRsOnAsaXNPcGVuOm4sYW5jaG9yUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOmcscm9sZTpDLGFyaWFMYWJlbGxlZGJ5OkUsYXJpYU11bHRpc2VsZWN0YWJsZTp2LGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6eSxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDp1LHBsYWNlbWVudFJ1bGVzOlIsd2lkdGg6dyxoZWlnaHQ6UyxjaGlsZHJlbjpvLmNyZWF0ZUVsZW1lbnQoaC5Qb3BvdmVyQ29udGV4dFByb3ZpZGVyLHtwb3NpdGlvbmVyOiJhbmNob3IiLG9uQ2xvc2U6aSxpc1J0bDpwLG9uUG9wb3ZlckNvbnRlbnRSZXNpemU6RC5maXJlfSxiKSxyZXBvc2l0aW9uVHJpZ2dlcnM6Wy4uLk0sRF0scmVwb3NpdGlvbkRlcGVuZGVuY2llczpULGNvbnRlbnRSZXNpemU6TixkYXRhUWFJZDpGLHNjcm9sbENvbnRhaW5lcjpffSl9KSl9LDk3MDM0MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtFbGVtZW50UG9zaXRpb25lcjooKT0+Y30pO3ZhciBvPW4oNzc5NDc0KSxpPW4oODU0MzM4KSxyPW4oODk1OTIxKSxhPW4oMjg2MzEwKTtmdW5jdGlvbiBjKGUpe2NvbnN0IHQ9KDAsby51c2VSZWYpKG51bGwpLHthbmNob3JlZEF0Om4saXNPcGVuOmMscmVmT2JqZWN0VG9Db250ZW50V3JhcHBlckVsZW1lbnQ6cz10LHdpZHRoOmwsaGVpZ2h0OnUsaXNSdGw6ZCxwbGFjZW1lbnRSdWxlczpoLGFuY2hvclBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpwLGNoaWxkcmVuOmYscm9sZTpQLGFyaWFMYWJlbGxlZGJ5Om0sYXJpYU11bHRpc2VsZWN0YWJsZTpiLGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6eCxvblBsYWNlbWVudFJ1bGVTZWxlY3RlZDpnLGdldFJvb3RSZWN0OkMscmVwb3NpdGlvblRyaWdnZXJzOkUsY29udGVudFJlc2l6ZTp2LHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6eSxkYXRhUWFJZDpSLHNjcm9sbENvbnRhaW5lcjp3fT1lLFM9KDAsci51c2VSZWZSZWN0KShuLGMsRSx5KTtyZXR1cm4oMCxpLnVzZUFuY2hvclBvcnRhbFBhaXIpKG4scyksUz9vLmNyZWF0ZUVsZW1lbnQoYS5SZWN0YW5nbGVQb3NpdGlvbmVyLHt3aWR0aDpsLGhlaWdodDp1LGlzUnRsOmQsaXNPcGVuOmMscGxhY2VtZW50UnVsZXM6aCwKYW5jaG9yUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOnAsY2hpbGRyZW46Zixyb2xlOlAsYXJpYUxhYmVsbGVkYnk6bSxhcmlhTXVsdGlzZWxlY3RhYmxlOmIsaWRPZkNvbnRlbnRXcmFwcGVyRWxlbWVudDp4LHJlZk9iamVjdFRvQ29udGVudFdyYXBwZXJFbGVtZW50OnMsYW5jaG9yZWRBdDpTLG9uUGxhY2VtZW50UnVsZVNlbGVjdGVkOmcsZ2V0Um9vdFJlY3Q6Qyxjb250ZW50UmVzaXplOnYscmVwb3NpdGlvblRyaWdnZXJzOkUscmVwb3NpdGlvbkRlcGVuZGVuY2llczp5LGRhdGFRYUlkOlIsc2Nyb2xsQ29udGFpbmVyOnd9KTpudWxsfX0sODk1OTIxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVJlZlJlY3Q6KCk9PmF9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDUyNTI0KTtmdW5jdGlvbiByKGUpe2lmKCFlKXJldHVybjtjb25zdHt4OnQseTpuLHdpZHRoOm8saGVpZ2h0Oml9PWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJue3g6dCx5Om4sd2lkdGg6byxoZWlnaHQ6aX19ZnVuY3Rpb24gYShlLHQsbj1bXSxhPVtdKXtjb25zdFtjLHNdPSgwLG8udXNlU3RhdGUpKCk7cmV0dXJuKDAsby51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2lmKCF0KXJldHVybjtjb25zdCBvPSgpPT57cyhmdW5jdGlvbihlKXtyZXR1cm4gcihlLmN1cnJlbnQpfShlKSl9LGE9bi5tYXAoKGU9PihlLnN1YnNjcmliZShvKSwoKT0+ZS51bnN1YnNjcmliZShvKSkpKTtyZXR1cm4oMCxpLmZvcmtGbikoLi4uYSl9KSxbZSx0LC4uLm5dKSwoMCxvLnVzZUxheW91dEVmZmVjdCkoKCgpPT57cyh0P3IoZS5jdXJyZW50KTp2b2lkIDApfSksW2UsdCwuLi5hXSksY319LDQwNjI5NChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7cmV0dXJue3g6MS1lLngseTplLnl9fWZ1bmN0aW9uIGkoZSl7cmV0dXJuIGUubWFwKChlPT5mdW5jdGlvbihlKXtyZXR1cm57Li4uZSxuYW1lOmUucnRsTmFtZXx8ZS5uYW1lLGFuY2hvclBvaW50Om8oZS5hbmNob3JQb2ludCksY29udGVudFBvaW50Om8oZS5jb250ZW50UG9pbnQpLG9mZnNldDplLm9mZnNldD8odD1lLm9mZnNldCx7eDotdC54LHk6dC55fSk6dm9pZCAwfTt2YXIgdH0oZSkpKX1mdW5jdGlvbiByKGUpe3JldHVybntsZWZ0OmUueCxyaWdodDplLngrZS53aWR0aCx0b3A6ZS55LGJvdHRvbTplLnkrZS5oZWlnaHR9fWZ1bmN0aW9uIGEoZSx0LG4pe3JldHVybigxLWUpKnQrZSpufWZ1bmN0aW9uIGMoZSx0LG4sbyxpLHIsYSxjLHMsdSl7Y29uc3R7YW5jaG9yZWRBdFB4OmQsY29udGVudFBvaW50OmgsY29udGVudFN0YXJ0OnAsY29udGVudEVuZDpmfT1mdW5jdGlvbihlLHQsbixvLGkscixhLGMpe2xldCBzPWksbD1yO2NvbnN0IHU9Yy1hLGQ9ZS1zK247MDxkJiYocys9ZCxsKz1kL3UpO2NvbnN0IGg9ZS1vK3M7MDxoJiYocy09aCxsLT1oL3UpO2NvbnN0IHA9dC1sKnU7MDxwJiYocys9cCxsKz1wL3UpO2NvbnN0IGY9dC0oMS1sKSp1OzA8ZiYmKHMtPWYsbC09Zi91KTtyZXR1cm57YW5jaG9yZWRBdFB4OnMsY29udGVudFBvaW50OmwsY29udGVudFN0YXJ0OmEsY29udGVudEVuZDpjfX0oZSx0LG4sbyxpLGMscyx1KTtyZXR1cm4gbChlLHQsbyxkLHIsaCxwLGYpfHwoKFA9bChlLHQsLW4sLWQsLWEsMS1oLC1mLC1wKSk/e2NvbnRlbnRQb2ludEZyYWN0aW9uOjEtUC5jb250ZW50UG9pbnRGcmFjdGlvbixhbmNob3JlZFB4Oi1QLmFuY2hvcmVkUHgsc2xpZGU6UC5zbGlkZX06dm9pZCAwKXx8e2NvbnRlbnRQb2ludEZyYWN0aW9uOmgsYW5jaG9yZWRQeDpkLHNsaWRlOjB9O3ZhciBQfWZ1bmN0aW9uIHMoZSx0LG4pe3JldHVybntjb250ZW50UG9pbnRGcmFjdGlvbjphKGUsdC5jb250ZW50UG9pbnRGcmFjdGlvbixuLmNvbnRlbnRQb2ludEZyYWN0aW9uKSxhbmNob3JlZFB4OmEoZSx0LmFuY2hvcmVkUHgsbi5hbmNob3JlZFB4KSxzbGlkZTphKGUsdC5zbGlkZSxuLnNsaWRlKX19ZnVuY3Rpb24gbChlLHQsbixvLGkscixhLGMpe2NvbnN0IGw9Yy1hLHU9YStyKmwtdCxkPW4tZS10LGg9bCpyLXQscD17Y29udGVudFBvaW50RnJhY3Rpb246dC9sLGFuY2hvcmVkUHg6byxzbGlkZTpofSxmPXtjb250ZW50UG9pbnRGcmFjdGlvbjp0L2wsYW5jaG9yZWRQeDpuLWUsc2xpZGU6aCsobi1vLWUpfTtpZighKGE+PWkpKXJldHVybiB1Pj1pP3MoKGktYSkvKHUtYSkse2NvbnRlbnRQb2ludEZyYWN0aW9uOnIsYW5jaG9yZWRQeDpvLHNsaWRlOjB9LHApOmQ+PWk/cygoaS11KS8oZC11KSxwLGYpOmZ9ZnVuY3Rpb24gdShlLHQsbixvLGksYSxjKXtjb25zdCBzPXsuLi5vLC4uLnIobyl9LGw9ZnVuY3Rpb24oZSx0KXtyZXR1cm57eDplLngrdC5hbmNob3JQb2ludC54KmUud2lkdGgrKHQub2Zmc2V0Py54Pz8wKSx5OmUueSt0LmFuY2hvclBvaW50LnkqZS5oZWlnaHQrKHQub2Zmc2V0Py55Pz8wKX19KGUsaSksdT1uLndpZHRoLHA9aChpLm92ZXJmbG93SG9yaXpvbnRhbCxsLngscy5sZWZ0LHMucmlnaHQsaS5jb250ZW50UG9pbnQueCx1KSxmPU1hdGgubWluKHUscD8/MS8wKSxQPWMmJnZvaWQgMCE9PXAmJmY8dTtQJiZ0LnN0eWxlLnNldFByb3BlcnR5KGEsYCR7cH1weGApO2NvbnN0IG09UD90LmNsaWVudEhlaWdodDpuLmhlaWdodCxiPWgoaS5vdmVyZmxvd1ZlcnRpY2FsLGwueSxzLnRvcCxzLmJvdHRvbSxpLmNvbnRlbnRQb2ludC55LG0pLHg9TWF0aC5taW4obSxiPz8xLzApO1AmJnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoYSk7Y29uc3QgZz1sLngtaS5jb250ZW50UG9pbnQueCp1LEM9bC54KygxLWkuY29udGVudFBvaW50LngpKnUsRT1kKGkub3ZlcmZsb3dIb3Jpem9udGFsLGUueCxlLngrZS53aWR0aCxsLngscy5sZWZ0LHMucmlnaHQsaS5jb250ZW50UG9pbnQueCxnLEMpLHY9bC55LWkuY29udGVudFBvaW50LnkqbSx5PWwueSsoMS1pLmNvbnRlbnRQb2ludC55KSptLFI9ZChpLm92ZXJmbG93VmVydGljYWwsZS55LGUueStlLmhlaWdodCxsLnkscy50b3Ascy5ib3R0b20saS5jb250ZW50UG9pbnQueSx2LHkpO3JldHVybnthbmNob3JlZFB4Ont4OkUuYW5jaG9yZWRQeCx5OlIuYW5jaG9yZWRQeH0sY29udGVudFBvaW50RnJhY3Rpb246ewp4OkUuY29udGVudFBvaW50RnJhY3Rpb24seTpSLmNvbnRlbnRQb2ludEZyYWN0aW9ufSxydWxlOmksaW5pdGlhbENvbnRlbnRTaXplUHg6e3dpZHRoOm4ud2lkdGgsaGVpZ2h0Om4uaGVpZ2h0fSxjb250ZW50U2l6ZUFmdGVyV2lkdGhSZXN0cmljdGlvblB4Ont3aWR0aDpmLGhlaWdodDptfSxjb250ZW50U2l6ZVB4Ont3aWR0aDpmLGhlaWdodDp4fSxtYXhDb250ZW50U2l6ZVB4Ont3aWR0aDpwLGhlaWdodDpifSxzbGlkZTp7eDpFLnNsaWRlLHk6Ui5zbGlkZX19fWZ1bmN0aW9uIGQoZSx0LG4sbyxpLHIsYSxzLGwpe2NvbnN0IHU9aS1zLGQ9bC1yO2lmKCJzbGlkZSI9PT1lfHwiY3JvcCI9PT1lKXtpZihsLXM+ci1pfHx1PjApcmV0dXJue2NvbnRlbnRQb2ludEZyYWN0aW9uOjAsYW5jaG9yZWRQeDppLHNsaWRlOk1hdGgubWF4KDAsdSl9O2lmKGQ+MClyZXR1cm57Y29udGVudFBvaW50RnJhY3Rpb246MSxhbmNob3JlZFB4OnIsc2xpZGU6TWF0aC5tYXgoMCxkKX19aWYoImNyb3BTbGlkZSI9PT1lKXtjb25zdCBlPWktbyx0PW8tcjtpZihlPjB8fHU+MClyZXR1cm57Y29udGVudFBvaW50RnJhY3Rpb246MCxhbmNob3JlZFB4Omksc2xpZGU6TWF0aC5tYXgoMCxlKX07aWYodD4wfHxkPjApcmV0dXJue2NvbnRlbnRQb2ludEZyYWN0aW9uOjEsYW5jaG9yZWRQeDpyLHNsaWRlOk1hdGgubWF4KDAsdCl9fWlmKCJjcm9wT3ZlcmZsb3ciPT09ZSl7aWYodT4wKXJldHVybntjb250ZW50UG9pbnRGcmFjdGlvbjowLGFuY2hvcmVkUHg6TWF0aC5taW4oaSxvKSxzbGlkZTowfTtpZihkPjApcmV0dXJue2NvbnRlbnRQb2ludEZyYWN0aW9uOjEsYW5jaG9yZWRQeDpNYXRoLm1heChyLG8pLHNsaWRlOjB9fXJldHVybiBwKGUpP2MoZS5hbmNob3JTYWZlU3BhY2UsZS5wb3NpdGlvbmVyU2FmZVNwYWNlLHQsbixvLGkscixhLHMsbCk6e2NvbnRlbnRQb2ludEZyYWN0aW9uOmEsYW5jaG9yZWRQeDpvLHNsaWRlOjB9fWZ1bmN0aW9uIGgoZSx0LG4sbyxpLHIpe3JldHVybiJjcm9wIj09PWU/ZnVuY3Rpb24oZSx0LG4sbyxpKXtjb25zdCByPWUtdD49MCYmbi1lPj0wO2lmKHImJigxPT09b3x8MD09PW8pKXJldHVybiBmdW5jdGlvbihlLHQsbixvKXtyZXR1cm4gMD09PW8/bi1lOmUtdH0oZSx0LG4sbyk7Y29uc3R7YXZhaWxhYmxlU3BhY2VTdGFydDphLGF2YWlsYWJsZVNwYWNlRW5kOmN9PVAobyxpLGUsdCxuKTtyZXR1cm4gYStjfSh0LG4sbyxpLHIpOiJjcm9wT3ZlcmZsb3ciPT09ZT9mKHQsbixvLGkscik6InNsaWRlIj09PWU/by1uOiJjcm9wU2xpZGUiPT09ZT9NYXRoLm1pbihvLW4sZih0LG4sbyxpLHIpKToia2VlcE5vbkZpdHRpbmciIT09ZSYmcChlKT90PG4/by10OnQ+bz90LW46dm9pZCAwOnZvaWQgMH1mdW5jdGlvbiBwKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmInNsaWRlT3ZlcmZsb3ciPT09ZS5raW5kfWZ1bmN0aW9uIGYoZSx0LG4sbyxpKXtpZihvPj0xfHxvPD0wKXJldHVybiBmdW5jdGlvbihlLHQsbixvKXtjb25zdCBpPU1hdGgubWF4KDAsZS10KSxyPU1hdGgubWF4KDAsbi1lKSxhPW8+MD9pL286TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLGM9bzwxP3IvKDEtbyk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO3JldHVybiBNYXRoLm1pbihhLGMpfShlLHQsbixvKTtjb25zdHthdmFpbGFibGVTcGFjZVN0YXJ0OnIsYXZhaWxhYmxlU3BhY2VFbmQ6YX09UChvLGksZSx0LG4pO3JldHVybiBNYXRoLm1heCgwLHIpK01hdGgubWF4KDAsYSl9ZnVuY3Rpb24gUChlLHQsbixvLGkpe2NvbnN0IHI9dCpNYXRoLm1heChlLDApLGE9dCpNYXRoLm1heCgxLWUsMCk7cmV0dXJue2F2YWlsYWJsZVNwYWNlU3RhcnQ6TWF0aC5taW4obi1vLHIpLGF2YWlsYWJsZVNwYWNlRW5kOk1hdGgubWluKGktbixhKX19ZnVuY3Rpb24gbShlKXtyZXR1cm4gZS5pbml0aWFsQ29udGVudFNpemVQeC53aWR0aC1lLmNvbnRlbnRTaXplUHgud2lkdGh9ZnVuY3Rpb24gYihlKXtyZXR1cm4gZS5jb250ZW50U2l6ZUFmdGVyV2lkdGhSZXN0cmljdGlvblB4LmhlaWdodC1lLmNvbnRlbnRTaXplUHguaGVpZ2h0fWZ1bmN0aW9uIHgoZSl7cmV0dXJuIGUuc2xpZGUueCtlLnNsaWRlLnl9ZnVuY3Rpb24gZyhlLHQpe2NvbnN0IG49ZnVuY3Rpb24oZSx0KXtjb25zdCBuPXIoe3g6ZS5hbmNob3JlZFB4LngtZS5jb250ZW50UG9pbnRGcmFjdGlvbi54KmUuY29udGVudFNpemVQeC53aWR0aCx5OmUuYW5jaG9yZWRQeC55LWUuY29udGVudFBvaW50RnJhY3Rpb24ueSplLmNvbnRlbnRTaXplUHguaGVpZ2h0LHdpZHRoOmUuY29udGVudFNpemVQeC53aWR0aCxoZWlnaHQ6ZS5jb250ZW50U2l6ZVB4LmhlaWdodH0pLG89cih0KTtyZXR1cm57bGVmdDpNYXRoLm1heCgwLG8ubGVmdC1uLmxlZnQpLHJpZ2h0Ok1hdGgubWF4KDAsbi5yaWdodC1vLnJpZ2h0KSx0b3A6TWF0aC5tYXgoMCxvLnRvcC1uLnRvcCksYm90dG9tOk1hdGgubWF4KDAsbi5ib3R0b20tby5ib3R0b20pfX0oZSx0KTtyZXR1cm4oMStuLmxlZnQrbi5yaWdodCkqKDErbi50b3Arbi5ib3R0b20pLTF9ZnVuY3Rpb24gQyhlLHQpe3JldHVybntydWxlOmUsb3ZlcmZsb3c6ZyhlLHQpLHdpZHRoRGlmZjptKGUpLGhlaWdodERpZmY6YihlKSxzbGlkZTp4KGUpfX1mdW5jdGlvbiBFKGUpe3JldHVybiAwPT09ZS5vdmVyZmxvdyYmMD09PWUud2lkdGhEaWZmJiYwPT09ZS5oZWlnaHREaWZmJiYwPT09ZS5zbGlkZX1mdW5jdGlvbiB2KGUsdCxuLG8scil7Y29uc3R7cnRsOmEsc2Nyb2xsQ29udGFpbmVyOmMsbWF4V2lkdGhDc3NQcm9wZXJ0eTpzPSJtYXgtd2lkdGgiLG1heEhlaWdodENzc1Byb3BlcnR5Omw9Im1heC1oZWlnaHQiLGNvbnRlbnRPdmVyZmxvd1dyYXA6ZD0hMH09cnx8e30saD1hP2kobyk6byxwPWZ1bmN0aW9uKGUpe2lmKCFlKXJldHVybjtjb25zdCB0PWUuc2Nyb2xsVG9wO3JldHVybigpPT57ZS5zY3JvbGxUb3A9dH19KGMpLGY9ZnVuY3Rpb24oZSx0KXtjb25zdCBuPXQubWFwKCh0PT5bdCxlLnN0eWxlLmdldFByb3BlcnR5VmFsdWUodCldKSk7cmV0dXJuIG4uZm9yRWFjaCgoKFt0LG5dKT0+e24mJmUuc3R5bGUucmVtb3ZlUHJvcGVydHkodCl9KSksKCk9PnsKbi5mb3JFYWNoKCgoW3Qsbl0pPT57ZS5zdHlsZS5zZXRQcm9wZXJ0eSh0LG4pfSkpfX0odCxbcyxsXSksUD10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2NvbnN0IG09ZnVuY3Rpb24oKXtjb25zdCBvPVtdO2Zvcihjb25zdCBpIG9mIGgpe2NvbnN0IHI9dShlLHQsUCxuLHsuLi5pfSxzLGQpLGE9QyhyLG4pO2lmKEUoYSkpcmV0dXJuIHI7by5wdXNoKGEpfXJldHVybiAxPT09KGk9bykubGVuZ3RoP2lbMF0ucnVsZTppLnNsaWNlKCkuc29ydCgoKGUsdCk9PmUub3ZlcmZsb3chPT10Lm92ZXJmbG93P2Uub3ZlcmZsb3ctdC5vdmVyZmxvdzplLndpZHRoRGlmZiE9PXQud2lkdGhEaWZmP2Uud2lkdGhEaWZmLXQud2lkdGhEaWZmOmUuaGVpZ2h0RGlmZiE9PXQuaGVpZ2h0RGlmZj9lLmhlaWdodERpZmYtdC5oZWlnaHREaWZmOmUuc2xpZGUtdC5zbGlkZSkpWzBdLnJ1bGU7dmFyIGl9KCk7cmV0dXJuIGYoKSxwPy4oKSxtfW4uZCh0LHtjaG9zZVBvc2l0aW9uOigpPT52fSl9LDc3MTQ0NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0KXtyZXR1cm4gdC54PD1lLngmJmUueDw9dC54K3Qud2lkdGgmJnQueTw9ZS55JiZlLnk8PXQueSt0LmhlaWdodH1uLmQodCx7aXNJblJlY3Q6KCk9Pm99KX0sMjg2MzEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1JlY3RhbmdsZVBvc2l0aW9uZXI6KCk9Pnh9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDkxNDQ4Nykscj1uLm4oaSksYT1uKDU2NTc0NSksYz1uKDU4NTQ4KSxzPW4oODY1MDApLGw9big0MDYyOTQpO2Z1bmN0aW9uIHUoKXtyZXR1cm57eDowLHk6MCx3aWR0aDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsaGVpZ2h0OmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR9fXZhciBkPW4oMzE5NjkpLGg9big1MjUyNCk7dmFyIHA9big2MDE4NDEpO2Z1bmN0aW9uIGYoZSl7cmV0dXJuIHZvaWQgMCE9PWUmJmlzRmluaXRlKGUpP2Ake2V9cHhgOnZvaWQgMH12YXIgUCxtPW4oODk1MzcpLGI9bi5uKG0pO2Z1bmN0aW9uIHgoZSl7Y29uc3R7aXNSdGw6dCxhbmNob3JlZEF0Om4saXNPcGVuOmkscGxhY2VtZW50UnVsZXM6UCxhbmNob3JQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6bSxyZWZPYmplY3RUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDp4LGNoaWxkcmVuOkMsb25QbGFjZW1lbnRSdWxlU2VsZWN0ZWQ6RSxnZXRSb290UmVjdDp2PXUsaWRPZkNvbnRlbnRXcmFwcGVyRWxlbWVudDp5LGFyaWFMYWJlbGxlZGJ5OlIsYXJpYU11bHRpc2VsZWN0YWJsZTp3LHJvbGU6Uyx3aWR0aDpPLGhlaWdodDpBLHJlcG9zaXRpb25UcmlnZ2VyczpNPVtdLHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6VD1bXSxjb250ZW50UmVzaXplOkw9MTUsZGF0YVFhSWQ6TixzY3JvbGxDb250YWluZXI6Rixhc3N1bWVOb0NvbnRlbnRXcmFwOl99PWUsST0oMCxvLnVzZU1lbW8pKCgoKT0+KDAscC5pc0FycmF5KShQKT9QOltQXSksW1BdKSxXPSgwLG8udXNlUmVmKShudWxsKSxbeixEXT0oMCxvLnVzZVN0YXRlKSh2b2lkIDApLGs9ZnVuY3Rpb24oZSl7Y29uc3RbdCxuXT0oMCxvLnVzZVN0YXRlKSgoKCk9PlN5bWJvbCgpKSk7cmV0dXJuKDAsby51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IHQ9ZS5tYXAoKGU9Pntjb25zdCB0PSgpPT57bihTeW1ib2woKSl9O3JldHVybiBlLnN1YnNjcmliZSh0KSwoKT0+ZS51bnN1YnNjcmliZSh0KX0pKTtyZXR1cm4oMCxoLmZvcmtGbikoLi4udCl9KSxbLi4uZV0pLHR9KE0pOygwLG8udXNlTGF5b3V0RWZmZWN0KSgoKCk9PntpJiZXLmN1cnJlbnQ/RCgoMCxsLmNob3NlUG9zaXRpb24pKG4sVy5jdXJyZW50LHYoKSxJLHtydGw6ISF0LHNjcm9sbENvbnRhaW5lcjpGPy5jdXJyZW50LG1heEhlaWdodENzc1Byb3BlcnR5OiItLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItc2NyZWVuUmVzdHJpY3Rpb25NYXhIZWlnaHQiLG1heFdpZHRoQ3NzUHJvcGVydHk6Ii0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1zY3JlZW5SZXN0cmljdGlvbk1heFdpZHRoIixjb250ZW50T3ZlcmZsb3dXcmFwOiFffSkpOkQodm9pZCAwKX0pLFtuLFcsdixJLGksayx0LEYsXywuLi5UXSksKDAsby51c2VFZmZlY3QpKCgoKT0+e2lmKHo/LnJ1bGUmJkUpcmV0dXJuIEUoei5ydWxlKX0pLFt6Py5ydWxlLEVdKTtjb25zdCBWPSgwLGQudXNlTWVyZ2VkUmVmcykoW3gsV10pO2lmKCFpKXJldHVybiBudWxsO2NvbnN0e2NsYXNzbmFtZXM6SCxzdHlsZTpCfT1mdW5jdGlvbihlLHQsbil7Y29uc3Qgbz1bXSxpPXt9LHI9e3dpZHRoOnQsaGVpZ2h0Om59O2Zvcihjb25zdCB0IG9mWyJ3aWR0aCIsImhlaWdodCJdKXtjb25zdCBuPXJbdF07KEFycmF5LmlzQXJyYXkobik/bjpbbl0pLmZpbHRlcihhLmlzRXhpc3RlbnQpLmZvckVhY2goKG49Pntzd2l0Y2gobi5ieSl7Y2FzZSJjb250ZW50IjpyZXR1cm47Y2FzZSJjbGFzcyI6cmV0dXJuIHZvaWQgby5wdXNoKG4uY2xhc3NOYW1lKTtjYXNlImFuY2hvciI6e2NvbnN0IG89bi50eXBlPz8iZXhhY3QiO2lbZ1t0XVtvXV09ZihlW3RdKX19fSkpfXJldHVybntjbGFzc25hbWVzOm8sc3R5bGU6aX19KG4sTyxBKSxHPVttLGIoKS5wb3NpdGlvbmVyXSxqPSEoMSZMKSxVPSEoMiZMKSxRPSEoNCZMKSxYPSEoOCZMKSxZPXIoKShqJiZiKCkubm9Ib3Jpem9udGFsU2hyaW5rLFUmJmIoKS5ub0hvcml6b250YWxHcm93LFEmJmIoKS5ub1ZlcnRpY2FsU2hyaW5rLFgmJmIoKS5ub1ZlcnRpY2FsR3JvdykscT17Li4uQiwiLS11aS1saWItb3V0LXBvc2l0aW9uZXItYW5jaG9yV2lkdGgiOmYobi53aWR0aCksIi0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvckhlaWdodCI6ZihuLmhlaWdodCksIi0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvclRvcCI6ZihuLnkpLCItLXVpLWxpYi1vdXQtcG9zaXRpb25lci1hbmNob3JMZWZ0IjpmKG4ueCl9O3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoYy5Qb3J0YWwse2NsYXNzTmFtZTpiKCkucG9ydGFsfSx2b2lkIDA9PT16P28uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKShiKCkuaW52aXNpYmxlLC4uLkgsLi4uRyxZKSxzdHlsZTpxLHJlZjpWLAoiZGF0YS1xYS1pZCI6Tn0sQyk6by5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6cigpKC4uLkcsLi4uSCxZKSxzdHlsZTp7Ii0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRQb2ludFgiOnouY29udGVudFBvaW50RnJhY3Rpb24ueCwiLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFBvaW50WSI6ei5jb250ZW50UG9pbnRGcmFjdGlvbi55LCItLXVpLWxpYi1vdXQtcG9zaXRpb25lci1hbmNob3JlZFgiOmYoei5hbmNob3JlZFB4LngpLCItLXVpLWxpYi1vdXQtcG9zaXRpb25lci1hbmNob3JlZFkiOmYoei5hbmNob3JlZFB4LnkpLCItLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItc2NyZWVuUmVzdHJpY3Rpb25NYXhXaWR0aCI6Zih6Lm1heENvbnRlbnRTaXplUHgud2lkdGgpLCItLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItc2NyZWVuUmVzdHJpY3Rpb25NYXhIZWlnaHQiOmYoei5tYXhDb250ZW50U2l6ZVB4LmhlaWdodCksIi0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRIZWlnaHQiOmYoei5jb250ZW50U2l6ZVB4LmhlaWdodCksIi0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRXaWR0aCI6Zih6LmNvbnRlbnRTaXplUHgud2lkdGgpLC4uLnF9LC4uLigwLHMuY29udGVudFByb3BzKSh5LFIsdyxTKSxyZWY6ViwiZGF0YS1xYS1pZCI6Tn0sQykpfSFmdW5jdGlvbihlKXtlW2UuQWxsb3dIb3Jpem9udGFsU2hyaW5rPTFdPSJBbGxvd0hvcml6b250YWxTaHJpbmsiLGVbZS5BbGxvd0hvcml6b250YWxHcm93PTJdPSJBbGxvd0hvcml6b250YWxHcm93IixlW2UuQWxsb3dWZXJ0aWNhbFNocmluaz00XT0iQWxsb3dWZXJ0aWNhbFNocmluayIsZVtlLkFsbG93VmVydGljYWxHcm93PThdPSJBbGxvd1ZlcnRpY2FsR3JvdyJ9KFB8fChQPXt9KSk7Y29uc3QgZz17aGVpZ2h0OntleGFjdDoiLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvckV4YWN0SGVpZ2h0IixtYXg6Ii0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1hbmNob3JNYXhIZWlnaHQiLG1pbjoiLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvck1pbkhlaWdodCJ9LHdpZHRoOntleGFjdDoiLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvckV4YWN0V2lkdGgiLG1heDoiLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvck1heFdpZHRoIixtaW46Ii0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1hbmNob3JNaW5XaWR0aCJ9fX0sODY1MDAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKGUsdCxuLG8pe3JldHVybntyb2xlOm8sImFyaWEtbGFiZWxsZWRieSI6dCwiYXJpYS1tdWx0aXNlbGVjdGFibGUiOm4saWQ6ZX19bi5kKHQse2NvbnRlbnRQcm9wczooKT0+b30pfSwxOTQyNzUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TW9iaWxlUG9zaXRpb25lcjooKT0+TX0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxyPW4ubihpKSxhPW4oODU0MzM4KSxjPW4oNTg1NDgpLHM9big4NjUwMCksbD1uKDc4Nzg5NSksdT1uKDU4NzE2OCksZD1uKDMxOTY5KSxoPW4oNzM4NDU4KSxwPW4oNTY1NTMwKSxmPW4ubihwKTtmdW5jdGlvbiBQKGU9ITApe2NvbnN0IHQ9d2luZG93LmlubmVyV2lkdGgtZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aDt2YXIgbixvO2lmKGV8fCFoLmlzU2FmYXJpfHwwPT09dClyZXR1cm4gZG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS11aS1saWItcHJpdmF0ZS1zY3JvbGxUcmFwLXNjcm9sbC13aWR0aCIsYCR7dH1weGApLG49ZG9jdW1lbnQuYm9keSxvPWYoKS5ib2R5Tm9TY3JvbGwsbi5jbGFzc05hbWU9W24uY2xhc3NOYW1lLG9dLmpvaW4oIiAiKSwoKT0+eyFmdW5jdGlvbihlLHQpe2NvbnN0IG49ZS5jbGFzc05hbWUucmVwbGFjZSh0LCIiKSxvPW4uc3BsaXQoIiAiKS5maWx0ZXIoQm9vbGVhbikuam9pbigiICIpO2UuY2xhc3NOYW1lPW99KGRvY3VtZW50LmJvZHksZigpLmJvZHlOb1Njcm9sbCksZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoZigpLmJvZHlOb1Njcm9sbCl8fGRvY3VtZW50LmJvZHkuc3R5bGUucmVtb3ZlUHJvcGVydHkoIi0tdWktbGliLXByaXZhdGUtc2Nyb2xsVHJhcC1zY3JvbGwtd2lkdGgiKX19dmFyIG09big3ODg0NjUpLGI9bi5uKG0pO2NvbnN0IHg9ZT0+e2UmJmcoZSl9O2Z1bmN0aW9uIGcoZSl7ZS5zY3JvbGxUb3A9NWUzLGUuc2Nyb2xsTGVmdD01ZTN9Y29uc3QgQz0oMCx1LmRlZmF1bHQpKChlPT57ZyhlLmN1cnJlbnRUYXJnZXQpfSksMTAwKTtmdW5jdGlvbiBFKGUpe2NvbnN0e3JlZmVyZW5jZTp0LGRpc2FibGVTYWZhcmlTY3JvbGxiYXJzOm49ITB9PWUsaT0oMCxkLnVzZU1lcmdlZFJlZnMpKFt4LHRdKTtyZXR1cm4oMCxvLnVzZUxheW91dEVmZmVjdCkoKCgpPT5QKG4pKSxbbl0pLG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmIoKS5zY3JvbGxUcmFwLHJlZjppLG9uU2Nyb2xsOkN9LGUuY2hpbGRyZW4sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YigpLnNjcm9sbFRyYXBDb250ZW50fSkpfXZhciB2PW4oMTI5MzY1KSx5PW4oOTk1NzM4KSxSPW4ubih5KTtmdW5jdGlvbiB3KCl7cmV0dXJuIGguaXNTYWZhcmkmJmguaXNJT1M/by5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCwoMCx2LmNyZWF0ZVBvcnRhbCkoby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6UigpLnN0dWJ9KSxkb2N1bWVudC5ib2R5KSk6bnVsbH12YXIgUyxPPW4oMzI3ODA4KSxBPW4ubihPKTtmdW5jdGlvbiBNKGUpe2NvbnN0IHQ9KDAsby51c2VSZWYpKG51bGwpLHtpc09wZW46bixvbkNsb3NlOmksY2hpbGRyZW46dSxjYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpkLGFuY2hvcmVkQXQ6aCxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDpwPXQsc2lkZTpmPSJib3R0b20iLGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6UCxhcmlhTGFiZWxsZWRieTptLGFyaWFNdWx0aXNlbGVjdGFibGU6Yixyb2xlOngsc3RyZXRjaDpnLGRhdGFRYUlkOkN9PWUsdj0oMCxsLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKHApO3JldHVybigwLAphLnVzZUFuY2hvclBvcnRhbFBhaXIpKGgsdiksbj9vLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLG8uY3JlYXRlRWxlbWVudChjLlBvcnRhbCxudWxsLG8uY3JlYXRlRWxlbWVudChFLHtyZWZlcmVuY2U6dixkaXNhYmxlU2FmYXJpU2Nyb2xsYmFyczohMX0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi4oMCxzLmNvbnRlbnRQcm9wcykoUCxtLGIseCksImRhdGEtcWEtaWQiOkMsY2xhc3NOYW1lOnIoKShBKCkuY29udGVudCxBKClbZl0sZCxnJiZBKCkuc3RyZXRjaCl9LHUpLG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToicHJlc2VudGF0aW9uIixjbGFzc05hbWU6QSgpLmJhY2tkcm9wLG9uQ2xpY2s6KCk9PntpKCExKX0sb25Qb2ludGVyRG93bjplPT57ZS5zdG9wUHJvcGFnYXRpb24oKX19KSkpLCJib3R0b20iPT09ZiYmby5jcmVhdGVFbGVtZW50KHcsbnVsbCkpOm51bGx9IWZ1bmN0aW9uKGUpe2UuU2lkZUJlZ2luPSJiZWdpbiIsZS5TaWRlRW5kPSJlbmQiLGUuVG9wPSJ0b3AiLGUuQm90dG9tPSJib3R0b20ifShTfHwoUz17fSkpfSw4NTQzMzgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aXNFbGVtZW50Q29udGFpbnNFbGVtZW50VGhyb3VnaFBvcnRhbHM6KCk9PmQsaXNYWUluc2lkZUVsZW1lbnRUaHJvdWdoUG9ydGFsczooKT0+dSx1c2VBbmNob3JQb3J0YWxQYWlyOigpPT5sfSk7dmFyIG89big3Nzk0NzQpLGk9bigxMzg2MzgpLHI9big3NzE0NDcpO2NvbnN0IGE9bmV3IE1hcDtsZXQgYz0wO2Z1bmN0aW9uIHMoZSl7Y29uc3QgdD0oMCxvLnVzZUNhbGxiYWNrKSgoKCk9Pntjb25zdCB0PSgwLGkuZW5zdXJlKShlKTtyZXR1cm4iY3VycmVudCJpbiB0P3QuY3VycmVudDp0KCl9KSxbZV0pO2lmKGUpcmV0dXJuIHR9ZnVuY3Rpb24gbChlLHQpe2NvbnN0IG49cyhlKSxpPXModCk7KDAsby51c2VFZmZlY3QpKCgoKT0+e2lmKG4mJmkpcmV0dXJuIGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1jKys7cmV0dXJuIGEuc2V0KG4sW2UsdF0pLCgpPT57YS5kZWxldGUobil9fShuLGkpfSksW24saV0pfWZ1bmN0aW9uIHUoZSx0LG4pe2lmKGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4oMCxyLmlzSW5SZWN0KSh7eDp0LHk6bn0sZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSl9KGUsdCxuKSlyZXR1cm4hMDtmb3IoY29uc3QgbyBvZiBhLnZhbHVlcygpKXtjb25zdCBpPW9bMF0oKSxyPW9bMV0oKTtpZihpJiZyJiZlLmNvbnRhaW5zKGkpJiZ1KHIsdCxuKSlyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBkKGUsdCl7aWYoZS5jb250YWlucyh0KSlyZXR1cm4hMDtmb3IoY29uc3QgbiBvZiBhLnZhbHVlcygpKXtjb25zdCBvPW5bMF0oKSxpPW5bMV0oKTtpZihvJiZpJiZlLmNvbnRhaW5zKG8pJiZkKGksdCkpcmV0dXJuITB9cmV0dXJuITF9fSw5NTY3MzAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UG9zaXRpb25lckNvbnRleHRQcm92aWRlcjooKT0+cyx1c2VQb3NpdGlvbmVyQ29udGV4dDooKT0+bH0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oNjIzNjEzKSxyPW4ubihpKTtjb25zdCBhPSgwLG8uY3JlYXRlQ29udGV4dCkoe2lzQW5jaG9yUG9zaXRpb25lcjohMSxpc01vYmlsZVBvc2l0aW9uZXI6ITF9KTt2YXIgYztmdW5jdGlvbiBzKGUpe2NvbnN0e3Bvc2l0aW9uZXI6dCxjaGlsZHJlbjpufT1lLGk9KDAsby51c2VNZW1vKSgoKCk9Pih7aXNBbmNob3JQb3NpdGlvbmVyOiJhbmNob3IiPT09dCxpc01vYmlsZVBvc2l0aW9uZXI6Im1vYmlsZSI9PT10fSkpLFt0XSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChhLlByb3ZpZGVyLHt2YWx1ZTppfSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZToibW9iaWxlIj09PXQ/cigpLm1vYmlsZUNvbnRleHQ6cigpLmFuY2hvckNvbnRleHR9LG4pKX1mdW5jdGlvbiBsKCl7cmV0dXJuKDAsby51c2VDb250ZXh0KShhKX0hZnVuY3Rpb24oZSl7ZS5BbmNob3I9ImFuY2hvciIsZS5Nb2JpbGU9Im1vYmlsZSJ9KGN8fChjPXt9KSl9LDUyNTI0KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyguLi5lKXtyZXR1cm4oLi4udCk9PntlLmZvckVhY2goKGU9PmU/LiguLi50KSkpfX1uLmQodCx7Zm9ya0ZuOigpPT5vfSl9LDcwNjk0MyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oKXtjb25zdCBlPW5ldyBTZXQ7cmV0dXJue3N1YnNjcmliZTp0PT57ZS5hZGQodCl9LHVuc3Vic2NyaWJlOnQ9PntlLmRlbGV0ZSh0KX0sZmlyZTooKT0+e2UuZm9yRWFjaCgoZT0+ZSgpKSl9fX1uLmQodCx7Y3JlYXRlU2lnbmFsOigpPT5vfSl9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/50316.31d6cfe0d16ae931b73c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.858Z","timestamp":1785141584858,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/50316.31d6cfe0d16ae931b73c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 0\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a43614c-0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:25:16 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:11\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ee0cf6a0b95d33b84f064843402817c1\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":782,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T15:05:58.256156Z","times_seen":17565140,"resource_available":true,"data":""}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.21784.3a87670ef41edfdc885c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.875Z","timestamp":1785141584875,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.21784.3a87670ef41edfdc885c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-c48\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:29\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9dc9af308be87b4e6483af484799c7dd\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3144,"size_decoded":1995,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (3066)","md5":"68b75b26be0b7fe9cba6ceddf63188df","sha1":"447c852987cb0e880df0376f8a8e0e27c60cd3d3","sha256":"0b29ce96df5aa6f662415605317e6649052164faa030d408343458926bfcf91c","sha512":"aed77643d5947482c1d0f7df00997cb11568215d6b283085e572ffc9ec7a62cb10f40e21a1b6f166ac471743f8af4969cdbc41eff7c9365696e28d08f21572dd","ssdeep":"","tlshash":"c851fe27d181c5e92f31da01b389ecc1baf0b54514f7e0cb778aaf2ac15bc512928b75","first_seen":"2026-07-03T16:22:04.594265Z","last_seen":"2026-07-27T14:50:15.26768Z","times_seen":181,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syMTc4NCw0OTMwNyw4NjU5Myw5NjY3OF0sezc2Nzc3MShlKXtlLmV4cG9ydHM9WyJSZWFkIHN1bW1hcnkiXX0sMzI0NTEoZSl7ZS5leHBvcnRzPVsiQW1vdW50Il19LDQ5NzA5NihlKXtlLmV4cG9ydHM9WyJBY3RpdmUgYWxlcnRzIG9uIHRoaXMgZWFybmluZyJdfSw0NjQ2NjcoZSl7ZS5leHBvcnRzPVsiQWRqdXN0ZWQgYW1vdW50Il19LDI5OTU5MyhlKXtlLmV4cG9ydHM9WyJBZnRlciBtYXJrZXQgY2xvc2UiXX0sODQ0MDA5KGUpe2UuZXhwb3J0cz1bIkFsZXJ0cyJdfSw2NDI4MTcoZSl7ZS5leHBvcnRzPVsiQmVmb3JlIG1hcmtldCBvcGVuIl19LDg0Nzg1OChlKXtlLmV4cG9ydHM9WyJEYXRlIl19LDQ3MTEyNChlKXtlLmV4cG9ydHM9WyJEaXZpZGVuZHMiXX0sMzg1MTEyKGUpe2UuZXhwb3J0cz1bIkVhcm5pbmdzIl19LDY0MTg3NShlKXtlLmV4cG9ydHM9WyJFYXJuaW5ncyAmIFJldmVudWUiXX0sMzM2ODcxKGUpe2UuZXhwb3J0cz1bIkVzdGltYXRlIl19LDQ2Mjk5KGUpe2UuZXhwb3J0cz1bIkVzdGltYXRlZCBkYXRlIl19LDUxODE0MyhlKXtlLmV4cG9ydHM9WyJFeC1kaXZpZGVuZCBkYXRlIl19LDM4MTQ3OShlKXtlLmV4cG9ydHM9WyJNb3JlIHtzeW1ib2x9IGRpdmlkZW5kcyJdfSw3NTkxNTEoZSl7ZS5leHBvcnRzPVsiTW9yZSB7c3ltYm9sfSBlYXJuaW5ncyJdfSwyNDE3NyhlKXtlLmV4cG9ydHM9WyJNb3JlIHtzeW1ib2x9IGZpbmFuY2lhbHMiXX0sNDEwMzQ1KGUpe2UuZXhwb3J0cz1bIlNwbGl0Il19LDEzNjk1MihlKXtlLmV4cG9ydHM9WyJTdGFuZGFyZGl6ZWQiXX0sOTMwNTg2KGUpe2UuZXhwb3J0cz1bIlN1cnByaXNlIl19LDQ2NTkzNihlKXtlLmV4cG9ydHM9WyJQYXltZW50IGRhdGUiXX0sNzcyMTQ5KGUpe2UuZXhwb3J0cz1bIlBlcmlvZCBFbmRpbmciXX0sNjUxMjI0KGUpe2UuZXhwb3J0cz1bIlJldmVudWUiXX0sNzU2Nzg0KGUpe2UuZXhwb3J0cz1bIlJlcG9ydGVkIl19LDQyODcyMyhlKXtlLmV4cG9ydHM9WyJSb3RhdGlvbiBmYWN0b3IiXX0sMjY4ODkxKGUpe2UuZXhwb3J0cz1bIlRQTyBhYm92ZSBQT0MiXX0sMTEyNzQ4KGUpe2UuZXhwb3J0cz1bIlRQTyBiZWxvdyBQT0MiXX0sODU2MDI4KGUpe2UuZXhwb3J0cz1bIlRvdGFsIFRQTyJdfSw3MjkyMDMoZSl7ZS5leHBvcnRzPVsiVG90YWwgdm9sdW1lIl19LDUwNTAxMChlKXtlLmV4cG9ydHM9WyJWQSByYW5nZSJdfSwyNzYxMzcoZSl7ZS5leHBvcnRzPVsiSUIgaGlnaCJdfSwxNDgzMzUoZSl7ZS5leHBvcnRzPVsiSUIgbG93Il19LDUxNDc2MihlKXtlLmV4cG9ydHM9WyJJQiByYW5nZSJdfSw5NDk2MTcoZSl7ZS5leHBvcnRzPVsiUE9DIl19LDg2OTI4MyhlKXtlLmV4cG9ydHM9WyJWQUgiXX0sOTI4NjY1KGUpe2UuZXhwb3J0cz1bIlZBTCJdfSw5MzE0ODgoZSl7ZS5leHBvcnRzPVsiSEwgcmFuZ2UiXX0sNTczMjI0KGUpe2UuZXhwb3J0cz1bIkJ1eSB2b2x1bWUiXX0sNTMwOTMxKGUpe2UuZXhwb3J0cz1bIkJ1eSB2b2x1bWUsICUiXX0sMTM5ODcwKGUpe2UuZXhwb3J0cz1bIkRlbHRhIl19LDIxOTMwNihlKXtlLmV4cG9ydHM9WyJEZWx0YSwgJSJdfSw2Njk3NTMoZSl7ZS5leHBvcnRzPVsiT3BlbiBpbnRlcmVzdCJdfSw2MDA0NTMoZSl7ZS5leHBvcnRzPVsiT3BlbiBpbnRlcmVzdCBoaWdoIl19LDQ1NjU0MihlKXtlLmV4cG9ydHM9WyJPcGVuIGludGVyZXN0IGxvdyJdfSwyNDk0MShlKXtlLmV4cG9ydHM9WyJNYXggZGVsdGEiXX0sODExMDgyKGUpe2UuZXhwb3J0cz1bIk1pbiBkZWx0YSJdfSw3NDc3NzYoZSl7ZS5leHBvcnRzPVsiU2VsbCB2b2x1bWUiXX0sNzk0MzgwKGUpe2UuZXhwb3J0cz1bIlNlbGwgdm9sdW1lLCAlIl19LDcyNDY2MShlKXtlLmV4cG9ydHM9WyJWb2x1bWUiXX0sOTE1NjQ1KGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBjaGFuZ2UsICUiXX0sMzQ3ODQ5KGUpe2UuZXhwb3J0cz1bIlBPQyJdfSw5NzMzOTUoZSl7ZS5leHBvcnRzPVsiU2Vzc2lvbiBDVkQiXX0sODE1MjQwKGUpe2UuZXhwb3J0cz1bIkhMIHJhbmdlIl19LDg3MDA5KGUpe2UuZXhwb3J0cz1bIlN1bW1hcnkgaW5mbyJdfSw5MjkwNjYoZSl7ZS5leHBvcnRzPVsiSW52YWxpZCBzeW1ib2wiXX0sMjE5MTA0KGUpe2UuZXhwb3J0cz1bIkNvbnRyYWN0IHN3aXRjaCJdfSw3OTQ0MDgoZSl7ZS5leHBvcnRzPVsiQ2lyY2xlIl19LDg2OTg2NyhlKXtlLmV4cG9ydHM9WyJDbGljayB0byBsZWFybiBtb3JlIl19LDQ4ODE4MChlKXtlLmV4cG9ydHM9WyJDcm9zcyJdfSwzNDQ0ODIoZSl7ZS5leHBvcnRzPVsiQWRkIGFsZXJ0IG9uIGVhcm5pbmdzIG9yIHJldmVudWUiXX0sNzA0NDU4KGUpe2UuZXhwb3J0cz1bIkFycm93IERvd24iXX0sNjIwNjEoZSl7ZS5leHBvcnRzPVsiQXJyb3cgVXAiXX0sMjgxMjQ4KGUpe2UuZXhwb3J0cz1bIkRpYW1vbmQiXX0sOTcxNTI3KGUpe2UuZXhwb3J0cz1bIkZsYWciXX0sNjE2NDk0KGUpe2UuZXhwb3J0cz1bIkZyb20gY29udHJhY3QiXX0sMTU1ODUoZSl7ZS5leHBvcnRzPVsiRnVuZGFtZW50YWwgc3R1ZGllcyBhcmUgbm8gbG9uZ2VyIGF2YWlsYWJsZSBvbiBjaGFydHMiXX0sMjYyNDU4KGUpe2UuZXhwb3J0cz1bIkxhYmVsIERvd24iXX0sNDY0MTU3KGUpe2UuZXhwb3J0cz1bIkxhYmVsIFVwIl19LDkxNjIxNShlKXtlLmV4cG9ydHM9WyJTcXVhcmUiXX0sODcwNDA5KGUpe2UuZXhwb3J0cz1bIlRQTyBtZXJnZSBibG9jayJdfSw2MTk2MDkoZSl7ZS5leHBvcnRzPVsiVFBPIHNwbGl0IGJsb2NrIl19LDM4Mzc1MShlKXtlLmV4cG9ydHM9WyJUbyBjb250cmFjdCJdfSw4NDI2MzUoZSl7ZS5leHBvcnRzPVsiVGhpcyBmdW5kYW1lbnRhbCBtZXRyaWMgaXNuJ3QgYXZhaWxhYmxlIGZvciB0aGlzIHN5bWJvbC4iXX0sNDcxNzQ1KGUpe2UuZXhwb3J0cz1bIlRyaWFuZ2xlIERvd24iXX0sMzk5Njg4KGUpe2UuZXhwb3J0cz1bIlRyaWFuZ2xlIFVwIl19LDgxMDIyMihlKXtlLmV4cG9ydHM9WyJYIENyb3NzIl19LDM3MTI5NyhlKXtlLmV4cG9ydHM9WyJzdHVkeSBwYWNrYWdlIGlzIG5vdCBhdmFpbGFibGUiXX0sCjUxODcxOShlKXtlLmV4cG9ydHM9WyJhbmQge2NvdW50fSBtb3JlIGFsZXJ0IiwiYW5kIHtjb3VudH0gbW9yZSBhbGVydHMiXX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/50035.0227c09e8de3b4008395.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.147Z","timestamp":1785141585147,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/50035.0227c09e8de3b4008395.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 49\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b74-31\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 255240b7e03800d853f536ed9bea4f2b\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":49,"size_decoded":833,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"5cad8e0ddf70f7e7bd2c5b0f9c11a8dc","sha1":"41032fed0aadcd1947a6be4c67bc42a37e88ea05","sha256":"efe71be95be3672f79552c1e97a78c4802144f663cb11a4fb939cc4b57a915a6","sha512":"5968fa2e4c5b778001f70228a5b7b788dfc48409558346537e64029b2edc62addaee814c459f386b46af8bbd65e16e02a11c7cb494894b9d37f88c9dab66ee85","ssdeep":"","tlshash":"809002bd998840646c518619915249c8c583851049901b89e15530685a71c00441129a","first_seen":"2023-04-17T07:26:31Z","last_seen":"2026-07-27T12:48:39.648614Z","times_seen":983,"resource_available":false,"data":"Lmljb24tT0pwa19DQVF7Ym9yZGVyLXJhZGl1czo1MCU7b3ZlcmZsb3c6aGlkZGVufQ=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/8216.d7f21fe2489ddfcbc418.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.156Z","timestamp":1785141585156,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/8216.d7f21fe2489ddfcbc418.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a6328d1-2e2e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:56:49 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 43f74c4d2270c0782aecdffd72af9019\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":11822,"size_decoded":2763,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (11822), with no line terminators","md5":"1fdeb41f768794038a28c7628ca90e9f","sha1":"36599ccd34abd18e9f19824d9d72b2bbfc753697","sha256":"9b8360f9b29d78c9e01119d5d5fe05911ec10b1555c2ffb67f6f0cbca63ef8ff","sha512":"22c6a794b0c0d7a958e7b6241c53f9627cf1932e72e4dcd2d2df02fb33c6b41cdc44feb0a657b50b274dbf19a3b6846bcbcc71c044c955f54aa02bbbbeac3f13","ssdeep":"192:qHyIJSg54lB+dOHyIJSg54lB+dM3JcULKVXg+eDzogMWtR:qHegKXHegKjZ+6zJtR","tlshash":"c832b0b5e2c168a62a1f54bf03bfd35ad218f7437b6443a57e52980ef1c6be0658f102","first_seen":"2026-07-24T15:28:44.966723Z","last_seen":"2026-07-27T12:48:39.712697Z","times_seen":49,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtNXlBSTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV8xLTV5QUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1fMi01eUFJOnZhcigtLWNvbG9yLXdoaXRlKTstLV8zLTV5QUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1fNC01eUFJOnZhcigtLWNvbG9yLXdoaXRlKTstLV81LTV5QUk6dmFyKC0tY29sb3ItcmlwZS1yZWQtYTIwMCk7LS1fNi01eUFJOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fNy01eUFJOnZhcigtLWNvbG9yLXR2LWJsdWUtYTQwMCk7LS1fOC01eUFJOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLV85LTV5QUk6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMTAtNXlBSTp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV8xMS01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8xMi01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV8xMy01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8xNC01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8xNS01eUFJOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzE2LTV5QUk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMTctNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMTgtNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCk7LS1fMTktNXlBSTp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8yMC01eUFJOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fMjEtNXlBSTp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzIyLTV5QUk6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzIzLTV5QUk6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMjQtNXlBSTp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV8yNS01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8yNi01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV8yNy01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8yOC01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8yOS01eUFJOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzMwLTV5QUk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMzEtNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMzItNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCk7LS1fMzMtNXlBSTp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8zNC01eUFJOnZhcigtLWNvbG9yLXR2LWJsdWUtYTQwMCk7LS1fMzUtNXlBSTp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV8zNi01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8zNy01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8zOC01eUFJOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzM5LTV5QUk6dmFyKC0tY29sb3ItYmVycnktcGluay0yMDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtNXlBSTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8xLTV5QUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1fMi01eUFJOnZhcigtLWNvbG9yLXdoaXRlKTstLV8zLTV5QUk6dmFyKC0tY29sb3Itd2hpdGUpOy0tXzQtNXlBSTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV81LTV5QUk6dmFyKC0tY29sb3ItcmlwZS1yZWQtYTIwMCk7LS1fNi01eUFJOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fNy01eUFJOnZhcigtLWNvbG9yLXR2LWJsdWUtYTQwMCk7LS1fOC01eUFJOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLV85LTV5QUk6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMTAtNXlBSTp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV8xMS01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8xMi01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV8xMy01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8xNC01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8xNS01eUFJOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzE2LTV5QUk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMTctNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMTgtNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCk7LS1fMTktNXlBSTp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8yMC01eUFJOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fMjEtNXlBSTp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzIyLTV5QUk6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzIzLTV5QUk6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMjQtNXlBSTp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV8yNS01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8yNi01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV8yNy01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8yOC01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8yOS01eUFJOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzMwLTV5QUk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMzEtNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMzItNXlBSTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCk7LS1fMzMtNXlBSTp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8zNC01eUFJOnZhcigtLWNvbG9yLXR2LWJsdWUtYTQwMCk7LS1fMzUtNXlBSTp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV8zNi01eUFJOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8zNy01eUFJOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8zOC01eUFJOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzM5LTV5QUk6dmFyKC0tY29sb3ItYmVycnktcGluay0yMDApfS5idWJibGUtQVU5aE93RXN7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmlubGluZS1mbGV4O2ZsZXg6bm9uZTttYXgtd2lkdGg6MTAwJTtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uYnViYmxlLUFVOWhPd0VzOmZvY3Vze291dGxpbmU6bm9uZX0uYnViYmxlLUFVOWhPd0VzOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5idWJibGUtQVU5aE93RXM6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyAxMHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTVweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNXB4O3dpZHRoOmNhbGMoMTAwJSArIDEwcHgpO3otaW5kZXg6MX0uYnViYmxlLUFVOWhPd0VzOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1YmJsZS1BVTloT3dFczpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1YmJsZS1BVTloT3dFczpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnViYmxlLUFVOWhPd0VzOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpfS5idWJibGUtQVU5aE93RXMuYW5pbWF0ZWQtQVU5aE93RXM6YWZ0ZXJ7ZGlzcGxheTpibG9jaztvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLWluLW91dCx2aXNpYmlsaXR5IDBzIGVhc2UtaW4tb3V0IC4yczt2aXNpYmlsaXR5OmhpZGRlbn0uYnViYmxlLUFVOWhPd0VzLmFuaW1hdGVkLUFVOWhPd0VzOmZvY3VzOmFmdGVye29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0O3Zpc2liaWxpdHk6dmlzaWJsZX0uYnViYmxlLUFVOWhPd0VzLmFuaW1hdGVkLUFVOWhPd0VzOmZvY3VzLXZpc2libGU6YWZ0ZXJ7b3BhY2l0eToxO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7dmlzaWJpbGl0eTp2aXNpYmxlfS5idWJibGUtQVU5aE93RXMuYW5pbWF0ZWQtQVU5aE93RXM6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLWluLW91dCx2aXNpYmlsaXR5IDBzIGVhc2UtaW4tb3V0IC4yczt2aXNpYmlsaXR5OmhpZGRlbn0uYnViYmxlLUFVOWhPd0VzIC5jb250ZW50LUFVOWhPd0Vze292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFc3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLTV5QUkpO2JvcmRlci1jb2xvcjp2YXIoLS1fMC01eUFJKTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLTV5QUkpO2JvcmRlci1jb2xvcjp2YXIoLS1fMS01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0Vze2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCk7Y29sb3I6dmFyKC0tXzItNXlBSSl9LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmdyYXktQVU5aE93RXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy01eUFJKTtib3JkZXItY29sb3I6dmFyKC0tXzMtNXlBSSk7Y29sb3I6dmFyKC0tXzQtNXlBSSl9LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnJlZC1BVTloT3dFc3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zMy01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnJlZC1BVTloT3dFczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yMC01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmJsdWUtQVU5aE93RXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMzQtNXlBSSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5ibHVlLUFVOWhPd0VzOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIyLTV5QUkpfX0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMuZ3JlZW4tQVU5aE93RXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMzUtNXlBSSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5ncmVlbi1BVTloT3dFczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yNC01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLm9yYW5nZS1BVTloT3dFc3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zNi01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLm9yYW5nZS1BVTloT3dFczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yNi01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnB1cnBsZS1BVTloT3dFc3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zNy01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnB1cnBsZS1BVTloT3dFczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yOC01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmN5YW4tQVU5aE93RXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMzgtNXlBSSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5jeWFuLUFVOWhPd0VzOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzMwLTV5QUkpfX0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMucGluay1BVTloT3dFc3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zOS01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnBpbmstQVU5aE93RXM6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMzItNXlBSSl9fS5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5yZWQtQVU5aE93RXN7Ym9yZGVyLWNvbG9yOnZhcigtLV8zMy01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnJlZC1BVTloT3dFczpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tXzIwLTV5QUkpfX0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMuYmx1ZS1BVTloT3dFc3tib3JkZXItY29sb3I6dmFyKC0tXzM0LTV5QUkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMuYmx1ZS1BVTloT3dFczpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tXzIyLTV5QUkpfX0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMuZ3JlZW4tQVU5aE93RXN7Ym9yZGVyLWNvbG9yOnZhcigtLV8zNS01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmdyZWVuLUFVOWhPd0VzOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1fMjQtNXlBSSl9fS5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5vcmFuZ2UtQVU5aE93RXN7Ym9yZGVyLWNvbG9yOnZhcigtLV8zNi01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLm9yYW5nZS1BVTloT3dFczpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tXzI2LTV5QUkpfX0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMucHVycGxlLUFVOWhPd0Vze2JvcmRlci1jb2xvcjp2YXIoLS1fMzctNXlBSSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5wdXJwbGUtQVU5aE93RXM6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8yOC01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmN5YW4tQVU5aE93RXN7Ym9yZGVyLWNvbG9yOnZhcigtLV8zOC01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmN5YW4tQVU5aE93RXM6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8zMC01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnBpbmstQVU5aE93RXN7Ym9yZGVyLWNvbG9yOnZhcigtLV8zOS01eUFJKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnBpbmstQVU5aE93RXM6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8zMi01eUFJKX19LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLnJlZC1BVTloT3dFczphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzMzLTV5QUkpfS5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5ibHVlLUFVOWhPd0VzOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1fMzQtNXlBSSl9LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLmdyZWVuLUFVOWhPd0VzOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1fMzUtNXlBSSl9LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLWRlZmF1bHQtQVU5aE93RXMuYWN0aXZlLUFVOWhPd0VzLm9yYW5nZS1BVTloT3dFczphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzM2LTV5QUkpfS5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5wdXJwbGUtQVU5aE93RXM6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8zNy01eUFJKX0uYnViYmxlLUFVOWhPd0VzLmFwcGVhcmFuY2UtZGVmYXVsdC1BVTloT3dFcy5hY3RpdmUtQVU5aE93RXMuY3lhbi1BVTloT3dFczphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzM4LTV5QUkpfS5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS1kZWZhdWx0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFcy5waW5rLUFVOWhPd0VzOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1fMzktNXlBSSl9LmJ1YmJsZS1BVTloT3dFcy5hcHBlYXJhbmNlLXRleHQtQVU5aE93RXN7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlci1jb2xvcjojMDAwMDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS10ZXh0LUFVOWhPd0VzOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9fS5idWJibGUtQVU5aE93RXMuYXBwZWFyYW5jZS10ZXh0LUFVOWhPd0VzLmFjdGl2ZS1BVTloT3dFc3tib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX0uYnViYmxlLUFVOWhPd0VzLmZvbnRTaXplLXMtQVU5aE93RXN7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyMXB4Oy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHh9LmJ1YmJsZS1BVTloT3dFcy5mb250U2l6ZS1tLUFVOWhPd0VzLC5idWJibGUtQVU5aE93RXMuZm9udFNpemUtcy1BVTloT3dFc3tmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5idWJibGUtQVU5aE93RXMuZm9udFNpemUtbS1BVTloT3dFc3stLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweH0uYnViYmxlLUFVOWhPd0VzLnNpemUtbS1BVTloT3dFc3tib3JkZXItcmFkaXVzOjE0cHg7aGVpZ2h0OjI4cHg7cGFkZGluZzowIDExcHh9LmJ1YmJsZS1BVTloT3dFcy5zaXplLW0tQVU5aE93RXM6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czoxOHB4fS5idWJibGUtQVU5aE93RXMuc2l6ZS1sLUFVOWhPd0Vze2JvcmRlci1yYWRpdXM6MjRweDtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMjNweH0uYnViYmxlLUFVOWhPd0VzLnNpemUtbC1BVTloT3dFczphZnRlcntib3JkZXItcmFkaXVzOjI4cHh9LmJ1YmJsZXMtZFJBc1hWdmF7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6aGlkZGVuO3BhZGRpbmctYmxvY2s6NHB4IDEycHg7cGFkZGluZy1pbmxpbmU6MjBweCAyMHB4Oy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNofUBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOm5vbmUpey5idWJibGVzLWRSQXNYVnZhe3Njcm9sbGJhci13aWR0aDpub25lfX0uYnViYmxlcy1kUkFzWFZ2YS5zYi1zY3JvbGxiYXItd3JhcHtkaXNwbGF5Om5vbmV9LmJ1YmJsZXMtZFJBc1hWdmE6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MDt3aWR0aDowfS5idWJibGVzLWRSQXNYVnZhOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuYnViYmxlcy1kUkFzWFZ2YTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7ZGlzcGxheTpub25lfS5idWJibGVzLWRSQXNYVnZhOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS5idWJibGVzLWRSQXNYVnZhLm11bHRpTGluZS1kUkFzWFZ2YXtmbGV4LWZsb3c6d3JhcH0uYnViYmxlcy1kUkFzWFZ2YSAuYnViYmxlLWRSQXNYVnZhe2N1cnNvcjpkZWZhdWx0O21hcmdpbi1ibG9jazo4cHggMDttYXJnaW4taW5saW5lOjAgOHB4fS5idWJibGVzLWRSQXNYVnZhIC5idWJibGUtZFJBc1hWdmE6bGFzdC1jaGlsZHttYXJnaW4taW5saW5lLWVuZDowfS5idWJibGVzLWRSQXNYVnZhOmFmdGVye2NvbnRlbnQ6IiI7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87d2lkdGg6MjBweH0uaWNvbldyYXAtR2N6cTNhTFl7ZGlzcGxheTpmbGV4fS5zZldhcm5pbmdJY29uLUdjenEzYUxZe2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApO2Rpc3BsYXk6ZmxleDttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0uY29udGFpbmVyLVpVVzZicFIwe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Zm9udC1zaXplOjExcHg7bGluZS1oZWlnaHQ6MzBweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1ibG9jazo2cHggMDtwYWRkaW5nLWlubGluZToyMHB4IDM4cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2hpdGUtc3BhY2U6bm93cmFwfS5zeW1ib2xMaXN0LVJveWpBbVI0e21heC13aWR0aDoxODBweH0uZGlhbG9nLWlpcWhEY2Nze3dpZHRoOjEwMCV9LnRhYmxldERpYWxvZy1paXFoRGNjc3toZWlnaHQ6NTYycHg7bWF4LXdpZHRoOjU2MHB4fS5kZXNrdG9wRGlhbG9nLWlpcWhEY2Nze2hlaWdodDo2ODBweDttYXgtd2lkdGg6ODQwcHg7bWluLXdpZHRoOjcxOXB4O3dpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6NzY4cHgpey5kZXNrdG9wRGlhbG9nLWlpcWhEY2Nze21heC13aWR0aDo2NDBweDttaW4td2lkdGg6NDgwcHh9fUBtZWRpYSAobWF4LXdpZHRoOjUxOXB4KXsuZGVza3RvcERpYWxvZy1paXFoRGNjc3ttYXgtd2lkdGg6NDc5cHg7bWluLXdpZHRoOjM4MHB4fX0="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/63402.d30c1e003b054930d32c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.164Z","timestamp":1785141585164,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/63402.d30c1e003b054930d32c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-b3cc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:30\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6b46ae64e1cae559df0085344ebaa0b1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":46028,"size_decoded":16655,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3927)","md5":"51f86891ee79dc28bdaa34f0c6cacb5f","sha1":"8e8c8d6a85f6ac78978e96ad933ef6300d1aef2b","sha256":"015f7b5bad17c7eaeb457105542f879215cd8f29f0a18185e5ab0d330b4db3aa","sha512":"29dec03ba8451463072b5661f375a9c6661cda7bd01c2929bffada338f4987ecb31d0526f7436b86b16de82236ebcdb159d3b2bf504006cf924283c2bb53ae83","ssdeep":"768:0ZUKYt1k9LsYxxHyqE58nvYoZUNIB8BSOfhOSEuE0fykah+kl7Y8HgJD/xpnwv/a:+5qUZEekx8oVS3rPlc9wfgxI+DcwDtgw","tlshash":"58232a297190b47ca2e7419ec02e480ce36a2488e8659cb5f9fcecdd33d598d31655fe","first_seen":"2026-07-23T14:00:31.469602Z","last_seen":"2026-07-27T12:48:39.736955Z","times_seen":57,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2MzQwMl0sezg1NDQ1KGUpe2UuZXhwb3J0cz17cGlsbHM6InBpbGxzLUllUXdQamNaIixwcmltYXJ5OiJwcmltYXJ5LUllUXdQamNaIixncmF5OiJncmF5LUllUXdQamNaIixzZWxlY3RlZDoic2VsZWN0ZWQtSWVRd1BqY1oiLGdyb3VwZWQ6Imdyb3VwZWQtSWVRd1BqY1oiLGFjdGl2ZToiYWN0aXZlLUllUXdQamNaIixkaXNhYmxlQWN0aXZlT25Ub3VjaDoiZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1oiLGRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlczoiZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaIix3aXRoR3JvdXBlZDoid2l0aEdyb3VwZWQtSWVRd1BqY1oiLCJxdWlldC1wcmltYXJ5IjoicXVpZXQtcHJpbWFyeS1JZVF3UGpjWiIsZ3JlZW46ImdyZWVuLUllUXdQamNaIixyZWQ6InJlZC1JZVF3UGpjWiIsYmx1ZToiYmx1ZS1JZVF3UGpjWiIsc2Vjb25kYXJ5OiJzZWNvbmRhcnktSWVRd1BqY1oiLGdob3N0OiJnaG9zdC1JZVF3UGpjWiJ9fSwzNjQ4MTUoZSl7ZS5leHBvcnRzPXtsaWdodEJ1dHRvbjoibGlnaHRCdXR0b24ta2pSZlRsZngiLGxpbms6Imxpbmsta2pSZlRsZngiLGx0cjoibHRyLWtqUmZUbGZ4IixydGw6InJ0bC1ralJmVGxmeCIsInR5cG9ncmFwaHktcmVndWxhcjE2cHgiOiJ0eXBvZ3JhcGh5LXJlZ3VsYXIxNnB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1tZWRpdW0xNnB4IjoidHlwb2dyYXBoeS1tZWRpdW0xNnB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1yZWd1bGFyMTRweCI6InR5cG9ncmFwaHktcmVndWxhcjE0cHgta2pSZlRsZngiLCJ0eXBvZ3JhcGh5LXNlbWlib2xkMTRweCI6InR5cG9ncmFwaHktc2VtaWJvbGQxNHB4LWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1zZW1pYm9sZDE2cHgiOiJ0eXBvZ3JhcGh5LXNlbWlib2xkMTZweC1ralJmVGxmeCIsY29udGVudDoiY29udGVudC1ralJmVGxmeCIsdmlzdWFsbHlIaWRkZW46InZpc3VhbGx5SGlkZGVuLWtqUmZUbGZ4Iixub3dyYXA6Im5vd3JhcC1ralJmVGxmeCIsZWxsaXBzaXNDb250YWluZXI6ImVsbGlwc2lzQ29udGFpbmVyLWtqUmZUbGZ4Iix0ZXh0V3JhcENvbnRhaW5lcjoidGV4dFdyYXBDb250YWluZXIta2pSZlRsZngiLHRleHRXcmFwV2l0aEVsbGlwc2lzOiJ0ZXh0V3JhcFdpdGhFbGxpcHNpcy1ralJmVGxmeCIsc2xvdDoic2xvdC1ralJmVGxmeCIsY2FyZXQ6ImNhcmV0LWtqUmZUbGZ4IixhY3RpdmVDYXJldDoiYWN0aXZlQ2FyZXQta2pSZlRsZngiLHhzbWFsbDoieHNtYWxsLWtqUmZUbGZ4Iix3aXRoU3RhcnRTbG90OiJ3aXRoU3RhcnRTbG90LWtqUmZUbGZ4Iix3aXRoRW5kU2xvdDoid2l0aEVuZFNsb3Qta2pSZlRsZngiLG5vQ29udGVudDoibm9Db250ZW50LWtqUmZUbGZ4Iix3cmFwOiJ3cmFwLWtqUmZUbGZ4IixzbWFsbDoic21hbGwta2pSZlRsZngiLG1lZGl1bToibWVkaXVtLWtqUmZUbGZ4In19LDgzMjUxOChlKXtlLmV4cG9ydHM9eyJjaGVja2JveC1zaXplIjoiMThweCIsYm94OiJib3gtWGZHa0JCcWYiLHVuY2hlY2tlZDoidW5jaGVja2VkLVhmR2tCQnFmIixjaGVja2VkOiJjaGVja2VkLVhmR2tCQnFmIixtaXhlZDoibWl4ZWQtWGZHa0JCcWYiLGRpc2FibGVkOiJkaXNhYmxlZC1YZkdrQkJxZiIsY2hlY2tlZE1hcms6ImNoZWNrZWRNYXJrLVhmR2tCQnFmIixtaXhlZE1hcms6Im1peGVkTWFyay1YZkdrQkJxZiJ9fSw4NjAwMjUoZSl7ZS5leHBvcnRzPXtwYWlyOiJwYWlyLXh3R3NTWFIwIix4eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjM6Inh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMy14d0dzU1hSMCIseHh4eHNtYWxsOiJ4eHh4c21hbGwteHdHc1NYUjAiLHh4eHNtYWxsOiJ4eHhzbWFsbC14d0dzU1hSMCIseHhzbWFsbDoieHhzbWFsbC14d0dzU1hSMCIseHNtYWxsOiJ4c21hbGwteHdHc1NYUjAiLHNtYWxsOiJzbWFsbC14d0dzU1hSMCIsbWVkaXVtOiJtZWRpdW0teHdHc1NYUjAiLGxhcmdlOiJsYXJnZS14d0dzU1hSMCIseGxhcmdlOiJ4bGFyZ2UteHdHc1NYUjAiLHh4bGFyZ2U6Inh4bGFyZ2UteHdHc1NYUjAiLHh4eGxhcmdlOiJ4eHhsYXJnZS14d0dzU1hSMCIsbG9nbzoibG9nby14d0dzU1hSMCIsc2tlbGV0b246InNrZWxldG9uLXh3R3NTWFIwIixlbXB0eToiZW1wdHkteHdHc1NYUjAifX0sNDI5MzUzKGUpe2UuZXhwb3J0cz17ZGlzYWJsZVNlbGZQb3NpdGlvbmluZzoiZGlzYWJsZVNlbGZQb3NpdGlvbmluZy1MclpwNFJPQyJ9fSw1OTE3MjgoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci1haTkzREpWdyIsdmlzaWJsZToidmlzaWJsZS1haTkzREpWdyIsZm9yY2VWaXNpYmxlOiJmb3JjZVZpc2libGUtYWk5M0RKVncifX0sNzUxODYzKGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC1HaERqWHpCeCIsaW5wdXQ6ImlucHV0LUdoRGpYekJ4Iixib3g6ImJveC1HaERqWHpCeCIsaG92ZXJEb3Q6ImhvdmVyRG90LUdoRGpYekJ4IixyZWQ6InJlZC1HaERqWHpCeCIsYmx1ZToiYmx1ZS1HaERqWHpCeCIsZ3JlZW46ImdyZWVuLUdoRGpYekJ4IixvcmFuZ2U6Im9yYW5nZS1HaERqWHpCeCIscHVycGxlOiJwdXJwbGUtR2hEalh6QngiLGN5YW46ImN5YW4tR2hEalh6QngiLHBpbms6InBpbmstR2hEalh6QngiLGxhcmdlOiJsYXJnZS1HaERqWHpCeCIscGlja2VyRG90OiJwaWNrZXJEb3QtR2hEalh6QngifX0sNTU4ODczKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci15Zk5iZ3RnTiIsYnV0dG9uczoiYnV0dG9ucy15Zk5iZ3RnTiIsY29sb3JTZWxlY3RCdXR0b246ImNvbG9yU2VsZWN0QnV0dG9uLXlmTmJndGdOIn19LDU1ODk3MihlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItVm5lUVZvTnYiLHNlbGVjdG9yOiJzZWxlY3Rvci1WbmVRVm9OdiIsYXJyb3dMZWZ0OiJhcnJvd0xlZnQtVm5lUVZvTnYiLGNvbG9yU2VsZWN0QnV0dG9uOiJjb2xvclNlbGVjdEJ1dHRvbi1WbmVRVm9OdiIscG9wdXA6InBvcHVwLVZuZVFWb052In19LDkxNjI2KGUpe2UuZXhwb3J0cz17aXRlbToiaXRlbS12VG04TzBMTSIsCmludGVyYWN0aXZlOiJpbnRlcmFjdGl2ZS12VG04TzBMTSIsaG92ZXJlZDoiaG92ZXJlZC12VG04TzBMTSIsZGlzYWJsZWQ6ImRpc2FibGVkLXZUbThPMExNIixhY3RpdmU6ImFjdGl2ZS12VG04TzBMTSIsc2hvcnRjdXQ6InNob3J0Y3V0LXZUbThPMExNIixub3JtYWw6Im5vcm1hbC12VG04TzBMTSIsYmlnOiJiaWctdlRtOE8wTE0iLGljb25DZWxsOiJpY29uQ2VsbC12VG04TzBMTSIsaWNvbjoiaWNvbi12VG04TzBMTSIsY29udGVudDoiY29udGVudC12VG04TzBMTSIsbGFiZWw6ImxhYmVsLXZUbThPMExNIixjaGVja2VkOiJjaGVja2VkLXZUbThPMExNIix0b29sYm94OiJ0b29sYm94LXZUbThPMExNIixzaG93VG9vbGJveE9uSG92ZXI6InNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTSIsYXJyb3dJY29uOiJhcnJvd0ljb24tdlRtOE8wTE0iLHN1Yk1lbnU6InN1Yk1lbnUtdlRtOE8wTE0iLGludmlzaWJsZUhvdGtleToiaW52aXNpYmxlSG90a2V5LXZUbThPMExNIn19LDEwNzk2NihlKXtlLmV4cG9ydHM9e2l0ZW06Iml0ZW0tZDlqTE9MclIiLGVtcHR5SWNvbnM6ImVtcHR5SWNvbnMtZDlqTE9MclIiLGxvYWRpbmc6ImxvYWRpbmctZDlqTE9MclIiLGRpc2FibGVkOiJkaXNhYmxlZC1kOWpMT0xyUiIsaW50ZXJhY3RpdmU6ImludGVyYWN0aXZlLWQ5akxPTHJSIixob3ZlcmVkOiJob3ZlcmVkLWQ5akxPTHJSIixub3JtYWw6Im5vcm1hbC1kOWpMT0xyUiIsYmlnOiJiaWctZDlqTE9MclIiLGljb246Imljb24tZDlqTE9MclIiLGxhYmVsOiJsYWJlbC1kOWpMT0xyUiIsdGl0bGU6InRpdGxlLWQ5akxPTHJSIixuZXN0ZWQ6Im5lc3RlZC1kOWpMT0xyUiIsc2hvcnRjdXQ6InNob3J0Y3V0LWQ5akxPTHJSIixyZW1vdmU6InJlbW92ZS1kOWpMT0xyUiJ9fSw5NTQ0NzgoZSl7ZS5leHBvcnRzPXtzZXBhcmF0b3I6InNlcGFyYXRvci1LSHR5TVRZRyJ9fSwxNzcxMTYoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci1NMW16NHF1QSIscGFpckNvbnRhaW5lcjoicGFpckNvbnRhaW5lci1NMW16NHF1QSIsbG9nbzoibG9nby1NMW16NHF1QSIsaGlkZGVuOiJoaWRkZW4tTTFtejRxdUEifX0sNDYwMzcwKGUpe2UuZXhwb3J0cz17c2Nyb2xsV3JhcDoic2Nyb2xsV3JhcC1GYU92VEQyciIsc2Nyb2xsV3JhcF92aXNpYmxlOiJzY3JvbGxXcmFwX3Zpc2libGUtRmFPdlREMnIifX0sNjQ2MTYyKGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC12U2I2QzBCaiIsIndyYXAtLWhvcml6b250YWwiOiJ3cmFwLS1ob3Jpem9udGFsLXZTYjZDMEJqIixiYXI6ImJhci12U2I2QzBCaiIsYmFySW5uZXI6ImJhcklubmVyLXZTYjZDMEJqIiwiYmFySW5uZXItLWhvcml6b250YWwiOiJiYXJJbm5lci0taG9yaXpvbnRhbC12U2I2QzBCaiIsImJhci0taG9yaXpvbnRhbCI6ImJhci0taG9yaXpvbnRhbC12U2I2QzBCaiJ9fSw4MTAyODEoZSl7ZS5leHBvcnRzPXtpY29uOiJpY29uLVdCMnkwRW5QIixkcm9wcGVkOiJkcm9wcGVkLVdCMnkwRW5QIn19LDg2NTU2MChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtUVkFwcENvbnRleHQ6KCk9PmMsVFZBcHBDb250ZXh0UHJvdmlkZXI6KCk9Pml9KTt2YXIgbj1vKDc3OTQ3NCkscj1vKDExNTI5Mykscz1vKDk5OTUxKSxhPW8oMTE3MzEzKTtjb25zdCBsPXtpT3M6Im9sZCIsYW5kcm9pZDoibmV3IixvbGQ6Im9sZCIsbmV3OiJuZXciLGFueToiYW55In07ZnVuY3Rpb24gaShlKXtjb25zdFt0XT0oMCxuLnVzZVN0YXRlKSh7aXNPbk1vYmlsZUFwcFBhZ2U6ZT0+KDAsYS5pc09uTW9iaWxlQXBwUGFnZSkobFtlXSksaXNSdGw6KDAsci5pc1J0bCkoKSxsb2NhbGU6d2luZG93LmxvY2FsZSxyZW5kZXJNb2RlOmUucmVuZGVyTW9kZT8/ImxlZ2FjeSJ9KTtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KHMuQXBwQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6dH0sZS5jaGlsZHJlbil9Y29uc3QgYz1zLkFwcENvbnRleHR9LDU3MTMwMChlLHQsbyl7InVzZSBzdHJpY3QiO28ucih0KSxvLmQodCx7Y3JlYXRlUmVhY3RSb290OigpPT5sfSk7dmFyIG49byg3Nzk0NzQpLHI9bygxMjkzNjUpLHM9bygzMzYzMzQpLGE9byg4NjU1NjApO2Z1bmN0aW9uIGwoZSx0LG89ImxlZ2FjeSIpe2NvbnN0IGw9bi5jcmVhdGVFbGVtZW50KGEuVFZBcHBDb250ZXh0UHJvdmlkZXIse3JlbmRlck1vZGU6b30sZSk7aWYoIm1vZGVybiI9PT1vKXtjb25zdCBlPSgwLHMuY3JlYXRlUm9vdCkodCk7cmV0dXJuIGUucmVuZGVyKGwpLHtyZW5kZXIodCl7ZS5yZW5kZXIobi5jcmVhdGVFbGVtZW50KGEuVFZBcHBDb250ZXh0UHJvdmlkZXIse3JlbmRlck1vZGU6b30sdCkpfSx1bm1vdW50KCl7ZS51bm1vdW50KCl9fX1yZXR1cm4gci5yZW5kZXIobCx0KSx7cmVuZGVyKGUpe3IucmVuZGVyKG4uY3JlYXRlRWxlbWVudChhLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOm99LGUpLHQpfSx1bm1vdW50KCl7ci51bm1vdW50Q29tcG9uZW50QXROb2RlKHQpfX19fSwxMDc1ODUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCl7cmV0dXJuIHR8fG51bGw9PWV8fCgic3RyaW5nIj09dHlwZW9mIGV8fEFycmF5LmlzQXJyYXkoZSkpJiYwPT09ZS5sZW5ndGh9by5kKHQse2lzSWNvbk9ubHk6KCk9Pm59KX0sMjIwNzY0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0J1dHRvbkdyb3VwQ29udGV4dDooKT0+bn0pO2NvbnN0IG49byg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoe2lzSW5CdXR0b25Hcm91cDohMSxpc0dyb3VwUHJpbWFyeTohMX0pfSwzMjgyMTkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7dXNlTGlnaHRCdXR0b25DbGFzc2VzOigpPT51fSk7dmFyIG49byg3Nzk0NzQpLHI9byg5MTQ0ODcpLHM9by5uKHIpLGE9bygzMDk5MjApLGw9bygxMDc1ODUpLGk9byg1MzIwMTEpLGM9bygyMjA3NjQpO2NvbnN0IHU9KGUsdCxvKT0+e2NvbnN0IHI9KDAsCm4udXNlQ29udGV4dCkoYS5DdXN0b21CZWhhdmlvdXJDb250ZXh0KSx7Y2xhc3NOYW1lOnUsaXNTZWxlY3RlZDptLGNoaWxkcmVuOmQsc2hvd0NhcmV0OnAsZm9yY2VEaXJlY3Rpb246aCxpY29uT25seTpnLGNvbG9yOnY9ImdyYXkiLHZhcmlhbnQ6Xz0icHJpbWFyeSIsc2l6ZTpmPSJtZWRpdW0iLGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOmI9ci5lbmFibGVBY3RpdmVTdGF0ZVN0eWxlcyx0eXBvZ3JhcGh5OkMsaXNMaW5rOng9ITEsdGV4dFdyYXA6eSxpc1BpbGxzOlMsaXNBY3RpdmU6dyxzdGFydFNsb3Q6ayxlbmRTbG90OkV9PXQsTD1lW2B0eXBvZ3JhcGh5LSR7KChlLHQsbyk9PntpZihvKXtjb25zdCBlPW8ucmVwbGFjZSgvXlxEKy9nLCIiKTtyZXR1cm4gdD9gc2VtaWJvbGQke2V9YDpvfXN3aXRjaChlKXtjYXNlInhzbWFsbCI6cmV0dXJuIHQ/InNlbWlib2xkMTRweCI6InJlZ3VsYXIxNHB4IjtjYXNlInNtYWxsIjpjYXNlIm1lZGl1bSI6cmV0dXJuIHQ/InNlbWlib2xkMTZweCI6InJlZ3VsYXIxNnB4IjtkZWZhdWx0OnJldHVybiIifX0pKGYsbXx8UyxDfHx2b2lkIDApfWBdLE49KDAsbi51c2VDb250ZXh0KShpLkNvbnRyb2xHcm91cENvbnRleHQpLHtpc0luQnV0dG9uR3JvdXA6TSxpc0dyb3VwUHJpbWFyeTpUfT0oMCxuLnVzZUNvbnRleHQpKGMuQnV0dG9uR3JvdXBDb250ZXh0KTtyZXR1cm4gcygpKHUsZS5saWdodEJ1dHRvbix4JiZlLmxpbmssdyYmZS5hY3RpdmUsbSYmZS5zZWxlY3RlZCwoMCxsLmlzSWNvbk9ubHkpKGQsZykmJmUubm9Db250ZW50LCEhayYmZS53aXRoU3RhcnRTbG90LChwfHwhIUUpJiZlLndpdGhFbmRTbG90LG8mJmUud2l0aEdyb3VwZWQsaCYmZVtoXSxlW1Q/InByaW1hcnkiOl9dLGVbVD8iZ3JheSI6dl0sZVtmXSxMLCFiJiZlLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcyxOLmlzR3JvdXBlZCYmZS5ncm91cGVkLHkmJmUud3JhcCxNJiZlLmRpc2FibGVBY3RpdmVPblRvdWNoLFMmJmUucGlsbHMpfX0sODMwMTIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7TGlnaHRCdXR0b25Db250ZW50OigpPT5wfSk7dmFyIG49byg3Nzk0NzQpLHI9byg5MTQ0ODcpLHM9by5uKHIpLGE9byg3NzAxNDMpLGw9bygxMDc1ODUpLGk9bygyNzMzMTApLGM9byg5MzUxKSx1PW8ubihjKSxtPW8oMzY0ODE1KSxkPW8ubihtKTtmdW5jdGlvbiBwKGUpe2NvbnN0e3Nob3dDYXJldDp0LGljb25Pbmx5Om8sZWxsaXBzaXM6cj0hMCx0ZXh0V3JhcDpjLHRvb2x0aXBUZXh0Om0sY2hpbGRyZW46cCxlbmRTbG90Omgsc3RhcnRTbG90OmcsaXNBY3RpdmVDYXJldDp2fT1lO1toLHRdLmZpbHRlcigoZT0+ISFlKSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChuLkZyYWdtZW50LG51bGwsZyYmbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShkKCkuc2xvdCxkKCkuc3RhcnRTbG90KX0sZyksISgwLGwuaXNJY29uT25seSkocCxvKSYmbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShkKCkuY29udGVudCwhYyYmZCgpLm5vd3JhcCwiYXBwbHktb3ZlcmZsb3ctdG9vbHRpcCIsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWNoZWNrLWNoaWxkcmVuLXJlY3Vyc2l2ZWx5IiwiYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tYWxsb3ctdGV4dCIpLCJkYXRhLW92ZXJmbG93LXRvb2x0aXAtdGV4dCI6bT8/KDAsYS5nZXRUZXh0Rm9yVG9vbHRpcCkocCl9LGN8fHI/bi5jcmVhdGVFbGVtZW50KG4uRnJhZ21lbnQsbnVsbCxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpKCFjJiZyJiZkKCkuZWxsaXBzaXNDb250YWluZXIsYyYmZCgpLnRleHRXcmFwQ29udGFpbmVyLGMmJnImJmQoKS50ZXh0V3JhcFdpdGhFbGxpcHNpcyl9LHApLG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpkKCkudmlzdWFsbHlIaWRkZW4sImFyaWEtaGlkZGVuIjohMH0scCkpOm4uY3JlYXRlRWxlbWVudChuLkZyYWdtZW50LG51bGwscCxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6ZCgpLnZpc3VhbGx5SGlkZGVuLCJhcmlhLWhpZGRlbiI6ITB9LHApKSksaCYmbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShkKCkuc2xvdCxkKCkuZW5kU2xvdCl9LGgpLHQmJihlPT5uLmNyZWF0ZUVsZW1lbnQoaS5JY29uLHtjbGFzc05hbWU6cygpKGQoKS5jYXJldCxlJiZkKCkuYWN0aXZlQ2FyZXQpLGljb246dSgpfSkpKHYpKX19LDg1NDgyMChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtMaWdodEJ1dHRvbjooKT0+ZH0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oNTMyMDExKSxzPW8oMzI4MjE5KSxhPW8oODMwMTIpLGw9bygzNDUxMTYpLGk9bygzNjQ4MTUpLGM9by5uKGkpLHU9byg4NTQ0NSksbT1vLm4odSk7ZnVuY3Rpb24gZChlKXtjb25zdHtpc0dyb3VwZWQ6dH09bi51c2VDb250ZXh0KHIuQ29udHJvbEdyb3VwQ29udGV4dCkse3JlZmVyZW5jZTpvLGNsYXNzTmFtZTppLGlzU2VsZWN0ZWQ6dSxjaGlsZHJlbjpkLGljb25Pbmx5OnAsZWxsaXBzaXM6aCxzaG93Q2FyZXQ6Zyxmb3JjZURpcmVjdGlvbjp2LGVuZFNsb3Q6XyxzdGFydFNsb3Q6Zixjb2xvcjpiLHZhcmlhbnQ6QyxzaXplOngsZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6eSx0eXBvZ3JhcGh5OlMsdGV4dFdyYXA6dz0hMSxtYXhMaW5lczprLHN0eWxlOkU9e30saXNQaWxsczpMLGlzQWN0aXZlOk4sdG9vbHRpcFRleHQ6TSxyb2xlOlQsZGF0YVFhSWQ6UCxhcmlhTGFiZWw6SSxuYW1lOlIsb25Gb2N1czpPLG9uQmx1cjpCLG9uTW91c2VFbnRlcjpqLG9uTW91c2VMZWF2ZTp6LG9uTW91c2VPdmVyOkQsb25Nb3VzZU91dDpBLG9uQ2xpY2s6RyxvbkFuaW1hdGlvbkVuZDpXLG9uUG9pbnRlck92ZXI6VSxvblBvaW50ZXJPdXQ6SCxvbktleURvd246VixhdXRvRm9jdXM6WCxpc0FjdGl2ZUNhcmV0OkYsaWQ6USxkaXNhYmxlZDpaLHRhYkluZGV4OnEsdmFsdWU6Syx0aXRsZTokLHR5cGU6SiwuLi5ZfT1lLGVlPSgwLGwuZmlsdGVyRGF0YVByb3BzKShZKSx0ZT0oMCxsLmZpbHRlckFyaWFQcm9wcykoWSksb2U9dz9rPz8yOjEsbmU9b2U+MD97Li4uRSwKIi0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb250ZW50LW1heC1saW5lcyI6b2V9OkU7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7bmFtZTpSLG9uRm9jdXM6TyxvbkJsdXI6Qixvbk1vdXNlRW50ZXI6aixvbk1vdXNlTGVhdmU6eixvbk1vdXNlT3ZlcjpELG9uTW91c2VPdXQ6QSxvbkNsaWNrOkcsb25BbmltYXRpb25FbmQ6VyxvblBvaW50ZXJPdmVyOlUsb25Qb2ludGVyT3V0Okgsb25LZXlEb3duOlYsYXV0b0ZvY3VzOlgsaWQ6USxkaXNhYmxlZDpaLHRhYkluZGV4OnEsdmFsdWU6Syx0aXRsZTokLHR5cGU6SiwiZGF0YS1xYS1pZCI6UCwiYXJpYS1sYWJlbCI6SSwuLi5lZSwuLi50ZSxjbGFzc05hbWU6KDAscy51c2VMaWdodEJ1dHRvbkNsYXNzZXMpKHsuLi5tKCksLi4uYygpfSx7Y2xhc3NOYW1lOmksaXNTZWxlY3RlZDp1LGNoaWxkcmVuOmQsaWNvbk9ubHk6cCxzaG93Q2FyZXQ6Zyxmb3JjZURpcmVjdGlvbjp2LGVuZFNsb3Q6XyxzdGFydFNsb3Q6Zixjb2xvcjpiLHZhcmlhbnQ6QyxzaXplOngsZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6eSx0eXBvZ3JhcGh5OlMsdGV4dFdyYXA6dyxpc1BpbGxzOkwsaXNBY3RpdmU6Tn0sdCkscmVmOm8sc3R5bGU6bmUscm9sZTpUfSxuLmNyZWF0ZUVsZW1lbnQoYS5MaWdodEJ1dHRvbkNvbnRlbnQse3Nob3dDYXJldDpnLGlzQWN0aXZlQ2FyZXQ6ZyYmKEx8fE58fHV8fEYpLGljb25Pbmx5OnAsZWxsaXBzaXM6aCx0ZXh0V3JhcDp3LHRvb2x0aXBUZXh0Ok0sZW5kU2xvdDpfLHN0YXJ0U2xvdDpmfSxkKSl9fSw1MzYxMjUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Q2hlY2tib3hWaWV3SW1wbDooKT0+ZH0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oOTE0NDg3KSxzPW8ubihyKSxhPW8oMjE3Mjc0KSxsPW8oMTQ3OTAxKSxpPW8oMTI1ODk3KSxjPW8ubihpKSx1PW8oODMyNTE4KSxtPW8ubih1KTtmdW5jdGlvbiBkKGUpe2NvbnN0e2NoZWNrZWQ6dCxkaXNhYmxlZDpvLGRhdGFRYUlkOnJ9PWU7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnMoKShtKCkuYm94LCEwPT09dCYmbSgpLmNoZWNrZWQsITE9PT10JiZtKCkudW5jaGVja2VkLCJtaXhlZCI9PT10JiZtKCkubWl4ZWQsbyYmbSgpLmRpc2FibGVkKSwiZGF0YS1xYS1pZCI6KDAsbC5jb25jYXRJZk5vdE51bGwpKGAke2wuVUlfTElCX0RBVEFfUUFfSURfUFJFRklYfWNoZWNrYm94LXZpZXctJHt0PyJjaGVja2VkIjoidW5jaGVja2VkIn1gLHIpfSwhMD09PXQmJm4uY3JlYXRlRWxlbWVudChhLkJsb2NrSWNvbix7aWNvbjpjKCksY2xhc3NOYW1lOm0oKS5jaGVja2VkTWFya30pLCJtaXhlZCI9PT10JiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTptKCkubWl4ZWRNYXJrfSkpfX0sNjI3ODQ4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2dldEJsb2NrU3R5bGVDbGFzc2VzOigpPT5pLGdldExvZ29TdHlsZUNsYXNzZXM6KCk9PmN9KTt2YXIgbj1vKDkxNDQ4Nykscj1vLm4obikscz1vKDEzNjQpLGE9byg4NjAwMjUpLGw9by5uKGEpO2Z1bmN0aW9uIGkoZSx0KXtyZXR1cm4gcigpKGwoKS5wYWlyLGwoKVtlXSx0KX1mdW5jdGlvbiBjKGUsdD0yLG89ITApe3JldHVybiByKCkobCgpLmxvZ28sbCgpW2VdLGwoKS5za2VsZXRvbixzLnNrZWxldG9uVGhlbWUud3JhcHBlciwhbyYmbCgpLmVtcHR5LDE9PT10JiZyKCkocy5za2VsZXRvblRoZW1lLmFuaW1hdGVkKSl9fSw1MzIwMTEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Q29udHJvbEdyb3VwQ29udGV4dDooKT0+cyxkZWZhdWx0Q2VsbFN0YXRlOigpPT5yfSk7dmFyIG49byg3Nzk0NzQpO2NvbnN0IHI9e2lzVG9wOiEwLGlzUmlnaHQ6ITAsaXNCb3R0b206ITAsaXNMZWZ0OiEwfSxzPW4uY3JlYXRlQ29udGV4dCh7aXNHcm91cGVkOiExLGNlbGxTdGF0ZTpyfSl9LDY0MTkwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1NwaW5uZXI6KCk9PmN9KTt2YXIgbj1vKDc3OTQ3NCkscj1vKDkxNDQ4Nykscz1vLm4ociksYT1vKDU2NzQ3OSksbD0obyg4NDU1NzcpLG8oNDI5MzUzKSksaT1vLm4obCk7ZnVuY3Rpb24gYyhlKXtjb25zdHthcmlhTGFiZWw6dCxhcmlhTGFiZWxsZWRieTpvLGNsYXNzTmFtZTpyLHN0eWxlOmwsc2l6ZTpjLGlkOnUsZGlzYWJsZVNlbGZQb3NpdGlvbmluZzptfT1lO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkociwidHYtc3Bpbm5lciIsInR2LXNwaW5uZXItLXNob3duIixgdHYtc3Bpbm5lci0tc2l6ZV8ke2Euc3Bpbm5lclNpemVNYXBbY3x8YS5ERUZBVUxUX1NJWkVdfWAsbSYmaSgpLmRpc2FibGVTZWxmUG9zaXRpb25pbmcpLHN0eWxlOmwscm9sZToicHJvZ3Jlc3NiYXIiLGlkOnUsImFyaWEtbGFiZWwiOnQsImFyaWEtbGFiZWxsZWRieSI6b30pfX0sODY5ODQyKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1N3aXRjaEdyb3VwQ29udGV4dDooKT0+c30pO3ZhciBuPW8oNzc5NDc0KSxyPW8oODYyMzg4KTtjb25zdCBzPSgwLG4uY3JlYXRlQ29udGV4dCkoe2dldE5hbWU6KCk9PiIiLGdldFZhbHVlczooKT0+W10sZ2V0T25DaGFuZ2U6KCk9PnIuZGVmYXVsdCxzdWJzY3JpYmU6ci5kZWZhdWx0LHVuc3Vic2NyaWJlOnIuZGVmYXVsdH0pfSw2NTg0NihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHttYWtlU3dpdGNoR3JvdXBJdGVtOigpPT5zfSk7dmFyIG49byg3Nzk0NzQpLHI9byg4Njk4NDIpO2Z1bmN0aW9uIHMoZSl7dmFyIHQ7cmV0dXJuIHQ9Y2xhc3MgZXh0ZW5kcyBuLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX29uQ2hhbmdlPWU9Pnt0aGlzLmNvbnRleHQuZ2V0T25DaGFuZ2UoKShlLnRhcmdldC52YWx1ZSl9LHRoaXMuX29uVXBkYXRlPWU9PntlLmluY2x1ZGVzKHRoaXMucHJvcHMudmFsdWUpJiZ0aGlzLmZvcmNlVXBkYXRlKCl9fWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5jb250ZXh0LnN1YnNjcmliZSh0aGlzLl9vblVwZGF0ZSl9cmVuZGVyKCl7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChlLHsuLi50aGlzLnByb3BzLG5hbWU6dGhpcy5fZ2V0TmFtZSgpLG9uQ2hhbmdlOnRoaXMuX29uQ2hhbmdlLApjaGVja2VkOnRoaXMuX2lzQ2hlY2tlZCgpfSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLmNvbnRleHQudW5zdWJzY3JpYmUodGhpcy5fb25VcGRhdGUpfV9nZXROYW1lKCl7cmV0dXJuIHRoaXMuY29udGV4dC5nZXROYW1lKCl9X2lzQ2hlY2tlZCgpe3JldHVybiB0aGlzLmNvbnRleHQuZ2V0VmFsdWVzKCkuaW5jbHVkZXModGhpcy5wcm9wcy52YWx1ZSl9fSx0LmNvbnRleHRUeXBlPXIuU3dpdGNoR3JvdXBDb250ZXh0LHR9fSwxNDkzNjQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7U3dpdGNoR3JvdXA6KCk9PnN9KTt2YXIgbj1vKDc3OTQ3NCkscj1vKDg2OTg0Mik7Y2xhc3MgcyBleHRlbmRzIG4uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9zdWJzY3JpcHRpb25zPW5ldyBTZXQsdGhpcy5fZ2V0TmFtZT0oKT0+dGhpcy5wcm9wcy5uYW1lLHRoaXMuX2dldFZhbHVlcz0oKT0+dGhpcy5wcm9wcy52YWx1ZXMsdGhpcy5fZ2V0T25DaGFuZ2U9KCk9PnRoaXMucHJvcHMub25DaGFuZ2UsdGhpcy5fc3Vic2NyaWJlPWU9Pnt0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChlKX0sdGhpcy5fdW5zdWJzY3JpYmU9ZT0+e3RoaXMuX3N1YnNjcmlwdGlvbnMuZGVsZXRlKGUpfSx0aGlzLnN0YXRlPXtzd2l0Y2hHcm91cENvbnRleHQ6e2dldE5hbWU6dGhpcy5fZ2V0TmFtZSxnZXRWYWx1ZXM6dGhpcy5fZ2V0VmFsdWVzLGdldE9uQ2hhbmdlOnRoaXMuX2dldE9uQ2hhbmdlLHN1YnNjcmliZTp0aGlzLl9zdWJzY3JpYmUsdW5zdWJzY3JpYmU6dGhpcy5fdW5zdWJzY3JpYmV9fX1yZW5kZXIoKXtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KHIuU3dpdGNoR3JvdXBDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0aGlzLnN0YXRlLnN3aXRjaEdyb3VwQ29udGV4dH0sdGhpcy5wcm9wcy5jaGlsZHJlbil9Y29tcG9uZW50RGlkVXBkYXRlKGUpe3RoaXMuX25vdGlmeSh0aGlzLl9nZXRVcGRhdGVzKHRoaXMucHJvcHMudmFsdWVzLGUudmFsdWVzKSl9X25vdGlmeShlKXt0aGlzLl9zdWJzY3JpcHRpb25zLmZvckVhY2goKHQ9PnQoZSkpKX1fZ2V0VXBkYXRlcyhlLHQpe3JldHVyblsuLi50LC4uLmVdLmZpbHRlcigobz0+dC5pbmNsdWRlcyhvKT8hZS5pbmNsdWRlcyhvKTplLmluY2x1ZGVzKG8pKSl9fX0sMjc4MjYzKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2Zvcm1hdFRpbWU6KCk9PnAsaXNWYWxpZFRpbWVPcHRpb25zRGF0ZVN0eWxlOigpPT5kLGlzVmFsaWRUaW1lT3B0aW9uc1JhbmdlOigpPT5tfSk7Y29uc3Qgbj17Y2FsZW5kYXI6ImdyZWdvcnkiLG51bWJlcmluZ1N5c3RlbToibGF0biIsaG91cjEyOiExfSxyPXt5ZWFyOiJudW1lcmljIixtb250aDoic2hvcnQiLGRheToibnVtZXJpYyJ9LHM9e3llYXI6Im51bWVyaWMiLG1vbnRoOiIyLWRpZ2l0IixkYXk6IjItZGlnaXQifSxhPXtob3VyOiIyLWRpZ2l0IixtaW51dGU6IjItZGlnaXQiLHNlY29uZDoiMi1kaWdpdCJ9LGw9InNob3J0T2Zmc2V0IixpPSJzaG9ydCIsYz17eWVhcjowLG1vbnRoOjEsZGF5OjIsaG91cjozLG1pbnV0ZTo0LHNlY29uZDo1fTtjb25zdCB1PVsieWVhciIsIm1vbnRoIiwiZGF5IiwiaG91ciIsIm1pbnV0ZSIsInNlY29uZCJdO2Z1bmN0aW9uIG0oZSl7cmV0dXJuIHUuaW5jbHVkZXMoZSl9ZnVuY3Rpb24gZChlKXtyZXR1cm4ibnVtZXJpYyI9PT1lfHwic2hvcnQiPT09ZX1mdW5jdGlvbiBwKGUsdCxvPSJ5ZWFyIix1PSJkYXkiLG0pe2NvbnN0IGQ9ZnVuY3Rpb24oZT0ieWVhciIsdD0iZGF5IixvPXt9KXtbZSx0XT1jW3RdPmNbZV0/W2UsdF06W3QsZV07Y29uc3QgdT17Li4uIm51bWVyaWMiPT09by5kYXRlU3R5bGU/czpyLC4uLmF9LG09by5mcmFjdGlvbmFsU2Vjb25kRGlnaXRzLGQ9ey4uLm4sZnJhY3Rpb25hbFNlY29uZERpZ2l0czp2b2lkIDA9PT1tP3ZvaWQgMDpNYXRoLmZsb29yKE1hdGgubWluKE1hdGgubWF4KDEsbSksMykpLHRpbWVab25lOm8udGltZVpvbmUsd2Vla2RheTpvLndlZWtkYXk/aTp2b2lkIDAsdGltZVpvbmVOYW1lOm8udGltZVpvbmVOYW1lP2w6dm9pZCAwfTtyZXR1cm4gT2JqZWN0LmtleXModSkuZm9yRWFjaCgobz0+e2Nbb10+PWNbZV0mJmNbb108PWNbdF0mJihkW29dPXVbb10pfSkpLGR9KG8sdSxtKSxwPW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHQsZCksaD1uZXcgRGF0ZShlKTtyZXR1cm4gcC5mb3JtYXQoaCl9fSw3NzAxNDMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Z2V0VGV4dEZvclRvb2x0aXA6KCk9PmF9KTt2YXIgbj1vKDc3OTQ3NCk7Y29uc3Qgcj1lPT4oMCxuLmlzVmFsaWRFbGVtZW50KShlKSYmQm9vbGVhbihlLnByb3BzLmNoaWxkcmVuKSxzPShlLHQ9ITApPT5udWxsPT1lfHwiYm9vbGVhbiI9PXR5cGVvZiBlfHwie30iPT09SlNPTi5zdHJpbmdpZnkoZSk/IiI6ZS50b1N0cmluZygpKyh0PyIgIjoiIiksYT1lPT5BcnJheS5pc0FycmF5KGUpfHwoMCxuLmlzVmFsaWRFbGVtZW50KShlKT9uLkNoaWxkcmVuLnRvQXJyYXkoZSkucmVkdWNlKCgoZSx0KT0+e2xldCBvPSIiO3JldHVybiBvPSgwLG4uaXNWYWxpZEVsZW1lbnQpKHQpJiZyKHQpP2EodC5wcm9wcy5jaGlsZHJlbik6KDAsbi5pc1ZhbGlkRWxlbWVudCkodCkmJiFyKHQpPyIiOnModCksZS5jb25jYXQobyl9KSwiIikudHJpbSgpOnMoZSwhMSl9LDk3MzgwNChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtnZXRJbWFnZTooKT0+c30pO2NvbnN0IG49bmV3IE1hcDtmdW5jdGlvbiByKGUpe2UuY3Jvc3NPcmlnaW49ImFub255bW91cyJ9ZnVuY3Rpb24gcyhlLHQsbz1yLHMpe2xldCBhPW4uZ2V0KGUpO3JldHVybiB2b2lkIDA9PT1hJiYoYT1uZXcgUHJvbWlzZSgoKGUsbik9Pntjb25zdCByPW5ldyBJbWFnZTtyLm9ubG9hZD0oKT0+e2Uociksci5vbmxvYWQ9bnVsbCxyLm9uZXJyb3I9bnVsbH0sci5vbmVycm9yPSgpPT57bigpLHIub25sb2FkPW51bGwsci5vbmVycm9yPW51bGx9LG8ociksci5zcmM9dCxzJiYocy5vbmFib3J0PSgpPT57bigpLHIub25sb2FkPW51bGwsci5vbmVycm9yPW51bGx9KX0pKSxuLnNldChlLGEpKSxhfX0sNTk1MTg5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0ZsYWc6KCk9PmwKfSk7dmFyIG49byg3Nzk0NzQpLHI9byg2MDc4MzIpLHM9bygxMjkzMzMpLGE9byg1OTE3MjgpO2NsYXNzIGwgZXh0ZW5kcyBuLkNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fc3ltYm9sTWFya2VyPW51bGwsdGhpcy5fcmVmPW51bGwsdGhpcy5faGFuZGxlUmVmPWU9Pntjb25zdHtzeW1ib2w6dCxvbkNsaWNrOm8sY2xhc3NOYW1lOm4sYWN0aXZlQ2xhc3NOYW1lOnIsZm9yY2VWaXNpYmxlOmw9ITF9PXRoaXMucHJvcHM7bnVsbCE9PWUmJih0aGlzLl9zeW1ib2xNYXJrZXI9bmV3IHMuU3ltYm9sTWFya2VyKHtzeW1ib2w6dCxjbGFzc05hbWU6bixjb250YWluZXI6ZSxhY3RpdmVDbGFzc05hbWU6cnx8KGw/YS5mb3JjZVZpc2libGU6YS52aXNpYmxlKSxvbkNsaWNrOihlLHQpPT57bz9vKHt0YXJnZXRTeW1ib2w6ZSxzZWxlY3RlZFN5bWJvbHM6dGhpcy5wcm9wcy5zZWxlY3RlZFN5bWJvbHMsY29udGludWF0aW9uOnR9KTp0KCl9LG1hbmFnZXI6dGhpcy5jb250ZXh0fSkpLHRoaXMuX3JlZj1lfX1zaG91bGRDb21wb25lbnRVcGRhdGUoZSl7cmV0dXJuIHRoaXMucHJvcHMuc3ltYm9sIT09ZS5zeW1ib2x8fHRoaXMucHJvcHMuY2xhc3NOYW1lIT09ZS5jbGFzc05hbWV9Y29tcG9uZW50RGlkVXBkYXRlKGUpe2NvbnN0e3N5bWJvbDp0LGNsYXNzTmFtZTpvfT10aGlzLnByb3BzO251bGwhPT10aGlzLl9yZWYmJih0IT09ZS5zeW1ib2wmJnRoaXMuX3N5bWJvbE1hcmtlcj8uYmluZFRvKHRoaXMucHJvcHMuc3ltYm9sLHRoaXMuX3JlZiksbyE9PWUuY2xhc3NOYW1lJiZvJiZ0aGlzLl9zeW1ib2xNYXJrZXI/LnNldENsYXNzTmFtZShvKSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLl9zeW1ib2xNYXJrZXImJnRoaXMuX3N5bWJvbE1hcmtlci5kZXN0cm95KCl9cmVuZGVyKCl7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTphLmNvbnRhaW5lcixyZWY6dGhpcy5faGFuZGxlUmVmfSl9fWwuY29udGV4dFR5cGU9ci5TbG90Q29udGV4dH0sNTYxMjA1KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1N5bWJvbFNlYXJjaEl0ZW1zRGlhbG9nQ29udGV4dDooKT0+bn0pO2NvbnN0IG49byg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQobnVsbCl9LDQ0MDcxNShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtDb250ZXh0TWVudUNvbnRleHQ6KCk9Pm59KTtjb25zdCBuPW8oNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSw1MjUxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0hpbnQ6KCk9Pmx9KTt2YXIgbj1vKDc3OTQ3NCkscj1vKDkxNDQ4Nykscz1vLm4ociksYT1vKDkxNjI2KTtmdW5jdGlvbiBsKGUpe2NvbnN0e3RleHQ6dD0iIixjbGFzc05hbWU6b309ZTtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShhLnNob3J0Y3V0LG8pfSx0KX19LDcyMTE2NyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtDb250ZXh0TWVudUl0ZW06KCk9Pmh9KTt2YXIgbj1vKDc3OTQ3NCkscj1vKDkxNDQ4Nykscz1vLm4ociksYT1vKDI3MzMxMCksbD1vKDY0OTE2NiksaT1vKDc3OTEwOCksYz1vKDUyNTEpLHU9bygzODA1NiksbT1vKDU4MDU5NiksZD1vKDQ2MjcwNCkscD1vKDEwNzk2Nik7ZnVuY3Rpb24gaChlKXtjb25zdHtjbGFzc05hbWU6dCxpc1RpdGxlOm8saXNMb2FkaW5nOnIsaXNIb3ZlcmVkOmgsYWN0aXZlOmcsY2hlY2thYmxlOnYsZGlzYWJsZWQ6XyxjaGVja2VkOmYsaWNvbjpiLGljb25DaGVja2VkOkMsaGludDp4LHN1Ykl0ZW1zOnksbGFiZWw6UyxzdHlsZWRMYWJlbDp3LG9uQ2xpY2s6ayxjaGlsZHJlbjpFLHRvb2xib3g6TCxqc3hMYWJlbDpOLHNpemU6TT0ibm9ybWFsIn09ZSxUPSgwLG4udXNlQ29udGV4dCkoaS5FbXB0eUljb25zQ29udGV4dCksUD0hIXkubGVuZ3RoO3JldHVybiByP24uY3JlYXRlRWxlbWVudCgibGkiLHtjbGFzc05hbWU6cygpKHQscC5pdGVtLHAubG9hZGluZyxwW01dKX0sbi5jcmVhdGVFbGVtZW50KGwuTG9hZGVyLG51bGwpKTpuLmNyZWF0ZUVsZW1lbnQoImxpIix7Y2xhc3NOYW1lOnMoKSh0LHAuaXRlbSxwLmludGVyYWN0aXZlLG8mJnAudGl0bGUsXyYmcC5kaXNhYmxlZCxoJiZwLmhvdmVyZWQsZyYmcC5hY3RpdmUsVCYmcC5lbXB0eUljb25zLHBbTV0pLG9uQ2xpY2s6a30sbi5jcmVhdGVFbGVtZW50KGEuSWNvbix7Y2xhc3NOYW1lOnMoKShwLmljb24pLGljb246ZnVuY3Rpb24oKXtpZih2JiZmKXJldHVybiBDfHxifHx1O3JldHVybiBifSgpfSksbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShwLmxhYmVsKX0sIU4mJnc/dy5tYXAoKCh7dGV4dDplLC4uLnR9LG8pPT5uLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtrZXk6byxzdHlsZTp0fSxlKSkpOk4/P1MpLCEhTCYmbi5jcmVhdGVFbGVtZW50KGEuSWNvbix7b25DbGljazpmdW5jdGlvbigpe0wmJkwuYWN0aW9uKCl9LGNsYXNzTmFtZTpwLnJlbW92ZSxpY29uOmR9KSwhUCYmeCYmbi5jcmVhdGVFbGVtZW50KGMuSGludCx7Y2xhc3NOYW1lOnAuc2hvcnRjdXQsdGV4dDp4fSksUCYmbi5jcmVhdGVFbGVtZW50KGEuSWNvbix7Y2xhc3NOYW1lOnAubmVzdGVkLGljb246bX0pLEUpfX0sMzIzODMwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0NvbnRleHRNZW51TGlzdDooKT0+aH0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oOTU0NDc4KTtmdW5jdGlvbiBzKGUpe3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImxpIix7Y2xhc3NOYW1lOnIuc2VwYXJhdG9yfSl9dmFyIGE9byg3MjExNjcpLGw9byg1NjkzOTgpLGk9byg5NjQyMTQpLGM9bygyNzYwMTkpO2NvbnN0IHU9KDAsbC5pc0ZlYXR1cmVFbmFibGVkKSgiZm9yY2VfZGlzYWJsZV9qc3hfbWVudV9pdGVtc19yZW5kZXJpbmciKTtmdW5jdGlvbiBtKGUpe2NvbnN0IHQ9dT9lLmFjdGlvbjplLmFjdGlvbi5jdXN0b20oKT8/ZS5hY3Rpb24sW28scl09KDAsbi51c2VTdGF0ZSkoKCgpPT50LmdldFN0YXRlKCkpKSxbcyxsXT0oMCxuLnVzZVN0YXRlKSghMSksbT0hIW8uc3ViSXRlbXMubGVuZ3RoLGQ9bSYmcztyZXR1cm4oMCxuLnVzZUVmZmVjdCkoKCgpPT57CmNvbnN0IGU9KCk9PnIodC5nZXRTdGF0ZSgpKTtyZXR1cm4gdC5vblVwZGF0ZSgpLnN1YnNjcmliZShudWxsLGUpLCgpPT57dC5vblVwZGF0ZSgpLnVuc3Vic2NyaWJlKG51bGwsZSl9fSksW10pLG4uY3JlYXRlRWxlbWVudChhLkNvbnRleHRNZW51SXRlbSx7Li4ubyxvbkNsaWNrOmZ1bmN0aW9uKGUpe2lmKG8uZGlzYWJsZWR8fGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47aWYobSlyZXR1cm4gdm9pZCBsKCEwKTtvLmRvTm90Q2xvc2VPbkNsaWNrfHwoMCxjLmdsb2JhbENsb3NlTWVudSkoKTt0LmV4ZWN1dGUoKX0saXNMb2FkaW5nOm8ubG9hZGluZyxpc0hvdmVyZWQ6ZH0sZCYmbi5jcmVhdGVFbGVtZW50KGkuRHJhd2VyLHtvbkNsb3NlOnB9LG4uY3JlYXRlRWxlbWVudChoLHtpdGVtczpvLnN1Ykl0ZW1zLHBhcmVudEFjdGlvbjp0LGNsb3NlTmVzdGVkOnB9KSkpO2Z1bmN0aW9uIHAoZSl7ZSYmZS5wcmV2ZW50RGVmYXVsdCgpLGwoITEpfX12YXIgZD1vKDc3OTEwOCkscD1vKDMzNDU1MCk7ZnVuY3Rpb24gaChlKXtjb25zdHtpdGVtczp0LHBhcmVudEFjdGlvbjpvLGNsb3NlTmVzdGVkOnJ9PWUsbD0hQm9vbGVhbihvKSYmdC5ldmVyeSgoZT0+IUJvb2xlYW4oInNlcGFyYXRvciIhPT1lLnR5cGUmJihlLmdldFN0YXRlKCkuaWNvbnx8ZS5nZXRTdGF0ZSgpLmNoZWNrYWJsZSkpKSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChkLkVtcHR5SWNvbnNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpsfSxuLmNyZWF0ZUVsZW1lbnQoInVsIixudWxsLG8mJm4uY3JlYXRlRWxlbWVudChuLkZyYWdtZW50LG51bGwsbi5jcmVhdGVFbGVtZW50KGEuQ29udGV4dE1lbnVJdGVtLHtsYWJlbDpvLmdldFN0YXRlKCkubGFiZWwsaXNUaXRsZTohMCxhY3RpdmU6ITEsZGlzYWJsZWQ6ITEsc3ViSXRlbXM6W10sY2hlY2thYmxlOiExLGNoZWNrZWQ6ITEsZG9Ob3RDbG9zZU9uQ2xpY2s6ITEsaWNvbjpwLG9uQ2xpY2s6cn0pLG4uY3JlYXRlRWxlbWVudChzLG51bGwpKSx0Lm1hcCgoZT0+e3N3aXRjaChlLnR5cGUpe2Nhc2UiYWN0aW9uIjpyZXR1cm4gbi5jcmVhdGVFbGVtZW50KG0se2tleTplLmlkLGFjdGlvbjplfSk7Y2FzZSJzZXBhcmF0b3IiOnJldHVybiBuLmNyZWF0ZUVsZW1lbnQocyx7a2V5OmUuaWR9KX19KSkpKX19LDc3OTEwOChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtFbXB0eUljb25zQ29udGV4dDooKT0+bn0pO2NvbnN0IG49byg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoITEpfSw4NTgwMzcoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Z2V0QWN0aW9uczooKT0+cH0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oMTg1MjcxKSxzPW8oNzEyMTM0KSxhPW8oNDMxODIzKSxsPW8oNTA5MDQpLGk9byg5MTk5ODUpLGM9byg2NDM5MDMpLHU9bygzODY5MzEpLG09byg2MjE5MjYpLGQ9byg2NzQxOSk7ZnVuY3Rpb24gcChlLHQscCxoKXtjb25zdCBnPWZ1bmN0aW9uKGUsdCxpLHApe2NvbnN0IGg9ci50KG51bGwsdm9pZCAwLG8oMzA4MzkpKS5mb3JtYXQoe3N5bWJvbDooMCxjLnNhZmVTaG9ydE5hbWUpKHQpfSksZz1lLmdldFN5bWJvbENvbG9yKHQpfHx2b2lkIDAsdj17fSxfPXMuTElTVF9DT0xPUlMubWFwKChlPT57Y29uc3QgdD1uZXcgbC5BY3Rpb24oe2FjdGlvbklkOiJXYXRjaGxpc3QuQ2hhbmdlRmxhZ2dlZEdyb3VwQ29sb3IiLG9wdGlvbnM6e2xhYmVsOigwLGQuZmxhZ2dlZFN5bWJvbENvbG9yTmFtZSkoZSksb25FeGVjdXRlOigpPT5mKGUpLGNoZWNrYWJsZTohMCxjaGVja2VkOmU9PT1nfX0pO3JldHVybiB2W2VdPXQsdH0pKSxmPW89PntwKCksKDAsbS5ydW5PclNpZ25pbldpdGhGZWF0dXJlKSgoKCk9PntpLnNldENvbG9yKG8pLGUuc2V0U3ltYm9sc0NvbG9yKFt0XSxpLmdldENvbG9yKCkpLCgwLHUudHJhY2tFdmVudCkoIldhdGNobGlzdCIsIkNvbnRleHQgbWVudSIsIkZsYWciKSxzLkxJU1RfQ09MT1JTLmZvckVhY2goKGU9Pnt2W2VdLnVwZGF0ZSh7Y2hlY2tlZDplPT09aS5nZXRDb2xvcigpfSl9KSl9KSx7ZmVhdHVyZToiZmxhZ2dlZFN5bWJvbHNDb2xvcnMiLHNvdXJjZToiU2V0IHN5bWJvbCBjb2xvciJ9KX0sYj17ZG9Ob3RDbG9zZU9uQ2xpY2s6ITB9O3JldHVybltuZXcgbC5BY3Rpb24oe2FjdGlvbklkOiJXYXRjaGxpc3QuRmxhZ1N5bWJvbCIsb3B0aW9uczp7bGFiZWw6aCxvbkV4ZWN1dGU6KCk9PmYoaS5nZXRDb2xvcigpKX19KSxuZXcgbC5BY3Rpb24oe2FjdGlvbklkOiJXYXRjaGxpc3QuQ2hhbmdlRmxhZ2dlZEdyb3VwQ29sb3IiLG9wdGlvbnM6ey4uLmIsbGFiZWw6ci50KG51bGwsdm9pZCAwLG8oOTYxNjE0KSksc3ViSXRlbXM6X30sY3VzdG9tQWN0aW9uT3B0aW9uczp7Li4uYixqc3hMYWJlbDpuLmNyZWF0ZUVsZW1lbnQoYS5MYWJlbENvbG9yU2VsZWN0b3Ise3ZhbHVlOmcsb25DaGFuZ2U6Zn0pfX0pXX0oZSx0LHAsaCk7cmV0dXJuIG51bGwhPT1lLmdldFN5bWJvbENvbG9yKHQpJiZnLnB1c2goZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IGwuQWN0aW9uKHthY3Rpb25JZDoiV2F0Y2hsaXN0LlVuZmxhZ1N5bWJvbCIsb3B0aW9uczp7bGFiZWw6ci50KG51bGwsdm9pZCAwLG8oNjkyMSkpLmZvcm1hdCh7c3ltYm9sOigwLGMuc2FmZVNob3J0TmFtZSkodCl9KSxvbkV4ZWN1dGU6KCk9PntlLnNldFN5bWJvbHNDb2xvcihbdF0sbnVsbCksKDAsdS50cmFja0V2ZW50KSgiV2F0Y2hsaXN0IiwiQ29udGV4dCBtZW51IiwiVW5mbGFnIil9fX0pfShlLHQpKSxnLnB1c2goZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBsLkFjdGlvbih7YWN0aW9uSWQ6IldhdGNobGlzdC5VbmZsYWdBbGxTeW1ib2xzIixvcHRpb25zOntsYWJlbDpyLnQobnVsbCx2b2lkIDAsbygzMzI3NTMpKSxvbkV4ZWN1dGU6KCk9PnsoMCxpLnNob3dVbmZsYWdBbGxTeW1ib2xzQ29uZmlybSkoKCgpPT57ZS5jbGVhckFsbFN5bWJvbHNDb2xvcigpfSkpLCgwLHUudHJhY2tFdmVudCkoIldhdGNobGlzdCIsIkNvbnRleHQgbWVudSIsIlVuZmxhZyBhbGwiKX19fSl9KGUpKSxnfX0sMzA2NjAxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0NvbG9yU2VsZWN0b3I6KCk9Pnh9KQo7dmFyIG49byg3Nzk0NzQpLHI9byg3MTIxMzQpLHM9bygyMzU3MjQpLGE9bygxNDkzNjQpLGw9byg5ODM2MTYpLGk9bygzMjk2NjgpLGM9byg5MTQ0ODcpLHU9by5uKGMpLG09byg2NTg0NiksZD1vKDI3MzMxMCkscD1vKDE4NTI3MSksaD1vKDQ0MDcxNSksZz1vKDE4MjMwOCksdj1vKDI3NDg1MSksXz1vKDIwMzMwOSksZj1vKDc1MTg2Myk7Y29uc3QgYj0oMCxtLm1ha2VTd2l0Y2hHcm91cEl0ZW0pKChmdW5jdGlvbihlKXtjb25zdHtjbGFzc05hbWU6dCx2YWx1ZTpzPXIuTGlzdENvbG9yLlJlZCxuYW1lOmEsY2hlY2tlZDpsfT1lLFtpLGNdPSgwLGcudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KShudWxsKSxtPSgwLG4udXNlQ29udGV4dCkoaC5Db250ZXh0TWVudUNvbnRleHQpLGI9bT8udHlwZT8/Im1lbnUiLEM9cztyZXR1cm4gbi5jcmVhdGVFbGVtZW50KCJsYWJlbCIse3JlZjppLHRhYkluZGV4OmMsY2xhc3NOYW1lOnUoKSh0LGYud3JhcCwiZHJhd2VyIj09PWImJmYubGFyZ2UpLCJkYXRhLWNvbG9yIjpDLHJvbGU6Im1lbnVpdGVtIiwiYXJpYS1sYWJlbCI6cC50KG51bGwse3JlcGxhY2U6e2NvbG9yOkN9fSxvKDUwNjkxNSkpLCJhcmlhLWNoZWNrZWQiOmx9LG4uY3JlYXRlRWxlbWVudCgiaW5wdXQiLHtjbGFzc05hbWU6Zi5pbnB1dCx0eXBlOiJyYWRpbyIsbmFtZTphLHZhbHVlOnMsY2hlY2tlZDpsLG9uQ2hhbmdlOmUub25DaGFuZ2Usb25DbGljazpsP2Z1bmN0aW9uKCl7ZS5vbkNsaWNrSWZDaGVja2VkJiZlLm9uQ2xpY2tJZkNoZWNrZWQocyl9OnZvaWQgMH0pLG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnUoKShmLmJveCxmW0NdLCJkcmF3ZXIiPT09YiYmZi5sYXJnZSl9LGw/bi5jcmVhdGVFbGVtZW50KGQuSWNvbix7aWNvbjp2fSk6bi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Zi5waWNrZXJEb3R9LG4uY3JlYXRlRWxlbWVudChkLkljb24se2NsYXNzTmFtZTpmLmhvdmVyRG90LGljb246X30pKSkpfSkpLEM9WzM5LDM3LDEzLDMyLDI3XTtmdW5jdGlvbiB4KGUpe2NvbnN0e2J1dHRvbkNsYXNzTmFtZTp0LHZhbHVlOm8sb25TZWxlY3RlZENsaWNrOmMsZnJvbUtleWJvYXJkOnV9PWUsbT0oMCxuLnVzZVJlZikobnVsbCksZD0oMCxuLnVzZUNhbGxiYWNrKSgoZT0+e2lmKCFtLmN1cnJlbnR8fGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47Y29uc3QgdD0oMCxzLmhhc2hGcm9tRXZlbnQpKGUpO2lmKCFDLmluY2x1ZGVzKHQpKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgbj0oMCxsLnF1ZXJ5Rm9jdXNhYmxlRWxlbWVudHMpKG0uY3VycmVudCkuc29ydChsLm5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3IpLGE9bi5maW5kSW5kZXgoKGU9PmU9PT1kb2N1bWVudC5hY3RpdmVFbGVtZW50KSk7aWYoLTE9PT1hKXJldHVybjtjb25zdCBjPW5bYV07bGV0IHU7c3dpdGNoKHQpe2Nhc2UgMTM6Y2FzZSAzMjpoKGMuZGF0YXNldC5jb2xvcnx8ci5MaXN0Q29sb3IuUmVkKTticmVhaztjYXNlIDI3Omgobyl9c3dpdGNoKCgwLGwubWFwS2V5Q29kZVRvRGlyZWN0aW9uKSh0KSl7Y2FzZSJpbmxpbmVOZXh0Ijp1PW5bYSsxXXx8blswXTticmVhaztjYXNlImlubGluZVByZXYiOnU9blthLTFdfHxuW24ubGVuZ3RoLTFdfXUgaW5zdGFuY2VvZiBIVE1MTGFiZWxFbGVtZW50JiYoKDAsaS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShjKSwoMCxpLmJlY29tZU1haW5FbGVtZW50KSh1KSx1LmZvY3VzKCkpfSksW10pOygwLG4udXNlTGF5b3V0RWZmZWN0KSgoKCk9PntpZighdSlyZXR1cm47Y29uc3QgZT1kb2N1bWVudC5hY3RpdmVFbGVtZW50LHQ9bS5jdXJyZW50O2lmKCF0KXJldHVybjtjb25zdFtvXT0oMCxsLnF1ZXJ5Rm9jdXNhYmxlRWxlbWVudHMpKHQpLnNvcnQobC5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKTtyZXR1cm4gbz8oKDAsaS5iZWNvbWVNYWluRWxlbWVudCkobyksby5mb2N1cygpLCgpPT57ZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZlLmZvY3VzKCl9KTp2b2lkIDB9KSxbXSk7Y29uc3QgcD1yLkxJU1RfQ09MT1JTLm1hcCgoKGUsbyk9Pm4uY3JlYXRlRWxlbWVudChiLHtrZXk6byxjbGFzc05hbWU6dCxvbkNsaWNrSWZDaGVja2VkOmMsdmFsdWU6ZX0pKSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgibWVudSIse3JlZjptLG9uS2V5RG93bjpkfSxuLmNyZWF0ZUVsZW1lbnQoYS5Td2l0Y2hHcm91cCx7bmFtZToiY29sb3Itc2VsZWN0b3IiLG9uQ2hhbmdlOmgsdmFsdWVzOnZvaWQgMCE9PW8/W29dOltdfSxwKSk7ZnVuY3Rpb24gaCh0KXtlLm9uQ2hhbmdlJiZ2b2lkIDAhPT10JiZlLm9uQ2hhbmdlKHQpfX19LDY3NDE5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2ZsYWdnZWRTeW1ib2xDb2xvck5hbWU6KCk9PnN9KTt2YXIgbj1vKDcxMjEzNCkscj1vKDE4NTI3MSk7ZnVuY3Rpb24gcyhlKXtzd2l0Y2goZSl7Y2FzZSBuLkxpc3RDb2xvci5SZWQ6cmV0dXJuIHIudChudWxsLHZvaWQgMCxvKDY1NTA0MikpO2Nhc2Ugbi5MaXN0Q29sb3IuR3JlZW46cmV0dXJuIHIudChudWxsLHZvaWQgMCxvKDY4MjY2OSkpO2Nhc2Ugbi5MaXN0Q29sb3IuQmx1ZTpyZXR1cm4gci50KG51bGwsdm9pZCAwLG8oNjM4MSkpO2Nhc2Ugbi5MaXN0Q29sb3IuT3JhbmdlOnJldHVybiByLnQobnVsbCx2b2lkIDAsbyg5NzEyODMpKTtjYXNlIG4uTGlzdENvbG9yLlB1cnBsZTpyZXR1cm4gci50KG51bGwsdm9pZCAwLG8oNjcwOTIzKSk7Y2FzZSBuLkxpc3RDb2xvci5DeWFuOnJldHVybiByLnQobnVsbCx2b2lkIDAsbygxNDY4NCkpO2Nhc2Ugbi5MaXN0Q29sb3IuUGluazpyZXR1cm4gci50KG51bGwsdm9pZCAwLG8oNjc2NzY4KSl9fX0sNDMxODIzKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0xhYmVsQ29sb3JTZWxlY3RvcjooKT0+bH0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oMzA2NjAxKSxzPW8oNTE4NzUpLGE9byg1NTg4NzMpO2NsYXNzIGwgZXh0ZW5kcyBuLlB1cmVDb21wb25lbnR7cmVuZGVyKCl7Y29uc3R7dmFsdWU6ZX09dGhpcy5wcm9wcztyZXR1cm4gbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEud3JhcHBlcn0sbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7CmNsYXNzTmFtZTphLmJ1dHRvbnMsb25DbGljazpzLnByZXZlbnREZWZhdWx0fSxuLmNyZWF0ZUVsZW1lbnQoci5Db2xvclNlbGVjdG9yLHtidXR0b25DbGFzc05hbWU6YS5jb2xvclNlbGVjdEJ1dHRvbix2YWx1ZTplLG9uQ2hhbmdlOnRoaXMuX29uQ2hhbmdlLG9uU2VsZWN0ZWRDbGljazp0aGlzLl9vbkNoYW5nZX0pKSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX29uQ2hhbmdlPWU9Pnt0aGlzLnByb3BzLm9uQ2hhbmdlKGUpfX19fSw4MzQxODgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7UG9wdXBDb2xvclNlbGVjdG9yOigpPT54fSk7dmFyIG49byg3Nzk0NzQpLHI9byg2MDc4MzIpLHM9byg2MDk1MjgpLGE9byg0MDYxMTApLGw9bygzMTM3NzIpLGk9byg5NjQyMTQpLGM9bygzMjM4MzApLHU9byg0NDA3MTUpLG09byg5NjkxNjgpLGQ9byg1ODU0OCkscD1vKDMwNjYwMSksaD1vKDM2MzI2OSksZz1vKDU1ODk3Mik7Y2xhc3MgdiBleHRlbmRzIG4uUHVyZUNvbXBvbmVudHtjb21wb25lbnREaWRNb3VudCgpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmKGgubW9iaWxldG91Y2g/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hTdGFydCk6KHRoaXMucHJvcHMuZWxlbS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9vblRhcmdldE1vdXNlTGVhdmUpLGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLnByb3BzLmhpZGUpKSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJihoLm1vYmlsZXRvdWNoP2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9vblRvdWNoU3RhcnQpOnRoaXMucHJvcHMuZWxlbSYmKHRoaXMucHJvcHMuZWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9vblRhcmdldE1vdXNlTGVhdmUpLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMucHJvcHMuaGlkZSkpKX1yZW5kZXIoKXtjb25zdCBlPXt0b3A6MH07aWYodGhpcy5wcm9wcy5lbGVtKXtjb25zdCB0PXRoaXMucHJvcHMuZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlLnRvcD10LnRvcCt0LmhlaWdodC8yLCgwLG0uaXNSdGwpKCk/ZS5yaWdodD13aW5kb3cuaW5uZXJXaWR0aC10LmxlZnQ6ZS5sZWZ0PXQubGVmdCt0LndpZHRofWVsc2UgZS5sZWZ0PTA7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChkLlBvcnRhbCxudWxsLG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6ZSxjbGFzc05hbWU6Zy5wb3B1cCxyZWY6dGhpcy5fc2V0UG9wVXBFbGVtLG9uTW91c2VMZWF2ZTpoLm1vYmlsZXRvdWNoP3ZvaWQgMDp0aGlzLl9vblBvcFVwTW91c2VMZWF2ZX0sbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Zy53cmFwcGVyfSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnLnNlbGVjdG9yfSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnLmFycm93TGVmdH0pLG4uY3JlYXRlRWxlbWVudChwLkNvbG9yU2VsZWN0b3Ise2J1dHRvbkNsYXNzTmFtZTpnLmNvbG9yU2VsZWN0QnV0dG9uLHZhbHVlOnRoaXMucHJvcHMuY3VycmVudENvbG9yLGZyb21LZXlib2FyZDp0aGlzLnByb3BzLmZyb21LZXlib2FyZCxvbkNoYW5nZTp0aGlzLl9vbkNoYW5nZX0pKSkpKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fcG9wVXBFbGVtPW51bGwsdGhpcy5fb25DaGFuZ2U9ZT0+e3RoaXMucHJvcHMub25TZWxlY3RDb2xvcihlKSx0aGlzLnByb3BzLmhpZGUoKX0sdGhpcy5fb25UYXJnZXRNb3VzZUxlYXZlPWU9Pntjb25zdCB0PSEhZS5yZWxhdGVkVGFyZ2V0Lm5vZGVOYW1lLG89ZS5yZWxhdGVkVGFyZ2V0PT09dGhpcy5fcG9wVXBFbGVtLG49dGhpcy5fcG9wVXBFbGVtJiZ0JiZ0aGlzLl9wb3BVcEVsZW0uY29udGFpbnMoZS5yZWxhdGVkVGFyZ2V0KTtvfHxufHx0aGlzLnByb3BzLmhpZGUoKX0sdGhpcy5fb25Qb3BVcE1vdXNlTGVhdmU9ZT0+e2NvbnN0IHQ9ISFlLm5hdGl2ZUV2ZW50LnJlbGF0ZWRUYXJnZXQubm9kZU5hbWUsbz1lLm5hdGl2ZUV2ZW50LnJlbGF0ZWRUYXJnZXQ9PT10aGlzLnByb3BzLmVsZW0sbj10JiZ0aGlzLnByb3BzLmVsZW0uY29udGFpbnMoZS5uYXRpdmVFdmVudC5yZWxhdGVkVGFyZ2V0KTtvfHxufHx0aGlzLnByb3BzLmhpZGUoKX0sdGhpcy5fb25Ub3VjaFN0YXJ0PWU9Pntjb25zdCB0PSEhZS50YXJnZXQubm9kZU5hbWUsbz1lLnRhcmdldD09PXRoaXMucHJvcHMuZWxlbSxuPWUudGFyZ2V0PT09dGhpcy5fcG9wVXBFbGVtLHI9dCYmdGhpcy5wcm9wcy5lbGVtLmNvbnRhaW5zKGUudGFyZ2V0KSxzPXRoaXMuX3BvcFVwRWxlbSYmdCYmdGhpcy5fcG9wVXBFbGVtLmNvbnRhaW5zKGUudGFyZ2V0KTtvfHxyfHxufHxzfHx0aGlzLnByb3BzLmhpZGUoKX0sdGhpcy5fc2V0UG9wVXBFbGVtPWU9Pnt0aGlzLl9wb3BVcEVsZW09ZX19fWZ1bmN0aW9uIF8oZSl7Y29uc3R7YWN0aW9uczp0LC4uLm99PWU7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChhLk1hdGNoTWVkaWEse3J1bGU6cy5EaWFsb2dCcmVha3BvaW50cy5UYWJsZXRTbWFsbH0sKGU9PmUmJnQ/bi5jcmVhdGVFbGVtZW50KGwuRHJhd2VyTWFuYWdlcixudWxsLG4uY3JlYXRlRWxlbWVudCh1LkNvbnRleHRNZW51Q29udGV4dC5Qcm92aWRlcix7dmFsdWU6e3R5cGU6ImRyYXdlciJ9fSxuLmNyZWF0ZUVsZW1lbnQoaS5EcmF3ZXIse29uQ2xvc2U6by5oaWRlLHBvc2l0aW9uOiJCb3R0b20ifSxuLmNyZWF0ZUVsZW1lbnQoYy5Db250ZXh0TWVudUxpc3Qse2l0ZW1zOnR9KSkpKTpuLmNyZWF0ZUVsZW1lbnQodix7Li4ub30pKSl9dmFyIGY9byg1NzEzMDApO2xldCBiPW51bGwsQz1udWxsO3ZhciB4OyFmdW5jdGlvbihlKXtmdW5jdGlvbiB0KCl7YiYmQz8udW5tb3VudCgpfWUuc2hvdz1mdW5jdGlvbihlKXtifHwoYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSksdCgpLEM9KDAsCmYuY3JlYXRlUmVhY3RSb290KShuLmNyZWF0ZUVsZW1lbnQoci5TbG90Q29udGV4dC5Qcm92aWRlcix7dmFsdWU6ZS5tYW5hZ2VyfHxudWxsfSxuLmNyZWF0ZUVsZW1lbnQoXyx7Li4uZSxoaWRlOnR9KSksYil9LGUuaGlkZT10fSh4fHwoeD17fSkpfSwxMjkzMzMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7U3ltYm9sTWFya2VyOigpPT51LGNyZWF0ZVN5bWJvbE1hcmtlclN0YW5kYWxvbmU6KCk9PmR9KTtvKDgyOTE4MCk7dmFyIG49byg4Mjk3NjMpLHI9byg4MzE1MjcpLHM9byg4MzQxODgpLGE9bygyNDM2MzEpLGw9byg2MDk1MjgpLGk9byg4NTgwMzcpLGM9byg2MjE5MjYpO2NsYXNzIHV7dXBkYXRlU3Vic2NyaXB0aW9uKCl7dGhpcy5fc2V0U3RhdGUodGhpcy5fc2VydmljZS5nZXRTeW1ib2xDb2xvcih0aGlzLl9zeW1ib2wpKX1iaW5kVG8oZSx0KXt0aGlzLl9zZXJ2aWNlLm9mZlN5bWJvbENoYW5nZSh0aGlzLl9zeW1ib2wsdGhpcy5fb25DaGFuZ2UpLHRoaXMuX3N5bWJvbD1lLHRoaXMuX3VpbWFya2VyLmFwcGVuZFRvKHQpLHRoaXMuX3NldFN0YXRlKHRoaXMuX3NlcnZpY2UuZ2V0U3ltYm9sQ29sb3IoZSkpLHRoaXMuX3NlcnZpY2Uub25TeW1ib2xDaGFuZ2UoZSx0aGlzLl9vbkNoYW5nZSl9dW5iaW5kKCl7dGhpcy5fc2VydmljZS5vZmZTeW1ib2xDaGFuZ2UodGhpcy5fc3ltYm9sLHRoaXMuX29uQ2hhbmdlKSx0aGlzLl91aW1hcmtlci5kZXRhY2goKX1nZXRFbGVtKCl7cmV0dXJuIHRoaXMuX3VpbWFya2VyLmdldEVsZW0oKX1pc01hcmtlZCgpe3JldHVybiBudWxsIT09dGhpcy5fY29sb3J9c2V0Q2xhc3NOYW1lKGUpe3RoaXMuX3VpbWFya2VyLmdldEVsZW0oKS5jbGFzc0xpc3QucmVtb3ZlKC4uLnRoaXMuX2NsYXNzZXMpLHRoaXMuX2NsYXNzZXM9ZS5zcGxpdCgiICIpLmZpbHRlcihCb29sZWFuKSx0aGlzLl91aW1hcmtlci5nZXRFbGVtKCkuY2xhc3NMaXN0LmFkZCguLi50aGlzLl9jbGFzc2VzKX1kZXN0cm95KCl7dGhpcy51bmJpbmQoKSxkZWxldGUgdGhpcy5fdWltYXJrZXIsZGVsZXRlIHRoaXMuX29wdHN9dG9nZ2xlKGUpe3RoaXMuX29uQ2xpY2soZSl9X3NldFN0YXRlKGUpe2NvbnN0IHQ9dGhpcy5pc01hcmtlZCgpO3RoaXMuX2NvbG9yPWUsbnVsbCE9PXRoaXMuX2NvbG9yPyh0aGlzLl91aW1hcmtlci5zZXRDb2xvcih0aGlzLl9jb2xvciksdGhpcy5fYWRkQWN0aXZlQ2xhc3NOYW1lKCkpOih0aGlzLl91aW1hcmtlci5yZW1vdmVDb2xvcigpLHRoaXMuX3JlbW92ZUFjdGl2ZUNsYXNzTmFtZSgpKSx2b2lkIDAhPT10aGlzLl9vcHRzLm9uTWFya2VkQ2hhbmdlZCYmdCE9PXRoaXMuaXNNYXJrZWQoKSYmdGhpcy5fb3B0cy5vbk1hcmtlZENoYW5nZWQoKX1fYWRkQWN0aXZlQ2xhc3NOYW1lKCl7dGhpcy5fb3B0cy5hY3RpdmVDbGFzc05hbWUmJnRoaXMuX3VpbWFya2VyLmFkZENsYXNzKHRoaXMuX29wdHMuYWN0aXZlQ2xhc3NOYW1lKX1fcmVtb3ZlQWN0aXZlQ2xhc3NOYW1lKCl7dGhpcy5fb3B0cy5hY3RpdmVDbGFzc05hbWUmJnRoaXMuX3VpbWFya2VyLnJlbW92ZUNsYXNzKHRoaXMuX29wdHMuYWN0aXZlQ2xhc3NOYW1lKX1jb25zdHJ1Y3RvcihlKXt0aGlzLl9zZXJ2aWNlPSgwLHIuZ2V0TWFya2VkU3ltYm9sc0xpc3RTZXJ2aWNlSW5zdGFuY2UpKCksdGhpcy5fY29sb3JNYW5hZ2VyPW5ldyBhLkNvbG9yTWFuYWdlcih7Y29udGV4dDphLkNvbG9yQ29udGV4dC5TeW1ib2xNYXJrZXJ9KSx0aGlzLl9jbGFzc2VzPVtdLHRoaXMuX29uQ2xpY2s9ZT0+e2UucHJldmVudERlZmF1bHQoKTtjb25zdCB0PSgpPT57Y29uc3QgdD0oMCxpLmdldEFjdGlvbnMpKHRoaXMuX3NlcnZpY2UsdGhpcy5fc3ltYm9sLHRoaXMuX2NvbG9yTWFuYWdlcixzLlBvcHVwQ29sb3JTZWxlY3Rvci5oaWRlKSxvPXRoaXMuX2NvbG9yTWFuYWdlci5nZXRDb2xvcigpLG49e2VsZW06dGhpcy5fdWltYXJrZXIuZ2V0RWxlbSgpLGN1cnJlbnRDb2xvcjpvLG9uU2VsZWN0Q29sb3I6dGhpcy5fb25TZWxlY3RDb2xvcixhY3Rpb25zOnQsbWFuYWdlcjp0aGlzLl9vcHRzLm1hbmFnZXIsZnJvbUtleWJvYXJkOmUgaW5zdGFuY2VvZiBLZXlib2FyZEV2ZW50fTt3aW5kb3cubWF0Y2hNZWRpYShsLkRpYWxvZ0JyZWFrcG9pbnRzLlRhYmxldFNtYWxsKS5tYXRjaGVzP3MuUG9wdXBDb2xvclNlbGVjdG9yLnNob3cobik6bnVsbD09PXRoaXMuX2NvbG9yPyhzLlBvcHVwQ29sb3JTZWxlY3Rvci5zaG93KG4pLHRoaXMuX3NlcnZpY2Uuc2V0U3ltYm9sc0NvbG9yKFt0aGlzLl9zeW1ib2xdLG8pKToocy5Qb3B1cENvbG9yU2VsZWN0b3IuaGlkZSgpLHRoaXMuX3NlcnZpY2Uuc2V0U3ltYm9sc0NvbG9yKFt0aGlzLl9zeW1ib2xdLG51bGwpKX0sbz13aW5kb3cuaXNfYXV0aGVudGljYXRlZDsoMCxjLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKCgoKT0+e28mJih0aGlzLl9vcHRzLm9uQ2xpY2s/dGhpcy5fb3B0cy5vbkNsaWNrKHRoaXMuX3N5bWJvbCx0KTp0KCkpfSkse2ZlYXR1cmU6ImZsYWdnZWRTeW1ib2xzQ29sb3JzIixzb3VyY2U6IlNldCBzeW1ib2wgY29sb3IifSl9LHRoaXMuX29uU2VsZWN0Q29sb3I9ZT0+e3RoaXMuX2NvbG9yTWFuYWdlci5zZXRDb2xvcihlKSx0aGlzLl9zZXJ2aWNlLnNldFN5bWJvbHNDb2xvcihbdGhpcy5fc3ltYm9sXSx0aGlzLl9jb2xvck1hbmFnZXIuZ2V0Q29sb3IoKSl9LHRoaXMuX29uRGJsQ2xpY2s9ZT0+e2UucHJldmVudERlZmF1bHQoKX0sdGhpcy5fb25DaGFuZ2U9KCk9Pnt0aGlzLl9zZXRTdGF0ZSh0aGlzLl9zZXJ2aWNlLmdldFN5bWJvbENvbG9yKHRoaXMuX3N5bWJvbCkpfSx0aGlzLl9vcHRzPWUsdGhpcy5fc3ltYm9sPWUuc3ltYm9sLHRoaXMuX2NvbG9yPWUuY29sb3J8fHRoaXMuX3NlcnZpY2UuZ2V0U3ltYm9sQ29sb3IodGhpcy5fc3ltYm9sKSx0aGlzLl91aW1hcmtlcj1uZXcgbi5VaU1hcmtlcih7Y29sb3I6dGhpcy5fY29sb3IsY29udGFpbmVyOmUuY29udGFpbmVyLG9uQ2xpY2s6dGhpcy5fb25DbGljayxvbkRibENsaWNrOnRoaXMuX29uRGJsQ2xpY2ssc3BlY2lhbEltYWdlOmUuc3BlY2lhbEltYWdlfSksZS5jbGFzc05hbWUmJnRoaXMuc2V0Q2xhc3NOYW1lKGUuY2xhc3NOYW1lKSwKbnVsbCE9PXRoaXMuX2NvbG9yJiZ0aGlzLl9hZGRBY3RpdmVDbGFzc05hbWUoKSx0aGlzLl9zZXJ2aWNlLm9uU3ltYm9sQ2hhbmdlKHRoaXMuX3N5bWJvbCx0aGlzLl9vbkNoYW5nZSl9fWNsYXNzIG0gZXh0ZW5kcyB1e2Rlc3Ryb3koKXt0aGlzLl9zZXJ2aWNlLm9mZkluaXQodGhpcy5fb25Jbml0KSxzdXBlci5kZXN0cm95KCl9Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fb25Jbml0PSgpPT57dGhpcy51cGRhdGVTdWJzY3JpcHRpb24oKX0sdGhpcy5fc2VydmljZS5vbkluaXQodGhpcy5fb25Jbml0KX19ZnVuY3Rpb24gZChlKXtyZXR1cm4gbmV3IG0oZSl9fSwxMzY2MyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt1c2VFbnN1cmVkQ29udGV4dDooKT0+c30pO3ZhciBuPW8oNzc5NDc0KSxyPW8oMTM4NjM4KTtmdW5jdGlvbiBzKGUpe3JldHVybigwLHIuZW5zdXJlTm90TnVsbCkoKDAsbi51c2VDb250ZXh0KShlKSl9fSw4OTMxMTUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Z2V0TG9jYWxlOigpPT5zLGdldExvY2FsZUlzbzooKT0+YX0pO3ZhciBuPW8oODQ0MjI1KTtjb25zdCByPWZ1bmN0aW9uKCl7Y29uc3QgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFnZS1sb2NhbGUtbGlua3MiKT8udGV4dENvbnRlbnQsdD1lP0pTT04ucGFyc2UoZSk6W107aWYoMD09PXQubGVuZ3RoKXJldHVybiBuO2NvbnN0IG89e307cmV0dXJuIHQuZm9yRWFjaCgoKHtsb2NhbGU6ZSx1cmw6dH0pPT57b1tlXT17Li4ubltlXSxocmVmOnR9fSkpLG99KCk7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZT1lfHx3aW5kb3cubG9jYWxlLHJbZV19ZnVuY3Rpb24gYShlKXtyZXR1cm4gZT1lfHx3aW5kb3cubG9jYWxlLHJbZV0/Lmlzb319LDQ0ODY0NShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtDYWNoZWRMb2dvOigpPT5kfSk7dmFyIG49byg3Nzk0NzQpLHI9byg5MTQ0ODcpLHM9by5uKHIpLGE9bygzODc3NzQpLGw9byg3OTQxODcpLGk9byg2Mjc4NDgpLGM9byg5NzM4MDQpLHU9byg2MTYzMTEpLG09bygxNzcxMTYpO2Z1bmN0aW9uIGQoZSl7Y29uc3R7Y2xhc3NOYW1lOnQscGxhY2Vob2xkZXJMZXR0ZXI6byx1cmwxOnIsdXJsMjpkLHNpemU6Zz0ieHh4c21hbGwifT1lLHY9KDAsbi51c2VSZWYpKG51bGwpLF89KDAsbi51c2VSZWYpKG51bGwpLGY9KDAsbi51c2VSZWYpKG51bGwpLGI9KDAsbi51c2VSZWYpKG51bGwpLEM9KDAsbi51c2VSZWYpKG51bGwpLHg9KDAsbi51c2VSZWYpKG51bGwpO3JldHVybigwLHUudXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57Y29uc3QgZT12b2lkIDA9PT1yP1tdOnZvaWQgMD09PWQ/W3JdOltyLGRdLHQ9eC5jdXJyZW50PShvPWUsUHJvbWlzZS5hbGwoby5tYXAoKGU9PigwLGMuZ2V0SW1hZ2UpKGBzeW1ib2xfbG9nb18ke2V9YCxlLGgpLnRoZW4oKGU9PmUuY2xvbmVOb2RlKCkpKSkpKSk7dmFyIG87dC5jYXRjaCgoKCk9PltdKSkudGhlbigoZT0+e2lmKHQ9PT14LmN1cnJlbnQpc3dpdGNoKGUubGVuZ3RoKXtjYXNlIDA6Zi5jdXJyZW50Py5jbGFzc0xpc3QuYWRkKG0uaGlkZGVuKSxfLmN1cnJlbnQ/LmNsYXNzTGlzdC5hZGQoYS5oaWRkZW5DaXJjbGVMb2dvQ2xhc3MpLHYuY3VycmVudD8uY2xhc3NMaXN0LnJlbW92ZShhLmhpZGRlbkNpcmNsZUxvZ29DbGFzcyk7YnJlYWs7Y2FzZSAxOnAoXy5jdXJyZW50LGVbMF0pLGYuY3VycmVudD8uY2xhc3NMaXN0LmFkZChtLmhpZGRlbiksXy5jdXJyZW50Py5jbGFzc0xpc3QucmVtb3ZlKGEuaGlkZGVuQ2lyY2xlTG9nb0NsYXNzKSx2LmN1cnJlbnQ/LmNsYXNzTGlzdC5hZGQoYS5oaWRkZW5DaXJjbGVMb2dvQ2xhc3MpO2JyZWFrO2Nhc2UgMjpwKGIuY3VycmVudCxlWzBdKSxwKEMuY3VycmVudCxlWzFdKSxmLmN1cnJlbnQ/LmNsYXNzTGlzdC5yZW1vdmUobS5oaWRkZW4pLF8uY3VycmVudD8uY2xhc3NMaXN0LmFkZChhLmhpZGRlbkNpcmNsZUxvZ29DbGFzcyksdi5jdXJyZW50Py5jbGFzc0xpc3QuYWRkKGEuaGlkZGVuQ2lyY2xlTG9nb0NsYXNzKX19KSl9KSxbcixkXSksbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKSh0LG0uY29udGFpbmVyKX0sbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7cmVmOmYsY2xhc3NOYW1lOnMoKShtLnBhaXJDb250YWluZXIsbS5oaWRkZW4pfSxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6KDAsaS5nZXRCbG9ja1N0eWxlQ2xhc3NlcykoZyl9LG4uY3JlYXRlRWxlbWVudCgic3BhbiIse3JlZjpDLGNsYXNzTmFtZTpzKCkobS5sb2dvLCgwLGkuZ2V0TG9nb1N0eWxlQ2xhc3NlcykoZykpfSksbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7cmVmOmIsY2xhc3NOYW1lOnMoKShtLmxvZ28sKDAsaS5nZXRMb2dvU3R5bGVDbGFzc2VzKShnKSl9KSkpLG4uY3JlYXRlRWxlbWVudCgic3BhbiIse3JlZjpfLGNsYXNzTmFtZTpzKCkobS5sb2dvLGEuaGlkZGVuQ2lyY2xlTG9nb0NsYXNzLCgwLGwuZ2V0U3R5bGVDbGFzc2VzKShnKSl9KSxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyZWY6dixjbGFzc05hbWU6cygpKG0ubG9nbywoMCxsLmdldFN0eWxlQ2xhc3NlcykoZykpfSxuLmNyZWF0ZUVsZW1lbnQoYS5DaXJjbGVMb2dvLHtzaXplOmcscGxhY2Vob2xkZXJMZXR0ZXI6b30pKSl9ZnVuY3Rpb24gcChlLHQpe2UmJihlLmlubmVySFRNTD0iIixlLmFwcGVuZENoaWxkKHQpKX1mdW5jdGlvbiBoKGUpe2UuY3Jvc3NPcmlnaW49IiIsZS5kZWNvZGluZz0iYXN5bmMifX0sNTk4MjMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7T3ZlcmxheVNjcm9sbENvbnRhaW5lcjooKT0+dX0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oOTE0NDg3KSxzPW8ubihyKSxhPW8oOTY5MTY4KSxsPW8oMTAyNjc1KSxpPW8oNjg5ODk0KSxjPW8oNDYwMzcwKTtmdW5jdGlvbiB1KGUpewpjb25zdHtyZWZlcmVuY2U6dCxjbGFzc05hbWU6byxjb250YWluZXJIZWlnaHQ6cj0wLGNvbnRhaW5lcldpZHRoOnU9MCxjb250ZW50SGVpZ2h0Om09MCxjb250ZW50V2lkdGg6ZD0wLHNjcm9sbFBvc1RvcDpwPTAsc2Nyb2xsUG9zTGVmdDpoPTAsb25WZXJ0aWNhbENoYW5nZTpnLG9uSG9yaXpvbnRhbENoYW5nZTp2LHZpc2libGU6X309ZSxbZixiXT0oMCxpLnVzZUhvdmVyRGVwcmVjYXRlZCkoKSxbQyx4XT0oMCxuLnVzZVN0YXRlKSghMSkseT1yPG0sUz11PGQsdz15JiZTPzg6MDtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5iLHJlZjp0LGNsYXNzTmFtZTpzKCkobyxjLnNjcm9sbFdyYXAsKF98fGZ8fEMpJiZjLnNjcm9sbFdyYXBfdmlzaWJsZSl9LHkmJm4uY3JlYXRlRWxlbWVudChsLk92ZXJsYXlTY3JvbGwse3NpemU6ci13LHNjcm9sbFNpemU6bS13LGNsaWVudFNpemU6ci13LHNjcm9sbFByb2dyZXNzOnAsb25TY3JvbGxQcm9ncmVzc0NoYW5nZTpmdW5jdGlvbihlKXtnJiZnKGUpfSxvbkRyYWdTdGFydDprLG9uRHJhZ0VuZDpFLHNjcm9sbE1vZGU6MH0pLFMmJm4uY3JlYXRlRWxlbWVudChsLk92ZXJsYXlTY3JvbGwse3NpemU6dS13LHNjcm9sbFNpemU6ZC13LGNsaWVudFNpemU6dS13LHNjcm9sbFByb2dyZXNzOmgsb25TY3JvbGxQcm9ncmVzc0NoYW5nZTpmdW5jdGlvbihlKXt2JiZ2KGUpfSxvbkRyYWdTdGFydDprLG9uRHJhZ0VuZDpFLHNjcm9sbE1vZGU6KDAsYS5pc1J0bCkoKT8yOjF9KSk7ZnVuY3Rpb24gaygpe3goITApfWZ1bmN0aW9uIEUoKXt4KCExKX19fSwxMDI2NzUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7T3ZlcmxheVNjcm9sbDooKT0+cH0pO3ZhciBuPW8oNzc5NDc0KSxyPW8oOTE0NDg3KSxzPW8ubihyKSxhPW8oMTM4NjM4KSxsPW8oNjQwNzQ0KSxpPW8oNjQ2MTYyKTtjb25zdCBjPWk7dmFyIHU7IWZ1bmN0aW9uKGUpe2VbZS5WZXJ0aWNhbD0wXT0iVmVydGljYWwiLGVbZS5Ib3Jpem9udGFsPTFdPSJIb3Jpem9udGFsIixlW2UuSG9yaXpvbnRhbFJ0bD0yXT0iSG9yaXpvbnRhbFJ0bCJ9KHV8fCh1PXt9KSk7Y29uc3QgbT17MDp7aXNIb3Jpem9udGFsOiExLGlzTmVnYXRpdmU6ITEsc2l6ZVByb3BOYW1lOiJoZWlnaHQiLG1pblNpemVQcm9wTmFtZToibWluSGVpZ2h0IixzdGFydFBvaW50UHJvcE5hbWU6InRvcCIsY3VycmVudE1vdXNlUG9pbnRQcm9wTmFtZToiY2xpZW50WSIscHJvZ3Jlc3NCYXJUcmFuc2Zvcm06InRyYW5zbGF0ZVkifSwxOntpc0hvcml6b250YWw6ITAsaXNOZWdhdGl2ZTohMSxzaXplUHJvcE5hbWU6IndpZHRoIixtaW5TaXplUHJvcE5hbWU6Im1pbldpZHRoIixzdGFydFBvaW50UHJvcE5hbWU6ImxlZnQiLGN1cnJlbnRNb3VzZVBvaW50UHJvcE5hbWU6ImNsaWVudFgiLHByb2dyZXNzQmFyVHJhbnNmb3JtOiJ0cmFuc2xhdGVYIn0sMjp7aXNIb3Jpem9udGFsOiEwLGlzTmVnYXRpdmU6ITAsc2l6ZVByb3BOYW1lOiJ3aWR0aCIsbWluU2l6ZVByb3BOYW1lOiJtaW5XaWR0aCIsc3RhcnRQb2ludFByb3BOYW1lOiJyaWdodCIsY3VycmVudE1vdXNlUG9pbnRQcm9wTmFtZToiY2xpZW50WCIscHJvZ3Jlc3NCYXJUcmFuc2Zvcm06InRyYW5zbGF0ZVgifX0sZD00MDtmdW5jdGlvbiBwKGUpe2NvbnN0e3NpemU6dCxzY3JvbGxTaXplOm8sY2xpZW50U2l6ZTpyLHNjcm9sbFByb2dyZXNzOmksb25TY3JvbGxQcm9ncmVzc0NoYW5nZTp1LHNjcm9sbE1vZGU6cCx0aGVtZTpoPWMsb25EcmFnU3RhcnQ6ZyxvbkRyYWdFbmQ6dixtaW5CYXJTaXplOl89ZH09ZSxmPSgwLG4udXNlUmVmKShudWxsKSxiPSgwLG4udXNlUmVmKShudWxsKSxbQyx4XT0oMCxuLnVzZVN0YXRlKSghMSkseT0oMCxuLnVzZVJlZikoMCkse2lzSG9yaXpvbnRhbDpTLGlzTmVnYXRpdmU6dyxzaXplUHJvcE5hbWU6ayxtaW5TaXplUHJvcE5hbWU6RSxzdGFydFBvaW50UHJvcE5hbWU6TCxjdXJyZW50TW91c2VQb2ludFByb3BOYW1lOk4scHJvZ3Jlc3NCYXJUcmFuc2Zvcm06TX09bVtwXTsoMCxuLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT0oMCxhLmVuc3VyZU5vdE51bGwpKGYuY3VycmVudCkub3duZXJEb2N1bWVudDtyZXR1cm4gQz8oZyYmZygpLGUmJihlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsRCksZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixBKSkpOnYmJnYoKSwoKT0+e2UmJihlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsRCksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIixBKSl9fSksW0NdKTtjb25zdCBUPXQvb3x8MCxQPXIqVHx8MCxJPU1hdGgubWF4KFAsXyksUj0odC1JKS8odC1QKSxPPW8tdCxCPXc/LU86MCxqPXc/MDpPLHo9VygoMCxsLmNsYW1wKShpLEIsaikpfHwwO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpmLGNsYXNzTmFtZTpzKCkoaC53cmFwLFMmJmhbIndyYXAtLWhvcml6b250YWwiXSksc3R5bGU6e1trXTp0fSxvbk1vdXNlRG93bjpmdW5jdGlvbihlKXtpZihlLmlzRGVmYXVsdFByZXZlbnRlZCgpKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgdD1HKGUubmF0aXZlRXZlbnQsKDAsYS5lbnN1cmVOb3ROdWxsKShmLmN1cnJlbnQpKSxvPU1hdGguc2lnbih0KSxuPSgwLGEuZW5zdXJlTm90TnVsbCkoYi5jdXJyZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt5LmN1cnJlbnQ9bypuW2tdLzI7bGV0IHI9TWF0aC5hYnModCktTWF0aC5hYnMoeS5jdXJyZW50KTtjb25zdCBzPVcoTyk7cjwwPyhyPTAseS5jdXJyZW50PXQpOnI+cyYmKHI9cyx5LmN1cnJlbnQ9dC1vKnMpO3UoVShvKnIpKSx4KCEwKX19LG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOmIsY2xhc3NOYW1lOnMoKShoLmJhcixTJiZoWyJiYXItLWhvcml6b250YWwiXSksc3R5bGU6e1tFXTpfLFtrXTpJLHRyYW5zZm9ybTpgJHtNfSgke3p9cHgpYH0sb25Nb3VzZURvd246ZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHkuY3VycmVudD1HKGUubmF0aXZlRXZlbnQsKDAsYS5lbnN1cmVOb3ROdWxsKShiLmN1cnJlbnQpKSx4KCEwKX19LG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7CmNsYXNzTmFtZTpzKCkoaC5iYXJJbm5lcixTJiZoWyJiYXJJbm5lci0taG9yaXpvbnRhbCJdKX0pKSk7ZnVuY3Rpb24gRChlKXtjb25zdCB0PUcoZSwoMCxhLmVuc3VyZU5vdE51bGwpKGYuY3VycmVudCkpLXkuY3VycmVudDt1KFUodCkpfWZ1bmN0aW9uIEEoKXt4KCExKX1mdW5jdGlvbiBHKGUsdCl7Y29uc3Qgbz10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpW0xdO3JldHVybiBlW05dLW99ZnVuY3Rpb24gVyhlKXtyZXR1cm4gZSpUKlJ9ZnVuY3Rpb24gVShlKXtyZXR1cm4gZS9UL1J9fX0sOTI5NDg4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2lzU2VwYXJhdG9ySXRlbTooKT0+cn0pO3ZhciBuPW8oOTAxMDIyKTtmdW5jdGlvbiByKGUpe3JldHVybigwLG4uaXNTZXBhcmF0b3JJdGVtKShlKX19LDMyMDU1KGUsdCxvKXsidXNlIHN0cmljdCI7by5yKHQpLG8uZCh0LHtyZXNvbHZlU3ltYm9sTmFtZTooKT0+YyxyZXNvbHZlU3ltYm9sTmFtZUZvckFsbDooKT0+dSxyZXNvbHZlU3ltYm9sTmFtZUZvckFsbERpc3RpbmN0OigpPT5tLHNuYXBzaG90ZXI6KCk9Pmx9KTt2YXIgbj1vKDEyODgxNCkscj1vKDYyMzUxMSkscz1vKDkyOTQ4OCk7Y29uc3QgYT1uZXcgU2V0KFsicHJvX25hbWUiLCJiYXNlX25hbWUiLCJzaG9ydF9uYW1lIiwiZGVzY3JpcHRpb24iLCJ0eXBlIiwiZXhjaGFuZ2UiLCJ0eXBlc3BlY3MiLCJsaXN0ZWRfZXhjaGFuZ2UiLCJsYXN0X3ByaWNlIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJzeW1ib2wtcHJpbWFyeW5hbWUiLCJsb2dvaWQiLCJsb2dvIiwiYmFzZS1jdXJyZW5jeS1sb2dvaWQiLCJjdXJyZW5jeS1sb2dvaWQiLCJzb3VyY2UtbG9nb2lkIiwidXBkYXRlX21vZGUiLCJ1cGRhdGVfbW9kZV9zZWNvbmRzIiwicHJvX3Blcm0iLCJzb3VyY2UiLCJzb3VyY2UyIiwicHJpY2VzY2FsZSIsIm1pbm1vdiIsImZyYWN0aW9uYWwiLCJ2aXNpYmxlLXBsb3RzLXNldCIsImxvY2FsX2Rlc2NyaXB0aW9uIiwibGFuZ3VhZ2UiLCJ1bmRlcmx5aW5nLXN5bWJvbCJdKSxsPSgwLHIubGF6eVZhbHVlKSgoKCk9Pm5ldyBuLlF1b3RlU2Vzc2lvblNuYXBzaG90ZXIoe25hbWU6ImJhc2ljLXN5bWJvbC1xdW90ZXMiLGZpZWxkczpbLi4uYV0sYXBpOndpbmRvdy5DaGFydEFwaUluc3RhbmNlfSkpKSxpPW5ldyBTZXQoWyJwcm9fbmFtZSJdKTthc3luYyBmdW5jdGlvbiBjKGUpe3JldHVybigwLHMuaXNTZXBhcmF0b3JJdGVtKShlKT9lOmwoKS5nZXRTbmFwc2hvdChlLGkpLnRoZW4oKGU9PiJlcnJvciI9PT1lLnN0YXR1cz9lLnN5bWJvbG5hbWU6ZS52YWx1ZXMucHJvX25hbWUpKX1mdW5jdGlvbiB1KGUpe3JldHVybiBQcm9taXNlLmFsbChlLm1hcChjKSl9ZnVuY3Rpb24gbShlKXtyZXR1cm4gdShlKS50aGVuKChlPT5bLi4ubmV3IFNldChlKV0pKX19LDk4NjI3NShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtyZW1vdmVVc2RGcm9tQ3J5cHRvUGFpckxvZ29zOigpPT5pLHJlc29sdmVMb2dvVXJsczooKT0+YSxyZXNvbHZlTG9nb1VybHNGcm9tTG9nb0RhdGE6KCk9Pmx9KTt2YXIgbj1vKDYwMTg0MSkscj1vKDg2MjIxMyk7Y29uc3Qgcz0oMCxyLmdldExvZ29VcmxSZXNvbHZlcikoKTtmdW5jdGlvbiBhKGUsdD1yLkxvZ29TaXplLk1lZGl1bSl7Y29uc3Qgbz1lLmxvZ29pZCxuPWVbImJhc2UtY3VycmVuY3ktbG9nb2lkIl0sYT1lWyJjdXJyZW5jeS1sb2dvaWQiXSxsPW8mJnMuZ2V0U3ltYm9sTG9nb1VybChvLHQpO2lmKGwpcmV0dXJuW2xdO2NvbnN0IGk9biYmcy5nZXRTeW1ib2xMb2dvVXJsKG4sdCksYz1hJiZzLmdldFN5bWJvbExvZ29VcmwoYSx0KTtyZXR1cm4gaSYmYz9baSxjXTppP1tpXTpjP1tjXTpbXX1mdW5jdGlvbiBsKGUsdD1yLkxvZ29TaXplLk1lZGl1bSl7cmV0dXJuKCJwYWlyIj09PWUuc3R5bGU/W2UubG9nb2lkLGUubG9nb2lkMl06W2UubG9nb2lkXSkubWFwKChlPT5zLmdldFN5bWJvbExvZ29VcmwoZSx0KSkpLmZpbHRlcihuLm5vdE51bGwpfWZ1bmN0aW9uIGkoZSl7cmV0dXJuIDIhPT1lLmxlbmd0aD9lOmZ1bmN0aW9uKGUpe3JldHVybiBlLnNvbWUoKGU9PmMoZSkpKX0oZSkmJiFmdW5jdGlvbihlKXtyZXR1cm4gZS5zb21lKChlPT5lLmluY2x1ZGVzKCJjb3VudHJ5IikmJiFjKGUpKSl9KGUpP2UuZmlsdGVyKChlPT4hYyhlKSkpOmV9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZS5pbmNsdWRlcygiY291bnRyeS9VUyIpfX0sMjEwNzY0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3VzZU92ZXJsYXlTY3JvbGw6KCk9Pml9KTt2YXIgbj1vKDc3OTQ3NCkscj1vKDEzODYzOCkscz1vKDY4OTg5NCksYT1vKDMxODk3NCk7Y29uc3QgbD17b25Nb3VzZUVudGVyOigpPT57fSxvbk1vdXNlTGVhdmU6KCk9Pnt9fTtmdW5jdGlvbiBpKGUsdD1hLkNoZWNrTW9iaWxlLmFueSgpKXtjb25zdCBvPSgwLG4udXNlUmVmKShudWxsKSxpPWV8fCgwLG4udXNlUmVmKShudWxsKSxbYyx1XT0oMCxzLnVzZUhvdmVyKSgpLFttLGRdPSgwLG4udXNlU3RhdGUpKHtyZWZlcmVuY2U6byxjb250YWluZXJIZWlnaHQ6MCxjb250YWluZXJXaWR0aDowLGNvbnRlbnRIZWlnaHQ6MCxjb250ZW50V2lkdGg6MCxzY3JvbGxQb3NUb3A6MCxzY3JvbGxQb3NMZWZ0OjAsb25WZXJ0aWNhbENoYW5nZTpmdW5jdGlvbihlKXtkKCh0PT4oey4uLnQsc2Nyb2xsUG9zVG9wOmV9KSkpLCgwLHIuZW5zdXJlTm90TnVsbCkoaS5jdXJyZW50KS5zY3JvbGxUb3A9ZX0sb25Ib3Jpem9udGFsQ2hhbmdlOmZ1bmN0aW9uKGUpe2QoKHQ9Pih7Li4udCxzY3JvbGxQb3NMZWZ0OmV9KSkpLCgwLHIuZW5zdXJlTm90TnVsbCkoaS5jdXJyZW50KS5zY3JvbGxMZWZ0PWV9LHZpc2libGU6Y30pLHA9KDAsbi51c2VDYWxsYmFjaykoKCgpPT57aWYoIWkuY3VycmVudClyZXR1cm47Y29uc3R7Y2xpZW50SGVpZ2h0OmUsc2Nyb2xsSGVpZ2h0OnQsc2Nyb2xsVG9wOm4sY2xpZW50V2lkdGg6cixzY3JvbGxXaWR0aDpzLHNjcm9sbExlZnQ6YX09aS5jdXJyZW50LGw9by5jdXJyZW50P28uY3VycmVudC5vZmZzZXRUb3A6MDtkKChvPT4oey4uLm8sY29udGFpbmVySGVpZ2h0OmUtbCxjb250ZW50SGVpZ2h0OnQtbCxzY3JvbGxQb3NUb3A6biwKY29udGFpbmVyV2lkdGg6cixjb250ZW50V2lkdGg6cyxzY3JvbGxQb3NMZWZ0OmF9KSkpfSksW10pO2Z1bmN0aW9uIGgoKXtkKChlPT4oey4uLmUsc2Nyb2xsUG9zVG9wOigwLHIuZW5zdXJlTm90TnVsbCkoaS5jdXJyZW50KS5zY3JvbGxUb3Asc2Nyb2xsUG9zTGVmdDooMCxyLmVuc3VyZU5vdE51bGwpKGkuY3VycmVudCkuc2Nyb2xsTGVmdH0pKSl9cmV0dXJuKDAsbi51c2VFZmZlY3QpKCgoKT0+e2MmJnAoKSxkKChlPT4oey4uLmUsdmlzaWJsZTpjfSkpKX0pLFtjXSksKDAsbi51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9aS5jdXJyZW50O3JldHVybiBlJiZlLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsaCksKCk9PntlJiZlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsaCl9fSksW2ldKSxbbSx0P2w6dSxpLHBdfX0sNzA4ODQyKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1Rvb2xXaWRnZXRDYXJldDooKT0+Y30pO3ZhciBuPW8oNzc5NDc0KSxyPW8oOTE0NDg3KSxzPW8ubihyKSxhPW8oMjczMzEwKSxsPW8oODEwMjgxKSxpPW8oMzU2NzIxKTtmdW5jdGlvbiBjKGUpe2NvbnN0e2Ryb3BwZWQ6dCxjbGFzc05hbWU6b309ZTtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KGEuSWNvbix7Y2xhc3NOYW1lOnMoKShvLGwuaWNvbix7W2wuZHJvcHBlZF06dH0pLGljb246aX0pfX0sOTM1MShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMy45MiA3LjgzIDkgMTIuMjlsNS4wOC00LjQ2LTEtMS4xM0w5IDEwLjI5bC00LjA5LTMuNi0uOTkgMS4xNFoiLz48L3N2Zz4nfSwyMzYxNDYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkuODQgOSA2LjYyIDUuMzNsLjc2LS42NkwxMS4xNiA5bC0zLjc4IDQuMzMtLjc2LS42Nkw5Ljg0IDlaIi8+PC9zdmc+J30sMTI1ODk3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMSA5IiB3aWR0aD0iMTEiIGhlaWdodD0iOSIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTAuOTk5ODc4IDRMMy45OTk4OCA3TDkuOTk5ODggMSIvPjwvc3ZnPid9LDIwMzMwOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTYgMTYiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQgOGE0IDQgMCAxIDAgOCAwIDQgNCAwIDEgMC04IDAiLz48L3N2Zz4nfSwyNzQ4NTEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTAgOGE4IDggMCAxIDAgMTYgMEE4IDggMCAxIDAgMCA4em0yIDBhNiA2IDAgMSAwIDEyIDBBNiA2IDAgMSAwIDIgOHptMiAwYTQgNCAwIDEgMCA4IDAgNCA0IDAgMSAwLTggMCIvPjwvc3ZnPid9LDMzNDU1MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMTYuNSAyMEwxMSAxNC41IDE2LjUgOSIvPjwvc3ZnPid9LDM1NjcyMShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTYgOCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTAgMS40NzVsNy4zOTYgNi4wNC41OTYuNDg1LjU5My0uNDlMMTYgMS4zOSAxNC44MDcgMCA3LjM5MyA2LjEyMiA4LjU4IDYuMTIgMS4xODYuMDh6Ii8+PC9zdmc+J30sNTgwNTk2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTggNWwzLjUgMy41TDggMTIiLz48L3N2Zz4nfSwzODA1NihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxLjUiIGQ9Ik03IDE1bDUgNUwyMyA5Ii8+PC9zdmc+J30sODQ0MjI1KGUpeyJ1c2Ugc3RyaWN0Igo7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3siZW4iOnsibGFuZ3VhZ2UiOiJlbiIsImxhbmd1YWdlX25hbWUiOiJFbmdsaXNoIiwiZmxhZyI6InVzIiwiZ2VvaXBfY29kZSI6InVzIiwiaXNvIjoiZW4iLCJpc29fNjM5XzMiOiJlbmciLCJnbG9iYWxfbmFtZSI6IkVuZ2xpc2giLCJpc19vbmx5X3JlY29tbWVuZGVkX3R3X2F1dG9yZXBvc3QiOnRydWV9LCJpbiI6eyJsYW5ndWFnZSI6ImVuIiwibGFuZ3VhZ2VfbmFtZSI6IkVuZ2xpc2gg4oCOKEluZGlhKeKAjiIsImZsYWciOiJpbiIsImdlb2lwX2NvZGUiOiJpbiIsImlzbyI6ImVuIiwiaXNvXzYzOV8zIjoiZW5nIiwiZ2xvYmFsX25hbWUiOiJJbmRpYW4ifSwiZGVfREUiOnsibGFuZ3VhZ2UiOiJkZSIsImxhbmd1YWdlX25hbWUiOiJEZXV0c2NoIiwiZmxhZyI6ImRlIiwiZ2VvaXBfY29kZSI6ImRlIiwiY291bnRyaWVzX3dpdGhfdGhpc19sYW5ndWFnZSI6WyJhdCIsImNoIl0sImlzbyI6ImRlIiwiaXNvXzYzOV8zIjoiZGV1IiwiZ2xvYmFsX25hbWUiOiJHZXJtYW4iLCJpc19pbl9ldXJvcGVhbl91bmlvbiI6dHJ1ZX0sImZyIjp7Imxhbmd1YWdlIjoiZnIiLCJsYW5ndWFnZV9uYW1lIjoiRnJhbsOnYWlzIiwiZmxhZyI6ImZyIiwiZ2VvaXBfY29kZSI6ImZyIiwiaXNvIjoiZnIiLCJpc29fNjM5XzMiOiJmcmEiLCJnbG9iYWxfbmFtZSI6IkZyZW5jaCIsImlzX2luX2V1cm9wZWFuX3VuaW9uIjp0cnVlfSwiY2FfRVMiOnsibGFuZ3VhZ2UiOiJjYV9FUyIsImxhbmd1YWdlX25hbWUiOiJDYXRhbMOgIiwiZmxhZyI6ImVzIiwiZ2VvaXBfY29kZSI6ImVzIiwiaXNvIjoiY2EiLCJpc29fNjM5XzMiOiJjYXQiLCJnbG9iYWxfbmFtZSI6IkNhdGFsYW4ifSwiZXMiOnsibGFuZ3VhZ2UiOiJlcyIsImxhbmd1YWdlX25hbWUiOiJFc3Bhw7FvbCIsImZsYWciOiJlcyIsImdlb2lwX2NvZGUiOiJlcyIsImNvdW50cmllc193aXRoX3RoaXNfbGFuZ3VhZ2UiOlsibXgiLCJhciIsInZlIiwiY2wiLCJjbyIsInBlIiwidXkiLCJweSIsImNyIiwiZ3QiLCJjIiwiYm8iLCJwYSIsInByIl0sImlzbyI6ImVzIiwiaXNvXzYzOV8zIjoic3BhIiwiZ2xvYmFsX25hbWUiOiJTcGFuaXNoIiwiaXNfaW5fZXVyb3BlYW5fdW5pb24iOnRydWV9LCJpdCI6eyJsYW5ndWFnZSI6Iml0IiwibGFuZ3VhZ2VfbmFtZSI6Ikl0YWxpYW5vIiwiZmxhZyI6Iml0IiwiZ2VvaXBfY29kZSI6Iml0IiwiaXNvIjoiaXQiLCJpc29fNjM5XzMiOiJpdGEiLCJnbG9iYWxfbmFtZSI6Ikl0YWxpYW4iLCJpc19pbl9ldXJvcGVhbl91bmlvbiI6dHJ1ZX0sInBsIjp7Imxhbmd1YWdlIjoicGwiLCJsYW5ndWFnZV9uYW1lIjoiUG9sc2tpIiwiZmxhZyI6InBsIiwiZ2VvaXBfY29kZSI6InBsIiwiaXNvIjoicGwiLCJpc29fNjM5XzMiOiJwb2wiLCJnbG9iYWxfbmFtZSI6IlBvbGlzaCIsImlzX2luX2V1cm9wZWFuX3VuaW9uIjp0cnVlfSwiaHVfSFUiOnsibGFuZ3VhZ2UiOiJodV9IVSIsImxhbmd1YWdlX25hbWUiOiJNYWd5YXIiLCJmbGFnIjoiaHUiLCJnZW9pcF9jb2RlIjoiaHUiLCJpc28iOiJodSIsImlzb182MzlfMyI6Imh1biIsImdsb2JhbF9uYW1lIjoiSHVuZ2FyaWFuIiwiaXNfaW5fZXVyb3BlYW5fdW5pb24iOnRydWV9LCJzdl9TRSI6eyJsYW5ndWFnZSI6InN2IiwibGFuZ3VhZ2VfbmFtZSI6IlN2ZW5za2EiLCJmbGFnIjoic2UiLCJnZW9pcF9jb2RlIjoic2UiLCJpc28iOiJzdiIsImlzb182MzlfMyI6InN3ZSIsImdsb2JhbF9uYW1lIjoiU3dlZGlzaCIsImlzX2luX2V1cm9wZWFuX3VuaW9uIjp0cnVlfSwidHIiOnsibGFuZ3VhZ2UiOiJ0ciIsImxhbmd1YWdlX25hbWUiOiJUw7xya8OnZSIsImZsYWciOiJ0ciIsImdlb2lwX2NvZGUiOiJ0ciIsImlzbyI6InRyIiwiaXNvXzYzOV8zIjoidHVyIiwiZ2xvYmFsX25hbWUiOiJUdXJraXNoIiwiaXNfb25seV9yZWNvbW1lbmRlZF90d19hdXRvcmVwb3N0Ijp0cnVlfSwicnUiOnsibGFuZ3VhZ2UiOiJydSIsImxhbmd1YWdlX25hbWUiOiLQoNGD0YHRgdC60LjQuSIsImZsYWciOiJydSIsImdlb2lwX2NvZGUiOiJydSIsImNvdW50cmllc193aXRoX3RoaXNfbGFuZ3VhZ2UiOlsiYW0iLCJieSIsImtnIiwia3oiLCJtZCIsInRqIiwidG0iLCJ1eiJdLCJpc28iOiJydSIsImlzb182MzlfMyI6InJ1cyIsImdsb2JhbF9uYW1lIjoiUnVzc2lhbiIsImlzX29ubHlfcmVjb21tZW5kZWRfdHdfYXV0b3JlcG9zdCI6dHJ1ZX0sImJyIjp7Imxhbmd1YWdlIjoicHQiLCJsYW5ndWFnZV9uYW1lIjoiUG9ydHVndcOqcyIsImZsYWciOiJiciIsImdlb2lwX2NvZGUiOiJiciIsImlzbyI6InB0IiwiaXNvXzYzOV8zIjoicG9yIiwiZ2xvYmFsX25hbWUiOiJQb3J0dWd1ZXNlIn0sImlkIjp7Imxhbmd1YWdlIjoiaWRfSUQiLCJsYW5ndWFnZV9uYW1lIjoiQmFoYXNhIEluZG9uZXNpYSIsImZsYWciOiJpZCIsImdlb2lwX2NvZGUiOiJpZCIsImlzbyI6ImlkIiwiaXNvXzYzOV8zIjoiaW5kIiwiZ2xvYmFsX25hbWUiOiJJbmRvbmVzaWFuIn0sIm1zX01ZIjp7Imxhbmd1YWdlIjoibXNfTVkiLCJsYW5ndWFnZV9uYW1lIjoiQmFoYXNhIE1lbGF5dSIsImZsYWciOiJteSIsImdlb2lwX2NvZGUiOiJteSIsImlzbyI6Im1zIiwiaXNvXzYzOV8zIjoiemxtIiwiZ2xvYmFsX25hbWUiOiJNYWxheXNpYW4ifSwidGhfVEgiOnsibGFuZ3VhZ2UiOiJ0aCIsImxhbmd1YWdlX25hbWUiOiLguKDguLLguKnguLLguYTguJfguKIiLCJmbGFnIjoidGgiLCJnZW9pcF9jb2RlIjoidGgiLCJpc28iOiJ0aCIsImlzb182MzlfMyI6InRoYSIsImdsb2JhbF9uYW1lIjoiVGhhaSJ9LCJ2aV9WTiI6eyJsYW5ndWFnZSI6InZpIiwibGFuZ3VhZ2VfbmFtZSI6IlRp4bq/bmcgVmnhu4d0IiwiZmxhZyI6InZuIiwiZ2VvaXBfY29kZSI6InZuIiwiaXNvIjoidmkiLCJpc29fNjM5XzMiOiJ2aWUiLCJnbG9iYWxfbmFtZSI6IlZpZXRuYW1lc2UifSwiamEiOnsibGFuZ3VhZ2UiOiJqYSIsImxhbmd1YWdlX25hbWUiOiLml6XmnKzoqp4iLCJmbGFnIjoianAiLCJnZW9pcF9jb2RlIjoianAiLCJpc28iOiJqYSIsImlzb182MzlfMyI6ImpwbiIsImdsb2JhbF9uYW1lIjoiSmFwYW5lc2UifSwia3IiOnsibGFuZ3VhZ2UiOiJrbyIsImxhbmd1YWdlX25hbWUiOiLtlZzqta3slrQiLCJmbGFnIjoia3IiLCJnZW9pcF9jb2RlIjoia3IiLCJpc28iOiJrbyIsImlzb182MzlfMyI6ImtvciIsImdsb2JhbF9uYW1lIjoiS29yZWFuIn0sInpoX0NOIjp7Imxhbmd1YWdlIjoiemgiLCJsYW5ndWFnZV9uYW1lIjoi566A5L2T5Lit5paHIiwiZmxhZyI6ImNuIiwiZ2VvaXBfY29kZSI6ImNuIiwiY291bnRyaWVzX3dpdGhfdGhpc19sYW5ndWFnZSI6WyJ6aCJdLCJpc28iOiJ6aC1IYW5zIiwiaXNvXzYzOV8zIjoiY21uIiwiZ2xvYmFsX25hbWUiOiJDaGluZXNlIn0sInpoX1RXIjp7Imxhbmd1YWdlIjoiemhfVFciLCJsYW5ndWFnZV9uYW1lIjoi57mB6auU5Lit5paHIiwiZmxhZyI6InR3IiwiZ2VvaXBfY29kZSI6InR3IiwiY291bnRyaWVzX3dpdGhfdGhpc19sYW5ndWFnZSI6WyJoayJdLCJpc28iOiJ6aC1IYW50IiwiaXNvXzYzOV8zIjoiY21uIiwiZ2xvYmFsX25hbWUiOiJUYWl3YW5lc2UifSwiYXJfQUUiOnsibGFuZ3VhZ2UiOiJhciIsImxhbmd1YWdlX25hbWUiOiLYp9mE2LnYsdio2YrYqSIsImZsYWciOiJzYSIsImdlb2lwX2NvZGUiOiJzYSIsImNvdW50cmllc193aXRoX3RoaXNfbGFuZ3VhZ2UiOlsiYWUiLCJiaCIsImRqIiwiZHoiLCJlZyIsImVyIiwiaXEiLCJqbyIsImttIiwia3ciLCJsYiIsImx5IiwibWEiLCJtciIsIm9tIiwicWEiLCJzYSIsInNkIiwic28iLCJzeSIsInRkIiwidG4iLCJ5ZSJdLCJkaXIiOiJydGwiLCJpc28iOiJhciIsImlzb182MzlfMyI6ImFyYiIsImdsb2JhbF9uYW1lIjoiQXJhYmljIn0sImhlX0lMIjp7Imxhbmd1YWdlIjoiaGVfSUwiLCJsYW5ndWFnZV9uYW1lIjoi16LXkdeo15nXqiIsImZsYWciOiJpbCIsImdlb2lwX2NvZGUiOiJpbCIsImRpciI6InJ0bCIsImlzbyI6ImhlIiwiaXNvXzYzOV8zIjoiaGViIiwiZ2xvYmFsX25hbWUiOiJJc3JhZWxpIn19JykKfX1dKTs="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/uploads/elementor/css/post-18.css?ver=1784318891","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.895Z","timestamp":1785141582895,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/uploads/elementor/css/post-18.css?ver=1784318891 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://oxlofttrd.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Fri, 17 Jul 2026 20:08:11 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 303\r\nKeep-Alive: timeout=5, max=99\r\nConnection: Keep-Alive\r\nContent-Type: text/css\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":1536,"size_decoded":653,"mime_type":"text/css","magic":"ASCII text, with very long lines (1536), with no line terminators","md5":"85424475efb2c54c31ac5674a5e44ec4","sha1":"49d99e52991411992560270b2101e6997414b865","sha256":"2f7be29386ff1bc64d5a19620ee92acb7e1f69f48c3d0fbd70bb296c03a48569","sha512":"7518c959cd8590851e73fb7781bf6348bdb13559584aab698ed02b6c30fd0c0977f83aba05d1e816ccc00623740e3bf83bdb0432bea883a36c4b87f430406944","ssdeep":"","tlshash":"7d315e953d232419722f34ebc817a6cd91250ddce53d32c2d8325663b0b9de673e8988","first_seen":"2026-07-27T06:14:34.224431Z","last_seen":"2026-07-27T12:12:28.910615Z","times_seen":5,"resource_available":false,"data":"LmVsZW1lbnRvci0xOCAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtYWY0NmY1YyA+IC5lbGVtZW50b3ItZWxlbWVudC1wb3B1bGF0ZWR7cGFkZGluZzowcHggMHB4IDBweCAwcHg7fS5lbGVtZW50b3ItMTggLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LWVjMDNkOTAgLm1pbC1sb2dve2p1c3RpZnktY29udGVudDpsZWZ0O30uZWxlbWVudG9yLTE4IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC1iYWUzOThjID4gLmVsZW1lbnRvci1lbGVtZW50LXBvcHVsYXRlZHtwYWRkaW5nOjBweCAwcHggMHB4IDBweDt9LmVsZW1lbnRvci1iYy1mbGV4LXdpZGdldCAuZWxlbWVudG9yLTE4IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0yNjA3NTMzLmVsZW1lbnRvci1jb2x1bW4gLmVsZW1lbnRvci13aWRnZXQtd3JhcHthbGlnbi1pdGVtczpjZW50ZXI7fS5lbGVtZW50b3ItMTggLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTI2MDc1MzMuZWxlbWVudG9yLWNvbHVtbi5lbGVtZW50b3ItZWxlbWVudFtkYXRhLWVsZW1lbnRfdHlwZT0iY29sdW1uIl0gPiAuZWxlbWVudG9yLXdpZGdldC13cmFwLmVsZW1lbnRvci1lbGVtZW50LXBvcHVsYXRlZHthbGlnbi1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7fS5lbGVtZW50b3ItMTggLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTI2MDc1MzMuZWxlbWVudG9yLWNvbHVtbiA+IC5lbGVtZW50b3Itd2lkZ2V0LXdyYXB7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO30uZWxlbWVudG9yLTE4IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0yNjA3NTMzID4gLmVsZW1lbnRvci1lbGVtZW50LXBvcHVsYXRlZHtwYWRkaW5nOjBweCAwcHggMHB4IDBweDt9QG1lZGlhKG1heC13aWR0aDoxMDI0cHgpey5lbGVtZW50b3ItMTggLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LWFmNDZmNWMgPiAuZWxlbWVudG9yLWVsZW1lbnQtcG9wdWxhdGVke3BhZGRpbmc6MHB4IDEwcHggMHB4IDEwcHg7fS5lbGVtZW50b3ItMTggLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LWJhZTM5OGMgPiAuZWxlbWVudG9yLWVsZW1lbnQtcG9wdWxhdGVke3BhZGRpbmc6MHB4IDEwcHggMHB4IDEwcHg7fS5lbGVtZW50b3ItMTggLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTI2MDc1MzMgPiAuZWxlbWVudG9yLWVsZW1lbnQtcG9wdWxhdGVke3BhZGRpbmc6MHB4IDEwcHggMHB4IDEwcHg7fX1AbWVkaWEobWF4LXdpZHRoOjc2N3B4KXsuZWxlbWVudG9yLTE4IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC1hZjQ2ZjVje3dpZHRoOjQ1JTt9LmVsZW1lbnRvci0xOCAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtYmFlMzk4Y3t3aWR0aDoxMCU7fS5lbGVtZW50b3ItMTggLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTI2MDc1MzN7d2lkdGg6NDUlO319"}},"time_used":415,"timings":{"blocked":323,"dns":0,"connect":0,"send":0,"wait":92,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.smartsuppchat.com/loader.js?","fqdn":"www.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"185.76.9.12","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:43.865Z","timestamp":1785141583865,"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://oxlofttrd.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 08:39:47 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: k3O5NwzzKmW4FtVsHBPL1CLN/pHRG0KIHqUbfXSHYqIQDn6rC8VwY7RA9J4P4FNJkeZUfvc\r\nx-77-nzt-ray: e2f75420a2164fdd5319676a24be1c0d\r\nx-77-cache: HIT\r\nx-77-age: 52\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-07-27T15:05:49.434395Z","times_seen":7556,"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":3360,"timings":{"blocked":0,"dns":33,"connect":8,"send":0,"wait":8,"receive":0,"ssl":3311},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/55969.43c3748014de2cd0bd1c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.160Z","timestamp":1785141584160,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/55969.43c3748014de2cd0bd1c.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-79ea\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 154185b86504b7deb80b283459ef6f66\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31210,"size_decoded":10275,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"2ffe3f8909cfa5c00f9356969ce56989","sha1":"25fb185c3e390ae4bd33c6395913b100e0a4f6d9","sha256":"7d1513778a61b869e05173da3d33c80b937eaf583aeb370b947947ddcdce4c84","sha512":"2022abb3649827fd1f39c901fc168d99ac273164699e1ca00d77e017ee71f51fb199aac7cb5eb214ba12fe7bfb88a65a777fee03d3f0318dbaa768e188f74d6d","ssdeep":"768:YmdyerAdxxaVWiG7s8trffJtzTrcSWJMAchHTdv5UC1gMgFwMA+Mv60F00rFLfLL:5dyHaZG73TAVFd+60S0RuGpriakk","tlshash":"62e296ca3286733693d1c7850c750903f339a1743c0a55acf6ac6acfbe1a942617ab7d","first_seen":"2026-07-16T13:40:49.785089Z","last_seen":"2026-07-27T14:50:15.431368Z","times_seen":613,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTU5NjldLHszMDgyMShlLHQscyl7cy5kKHQse0J1c2luZXNzRGF5OigpPT5pfSk7dmFyIG49cyg3MDA4MDkpLHI9cyg5MDI4NDIpO2NsYXNzIGl7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMuX2RheU9mV2Vlaz1udWxsLHRoaXMueWVhcj1lLHRoaXMubW9udGg9dCx0aGlzLmRheT1zfXRvU3RyaW5nKCl7cmV0dXJuYCR7KDAsci5hZGRMZWFkaW5nWmVyb3MpKHRoaXMueWVhciw0KX0tJHsoMCxyLmFkZExlYWRpbmdaZXJvKSh0aGlzLm1vbnRoKX0tJHsoMCxyLmFkZExlYWRpbmdaZXJvKSh0aGlzLmRheSl9YH10b3l5eXltbWRkKCl7cmV0dXJuYCR7KDAsci5hZGRMZWFkaW5nWmVyb3MpKHRoaXMueWVhciw0KX0keygwLHIuYWRkTGVhZGluZ1plcm8pKHRoaXMubW9udGgpfSR7KDAsci5hZGRMZWFkaW5nWmVybykodGhpcy5kYXkpfWB9Y29tcGFyZVRvKGUpe3JldHVybiB0aGlzLnllYXI+ZS55ZWFyfHx0aGlzLnllYXI9PT1lLnllYXImJnRoaXMubW9udGg+ZS5tb250aHx8dGhpcy55ZWFyPT09ZS55ZWFyJiZ0aGlzLm1vbnRoPT09ZS5tb250aCYmdGhpcy5kYXk+ZS5kYXk/MTp0aGlzLnllYXI9PT1lLnllYXImJnRoaXMubW9udGg9PT1lLm1vbnRoJiZ0aGlzLmRheT09PWUuZGF5PzA6LTF9YmVmb3JlKGUpe3JldHVybi0xPT09dGhpcy5jb21wYXJlVG8oZSl9dG9DYWxlbmRhcihlKXtyZXR1cm4oMCxuLmdldF9jYWwpKGU/PygwLG4uZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpLHRoaXMueWVhcix0aGlzLm1vbnRoLTEsdGhpcy5kYXkpfWFkZERheXMoZSl7Y29uc3QgdD10aGlzLnRvQ2FsZW5kYXIoKDAsbi5nZXRfdGltZXpvbmUpKCJFdGMvVVRDIikpO3JldHVybigwLG4uYWRkX2RhdGUpKHQsZSksaS5mcm9tQ2FsZW5kYXIodCl9Zmlyc3REYXlPZlllYXIoKXtyZXR1cm4gbmV3IGkodGhpcy55ZWFyLDEsMSl9Z2V0RGF5T2ZXZWVrKCl7cmV0dXJuIG51bGw9PT10aGlzLl9kYXlPZldlZWsmJih0aGlzLl9kYXlPZldlZWs9KDAsbi5nZXRfZGF5X29mX3dlZWspKHRoaXMudG9DYWxlbmRhcigpKSksdGhpcy5fZGF5T2ZXZWVrfXN0YXRpYyBmcm9tQ2FsZW5kYXIoZSl7cmV0dXJuIG5ldyBpKCgwLG4uZ2V0X3llYXIpKGUpLCgwLG4uZ2V0X21vbnRoKShlKSsxLCgwLG4uZ2V0X2RheV9vZl9tb250aCkoZSkpfX19LDM0MTAzNihlLHQscyl7cy5kKHQse0V4dGVuZGVkRW50cnlEZWNvcmF0b3I6KCk9PkUsT2Zmc2V0RW50cnlEZWNvcmF0b3I6KCk9PnUsU0VTU0lPTl9TUEVDX1NZTUJPTF9CQVJTX09GRlNFVDooKT0+byxTRVNTSU9OX1NQRUNfU1lNQk9MX0VYVEVOREVEOigpPT5oLFNFU1NJT05fU1BFQ19TWU1CT0xfVU5JRklFRDooKT0+YSxTRVNTSU9OX1NQRUNfU1lNQk9MX1VOSUZJRURfU0hJRlRFRDooKT0+ZCxTZXNzaW9uc1NwZWNFbnRyaWVzOigpPT5tLFNlc3Npb25zU3BlY0VudHJ5OigpPT5fLFNlc3Npb25zU3BlY0VudHJ5SW5kZXg6KCk9Pk8sU2Vzc2lvbnNTcGVjSGlzdG9yeUVudHJ5OigpPT5XLFVuaWZpZWRFbnRyeURlY29yYXRvcjooKT0+ayxVbmlmaWVkU2hpZnRlZEVudHJ5RGVjb3JhdG9yOigpPT5wLGNvbXBhcmVTZXNzaW9uRW50cmllczooKT0+eSxpc0V4dGVuZGVkRW50cnk6KCk9PmcsaXNPZmZzZXRFbnRyeTooKT0+bCxpc1VuaWZpZWRFbnRyeTooKT0+Uyxpc1VuaWZpZWRTaGlmdGVkRW50cnk6KCk9PkR9KTt2YXIgbixyPXMoMTM4NjM4KSxpPXMoNzAwODA5KTshZnVuY3Rpb24oZSl7ZVtlLkxlZnRGaXJzdD0tMV09IkxlZnRGaXJzdCIsZVtlLlVuY2hhbmdlZD0wXT0iVW5jaGFuZ2VkIixlW2UuUmlnaHRGaXJzdD0xXT0iUmlnaHRGaXJzdCJ9KG58fChuPXt9KSk7Y29uc3Qgbz0iQSIsYT0iVSIsZD0iUyIsaD0iRSI7ZnVuY3Rpb24gZihlKXtyZXR1cm4gZT49MD8wOmUlaS5taW51dGVzUGVyRGF5PT0wPy1lL2kubWludXRlc1BlckRheToxLU1hdGgudHJ1bmMoZS9pLm1pbnV0ZXNQZXJEYXkpfWZ1bmN0aW9uIHkoZSx0KXtyZXR1cm4gZS5jb21wYXJlVG8odCl9dmFyIGM7IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuRXh0ZW5kZWRFbnRyeT0xXT0iRXh0ZW5kZWRFbnRyeSIsZVtlLk9mZnNldEVudHJ5PTJdPSJPZmZzZXRFbnRyeSIsZVtlLlVuaWZpZWRFbnRyeT0zXT0iVW5pZmllZEVudHJ5IixlW2UuVW5pZmllZFNoaWZ0ZWRFbnRyeT00XT0iVW5pZmllZFNoaWZ0ZWRFbnRyeSJ9KGN8fChjPXt9KSk7Y2xhc3MgX3tjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5kZWNvcmF0b3JUeXBlPTAsKDAsci5hc3NlcnQpKE51bWJlci5pc0Zpbml0ZShlKSYmTnVtYmVyLmlzRmluaXRlKHQpJiZOdW1iZXIuaXNGaW5pdGUocyksIkludmFsaWQgYXJndW1lbnRzIiksdGhpcy5fZGF5T2ZXZWVrPWUsdGhpcy5fc3RhcnQ9dCx0aGlzLl9sZW5ndGg9c31zdGFydCgpe3JldHVybiB0aGlzLl9zdGFydCtpLm1pbnV0ZXNQZXJEYXkqdGhpcy5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCl9c3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fc3RhcnR9ZW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX3N0YXJ0K3RoaXMuX2xlbmd0aH1zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCl7cmV0dXJuIGYodGhpcy5fc3RhcnQpfWlzT3Zlcm5pZ2h0KCl7cmV0dXJuIHRoaXMuX3N0YXJ0PDB9ZGF5T2ZXZWVrKCl7cmV0dXJuIHRoaXMuX2RheU9mV2Vla31zZXNzaW9uU3RhcnREYXlPZldlZWsoKXtsZXQgZT10aGlzLl9kYXlPZldlZWstdGhpcy5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCk7cmV0dXJuIGU8aS5TVU5EQVkmJihlKz03KSxlfWxlbmd0aCgpe3JldHVybiB0aGlzLl9sZW5ndGh9aXNFeHRlbmRlZCgpe3JldHVybiExfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5zdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuZW5kT2Zmc2V0KCl9Y29tcGFyZVRvKGUpe2NvbnN0IHQ9dGhpcy5fd2VpZ2h0KCkscz10K3RoaXMuX2xlbmd0aCxuPWUuX3dlaWdodCgpLHI9bitlLl9sZW5ndGgKO3JldHVybiB0PD1uJiZuPHN8fG48PXQmJnQ8cj8wOnQ+bj8xOi0xfWNvbnRhaW5zKGUpe3JldHVybiB0aGlzLl9jb250YWlucygoMCxpLmdldF9taW51dGVzX3dpdGhfaG91cnMpKGUpLCgwLGkuZ2V0X2RheV9vZl93ZWVrKShlKSl9X3dlaWdodCgpe3JldHVybiB0aGlzLl9kYXlPZldlZWsqaS5taW51dGVzUGVyRGF5K3RoaXMuX3N0YXJ0fV9jb250YWlucyhlLHQpe2xldCBzPXQtdGhpcy5fZGF5T2ZXZWVrO3M+MCYmKHMtPTcpO2NvbnN0IG49cyppLm1pbnV0ZXNQZXJEYXkrZTtyZXR1cm4gbj49dGhpcy5fc3RhcnQmJm48dGhpcy5fc3RhcnQrdGhpcy5fbGVuZ3RofX1mdW5jdGlvbiBsKGUpe3JldHVybiAyPT09ZS5kZWNvcmF0b3JUeXBlfWNsYXNzIHUgZXh0ZW5kcyBfe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZS5kYXlPZldlZWsoKSxlLnN0YXJ0T2Zmc2V0KCksZS5sZW5ndGgoKSksdGhpcy5kZWNvcmF0b3JUeXBlPTIsdGhpcy5fZW50cnk9ZSx0aGlzLl9iYXJzT2Zmc2V0PXR9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9YmFyc09mZnNldCgpe3JldHVybiB0aGlzLl9iYXJzT2Zmc2V0fWlzRXh0ZW5kZWQoKXtyZXR1cm4gdGhpcy5fZW50cnkuaXNFeHRlbmRlZCgpfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZW50cnkuZXh0ZW5kZWRTdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkRW5kT2Zmc2V0KCl9fWZ1bmN0aW9uIGcoZSl7cmV0dXJuIDE9PT1lLmRlY29yYXRvclR5cGV9Y2xhc3MgRSBleHRlbmRzIF97Y29uc3RydWN0b3IoZSx0LHMpe3N1cGVyKGUuZGF5T2ZXZWVrKCksZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpLHRoaXMuZGVjb3JhdG9yVHlwZT0xLHRoaXMuX2VudHJ5PWUsdGhpcy5fZXh0ZW5kZWRTdGFydE9mZnNldD10LHRoaXMuX2V4dGVuZGVkRW5kT2Zmc2V0PXN9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9aXNFeHRlbmRlZCgpe3JldHVybiEwfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZXh0ZW5kZWRTdGFydE9mZnNldH1leHRlbmRlZEVuZE9mZnNldCgpe3JldHVybiB0aGlzLl9leHRlbmRlZEVuZE9mZnNldH1leHRlbmRlZFN0YXJ0RGF5c09mZnNldCgpe3JldHVybiBmKHRoaXMuX2V4dGVuZGVkU3RhcnRPZmZzZXQpfWV4dGVuZGVkRW5kRGF5c09mZnNldCgpe3JldHVybiBmKHRoaXMuX2V4dGVuZGVkRW5kT2Zmc2V0KX19ZnVuY3Rpb24gUyhlKXtyZXR1cm4gMz09PWUuZGVjb3JhdG9yVHlwZX1jbGFzcyBrIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUuZGF5T2ZXZWVrKCksZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpLHRoaXMuZGVjb3JhdG9yVHlwZT0zLHRoaXMuX2VudHJ5PWUsdGhpcy5fdW5pZmllZEVudHJpZXM9dCx0LnB1c2godGhpcyl9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9Z2V0VW5pZmllZEVudHJpZXMoKXtyZXR1cm4gdGhpcy5fdW5pZmllZEVudHJpZXN9aGFzRXh0ZW5kZWRFbnRyeSgpe3JldHVybiB0aGlzLl91bmlmaWVkRW50cmllcy5zb21lKChlPT5lLmlzRXh0ZW5kZWQoKSkpfWlzRXh0ZW5kZWQoKXtyZXR1cm4gdGhpcy5fZW50cnkuaXNFeHRlbmRlZCgpfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZW50cnkuZXh0ZW5kZWRTdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkRW5kT2Zmc2V0KCl9fWZ1bmN0aW9uIEQoZSl7cmV0dXJuIDQ9PT1lLmRlY29yYXRvclR5cGV9Y2xhc3MgcCBleHRlbmRzIF97Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLmRheU9mV2VlaygpLGUuc3RhcnRPZmZzZXQoKSxlLmxlbmd0aCgpKSx0aGlzLmRlY29yYXRvclR5cGU9NCx0aGlzLl9lbnRyeT1lLHRoaXMuX3VuaWZpZWRFbnRyaWVzPXQsdC5wdXNoKHRoaXMpfWdldEVudHJ5KCl7cmV0dXJuIHRoaXMuX2VudHJ5fWdldFVuaWZpZWRFbnRyaWVzKCl7cmV0dXJuIHRoaXMuX3VuaWZpZWRFbnRyaWVzfWhhc0V4dGVuZGVkRW50cnkoKXtyZXR1cm4gdGhpcy5fdW5pZmllZEVudHJpZXMuc29tZSgoZT0+ZS5pc0V4dGVuZGVkKCkpKX1pc0V4dGVuZGVkKCl7cmV0dXJuIHRoaXMuX2VudHJ5LmlzRXh0ZW5kZWQoKX1leHRlbmRlZFN0YXJ0T2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkU3RhcnRPZmZzZXQoKX1leHRlbmRlZEVuZE9mZnNldCgpe3JldHVybiB0aGlzLl9lbnRyeS5leHRlbmRlZEVuZE9mZnNldCgpfX1jbGFzcyBPe2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLndlZWtJbmRleD1lLHRoaXMuZW50cnlJbmRleD10LHRoaXMuZW50cmllcz1zfWdldEVudHJ5KCl7cmV0dXJuIHRoaXMuZW50cmllc1t0aGlzLmVudHJ5SW5kZXhdfX1jbGFzcyBte2NvbnN0cnVjdG9yKGUsdCxzLG4pe3RoaXMuX21heFRyYWRpbmdEYXlMZW5ndGg9bnVsbCx0aGlzLl9saXN0PWUsdGhpcy5fZW50cmllc0J5RGF5PXQsdGhpcy5fZmlyc3REYXlPZldlZWs9cyx0aGlzLl93ZWVrRW5kc0NvdW50PW59Zmlyc3REYXlPZldlZWsoKXtyZXR1cm4gdGhpcy5fZmlyc3REYXlPZldlZWt9ZW50cmllc0J5RGF5KCl7cmV0dXJuIHRoaXMuX2VudHJpZXNCeURheX1saXN0KCl7cmV0dXJuIHRoaXMuX2xpc3R9aXNXZWVrRW5kKGUpe3JldHVybiF0aGlzLl9lbnRyaWVzQnlEYXkuaGFzKGUpfXdlZWtFbmRzQ291bnQoKXtyZXR1cm4gdGhpcy5fd2Vla0VuZHNDb3VudH1sb25nZXN0U2Vzc2lvbkxlbmd0aCgpe3JldHVybiAwPT09dGhpcy5fbGlzdC5sZW5ndGg/MDpNYXRoLm1heCguLi50aGlzLl9saXN0Lm1hcCgoZT0+ZS5sZW5ndGgoKSkpKX1tYXhUcmFkaW5nRGF5TGVuZ3RoKCl7aWYobnVsbD09dGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aCl7Y29uc3QgZT1uZXcgTWFwO2Zvcihjb25zdCB0IG9mIHRoaXMuX2xpc3Qpe2NvbnN0IHM9dC5kYXlPZldlZWsoKTtlLnNldChzLHQubGVuZ3RoKCkrKGUuZ2V0KHMpPz8wKSl9bGV0IHQ9MDtlLmZvckVhY2goKGU9Pnt0PU1hdGgubWF4KHQsZSl9KSksdGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aD10fQpyZXR1cm4gdGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aH19Y2xhc3MgV3tjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5fc3RhcnREYXk9ZSx0aGlzLl9lbnRyaWVzPXMsdGhpcy5fc3BlY0VuZERheT10fWdldEVudHJpZXMoKXtyZXR1cm4gdGhpcy5fZW50cmllc31nZXRTdGFydERheSgpe3JldHVybiB0aGlzLl9zdGFydERheX1nZXRTcGVjRW5kRGF5KCl7cmV0dXJuIHRoaXMuX3NwZWNFbmREYXl9aXNPcGVuRW5kZWQoKXtyZXR1cm4gbnVsbD09dGhpcy5fc3BlY0VuZERheX19fSwzMjkwNDEoZSx0LHMpe3MuZCh0LHtTZXNzaW9uc1NwZWNQYXJzZXI6KCk9Pmcsd29ya2luZ0RheXNBbmRXZWVrRW5kczooKT0+ZH0pO3ZhciBuPXMoMTM4NjM4KSxyPXMoNzAwODA5KSxpPXMoMzA4MjEpLG89cygzNDEwMzYpO2NvbnN0IGE9W3IuTU9OREFZLHIuVFVFU0RBWSxyLldFRE5FU0RBWSxyLlRIVVJTREFZLHIuRlJJREFZXSxkPVtyLlNVTkRBWSxyLk1PTkRBWSxyLlRVRVNEQVksci5XRURORVNEQVksci5USFVSU0RBWSxyLkZSSURBWSxyLlNBVFVSREFZXTtmdW5jdGlvbiBoKGUpe3JldHVybiBlPj00OCYmZTw9NTd9Y29uc3QgZj1bMCwzMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV07Y2xhc3MgeSBleHRlbmRzIE1hcHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fa2V5U3RyaW5nc1RvS2V5PW5ldyBNYXB9Z2V0KGUpe2NvbnN0IHQ9dGhpcy5fa2V5U3RyaW5nc1RvS2V5LmdldChlLnRvU3RyaW5nKCkpO3JldHVybiB0JiZzdXBlci5nZXQodCl9c2V0KGUsdCl7Y29uc3Qgcz1lLnRvU3RyaW5nKCksbj10aGlzLl9rZXlTdHJpbmdzVG9LZXkuZ2V0KHMpO3JldHVybiB2b2lkIDAhPT1uJiZzdXBlci5kZWxldGUobiksdGhpcy5fa2V5U3RyaW5nc1RvS2V5LnNldChzLGUpLHN1cGVyLnNldChlLHQpfWhhcyhlKXtyZXR1cm4gdGhpcy5fa2V5U3RyaW5nc1RvS2V5LmhhcyhlLnRvU3RyaW5nKCkpfX1mdW5jdGlvbiBjKGUpe3JldHVybiBlLmxlbmd0aD4wfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIDA9PT1lP3IubWludXRlc1BlckRheTplfWZ1bmN0aW9uIGwoZSx0LHMsbil7cmV0dXJuIHM9PT1uJiZ0PD1lP3MrMTpzfWZ1bmN0aW9uIHUoZSx0KXtpZihlPDB8fGU+PTcpdGhyb3cgbmV3IEVycm9yKGBlcnJvciBwYXJzaW5nIHNlc3Npb24sICR7dH0gY2Fubm90IGJlIG91dHNpZGUgWzAsNyksICR7dH09JHtlfWApfWNsYXNzIGd7Y29uc3RydWN0b3IoKXt0aGlzLmhpc3RvcnlFbnRyaWVzPVtdLHRoaXMudGltZXpvbmU9IiIsdGhpcy5hZGp1c3RTZXNzaW9uc0luZGV4ZXM9bnVsbH1wYXJzZVNlc3Npb25zKGUsdCl7dGhpcy5fcGFyc2VIaXN0b3J5RW50cmllcyhlLHQsITEpfXBhcnNlU2Vzc2lvbnNBbmRWYWxpZGF0ZURhdGVUaW1lKGUsdCl7dGhpcy5fcGFyc2VIaXN0b3J5RW50cmllcyhlLHQsITApfXN0YXRpYyBwYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnMoZSx0LHMsbil7cmV0dXJuIHRoaXMuX3BhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0ltcGwoZSx0LHMsbil9c3RhdGljIHBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSx0LHMpe3JldHVybiB0aGlzLl9wYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnNJbXBsKGUsdCxzLCEwKX1fY2xlYXJBbGwoKXt0aGlzLnRpbWV6b25lPSIiLHRoaXMuaGlzdG9yeUVudHJpZXM9W10sdGhpcy5hZGp1c3RTZXNzaW9uc0luZGV4ZXM9W119X3BhcnNlSGlzdG9yeUVudHJpZXMoZSx0LHMpe3RoaXMuX2NsZWFyQWxsKCk7Y29uc3Qgbj10LnNwbGl0KCIvIik7bGV0IHI9bnVsbCxpPW51bGw7dGhpcy5oYXNIaXN0b3J5Q29ycmVjdGlvbnM9bi5sZW5ndGg+MTtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyl7Y29uc3QgYT1uW3RdLnNwbGl0KCIjIik7bGV0IGQ9bnVsbDtpZih0IT09bi5sZW5ndGgtMSl7aWYoMiE9PWEubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb24gaGlzdG9yeSBlbnRyeSBkZWZpbml0aW9uOiAke25bdF19YCk7ZD1nLl9wYXJzZURheShhWzFdLCJzZXNzaW9uIGhpc3RvcnkgZW50cnkgZW5kIixzKS50b0NhbGVuZGFyKCl9ZWxzZXtpZigxIT09YS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbiBoaXN0b3J5IGVudHJ5IGRlZmluaXRpb246ICR7blt0XX1gKTtkPW51bGx9aWYobnVsbCE9PWkmJm51bGwhPT1kJiZkLmdldFRpbWUoKTxpLmdldFRpbWUoKSl0aHJvdyBuZXcgRXJyb3IoYGhpc3Rvcnkgc2Vzc2lvbnMgYXJlIG5vdCBsaXN0ZWQgaW4gYXNjZW5kaW5nIG9yZGVyICgke2l9IC0+ICR7ZH1gKTtjb25zdCBoPXRoaXMuX3BhcnNlU2Vzc2lvbnNJbXBsKGUsYVswXSxzKTtyPXRoaXMuX2FkanVzdFN0YXJ0VG9QcmV2aW91c1Nlc3Npb24oaC5maXJzdERheU9mV2VlaygpKTtjb25zdCBmPW5ldyBvLlNlc3Npb25zU3BlY0hpc3RvcnlFbnRyeShyLGQsaCk7dGhpcy5oaXN0b3J5RW50cmllcy5wdXNoKGYpLGk9ZH19X3BhcnNlU2Vzc2lvbnNJbXBsKGUsdCxzKXt0aGlzLnRpbWV6b25lPWUsdD10aGlzLl9wYXJzZUZpcnN0RGF5T2ZXZWVrKHQpO2NvbnN0IG49bmV3IE1hcCxyPVtdO2lmKCIyNHg3Ij09PXQudG9Mb3dlckNhc2UoKSlmb3IoY29uc3QgZSBvZiBkKXtjb25zdCB0PWcuX2NyZWF0ZVNlc3Npb25FbnRyeShlLDAsMCwwLDApO3IucHVzaCh0KTtjb25zdCBzPVtdO3MucHVzaCh0KSxuLnNldChlLHMpfWVsc2V7bGV0IGU9ITE7Y29uc3QgaT1uZXcgTWFwO2Zvcihjb25zdCBzIG9mIHQuc3BsaXQoInwiKSl7Y29uc3QgdD1zLnNwbGl0KCI6IikuZmlsdGVyKGMpO2lmKDEhPT10Lmxlbmd0aCYmMiE9PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb24gc2VjdGlvbjogJHtzfWApO2NvbnN0IG49MT09PXQubGVuZ3RoO2lmKG4pe2lmKGUpdGhyb3cgbmV3IEVycm9yKGBkdXBsaWNhdGVkIGRlZmF1bHQgc2VjdGlvbjogJHtzfWApO2U9ITB9Y29uc3Qgcj1uP2E6Zy5fcGFyc2VXb3JraW5nRGF5cyh0WzFdKTtmb3IoY29uc3QgZSBvZiByKW4mJmkuaGFzKGUpfHxpLnNldChlLHRbMF0pfWZvcihjb25zdCBlIG9mIGQpe2NvbnN0IHQ9aS5nZXQoZSkKO2lmKHZvaWQgMD09PXQpY29udGludWU7Y29uc3Qgbz1nLl9wYXJzZVNlc3Npb25EYXkoZSx0LHMpO2xldCBhPW4uZ2V0KGUpO3ZvaWQgMD09PWEmJihhPVtdLG4uc2V0KGUsYSkpO2Zvcihjb25zdCBlIG9mIG8pYS5wdXNoKGUpLHIucHVzaChlKX19ci5zb3J0KG8uY29tcGFyZVNlc3Npb25FbnRyaWVzKTtjb25zdCBpPW5ldyBTZXQ7Zm9yKGNvbnN0IGUgb2YgcilpLmFkZChlLmRheU9mV2VlaygpKTtjb25zdCBoPTctaS5zaXplO3JldHVybiBuZXcgby5TZXNzaW9uc1NwZWNFbnRyaWVzKHIsbix0aGlzLl9maXJzdERheU9mV2VlayxoKX1fcGFyc2VGaXJzdERheU9mV2VlayhlKXtjb25zdCB0PWUuc3BsaXQoIjsiKTtpZih0aGlzLl9maXJzdERheU9mV2Vlaz1yLk1PTkRBWSx0Lmxlbmd0aD4yKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb25zIHNwZWM6ICR7ZX1gKTtpZigxPT09dC5sZW5ndGgpcmV0dXJuIGU7bGV0IHM9MTtsZXQgbj10WzBdLmluZGV4T2YoIi0iKT49MD9OYU46cGFyc2VJbnQodFswXSk7aWYoaXNOYU4obikmJihzPTAsbj1wYXJzZUludCh0WzFdKSksbjxyLlNVTkRBWXx8bj5yLlNBVFVSREFZKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb25zIHNwZWM6ICR7ZX1gKTtyZXR1cm4gdGhpcy5fZmlyc3REYXlPZldlZWs9bix0W3NdfV9hZGp1c3RTdGFydFRvUHJldmlvdXNTZXNzaW9uKGUpe2lmKDA9PT10aGlzLmhpc3RvcnlFbnRyaWVzLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCB0PSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5oaXN0b3J5RW50cmllc1t0aGlzLmhpc3RvcnlFbnRyaWVzLmxlbmd0aC0xXS5nZXRTcGVjRW5kRGF5KCkpLHM9ZS0oMCxyLmdldF9kYXlfb2Zfd2VlaykodCk7aWYoMD09PXMpcmV0dXJuIHQ7Y29uc3QgaT0oMCxyLmNsb25lKSh0KTtyZXR1cm4oMCxyLmFkZF9kYXRlKShpLHMpLHQuZ2V0VGltZSgpPGkuZ2V0VGltZSgpfHwoMCxyLmFkZF9kYXRlKShpLDcpLGl9c3RhdGljIF9wYXJzZVNlc3Npb25EYXkoZSx0LHMpe2NvbnN0IG49W107Zm9yKGNvbnN0IHIgb2YgdC5zcGxpdCgiLCIpLmZpbHRlcihjKSlpZihyLmluY2x1ZGVzKG8uU0VTU0lPTl9TUEVDX1NZTUJPTF9VTklGSUVEKSl7Y29uc3QgaT1yLnNwbGl0KG8uU0VTU0lPTl9TUEVDX1NZTUJPTF9VTklGSUVEKSxhPVtdO2ZvcihsZXQgcj0wO3I8aS5sZW5ndGg7cisrKXtjb25zdCBkPXRoaXMuX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxpW3JdLDA9PT1yLHMpO24ucHVzaChuZXcgby5VbmlmaWVkRW50cnlEZWNvcmF0b3IoZCxhKSl9YS5zb3J0KG8uY29tcGFyZVNlc3Npb25FbnRyaWVzKX1lbHNlIGlmKHIuaW5jbHVkZXMoby5TRVNTSU9OX1NQRUNfU1lNQk9MX1VOSUZJRURfU0hJRlRFRCkpe2NvbnN0IGk9ci5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfVU5JRklFRF9TSElGVEVEKSxhPVtdO2ZvcihsZXQgcj0wO3I8aS5sZW5ndGg7cisrKXtjb25zdCBkPXRoaXMuX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxpW3JdLDA9PT1yLHMpO24ucHVzaChuZXcgby5VbmlmaWVkU2hpZnRlZEVudHJ5RGVjb3JhdG9yKGQsYSkpfWEuc29ydChvLmNvbXBhcmVTZXNzaW9uRW50cmllcyl9ZWxzZSBuLnB1c2godGhpcy5fcGFyc2VTZXNzaW9uRW50cnkoZSxyLHMpKTtyZXR1cm4gbn1zdGF0aWMgX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxzLG4scil7aWYoIW4mJnMuaW5jbHVkZXMoby5TRVNTSU9OX1NQRUNfU1lNQk9MX0JBUlNfT0ZGU0VUKSl0aHJvdyBuZXcgRXJyb3IoYGJhZCBzZXNzaW9uOiAke3R9LiBVbmlmaWVkIGludGVydmFscyBjYW4gY29udGFpbiBvbmx5IG9uZSAnJHtvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVR9Jy4gU3BlY2lmeSAnJHtvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVR9JyBvbmx5IGZvciB0aGUgZmlyc3QgaW50ZXJ2YWxgKTtyZXR1cm4gdGhpcy5fcGFyc2VTZXNzaW9uRW50cnkoZSxzLHIpfXN0YXRpYyBfcGFyc2VTZXNzaW9uRW50cnkoZSx0LHMpe2NvbnN0IG49dC5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfRVhURU5ERUQpO2lmKG4ubGVuZ3RoPjIpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbjogJHt0fS4gT25seSBvbmUgJyR7by5TRVNTSU9OX1NQRUNfU1lNQk9MX0VYVEVOREVEfScgaXMgYWxsb3dlZCBwZXIgc2Vzc2lvbiBpbnRlcnZhbGApO2NvbnN0IHI9blswXS5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVQpO2lmKHIubGVuZ3RoPjIpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbjogJHt0fS4gT25seSBvbmUgJyR7by5TRVNTSU9OX1NQRUNfU1lNQk9MX0JBUlNfT0ZGU0VUfScgaXMgYWxsb3dlZCBwZXIgc2Vzc2lvbiBpbnRlcnZhbGApO2NvbnN0IGk9clswXS5zcGxpdCgiLSIpO2lmKDIhPT1pLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYGJhZCBzZXNzaW9uOiAke3R9YCk7bGV0IGE9MCxkPWlbMF07aWYoZC5pbmNsdWRlcygiRiIpKXtjb25zdCBlPWQuc3BsaXQoIkYiKTtkPWVbMF0sYT0iIiE9PWVbMV0/cGFyc2VJbnQoZVsxXSk6MX1sZXQgaD0wLGY9aVsxXTtpZihmLmluY2x1ZGVzKCJGIikpe2NvbnN0IGU9Zi5zcGxpdCgiRiIpO2Y9ZVswXSxoPSIiIT09ZVsxXT9wYXJzZUludChlWzFdKToxfWNvbnN0IHk9dGhpcy5fbWludXRlc0Zyb21ISE1NKGQsdCxzKSxjPXRoaXMuX21pbnV0ZXNGcm9tSEhNTShmLHQscyk7bGV0IF89dGhpcy5fY3JlYXRlU2Vzc2lvbkVudHJ5KGUseSxjLGEsaCk7aWYoMj09PXIubGVuZ3RoKXtjb25zdCBlPXRoaXMuX21pbnV0ZXNGcm9tSEhNTShyWzFdLHQscyk7Xz10aGlzLl9kZWNvcmF0ZVdpdGhPZmZzZXQoXyxlLHksYyxhLGgpfWlmKDI9PT1uLmxlbmd0aCl7Y29uc3QgZT1uWzFdLnNwbGl0KCItIik7aWYoMiE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb246ICR7dH0uIEluY29ycmVjdCBleHRlbmRlZCBpbnRlcnZhbGApO2xldCByPTAsaT1lWzBdO2lmKGkuaW5jbHVkZXMoIkYiKSl7Y29uc3QgZT1pLnNwbGl0KCJGIik7aT1lWzBdLHI9IiIhPT1lWzFdP3BhcnNlSW50KGVbMV0pOjF9bGV0IG89MCxhPWVbMV0KO2lmKGEuaW5jbHVkZXMoIkYiKSl7Y29uc3QgZT1hLnNwbGl0KCJGIik7YT1lWzBdLG89IiIhPT1lWzFdP3BhcnNlSW50KGVbMV0pOjF9Y29uc3QgZD10aGlzLl9taW51dGVzRnJvbUhITU0oaSx0LHMpLGg9dGhpcy5fbWludXRlc0Zyb21ISE1NKGEsdCxzKTtfPXRoaXMuX2RlY29yYXRlV2l0aEV4dGVuc2lvbihfLGQsaCxyLG8pfXJldHVybiBffXN0YXRpYyBfbWludXRlc0Zyb21ISE1NKGUsdCxzKXtpZig0PT09ZS5sZW5ndGgmJmgoZS5jaGFyQ29kZUF0KDApKSYmaChlLmNoYXJDb2RlQXQoMSkpJiZoKGUuY2hhckNvZGVBdCgyKSkmJmgoZS5jaGFyQ29kZUF0KDMpKSl7Y29uc3QgdD1wYXJzZUludChlKSxuPU1hdGgudHJ1bmModC8xMDApLHI9dCUxMDA7aWYoIXN8fG48MjQmJnI8NjApcmV0dXJuIHIrNjAqbn10aHJvdyBuZXcgRXJyb3IoYGluY29ycmVjdCBlbnRyeSBzeW50YXg6ICR7dH1gKX1zdGF0aWMgX3BhcnNlRGF5KGUsdCxzKXtpZig4PT09ZS5sZW5ndGgmJmgoZS5jaGFyQ29kZUF0KDApKSYmaChlLmNoYXJDb2RlQXQoMSkpJiZoKGUuY2hhckNvZGVBdCgyKSkmJmgoZS5jaGFyQ29kZUF0KDMpKSYmaChlLmNoYXJDb2RlQXQoNCkpJiZoKGUuY2hhckNvZGVBdCg1KSkmJmgoZS5jaGFyQ29kZUF0KDYpKSYmaChlLmNoYXJDb2RlQXQoNykpKXtjb25zdCB0PXBhcnNlSW50KGUuc3Vic3RyaW5nKDAsNCkpLG49cGFyc2VJbnQoZS5zdWJzdHJpbmcoNCw2KSkscj1wYXJzZUludChlLnN1YnN0cmluZyg2LDgpKTtpZighc3x8dGhpcy5faXNWYWxpZERheU9mTW9udGgocixuLHQpKXJldHVybiBuZXcgaS5CdXNpbmVzc0RheSh0LG4scil9dGhyb3cgbmV3IEVycm9yKGBiYWQgJHt0fSBkYXRlOiAke2V9YCl9c3RhdGljIF9pc1ZhbGlkRGF5T2ZNb250aChlLHQscyl7cmV0dXJuISh0PDF8fHQ+MTIpJiYoIShlPDF8fGU+Zlt0XSl8fCEoMiE9PXR8fDI5IT09ZXx8ISgwLHIuaXNfbGVhcF95ZWFyKShzKSkpfXN0YXRpYyBfcGFyc2VXb3JraW5nRGF5cyhlKXtjb25zdCB0PVtdO2ZvcihsZXQgcz0wO3M8ZS5sZW5ndGg7cysrKXtjb25zdCBuPWUuY2hhckNvZGVBdChzKS00ODtpZihuPDF8fG4+Nyl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF5cyBzcGVjaWZpY2F0aW9uOiAke2V9YCk7dC5pbmNsdWRlcyhuKXx8dC5wdXNoKG4pfXJldHVybiB0fXN0YXRpYyBfY3JlYXRlU2Vzc2lvbkVudHJ5KGUsdCxzLG4saSl7aWYodShuLCJzdGFydERheXNBZ28iKSx1KGksImVuZERheXNBZ28iKSwobj1sKHQscz1fKHMpLG4saSkpPGkpdGhyb3cgbmV3IEVycm9yKGBlcnJvciBwYXJzaW5nIHNlc3Npb24sIHZpb2xhdGlvbiBzdGFydERheXNBZ28gPj0gZW5kRGF5c0Fnbywgc3RhcnREYXlzQWdvPSR7bn0sIGVuZERheXNBZ289JHtpfWApO24+MCYmKHQtPW4qci5taW51dGVzUGVyRGF5KSxpPjAmJihzLT1pKnIubWludXRlc1BlckRheSk7Y29uc3QgYT1zLXQ7aWYoIShlPj1yLlNVTkRBWSYmZTw9ci5TQVRVUkRBWSYmdDxyLm1pbnV0ZXNQZXJEYXkmJmE+MCkpdGhyb3cgbmV3IEVycm9yKCJlcnJvciBwYXJzaW5nIHNlc3Npb24sIGludmFsaWQgZGF0YSIpO3JldHVybiBuZXcgby5TZXNzaW9uc1NwZWNFbnRyeShlLHQsYSl9c3RhdGljIF9kZWNvcmF0ZVdpdGhFeHRlbnNpb24oZSx0LHMsbixpKXtpZih1KG4sImV4dGVuZGVkLnN0YXJ0RGF5c0FnbyIpLHUoaSwiZXh0ZW5kZWQuZW5kRGF5c0FnbyIpLChuPWwodCxzPV8ocyksbixpKSk+MCYmKHQtPW4qci5taW51dGVzUGVyRGF5KSxpPjAmJihzLT1pKnIubWludXRlc1BlckRheSksdD09PWUuc3RhcnRPZmZzZXQoKSYmcz09PWUuZW5kT2Zmc2V0KCkpcmV0dXJuIGU7aWYodD5lLnN0YXJ0T2Zmc2V0KCl8fHM8ZS5lbmRPZmZzZXQoKSl0aHJvdyBuZXcgRXJyb3IoImVycm9yIHBhcnNpbmcgc2Vzc2lvbiwgZXh0ZW5kZWQgaW50ZXJ2YWwgbXVzdCBiZSB3aWRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBiYXNlIGludGVydmFsIik7cmV0dXJuIG5ldyBvLkV4dGVuZGVkRW50cnlEZWNvcmF0b3IoZSx0LHMpfXN0YXRpYyBfZGVjb3JhdGVXaXRoT2Zmc2V0KGUsdCxzLG4saSxhKXtyZXR1cm4gdD09PXM/ZTooaT1sKHMsbj1fKG4pLGksYSksdD5zJiYodC09ci5taW51dGVzUGVyRGF5KSxpPjAmJih0LT1pKnIubWludXRlc1BlckRheSksbmV3IG8uT2Zmc2V0RW50cnlEZWNvcmF0b3IoZSx0KSl9c3RhdGljIF9wYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnNJbXBsKGUsdCxzLG4pe2NvbnN0IGk9bmV3IHk7aWYoIiIhPT10KXtjb25zdCBlPVtdO2Zvcihjb25zdCBzIG9mIHQuc3BsaXQoIiwiKSl7Y29uc3QgdD10aGlzLl9wYXJzZURheShzLCJob2xpZGF5IixuKTtpLnNldCh0LGUpfX1pZigiIj09PXMpcmV0dXJuIGk7Zm9yKGNvbnN0IGUgb2Ygcy5zcGxpdCgiOyIpKXtjb25zdCB0PWUuc3BsaXQoIjoiKTtpZigyIT09dC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBiYWQgY29ycmVjdGlvbiBzZWN0aW9uOiAke2V9YCk7aWYoImRheW9mZiI9PT10WzBdKWZvcihjb25zdCBlIG9mIHRbMV0uc3BsaXQoIiwiKSl7Y29uc3QgdD10aGlzLl9wYXJzZURheShlLCJjb3JyZWN0aW9uIixuKTtpLnNldCh0LFtdKX1lbHNlIGZvcihjb25zdCBlIG9mIHRbMV0uc3BsaXQoIiwiKSl7Y29uc3Qgcz10aGlzLl9wYXJzZURheShlLCJjb3JyZWN0aW9uIixuKSxvPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShzLnRvQ2FsZW5kYXIoKSksYT10aGlzLl9wYXJzZVNlc3Npb25EYXkobyx0WzBdLG4pO2kuc2V0KHMsYSl9fXJldHVybiBpfX19LDU1OTY5KGUsdCxzKXtzLmQodCx7U2Vzc2lvbnNTcGVjOigpPT5nfSk7dmFyIG49cygxMzg2MzgpLHI9cyg3MDA4MDkpLGk9cygxOTg5MDEpLG89cygzMDgyMSksYT1zKDM0MTAzNiksZD1zKDMyOTA0MSk7ZnVuY3Rpb24gaChlLHQpe3JldHVybiBlLmNvbXBhcmVUbyh0KTwwfWZ1bmN0aW9uIGYoZSx0KXsKY29uc3Qgcz1lLmRheU9mV2VlaygpKnIubWludXRlc1BlckRheSxuPXMrZS5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksaT1zK2UuZXh0ZW5kZWRFbmRPZmZzZXQoKSxvPXQuZGF5T2ZXZWVrKCkqci5taW51dGVzUGVyRGF5LGE9byt0LmV4dGVuZGVkU3RhcnRPZmZzZXQoKSxkPW8rdC5leHRlbmRlZEVuZE9mZnNldCgpO3JldHVybiEobjw9YSYmYTxpfHxhPD1uJiZuPGQpJiZuPGF9ZnVuY3Rpb24geShlLHQpe2NvbnN0IHM9ZS5kYXlPZldlZWsoKSpyLm1pbnV0ZXNQZXJEYXksbj1zK2UuZXh0ZW5kZWRTdGFydE9mZnNldCgpLGk9cytlLmV4dGVuZGVkRW5kT2Zmc2V0KCksbz10LmRheU9mV2VlaygpKnIubWludXRlc1BlckRheSxhPW8rdC5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksZD1vK3QuZXh0ZW5kZWRFbmRPZmZzZXQoKTtyZXR1cm4gbjw9YSYmYTxpfHxhPD1uJiZuPGQ/MDpuPmE/MTotMX1jb25zdCBjPSgwLHIuZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuIDFlNCplLnllYXIrMTAwKmUubW9udGgrZS5kYXl9dmFyIGw7IWZ1bmN0aW9uKGUpe2VbZS5DbG9zZXN0PTBdPSJDbG9zZXN0IixlW2UuRmlyc3RJbkRheT0tMV09IkZpcnN0SW5EYXkiLGVbZS5MYXN0SW5EYXk9MV09Ikxhc3RJbkRheSJ9KGx8fChsPXt9KSk7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlKXt0aGlzLl92YWx1ZT1lfWdldCgpe3JldHVybiB0aGlzLl92YWx1ZX1zZXQoZSl7dGhpcy5fdmFsdWU9ZX19Y2xhc3MgZ3tjb25zdHJ1Y3RvcihlPSJFdGMvVVRDIix0PSIwMDAwLTAwMDAiLHM9IiIsbj0iIixpPSExKXtjb25zdCBvPW5ldyBkLlNlc3Npb25zU3BlY1BhcnNlcjtpP28ucGFyc2VTZXNzaW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSx0KTpvLnBhcnNlU2Vzc2lvbnMoZSx0KSx0aGlzLl9lbnRyaWVzPW8uaGlzdG9yeUVudHJpZXMsdGhpcy5faGFzSGlzdG9yeUNvcnJlY3Rpb25zPW8uaGFzSGlzdG9yeUNvcnJlY3Rpb25zLHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnk9by5oaXN0b3J5RW50cmllc1tvLmhpc3RvcnlFbnRyaWVzLmxlbmd0aC0xXSx0aGlzLl90aW1lem9uZT1vLnRpbWV6b25lLHRoaXMuX3RpbWV6b25lT2JqPSgwLHIuZ2V0X3RpbWV6b25lKShvLnRpbWV6b25lKSx0aGlzLl9ob2xpZGF5QW5kQ29ycmVjdGlvbk1hcD1pP2QuU2Vzc2lvbnNTcGVjUGFyc2VyLnBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSxzLG4pOmQuU2Vzc2lvbnNTcGVjUGFyc2VyLnBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9ucyhlLHMsbixpKTtjb25zdCBhPXRoaXMuX2hvbGlkYXlBbmRDb3JyZWN0aW9uTWFwLmtleXMoKTt0aGlzLl9lbnRyaWVzSGFzaD1uZXcgTWFwO2NvbnN0IGg9dGhpcy5fcHJlcGFyZVNlc3Npb25zQm9yZGVyUGFyYW1zKCk7dGhpcy5fYm9yZGVyV2Vla3NJbmRpY2VzSGFzaD1oLmJvcmRlcldlZWtzSW5kaWNlc0hhc2gsdGhpcy5feWVhclRvV2Vla3NJbmRpY2VzSGFzaD1oLnllYXJUb1dlZWtzSW5kaWNlc0hhc2gsdGhpcy5fd2Vla0luZGljZXNPZkxhc3RIaXN0b3J5V2Vlaz1oLndlZWtJbmRpY2VzT2ZMYXN0SGlzdG9yeVdlZWssdGhpcy5fcHJlc2VudFN0YXJ0V2Vla0luZGV4PWguc3RhcnRQcmVzZW50U2Vzc2lvbldlZWtJbmRleCx0aGlzLl95ZWFyVG9DYWxjdWxhdGVkQWRkZWRXZWVrSW5kaWNlc0hhc2g9bmV3IE1hcCwiIj09PXMmJiIiPT09biYmbnVsbD09PXRoaXMuX3dlZWtJbmRpY2VzT2ZMYXN0SGlzdG9yeVdlZWs/dGhpcy5faXNUaGVyZUNvcnJlY3Rpb25zPSExOnRoaXMuX2lzVGhlcmVDb3JyZWN0aW9ucz0hMDtmb3IoY29uc3QgZSBvZiBhKXtjb25zdCB0PXRoaXMuZ2V0V2Vla0luZGV4KGUudG9DYWxlbmRhcigpKTt0aGlzLl9lbnRyaWVzSGFzaC5zZXQodCxuZXcgdShudWxsKSl9dGhpcy5fc29ydGVkSG9saWRheXM9Wy4uLnRoaXMuX2hvbGlkYXlBbmRDb3JyZWN0aW9uTWFwLmVudHJpZXMoKV0ubWFwKCgoW2UsdF0pPT4oe2tleTpfKGUpLGRheTplLHNlc3Npb25zOnR9KSkpLnNvcnQoKChlLHQpPT5lLmtleS10LmtleSkpLHRoaXMuX2hvbGlkYXlDb3VudFByZWZpeFN1bXM9dGhpcy5faGFzSGlzdG9yeUNvcnJlY3Rpb25zP251bGw6dGhpcy5fYnVpbGRIb2xpZGF5Q291bnRQcmVmaXhTdW1zKCl9aGFzSGlzdG9yeUNvcnJlY3Rpb25zKCl7cmV0dXJuIHRoaXMuX2hhc0hpc3RvcnlDb3JyZWN0aW9uc31maXJzdERheU9mV2Vlaygpe3JldHVybiB0aGlzLl9wcmVzZW50SGlzdG9yeUVudHJ5LmdldEVudHJpZXMoKS5maXJzdERheU9mV2VlaygpfWluY2x1ZGVzRGF5KGUpe3JldHVybiB0aGlzLl9nZXRFbnRyaWVzRm9yRGF5KGUpLmxlbmd0aD4wfWdldEVudHJpZXNGb3JXZWVrKGUpe2lmKCF0aGlzLl9pc1RoZXJlQ29ycmVjdGlvbnMpcmV0dXJuIHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnkuZ2V0RW50cmllcygpOygwLG4uYXNzZXJ0KShlPj0wKTtjb25zdCB0PWUscz10aGlzLl9lbnRyaWVzSGFzaC5nZXQodCk7aWYodm9pZCAwPT09cyl7cmV0dXJuIHRoaXMuX2dldEhpc3RvcnlBbmRJbmRleEZvcldlZWsodCkuZ2V0RW50cmllcygpfWxldCByPXMuZ2V0KCk7aWYobnVsbCE9PXIpcmV0dXJuIHI7bGV0IGk9bnVsbDtjb25zdCBoPXRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KHQpO2k9dm9pZCAwPT09aD90aGlzLl9nZXRIaXN0b3J5QW5kSW5kZXhGb3JXZWVrKHQpLmdldEVudHJpZXMoKTp0aGlzLl9wcmVwYXJlQm9yZGVyV2Vla0hpc3RvcnkoaCk7Y29uc3QgZj1uZXcgTWFwKGkuZW50cmllc0J5RGF5KCkpO2xldCB5PVsuLi5pLmxpc3QoKV07Y29uc3QgYz10aGlzLl93ZWVrSW5kZXhUb0xvY2FsRGF0ZVRpbWUoZSksXz10aGlzLl93ZWVrSW5kZXhUb0xvY2FsRGF0ZVRpbWUoZSsxKSxsPW8uQnVzaW5lc3NEYXkuZnJvbUNhbGVuZGFyKGMpLHU9by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoXyk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fc2VsZWN0SG9saWRheXMobCx1KSl7Y29uc3QgdD1lLmRheS5nZXREYXlPZldlZWsoKTt5PXkuZmlsdGVyKChlPT5lLmRheU9mV2VlaygpIT09dCkpLHkucHVzaCguLi5lLnNlc3Npb25zKSwKMD09PWUuc2Vzc2lvbnMubGVuZ3RoP2YuZGVsZXRlKHQpOmYuc2V0KHQsZS5zZXNzaW9ucyl9eS5zb3J0KGEuY29tcGFyZVNlc3Npb25FbnRyaWVzKTtjb25zdCBnPWQud29ya2luZ0RheXNBbmRXZWVrRW5kcy5sZW5ndGgtZi5zaXplO3JldHVybiByPW5ldyBhLlNlc3Npb25zU3BlY0VudHJpZXMoeSxmLGkuZmlyc3REYXlPZldlZWsoKSxnKSxzLnNldChyKSxyfWdldEhpc3RvcnlCeUluZGV4KGUpe3JldHVybiB0aGlzLl9lbnRyaWVzW2VdfXRpbWV6b25lKCl7cmV0dXJuIHRoaXMuX3RpbWV6b25lfXRpbWV6b25lT2JqKCl7cmV0dXJuIHRoaXMuX3RpbWV6b25lT2JqfWxvbmdlc3RTZXNzaW9uTGVuZ3RoKCl7bGV0IGU9dGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCkubG9uZ2VzdFNlc3Npb25MZW5ndGgoKTtmb3IobGV0IHQ9MDt0PHRoaXMuX2VudHJpZXMubGVuZ3RoLTE7dCsrKXtjb25zdCBzPXRoaXMuX2VudHJpZXNbdF0uZ2V0RW50cmllcygpLmxvbmdlc3RTZXNzaW9uTGVuZ3RoKCk7ZT1NYXRoLm1heChlLHMpfWxldCB0PS0xLzA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5faG9saWRheUFuZENvcnJlY3Rpb25NYXAudmFsdWVzKCkpdD1NYXRoLm1heCh0LC4uLmUubWFwKChlPT5lLmxlbmd0aCgpKSkpO3JldHVybiBNYXRoLm1heCh0LGUpfWlzV2Vla0VuZChlKXtjb25zdCB0PXRoaXMuZ2V0V2Vla0luZGV4KGUpO2xldCBzO3JldHVybiBzPXZvaWQgMD09PXRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KHQpP3RoaXMuX2dldEhpc3RvcnlBbmRJbmRleEZvcldlZWsodCkuZ2V0RW50cmllcygpOnRoaXMuZ2V0RW50cmllc0ZvcldlZWsodCkscy5pc1dlZWtFbmQoKDAsci5nZXRfZGF5X29mX3dlZWspKGUpKX1pc0NhbFdlZWtFbmQoZSl7Y29uc3QgdD0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSk7aWYoIXRoaXMuX2lzVGhlcmVDb3JyZWN0aW9ucylyZXR1cm4gdGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCkuaXNXZWVrRW5kKHQpO2NvbnN0IHM9dGhpcy5nZXRXZWVrSW5kZXgoZSksbj10aGlzLmdldEVudHJpZXNGb3JXZWVrKHMpLGk9by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoZSksYT10aGlzLl9ob2xpZGF5QW5kQ29ycmVjdGlvbk1hcC5nZXQoaSk7cmV0dXJuIHZvaWQgMD09PWE/bi5pc1dlZWtFbmQodCk6MD09PWEubGVuZ3RofWhvbGlkYXlzRnJvbVllYXJTdGFydChlKXtjb25zdCB0PWUgaW5zdGFuY2VvZiBvLkJ1c2luZXNzRGF5P2U6by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoZSk7cmV0dXJuIHRoaXMuX2hvbGlkYXlzRnJvbVllYXJTdGFydCh0KX1kYXlzT2ZmRnJvbVllYXJTdGFydChlKXtjb25zdCB0PSgwLHIuZ2V0X2NhbCkoYywoMCxyLmdldF95ZWFyKShlKSxyLkpBTlVBUlksMSkscz10aGlzLmdldFdlZWtJbmRleCh0KSxuPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KSxpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKS0xO2lmKCgwLHIuZ2V0X2RheV9vZl95ZWFyKShlKStuPD1yLkxBU1RfREFZX09GX1dFRUsrci5GSVJTVF9EQVlfT0ZfV0VFSylyZXR1cm4gdGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMocyxuLGkpO2NvbnN0IG89dGhpcy5nZXRXZWVrSW5kZXgoZSk7bGV0IGE9dGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMocyxuLHIuTEFTVF9EQVlfT0ZfV0VFSyk7Zm9yKGxldCBlPXMrMTtlPG87ZSsrKXthKz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLndlZWtFbmRzQ291bnQoKX1yZXR1cm4gYSs9dGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMobyxyLkZJUlNUX0RBWV9PRl9XRUVLLGkpLGF9d2Vla0VuZHNDb3VudEZvclNpbmdsZVNlc3Npb24oKXtyZXR1cm4oMCxuLmFzc2VydCkoIXRoaXMuaGFzSGlzdG9yeUNvcnJlY3Rpb25zKCkpLHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnkuZ2V0RW50cmllcygpLndlZWtFbmRzQ291bnQoKX1pbnRyYWRheUNhbkJlQnVpbHRGcm9tMjR4NyhlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9lbnRyaWVzKWlmKCF0LmdldEVudHJpZXMoKS5saXN0KCkuZXZlcnkoKHQ9PnQuc3RhcnQoKSVlPT0wJiZ0Lmxlbmd0aCgpJWU9PTApKSlyZXR1cm4hMTtyZXR1cm4hMH1pbnRyYWRheUNhbkJlQnVpbHRGcm9tMjR4N1NlY29uZHMoZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZW50cmllcylpZighdC5nZXRFbnRyaWVzKCkubGlzdCgpLmV2ZXJ5KCh0PT42MCp0LnN0YXJ0KCklZT09MCYmNjAqdC5sZW5ndGgoKSVlPT0wKSkpcmV0dXJuITE7cmV0dXJuITB9aW5kZXhPZlNlc3Npb24oZSx0LHMsbz1oKXsoMCxuLmFzc2VydCkodD49ci5TVU5EQVkmJnQ8PXIuU0FUVVJEQVkpLCgwLG4uYXNzZXJ0KShzPj0wJiZzPHIubWludXRlc1BlckRheSk7Y29uc3QgZD10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLGY9ZC5saXN0KCk7bGV0IHk9KDAsaS5sb3dlcmJvdW5kKShmLG5ldyBhLlNlc3Npb25zU3BlY0VudHJ5KHQscywwKSxvKTtpZih5PGYubGVuZ3RoKXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGUseSxbLi4uZl0pO2xldCBjPWUrMSxfPXRoaXMuZ2V0RW50cmllc0ZvcldlZWsoYyk7aWYoMCE9PV8ubGlzdCgpLmxlbmd0aCl7Y29uc3QgZT03LXQrXy5maXJzdERheU9mV2VlaygpLTE7aWYocz0tKHIubWludXRlc1BlckRheS1zK2Uqci5taW51dGVzUGVyRGF5KSx5PSgwLGkubG93ZXJib3VuZCkoXy5saXN0KCksbmV3IGEuU2Vzc2lvbnNTcGVjRW50cnkoXy5maXJzdERheU9mV2VlaygpLHMsMCksbykseTxfLmxpc3QoKS5sZW5ndGgpcmV0dXJuIG5ldyBhLlNlc3Npb25zU3BlY0VudHJ5SW5kZXgoYyx5LFsuLi5fLmxpc3QoKV0pfWZvcig7OylpZihjKysscy09ci5taW51dGVzUGVyV2VlayxfPXRoaXMuZ2V0RW50cmllc0ZvcldlZWsoYyksMCE9PV8ubGlzdCgpLmxlbmd0aCYmKHk9KDAsaS5sb3dlcmJvdW5kKShfLmxpc3QoKSxuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeShkLmZpcnN0RGF5T2ZXZWVrKCkscywwKSxvKSwhKHk+PV8ubGlzdCgpLmxlbmd0aCkpKXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGMseSxbLi4uXy5saXN0KCldKX0KZmluZFNlc3Npb24oZSx0LHMsbj0wLHI9aCl7Y29uc3QgaT10aGlzLmluZGV4T2ZTZXNzaW9uKGUsdCxzLHIpLG89aS5lbnRyaWVzO2xldCBkPWkuZW50cnlJbmRleDtpZigwIT09bil7Y29uc3QgZT1vW2RdLmRheU9mV2VlaygpLHQ9bj4wPzE6LTE7Zm9yKDs7KXtjb25zdCBzPWQrdDtpZihzPDB8fHM+PW8ubGVuZ3RofHxvW3NdLmRheU9mV2VlaygpIT09ZSlicmVhaztkPXN9fXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGkud2Vla0luZGV4LGQsbyl9Z2V0V2Vla0luZGV4KGUpe3JldHVybiB0aGlzLl9pc1RoZXJlQ29ycmVjdGlvbnM/Zy5fZ2V0V2Vla0luZGV4SW1wbChlKTowfWNvcnJlY3RUcmFkaW5nRGF5KGUpe2NvbnN0IHQ9dGhpcy5fY29ycmVjdFRyYWRpbmdEYXkodGhpcy5nZXRXZWVrSW5kZXgoZSksKDAsci5nZXRfZGF5X29mX3dlZWspKGUpLCgwLHIuZ2V0X21pbnV0ZXNfd2l0aF9ob3VycykoZSkpLHM9KDAsci5jbG9uZSkoZSk7cmV0dXJuKDAsci5hZGRfZGF0ZSkocyx0KSxzfWFsaWduVG9TZXNzaW9uU3RhcnQoZSx0PTApe2NvbnN0IHM9KDAsci5nZXRfZGF5X29mX3dlZWspKGUpLG49KDAsci5nZXRfbWludXRlc19mcm9tX21pZG5pZ2h0KShlKSxpPXRoaXMuZ2V0V2Vla0luZGV4KGUpLG89dGhpcy5maW5kU2Vzc2lvbihpLHMsbix0KSxhPW8uZ2V0RW50cnkoKSxkPWEuZGF5T2ZXZWVrKCktcys3Kk1hdGgudHJ1bmMoby53ZWVrSW5kZXgtaSk7MCE9PWQmJigwLHIuYWRkX2RhdGUpKGUsZCk7Y29uc3QgaD1hLnN0YXJ0T2Zmc2V0KCk7cmV0dXJuKDAsci5zZXRfaG1zKShlLE1hdGgudHJ1bmMoaC82MCksaCU2MCwwLDApLGEubGVuZ3RoKCl9YWxpZ25Ub0VudHJ5U3RhcnQoZSx0PTApe3JldHVybiB0aGlzLl9kb0FsaWduVG9FbnRyeVN0YXJ0KGUsdCxoKX1hbGlnblRvRW50cnlTdGFydEV4dGVuZGVkKGUsdD0wKXtyZXR1cm4gdGhpcy5fZG9BbGlnblRvRW50cnlTdGFydChlLHQsZil9YnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMoZSx0KXtyZXR1cm4gdGhpcy5fYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXModGhpcy5nZXRXZWVrSW5kZXgoZSksKDAsci5nZXRfZGF5X29mX3dlZWspKGUpLHQpfWNhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKGUsdCl7cmV0dXJuIHRoaXMuX2NhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKHRoaXMuZ2V0V2Vla0luZGV4KGUpLCgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKSx0KX1hbGlnblRvTmVhcmVzdFNlc3Npb25TdGFydChlLHQpe3JldHVybiB0aGlzLl9hbGlnblRvTmVhcmVzdFNlc3Npb25WYWx1ZShlLHQsdGhpcy5fZW50cnlTZXNzaW9uU3RhcnQuYmluZCh0aGlzKSl9YWxpZ25Ub05lYXJlc3RTZXNzaW9uRW5kKGUsdCl7cmV0dXJuIHRoaXMuX2FsaWduVG9OZWFyZXN0U2Vzc2lvblZhbHVlKGUsdCx0aGlzLl9lbnRyeVNlc3Npb25FbmQuYmluZCh0aGlzKSl9Ym9yZGVyc09mRGFpbHlCYXIoZSl7Y29uc3QgdD10aGlzLl9nZXRFbnRyaWVzRm9yRGF5KGUpO2lmKDA9PT10Lmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBzPXQuc2xpY2UoKTtzLnNvcnQoYS5jb21wYXJlU2Vzc2lvbkVudHJpZXMpO2NvbnN0IG49dGhpcy5fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsc1swXSksaT1zW3MubGVuZ3RoLTFdLG89NjAqKGkuc3RhcnRPZmZzZXQoKStpLmxlbmd0aCgpKS0xLGQ9KDAsci5jbG9uZSkoZSk7cmV0dXJuKDAsci5zZXRfc2Vjb25kcykoZCxvKSx7ZnJvbTpuLHRvOmR9fWxlZnRCb3JkZXJPZkRhaWx5QmFyKGUpe2NvbnN0IHQ9dGhpcy5fZ2V0RW50cmllc0ZvckRheShlKTtpZigwPT09dC5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3Qgcz10LnNsaWNlKCk7cmV0dXJuIHMuc29ydChhLmNvbXBhcmVTZXNzaW9uRW50cmllcyksdGhpcy5fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsc1swXSl9Y2hlY2tTZXNzaW9uKCl7cmV0dXJuIHRoaXMuX2NoZWNrRWFjaEhpc3RvcnlTZXNzaW9uKCkmJnRoaXMuX2NoZWNrU3BlY2lhbEVudHJpZXMoKSYmdGhpcy5fY2hlY2tUb29NYW55Q29ycmVjdGlvbnNPbldlZWsoKX1pblNlc3Npb24oZSl7ZT1uZXcgRGF0ZSgxZTMqTWF0aC5mbG9vcihlLmdldFRpbWUoKS8xZTMpKTtjb25zdCB0PXRoaXMuYWxpZ25Ub05lYXJlc3RTZXNzaW9uU3RhcnQoZSwtMSkscz10aGlzLmFsaWduVG9OZWFyZXN0U2Vzc2lvbkVuZCh0LDEpO3JldHVybiEoZS5nZXRUaW1lKCk+cy5nZXRUaW1lKCkpfWhhc1dlZWtFbmRzKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fZW50cmllcylpZigwIT09ZS5nZXRFbnRyaWVzKCkud2Vla0VuZHNDb3VudCgpKXJldHVybiEwO3JldHVybiExfWdldFdlZWtJbmRpY2VzV2l0aEFkZGl0aW9uYWxXZWVrQmFycyhlKXtsZXQgdD10aGlzLl95ZWFyVG9DYWxjdWxhdGVkQWRkZWRXZWVrSW5kaWNlc0hhc2guZ2V0KGUpO3JldHVybiB2b2lkIDA9PT10JiYodD10aGlzLl9jYWxjdWxhdGVBZGRlZEluZGljZXMoZSksdGhpcy5feWVhclRvQ2FsY3VsYXRlZEFkZGVkV2Vla0luZGljZXNIYXNoLnNldChlLHQpKSx0fV9kb0FsaWduVG9FbnRyeVN0YXJ0KGUsdCxzKXtjb25zdCBuPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKSxpPSgwLHIuZ2V0X21pbnV0ZXNfZnJvbV9taWRuaWdodCkoZSksbz10aGlzLmdldFdlZWtJbmRleChlKSxhPXRoaXMuZmluZFNlc3Npb24obyxuLGksdCxzKSxkPWEuZ2V0RW50cnkoKSxoPWQuZGF5T2ZXZWVrKCktbis3Kk1hdGgudHJ1bmMoYS53ZWVrSW5kZXgtbyk7MCE9PWgmJigwLHIuYWRkX2RhdGUpKGUsaCk7Y29uc3QgZj1kLnN0YXJ0T2Zmc2V0KCk7cmV0dXJuKDAsci5zZXRfaG1zKShlLE1hdGgudHJ1bmMoZi82MCksZiU2MCwwLDApLHtsZW5ndGg6ZC5sZW5ndGgoKSxlbnRyeTpkfX1fcHJlcGFyZVNlc3Npb25zQm9yZGVyUGFyYW1zKCl7Y29uc3QgZT1uZXcgTWFwLHQ9bmV3IE1hcDtsZXQgcz1udWxsO3RoaXMuX2VudHJpZXMubGVuZ3RoPjEmJihzPUFycmF5LmZyb20oe2xlbmd0aDp0aGlzLl9lbnRyaWVzLmxlbmd0aC0xfSwoKCk9PjApKSk7bGV0IHI9MDtmb3IobGV0IGk9MDtpPHRoaXMuX2VudHJpZXMubGVuZ3RoLTE7aSsrKXtjb25zdCBvPXRoaXMuX2VudHJpZXNbaSsxXSxhPSgwLApuLmVuc3VyZU5vdE51bGwpKG8uZ2V0U3RhcnREYXkoKSk7cj1nLl9nZXRXZWVrSW5kZXhJbXBsKGEpLGUuc2V0KHIsaSsxKSx0aGlzLl9hZGRUb1llYXJIYXNoKHQsYSxyKSx0aGlzLl9lbnRyaWVzSGFzaC5zZXQocixuZXcgdShudWxsKSksKDAsbi5lbnN1cmVOb3ROdWxsKShzKVtpXT1yfXJldHVybntib3JkZXJXZWVrc0luZGljZXNIYXNoOmUseWVhclRvV2Vla3NJbmRpY2VzSGFzaDp0LHN0YXJ0UHJlc2VudFNlc3Npb25XZWVrSW5kZXg6cix3ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrOnN9fV9hZGRUb1llYXJIYXNoKGUsdCxzKXtjb25zdCBuPSgwLHIuZ2V0X3llYXIpKHQpO2xldCBpPWUuZ2V0KG4pO3ZvaWQgMD09PWkmJihpPVtdLGUuc2V0KG4saSkpLGkucHVzaChzKX1fZ2V0SGlzdG9yeUFuZEluZGV4Rm9yV2VlayhlKXtpZih0aGlzLl9wcmVzZW50U3RhcnRXZWVrSW5kZXg8PWUpcmV0dXJuIHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnk7Y29uc3QgdD10aGlzLl9nZXRJbmRleE9mSGlzdG9yeUVudHJ5KGUpO3JldHVybiB0aGlzLl9lbnRyaWVzW3RdfV9nZXRJbmRleE9mSGlzdG9yeUVudHJ5KGUpe2xldCB0PTAscz10aGlzLl9lbnRyaWVzLmxlbmd0aC0xLHI9TWF0aC5mbG9vcigodCtzKS8yKTtmb3IoKDAsbi5hc3NlcnQpKG51bGwhPT10aGlzLl93ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrKTs7KXtpZih0aGlzLl93ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrW3JdPj1lKXtpZihzPXItMSxzPHQpcmV0dXJuIHJ9ZWxzZSBpZih0PXIrMSxzPHQpcmV0dXJuIHIrMTtyPU1hdGguZmxvb3IoKHQrcykvMil9fV9zZWxlY3RIb2xpZGF5cyhlLHQpe2NvbnN0IHM9dGhpcy5fbG93ZXJCb3VuZEhvbGlkYXlJbmRleChfKGUpKSxuPXRoaXMuX2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoXyh0KSk7cmV0dXJuIHRoaXMuX3NvcnRlZEhvbGlkYXlzLnNsaWNlKHMsbil9X2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoZSl7cmV0dXJuKDAsaS5sb3dlcmJvdW5kKSh0aGlzLl9zb3J0ZWRIb2xpZGF5cyxlLCgoZSx0KT0+ZS5rZXk8dCkpfV9wcmVwYXJlQm9yZGVyV2Vla0hpc3RvcnkoZSl7Y29uc3QgdD10aGlzLl9lbnRyaWVzW2UtMV0scz10aGlzLl9lbnRyaWVzW2VdLGk9bmV3IE1hcCxvPVtdLGg9KDAsci5nZXRfZGF5X29mX3dlZWspKCgwLG4uZW5zdXJlTm90TnVsbCkocy5nZXRTdGFydERheSgpKSk7Zm9yKGxldCBlPTA7ZTxkLndvcmtpbmdEYXlzQW5kV2Vla0VuZHMubGVuZ3RoO2UrKyl7Y29uc3Qgbj1kLndvcmtpbmdEYXlzQW5kV2Vla0VuZHNbZV07aWYobjxoKXtjb25zdCBlPXQuZ2V0RW50cmllcygpLmVudHJpZXNCeURheSgpLmdldChuKTt2b2lkIDAhPT1lJiYoby5wdXNoKC4uLmUpLGkuc2V0KG4sZSkpfWVsc2V7Y29uc3QgZT1zLmdldEVudHJpZXMoKS5lbnRyaWVzQnlEYXkoKS5nZXQobik7dm9pZCAwIT09ZSYmKG8ucHVzaCguLi5lKSxpLnNldChuLGUpKX19cmV0dXJuIG5ldyBhLlNlc3Npb25zU3BlY0VudHJpZXMobyxpLHMuZ2V0RW50cmllcygpLmZpcnN0RGF5T2ZXZWVrKCksMCl9X2hvbGlkYXlzRnJvbVllYXJTdGFydChlKXtpZighdGhpcy5faXNUaGVyZUNvcnJlY3Rpb25zKXJldHVybiAwOygwLG4uYXNzZXJ0KSghdGhpcy5oYXNIaXN0b3J5Q29ycmVjdGlvbnMoKSk7Y29uc3QgdD0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hvbGlkYXlDb3VudFByZWZpeFN1bXMpLHM9dGhpcy5fbG93ZXJCb3VuZEhvbGlkYXlJbmRleChfKGUuZmlyc3REYXlPZlllYXIoKSkpO3JldHVybiB0W3RoaXMuX2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoXyhlKSldLXRbc119X2J1aWxkSG9saWRheUNvdW50UHJlZml4U3Vtcygpe2NvbnN0IGU9dGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCksdD1uZXcgQXJyYXkodGhpcy5fc29ydGVkSG9saWRheXMubGVuZ3RoKzEpO3RbMF09MDtmb3IobGV0IHM9MDtzPHRoaXMuX3NvcnRlZEhvbGlkYXlzLmxlbmd0aDtzKyspe2NvbnN0IG49dGhpcy5fc29ydGVkSG9saWRheXNbc10scj0wPT09bi5zZXNzaW9ucy5sZW5ndGg7bGV0IGk9MDtpPWUuaXNXZWVrRW5kKG4uZGF5LmdldERheU9mV2VlaygpKT9yPzA6LTE6cj8xOjAsdFtzKzFdPXRbc10raX1yZXR1cm4gdH1fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMoZSx0LHMpe2xldCBuPTA7Y29uc3Qgcj10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpO2ZvcihsZXQgZT10O2U8PXM7ZSsrKXIuZW50cmllc0J5RGF5KCkuaGFzKGUpfHxuKys7cmV0dXJuIG59X3dlZWtJbmRleFRvTG9jYWxEYXRlVGltZShlKXtjb25zdCB0PU1hdGguZmxvb3IoODY0MDAqZSo3Kzg2NDAwLTYyMTY3MjE5MjAwKSxzPSgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKShjLDFlMyp0KTtyZXR1cm4oMCxyLnNldF9obXMpKHMsMCwwLDAsMCksc31fY29ycmVjdFRyYWRpbmdEYXkoZSx0LHMpe2NvbnN0IG49dGhpcy5maW5kU2Vzc2lvbihlLHQscywwKTtyZXR1cm4gbi5nZXRFbnRyeSgpLmRheU9mV2VlaygpLXQrNypNYXRoLnRydW5jKG4ud2Vla0luZGV4LWUpfV9lbnRyeVNlc3Npb25WYWx1ZShlLHQscyxuKXt0PSgwLHIuY2xvbmUpKHQpO2xldCBpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KTtjb25zdCBvPWUuZ2V0RW50cnkoKTtsZXQgYT1vLmRheU9mV2VlaygpLW8uc2Vzc2lvblN0YXJ0RGF5c09mZnNldCgpO2NvbnN0IGQ9dGhpcy5nZXRXZWVrSW5kZXgodCk7bGV0IGg9TWF0aC50cnVuYyhlLndlZWtJbmRleC1kKSxmPSExO2lmKGE8ci5TVU5EQVkmJihoPD0wP2Y9ITA6aC0tLGErPTcpLChoPjAmJnM+PTB8fGg8MCYmczwwKSYmKDAsci5hZGRfZGF0ZSkodCw3KmgpLCFvLmNvbnRhaW5zKHQpKXtsZXQgZT1hLWk7ZiYmczwwJiYoZT0tKDctYStpKSksKDAsci5hZGRfZGF0ZSkodCxlKSxpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KX1pZihvLmlzT3Zlcm5pZ2h0KCkpe2NvbnN0IGU9by5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCkscz0oaS0oby5kYXlPZldlZWsoKS1lKSs3KSU3OzAhPT1zJiYoMCxyLmFkZF9kYXRlKSh0LC1zKX1jb25zdCB5PW4obyk7cmV0dXJuKDAsci5zZXRfc2Vjb25kcykodCx5KSx0fQpfYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMoZSx0LHMpe2xldCBuPTAsaT0wO2Zvcig7aTxzOyl7Y29uc3Qgbz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpO2ZvcihsZXQgZT10O2U8PXIuU0FUVVJEQVk7ZSsrKWlmKG4rKyx2b2lkIDAhPT1vLmVudHJpZXNCeURheSgpLmdldChlKSYmaSsrLGk+PXMpcmV0dXJuIG47ZSsrLHQ9ci5TVU5EQVl9cmV0dXJuIG59X2NhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKGUsdCxzKXtsZXQgbj0wLGk9MDtmb3IoO248czspe2NvbnN0IG89dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKTtmb3IobGV0IGU9dDtlPD1yLlNBVFVSREFZO2UrKylpZihuKyssdm9pZCAwIT09by5lbnRyaWVzQnlEYXkoKS5nZXQoZSkmJmkrKyxuPj1zKXJldHVybiBpO2UrKyx0PXIuU1VOREFZfXJldHVybiBpfV9lbnRyeVNlc3Npb25TdGFydChlLHQscyl7cmV0dXJuIHRoaXMuX2VudHJ5U2Vzc2lvblZhbHVlKGUsdCxzLChlPT42MCplLnN0YXJ0KCkpKX1fZW50cnlTZXNzaW9uRW5kKGUsdCxzKXtyZXR1cm4gdGhpcy5fZW50cnlTZXNzaW9uVmFsdWUoZSx0LHMsKGU9PjYwKihlLnN0YXJ0KCkrZS5sZW5ndGgoKSktMSkpfV9hbGlnblRvTmVhcmVzdFNlc3Npb25WYWx1ZShlLHQscyl7Y29uc3Qgbj0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSksaT0oMCxyLmdldF9taW51dGVzX3dpdGhfaG91cnMpKGUpLG89dGhpcy5nZXRXZWVrSW5kZXgoZSk7bGV0IGQ9dGhpcy5maW5kU2Vzc2lvbihvLG4saSk7aWYoMT09PXQpcmV0dXJuIHMoZCxlLHQpO2NvbnN0IGg9ZC5nZXRFbnRyeSgpLGY9aC5jb250YWlucyhlKSx5PW89PT1kLndlZWtJbmRleCxjPWguc2Vzc2lvblN0YXJ0RGF5c09mZnNldCgpLWguZGF5T2ZXZWVrKCk+PTA7aWYoZiYmKHl8fGMpKXJldHVybiBzKGQsZSx0KTtsZXQgXz1kLmVudHJ5SW5kZXgtMTtpZihfPDApe2xldCBlPWQud2Vla0luZGV4LHQ9ZC5lbnRyaWVzO2lmKDA9PT1lKWUtLSxfKz10Lmxlbmd0aDtlbHNlIGZvcig7XzwwOyllLS0sdD10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLmxpc3QoKSxfKz10Lmxlbmd0aDtkPW5ldyBhLlNlc3Npb25zU3BlY0VudHJ5SW5kZXgoZSxfLHQpfWVsc2UgZD1uZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGQud2Vla0luZGV4LF8sZC5lbnRyaWVzKTtyZXR1cm4gcyhkLGUsdCl9X2dldEVudHJpZXNGb3JEYXkoZSl7Y29uc3QgdD0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSkscz10aGlzLmdldEVudHJpZXNGb3JXZWVrKHRoaXMuZ2V0V2Vla0luZGV4KGUpKS5lbnRyaWVzQnlEYXkoKS5nZXQodCk7cmV0dXJuIHZvaWQgMCE9PXM/czpbXX1fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsdCl7bGV0IHM9dC5zdGFydE9mZnNldCgpO2NvbnN0IG49LU1hdGgudHJ1bmMoKHMtMTQzOSkvMTQ0MCk7cys9MTQ0MCpuO2NvbnN0IGk9KDAsci5nZXRfY2FsKShjLCgwLHIuZ2V0X3llYXIpKGUpLCgwLHIuZ2V0X21vbnRoKShlKSwoMCxyLmdldF9kYXlfb2ZfbW9udGgpKGUpLE1hdGgudHJ1bmMocy82MCkscyU2MCwwKTtyZXR1cm4oMCxyLmFkZF9kYXRlKShpLC1uKSxpfV9jaGVja0VhY2hIaXN0b3J5U2Vzc2lvbigpe2Zvcihjb25zdCBlIG9mIHRoaXMuX2VudHJpZXMpe2NvbnN0IHQ9ZS5nZXRFbnRyaWVzKCkubGlzdCgpO2lmKCF0aGlzLl9jaGVja0VudHJpZXNGb3JJbnRlcnNlY3Rpb25zKHQsdCx0KSlyZXR1cm4hMX1yZXR1cm4hMH1fY2hlY2tFbnRyaWVzRm9ySW50ZXJzZWN0aW9ucyhlLHQscyl7Y29uc3Qgbj10aGlzLl9idWlsZFRlc3RFbnRyaWVzKGUsdCxzKTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoLTE7ZSsrKWZvcihsZXQgdD1lKzE7dDxuLmxlbmd0aDt0KyspaWYoMD09PXkobltlXSxuW3RdKSlyZXR1cm4hMTtyZXR1cm4hMH1fYnVpbGRUZXN0RW50cmllcyhlLHQscyl7Y29uc3Qgbj1bXTtmb3IoY29uc3QgdCBvZiBlKW4ucHVzaChnLl9jbG9uZUVudHJ5V2l0aERheSh0LHQuZGF5T2ZXZWVrKCkpKTtmb3IoY29uc3QgZSBvZiB0KW4ucHVzaChnLl9jbG9uZUVudHJ5V2l0aERheShlLGUuZGF5T2ZXZWVrKCkrNykpO2Zvcihjb25zdCBlIG9mIHMpbi5wdXNoKGcuX2Nsb25lRW50cnlXaXRoRGF5KGUsZS5kYXlPZldlZWsoKSsxNCkpO3JldHVybiBufV9jaGVja1NwZWNpYWxFbnRyaWVzKCl7Zm9yKGNvbnN0W2Vdb2YgdGhpcy5fZW50cmllc0hhc2gpe2NvbnN0IHQ9dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKS5saXN0KCkscz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUtMSkubGlzdCgpLG49dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKzEpLmxpc3QoKTtpZighdGhpcy5fY2hlY2tFbnRyaWVzRm9ySW50ZXJzZWN0aW9ucyhzLHQsbikpcmV0dXJuITF9cmV0dXJuITB9X2NoZWNrVG9vTWFueUNvcnJlY3Rpb25zT25XZWVrKCl7aWYodGhpcy5fZW50cmllcy5sZW5ndGg8MilyZXR1cm4hMDtmb3IobGV0IGU9MDtlPHRoaXMuX2VudHJpZXMubGVuZ3RoLTI7ZSsrKXtjb25zdCB0PXRoaXMuX2VudHJpZXNbZV0scz10aGlzLl9lbnRyaWVzW2UrMV07aWYodGhpcy5nZXRXZWVrSW5kZXgoKDAsbi5lbnN1cmVOb3ROdWxsKSh0LmdldFNwZWNFbmREYXkoKSkpPT09dGhpcy5nZXRXZWVrSW5kZXgoKDAsbi5lbnN1cmVOb3ROdWxsKShzLmdldFNwZWNFbmREYXkoKSkpKXJldHVybiExfXJldHVybiEwfV9jYWxjdWxhdGVBZGRlZEluZGljZXMoZSl7Y29uc3QgdD1bXSxzPXRoaXMuX3llYXJUb1dlZWtzSW5kaWNlc0hhc2guZ2V0KGUpO2lmKHZvaWQgMD09PXMpcmV0dXJuIHQ7Zm9yKGNvbnN0IGUgb2Ygcyl7Y29uc3Qgcz0oMCxuLmVuc3VyZURlZmluZWQpKHRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KGUpKSxpPXRoaXMuX2VudHJpZXNbc10sbz10aGlzLl9lbnRyaWVzW3MtMV07bGV0IGE9aS5nZXRFbnRyaWVzKCkuZmlyc3REYXlPZldlZWsoKS1vLmdldEVudHJpZXMoKS5maXJzdERheU9mV2VlaygpO2Zvcig7YT4wOyl7Y29uc3Qgbz0oMCxyLmNsb25lKSgoMCxuLmVuc3VyZU5vdE51bGwpKGkuZ2V0U3RhcnREYXkoKSkpO2lmKCgwLHIuYWRkX2RhdGUpKG8sLWEpLCF0aGlzLmlzQ2FsV2Vla0VuZChvKSl7Y29uc3Qgbj17ZW50cnlJbmRleDpzLAp3ZWVrSW5kZXg6ZX07dC5wdXNoKG4pO2JyZWFrfWEtLX19cmV0dXJuIHR9c3RhdGljIF9jbG9uZUVudHJ5V2l0aERheShlLHQpe2lmKGUuaXNFeHRlbmRlZCgpKXtjb25zdCBzPW5ldyBhLlNlc3Npb25zU3BlY0VudHJ5KHQsZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpO3JldHVybiBuZXcgYS5FeHRlbmRlZEVudHJ5RGVjb3JhdG9yKHMsZS5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksZS5leHRlbmRlZEVuZE9mZnNldCgpKX1yZXR1cm4gbmV3IGEuU2Vzc2lvbnNTcGVjRW50cnkodCxlLnN0YXJ0T2Zmc2V0KCksZS5sZW5ndGgoKSl9c3RhdGljIF9nZXRXZWVrSW5kZXhJbXBsKGUpe2NvbnN0IHQ9KDAsci5nZXRfY2FsX3V0YykoKDAsci5nZXRfeWVhcikoZSksKDAsci5nZXRfbW9udGgpKGUpLDEpOygwLHIuYWRkX2RhdGUpKHQsKDAsci5nZXRfZGF5X29mX21vbnRoKShlKS0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSkpO2NvbnN0IHM9dC5nZXRUaW1lKCkvMWUzO3JldHVybigwLG4uYXNzZXJ0KSgocys2MjE2NzIxOTIwMCklODY0MDA9PTApLE1hdGgudHJ1bmMoKHMrNjIxNjcyMTkyMDApLzg2NDAwLzcpfX19LDkwMjg0MihlLHQscyl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gcihlLDIpfWZ1bmN0aW9uIHIoZSx0PTIpe2NvbnN0IHM9ZS50b1N0cmluZygpO3JldHVybiIwIi5yZXBlYXQoTWF0aC5tYXgoMCx0LXMubGVuZ3RoKSkrc31zLmQodCx7YWRkTGVhZGluZ1plcm86KCk9Pm4sYWRkTGVhZGluZ1plcm9zOigpPT5yfSl9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.49677.098688b37f7855b4c79b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.646Z","timestamp":1785141584646,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.49677.098688b37f7855b4c79b.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632876-32e7\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:18 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 81e087af4bb34d94abd631243098190d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":13031,"size_decoded":5445,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3051)","md5":"0f6776037f5de9e4c3f9207486f0f7b2","sha1":"783fbc6385122ea3c305de021a71b08abbb0fe13","sha256":"dce110ca579172bc1139100317015723ce296c628363106c1f5f2f4567c0ee5b","sha512":"cd35bafd0f45ba936b47aafdca6062140e335ebd2f5af9fe5de62b033302b464c56fadcd87e9ecef463689aaece2f2c72b8da59c89c1700df22b99c4bd4721fe","ssdeep":"192:gYx48+UxlRhelpk8aH7usVSBzl97rUv1sSM5jyHw8BedM3Mj45shOAlJH2Ew+41q:7+UXRheQl5Kzl98tm5jdhj45kJHlzN","tlshash":"4a42e917d100c2f60fb0e662b749edd1b6f8b09893f1e0c673998f689207d65a92d778","first_seen":"2026-07-22T16:00:00.332154Z","last_seen":"2026-07-27T14:50:15.306276Z","times_seen":133,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syNzI5Miw0MjA5Niw0OTUwMSw0OTY3Nyw5NDk0N10sezIyOTAyNShlKXtlLmV4cG9ydHM9WyJDYm9lIE9uZSJdfSwzMDAyNzEoZSl7ZS5leHBvcnRzPVsie2V4Y2hhbmdlfSBieSB7b3JpZ2luYWxFeGNoYW5nZX0iXX0sMTY3OTEyKGUpe2UuZXhwb3J0cz1bIkV4Y2hhbmdlIGRpc2NsYWltZXIiXX0sMjQ0MTAoZSl7ZS5leHBvcnRzPVsiSGFwcHkgaG9saWRheXMsIHRyYWRlcnMiXX0sOTgxODcyKGUpe2UuZXhwb3J0cz1bIkxldCBpdCBzbm93Il19LDQ4OTIwMChlKXtlLmV4cG9ydHM9WyJTdG9wIHRoZSBzbm93Il19LDMwNTA1NShlKXtlLmV4cG9ydHM9WyJTaG93IG9iamVjdCB0cmVlIl19LDEwOTYwMShlKXtlLmV4cG9ydHM9WyJMZWFybiBtb3JlIl19LDEzODE4MChlKXtlLmV4cG9ydHM9WyJTZWUgcmV2aWV3cyJdfSw4OTQyMjEoZSl7ZS5leHBvcnRzPVsiQ29udGludW91cyBmdXR1cmVzIGNvbnRyYWN0cyJdfSwyNzE3ODgoZSl7ZS5leHBvcnRzPVsiQ29udHJhY3QgZXhwaXJlZCJdfSw1MjYxNzQoZSl7ZS5leHBvcnRzPVsiQmxhbmsgY2hlY2sgY29tcGFueSJdfSwzMzM4ODQoZSl7ZS5leHBvcnRzPVsiRGVmYXVsdGVkIGJvbmQiXX0sNTY4NTUxKGUpe2UuZXhwb3J0cz1bIkRlbGlzdGVkIl19LDc1NjgwNihlKXtlLmV4cG9ydHM9WyJEZWxpc3RlZCBhbGVydCJdfSwxNjM4MDYoZSl7ZS5leHBvcnRzPVsiRGVyaXZlZCBEYXRhIl19LDQxNzkxKGUpe2UuZXhwb3J0cz1bIkhhbGFsIHN5bWJvbCJdfSw4MzYxMjMoZSl7ZS5leHBvcnRzPVsiU3ludGhldGljIHN5bWJvbCJdfSwxMTk1KGUpe2UuZXhwb3J0cz1bIlVwY29taW5nIElQTyJdfSwyMzIxNDkoZSl7ZS5leHBvcnRzPVsiUmVhbC10aW1lIGRhdGEgZm9yIHtzeW1ib2xOYW1lfSJdfSw0MDkwMTkoZSl7ZS5leHBvcnRzPVsiaXMgcHJvdmlkZWQgYnkge2V4Y2hhbmdlfSBleGNoYW5nZS4iXX0sOTAwNDI1KGUpe2UuZXhwb3J0cz1bIkdvIHRoZXJlIG5vdyJdfSwyOTQ2MTgoZSl7ZS5leHBvcnRzPVsiT3BlbmVkIGluIFBpbmUgRWRpdG9yIl19LDc3NDI4KGUpe2UuZXhwb3J0cz1bIk9wZW5lZCBpbiBib3R0b20gcGFuZWwiXX0sOTkyNjM2KGUpe2UuZXhwb3J0cz1bIkxlYXJuIG1vcmUiXX0sNDczNDI1KGUpe2UuZXhwb3J0cz1bIkRhdGEgaXMgZGVsYXllZCJdfSw0MzU3NTAoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIHNlbGVjdGVkIHN5bWJvbHM/Il19LDgyNjg3MyhlKXtlLmV4cG9ydHM9WyJVbmZsYWcgYWxsIHN5bWJvbHM/Il19LDQxNzE5MShlKXtlLmV4cG9ydHM9WyJVbmZsYWcgc2VsZWN0ZWQgc3ltYm9scz8iXX0sMzA5MzMoZSl7ZS5leHBvcnRzPVsiQ2FuY2VsIl19LDEwOChlKXtlLmV4cG9ydHM9WyJSZW1vdmUiXX0sODM1OTM3KGUpe2UuZXhwb3J0cz1bIlVuZmxhZyJdfSwzNzE4MTUoZSl7ZS5leHBvcnRzPVsiT3BlbiBTdHJhdGVneSBSZXBvcnQiXX0sNjUxNjM4KGUpe2UuZXhwb3J0cz1bIk5ldyB3YXRjaGxpc3QgbmFtZSJdfSw4MTkxNjMoZSl7ZS5leHBvcnRzPVsiSW4gZnVuY3Rpb24iXX0sODg2MTMzKGUpe2UuZXhwb3J0cz1bIk9uIGJhciJdfSw4OTAwOShlKXtlLmV4cG9ydHM9WyJDb2xsYXBzZSBwYW5lIl19LDI3MjA3NChlKXtlLmV4cG9ydHM9WyJDb25uZWN0IHRvIG91ciByZWNvbW1lbmRlZCBicm9rZXIgdG8gdHJhZGUgdGhpcyBhbmQgb3RoZXIgc3ltYm9scy4iXX0sNDQxNzYwKGUpe2UuZXhwb3J0cz1bIkNvbm5lY3QgdG8gb3VyIHJlY29tbWVuZGVkIGV4Y2hhbmdlIHRvIHRyYWRlIHRoaXMgYW5kIG90aGVyIHN5bWJvbHMuIl19LDI2NjUoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIHN5bWJvbCJdfSw0MjEyMShlKXtlLmV4cG9ydHM9WyJDaGFydCBzeW5jaW5nIl19LDU3MzM0NyhlKXtlLmV4cG9ydHM9WyJDaGFydCBzeW5jaW5nIHdpdGggZHJvcCBpY29uIl19LDYxNTIyMShlKXtlLmV4cG9ydHM9WyJDaGFydCBzeW5jaW5nIHdpdGggaGVhcnQgaWNvbiJdfSw3NjA1KGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHN5bmNpbmcgd2l0aCBsZWFmIGljb24iXX0sOTIzOTA5KGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHN5bmNpbmcgd2l0aCBwb28gaWNvbiJdfSw0NzkwNzgoZSl7ZS5leHBvcnRzPVsiQ2hhcnQgc3luY2luZyB3aXRoIHJob21iIGljb24iXX0sMjg4NTgwKGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHZhbHVlcyJdfSwxODMxMzIoZSl7ZS5leHBvcnRzPVsiQ2hlY2sgd2hhdCdzIG5ldyJdfSwzNDk1MDEoZSl7ZS5leHBvcnRzPVsiQ2xpY2sgaGVyZSB0byBsZWFybiBtb3JlIl19LDI5OTkyNihlKXtlLmV4cG9ydHM9WyJDcmVhdGUgYSBmcmVlIGFjY291bnQiXX0sMTQ2ODQoZSl7ZS5leHBvcnRzPVsiQ3lhbiJdfSw4MzkzOTAoZSl7ZS5leHBvcnRzPVsiQ3lhbiBsaXN0Il19LDUzMzc5OShlKXtlLmV4cG9ydHM9WyJBIG5ldyB2ZXJzaW9uIG9mIHRoaXMgc2NyaXB0IGlzIHJlYWR5IOKAlCBub3cgd2l0aCBuZXcgZmVhdHVyZXMgYW5kIGltcG9ydGFudCBidWcgZml4ZXMuIl19LDc1ODU0OShlKXtlLmV4cG9ydHM9WyJBY3RpdmUgc3RyYXRlZ3kiXX0sMjQ1ODcwKGUpe2UuZXhwb3J0cz1bIkFsZXJ0cyJdfSw4OTk3OShlKXtlLmV4cG9ydHM9WyJCYXIgY2hhbmdlIHZhbHVlcyJdfSw2MzgxKGUpe2UuZXhwb3J0cz1bIkJsdWUiXX0sNTczODA3KGUpe2UuZXhwb3J0cz1bIkJsdWUgbGlzdCJdfSw2ODI2NjkoZSl7ZS5leHBvcnRzPVsiR3JlZW4iXX0sNDU5NDAyKGUpe2UuZXhwb3J0cz1bIkdyZWVuIGxpc3QiXX0sMTQ4ODY1KGUpe2UuZXhwb3J0cz1bIkRvdWJsZSBjbGljayJdfSw5NTg5NTEoZSl7ZS5leHBvcnRzPVsiRG9pbmcgdGhpcyB3aWxsIHVuZmxhZyBhbGwgc3ltYm9scyBmcm9tIGFsbCB5b3VyIHdhdGNobGlzdHMuIl19LDQ5NTM2OShlKXtlLmV4cG9ydHM9WyJEb2luZyB0aGlzIHdpbGwgdW5mbGFnIHNlbGVjdGVkIHN5bWJvbHMgZnJvbSB5b3VyIHdhdGNobGlzdC4iXX0sMjI4MDQxKGUpe2UuZXhwb3J0cz1bIkRhdGEgZXJyb3IiXX0sMTg3MjcyKGUpewplLmV4cG9ydHM9WyJEYXRhIGlzIHVwZGF0ZWQgb25jZSBhIGRheS4iXX0sMjI3MDg4KGUpe2UuZXhwb3J0cz1bIkRhdGEgaXMgdXBkYXRlZCBvbmNlIGEgZGF5LiBUbyBnZXQgcmVhbC10aW1lIGRhdGEgZm9yIHtsaXN0ZWRFeGNoYW5nZX0sIHBsZWFzZSBidXkgdGhlIHJlYWwtdGltZSBkYXRhIHBhY2thZ2UuIl19LDIzMzkxMihlKXtlLmV4cG9ydHM9WyJEYXRhIGlzIHVwZGF0ZWQgb25jZSBwZXIgc2Vjb25kLCBldmVuIGlmIHRoZXJlIGFyZSBtb3JlIHVwZGF0ZXMgb24gdGhlIG1hcmtldC4iXX0sODk1MzAwKGUpe2UuZXhwb3J0cz1bIkRhdGEgb24gb3VyIEJhc2ljIHBsYW4gaXMgdXBkYXRlZCBvbmNlIHBlciBzZWNvbmQsIGV2ZW4gaWYgdGhlcmUgYXJlIG1vcmUgdXBkYXRlcyBvbiB0aGUgbWFya2V0LiJdfSw4MzE5ODgoZSl7ZS5leHBvcnRzPVsiRGVsZXRlIHBhbmUiXX0sNzk3NDYwKGUpe2UuZXhwb3J0cz1bIkVuZCBvZiBkYXkgZGF0YSJdfSw4NDA4MyhlKXtlLmV4cG9ydHM9WyJFeGNoYW5nZSB0aW1lem9uZSJdfSw4NjM4NzcoZSl7ZS5leHBvcnRzPVsiRmlsbCBvdXQgRXhjaGFuZ2UgQWdyZWVtZW50cyJdfSwzMDgzOShlKXtlLmV4cG9ydHM9WyJGbGFnIHtzeW1ib2x9Il19LDcwNjQ4NihlKXtlLmV4cG9ydHM9WyJGbGFnIHN5bWJvbCJdfSw0MDQ1NDQoZSl7ZS5leHBvcnRzPVsiRnJvbSBvdXIgZmFtaWx5IHRvIHlvdXJzLCB3aXNoaW5nIHlvdSBhIG1lcnJ5IGZlc3RpdmUgc2Vhc29uLiJdfSw0NTc3NTAoZSl7ZS5leHBvcnRzPVsiSEtFWCBhbmQvb3IgYW55IHN1YnNpZGlhcmllcyBlbmRlYXZvdXIgdG8gZW5zdXJlIHRoZSBhY2N1cmFjeSBhbmQgcmVsaWFiaWxpdHkgb2YgdGhlIGluZm9ybWF0aW9uIHByb3ZpZGVkIGJ1dCBkbyBub3QgZ3VhcmFudGVlIGl0cyBhY2N1cmFjeSBvciByZWxpYWJpbGl0eSBhbmQgYWNjZXB0IG5vIGxpYWJpbGl0eSAod2hldGhlciBpbiB0b3J0IG9yIGNvbnRyYWN0IG9yIG90aGVyd2lzZSkgZm9yIGFueSBsb3NzIG9yIGRhbWFnZSBhcmlzaW5nIGZyb20gYW55IGluYWNjdXJhY2llcyBvciBvbWlzc2lvbnMuIl19LDczMjc3NihlKXtlLmV4cG9ydHM9WyJJbnZhbGlkIHN5bWJvbCJdfSw5MTkxMjEoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9yIGVycm9yIl19LDIwNDQ4OChlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3IgaW5wdXRzIl19LDQ0MzE5MihlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3IgdGl0bGVzIl19LDk3Mzk3MShlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3IgdmFsdWVzIl19LDI0MzU0MShlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3JzIHVwZGF0ZSJdfSwxNjUwNTIoZSl7ZS5leHBvcnRzPVsiSWYgeW91J2QgbGlrZSB7bGlzdGVkRXhjaGFuZ2V9IHJlYWwtdGltZSBkYXRhIHlvdSdsbCBuZWVkIHRvIGNvbXBsZXRlIGFuIEV4Y2hhbmdlIEFncmVlbWVudC4gRG9uJ3Qgd29ycnksIGl0IG9ubHkgdGFrZXMgYSBmZXcgY2xpY2tzIl19LDg0MTc5OShlKXtlLmV4cG9ydHM9WyJJc3N1ZSBXaXRoIEZsYWdnaW5nIl19LDMzMDc2MChlKXtlLmV4cG9ydHM9WyJPbmUgdXBkYXRlIHBlciBzZWNvbmQiXX0sMzYyOTYoZSl7ZS5leHBvcnRzPVsiT29wcy4gU29tZXRoaW5nIGhhcyBnb25lIHdyb25nIHdpdGggb25lIG9yIG1vcmUgb2YgeW91ciBpbmRpY2F0b3JzLiBDbGljayB0aGUgYXJyb3cgYnV0dG9uIHRvIHRoZSBsZWZ0IHRvIGV4cGFuZCB0aGUgaW5kaWNhdG9yIGxpc3QgYW5kIHNlZSBkZXRhaWxzLiJdfSw4Nzk2NjEoZSl7ZS5leHBvcnRzPVsiT29wcy4gU29tZXRoaW5nIGhhcyBnb25lIHdyb25nIHdpdGggb25lIG9yIG1vcmUgb2YgeW91ciBpbmRpY2F0b3JzLiBSZXNpemUgdGhlIHBhbmVzIHRvIHNlZSB0aGUgZGV0YWlscy4iXX0sMTQyNzU1KGUpe2UuZXhwb3J0cz1bIk9ibGlnYXRpb24gbm90IHBhaWQuIElzc3VlciBwYXltZW50cyBhcmUgb3ZlciBhIG1vbnRoIGxhdGUsIHRoaXMgaXMgZHVlIHRvIGNvdXBvbiBvciBwcmluY2lwYWwgZGVidC4iXX0sNjQxMTA5KGUpe2UuZXhwb3J0cz1bIk9wZW4gaW4gZWRpdG9yIl19LDE2NTM0MChlKXtlLmV4cG9ydHM9WyJPcGVuIG1hcmtldCBzdGF0dXMiXX0sOTU4MjcxKGUpe2UuZXhwb3J0cz1bIk9wZW5lZCBpbiBkZXRhY2hlZCBlZGl0b3IiXX0sOTcxMjgzKGUpe2UuZXhwb3J0cz1bIk9yYW5nZSJdfSw1MDYzMzAoZSl7ZS5leHBvcnRzPVsiT3JhbmdlIGxpc3QiXX0sNjE1NzgzKGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCJdfSw1MjcwMjAoZSl7ZS5leHBvcnRzPVsiTGFzdCBkYXkgY2hhbmdlIHZhbHVlcyJdfSwzMjUxNTUoZSl7ZS5leHBvcnRzPVsiTGVhcm4gbW9yZSJdfSw4MTQwNTgoZSl7ZS5leHBvcnRzPVsiTW92ZSBwYW5lIGRvd24iXX0sMzA1ODgyKGUpe2UuZXhwb3J0cz1bIk1vdmUgcGFuZSB1cCJdfSwzOTQ5NDcoZSl7ZS5leHBvcnRzPVsiTW9yZSJdfSw1NTEzMzIoZSl7ZS5leHBvcnRzPVsiTWF4aW1pemUgY2hhcnQiXX0sNTUwNTU5KGUpe2UuZXhwb3J0cz1bIk1heGltaXplIHBhbmUiXX0sMTU5NDQzKGUpe2UuZXhwb3J0cz1bIk1hbmFnZSBwYW5lcyJdfSw5Njk0NDkoZSl7ZS5leHBvcnRzPVsiTWFya2V0IG9wZW4iXX0sODI5ODMoZSl7ZS5leHBvcnRzPVsiTWFya2V0IGNsb3NlZCJdfSwxOTQzMDQoZSl7ZS5leHBvcnRzPVsiU2NyaXB0IHdpbGwgYmUgdXBkYXRlZCBmb3IgYWxsIGNoYXJ0cyBvZiB0aGlzIGxheW91dCJdfSwyNDE3MjIoZSl7ZS5leHBvcnRzPVsiU2Nyb2xsIHRvIHRoZSBsZWZ0Il19LDY2MDgxMChlKXtlLmV4cG9ydHM9WyJTY3JvbGwgdG8gdGhlIG1vc3QgcmVjZW50IGJhciJdfSw3MDgyMzMoZSl7ZS5leHBvcnRzPVsiU2Nyb2xsIHRvIHRoZSByaWdodCJdfSw1MDY5MTUoZSl7ZS5leHBvcnRzPVsiU2V0IHtjb2xvcn0gZmxhZyJdfSw5MzMxODQoZSl7ZS5leHBvcnRzPVsiU2VlIG1vcmUiXX0sNDM1MChlKXtlLmV4cG9ydHM9WyJTZWxlY3QgeW91ciBzdGFydCBwb2ludCJdfSw4ODI4MzkoZSl7ZS5leHBvcnRzPVsiU2VsZWN0IHlvdXIgc3RhcnQgcG9pbnQuIl19LDg5NzMwOShlKXtlLmV4cG9ydHM9WyJTaG93Il19LDI4ODI0NChlKXsKZS5leHBvcnRzPVsiU2hvdyBpbnRlcnZhbCBzZXR0aW5ncyJdfSwzMzM0MDcoZSl7ZS5leHBvcnRzPVsiU3R1ZHkgRXJyb3IiXX0sNDY5ODQxKGUpe2UuZXhwb3J0cz1bIlN0YWNrIHRyYWNlIGNvcGllZCB0byBjbGlwYm9hcmQiXX0sOTYxNjE0KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBncm91cCJdfSwyODg3MjUoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIHByaWNlIHNvdXJjZSJdfSw2ODc2MShlKXtlLmV4cG9ydHM9WyJTeW1ib2wgdGl0bGUiXX0sNTQ2MzY5KGUpe2UuZXhwb3J0cz1bIlN5bWJvbC9pbnRlcnZhbCBjaGFydCBzeW5jaW5nIl19LDk3Nzc3NihlKXtlLmV4cG9ydHM9WyJTeW50aGV0aWMgaW5zdHJ1bWVudHMgY29tYmluaW5nIGluZGl2aWR1YWwgY29udHJhY3RzLiBUaGUgMSEgY29udHJhY3QgcmVwcmVzZW50cyB0aGUgZnJvbnQtbW9udGggKG5lYXJlc3QgZXhwaXJhdGlvbikgd2hpbGUgdGhlIDIhIHJlcHJlc2VudHMgdGhlIHNlY29uZCBuZWFyZXN0IGV4cGlyYXRpb24uIl19LDE0ODkwKGUpe2UuZXhwb3J0cz1bIlBvc3QtbWFya2V0Il19LDExNDQ0KGUpe2UuZXhwb3J0cz1bIlBhaWQgcGxhbnMgZmVhdHVyZSBmYXN0ZXIgZGF0YSB1cGRhdGVzLiJdfSw0ODcyMDAoZSl7ZS5leHBvcnRzPVsiUGluZSBjb2RlIGhhcyBnaG9zdGVkIl19LDY3Njc2OChlKXtlLmV4cG9ydHM9WyJQaW5rIl19LDk0MTk4NihlKXtlLmV4cG9ydHM9WyJQaW5rIGxpc3QiXX0sNDI4ODA5KGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQiXX0sNjcwOTIzKGUpe2UuZXhwb3J0cz1bIlB1cnBsZSJdfSw5MDc4NzQoZSl7ZS5leHBvcnRzPVsiUHVycGxlIGxpc3QiXX0sOTE1MTAwKGUpe2UuZXhwb3J0cz1bIlJlYWwtdGltZSBkYXRhIGZvciB0aGlzIHN5bWJvbCBpcyBub3Qgc3VwcG9ydGVkIHJpZ2h0IG5vdy4gV2UgbWF5IHN1cHBvcnQgaXQgaW4gdGhlIGZ1dHVyZS4iXX0sOTYxOTI2KGUpe2UuZXhwb3J0cz1bIlJlYWwtdGltZSBkYXRhIGZvciB7c3ltYm9sTmFtZX0gaXMgcHJvdmlkZWQgYnkge2V4Y2hhbmdlfSBleGNoYW5nZS4iXX0sNjU1MDQyKGUpe2UuZXhwb3J0cz1bIlJlZCJdfSwxNjU1MDEoZSl7ZS5leHBvcnRzPVsiUmVkIGxpc3QiXX0sNTA4NzQ5KGUpe2UuZXhwb3J0cz1bIlJlcG9ydCBpdCJdfSwyODE0NTMoZSl7ZS5leHBvcnRzPVsiUmVwbGF5IG1vZGUiXX0sNjcxODA5KGUpe2UuZXhwb3J0cz1bIlJlc3RvcmUgY2hhcnQiXX0sMjYwNTQ5KGUpe2UuZXhwb3J0cz1bIlJlc3RvcmUgcGFuZSJdfSw1NjY5NDgoZSl7ZS5leHBvcnRzPVsiV2F0Y2hsaXN0IGNhbm5vdCB0YWtlIGFueW1vcmUsIENhcCduIl19LDM4MjAyNShlKXtlLmV4cG9ydHM9WyJXYXRjaGxpc3QgZXJyb3IiXX0sNjQ1MjYzKGUpe2UuZXhwb3J0cz1bIldlIHRyaWVkIHRvIGdyYWIgdGhlIHNvdXJjZSBjb2RlLCBidXQgaXQgd2Fzbid0IHRoZXJlLiBNYXliZSBpdCdzIGJlZW4gbW92ZWQsIGRlbGV0ZWQsIG9yIGlzIGp1c3QgaGlkaW5nLiBHaXZlIGl0IGFub3RoZXIgZ28gbGF0ZXIhIl19LDMyODgyOChlKXtlLmV4cG9ydHM9WyJXaG9hIHRoZXJlLCB5b3UgY2FuJ3QgZ28gYWRkaW5nIG92ZXIge251bWJlcn0gc3ltYm9scyBhbmQgc2VwYXJhdG9ycyB0byBhIHdhdGNobGlzdCDigJMgd2UncmUgZW5naW5lZXJzIG5vdCBtaXJhY2xlIHdvcmtlcnMuIl19LDY4Nzk1NChlKXtlLmV4cG9ydHM9WyJUbyBhY2Nlc3Mgb3Zlcm5pZ2h0IHRyYWRpbmcgcXVvdGVzIGZyb20gVVMgbWFya2V0cywgc3Vic2NyaWJlIHRvIEJsdWUgT2NlYW4gKG92ZXJuaWdodCBxdW90ZXMpLiJdfSwyMjA3MzgoZSl7ZS5leHBvcnRzPVsiVG8gZ2V0IHJlYWwtdGltZSBkYXRhIGZvciB7ZGVzY3JpcHRpb259LCBwbGVhc2UgYnV5IHRoZSByZWFsLXRpbWUgZGF0YSBwYWNrYWdlLiJdfSw1NDU4NChlKXtlLmV4cG9ydHM9WyJUaGUgc291cmNlIGNvZGUgaXMgY3VycmVudGx5IG9wZW4gaW4gUGluZSBFZGl0b3IuIl19LDgyOTQ0OChlKXtlLmV4cG9ydHM9WyJUaGUgc291cmNlIGNvZGUgaXMgY3VycmVudGx5IG9wZW4gaW4gZGV0YWNoZWQgUGluZSBFZGl0b3IuIl19LDgzNzI1KGUpe2UuZXhwb3J0cz1bIlRoZSBzb3VyY2UgY29kZSBpcyBjdXJyZW50bHkgb3BlbiBpbiB0aGUgYm90dG9tIHBhbmVsLiJdfSwxMzI1NjEoZSl7ZS5leHBvcnRzPVsiVGhpcyBhc3NldCB3aWxsIGJlIGxpc3RlZCBzb29uLiBMaXZlIGRhdGEgd2lsbCBiZSBhdmFpbGFibGUgb25jZSB0cmFkaW5nIGJlZ2lucy4gVW50aWwgdGhlbiwgeW91IGNhbiBleHBsb3JlIGZ1bmRhbWVudGFsIGRhdGEuIl19LDQ2MzgyNShlKXtlLmV4cG9ydHM9WyJUaGlzIGRhdGEgaXMgcmVhbC10aW1lLCBidXQgaXQgbWF5IGJlIHNsaWdodGx5IGRpZmZlcmVudCB0byBpdHMgb2ZmaWNpYWwgY291bnRlcnBhcnQgY29taW5nIGZyb20gcHJpbWFyeSBleGNoYW5nZXMuIl19LDI4MjEzMShlKXtlLmV4cG9ydHM9WyJUaGlzIGRhdGEgaXMgcmVhbC10aW1lLCBidXQgaXQgbWF5IGJlIHNsaWdodGx5IGRpZmZlcmVudCB0byBpdHMgb2ZmaWNpYWwgY291bnRlcnBhcnQgY29taW5nIGZyb20ge2V4Y2hhbmdlfS4iXX0sNjMyMTI1KGUpe2UuZXhwb3J0cz1bIlRoaXMgaXMgYSBkZXZlbG9wbWVudGFsLXN0YWdlIGNvbXBhbnkgd2l0aCBubyBzZXQgYnVzaW5lc3MgcGxhbiwgb2Z0ZW4gZm9ybWVkIHRvIHJhaXNlIGZ1bmRzIGZvciBhIGZ1dHVyZSBtZXJnZXIgb3IgYWNxdWlzaXRpb24uIl19LDU3MzY4MihlKXtlLmV4cG9ydHM9WydUaGlzIGlzIGEgc2hhcmlhaC1jb21wbGlhbnQgYm9uZCwgb2Z0ZW4gcmVmZXJyZWQgdG8gYXMgYSAic3VrdWssIiBtZWFuaW5nIHRoYXQgaXQgY29tcGxpZXMgd2l0aCBJc2xhbWljIGxhdyB0aGF0IHByb2hpYml0cyBpbnRlcmVzdC4gVW5saWtlIGNvbnZlbnRpb25hbCBib25kcywgd2hpY2ggaW52b2x2ZSBwYXlpbmcgaW50ZXJlc3QsIHN1a3VrIHJlcHJlc2VudCBvd25lcnNoaXAgaW4gYW4gdW5kZXJseWluZyBhc3NldCBvciBwcm9qZWN0IGFuZCBpbnZlc3RvcnMgZWFybiByZXR1cm5zIGJhc2VkIG9uIHByb2ZpdC1zaGFyaW5nIG9yIHJlbnRhbCBpbmNvbWUuJ119LDIzODAwNChlKXsKZS5leHBvcnRzPVsiVGhpcyBpcyBhIHNoYXJpYWgtY29tcGxpYW50IHN0b2NrLCBtZWFuaW5nIHRoYXQgaXQgZm9sbG93cyBJc2xhbWljIGxhdy4gVGhpcyBjb21wYW55IGRvZXMgbm90IGNoYXJnZSBvciByZWNlaXZlIGludGVyZXN0LCBhbmQgZG9lcyBub3QgZW5nYWdlIHdpdGggY2VydGFpbiBzZWN0b3JzIChnYW1ibGluZywgYWxjb2hvbCwgdG9iYWNjbywgcG9yayBwcm9kdWN0cykuIl19LDg5NDU1NihlKXtlLmV4cG9ydHM9WyJUaGlzIGlzIG5vIGxvbmdlciBwdWJsaWNseSB0cmFkaW5nIHNvIG5vIG5ldyBkYXRhIHdpbGwgYmUgYWRkZWQuIEJ1dCB5b3UgY2FuIGV4cGxvcmUgdGhlIGhpc3RvcmljYWxzIGhlcmUuIl19LDcxOTcxMShlKXtlLmV4cG9ydHM9WyJUaGlzIHJlYWwtdGltZSBkYXRhIGlzIHByb3ZpZGVkIGJ5IHtvcmlnaW5hbEV4Y2hhbmdlfSBleGNoYW5nZS4gSXQgbWF5IGJlIHNsaWdodGx5IGRpZmZlcmVudCBmcm9tIHRoZSBvZmZpY2lhbCBkYXRhIGRpcmVjdGx5IGZyb20ge2V4Y2hhbmdlfS4gSWYgdGhpcyBkaWZmZXJlbmNlIGlzIGNydWNpYWwgZm9yIHlvdSwgeW91J2xsIG5lZWQgdG8gcHVyY2hhc2UgcmVhbC10aW1lIGRhdGEgZnJvbSB0aGUgcHJpbWFyeSBleGNoYW5nZSwgd2hpY2ggd2UgY2FuIGhlbHAgd2l0aC4iXX0sOTUyNTAwKGUpe2UuZXhwb3J0cz1bIlRoaXMgcmVmZXJzIHRvIGZpbmFuY2lhbCBpbmRpY2F0b3JzIHdoaWNoIGFyZSBjcmVhdGVkIGJ5IGNvbWJpbmluZyBhbmQvb3IgcHJvY2Vzc2luZyByYXcgZGF0YSBzdXBwbGllZCBmcm9tIHZhcmlvdXMgc291cmNlcy4iXX0sMzQ5MzMwKGUpe2UuZXhwb3J0cz1bIlRoaXMgc3RyYXRlZ3kncyB0cmFkZXMgYXJlIGRpc3BsYXllZCBvbiB0aGUgY2hhcnQuIl19LDY5MjYxNShlKXtlLmV4cG9ydHM9WyJUaGlzIHN5bWJvbCBkb2Vzbid0IGV4aXN0LCBwbGVhc2UgcGljayBhbm90aGVyIG9uZS4iXX0sNjI4NTUzKGUpe2UuZXhwb3J0cz1bIlRoaXMgc3ltYm9sIGlzIGNhbGN1bGF0ZWQgYnkgVHJhZGluZ1ZpZXcgdXNpbmcgdGhlIHJhdGUgZnJvbSBvdGhlciBleGNoYW5nZXMuIl19LDU1OTU4MyhlKXtlLmV4cG9ydHM9WyJUcmFkZSB7c3ltYm9sTmFtZX0gd2l0aCB7YnJva2VyTmFtZX0iXX0sNTk3OTQoZSl7ZS5leHBvcnRzPVsiVVMgbWFya2V0cyBvdmVybmlnaHQgcXVvdGVzIl19LDg2MDcyMihlKXtlLmV4cG9ydHM9WyJVbmFibGUgdG8gZmxhZyBhbGwgc2VsZWN0ZWQgc3ltYm9scyBzaW5jZSBpdCBleGNlZWRzIHRoZSBtYXhpbXVtIGFtb3VudCAoe2xpbWl0fSkuIl19LDMzMjc1MyhlKXtlLmV4cG9ydHM9WyJVbmZsYWcgQWxsIFN5bWJvbHMgaW4gdGhlIFN5c3RlbSJdfSwzNzUxNjUoZSl7ZS5leHBvcnRzPVsiVW5mbGFnIHN5bWJvbCJdfSw2OTIxKGUpe2UuZXhwb3J0cz1bIlVuZmxhZyB7c3ltYm9sfSJdfSwzNDYzKGUpe2UuZXhwb3J0cz1bIlVwZGF0ZSBvbiBhbGwgY2hhcnRzIl19LDEwNzg3MChlKXtlLmV4cG9ydHM9WyJVcGRhdGUgYXZhaWxhYmxlIl19LDU4MTM4OChlKXtlLmV4cG9ydHM9WyJVcGRhdGUgdG8gbGF0ZXN0IHZlcnNpb24iXX0sMjQ3MDYyKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSJdfSw3OTUzMzAoZSl7ZS5leHBvcnRzPVsiWW91IG5lZWQgdG8gdXBkYXRlIG9uZSBvciBtb3JlIG9mIHlvdXIgaW5kaWNhdG9ycy4gQ2xpY2sgdGhlIGFycm93IGJ1dHRvbiB0byB0aGUgbGVmdCB0byBleHBhbmQgdGhlIGluZGljYXRvciBsaXN0IGFuZCBzZWUgZGV0YWlscy4iXX0sMzYxMDUoZSl7ZS5leHBvcnRzPVsiWW91IG5lZWQgdG8gdXBkYXRlIG9uZSBvciBtb3JlIG9mIHlvdXIgaW5kaWNhdG9ycy4gUmVzaXplIHRoZSBwYW5lcyBvciB0aGUgd2luZG93IHRvIHNlZSB0aGUgZGV0YWlscy4iXX0sNzYzNDUxKGUpe2UuZXhwb3J0cz1bIllvdSdyZSBpbiBSZXBsYXkgbW9kZS4gWW91J3JlIGluIFJlcGxheSBtb2RlLiBZb3UncmUgaW4gUmVwbGF5IG1vZGUuIl19LDQ4Nzg3NChlKXtlLmV4cG9ydHM9WyJab29tIGluIl19LDMxNDUzNChlKXtlLmV4cG9ydHM9WyJab29tIG91dCJdfSwxNzYyNDkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIG9wZW4gbWFya2V0IHN0YXR1cyB2aXNpYmlsaXR5Il19LDM2Nzg2MChlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgYmFyIGNoYW5nZSB2aXNpYmlsaXR5Il19LDU2ODczMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgY2hhcnQgdmFsdWVzIHZpc2liaWxpdHkiXX0sMzIwNDI2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBpbmRpY2F0b3IgdGl0bGVzIHZpc2liaWxpdHkiXX0sMjE1MDI3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBpbmRpY2F0b3IgdmFsdWVzIHZpc2liaWxpdHkiXX0sMzM1MzMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGluZGljYXRvciBpbnB1dHMgdmlzaWJpbGl0eSJdfSwzMzU2ODIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGxhc3QgZGF5IGNoYW5nZSB2aXNpYmlsaXR5Il19LDU1NTY2NihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIGRlc2NyaXB0aW9uIHZpc2liaWxpdHkiXX0sNjY4MTkyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBzeW1ib2wgZmllbGQgdmlzaWJpbGl0eSJdfSw1MjE2NChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugdm9sdW1lIHZhbHVlcyB2aXNpYmlsaXR5Il19LDcyNTA5KGUpe2UuZXhwb3J0cz1bInNob3cge3RpdGxlfSJdfSw3MTg3NTcoZSl7ZS5leHBvcnRzPVsidXBkYXRlIGluZGljYXRvciB0byBsYXRlc3QgdmVyc2lvbiJdfSw0MTAxNDgoZSl7ZS5leHBvcnRzPVsidXBkYXRlIHt0aXRsZX0gc2NyaXB0Il19LDkxNDU1KGUpe2UuZXhwb3J0cz1bIntsaXN0ZWRFeGNoYW5nZX0gcmVhbC10aW1lIGRhdGEgaXMgYXZhaWxhYmxlIGZvciBmcmVlIHRvIHJlZ2lzdGVyZWQgdXNlcnMuIl19LDE2OTgzKGUpe2UuZXhwb3J0cz1bIkRvaW5nIHRoaXMgd2lsbCByZW1vdmUge2NvdW50fSBzZWxlY3RlZCBzeW1ib2wgZnJvbSB5b3VyIHdhdGNobGlzdC4iLCJEb2luZyB0aGlzIHdpbGwgcmVtb3ZlIHtjb3VudH0gc2VsZWN0ZWQgc3ltYm9scyBmcm9tIHlvdXIgd2F0Y2hsaXN0LiJdfSw3NzEzNTYoZSl7CmUuZXhwb3J0cz1bIkRhdGEgaXMgdXBkYXRlZCBvbmNlIGV2ZXJ5IHthbW91bnR9IHNlY29uZCwgZXZlbiBpZiB0aGVyZSBhcmUgbW9yZSB1cGRhdGVzIG9uIHRoZSBtYXJrZXQuIiwiRGF0YSBpcyB1cGRhdGVkIG9uY2UgZXZlcnkge2Ftb3VudH0gc2Vjb25kcywgZXZlbiBpZiB0aGVyZSBhcmUgbW9yZSB1cGRhdGVzIG9uIHRoZSBtYXJrZXQuIl19LDc1NTE5MihlKXtlLmV4cG9ydHM9WyJEYXRhIG9uIG91ciBCYXNpYyBwbGFuIGlzIHVwZGF0ZWQgb25jZSBldmVyeSB7YW1vdW50fSBzZWNvbmQsIGV2ZW4gaWYgdGhlcmUgYXJlIG1vcmUgdXBkYXRlcyBvbiB0aGUgbWFya2V0LiIsIkRhdGEgb24gb3VyIEJhc2ljIHBsYW4gaXMgdXBkYXRlZCBvbmNlIGV2ZXJ5IHthbW91bnR9IHNlY29uZHMsIGV2ZW4gaWYgdGhlcmUgYXJlIG1vcmUgdXBkYXRlcyBvbiB0aGUgbWFya2V0LiJdfSwzMzI4MjgoZSl7ZS5leHBvcnRzPVsiSGlkZSBpbmRpY2F0b3IgbGVnZW5kIiwiSGlkZSBpbmRpY2F0b3JzIGxlZ2VuZCJdfSwyNTY4MTcoZSl7ZS5leHBvcnRzPVsiT25lIHVwZGF0ZSBldmVyeSB7YW1vdW50fSBzZWNvbmQiLCJPbmUgdXBkYXRlIGV2ZXJ5IHthbW91bnR9IHNlY29uZHMiXX0sNjkyNzEyKGUpe2UuZXhwb3J0cz1bIlNob3cgaW5kaWNhdG9yIGxlZ2VuZCIsIlNob3cgaW5kaWNhdG9ycyBsZWdlbmQiXX0sODU3MDY3KGUpe2UuZXhwb3J0cz1bIntzeW1ib2xOYW1lfSBkYXRhIGlzIGRlbGF5ZWQgYnkge3RpbWV9IG1pbnV0ZSBiZWNhdXNlIG9mIGV4Y2hhbmdlIHJlcXVpcmVtZW50cy4iLCJ7c3ltYm9sTmFtZX0gZGF0YSBpcyBkZWxheWVkIGJ5IHt0aW1lfSBtaW51dGVzIGJlY2F1c2Ugb2YgZXhjaGFuZ2UgcmVxdWlyZW1lbnRzLiJdfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/14889.6210b1c56dc3b20c8ffb.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.755Z","timestamp":1785141584755,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/14889.6210b1c56dc3b20c8ffb.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-5855\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 928eb2c48dab578f10885675ef696172\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":22613,"size_decoded":9336,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"18f15990d846223cca396c3c761972f1","sha1":"8dede85b8e37373abbd001b14678c4421d37fe66","sha256":"6ebf58b388094ec25d3a4ce00e5bba7428699a6d2ed1cbc9d3d0173cde200293","sha512":"ed8e626b0b1517a097135fc060afb74f6b2ac796367fe82d704bc3ac76c4bc0077eaae8e0310851b25c711abf13380f522a22440b5e027de37de8fbcd5f41878","ssdeep":"384:hH0ZXXyspmgswwUCsoMJRWF3WW/N9MNuV62dv4xCFwUCBxDgQm7ibLeDglZnquTq:RkdmgswwrsJDWF3/N+NuVD14ECBxDgQg","tlshash":"75a2e9997199a12456eb50ee503f0406f33a7905b014ad36f2acccde3aec94cb139bb9","first_seen":"2026-07-23T14:00:31.727085Z","last_seen":"2026-07-27T14:50:15.430573Z","times_seen":115,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNDg4OV0sezQ3MzE1OShlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLW1MRWhDclZ3IixpY29uT25seToiaWNvbk9ubHktbUxFaENyVnciLHdpdGhTdGFydFNsb3Q6IndpdGhTdGFydFNsb3QtbUxFaENyVnciLHdpdGhFbmRTbG90OiJ3aXRoRW5kU2xvdC1tTEVoQ3JWdyIsc3RhcnRTbG90V3JhcDoic3RhcnRTbG90V3JhcC1tTEVoQ3JWdyIsZW5kU2xvdFdyYXA6ImVuZFNsb3RXcmFwLW1MRWhDclZ3Iix4c21hbGw6InhzbWFsbC1tTEVoQ3JWdyIsc21hbGw6InNtYWxsLW1MRWhDclZ3IixtZWRpdW06Im1lZGl1bS1tTEVoQ3JWdyIsbGFyZ2U6ImxhcmdlLW1MRWhDclZ3Iix4bGFyZ2U6InhsYXJnZS1tTEVoQ3JWdyIsY29udGVudDoiY29udGVudC1tTEVoQ3JWdyIsbGluazoibGluay1tTEVoQ3JWdyIsYmx1ZToiYmx1ZS1tTEVoQ3JWdyIscHJpbWFyeToicHJpbWFyeS1tTEVoQ3JWdyIsc2Vjb25kYXJ5OiJzZWNvbmRhcnktbUxFaENyVnciLGdyYXk6ImdyYXktbUxFaENyVnciLGdyZWVuOiJncmVlbi1tTEVoQ3JWdyIscmVkOiJyZWQtbUxFaENyVnciLGJsYWNrOiJibGFjay1tTEVoQ3JWdyIsc2xvdDoic2xvdC1tTEVoQ3JWdyIsc3RyZXRjaDoic3RyZXRjaC1tTEVoQ3JWdyIsZ3JvdXBlZDoiZ3JvdXBlZC1tTEVoQ3JWdyIsYWRqdXN0UG9zaXRpb246ImFkanVzdFBvc2l0aW9uLW1MRWhDclZ3IixmaXJzdFJvdzoiZmlyc3RSb3ctbUxFaENyVnciLGZpcnN0Q29sOiJmaXJzdENvbC1tTEVoQ3JWdyIsIm5vLWNvcm5lci10b3AtbGVmdCI6Im5vLWNvcm5lci10b3AtbGVmdC1tTEVoQ3JWdyIsIm5vLWNvcm5lci10b3AtcmlnaHQiOiJuby1jb3JuZXItdG9wLXJpZ2h0LW1MRWhDclZ3Iiwibm8tY29ybmVyLWJvdHRvbS1yaWdodCI6Im5vLWNvcm5lci1ib3R0b20tcmlnaHQtbUxFaENyVnciLCJuby1jb3JuZXItYm90dG9tLWxlZnQiOiJuby1jb3JuZXItYm90dG9tLWxlZnQtbUxFaENyVnciLHRleHRXcmFwOiJ0ZXh0V3JhcC1tTEVoQ3JWdyIsbXVsdGlsaW5lQ29udGVudDoibXVsdGlsaW5lQ29udGVudC1tTEVoQ3JWdyIscHJpbWFyeVRleHQ6InByaW1hcnlUZXh0LW1MRWhDclZ3IixzZWNvbmRhcnlUZXh0OiJzZWNvbmRhcnlUZXh0LW1MRWhDclZ3In19LDMzMTg4MyhlKXtlLmV4cG9ydHM9e2FjdGlvbkJ1dHRvbjoiYWN0aW9uQnV0dG9uLWs1M3ZleFBhIixzbWFsbDoic21hbGwtazUzdmV4UGEiLGhpZGRlblRpdGxlOiJoaWRkZW5UaXRsZS1rNTN2ZXhQYSJ9fSw4ODgxNTkoZSl7ZS5leHBvcnRzPXtwb3B1cERpYWxvZzoicG9wdXBEaWFsb2ctQjAyVVVVTjMiLHdyYXA6IndyYXAtQjAyVVVVTjMiLG1haW46Im1haW4tQjAyVVVVTjMiLHNtYWxsOiJzbWFsbC1CMDJVVVVOMyIsdGl0bGU6InRpdGxlLUIwMlVVVU4zIixjb250ZW50OiJjb250ZW50LUIwMlVVVU4zIixodG1sOiJodG1sLUIwMlVVVU4zIixmb290ZXI6ImZvb3Rlci1CMDJVVVVOMyIsY2xvc2U6ImNsb3NlLUIwMlVVVU4zIixtYXJnaW5XaXRob3V0Q2xvc2VCdXR0b246Im1hcmdpbldpdGhvdXRDbG9zZUJ1dHRvbi1CMDJVVVVOMyJ9fSw2NzQ3NDkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7QnV0dG9uOigpPT5ofSk7dmFyIG8scixuLGk9cyg3Nzk0NzQpLGw9cygyOTU3NDQpO2Z1bmN0aW9uIGEoZT0iZGVmYXVsdCIpe3N3aXRjaChlKXtjYXNlImRlZmF1bHQiOnJldHVybiJwcmltYXJ5IjtjYXNlInN0cm9rZSI6cmV0dXJuInNlY29uZGFyeSJ9fWZ1bmN0aW9uIGMoZT0icHJpbWFyeSIpe3N3aXRjaChlKXtjYXNlInByaW1hcnkiOnJldHVybiJicmFuZCI7Y2FzZSJzdWNjZXNzIjpyZXR1cm4iZ3JlZW4iO2Nhc2UiZGVmYXVsdCI6cmV0dXJuImdyYXkiO2Nhc2UiZGFuZ2VyIjpyZXR1cm4icmVkIn19ZnVuY3Rpb24gdShlPSJtIil7c3dpdGNoKGUpe2Nhc2UicyI6cmV0dXJuInhzbWFsbCI7Y2FzZSJtIjpyZXR1cm4ic21hbGwiO2Nhc2UibCI6cmV0dXJuImxhcmdlIn19ZnVuY3Rpb24gbShlKXtjb25zdHtpbnRlbnQ6dCxzaXplOnMsYXBwZWFyYW5jZTpvLHVzZUZ1bGxXaWR0aDpyLGljb246biwuLi5pfT1lO3JldHVybnsuLi5pLGNvbG9yOmModCksc2l6ZTp1KHMpLHZhcmlhbnQ6YShvKSxzdHJldGNoOnJ9fWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChsLlNxdWFyZUJ1dHRvbix7Li4ubShlKX0pfSFmdW5jdGlvbihlKXtlLlByaW1hcnk9InByaW1hcnkiLGUuU3VjY2Vzcz0ic3VjY2VzcyIsZS5EZWZhdWx0PSJkZWZhdWx0IixlLkRhbmdlcj0iZGFuZ2VyIn0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtlLlNtYWxsPSJzIixlLk1lZGl1bT0ibSIsZS5MYXJnZT0ibCJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZS5EZWZhdWx0PSJkZWZhdWx0IixlLlN0cm9rZT0ic3Ryb2tlIn0obnx8KG49e30pKX0sMjQzMjA3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1NxdWFyZUJ1dHRvbkNvbnRlbnQ6KCk9Pm0sZ2V0U3F1YXJlQnV0dG9uQ2xhc3NlczooKT0+dX0pO3ZhciBvPXMoNzc5NDc0KSxyPXMoOTE0NDg3KSxuPXMubihyKSxpPXMoNjA1MTQxKSxsPXMoNDczMTU5KSxhPXMubihsKTtjb25zdCBjPSJhcHBseS1vdmVyZmxvdy10b29sdGlwIGFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWNoZWNrLWNoaWxkcmVuLXJlY3Vyc2l2ZWx5IGFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWFsbG93LXRleHQgYXBwbHktY29tbW9uLXRvb2x0aXAiO2Z1bmN0aW9uIHUoZSl7Y29uc3R7c2l6ZTp0PSJtZWRpdW0iLHZhcmlhbnQ6cz0icHJpbWFyeSIsY29sb3I6bz0iYnJhbmQiLHN0cmV0Y2g6cj0hMSxzdGFydFNsb3Q6bCxlbmRTbG90OnUsaWNvbk9ubHk6bT0hMSxjbGFzc05hbWU6aCxpc0dyb3VwZWQ6ZCxjZWxsU3RhdGU6cCxkaXNhYmxlUG9zaXRpb25BZGp1c3RtZW50Onk9ITEscHJpbWFyeVRleHQ6ZixzZWNvbmRhcnlUZXh0Ol8saXNBbmNob3I6Uz0hMX09ZSxnPSJicmFuZCI9PT1vPyJibGFjayI6byxiPWZ1bmN0aW9uKGUpe2xldCB0PSIiCjtyZXR1cm4gMCE9PWUmJigxJmUmJih0PW4oKSh0LGEoKVsibm8tY29ybmVyLXRvcC1sZWZ0Il0pKSwyJmUmJih0PW4oKSh0LGEoKVsibm8tY29ybmVyLXRvcC1yaWdodCJdKSksNCZlJiYodD1uKCkodCxhKClbIm5vLWNvcm5lci1ib3R0b20tcmlnaHQiXSkpLDgmZSYmKHQ9bigpKHQsYSgpWyJuby1jb3JuZXItYm90dG9tLWxlZnQiXSkpKSx0fSgoMCxpLmdldEdyb3VwQ2VsbFJlbW92ZVJvdW5kQm9yZGVycykocCkpLEM9bSYmKGx8fHUpO3JldHVybiBuKCkoaCxhKCkuYnV0dG9uLGEoKVt0XSxhKClbZ10sYSgpW3NdLHImJmEoKS5zdHJldGNoLGwmJmEoKS53aXRoU3RhcnRJY29uLHUmJmEoKS53aXRoRW5kSWNvbixDJiZhKCkuaWNvbk9ubHksYixkJiZhKCkuZ3JvdXBlZCxkJiYheSYmYSgpLmFkanVzdFBvc2l0aW9uLGQmJnAuaXNUb3AmJmEoKS5maXJzdFJvdyxkJiZwLmlzTGVmdCYmYSgpLmZpcnN0Q29sLGYmJl8mJmEoKS5tdWx0aWxpbmVDb250ZW50LFMmJmEoKS5saW5rLGMpfWZ1bmN0aW9uIG0oZSl7Y29uc3R7c3RhcnRTbG90OnQsaWNvbk9ubHk6cyxjaGlsZHJlbjpyLGVuZFNsb3Q6aSxwcmltYXJ5VGV4dDpsLHNlY29uZGFyeVRleHQ6dX09ZTtpZih0JiZpJiZzKXJldHVybiBvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6bigpKGEoKS5zbG90LGEoKS5zdGFydFNsb3RXcmFwKX0sdCk7Y29uc3QgbT1zJiYodD8/aSksaD0hdCYmIWkmJiFzJiYhciYmbCYmdTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCx0JiZvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6bigpKGEoKS5zbG90LGEoKS5zdGFydFNsb3RXcmFwKX0sdCksciYmIW0mJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTphKCkuY29udGVudH0sciksaSYmby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm4oKShhKCkuc2xvdCxhKCkuZW5kU2xvdFdyYXApfSxpKSxoJiYhbSYmZnVuY3Rpb24oZSl7cmV0dXJuIGUucHJpbWFyeVRleHQmJmUuc2Vjb25kYXJ5VGV4dCYmby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bigpKGEoKS50ZXh0V3JhcCxjKX0sby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEoKS5wcmltYXJ5VGV4dH0sIiAiLGUucHJpbWFyeVRleHQsIiAiKSwic3RyaW5nIj09dHlwZW9mIGUuc2Vjb25kYXJ5VGV4dD9vLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YSgpLnNlY29uZGFyeVRleHR9LCIgIixlLnNlY29uZGFyeVRleHQsIiAiKTpvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YSgpLnNlY29uZGFyeVRleHR9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIsbnVsbCxlLnNlY29uZGFyeVRleHQuZmlyc3RMaW5lKSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLG51bGwsZS5zZWNvbmRhcnlUZXh0LnNlY29uZExpbmUpKSl9KGUpKX19LDI5NTc0NChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTcXVhcmVCdXR0b246KCk9PnV9KTt2YXIgbz1zKDc3OTQ3NCkscj1zKDc3MDE0Myksbj1zKDUzMjAxMSksaT1zKDM0NTExNik7ZnVuY3Rpb24gbChlLHQpe3JldHVybiBzPT57aWYodClyZXR1cm4gcy5wcmV2ZW50RGVmYXVsdCgpLHZvaWQgcy5zdG9wUHJvcGFnYXRpb24oKTtlPy4ocyl9fXZhciBhPXMoMjQzMjA3KTtmdW5jdGlvbiBjKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGNvbG9yOnMsdmFyaWFudDpvLHNpemU6cixzdHJldGNoOm4saWNvbk9ubHk6bCxzdGFydFNsb3Q6YSxlbmRTbG90OmMscHJpbWFyeVRleHQ6dSxzZWNvbmRhcnlUZXh0Om0sLi4uaH09ZTtyZXR1cm57Li4uaCwuLi4oMCxpLmZpbHRlckRhdGFQcm9wcykoZSksLi4uKDAsaS5maWx0ZXJBcmlhUHJvcHMpKGUpfX1mdW5jdGlvbiB1KGUpe2NvbnN0e3JlZmVyZW5jZTp0LHRvb2x0aXBUZXh0OnMsZGlzYWJsZWQ6aSxvbkNsaWNrOnUsb25Nb3VzZU92ZXI6bSxvbk1vdXNlT3V0Omgsb25Nb3VzZURvd246ZCxvbk1vdXNlRW50ZXI6cCxhcmlhRGlzYWJsZWQ6eSwuLi5mfT1lLHtpc0dyb3VwZWQ6XyxjZWxsU3RhdGU6UyxkaXNhYmxlUG9zaXRpb25BZGp1c3RtZW50Omd9PSgwLG8udXNlQ29udGV4dCkobi5Db250cm9sR3JvdXBDb250ZXh0KSxiPSgwLGEuZ2V0U3F1YXJlQnV0dG9uQ2xhc3Nlcykoey4uLmYsaXNHcm91cGVkOl8sY2VsbFN0YXRlOlMsZGlzYWJsZVBvc2l0aW9uQWRqdXN0bWVudDpnfSksQz1zPz8oZS5wcmltYXJ5VGV4dD9bZS5wcmltYXJ5VGV4dCxlLnNlY29uZGFyeVRleHRdLmpvaW4oIiAiKTooMCxyLmdldFRleHRGb3JUb29sdGlwKShlLmNoaWxkcmVuKSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7Li4uYyhmKSwiYXJpYS1kaXNhYmxlZCI6aXx8eSx0YWJJbmRleDplLnRhYkluZGV4Pz8oaT8tMTowKSxjbGFzc05hbWU6YixyZWY6dCxvbkNsaWNrOmwodSxpKSxvbk1vdXNlRG93bjpsKGQsaSksb25Nb3VzZU92ZXI6bChtLGkpLG9uTW91c2VPdXQ6bChoLGkpLG9uTW91c2VFbnRlcjpsKHAsaSksImRhdGEtb3ZlcmZsb3ctdG9vbHRpcC10ZXh0IjpDfSxvLmNyZWF0ZUVsZW1lbnQoYS5TcXVhcmVCdXR0b25Db250ZW50LHsuLi5mfSkpfX0sNjA1MTQxKGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtsZXQgdD0wO3JldHVybiBlLmlzVG9wJiZlLmlzTGVmdHx8KHQrPTEpLGUuaXNUb3AmJmUuaXNSaWdodHx8KHQrPTIpLGUuaXNCb3R0b20mJmUuaXNMZWZ0fHwodCs9OCksZS5pc0JvdHRvbSYmZS5pc1JpZ2h0fHwodCs9NCksdH1zLmQodCx7Z2V0R3JvdXBDZWxsUmVtb3ZlUm91bmRCb3JkZXJzOigpPT5vfSl9LDk3MTY1OShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHt1c2VJc01vdW50ZWQ6KCk9PnJ9KTt2YXIgbz1zKDc3OTQ3NCk7Y29uc3Qgcj0oKT0+e2NvbnN0IGU9KDAsby51c2VSZWYpKCExKTtyZXR1cm4oMCxvLnVzZUVmZmVjdCkoKCgpPT4oZS5jdXJyZW50PSEwLCgpPT57ZS5jdXJyZW50PSExfSkpLFtdKSxlfX0sMTQ3OTAxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1VJX0xJQl9EQVRBX1FBX0lEX1BSRUZJWDooKT0+aSxjb25jYXRJZk5vdE51bGw6KCk9Pm4sZGF0YVFhSWRzOigpPT5yfSkKO3ZhciBvPXMoNTY1NzQ1KTtmdW5jdGlvbiByKGUsdCl7cmV0dXJuW2UsdF0uZmlsdGVyKG8uaXNFeGlzdGVudCkuam9pbigiICIpfWZ1bmN0aW9uIG4oZSx0KXtpZigoMCxvLmlzRXhpc3RlbnQpKHQpKXJldHVybltlLHRdLmpvaW4oIiAiKX1jb25zdCBpPSJ1aS1saWItIn0sNTY1NzQ1KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbnVsbCE9ZX1zLmQodCx7aXNFeGlzdGVudDooKT0+b30pfSw5NjIwODEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Y29tbW9uUmVuYW1lU2VwYXJhdG9yOigpPT5pfSk7dmFyIG89cygzODQwMTcpLHI9cyg1ODA1MjYpLG49cygzMDQzOTkpO2FzeW5jIGZ1bmN0aW9uIGkoZSx0LHMsaSl7Y29uc3R7b2xkU2VwYXJhdG9yOmwsbmV3U2VwYXJhdG9yOmF9PSgwLHIucmVtb3RlUmVuYW1lU2VwYXJhdG9ycykoZSxzLGkpLGM9YXdhaXQoMCxvLmZldGNoKSgoMCxuLndhdGNobGlzdFVybCkoYC9hcGkvdjEvc3ltYm9sc19saXN0LyR7dH0vJHtlfS9yZXBsYWNlX3N5bWJvbC9gKSx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KHtvbGQ6bCxuZXc6YX0pLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSk7aWYoIWMub2spe2NvbnN0e2RldGFpbDplfT1hd2FpdCBjLmpzb24oKTt0aHJvdyBFcnJvcihlKX1yZXR1cm4oMCxuLmhhbmRsZUpTT04pKGMpfX0sNjkzMjE2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2dldEV4dHJhSG91cnNDaGFuZ2VQZXJjZW50OigpPT5uLGlzRXh0cmFIb3Vyc1Nlc3Npb246KCk9PnJ9KTtjb25zdCBvPVsicHJlX21hcmtldCIsInBvc3RfbWFya2V0IiwibmlnaHQiXTtmdW5jdGlvbiByKGUpe3JldHVybiBCb29sZWFuKGUmJm8uaW5jbHVkZXMoZSkpfWZ1bmN0aW9uIG4oZSl7bGV0IHQ7c3dpdGNoKGUuY3VycmVudF9zZXNzaW9uKXtjYXNlIm5pZ2h0Ijp0PWUubmNocDticmVhaztjYXNlInBvc3RfbWFya2V0IjpjYXNlInByZV9tYXJrZXQiOnQ9ZS5yY2hwfXJldHVybiB0Pz9udWxsfX0sMjQzNjMxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0NvbG9yQ29udGV4dDooKT0+byxDb2xvck1hbmFnZXI6KCk9Pmx9KTt2YXIgbyxyPXMoNzEyMTM0KSxuPXMoMzU3NTMzKSxpPXMoNTAwNTE0KTshZnVuY3Rpb24oZSl7ZVtlLlN5bWJvbE1hcmtlcj0wXT0iU3ltYm9sTWFya2VyIixlW2UuU2NyZWVuZXJGaWx0ZXI9MV09IlNjcmVlbmVyRmlsdGVyIn0ob3x8KG89e30pKTtjbGFzcyBse2dldENvbG9yKCl7c3dpdGNoKHRoaXMuX2NvbnRleHQpe2Nhc2Ugby5TeW1ib2xNYXJrZXI6cmV0dXJuIHRoaXMuX2dldEF2YWlsYWJsZUNvbG9yKG4uU3ltYm9sTWFya2VyU2V0dGluZ3MuZ2V0RGVmYXVsdENvbG9yKCkpO2Nhc2Ugby5TY3JlZW5lckZpbHRlcjpyZXR1cm4gdGhpcy5fZ2V0QXZhaWxhYmxlQ29sb3Iobi5TeW1ib2xzRmlsdGVyU2V0dGluZ3MuZ2V0RGVmYXVsdENvbG9yKCkpfX1zZXRDb2xvcihlKXtzd2l0Y2godGhpcy5fY29udGV4dCl7Y2FzZSBvLlN5bWJvbE1hcmtlcjpuLlN5bWJvbE1hcmtlclNldHRpbmdzLnNldERlZmF1bHRDb2xvcih0aGlzLl9nZXRBdmFpbGFibGVDb2xvcihlKSk7YnJlYWs7Y2FzZSBvLlNjcmVlbmVyRmlsdGVyOm4uU3ltYm9sc0ZpbHRlclNldHRpbmdzLnNldERlZmF1bHRDb2xvcih0aGlzLl9nZXRBdmFpbGFibGVDb2xvcihlKSl9fV9nZXRBdmFpbGFibGVDb2xvcihlKXtyZXR1cm4oMCxpLmNoZWNrQ29sb3JQZXJtaXNzaW9ucykoZSk/ZToodGhpcy5zZXRDb2xvcihyLkxpc3RDb2xvci5SZWQpLHIuTGlzdENvbG9yLlJlZCl9Y29uc3RydWN0b3IoZSl7dGhpcy5fY29udGV4dD1lLmNvbnRleHR9fX0sNTAwNTE0KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse01hcmtlZFN5bWJvbHNMaXN0TW9kZWw6KCk9PmssY2hlY2tDb2xvclBlcm1pc3Npb25zOigpPT5ULGdldE1hcmtlZExpc3RzU3RhdGU6KCk9Pk59KTt2YXIgbz1zKDEzODYzOCkscj1zKDcxMjEzNCk7Y2xhc3MgbntkZXN0cm95KCl7dGhpcy5fc3Vic2NyaXB0aW9uKCksdGhpcy5fZGVzdHJveWVkPSEwfV9nZXRDb21tYW5kcygpe2NvbnN0IGU9dGhpcy5fc2VsZWN0b3IodGhpcy5fc3RvcmUuZ2V0U3RhdGUoKSk7cmV0dXJuKDAsci5nZXRDb21tYW5kcykoZSl9Y29uc3RydWN0b3IoZSl7dGhpcy5fZXhlY3V0aW5nPW51bGwsdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX2hhbmRsZUNoYW5nZT0oKT0+e2lmKHRoaXMuX2Rlc3Ryb3llZClyZXR1cm47Y29uc3QgZT10aGlzLl9nZXRDb21tYW5kcygpO2lmKGUubGVuZ3RoPjApe2lmKG51bGwhPT10aGlzLl9leGVjdXRpbmcpcmV0dXJuO2NvbnN0W3QsLi4uc109ZTtzd2l0Y2godC50eXBlKXtjYXNlImFwcGVuZCI6dGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5hcHBlbmRTeW1ib2xzKHQuY29sb3IsdC5zeW1ib2xzKS50aGVuKChlPT4hZXx8dGhpcy5fZGVzdHJveWVkP251bGw6e1t0LmNvbG9yXTp7c3ltYm9sczplfX0pKS50aGVuKChhc3luYyBlPT57aWYodGhpcy5fZGVzdHJveWVkKXJldHVybiBudWxsO2NvbnN0IHM9dGhpcy5fc2VsZWN0b3IodGhpcy5fc3RvcmUuZ2V0U3RhdGUoKSksbz0oMCxyLmdldExpc3RCeUNvbG9yKShzLHQuY29sb3IpO2lmKG51bGwhPT1vJiZudWxsIT09by5wZXJzaXN0ZWRTdGF0ZSYmbnVsbCE9PW8ucGVyc2lzdGVkU3RhdGUuaWQpcmV0dXJuIGU7Y29uc3Qgbj1hd2FpdCB0aGlzLl9hcGkuZ2V0TGlzdHMoKTtpZih0aGlzLl9kZXN0cm95ZWQpcmV0dXJuIG51bGw7Y29uc3QgaT1uLmZpbmQoKGU9PmUuY29sb3I9PT10LmNvbG9yKSk7cmV0dXJuIGk/e1t0LmNvbG9yXTp7aWQ6aS5pZCxzeW1ib2xzOmkuc3ltYm9sc319Om51bGx9KSk7YnJlYWs7Y2FzZSJyZW1vdmUiOnRoaXMuX2V4ZWN1dGluZz10aGlzLl9hcGkucmVtb3ZlU3ltYm9scyh0LmNvbG9yLHQuc3ltYm9scykudGhlbigoZT0+IWV8fHRoaXMuX2Rlc3Ryb3llZD9udWxsOntbdC5jb2xvcl06e3N5bWJvbHM6ZX19KSk7YnJlYWs7Y2FzZSJyZXBsYWNlIjoKdGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5yZXBsYWNlU3ltYm9scyh0LmNvbG9yLHQuc3ltYm9scykudGhlbigoZT0+IWV8fHRoaXMuX2Rlc3Ryb3llZD9udWxsOntbdC5jb2xvcl06e3N5bWJvbHM6ZX19KSk7YnJlYWs7Y2FzZSJyZXNldCI6dGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5yZXNldFN5bWJvbHModC5zeW1ib2xzKS50aGVuKCgoKT0+e2lmKHRoaXMuX2Rlc3Ryb3llZClyZXR1cm4gbnVsbDtjb25zdCBlPXt9O2Zvcihjb25zdCBzIG9mIHIuTElTVF9DT0xPUlMpe2NvbnN0IG89dC5wcmV2TGlzdHMuYnlDb2xvcltzXTtpZighb3x8IW8ucGVyc2lzdGVkU3RhdGUpY29udGludWU7Y29uc3Qgcj1vLnBlcnNpc3RlZFN0YXRlLnN5bWJvbHMuZmlsdGVyKChlPT4hdC5zeW1ib2xzLmluY2x1ZGVzKGUpKSk7ZVtzXT17Li4uby5wZXJzaXN0ZWRTdGF0ZSxzeW1ib2xzOnJ9fXJldHVybiBlfSkpO2JyZWFrO2Nhc2UicmVuYW1lIjp0aGlzLl9leGVjdXRpbmc9dGhpcy5fYXBpLnJlbmFtZUxpc3QodC5jb2xvcix0Lm5hbWUpLnRoZW4oKGU9PnRoaXMuX2Rlc3Ryb3llZD9udWxsOntbdC5jb2xvcl06ZX0pKTticmVhaztjYXNlImNoYW5nZS1kZXNjcmlwdGlvbiI6dGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5jaGFuZ2VEZXNjcmlwdGlvbih0LmNvbG9yLHQuZGVzY3JpcHRpb24pLnRoZW4oKGU9PnRoaXMuX2Rlc3Ryb3llZD9udWxsOntbdC5jb2xvcl06ZX0pKTticmVhaztjYXNlInJlc2V0LWFsbCI6dGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5yZXNldEFsbCgpLnRoZW4oKCgpPT57aWYodGhpcy5fZGVzdHJveWVkKXJldHVybiBudWxsO2NvbnN0IGU9e307Zm9yKGNvbnN0IHMgb2Ygci5MSVNUX0NPTE9SUyl7Y29uc3Qgbz10LnByZXZMaXN0cy5ieUNvbG9yW3NdO28mJm8ucGVyc2lzdGVkU3RhdGUmJihlW3NdPXsuLi5vLnBlcnNpc3RlZFN0YXRlLHN5bWJvbHM6W119KX1yZXR1cm4gZX0pKTticmVhaztjYXNlInNoYXJlIjp0aGlzLl9leGVjdXRpbmc9dGhpcy5fYXBpLnNoYXJlTGlzdCh0LmNvbG9yLHQuc2hhcmVkKS50aGVuKChlPT50aGlzLl9kZXN0cm95ZWQ/bnVsbDp7W3QuY29sb3JdOntzaGFyZWQ6ZS5zaGFyZWR9fSkpO2JyZWFrO2Nhc2UicmVuYW1lLXNlcGFyYXRvciI6dGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5yZW5hbWVTZXBhcmF0b3IodC5jb2xvcix0LnNlcGFyYXRvcix0Lm5hbWUpLnRoZW4oKGU9PiFlfHx0aGlzLl9kZXN0cm95ZWQ/bnVsbDp7W3QuY29sb3JdOntzeW1ib2xzOmV9fSkpfXRoaXMuX2V4ZWN1dGluZy50aGVuKChlPT57aWYodGhpcy5fZXhlY3V0aW5nPW51bGwsdGhpcy5fZGVzdHJveWVkKXJldHVybjtjb25zdFtvXT10aGlzLl9nZXRDb21tYW5kcygpO289PT10Pyh0aGlzLl9zdG9yZS5kaXNwYXRjaCgoMCxyLnNoaWZ0Q29tbWFuZCkoe2NvdW50OjF9KSksZSYmdGhpcy5fc3RvcmUuZGlzcGF0Y2goKDAsci51cGRhdGVQZXJzaXN0ZWRTdGF0ZSkoZSkpKToodGhpcy5fb25XYXJuKGBDb21tYW5kOiAke0pTT04uc3RyaW5naWZ5KHQpfSB3YXMgc2VudCB0byB0aGUgc2VydmVyIGJ1dCBpcyBub3QgZm91bmQgaW4gdGhlIHN0YXRlYCkscy5sZW5ndGg+MCYmdGhpcy5fb25XYXJuKGBDb21tYW5kczogJHtKU09OLnN0cmluZ2lmeShzKX0gd2FzIGRyb3BwZWQgZnJvbSBzdGF0ZSB3aXRob3V0IHN5bmNpbmcgd2l0aCBzZXJ2ZXJgKSksdGhpcy5faGFuZGxlQ2hhbmdlKCl9KSwoZT0+e2lmKHRoaXMuX2Rlc3Ryb3llZClyZXR1cm47dGhpcy5fZXhlY3V0aW5nPW51bGw7Y29uc3R7Y29sb3JzOnMsYnlDb2xvcjpufT10LnByZXZMaXN0cyxpPXMubWFwKChlPT4oMCxvLmVuc3VyZURlZmluZWQpKG5bZV0pKSk7dGhpcy5fc3RvcmUuZGlzcGF0Y2goKDAsci5zZXR1cCkoe2xpc3RzOmksdGltZXN0YW1wOigwLG8uZW5zdXJlTm90TnVsbCkoKDAsci5nZXRUaW1lc3RhbXApKHRoaXMuX3NlbGVjdG9yKHRoaXMuX3N0b3JlLmdldFN0YXRlKCkpKSl9KSksdGhpcy5fb25FcnJvcih0LGUpfSkpfX07Y29uc3R7cm9vdDp0LHNlbGVjdG9yOnMsb25FcnJvcjpuLG9uV2FybjppLGFwaTpsfT1lO3RoaXMuX3N0b3JlPXQsdGhpcy5fc2VsZWN0b3I9cyx0aGlzLl9zdWJzY3JpcHRpb249dGhpcy5fc3RvcmUuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZUNoYW5nZSksdGhpcy5fb25FcnJvcj1uLHRoaXMuX29uV2Fybj1pLHRoaXMuX2FwaT1sLHRoaXMuX2hhbmRsZUNoYW5nZSgpfX12YXIgaT1zKDI5NTIzNSksbD1zKDkwMTAyMik7dmFyIGE9cygyMjEwNjEpLGM9cygxODUyNzEpLHU9cyg5MTM0MTMpLG09cyg2MzI2ODYpLGg9cygxNTI3MTcpLGQ9cyg0NTY3MDUpLHA9cyg1ODA1MjYpLHk9cyg5Mjk0ODgpLGY9cyg2NDM5MDMpLF89cygxNTk1MTMpLFM9cyg0NzkzNCksZz1zKDc3MDc1NSksYj1zKDYxMzg3MCksQz1zKDMxMzMwMCksdj1zKDU5NjA1MCksdz1zKDQzNjM5NCksRT1zKDQzMjM1MCk7Y29uc3QgeD0oMCxhLmdldExvZ2dlcikoIk1hcmtlZFN5bWJvbHMuTW9kZWwiKTt2YXIgTDtmdW5jdGlvbiBOKGUpe3JldHVybiBlLm1hcmtlZExpc3RzfSFmdW5jdGlvbihlKXtlLkxpbWl0UmVhY2hlZD0iTGltaXRSZWFjaGVkIn0oTHx8KEw9e30pKTtjbGFzcyBre2Rlc3Ryb3koKXt0aGlzLl9zeW5jaHJvbml6YXRpb25TZXJ2aWNlLmRlc3Ryb3koKSx0aGlzLl9zdWJzY3JpcHRpb24mJnRoaXMuX3N1YnNjcmlwdGlvbigpLHRoaXMuX2V4ZWN1dG9yJiZ0aGlzLl9leGVjdXRvci5kZXN0cm95KCl9Z2V0U3ltYm9sc0J5Q29sb3IoZSl7aWYobnVsbD09PXRoaXMuX3NlcnZpY2UpcmV0dXJuW107Y29uc3R7c3RvcmU6dH09dGhpcy5fc2VydmljZSxzPU4odC5nZXRTdGF0ZSgpKTtyZXR1cm4gbnVsbD09PXM/W106KDAsci5nZXRTeW1ib2xzQnlDb2xvcikocyxlKT8/W119Z2V0TGlzdHMoKXtyZXR1cm4gci5MSVNUX0NPTE9SUy5yZWR1Y2UoKChlLHQpPT4oZS5zZXQodCxuZXcgU2V0KHRoaXMuZ2V0U3ltYm9sc0J5Q29sb3IodCkpKSxlKSksbmV3IE1hcCl9c2V0U3ltYm9sc0NvbG9yKGUsdCl7aWYoeC5sb2dOb3JtYWwoYFNldCBzeW1ib2xzIGNvbG9yICR7dH1gKSxudWxsPT09dGhpcy5fc2VydmljZSlyZXR1cm4KO2NvbnN0IHM9dGhpcy5fcmVzdHJpY3RlZE1hcmtTeW1ib2xzKHtzeW1ib2xzOmUsY29sb3I6dCxzZXBhcmF0b3JzOiExfSk7dGhpcy5fc2VydmljZS5zdG9yZS5kaXNwYXRjaChzKX1tYXJrTWFueShlKXtpZih4LmxvZ05vcm1hbChgTWFyayBtYW55IHN5bWJvbHM6ICR7ZS5jb2xvcn1gKSxudWxsPT09dGhpcy5fc2VydmljZSlyZXR1cm47Y29uc3QgdD10aGlzLl9yZXN0cmljdGVkTWFya1N5bWJvbHMoZSk7dGhpcy5fc2VydmljZS5zdG9yZS5kaXNwYXRjaCh0KX1nZXRTeW1ib2xDb2xvcihlKXtpZihudWxsPT09dGhpcy5fc2VydmljZSlyZXR1cm4gbnVsbDtjb25zdHtzdG9yZTp0fT10aGlzLl9zZXJ2aWNlLHM9Tih0LmdldFN0YXRlKCkpO3JldHVybiBudWxsPT09cz9udWxsOigwLHIuZ2V0U3ltYm9sQ29sb3IpKHMsZSl9Y2xlYXJBbGxTeW1ib2xzQ29sb3IoKXt4LmxvZ05vcm1hbCgiQ2xlYXIgYWxsIHN5bWJvbHMgY29sb3IiKSxudWxsIT09dGhpcy5fc2VydmljZSYmdGhpcy5fc2VydmljZS5zdG9yZS5kaXNwYXRjaCgoMCxyLnJlc2V0KSh7fSkpfXN5bmNTeW1ib2xzKCl7cmV0dXJuIHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2Uuc3luY1N5bWJvbHMoKX1hbm9ueW1pemUoKXtudWxsIT09dGhpcy5fc2VydmljZSYmdGhpcy5fc2VydmljZS5zdG9yZS5kaXNwYXRjaCgoMCxyLnNldHVwKSh7dGltZXN0YW1wOkRhdGUubm93KCksbGlzdHM6W119KSl9Y29ubmVjdCgpe3JldHVybiB0aGlzLl9zeW5jaHJvbml6YXRpb25TZXJ2aWNlLmNvbm5lY3QoKX1jbG9zZUNvbm5lY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3luY2hyb25pemF0aW9uU2VydmljZS5jbG9zZUNvbm5lY3Rpb24oKX1fcmVzb2x2ZShlKXtjb25zdCB0PW5ldyBTZXQ7Zm9yKGNvbnN0IHMgb2YgZSlpZih2b2lkIDAhPT1zLnN5bWJvbHMpZm9yKGNvbnN0IGUgb2Ygcy5zeW1ib2xzKXtpZigoMCx5LmlzU2VwYXJhdG9ySXRlbSkoZSkpY29udGludWU7KDAsZi5zYWZlU2hvcnROYW1lKShlKT09PWUmJnQuYWRkKGUpfWNvbnN0IHM9QXJyYXkuZnJvbSh0KS5tYXAoKGU9PnRoaXMuX3Nlc3Npb24uc25hcHNob3QoZSkudGhlbigodD0+dC5wcm9fbmFtZXx8ZSksKCgpPT5lKSkudGhlbigodD0+W2UsdF0pKSkpO3JldHVybiBQcm9taXNlLmFsbChzKS50aGVuKCh0PT57Y29uc3Qgcz1uZXcgTWFwKHQpO3JldHVybiBlLm1hcCgoZT0+e2NvbnN0e3N5bWJvbHM6dCxjb2xsYXBzZWRTZXBhcmF0b3JzOm99PSgwLHAubG9jYWxDb2xsYXBzZVN0YXRlRnJvbVJlbW90ZVN5bWJvbHMpKGUuc3ltYm9scz8/W10pO3JldHVybntpZDplLmlkLG5hbWU6ZS5uYW1lLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sY29sb3I6ZS5jb2xvcixzaGFyZWQ6ZS5zaGFyZWQsY3JlYXRlZDplLmNyZWF0ZWQsbW9kaWZpZWQ6ZS5tb2RpZmllZCx0eXBlOmUudHlwZSxhY3RpdmU6ZS5hY3RpdmUsc3ltYm9sczp0Lm1hcCgoZT0+cy5nZXQoZSk/P2UpKSxjb2xsYXBzZWRTZXBhcmF0b3JzOm8scGVyc2lzdGVkU3RhdGU6ZX19KSl9KSl9X2NyZWF0ZUV4ZWN1dG9yKCl7Y29uc3R7c3RvcmU6ZX09KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXJ2aWNlKTt0aGlzLl9leGVjdXRvcj1uZXcgbih7cm9vdDplLHNlbGVjdG9yOmU9PigwLG8uZW5zdXJlTm90TnVsbCkoTihlKSksYXBpOnRoaXMuX2FwaSxvbkVycm9yOnRoaXMuX2hhbmRsZUV4ZWN1dG9yRXJyb3Isb25XYXJuOmU9Pnt4LmxvZ1dhcm4oZSl9fSkseC5sb2dOb3JtYWwoIkV4ZWN1dG9yIHdhcyBjcmVhdGVkIil9Y29uc3RydWN0b3IoZSl7dGhpcy5fcHJvbWlzZT0oMCxkLmluaXRTeW1ib2xMaXN0U2VydmljZSkoKSx0aGlzLl9zZXJ2aWNlPW51bGwsdGhpcy5fZXhlY3V0b3I9bnVsbCx0aGlzLl9zdWJzY3JpcHRpb249bnVsbCx0aGlzLl9jb25uZWN0aW9uU3RhdHVzPW51bGwsdGhpcy5fcmVjb3Zlcj0hMSx0aGlzLl9zeW5jaHJvbml6ZT1hc3luYyBlPT57bGV0IHQscztudWxsIT09dGhpcy5fZXhlY3V0b3ImJih0aGlzLl9leGVjdXRvci5kZXN0cm95KCksdGhpcy5fZXhlY3V0b3I9bnVsbCx4LmxvZ05vcm1hbCgiRXhlY3V0b3Igd2FzIGRlc3Ryb3llZC4iKSk7dHJ5e3RoaXMuX3JlY292ZXImJmF3YWl0KDAsaC5zeW5jVXNlckRhdGEpKCJtYXJrZWQtc3ltYm9scyIpO2NvbnN0W29dPWF3YWl0IFByb21pc2UuYWxsKFt0aGlzLl9hcGkuZ2V0TGlzdHMoKSx0aGlzLl9wcm9taXNlXSk7dD1hd2FpdCB0aGlzLl9yZXNvbHZlKG8pLHM9RGF0ZS5ub3coKSxlLmFzc2VydCgpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBFcnJvcil7aWYoeC5sb2dFcnJvcihgU3luYyBzeW1ib2xzIGVycm9yOiAke2UubWVzc2FnZX1gKSxlLm1lc3NhZ2U9PT1FLlJPVVRJTkVfQ0FOQ0VMTEVEX01FU1NBR0UpcmV0dXJuO2lmKCJBcGlFcnJvcjpub3RfYXV0aGVudGljYXRlZCI9PT1lLm5hbWUpcmV0dXJuIHRoaXMuX3JlY292ZXJ8fGF3YWl0KDAsaC5zeW5jVXNlckRhdGEpKCJtYXJrZWQtc3ltYm9scyIpLHZvaWQoMCxiLnNob3dTaWduTW9kYWwpKHtmZWF0dXJlOiJmbGFnZ2VkU3ltYm9scyJ9KX10aHJvdyBlfXRoaXMuX3JlY292ZXI9ITE7Y29uc3R7c3RvcmU6bn09KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXJ2aWNlKTt0aGlzLl9jcmVhdGVFeGVjdXRvcigpO2NvbnN0IGk9dGhpcy5fc3luY2hyb25pemF0aW9uU2VydmljZS5nZXRTdGF0ZSgpLGw9bnVsbCE9PWk/TShpKTpudWxsO2lmKG51bGwhPT1sJiZsPj1zKXJldHVybjtjb25zdCBhPSgwLHIuc2V0dXApKHtsaXN0czp0Lm1hcCgoZT0+KHtuYW1lOmUubmFtZT8/bnVsbCxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uPz9udWxsLGNvbG9yOmUuY29sb3Isc3ltYm9sczplLnN5bWJvbHMsc2hhcmVkOmUuc2hhcmVkLGNvbGxhcHNlZFNlcGFyYXRvcnM6ZS5jb2xsYXBzZWRTZXBhcmF0b3JzLHBlcnNpc3RlZFN0YXRlOmUucGVyc2lzdGVkU3RhdGV9KSkpLHRpbWVzdGFtcDpzfSk7bi5kaXNwYXRjaChhKX0sdGhpcy5faGFuZGxlQ2hhbmdlPSgpPT57aWYodGhpcy5fc3luY2hyb25pemF0aW9uU2VydmljZS5pc0Rlc3Ryb3llZCgpKXJldHVybjtjb25zdHtzdG9yZTplfT0oMCwKby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXJ2aWNlKSx0PSgwLG8uZW5zdXJlTm90TnVsbCkoTihlLmdldFN0YXRlKCkpKTtpZih0aGlzLl9zeW5jaHJvbml6YXRpb25TZXJ2aWNlLmdldFN0YXRlKCkhPT10KXRyeXt0aGlzLl9vcHRzLm9uQ2hhbmdlPy4odCwoMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2UuZ2V0U3RhdGUoKSkpfWZpbmFsbHl7dGhpcy5fc3luY2hyb25pemF0aW9uU2VydmljZS5zZXRTdGF0ZSh0KX19LHRoaXMuX2hhbmRsZUV4ZWN1dG9yRXJyb3I9KGUsdCk9PnsiQXBpRXJyb3I6cGxhbl9zeW1ib2xzX2xpbWl0X3JlYWNoZWQiIT09dC5uYW1lP3RoaXMuX2Nvbm5lY3Rpb25TdGF0dXM9PT1tLkNvbm5lY3Rpb25TdGF0dXMuT3Blbj90aGlzLl9zeW5jaHJvbml6YXRpb25TZXJ2aWNlLmlzRGVzdHJveWVkKCl8fCh4LmxvZ0Vycm9yKGBGYWlsZWQgdG8gZXhlY3V0ZSAke2UudHlwZX1gKSx0aGlzLl9yZWNvdmVyPSEwLHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2Uuc3luY1N5bWJvbHMoKSk6KDAsdi5zaG93U2ltcGxlRGlhbG9nSW5zdGFuY2UpKHt0aXRsZTpjLnQobnVsbCx2b2lkIDAscygzODIwMjUpKSx0ZXh0OnQubWVzc2FnZX0sdy5XYXJuaW5nKTooMCxnLm9wZW5QYXl3YWxsKSh7ZmVhdHVyZToid2F0Y2hsaXN0U3ltYm9scyJ9KX0sdGhpcy5fb3B0cz1lLHRoaXMuX2FwaT1lLmFwaXx8bmV3IHUuTWFya2VkU3ltYm9sc0xpc3RBcGksdGhpcy5fc2Vzc2lvbj1lLnF1b3RlU2Vzc2lvbnx8KDAsXy5nZXRRdW90ZVNlc3Npb25JbnN0YW5jZSkoInNpbXBsZSIpLHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2U9bmV3IEUuU3ltYm9sTGlzdFN5bmNocm9uaXphdGlvblNlcnZpY2Uoe3N5bmNocm9uaXplOnRoaXMuX3N5bmNocm9uaXplLGV2ZW50OmUuZXZlbnQsc3RhdGU6bnVsbCxnZXRUaW1lc3RhbXA6TSxsb2dnZXJOYW1lOiJNYXJrZWRTeW1ib2xzTGlzdE1vZGVsIn0pLHRoaXMuX3Jlc3RyaWN0ZWRNYXJrU3ltYm9scz1mdW5jdGlvbihlKXtjb25zdHtsaW1pdDp0LGNvbG9yczpzLG9uTGltaXQ6byxvblJlc3RyaWN0ZWRDb2xvcjpuLHNlbGVjdG9yOmF9PWU7cmV0dXJuIGU9PihjLHUpPT57Y29uc3QgbT11KCksaD1hKG0pLHtjb2xvcjpkLHN5bWJvbHM6cCxzZXBhcmF0b3JzOnl9PWU7aWYobnVsbCE9PWQpe2NvbnN0IGU9aC5saXN0cy5ieUNvbG9yW2RdPy5zeW1ib2xzPz9bXSxyPW5ldyBTZXQoZSksYT1pLnF1YWxpZmllZC5jYXN0TWFueShbXSk7Zm9yKGNvbnN0IGUgb2YgbmV3IFNldChwKSkheSYmKDAsbC5pc1NlcGFyYXRvckl0ZW0pKGUpfHxyLmhhcyhlKXx8YS5wdXNoKGUpO2lmKCFzKCkuaW5jbHVkZXMoZCkpcmV0dXJuIHZvaWQgbigpO2lmKGEubGVuZ3RoJiZhLmxlbmd0aCtyLnNpemU+dCgpKXJldHVybiB2b2lkIG8oKX1jKCgwLHIubWFya01hbnkpKGUpKX19KHtzZWxlY3RvcjplPT4oMCxvLmVuc3VyZU5vdE51bGwpKE4oZSkpLGxpbWl0OmUubGltaXQ/PygoKT0+KDAsQy5nZXRXYXRjaGxpc3RTeW1ib2xzTGltaXQpKCkpLG9uTGltaXQ6KCk9Pnt4LmxvZ05vcm1hbCgiTGltaXRSZWFjaGVkIiksdGhpcy5fb3B0cy5vbkxpbWl0Py4oKX0sY29sb3JzOmUuY29sb3JzPz8oKCk9PnIuTElTVF9DT0xPUlMuZmlsdGVyKEQpKSxvblJlc3RyaWN0ZWRDb2xvcjooKT0+e3RoaXMuX29wdHMub25SZXN0cmljdGVkQ29sb3I/LigpfX0pLHRoaXMuX3Byb21pc2UudGhlbigoZT0+e2lmKHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2UuaXNEZXN0cm95ZWQoKSlyZXR1cm47dGhpcy5fc2VydmljZT1lO2NvbnN0e3N0b3JlOnR9PWU7dGhpcy5fc3luY2hyb25pemF0aW9uU2VydmljZS5zZXRTdGF0ZSgoMCxvLmVuc3VyZU5vdE51bGwpKE4odC5nZXRTdGF0ZSgpKSkpLHRoaXMuX3N1YnNjcmlwdGlvbj10LnN1YnNjcmliZSh0aGlzLl9oYW5kbGVDaGFuZ2UpfSkpLHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2UuY29ubmVjdCgpfX1mdW5jdGlvbiBEKGUpe3JldHVybiByLkxpc3RDb2xvci5SZWQ9PT1lfHwoMCxTLmVuYWJsZWQpKCJNVUxUSUZMQUdHRURfU1lNQk9MU19MSVNUUyIpfWZ1bmN0aW9uIFQoZSl7cmV0dXJuISFEKGUpfHwoKDAsZy5vcGVuUGF5d2FsbCkoe2ZlYXR1cmU6ImZsYWdnZWRTeW1ib2xzIn0pLCExKX1mdW5jdGlvbiBNKGUpe3JldHVybiBlLnRpbWVzdGFtcH19LDM1NzUzMyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTeW1ib2xNYXJrZXJTZXR0aW5nczooKT0+byxTeW1ib2xzRmlsdGVyU2V0dGluZ3M6KCk9PnJ9KTt2YXIgbyxyLG49cyg3MTIxMzQpLGk9cyg5MzA1NjYpOyFmdW5jdGlvbihlKXtjb25zdCB0PSJkZWZhdWx0X3N5bWJvbF9tYXJrZXJfY29sb3IiO2UuZ2V0RGVmYXVsdENvbG9yPWZ1bmN0aW9uKCl7cmV0dXJuIGkuZ2V0VmFsdWUodCxuLkxpc3RDb2xvci5SZWQpfSxlLnNldERlZmF1bHRDb2xvcj1mdW5jdGlvbihlKXtpLnNldFZhbHVlKHQsZSx7Zm9yY2VGbHVzaDohMH0pfX0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtjb25zdCB0PSJkZWZhdWx0X3N5bWJvbHNfZmlsdGVyX2NvbG9yIixzPSJtYXJrZWRfc3ltYm9sc19maWx0ZXIiO2UuZ2V0RGVmYXVsdENvbG9yPWZ1bmN0aW9uKCl7cmV0dXJuIGkuZ2V0VmFsdWUodCxuLkxpc3RDb2xvci5SZWQpfSxlLnNldERlZmF1bHRDb2xvcj1mdW5jdGlvbihlKXtpLnNldFZhbHVlKHQsZSx7Zm9yY2VGbHVzaDohMH0pfSxlLnNldElzQWN0aXZlPWZ1bmN0aW9uKGUpe2kuc2V0VmFsdWUocyxlLHtmb3JjZUZsdXNoOiEwfSl9LGUuZ2V0SXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gaS5nZXRCb29sKHMsITEpfX0ocnx8KHI9e30pKX0sMTU1OTAwKGUsdCxzKXsidXNlIHN0cmljdCI7cygzMTg5NzQpfSw0NTk4NjMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKGUpe3JldHVybiJodG1sImluIGU/e2h0bWw6ZS5odG1sfToidGV4dCJpbiBlP3tjb250ZW50OmUudGV4dH06e2NvbnRlbnQ6ZS5jb250ZW50fX1zLmQodCx7Z2V0Q29udGVudDooKT0+b30pfSwxODQyMihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTaW1wbGVEaWFsb2dDb250ZXh0OigpPT5vfSkKO2NvbnN0IG89cyg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoe2lzU21hbGxUYWJsZXQ6ITEsZGlhbG9nQ2xvc2VIYW5kbGVyOigpPT57fX0pfSw3MjU4NjIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U2ltcGxlRGlhbG9nOigpPT5FfSk7dmFyIG89cyg3Nzk0NzQpLHI9cyg5MTQ0ODcpLG49cy5uKHIpLGk9cyg4ODA4ODYpLGw9cygxNzk3NzEpLGE9cyg1ODU4MjEpLGM9cygyMzU3MjQpLHU9cyg0MDYxMTApLG09cyg2MDM2MTIpLGg9cyg2MDk1MjgpLGQ9cyg1NTgwMzApLHA9cyg2NzQ3NDkpLHk9cyg2NDkxNjYpLGY9cygxMzg2MzgpLF89cyg5NzE2NTkpLFM9cyg2MDc4MzIpLGc9cygxODQyMiksYj1zKDMzMTg4Myk7ZnVuY3Rpb24gQyhlKXtjb25zdHtkaXNhYmxlZDp0LG5hbWU6cyx0aXRsZTpyLGFwcGVhcmFuY2U6aSxpbnRlbnQ6bCxoYW5kbGVyOmEscmVmZXJlbmNlOmMsZGF0YVFhSWQ6dSx0eXBlOm0sY2xhc3NOYW1lOmh9PWUse2lzU21hbGxUYWJsZXQ6ZCxkaWFsb2dDbG9zZUhhbmRsZXI6Q309KDAsby51c2VDb250ZXh0KShnLlNpbXBsZURpYWxvZ0NvbnRleHQpLHY9KDAsZi5lbnN1cmVOb3ROdWxsKSgoMCxvLnVzZUNvbnRleHQpKFMuU2xvdENvbnRleHQpKSx3PSgwLF8udXNlSXNNb3VudGVkKSgpLFtFLHhdPSgwLG8udXNlU3RhdGUpKCExKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KHAuQnV0dG9uLHt0eXBlOm0sZGlzYWJsZWQ6dCxyZWZlcmVuY2U6YyxjbGFzc05hbWU6bigpKGIuYWN0aW9uQnV0dG9uLGgsZCYmYi5zbWFsbCksbmFtZTpzLHNpemU6ZD8ibCI6dm9pZCAwLGFwcGVhcmFuY2U6aSxpbnRlbnQ6bCwiZGF0YS1xYS1pZCI6dSxvbkNsaWNrOmZ1bmN0aW9uKCl7aWYoRSlyZXR1cm47Y29uc3QgZT1hKHtkaWFsb2dDbG9zZTpDLGlubmVyTWFuYWdlcjp2fSk7ZSYmKHgoITApLGUudGhlbigoKCk9Pnt3LmN1cnJlbnQmJngoITEpfSkpKX19LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpuKCkoRSYmYi5oaWRkZW5UaXRsZSl9LHIpLEUmJm8uY3JlYXRlRWxlbWVudCh5LkxvYWRlcix7Y29sb3I6InByaW1hcnkiPT09bD8iYmxhY2siOiJ3aGl0ZSJ9KSl9dmFyIHY9cygxNzYyNjgpLHc9cyg4ODgxNTkpO2Z1bmN0aW9uIEUoZSl7Y29uc3R7dGl0bGU6dCxvbkNsb3NlOnMsYWN0aW9uczpyLGRhdGFOYW1lOnAsZGF0YVFhSWQ6eSxwb3B1cERpYWxvZ0NsYXNzTmFtZTpmLGNvbnRlbnRDbGFzc05hbWU6Xyx3cmFwcGVyQ2xhc3NOYW1lOlMsYmFja2Ryb3A6YixjbG9zZU9uT3V0c2lkZUNsaWNrOkU9ITAsc2hvd0Nsb3NlQnV0dG9uOng9ITAsY2xvc2VPbkVzY2FwZVByZXNzOkw9ITAsZXZlbnRzOk49ITAsY2VudGVyZWRPblJlc2l6ZTprLHNob3VsZEF1dG9DbG9zZTpEfT1lOygwLG8udXNlRWZmZWN0KSgoKCk9PihsLnN1YnNjcmliZShtLkNMT1NFX1BPUFVQU19BTkRfRElBTE9HU19DT01NQU5ELHMsbnVsbCksKCk9PntsLnVuc3Vic2NyaWJlKG0uQ0xPU0VfUE9QVVBTX0FORF9ESUFMT0dTX0NPTU1BTkQscyxudWxsKX0pKSxbc10pO2NvbnN0W1QsTV09KDAsby51c2VTdGF0ZSkoITApLEI9KDAsby51c2VSZWYpKG51bGwpLE89KDAsby51c2VSZWYpKG51bGwpO3JldHVybigwLG8udXNlRWZmZWN0KSgoKCk9Pih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixVKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLFUpfSkpLFtPLGtdKSxvLmNyZWF0ZUVsZW1lbnQodS5NYXRjaE1lZGlhLHtydWxlOmguRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGx9LChsPT5vLmNyZWF0ZUVsZW1lbnQoZy5TaW1wbGVEaWFsb2dDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp7aXNTbWFsbFRhYmxldDpsLGRpYWxvZ0Nsb3NlSGFuZGxlcjpzfX0sby5jcmVhdGVFbGVtZW50KGEuUG9wdXBEaWFsb2cse2NsYXNzTmFtZTpuKCkody5wb3B1cERpYWxvZyxmKSxjb21wb25lbnRSZWY6Tyxpc09wZW5lZDpULGJhY2tkcm9wOmIsZGF0YVFhSWQ6eT8/dm9pZCAwLG9uQ2xpY2tCYWNrZHJvcDpOP1Y6dm9pZCAwLG9uQ2xpY2tPdXRzaWRlOkU/Vjp2b2lkIDAsb25LZXlEb3duOkksYXV0b2ZvY3VzOiEwLGZpeGVkQm9keTohMH0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bigpKHcud3JhcCxTKSwiZGF0YS1uYW1lIjpwLCJkYXRhLXFhLWlkIjp5fSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpuKCkody5tYWluLCF4JiZ3Lm1hcmdpbldpdGhvdXRDbG9zZUJ1dHRvbixsJiZ3LnNtYWxsKX0sdCYmby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bigpKHcudGl0bGUsbCYmdy5zbWFsbCl9LHQpLGZ1bmN0aW9uKHQpe2lmKCJodG1sImluIGUpcmV0dXJuIG8uY3JlYXRlRWxlbWVudChkLlRvdWNoU2Nyb2xsQ29udGFpbmVyLHtjbGFzc05hbWU6bigpKHcuY29udGVudCx0JiZ3LnNtYWxsLHcuaHRtbCxfKSxkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOmUuaHRtbH19KTtpZigiY29udGVudCJpbiBlKXJldHVybiBvLmNyZWF0ZUVsZW1lbnQoZC5Ub3VjaFNjcm9sbENvbnRhaW5lcix7Y2xhc3NOYW1lOm4oKSh3LmNvbnRlbnQsdCYmdy5zbWFsbCxfKX0sZS5jb250ZW50KTtyZXR1cm4gbnVsbH0obCksciYmci5sZW5ndGg+MCYmby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bigpKHcuZm9vdGVyLGwmJncuc21hbGwpfSxyLm1hcCgoKGUsdCk9Pm8uY3JlYXRlRWxlbWVudChDLHsuLi5lLGtleTplLm5hbWUsZGF0YVFhSWQ6YCR7ZS5uYW1lfS1idG5gLHJlZmVyZW5jZTowPT09dD9COnZvaWQgMH0pKSkpKSx4JiZvLmNyZWF0ZUVsZW1lbnQoaS5OYXZCdXR0b24se2FyaWFMYWJlbDoiY2xvc2UiLHNpemU6Im1lZGl1bSIscHJlc2VydmVQYWRkaW5nczohMCxjbGFzc05hbWU6bigpKHcuY2xvc2UsbCYmdy5zbWFsbCksaWNvbjp2LG9uQ2xpY2s6ViwiZGF0YS1uYW1lIjoiY2xvc2UiLCJkYXRhLXJvbGUiOiJidXR0b24ifSkpKSkpKTtmdW5jdGlvbiBJKGUpe3N3aXRjaCgoMCxjLmhhc2hGcm9tRXZlbnQpKGUpKXtjYXNlIDI3OlQmJkwmJihlLnByZXZlbnREZWZhdWx0KCkscygpKTticmVhaztjYXNlIDEzOgpjb25zdCB0PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7aWYoZS5kZWZhdWx0UHJldmVudGVkfHx0IGluc3RhbmNlb2YgSFRNTEFuY2hvckVsZW1lbnR8fHQgaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudCYmInN1Ym1pdCIhPT10LnR5cGUpcmV0dXJuO2lmKFQmJnImJnIubGVuZ3RoKXtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgdD1CLmN1cnJlbnQ7dCYmdC5jbGljaygpfX19ZnVuY3Rpb24gVigpe0QmJk0oITEpLHMoKX1mdW5jdGlvbiBVKCl7ayYmTy5jdXJyZW50Py5jZW50ZXJBbmRGaXQ/LigpfX19LDMzMjY2MChlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBvO3MuZCh0LHtEaWFsb2dFdmVudERpc3BhdGNoZXI6KCk9Pmx9KSxmdW5jdGlvbihlKXtlLk9wZW49ImRpYWxvZy1vcGVuIixlLkNsb3NlPSJkaWFsb2ctY2xvc2UiLGUuRnVsbHNjcmVlbk9uPSJkaWFsb2ctZnVsbHNjcmVlbi1vbiIsZS5GdWxsc2NyZWVuT2ZmPSJkaWFsb2ctZnVsbHNjcmVlbi1vZmYifShvfHwobz17fSkpO3ZhciByPXMoMjIxMDYxKSxuPXMoMTUwMTUwKTtjb25zdCBpPSgwLHIuZ2V0TG9nZ2VyKSgiRGlhbG9nRXZlbnREaXNwYXRjaGVyIik7Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMuX29wZW5TZXNzaW9uSWQ9bnVsbH1kaXNwYXRjaChlKXtpZigiZGlhbG9nLW9wZW4iPT09ZSl7aWYobnVsbCE9PXRoaXMuX29wZW5TZXNzaW9uSWQpcmV0dXJuIHZvaWQgaS5sb2dFcnJvcigiTXVsdGlwbGUgY2FsbHMgdG8gb3BlbiBkaWFsb2ciKTt0aGlzLl9vcGVuU2Vzc2lvbklkPSgwLG4ucmFuZG9tSGFzaCkoKX1udWxsIT09dGhpcy5fb3BlblNlc3Npb25JZD8od2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KGUse2J1YmJsZXM6ITAsZGV0YWlsOntkaWFsb2dTZXNzaW9uSWQ6dGhpcy5fb3BlblNlc3Npb25JZH19KSksImRpYWxvZy1jbG9zZSI9PT1lJiYodGhpcy5fb3BlblNlc3Npb25JZD1udWxsKSk6aS5sb2dFcnJvcigiRW1wdHkgb3BlbiBkaWFsb2cgc2Vzc2lvbiBpZCIpfX19LDE3NjI2OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTciIHdpZHRoPSIxNyIgaGVpZ2h0PSIxNyIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBkPSJtLjU4IDEuNDIuODItLjgyIDE1IDE1LS44Mi44MnoiLz48cGF0aCBkPSJtLjU4IDE1LjU4IDE1LTE1IC44Mi44Mi0xNSAxNXoiLz48L3N2Zz4nfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/78652.4b4e097a303d21bc9781.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.789Z","timestamp":1785141584789,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/78652.4b4e097a303d21bc9781.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-93\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d708666efdcfb7ddb66dd1e29eda959b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":147,"size_decoded":898,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"d495be7c67520b3518ab3adbf5c62805","sha1":"194c04504f3be1bcc65c2c60fcc6b7feedafce35","sha256":"bbc2d1c9270827bfab04417c239e5264a20fc0f30e4ec1791d3810b7957b2a82","sha512":"7d9bc066af26016a6d8c93fddc2cce36252806a2fcc37fcd6908ef2a7ab5fa58453186cbb259e40244eebfde37ac1e6e7e018bca8969700d643a830a0d8f8a6e","ssdeep":"","tlshash":"b3c08cf80653324eb96554a04eb20a22a523c966e687400f008a624f0acd68206f4ba5","first_seen":"2026-07-17T14:15:58.462713Z","last_seen":"2026-07-27T14:27:22.632588Z","times_seen":158,"resource_available":false,"data":"LndyYXBwZXItVHk1TzFXSlF7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjhweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjI4cHh9LmRpck1hdGNoaW5nLVR5NU8xV0pROmRpcihydGwpe3RyYW5zZm9ybTpzY2FsZSgtMSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/10366.07e20e7bbee27c9d5fbc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.798Z","timestamp":1785141584798,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/10366.07e20e7bbee27c9d5fbc.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b75-273\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0ef4f0e52b098b35eacd12492f907ed0\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":627,"size_decoded":1034,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (627), with no line terminators","md5":"5d58fc11e377065e2e2ce19149de6728","sha1":"e2e8f933c9519c6e5964ccab1f629f4b6073cea9","sha256":"c4aac40ec27e2baca2016fee348eac9d6ef472c57c933542802b5232e6954733","sha512":"d2f9fd099b4743ed6080b2614bd2dbe5e97b62fa5a6437245aca2bc21efc494a0615b21fd83b0b977da80f532b7e87f34c29fbf4c9ccde299f75c9b0bf4cdf89","ssdeep":"","tlshash":"94f0a288a651f62b350f253e4b1ac1bc91a5a890e9402f7cb5bae2144ac8fc5a6f5428","first_seen":"2025-10-07T17:12:28.013112Z","last_seen":"2026-07-27T12:48:39.647058Z","times_seen":889,"resource_available":false,"data":"LndyYXBwZXItbXowODY2TTJ7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NHB4O2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQpKTtkaXNwbGF5OmZsZXg7aGVpZ2h0OjM4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDozOHB4fS53cmFwcGVyLW16MDg2Nk0yLmhvdmVyZWQtbXowODY2TTJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey53cmFwcGVyLW16MDg2Nk0yOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfX0ud3JhcHBlci1tejA4NjZNMjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/44911.fa61d2a274d4224434ca.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.148Z","timestamp":1785141584148,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/44911.fa61d2a274d4224434ca.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-5408\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b33bcbce32d5d9b18604e09ea89589e2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":21512,"size_decoded":7898,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"05e4055151a861bff8e38a76d25fa21b","sha1":"9f8bab99df4104fde7e4ce7e47379db991ae53a9","sha256":"1b602280ac3b82058c7577fff06841ffe0b4fb035b22d4aa046119a37ba46376","sha512":"003001c6510b718a9e57af8daa9fcf322e0f91dc14aa8c1397abe4328d8dcc7c27ac342595f1acc141b47b471420a8e8bd64536cbc0cc762c0bb7aedbed00596","ssdeep":"384:KlWkb+CeVhEy3dhGQZ5mvjqnGilhLgvmRA7R6VTc6w6DwuRGijR0WwnhbR8L+lct:KlWkNUNhGbjqGilhsvme16VTc6w6Dwuv","tlshash":"faa2618877c2f09a02d665da943b040bf33d1c9d25187464b391d8d96ebe56eb23bf38","first_seen":"2026-07-23T13:54:09.044064Z","last_seen":"2026-07-27T14:50:15.385783Z","times_seen":294,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0NDkxMV0sezM2MzI2OShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHttb2JpbGV0b3VjaDooKT0+cixzZXRDbGFzc2VzOigpPT5zLHRvdWNoOigpPT5hfSk7dmFyIGk9big3Mzg0NTgpO2NvbnN0IHI9aS5tb2JpbGV0b3VjaCxhPWkudG91Y2g7ZnVuY3Rpb24gcygpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKGkudG91Y2g/ImZlYXR1cmUtdG91Y2giOiJmZWF0dXJlLW5vLXRvdWNoIixpLm1vYmlsZXRvdWNoPyJmZWF0dXJlLW1vYmlsZXRvdWNoIjoiZmVhdHVyZS1uby1tb2JpbGV0b3VjaCIpfX0sMzE4OTc0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NoZWNrTW9iaWxlOigpPT5kLGFwcFZlcnNpb246KCk9PmYsY2hlY2tQYWdlVHlwZTooKT0+dixkZXNrdG9wQXBwVmVyc2lvbjooKT0+Yyxpc0Nocm9tZTooKT0+cCxpc0Rlc2t0b3BBcHA6KCk9Pm8saXNFZGdlOigpPT5tLGlzRkY6KCk9PmcsaXNMaW51eDooKT0+dSxpc01hYzooKT0+cyxpc1NhZmFyaTooKT0+Xyxpc1N5bXBob255RW1iZWQ6KCk9Pmwsb25Hb1BybzooKT0+YixvbldpZGdldDooKT0+ci5vbldpZGdldCxzdXBwb3J0VG91Y2g6KCk9Pmh9KTt2YXIgaT1uKDczODQ1OCkscj1uKDM3NzIyNik7Y29uc3QgYT13aW5kb3cuVHJhZGluZ1ZpZXc9d2luZG93LlRyYWRpbmdWaWV3fHx7fTtmdW5jdGlvbiBzKCl7cmV0dXJuIGkuaXNNYWN9ZnVuY3Rpb24gdSgpe3JldHVybiBpLmlzTGludXh9ZnVuY3Rpb24gbygpe3JldHVybi9UVkRlc2t0b3AvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfWZ1bmN0aW9uIGwoKXtyZXR1cm4gYS5pc1N5bXBob255fHwhMX1mdW5jdGlvbiBjKCl7Y29uc3QgZT1uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9UVkRlc2t0b3BcLyhbXlxzXSspLyk7cmV0dXJuIGUmJmVbMV19ZnVuY3Rpb24gZigpe2NvbnN0IGU9bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvVHJhZGluZ1ZpZXdcLyhbXlxzXSspLyk7cmV0dXJuIGUmJmVbMV19Y29uc3QgZD17QW5kcm9pZDooKT0+aS5pc0FuZHJvaWQsQmxhY2tCZXJyeTooKT0+aS5pc0JsYWNrQmVycnksaU9TOigpPT5pLmlzSU9TLE9wZXJhOigpPT5pLmlzT3BlcmFNaW5pLGlzSVBhZDooKT0+aS5pc0lQYWQsYW55OigpPT5pLmlzQW55TW9iaWxlfTtmdW5jdGlvbiBoKCl7cmV0dXJuIGkubW9iaWxldG91Y2h8fGkudG91Y2h8fGkuaXNBbnlNb2JpbGV9ZnVuY3Rpb24gdihlKXtyZXR1cm4gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5nZXQoInBhZ2VfdHlwZSIpPT09ZX1hLmlzTW9iaWxlPWQsYS5vbldpZGdldD1yLm9uV2lkZ2V0O2NvbnN0IHA9aS5pc0Nocm9tZSxnPWkuaXNGRixtPWkuaXNFZGdlLF89aS5pc1NhZmFyaTtmdW5jdGlvbiBiKCl7cmV0dXJuIi9wcmljaW5nLyI9PT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWV9fSw5NjMwOTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksbi5kKHQse2dldElzb0xhbmd1YWdlQ29kZUZyb21MYW5ndWFnZTooKT0+cn0pO2NvbnN0IGk9e2FyX0FFOiJhciIsYnI6InB0IixkZV9ERToiZGUiLGNhX0VTOiJjYSIsaGVfSUw6ImhlIixpZF9JRDoiaWQiLGluOiJlbiIsa3I6ImtvIixtc19NWToibXMiLHN2X1NFOiJzdiIsdGhfVEg6InRoIix1azoiZW4iLHZpX1ZOOiJ2aSIsemhfQ046InpoLUhhbnMiLHpoX1RXOiJ6aC1IYW50Iix6aDoiemgtSGFucyIsaHVfSFU6Imh1LUhVIn07ZnVuY3Rpb24gcihlKXtyZXR1cm4gaVtlXXx8ZX19LDUyNzMyMyhlLHQsbil7dmFyIGk7IWZ1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKCl7fXZhciBhPXIucHJvdG90eXBlLHM9dC5FdmVudEVtaXR0ZXI7ZnVuY3Rpb24gdShlLHQpe2Zvcih2YXIgbj1lLmxlbmd0aDtuLS07KWlmKGVbbl0ubGlzdGVuZXI9PT10KXJldHVybiBuO3JldHVybi0xfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbZV0uYXBwbHkodGhpcyxhcmd1bWVudHMpfX1mdW5jdGlvbiBsKGUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlfHxlIGluc3RhbmNlb2YgUmVnRXhwfHwhKCFlfHwib2JqZWN0IiE9dHlwZW9mIGUpJiZsKGUubGlzdGVuZXIpfWEuZ2V0TGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0LG4saT10aGlzLl9nZXRFdmVudHMoKTtpZihlIGluc3RhbmNlb2YgUmVnRXhwKWZvcihuIGluIHQ9e30saSlpLmhhc093blByb3BlcnR5KG4pJiZlLnRlc3QobikmJih0W25dPWlbbl0pO2Vsc2UgdD1pW2VdfHwoaVtlXT1bXSk7cmV0dXJuIHR9LGEuZmxhdHRlbkxpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdCxuPVtdO2Zvcih0PTA7dDxlLmxlbmd0aDt0Kz0xKW4ucHVzaChlW3RdLmxpc3RlbmVyKTtyZXR1cm4gbn0sYS5nZXRMaXN0ZW5lcnNBc09iamVjdD1mdW5jdGlvbihlKXt2YXIgdCxuPXRoaXMuZ2V0TGlzdGVuZXJzKGUpO3JldHVybiBuIGluc3RhbmNlb2YgQXJyYXkmJigodD17fSlbZV09biksdHx8bn0sYS5hZGRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe2lmKCFsKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoImxpc3RlbmVyIG11c3QgYmUgYSBmdW5jdGlvbiIpO3ZhciBuLGk9dGhpcy5nZXRMaXN0ZW5lcnNBc09iamVjdChlKSxyPSJvYmplY3QiPT10eXBlb2YgdDtmb3IobiBpbiBpKWkuaGFzT3duUHJvcGVydHkobikmJi0xPT09dShpW25dLHQpJiZpW25dLnB1c2gocj90OntsaXN0ZW5lcjp0LG9uY2U6ITF9KTtyZXR1cm4gdGhpc30sYS5vbj1vKCJhZGRMaXN0ZW5lciIpLGEuYWRkT25jZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuYWRkTGlzdGVuZXIoZSx7bGlzdGVuZXI6dCxvbmNlOiEwfSl9LGEub25jZT1vKCJhZGRPbmNlTGlzdGVuZXIiKSxhLmRlZmluZUV2ZW50PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmdldExpc3RlbmVycyhlKSx0aGlzfSxhLmRlZmluZUV2ZW50cz1mdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrPTEpdGhpcy5kZWZpbmVFdmVudChlW3RdKTtyZXR1cm4gdGhpc30sCmEucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24oZSx0KXt2YXIgbixpLHI9dGhpcy5nZXRMaXN0ZW5lcnNBc09iamVjdChlKTtmb3IoaSBpbiByKXIuaGFzT3duUHJvcGVydHkoaSkmJi0xIT09KG49dShyW2ldLHQpKSYmcltpXS5zcGxpY2UobiwxKTtyZXR1cm4gdGhpc30sYS5vZmY9bygicmVtb3ZlTGlzdGVuZXIiKSxhLmFkZExpc3RlbmVycz1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm1hbmlwdWxhdGVMaXN0ZW5lcnMoITEsZSx0KX0sYS5yZW1vdmVMaXN0ZW5lcnM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5tYW5pcHVsYXRlTGlzdGVuZXJzKCEwLGUsdCl9LGEubWFuaXB1bGF0ZUxpc3RlbmVycz1mdW5jdGlvbihlLHQsbil7dmFyIGkscixhPWU/dGhpcy5yZW1vdmVMaXN0ZW5lcjp0aGlzLmFkZExpc3RlbmVyLHM9ZT90aGlzLnJlbW92ZUxpc3RlbmVyczp0aGlzLmFkZExpc3RlbmVycztpZigib2JqZWN0IiE9dHlwZW9mIHR8fHQgaW5zdGFuY2VvZiBSZWdFeHApZm9yKGk9bi5sZW5ndGg7aS0tOylhLmNhbGwodGhpcyx0LG5baV0pO2Vsc2UgZm9yKGkgaW4gdCl0Lmhhc093blByb3BlcnR5KGkpJiYocj10W2ldKSYmKCJmdW5jdGlvbiI9PXR5cGVvZiByP2EuY2FsbCh0aGlzLGkscik6cy5jYWxsKHRoaXMsaSxyKSk7cmV0dXJuIHRoaXN9LGEucmVtb3ZlRXZlbnQ9ZnVuY3Rpb24oZSl7dmFyIHQsbj10eXBlb2YgZSxpPXRoaXMuX2dldEV2ZW50cygpO2lmKCJzdHJpbmciPT09bilkZWxldGUgaVtlXTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBSZWdFeHApZm9yKHQgaW4gaSlpLmhhc093blByb3BlcnR5KHQpJiZlLnRlc3QodCkmJmRlbGV0ZSBpW3RdO2Vsc2UgZGVsZXRlIHRoaXMuX2V2ZW50cztyZXR1cm4gdGhpc30sYS5yZW1vdmVBbGxMaXN0ZW5lcnM9bygicmVtb3ZlRXZlbnQiKSxhLmVtaXRFdmVudD1mdW5jdGlvbihlLHQpe3ZhciBuLGkscixhLHM9dGhpcy5nZXRMaXN0ZW5lcnNBc09iamVjdChlKTtmb3IoYSBpbiBzKWlmKHMuaGFzT3duUHJvcGVydHkoYSkpZm9yKG49c1thXS5zbGljZSgwKSxyPTA7cjxuLmxlbmd0aDtyKyspITA9PT0oaT1uW3JdKS5vbmNlJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGUsaS5saXN0ZW5lciksaS5saXN0ZW5lci5hcHBseSh0aGlzLHR8fFtdKT09PXRoaXMuX2dldE9uY2VSZXR1cm5WYWx1ZSgpJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGUsaS5saXN0ZW5lcik7cmV0dXJuIHRoaXN9LGEudHJpZ2dlcj1vKCJlbWl0RXZlbnQiKSxhLmVtaXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiB0aGlzLmVtaXRFdmVudChlLHQpfSxhLnNldE9uY2VSZXR1cm5WYWx1ZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fb25jZVJldHVyblZhbHVlPWUsdGhpc30sYS5fZ2V0T25jZVJldHVyblZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaGFzT3duUHJvcGVydHkoIl9vbmNlUmV0dXJuVmFsdWUiKXx8dGhpcy5fb25jZVJldHVyblZhbHVlfSxhLl9nZXRFdmVudHM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZXZlbnRzfHwodGhpcy5fZXZlbnRzPXt9KX0sci5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHQuRXZlbnRFbWl0dGVyPXMscn0sdm9pZCAwPT09KGk9ZnVuY3Rpb24oKXtyZXR1cm4gcn0uY2FsbCh0LG4sdCxlKSl8fChlLmV4cG9ydHM9aSl9KHRoaXN8fHt9KX0sOTE4Nzc5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NhbnZhc1JlbmRlcmluZ1RhcmdldDJEOigpPT5vLGJpbmRDYW52YXNFbGVtZW50Qml0bWFwU2l6ZVRvOigpPT5zLGVxdWFsU2l6ZXM6KCk9PmkuZXF1YWxTaXplcyxzaXplOigpPT5pLnNpemUsdHJ5Q3JlYXRlQ2FudmFzUmVuZGVyaW5nVGFyZ2V0MkQ6KCk9Pmx9KTt2YXIgaT1uKDc0Mjc5KSxyPW4oNzQzNDUxKSxhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQsbil7dmFyIHI7dGhpcy5fY2FudmFzRWxlbWVudD1udWxsLHRoaXMuX2JpdG1hcFNpemVDaGFuZ2VkTGlzdGVuZXJzPVtdLHRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemU9bnVsbCx0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycz1bXSx0aGlzLl9kZXZpY2VQaXhlbFJhdGlvT2JzZXJ2YWJsZT1udWxsLHRoaXMuX2NhbnZhc0VsZW1lbnRSZXNpemVPYnNlcnZlcj1udWxsLHRoaXMuX2NhbnZhc0VsZW1lbnQ9ZSx0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZT0oMCxpLnNpemUpKHt3aWR0aDp0aGlzLl9jYW52YXNFbGVtZW50LmNsaWVudFdpZHRoLGhlaWdodDp0aGlzLl9jYW52YXNFbGVtZW50LmNsaWVudEhlaWdodH0pLHRoaXMuX3RyYW5zZm9ybUJpdG1hcFNpemU9bnVsbCE9dD90OmZ1bmN0aW9uKGUpe3JldHVybiBlfSx0aGlzLl9hbGxvd1Jlc2l6ZU9ic2VydmVyPW51bGw9PT0ocj1udWxsPT1uP3ZvaWQgMDpuLmFsbG93UmVzaXplT2JzZXJ2ZXIpfHx2b2lkIDA9PT1yfHxyLHRoaXMuX2Nob29zZUFuZEluaXRPYnNlcnZlcigpfXJldHVybiBlLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dmFyIGUsdDtpZihudWxsPT09dGhpcy5fY2FudmFzRWxlbWVudCl0aHJvdyBuZXcgRXJyb3IoIk9iamVjdCBpcyBkaXNwb3NlZCIpO251bGw9PT0oZT10aGlzLl9jYW52YXNFbGVtZW50UmVzaXplT2JzZXJ2ZXIpfHx2b2lkIDA9PT1lfHxlLmRpc2Nvbm5lY3QoKSx0aGlzLl9jYW52YXNFbGVtZW50UmVzaXplT2JzZXJ2ZXI9bnVsbCxudWxsPT09KHQ9dGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGUpfHx2b2lkIDA9PT10fHx0LmRpc3Bvc2UoKSx0aGlzLl9kZXZpY2VQaXhlbFJhdGlvT2JzZXJ2YWJsZT1udWxsLHRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkTGlzdGVuZXJzLmxlbmd0aD0wLHRoaXMuX2JpdG1hcFNpemVDaGFuZ2VkTGlzdGVuZXJzLmxlbmd0aD0wLHRoaXMuX2NhbnZhc0VsZW1lbnQ9bnVsbH0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJjYW52YXNFbGVtZW50Iix7Z2V0OmZ1bmN0aW9uKCl7aWYobnVsbD09PXRoaXMuX2NhbnZhc0VsZW1lbnQpdGhyb3cgbmV3IEVycm9yKCJPYmplY3QgaXMgZGlzcG9zZWQiKQo7cmV0dXJuIHRoaXMuX2NhbnZhc0VsZW1lbnR9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJjYW52YXNFbGVtZW50Q2xpZW50U2l6ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsImJpdG1hcFNpemUiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4oMCxpLnNpemUpKHt3aWR0aDp0aGlzLmNhbnZhc0VsZW1lbnQud2lkdGgsaGVpZ2h0OnRoaXMuY2FudmFzRWxlbWVudC5oZWlnaHR9KX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxlLnByb3RvdHlwZS5yZXNpemVDYW52YXNFbGVtZW50PWZ1bmN0aW9uKGUpe3RoaXMuX2NhbnZhc0VsZW1lbnRDbGllbnRTaXplPSgwLGkuc2l6ZSkoZSksdGhpcy5jYW52YXNFbGVtZW50LnN0eWxlLndpZHRoPSIiLmNvbmNhdCh0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZS53aWR0aCwicHgiKSx0aGlzLmNhbnZhc0VsZW1lbnQuc3R5bGUuaGVpZ2h0PSIiLmNvbmNhdCh0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZS5oZWlnaHQsInB4IiksdGhpcy5faW52YWxpZGF0ZUJpdG1hcFNpemUoKX0sZS5wcm90b3R5cGUuc3Vic2NyaWJlQml0bWFwU2l6ZUNoYW5nZWQ9ZnVuY3Rpb24oZSl7dGhpcy5fYml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMucHVzaChlKX0sZS5wcm90b3R5cGUudW5zdWJzY3JpYmVCaXRtYXBTaXplQ2hhbmdlZD1mdW5jdGlvbihlKXt0aGlzLl9iaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycz10aGlzLl9iaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0IT09ZX0pKX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJzdWdnZXN0ZWRCaXRtYXBTaXplIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemV9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS5wcm90b3R5cGUuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQ9ZnVuY3Rpb24oZSl7dGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMucHVzaChlKX0sZS5wcm90b3R5cGUudW5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZD1mdW5jdGlvbihlKXt0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycz10aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0IT09ZX0pKX0sZS5wcm90b3R5cGUuYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplPWZ1bmN0aW9uKCl7aWYobnVsbCE9PXRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemUpe3ZhciBlPXRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemU7dGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZT1udWxsLHRoaXMuX3Jlc2l6ZUJpdG1hcChlKSx0aGlzLl9lbWl0U3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQoZSx0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplKX19LGUucHJvdG90eXBlLl9yZXNpemVCaXRtYXA9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5iaXRtYXBTaXplOygwLGkuZXF1YWxTaXplcykodCxlKXx8KHRoaXMuY2FudmFzRWxlbWVudC53aWR0aD1lLndpZHRoLHRoaXMuY2FudmFzRWxlbWVudC5oZWlnaHQ9ZS5oZWlnaHQsdGhpcy5fZW1pdEJpdG1hcFNpemVDaGFuZ2VkKHQsZSkpfSxlLnByb3RvdHlwZS5fZW1pdEJpdG1hcFNpemVDaGFuZ2VkPWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpczt0aGlzLl9iaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5mb3JFYWNoKChmdW5jdGlvbihpKXtyZXR1cm4gaS5jYWxsKG4sZSx0KX0pKX0sZS5wcm90b3R5cGUuX3N1Z2dlc3ROZXdCaXRtYXBTaXplPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemUsbj0oMCxpLnNpemUpKHRoaXMuX3RyYW5zZm9ybUJpdG1hcFNpemUoZSx0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZSkpLHI9KDAsaS5lcXVhbFNpemVzKSh0aGlzLmJpdG1hcFNpemUsbik/bnVsbDpuO251bGw9PT10JiZudWxsPT09cnx8bnVsbCE9PXQmJm51bGwhPT1yJiYoMCxpLmVxdWFsU2l6ZXMpKHQscil8fCh0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplPXIsdGhpcy5fZW1pdFN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHQscikpfSxlLnByb3RvdHlwZS5fZW1pdFN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkPWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpczt0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5mb3JFYWNoKChmdW5jdGlvbihpKXtyZXR1cm4gaS5jYWxsKG4sZSx0KX0pKX0sZS5wcm90b3R5cGUuX2Nob29zZUFuZEluaXRPYnNlcnZlcj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5fYWxsb3dSZXNpemVPYnNlcnZlcj9uZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IFJlc2l6ZU9ic2VydmVyKChmdW5jdGlvbihuKXtlKG4uZXZlcnkoKGZ1bmN0aW9uKGUpe3JldHVybiJkZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplImluIGV9KSkpLHQuZGlzY29ubmVjdCgpfSkpO3Qub2JzZXJ2ZShkb2N1bWVudC5ib2R5LHtib3g6ImRldmljZS1waXhlbC1jb250ZW50LWJveCJ9KX0pKS5jYXRjaCgoZnVuY3Rpb24oKXtyZXR1cm4hMX0pKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gdD9lLl9pbml0UmVzaXplT2JzZXJ2ZXIoKTplLl9pbml0RGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGUoKX0pKTp0aGlzLl9pbml0RGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGUoKX0sZS5wcm90b3R5cGUuX2luaXREZXZpY2VQaXhlbFJhdGlvT2JzZXJ2YWJsZT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYobnVsbCE9PXRoaXMuX2NhbnZhc0VsZW1lbnQpe3ZhciB0PXUodGhpcy5fY2FudmFzRWxlbWVudCk7aWYobnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKCJObyB3aW5kb3cgaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjYW52YXMiKQo7dGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGU9KDAsci5jcmVhdGVPYnNlcnZhYmxlKSh0KSx0aGlzLl9kZXZpY2VQaXhlbFJhdGlvT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKGZ1bmN0aW9uKCl7cmV0dXJuIGUuX2ludmFsaWRhdGVCaXRtYXBTaXplKCl9KSksdGhpcy5faW52YWxpZGF0ZUJpdG1hcFNpemUoKX19LGUucHJvdG90eXBlLl9pbnZhbGlkYXRlQml0bWFwU2l6ZT1mdW5jdGlvbigpe3ZhciBlLHQ7aWYobnVsbCE9PXRoaXMuX2NhbnZhc0VsZW1lbnQpe3ZhciBuPXUodGhpcy5fY2FudmFzRWxlbWVudCk7aWYobnVsbCE9PW4pe3ZhciByPW51bGwhPT0odD1udWxsPT09KGU9dGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGUpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLnZhbHVlKSYmdm9pZCAwIT09dD90Om4uZGV2aWNlUGl4ZWxSYXRpbyxhPXRoaXMuX2NhbnZhc0VsZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKSxzPXZvaWQgMCE9PWFbMF0/ZnVuY3Rpb24oZSx0KXtyZXR1cm4oMCxpLnNpemUpKHt3aWR0aDpNYXRoLnJvdW5kKGUubGVmdCp0K2Uud2lkdGgqdCktTWF0aC5yb3VuZChlLmxlZnQqdCksaGVpZ2h0Ok1hdGgucm91bmQoZS50b3AqdCtlLmhlaWdodCp0KS1NYXRoLnJvdW5kKGUudG9wKnQpfSl9KGFbMF0scik6KDAsaS5zaXplKSh7d2lkdGg6dGhpcy5fY2FudmFzRWxlbWVudENsaWVudFNpemUud2lkdGgqcixoZWlnaHQ6dGhpcy5fY2FudmFzRWxlbWVudENsaWVudFNpemUuaGVpZ2h0KnJ9KTt0aGlzLl9zdWdnZXN0TmV3Qml0bWFwU2l6ZShzKX19fSxlLnByb3RvdHlwZS5faW5pdFJlc2l6ZU9ic2VydmVyPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztudWxsIT09dGhpcy5fY2FudmFzRWxlbWVudCYmKHRoaXMuX2NhbnZhc0VsZW1lbnRSZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKGZ1bmN0aW9uKHQpe3ZhciBuPXQuZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIHQudGFyZ2V0PT09ZS5fY2FudmFzRWxlbWVudH0pKTtpZihuJiZuLmRldmljZVBpeGVsQ29udGVudEJveFNpemUmJm4uZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZVswXSl7dmFyIHI9bi5kZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplWzBdLGE9KDAsaS5zaXplKSh7d2lkdGg6ci5pbmxpbmVTaXplLGhlaWdodDpyLmJsb2NrU2l6ZX0pO2UuX3N1Z2dlc3ROZXdCaXRtYXBTaXplKGEpfX0pKSx0aGlzLl9jYW52YXNFbGVtZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9jYW52YXNFbGVtZW50LHtib3g6ImRldmljZS1waXhlbC1jb250ZW50LWJveCJ9KSl9LGV9KCk7ZnVuY3Rpb24gcyhlLHQpe2lmKCJkZXZpY2UtcGl4ZWwtY29udGVudC1ib3giPT09dC50eXBlKXJldHVybiBuZXcgYShlLHQudHJhbnNmb3JtLHQub3B0aW9ucyk7dGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBiaW5kaW5nIHRhcmdldCIpfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIGUub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlld312YXIgbz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0LG4pe2lmKDA9PT10LndpZHRofHwwPT09dC5oZWlnaHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiUmVuZGVyaW5nIHRhcmdldCBjb3VsZCBvbmx5IGJlIGNyZWF0ZWQgb24gYSBtZWRpYSB3aXRoIHBvc2l0aXZlIHdpZHRoIGFuZCBoZWlnaHQiKTtpZih0aGlzLl9tZWRpYVNpemU9dCwwPT09bi53aWR0aHx8MD09PW4uaGVpZ2h0KXRocm93IG5ldyBUeXBlRXJyb3IoIlJlbmRlcmluZyB0YXJnZXQgY291bGQgb25seSBiZSBjcmVhdGVkIHVzaW5nIGEgYml0bWFwIHdpdGggcG9zaXRpdmUgaW50ZWdlciB3aWR0aCBhbmQgaGVpZ2h0Iik7dGhpcy5fYml0bWFwU2l6ZT1uLHRoaXMuX2NvbnRleHQ9ZX1yZXR1cm4gZS5wcm90b3R5cGUudXNlTWVkaWFDb29yZGluYXRlU3BhY2U9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiB0aGlzLl9jb250ZXh0LnNhdmUoKSx0aGlzLl9jb250ZXh0LnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCksdGhpcy5fY29udGV4dC5zY2FsZSh0aGlzLl9ob3Jpem9udGFsUGl4ZWxSYXRpbyx0aGlzLl92ZXJ0aWNhbFBpeGVsUmF0aW8pLGUoe2NvbnRleHQ6dGhpcy5fY29udGV4dCxtZWRpYVNpemU6dGhpcy5fbWVkaWFTaXplfSl9ZmluYWxseXt0aGlzLl9jb250ZXh0LnJlc3RvcmUoKX19LGUucHJvdG90eXBlLnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZT1mdW5jdGlvbihlKXt0cnl7cmV0dXJuIHRoaXMuX2NvbnRleHQuc2F2ZSgpLHRoaXMuX2NvbnRleHQuc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKSxlKHtjb250ZXh0OnRoaXMuX2NvbnRleHQsbWVkaWFTaXplOnRoaXMuX21lZGlhU2l6ZSxiaXRtYXBTaXplOnRoaXMuX2JpdG1hcFNpemUsaG9yaXpvbnRhbFBpeGVsUmF0aW86dGhpcy5faG9yaXpvbnRhbFBpeGVsUmF0aW8sdmVydGljYWxQaXhlbFJhdGlvOnRoaXMuX3ZlcnRpY2FsUGl4ZWxSYXRpb30pfWZpbmFsbHl7dGhpcy5fY29udGV4dC5yZXN0b3JlKCl9fSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsIl9ob3Jpem9udGFsUGl4ZWxSYXRpbyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9iaXRtYXBTaXplLndpZHRoL3RoaXMuX21lZGlhU2l6ZS53aWR0aH0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsIl92ZXJ0aWNhbFBpeGVsUmF0aW8iLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYml0bWFwU2l6ZS5oZWlnaHQvdGhpcy5fbWVkaWFTaXplLmhlaWdodH0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxlfSgpO2Z1bmN0aW9uIGwoZSx0KXt2YXIgbj1lLmNhbnZhc0VsZW1lbnRDbGllbnRTaXplO2lmKDA9PT1uLndpZHRofHwwPT09bi5oZWlnaHQpcmV0dXJuIG51bGw7dmFyIGk9ZS5iaXRtYXBTaXplO2lmKDA9PT1pLndpZHRofHwwPT09aS5oZWlnaHQpcmV0dXJuIG51bGw7dmFyIHI9ZS5jYW52YXNFbGVtZW50LmdldENvbnRleHQoIjJkIix0KTtyZXR1cm4gbnVsbD09PXI/bnVsbDpuZXcgbyhyLG4saSl9fSw3OTgwOTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+aX0pCjtjb25zdCBpPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPS0xLGk9bnVsbD09ZT8wOmUubGVuZ3RoLHI9QXJyYXkoaSk7KytuPGk7KXJbbl09dChlW25dLG4sZSk7cmV0dXJuIHJ9fSw2NzkyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHQ6KCk9Pml9KTtjb25zdCBpPWZ1bmN0aW9uKGUsdCxuLGkpe3ZhciByPS0xLGE9bnVsbD09ZT8wOmUubGVuZ3RoO2ZvcihpJiZhJiYobj1lWysrcl0pOysrcjxhOyluPXQobixlW3JdLHIsZSk7cmV0dXJuIG59fSwxOTMzODIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+YX0pO3ZhciBpPW4oMjQ1MDcpLHI9bigzOTI5MDgpO2NvbnN0IGE9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24obixpKXtpZihudWxsPT1uKXJldHVybiBuO2lmKCEoMCxyLmRlZmF1bHQpKG4pKXJldHVybiBlKG4saSk7Zm9yKHZhciBhPW4ubGVuZ3RoLHM9dD9hOi0xLHU9T2JqZWN0KG4pOyh0P3MtLTorK3M8YSkmJiExIT09aSh1W3NdLHMsdSk7KTtyZXR1cm4gbn19KGkuZGVmYXVsdCl9LDk4MTM2NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5sfSk7dmFyIGk9big0NDg2MjYpLHI9big4NzI5OTkpLGE9big1MzE1NTcpLHM9bigyOTU2MzUpLHU9ci5kZWZhdWx0P3IuZGVmYXVsdC5pc0NvbmNhdFNwcmVhZGFibGU6dm9pZCAwO2NvbnN0IG89ZnVuY3Rpb24oZSl7cmV0dXJuKDAscy5kZWZhdWx0KShlKXx8KDAsYS5kZWZhdWx0KShlKXx8ISEodSYmZSYmZVt1XSl9O2NvbnN0IGw9ZnVuY3Rpb24gZSh0LG4scixhLHMpe3ZhciB1PS0xLGw9dC5sZW5ndGg7Zm9yKHJ8fChyPW8pLHN8fChzPVtdKTsrK3U8bDspe3ZhciBjPXRbdV07bj4wJiZyKGMpP24+MT9lKGMsbi0xLHIsYSxzKTooMCxpLmRlZmF1bHQpKHMsYyk6YXx8KHNbcy5sZW5ndGhdPWMpfXJldHVybiBzfX0sMjQ1MDcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+YX0pO3ZhciBpPW4oMjU4MjYpLHI9bigzMDkwODApO2NvbnN0IGE9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSYmKDAsaS5kZWZhdWx0KShlLHQsci5kZWZhdWx0KX19LDk4MDQxNihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5hfSk7dmFyIGk9bigyNjk2MjcpLHI9big3MzAxOSk7Y29uc3QgYT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0wLGE9KHQ9KDAsaS5kZWZhdWx0KSh0LGUpKS5sZW5ndGg7bnVsbCE9ZSYmbjxhOyllPWVbKDAsci5kZWZhdWx0KSh0W24rK10pXTtyZXR1cm4gbiYmbj09YT9lOnZvaWQgMH19LDMzNDQxMyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT53fSk7dmFyIGk9big4ODY1MTQpLHI9big4NzI4ODEpO2NvbnN0IGE9ZnVuY3Rpb24oZSx0LG4sYSl7dmFyIHM9bi5sZW5ndGgsdT1zLG89IWE7aWYobnVsbD09ZSlyZXR1cm4hdTtmb3IoZT1PYmplY3QoZSk7cy0tOyl7dmFyIGw9bltzXTtpZihvJiZsWzJdP2xbMV0hPT1lW2xbMF1dOiEobFswXWluIGUpKXJldHVybiExfWZvcig7KytzPHU7KXt2YXIgYz0obD1uW3NdKVswXSxmPWVbY10sZD1sWzFdO2lmKG8mJmxbMl0pe2lmKHZvaWQgMD09PWYmJiEoYyBpbiBlKSlyZXR1cm4hMX1lbHNle3ZhciBoPW5ldyBpLmRlZmF1bHQ7aWYoYSl2YXIgdj1hKGYsZCxjLGUsdCxoKTtpZighKHZvaWQgMD09PXY/KDAsci5kZWZhdWx0KShkLGYsMyxhLGgpOnYpKXJldHVybiExfX1yZXR1cm4hMH07dmFyIHM9big4ODAxMTUpO2NvbnN0IHU9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PWUmJiEoMCxzLmRlZmF1bHQpKGUpfTt2YXIgbz1uKDMwOTA4MCk7Y29uc3QgbD1mdW5jdGlvbihlKXtmb3IodmFyIHQ9KDAsby5kZWZhdWx0KShlKSxuPXQubGVuZ3RoO24tLTspe3ZhciBpPXRbbl0scj1lW2ldO3Rbbl09W2kscix1KHIpXX1yZXR1cm4gdH07Y29uc3QgYz1mdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gbnVsbCE9biYmKG5bZV09PT10JiYodm9pZCAwIT09dHx8ZSBpbiBPYmplY3QobikpKX19O2NvbnN0IGY9ZnVuY3Rpb24oZSl7dmFyIHQ9bChlKTtyZXR1cm4gMT09dC5sZW5ndGgmJnRbMF1bMl0/Yyh0WzBdWzBdLHRbMF1bMV0pOmZ1bmN0aW9uKG4pe3JldHVybiBuPT09ZXx8YShuLGUsdCl9fTt2YXIgZD1uKDU1NDcxOCksaD1uKDIxODY2OSksdj1uKDk4ODk5MikscD1uKDczMDE5KTtjb25zdCBnPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsdi5kZWZhdWx0KShlKSYmdSh0KT9jKCgwLHAuZGVmYXVsdCkoZSksdCk6ZnVuY3Rpb24obil7dmFyIGk9KDAsZC5kZWZhdWx0KShuLGUpO3JldHVybiB2b2lkIDA9PT1pJiZpPT09dD8oMCxoLmRlZmF1bHQpKG4sZSk6KDAsci5kZWZhdWx0KSh0LGksMyl9fTt2YXIgbT1uKDIzMjg1NCksXz1uKDI5NTYzNSk7Y29uc3QgYj1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dm9pZCAwOnRbZV19fTt2YXIgej1uKDk4MDQxNik7Y29uc3QgUz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuKDAsei5kZWZhdWx0KSh0LGUpfX07Y29uc3QgeT1mdW5jdGlvbihlKXtyZXR1cm4oMCx2LmRlZmF1bHQpKGUpP2IoKDAscC5kZWZhdWx0KShlKSk6UyhlKX07Y29uc3Qgdz1mdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZT9lOm51bGw9PWU/bS5kZWZhdWx0OiJvYmplY3QiPT10eXBlb2YgZT8oMCxfLmRlZmF1bHQpKGUpP2coZVswXSxlWzFdKTpmKGUpOnkoZSl9fSw2ODUxNTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+c30pO3ZhciBpPW4oOTgwNDE2KSxyPW4oMjk3MTI0KSxhPW4oMjY5NjI3KTtjb25zdCBzPWZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHM9LTEsdT10Lmxlbmd0aCxvPXt9Oysrczx1Oyl7dmFyIGw9dFtzXSxjPSgwLGkuZGVmYXVsdCkoZSxsKTtuKGMsbCkmJigwLHIuZGVmYXVsdCkobywoMCxhLmRlZmF1bHQpKGwsZSksYyl9cmV0dXJuIG99fSwyOTcxMjQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+b30pCjt2YXIgaT1uKDE2ODUzMykscj1uKDI2OTYyNyksYT1uKDkyMTE0Mykscz1uKDg4MDExNSksdT1uKDczMDE5KTtjb25zdCBvPWZ1bmN0aW9uKGUsdCxuLG8pe2lmKCEoMCxzLmRlZmF1bHQpKGUpKXJldHVybiBlO2Zvcih2YXIgbD0tMSxjPSh0PSgwLHIuZGVmYXVsdCkodCxlKSkubGVuZ3RoLGY9Yy0xLGQ9ZTtudWxsIT1kJiYrK2w8Yzspe3ZhciBoPSgwLHUuZGVmYXVsdCkodFtsXSksdj1uO2lmKCJfX3Byb3RvX18iPT09aHx8ImNvbnN0cnVjdG9yIj09PWh8fCJwcm90b3R5cGUiPT09aClyZXR1cm4gZTtpZihsIT1mKXt2YXIgcD1kW2hdO3ZvaWQgMD09PSh2PW8/byhwLGgsZCk6dm9pZCAwKSYmKHY9KDAscy5kZWZhdWx0KShwKT9wOigwLGEuZGVmYXVsdCkodFtsKzFdKT9bXTp7fSl9KDAsaS5kZWZhdWx0KShkLGgsdiksZD1kW2hdfXJldHVybiBlfX0sNDkzNzE4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHQ6KCk9Pml9KTtjb25zdCBpPWZ1bmN0aW9uKGUsdCxuKXt2YXIgaT0tMSxyPWUubGVuZ3RoO3Q8MCYmKHQ9LXQ+cj8wOnIrdCksKG49bj5yP3I6bik8MCYmKG4rPXIpLHI9dD5uPzA6bi10Pj4+MCx0Pj4+PTA7Zm9yKHZhciBhPUFycmF5KHIpOysraTxyOylhW2ldPWVbaSt0XTtyZXR1cm4gYX19LDI0MjcwOChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5jfSk7dmFyIGk9bigyNjk2MjcpLHI9big5MjYwODgpLGE9big5ODA0MTYpLHM9big0OTM3MTgpO2NvbnN0IHU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC5sZW5ndGg8Mj9lOigwLGEuZGVmYXVsdCkoZSwoMCxzLmRlZmF1bHQpKHQsMCwtMSkpfTt2YXIgbz1uKDczMDE5KSxsPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Y29uc3QgYz1mdW5jdGlvbihlLHQpe3ZhciBuPS0xLGE9KHQ9KDAsaS5kZWZhdWx0KSh0LGUpKS5sZW5ndGg7aWYoIWEpcmV0dXJuITA7Zm9yKDsrK248YTspe3ZhciBzPSgwLG8uZGVmYXVsdCkodFtuXSk7aWYoIl9fcHJvdG9fXyI9PT1zJiYhbC5jYWxsKGUsIl9fcHJvdG9fXyIpKXJldHVybiExO2lmKCgiY29uc3RydWN0b3IiPT09c3x8InByb3RvdHlwZSI9PT1zKSYmbjxhLTEpcmV0dXJuITF9dmFyIGM9dShlLHQpO3JldHVybiBudWxsPT1jfHxkZWxldGUgY1soMCxvLmRlZmF1bHQpKCgwLHIuZGVmYXVsdCkodCkpXX19LDI2OTYyNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5jfSk7dmFyIGk9bigyOTU2MzUpLHI9big5ODg5OTIpLGE9big2NjMwNDYpO3ZhciBzPS9bXi5bXF1dK3xcWyg/OigtP1xkKyg/OlwuXGQrKT8pfChbIiddKSgoPzooPyFcMilbXlxcXXxcXC4pKj8pXDIpXF18KD89KD86XC58XFtcXSkoPzpcLnxcW1xdfCQpKS9nLHU9L1xcKFxcKT8vZztjb25zdCBvPWZ1bmN0aW9uKGUpe3ZhciB0PSgwLGEuZGVmYXVsdCkoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIDUwMD09PW4uc2l6ZSYmbi5jbGVhcigpLGV9KSksbj10LmNhY2hlO3JldHVybiB0fSgoZnVuY3Rpb24oZSl7dmFyIHQ9W107cmV0dXJuIDQ2PT09ZS5jaGFyQ29kZUF0KDApJiZ0LnB1c2goIiIpLGUucmVwbGFjZShzLChmdW5jdGlvbihlLG4saSxyKXt0LnB1c2goaT9yLnJlcGxhY2UodSwiJDEiKTpufHxlKX0pKSx0fSkpO3ZhciBsPW4oMjU5NTQyKTtjb25zdCBjPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsaS5kZWZhdWx0KShlKT9lOigwLHIuZGVmYXVsdCkoZSx0KT9bZV06bygoMCxsLmRlZmF1bHQpKGUpKX19LDI2MDgwNihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5zfSk7dmFyIGk9big0NzY2NCkscj1uKDM3MjAzNSksYT1uKDcwOTA1MSk7Y29uc3Qgcz1mdW5jdGlvbihlKXtyZXR1cm4oMCxhLmRlZmF1bHQpKCgwLHIuZGVmYXVsdCkoZSx2b2lkIDAsaS5kZWZhdWx0KSxlKyIiKX19LDk4ODk5MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT51fSk7dmFyIGk9bigyOTU2MzUpLHI9big3MTczMzIpLGE9L1wufFxbKD86W15bXF1dKnwoWyInXSkoPzooPyFcMSlbXlxcXXxcXC4pKj9cMSlcXS8scz0vXlx3KiQvO2NvbnN0IHU9ZnVuY3Rpb24oZSx0KXtpZigoMCxpLmRlZmF1bHQpKGUpKXJldHVybiExO3ZhciBuPXR5cGVvZiBlO3JldHVybiEoIm51bWJlciIhPW4mJiJzeW1ib2wiIT1uJiYiYm9vbGVhbiIhPW4mJm51bGwhPWUmJiEoMCxyLmRlZmF1bHQpKGUpKXx8KHMudGVzdChlKXx8IWEudGVzdChlKXx8bnVsbCE9dCYmZSBpbiBPYmplY3QodCkpfX0sNzMwMTkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+cn0pO3ZhciBpPW4oNzE3MzMyKTtjb25zdCByPWZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZXx8KDAsaS5kZWZhdWx0KShlKSlyZXR1cm4gZTt2YXIgdD1lKyIiO3JldHVybiIwIj09dCYmMS9lPT0tMS8wPyItMCI6dH19LDQ0MTgwNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5yfSk7dmFyIGk9big0OTMwMTgpO2NvbnN0IHI9ZnVuY3Rpb24oZSl7cmV0dXJuKDAsaS5kZWZhdWx0KShlLDQpfX0sODc3ODU5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHQ6KCk9PmZ9KTt2YXIgaT1uKDMzNDQxMykscj1uKDM5MjkwOCksYT1uKDMwOTA4MCk7Y29uc3Qgcz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCxuLHMpe3ZhciB1PU9iamVjdCh0KTtpZighKDAsci5kZWZhdWx0KSh0KSl7dmFyIG89KDAsaS5kZWZhdWx0KShuLDMpO3Q9KDAsYS5kZWZhdWx0KSh0KSxuPWZ1bmN0aW9uKGUpe3JldHVybiBvKHVbZV0sZSx1KX19dmFyIGw9ZSh0LG4scyk7cmV0dXJuIGw+LTE/dVtvP3RbbF06bF06dm9pZCAwfX07dmFyIHU9big2ODg5NjUpLG89big2OTIzNjkpLGw9TWF0aC5tYXgsYz1NYXRoLm1pbjtjb25zdCBmPXMoKGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1udWxsPT1lPzA6ZS5sZW5ndGg7aWYoIXIpcmV0dXJuLTE7dmFyIGE9ci0xO3JldHVybiB2b2lkIDAhPT1uJiYoYT0oMCxvLmRlZmF1bHQpKG4pLGE9bjwwP2wocithLDApOmMoYSxyLTEpKSwoMCx1LmRlZmF1bHQpKGUsKDAsaS5kZWZhdWx0KSh0LDMpLGEsITApfSkpfSw0NzY2NChlLHQsbil7CiJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+cn0pO3ZhciBpPW4oOTgxMzY1KTtjb25zdCByPWZ1bmN0aW9uKGUpe3JldHVybihudWxsPT1lPzA6ZS5sZW5ndGgpPygwLGkuZGVmYXVsdCkoZSwxKTpbXX19LDU1NDcxOChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5yfSk7dmFyIGk9big5ODA0MTYpO2NvbnN0IHI9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW51bGw9PWU/dm9pZCAwOigwLGkuZGVmYXVsdCkoZSx0KTtyZXR1cm4gdm9pZCAwPT09cj9uOnJ9fSwyMTg2NjkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+Zn0pO2NvbnN0IGk9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbnVsbCE9ZSYmdCBpbiBPYmplY3QoZSl9O3ZhciByPW4oMjY5NjI3KSxhPW4oNTMxNTU3KSxzPW4oMjk1NjM1KSx1PW4oOTIxMTQzKSxvPW4oOTkwNjA0KSxsPW4oNzMwMTkpO2NvbnN0IGM9ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgaT0tMSxjPSh0PSgwLHIuZGVmYXVsdCkodCxlKSkubGVuZ3RoLGY9ITE7KytpPGM7KXt2YXIgZD0oMCxsLmRlZmF1bHQpKHRbaV0pO2lmKCEoZj1udWxsIT1lJiZuKGUsZCkpKWJyZWFrO2U9ZVtkXX1yZXR1cm4gZnx8KytpIT1jP2Y6ISEoYz1udWxsPT1lPzA6ZS5sZW5ndGgpJiYoMCxvLmRlZmF1bHQpKGMpJiYoMCx1LmRlZmF1bHQpKGQsYykmJigoMCxzLmRlZmF1bHQpKGUpfHwoMCxhLmRlZmF1bHQpKGUpKX07Y29uc3QgZj1mdW5jdGlvbihlLHQpe3JldHVybiBudWxsIT1lJiZjKGUsdCxpKX19LDE0NDU1NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5kfSk7dmFyIGk9big4MzA4NzUpLHI9big5Njk3ODUpLGE9big1MzE1NTcpLHM9bigyOTU2MzUpLHU9bigzOTI5MDgpLG89big2NTkwMTgpLGw9big2OTM5NDEpLGM9bigxNjUyNjcpLGY9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBkPWZ1bmN0aW9uKGUpe2lmKG51bGw9PWUpcmV0dXJuITA7aWYoKDAsdS5kZWZhdWx0KShlKSYmKCgwLHMuZGVmYXVsdCkoZSl8fCJzdHJpbmciPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUuc3BsaWNlfHwoMCxvLmRlZmF1bHQpKGUpfHwoMCxjLmRlZmF1bHQpKGUpfHwoMCxhLmRlZmF1bHQpKGUpKSlyZXR1cm4hZS5sZW5ndGg7dmFyIHQ9KDAsci5kZWZhdWx0KShlKTtpZigiW29iamVjdCBNYXBdIj09dHx8IltvYmplY3QgU2V0XSI9PXQpcmV0dXJuIWUuc2l6ZTtpZigoMCxsLmRlZmF1bHQpKGUpKXJldHVybiEoMCxpLmRlZmF1bHQpKGUpLmxlbmd0aDtmb3IodmFyIG4gaW4gZSlpZihmLmNhbGwoZSxuKSlyZXR1cm4hMTtyZXR1cm4hMH19LDkyNjA4OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5pfSk7Y29uc3QgaT1mdW5jdGlvbihlKXt2YXIgdD1udWxsPT1lPzA6ZS5sZW5ndGg7cmV0dXJuIHQ/ZVt0LTFdOnZvaWQgMH19LDk2NDcyMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5kfSk7dmFyIGk9big3OTgwOTQpLHI9big0OTMwMTgpLGE9bigyNDI3MDgpLHM9bigyNjk2MjcpLHU9big2MTg1Nyksbz1uKDkzMTQzMyk7Y29uc3QgbD1mdW5jdGlvbihlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKGUpP3ZvaWQgMDplfTt2YXIgYz1uKDI2MDgwNiksZj1uKDk5MTU5OSk7Y29uc3QgZD0oMCxjLmRlZmF1bHQpKChmdW5jdGlvbihlLHQpe3ZhciBuPXt9O2lmKG51bGw9PWUpcmV0dXJuIG47dmFyIG89ITE7dD0oMCxpLmRlZmF1bHQpKHQsKGZ1bmN0aW9uKHQpe3JldHVybiB0PSgwLHMuZGVmYXVsdCkodCxlKSxvfHwobz10Lmxlbmd0aD4xKSx0fSkpLCgwLHUuZGVmYXVsdCkoZSwoMCxmLmRlZmF1bHQpKGUpLG4pLG8mJihuPSgwLHIuZGVmYXVsdCkobiw3LGwpKTtmb3IodmFyIGM9dC5sZW5ndGg7Yy0tOykoMCxhLmRlZmF1bHQpKG4sdFtjXSk7cmV0dXJuIG59KSl9LDYzOTc4OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT51fSk7dmFyIGk9big3OTgwOTQpLHI9bigzMzQ0MTMpLGE9big2ODUxNTQpLHM9big5OTE1OTkpO2NvbnN0IHU9ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuPSgwLGkuZGVmYXVsdCkoKDAscy5kZWZhdWx0KShlKSwoZnVuY3Rpb24oZSl7cmV0dXJuW2VdfSkpO3JldHVybiB0PSgwLHIuZGVmYXVsdCkodCksKDAsYS5kZWZhdWx0KShlLG4sKGZ1bmN0aW9uKGUsbil7cmV0dXJuIHQoZSxuWzBdKX0pKX19LDg2NDAzNihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5vfSk7dmFyIGk9big2NzkyKSxyPW4oMTkzMzgyKSxhPW4oMzM0NDEzKTtjb25zdCBzPWZ1bmN0aW9uKGUsdCxuLGkscil7cmV0dXJuIHIoZSwoZnVuY3Rpb24oZSxyLGEpe249aT8oaT0hMSxlKTp0KG4sZSxyLGEpfSkpLG59O3ZhciB1PW4oMjk1NjM1KTtjb25zdCBvPWZ1bmN0aW9uKGUsdCxuKXt2YXIgbz0oMCx1LmRlZmF1bHQpKGUpP2kuZGVmYXVsdDpzLGw9YXJndW1lbnRzLmxlbmd0aDwzO3JldHVybiBvKGUsKDAsYS5kZWZhdWx0KSh0LDQpLG4sbCxyLmRlZmF1bHQpfX0sMTA1OTcwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgaT1uKDI5NzEyNCk7Y29uc3Qgcj1mdW5jdGlvbihlLHQsbil7cmV0dXJuIG51bGw9PWU/ZTooMCxpLmRlZmF1bHQpKGUsdCxuKX19LDI1OTU0MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5jfSk7dmFyIGk9big4NzI5OTkpLHI9big3OTgwOTQpLGE9bigyOTU2MzUpLHM9big3MTczMzIpLHU9aS5kZWZhdWx0P2kuZGVmYXVsdC5wcm90b3R5cGU6dm9pZCAwLG89dT91LnRvU3RyaW5nOnZvaWQgMDtjb25zdCBsPWZ1bmN0aW9uIGUodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiB0O2lmKCgwLGEuZGVmYXVsdCkodCkpcmV0dXJuKDAsci5kZWZhdWx0KSh0LGUpKyIiO2lmKCgwLHMuZGVmYXVsdCkodCkpcmV0dXJuIG8/by5jYWxsKHQpOiIiO3ZhciBuPXQrIiI7cmV0dXJuIjAiPT1uJiYxL3Q9PS0xLzA/Ii0wIjpufTtjb25zdCBjPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lPyIiOmwoZSl9fSwKOTE3MzcxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgaT1uKDI0MjcwOCk7Y29uc3Qgcj1mdW5jdGlvbihlLHQpe3JldHVybiBudWxsPT1lfHwoMCxpLmRlZmF1bHQpKGUsdCl9fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"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/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.152Z","timestamp":1785141584152,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/51031.535f27b776f394c7e43a.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\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: 76c5bfd944a06a4f75052cc5a6c8486e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":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-27T15:03:44.211676Z","times_seen":1579,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1MTAzMV0sezE1Njg1MChlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHt0ZWxlbWV0cnk6KCk9Pmh9KTt2YXIgcz1fKDk0ODM4MCksaT1fKDIyMTA2MSksbj1fKDM4NDAxNyksYT1fKDM3NzIyNikscj1fKDExNzMxMyk7XygzMDAyODYpO2NvbnN0IG89KDAsaS5nZXRMb2dnZXIpKCJDb21tb24uVGVsZW1ldHJ5IiksbD17ZGVmYXVsdDoxNWUzLHNpdGU6M2U1fSxjPVsiYmVmb3JlX3dlYnNvY2tldF9jb25uZWN0aW9uX3RpbWVfZnJhbWUiLCJ3ZWJzb2NrZXRfY29ubmVjdGlvbl90aW1lX2ZyYW1lIiwiZmlyc3Rfc2VyaWVzX2Z1bGxfdGltZV9mcmFtZSIsInBhZ2VfZnVsbF9sb2FkX3RpbWVfZnJhbWUiLCJwYWdlX2xvYWRfdGltZV9mcmFtZSJdO2NvbnN0IGg9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5yZXBvcnRTZW50PW5ldyBzLkRlbGVnYXRlLHRoaXMudGltZUNvdW50ZXJzPXtzZXJpZXM6e21hcmtzOltdfSxzdHVkeTp7fSxwaW5lOnt9fSx0aGlzLl90aW1lb3V0SWRzPXt9LHRoaXMuX2NvbW1vbkFkZGl0aW9uYWxEYXRhPXtjbHVzdGVyOm51bGwsdXNlcklkOiIwIn0sdGhpcy5fcmVwb3J0U3Rhc2g9e319c2V0U2Vzc2lvbkluZm8oZSl7Y29uc3QgdD10aGlzLl9wYXJzZUNsdXN0ZXIoZSk7bnVsbCE9PXQmJih0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YS5jbHVzdGVyPXQpfXNlbmRSZXBvcnQoZSx0LF8pe2lmKCF0aGlzLl9pc0FibGVUb1NlbmRSZXBvcnQodCkpcmV0dXJuO2NvbnN0IHM9dGhpcy5fZ2V0U3Vic2VydmljZVR5cGUoZSksaT10aGlzLl9nZXRIb3N0KGUscyk7aWYobnVsbCE9PWkpe2lmKF89dm9pZCAwPT09Xz97Y291bnQ6MX06Xyx0aGlzLl9hZGRSZXBvcnRUb1N0YXNoKF8sdCxpKSwhdGhpcy5fdGltZW91dElkc1tlXSl7Y29uc3QgdD1sW2VdPz9sLmRlZmF1bHQ7dGhpcy5fdGltZW91dElkc1tlXT1zZXRUaW1lb3V0KHRoaXMuX3NlbmRUZWxlbWV0cnlUb1NlcnZpY2UuYmluZCh0aGlzLGUsaSksdCl9fWVsc2Ugby5sb2dFcnJvcihgVW5hYmxlIHRvIGdldCBob3N0IGZvciBjb3VudGVyOiAke3R9LCBtZXRyaWMgdHlwZTogJHtlfSwgc2VyaXZjZSB0eXBlOiAke3N9YCl9c2VuZENoYXJ0UmVwb3J0KGUsdCxfPSEwKXt0aGlzLl9zZW5kU2VydmljZVNwZWNpZmllZFJlcG9ydCgiY2hhcnRzIixlLHQsXyl9c2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoZSx0LF89ITApe3RoaXMuX3NlbmRTZXJ2aWNlU3BlY2lmaWVkUmVwb3J0KCJsaW5lX3Rvb2xzX3N0b3JhZ2UiLGUsdCxfKX1fc2VuZFNlcnZpY2VTcGVjaWZpZWRSZXBvcnQoZSx0LF8scz0hMCl7dGhpcy5fdXBkYXRlVXNlckluZm8oKSxfPXZvaWQgMD09PV8/e2NvdW50OjF9Ol8scyYmKF89dGhpcy5fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oXyxbImNsdXN0ZXIiLCJ1c2VySWQiXSkpLHRoaXMuc2VuZFJlcG9ydChlLHQsXyl9X3VwZGF0ZVVzZXJJbmZvKCl7Y29uc3QgZT0idXNlciJpbiB3aW5kb3cmJiJpZCJpbiB3aW5kb3cudXNlcj93aW5kb3cudXNlci5pZDoiMCI7dGhpcy5fY29tbW9uQWRkaXRpb25hbERhdGEudXNlcklkPVN0cmluZyhlKX1faXNBYmxlVG9TZW5kUmVwb3J0KGUpe2NvbnN0IHQ9d2luZG93LlRFTEVNRVRSWV9IT1NUUyxfPWMuaW5jbHVkZXMoZSkscz1Cb29sZWFuKHdpbmRvdy5UcmFkaW5nVmlldz8ub25DaGFydFBhZ2V8fCgwLGEub25XaWRnZXQpKCkpO3JldHVybiB0JiYoIV98fHMpfV9zZW5kVGVsZW1ldHJ5VG9TZXJ2aWNlKGUsdCl7aWYodGhpcy5fcmVwb3J0U3Rhc2guaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IGU9dGhpcy5fY3JvcFBhcmFtcyh0aGlzLl9yZXBvcnRTdGFzaFt0XSksXz10aGlzLl9yZW5hbWVBbGxQYXJhbXMoZSkscz17ZXZlbnQ6InJlcG9ydF9zdGFzaCIscGFyYW1zOnRoaXMuX2NsZWFuQWxsUGFyYW1zKF8pfTtvLmxvZ0RlYnVnKGBSZXBvcnQgdG8gaG9zdDogJHt0fTsgc3Rhc2g6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5fcmVwb3J0U3Rhc2hbdF0pfWApLHRoaXMucmVwb3J0U2VudC5maXJlKHRoaXMuX3JlcG9ydFN0YXNoW3RdKSxkZWxldGUgdGhpcy5fcmVwb3J0U3Rhc2hbdF0sKDAsbi5mZXRjaCkoYCR7dH0vcmVwb3J0YCx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KHMpfSl9dGhpcy5fdGltZW91dElkc1tlXT1udWxsfV9nZXRIb3N0KGUsdCl7Y29uc3QgXz13aW5kb3cuVEVMRU1FVFJZX0hPU1RTLHM9X1tlXSYmX1tlXVt0XTtyZXR1cm4gQm9vbGVhbihzKT9zOm51bGx9X2dldFN1YnNlcnZpY2VUeXBlKGUpe2lmKCFbImNoYXJ0cyIsInNpdGUiXS5pbmNsdWRlcyhlKSlyZXR1cm4iYWxsIjtsZXQgdD0iZnJlZSI7Y29uc3QgXz13aW5kb3cudXNlci5pc19wcm87cmV0dXJuImNoYXJ0cyI9PT1lJiYoMCxyLmlzT25Nb2JpbGVBcHBQYWdlKSgib2xkIik/dD1fPyJpb3NfcHJvIjoiaW9zX2ZyZWUiOiJjaGFydHMiPT09ZSYmKDAsci5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpP3Q9Xz8iYW5kcm9pZF9wcm8iOiJhbmRyb2lkX2ZyZWUiOigwLGEub25XaWRnZXQpKCk/dD0id2lkZ2V0IjpfJiYodD0icHJvIiksdH1fcGFyc2VDbHVzdGVyKGUpe2xldCB0O3RyeXt0PUpTT04ucGFyc2UoZSkuc2Vzc2lvbl9pZH1jYXRjaChlKXtyZXR1cm4gby5sb2dFcnJvcigiQ291bGQgbm90IHBhcnNlIGNsdXN0ZXIgaWQgKHNlc3Npb24gaWQpIiksbnVsbH1jb25zdCBfPS8oLipAKSguKikvZ2kuZXhlYyh0KTtyZXR1cm4gbnVsbCE9PV8mJl8ubGVuZ3RoPj0zP19bMl06bnVsbH1fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oZSx0KXtyZXR1cm4gdC5mb3JFYWNoKCh0PT57dCBpbiB0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YSYmKGUuYWRkaXRpb25hbD1lLmFkZGl0aW9uYWx8fHt9LGUuYWRkaXRpb25hbFt0XT10aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YVt0XSl9KSksZX1fY3JvcFBhcmFtcyhlKXsKZm9yKGNvbnN0IHQgaW4gZSllLmhhc093blByb3BlcnR5KHQpJiZlW3RdLmxlbmd0aD4xZTMmJihlLnRvb19tdWNoX21ldHJpY3NfZnJhbWU9ZS50b29fbXVjaF9tZXRyaWNzX2ZyYW1lPz9bXSxlLnRvb19tdWNoX21ldHJpY3NfZnJhbWUucHVzaCh7dmFsdWU6ZVt0XS5sZW5ndGgsYWRkaXRpb25hbDp7ZXZlbnQ6dH19KSxkZWxldGUgZVt0XSk7cmV0dXJuIGV9X3JlbmFtZUFsbFBhcmFtcyhlKXtjb25zdCB0PXt9O2Zvcihjb25zdCBfIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShfKSYmKHRbX109W10sZVtfXS5mb3JFYWNoKChlPT57dFtfXS5wdXNoKHRoaXMuX3JlbmFtZUVudHJ5UGFyYW1zKGUpKX0pKSk7cmV0dXJuIHR9X3JlbmFtZUVudHJ5UGFyYW1zKGUpe2NvbnN0IHQ9e2NvdW50OiJjIix2YWx1ZToidiIsdGV4dDoidCIsYWRkaXRpb25hbDoiYSJ9O3JldHVybiBPYmplY3Qua2V5cyhlKS5yZWR1Y2UoKChfLHMpPT4oX1t0W3NdXT1lW3NdLF8pKSx7fSl9X2NsZWFuQWxsUGFyYW1zKGUpe2NvbnN0IHQ9e307Zm9yKGNvbnN0IF8gaW4gZSlpZihlLmhhc093blByb3BlcnR5KF8pKXt0W19dPVtdO2NvbnN0IHM9e2M6MH07ZVtfXS5mb3JFYWNoKChlPT57Y29uc3QgaT10aGlzLl9jbGVhbkVudHJ5UGFyYW1zKGUpLG49T2JqZWN0LmtleXMoaSkubGVuZ3RoOzE9PT1uJiZ2b2lkIDAhPT1pLmM/cy5jKz1pLmM6bj4wJiZ0W19dLnB1c2goaSl9KSkscy5jPjAmJnRbX10ucHVzaChzKSwwPT09dFtfXS5sZW5ndGgmJmRlbGV0ZSB0W19dfXJldHVybiB0fV9jbGVhbkVudHJ5UGFyYW1zKGUpe2NvbnN0IHQ9T2JqZWN0LmtleXMoZSkucmVkdWNlKCgodCxfKT0+ImMiIT09XyYmInQiIT09X3x8ZVtfXT8odFtfXT1lW19dLHQpOnQpLHt9KTtyZXR1cm4iYyJpbiB0fHwidiJpbiB0fHwidCJpbiB0P3Q6e319X2FkZFJlcG9ydFRvU3Rhc2goZSx0LF8pe18gaW4gdGhpcy5fcmVwb3J0U3Rhc2h8fCh0aGlzLl9yZXBvcnRTdGFzaFtfXT17fSksdCBpbiB0aGlzLl9yZXBvcnRTdGFzaFtfXXx8KHRoaXMuX3JlcG9ydFN0YXNoW19dW3RdPVtdKSxPYmplY3Qua2V5cyhlKS5sZW5ndGg+MCYmdGhpcy5fcmVwb3J0U3Rhc2hbX11bdF0ucHVzaChlKX19fSw5NjQ0ODYoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7ZGVlcEV4dGVuZDooKT0+aX0pO2NvbnN0IHM9bmV3IFNldChbIl9fcHJvdG9fXyIsInByb3RvdHlwZSIsImNvbnN0cnVjdG9yIl0pO2Z1bmN0aW9uIGkoZSwuLi50KXtyZXR1cm4gZSYmIm9iamVjdCI9PXR5cGVvZiBlPygwPT09dC5sZW5ndGh8fHQuZm9yRWFjaCgodD0+e251bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdCYmT2JqZWN0LmtleXModCkuZm9yRWFjaCgoXz0+e2lmKGZ1bmN0aW9uKGUpe3JldHVybiBzLmhhcyhlKX0oXykpcmV0dXJuO2NvbnN0IGE9ZVtfXSxyPXRbX107aWYocj09PWUpcmV0dXJuO2NvbnN0IG89QXJyYXkuaXNBcnJheShyKTtpZihyJiYobihyKXx8bykpe2xldCB0O3Q9bz9hJiZBcnJheS5pc0FycmF5KGEpP2E6W106YSYmbihhKT9hOnt9LGVbX109aSh0LHIpfWVsc2Ugdm9pZCAwIT09ciYmKGVbX109cil9KSl9KSksZSk6ZX1mdW5jdGlvbiBuKGUpe2lmKCFlfHwiW29iamVjdCBPYmplY3RdIiE9PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSlyZXR1cm4hMTtjb25zdCB0PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtpZighdClyZXR1cm4hMDtjb25zdCBfPU9iamVjdC5oYXNPd25Qcm9wZXJ0eS50b1N0cmluZyxzPXQuaGFzT3duUHJvcGVydHkoImNvbnN0cnVjdG9yIikmJnQuY29uc3RydWN0b3I7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHMmJl8uY2FsbChzKT09PV8uY2FsbChPYmplY3QpfX0sNzY4NzYwKGUsdCxfKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcygpe2xldCBlLHQ7cmV0dXJue3Byb21pc2U6bmV3IFByb21pc2UoKChfLHMpPT57ZT1fLHQ9c30pKSxyZWplY3Q6dCxyZXNvbHZlOmV9fV8uZCh0LHtjcmVhdGVEZWZlcnJlZFByb21pc2U6KCk9PnN9KX0sNTg5NzQ5KGUsdCxfKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtpZih2b2lkIDA9PT1lKXJldHVybiIiO2lmKGUgaW5zdGFuY2VvZiBFcnJvcil7bGV0IHQ9ZS5tZXNzYWdlO3JldHVybiBlLnN0YWNrJiYodCs9IiAiK2Uuc3RhY2spLHR9cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP2UudG9TdHJpbmcoKTpKU09OLnN0cmluZ2lmeShlKX1fLmQodCx7ZXJyb3JUb1N0cmluZzooKT0+c30pfSwxMTYzMTAoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7Y3JlYXRlSnNvblNlcmlhbGl6YWJsZUNhY2hlOigpPT5hfSk7dmFyIHM9XygxMzg2MzgpO2NsYXNzIGl7Y29uc3RydWN0b3IoZSl7dGhpcy5fY2FjaGU9ZX1hc3luYyBnZXRWYWx1ZShlKXtjb25zdCB0PWF3YWl0IHRoaXMuX2NhY2hlLm1hdGNoKGUpO2lmKCF0KXJldHVybiBudWxsO3JldHVybiJhcHBsaWNhdGlvbi9qc29uIj09PSgwLHMuZW5zdXJlTm90TnVsbCkodC5oZWFkZXJzLmdldCgiQ29udGVudC1UeXBlIikpP3QuanNvbigpOnQudGV4dCgpfWFzeW5jIHNldFZhbHVlKGUsdCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P3RoaXMuX2NhY2hlLnB1dChlLG5ldyBSZXNwb25zZSh0LHtoZWFkZXJzOnsiY29udGVudC10eXBlIjoidGV4dC9wbGFpbiJ9fSkpOnRoaXMuX2NhY2hlLnB1dChlLG5ldyBSZXNwb25zZShKU09OLnN0cmluZ2lmeSh0KSx7aGVhZGVyczp7ImNvbnRlbnQtdHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pKX1hc3luYyBtaWdyYXRlVmFsdWUoZSx0KXtjb25zdCBfPWF3YWl0IHRoaXMuZ2V0VmFsdWUoZSk7XyYmKGF3YWl0IHRoaXMuc2V0VmFsdWUodCxfKSxhd2FpdCB0aGlzLl9jYWNoZS5kZWxldGUoZSkpfWFzeW5jIGRlbGV0ZVZhbHVlKGUpe3JldHVybiB0aGlzLl9jYWNoZS5kZWxldGUoZSl9fWNsYXNzIG57Y29uc3RydWN0b3IoKXt0aGlzLl9kYXRhPW5ldyBNYXB9YXN5bmMgZ2V0VmFsdWUoZSl7cmV0dXJuIHRoaXMuX2RhdGEuZ2V0KGUpPz9udWxsfWFzeW5jIHNldFZhbHVlKGUsdCl7dGhpcy5fZGF0YS5zZXQoZSx0KX1hc3luYyBtaWdyYXRlVmFsdWUoZSx0KXsKdGhpcy5fZGF0YS5oYXMoZSkmJih0aGlzLl9kYXRhLnNldCh0LHRoaXMuX2RhdGEuZ2V0KGUpKSx0aGlzLl9kYXRhLmRlbGV0ZShlKSl9YXN5bmMgZGVsZXRlVmFsdWUoZSl7cmV0dXJuIHRoaXMuX2RhdGEuZGVsZXRlKGUpfX1hc3luYyBmdW5jdGlvbiBhKGUpe3RyeXtjb25zdCB0PWF3YWl0IGNhY2hlcy5vcGVuKGUpO3JldHVybiBuZXcgaSh0KX1jYXRjaHtyZXR1cm4gbmV3IG59fX0sNDAzNihlLHQsXyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7Y29uc3QgdD17fTtpZigtMT09PWUuaW5kZXhPZigiQCIpKXQuc2hvcnRJZD1lLHQucGFja2FnZUlkPSJ0di1iYXNpY3N0dWRpZXMiLHQuaWQ9ZSsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTE7ZWxzZXtjb25zdCBfPWUuc3BsaXQoIkAiKTt0LnNob3J0SWQ9X1swXTtjb25zdCBzPV9bMV0uc3BsaXQoIi0iKTtpZigzPT09cy5sZW5ndGgpdC5wYWNrYWdlSWQ9cy5zbGljZSgwLDIpLmpvaW4oIi0iKSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPXBhcnNlSW50KHNbMl0pO2Vsc2UgaWYoMT09PXMubGVuZ3RoJiYiZGVjaXNpb25iYXIiPT09c1swXSl0LnBhY2thZ2VJZD0ibGVzLSIrc1swXSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTE7ZWxzZXtpZigxIT09cy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJ1bmV4cGVjdGVkIHN0dWR5IGlkOiIrZSk7dC5wYWNrYWdlSWQ9InR2LSIrc1swXSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTF9fWlmKHQuZnVsbElkPXQuaWQrIi0iK3QudmVyc2lvbiwidHYtc2NyaXB0aW5nIj09PXQucGFja2FnZUlkKXtjb25zdCBlPXQuc2hvcnRJZDtpZigwPT09ZS5pbmRleE9mKCJTY3JpcHQkIil8fDA9PT1lLmluZGV4T2YoIlN0cmF0ZWd5U2NyaXB0JCIpKXtjb25zdCBfPWUuaW5kZXhPZigiXyIpO3QucHJvZHVjdElkPV8+PTA/ZS5zdWJzdHJpbmcoMCxfKTp0LnBhY2thZ2VJZH1lbHNlIHQucHJvZHVjdElkPXQucGFja2FnZUlkfWVsc2UgdC5wcm9kdWN0SWQ9dC5wYWNrYWdlSWQ7cmV0dXJuIHR9Xy5kKHQse3BhcnNlSWRTdHJpbmc6KCk9PnN9KX0sNzgwOTc1KGUsdCxfKXsidXNlIHN0cmljdCI7dmFyIHM7Xy5kKHQse0NoYXJ0QXBpTWVzc2FnZU1ldGhvZDooKT0+c30pLGZ1bmN0aW9uKGUpe2UuQ29ubmVjdGVkPSJjb25uZWN0ZWQiLGUuRGlzY29ubmVjdGVkPSJkaXNjb25uZWN0ZWQiLGUuUmVjb25uZWN0QmFpbG91dD0icmVjb25uZWN0X2JhaWxvdXQifShzfHwocz17fSkpfSwzMDkwNTIoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7UVVPVEVfRklFTERTOigpPT5pLFFVT1RFX0ZJRUxEU19DQUNIRTooKT0+bn0pO3ZhciBzPV8oMTM4NjM4KQo7Y29uc3QgaT1uZXcgU2V0KFsicHJvX25hbWUiLCJiYXNlX25hbWUiLCJsb2dvIiwibG9nb2lkIiwiY3VycmVuY3ktbG9nb2lkIiwiYmFzZS1jdXJyZW5jeS1sb2dvaWQiLCJzb3VyY2UtbG9nb2lkIiwic2hvcnRfbmFtZSIsIndlYl9zaXRlX3VybCIsInByb19wZXJtIiwidGltZXpvbmUiLCJjdXJyZW50X3Nlc3Npb24iLCJzZXNzaW9uX2hvbGlkYXlzIiwibGFzdF9wcmljZSIsImxwX3RpbWUiLCJzdWJzZXNzaW9ucyIsInByZXZfY2xvc2VfcHJpY2UiLCJvcGVuX3ByaWNlIiwiaGlnaF9wcmljZSIsImxvd19wcmljZSIsInByaWNlXzUyX3dlZWtfaGlnaCIsInByaWNlXzUyX3dlZWtfbG93IiwiYXNrIiwiYXNrX3NpemUiLCJiaWQiLCJiaWRfc2l6ZSIsInJjaCIsInJjaHAiLCJydGMiLCJydGNfdGltZSIsIm5jaCIsIm5jaHAiLCJudGMiLCJudGNfdGltZSIsImRhdGFfZnJlcXVlbmN5IiwicmVmZXJlbmNlLWxhc3QtcGVyaW9kLXN0YXJ0IiwiYnVzaW5lc3NfZGVzY3JpcHRpb24iLCJ3ZWJfc2l0ZV91cmwiLCJmaWdpIiwibnVtYmVyX29mX2VtcGxveWVlcyIsImZsb2F0X3NoYXJlc19vdXRzdGFuZGluZyIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9jYWxlbmRhcl9kYXRlIiwicm9vdCIsImRlc2NyaXB0aW9uIiwiZXhjaGFuZ2UiLCJsaXN0ZWRfZXhjaGFuZ2UiLCJ0eXBlIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJpc190cmFkYWJsZSIsInNlY3RvciIsInR5cGVzcGVjcyIsInZpc2libGUtcGxvdHMtc2V0IiwiaW5kdXN0cnkiLCJjdXJyZW5jeV9pZCIsImxhc3RfcHJpY2UiLCJmcmFjdGlvbmFsIiwibWlubW92IiwibWlubW92ZTIiLCJwcmljZXNjYWxlIiwidmFyaWFibGVfdGlja19zaXplIiwiY2hhbmdlIiwiY2hhbmdlX3BlcmNlbnQiLCJ2b2x1bWUiLCJhdmVyYWdlX3ZvbHVtZSIsIm1hcmtldF9jYXBfYmFzaWMiLCJtYXJrZXRfY2FwX2NhbGMiLCJ0b3RhbF9yZXZlbnVlIiwiZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bSIsInByaWNlX2Vhcm5pbmdzX3R0bSIsImJldGFfMV95ZWFyIiwiZHBzX2NvbW1vbl9zdG9ja19wcmltX2lzc3VlX2Z5IiwiZGl2aWRlbmRzX3lpZWxkIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3B1YmxpY2F0aW9uX3R5cGVfbmV4dF9mcSIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9mcSIsImZvcmVjYXN0X3JhdyIsImxhc3RfcmVsZWFzZV9kYXRlIiwibmV4dF9yZWxlYXNlX2RhdGUiLCJyZWZlcmVuY2VfbGFzdF9wZXJpb2QiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwibnVtYmVyX29mX2VtcGxveWVlcyIsIndlYl9zaXRlX3VybCIsImJ1c2luZXNzX2Rlc2NyaXB0aW9uIiwiZm91bmRlZCIsImNlbyIsImZsb2F0X3NoYXJlc19vdXRzdGFuZGluZyIsInRvdGFsX3NoYXJlc19vdXRzdGFuZGluZyIsImRpdmlkZW5kX3BheW91dF9yYXRpb190dG0iLCJkaXZpZGVuZHNfeWllbGRfY3VycmVudCIsImRpdmlkZW5kX2V4X2RhdGVfdXBjb21pbmciLCJkaXZpZGVuZF9hbW91bnRfdXBjb21pbmciLCJkaXZpZGVuZF9hbW91bnRfcmVjZW50IiwiZGl2aWRlbmRfZXhfZGF0ZV9yZWNlbnQiLCJkaXZpZGVuZF9hbW91bnRfaCIsImRpdmlkZW5kX3BheW1lbnRfZGF0ZV91cGNvbWluZyIsImRpdmlkZW5kX3BheW1lbnRfZGF0ZV9yZWNlbnQiLCJ0b3RhbF9yZXZlbnVlX2ZxX2giLCJ0b3RhbF9yZXZlbnVlX2Z5X2giLCJuZXRfaW5jb21lX2Z5X2giLCJuZXRfaW5jb21lX2ZxX2giLCJ0b3RhbF9hc3NldHNfZnlfaCIsInRvdGFsX2Fzc2V0c19mcV9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19meV9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2ZxX2giLCJmaXNjYWxfcGVyaW9kX2Z5X2giLCJmaXNjYWxfcGVyaW9kX2ZxX2giLCJmaXNjYWxfcGVyaW9kX2ZoX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnFfaCIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZxIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcV9oIiwiZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9mcV9oIiwibmV4dF9lYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxIiwiaXNfbmV4dF9lYXJuaW5nc19yZWxlYXNlX2RhdGVfZXN0aW1hdGVkIiwic3ltYm9sLXByaW1hcnluYW1lIiwiY3VycmVuY3lfY29kZSIsInJhdGVzX21jIiwicmF0ZXNfZnkiLCJyYXRlc190dG0iLCJtZWFzdXJlIiwidmFsdWVfdW5pdF9pZCIsInZhbHVlLXVuaXQtaWQiLCJ1cGRhdGVfbW9kZSIsImxhbmd1YWdlIiwibG9jYWxfZGVzY3JpcHRpb24iLCJzaG9ydF9kZXNjcmlwdGlvbiIsInNvdXJjZSIsInNvdXJjZTIiLCJmb3JtYXQiLCJyZWNvbW1lbmRhdGlvbl9tYXJrIiwibGFzdF9yZXBvcnRfZnJlcXVlbmN5IiwicHJpY2VfdGFyZ2V0X2VzdGltYXRlc19udW0iLCJwcmljZV90YXJnZXRfYXZlcmFnZSIsInVwZGF0ZV9tb2RlX3NlY29uZHMiLCJyZWNvbW1lbmRhdGlvbl90b3RhbCIsInJlY29tbWVuZGF0aW9uX2J1eSIsInJlY29tbWVuZGF0aW9uX292ZXIiLCJyZWNvbW1lbmRhdGlvbl9ob2xkIiwicmVjb21tZW5kYXRpb25fdW5kZXIiLCJyZWNvbW1lbmRhdGlvbl9zZWxsIiwicmVjb21tZW5kYXRpb25fdG90YWwiLCJwcmljZV90YXJnZXRfaGlnaCIsInByaWNlX3RhcmdldF9sb3ciLCJyYXRlc19wdCIsInJhdGVzX3B0IiwidG90YWxfcmV2ZW51ZV9meV9oIiwidG90YWxfcmV2ZW51ZV9mcV9oIiwidG90YWxfcmV2ZW51ZV9maF9oIiwibmV0X3JldmVudWVfZnlfaCIsIm5ldF9yZXZlbnVlX2ZxX2giLCJuZXRfcmV2ZW51ZV9maF9oIiwibmV0X2luY29tZV9meV9oIiwibmV0X2luY29tZV9mcV9oIiwibmV0X2luY29tZV9maF9oIiwidG90YWxfYXNzZXRzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZnFfaCIsInRvdGFsX2Fzc2V0c19maF9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJ0b3RhbF9saWFiaWxpdGllc19maF9oIiwiY2FzaF9mX29wZXJhdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19maF9oIiwiZmlzY2FsX3BlcmlvZF9meSIsImZpc2NhbF9wZXJpb2RfZnEiLCJmaXNjYWxfcGVyaW9kX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlX2ZxX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnlfaCIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZV9maF9oIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGVfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZV9meSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X3RpbWUiLCJlYXJuaW5nc19yZWxlYXNlX3RpbWUiLCJpc19uZXh0X2Vhcm5pbmdzX3JlbGVhc2VfZGF0ZV9lc3RpbWF0ZWQiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2Z5IiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZmgiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9meV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X2ZoX2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9meV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZoX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2Z5X2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZoX2giLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnEiLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnkiLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZmgiLCJyZXZlbnVlX2ZxX2giLCJyZXZlbnVlX2Z5X2giLCJyZXZlbnVlX2ZoX2giLCJyZXZlbnVlX2ZvcmVjYXN0X2ZxX2giLCJyZXZlbnVlX2ZvcmVjYXN0X2Z5X2giLCJyZXZlbnVlX2ZvcmVjYXN0X2ZoX2giLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZnEiLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZnkiLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZmgiLCJyZXZlbnVlX3NlZ19ieV9idXNpbmVzc19oIiwicmV2ZW51ZV9zZWdfYnlfcmVnaW9uX2giLCJ0b3RhbF9yZXZlbnVlX2Z5IiwidG90YWxfcmV2ZW51ZV9mcSIsInRvdGFsX3JldmVudWVfZmgiLCJncm9zc19wcm9maXRfZnkiLCJncm9zc19wcm9maXRfZnEiLCJncm9zc19wcm9maXRfZmgiLCJlYml0ZGFfZnkiLCJlYml0X2Z5IiwibmV0X2luY29tZV9meSIsIm5ldF9pbmNvbWVfZnEiLCJuZXRfaW5jb21lX2ZoIiwidG90YWxfZGVidF9meV9oIiwidG90YWxfZGVidF9mcV9oIiwidG90YWxfZGVidF9maF9oIiwiZnJlZV9jYXNoX2Zsb3dfZnlfaCIsImZyZWVfY2FzaF9mbG93X2ZxX2giLCJmcmVlX2Nhc2hfZmxvd19maF9oIiwiY2FzaF9uX2VxdWl2YWxlbnRzX2Z5X2giLCJjYXNoX25fZXF1aXZhbGVudHNfZnFfaCIsImNhc2hfbl9lcXVpdmFsZW50c19maF9oIiwidG90YWxfY3VycmVudF9hc3NldHNfZnkiLCJ0b3RhbF9jdXJyZW50X2Fzc2V0c19mcSIsInRvdGFsX2N1cnJlbnRfYXNzZXRzX2ZoIiwidG90YWxfY3VycmVudF9saWFiaWxpdGllc19meSIsInRvdGFsX2N1cnJlbnRfbGlhYmlsaXRpZXNfZnEiLCJ0b3RhbF9jdXJyZW50X2xpYWJpbGl0aWVzX2ZoIiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2Z5IiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2ZxIiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2ZoIiwidG90YWxfbm9uX2N1cnJlbnRfbGlhYmlsaXRpZXNfZnkiLCJ0b3RhbF9ub25fY3VycmVudF9saWFiaWxpdGllc19mcSIsInRvdGFsX25vbl9jdXJyZW50X2xpYWJpbGl0aWVzX2ZoIiwibG9hbnNfbmV0X2Z5IiwibG9hbnNfbmV0X2Z5X2giLCJsb2Fuc19uZXRfZnFfaCIsImxvYW5zX25ldF9maF9oIiwidG90YWxfZGVwb3NpdHNfZnkiLCJ0b3RhbF9kZXBvc2l0c19meV9oIiwidG90YWxfZGVwb3NpdHNfZnFfaCIsInRvdGFsX2RlcG9zaXRzX2ZoX2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19meSIsImxvYW5fbG9zc19hbGxvd2FuY2VzX2Z5X2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19mcV9oIiwibG9hbl9sb3NzX2FsbG93YW5jZXNfZmhfaCIsInJlc2VydmVfdG9fdG90YWxfY2FwaXRhbF9meV9oIiwicmVzZXJ2ZV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJyZXNlcnZlX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsInVuZWFybmVkX3ByZW1pdW1fdG9fdG90YWxfY2FwaXRhbF9meV9oIiwidW5lYXJuZWRfcHJlbWl1bV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJ1bmVhcm5lZF9wcmVtaXVtX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsImluc3VyYW5jZV9yZXNlcnZlc19meV9oIiwiaW5zdXJhbmNlX3Jlc2VydmVzX2ZxX2giLCJpbnN1cmFuY2VfcmVzZXJ2ZXNfZmhfaCIsInBvbGljeV9jbGFpbXNfZnlfaCIsInBvbGljeV9jbGFpbXNfZnFfaCIsInBvbGljeV9jbGFpbXNfZmhfaCIsInByZW1pdW1zX2Vhcm5lZF9meV9oIiwicHJlbWl1bXNfZWFybmVkX2ZxX2giLCJwcmVtaXVtc19lYXJuZWRfZmhfaCIsInByaWNlX2Vhcm5pbmdzX2ZxX2giLCJwcmljZV9lYXJuaW5nc19meV9oIiwicHJpY2VfZWFybmluZ3NfZmhfaCIsInByaWNlX3NhbGVzX2ZxX2giLCJwcmljZV9zYWxlc19meV9oIiwicHJpY2Vfc2FsZXNfZmhfaCIsImRpbHV0ZWRfbmV0X2luY29tZV90dG0iLCJ0b3RhbF9yZXZlbnVlX3R0bSIsIm5ldF9yZXZlbnVlX3R0bSIsInByaWNlX2Vhcm5pbmdzX2N1cnJlbnQiLCJwcmljZV9zYWxlc19jdXJyZW50IiwiaXNpbi1kaXNwbGF5ZWQiLCJjdXNpcCIsImNmaV9jb2RlIiwiaW50ZXJlc3RfaW5jb21lX2Z5X2giLCJpbnRlcmVzdF9pbmNvbWVfZnFfaCIsImludGVyZXN0X2luY29tZV9maF9oIiwibm9uX2ludGVyZXN0X2luY29tZV9meV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9mcV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9maF9oIiwid2Vic2l0ZSIsImRvYyIsImV4cGxvcmVyIiwic291cmNlcyIsImNvbnRyYWN0cyIsImNyeXB0b19jb21tb25fY2F0ZWdvcmllcyIsImNyeXB0b19hc3NldCIsImNvbW11bml0eSIsImRpdmlkZW5kc19hdmFpbGFiaWxpdHkiLCJlYXJuaW5nc19hdmFpbGFiaWxpdHkiLCJmaW5hbmNpYWxzX2F2YWlsYWJpbGl0eSIsImRvY3VtZW50cyIsImV0Zl9hc3NldF90eXBlX2V4cG9zdXJlIiwiZXRmX3JlZ2lvbl9leHBvc3VyZSIsInRvcF9ob2xkaW5ncyIsInVuaXQtaWQiLCJvcHRpb25zLWluZm8iLCJvcHRpb24tdHlwZSIsImludGVyZXN0X2luY29tZV9meSIsImludGVyZXN0X2luY29tZV9mcSIsImludGVyZXN0X2luY29tZV9maCIsIm5vbl9pbnRlcmVzdF9pbmNvbWVfZnkiLCJub25faW50ZXJlc3RfaW5jb21lX2ZxIiwibm9uX2ludGVyZXN0X2luY29tZV9maCIsImludGVyZXN0X2V4cGVuc2VfZnkiLCJpbnRlcmVzdF9leHBlbnNlX2ZxIiwiaW50ZXJlc3RfZXhwZW5zZV9maCIsImxvYW5fbG9zc19wcm92aXNpb25fZnkiLCJsb2FuX2xvc3NfcHJvdmlzaW9uX2ZxIiwibG9hbl9sb3NzX3Byb3Zpc2lvbl9maCIsIm5vbl9pbnRlcmVzdF9leHBlbnNlX2Z5Iiwibm9uX2ludGVyZXN0X2V4cGVuc2VfZnEiLCJub25faW50ZXJlc3RfZXhwZW5zZV9maCIsIm5vbl9vcGVyX2luY29tZV9meSIsIm5vbl9vcGVyX2luY29tZV9mcSIsIm5vbl9vcGVyX2luY29tZV9maCIsInVudXN1YWxfZXhwZW5zZV9pbmNfZnkiLCJ1bnVzdWFsX2V4cGVuc2VfaW5jX2ZxIiwidW51c3VhbF9leHBlbnNlX2luY19maCIsInByZXRheF9pbmNvbWVfZnkiLCJwcmV0YXhfaW5jb21lX2ZxIiwicHJldGF4X2luY29tZV9maCIsImluY29tZV90YXhfZnkiLCJpbmNvbWVfdGF4X2ZxIiwiaW5jb21lX3RheF9maCIsImFmdGVyX3RheF9vdGhlcl9pbmNvbWVfZnkiLCJhZnRlcl90YXhfb3RoZXJfaW5jb21lX2ZxIiwiYWZ0ZXJfdGF4X290aGVyX2luY29tZV9maCIsInRvdGFsX25vbl9vcGVyX2luY29tZV9meSIsInRvdGFsX25vbl9vcGVyX2luY29tZV9mcSIsInRvdGFsX25vbl9vcGVyX2luY29tZV9maCIsIm9wZXJfaW5jb21lX2Z5Iiwib3Blcl9pbmNvbWVfZnEiLCJvcGVyX2luY29tZV9maCIsIm9wZXJhdGluZ19leHBlbnNlc19meSIsIm9wZXJhdGluZ19leHBlbnNlc19mcSIsIm9wZXJhdGluZ19leHBlbnNlc19maCIsImNvc3Rfb2ZfZ29vZHNfZnkiLCJjb3N0X29mX2dvb2RzX2ZxIiwiY29zdF9vZl9nb29kc19maCIsImVxdWl0eV9pbl9lYXJuaW5nc19meSIsImVxdWl0eV9pbl9lYXJuaW5nc19mcSIsImVxdWl0eV9pbl9lYXJuaW5nc19maCIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9meSIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9mcSIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9maCIsImRpc2NvbnRpbnVlZF9vcGVyYXRpb25zX2Z5IiwiZGlzY29udGludWVkX29wZXJhdGlvbnNfZnEiLCJkaXNjb250aW51ZWRfb3BlcmF0aW9uc19maCIsImZyb250X2NvbnRyYWN0IiwibWluX2NvbnRyYWN0IiwicG9pbnR2YWx1ZSIsInVuaXRfaWQiLCJleHBpcmF0aW9uIiwiYXVtIiwiYXNzZXRfY2xhc3MiLCJmb2N1cyIsImV4cGVuc2VfcmF0aW8iLCJsYXVuY2hfZGF0ZSIsImlzc3VlciIsImJyYW5kIiwiaG9tZXBhZ2UiLCJpbmRleF90cmFja2VkIiwiYWN0aXZlbHlfbWFuYWdlZCIsImZ1bmRfdmlld19tb2RlcyIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnlfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnFfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZmhfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZmhfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZmhfaCIsInByZWZlcnJlZF9zdG9ja19jYXJyeWluZ192YWx1ZV9maCIsInByZWZlcnJlZF9zdG9ja19jYXJyeWluZ192YWx1ZV9mcSIsInRvdGFsX2RlYnRfZnEiLCJtaW5vcml0eV9pbnRlcmVzdF9maCIsIm1pbm9yaXR5X2ludGVyZXN0X2ZxIiwiY2FzaF9uX3Nob3J0X3Rlcm1faW52ZXN0X2ZxIiwiY2FzaF9uX2R1ZV9mX2JhbmtzX2ZoIiwiY2FzaF9uX2R1ZV9mX2JhbmtzX2ZxIiwiZW50ZXJwcmlzZV92YWx1ZV9jdXJyZW50IiwiZXRmX2hvbGRpbmdzX2NvdW50IiwiY29udHJhY3QtZGVzY3JpcHRpb24iLCJyZWZlcmVuY2UtbGFzdC1wZXJpb2QiLCJhbGxfdGltZV9oaWdoIiwiYWxsX3RpbWVfaGlnaF9kYXkiLCJhbGxfdGltZV9sb3ciLCJhbGxfdGltZV9sb3dfZGF5Iiwib3V0c3RhbmRpbmdfYW1vdW50Iiwibm9taW5hbF92YWx1ZSIsImRlbm9tX21pbiIsImN1cnJlbnRfY291cG9uIiwiY291cG9uX3R5cGVfZ2VuZXJhbCIsImNvdXBvbl9mcmVxdWVuY3kiLCJ5aWVsZF90b19tYXR1cml0eSIsIm1hdHVyaXR5LWRhdGUiLCJkYXlzX3RvX21hdHVyaXR5IiwiYm9uZF9pc3N1ZXIiLCJpc3N1ZV9kYXRlIiwiYm9uZF9pc3N1ZXJfc3RvY2tfc3ltYm9sIiwidG90YWxfaXNzdWVkX2Ftb3VudCIsInBhaWRfYW1vdW50IiwiYm9uZF9zbnBfcmF0aW5nX2x0X2giLCJwbGFjZW1lbnRfdHlwZSIsImR1cmF0aW9uX3R5cGUiLCJtYXR1cml0eV90eXBlIiwib2ZmZXJfdHlwZSIsInJlZGVtcHRpb25fdHlwZSIsImNvbnZlcnNpb25fb3B0aW9uIiwic2lua2luZ19mdW5kIiwib3duZXJzaGlwX2Zvcm0iLCJkYWlseS1zdW1tYXJ5LWFzdCIsImlzc3VlX3N0YXR1cyIsImNvdXBvbl9oIiwic2lua2luZ19mdW5kX25leHRfZGF0ZSIsInNpbmtpbmdfZnVuZF9taW5fYW1vdW50X25leHQiLCJjYWxsX25leHRfZGF0ZSIsInJlZGVtcHRpb25zX2giLCJjYWxsX25vdGljZV9kYXlzIiwicHV0X25leHRfZGF0ZSIsInB1dF9ub3RpY2VfZGF5c19taW4iLCJzZW5pb3JpdHlfbGV2ZWwiLCJpbmZsYXRpb25fcHJvdGVjdGlvbiIsInBsZWRnZV9zdGF0dXMiLCJib25kX2lzc3Vlcl9jb3VudHJ5X29mX3Jpc2siLCJib25kX2lzc3Vlcl9jcl9wYXJlbnQiLCJjcmVkaXRfZW5oYW5jZW1lbnRfdHlwZSIsImNyZWRpdF9lbmhhbmNlbWVudF9zdGF0dXMiLCJ1c2Vfb2ZfcHJvY2VlZHMiLCJib25kX2lzc3Vlcl9zbnBfcmF0aW5nX2x0X2giLCJib25kX2lzc3Vlcl9zbnBfcmF0aW5nX3N0X2giLCJib25kX2FnZW50c190ciIsImZpcnN0X2Jhcl90aW1lXzFkIiwiZmluYW5jaWFsLWluZGljYXRvci1pZCIsImV4Y2hhbmdlLWluZm8iLCJ1bmRlcmx5aW5nLXN5bWJvbCIsInN0cmlrZSIsImxvdHNpemUiLCJvcHRpb24tc3R5bGUiLCJoYXNfYm9uZHMiLCJvcGVuX3RpbWUiLCJoYXNfYm9uZHMiLCJkZXhfYnV5c18xNW0iLCJkZXhfc2VsbHNfMTVtIiwiZGV4X2J1eV92b2x1bWVfMTVtIiwiZGV4X3NlbGxfdm9sdW1lXzE1bSIsImRleF9idXllcnNfMTVtIiwiZGV4X3NlbGxlcnNfMTVtIiwiZGV4X2J1eXNfMWgiLCJkZXhfc2VsbHNfMWgiLCJkZXhfYnV5X3ZvbHVtZV8xaCIsImRleF9zZWxsX3ZvbHVtZV8xaCIsImRleF9idXllcnNfMWgiLCJkZXhfc2VsbGVyc18xaCIsImRleF9idXlzXzRoIiwiZGV4X3NlbGxzXzRoIiwiZGV4X2J1eV92b2x1bWVfNGgiLCJkZXhfc2VsbF92b2x1bWVfNGgiLCJkZXhfYnV5ZXJzXzRoIiwiZGV4X3NlbGxlcnNfNGgiLCJkZXhfYnV5c18xMmgiLCJkZXhfc2VsbHNfMTJoIiwiZGV4X2J1eV92b2x1bWVfMTJoIiwiZGV4X3NlbGxfdm9sdW1lXzEyaCIsImRleF9idXllcnNfMTJoIiwiZGV4X3NlbGxlcnNfMTJoIiwiZGV4X2J1eXNfMjRoIiwiZGV4X3NlbGxzXzI0aCIsImRleF9idXlfdm9sdW1lXzI0aCIsImRleF9zZWxsX3ZvbHVtZV8yNGgiLCJkZXhfYnV5ZXJzXzI0aCIsImRleF9zZWxsZXJzXzI0aCIsImRleF9jb252ZXJ0ZWRfc3ltYm9sIiwiZGV4X3RyYWRpbmdfdm9sdW1lXzI0aCIsImRleF9jcmVhdGVkX3RpbWUiLCJkZXhfY3VycmVuY3kiLCJkZXhfY3VycmVuY3lfbG9nb2lkIiwiYmxvY2tjaGFpbl9hZGRyZXNzZXNfdXJscyIsImJsb2NrY2hhaW5fYWRkcmVzc2VzIiwiYmFzZV9jdXJyZW5jeSIsImlwb19vZmZlcl9zdGF0dXMiLCJoYXNfaXBvX2RldGFpbHNfdmlzaWJsZSIsImlwb19wcmljZV9yYW5nZV91c2RfbWF4IiwiaXBvX3ByaWNlX3JhbmdlX3VzZF9taW4iLCJpcG9fb2ZmZXJfcHJpY2VfdXNkIiwiaXBvX29mZmVyZWRfc2hhcmVzIiwiaXBvX2RlYWxfYW1vdW50X3VzZCIsImlwb19hbm5vdW5jZW1lbnRfZGF0ZSIsImlwb19vZmZlcl9kYXRlIiwiYXZhaWxhYmxlX2RhdGFfcmFuZ2VfYmVnaW5fZGF0ZSIsImF2YWlsYWJsZV9kYXRhX3JhbmdlX2VuZF9kYXRlIiwiaGFzX2V0Zl9vd25lcnNoaXAiLCJzeW1ib2xfcHJpbWFyeV9saXN0aW5nIiwibWV0cmljX3l0bSIsIm1ldHJpY3MiLCJlcHNfZXN0aW1hdGVzX2Z5X2giLCJlcHNfZXN0aW1hdGVzX2ZxX2giLCJlcHNfZXN0aW1hdGVzX2ZoX2giLCJyZXZlbnVlX2VzdGltYXRlc19meV9oIiwicmV2ZW51ZV9lc3RpbWF0ZXNfZnFfaCIsInJldmVudWVfZXN0aW1hdGVzX2ZoX2giLCJkcHNfZXN0aW1hdGVzX2Z5X2giLCJkcHNfZXN0aW1hdGVzX2ZxX2giLCJkcHNfZXN0aW1hdGVzX2ZoX2giLCJjb3N0X29mX2dvb2RzX2VzdGltYXRlc19meV9oIiwiY29zdF9vZl9nb29kc19lc3RpbWF0ZXNfZnFfaCIsImNvc3Rfb2ZfZ29vZHNfZXN0aW1hdGVzX2ZoX2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2Z5X2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2ZxX2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2ZoX2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2Z5X2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2ZxX2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2ZoX2giLCJyZXNlYXJjaF9hbmRfZGV2X2VzdGltYXRlc19meV9oIiwicmVzZWFyY2hfYW5kX2Rldl9lc3RpbWF0ZXNfZnFfaCIsInJlc2VhcmNoX2FuZF9kZXZfZXN0aW1hdGVzX2ZoX2giLCJlYml0ZGFfZXN0aW1hdGVzX2Z5X2giLCJlYml0ZGFfZXN0aW1hdGVzX2ZxX2giLCJlYml0ZGFfZXN0aW1hdGVzX2ZoX2giLCJlYml0X2VzdGltYXRlc19meV9oIiwiZWJpdF9lc3RpbWF0ZXNfZnFfaCIsImViaXRfZXN0aW1hdGVzX2ZoX2giLCJuZXRfaW5jb21lX2VzdGltYXRlc19meV9oIiwibmV0X2luY29tZV9lc3RpbWF0ZXNfZnFfaCIsIm5ldF9pbmNvbWVfZXN0aW1hdGVzX2ZoX2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2ZxX2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2ZoX2giLCJ0b3RhbF9kZWJ0X2VzdGltYXRlc19meV9oIiwidG90YWxfZGVidF9lc3RpbWF0ZXNfZnFfaCIsInRvdGFsX2RlYnRfZXN0aW1hdGVzX2ZoX2giLCJib29rX3ZhbHVlX3Blcl9zaGFyZV9lc3RpbWF0ZXNfZnlfaCIsImJvb2tfdmFsdWVfcGVyX3NoYXJlX2VzdGltYXRlc19mcV9oIiwiYm9va192YWx1ZV9wZXJfc2hhcmVfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXBpdGFsX2V4cGVuZGl0dXJlc19lc3RpbWF0ZXNfZnlfaCIsImNhcGl0YWxfZXhwZW5kaXR1cmVzX2VzdGltYXRlc19mcV9oIiwiY2FwaXRhbF9leHBlbmRpdHVyZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJmcmVlX2Nhc2hfZmxvd19lc3RpbWF0ZXNfZnlfaCIsImZyZWVfY2FzaF9mbG93X2VzdGltYXRlc19mcV9oIiwiZnJlZV9jYXNoX2Zsb3dfZXN0aW1hdGVzX2ZoX2giLCJlc3RpbWF0ZXNfZmlzY2FsX3BlcmlvZF9meV9oIiwiZXN0aW1hdGVzX2Zpc2NhbF9wZXJpb2RfZnFfaCIsImVzdGltYXRlc19maXNjYWxfcGVyaW9kX2ZoX2giLCJmb3JlY2FzdF9hdmFpbGFiaWxpdHkiXSksbj1uZXcgY2xhc3N7CmNvbnN0cnVjdG9yKGUpe3RoaXMuX2NhY2hlPW5ldyBNYXAsdGhpcy5fdGltZXM9bmV3IE1hcCx0aGlzLl9maWVsZHM9Wy4uLmUuZmllbGRzXX11cGRhdGUoZSx0LF8pe2NvbnN0IGk9KDAscy5lbnN1cmVEZWZpbmVkKShlLnN5bWJvbG5hbWUpLG49RGF0ZS5ub3coKTtpZih0aGlzLl9jYWNoZS5oYXMoaSl8fHRoaXMuX2NhY2hlLnNldChpLHtzeW1ib2xuYW1lOmksc3RhdHVzOmUuc3RhdHVzLHZhbHVlczp7fX0pLHRoaXMuX3RpbWVzLmhhcyhpKXx8dGhpcy5fdGltZXMuc2V0KGksbmV3IE1hcCksImVycm9yIj09PWUuc3RhdHVzKXJldHVybjtjb25zdCBhPSgwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5fY2FjaGUuZ2V0KGkpKSxyPSgwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5fdGltZXMuZ2V0KGkpKTthLnN0YXR1cz1lLnN0YXR1cztmb3IoY29uc3QgcyBvZiB0aGlzLl9maWVsZHMpdC5oYXMocykmJihffHx2b2lkIDAhPT1lLnZhbHVlc1tzXSkmJihhLnZhbHVlc1tzXT1lLnZhbHVlc1tzXSxyLnNldChzLG4pKX1nZXQoZSl7cmV0dXJuIHRoaXMuX2NhY2hlLmdldChlKT8/bnVsbH1nZXRUaW1lcyhlKXtyZXR1cm4gdGhpcy5fdGltZXMuZ2V0KGUpPz9udWxsfWZpZWxkcygpe3JldHVybiB0aGlzLl9maWVsZHN9fSh7ZmllbGRzOml9KX0sOTI3NTkzKGUsdCxfKXsidXNlIHN0cmljdCI7Xy5kKHQse1F1b3RlU2Vzc2lvbk11bHRpcGxleGVyOigpPT5mfSk7dmFyIHM9Xyg1ODcxNjgpLGk9Xyg1NDc4NTEpLG49XygzNTI4MzcpLGE9XygxMzg2MzgpLHI9XygyMjEwNjEpLG89Xyg5NDgzODApLGw9Xyg5NjQ0ODYpLGM9XygxNTAxNTApLGg9XygzMDkwNTIpLGQ9XygzNjc5NDYpO2xldCB1PSExO3ZhciBtPV8oOTcwNzc0KTtjb25zdCBwPSgwLHIuZ2V0TG9nZ2VyKSgiV2ViY2hhcnRDbGllbnQuUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIiKTtjbGFzcyBme2NvbnN0cnVjdG9yKGUpe3RoaXMub25Db25uZWN0PW5ldyBvLkRlbGVnYXRlLHRoaXMub25EaXNjb25uZWN0PW5ldyBvLkRlbGVnYXRlLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLl9zdWJzY3JpcHRpb25zPXt9LHRoaXMuX3N5bWJvbF9kYXRhPXt9LHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHM9KDAsaS5kZWZhdWx0KSh0aGlzLl91cGRhdGVGYXN0U3ltYm9scywyNTApLHRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGE9e30sdGhpcy5fZXh0ZW5zaW9ucz17fSx0aGlzLm9wdGlvbnM9e3Rocm90dGxlVGltZW91dDoxMjUsLi4uZX0sdGhpcy5fc2Vzc2lvbj1uZXcgbS5RdW90ZVNlc3Npb24oZS5hcGksWyJtdWx0aXBsZXhlciIsZS5uYW1lLCgwLGMucmFuZG9tSGFzaCkoKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIl8iKSksdGhpcy5vcHRpb25zLmV4dGVuc2lvbnM/LmZvcm1hdHRlciYmKHRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyPXRoaXMub3B0aW9ucy5leHRlbnNpb25zLmZvcm1hdHRlcih0aGlzKSksdGhpcy5vcHRpb25zLmV4dGVuc2lvbnM/LnNuYXBzaG90JiYodGhpcy5fZXh0ZW5zaW9ucy5zbmFwc2hvdD10aGlzLm9wdGlvbnMuZXh0ZW5zaW9ucy5zbmFwc2hvdCh0aGlzKSksdGhpcy5jb25uZWN0KCl9ZGVzdHJveSgpe3RoaXMuX3Nlc3Npb24uZGVzdHJveSgpLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLm9uRGlzY29ubmVjdC5maXJlKCl9aW50ZXJuYWxzKCl7cmV0dXJue3Nlc3Npb246KCk9PnRoaXMuX3Nlc3Npb24sc3Vic2NyaXB0aW9uczooKT0+dGhpcy5fc3Vic2NyaXB0aW9ucyxkYXRhOigpPT50aGlzLl9zeW1ib2xfZGF0YX19Y29ubmVjdCgpe3RoaXMuX3Nlc3Npb24uY29ubmVjdCh0aGlzLnF1b3RlSGFuZGxlci5iaW5kKHRoaXMpKX1xdW90ZUhhbmRsZXIoZSl7Y29uc3R7bWV0aG9kOnQscGFyYW1zOl99PWU7c3dpdGNoKHQpe2Nhc2UiY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWR8fCh0aGlzLl9jb25uZWN0ZWQ9ITAsdGhpcy5vbkNvbm5lY3RlZCgpKTticmVhaztjYXNlInF1b3RlX2xpc3RfZmllbGRzIjpicmVhaztjYXNlInF1b3RlX3N5bWJvbF9kYXRhIjp0aGlzLl9jb25uZWN0ZWQmJnRoaXMub25TeW1ib2xEYXRhKF9bMF0pO2JyZWFrO2Nhc2UicXVvdGVfY29tcGxldGVkIjp0aGlzLl9jb25uZWN0ZWQmJnRoaXMub25TeW1ib2xEYXRhKHtzeW1ib2xuYW1lOl9bMF0sY29tcGxldGU6cGVyZm9ybWFuY2Uubm93KCksdmFsdWVzOnt9fSk7YnJlYWs7Y2FzZSJkaXNjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLm9uRGlzY29ubmVjdC5maXJlKCkpfX1vbkNvbm5lY3RlZCgpe3RoaXMuc2V0RmllbGRzKCk7Y29uc3QgZT1PYmplY3Qua2V5cyh0aGlzLl9zeW1ib2xfZGF0YSk7ZS5sZW5ndGgmJih0aGlzLl9zZXNzaW9uLnF1b3RlQWRkU3ltYm9scyhlKSx0aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCkpLHRoaXMub25Db25uZWN0LmZpcmUoKX1zZXRGaWVsZHMoKXtjb25zdHtmaWVsZHM6ZX09dGhpcy5vcHRpb25zO2UmJmUubGVuZ3RoJiZ0aGlzLl9zZXNzaW9uLnF1b3RlU2V0RmllbGRzKGUpfW9uU3ltYm9sRGF0YShlKXt0cnl7ZS5zdGF0dXMmJmguUVVPVEVfRklFTERTX0NBQ0hFLnVwZGF0ZShlLGguUVVPVEVfRklFTERTLCExKX1jYXRjaChlKXt9Y29uc3QgdD1lLnN5bWJvbG5hbWU7bGV0IF89dGhpcy5fdGhyb3R0bGVkU3ltYm9sRGF0YVt0XTt1JiYoZGVsZXRlIGUudmFsdWVzLnByZXZfY2xvc2VfcHJpY2Usdm9pZCAwIT09ZS52YWx1ZXMucmVndWxhcl9jbG9zZSYmKGUudmFsdWVzLnByZXZfY2xvc2VfcHJpY2U9ZS52YWx1ZXMucmVndWxhcl9jbG9zZSkpLF98fChfPXRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbdF09e2ZuRGlzcGF0Y2g6KDAscy5kZWZhdWx0KSh0aGlzLmRpc3BhdGNoU3ltYm9sRGF0YS5iaW5kKHRoaXMpLHRoaXMub3B0aW9ucy50aHJvdHRsZVRpbWVvdXQpfSksXy5jYWNoZT8oMCxsLmRlZXBFeHRlbmQpKF8uY2FjaGUsZSk6Xy5jYWNoZT1lLF8uZm5EaXNwYXRjaCh0KX1kaXNwYXRjaFN5bWJvbERhdGEoZSl7Y29uc3QgdD10aGlzLl9zeW1ib2xfZGF0YVtlXSxfPXRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbZV0uY2FjaGUKO2lmKGRlbGV0ZSB0aGlzLl90aHJvdHRsZWRTeW1ib2xEYXRhW2VdLmNhY2hlLHRoaXMuX3N5bWJvbF9kYXRhW2VdKXsoMCxsLmRlZXBFeHRlbmQpKHQsXyksdC52YWx1ZXMmJnRoaXMuX3BhcnNlVXBkYXRlTW9kZSh0LnZhbHVlcyk7Zm9yKGNvbnN0IHMgaW4gdGhpcy5fc3Vic2NyaXB0aW9ucyl7Y29uc3QgaT10aGlzLl9zdWJzY3JpcHRpb25zW3NdO2lmKGkuaGFzKGUpKXtbLi4uKDAsYS5lbnN1cmVEZWZpbmVkKShpLmdldChlKSldLmZvckVhY2goKGU9PntlKHQsXyl9KSl9fX19c3Vic2NyaWJlKGUsdCxfKXt0aGlzLl9zdWJzY3JpcHRpb25zW2VdPXRoaXMuX3N1YnNjcmlwdGlvbnNbZV18fG5ldyBNYXA7Y29uc3Qgcz10aGlzLl9zdWJzY3JpcHRpb25zW2VdO3Q9QXJyYXkuaXNBcnJheSh0KT9bLi4udF06W3RdO2NvbnN0IGk9W107dC5mb3JFYWNoKChlPT57dGhpcy5fc3ltYm9sX2RhdGFbZV0/cyYmcy5oYXMoZSl8fHRoaXMuX3N5bWJvbF9kYXRhW2VdLnN1YnNjcmliZXJzX2NvdW50Kys6KHRoaXMuX3N5bWJvbF9kYXRhW2VdPXtzdWJzY3JpYmVyc19jb3VudDoxfSxpLnB1c2goZSkpLHMuaGFzKGUpfHxzLnNldChlLFtdKTtjb25zdCB0PSgwLGEuZW5zdXJlRGVmaW5lZCkocy5nZXQoZSkpO3QucHVzaChfKSx0LmZhc3Q9ITAsdGhpcy5fc3ltYm9sX2RhdGFbZV0mJnRoaXMuX3N5bWJvbF9kYXRhW2VdLnZhbHVlcyYmXyh0aGlzLl9zeW1ib2xfZGF0YVtlXSx0aGlzLl9zeW1ib2xfZGF0YVtlXSl9KSksaS5sZW5ndGgmJnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX3Nlc3Npb24ucXVvdGVBZGRTeW1ib2xzKGkpLHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHMoKSl9dW5zdWJzY3JpYmUoZSx0LF8pe3Q9QXJyYXkuaXNBcnJheSh0KT9bLi4udF06W3RdO2NvbnN0IHM9dGhpcy5fc3Vic2NyaXB0aW9uc1tlXSxpPVtdO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCByPXRbbl07aWYocyYmcy5oYXMocikpe2lmKF8pe2NvbnN0IGU9KDAsYS5lbnN1cmVEZWZpbmVkKShzLmdldChyKSksdD1lLmluZGV4T2YoXyk7fnQmJmUuc3BsaWNlKHQsMSksZS5sZW5ndGh8fHMuZGVsZXRlKHIpfWVsc2Ugcy5kZWxldGUocik7MD09PXMuc2l6ZSYmZGVsZXRlIHRoaXMuX3N1YnNjcmlwdGlvbnNbZV0sdGhpcy5fc3ltYm9sX2RhdGEuaGFzT3duUHJvcGVydHkocikmJihzLmhhcyhyKXx8dGhpcy5fc3ltYm9sX2RhdGFbcl0uc3Vic2NyaWJlcnNfY291bnQtLSx0aGlzLl9zeW1ib2xfZGF0YVtyXS5zdWJzY3JpYmVyc19jb3VudHx8KGRlbGV0ZSB0aGlzLl9zeW1ib2xfZGF0YVtyXSxpLnB1c2gocikpKX1lbHNlIHAubG9nV2FybihgQ2hlY2sgeW91ciBzdWIvdW5zdWIgbG9va3MgaXQgaXMgbGVha2luZyAoY2xpZW50X2lkPSR7ZX0sIHN5bWJvbD0ke3J9KWApfWkubGVuZ3RoJiZ0aGlzLl9jb25uZWN0ZWQmJih0aGlzLl9zZXNzaW9uLnF1b3RlUmVtb3ZlU3ltYm9scyhpKSx0aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCkpfXNldEZhc3RTeW1ib2xzKGUsdCl7aWYodGhpcy5fc3Vic2NyaXB0aW9uc1tlXSl7Y29uc3QgXz10aGlzLl9zdWJzY3JpcHRpb25zW2VdLHM9QXJyYXkuZnJvbShfLmtleXMoKSk7Zm9yKGxldCBlPTA7ZTxzLmxlbmd0aDsrK2Upe2NvbnN0IGk9c1tlXTsoMCxhLmVuc3VyZURlZmluZWQpKF8uZ2V0KGkpKS5mYXN0PS0xIT09dC5pbmRleE9mKGkpfX10aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCl9c25hcHNob3QoZSl7cmV0dXJuIHZvaWQgMD09PXRoaXMuX2V4dGVuc2lvbnMuc25hcHNob3Q/UHJvbWlzZS5yZWplY3QoIk5vIGZvcm1hdHRlciBleHRlbnNpb24gcHJvdmlkZWQiKTp0aGlzLl9leHRlbnNpb25zLnNuYXBzaG90KGUpfWZvcm1hdHRlcihlLHQpe3JldHVybiB2b2lkIDA9PT10aGlzLl9leHRlbnNpb25zLmZvcm1hdHRlcj9Qcm9taXNlLnJlamVjdCgiTm8gZm9ybWF0dGVyIGV4dGVuc2lvbiBwcm92aWRlZCIpOnRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyKGUsdCl9X3VwZGF0ZUZhc3RTeW1ib2xzKCl7aWYoIXRoaXMuX2Nvbm5lY3RlZClyZXR1cm47Y29uc3QgZT10aGlzLl9mYXN0U3ltYm9scygpOzA9PT1lLmxlbmd0aD90aGlzLl9zZXNzaW9uLnF1b3RlSGliZXJuYXRlQWxsKCk6dGhpcy5fc2Vzc2lvbi5xdW90ZUZhc3RTeW1ib2xzKGUpfV9mYXN0U3ltYm9scygpe2xldCBlPVtdO2Zvcihjb25zdCB0IGluIHRoaXMuX3N1YnNjcmlwdGlvbnMpe2NvbnN0IF89dGhpcy5fc3Vic2NyaXB0aW9uc1t0XSxzPUFycmF5LmZyb20oXy5rZXlzKCkpO2ZvcihsZXQgdD0wO3Q8cy5sZW5ndGg7Kyt0KXtjb25zdCBpPXNbdF07KDAsYS5lbnN1cmVEZWZpbmVkKShfLmdldChpKSkuZmFzdCYmZS5wdXNoKGkpfX1yZXR1cm4gZT0oMCxuLmRlZmF1bHQpKGUpLGV9X3BhcnNlVXBkYXRlTW9kZShlKXsoMCxkLm5vcm1hbGl6ZVVwZGF0ZU1vZGUpKGUpfX19LDk3MDc3NChlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtRdW90ZVNlc3Npb246KCk9Pml9KTt2YXIgcz1fKDE1MDE1MCk7Y2xhc3MgaXtjb25zdHJ1Y3RvcihlLHQ9KDAscy5yYW5kb21IYXNoKSgpKXt0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMSx0aGlzLl9nbG9iYWxIYW5kbGVyPW51bGwsdGhpcy5fY2hhcnRBcGk9ZSx0aGlzLl9zZXNzaW9uaWQ9InFzXyIrdH1kZXN0cm95KCl7dGhpcy5fc2Vzc2lvbnN0YXJ0ZWQmJih0aGlzLl9jaGFydEFwaS5xdW90ZURlbGV0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkKSx0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMSl9Y29ubmVjdGVkKCl7cmV0dXJuIHRoaXMuX2NoYXJ0QXBpLmNvbm5lY3RlZCgpfWNvbm5lY3QoZSl7dGhpcy5fZ2xvYmFsSGFuZGxlcj1lLHRoaXMuX2NoYXJ0QXBpLmNyZWF0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkLHRoaXMpLHRoaXMuX2NoYXJ0QXBpLmNvbm5lY3QoKX1kaXNjb25uZWN0KCl7dGhpcy5fY2hhcnRBcGkuZGlzY29ubmVjdCgpfXF1b3RlQWRkU3ltYm9scyhlKXt0aGlzLl9jaGFydEFwaS5xdW90ZUFkZFN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlUmVtb3ZlU3ltYm9scyhlKXsKdGhpcy5fY2hhcnRBcGkucXVvdGVSZW1vdmVTeW1ib2xzKHRoaXMuX3Nlc3Npb25pZCxlKX1xdW90ZUZhc3RTeW1ib2xzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlRmFzdFN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlU2V0RmllbGRzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlU2V0RmllbGRzKHRoaXMuX3Nlc3Npb25pZCxlKX1vbk1lc3NhZ2UoZSl7c3dpdGNoKGUubWV0aG9kKXtjYXNlImNvbm5lY3RlZCI6dGhpcy5fc2Vzc2lvbnN0YXJ0ZWR8fCh0aGlzLl9jaGFydEFwaS5xdW90ZUNyZWF0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkKSx0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMCk7YnJlYWs7Y2FzZSJkaXNjb25uZWN0ZWQiOnRoaXMuX3Nlc3Npb25zdGFydGVkPSExfXRoaXMuX2dsb2JhbEhhbmRsZXI/LihlKX1xdW90ZUhpYmVybmF0ZUFsbCgpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlSGliZXJuYXRlQWxsKHRoaXMuX3Nlc3Npb25pZCl9fX0sNjYxODU4KGUsdCxfKXtlLmV4cG9ydHM9W3tuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDM1MDE0NikpLHZhbHVlOiIiLHNlYXJjaF90eXBlOiJ1bmRlZmluZWQifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg1NTU1MTApKSx2YWx1ZToic3RvY2tzIixzZWFyY2hfdHlwZToic3RvY2tzIn0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNTY0OTE3KSksdmFsdWU6ImZ1bmRzIixzZWFyY2hfdHlwZToiZnVuZHMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg1MDUwNzkpKSx2YWx1ZToiZnV0dXJlcyIsc2VhcmNoX3R5cGU6ImZ1dHVyZXMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg5Nzk5NykpLHZhbHVlOiJmb3JleCIsc2VhcmNoX3R5cGU6ImZvcmV4In0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oMzg0NTk3KSksdmFsdWU6ImNmZCIsc2VhcmNoX3R5cGU6ImNmZCJ9LHtuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDY1NTIzNSkpLHZhbHVlOiJiaXRjb2luLGNyeXB0byIsc2VhcmNoX3R5cGU6ImNyeXB0byJ9LHtuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDkyNzQxMSkpLHZhbHVlOiJpbmRleCIsc2VhcmNoX3R5cGU6ImluZGV4In0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNzY1NDQwKSksdmFsdWU6ImJvbmQiLHNlYXJjaF90eXBlOiJib25kIn0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNTQ4MzIyKSksdmFsdWU6ImVjb25vbWljIixzZWFyY2hfdHlwZToiZWNvbm9taWMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg3OTYwMCkpLHZhbHVlOiJvcHRpb25zIixzZWFyY2hfdHlwZToib3B0aW9ucyJ9XX0sNjA2MTAoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7QXV0aFRva2VuOigpPT5vfSk7dmFyIHM9XygyMjEwNjEpLGk9Xyg5NDgzODApLG49XygzODQwMTcpO2NvbnN0IGE9KDAscy5nZXRMb2dnZXIpKCJDaGFydEFwaS5BdXRoVG9rZW4iLHtjb2xvcjoiIzE3MyJ9KTt2YXIgcjshZnVuY3Rpb24oZSl7ZVtlLkV4cGlyYXRpb25SZXNlcnZlPTNlNV09IkV4cGlyYXRpb25SZXNlcnZlIixlW2UuTWF4UmV0cmllcz0zXT0iTWF4UmV0cmllcyIsZVtlLlJldHJ5RGVsYXlNdWx0aXBsaWVyPTFlM109IlJldHJ5RGVsYXlNdWx0aXBsaWVyIixlW2UuRmFsbGJhY2tFeHBpcmF0aW9uPTE0NGU1XT0iRmFsbGJhY2tFeHBpcmF0aW9uIixlW2UuTWluRXhwaXJhdGlvbj0zZTVdPSJNaW5FeHBpcmF0aW9uIn0ocnx8KHI9e30pKTtjbGFzcyBve2NvbnN0cnVjdG9yKCl7dGhpcy5pbnZhbGlkYXRlZD1uZXcgaS5EZWxlZ2F0ZSx0aGlzLl90aWQ9MCx0aGlzLl9vbkdvaW5nQXV0aFRva2VuUmVxdWVzdD1udWxsLHRoaXMuX29uT25saW5lPSgpPT57YS5sb2dJbmZvKCJPbmxpbmUsIG5ldyB0b2tlbiB3aWxsIGJlIGZldGNoZWQgaWYgbmVlZGVkIiksdGhpcy5fdHJ5VG9VcGRhdGVUb2tlbigpfSx0aGlzLl9vblZpc2liaWxpdHlDaGFuZ2U9KCk9PnsidmlzaWJsZSI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJihhLmxvZ0luZm8oIlBhZ2UgdmlzaWJsZSwgbmV3IHRva2VuIHNob3VsZCBiZSBmZXRjaGVkIiksdGhpcy5fdHJ5VG9VcGRhdGVUb2tlbigpKX0sd2luZG93LmxvZ2luU3RhdGVDaGFuZ2V8fCh3aW5kb3cubG9naW5TdGF0ZUNoYW5nZT1uZXcgaS5EZWxlZ2F0ZSksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsKGU9PntlfHwodGhpcy5fc2V0KHdpbmRvdy51c2VyLmF1dGhfdG9rZW4pLHRoaXMuaW52YWxpZGF0ZWQuZmlyZSgpKX0pKSx0aGlzLl9zZXQod2luZG93LnVzZXIuYXV0aF90b2tlbiksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5fb25PbmxpbmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHRoaXMuX29uVmlzaWJpbGl0eUNoYW5nZSl9ZGVzdHJveSgpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLHRoaXMuX29uT25saW5lKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLl9vblZpc2liaWxpdHlDaGFuZ2UpfWdldChlKXtyZXR1cm4gd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/IWUmJnRoaXMuY3VycmVudFRva2VuSXNWYWxpZCgpPyhhLmxvZ0luZm8oYFVzaW5nIGNhY2hlZCB0b2tlbiAke3RoaXMuX2NhY2hlLnRva2VufWApLFByb21pc2UucmVzb2x2ZSh0aGlzLl9jYWNoZS50b2tlbikpOndpbmRvdy5uYXZpZ2F0b3Iub25MaW5lP3RoaXMuX29uR29pbmdBdXRoVG9rZW5SZXF1ZXN0fHw9dGhpcy5fZmV0Y2goQm9vbGVhbihlKSwwKS50aGVuKChlPT57CmlmKCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZCl0aHJvdyBuZXcgRXJyb3IoIlVzZXIgbG9nZ2VkIG91dCB3aGlsZSB0aGUgcmVxdWVzdCB3YXMgaW4gZmxpZ2h0Iik7cmV0dXJuIHRoaXMuX3NldChlKSxlfSkpLmNhdGNoKChlPT4oYS5sb2dFcnJvcihgRXJyb3IgZmV0Y2hpbmcgbmV3IHRva2VuOiAke2UmJmUubWVzc2FnZX1gKSwiIikpKS5maW5hbGx5KCgoKT0+e3RoaXMuX29uR29pbmdBdXRoVG9rZW5SZXF1ZXN0PW51bGx9KSk6KGEubG9nV2FybigiT2ZmbGluZSwgY2Fubm90IGZldGNoIG5ldyB0b2tlbiwgdXNpbmcgY2FjaGVkIHRva2VuIiksUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2NhY2hlLnRva2VuKSk6UHJvbWlzZS5yZXNvbHZlKCIiKX1yZXNldCgpe3RoaXMuX3NldCh2b2lkIDApLHRoaXMuaW52YWxpZGF0ZWQuZmlyZSgpfWN1cnJlbnRUb2tlbklzVmFsaWQoKXtyZXR1cm4hd2luZG93LmlzX2F1dGhlbnRpY2F0ZWR8fCEhdGhpcy5fY2FjaGUmJihwZXJmb3JtYW5jZS5ub3coKTx0aGlzLl9jYWNoZS5tb25vVmFsaWRUaHJ1JiZEYXRlLm5vdygpPHRoaXMuX2NhY2hlLndhbGxWYWxpZFRocnUpfV9zZXQoZSl7aWYod2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJnZvaWQgMCE9PWUpe2NvbnN0IHQ9ZnVuY3Rpb24oZSl7aWYoIiI9PT1lKXJldHVybiAxNDRlNTt0cnl7Y29uc3QgdD1KU09OLnBhcnNlKGF0b2IoZS5zcGxpdCgiLiIpWzFdLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpKSksXz0xZTMqKHQuZXhwLXQuaWF0KTtpZighaXNGaW5pdGUoXykpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGV4cGlyYXRpb24iKTtyZXR1cm4gTWF0aC5tYXgoXy0zZTUsM2U1KX1jYXRjaCh0KXtyZXR1cm4gYS5sb2dFcnJvcihgJHtlfSBpcyBpbnZhbGlkOiAke3QubWVzc2FnZX1gKSwxNDRlNX19KGUpO3RoaXMuX2NhY2hlPXt0b2tlbjplLG1vbm9WYWxpZFRocnU6cGVyZm9ybWFuY2Uubm93KCkrdCx3YWxsVmFsaWRUaHJ1OkRhdGUubm93KCkrdH0sY2xlYXJUaW1lb3V0KHRoaXMuX3RpZCksdGhpcy5fdGlkPXNldFRpbWVvdXQoKCgpPT57d2luZG93Lm5hdmlnYXRvci5vbkxpbmU/dGhpcy5yZXNldCgpOmEubG9nSW5mbygiT2ZmbGluZSwgY2FjaGUgd2lsbCBub3QgYmUgaW52YWxpZGF0ZWQiKX0pLHQpLGEubG9nSW5mbyhgQ2FjaGVkIGZvciAke3R9IG1zOiAke2V9YCl9ZWxzZSB0aGlzLl9jYWNoZT17dG9rZW46IiIsbW9ub1ZhbGlkVGhydTotMS8wLHdhbGxWYWxpZFRocnU6LTEvMH0sY2xlYXJUaW1lb3V0KHRoaXMuX3RpZCksYS5sb2dJbmZvKCJDYWNoZSBkcm9wcGVkIil9X2ZldGNoKGUsdCl7cmV0dXJuIGEubG9nTm9ybWFsKGBGZXRjaGluZyBhIG5ldyB0b2tlbiwgZ3JhYlNlc3Npb249JHtlfWApLCgwLG4uZmV0Y2gpKCIvcXVvdGVfdG9rZW4vIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIn0sYm9keTplPyJncmFiU2Vzc2lvbj10cnVlIjoiIn0pLnRoZW4oKGU9PntpZighZS5vayl0aHJvdyBuZXcgRXJyb3IoYFJlc3BvbnNlIHN0YXR1cyBpcyBub3Qgb2s6ICR7ZS5zdGF0dXN9YCk7cmV0dXJuIGUuanNvbigpLnRoZW4oU3RyaW5nKX0pLChfPT57aWYodD49Myl0aHJvdyBfO3JldHVybiBhLmxvZ1dhcm4oIlJlcXVlc3QgZmFpbGVkLCB3aWxsIHJldHJ5IiksZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKCh0PT5zZXRUaW1lb3V0KHQsMWUzKmUpKSl9KHQpLnRoZW4oKCgpPT50aGlzLl9mZXRjaChlLHQrMSkpKX0pKX1hc3luYyBfdHJ5VG9VcGRhdGVUb2tlbigpe3RoaXMuX2NhY2hlLnRva2VuIT09YXdhaXQgdGhpcy5nZXQoKSYmdGhpcy5pbnZhbGlkYXRlZC5maXJlKCl9fX0sOTMwMDQ1KGUsdCxfKXsidXNlIHN0cmljdCI7Xy5kKHQse0pTT05EYXRhSGFuZGxlcjooKT0+YX0pO3ZhciBzPV8oNzgzMzQwKTtmdW5jdGlvbiBpKGUpe3JldHVybntpbmRleDplLmksdmFsdWU6ZS52fX1mdW5jdGlvbiBuKGUpe2Zvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKGUpKXtjb25zdCBfPWVbdF07Xy50JiYoXy50dXJuYXJvdW5kPWVbdF0udCksInMiaW4gZVt0XSYmZVt0XS5zJiYhXy5zZXJpZXMmJihfLnNlcmllcz1lW3RdLnMubWFwKGkpKSwic3QiaW4gZVt0XSYmZVt0XS5zdCYmIV8uc2VyaWVzJiYoXy5zZXJpZXM9ZVt0XS5zdC5tYXAoaSkpfX1jbGFzcyBhe3NldF9icm9rZXIoZSl7cmV0dXJuW2VdfXNldF9kYXRhX3F1YWxpdHkoKXtyZXR1cm5bImxvdyJdfXF1b3RlX2NyZWF0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1xdW90ZV9kZWxldGVfc2Vzc2lvbihlKXtyZXR1cm5bZV19cXVvdGVfc2V0X2ZpZWxkcyhlLHQpe3JldHVybltlXS5jb25jYXQodCl9cXVvdGVfYWRkX3N5bWJvbHMoZSx0KXtyZXR1cm5bZV0uY29uY2F0KHQpfXF1b3RlX3JlbW92ZV9zeW1ib2xzKGUsdCl7cmV0dXJuW2VdLmNvbmNhdCh0KX1xdW90ZV9mYXN0X3N5bWJvbHMoZSx0KXtyZXR1cm5bZV0uY29uY2F0KHQpfXF1b3RlX2hpYmVybmF0ZV9hbGwoZSl7cmV0dXJuW2VdfWRlcHRoX2NyZWF0ZV9zZXNzaW9uKGUsdCxfKXtyZXR1cm5bZSx0LF9dfWRlcHRoX2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1kZXB0aF9zZXRfc3ltYm9sKGUsdCl7cmV0dXJuW2UsdF19ZGVwdGhfY2xlYXJfc3ltYm9sKGUpe3JldHVybltlXX1kZXB0aF9zZXRfc2NhbGUoZSx0KXtyZXR1cm5bZSx0XX1jaGFydF9jcmVhdGVfc2Vzc2lvbihlLHQpe3JldHVybltlLHQ/ImRpc2FibGVfc3RhdGlzdGljcyI6IiJdfWNoYXJ0X2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1zZXRfYXV0aF90b2tlbihlKXtyZXR1cm5bZV19c2V0X2xvY2FsZShlLHQpe3JldHVybltlLHRdfXN3aXRjaF90aW1lem9uZShlLHQpe3JldHVybltlLHRdfXJlc29sdmVfc3ltYm9sKGUsdCxfKXtyZXR1cm5bZSx0LF9dfWNyZWF0ZV9zZXJpZXMoZSx0LF8scyxpLG4sYSl7cmV0dXJuW2UsdCxfPV98fCIiLHMsaSxuLGFdfXJlbW92ZV9zZXJpZXMoZSx0KXtyZXR1cm5bZSx0XX1tb2RpZnlfc2VyaWVzKGUsdCxfLHMsaSxuKXtyZXR1cm5bZSx0LF89X3x8IiIscyxpLG5dfQpyZXF1ZXN0X21vcmVfZGF0YShlLHQsXyl7cmV0dXJuW2UsdCxfXX1zZXRfZnV0dXJlX3RpY2ttYXJrc19tb2RlKGUsdCl7cmV0dXJuW2UsdF19cmVxdWVzdF9zdHVkaWVzX21ldGFkYXRhKGUpe3JldHVybltlXX1jcmVhdGVfc3R1ZHkoZSx0LF8scyxpLG4pe3JldHVybltlLHQsXz1ffHwiIixzLGldLmNvbmNhdChuKX1jcmVhdGVfY2hpbGRfc3R1ZHkoZSx0LF8scyxpLG4pe3JldHVybiB0aGlzLmNyZWF0ZV9zdHVkeShlLHQsXyxzLGksbil9cmVtb3ZlX3N0dWR5KGUsdCl7cmV0dXJuW2UsdF19bW9kaWZ5X3N0dWR5KGUsdCxfLHMpe3JldHVybltlLHQsXz1ffHwiIl0uY29uY2F0KHMpfW5vdGlmeV9zdHVkeShlLHQsXyxzKXtyZXR1cm5bZSx0LF89X3x8IiIsc119Y3JlYXRlX3BvaW50c2V0KGUsdCxfLHMsaSxuKXtyZXR1cm5bZSx0LF89X3x8IiIscyxpXS5jb25jYXQobil9bW9kaWZ5X3BvaW50c2V0KGUsdCxfLHMpe3JldHVybltlLHQsXz1ffHwiIl0uY29uY2F0KHMpfXJlbW92ZV9wb2ludHNldChlLHQpe3JldHVybltlLHRdfXJlcXVlc3RfbW9yZV90aWNrbWFya3MoZSx0LF8pe3JldHVybltlLHQsX119Z2V0X2ZpcnN0X2Jhcl90aW1lKGUsdCxfKXtyZXR1cm5bZSx0LF9dfXJlcGxheV9jcmVhdGVfc2Vzc2lvbihlKXtyZXR1cm5bZV19cmVwbGF5X2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1yZXBsYXlfcmVzZXQoZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X3N0YXJ0KGUsdCxfKXtyZXR1cm5bZSx0LF9dfXJlcGxheV9zdG9wKGUsdCl7cmV0dXJuW2UsdF19cmVwbGF5X3N0ZXAoZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X2FkZF9zZXJpZXMoZSx0LF8scyl7cmV0dXJuW2UsdCxfLHNdfXJlcGxheV9yZW1vdmVfc2VyaWVzKGUsdCxfLHMpe3JldHVybltlLHQsXyxzXX1yZXBsYXlfc2V0X3Jlc29sdXRpb24oZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X2dldF9kZXB0aChlLHQsXyxzKXtyZXR1cm5bZSx0LF8sc119Y29udmVydFRpbWVzY2FsZVJlc3BvbnNlKGUpe2NvbnN0IHQ9ZS5tYXJrcy5tYXAoKGU9Pih7c3BhbjplWzBdLHRpbWU6ZVsxXSxpbmRleDplWzJdfSkpKSxfPXZvaWQgMD09PWUuaW5kZXhfZGlmZj9bXTplLmluZGV4X2RpZmYubWFwKChlPT4oe29sZDplWzBdLG5ldzplWzFdfSkpKTtyZXR1cm57Li4uZSxtYXJrczp0LGluZGV4X2RpZmY6XyxjbGVhcjowPT09ZS5jaGFuZ2VzLmxlbmd0aCYmMD09PV8ubGVuZ3RoJiYwPT09dC5sZW5ndGh9fWdldERhdGFVcGRhdGVPYmplY3RzKGUpe3JldHVybiBlLnBhcmFtc1swXX1nZXRUaW1lc2NhbGVPYmplY3RzKGUpe3JldHVybiBlLnBhcmFtc1swXX1nZXRUaW1lc2NhbGVDaGFuZ2VzZXQoZSl7cmV0dXJuIGUucGFyYW1zWzFdfXByZXBhcmVEYXRhVXBkYXRlT2JqZWN0cyhlLHQsXyl7Zm9yKGNvbnN0W2ksbl1vZiBPYmplY3QuZW50cmllcyh0KSl7Y29uc3QgdD0icGxvdHMiaW4gbj9uLnBsb3RzOm4uc2VyaWVzLGE9e2N1c3RvbUlkOmksdHVybmFyb3VuZDpuLnR1cm5hcm91bmQscGxvdHM6dH07Im5zImluIG4mJm4ubnMmJihhLm5vbnNlcmllcz1uLm5zKSwibGJzImluIG4mJm4ubGJzJiYoYS5sYXN0QmFyPXtjbG9zZVRpbWU6bi5sYnMuYmFyX2Nsb3NlX3RpbWV9KTtmb3IoY29uc3QgZSBvZiBhLnBsb3RzKWZvcihjb25zdFt0LF9db2YgT2JqZWN0LmVudHJpZXMoZS52YWx1ZSkpXyYmTWF0aC5hYnMoXyk+PTFlMTAwJiYoZS52YWx1ZVsrdF09dm9pZCAwKTtfKGUsaSx7bWV0aG9kOnMuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5EYXRhVXBkYXRlLHBhcmFtczphfSl9fXVucGFjayhlKXtjb25zdCB0PUpTT04ucGFyc2UoZSk7dC5tJiZ0LnAmJih0Lm1ldGhvZD10Lm0sdC5wYXJhbXM9dC5wLHQudGltZT10LnQpO2NvbnN0IF89dC5wYXJhbXNbMV07c3dpdGNoKHQubWV0aG9kKXtjYXNlInFzZCI6dC5tZXRob2Q9InF1b3RlX3N5bWJvbF9kYXRhIixfLnN5bWJvbG5hbWU9Xy5uLF8uc3RhdHVzPV8ucyxfLnZhbHVlcz1fLnYsXy52YWx1ZXMuY2hhbmdlPV8udi5jaCxfLnZhbHVlcy5sYXN0X3ByaWNlPV8udi5scCxfLnZhbHVlcy5jaGFuZ2VfcGVyY2VudD1fLnYuY2hwLGRlbGV0ZSBfLm4sZGVsZXRlIF8ucyxkZWxldGUgXy52LGRlbGV0ZSBfLnZhbHVlcy5jaCxkZWxldGUgXy52YWx1ZXMubHAsZGVsZXRlIF8udmFsdWVzLmNocDticmVhaztjYXNlImR1Ijp0Lm1ldGhvZD0iZGF0YV91cGRhdGUiLG4oXyk7YnJlYWs7Y2FzZSJjbGVhcl9kYXRhIjpmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyhfKSlfW2VdLnR1cm5hcm91bmQ9X1tlXS50O2JyZWFrO2Nhc2UidGltZXNjYWxlX3VwZGF0ZSI6bihfKX1yZXR1cm4gdH1wcmVwYXJlRW5jb2RlTWVzc2FnZShlLHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh7bTplLHA6dH0pfXJlcXVlc3RfZGF0YV9wcm9ibGVtcygpe3JldHVybltdfX19LDQ2MzQ0NyhlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtIYW5kbGVySW5mbzooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoZSx0LF8pe3RoaXMuaGFuZGxlcj1lLHRoaXMuY3VzdG9tSWQ9dCx0aGlzLnNpbmdsZVNob3Q9X319fSw3ODMzNDAoZSx0LF8peyJ1c2Ugc3RyaWN0Ijt2YXIgcyxpLG47Xy5kKHQse1dlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2Q6KCk9PmksV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2Q6KCk9Pm4sV2ViY2hhcnRSZXNwb25zZU1ldGhvZDooKT0+c30pLGZ1bmN0aW9uKGUpe2UuUmVxdWVzdERhdGFQcm9ibGVtcz0icmVxdWVzdF9kYXRhX3Byb2JsZW1zIixlLlByb3RvY29sRXJyb3I9InByb3RvY29sX2Vycm9yIixlLlByb3RvY29sU3dpdGNoZWQ9InByb3RvY29sX3N3aXRjaGVkIixlLkNyaXRpY2FsRXJyb3I9ImNyaXRpY2FsX2Vycm9yIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLlN0dWRpZXNNZXRhZGF0YT0ic3R1ZGllc19tZXRhZGF0YSIsZS5UaW1lU2NhbGVVcGRhdGU9InRpbWVzY2FsZV91cGRhdGUiLGUuVGlja01hcmtVcGRhdGU9InRpY2ttYXJrX3VwZGF0ZSIsZS5EVT0iZHUiLGUuRGF0YVVwZGF0ZT0iZGF0YV91cGRhdGUiLAplLkluZGV4VXBkYXRlPSJpbmRleF91cGRhdGUiLGUuVGltZVNjYWxlQ29tcGxldGVkPSJ0aW1lc2NhbGVfY29tcGxldGVkIixlLlFTRD0icXNkIixlLlF1b3RlTGlzdEZpZWxkPSJxdW90ZV9saXN0X2ZpZWxkcyIsZS5RdW90ZVN5bWJvbERhdGE9InF1b3RlX3N5bWJvbF9kYXRhIixlLlF1b3RlQ29tcGxldGVkPSJxdW90ZV9jb21wbGV0ZWQiLGUuRGVwdGhTeW1ib2xFcnJvcj0iZGVwdGhfc3ltYm9sX2Vycm9yIixlLkRlcHRoU3ltYm9sU3VjY2Vzcz0iZGVwdGhfc3ltYm9sX3N1Y2Nlc3MiLGUuRGVwdGhEYXRhPSJkZCIsZS5EZXB0aERhdGFVcGRhdGU9ImRwdSIsZS5EZXB0aEJhckxhc3RWYWx1ZT0iZGVwdGhfYmFyX2xhc3RfdmFsdWUiLGUuQ2xlYXJEYXRhPSJjbGVhcl9kYXRhIixlLlNlcmllc1RpbWVGcmFtZT0ic2VyaWVzX3RpbWVmcmFtZSIsZS5TeW1ib2xSZXNvbHZlZD0ic3ltYm9sX3Jlc29sdmVkIixlLlNlcmllc0Vycm9yPSJzZXJpZXNfZXJyb3IiLGUuU2VyaWVzQ29tcGxldGVkPSJzZXJpZXNfY29tcGxldGVkIixlLlN0dWR5TG9hZGluZz0ic3R1ZHlfbG9hZGluZyJ9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7ZS5SZXBsYXlFcnJvcj0icmVwbGF5X2Vycm9yIixlLlJlcGxheVBvaW50PSJyZXBsYXlfcG9pbnQiLGUuUmVwbGF5T2s9InJlcGxheV9vayIsZS5SZXBsYXlSZXNvbHV0aW9ucz0icmVwbGF5X3Jlc29sdXRpb25zIixlLlJlcGxheURhdGFFbmQ9InJlcGxheV9kYXRhX2VuZCIsZS5SZXBsYXlJbnN0YW5jZUlkPSJyZXBsYXlfaW5zdGFuY2VfaWQiLGUuUmVwbGF5RGVwdGg9InJlcGxheV9kZXB0aCJ9KG58fChuPXt9KSl9LDUyMTMzMyhlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtnZXREZWZhdWx0UmVzb2x1dGlvbnM6KCk9Pm59KTt2YXIgcz1fKDkzMDIzMSksaT1fKDYxOTk5Mik7ZnVuY3Rpb24gbigpe2NvbnN0IGU9WyIxIiwiMyIsIjUiLCIxNSIsIjMwIiwiNDUiLCI2MCIsIjEyMCIsIjE4MCIsIjI0MCIsIjFEIiwiMVciLCIxTSIsIjNNIiwiNk0iLCIxMk0iLCIxUiIsIjEwUiIsIjEwMFIiLCIxMDAwUiJdO2lmKCEoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSl7bGV0IHQ9WyIxUyIsIjVTIiwiMTBTIiwiMTVTIiwiMzBTIiwiNDVzIl07cmV0dXJuKDAsaS5pc1RpY2tzRW5hYmxlZCkoKSYmKHQ9WyIxVCIsIjEwVCIsIjEwMFQiLCIxMDAwVCJdLmNvbmNhdCh0KSksdC5jb25jYXQoZSl9cmV0dXJuIGV9fSwyMTc1MjcoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7dHlwZXM6KCk9PnN9KTtjb25zdCBzPXtFQ09OT01JQzoiZWNvbm9taWMiLFFVQU5ETDoicXVhbmRsIn19LDEyNzcxMShlKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3siY21lIjp7IklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjk5OTk5fX0sImJvdmVzcGEiOnsiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6OTk5OTl9fSwicWVjb21xYSI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19LCJzYW50YW5kZXJjb21hciI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19fScpfSw1MDI1ODcoZSl7InVzZSBzdHJpY3QiCjtlLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJmcmVlIjp7IkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo1LCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6MX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6MX0sIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjJ9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjF9LCJISVNUT1JJQ0FMX0JBUlMiOnsibGltaXQiOjV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6MX0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0Ijo1MCwibGltaXQiOjMsImNvbXBsZXhfbGltaXQiOjAsInByaW1pdGl2ZV9saW1pdCI6M30sIlNDUkVFTkVSX0lOVEVSVkFMUyI6eyJpbnRlcnZhbCI6WyIxRCIsIjFXIiwiMU0iXX0sIlNUVURZX1RFTVBMQVRFUyI6eyJsaW1pdCI6MX0sIlNJTVVMVEFORU9VU19DT05ORUNUSU9OUyI6eyJsaW1pdCI6MX0sIkJBQ0tFTkRfQ09OTkVDVElPTlMiOnsibGltaXQiOjJ9LCJJREVBX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIlR3aXR0ZXIiLCJZb3V0dWJlIl19LCJNVUxUSUNPTE9SX0ZMQUdHRURfU1lNQk9MUyI6eyJsaW1pdCI6MX0sIldBVENITElTVF9TWU1CT0xTIjp7ImxpbWl0IjozMH0sIlZJREVPX0lERUFTX0xFTkdUSCI6eyJsaW1pdCI6MjB9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0IjoxfSwiUE9SVEZPTElPX1RSQU5TQUNUSU9OUyI6eyJsaW1pdCI6MjAwMH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6MjB9fSwicHJvIjp7IkRSQVdJTkdTIjp7fSwiQkFDS1RFU1RJTkdfQ0hBUlRfRVhQQU5EIjp7fSwiQkFDS1RFU1RJTkdfRVhURU5ERURfTUVUUklDUyI6e30sIkJBQ0tURVNUSU5HX0VYUE9SVF9YTFNYIjp7fSwiQkFDS1RFU1RJTkdfRVhQT1JUX0NTViI6e30sIkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo1LCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiUEVSU09OQUxfU1VQUE9SVCI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6NX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6Mn0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6MiwicHJpbWl0aXZlX2xpbWl0IjoyfSwiQ1VTVE9NX0lOVEVSVkFMUyI6e30sIk1VTFRJUExFX1dBVENITElTVFMiOnt9LCJJTVBPUlRfV0FUQ0hMSVNUUyI6e30sIkVYUE9SVF9XQVRDSExJU1RTIjp7fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6NX0sIkZVTkRBTUVOVEFMU19GT1JFQ0FTVCI6e30sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6NH0sIlRWX1BST1NUVURJRVMiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtY2hhcnRwYXR0ZXJucyJdfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0IjoxMH0sIlRWX1ZPTFVNRUJZUFJJQ0UiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtdm9sdW1lYnlwcmljZSJdfSwiU1RVRFlfT05fU1RVRFkiOnsibGltaXQiOjgwMCwiY2hpbGRfbGltaXQiOjF9LCJUSUNLX0JZX1RJQ0tfUFVTSF9EQVRBIjp7fSwiU0VSVkVSX1NJREVfQUxFUlRTIjp7Im92ZXJhbGxfbGltaXQiOjIwMDAsImxpbWl0IjoyMCwiY29tcGxleF9saW1pdCI6MjAsInByaW1pdGl2ZV9saW1pdCI6MjB9LCJTQ1JFRU5FUl9BVVRPX1JFRlJFU0giOnt9LCJTQ1JFRU5FUl9ORVdfQVVUT19SRUZSRVNIIjp7fSwiU0NSRUVORVJfTkVXX0VYUE9SVF9DU1ZfREFUQSI6e30sIlNDUkVFTkVSX05FV19TSE9XX1JFU1RSSUNURURfREFUQSI6e30sIlNIT1dfQk9ORFNfUkVTVFJJQ1RFRF9EQVRBIjp7fSwiUE9SVEZPTElPX0RBVEFfTElNSVQiOnt9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0IjozfSwiUE9SVEZPTElPX1RSQU5TQUNUSU9OUyI6eyJsaW1pdCI6NTAwMH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6NTB9LCJTQ1JFRU5FUl9JTlRFUlZBTFMiOnsiaW50ZXJ2YWwiOlsiMW0iLCI1bSIsIjE1bSIsIjMwbSIsIjFoIiwiMmgiLCI0aCIsIjFEIiwiMVciLCIxTSJdfSwiTk9fU1BPTlNPUkVEX0FEUyI6eyJkaXNhYmxlX29uX2xpdGVfcGxhbiI6ImV4Y2x1ZGVfbW9iaWxlIn0sIlNUVURZX1RFTVBMQVRFUyI6eyJsaW1pdCI6OTk5OTl9LCJTSU1VTFRBTkVPVVNfQ09OTkVDVElPTlMiOnsibGltaXQiOjF9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoxMH0sIklEQ19BVkFJTEFCTEVfREVMQVkiOnt9LCJTVEFUVVMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkJBUl9SRVBMQVlfSU5UUkFEQVkiOnsibGltaXQiOjF9LCJNVUxUSUZMQUdHRURfU1lNQk9MU19MSVNUUyI6e30sIlNIT1dTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJBTEVSVFNfV0VCSE9PSyI6e30sIkFMRVJUU19PTl9FQVJOSU5HUyI6e30sIkFMRVJUU19PTl9GVU5EQU1FTlRBTF9NRVRSSUNTIjp7fSwiREVFUF9GVU5EQU1FTlRBTFNfSElTVE9SWSI6e30sIlBVQkxJU0hfUFJPVEVDVEVEX1NDUklQVFMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIklERUFfU09DSUFMX0xJTktTIjp7InNvY2lhbHMiOlsiVHdpdHRlciIsIllvdXR1YmUiXX0sIkVYVEVOREVEX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIkZhY2Vib29rIiwiSW5zdGFncmFtIl0sImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJNVUxUSV9NT05JVE9SIjp7fSwiTVVMVElDT0xPUl9GTEFHR0VEX1NZTUJPTFMiOnsibGltaXQiOjd9LCJJTlRSQURBWV9FWENIQU5HRSI6e30sIlZPTFVNRV9QUk9GSUxFIjp7fSwiU1RSRUFNU19BQ0NFU1MiOnsiZm9sbG93ZXJzIjoxMH0sIlNNU18yRkFfVkVSSUZJQ0FUSU9OIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJTT0NJQUxfQUNUSVZJVFkiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIldBVENITElTVF9TWU1CT0xTIjp7ImxpbWl0IjoxMDAwfSwiRklFTERTX1BFUk1JU1NJT05TIjp7Iml0ZW1zIjpbInJlZmJvbmRzIl19LCJDVVNUT01fUkFOR0VfQkFSUyI6e30sIkZBU1RFU1RfREFUQV9GTE9XIjp7fSwiU0VTU0lPTl9WT0xVTUVfUFJPRklMRSI6e30sIlNIT1dfRVRGX0hPTERJTkdTX0RBVEEiOnt9fSwicHJvX3JlYWx0aW1lIjp7ImV4dGVuZHMiOiJwcm8iLCJDSEFSVF9TVE9SQUdFIjp7ImxpbWl0IjoxMH0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6NH0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6NCwicHJpbWl0aXZlX2xpbWl0Ijo0fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6MTB9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjd9LCJUVl9QUk9TVFVESUVTIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LXByb3N0dWRpZXMiLCJ0di1jaGFydHBhdHRlcm5zIl19LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6OX0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6MTAwLCJjb21wbGV4X2xpbWl0IjoxMDAsInByaW1pdGl2ZV9saW1pdCI6MTAwfSwiQUxFUlRTX01VTFRJQ09ORElUSU9OUyI6eyJjb25kaXRpb25fbGltaXQiOjV9LCJDSEFUX0FTU0lTVEFOVCI6eyJsaW1pdCI6NSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNBTl9FRElUX1BVQkxJQ19DSEFUUyI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6MjB9LCJFWFBPUlRfQ0hBUlRfREFUQSI6e30sIkNVU1RPTV9GT1JNVUxBUyI6e30sIklOVFJBREFZX0VYT1RJQ19DSEFSVFMiOnt9LCJLQUdJX1JFTktPIjp7fSwiSU5UUkFEQVlfU1BSRUFEIjp7fSwiQ1VTVE9NX0NIQVRTIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6NH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6NzV9fSwicHJvX3ByZW1pdW0iOnsiZXh0ZW5kcyI6InByb19yZWFsdGltZSIsIkJBUl9ERVRBTElaQVRJT04iOnt9LCJTQ1JJUFRfRVhFQ1VUSU9OX09OX0hJU1RPUllfQkFSUyI6e30sIkNIQVJUX1NUT1JBR0UiOnsibGltaXQiOjk5OTk5fSwiTVVMVElQTEVfQ0hBUlRTIjp7ImxpbWl0Ijo4fSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0Ijo2LCJwcmltaXRpdmVfbGltaXQiOjZ9LCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjoyNX0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MTB9LCJGVU5EQU1FTlRBTF9HUkFQSFNfTEFSR0VfVElNRV9SQU5HRSI6e30sIkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo5OTk5OSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNIQVJUX1BBVFRFUk5TIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LWNoYXJ0cGF0dGVybnMiLCJ0di1jaGFydF9wYXR0ZXJucyJdfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0IjoyMH0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0IjoyNH0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6NDAwLCJjb21wbGV4X2xpbWl0Ijo0MDAsInByaW1pdGl2ZV9saW1pdCI6NDAwLCJ3YXRjaGxpc3RfbGltaXQiOjIsIm92ZXJhbGxfd2F0Y2hsaXN0X2xpbWl0Ijo1fSwiU0lNVUxUQU5FT1VTX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6NTB9LCJJREVBX1NJR05BVFVSRSI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiUFJPRklMRV9XRUJTSVRFX0ZJRUxEIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0Ijo0fSwiQkFSX1JFUExBWV8xUyI6e30sIkFMRVJUU19OT19FWFBJUkFUSU9OIjp7fSwiUFVCTElTSF9JTlZJVEVfT05MWV9TQ1JJUFRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJFWFBPUlRfQ0hBUlRfREFUQSI6e30sIkRFRVBfSElTVE9SWV9CQUNLVEVTVCI6e30sIkFMRVJUU19PTl9TRUNPTkRTIjp7fSwiUEVSTUFORU5UX1NUUkVBTV9SRUNPUkRTIjp7fSwiRVhURU5ERURfU09DSUFMX0xJTktTIjp7InNvY2lhbHMiOlsiRmFjZWJvb2siLCJJbnN0YWdyYW0iLCJXZWJzaXRlIl0sImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJTRUNPTkRTX0lOVEVSVkFMUyI6e30sIlRQT19QRVJJT0RJQyI6eyJzdHVkeV9wYWNrYWdlcyI6WyJ0di12b2x1bWVieXByaWNlIl19LCJUUE9fQ0hBUlRfU1RZTEUiOnt9LCJWT0xVTUVfQ0FORExFUyI6e30sIlZJREVPX0lERUFTX0xFTkdUSCI6eyJsaW1pdCI6NjB9LCJWT0xVTUVfRk9PVFBSSU5UIjp7fSwiUElORV9TQ1JFRU5FUiI6e30sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjV9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjEwMH0sIlNPQ0lBTF9UUlVTVEVEX1VTRVIiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkZPTExPV0VSU19PTkxZX01JTkRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9fSwicHJvX2V4cGVydCI6eyJleHRlbmRzIjoicHJvX3ByZW1pdW0iLCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjozMH0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MTV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6Mjl9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjEwfSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0IjoxMiwicHJpbWl0aXZlX2xpbWl0IjoxMn0sIkhJU1RPUklDQUxfQkFSUyI6eyJsaW1pdCI6MjV9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6MjAwMCwibGltaXQiOjYwMCwiY29tcGxleF9saW1pdCI6NjAwLCJwcmltaXRpdmVfbGltaXQiOjYwMCwid2F0Y2hsaXN0X2xpbWl0IjoxMCwib3ZlcmFsbF93YXRjaGxpc3RfbGltaXQiOjIwfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6ODB9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0Ijo2fSwiQkFSX1JFUExBWV8xUyI6e30sIkJBUl9SRVBMQVlfMVQiOnt9LCJFWFBPUlRfRklOQU5DSUFMU19EQVRBIjp7fSwiVElDS19JTlRFUlZBTFMiOnt9LCJGSVJTVF9QUklPUklUWV9TVVBQT1JUIjp7fSwiQlVZX1BST19EQVRBIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6Nn0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6MTI1fX0sInByb19wcmVtaXVtX2V4cGVydCI6eyJleHRlbmRzIjoicHJvX2V4cGVydCIsIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjUwfSwiRlVOREFNRU5UQUxTX09OX0NIQVJUIjp7ImxpbWl0IjoyNX0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0Ijo0OX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6MTZ9LCJNQVJLRVRfREFUQV9MSU1JVFMiOnsibGltaXQiOjk5OTk5LCJwcmltaXRpdmVfbGltaXQiOjI1fSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0Ijo0MH0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0Ijo0MDAwLCJsaW1pdCI6MTAwMCwiY29tcGxleF9saW1pdCI6MTAwMCwicHJpbWl0aXZlX2xpbWl0IjoxMDAwLCJ3YXRjaGxpc3RfbGltaXQiOjE1LCJvdmVyYWxsX3dhdGNobGlzdF9saW1pdCI6MzB9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyMDB9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0IjoxMH0sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjd9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjE1MH19fScpCn19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/17087.a5eaeb30f7d269f97b41.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.696Z","timestamp":1785141584696,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/17087.a5eaeb30f7d269f97b41.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-42b\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 88380e0d0fb0979b775337e8ddf367d3\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1067,"size_decoded":1275,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1067), with no line terminators","md5":"aea2379787588b2971ae93e1d08d1a76","sha1":"53a871c666693bc64ceee27711d27c2da35b8e8c","sha256":"3f0a48597dbd15d013833ffec5807ed9172b4072ca308dd16df1be793bcb6f34","sha512":"596f5b4924bfab46ac651687876c9a32ee13e028d0057c8165ce38a28d0049e29f55a5ea96f247401e43f0a6f2a6c054ea0b6e8eadca7d7ba33b29c3145d0cf1","ssdeep":"","tlshash":"6a111f148180f63dbd23f22087a0578a3279745199976e9eed0de17141cfbf52ba5cdc","first_seen":"2026-07-16T20:48:56.383088Z","last_seen":"2026-07-27T14:53:25.70749Z","times_seen":426,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtbEhsRzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWxIbEc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCl9LndyYXAtaWlpMTE4b057Ym90dG9tOjA7ZGlzcGxheTpmbGV4O2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb3NpdGlvbjpmaXhlZDt0b3A6MDt6LWluZGV4OjB9LndyYXAtaWlpMTE4b04ucG9zaXRpb25Cb3R0b20taWlpMTE4b057YWxpZ24taXRlbXM6ZmxleC1lbmR9LmJhY2tkcm9wLWlpaTExOG9Oe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtbEhsRyk7Ym90dG9tOjA7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6Ljc7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LmRyYXdlci1paWkxMThvTntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjZweCAwOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpO3otaW5kZXg6MX0uZHJhd2VyLWlpaTExOG9OLnBvc2l0aW9uTGVmdC1paWkxMThvTnttYXJnaW4taW5saW5lLWVuZDo0MHB4O21heC13aWR0aDpjYWxjKDEwMCUgLSA0MHB4KTttaW4td2lkdGg6MjYwcHh9LmRyYXdlci1paWkxMThvTi5wb3NpdGlvbkJvdHRvbS1paWkxMThvTntib3JkZXItc3RhcnQtZW5kLXJhZGl1czo2cHg7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czo2cHg7ZmxleC1iYXNpczoxMDAlO21hcmdpbi10b3A6dmFyKC0tZHJhd2VyLW1hcmdpbi10b3AtZGlzdGFuY2UsMTAwcHgpO21heC1oZWlnaHQ6Y2FsYygxMDAlIC0gdmFyKC0tZHJhd2VyLW1pbi10b3AtZGlzdGFuY2UsIDEwMHB4KSk7b3ZlcmZsb3c6YXV0b30uZHJhd2VyLWlpaTExOG9OOmZvY3Vze291dGxpbmU6bm9uZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"telemetry.tradingview.com/widget/report","fqdn":"telemetry.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:59.533Z","timestamp":1785141599533,"http_version":"","security_state":"","security_info":null,"request":{"raw":"POST /widget/report HTTP/1.1\r\nHost: telemetry.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nContent-Type: text/plain;charset=UTF-8\r\nContent-Length: 961\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T15:05:58.256156Z","times_seen":17565140,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.52882.2898e638a68180ed6df4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.613Z","timestamp":1785141584613,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.52882.2898e638a68180ed6df4.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a02f0b2-747\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 12 May 2026 09:19:46 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.52\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/12/2026 10:19:41\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 649e8e8ab5b9af5bb096e6a780ecd16f\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1863,"size_decoded":1690,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (1863), with no line terminators","md5":"b54a95821effe8d59779b9fc14228d18","sha1":"d2cbd7229e17a9b12d18689129ee09b6de60c175","sha256":"53c37f95be948df4fe80d94d0776fd26af6bf0f13d683652b1b74990e6326179","sha512":"6d4050b13aa9f106f683468ed7c071d0c67770f818a35c0245fc7121b9e6e2f75868f44a9b53f7bb110810e921f039ad158392dc1e157e8972db02bb87797d39","ssdeep":"","tlshash":"1c31ec5be30095ea2f22d646374dddc03af431a111f7d0c937860e689267d85d05dbbc","first_seen":"2026-05-05T12:17:23.709286Z","last_seen":"2026-07-27T14:50:15.365408Z","times_seen":537,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1Mjg4Ml0sezYzNTkyMyhlKXtlLmV4cG9ydHM9WyJBY2NvdW50IGlzIGZyb3plbiJdfSw5NzU4MChlKXtlLmV4cG9ydHM9WyJDaGFuZ2Ugc3ltYm9sIl19LDQ4NzIwMShlKXtlLmV4cG9ydHM9WyJFcnJvciJdfSw1MjMyNzkoZSl7ZS5leHBvcnRzPVsiSG9saWRheSBhbGVydCwgdHJhZGVycyJdfSwxOTgwKGUpe2UuZXhwb3J0cz1bIk5vIGRhdGEgaGVyZSJdfSw4MjQzNDAoZSl7ZS5leHBvcnRzPVsiU3dpdGNoIHRvIHtyZXNvbHV0aW9ufSBpbnRlcnZhbCJdfSwxMzc4MDAoZSl7ZS5leHBvcnRzPVsiUHJpY2UgY2hhcnQgaXMgb24gaXRzIHdheSJdfSw3MzA3NihlKXtlLmV4cG9ydHM9WyJUaGlzIHN5bWJvbCBkb2Vzbid0IGV4aXN0Il19LDQwMzY3MihlKXtlLmV4cG9ydHM9WyJUaGlzIHN5bWJvbCBoYXMganVzdCBsaXN0ZWQuIFN0YXkgdHVuZWQsIGl0cyBkYXRhIHdpbGwgYXBwZWFyIGhlcmUgc29vbi4iXX0sODI0MDI3KGUpe2UuZXhwb3J0cz1bIkxlYXJuIG1vcmUiXX0sOTY5MDkoZSl7ZS5leHBvcnRzPVsiSG9wZSwgaXQnbGwgYXBwZWFyIG9uIHRoZSBjaGFydCBzb29uLiJdfSw3Nzg0NDgoZSl7ZS5leHBvcnRzPVsiSW50ZXJ2YWwgaXMgbm90IHN1cHBvcnRlZCJdfSw1NDE1NzAoZSl7ZS5leHBvcnRzPVsiSW50ZXJ2YWxzIGxlc3MgdGhhbiB7cmVzb2x1dGlvbn0gYXJlIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgc3ltYm9sLiBQbGVhc2UgY2hhbmdlIHRoZSBpbnRlcnZhbCB0byBhbnkgYXZhaWxhYmxlIG9uZS4iXX0sODYwMzg5KGUpe2UuZXhwb3J0cz1bIk9ubHkge2ludGVydmFsc30gaW50ZXJ2YWxzIGFyZSBhdmFpbGFibGUgZm9yIHRoaXMgc3ltYm9sIl19LDM3MTc3OShlKXtlLmV4cG9ydHM9WyJPdXIgc2Nhbm5lcnMgcGlja2VkIHVwIGFuIFVuaWRlbnRpZmllZCBGZXN0aXZlIE9iamVjdCBob3ZlcmluZyBvdmVyIHlvdXIgY2hhcnQuIFByb2NlZWQgd2l0aCBjaGVlci4iXX0sODMwMzg1KGUpe2UuZXhwb3J0cz1bIlN3aXRjaCB0byBhIHtyZXNvbHV0aW9ufSJdfSwyNTU3NjMoZSl7ZS5leHBvcnRzPVsiUGljayBhbm90aGVyIHR5cGUgb2YgaW50ZXJ2YWwgZm9yIHlvdXIgYW5hbHlzaXMuIl19LDQ2NTMxMyhlKXtlLmV4cG9ydHM9WyJQaWNrIGFub3RoZXIgdGltZSBpbnRlcnZhbCBmb3IgeW91ciBhbmFseXNpcy4iXX0sNTk1NTcwKGUpe2UuZXhwb3J0cz1bIlJlZHVjZSB0aGUgYm94IHNpemUgb3IgY2hhbmdlIHRoZSBtZXRob2QgdXNlZCB0byBzcGVjaWZ5IHRoZSBib3ggc2l6ZSBpbiBTZXR0aW5ncyA+IFN5bWJvbC4iXX0sNjQ2NjAxKGUpe2UuZXhwb3J0cz1bIldlIG5vdGljZWQgc29tZSBzdXNwaWNpb3VzIGFjdGl2aXR5IGZyb20geW91ciBJUCBhZGRyZXNzLCBzbyB3ZSd2ZSBoYWQgdG8gc3VzcGVuZCBpdC4gVG8gcmVzb2x2ZSB0aGlzLCBwbGVhc2Ugc2lnbiBpbnRvIHlvdXIgYWNjb3VudC4iXX0sNTkyMDE0KGUpe2UuZXhwb3J0cz1bIldlJ3ZlIG5vdGljZWQgdW51c3VhbCBhY3Rpdml0eSBvbiB5b3VyIGFjY291bnQgYW5kIGhhdmUgcmVzdHJpY3RlZCBhY2Nlc3MuIl19LDcxNjMwKGUpe2UuZXhwb3J0cz1bIlRoZSBib3ggc2l6ZSBmb3IgdGhlIHN5bWJvbCdzIHByaWNlIGFtcGxpdHVkZSBpcyB0b28gaGlnaCJdfSw1MjkzOTYoZSl7ZS5leHBvcnRzPVsiVGljay1iYXNlZCBpbnRlcnZhbHMgYXJlIG5vdCBhdmFpbGFibGUgZm9yIHRoaXMgc3ltYm9sIl19LDI4MzU2MihlKXtlLmV4cG9ydHM9WyJUcnkgcGlja2luZyBhbm90aGVyIG9uZSBmb3IgeW91ciBhbmFseXNpcywgYW5kIHlvdSdsbCBzZWUgdGhlIGRhdGEgaGVyZS4iXX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/84306.31d6cfe0d16ae931b73c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.647Z","timestamp":1785141584647,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/84306.31d6cfe0d16ae931b73c.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 0\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58abe8-0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 10:01:12 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e13279c53fa27fdf4a48392a1d34125e\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":782,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T15:05:58.256156Z","times_seen":17565140,"resource_available":true,"data":""}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/1676.34884beb8e6dc4c6c0b1.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.132Z","timestamp":1785141585132,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/1676.34884beb8e6dc4c6c0b1.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-2ee\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2f2e3dd7e9afcc2799fd472007a59d8f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":750,"size_decoded":957,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"2632199c98129948ba24975de6a4cee8","sha1":"82a2d79a460678d39482b2df940a21f7177ade40","sha256":"caa9bc8415c74f92a48a4fdd430e1c0cdf6eab1ff81861a3ecb151196a982ec4","sha512":"01348d63394733bbe814bb6e0c4ceb17d75a380fecc3b2e339eb4a403103fafcc831f7ec9b99239d764d4d4b3b2e2840eb63e687286ed89ad97b68208b17419e","ssdeep":"","tlshash":"4f01044ad880e3f3782622ec6314526b06d19e15b2865fc777d8c00348cc4f300b7abe","first_seen":"2026-07-17T03:30:51.175342Z","last_seen":"2026-07-27T14:27:22.663874Z","times_seen":112,"resource_available":false,"data":"LnByaW1hcnktWThvRlRfUFp7LS11aS1saWItcHJpdmF0ZS1jaGVja2JveFZpZXdJbXBsLWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1jaGVja2JveFZpZXdJbXBsLWNvbG9yLWJveDp2YXIoCgkJLS11aS1saWItY2hlY2tib3gtY29sb3IsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpCgkpOy0tdWktbGliLXByaXZhdGUtY2hlY2tib3hWaWV3SW1wbC1jb2xvci1tYXJrOnZhcigKCQktLXVpLWxpYi1jaGVja2JveC1tYXJrLWNvbG9yLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1aW5hcnktaW52ZXJzZSkKCSl9LmRhbmdlci1ZOG9GVF9QWnstLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQpOy0tdWktbGliLXByaXZhdGUtY2hlY2tib3hWaWV3SW1wbC1jb2xvci1ib3g6dmFyKAoJCS0tdWktbGliLWNoZWNrYm94LWNvbG9yLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQpCgkpOy0tdWktbGliLXByaXZhdGUtY2hlY2tib3hWaWV3SW1wbC1jb2xvci1tYXJrOnZhcigKCQktLXVpLWxpYi1jaGVja2JveC1tYXJrLWNvbG9yLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1YXRlcm5hcnktaW52ZXJzZSkKCSl9"}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/uploads/2025/01/ai-683x1024.jpg","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"imageset","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.899Z","timestamp":1785141582899,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/uploads/2025/01/ai-683x1024.jpg HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,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://oxlofttrd.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 11:58:00 GMT\r\nAccept-Ranges: bytes\r\nContent-Length: 86323\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nKeep-Alive: timeout=5, max=96\r\nConnection: Keep-Alive\r\nContent-Type: image/jpeg\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":86323,"size_decoded":86630,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, comment: \"CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 82\", baseline, precision 8, 683x1024, components 3","md5":"78c6ca70270f742568a6d29edd83ea47","sha1":"5abbe8951bfa0de069fb0a193478236b56cdbcd7","sha256":"8d265fddcde82b086855c3b721fa5463383a31e5be6185a548c6e9af1583e7ac","sha512":"ca1a22dce6dbde22a3cda0affa5999211f6e3389706921f1d9daa54dd9c381801daac38d8cef31d9bc03547fd6aae8fdcc18da54e6eb4561aaa2ec0b9cccd0e0","ssdeep":"1536:qd/1TVGOBPSRHjT1JjJJp0JlClB3+lMfR3lAkBvBinkIzGAdWWfrVOoga6ozF:k1TkHjBJjfp0S+l8xq6i3xrwha6Q","tlshash":"cb830223a57782f9936c8faf9f8b4cdee654632e9594248675c8c0e7a7024f9cc394c1","first_seen":"2026-07-27T06:14:34.227096Z","last_seen":"2026-07-27T12:12:28.933751Z","times_seen":5,"resource_available":false,"data":"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"}},"time_used":788,"timings":{"blocked":607,"dns":0,"connect":0,"send":0,"wait":91,"receive":90,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-includes/js/dist/i18n.min.js?ver=781d11515ad3d91786ec","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.903Z","timestamp":1785141582903,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-includes/js/dist/i18n.min.js?ver=781d11515ad3d91786ec HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 09 Jul 2026 21:44:51 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 2465\r\nKeep-Alive: timeout=5, max=98\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":5732,"size_decoded":2830,"mime_type":"application/javascript","magic":"data","md5":"12ebec1b36678eb1da4412af6c65751a","sha1":"4cb5d87353d9a06fde067063787a4beed692ba77","sha256":"558ae0ec83cc88de0929fde86b87c231246aafa9c961ebffb3257b05f62ca5cf","sha512":"a1bbd93277a59086bf27da7dcc60434b717ac521bce0618aef7c914789497a22cf56441a7f300f1bb7a6de56ca624226883d048f6eadbcc049dc717338189bb6","ssdeep":"96:IE7/RPgrMs4WLJOmlWS33c0xyE2B1596NiH826V0NG7CXMGOyd/sEomkKvYCGaMe:3hgws4WTBYNB1C9aNwAMPyd0R3SGaMSL","tlshash":"fdc1a7c975daf056235910a594afb005e134be2870debc00aae0c4957eb44cdb2b7fba","first_seen":"2026-07-02T22:01:42.315643Z","last_seen":"2026-07-27T14:59:39.938294Z","times_seen":10640,"resource_available":true,"data":"LyohIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCAqLwoidXNlIHN0cmljdCI7dmFyIHdwOyh3cHx8PXt9KS5pMThuPSgoKT0+e3ZhciBudD1PYmplY3QuY3JlYXRlO3ZhciBMPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgYXQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjt2YXIgaXQ9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7dmFyIHV0PU9iamVjdC5nZXRQcm90b3R5cGVPZixsdD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciBmdD0odCxyKT0+KCk9PihyfHx0KChyPXtleHBvcnRzOnt9fSkuZXhwb3J0cyxyKSxyLmV4cG9ydHMpLG90PSh0LHIpPT57Zm9yKHZhciBlIGluIHIpTCh0LGUse2dldDpyW2VdLGVudW1lcmFibGU6ITB9KX0sTz0odCxyLGUsbik9PntpZihyJiZ0eXBlb2Ygcj09Im9iamVjdCJ8fHR5cGVvZiByPT0iZnVuY3Rpb24iKWZvcihsZXQgdSBvZiBpdChyKSkhbHQuY2FsbCh0LHUpJiZ1IT09ZSYmTCh0LHUse2dldDooKT0+clt1XSxlbnVtZXJhYmxlOiEobj1hdChyLHUpKXx8bi5lbnVtZXJhYmxlfSk7cmV0dXJuIHR9O3ZhciBzdD0odCxyLGUpPT4oZT10IT1udWxsP250KHV0KHQpKTp7fSxPKHJ8fCF0fHwhdC5fX2VzTW9kdWxlP0woZSwiZGVmYXVsdCIse3ZhbHVlOnQsZW51bWVyYWJsZTohMH0pOmUsdCkpLHB0PXQ9Pk8oTCh7fSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdCk7dmFyICQ9ZnQoKEl0LE0pPT57TS5leHBvcnRzPXdpbmRvdy53cC5ob29rc30pO3ZhciB5dD17fTtvdCh5dCx7X186KCk9PlosX246KCk9PkcsX254OigpPT5CLF94OigpPT5xLGNyZWF0ZUkxOG46KCk9PlIsZGVmYXVsdEkxOG46KCk9PkgsZ2V0TG9jYWxlRGF0YTooKT0+aixoYXNUcmFuc2xhdGlvbjooKT0+USxpc1JUTDooKT0+SixyZXNldExvY2FsZURhdGE6KCk9PlUsc2V0TG9jYWxlRGF0YTooKT0+eixzcHJpbnRmOigpPT5QLHN1YnNjcmliZTooKT0+WH0pO3ZhciBjdD0vJSgoKFxkKylcJCl8KFwoKFskX2EtekEtWl1bJF9hLXpBLVowLTldKilcKSkpP1sgKzAjLV0qXGQqKFwuKFxkK3xcKikpPyhsbHxbbGhxTF0pPyhbY2R1eFhlZmdzcCVdKS9nO2Z1bmN0aW9uIFQodCwuLi5yKXt2YXIgZT0wO3JldHVybiBBcnJheS5pc0FycmF5KHJbMF0pJiYocj1yWzBdKSx0LnJlcGxhY2UoY3QsZnVuY3Rpb24oKXt2YXIgbix1LGwsbyxmO3JldHVybiBuPWFyZ3VtZW50c1szXSx1PWFyZ3VtZW50c1s1XSxsPWFyZ3VtZW50c1s3XSxvPWFyZ3VtZW50c1s5XSxvPT09IiUiPyIlIjoobD09PSIqIiYmKGw9cltlXSxlKyspLHU9PT12b2lkIDA/KG49PT12b2lkIDAmJihuPWUrMSksZSsrLGY9cltuLTFdKTpyWzBdJiZ0eXBlb2YgclswXT09Im9iamVjdCImJnJbMF0uaGFzT3duUHJvcGVydHkodSkmJihmPXJbMF1bdV0pLG89PT0iZiI/Zj1wYXJzZUZsb2F0KGYpfHwwOm89PT0iZCImJihmPXBhcnNlSW50KGYpfHwwKSxsIT09dm9pZCAwJiYobz09PSJmIj9mPWYudG9GaXhlZChsKTpvPT09InMiJiYoZj1mLnN1YnN0cigwLGwpKSksZj8/IiIpfSl9ZnVuY3Rpb24gUCh0LC4uLnIpe3JldHVybiBUKHQsLi4ucil9dmFyIEQsSSxoLE47RD17IigiOjksIiEiOjgsIioiOjcsIi8iOjcsIiUiOjcsIisiOjYsIi0iOjYsIjwiOjUsIjw9Ijo1LCI+Ijo1LCI+PSI6NSwiPT0iOjQsIiE9Ijo0LCImJiI6MywifHwiOjIsIj8iOjEsIj86IjoxfTtJPVsiKCIsIj8iXTtoPXsiKSI6WyIoIl0sIjoiOlsiPyIsIj86Il19O049Lzw9fD49fD09fCE9fCYmfFx8XHx8XD86fFwofCF8XCp8XC98JXxcK3wtfDx8PnxcP3xcKXw6LztmdW5jdGlvbiBiKHQpe2Zvcih2YXIgcj1bXSxlPVtdLG4sdSxsLG87bj10Lm1hdGNoKE4pOyl7Zm9yKHU9blswXSxsPXQuc3Vic3RyKDAsbi5pbmRleCkudHJpbSgpLGwmJnIucHVzaChsKTtvPWUucG9wKCk7KXtpZihoW3VdKXtpZihoW3VdWzBdPT09byl7dT1oW3VdWzFdfHx1O2JyZWFrfX1lbHNlIGlmKEkuaW5kZXhPZihvKT49MHx8RFtvXTxEW3VdKXtlLnB1c2gobyk7YnJlYWt9ci5wdXNoKG8pfWhbdV18fGUucHVzaCh1KSx0PXQuc3Vic3RyKG4uaW5kZXgrdS5sZW5ndGgpfXJldHVybiB0PXQudHJpbSgpLHQmJnIucHVzaCh0KSxyLmNvbmNhdChlLnJldmVyc2UoKSl9dmFyIGR0PXsiISI6ZnVuY3Rpb24odCl7cmV0dXJuIXR9LCIqIjpmdW5jdGlvbih0LHIpe3JldHVybiB0KnJ9LCIvIjpmdW5jdGlvbih0LHIpe3JldHVybiB0L3J9LCIlIjpmdW5jdGlvbih0LHIpe3JldHVybiB0JXJ9LCIrIjpmdW5jdGlvbih0LHIpe3JldHVybiB0K3J9LCItIjpmdW5jdGlvbih0LHIpe3JldHVybiB0LXJ9LCI8IjpmdW5jdGlvbih0LHIpe3JldHVybiB0PHJ9LCI8PSI6ZnVuY3Rpb24odCxyKXtyZXR1cm4gdDw9cn0sIj4iOmZ1bmN0aW9uKHQscil7cmV0dXJuIHQ+cn0sIj49IjpmdW5jdGlvbih0LHIpe3JldHVybiB0Pj1yfSwiPT0iOmZ1bmN0aW9uKHQscil7cmV0dXJuIHQ9PT1yfSwiIT0iOmZ1bmN0aW9uKHQscil7cmV0dXJuIHQhPT1yfSwiJiYiOmZ1bmN0aW9uKHQscil7cmV0dXJuIHQmJnJ9LCJ8fCI6ZnVuY3Rpb24odCxyKXtyZXR1cm4gdHx8cn0sIj86IjpmdW5jdGlvbih0LHIsZSl7aWYodCl0aHJvdyByO3JldHVybiBlfX07ZnVuY3Rpb24gZyh0LHIpe3ZhciBlPVtdLG4sdSxsLG8sZixfO2ZvcihuPTA7bjx0Lmxlbmd0aDtuKyspe2lmKGY9dFtuXSxvPWR0W2ZdLG8pe2Zvcih1PW8ubGVuZ3RoLGw9QXJyYXkodSk7dS0tOylsW3VdPWUucG9wKCk7dHJ5e189by5hcHBseShudWxsLGwpfWNhdGNoKHYpe3JldHVybiB2fX1lbHNlIHIuaGFzT3duUHJvcGVydHkoZik/Xz1yW2ZdOl89K2Y7ZS5wdXNoKF8pfXJldHVybiBlWzBdfWZ1bmN0aW9uIEEodCl7dmFyIHI9Yih0KTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGcocixlKX19ZnVuY3Rpb24gRSh0KXt2YXIgcj1BKHQpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4rcih7bjplfSl9fXZhciBTPXtjb250ZXh0RGVsaW1pdGVyOiIEIixvbk1pc3NpbmdLZXk6bnVsbH07ZnVuY3Rpb24gX3QodCl7dmFyIHIsZSxuO2ZvcihyPXQuc3BsaXQoIjsiKSxlPTA7ZTxyLmxlbmd0aDtlKyspaWYobj1yW2VdLnRyaW0oKSxuLmluZGV4T2YoInBsdXJhbD0iKT09PTApcmV0dXJuIG4uc3Vic3RyKDcpfWZ1bmN0aW9uIHgodCxyKXt2YXIgZTt0aGlzLmRhdGE9dCx0aGlzLnBsdXJhbEZvcm1zPXt9LHRoaXMub3B0aW9ucz17fTtmb3IoZSBpbiBTKXRoaXMub3B0aW9uc1tlXT1yIT09dm9pZCAwJiZlIGluIHI/cltlXTpTW2VdfXgucHJvdG90eXBlLmdldFBsdXJhbEZvcm09ZnVuY3Rpb24odCxyKXt2YXIgZT10aGlzLnBsdXJhbEZvcm1zW3RdLG4sdSxsO3JldHVybiBlfHwobj10aGlzLmRhdGFbdF1bIiJdLGw9blsiUGx1cmFsLUZvcm1zIl18fG5bInBsdXJhbC1mb3JtcyJdfHxuLnBsdXJhbF9mb3Jtcyx0eXBlb2YgbCE9ImZ1bmN0aW9uIiYmKHU9X3QoblsiUGx1cmFsLUZvcm1zIl18fG5bInBsdXJhbC1mb3JtcyJdfHxuLnBsdXJhbF9mb3JtcyksbD1FKHUpKSxlPXRoaXMucGx1cmFsRm9ybXNbdF09bCksZShyKX07eC5wcm90b3R5cGUuZGNucGdldHRleHQ9ZnVuY3Rpb24odCxyLGUsbix1KXt2YXIgbCxvLGY7cmV0dXJuIHU9PT12b2lkIDA/bD0wOmw9dGhpcy5nZXRQbHVyYWxGb3JtKHQsdSksbz1lLHImJihvPXIrdGhpcy5vcHRpb25zLmNvbnRleHREZWxpbWl0ZXIrZSksZj10aGlzLmRhdGFbdF1bb10sZiYmZltsXT9mW2xdOih0aGlzLm9wdGlvbnMub25NaXNzaW5nS2V5JiZ0aGlzLm9wdGlvbnMub25NaXNzaW5nS2V5KGUsdCksbD09PTA/ZTpuKX07dmFyIEs9eyIiOntwbHVyYWxfZm9ybXModCl7cmV0dXJuIHQ9PT0xPzA6MX19fSx2dD0vXmkxOG5cLihuP2dldHRleHR8aGFzX3RyYW5zbGF0aW9uKShffCQpLyxSPSh0LHIsZSk9PntsZXQgbj1uZXcgeCh7fSksdT1uZXcgU2V0LGw9KCk9Pnt1LmZvckVhY2goYT0+YSgpKX0sbz1hPT4odS5hZGQoYSksKCk9PnUuZGVsZXRlKGEpKSxmPShhPSJkZWZhdWx0Iik9Pm4uZGF0YVthXSxfPShhLGk9ImRlZmF1bHQiKT0+e24uZGF0YVtpXT17Li4ubi5kYXRhW2ldLC4uLmF9LG4uZGF0YVtpXVsiIl09ey4uLktbIiJdLC4uLm4uZGF0YVtpXT8uWyIiXX0sZGVsZXRlIG4ucGx1cmFsRm9ybXNbaV19LHY9KGEsaSk9PntfKGEsaSksbCgpfSxWPShhLGk9ImRlZmF1bHQiKT0+e24uZGF0YVtpXT17Li4ubi5kYXRhW2ldLC4uLmEsIiI6ey4uLktbIiJdLC4uLm4uZGF0YVtpXT8uWyIiXSwuLi5hPy5bIiJdfX0sZGVsZXRlIG4ucGx1cmFsRm9ybXNbaV0sbCgpfSxXPShhLGkpPT57bi5kYXRhPXt9LG4ucGx1cmFsRm9ybXM9e30sdihhLGkpfSxtPShhPSJkZWZhdWx0IixpLHMsYyxkKT0+KG4uZGF0YVthXXx8Xyh2b2lkIDAsYSksbi5kY25wZ2V0dGV4dChhLGkscyxjLGQpKSx5PWE9PmF8fCJkZWZhdWx0IixZPShhLGkpPT57bGV0IHM9bShpLHZvaWQgMCxhKTtyZXR1cm4gZT8ocz1lLmFwcGx5RmlsdGVycygiaTE4bi5nZXR0ZXh0IixzLGEsaSksZS5hcHBseUZpbHRlcnMoImkxOG4uZ2V0dGV4dF8iK3koaSkscyxhLGkpKTpzfSx3PShhLGkscyk9PntsZXQgYz1tKHMsaSxhKTtyZXR1cm4gZT8oYz1lLmFwcGx5RmlsdGVycygiaTE4bi5nZXR0ZXh0X3dpdGhfY29udGV4dCIsYyxhLGkscyksZS5hcHBseUZpbHRlcnMoImkxOG4uZ2V0dGV4dF93aXRoX2NvbnRleHRfIit5KHMpLGMsYSxpLHMpKTpjfSxrPShhLGkscyxjKT0+e2xldCBkPW0oYyx2b2lkIDAsYSxpLHMpO3JldHVybiBlPyhkPWUuYXBwbHlGaWx0ZXJzKCJpMThuLm5nZXR0ZXh0IixkLGEsaSxzLGMpLGUuYXBwbHlGaWx0ZXJzKCJpMThuLm5nZXR0ZXh0XyIreShjKSxkLGEsaSxzLGMpKTpkfSx0dD0oYSxpLHMsYyxkKT0+e2xldCBGPW0oZCxjLGEsaSxzKTtyZXR1cm4gZT8oRj1lLmFwcGx5RmlsdGVycygiaTE4bi5uZ2V0dGV4dF93aXRoX2NvbnRleHQiLEYsYSxpLHMsYyxkKSxlLmFwcGx5RmlsdGVycygiaTE4bi5uZ2V0dGV4dF93aXRoX2NvbnRleHRfIit5KGQpLEYsYSxpLHMsYyxkKSk6Rn0scnQ9KCk9PncoImx0ciIsInRleHQgZGlyZWN0aW9uIik9PT0icnRsIixldD0oYSxpLHMpPT57bGV0IGM9aT9pKyIEIithOmEsZD0hIW4uZGF0YT8uW3M/PyJkZWZhdWx0Il0/LltjXTtyZXR1cm4gZSYmKGQ9ZS5hcHBseUZpbHRlcnMoImkxOG4uaGFzX3RyYW5zbGF0aW9uIixkLGEsaSxzKSxkPWUuYXBwbHlGaWx0ZXJzKCJpMThuLmhhc190cmFuc2xhdGlvbl8iK3kocyksZCxhLGkscykpLGR9O2lmKHQmJnYodCxyKSxlKXtsZXQgYT1pPT57dnQudGVzdChpKSYmbCgpfTtlLmFkZEFjdGlvbigiaG9va0FkZGVkIiwiY29yZS9pMThuIixhKSxlLmFkZEFjdGlvbigiaG9va1JlbW92ZWQiLCJjb3JlL2kxOG4iLGEpfXJldHVybntnZXRMb2NhbGVEYXRhOmYsc2V0TG9jYWxlRGF0YTp2LGFkZExvY2FsZURhdGE6VixyZXNldExvY2FsZURhdGE6VyxzdWJzY3JpYmU6byxfXzpZLF94OncsX246ayxfbng6dHQsaXNSVEw6cnQsaGFzVHJhbnNsYXRpb246ZXR9fTt2YXIgQz1zdCgkKCksMSkscD1SKHZvaWQgMCx2b2lkIDAsQy5kZWZhdWx0SG9va3MpLEg9cCxqPXAuZ2V0TG9jYWxlRGF0YS5iaW5kKHApLHo9cC5zZXRMb2NhbGVEYXRhLmJpbmQocCksVT1wLnJlc2V0TG9jYWxlRGF0YS5iaW5kKHApLFg9cC5zdWJzY3JpYmUuYmluZChwKSxaPXAuX18uYmluZChwKSxxPXAuX3guYmluZChwKSxHPXAuX24uYmluZChwKSxCPXAuX254LmJpbmQocCksSj1wLmlzUlRMLmJpbmQocCksUT1wLmhhc1RyYW5zbGF0aW9uLmJpbmQocCk7cmV0dXJuIHB0KHl0KTt9KSgpOwo="}},"time_used":502,"timings":{"blocked":407,"dns":0,"connect":0,"send":0,"wait":95,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/29536.736f471a8d64a8122fd8.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.682Z","timestamp":1785141584682,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/29536.736f471a8d64a8122fd8.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-ebc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9db982b016a7dbe52be444883545077a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3772,"size_decoded":1613,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3772), with no line terminators","md5":"0f29bcabe069a47a657f4666aef1835a","sha1":"6d7a898f70cbc2cd3e7245948215a87083dc7757","sha256":"13835bb4936e82708b3d51759c4f0817b38329ae23fbd4159dd42c41d72bd08c","sha512":"844358cef628a8e87ce959d524734c056fccd6a453f67541790666eb6d7c715b9eeaaddb5ed93e3923992e68bf8320f159e9869a9a38a76b85e3677d846bcd35","ssdeep":"","tlshash":"6171ddc5f150fab1fb23119c63ac6079ba80ad78ed5376c7b976d81508d5bb2122372c","first_seen":"2026-07-16T13:40:49.880227Z","last_seen":"2026-07-27T14:50:15.496457Z","times_seen":207,"resource_available":false,"data":"LmRlZmF1bHQtR1pMeWtOUVB7LS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmU6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtc2VtaS1ib2xkKX0uZGFuZ2VyLUdaTHlrTlFQey0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQpOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmU6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkKX0ud2FybmluZy1HWkx5a05RUHstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmcpOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1ob3Zlcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1zZW1pLWJvbGQpOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmU6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctYm9sZCl9LnN1Y2Nlc3MtR1pMeWtOUVB7LS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItYWN0aXZlOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQpfS5uZXV0cmFsLUdaTHlrTlFQey0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1tZWRpdW0pOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmU6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1zZW1pLWJvbGQpfS5uZXV0cmFsLWxpZ2h0LUdaTHlrTlFQey0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yLWhvdmVyOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItYWN0aXZlOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9LnNtYWxsLUdaTHlrTlFQey0tdWktbGliLXByaXZhdGUtaWNvblF1ZXN0aW9uSW5mb3JtYXRpb24tc2l6ZTozfS5tZWRpdW0tR1pMeWtOUVB7LS11aS1saWItcHJpdmF0ZS1pY29uUXVlc3Rpb25JbmZvcm1hdGlvbi1zaXplOjR9LmxhcmdlLUdaTHlrTlFQey0tdWktbGliLXByaXZhdGUtaWNvblF1ZXN0aW9uSW5mb3JtYXRpb24tc2l6ZTo1fS5pY29uV3JhcHBlci1HWkx5a05RUHstLXVpLWxpYi1zaXplLWRlZjp2YXIoLS11aS1saWItaW4taWNvblF1ZXN0aW9uSW5mb3JtYXRpb24tc2l6ZSx2YXIoLS11aS1saWItcHJpdmF0ZS1pY29uUXVlc3Rpb25JbmZvcm1hdGlvbi1zaXplLDMpKTstLXVpLWxpYi1zaXplLWRlZi1zbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMykpKTstLXVpLWxpYi1zaXplLWRlZi1tZWRpdW06Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDQpKSk7LS11aS1saWItc2l6ZS1kZWYtbGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDUpKSk7YmFja2dyb3VuZDojMDAwMDtib3JkZXI6MDtib3gtc2hhZG93Om5vbmU7Y29sb3I6dmFyKC0tdWktbGliLWljb24tcWktY29sb3IsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcikpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LS11aS1saWItaWNvbi1xdWVzdGlvbi1pbmZvcm1hdGlvbi1zaXplOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMjhweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNDRweCk7aGVpZ2h0OnZhcigtLXVpLWxpYi1pY29uLXF1ZXN0aW9uLWluZm9ybWF0aW9uLXNpemUpO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi1pY29uLXF1ZXN0aW9uLWluZm9ybWF0aW9uLXNpemUpO21pbi13aWR0aDp2YXIoLS11aS1saWItaWNvbi1xdWVzdGlvbi1pbmZvcm1hdGlvbi1zaXplKTtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDp2YXIoLS11aS1saWItaWNvbi1xdWVzdGlvbi1pbmZvcm1hdGlvbi1zaXplKX0uaWNvbldyYXBwZXItR1pMeWtOUVA6Zm9jdXN7b3V0bGluZTpub25lfS5pY29uV3JhcHBlci1HWkx5a05RUDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uaWNvbldyYXBwZXItR1pMeWtOUVA6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4OjF9Lmljb25XcmFwcGVyLUdaTHlrTlFQOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9Lmljb25XcmFwcGVyLUdaTHlrTlFQOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uaWNvbldyYXBwZXItR1pMeWtOUVA6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9Lmljb25XcmFwcGVyLUdaTHlrTlFQOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6Y2FsYyg1MCUgKyA0cHgpfS5pY29uV3JhcHBlci1HWkx5a05RUDp2aXNpdGVke2NvbG9yOnZhcigtLXVpLWxpYi1pY29uLXFpLWNvbG9yLHZhcigtLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3IpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmljb25XcmFwcGVyLUdaTHlrTlFQOmhvdmVye2NvbG9yOnZhcigtLXVpLWxpYi1pY29uLXFpLWNvbG9yLWhvdmVyLHZhcigtLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXIpKX19Lmljb25XcmFwcGVyLUdaTHlrTlFQOmFjdGl2ZXtjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1hY3RpdmUsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmUpKX0uaWNvbi1HWkx5a05RUHtwb2ludGVyLWV2ZW50czpub25lfS5pY29uLUdaTHlrTlFQIHN2Z3toZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/47201.4280aa0c3cf12cac9d6d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.152Z","timestamp":1785141585152,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/47201.4280aa0c3cf12cac9d6d.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-3a0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6bd8347dddc4257b4de4905065c2cc0f\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":928,"size_decoded":1232,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (928), with no line terminators","md5":"54605d628ac900602ae36083dee3b441","sha1":"ca358793dd82a43278f12335674d256d92b49ad7","sha256":"3196d030409bb0320a5fae323a6210b652289760b0b3de4774d7a6fb6ef0f00e","sha512":"ad0740ba5a5400fb690d0b94d291463e7961d11b57ca38bccce61f1dcbd54fd95d7e6288efac1d46ce072b9b765e27820b6ed7bb94d12db613a20587c96b7d27","ssdeep":"","tlshash":"2811c2697250f778b562a89a6604b44c24c4d911054381eada63961dc4d32b70bb6fd8","first_seen":"2026-04-17T19:04:15.912861Z","last_seen":"2026-07-27T12:48:39.739608Z","times_seen":180,"resource_available":false,"data":"LnNlYXJjaC1sQU51YlNjMnthbGw6dW5zZXQ7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDt3aWR0aDoxMDAlOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE2cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MjRweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LnNlYXJjaC1sQU51YlNjMjo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfS5pbnB1dENvbnRhaW5lci1sQU51YlNjMnthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCk7Ym9yZGVyLXJhZGl1czo4cHg7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NDBweDtwYWRkaW5nOjZweCA4cHh9LmlucHV0Q29udGFpbmVyLWxBTnViU2MyOmZvY3VzLXdpdGhpbiAuc2VhcmNoSW5wdXRJY29uLWxBTnViU2Mye2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKX0uYWN0aW9ucy1sQU51YlNjMnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4fS5kaXZpZGVyLWxBTnViU2Mye21hcmdpbjowIDhweH0uc2VhcmNoSW5wdXRJY29uLWxBTnViU2Mye2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTtoZWlnaHQ6MjhweDttaW4td2lkdGg6MjhweDt3aWR0aDoyOHB4fQ=="}},"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":"oxlofttrd.com/wp-content/uploads/2025/01/about-front-img.jpg","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.929Z","timestamp":1785141582929,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/uploads/2025/01/about-front-img.jpg HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,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://oxlofttrd.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 11:38:04 GMT\r\nAccept-Ranges: bytes\r\nContent-Length: 712792\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nKeep-Alive: timeout=5, max=95\r\nConnection: Keep-Alive\r\nContent-Type: image/jpeg\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":712792,"size_decoded":713100,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=12, height=2099, bps=0, PhotometricInterpretation=RGB, orientation=upper-left, width=1400], progressive, precision 8, 1400x2099, components 3","md5":"696798accb6a7cb99063ebb44465d4a5","sha1":"162bdff47029121ad26c1711eb74f3bb99f3fe9a","sha256":"e8b15bfae1277f66a451520f9c461883a7e08a804c2bdd47f577c65cad97799b","sha512":"d12987de5015537cf9f3d998228d1c2d0c1ad4332731ef1449675aa578c01aa15a6541c5bad80e5926b819c7118a0f550e078e1d8617acd14a4df146a303258f","ssdeep":"12288:INumGapTPPFvCFYEO+TaGV8OAR+zs3BdfXR7xEI9v/IzYkWNi89sjnMDxW:dmbVCeqTpMRFnfZxEw/IzvWg81xW","tlshash":"f3e4237b2325f8faf8725638614cf2fafc99168d9fe9a209718e381deb5473d4818111","first_seen":"2026-07-27T06:14:34.050643Z","last_seen":"2026-07-27T12:12:28.939324Z","times_seen":5,"resource_available":false,"data":"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cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJEMThDNkJFQUQ1MEFENzc0RDg1NUE4N0IyRjUwMDE1QyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4ZWZjNjI3YS1kZjA0LTk5NGYtOGU4OS05Y2JlOGYwOGMyYmIiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0iRDE4QzZCRUFENTBBRDc3NEQ4NTVBODdCMkY1MDAxNUMiIGRjOmZvcm1hdD0iaW1hZ2UvanBlZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9IiIgeG1wOkNyZWF0ZURhdGU9IjIwMjUtMDEtMTZUMTE6NDY6MDYrMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI1LTAxLTE2VDEyOjM3OjA5KzAxOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI1LTAxLTE2VDEyOjM3OjA5KzAxOjAwIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6OGVmYzYyN2EtZGYwNC05OTRmLThlODktOWNiZThmMDhjMmJiIiBzdEV2dDp3aGVuPSIyMDI1LTAxLTE2VDEyOjM3OjA5KzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMSAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDxwaG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDxyZGY6QmFnPiA8cmRmOmxpPjYwMjhFOUU0RTIxRjQ3OEU2QjVFNzcyQjQ4RDQzREZBPC9yZGY6bGk+IDxyZGY6bGk+NzhDN0M2NzVBNTJBNkZEQzA0MkM1QkQ3NDkzMjk3N0I8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MmM0N2QwMzAtMDQ3ZC02YzRiLWJjNDgtNWViOGM2ZThmZTYyPC9yZGY6bGk+IDwvcmRmOkJhZz4gPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9InciPz7/7gAhQWRvYmUAZEAAAAABAwAQAwIDBgAAAAAAAAAAAAAAAP/bAIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQIBAQEBAQECAgICAgICAgICAgICAgMDAwMDAwMDAwMDAwMDAwEBAQEBAQECAQECAwICAgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD/8IAEQgIMwV4AwERAAIRAQMRAf/EAUQAAAEDBQEBAQAAAAAAAAAAAAQDBQYAAQIHCAkKCwEAAQUBAQEBAQAAAAAAAAAAAwABAgQFBgcICQoQAAICAgEDBAEDBAECBQIADwECAAMRBAUhEgYQMRMHMiIUCCBBFQkjMwowQiQ0FkAlFzUmGUM4ORo2J1A3GCk6EQABAwIDBAYHBAYFBQcKAS0BABECIQMxQQRRYRIFcYGRobEGEPDBIjITB9HhQggg8VJiIxRygrIzQ5KiUxUJwmNzJDQW1jCzRNW2FzeXtzh4mNKTo1RkdMV3QOKDlNQlNWUnR6fXGChIaAryJjZ2lqZXiFDDxEV1pbVGVmZnEgACAgICAAQEAgcEBgkDAAsAAREhEAIgMTBBEgNRYXEiQASB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"}},"time_used":1129,"timings":{"blocked":673,"dns":0,"connect":0,"send":0,"wait":93,"receive":363,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/36222.e9be9a733e114730a4ea.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.680Z","timestamp":1785141584680,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/36222.e9be9a733e114730a4ea.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-817\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9ddb852c7e1d3c61d89b2018bf1ea1f1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2071,"size_decoded":1307,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2071), with no line terminators","md5":"2e8e694e16e9459d863140b929080820","sha1":"49a854bbed81708280adaa8bbe6867c856fcec99","sha256":"39a8612e5776ad12480990df92ddf0ae28da68e6fda202f92e646cfbd754ed65","sha512":"f624307751b27dd6725309a31659c60b989256ea30ddbc8f0b6a2632af721b14d2c15e8ad1e8f78fae96aada441df8c0d4a42bec925b80236c39d5fd8fa5f59e","ssdeep":"","tlshash":"3041dd2045d5ec78bc53b366d2e5160c55b5bd34de4b2cce3ba438222ac2bf400b7a5e","first_seen":"2026-07-16T13:40:49.685175Z","last_seen":"2026-07-27T14:50:15.273761Z","times_seen":258,"resource_available":false,"data":"LnBvc2l0aW9uZXItaEJWa2FQMlB7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dyaWQtdGVtcGxhdGUtcm93czoxZnI7aGVpZ2h0OnZhcigtLXVpLWxpYi1pbi1wb3NpdGlvbmVyLWV4YWN0SGVpZ2h0LHZhcigtLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItYW5jaG9yRXhhY3RIZWlnaHQsYXV0bykpO2xlZnQ6dmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvcmVkWCk7bWF4LWhlaWdodDptaW4odmFyKC0tdWktbGliLWluLXBvc2l0aW9uZXItbWF4SGVpZ2h0LDEwMDAwMHZoKSx2YXIoLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvck1heEhlaWdodCwxMDAwMDB2aCksdmFyKC0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1zY3JlZW5SZXN0cmljdGlvbk1heEhlaWdodCwxMDAwMDB2aCksdmFyKC0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1yZXNpemVSZXN0cmljdGlvbk1heEhlaWdodCwxMDAwMDB2aCkpO21heC13aWR0aDptaW4odmFyKC0tdWktbGliLWluLXBvc2l0aW9uZXItbWF4V2lkdGgsMTAwMDB2dyksdmFyKC0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1hbmNob3JNYXhXaWR0aCwxMDAwMHZ3KSx2YXIoLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLXNjcmVlblJlc3RyaWN0aW9uTWF4V2lkdGgsMTAwMDB2dyksdmFyKC0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1yZXNpemVSZXN0cmljdGlvbk1heFdpZHRoLDEwMDAwdncpKTttaW4taGVpZ2h0Om1heCh2YXIoLS11aS1saWItaW4tcG9zaXRpb25lci1taW5IZWlnaHQsMHB4KSx2YXIoLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvck1pbkhlaWdodCwwcHgpLHZhcigtLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplUmVzdHJpY3Rpb25NaW5IZWlnaHQsMHB4KSk7bWluLXdpZHRoOm1heCh2YXIoLS11aS1saWItaW4tcG9zaXRpb25lci1taW5XaWR0aCwwcHgpLHZhcigtLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItYW5jaG9yTWluV2lkdGgsMHB4KSx2YXIoLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLXJlc2l6ZVJlc3RyaWN0aW9uTWluV2lkdGgsMHB4KSk7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpmaXhlZDt0b3A6dmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvcmVkWSk7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKHZhcigtLXVpLWxpYi1vdXQtcG9zaXRpb25lci1jb250ZW50UG9pbnRYKSotMTAwJSksY2FsYyh2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFBvaW50WSkqLTEwMCUpKTt3aWR0aDp2YXIoLS11aS1saWItaW4tcG9zaXRpb25lci1leGFjdFdpZHRoLHZhcigtLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItYW5jaG9yRXhhY3RXaWR0aCxhdXRvKSl9Lm5vSG9yaXpvbnRhbFNocmluay1oQlZrYVAyUHstLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplUmVzdHJpY3Rpb25NaW5XaWR0aDp2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFdpZHRoKX0ubm9Ib3Jpem9udGFsR3Jvdy1oQlZrYVAyUHstLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplUmVzdHJpY3Rpb25NYXhXaWR0aDp2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFdpZHRoKX0ubm9WZXJ0aWNhbFNocmluay1oQlZrYVAyUHstLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplUmVzdHJpY3Rpb25NaW5IZWlnaHQ6dmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRIZWlnaHQpfS5ub1ZlcnRpY2FsR3Jvdy1oQlZrYVAyUHstLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplLXJlc3RyaWN0aW9uLW1heC1oZWlnaHQ6dmFyKC0tdWktbGliLXBvc2l0aW9uZXItY29udGVudC1oZWlnaHQtbWVhc3VyZWQpfS5pbnZpc2libGUtaEJWa2FQMlB7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmV9LnBvcnRhbC1oQlZrYVAyUHtoZWlnaHQ6MTAwMHZoO2xlZnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCk7d2lkdGg6MTAwMHZ3fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12051.b84be781bb90d457f1df.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.704Z","timestamp":1785141584704,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12051.b84be781bb90d457f1df.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-f5c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:47\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b9ee020e5443866ae24d5508e8a8d13c\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3932,"size_decoded":2007,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3932), with no line terminators","md5":"923aec057d9cd07c2b7095d0f0623ab1","sha1":"56133c4d03d776c8b524b16f542979b74c9aabdd","sha256":"c485c2114f00991ad09dc545efb6038c9d6baba075a6b0061cd701a5db18564f","sha512":"5af06adfb2af9bd155bc54b0328570122ab87794daf957844689e7732085ff42a82e33065dc68e14d9a7e075e3f3872b91143d34c8921db369258920f7f9ffe7","ssdeep":"","tlshash":"f6812192b160f1babc6749395fe2b13831109c73c30254bafa51177a8dc1ffa0ae7255","first_seen":"2026-03-31T21:43:22.9655Z","last_seen":"2026-07-27T14:50:15.391513Z","times_seen":560,"resource_available":false,"data":"LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYXttYXJnaW46MCA2cHg7bWluLXdpZHRoOjB9LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYTpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLWVuZDowfS5hY3Rpb25CdXR0b24tazUzdmV4UGE6bGFzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0OjB9LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYS5zbWFsbC1rNTN2ZXhQYXttYXJnaW46NnB4IDB9LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYS5zbWFsbC1rNTN2ZXhQYTpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjB9LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYS5zbWFsbC1rNTN2ZXhQYTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uaGlkZGVuVGl0bGUtazUzdmV4UGF7dmlzaWJpbGl0eTpoaWRkZW59LnBvcHVwRGlhbG9nLUIwMlVVVU4ze21heC1oZWlnaHQ6Y2FsYygxMDAlIC0gMjBweCk7bWF4LXdpZHRoOjQ4MHB4O3dpZHRoOmNhbGMoMTAwJSAtIDIwcHgpfS53cmFwLUIwMlVVVU4ze2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW59Lm1haW4tQjAyVVVVTjN7Y29sb3I6dmFyKC0tY29sb3ItdG9vbGJhci1pbnRlcmFjdGl2ZS1lbGVtZW50LXRleHQtbm9ybWFsKTtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bztmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luLWJsb2NrOjQwcHggNDBweDttYXJnaW4taW5saW5lOjQwcHggMDttaW4td2lkdGg6MH0ubWFpbi1CMDJVVVVOMy5zbWFsbC1CMDJVVVVOM3ttYXJnaW4tYmxvY2s6MjBweCAyMHB4O21hcmdpbi1pbmxpbmU6MjBweCAwfS50aXRsZS1CMDJVVVVOM3tmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjIwcHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NjAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MjRweDthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXg6bm9uZTtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7bWFyZ2luLWJvdHRvbTo4cHg7d2lkdGg6Y2FsYygxMDAlIC0gOXB4KTt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LnRpdGxlLUIwMlVVVU4zLnNtYWxsLUIwMlVVVU4ze3dpZHRoOmNhbGMoMTAwJSAtIDI5cHgpfS5jb250ZW50LUIwMlVVVU4ze2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSBhdXRvO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7bWluLWhlaWdodDoxNDVweDtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC1icmVhazpicmVhay13b3JkOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO21hcmdpbjowIC00MHB4O21pbi1oZWlnaHQ6MDtwYWRkaW5nOjhweCA0MHB4fUBtZWRpYSAobWF4LWhlaWdodDoyOTBweCl7LmNvbnRlbnQtQjAyVVVVTjN7bWluLWhlaWdodDphdXRvfX1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuY29udGVudC1CMDJVVVVOM3tzY3JvbGxiYXItY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSkgIzAwMDA7c2Nyb2xsYmFyLXdpZHRoOnRoaW59fS5jb250ZW50LUIwMlVVVU4zOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NXB4O3dpZHRoOjVweH0uY29udGVudC1CMDJVVVVOMzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0uY29udGVudC1CMDJVVVVOMzo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlci1yYWRpdXM6M3B4fS5jb250ZW50LUIwMlVVVU4zOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS5jb250ZW50LUIwMlVVVU4zLnNtYWxsLUIwMlVVVU4ze21hcmdpbjowIC0yMHB4O3BhZGRpbmc6OHB4IDIwcHh9LmNvbnRlbnQtQjAyVVVVTjMuaHRtbC1CMDJVVVVOM3tkaXNwbGF5OmJsb2NrfS5jb250ZW50LUIwMlVVVU4zIGE6bm90KC5yZXZpZXdDb250ZW50IGEpLC5jb250ZW50LUIwMlVVVU4zIGE6bm90KC5yZXZpZXdDb250ZW50IGEpOnZpc2l0ZWR7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29udGVudC1CMDJVVVVOMyBhOm5vdCgucmV2aWV3Q29udGVudCBhKTpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKX19LmNvbnRlbnQtQjAyVVVVTjMgYTpub3QoLnJldmlld0NvbnRlbnQgYSk6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LmNvbnRlbnQtQjAyVVVVTjMgYTpub3QoLnJldmlld0NvbnRlbnQgYSk6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0uY29udGVudC1CMDJVVVVOMyBhOm5vdCgucmV2aWV3Q29udGVudCBhKTpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LmNvbnRlbnQtQjAyVVVVTjMgYTpub3QoLnJldmlld0NvbnRlbnQgYSk6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9LmZvb3Rlci1CMDJVVVVOM3tkaXNwbGF5OmZsZXg7ZmxleDpub25lO2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O21hcmdpbi10b3A6MTZweH0uZm9vdGVyLUIwMlVVVU4zLnNtYWxsLUIwMlVVVU4ze2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uY2xvc2UtQjAyVVVVTjN7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOnZhcigtLWNvbG9yLXRvb2xiYXItaW50ZXJhY3RpdmUtZWxlbWVudC10ZXh0LW5vcm1hbCk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6bm9uZTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1ibG9jazo4cHggMDttYXJnaW4taW5saW5lOi0ycHggOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2xvc2UtQjAyVVVVTjM6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5LWhvdmVyKX19LmNsb3NlLUIwMlVVVU4zLnNtYWxsLUIwMlVVVU4ze21hcmdpbi1pbmxpbmUtc3RhcnQ6LTIycHh9Lm1hcmdpbldpdGhvdXRDbG9zZUJ1dHRvbi1CMDJVVVVOM3ttYXJnaW4taW5saW5lLWVuZDo0MHB4fS5tYXJnaW5XaXRob3V0Q2xvc2VCdXR0b24tQjAyVVVVTjMuc21hbGwtQjAyVVVVTjN7bWFyZ2luLWlubGluZS1lbmQ6MjBweH0="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://pushstream.tradingview.com/message-pipe-ws/public","fqdn":"pushstream.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"84.16.253.93","port":443,"asn":28753,"as":"Leaseweb Deutschland GmbH","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.054Z","timestamp":1785141585054,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Wed, 18 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"96:06:76:35:9F:2C:2D:1C:89:55:E8:92:7C:4F:4B:FD:E9:F6:FF:1A","sha256":"BC:FA:33:CE:19:85:7A:43:44:BA:17:CE:87:15:42:E2:02:0C:7A:4E:83:42:1F:58:8F:59:B4:20:BF:4B:35:00"}}},"request":{"raw":"GET /message-pipe-ws/public HTTP/1.1\r\nHost: pushstream.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-WebSocket-Version: 13\r\nOrigin: https://www.tradingview-widget.com\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: W99JgZqMh6oslTG7CVqQkg==\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\nExpires: Thu, 01 Jan 1970 00:00:01 GMT\r\nCache-Control: no-cache, no-store, must-revalidate\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: un0pkHqlMx8LdSVkp7R9qJQpL1g=\r\n\r\n","headers":null,"cookies":null,"status_code":"101","status_text":"Switching Protocols","fingerprints":null,"data":{"size":0,"size_decoded":221,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-27T15:05:58.256156Z","times_seen":17565140,"resource_available":true,"data":""}},"time_used":280,"timings":{"blocked":-1,"dns":99,"connect":123,"send":0,"wait":27,"receive":0,"ssl":31},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/57093.26600c93b6171d99b700.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.166Z","timestamp":1785141585166,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/57093.26600c93b6171d99b700.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-6c86\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:30\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1b9e02c6b4a112443b268517c6122c0c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":27782,"size_decoded":11281,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3069)","md5":"4a5c4beebe509ac3027b79744b905303","sha1":"7eea8e87ac7a5ed1631873659a90a89e9a2cf256","sha256":"212519cc555451f5eb9173d72cf1b953de12bd91b643471be5673492e5fd4df0","sha512":"0c8c00ea4bf02423fb14f74c67dae3bb80ee82ec07ec85b67af6c9a158458956589e013607b8a608b44a881e754cd710e6ebfaf8a8037aab14d3877b9ba6d90f","ssdeep":"768:3KHYGd+QIbZ15yDJjyD272qzGJOeK6+ZJT:64fDbLoRT","tlshash":"5bc2fa867011b1ad92e789d681bf055de33f396c384d4d70f2b8d8cc69a7958e326e0e","first_seen":"2026-07-23T14:00:31.452652Z","last_seen":"2026-07-27T12:48:39.628805Z","times_seen":57,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1NzA5Myw2NDY0NF0sezkxNDQ4NyhlLHQpe3ZhciBuOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgcj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBvKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07aWYobil7dmFyIGE9dHlwZW9mIG47aWYoInN0cmluZyI9PT1hfHwibnVtYmVyIj09PWEpZS5wdXNoKG4pO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShuKSYmbi5sZW5ndGgpe3ZhciBpPW8uYXBwbHkobnVsbCxuKTtpJiZlLnB1c2goaSl9ZWxzZSBpZigib2JqZWN0Ij09PWEpZm9yKHZhciBsIGluIG4pci5jYWxsKG4sbCkmJm5bbF0mJmUucHVzaChsKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oby5kZWZhdWx0PW8sZS5leHBvcnRzPW8pOnZvaWQgMD09PShuPWZ1bmN0aW9uKCl7cmV0dXJuIG99LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1uKX0oKX0sNjg3OTUzKGUpe2UuZXhwb3J0cz17ZGl2aWRlcjoiZGl2aWRlci1Db0EyZDVDNyIsIm9yaWVudGF0aW9uLWhvcml6b250YWwiOiJvcmllbnRhdGlvbi1ob3Jpem9udGFsLUNvQTJkNUM3Iiwib3JpZW50YXRpb24tdmVydGljYWwiOiJvcmllbnRhdGlvbi12ZXJ0aWNhbC1Db0EyZDVDNyIsImZpdC1jb250ZW50IjoiZml0LWNvbnRlbnQtQ29BMmQ1QzciLCJzaXplLXhzbWFsbCI6InNpemUteHNtYWxsLUNvQTJkNUM3Iiwic2l6ZS1zbWFsbCI6InNpemUtc21hbGwtQ29BMmQ1QzciLCJzaXplLW1lZGl1bSI6InNpemUtbWVkaXVtLUNvQTJkNUM3Iiwic2l6ZS1sYXJnZSI6InNpemUtbGFyZ2UtQ29BMmQ1QzciLCJzaXplLXhsYXJnZSI6InNpemUteGxhcmdlLUNvQTJkNUM3Iiwic2l6ZS14eGxhcmdlIjoic2l6ZS14eGxhcmdlLUNvQTJkNUM3IiwidHlwZS1wcmltYXJ5IjoidHlwZS1wcmltYXJ5LUNvQTJkNUM3IiwidHlwZS1zZWNvbmRhcnkiOiJ0eXBlLXNlY29uZGFyeS1Db0EyZDVDNyJ9fSw5OTQ1KGUpe2UuZXhwb3J0cz17ZGVmYXVsdDoiZGVmYXVsdC1HWkx5a05RUCIsZGFuZ2VyOiJkYW5nZXItR1pMeWtOUVAiLHdhcm5pbmc6Indhcm5pbmctR1pMeWtOUVAiLHN1Y2Nlc3M6InN1Y2Nlc3MtR1pMeWtOUVAiLG5ldXRyYWw6Im5ldXRyYWwtR1pMeWtOUVAiLCJuZXV0cmFsLWxpZ2h0IjoibmV1dHJhbC1saWdodC1HWkx5a05RUCIsc21hbGw6InNtYWxsLUdaTHlrTlFQIixtZWRpdW06Im1lZGl1bS1HWkx5a05RUCIsbGFyZ2U6ImxhcmdlLUdaTHlrTlFQIixpY29uV3JhcHBlcjoiaWNvbldyYXBwZXItR1pMeWtOUVAiLGljb246Imljb24tR1pMeWtOUVAifX0sNzU1ODU1KGUpe2UuZXhwb3J0cz17bGF5b3V0RXF1aWxhdGVyYWw6ImxheW91dEVxdWlsYXRlcmFsLXBqOHJKVmhaIn19LDY5Njc3MyhlKXtlLmV4cG9ydHM9e2FjdGl2ZUFyZWE6ImFjdGl2ZUFyZWEteHpBdEZtbEUiLGFjdGl2ZUFyZWFDb250ZW50OiJhY3RpdmVBcmVhQ29udGVudC14ekF0Rm1sRSIsbm9TdHJldGNoOiJub1N0cmV0Y2gteHpBdEZtbEUiLHN0cmV0Y2g6InN0cmV0Y2gteHpBdEZtbEUiLGhhc0NsaWNrTGlzdGVuZXI6Imhhc0NsaWNrTGlzdGVuZXIteHpBdEZtbEUiLGRpc2FibGVkOiJkaXNhYmxlZC14ekF0Rm1sRSIsc2VsZWN0ZWQ6InNlbGVjdGVkLXh6QXRGbWxFIixjaGlsZHJlbjoiY2hpbGRyZW4teHpBdEZtbEUifX0sMTMyNTAzKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1lVGZHRGFFciIsc3RyZXRjaDoic3RyZXRjaC1lVGZHRGFFciIsZGlzYWJsZWQ6ImRpc2FibGVkLWVUZkdEYUVyIixzcXVhcmU6InNxdWFyZS1lVGZHRGFFciIseHNtYWxsOiJ4c21hbGwtZVRmR0RhRXIiLHJvdW5kOiJyb3VuZC1lVGZHRGFFciIsc21hbGw6InNtYWxsLWVUZkdEYUVyIixtZWRpdW06Im1lZGl1bS1lVGZHRGFFciIscHJpbWFyeToicHJpbWFyeS1lVGZHRGFFciIsc2Vjb25kYXJ5OiJzZWNvbmRhcnktZVRmR0RhRXIiLHRlcnRpYXJ5OiJ0ZXJ0aWFyeS1lVGZHRGFFciIscXVhcnRlcmx5OiJxdWFydGVybHktZVRmR0RhRXIiLGdob3N0OiJnaG9zdC1lVGZHRGFFciIscGlsbDoicGlsbC1lVGZHRGFFciIsYmxpbmtBbmltYXRpb246ImJsaW5rQW5pbWF0aW9uLWVUZkdEYUVyIixibGlua2luZzoiYmxpbmtpbmctZVRmR0RhRXIiLCJwaWxsLWZvY3VzLW91dGxpbmUtYmxpbmtpbmctYWZ0ZXItaW50cm8iOiJwaWxsLWZvY3VzLW91dGxpbmUtYmxpbmtpbmctYWZ0ZXItaW50cm8tZVRmR0RhRXIiLCJwaWxsLWZvY3VzLW91dGxpbmUtYmxpbmtpbmctYWZ0ZXIiOiJwaWxsLWZvY3VzLW91dGxpbmUtYmxpbmtpbmctYWZ0ZXItZVRmR0RhRXIiLGJsaW5rRm9yZWdyb3VuZDoiYmxpbmtGb3JlZ3JvdW5kLWVUZkdEYUVyIiwicGlsbC1mb2N1cy1vdXRsaW5lLWJsaW5raW5nLWZvcmVncm91bmQiOiJwaWxsLWZvY3VzLW91dGxpbmUtYmxpbmtpbmctZm9yZWdyb3VuZC1lVGZHRGFFciIsaGlnaGxpZ2h0aW5nOiJoaWdobGlnaHRpbmctZVRmR0RhRXIiLCJwaWxsLWZvY3VzLW91dGxpbmUtaGlnaGxpZ2h0aW5nLWFuaW1hdGlvbi1hZnRlciI6InBpbGwtZm9jdXMtb3V0bGluZS1oaWdobGlnaHRpbmctYW5pbWF0aW9uLWFmdGVyLWVUZkdEYUVyIiwicGlsbC1mb2N1cy1vdXRsaW5lLWhpZ2hsaWdodGluZy1hbmltYXRpb24tZm9yZWdyb3VuZCI6InBpbGwtZm9jdXMtb3V0bGluZS1oaWdobGlnaHRpbmctYW5pbWF0aW9uLWZvcmVncm91bmQtZVRmR0RhRXIifX0sODMxMTgxKGUpe2UuZXhwb3J0cz17YWN0aXZlVGV4dDoiYWN0aXZlVGV4dC1jbjBHbk9CZCJ9fSw1NDAxMDcoZSl7ZS5leHBvcnRzPXtwcmltYXJ5VGV4dDoicHJpbWFyeVRleHQtRFhjb0NWMkoifX0sODY4MzkxKGUpe2UuZXhwb3J0cz17ZmxvYXRpbmdBcnJvdzoiZmxvYXRpbmdBcnJvdy1jMU9zSFB0WSIsYm90dG9tOiJib3R0b20tYzFPc0hQdFkiLCJib3R0b20tbGVmdCI6ImJvdHRvbS1sZWZ0LWMxT3NIUHRZIiwiYm90dG9tLXJpZ2h0IjoiYm90dG9tLXJpZ2h0LWMxT3NIUHRZIix0b3A6InRvcC1jMU9zSFB0WSIsCiJ0b3AtbGVmdCI6InRvcC1sZWZ0LWMxT3NIUHRZIiwidG9wLXJpZ2h0IjoidG9wLXJpZ2h0LWMxT3NIUHRZIixsZWZ0OiJsZWZ0LWMxT3NIUHRZIiwibGVmdC10b3AiOiJsZWZ0LXRvcC1jMU9zSFB0WSIsImxlZnQtYm90dG9tIjoibGVmdC1ib3R0b20tYzFPc0hQdFkiLHJpZ2h0OiJyaWdodC1jMU9zSFB0WSIsInJpZ2h0LXRvcCI6InJpZ2h0LXRvcC1jMU9zSFB0WSIsInJpZ2h0LWJvdHRvbSI6InJpZ2h0LWJvdHRvbS1jMU9zSFB0WSJ9fSwyMzI2NShlKXtlLmV4cG9ydHM9e2VuZFNsb3RXcmFwcGVyOiJlbmRTbG90V3JhcHBlci1IeU5qSFNEVyIsZGl2aWRlcjoiZGl2aWRlci1IeU5qSFNEVyIsZW5kU2xvdENvbnRlbnQ6ImVuZFNsb3RDb250ZW50LUh5TmpIU0RXIix0b29sdGlwQmFzZVdyYXBwZXI6InRvb2x0aXBCYXNlV3JhcHBlci1IeU5qSFNEVyIsdHJhbnNwYXJlbnQ6InRyYW5zcGFyZW50LUh5TmpIU0RXIixvcGFxdWU6Im9wYXF1ZS1IeU5qSFNEVyIsZGlzYWJsZUludGVyYWN0aXZlOiJkaXNhYmxlSW50ZXJhY3RpdmUtSHlOakhTRFciLHRvb2x0aXBCYXNlOiJ0b29sdGlwQmFzZS1IeU5qSFNEVyIsY29udGVudFdyYXBwZXI6ImNvbnRlbnRXcmFwcGVyLUh5TmpIU0RXIixjb250ZW50OiJjb250ZW50LUh5TmpIU0RXIn19LDk2NjQ2NShlKXtlLmV4cG9ydHM9e3Rvb2x0aXBTdGF0ZWxlc3M6InRvb2x0aXBTdGF0ZWxlc3Mta3dzNXFlZFcifX0sNDUzNzgyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RpdmlkZXI6KCk9PnN9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksYT1uLm4obyksaT1uKDY4Nzk1MyksbD1uLm4oaSk7ZnVuY3Rpb24gcyhlKXtjb25zdHtjbGFzc05hbWU6dCx0eXBlOm49InNlY29uZGFyeSIsc2l6ZTpvPSJzbWFsbCIsb3JpZW50YXRpb246aT0iaG9yaXpvbnRhbCIsZml0Q29udGVudDpzPSExfT1lLGM9YSgpKHQsbCgpLmRpdmlkZXIsbCgpW2BzaXplLSR7b31gXSxsKClbYHR5cGUtJHtufWBdLGwoKVtgb3JpZW50YXRpb24tJHtpfWBdLHMmJmwoKVsiZml0LWNvbnRlbnQiXSk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiaHIiLHtjbGFzc05hbWU6YywiYXJpYS1vcmllbnRhdGlvbiI6aX0pfX0sMTQ1OTg0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUZvY3VzOigpPT5vfSk7dmFyIHI9big3Nzk0NzQpO2Z1bmN0aW9uIG8oZSx0KXtjb25zdFtuLG9dPSgwLHIudXNlU3RhdGUpKCExKTsoMCxyLnVzZUVmZmVjdCkoKCgpPT57dCYmbiYmbyghMSl9KSxbdCxuXSk7Y29uc3QgYT17b25Gb2N1czooMCxyLnVzZUNhbGxiYWNrKSgoZnVuY3Rpb24odCl7dm9pZCAwIT09ZSYmZS5jdXJyZW50IT09dC50YXJnZXR8fG8oITApfSksW2VdKSxvbkJsdXI6KDAsci51c2VDYWxsYmFjaykoKGZ1bmN0aW9uKHQpe3ZvaWQgMCE9PWUmJmUuY3VycmVudCE9PXQudGFyZ2V0fHxvKCExKX0pLFtlXSl9O3JldHVybltuLGFdfX0sMjkwMjQzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVNhZmVNb2JpbGVUb3VjaDooKT0+YX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oNzM4NDU4KTtmdW5jdGlvbiBhKCl7Y29uc3RbZSx0XT0oMCxyLnVzZVN0YXRlKSghMSk7cmV0dXJuKDAsci51c2VFZmZlY3QpKCgoKT0+e3Qoby5tb2JpbGV0b3VjaCl9KSxbXSksZX19LDExOTc1MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtJY29uUXVlc3Rpb25JbmZvcm1hdGlvbjooKT0+TCxJY29uUXVlc3Rpb25JbmZvcm1hdGlvbkJ1dHRvbjooKT0+U30pO3ZhciByLG89big3Nzk0NzQpLGE9big5MTQ0ODcpLGk9bi5uKGEpLGw9bigzNDUxMTYpLHM9bigyNzMzMTApLGM9big3ODU5OTUpLHU9bi5uKGMpLGY9big1MjcyMTkpLHA9bi5uKGYpLGQ9big2NzMwNjUpLG09bi5uKGQpLGg9big0MDAwNDYpLGc9bi5uKGgpLHY9big5OTQ1KSx5PW4ubih2KTshZnVuY3Rpb24oZSl7ZS5TbWFsbD0ic21hbGwiLGUuTWVkaXVtPSJtZWRpdW0iLGUuTGFyZ2U9ImxhcmdlIn0ocnx8KHI9e30pKTtjb25zdCBFPSJzbWFsbCI7dmFyIGIsQzshZnVuY3Rpb24oZSl7ZS5EZWZhdWx0PSJkZWZhdWx0IixlLkRhbmdlcj0iZGFuZ2VyIixlLldhcm5pbmc9Indhcm5pbmciLGUuU3VjY2Vzcz0ic3VjY2VzcyIsZS5OZXV0cmFsPSJuZXV0cmFsIixlLk5ldXRyYWxMaWdodD0ibmV1dHJhbC1saWdodCJ9KGJ8fChiPXt9KSksZnVuY3Rpb24oZSl7ZS5JbmZvPSJpbmZvIixlLlF1ZXN0aW9uPSJxdWVzdGlvbiIsZS5DaGVjaz0iY2hlY2siLGUuRXhjbGFtYXRpb249ImV4Y2xhbWF0aW9uIn0oQ3x8KEM9e30pKTtjb25zdCBUPXtpbmZvOnAoKSxxdWVzdGlvbjp1KCksY2hlY2s6bSgpLGV4Y2xhbWF0aW9uOmcoKX0sXz1vLmZvcndhcmRSZWYoKChlLHQpPT5vLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsuLi5lLHJlZjp0LGNsYXNzTmFtZTppKCkoZS5jbGFzc05hbWUseSgpWyJuby1hY3RpdmUtc3RhdGUiXSl9KSkpLEw9by5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e2ljb246bj0iZXhjbGFtYXRpb24iLGludGVudDpyPSJkZWZhdWx0IixhcmlhTGFiZWw6YSx0b29sdGlwOmMsY2xhc3NOYW1lOnUscmVuZGVyQ29tcG9uZW50OmY9Xyx0YWJJbmRleDpwPTAsc2l6ZTpkPUUsb25Gb2N1czptLG9uQmx1cjpoLG9uQ2xpY2s6ZywuLi52fT1lLGI9VFtuXT8/bjtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGYse2NsYXNzTmFtZTppKCkodSx5KCkuaWNvbldyYXBwZXIseSgpW3JdLHkoKVtkXSksdGl0bGU6YyxyZWY6dCx0YWJJbmRleDpwLG9uRm9jdXM6bSxvbkJsdXI6aCxvbkNsaWNrOmcsLi4uKDAsbC5maWx0ZXJEYXRhUHJvcHMpKHYpfSxvLmNyZWF0ZUVsZW1lbnQocy5JY29uLHsiYXJpYS1oaWRkZW4iOiFhLCJhcmlhLWxhYmVsIjphLGljb246YixjbGFzc05hbWU6eSgpLmljb259KSl9KSk7ZnVuY3Rpb24gUyhlKXtjb25zdHtpY29uOnQ9ImV4Y2xhbWF0aW9uIixpbnRlbnQ6bj0iZGVmYXVsdCIsc2l6ZTpyPUUsb25DbGljazphLG9uTW91c2VFbnRlcjpsLG9uTW91c2VMZWF2ZTpjLG9uRm9jdXM6dSxvbkJsdXI6ZixyZWZlcmVuY2U6cCxhcmlhTGFiZWw6ZH09ZSxtPVRbdF0/P3Q7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7CmNsYXNzTmFtZTppKCkoeSgpLmljb25XcmFwcGVyLHkoKVtuXSx5KClbcl0pLHJlZjpwLG9uQ2xpY2s6YSxvbk1vdXNlRW50ZXI6bCxvbk1vdXNlTGVhdmU6YyxvbkZvY3VzOnUsb25CbHVyOmYsImFyaWEtbGFiZWwiOmR9LG8uY3JlYXRlRWxlbWVudChzLkljb24se2ljb246bSxjbGFzc05hbWU6eSgpLmljb259KSl9fSw4NjUwOTIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlVG9vbHRpcDooKT0+aX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oMjkwMjQzKSxhPW4oNzg3ODk1KTtmdW5jdGlvbiBpKGUsdD1udWxsKXtjb25zdHtzaG93VG9vbHRpcDpuLGhpZGVUb29sdGlwOmksb25DbGljazpsLGRvTm90U2hvd1Rvb2x0aXBPblRvdWNoOnM9ITF9PWUsYz0oMCxhLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKHQpLHU9KDAsby51c2VTYWZlTW9iaWxlVG91Y2gpKCksZj11JiZzP3ZvaWQgMDplLnRvb2x0aXA7KDAsci51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9KCk9PmkmJmkoKTtyZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixlLCEwKSwoKT0+ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixlLCEwKX0pLFtjLGldKTtyZXR1cm57b25CbHVyOigwLHIudXNlQ2FsbGJhY2spKChlPT57aSYmaSgpfSksW2ldKSxvbkZvY3VzOigwLHIudXNlQ2FsbGJhY2spKChlPT57IWUudGFyZ2V0Lm1hdGNoZXMoIjpob3ZlciIpJiZuJiZlLnRhcmdldC5tYXRjaGVzKCI6Zm9jdXMtdmlzaWJsZSIpJiZuKGUuY3VycmVudFRhcmdldCx7dG9vbHRpcERlbGF5OjIwMH0pfSksW25dKSxvbkNsaWNrOigwLHIudXNlQ2FsbGJhY2spKChlPT57dSYmYz8uY3VycmVudD8uZm9jdXMoKSxsJiZsKGUpfSksW2wsYyx1XSksdG9vbHRpcDpmLGNsYXNzTmFtZTp2b2lkIDAhPT1mPyJhcHBseS1jb21tb24tdG9vbHRpcCI6dm9pZCAwLHJlZjpjfX19LDQ2NzY1MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQaWxsQWN0aXZlQXJlYTooKT0+Z30pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxhPW4ubihvKSxpPW4oNjM3NTY0KSxsPW4oMTUzMTU0KSxzPW4oNzg3ODk1KSxjPW4oMTUzNzI4KSx1PW4oMjMyNjc2KSxmPW4oMzQ1MTE2KSxwPW4oMTQ3OTAxKSxkPW4oNjk2NzczKSxtPW4ubihkKTtjb25zdCBoPSJwaWxsLWFjdGl2ZS1hcmVhLSI7ZnVuY3Rpb24gZyhlKXtjb25zdCB0PSgwLHIudXNlUmVmKShudWxsKSx7dG9vbHRpcDpuLGFyaWFMYWJlbDpvLGNoaWxkcmVuOmQsaXNTZWxlY3RlZDpnLG9uQ2xpY2s6dixvbktleURvd246eSxhcmlhQ29udHJvbHM6RSxhcmlhSGFzcG9wdXA6YixhcmlhRXhwYW5kZWQ6QyxkYXRhUWFJZDpULHRvb2x0aXBQbGFjZW1lbnQ6Xz1baS5Ub29sdGlwUGxhY2VtZW50cy5Ub3AsaS5Ub29sdGlwUGxhY2VtZW50cy5Cb3R0b21dLHJlZmVyZW5jZTpMPXQsc3RyZXRjaDpTPSExLC4uLkF9PWUsUD0oMCxmLmZpbHRlckRhdGFQcm9wcykoQSksdz0oMCxzLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKEwpLHtkaXNhYmxlZDprfT0oMCxyLnVzZUNvbnRleHQpKHUuUGlsbEludGVybmFsQ29udGV4dCkseD0oMCxyLnVzZUlkKSgpLHtvcGVuOk8sY2xvc2U6Tix2aXNpYmxlOlJ9PSgwLGMudXNlVG9vbHRpcFN0YXRlKSh7b3BlbkRlbGF5OjUwMCxjbG9zZURlbGF5OjB9KSxJPSgwLHIudXNlUmVmKSghMSksRD0oMCxyLnVzZVJlZikoITEpLEc9KDAsci51c2VSZWYpKCExKSxIPSgwLHIudXNlQ2FsbGJhY2spKCgoKT0+e2NvbnN0IGU9SS5jdXJyZW50LHQ9RC5jdXJyZW50O2V8fHQ/TygpOk4oKX0pLFtPLE5dKSxGPSgwLHIudXNlQ2FsbGJhY2spKCgoKT0+e0kuY3VycmVudD0hMCxIKCl9KSxbSF0pLEI9KDAsci51c2VDYWxsYmFjaykoKCgpPT57SS5jdXJyZW50PSExLEgoKX0pLFtIXSksTT0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9PntJLmN1cnJlbnQ9ITEsRC5jdXJyZW50PSExLEgoKX0pLFtIXSksej12b2lkIDAhPT12JiYhazsoMCxyLnVzZUVmZmVjdCkoKCgpPT57IXomJkcuY3VycmVudCYmKEcuY3VycmVudD0hMSxELmN1cnJlbnQ9ITEpfSksW3pdKTtjb25zdCBqPSgwLHIudXNlQ2FsbGJhY2spKCgoKT0+e2NvbnN0IGU9dy5jdXJyZW50O2UmJmUubWF0Y2hlcygiOmZvY3VzLXZpc2libGUiKSYmKEQuY3VycmVudD0hMCxHLmN1cnJlbnQ9ITAsSCgpKX0pLFt3LEhdKSxXPSgwLHIudXNlQ2FsbGJhY2spKCgoKT0+e0cuY3VycmVudD0hMSxELmN1cnJlbnQ9ITEsSCgpfSksW0hdKSwkPXY/ImJ1dHRvbiI6ImRpdiI7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChyLkZyYWdtZW50LG51bGwsbiYmci5jcmVhdGVFbGVtZW50KGwuVG9vbHRpcFN0YXRlbGVzcyx7aWQ6eCxvcGVuOlIsb25DbG9zZTpOLGFuY2hvcjp3LGNvbnRlbnQ6bixpc1J0bDohMSxwbGFjZW1lbnQ6XyxoYXNBcnJvdzohMCxkYXRhUWFJZDooMCxwLmRhdGFRYUlkcykoYCR7cC5VSV9MSUJfREFUQV9RQV9JRF9QUkVGSVh9JHtofXRvb2x0aXBgLFQpfSksci5jcmVhdGVFbGVtZW50KCQse2lkOmUuaWQsImFyaWEtZGVzY3JpYmVkYnkiOm4/eDp2b2lkIDAsImFyaWEtbGFiZWwiOm8sImFyaWEtY29udHJvbHMiOkUsImFyaWEtaGFzcG9wdXAiOmIsImFyaWEtZXhwYW5kZWQiOkMsImFyaWEtZGlzYWJsZWQiOno/azp2b2lkIDAscmVmOncsY2xhc3NOYW1lOmEoKShrJiZtKCkuZGlzYWJsZWQsbSgpLmFjdGl2ZUFyZWEsZyYmbSgpLnNlbGVjdGVkLFM/bSgpLnN0cmV0Y2g6bSgpLm5vU3RyZXRjaCx2JiZtKCkuaGFzQ2xpY2tMaXN0ZW5lciksb25DbGljazp6P3Y6dm9pZCAwLG9uS2V5RG93bjp6P3k6dm9pZCAwLG9uTW91c2VFbnRlcjpGLG9uTW91c2VEb3duOk0sb25Nb3VzZUxlYXZlOkIsb25Gb2N1czpqLG9uQmx1cjpXLHRhYkluZGV4Ono/MDotMSwiZGF0YS1xYS1pZCI6KDAscC5kYXRhUWFJZHMpKGAke3AuVUlfTElCX0RBVEFfUUFfSURfUFJFRklYfSR7aH1idXR0b25gLFQpLC4uLlB9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOm0oKS5hY3RpdmVBcmVhQ29udGVudH0sci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bSgpLmNoaWxkcmVufSxkKSkpKX19LDg5NjgzMShlLHQsbil7CiJ1c2Ugc3RyaWN0IjtuLmQodCx7UGlsbExheW91dEVxdWlsYXRlcmFsOigpPT5pfSk7dmFyIHI9big3Nzk0NzQpLG89big3NTU4NTUpLGE9bi5uKG8pO2NvbnN0IGk9ZnVuY3Rpb24oZSl7Y29uc3R7Y2hpbGRyZW46dH09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpLmxheW91dEVxdWlsYXRlcmFsfSx0KX19LDIzMjY3NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQaWxsOigpPT5wLFBpbGxJbnRlcm5hbENvbnRleHQ6KCk9PmZ9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4NyksYT1uLm4obyksaT1uKDE1MDI2MyksbD1uKDg2NTk3Mikscz1uKDc4Nzg5NSksYz1uKDEzMjUwMyksdT1uLm4oYyk7Y29uc3QgZj0oMCxyLmNyZWF0ZUNvbnRleHQpKHtkaXNhYmxlZDohMX0pO2Z1bmN0aW9uIHAoZSl7Y29uc3R7c2l6ZTp0PWkuREVGQVVMVF9QSUxMX1NJWkUsdHlwZTpuPWkuREVGQVVMVF9QSUxMX1RZUEUsc2hhcGU6bz1pLkRFRkFVTFRfUElMTF9TSEFQRX09KDAsci51c2VDb250ZXh0KShsLlBpbGxDb250ZXh0KSxjPWUudHlwZT8/bix7b25Gb2N1czpwfT0oMCxyLnVzZUNvbnRleHQpKGwuUGlsbHNTY3JvbGxDb250ZXh0KSxkPSgwLHIudXNlUmVmKShudWxsKSx7YmxpbmtpbmdTdGF0ZTptPWkuREVGQVVMVF9QSUxMX0JMSU5LSU5HX1NUQVRFLGNoaWxkcmVuOmgscmVmZXJlbmNlOmc9ZCxkaXNhYmxlZDp2LGlkOnksc3RyZXRjaDpFLGRhdGFRYUlkOmJ9PWUsQz0oMCxzLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKGcpLFQ9KDAsci51c2VNZW1vKSgoKCk9Pih7ZGlzYWJsZWQ6dj8/ITF9KSksW3ZdKTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KGYuUHJvdmlkZXIse3ZhbHVlOlR9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOkMsaWQ6eSxjbGFzc05hbWU6YSgpKHUoKS53cmFwcGVyLHUoKVt0XSx1KClbb10sRSYmdSgpLnN0cmV0Y2gpLG9uRm9jdXM6cCwiZGF0YS1xYS1pZCI6Yn0sci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKHUoKS5waWxsLHUoKVtjXSx1KCkuYmxpbmtBbmltYXRpb24sdSgpW21dLHYmJnUoKS5kaXNhYmxlZCl9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnUoKS5ibGlua0ZvcmVncm91bmR9KSxoKSkpfX0sMjEwOTgwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BpbGxBY3RpdmVUZXh0OigpPT5zfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGE9bi5uKG8pLGk9big4MzExODEpLGw9bi5uKGkpO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEoKShsKCkuYWN0aXZlVGV4dCxlLmNsYXNzTmFtZSl9LGUuY2hpbGRyZW4pfX0sMjQ2MzUwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BpbGxQcmltYXJ5VGV4dDooKT0+c30pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxhPW4ubihvKSxpPW4oNTQwMTA3KSxsPW4ubihpKTtmdW5jdGlvbiBzKGUpe3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkobCgpLnByaW1hcnlUZXh0LGUuY2xhc3NOYW1lKX0sZS5jaGlsZHJlbil9fSw4NjU5NzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UGlsbENvbnRleHQ6KCk9PmEsUGlsbHNTY3JvbGxDb250ZXh0OigpPT5pfSk7dmFyIHI9big3Nzk0NzQpLG89bigxNTAyNjMpO2NvbnN0IGE9KDAsci5jcmVhdGVDb250ZXh0KSh7c2l6ZTpvLkRFRkFVTFRfUElMTF9TSVpFLHR5cGU6by5ERUZBVUxUX1BJTExfVFlQRSxzaGFwZTpvLkRFRkFVTFRfUElMTF9TSEFQRX0pLGk9KDAsci5jcmVhdGVDb250ZXh0KSh7fSl9LDE1MDI2MyhlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByLG8sYSxpO24uZCh0LHtERUZBVUxUX1BJTExfQkxJTktJTkdfU1RBVEU6KCk9PnUsREVGQVVMVF9QSUxMX1NIQVBFOigpPT5sLERFRkFVTFRfUElMTF9TSVpFOigpPT5jLERFRkFVTFRfUElMTF9UWVBFOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5QcmltYXJ5PSJwcmltYXJ5IixlLlNlY29uZGFyeT0ic2Vjb25kYXJ5IixlLlRlcnRpYXJ5PSJ0ZXJ0aWFyeSIsZS5RdWFydGVybHk9InF1YXJ0ZXJseSIsZS5HaG9zdD0iZ2hvc3QifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuTWVkaXVtPSJtZWRpdW0iLGUuU21hbGw9InNtYWxsIixlLlhTbWFsbD0ieHNtYWxsIn0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtlLkJsaW5raW5nPSJibGlua2luZyIsZS5IaWdobGlnaHRpbmc9ImhpZ2hsaWdodGluZyIsZS5Ob3RCbGlua2luZz0ibm90QmxpbmtpbmcifShhfHwoYT17fSkpLGZ1bmN0aW9uKGUpe2UuU3F1YXJlPSJzcXVhcmUiLGUuUm91bmQ9InJvdW5kIn0oaXx8KGk9e30pKTtjb25zdCBsPSJzcXVhcmUiLHM9InNlY29uZGFyeSIsYz0ic21hbGwiLHU9Im5vdEJsaW5raW5nIn0sOTM4MjQyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU5lc3RlZFBvcG92ZXJPcGVuU3RhdGU6KCk9PmwsdXNlT25DbG9zZVBvcG92ZXI6KCk9Pm8sdXNlUm9vdFBvcG92ZXJPcGVuU3RhdGU6KCk9PmF9KTt2YXIgcj1uKDc3OTQ3NCk7ZnVuY3Rpb24gbyhlLHQpe3JldHVybigwLHIudXNlQ2FsbGJhY2spKChuPT57dCgpLG4mJmUuY3VycmVudD8uZm9jdXMoKX0pLFtlLHRdKX1mdW5jdGlvbiBhKGUpe2NvbnN0W3Qsbl09KDAsci51c2VTdGF0ZSkoITEpLGE9KDAsci51c2VDYWxsYmFjaykoKCgpPT57bighMSl9KSxbXSk7cmV0dXJue2lzT3Blbjp0LG9uT3BlbjooMCxyLnVzZUNhbGxiYWNrKSgoKCk9PntuKCEwKX0pLFtdKSxvbkNsb3NlOm8oZSxhKX19Y29uc3QgaT1uZXcgV2Vha01hcDtmdW5jdGlvbiBsKGUsdCl7Y29uc3RbbixvXT0oMCxyLnVzZVN0YXRlKSghMSksYT0oMCxyLnVzZUNhbGxiYWNrKSgoKG4scj0iY3VycmVudExldmVsIik9PntvKCExKSwiYWxsTGV2ZWxzIj09PXI/dChuLHIpOm4mJmUuY3VycmVudD8uZm9jdXMoKX0pLFtlLHRdKTsoMCxyLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT1pLmdldCh0KT8/bmV3IFNldDtyZXR1cm4gZS5hZGQoYSksaS5zZXQodCxlKSwoKT0+e2NvbnN0IGU9aS5nZXQodCk7ZSYmKGUuZGVsZXRlKGEpLAowPT09ZS5zaXplJiZpLmRlbGV0ZSh0KSl9fSksW2EsdF0pO3JldHVybntpc09wZW46bixvbk9wZW46KDAsci51c2VDYWxsYmFjaykoKCgpPT57Y29uc3QgZT1pLmdldCh0KTtpZihlKWZvcihjb25zdCB0IG9mIGUpdCE9PWEmJnQoITEsImN1cnJlbnRMZXZlbCIpO28oITApfSksW3QsYV0pLG9uQ2xvc2U6YX19fSw3MzM2MTcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlRGVmYXVsdEJ1dHRvbkFuY2hvclByb3BzOigpPT5sfSk7dmFyIHI9big3Nzk0NzQpLG89big3ODc4OTUpLGE9big5MzgyNDIpLGk9big2Mzg1ODUpO2Z1bmN0aW9uIGwoZSl7Y29uc3QgdD0oMCxyLnVzZVJlZikoKSxuPSgwLG8udXNlRnVuY3Rpb25hbFJlZk9iamVjdCkodCkse2lzT3BlbjpsLG9uT3BlbjpzLG9uQ2xvc2U6Y309KDAsYS51c2VSb290UG9wb3Zlck9wZW5TdGF0ZSkobiksdT0oMCxyLnVzZUlkKSgpLGY9ZT8uYW5jaG9ySWQ/P3UscD0oMCxyLnVzZUlkKSgpLGQ9KDAsaS51c2VPcGVuUG9wb3Zlck9uQW5jaG9yS2V5RG93bikoe2lzT3BlbjpsLG9uT3BlbjpzLG9wZW5PbkVudGVyOmU/Lm9wZW5PbkVudGVyLG9wZW5PbkFycm93OmU/Lm9wZW5PbkFycm93fSksbT0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9PmMoITAsImFsbExldmVscyIpKSxbY10pO3JldHVybnthbmNob3JCdXR0b25SZWY6bixpc09wZW46bCxvbk9wZW46cyxvbkNsb3NlOmMsYW5jaG9ySWQ6Zixjb250ZW50SWQ6cCxoYW5kbGVBbmNob3JDbGljazpsP206cyxoYW5kbGVBbmNob3JLZXlEb3duOmR9fX0sNjM4NTg1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU9wZW5Qb3BvdmVyT25BbmNob3JLZXlEb3duOigpPT5zfSk7dmFyIHI9big3Nzk0NzQpLG89bigyMzU3MjQpO2NvbnN0IGE9bmV3IFNldChbMzJdKSxpPW5ldyBTZXQoWzQwLDM4XSksbD1uZXcgU2V0KFsxM10pO2Z1bmN0aW9uIHMoZSl7Y29uc3R7aXNPcGVuOnQsb25PcGVuOm4sb3Blbk9uRW50ZXI6cz0hMCxvcGVuT25BcnJvdzpjPSEwLG9wZW5PblNwYWNlOnU9ITB9PWU7cmV0dXJuKDAsci51c2VDYWxsYmFjaykoKGU9Pntjb25zdCByPSgwLG8uaGFzaEZyb21FdmVudCkoZSk7IXQmJihzJiZsLmhhcyhyKXx8YyYmaS5oYXMocil8fHUmJmEuaGFzKHIpKSYmKG4oKSxlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSl9KSxbdCxuLHNdKX19LDg1NzAzOChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sdGlwQmFzZTooKT0+bX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxhPW4ubihvKSxpPW4oNDUzNzgyKSxsPW4oODY4MzkxKSxzPW4ubihsKTtjb25zdCBjPSh7cGxhY2VtZW50OmUsLi4udH0pPT5yLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkocygpLmZsb2F0aW5nQXJyb3csZSYmcygpW2VdKSwuLi50fSk7dmFyIHU9big2Mzc1NjQpLGY9bigyMzI2NSkscD1uLm4oZik7ZnVuY3Rpb24gZCh7Y29udGVudDplLGlzUnRsOnR9KXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEoKShwKCkuZW5kU2xvdFdyYXBwZXIsdCYmcCgpLmVuZFNsb3RSdGwpfSxyLmNyZWF0ZUVsZW1lbnQoaS5EaXZpZGVyLHtjbGFzc05hbWU6cCgpLmRpdmlkZXIsb3JpZW50YXRpb246InZlcnRpY2FsIix0eXBlOiJzZWNvbmRhcnkiLHNpemU6InhzbWFsbCJ9KSxyLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YSgpKHAoKS5lbmRTbG90Q29udGVudCx0JiZwKCkuZW5kU2xvdENvbnRlbnRSdGwpfSxlKSl9ZnVuY3Rpb24gbSh7aWQ6ZSxjb250ZW50OnQsZW5kU2xvdDpuLGhhc0Fycm93Om89ITAsaXNSdGw6aT0hMSxwbGFjZW1lbnQ6bD11LlRvb2x0aXBQbGFjZW1lbnRzLlRvcCxkaXNhYmxlSW50ZXJhY3RpdmU6cz0hMSx0cmFuc3BhcmVudDpmLC4uLm19KXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtpZDplLHJvbGU6InRvb2x0aXAiLGNsYXNzTmFtZTphKCkocCgpLnRvb2x0aXBCYXNlV3JhcHBlcixzJiZwKCkuZGlzYWJsZUludGVyYWN0aXZlLGY/cCgpLnRyYW5zcGFyZW50OnAoKS5vcGFxdWUpfSxvJiZyLmNyZWF0ZUVsZW1lbnQoYyx7Li4ubSxwbGFjZW1lbnQ6bH0pLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnAoKS50b29sdGlwQmFzZX0sci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKHAoKS5jb250ZW50V3JhcHBlcixpJiZwKCkuY29udGVudFJ0bCl9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnAoKS5jb250ZW50fSx0KSxuJiZyLmNyZWF0ZUVsZW1lbnQoZCx7Y29udGVudDpuLGlzUnRsOml9KSkpKX19LDE1MzE1NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sdGlwU3RhdGVsZXNzOigpPT55fSk7dmFyIHI9big3Nzk0NzQpLG89big2NDA1MTMpLGE9big1NjI5OCksaT1uKDQ0MDQ0NiksbD1uKDMwNjI4Nykscz1uKDI4NjMxMCksYz1uKDg5NTkyMSksdT1uKDc4Nzg5NSksZj1uKDg1NzAzOCkscD1uKDYzNzU2NCksZD1uKDk2NjQ2NSksbT1uLm4oZCk7ZnVuY3Rpb24gaChlKXtyZXR1cm5bey4uLmUsb3ZlcmZsb3dIb3Jpem9udGFsOntraW5kOiJzbGlkZU92ZXJmbG93IixhbmNob3JTYWZlU3BhY2U6OCxwb3NpdGlvbmVyU2FmZVNwYWNlOjE0fSxvdmVyZmxvd1ZlcnRpY2FsOiJrZWVwTm9uRml0dGluZyJ9XX1mdW5jdGlvbiBnKGUpe3JldHVyblt7Li4uZSxvdmVyZmxvd0hvcml6b250YWw6ImtlZXBOb25GaXR0aW5nIixvdmVyZmxvd1ZlcnRpY2FsOntraW5kOiJzbGlkZU92ZXJmbG93IixhbmNob3JTYWZlU3BhY2U6OCxwb3NpdGlvbmVyU2FmZVNwYWNlOjEyfX1dfWNvbnN0IHY9eyJib3R0b20tbGVmdCI6aChvLlBMQUNFTUVOVF9CT1RUT01fQUxJR05fTEVGVCksYm90dG9tOmgoby5QTEFDRU1FTlRfQk9UVE9NX0FMSUdOX0NFTlRFUiksImJvdHRvbS1yaWdodCI6aChvLlBMQUNFTUVOVF9CT1RUT01fQUxJR05fUklHSFQpLCJ0b3AtbGVmdCI6aChvLlBMQUNFTUVOVF9UT1BfQUxJR05fTEVGVCksdG9wOmgoby5QTEFDRU1FTlRfVE9QX0FMSUdOX0NFTlRFUiksInRvcC1yaWdodCI6aChvLlBMQUNFTUVOVF9UT1BfQUxJR05fUklHSFQpLAoicmlnaHQtdG9wIjpnKG8uUExBQ0VNRU5UX1JJR0hUX0FMSUdOX1RPUCkscmlnaHQ6ZyhvLlBMQUNFTUVOVF9SSUdIVF9BTElHTl9DRU5URVIpLCJyaWdodC1ib3R0b20iOmcoby5QTEFDRU1FTlRfUklHSFRfQUxJR05fQk9UVE9NKSwibGVmdC10b3AiOmcoby5QTEFDRU1FTlRfTEVGVF9BTElHTl9UT1ApLGxlZnQ6ZyhvLlBMQUNFTUVOVF9MRUZUX0FMSUdOX0NFTlRFUiksImxlZnQtYm90dG9tIjpnKG8uUExBQ0VNRU5UX0xFRlRfQUxJR05fQk9UVE9NKX0seT0oMCxhLmlnbm9yZU9uU1NSKSgoZnVuY3Rpb24oZSl7Y29uc3R7YW5jaG9yOnQsb3BlbjpuLGlkOm8sY29udGVudDphLGVuZFNsb3Q6cCxoYXNBcnJvdzpkPSEwLGlzUnRsOmg9ITEsb25DbG9zZTpnLHBsYWNlbWVudDp5PUUsb2Zmc2V0OmI9MCxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpDPSExLGRpc2FibGVJbnRlcmFjdGl2ZTpULGRhdGFRYUlkOl8sZ2V0Um9vdFJlY3Q6TCxmb3JjZURpc2FibGVUcmFuc3BhcmVuY3k6U309ZSxbQSxQXT0oMCxyLnVzZVN0YXRlKSghUyksdz1kPzQ6YixrPSgwLHUudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoKDAsci51c2VSZWYpKG51bGwpKSx4PSgwLHIudXNlTWVtbykoKCgpPT4oKGUsdCk9PihBcnJheS5pc0FycmF5KGUpP2U6W2VdKS5mbGF0TWFwKChlPT4oKGUsdCk9PmUubWFwKChlPT57Y29uc3Qgbj17dG9wOnt4OjAseTotdH0scmlnaHQ6e3g6dCx5OjB9LGJvdHRvbTp7eDowLHk6dH0sbGVmdDp7eDotdCx5OjB9fTtyZXR1cm4gZS5uYW1lPy5zcGxpdCgiLSIpWzBdP3suLi5lLG9mZnNldDpuW2UubmFtZS5zcGxpdCgiLSIpWzBdXX06ZX0pKSkodltlXSx0KSkpKSh5LHcpKSxbdyx5XSksW08sTl09ci51c2VTdGF0ZSh2b2lkIDApLFI9KDAsci51c2VDYWxsYmFjaykoKGU9PntPPy5uYW1lIT09ZT8ubmFtZSYmbiYmKE4oZSksUCghMSkpfSksW24sTz8ubmFtZV0pOygwLHIudXNlRWZmZWN0KSgoKCk9PntufHwoTih2b2lkIDApLFAoITApKX0pLFtuXSk7Y29uc3QgST0oMCxsLnVzZVdpbmRvd1Jlc2l6ZVRyaWdnZXIpKG4pLEQ9KDAsaS51c2VDbG9zZVJlcG9zaXRpb25PblNjcm9sbE91dHNpZGUpKG4sQyxnLHQpLEc9KDAsci51c2VNZW1vKSgoKCk9PltJLERdKSxbRCxJXSksSD0oMCxjLnVzZVJlZlJlY3QpKHQsbixHKTtpZighSClyZXR1cm4gbnVsbDtyZXR1cm4gci5jcmVhdGVFbGVtZW50KHMuUmVjdGFuZ2xlUG9zaXRpb25lcix7cGxhY2VtZW50UnVsZXM6eCxpc09wZW46bix3aWR0aDpbXSxoZWlnaHQ6W10sYW5jaG9yZWRBdDpILGlzUnRsOmgscmVmT2JqZWN0VG9Db250ZW50V3JhcHBlckVsZW1lbnQ6ayxvblBsYWNlbWVudFJ1bGVTZWxlY3RlZDpSLGRhdGFRYUlkOl8sZ2V0Um9vdFJlY3Q6TCxhbmNob3JQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6bSgpLnRvb2x0aXBTdGF0ZWxlc3N9LHIuY3JlYXRlRWxlbWVudChmLlRvb2x0aXBCYXNlLHtpZDpvLGNvbnRlbnQ6YSxlbmRTbG90OnAsaGFzQXJyb3c6ZCxpc1J0bDpoLHBsYWNlbWVudDpPPy5uYW1lLGRpc2FibGVJbnRlcmFjdGl2ZTpULHRyYW5zcGFyZW50OkF9KSl9KSksRT1bcC5Ub29sdGlwUGxhY2VtZW50cy5Ub3AscC5Ub29sdGlwUGxhY2VtZW50cy5Cb3R0b20scC5Ub29sdGlwUGxhY2VtZW50cy5MZWZ0LHAuVG9vbHRpcFBsYWNlbWVudHMuUmlnaHRdfSw2Mzc1NjQoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjtuLmQodCx7VG9vbHRpcFBsYWNlbWVudHM6KCk9PnJ9KSxmdW5jdGlvbihlKXtlLlRvcExlZnQ9InRvcC1sZWZ0IixlLlRvcD0idG9wIixlLlRvcFJpZ2h0PSJ0b3AtcmlnaHQiLGUuQm90dG9tTGVmdD0iYm90dG9tLWxlZnQiLGUuQm90dG9tPSJib3R0b20iLGUuQm90dG9tUmlnaHQ9ImJvdHRvbS1yaWdodCIsZS5SaWdodFRvcD0icmlnaHQtdG9wIixlLlJpZ2h0PSJyaWdodCIsZS5SaWdodEJvdHRvbT0icmlnaHQtYm90dG9tIixlLkxlZnRUb3A9ImxlZnQtdG9wIixlLkxlZnQ9ImxlZnQiLGUuTGVmdEJvdHRvbT0ibGVmdC1ib3R0b20ifShyfHwocj17fSkpfSwxNTM3MjgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlVG9vbHRpcFN0YXRlOigpPT5hfSk7dmFyIHI9big3Nzk0NzQpO2Z1bmN0aW9uIG8oZSl7dm9pZCAwIT09ZS5jdXJyZW50JiYoY2xlYXJUaW1lb3V0KGUuY3VycmVudCksZS5jdXJyZW50PXZvaWQgMCl9ZnVuY3Rpb24gYShlKXtjb25zdHtvcGVuRGVsYXk6dD0wLGNsb3NlRGVsYXk6bj0wfT1lLFthLGldPSgwLHIudXNlU3RhdGUpKCExKSxsPSgwLHIudXNlUmVmKSgpLHM9KDAsci51c2VDYWxsYmFjaykoKGU9PntvKGwpO2NvbnN0IHI9ZT90Om47cj4wP2wuY3VycmVudD13aW5kb3cuc2V0VGltZW91dCgoKCk9PntpKGUpLGwuY3VycmVudD12b2lkIDB9KSxyKTppKGUpfSksW3Qsbl0pLGM9KDAsci51c2VDYWxsYmFjaykoKCgpPT5zKCEwKSksW3NdKSx1PSgwLHIudXNlQ2FsbGJhY2spKCgoKT0+cyghMSkpLFtzXSksZj0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9PnMoIWEpKSxbYSxzXSkscD0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9PntvKGwpLGkoITEpfSksW10pO3JldHVybigwLHIudXNlRWZmZWN0KSgoKCk9PigpPT57byhsKX0pLFtdKSx7dmlzaWJsZTphLG9wZW46YyxjbG9zZTp1LHRvZ2dsZTpmLGNsb3NlSW5zdGFudGx5OnB9fX0sMTQxNzA1KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4iIj09PWU/IiI6ZVswXS50b1VwcGVyQ2FzZSgpK2Uuc3Vic3RyaW5nKDEpfW4uZCh0LHtjYXBpdGFsaXplOigpPT5yfSl9LDMxNDcyMChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7Y29uc3R7cGFkZGluZ1RvcDp0LHBhZGRpbmdCb3R0b206bn09d2luZG93LmdldENvbXB1dGVkU3R5bGUoZSk7cmV0dXJuW3Qsbl0ucmVkdWNlKCgoZSx0KT0+ZS1OdW1iZXIoKHR8fCIiKS5yZXBsYWNlKCJweCIsIiIpKSksZS5jbGllbnRIZWlnaHQpfWZ1bmN0aW9uIG8oZSx0PSExKXtjb25zdCBuPWdldENvbXB1dGVkU3R5bGUoZSkscj1bbi5oZWlnaHRdCjtyZXR1cm4iYm9yZGVyLWJveCIhPT1uLmJveFNpemluZyYmci5wdXNoKG4ucGFkZGluZ1RvcCxuLnBhZGRpbmdCb3R0b20sbi5ib3JkZXJUb3BXaWR0aCxuLmJvcmRlckJvdHRvbVdpZHRoKSx0JiZyLnB1c2gobi5tYXJnaW5Ub3Asbi5tYXJnaW5Cb3R0b20pLHIucmVkdWNlKCgoZSx0KT0+ZSsocGFyc2VGbG9hdCh0KXx8MCkpLDApfWZ1bmN0aW9uIGEoZSx0PSExKXtjb25zdCBuPWdldENvbXB1dGVkU3R5bGUoZSkscj1bbi53aWR0aF07cmV0dXJuImJvcmRlci1ib3giIT09bi5ib3hTaXppbmcmJnIucHVzaChuLnBhZGRpbmdMZWZ0LG4ucGFkZGluZ1JpZ2h0LG4uYm9yZGVyTGVmdFdpZHRoLG4uYm9yZGVyUmlnaHRXaWR0aCksdCYmci5wdXNoKG4ubWFyZ2luTGVmdCxuLm1hcmdpblJpZ2h0KSxyLnJlZHVjZSgoKGUsdCk9PmUrKHBhcnNlRmxvYXQodCl8fDApKSwwKX1uLmQodCx7Y29udGVudEhlaWdodDooKT0+cixvdXRlckhlaWdodDooKT0+byxvdXRlcldpZHRoOigpPT5hfSl9LDc4Mjk1NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjcmVhdGVBcmlhQXR0cmlidXRlc1Byb3BzOigpPT5vfSk7dmFyIHI9bigxNDE3MDUpO2Z1bmN0aW9uIG8oZSx0KXtjb25zdCBuPXt9O2Zvcihjb25zdCBvIG9mIE9iamVjdC5lbnRyaWVzKHQpKW5bImNhbWVsQ2FzZSI9PT1lPyJhcmlhIisoMCxyLmNhcGl0YWxpemUpKG9bMF0pOiJhcmlhLSIrb1swXV09b1sxXTtyZXR1cm4gbn19LDM5MTE1MihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm57W2VdOnR9fW4uZCh0LHtjcmVhdGVSZWZQcm9wOigpPT5yfSl9LDMzNjMzNChlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oMTI5MzY1KTt0LmNyZWF0ZVJvb3Q9ci5jcmVhdGVSb290LHIuaHlkcmF0ZVJvb3R9LDEyOTM2NShlLHQsbil7InVzZSBzdHJpY3QiOyFmdW5jdGlvbiBlKCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0oKSxlLmV4cG9ydHM9big1MzIzODcpfSwxMjI3NDkoZSx0KXsidXNlIHN0cmljdCI7dmFyIG49U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLHI9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksbz1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLGE9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxpPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksbD1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLHM9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGM9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSx1PVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksZj1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIikscD1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IiksZD1TeW1ib2wuaXRlcmF0b3I7dmFyIG09e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LGg9T2JqZWN0LmFzc2lnbixnPXt9O2Z1bmN0aW9uIHYoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zyx0aGlzLnVwZGF0ZXI9bnx8bX1mdW5jdGlvbiB5KCl7fWZ1bmN0aW9uIEUoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zyx0aGlzLnVwZGF0ZXI9bnx8bX12LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LHYucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0sdi5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LHkucHJvdG90eXBlPXYucHJvdG90eXBlO3ZhciBiPUUucHJvdG90eXBlPW5ldyB5O2IuY29uc3RydWN0b3I9RSxoKGIsdi5wcm90b3R5cGUpLGIuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIEM9QXJyYXkuaXNBcnJheSxUPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksXz17Y3VycmVudDpudWxsfSxMPXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24gUyhlLHQscil7dmFyIG8sYT17fSxpPW51bGwsbD1udWxsO2lmKG51bGwhPXQpZm9yKG8gaW4gdm9pZCAwIT09dC5yZWYmJihsPXQucmVmKSx2b2lkIDAhPT10LmtleSYmKGk9IiIrdC5rZXkpLHQpVC5jYWxsKHQsbykmJiFMLmhhc093blByb3BlcnR5KG8pJiYoYVtvXT10W29dKTt2YXIgcz1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PXMpYS5jaGlsZHJlbj1yO2Vsc2UgaWYoMTxzKXtmb3IodmFyIGM9QXJyYXkocyksdT0wO3U8czt1KyspY1t1XT1hcmd1bWVudHNbdSsyXTthLmNoaWxkcmVuPWN9aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKG8gaW4gcz1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1hW29dJiYoYVtvXT1zW29dKTtyZXR1cm57JCR0eXBlb2Y6bix0eXBlOmUsa2V5OmkscmVmOmwscHJvcHM6YSxfb3duZXI6Xy5jdXJyZW50fX1mdW5jdGlvbiBBKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1ufXZhciBQPS9cLysvZztmdW5jdGlvbiB3KGUsdCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/ZnVuY3Rpb24oZSl7dmFyIHQ9eyI9IjoiPTAiLCI6IjoiPTIifQo7cmV0dXJuIiQiK2UucmVwbGFjZSgvWz06XS9nLChmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0pKX0oIiIrZS5rZXkpOnQudG9TdHJpbmcoMzYpfWZ1bmN0aW9uIGsoZSx0LG8sYSxpKXt2YXIgbD10eXBlb2YgZTsidW5kZWZpbmVkIiE9PWwmJiJib29sZWFuIiE9PWx8fChlPW51bGwpO3ZhciBzPSExO2lmKG51bGw9PT1lKXM9ITA7ZWxzZSBzd2l0Y2gobCl7Y2FzZSJzdHJpbmciOmNhc2UibnVtYmVyIjpzPSEwO2JyZWFrO2Nhc2Uib2JqZWN0Ijpzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBuOmNhc2UgcjpzPSEwfX1pZihzKXJldHVybiBpPWkocz1lKSxlPSIiPT09YT8iLiIrdyhzLDApOmEsQyhpKT8obz0iIixudWxsIT1lJiYobz1lLnJlcGxhY2UoUCwiJCYvIikrIi8iKSxrKGksdCxvLCIiLChmdW5jdGlvbihlKXtyZXR1cm4gZX0pKSk6bnVsbCE9aSYmKEEoaSkmJihpPWZ1bmN0aW9uKGUsdCl7cmV0dXJueyQkdHlwZW9mOm4sdHlwZTplLnR5cGUsa2V5OnQscmVmOmUucmVmLHByb3BzOmUucHJvcHMsX293bmVyOmUuX293bmVyfX0oaSxvKyghaS5rZXl8fHMmJnMua2V5PT09aS5rZXk/IiI6KCIiK2kua2V5KS5yZXBsYWNlKFAsIiQmLyIpKyIvIikrZSkpLHQucHVzaChpKSksMTtpZihzPTAsYT0iIj09PWE/Ii4iOmErIjoiLEMoZSkpZm9yKHZhciBjPTA7YzxlLmxlbmd0aDtjKyspe3ZhciB1PWErdyhsPWVbY10sYyk7cys9ayhsLHQsbyx1LGkpfWVsc2UgaWYodT1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgZT9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZihlPWQmJmVbZF18fGVbIkBAaXRlcmF0b3IiXSk/ZTpudWxsfShlKSwiZnVuY3Rpb24iPT10eXBlb2YgdSlmb3IoZT11LmNhbGwoZSksYz0wOyEobD1lLm5leHQoKSkuZG9uZTspcys9ayhsPWwudmFsdWUsdCxvLHU9YSt3KGwsYysrKSxpKTtlbHNlIGlmKCJvYmplY3QiPT09bCl0aHJvdyB0PVN0cmluZyhlKSxFcnJvcigiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiAiKygiW29iamVjdCBPYmplY3RdIj09PXQ/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXMoZSkuam9pbigiLCAiKSsifSI6dCkrIikuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC4iKTtyZXR1cm4gc31mdW5jdGlvbiB4KGUsdCxuKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciByPVtdLG89MDtyZXR1cm4gayhlLHIsIiIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwobixlLG8rKyl9KSkscn1mdW5jdGlvbiBPKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD1lLl9yZXN1bHQ7KHQ9dCgpKS50aGVuKChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pKSwtMT09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZigxPT09ZS5fc3RhdHVzKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIE49e2N1cnJlbnQ6bnVsbH0sUj17dHJhbnNpdGlvbjpudWxsfSxJPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOk4sUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6UixSZWFjdEN1cnJlbnRPd25lcjpffTt0LkNoaWxkcmVuPXttYXA6eCxmb3JFYWNoOmZ1bmN0aW9uKGUsdCxuKXt4KGUsKGZ1bmN0aW9uKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxuKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4geChlLChmdW5jdGlvbigpe3QrK30pKSx0fSx0b0FycmF5OmZ1bmN0aW9uKGUpe3JldHVybiB4KGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighQShlKSl0aHJvdyBFcnJvcigiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuIik7cmV0dXJuIGV9fSx0LkNvbXBvbmVudD12LHQuRnJhZ21lbnQ9byx0LlByb2ZpbGVyPWksdC5QdXJlQ29tcG9uZW50PUUsdC5TdHJpY3RNb2RlPWEsdC5TdXNwZW5zZT11LHQuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9SSx0LmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQscil7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIG89aCh7fSxlLnByb3BzKSxhPWUua2V5LGk9ZS5yZWYsbD1lLl9vd25lcjtpZihudWxsIT10KXtpZih2b2lkIDAhPT10LnJlZiYmKGk9dC5yZWYsbD1fLmN1cnJlbnQpLHZvaWQgMCE9PXQua2V5JiYoYT0iIit0LmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzKXZhciBzPWUudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKGMgaW4gdClULmNhbGwodCxjKSYmIUwuaGFzT3duUHJvcGVydHkoYykmJihvW2NdPXZvaWQgMD09PXRbY10mJnZvaWQgMCE9PXM/c1tjXTp0W2NdKX12YXIgYz1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWMpby5jaGlsZHJlbj1yO2Vsc2UgaWYoMTxjKXtzPUFycmF5KGMpO2Zvcih2YXIgdT0wO3U8Yzt1Kyspc1t1XT1hcmd1bWVudHNbdSsyXTtvLmNoaWxkcmVuPXN9cmV0dXJueyQkdHlwZW9mOm4sdHlwZTplLnR5cGUsa2V5OmEscmVmOmkscHJvcHM6byxfb3duZXI6bH19LHQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6cyxfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6bCxfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9LHQuY3JlYXRlRWxlbWVudD1TLHQuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD1TLmJpbmQobnVsbCxlKQo7cmV0dXJuIHQudHlwZT1lLHR9LHQuY3JlYXRlUmVmPWZ1bmN0aW9uKCl7cmV0dXJue2N1cnJlbnQ6bnVsbH19LHQuZm9yd2FyZFJlZj1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6YyxyZW5kZXI6ZX19LHQuaXNWYWxpZEVsZW1lbnQ9QSx0Lmxhenk9ZnVuY3Rpb24oZSl7cmV0dXJueyQkdHlwZW9mOnAsX3BheWxvYWQ6e19zdGF0dXM6LTEsX3Jlc3VsdDplfSxfaW5pdDpPfX0sdC5tZW1vPWZ1bmN0aW9uKGUsdCl7cmV0dXJueyQkdHlwZW9mOmYsdHlwZTplLGNvbXBhcmU6dm9pZCAwPT09dD9udWxsOnR9fSx0LnN0YXJ0VHJhbnNpdGlvbj1mdW5jdGlvbihlKXt2YXIgdD1SLnRyYW5zaXRpb247Ui50cmFuc2l0aW9uPXt9O3RyeXtlKCl9ZmluYWxseXtSLnRyYW5zaXRpb249dH19LHQudW5zdGFibGVfYWN0PWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoImFjdCguLi4pIGlzIG5vdCBzdXBwb3J0ZWQgaW4gcHJvZHVjdGlvbiBidWlsZHMgb2YgUmVhY3QuIil9LHQudXNlQ2FsbGJhY2s9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTi5jdXJyZW50LnVzZUNhbGxiYWNrKGUsdCl9LHQudXNlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4gTi5jdXJyZW50LnVzZUNvbnRleHQoZSl9LHQudXNlRGVidWdWYWx1ZT1mdW5jdGlvbigpe30sdC51c2VEZWZlcnJlZFZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBOLmN1cnJlbnQudXNlRGVmZXJyZWRWYWx1ZShlKX0sdC51c2VFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTi5jdXJyZW50LnVzZUVmZmVjdChlLHQpfSx0LnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIE4uY3VycmVudC51c2VJZCgpfSx0LnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBOLmN1cnJlbnQudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQsbil9LHQudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE4uY3VycmVudC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sdC51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTi5jdXJyZW50LnVzZUxheW91dEVmZmVjdChlLHQpfSx0LnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTi5jdXJyZW50LnVzZU1lbW8oZSx0KX0sdC51c2VSZWR1Y2VyPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gTi5jdXJyZW50LnVzZVJlZHVjZXIoZSx0LG4pfSx0LnVzZVJlZj1mdW5jdGlvbihlKXtyZXR1cm4gTi5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gTi5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gTi5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxuKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIE4uY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sNzc5NDc0KGUsdCxuKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPW4oMTIyNzQ5KX0sNjczMDY1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlptNC05Ljk3TDExLjkgNiA4LjMgOS44MiA2LjEgNy40NiA0Ljk5IDguNSA4LjMyIDEyIDEzIDcuMDNaIi8+PC9zdmc+J30sNDAwMDQ2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlpNOSA0Yy0uNzkgMC0xLjM4LjctMS4yNSAxLjQ4bC42NyA0LjAzYS41OS41OSAwIDAgMCAxLjE2IDBsLjY3LTQuMDNBMS4yNyAxLjI3IDAgMCAwIDkgNFptMCA4YTEgMSAwIDEgMCAwIDIgMSAxIDAgMCAwIDAtMloiLz48L3N2Zz4nfSw1MjcyMTkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlptMS0xMmExIDEgMCAxIDEtMiAwIDEgMSAwIDAgMSAyIDBaTTguNSA5LjVIN1Y4aDN2Nkg4LjVWOS41WiIvPjwvc3ZnPid9LDc4NTk5NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZabS0xLTRhMSAxIDAgMSAwIDIgMCAxIDEgMCAwIDAtMiAwWm0yLjgzLTMuNTJjLS40OS40My0uOTcuODUtMS4wNiAxLjUySDguMjZjLjA4LTEuMTguNzQtMS42OSAxLjMyLTIuMTMuNDktLjM4LjkyLS43MS45Mi0xLjM3QzEwLjUgNi42NyA5LjgyIDYgOSA2cy0xLjUuNjctMS41IDEuNVY4SDZ2LS41YTMgMyAwIDEgMSA2IDBjMCAuOTYtLjYgMS40OC0xLjE3IDEuOThaIi8+PC9zdmc+J30sMjczNjc3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0xNi40NyA3LjQ3IDEuMDYgMS4wNkwxMi4wNiAxNGw1LjQ3IDUuNDctMS4wNiAxLjA2TDkuOTQgMTRsNi41My02LjUzWiIvPjwvc3ZnPid9LDc4NjI2OChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTE0LjA3OCA3LjgyNy0uOTktMS4xMjhMOSAxMC4yOSA0LjkxMSA2LjdsLS45OSAxLjEyOEw5IDEyLjI4NXoiLz48L3N2Zz4nfSw4NTY3NzAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bmFub2lkOigpPT5yfSk7bGV0IHI9KGU9MjEpPT5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKG5ldyBVaW50OEFycmF5KGUpKS5yZWR1Y2UoKChlLHQpPT5lKz0odCY9NjMpPDM2P3QudG9TdHJpbmcoMzYpOnQ8NjI/KHQtMjYpLnRvU3RyaW5nKDM2KS50b1VwcGVyQ2FzZSgpOnQ+NjI/Ii0iOiJfIiksIiIpfX1dKTs="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/embed_advanced_chart.6d07e4fd8e3f2785cf25.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.167Z","timestamp":1785141584167,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/embed_advanced_chart.6d07e4fd8e3f2785cf25.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-4b09f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 70f184752e6c9f737b12f7e61bbdb285\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":307359,"size_decoded":95622,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3070)","md5":"ff08c213214941a305e07e2e0aecf577","sha1":"cdefa4d26a111dfe184184912992dfdcfb77f002","sha256":"484233793afe63cd2f9df537c6819b1489f21625d4d0ee9ed41ad56b71117b59","sha512":"c787b5e2bdf2f3a3eb2d122f888029d3317c0a1366c56e6cd295c5e8cbb2a4ca7cb624ef86de5ce26f6f5ca73b2ec98c925506b5e39cd6c8e42424ca470e7ab1","ssdeep":"6144:eetdrmSRezirtVcbkZ0PVvoxvNvyc4441G8/BSGTees55hok0Otik21pcV:eetdrts+0PNofvB41G8/BSGieKhCOtiQ","tlshash":"68645d91b2957ca663e740e6947a0103a72918c67802536cf7bc8dce270dd8d7276fbe","first_seen":"2026-07-24T11:36:47.992194Z","last_seen":"2026-07-27T14:50:15.271675Z","times_seen":190,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjk2NSw3NzAzOCw4MDkzOSw4NTQzNF0sezY2ODI5NihlKXtlLmV4cG9ydHM9e319LDg2MDU0OChlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtc21hbGwtc2l6ZSI6IjE4cHgiLCJjc3MtdmFsdWUtbWVkaXVtLXNpemUiOiIyMnB4IiwiY3NzLXZhbHVlLWxhcmdlLXNpemUiOiIyOHB4IiwiY3NzLXZhbHVlLWJvcmRlci1yYWRpdXMtc21hbGwtc2l6ZSI6IjlweCIsImNzcy12YWx1ZS1ib3JkZXItcmFkaXVzLW1lZGl1bS1zaXplIjoiMTFweCIsImNzcy12YWx1ZS1ib3JkZXItcmFkaXVzLWxhcmdlLXNpemUiOiI4cHgiLHN0YXR1c2VzV3JhcDoic3RhdHVzZXNXcmFwLVVSSWpFQjk4IixzbWFsbDoic21hbGwtVVJJakVCOTgiLG1lZGl1bToibWVkaXVtLVVSSWpFQjk4IixsYXJnZToibGFyZ2UtVVJJakVCOTgiLGJsaW5raW5nOiJibGlua2luZy1VUklqRUI5OCIsc3RhdHVzSXRlbToic3RhdHVzSXRlbS1VUklqRUI5OCIsImJsaW5raW5nLWFuaW1hdGlvbiI6ImJsaW5raW5nLWFuaW1hdGlvbi1VUklqRUI5OCIsbWFya2V0U3RhdHVzT3BlbjoibWFya2V0U3RhdHVzT3Blbi1VUklqRUI5OCIsbWFya2V0U3RhdHVzQ2xvc2U6Im1hcmtldFN0YXR1c0Nsb3NlLVVSSWpFQjk4IixtYXJrZXRTdGF0dXNQcmU6Im1hcmtldFN0YXR1c1ByZS1VUklqRUI5OCIsbWFya2V0U3RhdHVzUG9zdDoibWFya2V0U3RhdHVzUG9zdC1VUklqRUI5OCIsbWFya2V0U3RhdHVzT3Zlcm5pZ2h0OiJtYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTgiLG1hcmtldFN0YXR1c0hvbGlkYXk6Im1hcmtldFN0YXR1c0hvbGlkYXktVVJJakVCOTgiLG1hcmtldFN0YXR1c0RlbGlzdGVkOiJtYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5OCIsbWFya2V0U3RhdHVzRXhwaXJlZDoibWFya2V0U3RhdHVzRXhwaXJlZC1VUklqRUI5OCIsbWFya2V0U3RhdHVzQ3VzdG9tOiJtYXJrZXRTdGF0dXNDdXN0b20tVVJJakVCOTgiLGludmFsaWRTeW1ib2w6ImludmFsaWRTeW1ib2wtVVJJakVCOTgiLGFjdGl2ZVN0cmF0ZWd5OiJhY3RpdmVTdHJhdGVneS1VUklqRUI5OCIsYWxlcnQ6ImFsZXJ0LVVSSWpFQjk4IixhbGVydEl0ZW1zQ29udGFpbmVyOiJhbGVydEl0ZW1zQ29udGFpbmVyLVVSSWpFQjk4IixhbGVydEl0ZW06ImFsZXJ0SXRlbS1VUklqRUI5OCIscmVwbGF5TW9kZUF1dG9QbGF5OiJyZXBsYXlNb2RlQXV0b1BsYXktVVJJakVCOTgiLHJlcGxheU1vZGVQYXVzZToicmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4IixyZXBsYXlNb2RlUG9pbnRTZWxlY3Q6InJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5OCIsImJsaW5raW5nLWFuaW1hdGlvbi1jdXN0b20iOiJibGlua2luZy1hbmltYXRpb24tY3VzdG9tLVVSSWpFQjk4Iixub3RBY2N1cmF0ZToibm90QWNjdXJhdGUtVVJJakVCOTgiLG9wZW5lZEluUGluZUVkaXRvcjoib3BlbmVkSW5QaW5lRWRpdG9yLVVSSWpFQjk4IixvcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvcjoib3BlbmVkSW5EZXRhY2hlZFBpbmVFZGl0b3ItVVJJakVCOTgiLGRlbGF5OiJkZWxheS1VUklqRUI5OCIsZW9kOiJlb2QtVVJJakVCOTgiLGRhdGFQcm9ibGVtSGlnaDoiZGF0YVByb2JsZW1IaWdoLVVSSWpFQjk4IixkYXRhUHJvYmxlbUxvdzoiZGF0YVByb2JsZW1Mb3ctVVJJakVCOTgiLGhhc0Vycm9yOiJoYXNFcnJvci1VUklqRUI5OCIsdXBkYXRlQXZhaWxhYmxlOiJ1cGRhdGVBdmFpbGFibGUtVVJJakVCOTgifX0sMTE0MDY4KGUpe2UuZXhwb3J0cz17ImNvbW1vbi10b29sdGlwIjoiY29tbW9uLXRvb2x0aXAtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0taGlkZGVuIjoiY29tbW9uLXRvb2x0aXAtLWhpZGRlbi1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwLS1ob3Jpem9udGFsIjoiY29tbW9uLXRvb2x0aXAtLWhvcml6b250YWwtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0tZmFydGhlciI6ImNvbW1vbi10b29sdGlwLS1mYXJ0aGVyLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXAtLXZlcnRpY2FsIjoiY29tbW9uLXRvb2x0aXAtLXZlcnRpY2FsLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXAtZmFydGhlciI6ImNvbW1vbi10b29sdGlwLWZhcnRoZXItRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbCI6ImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2JvZHkiOiJjb21tb24tdG9vbHRpcF9fYm9keS1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyIjoiY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1jb250YWluZXItRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYm9keS0tbm8tYnV0dG9ucyI6ImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1idXR0b25zLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2J1dHRvbiI6ImNvbW1vbi10b29sdGlwX19idXR0b24tRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkIjoiY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZC1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyIjoiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ciOiJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ctRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUiOiJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVmb3JlIjoiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlciI6ImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ib2R5LS13aXRoLWhvdGtleSI6ImNvbW1vbi10b29sdGlwX19ib2R5LS13aXRoLWhvdGtleS1FSkJEOTZ6WCIsCiJjb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfd2lkZSI6ImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF93aWRlLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpZHRoX25hcnJvdyI6ImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF9uYXJyb3ctRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYm9keS0tbm8tcGFkZGluZyI6ImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1wYWRkaW5nLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1ibG9jayI6ImNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrLS1kaXZpZGVyIjoiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1ibG9jay0tZGl2aWRlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ob3RrZXktdGV4dCI6ImNvbW1vbi10b29sdGlwX19ob3RrZXktdGV4dC1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ob3RrZXktYnV0dG9uIjoiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1idXR0b24tRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fcGx1cy1zaWduIjoiY29tbW9uLXRvb2x0aXBfX3BsdXMtc2lnbi1FSkJEOTZ6WCJ9fSwxMjQzMjcoZSl7ZS5leHBvcnRzPXt9fSwzMjA0MDMoZSx0KXsidXNlIHN0cmljdCI7dmFyIHMsaT0hKCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93fHwhd2luZG93LmRvY3VtZW50fHwhd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQpO2Z1bmN0aW9uIG4oKXtpZihzKXJldHVybiBzO2lmKCFpfHwhd2luZG93LmRvY3VtZW50LmJvZHkpcmV0dXJuImluZGV0ZXJtaW5hdGUiO3ZhciBlPXdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiQUJDRCIpKSxlLmRpcj0icnRsIixlLnN0eWxlLmZvbnRTaXplPSIxNHB4IixlLnN0eWxlLndpZHRoPSI0cHgiLGUuc3R5bGUuaGVpZ2h0PSIxcHgiLGUuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixlLnN0eWxlLnRvcD0iLTEwMDBweCIsZS5zdHlsZS5vdmVyZmxvdz0ic2Nyb2xsIixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLHM9InJldmVyc2UiLGUuc2Nyb2xsTGVmdD4wP3M9ImRlZmF1bHQiOihlLnNjcm9sbExlZnQ9MSwwPT09ZS5zY3JvbGxMZWZ0JiYocz0ibmVnYXRpdmUiKSksZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlKSxzfXQuZGV0ZWN0U2Nyb2xsVHlwZT1uLHQuZ2V0Tm9ybWFsaXplZFNjcm9sbExlZnQ9ZnVuY3Rpb24oZSx0KXt2YXIgcz1lLnNjcm9sbExlZnQ7aWYoInJ0bCIhPT10KXJldHVybiBzO3ZhciBpPW4oKTtpZigiaW5kZXRlcm1pbmF0ZSI9PT1pKXJldHVybiBOdW1iZXIuTmFOO3N3aXRjaChpKXtjYXNlIm5lZ2F0aXZlIjpyZXR1cm4gZS5zY3JvbGxXaWR0aC1lLmNsaWVudFdpZHRoK3M7Y2FzZSJyZXZlcnNlIjpyZXR1cm4gZS5zY3JvbGxXaWR0aC1lLmNsaWVudFdpZHRoLXN9cmV0dXJuIHN9fSw0NDM3NzYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzKDEyNDMyNykscyg5MjY0MTUpLHMoMjc3MDI5KSxzKDIyMjk4NikscygzMTQxMzMpO3ZhciBpPXMoMzE4OTc0KSxuPShzKDQyOTY2KSxzKDgyOTE4MCkscyg3MjI1NzEpLHMoMjg0NDg0KSxzKDU2OTgxOSkscyg1NjkzOTgpLHMoOTMyMzY1KSxzKDg0Mjk4Mykscyg5MzA1NjYpKSxyPShzKDIzMzM5OSkscygxMzg2MzgpKSxvPXMoOTMwMjMxKTsoMCxvLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfbG9jYWxzdG9yYWdlX2Zvcl9zZXR0aW5ncyIpJiZuLnN5bmModm9pZCAwKTt2YXIgYT1zKDc5NDgxMiksbD1zKDc4MzI1NCksdT1zKDk4ODc3NiksYz1zKDI4NjQxMyksZD1zKDk1MTQ2OSksaD1zKDY4Mjc3OSkscD1zKDIyNTI5OCksbT1zKDM0NDEwMyksXz1zLm4obSksZz1zKDkwNjU5MykseT1zLm4oZyksZj1zKDE1OTUxMyksdj1zKDEyODk5OCksYj1zKDI1NDY3MyksUz1zKDQ2NTEzNyk7ZnVuY3Rpb24gdygpe3JldHVybiBQcm9taXNlLmFsbChbcy5lKDk4MTExKSxzLmUoMjA1OTApLHMuZSg5MzA2NildKS50aGVuKHMuYmluZChzLDM4MTg1MCkpfXZhciBQPXMoMjMyMzY0KTtjbGFzcyBUe2NvbnN0cnVjdG9yKCl7dGhpcy5fdmlzaWJpbGl0eT1uZXcgUC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2lzRmlyc3RTaG93PSEwLHRoaXMuX2RpYWxvZ1Byb21pc2U9bnVsbCx0aGlzLl9kaWFsb2c9bnVsbH12aXNpYmxlKCl7cmV0dXJuIHRoaXMuX3Zpc2liaWxpdHkucmVhZG9ubHkoKX1zaG93KGUsdCxzKXt0aGlzLl9pc0ZpcnN0U2hvdyYmKHRoaXMuX2lzRmlyc3RTaG93PSExLHRoaXMuX29uRmlyc3RTaG93KCkpO2NvbnN0IGk9QXJyYXkuaXNBcnJheShlKT9lOltdLG49QXJyYXkuaXNBcnJheShlKT92b2lkIDA6ZTtudWxsPT09dGhpcy5fZGlhbG9nJiZ0aGlzLl9yZXF1ZXN0RGlhbG9nKGksdCxzLG4pLHRoaXMuX2RpYWxvZz8ub3BlbihpLHZvaWQgMCx0LHMsbil9aGlkZSgpe3RoaXMuX2RpYWxvZz8uaGlkZSgpfWdldERpYWxvZygpe3JldHVybiB0aGlzLl9kaWFsb2d9cmVzZXRBbGxQYWdlcygpe3RoaXMuX2RpYWxvZz8ucmVzZXRBbGxTdHVkaWVzKCl9X29uRmlyc3RTaG93KCl7fV9vbkRpYWxvZ0hpZGRlbigpe31fcmVxdWVzdERpYWxvZyhlLHQscyxpKXtyZXR1cm4gbnVsbD09PXRoaXMuX2RpYWxvZ1Byb21pc2UmJih0aGlzLl9kaWFsb2dQcm9taXNlPXRoaXMuX2NyZWF0ZURpYWxvZygpLnRoZW4oKG49Pnt0aGlzLl9kaWFsb2c9bix0aGlzLl9kaWFsb2cudmlzaWJsZSgpLnN1YnNjcmliZSgoZT0+e3RoaXMuX3Zpc2liaWxpdHkuc2V0VmFsdWUoZSksZXx8dGhpcy5fb25EaWFsb2dIaWRkZW4oKX0pKSx0aGlzLl9kaWFsb2cub3BlbihlLHZvaWQgMCx0LHMsaSl9KSkpLHRoaXMuX2RpYWxvZ1Byb21pc2V9fWNsYXNzIEMgZXh0ZW5kcyBUe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9pbnNlcnRTdHVkeVNlcnZpY2U9ZSx0aGlzLl9vcHRpb25zPXR9YXN5bmMgX2NyZWF0ZURpYWxvZygpewpyZXR1cm4gbmV3KChhd2FpdCBQcm9taXNlLmFsbChbcy5lKDU5ODI5KSxzLmUoODQzMDYpLHMuZSgyOTI5Nikscy5lKDUyMzk2KSxzLmUoNjAwNjIpLHMuZSgyMDM1NCkscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSg5NDk0OCkscy5lKDUxODQpLHMuZSg4MzQ4OCkscy5lKDcyNjY2KSxzLmUoMTAzODUpLHMuZSg1MjA2NSkscy5lKDY2MDUpLHMuZSgzMjE3Nikscy5lKDcxNDgyKSxzLmUoODg2NDEpLHMuZSg3MDY1Nikscy5lKDM5MTYpLHMuZSg2ODk2NCkscy5lKDQyNzIxKSxzLmUoMTc3NTEpLHMuZSgyOTMxNSkscy5lKDE0NjU3KSxzLmUoNTExODQpLHMuZSgzMjM4Nykscy5lKDM5NjA5KSxzLmUoMTY5NDkpXSkudGhlbihzLmJpbmQocyw4ODUyMTgpKSkuU3R1ZHlUZWNobmljYWxzU2VhcmNoRGlhbG9nKSh0aGlzLl9pbnNlcnRTdHVkeVNlcnZpY2UsdGhpcy5fb3B0aW9ucyl9fXZhciBFPXMoNjAxODQxKSxJPXMoNjc4Mjg1KSxMPXMoMzY4MTEwKSxNPXMoNDczMzE4KSxEPXMoODY3ODMxKTthc3luYyBmdW5jdGlvbiB4KGUsdCxzLGkpe2NvbnN0IG49ZS5tb2RlbCgpLm1vZGVsKCkuaW5zZXJ0U3R1ZHlTdHViKHQscyxpKTtyZXR1cm4gbi5zZXRTdGF0dXMoe3R5cGU6RC5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZyxzdGFydFRpbWU6RGF0ZS5ub3coKX0pLG59Y2xhc3MgUntjb25zdHJ1Y3RvcihlKXt0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb249ZX1hc3luYyBpbnNlcnRTdHVkeShlKXtjb25zdCB0PXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpO2lmKCF0KXJldHVybiBudWxsO2NvbnN0e2Rlc2NyaXB0b3I6cyxpbnNlcnRpb25JbmZvOmkscGFyZW50SWRzOm49W10sc3ltYm9sOnIsb25JbnNlcnRTdGFydDpvfT1lLGE9aS5zdHViVGl0bGU/PyIiLGw9YXdhaXQoMCxNLndhaXRGb3JNb2RlbCkodCk7aWYoaS5pc0Z1bmRhbWVudGFsKXtjb25zdCBlPXZvaWQgMCE9PXI/ZnVuY3Rpb24oZSl7cmV0dXJuKHQscyxpKT0+e2NvbnN0IG49e30scj1pLnN5bWJvbElucHV0SWQoKTtyZXR1cm4gciYmKG5bcl09ZSkse2lucHV0czpuLHBhcmVudFNvdXJjZXM6W119fX0ocik6dm9pZCAwLG49YXdhaXQgeCh0LGEsITEscyksbD1hd2FpdCB0LnJlcGxhY2VTdHViQnlTdHVkeShuLHMsW10saSxlLG8pO3JldHVybiBsPy5tZXRhSW5mbygpPz9udWxsfWNvbnN0IHU9bi5tYXAoKGU9PmwuZ2V0U3R1ZHlCeUlkKGUpKSkuZmlsdGVyKEUubm90TnVsbCk7aWYodm9pZCAwIT09aS5pc092ZXJsYXkmJiJwaW5lIj09PXMudHlwZSl7Y29uc3QgZT1hd2FpdCB4KHQsYSxpLmlzT3ZlcmxheSxzKSxuPWF3YWl0IHQucmVwbGFjZVN0dWJCeVN0dWR5KGUscyx1LGksdm9pZCAwLG8pO3JldHVybiBuPy5tZXRhSW5mbygpPz9udWxsfWlmKCJqYXZhIj09PXMudHlwZSl7Y29uc3QgZT0oMCxMLnRyeUZpbmRTdHVkeUxpbmVUb29sTmFtZUJ5U3R1ZHlJZCkocy5zdHVkeUlkKTtpZihudWxsIT09ZSlyZXR1cm4gYXdhaXQoMCxMLmluaXRMaW5lVG9vbCkoZSksSS50b29sLnNldFZhbHVlKGUpLG51bGx9Y29uc3QgYz1hd2FpdCB0Lmluc2VydFN0dWR5KHMsdSxpLHZvaWQgMCxvKTtyZXR1cm4gYz8ubWV0YUluZm8oKT8/bnVsbH1nZXRTdHVkeU9uU3R1ZHlDb3VudGVyKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5hY3RpdmVDaGFyV2lkZ2V0TW9kZWwoKS52YWx1ZSgpPy5tb2RlbCgpLmNoYXJ0QXBpKCkuZ2V0Q2hpbGRTdHVkeUNvdW50ZXIoKT8/MH1nZXRGdW5kYW1lbnRhbFN0dWRpZXNDb3VudGVyKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5hY3RpdmVDaGFyV2lkZ2V0TW9kZWwoKS52YWx1ZSgpPy5tb2RlbCgpLmNoYXJ0QXBpKCkuZ2V0RnVuZGFtZW50YWxDb3VudGVyKCk/PzB9Z2V0U3R1ZGllc0NvdW50ZXIoKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmFjdGl2ZUNoYXJXaWRnZXRNb2RlbCgpLnZhbHVlKCk/Lm1vZGVsKCkuY2hhcnRBcGkoKS5nZXRTdHVkeUNvdW50ZXIoKT8/MH19dmFyIGs9cyg3NTk5NzApLFY9cyg2NjUxODcpLEE9cygyMDA2NjYpLEY9cyg3Mzg0NTgpLEI9cygzMDg4MTApLE89cygxOTYwNDkpLE49cyg4MDI1ODYpO2NvbnN0IFc9ezg6W0IudGltZUZyYW1lcy55dGQsQi50aW1lRnJhbWVzWyIxMm0iXSxCLnRpbWVGcmFtZXNbIjYwbSJdLEIudGltZUZyYW1lcy5hbGxdLDM6W0IudGltZUZyYW1lc1siMWQiXSxCLnRpbWVGcmFtZXNbIjVkIl0sQi50aW1lRnJhbWVzWyIxbSJdLEIudGltZUZyYW1lc1siM20iXSxCLnRpbWVGcmFtZXNbIjZtIl0sQi50aW1lRnJhbWVzLnl0ZCxCLnRpbWVGcmFtZXNbIjEybSJdLEIudGltZUZyYW1lc1siNjBtIl0sQi50aW1lRnJhbWVzLmFsbF19LFU9bmV3IE1hcChbWyIxRCIsKDAsTi5nZXRGcm9tRm9yRGF5KSgxKV0sWyI1RCIsKDAsTi5nZXRGcm9tRm9yRGF5KSg1KV0sWyI3RCIsKDAsTi5nZXRGcm9tRm9yRGF5KSg3KV0sWyIxTSIsKDAsTi5nZXRGcm9tRm9yTW9udGhzQWdvKSgxKV0sWyIzTSIsKDAsTi5nZXRGcm9tRm9yTW9udGhzQWdvKSgzKV0sWyI2TSIsKDAsTi5nZXRGcm9tRm9yTW9udGhzQWdvKSg2KV0sWyIxMk0iLCgwLE4uZ2V0RnJvbUZvclllYXJzQWdvKSgxKV0sWyIyNE0iLCgwLE4uZ2V0RnJvbUZvclllYXJzQWdvKSgyKV0sWyIzNk0iLCgwLE4uZ2V0RnJvbUZvclllYXJzQWdvKSgzKV0sWyI2ME0iLCgwLE4uZ2V0RnJvbUZvclllYXJzQWdvKSg1KV0sWyJZVEQiLCgwLE4uZ2V0U3RhcnRPZlRoZVllYXIpKCldLFsiTEFTVFNFU1NJT04iLCgwLE4uZ2V0RnJvbUZvckRheSkoMSldLFsiQUxMIiwtMS8wXV0pO2Z1bmN0aW9uIHooZSx0LHM9LTEvMCl7bGV0IGk7bnVsbCE9PWU/aT0oV1szXXx8W10pLmZpbHRlcigodD0+bnVsbD09PSgwLE8uZ2V0UmVzb2x1dGlvblVuc3VwcG9ydGVkUmVhc29uKShlLHQudGFyZ2V0UmVzb2x1dGlvbikpKTooOT09PXQmJih0PTMpLDY9PT10JiYodD04KSxpPVdbdF18fFtdKTtjb25zdCBuPVtdO2ZvcihsZXQgZT0wO2U8aS5sZW5ndGg7ZSsrKXtjb25zdCB0PWlbZV07aWYobi5wdXNoKHQpLCgwLApyLmVuc3VyZURlZmluZWQpKFUuZ2V0KHQudmFsdWUudmFsdWUpKTxzKWJyZWFrfXJldHVybiBuLmxlbmd0aCYmIkFMTCIhPT1uW24ubGVuZ3RoLTFdLnZhbHVlLnZhbHVlJiYobltuLmxlbmd0aC0xXT17Li4ubltuLmxlbmd0aC0xXSx0ZXh0OkIudGltZUZyYW1lcy5hbGwudGV4dCx2YWx1ZTp7Li4ubltuLmxlbmd0aC0xXS52YWx1ZSx2YWx1ZTpCLnRpbWVGcmFtZXMuYWxsLnZhbHVlLnZhbHVlfX0pLG59ZnVuY3Rpb24gSChlLHQscyl7Y29uc3QgaT17bmFtZTplLGZyYW1lRWxlbWVudElkOnQsZGF0YTpzfTt3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKGksIioiKX1mdW5jdGlvbiBqKGUsdCl7ZnVuY3Rpb24gcyhzKXtzLmRhdGEmJnMuZGF0YS5uYW1lJiZzLmRhdGEubmFtZT09PWUmJnQocy5kYXRhLmRhdGEpfXJldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscywhMSksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscywhMSl9fXZhciAkLHE7ZnVuY3Rpb24gSyhlKXtyZXR1cm4ic2Vla2luZ2FscGhhIj09PWV8fCJzbWFydGxhYi1jdXN0b20iPT09ZT9Qcm9taXNlLmFsbChbcy5lKDk0MjQ0KSxzLmUoODQzMDYpLHMuZSg0NjkwNykscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSg1NjI1Mikscy5lKDY3Nzk5KSxzLmUoMTE0NjEpLHMuZSg5NjU4Nykscy5lKDg2NDIzKSxzLmUoMzc1MTMpLHMuZSg0MDgzNSkscy5lKDE3MDg3KSxzLmUoOTM0MjEpLHMuZSg3ODY1Mikscy5lKDcxNDE0KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDg5MjA0KSxzLmUoODk1NTgpLHMuZSgxMDM2Nikscy5lKDY5ODYxKSxzLmUoMjAyKSxzLmUoNzI1MTIpLHMuZSg1NTAxMSkscy5lKDE1NjM0KSxzLmUoNzA2NTYpLHMuZSg3MTkwMSkscy5lKDgxMjQ3KSxzLmUoOTA5NjApLHMuZSgyMzY2OSkscy5lKDgxMTA3KSxzLmUoNDIzMDEpLHMuZSg2NzkyNSkscy5lKDMyODU3KSxzLmUoMzUzNDIpLHMuZSgyMzI1NCkscy5lKDQyMDMzKSxzLmUoODY5OTcpLHMuZSg5ODUwOSkscy5lKDI3NjY1KSxzLmUoMzI0MjcpLHMuZSg2NzY4NSkscy5lKDQ2NzU2KSxzLmUoMzIzODcpLHMuZSgyMzc0Mykscy5lKDk5MzA5KSxzLmUoNjk2OTcpLHMuZSg1MzI5Nykscy5lKDM4MDg2KSxzLmUoMjYxMTgpLHMuZSg1ODA4KSxzLmUoMzQxNyldKS50aGVuKHMuYmluZChzLDM0MTcpKToiY21lIj09PWU/UHJvbWlzZS5hbGwoW3MuZSgxMjA4MCkscy5lKDg0MzA2KSxzLmUoNDY5MDcpLHMuZSg4MTA3Mikscy5lKDk0OTQ4KSxzLmUoMjM2MjQpLHMuZSgzNjIyMikscy5lKDI5NTM2KSxzLmUoOTQyMzIpLHMuZSg1MTg0KSxzLmUoNTYyNTIpLHMuZSg2Nzc5OSkscy5lKDExNDYxKSxzLmUoOTY1ODcpLHMuZSg4NjQyMykscy5lKDM3NTEzKSxzLmUoNDA4MzUpLHMuZSgxNzA4Nykscy5lKDkzNDIxKSxzLmUoNzg2NTIpLHMuZSg3MTQxNCkscy5lKDUyNjgwKSxzLmUoMzU3OTQpLHMuZSg4OTIwNCkscy5lKDg5NTU4KSxzLmUoMTAzNjYpLHMuZSg2OTg2MSkscy5lKDIwMikscy5lKDcyNTEyKSxzLmUoNTUwMTEpLHMuZSgxNTYzNCkscy5lKDcwNjU2KSxzLmUoNzE5MDEpLHMuZSg4MTI0Nykscy5lKDkwOTYwKSxzLmUoMjM2NjkpLHMuZSg4MTEwNykscy5lKDQyMzAxKSxzLmUoNjc5MjUpLHMuZSgzMjg1Nykscy5lKDM1MzQyKSxzLmUoMjMyNTQpLHMuZSg0MjAzMykscy5lKDg2OTk3KSxzLmUoOTg1MDkpLHMuZSgyNzY2NSkscy5lKDMyNDI3KSxzLmUoMzIzODcpLHMuZSgyMzc0Mykscy5lKDk5MzA5KSxzLmUoNjk2OTcpLHMuZSg1MzI5Nykscy5lKDM4MDg2KSxzLmUoMjYxMTgpLHMuZSg1ODA4KSxzLmUoNTAwNzcpXSkudGhlbihzLmJpbmQocywxNTAwNzcpKTpQcm9taXNlLmFsbChbcy5lKDk5MTI0KSxzLmUoODQzMDYpLHMuZSg0NjkwNykscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSg1NjI1Mikscy5lKDY3Nzk5KSxzLmUoMTE0NjEpLHMuZSg5NjU4Nykscy5lKDg2NDIzKSxzLmUoMzc1MTMpLHMuZSg0MDgzNSkscy5lKDE3MDg3KSxzLmUoOTM0MjEpLHMuZSg3ODY1Mikscy5lKDcxNDE0KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDg5MjA0KSxzLmUoODk1NTgpLHMuZSgxMDM2Nikscy5lKDY5ODYxKSxzLmUoMjAyKSxzLmUoNzI1MTIpLHMuZSg1NTAxMSkscy5lKDE1NjM0KSxzLmUoNzA2NTYpLHMuZSg3MTkwMSkscy5lKDgxMjQ3KSxzLmUoOTA5NjApLHMuZSgyMzY2OSkscy5lKDgxMTA3KSxzLmUoNDIzMDEpLHMuZSg2NzkyNSkscy5lKDMyODU3KSxzLmUoMzUzNDIpLHMuZSgyMzI1NCkscy5lKDQyMDMzKSxzLmUoODY5OTcpLHMuZSg5ODUwOSkscy5lKDI3NjY1KSxzLmUoMzI0MjcpLHMuZSg2NzY4NSkscy5lKDMyMzg3KSxzLmUoMjM3NDMpLHMuZSg5OTMwOSkscy5lKDY5Njk3KSxzLmUoNTMyOTcpLHMuZSgzODA4Nikscy5lKDI2MTE4KSxzLmUoNTgwOCkscy5lKDM5MTY2KV0pLnRoZW4ocy5iaW5kKHMsOTM5MTY2KSl9IWZ1bmN0aW9uKGUpe2xldCB0OyFmdW5jdGlvbihlKXtlLlNldFN5bWJvbD0ic2V0LXN5bWJvbCIsZS5TZXRJbnRlcnZhbD0ic2V0LWludGVydmFsIn0odD1lLk5hbWVzfHwoZS5OYW1lcz17fSkpfSgkfHwoJD17fSkpLGZ1bmN0aW9uKGUpe2xldCB0OyFmdW5jdGlvbihlKXtlLlN5bWJvbENsaWNrPSJ0di13aWRnZXQtc3ltYm9sLWNsaWNrIixlLldpZGdldExvYWQ9InR2LXdpZGdldC1sb2FkIixlLldpZGdldFJlYWR5PSJ0di13aWRnZXQtcmVhZHkiLGUuUmVzaXplSWZyYW1lPSJ0di13aWRnZXQtcmVzaXplLWlmcmFtZSIsZS5Ob0RhdGE9InR2LXdpZGdldC1uby1kYXRhIn0odD1lLk5hbWVzfHwoZS5OYW1lcz17fSkpfShxfHwocT17fSkpO3ZhciBZPXMoMTg1MjcxKSxHPXMoODYwNDQyKSxKPXMoMjM1NzI0KQo7Y29uc3QgWD1bIkxpbmVUb29sVHJlbmRMaW5lIiwiTGluZVRvb2xSYXkiLCJMaW5lVG9vbEluZm9MaW5lIiwiTGluZVRvb2xFeHRlbmRlZCIsIkxpbmVUb29sUmVncmVzc2lvblRyZW5kIiwiTGluZVRvb2xSb3RhdGVkUmVjdGFuZ2xlIiwiTGluZVRvb2xQYXJhbGxlbENoYW5uZWwiLCJMaW5lVG9vbEZsYXRCb3R0b20iLCJMaW5lVG9vbERpc2pvaW50QW5nbGUiLCJMaW5lVG9vbFBpdGNoZm9yayIsIkxpbmVUb29sU2NoaWZmUGl0Y2hmb3JrIiwiTGluZVRvb2xTY2hpZmZQaXRjaGZvcmsyIiwiTGluZVRvb2xJbnNpZGVQaXRjaGZvcmsiLCJMaW5lVG9vbFZlcnRMaW5lIiwiTGluZVRvb2xDcm9zc0xpbmUiLCJMaW5lVG9vbEhvcnpMaW5lIiwiTGluZVRvb2xIb3J6UmF5IiwiTGluZVRvb2xUcmVuZEFuZ2xlIl07ZnVuY3Rpb24gUShlLHQ9ITEsYT0hMSl7aWYoISgwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInBvcHVwX2hpbnRzIikpcmV0dXJuKCk9Pnt9O2NvbnN0IGw9ZS5nZXRDb250YWluZXIoKTtsZXQgdT1udWxsLGM9bnVsbCxkPW51bGw7cmV0dXJuIEkudG9vbC5zdWJzY3JpYmUoaCksSS5jcmVhdGVkTGluZVRvb2wuc3Vic2NyaWJlKG51bGwscCksSS5maW5pc2hlZExpbmVUb29sLnN1YnNjcmliZShudWxsLG0pLGUubGF5b3V0U2l6ZXNDaGFuZ2VkKCkuc3Vic2NyaWJlKF8pLHR8fGkuQ2hlY2tNb2JpbGUuYW55KCl8fCF5KCJoaW50LnN0YXJ0Rm9jdXNlZFpvb20iKXx8KGQ9ZnVuY3Rpb24oZSx0KXtsZXQgcz0hMTtjb25zdCBpPW49PntuPyhzJiZ0KG4pLGUub25ab29tKCkudW5zdWJzY3JpYmUobnVsbCxpKSk6c3x8KHQobikscz0hMCl9O3JldHVybiBlLm9uWm9vbSgpLnN1YnNjcmliZShudWxsLGkpLCgpPT5lLm9uWm9vbSgpLnVuc3Vic2NyaWJlKG51bGwsaSl9KGUsKGZ1bmN0aW9uKGUpe2lmKCF5KCJoaW50LnN0YXJ0Rm9jdXNlZFpvb20iKSlyZXR1cm47aWYoZSljJiYoZD1udWxsLGYoImhpbnQuc3RhcnRGb2N1c2VkWm9vbSIpKTtlbHNle2coWS50KG51bGwsdm9pZCAwLHMoNDc1Mjk5KSkuZm9ybWF0KHtrZXk6KDAsSi5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShKLk1vZGlmaWVycy5Nb2QsITEpfSksImhpbnQuc3RhcnRGb2N1c2VkWm9vbSIpfX0pKSksKCk9PntJLnRvb2wudW5zdWJzY3JpYmUoaCksSS5jcmVhdGVkTGluZVRvb2wudW5zdWJzY3JpYmUobnVsbCxwKSxJLmZpbmlzaGVkTGluZVRvb2wudW5zdWJzY3JpYmUobnVsbCxtKSxlLmxheW91dFNpemVzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKF8pLGQ/LigpfTtmdW5jdGlvbiBoKCl7Y29uc3QgdD1JLnRvb2wudmFsdWUoKSxuPWkuQ2hlY2tNb2JpbGUuYW55KCk7aWYodT8uaGlkZSgpLCFuJiYoMCxJLnRvb2xJc0RlbW9uc3RyYXRpb24pKHQpJiZ5KCJoaW50LmRlbW9uc3RyYXRpb25DdXJzb3JTZWxlY3RlZCIpKXtyZXR1cm4gdm9pZCBnKFkudChudWxsLHZvaWQgMCxzKDU4MjMwMykpLmZvcm1hdCh7a2V5OigwLEouaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoSi5Nb2RpZmllcnMuQWx0LCExKX0pLCJoaW50LmRlbW9uc3RyYXRpb25DdXJzb3JTZWxlY3RlZCIpfWlmKGEmJm4mJihyPXQsWC5pbmNsdWRlcyhyKSkpcmV0dXJuIHZvaWQgYXN5bmMgZnVuY3Rpb24odCl7e2NvbnN0IGk9KCk9PigwLEkucmVzZXRUb0N1cnNvcikoITApO2lmKHUpdS5zaG93KHQsaSk7ZWxzZXtjb25zdCBuPWF3YWl0IFByb21pc2UuYWxsKFtzLmUoMjcxNzQpLHMuZSg1MTg0KSxzLmUoNTE4Nikscy5lKDMyMzg3KSxzLmUoMjE3NjYpXSkudGhlbihzLmJpbmQocywzNTIzNzYpKTt1PW5ldyBuLkRyYXdpbmdIaW50c1JlbmRlcmVyKGUpLHQ9PT1JLnRvb2wudmFsdWUoKSYmdS5zaG93KHQsaSl9fX0odCk7dmFyIHI7aWYoIkxpbmVUb29sVGV4dEFic29sdXRlIj09PXQmJnkoImhpbnQuYW5jaG9yZWRUZXh0V2lsbEJlUmVtb3ZlZCIpKXJldHVybiB2b2lkIGcoWS50KG51bGwsdm9pZCAwLHMoOTQ0NzA4KSksImhpbnQuYW5jaG9yZWRUZXh0V2lsbEJlUmVtb3ZlZCIpO2lmKCF5KCJoaW50LnRvdWNoUGFpbnRpbmciKSlyZXR1cm47Y29uc3Qgbz0oMCxHLmlzTGluZVRvb2xEcmF3V2l0aG91dFBvaW50cykodCk7ISgwLEcuaXNTdHVkeUxpbmVUb29sTmFtZSkodCl8fCJMaW5lVG9vbFJlZ3Jlc3Npb25UcmVuZCI9PT10fHxvfHxuPygwLEcuaXNMaW5lVG9vbE5hbWUpKHQpJiYhKDAsRy5pc0xpbmVEcmF3bldpdGhQcmVzc2VkQnV0dG9uKSh0KSYmIW8mJm4/ZyhZLnQobnVsbCx2b2lkIDAscyg3MzA5MzUpKSwiaGludC50b3VjaFBhaW50aW5nIik6YyYmYy5oaWRlKCk6ZyhZLnQobnVsbCx2b2lkIDAscygxNjE1MjgpKSwiaGludC50b3VjaFBhaW50aW5nIil9ZnVuY3Rpb24gcCgpe2NvbnN0IGU9SS50b29sLnZhbHVlKCk7IkxpbmVUb29sUGF0aCI9PT1lJiZ5KCJoaW50LmZpbmlzaEJ1aWxkUGF0aEJ5RGJsQ2xpY2siKT9nKFkudChudWxsLHZvaWQgMCxzKDY0MTE2MSkpLCJoaW50LmZpbmlzaEJ1aWxkUGF0aEJ5RGJsQ2xpY2siKToiTGluZVRvb2xQb2x5bGluZSI9PT1lJiZ5KCJoaW50LmZpbmlzaEJ1aWxkUG9seWxpbmVCeURibENsaWNrIikmJmcoWS50KG51bGwsdm9pZCAwLHMoNTgwOTg1KSksImhpbnQuZmluaXNoQnVpbGRQb2x5bGluZUJ5RGJsQ2xpY2siKX1mdW5jdGlvbiBtKCl7aWYoYyl7Y29uc3QgZT1JLnRvb2wudmFsdWUoKTsiTGluZVRvb2xQYXRoIj09PWU/ZigiaGludC5maW5pc2hCdWlsZFBhdGhCeURibENsaWNrIik6IkxpbmVUb29sUG9seWxpbmUiPT09ZSYmZigiaGludC5maW5pc2hCdWlsZFBvbHlsaW5lQnlEYmxDbGljayIpfX1mdW5jdGlvbiBfKCl7aWYoIXkoImhpbnQuc3RhcnRSZXNpemluZ0NoYXJ0SW5MYXlvdXQiKSlyZXR1cm47ZyhpLkNoZWNrTW9iaWxlLmFueSgpP1kudChudWxsLHZvaWQgMCxzKDEzNzE0OSkpOlkudChudWxsLHZvaWQgMCxzKDI5NjQ3MSkpLCJoaW50LnN0YXJ0UmVzaXppbmdDaGFydEluTGF5b3V0Iil9ZnVuY3Rpb24gZyhlLHQpe2lmKGMpYy5zaG93KGUsZi5iaW5kKG51bGwsdCkpO2Vsc2V7Y29uc3QgaT1JLnRvb2wudmFsdWUoKQo7UHJvbWlzZS5hbGwoW3MuZSgxMzQ5Mikscy5lKDQxODExKSxzLmUoMzIzODcpLHMuZSg3NzU4OCldKS50aGVuKHMuYmluZChzLDEyNDAxNikpLnRoZW4oKHM9PntjPW5ldyBzLkNoYXJ0RXZlbnRIaW50UmVuZGVyZXIobCksaT09PUkudG9vbC52YWx1ZSgpJiZjLnNob3coZSxmLmJpbmQobnVsbCx0KSl9KSl9fWZ1bmN0aW9uIHkoZSl7cmV0dXJuIUJvb2xlYW4obi5nZXRCb29sKGUpKX1mdW5jdGlvbiBmKGUpe24uc2V0VmFsdWUoZSwhMCx7Zm9yY2VGbHVzaDohMH0pLCgwLHIuZW5zdXJlTm90TnVsbCkoYykuZGVzdHJveSgpLG51bGwhPT1kJiZkKCksYz1udWxsfX12YXIgWj1zKDE3OTc3MSk7ZnVuY3Rpb24gZWUoZSx0KXtjb25zdCBpPVkudChudWxsLHZvaWQgMCxzKDIyMjkpKS5mb3JtYXQoe2Vtb2ppOiLwn5GNIn0pLG49WS50KG51bGwsdm9pZCAwLHMoMzg4NzcwKSkuZm9ybWF0KHtlbW9qaToi8J+RjSJ9KSxvPVkudChudWxsLHZvaWQgMCxzKDgzNDgyMikpLmZvcm1hdCh7ZW1vamk6IvCfkY0ifSk7Wi5vbigib25TZXJ2ZXJTY3JlZW5zaG90Q29waWVkVG9DbGlwYm9hcmQiLCgoKT0+dShpKSksbnVsbCksWi5vbigib25DbGllbnRTY3JlZW5zaG90Q29waWVkVG9DbGlwYm9hcmQiLCgoKT0+dShuKSksbnVsbCksWi5vbigib25TZXJ2ZXJTY3JlZW5zaG90RW1iZWRDb2RlQ29waWVkVG9DbGlwYm9hcmQiLCgoKT0+dShvKSksbnVsbCk7bGV0IGE9bnVsbDtjb25zdCBsPWUuZ2V0Q29udGFpbmVyKCk7ZnVuY3Rpb24gdShlKXthP2Euc2hvdyhlKTpQcm9taXNlLmFsbChbcy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg5NDA1NCkscy5lKDI0NjAzKSxzLmUoMzIzODcpLHMuZSg0MzE4MCldKS50aGVuKHMuYmluZChzLDQwMTY3MSkpLnRoZW4oKHM9PnthfHwoYT1uZXcgcy5DaGFydFNjcmVlbnNob3RIaW50UmVuZGVyZXIoKDAsci5lbnN1cmVOb3ROdWxsKShsKSx7Ym90dG9tUGFkZGluZzp0LnNlcmllc0NvbnRyb2xCYXJFbmFibGVkfSksYS5zaG93KGUpKX0pKX19dmFyIHRlPXMoNzA1MDEyKSxzZT1zKDUwODc0Nyk7Y2xhc3MgaWV7Y29uc3RydWN0b3IoZT1bXSl7dGhpcy5fbGlzdD17aWQ6IkRFRkFVTFRfU0lOR0xFX1dBVENITElTVCIsdHlwZToiY3VzdG9tIixuYW1lOmwudChudWxsLHZvaWQgMCxzKDM5Nzc4OCkpLGRlc2NyaXB0aW9uOm51bGwsc3ltYm9sczpbLi4uZV0sc2hhcmVkOiExLHBlcnNpc3RlZFN0YXRlOm51bGx9fWdldEN1c3RvbVdhdGNoTGlzdHMoKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFt0aGlzLl9saXN0XSl9Z2V0U3ltYm9scyhlKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2xpc3Quc3ltYm9scyl9Y3JlYXRlV2F0Y2hMaXN0KGUpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9cHV0V2F0Y2hMaXN0KGUpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9cmVtb3ZlV2F0Y2hMaXN0KGUpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9cmVuYW1lV2F0Y2hMaXN0KGUsdCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX1yZXBsYWNlU3ltYm9scyhlLHQpe3JldHVybiB0aGlzLl9saXN0LnN5bWJvbHM9Wy4uLnRdLFByb21pc2UucmVzb2x2ZSh0aGlzLl9saXN0LnN5bWJvbHMpfWFkZFN5bWJvbHMoZSx0KXtyZXR1cm4gdGhpcy5fbGlzdC5zeW1ib2xzLnB1c2goLi4udCksUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2xpc3Quc3ltYm9scyl9cmVtb3ZlU3ltYm9scyhlLHQpe3JldHVybiB0aGlzLl9saXN0LnN5bWJvbHM9dGhpcy5fbGlzdC5zeW1ib2xzLmZpbHRlcigoZT0+IXQuaW5jbHVkZXMoZSkpKSxQcm9taXNlLnJlc29sdmUodGhpcy5fbGlzdC5zeW1ib2xzKX1zZXRBY3RpdmUoZSl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9saXN0KX1nZXRBY3RpdmUoKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2xpc3QpfWNoYW5nZURlc2NyaXB0aW9uKGUsdCl7dGhyb3cgbmV3IEVycm9yKCJub3QgaW1wbGVtZW50ZWQiKX1nZXRDdXN0b21XYXRjaGxpc3QoZSl7dGhyb3cgbmV3IEVycm9yKCJub3QgaW1wbGVtZW50ZWQiKX1yZW5hbWVTZXBhcmF0b3IoZSx0LHMpe3JldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9fXZhciBuZT1zKDE1MDE1MCkscmU9cyg5NDgzODApO2NvbnN0IG9lPW5ldyByZS5EZWxlZ2F0ZSxhZT1uZXcgcmUuRGVsZWdhdGUsbGU9bmV3IHJlLkRlbGVnYXRlLHVlPW5ldyByZS5EZWxlZ2F0ZSxjZT1uZXcgcmUuRGVsZWdhdGU7dmFyIGRlPXMoNTgwNTI2KSxoZT1zKDYyMTIwKTtjbGFzcyBwZXtjb25zdHJ1Y3RvcihlPVtdLHQ9bil7aWYodGhpcy5fbGlzdHM9e30sdGhpcy5fYWN0aXZlTGlzdFNldHRpbmdzS2V5PSJ3aWRnZXRiYXIud2lkZ2V0LndhdGNobGlzdCIsKDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidHJhZGluZ190ZXJtaW5hbCIpJiYodGhpcy5fYWN0aXZlTGlzdFNldHRpbmdzS2V5Kz0idGVybWluYWwiKSx0aGlzLl9zZXR0aW5ncz10LHRoaXMuX3NldHRpbmdzLm9uU3luYy5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVMaXN0cyksdGhpcy5fdXBkYXRlTGlzdHMoKSwwPT09T2JqZWN0LmtleXModGhpcy5fbGlzdHMpLmxlbmd0aCl7Y29uc3QgdD10aGlzLl9jcmVhdGVMaXN0KHt0aXRsZTp0aGlzLl9waWNrVGl0bGUoKSxzeW1ib2xzOlsuLi5lXX0sITApO3RoaXMuc2V0QWN0aXZlKHtpZDp0LmlkLHR5cGU6ImN1c3RvbSJ9KX19ZGVzdHJveSgpe3RoaXMuX3NldHRpbmdzLm9uU3luYy51bnN1YnNjcmliZUFsbCh0aGlzKX1nZXRDdXN0b21XYXRjaExpc3RzKCl7dGhpcy5fdXBkYXRlTGlzdHMoKTtjb25zdCBlPVtdO3JldHVybiBPYmplY3Qua2V5cyh0aGlzLl9saXN0cykuZm9yRWFjaCgodD0+e2NvbnN0IHM9dGhpcy5fZ2V0TGlzdCh0KTtzJiZlLnB1c2godGhpcy5fdG9TeW1ib2xMaXN0KHMpKX0pKSxQcm9taXNlLnJlc29sdmUoZSl9Y3JlYXRlV2F0Y2hMaXN0KGUpe2NvbnN0IHQ9ISgwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndhdGNobGlzdF9jcm9zc190YWJfc3luYyIpLHM9dGhpcy5fY3JlYXRlTGlzdCh7aWQ6ZS5pZCx0aXRsZTplLm5hbWV8fHRoaXMuX3BpY2tUaXRsZSgpLApzeW1ib2xzOmUuc3ltYm9sc3x8W119LHQpO3JldHVybiBsZS5maXJlKHMuaWQsWy4uLnMuc3ltYm9sc10pLFByb21pc2UucmVzb2x2ZSh0aGlzLl90b1N5bWJvbExpc3QocykpfXB1dFdhdGNoTGlzdChlKXt0aGlzLl91cGRhdGVMaXN0cygpO2NvbnN0IHQ9dGhpcy5fZ2V0TGlzdChlLmlkKSxzPXQ/LnRpdGxlLGk9ZS5uYW1lLG49e2lkOmUuaWQsc3ltYm9sczooMCxkZS5yZW1vdGVTeW1ib2xzRm9ybUxvY2FsU3RhdGUpKGUuaWQsZS5zeW1ib2xzKSx0aXRsZTplLm5hbWV9O3JldHVybiB0aGlzLnNhdmVMaXN0KG4pLHZvaWQgMCE9PXMmJnMhPT1pJiZjZS5maXJlKGUuaWQscyxpKSxudWxsIT09dD9vZS5maXJlKGUuaWQpOmxlLmZpcmUoZS5pZCxlLnN5bWJvbHMpLFByb21pc2UucmVzb2x2ZSh0aGlzLl90b1N5bWJvbExpc3QobikpfXJlbW92ZVdhdGNoTGlzdChlKXtjb25zdHtpZDp0fT1lO3JldHVybiB0aGlzLl9zZXR0aW5ncy5yZW1vdmUoYHNhdmVkd2F0Y2guJHt0fWAse2ZvcmNlRmx1c2g6ITB9KSxkZWxldGUgdGhpcy5fbGlzdHNbdF0sdWUuZmlyZSh0KSxQcm9taXNlLnJlc29sdmUoKX1yZW5hbWVXYXRjaExpc3QoZSx0KXt0aGlzLl91cGRhdGVMaXN0cygpO2NvbnN0e25hbWU6c309ZTtlLm5hbWU9dDtjb25zdCBpPXRoaXMuX2dldExpc3QoZS5pZCk7cmV0dXJuIHRoaXMuc2F2ZUxpc3Qoe2lkOmUuaWQsc3ltYm9sczppP2kuc3ltYm9sczplLnN5bWJvbHMsdGl0bGU6dH0pLGNlLmZpcmUoZS5pZCxzLHQpLFByb21pc2UucmVzb2x2ZShudWxsKX1yZXBsYWNlU3ltYm9scyhlLHQpe2NvbnN0IHM9dGhpcy5fZ2V0TGlzdChlLmlkKTtyZXR1cm4gbnVsbD09PXN8fChzLnN5bWJvbHM9KDAsZGUucmVtb3RlU3ltYm9sc0Zvcm1Mb2NhbFN0YXRlKShlLmlkLHQpLGhlLnBlbmRpbmdPcGVuU2VwYXJhdG9ycy5kZWxldGUoZS5pZCksdGhpcy5zYXZlTGlzdChzKSxvZS5maXJlKGUuaWQpKSxQcm9taXNlLnJlc29sdmUobnVsbCl9YWRkU3ltYm9scyhlLHQpe2lmKGhlLnBlbmRpbmdPcGVuU2VwYXJhdG9ycy5oYXMoZS5pZCkpe2NvbnN0IHQ9KDAsZGUuZ2V0TG9jYWxMaXN0U3ltYm9scykoZS5pZCk7cmV0dXJuIHRoaXMucmVwbGFjZVN5bWJvbHMoZSx0KS50aGVuKCgoKT0+Wy4uLnRdKSl9Y29uc3Qgcz10aGlzLl9nZXRMaXN0KGUuaWQpO3JldHVybiBudWxsPT09cz9Qcm9taXNlLnJlc29sdmUoW10pOihzLnN5bWJvbHMucHVzaCguLi50KSx0aGlzLnNhdmVMaXN0KHMpLG9lLmZpcmUoZS5pZCksUHJvbWlzZS5yZXNvbHZlKFsuLi5zLnN5bWJvbHNdKSl9cmVtb3ZlU3ltYm9scyhlLHQpe2lmKGhlLnBlbmRpbmdPcGVuU2VwYXJhdG9ycy5oYXMoZS5pZCkpe2NvbnN0IHQ9KDAsZGUuZ2V0TG9jYWxMaXN0U3ltYm9scykoZS5pZCk7cmV0dXJuIHRoaXMucmVwbGFjZVN5bWJvbHMoZSx0KS50aGVuKCgoKT0+Wy4uLnRdKSl9Y29uc3Qgcz10aGlzLl9nZXRMaXN0KGUuaWQpO2lmKG51bGw9PT1zKXJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO2NvbnN0IGk9bmV3IFNldCh0KTtyZXR1cm4gcy5zeW1ib2xzPXMuc3ltYm9scy5maWx0ZXIoKGU9PiFpLmhhcyhlKSYmIWkuaGFzKCgwLGRlLnNlcGFyYXRvclJlbW90ZVJlcHJlc2VudGF0aW9uKShlLCExKSkpKSx0aGlzLnNhdmVMaXN0KHMpLG9lLmZpcmUoZS5pZCksUHJvbWlzZS5yZXNvbHZlKFsuLi5zLnN5bWJvbHNdKX1zZXRBY3RpdmUoZSl7cmV0dXJuIHRoaXMuX3NldHRpbmdzLnNldFZhbHVlKHRoaXMuX2FjdGl2ZUxpc3RTZXR0aW5nc0tleSxlLmlkKSxhZS5maXJlKCksUHJvbWlzZS5yZXNvbHZlKG51bGwpfWdldEFjdGl2ZSgpe2NvbnN0IGU9dGhpcy5fZ2V0QWN0aXZlKCk7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl90b1N5bWJvbExpc3QoZSkpfWNoYW5nZURlc2NyaXB0aW9uKGUsdCl7dGhyb3cgbmV3IEVycm9yKCJub3QgaW1wbGVtZW50ZWQiKX1yZW5hbWVTZXBhcmF0b3IoZSx0LHMpe3RoaXMuX3VwZGF0ZUxpc3RzKCk7Y29uc3QgaT10aGlzLl9nZXRMaXN0KGUpO2lmKG51bGw9PT1pKXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7Y29uc3R7b2xkU2VwYXJhdG9yOm4sbmV3U2VwYXJhdG9yOnJ9PSgwLGRlLnJlbW90ZVJlbmFtZVNlcGFyYXRvcnMpKGUsdCxzKSxvPWkuc3ltYm9scy5pbmRleE9mKG4pO3JldHVybi0xPT09b3x8KGkuc3ltYm9sc1tvXT1yLHRoaXMuc2F2ZUxpc3QoaSksb2UuZmlyZShlKSksUHJvbWlzZS5yZXNvbHZlKG51bGwpfXNhdmVMaXN0KGUsdD0hMSl7Y29uc3Qgcz17c3ltYm9sczplLnN5bWJvbHMsdGl0bGU6U3RyaW5nKGUudGl0bGUpfTt0aGlzLl9zZXR0aW5ncy5zZXRKU09OKGBzYXZlZHdhdGNoLiR7ZS5pZH1gLHMse2ZvcmNlRmx1c2g6ITAsc2tpcENyb3NzV2luZG93RXZlbnQ6dH0pLHRoaXMuX2xpc3RzW2UuaWRdPXN9Z2V0Q3VzdG9tV2F0Y2hsaXN0KGUpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9X2NyZWF0ZUxpc3QoZSx0PSExKXtjb25zdCBzPXtpZDplLmlkPz8oMCxuZS5yYW5kb21IYXNoKSgpLHN5bWJvbHM6ZS5zeW1ib2xzLHRpdGxlOmUudGl0bGV9O3JldHVybiB0aGlzLnNhdmVMaXN0KHMsdCksc31fZ2V0TGlzdChlKXtpZih0aGlzLl91cGRhdGVMaXN0cygpLHRoaXMuX2xpc3RzLmhhc093blByb3BlcnR5KGUpKXtjb25zdCB0PXRoaXMuX2xpc3RzW2VdO3JldHVybntpZDplLHN5bWJvbHM6dC5zeW1ib2xzLnNsaWNlKCksdGl0bGU6dC50aXRsZX19cmV0dXJuIG51bGx9X3RvU3ltYm9sTGlzdChlKXtjb25zdHtzeW1ib2xzOnQsY29sbGFwc2VkU2VwYXJhdG9yczpzfT0oMCxkZS5sb2NhbENvbGxhcHNlU3RhdGVGcm9tUmVtb3RlU3ltYm9scykoZS5zeW1ib2xzKTtyZXR1cm57dHlwZToiY3VzdG9tIixpZDplLmlkLG5hbWU6ZS50aXRsZSxkZXNjcmlwdGlvbjpudWxsLHN5bWJvbHM6dCxzaGFyZWQ6ITEsY29sbGFwc2VkU2VwYXJhdG9yczpzLHBlcnNpc3RlZFN0YXRlOm51bGx9fV91cGRhdGVMaXN0cygpe3RoaXMuX2xpc3RzPXt9O3RoaXMuX3NldHRpbmdzLmtleXMoKS5mb3JFYWNoKChlPT57Y29uc3QgdD0vXnNhdmVkd2F0Y2hcLiguKikkLy5leGVjKGUpO2lmKCF0KXJldHVybgo7Y29uc3Qgcz10WzFdLGk9dGhpcy5fc2V0dGluZ3MuZ2V0SlNPTihlLG51bGwpO2kmJihpLnN5bWJvbHN8fChpLnN5bWJvbHM9W10pLHRoaXMuX2xpc3RzW3NdPWkpfSkpfV9nZXRBY3RpdmUoKXtjb25zdCBlPXRoaXMuX3NldHRpbmdzLmdldFZhbHVlKHRoaXMuX2FjdGl2ZUxpc3RTZXR0aW5nc0tleSksW3Qsc109T2JqZWN0LmVudHJpZXModGhpcy5fbGlzdHMpWzBdLGk9e2lkOnQsLi4uc307cmV0dXJuIHZvaWQgMCE9PWUmJnRoaXMuX2dldExpc3QoZSl8fGl9X3BpY2tUaXRsZSgpe3RoaXMuX3VwZGF0ZUxpc3RzKCk7Y29uc3QgZT1PYmplY3Qua2V5cyh0aGlzLl9saXN0cykubWFwKChlPT50aGlzLl9saXN0c1tlXS50aXRsZSkpO2ZvcihsZXQgdD0xOzt0Kyspe2NvbnN0IGk9bC50KG51bGwsdm9pZCAwLHMoMzk3Nzg4KSkrKHQ+MT9gICgke3R9KWA6IiIpO2lmKC0xPT09ZS5pbmRleE9mKGkpKXJldHVybiBpfX19dmFyIG1lPXMoOTU4NTAwKTtjbGFzcyBfZXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9kb2N1bWVudD1lLHRoaXMuaXNGdWxsc2NyZWVuPW5ldyBQLldhdGNoZWRWYWx1ZTtjb25zdCB0PSgpPT57Y29uc3QgZT1bImZ1bGxzY3JlZW5FbGVtZW50Iiwid2Via2l0RnVsbHNjcmVlbkVsZW1lbnQiLCJtb3pGdWxsc2NyZWVuRWxlbWVudCIsIm1vekZ1bGxTY3JlZW5FbGVtZW50IiwibXNGdWxsc2NyZWVuRWxlbWVudCJdO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXtjb25zdCBzPWVbdF07aWYocyBpbiB0aGlzLl9kb2N1bWVudCl7dGhpcy5pc0Z1bGxzY3JlZW4uc2V0VmFsdWUoISF0aGlzLl9kb2N1bWVudFtzXSk7YnJlYWt9fX07dCgpO2Zvcihjb25zdCBzIG9mWyJmdWxsc2NyZWVuY2hhbmdlIiwid2Via2l0ZnVsbHNjcmVlbmNoYW5nZSIsIm1vemZ1bGxzY3JlZW5jaGFuZ2UiLCJNU0Z1bGxzY3JlZW5DaGFuZ2UiXSllLmFkZEV2ZW50TGlzdGVuZXIocyx0LCExKX1lbnRlcigpe2NvbnN0IGU9dGhpcy5fZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O2Zvcihjb25zdCB0IG9mWyJyZXF1ZXN0RnVsbHNjcmVlbiIsIm1velJlcXVlc3RGdWxsU2NyZWVuIiwid2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4iLCJtc1JlcXVlc3RGdWxsc2NyZWVuIl0paWYoImZ1bmN0aW9uIj09dHlwZW9mIGVbdF0pe2VbdF0oKTticmVha310aGlzLmlzRnVsbHNjcmVlbi5zZXRWYWx1ZSghMCl9ZXhpdCgpe2NvbnN0IGU9dGhpcy5fZG9jdW1lbnQ7Zm9yKGNvbnN0IHQgb2ZbImV4aXRGdWxsc2NyZWVuIiwibW96Q2FuY2VsRnVsbFNjcmVlbiIsIm1vekV4aXRGdWxsc2NyZWVuIiwid2Via2l0RXhpdEZ1bGxzY3JlZW4iLCJtc0V4aXRGdWxsc2NyZWVuIl0paWYoImZ1bmN0aW9uIj09dHlwZW9mIGVbdF0pe2VbdF0oKTticmVha310aGlzLmlzRnVsbHNjcmVlbi5zZXRWYWx1ZSghMSl9fWNsYXNzIGdle2NvbnN0cnVjdG9yKGUpe3RoaXMuaXNGdWxsc2NyZWVuPW5ldyBQLldhdGNoZWRWYWx1ZSx0aGlzLl9oYW5kbGVFeGl0PWU9PnsyNyE9PSgwLEouaGFzaEZyb21FdmVudCkoZSl8fGUuZGVmYXVsdFByZXZlbnRlZHx8KGUucHJldmVudERlZmF1bHQoKSx0aGlzLmV4aXQoKSl9LHRoaXMuX2VsZW1lbnQ9ZX1lbnRlcigpe3RoaXMuaXNGdWxsc2NyZWVuLnNldFZhbHVlKCEwKSxaLmVtaXQoIm9uSW50ZXJuYWxGdWxsc2NyZWVuU2hvdyIpLHRoaXMuX2VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5faGFuZGxlRXhpdCl9ZXhpdCgpe3RoaXMuaXNGdWxsc2NyZWVuLnNldFZhbHVlKCExKSxaLmVtaXQoIm9uSW50ZXJuYWxGdWxsc2NyZWVuSGlkZSIpLHRoaXMuX2VsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5faGFuZGxlRXhpdCl9fXZhciB5ZSxmZT1zKDMxNzQ2MiksdmU9cygxMTczMTMpOyFmdW5jdGlvbihlKXtlLlF1aXJrcz0icXVpcmtzIixlLlZpc3VhbD0idmlzdWFsIn0oeWV8fCh5ZT17fSkpO2Z1bmN0aW9uIGJlKGUsdCl7bGV0IHM9MDtmb3IoY29uc3R7bWluOmksbWF4Om59b2YgdCl7aWYoZTxpfHxuPGkpY29udGludWU7Y29uc3QgdD1NYXRoLm1pbihlLG4pO2lmKHM9TWF0aC5tYXgocyx0KSxlPT09cylicmVha31yZXR1cm4gc31mdW5jdGlvbiBTZShlKXtjb25zdCB0PVtdO2lmKHZvaWQgMD09PWUpcmV0dXJuW107QXJyYXkuaXNBcnJheShlKXx8KGU9W2VdKTtmb3IoY29uc3QgcyBvZiBlKXtsZXQgZSxpO2lzRmluaXRlKHMpP2U9aT1OdW1iZXIocyk6KGU9K3MubWluLGk9K3MubWF4KSwoZTwwfHxpc05hTihlKSkmJihlPTApLGlzTmFOKGkpJiYoaT0xLzApLGU8PWkmJmk+MCYmdC5wdXNoKHttaW46ZSxtYXg6aX0pfXJldHVybiB0LnNvcnQoKChlLHQpPT5lLm1pbi10Lm1pbnx8ZS5tYXgtdC5tYXgpKSx0fWZ1bmN0aW9uIHdlKGUsdCl7aWYoZS5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHM9ZS5sZW5ndGg7cy0tOyl7aWYoZVtzXS5taW4hPT10W3NdLm1pbilyZXR1cm4hMTtpZihlW3NdLm1heCE9PXRbc10ubWF4KXJldHVybiExfXJldHVybiEwfXZhciBQZT1zKDY1NzI0NSk7Y29uc3QgVGU9KDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibm9fbWluX2NoYXJ0X3dpZHRoIik7dmFyIENlOyFmdW5jdGlvbihlKXtlW2UuTWluQ2hhcnRIZWlnaHQ9MzAwXT0iTWluQ2hhcnRIZWlnaHQiLGVbZS5NaW5DaGFydFdpZHRoPTMwMF09Ik1pbkNoYXJ0V2lkdGgiLGVbZS5EZWZhdWx0T2Zmc2V0PTRdPSJEZWZhdWx0T2Zmc2V0IixlW2UuVGhpbk9mZnNldD0xXT0iVGhpbk9mZnNldCIsZVtlLlRvcFRvb2xiYXJNYXJnaW49MF09IlRvcFRvb2xiYXJNYXJnaW4ifShDZXx8KENlPXt9KSk7Y29uc3QgRWU9KDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiYnlwYXNzX2NoYXJ0X2hlaWdodF9jaGVjayIpO2Z1bmN0aW9uIEllKGUpe2NvbnN0IHQ9KDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2lkZV90b29sYmFyX2luX2Z1bGxzY3JlZW5fbW9kZSIpLHM9KDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2luX2Z1bGxzY3JlZW5fbW9kZSIpO3JldHVybiJjZW50ZXIiPT09ZXx8ImxlZnQiPT09ZSYmdHx8InRvcCI9PT1lJiZzfHwiYW5hbHlzaXMiPT09ZX0KY29uc3QgTGU9Wy4uLnoobnVsbCwzKV07TGUuc3BsaWNlKDcsMCxCLnRpbWVGcmFtZXNbIjI0bSJdKTt2YXIgTWU9cyg2MzI0NDQpLERlPXMoMjI3ODI1KSx4ZT1zKDYzOTExMyk7Y29uc3QgUmU9e3doaXRlbGFiZWw6ITAscGVybWlzc2lvbk92ZXJyaWRlczohMCxsaW5rQ2FwdHVyaW5nQWxsb3dlZDohMCxzeW1ib2xfc2VhcmNoX2RlZmF1bHRfZXhjaGFuZ2U6ITAsc3ltYm9sX3NlYXJjaF9hbGxvd2VkX2V4Y2hhbmdlczohMH07dmFyIGtlPXMoNDMzNzM1KSxWZT1zKDQwMDE4MSk7dmFyIEFlPXMoODkwODM1KSxGZT1zKDk1MjkwMCksQmU9cyg3ODQ1MTMpO2NsYXNzIE9le2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdmlld3M9bmV3IE1hcCx0aGlzLl92aWV3UmVxdWVzdElkPW51bGwsdGhpcy5fZ2V0Q29udGV4dD1lLHRoaXMuX29uVmlld0NoYW5nZWQ9dH1oYXNWaWV3KGUpe3JldHVybiB0aGlzLl92aWV3cy5oYXMoZSl9cmVnaXN0ZXJWaWV3KGUsdCl7dGhpcy5fdmlld3Muc2V0KGUsdCl9c2hvd1ZpZXcoZSx0KXtpZihudWxsPT09ZSlyZXR1cm4gdm9pZCB0aGlzLl9vblZpZXdDaGFuZ2VkKG51bGwpOygwLHIuYXNzZXJ0KSh0aGlzLmhhc1ZpZXcoZSksYEFuYWx5c2lzIHZpZXcgd2l0aCBhIG5hbWUgIiR7ZX0iIGlzIG5vdCByZWdpc3RlcmVkIWApO2NvbnN0IHM9dGhpcy5fdmlld1JlcXVlc3RJZD0oMCxuZS5yYW5kb21IYXNoKSgpOygwLHIuZW5zdXJlKSh0aGlzLl92aWV3cy5nZXQoZSkpKHQpLnRoZW4oKHQ9PntpZih0aGlzLl92aWV3UmVxdWVzdElkIT09cylyZXR1cm47Y29uc3QgaT10aGlzLl9nZXRDb250ZXh0KGUpO3Quc2V0Q29udGV4dChpKSx0aGlzLl9vblZpZXdDaGFuZ2VkKGUpLHQuc2V0Q2xvc2VBY3Rpb24oKCgpPT57dGhpcy5fb25WaWV3Q2hhbmdlZChudWxsKX0pKSx0LnNob3coKX0pKX19dmFyIE5lPXMoMjk2MjYyKTtjbGFzcyBXZSBleHRlbmRzIE5lLkRpYWxvZ1JlbmRlcmVye2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9kaWFsb2c9bnVsbCx0aGlzLl9yZXF1ZXN0SWQ9bnVsbCx0aGlzLl9zdWJzY3JpYmU9ZT0+e3RoaXMuX3NldFZpc2liaWxpdHkoZSl9fWFzeW5jIHNob3coZSl7Y29uc3QgdD10aGlzLl9yZXF1ZXN0SWQ9KDAsbmUucmFuZG9tSGFzaCkoKSxzPWF3YWl0IHRoaXMucHJlcGFyZShlKTt0PT09dGhpcy5fcmVxdWVzdElkJiZzLnNob3coKX1oaWRlKCl7dGhpcy5fZGlhbG9nPy5oaWRlKCl9cHJlcGFyZShlKXtyZXR1cm4gdGhpcy5fbG9hZChlKX1hc3luYyBfbG9hZChlKXtjb25zdCB0PWF3YWl0IHRoaXMuX3JlbmRlcmVyKCk7cmV0dXJuIHRoaXMuX2RpYWxvZz8uaGlkZSgpLHRoaXMuX2RpYWxvZz8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nPW5ldyB0KGUpLHRoaXMuX2RpYWxvZy52aXNpYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nfX1sZXQgVWU7Y2xhc3MgemUgZXh0ZW5kcyBXZXtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gVWU/Pz1uZXcgemUsVWV9YXN5bmMgX3JlbmRlcmVyKCl7Y29uc3R7Q2hhcnRUYWJsZVZpZXdEaWFsb2dSZW5kZXJlcjplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDIwMzM3KSxzLmUoMjkyOTYpLHMuZSg2MDA2Mikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMjM4NSkscy5lKDk0OTQ4KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDMyODE2KSxzLmUoNTE4NCkscy5lKDU2MjUyKSxzLmUoMTE0NjEpLHMuZSgyNDU4MSkscy5lKDk2NTg3KSxzLmUoMjc1MTcpLHMuZSg5ODA4NCkscy5lKDcwODE1KSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoOTM0MTYpLHMuZSg2NTcpLHMuZSg2MDcwKSxzLmUoNzY2NSkscy5lKDUyOTIwKSxzLmUoNjI2MDApLHMuZSg3NTIxNykscy5lKDk4Njk2KSxzLmUoNzQ2MzYpLHMuZSg3MTk5MSkscy5lKDQ5OTk3KSxzLmUoMzIzODcpLHMuZSgyMzc0Mykscy5lKDY2MjM1KSxzLmUoMzY5MzgpLHMuZSg2NzkzMCkscy5lKDQ2NjUwKV0pLnRoZW4ocy5iaW5kKHMsNDA2MTgzKSk7cmV0dXJuIGV9fXZhciBIZT1zKDMwODM4OCksamU9cyg3MzEwOTEpLCRlPXMoMzUzODEpO2xldCBxZSxLZSxZZSxHZSxKZSxYZSxRZTtjbGFzcyBaZSBleHRlbmRzIFdle2FzeW5jIHByZXBhcmUoZSl7Y29uc3QgdD1lPy5zeW1ib2w/ZS5zeW1ib2w6cC5saW5raW5nLnByb1N5bWJvbC52YWx1ZSgpO2lmKGU/LnNuYXBzaG90KXtjb25zdHtzbmFwc2hvdDpzfT1lO3JldHVybiBzdXBlci5wcmVwYXJlKHsuLi5lLHN5bWJvbDp0LC4uLnMsZXhjaGFuZ2U6cy5saXN0ZWRfZXhjaGFuZ2V9KX17Y29uc3QgaT1hc3luYygpPT57Y29uc3R7c25hcHNob3RlcjplfT1hd2FpdCBzLmUoNzExODUpLnRoZW4ocy5iaW5kKHMsMzIwNTUpKTtyZXR1cm4gZSgpLmdldFNuYXBzaG90KHQsbmV3IFNldCgkZS5URUNITklDQUxTX1FTX0ZJRUxEUykpfSxbLG5dPWF3YWl0IFByb21pc2UuYWxsKFt0aGlzLl9yZW5kZXJlcigpLGkoKV0pO3JldHVybiJlcnJvciI9PT1uLnN0YXR1cz9zdXBlci5wcmVwYXJlKHsuLi5lLHN5bWJvbDp0fSk6c3VwZXIucHJlcGFyZSh7Li4uZSxzeW1ib2w6dCwuLi5uLnZhbHVlcyxleGNoYW5nZTpuLnZhbHVlcy5saXN0ZWRfZXhjaGFuZ2V9KX19YXN5bmMgY2FuQmVTaG93bihlKXtjb25zdCB0PWV8fHAubGlua2luZy5wcm9TeW1ib2wudmFsdWUoKTtpZighdClyZXR1cm4hMTtjb25zdCBpPW5ldyBTZXQoWy4uLiRlLlRFQ0hOSUNBTFNfUVNfRklFTERTLCJkZXNjcmlwdGlvbiJdKSxuPWF3YWl0KGFzeW5jKCk9Pntjb25zdHtzbmFwc2hvdGVyOmV9PWF3YWl0IHMuZSg3NDM0MSkudGhlbihzLmJpbmQocywzMjA1NSkpO3JldHVybiBlKCkuZ2V0U25hcHNob3QodCxpKX0pKCk7aWYoImVycm9yIj09PW4uc3RhdHVzKXJldHVybiExO2NvbnN0e3ZhbHVlczp7dHlwZTpyLGxpc3RlZF9leGNoYW5nZTpvLGRlc2NyaXB0aW9uOmF9fT1uO2lmKCFqZS5TWU1CT0xfVFlQRV9CTEFDS19MSVNULmhhcyhyKSl0cnl7Y29uc3QgZT1hd2FpdCgwLApIZS5nZXRTeW1ib2xEYXRhKShudWxsLHQsWyJSZWNvbW1lbmQuQWxsIl0pO3JldHVybiBCb29sZWFuKGUmJjAhPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgmJmEmJm8mJnIpfWNhdGNoKGUpe3JldHVybiExfXJldHVybiExfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBxZXx8KHFlPW5ldyBaZSkscWV9YXN5bmMgX3JlbmRlcmVyKCl7Y29uc3R7VGVjaG5pY2Fsc0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoNDAxNTcpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSgyMzYyNCkscy5lKDI5NTM2KSxzLmUoMzI4MTYpLHMuZSgyNzUxNykscy5lKDk1MDQpLHMuZSg5ODA4NCkscy5lKDQ3NjMyKSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoNjU3KSxzLmUoOTE4NTUpLHMuZSg2MDcwKSxzLmUoNTgwNTEpLHMuZSgzNzc2Nykscy5lKDI2MTAwKSxzLmUoOWUzKSxzLmUoMzY5ODYpLHMuZSgyNzA4NSkscy5lKDg2MDg3KSxzLmUoMzIzODcpLHMuZSg0MjI4OCkscy5lKDY2MjM1KSxzLmUoNzQ5NjIpXSkudGhlbihzLmJpbmQocywxOTUwNTApKTtyZXR1cm4gZX19Y2xhc3MgZXQgZXh0ZW5kcyBXZXtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gS2V8fChLZT1uZXcgZXQpLEtlfWFzeW5jIF9yZW5kZXJlcigpe2NvbnN0e0ZpbmFuY2lhbHNEaWFsb2dSZW5kZXJlcjplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDU0ODYpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNTIzOTYpLHMuZSg2MDA2Mikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMzQ5Mikscy5lKDM3NzQ2KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDIzNjI0KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDk0MjMyKSxzLmUoMzI4MTYpLHMuZSg1MTg0KSxzLmUoNTYyNTIpLHMuZSg4MzQ4OCkscy5lKDE5NTk1KSxzLmUoMTk3ODcpLHMuZSg2Nzc5OSkscy5lKDExNDYxKSxzLmUoOTY1ODcpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoMzc1MTMpLHMuZSg4NTc5KSxzLmUoOTUwNCkscy5lKDcyNjY2KSxzLmUoOTgwODQpLHMuZSg0OTU4OCkscy5lKDEwMzg1KSxzLmUoNTIwNjUpLHMuZSg0NzYzMikscy5lKDY2MDUpLHMuZSg1MDIyMSkscy5lKDMzNTE1KSxzLmUoMTQ2MjUpLHMuZSg3MTQxNCkscy5lKDY1Nykscy5lKDU3MzAwKSxzLmUoOTE4NTUpLHMuZSgzMjE3Nikscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDk3NDQpLHMuZSg1ODA1MSkscy5lKDE5NTEzKSxzLmUoODg2NDEpLHMuZSg0MDg2Nykscy5lKDUwODAwKSxzLmUoNzY2NSkscy5lKDI3MzM3KSxzLmUoMzAzNzMpLHMuZSgyMTU4MSkscy5lKDIwMjcxKSxzLmUoMTg0NDIpLHMuZSg0NzA5Mikscy5lKDc2MzI5KSxzLmUoMzkxNikscy5lKDY4OTY0KSxzLmUoMjEyNDUpLHMuZSg1Njg5KSxzLmUoMjU1NjIpLHMuZSgyOTM0OCkscy5lKDg4Mzg1KSxzLmUoMTc4NjUpLHMuZSgyODkzNikscy5lKDE4Njc0KSxzLmUoMTI1MjcpLHMuZSgyNTExKSxzLmUoODA3NjEpLHMuZSgxNTM4Mykscy5lKDQwOTAyKSxzLmUoMTI0MTIpLHMuZSgzMjM4Nykscy5lKDQ0NzgwKSxzLmUoMjM3NDMpLHMuZSg0MjI4OCkscy5lKDY2MjM1KSxzLmUoNzc1NzgpLHMuZSg4MzkzNSkscy5lKDM5NjA2KSxzLmUoMjg4NjQpLHMuZSgzNzI1OSkscy5lKDE5MjYxKSxzLmUoMjU0ODIpLHMuZSg3NjI3NCldKS50aGVuKHMuYmluZChzLDI4ODUyMikpO3JldHVybiBlfX1jbGFzcyB0dCBleHRlbmRzIFdle3N0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBZZXx8KFllPW5ldyB0dCksWWV9YXN5bmMgX3JlbmRlcmVyKCl7Y29uc3R7U2Vhc29uYWxzRGlhbG9nUmVuZGVyZXI6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSg2MTk1MCkscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg5NDk0OCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSgzMjgxNikscy5lKDU2MjUyKSxzLmUoODM0ODgpLHMuZSg2Nzc5OSkscy5lKDExNDYxKSxzLmUoOTY1ODcpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoODY0MjMpLHMuZSgzNzUxMykscy5lKDQwODM1KSxzLmUoOTgwODQpLHMuZSg5MzQyMSkscy5lKDc4NjUyKSxzLmUoNDk1ODgpLHMuZSg1MDIyMSkscy5lKDMzNTE1KSxzLmUoMTQ2MjUpLHMuZSg2NTcpLHMuZSgzNTc5NCkscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDk3NjYwKSxzLmUoMjE1ODEpLHMuZSgxODQ0Mikscy5lKDU2MDMpLHMuZSgxNDY0MCkscy5lKDYxNDEzKSxzLmUoMTYzOTkpLHMuZSg0NTI0Mikscy5lKDU5ODMwKSxzLmUoODQyMjQpLHMuZSg0MzkxOSkscy5lKDMyMzg3KSxzLmUoNzgzMTIpLHMuZSg0NDc4MCkscy5lKDIzNzQzKSxzLmUoNjYyMzUpLHMuZSg4MzE1NCkscy5lKDcwOTU3KSxzLmUoMzg0NDkpXSkudGhlbihzLmJpbmQocyw5NDc3OTMpKTtyZXR1cm4gZX19Y2xhc3Mgc3QgZXh0ZW5kcyBXZXtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gR2V8fChHZT1uZXcgc3QpLEdlfWFzeW5jIF9yZW5kZXJlcigpewpjb25zdHtBbmFseXNpc0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoMTQ5MjYpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDIzNjI0KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDMyODE2KSxzLmUoNTE4NCkscy5lKDU2MjUyKSxzLmUoODM0ODgpLHMuZSgxOTU5NSkscy5lKDE5Nzg3KSxzLmUoNjc3OTkpLHMuZSgxMTQ2MSkscy5lKDk2NTg3KSxzLmUoMTEyMTgpLHMuZSgyNzUxNykscy5lKDM3NTEzKSxzLmUoODU3OSkscy5lKDk1MDQpLHMuZSg5ODA4NCkscy5lKDQ5NTg4KSxzLmUoNDc2MzIpLHMuZSg1MDIyMSkscy5lKDMzNTE1KSxzLmUoMTQ2MjUpLHMuZSg3MTQxNCkscy5lKDY1Nykscy5lKDMyNzQ4KSxzLmUoOTE4NTUpLHMuZSgzMjE3Nikscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDk3NDQpLHMuZSg1ODA1MSkscy5lKDE5NTEzKSxzLmUoMzAzNzMpLHMuZSgyMTU4MSkscy5lKDIwMjcxKSxzLmUoNDcwOTIpLHMuZSg1NjAzKSxzLmUoNzYzMjkpLHMuZSgzOTE2KSxzLmUoMjEyNDUpLHMuZSgyNTU2Mikscy5lKDgwNzgyKSxzLmUoNTcyNTQpLHMuZSgxNjM5OSkscy5lKDI5MzQ4KSxzLmUoNzM4Nykscy5lKDg4Mzg1KSxzLmUoMTc4NjUpLHMuZSg0NzAyMSkscy5lKDYzMDMzKSxzLmUoMTg2NzQpLHMuZSgxMjUyNykscy5lKDYzNzIzKSxzLmUoMTQ2OTcpLHMuZSg1MDc0Mykscy5lKDcwMjU1KSxzLmUoODE4MTgpLHMuZSg0MDkwMikscy5lKDc4MTgyKSxzLmUoMzIzODcpLHMuZSg3ODMxMikscy5lKDQ0NzgwKSxzLmUoMjM3NDMpLHMuZSg0MjI4OCkscy5lKDY2MjM1KSxzLmUoNzc1NzgpLHMuZSg4MzE1NCkscy5lKDgzOTM1KSxzLmUoMzk2MDYpLHMuZSgzNzEwNikscy5lKDI4ODY0KSxzLmUoMTkyNjEpLHMuZSg3Njc1NSkscy5lKDk5OTM2KSxzLmUoMTUxNjApXSkudGhlbihzLmJpbmQocyw5MTE3MykpO3JldHVybiBlfX1jbGFzcyBpdCBleHRlbmRzIFdle2FzeW5jIGNhbkJlU2hvd24oZSl7Y29uc3QgdD1lfHxwLmxpbmtpbmcucHJvU3ltYm9sLnZhbHVlKCksaT1uZXcgU2V0KFsicmVjb21tZW5kYXRpb25fbWFyayIsInByb19uYW1lIl0pLG49YXdhaXQoYXN5bmMoKT0+e2NvbnN0e3NuYXBzaG90ZXI6ZX09YXdhaXQgcy5lKDY1NjQ2KS50aGVuKHMuYmluZChzLDgwNDI4OCkpO3JldHVybiBlKCkuZ2V0U25hcHNob3QodCxpKX0pKCk7cmV0dXJuISgiZXJyb3IiPT09bi5zdGF0dXN8fCFuLnZhbHVlcy5yZWNvbW1lbmRhdGlvbl9tYXJrKX1zdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gSmV8fChKZT1uZXcgaXQpLEplfWFzeW5jIF9yZW5kZXJlcigpe2NvbnN0e0ZvcmVjYXN0RGlhbG9nUmVuZGVyZXI6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSg5ODM4Mykscy5lKDg0MzA2KSxzLmUoMjkyOTYpLHMuZSg2MDA2Mikscy5lKDQ2OTA3KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDIzNjI0KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDMyODE2KSxzLmUoNTE4NCkscy5lKDgzNDg4KSxzLmUoMTk1OTUpLHMuZSgxOTc4Nykscy5lKDExMjE4KSxzLmUoMjc1MTcpLHMuZSg4NTc5KSxzLmUoOTUwNCkscy5lKDk4MDg0KSxzLmUoNDk1ODgpLHMuZSg0NzYzMikscy5lKDUwMjIxKSxzLmUoMzM1MTUpLHMuZSg0MzMyNSkscy5lKDE0NjI1KSxzLmUoNzE0MTQpLHMuZSg2NTcpLHMuZSgzMjE3Nikscy5lKDYwNzApLHMuZSg5NzQ0KSxzLmUoMzc3NjcpLHMuZSgxOTUxMykscy5lKDMwMzczKSxzLmUoMTg0NDIpLHMuZSg0NzA5Mikscy5lKDM5MTYpLHMuZSgyMTI0NSkscy5lKDI1NTYyKSxzLmUoMjYxMDApLHMuZSg5ZTMpLHMuZSgxNzg2NSkscy5lKDE4Njc0KSxzLmUoNzM5NjApLHMuZSg4MDc2MSkscy5lKDg3NzIxKSxzLmUoMzIzODcpLHMuZSg0NDc4MCkscy5lKDQyMjg4KSxzLmUoNjYyMzUpLHMuZSg3NzU3OCkscy5lKDgzOTM1KSxzLmUoMzk2MDYpLHMuZSgyODg2NCkscy5lKDI1NDgyKSxzLmUoNzQ1MjMpXSkudGhlbihzLmJpbmQocyw3NTMxMjgpKTtyZXR1cm4gZX19Y2xhc3MgbnQgZXh0ZW5kcyBXZXtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gWGV8fChYZT1uZXcgbnQpLFhlfWFzeW5jIF9yZW5kZXJlcigpe2NvbnN0e0Rlcml2YXRpdmVzRGlhbG9nUmVuZGVyZXI6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSgzMzE3Nikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDEyMzg1KSxzLmUoOTQ5NDgpLHMuZSgzNjIyMikscy5lKDI5NTM2KSxzLmUoMzI4MTYpLHMuZSg1NjI1Mikscy5lKDgzNDg4KSxzLmUoMjQ1ODEpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoOTgwODQpLHMuZSg0OTU4OCkscy5lKDUwMjIxKSxzLmUoMzM1MTUpLHMuZSgxNDYyNSkscy5lKDY1Nykscy5lKDMyNzQ4KSxzLmUoMTY3Nikscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDMwMzczKSxzLmUoMjE1ODEpLHMuZSg1NjAzKSxzLmUoMjEyNDUpLHMuZSg1Njg5KSxzLmUoODA3ODIpLHMuZSg1NzI1NCkscy5lKDczODcpLHMuZSgxMjUyNykscy5lKDUwNzQzKSxzLmUoOTYzNTIpLHMuZSgxNTM4Mykscy5lKDU4MDQzKSxzLmUoMzIzODcpLHMuZSg3ODMxMikscy5lKDY2MjM1KSxzLmUoODMxNTQpLHMuZSg3Njc1NSkscy5lKDk0ODIyKV0pLnRoZW4ocy5iaW5kKHMsNzE4NzY0KSk7cmV0dXJuIGV9fWNsYXNzIHJ0IGV4dGVuZHMgV2V7c3RhdGljIGdldEluc3RhbmNlKCl7cmV0dXJuIFFlfHwoUWU9bmV3IHJ0KSxRZX1hc3luYyBfcmVuZGVyZXIoKXsKY29uc3R7T3B0aW9uc0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoMTQ1KSxzLmUoODQzMDYpLHMuZSgyOTI5Nikscy5lKDYwMDYyKSxzLmUoNDY5MDcpLHMuZSgyMDM1NCkscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSg5NDk0OCkscy5lKDIzNjI0KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDMyODE2KSxzLmUoNTE4NCkscy5lKDgzNDg4KSxzLmUoMTk1OTUpLHMuZSgxOTc4Nykscy5lKDY3Nzk5KSxzLmUoMTE0NjEpLHMuZSgyNDU4MSkscy5lKDk2NTg3KSxzLmUoMTEyMTgpLHMuZSgyNzUxNykscy5lKDg2NDIzKSxzLmUoMzc1MTMpLHMuZSg4NTc5KSxzLmUoOTUwNCkscy5lKDQwODM1KSxzLmUoOTgwODQpLHMuZSg5MzQyMSkscy5lKDc4NjUyKSxzLmUoNDk1ODgpLHMuZSg0NzYzMikscy5lKDc0MzgxKSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDQzMzI1KSxzLmUoMTQ2MjUpLHMuZSgxNTUyNikscy5lKDY1Nykscy5lKDU3MzAwKSxzLmUoMTY3Nikscy5lKDkxODU1KSxzLmUoNjA3MCkscy5lKDk3NDQpLHMuZSg1ODA1MSkscy5lKDgzMDQxKSxzLmUoNTE2ODIpLHMuZSgyMDIpLHMuZSg5NzY2MCkscy5lKDMzMTIwKSxzLmUoMzk3ODYpLHMuZSg1NTMzNikscy5lKDYwODIpLHMuZSgxODQ0Mikscy5lKDQ3MDkyKSxzLmUoMjc3MzYpLHMuZSg5MDMzMCkscy5lKDI1Njk4KSxzLmUoMjMzMSkscy5lKDY4NTc5KSxzLmUoNDc1NTEpLHMuZSg0NzU3OSkscy5lKDg3NjczKSxzLmUoMjAwODUpLHMuZSg0NzQ1Nykscy5lKDMyMzg3KSxzLmUoNzgzMTIpLHMuZSg0NDc4MCkscy5lKDIzNzQzKSxzLmUoNDIyODgpLHMuZSg2NjIzNSkscy5lKDcyMTEpLHMuZSg1NzA5Mykscy5lKDY3ODUzKSxzLmUoNDg2NTIpLHMuZSgyODQ0Mikscy5lKDM0OTU0KV0pLnRoZW4ocy5iaW5kKHMsNTI4NTY2KSk7cmV0dXJuIGV9fXZhciBvdD1zKDgzOTQyNik7Y2xhc3MgYXQgZXh0ZW5kcyBXZXtwcmVwYXJlKGUpe2NvbnN0IHQ9ZT8uc3ltYm9sP2Uuc3ltYm9sOnAubGlua2luZy5wcm9TeW1ib2wudmFsdWUoKTtyZXR1cm4gc3VwZXIucHJlcGFyZSh7Li4uZSxzeW1ib2w6dH0pfWFzeW5jIF9yZW5kZXJlcigpe2NvbnN0e0Vjb25vbXlJbmRpY2F0b3JEaWFsb2dSZW5kZXJlcjplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDEyNjYzKSxzLmUoMjkyOTYpLHMuZSg2MDA2Mikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMjM4NSkscy5lKDk0OTQ4KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDk0MjMyKSxzLmUoMzI4MTYpLHMuZSg1NjI1Mikscy5lKDgzNDg4KSxzLmUoNjc3OTkpLHMuZSgxMTQ2MSkscy5lKDI0NTgxKSxzLmUoOTY1ODcpLHMuZSgyNzUxNykscy5lKDM3NTEzKSxzLmUoOTgwODQpLHMuZSg0OTU4OCkscy5lKDcwODE1KSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoMTU1MjYpLHMuZSg5MzQxNikscy5lKDY1Nykscy5lKDUyNjgwKSxzLmUoNjA3MCkscy5lKDk0MDU0KSxzLmUoMzk3ODYpLHMuZSg1NTMzNikscy5lKDE4NDQyKSxzLmUoMTQ2NDApLHMuZSg4MDc4Mikscy5lKDY5ODA5KSxzLmUoNDUyNDIpLHMuZSg4MTgxOCkscy5lKDk2MzUyKSxzLmUoMjU4OTUpLHMuZSg4NDIyNCkscy5lKDI0NjAzKSxzLmUoMjc2OTYpLHMuZSgzMjM4Nykscy5lKDc4MzEyKSxzLmUoNDQ3ODApLHMuZSgyMzc0Mykscy5lKDY2MjM1KSxzLmUoNzIxMSkscy5lKDcwOTU3KSxzLmUoMTAzMjIpLHMuZSgxMTMwNCldKS50aGVuKHMuYmluZChzLDM0NTY4MCkpO3JldHVybiBlfX1jb25zdCBsdD0oMCxvdC5kZWZhdWx0KSgoKCk9Pm5ldyBhdCkpO2NsYXNzIHV0IGV4dGVuZHMgV2V7YXN5bmMgX3JlbmRlcmVyKCl7Y29uc3R7U3RvY2tCb25kc0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoMTE1MjYpLHMuZSg0MjUzNSkscy5lKDg0MzA2KSxzLmUoMjkyOTYpLHMuZSg1MjM5Nikscy5lKDYwMDYyKSxzLmUoNDY5MDcpLHMuZSgyMDM1NCkscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSgxMjM4NSkscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDMyODE2KSxzLmUoNTYyNTIpLHMuZSg4MzQ4OCkscy5lKDE5NTk1KSxzLmUoMTk3ODcpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoODU3OSkscy5lKDk1MDQpLHMuZSgxNzA4Nykscy5lKDcyNjY2KSxzLmUoOTgwODQpLHMuZSg0OTU4OCkscy5lKDQ3NjMyKSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoNjU3KSxzLmUoNTI2ODApLHMuZSg5MTg1NSkscy5lKDEyMDUxKSxzLmUoMzIxNzYpLHMuZSg0MzY0NCkscy5lKDYwNzApLHMuZSg1ODA1MSkscy5lKDcxNDgyKSxzLmUoNTIwOTUpLHMuZSg0NDAzMSkscy5lKDIxNTgxKSxzLmUoODkwNDQpLHMuZSg0Mzc5Mikscy5lKDc4NDA0KSxzLmUoNTYwMykscy5lKDYxNDEzKSxzLmUoNTcyNTQpLHMuZSgxNjM5OSkscy5lKDMwNzg5KSxzLmUoNzExOTApLHMuZSgzMjM4Nykscy5lKDMwNjk5KSxzLmUoNDIyODgpLHMuZSg2NjIzNSkscy5lKDE0ODg5KSxzLmUoNDIyMTIpLHMuZSg2ODcyNSkscy5lKDgwMjA3KSxzLmUoODMxNTQpLHMuZSg2MTQ5NSkscy5lKDE5Nzc2KSxzLmUoNjQ4OSldKS50aGVuKHMuYmluZChzLDc2MDgzOSkpO3JldHVybiBlfX1jb25zdCBjdD0oMCxvdC5kZWZhdWx0KSgoKCk9Pm5ldyB1dCkpO2NsYXNzIGR0IGV4dGVuZHMgV2V7YXN5bmMgX3JlbmRlcmVyKCl7CmNvbnN0e0RvY3VtZW50c0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoNjk4MTIpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDk0OTQ4KSxzLmUoMjM2MjQpLHMuZSgzNjIyMikscy5lKDI5NTM2KSxzLmUoMzI4MTYpLHMuZSg1MTg0KSxzLmUoODM0ODgpLHMuZSg2Nzc5OSkscy5lKDExNDYxKSxzLmUoMjQ1ODEpLHMuZSg5NjU4Nykscy5lKDI3NTE3KSxzLmUoODY0MjMpLHMuZSgzNzUxMykscy5lKDk1MDQpLHMuZSg0MDgzNSkscy5lKDk4MDg0KSxzLmUoOTM0MjEpLHMuZSg3ODY1Mikscy5lKDQ5NTg4KSxzLmUoNDc2MzIpLHMuZSg1MDIyMSkscy5lKDMzNTE1KSxzLmUoMTQ2MjUpLHMuZSgxNTUyNikscy5lKDcxNDE0KSxzLmUoNjU3KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDE2NzYpLHMuZSg2MDcwKSxzLmUoOTc0NCkscy5lKDgzMDQxKSxzLmUoMTk1MTMpLHMuZSg3MTUyOCkscy5lKDU1MzM2KSxzLmUoOTIzOTMpLHMuZSgyNjU5Mikscy5lKDYzMTAwKSxzLmUoMzIzODcpLHMuZSgyMzc0Mykscy5lKDQyMjg4KSxzLmUoNjYyMzUpLHMuZSg3NzU3OCkscy5lKDg5NDYpLHMuZSg1ODQxOCldKS50aGVuKHMuYmluZChzLDUyNjY4MikpO3JldHVybiBlfX1jb25zdCBodD0oMCxvdC5kZWZhdWx0KSgoKCk9Pm5ldyBkdCkpO2NsYXNzIHB0IGV4dGVuZHMgV2V7YXN5bmMgX3JlbmRlcmVyKCl7Y29uc3R7TmV3c0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoNDY4MzEpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDk0OTQ4KSxzLmUoMjM2MjQpLHMuZSgzMjgxNikscy5lKDUxODQpLHMuZSgyNzUxNykscy5lKDk1MDQpLHMuZSg3MjY2Nikscy5lKDQ3NjMyKSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoNjU3KSxzLmUoMzI3NDgpLHMuZSg5MTg1NSkscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDk3NDQpLHMuZSg1ODA1MSkscy5lKDQ1MzY4KSxzLmUoMjAyNzEpLHMuZSg1MTg4MCkscy5lKDE4NDcyKSxzLmUoMjU4MDkpLHMuZSgxNzY5Mykscy5lKDgyMjcxKSxzLmUoMjI0NjQpLHMuZSg3NjY2NCkscy5lKDQ5MjkpLHMuZSg3MTM1MCkscy5lKDMyMzg3KSxzLmUoNDIyODgpLHMuZSg2NjIzNSkscy5lKDk3NjQ3KSxzLmUoMjE0MjYpLHMuZSgxNTM5NCkscy5lKDQ3NTc3KV0pLnRoZW4ocy5iaW5kKHMsOTgyNDc0KSk7cmV0dXJuIGV9fWNvbnN0IG10PSgwLG90LmRlZmF1bHQpKCgoKT0+bmV3IHB0KSk7Y2xhc3MgX3QgZXh0ZW5kcyBXZXthc3luYyBfcmVuZGVyZXIoKXtjb25zdHtFdGZzRGlhbG9nUmVuZGVyZXI6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSgxMTUyNikscy5lKDIxMDgwKSxzLmUoODQzMDYpLHMuZSgyOTI5Nikscy5lKDUyMzk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTM0OTIpLHMuZSgzNzc0Nikscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSg5NDk0OCkscy5lKDIzNjI0KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDk0MjMyKSxzLmUoMzI4MTYpLHMuZSg1NjI1Mikscy5lKDgzNDg4KSxzLmUoMTk1OTUpLHMuZSgxOTc4Nykscy5lKDExMjE4KSxzLmUoMjc1MTcpLHMuZSg4NTc5KSxzLmUoOTUwNCkscy5lKDE3MDg3KSxzLmUoNzI2NjYpLHMuZSg5ODA4NCkscy5lKDQ5NTg4KSxzLmUoNDc2MzIpLHMuZSg1MDIyMSkscy5lKDMzNTE1KSxzLmUoMTQ2MjUpLHMuZSg2NTcpLHMuZSg1MjY4MCkscy5lKDkxODU1KSxzLmUoMTIwNTEpLHMuZSgzMjE3Nikscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDU4MDUxKSxzLmUoNzE0ODIpLHMuZSg1MjA5NSkscy5lKDQ0MDMxKSxzLmUoMjE1ODEpLHMuZSg4OTA0NCkscy5lKDQzNzkyKSxzLmUoNzg0MDQpLHMuZSg1NjAzKSxzLmUoNjE0MTMpLHMuZSg1NzI1NCkscy5lKDE2Mzk5KSxzLmUoMzA3ODkpLHMuZSg3MDI4MCkscy5lKDMyMzg3KSxzLmUoMzA2OTkpLHMuZSg0MjI4OCkscy5lKDY2MjM1KSxzLmUoMTQ4ODkpLHMuZSg0MjIxMikscy5lKDY4NzI1KSxzLmUoODAyMDcpLHMuZSg4MzE1NCkscy5lKDYxNDk1KSxzLmUoMTk3NzYpLHMuZSg4MjA4KV0pLnRoZW4ocy5iaW5kKHMsNjY4NDgwKSk7cmV0dXJuIGV9fWNvbnN0IGd0PSgwLG90LmRlZmF1bHQpKCgoKT0+bmV3IF90KSk7Y2xhc3MgeXQgZXh0ZW5kcyBXZXthc3luYyBfcmVuZGVyZXIoKXtjb25zdHtGb3J3YXJkQ3VydmVEaWFsb2dSZW5kZXJlcjplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDE0OTkxKSxzLmUoMjkyOTYpLHMuZSg2MDA2Mikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMjM4NSkscy5lKDk0OTQ4KSxzLmUoMjk1MzYpLHMuZSgzMjgxNikscy5lKDU2MjUyKSxzLmUoMTEyMTgpLHMuZSgyNzUxNykscy5lKDk4MDg0KSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoNjU3KSxzLmUoNDM2NDQpLHMuZSg2MDcwKSxzLmUoMzAzNzMpLHMuZSgyMTU4MSkscy5lKDU2MDMpLHMuZSg1Njg5KSxzLmUoNjE0MTMpLHMuZSg5OTk0NCkscy5lKDUzMjI4KSxzLmUoMzIzODcpLHMuZSg2NjIzNSkscy5lKDgzMTU0KSxzLmUoODUxMDgpLHMuZSg2ODUxOSldKS50aGVuKHMuYmluZChzLDgzMjM0NSkpO3JldHVybiBlfX1jb25zdCBmdD0oMCxvdC5kZWZhdWx0KSgoKCk9Pm5ldyB5dCkpO2xldCB2dDtjbGFzcyBidCBleHRlbmRzIFdle3N0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiB2dHx8KHZ0PW5ldyBidCksdnR9YXN5bmMgX3JlbmRlcmVyKCl7CmNvbnN0e0JvbmRZaWVsZEN1cnZlRGlhbG9nUmVuZGVyZXI6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSg1NDkwNCkscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg5NDk0OCkscy5lKDI5NTM2KSxzLmUoMzI4MTYpLHMuZSg1NjI1Mikscy5lKDExMjE4KSxzLmUoMjc1MTcpLHMuZSg5ODA4NCkscy5lKDUwMjIxKSxzLmUoMzM1MTUpLHMuZSgxNDYyNSkscy5lKDY1Nykscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDMwMzczKSxzLmUoMjE1ODEpLHMuZSg1NjAzKSxzLmUoNTY4OSkscy5lKDYxNDEzKSxzLmUoOTk5NDQpLHMuZSg2OTE4NSkscy5lKDMyMzg3KSxzLmUoNjYyMzUpLHMuZSg4MzE1NCkscy5lKDg1MTA4KSxzLmUoMzcyMTMpXSkudGhlbihzLmJpbmQocyw0OTU3MTYpKTtyZXR1cm4gZX19Y2xhc3MgU3QgZXh0ZW5kcyBXZXthc3luYyBfcmVuZGVyZXIoKXtjb25zdHtDb250cmFjdHNEaWFsb2dSZW5kZXJlcjplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDExNTI2KSxzLmUoMzkzNykscy5lKDg0MzA2KSxzLmUoMjkyOTYpLHMuZSg1MjM5Nikscy5lKDYwMDYyKSxzLmUoNDY5MDcpLHMuZSgyMDM1NCkscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSgxMjM4NSkscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDMyODE2KSxzLmUoNTYyNTIpLHMuZSg4MzQ4OCkscy5lKDE5NTk1KSxzLmUoMTk3ODcpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoODU3OSkscy5lKDk1MDQpLHMuZSgxNzA4Nykscy5lKDcyNjY2KSxzLmUoOTgwODQpLHMuZSg0OTU4OCkscy5lKDQ3NjMyKSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoNjU3KSxzLmUoNTI2ODApLHMuZSg5MTg1NSkscy5lKDEyMDUxKSxzLmUoMzIxNzYpLHMuZSg0MzY0NCkscy5lKDYwNzApLHMuZSg1ODA1MSkscy5lKDcxNDgyKSxzLmUoNTIwOTUpLHMuZSg0NDAzMSkscy5lKDIxNTgxKSxzLmUoODkwNDQpLHMuZSg0Mzc5Mikscy5lKDc4NDA0KSxzLmUoNTYwMykscy5lKDYxNDEzKSxzLmUoNTcyNTQpLHMuZSgxNjM5OSkscy5lKDMwNzg5KSxzLmUoODc0OTgpLHMuZSgzMjM4Nykscy5lKDMwNjk5KSxzLmUoNDIyODgpLHMuZSg2NjIzNSkscy5lKDE0ODg5KSxzLmUoNDIyMTIpLHMuZSg2ODcyNSkscy5lKDgwMjA3KSxzLmUoODMxNTQpLHMuZSg2MTQ5NSkscy5lKDE5Nzc2KSxzLmUoMzQ1NTUpXSkudGhlbihzLmJpbmQocyw3MDYwNTMpKTtyZXR1cm4gZX19Y29uc3Qgd3Q9KDAsb3QuZGVmYXVsdCkoKCgpPT5uZXcgU3QpKTtjbGFzcyBQdCBleHRlbmRzIFdle2FzeW5jIF9yZW5kZXJlcigpe2NvbnN0e0NvbW11bml0eURpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoMzcwOTEpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDk0OTQ4KSxzLmUoMjM2MjQpLHMuZSgzNjIyMikscy5lKDI5NTM2KSxzLmUoOTQyMzIpLHMuZSgzMjgxNikscy5lKDUxODQpLHMuZSg4MzQ4OCkscy5lKDE5NTk1KSxzLmUoNjc3OTkpLHMuZSgxMTQ2MSkscy5lKDI0NTgxKSxzLmUoOTY1ODcpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoODY0MjMpLHMuZSgzNzUxMykscy5lKDk1MDQpLHMuZSg0MDgzNSkscy5lKDk4MDg0KSxzLmUoOTM0MjEpLHMuZSg3ODY1Mikscy5lKDQ5NTg4KSxzLmUoNDc2MzIpLHMuZSg3NDM4MSkscy5lKDUwMjIxKSxzLmUoMzM1MTUpLHMuZSgxNDYyNSkscy5lKDE1NTI2KSxzLmUoNzE0MTQpLHMuZSg2NTcpLHMuZSg1NzMwMCkscy5lKDUyNjgwKSxzLmUoMzU3OTQpLHMuZSgzMjc0OCkscy5lKDE2NzYpLHMuZSg2MDcwKSxzLmUoOTc0NCkscy5lKDgzMDQxKSxzLmUoNzE0ODIpLHMuZSgzNzc2Nykscy5lKDE5NTEzKSxzLmUoOTc2NjApLHMuZSg3MTUyOCkscy5lKDk0MDU0KSxzLmUoNDUzNjgpLHMuZSg0NDc3KSxzLmUoNTUzMzYpLHMuZSg3NjY1KSxzLmUoOTIzOTMpLHMuZSgxODQ0Mikscy5lKDkxNjc4KSxzLmUoNjk3NDcpLHMuZSgzODg2OCkscy5lKDE2NDIxKSxzLmUoMTQ2NDApLHMuZSg0MDQyKSxzLmUoMjIxNDQpLHMuZSg4MzUyOSkscy5lKDU5ODMwKSxzLmUoNTk0MzcpLHMuZSg3MDc1Nikscy5lKDc0NTYpLHMuZSg2Mjg5Mikscy5lKDI2NTkyKSxzLmUoNzQyMzMpLHMuZSg3MTk5MSkscy5lKDEyNjY2KSxzLmUoNjg2ODYpLHMuZSgzMjM4Nykscy5lKDgxODY4KSxzLmUoNDMyMykscy5lKDIzNzQzKSxzLmUoNDIyODgpLHMuZSg2NjIzNSkscy5lKDc3NTc4KSxzLmUoODk0Nikscy5lKDMwNDIxKSxzLmUoMjk4NDQpLHMuZSg5NjA3OCkscy5lKDk0MDg1KV0pLnRoZW4ocy5iaW5kKHMsNDU0OTM2KSk7cmV0dXJuIGV9fWNvbnN0IFR0PSgwLG90LmRlZmF1bHQpKCgoKT0+bmV3IFB0KSk7dmFyIEN0PXMoODczNzk0KSxFdD1zKDQzMzUzNCk7cyg2NjgyOTYpO2NvbnN0IEl0PXdpbmRvdy5pbml0RGF0YSxMdD13aW5kb3cuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMsTXQ9ZnVuY3Rpb24oZSx0PVtdLHMpe3JldHVybiBmdW5jdGlvbihlLHQscyxpPVtdLG4pe2NvbnN0IHI9cy5zbGljZSgxKSxvPWRlY29kZVVSSUNvbXBvbmVudChyKTtsZXQgYT17fTt0cnl7IiIhPT1vJiYoYT1KU09OLnBhcnNlKG8pLHZvaWQgMCE9PW4mJm4oZSxhKSxPYmplY3Qua2V5cyhhKS5mb3JFYWNoKChlPT57KFJlW2VdfHxpLmluY2x1ZGVzKGUpKSYmZGVsZXRlIGFbZV19KSkpfWNhdGNoKGUpe2E9e30sY29uc29sZS53YXJuKCJIYXNoIHBhcmFtcyBwYXJzaW5nIGVycm9yISBIYXNoIHBhcmFtcyBpZ25vcmVkLiIpfWNvbnN0IGw9dC5zbGljZSgxKSx1PXQuaW5jbHVkZXMoIiUiKT9kZWNvZGVVUklDb21wb25lbnQobCk6dCxjPW5ldyBVUkxTZWFyY2hQYXJhbXModSk7bGV0IGQ9e307dHJ5e2MuZm9yRWFjaCgoKGUsdCk9PntpLmluY2x1ZGVzKHQpfHwoZFt0XT1lKX0pKSx2b2lkIDAhPT1uJiZuKGUsZCl9Y2F0Y2goZSl7ZD17fSwKY29uc29sZS53YXJuKCJTZWFyY2ggcXVlcnkgcGFyYW1zIHBhcnNpbmcgZXJyb3IhIFNlYXJjaCBxdWVyeSBwYXJhbXMgaWdub3JlZC4iKX1yZXR1cm4gT2JqZWN0LmFzc2lnbih7fSxlLGEsZCl9KGUsbG9jYXRpb24uc2VhcmNoLGxvY2F0aW9uLmhhc2gsdCxzKX0oTHQpO3RyeXshYXN5bmMgZnVuY3Rpb24oZSl7TWF0aC5yYW5kb20oKT4uMDA1fHwoYXdhaXQoMCxWZS5nZXRUcmFja2VyKSgpKT8udHJhY2tTZWxmRGVzYygiaWdsdTpjb20udHJhZGluZ3ZpZXcvd2lkZ2V0X2xvYWRfbWV0YV9pbmZvL2pzb25zY2hlbWEvMS0wLTAiLGUpfSh7d2lkZ2V0X2lkOiJhZHZhbmNlZC1jaGFydCIsc3ltYm9sczpKU09OLnN0cmluZ2lmeShbTXQuc3ltYm9sXSksY3VzdG9tZXI6TXQuY3VzdG9tZXJ9KX1jYXRjaHt9Y29uc3QgRHQ9dm9pZCAwIT09TXQuZXh0ZW5kZWRfaG91cnM/YXMoTXQuZXh0ZW5kZWRfaG91cnMpPyJleHRlbmRlZCI6InJlZ3VsYXIiOnZvaWQgMCE9PUx0LmRlZl9leHRlbmRlZF9ob3Vycz9hcyhMdC5kZWZfZXh0ZW5kZWRfaG91cnMpPyJleHRlbmRlZCI6InJlZ3VsYXIiOkx0LmRlZl9zZXNzaW9uX2lkO2NvbnN0IHh0PUx0LmN1c3RvbWVyLFJ0PUx0LmN1c3RvbWVyUmVhZGFibGVOYW1lLGt0PU10LnJhbmdlfHxMdC5kZWZfcmFuZ2UsVnQ9YXMoTXQud2l0aGRhdGVyYW5nZXM/P0x0LmRlZl93aXRoZGF0ZXJhbmdlcyksQXQ9YXMoTXQuc2F2ZV9pbWFnZT8/SXQuZGVmX3NhdmVfaW1hZ2UsITApO2xldCBGdDsodm9pZCAwPT09TXQuYWxsb3dfc3ltYm9sX2NoYW5nZT9hcyhMdC5kZWZfaGlkZV9zeW1ib2xfZWRpdCk6IWFzKE10LmFsbG93X3N5bWJvbF9jaGFuZ2UpKSYmKCgwLG8uc2V0RW5hYmxlZCkoImhlYWRlcl9zeW1ib2xfc2VhcmNoIiwhMSksKDAsby5zZXRFbmFibGVkKSgiZGlzYWJsZV9sZWdlbmRfaW5wbGFjZV9zeW1ib2xfY2hhbmdlIiwhMCksKDAsby5zZXRFbmFibGVkKSgic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwhMSkpLCgwLG8uc2V0RW5hYmxlZCkoImhlYWRlcl9zY3JlZW5zaG90IixCb29sZWFuKEF0KSksImJvdmVzcGEiPT09eHQmJigoMCxvLmRpc2FibGUpKCJoZWFkZXJfc2V0dGluZ3MiKSxGdD1be3N5bWJvbDoiSUJPViIsdGl0bGU6IkJvdmVzcGEgSW5kZXgifSx7c3ltYm9sOiJJQlhYIix0aXRsZToiQnJhemlsIDEwMCBJbmRleCJ9LHtzeW1ib2w6IklCWEwiLHRpdGxlOiJCcmF6aWwgNTAgSW5kZXgifSx7c3ltYm9sOiJJQlJBIix0aXRsZToiQnJhemlsIEJyb2FkLUJhc2VkIEluZGV4In0se3N5bWJvbDoiSUdDWCIsdGl0bGU6IlNwZWNpYWwgQ29ycG9yYXRlIEdvdmVybmFuY2UgU3RvY2sgSW5kZXgifSx7c3ltYm9sOiJJVEFHIix0aXRsZToiU3BlY2lhbCBUYWctQWxvbmcgU3RvY2sgSW5kZXgifSx7c3ltYm9sOiJJR05NIix0aXRsZToiTm92byBNZXJjYWRvIENvcnBvcmF0ZSBHb3Zlcm5hbmNlIEVxdWl0eSBJbmRleCJ9XSksd2luZG93LnBybz1uZXcgYy5Qcm8od2luZG93LnNob3BDb25mKTtsZXQgQnQ9TXQuc3ltYm9sfHxMdC5kZWZfc3ltYm9sfHwoMCxoLmdldERlZmF1bHRTeW1ib2wpKCk7ImNtZSI9PT1NdC5zeW1ib2xvZ3kmJihCdD0oZT0+e2NvbnN0IHQ9bmV3KF8oKS5TeW1ib2xUb2tlbikoZSk7aWYoIXQucm9vdCgpKXJldHVybiBlO2NvbnN0IHM9ZC5DTUVUb1RWU3ltYm9sb2d5QWRhcHRlci5jb252ZXJ0U3ltYm9sRGF0YVRvVFYodC5yb290KCksdC5leGNoYW5nZSgpLE10LnZlbnVlPz8iIik7cmV0dXJuIm9rIiE9PXMuc3RhdHVzP2U6KHMuZGF0YS5zeW1ib2wmJnQucm9vdChzLmRhdGEuc3ltYm9sKSxzLmRhdGEuZXhjaGFuZ2UmJnQuZXhjaGFuZ2Uocy5kYXRhLmV4Y2hhbmdlKSx0LnRvU3RyaW5nKCkpfSkoQnQpKTtjb25zdCBPdD15KCkocGFyZW50KSxOdD1bXTtsZXQgV3QsVXQ9W107aWYoTXQud2F0Y2hsaXN0JiYoVXQ9KEFycmF5LmlzQXJyYXkoTXQud2F0Y2hsaXN0KT9NdC53YXRjaGxpc3Q6TXQud2F0Y2hsaXN0LnNwbGl0KC9ceDFmLykpLm1hcCgoZT0+ZS50cmltKCkpKS5maWx0ZXIoQm9vbGVhbikpLFV0Lmxlbmd0aHx8TXQuZWRpdGFibGV3YXRjaGxpc3Qpe2NvbnN0IGU9e3R5cGU6IndhdGNobGlzdCIscHJvcGVydGllczp7bGlzdDpVdH19O2UucmVhZG9ubHk9IU10LmVkaXRhYmxld2F0Y2hsaXN0LE10LmVkaXRhYmxld2F0Y2hsaXN0PyhlLmRhdGE9e2hpZGVUaXRsZUJ1dHRvbjohMH0sZS5zZXR0aW5nc0tleT0ib253aWRnZXQud2F0Y2hsaXN0IixlLnVuQXV0aEVkaXRhYmxlPSEwLGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IHBlKGUpOygwLHRlLnJlZ2lzdGVyU2VydmljZSkoc2UuU1lNQk9MX0xJU1RfUkVQT1NJVE9SWV9CQUNLRU5EX1NFUlZJQ0UsdCl9KFV0KSk6ZnVuY3Rpb24oZSl7Y29uc3QgdD1uZXcgaWUoZSk7KDAsdGUucmVnaXN0ZXJTZXJ2aWNlKShzZS5TWU1CT0xfTElTVF9SRVBPU0lUT1JZX0JBQ0tFTkRfU0VSVklDRSx0KX0oVXQpLE50LnB1c2goZSl9YXMoTXQuZGV0YWlscykmJk50LnB1c2goe3R5cGU6ImRldGFpbCJ9KSx2b2lkIDAhPT1NdC53aWRnZXRiYXJfd2lkdGgmJihXdD0rTXQud2lkZ2V0YmFyX3dpZHRoKSwoIVd0fHwhaXNGaW5pdGUoV3QpfHxXdDwyMDApJiYoV3Q9MjAwKTtjb25zdCB6dD1OdC5sZW5ndGg/W3tuYW1lOiJiYXNlIix0aXRsZTpsLnQobnVsbCx2b2lkIDAscyg3MTYwNjYpKSxpY29uOkN0LHdpZGdldHM6TnQubWFwKChlPT5lKSl9XTpbXTtNdC5ob3RsaXN0JiZ6dC5wdXNoKHtuYW1lOiJob3RsaXN0Iix0aXRsZTpsLnQobnVsbCx2b2lkIDAscyg4MjEyNDgpKSxpY29uOkV0LHdpZGdldHM6W3t0eXBlOiJob3RsaXN0Iixwcm9wZXJ0aWVzOntleGNoYW5nZUJ5TG9jYWxlOntkZWZhdWx0OndpbmRvdy5DT1VOVFJZX0NPREVfVE9fREVGQVVMVF9FWENIQU5HRS5lbn0sZ3JvdXBCeUxvY2FsZTp7ZGVmYXVsdDoidm9sdW1lX2dhaW5lcnMifX19LHt0eXBlOiJob3RsaXN0Iixwcm9wZXJ0aWVzOntleGNoYW5nZUJ5TG9jYWxlOntkZWZhdWx0OndpbmRvdy5DT1VOVFJZX0NPREVfVE9fREVGQVVMVF9FWENIQU5HRS5lbn0sZ3JvdXBCeUxvY2FsZTp7ZGVmYXVsdDoicGVyY2VudF9jaGFuZ2VfZ2FpbmVycyJ9fX0sewp0eXBlOiJob3RsaXN0Iixwcm9wZXJ0aWVzOntleGNoYW5nZUJ5TG9jYWxlOntkZWZhdWx0OndpbmRvdy5DT1VOVFJZX0NPREVfVE9fREVGQVVMVF9FWENIQU5HRS5lbn0sZ3JvdXBCeUxvY2FsZTp7ZGVmYXVsdDoicGVyY2VudF9jaGFuZ2VfbG9vc2VycyJ9fX1dfSk7Y29uc3QgSHQ9bmV3IGNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdXBkYXRlRG9jdW1lbnRIZWlnaHQ9ZT0+eyJ2aXN1YWwiPT09dGhpcy5fdmlld3BvcnRUeXBlJiZ0aGlzLl93aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCJoZWlnaHQiLGAke2V9cHhgLCJpbXBvcnRhbnQiKX0sdGhpcy5fd2luZG93PWUsdGhpcy5fZnVsbHNjcmVlbkFwaT10P25ldyBnZShlLmRvY3VtZW50LmJvZHkpOm5ldyBfZShlLmRvY3VtZW50KSx0aGlzLl92aWV3cG9ydFR5cGU9aS5DaGVja01vYmlsZS5pT1MoKSYmISgwLHZlLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55IikmJnRoaXMuX3dpbmRvdy52aXN1YWxWaWV3cG9ydD8idmlzdWFsIjoicXVpcmtzIiwidmlzdWFsIj09PXRoaXMuX3ZpZXdwb3J0VHlwZT90aGlzLl92aWV3cG9ydD0oMCxyLmVuc3VyZSkodGhpcy5fd2luZG93LnZpc3VhbFZpZXdwb3J0KTp0aGlzLl92aWV3cG9ydD10aGlzLl93aW5kb3c7Y29uc3Qgcz10aGlzLl9sYXlvdXRTaXplU2Vuc29yPXRoaXMuX3dpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtzLmlkPSJsYXlvdXQtc2l6ZS1zZW5zb3IiLHMuc3R5bGUucG9zaXRpb249ImZpeGVkIixzLnN0eWxlLnRvcD0iMCIscy5zdHlsZS5sZWZ0PSIwIixzLnN0eWxlLnJpZ2h0PSIwIixzLnN0eWxlLmJvdHRvbT0iMCIscy5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixzLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiIsdGhpcy5faW5pdEZ1bGxzY3JlZW4oKX1hbGxvY2F0ZSgpe3RoaXMuZnJlZSgpO2NvbnN0IGU9dGhpcy5fd2luZG93LmRvY3VtZW50LHQ9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmNsYXNzTGlzdC5hZGQoImpzLXJvb3RyZXNpemVyX19jb250ZW50cyIpLHQuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIix0LnN0eWxlLndpZHRoPSIxMDAlIix0LnN0eWxlLmhlaWdodD0iMTAwJSIsZS5ib2R5Lmluc2VydEFkamFjZW50RWxlbWVudCgiYWZ0ZXJiZWdpbiIsdCksZS5ib2R5Lmluc2VydEFkamFjZW50RWxlbWVudCgiYWZ0ZXJiZWdpbiIsdGhpcy5fbGF5b3V0U2l6ZVNlbnNvciksdGhpcy5fdmlzaWJpbGl0eUFwaT1uZXcgZmUuVmlzaWJpbGl0eUFwaSh0aGlzLl93aW5kb3cuZG9jdW1lbnQpO2NvbnN0IHM9e2FsaXZlOm5ldyBQLldhdGNoZWRWYWx1ZSghMCksZnVsbHNjcmVlbmFibGU6bmV3IFAuV2F0Y2hlZFZhbHVlKCEwKSxjb250YWluZXI6bmV3IFAuV2F0Y2hlZFZhbHVlKHQpLHdpZHRoOm5ldyBQLldhdGNoZWRWYWx1ZSxoZWlnaHQ6bmV3IFAuV2F0Y2hlZFZhbHVlLGF2YWlsV2lkdGg6bmV3IFAuV2F0Y2hlZFZhbHVlLGF2YWlsSGVpZ2h0Om5ldyBQLldhdGNoZWRWYWx1ZSx2aXNpYmxlOnRoaXMuX3Zpc2liaWxpdHlBcGkuaXNWaXNpYmxlLGZ1bGxzY3JlZW46dGhpcy5fZnVsbHNjcmVlbkFwaS5pc0Z1bGxzY3JlZW4scmVtb3ZlOigpPT57cy5hbGl2ZS5zZXRWYWx1ZSghMSl9LGF0dGFjaDooKT0+e3MuYWxpdmUuc2V0VmFsdWUoITEpLHRoaXMuX3dpbmRvdy5jbG9zZSgpfSxyZXF1ZXN0RnVsbHNjcmVlbjooKT0+e3RoaXMuX3JlcXVlc3RGdWxsc2NyZWVuKCl9LGV4aXRGdWxsc2NyZWVuOigpPT57dGhpcy5fZXhpdEZ1bGxzY3JlZW4oKX19O3JldHVybiBzLmFsaXZlLnN1YnNjcmliZSgoZT0+e2V8fHMhPT10aGlzLl9hcmVhfHx0aGlzLmZyZWUoKX0pKSx0aGlzLl9hcmVhPXMsdGhpcy5fcmVzaXplSGFuZGxlcj0oKT0+e2NvbnN0IGU9dGhpcy5fd2lkdGgocyl8fDgwMCx0PXRoaXMuX2hlaWdodChzKXx8NjAwO3MuYXZhaWxIZWlnaHQuc2V0VmFsdWUodCkscy5hdmFpbFdpZHRoLnNldFZhbHVlKGUpLHMuaGVpZ2h0LnNldFZhbHVlKHQpLHMud2lkdGguc2V0VmFsdWUoZSl9LHRoaXMuX2FyZWEuaGVpZ2h0LnN1YnNjcmliZSh0aGlzLl91cGRhdGVEb2N1bWVudEhlaWdodCx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fcmVzaXplSGFuZGxlcigpLHRoaXMuX3ZpZXdwb3J0LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fcmVzaXplSGFuZGxlciksbmV3IG1lLlJlc2l6ZXJEZXRhY2hlclN0YXRlKHMpLmJyaWRnZSgpfWZyZWUoKXtpZih0aGlzLl9yZXNpemVIYW5kbGVyJiYodGhpcy5fdmlld3BvcnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9yZXNpemVIYW5kbGVyKSx0aGlzLl9yZXNpemVIYW5kbGVyPXZvaWQgMCksdGhpcy5fdmlzaWJpbGl0eUFwaSYmKHRoaXMuX3Zpc2liaWxpdHlBcGkuZGVzdHJveSgpLHRoaXMuX3Zpc2liaWxpdHlBcGk9dm9pZCAwKSx0aGlzLl9hcmVhKXtjb25zdCBlPXRoaXMuX2FyZWE7dGhpcy5fYXJlYT12b2lkIDAsZS5oZWlnaHQudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlRG9jdW1lbnRIZWlnaHQpLGUuYWxpdmUuc2V0VmFsdWUoITEpO2NvbnN0IHQ9ZS5jb250YWluZXIudmFsdWUoKSxzPXQ/LnBhcmVudEVsZW1lbnQ7cyYmKHMucmVtb3ZlQ2hpbGQodCkscy5yZW1vdmVDaGlsZCh0aGlzLl9sYXlvdXRTaXplU2Vuc29yKSl9fV9oZWlnaHQoZSl7aWYoInZpc3VhbCI9PT10aGlzLl92aWV3cG9ydFR5cGUpcmV0dXJuIHRoaXMuX2xheW91dFNpemVTZW5zb3IuY2xpZW50SGVpZ2h0O3JldHVybiBlLmNvbnRhaW5lci52YWx1ZSgpLmNsaWVudEhlaWdodH1fd2lkdGgoZSl7cmV0dXJuIGUuY29udGFpbmVyLnZhbHVlKCkuY2xpZW50V2lkdGh9X3JlcXVlc3RGdWxsc2NyZWVuKCl7dGhpcy5fZnVsbHNjcmVlbkFwaS5lbnRlcigpfV9leGl0RnVsbHNjcmVlbigpe3RoaXMuX2Z1bGxzY3JlZW5BcGkuZXhpdCgpfV9pbml0RnVsbHNjcmVlbigpe3RoaXMuX2Z1bGxzY3JlZW5BcGkuaXNGdWxsc2NyZWVuLnN1YnNjcmliZSgoZT0+e3RoaXMuX3Jlc2l6ZUhhbmRsZXImJnRoaXMuX3Jlc2l6ZUhhbmRsZXIoKX0pKX19KHdpbmRvdyksanQ9bmV3IGNsYXNzewpjb25zdHJ1Y3RvcihlKXt0aGlzLl9wcm9jZXNzVmlzaWJpbGl0eT1lPT57Y29uc3QgdD1lLmNvbnRhaW5lci52YWx1ZSgpO3JldHVybiB0aGlzLmFmZmVjdHNMYXlvdXQoZS5uYW1lKT8odCYmdC5jbGFzc0xpc3QudG9nZ2xlKCJqcy1oaWRkZW4iLCExKSwhMCk6KHQmJnQuY2xhc3NMaXN0LnRvZ2dsZSgianMtaGlkZGVuIiwhMCksITEpfSx0aGlzLl9zZXRXaWR0aD0oZSx0LHMpPT57bGV0IGk9czt0aGlzLl9mdWxsc2NyZWVuQXJlYSE9PWUubmFtZSYmKGUuYXZhaWxXaWR0aC5zZXRWYWx1ZShzKSxlLmNhbk5lZ290aWF0ZS53aWR0aCYmKGk9YmUocyxlLm5lZ290aWF0aW9ucy53aWR0aCkpKSx0fHwoaT0wKTtjb25zdCBuPWUuY29udGFpbmVyLnZhbHVlKCk7cmV0dXJuIG4mJnQmJihuLnN0eWxlLndpZHRoPWkrInB4IiksZS53aWR0aC5zZXRWYWx1ZShpKSxpfSx0aGlzLl9zZXRIZWlnaHQ9KGUsdCxzKT0+e2xldCBpPXM7dGhpcy5fZnVsbHNjcmVlbkFyZWEhPT1lLm5hbWUmJihlLmF2YWlsSGVpZ2h0LnNldFZhbHVlKHMpLGUuY2FuTmVnb3RpYXRlLmhlaWdodCYmKGk9YmUocyxlLm5lZ290aWF0aW9ucy5oZWlnaHQpKSksdHx8KGk9MCk7Y29uc3Qgbj1lLmNvbnRhaW5lci52YWx1ZSgpO3JldHVybiBuJiZ0JiYobi5zdHlsZS5oZWlnaHQ9aSsicHgiKSxlLmhlaWdodC5zZXRWYWx1ZShpKSxpfTtjb25zdCB0PWUuY29udGFpbmVyLnZhbHVlKCk7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCJicmlkZ2UuY29udGFpbmVyLnZhbHVlKCkgbXVzdCBiZSBhbiBlbGVtZW50Iik7dGhpcy5fY29udGFpbmVyPXQsdGhpcy5fYXZhaWxhYmxlQXJlYXM9WyJsZWZ0IiwidHJhZGluZ3BhbmVsIiwicmlnaHQiLCJ0b3AiLCJib3R0b20iLCJjZW50ZXIiLCJ0b3BsZWZ0IiwiZXh0cmF0b3AiLCJhbmFseXNpcyJdLHRoaXMuX2FyZWFzPXt9LHRoaXMuX2JyaWRnZT1lLHRoaXMuX3dpZHRoPWUud2lkdGgsdGhpcy5faGVpZ2h0PWUuaGVpZ2h0LHRoaXMuX3dpZHRoLnN1YnNjcmliZSgoKCk9PnRoaXMucmVjYWxjdWxhdGUoKSkpLHRoaXMuX2hlaWdodC5zdWJzY3JpYmUoKCgpPT50aGlzLnJlY2FsY3VsYXRlKCkpKSx0aGlzLl9icmlkZ2UudmlzaWJsZS5zdWJzY3JpYmUoKCgpPT50aGlzLl91cGRhdGVWaXNpYmlsaXR5KCkpKSx0aGlzLl9icmlkZ2UuZnVsbHNjcmVlbi5zdWJzY3JpYmUoKCgpPT50aGlzLl9vblBhcmVudEZ1bGxzY3JlZW5DaGFuZ2UoKSkpLHRoaXMucmVjYWxjdWxhdGUoKX1hbGxvY2F0ZShlKXtjb25zdCB0PWUmJmUuYXJlYU5hbWU7aWYoLTE9PT10aGlzLl9hdmFpbGFibGVBcmVhcy5pbmRleE9mKHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biBvcHRpb25zLmFyZWFOYW1lIik7dGhpcy5mcmVlKHQpO2NvbnN0IHM9dGhpcy5fY3JlYXRlRE9NKHQpLGk9e25hbWU6dCxjYW5OZWdvdGlhdGU6e3dpZHRoOiJsZWZ0Ij09PXR8fCJyaWdodCI9PT10fHwidHJhZGluZ3BhbmVsIj09PXR8fCJ0b3BsZWZ0Ij09PXQsaGVpZ2h0OiJ0b3AiPT09dHx8ImJvdHRvbSI9PT10fHwidG9wbGVmdCI9PT10fHwiZXh0cmF0b3AiPT09dH0sbmVnb3RpYXRpb25zOnt3aWR0aDpbXSxoZWlnaHQ6W119LHJlbW92ZTooKT0+e2Zvcihjb25zdCBlIGluIHRoaXMuX2FyZWFzKXRoaXMuX2FyZWFzW2VdPT09aSYmdGhpcy5mcmVlKGUpfSxuZWdvdGlhdGVXaWR0aDplPT57aWYoIWkuY2FuTmVnb3RpYXRlLndpZHRoKXJldHVybjtjb25zdCB0PVNlKGUpO3dlKGkubmVnb3RpYXRpb25zLndpZHRoLHQpfHwoaS5uZWdvdGlhdGlvbnMud2lkdGg9dCx0aGlzLnJlY2FsY3VsYXRlKCkpfSxuZWdvdGlhdGVIZWlnaHQ6ZT0+e2lmKCFpLmNhbk5lZ290aWF0ZS5oZWlnaHQpcmV0dXJuO2NvbnN0IHQ9U2UoZSk7d2UoaS5uZWdvdGlhdGlvbnMuaGVpZ2h0LHQpfHwoaS5uZWdvdGlhdGlvbnMuaGVpZ2h0PXQsdGhpcy5yZWNhbGN1bGF0ZSgpKX0scmVxdWVzdEZ1bGxzY3JlZW46KCk9Pnt0aGlzLl9mdWxsc2NyZWVuQXJlYXx8KCJyaWdodCIhPT10JiYiY2VudGVyIiE9PXR8fCh0aGlzLl9mdWxsc2NyZWVuQXJlYT10KSwiY2VudGVyIj09PXQmJnRoaXMuX2JyaWRnZS5yZXF1ZXN0RnVsbHNjcmVlbigpLHRoaXMuX3VwZGF0ZUZ1bGxzY3JlZW4oKSl9LGV4aXRGdWxsc2NyZWVuOigpPT57dD09PXRoaXMuX2Z1bGxzY3JlZW5BcmVhJiYodGhpcy5fZnVsbHNjcmVlbkFyZWE9dm9pZCAwLCJjZW50ZXIiPT09dCYmdGhpcy5fYnJpZGdlLmV4aXRGdWxsc2NyZWVuKCksdGhpcy5fdXBkYXRlRnVsbHNjcmVlbigpKX0sd2lkdGg6bmV3IFAuV2F0Y2hlZFZhbHVlLGhlaWdodDpuZXcgUC5XYXRjaGVkVmFsdWUsYXZhaWxXaWR0aDpuZXcgUC5XYXRjaGVkVmFsdWUsYXZhaWxIZWlnaHQ6bmV3IFAuV2F0Y2hlZFZhbHVlLGFsaXZlOm5ldyBQLldhdGNoZWRWYWx1ZSghMCksY29udGFpbmVyOm5ldyBQLldhdGNoZWRWYWx1ZShzKSx2aXNpYmxlOm5ldyBQLldhdGNoZWRWYWx1ZSghMCksZnVsbHNjcmVlbjpuZXcgUC5XYXRjaGVkVmFsdWUoITEpLGZ1bGxzY3JlZW5hYmxlOm5ldyBQLldhdGNoZWRWYWx1ZSgicmlnaHQiPT09dHx8ImNlbnRlciI9PT10KSxyZFN0YXRlOm5ldyBtZS5SZXNpemVyRGV0YWNoZXJTdGF0ZX07cmV0dXJuIGkucmRTdGF0ZS5wdXNoT3duZXIoaSksdGhpcy5fYXJlYXNbdF09aSxpLnJkU3RhdGUub3duZXIuc3Vic2NyaWJlKChlPT57Y29uc3Qgcz1pLmNvbnRhaW5lci52YWx1ZSgpO2lmKGUhPT1pKXMmJihzLmlubmVySFRNTD0iIixzLnBhcmVudEVsZW1lbnQmJnMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChzKSk7ZWxzZXtsZXQgZT1udWxsO2ZvcihsZXQgcz10aGlzLl9hdmFpbGFibGVBcmVhcy5pbmRleE9mKHQpO3MtLTspe2NvbnN0IHQ9dGhpcy5fYXZhaWxhYmxlQXJlYXNbc107aWYodGhpcy5hZmZlY3RzTGF5b3V0KHQpKXtlPXRoaXMuX2FyZWFzW3RdLmNvbnRhaW5lci52YWx1ZSgpO2JyZWFrfX1zJiYoZSYmcy5wYXJlbnRFbGVtZW50P3MuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCJhZnRlcmVuZCIsZSk6dGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKHMpKX10aGlzLnJlY2FsY3VsYXRlKCl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksCmkucmRTdGF0ZS5icmlkZ2UoKX1mcmVlKGUpe2NvbnN0IHQ9dGhpcy5fYXJlYXNbZV07aWYoIXQpcmV0dXJuO3RoaXMuX2FyZWFzW2VdPXZvaWQgMDtjb25zdCBzPXQuY29udGFpbmVyLnZhbHVlKCk7cyYmcy5wYXJlbnRFbGVtZW50JiZzLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQocyksdC5hbGl2ZS5zZXRWYWx1ZSghMSl9cmVjYWxjdWxhdGUoKXtjb25zdCBlPXt9O3RoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuPWU7Y29uc3QgdD10aGlzLl9hcmVhcy50b3BsZWZ0LHM9dGhpcy5fYXJlYXMubGVmdCxpPXRoaXMuX2FyZWFzLnRyYWRpbmdwYW5lbCxuPXRoaXMuX2FyZWFzLnJpZ2h0LHI9dGhpcy5fYXJlYXMudG9wLG89dGhpcy5fYXJlYXMuYm90dG9tLGE9dGhpcy5fYXJlYXMuY2VudGVyLGw9dGhpcy5fYXJlYXMuZXh0cmF0b3AsdT10aGlzLl9hcmVhcy5hbmFseXNpcyxjPXRoaXMuX3dpZHRoLnZhbHVlKCksZD10aGlzLl9oZWlnaHQudmFsdWUoKTtsZXQgaD0wLHA9MCxtPTAsXz0wLGc9MCx5PTAsZj0wLHY9MDtpZihlPT09dGhpcy5fcmVjYWxjU2luZ2xlUnVuVG9rZW4mJmwpe2NvbnN0IGU9dGhpcy5fcHJvY2Vzc1Zpc2liaWxpdHkobCk7dj10aGlzLl9zZXRIZWlnaHQobCxlLGQpLHRoaXMuX3NldFdpZHRoKGwsZSxjKX1pZihlPT09dGhpcy5fcmVjYWxjU2luZ2xlUnVuVG9rZW4mJnQpe2NvbnN0IGU9dGhpcy5fcHJvY2Vzc1Zpc2liaWxpdHkodCk7Zj10aGlzLl9zZXRIZWlnaHQodCxlLGQpLHk9dGhpcy5fc2V0V2lkdGgodCxlLGMpO2NvbnN0IHM9dC5jb250YWluZXIudmFsdWUoKTtlJiZzJiYocy5zdHlsZS50b3A9disicHgiKX1sZXQgYj0wO2lmKGU9PT10aGlzLl9yZWNhbGNTaW5nbGVSdW5Ub2tlbiYmcil7Y29uc3QgZT10aGlzLl9wcm9jZXNzVmlzaWJpbGl0eShyKSx0PXIuY29udGFpbmVyLnZhbHVlKCk7ZSYmdCYmKHQuc3R5bGUubGVmdD15KyJweCIsdC5zdHlsZS50b3A9disicHgiKTtjb25zdCBzPWMteTt0aGlzLl9zZXRXaWR0aChyLGUscyksaD10aGlzLl9zZXRIZWlnaHQocixlLGQpLGgmJihiPTEpfWlmKGU9PT10aGlzLl9yZWNhbGNTaW5nbGVSdW5Ub2tlbiYmcyl7Y29uc3QgZT10aGlzLl9wcm9jZXNzVmlzaWJpbGl0eShzKSx0PU1hdGgubWF4KGYsaCk7bT10aGlzLl9zZXRXaWR0aChzLGUsYyksbSYmKG0rPTQpLG0mJjE9PT1iJiYoYj00KTtjb25zdCBpPXMuY29udGFpbmVyLnZhbHVlKCk7ZSYmaSYmKGkuc3R5bGUudG9wPXQrditiKyJweCIpLHRoaXMuX3NldEhlaWdodChzLGUsZC10LXYtYil9aWYoZT09PXRoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuJiZpKXtjb25zdCBlPXRoaXMuX3Byb2Nlc3NWaXNpYmlsaXR5KGkpO2xldCB0PWMtbTtUZXx8KHQtPTMwMCksZz10aGlzLl9zZXRXaWR0aChpLGUsdCksZyYmMT09PWImJihiPTQpLHRoaXMuX3NldEhlaWdodChpLGUsZC12LWgtYil9aWYoZT09PXRoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuJiZuKXtjb25zdCBlPXRoaXMuX3Byb2Nlc3NWaXNpYmlsaXR5KG4pO2xldCB0PWMtbS1nO1RlfHwodC09MzAwKSxfPXRoaXMuX3NldFdpZHRoKG4sZSx0KSxfJiYxPT09YiYmKGI9NCksdGhpcy5fc2V0SGVpZ2h0KG4sZSxkLXYtaC1iKTtjb25zdCBzPW4uY29udGFpbmVyLnZhbHVlKCk7ZSYmcyYmKHMuc3R5bGUudG9wPWgrditiKyJweCIpfWNvbnN0IFM9ZytfLHc9Uz80OjA7bGV0IFA9MCxUPWMtbS1nLV8tdztjb25zdCBDPUJvb2xlYW4oZ3x8IVMpO2lmKCFfJiZnJiYoVCs9NCksZT09PXRoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuJiZvKXtjb25zdCBlPXRoaXMuX3Byb2Nlc3NWaXNpYmlsaXR5KG8pLHQ9by5jb250YWluZXIudmFsdWUoKTtlJiZ0JiYodC5zdHlsZS5sZWZ0PW0rInB4Iix0LmNsYXNzTGlzdC50b2dnbGUoIm5vLWJvcmRlci10b3AtbGVmdC1yYWRpdXMiLCFtKSx0LmNsYXNzTGlzdC50b2dnbGUoIm5vLWJvcmRlci10b3AtcmlnaHQtcmFkaXVzIixDKSksdGhpcy5fc2V0V2lkdGgobyxlLFQpO2NvbnN0IHM9ZC12O1A9TWF0aC5taW4oMzAwLHMtMCk7Y29uc3QgaT10aGlzLl9zZXRIZWlnaHQobyxlLHMtMCk7cD0wPT09aT8wOmkrNH1jb25zdCBFPUJvb2xlYW4oaCYmKG18fFMpKTtpZih0aGlzLl9jb250YWluZXIuY2xhc3NMaXN0LnRvZ2dsZSgibGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyIsRSksUGUuc2V0TmV3QmxhY2tDb2xvciYmdGhpcy5fY29udGFpbmVyLmNsYXNzTGlzdC50b2dnbGUoImJsYWNrLWJvcmRlci1iaWdnZXItcmFkaXVzIiwhMCksZT09PXRoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuJiZhKXtjb25zdCBlPXRoaXMuX3Byb2Nlc3NWaXNpYmlsaXR5KGEpLHQ9YS5jb250YWluZXIudmFsdWUoKTtlJiZ0JiYodC5zdHlsZS5sZWZ0PW0rInB4Iix0LnN0eWxlLnRvcD1oK3YrYisicHgiLHQuY2xhc3NMaXN0LnRvZ2dsZSgibm8tYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyIsIXB8fCFtKSx0LmNsYXNzTGlzdC50b2dnbGUoIm5vLWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzIixDfHwhcCksdC5jbGFzc0xpc3QudG9nZ2xlKCJuby1ib3JkZXItdG9wLWxlZnQtcmFkaXVzIixCb29sZWFuKCFtJiZTKSksdC5jbGFzc0xpc3QudG9nZ2xlKCJuby1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyIsQykpLHRoaXMuX3NldFdpZHRoKGEsZSxUKTtjb25zdCBzPWQtaC1wLXYtYjt0aGlzLl9zZXRIZWlnaHQoYSxlLE1hdGgubWF4KHMsUCkpfWlmKGU9PT10aGlzLl9yZWNhbGNTaW5nbGVSdW5Ub2tlbiYmdSl7Y29uc3QgZT10aGlzLl9wcm9jZXNzVmlzaWJpbGl0eSh1KSx0PXUuY29udGFpbmVyLnZhbHVlKCk7ZSYmdCYmKHQuc3R5bGUubGVmdD0iMHB4Iix0LnN0eWxlLnRvcD1oK3YrYisicHgiLHQuY2xhc3NMaXN0LnRvZ2dsZSgibm8tYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyIsITApLHQuY2xhc3NMaXN0LnRvZ2dsZSgibm8tYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMiLEN8fCFwKSx0LmNsYXNzTGlzdC50b2dnbGUoIm5vLWJvcmRlci10b3AtbGVmdC1yYWRpdXMiLCEwKSx0LmNsYXNzTGlzdC50b2dnbGUoIm5vLWJvcmRlci10b3AtcmlnaHQtcmFkaXVzIixDKSk7Y29uc3Qgcz1jLV8tdwo7dGhpcy5fc2V0V2lkdGgodSxlLHMpO2NvbnN0IGk9ZC1oLXYtYjt0aGlzLl9zZXRIZWlnaHQodSxlLGkpfWlmKGU9PT10aGlzLl9yZWNhbGNTaW5nbGVSdW5Ub2tlbiYmaSYmdGhpcy5hZmZlY3RzTGF5b3V0KCJ0cmFkaW5ncGFuZWwiKSl7Y29uc3QgZT1pLmNvbnRhaW5lci52YWx1ZSgpO2UmJihlLnN0eWxlLnJpZ2h0PWcmJl8/YCR7Xys0fXB4YDpgJHtffXB4YCxlLnN0eWxlLnRvcD12K2grYisicHgiLGUuc3R5bGUuYm9yZGVyVG9wUmlnaHRSYWRpdXM9RSYmXz8iNHB4IjoiMHB4Iil9ZT09PXRoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuJiZ0aGlzLl91cGRhdGVWaXNpYmlsaXR5KCl9YWZmZWN0c0xheW91dChlKXtjb25zdCB0PXRoaXMuX2FyZWFzW2VdO2lmKCF0KXJldHVybiExO2lmKHQucmRTdGF0ZS5vd25lci52YWx1ZSgpIT09dClyZXR1cm4hMTtpZih0aGlzLl9mdWxsc2NyZWVuQXJlYSYmdGhpcy5fZnVsbHNjcmVlbkFyZWEhPT1lKXJldHVybiBJZShlKTtpZih0aGlzLl93aWR0aC52YWx1ZSgpPD01Njd8fHRoaXMuX2hlaWdodC52YWx1ZSgpPD00NDUmJiFFZSl7aWYoIVsiY2VudGVyIiwidG9wIiwibGVmdCIsInRvcGxlZnQiLCJleHRyYXRvcCIsImFuYWx5c2lzIl0uaW5jbHVkZXMoZSkpcmV0dXJuITF9cmV0dXJuITB9X3VwZGF0ZVZpc2liaWxpdHkoKXtjb25zdCBlPXRoaXMuX2JyaWRnZS52aXNpYmxlLnZhbHVlKCk7Zm9yKGxldCB0PTA7dDx0aGlzLl9hdmFpbGFibGVBcmVhcy5sZW5ndGg7dCsrKXtjb25zdCBzPXRoaXMuX2F2YWlsYWJsZUFyZWFzW3RdLGk9dGhpcy5fYXJlYXNbc107aSYmKGUmJnRoaXMuYWZmZWN0c0xheW91dChzKT9pLnZpc2libGUuc2V0VmFsdWUoITApOmkudmlzaWJsZS5zZXRWYWx1ZSghMSkpfX1fb25QYXJlbnRGdWxsc2NyZWVuQ2hhbmdlKCl7dGhpcy5fYnJpZGdlLmZ1bGxzY3JlZW4udmFsdWUoKXx8KHRoaXMuX2Z1bGxzY3JlZW5BcmVhPXZvaWQgMCx0aGlzLl91cGRhdGVGdWxsc2NyZWVuKCkpfV91cGRhdGVGdWxsc2NyZWVuKCl7Y29uc3QgZT12b2lkIDAhPT10aGlzLl9mdWxsc2NyZWVuQXJlYTtmb3IobGV0IHQ9MDt0PHRoaXMuX2F2YWlsYWJsZUFyZWFzLmxlbmd0aDt0Kyspe2NvbnN0IHM9dGhpcy5fYXZhaWxhYmxlQXJlYXNbdF0saT10aGlzLl9hcmVhc1tzXTtpZighaSljb250aW51ZTtpZihzPT09dGhpcy5fZnVsbHNjcmVlbkFyZWEpe2kuZnVsbHNjcmVlbi5zZXRWYWx1ZSghMCk7Y29udGludWV9aS5mdWxsc2NyZWVuLnNldFZhbHVlKCExKTtjb25zdCBuPWkuY29udGFpbmVyLnZhbHVlKCk7biYmbi5jbGFzc0xpc3QudG9nZ2xlKCJqcy1oaWRkZW4iLGUmJiFJZShzKSl9dGhpcy5fdXBkYXRlVmlzaWJpbGl0eSgpLHRoaXMucmVjYWxjdWxhdGUoKX1fY3JlYXRlRE9NKGUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuY2xhc3NMaXN0LmFkZCgibGF5b3V0X19hcmVhLS0iK2UpLHQuc3R5bGUucG9zaXRpb249ImFic29sdXRlIiwidHJhZGluZ3BhbmVsIj09PWUmJih0LnN0eWxlLmJvcmRlclRvcFJpZ2h0UmFkaXVzPSI0cHgiKSwiYm90dG9tIj09PWU/dC5zdHlsZS5ib3R0b209IjAiOnQuc3R5bGUudG9wPSIwIiwicmlnaHQiPT09ZXx8InRyYWRpbmdwYW5lbCI9PT1lP3Quc3R5bGUucmlnaHQ9IjAiOnQuc3R5bGUubGVmdD0iMCIsdH19KEh0LmFsbG9jYXRlKCkpLCR0PWFzKE10LmhpZGVfdG9wX3Rvb2xiYXIpP251bGw6anQuYWxsb2NhdGUoe2FyZWFOYW1lOiJ0b3AifSkscXQ9dm9pZCAwPT09TXQuaGlkZV9zaWRlX3Rvb2xiYXJ8fCtNdC5oaWRlX3NpZGVfdG9vbGJhcj9udWxsOmp0LmFsbG9jYXRlKHthcmVhTmFtZToibGVmdCJ9KSxLdD1qdC5hbGxvY2F0ZSh7YXJlYU5hbWU6ImNlbnRlciJ9KSxZdD16dC5sZW5ndGg/anQuYWxsb2NhdGUoe2FyZWFOYW1lOiJyaWdodCJ9KTpudWxsLEd0PW5ldyBjbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9hbmFseXNpc1BhbmVsVmlzaWJpbGl0eT1uZXcgUC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2FuYWx5c2lzVmlld1NldD1uZXcgT2UoKGU9Pih7bGF5b3V0OnRoaXMscm9vdDp0aGlzLl9hbmFseXNpc0FyZWEuY29udGFpbmVyLnZhbHVlKCksaGVhZGVyOiJ3b3Jrc3BhY2UifSkpLChlPT5CZS5hY3R1YWxDb250ZW50LnNldFZhbHVlKGUpKSksdGhpcy5fY2hhcnRSZXNpemVyPWUsdGhpcy5fYW5hbHlzaXNBcmVhPXRoaXMuX2NoYXJ0UmVzaXplci5hbGxvY2F0ZSh7YXJlYU5hbWU6ImFuYWx5c2lzIn0pLHRoaXMuX2NhblNob3dGbG9hdGluZ1Rvb2xiYXJzPSgwLEZlLmNvbWJpbmUpKChlPT5udWxsPT09ZSksQmUuYWN0dWFsQ29udGVudC53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2FuYWx5c2lzUGFuZWxWaXNpYmlsaXR5LnN1YnNjcmliZSgoZT0+e3RoaXMuX2FuYWx5c2lzQXJlYS5jb250YWluZXIudmFsdWUoKS5zdHlsZS5kaXNwbGF5PWU/ImdyaWQiOiJub25lIn0pLHtjYWxsV2l0aExhc3Q6ITB9KSxCZS5hY3R1YWxDb250ZW50LnN1YnNjcmliZSgoZT0+e3RoaXMuX2FuYWx5c2lzUGFuZWxWaXNpYmlsaXR5LnNldFZhbHVlKG51bGwhPT1lKX0pLHtjYWxsV2l0aExhc3Q6ITB9KX1hbmFseXNpc1BhbmVsVmlzaWJsZSgpe3JldHVybiB0aGlzLl9hbmFseXNpc1BhbmVsVmlzaWJpbGl0eX1jYW5TaG93RmxvYXRpbmdUb29sYmFycygpe3JldHVybiB0aGlzLl9jYW5TaG93RmxvYXRpbmdUb29sYmFyc31yZWdpc3RlckFuYWx5c2lzVmlldyhlLHQpe3RoaXMuX2FuYWx5c2lzVmlld1NldC5yZWdpc3RlclZpZXcoZSx0KX1oYXNBbmFseXNpc1ZpZXcoZSl7cmV0dXJuIHRoaXMuX2FuYWx5c2lzVmlld1NldC5oYXNWaWV3KGUpfXNob3dBbmFseXNpc1ZpZXcoZSx0KXt0aGlzLl9hbmFseXNpc1ZpZXdTZXQuc2hvd1ZpZXcoZSx0KX19KGp0KTtpZihmdW5jdGlvbihlKXsoZnVuY3Rpb24oZSl7ZS5yZWdpc3RlckFuYWx5c2lzVmlldygiZmluYW5jaWFscyIsKGFzeW5jIGU9PmV0LmdldEluc3RhbmNlKCkucHJlcGFyZShlKSkpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoInRlY2huaWNhbHMiLChhc3luYyBlPT5aZS5nZXRJbnN0YW5jZSgpLnByZXBhcmUoZSkpKSwKZS5yZWdpc3RlckFuYWx5c2lzVmlldygic2Vhc29uYWxzIiwoYXN5bmMgZT0+dHQuZ2V0SW5zdGFuY2UoKS5wcmVwYXJlKGUpKSksZS5yZWdpc3RlckFuYWx5c2lzVmlldygiYW5hbHlzaXMiLChhc3luYyBlPT5zdC5nZXRJbnN0YW5jZSgpLnByZXBhcmUoZSkpKSxlLnJlZ2lzdGVyQW5hbHlzaXNWaWV3KCJmb3JlY2FzdCIsKGFzeW5jIGU9Pml0LmdldEluc3RhbmNlKCkucHJlcGFyZShlKSkpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoIm9wdGlvbnMiLChhc3luYyBlPT5ydC5nZXRJbnN0YW5jZSgpLnByZXBhcmUoZSkpKSxlLnJlZ2lzdGVyQW5hbHlzaXNWaWV3KCJlY29ub215LWluZGljYXRvcnMiLChhc3luYyBlPT5sdCgpLnByZXBhcmUoZSkpKSxlLnJlZ2lzdGVyQW5hbHlzaXNWaWV3KCJib25kcyIsKGFzeW5jIGU9PmN0KCkucHJlcGFyZShlKSkpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoImRvY3VtZW50cyIsKGFzeW5jIGU9Pmh0KCkucHJlcGFyZShlKSkpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoIm5ld3MiLChhc3luYyBlPT5tdCgpLnByZXBhcmUoZSkpKSxlLnJlZ2lzdGVyQW5hbHlzaXNWaWV3KCJldGZzIiwoYXN5bmMgZT0+Z3QoKS5wcmVwYXJlKGUpKSksZS5yZWdpc3RlckFuYWx5c2lzVmlldygiZm9yd2FyZC1jdXJ2ZSIsKGFzeW5jIGU9PmZ0KCkucHJlcGFyZShlKSkpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoInlpZWxkLWN1cnZlIiwoYXN5bmMgZT0+YnQuZ2V0SW5zdGFuY2UoKS5wcmVwYXJlKGUpKSksZS5yZWdpc3RlckFuYWx5c2lzVmlldygiY29udHJhY3RzIiwoYXN5bmMgZT0+d3QoKS5wcmVwYXJlKGUpKSksZS5yZWdpc3RlckFuYWx5c2lzVmlldygiY29tbXVuaXR5IiwoYXN5bmMgZT0+VHQoKS5wcmVwYXJlKGUpKSksZS5yZWdpc3RlckFuYWx5c2lzVmlldygiZGVyaXZhdGl2ZXMiLChhc3luYyBlPT5udC5nZXRJbnN0YW5jZSgpLnByZXBhcmUoZSkpKX0pKGUpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoImNoYXJ0LXRhYmxlLXZpZXciLChhc3luYyBlPT56ZS5nZXRJbnN0YW5jZSgpLnByZXBhcmUoZSkpKX0oR3QpLEFlLmN1cnJlbnRMYXlvdXQuc2V0VmFsdWUoR3QpLCgwLHhlLnNldFN1cHBvcnRQb3J0YWxQcm9ibGVtc0hvc3QpKE10LnN1cHBvcnRfaG9zdD8/IiIpLGt0KXtjb25zdCBlPShKdD1rdCxMZS5maW5kKChlPT5lLnZhbHVlLnZhbHVlPT09SnQpKSk7ZSYmKE10LnJhbmdlPWt0LE10LmludGVydmFsPWUudGFyZ2V0UmVzb2x1dGlvbil9dmFyIEp0O2xldCBYdCxRdDtYdD12b2lkIDA9PT1NdC5pbnRlcnZhbD92b2lkIDA9PT1NdC5zdHlsZT9MdC5kZWZfaW50ZXJ2YWw/PyIxIjooMCxTLmdldERlZmF1bHRSZXNvbHV0aW9uKSgoMCx2LmlzUmFuZ2VTdHlsZSkocGFyc2VJbnQoTXQuc3R5bGUpKSk6TXQuaW50ZXJ2YWwsUXQ9dm9pZCAwPT09TXQuc3R5bGU/dm9pZCAwPT09TXQuaW50ZXJ2YWw/THQuZGVmX3N0eWxlPz8xOigwLHYuZ2V0RGVmYXVsdFN0eWxlKShiLkludGVydmFsLmlzUmFuZ2UoTXQuaW50ZXJ2YWwpKTpwYXJzZUludChNdC5zdHlsZSk7Y29uc3QgWnQ9d2luZG93LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1uZXcgdS5DaGFydFdpZGdldENvbGxlY3Rpb24oe3Jlc2l6ZXJCcmlkZ2U6S3QscGFkZGluZzo1LGVkZ2U6TnVtYmVyKE10LnBhZGRpbmcpfHwwLHB1Ymxpc2hlZENoYXJ0c0VuYWJsZWQ6ITEsc2F2ZUNoYXJ0RW5hYmxlZDohMSxleHRlcm5hbFNlcnZpY2VzOnt0cmFkaW5nOnt0cmFkZWRDb250ZXh0TGlua2luZzpuZXcgUC5XYXRjaGVkVmFsdWUobnVsbCksdHJhZGluZ1ByZWZlcmVuY2VzU2VydmljZTpuZXcgUC5XYXRjaGVkVmFsdWUobnVsbCksdHJhZGluZ0ZlYXR1cmVGbGFnc1NlcnZpY2U6bmV3IFAuV2F0Y2hlZFZhbHVlKG51bGwpLHNlbGxCdXlCdXR0b25zVmlzaWJpbGl0eVNlcnZpY2U6bmV3IFAuV2F0Y2hlZFZhbHVlKG51bGwpLHRyYWRpbmdCcm9rZXJTZXJ2aWNlOm5ldyBQLldhdGNoZWRWYWx1ZShudWxsKSx0cmFkaW5nQ2hhcnRDb250ZXh0TWVudVNlcnZpY2U6bmV3IFAuV2F0Y2hlZFZhbHVlKG51bGwpLHRyYWRpbmdQbGFjZU9yZGVyU2VydmljZTpuZXcgUC5XYXRjaGVkVmFsdWUobnVsbCl9fSx3aWRnZXRPcHRpb25zOntvbldpZGdldDohMCx1c2VVc2VyQ2hhcnRQcmVmZXJlbmNlczohYXMoTXQuZG9Ob3RTdG9yZVNldHRpbmdzLCExKSxhZGRUb1dhdGNobGlzdEVuYWJsZWQ6ITEscHJvcGVydHlQYWdlc0VuYWJsZWQ6ITEsY2hhcnRFdmVudHNFbmFibGVkOiExLG5ld3NOb3RpZmljYXRpb25zRW5hYmxlZDohMSxlc2RFbmFibGVkOigwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImVzZG9ud2lkZ2V0Iiksc291cmNlU3RhdHVzZXNXaWRnZXQ6e2Vycm9yU29sdXRpb246ITF9LG1hcmtldFN0YXR1c1dpZGdldEVuYWJsZWQ6ITAsY2hhcnRXYXJuaW5nV2lkZ2V0OntzdWJzY3JpcHRpb25GdWxsSW5mbzohMX0sd2lkZ2V0Q3VzdG9tZXI6eHQsY3VzdG9tZXJSZWFkYWJsZU5hbWU6UnQsaGlkZUlkZWFzOiEwLGNvbnRyb2xCYXJFbmFibGVkOiEwLGFkZFZvbHVtZTohYXMoTXQuaGlkZV92b2x1bWUpLG11dGVTZXNzaW9uRXJyb3JzOiEoMCxvLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJyZWZlcnJhbF9wcm9ncmFtX2Zvcl93aWRnZXRfb3duZXJzIiksZGVmU3ltYm9sOkJ0LGRlZkludGVydmFsOlh0LGRlZlN0eWxlOlF0LGRlZlNlc3Npb25JZDpEdCx0aW1lem9uZTpNdC50aW1lem9uZXx8THQuZGVmX3RpbWV6b25lLGRlZlRpbWVmcmFtZTprdCxpc0RyYXdpbmdUb29sYmFyVmlzaWJsZTprLmlzRHJhd2luZ1Rvb2xiYXJWaXNpYmxlLHdhdGVybWFya0VuYWJsZWQ6ITAscGFuZUNvbnRleHRNZW51RW5hYmxlZDohMSxjb21wYXJlU3ltYm9sczpGdCx0aW1lU2NhbGVXaWRnZXQ6e2NvbnRleHRNZW51RW5hYmxlZDohMSx0aW1lem9uZU1lbnVFbmFibGVkOiExfSx0aW1lU2NhbGU6e3ByZXNlcnZlQmFyU3BhY2luZzohMCxsb2NrVmlzaWJsZVRpbWVSYW5nZU9uUmVzaXplOiExfSxsZWdlbmRXaWRnZXRFbmFibGVkOiFhcyhNdC5oaWRlX2xlZ2VuZCksbGVnZW5kV2lkZ2V0Ontjb250ZXh0TWVudTp7c2V0dGluZ3M6ITEsZnVuZGFtZW50YWxzOiExLApzaG93T3Blbk1hcmtldFN0YXR1czohMH19LGdvVG9EYXRlRW5hYmxlZDohMSxoYW5kbGVTY3JvbGw6e3ZlcnRUb3VjaERyYWc6YXMoTXQudmVydHRvdWNoZHJhZyksaG9yelRvdWNoRHJhZzphcyhNdC5ob3J6dG91Y2hkcmFnLCEwKX0saGFuZGxlU2NhbGU6e21vdXNlV2hlZWw6ImludmVzdG9wZWRpYSIhPT14dCYmImV1cmV4IiE9PXh0fSxjdXJyZW5jeUNvbnZlcnNpb25FbmFibGVkOiEwLHVuaXRDb252ZXJzaW9uRW5hYmxlZDohMH0sc2VyaWVzQ29udHJvbEJhckVuYWJsZWQ6ISFWdCxzZXJpZXNDb250cm9sQmFyOnt0aW1lRnJhbWVzV2lkZ2V0RW5hYmxlZDohMCx0aW1lRnJhbWVzV2lkZ2V0Ontnb1RvRGF0ZUVuYWJsZWQ6ITEsYXZhaWxhYmxlVGltZUZyYW1lczp6fSx0aW1lV2lkZ2V0RW5hYmxlZDohMCx0aW1lV2lkZ2V0Ont0aW1lem9uZU1lbnVFbmFibGVkOiExfSxhZGp1c3RGb3JEaXZpZGVuZHNCdXR0b25FbmFibGVkOiEwLHNlc3Npb25JZEJ1dHRvbkVuYWJsZWQ6Qm9vbGVhbihEdCksYmFja0FkanVzdG1lbnRCdXR0b25FbmFibGVkOiExLHNldHRsZW1lbnRBc0Nsb3NlQnV0dG9uRW5hYmxlZDohMSxwZXJjZW50YWdlU2NhbGVCdXR0b25FbmFibGVkOiExLGxvZ1NjYWxlQnV0dG9uRW5hYmxlZDohMSxhdXRvU2NhbGVCdXR0b25FbmFibGVkOiExLGxheW91dEZ1bGxzY3JlZW5CdXR0b25FbmFibGVkOiEwLG1vYmlsZUNoYW5nZUxheW91dEVuYWJsZWQ6ITF9LG1vYmlsZUZvcmNlQ2hhcnRNYXhpbWl6ZUVuYWJsZWQ6ITF9KTtsZXQgZXM9ITE7WnQub25BYm91dFRvQmVEZXN0cm95ZWQuc3Vic2NyaWJlKG51bGwsKCgpPT57ZXM9ITB9KSwhMCksTXQuc3R1ZGllc19vdmVycmlkZXMmJlp0LmFwcGx5U3R1ZGllc092ZXJyaWRlcyhKU09OLnBhcnNlKE10LnN0dWRpZXNfb3ZlcnJpZGVzKSksUHJvbWlzZS5hbGwoW3MuZSg4OTYxOCkscy5lKDgwNjM5KSxzLmUoNDk4ODMpXSkudGhlbihzLmJpbmQocyw5MDg0NTQpKS50aGVuKChlPT57ZS5hZGRCcmFuZGluZ1NvdXJjZShadCl9KSk7Y29uc3QgdHM9WnQuYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKTtpZih3aW5kb3cuY2hhcnRXaWRnZXQ9dHMsIVp0LnJlYWRPbmx5KCkpe2NvbnN0IGU9bmV3IFIoWnQpO3dpbmRvdy5zdHVkeU1hcmtldD1uZXcgQyhlLHtvbldpZGdldDohMH0pfWxldCBzcztpZihwLmxpbmtpbmcuYmluZFRvQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKFp0KSxIKHEuTmFtZXMuV2lkZ2V0TG9hZCxNdC5mcmFtZUVsZW1lbnRJZHx8bnVsbCx2b2lkIDApLE10LnRoZW1lKXtjb25zdCBlPU10LnRoZW1lLnRvTG93ZXJDYXNlKCk7aWYoVi50aGVtZXNbZV0peygwLEEuc2V0VGhlbWUpKGUpO2NvbnN0IHQ9Vi5nZXRTdGRUaGVtZShlKTt0JiZ0LmNvbnRlbnQmJihzcz10LmNvbnRlbnQsTXQuc3R5bGUmJihzcy5tYWluU291cmNlUHJvcGVydGllcy5zdHlsZT1wYXJzZUludChNdC5zdHlsZSkpLCgwLGEuYXBwbHlEZWZhdWx0c092ZXJyaWRlcykoc3Mse21haW5TZXJpZXNQcm9wZXJ0aWVzOiJtYWluU291cmNlUHJvcGVydGllcyJ9LCEwKSl9fWxldCBpcz0hMSxucz0hMTtmdW5jdGlvbiBycyhlKXtyZXR1cm4oMCxNZS5pc1BpbmVJZFN0cmluZykoZSk/e3R5cGU6InBpbmUiLHBpbmVJZDplfTp7dHlwZToiamF2YSIsc3R1ZHlJZDplfX1mdW5jdGlvbiBvcygpe2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5sb2FkaW5nLWluZGljYXRvciIpLmZvckVhY2goKGU9PntlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJihlLnN0eWxlLmRpc3BsYXk9Im5vbmUiKX0pKX1mdW5jdGlvbiBhcyhlLHQ9ITEpe3JldHVybiExPT09ZXx8ITA9PT1lP2U6IjEiPT09ZXx8MT09PWV8fCJ0cnVlIj09PWV8fCIwIiE9PWUmJjAhPT1lJiYiZmFsc2UiIT09ZSYmdH10cy53aXRoTW9kZWwobnVsbCwoZnVuY3Rpb24oKXtjb25zdCBlPXRzLm1vZGVsKCkubWFpblNlcmllcygpO3RzLmFwcGx5T3ZlcnJpZGVzKHsibWFpblNlcmllc1Byb3BlcnRpZXMuc2hvd0NvdW50ZG93biI6ITF9KSxzcyYmdHMubW9kZWwoKS5tb2RlbCgpLnJlc3RvcmVUaGVtZShzcywhMSksTXQuYmFja2dyb3VuZENvbG9yJiZ0cy5hcHBseU92ZXJyaWRlcyh7InBhbmVQcm9wZXJ0aWVzLmJhY2tncm91bmQiOk10LmJhY2tncm91bmRDb2xvciwicGFuZVByb3BlcnRpZXMuYmFja2dyb3VuZFR5cGUiOkRlLkNvbG9yVHlwZS5Tb2xpZH0pLE10LmdyaWRDb2xvciYmdHMuYXBwbHlPdmVycmlkZXMoeyJwYW5lUHJvcGVydGllcy52ZXJ0R3JpZFByb3BlcnRpZXMuY29sb3IiOk10LmdyaWRDb2xvciwicGFuZVByb3BlcnRpZXMuaG9yekdyaWRQcm9wZXJ0aWVzLmNvbG9yIjpNdC5ncmlkQ29sb3J9KSxhc3luYyBmdW5jdGlvbihlKXtpZighZSlyZXR1cm47dHJ5e2NvbnN0IHQ9InN0cmluZyI9PXR5cGVvZiBlP0pTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGUpKTplO2lmKCFBcnJheS5pc0FycmF5KHQpfHwwPT09dC5sZW5ndGgpcmV0dXJuO2NvbnN0IHM9dHMubW9kZWwoKS5tb2RlbCgpLm1haW5TZXJpZXMoKTtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl7Y29uc3QgaT10W2VdO2lmKGkuc3ltYm9sJiZpLnBvc2l0aW9uJiZrZS5Db21wYXJlT3B0aW9uW2kucG9zaXRpb25dKXN3aXRjaChpLnBvc2l0aW9uKXtjYXNlIlNhbWVTY2FsZSI6dHMuYWRkQ29tcGFyZUFzT3ZlcmxheShpLnN5bWJvbCwhMSxzLmlzWWllbGQoKSk7YnJlYWs7Y2FzZSJOZXdQcmljZVNjYWxlIjp0cy5hZGRPdmVybGF5U3R1ZHkoaS5zeW1ib2wsITApO2JyZWFrO2Nhc2UiTmV3UGFuZSI6dHMuYWRkT3ZlcmxheVN0dWR5KGkuc3ltYm9sLCExKX19fWNhdGNoKGUpe3JldHVybn19KE10LmNvbXBhcmVTeW1ib2xzKSxlLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZShlLCgoKT0+eyFmdW5jdGlvbihlLHQpe2lmKCF0KXJldHVybjtjb25zdCBzPWUubW9kZWwoKS5tb2RlbCgpLGk9eHQ/MjA6NTt0cnl7Y29uc3QgZT1KU09OLnBhcnNlKCJzdHJpbmciPT10eXBlb2YgdD90OkpTT04uc3RyaW5naWZ5KHQpKTtlLnNsaWNlKDAsaSkuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9cy5jcmVhdGVTdHVkeUluc2VydGVyKHJzKGUuaWQpKQo7dC5zZXRGb3JjZU92ZXJsYXkoZS5vdmVybGF5KSx0Lmluc2VydCgoKCk9PlByb21pc2UucmVzb2x2ZSh7aW5wdXRzOmUuaW5wdXRzLHBhcmVudFNvdXJjZXM6W119KSkpfSkpfWNhdGNoKGUpeygoQXJyYXkuaXNBcnJheSh0KT90OnQuc3BsaXQoL1x4MWYvKSl8fFtdKS5zbGljZSgwLGkpLmZvckVhY2goKGU9PntzLmNyZWF0ZVN0dWR5SW5zZXJ0ZXIocnMoZSkpLmluc2VydCgpfSkpfX0od2luZG93LmNoYXJ0V2lkZ2V0LE10LnN0dWRpZXMpfSksITApLGUuZGF0YUV2ZW50cygpLmNvbXBsZXRlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3NzJiZvcygpLFEmJiFpcyYmKFEoWnQsITApLGlzPSEwKSxlZSYmIW5zJiYoZWUoWnQse3Nlcmllc0NvbnRyb2xCYXJFbmFibGVkOiEhVnR9KSxucz0hMCl9KSksZS5kYXRhRXZlbnRzKCkuc3ltYm9sRXJyb3IoKS5zdWJzY3JpYmUobnVsbCwoKCk9PntIKHEuTmFtZXMuTm9EYXRhLE10LmZyYW1lRWxlbWVudElkfHxudWxsLHZvaWQgMCl9KSl9KSkscXQmJihhc3luYygpPT57CmNvbnN0W2UsdCx7RHJhd2luZ1Rvb2xiYXI6aX0se0xpbmVUb29sUHJvcGVydGllc1dpZGdldDpufV09YXdhaXQgUHJvbWlzZS5hbGwoW1Byb21pc2UuYWxsKFtzLmUoNTQ4NTIpLHMuZSg4NDMwNikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMzQ5Mikscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSg5NDk0OCkscy5lKDIzNjI0KSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSg2Nzc5OSkscy5lKDI0NTgxKSxzLmUoODY0MjMpLHMuZSg0MDgzNSkscy5lKDE3MDg3KSxzLmUoNzg2NTIpLHMuZSg3MDgxNSkscy5lKDcxNDE0KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDg5MjA0KSxzLmUoODk1NTgpLHMuZSgxMDM2Nikscy5lKDY5ODYxKSxzLmUoMjAyKSxzLmUoNzI1MTIpLHMuZSg1NTAxMSkscy5lKDE1NjM0KSxzLmUoNzUzMDQpLHMuZSg1MjA5NSkscy5lKDcwNjU2KSxzLmUoNDQwMzEpLHMuZSg3MTkwMSkscy5lKDQwOTE0KSxzLmUoODEyNDcpLHMuZSgyMzY2OSkscy5lKDM4NDc5KSxzLmUoMjA1NjQpLHMuZSg2NzkyNSkscy5lKDM1MzQyKSxzLmUoMjMyNTQpLHMuZSg2NjQ3KSxzLmUoODY5OTcpLHMuZSg3OTI3KSxzLmUoNzk3OTEpLHMuZSgzNTA3Mykscy5lKDUwMzE2KSxzLmUoMzUzOTkpLHMuZSgzMjM4Nykscy5lKDgwOTE1KSxzLmUoMTg1MTIpLHMuZSgzNTM5MCkscy5lKDM4MDg2KSxzLmUoNzYwMzMpLHMuZSgyNjExOCkscy5lKDIwMzMxKSxzLmUoNDI5MzQpXSkudGhlbihzLnQuYmluZChzLDc3OTQ3NCwxOSkpLFByb21pc2UuYWxsKFtzLmUoNTQ4NTIpLHMuZSg4NDMwNikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMzQ5Mikscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSg5NDk0OCkscy5lKDIzNjI0KSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSg2Nzc5OSkscy5lKDI0NTgxKSxzLmUoODY0MjMpLHMuZSg0MDgzNSkscy5lKDE3MDg3KSxzLmUoNzg2NTIpLHMuZSg3MDgxNSkscy5lKDcxNDE0KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDg5MjA0KSxzLmUoODk1NTgpLHMuZSgxMDM2Nikscy5lKDY5ODYxKSxzLmUoMjAyKSxzLmUoNzI1MTIpLHMuZSg1NTAxMSkscy5lKDE1NjM0KSxzLmUoNzUzMDQpLHMuZSg1MjA5NSkscy5lKDcwNjU2KSxzLmUoNDQwMzEpLHMuZSg3MTkwMSkscy5lKDQwOTE0KSxzLmUoODEyNDcpLHMuZSgyMzY2OSkscy5lKDM4NDc5KSxzLmUoMjA1NjQpLHMuZSg2NzkyNSkscy5lKDM1MzQyKSxzLmUoMjMyNTQpLHMuZSg2NjQ3KSxzLmUoODY5OTcpLHMuZSg3OTI3KSxzLmUoNzk3OTEpLHMuZSgzNTA3Mykscy5lKDUwMzE2KSxzLmUoMzUzOTkpLHMuZSgzMjM4Nykscy5lKDgwOTE1KSxzLmUoMTg1MTIpLHMuZSgzNTM5MCkscy5lKDM4MDg2KSxzLmUoNzYwMzMpLHMuZSgyNjExOCkscy5lKDIwMzMxKSxzLmUoNDI5MzQpXSkudGhlbihzLnQuYmluZChzLDEyOTM2NSwxOSkpLFByb21pc2UuYWxsKFtzLmUoNTQ4NTIpLHMuZSg4NDMwNikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMzQ5Mikscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSg5NDk0OCkscy5lKDIzNjI0KSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSg2Nzc5OSkscy5lKDI0NTgxKSxzLmUoODY0MjMpLHMuZSg0MDgzNSkscy5lKDE3MDg3KSxzLmUoNzg2NTIpLHMuZSg3MDgxNSkscy5lKDcxNDE0KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDg5MjA0KSxzLmUoODk1NTgpLHMuZSgxMDM2Nikscy5lKDY5ODYxKSxzLmUoMjAyKSxzLmUoNzI1MTIpLHMuZSg1NTAxMSkscy5lKDE1NjM0KSxzLmUoNzUzMDQpLHMuZSg1MjA5NSkscy5lKDcwNjU2KSxzLmUoNDQwMzEpLHMuZSg3MTkwMSkscy5lKDQwOTE0KSxzLmUoODEyNDcpLHMuZSgyMzY2OSkscy5lKDM4NDc5KSxzLmUoMjA1NjQpLHMuZSg2NzkyNSkscy5lKDM1MzQyKSxzLmUoMjMyNTQpLHMuZSg2NjQ3KSxzLmUoODY5OTcpLHMuZSg3OTI3KSxzLmUoNzk3OTEpLHMuZSgzNTA3Mykscy5lKDUwMzE2KSxzLmUoMzUzOTkpLHMuZSgzMjM4Nykscy5lKDgwOTE1KSxzLmUoMTg1MTIpLHMuZSgzNTM5MCkscy5lKDM4MDg2KSxzLmUoNzYwMzMpLHMuZSgyNjExOCkscy5lKDIwMzMxKSxzLmUoNDI5MzQpXSkudGhlbihzLmJpbmQocyw1OTM5MjcpKSxQcm9taXNlLmFsbChbcy5lKDU0ODUyKSxzLmUoODQzMDYpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTM0OTIpLHMuZSgxMjM4NSkscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDI5NTM2KSxzLmUoOTQyMzIpLHMuZSg1MTg0KSxzLmUoNjc3OTkpLHMuZSgyNDU4MSkscy5lKDg2NDIzKSxzLmUoNDA4MzUpLHMuZSgxNzA4Nykscy5lKDc4NjUyKSxzLmUoNzA4MTUpLHMuZSg3MTQxNCkscy5lKDUyNjgwKSxzLmUoMzU3OTQpLHMuZSg4OTIwNCkscy5lKDg5NTU4KSxzLmUoMTAzNjYpLHMuZSg2OTg2MSkscy5lKDIwMikscy5lKDcyNTEyKSxzLmUoNTUwMTEpLHMuZSgxNTYzNCkscy5lKDc1MzA0KSxzLmUoNTIwOTUpLHMuZSg3MDY1Nikscy5lKDQ0MDMxKSxzLmUoNzE5MDEpLHMuZSg0MDkxNCkscy5lKDgxMjQ3KSxzLmUoMjM2NjkpLHMuZSgzODQ3OSkscy5lKDIwNTY0KSxzLmUoNjc5MjUpLHMuZSgzNTM0Mikscy5lKDIzMjU0KSxzLmUoNjY0Nykscy5lKDg2OTk3KSxzLmUoNzkyNykscy5lKDc5NzkxKSxzLmUoMzUwNzMpLHMuZSg1MDMxNikscy5lKDM1Mzk5KSxzLmUoMzIzODcpLHMuZSg4MDkxNSkscy5lKDE4NTEyKSxzLmUoMzUzOTApLHMuZSgzODA4Nikscy5lKDc2MDMzKSxzLmUoMjYxMTgpLHMuZSgyMDMzMSkscy5lKDQyOTM0KV0pLnRoZW4ocy5iaW5kKHMsMjQ3MjEyKSldKTtlc3x8KHQucmVuZGVyKGUuY3JlYXRlRWxlbWVudChpLHtjaGFydFdpZGdldENvbGxlY3Rpb246WnQscmVzaXplckJyaWRnZTpxdCxzY3JlZW5zaG90QnV0dG9uOiJjbWUiPT09eHR9KSxxdC5jb250YWluZXIudmFsdWUoKSksd2luZG93LmxpbmVUb29sUHJvcGVydGllc1Rvb2xiYXI9bmV3IG4oWnQpKX0pKCksJHQmJihhc3luYygpPT57CmNvbnN0W2UsdCxpLHtIZWFkZXJUb29sYmFyOm59XT1hd2FpdCBQcm9taXNlLmFsbChbSyh4dCksUHJvbWlzZS5hbGwoW3MuZSgxNjE5Mykscy5lKDUwMzE2KSxzLmUoODM2NzUpLHMuZSgzMjM4Nykscy5lKDQzOTI2KV0pLnRoZW4ocy50LmJpbmQocyw3Nzk0NzQsMTkpKSxQcm9taXNlLmFsbChbcy5lKDE2MTkzKSxzLmUoNTAzMTYpLHMuZSg4MzY3NSkscy5lKDMyMzg3KSxzLmUoNDM5MjYpXSkudGhlbihzLnQuYmluZChzLDEyOTM2NSwxOSkpLFByb21pc2UuYWxsKFtzLmUoMTYxOTMpLHMuZSg1MDMxNikscy5lKDgzNjc1KSxzLmUoMzIzODcpLHMuZSg0MzkyNildKS50aGVuKHMuYmluZChzLDUyMzgwMSkpXSkscj1hd2FpdCBlLmdldFRvb2xTZXQoKSxvPUYubW9iaWxldG91Y2g/WyJmdWxsIl06dm9pZCAwO2kucmVuZGVyKHQuY3JlYXRlRWxlbWVudChuLHt0b29sczpyLGNoYXJ0QXBpSW5zdGFuY2U6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2UsYXZhaWxhYmxlVGltZUZyYW1lczp6LGNoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpadCxpZGVhczohMSxyZXNpemVyQnJpZGdlOiR0LHBvcHVwQnV0dG9uOmFzKE10LnNob3dfcG9wdXBfYnV0dG9uKSxzdHVkeU1hcmtldDp3aW5kb3cuc3R1ZHlNYXJrZXQsd2luZG93TWVzc2FnZVNlcnZpY2U6T3QsaXNGdW5kYW1lbnRhbDohMSxhbGxvd2VkTW9kZXM6b30pLCR0LmNvbnRhaW5lci52YWx1ZSgpKX0pKCksWXQmJihhc3luYygpPT57Y29uc3Rbe1dpZGdldEJhcjplfSx7Y29uZmlndXJhdGlvbjp0fV09YXdhaXQgUHJvbWlzZS5hbGwoW1Byb21pc2UuYWxsKFtzLmUoOTU1NSkscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg5NTA0KSxzLmUoNTUwMTEpLHMuZSg3NTMwNCkscy5lKDc5NzkxKSxzLmUoODU1MTEpLHMuZSgzMjM4Nykscy5lKDMwNjk5KSxzLmUoODE3NTApLHMuZSg1NjM4MildKS50aGVuKHMuYmluZChzLDUyMDYyMSkpLFByb21pc2UuYWxsKFtzLmUoOTU1NSkscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg5NTA0KSxzLmUoNTUwMTEpLHMuZSg3NTMwNCkscy5lKDc5NzkxKSxzLmUoODU1MTEpLHMuZSgzMjM4Nykscy5lKDMwNjk5KSxzLmUoODE3NTApLHMuZSg1NjM4MildKS50aGVuKHMuYmluZChzLDM2OTI3MSkpXSk7enQuZm9yRWFjaCgoZT0+e2Uud2lkZ2V0cz1lLndpZGdldHM/LmZpbHRlcigoZT0+ISh2b2lkIDAhPT1lLmlzRW5hYmxlZCYmIWUuaXNFbmFibGVkKSkpfSkpO3dpbmRvdy53aWRnZXRiYXI9bmV3IGUoe3Jlc2l6ZXJCcmlkZ2U6WXQsYWZmZWN0c0xheW91dDooKT0+anQuYWZmZWN0c0xheW91dCgicmlnaHQiKSxyZWFkb25seTohMCxzdGF0ZTp7d2lkdGg6V3QscGFnZXM6enR9LHNob3dDbG9zZUJ1dHRvbjohMCxjb25maWd1cmF0aW9uOigpPT50KHtjaGFydEFwaUluc3RhbmNlOndpbmRvdy5DaGFydEFwaUluc3RhbmNlfSksbW9kZWxzOigpPT5bXX0pfSkoKSx0cy5vbkRpc2Nvbm5lY3RlZCgpLnN1YnNjcmliZShudWxsLChlPT57dmFyIHQ7b3MoKSxlJiYodD0oKT0+e3dpbmRvdy5DaGFydEFwaUluc3RhbmNlLmRpc2Nvbm5lY3QoKSxzZXRUaW1lb3V0KCgoKT0+e3dpbmRvdy5DaGFydEFwaUluc3RhbmNlLmNvbm5lY3QoKSx0cy5yZWNvbm5lY3QoKX0pLDUwMCl9LHcoKS50aGVuKChlPT5lLnNob3dDcml0aWNhbEVycm9yTWVzc2FnZSh0KSkpKX0pKSx0cy5vblJlY29ubmVjdEJhaWxvdXQoKS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt2YXIgZTtlPSgpPT57c2V0VGltZW91dCgoKCk9Pnt3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5jb25uZWN0KCl9KSwwKX0sdygpLnRoZW4oKHQ9PnQuc2hvd0Rpc2Nvbm5lY3RlZE1lc3NhZ2UoZSkpKX0pKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIudHYtY29udGVudCIpLmZvckVhY2goKGU9PntlLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwoZT0+e2UudGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCYmZS50YXJnZXQubWF0Y2hlcygiaW5wdXQsIHRleHRhcmVhIil8fGUucHJldmVudERlZmF1bHQoKX0pKX0pKSxNdC53aG90cmFkZXMmJigwLG8uc2V0RW5hYmxlZCkoIndob3RyYWRlc19hdXRoX29ubHkiLCEwKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIubG9hZGluZy1pbmRpY2F0b3IiKS5mb3JFYWNoKChlPT57ZS5yZW1vdmUoKX0pKSwoKCk9PntsZXQgZTtjb25zdCB0PXQ9Pnt2b2lkIDAhPT1lJiYoMCxmLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSgic2ltcGxlIikudW5zdWJzY3JpYmUoIndpZGdldFF1b3RlTGlzdGVuZXIiLGUpLGU9dCwoMCxmLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSgic2ltcGxlIikuc3Vic2NyaWJlKCJ3aWRnZXRRdW90ZUxpc3RlbmVyIix0LChlPT57Y29uc3QgdD1lLnZhbHVlcyxzPVsiY2hhbmdlIiwiY2hhbmdlX3BlcmNlbnQiLCJsYXN0X3ByaWNlIiwib3JpZ2luYWxfbmFtZSIsInNob3J0X25hbWUiLCJleGNoYW5nZSIsImRlc2NyaXB0aW9uIiwidm9sdW1lIl0saT17fTtmb3IobGV0IGU9MDtlPHMubGVuZ3RoO2UrKyl7Y29uc3Qgbj1zW2VdO2lmKCF0Lmhhc093blByb3BlcnR5KG4pKXJldHVybjtpW25dPXRbbl19aS52b2x1bWU9MWUxMDA9PT10LnZvbHVtZT92b2lkIDA6dC52b2x1bWUsT3QucG9zdChwYXJlbnQsInF1b3RlVXBkYXRlIixpKX0pKX07dHMud2l0aE1vZGVsKG51bGwsKCgpPT57Y29uc3QgZT10cy5tb2RlbCgpLm1haW5TZXJpZXMoKTtlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zeW1ib2wuc3Vic2NyaWJlKGUsKGU9Pnt0KGUudmFsdWUoKSksInRlbGVncmFtIj09PXh0JiZPdC5wb3N0KHBhcmVudCwic3ltYm9sQ2hhbmdlZCIsZS52YWx1ZSgpKX0pKX0pKSxPdC5vbigicXVvdGVTdWJzY3JpYmUiLCgoKT0+e2NvbnN0IGU9dHMubW9kZWwoKS5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnN5bWJvbC52YWx1ZSgpO3QoZSl9KSksT3Qub24oImltYWdlQ2FudmFzIiwoKGUsdCk9PntadC5jbGllbnRTbmFwc2hvdCgpLnRoZW4oKGU9Pnt0cnl7dCh7ZGF0YVVybDplLnRvRGF0YVVSTCgiaW1hZ2UvcG5nIiksd2lkdGg6ZS53aWR0aCxoZWlnaHQ6ZS5oZWlnaHR9KX1jYXRjaHt0KCl9fSkpLmNhdGNoKCgoKT0+e3QoKX0pKX0pKSwKT3Qub24oInN5bWJvbEluZm8iLCgoZSx0KT0+e2NvbnN0IHM9KDAsci5lbnN1cmVOb3ROdWxsKSh0cy5tb2RlbCgpLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCkpLGk9dHMubW9kZWwoKS5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmludGVydmFsLnZhbHVlKCk7dCh7bmFtZTpzLm5hbWUsZXhjaGFuZ2U6cy5leGNoYW5nZSxkZXNjcmlwdGlvbjpzLmRlc2NyaXB0aW9uLHR5cGU6cy50eXBlLGludGVydmFsOml9KX0pKSxPdC5vbigid2lkZ2V0UmVhZHkiLCgoZSx0KT0+e3RzLndpdGhNb2RlbChudWxsLCgoKT0+e2xldCBlO3RzLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbEluZm8oKT90KCk6KGU9KCk9Pnt0KCksdHMubW9kZWwoKS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmUobnVsbCxlKX0sdHMubW9kZWwoKS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKG51bGwsZSkpfSkpfSkpLGooJC5OYW1lcy5TZXRTeW1ib2wsKGU9PntlJiZlLnN5bWJvbCYmWnQuc2V0U3ltYm9sKGUuc3ltYm9sKX0pKSxqKCQuTmFtZXMuU2V0SW50ZXJ2YWwsKGU9PntlJiZlLmludGVydmFsJiZadC5zZXRSZXNvbHV0aW9uKGUuaW50ZXJ2YWwpfSkpfSkoKSx3aW5kb3cuYXBwbHlTdHVkaWVzT3ZlcnJpZGVzPWU9PntlJiZ3aW5kb3cuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmFwcGx5U3R1ZGllc092ZXJyaWRlcyhlKX19LDkzMDIzMShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtkaXNhYmxlOigpPT51LGlzRmVhdHVyZXNldEVuYWJsZWQ6KCk9PmEsc2V0RW5hYmxlZDooKT0+bH0pO3ZhciBpPXMoNjM1MTgpO2NvbnN0IG49bmV3IE1hcCxyPW5ldyBNYXAsbz1uZXcgU2V0O2Z1bmN0aW9uIGEoZSl7Y29uc3QgdD1uLmdldChlKTtpZih2b2lkIDAhPT10KXJldHVybiB0O2NvbnN0IHM9ci5nZXQoZSk7cmV0dXJuISFzJiZzLnNvbWUoYSl9ZnVuY3Rpb24gbChlLHQpe24uc2V0KFN0cmluZyhlKSxCb29sZWFuKHQpKX1mdW5jdGlvbiB1KGUpe2woZSwhMSl9IWZ1bmN0aW9uKCl7Zm9yKGNvbnN0W2UsdF1vZiBPYmplY3QuZW50cmllcyhpKSlpZihvLmFkZChlKSwic3Vic2V0cyJpbiB0KWZvcihjb25zdCBzIG9mIHQuc3Vic2V0cyl7by5hZGQocyk7bGV0IHQ9ci5nZXQocyk7dm9pZCAwPT09dCYmKHQ9W10sci5zZXQocyx0KSksdC5wdXNoKGUpfX0oKSwib2JqZWN0Ij09dHlwZW9mIF9faW5pdGlhbERpc2FibGVkRmVhdHVyZXNldHMmJkFycmF5LmlzQXJyYXkoX19pbml0aWFsRGlzYWJsZWRGZWF0dXJlc2V0cykmJl9faW5pdGlhbERpc2FibGVkRmVhdHVyZXNldHMuZm9yRWFjaCh1KSwib2JqZWN0Ij09dHlwZW9mIF9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cyYmQXJyYXkuaXNBcnJheShfX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMpJiZfX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMuZm9yRWFjaCgoZnVuY3Rpb24oZSl7bChlLCEwKX0pKX0sNzkyNjEyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2dldEZyZXNoSW5pdERhdGE6KCk9PnUsZ2V0SW5pdERhdGE6KCk9PmwsdXBkYXRlSW5pdERhdGE6KCk9PmF9KTt2YXIgaT1zKDEzODYzOCk7Y29uc3Qgbj0oMCxzKDIyMTA2MSkuZ2V0TG9nZ2VyKSgiQ29tbW9uLkluaXREYXRhIikscj13aW5kb3cuaW5pdERhdGF8fHt9O2Z1bmN0aW9uIG8oKXshZnVuY3Rpb24oKXtjb25zdCBlPXdpbmRvdztlLmluaXREYXRhJiZlLmluaXREYXRhIT09ciYmKE9iamVjdC5hc3NpZ24ocixlLmluaXREYXRhKSxlLmluaXREYXRhPXIpfSgpO2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnc2NyaXB0W3R5cGU9ImFwcGxpY2F0aW9uL3Bycy5pbml0LWRhdGEranNvbiJdJyk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IHM9ZVt0XTt0cnl7Y29uc3QgZT1KU09OLnBhcnNlKCgwLGkuZW5zdXJlTm90TnVsbCkocy50ZXh0Q29udGVudCkpO09iamVjdC5hc3NpZ24ocixlKX1jYXRjaChlKXtuLmxvZ1dhcm4oYEZhaWxlZCB0byBwYXJzZSBpbml0RGF0YSBlbGVtZW50LiAke2V9YCl9ZmluYWxseXsoMCxpLmVuc3VyZU5vdE51bGwpKHMucGFyZW50Tm9kZSkucmVtb3ZlQ2hpbGQocyl9fWNvbnN0IHQ9ci5jb250ZW50O3QmJnIuc3R1ZHlfbWV0YV9pbmZvX21hcCYmKHQuc3R1ZHlNZXRhSW5mb01hcD17Li4udC5zdHVkeU1ldGFJbmZvTWFwLC4uLnIuc3R1ZHlfbWV0YV9pbmZvX21hcH0pfWZ1bmN0aW9uIGEoKXtvKCl9ZnVuY3Rpb24gbCgpe3JldHVybiByfWZ1bmN0aW9uIHUoKXtyZXR1cm4gbygpLHJ9fSwyNjk1MzEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Q2hhbm5lbE11bHRpcGxleGVyOigpPT5pfSk7Y2xhc3MgaXtjb25zdHJ1Y3Rvcigpe3RoaXMuX2hhbmRsZXJzPXt9LHRoaXMuX3NwZWNpYWxIYW5kbGVycz17fX1vbihlLHQpe2NvbnN0IHM9dGhpcy5faXNTcGVjaWFsQ2hhbm5lbChlKT90aGlzLl9zcGVjaWFsSGFuZGxlcnM6dGhpcy5faGFuZGxlcnM7c1tlXXx8KHNbZV09W10pLHNbZV0ucHVzaCh0KX1vZmYoZSx0KXtjb25zdCBzPXRoaXMuX2lzU3BlY2lhbENoYW5uZWwoZSk/dGhpcy5fc3BlY2lhbEhhbmRsZXJzOnRoaXMuX2hhbmRsZXJzO2lmKCEoZSBpbiBzKSlyZXR1cm47aWYodm9pZCAwPT09dClyZXR1cm4gdm9pZCBkZWxldGUgc1tlXTtjb25zdCBpPXNbZV0uaW5kZXhPZih0KTtpPj0wJiZzW2VdLnNwbGljZShpLDEpfWVtaXQoZSx0LHMsaSl7dGhpcy5faGFuZGxlcnNbc10mJnRoaXMuX2hhbmRsZXJzW3NdLmZvckVhY2goKG49PntuKGUsdCxzLGkpfSkpO2Zvcihjb25zdCBuIG9mIE9iamVjdC5rZXlzKHRoaXMuX3NwZWNpYWxIYW5kbGVycykpe2NvbnN0IHI9Il4iK24ucmVwbGFjZSgvXCovZywiLio/IikrIiQiO25ldyBSZWdFeHAocikudGVzdChzKSYmdGhpcy5fc3BlY2lhbEhhbmRsZXJzW25dLmZvckVhY2goKG49PntuKGUsdCxzLGkpfSkpfX1faXNTcGVjaWFsQ2hhbm5lbChlKXtyZXR1cm4vXCovLnRlc3QoZSl9fX0sNjE1NzY5KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse011bHRpcGxleGVyU3RhdGU6KCk9Pmx9KQo7dmFyIGk9cyg5NDgzODApLG49cygxNTAxNTApLHI9cyg3Njg3NjApLG89cygxNTI2OTkpLGE9cyg4NDg4NTUpO2NsYXNzIGx7Y29uc3RydWN0b3IoKXt0aGlzLl9pZD0oMCxuLmd1aWQpKCksdGhpcy5fc3RhdGU9e1t0aGlzLl9pZF06e319LHRoaXMuX3hFdmVudFByZWZpeD0ibXVsdGlwbGV4ZXItc3RhdGUtIix0aGlzLl94RXZlbnRDcmVhdGVUYWI9dGhpcy5feEV2ZW50UHJlZml4KyJjcmVhdGUtbmV3LXRhYiIsdGhpcy5feEV2ZW50U2hhcmVTdGF0ZT10aGlzLl94RXZlbnRQcmVmaXgrInNoYXJlLXN0YXRlIix0aGlzLl9sb2NrTmFtZT0idGFiX2Rlc3RydWN0aW9uIix0aGlzLl9zdGF0ZUNoYW5nZURlbGVnYXRlPW5ldyBpLkRlbGVnYXRlLHRoaXMuX2NyZWF0ZWRMb2Nrcz17fSx0aGlzLl9sb2NrRW5hYmxlZD0oMCxhLndlYkxvY2tFbmFibGVkKSgpLHRoaXMuX2xvY2tQcm9taXNlPSgwLHIuY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLHRoaXMuX2xvY2tDcmVhdGVkPSgwLHIuY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLHRoaXMuX29uVGFiQ3JlYXRlQ2I9bnVsbCx0aGlzLl9vblRhYkNyZWF0ZT1lPT57dGhpcy5fb25UYWJDcmVhdGVDYiYmdGhpcy5fb25UYWJDcmVhdGVDYigpO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTt0aGlzLl9zdGF0ZVt0XT17fSx0aGlzLl9zaGFyZVN0YXRlKCksdGhpcy5fcmVxdWVzdFRhYlJlbW92ZUxvY2sodCl9LHRoaXMuX3NoYXJlU3RhdGU9YXN5bmMoKT0+e2F3YWl0IHRoaXMuX2xvY2tDcmVhdGVkLnByb21pc2U7Y29uc3QgZT1KU09OLnN0cmluZ2lmeShbdGhpcy5faWQsdGhpcy5fc3RhdGVbdGhpcy5faWRdXSk7by5UVlhXaW5kb3dFdmVudHMuZW1pdCh0aGlzLl94RXZlbnRTaGFyZVN0YXRlLGUpfSx0aGlzLl9yZXF1ZXN0VGFiUmVtb3ZlTG9jaz1lPT57IXRoaXMuX2NyZWF0ZWRMb2Nrc1tlXSYmdGhpcy5fbG9ja0VuYWJsZWQmJih0aGlzLl9jcmVhdGVkTG9ja3NbZV09MSxuYXZpZ2F0b3IubG9ja3MucmVxdWVzdChgJHt0aGlzLl9sb2NrTmFtZX1fJHtlfWAsKGFzeW5jKCk9Pntjb25zdCB0PXRoaXMuX3N0YXRlW2VdfHx7fTt0aGlzLl9jb21wYXJlVGFiU3RhdGUoZSx7fSx0LCJhZGQiKSx0aGlzLl9jb21wYXJlVGFiU3RhdGUoZSx0LHt9LCJyZW1vdmUiKSxkZWxldGUgdGhpcy5fc3RhdGVbZV0sZGVsZXRlIHRoaXMuX2NyZWF0ZWRMb2Nrc1tlXX0pKSl9LHRoaXMuX29uU2hhcmVTdGF0ZUZyb21PdGhlcj1lPT57Y29uc3RbdCxzXT1KU09OLnBhcnNlKGUpLGk9dGhpcy5fc3RhdGVbdF18fHt9O3RoaXMuX2NvbXBhcmVUYWJTdGF0ZSh0LHMsaSwiYWRkIiksdGhpcy5fY29tcGFyZVRhYlN0YXRlKHQsaSxzLCJyZW1vdmUiKSx0aGlzLl9zdGF0ZVt0XT1zLHRoaXMuX3JlcXVlc3RUYWJSZW1vdmVMb2NrKHQpfSx0aGlzLl9yZW1vdmVDaGFubmVsPShlLHQpPT57ZGVsZXRlIHRoaXMuX3N0YXRlW3RoaXMuX2lkXVtlXVt0XSx0aGlzLl9pc0xpc3RlbkJ5QW5vdGhlclRhYihlLHQpfHx0aGlzLl9zdGF0ZUNoYW5nZURlbGVnYXRlLmZpcmUoInJlbW92ZSIsZSx0KTswPT09T2JqZWN0LmtleXModGhpcy5fc3RhdGVbdGhpcy5faWRdW2VdKS5sZW5ndGgmJmRlbGV0ZSB0aGlzLl9zdGF0ZVt0aGlzLl9pZF1bZV19LG8uVFZYV2luZG93RXZlbnRzLm9uKHRoaXMuX3hFdmVudENyZWF0ZVRhYix0aGlzLl9vblRhYkNyZWF0ZSksby5UVlhXaW5kb3dFdmVudHMub24odGhpcy5feEV2ZW50U2hhcmVTdGF0ZSx0aGlzLl9vblNoYXJlU3RhdGVGcm9tT3RoZXIpLHRoaXMuX2xvY2tFbmFibGVkP25hdmlnYXRvci5sb2Nrcy5yZXF1ZXN0KGAke3RoaXMuX2xvY2tOYW1lfV8ke3RoaXMuX2lkfWAsKGFzeW5jKCk9PihvLlRWWFdpbmRvd0V2ZW50cy5lbWl0KHRoaXMuX3hFdmVudENyZWF0ZVRhYixKU09OLnN0cmluZ2lmeSh0aGlzLl9pZCkpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgoKT0+dGhpcy5fbG9ja1Byb21pc2UucmVzb2x2ZSgpKSksdGhpcy5fbG9ja0NyZWF0ZWQucmVzb2x2ZSgpLHRoaXMuX2xvY2tQcm9taXNlLnByb21pc2UpKSk6dGhpcy5fbG9ja0NyZWF0ZWQucmVzb2x2ZSgpfWFkZENoYW5uZWwoZSx0KXt0aGlzLl9pc05vdEVtcHR5KGUsdCk/dGhpcy5fc3RhdGVbdGhpcy5faWRdW2VdW3RdKys6KHRoaXMuX3N0YXRlW3RoaXMuX2lkXVtlXXx8KHRoaXMuX3N0YXRlW3RoaXMuX2lkXVtlXT17fSksdGhpcy5fc3RhdGVbdGhpcy5faWRdW2VdW3RdPTEpLHRoaXMuX2lzTGlzdGVuQnlBbm90aGVyVGFiKGUsdCl8fHRoaXMuX3N0YXRlQ2hhbmdlRGVsZWdhdGUuZmlyZSgiYWRkIixlLHQpLHRoaXMuX3NoYXJlU3RhdGUoKX1yZW1vdmVDaGFubmVsKGUsdCl7dGhpcy5faXNFeGlzdChlLHQpJiYodGhpcy5fc3RhdGVbdGhpcy5faWRdW2VdW3RdLS0sdGhpcy5faXNOb3RFbXB0eShlLHQpfHx0aGlzLl9yZW1vdmVDaGFubmVsKGUsdCksdGhpcy5fc2hhcmVTdGF0ZSgpKX1jb2xsZWN0UHVzaFN0cmVhbUNoYW5uZWxzKGUpe2NvbnN0IHQ9bmV3IFNldDtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5fc3RhdGUpLmZvckVhY2goKHM9Pntjb25zdCBpPXRoaXMuX3N0YXRlW3NdW2VdO3RoaXMuX3N0YXRlW3NdW2VdJiZPYmplY3Qua2V5cyhpKS5mb3JFYWNoKChlPT50LmFkZChlKSkpfSkpLEFycmF5LmZyb20odCl9b25TdGF0ZUNoYW5nZShlKXt0aGlzLl9zdGF0ZUNoYW5nZURlbGVnYXRlLnN1YnNjcmliZShudWxsLGUpfW9mZlN0YXRlQ2hhbmdlKGUpe3RoaXMuX3N0YXRlQ2hhbmdlRGVsZWdhdGUudW5zdWJzY3JpYmUobnVsbCxlKX1vblRhYkNyZWF0ZShlKXt0aGlzLl9vblRhYkNyZWF0ZUNiPWV9X2lzRXhpc3QoZSx0LHM9dGhpcy5faWQpe3JldHVybiB2b2lkIDAhPT10aGlzLl9zdGF0ZVtzXSYmdm9pZCAwIT09dGhpcy5fc3RhdGVbc11bZV0mJnZvaWQgMCE9PXRoaXMuX3N0YXRlW3NdW2VdW3RdfV9pc05vdEVtcHR5KGUsdCxzPXRoaXMuX2lkKXtyZXR1cm4gdGhpcy5faXNFeGlzdChlLHQscykmJnRoaXMuX3N0YXRlW3NdW2VdW3RdPjB9X2NvbXBhcmVUYWJTdGF0ZShlLHQscyxpKXtPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChuPT57Ck9iamVjdC5rZXlzKHRbbl0pLmZvckVhY2goKHQ9Pnt0aGlzLl9pc0xpc3RlbkJ5QW5vdGhlclRhYihuLHQsZSl8fHNbbl0mJnNbbl1bdF18fHRoaXMuX3N0YXRlQ2hhbmdlRGVsZWdhdGUuZmlyZShpLG4sdCl9KSl9KSl9X2lzTGlzdGVuQnlBbm90aGVyVGFiKGUsdCxzPXRoaXMuX2lkKXtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5fc3RhdGUpLnNvbWUoKGk9PmkhPT1zJiZ0aGlzLl9pc05vdEVtcHR5KGUsdCxpKSkpfX19LDIyNDQwMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtQdXNoU3RyZWFtOigpPT5fLFRyYW5zcG9ydFR5cGU6KCk9Pm0sbG9nZ2VyU3Vic3lzdGVtSWQ6KCk9Pmh9KTt2YXIgaT1zKDEzODYzOCksbj1zKDIyMTA2MSkscj1zKDgwOTk5Myksbz1zKDYzMjY4NiksYT1zKDI5NTYyNik7Y29uc3QgbD0oMCxuLmdldExvZ2dlcikoIlBlcnNpc3RlbnRXZWJzb2NrZXRUcmFuc3BvcnQiKTtjbGFzcyB1IGV4dGVuZHMgYS5QZXJzaXN0ZW50VHJhbnNwb3J0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSxsLHQpfXNlbmRNZXNzYWdlKGUpe3RoaXMuX2Nvbm5lY3Rpb25TdGF0dXMudmFsdWUoKT09PW8uQ29ubmVjdGlvblN0YXR1cy5PcGVuP3RoaXMuX3NvY2tldD90aGlzLl9zb2NrZXQuc2VuZChlKTpsLmxvZ0Vycm9yKCJTb21ldGhpbmcgd2VudCB3cm9uZyAtIGNvZGUgMHgzIik6bC5sb2dXYXJuKCJBdHRlbXB0IHRvIHNlbmQgbWVzc2FnZSBidXQgY29ubmVjdGlvbiBpcyBub3Qgb3BlbmVkIil9X2NyZWF0ZU5hdGl2ZVRyYW5zcG9ydChlKXtjb25zdCB0PW5ldyBXZWJTb2NrZXQoZSx0aGlzLl9jb25uZWN0aW9uT3B0aW9ucz8ucHJvdG9jb2xzKTtyZXR1cm4gdC5iaW5hcnlUeXBlPSJhcnJheWJ1ZmZlciIsdC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsdGhpcy5fc29ja2V0RXJyb3JIYW5kbGVyKSx0LmFkZEV2ZW50TGlzdGVuZXIoImNsb3NlIix0aGlzLl9zb2NrZXRDbG9zZUhhbmRsZXIpLHQuYWRkRXZlbnRMaXN0ZW5lcigib3BlbiIsdGhpcy5fc29ja2V0T3BlbkhhbmRsZXIpLHQuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fc29ja2V0TWVzc2FnZUhhbmRsZXIpLHR9X2Rpc2Nvbm5lY3RUcmFuc3BvcnQoKXtpZihudWxsPT09dGhpcy5fc29ja2V0KXJldHVybjt0aGlzLl9zb2NrZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHRoaXMuX3NvY2tldEVycm9ySGFuZGxlciksdGhpcy5fc29ja2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsb3NlIix0aGlzLl9zb2NrZXRDbG9zZUhhbmRsZXIpLHRoaXMuX3NvY2tldC5yZW1vdmVFdmVudExpc3RlbmVyKCJvcGVuIix0aGlzLl9zb2NrZXRPcGVuSGFuZGxlciksdGhpcy5fc29ja2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuX3NvY2tldE1lc3NhZ2VIYW5kbGVyKSx0aGlzLl9yZW1vdmVPbk9mZmxpbmVMaXN0ZW5lcigpO2NvbnN0IGU9dGhpcy5fc29ja2V0O3RoaXMuX3NvY2tldD1udWxsLHRoaXMuX2Nvbm5lY3Rpb25TdGF0dXMuc2V0VmFsdWUoby5Db25uZWN0aW9uU3RhdHVzLkNsb3NlZCksZS5yZWFkeVN0YXRlIT09V2ViU29ja2V0LkNMT1NFRCYmZS5jbG9zZSgpfX12YXIgYz1zKDE1Njg1MCk7Y2xhc3MgZHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9xdWV1ZT1bXSx0aGlzLl9pc1dvcmtpbmc9ITEsdGhpcy5fb25SZXNvbHZlPSgpPT57dGhpcy5fcXVldWUubGVuZ3RoPjAmJnRoaXMuX2NyZWF0ZVByb21pc2UodGhpcy5fcXVldWVbMF0pfSx0aGlzLl9sb2dnZXI9ZX1lbnF1ZXVlKGUpe3RoaXMuX2xvZ2dlci5sb2dOb3JtYWwoYEFkZGluZyBjaGFubmVsIGluIHN0YWNrLiBRdWV1ZSBzaXplOiAke3RoaXMuX3F1ZXVlLmxlbmd0aH1gKSx0aGlzLl9pc1dvcmtpbmd8fHRoaXMuX2NyZWF0ZVByb21pc2UoZSksdGhpcy5fcXVldWUucHVzaChlKX1fY3JlYXRlUHJvbWlzZShlKXt0aGlzLl9pc1dvcmtpbmc9ITAsdGhpcy5fd3JhcChlKS50aGVuKHRoaXMuX29uUmVzb2x2ZSl9X3dyYXAoZSl7cmV0dXJuIG5ldyBQcm9taXNlKCh0PT57ZSgpLmNhdGNoKChlPT50aGlzLl9sb2dnZXIubG9nTm9ybWFsKGBFcnJvciB3aGVuIHRyeWluZyBoYW5kbGluZyBjaGFubmVsOiAke2UubWVzc2FnZX1gKSkpLmZpbmFsbHkoKCgpPT57dGhpcy5faXNXb3JraW5nPSExLHRoaXMuX3F1ZXVlLnNoaWZ0KCksdCgpfSkpfSkpfX1jb25zdCBoPSJQdXNoU3RyZWFtIixwPSgwLG4uZ2V0TG9nZ2VyKShoKTt2YXIgbTshZnVuY3Rpb24oZSl7ZVtlLkV2ZW50U291cmNlPTBdPSJFdmVudFNvdXJjZSIsZVtlLldlYlNvY2tldD0xXT0iV2ViU29ja2V0In0obXx8KG09e30pKTtjbGFzcyBfe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fY2hhbm5lbHM9W10sdGhpcy5fcXVldWU9bmV3IGQocCksdGhpcy5fdHJhbnNwb3J0PXQudHJhbnNwb3J0VHlwZT09PW0uRXZlbnRTb3VyY2U/bmV3IHIuUGVyc2lzdGVudEV2ZW50U291cmNlVHJhbnNwb3J0KHRoaXMuX29uUHVzaFN0cmVhbU1lc3NhZ2UuYmluZCh0aGlzKSk6bmV3IHUodGhpcy5fb25QdXNoU3RyZWFtTWVzc2FnZS5iaW5kKHRoaXMpLHRoaXMuX29uUHVzaFN0cmVhbUNsb3NlLmJpbmQodGhpcykpLHRoaXMuX3NldHRpbmdzPXQsdGhpcy5fbWVzc2FnZUhhbmRsZXI9ZX1hZGRDaGFubmVsKGUpe3RoaXMuX3F1ZXVlLmVucXVldWUoKCgpPT50aGlzLl9hZGRDaGFubmVsKGUpKSl9cmVtb3ZlQ2hhbm5lbChlKXt0aGlzLl9xdWV1ZS5lbnF1ZXVlKCgoKT0+dGhpcy5fcmVtb3ZlQ2hhbm5lbChlKSkpfWdldENoYW5uZWxzKCl7cmV0dXJuIHRoaXMuX2NoYW5uZWxzfWhhc0NoYW5uZWwoZSl7cmV0dXJuLTEhPT10aGlzLl9jaGFubmVscy5pbmRleE9mKGUpfWNvbm5lY3Rpb25TdGF0dXMoKXtyZXR1cm4gdGhpcy5fdHJhbnNwb3J0LmNvbm5lY3Rpb25TdGF0dXMoKX1yZWNvbm5lY3RFdmVudCgpe3JldHVybiB0aGlzLl90cmFuc3BvcnQuc3VjY2Vzc1JlY29ubmVjdFJlYWNoZWRFdmVudCgpfWNvbm5lY3QoKXsoMCxpLmFzc2VydCkoMCE9PXRoaXMuX2NoYW5uZWxzLmxlbmd0aCwiVGhlcmUgaXMgbm8gY2hhbm5lbHMiKSx0aGlzLl90cmFuc3BvcnQuY29ubmVjdCgpfWRpc2Nvbm5lY3QoKXsKdGhpcy5fdHJhbnNwb3J0LmRpc2Nvbm5lY3QoKX1nZXRMb2dzKGUpe3JldHVybigwLG4uZ2V0UmF3TG9nSGlzdG9yeSkoZSxoKX1hc3luYyBfYWRkQ2hhbm5lbChlKXsoMCxpLmFzc2VydCkoIXRoaXMuaGFzQ2hhbm5lbChlKSxgQ2hhbm5lbCB3aXRoIG5hbWUgJHtlfSBoYXMgYWxyZWFkeSBiZWVuIHN1YnNjcmliZWRgKSxwLmxvZ05vcm1hbChgQWRkaW5nIGNoYW5uZWwgJHtlfWApLHRoaXMuX2NoYW5uZWxzLnB1c2goZSk7Y29uc3R7bWF4U2l6ZTp0fT10aGlzLl9zZXR0aW5ncztyZXR1cm4gdm9pZCAwIT09dCYmdGhpcy5fY2hhbm5lbHMubGVuZ3RoPnQmJih0aGlzLl9jaGFubmVscz10aGlzLl9jaGFubmVscy5zbGljZSh0aGlzLl9jaGFubmVscy5sZW5ndGgtdCkpLHRoaXMuX3RyYW5zcG9ydC5zZXRVcmwodGhpcy5fZ2VuZXJhdGVVcmwoKSl9YXN5bmMgX3JlbW92ZUNoYW5uZWwoZSl7Y29uc3QgdD10aGlzLl9jaGFubmVscy5pbmRleE9mKGUpO3JldHVybigwLGkuYXNzZXJ0KSgtMSE9PXQsYFRoZXJlIGlzIG5vIGNoYW5uZWwgd2l0aCBuYW1lICR7ZX1gKSxwLmxvZ05vcm1hbChgUmVtb3ZpbmcgY2hhbm5lbCAke2V9YCksdGhpcy5fY2hhbm5lbHMuc3BsaWNlKHQsMSksdGhpcy5fdHJhbnNwb3J0LnNldFVybCh0aGlzLl9nZW5lcmF0ZVVybCgpKX1fb25QdXNoU3RyZWFtTWVzc2FnZShlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJXcm9uZyBtZXNzYWdlIHR5cGUsIGV4cGVjdGVkIHN0cmluZyIpO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTt0aGlzLl9zZXR0aW5ncy50ZWxlbWV0cnlFbmFibGVkKCkmJnRoaXMuX2hhbmRsZUJhc2ljVGVsZW1ldHJ5KHQpO2NvbnN0IHM9dC5pZCxpPXQuY2hhbm5lbDstMj09PXM/cC5sb2dXYXJuKCJSZWNlaXZlZCB1bmV4cGVjdGVkIG1lc3NhZ2U6IGFib3V0IHJlbW92ZWQgdGhlIGNoYW5uZWwiKTpzPjAmJihwLmxvZ0RlYnVnKGBSZWNlaXZlZCBtZXNzYWdlOiBpZD0iJHtzfSIgY2hhbm5lbD0iJHtpfSJgKSx0aGlzLl9tZXNzYWdlSGFuZGxlcih0LnRleHQscyxpKSl9X2hhbmRsZUJhc2ljVGVsZW1ldHJ5KGUpe3RyeXtjb25zdCB0PSJ0cmFkaW5nIixzPWUudGV4dC5jb250ZW50Ll90cyxpPWUudGV4dC5jb250ZW50Ll9ydHMsbj1EYXRlLm5vdygpO2lmKHMpe2NvbnN0IGU9bi1zO2U+MCYmZTwzNmU1JiYoYy50ZWxlbWV0cnkuc2VuZFJlcG9ydCh0LCJzZXJ2aWNlMmNsaWVudF90aW1lIix7dmFsdWU6ZX0pLGkmJmMudGVsZW1ldHJ5LnNlbmRSZXBvcnQodCwibmdpbngyY2xpZW50X3RpbWUiLHt2YWx1ZTpuLWl9KSl9fWNhdGNoKGUpe319X29uUHVzaFN0cmVhbUNsb3NlKGUpezEwMDU9PT1lLmNvZGUmJmMudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgid2Vic29ja2V0X2NvZGVfMTAwNSIpfV9nZW5lcmF0ZVVybCgpe2NvbnN0IGU9dGhpcy5fY2hhbm5lbHMuam9pbigiLyIpO3JldHVybiBwLmxvZ05vcm1hbChgR2VuZXJhdGUgcHVzaHN0cmVhbSB1cmwgLSAke2V9YCksYCR7dGhpcy5fc2V0dGluZ3MudXJsfS8ke3RoaXMuX3NldHRpbmdzLnVybFBhdGh9LyR7ZX1gfX19LDg0ODg1NShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHt3ZWJMb2NrRW5hYmxlZDooKT0+bn0pO3ZhciBpPXMoNzM4NDU4KTtmdW5jdGlvbiBuKCl7cmV0dXJuIWkuaXNJT1MmJiFpLmlzSVBhZCYmdm9pZCAwIT09bmF2aWdhdG9yLmxvY2tzfX0sOTMwNTY2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5yKHQpLHMuZCh0LHtkZWZhdWx0OigpPT5KLGdldEJvb2w6KCk9PlYsZ2V0RmxvYXQ6KCk9PkEsZ2V0SW50OigpPT5GLGdldEpTT046KCk9PlIsZ2V0VmFsdWU6KCk9Pngsa2V5czooKT0+TixrZXlzTWFzazooKT0+Vyxsb2FkZWQ6KCk9PkssbG9hZGVkTW9kZWw6KCk9Plksb25TeW5jOigpPT5qLHJlbW92ZTooKT0+ayxzZXRKU09OOigpPT5PLHNldFNldHRpbmdzQWRhcHRlcjooKT0+cSxzZXRWYWx1ZTooKT0+QixzeW5jOigpPT4kfSk7dmFyIGk9cyg5NDgzODApLG49cygyMjEwNjEpLHI9cyg1NDA1NzgpLG89cyg5MzAyMzEpLGE9cyg1NjkzOTgpLGw9cyg5MDk3OTgpLHU9cygzNzcyMjYpLGM9cygzODQwMTcpLGQ9cygxNTI2OTkpLGg9cyg5MzIzNjUpO3dpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9O2NvbnN0IHA9WyJzLnRyYWRpbmd2aWV3LmNvbSIsImJldGFjZG4udHJhZGluZ3ZpZXcuY29tIl0sbT0oKDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXNlX2xvY2Fsc3RvcmFnZV9mb3Jfc2V0dGluZ3MiKSwibG9jYWwiPT09d2luZG93LmVudmlyb25tZW50PzVlMzoxMmU0KSxfPSgwLHUub25XaWRnZXQpKCk/InRyYWRpbmd2aWV3LXdpZGdldCI6InRyYWRpbmd2aWV3IixnPV8rIi4iO2xldCB5LGYsdixiPSExLFM9bnVsbCx3PXt9LFA9W107Y29uc3QgVD1bL153aWRnZXRiYXJcLndpZGdldFwud2F0Y2hsaXN0LisvLC8uK3F1aWNrcyQvLC9ed2lkZ2V0YmFyXC5sYXlvdXQtc2V0dGluZ3MkLywvXkNoYXJ0U2lkZVRvb2xiYXJXaWRnZXRcLnZpc2libGUkLywvXm9ud2lkZ2V0XC53YXRjaGxpc3QkLywvXmNoYXJ0XC5mYXZvcml0ZURyYXdpbmdzJC8sL15jaGFydFwuZmF2b3JpdGVEcmF3aW5nc1Bvc2l0aW9uJC8sL15jaGFydFwuZmF2b3JpdGVMaWJyYXJ5SW5kaWNhdG9ycyQvLC9ebG9hZENoYXJ0RGlhbG9nLmZhdm9yaXRlcyQvLC9eQ2hhcnRGYXZvcml0ZURyYXdpbmdUb29sYmFyV2lkZ2V0XC52aXNpYmxlLywvXnRyYWRpbmdcLmNoYXJ0XC5wcm90ZXJ0eSQvLC9edHJhZGluZ19mbG9hdGluZ190b29sYmFyXC5wb3NpdGlvbiQvLC9edHJhZGluZ1wub3JkZXJXaWRnZXRNb2RlXC4vLC9ec3ltYm9sV2F0ZXJtYXJrJC8sL15waW5lcmVmZXJlbmNlXC5zaXplJC8sL15waW5lcmVmZXJlbmNlXC5wb3NpdGlvbiQvLC9eaGludFwuKy8sL15DaGFydERyYXdpbmdUb29sYmFyV2lkZ2V0XC52aXNpYmxlL107Y29uc3QgQz0oKT0+IShTfHx3aW5kb3cuaXNfYXV0aGVudGljYXRlZCksRT1lPT5nK2UsST0oMCxuLmdldExvZ2dlcikoIkxpYi5UVlNldHRpbmdzIiksTD1lPT57aWYoYnx8dilyZXR1cm47aWYoKDAsCmEuaXNGZWF0dXJlRW5hYmxlZCkoImRpc2FibGVfc2F2ZV9zZXR0aW5ncyIpKXJldHVybiB2b2lkIEk/LmxvZ1dhcm4oIlNldHRpbmdzIGZsYXNoaW5nIGhhcyBiZWVuIHNraXBwZWQgYmVjYXVzZSBvZiBkaXNhYmxlX3NhdmVfc2V0dGluZ3MgZmVhdHVyZXRvZ2dsZSIpO2lmKCgwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpKXJldHVybjtpZihDKCkpcmV0dXJuO2lmKDA9PT1QLmxlbmd0aClyZXR1cm47Y29uc3QgdD1QO1A9W107Y29uc3Qgcz17fTtmb3IobGV0IGU9dC5sZW5ndGg7ZS0tOyl7Y29uc3QgaT10W2VdO3NbaV09d1tpXT8/bnVsbH1jb25zdCBpPW5ldyBGb3JtRGF0YTtpLmFwcGVuZCgiZGVsdGEiLEpTT04uc3RyaW5naWZ5KHMpKSxlJiZuYXZpZ2F0b3Iuc2VuZEJlYWNvbj9uYXZpZ2F0b3Iuc2VuZEJlYWNvbigiL3NhdmVzZXR0aW5ncy8iLGkpOigwLGMuZmV0Y2gpKCIvc2F2ZXNldHRpbmdzLyIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6ImluY2x1ZGUiLGJvZHk6aX0pLnRoZW4oKHM9PntpZihzLm9rfHwoUD1QLmNvbmNhdCh0KSksWzQyOSw1MDNdLmluY2x1ZGVzKHMuc3RhdHVzKSl7Y29uc3QgdD0xZTMqKyhzLmhlYWRlcnMuZ2V0KCJyZXRyeS1hZnRlciIpfHwwKXx8M2U1O3Y9c2V0VGltZW91dCgoKCk9Pnt2PXZvaWQgMCxMKGUpfSksdCl9fSkpLmNhdGNoKCgoKT0+e1A9UC5jb25jYXQodCl9KSl9LE09KCk9Pnt5PXZvaWQgMCxQLmxlbmd0aCYmTCgpfSxEPShlLHQ9e30pPT57aWYoUyludWxsPT13W2VdP1MucmVtb3ZlVmFsdWUoZSk6Uy5zZXRWYWx1ZShlLHdbZV0pO2Vsc2UgaWYoQygpKXRyeXtudWxsPT13W2VdP2guVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShFKGUpKTpoLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0oRShlKSx3W2VdKX1jYXRjaChlKXt9ZWxzZSBQLnB1c2goZSkseXx8KHk9c2V0VGltZW91dChNLG0pKTt0LnNraXBDcm9zc1dpbmRvd0V2ZW50fHxkLlRWWFdpbmRvd0V2ZW50cy5lbWl0KCJzZXR0aW5ncyIsSlNPTi5zdHJpbmdpZnkoe2tleTplLHZhbHVlOndbZV19KSl9O2Z1bmN0aW9uIHgoZSx0KXtjb25zdCBzPXdbZV07cmV0dXJuIHM/P3R9ZnVuY3Rpb24gUihlLHQpe2NvbnN0IHM9eChlKTtpZihudWxsPT1zKXJldHVybiB0O3RyeXtyZXR1cm4gSlNPTi5wYXJzZShzKX1jYXRjaChzKXtyZXR1cm4gayhlKSx0fX1mdW5jdGlvbiBrKGUsdD17fSl7cmV0dXJuIG51bGwhPXdbZV0mJihkZWxldGUgd1tlXSxEKGUpKSx0LmZvcmNlRmx1c2gmJkwoKSxHfWZ1bmN0aW9uIFYoZSx0KXtjb25zdCBzPXgoZSk7cmV0dXJuIG51bGw9PXM/dDohKCFzfHwiZmFsc2UiPT09c3x8MD09K3MpfWZ1bmN0aW9uIEEoZSx0KXtjb25zdCBzPXgoZSk7aWYobnVsbD09cylyZXR1cm4gdDtjb25zdCBpPXBhcnNlRmxvYXQocyk7aWYoIWlzRmluaXRlKGkpKXRocm93IG5ldyBUeXBlRXJyb3IoJyInK3MrJyIgaXMgbm90IGZsb2F0IChrZXk6ICInK2UrJyIpJyk7cmV0dXJuIGl9ZnVuY3Rpb24gRihlLHQpe2NvbnN0IHM9eChlKTtpZihudWxsPT1zKXJldHVybiB0O2NvbnN0IGk9cGFyc2VJbnQocywxMCk7aWYoIWlzRmluaXRlKGkpKXRocm93IG5ldyBUeXBlRXJyb3IoJyInK3MrJyIgaXMgbm90IGludCAoa2V5OiAiJytlKyciKScpO3JldHVybiBpfWZ1bmN0aW9uIEIoZSx0LHM9e30pe2NvbnN0IGk9IiIrdDtyZXR1cm4gd1tlXSE9PWkmJih3W2VdPWksRChlLHMpKSxzLmZvcmNlRmx1c2gmJiFmJiYoZj1zZXRUaW1lb3V0KCgoKT0+e2Y9dm9pZCAwLEwoKX0pLDEwKSksR31mdW5jdGlvbiBPKGUsdCxzKXtyZXR1cm4gQihlLEpTT04uc3RyaW5naWZ5KHQpLHMpLEd9ZnVuY3Rpb24gTigpe3JldHVybiBPYmplY3Qua2V5cyh3KX1mdW5jdGlvbiBXKGUpe2NvbnN0IHQ9TigpLHM9W10saT1uZXcgUmVnRXhwKCJeIisoMCxyLnJlZ0V4cEVzY2FwZSkoZSkucmVwbGFjZSgvXFxcKlxcXCovZ2ksIi4rIikucmVwbGFjZSgvXFxcKi9naSwiW14uXSsiKSsiJCIsImdpIik7Zm9yKGxldCBlPXQubGVuZ3RoLTE7ZT49MDtlLS0paS50ZXN0KHRbZV0pJiZzLnB1c2godFtlXSksaS5sYXN0SW5kZXg9MDtyZXR1cm4gc31kLlRWWFdpbmRvd0V2ZW50cy5vbigic2V0dGluZ3MiLChlPT57Y29uc3QgdD1KU09OLnBhcnNlKGUpO251bGw9PXQudmFsdWU/ZGVsZXRlIHdbdC5rZXldOndbdC5rZXldPXQudmFsdWV9KSk7Y29uc3QgVT1lPT57Zm9yKGxldCB0PTA7dDxULmxlbmd0aDsrK3QpaWYoVFt0XS5leGVjKGUpKXJldHVybiEwO3JldHVybiExfSx6PWU9PmUuc3Vic3RyaW5nKDAsZy5sZW5ndGgpPT09ZyxIPWU9Pnt3PXt9O2NvbnN0IHQ9MD09PU9iamVjdC5rZXlzKGUpLmxlbmd0aDt0fHwoZT0+e09iamVjdC5rZXlzKGUpLmZvckVhY2goKHQ9Pnt3W3RdPWVbdF0rIiJ9KSl9KShlKSwoZT0+e2ZvcihsZXQgdD1oLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDt0LS07KXtjb25zdCBzPWguVFZMb2NhbFN0b3JhZ2Uua2V5KHQpO3MmJnoocykmJihlJiZCKHMuc3Vic3RyaW5nKGcubGVuZ3RoKSxoLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0ocykpLGguVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShzKSl9fSkodCl9LGo9bmV3IGkuRGVsZWdhdGU7ZnVuY3Rpb24gJChlKXtudWxsIT09ZT8oUz9IKFMuaW5pdGlhbFNldHRpbmdzfHx7fSk6QygpPygoKCk9PntpZighKDAsdS5vbldpZGdldCkoKXx8IXAuaW5jbHVkZXMod2luZG93LmxvY2F0aW9uLmhvc3QpKXJldHVybjtjb25zdCBlPSJ0cmFkaW5ndmlldy4iO2ZvcihsZXQgdD1oLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDt0LS07KXtjb25zdCBzPWguVFZMb2NhbFN0b3JhZ2Uua2V5KHQpO2lmKDA9PT1zLmluZGV4T2YoZSkpe2NvbnN0IHQ9cy5yZXBsYWNlKGUsXysiLiIpO2guVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0LGguVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShzKSksaC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHMpfX19KSgpLCgoKT0+e3c9e307Y29uc3QgZT0hKDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2F2ZV9jaGFydF9wcm9wZXJ0aWVzX3RvX2xvY2FsX3N0b3JhZ2UiKTtmb3IobGV0IHQ9aC5UVkxvY2FsU3RvcmFnZS5sZW5ndGg7dC0tOyl7CmNvbnN0IHM9aC5UVkxvY2FsU3RvcmFnZS5rZXkodCk7aWYoIXN8fCF6KHMpKWNvbnRpbnVlO2NvbnN0IGk9cy5zdWJzdHJpbmcoZy5sZW5ndGgpO2UmJiFVKGkpfHwod1tpXT1oLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0ocykpfX0pKCkpOkgoZXx8e30pLGouZmlyZSgpKTpiPSEwfWZ1bmN0aW9uIHEoZSl7Uz1lfWNvbnN0IEs9ITEsWT0hMSxHPXtsb2FkZWQ6Syxsb2FkZWRNb2RlbDpZLGdldFZhbHVlOngsZ2V0SlNPTjpSLGdldEJvb2w6VixnZXRGbG9hdDpBLGdldEludDpGLHNldFZhbHVlOkIsc2V0SlNPTjpPLHJlbW92ZTprLGtleXM6TixrZXlzTWFzazpXLHN5bmM6JCxvblN5bmM6aixzZXRTZXR0aW5nc0FkYXB0ZXI6cX0sSj1HO3dpbmRvdy5UVlNldHRpbmdzPUcsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsKCgpPT57ImhpZGRlbiIhPT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJiEwIT09ZG9jdW1lbnQuaGlkZGVufHxMKCl9KSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwoKCk9PntMKCEwKX0pKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIiwoKCk9PntMKCEwKX0pKSxsLmZsdXNoRGVsZWdhdGUuc3Vic2NyaWJlKG51bGwsKCgpPT57TCgpfSkpLHNldFRpbWVvdXQoKGFzeW5jKCk9Pntjb25zdHtjbGVhck9sZFNldHRpbmdzOmV9PWF3YWl0IHMuZSgzNTk4MCkudGhlbihzLmJpbmQocyw3NTQxODUpKTtlKCl9KSwzZTQpfSw3MDA4MDkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7REVDRU1CRVI6KCk9PlMsRklSU1RfREFZX09GX1dFRUs6KCk9PnAsRlJJREFZOigpPT5kLEpBTlVBUlk6KCk9Pl8sSlVMWTooKT0+ZixMQVNUX0RBWV9PRl9XRUVLOigpPT5tLE1BUkNIOigpPT5nLE1BWTooKT0+eSxNT05EQVk6KCk9PmEsTk9WRU1CRVI6KCk9PmIsU0FUVVJEQVk6KCk9PmgsU0VQVEVNQkVSOigpPT52LFNVTkRBWTooKT0+byxUSFVSU0RBWTooKT0+YyxUVUVTREFZOigpPT5sLFdFRE5FU0RBWTooKT0+dSxhZGRfZGF0ZTooKT0+QSxhZGRfbWludXRlczooKT0+RixjYWxfdG9fdXRjOigpPT5HLGNsb25lOigpPT5PLGRheXNfcGVyX3llYXI6KCk9PlcsZ2V0X2NhbDooKT0+cSxnZXRfY2FsX2Zyb21fdW5peF90aW1lc3RhbXBfbXM6KCk9PkssZ2V0X2NhbF91dGM6KCk9PlksZ2V0X2RheV9vZl9tb250aDooKT0+TSxnZXRfZGF5X29mX3dlZWs6KCk9PkQsZ2V0X2RheV9vZl95ZWFyOigpPT54LGdldF9kYXlzX2luX21vbnRoOigpPT5OLGdldF9ob3VyczooKT0+SSxnZXRfbWludXRlczooKT0+TCxnZXRfbWludXRlc19mcm9tX21pZG5pZ2h0OigpPT5SLGdldF9taW51dGVzX3dpdGhfaG91cnM6KCk9PmssZ2V0X21vbnRoOigpPT5FLGdldF90aW1lem9uZTooKT0+SixnZXRfeWVhcjooKT0+Qyxpc19sZWFwX3llYXI6KCk9PlUsbWlsbGlzZWNvbmRzUGVyRGF5OigpPT5ULG1pbnV0ZXNQZXJEYXk6KCk9PncsbWludXRlc1BlcldlZWs6KCk9PlAsc2V0X2htczooKT0+VixzZXRfc2Vjb25kczooKT0+Qix0aW1lX3NlY29uZHM6KCk9PnosdGltZV9zZWNvbmRzX2RpZmY6KCk9PkgsdXRjX3RvX2NhbDooKT0+aix1dGNfdG9fY2FsX3RzOigpPT4kfSk7dmFyIGk9cyg3MTIxODEpO2NvbnN0IG49ezA6MCwxOjMxLDI6NTksMzo5MCw0OjEyMCw1OjE1MSw2OjE4MSw3OjIxMiw4OjI0Myw5OjI3MywxMDozMDQsMTE6MzM0fTtjbGFzcyBye2NvbnN0cnVjdG9yKGUpe3RoaXMuX2ludmFsaWQ9ITEsdGhpcy5fbmFtZT1lO2xldCB0PWkudHpEYXRhPy5bZV0/P251bGw7IXQmJlgmJih0PVguaW5zdGFuY2UoKS5nZXRUaW1lem9uZURhdGEoZSkpLHR8fCh0PXt0aW1lOltdLG9mZnNldDpbXX0sdGhpcy5faW52YWxpZD0hMCksdC50aW1lLmxlbmd0aCE9PXQub2Zmc2V0Lmxlbmd0aCYmKHQ9e3RpbWU6W10sb2Zmc2V0OltdfSx0aGlzLl9pbnZhbGlkPSEwKTtjb25zdCBzPXQ7aWYoIXMudGltZV91dGMpe2NvbnN0IGU9dC50aW1lLGk9dC5vZmZzZXQsbj1lLmxlbmd0aCxyPW5ldyBBcnJheShuKTtmb3IobGV0IHQ9MDt0PG47dCsrKWVbdF0qPTFlMyxpW3RdKj0xZTMsclt0XT1lW3RdLWlbdF07cy50aW1lX3V0Yz1yfXRoaXMudHo9c31vZmZzZXRfdXRjKGUpe3JldHVybiByLm9mZnNldCh0aGlzLnR6LnRpbWVfdXRjLHRoaXMudHoub2Zmc2V0LGUpfW9mZnNldF9sb2MoZSl7cmV0dXJuIHIub2Zmc2V0KHRoaXMudHoudGltZSx0aGlzLnR6Lm9mZnNldCxlKX1uYW1lKCl7cmV0dXJuIHRoaXMuX25hbWV9aXNfdmFsaWQoKXtyZXR1cm4hdGhpcy5faW52YWxpZH1jb3JyZWN0aW9uX2xvYyhlKXtjb25zdCB0PXRoaXMudHoudGltZSxzPXRoaXMudHoub2Zmc2V0LGk9USh0LGUpO2lmKGk8MSlyZXR1cm4gMDtjb25zdCBuPXNbaV0tc1tpLTFdO2lmKG4+MCl7aWYoZS10W2ktMV08PW4pcmV0dXJuIG59cmV0dXJuIDB9c3RhdGljIG9mZnNldChlLHQscyl7Y29uc3QgaT1RKGUscyk7cmV0dXJuLTE9PT1pPzA6dFtpXX19Y29uc3Qgbz0xLGE9MixsPTMsdT00LGM9NSxkPTYsaD03LHA9byxtPWgsXz0wLGc9Mix5PTQsZj02LHY9OCxiPTEwLFM9MTEsdz0xNDQwLFA9MTAwODAsVD04NjRlNTtmdW5jdGlvbiBDKGUpe3JldHVybiBlLmdldFVUQ0Z1bGxZZWFyKCl9ZnVuY3Rpb24gRShlKXtyZXR1cm4gZS5nZXRVVENNb250aCgpfWZ1bmN0aW9uIEkoZSl7cmV0dXJuIGUuZ2V0VVRDSG91cnMoKX1mdW5jdGlvbiBMKGUpe3JldHVybiBlLmdldFVUQ01pbnV0ZXMoKX1mdW5jdGlvbiBNKGUpe3JldHVybiBlLmdldFVUQ0RhdGUoKX1mdW5jdGlvbiBEKGUpe3JldHVybiBlLmdldFVUQ0RheSgpKzF9ZnVuY3Rpb24geChlKXtjb25zdCB0PWUuZ2V0VVRDTW9udGgoKTtsZXQgcz1uW3RdO3JldHVybiB0Pl8rMSYmVShlLmdldFVUQ0Z1bGxZZWFyKCkpJiYocys9MSkscytlLmdldFVUQ0RhdGUoKX1mdW5jdGlvbiBSKGUpe3JldHVybiA2MCpJKGUpK0woZSl9ZnVuY3Rpb24gayhlKXtyZXR1cm4gUihlKX1mdW5jdGlvbiBWKGUsdCxzLGksbixyKXtlLnNldFVUQ0hvdXJzKHQpLGUuc2V0VVRDTWludXRlcyhzKSxlLnNldFVUQ1NlY29uZHMoaSksZS5zZXRVVENNaWxsaXNlY29uZHMobiksCnZvaWQgMCE9PXImJmZ1bmN0aW9uKGUsdCl7Y29uc3Qgcz1lLmdldFRpbWUoKSxpPXQuY29ycmVjdGlvbl9sb2Mocyk7ZS5zZXRUaW1lKHMraSl9KGUscil9ZnVuY3Rpb24gQShlLHQpe2Uuc2V0VGltZShlLmdldFRpbWUoKSt0KlQpfWZ1bmN0aW9uIEYoZSx0KXtlLnNldFRpbWUoZS5nZXRUaW1lKCkrNjAqdCoxZTMpfWZ1bmN0aW9uIEIoZSx0KXtjb25zdCBzPTg2NDAwLGk9dCVzPDA/LTE6MCxuPU1hdGgudHJ1bmModC9zKStpLHI9dC1uKnMsbz1NYXRoLnRydW5jKHIvMzYwMCksYT1NYXRoLnRydW5jKHIlMzYwMC82MCk7VihlLG8sYSxyLTM2MDAqby02MCphLDApLEEoZSxuKX1mdW5jdGlvbiBPKGUpe3JldHVybiBuZXcgRGF0ZShlLmdldFRpbWUoKSl9ZnVuY3Rpb24gTihlLHQpe2xldCBzO3N3aXRjaChlKXtjYXNlIDA6Y2FzZSAyOmNhc2UgNDpjYXNlIDY6Y2FzZSA3OmNhc2UgOTpjYXNlIDExOnM9MzE7YnJlYWs7Y2FzZSAxOnM9MjgsVSh0KSYmcysrO2JyZWFrO2RlZmF1bHQ6cz0zMH1yZXR1cm4gc31mdW5jdGlvbiBXKGUpe3JldHVybiBVKGUpPzM2NjozNjV9ZnVuY3Rpb24gVShlKXtyZXR1cm4gZSU0PT0wJiYoZSUxMDAhPTB8fGUlNDAwPT0wKX1mdW5jdGlvbiB6KGUpe3JldHVybiAxZTMqZX1mdW5jdGlvbiBIKGUsdCl7cmV0dXJuIGVlKGUpLWVlKHQpfWZ1bmN0aW9uIGooZSx0KXtyZXR1cm4gbmV3IERhdGUoJChlLHQpKX1mdW5jdGlvbiAkKGUsdCl7cmV0dXJuIHQrZS5vZmZzZXRfdXRjKHQpfWZ1bmN0aW9uIHEoZSx0LHMsaSxuLHIsbyl7Y29uc3QgYT1uZXcgRGF0ZShEYXRlLlVUQyh0LHMsaSxufHwwLHJ8fDAsb3x8MCkpLGw9ZS5vZmZzZXRfdXRjKCthKTtyZXR1cm4gbmV3IERhdGUoYS52YWx1ZU9mKCktbCl9ZnVuY3Rpb24gSyhlLHQpe3JldHVybiBuZXcgRGF0ZSh0K2Uub2Zmc2V0X3V0Yyh0KSl9ZnVuY3Rpb24gWShlLHQscyxpPTAsbj0wLHI9MCl7cmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKGUsdCxzLGksbixyKSl9ZnVuY3Rpb24gRyhlLHQscyl7bGV0IGk9dC5nZXRUaW1lKCk7cyYmKGkrPWUuY29ycmVjdGlvbl9sb2MoaSkpO3JldHVybiBpLWUub2Zmc2V0X2xvYyhpKX1mdW5jdGlvbiBKKGUpe3JldHVybiBuZXcgcihlKX1sZXQgWDtmdW5jdGlvbiBRKGUsdCl7Y29uc3Qgcz1lLmxlbmd0aDtpZigwPT09cylyZXR1cm4tMTtpZihpc05hTih0KSl0aHJvdyBFcnJvcigiS2V5IGlzIE5hTiIpO2xldCBpPTAsbj1zLTEscj1aKChpK24pLzIpO2Zvcig7Oyl7aWYoZVtyXT50KXtpZihuPXItMSxuPGkpcmV0dXJuIHJ9ZWxzZSBpZihpPXIrMSxuPGkpcmV0dXJuIHI8cy0xP3IrMTotMTtyPVooKGkrbikvMil9fWZ1bmN0aW9uIFooZSl7cmV0dXJuIE1hdGgudHJ1bmMoZSl9ZnVuY3Rpb24gZWUoZSl7cmV0dXJuIGU8MD9aKGUvMWUzKS0oZSUxZTMhPTA/MTowKTpaKGUvMWUzKX19LDc3OTM4OShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtBY3Rpb25Hcm91cDooKT0+bn0pO3ZhciBpPXMoOTkyODAzKTtjbGFzcyBue2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fYWN0aW9ucz1uZXcgTWFwLHRoaXMuX21hbmFnZXI9ZSx0aGlzLm9yZGVyPXQ/Lm9yZGVyPz8wLHRoaXMubW9kYWw9ISghdHx8IXQubW9kYWwpLHQmJih0aGlzLmRlc2M9dC5kZXNjKSx0JiZ0LmlzRGlzYWJsZWQ/ImZ1bmN0aW9uIj09dHlwZW9mIHQuaXNEaXNhYmxlZD90aGlzLmlzRGlzYWJsZWQ9dC5pc0Rpc2FibGVkOnRoaXMuaXNEaXNhYmxlZD0oKT0+ITA6dGhpcy5pc0Rpc2FibGVkPSgpPT4hMSx0aGlzLl9tYW5hZ2VyLnJlZ2lzdGVyR3JvdXAodGhpcyl9YWRkKGUpe2xldCB0PXRoaXMuX2FjdGlvbnMuZ2V0KGUuaG90a2V5KTt0fHwodD1bXSx0aGlzLl9hY3Rpb25zLnNldChlLmhvdGtleSx0KSk7Y29uc3Qgcz1uZXcgaS5BY3Rpb24odGhpcyxlKTtyZXR1cm4gdC5wdXNoKHMpLHN9cmVtb3ZlKGUpe2NvbnN0IHQ9dGhpcy5fYWN0aW9ucy5nZXQoZS5ob3RrZXkpO2lmKCF0KXJldHVybjtjb25zdCBzPXQuZmluZEluZGV4KCh0PT50PT09ZSkpO3M+PTAmJigxPT09dC5sZW5ndGg/dGhpcy5fYWN0aW9ucy5kZWxldGUoZS5ob3RrZXkpOnQuc3BsaWNlKHMsMSkpfWhhbmRsZUhvdGtleShlLHQpe2NvbnN0IHM9dGhpcy5fYWN0aW9ucy5nZXQoZSk7aWYoIXMpcmV0dXJuITE7Zm9yKGNvbnN0IGkgb2YgcylpZigoIWkuZWxlbWVudHx8dC50YXJnZXQmJmkuZWxlbWVudC5jb250YWlucyh0LnRhcmdldCkpJiYhaS5pc0Rpc2FibGVkKHQpKXJldHVybiB0LnJlcGVhdCYmIWkuaXNSZXBlYXRBY2NlcHRlZHx8KGkuaGFuZGxlcih0KSx0aGlzLl9jYWxsTWF0Y2hlZEhvdGtleUhhbmRsZXIoZSkpLHQucHJldmVudERlZmF1bHQoKSwhMDtyZXR1cm4hMX1wcm9tb3RlKCl7dGhpcy5fbWFuYWdlci5wcm9tb3RlR3JvdXAodGhpcyl9ZGVzdHJveSgpe2Zvcihjb25zdFssZV1vZiB0aGlzLl9hY3Rpb25zKWZvcihjb25zdCB0IG9mIGUpdC5kZXN0cm95KCk7dGhpcy5fYWN0aW9ucy5jbGVhcigpLHRoaXMuX21hbmFnZXIudW5yZWdpc3Rlckdyb3VwKHRoaXMpfXN0YXRpYyBzZXRNYXRjaGVkSG90a2V5SGFuZGxlcihlKXtuLl9tYXRjaGVkSG90a2V5SGFuZGxlcj1lfV9jYWxsTWF0Y2hlZEhvdGtleUhhbmRsZXIoZSl7bi5fbWF0Y2hlZEhvdGtleUhhbmRsZXImJm4uX21hdGNoZWRIb3RrZXlIYW5kbGVyKGUpfX19LDI5MTM0MShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtBY3Rpb25NYW5hZ2VyOigpPT5sfSk7dmFyIGk9cygyMzIzNjQpLG49cygyMzU3MjQpLHI9cyg3MjEzNjkpLG89cyg2OTYyMDgpO2NsYXNzIGEgZXh0ZW5kcyBpLldhdGNoZWRWYWx1ZXtzZXRWYWx1ZShlLHQpe2NvbnN0IHM9dGhpcy52YWx1ZSgpOyh0fHx2b2lkIDA9PT1zfHxzLmNvZGUhPT1lLmNvZGV8fHMubW9kaWZpZXJzIT09ZS5tb2RpZmllcnMpJiZzdXBlci5zZXRWYWx1ZShlKX19Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMuX2dyb3Vwcz1bXSx0aGlzLl9wcmVzc2VkS2V5cz1uZXcgaS5XYXRjaGVkVmFsdWUoMCksdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlPW5ldyBhKG5ldyBvLktleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgwKSksCnRoaXMuX2tleURvd25MaXN0ZW5lcj1lPT57aWYoZS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtjb25zdCB0PSgwLG4uaGFzaEZyb21FdmVudCkoZSk7aWYodGhpcy5fcHJlc3NlZEtleXMuc2V0VmFsdWUodCksdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlLnNldFZhbHVlKG5ldyBvLktleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgoMCxuLm1vZGlmaWVyc0Zyb21FdmVudCkoZSksZS5jb2RlKSksISgwLHIuaXNOYXRpdmVVSUludGVyYWN0aW9uKSh0LGUudGFyZ2V0KSlmb3IobGV0IHM9dGhpcy5fZ3JvdXBzLmxlbmd0aDtzLS0gPjA7KXtjb25zdCBpPXRoaXMuX2dyb3Vwc1tzXTtpZighaS5pc0Rpc2FibGVkKCkpe2lmKGkuaGFuZGxlSG90a2V5KHQsZSkpcmV0dXJuO2lmKGkubW9kYWwpcmV0dXJufX19LHRoaXMuX2tleVVwTGlzdGVuZXI9ZT0+e2NvbnN0IHQ9KDAsbi5oYXNoRnJvbUV2ZW50KShlKTt0aGlzLl9wcmVzc2VkS2V5cy5zZXRWYWx1ZSh0KSx0aGlzLl9rZXlib2FyZFByZXNzZWRLZXlzU3RhdGUuc2V0VmFsdWUobmV3IG8uS2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKCgwLG4ubW9kaWZpZXJzRnJvbUV2ZW50KShlKSwiIikpfSx0aGlzLl9ibHVyRXZlbnQ9KCk9Pnt0aGlzLl9wcmVzc2VkS2V5cy5zZXRWYWx1ZSgwKSx0aGlzLl9rZXlib2FyZFByZXNzZWRLZXlzU3RhdGUuc2V0VmFsdWUobmV3IG8uS2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKDAsIiIpKX0sdGhpcy5fbW91c2VFdmVudD1lPT57Y29uc3QgdD0oMCxuLm1vZGlmaWVyc0Zyb21FdmVudCkoZSkscz0yNTUmKHRoaXMuX3ByZXNzZWRLZXlzLnZhbHVlKCk/PzApO3RoaXMuX3ByZXNzZWRLZXlzLnNldFZhbHVlKHR8cyl9fWxpc3RlbihlKXtlLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX2tleURvd25MaXN0ZW5lciksZS5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5fa2V5VXBMaXN0ZW5lciksZS5hZGRFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl9ibHVyRXZlbnQpLGUuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLl9tb3VzZUV2ZW50KX11bmxpc3RlbihlKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX2tleURvd25MaXN0ZW5lciksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5fa2V5VXBMaXN0ZW5lciksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl9ibHVyRXZlbnQpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLl9tb3VzZUV2ZW50KX1yZWdpc3Rlckdyb3VwKGUpe3RoaXMuX2dyb3Vwcy5wdXNoKGUpLHRoaXMuc29ydEdyb3VwcygpfXVucmVnaXN0ZXJHcm91cChlKXtmb3IobGV0IHQ9dGhpcy5fZ3JvdXBzLmxlbmd0aDt0LS07KXRoaXMuX2dyb3Vwc1t0XT09PWUmJnRoaXMuX2dyb3Vwcy5zcGxpY2UodCwxKX1wcm9tb3RlR3JvdXAoZSl7Y29uc3QgdD10aGlzLl9nZXRNb2RhbE9yZGVyRXBvY2goKSxzPXUoZSx0KTtsZXQgaT10aGlzLl9ncm91cHMuZmluZEluZGV4KChlPT51KGUsdCk9PT1zKSksbj0wO2Zvcig7aTx0aGlzLl9ncm91cHMubGVuZ3RoJiZ1KHRoaXMuX2dyb3Vwc1tpXSx0KT09PXM7KXtjb25zdCByPXRoaXMuX2dyb3Vwc1tpXTtyPT09ZT9uPTE6dShyLHQpPT09cyYmKHRoaXMuX2dyb3Vwc1tpLW5dPXIpLGkrK310aGlzLl9ncm91cHNbaS1uXT1lfXByZXNzZWRLZXlzKCl7cmV0dXJuIHRoaXMuX3ByZXNzZWRLZXlzLnJlYWRvbmx5KCl9a2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKCl7cmV0dXJuIHRoaXMuX2tleWJvYXJkUHJlc3NlZEtleXNTdGF0ZS5yZWFkb25seSgpfXNvcnRHcm91cHMoKXtjb25zdCBlPXRoaXMuX2dldE1vZGFsT3JkZXJFcG9jaCgpO3RoaXMuX2dyb3Vwcy5zb3J0KCgodCxzKT0+dShzLGUpLXUodCxlKSkpfV9nZXRNaW5PcmRlcigpe3JldHVybiB0aGlzLl9ncm91cHMucmVkdWNlKCgoZSx0KT0+TWF0aC5taW4oZSx0Lm9yZGVyKSksMCl9X2dldE1vZGFsT3JkZXJFcG9jaCgpe3JldHVybi0yKihNYXRoLmFicyh0aGlzLl9nZXRNaW5PcmRlcigpKS0xKX19ZnVuY3Rpb24gdShlLHQpe3JldHVybiBlLm9yZGVyKyhlLm1vZGFsP3Q6MCl9fSw5OTI4MDMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7QWN0aW9uOigpPT5pfSk7Y2xhc3MgaXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2dyb3VwPWU7Y29uc3R7aG90a2V5OnMsaGFuZGxlcjppLGRlc2M6bixpc0Rpc2FibGVkOnIsZWxlbWVudDpvPW51bGwsaXNSZXBlYXRBY2NlcHRlZDphPSExfT10O3RoaXMuaG90a2V5PXMsdGhpcy5oYW5kbGVyPWksdGhpcy5kZXNjPW4sdGhpcy5lbGVtZW50PW8sdGhpcy5pc1JlcGVhdEFjY2VwdGVkPWEsdGhpcy5pc0Rpc2FibGVkPXI/ImZ1bmN0aW9uIj09dHlwZW9mIHI/cjooKT0+ITA6KCk9PiExfWRlc3Ryb3koKXt0aGlzLl9ncm91cCYmKHRoaXMuX2dyb3VwLnJlbW92ZSh0aGlzKSx0aGlzLl9ncm91cD1udWxsKX19fSw2OTYyMDgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7S2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlOigpPT5ufSk7dmFyIGk9cygyMzU3MjQpO2NsYXNzIG57Y29uc3RydWN0b3IoZSx0KXt0aGlzLm1vZGlmaWVycz1lLHRoaXMuY29kZT10fWFsdE9yT3B0aW9uQ29kZSgpe3JldHVybiJBbHRMZWZ0Ij09PXRoaXMuY29kZXx8IkFsdFJpZ2h0Ij09PXRoaXMuY29kZX1jb250cm9sT3JNZXRhQ29kZSgpe3JldHVybiBpLmlzTWFjS2V5Ym9hcmQ/Ik1ldGFMZWZ0Ij09PXRoaXMuY29kZXx8Ik1ldGFSaWdodCI9PT10aGlzLmNvZGV8fCJPU0xlZnQiPT09dGhpcy5jb2RlfHwiT1NSaWdodCI9PT10aGlzLmNvZGU6IkNvbnRyb2xMZWZ0Ij09PXRoaXMuY29kZXx8IkNvbnRyb2xSaWdodCI9PT10aGlzLmNvZGV9fX0sNjY1MTQ1KGUsdCxzKXsidXNlIHN0cmljdCI7dmFyIGk7cy5kKHQse01lZGl1bVRpbWVGcmFtZU9wdGlvbnNNb2RlOigpPT5pfSksZnVuY3Rpb24oZSl7ZVtlLlVzZUxhc3RTZXNzaW9uPTBdPSJVc2VMYXN0U2Vzc2lvbiIsZVtlLlVzZTFEPTFdPSJVc2UxRCIsZVtlLlVzZUxhc3RTZXNzaW9uQW5kMUQ9Ml09IlVzZUxhc3RTZXNzaW9uQW5kMUQifShpfHwoaT17fSkpfSwKODAyNTg2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2dldERheVJlc29sdXRpb25UaW1lRnJhbWVPcHRpb25zOigpPT5jLGdldEZyb21Gb3JEYXk6KCk9PmEsZ2V0RnJvbUZvck1vbnRoc0FnbzooKT0+cixnZXRGcm9tRm9yWWVhcnNBZ286KCk9Pm8sZ2V0TWVkaXVtVGltZUZyYW1lT3B0aW9uczooKT0+ZCxnZXRNaW5pVGltZUZyYW1lT3B0aW9uczooKT0+dSxnZXRTdGFydE9mVGhlWWVhcjooKT0+bH0pO3ZhciBpPXMoNjY1MTQ1KSxuPXMoNjkzNTAwKTtmdW5jdGlvbiByKGUpe2NvbnN0IHQ9bmV3IERhdGU7cmV0dXJuIHQuc2V0TW9udGgodC5nZXRNb250aCgpLWUpLE1hdGgudHJ1bmModC52YWx1ZU9mKCkvMWUzKX1mdW5jdGlvbiBvKGUpe2NvbnN0IHQ9bmV3IERhdGU7cmV0dXJuIHQuc2V0RnVsbFllYXIodC5nZXRGdWxsWWVhcigpLWUpLE1hdGgudHJ1bmModC52YWx1ZU9mKCkvMWUzKX1mdW5jdGlvbiBhKGUpe2NvbnN0IHQ9bmV3IERhdGU7cmV0dXJuIHQuc2V0RGF0ZSh0LmdldERhdGUoKS1lKSxNYXRoLnRydW5jKHQudmFsdWVPZigpLzFlMyl9ZnVuY3Rpb24gbCgpe3JldHVybiBNYXRoLnRydW5jKG5ldyBEYXRlKChuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSwwLDEpLnZhbHVlT2YoKS8xZTMpfWZ1bmN0aW9uIHUoZSl7Y29uc3QgdD0oMCxuLmdldFRpbWVGcmFtZXMpKCk7cmV0dXJuW3suLi50W2U/Imxhc3RzZXNzaW9uIjoiMWQiXX0sey4uLnRbIjFtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigxKX0sey4uLnRbIjNtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigzKX0sey4uLnRbIjEybSJdLGZyb206bygxKX0sey4uLnRbIjYwbSJdLHRhcmdldFJlc29sdXRpb246IjFNIixmcm9tOm8oNSl9LHsuLi50LmFsbH1dfWZ1bmN0aW9uIGMoZSl7Y29uc3QgdD0oMCxuLmdldFRpbWVGcmFtZXMpKCk7cmV0dXJuW3suLi50W2U/Imxhc3RzZXNzaW9uIjoiMWQiXX0sey4uLnRbIjFtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigxKX0sey4uLnRbIjNtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigzKX0sey4uLnRbIjZtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cig2KX0sey4uLnQueXRkLHRhcmdldFJlc29sdXRpb246IjFEIixmcm9tOnIoNil9LHsuLi50WyIxMm0iXSxmcm9tOm8oMSl9XX1mdW5jdGlvbiBkKGUpe2NvbnN0IHQ9KDAsbi5nZXRUaW1lRnJhbWVzKSgpLHM9W107cmV0dXJuIGUhPT1pLk1lZGl1bVRpbWVGcmFtZU9wdGlvbnNNb2RlLlVzZTFEJiZzLnB1c2goey4uLnQubGFzdHNlc3Npb259KSxlIT09aS5NZWRpdW1UaW1lRnJhbWVPcHRpb25zTW9kZS5Vc2VMYXN0U2Vzc2lvbiYmcy5wdXNoKHsuLi50WyIxZCJdfSksWy4uLnMsey4uLnRbIjFtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiNjAiLGZyb206cigxKX0sey4uLnRbIjNtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMTIwIixmcm9tOnIoMyl9LHsuLi50WyIxMm0iXSxmcm9tOm8oMSl9LHsuLi50WyI2MG0iXSx0YXJnZXRSZXNvbHV0aW9uOiIxVyIsZnJvbTpvKDUpfSx7Li4udC5hbGx9XX19LDY5MzUwMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRUaW1lRnJhbWVzOigpPT5yfSk7dmFyIGk9cyg3ODMyNTQpLG49cygyMTU3MzApO2Z1bmN0aW9uIHIoZSl7cmV0dXJueyIxZCI6e3RleHQ6aS50KG51bGwsdm9pZCAwLHMoOTM4MTAwKSksdmFsdWU6e3ZhbHVlOiIxRCIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiMUQiXT8/KDAsbi5zdHJpbmdBc1Jlc29sdXRpb24pKCIxIiksZGVzY3JpcHRpb246KDAsbi5kYXlzU3RyaW5nTGl0ZXJhbCkoMSl9LCI1ZCI6e3RleHQ6aS50KG51bGwsdm9pZCAwLHMoODI4NTUpKSx2YWx1ZTp7dmFsdWU6IjVEIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyI1RCJdPz8oMCxuLnN0cmluZ0FzUmVzb2x1dGlvbikoIjUiKSxkZXNjcmlwdGlvbjooMCxuLmRheXNTdHJpbmdMaXRlcmFsKSg1KX0sIjF3Ijp7dGV4dDppLnQobnVsbCx2b2lkIDAscyg0OTIxMzUpKSx2YWx1ZTp7dmFsdWU6IjdEIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyI1VyJdPz8oMCxuLnN0cmluZ0FzUmVzb2x1dGlvbikoIjE1IiksZGVzY3JpcHRpb246KDAsbi53ZWVrc1N0cmluZ0xpdGVyYWwpKDEpfSwiMW0iOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDgzMjczMykpLHZhbHVlOnt2YWx1ZToiMU0iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjFNIl0/PygwLG4uc3RyaW5nQXNSZXNvbHV0aW9uKSgiMzAiKSxkZXNjcmlwdGlvbjooMCxuLm1vbnRoc1N0cmluZ0xpdGVyYWwpKDEpfSwiM20iOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDgxOTA3OCkpLHZhbHVlOnt2YWx1ZToiM00iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjNNIl0/PygwLG4uc3RyaW5nQXNSZXNvbHV0aW9uKSgiNjAiKSxkZXNjcmlwdGlvbjooMCxuLm1vbnRoc1N0cmluZ0xpdGVyYWwpKDMpfSwiNm0iOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDY4MDc2KSksdmFsdWU6e3ZhbHVlOiI2TSIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiNk0iXT8/KDAsbi5zdHJpbmdBc1Jlc29sdXRpb24pKCIxMjAiKSxkZXNjcmlwdGlvbjooMCxuLm1vbnRoc1N0cmluZ0xpdGVyYWwpKDYpfSwiMTJtIjp7dGV4dDppLnQobnVsbCx2b2lkIDAscyg3NzAzMDMpKSx2YWx1ZTp7dmFsdWU6IjEyTSIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiMTJNIl0/PygwLG4uc3RyaW5nQXNSZXNvbHV0aW9uKSgiMUQiKSxkZXNjcmlwdGlvbjooMCxuLnllYXJzU3RyaW5nTGl0ZXJhbCkoMSl9LCIyNG0iOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDkzNDc3NykpLHZhbHVlOnt2YWx1ZToiMjRNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIyNE0iXT8/KDAsbi5zdHJpbmdBc1Jlc29sdXRpb24pKCIxVyIpLGRlc2NyaXB0aW9uOigwLG4ueWVhcnNTdHJpbmdMaXRlcmFsKSgyKX0sIjM2bSI6ewp0ZXh0OmkudChudWxsLHZvaWQgMCxzKDI3MjA5OCkpLHZhbHVlOnt2YWx1ZToiMzZNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIzNk0iXT8/KDAsbi5zdHJpbmdBc1Jlc29sdXRpb24pKCIxVyIpLGRlc2NyaXB0aW9uOigwLG4ueWVhcnNTdHJpbmdMaXRlcmFsKSgzKX0sIjYwbSI6e3RleHQ6aS50KG51bGwsdm9pZCAwLHMoNDQ2NTYwKSksdmFsdWU6e3ZhbHVlOiI2ME0iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjYwTSJdPz8oMCxuLnN0cmluZ0FzUmVzb2x1dGlvbikoIjFXIiksZGVzY3JpcHRpb246KDAsbi55ZWFyc1N0cmluZ0xpdGVyYWwpKDUpfSwiMTIwbSI6e3RleHQ6aS50KG51bGwsdm9pZCAwLHMoOTk1MDY2KSksdmFsdWU6e3ZhbHVlOiIxMjBNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIxMjBNIl0/PygwLG4uc3RyaW5nQXNSZXNvbHV0aW9uKSgiMU0iKSxkZXNjcmlwdGlvbjooMCxuLnllYXJzU3RyaW5nTGl0ZXJhbCkoMTApfSx5dGQ6e3RleHQ6aS50KG51bGwsdm9pZCAwLHMoNDIyMzY5KSksdmFsdWU6e3ZhbHVlOiJZVEQiLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5ZVEQ/PygwLG4uc3RyaW5nQXNSZXNvbHV0aW9uKSgiMUQiKSxkZXNjcmlwdGlvbjppLnQobnVsbCx2b2lkIDAscyg0ODU0MjApKX0sYWxsOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDIzMzY5MCkpLHZhbHVlOnt2YWx1ZToiQUxMIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uQUxMPz8oMCxuLnN0cmluZ0FzUmVzb2x1dGlvbikoIjFNIil9LGxhc3RzZXNzaW9uOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDkzODEwMCkpLHZhbHVlOnt2YWx1ZToiTEFTVFNFU1NJT04iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5MQVNUU0VTU0lPTj8/KDAsbi5zdHJpbmdBc1Jlc29sdXRpb24pKCIxIiksZGVzY3JpcHRpb246KDAsbi5kYXlzU3RyaW5nTGl0ZXJhbCkoMSl9fX19LDIxNTczMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtkYXlzU3RyaW5nTGl0ZXJhbDooKT0+byxob3Vyc1N0cmluZ0xpdGVyYWw6KCk9PnIsbWludXRlc1N0cmluZ0xpdGVyYWw6KCk9Pm4sbW9udGhzU3RyaW5nTGl0ZXJhbDooKT0+bCxzdHJpbmdBc1Jlc29sdXRpb246KCk9PmMsd2Vla3NTdHJpbmdMaXRlcmFsOigpPT5hLHllYXJzU3RyaW5nTGl0ZXJhbDooKT0+dX0pO3ZhciBpPXMoNzgzMjU0KTtjb25zdCBuPWU9PmkudChudWxsLHtwbHVyYWw6IntzdHJ9IG1pbnV0ZXMiLGNvdW50OmUscmVwbGFjZTp7c3RyOmAke2V9YH19LHMoNDM5MCkpLHI9ZT0+aS50KG51bGwse3BsdXJhbDoie3N0cn0gaG91cnMiLGNvdW50OmUscmVwbGFjZTp7c3RyOmAke2V9YH19LHMoMjEwNTc0KSksbz1lPT5pLnQobnVsbCx7cGx1cmFsOiJ7c3RyfSBkYXlzIixjb3VudDplLHJlcGxhY2U6e3N0cjpgJHtlfWB9fSxzKDEwMzAzMCkpLGE9ZT0+aS50KG51bGwse3BsdXJhbDoie3N0cn0gd2Vla3MiLGNvdW50OmUscmVwbGFjZTp7c3RyOmAke2V9YH19LHMoNjQ0NjI1KSksbD1lPT5pLnQobnVsbCx7cGx1cmFsOiJ7c3RyfSBtb250aHMiLGNvdW50OmUscmVwbGFjZTp7c3RyOmAke2V9YH19LHMoNjk0NjE3KSksdT1lPT5pLnQobnVsbCx7cGx1cmFsOiJ7c3RyfSB5ZWFycyIsY291bnQ6ZSxyZXBsYWNlOntzdHI6YCR7ZX1gfX0scygyMTY0MDIpKSxjPWU9PmV9LDMwODgxMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHt0aW1lRnJhbWVzOigpPT5pfSk7Y29uc3QgaT0oMCxzKDY5MzUwMCkuZ2V0VGltZUZyYW1lcykoKX0sODQ0MzAxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2Zvcm1hdFN5bWJvbEFuZFJlc29sdXRpb246KCk9PmkuZm9ybWF0U3ltYm9sQW5kUmVzb2x1dGlvbixmb3JtYXRTeW1ib2xTdHJpbmc6KCk9PmkuZm9ybWF0U3ltYm9sU3RyaW5nLGZvcm1hdFdhdGNobGlzdFRpdGxlOigpPT5uLmZvcm1hdFdhdGNobGlzdFRpdGxlfSk7cygxNjI1OCk7dmFyIGk9cygyNjExNTQpLG49cyg0ODUxNzkpfSw5NjI3MzcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Zm9ybWF0U3R1ZHlFcnJvcjooKT0+cix0cmllc1RyYW5zbGF0ZUVycm9yOigpPT5ufSk7dmFyIGk9cygxODUyNzEpO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGEuZ2V0KGUpfHxlfWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGUuZm9ybWF0KHtib2xkSGlnaGxpZ2h0U3RhcnQ6IjxiPiIsYm9sZEhpZ2hsaWdodEVuZDoiPC9iPiJ9KX0KY29uc3Qgbz1bWyJZb3UgY2Fubm90IHNlZSB0aGlzIHBpdm90IHRpbWVmcmFtZSBvbiB0aGlzIHJlc29sdXRpb24iLGkudChudWxsLHZvaWQgMCxzKDI5OTE4OCkpXSxbIlRoZSBkYXRhIHZlbmRvciBkb2Vzbid0IHByb3ZpZGUgdm9sdW1lIGRhdGEgZm9yIHRoaXMgc3ltYm9sLiIsaS50KG51bGwsdm9pZCAwLHMoODIzMTY2KSldLFsnSGlzdG9ncmFtIGlzIHRvbyBsYXJnZSwgcGxlYXNlIGluY3JlYXNlICJSb3cgU2l6ZSIgaW5wdXQuJyxpLnQobnVsbCx2b2lkIDAscyg2NjA2MDkpKV0sWyJIaXN0b2dyYW0gaXMgdG9vIGxhcmdlLCBwbGVhc2UgcmVkdWNlICdSb3cgU2l6ZScgaW5wdXQuIixpLnQobnVsbCx2b2lkIDAscygzMzMwOSkpXSxbJ0hpc3RvZ3JhbSBpcyB0b28gbGFyZ2UsIHBsZWFzZSBpbmNyZWFzZSAiVGlja3MgUGVyIFJvdyIgaW5wdXQuJyxpLnQobnVsbCx2b2lkIDAscyg0NjkyMCkpXSxbIlRoaXMgc2NyaXB0IGlzIGludml0ZS1vbmx5LiBUbyByZXF1ZXN0IGFjY2VzcywgcGxlYXNlIGNvbnRhY3QgaXRzIGF1dGhvci4iLGkudChudWxsLHZvaWQgMCxzKDQ4NzY5NSkpXSxbIlZvbHVtZSBQcm9maWxlIGluZGljYXRvciBhdmFpbGFibGUgb25seSBvbiBvdXIgdXBncmFkZWQgcGxhbnMuIixpLnQobnVsbCx2b2lkIDAscygzMzI1ODcpKV0sWyJWT0xVTUVfQklTVF9NSVhFRCIsaS50KG51bGwsdm9pZCAwLHMoNDk3NjQyKSldLFsiUnVudGltZSBlcnJvciIsaS50KG51bGwsdm9pZCAwLHMoNzMwNjM4KSldLFsiQWNjZXNzIGVycm9yIixpLnQobnVsbCx2b2lkIDAscyg1NDIyKSldLFsiVXNlci1kZWZpbmVkIGVycm9yIixpLnQobnVsbCx2b2lkIDAscyg0MjA0NDkpKV0sWyJDb21waWxhdGlvbiBlcnJvciIsaS50KG51bGwsdm9pZCAwLHMoNjk3ODgxKSldLFsiTWV0cmljIGVycm9yIixpLnQobnVsbCx2b2lkIDAscyg3ODkyOTEpKV0sWyJVcGdyYWRlIHRvIHVubG9jayBmb3JlY2FzdCBtZXRyaWNzIixpLnQobnVsbCx2b2lkIDAscyg5MjM5MTIpKV0sWyJHZXQgYWNjZXNzIHRvIGZvcmVjYXN0IG1ldHJpY3Mgd2l0aCBhbiB1cGdyYWRlZCBwbGFuLiIsaS50KG51bGwsdm9pZCAwLHMoMTc3ODU0KSldLFsiVGhlcmUncyBubyBkYXRhIGZvciB5b3VyIHNlbGVjdGVkIHBlcmlvZCBhbmQgY2hhcnQgdGltZWZyYW1lLiIsaS50KG51bGwsdm9pZCAwLHMoNzEyMTg2KSldLFsiVGhlIHJlcXVlc3QgdG9vayB0b28gbG9uZyB0byBwcm9jZXNzLiBFbnN1cmUgeW91IGhhdmUgYSBzdGFibGUgaW50ZXJuZXQgY29ubmVjdGlvbi4gSWYgdGhlIGlzc3VlIHBlcnNpc3RzLCB0cnkgZGVjcmVhc2luZyB0aGUgbGVuZ3RoIG9mIHRoZSByZXF1ZXN0ZWQgdGltZSBpbnRlcnZhbC4iLGkudChudWxsLHZvaWQgMCxzKDE4MjAyMCkpXSxbIlVuZXhwZWN0ZWQgZXJyb3IgaW4gRGVlcCBCYWNrdGVzdGluZyBtb2RlLiBDb250YWN0IHN1cHBvcnQgZm9yIG1vcmUgaW5mb3JtYXRpb24uIixpLnQobnVsbCx2b2lkIDAscyg5MzI4KSldLFsiY2hlY2sgc3R1ZHkgdW5leHBlY3RlZCBlcnJvciIsaS50KG51bGwsdm9pZCAwLHMoNDAwMzIwKSldLFsiVG8gY2FsY3VsYXRlIHRoZSBWV0FQIGluZGljYXRvciwgbW9yZSBkYXRhIGlzIG5lZWRlZC4gWm9vbSBvdXQgb3Igc2Nyb2xsIGxlZnQgdG8gbG9hZCBtb3JlIGhpc3RvcmljYWwgZGF0YS4iLGkudChudWxsLHZvaWQgMCxzKDc1MzAyNCkpXSxbIlZXQVAgaXMgd2FpdGluZyBmb3IgbW9yZSBkYXRhIixpLnQobnVsbCx2b2lkIDAscygzNjQ3MzYpKV0sWyJUaGUgYmFyIG1hZ25pZmllciBpcyBvbmx5IGF2YWlsYWJsZSB0byB0aGUgUHJlbWl1bSBwbGFuIG9yIGhpZ2hlci4iLGkudChudWxsLHZvaWQgMCxzKDI4MDYyKSldLFsiU3RyYXRlZ3kgY2FsY3VsYXRpb24gb24gZWFjaCBoaXN0b3JpY2FsIHRpY2sgaXMgYXZhaWxhYmxlIHRvIFByZW1pdW0gYW5kIFVsdGltYXRlIHBsYW5zIG9ubHkuIFVwZ3JhZGUgeW91ciBwbGFuIHRvIGFjY2VzcyB0aGlzIGZlYXR1cmUuIixpLnQobnVsbCx2b2lkIDAscygxMjMyMTkpKV1dLGE9bmV3IE1hcChvKX0sMjQ2ODkoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBpKCl7cmV0dXJuIFByb21pc2UuYWxsKFtzLmUoMjc4MjApLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNTIzOTYpLHMuZSg2MDA2Mikscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSg0MDQyKSxzLmUoMjU1NTQpLHMuZSg5OTQ0OCkscy5lKDMyMzg3KSxzLmUoMzk2MDkpLHMuZSg5MTA3KV0pLnRoZW4ocy5iaW5kKHMsNTg3MzU0KSl9cy5kKHQse2ltcG9ydFBvcHVwUmVuZGVyOigpPT5pfSl9LDE0NzgwNShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjbG9zZUN1cnJlbnRQdWJsaWNhdGlvblZpZXdQb3B1cDooKT0+YSxnZXRQdWJsaWNhdGlvblR5cGU6KCk9Pm4uZ2V0UHVibGljYXRpb25UeXBlLG9wZW5QdWJsaWNhdGlvblZpZXdQb3B1cDooKT0+dSxwcmVsb2FkUHVibGljYXRpb25WaWV3UG9wdXA6KCk9Pmx9KTt2YXIgaT1zKDI0Njg5KSxuPXMoNjg2NTEzKTtsZXQgcj0hMTthc3luYyBmdW5jdGlvbiBvKCl7cmV0dXJuIHI9ITAsUHJvbWlzZS5hbGwoW3MuZSgzNDI4NCkscy5lKDEyMzg1KSxzLmUoMzMxMCkscy5lKDMzNjcpLHMuZSg2NjQ3MildKS50aGVuKHMuYmluZChzLDQzNTM4MCkpfWFzeW5jIGZ1bmN0aW9uIGEoKXtpZighcilyZXR1cm47Y29uc3QgZT1hd2FpdCBvKCk7YXdhaXQgZS5jbG9zZUN1cnJlbnRQdWJsaWNhdGlvblZpZXdQb3B1cCgpfWFzeW5jIGZ1bmN0aW9uIGwoZSl7bygpLCgwLGkuaW1wb3J0UG9wdXBSZW5kZXIpKCksKDAsbi5pbXBvcnRFbnRyeUNvbXBvbmVudCkoZSl9YXN5bmMgZnVuY3Rpb24gdShlKXtyZXR1cm4oYXdhaXQgbygpKS5vcGVuUHVibGljYXRpb25WaWV3UG9wdXAoZSl9fSwyMTYxMShlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSl7aWYobnVsbCE9ZSYmImJvb2xlYW4iIT10eXBlb2YgZSYmIWlzTmFOKE51bWJlcihlKSkpcmV0dXJuIE51bWJlcihlKX1mdW5jdGlvbiBuKGUpe2lmKG51bGwhPWUmJiJudW1iZXIiIT10eXBlb2YgZSYmImJvb2xlYW4iIT10eXBlb2YgZSlyZXR1cm4gU3RyaW5nKGUpfXMuZCh0LHsKdG9OdW1iZXJPclVuZGVmaW5lZDooKT0+aSx0b1N0cmluZ09yVW5kZWZpbmVkOigpPT5ufSl9LDMyNjA0OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtCYWRSZXF1ZXN0RXJyb3JSZXNwb25zZTooKT0+bn0pO3ZhciBpPXMoMTMzODc0KTtjbGFzcyBuIGV4dGVuZHMgaS5FcnJvclJlc3BvbnNle2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMubmFtZT0iQmFkUmVxdWVzdEVycm9yIixlLmVycm9yP3RoaXMubWVzc2FnZT1lLmVycm9yOnRoaXMubWVzc2FnZT0idW5rbm93biBlcnJvciJ9fX0sMTMzODc0KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0Vycm9yUmVzcG9uc2U6KCk9Pml9KTtjbGFzcyBpe2NvbnN0cnVjdG9yKGUpe3RoaXMuX3N0YXR1cz1lLnN0YXR1cyx0aGlzLl9zdGF0dXNUZXh0PWUuc3RhdHVzVGV4dHx8IiJ9Z2V0SW5mbygpe3JldHVybntuYW1lOnRoaXMubmFtZSxzdGF0dXM6dGhpcy5fc3RhdHVzLHN0YXR1c1RleHQ6dGhpcy5fc3RhdHVzVGV4dCxtZXNzYWdlOnRoaXMubWVzc2FnZX19fX0sMzA4Mzg4KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2dldFN5bWJvbERhdGE6KCk9Pmx9KTt2YXIgaT1zKDM4NDAxNyksbj1zKDIxNjA3OSkscj1zKDMyNjA0OCksbz1zKDE1ODc2MyksYT1zKDc3MDgyNSk7ZnVuY3Rpb24gbChlLHQscyxsLHU9ITAsYz0hMSl7Y29uc3QgZD1zLmpvaW4oIiwiKSxoPSgwLG4uZ2V0U3ltYm9sRGF0YVVybCkodCxkLGwsdSxjKSxwPXtzaWduYWw6ZSxtZXRob2Q6IkdFVCIsY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9fTtyZXR1cm4oMCxpLmZldGNoKShoLHAse2xvZ09uRXJyb3JTdGF0dXM6ITF9KS50aGVuKChlPT57aWYoNDAwPT09ZS5zdGF0dXMpe2NvbnN0e3N0YXR1czp0LHN0YXR1c1RleHQ6c309ZTtyZXR1cm4gZS5qc29uKCkudGhlbigoZT0+e2NvbnN0IGk9ZS5lcnJtc2c7dGhyb3cgbmV3IHIuQmFkUmVxdWVzdEVycm9yUmVzcG9uc2Uoe3N0YXR1czp0LHN0YXR1c1RleHQ6cyxlcnJvcjppfSl9KSl9aWYoNDA0PT09ZS5zdGF0dXMpe2NvbnN0e3N0YXR1czp0LHN0YXR1c1RleHQ6c309ZTtyZXR1cm4gZS5qc29uKCkudGhlbigoaT0+e2lmKCJzeW1ib2xfbm90X2V4aXN0cyI9PT1pLmNvZGUpe2NvbnN0IGU9aS5lcnJtc2c7dGhyb3cgbmV3IGEuU3ltYm9sRG9lc05vdEV4aXN0RXJyb3JSZXNwb25zZSh7c3RhdHVzOnQsc3RhdHVzVGV4dDpzLGVycm9yOmV9KX10aHJvdyBuZXcgby5IdHRwRXJyb3JSZXNwb25zZShlKX0pKX1pZihlLm9rKXJldHVybiBlLmpzb24oKS50aGVuKChlPT5lKSk7dGhyb3cgbmV3IG8uSHR0cEVycm9yUmVzcG9uc2UoZSl9KSl9fSwxNTg3NjMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7SHR0cEVycm9yUmVzcG9uc2U6KCk9Pm59KTt2YXIgaT1zKDEzMzg3NCk7Y2xhc3MgbiBleHRlbmRzIGkuRXJyb3JSZXNwb25zZXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLm5hbWU9Ikh0dHBFcnJvclJlc3BvbnNlIix0aGlzLl9zdGF0dXM+PTIwMCYmdGhpcy5fc3RhdHVzPDMwMD90aGlzLm1lc3NhZ2U9YEh0dHAgZmFpbHVyZSBkdXJpbmcgcGFyc2luZyBmb3IgJHtlLnVybHx8Iih1bmtub3duIHVybCkifWA6dGhpcy5tZXNzYWdlPWBIdHRwIGZhaWx1cmUgcmVzcG9uc2UgZm9yICR7ZS51cmx8fCIodW5rbm93biB1cmwpIn06ICR7ZS5zdGF0dXN9ICR7ZS5zdGF0dXNUZXh0fWB9fX0sNzcwODI1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1N5bWJvbERvZXNOb3RFeGlzdEVycm9yUmVzcG9uc2U6KCk9Pm59KTt2YXIgaT1zKDEzMzg3NCk7Y2xhc3MgbiBleHRlbmRzIGkuRXJyb3JSZXNwb25zZXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLm5hbWU9IlN5bWJvbERvZXNOb3RFeGlzdEVycm9yIix0aGlzLm1lc3NhZ2U9ZS5lcnJvcnx8InN5bWJvbCBkb2VzIG5vdCBleGlzdCJ9fX0sMjE2MDc5KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSgpe3JldHVybiB3aW5kb3cuU0NSRUVORVJfSE9TVHx8Imh0dHBzOi8vc2Nhbm5lci50cmFkaW5ndmlldy5jb20ifWZ1bmN0aW9uIG4oZSx0KXtjb25zdCBzPWkoKTtyZXR1cm4gdD9gJHtzfS8ke3R9L2A6MT09PWUubGVuZ3RoP2Ake3N9LyR7ZVswXX0vYDpgJHtzfS9nbG9iYWwvYH1mdW5jdGlvbiByKGUsdCxzLG4scil7Y29uc3Qgbz1pKCksYT17c3ltYm9sOmUsZmllbGRzOnR9O24mJihhLm5vXzQwND0idHJ1ZSIpLHImJihhLnByaWNlX2NvbnZlcnNpb249ImRpc2FibGVkIikscyYmKGFbImxhYmVsLXByb2R1Y3QiXT1zKTtjb25zdCBsPW5ldyBVUkwoYCR7b30vc3ltYm9sYCk7cmV0dXJuIE9iamVjdC5rZXlzKGEpLmZvckVhY2goKGU9PntsLnNlYXJjaFBhcmFtcy5hcHBlbmQoZSxhW2VdKX0pKSxsLnRvU3RyaW5nKCl9ZnVuY3Rpb24gbyhlLHQpe3JldHVybmAke2koKX0vZW51bT9pZD0ke2V9Jmxhbmc9JHt0fHx3aW5kb3cubGFuZ3VhZ2V8fCJlbiJ9YH1mdW5jdGlvbiBhKGUsdCl7cmV0dXJuYCR7aSgpfS9lbnVtL29yZGVyZWQ/aWQ9JHtlfSZsYW5nPSR7dHx8d2luZG93Lmxhbmd1YWdlfHwiZW4ifWB9cy5kKHQse2dldEJhY2tlbmRVcmw6KCk9Pm4sZ2V0RW51bU9yZGVyZWRSZWdpc3RyeVVybDooKT0+YSxnZXRFbnVtUmVnaXN0cnlVcmw6KCk9Pm8sZ2V0U3ltYm9sRGF0YVVybDooKT0+cn0pfSw2NDEwMzUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLnIodCkscy5kKHQse2NyZWF0ZU5vdGljZURpYWxvZzooKT0+bixzaG93Tm90aWNlRGlhbG9nOigpPT5yfSk7dmFyIGk9cygxODUyNzEpO2FzeW5jIGZ1bmN0aW9uIG4oZSl7cmV0dXJuKGF3YWl0IFByb21pc2UuYWxsKFtzLmUoODcyMzgpLHMuZSg1NDY4MSkscy5lKDMxODM3KSxzLmUoMjA5NzEpLHMuZSg0OTUxOCkscy5lKDc1MzA0KSxzLmUoMzgwMDIpLHMuZSg3MDM2NCkscy5lKDg5MTk1KSxzLmUoNzUwNCkscy5lKDQ2NjAwKSxzLmUoMTA3MDQpXSkudGhlbihzLmJpbmQocywyMzU3MikpKS5jcmVhdGVEaWFsb2coe3dpZHRoOjQwMCxkZXN0cm95T25DbG9zZTohMCx0aXRsZTppLnQobnVsbCx2b2lkIDAscyg1NjE2MDApKSwKY29udGVudDppLnQobnVsbCx2b2lkIDAscyg3MjM2MykpLGNvbnRlbnRXcmFwVGVtcGxhdGU6JzxkaXYgY2xhc3M9InR2LWRpYWxvZ19fc2VjdGlvbiB0di1kaWFsb2dfX3NlY3Rpb24tLW5vLWJvcmRlciI+PGRpdiBjbGFzcz0idHYtdGV4dCI+PHA+PC9wPjwvZGl2PjwvZGl2PicsYWN0aW9uc1dyYXBUZW1wbGF0ZTonPGRpdiBjbGFzcz0idHYtZGlhbG9nX19zZWN0aW9uIHR2LWRpYWxvZ19fc2VjdGlvbi0tYWN0aW9ucyB0di1kaWFsb2dfX3NlY3Rpb24tLW5vLWJvcmRlciI+JyxhY3Rpb25zOlt7bmFtZToib2siLHR5cGU6InByaW1hcnkiLHRleHQ6aS50KG51bGwsdm9pZCAwLHMoMjA4MDc4KSksbWV0aG9kOiJjbG9zZSIsa2V5OlsxMywzMl19XSwuLi5lfSl9ZnVuY3Rpb24gcihlKXtuKGUpLnRoZW4oKGU9PmUub3BlbigpKSl9fSw1MDg3NDcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U1lNQk9MX0xJU1RfUkVQT1NJVE9SWV9CQUNLRU5EX1NFUlZJQ0U6KCk9Pml9KTtjb25zdCBpPSgwLHMoNDczMDY4KS5jcmVhdGVTZXJ2aWNlRGVzY3JpcHRvcikoIlN5bWJvbExpc3RSZXBvc2l0b3J5QmFja2VuZCIpfSw1ODA1MjYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0TG9jYWxMaXN0U3ltYm9sczooKT0+aCxsb2NhbENvbGxhcHNlU3RhdGVGcm9tUmVtb3RlU3ltYm9sczooKT0+bCxyZW1vdGVSZW5hbWVTZXBhcmF0b3JzOigpPT5jLHJlbW90ZVN5bWJvbHNGb3JtTG9jYWxTdGF0ZTooKT0+dSxzZXBhcmF0b3JSZW1vdGVSZXByZXNlbnRhdGlvbjooKT0+ZH0pO3ZhciBpPXMoMTM4NjM4KSxuPXMoOTAxMDIyKSxyPXMoNzA1MDEyKSxvPXMoOTIyMjQ4KTtjb25zdCBhPW5ldyBSZWdFeHAoYF4ke24uU0VQQVJBVE9SX1BSRUZJWH0o4oGkKT8oLispJGApO2Z1bmN0aW9uIGwoZSl7Y29uc3QgdD1bXSxzPVtdO3JldHVybiBlLmZvckVhY2goKGU9Pntjb25zdFssaSxyXT1lLm1hdGNoKGEpfHxbXTtpZihyKXtjb25zdCBlPWAke24uU0VQQVJBVE9SX1BSRUZJWH0ke3J9YDtpJiZzLnB1c2goZSksdC5wdXNoKGUpfWVsc2UgdC5wdXNoKGUpfSkpLHtzeW1ib2xzOnQsY29sbGFwc2VkU2VwYXJhdG9yczpzfX1mdW5jdGlvbiB1KGUsdCl7Y29uc3Qgcz1tKGUpO3JldHVybiB0Lm1hcCgoZT0+cz8uaGFzT3duUHJvcGVydHkoZSk/ZChlLHNbZV0pOmUpKX1mdW5jdGlvbiBjKGUsdCxzKXtjb25zdCBpPW0oZSk7aWYoaT8uaGFzT3duUHJvcGVydHkocykpe2NvbnN0IGU9aVtzXTtyZXR1cm57b2xkU2VwYXJhdG9yOmQodCxlKSxuZXdTZXBhcmF0b3I6ZChzLGUpfX1yZXR1cm57b2xkU2VwYXJhdG9yOnQsbmV3U2VwYXJhdG9yOnN9fWZ1bmN0aW9uIGQoZSx0KXtjb25zdCBzPWUucmVwbGFjZShuLlNFUEFSQVRPUl9QUkVGSVgsIiIpLnJlcGxhY2UoIuKBpCIsIiIpO3JldHVybmAke24uU0VQQVJBVE9SX1BSRUZJWH0ke3Q/IuKBpCI6IiJ9JHtzfWB9ZnVuY3Rpb24gaChlKXtjb25zdCB0PXAoKTtyZXR1cm4oMCxpLmVuc3VyZURlZmluZWQpKHQubWFya2VkTGlzdHM/Lmxpc3RzLmJ5Q29sb3JbZV0/LnN5bWJvbHN8fHQuY3VzdG9tTGlzdHMubGlzdHMuYnlJZFtlXT8uc3ltYm9scyl9ZnVuY3Rpb24gcCgpe3JldHVybigwLHIuc2VydmljZSkoby5TWU1CT0xfTElTVF9TRVJWSUNFKS5zdG9yZS5nZXRTdGF0ZSgpfWZ1bmN0aW9uIG0oZSl7cmV0dXJuIHAoKS5jb2xsYXBzZWRTZXBhcmF0b3JzW2VdfX0sNjIxMjAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7cGVuZGluZ09wZW5TZXBhcmF0b3JzOigpPT5pfSk7Y29uc3QgaT1uZXcgU2V0fSw0MzM3MzUoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgaSxuLHI7cy5kKHQse0NvbXBhcmVPcHRpb246KCk9Pml9KSxmdW5jdGlvbihlKXtlW2UuU2FtZVBjdFNjYWxlPTBdPSJTYW1lUGN0U2NhbGUiLGVbZS5OZXdQcmljZVNjYWxlPTFdPSJOZXdQcmljZVNjYWxlIixlW2UuTmV3UGFuZT0yXT0iTmV3UGFuZSIsZVtlLlNhbWVTY2FsZT0zXT0iU2FtZVNjYWxlIn0oaXx8KGk9e30pKSxmdW5jdGlvbihlKXtlLlN5bWJvbFNlYXJjaD0ic3ltYm9sU2VhcmNoIixlLldhdGNobGlzdD0id2F0Y2hsaXN0IixlLkV4Y2hhbmdlPSJleGNoYW5nZSIsZS5Db21wYXJlPSJjb21wYXJlIixlLk9wdGlvbnM9Im9wdGlvbnMifShufHwobj17fSkpLGZ1bmN0aW9uKGUpe2UuRml4ZWQ9ImZpeGVkIixlLkF1dG89ImF1dG8ifShyfHwocj17fSkpfSwzNTM4MShlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBpO3MuZCh0LHtURUNITklDQUxTX1FTX0ZJRUxEUzooKT0+bixURUNITklDQUxTX1NDUkVFTkVSX0NPTFVNTlM6KCk9PnUscmVxdWlyZWRNQUNvbHVtbnM6KCk9PmEscmVxdWlyZWRPc2NDb2x1bW5zOigpPT5vLHJlcXVpcmVkUGl2b3RzQ29sdW1uczooKT0+bCxyZXF1aXJlZFJlY29tbWVuZENvbHVtbnM6KCk9PnJ9KSxmdW5jdGlvbihlKXtlLlR5cGU9InR5cGUiLGUuTGlzdGVkRXhjaGFuZ2U9Imxpc3RlZF9leGNoYW5nZSIsZS5QcmljZXNjYWxlPSJwcmljZXNjYWxlIixlLlR5cGVzcGVjcz0idHlwZXNwZWNzIixlLlByb05hbWU9InByb19uYW1lIixlLlNob3J0TmFtZT0ic2hvcnRfbmFtZSJ9KGl8fChpPXt9KSkKO2NvbnN0IG49WyJ0eXBlIiwibGlzdGVkX2V4Y2hhbmdlIiwicHJpY2VzY2FsZSIsInR5cGVzcGVjcyIsInByb19uYW1lIiwic2hvcnRfbmFtZSJdLHI9WyJSZWNvbW1lbmQuT3RoZXIiLCJSZWNvbW1lbmQuQWxsIiwiUmVjb21tZW5kLk1BIl0sbz1bIlJTSSIsIlN0b2NoLksiLCJDQ0kyMCIsIkFEWCIsIkFPIiwiTW9tIiwiTUFDRC5tYWNkIiwiU3RvY2guUlNJLksiLCJXLlIiLCJCQlBvd2VyIiwiVU8iXSxhPVsiRU1BMTAiLCJTTUExMCIsIkVNQTIwIiwiU01BMjAiLCJFTUEzMCIsIlNNQTMwIiwiRU1BNTAiLCJTTUE1MCIsIkVNQTEwMCIsIlNNQTEwMCIsIkVNQTIwMCIsIlNNQTIwMCIsIkljaGltb2t1LkJMaW5lIiwiVldNQSIsIkh1bGxNQTkiXSxsPVsiUGl2b3QuTS5DbGFzc2ljLlIzIiwiUGl2b3QuTS5DbGFzc2ljLlIyIiwiUGl2b3QuTS5DbGFzc2ljLlIxIiwiUGl2b3QuTS5DbGFzc2ljLk1pZGRsZSIsIlBpdm90Lk0uQ2xhc3NpYy5TMSIsIlBpdm90Lk0uQ2xhc3NpYy5TMiIsIlBpdm90Lk0uQ2xhc3NpYy5TMyIsIlBpdm90Lk0uRmlib25hY2NpLlIzIiwiUGl2b3QuTS5GaWJvbmFjY2kuUjIiLCJQaXZvdC5NLkZpYm9uYWNjaS5SMSIsIlBpdm90Lk0uRmlib25hY2NpLk1pZGRsZSIsIlBpdm90Lk0uRmlib25hY2NpLlMxIiwiUGl2b3QuTS5GaWJvbmFjY2kuUzIiLCJQaXZvdC5NLkZpYm9uYWNjaS5TMyIsIlBpdm90Lk0uQ2FtYXJpbGxhLlIzIiwiUGl2b3QuTS5DYW1hcmlsbGEuUjIiLCJQaXZvdC5NLkNhbWFyaWxsYS5SMSIsIlBpdm90Lk0uQ2FtYXJpbGxhLk1pZGRsZSIsIlBpdm90Lk0uQ2FtYXJpbGxhLlMxIiwiUGl2b3QuTS5DYW1hcmlsbGEuUzIiLCJQaXZvdC5NLkNhbWFyaWxsYS5TMyIsIlBpdm90Lk0uV29vZGllLlIzIiwiUGl2b3QuTS5Xb29kaWUuUjIiLCJQaXZvdC5NLldvb2RpZS5SMSIsIlBpdm90Lk0uV29vZGllLk1pZGRsZSIsIlBpdm90Lk0uV29vZGllLlMxIiwiUGl2b3QuTS5Xb29kaWUuUzIiLCJQaXZvdC5NLldvb2RpZS5TMyIsIlBpdm90Lk0uRGVtYXJrLlIxIiwiUGl2b3QuTS5EZW1hcmsuTWlkZGxlIiwiUGl2b3QuTS5EZW1hcmsuUzEiXSx1PVsuLi5yLC4uLm8sLi4uYSwuLi5sXX0sNzU5OTcwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2lzRHJhd2luZ1Rvb2xiYXJWaXNpYmxlOigpPT5sfSk7dmFyIGk9cyg5MzA1NjYpLG49cyg5MzAyMzEpLHI9cygyMzIzNjQpO2NvbnN0IG89ISgwLG4uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfbGVmdF90b29sYmFyX2J5X2RlZmF1bHQiKSxhPWkuZ2V0Qm9vbCgiQ2hhcnREcmF3aW5nVG9vbGJhcldpZGdldC52aXNpYmxlIixvKSxsPW5ldyByLldhdGNoZWRWYWx1ZShhKX0sODkwODM1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2N1cnJlbnRMYXlvdXQ6KCk9Pml9KTtjb25zdCBpPW5ldyhzKDIzMjM2NCkuV2F0Y2hlZFZhbHVlKShudWxsKX0sMTk4OTAxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2NhbGN1bGF0ZU1pbk1heDooKT0+Qyxjb2xsZWN0QWxsUGF0aHM6KCk9Pk0sY29tcGFyZVR3b0NvbGxlY3Rpb25zQnlJZHM6KCk9PmIsZmluZEZpcnN0OigpPT5mLGluZGV4T2Y6KCk9PnYsaW50ZXJzZWN0OigpPT5fLGpvaW46KCk9PmcsbG93ZXJib3VuZDooKT0+bCxsb3dlcmJvdW5kRXh0OigpPT5hLG1hcEVudHJpZXNHZW5lcmF0b3I6KCk9PncsbWluTWF4OigpPT5ULG1vdmVBZnRlcjooKT0+cCxtb3ZlQmVmb3JlOigpPT5tLG1vdmVUb0hlYWQ6KCk9PmgsbmVzdGVkTWFwR2VuZXJhdG9yOigpPT5QLHJlbW92ZUVtcHR5T2JqZWN0c0Zyb21SZWNvcmRJbnBsYWNlOigpPT5JLHJlbW92ZUl0ZW1Gcm9tQXJyYXk6KCk9PnkscmV2ZXJ0UmVjb3JkOigpPT5ELHN1YnRyYWN0OigpPT5kLHN1bTooKT0+Uyx1cHBlcmJvdW5kOigpPT5jfSk7dmFyIGk9cygxNDQ1NTUpLG49cyg4ODAxMTUpLHI9cygxMzg2MzgpO2Z1bmN0aW9uIG8oZSx0KXtyZXR1cm4gZTx0fWZ1bmN0aW9uIGEoZSx0LHMsaSxuKXtsZXQgcj1uLWk7Zm9yKDswPHI7KXtjb25zdCBuPXI+PjEsbz1pK247cyhlKG8pLHQpPyhpPW8rMSxyLT1uKzEpOnI9bn1yZXR1cm4gaX1mdW5jdGlvbiBsKGUsdCxzLGk9MCxuPWUubGVuZ3RoKXtyZXR1cm4gYSgodD0+ZVt0XSksdCxzLGksbil9ZnVuY3Rpb24gdShlLHQscz0wLGk9ZS5sZW5ndGgpe3JldHVybiBsKGUsdCxvLHMsaSl9ZnVuY3Rpb24gYyhlLHQscyxpPTAsbj1lLmxlbmd0aCl7bGV0IHI9bi1pO2Zvcig7MDxyOyl7Y29uc3Qgbj1yPj4xLG89aStuO3ModCxlW29dKT9yPW46KGk9bysxLHItPW4rMSl9cmV0dXJuIGl9ZnVuY3Rpb24gZChlLHQpe3JldHVybiBlLmZpbHRlcigoZT0+IXQuaW5jbHVkZXMoZSkpKX1mdW5jdGlvbiBoKGUsdCl7Y29uc3Qgcz1lLmluZGV4T2YodCk7cmV0dXJuIHM8MD9lLnNsaWNlKCk6W3RdLmNvbmNhdChlLnNsaWNlKDAscykpLmNvbmNhdChlLnNsaWNlKHMrMSkpfWZ1bmN0aW9uIHAoZSx0LHMpe2NvbnN0IGk9bmV3IFNldCh0KSxuPVtdLHI9W10sbz1bXTtyZXR1cm4gZS5mb3JFYWNoKCgoZSx0KT0+e2kuaGFzKGUpP3IucHVzaChlKToobi5wdXNoKGUpLG8ucHVzaCh0KSl9KSkscz1zPGUubGVuZ3RoLTE/dShvLHMrMSk6bi5sZW5ndGgsbi5zcGxpY2UocywwLC4uLnIpLHtuZXdJdGVtczpuLG1vdmVkSXRlbXNTdGFydEluZGV4OnN9fWZ1bmN0aW9uIG0oZSx0LHMpe2NvbnN0IGk9bmV3IFNldCh0KSxuPVtdLHI9W10sbz1bXTtyZXR1cm4gZS5mb3JFYWNoKCgoZSx0KT0+e2kuaGFzKGUpP3IucHVzaChlKToobi5wdXNoKGUpLG8ucHVzaCh0KSl9KSkscz1zPD1lLmxlbmd0aC0xP3UobyxzKTpuLmxlbmd0aCxuLnNwbGljZShzLDAsLi4ucikse25ld0l0ZW1zOm4sbW92ZWRJdGVtc1N0YXJ0SW5kZXg6c319ZnVuY3Rpb24gXyhlLHQpe2NvbnN0IHM9bmV3IFNldDtyZXR1cm4gZS5mb3JFYWNoKChlPT57dC5oYXMoZSkmJnMuYWRkKGUpfSkpLHN9ZnVuY3Rpb24gZyhlLHQpe2NvbnN0IHM9bmV3IFNldChlKTtyZXR1cm4gdC5mb3JFYWNoKChlPT5zLmFkZChlKSkpLHN9ZnVuY3Rpb24geShlLHQpe2NvbnN0IHM9ZS5pbmRleE9mKHQpOygwLApyLmFzc2VydCkoLTEhPT1zLCJJdGVtIGlzIG5vdCBmb3VuZCIpLGUuc3BsaWNlKHMsMSl9ZnVuY3Rpb24gZihlLHQpe2Zvcihjb25zdCBzIG9mIGUpaWYodChzKSlyZXR1cm4gcztyZXR1cm4gbnVsbH1mdW5jdGlvbiB2KGUsdCl7Zm9yKGxldCBzPTA7czxlLmxlbmd0aDtzKyspaWYodChlW3NdKSlyZXR1cm4gcztyZXR1cm4tMX1mdW5jdGlvbiBiKGUsdCl7aWYoZS5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoOysrcylpZihlW3NdLmlkKCkhPT10W3NdLmlkKCkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gUyhlKXtyZXR1cm4gZS5yZWR1Y2UoKChlLHQpPT5lK3QpLDApfWZ1bmN0aW9uKncoZSl7Zm9yKGNvbnN0W3Qsc11vZiBlKXlpZWxkW3Qsc119ZnVuY3Rpb24qUChlLHQpe2Zvcihjb25zdFtzLGldb2YgZSlpZih2b2lkIDA9PT10KWZvcihjb25zdFssZV1vZiBpKXlpZWxkW3MsZV07ZWxzZXtjb25zdCBlPWkuZ2V0KHQpO3ZvaWQgMCE9PWUmJih5aWVsZFtzLGVdKX19ZnVuY3Rpb24gVChlKXtyZXR1cm5bTWF0aC5taW4oLi4uZSksTWF0aC5tYXgoLi4uZSldfWZ1bmN0aW9uIEMoZSx0KXtyZXR1cm4gVChlLm1hcCh0KSl9ZnVuY3Rpb24gRShlKXtmb3IobGV0IHQ9ZS5sZW5ndGgtMTt0Pj0wO3QtLSlBcnJheS5pc0FycmF5KGVbdF0pPyhFKGVbdF0pLCgwLGkuZGVmYXVsdCkoZVt0XSkmJmUuc3BsaWNlKHQsMSkpOigwLG4uZGVmYXVsdCkoZVt0XSkmJihJKGVbdF0pLCgwLGkuZGVmYXVsdCkoZVt0XSkmJmUuc3BsaWNlKHQsMSkpfWZ1bmN0aW9uIEkoZSl7Y29uc3QgdD1PYmplY3Qua2V5cyhlKTtmb3IoY29uc3QgcyBvZiB0KUFycmF5LmlzQXJyYXkoZVtzXSk/KEUoZVtzXSksKDAsaS5kZWZhdWx0KShlW3NdKSYmZGVsZXRlIGVbc10pOigwLG4uZGVmYXVsdCkoZVtzXSkmJihJKGVbc10pLCgwLGkuZGVmYXVsdCkoZVtzXSkmJmRlbGV0ZSBlW3NdKTtyZXR1cm4gZX1mdW5jdGlvbiBMKGUsdCxzKXtjb25zdCBpPU9iamVjdC5rZXlzKGUpO2Zvcihjb25zdCByIG9mIGkpe2NvbnN0IGk9dD9gJHt0fS4ke3J9YDpyOygwLG4uZGVmYXVsdCkoZVtyXSk/TChlW3JdLGkscyk6cy5wdXNoKGkpfX1mdW5jdGlvbiBNKGUpe2NvbnN0IHQ9W107cmV0dXJuIEwoZSwiIix0KSx0fWZ1bmN0aW9uIEQoZSl7cmV0dXJuIE9iamVjdC5lbnRyaWVzKGUpLnJlZHVjZSgoKGUsW3Qsc10pPT4oZVtzXT10LGUpKSx7fSl9fSw4MTUzNTQoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUpe2xldCB0PWU7Y29uc3Qgcz0oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLHMpLHQmJnQoKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLHMpLCgpPT57dD1udWxsfX1zLmQodCx7Y2FsbFdoZW5PbmxpbmU6KCk9Pml9KX0sMTE1MjkzKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2RldGVjdEF1dG9EaXJlY3Rpb246KCk9PncsZm9yY2VMVFJTdHI6KCk9PnAsZm9yY2VMVFJTdHJTc3I6KCk9Pm0sZm9yY2VSVExNYXJrc1N0cjooKT0+ZCxmb3JjZVJUTFN0cjooKT0+ZyxnZXRMVFJTY3JvbGxMZWZ0OigpPT55LGdldExUUlNjcm9sbExlZnRPZmZzZXQ6KCk9PmYsaXNSdGw6KCk9Pm8sc2V0RG9jdW1lbnREaXJHZXR0ZXI6KCk9PnIsc3RhcnRXaXRoTFRSOigpPT5oLHN0cmlwTFRSTWFya3M6KCk9PmMsc3RyaXBMVFJTdHJTc3I6KCk9Pl99KTt2YXIgaT1zKDMyMDQwMyk7bGV0IG49KCk9Pm51bGw7ZnVuY3Rpb24gcihlKXtuPWV9Y29uc3Qgbz0oKT0+InJ0bCI9PT1mdW5jdGlvbigpe2NvbnN0IGU9bigpO2lmKG51bGw9PT1lKXRocm93IG5ldyBFcnJvcigiRG9jdW1lbnQgZGlyZWN0aW9uIGdldHRlciBpcyBub3Qgc2V0LCBjYWxsIHNldERvY3VtZW50RGlyR2V0dGVyIHRvIHNldCBpdCIpO3JldHVybiBlfSgpLGE9IuKAqiIsbD0i4oCsIix1PW5ldyBSZWdFeHAoIuKAjnzigI984oCqfOKAq3zigKwiLCJnIik7ZnVuY3Rpb24gYyhlKXtyZXR1cm4iIiE9PWUmJm8oKSYmbnVsbCE9ZT9lLnJlcGxhY2UodSwiIik6ZX1mdW5jdGlvbiBkKGUpe3JldHVybiIiIT09ZSYmbygpJiZudWxsIT1lPyLigI8iK2UrIuKAjiI6ZX1mdW5jdGlvbiBoKGUpe3JldHVybiIiIT09ZSYmbygpJiZudWxsIT1lPyLigI4iK2U6ZX1mdW5jdGlvbiBwKGUpe3JldHVybiIiIT09ZSYmbygpJiZudWxsIT1lP2ErZStsOmV9ZnVuY3Rpb24gbShlKXtyZXR1cm4gYStlK2x9ZnVuY3Rpb24gXyhlKXtyZXR1cm4gZS5zdGFydHNXaXRoKGEpJiZlLmVuZHNXaXRoKGwpP2Uuc2xpY2UoMSwtMSk6ZX1mdW5jdGlvbiBnKGUpe3JldHVybiIiIT09ZSYmbygpJiZudWxsIT1lPyLigKsiK2UrbDplfWZ1bmN0aW9uIHkoZSl7cmV0dXJuKDAsaS5nZXROb3JtYWxpemVkU2Nyb2xsTGVmdCkoZSwicnRsIil9ZnVuY3Rpb24gZihlLHQpe2NvbnN0IHM9KDAsaS5kZXRlY3RTY3JvbGxUeXBlKSgpO2lmKCJpbmRldGVybWluYXRlIj09PXMpcmV0dXJuIDA7c3dpdGNoKHMpe2Nhc2UibmVnYXRpdmUiOnQ9ZS5jbGllbnRXaWR0aC1lLnNjcm9sbFdpZHRoK3Q7YnJlYWs7Y2FzZSJyZXZlcnNlIjp0PWUuc2Nyb2xsV2lkdGgtZS5jbGllbnRXaWR0aC10fXJldHVybiB0fXZhciB2OyFmdW5jdGlvbihlKXtlLkxUUj0ibHRyIixlLlJUTD0icnRsIixlLlVOS05PV049IiJ9KHZ8fCh2PXt9KSk7Y29uc3QgYj0vW15cdTAwMDAtXHUwMDQwXHUwMDVCLVx1MDA2MFx1MDA3Qi1cdTAwQkZcdTAwRDdcdTAwRjdcdTAyQjktXHUwMkZGXHUyMDAwLVx1MjAwRVx1MjAxMC1cdTIwMjlcdTIwMkNcdTIwMkYtXHUyQkZGXS8sUz0vW1x1MDU5MC1cdTA3RkZcdTIwMEZcdTIwMkJcdTIwMkVcdUZCMUQtXHVGREZEXHVGRTcwLVx1RkVGQ10vO2Z1bmN0aW9uIHcoZSl7Y29uc3QgdD1iLmV4ZWMoZSk7cmV0dXJuIHQ/Uy50ZXN0KHRbMF0pPyJydGwiOiJsdHIiOiIifX0sNzA1MDEyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2hhc1NlcnZpY2U6KCk9PnUscmVnaXN0ZXJTZXJ2aWNlOigpPT5hLHNlcnZpY2U6KCk9PmMsdW5yZWdpc3RlclNlcnZpY2U6KCk9Pmwsd2FpdFNlcnZpY2VSZWdpc3RlcmVkOigpPT5kfSk7dmFyIGk9cyg3Njg3NjApLG49cygyMzIzNjQpCjtjb25zdCByPXt9LG89bmV3IE1hcDtmdW5jdGlvbiBhKGUsdCl7aWYodShlKSl0aHJvdyBuZXcgRXJyb3IoIlNlcnZpY2UgYWxyZWFkeSByZWdpc3RlcmVkIik7aChlKS5zZXRWYWx1ZSh0KTtjb25zdCBzPW8uZ2V0KGUpO3ZvaWQgMCE9PXMmJihvLmRlbGV0ZShlKSxzLnJlc29sdmUodCkpfWZ1bmN0aW9uIGwoZSl7aWYoIXUoZSkpdGhyb3cgbmV3IEVycm9yKCJTZXJ2aWNlIG5vdCBmb3VuZCIpO2goZSkuc2V0VmFsdWUobnVsbCl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gbnVsbCE9PWgoZSkudmFsdWUoKX1mdW5jdGlvbiBjKGUpe2NvbnN0IHQ9aChlKS52YWx1ZSgpO2lmKG51bGw9PT10KXRocm93IG5ldyBFcnJvcigiU2VydmljZUxvY2F0b3I6IFNlcnZpY2UgIitlKyIgbm90IGZvdW5kIik7cmV0dXJuIHR9ZnVuY3Rpb24gZChlKXtpZih1KGUpKXJldHVybiBQcm9taXNlLnJlc29sdmUoYyhlKSk7bGV0IHQ9by5nZXQoZSk7cmV0dXJuIHZvaWQgMD09PXQmJih0PSgwLGkuY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLG8uc2V0KGUsdCkpLHQucHJvbWlzZX1mdW5jdGlvbiBoKGUpe2xldCB0PXJbZV07cmV0dXJuIHR8fCh0PW5ldyBuLldhdGNoZWRWYWx1ZShudWxsKSxyW2VdPXQpLHR9fSw0OTExNjUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7YXZhaWxhYmxlRGF0ZUZvcm1hdHM6KCk9PmIsZGF0ZUZvcm1hdEZ1bmN0aW9uczooKT0+ZixkZWZhdWx0RGF0ZUZvcm1hdDooKT0+dyxnZXREYXRlRm9ybWF0V2l0aFdlZWtkYXk6KCk9PnYseXl5eTooKT0+eX0pO3ZhciBpPXMoNzgzMjU0KSxuPXMoODIyNDMxKSxyPXMoODU2MzI0KTtjb25zdCBvPXsxOigpPT5pLnQobnVsbCx2b2lkIDAscyg2NTczNzQpKSwyOigpPT5pLnQobnVsbCx2b2lkIDAscyg2MTczNDEpKSwzOigpPT5pLnQobnVsbCx2b2lkIDAscygxMDMzMDUpKSw0OigpPT5pLnQobnVsbCx2b2lkIDAscyg1MjY3ODUpKSw1OigpPT5pLnQobnVsbCx7Y29udGV4dDoic2hvcnQifSxzKDczNDc1MCkpLDY6KCk9PmkudChudWxsLHZvaWQgMCxzKDg3NzQ1KSksNzooKT0+aS50KG51bGwsdm9pZCAwLHMoMTgzOTU5KSksODooKT0+aS50KG51bGwsdm9pZCAwLHMoOTM3NjIpKSw5OigpPT5pLnQobnVsbCx2b2lkIDAscygxNzg0NjkpKSwxMDooKT0+aS50KG51bGwsdm9pZCAwLHMoNzI4MzM3KSksMTE6KCk9PmkudChudWxsLHZvaWQgMCxzKDY0NjU0NSkpLDEyOigpPT5pLnQobnVsbCx2b2lkIDAscyg3NjkwMzYpKX0sYT17MTooKT0+aS50KG51bGwsdm9pZCAwLHMoODk3NjcpKSwyOigpPT5pLnQobnVsbCx2b2lkIDAscyg5NDg5MjMpKSwzOigpPT5pLnQobnVsbCx2b2lkIDAscygzNjc5MzUpKSw0OigpPT5pLnQobnVsbCx2b2lkIDAscygxNzU1MDcpKX0sbD0oZSx0KT0+KHQ/ZS5nZXRNb250aCgpOmUuZ2V0VVRDTW9udGgoKSkrMSx1PShlLHQpPT50P2UuZ2V0RGF0ZSgpOmUuZ2V0VVRDRGF0ZSgpLGM9KGUsdCk9PnQ/ZS5nZXRGdWxsWWVhcigpOmUuZ2V0VVRDRnVsbFllYXIoKSxkPShlLHQpPT5lLnRvTG9jYWxlRGF0ZVN0cmluZygoMCxyLmdldExhbmd1YWdlKSgpPygwLHIubWFwTGFuZ3VhZ2VDb2RlKSgoMCxyLmdldExhbmd1YWdlKSgpKTp2b2lkIDAse3dlZWtkYXk6InNob3J0Iix0aW1lWm9uZToibG9jYWwiPT09dD92b2lkIDA6dH0pLGg9KGUsdCk9PmFbKChlLHQpPT5NYXRoLmZsb29yKChsKGUsdCktMSkvMykrMSkoZSx0KV0oKSxwPShlLHQpPT4oMCxuLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKSh1KGUsdCksMiksbT0oZSx0KT0+b1tsKGUsdCldKCksXz0oZSx0KT0+KDAsbi5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobChlLHQpLDIpLGc9KGUsdCk9PigwLG4ubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGMoZSx0KSUxMDAsMikseT0oZSx0KT0+KDAsbi5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYyhlLHQpLDQpLGY9eyJxcSAneXkiOihlLHQpPT5gJHtoKGUsdCl9ICcke2coZSx0KX1gLCJxcSB5eXl5IjooZSx0KT0+YCR7aChlLHQpfSAke3koZSx0KX1gLCJkZCBNTU0gJ3l5IjooZSx0KT0+YCR7cChlLHQpfSAke20oZSx0KX0gJyR7ZyhlLHQpfWAsIk1NTSAneXkiOihlLHQpPT5gJHttKGUsdCl9ICcke2coZSx0KX1gLCJNTU0gZGQsIHl5eXkiOihlLHQpPT5gJHttKGUsdCl9ICR7cChlLHQpfSwgJHt5KGUsdCl9YCwiTU1NIGQsIHl5eXkiOihlLHQpPT5gJHttKGUsdCl9ICR7KChlLHQpPT4oMCxuLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKSh1KGUsdCksMCkpKGUsdCl9LCAke3koZSx0KX1gLCJNTU0geXl5eSI6KGUsdCk9PmAke20oZSx0KX0gJHt5KGUsdCl9YCwiTU1NIGRkIjooZSx0KT0+YCR7bShlLHQpfSAke3AoZSx0KX1gLCJkZCBNTU0iOihlLHQpPT5gJHtwKGUsdCl9ICR7bShlLHQpfWAsInl5eXktTU0tZGQiOihlLHQpPT5gJHt5KGUsdCl9LSR7XyhlLHQpfS0ke3AoZSx0KX1gLCJ5eS1NTS1kZCI6KGUsdCk9PmAke2coZSx0KX0tJHtfKGUsdCl9LSR7cChlLHQpfWAsInl5L01NL2RkIjooZSx0KT0+YCR7ZyhlLHQpfS8ke18oZSx0KX0vJHtwKGUsdCl9YCwieXl5eS9NTS9kZCI6KGUsdCk9PmAke3koZSx0KX0vJHtfKGUsdCl9LyR7cChlLHQpfWAsImRkLU1NLXl5eXkiOihlLHQpPT5gJHtwKGUsdCl9LSR7XyhlLHQpfS0ke3koZSx0KX1gLCJkZC1NTS15eSI6KGUsdCk9PmAke3AoZSx0KX0tJHtfKGUsdCl9LSR7ZyhlLHQpfWAsImRkL01NL3l5IjooZSx0KT0+YCR7cChlLHQpfS8ke18oZSx0KX0vJHtnKGUsdCl9YCwiZGQvTU0veXl5eSI6KGUsdCk9PmAke3AoZSx0KX0vJHtfKGUsdCl9LyR7eShlLHQpfWAsIk1NL2RkL3l5IjooZSx0KT0+YCR7XyhlLHQpfS8ke3AoZSx0KX0vJHtnKGUsdCl9YCwiTU0vZGQveXl5eSI6KGUsdCk9PmAke18oZSx0KX0vJHtwKGUsdCl9LyR7eShlLHQpfWB9O2Z1bmN0aW9uIHYoZSx0KXtyZXR1cm4iamEiPT09KDAsci5nZXRMYW5ndWFnZSkoKT8ocyxpKT0+YCR7ZltlXShzLGkpfSAoJHtkKHMsdCl9KWA6KHMsaSk9PmAke2Qocyx0KX0gJHtmW2VdKHMsaSl9YH0KY29uc3QgYj1PYmplY3Qua2V5cyhmKSxTPVsiamEiLCJrbyIsInpoIiwiemhfVFciXSx3PSgpPT5TLmluY2x1ZGVzKCgwLHIuZ2V0TGFuZ3VhZ2UpKCkpPyJ5eXl5LU1NLWRkIjoiZGQgTU1NICd5eSJ9LDYzMjY4NihlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBpO3MuZCh0LHtDb25uZWN0aW9uU3RhdHVzOigpPT5pfSksZnVuY3Rpb24oZSl7ZVtlLkNsb3NlZD0wXT0iQ2xvc2VkIixlW2UuQ29ubmVjdGluZz0xXT0iQ29ubmVjdGluZyIsZVtlLk9wZW49Ml09Ik9wZW4ifShpfHwoaT17fSkpfSw4MDk5OTMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UGVyc2lzdGVudEV2ZW50U291cmNlVHJhbnNwb3J0OigpPT5hfSk7dmFyIGk9cygyMjEwNjEpLG49cyg2MzI2ODYpLHI9cygyOTU2MjYpO2NvbnN0IG89KDAsaS5nZXRMb2dnZXIpKCJQZXJzaXN0ZW50V2Vic29ja2V0VHJhbnNwb3J0Iik7Y2xhc3MgYSBleHRlbmRzIHIuUGVyc2lzdGVudFRyYW5zcG9ydHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLG8pLHRoaXMuX3NwZWNpYWxpemVkRXJyb3JIYW5kbGVyQm91bmQ9dGhpcy5fc3BlY2lhbGl6ZWRFcnJvckhhbmRsZXIuYmluZCh0aGlzKX1fY3JlYXRlTmF0aXZlVHJhbnNwb3J0KGUpe2NvbnN0IHQ9bmV3IEV2ZW50U291cmNlKGUse3dpdGhDcmVkZW50aWFsczohMH0pO3JldHVybiB0LmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIix0aGlzLl9zcGVjaWFsaXplZEVycm9ySGFuZGxlckJvdW5kKSx0LmFkZEV2ZW50TGlzdGVuZXIoIm9wZW4iLHRoaXMuX3NvY2tldE9wZW5IYW5kbGVyKSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuX3NvY2tldE1lc3NhZ2VIYW5kbGVyKSx0fV9kaXNjb25uZWN0VHJhbnNwb3J0KCl7aWYobnVsbD09PXRoaXMuX3NvY2tldClyZXR1cm47dGhpcy5fc29ja2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIix0aGlzLl9zcGVjaWFsaXplZEVycm9ySGFuZGxlckJvdW5kKSx0aGlzLl9zb2NrZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigib3BlbiIsdGhpcy5fc29ja2V0T3BlbkhhbmRsZXIpLHRoaXMuX3NvY2tldC5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLl9zb2NrZXRNZXNzYWdlSGFuZGxlciksdGhpcy5fcmVtb3ZlT25PZmZsaW5lTGlzdGVuZXIoKTtjb25zdCBlPXRoaXMuX3NvY2tldDt0aGlzLl9zb2NrZXQ9bnVsbCx0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnNldFZhbHVlKG4uQ29ubmVjdGlvblN0YXR1cy5DbG9zZWQpLGUucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5DTE9TRUQmJmUuY2xvc2UoKX1fc3BlY2lhbGl6ZWRFcnJvckhhbmRsZXIoZSl7ZS5ldmVudFBoYXNlPT09RXZlbnRTb3VyY2UuQ0xPU0VEP3RoaXMuX3NvY2tldENsb3NlSGFuZGxlcihlKTp0aGlzLl9zb2NrZXRFcnJvckhhbmRsZXIoKX19fSwyOTU2MjYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UGVyc2lzdGVudFRyYW5zcG9ydDooKT0+dX0pO3ZhciBpLG49cyg4MTUzNTQpLHI9cygyMzIzNjQpLG89cyg5NDgzODApLGE9cygyMTQ5ODcpLGw9cyg2MzI2ODYpOyFmdW5jdGlvbihlKXtlW2UuTm9ybWFsPTMwMF09Ik5vcm1hbCIsZVtlLlRvb01hbnlSZWNvbm5lY3RzPTVlM109IlRvb01hbnlSZWNvbm5lY3RzIn0oaXx8KGk9e30pKTtjbGFzcyB1e2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLl91cmw9IiIsdGhpcy5fc29ja2V0PW51bGwsdGhpcy5fcmVjb25uZWN0Q291bnQ9MCx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1udWxsLHRoaXMuX2Nvbm5lY3Rpb25TdGF0dXM9bmV3IHIuV2F0Y2hlZFZhbHVlKGwuQ29ubmVjdGlvblN0YXR1cy5DbG9zZWQpLHRoaXMuX3NvY2tldENsb3NlSGFuZGxlcj10aGlzLl9vbkNsb3NlQ2FsbGJhY2suYmluZCh0aGlzKSx0aGlzLl9zb2NrZXRFcnJvckhhbmRsZXI9dGhpcy5fb25FcnJvckNhbGxiYWNrLmJpbmQodGhpcyksdGhpcy5fc29ja2V0T3BlbkhhbmRsZXI9dGhpcy5fb25PcGVuQ2FsbGJhY2suYmluZCh0aGlzKSx0aGlzLl9zb2NrZXRNZXNzYWdlSGFuZGxlcj10aGlzLl9vbk1lc3NhZ2VDYWxsYmFjay5iaW5kKHRoaXMpLHRoaXMuX21heFJlY29ubmVjdFJlYWNoZWRFdmVudERlbGVnYXRlPW5ldyBvLkRlbGVnYXRlLHRoaXMuX3N1Y2Nlc3NSZWNvbm5lY3RSZWFjaGVkRXZlbnREZWxlZ2F0ZT1uZXcgby5EZWxlZ2F0ZSx0aGlzLl9zaG91bGRSZWNvbm5lY3Q9ITAsdGhpcy5fbWF4UmVjb25uZWN0Q291bnQ9bnVsbCx0aGlzLl9yZWNvbm5lY3RUaW1lb3V0SWQ9MCx0aGlzLl9jb25uZWN0QWJvcnRDb250cm9sbGVyPW51bGwsdGhpcy5fdHJ5UmVjb25uZWN0PSgpPT57aWYodGhpcy5fZGlzY29ubmVjdCgpLHRoaXMuX3Nob3VsZFJlY29ubmVjdCl7Y29uc3QgZT10aGlzLl9nZXRSZWNvbm5lY3RUaW1lb3V0KCk7dGhpcy5fbG9nZ2VyLmxvZ05vcm1hbChgU2xlZXBpbmcgc29tZSB0aW1lIGJlZm9yZSByZWNvbm5lY3QgJHtlfW1zYCksdGhpcy5fcmVjb25uZWN0VGltZW91dElkPXNldFRpbWVvdXQodGhpcy5fdHJ5UmVjb25uZWN0SW1wbC5iaW5kKHRoaXMpLGUpfWVsc2UgdGhpcy5fbG9nZ2VyLmxvZ05vcm1hbCgiU2tpcCByZWNvbm5lY3RpbmcgYmVjYXVzZSBvZiBzaG91bGRSZWNvbm5lY3Qgc3RhdGUiKX0sdGhpcy5fb25PZmZsaW5lSGFuZGxlcj0oKT0+e3RoaXMuX3JlbW92ZU9uT2ZmbGluZUxpc3RlbmVyKCksdGhpcy5fbG9nZ2VyLmxvZ0luZm8oIk5ldHdvcmsgc3RhdHVzIGNoYW5nZWQgdG8gb2ZmbGluZSAtIHRyeWluZyB0byByZWNvbm5lY3QiKSx0aGlzLl90cnlSZWNvbm5lY3QoKX0sdGhpcy5fbG9nZ2VyPXQsdGhpcy5fbWVzc2FnZUhhbmRsZXI9ZSx0aGlzLl9jbG9zZUhhbmRsZXI9cyx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIiwoKCk9Pnt0LmxvZ05vcm1hbCgiVW5sb2FkIGV2ZW50IGNvbWVzIC0gZGlzY29ubmVjdGluZyB3aXRob3V0IHJlY29ubmVjdCBhZnRlciB0aGF0Li4uIiksdGhpcy5fc2hvdWxkUmVjb25uZWN0PSExLHRoaXMuX2Rpc2Nvbm5lY3QoKX0pLCExKX1zZXRVcmwoZSx0KXtpZih0aGlzLl91cmw9PT1lKXJldHVybiBQcm9taXNlLnJlc29sdmUoKQo7Y29uc3Qgcz10aGlzLl9jb25uZWN0aW9uU3RhdHVzLnZhbHVlKCkhPT1sLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkO3JldHVybiBzJiZ0aGlzLl9kaXNjb25uZWN0KCksdGhpcy5fdXJsPWUsdGhpcy5fY29ubmVjdGlvbk9wdGlvbnM9dCxzP3RoaXMuY29ubmVjdCgpOlByb21pc2UucmVzb2x2ZSgpfXVybCgpe3JldHVybiB0aGlzLl91cmx9Y29ubmVjdCgpe3JldHVybiB0aGlzLl9jb25uZWN0SW1wbCgpfXNldE1heFJlY29ubmVjdENvdW50KGUpe3RoaXMuX21heFJlY29ubmVjdENvdW50PWV9Y29ubmVjdGlvblN0YXR1cygpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnJlYWRvbmx5KCl9ZGlzY29ubmVjdCgpe3RoaXMuX3Nob3VsZFJlY29ubmVjdD0hMSx0aGlzLl9kaXNjb25uZWN0KCl9bWF4UmVjb25uZWN0UmVhY2hlZEV2ZW50KCl7cmV0dXJuIHRoaXMuX21heFJlY29ubmVjdFJlYWNoZWRFdmVudERlbGVnYXRlfXN1Y2Nlc3NSZWNvbm5lY3RSZWFjaGVkRXZlbnQoKXtyZXR1cm4gdGhpcy5fc3VjY2Vzc1JlY29ubmVjdFJlYWNoZWRFdmVudERlbGVnYXRlfWFzeW5jIF9wcmVwYXJlUGFyYW1zRm9yQ29ubmVjdGlvbihlKXt9X2Rpc2Nvbm5lY3QoKXt0aGlzLl9jb25uZWN0QWJvcnRDb250cm9sbGVyPy5hYm9ydCgpLHRoaXMuX2Nvbm5lY3RBYm9ydENvbnRyb2xsZXI9bnVsbCxjbGVhclRpbWVvdXQodGhpcy5fcmVjb25uZWN0VGltZW91dElkKSx0aGlzLl9yZWNvbm5lY3RUaW1lb3V0SWQ9MCx0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnZhbHVlKCkhPT1sLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkP3RoaXMuX3NvY2tldD8odGhpcy5fbG9nZ2VyLmxvZ05vcm1hbChgQ2xvc2luZyBjb25uZWN0aW9uIHRvOiAke3RoaXMuX3NvY2tldC51cmx9LCBjdXJyZW50U3RhdHVzOiAke2wuQ29ubmVjdGlvblN0YXR1c1t0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnZhbHVlKCldfWApLHRoaXMuX2Rpc2Nvbm5lY3RUcmFuc3BvcnQoKSk6dGhpcy5fbG9nZ2VyLmxvZ05vcm1hbCgiRGlzY29ubmVjdGluZyB3aXRob3V0IHNvY2tldCAtIHByb2JhYmx5IHdpdGhpbiBwcmVwYXJpbmcsIGl0IHNob3VsZCBiZSBhbHJlYWR5IHNjaGVkdWxlZCBmb3IgYWJvcnRpbmciKTp0aGlzLl9sb2dnZXIubG9nTm9ybWFsKCJBdHRlbXB0IHRvIGNsb3NlIGNvbm5lY3Rpb24gYnV0IGl0IGlzIGNsb3NlZCBhbHJlYWR5Iil9X29uRXJyb3JDYWxsYmFjaygpe3RoaXMuX2xvZ2dlci5sb2dJbmZvKCJDb25uZWN0aW9uIGlzIGNsb3NlZCBieSBlcnJvciIpLHRoaXMuX3RyeVJlY29ubmVjdCgpfV9vbkNsb3NlQ2FsbGJhY2soZSl7dGhpcy5fbG9nZ2VyLmxvZ0luZm8oYENvbm5lY3Rpb24gaXMgY2xvc2VkIC0gY29kZT0ke2UuY29kZX0gbXNnPSR7ZS5yZWFzb259YCksdGhpcy5fY2xvc2VIYW5kbGVyPy4oZSksdGhpcy5fdHJ5UmVjb25uZWN0KCl9X3RyeVJlY29ubmVjdEltcGwoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX21heFJlY29ubmVjdENvdW50JiZ0aGlzLl9yZWNvbm5lY3RDb3VudD09PXRoaXMuX21heFJlY29ubmVjdENvdW50Pyh0aGlzLl9sb2dnZXIubG9nV2FybigiTWF4aW11bSBhdHRlbXB0cyB0byByZWNvbm5lY3QgdG8gd2Vic29ja2V0IHJlYWNoZWQiKSx2b2lkIHRoaXMuX21heFJlY29ubmVjdFJlYWNoZWRFdmVudERlbGVnYXRlLmZpcmUoKSk6KHRoaXMuX3JlY29ubmVjdENvdW50Kz0xLHRoaXMuX2xvZ2dlci5sb2dJbmZvKGBSZWNvbm5lY3RpbmcgY291bnQ6ICR7dGhpcy5fcmVjb25uZWN0Q291bnR9YCksbmF2aWdhdG9yLm9uTGluZT8odGhpcy5fbG9nZ2VyLmxvZ0luZm8oIk5ldHdvcmsgc3RhdHVzOiBvbmxpbmUgLSB0cnlpbmcgdG8gY29ubmVjdCIpLHZvaWQgdGhpcy5jb25uZWN0KCkpOih0aGlzLl9sb2dnZXIubG9nSW5mbygiTmV0d29yayBzdGF0dXM6IG9mZmxpbmUgLSB3YWl0IHVudGlsIG9ubGluZSIpLHZvaWQodGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW49KDAsbi5jYWxsV2hlbk9ubGluZSkoKCgpPT57dGhpcy5fbG9nZ2VyLmxvZ0luZm8oIk5ldHdvcmsgc3RhdHVzIGNoYW5nZWQgdG8gb25saW5lIC0gdHJ5aW5nIHRvIGNvbm5lY3QiKSx0aGlzLmNvbm5lY3QoKX0pKSkpKX1fb25PcGVuQ2FsbGJhY2soKXt0aGlzLl9sb2dnZXIubG9nTm9ybWFsKCJDb25uZWN0aW9uIG9wZW5lZCIpLHRoaXMuX3JlY29ubmVjdENvdW50PjAmJnRoaXMuX3N1Y2Nlc3NSZWNvbm5lY3RSZWFjaGVkRXZlbnREZWxlZ2F0ZS5maXJlKCksdGhpcy5fcmVjb25uZWN0Q291bnQ9MCx0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnNldFZhbHVlKGwuQ29ubmVjdGlvblN0YXR1cy5PcGVuKX1fb25NZXNzYWdlQ2FsbGJhY2soZSl7dGhpcy5fbWVzc2FnZUhhbmRsZXIoZS5kYXRhKX1fZ2V0UmVjb25uZWN0VGltZW91dCgpe3JldHVybiB0aGlzLl9yZWNvbm5lY3RDb3VudDw1PzMwMDo1ZTN9X3NldE9uT2ZmbGluZUxpc3RlbmVyKCl7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMuX29uT2ZmbGluZUhhbmRsZXIpfV9yZW1vdmVPbk9mZmxpbmVMaXN0ZW5lcigpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvZmZsaW5lIix0aGlzLl9vbk9mZmxpbmVIYW5kbGVyKX1hc3luYyBfY29ubmVjdEltcGwoKXtpZih0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnZhbHVlKCkhPT1sLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkKXJldHVybiB2b2lkIHRoaXMuX2xvZ2dlci5sb2dOb3JtYWwoIkF0dGVtcHQgdG8gb3BlbiBjb25uZWN0aW9uIGJ1dCBpdCBpcyBub3QgY2xvc2VkIik7dGhpcy5fc29ja2V0JiYodGhpcy5fbG9nZ2VyLmxvZ0Vycm9yKCJTb21ldGhpbmcgd2VudCB3cm9uZyAtIGNvZGUgMHgyIiksdGhpcy5kaXNjb25uZWN0KCkpLHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuJiYodGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKSx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1udWxsKSx0aGlzLl9sb2dnZXIubG9nTm9ybWFsKGBDb25uZWN0aW5nIHRvICR7dGhpcy5fdXJsfWApLHRoaXMuX3Nob3VsZFJlY29ubmVjdD0hMCx0aGlzLl9jb25uZWN0QWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIKO2NvbnN0IGU9dGhpcy5fY29ubmVjdEFib3J0Q29udHJvbGxlci5zaWduYWw7dHJ5e2lmKHRoaXMuX2Nvbm5lY3Rpb25TdGF0dXMuc2V0VmFsdWUobC5Db25uZWN0aW9uU3RhdHVzLkNvbm5lY3RpbmcpLGF3YWl0IHRoaXMuX3ByZXBhcmVQYXJhbXNGb3JDb25uZWN0aW9uKGUpLGUuYWJvcnRlZCl0aHJvdygwLGEuY3JlYXRlQWJvcnRFcnJvcikoKTt0aGlzLl9zb2NrZXQ9dGhpcy5fY3JlYXRlTmF0aXZlVHJhbnNwb3J0KHRoaXMuX3VybCksdGhpcy5fc2V0T25PZmZsaW5lTGlzdGVuZXIoKX1jYXRjaChlKXt0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnNldFZhbHVlKGwuQ29ubmVjdGlvblN0YXR1cy5DbG9zZWQpLCgwLGEuc2tpcEFib3J0RXJyb3IpKGUpfWZpbmFsbHl7dGhpcy5fY29ubmVjdEFib3J0Q29udHJvbGxlcj1udWxsfX19fSw5MDEwMjIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U0VQQVJBVE9SX1BSRUZJWDooKT0+aSxpc1NlcGFyYXRvckl0ZW06KCk9Pm59KTtjb25zdCBpPSIjIyMiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUuc3RhcnRzV2l0aChpKX19LDY0MTU5MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjYXBpdGFsaXplRmlyc3RMZXR0ZXJJbldvcmQ6KCk9Pm0sZGVjb2RlSFRNTEVudGl0aWVzOigpPT51LGVuY29kZUhUTUxFbnRpdGllczooKT0+YyxnZXRGaXJzdFNlZ21lbnRPckNvZGVQb2ludFN0cmluZzooKT0+XyxodG1sRXNjYXBlOigpPT5kLHJlbW92ZVNwYWNlczooKT0+cCxyZW1vdmVUYWdzOigpPT5ofSk7Y29uc3QgaT0vWzwiJyY+XS9nLG49ZT0+YCYjJHtlLmNoYXJDb2RlQXQoMCl9O2Ascj17IiZsdDsiOiI8IiwiJmd0OyI6Ij4iLCImcXVvdDsiOiciJywiJmFwb3M7IjoiJyIsIiZhbXA7IjoiJiIsIiYjNjA7IjoiPCIsIiYjNjI7IjoiPiIsIiYjMzQ7IjonIicsIiYjMzk7IjoiJyIsIiYjMDM5OyI6IiciLCImIzM4OyI6IiYifSxvPU9iamVjdC5hc3NpZ24oe30sLi4uT2JqZWN0LmVudHJpZXMocikubWFwKCgoW2UsdF0pPT4oe1t0XTplfSkpKSksYT1uZXcgUmVnRXhwKE9iamVjdC5rZXlzKHIpLmpvaW4oInwiKSwiZyIpLGw9bmV3IFJlZ0V4cChPYmplY3Qua2V5cyhvKS5qb2luKCJ8IiksImciKTtmdW5jdGlvbiB1KGUpe3JldHVybiBlLnJlcGxhY2UoYSwoZT0+cltlXXx8ZSkpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUucmVwbGFjZShsLChlPT5vW2VdfHxlKSl9ZnVuY3Rpb24gZChlKXtyZXR1cm4gZS5yZXBsYWNlKGksbil9ZnVuY3Rpb24gaChlPSIiKXtyZXR1cm4gZS5yZXBsYWNlKC8oPChbXj5dKyk+KS9naSwiIil9ZnVuY3Rpb24gcChlPSIiKXtyZXR1cm4gZS5yZXBsYWNlKC9ccysvZywiIil9ZnVuY3Rpb24gbShlPSIiKXtyZXR1cm4gZS5yZXBsYWNlKC9cYlx3L2csKGU9PmUudG9VcHBlckNhc2UoKSkpfWZ1bmN0aW9uIF8oZSl7Y29uc3QgdD1JbnRsLlNlZ21lbnRlcjtpZih0KXtjb25zdCBzPW5ldyB0KHZvaWQgMCx7Z3JhbnVsYXJpdHk6ImdyYXBoZW1lIn0pLFt7c2VnbWVudDppfT17c2VnbWVudDpudWxsfV09cy5zZWdtZW50KGUpO3JldHVybiBpPy50b1VwcGVyQ2FzZSgpPz9udWxsfXtjb25zdCB0PWUuY29kZVBvaW50QXQoMCk7cmV0dXJuIHQ/U3RyaW5nLmZyb21Db2RlUG9pbnQodCkudG9VcHBlckNhc2UoKTpudWxsfX19LDExMTk1MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtERUZBVUxUX0FESlVTVE1FTlQ6KCk9PnIsREVGQVVMVF9TRVNTSU9OOigpPT5uLERFRkFVTFRfU0VUVExFTUVOVF9BU19DTE9TRTooKT0+byxjb21wYXJlU3ltYm9sczooKT0+YixkZWNvZGVFeHRlbmRlZFN5bWJvbDooKT0+ZyxlbmNvZGVFeHRlbmRlZFN5bWJvbDooKT0+YSxlbmNvZGVFeHRlbmRlZFN5bWJvbFN0cnVjdHVyYWw6KCk9PnAsZXh0cmFjdEV4dGVuZGVkU3ltYm9sOigpPT5mLGdldEV4dGVuZGVkU3ltYm9sOigpPT5fLGlzRW5jb2RlZEV4dGVuZGVkU3ltYm9sOigpPT5tLGlzUmVwbGF5U3ltYm9sOigpPT5oLGlzU3R1ZHlTeW1ib2w6KCk9PmMscmVwbGFjZUV4dGVuZGVkU3ltYm9sOigpPT5TLHN5bWJvbFdpdGhvdXRQcmVmaXg6KCk9PncsdW53cmFwU2ltcGxlU3ltYm9sOigpPT55fSk7dmFyIGk9cyg2MDE4NDEpO2NvbnN0IG49InJlZ3VsYXIiLHI9InNwbGl0cyIsbz0hMDtmdW5jdGlvbiBhKGUpe3JldHVybiI9IitKU09OLnN0cmluZ2lmeShsKGUpKX1mdW5jdGlvbiBsKGUpe3JldHVybiBPYmplY3Qua2V5cyhlKS5zb3J0KCkucmVkdWNlKCgodCxzKT0+KCJbb2JqZWN0IE9iamVjdF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGVbc10pP3Rbc109bChlW3NdKTp0W3NdPWVbc10sdCkpLHt9KX1mdW5jdGlvbiB1KGUpe3JldHVybigwLGkuaXNTdHJpbmcpKGUpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIXUoZSkmJiJpbnB1dHMiaW4gZX1mdW5jdGlvbiBkKGUpe3JldHVybiF1KGUpJiYicmVwbGF5ImluIGV9ZnVuY3Rpb24gaChlKXtyZXR1cm4gZChlKXx8ZnVuY3Rpb24oZSl7cmV0dXJuIXUoZSkmJmQoZS5zeW1ib2wpfShlKX1mdW5jdGlvbiBwKGUpe3JldHVybiBjKGUpfHxoKGUpfHxlLnNlc3Npb258fGUuYWRqdXN0bWVudHx8ZVsiY3VycmVuY3ktaWQiXXx8ZVsidW5pdC1pZCJdfHxlLm1ldHJpYz9hKGUpOmUuc3ltYm9sfWZ1bmN0aW9uIG0oZSl7cmV0dXJuIj0iPT09ZVswXX1mdW5jdGlvbiBfKGUpe3JldHVybiB1KGUpP2coZSk6ZX1mdW5jdGlvbiBnKGUpe2lmKCFtKGUpKXJldHVybntzeW1ib2w6ZX07dHJ5e3JldHVybiBKU09OLnBhcnNlKGUuc2xpY2UoMSkpfWNhdGNoKHQpe3JldHVybntzeW1ib2w6ZX19fWZ1bmN0aW9uIHkoZSl7cmV0dXJuIHUoZSk/ZTp5KGUuc3ltYm9sKX1mdW5jdGlvbiBmKGUpe2lmKHUoZSkpcmV0dXJue3N5bWJvbDplfTtsZXQgdD1lO2Zvcig7IXUodC5zeW1ib2wpOyl0PXQuc3ltYm9sO3JldHVybiB0fWNvbnN0IHY9WyJzeW1ib2wiLCJzZXNzaW9uIiwidW5pdC1pZCIsImN1cnJlbmN5LWlkIiwibWV0cmljIiwiYWRqdXN0bWVudCIsImJhY2thZGp1c3RtZW50Iiwic2V0dGxlbWVudC1hcy1jbG9zZSJdO2Z1bmN0aW9uIGIoZSx0KXtyZXR1cm4gdi5ldmVyeSgocz0+ZVtzXT09PXRbc10pKX0KZnVuY3Rpb24gUyhlLHQpe2xldCBzPWU7Zm9yKDshdShzLnN5bWJvbCk7KXM9cy5zeW1ib2w7cy5zeW1ib2w9dH1mdW5jdGlvbiB3KGUpe3JldHVybiBlLnNwbGl0KCI6Iikuc2xpY2UoLTEpLnBvcCgpPz9lfX0sMzY3OTQ2KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtpZih2b2lkIDA9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9ZS5tYXRjaCgvKGRlbGF5ZWRfc3RyZWFtaW5nKV8oXGQrKS8pO3JldHVybiBudWxsPT09dD9udWxsOnttb2RlOnRbMV0saW50ZXJ2YWw6cGFyc2VJbnQodFsyXSl9fWZ1bmN0aW9uIG4oZSl7Y29uc3QgdD1pKGUudXBkYXRlX21vZGUpO3JldHVybiBudWxsPT09dHx8KGUudXBkYXRlX21vZGU9dC5tb2RlLGUudXBkYXRlX21vZGVfc2Vjb25kcz10LmludGVydmFsKSxlfXMuZCh0LHtub3JtYWxpemVVcGRhdGVNb2RlOigpPT5uLHBhcnNlVXBkYXRlTW9kZTooKT0+aX0pfSwzNTYzODAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0VG9vbHRpcERhdGE6KCk9Pm4sc2V0VG9vbHRpcERhdGE6KCk9PnJ9KTtjb25zdCBpPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIG4oZSx0KXtjb25zdCBzPWkuZ2V0KGUpO3JldHVybiBzIGluc3RhbmNlb2YgRnVuY3Rpb24/cyh0KTpzJiZzW3RdfWZ1bmN0aW9uIHIoZSx0LHMpe2lmKHMgaW5zdGFuY2VvZiBGdW5jdGlvbilyZXR1cm4gdm9pZCBpLnNldChlLHMpO2NvbnN0IG49aS5nZXQoZSkscj12b2lkIDA9PT1ufHxuIGluc3RhbmNlb2YgRnVuY3Rpb24/e306bjtyW3RdPXMsaS5zZXQoZSxyKX19LDQ5MDM3OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXREYXRhRnJvbVRhcmdldDooKT0+XyxnZXRUb29sdGlwOigpPT5nLGhpZGVUb29sdGlwOigpPT52LHNldFN0eWxlOigpPT55LHNob3dUb29sdGlwOigpPT5mLHVwZGF0ZVRvb2x0aXBUZXh0RnJvbVRhcmdldDooKT0+bX0pO3ZhciBpLG49cygxMzg2MzgpLHI9cyg0NDM1NTcpLG89cyg5NjkxNjgpLGE9KHMoODI5MTgwKSxzKDUxODc1KSksbD1zKDY0MDc0NCksdT1zKDMxODk3NCksYz1zKDY4NjY1MCksZD1zKDM1NjM4MCksaD1zKDM0NTE1MSkscD1zKDExNDA2OCk7ZnVuY3Rpb24gbShlKXtjb25zdCB0PWUuaGFzQXR0cmlidXRlKCJkYXRhLXRvb2x0aXAiKT9lLmdldEF0dHJpYnV0ZSgiZGF0YS10b29sdGlwIik6ZS5nZXRBdHRyaWJ1dGUoInRpdGxlIik7cmV0dXJuIHQmJigoMCxkLnNldFRvb2x0aXBEYXRhKShlLCJ0ZXh0Iix0KSxlLnJlbW92ZUF0dHJpYnV0ZSgidGl0bGUiKSksKDAsZC5nZXRUb29sdGlwRGF0YSkoZSwidGV4dCIpfHwiIn1mdW5jdGlvbiBfKGUpe2NvbnN0IHQ9bShlKSxzPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT17aDpzLmhlaWdodCx3OnMud2lkdGgseDpzLmxlZnQseTpzLnRvcH0sbj1lLmdldEF0dHJpYnV0ZSgiZGF0YS1jb2xvci10aGVtZSIpfHwiIixyPWUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC1odG1sIiksbz1wYXJzZUludChlLmdldEF0dHJpYnV0ZSgiZGF0YS10b29sdGlwLWRlbGF5Iil8fCIiKSxhPXBhcnNlSW50KGUuZ2V0QXR0cmlidXRlKCJkYXRhLXRvb2x0aXAtZGVib3VuY2UiKXx8IiIpO2xldCBsPXt0eXBlOiJub25lIn07cmV0dXJuIHQmJihsPXt0eXBlOnI/Imh0bWwiOiJ0ZXh0IixkYXRhOnR9KSx7YWJvdmU6ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLWFib3ZlIiksYmVsb3c6ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLWJlbG93Iiksb3RsOmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC1vdGwiKSxvdHI6ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLW90ciIpLHZlcnRpY2FsOmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC12ZXJ0aWNhbCIpLGhvdGtleTplLmdldEF0dHJpYnV0ZSgiZGF0YS10b29sdGlwLWhvdGtleSIpLG5hcnJvdzplLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtbmFycm93Iiksd2lkZTplLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtd2lkZSIpLGNvbG9yVGhlbWU6bix0b29sdGlwRGVsYXk6byx0b29sdGlwRGVib3VuY2U6YSxyZWN0OmksY29udGVudDpsLHRhcmdldDplfX1mdW5jdGlvbiBnKGUpe2NvbnN0IHQ9KDAsbi5lbnN1cmVOb3ROdWxsKShUKS5jbG9uZU5vZGUoITApLHM9SSh0KSx7Y29udGVudDppfT1lO3N3aXRjaChpLnR5cGUpe2Nhc2UiZWxlbWVudCI6cy5pbm5lckhUTUw9IiIscy5hcHBlbmRDaGlsZChpLmRhdGEpO2JyZWFrO2Nhc2UiaHRtbCI6cy5pbm5lckhUTUw9aS5kYXRhO2JyZWFrO2Nhc2UidGV4dCI6aWYoZS5ob3RrZXkpe2NvbnN0IGU9KDAsbi5lbnN1cmVOb3ROdWxsKShFKS5jbG9uZU5vZGUoITApO2UuaW5uZXJUZXh0PWkuZGF0YSxzLmFwcGVuZENoaWxkKGUpfWVsc2Ugcy5pbm5lclRleHQ9aS5kYXRhfWlmKGUuaG90a2V5KXtjb25zdCB0PSJub25lIiE9PWkudHlwZSxyPSgwLG4uZW5zdXJlTm90TnVsbCkoQykuY2xvbmVOb2RlKCEwKSxvPSgwLGguaG90S2V5RGVzZXJpYWxpemUpKGUuaG90a2V5KSxhPW8ua2V5cy5tYXAoKGU9PmA8c3BhbiBjbGFzcz0iJHtwWyJjb21tb24tdG9vbHRpcF9faG90a2V5LWJ1dHRvbiJdfSI+JHtlfTwvc3Bhbj5gKSk7ci5pbm5lckhUTUw9ZnVuY3Rpb24oZSx0KXtjb25zdCBzPS97XGR9fHtob3RrZXlfXGR9L2dpO3JldHVybiBlLnJlcGxhY2UocywoZT0+e2NvbnN0IHM9TnVtYmVyKGUubWF0Y2goL1xkLykpO3JldHVybiB0W3NdfSkpfShvLnRleHQsYSkucmVwbGFjZSgvXHNcK1xzL2csYDxzcGFuIGNsYXNzPSIke3BbImNvbW1vbi10b29sdGlwX19wbHVzLXNpZ24iXX0iPis8L3NwYW4+YCkscy5jbGFzc0xpc3QuYWRkKHBbImNvbW1vbi10b29sdGlwX19ib2R5LS13aXRoLWhvdGtleSJdKSx0JiZyLmNsYXNzTGlzdC5hZGQocFsiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1ibG9jay0tZGl2aWRlciJdKSxzLmFwcGVuZENoaWxkKHIpfXJldHVybiB0LmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IixhLnByZXZlbnREZWZhdWx0KSx0fWZ1bmN0aW9uIHkoZSx0KXsKY29uc3Qgcz10LnJlY3Q7aWYoIXMpcmV0dXJuOygwLGMuc2V0VG9vbHRpcENvbG9yVGhlbWUpKGUsdC5jb2xvclRoZW1lfHwiZGVmYXVsdCIpO2NvbnN0IGk9SShlKSxuPWUucXVlcnlTZWxlY3RvcihgLiR7cFsiY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1jb250YWluZXIiXX1gKTt0LmFkZENsYXNzJiZlLmNsYXNzTGlzdC5hZGQodC5hZGRDbGFzcyksdC5hZGRCb2R5Q2xhc3MmJmkuY2xhc3NMaXN0LmFkZCh0LmFkZEJvZHlDbGFzcyksaS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF93aWRlIl0sQm9vbGVhbih0LndpZGUpKSxpLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXBfX2JvZHktLW5vLXBhZGRpbmciXSxCb29sZWFuKHQubm9QYWRkaW5nKSksaS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF9uYXJyb3ciXSxCb29sZWFuKHQubmFycm93KSksaS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1idXR0b25zIl0sITApLGkuc3R5bGUubGVmdD1iKDApLGkuc3R5bGUud2lkdGg9YihpLmNsaWVudFdpZHRoKyhCb29sZWFuKHQubm9QYWRkaW5nKT8wOjIpKTtjb25zdCByPWRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgsYT11LkNoZWNrTW9iaWxlLmlPUygpfHx1LkNoZWNrTW9iaWxlLkFuZHJvaWQoKXx8KDAsdS5zdXBwb3J0VG91Y2gpKCkmJigwLHUuaXNNYWMpKCk/d2luZG93LmlubmVySGVpZ2h0OmRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0LGQ9dC52ZXJ0aWNhbCxoPXQuZXh0ZW5kTWFyZ2lufHxkJiZzLnc8MjB8fCFkJiZzLmg8MjA7ZS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwLS1mYXJ0aGVyIl0saCksZS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwLS12ZXJ0aWNhbCJdLGQpLGUuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0taG9yaXpvbnRhbCJdLCFkKTtjb25zdCBtPWZ1bmN0aW9uKGUpe3JldHVybiBlLnF1ZXJ5U2VsZWN0b3IoYC4ke3BbImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyIl19YCl9KGUpLF89ZS5vZmZzZXRIZWlnaHQ7aWYoZCl7Y29uc3QgdT0xMCxjPWEtMTAsZD0xMixoPXUrZCxnPWMtZCx5PSgwLGwuY2xhbXApKHMueStzLmgvMixoLGcpLV8vMixmPXkrXztlLnN0eWxlLmxlZnQ9YihzLngrcy53KSxlLnN0eWxlLnRvcD1iKHkpLHk8dT9pLnN0eWxlLnRvcD1uLnN0eWxlLnRvcD1iKHUteSk6Zj5jJiYoaS5zdHlsZS50b3A9bi5zdHlsZS50b3A9YihjLWYpKTtjb25zdHtyaWdodDp2fT0oZS5xdWVyeVNlbGVjdG9yKCI6bGFzdC1jaGlsZCIpfHxpKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxTPXYrMTA+cjtlLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZCJdLFMpLGUuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbCJdLCFTKTtsZXQgdz1TPyJhZnRlciI6ImJlZm9yZSI7KDAsby5pc1J0bCkoKT8odz10Lm90cj8iYWZ0ZXIiOncsdz10Lm90bD8iYmVmb3JlIjp3KToodz10Lm90cj8iYmVmb3JlIjp3LHc9dC5vdGw/ImFmdGVyIjp3KSxtLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZSJdLCJiZWZvcmUiPT09dyksbS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlciJdLCJhZnRlciI9PT13KSwiYWZ0ZXIiPT09dyYmKGUuc3R5bGUubGVmdD0iYXV0byIsZS5zdHlsZS5yaWdodD1iKHItcy54KSl9ZWxzZXtjb25zdCBvPXMueC0oaS5vZmZzZXRXaWR0aC1zLncpLzIsbD1yLWUub2Zmc2V0V2lkdGgtMjA8PTA/KHItZS5vZmZzZXRXaWR0aCkvMjoxMCx1PXItbC1lLm9mZnNldFdpZHRoLGM9TWF0aC5tYXgobCxNYXRoLm1pbihvLHUpKTtlLnN0eWxlLmxlZnQ9YihjKTtjb25zdCBkPXU8bztlLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZCJdLGQpLGUuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbCJdLCFkKTtjb25zdCBoPWZ1bmN0aW9uKGUsdCxzLGkpe2lmKGUuYWJvdmUpcmV0dXJuIEwodCxpKT8iYWJvdmUiOiJiZWxvdyI7aWYoZS5iZWxvdylyZXR1cm4gZnVuY3Rpb24oZSx0LHMpe3JldHVybiBzLnkrcy5oK3QrMTA8ZX0odCxzLGkpPyJiZWxvdyI6ImFib3ZlIjtyZXR1cm4gTChzLGkpPyJhYm92ZSI6ImJlbG93In0odCxhLF8scyk7ImFib3ZlIj09PWg/ZS5zdHlsZS5ib3R0b209YihhLXMueSk6ZS5zdHlsZS50b3A9YihzLnkrcy5oKSxtLmNsYXNzTGlzdC5hZGQoImFib3ZlIj09PWg/cFsiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFib3ZlIl06cFsiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93Il0pO2NvbnN0e2xlZnQ6Z309aS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtsZXQgeT1NYXRoLnRydW5jKHMueCtzLncvMi0oZytpLmNsaWVudFdpZHRoLzIpKTtlLnN0eWxlLmxlZnQ9YihjK3kpLGUuc3R5bGUud2lkdGg9YihpLmNsaWVudFdpZHRoK24uY2xpZW50V2lkdGgpLHk9ZD9NYXRoLm1heCgwLHkpOk1hdGgubWluKDAseSksbi5zdHlsZS5sZWZ0PWIoLXkpLGkuc3R5bGUubGVmdD1iKC15KX19ZnVuY3Rpb24gZihlKXtlLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXAtLWhpZGRlbiJdLCExKX1mdW5jdGlvbiB2KGUpe2UuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0taGlkZGVuIl0sITApfWZ1bmN0aW9uIGIoZSl7cmV0dXJuYCR7TWF0aC5mbG9vcihlKX1weGB9IWZ1bmN0aW9uKGUpe2VbZS5WaWV3cG9ydFBhZGRpbmc9MTBdPSJWaWV3cG9ydFBhZGRpbmcifShpfHwoaT17fSkpCjtjb25zdCBTPWBcblx0PGRpdiBpZD0iY29tbW9uLXRvb2x0aXAtd3JhcHBlciIgY2xhc3M9IiR7cFsiY29tbW9uLXRvb2x0aXAiXX0iPlxuXHRcdDxkaXYgY2xhc3M9IiR7cFsiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXIiXX0iID5cblx0XHRcdDxkaXYgY2xhc3M9IiR7cFsiY29tbW9uLXRvb2x0aXBfX2JvZHkiXX0ganMtdG9vbHRpcC1ib2R5Ij48L2Rpdj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPSIke3BbImNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyIl19Ij48L2Rpdj5cblx0PC9kaXY+XG5gLHc9YFxuXHQ8ZGl2IGNsYXNzPSIke3BbImNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2siXX0iPjwvZGl2PlxuYCxQPWBcblx0PGRpdiBjbGFzcz0iJHtwWyJjb21tb24tdG9vbHRpcF9faG90a2V5LXRleHQiXX0iPjwvZGl2PlxuYCxUPSgwLHIucGFyc2VIdG1sRWxlbWVudCkoUyksQz0oMCxyLnBhcnNlSHRtbEVsZW1lbnQpKHcpLEU9KDAsci5wYXJzZUh0bWxFbGVtZW50KShQKTtmdW5jdGlvbiBJKGUpe3JldHVybiBlLnF1ZXJ5U2VsZWN0b3IoYC4ke3BbImNvbW1vbi10b29sdGlwX19ib2R5Il19YCl9ZnVuY3Rpb24gTChlLHQpe3JldHVybiAxMCtlPHQueX19LDE2Nzg5NihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtlbXB0eTooKT0+byxzZXRUb29sdGlwOigpPT5hfSk7Y29uc3QgaT0idG9vbHRpcC1yb290LWVsZW1lbnQiO2xldCBuO2Z1bmN0aW9uIHIoKXtjb25zdCBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGkpO2U/bj1lOihuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG4uaWQ9aSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG4pKX1mdW5jdGlvbiBvKCl7biYmKG4uaW5uZXJIVE1MPSIiKX1mdW5jdGlvbiBhKGUpe28oKSxufHxyKCksbi5hcHBlbmRDaGlsZChlKX0iaW50ZXJhY3RpdmUiPT09ZG9jdW1lbnQucmVhZHlTdGF0ZT9yKCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIscil9LDY1ODk5NShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjbGVhclNjaGVkdWxlOigpPT5vLHNjaGVkdWxlSGlkZTooKT0+bCxzY2hlZHVsZVJlbW92ZTooKT0+YSxzY2hlZHVsZVJlbmRlcjooKT0+dX0pO2xldCBpPTAsbj0wLHI9MDtmdW5jdGlvbiBvKCl7Y2xlYXJUaW1lb3V0KGkpLGNsZWFyVGltZW91dChuKSxjbGVhclRpbWVvdXQocil9ZnVuY3Rpb24gYShlLHQpe3I9c2V0VGltZW91dChlLHQpfWZ1bmN0aW9uIGwoZSx0KXtuPXNldFRpbWVvdXQoZSx0KX1mdW5jdGlvbiB1KGUsdCl7aT1zZXRUaW1lb3V0KGUsdCl9fSw2ODY2NTAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7c2V0VG9vbHRpcENvbG9yVGhlbWU6KCk9PnJ9KTtjb25zdCBpPXtkZWZhdWx0OiIiLHdoaXRlOiJ0aGVtZS13aGl0ZSIsY2hhcnQ6InRoZW1lLWNoYXJ0IixuZXdzOiJ0aGVtZS1uZXdzIiwicm91bmQtc2hhZG93IjoidGhlbWUtcm91bmQtc2hhZG93In0sbj1PYmplY3Qua2V5cyhpKTtmdW5jdGlvbiByKGUsdCl7Y29uc3Qgcz1uLmluY2x1ZGVzKHQpP2lbdF06IiI7ZS5jbGFzc0xpc3QucmVtb3ZlKC4uLm4ubWFwKChlPT5pW2VdKSkuZmlsdGVyKChlPT4hIWUpKSkscyYmIWUuY2xhc3NMaXN0LmNvbnRhaW5zKHMpJiZlLmNsYXNzTGlzdC5hZGQocyl9fSw3MzEwOTEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U1lNQk9MX1RZUEVfQkxBQ0tfTElTVDooKT0+aX0pO2NvbnN0IGk9bmV3IFNldChbInNwcmVhZCIsImVjb25vbWljIl0pfSw0NzkzNChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjYW5VcGdyYWRlUGxhbjooKT0+aCxlbmFibGVkOigpPT51LGdldENvbmZpZzooKT0+ZCxnZXRQcm9kdWN0RmVhdHVyZXNDb25maWc6KCk9PmMsZ2V0UHJvZHVjdElkOigpPT5sfSk7dmFyIGk9cygxMzg2MzgpLG49cyg1MDI1ODcpLHI9cygxMjc3MTEpLG89cygzMTg5NzQpLGE9cygyMTIyMjkpO2Z1bmN0aW9uIGwoZSl7bGV0IHQ9d2luZG93LnVzZXI7InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy51c2VyJiYodD13aW5kb3cudXNlciksZSYmKHQ9ZSk7bGV0IHM9dD8ucHJvX3BsYW58fCJmcmVlIjtyZXR1cm4iZnJlZSIhPT1zJiYhKDAsYS5pc1RyaWFsUHJvZHVjdCkocyl8fChzPSgwLGEuZ2V0UHJvZHVjdEZvclRyaWFsKShzKSksc31mdW5jdGlvbiB1KGUsdCxzKXtsZXQgaT13aW5kb3cudXNlcjtzJiYoaT1zKTtjb25zdCBuPWQoZSx0LGkpO2lmKCFuKXJldHVybiExO2lmKG4uZGlzYWJsZV9vbl90cmlhbCYmKCFpfHxpLmlzX3RyaWFsKSlyZXR1cm4hMTtjb25zdCByPW4uZGlzYWJsZV9vbl9saXRlX3BsYW47aWYociYmaS5pc19saXRlX3BsYW4pe2lmKCJhbGwiPT09cilyZXR1cm4hMTtpZigiZXhjbHVkZV9tb2JpbGUiPT09ciYmIW8uQ2hlY2tNb2JpbGUuYW55KCkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gYyhlKXtjb25zdCB0PW5bZV07cmV0dXJuIHQ/dC5leHRlbmRzP09iamVjdC5hc3NpZ24oe30sYyh0LmV4dGVuZHMpLHQpOnQ6bnVsbH1mdW5jdGlvbiBkKGUsdCxzKXtsZXQgaT1jKHR8fChsKHMpPz8iIikpO2lmKCFpKXJldHVybiBudWxsO2NvbnN0IG49d2luZG93LlRyYWRpbmdWaWV3Py53aWRnZXRDdXN0b21lcjtyZXR1cm4gbiYmcltuXSYmKGk9T2JqZWN0LmFzc2lnbih7fSxpLHJbbl0pKSxpJiZpW2VdfHxudWxsfWZ1bmN0aW9uIGgoKXtjb25zdCBlPWQoIkJBQ0tFTkRfQ09OTkVDVElPTlMiKT8ubGltaXQ/PzAsdD0oMCxpLmVuc3VyZURlZmluZWQpKHdpbmRvdy5wcm8pLHM9dC5nZXRQcm9kdWN0c0J5VHlwZSh0LlBST0RVQ1RfVFlQRVMucHJvX3BsYW4pO2Zvcihjb25zdCB0IG9mIHMpaWYoKGQoIkJBQ0tFTkRfQ09OTkVDVElPTlMiLCgwLGkuZW5zdXJlRGVmaW5lZCkodC5pZCkpPy5saW1pdD8/MCk+ZSlyZXR1cm4hMDtyZXR1cm4hMX19LDYzMTYzNChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRGcmVzaEluaXREYXRhOigpPT5vLGdldEluaXREYXRhOigpPT5yLHVwZGF0ZUluaXREYXRhOigpPT5ufSk7dmFyIGk9cyg3OTI2MTIpO2Z1bmN0aW9uIG4oKXsoMCxpLnVwZGF0ZUluaXREYXRhKSgpfQpmdW5jdGlvbiByKCl7cmV0dXJuKDAsaS5nZXRJbml0RGF0YSkoKX1mdW5jdGlvbiBvKCl7cmV0dXJuKDAsaS5nZXRGcmVzaEluaXREYXRhKSgpfX0sNjMyNDQ0KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtyZXR1cm4gZT09PW4oZSl9ZnVuY3Rpb24gbihlKXtjb25zdCB0PWUuaW5kZXhPZigiJCIpLHM9ZS5pbmRleE9mKCJAIik7cmV0dXJuIHQ8MCYmcz49MD9udWxsOmUuc3Vic3RyaW5nKE1hdGgubWF4KHQrMSwwKSxzPj0wP3M6ZS5sZW5ndGgpfWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGUuc3RhcnRzV2l0aCgiUFVCOyIpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGUuc3RhcnRzV2l0aCgiVVNFUjsiKX1mdW5jdGlvbiBhKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoIlNURDsiKX1mdW5jdGlvbiBsKGUpe3JldHVybiBlLmluY2x1ZGVzKCJDYW5kbGVzdGljayUxUGF0dGVybiUxIil9ZnVuY3Rpb24gdShlKXtyZXR1cm4gZS5zdGFydHNXaXRoKCJFREdSXyIpfXMuZCh0LHtleHRyYWN0UGluZUlkOigpPT5uLGlzQ2FuZGxlU3RpY2tJZDooKT0+bCxpc0N1c3RvbVBpbmVJZDooKT0+byxpc0VkZ3JQaW5lSWQ6KCk9PnUsaXNQaW5lSWRTdHJpbmc6KCk9PmksaXNQdWJsaXNoZWRQaW5lSWQ6KCk9PnIsaXNTdGFuZGFyZFBpbmVJZDooKT0+YX0pfSw5MzE1OTIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UGluZUtpbmQ6KCk9Pm4uUGluZUtpbmQsU2V2ZXJpdHk6KCk9PmkuU2V2ZXJpdHksaXNTY3JpcHRMaWJyYXJ5OigpPT5vLGlzU2NyaXB0U3RyYXRlZ3k6KCk9PnJ9KTt2YXIgaT1zKDYxMjMxKSxuPXMoMTY0MTU2KTtmdW5jdGlvbiByKGUpe3JldHVybiBlLmtpbmQ9PT1uLlBpbmVLaW5kLlN0cmF0ZWd5fWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGUua2luZD09PW4uUGluZUtpbmQuTGlicmFyeX19LDM2ODMxMihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtQaW5lS2luZDooKT0+ZC5QaW5lS2luZCxjb252ZXJ0U2NyaXB0OigpPT52LGRlbGV0ZVBpbmU6KCk9PkQsZ2V0TGFzdFZlcnNpb246KCk9PmssZ2V0UGluZUZhY2FkZVVybDooKT0+by5nZXRQaW5lRmFjYWRlVXJsLGdldFBpbmVTb3VyY2VDb2RlOigpPT5JLGdldFZlcnNpb25zOigpPT5SLGlzQXV0aFRvR2V0UGluZVNvdXJjZUNvZGU6KCk9PkUsaXNBdXRoVG9Xcml0ZVBpbmVTY3JpcHQ6KCk9PkMsaXNTY3JpcHRMaWJyYXJ5OigpPT5kLmlzU2NyaXB0TGlicmFyeSxpc1NjcmlwdFN0cmF0ZWd5OigpPT5kLmlzU2NyaXB0U3RyYXRlZ3kscGFyc2VTY3JpcHRUaXRsZUFzeW5jOigpPT5ULHJlbmFtZVBpbmU6KCk9PngscmVuYW1lVmVyc2lvbjooKT0+VixyZXF1ZXN0QnVpbHRpblNjcmlwdHM6KCk9Pk0scmVxdWVzdFVzZXJTY3JpcHRzOigpPT5MLHNhdmVOZXc6KCk9Pncsc2F2ZU5ld0RyYWZ0OigpPT5TLHNhdmVOZXh0OigpPT5QLHNhdmVOZXh0RHJhZnQ6KCk9PmIsdHJhbnNsYXRlU2NyaXB0QXN5bmM6KCk9PmYsdHJhbnNsYXRlU2NyaXB0QXN5bmMyOigpPT55fSk7dmFyIGk9cygyMjEwNjEpLG49cygzODY5MzEpLHI9cyg0MDY4OTIpLG89cygzNzEwNyksYT1zKDYzMjQ0NCksbD1zKDU3Nzk5NiksdT1zKDY3MTAxOSksYz1zKDY5NzcwNSksZD1zKDkzMTU5Mik7cyg1NjM2MjQpO2NvbnN0IGg9KDAsaS5nZXRMb2dnZXIpKCJDaGFydC5TdHVkeS5WZXJzaW9uaW5nIikscD1uZXcgci5SZXF1ZXN0Q2FjaGUsbT1uZXcgci5SZXF1ZXN0Q2FjaGUsXz1uZXcgci5TaW5nbGVSZXF1ZXN0Q2FjaGU7KDAsby5hcHBseUdsb2JhbFNjcmlwdExpc3RlbmVycykocCxtLF8pO2NvbnN0IGc9e307ZnVuY3Rpb24geShlLHQpe2NvbnN0IHM9YCR7ZX0tJHt0fWA7bGV0IGk9Z1tzXTtyZXR1cm4gaXx8KGk9YXN5bmMgZnVuY3Rpb24oZSx0KXsoMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLnRyYW5zbGF0ZVNjcmlwdCIpO3RyeXtjb25zdCBzPWF3YWl0KDAsdS5waW5lRmFjYWRlRmV0Y2gpKHt1cmxQYXRoOmB0cmFuc2xhdGUvJHtlfS8ke3R9YH0pLGk9KDAsby5oYW5kbGVUcmFuc2xhdGVSZXN1bHQpKHMpOygwLGMubG9nUGluZU1ldGFJbmZvSXNzdWVzKSgiUGluZS50cmFuc2xhdGVTY3JpcHRBc3luYzIiLGkubWV0YUluZm8pO3JldHVybit0PDAmJihwLmRlbGV0ZShlKSxtLmRlbGV0ZShlKSxfLmNsZWFyKCksKDAsby5vbkxlZ2FjeVNjcmlwdFByb2NlZWQpKGkubWV0YUluZm8pKSxpfWNhdGNoKGUpe3Rocm93IGV9fShlLHQpLmNhdGNoKChlPT57dGhyb3cgZGVsZXRlIGdbc10sZX0pKSxnW3NdPWkpLGl9YXN5bmMgZnVuY3Rpb24gZihlLHQscz17fSxpPSExKXtyZXR1cm4oMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLnRyYW5zbGF0ZVNjcmlwdCIpLCgwLHUucGluZUZhY2FkZUZldGNoKSh7bWV0aG9kOiJQT1NUIix1cmxQYXRoOmB0cmFuc2xhdGVfc291cmNlLyR7dH1gLHVybFBhcmFtczp7aXNfcGluZV9leDppfSxkYXRhOntzb3VyY2U6ZSxpbnB1dHM6SlNPTi5zdHJpbmdpZnkocyl9fSkudGhlbigoZT0+e2NvbnN0IHQ9KDAsby5oYW5kbGVUcmFuc2xhdGVSZXN1bHQpKGUpO3JldHVybigwLGMubG9nUGluZU1ldGFJbmZvSXNzdWVzKSgiUGluZS50cmFuc2xhdGVTY3JpcHRBc3luYyIsdC5tZXRhSW5mbyksdH0pKX1mdW5jdGlvbiB2KGUsdCl7cmV0dXJuKDAsdS5waW5lRmFjYWRlRmV0Y2gpKHttZXRob2Q6IlBPU1QiLHVybFBhdGg6ImNvbnZlcnQiLGRhdGE6e3NvdXJjZTplLHZlcnNpb25fdG86U3RyaW5nKHQpfX0pLnRoZW4oKGU9PntpZihlLnJlYXNvbjI/LmVycm9ycz8ubGVuZ3RoKXRocm93IGUucmVhc29uMjtpZihlLnJlYXNvbil0aHJvdyBlLnJlYXNvbjtyZXR1cm4oMCxvLmhhbmRsZVJlc3VsdCkoZSl9KSl9ZnVuY3Rpb24gYihlLHQscyxpPSExKXtpZigoMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLnNhdmVOZXh0RHJhZnQiKSwhdClyZXR1cm4gUHJvbWlzZS5yZWplY3QobC5FTVBUWV9TT1VSQ0VfQ09ERSk7KDAsby5vbk1vZGlmeVNjcmlwdEFjdGl2ZUNoYW5nZWQpKGUscywhMCk7Y29uc3Qgcj0oMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiUE9TVCIsdXJsUGF0aDpgc2F2ZS9uZXh0X2RyYWZ0LyR7ZX1gLAp1cmxQYXJhbXM6e2FsbG93X2NyZWF0ZV9uZXc6aX0sZGF0YTp7c291cmNlOnR9fSkudGhlbigoZT0+e2NvbnN0IHQ9KDAsby5oYW5kbGVTYXZlUmVzdWx0KShlKTtyZXR1cm4oMCxjLmxvZ1BpbmVNZXRhSW5mb0lzc3VlcykoIlBpbmUuc2F2ZU5leHREcmFmdCIsdC5tZXRhSW5mbyksdH0pKTtyZXR1cm4gci5maW5hbGx5KCgoKT0+KDAsby5vbk1vZGlmeVNjcmlwdEFjdGl2ZUNoYW5nZWQpKGUscywhMSkpKSxyfWZ1bmN0aW9uIFMoZSl7cmV0dXJuKDAsbi50cmFja0V2ZW50KSgiUGluZSIsIlNjcmlwdExpYi5zYXZlTmV3RHJhZnQiKSxlPygwLHUucGluZUZhY2FkZUZldGNoKSh7bWV0aG9kOiJQT1NUIix1cmxQYXRoOiJzYXZlL25ld19kcmFmdCIsdXJsUGFyYW1zOnthbGxvd191c2VfZXhpc3RpbmdfZHJhZnQ6ITB9LGRhdGE6e3NvdXJjZTplfX0pLnRoZW4oKGU9Pntjb25zdCB0PSgwLG8uaGFuZGxlU2F2ZVJlc3VsdCkoZSk7cmV0dXJuKDAsYy5sb2dQaW5lTWV0YUluZm9Jc3N1ZXMpKCJQaW5lLnNhdmVOZXdEcmFmdCIsdC5tZXRhSW5mbyksdH0pKTpQcm9taXNlLnJlamVjdChsLkVNUFRZX1NPVVJDRV9DT0RFKX1mdW5jdGlvbiB3KHtzY3JpcHRTb3VyY2U6ZSxzY3JpcHROYW1lOnQsYWxsb3dPdmVyd3JpdGU6cyxjdXJyZW50VmVyc2lvbjppfSl7aWYoKDAsbi50cmFja0V2ZW50KSgiUGluZSIsIlNjcmlwdExpYi5zYXZlTmV3IiksIWUpcmV0dXJuIFByb21pc2UucmVqZWN0KGwuRU1QVFlfU09VUkNFX0NPREUpO2NvbnN0IHI9e25hbWU6dH07cmV0dXJuIHMmJihyLmFsbG93X292ZXJ3cml0ZT0hMCksKDAsdS5waW5lRmFjYWRlRmV0Y2gpKHttZXRob2Q6IlBPU1QiLHVybFBhdGg6InNhdmUvbmV3Iix1cmxQYXJhbXM6cixkYXRhOntzb3VyY2U6ZX19KS50aGVuKChlPT57Xy5jbGVhcigpO2NvbnN0IHQ9KDAsby5oYW5kbGVTYXZlUmVzdWx0KShlKTtyZXR1cm4oMCxjLmxvZ1BpbmVNZXRhSW5mb0lzc3VlcykoIlBpbmUuc2F2ZU5ldyIsdC5tZXRhSW5mbyksKDAsby5vbk1vZGlmeVNjcmlwdCkodC5tZXRhSW5mbyxpLCF0LnN1Y2Nlc3MsdC5jb21waWxlRXJyb3JzLmVycm9ycyksdH0pKX1mdW5jdGlvbiBQKHtzY3JpcHRJZFBhcnQ6ZSxzY3JpcHRTb3VyY2U6dCxjdXJyU2NyaXB0VmVyc2lvbjpzLGlzTGVnYWN5U2NyaXB0Omksc2NyaXB0TmFtZTpyfSl7aWYoKDAsbi50cmFja0V2ZW50KSgiUGluZSIsIlNjcmlwdExpYi5zYXZlTmV4dCIpLCF0KXJldHVybiBQcm9taXNlLnJlamVjdChsLkVNUFRZX1NPVVJDRV9DT0RFKTtjb25zdCBhPXthbGxvd19jcmVhdGVfbmV3Oml9LGQ9e3NvdXJjZTp0fTtyZXR1cm4gdm9pZCAwIT09ciYmKGEubmFtZT1yKSwoMCxvLm9uTW9kaWZ5U2NyaXB0QWN0aXZlQ2hhbmdlZCkoZSxzLCEwKSwoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiUE9TVCIsdXJsUGF0aDpgc2F2ZS9uZXh0LyR7ZX1gLHVybFBhcmFtczphLGRhdGE6ZH0pLnRoZW4oKGU9PntfLmNsZWFyKCk7Y29uc3QgdD0oMCxvLmhhbmRsZVNhdmVSZXN1bHQpKGUpO3JldHVybigwLGMubG9nUGluZU1ldGFJbmZvSXNzdWVzKSgiUGluZS5zYXZlTmV4dCIsdC5tZXRhSW5mbyksKDAsby5vbk1vZGlmeVNjcmlwdCkodC5tZXRhSW5mbyxzLCF0LnN1Y2Nlc3MsdC5jb21waWxlRXJyb3JzLmVycm9ycyksdH0pKS5maW5hbGx5KCgoKT0+KDAsby5vbk1vZGlmeVNjcmlwdEFjdGl2ZUNoYW5nZWQpKGUscywhMSkpKX1mdW5jdGlvbiBUKGUpe3JldHVybigwLG4udHJhY2tFdmVudCkoIlBpbmUiLCJTY3JpcHRMaWIucGFyc2VTY3JpcHRUaXRsZSIpLGU/KDAsdS5waW5lRmFjYWRlRmV0Y2gpKHttZXRob2Q6IlBPU1QiLHVybFBhdGg6InBhcnNlX3RpdGxlIixkYXRhOntzb3VyY2U6ZX19KS50aGVuKChlPT4oMCxvLmhhbmRsZVJlc3VsdCkoZSkpKTpQcm9taXNlLnJlamVjdChsLkVNUFRZX1NPVVJDRV9DT0RFKX1mdW5jdGlvbiBDKGUpe2lmKCgwLGEuaXNDdXN0b21QaW5lSWQpKGUpKXJldHVybiBQcm9taXNlLnJlc29sdmUoITApO2NvbnN0IHQ9bS5nZXQoZSk7aWYodClyZXR1cm4gdDsoMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLmlzQXV0aFRvV3JpdGVQaW5lU2NyaXB0Iik7Y29uc3Qgcz0oMCx1LnBpbmVGYWNhZGVGZXRjaCkoe3VybFBhdGg6YGlzX2F1dGhfdG9fd3JpdGUvJHtlfWB9KTtyZXR1cm4gbS5zZXQoZSxzKSxzfWZ1bmN0aW9uIEUoZSx0KXtjb25zdCBzPXAuZ2V0KGUpO2lmKHMpcmV0dXJuIHM7KDAsbi50cmFja0V2ZW50KSgiUGluZSIsIlNjcmlwdExpYi5pc0F1dGhUb0dldFBpbmVTb3VyY2VDb2RlIik7Y29uc3QgaT0oMCx1LnBpbmVGYWNhZGVGZXRjaCkoe3VybFBhdGg6YGlzX2F1dGhfdG9fZ2V0LyR7ZX0vJHt0fWB9KTtyZXR1cm4gcC5zZXQoZSxpKSxpfWZ1bmN0aW9uIEkoZSx0LHMpe3JldHVybigwLG4udHJhY2tFdmVudCkoIlBpbmUiLCJTY3JpcHRMaWIuZ2V0UGluZVNvdXJjZUNvZGUiKSwoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe3VybFBhdGg6YGdldC8ke2V9LyR7dH1gLHVybFBhcmFtczp7bm9fNHh4OnN9fSl9ZnVuY3Rpb24gTCgpe2lmKCgwLG4udHJhY2tFdmVudCkoIlBpbmUiLCJTY3JpcHRMaWIucmVxdWVzdFVzZXJTY3JpcHRzIiksIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKXJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO2NvbnN0IGU9Xy5nZXQoKTtpZihlKXJldHVybiBlO2NvbnN0IHQ9KDAsdS5waW5lRmFjYWRlRmV0Y2gpKHt1cmxQYXRoOiJsaXN0Iix1cmxQYXJhbXM6e2ZpbHRlcjoic2F2ZWQifX0pO3JldHVybiBfLnJlc2V0KHQpLHR9YXN5bmMgZnVuY3Rpb24gTSgpeygwLG4udHJhY2tFdmVudCkoIlBpbmUiLCJTY3JpcHRMaWIucmVxdWVzdEJ1aWx0aW5TY3JpcHRzIik7dHJ5e2gubG9nTm9ybWFsKCJSZXF1ZXN0IGJ1aWx0LWluIHNjcmlwdHMiKTtjb25zdCBlPWF3YWl0KDAsdS5waW5lRmFjYWRlRmV0Y2gpKHt1cmxQYXRoOiJsaXN0Iix1cmxQYXJhbXM6e2ZpbHRlcjoic3RhbmRhcmQifX0pO3JldHVybiBoLmxvZ05vcm1hbCgiUmVxdWVzdCBidWlsdC1pbiBzY3JpcHRzIGZpbmlzaGVkIiksZX1jYXRjaChlKXsKdGhyb3cgaC5sb2dXYXJuKCJSZXF1ZXN0IGJ1aWx0LWluIHNjcmlwdHMgZmluaXNoZWQgd2l0aCBmYWlsIiksZX19ZnVuY3Rpb24gRChlKXtyZXR1cm4oMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLmRlbGV0ZVBpbmUiKSwoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiUE9TVCIsdXJsUGF0aDpgZGVsZXRlLyR7ZX1gfSkudGhlbigodD0+KHAuZGVsZXRlKGUpLG0uZGVsZXRlKGUpLF8uY2xlYXIoKSwoMCxvLm9uRGVsZXRlU2NyaXB0KShlKSx0KSkpfWZ1bmN0aW9uIHgoZSx0LHM9ITEpe3JldHVybigwLG4udHJhY2tFdmVudCkoIlBpbmUiLCJTY3JpcHRMaWIucmVuYW1lUGluZSIpLCgwLHUucGluZUZhY2FkZUZldGNoKSh7bWV0aG9kOiJQT1NUIix1cmxQYXRoOmByZW5hbWUvJHt0fWAsdXJsUGFyYW1zOntuYW1lOmUsZm9yY2U6c319KS50aGVuKChzPT4oXy5jbGVhcigpLCgwLG8ub25SZW5hbWVTY3JpcHQpKHQsZSkscykpKX1hc3luYyBmdW5jdGlvbiBSKGUsdCl7KDAsbi50cmFja0V2ZW50KSgiUGluZSIsIlNjcmlwdExpYi5nZXRWZXJzaW9ucyIpO3RyeXtoLmxvZ05vcm1hbCgiUmVxdWVzdCBzY3JpcHQgdmVyc2lvbnMiKTtyZXR1cm4gYXdhaXQoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiR0VUIix1cmxQYXRoOmB2ZXJzaW9ucy8ke2V9YCx1cmxQYXJhbXM6e2xpbWl0OnQ/U3RyaW5nKHQpOnZvaWQgMH19KX1jYXRjaChlKXtyZXR1cm4gaC5sb2dXYXJuKCJSZXF1ZXN0IHNjcmlwdCB2ZXJzaW9ucyBmaW5pc2hlZCB3aXRoIGZhaWwiKSxbXX19YXN5bmMgZnVuY3Rpb24gayhlKXsoMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLmdldExhc3RWZXJzaW9ucyIpO3RyeXtoLmxvZ05vcm1hbCgiUmVxdWVzdCB0aGUgbGFzdCBzY3JpcHQgdmVyc2lvbnMiKTtyZXR1cm4oYXdhaXQoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiR0VUIix1cmxQYXRoOmB2ZXJzaW9ucy8ke2V9L2xhc3RgfSkpWzBdPz9udWxsfWNhdGNoKGUpe3JldHVybiBoLmxvZ1dhcm4oIlJlcXVlc3Qgc2NyaXB0IHZlcnNpb25zIGZpbmlzaGVkIHdpdGggZmFpbCIpLG51bGx9fWFzeW5jIGZ1bmN0aW9uIFYoZSx0LHMpe3RyeXtoLmxvZ05vcm1hbChgUmVuYW1lIHNjcmlwdCB2ZXJzaW9uICR7dH1gKTtyZXR1cm4gYXdhaXQoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiUFVUIix1cmxQYXRoOmBuYW1lLyR7ZX0vJHt0fWAsdXJsUGFyYW1zOntuYW1lOnM/PyIifX0pfWNhdGNoKGUpe3JldHVybiBoLmxvZ1dhcm4oIlJlbmFtZSBzY3JpcHQgdmVyc2lvbiBmaW5pc2hlZCB3aXRoIGZhaWwiKSxudWxsfX19LDkwNjU5MyhlLHQscyl7InVzZSBzdHJpY3QiO2NvbnN0e2lzRmVhdHVyZXNldEVuYWJsZWQ6aX09cyg5MzAyMzEpO3dpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9O3ZhciBuLHIsbyxhLGwsdSxjLGQ9KHI9T2JqZWN0LmNyZWF0ZShudWxsKSxvPU9iamVjdC5jcmVhdGUobnVsbCksYT1PYmplY3QuY3JlYXRlKG51bGwpLGw9MCx1PTAsYz0iVHJhZGluZ1ZpZXciLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGZ1bmN0aW9uKGUpe3ZhciB0O3RyeXt0PUpTT04ucGFyc2UoZS5kYXRhKSxpKCJjaGFydGluZ19saWJyYXJ5X2RlYnVnX21vZGUiKSYmY29uc29sZS5sb2coYCR7KG5ldyBEYXRlKS50b0lTT1N0cmluZygpfSBQb3N0TWVzc2FnZTogaW5jb21pbmcgbWVzc2FnZTogYCtKU09OLnN0cmluZ2lmeSh0KSl9Y2F0Y2goZSl7cmV0dXJufWlmKHQmJnQucHJvdmlkZXImJnQucHJvdmlkZXI9PT1jKWlmKCJnZXQiPT09dC50eXBlKXtpZighb1t0Lm5hbWVdKXJldHVybjtvW3QubmFtZV0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUuY2FsbCh0LHQuZGF0YSwoZnVuY3Rpb24oZSl7dmFyIHM9e2lkOnQuaWQsdHlwZToib24iLG5hbWU6dC5uYW1lLGNsaWVudF9pZDp0LmNsaWVudF9pZCxkYXRhOmUscHJvdmlkZXI6Y307bi5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShzKSwiKiIpfSkpfSkpfWVsc2UgaWYoIm9uIj09PXQudHlwZSlyW3QuY2xpZW50X2lkXSYmclt0LmNsaWVudF9pZF1bdC5pZF0mJihyW3QuY2xpZW50X2lkXVt0LmlkXS5jYWxsKHQsdC5kYXRhKSxkZWxldGUgclt0LmNsaWVudF9pZF1bdC5pZF0pO2Vsc2UgaWYoInBvc3QiPT09dC50eXBlKXtpZighb1t0Lm5hbWVdKXJldHVybjtvW3QubmFtZV0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUuY2FsbCh0LHQuZGF0YSwoZnVuY3Rpb24oKXt9KSl9KSl9fSkpLGZ1bmN0aW9uKGUsdCl7clt0XT1PYmplY3QuY3JlYXRlKG51bGwpLGFbdF09ZSxuPWU7dmFyIHM9IiI7cmV0dXJue29uOmZ1bmN0aW9uKGUsdCxzKXtvW2VdJiZzfHwob1tlXT1bXSksb1tlXS5wdXNoKHQpfSxnZXQ6ZnVuY3Rpb24oZSxzLGkpe3ZhciBuPXtpZDpsKyssdHlwZToiZ2V0IixuYW1lOmUsY2xpZW50X2lkOnQsZGF0YTpzLHByb3ZpZGVyOmN9O3JbdF1bbi5pZF09aSxhW3RdLnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KG4pLCIqIil9LHBvc3Q6ZnVuY3Rpb24oZSx0LGkpe3ZhciBuPXtpZDp1KyssdHlwZToicG9zdCIsbmFtZTp0LGNsaWVudF9pZDpzLGRhdGE6aSxwcm92aWRlcjpjfTtlJiYiZnVuY3Rpb24iPT10eXBlb2YgZS5wb3N0TWVzc2FnZSYmZS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShuKSwiKiIpfSxzZXRDbGllbnRJZDpmdW5jdGlvbihlKXtzPWV9fX0pO2UuZXhwb3J0cz1kfSw0MDAxODEoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBpKCl7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoNzA2NDQpLHMuZSg5NTIwNyldKS50aGVuKHMuYmluZChzLDQ3NzE1MCkpO3JldHVybiBlKCl9cy5kKHQse2dldFRyYWNrZXI6KCk9Pml9KX0sMTU2ODI5KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtyZXR1cm4gdm9pZCAwIT09ZSYmZS5pbmNsdWRlcygiY3J5cHRvIil9ZnVuY3Rpb24gbihlLHQpewpyZXR1cm4ic3RvY2siPT09ZSYmdC5pbmNsdWRlcygicmlnaHQiKXx8InJpZ2h0Ij09PWV9ZnVuY3Rpb24gcihlLHQpe3JldHVybiBvKGUsdCl8fCJzdG9jayI9PT1lJiZ0LmluY2x1ZGVzKCJmdW5kIikmJnQuaW5jbHVkZXMoImV0ZiIpfHwic3RydWN0dXJlZCI9PT1lJiZ0LmluY2x1ZGVzKCJldG4iKX1mdW5jdGlvbiBvKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7cmV0dXJuImZ1bmQiPT09ZSYmdC5pbmNsdWRlcygibXV0dWFsIil9KGUsdCl8fCJmdW5kIj09PWUmJnQuaW5jbHVkZXMoImV0ZiIpfWZ1bmN0aW9uIGEoZSl7cmV0dXJuImJvbmQiPT09ZX1mdW5jdGlvbiBsKGUsdCl7cmV0dXJuImJvbmQiPT09ZSYmdC5pbmNsdWRlcygiY29ycG9yYXRlIil9ZnVuY3Rpb24gdShlKXtyZXR1cm4iZWNvbm9taWMiPT09ZX1mdW5jdGlvbiBjKGUpe3JldHVybiJvcHRpb24iPT09ZX1mdW5jdGlvbiBkKGUpe3JldHVybiJkZXgiPT09ZT8uY2VudHJhbGl6YXRpb259ZnVuY3Rpb24gaChlKXtyZXR1cm4ic3ByZWFkIj09PWV9ZnVuY3Rpb24gcChlKXtyZXR1cm4iZnV0dXJlcyI9PT1lfWZ1bmN0aW9uIG0oZSl7cmV0dXJuImZvcmV4Ij09PWV9ZnVuY3Rpb24gXyhlLHQscyl7cmV0dXJuIGkodCkmJiJzcG90Ij09PWUmJiJVU0QiPT09c31mdW5jdGlvbiBnKGUsdCl7cmV0dXJuInNwb3QiPT09ZSYmdC5pbmNsdWRlcygiY3J5cHRvYXNzZXQiKX1mdW5jdGlvbiB5KGUsdCl7cmV0dXJuIEJvb2xlYW4oImJvbmQiPT09ZSYmdC5pbmNsdWRlcygiZ292ZXJubWVudCIpJiZ0LmluY2x1ZGVzKCJiZW5jaG1hcmsiKSl9ZnVuY3Rpb24gZihlLHQpe3JldHVybiBCb29sZWFuKCJib25kIj09PWUmJnQuaW5jbHVkZXMoImdvdmVybm1lbnQiKSYmIXQuaW5jbHVkZXMoImJlbmNobWFyayIpKX1mdW5jdGlvbiB2KGUpe3JldHVybiBCb29sZWFuKGUudHlwZXNwZWNzPy5pbmNsdWRlcygieWllbGQiKSl9ZnVuY3Rpb24gYihlLHQpe3JldHVybiJzdG9jayI9PT1lJiZ0LmluY2x1ZGVzKCJjb21tb24iKXx8InN0b2NrIj09PWUmJnQuaW5jbHVkZXMoInByZWZlcnJlZCIpfHwic3RvY2siPT09ZSYmdC5pbmNsdWRlcygiZm9yd2FyZCIpfHwic3RvY2siPT09ZSYmdC5pbmNsdWRlcygiYm9udXMiKXx8InN0b2NrIj09PWUmJnQuaW5jbHVkZXMoImNmZCIpfHwiZnVuZCI9PT1lJiZ0LmluY2x1ZGVzKCJ1bml0Iil8fCJmdW5kIj09PWUmJnQuaW5jbHVkZXMoInRydXN0Iil8fCJmdW5kIj09PWUmJnQuaW5jbHVkZXMoInJlaXQiKXx8ImZ1bmQiPT09ZSYmdC5pbmNsdWRlcygiZXRuIil8fCJmdW5kIj09PWUmJnQuaW5jbHVkZXMoImNsb3NlZGVuZCIpfHwiYm9uZCI9PT1lJiZ0LmluY2x1ZGVzKCJjb252ZXJ0aWJsZSIpfHwiZHIiPT09ZXx8IndhcnJhbnQiPT09ZXx8InN0cnVjdHVyZWQiPT09ZSYmIXQuaW5jbHVkZXMoImV0biIpfWZ1bmN0aW9uIFMoZSl7cmV0dXJuIGU/LmluY2x1ZGVzKCJkaXNjb250aW51ZWQiKT8/ITF9ZnVuY3Rpb24gdyhlLHQ9W10pe3JldHVybiBiKGUsdCkmJnQuaW5jbHVkZXMoInByZS1pcG8iKX1zLmQodCx7aGFzQ3J5cHRvVHlwZXNwZWM6KCk9PmksaXNCb25kOigpPT5hLGlzQ29ycG9yYXRlQm9uZDooKT0+bCxpc0NyeXB0b1Nwb3RVc2Q6KCk9Pl8saXNDcnlwdG9hc3NldFNwb3Q6KCk9PmcsaXNEZXg6KCk9PmQsaXNFY29ub21pY1N5bWJvbDooKT0+dSxpc0V0ZjooKT0+cixpc0ZvcmV4U3ltYm9sOigpPT5tLGlzRnVuZEV0ZjooKT0+byxpc0Z1dHVyZXM6KCk9PnAsaXNHb3Zlcm5tZW50QmVuY2htYXJrQm9uZDooKT0+eSxpc0dvdmVybm1lbnRPbmx5Qm9uZDooKT0+Zixpc09wdGlvbjooKT0+Yyxpc1ByZUlwbzooKT0+dyxpc1JpZ2h0OigpPT5uLGlzU3ByZWFkOigpPT5oLGlzU3RvY2tzU3ltYm9sOigpPT5iLGlzU3ltYm9sRGVsaXN0ZWQ6KCk9PlMsaXNZaWVsZDooKT0+dn0pfSw3Mjg1NChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtkYXJrVGhlbWU6KCk9PnUsZ2V0U3RkQ2hhcnRUaGVtZTooKT0+ZCxnZXRTdGRUaGVtZU5hbWVzOigpPT5jLGxpZ2h0VGhlbWU6KCk9PmwsdHJhbnNsYXRlVGhlbWVOYW1lOigpPT5ofSk7dmFyIGk9cygxODUyNzEpLG49cyg2MDE4NDEpLHI9cyg3MTY3NjgpLG89cyg5ODQ0MjYpLGE9cyg4MTA0MSk7bGV0IGw9KDAsbi5jbG9uZSkoci5saWdodCksdT0oMCxuLmNsb25lKShvLmRhcmspO2Z1bmN0aW9uIGMoKXtyZXR1cm5bYS5TdGRUaGVtZS5MaWdodCxhLlN0ZFRoZW1lLkRhcmtdfWZ1bmN0aW9uIGQoZSl7cmV0dXJuKDAsbi5jbG9uZSkoZT09PWEuU3RkVGhlbWUuTGlnaHQ/bDplPT09YS5TdGRUaGVtZS5EYXJrP3U6dm9pZCAwKX1mdW5jdGlvbiBoKGUpe3JldHVybntbYS5TdGRUaGVtZS5MaWdodF06aS50KG51bGwse2NvbnRleHQ6ImNvbG9yVGhlbWVOYW1lIn0scygyNDcxNjcpKSxbYS5TdGRUaGVtZS5EYXJrXTppLnQobnVsbCx7Y29udGV4dDoiY29sb3JUaGVtZU5hbWUifSxzKDk0NTM2MikpfVtlXXx8ZX19LDc4NDUxMyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHthY3R1YWxDb250ZW50OigpPT5yfSk7dmFyIGksbj1zKDIzMjM2NCk7IWZ1bmN0aW9uKGUpe2UuRmluYW5jaWFscz0iZmluYW5jaWFscyIsZS5Eb2N1bWVudHM9ImRvY3VtZW50cyIsZS5OZXdzPSJuZXdzIixlLklkZWFzPSJpZGVhcyIsZS5TZWFzb25hbHM9InNlYXNvbmFscyIsZS5BbmFseXNpcz0iYW5hbHlzaXMiLGUuVGVjaG5pY2Fscz0idGVjaG5pY2FscyIsZS5Gb3JlY2FzdD0iZm9yZWNhc3QiLGUuRm9yd2FyZEN1cnZlPSJmb3J3YXJkLWN1cnZlIixlLkNvbnRyYWN0cz0iY29udHJhY3RzIixlLllpZWxkQ3VydmU9InlpZWxkLWN1cnZlIixlLkVjb25vbXlJbmRpY2F0b3JzPSJlY29ub215LWluZGljYXRvcnMiLGUuT3B0aW9ucz0ib3B0aW9ucyIsZS5Cb25kcz0iYm9uZHMiLGUuRXRmcz0iZXRmcyIsZS5DaGFydFRhYmxlVmlldz0iY2hhcnQtdGFibGUtdmlldyIsZS5Db21tdW5pdHk9ImNvbW11bml0eSIsZS5EZXJpdmF0aXZlcz0iZGVyaXZhdGl2ZXMifShpfHwoaT17fSkpO2NvbnN0IHI9bmV3IG4uV2F0Y2hlZFZhbHVlKG51bGwpfSw3NDQ1MzQoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7CmdldEhpZGVPcHRpb25zOigpPT5kLGdldFNhdmVkSGlkZU1vZGU6KCk9Pm0sdG9nZ2xlSGlkZU1vZGU6KCk9PnAsdG9nZ2xlSGlkZU9wdGlvbnM6KCk9Pmh9KTt2YXIgaT1zKDEzODYzOCksbj1zKDQxMTQwNykscj1zKDE4NTI3MSksbz1zKDkzMDU2NiksYT1zKDY3ODI4NSksbD1zKDg0NDM0NCk7bGV0IHU9bnVsbDtmdW5jdGlvbiBjKGUsdCl7bGV0IHM9ITE7cmV0dXJuKCk9PntpZihzKXJldHVybjtzPSEwO2NvbnN0IG49bSgpLHI9ZnVuY3Rpb24oZSl7aWYoImFsbCI9PT1lKXJldHVybiBfKCk7Y29uc3QgdD0oMCxpLmVuc3VyZURlZmluZWQpKGQoKS5nZXQoZSkpLHM9KDAsaS5lbnN1cmVEZWZpbmVkKSh0LmdldEJveGVkVmFsdWUpKCkudmFsdWUoKTtyZXR1cm4gdC5pbnZlcnRlZD8hczpzfShlKTtpZigiYWxsIj09PW58fG49PT1lKXtpZigiYWxsIj09PW4pZm9yKGNvbnN0IGUgb2YoMCxpLmVuc3VyZU5vdE51bGwpKHUpLnZhbHVlcygpKWUhPT10JiZlLmdldEJveGVkVmFsdWUmJmUuZ2V0Qm94ZWRWYWx1ZSgpLnNldFZhbHVlKGUuaW52ZXJ0ZWQ/IXI6cik7bC5oaWRlU3RhdGVDaGFuZ2UuZmlyZSh7aGlkZU1vZGU6bixpc0FjdGl2ZTpyfSl9cz0hMX19ZnVuY3Rpb24gZCgpe2lmKG51bGwhPT11KXJldHVybiB1O2NvbnN0IGU9e2xhYmVsOnIudChudWxsLHZvaWQgMCxzKDE1NzIxMCkpLGRhdGFOYW1lOiJoaWRlLWRyYXdpbmctdG9vbHMiLHRvb2x0aXA6e2FjdGl2ZTpyLnQobnVsbCx2b2lkIDAscyg2NDkzNzMpKSxpbmFjdGl2ZTpyLnQobnVsbCx2b2lkIDAscyg4MDk5MzkpKX0sZ2V0Qm94ZWRWYWx1ZTooKT0+KDAsYS5oaWRlQWxsRHJhd2luZ3MpKCksdHJhY2tMYWJlbDoiaGlkZSBkcmF3aW5ncyJ9LHQ9e2xhYmVsOnIudChudWxsLHZvaWQgMCxzKDgwNzg4MCkpLGRhdGFOYW1lOiJoaWRlLWluZGljYXRvcnMiLHRvb2x0aXA6e2FjdGl2ZTpyLnQobnVsbCx2b2lkIDAscygyMDYzNzkpKSxpbmFjdGl2ZTpyLnQobnVsbCx2b2lkIDAscyg1MzkzNDkpKX0sZ2V0Qm94ZWRWYWx1ZTooKT0+KDAsYS5oaWRlQWxsSW5kaWNhdG9ycykoKSx0cmFja0xhYmVsOiJoaWRlIGluZGljYXRvcnMifTt1PW5ldyBNYXAoW1siZHJhd2luZ3MiLGVdLFsiaW5kaWNhdG9ycyIsdF1dKSwoMCxhLmhpZGVBbGxEcmF3aW5ncykoKS5zdWJzY3JpYmUobnVsbCxjKCJkcmF3aW5ncyIsZSkpLCgwLGEuaGlkZUFsbEluZGljYXRvcnMpKCkuc3Vic2NyaWJlKG51bGwsYygiaW5kaWNhdG9ycyIsdCkpO2NvbnN0IGk9KDAsbi50cmFkaW5nU2VydmljZSkoKTtpZihpKXtjb25zdCBlPXtsYWJlbDpyLnQobnVsbCx2b2lkIDAscyg3NjI5ODgpKSxkYXRhTmFtZToiaGlkZS1wb3NpdGlvbnMtYW5kLW9yZGVycyIsdG9vbHRpcDp7YWN0aXZlOnIudChudWxsLHZvaWQgMCxzKDc3NjA2MykpLGluYWN0aXZlOnIudChudWxsLHZvaWQgMCxzKDg0NjQxMykpfSxnZXRCb3hlZFZhbHVlOigpPT5pLnNob3dUcmFkZWRTb3VyY2VzLGludmVydGVkOiEwLHRyYWNrTGFiZWw6ImhpZGUgcG9zaXRpb25zIn07dS5zZXQoInBvc2l0aW9ucyIsZSksaS5zaG93VHJhZGVkU291cmNlcy5zdWJzY3JpYmUoYygicG9zaXRpb25zIixlKSl9Y29uc3Qgbz17bGFiZWw6ci50KG51bGwsdm9pZCAwLHMoODI0OTkzKSksZGF0YU5hbWU6ImhpZGUtYWxsIix0b29sdGlwOnthY3RpdmU6aT9yLnQobnVsbCx2b2lkIDAscyg0MjA2MjQpKTpyLnQobnVsbCx2b2lkIDAscyg4MTg3NjMpKSxpbmFjdGl2ZTppP3IudChudWxsLHZvaWQgMCxzKDg2NjMzMCkpOnIudChudWxsLHZvaWQgMCxzKDgwMDM0OSkpfSx0cmFja0xhYmVsOiJoaWRlIGFsbCJ9O3JldHVybiB1LnNldCgiYWxsIixvKSx1fWZ1bmN0aW9uIGgoZSl7ZygoKHQscyxpKT0+e2NvbnN0IG49aS5nZXRCb3hlZFZhbHVlPy4oKTtuJiZuLnNldFZhbHVlKGkuaW52ZXJ0ZWQ/IWU6ZSl9KSl9ZnVuY3Rpb24gcChlKXtlP28uc2V0VmFsdWUoIkNoYXJ0VG9vbHNIaWRlTW9kZSIsZSk6ZT1tKCk7Y29uc3QgdD1fKCk7bGV0IHM9IXQ7cmV0dXJuImFsbCI9PT1lPyhnKCgoZSx0LGkpPT57ZS5zZXRWYWx1ZShpLmludmVydGVkPyFzOnMpfSkpLGwuaGlkZVN0YXRlQ2hhbmdlLmZpcmUoe2hpZGVNb2RlOmUsaXNBY3RpdmU6c30pLHMpOihnKCgoaSxuLHIpPT57Y29uc3Qgbz1yLmludmVydGVkO2lmKG49PT1lKXtjb25zdCBlPXQ/IW86IWkudmFsdWUoKTtpLnNldFZhbHVlKGUpLHM9bz8hZTplfWVsc2UgaS5zZXRWYWx1ZShCb29sZWFuKG8pKX0pKSxsLmhpZGVTdGF0ZUNoYW5nZS5maXJlKHtoaWRlTW9kZTplLGlzQWN0aXZlOnN9KSxzKX1mdW5jdGlvbiBtKCl7Y29uc3QgZT1vLmdldFZhbHVlKCJDaGFydFRvb2xzSGlkZU1vZGUiLCJkcmF3aW5ncyIpO3JldHVybiBkKCkuaGFzKGUpP2U6ImRyYXdpbmdzIn1mdW5jdGlvbiBfKCl7bGV0IGU9ITA7cmV0dXJuIGcoKCh0LHMsaSk9Pntjb25zdCBuPXQudmFsdWUoKTtlPWUmJihpLmludmVydGVkPyFuOm4pfSkpLGV9ZnVuY3Rpb24gZyhlKXtkKCkuZm9yRWFjaCgoKHQscyk9Pntjb25zdCBpPXQuZ2V0Qm94ZWRWYWx1ZT8uKCk7aSYmZShpLHMsdCl9KSl9fSw4OTkyMzUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0Q2hhcnRUaW1lem9uZU9mZnNldE1zOigpPT5yLGdldENoYXJ0VGltZXpvbmVPZmZzZXRTZWM6KCk9Pm8sZ2V0VGltZXpvbmVOYW1lOigpPT5ufSk7dmFyIGk9cyg3MDA4MDkpO2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1lLm1vZGVsKCkudGltZXpvbmUoKTtpZigiZXhjaGFuZ2UiIT09dClyZXR1cm4gdDtjb25zdCBzPWUubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpO3JldHVybiBzPy50aW1lem9uZX1mdW5jdGlvbiByKGUsdCl7aWYodm9pZCAwPT09dClyZXR1cm4gMDtyZXR1cm4oMCxpLmdldF90aW1lem9uZSkodCkub2Zmc2V0X3V0YyhlKX1mdW5jdGlvbiBvKGUsdCl7cmV0dXJuIHIoMWUzKmUsdCkvMWUzfX0sMTUzNTgyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2NhblNob3dOZXdTeW1ib2xTZWFyY2g6KCk9PmwsZ2V0Q3VycmVudExvY2FsZUluZm9Db3VudHJ5OigpPT51LGlzTW9iaWxlOigpPT5vLGlzUGxhdGZvcm1Nb2JpbGU6KCk9PmF9KQo7dmFyIGk9cygxMTczMTMpLG49cyg5MzAyMzEpLHI9cygzMTg5NzQpO2Z1bmN0aW9uIG8oKXtjb25zdCBlPXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiA2MDJweCkgYW5kIChtaW4taGVpZ2h0OiA0NDVweCkiKS5tYXRjaGVzO3JldHVybiByLkNoZWNrTW9iaWxlLmFueSgpJiYhZX1mdW5jdGlvbiBhKCl7cmV0dXJuISgwLGkuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSYmbygpfWZ1bmN0aW9uIGwoKXtyZXR1cm4hKDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IikmJiEoMCxpLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iil9ZnVuY3Rpb24gdSgpe3JldHVybiB3aW5kb3cuaW5pdERhdGE/LmN1cnJlbnRMb2NhbGVJbmZvPy5mbGFnLnRvVXBwZXJDYXNlKCl9fSw0MDA0MChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRDaGFydFdpZGdldEFwaVRpbWVDb252ZXJ0ZXI6KCk9Pmx9KTt2YXIgaT1zKDEzODYzOCksbj1zKDkzMDIzMSkscj1zKDcwNjg4NCk7Y29uc3Qgbz0oMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbmRfb2ZfcGVyaW9kX3RpbWVzY2FsZV9tYXJrcyIpLGE9KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2Vjb25kYXJ5X3Nlcmllc19leHRlbmRfdGltZV9zY2FsZSIpO2Z1bmN0aW9uIGwoZSx0LHMpe3JldHVybiBuZXcgYyhmdW5jdGlvbihlLHQpe2NvbnN0IHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSt0LnNlc3Npb24rdC50aW1lem9uZSsodC5jb3JyZWN0aW9uc3x8IiIpKyh0LnNlc3Npb25faG9saWRheXN8fCIiKX0oZSx0KTtsZXQgaT11LmdldChzKTt2b2lkIDA9PT1pJiYoaT0oMCxyLmNyZWF0ZUR3bUFsaWduZXIpKGUsdCksdS5zZXQocyxpKSk7cmV0dXJuIGl9KGUsdCkscyl9Y29uc3QgdT1uZXcgTWFwO2NsYXNzIGN7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9kd21BbGlnbmVyPWUsdGhpcy5fY2hhcnRNb2RlbD10fWNvbnZlcnRQdWJsaWNUaW1lVG9JbnRlcm5hbFRpbWUoZSl7cmV0dXJuIG51bGwhPT10aGlzLl9kd21BbGlnbmVyP3RoaXMuX2R3bUFsaWduZXIudGltZVRvU2Vzc2lvblN0YXJ0KDFlMyplKS8xZTM6ZX1jb252ZXJ0SW50ZXJuYWxUaW1lVG9QdWJsaWNUaW1lKGUpe3JldHVybiBudWxsIT09dGhpcy5fZHdtQWxpZ25lcj90aGlzLl9kd21BbGlnbmVyLnRpbWVUb0V4Y2hhbmdlVHJhZGluZ0RheSgxZTMqZSkvMWUzOmV9Y29udmVydFRpbWVQb2ludEluZGV4VG9QdWJsaWNUaW1lKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC50aW1lU2NhbGUoKTtpZih0LmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtsZXQgcz1vP2Z1bmN0aW9uKGUsdCl7Y29uc3Qgcz1lLmluZGV4VG9Vc2VyVGltZSh0KTtpZihudWxsPT09cylyZXR1cm4gbnVsbDtyZXR1cm4gcy5nZXRUaW1lKCkvMWUzfSh0LGUpOnRoaXMuY29udmVydFRpbWVQb2ludEluZGV4VG9JbnRlcm5hbFRpbWUoZSk7aWYobnVsbCE9PXMpe2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuYmFycygpLGk9dC5jb250YWlucyhlKSxuPXQuZmlyc3RJbmRleCgpLHI9dC5sYXN0SW5kZXgoKTshaSYmKG51bGwhPT1uJiZudWxsIT09ciYmbjw9ZSYmZTw9cikmJmF8fChzPXRoaXMuY29udmVydEludGVybmFsVGltZVRvUHVibGljVGltZShzKSl9cmV0dXJuIHN9Y29udmVydFRpbWVQb2ludEluZGV4VG9JbnRlcm5hbFRpbWUoZSl7Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLnRpbWVTY2FsZSgpO2lmKHQuaXNFbXB0eSgpKXJldHVybiBudWxsO2NvbnN0IHM9dC5wb2ludHMoKSx7Zmlyc3RJbmRleDpuLGxhc3RJbmRleDpyfT0oMCxpLmVuc3VyZU5vdE51bGwpKHMucmFuZ2UoKS52YWx1ZSgpKTtsZXQgbz1udWxsO2lmKG48PWUmJmU8PXIpbz1zLnZhbHVlQXQoZSk7ZWxzZSBpZihlPnIpe2NvbnN0IHM9dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuc3luY01vZGVsKCk7aWYobnVsbCE9PXMpe2NvbnN0IG49KDAsaS5lbnN1cmVOb3ROdWxsKSh0LmluZGV4VG9UaW1lUG9pbnQocikpO289cy5wcm9qZWN0VGltZShuLGUtcil9fXJldHVybiBudWxsIT09byYmTnVtYmVyLmlzRmluaXRlKG8pP286bnVsbH19fSw0NzMzMTgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7d2FpdEZvck1vZGVsOigpPT5pfSk7Y29uc3QgaT1lPT5uZXcgUHJvbWlzZSgodD0+e2Uud2l0aE1vZGVsKG51bGwsKCgpPT57dChlLm1vZGVsKCkubW9kZWwoKSl9KSl9KSl9LDI3NzI1NyhlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBpO3MuZCh0LHtNb3VzZUV2ZW50SGFuZGxlckRlbGF5OigpPT5pfSksZnVuY3Rpb24oZSl7ZVtlLlJlc2V0Q2xpY2s9NTAwXT0iUmVzZXRDbGljayIsZVtlLkxvbmdUYXA9MzMzXT0iTG9uZ1RhcCIsZVtlLlByZXZlbnRGaXJlc1RvdWNoRXZlbnRzPTUwMF09IlByZXZlbnRGaXJlc1RvdWNoRXZlbnRzIn0oaXx8KGk9e30pKX0sNjYzNChlLHQscyl7InVzZSBzdHJpY3QiO3Mucih0KSxzLmQodCx7TW91c2VFdmVudEhhbmRsZXI6KCk9PmYsTW91c2VFdmVudEhhbmRsZXJEZWxheTooKT0+aS5Nb3VzZUV2ZW50SGFuZGxlckRlbGF5LGRlZmF1bHRQcmV2ZW50ZWRIYW5kbGVyOigpPT5nLGdldENsaWNrUG9zaXRpb246KCk9Pm0saWdub3JlQ2xpY2tPclRhcE9uRGJsQ2xpY2tPckRibFRhcEhhbmRsZXJzOigpPT55LGlzVG91Y2hNb3VzZUV2ZW50OigpPT5ffSk7dmFyIGk9cygyNzcyNTcpLG49cyg4Mzk0MjYpLHI9cygxMzg2MzgpLG89cyg2MDE4NDEpLGE9cygzMTg5NzQpLGw9cyg1ODI0NzYpLHU9cyg2NzAyMTQpO2xldCBjPTI7Y29uc3QgZD1hLmlzU2FmYXJpPyJjbGljayI6ImF1eGNsaWNrIjt2YXIgaDshZnVuY3Rpb24oZSl7ZVtlLkNhbmNlbENsaWNrTWFuaGF0dGFuRGlzdGFuY2U9NV09IkNhbmNlbENsaWNrTWFuaGF0dGFuRGlzdGFuY2UiLGVbZS5DYW5jZWxUYXBNYW5oYXR0YW5EaXN0YW5jZT01XT0iQ2FuY2VsVGFwTWFuaGF0dGFuRGlzdGFuY2UiLGVbZS5Eb3VibGVDbGlja01hbmhhdHRhbkRpc3RhbmNlPTVdPSJEb3VibGVDbGlja01hbmhhdHRhbkRpc3RhbmNlIixlW2UuRG91YmxlVGFwTWFuaGF0dGFuRGlzdGFuY2U9MzBdPSJEb3VibGVUYXBNYW5oYXR0YW5EaXN0YW5jZSIKfShofHwoaD17fSkpO2NvbnN0IHA9e3RyZWF0VmVydFRvdWNoRHJhZ0FzUGFnZVNjcm9sbDohMSx0cmVhdEhvcnpUb3VjaERyYWdBc1BhZ2VTY3JvbGw6ITEsaWdub3JlQ2xpY2tBbmRUYXBPbkRibENsaWNrT3JEYmxUYXA6ITF9O2Z1bmN0aW9uIG0oZSl7aWYoXyhlKSlyZXR1cm57eDplLmNsaWVudFgseTplLmNsaWVudFl9O2lmKCJ0b3VjaGVzImluKHQ9ZSkmJnZvaWQgMCE9PXQudG91Y2hlcyl7aWYoMT09PWUudG91Y2hlcy5sZW5ndGgpe2NvbnN0IHQ9KDAsci5lbnN1cmVOb3ROdWxsKShlLnRhcmdldCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscz1lLnRvdWNoZXNbMF07cmV0dXJue3g6cy5jbGllbnRYLXQubGVmdCx5OnMuY2xpZW50WS10LnRvcH19cmV0dXJuIG51bGx9dmFyIHQ7cmV0dXJue3g6ZS5vZmZzZXRYLHk6ZS5vZmZzZXRZfX1mdW5jdGlvbiBfKGUpe3JldHVybiJpc1RvdWNoImluIGUmJiJzdHlsdXMiaW4gZX1mdW5jdGlvbiBnKGUpe3JldHVybiB0PT57dC5wcmV2ZW50RGVmYXVsdCgpLGUodCl9fWZ1bmN0aW9uIHkoZSx0KXtsZXQgcz0hMTtyZXR1cm57Y2xpY2tPclRhcDooLi4uaSk9Pnt0Py4oKT9lLmNsaWNrT3JUYXAoLi4uaSk6KHM9ITEsc2V0VGltZW91dCgoKCk9PiFzJiZlLmNsaWNrT3JUYXAoLi4uaSkpLDUwMSkpfSxkb3VibGVDbGlja09yRG91YmxlVGFwOiguLi50KT0+e3M9ITAsZS5kb3VibGVDbGlja09yRG91YmxlVGFwPy4oLi4udCl9fX1jbGFzcyBme2NvbnN0cnVjdG9yKGUsdCxzKXtpZih0aGlzLl9jbGlja0NvdW50PTAsdGhpcy5fY2xpY2tUaW1lb3V0SWQ9bnVsbCx0aGlzLl9jbGlja1Bvc2l0aW9uPXt4Ok51bWJlci5ORUdBVElWRV9JTkZJTklUWSx5Ok51bWJlci5QT1NJVElWRV9JTkZJTklUWX0sdGhpcy5fdGFwQ291bnQ9MCx0aGlzLl90YXBUaW1lb3V0SWQ9bnVsbCx0aGlzLl90YXBQb3NpdGlvbj17eDpOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkseTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFl9LHRoaXMuX2xvbmdUYXBUaW1lb3V0SWQ9bnVsbCx0aGlzLl9sb25nVGFwQWN0aXZlPSExLHRoaXMuX21vdXNlTW92ZVN0YXJ0UG9zaXRpb249bnVsbCx0aGlzLl90b3VjaE1vdmVTdGFydFBvc2l0aW9uPW51bGwsdGhpcy5fdG91Y2hNb3ZlRXhjZWVkZWRNYW5oYXR0YW5EaXN0YW5jZT0hMSx0aGlzLl9jYW5jZWxDbGljaz0hMSx0aGlzLl9jYW5jZWxUYXA9ITEsdGhpcy5fdW5zdWJzY3JpYmVPdXRzaWRlTW91c2VFdmVudHM9bnVsbCx0aGlzLl91bnN1YnNjcmliZU91dHNpZGVUb3VjaEV2ZW50cz1udWxsLHRoaXMuX3Vuc3Vic2NyaWJlTW9iaWxlU2FmYXJpRXZlbnRzPW51bGwsdGhpcy5fdW5zdWJzY3JpYmVNb3VzZW1vdmU9bnVsbCx0aGlzLl91bnN1YnNjcmliZVJvb3RNb3VzZUV2ZW50cz1udWxsLHRoaXMuX3Vuc3Vic2NyaWJlUm9vdFRvdWNoRXZlbnRzPW51bGwsdGhpcy5fdW5zdWJzY3JpYmVQaW5jaEV2ZW50cz1udWxsLHRoaXMuX3Vuc3Vic2NyaWJlVGFyZ2V0RWxlbWVudEV2ZW50cz1udWxsLHRoaXMuX3BpbmNoSW5mbz1udWxsLHRoaXMuX3BpbmNoUHJldmVudGVkPSExLHRoaXMuX3ByZXZlbnRUb3VjaERyYWdQcm9jZXNzPSExLHRoaXMuX21vdXNlUHJlc3NlZD0hMSx0aGlzLl9sYXN0VG91Y2hFdmVudFRpbWVTdGFtcD0wLHRoaXMuX2FjdGl2ZVRvdWNoSWQ9bnVsbCx0aGlzLl9hY2NlcHRNb3VzZUxlYXZlPSFhLkNoZWNrTW9iaWxlLmlPUygpLHRoaXMuX29uRmlyZWZveE91dHNpZGVNb3VzZVVwPWU9Pnt0aGlzLl9tb3VzZVVwSGFuZGxlcihlKX0sdGhpcy5fb25Nb2JpbGVTYWZhcmlEb3VibGVDbGljaz1lPT57aWYodGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSl7Y29uc3QgdD10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSk7aWYoKyt0aGlzLl90YXBDb3VudCx0aGlzLl90YXBUaW1lb3V0SWQmJnRoaXMuX3RhcENvdW50PjEpe2NvbnN0e21hbmhhdHRhbkRpc3RhbmNlOnN9PXRoaXMuX3RvdWNoTW91c2VNb3ZlV2l0aERvd25JbmZvKGIoZSksdGhpcy5fdGFwUG9zaXRpb24pO3M8MzAmJiF0aGlzLl9jYW5jZWxUYXAmJnRoaXMuX3Byb2Nlc3NUb3VjaEV2ZW50KHQsdGhpcy5faGFuZGxlcnMuZG91YmxlVGFwRXZlbnQpLHRoaXMuX3Jlc2V0VGFwVGltZW91dCgpfX1lbHNle2NvbnN0IHQ9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUpO2lmKCsrdGhpcy5fY2xpY2tDb3VudCx0aGlzLl9jbGlja1RpbWVvdXRJZCYmdGhpcy5fY2xpY2tDb3VudD4xKXtjb25zdHttYW5oYXR0YW5EaXN0YW5jZTpzfT10aGlzLl90b3VjaE1vdXNlTW92ZVdpdGhEb3duSW5mbyhiKGUpLHRoaXMuX2NsaWNrUG9zaXRpb24pO3M8NSYmIXRoaXMuX2NhbmNlbENsaWNrJiZ0aGlzLl9wcm9jZXNzTW91c2VFdmVudCh0LHRoaXMuX2hhbmRsZXJzLm1vdXNlRG91YmxlQ2xpY2tFdmVudCksdGhpcy5fcmVzZXRDbGlja1RpbWVvdXQoKX19fSx0aGlzLl90YXJnZXQ9ZSx0aGlzLl9vcHRpb25zPSgwLG8ubWVyZ2UpKCgwLG8uY2xvbmUpKHApLHN8fHt9KSx0aGlzLl9vcHRpb25zLmlnbm9yZUNsaWNrQW5kVGFwT25EYmxDbGlja09yRGJsVGFwKXtpZih0Lm1vdXNlQ2xpY2tFdmVudCYmdC5tb3VzZURvdWJsZUNsaWNrRXZlbnQpe2NvbnN0IGU9eSh7Y2xpY2tPclRhcDp0Lm1vdXNlQ2xpY2tFdmVudC5iaW5kKHQpLGRvdWJsZUNsaWNrT3JEb3VibGVUYXA6dC5tb3VzZURvdWJsZUNsaWNrRXZlbnQuYmluZCh0KX0pO3QubW91c2VDbGlja0V2ZW50PWUuY2xpY2tPclRhcCx0Lm1vdXNlRG91YmxlQ2xpY2tFdmVudD1lLmRvdWJsZUNsaWNrT3JEb3VibGVUYXB9aWYodC50YXBFdmVudCYmdC5kb3VibGVUYXBFdmVudCl7Y29uc3QgZT15KHtjbGlja09yVGFwOnQudGFwRXZlbnQuYmluZCh0KSxkb3VibGVDbGlja09yRG91YmxlVGFwOnQuZG91YmxlVGFwRXZlbnQuYmluZCh0KX0pO3QudGFwRXZlbnQ9ZS5jbGlja09yVGFwLHQuZG91YmxlVGFwRXZlbnQ9ZS5kb3VibGVDbGlja09yRG91YmxlVGFwfX10aGlzLl9oYW5kbGVycz10LHRoaXMuX2luaXQoKX1kZXN0cm95KCl7bnVsbCE9PXRoaXMuX3Vuc3Vic2NyaWJlT3V0c2lkZU1vdXNlRXZlbnRzJiYodGhpcy5fdW5zdWJzY3JpYmVPdXRzaWRlTW91c2VFdmVudHMoKSwKdGhpcy5fdW5zdWJzY3JpYmVPdXRzaWRlTW91c2VFdmVudHM9bnVsbCksbnVsbCE9PXRoaXMuX3Vuc3Vic2NyaWJlT3V0c2lkZVRvdWNoRXZlbnRzJiYodGhpcy5fdW5zdWJzY3JpYmVPdXRzaWRlVG91Y2hFdmVudHMoKSx0aGlzLl91bnN1YnNjcmliZU91dHNpZGVUb3VjaEV2ZW50cz1udWxsKSxudWxsIT09dGhpcy5fdW5zdWJzY3JpYmVNb3VzZW1vdmUmJih0aGlzLl91bnN1YnNjcmliZU1vdXNlbW92ZSgpLHRoaXMuX3Vuc3Vic2NyaWJlTW91c2Vtb3ZlPW51bGwpLG51bGwhPT10aGlzLl91bnN1YnNjcmliZVJvb3RNb3VzZUV2ZW50cyYmKHRoaXMuX3Vuc3Vic2NyaWJlUm9vdE1vdXNlRXZlbnRzKCksdGhpcy5fdW5zdWJzY3JpYmVSb290TW91c2VFdmVudHM9bnVsbCksbnVsbCE9PXRoaXMuX3Vuc3Vic2NyaWJlUm9vdFRvdWNoRXZlbnRzJiYodGhpcy5fdW5zdWJzY3JpYmVSb290VG91Y2hFdmVudHMoKSx0aGlzLl91bnN1YnNjcmliZVJvb3RUb3VjaEV2ZW50cz1udWxsKSxudWxsIT09dGhpcy5fdW5zdWJzY3JpYmVNb2JpbGVTYWZhcmlFdmVudHMmJih0aGlzLl91bnN1YnNjcmliZU1vYmlsZVNhZmFyaUV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlTW9iaWxlU2FmYXJpRXZlbnRzPW51bGwpLG51bGwhPT10aGlzLl91bnN1YnNjcmliZVBpbmNoRXZlbnRzJiYodGhpcy5fdW5zdWJzY3JpYmVQaW5jaEV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlUGluY2hFdmVudHM9bnVsbCksbnVsbCE9PXRoaXMuX3Vuc3Vic2NyaWJlVGFyZ2V0RWxlbWVudEV2ZW50cyYmKHRoaXMuX3Vuc3Vic2NyaWJlVGFyZ2V0RWxlbWVudEV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlVGFyZ2V0RWxlbWVudEV2ZW50cz1udWxsKSx0aGlzLl9jbGVhckxvbmdUYXBUaW1lb3V0KCksdGhpcy5fcmVzZXRDbGlja1RpbWVvdXQoKX1fbW91c2VFbnRlckhhbmRsZXIoZSl7dGhpcy5fdW5zdWJzY3JpYmVNb3VzZW1vdmUmJnRoaXMuX3Vuc3Vic2NyaWJlTW91c2Vtb3ZlKCk7Y29uc3QgdD10aGlzLl9tb3VzZU1vdmVIYW5kbGVyLmJpbmQodGhpcyk7aWYodGhpcy5fdW5zdWJzY3JpYmVNb3VzZW1vdmU9KCk9Pnt0aGlzLl90YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0KX0sdGhpcy5fdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdCksdGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlyZXR1cm47Y29uc3Qgcz10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSk7dGhpcy5fcHJvY2Vzc01vdXNlRXZlbnQocyx0aGlzLl9oYW5kbGVycy5tb3VzZUVudGVyRXZlbnQpLHRoaXMuX2FjY2VwdE1vdXNlTGVhdmU9ITB9X3Jlc2V0Q2xpY2tUaW1lb3V0KCl7bnVsbCE9PXRoaXMuX2NsaWNrVGltZW91dElkJiZjbGVhclRpbWVvdXQodGhpcy5fY2xpY2tUaW1lb3V0SWQpLHRoaXMuX2NsaWNrQ291bnQ9MCx0aGlzLl9jbGlja1RpbWVvdXRJZD1udWxsLHRoaXMuX2NsaWNrUG9zaXRpb249e3g6TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZfX1fcmVzZXRUYXBUaW1lb3V0KCl7bnVsbCE9PXRoaXMuX3RhcFRpbWVvdXRJZCYmY2xlYXJUaW1lb3V0KHRoaXMuX3RhcFRpbWVvdXRJZCksdGhpcy5fdGFwQ291bnQ9MCx0aGlzLl90YXBUaW1lb3V0SWQ9bnVsbCx0aGlzLl90YXBQb3NpdGlvbj17eDpOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkseTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFl9fV9tb3VzZU1vdmVIYW5kbGVyKGUpe2lmKHRoaXMuX21vdXNlUHJlc3NlZHx8bnVsbCE9PXRoaXMuX3RvdWNoTW92ZVN0YXJ0UG9zaXRpb24pcmV0dXJuO2lmKHRoaXMuX2ZpcmVzVG91Y2hFdmVudHMoZSkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUpO3RoaXMuX3Byb2Nlc3NNb3VzZUV2ZW50KHQsdGhpcy5faGFuZGxlcnMubW91c2VNb3ZlRXZlbnQpLHRoaXMuX2FjY2VwdE1vdXNlTGVhdmU9ITB9X3RvdWNoTW92ZUhhbmRsZXIoZSl7Y29uc3QgdD1QKGUuY2hhbmdlZFRvdWNoZXMsKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hY3RpdmVUb3VjaElkKSk7aWYobnVsbD09PXQpcmV0dXJuO2lmKHRoaXMuX2xhc3RUb3VjaEV2ZW50VGltZVN0YW1wPXcoZSksbnVsbCE9PXRoaXMuX3BpbmNoSW5mbylyZXR1cm47aWYodGhpcy5fcHJldmVudFRvdWNoRHJhZ1Byb2Nlc3MpcmV0dXJuO3RoaXMuX3BpbmNoUHJldmVudGVkPSEwO2NvbnN0IHM9dGhpcy5fdG91Y2hNb3VzZU1vdmVXaXRoRG93bkluZm8oYih0KSwoMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3RvdWNoTW92ZVN0YXJ0UG9zaXRpb24pKSx7eE9mZnNldDppLHlPZmZzZXQ6bixtYW5oYXR0YW5EaXN0YW5jZTpvfT1zO2lmKHRoaXMuX3RvdWNoTW92ZUV4Y2VlZGVkTWFuaGF0dGFuRGlzdGFuY2V8fCEobzw1KSl7aWYoIXRoaXMuX3RvdWNoTW92ZUV4Y2VlZGVkTWFuaGF0dGFuRGlzdGFuY2Upe2NvbnN0IGU9LjUqaSx0PXRoaXMuX29wdGlvbnMuc2hvdWxkQWxsb3dUb3VjaERyYWc/LigpPz8hMSxzPW4+PWUmJighdGhpcy5fb3B0aW9ucy50cmVhdFZlcnRUb3VjaERyYWdBc1BhZ2VTY3JvbGx8fHQpLHI9ZT5uJiYoIXRoaXMuX29wdGlvbnMudHJlYXRIb3J6VG91Y2hEcmFnQXNQYWdlU2Nyb2xsfHx0KTtzfHxyfHwodGhpcy5fcHJldmVudFRvdWNoRHJhZ1Byb2Nlc3M9ITApLHRoaXMuX3RvdWNoTW92ZUV4Y2VlZGVkTWFuaGF0dGFuRGlzdGFuY2U9ITAsdGhpcy5fY2FuY2VsVGFwPSEwLHRoaXMuX2NsZWFyTG9uZ1RhcFRpbWVvdXQoKSx0aGlzLl9yZXNldFRhcFRpbWVvdXQoKX1pZighdGhpcy5fcHJldmVudFRvdWNoRHJhZ1Byb2Nlc3Mpe2NvbnN0IHM9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUsdCk7dGhpcy5fcHJvY2Vzc1RvdWNoRXZlbnQocyx0aGlzLl9oYW5kbGVycy50b3VjaE1vdmVFdmVudCksKDAsbC5wcmV2ZW50RGVmYXVsdCkoZSl9fX1fbW91c2VNb3ZlV2l0aERvd25IYW5kbGVyKGUpe2lmKDAhPT1lLmJ1dHRvbilyZXR1cm47Y29uc3QgdD10aGlzLl90b3VjaE1vdXNlTW92ZVdpdGhEb3duSW5mbyhiKGUpLCgwLApyLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vdXNlTW92ZVN0YXJ0UG9zaXRpb24pKSx7bWFuaGF0dGFuRGlzdGFuY2U6c309dDtpZihzPj01JiYodGhpcy5fY2FuY2VsQ2xpY2s9ITAsdGhpcy5fcmVzZXRDbGlja1RpbWVvdXQoKSksdGhpcy5fY2FuY2VsQ2xpY2spe2NvbnN0IHQ9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUpO3RoaXMuX3Byb2Nlc3NNb3VzZUV2ZW50KHQsdGhpcy5faGFuZGxlcnMucHJlc3NlZE1vdXNlTW92ZUV2ZW50KX19X3RvdWNoTW91c2VNb3ZlV2l0aERvd25JbmZvKGUsdCl7Y29uc3Qgcz1NYXRoLmFicyh0LngtZS54KSxpPU1hdGguYWJzKHQueS1lLnkpO3JldHVybnt4T2Zmc2V0OnMseU9mZnNldDppLG1hbmhhdHRhbkRpc3RhbmNlOnMraX19X3RvdWNoRW5kSGFuZGxlcihlKXtsZXQgdD1QKGUuY2hhbmdlZFRvdWNoZXMsKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hY3RpdmVUb3VjaElkKSk7aWYobnVsbD09PXQmJjA9PT1lLnRvdWNoZXMubGVuZ3RoJiYodD1lLmNoYW5nZWRUb3VjaGVzWzBdKSxudWxsPT09dClyZXR1cm47dGhpcy5fYWN0aXZlVG91Y2hJZD1udWxsLHRoaXMuX2xhc3RUb3VjaEV2ZW50VGltZVN0YW1wPXcoZSksdGhpcy5fY2xlYXJMb25nVGFwVGltZW91dCgpLHRoaXMuX3RvdWNoTW92ZVN0YXJ0UG9zaXRpb249bnVsbCx0aGlzLl91bnN1YnNjcmliZVJvb3RUb3VjaEV2ZW50cyYmKHRoaXMuX3Vuc3Vic2NyaWJlUm9vdFRvdWNoRXZlbnRzKCksdGhpcy5fdW5zdWJzY3JpYmVSb290VG91Y2hFdmVudHM9bnVsbCk7Y29uc3Qgcz10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSx0KTtpZih0aGlzLl9wcm9jZXNzVG91Y2hFdmVudChzLHRoaXMuX2hhbmRsZXJzLnRvdWNoRW5kRXZlbnQpLCsrdGhpcy5fdGFwQ291bnQsdGhpcy5fdGFwVGltZW91dElkJiZ0aGlzLl90YXBDb3VudD4xKXtjb25zdHttYW5oYXR0YW5EaXN0YW5jZTplfT10aGlzLl90b3VjaE1vdXNlTW92ZVdpdGhEb3duSW5mbyhiKHQpLHRoaXMuX3RhcFBvc2l0aW9uKTtlPDMwJiYhdGhpcy5fY2FuY2VsVGFwJiZ0aGlzLl9wcm9jZXNzVG91Y2hFdmVudChzLHRoaXMuX2hhbmRsZXJzLmRvdWJsZVRhcEV2ZW50KSx0aGlzLl9yZXNldFRhcFRpbWVvdXQoKX1lbHNlIHRoaXMuX2NhbmNlbFRhcHx8KHRoaXMuX3Byb2Nlc3NUb3VjaEV2ZW50KHMsdGhpcy5faGFuZGxlcnMudGFwRXZlbnQpLHRoaXMuX2hhbmRsZXJzLnRhcEV2ZW50JiYoMCxsLnByZXZlbnREZWZhdWx0KShlKSk7MD09PXRoaXMuX3RhcENvdW50JiYoMCxsLnByZXZlbnREZWZhdWx0KShlKSwwPT09ZS50b3VjaGVzLmxlbmd0aCYmdGhpcy5fbG9uZ1RhcEFjdGl2ZSYmKHRoaXMuX2xvbmdUYXBBY3RpdmU9ITEsKDAsbC5wcmV2ZW50RGVmYXVsdCkoZSkpfV90b3VjaENhbmNlbEhhbmRsZXIoZSl7dGhpcy5fdG91Y2hFbmRIYW5kbGVyKGUpfV9tb3VzZVVwSGFuZGxlcihlKXtpZigwIT09ZS5idXR0b24pcmV0dXJuO2NvbnN0IHQ9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUpO2lmKHRoaXMuX21vdXNlTW92ZVN0YXJ0UG9zaXRpb249bnVsbCx0aGlzLl9tb3VzZVByZXNzZWQ9ITEsdGhpcy5fdW5zdWJzY3JpYmVSb290TW91c2VFdmVudHMmJih0aGlzLl91bnN1YnNjcmliZVJvb3RNb3VzZUV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlUm9vdE1vdXNlRXZlbnRzPW51bGwpLGEuaXNGRil7dGhpcy5fdGFyZ2V0Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uRmlyZWZveE91dHNpZGVNb3VzZVVwKX1pZighdGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlpZih0aGlzLl9wcm9jZXNzTW91c2VFdmVudCh0LHRoaXMuX2hhbmRsZXJzLm1vdXNlVXBFdmVudCksKyt0aGlzLl9jbGlja0NvdW50LHRoaXMuX2NsaWNrVGltZW91dElkJiZ0aGlzLl9jbGlja0NvdW50PjEpe2NvbnN0e21hbmhhdHRhbkRpc3RhbmNlOnN9PXRoaXMuX3RvdWNoTW91c2VNb3ZlV2l0aERvd25JbmZvKGIoZSksdGhpcy5fY2xpY2tQb3NpdGlvbik7czw1JiYhdGhpcy5fY2FuY2VsQ2xpY2smJnRoaXMuX3Byb2Nlc3NNb3VzZUV2ZW50KHQsdGhpcy5faGFuZGxlcnMubW91c2VEb3VibGVDbGlja0V2ZW50KSx0aGlzLl9yZXNldENsaWNrVGltZW91dCgpfWVsc2UgdGhpcy5fY2FuY2VsQ2xpY2t8fHRoaXMuX3Byb2Nlc3NNb3VzZUV2ZW50KHQsdGhpcy5faGFuZGxlcnMubW91c2VDbGlja0V2ZW50KX1fY2xlYXJMb25nVGFwVGltZW91dCgpe251bGwhPT10aGlzLl9sb25nVGFwVGltZW91dElkJiYoY2xlYXJUaW1lb3V0KHRoaXMuX2xvbmdUYXBUaW1lb3V0SWQpLHRoaXMuX2xvbmdUYXBUaW1lb3V0SWQ9bnVsbCl9X3RvdWNoU3RhcnRIYW5kbGVyKGUpe2lmKG51bGwhPT10aGlzLl9hY3RpdmVUb3VjaElkKXJldHVybiB0aGlzLl9jbGVhckxvbmdUYXBUaW1lb3V0KCksdm9pZCB0aGlzLl9yZXNldFRhcFRpbWVvdXQoKTtjb25zdCB0PWUuY2hhbmdlZFRvdWNoZXNbMF07dGhpcy5fYWN0aXZlVG91Y2hJZD10LmlkZW50aWZpZXIsdGhpcy5fbGFzdFRvdWNoRXZlbnRUaW1lU3RhbXA9dyhlKTtjb25zdCBzPXRoaXMuX3RhcmdldC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudDt0aGlzLl9jYW5jZWxUYXA9ITEsdGhpcy5fdG91Y2hNb3ZlRXhjZWVkZWRNYW5oYXR0YW5EaXN0YW5jZT0hMSx0aGlzLl9wcmV2ZW50VG91Y2hEcmFnUHJvY2Vzcz0hMSx0aGlzLl90b3VjaE1vdmVTdGFydFBvc2l0aW9uPWIodCksdGhpcy5fdW5zdWJzY3JpYmVSb290VG91Y2hFdmVudHMmJih0aGlzLl91bnN1YnNjcmliZVJvb3RUb3VjaEV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlUm9vdFRvdWNoRXZlbnRzPW51bGwpO3tjb25zdCB0PXRoaXMuX3RvdWNoTW92ZUhhbmRsZXIuYmluZCh0aGlzKSxpPXRoaXMuX3RvdWNoRW5kSGFuZGxlci5iaW5kKHRoaXMpO3RoaXMuX3Vuc3Vic2NyaWJlUm9vdFRvdWNoRXZlbnRzPSgpPT57cy5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHQpLHMucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLGkpfSxzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdCx7cGFzc2l2ZTohMX0pLApzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixpLHtwYXNzaXZlOiExfSksdGhpcy5fY2xlYXJMb25nVGFwVGltZW91dCgpLHRoaXMuX2xvbmdUYXBUaW1lb3V0SWQ9c2V0VGltZW91dCh0aGlzLl9sb25nVGFwSGFuZGxlci5iaW5kKHRoaXMsZSksMzMzKX1jb25zdCBpPXRoaXMuX21ha2VDb21wYXRFdmVudChlLHQpO3RoaXMuX3Byb2Nlc3NUb3VjaEV2ZW50KGksdGhpcy5faGFuZGxlcnMudG91Y2hTdGFydEV2ZW50KSx0aGlzLl90YXBUaW1lb3V0SWR8fCh0aGlzLl90YXBDb3VudD0wLHRoaXMuX3RhcFRpbWVvdXRJZD1zZXRUaW1lb3V0KHRoaXMuX3Jlc2V0VGFwVGltZW91dC5iaW5kKHRoaXMpLDUwMCksdGhpcy5fdGFwUG9zaXRpb249Yih0KSl9X3doZWVsQ2xpY2tIYW5kbGVyKGUpe2lmKDEhPT1lLmJ1dHRvbilyZXR1cm47aWYodGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlyZXR1cm47Y29uc3QgdD10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSk7dGhpcy5fcHJvY2Vzc01vdXNlRXZlbnQodCx0aGlzLl9oYW5kbGVycy53aGVlbENsaWNrRXZlbnQpfV9tb3VzZURvd25IYW5kbGVyKGUpe2lmKDAhPT1lLmJ1dHRvbilyZXR1cm47Y29uc3QgdD10aGlzLl90YXJnZXQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7YS5pc0ZGJiZ0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uRmlyZWZveE91dHNpZGVNb3VzZVVwKSx0aGlzLl9jYW5jZWxDbGljaz0hMSx0aGlzLl9tb3VzZU1vdmVTdGFydFBvc2l0aW9uPWIoZSksdGhpcy5fdW5zdWJzY3JpYmVSb290TW91c2VFdmVudHMmJih0aGlzLl91bnN1YnNjcmliZVJvb3RNb3VzZUV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlUm9vdE1vdXNlRXZlbnRzPW51bGwpO3tjb25zdCBlPXRoaXMuX21vdXNlTW92ZVdpdGhEb3duSGFuZGxlci5iaW5kKHRoaXMpLHM9dGhpcy5fbW91c2VVcEhhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl91bnN1YnNjcmliZVJvb3RNb3VzZUV2ZW50cz0oKT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixlKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHMpfSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsZSksdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixzKX1pZih0aGlzLl9tb3VzZVByZXNzZWQ9ITAsdGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlyZXR1cm47Y29uc3Qgcz10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSk7dGhpcy5fcHJvY2Vzc01vdXNlRXZlbnQocyx0aGlzLl9oYW5kbGVycy5tb3VzZURvd25FdmVudCksdGhpcy5fY2xpY2tUaW1lb3V0SWR8fCh0aGlzLl9jbGlja0NvdW50PTAsdGhpcy5fY2xpY2tUaW1lb3V0SWQ9c2V0VGltZW91dCh0aGlzLl9yZXNldENsaWNrVGltZW91dC5iaW5kKHRoaXMpLDUwMCksdGhpcy5fY2xpY2tQb3NpdGlvbj1iKGUpKX1faW5pdCgpe2NvbnN0IGU9dGhpcy5fbW91c2VFbnRlckhhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsZSk7Y29uc3QgdD10aGlzLl90b3VjaENhbmNlbEhhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hjYW5jZWwiLHQpO3tjb25zdCBlPXRoaXMuX3RhcmdldC5vd25lckRvY3VtZW50LHQ9ZT0+IWUudGFyZ2V0fHwhdGhpcy5fdGFyZ2V0LmNvbnRhaW5zKGUudGFyZ2V0KSxzPWU9PntpZighdChlKSlyZXR1cm47Y29uc3Qgcz1lLmNoYW5nZWRUb3VjaGVzWzBdO3RoaXMuX2xhc3RUb3VjaEV2ZW50VGltZVN0YW1wPXcoZSksdGhpcy5fcHJvY2Vzc1RvdWNoRXZlbnQodGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUscyksdGhpcy5faGFuZGxlcnMudG91Y2hTdGFydE91dHNpZGVFdmVudCl9LGk9ZT0+e3QoZSkmJiF0aGlzLl9maXJlc1RvdWNoRXZlbnRzKGUpJiZ0aGlzLl9wcm9jZXNzTW91c2VFdmVudCh0aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSksdGhpcy5faGFuZGxlcnMubW91c2VEb3duT3V0c2lkZUV2ZW50KX07dGhpcy5fdW5zdWJzY3JpYmVPdXRzaWRlVG91Y2hFdmVudHM9KCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHMpfSx0aGlzLl91bnN1YnNjcmliZU91dHNpZGVNb3VzZUV2ZW50cz0oKT0+e2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixpKX0sZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLGkpLGUuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIscyx7cGFzc2l2ZTohMH0pfWEuQ2hlY2tNb2JpbGUuaU9TKCkmJih0aGlzLl91bnN1YnNjcmliZU1vYmlsZVNhZmFyaUV2ZW50cz0oKT0+e3RoaXMuX3RhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCJkYmxjbGljayIsdGhpcy5fb25Nb2JpbGVTYWZhcmlEb3VibGVDbGljayl9LHRoaXMuX3RhcmdldC5hZGRFdmVudExpc3RlbmVyKCJkYmxjbGljayIsdGhpcy5fb25Nb2JpbGVTYWZhcmlEb3VibGVDbGljaykpO2NvbnN0IHM9dGhpcy5fbW91c2VMZWF2ZUhhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIscyk7Y29uc3QgaT10aGlzLl9jb250ZXh0TWVudUhhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGkpO2NvbnN0IG49dGhpcy5fdG91Y2hTdGFydEhhbmRsZXIuYmluZCh0aGlzKTtsZXQgcjt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsbix7cGFzc2l2ZTohMH0pLGEuaXNDaHJvbWUmJihyPWU9PntpZigxPT09ZS5idXR0b24pcmV0dXJuIGUucHJldmVudERlZmF1bHQoKSwhMX0sdGhpcy5fdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIscikpO2NvbnN0IG89dGhpcy5fbW91c2VEb3duSGFuZGxlci5iaW5kKHRoaXMpO3RoaXMuX3RhcmdldC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLG8pO2NvbnN0IGw9dGhpcy5fd2hlZWxDbGlja0hhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihkLGwpO2NvbnN0IHU9KCk9Pnt9Cjt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIix1LHtwYXNzaXZlOiExfSksdGhpcy5fdW5zdWJzY3JpYmVUYXJnZXRFbGVtZW50RXZlbnRzPSgpPT57dGhpcy5fdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHMpLHRoaXMuX3RhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsaSksdGhpcy5fdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLG4pLHImJnRoaXMuX3RhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHIpLHRoaXMuX3RhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLG8pLHRoaXMuX3RhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKGQsbCksdGhpcy5fdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdSl9LHRoaXMuX2luaXRQaW5jaCgpfV9pbml0UGluY2goKXtpZih2b2lkIDA9PT10aGlzLl9oYW5kbGVycy5waW5jaFN0YXJ0RXZlbnQmJnZvaWQgMD09PXRoaXMuX2hhbmRsZXJzLnBpbmNoRXZlbnQmJnZvaWQgMD09PXRoaXMuX2hhbmRsZXJzLnBpbmNoRW5kRXZlbnQpcmV0dXJuO2NvbnN0IGU9ZT0+dGhpcy5fY2hlY2tQaW5jaFN0YXRlKGUudG91Y2hlcyk7dGhpcy5fdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGUse3Bhc3NpdmU6ITB9KTtjb25zdCB0PWU9PntpZihudWxsPT09dGhpcy5fcGluY2hJbmZvKXJldHVybjtjb25zdCB0PVAoZS50b3VjaGVzLCgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aXZlVG91Y2hJZCkpLHM9UChlLnRvdWNoZXMsdGhpcy5fcGluY2hJbmZvLnNlY29uZFRvdWNoSWQpO2lmKHQmJnMmJnZvaWQgMCE9PXRoaXMuX2hhbmRsZXJzLnBpbmNoRXZlbnQpe2NvbnN0e3N0YXJ0UGluY2hEaXN0YW5jZTppLHN0YXJ0UGluY2hNaWRkbGVQb2ludDpufT10aGlzLl9waW5jaEluZm8scj1TKHQscykvaSxvPXYodGhpcy5fdGFyZ2V0KTt0aGlzLl9oYW5kbGVycy5waW5jaEV2ZW50KG4se3g6dC5jbGllbnRYLW8ubGVmdCx5OnQuY2xpZW50WS1vLnRvcH0se3g6cy5jbGllbnRYLW8ubGVmdCx5OnMuY2xpZW50WS1vLnRvcH0sciksKDAsbC5wcmV2ZW50RGVmYXVsdCkoZSl9fTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIix0LHtwYXNzaXZlOiExfSk7Y29uc3Qgcz1lPT50aGlzLl9jaGVja1BpbmNoU3RhdGUoZS50b3VjaGVzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHMpLHRoaXMuX3Vuc3Vic2NyaWJlUGluY2hFdmVudHM9KCk9Pnt0aGlzLl90YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZSksdGhpcy5fdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdCksdGhpcy5fdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixzKX19X2NoZWNrUGluY2hTdGF0ZShlKXsxPT09ZS5sZW5ndGgmJih0aGlzLl9waW5jaFByZXZlbnRlZD0hMSksMiE9PWUubGVuZ3RofHx0aGlzLl9waW5jaFByZXZlbnRlZHx8dGhpcy5fbG9uZ1RhcEFjdGl2ZT90aGlzLl9zdG9wUGluY2goKTp0aGlzLl9zdGFydFBpbmNoKGUpfV9zdGFydFBpbmNoKGUpe2lmKHZvaWQgMCE9PXRoaXMuX2hhbmRsZXJzLnBpbmNoU3RhcnRFdmVudCYmbnVsbD09PXRoaXMuX3BpbmNoSW5mbyl7Y29uc3QgdD12KHRoaXMuX3RhcmdldCk7bGV0IHMsaTtlWzBdLmlkZW50aWZpZXI9PT10aGlzLl9hY3RpdmVUb3VjaElkPyhzPWVbMF0saT1lWzFdKToocz1lWzFdLGk9ZVswXSk7Y29uc3Qgbj17eDpzLmNsaWVudFgtdC5sZWZ0LHk6cy5jbGllbnRZLXQudG9wfSxyPXt4OmkuY2xpZW50WC10LmxlZnQseTppLmNsaWVudFktdC50b3B9LG89e3g6KG4ueCtyLngpLzIseToobi55K3IueSkvMn07dGhpcy5faGFuZGxlcnMucGluY2hTdGFydEV2ZW50KG8sbixyLHtib3RoUG9pbnRzT25UYXJnZXRFbGVtZW50OnRoaXMuX3RhcmdldC5jb250YWlucyhpLnRhcmdldCl9KSYmKHRoaXMuX3BpbmNoSW5mbz17c3RhcnRQaW5jaERpc3RhbmNlOlMocyxpKSxzdGFydFBpbmNoTWlkZGxlUG9pbnQ6byxzZWNvbmRUb3VjaElkOmkuaWRlbnRpZmllcn0pfXRoaXMuX2NsZWFyTG9uZ1RhcFRpbWVvdXQoKX1fc3RvcFBpbmNoKCl7bnVsbCE9PXRoaXMuX3BpbmNoSW5mbyYmKHRoaXMuX3BpbmNoSW5mbz1udWxsLHRoaXMuX2hhbmRsZXJzLnBpbmNoRW5kRXZlbnQ/LigpKX1fbW91c2VMZWF2ZUhhbmRsZXIoZSl7aWYodGhpcy5fdW5zdWJzY3JpYmVNb3VzZW1vdmUmJnRoaXMuX3Vuc3Vic2NyaWJlTW91c2Vtb3ZlKCksdGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlyZXR1cm47aWYoIXRoaXMuX2FjY2VwdE1vdXNlTGVhdmUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUpO3RoaXMuX3Byb2Nlc3NNb3VzZUV2ZW50KHQsdGhpcy5faGFuZGxlcnMubW91c2VMZWF2ZUV2ZW50KSx0aGlzLl9hY2NlcHRNb3VzZUxlYXZlPSFhLkNoZWNrTW9iaWxlLmlPUygpfV9sb25nVGFwSGFuZGxlcihlKXtjb25zdCB0PVAoZS50b3VjaGVzLCgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aXZlVG91Y2hJZCkpO2lmKG51bGw9PT10KXJldHVybjtjb25zdCBzPXRoaXMuX21ha2VDb21wYXRFdmVudChlLHQpO3RoaXMuX3Byb2Nlc3NUb3VjaEV2ZW50KHMsdGhpcy5faGFuZGxlcnMubG9uZ1RhcEV2ZW50KSx0aGlzLl9wcm9jZXNzVG91Y2hFdmVudChzLHRoaXMuX2hhbmRsZXJzLnRvdWNoQ29udGV4dE1lbnVFdmVudCksdGhpcy5fY2FuY2VsVGFwPSEwLHRoaXMuX2xvbmdUYXBBY3RpdmU9ITB9X2NvbnRleHRNZW51SGFuZGxlcihlKXtpZigoMCxsLnByZXZlbnREZWZhdWx0KShlKSxudWxsIT09dGhpcy5fdG91Y2hNb3ZlU3RhcnRQb3NpdGlvbilyZXR1cm47aWYodGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlyZXR1cm47Y29uc3QgdD10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSk7dGhpcy5fcHJvY2Vzc01vdXNlRXZlbnQodCx0aGlzLl9oYW5kbGVycy5jb250ZXh0TWVudUV2ZW50KSx0aGlzLl9jYW5jZWxDbGljaz0hMH1fZmlyZXNUb3VjaEV2ZW50cyhlKXsKcmV0dXJuIGUuc291cmNlQ2FwYWJpbGl0aWVzJiZ2b2lkIDAhPT1lLnNvdXJjZUNhcGFiaWxpdGllcy5maXJlc1RvdWNoRXZlbnRzP2Uuc291cmNlQ2FwYWJpbGl0aWVzLmZpcmVzVG91Y2hFdmVudHM6dyhlKTx0aGlzLl9sYXN0VG91Y2hFdmVudFRpbWVTdGFtcCs1MDB9X3Byb2Nlc3NUb3VjaEV2ZW50KGUsdCl7KDAsdS5zZXRMYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKShlKSx0JiZ0LmNhbGwodGhpcy5faGFuZGxlcnMsZSl9X3Byb2Nlc3NNb3VzZUV2ZW50KGUsdCl7d2luZG93LlRWRCYmKCJtb3VzZWVudGVyIj09PWUuc3JjVHlwZXx8Im1vdXNlbW92ZSI9PT1lLnNyY1R5cGUpJiZjPjA/Yy0tOigibW91c2VsZWF2ZSIhPT1lLnNyY1R5cGUmJigwLHUuc2V0TGFzdE1vdXNlT3JUb3VjaEV2ZW50SW5mbykoZSksdCYmdC5jYWxsKHRoaXMuX2hhbmRsZXJzLGUpKX1fbWFrZUNvbXBhdEV2ZW50KGUsdCl7Y29uc3Qgcz10fHxlLGk9dD92b2lkIDA6ZS5idXR0b25zLHI9KDAsbi5kZWZhdWx0KSgoKCk9PnRoaXMuX3RhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKXx8e2xlZnQ6MCx0b3A6MH0pKTtyZXR1cm57Y2xpZW50WDpzLmNsaWVudFgsY2xpZW50WTpzLmNsaWVudFkscGFnZVg6cy5wYWdlWCxwYWdlWTpzLnBhZ2VZLHNjcmVlblg6cy5zY3JlZW5YLHNjcmVlblk6cy5zY3JlZW5ZLGdldCBsb2NhbFgoKXtyZXR1cm4gcy5jbGllbnRYLXIoKS5sZWZ0fSxnZXQgbG9jYWxZKCl7cmV0dXJuIHMuY2xpZW50WS1yKCkudG9wfSxjdHJsS2V5OmUuY3RybEtleSxhbHRLZXk6ZS5hbHRLZXksc2hpZnRLZXk6ZS5zaGlmdEtleSxtZXRhS2V5OmUubWV0YUtleSxidXR0b25zOmksaXNUb3VjaDohZS50eXBlLnN0YXJ0c1dpdGgoIm1vdXNlIikmJiJjb250ZXh0bWVudSIhPT1lLnR5cGUmJiJjbGljayIhPT1lLnR5cGUsc3R5bHVzOiJzdHlsdXMiPT09dD8udG91Y2hUeXBlLHNyY1R5cGU6ZS50eXBlLHRhcmdldDpzLnRhcmdldCx2aWV3OmUudmlldyxwcmV2ZW50RGVmYXVsdDooKT0+eyJ0b3VjaHN0YXJ0IiE9PWUudHlwZSYmKDAsbC5wcmV2ZW50RGVmYXVsdCkoZSl9fX19ZnVuY3Rpb24gdihlKXtyZXR1cm4gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKXx8e2xlZnQ6MCx0b3A6MH19ZnVuY3Rpb24gYihlKXtyZXR1cm57eDplLnBhZ2VYLHk6ZS5wYWdlWX19ZnVuY3Rpb24gUyhlLHQpe2NvbnN0IHM9ZS5jbGllbnRYLXQuY2xpZW50WCxpPWUuY2xpZW50WS10LmNsaWVudFk7cmV0dXJuIE1hdGguc3FydChzKnMraSppKX1mdW5jdGlvbiB3KGUpe3JldHVybiBlLnRpbWVTdGFtcHx8cGVyZm9ybWFuY2Uubm93KCl9ZnVuY3Rpb24gUChlLHQpe2ZvcihsZXQgcz0wO3M8ZS5sZW5ndGg7KytzKWlmKGVbc10uaWRlbnRpZmllcj09PXQpcmV0dXJuIGVbc107cmV0dXJuIG51bGx9fSw3NDU5OTAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLnIodCkscy5kKHQse2FkZFN5bWJvbERpYWxvZ0hhc09wZW5lZEtleTooKT0+byxzaG93QWRkU3ltYm9sRGlhbG9nOigpPT5hfSk7dmFyIGk9cyg2MjE5MjYpLG49cyg4MjQ0NzgpLHI9cygxNzk3NzEpO2NvbnN0IG89ImFkZFN5bWJvbERpYWxvZ0hhc09wZW5lZEtleSI7ZnVuY3Rpb24gYShlKXsoMCxpLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKCgoKT0+eygwLG4uc2hvd1dhdGNoTGlzdHNEaWFsb2cpKHthZGRTeW1ib2xzOmUsb25PcGVuOmx9KX0pLHtmZWF0dXJlOiJ3YXRjaExpc3QiLHNvdXJjZToiYWRkIHN5bWJvbCB0byB3YXRjaGxpc3QifSl9ZnVuY3Rpb24gbCgpe3IuZW1pdChvKX19LDcwNjg4NChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjcmVhdGVEd21BbGlnbmVyOigpPT5kLGNyZWF0ZVRpbWVUb0JhclRpbWVBbGlnbmVyOigpPT5ofSk7dmFyIGk9cyg3MDA4MDkpLG49cygyNTQ2NzMpLHI9cyg2NDI3MTkpLG89cyg3NzE3OTUpO2NvbnN0IGE9bmV3IHIuU2Vzc2lvbkluZm8oIkV0Yy9VVEMiLCIwMDAwLTAwMDA6MTIzNDU2NyIpO3ZhciBsPXMoOTMwMjMxKTtmdW5jdGlvbiB1KCl7cmV0dXJuISgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImRpc2FibGVfcmVzb2x1dGlvbl9yZWJ1aWxkIil9Y29uc3QgYz1uZXcgTWFwO2Z1bmN0aW9uIGQoZSx0KXtjb25zdCBzPXUoKSxsPWAke3N9fCR7ZX18JHt0LnRpbWV6b25lfXwke3Quc2Vzc2lvbn18JHt0LnNlc3Npb25faG9saWRheXM/PyIifXwke3QuY29ycmVjdGlvbnM/PyIifWA7bGV0IGQ9Yy5nZXQobCk7cmV0dXJuIHZvaWQgMD09PWQmJihkPWZ1bmN0aW9uKGUsdCxzKXtpZighZXx8IW4uSW50ZXJ2YWwuaXNEV00odCkpcmV0dXJuIG51bGw7Y29uc3QgbD1uZXcgci5TZXNzaW9uSW5mbyhzLnRpbWV6b25lLHMuc2Vzc2lvbixzLnNlc3Npb25faG9saWRheXMscy5jb3JyZWN0aW9ucyksdT0oMCxvLm5ld0JhckJ1aWxkZXIpKHQsbCxhKTtyZXR1cm57dGltZVRvU2Vzc2lvblN0YXJ0OmU9PnUudHJhZGluZ0RheVRvU2Vzc2lvblN0YXJ0KGUpLHRpbWVUb0V4Y2hhbmdlVHJhZGluZ0RheTplPT57Y29uc3QgdD0oMCxpLnV0Y190b19jYWwpKGwudGltZXpvbmUsZSkscz1sLnNwZWMuY29ycmVjdFRyYWRpbmdEYXkodCk7cmV0dXJuKDAsaS5zZXRfaG1zKShzLDAsMCwwLDAsKDAsaS5nZXRfdGltZXpvbmUpKCJFdGMvVVRDIikpLHMuZ2V0VGltZSgpfX19KHMsZSx0KSxjLnNldChsLGQpKSxkfWZ1bmN0aW9uIGgoZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSx0LHMpe2lmKCFlKXJldHVybiBlPT5lO2NvbnN0IGk9bmV3IHIuU2Vzc2lvbkluZm8ocy50aW1lem9uZSxzLnNlc3Npb24scy5zZXNzaW9uX2hvbGlkYXlzLHMuY29ycmVjdGlvbnMpLG49KDAsby5uZXdCYXJCdWlsZGVyKSh0LGksaSwhMSk7cmV0dXJuIGU9Pm4uYWxpZ25UaW1lSWZQb3NzaWJsZShlKX0odSgpLGUsdCl9fSw5NzQ2NjMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7RGVmYXVsdFByb3BlcnR5OigpPT5OLGFsbG93U2F2aW5nRGVmYXVsdHM6KCk9Pk0sY2xlYW5VcFN0YXRlS2V5czooKT0+RSxjcmVhdGVEZWZhdWx0c1N0YXRlOigpPT5JLGV4dHJhY3RBbGxQcm9wZXJ0aWVzS2V5czooKT0+RCxleHRyYWN0U3RhdGU6KCk9PlIsZXh0cmFjdFRoZW1lZENvbG9yczooKT0+a30pCjt2YXIgaT1zKDIwMzY4MSksbj1zKDc0MDE2Mikscj1zKDkxNzM3MSksbz1zKDU1NDcxOCksYT1zKDEwNTk3MCksbD1zKDg2NDAzNiksdT1zKDE2NzUwMiksYz1zKDE0NDU1NSksZD1zKDg4MDExNSksaD1zKDMwNDIyMSkscD1zKDEzODYzOCksbT1zKDEzNDY3KSxfPXMoMjIxMDYxKSxnPXMoNDI1NjU5KSx5PXMoODEwNDEpLGY9cygyMDA2NjYpLHY9cyg0NTM5NjgpLGI9cyg5NDgzODApLFM9cyg5MjUyODIpLHc9cygxMDk0MjkpLFA9KHMoNzk0ODEyKSxzKDc2ODI5MikpO2NvbnN0IFQ9KDAsXy5nZXRMb2dnZXIpKCJUaGVtZWREZWZhdWx0cyIpO2Z1bmN0aW9uIEMoZSl7cmV0dXJuIGUudmFsdWUoKT09PXkuU3RkVGhlbWUuRGFyaz95LlN0ZFRoZW1lLkRhcms6eS5TdGRUaGVtZS5MaWdodH1mdW5jdGlvbiBFKGUsdCxzKXtmb3IoY29uc3QgaSBvZiB0KWlmKCgwLHIuZGVmYXVsdCkoZSxpKSxzKXtjb25zdCB0PWkuc3BsaXQoIi4iKTtmb3IodC5wb3AoKTt0Lmxlbmd0aDspe2NvbnN0IHM9KDAsby5kZWZhdWx0KShlLHQpO2lmKCEoMCxkLmRlZmF1bHQpKHMpfHwwIT09T2JqZWN0LmtleXMocykubGVuZ3RoKWJyZWFrOygwLHIuZGVmYXVsdCkoZSx0KSx0LnBvcCgpfX19ZnVuY3Rpb24gSShlLHQscyl7dC5zdGFydHNXaXRoKCJzdHVkeV8iKSYmVC5sb2dFcnJvcigiY3JlYXRlRGVmYXVsdHNTdGF0ZTogc2hvdWxkIG5vdCBjYWxsIHRoaXMgZm9yIHN0dWRpZXMiKTtjb25zdCByPXt9LG89KDAsaS5kZWZhdWx0KSgoZT93LmRlZmF1bHRzOncuZmFjdG9yeURlZmF1bHRzKSh0KSk7cmV0dXJuIEUobyxzKSwoMCxuLmRlZmF1bHQpKHIsbykscn1sZXQgTD0hMTtmdW5jdGlvbiBNKGUpe0w9ZX1mdW5jdGlvbiBEKGUsdCl7Y29uc3Qgcz1PYmplY3Qua2V5cyhlKSxpPVtdO3JldHVybiBzLmZvckVhY2goKHM9Pntjb25zdCBuPWVbc107aWYoKDAsZC5kZWZhdWx0KShuKSl7RChuKS5mb3JFYWNoKChlPT5pLnB1c2goYCR7c30uJHtlfWApKSl9ZWxzZSB0Py5oYXMocyl8fGkucHVzaChzKX0pKSxpfWZ1bmN0aW9uIHgoZSx0LHM9IiIpe2lmKDE9PT10Lmxlbmd0aCYmIioiPT09dFswXSlyZXR1cm4gZTtjb25zdCBpPXt9O2Zvcihjb25zdCBuIG9mIHQpe2NvbnN0IHI9bi5zcGxpdCgiLiIpLG89clswXSxhPWVbb10sbD0iIj09PXM/bzpgJHtzfS4ke299YDtpZihlLmhhc093blByb3BlcnR5KG8pKWlmKHIubGVuZ3RoPjEpe2lmKCEoMCxkLmRlZmF1bHQpKGEpKXtULmxvZ0Vycm9yKGBwYXRoICR7bH0gbXVzdCBiZSBhbiBvYmplY3QsIGJ1dCBpdCBpcyBhIHByaW1pdGl2ZWApO2NvbnRpbnVlfXtjb25zdCBlPXQuZmlsdGVyKChlPT5lLnN0YXJ0c1dpdGgoYCR7b30uYCkpKS5tYXAoKGU9PmUuc3BsaXQoIi4iKS5zbGljZSgxKS5qb2luKCIuIikpKTtpW29dPXgoYSxlLGwpfX1lbHNle2lmKCgwLGQuZGVmYXVsdCkoYSkpe1QubG9nRXJyb3IoYHBhdGggJHtsfSBtdXN0IGJlIGEgcHJpbWl0aXZlLCBidXQgaXQgaXMgYW4gb2JqZWN0YCk7Y29udGludWV9aVtvXT1hfX1yZXR1cm4gaX1mdW5jdGlvbiBSKGUsdCxzKXtpZighZSlyZXR1cm57fTtsZXQgaT1lO3JldHVybiB0JiYoaT14KGUsdCkpLHMmJkUoaSxzLCEwKSxpfWZ1bmN0aW9uIGsoZSx0KXtjb25zdCBzPUQoZSksaT1bXTtmb3IoY29uc3QgbiBvZiBzKXtjb25zdCBzPSgwLG8uZGVmYXVsdCkoZSxuKSxyPSgwLG8uZGVmYXVsdCkodCxuKTsoMCxwLmFzc2VydCkodm9pZCAwIT09cyxgTGlnaHQgdGhlbWUgdmFsdWUgZm9yICR7bn0gaXMgdW5kZWZpbmVkYCksKDAscC5hc3NlcnQpKHZvaWQgMCE9PXIsYERhcmsgdGhlbWUgdmFsdWUgZm9yICR7bn0gaXMgdW5kZWZpbmVkYCksaS5wdXNoKHtwYXRoOm4sY29sb3JzOltzLHJdfSl9cmV0dXJuIGl9ZnVuY3Rpb24gVihlLHQpe2UuaW5jbHVkZXModCl8fGUucHVzaCh0KX1mdW5jdGlvbiBBKGUsdCl7Y29uc3Qgcz1lLmluZGV4T2YodCk7LTEhPT1zJiZlLnNwbGljZShzLDEpfWZ1bmN0aW9uIEYoZSx0KXtjb25zdCBzPSgwLGwuZGVmYXVsdCkoZSwoKGUscyxpKT0+e2lmKHZvaWQgMD09PXRbaV0pcmV0dXJuIGU7aWYoISgwLHUuZGVmYXVsdCkocyx0W2ldKSlpZigoMCxkLmRlZmF1bHQpKHMpJiYoMCxkLmRlZmF1bHQpKHRbaV0pKXtjb25zdCBuPUYocyx0W2ldKTt2b2lkIDAhPT1uJiYoZVtpXT1uKX1lbHNlIGVbaV09cztyZXR1cm4gZX0pLHt9KTtyZXR1cm4oMCxjLmRlZmF1bHQpKHMpP3ZvaWQgMDpzfWZ1bmN0aW9uIEIoZSl7cmV0dXJuIGU9PT15LlN0ZFRoZW1lLkRhcms/MTowfWZ1bmN0aW9uIE8oZSx0KXtpZihlPT09dClyZXR1cm4hMDtpZih0eXBlb2YgZSE9dHlwZW9mIHQpcmV0dXJuITE7aWYoISgwLGguZGVmYXVsdCkoZSl8fCEoMCxoLmRlZmF1bHQpKHQpKXJldHVybiExO2NvbnN0IHM9KDAsbS50cnlQYXJzZVJnYmEpKGUpLGk9KDAsbS50cnlQYXJzZVJnYmEpKHQpO3JldHVybiEoIXN8fCFpKSYmISEoMCxnLmNvbG9yc0FyZUNsb3NlRW5vdWdoKShlLHQpfWNsYXNzIE4gZXh0ZW5kcyBQLlByb3BlcnR5e2NvbnN0cnVjdG9yKGUpe2NvbnN0e2RlZmF1bHROYW1lOnQsbm9uVGhlbWVkRGVmYXVsdHNLZXlzOnMsdGhlbWVkRGVmYXVsdHNLZXlzOmksZXhjbHVkZWREZWZhdWx0c0tleXM6cj1bXSx0aGVtZWRDb2xvcnM6byxyZXBsYWNlVGhlbWVkQ29sb3JzT25UaGVtZUNoYW5nZTphPSExLGFsbFN0YXRlS2V5czpsLGV4Y2x1ZGVkU3RhdGVLZXlzOnU9W10sZXhjbHVkZWRUZW1wbGF0ZUtleXM6Yz1bXSxzdGF0ZTpkLHVzZVVzZXJQcmVmZXJlbmNlczpoPSEwLHNhdmVOb25EZWZhdWx0VXNlclByZWZlcmVuY2VzT25seTptPSExLGlnbm9yZUFsbG93U2F2aW5nRGVmYXVsdHM6Xz0hMSxhbHdheXNTYXZlRGVmYXVsdEtleXM6Zz1bInZlcnNpb24iXSxzYXZlRGVmYXVsdHNDb25zdW1lcjpQPXcuc2F2ZURlZmF1bHRzLGZhY3RvcnlEZWZhdWx0c1N1cHBsaWVyOlQ9KCk9PkkoITEsdCxbXSksc2NoZW1hOkU9KDAsUy5jcmVhdGVQcm9wZXJ0eVNjaGVtYSkoVCgpKSx0aGVtZTpMPWYud2F0Y2hlZFRoZW1lLnNwYXduT3duZXJzaGlwKCl9PWU7c3VwZXIodm9pZCAwLEUpLHRoaXMuX3RoZW1lZENvbG9ycz1bXSwKdGhpcy5fcmVzdG9yZUZhY3RvcnlEZWZhdWx0c0V2ZW50PW5ldyBiLkRlbGVnYXRlLHRoaXMuX3JlcGxhY2VUaGVtZWRDb2xvcnNPblRoZW1lQ2hhbmdlPSExLHRoaXMuX2ZvcmJpZFNhdmluZ0RlZmF1bHRzPSExLHRoaXMuX2RlZmF1bHROYW1lPXQsdGhpcy5fdXNlVXNlclByZWZlcmVuY2VzPWgsdGhpcy5fc2F2ZU5vbkRlZmF1bHRVc2VyUHJlZmVyZW5jZXNPbmx5PW0sdGhpcy5faWdub3JlQWxsb3dTYXZpbmdEZWZhdWx0cz1fLHRoaXMuX3NhdmVEZWZhdWx0c0NvbnN1bWVyPVAsdGhpcy5fZmFjdG9yeURlZmF1bHRzU3VwcGxpZXI9VCx0aGlzLl9hbGxTdGF0ZUtleXM9bCx0aGlzLl9leGNsdWRlZFN0YXRlS2V5cz11LHRoaXMuX25vblRoZW1lZERlZmF1bHRzS2V5cz1zLHRoaXMuX3RoZW1lZERlZmF1bHRzS2V5cz1pLHRoaXMuX2FsbERlZmF1bHRzS2V5cz1zfHxpP1suLi5zPz9bXSwuLi5pPz9bXV06dm9pZCAwLHRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzPXIsdGhpcy5fZXhjbHVkZWRUZW1wbGF0ZUtleXM9Yyx0aGlzLl90aGVtZWRDb2xvcnM9byx0aGlzLl9hbHdheXNTYXZlRGVmYXVsdEtleXM9ZywoMCxwLmFzc2VydCkodm9pZCAwPT09dGhpcy5fYWxsRGVmYXVsdHNLZXlzfHwwPT09dGhpcy5fZXhjbHVkZWREZWZhdWx0c0tleXMubGVuZ3RoLCJEZWZhdWx0cyBrZXlzIGFuZCBleGNsdWRlZCBkZWZhdWx0cyBrZXlzIGNhbm5vdCBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUiKSwoMCxwLmFzc2VydCkodm9pZCAwPT09dGhpcy5fYWxsU3RhdGVLZXlzfHwwPT09dGhpcy5fZXhjbHVkZWRTdGF0ZUtleXMubGVuZ3RoLCJTdGF0ZSBrZXlzIGFuZCBleGNsdWRlZCBzdGF0ZSBrZXlzIGNhbm5vdCBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUiKSx0aGlzLl90aGVtZT1MO2NvbnN0IE09Qyh0aGlzLl90aGVtZSk7dGhpcy5tZXJnZSgoMCxuLmRlZmF1bHQpKHRoaXMuX2ZhY3RvcnlEZWZhdWx0c0ZvclRoZW1lKCgwLHYuaXNTdGRUaGVtZU5hbWUpKE0pP006eS5TdGRUaGVtZS5MaWdodCksdGhpcy5fdXNlclNldHRpbmdzKCksUihkLGwsdSkpKSxvJiZhJiZ0aGlzLnNldFRoZW1lZENvbG9ycyhvKSx0aGlzLl9yZXN0b3JlRmFjdG9yeURlZmF1bHRzRXZlbnQ9bmV3IGIuRGVsZWdhdGV9ZGVzdHJveSgpe3RoaXMuX3RoZW1lPy5yZWxlYXNlKCksdGhpcy5fdW5zdWJzY3JpYmVXYXRjaGVkVGhlbWU/LigpLHN1cGVyLmRlc3Ryb3koKX1hcHBseVRlbXBsYXRlKGUsdCl7dGhpcy5tZXJnZUFuZEZpcmUoUigoMCxuLmRlZmF1bHQpKCgwLGkuZGVmYXVsdCkodCksZSksdGhpcy5fYWxsU3RhdGVLZXlzLHRoaXMuX2V4Y2x1ZGVkVGVtcGxhdGVLZXlzKSl9cHJlZmVyZW5jZXMoKXtyZXR1cm4gUih0aGlzLnN0YXRlKHRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzKSx0aGlzLl9hbGxEZWZhdWx0c0tleXMpfXRlbXBsYXRlKCl7cmV0dXJuIFIodGhpcy5zdGF0ZSh2b2lkIDAsNCksdm9pZCAwLHRoaXMuX2V4Y2x1ZGVkVGVtcGxhdGVLZXlzKX1tZXJnZVByZWZlcmVuY2VzKGUpe3RoaXMubWVyZ2VBbmRGaXJlKFIoZSx0aGlzLl9hbGxEZWZhdWx0c0tleXMsdGhpcy5fZXhjbHVkZWREZWZhdWx0c0tleXMpKX1hZGRFeGNsdWRlZEtleShlLHQpezEmdCYmVih0aGlzLl9leGNsdWRlZERlZmF1bHRzS2V5cyxlKSwyJnQmJlYodGhpcy5fZXhjbHVkZWRTdGF0ZUtleXMsZSksNCZ0JiZWKHRoaXMuX2V4Y2x1ZGVkVGVtcGxhdGVLZXlzLGUpfXJlbW92ZUV4Y2x1ZGVkS2V5KGUsdCl7MSZ0JiZBKHRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzLGUpLDImdCYmQSh0aGlzLl9leGNsdWRlZFN0YXRlS2V5cyxlKX1yZXN0b3JlRmFjdG9yeURlZmF1bHRzKCl7Y29uc3QgZT10aGlzLmZhY3RvcnlEZWZhdWx0cygpO0UoZSx0aGlzLl9leGNsdWRlZERlZmF1bHRzS2V5cyksdGhpcy5tZXJnZUFuZEZpcmUoZSksdGhpcy5fZGVmYXVsdE5hbWUuc3RhcnRzV2l0aCgic3R1ZHlfIikmJiF0aGlzLl9kZWZhdWx0TmFtZS5zdGFydHNXaXRoKCJzdHVkeV9WYlBGaXhlZCIpfHx0aGlzLl9zYXZlRGVmYXVsdHNDb25zdW1lcih0aGlzLl9kZWZhdWx0TmFtZSksdGhpcy5fcmVzdG9yZUZhY3RvcnlEZWZhdWx0c0V2ZW50LmZpcmUoKX1vblJlc3RvcmVGYWN0b3J5RGVmYXVsdHMoKXtyZXR1cm4gdGhpcy5fcmVzdG9yZUZhY3RvcnlEZWZhdWx0c0V2ZW50fXNhdmVEZWZhdWx0cygpe2lmKCF0aGlzLl91c2VVc2VyUHJlZmVyZW5jZXN8fHRoaXMuX2ZvcmJpZFNhdmluZ0RlZmF1bHRzKXJldHVybjtsZXQgZTtpZih0aGlzLl9zYXZlTm9uRGVmYXVsdFVzZXJQcmVmZXJlbmNlc09ubHkpe2NvbnN0IHQ9dGhpcy5zdGF0ZSh0aGlzLl9leGNsdWRlZERlZmF1bHRzS2V5cykscz10aGlzLmZhY3RvcnlEZWZhdWx0cygpO2lmKGU9RihSKHQsdGhpcy5fbm9uVGhlbWVkRGVmYXVsdHNLZXlzKSxSKHMsdGhpcy5fbm9uVGhlbWVkRGVmYXVsdHNLZXlzLHRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzKSksdGhpcy5fYWx3YXlzU2F2ZURlZmF1bHRLZXlzLmxlbmd0aCl7Y29uc3Qgcz1SKHQsdGhpcy5fYWx3YXlzU2F2ZURlZmF1bHRLZXlzKTtlPWU/P3t9LCgwLG4uZGVmYXVsdCkoZSxzKX1jb25zdCBpPXRoaXMudGhlbWVEZWZhdWx0cyhDKHRoaXMuX3RoZW1lKSkscj10aGlzLnRoZW1lU3RhdGUoKSxvPUYocixpKTsoMCxjLmRlZmF1bHQpKG8pfHwoZT1lPz97fSwoMCxuLmRlZmF1bHQpKGUscikpfWVsc2UgZT10aGlzLnByZWZlcmVuY2VzKCk7dGhpcy5fc2F2ZURlZmF1bHRzQ29uc3VtZXIodGhpcy5fZGVmYXVsdE5hbWUsZSl9dGhlbWVEZWZhdWx0cyhlKXtpZih0aGlzLl90aGVtZWRDb2xvcnMpcmV0dXJuIGZ1bmN0aW9uKGUsdCl7Y29uc3Qgcz17fSxpPUIodCk7Zm9yKGNvbnN0e3BhdGg6dCxjb2xvcnM6bn1vZiBlKSgwLGEuZGVmYXVsdCkocyx0LG5baV0pO3JldHVybiBzfSh0aGlzLl90aGVtZWRDb2xvcnMsZT09PXkuU3RkVGhlbWUuRGFyaz95LlN0ZFRoZW1lLkRhcms6eS5TdGRUaGVtZS5MaWdodCk7cmV0dXJuIFIodGhpcy5fZmFjdG9yeURlZmF1bHRzU3VwcGxpZXIoKSx0aGlzLl90aGVtZWREZWZhdWx0c0tleXMsdGhpcy5fZXhjbHVkZWREZWZhdWx0c0tleXMpfQpmYWN0b3J5RGVmYXVsdHMoKXtyZXR1cm4gdGhpcy5fZmFjdG9yeURlZmF1bHRzRm9yVGhlbWUoQyh0aGlzLl90aGVtZSkpfXRoZW1lU3RhdGUoKXtjb25zdCBlPXN1cGVyLnN0YXRlKHRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzKSx0PXRoaXMuX3RoZW1lZENvbG9ycztyZXR1cm4gUihlLHQ/dC5tYXAoKGU9PmUucGF0aCkpOnRoaXMuX3RoZW1lZERlZmF1bHRzS2V5cyl9YWxsVGhlbWVQcm9wZXJ0aWVzQXJlRGVmYXVsdChlKXsoMCxwLmFzc2VydCkoISF0aGlzLl90aGVtZWRDb2xvcnMsIlRoaXMgbWV0aG9kIHNob3VsZCBub3QgYmUgY2FsbGVkIGlmIHRoZW1lZCBjb2xvcnMgYXJlIG5vdCBzZXQiKTtyZXR1cm4gZnVuY3Rpb24oZSx0LHM9W10pe2Zvcihjb25zdCBpIG9mIHMpe2NvbnN0IHM9aS5wYXRoO2lmKCFPKCgwLG8uZGVmYXVsdCkoZSxzKSwoMCxvLmRlZmF1bHQpKHQscykpKXJldHVybiExfXJldHVybiEwfSh0aGlzLnRoZW1lU3RhdGUoKSx0aGlzLnRoZW1lRGVmYXVsdHMoZSksdGhpcy5fdGhlbWVkQ29sb3JzKX1jbG9uZShlKXtyZXR1cm4gbmV3IE4odGhpcy5fb3B0aW9ucygpKX1zZXRUaGVtZWRDb2xvcnMoZSl7aWYodGhpcy5fdGhlbWVkQ29sb3JzPWUsdm9pZCAwPT09dGhpcy5fdW5zdWJzY3JpYmVXYXRjaGVkVGhlbWUpe2NvbnN0IGU9KCk9Pnt0aGlzLl91cGRhdGVUaGVtZWRDb2xvcnMoITEpfTt0aGlzLl90aGVtZS5zdWJzY3JpYmUoZSksdGhpcy5fdW5zdWJzY3JpYmVXYXRjaGVkVGhlbWU9KCk9PnRoaXMuX3RoZW1lLnVuc3Vic2NyaWJlKGUpfXRoaXMuX3VwZGF0ZVRoZW1lZENvbG9ycyghMCl9YXBwbHlEZWZhdWx0VGhlbWVkUHJvcGVydGllcyhlKXt0aGlzLl90aGVtZWRDb2xvcnMmJnRoaXMubWVyZ2VBbmRGaXJlKHRoaXMudGhlbWVEZWZhdWx0cyhlKSl9c3RhdGUoZSx0KXtyZXR1cm4gUihzdXBlci5zdGF0ZShbLi4udGhpcy5fZXhjbHVkZWRTdGF0ZUtleXMsLi4uZT8/W11dLHQpLHRoaXMuX2FsbFN0YXRlS2V5cyl9ZnVsbFN0YXRlKCl7cmV0dXJuIHN1cGVyLnN0YXRlKCl9X3VwZGF0ZVRoZW1lZENvbG9ycyhlKXtpZighdGhpcy5fdGhlbWVkQ29sb3JzKXJldHVybjtjb25zdCB0PUModGhpcy5fdGhlbWUpLHM9dD09PXkuU3RkVGhlbWUuTGlnaHQ/eS5TdGRUaGVtZS5EYXJrOnkuU3RkVGhlbWUuTGlnaHQ7Zm9yKGNvbnN0IGkgb2YgdGhpcy5fdGhlbWVkQ29sb3JzKXtjb25zdCBuPSgwLHAuZW5zdXJlRGVmaW5lZCkodGhpcy5jaGlsZEJ5UGF0aChpLnBhdGgpKSxyPWkuY29sb3JzW0IocyldOygiIj09PW4udmFsdWUoKXx8IWUmJk8obi52YWx1ZSgpLHIpKSYmbi5zZXRWYWx1ZShpLmNvbG9yc1tCKHQpXSl9fV91c2VyU2V0dGluZ3MoKXtpZighdGhpcy5fdXNlVXNlclByZWZlcmVuY2VzKXJldHVybjtjb25zdCBlPUkoITAsdGhpcy5fZGVmYXVsdE5hbWUsW10pO2lmKCFlKXJldHVybjtyZXR1cm4gUigoMCxTLmV4dHJhY3RTdGF0ZVdpdGhTY2hlbWEpKGUsdGhpcy5fc2NoZW1hLDEpLHRoaXMuX2FsbERlZmF1bHRzS2V5cyx0aGlzLl9leGNsdWRlZERlZmF1bHRzS2V5cyl9X29wdGlvbnMoKXtyZXR1cm57ZGVmYXVsdE5hbWU6dGhpcy5fZGVmYXVsdE5hbWUsZmFjdG9yeURlZmF1bHRzU3VwcGxpZXI6dGhpcy5fZmFjdG9yeURlZmF1bHRzU3VwcGxpZXIsc3RhdGU6dGhpcy5zdGF0ZSgpLG5vblRoZW1lZERlZmF1bHRzS2V5czp0aGlzLl9ub25UaGVtZWREZWZhdWx0c0tleXMsdGhlbWVkRGVmYXVsdHNLZXlzOnRoaXMuX3RoZW1lZERlZmF1bHRzS2V5cyxleGNsdWRlZERlZmF1bHRzS2V5czp0aGlzLl9leGNsdWRlZERlZmF1bHRzS2V5cyx0aGVtZWRDb2xvcnM6dGhpcy5fdGhlbWVkQ29sb3JzLHJlcGxhY2VUaGVtZWRDb2xvcnNPblRoZW1lQ2hhbmdlOnRoaXMuX3JlcGxhY2VUaGVtZWRDb2xvcnNPblRoZW1lQ2hhbmdlLGFsbFN0YXRlS2V5czp0aGlzLl9hbGxTdGF0ZUtleXMsZXhjbHVkZWRTdGF0ZUtleXM6dGhpcy5fZXhjbHVkZWREZWZhdWx0c0tleXMsZXhjbHVkZWRUZW1wbGF0ZUtleXM6dGhpcy5fZXhjbHVkZWRUZW1wbGF0ZUtleXMsdXNlVXNlclByZWZlcmVuY2VzOnRoaXMuX3VzZVVzZXJQcmVmZXJlbmNlcyxzYXZlTm9uRGVmYXVsdFVzZXJQcmVmZXJlbmNlc09ubHk6dGhpcy5fc2F2ZU5vbkRlZmF1bHRVc2VyUHJlZmVyZW5jZXNPbmx5LGlnbm9yZUFsbG93U2F2aW5nRGVmYXVsdHM6dGhpcy5faWdub3JlQWxsb3dTYXZpbmdEZWZhdWx0cyxzYXZlRGVmYXVsdHNDb25zdW1lcjp0aGlzLl9zYXZlRGVmYXVsdHNDb25zdW1lcixhbHdheXNTYXZlRGVmYXVsdEtleXM6dGhpcy5fYWx3YXlzU2F2ZURlZmF1bHRLZXlzLHRoZW1lOnRoaXMuX3RoZW1lLnNwYXduT3duZXJzaGlwKCl9fV9jaGlsZENoYW5nZWQoZSx0KXtzdXBlci5fY2hpbGRDaGFuZ2VkKGUsdCksdGhpcy5fcHJvcGVydHlBZmZlY3RzRGVmYXVsdHModCkmJnRoaXMuc2F2ZURlZmF1bHRzKCl9X2ZpcmVNZXJnZUFuZEZpcmVDaGFuZ2VkUHJvcHMoZSl7dGhpcy5fZm9yYmlkU2F2aW5nRGVmYXVsdHM9ITAsc3VwZXIuX2ZpcmVNZXJnZUFuZEZpcmVDaGFuZ2VkUHJvcHMoZSksdGhpcy5fZm9yYmlkU2F2aW5nRGVmYXVsdHM9ITEsZS5zb21lKChlPT50aGlzLl9wcm9wZXJ0eUFmZmVjdHNEZWZhdWx0cyhlLnBhdGhUb1Jvb3RQcm9wZXJ0eSgpKSkpJiZ0aGlzLnNhdmVEZWZhdWx0cygpfV9mYWN0b3J5RGVmYXVsdHNGb3JUaGVtZShlKXtyZXR1cm4oMCxuLmRlZmF1bHQpKHRoaXMuX2ZhY3RvcnlEZWZhdWx0c1N1cHBsaWVyKCksdGhpcy50aGVtZURlZmF1bHRzKGUpKX1fcHJvcGVydHlBZmZlY3RzRGVmYXVsdHMoZSl7CnJldHVybih0aGlzLl9pZ25vcmVBbGxvd1NhdmluZ0RlZmF1bHRzfHxMKSYmIXRoaXMuX2RlZmF1bHROYW1lLnN0YXJ0c1dpdGgoInJlcGxheVN0dWR5U3RyYXRlZ3kiKSYmKCF0aGlzLl9kZWZhdWx0TmFtZS5zdGFydHNXaXRoKCJzdHVkeV8iKXx8dGhpcy5fZGVmYXVsdE5hbWUuc3RhcnRzV2l0aCgic3R1ZHlfVmJQRml4ZWQiKSkmJih0aGlzLl9hbGxEZWZhdWx0c0tleXMmJnRoaXMuX2FsbERlZmF1bHRzS2V5cy5pbmNsdWRlcyhlKXx8IXRoaXMuX2FsbERlZmF1bHRzS2V5cyYmIXRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzPy5pbmNsdWRlcyhlKSkmJigwLFAuaXNQcmltaXRpdmVUeXBlKSh0aGlzLmNoaWxkQnlQYXRoKGUpPy52YWx1ZSgpKX19fSwxMDk0MjkoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXJ7Y2xvbmU6aSxtZXJnZTpufT1zKDYwMTg0MSkscj1zKDkzMDUwNikuUGxEaXNwbGF5O2NvbnN0e2dldFN0ZENoYXJ0VGhlbWU6b309cyg3Mjg1NCkse0RFRkFVTFRfVEhFTUU6YX09cyg2NjUxODcpLGw9cyg1MDc2MDQpLmNvbG9yczt2YXIgdT1zKDkzMDUwNikuVHJhZGVkR3JvdXBIb3Jpem9udGFsQWxpZ25tZW50LGM9cygxNjgyNTgpLlNUVURZUExPVERJU1BMQVlUQVJHRVQsZD1zKDQ2NTc3NyksaD1zKDIyNjQ3NykuUHJpY2VBeGlzTGFzdFZhbHVlTW9kZSxwPXMoNDkyMzgxKS5NYWduZXRNb2RlLG09cygyMjc4MjUpLkNvbG9yVHlwZTtjb25zdCBfPXMoMzk4ODk5KS5ERUZBVUxUX0xJTkVfVE9PTF9MSU5FX1dJRFRIO3ZhciBnPXMoOTYxODMxKS5zZXNzaW9uc1ByZWZlcmVuY2VzRGVmYXVsdCx5PXMoNzA5NDYpLmF4aXNMYWJlbEJhY2tncm91bmRDb2xvcixmPXMoNTE4Nzk1KS5tYWluU2VyaWVzUHJvcGVydGllcztjb25zdHtkZWZhdWx0c0FzSXM6dixhcHBseURlZmF1bHRzT3ZlcnJpZGVzOmIsYXBwbHlEZWZhdWx0T3ZlcnJpZGVzVG9MaW5ldG9vbHM6U309cyg3OTQ4MTIpLHtMSU5FU1RZTEVfU09MSUQ6dyxMSU5FU1RZTEVfRE9UVEVEOlAsTElORVNUWUxFX0RBU0hFRDpUfT1zKDI2MDY5KSx7Y29sb3JXaGl0ZTpDLGNvbG9yVHZCbHVlNTAwOkUsY29sb3JUdkJsdWU1MDBBbHBoYTMwOkksY29sb3JUdkJsdWU1MDBBbHBoYTI1OkwsY29sb3JUdkJsdWU1MDBBbHBoYTIwOk0sY29sb3JEZWVwQmx1ZTUwMDpELGNvbG9yU2t5Qmx1ZTUwMDp4LGNvbG9yUmlwZVJlZDUwMDpSLGNvbG9yUmlwZVJlZDUwMEFscGhhMzA6ayxjb2xvclJpcGVSZWQ1MDBBbHBoYTIwOlYsY29sb3JHcmFwZXNQdXJwbGU1MDBBbHBoYTA6QSxjb2xvckdyYXBlc1B1cnBsZTUwMEFscGhhNzA6Rixjb2xvckJlcnJ5UGluazUwMDpCLGNvbG9yTWludHlHcmVlbjUwMDpPLGNvbG9ySWd1YW5hR3JlZW41MDA6Tixjb2xvclRhbk9yYW5nZTUwMDpXLGNvbG9yQ29sZEdyYXkxNTA6VSxjb2xvckNvbGRHcmF5NTAwOnosY29sb3JDb2xkR3JheTkwMDpILGNvbG9yQ29sZEdyYXk3NTA6an09bDt2YXIgJD1mdW5jdGlvbihlKXt2YXIgdD1mdW5jdGlvbihlLHQscyxpKXtjb25zdCBuPXtjb2VmZjplLGNvbG9yOnQsdmlzaWJsZTpzfTtyZXR1cm4gaSYmKG4udGV4dD0iIiksbn0scz1mdW5jdGlvbihlLHQscyxpLG4pe3JldHVybntjb2VmZjplLGNvbG9yOnQsdmlzaWJsZTpzLGxpbmVzdHlsZTp2b2lkIDA9PT1pP3c6aSxsaW5ld2lkdGg6dm9pZCAwPT09bj9fOm59fTtpZih2b2lkIDA9PT1UcmFkaW5nVmlldy5kZWZhdWx0UHJvcGVydGllcyl7dmFyIHY7c3dpdGNoKHdpbmRvdy5sb2NhbGUpe2Nhc2UiYXJfQUUiOnY9IkFzaWEvRHViYWkiO2JyZWFrO2Nhc2UiYXUiOnY9IkF1c3RyYWxpYS9TeWRuZXkiO2JyZWFrO2Nhc2UiYnIiOnY9IkFtZXJpY2EvU2FvX1BhdWxvIjticmVhaztjYXNlImNhIjp2PSJBbWVyaWNhL1Rvcm9udG8iO2JyZWFrO2Nhc2UiZGVfREUiOmNhc2UiaXQiOnY9IkV1cm9wZS9CZXJsaW4iO2JyZWFrO2Nhc2UiZXMiOnY9IkV1cm9wZS9NYWRyaWQiO2JyZWFrO2Nhc2UiaGVfSUwiOmNhc2UidHIiOnY9IkV1cm9wZS9BdGhlbnMiO2JyZWFrO2Nhc2UiaHVfSFUiOmNhc2UicGwiOnY9IkV1cm9wZS9XYXJzYXciO2JyZWFrO2Nhc2UiaWQiOmNhc2UidGhfVEgiOmNhc2UidmlfVk4iOnY9IkFzaWEvQmFuZ2tvayI7YnJlYWs7Y2FzZSJpbiI6dj0iQXNpYS9Lb2xrYXRhIjticmVhaztjYXNlImphIjpjYXNlImtyIjp2PSJBc2lhL1Rva3lvIjticmVhaztjYXNlIm1zX01ZIjp2PSJBc2lhL1NpbmdhcG9yZSI7YnJlYWs7Y2FzZSJydSI6dj0iRXVyb3BlL01vc2NvdyI7YnJlYWs7Y2FzZSJ1ayI6dj0iRXVyb3BlL0xvbmRvbiI7YnJlYWs7Y2FzZSJ6aF9DTiI6Y2FzZSJ6aF9UVyI6dj0iQXNpYS9TaGFuZ2hhaSI7YnJlYWs7ZGVmYXVsdDp2PSJFdGMvVVRDIn1jb25zdCBlPW8oYSk7VHJhZGluZ1ZpZXcuZGVmYXVsdFByb3BlcnRpZXM9e2NoYXJ0cHJvcGVydGllczpuKHt0aW1lem9uZTp2LHByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWU6ImF1dG8iLGluYWN0aXZpdHlHYXBzOiExLHBhbmVQcm9wZXJ0aWVzOntiYWNrZ3JvdW5kVHlwZTptLlNvbGlkLHZlcnRHcmlkUHJvcGVydGllczp7c3R5bGU6UCx2aXNpYmxlOiEwfSxob3J6R3JpZFByb3BlcnRpZXM6e3N0eWxlOlAsdmlzaWJsZTohMH0sY3Jvc3NIYWlyUHJvcGVydGllczp7c3R5bGU6VCx0cmFuc3BhcmVuY3k6MCx3aWR0aDoxfSx0b3BNYXJnaW46MTAsYm90dG9tTWFyZ2luOjgsYXhpc1Byb3BlcnRpZXM6e2F1dG9TY2FsZTohMCxhdXRvU2NhbGVEaXNhYmxlZDohMSxsb2NrU2NhbGU6ITEscGVyY2VudGFnZTohMSxwZXJjZW50YWdlRGlzYWJsZWQ6ITEsaW5kZXhlZFRvMTAwOiExLGxvZzohMSxsb2dEaXNhYmxlZDohMSxhbGlnbkxhYmVsczohMCxpc0ludmVydGVkOiExfSxsZWdlbmRQcm9wZXJ0aWVzOntzaG93U3R1ZHlBcmd1bWVudHM6ITAsc2hvd1N0dWR5VGl0bGVzOiEwLHNob3dTdHVkeVZhbHVlczohMCxzaG93U2VyaWVzVGl0bGU6ITAsc2hvd1Nlcmllc09ITEM6ITAsc2hvd0xlZ2VuZDohMCxzaG93TGFzdERheUNoYW5nZTohMSxzaG93QmFyQ2hhbmdlOiEwLHNob3dWb2x1bWU6ITEsc2hvd0JhY2tncm91bmQ6ITAsc2hvd1ByaWNlU291cmNlOiEwLApiYWNrZ3JvdW5kVHJhbnNwYXJlbmN5OjUwLHNob3dMb2dvOiEwLHNob3dUcmFkaW5nQnV0dG9uczohMCxzaG93VHJhZGluZ0J1dHRvbnNNb2JpbGU6ITAsc2hvd1Nlcmllc0xlZ2VuZENsb3NlT25Nb2JpbGU6ITAsYmFyQ2hhbmdlVXBDb2xvcjpPLGJhckNoYW5nZURvd25Db2xvcjpSLHVzZUJhckNoYW5nZUN1c3RvbUNvbG9yczohMX0sc2VwYXJhdG9yQ29sb3I6VX0sc2NhbGVzUHJvcGVydGllczp7Zm9udFNpemU6MTIsc2NhbGVTZXJpZXNPbmx5OiExLHNob3dTZXJpZXNMYXN0VmFsdWU6ITAsc2VyaWVzTGFzdFZhbHVlTW9kZTpoLkxhc3RWYWx1ZUFjY29yZGluZ1RvU2NhbGUsc2hvd1Nlcmllc1ByZXZDbG9zZVZhbHVlOiExLHNob3dTdHVkeUxhc3RWYWx1ZTohMCxzaG93U3ltYm9sTGFiZWxzOiExLHNob3dTdHVkeVBsb3RMYWJlbHM6ITEsc2hvd0JpZEFza0xhYmVsczohMSxzaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWw6ITAsc2hvd0Z1bmRhbWVudGFsTmFtZUxhYmVsOiExLHNob3dGdW5kYW1lbnRhbExhc3RWYWx1ZTohMCxiYXJTcGFjaW5nOmQuREVGQVVMVF9CQVJfU1BBQ0lORyxheGlzSGlnaGxpZ2h0Q29sb3I6TCxheGlzTGluZVRvb2xMYWJlbEJhY2tncm91bmRDb2xvckNvbW1vbjp5LmNvbW1vbixheGlzTGluZVRvb2xMYWJlbEJhY2tncm91bmRDb2xvckFjdGl2ZTp5LmFjdGl2ZSxzaG93UHJpY2VTY2FsZUNyb3NzaGFpckxhYmVsOiEwLHNob3dUaW1lU2NhbGVDcm9zc2hhaXJMYWJlbDohMCxjcm9zc2hhaXJMYWJlbEJnQ29sb3JMaWdodDpILGNyb3NzaGFpckxhYmVsQmdDb2xvckRhcms6aixzYXZlTGVmdEVkZ2U6ITF9LG1haW5TZXJpZXNQcm9wZXJ0aWVzOm4oZixlLmNvbnRlbnQubWFpblNvdXJjZVByb3BlcnRpZXMpLGNoYXJ0RXZlbnRzU291cmNlUHJvcGVydGllczp7dmlzaWJsZTohMCxmdXR1cmVPbmx5OiEwLGJyZWFrczp7Y29sb3I6IiM1NTU1NTUiLHZpc2libGU6ITEsc3R5bGU6VCx3aWR0aDoxfX0sdHJhZGluZ1Byb3BlcnRpZXM6e3Nob3dQb3NpdGlvbnM6ITAscG9zaXRpb25QTDp7dmlzaWJpbGl0eTohMCxkaXNwbGF5OnIuTW9uZXl9LGJyYWNrZXRzUEw6e3Zpc2liaWxpdHk6ITAsZGlzcGxheTpyLk1vbmV5fSxwb3NpdGlvbkFuZEJyYWNrZXRzUEw6ITAsc2hvd1Byb2plY3RNYXJrZXRPcmRlcjohMCxzaG93T3JkZXJzOiEwLHNob3dFeGVjdXRpb25zOiEwLHNob3dFeGVjdXRpb25zTGFiZWxzOiExLHNob3dSZXZlcnNlOiEwLGhvcml6b250YWxBbGlnbm1lbnQ6dS5SaWdodCxleHRlbmRMZWZ0OiEwLGxpbmVMZW5ndGg6NSxsaW5lV2lkdGg6MSxsaW5lU3R5bGU6d30sdm9sdW1lUGFuZVNpemU6ImxhcmdlIn0sZS5jb250ZW50LmNoYXJ0UHJvcGVydGllcyksc2Vzc2lvbnM6bihnLGUuY29udGVudC5zZXNzaW9ucyksZHJhd2luZ3M6e21hZ25ldDohMSxtYWduZXRTbmFwc1RvSW5kaWNhdG9yczohMSxtYWduZXRNb2RlOnAuV2Vha01hZ25ldCxzdGF5SW5EcmF3aW5nTW9kZTohMSxkcmF3T25BbGxDaGFydHM6ITAsZHJhd09uQWxsQ2hhcnRzTW9kZToxfSxsaW5ldG9vbGV4ZWN1dGlvbjp7ZGlyZWN0aW9uOiJidXkiLGFycm93SGVpZ2h0OjgsYXJyb3dTcGFjaW5nOjEsYXJyb3dCdXlDb2xvcjoiIzQwOTRlOCIsYXJyb3dTZWxsQ29sb3I6IiNlNzU2NTYiLHRleHQ6IiIsdGV4dENvbG9yOmwuY29sb3JCbGFjayx0ZXh0VHJhbnNwYXJlbmN5OjAsZm9udEZhbWlseToiVmVyZGFuYSIsZm9udFNpemU6MTAsZm9udEJvbGQ6ITEsZm9udEl0YWxpYzohMSx0b29sdGlwOiIifSxsaW5ldG9vbGJhbGxvb246e2NvbG9yOkMsYmFja2dyb3VuZENvbG9yOkYsYm9yZGVyQ29sb3I6QSxmb250c2l6ZToxNCx0cmFuc3BhcmVuY3k6MzB9LGxpbmV0b29sY29tbWVudDp7Y29sb3I6QyxiYWNrZ3JvdW5kQ29sb3I6RSxib3JkZXJDb2xvcjpFLGZvbnRzaXplOjE2LHRyYW5zcGFyZW5jeTowfSxsaW5ldG9vbGVsbGlwc2U6e2NvbG9yOlIsZmlsbEJhY2tncm91bmQ6ITAsYmFja2dyb3VuZENvbG9yOlYsdHJhbnNwYXJlbmN5OjUwLGxpbmV3aWR0aDpfLHRleHRDb2xvcjpSLGZvbnRTaXplOjE0LGJvbGQ6ITEsaXRhbGljOiExfSxsaW5ldG9vbHBhcmFsbGVsY2hhbm5lbDp7bGluZWNvbG9yOkUsbGluZXdpZHRoOl8sbGluZXN0eWxlOncsZXh0ZW5kTGVmdDohMSxleHRlbmRSaWdodDohMSxmaWxsQmFja2dyb3VuZDohMCxiYWNrZ3JvdW5kQ29sb3I6TSx0cmFuc3BhcmVuY3k6MjAsc2hvd01pZGxpbmU6ITAsbWlkbGluZWNvbG9yOkUsbWlkbGluZXdpZHRoOjEsbWlkbGluZXN0eWxlOlQsbGFiZWxWaXNpYmxlOiExLGxhYmVsSG9yekFsaWduOiJsZWZ0IixsYWJlbFZlcnRBbGlnbjoiYm90dG9tIixsYWJlbFRleHRDb2xvcjpFLGxhYmVsRm9udFNpemU6MTQsbGFiZWxCb2xkOiExLGxhYmVsSXRhbGljOiExfSxsaW5ldG9vbGZpYnNwZWVkcmVzaXN0YW5jZWZhbjp7ZmlsbEJhY2tncm91bmQ6ITAsdHJhbnNwYXJlbmN5OjgwLGdyaWQ6e2NvbG9yOiJyZ2JhKDIxLCA1NiwgMTUzLCAwLjgpIixsaW5ld2lkdGg6MSxsaW5lc3R5bGU6dyx2aXNpYmxlOiEwfSxsaW5ld2lkdGg6XyxsaW5lc3R5bGU6dyxzaG93VG9wTGFiZWxzOiEwLHNob3dCb3R0b21MYWJlbHM6ITAsc2hvd0xlZnRMYWJlbHM6ITAsc2hvd1JpZ2h0TGFiZWxzOiEwLHJldmVyc2U6ITEsaGxldmVsMTp0KDAseiwhMCksaGxldmVsMjp0KC4yNSxXLCEwKSxobGV2ZWwzOnQoLjM4Mix4LCEwKSxobGV2ZWw0OnQoLjUsTiwhMCksaGxldmVsNTp0KC42MTgsTywhMCksaGxldmVsNjp0KC43NSxFLCEwKSxobGV2ZWw3OnQoMSx6LCEwKSx2bGV2ZWwxOnQoMCx6LCEwKSx2bGV2ZWwyOnQoLjI1LFcsITApLHZsZXZlbDM6dCguMzgyLHgsITApLHZsZXZlbDQ6dCguNSxOLCEwKSx2bGV2ZWw1OnQoLjYxOCxPLCEwKSx2bGV2ZWw2OnQoLjc1LEUsITApLHZsZXZlbDc6dCgxLHosITApfSxsaW5ldG9vbGZpYndlZGdlOntzaG93Q29lZmZzOiEwLGZpbGxCYWNrZ3JvdW5kOiEwLHRyYW5zcGFyZW5jeTo4MCx0cmVuZGxpbmU6e3Zpc2libGU6ITAsY29sb3I6IiM4MDgwODAiLGxpbmV3aWR0aDpfLGxpbmVzdHlsZTp3fSxsZXZlbDE6cyguMjM2LFIsITApLApsZXZlbDI6cyguMzgyLFcsITApLGxldmVsMzpzKC41LE4sITApLGxldmVsNDpzKC42MTgsTywhMCksbGV2ZWw1OnMoLjc4Nix4LCEwKSxsZXZlbDY6cygxLHosITApLGxldmVsNzpzKDEuNjE4LEUsITEpLGxldmVsODpzKDIuNjE4LFIsITEpLGxldmVsOTpzKDMuNjE4LEQsITEpLGxldmVsMTA6cyg0LjIzNixCLCExKSxsZXZlbDExOnMoNC42MTgsQiwhMSl9LGxpbmV0b29sZmlic3BlZWRyZXNpc3RhbmNlYXJjczp7c2hvd0NvZWZmczohMCxmaWxsQmFja2dyb3VuZDohMCx0cmFuc3BhcmVuY3k6ODAsZnVsbENpcmNsZXM6ITEsdHJlbmRsaW5lOnt2aXNpYmxlOiEwLGNvbG9yOnosbGluZXdpZHRoOl8sbGluZXN0eWxlOlR9LGxldmVsMTpzKC4yMzYsUiwhMCksbGV2ZWwyOnMoLjM4MixXLCEwKSxsZXZlbDM6cyguNSxPLCEwKSxsZXZlbDQ6cyguNjE4LE4sITApLGxldmVsNTpzKC43ODYseCwhMCksbGV2ZWw2OnMoMSx6LCEwKSxsZXZlbDc6cygxLjYxOCxFLCEwKSxsZXZlbDg6cygyLjYxOCxCLCEwKSxsZXZlbDk6cygzLjYxOCxFLCEwKSxsZXZlbDEwOnMoNC4yMzYsQiwhMCksbGV2ZWwxMTpzKDQuNjE4LFIsITApfSxsaW5ldG9vbHJlZ3Jlc3Npb250cmVuZDp7bGluZXdpZHRoOjEsbGluZXN0eWxlOncsc3R5bGVzOnt1cExpbmU6e2Rpc3BsYXk6Yy5BbGwsY29sb3I6SSxsaW5lc3R5bGU6dyxsaW5ld2lkdGg6X30sZG93bkxpbmU6e2Rpc3BsYXk6Yy5BbGwsY29sb3I6SSxsaW5lc3R5bGU6dyxsaW5ld2lkdGg6X30sYmFzZUxpbmU6e2Rpc3BsYXk6Yy5BbGwsY29sb3I6ayxsaW5lc3R5bGU6VCxsaW5ld2lkdGg6MX0sZXh0ZW5kTGluZXM6ITEsc2hvd1BlYXJzb25zOiEwLHRyYW5zcGFyZW5jeTo3MH19fSxiKFRyYWRpbmdWaWV3LmRlZmF1bHRQcm9wZXJ0aWVzLmNoYXJ0cHJvcGVydGllcyksUygpfWZvcih2YXIgJD1lLnNwbGl0KCIuIikscT1UcmFkaW5nVmlldy5kZWZhdWx0UHJvcGVydGllcyxLPTA7SzwkLmxlbmd0aDtLKyspcSYmKHE9cVskW0tdXSk7cmV0dXJuIG51bGwhPXE/aShxKTp7fX07ZnVuY3Rpb24gcShlKXtyZXR1cm4gdihlLCQpfVRyYWRpbmdWaWV3LnNhdmVEZWZhdWx0cz1mdW5jdGlvbihlLHQpe3ZvaWQgMD09PXQ/VFZTZXR0aW5ncy5yZW1vdmUoZSk6VFZTZXR0aW5ncy5zZXRKU09OKGUsdCl9LFRyYWRpbmdWaWV3LmZhY3RvcnlEZWZhdWx0cz0kLHdpbmRvdy5kZWZhdWx0cz1xLHQuZGVmYXVsdHM9cSx0LmZhY3RvcnlEZWZhdWx0cz0kLHQuc2F2ZURlZmF1bHRzPVRyYWRpbmdWaWV3LnNhdmVEZWZhdWx0c30sNDY4NTM4KGUsdCxzKXsidXNlIHN0cmljdCI7dmFyIGksbjtzLmQodCx7RHJhd2luZ1N5bmNNb2RlOigpPT5pLFNlbGVjdFBvaW50TW9kZTooKT0+bn0pLGZ1bmN0aW9uKGUpe2VbZS5MYXlvdXQ9MV09IkxheW91dCIsZVtlLkdsb2JhbD0yXT0iR2xvYmFsIn0oaXx8KGk9e30pKSxmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLlJlcGxheT0xXT0iUmVwbGF5IixlW2UuU3R1ZHk9Ml09IlN0dWR5In0obnx8KG49e30pKX0sNjc4Mjg1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5yKHQpLHMuZCh0LHtEcmF3aW5nU3luY01vZGU6KCk9PmkuRHJhd2luZ1N5bmNNb2RlLFNlbGVjdFBvaW50TW9kZTooKT0+aS5TZWxlY3RQb2ludE1vZGUsYWN0aXZlUG9pbnRTZWxlY3Rpb25Nb2RlOigpPT5aLGFsaWduVG80NURlZ3JlZXM6KCk9Pk1lLGJhclRpbWVzVW5kZXJDdXJzb3I6KCk9PnRlLGJlZW5TZXRMaW5lVG9vbExhc3RQb2ludDooKT0+VyxjYW5jZWxMaW5lVG9vbDooKT0+b2UsY2FuY2VsbGVkTGluZVRvb2w6KCk9Pk4sY2hhbmdlTGluZVN0eWxlOigpPT5nZSxjaGFuZ2VMaW5lVG9vbDooKT0+aGUsY2hhbmdlZExpbmVTdHlsZTooKT0+RyxjaGFuZ2VkTGluZVRvb2w6KCk9PiQsY29udGludWVMaW5lVG9vbDooKT0+cmUsY29udGludWVkTGluZVRvb2w6KCk9Pk8sY29waWVkTGluZVRvb2w6KCk9PkosY29weUxpbmVUb29sOigpPT55ZSxjcmVhdGVMaW5lVG9vbDooKT0+bmUsY3JlYXRlZExpbmVUb29sOigpPT5CLGNyb3NzaGFpckxvY2s6KCk9PkksY3Vyc29yVG9vbDooKT0+UixkcmF3T25BbGxDaGFydHM6KCk9PkRlLGRyYXdPbkFsbENoYXJ0c01vZGU6KCk9PnhlLGVtb2ppVG9vbDooKT0+RCxmaW5pc2hDaGFuZ2luZ0xpbmVUb29sOigpPT5wZSxmaW5pc2hMaW5lVG9vbDooKT0+X2UsZmluaXNoTW92aW5nTGluZVRvb2w6KCk9PmNlLGZpbmlzaGVkQ2hhbmdpbmdMaW5lVG9vbDooKT0+cSxmaW5pc2hlZExpbmVUb29sOigpPT5ZLGZpbmlzaGVkTW92aW5nTGluZVRvb2w6KCk9PkgsaGlkZUFsbERyYXdpbmdzOigpPT5DZSxoaWRlQWxsSW5kaWNhdG9yczooKT0+RWUsaGlkZU1hcmtzT25CYXJzOigpPT5MZSxpY29uVG9vbDooKT0+TSxpbml0OigpPT53ZSxpc0RpcmVjdGlvbmFsTW92ZW1lbnRBY3RpdmU6KCk9PkYsaXNTdHVkeUVkaXRpbmdOb3c6KCk9PmVlLGlzVG9vbENyZWF0aW5nTm93OigpPT5rLGlzVG9vbEVkaXRpbmdOb3c6KCk9PlYsaXNUb29sTW92aW5nTm93OigpPT5BLGxvY2tEcmF3aW5nczooKT0+SWUsbW92ZUxpbmVUb29sOigpPT51ZSxtb3ZlZExpbmVUb29sOigpPT56LHByb3BlcnRpZXM6KCk9PlRlLHJlbW92ZUxpbmVUb29sOigpPT5tZSxyZW1vdmVkTGluZVRvb2w6KCk9PksscmVzZXRUb0N1cnNvcjooKT0+dixyZXN0b3JlTGluZVRvb2w6KCk9PmZlLHJlc3RvcmVMaW5lVG9vbFN0YXRlOigpPT52ZSxyZXN0b3JlZExpbmVUb29sOigpPT5YLHJlc3RvcmVkTGluZVRvb2xTdGF0ZTooKT0+USxydW5PbkRyYXdpbmdTdGF0ZVJlYWR5OigpPT5QZSxzZXRMaW5lVG9vbExhc3RQb2ludDooKT0+YWUsc3RhcnRDaGFuZ2luZ0xpbmVUb29sOigpPT5kZSxzdGFydE1vdmluZ0xpbmVUb29sOigpPT5sZSxzdGFydGVkQ2hhbmdpbmdMaW5lVG9vbDooKT0+aixzdGFydGVkTW92aW5nTGluZVRvb2w6KCk9PlUsc3RpY2tlclRvb2w6KCk9PngsdG9vbDooKT0+TCx0b29sSXNDdXJzb3I6KCk9Pl8sdG9vbElzRGVtb25zdHJhdGlvbjooKT0+eSx0b29sSXNFcmFzZXI6KCk9PmcsdG9vbElzTWVhc3VyZTooKT0+Zix0cnlTZWxlY3RMaW5lVG9vbDooKT0+Yn0pCjt2YXIgaT1zKDQ2ODUzOCksbj1zKDEzODYzOCkscj1zKDM3ODA4KSxvPXMoOTc0NjYzKSxhPXMoMjMyMzY0KSxsPXMoNDAyMDQ1KSx1PXMoOTQ4MzgwKSxjPXMoOTMwNTY2KSxkPXMoMTc5NzcxKSxoPXMoMzg2OTMxKSxwPXMoNTU2NjUxKTtjb25zdCBtPW5ldyBTZXQoWyJjdXJzb3IiLCJhcnJvdyIsImRvdCIsInBlcmZvcm1hbmNlIiwiZGVtb25zdHJhdGlvbiJdKTtmdW5jdGlvbiBfKGUpe3JldHVybiBtLmhhcyhlKX1mdW5jdGlvbiBnKGUpe3JldHVybiJlcmFzZXIiPT09ZX1mdW5jdGlvbiB5KGUpe3JldHVybiJkZW1vbnN0cmF0aW9uIj09PWV9ZnVuY3Rpb24gZihlKXtyZXR1cm4ibWVhc3VyZSI9PT1lfWZ1bmN0aW9uIHYoZT0hMSl7aWYoIWUmJlMpe2lmKFMuY2hpbGRzKCkuc3RheUluRHJhd2luZ01vZGUudmFsdWUoKSlyZXR1cm59TC5zZXRWYWx1ZShSLnZhbHVlKCkpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuISEoMCxwLmVuc3VyZURyYXdpbmdTZWxlY3RBbGxvd2VkKShlKSYmKEwuc2V0VmFsdWUoZSksITApfWxldCBTPW51bGwsdz1udWxsLFA9bnVsbCxUPW51bGwsQz1udWxsLEU9bnVsbDtjb25zdCBJPW5ldyBsLldhdGNoZWRPYmplY3QobnVsbCksTD1uZXcgYS5XYXRjaGVkVmFsdWUsTT1uZXcgYS5XYXRjaGVkVmFsdWUsRD1uZXcgYS5XYXRjaGVkVmFsdWUseD1uZXcgYS5XYXRjaGVkVmFsdWUsUj1uZXcgYS5XYXRjaGVkVmFsdWUsaz1uZXcgYS5XYXRjaGVkVmFsdWUoITEpLFY9bmV3IGEuV2F0Y2hlZFZhbHVlKCExKSxBPW5ldyBhLldhdGNoZWRWYWx1ZSghMSksRj1uZXcgYS5XYXRjaGVkVmFsdWUoITEpLEI9bmV3IHUuRGVsZWdhdGUsTz1uZXcgdS5EZWxlZ2F0ZSxOPW5ldyB1LkRlbGVnYXRlLFc9bmV3IHUuRGVsZWdhdGUsVT1uZXcgdS5EZWxlZ2F0ZSx6PW5ldyB1LkRlbGVnYXRlLEg9bmV3IHUuRGVsZWdhdGUsaj1uZXcgdS5EZWxlZ2F0ZSwkPW5ldyB1LkRlbGVnYXRlLHE9bmV3IHUuRGVsZWdhdGUsSz1uZXcgdS5EZWxlZ2F0ZSxZPW5ldyB1LkRlbGVnYXRlLEc9bmV3IHUuRGVsZWdhdGUsSj1uZXcgdS5EZWxlZ2F0ZSxYPW5ldyB1LkRlbGVnYXRlLFE9bmV3IHUuRGVsZWdhdGUsWj1uZXcgYS5XYXRjaGVkVmFsdWUoaS5TZWxlY3RQb2ludE1vZGUuTm9uZSksZWU9bmV3IGEuV2F0Y2hlZFZhbHVlKCExKSx0ZT1uZXcgTWFwO2Z1bmN0aW9uIHNlKGUsdCl7Y29uc3Qgcz10fHx7dmFsdWU6ITF9O3JldHVybiB0PT57cy52YWx1ZXx8KHMudmFsdWU9ITAsZS5maXJlKHQpLHMudmFsdWU9ITEpfX1jb25zdCBpZT17dmFsdWU6ITF9LG5lPXNlKEIsaWUpLHJlPXNlKE8saWUpLG9lPXNlKE4saWUpLGFlPXNlKFcsaWUpLGxlPXNlKFUpLHVlPXNlKHopLGNlPXNlKEgpLGRlPXNlKGopLGhlPXNlKCQpLHBlPXNlKHEpLG1lPXNlKEspLF9lPXNlKFkpLGdlPXNlKEcsaWUpLHllPXNlKEosaWUpLGZlPXNlKFgpLHZlPXNlKFEpO2xldCBiZT0hMSxTZT1bXTtmdW5jdGlvbiB3ZSgpe2lmKGJlKXJldHVybjtjb25zdCBlPWMuZ2V0VmFsdWUoImNoYXJ0LmN1cnNvclByZWZlcmVuY2UiLCJjdXJzb3IiKTtMLnNldFZhbHVlKF8oZSk/ZToiY3Vyc29yIiksTC5zdWJzY3JpYmUoKGU9PntfKGUpP1Iuc2V0VmFsdWUoZSk6ZyhlKSYmKDAsaC50cmFja0V2ZW50KSgiQ2hhcnQgY3Vyc29ycyIsZSl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksUi5zdWJzY3JpYmUoKGU9PnsoMCxoLnRyYWNrRXZlbnQpKCJDaGFydCBjdXJzb3JzIixlKSxlJiYicGVyZm9ybWFuY2UiIT09ZSYmIXkoZSkmJmMuc2V0VmFsdWUoImNoYXJ0LmN1cnNvclByZWZlcmVuY2UiLGUpfSkpLFM9bmV3IG8uRGVmYXVsdFByb3BlcnR5KHtkZWZhdWx0TmFtZToiZHJhd2luZ3MifSksdz0oMCxyLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KSghMSksUD0oMCxyLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KSghMSksVD0oMCxyLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KSghMSksQz0oMCxyLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KSghYy5nZXRCb29sKCJCYXJzTWFya3NDb250YWluZXIudmlzaWJpbGUiLCEwKSksRT0oMCxyLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KSghMSksTC5zdWJzY3JpYmUoKGU9PnsoMCxkLmVtaXQpKCJvblNlbGVjdGVkTGluZVRvb2xDaGFuZ2VkIil9KSksYmU9ITAsU2UuZm9yRWFjaCgoZT0+ZSgpKSksU2U9W119ZnVuY3Rpb24gUGUoZSl7YmU/ZSgpOlNlLnB1c2goZSl9ZnVuY3Rpb24gVGUoKXtyZXR1cm4oMCxuLmVuc3VyZU5vdE51bGwpKFMpfWZ1bmN0aW9uIENlKCl7cmV0dXJuKDAsbi5lbnN1cmVOb3ROdWxsKSh3KX1mdW5jdGlvbiBFZSgpe3JldHVybigwLG4uZW5zdXJlTm90TnVsbCkoUCl9ZnVuY3Rpb24gSWUoKXtyZXR1cm4oMCxuLmVuc3VyZU5vdE51bGwpKFQpfWZ1bmN0aW9uIExlKCl7cmV0dXJuKDAsbi5lbnN1cmVOb3ROdWxsKShDKX1mdW5jdGlvbiBNZSgpe3JldHVybigwLG4uZW5zdXJlTm90TnVsbCkoRSl9ZnVuY3Rpb24gRGUoKXtyZXR1cm4gVGUoKS5jaGlsZHMoKS5kcmF3T25BbGxDaGFydHN9ZnVuY3Rpb24geGUoKXtyZXR1cm4gVGUoKS5jaGlsZHMoKS5kcmF3T25BbGxDaGFydHNNb2RlfX0sOTQzOTUoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgaSxuLHI7cy5kKHQse1RpdGxlRGlzcGxheVRhcmdldDooKT0+cn0pLGZ1bmN0aW9uKGUpe2VbZS5BZnRlck1haW5TZXJpZXM9MF09IkFmdGVyTWFpblNlcmllcyJ9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7ZVtlLklkbGU9MF09IklkbGUiLGVbZS5Qcm9jZXNzaW5nPTFdPSJQcm9jZXNzaW5nIixlW2UuQWN0aXZlPTJdPSJBY3RpdmUiLGVbZS5TdG9wcGVkPTNdPSJTdG9wcGVkIn0obnx8KG49e30pKSxmdW5jdGlvbihlKXtlW2UuRGF0YVdpbmRvdz0xXT0iRGF0YVdpbmRvdyIsZVtlLlN0YXR1c0xpbmU9Ml09IlN0YXR1c0xpbmUiLGVbZS5BbGVydHM9M109IkFsZXJ0cyJ9KHJ8fChyPXt9KSl9LDIxNDc1MChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtDb2xsZWN0aWJsZUNvbG9yUHJvcGVydHlEaXJlY3RXcmFwcGVyOigpPT5hLENvbGxlY3RpYmxlQ29sb3JQcm9wZXJ0eVVuZG9XcmFwcGVyOigpPT5vfSk7dmFyIGk9cygxMzg2MzgpLG49cyg3NjgyOTIpCjtjbGFzcyByIGV4dGVuZHMgbi5Qcm9wZXJ0eXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2xpc3RlbmVyc01hcHBlcnM9W10sdGhpcy5faXNQcm9jZXNzPSExLHRoaXMuX2Jhc2VQcm9wZXJ0eT1lfWRlc3Ryb3koKXt0aGlzLl9iYXNlUHJvcGVydHkuZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX12YWx1ZSgpe2NvbnN0IGU9dGhpcy5fYmFzZVByb3BlcnR5LnZhbHVlKCk7cmV0dXJuIm1peGVkIj09PWU/IiI6ZX12aXNpYmxlKCl7cmV0dXJuIHRoaXMuX2Jhc2VQcm9wZXJ0eS52aXNpYmxlKCl9c2V0VmFsdWUoZSl7dGhpcy5faXNQcm9jZXNzPSEwLHRoaXMuX2Jhc2VQcm9wZXJ0eS5zZXRWYWx1ZSgiIj09PWU/Im1peGVkIjplLHZvaWQgMCx7YXBwbHlWYWx1ZTp0aGlzLl9hcHBseVZhbHVlLmJpbmQodGhpcyl9KSx0aGlzLl9pc1Byb2Nlc3M9ITEsdGhpcy5fbGlzdGVuZXJzTWFwcGVycy5mb3JFYWNoKChlPT57ZS5tZXRob2QuY2FsbChlLm9iaix0aGlzLCIiKX0pKX1zdWJzY3JpYmUoZSx0KXtjb25zdCBzPXM9Pnt0aGlzLl9pc1Byb2Nlc3N8fHQuY2FsbChlLHRoaXMsIiIpfSxpPXtvYmo6ZSxtZXRob2Q6dCxjYWxsYmFjazpzfTt0aGlzLl9saXN0ZW5lcnNNYXBwZXJzLnB1c2goaSksdGhpcy5fYmFzZVByb3BlcnR5LnN1YnNjcmliZShlLHMpfXVuc3Vic2NyaWJlKGUsdCl7Y29uc3Qgcz0oMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuX2xpc3RlbmVyc01hcHBlcnMuZmluZCgocz0+cy5vYmo9PT1lJiZzLm1ldGhvZD09PXQpKT8uY2FsbGJhY2spO3RoaXMuX2Jhc2VQcm9wZXJ0eS51bnN1YnNjcmliZShlLHMpfXVuc3Vic2NyaWJlQWxsKGUpe3RoaXMuX2Jhc2VQcm9wZXJ0eS51bnN1YnNjcmliZUFsbChlKX19Y2xhc3MgbyBleHRlbmRzIHJ7Y29uc3RydWN0b3IoZSx0LHMpe3N1cGVyKGUpLHRoaXMuX3Byb3BlcnR5QXBwbGllcj10LHRoaXMuX3VuZG9UZXh0PXN9X2FwcGx5VmFsdWUoZSx0KXt0aGlzLl9wcm9wZXJ0eUFwcGxpZXIuc2V0UHJvcGVydHkoZSx0LHRoaXMuX3VuZG9UZXh0KX19Y2xhc3MgYSBleHRlbmRzIHJ7X2FwcGx5VmFsdWUoZSx0KXtlLnNldFZhbHVlKHQpfX19LDg4MTkyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2lzTGluZVRvb2w6KCk9PnIsaXNTdHVkeUxpbmVUb29sOigpPT5vfSk7dmFyIGk9cyg2MDE4NDEpLG49cyg4NjA0NDIpO2Z1bmN0aW9uIHIoZSl7cmV0dXJuKDAsaS5pc09iamVjdCkoZSkmJiJpc0xpbmVUb29sImluIGUmJmUuaXNMaW5lVG9vbH1mdW5jdGlvbiBvKGUpe3JldHVybiByKGUpJiYoMCxuLmlzU3R1ZHlMaW5lVG9vbE5hbWUpKGUudG9vbG5hbWUpfX0sNzA3OTYzKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0xpbmVUb29sQ29sbGVjdGVkUHJvcGVydHk6KCk9PnUsTGluZVRvb2xDb2xvcnNQcm9wZXJ0eTooKT0+ZCxMaW5lVG9vbFdpZHRoc1Byb3BlcnR5OigpPT5jLE11bHRpcGxlTGluZUNvbG9yc1Byb3BlcnR5OigpPT5tLE11bHRpcGxlTGluZVdpZHRoc1Byb3BlcnR5OigpPT5wfSk7dmFyIGk9cygyMjEwNjEpLG49cygxMzEyOTQpLHI9cyg2MzY5MTIpO2NvbnN0IG89KDAsaS5nZXRMb2dnZXIpKCJDaGFydC5MaW5lVG9vbENvbGxlY3RlZFByb3BlcnR5Iik7Y2xhc3MgYXthcHBseVZhbHVlKGUsdCl7ZS5zZXRWYWx1ZSh0KX19Y2xhc3MgbCBleHRlbmRzIHIuUHJvcGVydHlCYXNle2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9wcm9wZXJ0aWVzPWUsZS5mb3JFYWNoKCgoZSx0KT0+ZS5zdWJzY3JpYmUodGhpcywoKGUscyk9Pnt0aGlzLl9saXN0ZW5lcnMuZmlyZSh0aGlzLGAke3R9LiR7c31gKX0pKSkpLHRoaXMuX3Nob3dJZlByb3BlcnR5PXR9dmlzaWJsZSgpe3JldHVybiF0aGlzLl9zaG93SWZQcm9wZXJ0eXx8dGhpcy5fc2hvd0lmUHJvcGVydHk/LnZhbHVlKCl9dmFsdWUoKXtpZigwPT09dGhpcy5fcHJvcGVydGllcy5sZW5ndGgpcmV0dXJuIG8ubG9nRXJyb3IoIkluY29ycmVjdCBjYWxsLCBzaG91bGQgbm90IHJlcXVlc3QgdmFsdWUgb2YgMCBwcm9wZXJ0aWVzIiksIm1peGVkIjtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXNbMF0udmFsdWUoKTtyZXR1cm4gMT09PXRoaXMuX3Byb3BlcnRpZXMubGVuZ3RofHx0aGlzLl9wcm9wZXJ0aWVzLmV2ZXJ5KCh0PT50LnZhbHVlKCk9PT1lKSk/ZToibWl4ZWQifXNldFZhbHVlU2lsZW50bHkoZSl7Im1peGVkIiE9PWUmJnRoaXMuX3Byb3BlcnRpZXMuZm9yRWFjaCgodD0+dC5zZXRWYWx1ZVNpbGVudGx5KGUpKSl9aGFzQ2hpbGQoZSl7Y29uc3QgdD1wYXJzZUludChlLDEwKTtyZXR1cm4haXNOYU4odCkmJnQ+PTAmJnQ8dGhpcy5fcHJvcGVydGllcy5sZW5ndGh9Y2hpbGRDb3VudCgpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmxlbmd0aH1jaGlsZE5hbWVzKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMubWFwKCgoZSx0KT0+dC50b1N0cmluZygpKSl9Y2hpbGQoZSl7Y29uc3QgdD1wYXJzZUludChlLDEwKTtyZXR1cm4haXNOYU4odCkmJnQ+PTAmJnQ8dGhpcy5fcHJvcGVydGllcy5sZW5ndGg/dGhpcy5fcHJvcGVydGllc1t0XTp2b2lkIDB9ZGVzdHJveSgpe3RoaXMuX3Byb3BlcnRpZXMuZm9yRWFjaCgoZT0+ZS51bnN1YnNjcmliZUFsbCh0aGlzKSkpLHRoaXMuX2xpc3RlbmVycy5kZXN0cm95KCl9c3RvcmVTdGF0ZUlmVW5kZWZpbmVkKCl7cmV0dXJuITB9d2Vha1JlZmVyZW5jZSgpe3JldHVybigwLG4ud2Vha1JlZmVyZW5jZSkodGhpcyl9b3duZXJzaGlwKCl7cmV0dXJuKDAsbi5vd25lcnNoaXApKHRoaXMpfX1jbGFzcyB1IGV4dGVuZHMgbHtzZXRWYWx1ZShlLHQscyl7aWYoIm1peGVkIj09PWUpcmV0dXJuO2NvbnN0IGk9cz8/bmV3IGE7dGhpcy5fcHJvcGVydGllcy5mb3JFYWNoKCh0PT5pLmFwcGx5VmFsdWUodCxlKSkpfX1jbGFzcyBjIGV4dGVuZHMgdXt9Y2xhc3MgZCBleHRlbmRzIHV7Zmlyc3RDb2xvcigpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzWzBdLnZhbHVlKCl9fWNsYXNzIGggZXh0ZW5kcyBse3NldFZhbHVlKGUsdCxzKXtpZigibWl4ZWQiPT09ZSlyZXR1cm47Y29uc3QgaT1zPz9uZXcgYQo7dGhpcy5fcHJvcGVydGllcy5mb3JFYWNoKCh0PT50LnNldFZhbHVlKGUsdm9pZCAwLGkpKSl9fWNsYXNzIHAgZXh0ZW5kcyBoe31jbGFzcyBtIGV4dGVuZHMgaHt9fSw1MjkxNjUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7bGluZVRvb2xzU3R1ZHlJZHM6KCk9Pml9KTtjb25zdCBpPXtMaW5lVG9vbEFuY2hvcmVkVldBUDoiQW5jaG9yZWRWV0FQQHR2LWJhc2ljc3R1ZGllcyIsTGluZVRvb2xSZWdyZXNzaW9uVHJlbmQ6IlJlZ3Jlc3Npb25UcmVuZEB0di1iYXNpY3N0dWRpZXMiLExpbmVUb29sRml4ZWRSYW5nZVZvbHVtZVByb2ZpbGU6IlZiUEZpeGVkQHR2LWJhc2ljc3R1ZGllcyIsTGluZVRvb2xWYlBGaXhlZDoiVmJQRml4ZWRAdHYtdm9sdW1lYnlwcmljZSJ9O3tjb25zdCBlPXtMaW5lVG9vbEFuY2hvcmVkVm9sdW1lUHJvZmlsZToiVmJQQW5jaG9yZWRAdHYtYmFzaWNzdHVkaWVzIn07Zm9yKGNvbnN0W3Qsc11vZiBPYmplY3QuZW50cmllcyhlKSlpW3RdPXN9fSwzNjgxMTAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Y2xvbmVMaW5lVG9vbDooKT0+TyxjcmVhdGVMaW5lVG9vbDooKT0+TCxjcmVhdGVMaW5lVG9vbFByb3BlcnRpZXM6KCk9PkQsY3JlYXRlU3R1ZHlMaW5lVG9vbFByb3BlcnRpZXM6KCk9PngsZW5zdXJlQWxsTGluZVRvb2xzTG9hZGVkRm9yTGF5b3V0OigpPT5FLGluaXRBbGxMaW5lVG9vbHNGcm9tQ29udGVudDooKT0+SSxpbml0TGluZVRvb2w6KCk9PncsaXNCcnVzaEJhc2VkTGluZVRvb2w6KCk9PmssaXNFZGl0YWJsZVRleHRMaW5lVG9vbDooKT0+Rixpc0xpbmVUb29sOigpPT5mLmlzTGluZVRvb2wsaXNUcmFkaW5nOigpPT5WLHByZXBhcmVMaW5lVG9vbFByb3BlcnRpZXNCeU93bmVyU291cmNlOigpPT5NLHNldE5ld1Rvb2xQcm9wZXJ0aWVzOigpPT5iLHN1cHBvcnRzUGhhbnRvbU1vZGU6KCk9PlIsdHJ5RmluZFN0dWR5TGluZVRvb2xOYW1lQnlTdHVkeUlkOigpPT5CLHVuc2V0TmV3VG9vbFByb3BlcnRpZXM6KCk9PlN9KTt2YXIgaT1zKDg4MDExNSksbj1zKDEzODYzOCkscj1zKDczNjUzMSksbz1zKDIyMTA2MSksYT1zKDQ3NzMpLGw9cyg2OTE3OTUpLHU9cyg2Nzc5NTgpLGM9cygxMjg5OTgpLGQ9cyg4NjA0NDIpLGg9cyg1MjkxNjUpLHA9cyg0NTY4NjIpLG09cyg4NTYxOTYpLF89cygzNTUxMjMpLGc9cygzMjk2NjYpLHk9cyg2MDU4NzcpLGY9cyg4ODE5Mik7bGV0IHY9bnVsbDtmdW5jdGlvbiBiKGUsdCxzKXtyZXR1cm4gbnVsbCE9PXYmJnYudG9vbD09PWUmJnYudG9vbERhdGE9PT10fHwoUyghMCksdj17cHJvcGVydGllczpEKHMuYmFja2dyb3VuZFRoZW1lKCkuc3Bhd25Pd25lcnNoaXAoKSxlLCFzLnJlYWRPbmx5KCkpLHRvb2w6ZSx0b29sRGF0YTp0fSksdi5wcm9wZXJ0aWVzfWZ1bmN0aW9uIFMoZSl7ZSYmdj8ucHJvcGVydGllcy5kZXN0cm95KCksdj1udWxsfWFzeW5jIGZ1bmN0aW9uIHcoZSl7YXdhaXQoMCxnLmxvYWRNZXRhSW5mb0ZvckxpbmV0b29sSWZSZXF1aXJlZCkoZSk7Y29uc3QgdD0oMCxnLmFzTGluZVRvb2xOYW1lKShlKTsoMCxnLmlzTGluZVRvb2xMb2FkZWQpKHQpfHwoMCxkLmlzTGluZVRvb2xOYW1lKSh0KSYmYXdhaXQoMCxnLmxvYWRMaW5lVG9vbCkodCl9ZnVuY3Rpb24gUChlLHQpe2NvbnN0IHM9ImNoYXJ0cyJpbiBlP2UuY2hhcnRzOltlXTtmb3IoY29uc3QgZSBvZiBzKXtmb3IoY29uc3QgcyBvZiBlLnBhbmVzKWZvcihjb25zdCBlIG9mIHMuc291cmNlcyl0KCgwLHkuZ2V0TGluZVRvb2xUeXBlRnJvbVN0YXRlKShlKSk7ZS5saW5lVG9vbHNHcm91cHM/Lmdyb3Vwcy5mb3JFYWNoKChlPT57ZS50b29scy5mb3JFYWNoKChlPT50KGUpKSl9KSl9fWNsYXNzIFQgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGBGYWlsZWQgdG8gbG9hZCBsaW5lIHRvb2w6ICR7ZX1gKSx0aGlzLm5hbWU9IkxpbmVUb29sTG9hZEVycm9yIix0aGlzLnRvb2xOYW1lPWUsdGhpcy5vcmlnaW5hbEVycm9yPXR9fWNvbnN0IEM9KDAsby5nZXRMb2dnZXIpKCJMaW5lVG9vbHNTeW5jaHJvbml6ZXIiKTthc3luYyBmdW5jdGlvbiBFKGUpe2NvbnN0IHQ9bmV3IFNldCxzPWU9PnsoMCxnLmlzQXN5bmNHZW5lcmljTGluZVRvb2xOYW1lKShlKSYmdC5hZGQoZSl9O2Zvcihjb25zdCB0IG9mIGUpUCh0LHMpO2NvbnN0IGk9Wy4uLnRdLG49KGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChpLm1hcCgoZT0+KDAsZy5lbnN1cmVMaW5lVG9vbExvYWRlZCkoZSkuY2F0Y2goKHQ9Pnt0aHJvdyBuZXcgVChlLHQpfSkpKSkpKS5maWx0ZXIoKGU9PiJyZWplY3RlZCI9PT1lLnN0YXR1cykpO24ubGVuZ3RoPjAmJm4uZm9yRWFjaCgoZT0+e2NvbnN0IHQ9ZS5yZWFzb247Qy5sb2dFcnJvcihgRmFpbGVkIHRvIGxvYWQgbGluZSB0b29sOiAke3QudG9vbE5hbWV9YCl9KSl9YXN5bmMgZnVuY3Rpb24gSShlKXtpZighZSlyZXR1cm47Y29uc3QgdD1uZXcgU2V0O1AoZSwoZT0+eygwLGQuaXNMaW5lVG9vbE5hbWUpKGUpJiZ0LmFkZChlKX0pKSxhd2FpdCBQcm9taXNlLmFsbChBcnJheS5mcm9tKHQpLm1hcCgoZT0+dyhlKSkpKX1mdW5jdGlvbiBMKGUsdCxzLGkscixvLGEpeygwLG4uYXNzZXJ0KSgoMCxkLmlzTGluZVRvb2xOYW1lKShlKSwiVW5rbm93biBsaW5lIHRvb2w6ICIrZSk7Y29uc3QgbD0oMCxnLmFzTGluZVRvb2xOYW1lKShlKTtsZXQgdTtpZigoMCxuLmFzc2VydCkoKDAsZy5pc0xpbmVUb29sTG9hZGVkKShsKSxgTGluZSB0b29sICR7bH0gaXMgbm90IGxvYWRlZGApLHJ8fHN8fG51bGw9PT12fHx2LnRvb2whPT1lfHwocz12LnByb3BlcnRpZXMsUyghMSkpLCgwLGcuaXNBc3luY1N0dWR5TGluZVRvb2xOYW1lKShsKSl7dT1uZXcoKDAsZy5nZXRMb2FkZWRMaW5lVG9vbCkobCkpKHQscywoMCxuLmVuc3VyZURlZmluZWQpKGkpLHIsbyl9ZWxzZXt1PW5ldygoMCxnLmdldExvYWRlZExpbmVUb29sKShsKSkodCxzLHIsbyl9cmV0dXJuIHUudG9vbG5hbWU9ZSxTKCEwKSx2b2lkIDAhPT1hJiYoMCxtLnNob3VsZEFmZmVjdFVzZXIpKCJEcmF3aW5nQ3JlYXRpb25zIixfLnNwYXJzZVVzZXJzVHJhY2tpbmdDb2VmZmljaWVudCkmJigwLApwLnRyYWNrQ2hhcnREcmF3aW5nQ3JlYXRpb24pKGUsYSksdX1mdW5jdGlvbiBNKGUsdCl7Y29uc3Qgcz0oMCxuLmVuc3VyZU5vdE51bGwpKHQuc3ltYm9sU291cmNlKCkpLGk9cy5zeW1ib2xJbmZvKCkscj10LmN1cnJlbmN5T3JpZ2luU291cmNlKCkudmFsdWUoKSxvPXQudW5pdE9yaWdpblNvdXJjZSgpLnZhbHVlKCksYT1pPygwLGMuZXh0cmFjdExpbmVUb29sU3ltYm9sRnJvbVN5bWJvbEluZm8pKGkscy5zeW1ib2woKSk6cy5zeW1ib2woKTtlLmNoaWxkcygpLnN5bWJvbC5zZXRWYWx1ZShhKSxzLm1vZGVsKCkuY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZCgpJiZyLmlzQ29udmVydGVkVG9PdGhlckN1cnJlbmN5KCkmJmUuY2hpbGRzKCkuY3VycmVuY3lJZC5zZXRWYWx1ZShyLmN1cnJlbmN5KCkpLHMubW9kZWwoKS51bml0Q29udmVyc2lvbkVuYWJsZWQoKSYmby5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KCkmJmUuY2hpbGRzKCkudW5pdElkLnNldFZhbHVlKG8udW5pdCgpKSxzLm1vZGVsKCkubWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKSYmZS5jaGlsZHMoKS5tZXRyaWNJZC5zZXRWYWx1ZShzLm1vZGVsKCkubWFpblNlcmllcygpLm1ldHJpYygpPz8icHJpY2UiKSxlLmNoaWxkcygpLnN5bWJvbFN0YXRlVmVyc2lvbi5zZXRWYWx1ZSgyKSxlLmNoaWxkcygpLnpPcmRlclZlcnNpb24uc2V0VmFsdWUoMil9ZnVuY3Rpb24gRChlLHQscyxpKXsoMCxuLmFzc2VydCkoKDAsZC5pc0xpbmVUb29sTmFtZSkodCksYCR7dH0gc2hvdWxkIGJlIG5hbWUgb2YgdGhlIGxpbmUgdG9vbGApO2NvbnN0IHI9KDAsZy5hc0xpbmVUb29sTmFtZSkodCk7aWYoKDAsbi5hc3NlcnQpKCgwLGcuaXNMaW5lVG9vbExvYWRlZCkociksYExpbmUgdG9vbCAke3J9IGlzIG5vdCBsb2FkZWRgKSwoMCxnLmlzQXN5bmNTdHVkeUxpbmVUb29sTmFtZSkocikpe3JldHVybigwLGcuZ2V0TG9hZGVkTGluZVRvb2wpKHIpLmNyZWF0ZVByb3BlcnRpZXMoZSxpKX1yZXR1cm4oMCxnLmdldExvYWRlZExpbmVUb29sKShyKS5jcmVhdGVQcm9wZXJ0aWVzKGUsaSxzKX1mdW5jdGlvbiB4KGUsdCxzLGkscixvKXsoMCxuLmFzc2VydCkoKDAsZC5pc1N0dWR5TGluZVRvb2xOYW1lKSh0KSxgJHt0fSBzaG91bGQgYmUgbmFtZSBvZiB0aGUgc3R1ZHkgbGluZSB0b29sYCk7Y29uc3QgYT0oMCxnLmFzTGluZVRvb2xOYW1lKSh0KTtpZigoMCxnLmlzQXN5bmNTdHVkeUxpbmVUb29sTmFtZSkoYSkpe3JldHVybigwLGcuZ2V0TG9hZGVkTGluZVRvb2wpKGEpLmNyZWF0ZVByb3BlcnRpZXNGcm9tU3R1ZHlNZXRhSW5mb0FuZFN0YXRlKHMsaSxyLG8sZSl9dGhyb3cgbmV3IEVycm9yKGBQcm9wZXJ0eSBjcmVhdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgZm9yIHN0dWR5IGxpbmUgdG9vbCAke3R9YCl9ZnVuY3Rpb24gUihlKXsoMCxuLmFzc2VydCkoKDAsZC5pc0xpbmVUb29sTmFtZSkoZSksYCR7ZX0gc2hvdWxkIGJlIG5hbWUgb2YgdGhlIGxpbmUgdG9vbGApO2NvbnN0IHQ9KDAsZy5hc0xpbmVUb29sTmFtZSkoZSk7KDAsbi5hc3NlcnQpKCgwLGcuaXNMaW5lVG9vbExvYWRlZCkodCksYExpbmUgdG9vbCAke3R9IGlzIG5vdCBsb2FkZWRgKTtjb25zdCBzPSgwLGcuZ2V0TG9hZGVkTGluZVRvb2wpKHQpO3JldHVybiB2b2lkIDAhPT1zJiZCb29sZWFuKHMuc3VwcG9ydFBoYW50b21Nb2RlKX1mdW5jdGlvbiBrKGUpe3JldHVybiBlIGluc3RhbmNlb2YgbC5MaW5lRGF0YVNvdXJjZSYmKDAsZC5pc0xpbmVEcmF3bldpdGhQcmVzc2VkQnV0dG9uKShlLnRvb2xuYW1lKX1mdW5jdGlvbiBWKGUpe3JldHVybiBlIGluc3RhbmNlb2YgdS5MaW5lVG9vbFRyYWRpbmd9Y29uc3QgQT1bImVkaXRhYmxlVGV4dFN0eWxlIiwiZWRpdGFibGVUZXh0IiwiZWRpdGFibGVUZXh0UHJvcGVydGllcyJdO2Z1bmN0aW9uIEYoZSl7cmV0dXJuKDAsaS5kZWZhdWx0KShlKSYmQS5ldmVyeSgodD0+dCBpbiBlKSl9ZnVuY3Rpb24gQihlKXtsZXQgdD1udWxsO3JldHVybiBlPT09aC5saW5lVG9vbHNTdHVkeUlkcy5MaW5lVG9vbFJlZ3Jlc3Npb25UcmVuZD90PSJMaW5lVG9vbFJlZ3Jlc3Npb25UcmVuZCI6ZT09PWgubGluZVRvb2xzU3R1ZHlJZHMuTGluZVRvb2xWYlBGaXhlZD90PSJMaW5lVG9vbFZiUEZpeGVkIjplPT09aC5saW5lVG9vbHNTdHVkeUlkcy5MaW5lVG9vbEZpeGVkUmFuZ2VWb2x1bWVQcm9maWxlJiYodD0iTGluZVRvb2xGaXhlZFJhbmdlVm9sdW1lUHJvZmlsZSIpLHR9ZnVuY3Rpb24gTyhlLHQscyxpLG8pe2NvbnN0IGw9dC50b29sbmFtZSx1PXQucHJvcGVydGllcygpLnN0YXRlKCk7dS5pbnRlcnZhbHNWaXNpYmlsaXRpZXM9KDAsYS5tZXJnZUludGVydmFsVmlzaWJpbGl0aWVzRGVmYXVsdHMpKHU/LmludGVydmFsc1Zpc2liaWxpdGllcyk7Y29uc3QgYz1EKGUuYmFja2dyb3VuZFRoZW1lKCkuc3Bhd25Pd25lcnNoaXAoKSx0LnRvb2xuYW1lLCFlLnJlYWRPbmx5KCksdSk7Yy5jaGlsZHMoKS52aXNpYmxlLnNldFZhbHVlKCEwKTtjb25zdCBkPSgwLG4uZW5zdXJlTm90TnVsbCkodC5vd25lclNvdXJjZSgpKSxoPUwobCxlLGMsbnVsbCx2b2lkIDAsdm9pZCAwLG8pO3ZvaWQgMCE9PWkmJmguc2V0SWQoaSksaC5zdXBwb3J0c1RhcmdldFNpZ25hdHVyZSgpJiZudWxsIT09ZC5zaWduYXR1cmUoKS52YWx1ZSgpP2guc2V0VGFyZ2V0U2lnbmF0dXJlKGQuc2lnbmF0dXJlKCkudmFsdWUoKSk6aC5zZXRPd25lclNvdXJjZShkKSxoLnRvb2xuYW1lPWw7Y29uc3QgcD1oLmNsb25lUG9zaXRpb25PZmZzZXQoKTtpZih0LmlzRml4ZWQoKSl7Y29uc3QgZT0oMCxuLmVuc3VyZURlZmluZWQpKHQuZml4ZWRQb2ludCgpKSxpPXM/ZS5hZGQobmV3IHIuUG9pbnQocC54Q29vcmRPZmZzZXQscC55Q29vcmRPZmZzZXQpKTplO2guYWRkRml4ZWRQb2ludChpKX1jb25zdCBtPXQubm9ybWFsaXplZFBvaW50cygpLF89cz9mdW5jdGlvbihlLHQscyl7Y29uc3QgaT0oMCxuLmVuc3VyZU5vdE51bGwpKHQucHJpY2VTY2FsZSgpKSxyPSgwLG4uZW5zdXJlTm90TnVsbCkodC5maXJzdFZhbHVlKCkpO3JldHVybiBlLm1hcCgoZT0+ewpjb25zdCB0PWUucHJpY2Usbj1pLnByaWNlVG9Db29yZGluYXRlKHQscikrcy55Q29vcmRPZmZzZXQsbz1pLmNvb3JkaW5hdGVUb1ByaWNlKG4sciksYT1lLmludGVydmFsO3JldHVybnt0aW1lX3Q6ZS50aW1lX3QscHJpY2U6byxvZmZzZXQ6ZS5vZmZzZXQrcy5iYXJPZmZzZXQsaW50ZXJ2YWw6YX19KSl9KG0sZCxwKTptLGc9dC5wb2ludHMoKTtyZXR1cm4gaC5yZXN0b3JlUG9pbnRzKF8sZyksaC5jbG9uZURhdGEmJmguY2xvbmVEYXRhKHQpLGgucmVjYWxjdWxhdGVTdGF0ZUJ5RGF0YSYmaC5yZWNhbGN1bGF0ZVN0YXRlQnlEYXRhKCksaH19LDgyODg1NyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHttYWduZXRFbmFibGVkOigpPT5nLG1hZ25ldE1vZGU6KCk9PnksbWFnbmV0U25hcHNUb0luZGljYXRvcnM6KCk9PmYsc2V0SXNNYWduZXRFbmFibGVkOigpPT52LHNldE1hZ25ldE1vZGU6KCk9PmIsc2V0TWFnbmV0U25hcHNUb0luZGljYXRvcnM6KCk9PlN9KTt2YXIgaT1zKDIzMjM2NCksbj1zKDk3NDY2Mykscj1zKDQ5MjM4MSksbz1zKDY3ODI4NSksYT1zKDg2MDQ0MiksbD1zKDQ2NDgzNSk7Y29uc3QgdT1uZXcgaS5XYXRjaGVkVmFsdWUoITEpLGM9bmV3IGkuV2F0Y2hlZFZhbHVlKHIuTWFnbmV0TW9kZS5XZWFrTWFnbmV0KSxkPW5ldyBpLldhdGNoZWRWYWx1ZSghMSksaD0oMCxsLm1vZGlmaWVyUHJlc3NlZCkoKSxwPSgwLGwuc2hpZnRQcmVzc2VkKSgpO2Z1bmN0aW9uIG0oKXtjb25zdCBlPWgudmFsdWUoKTtpZihwLnZhbHVlKCkmJihvLmlzVG9vbEVkaXRpbmdOb3cudmFsdWUoKXx8by5pc1Rvb2xDcmVhdGluZ05vdy52YWx1ZSgpKSlyZXR1cm4gdm9pZCB1LnNldFZhbHVlKCExKTtsZXQgdCxzO2lmKG8uYWN0aXZlUG9pbnRTZWxlY3Rpb25Nb2RlLnZhbHVlKCk9PT1vLlNlbGVjdFBvaW50TW9kZS5SZXBsYXkpdD1zPSExO2Vsc2V7Y29uc3QgaT1vLnRvb2wudmFsdWUoKSxuPW8uaXNTdHVkeUVkaXRpbmdOb3cudmFsdWUoKXx8by5hY3RpdmVQb2ludFNlbGVjdGlvbk1vZGUudmFsdWUoKT09PW8uU2VsZWN0UG9pbnRNb2RlLlN0dWR5O3Q9ZSYmKCgwLGEuaXNMaW5lVG9vbE5hbWUpKGkpfHxvLmlzVG9vbEVkaXRpbmdOb3cudmFsdWUoKXx8KDAsby50b29sSXNNZWFzdXJlKShpKXx8bikscz0oMCxvLnByb3BlcnRpZXMpKCkuY2hpbGRzKCkubWFnbmV0LnZhbHVlKCl9Yy5zZXRWYWx1ZSghcyYmdD9yLk1hZ25ldE1vZGUuU3Ryb25nTWFnbmV0OigwLG8ucHJvcGVydGllcykoKS5jaGlsZHMoKS5tYWduZXRNb2RlLnZhbHVlKCkpLHUuc2V0VmFsdWUodD8hczpzKX1mdW5jdGlvbiBfKCl7ZC5zZXRWYWx1ZSgoMCxvLnByb3BlcnRpZXMpKCkuY2hpbGRzKCkubWFnbmV0U25hcHNUb0luZGljYXRvcnMudmFsdWUoKSl9ZnVuY3Rpb24gZygpe3JldHVybiB1fWZ1bmN0aW9uIHkoKXtyZXR1cm4gY31mdW5jdGlvbiBmKCl7cmV0dXJuIGR9ZnVuY3Rpb24gdihlKXsoMCxuLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSwoMCxvLnByb3BlcnRpZXMpKCkuY2hpbGRzKCkubWFnbmV0LnNldFZhbHVlKGUpLCgwLG4uYWxsb3dTYXZpbmdEZWZhdWx0cykoITEpfWZ1bmN0aW9uIGIoZSl7KDAsbi5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMCksKDAsby5wcm9wZXJ0aWVzKSgpLmNoaWxkcygpLm1hZ25ldE1vZGUuc2V0VmFsdWUoZSksKDAsby5wcm9wZXJ0aWVzKSgpLmNoaWxkcygpLm1hZ25ldC5zZXRWYWx1ZSghMCksKDAsbi5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMSl9ZnVuY3Rpb24gUyhlKXsoMCxuLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSwoMCxvLnByb3BlcnRpZXMpKCkuY2hpbGRzKCkubWFnbmV0U25hcHNUb0luZGljYXRvcnMuc2V0VmFsdWUoZSksKDAsbi5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMSl9KDAsby5ydW5PbkRyYXdpbmdTdGF0ZVJlYWR5KSgoKCk9PnsoMCxvLnByb3BlcnRpZXMpKCkuY2hpbGRzKCkubWFnbmV0LnN1YnNjcmliZShudWxsLG0pLCgwLG8ucHJvcGVydGllcykoKS5jaGlsZHMoKS5tYWduZXRNb2RlLnN1YnNjcmliZShudWxsLG0pLCgwLG8ucHJvcGVydGllcykoKS5jaGlsZHMoKS5tYWduZXRTbmFwc1RvSW5kaWNhdG9ycy5zdWJzY3JpYmUobnVsbCxfKSxoLnN1YnNjcmliZShtKSxwLnN1YnNjcmliZShtKSxvLnRvb2wuc3Vic2NyaWJlKG0pLG8uaXNUb29sRWRpdGluZ05vdy5zdWJzY3JpYmUobSksbSgpLF8oKX0pKX0sNjk5NTUwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1F1b3Rlc1Byb3ZpZGVyOigpPT5sfSk7dmFyIGk9cygyMzIzNjQpLG49cyg0MDIwNDUpLHI9cygxNTk1MTMpLG89cyg5NDgzODApLGE9cygxNTAxNTApO2NsYXNzIGx7Y29uc3RydWN0b3IoZT0iZnVsbCIsdCl7dGhpcy5fcXVvdGVzPW5ldyBuLldhdGNoZWRPYmplY3QobnVsbCksdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVTZXNzaW9uQ2xpZW50SWQ9IiIsdGhpcy5fcGF1c2VkUXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVzVXBkYXRlPW5ldyBvLkRlbGVnYXRlLHRoaXMuX3F1b3RlU3ltYm9sQ2hhbmdlZD1uZXcgby5EZWxlZ2F0ZSx0aGlzLl9jb21wbGV0ZWQ9bmV3IGkuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9tdWx0aXBsZXhlclR5cGU9ZSx0aGlzLl9oaWJlcm5hdGVkPXQsdGhpcy5faGliZXJuYXRlZD8uc3Vic2NyaWJlKChlPT57ZT90aGlzLnBhdXNlKCk6dGhpcy5yZXN1bWUoKX0pKX1zZXRRdW90ZXNTZXNzaW9uU3ltYm9sKGUpe3RoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbCE9PWUmJih0aGlzLl9wYXVzZWRRdW90ZVNlc3Npb25TeW1ib2w9bnVsbCx0aGlzLl9xdW90ZVNlc3Npb25DbGllbnRJZHx8KHRoaXMuX3F1b3RlU2Vzc2lvbkNsaWVudElkPSJzZXJpZXMtIisoMCxhLmd1aWQpKCkpLHRoaXMuX3Vuc3Vic2NyaWJlUXVvdGVTZXNzaW9uKCksdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sPWUsdGhpcy5fcXVvdGVTeW1ib2xDaGFuZ2VkLmZpcmUoKSxlJiZ0aGlzLl9zdWJzY3JpYmVRdW90ZVNlc3Npb24oZSkpfXN5bWJvbCgpe3JldHVybiB0aGlzLl9xdW90ZVNlc3Npb25TeW1ib2x9cXVvdGVzVXBkYXRlKCl7cmV0dXJuIHRoaXMuX3F1b3Rlc1VwZGF0ZX0KcXVvdGVTeW1ib2xDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3F1b3RlU3ltYm9sQ2hhbmdlZH1xdW90ZXMoKXtyZXR1cm4gdGhpcy5fcXVvdGVzLnJlYWRvbmx5KCl9Y29tcGxldGVkKCl7cmV0dXJuIHRoaXMuX2NvbXBsZXRlZC5yZWFkb25seSgpfWFzeW5jIHF1b3Rlc1NuYXBzaG90KGUpe3JldHVybigwLHIuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKS5zbmFwc2hvdChlKX1pc1BhdXNlZCgpe3JldHVybiBudWxsIT09dGhpcy5fcGF1c2VkUXVvdGVTZXNzaW9uU3ltYm9sfXBhdXNlKCl7bnVsbD09PXRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbCYmKHRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbD10aGlzLl9xdW90ZVNlc3Npb25TeW1ib2wsdGhpcy5fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKSl9cmVzdW1lKCl7bnVsbCE9PXRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbCYmKHRoaXMuX3N1YnNjcmliZVF1b3RlU2Vzc2lvbih0aGlzLl9wYXVzZWRRdW90ZVNlc3Npb25TeW1ib2wpLHRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbD1udWxsKX1kZXN0cm95KCl7dGhpcy5fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKSx0aGlzLl9oaWJlcm5hdGVkPy5yZWxlYXNlKCl9X29uVXBkYXRlKGUsdCl7dGhpcy5fcXVvdGVzLnNldFZhbHVlKGU/LnZhbHVlcz8/bnVsbCksdCYmdC52YWx1ZXMmJnRoaXMuX3F1b3Rlc1VwZGF0ZS5maXJlKGUsdCksdm9pZCAwIT09ZS5jb21wbGV0ZSYmdGhpcy5fY29tcGxldGVkLnNldFZhbHVlKCEwKX1fc3Vic2NyaWJlUXVvdGVTZXNzaW9uKGUpe3RoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbD1lLCgwLHIuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKHRoaXMuX211bHRpcGxleGVyVHlwZSkuc3Vic2NyaWJlKHRoaXMuX3F1b3RlU2Vzc2lvbkNsaWVudElkLHRoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbCx0aGlzLl9vblVwZGF0ZS5iaW5kKHRoaXMpKX1fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKXt0aGlzLl9xdW90ZVNlc3Npb25TeW1ib2wmJigoMCxyLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSh0aGlzLl9tdWx0aXBsZXhlclR5cGUpLnVuc3Vic2NyaWJlKHRoaXMuX3F1b3RlU2Vzc2lvbkNsaWVudElkLHRoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbCksdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVzLnNldFZhbHVlKG51bGwpLHRoaXMuX2NvbXBsZXRlZC5zZXRWYWx1ZSghMSkpfX19LDQ2NTEzNyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjb21wYXJlUmVzb2x1dGlvbnM6KCk9Pm0uY29tcGFyZVJlc29sdXRpb25zLGNvbnZlcnRSZXNvbHV0aW9uc0Zyb21TZXR0aW5nczooKT0+SSxmb3JtYXREaXJlY3Rpb25hbFJlc29sdXRpb246KCk9PkIsZ2V0QXBwbGljYWJsZUludGVydmFsRm9yRnJlcXVlbmN5OigpPT5tLmdldEFwcGxpY2FibGVJbnRlcnZhbEZvckZyZXF1ZW5jeSxnZXREZWZhdWx0UmVzb2x1dGlvbjooKT0+dyxnZXRNYXhSZXNvbHV0aW9uVmFsdWU6KCk9PkUsZ2V0UmVzb2x1dGlvbkJ5Q2hhcnRTdHlsZTooKT0+UCxnZXRUcmFuc2xhdGVkUmVzb2x1dGlvbjooKT0+RCxnZXRUcmFuc2xhdGVkUmVzb2x1dGlvbk1vZGVsOigpPT54LGludGVydmFsSXNTdXBwb3J0ZWQ6KCk9PkYsaXNBdmFpbGFibGU6KCk9PmIsaXNJbnRlcnZhbEVuYWJsZWQ6KCk9PkEsaXNSZXNvbHV0aW9uTXVsdGlwbGllclZhbGlkOigpPT5ULGlzU2Vjb25kc0VuYWJsZWQ6KCk9PmssbWVyZ2VSZXNvbHV0aW9uczooKT0+TCxub3JtYWxpemVJbnRlcnZhbFN0cmluZzooKT0+dixzZXRMYXN0VXNlZFJlc29sdXRpb246KCk9PlMsc29ydFJlc29sdXRpb25zOigpPT5NfSk7dmFyIGk9cyg2MDE4NDEpLG49cyg5MzAyMzEpLHI9cygxODUyNzEpLG89cygyNTQ2NzMpLGE9cygxMjg5OTgpLGw9cyg5MzA1NjYpLHU9cyg1NjkzOTgpLGM9cygyMjUyOTgpLGQ9cygxNzY4NTEpLGg9cyg5NjkxNjgpLHA9cyg2MTk5OTIpLG09cyg3MDg1OSk7Y29uc3QgXz1bMSw1LDEwLDE1LDMwLDQ1XSxnPVsxLDEwLDEwMCwxZTNdLHk9KDAsdS5pc0ZlYXR1cmVFbmFibGVkKSgiY3VzdG9tX3RpY2tzIik7dmFyIGY7ZnVuY3Rpb24gdihlKXtyZXR1cm4gby5JbnRlcnZhbC5wYXJzZShlKS52YWx1ZSgpfWZ1bmN0aW9uIGIoZSl7Y29uc3QgdD1vLkludGVydmFsLnBhcnNlKGUpO2lmKHQuaXNSYW5nZSgpKXJldHVybiBjLmxpbmtpbmcucmFuZ2UudmFsdWUoKTtpZighKDAscC5pc1RpY2tzRW5hYmxlZCkoKSYmdC5pc1RpY2tzKCkpcmV0dXJuITE7Y29uc3Qgcz10LnZhbHVlKCksaT1jLmxpbmtpbmcuZGF0YUZyZXF1ZW5jeVJlc29sdXRpb24udmFsdWUoKTtpZih2b2lkIDAhPT1pJiYoMCxtLmNvbXBhcmVSZXNvbHV0aW9ucykocyxpKTwwKXJldHVybiExO2NvbnN0IG49Yy5saW5raW5nLnN1cHBvcnRlZFJlc29sdXRpb25zLnZhbHVlKCk7cmV0dXJuIHZvaWQgMCE9PW4/dm9pZCAwIT09bi5maW5kKChlPT52KGUpPT09cykpOnQuaXNUaWNrcygpP0Jvb2xlYW4oYy5saW5raW5nLnRpY2tzLnZhbHVlKCkpOnQuaXNJbnRyYWRheSgpP0Jvb2xlYW4oYy5saW5raW5nLmludHJhZGF5LnZhbHVlKCkpOnQuaXNEV00oKX1mdW5jdGlvbiBTKGUpe28uSW50ZXJ2YWwuaXNWYWxpZChlKSYmKG8uSW50ZXJ2YWwuaXNSYW5nZShlKT9sLnNldFZhbHVlKCJjaGFydC5sYXN0VXNlZFJhbmdlUmVzb2x1dGlvbiIsZSk6bC5zZXRWYWx1ZSgiY2hhcnQubGFzdFVzZWRUaW1lQmFzZWRSZXNvbHV0aW9uIixlKSl9ZnVuY3Rpb24gdyhlKXtyZXR1cm4gZT8iMTAwUiI6IjFEIn1mdW5jdGlvbiBQKGUsdCxzKXtjb25zdCBpPWEuaXNSYW5nZVN0eWxlKGUpLG49by5JbnRlcnZhbC5pc1JhbmdlKHQpO3JldHVybiFpJiZuP2Z1bmN0aW9uKGUpe2NvbnN0IHQ9bC5nZXRWYWx1ZSgiY2hhcnQubGFzdFVzZWRUaW1lQmFzZWRSZXNvbHV0aW9uIik7aWYodm9pZCAwIT09dCYmby5JbnRlcnZhbC5pc1RpbWVCYXNlZCh0KSlyZXR1cm4gdDtsZXQgcz0iMUQiO2Zvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9by5JbnRlcnZhbC5wYXJzZSh0KTtpZihlLmlzVGltZUJhc2VkKCkpe2NvbnN0IHQ9ZS52YWx1ZSgpCjtpZigiMUQiPT09dClyZXR1cm4gdDtzPXR9fXJldHVybiBzfShzKTppJiYhbj9mdW5jdGlvbihlKXtjb25zdCB0PWwuZ2V0VmFsdWUoImNoYXJ0Lmxhc3RVc2VkUmFuZ2VSZXNvbHV0aW9uIik7aWYodm9pZCAwIT09dCYmby5JbnRlcnZhbC5pc1JhbmdlKHQpKXJldHVybiB0O2xldCBzPSIxMDBSIjtmb3IoY29uc3QgdCBvZiBlKXtjb25zdCBlPW8uSW50ZXJ2YWwucGFyc2UodCk7aWYoZS5pc1JhbmdlKCkpe2NvbnN0IHQ9ZS52YWx1ZSgpO2lmKCIxMDBSIj09PXQpcmV0dXJuIHQ7cz10fX1yZXR1cm4gc30ocyk6dH1mdW5jdGlvbiBUKGUpe2NvbnN0e2ludGVydmFsOnQsZ3VpUmVzb2x1dGlvbktpbmQ6c309by5JbnRlcnZhbC5wYXJzZUV4dChlKTtpZighdC5pc1ZhbGlkKCkpcmV0dXJuITE7Y29uc3QgaT10Lm11bHRpcGxpZXIoKTtpZihzPT09by5SZXNvbHV0aW9uS2luZC5TZWNvbmRzKXJldHVybiBfLmluY2x1ZGVzKGkpO2lmKCgwLHAuaXNUaWNrc0VuYWJsZWQpKCkmJnM9PT1vLlJlc29sdXRpb25LaW5kLlRpY2tzKXJldHVybiEheXx8Zy5pbmNsdWRlcyhpKTtyZXR1cm4ocz09PW8uU3BlY2lhbFJlc29sdXRpb25LaW5kLkhvdXJzP2kvNjA6aSk8PUMocyl9ZnVuY3Rpb24gQyhlKXtjb25zdCB0PW0ubWF4UmVzb2x1dGlvblZhbHVlc1tlXTtyZXR1cm4gTnVtYmVyLmlzTmFOKHQpPzE6dH1mdW5jdGlvbiBFKGUpe3JldHVybiBDKG8uSW50ZXJ2YWwucGFyc2VFeHQoZSkuZ3VpUmVzb2x1dGlvbktpbmQpfWZ1bmN0aW9uIEkoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/ZTpPYmplY3Qua2V5cyhlKS5tYXAoby5JbnRlcnZhbC5ub3JtYWxpemUpLmZpbHRlcihpLm5vdE51bGwpfWZ1bmN0aW9uIEwoLi4uZSl7bGV0IHQ9W10uY29uY2F0KC4uLmUpO3JldHVybiB0PSgwLGQudW5pcSkodC5maWx0ZXIoVCkubWFwKHYpKSxNKHQpfWZ1bmN0aW9uIE0oZSl7cmV0dXJuIGUuc29ydChtLmNvbXBhcmVSZXNvbHV0aW9ucyl9ZnVuY3Rpb24gRChlKXtjb25zdHttdWx0aXBsaWVyOnQsc2hvcnRLaW5kOnN9PXgoZSk7cmV0dXJuYCR7dH0ke3N9YH1mdW5jdGlvbiB4KGUsdCl7Y29uc3Qgcz1vLkludGVydmFsLnBhcnNlKGUpO2xldCBpPXMubXVsdGlwbGllcigpLG49cy5raW5kKCk7aWYoIXMuaXNWYWxpZCgpKXtpZih0KXJldHVybiBudWxsO3Rocm93IG5ldyBUeXBlRXJyb3IoYENhbid0IHRyYW5zbGF0ZSBpbnZhbGlkIGludGVydmFsOiAke2V9YCl9cmV0dXJuIHMuaXNNaW51dGVIb3VycygpJiYoaT1NYXRoLmZsb29yKGkvNjApLG49by5TcGVjaWFsUmVzb2x1dGlvbktpbmQuSG91cnMpLHttdWx0aXBsaWVyOmkudG9TdHJpbmcoKSxzaG9ydEtpbmQ6UihuKSxoaW50OmAke2l9ICR7UihuLGkpfWAsbWF5T21pdE11bHRpcGxpZXI6cy5pc0RXTSgpJiYxPT09aSxtYXlPbWl0U2hvcnRLaW5kOnMuaXNNaW51dGVzKCkmJiFzLmlzTWludXRlSG91cnMoKX19ZnVuY3Rpb24gUihlLHQpe2lmKCF0KXJldHVybntbby5SZXNvbHV0aW9uS2luZC5JbnZhbGlkXToiIixbby5SZXNvbHV0aW9uS2luZC5UaWNrc106ci50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0scygyMTgwMzYpKSxbby5SZXNvbHV0aW9uS2luZC5TZWNvbmRzXTpyLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfc2hvcnQifSxzKDM5MDgwOSkpLFtvLlJlc29sdXRpb25LaW5kLk1pbnV0ZXNdOnIudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LHMoNjE4NCkpLFtvLlNwZWNpYWxSZXNvbHV0aW9uS2luZC5Ib3Vyc106ci50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0scygyNDA3MykpLFtvLlJlc29sdXRpb25LaW5kLkRheXNdOnIudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LHMoMTkxNDMyKSksW28uUmVzb2x1dGlvbktpbmQuV2Vla3NdOnIudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LHMoMzIzNTcwKSksW28uUmVzb2x1dGlvbktpbmQuTW9udGhzXTpyLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfc2hvcnQifSxzKDg4OTEwKSksW28uUmVzb2x1dGlvbktpbmQuUmFuZ2VdOnIudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LHMoMjgxMTA3KSl9W2VdO3N3aXRjaChlKXtjYXNlIG8uUmVzb2x1dGlvbktpbmQuVGlja3M6cmV0dXJuIHIudChudWxsLHtwbHVyYWw6InRpY2tzIixjb3VudDp0fSxzKDUwNjQ0NykpO2Nhc2Ugby5SZXNvbHV0aW9uS2luZC5EYXlzOnJldHVybiByLnQobnVsbCx7cGx1cmFsOiJkYXlzIixjb3VudDp0fSxzKDc0MzAwMikpO2Nhc2Ugby5SZXNvbHV0aW9uS2luZC5XZWVrczpyZXR1cm4gci50KG51bGwse3BsdXJhbDoid2Vla3MiLGNvdW50OnR9LHMoMzg4MTA1KSk7Y2FzZSBvLlJlc29sdXRpb25LaW5kLk1vbnRoczpyZXR1cm4gci50KG51bGwse3BsdXJhbDoibW9udGhzIixjb3VudDp0fSxzKDMyMzQ4NSkpO2Nhc2Ugby5SZXNvbHV0aW9uS2luZC5TZWNvbmRzOnJldHVybiByLnQobnVsbCx7cGx1cmFsOiJzZWNvbmRzIixjb3VudDp0fSxzKDY2NTUzMCkpO2Nhc2Ugby5SZXNvbHV0aW9uS2luZC5NaW51dGVzOnJldHVybiByLnQobnVsbCx7cGx1cmFsOiJtaW51dGVzIixjb3VudDp0fSxzKDExMzY0MikpO2Nhc2Ugby5TcGVjaWFsUmVzb2x1dGlvbktpbmQuSG91cnM6cmV0dXJuIHIudChudWxsLHtwbHVyYWw6ImhvdXJzIixjb3VudDp0fSxzKDQxOTExNCkpO2Nhc2Ugby5SZXNvbHV0aW9uS2luZC5SYW5nZTpyZXR1cm4gci50KG51bGwse3BsdXJhbDoicmFuZ2VzIixjb3VudDp0fSxzKDYxNjQ5KSk7ZGVmYXVsdDpyZXR1cm4gZX19ZnVuY3Rpb24gaygpe3JldHVybiEwfWZ1bmN0aW9uIFYoZSl7cmV0dXJuISghKDAscC5pc1RpY2tzRW5hYmxlZCkoKSYmZS5pc1RpY2tzKCkpfWZ1bmN0aW9uIEEoZSl7cmV0dXJuIFYoby5JbnRlcnZhbC5wYXJzZShlKSl9ZnVuY3Rpb24gRihlKXtpZigoMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhbGxvd19zdXBwb3J0ZWRfcmVzb2x1dGlvbnNfc2V0X29ubHkiKSl7Y29uc3QgdD1vLkludGVydmFsLm5vcm1hbGl6ZShlKTtyZXR1cm4gbnVsbCE9PXQmJmIodCl9e2NvbnN0IHQ9by5JbnRlcnZhbC5wYXJzZShlKQo7aWYoIXQuaXNWYWxpZCgpfHwhVih0KSlyZXR1cm4hMTtpZighKDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY3VzdG9tX3Jlc29sdXRpb25zIikpe2NvbnN0IHQ9by5JbnRlcnZhbC5ub3JtYWxpemUoZSkscz13aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5kZWZhdWx0UmVzb2x1dGlvbnMoKS5maWx0ZXIoQSk7aWYoIXR8fC0xPT09cy5pbmRleE9mKHQpKXJldHVybiExfWNvbnN0IHM9Yy5saW5raW5nLmRhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnZhbHVlKCk7aWYodm9pZCAwIT09cyYmKDAsbS5nZXRBcHBsaWNhYmxlSW50ZXJ2YWxGb3JGcmVxdWVuY3kpKHMsdC52YWx1ZSgpKSE9PXQudmFsdWUoKSlyZXR1cm4hMTtpZih0LmlzUmFuZ2UoKSlyZXR1cm4gYy5saW5raW5nLnJhbmdlLnZhbHVlKCk7aWYodC5pc1RpY2tzKCkpcmV0dXJuIGMubGlua2luZy50aWNrcy52YWx1ZSgpO2lmKHQuaXNJbnRyYWRheSgpKXJldHVybiBjLmxpbmtpbmcuaW50cmFkYXkudmFsdWUoKTt7Y29uc3QgZT1jLmxpbmtpbmcuc3VwcG9ydGVkUmVzb2x1dGlvbnMudmFsdWUoKTtyZXR1cm4hZXx8ZS5pbmNsdWRlcyh0LnZhbHVlKCkpfX19ZnVuY3Rpb24gQihlKXtyZXR1cm4oMCxoLmlzUnRsKSgpPyIgIisoMCxoLmZvcmNlUlRMU3RyKSgiICwiK2UpOiIsICIrZX0hZnVuY3Rpb24oZSl7ZS5DdXN0b21Vc2VyUmVzb2x1dGlvbnNLZXk9IkludGVydmFsV2lkZ2V0LmludGVydmFscyIsZS5MYXN0VXNlZFJhbmdlUmVzb2x1dGlvbktleT0iY2hhcnQubGFzdFVzZWRSYW5nZVJlc29sdXRpb24iLGUuTGFzdFVzZWRUaW1lQmFzZWRSZXNvbHV0aW9uS2V5PSJjaGFydC5sYXN0VXNlZFRpbWVCYXNlZFJlc29sdXRpb24iLGUuRGVmYXVsdFJhbmdlUmVzb2x1dGlvbj0iMTAwUiIsZS5EZWZhdWx0VGltZUJhc2VkUmVzb2x1dGlvbj0iMUQifShmfHwoZj17fSkpfSw2MzY5NjYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U2VyaWVzOigpPT52dH0pO3ZhciBpPXMoMTY3NTAyKSxuPXMoMTM4NjM4KSxyPXMoMjMyMzY0KSxvPXMoOTUyOTAwKSxhPXMoNjAxODQxKSxsPXMoOTQ4MzgwKSx1PXMoMjIxMDYxKSxjPXMoMjU0NjczKSxkPXMoODU3MTUxKSxoPXMoOTM2MzI2KSxwPXMoMTIxNDc5KSxtPXMoMzg2OTMxKSxfPXMoMTc5NzcxKSxnPXMoOTMwMjMxKSx5PXMoNzY4NzYwKSxmPXMoNTQyMzQ5KSx2PXMoOTMwNTA2KSxiPXMoNjE5MTY1KSxTPXMoNjM1NTA5KSx3PXMoNzY4MjkyKSxQPXMoMTI4OTk4KSxUPXMoMzE0OTE0KSxDPXMoNjgyODIyKSxFPXMoNzU1NjI3KSxJPXMoNzk4MzgpLEw9cygyNTc4MSksTT1zKDYyNjc1NiksRD1zKDU0NjU3NSkseD1zKDE1Mjc2NiksUj1zKDM3Njc5Nyksaz1zKDYwOTA0MSksVj1zKDgyNzY5OCksQT1zKDY5OTU1MCksRj1zKDM1NzIxOSksQj1zKDY0NTI4NSksTz1zKDU2OTg0NiksTj1zKDk0NzM4MiksVz1zKDE1Njg1MCksVT1zKDY4MzkwMiksej1zKDE3MjMwNCksSD1zKDQ4Mzc4Myksaj1zKDkxMTQzMCksJD1zKDQ5MDM5OSkscT1zKDY1NTU4NCksSz1zKDY4NTU1NSksWT1zKDI5MzQ0NyksRz1zKDg5MTQ0MSksSj1zKDU2OTM5OCksWD1zKDIyNjkzNyksUT1zKDI3NTc0MiksWj1zKDk3Mzk3KSxlZT1zKDY4MjgwNiksdGU9cyg3MzkzNjMpLHNlPXMoNDE3MjkpLGllPXMoNDk5Njk1KSxuZT1zKDk2OTQpLHJlPXMoODY2OTUwKSxvZT1zKDM3NjY0NSksYWU9cygzMjI0NjApLGxlPXMoODUzMjQ1KSx1ZT1zKDIzNDg2NiksY2U9cyg4OTQ2OTcpLGRlPXMoMjA2NTcwKSxoZT1zKDQwNzc5OSkscGU9cyg2MTU2NzMpLG1lPXMoMjM0OTMyKSxfZT1zKDQ5MDQ0NiksZ2U9cyg0Njg3NzQpLHllPXMoODM3MjAzKSxmZT1zKDk2NjQwNCksdmU9cyg0NjUxMzcpLGJlPXMoMzQ3MDQyKSxTZT1zKDgwNjgxOCksd2U9cygxNTc4NTMpLFBlPXMoMTY4NzcxKSxUZT1zKDM2MDIzOCksQ2U9cyg3NDgyMTApLEVlPXMoNTQ5NjEzKSxJZT1zKDEzMDkxNSksTGU9cygzMTg5NzQpLE1lPXMoMzExNjE5KSxEZT1zKDI3MzE4NykseGU9cygzMjA2NjUpLFJlPXMoNjMyNTM1KSxrZT1zKDIyODI1MSksVmU9cyg3MzQ0NzkpLEFlPXMoNjU2NDA5KSxGZT1zKDY5Nzc5OSksQmU9cyg2NTkyOTEpLE9lPXMoMTk2MDQ5KSxOZT1zKDIxNzAxNiksV2U9cyg5ODE4NTMpLFVlPXMoMzY0NzgyKSx6ZT1zKDM1ODA4OCksSGU9cyg0NTk2NzMpLGplPXMoNDE2MzUpLCRlPXMoOTU2NDM3KSxxZT0ocygyNTAzMzQpLHMoMTU2ODI5KSksS2U9cyg2OTk2NjgpLFllPXMoNzA0NTcyKSxHZT1zKDg2NjczMSksSmU9cyg4Njc4MzEpLFhlPXMoMjQxOTU2KSxRZT1zKDE4OTgwMCksWmU9cygyMjc4MjUpLGV0PXMoNzkzODYyKSx0dD1zKDQ4OTAzMSksc3Q9cyg5NjkxNjgpLGl0PXMoMjA1NjIyKSxudD1zKDcyMzUyNSk7Y29uc3QgcnQ9KDAsZy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgicHJpY2Vfc2NhbGVfYWx3YXlzX2xhc3RfYmFyX3ZhbHVlIiksb3Q9KDAsZy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZGlzcGxheV9kYXRhX21vZGUiKSxhdD0hKDAsZy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9zZXJpZXNfbGVnZW5kX2l0ZW0iKSxsdD0oMCxnLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3ByaWNlX3NjYWxlX2dsb2JhbF9sYXN0X2Jhcl92YWx1ZSIpLHV0PSgwLGcuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIm5vX2JhcnNfc3RhdHVzIiksY3Q9KDAsZy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY2hhcnRpbmdfbGlicmFyeV9kZWJ1Z19tb2RlIiksZHQ9KDAsZy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY2hhcnRfc3R5bGVfaGlsb19sYXN0X3ByaWNlIiksaHQ9KDAsdS5nZXRMb2dnZXIpKCJDaGFydC5TZXJpZXMiKSxwdD1QZS5sYXN0RGF5Q2hhbmdlQXZhaWxhYmxlJiZMZS5DaGVja01vYmlsZS5hbnkoKXx8UGUuYWx3YXlzU2hvd0xhc3RQcmljZUFuZExhc3REYXlDaGFuZ2U7bGV0IG10PSExO2NvbnN0IF90PXtjb3VudGRvd25FbmFibGVkOiEwLGxhc3RQcmljZUFuaW1hdGlvbkVuYWJsZWQ6ITB9O2Z1bmN0aW9uIGd0KGUsdCxzKXtyZXR1cm4gdm9pZCAwPT09dD9udWxsOmAke2V9PSR7dH0gKCR7cz8iY2hhbmdlZCI6InVuY2hhbmdlZCJ9KWB9ZnVuY3Rpb24geXQoZSl7CmNvbnN0IHQ9ZS5zdGF0ZSgpO3JldHVybiB0LmRhdGEuZm9yRWFjaCgoZT0+ZS52YWx1ZS5zcGxpY2UoNywxKSkpLHR9ZnVuY3Rpb24gZnQoZSl7Y29uc3R7c2VyaWVzU3RhdHVzOnQsYWRkaXRpb25hbFN0dWR5U3RhdHVzOnN9PWU7aWYoSS5zZXJpZXNMb2FkaW5nU3RhdHVzZXMuaGFzKHQpKXJldHVybiAyO2lmKHMpe2lmKDQhPT10JiZzLnR5cGU9PT1KZS5TdHVkeVN0YXR1c1R5cGUuRXJyb3IpcmV0dXJuIDEzO2lmKEkuc2VyaWVzUmVhZHlTdGF0dXNlcy5oYXModCkmJihzLnR5cGU9PT1KZS5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZ3x8cy50eXBlPT09SmUuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZCkpcmV0dXJuIDJ9cmV0dXJuIHR9Y2xhc3MgdnQgZXh0ZW5kcyBmLlByaWNlRGF0YVNvdXJjZXtjb25zdHJ1Y3RvcihlLHQsdSxkKXtzdXBlcihlLCJfc2VyaWVzSWQiKSx0aGlzLmlzU2VyaWVzPSEwLHRoaXMucmVxdWVzdGluZ1N0eWxlSXNOb3RTdXBwb3J0ZWQ9bmV3IGwuRGVsZWdhdGUsdGhpcy5yZXF1ZXN0aW5nU3R5bGVTdXBwb3J0UmVjb3ZlcmVkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX3BhbmVWaWV3PW51bGwsdGhpcy5fZnV0dXJlQmFyc1BhbmVWaWV3PW51bGwsdGhpcy5fcHJvamVjdGlvbkJhcnNQYW5lVmlldz1udWxsLHRoaXMuX3dhdGVybGluZVZpZXc9bnVsbCx0aGlzLl9wcmljZUxpbmVWaWV3PW51bGwsdGhpcy5fZ290b0RhdGVWaWV3PW51bGwsdGhpcy5fYmFzZUhvcml6b250YWxMaW5lVmlldz1udWxsLHRoaXMuX3ByaWNlU3RlcD1udWxsLHRoaXMuX3N5bWJvbEluZm89bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2lzUHJlUG9zdE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5PW5ldyB3LlByb3BlcnR5KCExKSx0aGlzLl9pc092ZXJuaWdodE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5PW5ldyB3LlByb3BlcnR5KCExKSx0aGlzLl9pc0JhY2tBZGp1c3RtZW50Rm9yYmlkZGVuUHJvcGVydHk9bmV3IHcuUHJvcGVydHkoITApLHRoaXMuX2lzU2V0dGxlbWVudEFzQ2xvc2VGb3JiaWRkZW5Qcm9wZXJ0eT1uZXcgdy5Qcm9wZXJ0eSghMCksdGhpcy5faGlnaExvd1ByaWNlQ2FjaGU9bmV3IE1hcCx0aGlzLl9hdmVyYWdlUHJpY2VDYWNoZT1uZXcgTWFwLHRoaXMuX3ByZXZDbG9zZVByaWNlQXhpc1ZpZXc9bnVsbCx0aGlzLl9wcmljZVNjYWxlQWJvdXRUb0JlQ2hhbmdlZD1uZXcgbC5EZWxlZ2F0ZSx0aGlzLl9vblJlc3RhcnRlZD1uZXcgbC5EZWxlZ2F0ZSx0aGlzLl9vblN0YXR1c0NoYW5nZWQ9bmV3IGwuRGVsZWdhdGUsdGhpcy5fdGFnc0NoYW5nZWQ9bmV3IGwuRGVsZWdhdGUsdGhpcy5faW50ZXJ2YWxDaGFuZ2VkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX3Nlc3Npb25JZENoYW5nZWQ9bmV3IGwuRGVsZWdhdGUsdGhpcy5fcmVxdWVzdE1vcmVEYXRhQXZhaWxhYmxlPSEwLHRoaXMuX2xpbmVTdHlsZUxhc3RQcmljZUNpcmNsZVBhbmVWaWV3PW5ldyBtZS5MYXN0UHJpY2VDaXJjbGVQYW5lVmlldyh0aGlzKSx0aGlzLl9wcmV2Q2xvc2VQcmljZUxpbmVWaWV3PW51bGwsdGhpcy5fZGF0YVBvd2VyZWRCeT1udWxsLHRoaXMuX3N5bWJvbFJlc29sdmluZ0FjdGl2ZT1uZXcgci5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3ByZWRpY3RCYXJzPTAsdGhpcy5fc3luY01vZGVsPW51bGwsdGhpcy5fZGF0YT1udWxsLHRoaXMuX2xhc3RDb21wbGV0ZUZsYWdzPW51bGwsdGhpcy5fYmFyQ29sb3JlckNhY2hlPW51bGwsdGhpcy5fcXVvdGVzTGFzdFNwbGl0cz1uZXcgci5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fb3ZlcnJpZGRlbkxhc3RTcGxpdHM9bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2xhc3RTcGxpdHM9KDAsby5jb21iaW5lKSgoKGUsdCk9PnR8fGUpLHRoaXMuX3F1b3Rlc0xhc3RTcGxpdHMud2Vha1JlZmVyZW5jZSgpLHRoaXMuX292ZXJyaWRkZW5MYXN0U3BsaXRzLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fYm94U2l6ZVZhbHVlPW5ldyByLldhdGNoZWRWYWx1ZSx0aGlzLl9iYXNlPTEwMCx0aGlzLl9wb2ludFZhbHVlPTEsdGhpcy5fZm9ybWF0dGluZ0RlcHM9bnVsbCx0aGlzLl9kZWZhdWx0Rm9ybWF0dGVyPW5ldyBFLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOnRoaXMuX2Jhc2V9KSx0aGlzLl9mb3JtYXR0ZXI9bmV3IEUuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6dGhpcy5fYmFzZX0pLHRoaXMuX2lnbm9yZU1pbk1vdmVGb3JtYXR0ZXI9bmV3IEUuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6dGhpcy5fYmFzZX0pLHRoaXMuX2lnbm9yZU1pbk1vdmVQcmljZVN0ZXA9bnVsbCx0aGlzLl9sYXN0QmFyQ2xvc2VUaW1lPW51bGwsdGhpcy5fb25TZXNzaW9uSWRQcm9wZXJ0eUNoYW5nZWRCb3VuZD10aGlzLl9vblNlc3Npb25JZFByb3BlcnR5Q2hhbmdlZC5iaW5kKHRoaXMpLHRoaXMuX2lnbm9yZVNlc3Npb25JZFByb3h5UHJvcGVydHlDaGFuZ2VzPSExLHRoaXMuX3JlYWxpZ25MaW5lVG9vbHNCb3VuZD10aGlzLl9yZWFsaWduTGluZVRvb2xzLmJpbmQodGhpcyksdGhpcy5fdGV4dFNvdXJjZUlzQWx3YXlzVGlja2VyUmVzdHJpY3Rpb25FbmFibGVkPSExLHRoaXMuX2xhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZT0hMSx0aGlzLl9jdXJyZW50U2Vzc2lvbj0ib3V0X29mX3Nlc3Npb24iLHRoaXMuX29uU3R5bGVDaGFuZ2VkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX29ic29sZXRlWk9yZGVyPTAsdGhpcy5fc2VyaWVzRXJyb3JNZXNzYWdlPW51bGwsdGhpcy5fc2VyaWVzQWx3YXlzRmFsc2VIaWJlcm5hdGVkVlc9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9zdHlsZVRvUmVjb3Zlcj1udWxsLHRoaXMuX3ByZWNvbXB1dGVkQmFyU3R5bGVzPW5ldyBXZWFrTWFwLHRoaXMuX2RvTm90U2hvd0xhc3RBdmFpbGFibGVCYXI9ITEsdGhpcy5fZ290b0RhdGVSZXN1bHRDbGVhcmVkPSExLHRoaXMuX2VuZE9mRGF0YVBhbmVWaWV3PW51bGwsdGhpcy5fZGVsYXlTdGF0dXNQYW5lVmlldz1udWxsLHRoaXMuX3BlbmRpbmdUaW1lUmFuZ2U9bnVsbCx0aGlzLl9yZXBsYXlTdWJzY3JpYmVyPW5ldyByLldhdGNoZWRWYWx1ZShudWxsKSwKdGhpcy5fc3ltYm9sSW50ZXJ2YWxDaGFuZ2VkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX2lzUmVwbGF5UmVzb2x1dGlvbkF2YWlsYWJsZUZvclVzZXI9bnVsbCx0aGlzLl9vbkluUmVwbGF5U3RhdGVDaGFuZ2VkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX29uUmVwbGF5U3Vic2NyaWJlclNlcmllc01vZGlmaWVkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX3BhcmFtc05vdEFwcGxpY2FibGVGb3JSZXBsYXk9bmV3IGwuRGVsZWdhdGUsdGhpcy5fb25UaW1lRnJhbWVBcHBsaWVkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX3Nlcmllc0xvYWRlZD0hMSx0aGlzLl9zZXJpZXNDb21wbGV0ZWQ9ITEsdGhpcy5fc3RhdHVzPW5ldyByLldhdGNoZWRWYWx1ZSh7c2VyaWVzU3RhdHVzOjB9KSx0aGlzLl9wcmV2UmVxdWVzdGVkSW50ZXJ2YWw9IiIsdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uU3RhdGU9bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2NvdW50ZG93blVwZGF0ZVRpbWVyPW51bGwsdGhpcy5fZGVmZXJyZWREZXN0cm95ZWQ9KDAseS5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksdGhpcy5fdm9sdW1lUG9pbnRXZWlnaHRzPW51bGwsdGhpcy5fc3R1ZHlCaW5kaW5ncz1udWxsLHRoaXMuX2xpbmVDb2xvckF0WVBlcmNlbnRGcm9tVG9wPW5ldyBaLkdyYWRpZW50Q29sb3JDYWNoZSx0aGlzLl9zYXZlZExlZnRFZGdlPW51bGwsdGhpcy5fcGVuZGluZ1Njcm9sbFRvTGVmdEVkZ2U9bnVsbCx0aGlzLl9zeW1ib2xTb3VyY2VXVj1uZXcgci5XYXRjaGVkVmFsdWUodGhpcyksdGhpcy5fY3VycmVuY3lPcmlnaW5Tb3VyY2U9bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMpLHRoaXMuX3VuaXRPcmlnaW5Tb3VyY2U9bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMpLHRoaXMuX3VwZGF0ZVRpbWVTY2FsZVRpbWVQb2ludFdlaWdodHM9KCk9Pnt0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5zZXRUaW1lUG9pbnRXZWlnaHRzKDE5PT09dGhpcy5zdHlsZSgpP3RoaXMuX3ZvbHVtZVBvaW50V2VpZ2h0czpudWxsKX07Y29uc3QgaD10LmNoaWxkcygpLHA9aC5pbnRlcnZhbDt0aGlzLl9pbnRlcnZhbE9iaj1uZXcgci5XYXRjaGVkVmFsdWUoYy5JbnRlcnZhbC5wYXJzZShwLnZhbHVlKCkpKSxwLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5faW50ZXJ2YWxPYmouc2V0VmFsdWUoYy5JbnRlcnZhbC5wYXJzZShwLnZhbHVlKCkpKSkpLHRoaXMuX3Nlcmllc1N0YXR1cz0oMCxvLmNvbWJpbmUpKGZ0LHRoaXMuX3N0YXR1cy53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX3N0dWR5QmluZGluZ3M9bmV3IEcuU2VyaWVzU3R1ZGllc0JpbmRpbmdzKHRoaXMpLHRoaXMuX3N0dWR5QmluZGluZ3Mub25TdGF0dXNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT57Y29uc3QgZT10aGlzLnN0YXR1cygpLHQ9dGhpcy5fc3RhdHVzLnZhbHVlKCkscz10aGlzLl9zdHVkeUJpbmRpbmdzPy5zdGF0dXMoKTtzPy50eXBlIT09SmUuU3R1ZHlTdGF0dXNUeXBlLkVycm9yfHx0aGlzLmlzRmFpbGVkKCl8fCh0aGlzLl9zZXJpZXNFcnJvck1lc3NhZ2U9KDAsSmUuY29udmVydFN0dWR5U3RhdHVzVG9TdHJpbmcpKHMpKSx0aGlzLl91cGRhdGVTdGF0dXMoey4uLnRoaXMuX3N0YXR1cy52YWx1ZSgpLGFkZGl0aW9uYWxTdHVkeVN0YXR1czpzfSksdGhpcy5zdGF0dXMoKSE9PWUmJih0aGlzLl9zdGF0dXNWaWV3LnVwZGF0ZSgpLHRoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzKSksKDAsaS5kZWZhdWx0KSh0LHRoaXMuX3N0YXR1cyl8fHRoaXMuX29uU3RhdHVzQ2hhbmdlZC5maXJlKCl9KSksdGhpcy5fc2VyaWVzU291cmNlPW5ldyB5ZS5TZXJpZXNEYXRhU291cmNlKGUuY2hhcnRBcGkoKSwicyIsZCk7Y29uc3QgXz10aGlzLl9zZXJpZXNTb3VyY2UuZGF0YUV2ZW50cygpO18uc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbFJlc29sdmVkKSxfLnN5bWJvbEVycm9yKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xFcnJvciksXy5zZXJpZXNUaW1lRnJhbWUoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNlcmllc1RpbWVGcmFtZSksXy5zZXJpZXNFcnJvcigpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU2VyaWVzRXJyb3IpLF8ubG9hZGluZygpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU2VyaWVzTG9hZGluZyksXy5jb21wbGV0ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNlcmllc0NvbXBsZXRlZCksXy5kYXRhVXBkYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRGF0YVVwZGF0ZWQpLF8uYmFyUmVjZWl2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkJhclJlY2VpdmVkKSxfLnVuc3VwcG9ydGVkUmVzb2x1dGlvblJlcXVlc3RlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uVW5zdXBwb3J0ZWRSZXNvbHV0aW9uUmVxdWVzdGVkKSxfLmNsZWFyZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNlcmllc0RhdGFDbGVhcmVkKSx0aGlzLl9xdW90ZXNQcm92aWRlcj1uZXcgQS5RdW90ZXNQcm92aWRlcih2b2lkIDAsZS5jb2xsYXBzZWQoKS5zcGF3bk93bmVyc2hpcCgpKSx0aGlzLl9xdW90ZXNQcm92aWRlci5xdW90ZXNVcGRhdGUoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblF1b3Rlc1VwZGF0ZSksdGhpcy5fc3R1ZHlCaW5kaW5ncz8uYmluZFRvU2VyaWVzUHJvcGVydGllcyh0KSx0aGlzLl9wcm9wZXJ0aWVzPXQsaC5jdXJyZW5jeUlkLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ3VycmVuY3lDaGFuZ2VkKSxoLnVuaXRJZC5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblVuaXRDaGFuZ2VkKSxoLm1ldHJpY0lkLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTWV0cmljQ2hhbmdlZCksaC50aW1lZnJhbWUuc3Vic2NyaWJlKHRoaXMsdGhpcy5jaGFuZ2VUaW1lRnJhbWUpLHQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Qcm9wZXJ0aWVzQ2hhbmdlZCksdGhpcy5fc2Vzc2lvbklkUHJveHlQcm9wZXJ0eT1uZXcgdy5Qcm9wZXJ0eShoLnNlc3Npb25JZC52YWx1ZSgpKSxoLnNlc3Npb25JZC5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3VwZGF0ZVNlc3Npb25JZFByb3h5UHJvcGVydHkoKSkpLAp0aGlzLl9zZXNzaW9uSWRQcm94eVByb3BlcnR5LnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU2Vzc2lvbklkUHJveHlQcm9wZXJ0eUNoYW5nZWQpLHRoaXMuX3N5bWJvbFRleHRTb3VyY2VQcm94eVByb3BlcnR5PW5ldyB3LlByb3BlcnR5LHRoaXMuX3JlY2FsY1N5bWJvbFRleHRTb3VyY2VQcm94eVByb3BlcnR5KCksaC5zdGF0dXNWaWV3U3R5bGUuY2hpbGRzKCkuc3ltYm9sVGV4dFNvdXJjZS5zdWJzY3JpYmUodGhpcyx0aGlzLl9yZWNhbGNTeW1ib2xUZXh0U291cmNlUHJveHlQcm9wZXJ0eSksdGhpcy5fc3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkuc3Vic2NyaWJlKHRoaXMsKCgpPT5lLmxpZ2h0VXBkYXRlKCkpKSx0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKF90KSx1KSx0aGlzLl9wcmV2Q2hhcnRTdHlsZT1oLnN0eWxlLnZhbHVlKCksdGhpcy5fcHJpY2VBeGlzVmlldz1uZXcgRi5TZXJpZXNQcmljZUF4aXNWaWV3KHRoaXMsZSx7YWx3YXlzU2hvd0dsb2JhbExhc3Q6IWx0LHNob3dDb3VudGRvd246dS5jb3VudGRvd25FbmFibGVkfSk7bGV0IGY9bnVsbDtydHx8bHR8fChmPW5ldyBGLlNlcmllc1ByaWNlQXhpc1ZpZXcodGhpcyxlLHt2aXNpYmxlT25IaXN0b3J5T25seTohMCxzaG93U3ltYm9sTGFiZWw6ITEsc2hvd0NvdW50ZG93bjohMSxhbHdheXNTaG93R2xvYmFsTGFzdDohMSx1c2VTb2xpZEJvZHlDb2xvcjohMX0pKSx0aGlzLl9wcmljZUxpbmVQcmljZUF4aXNWaWV3PW5ldyBuZS5TZXJpZXNQcmljZUxpbmVBeGlzVmlldyh0aGlzKSx0aGlzLl9wcmljZUxpbmVBeGlzVmlld3M9W3RoaXMuX3ByaWNlTGluZVByaWNlQXhpc1ZpZXddLHRoaXMuX3Byb2plY3Rpb25QcmljZUF4aXNWaWV3PW5ldyByZS5Qcm9qZWN0aW9uU2VyaWVzUHJpY2VBeGlzVmlldyh0aGlzLGUse3Nob3dDb3VudGRvd246dS5jb3VudGRvd25FbmFibGVkfSksdGhpcy5fcHJpY2VBeGlzVmlld3M9W3RoaXMuX3ByaWNlQXhpc1ZpZXcsdGhpcy5fcHJvamVjdGlvblByaWNlQXhpc1ZpZXddLG51bGwhPT1mJiZ0aGlzLl9wcmljZUF4aXNWaWV3cy5wdXNoKGYpLHRoaXMuX3ByZXZDbG9zZVByaWNlQXhpc1ZpZXc9bmV3IHRlLlByZXZDbG9zZVNlcmllc1ByaWNlQXhpc1ZpZXcodGhpcyxlKSx0aGlzLl9wcmljZUF4aXNWaWV3cy51bnNoaWZ0KHRoaXMuX3ByZXZDbG9zZVByaWNlQXhpc1ZpZXcpLHRoaXMuX3ByZXZDbG9zZVByaWNlTGluZVZpZXc9bmV3IHNlLlNlcmllc1ByZXZDbG9zZVByaWNlTGluZVBhbmVWaWV3KHRoaXMpLHRoaXMuX3BhbmVQcmljZUF4aXNWaWV3PW5ldyBvZS5QYW5lUHJpY2VBeGlzVmlldyh0aGlzLl9wcmljZUF4aXNWaWV3LHRoaXMsZSksdGhpcy5faGlzdG9yeVByaWNlUGFuZVByaWNlQXhpc1ZpZXc9bnVsbCE9PWY/bmV3IG9lLlBhbmVQcmljZUF4aXNWaWV3KGYsdGhpcyxlKTpudWxsLHRoaXMuX3Byb2plY3Rpb25QYW5lUHJpY2VBeGlzVmlldz1uZXcgb2UuUGFuZVByaWNlQXhpc1ZpZXcodGhpcy5fcHJvamVjdGlvblByaWNlQXhpc1ZpZXcsdGhpcyxlKSx0aGlzLl9sYWJlbFBhbmVWaWV3cz1bdGhpcy5fcGFuZVByaWNlQXhpc1ZpZXcsdGhpcy5fcHJvamVjdGlvblBhbmVQcmljZUF4aXNWaWV3XSxudWxsIT09dGhpcy5faGlzdG9yeVByaWNlUGFuZVByaWNlQXhpc1ZpZXcmJnRoaXMuX2xhYmVsUGFuZVZpZXdzLnB1c2godGhpcy5faGlzdG9yeVByaWNlUGFuZVByaWNlQXhpc1ZpZXcpLHRoaXMuX2hpZ2hMb3dBdmdQYW5lVmlld3M9W10sdGhpcy5fYXZlcmFnZVBhbmVWaWV3cz1bXSx0aGlzLl9jcmVhdGVIaWdoTG93QXZnVmlld3MoKSx0aGlzLl9zdWJzY3JpYmVSZXN0YXJ0VG9TZXNzaW9uSWRDaGFuZ2UoKSxoLnZpc2libGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlTGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlKSx0aGlzLl91cGRhdGVMYXN0UHJpY2VBbmltYXRpb25BY3RpdmUoKSxoLm1pblRpY2suc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Gb3JtYXR0ZXJQcm9wc0NoYW5nZWQpLHRoaXMuX2RhdGFXaW5kb3dWaWV3PW5ldyBnZS5TZXJpZXNEYXRhV2luZG93Vmlldyh0aGlzLGUpLHRoaXMuX2xlZ2VuZFZpZXc9bmV3IE0uU2VyaWVzTGVnZW5kVmlldyh0aGlzLGUpLHRoaXMuX3N0YXR1c1ZpZXc9bmV3IEwuU2VyaWVzU3RhdHVzVmlldyh0aGlzLGguc3RhdHVzVmlld1N0eWxlKSx0aGlzLl9mbG9hdGluZ1Rvb2x0aXBWaWV3PW5ldyBldC5TZXJpZXNDaGFydEZsb2F0aW5nVG9vbHRpcFZpZXcoZSksdGhpcy5fbWFya2V0U3RhdHVzTW9kZWw9bmV3IEQuTWFya2V0U3RhdHVzTW9kZWwodGhpcy5fcXVvdGVzUHJvdmlkZXIpLHRoaXMuX2RhdGFVcGRhdGVkTW9kZU1vZGVsPW90P25ldyBrLkRhdGFVcGRhdGVkTW9kZU1vZGVsKHRoaXMuX3N5bWJvbEluZm8uc3Bhd24oKS5vd25lcnNoaXAoKSx0aGlzLl9zZXJpZXNTdGF0dXMuc3Bhd24oKS5vd25lcnNoaXAoKSwoMCxYZS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+dGhpcy5fbGFzdENvbXBsZXRlRmxhZ3M/LnJ0X3VwZGF0ZV9wZXJpb2QpLF8uY29tcGxldGVkKCkpLm93bmVyc2hpcCgpKTpudWxsLHRoaXMuX2RhdGFQcm9ibGVtTW9kZWw9bmV3IFYuRGF0YVByb2JsZW1Nb2RlbCh0aGlzLl9xdW90ZXNQcm92aWRlcix0aGlzLl9zeW1ib2xJbmZvLnNwYXduKCkub3duZXJzaGlwKCkpLGguYmFja0FkanVzdG1lbnQuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5pc1N0YXJ0ZWQoKSYmdGhpcy5yZXN0YXJ0KCl9KSksaC5zZXR0bGVtZW50QXNDbG9zZS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLmlzRFdNKCkmJnRoaXMuaXNTdGFydGVkKCkmJnRoaXMucmVzdGFydCgpfSkpLHRoaXMuX3N5bWJvbFJlc29sdmluZ0FjdGl2ZS5zdWJzY3JpYmUodGhpcy5fcmVhbGlnbkxpbmVUb29sc0JvdW5kKSx0aGlzLl9pbnRlcnZhbENoYW5nZWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcmVhbGlnbkxpbmVUb29sc0JvdW5kKSx0aGlzLl9pbnRlcnZhbENoYW5nZWQuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9jaGVja0NoYXJ0U3R5bGUoKSkpLCgwLApnLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKXx8UHJvbWlzZS5hbGwoW3MuZSg3MzExKSxzLmUoODQzMDYpLHMuZSgyOTI5Nikscy5lKDUyMzk2KSxzLmUoNjAwNjIpLHMuZSgyMDM1NCkscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSgxMjA1MSkscy5lKDM4MjYyKSxzLmUoNzQyNzMpLHMuZSgzMjM4Nykscy5lKDM5NjA5KSxzLmUoOTE4MzMpXSkudGhlbihzLmJpbmQocywzMDA4MjgpKS50aGVuKChlPT57dGhpcy5fZW5kT2ZEYXRhUGFuZVZpZXc9bmV3IGUuRW5kT2ZEYXRhTG9sbGlwb3BQYW5lVmlldyh0aGlzKX0pKSx0aGlzLl9zdHVkeUJpbmRpbmdzPy5zeW5jU3R1ZHkodGhpcy5zdHlsZSgpKSx0aGlzLl9hbGlhc1N5bWJvbEluZm89KDAsTy5jcmVhdGVBbGlhc1N5bWJvbEluZm9XVikodGhpcy5fc3ltYm9sSW5mby53ZWFrUmVmZXJlbmNlKCksdGhpcy5fbW9kZWwuc3ltYm9sQWxpYXNTZXJ2aWNlKCkpLHRoaXMuX2FsaWFzU3ltYm9sSW5mby5zdWJzY3JpYmUoKCgpPT50aGlzLl9vbkZvcm1hdHRlclByb3BzQ2hhbmdlZCgpKSksJC5hbGVydHNBdmFpbGFibGUmJnRoaXMuX3N5bWJvbFJlc29sdmluZ0FjdGl2ZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWxlcnRDcmVhdGlvbkF2YWlsYWJsZUJvdW5kKSwhKDAsSi5pc0ZlYXR1cmVFbmFibGVkKSgiZGVsYXlfc3RhdHVzX29uX2xhc3RfYmFyIil8fHRoaXMuX21vZGVsLm9uV2lkZ2V0KCl8fHRoaXMuX21vZGVsLmlzU25hcHNob3QoKXx8dGhpcy5fc3ltYm9sSW5mby5zdWJzY3JpYmUoKGU9PntpZigoMCxQLmdldFN5bWJvbERlbGF5U2Vjb25kcykoZSk+MCl7aWYodGhpcy5fZGVsYXlTdGF0dXNQYW5lVmlldylyZXR1cm47dGhpcy5fZGVsYXlTdGF0dXNQYW5lVmlldz1uZXcgWC5Bc3luY1Jlc291cmNlV3JhcHBlcihQcm9taXNlLmFsbChbcy5lKDI3MjkyKSxzLmUoMTI0NDgpXSkudGhlbihzLmJpbmQocywxMDA4MjApKS50aGVuKCgoe0RlbGF5U3RhdHVzUGFuZVZpZXc6ZX0pPT5uZXcgZSh0aGlzKSkpLChlPT57ZS5kZXN0cm95KCksdGhpcy5fZGVsYXlTdGF0dXNQYW5lVmlldz1udWxsfSkpfWVsc2UgdGhpcy5fZGVsYXlTdGF0dXNQYW5lVmlldz8uZGVzdHJveSgpfSkpLHRoaXMuY3JlYXRlUGFuZVZpZXcoKSx0aGlzLl9wcm9wZXJ0aWVzLmFkZEV4Y2x1ZGVkS2V5KCJ2aXNpYmxlIiwxKSx0aGlzLl9wcm9wZXJ0aWVzLmFkZEV4Y2x1ZGVkS2V5KCJjdXJyZW5jeUlkIiwxKSx0aGlzLl9mdXR1cmVCYXJzUGFuZVZpZXc9bnVsbCx0aGlzLl9wcmljZUxpbmVWaWV3PW51bGwsdGhpcy5fYmFzZUhvcml6b250YWxMaW5lVmlldz1uZXcgR2UuU2VyaWVzSG9yaXpvbnRhbEJhc2VMaW5lUGFuZVZpZXcodGhpcyk7Zm9yKGNvbnN0WyxlXW9mIE9iamVjdC5lbnRyaWVzKEkuU1RZTEVfU0hPUlRfTkFNRVMpKXRoaXMuX3Byb3BlcnRpZXMuY2hpbGQoYCR7ZX1TdHlsZWApPy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuaW52YWxpZGF0ZUJhclN0eWxlc0NhY2hlKCkpKTtjb25zdCB2PWgucmVua29TdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCk7di5ib3hTaXplLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDQpKSksdi5zdHlsZS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcyg0KSkpLHYuYXRyTGVuZ3RoLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDQpKSksdi5wZXJjZW50YWdlTFRQLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDQpKSksdi53aWNrcy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcyg0KSkpLHYuc291cmNlcy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcyg0KSkpLGgucGJTdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkubGIuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9yZXN0YXJ0SWZTdHlsZU1hdGNoZXMoNykpKTtjb25zdCBiPWgua2FnaVN0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKTtiLnJldmVyc2FsQW1vdW50LnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDUpKSksYi5zdHlsZS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcyg1KSkpLGIuYXRyTGVuZ3RoLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDUpKSksYi5wZXJjZW50YWdlTFRQLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDUpKSk7Y29uc3QgUz1oLnBuZlN0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKTtTLmJveFNpemUuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9yZXN0YXJ0SWZTdHlsZU1hdGNoZXMoNikpKSxTLnJldmVyc2FsQW1vdW50LnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDYpKSksUy5zb3VyY2VzLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDYpKSksUy5zdHlsZS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcyg2KSkpLFMuYXRyTGVuZ3RoLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDYpKSksUy5wZXJjZW50YWdlTFRQLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDYpKSksUy5vbmVTdGVwQmFja0J1aWxkaW5nLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDYpKSksaC5yYW5nZVN0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5waGFudG9tQmFycy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcygxMSkpKSx0aGlzLl9pc0RXTVByb3BlcnR5PW5ldyB3LlByb3BlcnR5KHRoaXMuaXNEV00oKSksCnRoaXMuX29uUmVzdGFydGVkLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5faXNEV01Qcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLmlzRFdNKCkpKSksaC5kaXZpZGVuZHNBZGp1c3RtZW50Py5zdWJzY3JpYmUodGhpcywoKCk9Pntjb25zdCBlPSgwLG4uZW5zdXJlRGVmaW5lZCkoaC5kaXZpZGVuZHNBZGp1c3RtZW50KS52YWx1ZSgpOygwLG0udHJhY2tFdmVudCkoIkRpdmlkZW5kcyBhZGp1c3QiLCEwPT09ZT8iT24iOiJPZmYiKSx0aGlzLnJlc3RhcnQoKX0pKSx0aGlzLl9kYXRhUG93ZXJlZEJ5PW51bGwsaC5zaG93Q291bnRkb3duLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU2hvd0NvdW50ZG93bkNoYW5nZWQpLHRoaXMuX29uU2hvd0NvdW50ZG93bkNoYW5nZWQoaC5zaG93Q291bnRkb3duKSx0aGlzLl9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcygpLGgubGluZVN0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKSxoLmxpbmVXaXRoTWFya2Vyc1N0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKSxoLnN0ZXBsaW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGguYXJlYVN0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKSxoLmJhc2VsaW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGguY29sdW1uU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGgudHBvU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLHRoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKCksdGhpcy5faXNJblJlcGxheT0oMCxvLmNvbWJpbmUpKChlPT5udWxsIT09ZSksdGhpcy5fcmVwbGF5U3Vic2NyaWJlci53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX3ZhbHVlc1Byb3ZpZGVyPW5ldyBRZS5TZXJpZXNWYWx1ZXNQcm92aWRlcih0aGlzLHRoaXMubW9kZWwoKSksdGhpcy5fbGVnZW5kVmFsdWVzUHJvdmlkZXI9bmV3IGxlLlNlcmllc0xlZ2VuZFZhbHVlc1Byb3ZpZGVyKHRoaXMsdGhpcy5tb2RlbCgpKSx0aGlzLl90YWJsZVZpZXdWYWx1ZXNQcm92aWRlcj1uZXcgaXQuU2VyaWVzVGFibGVWaWV3VmFsdWVzUHJvdmlkZXIodGhpcyx0aGlzLm1vZGVsKCkpLHRoaXMuX2RhdGFXaW5kb3dWYWx1ZXNQcm92aWRlcj1uZXcgUWUuU2VyaWVzVmFsdWVzUHJvdmlkZXIodGhpcyx0aGlzLm1vZGVsKCkpLHRoaXMuX3ZhbHVlc1Byb3ZpZGVyPW5ldyBRZS5TZXJpZXNWYWx1ZXNQcm92aWRlcih0aGlzLHRoaXMubW9kZWwoKSksdGhpcy5fY2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcj1uZXcgdWUuU2VyaWVzQ2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcih0aGlzLHRoaXMubW9kZWwoKSksdGhpcy5faXNDdXJyZW5jeU9yaWdpbi5zZXRWYWx1ZSghMCksdGhpcy5faXNVbml0T3JpZ2luLnNldFZhbHVlKCEwKTtjb25zdCBUPSgpPT57Y29uc3QgdD10aGlzLl9zeW1ib2xJbmZvLnZhbHVlKCkscz0oMCxQLnN5bWJvbFVuaXQpKHQsZS51bml0Q29udmVyc2lvbkVuYWJsZWQoKSk7bnVsbCE9PXQmJm51bGwhPT1zP3RoaXMuX3VuaXRNZXRhRGF0YS5zZXRWYWx1ZSh7dW5pdE9yaWdpbk5hbWU6dGhpcy5wcm9TeW1ib2woKSxjb252ZXJ0aWJsZUdyb3VwczooMCxudC51bml0Q29udmVydGlibGVHcm91cHMpKHQscyx0aGlzLl9hdmFpbGFibGVVbml0cy52YWx1ZSgpKSxpc0NvbnZlcnRlZFRvT3RoZXJVbml0OigwLFAuaXNDb252ZXJ0ZWRUb090aGVyVW5pdCkodCxlLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpKSxvcmlnaW5hbFVuaXQ6KDAsUC5zeW1ib2xPcmlnaW5hbFVuaXQpKHQsZS51bml0Q29udmVyc2lvbkVuYWJsZWQoKSksY3VycmVudFVuaXQ6c30pOnRoaXMuX3VuaXRNZXRhRGF0YS5zZXRWYWx1ZShudWxsKX07dGhpcy5fYXZhaWxhYmxlVW5pdHM9ZS5hdmFpbGFibGVVbml0cygpLnNwYXduKCksdGhpcy5fc3ltYm9sSW5mby5zdWJzY3JpYmUoKCgpPT57Y29uc3QgZT10aGlzLl9zeW1ib2xJbmZvLnZhbHVlKCksdD0oMCxQLnN5bWJvbEN1cnJlbmN5KShlKTtudWxsIT09ZSYmbnVsbCE9PXQ/dGhpcy5fY3VycmVuY3lNZXRhRGF0YS5zZXRWYWx1ZSh7b3JpZ2luYWxDdXJyZW5jeTooMCxQLnN5bWJvbE9yaWdpbmFsQ3VycmVuY3kpKGUpLGN1cnJlbnRDdXJyZW5jeTp0LGJhc2VDdXJyZW5jeTooMCxQLnN5bWJvbEJhc2VDdXJyZW5jeSkoZSksaXNDdXJyZW5jeUNvbnZlcnRpYmxlOigwLFAuc3ltYm9sQ3VycmVuY3lDb252ZXJ0aWJsZSkoZSksaXNDb252ZXJ0ZWRUb090aGVyQ3VycmVuY3k6KDAsUC5pc0NvbnZlcnRlZFRvT3RoZXJDdXJyZW5jeSkoZSksY3VycmVuY3lPcmlnaW5OYW1lOnRoaXMucHJvU3ltYm9sKCl9KTp0aGlzLl9jdXJyZW5jeU1ldGFEYXRhLnNldFZhbHVlKG51bGwpfSkpLHRoaXMuX3N5bWJvbEluZm8uc3Vic2NyaWJlKFQpLHRoaXMuX2F2YWlsYWJsZVVuaXRzLnN1YnNjcmliZShUKX1zZXRJZChlKXtzdXBlci5zZXRJZChlKSwoMCxRLmdldFBlcnNpc3RlbnRMb2dnZXIpKCk/LmFkZFBlcnNpc3RlbnRMb2dFbnRyeShgU2V0IHNlcmllcyBJZCB0byAke2V9YCx1LkxPR0xFVkVMLklORk8sImNoYXJ0LnNlcmllcyIpfXN1cHBvcnRzQ29uZmxhdGVkQ2h1bmtzKCl7cmV0dXJuITB9Y29uZmxhdGVkQ2h1bmtzKGUsdCl7cmV0dXJuIHRoaXMuZGF0YSgpLmNvbmZsYXRlZENodW5rcyhlLHQpfXNlcmllc0Vycm9yTWVzc2FnZSgpe2NvbnN0e3Nlcmllc1N0YXR1czplLGFkZGl0aW9uYWxTdHVkeVN0YXR1czp0fT10aGlzLl9zdGF0dXMudmFsdWUoKQo7cmV0dXJuIHRoaXMuaXNGYWlsZWQoKT90aGlzLl9zZXJpZXNFcnJvck1lc3NhZ2U6SS5zZXJpZXNMb2FkaW5nU3RhdHVzZXMuaGFzKGUpP251bGw6dD8udHlwZT09PUplLlN0dWR5U3RhdHVzVHlwZS5FcnJvcj8oMCxKZS5jb252ZXJ0U3R1ZHlTdGF0dXNUb1N0cmluZykoe3R5cGU6SmUuU3R1ZHlTdGF0dXNUeXBlLkVycm9yLGVycm9yRGVzY3JpcHRpb246dC5lcnJvckRlc2NyaXB0aW9ufSwhMCk6bnVsbH1kZXN0cm95KCl7dGhpcy5fbGFzdFNwbGl0cy5kZXN0cm95KCksdGhpcy5fc2VyaWVzU3RhdHVzLmRlc3Ryb3koKSx0aGlzLl9xdW90ZXNQcm92aWRlci5xdW90ZXNVcGRhdGUoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9xdW90ZXNQcm92aWRlci5kZXN0cm95KCksdGhpcy5jbGVhckdvdG9EYXRlUmVzdWx0KCksdGhpcy5fbGVnZW5kVmlldy5kZXN0cm95KCksdGhpcy5fZmxvYXRpbmdUb29sdGlwVmlldy5kZXN0cm95KCksdGhpcy5fbWFya2V0U3RhdHVzTW9kZWwuZGVzdHJveSgpLHRoaXMuX21vZGVsLnN5bWJvbEFsaWFzU2VydmljZSgpPy5vbkFsaWFzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2FsaWFzU3ltYm9sSW5mbz8ucmVsZWFzZSgpLHRoaXMuX3N0dWR5QmluZGluZ3M/LmRlc3Ryb3koKSx0aGlzLl9kYXRhVXBkYXRlZE1vZGVNb2RlbD8uZGVzdHJveSgpLHRoaXMuX2RhdGFQcm9ibGVtTW9kZWwuZGVzdHJveSgpLHRoaXMuX2RlbGF5U3RhdHVzUGFuZVZpZXc/LmRlc3Ryb3koKSx0aGlzLl9wYW5lVmlldyYmdGhpcy5fcGFuZVZpZXcuZGVzdHJveSYmdGhpcy5fcGFuZVZpZXcuZGVzdHJveSgpLHRoaXMuX3Nlcmllc1NvdXJjZS5kZXN0cm95KCksdGhpcy5fcXVvdGVzUHJvdmlkZXIucXVvdGVzVXBkYXRlKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZUNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl91bnN1YnNjcmliZVJlc3RhcnRUb1Nlc3Npb25JZENoYW5nZSgpLHRoaXMuX3BhcmFtc05vdEFwcGxpY2FibGVGb3JSZXBsYXkuZGVzdHJveSgpLHRoaXMuX29uVGltZUZyYW1lQXBwbGllZC5kZXN0cm95KCksdGhpcy5fZGVmZXJyZWREZXN0cm95ZWQucmVzb2x2ZSgpLHRoaXMuX3Byb3BlcnRpZXMuZGVzdHJveSgpLHRoaXMuX2lzSW5SZXBsYXkuZGVzdHJveSgpLHRoaXMuX2F2YWlsYWJsZVVuaXRzLmRlc3Ryb3koKSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUudW5zdWJzY3JpYmUodGhpcy5fcmVhbGlnbkxpbmVUb29sc0JvdW5kKSwkLmFsZXJ0c0F2YWlsYWJsZSYmdGhpcy5fc3ltYm9sUmVzb2x2aW5nQWN0aXZlLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUFsZXJ0Q3JlYXRpb25BdmFpbGFibGVCb3VuZCksdGhpcy5faW50ZXJ2YWxDaGFuZ2VkLmRlc3Ryb3koKSxudWxsIT09dGhpcy5fY291bnRkb3duVXBkYXRlVGltZXImJih0aGlzLl9tb2RlbC5jbGVhckludGVydmFsKHRoaXMuX2NvdW50ZG93blVwZGF0ZVRpbWVyKSx0aGlzLl9jb3VudGRvd25VcGRhdGVUaW1lcj1udWxsKSxzdXBlci5kZXN0cm95KCl9YmFyQ29sb3Jlcigpe2lmKHRoaXMuX2JhckNvbG9yZXJDYWNoZSlyZXR1cm4gdGhpcy5fYmFyQ29sb3JlckNhY2hlO2xldCBlPW51bGw7Y29uc3QgdD10aGlzLl9tb2RlbC5wYW5lcygpO2ZvcihsZXQgcz10Lmxlbmd0aC0xO3M+PTA7cy0tKXtjb25zdCBpPXRbc10uZGF0YVNvdXJjZXMoKS5maWx0ZXIoJGUuaXNTdHVkeSkuZmlsdGVyKChlPT5lLmhhc0JhckNvbG9yZXIoKSYmIWUuaXNTb3VyY2VIaWRkZW4oKSkpLnNvcnQoKChlLHQpPT5lLnpvcmRlcigpLXQuem9yZGVyKCkpKTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKyl7Y29uc3Qgcz0oMCxuLmVuc3VyZU5vdE51bGwpKGlbdF0uYmFyQ29sb3JlcigpKTtudWxsPT09ZT9lPXM6ZS5wdXNoQmFja0JhckNvbG9yZXIocyl9fXJldHVybiBudWxsPT09ZT9lPW5ldyBqZS5TZXJpZXNCYXJDb2xvcmVyKHRoaXMpOmUucHVzaEJhY2tCYXJDb2xvcmVyKG5ldyBqZS5TZXJpZXNCYXJDb2xvcmVyKHRoaXMpKSx0aGlzLl9iYXJDb2xvcmVyQ2FjaGU9ZSxlfWNyZWF0ZVBhbmVWaWV3KCl7dGhpcy5fcGFuZVZpZXc9bnVsbCx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3PW51bGwsdGhpcy5fd2F0ZXJsaW5lVmlldz1udWxsLHRoaXMuX3ByaWNlTGluZVZpZXc9dGhpcy5oYXNDbG9zZVByaWNlKCk/bmV3IGJlLlNlcmllc1ByaWNlTGluZVBhbmVWaWV3KHRoaXMpOm51bGw7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnN0eWxlLnZhbHVlKCk7c3dpdGNoKGUpe2Nhc2UgMDp0aGlzLl9wYW5lVmlldz1uZXcgRGUuU2VyaWVzQmFyc1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMTc6Y2FzZSAxOTpjYXNlIDE6dGhpcy5fcGFuZVZpZXc9bmV3IHhlLlNlcmllc0NhbmRsZXNQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsLDE9PT1lfHwxOT09PWU/MTouMik7YnJlYWs7Y2FzZSAyOmNhc2UgMTg6Y2FzZSAxNDpjYXNlIDE1OnRoaXMuX3BhbmVWaWV3PW5ldyBSZS5TZXJpZXNMaW5lUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCk7YnJlYWs7Y2FzZSAzOnRoaXMuX3BhbmVWaWV3PW5ldyBrZS5TZXJpZXNBcmVhUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCk7YnJlYWs7Y2FzZSAxNjp0aGlzLl9wYW5lVmlldz1uZXcgVmUuU2VyaWVzSExDQXJlYVBhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgODp0aGlzLl9wYW5lVmlldz1uZXcgQWUuU2VyaWVzSGVpa2VuQXNoaVBhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgOTp0aGlzLl9wYW5lVmlldz1uZXcgRmUuU2VyaWVzSG9sbG93Q2FuZGxlc1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMTM6dGhpcy5fcGFuZVZpZXc9bmV3IE1lLlNlcmllc0NvbHVtbnNQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDEwOnt0aGlzLl9wYW5lVmlldz1uZXcgQmUuU2VyaWVzQmFzZWxpbmVQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKQo7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmJhc2VsaW5lU3R5bGUuY2hpbGRzKCk7dGhpcy5fd2F0ZXJsaW5lVmlldz1uZXcgU2UuU2VyaWVzV2F0ZXJsaW5lUGFuZVZpZXcoe3BhbmVIZWlnaHQ6KCk9PnRoaXMucHJpY2VTY2FsZSgpLmhlaWdodCgpLGNvbG9yOigpPT5lLmJhc2VsaW5lQ29sb3IudmFsdWUoKSxiYXNlTGV2ZWxQZXJjZW50YWdlOigpPT5lLmJhc2VMZXZlbFBlcmNlbnRhZ2UudmFsdWUoKX0pO2JyZWFrfWNhc2UgMTI6dGhpcy5fcGFuZVZpZXc9bmV3IHdlLlNlcmllc0hpTG9QYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDIxOnRoaXMuX3BhbmVWaWV3PW5ldyB0dC5TZXJpZXNITENCYXJzUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCl9c3dpdGNoKGUpe2Nhc2UgNDp0aGlzLl9wYW5lVmlldz1uZXcgVGUuU2VyaWVzUmVua29QYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKSx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3PW5ldyBUZS5TZXJpZXNQcm9qZWN0aW9uUmVua29QYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDc6dGhpcy5fcGFuZVZpZXc9bmV3IENlLlNlcmllc1ByaWNlQnJlYWtQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKSx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3PW5ldyBDZS5TZXJpZXNQcm9qZWN0aW9uUHJpY2VCcmVha1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgNTp0aGlzLl9wYW5lVmlldz1uZXcgRWUuU2VyaWVzS2FnaVBhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpLHRoaXMuX3Byb2plY3Rpb25CYXJzUGFuZVZpZXc9bmV3IEVlLlNlcmllc1Byb2plY3Rpb25LYWdpUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCk7YnJlYWs7Y2FzZSA2OnRoaXMuX3BhbmVWaWV3PW5ldyBJZS5TZXJpZXNQbkZQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKSx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3PW5ldyBJZS5TZXJpZXNQcm9qZWN0aW9uUG5GUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCl9aWYoMTE9PT1lJiYodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5yYW5nZVN0eWxlLmNoaWxkcygpLmJhclN0eWxlLnZhbHVlKCk9PT1LZS5SYW5nZUJhclN0eWxlLkJhcnM/KHRoaXMuX3BhbmVWaWV3PW5ldyBEZS5TZXJpZXNCYXJzUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCksdGhpcy5fcHJvamVjdGlvbkJhcnNQYW5lVmlldz1uZXcgaWUuU2VyaWVzUHJvamVjdGlvblJhbmdlQmFyc1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpKToodGhpcy5fcGFuZVZpZXc9bmV3IHhlLlNlcmllc0NhbmRsZXNQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKSx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3PW5ldyBpZS5TZXJpZXNQcm9qZWN0aW9uUmFuZ2VDYW5kbGVzUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCkpKSwyMD09PWUmJih0aGlzLl9wYW5lVmlldz1ZLkVtcHR5UGFuZVZpZXcuaW5zdGFuY2UoKSksbnVsbD09PXRoaXMuX3BhbmVWaWV3KXRocm93IEVycm9yKCJVbmtub3duIGNoYXJ0IHN0eWxlIGFzc2lnbmVkOiAiK2UpfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc316b3JkZXIoKXtyZXR1cm4gMH1xdW90ZXNQcm92aWRlcigpe3JldHVybiB0aGlzLl9xdW90ZXNQcm92aWRlcn1jdXJyZW50U2Vzc2lvbigpe3JldHVybiB0aGlzLl9jdXJyZW50U2Vzc2lvbn1zeW5jTW9kZWwoKXtpZighdGhpcy5fc3luY01vZGVsKXtjb25zdCBlPXRoaXMuc3ltYm9sSW5mbygpLHQ9dGhpcy5pbnRlcnZhbCgpO2lmKCFlfHwhdClyZXR1cm4gbnVsbDt0aGlzLl9zeW5jTW9kZWw9bmV3IFIuU3luY01vZGVsKGUsdCl9cmV0dXJuIHRoaXMuX3N5bmNNb2RlbH1sYWJlbFBhbmVWaWV3cygpe3JldHVybiB0aGlzLl9sYWJlbFBhbmVWaWV3c310b3BQYW5lVmlld3MoKXtjb25zdCBlPVtdO2lmKG51bGwhPT10aGlzLl9nb3RvRGF0ZVZpZXcmJmUucHVzaCh0aGlzLl9nb3RvRGF0ZVZpZXcpLHRoaXMuX2xhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZSl7Y29uc3QgdD10aGlzLl9saW5lU3R5bGVMYXN0UHJpY2VDaXJjbGVQYW5lVmlldzt0LmFuaW1hdGlvbkFjdGl2ZSgpJiZzZXRUaW1lb3V0KCgoKT0+dGhpcy5fbW9kZWwuaW52YWxpZGF0ZShfZS5JbnZhbGlkYXRpb25NYXNrLmN1cnNvcigpKSksMCksdC5pbnZhbGlkYXRlU3RhZ2UoKSxlLnB1c2godCl9cmV0dXJuIDAhPT1lLmxlbmd0aD9lOm51bGx9cGFuZVZpZXdzKGUpe2lmKCF0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCl8fCF0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkmJiF0aGlzLl93YXNDb21wbGV0ZWRCZWZvcmUoKSlyZXR1cm4gbnVsbDtjb25zdCB0PWU9PT10aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMpLHM9dD9bKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9iYXNlSG9yaXpvbnRhbExpbmVWaWV3KSwoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3BhbmVWaWV3KV06W107aWYocy5wdXNoKC4uLnRoaXMuX3N0dWR5QmluZGluZ3M/LnBhbmVWaWV3cyhlKT8/W10pLHQpe2lmKDE3IT09dGhpcy5zdHlsZSgpJiZ0aGlzLl9kZWxheVN0YXR1c1BhbmVWaWV3KXtjb25zdCBlPXRoaXMuX2RlbGF5U3RhdHVzUGFuZVZpZXcuZ2V0KCk7ZSYmKGUuc2V0QmFyc1Byb3ZpZGVyKHRoaXMuX3Byb2plY3Rpb25CYXJzUGFuZVZpZXcpLHMucHVzaChlKSl9dGhpcy5fZW5kT2ZEYXRhUGFuZVZpZXcmJnMucHVzaCh0aGlzLl9lbmRPZkRhdGFQYW5lVmlldyksdGhpcy5fZnV0dXJlQmFyc1BhbmVWaWV3JiZzLnB1c2godGhpcy5fZnV0dXJlQmFyc1BhbmVWaWV3KSx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3JiZzLnB1c2godGhpcy5fcHJvamVjdGlvbkJhcnNQYW5lVmlldyksbnVsbCE9PXRoaXMuX3dhdGVybGluZVZpZXcmJnMucHVzaCh0aGlzLl93YXRlcmxpbmVWaWV3KSxzLnB1c2goKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcmV2Q2xvc2VQcmljZUxpbmVWaWV3KSksbnVsbCE9PXRoaXMuX3ByaWNlTGluZVZpZXcmJnMucHVzaCh0aGlzLl9wcmljZUxpbmVWaWV3KSwKd2luZG93LlRyYWRpbmdWaWV3LnByaW50aW5nJiZ0aGlzLl9sYXN0UHJpY2VBbmltYXRpb25BY3RpdmUmJih0aGlzLl9saW5lU3R5bGVMYXN0UHJpY2VDaXJjbGVQYW5lVmlldy5zdG9wQW5pbWF0aW9uKCkscy5wdXNoKHRoaXMuX2xpbmVTdHlsZUxhc3RQcmljZUNpcmNsZVBhbmVWaWV3KSkscy5wdXNoKC4uLnRoaXMuX2hpZ2hMb3dBdmdQYW5lVmlld3MpLHMucHVzaCguLi50aGlzLl9hdmVyYWdlUGFuZVZpZXdzKX1yZXR1cm4gc313aWRnZXRTaWRlQXJlYVZpZXdzKGUpe3JldHVybiB0aGlzLl9zdHVkeUJpbmRpbmdzPy53aWRnZXRTaWRlQXJlYVZpZXdzKGUpPz9udWxsfXByaWNlQXhpc1ZpZXdzKGUsdCl7cmV0dXJuIGUuZmluZFRhcmdldFByaWNlQXhpc1ZpZXdzKHRoaXMsdCx0aGlzLl9wcmljZUF4aXNWaWV3cyx0aGlzLl9wcmljZUxpbmVBeGlzVmlld3MpfWNsZWFySGlnaExvd1ByaWNlQ2FjaGUoKXt0aGlzLl9oaWdoTG93UHJpY2VDYWNoZS5jbGVhcigpfWNsZWFyQXZlcmFnZVByaWNlQ2FjaGUoKXt0aGlzLl9hdmVyYWdlUHJpY2VDYWNoZS5jbGVhcigpfXByaWNlU2NhbGUoKXtyZXR1cm4oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3ByaWNlU2NhbGUpfXNldFByaWNlU2NhbGUoZSl7dGhpcy5fcHJpY2VTY2FsZSE9PWUmJih0aGlzLl9wcmljZVNjYWxlQWJvdXRUb0JlQ2hhbmdlZC5maXJlKCksdGhpcy5fcHJpY2VTY2FsZT1lLHRoaXMuX3Byb3BlcnRpZXMucmVtb3ZlUHJvcGVydHkoInByaWNlQXhpc1Byb3BlcnRpZXMiKSx0aGlzLl9wcm9wZXJ0aWVzLmFkZENoaWxkKCJwcmljZUF4aXNQcm9wZXJ0aWVzIixlLnByb3BlcnRpZXMoKSksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wcmljZUF4aXNQcm9wZXJ0aWVzLmZpcmVDaGFuZ2VkKCksKDAsXy5lbWl0KSgic2VyaWVzX2V2ZW50IiwicHJpY2Vfc2NhbGVfY2hhbmdlZCIpLHRoaXMuX3ByaWNlU2NhbGVDaGFuZ2VkLmZpcmUoZSkpfXByaWNlU2NhbGVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3ByaWNlU2NhbGVDaGFuZ2VkfXByaWNlU2NhbGVBYm91dFRvQmVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3ByaWNlU2NhbGVBYm91dFRvQmVDaGFuZ2VkfWFwcGx5UHJlZmVyZW5jZXMoZSl7Y29uc3QgdD0oMCxhLmNsb25lKShlKTt0aGlzLnByaWNlU2NhbGUoKS5zZXRNb2RlKHthdXRvU2NhbGU6dC5wcmljZUF4aXNQcm9wZXJ0aWVzLmF1dG9TY2FsZSxwZXJjZW50YWdlOnQucHJpY2VBeGlzUHJvcGVydGllcy5wZXJjZW50YWdlLGxvZzp0LnByaWNlQXhpc1Byb3BlcnRpZXMubG9nLGxvY2tTY2FsZTp0LnByaWNlQXhpc1Byb3BlcnRpZXMubG9ja1NjYWxlfSksdGhpcy5zZXRDaGFydFN0eWxlV2l0aEludGVydmFsSWZOZWVkZWQodC5zdHlsZSk7Y29uc3R7c3R5bGU6cyxpbnRlcnZhbDppLC4uLm59PXQ7dGhpcy5fcHJvcGVydGllcy5tZXJnZVByZWZlcmVuY2VzKG4pLHRoaXMuX3Byb3BlcnRpZXMuc2F2ZURlZmF1bHRzKCksdGhpcy5jcmVhdGVQYW5lVmlldygpLHRoaXMuaW52YWxpZGF0ZUJhclN0eWxlc0NhY2hlKCl9ZGlzY29ubmVjdCgpe3RoaXMuX3N0dWR5QmluZGluZ3M/LnN0b3AoKSx0aGlzLl9zZXJpZXNTb3VyY2Uuc3RvcCgpLHRoaXMuX3ByZWRpY3RCYXJzPTAsdGhpcy5fdXBkYXRlU3RhdHVzKHsuLi50aGlzLl9zdGF0dXMudmFsdWUoKSxzZXJpZXNTdGF0dXM6MH0pfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zZXJpZXNTb3VyY2UuaXNTdGFydGVkKCl9aXNDb21wbGV0ZWQoKXtyZXR1cm4gdGhpcy5fc2VyaWVzQ29tcGxldGVkfXJlc3RhcnQoZSl7aWYoNT09PXRoaXMuX3N0YXR1cy52YWx1ZSgpLnNlcmllc1N0YXR1cylyZXR1cm47bGV0IHQ9bnVsbDt0aGlzLl9wZW5kaW5nVGltZVJhbmdlJiYodD10aGlzLl9wZW5kaW5nVGltZVJhbmdlLHRoaXMuX3Nlcmllc1NvdXJjZS5pc1N0YXJ0ZWQoKXx8KHRoaXMuX3Nlcmllc1NvdXJjZS5zZXRUaW1lZnJhbWUodCksdGhpcy5fcGVuZGluZ1RpbWVSYW5nZT1udWxsKSk7Y29uc3Qgcz10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmludGVydmFsLnZhbHVlKCksaT0oMCxwLmdldFNlcnZlckludGVydmFsKShzKSxuPXRoaXMuX2dldFJlc29sdmluZ1N5bWJvbE9iamVjdCgpO3RoaXMuX3Nlcmllc1NvdXJjZS5jYW5Nb2RpZnlTZXJpZXMobixpKT8odGhpcy5fc2VyaWVzTG9hZGVkPSExLHRoaXMuX3Nlcmllc0NvbXBsZXRlZD0hMSx0aGlzLl9sYXN0Q29tcGxldGVGbGFncz1udWxsLHRoaXMuX29uUmVzdGFydGVkLmZpcmUoKSx0aGlzLl9zZXRTdGF0dXMoMSksdGhpcy5fdXBkYXRlU3ltYm9sSW5mbyhudWxsKSxjLkludGVydmFsLmlzRXF1YWwocyx0aGlzLl9wcmV2UmVxdWVzdGVkSW50ZXJ2YWwpfHx0aGlzLl9ub3RpZnlJbnRlcnZhbENoYW5nZWQocyksZXx8dGhpcy5fcmVtb3ZlUmVwbGF5U3Vic2NyaWJlcigpLHRoaXMuX29uQmVmb3JlTW9kaWZ5U2VyaWVzKHRoaXMuZ2V0U3ltYm9sU3RyaW5nKCkscyksdGhpcy5fb25UaW1lRnJhbWVBcHBsaWVkLmZpcmUodCksdGhpcy5fZGF0YT1udWxsLHRoaXMubW9kZWwoKS5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKHYuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TZXJpZXNSZXN0YXJ0KSx0aGlzLl9zZXJpZXNTb3VyY2UubW9kaWZ5U2VyaWVzKG4saSx0KSx0aGlzLl9zZXJpZXNTb3VyY2UuaXNTdGFydGVkKCl8fHRoaXMuX3Nlcmllc1NvdXJjZS5zdGFydCgpLHRoaXMuX3ByZXZSZXF1ZXN0ZWRJbnRlcnZhbD10aGlzLmludGVydmFsKCksdGhpcy5fcGVuZGluZ1RpbWVSYW5nZT1udWxsLHRoaXMuX3N0dWR5QmluZGluZ3M/LnJlc3RhcnQoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLGZlLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC5saWdodFVwZGF0ZSgpKTp0aGlzLl9zZXJpZXNTb3VyY2UuaXNTdGFydGVkKCl8fCh0aGlzLl91cGRhdGVTeW1ib2xJbmZvKG51bGwpLHRoaXMuX3Nlcmllc1NvdXJjZS5zdGFydCgpLHRoaXMuX3N0dWR5QmluZGluZ3M/LnJlc3RhcnQoKSl9aXNTeW1ib2xJbnZhbGlkKCl7cmV0dXJuIDQ9PT10aGlzLl9zdGF0dXMudmFsdWUoKS5zZXJpZXNTdGF0dXN9CmdldFN5bWJvbFN0cmluZygpe3JldHVybigwLGhlLmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHRoaXMuX2dldFN5bWJvbE9iamVjdCgpKX1nZXRBbGVydFN5bWJvbFN0cmluZygpe3JldHVybigwLGhlLmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHRoaXMuX2dldFN5bWJvbE9iamVjdCh0aGlzLmFjdHVhbFN5bWJvbCgpLCEwLCEwKSl9Z2V0QWxlcnRQcm9TeW1ib2xTdHJpbmcoKXtyZXR1cm4oMCxoZS5lbmNvZGVFeHRlbmRlZFN5bWJvbE9yR2V0U2ltcGxlU3ltYm9sU3RyaW5nKSh0aGlzLl9nZXRTeW1ib2xPYmplY3QodGhpcy5wcm9TeW1ib2woKSwhMCwhMCkpfWdldFF1b3Rlc1N5bWJvbFN0cmluZygpe3JldHVybigwLGhlLmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHRoaXMuX2dldEV4dGVuZGVkU3ltYm9sT2JqZWN0KHtza2lwTWV0cmljOiEwfSkpfWludmFsaWRhdGVCYXJTdHlsZXNDYWNoZShlKXtodC5sb2dEZWJ1ZygiSW52YWxpZGF0ZSBzdHlsZSBjYWNoZSBzdGFydGluZyBmcm9tICIrZSksdGhpcy5fY2xlYXJTdHlsZVBsb3QodGhpcy5iYXJzKCksZSksdGhpcy5fY2xlYXJTdHlsZVBsb3QodGhpcy5uc0JhcnMoKSl9aXNMb2FkaW5nKCl7cmV0dXJuIEkuc2VyaWVzTG9hZGluZ1N0YXR1c2VzLmhhcyh0aGlzLnN0YXR1c1dWKCkudmFsdWUoKSl9aXNGYWlsZWQoKXtjb25zdCBlPXRoaXMuc3RhdHVzKCk7cmV0dXJuIDEyPT09ZXx8ND09PWV8fDEwPT09ZXx8MTQ9PT1lfHwxMz09PWV9aXNTdGF0dXNFcnJvcigpe3JldHVybiAxMj09PXRoaXMuc3RhdHVzKCl9dW5zdXBwb3J0ZWRSZXNvbHV0aW9uU3RhdGUoKXtyZXR1cm4gdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uU3RhdGUucmVhZG9ubHkoKX1hY3R1YWxTeW1ib2woKXtyZXR1cm4oMCxQLmFjdHVhbFN5bWJvbCkodGhpcy5zeW1ib2xJbmZvKCksdGhpcy5zeW1ib2woKSl9cHJvU3ltYm9sKCl7cmV0dXJuKDAsUC5wcm9TeW1ib2wpKHRoaXMuc3ltYm9sSW5mbygpLHRoaXMuc3ltYm9sKCkpfW9uU3R5bGVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX29uU3R5bGVDaGFuZ2VkfXN0eWxlKCl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlLnZhbHVlKCl9c2V0U3R5bGUoZSl7dGhpcy5zZXRTeW1ib2xQYXJhbXMoe3N0eWxlOmV9KX1pc1JhbmdlQmFzZWRTdHlsZSgpe3JldHVybigwLFAuaXNSYW5nZUJhc2VkU3R5bGUpKHRoaXMuc3R5bGUoKSl9c3ltYm9sU2FtZUFzQ3VycmVudChlKXtyZXR1cm4gdGhpcy5zeW1ib2woKT09PWV8fCgwLGRlLnN5bWJvbFNhbWVBc0N1cnJlbnQpKGUsdGhpcy5zeW1ib2xJbmZvKCkpfXN5bWJvbFNhbWVBc1Jlc29sdmVkKGUpe3JldHVybiB0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCk/dGhpcy5zeW1ib2xTYW1lQXNDdXJyZW50KGUpOnRoaXMuX3Nlcmllc1NvdXJjZS5zeW1ib2xTYW1lQXNSZXNvbHZlZChlKX1zdGF0dXMoKXtyZXR1cm4gdGhpcy5fc2VyaWVzU3RhdHVzLnZhbHVlKCl9c3RhdHVzV1YoKXtyZXR1cm4gdGhpcy5fc2VyaWVzU3RhdHVzfWNvbXBvc2l0ZVN0YXR1c1ZXKCl7cmV0dXJuIHRoaXMuX3N0YXR1c31zeW1ib2woKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3ltYm9sLnZhbHVlKCl9c3ltYm9sT3JBbGlhcygpe2NvbnN0IGU9dGhpcy5zeW1ib2woKSx0PXRoaXMuX21vZGVsLnN5bWJvbEFsaWFzU2VydmljZSgpPy5nZXRBbGlhc0J5UHJvTmFtZShlKTtyZXR1cm4gdD8uYWxpYXNOYW1lPz9lfXN5bWJvbENoYW5nZWQoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3ltYm9sfXNlcmllc1NvdXJjZSgpe3JldHVybiB0aGlzLl9zZXJpZXNTb3VyY2V9c3ltYm9sSW5mbygpe3JldHVybiB0aGlzLl9zeW1ib2xJbmZvLnZhbHVlKCl9YWxpYXNTeW1ib2xJbmZvKCl7cmV0dXJuKHRoaXMuX2FsaWFzU3ltYm9sSW5mbz8/dGhpcy5fc3ltYm9sSW5mbykudmFsdWUoKX1zeW1ib2xJbmZvV1YoKXtyZXR1cm4gdGhpcy5fc3ltYm9sSW5mby5yZWFkb25seSgpfWxhc3RTcGxpdHMoKXtyZXR1cm4gdGhpcy5fbGFzdFNwbGl0c31vdmVycmlkZUxhc3RTcGxpdHMoZSl7dGhpcy5fb3ZlcnJpZGRlbkxhc3RTcGxpdHMuc2V0VmFsdWUoZSl9c3ltYm9sUmVzb2x2ZWQoKXtyZXR1cm4gdGhpcy5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKX1zeW1ib2xSZXNvbHZpbmdBY3RpdmUoKXtyZXR1cm4gdGhpcy5fc3ltYm9sUmVzb2x2aW5nQWN0aXZlfXN5bWJvbEhpYmVybmF0ZWQoKXtyZXR1cm4gdGhpcy5fc2VyaWVzQWx3YXlzRmFsc2VIaWJlcm5hdGVkVld9Z2V0U3ltYm9sTmFtZSgpe3JldHVybiB0aGlzLnN5bWJvbEluZm8oKT8ubmFtZT8/IiJ9Zmlyc3RWYWx1ZSgpe2NvbnN0IGU9dGhpcy5maXJzdEJhcigpO3JldHVybiBudWxsPT09ZT9udWxsOnRoaXMuX2JhckZ1bmN0aW9uKGUsMCl9Zmlyc3RCYXIoKXtjb25zdCBlPXRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PWUpcmV0dXJuIG51bGw7Y29uc3QgdD1lLmZpcnN0QmFyKCkscz10aGlzLmRhdGEoKS5zZWFyY2godCxoLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodCk7cmV0dXJuIG51bGwhPT1zP3MudmFsdWU6bnVsbH1mb3JtYXR0ZXIoZT0hMCl7cmV0dXJuIGU/dGhpcy5fZm9ybWF0dGVyOnRoaXMuX2lnbm9yZU1pbk1vdmVGb3JtYXR0ZXJ9ZGVmYXVsdEZvcm1hdHRlcigpe3JldHVybiB0aGlzLl9kZWZhdWx0Rm9ybWF0dGVyfXByaWNlU3RlcChlPSEwKXtyZXR1cm4gZT90aGlzLl9wcmljZVN0ZXA6dGhpcy5faWdub3JlTWluTW92ZVByaWNlU3RlcH1iYXJzKCl7cmV0dXJuIHRoaXMuZGF0YSgpLmJhcnMoKX1uc0JhcnMoKXtyZXR1cm4gdGhpcy5kYXRhKCkubnNCYXJzKCl9aW50ZXJ2YWwoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW50ZXJ2YWwudmFsdWUoKX1zZXRJbnRlcnZhbChlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6ZX0pfWludGVydmFsT2JqKCl7CnJldHVybiB0aGlzLl9pbnRlcnZhbE9iai5yZWFkb25seSgpfXByZXZDbG9zZSgpe2NvbnN0IGU9dGhpcy5wcmljZVNjYWxlKCk7aWYoZS5pc0VtcHR5KCl8fHRoaXMuZGF0YSgpLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtjb25zdCB0PXRoaXMucXVvdGVzKCkscz10aGlzLmZpcnN0VmFsdWUoKTtpZihudWxsPT09dHx8bnVsbD09PXMpcmV0dXJuIG51bGw7Y29uc3QgaT10LnByZXZfY2xvc2VfcHJpY2U7cmV0dXJuIHZvaWQgMD09PWk/bnVsbDp7Y29vcmRpbmF0ZTplLnByaWNlVG9Db29yZGluYXRlKGkscyksZm9ybWF0dGVkUHJpY2VQZXJjZW50YWdlOmUuZm9ybWF0UHJpY2VQZXJjZW50YWdlKGkscyx7c2lnblBvc2l0aXZlOiEwfSksZm9ybWF0dGVkUHJpY2VBYnNvbHV0ZTplLmZvcm1hdFByaWNlQWJzb2x1dGUoaSksZm9ybWF0dGVkUHJpY2VJbmRleGVkVG8xMDA6ZS5mb3JtYXRQcmljZUluZGV4ZWRUbzEwMChpLHMpfX1wcmljZUxpbmVDb2xvcihlKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJpY2VMaW5lQ29sb3IudmFsdWUoKXx8ZX1oYXNDbG9zZVByaWNlKCl7cmV0dXJuIGR0fHwxMiE9PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlLnZhbHVlKCl9bGFzdFZhbHVlRGF0YShlLHQscyl7Y29uc3QgaT17bm9EYXRhOiEwfSxuPXRoaXMucHJpY2VTY2FsZSgpO2lmKHRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS5pc0VtcHR5KCl8fG4uaXNFbXB0eSgpfHx0aGlzLmRhdGEoKS5pc0VtcHR5KCkpcmV0dXJuIGk7Y29uc3Qgcj10aGlzLm1vZGVsKCkudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpLG89dGhpcy5maXJzdFZhbHVlKCk7aWYobnVsbD09PXJ8fG51bGw9PT1vKXJldHVybiBpO2xldCBhLGw7aWYodCl7Y29uc3QgZT10aGlzLmRhdGEoKS5iYXJzKCkubGFzdCgpO2lmKG51bGw9PT1lKXJldHVybiBpO2E9ZS52YWx1ZSxsPWUuaW5kZXh9ZWxzZXtjb25zdCBlPXRoaXMuZGF0YSgpLmJhcnMoKS5zZWFyY2goci5sYXN0QmFyKCksaC5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCk7aWYobnVsbD09PWUpcmV0dXJuIGk7YT1lLnZhbHVlLGw9ZS5pbmRleH1jb25zdCB1PSh2b2lkIDAhPT1lP2FbZV06dGhpcy5fYmFyRnVuY3Rpb24oYSwyKSk/P05hTixjPXRoaXMuYmFyQ29sb3JlcigpLmJhclN0eWxlKGwsITEpLGQ9bi5wcmljZVRvQ29vcmRpbmF0ZSh1LG8pLHA9ey4uLm4uZ2V0Rm9ybWF0dGVkVmFsdWVzKHUsbywhMCksbm9EYXRhOiExLGNvbG9yOmMuYmFyQ29sb3IsY29vcmRpbmF0ZTpkLGluZGV4Omx9O3JldHVybiBzJiYocC5wcmljZT11KSxwfWlzRFdNKCl7cmV0dXJuIHRoaXMuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmlzRFdNKCl9aXNQdWxzZSgpe2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7cmV0dXJuIG51bGwhPT1lJiYoZS5yZXNvbHV0aW9ucz8/W10pLmxlbmd0aD4wfWRhdGEoKXtyZXR1cm4gdGhpcy5fZGF0YT8/dGhpcy5fc2VyaWVzU291cmNlLmRhdGEoKX1jbGVhckRhdGEoKXsoMCxuLmFzc2VydCkobnVsbD09PXRoaXMuX2RhdGEsIkNhbm5vdCBjbGVhciBsb2FkZWQgZGF0YSIpLHRoaXMuX3N0dWR5QmluZGluZ3M/LmNsZWFyRGF0YSgpLHRoaXMuX3Nlcmllc1NvdXJjZS5jbGVhckRhdGEoKX1uZWFyZXN0RGF0YShlLHQpe3JldHVybiB0aGlzLmRhdGEoKS5zZWFyY2goZSx0KT8/dm9pZCAwfW5lYXJlc3RJbmRleChlLHQpe3JldHVybiB0aGlzLm5lYXJlc3REYXRhKGUsdCk/LmluZGV4fW5lYXJlc3RWYWx1ZShlLHQscyl7Y29uc3QgaT10aGlzLm5lYXJlc3REYXRhKGUscyk7cmV0dXJuIGk/LnZhbHVlW3RdPz92b2lkIDB9b25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc3ltYm9sSW50ZXJ2YWxDaGFuZ2VkfW9uSW50ZXJ2YWxDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX2ludGVydmFsQ2hhbmdlZH1vblN0YXR1c0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fb25TdGF0dXNDaGFuZ2VkfW9uUmVzdGFydGVkKCl7cmV0dXJuIHRoaXMuX29uUmVzdGFydGVkfWZpeExhc3RCYXIoZSl7aWYoIXRoaXMuX2Z1dHVyZUJhcnNQYW5lVmlldyl7Y29uc3QgdD10aGlzLmJhcnMoKS5sYXN0SW5kZXgoKTt0JiYodGhpcy5fZnV0dXJlQmFyc1BhbmVWaWV3PW5ldyBqLkZ1dHVyZUJhcnNQYW5lVmlldyh0aGlzLm1vZGVsKCkudGltZVNjYWxlKCksdGhpcyx0LGUpKX19cmVxdWVzdE1vcmVEYXRhKGUpe2lmKCFJLnNlcmllc1JlYWR5U3RhdHVzZXMuaGFzKHRoaXMuX3N0YXR1cy52YWx1ZSgpLnNlcmllc1N0YXR1cykpcmV0dXJuO2lmKHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PXQpcmV0dXJuO2lmKDA9PT10aGlzLmJhcnMoKS5zaXplKCkpcmV0dXJuO2NvbnN0IHM9dC5sYXN0QmFyKCktKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLmRhdGEoKS5sYXN0KCkpLmluZGV4O2lmKHRoaXMuX3ByZWRpY3RCYXJzPHMmJih0aGlzLl9wcmVkaWN0QmFycz1zLHRoaXMuX3Nlcmllc1NvdXJjZS5yZXF1ZXN0TW9yZVRpY2ttYXJrcyhzKSksIXRoaXMuX3JlcXVlc3RNb3JlRGF0YUF2YWlsYWJsZSlyZXR1cm47Y29uc3QgaT0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuYmFycygpLmZpcnN0SW5kZXgoKSkscj1lfHxNYXRoLm1heChpLXQuZmlyc3RCYXIoKSxpLSh0aGlzLl9zdHVkeUJpbmRpbmdzPy5yZXF1ZXN0TW9yZURhdGFJbmRleCgpPz9pKSk7aWYocjw9MClyZXR1cm47aWYoIU51bWJlci5pc0Zpbml0ZShyKSlyZXR1cm4gdm9pZCBodC5sb2dXYXJuKCJyZXF1ZXN0TW9yZURhdGE6IGludmFsaWQgYmFyIGNvdW50OiAiK3IrIiwgdmlzaWJsZSBiYXJzOiBbIit0LmZpcnN0QmFyKCkrIiwgIit0Lmxhc3RCYXIoKSsiXSwgbGFzdCBpbmRleDogIisoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuZGF0YSgpLmxhc3QoKSkuaW5kZXgrIiwgcHJlZGljdGVkIGJhcnM6ICIrdGhpcy5fcHJlZGljdEJhcnMrIiwgcmVxdWlyZWQgYmFyczoiK2UpO3RoaXMuX3JlcXVlc3RNb3JlRGF0YUF2YWlsYWJsZT0hMQo7Y29uc3Qgbz10aGlzLl9jb2xvck9uUHJldkJhcigpPzI6MDt0aGlzLl9zZXJpZXNTb3VyY2UucmVxdWVzdE1vcmVEYXRhKHIrbyksdGhpcy5fc2V0U3RhdHVzKDIpfWlzTmVlZFJlc3RhcnQoZSl7cmV0dXJuIDUhPT10aGlzLl9zdGF0dXMudmFsdWUoKS5zZXJpZXNTdGF0dXMmJih2b2lkIDA9PT1lJiYoZT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZS52YWx1ZSgpKSwoMCxQLnN0eWxlQ2hhbmdlUmVxdWlyZXNSZXN0YXJ0KSh0aGlzLl9wcmV2Q2hhcnRTdHlsZSxlKSl9aXNTdHlsZVN1cHBvcnRlZChlKXtyZXR1cm4hdGhpcy5pc0luUmVwbGF5KCkudmFsdWUoKXx8KDAsUC5pc1N0eWxlU3VwcG9ydGVkRm9yUmVwbGF5KShlKX1zZXNzaW9uSWQoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2Vzc2lvbklkLnZhbHVlKCl9c2Vzc2lvbklkQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zZXNzaW9uSWRDaGFuZ2VkfXByaWNlUmFuZ2UoZSl7Y29uc3QgdD10aGlzLl9wcmljZVNjYWxlO2lmKHRoaXMuZGF0YSgpLmlzRW1wdHkoKXx8IXQpcmV0dXJuIG51bGw7Y29uc3R7c3RhcnRUaW1lUG9pbnQ6cyxlbmRUaW1lUG9pbnQ6aX09ZTtpZih0LmlzTG9ja1NjYWxlKCkpe2NvbnN0IGU9dGhpcy5fbW9kZWwubWFpblNlcmllc1NjYWxlUmF0aW8oKTtpZihudWxsIT09ZSl7Y29uc3Qgcz10LmludGVybmFsSGVpZ2h0KCkvKHRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCkvZSkscj0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuZGF0YSgpLnNlYXJjaChpLGguUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQpKS52YWx1ZSxvPSgoMCxuLmVuc3VyZSkoclsyXSkrKDAsbi5lbnN1cmUpKHJbM10pKS8yO3JldHVybiBuZXcgUy5QcmljZVJhbmdlKG8tLjUqcyxvKy41KnMpfX1jb25zdCByPXRoaXMucHJpY2VTb3VyY2UoKTtsZXQgbyxhLGw7aWYobnVsbCE9PXI/KG89dGhpcy5kYXRhKCkuYmFycygpLm1pbk1heE9uUmFuZ2VDYWNoZWQocyxpLFt7bmFtZTpyLG9mZnNldDowfV0pLGE9dGhpcy5kYXRhKCkubnNCYXJzKCkubWluTWF4T25SYW5nZUNhY2hlZChzLGksW3tuYW1lOnIsb2Zmc2V0OjB9XSkpOihvPXRoaXMuZGF0YSgpLmJhcnMoKS5taW5NYXhPblJhbmdlQ2FjaGVkKHMsaSxbe25hbWU6ImxvdyIsb2Zmc2V0OjB9LHtuYW1lOiJoaWdoIixvZmZzZXQ6MH1dKSxhPXRoaXMuZGF0YSgpLm5zQmFycygpLm1pbk1heE9uUmFuZ2UocyxpLFt7bmFtZToibG93IixvZmZzZXQ6MH0se25hbWU6ImhpZ2giLG9mZnNldDowfV0pKSxvPSgwLGQubWVyZ2VNaW5NYXgpKG8sYSksbnVsbD09PW8pbD1uZXcgUy5QcmljZVJhbmdlKC0uNSwuNSk7ZWxzZSBpZihvLm1pbj09PW8ubWF4KXtjb25zdCBlPTUvKHRoaXMuc3ltYm9sSW5mbygpPy5wcmljZXNjYWxlPz8xMDApO2w9bmV3IFMuUHJpY2VSYW5nZShvLm1pbi1lLG8ubWF4K2UpfWVsc2UgbD1uZXcgUy5QcmljZVJhbmdlKG8ubWluLG8ubWF4KTtyZXR1cm4gdC5pc0xvZygpP25ldyBTLlByaWNlUmFuZ2UodC5wcmljZVRvTG9naWNhbChsLm1pblZhbHVlKCkpLHQucHJpY2VUb0xvZ2ljYWwobC5tYXhWYWx1ZSgpKSk6bH1hdXRvU2NhbGVJbmZvKGUpe2xldCB0PXtyYW5nZTp0aGlzLnByaWNlUmFuZ2Uoey4uLmUsc2NhbGVTZXJpZXNPbmx5OiEwfSksdG9wUGl4ZWxNYXJnaW46dGhpcy5fcGFuZVZpZXc/LnRvcFBpeGVsTWFyZ2luPy4oKSxib3R0b21QaXhlbE1hcmdpbjp0aGlzLl9wYW5lVmlldz8uYm90dG9tUGl4ZWxNYXJnaW4/LigpfTtpZighZS5zY2FsZVNlcmllc09ubHkpe2NvbnN0IHM9dGhpcy5fbW9kZWwuYWxsU3R1ZGllcygpLmZpbHRlcigoZT0+ZS5pc1Zpc2libGUoKSkpLGk9KGUsdCk9PnZvaWQgMD09PWU/dDp2b2lkIDA9PT10P2U6TWF0aC5tYXgoZSx0KSxuPXMubWFwKCh0PT50LmF1dG9TY2FsZUluZm8oey4uLmUsZm9yY2VPdmVybGF5T25seTohMH0pKSk7dGhpcy5fc3R1ZHlCaW5kaW5ncyYmbi5wdXNoKC4uLnRoaXMuX3N0dWR5QmluZGluZ3MuYXV0b1NjYWxlSW5mb3MoZSkpO2NvbnN0IHI9KGUsdCk9Pih7cmFuZ2U6ZS5yYW5nZT90LnJhbmdlP2UucmFuZ2UubWVyZ2UodC5yYW5nZSk6ZS5yYW5nZTp0LnJhbmdlLHRvcFBpeGVsTWFyZ2luOmkoZS50b3BQaXhlbE1hcmdpbix0LnRvcFBpeGVsTWFyZ2luKSxib3R0b21QaXhlbE1hcmdpbjppKGUuYm90dG9tUGl4ZWxNYXJnaW4sdC5ib3R0b21QaXhlbE1hcmdpbil9KTt0PW4ucmVkdWNlKHIsdCl9cmV0dXJuIHR9b25DaGFydFN0eWxlQ2hhbmdlZCgpe2lmKHRoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKCksdGhpcy5pc05lZWRSZXN0YXJ0KCkpe3RoaXMuZGF0YSgpLmNsZWFyKCk7Y29uc3QgZT0oMCxQLmlzU3R5bGVTdXBwb3J0ZWRGb3JSZXBsYXkpKHRoaXMuc3R5bGUoKSk7dGhpcy5pc0luUmVwbGF5KCkudmFsdWUoKSYmIWUmJnRoaXMuX3JlbW92ZVJlcGxheVN1YnNjcmliZXIoKSx0aGlzLl9zYXZlTGVmdEVkZ2VJZlJlcXVpcmVkKCExKXx8dGhpcy5tb2RlbCgpLnRpbWVTY2FsZSgpLnNjcm9sbFRvUmVhbHRpbWUoITEpLHRoaXMucmVzdGFydChlKX1jb25zdCBlPXRoaXMucHJvcGVydGllcygpO3RoaXMuX3ByZXZDaGFydFN0eWxlIT09ZS5jaGlsZHMoKS5zdHlsZS52YWx1ZSgpJiZ0aGlzLl9zdHVkeUJpbmRpbmdzPy5zeW5jU3R1ZHkodGhpcy5zdHlsZSgpKSx0aGlzLl9wcmV2Q2hhcnRTdHlsZT1lLmNoaWxkcygpLnN0eWxlLnZhbHVlKCksdGhpcy5fb25TdHlsZUNoYW5nZWQuZmlyZShlLmNoaWxkcygpLnN0eWxlLnZhbHVlKCkpLHRoaXMuaW52YWxpZGF0ZUJhclN0eWxlc0NhY2hlKCksdGhpcy5fdXBkYXRlTGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlKCksdGhpcy5fc3R5bGVUb1JlY292ZXI/Lm9yaWdpbmFsU3R5bGUhPT10aGlzLnN0eWxlKCkmJih0aGlzLl9zdHlsZVRvUmVjb3Zlcj1udWxsKSx0aGlzLl91cGRhdGVUaW1lU2NhbGVUaW1lUG9pbnRXZWlnaHRzKCl9c2V0Q2hhcnRTdHlsZVdpdGhJbnRlcnZhbElmTmVlZGVkKGUsdCl7Y29uc3Qgcz10aGlzLmludGVydmFsKCksaT10Pz8oMCwKdmUuZ2V0UmVzb2x1dGlvbkJ5Q2hhcnRTdHlsZSkoZSxzLHRoaXMuX21vZGVsLmRlZmF1bHRSZXNvbHV0aW9ucygpKSxuPWMuSW50ZXJ2YWwuaXNFcXVhbChpLHMpO3RoaXMuc2V0U3ltYm9sUGFyYW1zKHtpbnRlcnZhbDpuP3ZvaWQgMDppLHN0eWxlOmV9KX1nZXRJbnB1dHNQcm9wZXJ0aWVzKCl7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkKGAke3RoaXMuZ2V0U3R5bGVTaG9ydE5hbWUoKX1TdHlsZWApO3JldHVybiBlPy5jaGlsZHMoKS5pbnB1dHM/P25ldyB3LlByb3BlcnR5fWdldElucHV0c0luZm9Qcm9wZXJ0aWVzKCl7Y29uc3QgZT10aGlzLl9zdHVkeUJpbmRpbmdzPy5nZXRJbnB1dHNJbmZvUHJvcGVydGllcygpO2lmKGUpcmV0dXJuIGU7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkKGAke3RoaXMuZ2V0U3R5bGVTaG9ydE5hbWUoKX1TdHlsZWApO3JldHVybiB0Py5jaGlsZHMoKS5pbnB1dEluZm8/P25ldyB3LlByb3BlcnR5fWdldFNvdXJjZUljb24oKXtyZXR1cm57dHlwZToibG9hZFN2ZyIsc3ZnSWQ6YHNlcmllcy4ke3RoaXMuc3R5bGUoKX1gfX1vblNvdXJjZUljb25DaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX29uU3R5bGVDaGFuZ2VkfXB1cmdlU3ltYm9sSW5mbygpe3RoaXMuX3N5bWJvbEluZm8uc2V0VmFsdWUobnVsbCksdGhpcy5fcXVvdGVzTGFzdFNwbGl0cy5zZXRWYWx1ZShudWxsKX1pZEZvckFsZXJ0KCl7cmV0dXJuKDAsVS5nZXRTZXJpZXNJZEZvckFsZXJ0KSh0aGlzLmdldEFsZXJ0U3ltYm9sU3RyaW5nKCksdGhpcy5pbnRlcnZhbCgpKX1oYXNTdGF0ZUZvckFsZXJ0KCl7Y29uc3QgZT10aGlzLnN5bWJvbEluZm8oKTtyZXR1cm4gc3VwZXIuaGFzU3RhdGVGb3JBbGVydCgpJiYhKDAsUC5pc0Vjb25vbWljU3ltYm9sKShlKSYmISgwLFAuaXNNZXRyaWNBY3RpdmUpKGUpfXN0YXRlRm9yQWxlcnQoKXtjb25zdCBlPXRoaXMuaWRGb3JBbGVydCgpLHQ9ei5Gb3JtYXR0ZXJzU2VyaWFsaXplci5zZXJpYWxpemUodGhpcy5fZm9ybWF0dGVyKTtsZXQgcztjb25zdCBpPXRoaXMuaXNEV00oKT9DLlN1YnNlc3Npb25JZC5SZWd1bGFyOnRoaXMuc2Vzc2lvbklkUHJveHlQcm9wZXJ0eSgpLnZhbHVlKCkscj10aGlzLnN5bWJvbEluZm8oKTtpZihyJiZyLnN1YnNlc3Npb25zJiZyLnN1YnNlc3Npb25zLmxlbmd0aD4xKXtjb25zdCBlPXIuc3Vic2Vzc2lvbnM/LmZpbmQoKGU9PmUuaWQ9PT1pKSk7ZSYmKHM9KDAsSC50cmFuc2xhdGVTZXNzaW9uRXh0ZW5kZWREZXNjcmlwdGlvbikoZS5kZXNjcmlwdGlvbixyLnR5cGUpKX1jb25zdCBvPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpO3JldHVybntpZDplLHR5cGU6Ik1haW5TZXJpZXMiLGFjdHVhbFN5bWJvbDp0aGlzLmFjdHVhbFN5bWJvbCgpLHN5bWJvbFN0cmluZzp0aGlzLmdldEFsZXJ0U3ltYm9sU3RyaW5nKCksaW50ZXJ2YWw6dGhpcy5pbnRlcnZhbCgpLHN0eWxlOm8uc3R5bGUudmFsdWUoKSxzdHlsZUlucHV0czp0aGlzLmdldElucHV0c1Byb3BlcnRpZXMoKS5zdGF0ZSgpLHNlc3Npb25JZDppLHNlc3Npb25EZXNjcmlwdGlvbjpzLGRpdmlkZW5kc0FkanVzdG1lbnQ6KDAsbi5lbnN1cmVEZWZpbmVkKShvLmRpdmlkZW5kc0FkanVzdG1lbnQpLnZhbHVlKCksYm94U2l6ZTp0aGlzLmRhdGEoKS5ib3hTaXplLHJldmVyc2FsQW1vdW50OnRoaXMuZGF0YSgpLnJldmVyc2FsQW1vdW50LGlzU3ByZWFkOnRoaXMuaXNTcHJlYWQoKSxmb3JtYXR0ZXI6dH19YXN5bmMgc3RhdGVGb3JBbGVydEFzeW5jKCl7cmV0dXJuIHRoaXMuc3RhdGVGb3JBbGVydCgpfXN0eWxlU3R1ZHlJbmZvcygpe2xldCBlPXtoYVN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoOCwhMCkpfSxyZW5rb1N0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoNCwhMCkpfSxwYlN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoNywhMCkpfSxrYWdpU3R5bGU6e3N0dWR5SWQ6KDAsbi5lbnN1cmVOb3ROdWxsKSgoMCxQLmNoYXJ0U3R5bGVTdHVkeUlkKSg1LCEwKSl9LHBuZlN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoNiwhMCkpfSxyYW5nZVN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoMTEsITApKX19O3JldHVybiBlPXsuLi5lLHZvbEZvb3RwcmludFN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoMTcsITApKX0sdHBvU3R5bGU6e3N0dWR5SWQ6KDAsbi5lbnN1cmVOb3ROdWxsKSgoMCxQLmNoYXJ0U3R5bGVTdHVkeUlkKSgxOCwhMCx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnRwb1N0eWxlLmNoaWxkcygpLmlucHV0cy5zdGF0ZSgpKSl9LHN2cFN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoMjAsITApKX19LGV9ZGF0YUV2ZW50cygpe3JldHVybiB0aGlzLl9zZXJpZXNTb3VyY2UuZGF0YUV2ZW50cygpfWlzU3ByZWFkKCl7cmV0dXJuInNwcmVhZCI9PT10aGlzLnN5bWJvbEluZm8oKT8udHlwZX1pc1lpZWxkKCl7Y29uc3QgZT10aGlzLnN5bWJvbEluZm8oKTtyZXR1cm4gbnVsbCE9PWUmJigwLHFlLmlzWWllbGQpKGUpfWRpdmlkZW5kc0FkanVzdG1lbnRQcm9wZXJ0eSgpe3JldHVybigwLG4uZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5kaXZpZGVuZHNBZGp1c3RtZW50KX1zZXNzaW9uSWRQcm94eVByb3BlcnR5KCl7cmV0dXJuIHRoaXMuX3Nlc3Npb25JZFByb3h5UHJvcGVydHl9c3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkoKXtyZXR1cm4gdGhpcy5fc3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHl9c2V0VGV4dFNvdXJjZUlzQWx3YXlzVGlja2VyUmVzdHJpY3Rpb25FbmFibGVkKGUpe3RoaXMuX3RleHRTb3VyY2VJc0Fsd2F5c1RpY2tlclJlc3RyaWN0aW9uRW5hYmxlZD1lLAp0aGlzLl9yZWNhbGNTeW1ib2xUZXh0U291cmNlUHJveHlQcm9wZXJ0eSgpfWlzRFdNUHJvcGVydHkoKXtyZXR1cm4gdGhpcy5faXNEV01Qcm9wZXJ0eX1pc1ByZVBvc3RNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eSgpe3JldHVybiB0aGlzLl9pc1ByZVBvc3RNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eX1pc092ZXJuaWdodE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCl7cmV0dXJuIHRoaXMuX2lzT3Zlcm5pZ2h0TWFya2V0UHJpY2VzQXZhaWxhYmxlUHJvcGVydHl9aXNTZXR0bGVtZW50QXNDbG9zZUZvcmJpZGRlblByb3BlcnR5KCl7cmV0dXJuIHRoaXMuX2lzU2V0dGxlbWVudEFzQ2xvc2VGb3JiaWRkZW5Qcm9wZXJ0eX1pc0JhY2tBZGp1c3RtZW50Rm9yYmlkZGVuUHJvcGVydHkoKXtyZXR1cm4gdGhpcy5faXNCYWNrQWRqdXN0bWVudEZvcmJpZGRlblByb3BlcnR5fWdldFN0eWxlU2hvcnROYW1lKCl7Y29uc3QgZT10aGlzLnN0eWxlKCksdD1JLlNUWUxFX1NIT1JUX05BTUVTW2VdO3JldHVybigwLG4uYXNzZXJ0KSghIXQsYE1pc3NlZCBzaG9ydCBuYW1lIGZvciBzdHlsZSAke2V9YCksdH1pbnZhbGlkYXRlQmFyQ29sb3JlckNhY2hlKCl7dGhpcy5fYmFyQ29sb3JlckNhY2hlPW51bGwsdGhpcy5pbnZhbGlkYXRlQmFyU3R5bGVzQ2FjaGUoKX1wYXJhbXNOb3RBcHBsaWNhYmxlRm9yUmVwbGF5KCl7cmV0dXJuIHRoaXMuX3BhcmFtc05vdEFwcGxpY2FibGVGb3JSZXBsYXl9b25UaW1lRnJhbWVBcHBsaWVkKCl7cmV0dXJuIHRoaXMuX29uVGltZUZyYW1lQXBwbGllZH1vbkluUmVwbGF5U3RhdGVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX29uSW5SZXBsYXlTdGF0ZUNoYW5nZWR9b25SZXBsYXlNb2RpZmllZCgpe3JldHVybiB0aGlzLl9vblJlcGxheVN1YnNjcmliZXJTZXJpZXNNb2RpZmllZH1kYXRhV2luZG93Vmlldygpe3JldHVybiB0aGlzLl9kYXRhV2luZG93Vmlld31jaGFydEZsb2F0aW5nVG9vbHRpcFZpZXcoKXtyZXR1cm4gdGhpcy5fc3R1ZHlCaW5kaW5ncz8uYWN0aXZlU3R1ZHkoKT8uY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3Py4oKT8/dGhpcy5fZmxvYXRpbmdUb29sdGlwVmlld31zdGF0dXNWaWV3KCl7cmV0dXJuIGF0P3RoaXMuX3N0YXR1c1ZpZXc6bnVsbH1sZWdlbmRWaWV3KCl7cmV0dXJuIHRoaXMuX2xlZ2VuZFZpZXd9bWFya2V0U3RhdHVzTW9kZWwoKXtyZXR1cm4gdGhpcy5fbWFya2V0U3RhdHVzTW9kZWx9aXNNYWluU2VyaWVzKCl7cmV0dXJuITB9ZGF0YVVwZGF0ZWRNb2RlTW9kZWwoKXtyZXR1cm4gdGhpcy5fZGF0YVVwZGF0ZWRNb2RlTW9kZWx9ZGF0YVByb2JsZW1Nb2RlbCgpe3JldHVybiB0aGlzLl9kYXRhUHJvYmxlbU1vZGVsfXNldERlZmF1bHRUaW1lZnJhbWUoZSl7dGhpcy5fcGVuZGluZ1RpbWVSYW5nZT1lfWxvYWREYXRhVG8oZSl7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmludGVydmFsLnZhbHVlKCk7dGhpcy5fb25UaW1lRnJhbWVBcHBsaWVkLmZpcmUoZSksdGhpcy5fc2VyaWVzU291cmNlLm1vZGlmeVNlcmllcyh0aGlzLl9nZXRSZXNvbHZpbmdTeW1ib2xPYmplY3QoKSwoMCxwLmdldFNlcnZlckludGVydmFsKSh0KSxlKX1pc0luUmVwbGF5KCl7cmV0dXJuIHRoaXMuX2lzSW5SZXBsYXl9cXVvdGVzKCl7cmV0dXJuIHRoaXMuZGF0YSgpLmlzRW1wdHkoKT9udWxsOnRoaXMuX3F1b3Rlc1Byb3ZpZGVyLnF1b3RlcygpLnZhbHVlKCl9YmFzZSgpe3JldHVybiB0aGlzLl9iYXNlfXBvaW50VmFsdWUoKXtyZXR1cm4gdGhpcy5fcG9pbnRWYWx1ZX1iYXJDbG9zZVRpbWUoKXtyZXR1cm4gdGhpcy5fbGFzdEJhckNsb3NlVGltZX1wcmljZVNvdXJjZSgpe2xldCBlPW51bGw7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpO3N3aXRjaCh0LnN0eWxlLnZhbHVlKCkpe2Nhc2UgMjplPXQubGluZVN0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnZhbHVlKCk7YnJlYWs7Y2FzZSAxODplPXQudHBvU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2UudmFsdWUoKTticmVhaztjYXNlIDE0OmU9dC5saW5lV2l0aE1hcmtlcnNTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS52YWx1ZSgpO2JyZWFrO2Nhc2UgMTU6ZT10LnN0ZXBsaW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2UudmFsdWUoKTticmVhaztjYXNlIDM6ZT10LmFyZWFTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS52YWx1ZSgpO2JyZWFrO2Nhc2UgMTA6ZT10LmJhc2VsaW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2UudmFsdWUoKTticmVhaztjYXNlIDEzOmU9dC5jb2x1bW5TdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS52YWx1ZSgpfXJldHVybiBlfWxpbmVDb2xvckF0WVBlcmNlbnRGcm9tVG9wKGUpe2xldCB0O3N3aXRjaCh0aGlzLnN0eWxlKCkpe2Nhc2UgMjp0PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmxpbmVTdHlsZS5jaGlsZHMoKTticmVhaztjYXNlIDE0OnQ9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkubGluZVdpdGhNYXJrZXJzU3R5bGUuY2hpbGRzKCk7YnJlYWs7Y2FzZSAxNTp0PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnN0ZXBsaW5lU3R5bGUuY2hpbGRzKCk7YnJlYWs7ZGVmYXVsdDp0PW51bGx9cmV0dXJuIHQ/dC5jb2xvclR5cGU/LnZhbHVlKCk9PT1aZS5Db2xvclR5cGUuU29saWQ/dC5jb2xvci52YWx1ZSgpOnRoaXMuX2xpbmVDb2xvckF0WVBlcmNlbnRGcm9tVG9wLmdyYWRpZW50Q29sb3IoKDAsbi5lbnN1cmVEZWZpbmVkKSh0LmdyYWRpZW50U3RhcnRDb2xvcikudmFsdWUoKSwoMCxuLmVuc3VyZURlZmluZWQpKHQuZ3JhZGllbnRFbmRDb2xvcikudmFsdWUoKSxlKTpudWxsfXVwZGF0ZUFsbFZpZXdzKGUpe3RoaXMuX3N0dWR5QmluZGluZ3M/LnVwZGF0ZUFsbFZpZXdzKGUpLHRoaXMuX2RlbGF5U3RhdHVzUGFuZVZpZXc/LmdldCgpPy51cGRhdGUoZSksImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9wYW5lVmlldz8udXBkYXRlKGUpLHRoaXMuX2RhdGFXaW5kb3dWaWV3LnVwZGF0ZSgpLHRoaXMuX2xlZ2VuZFZpZXcudXBkYXRlKCksdGhpcy5fc3RhdHVzVmlldy51cGRhdGUoKSwKdGhpcy5fZmxvYXRpbmdUb29sdGlwVmlldy51cGRhdGUoZSksdGhpcy5fYXZlcmFnZVBhbmVWaWV3cy5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpLHRoaXMuX2hpZ2hMb3dBdmdQYW5lVmlld3MuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKSx0aGlzLl9sYWJlbFBhbmVWaWV3cy5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpLHRoaXMuX3ByaWNlQXhpc1ZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSksdGhpcy5fcHJpY2VMaW5lQXhpc1ZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSksdGhpcy5fZnV0dXJlQmFyc1BhbmVWaWV3Py51cGRhdGUoZSksdGhpcy5fcHJvamVjdGlvbkJhcnNQYW5lVmlldz8udXBkYXRlKGUpLHRoaXMuX3dhdGVybGluZVZpZXc/LnVwZGF0ZShlKSx0aGlzLl9wcmV2Q2xvc2VQcmljZUxpbmVWaWV3Py51cGRhdGUoZSksdGhpcy5fcHJpY2VMaW5lVmlldz8udXBkYXRlKGUpLHRoaXMuX2dvdG9EYXRlVmlldz8udXBkYXRlKGUpLHRoaXMuX2VuZE9mRGF0YVBhbmVWaWV3Py51cGRhdGUoZSksdGhpcy5fYmFzZUhvcml6b250YWxMaW5lVmlldz8udXBkYXRlKGUpLHRoaXMuX21vZGVsLmFjdGl2ZVN0cmF0ZWd5U291cmNlKCkudmFsdWUoKT8udXBkYXRlQWxsVmlld3MoZSksdGhpcy5fbW9kZWwucmVwbGF5U3R1ZHlTdHJhdGVneSgpLnZhbHVlKCk/LnVwZGF0ZUFsbFZpZXdzKGUpLHRoaXMuX2xpbmVTdHlsZUxhc3RQcmljZUNpcmNsZVBhbmVWaWV3LnVwZGF0ZShlKSl9c3R5bGVTdHVkeUluZm8oZSl7cmV0dXJuIHRoaXMuc3R5bGVTdHVkeUluZm9zKClbZV19YmFyRnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFyRnVuY3Rpb259cHJlY29tcHV0ZWRCYXJTdHlsZShlKXtyZXR1cm4gdGhpcy5fcHJlY29tcHV0ZWRCYXJTdHlsZXMuZ2V0KGUpfXNldFByZWNvbXB1dGVkQmFyU3R5bGUoZSx0KXt0aGlzLl9wcmVjb21wdXRlZEJhclN0eWxlcy5zZXQoZSx0KX1zeW1ib2xQYXJhbXMoKXtyZXR1cm4oMCxkZS5zeW1ib2xQYXJhbXMpKHRoaXMpfWNvbXBhcmVTeW1ib2xQYXJhbXMoZSl7cmV0dXJuKDAsZGUuY29tcGFyZVN5bWJvbFBhcmFtcykodGhpcyxlLHRoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpLHRoaXMuX21vZGVsLm1ldHJpY0NvbnZlcnNpb25FbmFibGVkKCkpfXNldFN5bWJvbFBhcmFtcyhlKXtjb25zdHtzeW1ib2w6dCxjdXJyZW5jeTpzLHVuaXQ6aSxtZXRyaWM6cixzdHlsZTpvLGludGVydmFsOmEsc2Vzc2lvbjpsfT1lLHtzeW1ib2xDaGFuZ2VkOnUsaW50ZXJ2YWxDaGFuZ2VkOmMsY3VycmVuY3lDaGFuZ2VkOmQsdW5pdENoYW5nZWQ6aCxtZXRyaWNDaGFuZ2VkOnAsc3R5bGVDaGFuZ2VkOm0sc2Vzc2lvbkNoYW5nZWQ6X309dGhpcy5jb21wYXJlU3ltYm9sUGFyYW1zKGUpLGc9W2d0KCJzeW1ib2wiLHQsdSksZ3QoImludGVydmFsIixhLGMpLGd0KCJjdXJyZW5jeSIscyxkKSxndCgidW5pdCIsaSxoKSxndCgibWV0cmljIixyLHApLGd0KCJzdHlsZSIsbyxtKSxndCgic2Vzc2lvbiIsbCxfKV0uZmlsdGVyKChlPT5udWxsIT09ZSkpLmpvaW4oIjsgIik7aHQubG9nSW5mbyhgQXBwbHlpbmcgc2VyaWVzIHN5bWJvbCBwYXJhbXM6ICR7Z31gKTtjb25zdCB5PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpO3ZvaWQgMCE9PXQmJnkuc3ltYm9sLnNldFZhbHVlKHQpLHZvaWQgMCE9PXMmJnkuY3VycmVuY3lJZC5zZXRWYWx1ZShzKSx2b2lkIDAhPT1pJiZ5LnVuaXRJZC5zZXRWYWx1ZShpKSx2b2lkIDAhPT1yJiZwJiYoeS5tZXRyaWNJZC5zZXRWYWx1ZShyKSxudWxsIT09ciYmKDAsUC5zZXRMYXN0VXNlZE1ldHJpYykocikpLGMmJnkuaW50ZXJ2YWwuc2V0VmFsdWUoKDAsbi5lbnN1cmVEZWZpbmVkKShhKSksdm9pZCAwIT09byYmbSYmeS5zdHlsZS5zZXRWYWx1ZShvKTtsZXQgZj0hMTt2b2lkIDAhPT1sJiZfJiYoeS5zZXNzaW9uSWQuc2V0VmFsdWUobCksZj0hdGhpcy5pc0RXTSgpKSxtJiYoZnx8PXRoaXMuaXNOZWVkUmVzdGFydCgpLHRoaXMub25DaGFydFN0eWxlQ2hhbmdlZCgpKTtsZXQgdj1Qcm9taXNlLnJlc29sdmUoKTtyZXR1cm4hZiYmKHV8fGN8fGR8fGh8fHApJiYodj10aGlzLl9hcHBseVN5bWJvbFBhcmFtc0NoYW5nZXMoe3N5bWJvbENoYW5nZWQ6dSxjdXJyZW5jeUNoYW5nZWQ6ZCx1bml0Q2hhbmdlZDpoLG1ldHJpY0NoYW5nZWQ6cCxpbnRlcnZhbENoYW5nZWQ6YyxzdHlsZUNoYW5nZWQ6bX0pKSwodXx8ZHx8aHx8cCkmJnRoaXMubW9kZWwoKS5jaGVja0xpbmVUb29sQW5kR3JvdXBTZWxlY3Rpb24oKSx2fXNldFN5bWJvbChlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7c3ltYm9sOmV9KX1jdXJyZW5jeSgpe3JldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5jdXJyZW5jeUlkLnZhbHVlKCl8fG51bGx9c2V0Q3VycmVuY3koZSl7dGhpcy5zZXRTeW1ib2xQYXJhbXMoe2N1cnJlbmN5OmV9KX1jdXJyZW5jeU9yaWdpblNvdXJjZSgpe3JldHVybiB0aGlzLl9jdXJyZW5jeU9yaWdpblNvdXJjZS5yZWFkb25seSgpfXNldE1ldHJpYyhlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7bWV0cmljOmV9KX11bml0KCl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnVuaXRJZC52YWx1ZSgpfHxudWxsfXNldFVuaXQoZSl7dGhpcy5zZXRTeW1ib2xQYXJhbXMoe3VuaXQ6ZX0pfXVuaXRPcmlnaW5Tb3VyY2UoKXtyZXR1cm4gdGhpcy5fdW5pdE9yaWdpblNvdXJjZS5yZWFkb25seSgpfW1lYXN1cmVVbml0SWQoKXtyZXR1cm4gdGhpcy5zeW1ib2xJbmZvKCk/Lm1ldHJpY3M/bnVsbDooMCxQLm1lYXN1cmVVbml0SWQpKHRoaXMuc3ltYm9sSW5mbygpKX1tZXRyaWMoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkubWV0cmljSWQudmFsdWUoKXx8bnVsbH12YWx1ZUF0KGUsdCl7cmV0dXJuIHRoaXMuZGF0YSgpLnNlYXJjaChlKT8udmFsdWVbdF0/P251bGx9c3ltYm9sU291cmNlKCl7cmV0dXJuIHRoaXN9c3ltYm9sU291cmNlV1YoKXtyZXR1cm4gdGhpcy5fc3ltYm9sU291cmNlV1YucmVhZG9ubHkoKX1iYXJzUHJvdmlkZXIoKXtyZXR1cm4gdGhpc310aXRsZShlKXtyZXR1cm4gdGhpcy5zeW1ib2xUaXRsZShlKX1uYW1lKCl7CnJldHVybiB0aGlzLnN5bWJvbFRpdGxlKFllLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lKX1zeW1ib2xUaXRsZShlLHQscyl7bGV0IGk9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3ltYm9sLnZhbHVlKCk7Y29uc3Qgbj10aGlzLmFsaWFzU3ltYm9sSW5mbygpO2lmKG51bGwhPT1uJiYoaT0oMCxQLnN5bWJvbFRpdGxlKShuLHQpKSxzKXJldHVybiBpO2xldCByPSgwLHBlLnRyYW5zbGF0ZWRJbnRlcnZhbFN0cmluZykodGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW50ZXJ2YWwudmFsdWUoKSk7cmV0dXJuIGU9PT1ZZS5UaXRsZURpc3BsYXlUYXJnZXQuRGF0YVdpbmRvdyYmKHI9KDAsc3QuZm9yY2VSVExTdHIpKHIpKSxgJHtpfSwgJHtyfWB9c2V0T2Jzb2xldGVaT3JkZXIoZSl7dGhpcy5fb2Jzb2xldGVaT3JkZXI9ZX1vYnNvbGV0ZVpPcmRlcigpe3JldHVybiB0aGlzLl9vYnNvbGV0ZVpPcmRlcn12YWx1ZXNQcm92aWRlcigpe3JldHVybiB0aGlzLl92YWx1ZXNQcm92aWRlcn1sZWdlbmRWYWx1ZXNQcm92aWRlcigpe3JldHVybiB0aGlzLl9zdHVkeUJpbmRpbmdzPy5sZWdlbmRWYWx1ZXNQcm92aWRlcigpPz90aGlzLl9sZWdlbmRWYWx1ZXNQcm92aWRlcn10YWJsZVZpZXdWYWx1ZXNQcm92aWRlcigpe3JldHVybiB0aGlzLl9zdHVkeUJpbmRpbmdzPy50YWJsZVZpZXdWYWx1ZXNQcm92aWRlcigpPz90aGlzLl90YWJsZVZpZXdWYWx1ZXNQcm92aWRlcn1kYXRhV2luZG93VmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fc3R1ZHlCaW5kaW5ncz8uZGF0YVdpbmRvd1ZhbHVlc1Byb3ZpZGVyKCk/P3RoaXMuX2RhdGFXaW5kb3dWYWx1ZXNQcm92aWRlcn1jaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyKCl7cmV0dXJuIHRoaXMuX3N0dWR5QmluZGluZ3M/LmFjdGl2ZVN0dWR5KCk/LmNoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXIoKT8/dGhpcy5fY2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcn1zdGF0dXNQcm92aWRlcihlKXtyZXR1cm4gbmV3IGNlLlNlcmllc1N0YXR1c1Byb3ZpZGVyKHRoaXMsdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3RhdHVzVmlld1N0eWxlLGUpfW1vdmVJdGVtKGUsdCxzKXtpZigxMD09PXRoaXMuc3R5bGUoKSYmMD09PXQpe2NvbnN0IHQ9dGhpcy5wcmljZVNjYWxlKCkscz10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5iYXNlbGluZVN0eWxlLGk9dC5oZWlnaHQoKSxuPTEwMC1lLnkvaSoxMDAscj1uPDA/MDpNYXRoLnJvdW5kKDEwKm4pLzEwO3MuY2hpbGRzKCkuYmFzZUxldmVsUGVyY2VudGFnZS5zZXRWYWx1ZShNYXRoLm1heChNYXRoLm1pbihyLDEwMCksMCkpfX1yZXJlcXVlc3REYXRhKCl7dGhpcy5fYXBwbHlTeW1ib2xQYXJhbXNDaGFuZ2VzKHtmb3JjZTohMH0pfXN3aXRjaFRvUmVwbGF5KGUsdCxzKXt0aGlzLl9yZXBsYXlTdWJzY3JpYmVyLnNldFZhbHVlKGUpLHRoaXMuX2lzUmVwbGF5UmVzb2x1dGlvbkF2YWlsYWJsZUZvclVzZXI9dCx0aGlzLl9vbkluUmVwbGF5U3RhdGVDaGFuZ2VkLmZpcmUoKSxlLm9uU2VyaWVzTW9kaWZpZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX29uUmVwbGF5U3Vic2NyaWJlclNlcmllc01vZGlmaWVkLmZpcmUoKSkpLGUubW9kaWZ5U2VyaWVzKHRoaXMuZ2V0U3ltYm9sU3RyaW5nKCksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnRlcnZhbC52YWx1ZSgpLHMpLHRoaXMucmVyZXF1ZXN0RGF0YSgpfXN3aXRjaFRvUmVhbHRpbWUoKXt0aGlzLmlzSW5SZXBsYXkoKS52YWx1ZSgpJiYodGhpcy5fcmVtb3ZlUmVwbGF5U3Vic2NyaWJlcigpLHRoaXMucmVyZXF1ZXN0RGF0YSgpKX1hc3luYyBjYW5DaGFuZ2VSZXNvbHV0aW9uKGUpe3tpZighdGhpcy5pc0luUmVwbGF5KCkudmFsdWUoKSlyZXR1cm4hMDtjb25zdCB0PSJjaGFuZ2VSZXNvbHV0aW9uIjtpZighKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pc1JlcGxheVJlc29sdXRpb25BdmFpbGFibGVGb3JVc2VyKShlKSlyZXR1cm4gdGhpcy5fcGFyYW1zTm90QXBwbGljYWJsZUZvclJlcGxheS5maXJlKDMsdCksITE7Y29uc3Qgcz0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3JlcGxheVN1YnNjcmliZXIudmFsdWUoKSksaT1hd2FpdCBzLmNhbkNoYW5nZVN5bWJvbFBhcmFtcyh0aGlzLmdldFN5bWJvbFN0cmluZygpLGUpO3JldHVybiBpLnJlc3x8dGhpcy5fcmVwbGF5U3Vic2NyaWJlci52YWx1ZSgpIT09c3x8dGhpcy5fcGFyYW1zTm90QXBwbGljYWJsZUZvclJlcGxheS5maXJlKDIsdCksaS5yZXN9fWFzeW5jIGNhbkNoYW5nZVN5bWJvbChlKXt7aWYoIXRoaXMuaXNJblJlcGxheSgpLnZhbHVlKCkpcmV0dXJue3Jlc3VsdDohMH07Y29uc3QgdD10aGlzLl9nZXRFeHRlbmRlZFN5bWJvbE9iamVjdCh7b3ZlcnJpZGRlblN5bWJvbDplfSk7ZGVsZXRlIHRbImN1cnJlbmN5LWlkIl0sZGVsZXRlIHRbInVuaXQtaWQiXTtjb25zdCBzPSgwLGhlLmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHQpLGk9ImNoYW5nZVN5bWJvbCI7cmV0dXJuIG5ldyBQcm9taXNlKCgoZSx0KT0+e2NvbnN0IHI9KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yZXBsYXlTdWJzY3JpYmVyLnZhbHVlKCkpO3RoaXMuX21vZGVsLmNoYXJ0QXBpKCkucmVzb2x2ZVN5bWJvbCgoMCxCLm1ha2VOZXh0U3ltYm9sSWQpKCkscywobz0+e2lmKHRoaXMuX3JlcGxheVN1YnNjcmliZXIudmFsdWUoKSE9PXImJnQobmV3IEVycm9yKCJSZXBsYXkgc3Vic2NyaWJlciBjaGFuZ2VkIikpLCJzeW1ib2xfZXJyb3IiPT09by5tZXRob2QpdGhpcy5fcGFyYW1zTm90QXBwbGljYWJsZUZvclJlcGxheS5maXJlKDAsaSksZSh7cmVzdWx0OiExLHJlYXNvbjowfSk7ZWxzZSBpZihvLnBhcmFtc1sxXS5pc19yZXBsYXlhYmxlKXtjb25zdCBvPXRoaXMuaW50ZXJ2YWwoKTsoMCwKbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pc1JlcGxheVJlc29sdXRpb25BdmFpbGFibGVGb3JVc2VyKShvKT9yLmNhbkNoYW5nZVN5bWJvbFBhcmFtcyhzLG8pLnRoZW4oKHM9Pih0aGlzLl9yZXBsYXlTdWJzY3JpYmVyLnZhbHVlKCkhPT1yJiZ0KG5ldyBFcnJvcigiUmVwbGF5IHN1YnNjcmliZXIgY2hhbmdlZCIpKSxzLnJlcz9lKHtyZXN1bHQ6ITB9KToodGhpcy5fcGFyYW1zTm90QXBwbGljYWJsZUZvclJlcGxheS5maXJlKDIsaSksZSh7cmVzdWx0OiExLHJlYXNvbjoyfSkpKSkpOih0aGlzLl9wYXJhbXNOb3RBcHBsaWNhYmxlRm9yUmVwbGF5LmZpcmUoMyxpKSxlKHtyZXN1bHQ6ITEscmVhc29uOjN9KSl9ZWxzZSB0aGlzLl9wYXJhbXNOb3RBcHBsaWNhYmxlRm9yUmVwbGF5LmZpcmUoMSxpKSxlKHtyZXN1bHQ6ITEscmVhc29uOjF9KX0pKX0pKX19cmVxdWVzdE1vcmVEYXRhQXZhaWxhYmxlKCl7cmV0dXJuIHRoaXMuX3JlcXVlc3RNb3JlRGF0YUF2YWlsYWJsZX1zZXJpZXNMb2FkZWQoKXtyZXR1cm4gdGhpcy5fc2VyaWVzTG9hZGVkfWVuZE9mRGF0YSgpe3JldHVybiB2b2lkIDAhPT10aGlzLl9sYXN0Q29tcGxldGVGbGFncz8uZGF0YV9jb21wbGV0ZWR9ZW5kT2ZEYXRhVHlwZSgpe3JldHVybiB0aGlzLl9sYXN0Q29tcGxldGVGbGFncz8uZGF0YV9jb21wbGV0ZWQ/P251bGx9ZGF0YVBvd2VyZWRCeSgpe3JldHVybiB0aGlzLl9kYXRhUG93ZXJlZEJ5fWJveFNpemVWYWx1ZSgpe3JldHVybiB0aGlzLl9ib3hTaXplVmFsdWV9aXNVc2VyRGVsZXRhYmxlKCl7cmV0dXJuITF9Y2hhbmdlVGltZUZyYW1lKCl7KDAsbS50cmFja0V2ZW50KSgiR1VJIiwiQ2hhbmdlIHRpbWVmcmFtZSIpfW9uVGFnc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fdGFnc0NoYW5nZWR9c3RhdGUoZSl7Y29uc3QgdD10aGlzLm9ic29sZXRlWk9yZGVyKCk7bGV0IHM9e3R5cGU6Ik1haW5TZXJpZXMiLGlkOnRoaXMuaWQoKSx6b3JkZXI6dCwuLi50aGlzLnN0eWxlU3R1ZHlJbmZvcygpLGZvcm1hdHRpbmdEZXBzOnRoaXMuX2Zvcm1hdHRpbmdEZXBzLHN0dWR5QmluZGluZ3M6dGhpcy5fc3R1ZHlCaW5kaW5ncz8uc3RhdGUoISFlKX07Y29uc3QgaT10aGlzLnByb3BlcnRpZXMoKS5zdGF0ZSh2b2lkIDAsMik7aWYoaS5zeW1ib2w9KDAsUC5zeW1ib2xUb1NhdmVJblN0YXRlKSh0aGlzLnN5bWJvbEluZm8oKT8/dGhpcy5fbW9kZWwuY2hhcnRBcGkoKS5sYXN0U3ltYm9sUmVzb2x2ZUluZm8oaS5zeW1ib2wpLGkuc3ltYm9sKSx0aGlzLl9tb2RlbC51bml0Q29udmVyc2lvbkVuYWJsZWQoKXx8KGkudW5pdElkPW51bGwpLHMuc3RhdGU9aSxlKXtsZXQgZT10aGlzLmJhcnMoKTtjb25zdCB0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVFeHRlbmRlZERhdGFSYW5nZShlLDApO251bGwhPT10JiYoZT1lLnJhbmdlKHQuZmlyc3RCYXIoKSx0Lmxhc3RCYXIoKSkpLHM9ey4uLnMsYmFyczp5dChlKSxuc0JhcnM6eXQodGhpcy5uc0JhcnMoKSksc3ltYm9sSW5mbzp0aGlzLnN5bWJvbEluZm8oKSxydFByaWNlOnRoaXMuZGF0YSgpLmxhc3RQcm9qZWN0aW9uUHJpY2UsYm94U2l6ZTp0aGlzLmRhdGEoKS5ib3hTaXplLHJldmVyc2FsQW1vdW50OnRoaXMuZGF0YSgpLnJldmVyc2FsQW1vdW50fX1yZXR1cm4gc31yZXN0b3JlU3RhdGUoZSx0LHMpe3QmJnRoaXMuX3NldFN0YXR1cyg1KSwhdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCkmJmUuc3RhdGUmJmRlbGV0ZSBlLnN0YXRlLnVuaXRJZCxlLnN0YXRlJiZjLkludGVydmFsLmlzUmFuZ2UoZS5zdGF0ZS5pbnRlcnZhbCkmJihlLnN0YXRlLnN0eWxlPTExKTtjb25zdCBpPWUuc3RhdGU7aWYodm9pZCAwIT09aSl7Y29uc3QgZT1pLnN0eWxlLHQ9Sy5jaGFydFN0eWxlUGVybWlzc2lvbnMuZ2V0KGUpO3QmJiF0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkmJihpLnN0eWxlPTIsKDAscS5ydW5PckdvUHJvV2l0aG91dFN5bmMpKCgoKT0+e2kuc3R5bGU9ZX0pLHQuZmVhdHVyZSx7ZmVhdHVyZTp0LmZlYXR1cmVOYW1lfSkpfWlmKHRoaXMuX3Byb3BlcnRpZXMubWVyZ2VBbmRGaXJlKGUuc3RhdGUpLG51bGwhPT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLm1ldHJpY0lkLnZhbHVlKCl8fHN8fHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkubWV0cmljSWQuc2V0VmFsdWUoInByaWNlIiksdGhpcy5fcHJldkNoYXJ0U3R5bGU9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGUudmFsdWUoKSx0aGlzLmNyZWF0ZVBhbmVWaWV3KCksdCl7Y29uc3QgdD1lO3RoaXMucmVzdG9yZURhdGEodC5iYXJzLHQubnNCYXJzLHQuc3ltYm9sSW5mbyx0LnJ0UHJpY2UsdC5ib3hTaXplLHQucmV2ZXJzYWxBbW91bnQpfWUuZm9ybWF0dGluZ0RlcHMmJih0aGlzLl9mb3JtYXR0aW5nRGVwcz1lLmZvcm1hdHRpbmdEZXBzLHRoaXMuX3JlY3JlYXRlUHJpY2VGb3JtYXR0aW5nRGVwZW5kZW5jaWVzKCkpLHRoaXMuX3N0dWR5QmluZGluZ3M/LnJlc3RvcmVTdGF0ZShlLnN0dWR5QmluZGluZ3M/P3t9LHQpLHRoaXMuX3N0dWR5QmluZGluZ3M/LnN5bmNTdHVkeSh0aGlzLnN0eWxlKCkpfXJlc3RvcmVEYXRhKGUsdCxzLGksbixyKXt0aGlzLl91cGRhdGVTdGF0dXMoe3Nlcmllc1N0YXR1czo1fSksdGhpcy5fZGF0YT1uZXcgYi5TZXJpZXNEYXRhLHRoaXMuX2RhdGEuYmFycygpLnJlc3RvcmVTdGF0ZShlKSx0aGlzLl9kYXRhLm5zQmFycygpLnJlc3RvcmVTdGF0ZSh0KSx0aGlzLl91cGRhdGVTeW1ib2xJbmZvKHMpLHRoaXMuX2RhdGEubGFzdFByb2plY3Rpb25QcmljZT1pLHRoaXMuX2RhdGEuYm94U2l6ZT1uO2NvbnN0IG89dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7bnx8KDY9PT1vLnN0eWxlLnZhbHVlKCk/dGhpcy5fZGF0YS5ib3hTaXplPW8ucG5mU3R5bGUuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLmJveFNpemUudmFsdWUoKTo0PT09by5zdHlsZS52YWx1ZSgpJiYodGhpcy5fZGF0YS5ib3hTaXplPW8ucmVua29TdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuYm94U2l6ZS52YWx1ZSgpKSksdGhpcy5fZGF0YS5yZXZlcnNhbEFtb3VudD1yLApyfHw1PT09by5zdHlsZS52YWx1ZSgpJiYodGhpcy5fZGF0YS5yZXZlcnNhbEFtb3VudD1vLmthZ2lTdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkucmV2ZXJzYWxBbW91bnQudmFsdWUoKSl9YXN5bmMgc2V0R290b0RhdGVSZXN1bHQoZSx0KXt0aGlzLl9nb3RvRGF0ZVJlc3VsdENsZWFyZWQ9ITE7Y29uc3QgaT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDU1MzgpLHMuZSg4ODM1OCldKS50aGVuKHMuYmluZChzLDcwOTA2NykpO3RoaXMuX2dvdG9EYXRlUmVzdWx0Q2xlYXJlZHx8KHRoaXMuX2dvdG9EYXRlVmlldz1uZXcgaS5Hb3RvRGF0ZVZpZXcodGhpcyxlLHQpLHRoaXMuX2dvdG9EYXRlVmlldy5kb05vdFNob3dMYXN0QXZhaWxhYmxlQmFyKHRoaXMuX2RvTm90U2hvd0xhc3RBdmFpbGFibGVCYXIpLHRoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzKSl9Y2xlYXJHb3RvRGF0ZVJlc3VsdCgpe3RoaXMuX2dvdG9EYXRlVmlldz1udWxsLHRoaXMuX2dvdG9EYXRlUmVzdWx0Q2xlYXJlZD0hMH1kb05vdFNob3dMYXN0QXZhaWxhYmxlQmFyKGUpe3RoaXMuX2RvTm90U2hvd0xhc3RBdmFpbGFibGVCYXI9ZSx0aGlzLl9nb3RvRGF0ZVZpZXc/LmRvTm90U2hvd0xhc3RBdmFpbGFibGVCYXIoZSl9ZGF0YVVwZGF0ZWQoKXtyZXR1cm4gdGhpcy5kYXRhRXZlbnRzKCkuZGF0YVVwZGF0ZWQoKX1tb3ZlRGF0YShlKXtjb25zdCB0PXRoaXMuX3Nlcmllc1NvdXJjZS5tb3ZlRGF0YShlKTtudWxsIT09dGhpcy5fdm9sdW1lUG9pbnRXZWlnaHRzJiZ0aGlzLl92b2x1bWVQb2ludFdlaWdodHMubW92ZURhdGEoZSksdGhpcy5fc3R1ZHlCaW5kaW5ncz8ubW92ZURhdGEoZSksdC50aGVuKCgoKT0+e3RoaXMuX2lzRGVzdHJveWVkfHx0aGlzLmJhcnMoKS5pc0VtcHR5KCl8fHRoaXMuX29uSW5kZXhEaWZmc0FwcGxpZWQoZSl9KSl9YXN5bmMgc2VyaWVzQ3JlYXRlZCgpe2NvbnN0IGU9dGhpcy5fc2VyaWVzU291cmNlLmluc3RhbmNlSWQoKTtpZihudWxsIT09ZSlyZXR1cm4gZTtjb25zdCB0PWF3YWl0IFByb21pc2UucmFjZShbdGhpcy5fZGVmZXJyZWREZXN0cm95ZWQucHJvbWlzZS50aGVuKCgoKT0+e30pKSx0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCk/UHJvbWlzZS5yZXNvbHZlKG51bGwpOm5ldyBQcm9taXNlKChlPT57dGhpcy5kYXRhRXZlbnRzKCkuY3JlYXRlZCgpLnN1YnNjcmliZSh0aGlzLGUsITApfSkpXSk7aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgRXJyb3IoIlNlcmllcyBoYXMgYmVlbiBkZXN0cm95ZWQiKTtyZXR1cm4gdH1hY3RpdmVTdHVkeUJpbmRpbmcoKXtyZXR1cm4gdGhpcy5fc3R1ZHlCaW5kaW5ncz8uYWN0aXZlU3R1ZHkoKT8/bnVsbH1jb250ZXh0TWVudVN0YXROYW1lKCl7cmV0dXJuIlNlcmllc0NvbnRleHRNZW51In1fdXBkYXRlQmFyRnVuY3Rpb24oKXt0aGlzLl9iYXJGdW5jdGlvbj0oMCxIZS5iYXJGdW5jdGlvbkJ5U3R5bGUpKHRoaXMuc3R5bGUoKSx0aGlzLnByaWNlU291cmNlKCkpfV91cGRhdGVTZXNzaW9uSWRQcm94eVByb3BlcnR5KGUpe2NvbnN0IHQ9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5zZXNzaW9uSWQudmFsdWUoKTtsZXQgcz10O2lmKGUpe2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7bnVsbCE9PWUmJihzPWUuc3Vic2Vzc2lvbl9pZHx8dCl9dGhpcy5faWdub3JlU2Vzc2lvbklkUHJveHlQcm9wZXJ0eUNoYW5nZXM9ITAsdGhpcy5fc2Vzc2lvbklkUHJveHlQcm9wZXJ0eS5zZXRWYWx1ZShzKSx0aGlzLl9pZ25vcmVTZXNzaW9uSWRQcm94eVByb3BlcnR5Q2hhbmdlcz0hMX1fb25TZXNzaW9uSWRQcm94eVByb3BlcnR5Q2hhbmdlZCgpe3RoaXMuX2lnbm9yZVNlc3Npb25JZFByb3h5UHJvcGVydHlDaGFuZ2VzfHx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnNlc3Npb25JZC5zZXRWYWx1ZSh0aGlzLl9zZXNzaW9uSWRQcm94eVByb3BlcnR5LnZhbHVlKCkpLHRoaXMuX3VwZGF0ZUxhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZSgpfV9vblN5bWJvbFJlc29sdmVkKGUpe3RoaXMuX3Nlcmllc0Vycm9yTWVzc2FnZT1udWxsLHRoaXMuX3VwZGF0ZVN5bWJvbEluZm8oZSksdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpLHRoaXMuX21vZGVsLm9uV2lkZ2V0KCl8fCgoMCxtLnRyYWNrRXZlbnQpKCJTeW1ib2wiLGUubGlzdGVkX2V4Y2hhbmdlLGUubmFtZSksKDAsbS50cmFja0V2ZW50KSgiU3ltYm9sIFR5cGUiLGUudHlwZSxlLmxpc3RlZF9leGNoYW5nZSkpO2NvbnN0IHQ9ZS5taW5tb3YvZS5wcmljZXNjYWxlLHM9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7ND09PXMuc3R5bGUudmFsdWUoKSYmcy5yZW5rb1N0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5ib3hTaXplLnZhbHVlKCk8dD9zLnJlbmtvU3R5bGUuY2hpbGRzKCkuaW5wdXRzLm1lcmdlKHtib3hTaXplOnR9KTo2PT09cy5zdHlsZS52YWx1ZSgpJiZzLnBuZlN0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5ib3hTaXplLnZhbHVlKCk8dD9zLnBuZlN0eWxlLmNoaWxkcygpLmlucHV0cy5tZXJnZSh7Ym94U2l6ZTp0fSk6NT09PXMuc3R5bGUudmFsdWUoKSYmcy5rYWdpU3R5bGUuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLnJldmVyc2FsQW1vdW50LnZhbHVlKCk8dCYmcy5rYWdpU3R5bGUuY2hpbGRzKCkuaW5wdXRzLm1lcmdlKHtyZXZlcnNhbEFtb3VudDp0fSksdGhpcy5fY2hlY2tDaGFydFN0eWxlKCksdGhpcy5fZm9ybWF0dGluZ0RlcHM9e2Zvcm1hdDplLmZvcm1hdCxwcmljZXNjYWxlOmUucHJpY2VzY2FsZSxtaW5tb3Y6ZS5taW5tb3YsZnJhY3Rpb25hbDplLmZyYWN0aW9uYWwsbWlubW92ZTI6ZS5taW5tb3ZlMix2YXJpYWJsZV90aWNrX3NpemU6ZS52YXJpYWJsZV90aWNrX3NpemV9LHRoaXMuX3VwZGF0ZUxhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZSgpfV9vblN5bWJvbEVycm9yKGUpe3RoaXMuX3NldFN0YXR1cyg0KSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnNob3J0TmFtZS5zZXRWYWx1ZSh0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnN5bWJvbC52YWx1ZSgpKSx0aGlzLl9tb2RlbC5jbGVhckFsbFN0dWRpZXMoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLApmZS5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpLHRoaXMuX3NlbmRUZWxlbWV0cnlDb3VudGVyKCJzeW1ib2xfZXJyb3IiLHRoaXMuX2dldFRlbGVtZXRyeUFkZGl0aW9uYWxEYXRhKGUsITEpKSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITEpfV9zZW5kVGVsZW1ldHJ5Q291bnRlcihlLHQpe3ZvaWQgMD09PXQmJih0PXRoaXMuX2dldFRlbGVtZXRyeUFkZGl0aW9uYWxEYXRhKCkpO2NvbnN0IHM9T2JqZWN0LmFzc2lnbih7Y291bnQ6MX0se2FkZGl0aW9uYWw6dH0pO1cudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydChlLHMpfV9nZXRUZWxlbWV0cnlBZGRpdGlvbmFsRGF0YShlLHQpe3Q9dm9pZCAwPT09dHx8dDtjb25zdCBzPXtzeW1ib2w6dGhpcy5hY3R1YWxTeW1ib2woKX07cmV0dXJuIHQmJihzLnJlc29sdXRpb249dGhpcy5pbnRlcnZhbCgpKSx2b2lkIDAhPT1lJiYocy5yZWFzb249ZSksc31fb25TZXJpZXNUaW1lRnJhbWUoZSx0LHMsaSxuKXtjb25zdCByPSgwLFAuaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGUpKHRoaXMuc3R5bGUoKSk/ZSsuNTplO2xldCBvPXQ7aWYodm9pZCAwPT09biludWxsIT09cyYmInBlcmlvZC1iYWNrIiE9PXMudHlwZXx8KG8rPXRoaXMuX21vZGVsLnN0dWR5QXdhcmVEZWZhdWx0UmlnaHRPZmZzZXQoKSk7ZWxzZSBpZihuLmFwcGx5RGVmYXVsdFJpZ2h0TWFyZ2luKW8rPXRoaXMuX21vZGVsLnN0dWR5QXdhcmVEZWZhdWx0UmlnaHRPZmZzZXQoKTtlbHNlIGlmKG4ucGVyY2VudFJpZ2h0TWFyZ2luKXtjb25zdCBlPXQtcisxLHM9TWF0aC5tYXgoMCxNYXRoLm1pbiguOTksbi5wZXJjZW50UmlnaHRNYXJnaW4vMTAwKSk7bys9cyplLygxLXMpfXRoaXMuX21vZGVsLnNldFRpbWVWaWV3cG9ydChyLG8pfV9vblNlcmllc0Vycm9yKGUpe2xldCB0PWUuZXJyb3I7Y29uc3Qgcz1lLmN0eDtpZihzKXtjb25zdCBlPXt9O09iamVjdC5rZXlzKHMpLmZvckVhY2goKHQ9PntlW3RdPXNbdF0udG9TdHJpbmcoKX0pKSx0PXQuZm9ybWF0KGUpfWN0JiZodC5sb2dOb3JtYWwoIkVycm9yIHJlYXNvbjogIit0KSx0aGlzLl9zZXJpZXNFcnJvck1lc3NhZ2U9dDtjb25zdCBpPSgwLE5lLmRldGVybWluZVNlcmllc0Vycm9yU3RhdHVzKSh7aGFzRGV0YWlsZWRFcnJvck1hcHBpbmc6ITAsZXJyb3JNZXNzYWdlOnQsbm9CYXJzU3RhdHVzQXZhaWxhYmxlOnV0LGhhc1N5bWJvbEluZm86ISF0aGlzLnN5bWJvbEluZm8oKX0pO3RoaXMuX3NldFN0YXR1cyhpKSx0aGlzLl9zZXJpZXNMb2FkZWQ9ITAsdGhpcy5fc2VuZFRlbGVtZXRyeUNvdW50ZXIoInNlcmllc19lcnJvciIsdGhpcy5fZ2V0VGVsZW1ldHJ5QWRkaXRpb25hbERhdGEodCkpLHRoaXMuX2VuYWJsZVByaWNlUmFuZ2VSZWFkeSgpfV9vblNlcmllc0xvYWRpbmcoZSl7dGhpcy5fc2V0U3RhdHVzKDIpfV9vbkRhdGFVcGRhdGVkKGUsdCxzLGkscil7dCYmciYmdGhpcy5fY29sb3JPblByZXZCYXIoKSYmdGhpcy5fcHJlY29tcHV0ZWRCYXJTdHlsZXMuZGVsZXRlKHIudmFsdWUpO2NvbnN0IG89dGhpcy5zeW1ib2xJbmZvKCk7aWYoaSYmbyl7bGV0IGU9MCx0PTA7aWYoKDAsUC5oYXNWb2x1bWUpKG8pKWZvcihjb25zdCBzIG9mIHRoaXMuYmFycygpLmZ1bGxSYW5nZUl0ZXJhdG9yKCkpe2NvbnN0IGk9cy52YWx1ZVs1XTswIT09aSYmKGUrPWksdCs9MSl9dGhpcy5fdm9sdW1lUG9pbnRXZWlnaHRzPXQ+MD9uZXcgZWUuVm9sdW1lQmFzZWRUaW1lUG9pbnRXZWlnaHRzKGUvdCk6bnVsbCx0aGlzLl91cGRhdGVUaW1lU2NhbGVUaW1lUG9pbnRXZWlnaHRzKCl9aWYobnVsbCE9PXRoaXMuX3ZvbHVtZVBvaW50V2VpZ2h0cyl7Y29uc3QgZT10P3RoaXMuYmFycygpLmZ1bGxSYW5nZUl0ZXJhdG9yKCk6cz90aGlzLmJhcnMoKS5yYW5nZUl0ZXJhdG9yKHMuaW5kZXgsKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLmJhcnMoKS5sYXN0SW5kZXgoKSkpOm51bGw7aWYobnVsbCE9PWUpZm9yKGNvbnN0IHQgb2YgZSl0aGlzLl92b2x1bWVQb2ludFdlaWdodHMuc2V0Vm9sdW1lKHQuaW5kZXgsdC52YWx1ZVs1XSl9dD90aGlzLl9yZXF1ZXN0TW9yZURhdGFBdmFpbGFibGU9ITA6dGhpcy5fbGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlJiZ0aGlzLl9zZXJpZXNMb2FkZWQmJnRoaXMuX2xpbmVTdHlsZUxhc3RQcmljZUNpcmNsZVBhbmVWaWV3LnVwZGF0ZSgoMCxmZS5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5fbGFzdEJhckNsb3NlVGltZT1lJiZlLmNsb3NlVGltZXx8bnVsbCx0aGlzLl9ib3hTaXplVmFsdWUuc2V0VmFsdWUodGhpcy5kYXRhKCkuYm94U2l6ZSksdGhpcy5fc3RhdHVzVmlldy51cGRhdGUoKTtjb25zdCBhPXRoaXMuYmFycygpLmZpcnN0SW5kZXgoKSxsPXRoaXMuYmFycygpLmxhc3RJbmRleCgpO251bGwhPT1hJiZudWxsIT09bD90aGlzLl9kYXRhUmFuZ2VVcGRhdGVkLmZpcmUoe3R5cGU6InBhcnRpYWwiLHN0YXJ0SW5kZXg6cz8uaW5kZXg/P2EsZW5kSW5kZXg6dD9yPy5pbmRleD8/bDpsfSk6dGhpcy5fZGF0YVJhbmdlVXBkYXRlZC5maXJlKHt0eXBlOiJmdWxsIn0pLHRoaXMuY2xlYXJBdmVyYWdlUHJpY2VDYWNoZSgpLHRoaXMuY2xlYXJIaWdoTG93UHJpY2VDYWNoZSgpO2NvbnN0IHU9dGhpcy5tb2RlbCgpLGM9KDAsbi5lbnN1cmVOb3ROdWxsKSh1LnBhbmVGb3JTb3VyY2UodGhpcykpO3UucmVjYWxjdWxhdGVQYW5lKGMsKDAsZmUuc291cmNlQ2hhbmdlRXZlbnQpKHtzb3VyY2VJZDp0aGlzLmlkKCkscmVhbHRpbWU6IXQsZmlyc3RVcGRhdGVkVGltZVBvaW50SW5kZXg6cz8uaW5kZXg/P3ZvaWQgMH0pKSx1LnVwZGF0ZVNvdXJjZSh0aGlzKX1fcGxvdHNEYXRhUmFuZ2UoKXtjb25zdCBlPXRoaXMuYmFycygpLmZpcnN0SW5kZXgoKSx0PXRoaXMuYmFycygpLmxhc3RJbmRleCgpO3JldHVybiBudWxsIT09ZSYmbnVsbCE9PXQ/W2UsdF06bnVsbH1fc2V0U3RhdHVzKGUpe2NvbnN0IHQ9ey4uLnRoaXMuX3N0YXR1cy52YWx1ZSgpLHNlcmllc1N0YXR1czplfTt0aGlzLl91cGRhdGVTdGF0dXModCksdGhpcy5fc3RhdHVzVmlldy51cGRhdGUoKSwKdGhpcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZSh0aGlzKSx0aGlzLl9vblN0YXR1c0NoYW5nZWQuZmlyZSgpfV9vbkJhclJlY2VpdmVkKGUpe3RoaXMubW9kZWwoKS5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKHYuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5EYXRhVXBkYXRlKX1fb25VbnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKXtjb25zdCBlPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fZ2V0U3RhdGVGb3JVbnN1cHBvcnRlZFJlc29sdXRpb24oKSk7dGhpcy5fc2VyaWVzRXJyb3JNZXNzYWdlPWUucmVhc29uLHRoaXMuX3Vuc3VwcG9ydGVkUmVzb2x1dGlvblN0YXRlLnNldFZhbHVlKGUpLHRoaXMuX3NldFN0YXR1cygxNCksdGhpcy5fc2VyaWVzTG9hZGVkPSEwLHRoaXMuY2xlYXJEYXRhKCksdGhpcy5fbW9kZWwudGltZVNjYWxlKCkucG9pbnRzKCkuY2xlYXIoKSx0aGlzLl9lbmFibGVQcmljZVJhbmdlUmVhZHkoKX1fZ2V0U3RhdGVGb3JVbnN1cHBvcnRlZFJlc29sdXRpb24oKXtjb25zdCBlPXRoaXMuc3ltYm9sSW5mbygpO2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9dGhpcy5pbnRlcnZhbCgpLHM9KDAsT2UuZ2V0UmVzb2x1dGlvblVuc3VwcG9ydGVkUmVhc29uKShlLHQpO2lmKG51bGw9PT1zKXJldHVybiBudWxsO2NvbnN0IGk9ITA7cmV0dXJuKDAsVWUuYnVpbGRVbnN1cHBvcnRlZFJlc29sdXRpb25TdGF0ZSkoe3N5bWJvbEluZm86ZSxyZXNvbHV0aW9uOnQscmVhc29uOnMsaGFzUmVzb2x1dGlvblBvbGljeTppLGlzSW50ZXJuYWxEYXRhRmVlZDohMCxkZWZhdWx0UmVzb2x1dGlvbnM6dGhpcy5fbW9kZWwuZGVmYXVsdFJlc29sdXRpb25zKCksaXNBdXRoZW50aWNhdGVkOiEhd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQsaXNQcm86ISF3aW5kb3cudXNlcj8uaXNfcHJvfSl9X3JlY3JlYXRlRm9ybWF0dGVyKCl7e2NvbnN0IGU9KDAsemUuY3JlYXRlU2VyaWVzRm9ybWF0dGVycykoe2Zvcm1hdHRpbmdEZXBzOnRoaXMuX2Zvcm1hdHRpbmdEZXBzLGFsaWFzRm9ybWF0dGluZ0RlcHM6dGhpcy5hbGlhc1N5bWJvbEluZm8oKSxzeW1ib2xGb3JtYXR0aW5nRGVwczp0aGlzLnN5bWJvbEluZm8oKSxtaW5UaWNrOnRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLm1pblRpY2sudmFsdWUoKX0pO3RoaXMuX2RlZmF1bHRGb3JtYXR0ZXI9ZS5kZWZhdWx0Rm9ybWF0dGVyLHRoaXMuX2Zvcm1hdHRlcj1lLmZvcm1hdHRlcix0aGlzLl9pZ25vcmVNaW5Nb3ZlRm9ybWF0dGVyPWUuaWdub3JlTWluTW92ZUZvcm1hdHRlcn10aGlzLl9wcmljZVNjYWxlPy51cGRhdGVGb3JtYXR0ZXIoKSx0aGlzLl9mb3JtYXR0ZXJDaGFuZ2VkLmZpcmUoKX1fcmVjcmVhdGVQcmljZVN0ZXAoKXtjb25zdHtwcmljZVN0ZXA6ZSxpZ25vcmVNaW5Nb3ZlUHJpY2VTdGVwOnR9PSgwLHplLmNhbGN1bGF0ZVByaWNlU3RlcHMpKHRoaXMuc3ltYm9sSW5mbygpKTt0aGlzLl9pZ25vcmVNaW5Nb3ZlUHJpY2VTdGVwPXQsdGhpcy5fcHJpY2VTdGVwIT09ZSYmKHRoaXMuX3ByaWNlU3RlcD1lLHRoaXMuX3ByaWNlU3RlcENoYW5nZWQuZmlyZSgpKX1fcmVjcmVhdGVQcmljZUZvcm1hdHRpbmdEZXBlbmRlbmNpZXMoKXt0aGlzLl9yZWNyZWF0ZUZvcm1hdHRlcigpLHRoaXMuX3JlY3JlYXRlUHJpY2VTdGVwKCl9X29uUXVvdGVzVXBkYXRlKGUsdCl7e2NvbnN0IHM9dm9pZCAwIT09dC52YWx1ZXMuY2hhbmdlfHx2b2lkIDAhPT10LnZhbHVlcy5jaGFuZ2VfcGVyY2VudDtzJiZwdCYmdGhpcy5fbGVnZW5kVmlldy51cGRhdGUoKTtjb25zdCBpPXZvaWQgMCE9PXQudmFsdWVzLnByZXZfY2xvc2VfcHJpY2U7aSYmKCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fcHJldkNsb3NlUHJpY2VMaW5lVmlldykudXBkYXRlKCgwLGZlLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSwoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3ByZXZDbG9zZVByaWNlQXhpc1ZpZXcpLnVwZGF0ZSgoMCxmZS5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSkpLChzfHxpKSYmdGhpcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZSh0aGlzKSx0aGlzLl9xdW90ZXNMYXN0U3BsaXRzLnNldFZhbHVlKGUudmFsdWVzLmxhc3Rfc3BsaXRzPz9udWxsKX12b2lkIDAhPT1lLnZhbHVlcy5jdXJyZW50X3Nlc3Npb24mJmUudmFsdWVzLmN1cnJlbnRfc2Vzc2lvbiE9PXRoaXMuX2N1cnJlbnRTZXNzaW9uJiYodGhpcy5fY3VycmVudFNlc3Npb249ZS52YWx1ZXMuY3VycmVudF9zZXNzaW9uLHRoaXMuX3VwZGF0ZUxhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZSgpKX1fdXBkYXRlSXNOb25SZWd1bGFyTWFya2V0UHJpY2VzRm9yYmlkZGVuUHJvcGVydGllcygpe2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7e2NvbnN0IHQ9KDAsUC5zeW1ib2xIYXNQcmVPclBvc3RNYXJrZXQpKGUpJiYodGhpcy5pc0RXTSgpfHwhIWUmJigwLFAuaXNSZWd1bGFyU2Vzc2lvbklkKSh0aGlzLnNlc3Npb25JZFByb3h5UHJvcGVydHkoKS52YWx1ZSgpLGUpKTt0aGlzLl9pc1ByZVBvc3RNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eS5zZXRWYWx1ZSh0KX17Y29uc3QgdD0hdGhpcy5pc0RXTSgpJiYoMCxKLmlzRmVhdHVyZUVuYWJsZWQpKCJzdXBwb3J0X292ZXJuaWdodF9zZXNzaW9uIikmJigwLFAuc3ltYm9sSGFzTmlnaHRNYXJrZXQpKGUpJiYhIWUmJiEoMCxQLmlzU3RvY2syNGhTZXNzaW9uSWQpKHRoaXMuc2Vzc2lvbklkUHJveHlQcm9wZXJ0eSgpLnZhbHVlKCkpJiYhKDAsUC5pc1JlZ3VsYXJTZXNzaW9uSWQpKHRoaXMuc2Vzc2lvbklkUHJveHlQcm9wZXJ0eSgpLnZhbHVlKCksZSk7dGhpcy5faXNPdmVybmlnaHRNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eS5zZXRWYWx1ZSh0KX19X3VwZGF0ZVNldHRsZW1lbnRBc0Nsb3NlRm9yYmlkZGVuUHJvcGVydHkoKXtjb25zdCBlPXRoaXMuaXNEV00oKSYmQm9vbGVhbih0aGlzLnN5bWJvbEluZm8oKT8uaGFzX3NldHRsZW1lbnQpO3RoaXMuX2lzU2V0dGxlbWVudEFzQ2xvc2VGb3JiaWRkZW5Qcm9wZXJ0eS5zZXRWYWx1ZSghZSl9X3VwZGF0ZUJhY2tBZGp1c3RtZW50Rm9yYmlkZGVuUHJvcGVydHkoKXsKY29uc3QgZT1Cb29sZWFuKHRoaXMuc3ltYm9sSW5mbygpPy5oYXNfYmFja2FkanVzdG1lbnQpO3RoaXMuX2lzQmFja0FkanVzdG1lbnRGb3JiaWRkZW5Qcm9wZXJ0eS5zZXRWYWx1ZSghZSl9X3JlbW92ZVJlcGxheVN1YnNjcmliZXIoKXt7aWYoIXRoaXMuaXNJblJlcGxheSgpLnZhbHVlKCkpcmV0dXJuO2NvbnN0IGU9dGhpcy5fcmVwbGF5U3Vic2NyaWJlci52YWx1ZSgpO3RoaXMuX3JlcGxheVN1YnNjcmliZXIuc2V0VmFsdWUobnVsbCksdGhpcy5faXNSZXBsYXlSZXNvbHV0aW9uQXZhaWxhYmxlRm9yVXNlcj1udWxsLHRoaXMuX29uSW5SZXBsYXlTdGF0ZUNoYW5nZWQuZmlyZSgpLGU/Lm9uU2VyaWVzTW9kaWZpZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlPy5kZXN0cm95KCl9fV9nZXRTeW1ib2xGb3JBcGkoKXtyZXR1cm4gdGhpcy5zeW1ib2woKX1fZ2V0U3ltYm9sT2JqZWN0KGUsdCxzKXtjb25zdCBpPXRoaXMuX2dldEV4dGVuZGVkU3ltYm9sT2JqZWN0KHtvdmVycmlkZGVuU3ltYm9sOmUsc2tpcFNhdmVkTWV0cmljOnMsZG9Ob3RBZGRVbnN1cHBvcnRlZE9uQ3VycmVudFN5bWJvbEZpZWxkczp0fSksbj10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZS52YWx1ZSgpO2lmKEkuU1lNQk9MX1NUUklOR19EQVRBLmhhc093blByb3BlcnR5KG4pJiYhSS5jaGFydFN0eWxlc1dpdGhBdHRhY2hlZFN0dWRpZXMuaW5jbHVkZXMobikpe3JldHVybntzeW1ib2w6aSx0eXBlOnRoaXMuc3R5bGVTdHVkeUluZm8odGhpcy5nZXRTdHlsZVNob3J0TmFtZSgpKyJTdHlsZSIpLnN0dWR5SWQrIiEiLGlucHV0czp0aGlzLmdldElucHV0c1Byb3BlcnRpZXMoKS5zdGF0ZSgpfX1yZXR1cm4gaX1fZ2V0RXh0ZW5kZWRTeW1ib2xPYmplY3QoZT17fSl7Y29uc3R7b3ZlcnJpZGRlblN5bWJvbDp0LHNraXBNZXRyaWM6cyxza2lwU2F2ZWRNZXRyaWM6aSxkb05vdEFkZFVuc3VwcG9ydGVkT25DdXJyZW50U3ltYm9sRmllbGRzOnJ9PWUsbz17c3ltYm9sOnQ/P3RoaXMuX2dldFN5bWJvbEZvckFwaSgpfSxhPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLGw9dGhpcy5jdXJyZW5jeSgpO251bGwhPT1sJiYob1siY3VycmVuY3ktaWQiXT1sKTtjb25zdCB1PXRoaXMudW5pdCgpO2lmKHRoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpJiZudWxsIT09dSYmKG9bInVuaXQtaWQiXT11KSx0aGlzLl9tb2RlbC5tZXRyaWNDb252ZXJzaW9uRW5hYmxlZCgpJiYhcyl7bGV0IGU9dGhpcy5tZXRyaWMoKTtpfHxudWxsIT09ZXx8bnVsbCE9PXRoaXMuc3ltYm9sSW5mbygpfHwoZT0oMCxQLmdldExhc3RVc2VkTWV0cmljKSgpKSxudWxsIT09ZSYmKG8ubWV0cmljPWUpfXRoaXMuaXNEV00oKXx8KG8uc2Vzc2lvbj1hLnNlc3Npb25JZC52YWx1ZSgpKTt7Y29uc3QgZT10aGlzLnN5bWJvbEluZm8oKSx0PWU/LmFsbG93ZWRfYWRqdXN0bWVudD8/Im5vbmUiLHM9ImFueSI9PT10fHwiZGl2aWRlbmRzIj09PXQsaT0iYW55Ij09PXR8fCJzcGxpdHMiPT09dDtyP2E/LmRpdmlkZW5kc0FkanVzdG1lbnQ/LnZhbHVlKCkmJnM/by5hZGp1c3RtZW50PSJkaXZpZGVuZHMiOmkmJihvLmFkanVzdG1lbnQ9InNwbGl0cyIpOm8uYWRqdXN0bWVudD0oMCxuLmVuc3VyZURlZmluZWQpKGEuZGl2aWRlbmRzQWRqdXN0bWVudCkudmFsdWUoKT8iZGl2aWRlbmRzIjoic3BsaXRzIiwhYS5iYWNrQWRqdXN0bWVudC52YWx1ZSgpfHxyJiYhZT8uaGFzX2JhY2thZGp1c3RtZW50fHwoby5iYWNrYWRqdXN0bWVudD0iZGVmYXVsdCIpLGEuc2V0dGxlbWVudEFzQ2xvc2UudmFsdWUoKXx8ciYmIWU/Lmhhc19zZXR0bGVtZW50fHwob1sic2V0dGxlbWVudC1hcy1jbG9zZSJdPSExKX1yZXR1cm4gb31fY2hlY2tDaGFydFN0eWxlKCl7Y29uc3QgZT10aGlzLnN0eWxlKCk7KDAsUC5pc0Nsb3NlQmFzZWRTeW1ib2wpKHRoaXMuc3ltYm9sSW5mbygpKXx8dGhpcy5pbnRlcnZhbE9iaigpLnZhbHVlKCkuaXMxVGljaygpPygwLFAuaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGUpKGUpfHwodGhpcy5yZXF1ZXN0aW5nU3R5bGVJc05vdFN1cHBvcnRlZC5maXJlKCksdGhpcy5fc3R5bGVUb1JlY292ZXI9e2NvcnJlY3RlZFN0eWxlOnRoaXMuc3R5bGUoKSxvcmlnaW5hbFN0eWxlOmV9KToiaGxjIj09PXRoaXMuc3ltYm9sSW5mbygpPy52aXNpYmxlX3Bsb3RzX3NldD8oMCxQLmlzSExDQmFzZWRTdHlsZSkoZSl8fCgwLFAuaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGUpKGUpfHwodGhpcy5yZXF1ZXN0aW5nU3R5bGVJc05vdFN1cHBvcnRlZC5maXJlKCksdGhpcy5fc3R5bGVUb1JlY292ZXI9e2NvcnJlY3RlZFN0eWxlOnRoaXMuc3R5bGUoKSxvcmlnaW5hbFN0eWxlOmV9KTpudWxsIT09dGhpcy5fc3R5bGVUb1JlY292ZXImJih0aGlzLnJlcXVlc3RpbmdTdHlsZVN1cHBvcnRSZWNvdmVyZWQuZmlyZSh0aGlzLl9zdHlsZVRvUmVjb3Zlci5vcmlnaW5hbFN0eWxlKSx0aGlzLl9zdHlsZVRvUmVjb3Zlcj1udWxsKX1fdXBkYXRlU3ltYm9sSW5mbyhlKXtpZihlKXtjb25zdCB0PXRoaXMuX2dldFJlc29sdmluZ1N5bWJvbE9iamVjdCgpLHM9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKSxuPSgwLFAuc3ltYm9sQ3VycmVuY3kpKGUpLHI9KDAsUC5zeW1ib2xVbml0KShlLHRoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpKSxvPSgwLFAuc3ltYm9sTWV0cmljKShlLHRoaXMuX21vZGVsLm1ldHJpY0NvbnZlcnNpb25FbmFibGVkKCkpOyJhbHdheXNPZmYiPT09KDAseC5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudmFsdWUoKXx8bj09PXMuY3VycmVuY3lJZC52YWx1ZSgpJiZyPT09cy51bml0SWQudmFsdWUoKXx8dGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpO2NvbnN0IGE9biE9PXMuY3VycmVuY3lJZC52YWx1ZSgpLGw9ciE9PXMudW5pdElkLnZhbHVlKCksdT1vIT09cy5tZXRyaWNJZC52YWx1ZSgpO3MuY3VycmVuY3lJZC5zZXRWYWx1ZVNpbGVudGx5KG4pLHMudW5pdElkLnNldFZhbHVlU2lsZW50bHkocikscy5tZXRyaWNJZC5zZXRWYWx1ZVNpbGVudGx5KG8pLHRoaXMuX3N5bWJvbEluZm8uc2V0VmFsdWUoZSksCnMuc2hvcnROYW1lLnNldFZhbHVlKGUubmFtZSk7Y29uc3QgYz0oMCxULmV4dHJhY3RTeW1ib2xOYW1lRnJvbVN5bWJvbEluZm8pKGUsdGhpcy5zeW1ib2woKSk7YyYmcy5zeW1ib2wuc2V0VmFsdWUoYyksYSYmcy5jdXJyZW5jeUlkLmZpcmVDaGFuZ2VkKCksbCYmcy51bml0SWQuZmlyZUNoYW5nZWQoKSx1JiZzLm1ldHJpY0lkLmZpcmVDaGFuZ2VkKCk7Y29uc3QgZD10aGlzLl9nZXRSZXNvbHZpbmdTeW1ib2xPYmplY3QoKSxoPXRoaXMuX3Nlcmllc1NvdXJjZS5zeW1ib2woKTsoMCxpLmRlZmF1bHQpKHQsaCkmJiEoMCxpLmRlZmF1bHQpKGQsaCkmJnRoaXMuX3Nlcmllc1NvdXJjZS51cGRhdGVFeHRTeW1ib2woZCksdGhpcy5fdXBkYXRlU2Vzc2lvbklkUHJveHlQcm9wZXJ0eSghMCl9ZWxzZSB0aGlzLl9zeW1ib2xJbmZvLnNldFZhbHVlKG51bGwpO2NvbnN0IHQ9dGhpcy5hbGlhc1N5bWJvbEluZm8oKTt0aGlzLl9iYXNlPXQ/dC5wcmljZXNjYWxlL3QubWlubW92OjEwMCx0aGlzLl9wb2ludFZhbHVlPWUmJmUucG9pbnR2YWx1ZXx8MTtjb25zdCBzPXRoaXMuZ2V0UXVvdGVzU3ltYm9sU3RyaW5nKCk7cyE9PXRoaXMuX3F1b3Rlc1Byb3ZpZGVyLnN5bWJvbCgpJiZ0aGlzLl9xdW90ZXNMYXN0U3BsaXRzLnNldFZhbHVlKG51bGwpLHRoaXMuX3F1b3Rlc1Byb3ZpZGVyLnNldFF1b3Rlc1Nlc3Npb25TeW1ib2wocyksdGhpcy5fbWFya2V0U3RhdHVzTW9kZWwuc2V0U3ltYm9sSW5mbyhlKSxlJiZ0aGlzLl9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcygpLHRoaXMuX3N0YXR1c1ZpZXcudXBkYXRlKCksdGhpcy5wcmljZVNjYWxlKCkudXBkYXRlRm9ybWF0dGVyKCksdGhpcy5fc3ltYm9sUmVzb2x2aW5nQWN0aXZlLnNldFZhbHVlKCFlKSx0aGlzLl91cGRhdGVJc05vblJlZ3VsYXJNYXJrZXRQcmljZXNGb3JiaWRkZW5Qcm9wZXJ0aWVzKCksdGhpcy5fZGF0YVBvd2VyZWRCeT0oMCxOLmdldERhdGFWZW5kb3JTdHJpbmcpKGUpLHRoaXMuX3VwZGF0ZUJhY2tBZGp1c3RtZW50Rm9yYmlkZGVuUHJvcGVydHkoKSx0aGlzLl91cGRhdGVTZXR0bGVtZW50QXNDbG9zZUZvcmJpZGRlblByb3BlcnR5KCl9X2NyZWF0ZUhpZ2hMb3dBdmdWaWV3cygpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaGlnaExvd0F2Z1ByaWNlLHQ9dGhpcy5fZ2V0SGlnaExvd1ByaWNlLmJpbmQodGhpcykscz0oMCxhZS5jcmVhdGVIaWdoTG93Vmlld3MpKHRoaXMuX21vZGVsLHRoaXMsZSx0KTt0aGlzLl9oaWdoTG93QXZnUGFuZVZpZXdzLnB1c2goLi4ucy5wYW5lVmlld3MpLHRoaXMuX2xhYmVsUGFuZVZpZXdzLnB1c2goLi4ucy5wYW5lUHJpY2VBeGlzVmlld3MpLHRoaXMuX3ByaWNlQXhpc1ZpZXdzLnB1c2goLi4ucy5wcmljZUF4aXNWaWV3cyksdGhpcy5fcHJpY2VMaW5lQXhpc1ZpZXdzLnB1c2goLi4ucy5wcmljZUxpbmVBeGlzVmlld3MpfV9jcmVhdGVBdmVyYWdlVmlld3MoKXt9X2dldEhpZ2hMb3dQcmljZShlKXtpZighdGhpcy5faGlnaExvd1ByaWNlQ2FjaGUuaGFzKGUpKXtjb25zdCBlPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtjb25zdCB0PWZ1bmN0aW9uKGUsdCxzKXtyZXR1cm4gZS5taW5NYXhPblJhbmdlQ2FjaGVkKHQscyxbe25hbWU6ImxvdyIsb2Zmc2V0OjB9LHtuYW1lOiJoaWdoIixvZmZzZXQ6MH1dKX0odGhpcy5fbW9kZWwubWFpblNlcmllcygpLmJhcnMoKSxlLmZpcnN0QmFyKCksZS5sYXN0QmFyKCkpO2lmKG51bGw9PT10KXJldHVybiBudWxsO3RoaXMuX2hpZ2hMb3dQcmljZUNhY2hlLnNldCgxLHQubWluKSx0aGlzLl9oaWdoTG93UHJpY2VDYWNoZS5zZXQoMCx0Lm1heCl9cmV0dXJuIHRoaXMuX2hpZ2hMb3dQcmljZUNhY2hlLmdldChlKX1fZ2V0QXZlcmFnZVByaWNlKGUpe3JldHVybiBudWxsfV91cGRhdGVDb21wbGV0ZVN0YXR1c01vZGUoZSl7c3dpdGNoKGU9InB1bHNlZCI9PT1lPyJkZWxheWVkIjplKXtjYXNlInN0cmVhbWluZyI6dGhpcy5fc2V0U3RhdHVzKDMpO2JyZWFrO2Nhc2UiZW5kb2ZkYXkiOnRoaXMuX3NldFN0YXR1cyg2KTticmVhaztjYXNlImRlbGF5ZWQiOnRoaXMuX3NldFN0YXR1cyg4KTticmVhaztjYXNlInJlcGxheSI6dGhpcy5fc2V0U3RhdHVzKDExKX1lLm1hdGNoKC9kZWxheWVkX3N0cmVhbWluZy8pJiZ0aGlzLl9zZXRTdGF0dXMoOSl9X29uU2VyaWVzQ29tcGxldGVkKGUpe2lmKDE0PT09dGhpcy5fc3RhdHVzLnZhbHVlKCkuc2VyaWVzU3RhdHVzKXJldHVybjt0aGlzLl9zZW5kVGVsZW1ldHJ5Q291bnRlcigic2VyaWVzX2xvYWRlZCIsdGhpcy5fZ2V0VGVsZW1ldHJ5QWRkaXRpb25hbERhdGEoKSksdGhpcy5fc2VyaWVzRXJyb3JNZXNzYWdlPW51bGwsdGhpcy5fdXBkYXRlQ29tcGxldGVTdGF0dXNNb2RlKGUudXBkYXRlTW9kZSksdGhpcy5fbGFzdENvbXBsZXRlRmxhZ3M9ZS5mbGFncz8/bnVsbDtjb25zdCB0PSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwucGFuZUZvclNvdXJjZSh0aGlzKSk7dC5yZWNhbGN1bGF0ZVByaWNlU2NhbGUodGhpcy5wcmljZVNjYWxlKCksKDAsZmUuc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpO2NvbnN0IGk9X2UuSW52YWxpZGF0aW9uTWFzay5mdWxsKCk7aWYobnVsbCE9PXRoaXMuX21vZGVsLmFwcGxpZWRUaW1lRnJhbWUoKS52YWx1ZSgpJiZpLmxvY2tWaXNpYmxlVGltZVJhbmdlT25SZXNpemUoKSx0aGlzLl9tb2RlbC5pbnZhbGlkYXRlKGkpLCF0aGlzLnByaWNlU2NhbGUoKS5pc0xvY2tTY2FsZSgpfHx0aGlzLm1vZGVsKCkudGltZVNjYWxlKCkuaXNFbXB0eSgpfHx0aGlzLl9zZXJpZXNMb2FkZWR8fCh0aGlzLm1vZGVsKCkudGltZVNjYWxlKCkuY29ycmVjdE9mZnNldCgpLHRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS5jb3JyZWN0QmFyU3BhY2luZygpLHRoaXMubW9kZWwoKS5yZXNldFByaWNlU2NhbGUodCx0aGlzLnByaWNlU2NhbGUoKSkpLHRoaXMuX3Nlcmllc0xvYWRlZD0hMCx0aGlzLl9zZXJpZXNDb21wbGV0ZWQ9ITAsCnRoaXMubW9kZWwoKS5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKHYuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TZXJpZXNDb21wbGV0ZWQpLHRoaXMubW9kZWwoKS5yZWNhbGNTdHVkeUJhc2VkTGluZVRvb2xzKCksIW10KXttdD0hMDsoMCxzKDc2MDA5OCkudHJhY2tUaW1pbmcpKCJDaGFydCIsIlRpbWUgdG8gc2VyaWVzIix3aW5kb3cucGVyZm9ybWFuY2Uubm93KCkpfWlmKHRoaXMucmVxdWVzdE1vcmVEYXRhKCksbnVsbCE9PXRoaXMuX3NhdmVkTGVmdEVkZ2UmJjIhPT10aGlzLl9zdGF0dXMudmFsdWUoKS5zZXJpZXNTdGF0dXMpe2NvbnN0IGU9MWUzKnRoaXMuX3NhdmVkTGVmdEVkZ2UsdD10aGlzLl9wZW5kaW5nU2Nyb2xsVG9MZWZ0RWRnZTtzZXRUaW1lb3V0KCgoKT0+e3RoaXMuX21vZGVsLnN5bmNUaW1lV2l0aE1vZGVsKCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5zeW5jTW9kZWwoKSkuc3luY1NvdXJjZVRhcmdldCgpLGUse3RhcmdldFBvaW50QWxpZ25tZW50OiJsZWZ0IixhbGlnbklmVGFyZ2V0UG9pbnRJc1Zpc2libGU6ITAsYXV0b3NjYWxlQWZ0ZXJTY3JvbGw6ITF9KS50aGVuKCgoKT0+e3Q/LnJlc29sdmUoKX0pKS5jYXRjaCgoKCk9Pnt9KSl9KSwwKSx0aGlzLl9zYXZlZExlZnRFZGdlPW51bGwsdGhpcy5fcGVuZGluZ1Njcm9sbFRvTGVmdEVkZ2U9bnVsbH10aGlzLl9lbmFibGVQcmljZVJhbmdlUmVhZHkoKX1fb25TZXJpZXNEYXRhQ2xlYXJlZCgpe3RoaXMuX2RhdGFSYW5nZVVwZGF0ZWQuZmlyZSh7dHlwZToiZnVsbCJ9KX1fbm90aWZ5SW50ZXJ2YWxDaGFuZ2VkKGUpe2NvbnN0IHQ9e3RpbWVmcmFtZTp0aGlzLl9wZW5kaW5nVGltZVJhbmdlPz92b2lkIDB9O3RoaXMuX2ludGVydmFsQ2hhbmdlZC5maXJlKGUsdCksdGhpcy5fcGVuZGluZ1RpbWVSYW5nZT10LnRpbWVmcmFtZT8/bnVsbH1fb25DdXJyZW5jeUNoYW5nZWQoKXt0aGlzLl9jdXJyZW5jeUNoYW5nZWQuZmlyZSgpfV9vblVuaXRDaGFuZ2VkKCl7dGhpcy5fdW5pdENoYW5nZWQuZmlyZSgpfV9vbk1ldHJpY0NoYW5nZWQoKXt0aGlzLl9tZXRyaWNDaGFuZ2VkLmZpcmUoKX1fc2F2ZUxlZnRFZGdlSWZSZXF1aXJlZChlLHQ9bnVsbCl7aWYodGhpcy5fc2F2ZWRMZWZ0RWRnZT1udWxsLCF0JiYhZSYmdGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2F2ZUxlZnRFZGdlLnZhbHVlKCkpe2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCk7aWYoIWUuaXNFbXB0eSgpKXtsZXQgdD1lLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKT8uZmlyc3RCYXIoKTtpZih2b2lkIDAhPT10KXtjb25zdCBzPXRoaXMuX3Nlcmllc1NvdXJjZS5kYXRhKCk/LmJhcnMoKS5maXJzdCgpO3JldHVybiBudWxsIT1zJiYodD1NYXRoLm1heCh0LHMuaW5kZXgpKSx0aGlzLl9zYXZlZExlZnRFZGdlPWUuaW5kZXhUb1RpbWVQb2ludCh0KSx0aGlzLl9wZW5kaW5nU2Nyb2xsVG9MZWZ0RWRnZT0oMCx5LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKSwhMH19fXJldHVybiExfWFzeW5jIF9wcm9jZXNzUmVwbGF5T25BcHBseVN5bWJvbFBhcmFtc0NoYW5nZXMoZSx0KXtpZih0aGlzLmlzSW5SZXBsYXkoKS52YWx1ZSgpKXtjb25zdCBzPSgpPT50aGlzLl9yZW1vdmVSZXBsYXlTdWJzY3JpYmVyKCk7ZSYmKGMuSW50ZXJ2YWwuaXNSYW5nZSh0KT9zKCk6KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pc1JlcGxheVJlc29sdXRpb25BdmFpbGFibGVGb3JVc2VyKSh0KT9hd2FpdCB0aGlzLmNhbkNoYW5nZVJlc29sdXRpb24odCl8fHMoKToocygpLHRoaXMuX3BhcmFtc05vdEFwcGxpY2FibGVGb3JSZXBsYXkuZmlyZSgzLCJjaGFuZ2VSZXNvbHV0aW9uIikpKX19YXN5bmMgX2FwcGx5U3ltYm9sUGFyYW1zQ2hhbmdlcyhlKXt0aGlzLl9sYXN0Q29tcGxldGVGbGFncz1udWxsLHRoaXMuY2xlYXJHb3RvRGF0ZVJlc3VsdCgpO2NvbnN0IHQ9dGhpcy5pbnRlcnZhbCgpLHM9dGhpcy5jdXJyZW5jeSgpLGk9dGhpcy51bml0KCksbj10aGlzLm1ldHJpYygpO2MuSW50ZXJ2YWwuaXNSYW5nZSh0KSYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5yYW5nZVN0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5yYW5nZS5zZXRWYWx1ZShjLkludGVydmFsLnBhcnNlKHQpLm11bHRpcGxpZXIoKSk7Y29uc3R7c3ltYm9sQ2hhbmdlZDpyLGludGVydmFsQ2hhbmdlZDpvLGN1cnJlbmN5Q2hhbmdlZDphLHVuaXRDaGFuZ2VkOmwsbWV0cmljQ2hhbmdlZDp1LGZvcmNlOmR9PWUsaD1vJiZjLkludGVydmFsLnBhcnNlKHRoaXMuX3ByZXZSZXF1ZXN0ZWRJbnRlcnZhbCkuaXNEV00oKSE9PWMuSW50ZXJ2YWwucGFyc2UodCkuaXNEV00oKTtpZigobnVsbCE9PXMmJmF8fG51bGwhPT1pJiZsfHxudWxsIT09biYmdSkmJnRoaXMuaXNJblJlcGxheSgpLnZhbHVlKCkpe2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7KG51bGw9PT1lfHxudWxsIT09cyYmZS5vcmlnaW5hbF9jdXJyZW5jeV9pZCE9PXN8fG51bGwhPT1pJiZlLm9yaWdpbmFsX3VuaXRfaWQhPT1pKSYmdGhpcy5fcmVtb3ZlUmVwbGF5U3Vic2NyaWJlcigpfWlmKHRoaXMuX3N5bmNNb2RlbD1udWxsLHRoaXMuX3ByZXZSZXF1ZXN0ZWRJbnRlcnZhbD10LDUhPT10aGlzLl9zdGF0dXMudmFsdWUoKS5zZXJpZXNTdGF0dXMmJighdGhpcy5fc2VyaWVzU291cmNlLmlzU3RhcnRlZCgpfHxyfHxhfHxsfHx1fHxoKSYmdGhpcy5fdXBkYXRlU3ltYm9sSW5mbyhudWxsKSx0aGlzLl9wcm9jZXNzUmVwbGF5T25BcHBseVN5bWJvbFBhcmFtc0NoYW5nZXMoISFvLHQpLDU9PT10aGlzLl9zdGF0dXMudmFsdWUoKS5zZXJpZXNTdGF0dXMpcmV0dXJuIHZvaWQgdGhpcy5fcmVhbGlnbkxpbmVUb29scygpO3RoaXMuX3NldFN0YXR1cygxKSx0aGlzLl91cGRhdGVJc05vblJlZ3VsYXJNYXJrZXRQcmljZXNGb3JiaWRkZW5Qcm9wZXJ0aWVzKCksdGhpcy5fdXBkYXRlQmFja0FkanVzdG1lbnRGb3JiaWRkZW5Qcm9wZXJ0eSgpLHRoaXMuX3VwZGF0ZVNldHRsZW1lbnRBc0Nsb3NlRm9yYmlkZGVuUHJvcGVydHkoKSx0aGlzLl9zeW1ib2xJbnRlcnZhbENoYW5nZWQuZmlyZSgpLApvJiZ0aGlzLl9ub3RpZnlJbnRlcnZhbENoYW5nZWQodCksdGhpcy5fb25SZXN0YXJ0ZWQuZmlyZSgpLHRoaXMuX3Nlcmllc0xvYWRlZD0hMSx0aGlzLl9zZXJpZXNDb21wbGV0ZWQ9ITEsdGhpcy5fbGluZVN0eWxlTGFzdFByaWNlQ2lyY2xlUGFuZVZpZXcuc3RvcEFuaW1hdGlvbigpO2xldCBtPW51bGw7dGhpcy5fcGVuZGluZ1RpbWVSYW5nZSYmKG09dGhpcy5fcGVuZGluZ1RpbWVSYW5nZSx0aGlzLl9wZW5kaW5nVGltZVJhbmdlPW51bGwpLHRoaXMuX29uVGltZUZyYW1lQXBwbGllZC5maXJlKG0pLHRoaXMuX29uQmVmb3JlTW9kaWZ5U2VyaWVzKHRoaXMuZ2V0U3ltYm9sU3RyaW5nKCksdCk7Y29uc3QgXz10aGlzLl9zaG91bGREZWZpbmVOdW1iZXJPZkJhcnNGb3JNb2RpZnlTZXJpZXMoZSkmJnRoaXMuX3Zpc2libGVCYXJzQ291bnQoKXx8bnVsbDt0aGlzLm1vZGVsKCkucmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllcyh2LlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uU2VyaWVzUmVzdGFydCksdGhpcy5fc2F2ZUxlZnRFZGdlSWZSZXF1aXJlZCghIXIsbSksdGhpcy5fZGF0YT1udWxsLHRoaXMuX3Nlcmllc1NvdXJjZS5tb2RpZnlTZXJpZXModGhpcy5fZ2V0UmVzb2x2aW5nU3ltYm9sT2JqZWN0KCksKDAscC5nZXRTZXJ2ZXJJbnRlcnZhbCkodCksbSxkLF8pLHRoaXMuX3Nlcmllc1NvdXJjZS5pc1N0YXJ0ZWQoKXx8KHRoaXMuX3ByZWRpY3RCYXJzPTAsdGhpcy5fc2VyaWVzU291cmNlLnN0YXJ0KCkpLChyfHxhfHxsKSYmdGhpcy5kaXNhYmxlUHJpY2VSYW5nZVJlYWR5KCksdGhpcy51cGRhdGVBbGxWaWV3cygoMCxmZS5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKSx0aGlzLl9wZW5kaW5nU2Nyb2xsVG9MZWZ0RWRnZSYmYXdhaXQgdGhpcy5fcGVuZGluZ1Njcm9sbFRvTGVmdEVkZ2UucHJvbWlzZX1fcmVhbGlnbkxpbmVUb29scygpe3RoaXMubW9kZWwoKS5yZWFsaWduTGluZVRvb2xzKCl9YXN5bmMgX29uQmVmb3JlTW9kaWZ5U2VyaWVzKGUsdCl7Y29uc3Qgcz10aGlzLl9yZXBsYXlTdWJzY3JpYmVyLnZhbHVlKCk7cz8ubW9kaWZ5U2VyaWVzKGUsdCl9X2dldFJlc29sdmluZ1N5bWJvbE9iamVjdCgpe2xldCBlPXRoaXMuX2dldFN5bWJvbE9iamVjdCh0aGlzLl9zeW1ib2xGb3JSZXNvbHZlKCkpO2NvbnN0IHQ9dGhpcy5fcmVwbGF5U3Vic2NyaWJlci52YWx1ZSgpO3JldHVybiB0JiYoZT10LmdlbmVyYXRlUmVwbGF5U3ltYm9sKGUpKSxlfV9vblNlc3Npb25JZFByb3BlcnR5Q2hhbmdlZCgpe3RoaXMuX3Nlc3Npb25JZENoYW5nZWQuZmlyZSgpLHRoaXMuaXNEV00oKXx8KHRoaXMuX3NhdmVMZWZ0RWRnZUlmUmVxdWlyZWQoITEpLHRoaXMucmVzdGFydCghMCksdGhpcy5fdXBkYXRlTGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlKCkpLHRoaXMuX3N5bmNNb2RlbD1udWxsfV9zdWJzY3JpYmVSZXN0YXJ0VG9TZXNzaW9uSWRDaGFuZ2UoKXt0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zZXNzaW9uSWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZXNzaW9uSWRQcm9wZXJ0eUNoYW5nZWRCb3VuZCl9X3Vuc3Vic2NyaWJlUmVzdGFydFRvU2Vzc2lvbklkQ2hhbmdlKCl7dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2Vzc2lvbklkLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZXNzaW9uSWRQcm9wZXJ0eUNoYW5nZWRCb3VuZCl9X3VwZGF0ZUxhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZSgpe2lmKCF0aGlzLl9vcHRpb25zLmxhc3RQcmljZUFuaW1hdGlvbkVuYWJsZWR8fCgwLGcuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImRpc2FibGVfcHVsc2VfYW5pbWF0aW9uIikpcmV0dXJuO2NvbnN0IGU9dGhpcy5fbGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlLHQ9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkscz10aGlzLnN5bWJvbEluZm8oKTt0aGlzLl9sYXN0UHJpY2VBbmltYXRpb25BY3RpdmU9KDAsV2UuaXNMYXN0UHJpY2VBbmltYXRpb25BY3RpdmUpKHtzdHlsZTp0LnN0eWxlLnZhbHVlKCksdmlzaWJsZTp0LnZpc2libGUudmFsdWUoKSxpc1NuYXBzaG90OnRoaXMuX21vZGVsLmlzU25hcHNob3QoKSxoYXNTeW1ib2xJbmZvOiEhcyxpc1JlZ3VsYXJTZXNzaW9uOiFzfHwoMCxQLmlzUmVndWxhclNlc3Npb25JZCkodGhpcy5zZXNzaW9uSWRQcm94eVByb3BlcnR5KCkudmFsdWUoKSxzKSxpc0RXTTp0aGlzLmlzRFdNKCksY3VycmVudFNlc3Npb246dGhpcy5jdXJyZW50U2Vzc2lvbigpfSksdGhpcy5fbGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlJiZlIT09dGhpcy5fbGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlJiZ0aGlzLm1vZGVsKCkuaW52YWxpZGF0ZShfZS5JbnZhbGlkYXRpb25NYXNrLmN1cnNvcigpKX1fb25Qcm9wZXJ0aWVzQ2hhbmdlZChlKXtjb25zdCB0PXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7aWYoZT09PXQuc3ltYm9sfHxlPT09dC5pbnRlcnZhbHx8ZT09PXQudGltZWZyYW1lKXJldHVybjtjb25zdCBzPXRoaXMuX2lkLnZhbHVlKCk7dGhpcy5fdGFnc0NoYW5nZWQuZmlyZSgpLHRoaXMuY3JlYXRlUGFuZVZpZXcoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLGZlLnNvdXJjZUNoYW5nZUV2ZW50KShzKSksdGhpcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZSh0aGlzKSwoMCxfLmVtaXQpKCJzZXJpZXNfcHJvcGVydGllc19jaGFuZ2VkIixzKX1fcmVjYWxjU3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkoKXt0aGlzLl90ZXh0U291cmNlSXNBbHdheXNUaWNrZXJSZXN0cmljdGlvbkVuYWJsZWQ/dGhpcy5fc3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkuc2V0VmFsdWUoInRpY2tlciIpOnRoaXMuX3N5bWJvbFRleHRTb3VyY2VQcm94eVByb3BlcnR5LnNldFZhbHVlKHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuc3RhdHVzVmlld1N0eWxlLmNoaWxkcygpLnN5bWJvbFRleHRTb3VyY2UudmFsdWUoKSl9X2NsZWFyU3R5bGVQbG90KGUsdCl7aWYoMD09PWUuc2l6ZSgpKXJldHVybjtpZih2b2lkIDA9PT10JiZlIT09dGhpcy5uc0JhcnMoKSlyZXR1cm4gdm9pZCh0aGlzLl9wcmVjb21wdXRlZEJhclN0eWxlcz1uZXcgV2Vha01hcCkKO2NvbnN0IHM9dD8/KDAsbi5lbnN1cmVOb3ROdWxsKShlLmZpcnN0SW5kZXgoKSksaT0oMCxuLmVuc3VyZU5vdE51bGwpKGUubGFzdEluZGV4KCkpKzE7ZS5yYW5nZShzLGkpLmVhY2goKChlLHQpPT4odGhpcy5fcHJlY29tcHV0ZWRCYXJTdHlsZXMuZGVsZXRlKHQpLCExKSkpfV92aXNpYmxlQmFyc0NvdW50KCl7Y29uc3QgZT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7cmV0dXJuIGU/LmNvdW50KCl9X3N5bWJvbEZvclJlc29sdmUoKXtjb25zdCBlPXRoaXMuc3ltYm9sKCk7cmV0dXJuIHRoaXMuX3Nlcmllc1NvdXJjZS5zeW1ib2xTYW1lQXNSZXNvbHZlZChlKT90aGlzLl9zZXJpZXNTb3VyY2UucmVzb2x2ZWRTeW1ib2woKT8/ZTplfV9zaG91bGREZWZpbmVOdW1iZXJPZkJhcnNGb3JNb2RpZnlTZXJpZXMoZSl7cmV0dXJuITF9X29uU2hvd0NvdW50ZG93bkNoYW5nZWQoZSl7ZS52YWx1ZSgpP3RoaXMuX2NvdW50ZG93blVwZGF0ZVRpbWVyPXRoaXMuX21vZGVsLnNldEludGVydmFsKCgoKT0+e3RoaXMuX3ByaWNlQXhpc1ZpZXcudXBkYXRlQ291bnRkb3duPy4oKSx0aGlzLl9wcm9qZWN0aW9uUHJpY2VBeGlzVmlldy51cGRhdGVDb3VudGRvd24/LigpfSksNTAwKTpudWxsIT09dGhpcy5fY291bnRkb3duVXBkYXRlVGltZXImJih0aGlzLl9tb2RlbC5jbGVhckludGVydmFsKHRoaXMuX2NvdW50ZG93blVwZGF0ZVRpbWVyKSx0aGlzLl9jb3VudGRvd25VcGRhdGVUaW1lcj1udWxsKX1fb25Gb3JtYXR0ZXJQcm9wc0NoYW5nZWQoKXt0aGlzLl9yZWNyZWF0ZUZvcm1hdHRlcigpLHRoaXMuX21vZGVsLmZ1bGxVcGRhdGUoKX1fdXBkYXRlU3RhdHVzKGUpezE0IT09ZS5zZXJpZXNTdGF0dXMmJnRoaXMuX3Vuc3VwcG9ydGVkUmVzb2x1dGlvblN0YXRlLnNldFZhbHVlKG51bGwpLHRoaXMuX3N0YXR1cy5zZXRWYWx1ZShlKX1fd2FzQ29tcGxldGVkQmVmb3JlKCl7cmV0dXJuIHRoaXMuaXNDb21wbGV0ZWQoKSYmKHRoaXMuX3N0dWR5QmluZGluZ3M/Lndhc0NvbXBsZXRlZEJlZm9yZSgpPz8hMCl9X2NvbG9yT25QcmV2QmFyKCl7Y29uc3QgZT1uZXcgTWFwKFtbMSwiY2FuZGxlU3R5bGUiXSxbMCwiYmFyU3R5bGUiXSxbMTksInZvbENhbmRsZXNTdHlsZSJdLFs4LCJoYVN0eWxlIl0sWzEzLCJjb2x1bW5TdHlsZSJdXSk7ZS5zZXQoMTcsInZvbEZvb3RwcmludFN0eWxlIik7Y29uc3QgdD1lLmdldCh0aGlzLnN0eWxlKCkpO3JldHVybiEhdCYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKVt0XS5jaGlsZHMoKS5iYXJDb2xvcnNPblByZXZDbG9zZS52YWx1ZSgpfV9yZXN0YXJ0SWZTdHlsZU1hdGNoZXMoZSl7dGhpcy5zdHlsZSgpPT09ZSYmdGhpcy5yZXN0YXJ0KCl9fX0sODM3MjAzKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1Nlcmllc0RhdGFTb3VyY2U6KCk9PmkuU2VyaWVzRGF0YVNvdXJjZX0pO3ZhciBpPXMoOTM1MjQwKSxuPXMoMTExOTUzKSxyPXMoODU2NTYpLG89cyg5MzAyMzEpO2kuU2VyaWVzRGF0YVNvdXJjZS5zZXROb25TZXJpZXNEYXRhVW5wYWNrZXIoci51bnBhY2tOb25TZXJpZXNEYXRhQ29tcHJlc3NlZCksaS5TZXJpZXNEYXRhU291cmNlLnNldFN5bWJvbEVuY29kZXIobi5lbmNvZGVFeHRlbmRlZFN5bWJvbFN0cnVjdHVyYWwpLGkuU2VyaWVzRGF0YVNvdXJjZS5zZXRFeHRyYWN0U3ltYm9sRmVhdHVyZXNldHMoe3BheUF0dGVudGlvblRvVGlja2VyTm90U3ltYm9sOigwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiKSxjaGFydGluZ0xpYnJhcnlTaW5nbGVTeW1ib2xSZXF1ZXN0OigwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImNoYXJ0aW5nX2xpYnJhcnlfc2luZ2xlX3N5bWJvbF9yZXF1ZXN0IiksdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOigwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVzZV90aWNrZXJfb25fc3ltYm9sX2luZm9fdXBkYXRlIiksdXBwZXJjYXNlSW5zdHJ1bWVudE5hbWVzOigwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIil9KX0sNDM3NzQ5KGUsdCxzKXsidXNlIHN0cmljdCI7cy5yKHQpLHMuZCh0LHthcHBseURlZmF1bHRDb2xvcnNUb1Byb3BzU3RhdGU6KCk9PngsYmxhY2tsaXN0ZWRQcm9wZXJ0aWVzOigpPT5rLHByZXBhcmVTdHVkeVByb3BlcnRpZXM6KCk9PlIscHJlcGFyZVN0dWR5UHJvcGVydGllc0ZvckxvYWRDaGFydDooKT0+VCxwcmVwYXJlU3R1ZHlQcm9wc1N0YXRlRm9yTG9hZENoYXJ0OigpPT5DLHN0dWR5R2VuZXJhbFByb3BzU3RhdGU6KCk9Pkksc3R1ZHlQcm9wc0V4Y2x1ZGVEZWZhdWx0c0tleXM6KCk9PlZ9KTt2YXIgaT1zKDc0MDE2Miksbj1zKDYwMTg0MSkscj1zKDIyMTA2MSksbz1zKDc5MTQyNyksYT1zKDUwNTU2KSxsPXMoMjYwNjkpLHU9cyg1MDk1NDQpLGM9cyg5NTA1NTQpLGQ9cyg4NzUzMDEpLGg9cygzNjQ0NjYpLHA9cygxNjgyNTgpLG09cyg4NzExOTQpLF89cyg1NTQ5MDQpO2NvbnN0IGc9KDAsci5nZXRMb2dnZXIpKCJDaGFydC5TdHVkeSIpLHk9KDAsYS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXR2LWJsdWUtNTAwIiksZj0oMCxhLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS01MDAiKSx2PSgwLGEuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTUwMCIpLGI9KDAsYS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXR2LWJsdWUtNTAwIiksUz0oMCxhLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTUwMCIpLHc9KDAsYS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXR2LWJsdWUtNTAwIiksUD0oMCxhLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS01MDAiKTtmdW5jdGlvbiBUKGUsdCxzLGksbixyKXtyZXR1cm4gZnVuY3Rpb24oZSx0LHMsaSxuLHIsbyl7Y29uc3QgYT1DKGUsdCxzLGkscik7cmV0dXJuIEEodHx8ZSxuLGEsbywhMCl9KGUsdCxzLGksby5TdHVkeU1ldGFJbmZvLmdldFN0dWR5UHJvcGVydHlSb290TmFtZShlKSxuLHIpfWZ1bmN0aW9uIEMoZSx0LHMscixhKXsKZS52ZXJzaW9uJiZzLnZlcnNpb24mJmUudmVyc2lvbiE9PXMudmVyc2lvbiYmZy5sb2dXYXJuKCJTZXJpYWxpemVkIG1ldGFJbmZvIHZlcnNpb24gIitlLnZlcnNpb24rIiBpcyBub3QgZXF1YWwgdG8gdGhlIHNhdmVkIHN0YXRlIHZlcnNpb24gIitzLnZlcnNpb24pO2NvbnN0IGw9dHx8ZSxjPSgwLG4uY2xvbmUpKGwuZGVmYXVsdHMpPz97fSxkPW8uU3R1ZHlNZXRhSW5mby5nZXRTdHVkeVByb3BlcnR5Um9vdE5hbWUobCksaD1vLlN0dWR5TWV0YUluZm8uZ2V0U3R1ZHlQcm9wZXJ0eVJvb3ROYW1lKGUpO2xldCBwPUkoKTtyZXR1cm4oMCxpLmRlZmF1bHQpKHAsRShlKSksdCYmKDAsaS5kZWZhdWx0KShwLEUodCkpLCgwLGkuZGVmYXVsdCkocCwoMCxuLmNsb25lKShlLmRlZmF1bHRzKSksKDAsaS5kZWZhdWx0KShwLGMpLCgwLGkuZGVmYXVsdCkocCwoMCx1LnN0dWR5RmFjdG9yeURlZmF1bHRzKShkKSksKDAsaS5kZWZhdWx0KShwLCgwLHUuc3R1ZHlGYWN0b3J5RGVmYXVsdHMpKGgpKSwoMCxpLmRlZmF1bHQpKHAsTChsLHIsZCkpLCgwLGkuZGVmYXVsdCkocCxMKGUscixoKSksdCYmbnVsbCE9dC5fc2VydmVyTWV0YUluZm9WZXJzaW9uJiZudWxsIT1lLl9zZXJ2ZXJNZXRhSW5mb1ZlcnNpb24mJnQuaXNQaW5lKCkmJmUuaXNQaW5lKCkmJnQuX3NlcnZlck1ldGFJbmZvVmVyc2lvbj5lLl9zZXJ2ZXJNZXRhSW5mb1ZlcnNpb24/KDAsXy5tZXJnZVNlcmlhbGl6ZWRTdGF0ZVJlbWFwcGluZ0lucHV0c0J5TmFtZSkocCxzLGUsdCk6KDAsaS5kZWZhdWx0KShwLHMpLHgocCxsKSxwPXIudXBkYXRlU3R1ZHlTdGF0ZShwLGUsdCksdm9pZCAwIT09YSYmdCYmKHA9YShzLHAsZSx0KSksby5TdHVkeU1ldGFJbmZvLnZlcnNpb25PZihsKT49MSYmKDAsaS5kZWZhdWx0KShwLE0oYyxwKSkscH1mdW5jdGlvbiBFKGUpe2NvbnN0IHQ9e307aWYoZS5wbG90cylmb3IobGV0IHM9MDtzPGUucGxvdHMubGVuZ3RoO3MrKyl7Y29uc3QgaT1lLnBsb3RzW3NdLHI9aS5pZDtpZigoMCxwLmlzQ29sb3JlclBsb3QpKGkpKWNvbnRpbnVlO2NvbnN0IG89e2Rpc3BsYXk6cC5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LkFsbCxjb2xvcjp5LGxpbmVzdHlsZTpsLkxJTkVTVFlMRV9TT0xJRCxsaW5ld2lkdGg6MixwbG90dHlwZTpwLkxpbmVTdHVkeVBsb3RTdHlsZS5MaW5lLHRyYWNrUHJpY2U6ITF9OygwLHAuaXNCYXJDb2xvcmVyUGxvdCkoaSkmJihvLnRyYW5zcGFyZW5jeT0wKSxvLnBsb3R0eXBlPWkudHlwZSxvLnRpdGxlPXIsdFtyXT0oMCxuLmNsb25lKShvKX1yZXR1cm57c3R5bGVzOnR9fWZ1bmN0aW9uIEkoKXtjb25zdCBlPSgwLG4uY2xvbmUpKCgwLHUuc3R1ZHlEZWZhdWx0cykoInN0dWR5IikpO3JldHVybiBlLmludGVydmFsc1Zpc2liaWxpdGllcz0oMCxuLmNsb25lKShkLmludGVydmFsc1Zpc2liaWxpdGllc0RlZmF1bHRzKSxlfWZ1bmN0aW9uIEwoZSx0LHMpe2xldCBpPSgwLG4uY2xvbmUpKCgwLHUuc3R1ZHlEZWZhdWx0cykocyx0KSk7cmV0dXJuIk92ZXJsYXkiIT09ZS5zaG9ydElkJiYiQ29tcGFyZSIhPT1lLnNob3J0SWR8fChpLmN1cnJlbmN5SWQ9bnVsbCxpLnVuaXRJZD1udWxsKSxlLmlzVFZTY3JpcHQmJmUuVFZTY3JpcHRTb3VyY2VDb2RlIT09aS5UVlNjcmlwdFNvdXJjZUNvZGUmJihpPSgwLG4uY2xvbmUpKCgwLHUuc3R1ZHlGYWN0b3J5RGVmYXVsdHMpKHMpKSksaX1mdW5jdGlvbiBNKGUsdCl7Y29uc3Qgcz17fTtyZXR1cm4gYy5TdHVkeVZlcnNpb25pbmcubWVyZ2VJbnB1dHNPYmpQYXJ0KHMsZS5pbnB1dHM/P3t9KSxjLlN0dWR5VmVyc2lvbmluZy5tZXJnZUlucHV0c09ialBhcnQocyx0LmlucHV0cykse2lucHV0czpzfX1mdW5jdGlvbiBEKGUsdCxzLHIpe2lmKG8uU3R1ZHlNZXRhSW5mby52ZXJzaW9uT2YoZSk8MSl0aHJvdyBuZXcgRXJyb3IoIlRoaXMgZnVuY3Rpb24gY2Fubm90IHdvcmsgd2l0aCBtZXRhaW5mbyBvZiB0aGUgb2xkIGZvcm1hdCB2ZXJzaW9uLiBSZXF1aXJlZCBmb3JtYXQgdmVyc2lvbiA+PSAxIik7Y29uc3QgYT1vLlN0dWR5TWV0YUluZm8uZ2V0U3R1ZHlQcm9wZXJ0eVJvb3ROYW1lKGUpLGw9KDAsbi5jbG9uZSkoZS5kZWZhdWx0cyksYz0oMCx1LnN0dWR5RmFjdG9yeURlZmF1bHRzKShhKSxkPUkoKTtpZigoMCxpLmRlZmF1bHQpKGQsRShlKSksKDAsaS5kZWZhdWx0KShkLGwpLCgwLGkuZGVmYXVsdCkoZCxjKSwoMCxpLmRlZmF1bHQpKGQsTChlLHIsYSkpLCgwLGkuZGVmYXVsdCkoZCx0KSwoMCxpLmRlZmF1bHQpKGQsTShsLGQpKSx4KGQsZSksbnVsbCE9PXMpe2NvbnN0IHQ9cy5tb2RlbCgpLnN0dWRpZXNDb2xvclJvdGF0b3JGYWN0b3J5KCkuZ2V0Q29sb3JSb3RhdG9yKGUpO251bGwhPT10JiYoIk92ZXJsYXlAdHYtYmFzaWNzdHVkaWVzIj09PWUuaWQ/ZC5saW5lU3R5bGUuY29sb3I9dC5nZXRDb2xvcihkLmxpbmVTdHlsZS5jb2xvcixjLmxpbmVTdHlsZS5jb2xvcj09PWQubGluZVN0eWxlLmNvbG9yKTooMCxpLmRlZmF1bHQpKGQsZnVuY3Rpb24oZSx0KXtmb3IoY29uc3QgcyBvZiBPYmplY3Qua2V5cyhlLnN0eWxlcykpe2NvbnN0IGk9ZS5zdHlsZXNbc107aWYoKDAsbi5pc09iamVjdCkoaSkmJiJjb2xvciJpbiBpKXtjb25zdCBlPWkuY29sb3I7aS5jb2xvcj10LmdldENvbG9yKGUpfX1yZXR1cm4gZX0oZCx0KSkpfXJldHVybiByLnVwZGF0ZVN0dWR5SW5wdXRzSWZOZWVkZWQoZCxkLnZlcnNpb24/P2UudmVyc2lvbixlKSxkfWZ1bmN0aW9uIHgoZSx0KXtpZih0LnBsb3RzJiZlLnN0eWxlcylmb3IobGV0IHM9MDtzPHQucGxvdHMubGVuZ3RoO3MrKyl7Y29uc3QgaT10LnBsb3RzW3NdLG49aS5pZDtpZigoMCxwLmlzTGluZVBsb3QpKGkpKXtjb25zdCB0PWUuc3R5bGVzW25dO3QmJm51bGw9PT10LmNvbG9yJiYodC5jb2xvcj15KX1lbHNlIGlmKCgwLHAuaXNTaGFwZXNQbG90KShpKSl7Y29uc3QgdD1lLnN0eWxlc1tuXTt0JiYobnVsbD09PXQuY29sb3ImJih0LmNvbG9yPWYpLG51bGw9PT10LnRleHRDb2xvciYmKHQudGV4dENvbG9yPWIpKX1lbHNlIGlmKCgwLHAuaXNDaGFyc1Bsb3QpKGkpKXtjb25zdCB0PWUuc3R5bGVzW25dO3QmJihudWxsPT09dC5jb2xvciYmKHQuY29sb3I9dyksCm51bGw9PT10LnRleHRDb2xvciYmKHQudGV4dENvbG9yPVApKX1lbHNlIGlmKCgwLHAuaXNPaGxjUGxvdCkoaSkpe2NvbnN0IHQ9ZS5vaGxjUGxvdHM/LltpLnRhcmdldF07dCYmbnVsbD09PXQuY29sb3ImJih0LmNvbG9yPXYpfX1pZihlLmJhbmRzKWZvcihsZXQgdD0wO3Q8ZS5iYW5kcy5sZW5ndGg7Kyt0KXtjb25zdCBzPWUuYmFuZHNbdF07bnVsbD09PXMuY29sb3ImJihzLmNvbG9yPVMpfX1mdW5jdGlvbiBSKGUsdCxzLGkscil7cmV0dXJuIGZ1bmN0aW9uKGUsdCxzLGkscixhKXtjb25zdCBsPUQoZSx0LHMsaSksdT1vLlN0dWR5TWV0YUluZm8uZ2V0U291cmNlSW5wdXRJZHMoZSk7cmV0dXJuIHUuZm9yRWFjaCgoKGUsdCk9Pntjb25zdCBzPWwuaW5wdXRzW2VdO3Q8YS5sZW5ndGg/bC5pbnB1dHNbZV09YCR7YVt0XS5pZCgpfSQwYDooMCxuLmlzU3RyaW5nKShzKSYmcy5pbmNsdWRlcygiJCIpJiYobC5pbnB1dHNbZV09ImNsb3NlIil9KSksQShlLHIsbCl9KGUsdCxzLGksby5TdHVkeU1ldGFJbmZvLmdldFN0dWR5UHJvcGVydHlSb290TmFtZShlKSxyKX1jb25zdCBrPVsiaWQiLCJkZXNjcmlwdGlvbiIsImRlc2NyaXB0aW9uX2xvY2FsaXplZCIsInNob3J0RGVzY3JpcHRpb24iLCJfbWV0YWluZm9WZXJzaW9uIiwiaXNfcHJpY2Vfc3R1ZHkiLCJpc19oaWRkZW5fc3R1ZHkiLCJwcmljZVNjYWxlIiwiZnVsbElkIiwic2hvcnRJZCIsInNjcmlwdElkUGFydCIsInBhY2thZ2VJZCIsInByb2R1Y3RJZCIsImlzVFZTY3JpcHRTdHViIiwiZGVmYXVsdHMiLCJzeW1ib2xTb3VyY2UiLCJoaXN0b3J5Q2FsY3VsYXRpb25NYXlDaGFuZ2UiLCJmb3JtYXQiLCJsaW5rZWRUb1NlcmllcyIsImlzVFZMaWJyYXJ5IiwiZG9jcyIsImV4cG9ydHMiLCJleHBvcnRUeXBlcyIsImV4dHJhIiwidXNlc1ByaXZhdGVMaWIiLCJmaW5hbmNpYWxQZXJpb2QiLCJncm91cGluZ0tleSIsInBpbmUiLCJpc1JHQiIsImlzVFZTY3JpcHQiLCJUVlNjcmlwdE1ldGFJbmZvRXhwcnMiLCJ1c2VQbG90c1pPcmRlciIsImlzVFZTY3JpcHRTdHJhdGVneSIsIlRWU2NyaXB0U291cmNlQ29kZSIsImxvb2thaGVhZEZ1dHVyZURhdGEiLCJoYXNBbGVydEZ1bmN0aW9uIiwiZGVmYXVsdFN0cmF0ZWd5QWxlcnRNZXNzYWdlIiwidGFncyIsImNhbkJlQ2hpbGQiLCJjYW5Ob3RCZUNoaWxkIiwiX3NlcnZlck1ldGFJbmZvVmVyc2lvbiIsIndhcm5pbmdzIl07ZnVuY3Rpb24gVihlKXtjb25zdCB0PVsidmlzaWJsZSIsInByZWNpc2lvbiIsIm1pblRpY2siLCJpbnRlcnZhbHNWaXNpYmlsaXRpZXMiLCJpbnB1dHMuZmlyc3RfdmlzaWJsZV9iYXJfdGltZSIsImlucHV0cy5sYXN0X3Zpc2libGVfYmFyX3RpbWUiLCJpbnB1dHMuc3Vic2NyaWJlUmVhbHRpbWUiXTtmb3IobGV0IHM9MDtzPGUuaW5wdXRzLmxlbmd0aDsrK3Mpe2NvbnN0IGk9ZS5pbnB1dHNbc107aS5pc0hpZGRlbiYmKHQucHVzaChgaW5wdXRzLiR7c31gKSx0LnB1c2goYGlucHV0cy4ke2kuaWR9YCkpfXJldHVybiB0fWZ1bmN0aW9uIEEoZSx0LHMsaSxuKXtmb3IoY29uc3QgZSBvZiBrKWRlbGV0ZSBzW2VdO2NvbnN0IHI9bmV3IG0uU3R1ZHlEZWZhdWx0UHJvcGVydHkoe2RlZmF1bHROYW1lOnQsc3RhdGU6cyxleGNsdWRlZERlZmF1bHRzS2V5czpWKGUpLGV4Y2x1ZGVkU3RhdGVLZXlzOlsidmVyc2lvbiJdLHRoZW1lOml9KTtyLnJlbW92ZVByb3BlcnR5KCJpbnRlcnZhbHNWaXNpYmlsaXRpZXMiKSxyLmFkZENoaWxkKCJpbnRlcnZhbHNWaXNpYmlsaXRpZXMiLG5ldyBoLkludGVydmFsc1Zpc2liaWxpdGllc1Byb3BlcnR5KHMmJnMuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzKSksIlBpdm90UG9pbnRzU3RhbmRhcmRAdHYtYmFzaWNzdHVkaWVzIiE9PWUuaWQmJiJQaXZvdFBvaW50c0hpZ2hMb3dAdHYtYmFzaWNzdHVkaWVzIiE9PWUuaWR8fCFyLmhhc0NoaWxkKCJmb250Iil8fHIucmVtb3ZlUHJvcGVydHkoImZvbnQiKTtjb25zdCBhPW8uU3R1ZHlNZXRhSW5mby52ZXJzaW9uT2YoZSk7cmV0dXJuIHIuaGFzQ2hpbGQoInZlcnNpb24iKT9yLmNoaWxkcygpLnZlcnNpb24/LnNldFZhbHVlKGEpOnIuYWRkUHJvcGVydHkoInZlcnNpb24iLGEpLGUuVFZTY3JpcHRNZXRhSW5mb0V4cHJzJiYhbiYmci5hZGRQcm9wZXJ0eSgicGF0Y2hNZXRhSW5mb0RlZmF1bHRzIiwhMCkscn19LDg3MjM0MyhlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0PSJzaGlmdCIscyl7cmV0dXJue3N0dWR5Q29uc3RydWN0b3JBc3luY0dldHRlcjplLGNvbG9yUm90YXRpb25Nb2RlOnQsY29sb3JSb3RhdGlvbkNvbXBhcmF0b3I6c319cy5kKHQse2FkZFN0dWR5SW5mb1RvTWFwOigpPT5yLGNyZWF0ZVN0dWR5SW5mbzooKT0+aSxnZXRTdHVkeUNsYXNzTmFtZTooKT0+YSxnZXRTdHVkeUluZm9CeU5hbWU6KCk9Pm99KTtjb25zdCBuPW5ldyBNYXA7ZnVuY3Rpb24gcihlLHQpe24uc2V0KGUsdCl9ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbi5nZXQoZSl9ZnVuY3Rpb24gYShlKXtmb3IoY29uc3RbdCxzXW9mIG4uZW50cmllcygpKWlmKHMuc3R1ZHlDb25zdHJ1Y3Rvcj09PWUpcmV0dXJuIHQ7cmV0dXJuIG51bGx9fSw2MDUyNTcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7ZW1wdHlQaW5lSWQ6KCk9Pl8uZW1wdHlQaW5lSWQsaXNTdHVkeURlc2NyaXB0b3I6KCk9Pl8uaXNTdHVkeURlc2NyaXB0b3Isc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnk6KCk9PnZ9KTt2YXIgaT1zKDgzOTQyNiksbj1zKDE4NTI3MSkscj1zKDEzODYzOCksbz1zKDIyMTA2MSksYT1zKDc5MTQyNyksbD1zKDI3NDM5OSksdT1zKDg3NDMwNiksYz1zKDk1MDU1NCksZD1zKDM2MjI4OSksaD1zKDM2ODMxMikscD1zKDMwOTM2MCksbT1zKDc2ODc2MCksXz1zKDQ2MDM2MCk7Y29uc3QgZz0oMCxvLmdldExvZ2dlcikoIkNoYXJ0LlN0dWRpZXMuU3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkiLHtjb2xvcjoiIzYwNiJ9KTtjbGFzcyB5e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2lzUmVhZHk9ITEsdGhpcy5fc3R1ZHlWZXJzaW9uaW5nPW51bGwsdGhpcy5fcmF3U3R1ZGllc01ldGFJbmZvPVtdLHRoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mb0RlZmVycmVkUHJvbWlzZT1udWxsLAp0aGlzLl9qYXZhU3R1ZGllc01ldGFJbmZvPVtdLHRoaXMuX3BpbmVNZXRhSW5mb0NhY2hlPVtdLHRoaXMuX2NvbXBpbGVFcnJvcnM9bmV3IFdlYWtNYXAsdGhpcy5fc3R1ZGllc01pZ3JhdGlvbnM9W10sdGhpcy5fY2hhcnRBcGk9ZX1hc3luYyByZXF1ZXN0TWV0YUluZm8oKXtpZihudWxsPT09dGhpcy5fcmF3U3R1ZGllc01ldGFJbmZvRGVmZXJyZWRQcm9taXNlKXt0aGlzLl9yYXdTdHVkaWVzTWV0YUluZm9EZWZlcnJlZFByb21pc2U9KDAsbS5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCk7Y29uc3QgZT1hd2FpdCB0aGlzLl9jaGFydEFwaS5yZXF1ZXN0TWV0YWRhdGEoKSx0PWUucGFyYW1zWzFdLm1ldGFpbmZvLnNsaWNlKCk7e2NvbnN0IHM9ZS5wYXJhbXNbMV0ubWlncmF0aW9ucy5zbGljZSgpO3RoaXMuX3Byb2Nlc3NTaXRlTWV0YUluZm8odCxzKX10aGlzLl9zdHVkeVZlcnNpb25pbmc9bmV3IGMuU3R1ZHlWZXJzaW9uaW5nKHRoaXMuX2phdmFTdHVkaWVzTWV0YUluZm8sdGhpcy5fc3R1ZGllc01pZ3JhdGlvbnMpLHRoaXMuX3JlcXVlc3RGaW5pc2hlZCgpLHRoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mb0RlZmVycmVkUHJvbWlzZS5yZXNvbHZlKHRoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mbyl9cmV0dXJuIHRoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mb0RlZmVycmVkUHJvbWlzZS5wcm9taXNlfWFzeW5jIGZpbmRCeUlkKGUpe3RoaXMuX2lzUmVhZHl8fGF3YWl0IHRoaXMucmVxdWVzdE1ldGFJbmZvKCk7Y29uc3QgdD10aGlzLl9maW5kU3R1ZHlNZXRhSW5mbyhlKTtpZihudWxsIT09dCl7Y29uc3QgZT10aGlzLl9jb21waWxlRXJyb3JzLmdldCh0KTtyZXR1cm4gZT9Qcm9taXNlLnJlamVjdChlKTpQcm9taXNlLnJlc29sdmUodCl9cmV0dXJuInBpbmUiPT09ZS50eXBlP3RoaXMuX2NvbXBpbGVQaW5lKGUpOlByb21pc2UucmVqZWN0KGB1bmV4cGVjdGVkIHN0dWR5IGlkPSR7ZS5zdHVkeUlkfSB3aXRoIHR5cGU9JHtlLnR5cGV9YCl9ZmluZEJ5SWRTeW5jKGUpe3JldHVybiB0aGlzLl9maW5kU3R1ZHlNZXRhSW5mbyhlKX1pc1JlYWR5KCl7cmV0dXJuIHRoaXMuX2lzUmVhZHl9YXN5bmMgZmluZEFsbEphdmFTdHVkaWVzKCl7cmV0dXJuIHRoaXMuX2lzUmVhZHl8fGF3YWl0IHRoaXMucmVxdWVzdE1ldGFJbmZvKCksdGhpcy5famF2YVN0dWRpZXNNZXRhSW5mb31zdHVkeVZlcnNpb25pbmcoKXtyZXR1cm4oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N0dWR5VmVyc2lvbmluZyl9Z2V0SW50ZXJuYWxNZXRhSW5mb0FycmF5KCl7cmV0dXJuIHRoaXMuX2phdmFTdHVkaWVzTWV0YUluZm99YWRkUGluZU1ldGFJbmZvKGUsdCl7Y29uc3Qgcz1mKHRoaXMuX3BpbmVNZXRhSW5mb0NhY2hlLGUpO3JldHVybiB0JiYoIUFycmF5LmlzQXJyYXkodCl8fHQubGVuZ3RoPjApJiYodD1BcnJheS5pc0FycmF5KHQpP25ldyBwLlBpbmVDb21waWxlRmFpbEVycm9ySW1wbCh7d2FybmluZ3M6W10sZXJyb3JzOnR9LGUpOnQsdGhpcy5fY29tcGlsZUVycm9ycy5zZXQocyx0KSksc31hc3luYyBnZXRMYXRlc3RNZXRhSW5mb0ZvclBpbmVTdHVkeShlLHQpe2NvbnN0IHM9YXdhaXQoMCxoLnJlcXVlc3RVc2VyU2NyaXB0cykoKTtsZXQgaTtpZihzKXtjb25zdCBuPXMuZmluZCgodD0+dC5zY3JpcHRJZFBhcnQ9PT1lKSk7aWYobil7Y29uc3QgZT11LlZlcnNpb24ucGFyc2UodCkscz11LlZlcnNpb24ucGFyc2Uobi52ZXJzaW9uKTtlLmlzTGVzcyhzKSYmKGk9bi52ZXJzaW9uKX19aWYodm9pZCAwIT09aSl7Y29uc3QgdD17dHlwZToicGluZSIscGluZUlkOmUscGluZVZlcnNpb246aX07cmV0dXJuIHRoaXMuZmluZEJ5SWQodCl9cmV0dXJuIG51bGx9X3Byb2Nlc3NNaWdyYXRpb25zKGUpe3RoaXMuX3N0dWRpZXNNaWdyYXRpb25zPVtdO2ZvcihsZXQgdD0wO2UmJnQ8ZS5sZW5ndGg7dCsrKXRoaXMuX3N0dWRpZXNNaWdyYXRpb25zLnB1c2goZVt0XSl9X3Byb2Nlc3NTaXRlTWV0YUluZm8oZSx0KXtmb3IoY29uc3QgdCBvZiBlKWMuU3R1ZHlWZXJzaW9uaW5nLnZlcmlmeUlucHV0c01heFZhbHVlKHQpLChpPXQpLmRlc2NyaXB0aW9uX2xvY2FsaXplZD1uLnQoaS5kZXNjcmlwdGlvbix7Y29udGV4dDoic3R1ZHkifSxzKDg4NDY5MykpO3ZhciBpO3RoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mbz1lLHRoaXMuX3Byb2Nlc3NNaWdyYXRpb25zKHQpO2Zvcihjb25zdCBlIG9mIHRoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mbylmKHRoaXMuX2phdmFTdHVkaWVzTWV0YUluZm8sZSk7KDAsZC5vdmVycmlkZVN0dWR5RGVmYXVsdHMpKHRoaXMuX2phdmFTdHVkaWVzTWV0YUluZm8pfV9wcm9jZXNzTGlicmFyeU1ldGFJbmZvKGUpe31fcmVxdWVzdEZpbmlzaGVkKCl7dGhpcy5faXNSZWFkeT0hMH1fZmluZFN0dWR5TWV0YUluZm8oZSl7cmV0dXJuImphdmEiPT09ZS50eXBlPygoMCxyLmFzc2VydCkoMCE9PXRoaXMuX2phdmFTdHVkaWVzTWV0YUluZm8ubGVuZ3RoLCJKYXZhIHN0dWRpZXMgbWV0YWluZm8gc2hvdWxkIGJlIGRlZmluZSBoZXJlIiksdGhpcy5famF2YVN0dWRpZXNNZXRhSW5mby5maW5kKCh0PT50LmlkPT09ZS5zdHVkeUlkKSl8fG51bGwpOnRoaXMuX3BpbmVNZXRhSW5mb0NhY2hlLmZpbmQoKHQ9PnQuc2NyaXB0SWRQYXJ0PT09ZS5waW5lSWQmJih2b2lkIDA9PT1lLnBpbmVWZXJzaW9ufHwoMCxyLmVuc3VyZURlZmluZWQpKHQucGluZSkudmVyc2lvbj09PWUucGluZVZlcnNpb24pKSl8fG51bGx9X2NvbXBpbGVQaW5lKGUpe2cubG9nTm9ybWFsKGBDb21waWxpbmcgJHtlLnBpbmVJZH0gc2NyaXB0YCk7Y29uc3QgdD0oMCxoLnRyYW5zbGF0ZVNjcmlwdEFzeW5jMikoZS5waW5lSWQsZS5waW5lVmVyc2lvbnx8Imxhc3QiKS50aGVuKCgoe21ldGFJbmZvOnQsY29tcGlsZUVycm9yczpzfSk9PihnLmxvZ05vcm1hbChgQ29tcGlsaW5nICR7ZS5waW5lSWR9IGlzIHN1Y2Nlc3NmdWxgKSx0aGlzLmFkZFBpbmVNZXRhSW5mbygoMCxyLmVuc3VyZURlZmluZWQpKHQpLHMuZXJyb3JzKSkpKTtyZXR1cm4gdC5jYXRjaCgodD0+e3QgaW5zdGFuY2VvZiBwLlBpbmVDb21waWxlRmFpbEVycm9ySW1wbCYmdGhpcy5hZGRQaW5lTWV0YUluZm8odC5tZXRhSW5mbyx0KSwKZy5sb2dOb3JtYWwoYENvbXBpbGluZyAke2UucGluZUlkfSBpcyBmYWlsZWRgKX0pKSx0fX1mdW5jdGlvbiBmKGUsdCl7Y29uc3Qgcz1uZXcgYS5TdHVkeU1ldGFJbmZvKHQpLnN0YXRlKCk7KDAsbC5taWdyYXRlTWV0YUluZm9BbmRQcm9wU3RhdGUpKHMpO2NvbnN0IGk9bmV3IGEuU3R1ZHlNZXRhSW5mbyhzKTtsZXQgbj0hMDtjb25zdCByPWUuZmluZEluZGV4KChlPT5lLmlkPT09aS5pZCkpO2lmKC0xPT09cillLnB1c2goaSk7ZWxzZXtjb25zdCB0PWVbcl0scz12b2lkIDAhPT10LnBpbmU/dS5WZXJzaW9uLnBhcnNlKHQucGluZS52ZXJzaW9uKTpudWxsLG89dm9pZCAwIT09aS5waW5lP3UuVmVyc2lvbi5wYXJzZShpLnBpbmUudmVyc2lvbik6bnVsbDtudWxsPT09b3x8bnVsbD09PXN8fG8uaXNHcmVhdGVyT3JFcXVhbChzKT8oKDAsZC5yZW1vdmVTdHVkeURlZmF1bHRzKSh0KSxlW3JdPWkpOm49ITF9cmV0dXJuIG4mJigwLGQuY3JlYXRlU3R1ZHlEZWZhdWx0cykoaSksaX1jb25zdCB2PSgwLGkuZGVmYXVsdCkoKCgpPT5uZXcgeSh3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZSkpKX0sODIyNzI2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1RleHRXaWR0aENhY2hlOigpPT5yLGdldE1pblRleHRNZXRyaWNzOigpPT5ufSk7dmFyIGk9cyg1MTcyOTMpO2Z1bmN0aW9uIG4oZSl7cmV0dXJue3dpZHRoOmUud2lkdGgsYWN0dWFsQm91bmRpbmdCb3hBc2NlbnQ6ZS5hY3R1YWxCb3VuZGluZ0JveEFzY2VudCxhY3R1YWxCb3VuZGluZ0JveERlc2NlbnQ6ZS5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnQsZm9udEJvdW5kaW5nQm94QXNjZW50OmUuZm9udEJvdW5kaW5nQm94QXNjZW50LGZvbnRCb3VuZGluZ0JveERlc2NlbnQ6ZS5mb250Qm91bmRpbmdCb3hEZXNjZW50fX1jbGFzcyBye2NvbnN0cnVjdG9yKGU9MTUwKXt0aGlzLl9mb250U3R5bGU9IiIsdGhpcy5fY2FjaGU9bmV3IGkuQ2lyY3VsYXJDYWNoZUJ1ZmZlcihlLDEuNSl9cmVzZXQoKXt0aGlzLl9jYWNoZS5jbGVhcigpfW1lYXN1cmVUZXh0KGUsdCxzKXtsZXQgaT10O3JldHVybiBzPy5tb25vJiYoaT10LnJlcGxhY2UoL1xkL2csIjAiKSksdGhpcy5nZXRNZXRyaWNzKGUsaSkud2lkdGh9eU1pZENvcnJlY3Rpb24oZSx0KXtjb25zdCBzPXRoaXMuZ2V0TWV0cmljcyhlLHQpO3JldHVybiB2b2lkIDAhPT1zLmFjdHVhbEJvdW5kaW5nQm94QXNjZW50JiZ2b2lkIDAhPT1zLmFjdHVhbEJvdW5kaW5nQm94RGVzY2VudD8ocy5hY3R1YWxCb3VuZGluZ0JveEFzY2VudC1zLmFjdHVhbEJvdW5kaW5nQm94RGVzY2VudCkvMjowfWdldE1ldHJpY3MoZSx0KXtlLmZvbnQhPT10aGlzLl9mb250U3R5bGUmJih0aGlzLnJlc2V0KCksdGhpcy5fZm9udFN0eWxlPWUuZm9udCk7Y29uc3Qgcz10aGlzLl9jYWNoZS5nZXQodCk7aWYodm9pZCAwIT09cylyZXR1cm4gcztjb25zdCBpPWUudGV4dEJhc2VsaW5lO2UudGV4dEJhc2VsaW5lPSJtaWRkbGUiO2NvbnN0IHI9bihlLm1lYXN1cmVUZXh0KHQpKTtyZXR1cm4gZS50ZXh0QmFzZWxpbmU9aSwwPT09ci53aWR0aCYmdC5sZW5ndGh8fHRoaXMuX2NhY2hlLnNldCh0LHIpLHJ9fX0sNjM5MTEzKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse3NldFN1cHBvcnRQb3J0YWxQcm9ibGVtc0hvc3Q6KCk9Pm4sc3VwcG9ydFBvcnRhbFByb2JsZW1zSG9zdDooKT0+aX0pO2xldCBpPSIiO2Z1bmN0aW9uIG4oZSl7aT1lfX0sNzcwNzU1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse29wZW5QYXl3YWxsOigpPT5vfSk7dmFyIGk9cyg5MzAyMzEpLG49cyg5OTk2NDApLHI9cyg0Mzg1MzkpO3MoMzAwMjg2KTthc3luYyBmdW5jdGlvbiBvKGUsdD17fSl7aWYobi5wYXl3YWxsTW9iaWxlSW50ZXJjZXB0b3IuaXNIaWRkZW5GZWF0dXJlKGUuZmVhdHVyZSkpcmV0dXJuIHZvaWQgbi5wYXl3YWxsTW9iaWxlSW50ZXJjZXB0b3IuaW52b2tlKGUuZmVhdHVyZSk7aWYoKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyIpKXJldHVybigwLHIuc2hvd0dvVG9UcmFkaW5nVmlld1JlZmVycmFsRGlhbG9nKSh7ZmVhdHVyZTplLmZlYXR1cmV9KTtjb25zdHtwYXl3YWxsczpvfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDg0NjkzKSxzLmUoNDk2ODQpLHMuZSgyOTI5Nikscy5lKDYwMDYyKSxzLmUoMjAzNTQpLHMuZSg1MTg0KSxzLmUoMTEyMTgpLHMuZSg3MjY2Nikscy5lKDMyNjMyKSxzLmUoNTA2MjIpLHMuZSgzMzIyMSkscy5lKDU5MzUwKSxzLmUoMzMyMykscy5lKDM4MjYyKSxzLmUoODc0NzQpLHMuZSgzMjM4Nykscy5lKDc1NDg5KSxzLmUoNjg3NDEpLHMuZSg3MDU5MCkscy5lKDg2MDAxKV0pLnRoZW4ocy5iaW5kKHMsODE3ODE2KSk7by5vcGVuKGUsdCl9fSw2NTcyNDUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7c2V0TmV3QmxhY2tDb2xvcjooKT0+aX0pO2NvbnN0IGk9KDAscyg1NjkzOTgpLmlzRmVhdHVyZUVuYWJsZWQpKCJzZXRfbmV3X2JsYWNrX2NvbG9yIil9LDk1MTQ2OShlKXsidXNlIHN0cmljdCI7dmFyIHQ9e30scz17WENCVDoiQ0JPVCIsWE5ZTToiTllNRVgiLFhDTUU6IkNNRSIsWENFQzoiQ09NRVgifTt0LmNvbnZlcnRTeW1ib2xEYXRhVG9UVj1mdW5jdGlvbihlLHQsaSl7cmV0dXJuIGk9Mj09PWl8fCJmbG9vciI9PT1pfHwicGl0Ij09PWk/IlBJVCI6IkdCWCIsdCYmc1t0XT97c3RhdHVzOiJvayIsZGF0YTp7c3ltYm9sOmUsZXhjaGFuZ2U6c1t0XSsiXyIraX19OntzdGF0dXM6ImVycm9yIixkYXRhOiJFeGNoYW5nZSBgIit0KyJgIGlzIG5vdCBzdXBwb3J0ZWQifX0sZS5leHBvcnRzPXR9LDUyODM5NihlLHQscyl7InVzZSBzdHJpY3QiO3Mucih0KSxzLmQodCx7Z2V0VHJhbnNsYXRlZFN5bWJvbERlc2NyaXB0aW9uOigpPT5yfSk7dmFyIGk9cygxODUyNzEpO2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1gIyR7ZX0tc3ltYm9sLWRlc2NyaXB0aW9uYCxuPWkudCh0LHZvaWQgMCxzKDI1ODY2NykpO3JldHVybiBuPT09dD9udWxsOm59ZnVuY3Rpb24gcihlKXtpZih2b2lkIDAhPT1lLnByb19uYW1lKXtjb25zdCB0PW4oZS5wcm9fbmFtZSk7aWYobnVsbCE9PXQpcmV0dXJuIHQKO2lmKHZvaWQgMCE9PWUuc2hvcnRfbmFtZSl7Y29uc3QgdD1uKGUuc2hvcnRfbmFtZSk7aWYobnVsbCE9PXQpcmV0dXJuIHR9fXJldHVybiJlbiIhPT1lLmxhbmd1YWdlJiZ2b2lkIDAhPT1lLmxvY2FsX2Rlc2NyaXB0aW9uJiZlLmxhbmd1YWdlPT09d2luZG93Lmxhbmd1YWdlfHwiZW4iPT09ZS5sYW5ndWFnZSYmdm9pZCAwIT09ZS5sb2NhbF9kZXNjcmlwdGlvbiYmZS5sYW5ndWFnZT09PXdpbmRvdy5sYW5ndWFnZT9lLmxvY2FsX2Rlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb258fCIifX0sNzQ5ODE0KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQpe3R8fCh0PXt9KSwiZnVuY3Rpb24iPT10eXBlb2YgdCYmKHQ9e2NtcDp0fSk7dmFyIHM9dC5zcGFjZXx8IiI7Im51bWJlciI9PXR5cGVvZiBzJiYocz1BcnJheShzKzEpLmpvaW4oIiAiKSk7dmFyIGksbz0iYm9vbGVhbiI9PXR5cGVvZiB0LmN5Y2xlcyYmdC5jeWNsZXMsYT10LnJlcGxhY2VyfHxmdW5jdGlvbihlLHQpe3JldHVybiB0fSxsPXQuY21wJiYoaT10LmNtcCxmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCxzKXt2YXIgbj17a2V5OnQsdmFsdWU6ZVt0XX0scj17a2V5OnMsdmFsdWU6ZVtzXX07cmV0dXJuIGkobixyKX19KSx1PVtdO3JldHVybiBmdW5jdGlvbiBlKHQsaSxjLGQpe3ZhciBoPXM/IlxuIituZXcgQXJyYXkoZCsxKS5qb2luKHMpOiIiLHA9cz8iOiAiOiI6IjtpZihjJiZjLnRvSlNPTiYmImZ1bmN0aW9uIj09dHlwZW9mIGMudG9KU09OJiYoYz1jLnRvSlNPTigpKSx2b2lkIDAhPT0oYz1hLmNhbGwodCxpLGMpKSl7aWYoIm9iamVjdCIhPXR5cGVvZiBjfHxudWxsPT09YylyZXR1cm4gSlNPTi5zdHJpbmdpZnkoYyk7aWYobihjKSl7Zm9yKHZhciBtPVtdLF89MDtfPGMubGVuZ3RoO18rKyl7dmFyIGc9ZShjLF8sY1tfXSxkKzEpfHxKU09OLnN0cmluZ2lmeShudWxsKTttLnB1c2goaCtzK2cpfXJldHVybiJbIittLmpvaW4oIiwiKStoKyJdIn1pZigtMSE9PXUuaW5kZXhPZihjKSl7aWYobylyZXR1cm4gSlNPTi5zdHJpbmdpZnkoIl9fY3ljbGVfXyIpO3Rocm93IG5ldyBUeXBlRXJyb3IoIkNvbnZlcnRpbmcgY2lyY3VsYXIgc3RydWN0dXJlIHRvIEpTT04iKX11LnB1c2goYyk7dmFyIHk9cihjKS5zb3J0KGwmJmwoYykpO2ZvcihtPVtdLF89MDtfPHkubGVuZ3RoO18rKyl7dmFyIGY9ZShjLGk9eVtfXSxjW2ldLGQrMSk7aWYoZil7dmFyIHY9SlNPTi5zdHJpbmdpZnkoaSkrcCtmO20ucHVzaChoK3Mrdil9fXJldHVybiB1LnNwbGljZSh1LmluZGV4T2YoYyksMSksInsiK20uam9pbigiLCIpK2grIn0ifX0oeyIiOmV9LCIiLGUsMCl9cy5kKHQse3NvcnRlZFN0cmluZ2lmeTooKT0+aX0pO3ZhciBuPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiJbb2JqZWN0IEFycmF5XSI9PT17fS50b1N0cmluZy5jYWxsKGUpfSxyPU9iamVjdC5rZXlzfHxmdW5jdGlvbihlKXt2YXIgdD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5fHxmdW5jdGlvbigpe3JldHVybiEwfSxzPVtdO2Zvcih2YXIgaSBpbiBlKXQuY2FsbChlLGkpJiZzLnB1c2goaSk7cmV0dXJuIHN9fSwxMTM1NjcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7cHJlcGFyZUN1cnJlbmN5Rm9yRGlzcGxheTooKT0+cixwcmVwYXJlQ3VycmVuY3lWYWx1ZTooKT0+bn0pO3ZhciBpPXMoMTg1MjcxKTtmdW5jdGlvbiBuKGUpe2xldCB0PVtdO2NvbnN0IG49ZnVuY3Rpb24oZSl7c3dpdGNoKGUpe2Nhc2UiUENUIjpjYXNlIlBDVFBBUiI6cmV0dXJuIiUiO2Nhc2UiUENUR0RQIjpyZXR1cm4gaS50KG51bGwse2NvbnRleHQ6Il9tYXhfbGVuXzkifSxzKDU1ODQxMikpO2Nhc2UiREVHQyI6cmV0dXJuIuKEgyI7ZGVmYXVsdDpyZXR1cm4gZX19KGUuY3VycmVuY3lfY29kZXx8ZS52YWx1ZV91bml0X2lkfHwiIik7c3dpdGNoKGUubWVhc3VyZSl7Y2FzZSJwcmljZSI6Y2FzZSJ1bml0Ijp0PVtuLGUudW5pdF9pZF07YnJlYWs7ZGVmYXVsdDp0PVtuXX1yZXR1cm4gdC5maWx0ZXIoQm9vbGVhbikuam9pbigi4oCJL+KAiSIpfWZ1bmN0aW9uIHIoZSx0KXtyZXR1cm4iJSI9PT10JiZ2b2lkIDAhPT1lP3t2YWx1ZTpgJHtlfSVgLGN1cnJlbmN5OnZvaWQgMH06e3ZhbHVlOmUsY3VycmVuY3k6dHx8dm9pZCAwfX19LDQzMzUzNChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ0IDQ0IiB3aWR0aD0iNDQiIGhlaWdodD0iNDQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMjkuNDggMTUuMzJjLS4xNi0uMTQtLjQtLjA3LS40OC4xM2E2LjA1IDYuMDUgMCAwIDEtMi4zOCAzLjEzIDYuMTYgNi4xNiAwIDAgMS0uOC40MmMtLjA2LjAzLS4xNC0uMDMtLjEzLS4xYTE5LjQ1IDE5LjQ1IDAgMCAwIC4wOC0uOXYtLjFjLjM4LTUuOTEtMi40My05LjEzLTQuNTktMTAuNDFhNy40IDcuNCAwIDAgMC0uNzktLjRjLS4xLS4wNS0uMjEuMTMtLjIuMjRhNS43IDUuNyAwIDAgMS0uMDQuNzN2LjAxYy0uMjcgMi40OS0yLjIyIDQuMjktNC4yMSA2LjE0LTEuNjMgMS41LTMuMjkgMy4wNS00LjExIDUuMDJhMTAuNDggMTAuNDggMCAwIDAtLjgzIDQuMDZBMTAuOSAxMC45IDAgMCAwIDIwLjE3IDM0Yy45NS0uNTkgMS4zNC0xLjgyIDEuMzMtMy4wNCAwLS4zNS0uMDQtLjctLjExLTEuMDMuMjggMCAuNjguMTQgMS4wNy40MUEzLjM2IDMuMzYgMCAwIDEgMjMuODMgMzQgMTAuODkgMTAuODkgMCAwIDAgMzMgMjMuMjljMC0zLjE1LTEuMzYtNS45OC0zLjUyLTcuOTdabS00LjU2IDE3LjRjNC4xLTEuMjMgNy4wOC01IDcuMDgtOS40MyAwLTIuNS0uOTQtNC43OC0yLjUtNi41MmE2LjQzIDYuNDMgMCAwIDEtMy4yNyAzLjE0bS0xLjMgMTIuODFhNC4zIDQuMyAwIDAgMC0yLjItMy4zOWMtLjQtLjIzLS44OC0uNC0xLjM0LS40aC0xLjIybC4yNCAxLjJjLjEzLjYyLjEyIDEuMy0uMDMgMS44Ni0uMS40MS0uMjcuNzMtLjQ4Ljk0QTkuOSA5LjkgMCAwIDEgMTIgMjMuM2MwLTEuMy4yNy0yLjUzLjc1LTMuNjcuNDItMSAxLjEtMS45MSAxLjk1LTIuODEuNi0uNjQgMS4yMy0xLjIzIDEuOS0xLjg0bC44Ny0uODJjMS41Ny0xLjUgMy4yLTMuMjIgMy42MS01LjU0IDEuOSAxLjM0IDQuMjkgNC40NCAzLjYxIDEwLjE2LS4wOS43OC43IDEuNTIgMS41NSAxLjE0Ii8+PC9zdmc+J30sODczNzk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NCA0NCIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ0Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yOCAxNkgxNnYxaDEydi0xWk0yOCAyMEgxNnYxaDEydi0xWk0xNiAyNGgxMnYxSDE2di0xWiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJtMjIgMzAtMTAgNFYxMmExIDEgMCAwIDEgMS0xaDE4YTEgMSAwIDAgMSAxIDF2MjJsLTEwLTRabS05IDIuNTJWMTJoMTh2MjAuNTJsLTktMy42LTkgMy42WiIvPjwvc3ZnPid9LDgwOTQzNihlKXsidXNlIHN0cmljdCIKO2UuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImR1ciI6IjM1MG1zIiwiZHVyLWZhc3QiOiI2MG1zIiwiZWFzZS1pbi1saWtlIjoiY3ViaWMtYmV6aWVyKDAuMzMsIDAsIDAuMTEsIDEpIiwiZWFzZS1vdXQtbGlrZSI6ImN1YmljLWJlemllcigwLjg5LCAwLCAwLjY3LCAxKSIsInNpemUtZmVlZC1pdGVtLXdpZHRoIjoiNDgwcHgiLCJzaXplLWZlZWQtaGlkZW50IjoiMjBweCIsInNpemUtZmVlZC12aWRlbnQiOiIyMHB4Iiwic2l6ZS1iYXNlLWluZGVudCI6IjRweCIsInNpemUtbGF5b3V0LXNtYWxsLWhvcnpwYWRkaW5nIjoiMTJweCIsInNpemUtbGF5b3V0LWhvcnpwYWRkaW5nIjoiMjBweCIsInNpemUtZHJhd2luZ3MtdG9vbGJhci1pdGVtLWhlaWdodCI6IjM4cHgiLCJzaXplLWhlYWRlci1saW5raW5kZW50IjoiMTVweCIsInNpemUtaGVhZGVyLWhlaWdodCI6IjY0cHgiLCJzaXplLW5hdi1oZWFkZXItaGVpZ2h0IjoiNThweCIsInNpemUtc3RpY2t5LXN5bWJvbC1oZWFkZXItaGVpZ2h0IjoiNjRweCIsInNpemUtZGlhbG9nLWZpeGVkLWhlYWRlci1oZWlnaHQiOiI3MnB4Iiwic2l6ZS1zaXRlLXdpZGdldC1wYWRkaW5nIjoiMjBweCIsInNpemUtc2l0ZS13aWRnZXQtcGFkZGluZy10YWJsZXQiOiIxMnB4Iiwic2l6ZS1jb2xsYXBzZS10YWJzLWhlaWdodCI6IjU2cHgiLCJzaXplLW5vLXNjcm9sbC1jaG9pY2VyLWhlaWdodCI6IjU2cHgiLCJzaXplLW1haW4tY2hhcnQtYXJlYS1pbmRlbnQiOiI0cHgiLCJzaXplLW1haW4tY2hhcnQtYXJlYS1yYWRpdXMiOiIwIiwic2l6ZS1zZWFyY2hiYXItaGVpZ2h0IjoiODBweCIsInNpemUtc2VhcmNoYmFyLWhlaWdodC10YWJsZXQiOiI1NHB4Iiwic2l6ZS1zZWFyY2hiYXItYnRuLXdpZHRoLXRhYmxldCI6IjY2cHgiLCJzaXplLWNvbnRlbnQtdG9wLXZpbmRlbnQiOiI0OHB4Iiwic2l6ZS1sYXlvdXQtd2lkdGgiOiIxMDIwcHgiLCJzaXplLWxheW91dC13aWR0aC13aWRlIjoiMTUyMHB4Iiwic2l6ZS1jaGVja2JveC1zaWRlIjoiMThweCIsInNpemUtY2hlY2tib3gtY2xpY2stZXhwYW5kIjoiMTBweCIsInNpemUtY29udHJvbC1pbnB1dC1oZWlnaHQtLXhzbWFsbCI6IjE5cHgiLCJzaXplLWNvbnRyb2wtaW5wdXQtaGVpZ2h0LS1zbWFsbCI6IjI3cHgiLCJzaXplLWNvbnRyb2wtaW5wdXQtaGVpZ2h0IjoiMzRweCIsInNpemUtY29udHJvbC1pbnB1dC1oZWlnaHQtLWxhcmdlIjoiNDhweCIsInNpemUtY29udHJvbC1pbnB1dC1wYWRkaW5nLWhvcnoiOiIxMnB4Iiwic2l6ZS10YWJzLWhvcnotaW5kZW50IjoiMTZweCIsInNpemUtYXZhdGFyLWJvcmRlci1yYWRpdXMiOiIzcHgiLCJzaXplLWNoYXJ0LXZpZXctc3BhY2luZyI6IjI1cHgiLCJzaXplLWNoYXJ0LXZpZXctc3BhY2luZy10YWJsZXQiOiIyMHB4IiwicmFkaXVzLWVtYmVkLXdpZGdldC13cmFwcGVyIjoiM3B4IiwidHlwb2dyYXBoeS1wbGF0Zm9ybS1yZWd1bGFyLTE2cHgtbGluZS1oZWlnaHQiOiIyNHB4IiwidHlwb2dyYXBoeS1wbGF0Zm9ybS1yZWd1bGFyLTE4cHgtbGluZS1oZWlnaHQiOiIyOHB4IiwibWVkaWEtbm90ZWJvb2siOiJhbGwgYW5kIChtYXgtd2lkdGg6IDE1MzBweCkiLCJtZWRpYS10YWJsZXQiOiJhbGwgYW5kIChtYXgtd2lkdGg6IDEwMTlweCkiLCJtZWRpYS1waG9uZSI6ImFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIiwibWVkaWEtcGhvbmUtdmVydGljYWwiOiJhbGwgYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSIsIm1lZGlhLWV4dHJlbWUtdGhpbiI6ImFsbCBhbmQgKG1heC13aWR0aDogMzI5cHgpIiwibWVkaWEtc2hvdy1kcmF3ZXIiOiJhbGwgYW5kIChtYXgtd2lkdGg6IDU2N3B4KSIsIm1lZGlhLW1mLWxlZ2FjeS1waG9uZS12ZXJ0aWNhbCI6ImFsbCBhbmQgKG1pbi13aWR0aDogMzMwcHgpIiwibWVkaWEtbWYtbGVnYWN5LXBob25lIjoiYWxsIGFuZCAobWluLXdpZHRoOiA0ODBweCkiLCJtZWRpYS1tZi1sZWdhY3ktbm90ZWJvb2siOiJhbGwgYW5kIChtaW4td2lkdGg6IDEwMjBweCkiLCJtZWRpYS1tZi1sZWdhY3ktZGVza3RvcC1tZWRpdW0iOiJhbGwgYW5kIChtaW4td2lkdGg6IDE0ODBweCkiLCJtZWRpYS1tZi1sZWdhY3ktZGVza3RvcCI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTUzMXB4KSIsIm1lZGlhLW1mLXBob25lLXZlcnRpY2FsIjoiYWxsIGFuZCAobWluLXdpZHRoOiAzMjBweCkiLCJtZWRpYS1tZi1waG9uZS1sYW5kc2NhcGUiOiJhbGwgYW5kIChtaW4td2lkdGg6IDU2OHB4KSIsIm1lZGlhLW1mLXRhYmxldC12ZXJ0aWNhbCI6ImFsbCBhbmQgKG1pbi13aWR0aDogNzY4cHgpIiwibWVkaWEtbWYtdGFibGV0LWxhbmRzY2FwZSI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSIsIm1lZGlhLW1mLWxhcHRvcCI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSIsIm1lZGlhLW1mLWRlc2t0b3AtbWVkaXVtIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIiwibWVkaWEtbWYtZGVza3RvcC1sYXJnZSI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSIsIm1lZGlhLW1mLWRlc2t0b3AtZXh0cmEtbGFyZ2UiOiJhbGwgYW5kIChtaW4td2lkdGg6IDI1NjBweCkiLCJjb250YWluZXItdGFibGV0IjoiKG1heC13aWR0aDogMTAxOXB4KSIsImNvbnRhaW5lci1waG9uZSI6IihtYXgtd2lkdGg6IDc2N3B4KSIsImNvbnRhaW5lci1waG9uZS12ZXJ0aWNhbCI6IihtYXgtd2lkdGg6IDQ3OXB4KSIsImNvbnRhaW5lci1tZi1waG9uZS12ZXJ0aWNhbCI6IihtaW4td2lkdGg6IDMwMHB4KSIsImNvbnRhaW5lci1tZi1waG9uZS1sYW5kc2NhcGUiOiIobWluLXdpZHRoOiA1NDhweCkiLCJjb250YWluZXItbWYtdGFibGV0LXZlcnRpY2FsIjoiKG1pbi13aWR0aDogNzAycHgpIiwiY29udGFpbmVyLW1mLXRhYmxldC1sYW5kc2NhcGUiOiIobWluLXdpZHRoOiA5NThweCkiLCJjb250YWluZXItbWYtbGFwdG9wIjoiKG1pbi13aWR0aDogMTIxNHB4KSIsImNvbnRhaW5lci1tZi1kZXNrdG9wLW1lZGl1bSI6IihtaW4td2lkdGg6IDEzNzRweCkiLCJjb250YWluZXItbWYtZGVza3RvcC1sYXJnZSI6IihtaW4td2lkdGg6IDE4NTRweCkiLCJjb250YWluZXItbWYtZGVza3RvcC1leHRyYS1sYXJnZSI6IihtaW4td2lkdGg6IDI0OTRweCkiLCJtZWRpYS1sYXB0b3AiOiJhbGwgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE0MzlweCkiLCJtZWRpYS1sYXB0b3AtYW5kLWRlc2t0b3AtbWVkaXVtIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIiwibWVkaWEtbGFuZHNjYXBlIjoiYWxsIGFuZCAobWluLWRldmljZS13aWR0aDogMzc1cHgpIGFuZCAobWF4LWRldmljZS1oZWlnaHQ6IDgxMnB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIiwibWVkaWEtcGhvbmUtbGFuZHNjYXBlIjoiYWxsIGFuZCAobWF4LWhlaWdodDogNDQwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkiLCJtZWRpYS13aWRnZXRiYXItYnJlYWtwb2ludCI6ImFsbCBhbmQgKG1heC13aWR0aDogMTA2NHB4KSIsInotaW5kZXgtY29udGVudC1wYWdlIjoxLCJ6LWluZGV4LWNoYXJ0LWxlZ2VuZCI6Niwiei1pbmRleC1jaGFydC1yaWdodC1jb3JuZXItY29udHJvbHMiOjcsInotaW5kZXgtbG9hZGluZy1zY3JlZW4iOjgsInotaW5kZXgtZHJvcGRvd24iOjk5LCJ6LWluZGV4LXRvb2xiYXItcG9wdXAtbWVudSI6MTAwLCJ6LWluZGV4LXRvb2x0aXAiOjEwMDAsInotaW5kZXgtdXNlci1saW5rLXBvcHVwIjo5MDAsInotaW5kZXgtc3RpY2t5LXNlYXJjaC1iYXIiOjEwMSwiei1pbmRleC1yZXNpemFibGUtZHJhd2VyIjo4MDAsInotaW5kZXgtZnVsbHNjcmVlbiI6MTAyLCJkaXNhYmxlZC1zdGF0ZS1vcGFjaXR5IjowLjUsInNpemUtZ2FwLW1pbmltdW0iOiIyMHB4Iiwic2l6ZS1nYXAtbWVkaXVtIjoiNDBweCIsInNpemUtZ2FwLW1heGltdW0iOiIxMDBweCJ9JykKfX0sZT0+e2UuTygwLFs3NzAzOF0sKCgpPT57Wzg0NjkzLDg4OTk3LDMwNjk5LDQ2MjE3LDY2OTMzLDcxMzE5XS5tYXAoZS5FKX0pLDUpO2UuTygwLFs1ODY2Nyw2MjM1MSw5NTExNCwzOTA1LDU0NjgxLDMxODM3LDUxNTA4LDQ5NTE4LDMyNjMyLDg0MDgsOTk1MjcsMTE0MDksMzAyMDAsNTI4NDIsODg5MDYsMTM4MDksODU1MTAsMzM3MzUsMTMxNDgsNDkyNjUsOTk4MjcsNTYyNTgsNTM2MjcsMzQ2NzgsNDQ5MTEsNjU4NjIsNTEwMzEsMzU1Miw5NDgyNSwxMjE4MSw2OTM0LDk1MjQ0LDU1OTY5LDkzNDI2LDYzMTYwLDk3NDcyLDU5NDY1XSwoKCk9PntyZXR1cm4gdD00NDM3NzYsZShlLnM9dCk7dmFyIHR9KSk7ZS5PKCl9XSk7"}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-sheriff.tradingview-widget.com/sheriff/api/v1/rules/search?origin=https%3A%2F%2Foxlofttrd.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/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.251Z","timestamp":1785141585251,"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%2Foxlofttrd.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 08:39:45 GMT\r\ncache-control: public, max-age=3600, s-maxage=3600\r\nserver: tv\r\nvia: 443, 1.1 6b6b5afeddd21a24bae939db109a4aa0.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: Fyc4D4KlYGIZrQSjLAMqCpCXSMiFfxgu-_Z9D8_0So-b6Kt75WEfEA==\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-07-27T15:05:58.256156Z","times_seen":17565140,"resource_available":true,"data":""}},"time_used":454,"timings":{"blocked":-1,"dns":32,"connect":32,"send":0,"wait":389,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/apple.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.568Z","timestamp":1785141585568,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Tue, 17 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"C4:FE:64:00:30:2A:CD:16:30:95:7E:E1:70:D1:31:3A:D6:33:3A:CC","sha256":"87:D2:67:7D:3E:02:F0:3B:58:BD:38:17:DA:FE:73:C0:CA:25:F9:58:CC:11:14:E0:3A:6E:C3:58:84:9E:BF:52"}}},"request":{"raw":"GET /apple.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\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 08:39:45 GMT\r\ncontent-type: image/svg+xml\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1827952\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 30\r\ncache-control: max-age=2592000, s-maxage=3600\r\ncontent-encoding: zstd\r\netag: \"725d4f188fecc7d857c5a8e668ec4dac\"\r\nlast-modified: Wed, 08 Sep 2021 08:59:47 GMT\r\ncdn-cachedat: 08/09/2025 14:29:45\r\nx-amz-id-2: nVNebCrVNv6WFHNMhn9g0XLOX7wB6Igj0Kr4gL/F8B2K819YqZQikr7hCN0QOYhAy0lXWUNwwQ4=\r\nx-amz-request-id: BDCVJSNZDZSPKV1C\r\nx-amz-meta-hash: 725d4f188fecc7d857c5a8e668ec4dac\r\ncdn-proxyver: 1.33\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e35792ae1506c8990d0ac1aff913aaed\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":1112,"size_decoded":1558,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (1112), with no line terminators","md5":"725d4f188fecc7d857c5a8e668ec4dac","sha1":"1b0fa7fa9f490f81c5b27a1103ddf27a64a80380","sha256":"92c90a9fad411e1735a51e42c34537725149bf0962aa30d593fe5f311be8d1bc","sha512":"c7a7e2c18bf5cd8e2f85220261d6712ddd1682aa6ac1439b66b924431c79e7fa2a1a89adb01fc03defced15f724a8ed5cf5936befe1dc3cab62dd9d15652261a","ssdeep":"","tlshash":"6f2133e7db6557dcf449c2edbf0a4875100e7096a25752c1949e2f1cf02e6d3fa04844","first_seen":"2023-10-02T02:23:08Z","last_seen":"2026-07-27T14:53:25.947739Z","times_seen":1071,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXIpIiBkPSJNMCAwaDE4djE4SDB6Ii8+PHBhdGggZD0iTTEzIDEwLjU5N2E0LjgzIDQuODMgMCAwMS0uNjc4IDEuMjg3Yy0uMjY5LjM2My0uNDg5LjYxNC0uNjU4Ljc1My0uMjYyLjIzLS41NDQuMzQ3LS44NDUuMzUzLS4yMTcgMC0uNDc4LS4wNTktLjc4Mi0uMTc3YTIuMzQgMi4zNCAwIDAwLS44NC0uMTc2Yy0uMjY4IDAtLjU1Ni4wNTgtLjg2NC4xNzYtLjMwOS4xMTgtLjU1OC4xOC0uNzQ4LjE4Ni0uMjg4LjAxMi0uNTc3LS4xMDgtLjg2NC0uMzYyLS4xODQtLjE1MS0uNDEzLS40MTItLjY4OC0uNzhhNS4yODkgNS4yODkgMCAwMS0uNzI4LTEuMzdBNC43NzcgNC43NzcgMCAwMTUgOC44NTdjMC0uNjAzLjEzOC0xLjEyNC40MTMtMS41NmEyLjQyNCAyLjQyNCAwIDAxMi4wMzQtMS4xNDJjLjIzIDAgLjUzMS4wNjguOTA1LjIuMzczLjEzMy42MTIuMi43MTcuMi4wNzkgMCAuMzQ1LS4wNzkuNzk2LS4yMzYuNDI2LS4xNDUuNzg3LS4yMDUgMS4wODItLjE4Mi43OTkuMDYyIDEuMzk5LjM2IDEuNzk4Ljg5OC0uNzE0LjQxLTEuMDY4Ljk4NS0xLjA2MSAxLjcyMi4wMDcuNTc0LjIyNiAxLjA1My42NTggMS40MzIuMTk2LjE3Ni40MTUuMzEyLjY1OC40MDl6TTEwLjk5IDRjLjAwNi4wNi4wMS4xMi4wMS4xOCAwIC40NS0uMTc0Ljg3LS41MiAxLjI2LS40MTcuNDYyLS45MjIuNzMtMS40Ny42ODdhMS4zMjUgMS4zMjUgMCAwMS0uMDEtLjE3YzAtLjQzMy4xOTgtLjg5NS41NS0xLjI3My4xNzYtLjE5Mi40LS4zNS42NzEtLjQ3OEEyLjA5IDIuMDkgMCAwMTEwLjk5IDR6IiBmaWxsPSIjZmZmIi8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyIiB4MT0iMy4zNDkiIHkxPSIzLjEyMiIgeDI9IjIxLjkwNCIgeTI9IjI0LjQzNCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiMxQTFFMjEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwNjA2MEEiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4="}},"time_used":5,"timings":{"blocked":0,"dns":3,"connect":1,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/themes/ashley/assets/css/font-awesome.css?ver=7.0.2","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.881Z","timestamp":1785141582881,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/themes/ashley/assets/css/font-awesome.css?ver=7.0.2 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://oxlofttrd.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:55:08 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 12860\r\nKeep-Alive: timeout=5, max=100\r\nConnection: Keep-Alive\r\nContent-Type: text/css\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":59306,"size_decoded":13213,"mime_type":"text/css","magic":"ASCII text, with very long lines (59119)","md5":"e5f6fc93830a176ab5f31ef0b56a8520","sha1":"a31a52589520977c3d2cb3a4641560caf032975c","sha256":"7b250cc98d4ba97e849149c12171530e966c56564ccea547c334430ccc7460e0","sha512":"3c077e9955eea3c3cbacf10db45af68e9c47655ae08fe4ce4451f59dd2eee50b5b83c3c389afbc5b1ed987a77bda26d0b09be63e5eb1fd956d1c05525f570ac9","ssdeep":"768:PEh31IPiyXNq4YxBowbgJlkwF//zMQyYJYX9Bf7VSz1:PE0PxXE4YXJgndFTfy9lQZ","tlshash":"0a43fbb8e54c01cab731c44bef81b2bc61b6f73de5914d95f00e691c2ad26a811c5fba","first_seen":"2023-09-19T12:10:19Z","last_seen":"2026-07-27T12:12:28.909834Z","times_seen":134,"resource_available":false,"data":"LyohCiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMTUuNCBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbQogKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKQogKi8KLmZhLC5mYWIsLmZhZCwuZmFsLC5mYXIsLmZhc3stbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO3RleHQtcmVuZGVyaW5nOmF1dG87bGluZS1oZWlnaHQ6MX0uZmEtbGd7Zm9udC1zaXplOjEuMzMzMzNlbTtsaW5lLWhlaWdodDouNzVlbTt2ZXJ0aWNhbC1hbGlnbjotLjA2NjdlbX0uZmEteHN7Zm9udC1zaXplOi43NWVtfS5mYS1zbXtmb250LXNpemU6Ljg3NWVtfS5mYS0xeHtmb250LXNpemU6MWVtfS5mYS0yeHtmb250LXNpemU6MmVtfS5mYS0zeHtmb250LXNpemU6M2VtfS5mYS00eHtmb250LXNpemU6NGVtfS5mYS01eHtmb250LXNpemU6NWVtfS5mYS02eHtmb250LXNpemU6NmVtfS5mYS03eHtmb250LXNpemU6N2VtfS5mYS04eHtmb250LXNpemU6OGVtfS5mYS05eHtmb250LXNpemU6OWVtfS5mYS0xMHh7Zm9udC1zaXplOjEwZW19LmZhLWZ3e3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEuMjVlbX0uZmEtdWx7bGlzdC1zdHlsZS10eXBlOm5vbmU7bWFyZ2luLWxlZnQ6Mi41ZW07cGFkZGluZy1sZWZ0OjB9LmZhLXVsPmxpe3Bvc2l0aW9uOnJlbGF0aXZlfS5mYS1saXtsZWZ0Oi0yZW07cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MmVtO2xpbmUtaGVpZ2h0OmluaGVyaXR9LmZhLWJvcmRlcntib3JkZXI6LjA4ZW0gc29saWQgI2VlZTtib3JkZXItcmFkaXVzOi4xZW07cGFkZGluZzouMmVtIC4yNWVtIC4xNWVtfS5mYS1wdWxsLWxlZnR7ZmxvYXQ6bGVmdH0uZmEtcHVsbC1yaWdodHtmbG9hdDpyaWdodH0uZmEuZmEtcHVsbC1sZWZ0LC5mYWIuZmEtcHVsbC1sZWZ0LC5mYWwuZmEtcHVsbC1sZWZ0LC5mYXIuZmEtcHVsbC1sZWZ0LC5mYXMuZmEtcHVsbC1sZWZ0e21hcmdpbi1yaWdodDouM2VtfS5mYS5mYS1wdWxsLXJpZ2h0LC5mYWIuZmEtcHVsbC1yaWdodCwuZmFsLmZhLXB1bGwtcmlnaHQsLmZhci5mYS1wdWxsLXJpZ2h0LC5mYXMuZmEtcHVsbC1yaWdodHttYXJnaW4tbGVmdDouM2VtfS5mYS1zcGluey13ZWJraXQtYW5pbWF0aW9uOmZhLXNwaW4gMnMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpmYS1zcGluIDJzIGxpbmVhciBpbmZpbml0ZX0uZmEtcHVsc2V7LXdlYmtpdC1hbmltYXRpb246ZmEtc3BpbiAxcyBzdGVwcyg4KSBpbmZpbml0ZTthbmltYXRpb246ZmEtc3BpbiAxcyBzdGVwcyg4KSBpbmZpbml0ZX1ALXdlYmtpdC1rZXlmcmFtZXMgZmEtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMXR1cm4pO3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfX1Aa2V5ZnJhbWVzIGZhLXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKTt0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19LmZhLXJvdGF0ZS05MHstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKSI7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKX0uZmEtcm90YXRlLTE4MHstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yKSI7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5mYS1yb3RhdGUtMjcwey1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTMpIjstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9LmZhLWZsaXAtaG9yaXpvbnRhbHstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0wLCBtaXJyb3I9MSkiOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgtMSk7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LmZhLWZsaXAtdmVydGljYWx7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKC0xKTt0cmFuc2Zvcm06c2NhbGVZKC0xKX0uZmEtZmxpcC1ib3RoLC5mYS1mbGlwLWhvcml6b250YWwuZmEtZmxpcC12ZXJ0aWNhbCwuZmEtZmxpcC12ZXJ0aWNhbHstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yLCBtaXJyb3I9MSkifS5mYS1mbGlwLWJvdGgsLmZhLWZsaXAtaG9yaXpvbnRhbC5mYS1mbGlwLXZlcnRpY2Fsey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC0xKTt0cmFuc2Zvcm06c2NhbGUoLTEpfTpyb290IC5mYS1mbGlwLWJvdGgsOnJvb3QgLmZhLWZsaXAtaG9yaXpvbnRhbCw6cm9vdCAuZmEtZmxpcC12ZXJ0aWNhbCw6cm9vdCAuZmEtcm90YXRlLTkwLDpyb290IC5mYS1yb3RhdGUtMTgwLDpyb290IC5mYS1yb3RhdGUtMjcwey13ZWJraXQtZmlsdGVyOm5vbmU7ZmlsdGVyOm5vbmV9LmZhLXN0YWNre2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoyZW07bGluZS1oZWlnaHQ6MmVtO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoyLjVlbX0uZmEtc3RhY2stMXgsLmZhLXN0YWNrLTJ4e2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlfS5mYS1zdGFjay0xeHtsaW5lLWhlaWdodDppbmhlcml0fS5mYS1zdGFjay0yeHtmb250LXNpemU6MmVtfS5mYS1pbnZlcnNle2NvbG9yOiNmZmZ9LmZhLTUwMHB4OmJlZm9yZXtjb250ZW50OiJcZjI2ZSJ9LmZhLWFjY2Vzc2libGUtaWNvbjpiZWZvcmV7Y29udGVudDoiXGYzNjgifS5mYS1hY2N1c29mdDpiZWZvcmV7Y29udGVudDoiXGYzNjkifS5mYS1hY3F1aXNpdGlvbnMtaW5jb3Jwb3JhdGVkOmJlZm9yZXtjb250ZW50OiJcZjZhZiJ9LmZhLWFkOmJlZm9yZXtjb250ZW50OiJcZjY0MSJ9LmZhLWFkZHJlc3MtYm9vazpiZWZvcmV7Y29udGVudDoiXGYyYjkifS5mYS1hZGRyZXNzLWNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmJiIn0uZmEtYWRqdXN0OmJlZm9yZXtjb250ZW50OiJcZjA0MiJ9LmZhLWFkbjpiZWZvcmV7Y29udGVudDoiXGYxNzAifS5mYS1hZHZlcnNhbDpiZWZvcmV7Y29udGVudDoiXGYzNmEifS5mYS1hZmZpbGlhdGV0aGVtZTpiZWZvcmV7Y29udGVudDoiXGYzNmIifS5mYS1haXItZnJlc2hlbmVyOmJlZm9yZXtjb250ZW50OiJcZjVkMCJ9LmZhLWFpcmJuYjpiZWZvcmV7Y29udGVudDoiXGY4MzQifS5mYS1hbGdvbGlhOmJlZm9yZXtjb250ZW50OiJcZjM2YyJ9LmZhLWFsaWduLWNlbnRlcjpiZWZvcmV7Y29udGVudDoiXGYwMzcifS5mYS1hbGlnbi1qdXN0aWZ5OmJlZm9yZXtjb250ZW50OiJcZjAzOSJ9LmZhLWFsaWduLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDM2In0uZmEtYWxpZ24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDM4In0uZmEtYWxpcGF5OmJlZm9yZXtjb250ZW50OiJcZjY0MiJ9LmZhLWFsbGVyZ2llczpiZWZvcmV7Y29udGVudDoiXGY0NjEifS5mYS1hbWF6b246YmVmb3Jle2NvbnRlbnQ6IlxmMjcwIn0uZmEtYW1hem9uLXBheTpiZWZvcmV7Y29udGVudDoiXGY0MmMifS5mYS1hbWJ1bGFuY2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGY5In0uZmEtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMmEzIn0uZmEtYW1pbGlhOmJlZm9yZXtjb250ZW50OiJcZjM2ZCJ9LmZhLWFuY2hvcjpiZWZvcmV7Y29udGVudDoiXGYxM2QifS5mYS1hbmRyb2lkOmJlZm9yZXtjb250ZW50OiJcZjE3YiJ9LmZhLWFuZ2VsbGlzdDpiZWZvcmV7Y29udGVudDoiXGYyMDkifS5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxMDMifS5mYS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxMDAifS5mYS1hbmdsZS1kb3VibGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTAxIn0uZmEtYW5nbGUtZG91YmxlLXVwOmJlZm9yZXtjb250ZW50OiJcZjEwMiJ9LmZhLWFuZ2xlLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTA3In0uZmEtYW5nbGUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxMDQifS5mYS1hbmdsZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxMDUifS5mYS1hbmdsZS11cDpiZWZvcmV7Y29udGVudDoiXGYxMDYifS5mYS1hbmdyeTpiZWZvcmV7Y29udGVudDoiXGY1NTYifS5mYS1hbmdyeWNyZWF0aXZlOmJlZm9yZXtjb250ZW50OiJcZjM2ZSJ9LmZhLWFuZ3VsYXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDIwIn0uZmEtYW5raDpiZWZvcmV7Y29udGVudDoiXGY2NDQifS5mYS1hcHAtc3RvcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMzZmIn0uZmEtYXBwLXN0b3JlLWlvczpiZWZvcmV7Y29udGVudDoiXGYzNzAifS5mYS1hcHBlcjpiZWZvcmV7Y29udGVudDoiXGYzNzEifS5mYS1hcHBsZTpiZWZvcmV7Y29udGVudDoiXGYxNzkifS5mYS1hcHBsZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNWQxIn0uZmEtYXBwbGUtcGF5OmJlZm9yZXtjb250ZW50OiJcZjQxNSJ9LmZhLWFyY2hpdmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTg3In0uZmEtYXJjaHdheTpiZWZvcmV7Y29udGVudDoiXGY1NTcifS5mYS1hcnJvdy1hbHQtY2lyY2xlLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMzU4In0uZmEtYXJyb3ctYWx0LWNpcmNsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjM1OSJ9LmZhLWFycm93LWFsdC1jaXJjbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzVhIn0uZmEtYXJyb3ctYWx0LWNpcmNsZS11cDpiZWZvcmV7Y29udGVudDoiXGYzNWIifS5mYS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwYWIifS5mYS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwYTgifS5mYS1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGE5In0uZmEtYXJyb3ctY2lyY2xlLXVwOmJlZm9yZXtjb250ZW50OiJcZjBhYSJ9LmZhLWFycm93LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMDYzIn0uZmEtYXJyb3ctbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwNjAifS5mYS1hcnJvdy1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwNjEifS5mYS1hcnJvdy11cDpiZWZvcmV7Y29udGVudDoiXGYwNjIifS5mYS1hcnJvd3MtYWx0OmJlZm9yZXtjb250ZW50OiJcZjBiMiJ9LmZhLWFycm93cy1hbHQtaDpiZWZvcmV7Y29udGVudDoiXGYzMzcifS5mYS1hcnJvd3MtYWx0LXY6YmVmb3Jle2NvbnRlbnQ6IlxmMzM4In0uZmEtYXJ0c3RhdGlvbjpiZWZvcmV7Y29udGVudDoiXGY3N2EifS5mYS1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6YmVmb3Jle2NvbnRlbnQ6IlxmMmEyIn0uZmEtYXN0ZXJpc2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDY5In0uZmEtYXN5bW1ldHJpazpiZWZvcmV7Y29udGVudDoiXGYzNzIifS5mYS1hdDpiZWZvcmV7Y29udGVudDoiXGYxZmEifS5mYS1hdGxhczpiZWZvcmV7Y29udGVudDoiXGY1NTgifS5mYS1hdGxhc3NpYW46YmVmb3Jle2NvbnRlbnQ6IlxmNzdiIn0uZmEtYXRvbTpiZWZvcmV7Y29udGVudDoiXGY1ZDIifS5mYS1hdWRpYmxlOmJlZm9yZXtjb250ZW50OiJcZjM3MyJ9LmZhLWF1ZGlvLWRlc2NyaXB0aW9uOmJlZm9yZXtjb250ZW50OiJcZjI5ZSJ9LmZhLWF1dG9wcmVmaXhlcjpiZWZvcmV7Y29udGVudDoiXGY0MWMifS5mYS1hdmlhbmV4OmJlZm9yZXtjb250ZW50OiJcZjM3NCJ9LmZhLWF2aWF0bzpiZWZvcmV7Y29udGVudDoiXGY0MjEifS5mYS1hd2FyZDpiZWZvcmV7Y29udGVudDoiXGY1NTkifS5mYS1hd3M6YmVmb3Jle2NvbnRlbnQ6IlxmMzc1In0uZmEtYmFieTpiZWZvcmV7Y29udGVudDoiXGY3N2MifS5mYS1iYWJ5LWNhcnJpYWdlOmJlZm9yZXtjb250ZW50OiJcZjc3ZCJ9LmZhLWJhY2tzcGFjZTpiZWZvcmV7Y29udGVudDoiXGY1NWEifS5mYS1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNGEifS5mYS1iYWNvbjpiZWZvcmV7Y29udGVudDoiXGY3ZTUifS5mYS1iYWN0ZXJpYTpiZWZvcmV7Y29udGVudDoiXGUwNTkifS5mYS1iYWN0ZXJpdW06YmVmb3Jle2NvbnRlbnQ6IlxlMDVhIn0uZmEtYmFoYWk6YmVmb3Jle2NvbnRlbnQ6IlxmNjY2In0uZmEtYmFsYW5jZS1zY2FsZTpiZWZvcmV7Y29udGVudDoiXGYyNGUifS5mYS1iYWxhbmNlLXNjYWxlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTE1In0uZmEtYmFsYW5jZS1zY2FsZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGY1MTYifS5mYS1iYW46YmVmb3Jle2NvbnRlbnQ6IlxmMDVlIn0uZmEtYmFuZC1haWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDYyIn0uZmEtYmFuZGNhbXA6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ1In0uZmEtYmFyY29kZTpiZWZvcmV7Y29udGVudDoiXGYwMmEifS5mYS1iYXJzOmJlZm9yZXtjb250ZW50OiJcZjBjOSJ9LmZhLWJhc2ViYWxsLWJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNDMzIn0uZmEtYmFza2V0YmFsbC1iYWxsOmJlZm9yZXtjb250ZW50OiJcZjQzNCJ9LmZhLWJhdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMmNkIn0uZmEtYmF0dGVyeS1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGYyNDQifS5mYS1iYXR0ZXJ5LWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxmMjQwIn0uZmEtYmF0dGVyeS1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjI0MiJ9LmZhLWJhdHRlcnktcXVhcnRlcjpiZWZvcmV7Y29udGVudDoiXGYyNDMifS5mYS1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOmJlZm9yZXtjb250ZW50OiJcZjI0MSJ9LmZhLWJhdHRsZS1uZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmODM1In0uZmEtYmVkOmJlZm9yZXtjb250ZW50OiJcZjIzNiJ9LmZhLWJlZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMGZjIn0uZmEtYmVoYW5jZTpiZWZvcmV7Y29udGVudDoiXGYxYjQifS5mYS1iZWhhbmNlLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxYjUifS5mYS1iZWxsOmJlZm9yZXtjb250ZW50OiJcZjBmMyJ9LmZhLWJlbGwtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMWY2In0uZmEtYmV6aWVyLWN1cnZlOmJlZm9yZXtjb250ZW50OiJcZjU1YiJ9LmZhLWJpYmxlOmJlZm9yZXtjb250ZW50OiJcZjY0NyJ9LmZhLWJpY3ljbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjA2In0uZmEtYmlraW5nOmJlZm9yZXtjb250ZW50OiJcZjg0YSJ9LmZhLWJpbW9iamVjdDpiZWZvcmV7Y29udGVudDoiXGYzNzgifS5mYS1iaW5vY3VsYXJzOmJlZm9yZXtjb250ZW50OiJcZjFlNSJ9LmZhLWJpb2hhemFyZDpiZWZvcmV7Y29udGVudDoiXGY3ODAifS5mYS1iaXJ0aGRheS1jYWtlOmJlZm9yZXtjb250ZW50OiJcZjFmZCJ9LmZhLWJpdGJ1Y2tldDpiZWZvcmV7Y29udGVudDoiXGYxNzEifS5mYS1iaXRjb2luOmJlZm9yZXtjb250ZW50OiJcZjM3OSJ9LmZhLWJpdHk6YmVmb3Jle2NvbnRlbnQ6IlxmMzdhIn0uZmEtYmxhY2stdGllOmJlZm9yZXtjb250ZW50OiJcZjI3ZSJ9LmZhLWJsYWNrYmVycnk6YmVmb3Jle2NvbnRlbnQ6IlxmMzdiIn0uZmEtYmxlbmRlcjpiZWZvcmV7Y29udGVudDoiXGY1MTcifS5mYS1ibGVuZGVyLXBob25lOmJlZm9yZXtjb250ZW50OiJcZjZiNiJ9LmZhLWJsaW5kOmJlZm9yZXtjb250ZW50OiJcZjI5ZCJ9LmZhLWJsb2c6YmVmb3Jle2NvbnRlbnQ6IlxmNzgxIn0uZmEtYmxvZ2dlcjpiZWZvcmV7Y29udGVudDoiXGYzN2MifS5mYS1ibG9nZ2VyLWI6YmVmb3Jle2NvbnRlbnQ6IlxmMzdkIn0uZmEtYmx1ZXRvb3RoOmJlZm9yZXtjb250ZW50OiJcZjI5MyJ9LmZhLWJsdWV0b290aC1iOmJlZm9yZXtjb250ZW50OiJcZjI5NCJ9LmZhLWJvbGQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDMyIn0uZmEtYm9sdDpiZWZvcmV7Y29udGVudDoiXGYwZTcifS5mYS1ib21iOmJlZm9yZXtjb250ZW50OiJcZjFlMiJ9LmZhLWJvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNWQ3In0uZmEtYm9uZzpiZWZvcmV7Y29udGVudDoiXGY1NWMifS5mYS1ib29rOmJlZm9yZXtjb250ZW50OiJcZjAyZCJ9LmZhLWJvb2stZGVhZDpiZWZvcmV7Y29udGVudDoiXGY2YjcifS5mYS1ib29rLW1lZGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmN2U2In0uZmEtYm9vay1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjUxOCJ9LmZhLWJvb2stcmVhZGVyOmJlZm9yZXtjb250ZW50OiJcZjVkYSJ9LmZhLWJvb2ttYXJrOmJlZm9yZXtjb250ZW50OiJcZjAyZSJ9LmZhLWJvb3RzdHJhcDpiZWZvcmV7Y29udGVudDoiXGY4MzYifS5mYS1ib3JkZXItYWxsOmJlZm9yZXtjb250ZW50OiJcZjg0YyJ9LmZhLWJvcmRlci1ub25lOmJlZm9yZXtjb250ZW50OiJcZjg1MCJ9LmZhLWJvcmRlci1zdHlsZTpiZWZvcmV7Y29udGVudDoiXGY4NTMifS5mYS1ib3dsaW5nLWJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNDM2In0uZmEtYm94OmJlZm9yZXtjb250ZW50OiJcZjQ2NiJ9LmZhLWJveC1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjQ5ZSJ9LmZhLWJveC10aXNzdWU6YmVmb3Jle2NvbnRlbnQ6IlxlMDViIn0uZmEtYm94ZXM6YmVmb3Jle2NvbnRlbnQ6IlxmNDY4In0uZmEtYnJhaWxsZTpiZWZvcmV7Y29udGVudDoiXGYyYTEifS5mYS1icmFpbjpiZWZvcmV7Y29udGVudDoiXGY1ZGMifS5mYS1icmVhZC1zbGljZTpiZWZvcmV7Y29udGVudDoiXGY3ZWMifS5mYS1icmllZmNhc2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGIxIn0uZmEtYnJpZWZjYXNlLW1lZGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmNDY5In0uZmEtYnJvYWRjYXN0LXRvd2VyOmJlZm9yZXtjb250ZW50OiJcZjUxOSJ9LmZhLWJyb29tOmJlZm9yZXtjb250ZW50OiJcZjUxYSJ9LmZhLWJydXNoOmJlZm9yZXtjb250ZW50OiJcZjU1ZCJ9LmZhLWJ0YzpiZWZvcmV7Y29udGVudDoiXGYxNWEifS5mYS1idWZmZXI6YmVmb3Jle2NvbnRlbnQ6IlxmODM3In0uZmEtYnVnOmJlZm9yZXtjb250ZW50OiJcZjE4OCJ9LmZhLWJ1aWxkaW5nOmJlZm9yZXtjb250ZW50OiJcZjFhZCJ9LmZhLWJ1bGxob3JuOmJlZm9yZXtjb250ZW50OiJcZjBhMSJ9LmZhLWJ1bGxzZXllOmJlZm9yZXtjb250ZW50OiJcZjE0MCJ9LmZhLWJ1cm46YmVmb3Jle2NvbnRlbnQ6IlxmNDZhIn0uZmEtYnVyb21vYmVsZXhwZXJ0ZTpiZWZvcmV7Y29udGVudDoiXGYzN2YifS5mYS1idXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjA3In0uZmEtYnVzLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1NWUifS5mYS1idXNpbmVzcy10aW1lOmJlZm9yZXtjb250ZW50OiJcZjY0YSJ9LmZhLWJ1eS1uLWxhcmdlOmJlZm9yZXtjb250ZW50OiJcZjhhNiJ9LmZhLWJ1eXNlbGxhZHM6YmVmb3Jle2NvbnRlbnQ6IlxmMjBkIn0uZmEtY2FsY3VsYXRvcjpiZWZvcmV7Y29udGVudDoiXGYxZWMifS5mYS1jYWxlbmRhcjpiZWZvcmV7Y29udGVudDoiXGYxMzMifS5mYS1jYWxlbmRhci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDczIn0uZmEtY2FsZW5kYXItY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMjc0In0uZmEtY2FsZW5kYXItZGF5OmJlZm9yZXtjb250ZW50OiJcZjc4MyJ9LmZhLWNhbGVuZGFyLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZjI3MiJ9LmZhLWNhbGVuZGFyLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjcxIn0uZmEtY2FsZW5kYXItdGltZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjczIn0uZmEtY2FsZW5kYXItd2VlazpiZWZvcmV7Y29udGVudDoiXGY3ODQifS5mYS1jYW1lcmE6YmVmb3Jle2NvbnRlbnQ6IlxmMDMwIn0uZmEtY2FtZXJhLXJldHJvOmJlZm9yZXtjb250ZW50OiJcZjA4MyJ9LmZhLWNhbXBncm91bmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNmJiIn0uZmEtY2FuYWRpYW4tbWFwbGUtbGVhZjpiZWZvcmV7Y29udGVudDoiXGY3ODUifS5mYS1jYW5keS1jYW5lOmJlZm9yZXtjb250ZW50OiJcZjc4NiJ9LmZhLWNhbm5hYmlzOmJlZm9yZXtjb250ZW50OiJcZjU1ZiJ9LmZhLWNhcHN1bGVzOmJlZm9yZXtjb250ZW50OiJcZjQ2YiJ9LmZhLWNhcjpiZWZvcmV7Y29udGVudDoiXGYxYjkifS5mYS1jYXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjVkZSJ9LmZhLWNhci1iYXR0ZXJ5OmJlZm9yZXtjb250ZW50OiJcZjVkZiJ9LmZhLWNhci1jcmFzaDpiZWZvcmV7Y29udGVudDoiXGY1ZTEifS5mYS1jYXItc2lkZTpiZWZvcmV7Y29udGVudDoiXGY1ZTQifS5mYS1jYXJhdmFuOmJlZm9yZXtjb250ZW50OiJcZjhmZiJ9LmZhLWNhcmV0LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMGQ3In0uZmEtY2FyZXQtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwZDkifS5mYS1jYXJldC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwZGEifS5mYS1jYXJldC1zcXVhcmUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNTAifS5mYS1jYXJldC1zcXVhcmUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxOTEifS5mYS1jYXJldC1zcXVhcmUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTUyIn0uZmEtY2FyZXQtc3F1YXJlLXVwOmJlZm9yZXtjb250ZW50OiJcZjE1MSJ9LmZhLWNhcmV0LXVwOmJlZm9yZXtjb250ZW50OiJcZjBkOCJ9LmZhLWNhcnJvdDpiZWZvcmV7Y29udGVudDoiXGY3ODcifS5mYS1jYXJ0LWFycm93LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMjE4In0uZmEtY2FydC1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjIxNyJ9LmZhLWNhc2gtcmVnaXN0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNzg4In0uZmEtY2F0OmJlZm9yZXtjb250ZW50OiJcZjZiZSJ9LmZhLWNjLWFtYXpvbi1wYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNDJkIn0uZmEtY2MtYW1leDpiZWZvcmV7Y29udGVudDoiXGYxZjMifS5mYS1jYy1hcHBsZS1wYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNDE2In0uZmEtY2MtZGluZXJzLWNsdWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjRjIn0uZmEtY2MtZGlzY292ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWYyIn0uZmEtY2MtamNiOmJlZm9yZXtjb250ZW50OiJcZjI0YiJ9LmZhLWNjLW1hc3RlcmNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWYxIn0uZmEtY2MtcGF5cGFsOmJlZm9yZXtjb250ZW50OiJcZjFmNCJ9LmZhLWNjLXN0cmlwZTpiZWZvcmV7Y29udGVudDoiXGYxZjUifS5mYS1jYy12aXNhOmJlZm9yZXtjb250ZW50OiJcZjFmMCJ9LmZhLWNlbnRlcmNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzgwIn0uZmEtY2VudG9zOmJlZm9yZXtjb250ZW50OiJcZjc4OSJ9LmZhLWNlcnRpZmljYXRlOmJlZm9yZXtjb250ZW50OiJcZjBhMyJ9LmZhLWNoYWlyOmJlZm9yZXtjb250ZW50OiJcZjZjMCJ9LmZhLWNoYWxrYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTFiIn0uZmEtY2hhbGtib2FyZC10ZWFjaGVyOmJlZm9yZXtjb250ZW50OiJcZjUxYyJ9LmZhLWNoYXJnaW5nLXN0YXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmNWU3In0uZmEtY2hhcnQtYXJlYTpiZWZvcmV7Y29udGVudDoiXGYxZmUifS5mYS1jaGFydC1iYXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDgwIn0uZmEtY2hhcnQtbGluZTpiZWZvcmV7Y29udGVudDoiXGYyMDEifS5mYS1jaGFydC1waWU6YmVmb3Jle2NvbnRlbnQ6IlxmMjAwIn0uZmEtY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDBjIn0uZmEtY2hlY2stY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1OCJ9LmZhLWNoZWNrLWRvdWJsZTpiZWZvcmV7Y29udGVudDoiXGY1NjAifS5mYS1jaGVjay1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTRhIn0uZmEtY2hlZXNlOmJlZm9yZXtjb250ZW50OiJcZjdlZiJ9LmZhLWNoZXNzOmJlZm9yZXtjb250ZW50OiJcZjQzOSJ9LmZhLWNoZXNzLWJpc2hvcDpiZWZvcmV7Y29udGVudDoiXGY0M2EifS5mYS1jaGVzcy1ib2FyZDpiZWZvcmV7Y29udGVudDoiXGY0M2MifS5mYS1jaGVzcy1raW5nOmJlZm9yZXtjb250ZW50OiJcZjQzZiJ9LmZhLWNoZXNzLWtuaWdodDpiZWZvcmV7Y29udGVudDoiXGY0NDEifS5mYS1jaGVzcy1wYXduOmJlZm9yZXtjb250ZW50OiJcZjQ0MyJ9LmZhLWNoZXNzLXF1ZWVuOmJlZm9yZXtjb250ZW50OiJcZjQ0NSJ9LmZhLWNoZXNzLXJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxmNDQ3In0uZmEtY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxM2EifS5mYS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEzNyJ9LmZhLWNoZXZyb24tY2lyY2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEzOCJ9LmZhLWNoZXZyb24tY2lyY2xlLXVwOmJlZm9yZXtjb250ZW50OiJcZjEzOSJ9LmZhLWNoZXZyb24tZG93bjpiZWZvcmV7Y29udGVudDoiXGYwNzgifS5mYS1jaGV2cm9uLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDUzIn0uZmEtY2hldnJvbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwNTQifS5mYS1jaGV2cm9uLXVwOmJlZm9yZXtjb250ZW50OiJcZjA3NyJ9LmZhLWNoaWxkOmJlZm9yZXtjb250ZW50OiJcZjFhZSJ9LmZhLWNocm9tZTpiZWZvcmV7Y29udGVudDoiXGYyNjgifS5mYS1jaHJvbWVjYXN0OmJlZm9yZXtjb250ZW50OiJcZjgzOCJ9LmZhLWNodXJjaDpiZWZvcmV7Y29udGVudDoiXGY1MWQifS5mYS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTExIn0uZmEtY2lyY2xlLW5vdGNoOmJlZm9yZXtjb250ZW50OiJcZjFjZSJ9LmZhLWNpdHk6YmVmb3Jle2NvbnRlbnQ6IlxmNjRmIn0uZmEtY2xpbmljLW1lZGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmN2YyIn0uZmEtY2xpcGJvYXJkOmJlZm9yZXtjb250ZW50OiJcZjMyOCJ9LmZhLWNsaXBib2FyZC1jaGVjazpiZWZvcmV7Y29udGVudDoiXGY0NmMifS5mYS1jbGlwYm9hcmQtbGlzdDpiZWZvcmV7Y29udGVudDoiXGY0NmQifS5mYS1jbG9jazpiZWZvcmV7Y29udGVudDoiXGYwMTcifS5mYS1jbG9uZTpiZWZvcmV7Y29udGVudDoiXGYyNGQifS5mYS1jbG9zZWQtY2FwdGlvbmluZzpiZWZvcmV7Y29udGVudDoiXGYyMGEifS5mYS1jbG91ZDpiZWZvcmV7Y29udGVudDoiXGYwYzIifS5mYS1jbG91ZC1kb3dubG9hZC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzgxIn0uZmEtY2xvdWQtbWVhdGJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNzNiIn0uZmEtY2xvdWQtbW9vbjpiZWZvcmV7Y29udGVudDoiXGY2YzMifS5mYS1jbG91ZC1tb29uLXJhaW46YmVmb3Jle2NvbnRlbnQ6IlxmNzNjIn0uZmEtY2xvdWQtcmFpbjpiZWZvcmV7Y29udGVudDoiXGY3M2QifS5mYS1jbG91ZC1zaG93ZXJzLWhlYXZ5OmJlZm9yZXtjb250ZW50OiJcZjc0MCJ9LmZhLWNsb3VkLXN1bjpiZWZvcmV7Y29udGVudDoiXGY2YzQifS5mYS1jbG91ZC1zdW4tcmFpbjpiZWZvcmV7Y29udGVudDoiXGY3NDMifS5mYS1jbG91ZC11cGxvYWQtYWx0OmJlZm9yZXtjb250ZW50OiJcZjM4MiJ9LmZhLWNsb3VkZmxhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlMDdkIn0uZmEtY2xvdWRzY2FsZTpiZWZvcmV7Y29udGVudDoiXGYzODMifS5mYS1jbG91ZHNtaXRoOmJlZm9yZXtjb250ZW50OiJcZjM4NCJ9LmZhLWNsb3VkdmVyc2lmeTpiZWZvcmV7Y29udGVudDoiXGYzODUifS5mYS1jb2NrdGFpbDpiZWZvcmV7Y29udGVudDoiXGY1NjEifS5mYS1jb2RlOmJlZm9yZXtjb250ZW50OiJcZjEyMSJ9LmZhLWNvZGUtYnJhbmNoOmJlZm9yZXtjb250ZW50OiJcZjEyNiJ9LmZhLWNvZGVwZW46YmVmb3Jle2NvbnRlbnQ6IlxmMWNiIn0uZmEtY29kaWVwaWU6YmVmb3Jle2NvbnRlbnQ6IlxmMjg0In0uZmEtY29mZmVlOmJlZm9yZXtjb250ZW50OiJcZjBmNCJ9LmZhLWNvZzpiZWZvcmV7Y29udGVudDoiXGYwMTMifS5mYS1jb2dzOmJlZm9yZXtjb250ZW50OiJcZjA4NSJ9LmZhLWNvaW5zOmJlZm9yZXtjb250ZW50OiJcZjUxZSJ9LmZhLWNvbHVtbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMGRiIn0uZmEtY29tbWVudDpiZWZvcmV7Y29udGVudDoiXGYwNzUifS5mYS1jb21tZW50LWFsdDpiZWZvcmV7Y29udGVudDoiXGYyN2EifS5mYS1jb21tZW50LWRvbGxhcjpiZWZvcmV7Y29udGVudDoiXGY2NTEifS5mYS1jb21tZW50LWRvdHM6YmVmb3Jle2NvbnRlbnQ6IlxmNGFkIn0uZmEtY29tbWVudC1tZWRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjdmNSJ9LmZhLWNvbW1lbnQtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmNGIzIn0uZmEtY29tbWVudHM6YmVmb3Jle2NvbnRlbnQ6IlxmMDg2In0uZmEtY29tbWVudHMtZG9sbGFyOmJlZm9yZXtjb250ZW50OiJcZjY1MyJ9LmZhLWNvbXBhY3QtZGlzYzpiZWZvcmV7Y29udGVudDoiXGY1MWYifS5mYS1jb21wYXNzOmJlZm9yZXtjb250ZW50OiJcZjE0ZSJ9LmZhLWNvbXByZXNzOmJlZm9yZXtjb250ZW50OiJcZjA2NiJ9LmZhLWNvbXByZXNzLWFsdDpiZWZvcmV7Y29udGVudDoiXGY0MjIifS5mYS1jb21wcmVzcy1hcnJvd3MtYWx0OmJlZm9yZXtjb250ZW50OiJcZjc4YyJ9LmZhLWNvbmNpZXJnZS1iZWxsOmJlZm9yZXtjb250ZW50OiJcZjU2MiJ9LmZhLWNvbmZsdWVuY2U6YmVmb3Jle2NvbnRlbnQ6IlxmNzhkIn0uZmEtY29ubmVjdGRldmVsb3A6YmVmb3Jle2NvbnRlbnQ6IlxmMjBlIn0uZmEtY29udGFvOmJlZm9yZXtjb250ZW50OiJcZjI2ZCJ9LmZhLWNvb2tpZTpiZWZvcmV7Y29udGVudDoiXGY1NjMifS5mYS1jb29raWUtYml0ZTpiZWZvcmV7Y29udGVudDoiXGY1NjQifS5mYS1jb3B5OmJlZm9yZXtjb250ZW50OiJcZjBjNSJ9LmZhLWNvcHlyaWdodDpiZWZvcmV7Y29udGVudDoiXGYxZjkifS5mYS1jb3R0b24tYnVyZWF1OmJlZm9yZXtjb250ZW50OiJcZjg5ZSJ9LmZhLWNvdWNoOmJlZm9yZXtjb250ZW50OiJcZjRiOCJ9LmZhLWNwYW5lbDpiZWZvcmV7Y29udGVudDoiXGYzODgifS5mYS1jcmVhdGl2ZS1jb21tb25zOmJlZm9yZXtjb250ZW50OiJcZjI1ZSJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtYnk6YmVmb3Jle2NvbnRlbnQ6IlxmNGU3In0uZmEtY3JlYXRpdmUtY29tbW9ucy1uYzpiZWZvcmV7Y29udGVudDoiXGY0ZTgifS5mYS1jcmVhdGl2ZS1jb21tb25zLW5jLWV1OmJlZm9yZXtjb250ZW50OiJcZjRlOSJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtbmMtanA6YmVmb3Jle2NvbnRlbnQ6IlxmNGVhIn0uZmEtY3JlYXRpdmUtY29tbW9ucy1uZDpiZWZvcmV7Y29udGVudDoiXGY0ZWIifS5mYS1jcmVhdGl2ZS1jb21tb25zLXBkOmJlZm9yZXtjb250ZW50OiJcZjRlYyJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0OmJlZm9yZXtjb250ZW50OiJcZjRlZCJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtcmVtaXg6YmVmb3Jle2NvbnRlbnQ6IlxmNGVlIn0uZmEtY3JlYXRpdmUtY29tbW9ucy1zYTpiZWZvcmV7Y29udGVudDoiXGY0ZWYifS5mYS1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nOmJlZm9yZXtjb250ZW50OiJcZjRmMCJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czpiZWZvcmV7Y29udGVudDoiXGY0ZjEifS5mYS1jcmVhdGl2ZS1jb21tb25zLXNoYXJlOmJlZm9yZXtjb250ZW50OiJcZjRmMiJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtemVybzpiZWZvcmV7Y29udGVudDoiXGY0ZjMifS5mYS1jcmVkaXQtY2FyZDpiZWZvcmV7Y29udGVudDoiXGYwOWQifS5mYS1jcml0aWNhbC1yb2xlOmJlZm9yZXtjb250ZW50OiJcZjZjOSJ9LmZhLWNyb3A6YmVmb3Jle2NvbnRlbnQ6IlxmMTI1In0uZmEtY3JvcC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTY1In0uZmEtY3Jvc3M6YmVmb3Jle2NvbnRlbnQ6IlxmNjU0In0uZmEtY3Jvc3NoYWlyczpiZWZvcmV7Y29udGVudDoiXGYwNWIifS5mYS1jcm93OmJlZm9yZXtjb250ZW50OiJcZjUyMCJ9LmZhLWNyb3duOmJlZm9yZXtjb250ZW50OiJcZjUyMSJ9LmZhLWNydXRjaDpiZWZvcmV7Y29udGVudDoiXGY3ZjcifS5mYS1jc3MzOmJlZm9yZXtjb250ZW50OiJcZjEzYyJ9LmZhLWNzczMtYWx0OmJlZm9yZXtjb250ZW50OiJcZjM4YiJ9LmZhLWN1YmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWIyIn0uZmEtY3ViZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMWIzIn0uZmEtY3V0OmJlZm9yZXtjb250ZW50OiJcZjBjNCJ9LmZhLWN1dHRsZWZpc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMzhjIn0uZmEtZC1hbmQtZDpiZWZvcmV7Y29udGVudDoiXGYzOGQifS5mYS1kLWFuZC1kLWJleW9uZDpiZWZvcmV7Y29udGVudDoiXGY2Y2EifS5mYS1kYWlseW1vdGlvbjpiZWZvcmV7Y29udGVudDoiXGUwNTIifS5mYS1kYXNoY3ViZTpiZWZvcmV7Y29udGVudDoiXGYyMTAifS5mYS1kYXRhYmFzZTpiZWZvcmV7Y29udGVudDoiXGYxYzAifS5mYS1kZWFmOmJlZm9yZXtjb250ZW50OiJcZjJhNCJ9LmZhLWRlZXplcjpiZWZvcmV7Y29udGVudDoiXGUwNzcifS5mYS1kZWxpY2lvdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMWE1In0uZmEtZGVtb2NyYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzQ3In0uZmEtZGVwbG95ZG9nOmJlZm9yZXtjb250ZW50OiJcZjM4ZSJ9LmZhLWRlc2twcm86YmVmb3Jle2NvbnRlbnQ6IlxmMzhmIn0uZmEtZGVza3RvcDpiZWZvcmV7Y29udGVudDoiXGYxMDgifS5mYS1kZXY6YmVmb3Jle2NvbnRlbnQ6IlxmNmNjIn0uZmEtZGV2aWFudGFydDpiZWZvcmV7Y29udGVudDoiXGYxYmQifS5mYS1kaGFybWFjaGFrcmE6YmVmb3Jle2NvbnRlbnQ6IlxmNjU1In0uZmEtZGhsOmJlZm9yZXtjb250ZW50OiJcZjc5MCJ9LmZhLWRpYWdub3NlczpiZWZvcmV7Y29udGVudDoiXGY0NzAifS5mYS1kaWFzcG9yYTpiZWZvcmV7Y29udGVudDoiXGY3OTEifS5mYS1kaWNlOmJlZm9yZXtjb250ZW50OiJcZjUyMiJ9LmZhLWRpY2UtZDIwOmJlZm9yZXtjb250ZW50OiJcZjZjZiJ9LmZhLWRpY2UtZDY6YmVmb3Jle2NvbnRlbnQ6IlxmNmQxIn0uZmEtZGljZS1maXZlOmJlZm9yZXtjb250ZW50OiJcZjUyMyJ9LmZhLWRpY2UtZm91cjpiZWZvcmV7Y29udGVudDoiXGY1MjQifS5mYS1kaWNlLW9uZTpiZWZvcmV7Y29udGVudDoiXGY1MjUifS5mYS1kaWNlLXNpeDpiZWZvcmV7Y29udGVudDoiXGY1MjYifS5mYS1kaWNlLXRocmVlOmJlZm9yZXtjb250ZW50OiJcZjUyNyJ9LmZhLWRpY2UtdHdvOmJlZm9yZXtjb250ZW50OiJcZjUyOCJ9LmZhLWRpZ2c6YmVmb3Jle2NvbnRlbnQ6IlxmMWE2In0uZmEtZGlnaXRhbC1vY2VhbjpiZWZvcmV7Y29udGVudDoiXGYzOTEifS5mYS1kaWdpdGFsLXRhY2hvZ3JhcGg6YmVmb3Jle2NvbnRlbnQ6IlxmNTY2In0uZmEtZGlyZWN0aW9uczpiZWZvcmV7Y29udGVudDoiXGY1ZWIifS5mYS1kaXNjb3JkOmJlZm9yZXtjb250ZW50OiJcZjM5MiJ9LmZhLWRpc2NvdXJzZTpiZWZvcmV7Y29udGVudDoiXGYzOTMifS5mYS1kaXNlYXNlOmJlZm9yZXtjb250ZW50OiJcZjdmYSJ9LmZhLWRpdmlkZTpiZWZvcmV7Y29udGVudDoiXGY1MjkifS5mYS1kaXp6eTpiZWZvcmV7Y29udGVudDoiXGY1NjcifS5mYS1kbmE6YmVmb3Jle2NvbnRlbnQ6IlxmNDcxIn0uZmEtZG9jaHViOmJlZm9yZXtjb250ZW50OiJcZjM5NCJ9LmZhLWRvY2tlcjpiZWZvcmV7Y29udGVudDoiXGYzOTUifS5mYS1kb2c6YmVmb3Jle2NvbnRlbnQ6IlxmNmQzIn0uZmEtZG9sbGFyLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxmMTU1In0uZmEtZG9sbHk6YmVmb3Jle2NvbnRlbnQ6IlxmNDcyIn0uZmEtZG9sbHktZmxhdGJlZDpiZWZvcmV7Y29udGVudDoiXGY0NzQifS5mYS1kb25hdGU6YmVmb3Jle2NvbnRlbnQ6IlxmNGI5In0uZmEtZG9vci1jbG9zZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTJhIn0uZmEtZG9vci1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjUyYiJ9LmZhLWRvdC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTkyIn0uZmEtZG92ZTpiZWZvcmV7Y29udGVudDoiXGY0YmEifS5mYS1kb3dubG9hZDpiZWZvcmV7Y29udGVudDoiXGYwMTkifS5mYS1kcmFmdDJkaWdpdGFsOmJlZm9yZXtjb250ZW50OiJcZjM5NiJ9LmZhLWRyYWZ0aW5nLWNvbXBhc3M6YmVmb3Jle2NvbnRlbnQ6IlxmNTY4In0uZmEtZHJhZ29uOmJlZm9yZXtjb250ZW50OiJcZjZkNSJ9LmZhLWRyYXctcG9seWdvbjpiZWZvcmV7Y29udGVudDoiXGY1ZWUifS5mYS1kcmliYmJsZTpiZWZvcmV7Y29udGVudDoiXGYxN2QifS5mYS1kcmliYmJsZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMzk3In0uZmEtZHJvcGJveDpiZWZvcmV7Y29udGVudDoiXGYxNmIifS5mYS1kcnVtOmJlZm9yZXtjb250ZW50OiJcZjU2OSJ9LmZhLWRydW0tc3RlZWxwYW46YmVmb3Jle2NvbnRlbnQ6IlxmNTZhIn0uZmEtZHJ1bXN0aWNrLWJpdGU6YmVmb3Jle2NvbnRlbnQ6IlxmNmQ3In0uZmEtZHJ1cGFsOmJlZm9yZXtjb250ZW50OiJcZjFhOSJ9LmZhLWR1bWJiZWxsOmJlZm9yZXtjb250ZW50OiJcZjQ0YiJ9LmZhLWR1bXBzdGVyOmJlZm9yZXtjb250ZW50OiJcZjc5MyJ9LmZhLWR1bXBzdGVyLWZpcmU6YmVmb3Jle2NvbnRlbnQ6IlxmNzk0In0uZmEtZHVuZ2VvbjpiZWZvcmV7Y29udGVudDoiXGY2ZDkifS5mYS1keWFsb2c6YmVmb3Jle2NvbnRlbnQ6IlxmMzk5In0uZmEtZWFybHliaXJkczpiZWZvcmV7Y29udGVudDoiXGYzOWEifS5mYS1lYmF5OmJlZm9yZXtjb250ZW50OiJcZjRmNCJ9LmZhLWVkZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMjgyIn0uZmEtZWRnZS1sZWdhY3k6YmVmb3Jle2NvbnRlbnQ6IlxlMDc4In0uZmEtZWRpdDpiZWZvcmV7Y29udGVudDoiXGYwNDQifS5mYS1lZ2c6YmVmb3Jle2NvbnRlbnQ6IlxmN2ZiIn0uZmEtZWplY3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDUyIn0uZmEtZWxlbWVudG9yOmJlZm9yZXtjb250ZW50OiJcZjQzMCJ9LmZhLWVsbGlwc2lzLWg6YmVmb3Jle2NvbnRlbnQ6IlxmMTQxIn0uZmEtZWxsaXBzaXMtdjpiZWZvcmV7Y29udGVudDoiXGYxNDIifS5mYS1lbGxvOmJlZm9yZXtjb250ZW50OiJcZjVmMSJ9LmZhLWVtYmVyOmJlZm9yZXtjb250ZW50OiJcZjQyMyJ9LmZhLWVtcGlyZTpiZWZvcmV7Y29udGVudDoiXGYxZDEifS5mYS1lbnZlbG9wZTpiZWZvcmV7Y29udGVudDoiXGYwZTAifS5mYS1lbnZlbG9wZS1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjJiNiJ9LmZhLWVudmVsb3BlLW9wZW4tdGV4dDpiZWZvcmV7Y29udGVudDoiXGY2NTgifS5mYS1lbnZlbG9wZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk5In0uZmEtZW52aXJhOmJlZm9yZXtjb250ZW50OiJcZjI5OSJ9LmZhLWVxdWFsczpiZWZvcmV7Y29udGVudDoiXGY1MmMifS5mYS1lcmFzZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTJkIn0uZmEtZXJsYW5nOmJlZm9yZXtjb250ZW50OiJcZjM5ZCJ9LmZhLWV0aGVyZXVtOmJlZm9yZXtjb250ZW50OiJcZjQyZSJ9LmZhLWV0aGVybmV0OmJlZm9yZXtjb250ZW50OiJcZjc5NiJ9LmZhLWV0c3k6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ3In0uZmEtZXVyby1zaWduOmJlZm9yZXtjb250ZW50OiJcZjE1MyJ9LmZhLWV2ZXJub3RlOmJlZm9yZXtjb250ZW50OiJcZjgzOSJ9LmZhLWV4Y2hhbmdlLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzNjIifS5mYS1leGNsYW1hdGlvbjpiZWZvcmV7Y29udGVudDoiXGYxMmEifS5mYS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDZhIn0uZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDcxIn0uZmEtZXhwYW5kOmJlZm9yZXtjb250ZW50OiJcZjA2NSJ9LmZhLWV4cGFuZC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDI0In0uZmEtZXhwYW5kLWFycm93cy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzFlIn0uZmEtZXhwZWRpdGVkc3NsOmJlZm9yZXtjb250ZW50OiJcZjIzZSJ9LmZhLWV4dGVybmFsLWxpbmstYWx0OmJlZm9yZXtjb250ZW50OiJcZjM1ZCJ9LmZhLWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzNjAifS5mYS1leWU6YmVmb3Jle2NvbnRlbnQ6IlxmMDZlIn0uZmEtZXllLWRyb3BwZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWZiIn0uZmEtZXllLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjA3MCJ9LmZhLWZhY2Vib29rOmJlZm9yZXtjb250ZW50OiJcZjA5YSJ9LmZhLWZhY2Vib29rLWY6YmVmb3Jle2NvbnRlbnQ6IlxmMzllIn0uZmEtZmFjZWJvb2stbWVzc2VuZ2VyOmJlZm9yZXtjb250ZW50OiJcZjM5ZiJ9LmZhLWZhY2Vib29rLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwODIifS5mYS1mYW46YmVmb3Jle2NvbnRlbnQ6IlxmODYzIn0uZmEtZmFudGFzeS1mbGlnaHQtZ2FtZXM6YmVmb3Jle2NvbnRlbnQ6IlxmNmRjIn0uZmEtZmFzdC1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNDkifS5mYS1mYXN0LWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDUwIn0uZmEtZmF1Y2V0OmJlZm9yZXtjb250ZW50OiJcZTAwNSJ9LmZhLWZheDpiZWZvcmV7Y29udGVudDoiXGYxYWMifS5mYS1mZWF0aGVyOmJlZm9yZXtjb250ZW50OiJcZjUyZCJ9LmZhLWZlYXRoZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjU2YiJ9LmZhLWZlZGV4OmJlZm9yZXtjb250ZW50OiJcZjc5NyJ9LmZhLWZlZG9yYTpiZWZvcmV7Y29udGVudDoiXGY3OTgifS5mYS1mZW1hbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTgyIn0uZmEtZmlnaHRlci1qZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGZiIn0uZmEtZmlnbWE6YmVmb3Jle2NvbnRlbnQ6IlxmNzk5In0uZmEtZmlsZTpiZWZvcmV7Y29udGVudDoiXGYxNWIifS5mYS1maWxlLWFsdDpiZWZvcmV7Y29udGVudDoiXGYxNWMifS5mYS1maWxlLWFyY2hpdmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWM2In0uZmEtZmlsZS1hdWRpbzpiZWZvcmV7Y29udGVudDoiXGYxYzcifS5mYS1maWxlLWNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWM5In0uZmEtZmlsZS1jb250cmFjdDpiZWZvcmV7Y29udGVudDoiXGY1NmMifS5mYS1maWxlLWNzdjpiZWZvcmV7Y29udGVudDoiXGY2ZGQifS5mYS1maWxlLWRvd25sb2FkOmJlZm9yZXtjb250ZW50OiJcZjU2ZCJ9LmZhLWZpbGUtZXhjZWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWMzIn0uZmEtZmlsZS1leHBvcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTZlIn0uZmEtZmlsZS1pbWFnZTpiZWZvcmV7Y29udGVudDoiXGYxYzUifS5mYS1maWxlLWltcG9ydDpiZWZvcmV7Y29udGVudDoiXGY1NmYifS5mYS1maWxlLWludm9pY2U6YmVmb3Jle2NvbnRlbnQ6IlxmNTcwIn0uZmEtZmlsZS1pbnZvaWNlLWRvbGxhcjpiZWZvcmV7Y29udGVudDoiXGY1NzEifS5mYS1maWxlLW1lZGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmNDc3In0uZmEtZmlsZS1tZWRpY2FsLWFsdDpiZWZvcmV7Y29udGVudDoiXGY0NzgifS5mYS1maWxlLXBkZjpiZWZvcmV7Y29udGVudDoiXGYxYzEifS5mYS1maWxlLXBvd2VycG9pbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWM0In0uZmEtZmlsZS1wcmVzY3JpcHRpb246YmVmb3Jle2NvbnRlbnQ6IlxmNTcyIn0uZmEtZmlsZS1zaWduYXR1cmU6YmVmb3Jle2NvbnRlbnQ6IlxmNTczIn0uZmEtZmlsZS11cGxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTc0In0uZmEtZmlsZS12aWRlbzpiZWZvcmV7Y29udGVudDoiXGYxYzgifS5mYS1maWxlLXdvcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWMyIn0uZmEtZmlsbDpiZWZvcmV7Y29udGVudDoiXGY1NzUifS5mYS1maWxsLWRyaXA6YmVmb3Jle2NvbnRlbnQ6IlxmNTc2In0uZmEtZmlsbTpiZWZvcmV7Y29udGVudDoiXGYwMDgifS5mYS1maWx0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMGIwIn0uZmEtZmluZ2VycHJpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTc3In0uZmEtZmlyZTpiZWZvcmV7Y29udGVudDoiXGYwNmQifS5mYS1maXJlLWFsdDpiZWZvcmV7Y29udGVudDoiXGY3ZTQifS5mYS1maXJlLWV4dGluZ3Vpc2hlcjpiZWZvcmV7Y29udGVudDoiXGYxMzQifS5mYS1maXJlZm94OmJlZm9yZXtjb250ZW50OiJcZjI2OSJ9LmZhLWZpcmVmb3gtYnJvd3NlcjpiZWZvcmV7Y29udGVudDoiXGUwMDcifS5mYS1maXJzdC1haWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDc5In0uZmEtZmlyc3Qtb3JkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmIwIn0uZmEtZmlyc3Qtb3JkZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjUwYSJ9LmZhLWZpcnN0ZHJhZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2ExIn0uZmEtZmlzaDpiZWZvcmV7Y29udGVudDoiXGY1NzgifS5mYS1maXN0LXJhaXNlZDpiZWZvcmV7Y29udGVudDoiXGY2ZGUifS5mYS1mbGFnOmJlZm9yZXtjb250ZW50OiJcZjAyNCJ9LmZhLWZsYWctY2hlY2tlcmVkOmJlZm9yZXtjb250ZW50OiJcZjExZSJ9LmZhLWZsYWctdXNhOmJlZm9yZXtjb250ZW50OiJcZjc0ZCJ9LmZhLWZsYXNrOmJlZm9yZXtjb250ZW50OiJcZjBjMyJ9LmZhLWZsaWNrcjpiZWZvcmV7Y29udGVudDoiXGYxNmUifS5mYS1mbGlwYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDRkIn0uZmEtZmx1c2hlZDpiZWZvcmV7Y29udGVudDoiXGY1NzkifS5mYS1mbHk6YmVmb3Jle2NvbnRlbnQ6IlxmNDE3In0uZmEtZm9sZGVyOmJlZm9yZXtjb250ZW50OiJcZjA3YiJ9LmZhLWZvbGRlci1taW51czpiZWZvcmV7Y29udGVudDoiXGY2NWQifS5mYS1mb2xkZXItb3BlbjpiZWZvcmV7Y29udGVudDoiXGYwN2MifS5mYS1mb2xkZXItcGx1czpiZWZvcmV7Y29udGVudDoiXGY2NWUifS5mYS1mb250OmJlZm9yZXtjb250ZW50OiJcZjAzMSJ9LmZhLWZvbnQtYXdlc29tZTpiZWZvcmV7Y29udGVudDoiXGYyYjQifS5mYS1mb250LWF3ZXNvbWUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjM1YyJ9LmZhLWZvbnQtYXdlc29tZS1mbGFnOmJlZm9yZXtjb250ZW50OiJcZjQyNSJ9LmZhLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxmNGU2In0uZmEtZm9udGljb25zOmJlZm9yZXtjb250ZW50OiJcZjI4MCJ9LmZhLWZvbnRpY29ucy1maTpiZWZvcmV7Y29udGVudDoiXGYzYTIifS5mYS1mb290YmFsbC1iYWxsOmJlZm9yZXtjb250ZW50OiJcZjQ0ZSJ9LmZhLWZvcnQtYXdlc29tZTpiZWZvcmV7Y29udGVudDoiXGYyODYifS5mYS1mb3J0LWF3ZXNvbWUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjNhMyJ9LmZhLWZvcnVtYmVlOmJlZm9yZXtjb250ZW50OiJcZjIxMSJ9LmZhLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDRlIn0uZmEtZm91cnNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxODAifS5mYS1mcmVlLWNvZGUtY2FtcDpiZWZvcmV7Y29udGVudDoiXGYyYzUifS5mYS1mcmVlYnNkOmJlZm9yZXtjb250ZW50OiJcZjNhNCJ9LmZhLWZyb2c6YmVmb3Jle2NvbnRlbnQ6IlxmNTJlIn0uZmEtZnJvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTE5In0uZmEtZnJvd24tb3BlbjpiZWZvcmV7Y29udGVudDoiXGY1N2EifS5mYS1mdWxjcnVtOmJlZm9yZXtjb250ZW50OiJcZjUwYiJ9LmZhLWZ1bm5lbC1kb2xsYXI6YmVmb3Jle2NvbnRlbnQ6IlxmNjYyIn0uZmEtZnV0Ym9sOmJlZm9yZXtjb250ZW50OiJcZjFlMyJ9LmZhLWdhbGFjdGljLXJlcHVibGljOmJlZm9yZXtjb250ZW50OiJcZjUwYyJ9LmZhLWdhbGFjdGljLXNlbmF0ZTpiZWZvcmV7Y29udGVudDoiXGY1MGQifS5mYS1nYW1lcGFkOmJlZm9yZXtjb250ZW50OiJcZjExYiJ9LmZhLWdhcy1wdW1wOmJlZm9yZXtjb250ZW50OiJcZjUyZiJ9LmZhLWdhdmVsOmJlZm9yZXtjb250ZW50OiJcZjBlMyJ9LmZhLWdlbTpiZWZvcmV7Y29udGVudDoiXGYzYTUifS5mYS1nZW5kZXJsZXNzOmJlZm9yZXtjb250ZW50OiJcZjIyZCJ9LmZhLWdldC1wb2NrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjY1In0uZmEtZ2c6YmVmb3Jle2NvbnRlbnQ6IlxmMjYwIn0uZmEtZ2ctY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjI2MSJ9LmZhLWdob3N0OmJlZm9yZXtjb250ZW50OiJcZjZlMiJ9LmZhLWdpZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDZiIn0uZmEtZ2lmdHM6YmVmb3Jle2NvbnRlbnQ6IlxmNzljIn0uZmEtZ2l0OmJlZm9yZXtjb250ZW50OiJcZjFkMyJ9LmZhLWdpdC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODQxIn0uZmEtZ2l0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxZDIifS5mYS1naXRodWI6YmVmb3Jle2NvbnRlbnQ6IlxmMDliIn0uZmEtZ2l0aHViLWFsdDpiZWZvcmV7Y29udGVudDoiXGYxMTMifS5mYS1naXRodWItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA5MiJ9LmZhLWdpdGtyYWtlbjpiZWZvcmV7Y29udGVudDoiXGYzYTYifS5mYS1naXRsYWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjk2In0uZmEtZ2l0dGVyOmJlZm9yZXtjb250ZW50OiJcZjQyNiJ9LmZhLWdsYXNzLWNoZWVyczpiZWZvcmV7Y29udGVudDoiXGY3OWYifS5mYS1nbGFzcy1tYXJ0aW5pOmJlZm9yZXtjb250ZW50OiJcZjAwMCJ9LmZhLWdsYXNzLW1hcnRpbmktYWx0OmJlZm9yZXtjb250ZW50OiJcZjU3YiJ9LmZhLWdsYXNzLXdoaXNrZXk6YmVmb3Jle2NvbnRlbnQ6IlxmN2EwIn0uZmEtZ2xhc3NlczpiZWZvcmV7Y29udGVudDoiXGY1MzAifS5mYS1nbGlkZTpiZWZvcmV7Y29udGVudDoiXGYyYTUifS5mYS1nbGlkZS1nOmJlZm9yZXtjb250ZW50OiJcZjJhNiJ9LmZhLWdsb2JlOmJlZm9yZXtjb250ZW50OiJcZjBhYyJ9LmZhLWdsb2JlLWFmcmljYTpiZWZvcmV7Y29udGVudDoiXGY1N2MifS5mYS1nbG9iZS1hbWVyaWNhczpiZWZvcmV7Y29udGVudDoiXGY1N2QifS5mYS1nbG9iZS1hc2lhOmJlZm9yZXtjb250ZW50OiJcZjU3ZSJ9LmZhLWdsb2JlLWV1cm9wZTpiZWZvcmV7Y29udGVudDoiXGY3YTIifS5mYS1nb2ZvcmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2E3In0uZmEtZ29sZi1iYWxsOmJlZm9yZXtjb250ZW50OiJcZjQ1MCJ9LmZhLWdvb2RyZWFkczpiZWZvcmV7Y29udGVudDoiXGYzYTgifS5mYS1nb29kcmVhZHMtZzpiZWZvcmV7Y29udGVudDoiXGYzYTkifS5mYS1nb29nbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWEwIn0uZmEtZ29vZ2xlLWRyaXZlOmJlZm9yZXtjb250ZW50OiJcZjNhYSJ9LmZhLWdvb2dsZS1wYXk6YmVmb3Jle2NvbnRlbnQ6IlxlMDc5In0uZmEtZ29vZ2xlLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlxmM2FiIn0uZmEtZ29vZ2xlLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMmIzIn0uZmEtZ29vZ2xlLXBsdXMtZzpiZWZvcmV7Y29udGVudDoiXGYwZDUifS5mYS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGQ0In0uZmEtZ29vZ2xlLXdhbGxldDpiZWZvcmV7Y29udGVudDoiXGYxZWUifS5mYS1nb3B1cmFtOmJlZm9yZXtjb250ZW50OiJcZjY2NCJ9LmZhLWdyYWR1YXRpb24tY2FwOmJlZm9yZXtjb250ZW50OiJcZjE5ZCJ9LmZhLWdyYXRpcGF5OmJlZm9yZXtjb250ZW50OiJcZjE4NCJ9LmZhLWdyYXY6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ2In0uZmEtZ3JlYXRlci10aGFuOmJlZm9yZXtjb250ZW50OiJcZjUzMSJ9LmZhLWdyZWF0ZXItdGhhbi1lcXVhbDpiZWZvcmV7Y29udGVudDoiXGY1MzIifS5mYS1ncmltYWNlOmJlZm9yZXtjb250ZW50OiJcZjU3ZiJ9LmZhLWdyaW46YmVmb3Jle2NvbnRlbnQ6IlxmNTgwIn0uZmEtZ3Jpbi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTgxIn0uZmEtZ3Jpbi1iZWFtOmJlZm9yZXtjb250ZW50OiJcZjU4MiJ9LmZhLWdyaW4tYmVhbS1zd2VhdDpiZWZvcmV7Y29udGVudDoiXGY1ODMifS5mYS1ncmluLWhlYXJ0czpiZWZvcmV7Y29udGVudDoiXGY1ODQifS5mYS1ncmluLXNxdWludDpiZWZvcmV7Y29udGVudDoiXGY1ODUifS5mYS1ncmluLXNxdWludC10ZWFyczpiZWZvcmV7Y29udGVudDoiXGY1ODYifS5mYS1ncmluLXN0YXJzOmJlZm9yZXtjb250ZW50OiJcZjU4NyJ9LmZhLWdyaW4tdGVhcnM6YmVmb3Jle2NvbnRlbnQ6IlxmNTg4In0uZmEtZ3Jpbi10b25ndWU6YmVmb3Jle2NvbnRlbnQ6IlxmNTg5In0uZmEtZ3Jpbi10b25ndWUtc3F1aW50OmJlZm9yZXtjb250ZW50OiJcZjU4YSJ9LmZhLWdyaW4tdG9uZ3VlLXdpbms6YmVmb3Jle2NvbnRlbnQ6IlxmNThiIn0uZmEtZ3Jpbi13aW5rOmJlZm9yZXtjb250ZW50OiJcZjU4YyJ9LmZhLWdyaXAtaG9yaXpvbnRhbDpiZWZvcmV7Y29udGVudDoiXGY1OGQifS5mYS1ncmlwLWxpbmVzOmJlZm9yZXtjb250ZW50OiJcZjdhNCJ9LmZhLWdyaXAtbGluZXMtdmVydGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmN2E1In0uZmEtZ3JpcC12ZXJ0aWNhbDpiZWZvcmV7Y29udGVudDoiXGY1OGUifS5mYS1ncmlwZmlyZTpiZWZvcmV7Y29udGVudDoiXGYzYWMifS5mYS1ncnVudDpiZWZvcmV7Y29udGVudDoiXGYzYWQifS5mYS1ndWlsZGVkOmJlZm9yZXtjb250ZW50OiJcZTA3ZSJ9LmZhLWd1aXRhcjpiZWZvcmV7Y29udGVudDoiXGY3YTYifS5mYS1ndWxwOmJlZm9yZXtjb250ZW50OiJcZjNhZSJ9LmZhLWgtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjBmZCJ9LmZhLWhhY2tlci1uZXdzOmJlZm9yZXtjb250ZW50OiJcZjFkNCJ9LmZhLWhhY2tlci1uZXdzLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYzYWYifS5mYS1oYWNrZXJyYW5rOmJlZm9yZXtjb250ZW50OiJcZjVmNyJ9LmZhLWhhbWJ1cmdlcjpiZWZvcmV7Y29udGVudDoiXGY4MDUifS5mYS1oYW1tZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNmUzIn0uZmEtaGFtc2E6YmVmb3Jle2NvbnRlbnQ6IlxmNjY1In0uZmEtaGFuZC1ob2xkaW5nOmJlZm9yZXtjb250ZW50OiJcZjRiZCJ9LmZhLWhhbmQtaG9sZGluZy1oZWFydDpiZWZvcmV7Y29udGVudDoiXGY0YmUifS5mYS1oYW5kLWhvbGRpbmctbWVkaWNhbDpiZWZvcmV7Y29udGVudDoiXGUwNWMifS5mYS1oYW5kLWhvbGRpbmctdXNkOmJlZm9yZXtjb250ZW50OiJcZjRjMCJ9LmZhLWhhbmQtaG9sZGluZy13YXRlcjpiZWZvcmV7Y29udGVudDoiXGY0YzEifS5mYS1oYW5kLWxpemFyZDpiZWZvcmV7Y29udGVudDoiXGYyNTgifS5mYS1oYW5kLW1pZGRsZS1maW5nZXI6YmVmb3Jle2NvbnRlbnQ6IlxmODA2In0uZmEtaGFuZC1wYXBlcjpiZWZvcmV7Y29udGVudDoiXGYyNTYifS5mYS1oYW5kLXBlYWNlOmJlZm9yZXtjb250ZW50OiJcZjI1YiJ9LmZhLWhhbmQtcG9pbnQtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwYTcifS5mYS1oYW5kLXBvaW50LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGE1In0uZmEtaGFuZC1wb2ludC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwYTQifS5mYS1oYW5kLXBvaW50LXVwOmJlZm9yZXtjb250ZW50OiJcZjBhNiJ9LmZhLWhhbmQtcG9pbnRlcjpiZWZvcmV7Y29udGVudDoiXGYyNWEifS5mYS1oYW5kLXJvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMjU1In0uZmEtaGFuZC1zY2lzc29yczpiZWZvcmV7Y29udGVudDoiXGYyNTcifS5mYS1oYW5kLXNwYXJrbGVzOmJlZm9yZXtjb250ZW50OiJcZTA1ZCJ9LmZhLWhhbmQtc3BvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMjU5In0uZmEtaGFuZHM6YmVmb3Jle2NvbnRlbnQ6IlxmNGMyIn0uZmEtaGFuZHMtaGVscGluZzpiZWZvcmV7Y29udGVudDoiXGY0YzQifS5mYS1oYW5kcy13YXNoOmJlZm9yZXtjb250ZW50OiJcZTA1ZSJ9LmZhLWhhbmRzaGFrZTpiZWZvcmV7Y29udGVudDoiXGYyYjUifS5mYS1oYW5kc2hha2UtYWx0LXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZTA1ZiJ9LmZhLWhhbmRzaGFrZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGUwNjAifS5mYS1oYW51a2lhaDpiZWZvcmV7Y29udGVudDoiXGY2ZTYifS5mYS1oYXJkLWhhdDpiZWZvcmV7Y29udGVudDoiXGY4MDcifS5mYS1oYXNodGFnOmJlZm9yZXtjb250ZW50OiJcZjI5MiJ9LmZhLWhhdC1jb3dib3k6YmVmb3Jle2NvbnRlbnQ6IlxmOGMwIn0uZmEtaGF0LWNvd2JveS1zaWRlOmJlZm9yZXtjb250ZW50OiJcZjhjMSJ9LmZhLWhhdC13aXphcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNmU4In0uZmEtaGRkOmJlZm9yZXtjb250ZW50OiJcZjBhMCJ9LmZhLWhlYWQtc2lkZS1jb3VnaDpiZWZvcmV7Y29udGVudDoiXGUwNjEifS5mYS1oZWFkLXNpZGUtY291Z2gtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDYyIn0uZmEtaGVhZC1zaWRlLW1hc2s6YmVmb3Jle2NvbnRlbnQ6IlxlMDYzIn0uZmEtaGVhZC1zaWRlLXZpcnVzOmJlZm9yZXtjb250ZW50OiJcZTA2NCJ9LmZhLWhlYWRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMWRjIn0uZmEtaGVhZHBob25lczpiZWZvcmV7Y29udGVudDoiXGYwMjUifS5mYS1oZWFkcGhvbmVzLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1OGYifS5mYS1oZWFkc2V0OmJlZm9yZXtjb250ZW50OiJcZjU5MCJ9LmZhLWhlYXJ0OmJlZm9yZXtjb250ZW50OiJcZjAwNCJ9LmZhLWhlYXJ0LWJyb2tlbjpiZWZvcmV7Y29udGVudDoiXGY3YTkifS5mYS1oZWFydGJlYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjFlIn0uZmEtaGVsaWNvcHRlcjpiZWZvcmV7Y29udGVudDoiXGY1MzMifS5mYS1oaWdobGlnaHRlcjpiZWZvcmV7Y29udGVudDoiXGY1OTEifS5mYS1oaWtpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNmVjIn0uZmEtaGlwcG86YmVmb3Jle2NvbnRlbnQ6IlxmNmVkIn0uZmEtaGlwczpiZWZvcmV7Y29udGVudDoiXGY0NTIifS5mYS1oaXJlLWEtaGVscGVyOmJlZm9yZXtjb250ZW50OiJcZjNiMCJ9LmZhLWhpc3Rvcnk6YmVmb3Jle2NvbnRlbnQ6IlxmMWRhIn0uZmEtaGl2ZTpiZWZvcmV7Y29udGVudDoiXGUwN2YifS5mYS1ob2NrZXktcHVjazpiZWZvcmV7Y29udGVudDoiXGY0NTMifS5mYS1ob2xseS1iZXJyeTpiZWZvcmV7Y29udGVudDoiXGY3YWEifS5mYS1ob21lOmJlZm9yZXtjb250ZW50OiJcZjAxNSJ9LmZhLWhvb2xpOmJlZm9yZXtjb250ZW50OiJcZjQyNyJ9LmZhLWhvcm5iaWxsOmJlZm9yZXtjb250ZW50OiJcZjU5MiJ9LmZhLWhvcnNlOmJlZm9yZXtjb250ZW50OiJcZjZmMCJ9LmZhLWhvcnNlLWhlYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmN2FiIn0uZmEtaG9zcGl0YWw6YmVmb3Jle2NvbnRlbnQ6IlxmMGY4In0uZmEtaG9zcGl0YWwtYWx0OmJlZm9yZXtjb250ZW50OiJcZjQ3ZCJ9LmZhLWhvc3BpdGFsLXN5bWJvbDpiZWZvcmV7Y29udGVudDoiXGY0N2UifS5mYS1ob3NwaXRhbC11c2VyOmJlZm9yZXtjb250ZW50OiJcZjgwZCJ9LmZhLWhvdC10dWI6YmVmb3Jle2NvbnRlbnQ6IlxmNTkzIn0uZmEtaG90ZG9nOmJlZm9yZXtjb250ZW50OiJcZjgwZiJ9LmZhLWhvdGVsOmJlZm9yZXtjb250ZW50OiJcZjU5NCJ9LmZhLWhvdGphcjpiZWZvcmV7Y29udGVudDoiXGYzYjEifS5mYS1ob3VyZ2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMjU0In0uZmEtaG91cmdsYXNzLWVuZDpiZWZvcmV7Y29udGVudDoiXGYyNTMifS5mYS1ob3VyZ2xhc3MtaGFsZjpiZWZvcmV7Y29udGVudDoiXGYyNTIifS5mYS1ob3VyZ2xhc3Mtc3RhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjUxIn0uZmEtaG91c2UtZGFtYWdlOmJlZm9yZXtjb250ZW50OiJcZjZmMSJ9LmZhLWhvdXNlLXVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMDY1In0uZmEtaG91eno6YmVmb3Jle2NvbnRlbnQ6IlxmMjdjIn0uZmEtaHJ5dm5pYTpiZWZvcmV7Y29udGVudDoiXGY2ZjIifS5mYS1odG1sNTpiZWZvcmV7Y29udGVudDoiXGYxM2IifS5mYS1odWJzcG90OmJlZm9yZXtjb250ZW50OiJcZjNiMiJ9LmZhLWktY3Vyc29yOmJlZm9yZXtjb250ZW50OiJcZjI0NiJ9LmZhLWljZS1jcmVhbTpiZWZvcmV7Y29udGVudDoiXGY4MTAifS5mYS1pY2ljbGVzOmJlZm9yZXtjb250ZW50OiJcZjdhZCJ9LmZhLWljb25zOmJlZm9yZXtjb250ZW50OiJcZjg2ZCJ9LmZhLWlkLWJhZGdlOmJlZm9yZXtjb250ZW50OiJcZjJjMSJ9LmZhLWlkLWNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmMyIn0uZmEtaWQtY2FyZC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDdmIn0uZmEtaWRlYWw6YmVmb3Jle2NvbnRlbnQ6IlxlMDEzIn0uZmEtaWdsb286YmVmb3Jle2NvbnRlbnQ6IlxmN2FlIn0uZmEtaW1hZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMDNlIn0uZmEtaW1hZ2VzOmJlZm9yZXtjb250ZW50OiJcZjMwMiJ9LmZhLWltZGI6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ4In0uZmEtaW5ib3g6YmVmb3Jle2NvbnRlbnQ6IlxmMDFjIn0uZmEtaW5kZW50OmJlZm9yZXtjb250ZW50OiJcZjAzYyJ9LmZhLWluZHVzdHJ5OmJlZm9yZXtjb250ZW50OiJcZjI3NSJ9LmZhLWluZmluaXR5OmJlZm9yZXtjb250ZW50OiJcZjUzNCJ9LmZhLWluZm86YmVmb3Jle2NvbnRlbnQ6IlxmMTI5In0uZmEtaW5mby1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDVhIn0uZmEtaW5ub3NvZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDgwIn0uZmEtaW5zdGFncmFtOmJlZm9yZXtjb250ZW50OiJcZjE2ZCJ9LmZhLWluc3RhZ3JhbS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlMDU1In0uZmEtaW5zdGFsb2Q6YmVmb3Jle2NvbnRlbnQ6IlxlMDgxIn0uZmEtaW50ZXJjb206YmVmb3Jle2NvbnRlbnQ6IlxmN2FmIn0uZmEtaW50ZXJuZXQtZXhwbG9yZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjZiIn0uZmEtaW52aXNpb246YmVmb3Jle2NvbnRlbnQ6IlxmN2IwIn0uZmEtaW94aG9zdDpiZWZvcmV7Y29udGVudDoiXGYyMDgifS5mYS1pdGFsaWM6YmVmb3Jle2NvbnRlbnQ6IlxmMDMzIn0uZmEtaXRjaC1pbzpiZWZvcmV7Y29udGVudDoiXGY4M2EifS5mYS1pdHVuZXM6YmVmb3Jle2NvbnRlbnQ6IlxmM2I0In0uZmEtaXR1bmVzLW5vdGU6YmVmb3Jle2NvbnRlbnQ6IlxmM2I1In0uZmEtamF2YTpiZWZvcmV7Y29udGVudDoiXGY0ZTQifS5mYS1qZWRpOmJlZm9yZXtjb250ZW50OiJcZjY2OSJ9LmZhLWplZGktb3JkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNTBlIn0uZmEtamVua2luczpiZWZvcmV7Y29udGVudDoiXGYzYjYifS5mYS1qaXJhOmJlZm9yZXtjb250ZW50OiJcZjdiMSJ9LmZhLWpvZ2V0OmJlZm9yZXtjb250ZW50OiJcZjNiNyJ9LmZhLWpvaW50OmJlZm9yZXtjb250ZW50OiJcZjU5NSJ9LmZhLWpvb21sYTpiZWZvcmV7Y29udGVudDoiXGYxYWEifS5mYS1qb3VybmFsLXdoaWxsczpiZWZvcmV7Y29udGVudDoiXGY2NmEifS5mYS1qczpiZWZvcmV7Y29udGVudDoiXGYzYjgifS5mYS1qcy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2I5In0uZmEtanNmaWRkbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWNjIn0uZmEta2FhYmE6YmVmb3Jle2NvbnRlbnQ6IlxmNjZiIn0uZmEta2FnZ2xlOmJlZm9yZXtjb250ZW50OiJcZjVmYSJ9LmZhLWtleTpiZWZvcmV7Y29udGVudDoiXGYwODQifS5mYS1rZXliYXNlOmJlZm9yZXtjb250ZW50OiJcZjRmNSJ9LmZhLWtleWJvYXJkOmJlZm9yZXtjb250ZW50OiJcZjExYyJ9LmZhLWtleWNkbjpiZWZvcmV7Y29udGVudDoiXGYzYmEifS5mYS1raGFuZGE6YmVmb3Jle2NvbnRlbnQ6IlxmNjZkIn0uZmEta2lja3N0YXJ0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmM2JiIn0uZmEta2lja3N0YXJ0ZXItazpiZWZvcmV7Y29udGVudDoiXGYzYmMifS5mYS1raXNzOmJlZm9yZXtjb250ZW50OiJcZjU5NiJ9LmZhLWtpc3MtYmVhbTpiZWZvcmV7Y29udGVudDoiXGY1OTcifS5mYS1raXNzLXdpbmstaGVhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTk4In0uZmEta2l3aS1iaXJkOmJlZm9yZXtjb250ZW50OiJcZjUzNSJ9LmZhLWtvcnZ1ZTpiZWZvcmV7Y29udGVudDoiXGY0MmYifS5mYS1sYW5kbWFyazpiZWZvcmV7Y29udGVudDoiXGY2NmYifS5mYS1sYW5ndWFnZTpiZWZvcmV7Y29udGVudDoiXGYxYWIifS5mYS1sYXB0b3A6YmVmb3Jle2NvbnRlbnQ6IlxmMTA5In0uZmEtbGFwdG9wLWNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxmNWZjIn0uZmEtbGFwdG9wLWhvdXNlOmJlZm9yZXtjb250ZW50OiJcZTA2NiJ9LmZhLWxhcHRvcC1tZWRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjgxMiJ9LmZhLWxhcmF2ZWw6YmVmb3Jle2NvbnRlbnQ6IlxmM2JkIn0uZmEtbGFzdGZtOmJlZm9yZXtjb250ZW50OiJcZjIwMiJ9LmZhLWxhc3RmbS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjAzIn0uZmEtbGF1Z2g6YmVmb3Jle2NvbnRlbnQ6IlxmNTk5In0uZmEtbGF1Z2gtYmVhbTpiZWZvcmV7Y29udGVudDoiXGY1OWEifS5mYS1sYXVnaC1zcXVpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTliIn0uZmEtbGF1Z2gtd2luazpiZWZvcmV7Y29udGVudDoiXGY1OWMifS5mYS1sYXllci1ncm91cDpiZWZvcmV7Y29udGVudDoiXGY1ZmQifS5mYS1sZWFmOmJlZm9yZXtjb250ZW50OiJcZjA2YyJ9LmZhLWxlYW5wdWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjEyIn0uZmEtbGVtb246YmVmb3Jle2NvbnRlbnQ6IlxmMDk0In0uZmEtbGVzczpiZWZvcmV7Y29udGVudDoiXGY0MWQifS5mYS1sZXNzLXRoYW46YmVmb3Jle2NvbnRlbnQ6IlxmNTM2In0uZmEtbGVzcy10aGFuLWVxdWFsOmJlZm9yZXtjb250ZW50OiJcZjUzNyJ9LmZhLWxldmVsLWRvd24tYWx0OmJlZm9yZXtjb250ZW50OiJcZjNiZSJ9LmZhLWxldmVsLXVwLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzYmYifS5mYS1saWZlLXJpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMWNkIn0uZmEtbGlnaHRidWxiOmJlZm9yZXtjb250ZW50OiJcZjBlYiJ9LmZhLWxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2MwIn0uZmEtbGluazpiZWZvcmV7Y29udGVudDoiXGYwYzEifS5mYS1saW5rZWRpbjpiZWZvcmV7Y29udGVudDoiXGYwOGMifS5mYS1saW5rZWRpbi1pbjpiZWZvcmV7Y29udGVudDoiXGYwZTEifS5mYS1saW5vZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmI4In0uZmEtbGludXg6YmVmb3Jle2NvbnRlbnQ6IlxmMTdjIn0uZmEtbGlyYS1zaWduOmJlZm9yZXtjb250ZW50OiJcZjE5NSJ9LmZhLWxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDNhIn0uZmEtbGlzdC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDIyIn0uZmEtbGlzdC1vbDpiZWZvcmV7Y29udGVudDoiXGYwY2IifS5mYS1saXN0LXVsOmJlZm9yZXtjb250ZW50OiJcZjBjYSJ9LmZhLWxvY2F0aW9uLWFycm93OmJlZm9yZXtjb250ZW50OiJcZjEyNCJ9LmZhLWxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDIzIn0uZmEtbG9jay1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjNjMSJ9LmZhLWxvbmctYXJyb3ctYWx0LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMzA5In0uZmEtbG9uZy1hcnJvdy1hbHQtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYzMGEifS5mYS1sb25nLWFycm93LWFsdC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYzMGIifS5mYS1sb25nLWFycm93LWFsdC11cDpiZWZvcmV7Y29udGVudDoiXGYzMGMifS5mYS1sb3ctdmlzaW9uOmJlZm9yZXtjb250ZW50OiJcZjJhOCJ9LmZhLWx1Z2dhZ2UtY2FydDpiZWZvcmV7Y29udGVudDoiXGY1OWQifS5mYS1sdW5nczpiZWZvcmV7Y29udGVudDoiXGY2MDQifS5mYS1sdW5ncy12aXJ1czpiZWZvcmV7Y29udGVudDoiXGUwNjcifS5mYS1seWZ0OmJlZm9yZXtjb250ZW50OiJcZjNjMyJ9LmZhLW1hZ2VudG86YmVmb3Jle2NvbnRlbnQ6IlxmM2M0In0uZmEtbWFnaWM6YmVmb3Jle2NvbnRlbnQ6IlxmMGQwIn0uZmEtbWFnbmV0OmJlZm9yZXtjb250ZW50OiJcZjA3NiJ9LmZhLW1haWwtYnVsazpiZWZvcmV7Y29udGVudDoiXGY2NzQifS5mYS1tYWlsY2hpbXA6YmVmb3Jle2NvbnRlbnQ6IlxmNTllIn0uZmEtbWFsZTpiZWZvcmV7Y29udGVudDoiXGYxODMifS5mYS1tYW5kYWxvcmlhbjpiZWZvcmV7Y29udGVudDoiXGY1MGYifS5mYS1tYXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjc5In0uZmEtbWFwLW1hcmtlZDpiZWZvcmV7Y29udGVudDoiXGY1OWYifS5mYS1tYXAtbWFya2VkLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1YTAifS5mYS1tYXAtbWFya2VyOmJlZm9yZXtjb250ZW50OiJcZjA0MSJ9LmZhLW1hcC1tYXJrZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjNjNSJ9LmZhLW1hcC1waW46YmVmb3Jle2NvbnRlbnQ6IlxmMjc2In0uZmEtbWFwLXNpZ25zOmJlZm9yZXtjb250ZW50OiJcZjI3NyJ9LmZhLW1hcmtkb3duOmJlZm9yZXtjb250ZW50OiJcZjYwZiJ9LmZhLW1hcmtlcjpiZWZvcmV7Y29udGVudDoiXGY1YTEifS5mYS1tYXJzOmJlZm9yZXtjb250ZW50OiJcZjIyMiJ9LmZhLW1hcnMtZG91YmxlOmJlZm9yZXtjb250ZW50OiJcZjIyNyJ9LmZhLW1hcnMtc3Ryb2tlOmJlZm9yZXtjb250ZW50OiJcZjIyOSJ9LmZhLW1hcnMtc3Ryb2tlLWg6YmVmb3Jle2NvbnRlbnQ6IlxmMjJiIn0uZmEtbWFycy1zdHJva2UtdjpiZWZvcmV7Y29udGVudDoiXGYyMmEifS5mYS1tYXNrOmJlZm9yZXtjb250ZW50OiJcZjZmYSJ9LmZhLW1hc3RvZG9uOmJlZm9yZXtjb250ZW50OiJcZjRmNiJ9LmZhLW1heGNkbjpiZWZvcmV7Y29udGVudDoiXGYxMzYifS5mYS1tZGI6YmVmb3Jle2NvbnRlbnQ6IlxmOGNhIn0uZmEtbWVkYWw6YmVmb3Jle2NvbnRlbnQ6IlxmNWEyIn0uZmEtbWVkYXBwczpiZWZvcmV7Y29udGVudDoiXGYzYzYifS5mYS1tZWRpdW06YmVmb3Jle2NvbnRlbnQ6IlxmMjNhIn0uZmEtbWVkaXVtLW06YmVmb3Jle2NvbnRlbnQ6IlxmM2M3In0uZmEtbWVka2l0OmJlZm9yZXtjb250ZW50OiJcZjBmYSJ9LmZhLW1lZHJ0OmJlZm9yZXtjb250ZW50OiJcZjNjOCJ9LmZhLW1lZXR1cDpiZWZvcmV7Y29udGVudDoiXGYyZTAifS5mYS1tZWdhcG9ydDpiZWZvcmV7Y29udGVudDoiXGY1YTMifS5mYS1tZWg6YmVmb3Jle2NvbnRlbnQ6IlxmMTFhIn0uZmEtbWVoLWJsYW5rOmJlZm9yZXtjb250ZW50OiJcZjVhNCJ9LmZhLW1laC1yb2xsaW5nLWV5ZXM6YmVmb3Jle2NvbnRlbnQ6IlxmNWE1In0uZmEtbWVtb3J5OmJlZm9yZXtjb250ZW50OiJcZjUzOCJ9LmZhLW1lbmRlbGV5OmJlZm9yZXtjb250ZW50OiJcZjdiMyJ9LmZhLW1lbm9yYWg6YmVmb3Jle2NvbnRlbnQ6IlxmNjc2In0uZmEtbWVyY3VyeTpiZWZvcmV7Y29udGVudDoiXGYyMjMifS5mYS1tZXRlb3I6YmVmb3Jle2NvbnRlbnQ6IlxmNzUzIn0uZmEtbWljcm9ibG9nOmJlZm9yZXtjb250ZW50OiJcZTAxYSJ9LmZhLW1pY3JvY2hpcDpiZWZvcmV7Y29udGVudDoiXGYyZGIifS5mYS1taWNyb3Bob25lOmJlZm9yZXtjb250ZW50OiJcZjEzMCJ9LmZhLW1pY3JvcGhvbmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjNjOSJ9LmZhLW1pY3JvcGhvbmUtYWx0LXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjUzOSJ9LmZhLW1pY3JvcGhvbmUtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMTMxIn0uZmEtbWljcm9zY29wZTpiZWZvcmV7Y29udGVudDoiXGY2MTAifS5mYS1taWNyb3NvZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2NhIn0uZmEtbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxmMDY4In0uZmEtbWludXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1NiJ9LmZhLW1pbnVzLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNDYifS5mYS1taXR0ZW46YmVmb3Jle2NvbnRlbnQ6IlxmN2I1In0uZmEtbWl4OmJlZm9yZXtjb250ZW50OiJcZjNjYiJ9LmZhLW1peGNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjI4OSJ9LmZhLW1peGVyOmJlZm9yZXtjb250ZW50OiJcZTA1NiJ9LmZhLW1penVuaTpiZWZvcmV7Y29udGVudDoiXGYzY2MifS5mYS1tb2JpbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTBiIn0uZmEtbW9iaWxlLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzY2QifS5mYS1tb2R4OmJlZm9yZXtjb250ZW50OiJcZjI4NSJ9LmZhLW1vbmVybzpiZWZvcmV7Y29udGVudDoiXGYzZDAifS5mYS1tb25leS1iaWxsOmJlZm9yZXtjb250ZW50OiJcZjBkNiJ9LmZhLW1vbmV5LWJpbGwtYWx0OmJlZm9yZXtjb250ZW50OiJcZjNkMSJ9LmZhLW1vbmV5LWJpbGwtd2F2ZTpiZWZvcmV7Y29udGVudDoiXGY1M2EifS5mYS1tb25leS1iaWxsLXdhdmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjUzYiJ9LmZhLW1vbmV5LWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZjUzYyJ9LmZhLW1vbmV5LWNoZWNrLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1M2QifS5mYS1tb251bWVudDpiZWZvcmV7Y29udGVudDoiXGY1YTYifS5mYS1tb29uOmJlZm9yZXtjb250ZW50OiJcZjE4NiJ9LmZhLW1vcnRhci1wZXN0bGU6YmVmb3Jle2NvbnRlbnQ6IlxmNWE3In0uZmEtbW9zcXVlOmJlZm9yZXtjb250ZW50OiJcZjY3OCJ9LmZhLW1vdG9yY3ljbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjFjIn0uZmEtbW91bnRhaW46YmVmb3Jle2NvbnRlbnQ6IlxmNmZjIn0uZmEtbW91c2U6YmVmb3Jle2NvbnRlbnQ6IlxmOGNjIn0uZmEtbW91c2UtcG9pbnRlcjpiZWZvcmV7Y29udGVudDoiXGYyNDUifS5mYS1tdWctaG90OmJlZm9yZXtjb250ZW50OiJcZjdiNiJ9LmZhLW11c2ljOmJlZm9yZXtjb250ZW50OiJcZjAwMSJ9LmZhLW5hcHN0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmM2QyIn0uZmEtbmVvczpiZWZvcmV7Y29udGVudDoiXGY2MTIifS5mYS1uZXR3b3JrLXdpcmVkOmJlZm9yZXtjb250ZW50OiJcZjZmZiJ9LmZhLW5ldXRlcjpiZWZvcmV7Y29udGVudDoiXGYyMmMifS5mYS1uZXdzcGFwZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWVhIn0uZmEtbmltYmxyOmJlZm9yZXtjb250ZW50OiJcZjVhOCJ9LmZhLW5vZGU6YmVmb3Jle2NvbnRlbnQ6IlxmNDE5In0uZmEtbm9kZS1qczpiZWZvcmV7Y29udGVudDoiXGYzZDMifS5mYS1ub3QtZXF1YWw6YmVmb3Jle2NvbnRlbnQ6IlxmNTNlIn0uZmEtbm90ZXMtbWVkaWNhbDpiZWZvcmV7Y29udGVudDoiXGY0ODEifS5mYS1ucG06YmVmb3Jle2NvbnRlbnQ6IlxmM2Q0In0uZmEtbnM4OmJlZm9yZXtjb250ZW50OiJcZjNkNSJ9LmZhLW51dHJpdGlvbml4OmJlZm9yZXtjb250ZW50OiJcZjNkNiJ9LmZhLW9iamVjdC1ncm91cDpiZWZvcmV7Y29udGVudDoiXGYyNDcifS5mYS1vYmplY3QtdW5ncm91cDpiZWZvcmV7Y29udGVudDoiXGYyNDgifS5mYS1vY3RvcHVzLWRlcGxveTpiZWZvcmV7Y29udGVudDoiXGUwODIifS5mYS1vZG5va2xhc3NuaWtpOmJlZm9yZXtjb250ZW50OiJcZjI2MyJ9LmZhLW9kbm9rbGFzc25pa2ktc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjI2NCJ9LmZhLW9pbC1jYW46YmVmb3Jle2NvbnRlbnQ6IlxmNjEzIn0uZmEtb2xkLXJlcHVibGljOmJlZm9yZXtjb250ZW50OiJcZjUxMCJ9LmZhLW9tOmJlZm9yZXtjb250ZW50OiJcZjY3OSJ9LmZhLW9wZW5jYXJ0OmJlZm9yZXtjb250ZW50OiJcZjIzZCJ9LmZhLW9wZW5pZDpiZWZvcmV7Y29udGVudDoiXGYxOWIifS5mYS1vcGVyYTpiZWZvcmV7Y29udGVudDoiXGYyNmEifS5mYS1vcHRpbi1tb25zdGVyOmJlZm9yZXtjb250ZW50OiJcZjIzYyJ9LmZhLW9yY2lkOmJlZm9yZXtjb250ZW50OiJcZjhkMiJ9LmZhLW9zaTpiZWZvcmV7Y29udGVudDoiXGY0MWEifS5mYS1vdHRlcjpiZWZvcmV7Y29udGVudDoiXGY3MDAifS5mYS1vdXRkZW50OmJlZm9yZXtjb250ZW50OiJcZjAzYiJ9LmZhLXBhZ2U0OmJlZm9yZXtjb250ZW50OiJcZjNkNyJ9LmZhLXBhZ2VsaW5lczpiZWZvcmV7Y29udGVudDoiXGYxOGMifS5mYS1wYWdlcjpiZWZvcmV7Y29udGVudDoiXGY4MTUifS5mYS1wYWludC1icnVzaDpiZWZvcmV7Y29udGVudDoiXGYxZmMifS5mYS1wYWludC1yb2xsZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNWFhIn0uZmEtcGFsZXR0ZTpiZWZvcmV7Y29udGVudDoiXGY1M2YifS5mYS1wYWxmZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2Q4In0uZmEtcGFsbGV0OmJlZm9yZXtjb250ZW50OiJcZjQ4MiJ9LmZhLXBhcGVyLXBsYW5lOmJlZm9yZXtjb250ZW50OiJcZjFkOCJ9LmZhLXBhcGVyY2xpcDpiZWZvcmV7Y29udGVudDoiXGYwYzYifS5mYS1wYXJhY2h1dGUtYm94OmJlZm9yZXtjb250ZW50OiJcZjRjZCJ9LmZhLXBhcmFncmFwaDpiZWZvcmV7Y29udGVudDoiXGYxZGQifS5mYS1wYXJraW5nOmJlZm9yZXtjb250ZW50OiJcZjU0MCJ9LmZhLXBhc3Nwb3J0OmJlZm9yZXtjb250ZW50OiJcZjVhYiJ9LmZhLXBhc3RhZmFyaWFuaXNtOmJlZm9yZXtjb250ZW50OiJcZjY3YiJ9LmZhLXBhc3RlOmJlZm9yZXtjb250ZW50OiJcZjBlYSJ9LmZhLXBhdHJlb246YmVmb3Jle2NvbnRlbnQ6IlxmM2Q5In0uZmEtcGF1c2U6YmVmb3Jle2NvbnRlbnQ6IlxmMDRjIn0uZmEtcGF1c2UtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjI4YiJ9LmZhLXBhdzpiZWZvcmV7Y29udGVudDoiXGYxYjAifS5mYS1wYXlwYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWVkIn0uZmEtcGVhY2U6YmVmb3Jle2NvbnRlbnQ6IlxmNjdjIn0uZmEtcGVuOmJlZm9yZXtjb250ZW50OiJcZjMwNCJ9LmZhLXBlbi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzA1In0uZmEtcGVuLWZhbmN5OmJlZm9yZXtjb250ZW50OiJcZjVhYyJ9LmZhLXBlbi1uaWI6YmVmb3Jle2NvbnRlbnQ6IlxmNWFkIn0uZmEtcGVuLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGIifS5mYS1wZW5jaWwtYWx0OmJlZm9yZXtjb250ZW50OiJcZjMwMyJ9LmZhLXBlbmNpbC1ydWxlcjpiZWZvcmV7Y29udGVudDoiXGY1YWUifS5mYS1wZW5ueS1hcmNhZGU6YmVmb3Jle2NvbnRlbnQ6IlxmNzA0In0uZmEtcGVvcGxlLWFycm93czpiZWZvcmV7Y29udGVudDoiXGUwNjgifS5mYS1wZW9wbGUtY2Fycnk6YmVmb3Jle2NvbnRlbnQ6IlxmNGNlIn0uZmEtcGVwcGVyLWhvdDpiZWZvcmV7Y29udGVudDoiXGY4MTYifS5mYS1wZXJieXRlOmJlZm9yZXtjb250ZW50OiJcZTA4MyJ9LmZhLXBlcmNlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjk1In0uZmEtcGVyY2VudGFnZTpiZWZvcmV7Y29udGVudDoiXGY1NDEifS5mYS1wZXJpc2NvcGU6YmVmb3Jle2NvbnRlbnQ6IlxmM2RhIn0uZmEtcGVyc29uLWJvb3RoOmJlZm9yZXtjb250ZW50OiJcZjc1NiJ9LmZhLXBoYWJyaWNhdG9yOmJlZm9yZXtjb250ZW50OiJcZjNkYiJ9LmZhLXBob2VuaXgtZnJhbWV3b3JrOmJlZm9yZXtjb250ZW50OiJcZjNkYyJ9LmZhLXBob2VuaXgtc3F1YWRyb246YmVmb3Jle2NvbnRlbnQ6IlxmNTExIn0uZmEtcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDk1In0uZmEtcGhvbmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjg3OSJ9LmZhLXBob25lLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjNkZCJ9LmZhLXBob25lLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwOTgifS5mYS1waG9uZS1zcXVhcmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjg3YiJ9LmZhLXBob25lLXZvbHVtZTpiZWZvcmV7Y29udGVudDoiXGYyYTAifS5mYS1waG90by12aWRlbzpiZWZvcmV7Y29udGVudDoiXGY4N2MifS5mYS1waHA6YmVmb3Jle2NvbnRlbnQ6IlxmNDU3In0uZmEtcGllZC1waXBlcjpiZWZvcmV7Y29udGVudDoiXGYyYWUifS5mYS1waWVkLXBpcGVyLWFsdDpiZWZvcmV7Y29udGVudDoiXGYxYTgifS5mYS1waWVkLXBpcGVyLWhhdDpiZWZvcmV7Y29udGVudDoiXGY0ZTUifS5mYS1waWVkLXBpcGVyLXBwOmJlZm9yZXtjb250ZW50OiJcZjFhNyJ9LmZhLXBpZWQtcGlwZXItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZTAxZSJ9LmZhLXBpZ2d5LWJhbms6YmVmb3Jle2NvbnRlbnQ6IlxmNGQzIn0uZmEtcGlsbHM6YmVmb3Jle2NvbnRlbnQ6IlxmNDg0In0uZmEtcGludGVyZXN0OmJlZm9yZXtjb250ZW50OiJcZjBkMiJ9LmZhLXBpbnRlcmVzdC1wOmJlZm9yZXtjb250ZW50OiJcZjIzMSJ9LmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGQzIn0uZmEtcGl6emEtc2xpY2U6YmVmb3Jle2NvbnRlbnQ6IlxmODE4In0uZmEtcGxhY2Utb2Ytd29yc2hpcDpiZWZvcmV7Y29udGVudDoiXGY2N2YifS5mYS1wbGFuZTpiZWZvcmV7Y29udGVudDoiXGYwNzIifS5mYS1wbGFuZS1hcnJpdmFsOmJlZm9yZXtjb250ZW50OiJcZjVhZiJ9LmZhLXBsYW5lLWRlcGFydHVyZTpiZWZvcmV7Y29udGVudDoiXGY1YjAifS5mYS1wbGFuZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGUwNjkifS5mYS1wbGF5OmJlZm9yZXtjb250ZW50OiJcZjA0YiJ9LmZhLXBsYXktY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjE0NCJ9LmZhLXBsYXlzdGF0aW9uOmJlZm9yZXtjb250ZW50OiJcZjNkZiJ9LmZhLXBsdWc6YmVmb3Jle2NvbnRlbnQ6IlxmMWU2In0uZmEtcGx1czpiZWZvcmV7Y29udGVudDoiXGYwNjcifS5mYS1wbHVzLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNTUifS5mYS1wbHVzLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwZmUifS5mYS1wb2RjYXN0OmJlZm9yZXtjb250ZW50OiJcZjJjZSJ9LmZhLXBvbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNjgxIn0uZmEtcG9sbC1oOmJlZm9yZXtjb250ZW50OiJcZjY4MiJ9LmZhLXBvbzpiZWZvcmV7Y29udGVudDoiXGYyZmUifS5mYS1wb28tc3Rvcm06YmVmb3Jle2NvbnRlbnQ6IlxmNzVhIn0uZmEtcG9vcDpiZWZvcmV7Y29udGVudDoiXGY2MTkifS5mYS1wb3J0cmFpdDpiZWZvcmV7Y29udGVudDoiXGYzZTAifS5mYS1wb3VuZC1zaWduOmJlZm9yZXtjb250ZW50OiJcZjE1NCJ9LmZhLXBvd2VyLW9mZjpiZWZvcmV7Y29udGVudDoiXGYwMTEifS5mYS1wcmF5OmJlZm9yZXtjb250ZW50OiJcZjY4MyJ9LmZhLXByYXlpbmctaGFuZHM6YmVmb3Jle2NvbnRlbnQ6IlxmNjg0In0uZmEtcHJlc2NyaXB0aW9uOmJlZm9yZXtjb250ZW50OiJcZjViMSJ9LmZhLXByZXNjcmlwdGlvbi1ib3R0bGU6YmVmb3Jle2NvbnRlbnQ6IlxmNDg1In0uZmEtcHJlc2NyaXB0aW9uLWJvdHRsZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDg2In0uZmEtcHJpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDJmIn0uZmEtcHJvY2VkdXJlczpiZWZvcmV7Y29udGVudDoiXGY0ODcifS5mYS1wcm9kdWN0LWh1bnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjg4In0uZmEtcHJvamVjdC1kaWFncmFtOmJlZm9yZXtjb250ZW50OiJcZjU0MiJ9LmZhLXB1bXAtbWVkaWNhbDpiZWZvcmV7Y29udGVudDoiXGUwNmEifS5mYS1wdW1wLXNvYXA6YmVmb3Jle2NvbnRlbnQ6IlxlMDZiIn0uZmEtcHVzaGVkOmJlZm9yZXtjb250ZW50OiJcZjNlMSJ9LmZhLXB1enpsZS1waWVjZTpiZWZvcmV7Y29udGVudDoiXGYxMmUifS5mYS1weXRob246YmVmb3Jle2NvbnRlbnQ6IlxmM2UyIn0uZmEtcXE6YmVmb3Jle2NvbnRlbnQ6IlxmMWQ2In0uZmEtcXJjb2RlOmJlZm9yZXtjb250ZW50OiJcZjAyOSJ9LmZhLXF1ZXN0aW9uOmJlZm9yZXtjb250ZW50OiJcZjEyOCJ9LmZhLXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNTkifS5mYS1xdWlkZGl0Y2g6YmVmb3Jle2NvbnRlbnQ6IlxmNDU4In0uZmEtcXVpbnNjYXBlOmJlZm9yZXtjb250ZW50OiJcZjQ1OSJ9LmZhLXF1b3JhOmJlZm9yZXtjb250ZW50OiJcZjJjNCJ9LmZhLXF1b3RlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTBkIn0uZmEtcXVvdGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTBlIn0uZmEtcXVyYW46YmVmb3Jle2NvbnRlbnQ6IlxmNjg3In0uZmEtci1wcm9qZWN0OmJlZm9yZXtjb250ZW50OiJcZjRmNyJ9LmZhLXJhZGlhdGlvbjpiZWZvcmV7Y29udGVudDoiXGY3YjkifS5mYS1yYWRpYXRpb24tYWx0OmJlZm9yZXtjb250ZW50OiJcZjdiYSJ9LmZhLXJhaW5ib3c6YmVmb3Jle2NvbnRlbnQ6IlxmNzViIn0uZmEtcmFuZG9tOmJlZm9yZXtjb250ZW50OiJcZjA3NCJ9LmZhLXJhc3BiZXJyeS1waTpiZWZvcmV7Y29udGVudDoiXGY3YmIifS5mYS1yYXZlbHJ5OmJlZm9yZXtjb250ZW50OiJcZjJkOSJ9LmZhLXJlYWN0OmJlZm9yZXtjb250ZW50OiJcZjQxYiJ9LmZhLXJlYWN0ZXVyb3BlOmJlZm9yZXtjb250ZW50OiJcZjc1ZCJ9LmZhLXJlYWRtZTpiZWZvcmV7Y29udGVudDoiXGY0ZDUifS5mYS1yZWJlbDpiZWZvcmV7Y29udGVudDoiXGYxZDAifS5mYS1yZWNlaXB0OmJlZm9yZXtjb250ZW50OiJcZjU0MyJ9LmZhLXJlY29yZC12aW55bDpiZWZvcmV7Y29udGVudDoiXGY4ZDkifS5mYS1yZWN5Y2xlOmJlZm9yZXtjb250ZW50OiJcZjFiOCJ9LmZhLXJlZC1yaXZlcjpiZWZvcmV7Y29udGVudDoiXGYzZTMifS5mYS1yZWRkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWExIn0uZmEtcmVkZGl0LWFsaWVuOmJlZm9yZXtjb250ZW50OiJcZjI4MSJ9LmZhLXJlZGRpdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWEyIn0uZmEtcmVkaGF0OmJlZm9yZXtjb250ZW50OiJcZjdiYyJ9LmZhLXJlZG86YmVmb3Jle2NvbnRlbnQ6IlxmMDFlIn0uZmEtcmVkby1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmY5In0uZmEtcmVnaXN0ZXJlZDpiZWZvcmV7Y29udGVudDoiXGYyNWQifS5mYS1yZW1vdmUtZm9ybWF0OmJlZm9yZXtjb250ZW50OiJcZjg3ZCJ9LmZhLXJlbnJlbjpiZWZvcmV7Y29udGVudDoiXGYxOGIifS5mYS1yZXBseTpiZWZvcmV7Y29udGVudDoiXGYzZTUifS5mYS1yZXBseS1hbGw6YmVmb3Jle2NvbnRlbnQ6IlxmMTIyIn0uZmEtcmVwbHlkOmJlZm9yZXtjb250ZW50OiJcZjNlNiJ9LmZhLXJlcHVibGljYW46YmVmb3Jle2NvbnRlbnQ6IlxmNzVlIn0uZmEtcmVzZWFyY2hnYXRlOmJlZm9yZXtjb250ZW50OiJcZjRmOCJ9LmZhLXJlc29sdmluZzpiZWZvcmV7Y29udGVudDoiXGYzZTcifS5mYS1yZXN0cm9vbTpiZWZvcmV7Y29udGVudDoiXGY3YmQifS5mYS1yZXR3ZWV0OmJlZm9yZXtjb250ZW50OiJcZjA3OSJ9LmZhLXJldjpiZWZvcmV7Y29udGVudDoiXGY1YjIifS5mYS1yaWJib246YmVmb3Jle2NvbnRlbnQ6IlxmNGQ2In0uZmEtcmluZzpiZWZvcmV7Y29udGVudDoiXGY3MGIifS5mYS1yb2FkOmJlZm9yZXtjb250ZW50OiJcZjAxOCJ9LmZhLXJvYm90OmJlZm9yZXtjb250ZW50OiJcZjU0NCJ9LmZhLXJvY2tldDpiZWZvcmV7Y29udGVudDoiXGYxMzUifS5mYS1yb2NrZXRjaGF0OmJlZm9yZXtjb250ZW50OiJcZjNlOCJ9LmZhLXJvY2tybXM6YmVmb3Jle2NvbnRlbnQ6IlxmM2U5In0uZmEtcm91dGU6YmVmb3Jle2NvbnRlbnQ6IlxmNGQ3In0uZmEtcnNzOmJlZm9yZXtjb250ZW50OiJcZjA5ZSJ9LmZhLXJzcy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTQzIn0uZmEtcnVibGUtc2lnbjpiZWZvcmV7Y29udGVudDoiXGYxNTgifS5mYS1ydWxlcjpiZWZvcmV7Y29udGVudDoiXGY1NDUifS5mYS1ydWxlci1jb21iaW5lZDpiZWZvcmV7Y29udGVudDoiXGY1NDYifS5mYS1ydWxlci1ob3Jpem9udGFsOmJlZm9yZXtjb250ZW50OiJcZjU0NyJ9LmZhLXJ1bGVyLXZlcnRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjU0OCJ9LmZhLXJ1bm5pbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNzBjIn0uZmEtcnVwZWUtc2lnbjpiZWZvcmV7Y29udGVudDoiXGYxNTYifS5mYS1ydXN0OmJlZm9yZXtjb250ZW50OiJcZTA3YSJ9LmZhLXNhZC1jcnk6YmVmb3Jle2NvbnRlbnQ6IlxmNWIzIn0uZmEtc2FkLXRlYXI6YmVmb3Jle2NvbnRlbnQ6IlxmNWI0In0uZmEtc2FmYXJpOmJlZm9yZXtjb250ZW50OiJcZjI2NyJ9LmZhLXNhbGVzZm9yY2U6YmVmb3Jle2NvbnRlbnQ6IlxmODNiIn0uZmEtc2FzczpiZWZvcmV7Y29udGVudDoiXGY0MWUifS5mYS1zYXRlbGxpdGU6YmVmb3Jle2NvbnRlbnQ6IlxmN2JmIn0uZmEtc2F0ZWxsaXRlLWRpc2g6YmVmb3Jle2NvbnRlbnQ6IlxmN2MwIn0uZmEtc2F2ZTpiZWZvcmV7Y29udGVudDoiXGYwYzcifS5mYS1zY2hsaXg6YmVmb3Jle2NvbnRlbnQ6IlxmM2VhIn0uZmEtc2Nob29sOmJlZm9yZXtjb250ZW50OiJcZjU0OSJ9LmZhLXNjcmV3ZHJpdmVyOmJlZm9yZXtjb250ZW50OiJcZjU0YSJ9LmZhLXNjcmliZDpiZWZvcmV7Y29udGVudDoiXGYyOGEifS5mYS1zY3JvbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNzBlIn0uZmEtc2QtY2FyZDpiZWZvcmV7Y29udGVudDoiXGY3YzIifS5mYS1zZWFyY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMDAyIn0uZmEtc2VhcmNoLWRvbGxhcjpiZWZvcmV7Y29udGVudDoiXGY2ODgifS5mYS1zZWFyY2gtbG9jYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmNjg5In0uZmEtc2VhcmNoLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZjAxMCJ9LmZhLXNlYXJjaC1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjAwZSJ9LmZhLXNlYXJjaGVuZ2luOmJlZm9yZXtjb250ZW50OiJcZjNlYiJ9LmZhLXNlZWRsaW5nOmJlZm9yZXtjb250ZW50OiJcZjRkOCJ9LmZhLXNlbGxjYXN0OmJlZm9yZXtjb250ZW50OiJcZjJkYSJ9LmZhLXNlbGxzeTpiZWZvcmV7Y29udGVudDoiXGYyMTMifS5mYS1zZXJ2ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjMzIn0uZmEtc2VydmljZXN0YWNrOmJlZm9yZXtjb250ZW50OiJcZjNlYyJ9LmZhLXNoYXBlczpiZWZvcmV7Y29udGVudDoiXGY2MWYifS5mYS1zaGFyZTpiZWZvcmV7Y29udGVudDoiXGYwNjQifS5mYS1zaGFyZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWUwIn0uZmEtc2hhcmUtYWx0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxZTEifS5mYS1zaGFyZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTRkIn0uZmEtc2hla2VsLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxmMjBiIn0uZmEtc2hpZWxkLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzZWQifS5mYS1zaGllbGQtdmlydXM6YmVmb3Jle2NvbnRlbnQ6IlxlMDZjIn0uZmEtc2hpcDpiZWZvcmV7Y29udGVudDoiXGYyMWEifS5mYS1zaGlwcGluZy1mYXN0OmJlZm9yZXtjb250ZW50OiJcZjQ4YiJ9LmZhLXNoaXJ0c2luYnVsazpiZWZvcmV7Y29udGVudDoiXGYyMTQifS5mYS1zaG9lLXByaW50czpiZWZvcmV7Y29udGVudDoiXGY1NGIifS5mYS1zaG9waWZ5OmJlZm9yZXtjb250ZW50OiJcZTA1NyJ9LmZhLXNob3BwaW5nLWJhZzpiZWZvcmV7Y29udGVudDoiXGYyOTAifS5mYS1zaG9wcGluZy1iYXNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjkxIn0uZmEtc2hvcHBpbmctY2FydDpiZWZvcmV7Y29udGVudDoiXGYwN2EifS5mYS1zaG9wd2FyZTpiZWZvcmV7Y29udGVudDoiXGY1YjUifS5mYS1zaG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmNjIn0uZmEtc2h1dHRsZS12YW46YmVmb3Jle2NvbnRlbnQ6IlxmNWI2In0uZmEtc2lnbjpiZWZvcmV7Y29udGVudDoiXGY0ZDkifS5mYS1zaWduLWluLWFsdDpiZWZvcmV7Y29udGVudDoiXGYyZjYifS5mYS1zaWduLWxhbmd1YWdlOmJlZm9yZXtjb250ZW50OiJcZjJhNyJ9LmZhLXNpZ24tb3V0LWFsdDpiZWZvcmV7Y29udGVudDoiXGYyZjUifS5mYS1zaWduYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMDEyIn0uZmEtc2lnbmF0dXJlOmJlZm9yZXtjb250ZW50OiJcZjViNyJ9LmZhLXNpbS1jYXJkOmJlZm9yZXtjb250ZW50OiJcZjdjNCJ9LmZhLXNpbXBseWJ1aWx0OmJlZm9yZXtjb250ZW50OiJcZjIxNSJ9LmZhLXNpbms6YmVmb3Jle2NvbnRlbnQ6IlxlMDZkIn0uZmEtc2lzdHJpeDpiZWZvcmV7Y29udGVudDoiXGYzZWUifS5mYS1zaXRlbWFwOmJlZm9yZXtjb250ZW50OiJcZjBlOCJ9LmZhLXNpdGg6YmVmb3Jle2NvbnRlbnQ6IlxmNTEyIn0uZmEtc2thdGluZzpiZWZvcmV7Y29udGVudDoiXGY3YzUifS5mYS1za2V0Y2g6YmVmb3Jle2NvbnRlbnQ6IlxmN2M2In0uZmEtc2tpaW5nOmJlZm9yZXtjb250ZW50OiJcZjdjOSJ9LmZhLXNraWluZy1ub3JkaWM6YmVmb3Jle2NvbnRlbnQ6IlxmN2NhIn0uZmEtc2t1bGw6YmVmb3Jle2NvbnRlbnQ6IlxmNTRjIn0uZmEtc2t1bGwtY3Jvc3Nib25lczpiZWZvcmV7Y29udGVudDoiXGY3MTQifS5mYS1za3lhdGxhczpiZWZvcmV7Y29udGVudDoiXGYyMTYifS5mYS1za3lwZTpiZWZvcmV7Y29udGVudDoiXGYxN2UifS5mYS1zbGFjazpiZWZvcmV7Y29udGVudDoiXGYxOTgifS5mYS1zbGFjay1oYXNoOmJlZm9yZXtjb250ZW50OiJcZjNlZiJ9LmZhLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjcxNSJ9LmZhLXNsZWlnaDpiZWZvcmV7Y29udGVudDoiXGY3Y2MifS5mYS1zbGlkZXJzLWg6YmVmb3Jle2NvbnRlbnQ6IlxmMWRlIn0uZmEtc2xpZGVzaGFyZTpiZWZvcmV7Y29udGVudDoiXGYxZTcifS5mYS1zbWlsZTpiZWZvcmV7Y29udGVudDoiXGYxMTgifS5mYS1zbWlsZS1iZWFtOmJlZm9yZXtjb250ZW50OiJcZjViOCJ9LmZhLXNtaWxlLXdpbms6YmVmb3Jle2NvbnRlbnQ6IlxmNGRhIn0uZmEtc21vZzpiZWZvcmV7Y29udGVudDoiXGY3NWYifS5mYS1zbW9raW5nOmJlZm9yZXtjb250ZW50OiJcZjQ4ZCJ9LmZhLXNtb2tpbmctYmFuOmJlZm9yZXtjb250ZW50OiJcZjU0ZCJ9LmZhLXNtczpiZWZvcmV7Y29udGVudDoiXGY3Y2QifS5mYS1zbmFwY2hhdDpiZWZvcmV7Y29udGVudDoiXGYyYWIifS5mYS1zbmFwY2hhdC1naG9zdDpiZWZvcmV7Y29udGVudDoiXGYyYWMifS5mYS1zbmFwY2hhdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmFkIn0uZmEtc25vd2JvYXJkaW5nOmJlZm9yZXtjb250ZW50OiJcZjdjZSJ9LmZhLXNub3dmbGFrZTpiZWZvcmV7Y29udGVudDoiXGYyZGMifS5mYS1zbm93bWFuOmJlZm9yZXtjb250ZW50OiJcZjdkMCJ9LmZhLXNub3dwbG93OmJlZm9yZXtjb250ZW50OiJcZjdkMiJ9LmZhLXNvYXA6YmVmb3Jle2NvbnRlbnQ6IlxlMDZlIn0uZmEtc29ja3M6YmVmb3Jle2NvbnRlbnQ6IlxmNjk2In0uZmEtc29sYXItcGFuZWw6YmVmb3Jle2NvbnRlbnQ6IlxmNWJhIn0uZmEtc29ydDpiZWZvcmV7Y29udGVudDoiXGYwZGMifS5mYS1zb3J0LWFscGhhLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTVkIn0uZmEtc29ydC1hbHBoYS1kb3duLWFsdDpiZWZvcmV7Y29udGVudDoiXGY4ODEifS5mYS1zb3J0LWFscGhhLXVwOmJlZm9yZXtjb250ZW50OiJcZjE1ZSJ9LmZhLXNvcnQtYWxwaGEtdXAtYWx0OmJlZm9yZXtjb250ZW50OiJcZjg4MiJ9LmZhLXNvcnQtYW1vdW50LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTYwIn0uZmEtc29ydC1hbW91bnQtZG93bi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODg0In0uZmEtc29ydC1hbW91bnQtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTYxIn0uZmEtc29ydC1hbW91bnQtdXAtYWx0OmJlZm9yZXtjb250ZW50OiJcZjg4NSJ9LmZhLXNvcnQtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwZGQifS5mYS1zb3J0LW51bWVyaWMtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNjIifS5mYS1zb3J0LW51bWVyaWMtZG93bi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODg2In0uZmEtc29ydC1udW1lcmljLXVwOmJlZm9yZXtjb250ZW50OiJcZjE2MyJ9LmZhLXNvcnQtbnVtZXJpYy11cC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODg3In0uZmEtc29ydC11cDpiZWZvcmV7Y29udGVudDoiXGYwZGUifS5mYS1zb3VuZGNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjFiZSJ9LmZhLXNvdXJjZXRyZWU6YmVmb3Jle2NvbnRlbnQ6IlxmN2QzIn0uZmEtc3BhOmJlZm9yZXtjb250ZW50OiJcZjViYiJ9LmZhLXNwYWNlLXNodXR0bGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk3In0uZmEtc3BlYWthcDpiZWZvcmV7Y29udGVudDoiXGYzZjMifS5mYS1zcGVha2VyLWRlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmODNjIn0uZmEtc3BlbGwtY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmODkxIn0uZmEtc3BpZGVyOmJlZm9yZXtjb250ZW50OiJcZjcxNyJ9LmZhLXNwaW5uZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTEwIn0uZmEtc3Bsb3RjaDpiZWZvcmV7Y29udGVudDoiXGY1YmMifS5mYS1zcG90aWZ5OmJlZm9yZXtjb250ZW50OiJcZjFiYyJ9LmZhLXNwcmF5LWNhbjpiZWZvcmV7Y29udGVudDoiXGY1YmQifS5mYS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGM4In0uZmEtc3F1YXJlLWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxmNDVjIn0uZmEtc3F1YXJlLXJvb3QtYWx0OmJlZm9yZXtjb250ZW50OiJcZjY5OCJ9LmZhLXNxdWFyZXNwYWNlOmJlZm9yZXtjb250ZW50OiJcZjViZSJ9LmZhLXN0YWNrLWV4Y2hhbmdlOmJlZm9yZXtjb250ZW50OiJcZjE4ZCJ9LmZhLXN0YWNrLW92ZXJmbG93OmJlZm9yZXtjb250ZW50OiJcZjE2YyJ9LmZhLXN0YWNrcGF0aDpiZWZvcmV7Y29udGVudDoiXGY4NDIifS5mYS1zdGFtcDpiZWZvcmV7Y29udGVudDoiXGY1YmYifS5mYS1zdGFyOmJlZm9yZXtjb250ZW50OiJcZjAwNSJ9LmZhLXN0YXItYW5kLWNyZXNjZW50OmJlZm9yZXtjb250ZW50OiJcZjY5OSJ9LmZhLXN0YXItaGFsZjpiZWZvcmV7Y29udGVudDoiXGYwODkifS5mYS1zdGFyLWhhbGYtYWx0OmJlZm9yZXtjb250ZW50OiJcZjVjMCJ9LmZhLXN0YXItb2YtZGF2aWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNjlhIn0uZmEtc3Rhci1vZi1saWZlOmJlZm9yZXtjb250ZW50OiJcZjYyMSJ9LmZhLXN0YXlsaW5rZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2Y1In0uZmEtc3RlYW06YmVmb3Jle2NvbnRlbnQ6IlxmMWI2In0uZmEtc3RlYW0tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFiNyJ9LmZhLXN0ZWFtLXN5bWJvbDpiZWZvcmV7Y29udGVudDoiXGYzZjYifS5mYS1zdGVwLWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0OCJ9LmZhLXN0ZXAtZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNTEifS5mYS1zdGV0aG9zY29wZTpiZWZvcmV7Y29udGVudDoiXGYwZjEifS5mYS1zdGlja2VyLW11bGU6YmVmb3Jle2NvbnRlbnQ6IlxmM2Y3In0uZmEtc3RpY2t5LW5vdGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ5In0uZmEtc3RvcDpiZWZvcmV7Y29udGVudDoiXGYwNGQifS5mYS1zdG9wLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYyOGQifS5mYS1zdG9wd2F0Y2g6YmVmb3Jle2NvbnRlbnQ6IlxmMmYyIn0uZmEtc3RvcHdhdGNoLTIwOmJlZm9yZXtjb250ZW50OiJcZTA2ZiJ9LmZhLXN0b3JlOmJlZm9yZXtjb250ZW50OiJcZjU0ZSJ9LmZhLXN0b3JlLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1NGYifS5mYS1zdG9yZS1hbHQtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDcwIn0uZmEtc3RvcmUtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDcxIn0uZmEtc3RyYXZhOmJlZm9yZXtjb250ZW50OiJcZjQyOCJ9LmZhLXN0cmVhbTpiZWZvcmV7Y29udGVudDoiXGY1NTAifS5mYS1zdHJlZXQtdmlldzpiZWZvcmV7Y29udGVudDoiXGYyMWQifS5mYS1zdHJpa2V0aHJvdWdoOmJlZm9yZXtjb250ZW50OiJcZjBjYyJ9LmZhLXN0cmlwZTpiZWZvcmV7Y29udGVudDoiXGY0MjkifS5mYS1zdHJpcGUtczpiZWZvcmV7Y29udGVudDoiXGY0MmEifS5mYS1zdHJvb3B3YWZlbDpiZWZvcmV7Y29udGVudDoiXGY1NTEifS5mYS1zdHVkaW92aW5hcmk6YmVmb3Jle2NvbnRlbnQ6IlxmM2Y4In0uZmEtc3R1bWJsZXVwb246YmVmb3Jle2NvbnRlbnQ6IlxmMWE0In0uZmEtc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjFhMyJ9LmZhLXN1YnNjcmlwdDpiZWZvcmV7Y29udGVudDoiXGYxMmMifS5mYS1zdWJ3YXk6YmVmb3Jle2NvbnRlbnQ6IlxmMjM5In0uZmEtc3VpdGNhc2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGYyIn0uZmEtc3VpdGNhc2Utcm9sbGluZzpiZWZvcmV7Y29udGVudDoiXGY1YzEifS5mYS1zdW46YmVmb3Jle2NvbnRlbnQ6IlxmMTg1In0uZmEtc3VwZXJwb3dlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMmRkIn0uZmEtc3VwZXJzY3JpcHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTJiIn0uZmEtc3VwcGxlOmJlZm9yZXtjb250ZW50OiJcZjNmOSJ9LmZhLXN1cnByaXNlOmJlZm9yZXtjb250ZW50OiJcZjVjMiJ9LmZhLXN1c2U6YmVmb3Jle2NvbnRlbnQ6IlxmN2Q2In0uZmEtc3dhdGNoYm9vazpiZWZvcmV7Y29udGVudDoiXGY1YzMifS5mYS1zd2lmdDpiZWZvcmV7Y29udGVudDoiXGY4ZTEifS5mYS1zd2ltbWVyOmJlZm9yZXtjb250ZW50OiJcZjVjNCJ9LmZhLXN3aW1taW5nLXBvb2w6YmVmb3Jle2NvbnRlbnQ6IlxmNWM1In0uZmEtc3ltZm9ueTpiZWZvcmV7Y29udGVudDoiXGY4M2QifS5mYS1zeW5hZ29ndWU6YmVmb3Jle2NvbnRlbnQ6IlxmNjliIn0uZmEtc3luYzpiZWZvcmV7Y29udGVudDoiXGYwMjEifS5mYS1zeW5jLWFsdDpiZWZvcmV7Y29udGVudDoiXGYyZjEifS5mYS1zeXJpbmdlOmJlZm9yZXtjb250ZW50OiJcZjQ4ZSJ9LmZhLXRhYmxlOmJlZm9yZXtjb250ZW50OiJcZjBjZSJ9LmZhLXRhYmxlLXRlbm5pczpiZWZvcmV7Y29udGVudDoiXGY0NWQifS5mYS10YWJsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTBhIn0uZmEtdGFibGV0LWFsdDpiZWZvcmV7Y29udGVudDoiXGYzZmEifS5mYS10YWJsZXRzOmJlZm9yZXtjb250ZW50OiJcZjQ5MCJ9LmZhLXRhY2hvbWV0ZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjNmZCJ9LmZhLXRhZzpiZWZvcmV7Y29udGVudDoiXGYwMmIifS5mYS10YWdzOmJlZm9yZXtjb250ZW50OiJcZjAyYyJ9LmZhLXRhcGU6YmVmb3Jle2NvbnRlbnQ6IlxmNGRiIn0uZmEtdGFza3M6YmVmb3Jle2NvbnRlbnQ6IlxmMGFlIn0uZmEtdGF4aTpiZWZvcmV7Y29udGVudDoiXGYxYmEifS5mYS10ZWFtc3BlYWs6YmVmb3Jle2NvbnRlbnQ6IlxmNGY5In0uZmEtdGVldGg6YmVmb3Jle2NvbnRlbnQ6IlxmNjJlIn0uZmEtdGVldGgtb3BlbjpiZWZvcmV7Y29udGVudDoiXGY2MmYifS5mYS10ZWxlZ3JhbTpiZWZvcmV7Y29udGVudDoiXGYyYzYifS5mYS10ZWxlZ3JhbS1wbGFuZTpiZWZvcmV7Y29udGVudDoiXGYzZmUifS5mYS10ZW1wZXJhdHVyZS1oaWdoOmJlZm9yZXtjb250ZW50OiJcZjc2OSJ9LmZhLXRlbXBlcmF0dXJlLWxvdzpiZWZvcmV7Y29udGVudDoiXGY3NmIifS5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZXtjb250ZW50OiJcZjFkNSJ9LmZhLXRlbmdlOmJlZm9yZXtjb250ZW50OiJcZjdkNyJ9LmZhLXRlcm1pbmFsOmJlZm9yZXtjb250ZW50OiJcZjEyMCJ9LmZhLXRleHQtaGVpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjAzNCJ9LmZhLXRleHQtd2lkdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMDM1In0uZmEtdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMDBhIn0uZmEtdGgtbGFyZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMDA5In0uZmEtdGgtbGlzdDpiZWZvcmV7Y29udGVudDoiXGYwMGIifS5mYS10aGUtcmVkLXlldGk6YmVmb3Jle2NvbnRlbnQ6IlxmNjlkIn0uZmEtdGhlYXRlci1tYXNrczpiZWZvcmV7Y29udGVudDoiXGY2MzAifS5mYS10aGVtZWNvOmJlZm9yZXtjb250ZW50OiJcZjVjNiJ9LmZhLXRoZW1laXNsZTpiZWZvcmV7Y29udGVudDoiXGYyYjIifS5mYS10aGVybW9tZXRlcjpiZWZvcmV7Y29udGVudDoiXGY0OTEifS5mYS10aGVybW9tZXRlci1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGYyY2IifS5mYS10aGVybW9tZXRlci1mdWxsOmJlZm9yZXtjb250ZW50OiJcZjJjNyJ9LmZhLXRoZXJtb21ldGVyLWhhbGY6YmVmb3Jle2NvbnRlbnQ6IlxmMmM5In0uZmEtdGhlcm1vbWV0ZXItcXVhcnRlcjpiZWZvcmV7Y29udGVudDoiXGYyY2EifS5mYS10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczpiZWZvcmV7Y29udGVudDoiXGYyYzgifS5mYS10aGluay1wZWFrczpiZWZvcmV7Y29udGVudDoiXGY3MzEifS5mYS10aHVtYnMtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNjUifS5mYS10aHVtYnMtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTY0In0uZmEtdGh1bWJ0YWNrOmJlZm9yZXtjb250ZW50OiJcZjA4ZCJ9LmZhLXRpY2tldC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2ZmIn0uZmEtdGlrdG9rOmJlZm9yZXtjb250ZW50OiJcZTA3YiJ9LmZhLXRpbWVzOmJlZm9yZXtjb250ZW50OiJcZjAwZCJ9LmZhLXRpbWVzLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNTcifS5mYS10aW50OmJlZm9yZXtjb250ZW50OiJcZjA0MyJ9LmZhLXRpbnQtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmNWM3In0uZmEtdGlyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNWM4In0uZmEtdG9nZ2xlLW9mZjpiZWZvcmV7Y29udGVudDoiXGYyMDQifS5mYS10b2dnbGUtb246YmVmb3Jle2NvbnRlbnQ6IlxmMjA1In0uZmEtdG9pbGV0OmJlZm9yZXtjb250ZW50OiJcZjdkOCJ9LmZhLXRvaWxldC1wYXBlcjpiZWZvcmV7Y29udGVudDoiXGY3MWUifS5mYS10b2lsZXQtcGFwZXItc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDcyIn0uZmEtdG9vbGJveDpiZWZvcmV7Y29udGVudDoiXGY1NTIifS5mYS10b29sczpiZWZvcmV7Y29udGVudDoiXGY3ZDkifS5mYS10b290aDpiZWZvcmV7Y29udGVudDoiXGY1YzkifS5mYS10b3JhaDpiZWZvcmV7Y29udGVudDoiXGY2YTAifS5mYS10b3JpaS1nYXRlOmJlZm9yZXtjb250ZW50OiJcZjZhMSJ9LmZhLXRyYWN0b3I6YmVmb3Jle2NvbnRlbnQ6IlxmNzIyIn0uZmEtdHJhZGUtZmVkZXJhdGlvbjpiZWZvcmV7Y29udGVudDoiXGY1MTMifS5mYS10cmFkZW1hcms6YmVmb3Jle2NvbnRlbnQ6IlxmMjVjIn0uZmEtdHJhZmZpYy1saWdodDpiZWZvcmV7Y29udGVudDoiXGY2MzcifS5mYS10cmFpbGVyOmJlZm9yZXtjb250ZW50OiJcZTA0MSJ9LmZhLXRyYWluOmJlZm9yZXtjb250ZW50OiJcZjIzOCJ9LmZhLXRyYW06YmVmb3Jle2NvbnRlbnQ6IlxmN2RhIn0uZmEtdHJhbnNnZW5kZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjI0In0uZmEtdHJhbnNnZW5kZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjIyNSJ9LmZhLXRyYXNoOmJlZm9yZXtjb250ZW50OiJcZjFmOCJ9LmZhLXRyYXNoLWFsdDpiZWZvcmV7Y29udGVudDoiXGYyZWQifS5mYS10cmFzaC1yZXN0b3JlOmJlZm9yZXtjb250ZW50OiJcZjgyOSJ9LmZhLXRyYXNoLXJlc3RvcmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjgyYSJ9LmZhLXRyZWU6YmVmb3Jle2NvbnRlbnQ6IlxmMWJiIn0uZmEtdHJlbGxvOmJlZm9yZXtjb250ZW50OiJcZjE4MSJ9LmZhLXRyb3BoeTpiZWZvcmV7Y29udGVudDoiXGYwOTEifS5mYS10cnVjazpiZWZvcmV7Y29udGVudDoiXGYwZDEifS5mYS10cnVjay1sb2FkaW5nOmJlZm9yZXtjb250ZW50OiJcZjRkZSJ9LmZhLXRydWNrLW1vbnN0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNjNiIn0uZmEtdHJ1Y2stbW92aW5nOmJlZm9yZXtjb250ZW50OiJcZjRkZiJ9LmZhLXRydWNrLXBpY2t1cDpiZWZvcmV7Y29udGVudDoiXGY2M2MifS5mYS10c2hpcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTUzIn0uZmEtdHR5OmJlZm9yZXtjb250ZW50OiJcZjFlNCJ9LmZhLXR1bWJscjpiZWZvcmV7Y29udGVudDoiXGYxNzMifS5mYS10dW1ibHItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE3NCJ9LmZhLXR2OmJlZm9yZXtjb250ZW50OiJcZjI2YyJ9LmZhLXR3aXRjaDpiZWZvcmV7Y29udGVudDoiXGYxZTgifS5mYS10d2l0dGVyOmJlZm9yZXtjb250ZW50OiJcZjA5OSJ9LmZhLXR3aXR0ZXItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA4MSJ9LmZhLXR5cG8zOmJlZm9yZXtjb250ZW50OiJcZjQyYiJ9LmZhLXViZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDAyIn0uZmEtdWJ1bnR1OmJlZm9yZXtjb250ZW50OiJcZjdkZiJ9LmZhLXVpa2l0OmJlZm9yZXtjb250ZW50OiJcZjQwMyJ9LmZhLXVtYnJhY286YmVmb3Jle2NvbnRlbnQ6IlxmOGU4In0uZmEtdW1icmVsbGE6YmVmb3Jle2NvbnRlbnQ6IlxmMGU5In0uZmEtdW1icmVsbGEtYmVhY2g6YmVmb3Jle2NvbnRlbnQ6IlxmNWNhIn0uZmEtdW5jaGFydGVkOmJlZm9yZXtjb250ZW50OiJcZTA4NCJ9LmZhLXVuZGVybGluZTpiZWZvcmV7Y29udGVudDoiXGYwY2QifS5mYS11bmRvOmJlZm9yZXtjb250ZW50OiJcZjBlMiJ9LmZhLXVuZG8tYWx0OmJlZm9yZXtjb250ZW50OiJcZjJlYSJ9LmZhLXVuaXJlZ2lzdHJ5OmJlZm9yZXtjb250ZW50OiJcZjQwNCJ9LmZhLXVuaXR5OmJlZm9yZXtjb250ZW50OiJcZTA0OSJ9LmZhLXVuaXZlcnNhbC1hY2Nlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMjlhIn0uZmEtdW5pdmVyc2l0eTpiZWZvcmV7Y29udGVudDoiXGYxOWMifS5mYS11bmxpbms6YmVmb3Jle2NvbnRlbnQ6IlxmMTI3In0uZmEtdW5sb2NrOmJlZm9yZXtjb250ZW50OiJcZjA5YyJ9LmZhLXVubG9jay1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTNlIn0uZmEtdW5zcGxhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDdjIn0uZmEtdW50YXBwZDpiZWZvcmV7Y29udGVudDoiXGY0MDUifS5mYS11cGxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDkzIn0uZmEtdXBzOmJlZm9yZXtjb250ZW50OiJcZjdlMCJ9LmZhLXVzYjpiZWZvcmV7Y29udGVudDoiXGYyODcifS5mYS11c2VyOmJlZm9yZXtjb250ZW50OiJcZjAwNyJ9LmZhLXVzZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjQwNiJ9LmZhLXVzZXItYWx0LXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjRmYSJ9LmZhLXVzZXItYXN0cm9uYXV0OmJlZm9yZXtjb250ZW50OiJcZjRmYiJ9LmZhLXVzZXItY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmNGZjIn0uZmEtdXNlci1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmJkIn0uZmEtdXNlci1jbG9jazpiZWZvcmV7Y29udGVudDoiXGY0ZmQifS5mYS11c2VyLWNvZzpiZWZvcmV7Y29udGVudDoiXGY0ZmUifS5mYS11c2VyLWVkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGZmIn0uZmEtdXNlci1mcmllbmRzOmJlZm9yZXtjb250ZW50OiJcZjUwMCJ9LmZhLXVzZXItZ3JhZHVhdGU6YmVmb3Jle2NvbnRlbnQ6IlxmNTAxIn0uZmEtdXNlci1pbmp1cmVkOmJlZm9yZXtjb250ZW50OiJcZjcyOCJ9LmZhLXVzZXItbG9jazpiZWZvcmV7Y29udGVudDoiXGY1MDIifS5mYS11c2VyLW1kOmJlZm9yZXtjb250ZW50OiJcZjBmMCJ9LmZhLXVzZXItbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxmNTAzIn0uZmEtdXNlci1uaW5qYTpiZWZvcmV7Y29udGVudDoiXGY1MDQifS5mYS11c2VyLW51cnNlOmJlZm9yZXtjb250ZW50OiJcZjgyZiJ9LmZhLXVzZXItcGx1czpiZWZvcmV7Y29udGVudDoiXGYyMzQifS5mYS11c2VyLXNlY3JldDpiZWZvcmV7Y29udGVudDoiXGYyMWIifS5mYS11c2VyLXNoaWVsZDpiZWZvcmV7Y29udGVudDoiXGY1MDUifS5mYS11c2VyLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjUwNiJ9LmZhLXVzZXItdGFnOmJlZm9yZXtjb250ZW50OiJcZjUwNyJ9LmZhLXVzZXItdGllOmJlZm9yZXtjb250ZW50OiJcZjUwOCJ9LmZhLXVzZXItdGltZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjM1In0uZmEtdXNlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMGMwIn0uZmEtdXNlcnMtY29nOmJlZm9yZXtjb250ZW50OiJcZjUwOSJ9LmZhLXVzZXJzLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZTA3MyJ9LmZhLXVzcHM6YmVmb3Jle2NvbnRlbnQ6IlxmN2UxIn0uZmEtdXNzdW5uYWg6YmVmb3Jle2NvbnRlbnQ6IlxmNDA3In0uZmEtdXRlbnNpbC1zcG9vbjpiZWZvcmV7Y29udGVudDoiXGYyZTUifS5mYS11dGVuc2lsczpiZWZvcmV7Y29udGVudDoiXGYyZTcifS5mYS12YWFkaW46YmVmb3Jle2NvbnRlbnQ6IlxmNDA4In0uZmEtdmVjdG9yLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGY1Y2IifS5mYS12ZW51czpiZWZvcmV7Y29udGVudDoiXGYyMjEifS5mYS12ZW51cy1kb3VibGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjI2In0uZmEtdmVudXMtbWFyczpiZWZvcmV7Y29udGVudDoiXGYyMjgifS5mYS12ZXN0OmJlZm9yZXtjb250ZW50OiJcZTA4NSJ9LmZhLXZlc3QtcGF0Y2hlczpiZWZvcmV7Y29udGVudDoiXGUwODYifS5mYS12aWFjb2luOmJlZm9yZXtjb250ZW50OiJcZjIzNyJ9LmZhLXZpYWRlbzpiZWZvcmV7Y29udGVudDoiXGYyYTkifS5mYS12aWFkZW8tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjJhYSJ9LmZhLXZpYWw6YmVmb3Jle2NvbnRlbnQ6IlxmNDkyIn0uZmEtdmlhbHM6YmVmb3Jle2NvbnRlbnQ6IlxmNDkzIn0uZmEtdmliZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDA5In0uZmEtdmlkZW86YmVmb3Jle2NvbnRlbnQ6IlxmMDNkIn0uZmEtdmlkZW8tc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmNGUyIn0uZmEtdmloYXJhOmJlZm9yZXtjb250ZW50OiJcZjZhNyJ9LmZhLXZpbWVvOmJlZm9yZXtjb250ZW50OiJcZjQwYSJ9LmZhLXZpbWVvLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxOTQifS5mYS12aW1lby12OmJlZm9yZXtjb250ZW50OiJcZjI3ZCJ9LmZhLXZpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWNhIn0uZmEtdmlydXM6YmVmb3Jle2NvbnRlbnQ6IlxlMDc0In0uZmEtdmlydXMtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDc1In0uZmEtdmlydXNlczpiZWZvcmV7Y29udGVudDoiXGUwNzYifS5mYS12azpiZWZvcmV7Y29udGVudDoiXGYxODkifS5mYS12bnY6YmVmb3Jle2NvbnRlbnQ6IlxmNDBiIn0uZmEtdm9pY2VtYWlsOmJlZm9yZXtjb250ZW50OiJcZjg5NyJ9LmZhLXZvbGxleWJhbGwtYmFsbDpiZWZvcmV7Y29udGVudDoiXGY0NWYifS5mYS12b2x1bWUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwMjcifS5mYS12b2x1bWUtbXV0ZTpiZWZvcmV7Y29udGVudDoiXGY2YTkifS5mYS12b2x1bWUtb2ZmOmJlZm9yZXtjb250ZW50OiJcZjAyNiJ9LmZhLXZvbHVtZS11cDpiZWZvcmV7Y29udGVudDoiXGYwMjgifS5mYS12b3RlLXllYTpiZWZvcmV7Y29udGVudDoiXGY3NzIifS5mYS12ci1jYXJkYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzI5In0uZmEtdnVlanM6YmVmb3Jle2NvbnRlbnQ6IlxmNDFmIn0uZmEtd2Fsa2luZzpiZWZvcmV7Y29udGVudDoiXGY1NTQifS5mYS13YWxsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTU1In0uZmEtd2FyZWhvdXNlOmJlZm9yZXtjb250ZW50OiJcZjQ5NCJ9LmZhLXdhdGNobWFuLW1vbml0b3Jpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlMDg3In0uZmEtd2F0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNzczIn0uZmEtd2F2ZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmODNlIn0uZmEtd2F6ZTpiZWZvcmV7Y29udGVudDoiXGY4M2YifS5mYS13ZWVibHk6YmVmb3Jle2NvbnRlbnQ6IlxmNWNjIn0uZmEtd2VpYm86YmVmb3Jle2NvbnRlbnQ6IlxmMThhIn0uZmEtd2VpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjQ5NiJ9LmZhLXdlaWdodC1oYW5naW5nOmJlZm9yZXtjb250ZW50OiJcZjVjZCJ9LmZhLXdlaXhpbjpiZWZvcmV7Y29udGVudDoiXGYxZDcifS5mYS13aGF0c2FwcDpiZWZvcmV7Y29udGVudDoiXGYyMzIifS5mYS13aGF0c2FwcC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDBjIn0uZmEtd2hlZWxjaGFpcjpiZWZvcmV7Y29udGVudDoiXGYxOTMifS5mYS13aG1jczpiZWZvcmV7Y29udGVudDoiXGY0MGQifS5mYS13aWZpOmJlZm9yZXtjb250ZW50OiJcZjFlYiJ9LmZhLXdpa2lwZWRpYS13OmJlZm9yZXtjb250ZW50OiJcZjI2NiJ9LmZhLXdpbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzJlIn0uZmEtd2luZG93LWNsb3NlOmJlZm9yZXtjb250ZW50OiJcZjQxMCJ9LmZhLXdpbmRvdy1tYXhpbWl6ZTpiZWZvcmV7Y29udGVudDoiXGYyZDAifS5mYS13aW5kb3ctbWluaW1pemU6YmVmb3Jle2NvbnRlbnQ6IlxmMmQxIn0uZmEtd2luZG93LXJlc3RvcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmQyIn0uZmEtd2luZG93czpiZWZvcmV7Y29udGVudDoiXGYxN2EifS5mYS13aW5lLWJvdHRsZTpiZWZvcmV7Y29udGVudDoiXGY3MmYifS5mYS13aW5lLWdsYXNzOmJlZm9yZXtjb250ZW50OiJcZjRlMyJ9LmZhLXdpbmUtZ2xhc3MtYWx0OmJlZm9yZXtjb250ZW50OiJcZjVjZSJ9LmZhLXdpeDpiZWZvcmV7Y29udGVudDoiXGY1Y2YifS5mYS13aXphcmRzLW9mLXRoZS1jb2FzdDpiZWZvcmV7Y29udGVudDoiXGY3MzAifS5mYS13b2R1OmJlZm9yZXtjb250ZW50OiJcZTA4OCJ9LmZhLXdvbGYtcGFjay1iYXR0YWxpb246YmVmb3Jle2NvbnRlbnQ6IlxmNTE0In0uZmEtd29uLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxmMTU5In0uZmEtd29yZHByZXNzOmJlZm9yZXtjb250ZW50OiJcZjE5YSJ9LmZhLXdvcmRwcmVzcy1zaW1wbGU6YmVmb3Jle2NvbnRlbnQ6IlxmNDExIn0uZmEtd3BiZWdpbm5lcjpiZWZvcmV7Y29udGVudDoiXGYyOTcifS5mYS13cGV4cGxvcmVyOmJlZm9yZXtjb250ZW50OiJcZjJkZSJ9LmZhLXdwZm9ybXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjk4In0uZmEtd3ByZXNzcjpiZWZvcmV7Y29udGVudDoiXGYzZTQifS5mYS13cmVuY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMGFkIn0uZmEteC1yYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNDk3In0uZmEteGJveDpiZWZvcmV7Y29udGVudDoiXGY0MTIifS5mYS14aW5nOmJlZm9yZXtjb250ZW50OiJcZjE2OCJ9LmZhLXhpbmctc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE2OSJ9LmZhLXktY29tYmluYXRvcjpiZWZvcmV7Y29udGVudDoiXGYyM2IifS5mYS15YWhvbzpiZWZvcmV7Y29udGVudDoiXGYxOWUifS5mYS15YW1tZXI6YmVmb3Jle2NvbnRlbnQ6IlxmODQwIn0uZmEteWFuZGV4OmJlZm9yZXtjb250ZW50OiJcZjQxMyJ9LmZhLXlhbmRleC1pbnRlcm5hdGlvbmFsOmJlZm9yZXtjb250ZW50OiJcZjQxNCJ9LmZhLXlhcm46YmVmb3Jle2NvbnRlbnQ6IlxmN2UzIn0uZmEteWVscDpiZWZvcmV7Y29udGVudDoiXGYxZTkifS5mYS15ZW4tc2lnbjpiZWZvcmV7Y29udGVudDoiXGYxNTcifS5mYS15aW4teWFuZzpiZWZvcmV7Y29udGVudDoiXGY2YWQifS5mYS15b2FzdDpiZWZvcmV7Y29udGVudDoiXGYyYjEifS5mYS15b3V0dWJlOmJlZm9yZXtjb250ZW50OiJcZjE2NyJ9LmZhLXlvdXR1YmUtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjQzMSJ9LmZhLXpoaWh1OmJlZm9yZXtjb250ZW50OiJcZjYzZiJ9LnNyLW9ubHl7Ym9yZGVyOjA7Y2xpcDpyZWN0KDAsMCwwLDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHh9LnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwuc3Itb25seS1mb2N1c2FibGU6Zm9jdXN7Y2xpcDphdXRvO2hlaWdodDphdXRvO21hcmdpbjowO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246c3RhdGljO3dpZHRoOmF1dG99QGZvbnQtZmFjZXtmb250LWZhbWlseToiRm9udCBBd2Vzb21lIDUgQnJhbmRzIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1kaXNwbGF5OmJsb2NrO3NyYzp1cmwoLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC5lb3QpO3NyYzp1cmwoLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC5lb3Q/I2llZml4KSBmb3JtYXQoImVtYmVkZGVkLW9wZW50eXBlIiksdXJsKC4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAud29mZjIpIGZvcm1hdCgid29mZjIiKSx1cmwoLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC53b2ZmKSBmb3JtYXQoIndvZmYiKSx1cmwoLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC50dGYpIGZvcm1hdCgidHJ1ZXR5cGUiKSx1cmwoLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC5zdmcjZm9udGF3ZXNvbWUpIGZvcm1hdCgic3ZnIil9LmZhYntmb250LWZhbWlseToiRm9udCBBd2Vzb21lIDUgQnJhbmRzIn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OiJGb250IEF3ZXNvbWUgNSBGcmVlIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1kaXNwbGF5OmJsb2NrO3NyYzp1cmwoLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAuZW90KTtzcmM6dXJsKC4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLmVvdD8jaWVmaXgpIGZvcm1hdCgiZW1iZWRkZWQtb3BlbnR5cGUiKSx1cmwoLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAud29mZjIpIGZvcm1hdCgid29mZjIiKSx1cmwoLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAud29mZikgZm9ybWF0KCJ3b2ZmIiksdXJsKC4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLnR0ZikgZm9ybWF0KCJ0cnVldHlwZSIpLHVybCguLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC5zdmcjZm9udGF3ZXNvbWUpIGZvcm1hdCgic3ZnIil9LmZhYiwuZmFye2ZvbnQtd2VpZ2h0OjQwMH1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OiJGb250IEF3ZXNvbWUgNSBGcmVlIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo5MDA7Zm9udC1kaXNwbGF5OmJsb2NrO3NyYzp1cmwoLi4vd2ViZm9udHMvZmEtc29saWQtOTAwLmVvdCk7c3JjOnVybCguLi93ZWJmb250cy9mYS1zb2xpZC05MDAuZW90PyNpZWZpeCkgZm9ybWF0KCJlbWJlZGRlZC1vcGVudHlwZSIpLHVybCguLi93ZWJmb250cy9mYS1zb2xpZC05MDAud29mZjIpIGZvcm1hdCgid29mZjIiKSx1cmwoLi4vd2ViZm9udHMvZmEtc29saWQtOTAwLndvZmYpIGZvcm1hdCgid29mZiIpLHVybCguLi93ZWJmb250cy9mYS1zb2xpZC05MDAudHRmKSBmb3JtYXQoInRydWV0eXBlIiksdXJsKC4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC5zdmcjZm9udGF3ZXNvbWUpIGZvcm1hdCgic3ZnIil9LmZhLC5mYXIsLmZhc3tmb250LWZhbWlseToiRm9udCBBd2Vzb21lIDUgRnJlZSJ9LmZhLC5mYXN7Zm9udC13ZWlnaHQ6OTAwfQo="}},"time_used":368,"timings":{"blocked":-1,"dns":0,"connect":90,"send":0,"wait":94,"receive":83,"ssl":100},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/external-embedding/embed-widget-advanced-chart.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://oxlofttrd.com/","date":"2026-07-27T08:39:42.900Z","timestamp":1785141582900,"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-advanced-chart.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://oxlofttrd.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 08:39:42 GMT\r\ncontent-type: text/javascript\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1837468\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: *\r\naccess-control-max-age: 3000\r\ncache-control: public, max-age=300\r\ncontent-encoding: zstd\r\netag: \"d82b214398ef7ac012a0b4426c7e3692\"\r\nlast-modified: Fri, 24 Jul 2026 10:29:28 GMT\r\nx-amz-id-2: 0IRb9Faz9T7K4eRgbojLb1VzQZ1jOgtIrCTnMoWUojegCVil4zsultGldU6uE1+WF69L7mLXilFLX6nVTwSa8zDtSIwX+PPS\r\nx-amz-request-id: 2K23GT9GSEX21DJK\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: GEWn8k3v0V_oeqm7Sg7VnBrL05voqf6F\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncontent-security-policy: default-src 'none'\r\ncdn-cachedat: 07/24/2026 10:30:03\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e504250e8d9598f7221f77bdda2fb85c\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":14294,"size_decoded":6533,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (3458)","md5":"d82b214398ef7ac012a0b4426c7e3692","sha1":"acdb1604afe87abecf030f59e873844e1e8196f2","sha256":"e49b74c1748b58e5d3bf0e42c1ce6d70f73dce57011a50d4fb1b62db450a8678","sha512":"5664d201bdc952ed39fadb4ef534741831932ed2a062083d768a715c642c590422bcececcb0fd147cc1c041f08283240cd04816be8ae8408210a8715c1c34556","ssdeep":"384:gf6uCWoofYkFdjhUj822680qMJUomMa4VBZME66PDCa:uD5UI2268DMJUomMag0EtPD1","tlshash":"0e52e9a9b660ec7d41d941dba07a2325b61d3944b203aca4b5ecd8c520edccda531fbe","first_seen":"2026-07-17T03:30:51.234952Z","last_seen":"2026-07-27T12:12:28.934598Z","times_seen":48,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQodCxlKXtpZihudWxsPT09dCl0aHJvdyBuZXcgRXJyb3IoYCR7ZT8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiB0fWNvbnN0IGU9eyJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0IyQjVCRSIsImNvbG9yLWJyYW5kIjoiIzI5NjJGRiIsImNvbG9yLWJyYW5kLWhvdmVyIjoiIzFFNTNFNSIsImNvbG9yLWJyYW5kLWFjdGl2ZSI6IiMxODQ4Q0MifQo7Y29uc3QgaT1KU09OLnBhcnNlKCd7ImNyeXB0by1ta3Qtc2NyZWVuZXIiOnsid2lkdGgiOjEwMDAsImhlaWdodCI6NDkwLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJtYXJrZXQiOiJjcnlwdG8iLCJzY3JlZW5lcl90eXBlIjoiY3J5cHRvX21rdCIsImRpc3BsYXlDdXJyZW5jeSI6IlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwiZXZlbnRzIjp7IndpZHRoIjo1MTAsImhlaWdodCI6NjAwLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiaGlkZUltcG9ydGFuY2VJbmRpY2F0b3IiOmZhbHNlLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1jcm9zcy1yYXRlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJmb3JleC1oZWF0LW1hcCI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImN1cnJlbmNpZXMiOlsiRVVSIiwiVVNEIiwiSlBZIiwiR0JQIiwiQ0hGIiwiQVVEIiwiQ0FEIiwiTlpEIiwiQ05ZIl0sImZyYW1lRWxlbWVudElkIjpudWxsLCJhdXRvc2l6ZSI6ZmFsc2V9LCJob3RsaXN0cyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjYwMCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1hcmtldC1vdmVydmlldyI6eyJ3aWR0aCI6NDAwLCJoZWlnaHQiOjY1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRhdGVSYW5nZSI6IjEyTSIsInNob3dTeW1ib2xMb2dvIjp0cnVlfSwibWFya2V0LXF1b3RlcyI6eyJ3aWR0aCI6NzcwLCJoZWlnaHQiOjQ1MCwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsInNob3dTeW1ib2xMb2dvIjpmYWxzZX0sIm1pbmktc3ltYm9sLW92ZXJ2aWV3Ijp7IndpZHRoIjozNTAsImhlaWdodCI6MjIwLCJzeW1ib2wiOiJGWDpFVVJVU0QiLCJkYXRlUmFuZ2UiOiIxMk0iLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiYXV0b3NpemUiOmZhbHNlLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInN5bWJvbC1vdmVydmlldyI6eyJ3aWR0aCI6MTAwMCwiaGVpZ2h0Ijo1MDAsInN5bWJvbHMiOltbIkFwcGxlIiwiQUFQTHwxRCJdLFsiR29vZ2xlIiwiR09PR0x8MUQiXSxbIk1pY3Jvc29mdCIsIk1TRlR8MUQiXV0sImF1dG9zaXplIjpmYWxzZSwiY2hhcnRPbmx5IjpmYWxzZSwiaGlkZURhdGVSYW5nZXMiOmZhbHNlLCJoaWRlTWFya2V0U3RhdHVzIjpmYWxzZSwiaGlkZVN5bWJvbExvZ28iOmZhbHNlLCJzY2FsZVBvc2l0aW9uIjoicmlnaHQiLCJzY2FsZU1vZGUiOiJOb3JtYWwiLCJmb250RmFtaWx5IjoiLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBUcmVidWNoZXQgTVMsIFJvYm90bywgVWJ1bnR1LCBzYW5zLXNlcmlmIiwiZm9udFNpemUiOiIxMCIsIm5vVGltZVNjYWxlIjpmYWxzZSwiY2hhcnRUeXBlIjoiYXJlYSIsInZhbHVlc1RyYWNraW5nIjoiMCIsImNoYW5nZU1vZGUiOiJwcmljZS1hbmQtcGVyY2VudCJ9LCJhZHZhbmNlZC1jaGFydCI6eyJib2R5SWQiOiJ3aWRnZXQtY29udGFpbmVyIiwiYm9keUNsYXNzZXMiOlsiY2hhcnQtcGFnZSIsInVuc2VsZWN0YWJsZSIsIm9uLXdpZGdldCJdfSwic2NyZWVuZXIiOnsid2lkdGgiOjExMDAsImhlaWdodCI6NTIzLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJkZWZhdWx0U2NyZWVuIjoiZ2VuZXJhbCIsIm1hcmtldCI6ImZvcmV4Iiwic2hvd1Rvb2xiYXIiOnRydWUsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic2luZ2xlLXF1b3RlIjp7IndpZHRoIjozNTAsInN5bWJvbCI6IkZYOkVVUlVTRCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwic3ltYm9sLXByb2ZpbGUiOnsid2lkdGgiOjQ4MCwiaGVpZ2h0Ijo2NTAsInN5bWJvbCI6Ik5BU0RBUTpBQVBMIiwiaXNUcmFuc3BhcmVudCI6ZmFsc2V9LCJzeW1ib2wtaW5mbyI6eyJ3aWR0aCI6MTAwMCwic3ltYm9sIjoiTkFTREFROkFBUEwiLCJpc1RyYW5zcGFyZW50IjpmYWxzZX0sInRlY2huaWNhbC1hbmFseXNpcyI6eyJpbnRlcnZhbCI6IjFtIiwid2lkdGgiOjQyNSwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImhlaWdodCI6NDUwLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsInNob3dJbnRlcnZhbFRhYnMiOnRydWUsImRpc3BsYXlNb2RlIjoic2luZ2xlIn0sInRpY2tlci10YXBlIjp7ImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6ImFkYXB0aXZlIiwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwidGlja2VycyI6eyJpc1RyYW5zcGFyZW50IjpmYWxzZSwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwiZmluYW5jaWFscyI6eyJ3aWR0aCI6NDgwLCJoZWlnaHQiOjgzMCwiYXV0b3NpemUiOmZhbHNlLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJsYXJnZUNoYXJ0VXJsIjoiIn0sInRpbWVsaW5lIjp7IndpZHRoIjo0ODAsImhlaWdodCI6ODMwLCJhdXRvc2l6ZSI6ZmFsc2UsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJkaXNwbGF5TW9kZSI6InJlZ3VsYXIiLCJmZWVkTW9kZSI6ImFsbF9zeW1ib2xzIn0sInN0b2NrLWhlYXRtYXAiOnsid2lkdGgiOjUwMCwiaGVpZ2h0Ijo1MDAsImF1dG9zaXplIjp0cnVlLCJkYXRhU291cmNlIjoiU1BYNTAwIiwiZXhjaGFuZ2VzIjpbXSwiZ3JvdXBpbmciOiJzZWN0b3IiLCJibG9ja1NpemUiOiJtYXJrZXRfY2FwX2Jhc2ljIiwiYmxvY2tDb2xvciI6ImNoYW5nZSIsImhhc1RvcEJhciI6ZmFsc2UsImlzRGF0YVNldEVuYWJsZWQiOmZhbHNlLCJpc1pvb21FbmFibGVkIjp0cnVlLCJoYXNTeW1ib2xUb29sdGlwIjp0cnVlLCJzeW1ib2xVcmwiOiIiLCJpc01vbm9TaXplIjpmYWxzZX0sImNyeXB0by1jb2lucy1oZWF0bWFwIjp7IndpZHRoIjo1MDAsImhlaWdodCI6NTAwLCJhdXRvc2l6ZSI6dHJ1ZSwiZGF0YVNvdXJjZSI6IkNyeXB0byIsImJsb2NrU2l6ZSI6Im1hcmtldF9jYXBfY2FsYyIsImJsb2NrQ29sb3IiOiIyNGhfY2xvc2VfY2hhbmdlfDUiLCJoYXNUb3BCYXIiOmZhbHNlLCJpc0RhdGFTZXRFbmFibGVkIjpmYWxzZSwiaXNab29tRW5hYmxlZCI6dHJ1ZSwiaGFzU3ltYm9sVG9vbHRpcCI6dHJ1ZSwic3ltYm9sVXJsIjoiIiwiaXNNb25vU2l6ZSI6ZmFsc2V9LCJldGYtaGVhdG1hcCI6eyJ3aWR0aCI6NTAwLCJoZWlnaHQiOjUwMCwiYXV0b3NpemUiOnRydWUsImRhdGFTb3VyY2UiOiJBbGxVU0V0ZiIsImJsb2NrU2l6ZSI6InZvbHVtZSIsImJsb2NrQ29sb3IiOiJjaGFuZ2UiLCJncm91cGluZyI6ImFzc2V0X2NsYXNzIiwiaGFzVG9wQmFyIjpmYWxzZSwiaXNEYXRhU2V0RW5hYmxlZCI6ZmFsc2UsImlzWm9vbUVuYWJsZWQiOnRydWUsImhhc1N5bWJvbFRvb2x0aXAiOnRydWUsInN5bWJvbFVybCI6IiIsImlzTW9ub1NpemUiOmZhbHNlfX0nKQo7dmFyIHIsczshZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU2V0U3ltYm9sPSJzZXQtc3ltYm9sIix0LlNldEludGVydmFsPSJzZXQtaW50ZXJ2YWwifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHJ8fChyPXt9KSksZnVuY3Rpb24odCl7bGV0IGU7IWZ1bmN0aW9uKHQpe3QuU3ltYm9sQ2xpY2s9InR2LXdpZGdldC1zeW1ib2wtY2xpY2siLHQuV2lkZ2V0TG9hZD0idHYtd2lkZ2V0LWxvYWQiLHQuV2lkZ2V0UmVhZHk9InR2LXdpZGdldC1yZWFkeSIsdC5SZXNpemVJZnJhbWU9InR2LXdpZGdldC1yZXNpemUtaWZyYW1lIix0Lk5vRGF0YT0idHYtd2lkZ2V0LW5vLWRhdGEifShlPXQuTmFtZXN8fCh0Lk5hbWVzPXt9KSl9KHN8fChzPXt9KSk7Y29uc3Qgbj0iX19GQUlMX18iLG89Il9fTkhUVFBfXyIsYT1uZXcgUmVnRXhwKCJeaHR0cChzKT86KC8vKT8iKTtmdW5jdGlvbiBsKHQ9bG9jYXRpb24uaHJlZil7Y29uc3QgZT1mdW5jdGlvbih0KXt0cnl7Y29uc3QgZT1uZXcgVVJMKHQpO3JldHVybiBhLnRlc3QoZS5wcm90b2NvbCk/bnVsbDpvfWNhdGNoKHQpe3JldHVybiBufX0odCk7cmV0dXJuIGV8fHQucmVwbGFjZShhLCIiKX1jb25zdCBoPXt3aWRnZXRIb3N0OiJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tIixlbnY6IkJBVFRMRSJ9O2NvbnN0IGM9WyJsb2NhbGUiLCJzeW1ib2wiLCJtYXJrZXQiXTtjbGFzcyBke2NvbnN0cnVjdG9yKHQpe3RoaXMuX2NvcHlyaWdodENvbnRhaW5lcj1udWxsO2NvbnN0IGU9dD8/dGhpcy5fZ2V0U2NyaXB0SW5mbygpO2UmJnRoaXMuX3JlcGxhY2VTY3JpcHQoZSl9aGFzQ29weXJpZ2h0KCl7cmV0dXJuISF0aGlzLl9jb3B5cmlnaHRDb250YWluZXJ9Z2V0IHdpZGdldElkKCl7dGhyb3cgbmV3IEVycm9yKCJNZXRob2QgbXVzdCBiZSBvdmVycmlkZGVuIil9d2lkZ2V0VXRtTmFtZSgpe3JldHVybiB0aGlzLndpZGdldElkfWdldCBkZWZhdWx0U2V0dGluZ3MoKXtyZXR1cm4gaVt0aGlzLndpZGdldElkXX1nZXQgcHJvcGVydGllc1RvV29ya1dpdGgoKXtyZXR1cm5bXX1nZXQgdXNlUGFyYW1zRm9yQ29ubmVjdFNvY2tldCgpe3JldHVybiExfWdldCB1c2VTbm93cGxvd1BhZ2VWaWV3KCl7cmV0dXJuITF9dXNlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzKHQpe3JldHVybnt9fWZpbHRlclJhd1NldHRpbmdzKHQpe2NvbnN0IGU9e30saT17Li4udCwuLi50aGlzLnVzZVF1ZXJ5U3RyaW5nUGFyYW1ldGVycyh0KX0scj1PYmplY3Qua2V5cyhpKSxzPW5ldyBTZXQodGhpcy5wcm9wZXJ0aWVzVG9Xb3JrV2l0aCk7cmV0dXJuIHIuZm9yRWFjaCgodD0+e3MuaGFzKHQpJiYoZVt0XT1pW3RdKX0pKSxlfWdldCBzaG91bGRMaXN0ZW5Ub0lmcmFtZVJlc2l6ZSgpe3JldHVybiEwfWdldCBwcm9wZXJ0aWVzVG9Ta2lwSW5IYXNoKCl7cmV0dXJuWyJjdXN0b21lciIsImxvY2FsZSJdfWdldCBwcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcygpe3JldHVyblsibG9jYWxlIl19c2hvdWxkQWRkQ29weXJpZ2h0U3R5bGVzKCl7cmV0dXJuITB9X2RlZmF1bHRXaWR0aCgpe31fZGVmYXVsdEhlaWdodCgpe31fZ2V0U2NyaXB0SW5mbygpe2NvbnN0IHQ9ZG9jdW1lbnQuY3VycmVudFNjcmlwdDtpZighdHx8IXQuc3JjKXJldHVybiBjb25zb2xlLmVycm9yKCJDb3VsZCBub3Qgc2VsZi1yZXBsYWNlIHRoZSBzY3JpcHQsIHdpZGdldCBlbWJlZGRpbmcgaGFzIGJlZW4gYWJvcnRlZCIpLG51bGw7cmV0dXJue3NjcmlwdFVSTDpmdW5jdGlvbih0KXtjb25zdCBlPW5ldyBVUkwodCxkb2N1bWVudC5iYXNlVVJJKTtyZXR1cm57aG9zdDplLmhvc3QscGF0aG5hbWU6ZS5wYXRobmFtZSxocmVmOmUuaHJlZixwcm90b2NvbDplLnByb3RvY29sfX0odC5zcmMpLHNjcmlwdEVsZW1lbnQ6dCxpZDp0LmlkLHJhd1NldHRpbmdzOnRoaXMuX3NjcmlwdENvbnRlbnRUb0pTT04odCksb3ZlcnJpZGVIb3N0OnQuZ2V0QXR0cmlidXRlKCJvdmVycmlkZS1ob3N0Iil9fV9yZXBsYWNlU2NyaXB0KGkpe2NvbnN0e3NjcmlwdFVSTDpyLHNjcmlwdEVsZW1lbnQ6bixyYXdTZXR0aW5nczpvLGlkOmEsb3ZlcnJpZGVIb3N0Omx9PWksYz1sfHxmdW5jdGlvbih0LGU9aCl7aWYoIkJBVFRMRSI9PT1lLmVudil7aWYod2luZG93LldJREdFVF9IT1NUKXJldHVybiB3aW5kb3cuV0lER0VUX0hPU1Q7aWYodC5ob3N0Lm1hdGNoKC9cLlx3c3RcdypcLlx3diQvaSkpcmV0dXJuIGZ1bmN0aW9uKHQpe2NvbnN0IGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5zcGxpdCgiLiIpLnNsaWNlKC1lKS5qb2luKCIuIil9KHQsMykucmVwbGFjZSgvXmJldGEwKD89XC54c3RhZ2luZ1wudHYkKS9pLCJiZXRhMC14c3RhZ2luZyIpO3JldHVybmBodHRwczovLyR7ZS5yZXBsYWNlKC9cLihcdyl2JC9pLCgodCxlKT0+YC13aWRnZXQuJHtlfXZgKSl9YH0odC5ob3N0KX1yZXR1cm4gZS53aWRnZXRIb3N0fShyKSxkPW4ucGFyZW50Tm9kZTtvJiYidGltZWxpbmUiPT09dGhpcy53aWRnZXRVdG1OYW1lKCkmJihvLmxvY2FsZT0iZW4iKTtjb25zdCBnPW4ubm9uY2V8fG4uZ2V0QXR0cmlidXRlKCJub25jZSIpLHU9ZnVuY3Rpb24odCl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgZT10LnF1ZXJ5U2VsZWN0b3IoIiN0cmFkaW5ndmlldy1jb3B5cmlnaHQiKSxpPXQucXVlcnlTZWxlY3RvcigiI3RyYWRpbmd2aWV3LXF1b3RlcyIpLHI9ZXx8aTtyZXR1cm4gciYmdC5yZW1vdmVDaGlsZChyKSxyfShkKSxwPWQucXVlcnlTZWxlY3RvcigiLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiKTt0aGlzLl9jb3B5cmlnaHRDb250YWluZXI9dXx8cDtjb25zdCBtPWQuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIik7dGhpcy5pZnJhbWVDb250YWluZXI9ZCYmbT9kOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG8mJih0aGlzLnNldHRpbmdzPXRoaXMuZmlsdGVyUmF3U2V0dGluZ3MobykpLG8mJnRoaXMuX3ZhbGlkYXRlU2V0dGluZ3MoKXx8KGNvbnNvbGUuZXJyb3IoIkludmFsaWQgc2V0dGluZ3MgcHJvdmlkZWQsIGZhbGwgYmFjayB0byBkZWZhdWx0cyIpLAp0aGlzLnNldHRpbmdzPXRoaXMuZmlsdGVyUmF3U2V0dGluZ3ModGhpcy5kZWZhdWx0U2V0dGluZ3MpKTtjb25zdCBmPSIzMnB4Iix7d2lkdGg6dyxoZWlnaHQ6eX09dGhpcy5zZXR0aW5ncyxiPXZvaWQgMD09PXk/dm9pZCAwOmAke3l9JHtOdW1iZXIuaXNJbnRlZ2VyKHkpPyJweCI6IiJ9YCxTPXZvaWQgMD09PXc/dm9pZCAwOmAke3d9JHtOdW1iZXIuaXNJbnRlZ2VyKHcpPyJweCI6IiJ9YDtpZih2b2lkIDAhPT1TJiYodGhpcy5pZnJhbWVDb250YWluZXIuc3R5bGUud2lkdGg9Uyksdm9pZCAwIT09YiYmKHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD1iKSx0aGlzLnNob3VsZEFkZENvcHlyaWdodFN0eWxlcygpKXtjb25zdCB0PWZ1bmN0aW9uKCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LmlubmVySFRNTD1gXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IHtcblx0XHRmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcblx0XHRsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcblx0XHQvKiBAbWl4aW4gc2YtcHJvLWRpc3BsYXktZm9udDsgKi9cblx0XHRmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnVHJlYnVjaGV0IE1TJywgUm9ib3RvLCBVYnVudHUsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6ICR7ZVsiY29sb3ItY29sZC1ncmF5LTMwMCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTp2aXNpdGVkIHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmhvdmVyIC5ibHVlLXRleHQge1xuXHRcdGNvbG9yOiAke2VbImNvbG9yLWJyYW5kLWhvdmVyIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmFjdGl2ZSAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZC1hY3RpdmUiXX0gIWltcG9ydGFudDtcblx0fVxuXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IGE6dmlzaXRlZCAuYmx1ZS10ZXh0IHtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1icmFuZCJdfSAhaW1wb3J0YW50O1xuXHR9XG5cdGAsdH0oKTtnJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGcpLHRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfWNvbnN0IHY9dGhpcy5oYXNDb3B5cmlnaHQoKT9gY2FsYygxMDAlIC0gJHtmfSlgOiIxMDAlIixfPWxvY2F0aW9uLmhvc3RuYW1lLEM9cD8id2lkZ2V0X25ldyI6IndpZGdldCIsVD10aGlzLndpZGdldFV0bU5hbWUoKTt0aGlzLnNldHRpbmdzLnV0bV9zb3VyY2U9Xyx0aGlzLnNldHRpbmdzLnV0bV9tZWRpdW09Qyx0aGlzLnNldHRpbmdzLnV0bV9jYW1wYWlnbj1ULHRoaXMuX3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXMoXyxDLFQpO2NvbnN0IEE9dGhpcy5zZXR0aW5ncy5pZnJhbWVUaXRsZXx8YCR7dGhpcy53aWRnZXRJZC5yZXBsYWNlKCItIiwiICIpfSBUcmFkaW5nVmlldyB3aWRnZXRgLGs9dGhpcy5zZXR0aW5ncy5pZnJhbWVMYW5nfHwiZW4iO3RoaXMuaWZyYW1lPXRoaXMuX2NyZWF0ZUlmcmFtZSh2LGMsYSxBLGspLHRoaXMuX2FkZENTUEVycm9yTGlzdGVuZXIoYyksZyYmdGhpcy5pZnJhbWUuc2V0QXR0cmlidXRlKCJub25jZSIsZyk7Y29uc3QgST10aGlzLmlmcmFtZUNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCIudHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lcl9fd2lkZ2V0Iik7aWYoST8odChJLnBhcmVudEVsZW1lbnQpLnJlcGxhY2VDaGlsZCh0aGlzLmlmcmFtZSxJKSxuPy5yZW1vdmUoKSk6bT8odGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLG4/LnJlbW92ZSgpKToodGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpLGQucmVwbGFjZUNoaWxkKHRoaXMuaWZyYW1lQ29udGFpbmVyLHQobikpKSx0aGlzLnNob3VsZExpc3RlblRvSWZyYW1lUmVzaXplJiZmdW5jdGlvbih0LGUsaSl7Y29uc3Qgcj1lLmNvbnRlbnRXaW5kb3c7aWYoIXIpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIkNhbm5vdCBsaXN0ZW4gdG8gdGhlIGV2ZW50IGZyb20gdGhlIHByb3ZpZGVkIGlmcmFtZSwgY29udGVudFdpbmRvdyBpcyBub3QgYXZhaWxhYmxlIiksKCk9Pnt9O2Z1bmN0aW9uIHMoZSl7ZS5zb3VyY2UmJmUuc291cmNlPT09ciYmZS5kYXRhJiZlLmRhdGEubmFtZSYmZS5kYXRhLm5hbWU9PT10JiZpKGUuZGF0YS5kYXRhKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscywhMSl9KHMuTmFtZXMuUmVzaXplSWZyYW1lLHRoaXMuaWZyYW1lLCh0PT57dC53aWR0aCYmKHRoaXMuaWZyYW1lLnN0eWxlLndpZHRoPXQud2lkdGgrInB4Iix0aGlzLmlmcmFtZUNvbnRhaW5lci5zdHlsZS53aWR0aD10LndpZHRoKyJweCIpLHRoaXMuaWZyYW1lLnN0eWxlLmhlaWdodD10LmhlaWdodCsicHgiLHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLmhlaWdodD10LmhlaWdodCsodGhpcy5oYXNDb3B5cmlnaHQoKT8zMjowKSsicHgifSkpLHUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5zdHlsZS5oZWlnaHQ9Zix0LnN0eWxlLmxpbmVIZWlnaHQ9Zix2b2lkIDAhPT1TJiYodC5zdHlsZS53aWR0aD1TKSx0LnN0eWxlLnRleHRBbGlnbj0iY2VudGVyIiwKdC5zdHlsZS52ZXJ0aWNhbEFsaWduPSJtaWRkbGUiLHQuaW5uZXJIVE1MPXUuaW5uZXJIVE1MLHRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKHQpfX1faWZyYW1lU3JjQmFzZSh0KXtsZXQgZT1gJHt0fS9lbWJlZC13aWRnZXQvJHt0aGlzLndpZGdldElkfS9gO3JldHVybiB0aGlzLnNldHRpbmdzLmN1c3RvbWVyJiYtMSE9PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKCJjdXN0b21lciIpJiYoZSs9YCR7dGhpcy5zZXR0aW5ncy5jdXN0b21lcn0vYCksZX1fdmFsaWRhdGVTZXR0aW5ncygpe2NvbnN0IHQ9KHQsZSk9PntpZih2b2lkIDA9PT10KXJldHVybiBlO2NvbnN0IGk9U3RyaW5nKHQpO3JldHVybi9eXGQrJC8udGVzdChpKT9wYXJzZUludChpKTovXihcZCslfGF1dG8pJC8udGVzdChpKT9pOm51bGx9LGU9dCh0aGlzLnNldHRpbmdzLndpZHRoLHRoaXMuX2RlZmF1bHRXaWR0aCgpKSxpPXQodGhpcy5zZXR0aW5ncy5oZWlnaHQsdGhpcy5fZGVmYXVsdEhlaWdodCgpKTtyZXR1cm4gbnVsbCE9PWUmJm51bGwhPT1pJiYodGhpcy5zZXR0aW5ncy53aWR0aD1lLHRoaXMuc2V0dGluZ3MuaGVpZ2h0PWksITApfV9zZXRTZXR0aW5nc1F1ZXJ5U3RyaW5nKHQpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzVG9BZGRUb0dldFBhcmFtcy5maWx0ZXIoKHQ9Pi0xIT09Yy5pbmRleE9mKHQpKSksaT1mdW5jdGlvbih0LGUpe2NvbnN0IGk9T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpO2Zvcihjb25zdCByIG9mIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihpW3JdPXRbcl0pO3JldHVybiBpfSh0aGlzLnNldHRpbmdzLGUpO2Zvcihjb25zdFtlLHJdb2YgT2JqZWN0LmVudHJpZXMoaSkpdC5zZWFyY2hQYXJhbXMuYXBwZW5kKGUscil9X3NldEhhc2hTdHJpbmcodCxlKXtjb25zdCBpPXt9O2UmJihpLmZyYW1lRWxlbWVudElkPWUpLE9iamVjdC5rZXlzKHRoaXMuc2V0dGluZ3MpLmZvckVhY2goKHQ9PnstMT09PXRoaXMucHJvcGVydGllc1RvU2tpcEluSGFzaC5pbmRleE9mKHQpJiYoaVt0XT10aGlzLnNldHRpbmdzW3RdKX0pKSwodGhpcy51c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0fHx0aGlzLnVzZVNub3dwbG93UGFnZVZpZXcpJiYoaVsicGFnZS11cmkiXT1sKCkpO09iamVjdC5rZXlzKGkpLmxlbmd0aD4wJiYodC5oYXNoPWVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShpKSkpfV9zY3JpcHRDb250ZW50VG9KU09OKHQpe2NvbnN0IGU9dC5pbm5lckhUTUwudHJpbSgpO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcihgV2lkZ2V0IHNldHRpbmdzIHBhcnNlIGVycm9yOiAke3R9YCksbnVsbH19X2NyZWF0ZUlmcmFtZSh0LGUsaSxyLHMpe2NvbnN0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7aSYmKG4uaWQ9aSksdGhpcy5zZXR0aW5ncy5lbmFibGVTY3JvbGxpbmd8fG4uc2V0QXR0cmlidXRlKCJzY3JvbGxpbmciLCJubyIpLG4uc2V0QXR0cmlidXRlKCJhbGxvd3RyYW5zcGFyZW5jeSIsInRydWUiKSxuLnNldEF0dHJpYnV0ZSgiZnJhbWVib3JkZXIiLCIwIiksbi5zdHlsZS51c2VyU2VsZWN0PSJub25lIixuLnN0eWxlLmJveFNpemluZz0iYm9yZGVyLWJveCIsbi5zdHlsZS5kaXNwbGF5PSJibG9jayIsbi5zdHlsZS5oZWlnaHQ9dCxuLnN0eWxlLndpZHRoPSIxMDAlIjtjb25zdCBvPW5ldyBVUkwodGhpcy5faWZyYW1lU3JjQmFzZShlKSk7cmV0dXJuIHRoaXMuX3NldFNldHRpbmdzUXVlcnlTdHJpbmcobyksdGhpcy5fc2V0SGFzaFN0cmluZyhvLGkpLG4uc2V0QXR0cmlidXRlKCJzcmMiLG8udG9TdHJpbmcoKSksbi50aXRsZT1yLG4ubGFuZz1zLG59X2FkZENTUEVycm9yTGlzdGVuZXIodCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLChlPT57ZS5ibG9ja2VkVVJJLmluY2x1ZGVzKHQpJiYodGhpcy5fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCksY29uc29sZS53YXJuKCJQbGVhc2UgdXBkYXRlIHlvdXIgQ1NQIHJ1bGVzIHRvIGFsbG93IHRoZSB0cmFkaW5ndmlldy13aWRnZXQuY29tIG9yaWdpbiBmb3IgZnJhbWUtc3JjLiIpKX0pKX1fdHJ5Rml4Q1NQSXNzdWVXaXRoRmFsbGJhY2sodCl7Y29uc3QgZT10aGlzLmlmcmFtZS5nZXRBdHRyaWJ1dGUoInNyYyIpO2lmKGUpe2NvbnN0IGk9bmV3IFVSTChlLnJlcGxhY2UodCwiaHR0cHM6Ly9zLnRyYWRpbmd2aWV3LmNvbSIpKTt0aGlzLmlmcmFtZS5zZXRBdHRyaWJ1dGUoInNyYyIsaS5ocmVmKX19X3VwZGF0ZUNvcHlyaWdodEhyZWZQYXJhbXModCxlLGkpe2lmKHRoaXMuX2NvcHlyaWdodENvbnRhaW5lcil7Y29uc3Qgcj10aGlzLl9jb3B5cmlnaHRDb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYSIpO3ImJnIuZm9yRWFjaCgocj0+e2NvbnN0IHM9ci5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihzKXRyeXtjb25zdCBuPW5ldyBVUkwocyk7bi5zZWFyY2hQYXJhbXMuc2V0KCJ1dG1fc291cmNlIix0KSxuLnNlYXJjaFBhcmFtcy5zZXQoInV0bV9tZWRpdW0iLGUpLG4uc2VhcmNoUGFyYW1zLnNldCgidXRtX2NhbXBhaWduIixpKSxyLnNldEF0dHJpYnV0ZSgiaHJlZiIsbi50b1N0cmluZygpKX1jYXRjaCh0KXtjb25zb2xlLmxvZyhgQ2Fubm90IHVwZGF0ZSBsaW5rIFVUTSBwYXJhbXMsIGhyZWY9IiR7c30iYCl9fSkpfX19CmNvbnN0IGc9WyJjb250YWluZXJfaWQiLCJzeW1ib2wiLCJpbnRlcnZhbCIsInRpbWV6b25lIiwidGhlbWUiLCJzdHlsZSIsImxvY2FsZSIsImFsbG93X3N5bWJvbF9jaGFuZ2UiLCJiYWNrZ3JvdW5kQ29sb3IiLCJncmlkQ29sb3IiLCJhdXRvc2l6ZSIsIndpZHRoIiwiaGVpZ2h0IiwiaGlkZV92b2x1bWUiLCJ3aGl0ZWxhYmVsIiwicmFuZ2UiLCJoaWRlX3RvcF90b29sYmFyIiwiaGlkZV9zaWRlX3Rvb2xiYXIiLCJoaWRlX2xlZ2VuZCIsInNhdmVfaW1hZ2UiLCJ3YXRjaGxpc3QiLCJlZGl0YWJsZXdhdGNobGlzdCIsInN0dWRpZXMiLCJleHRlbmRlZF9ob3VycyIsImRldGFpbHMiLCJob3RsaXN0IiwiaGlkZWlkZWFzYnV0dG9uIiwid2lkZ2V0YmFyX3dpZHRoIiwid2l0aGRhdGVyYW5nZXMiLCJjdXN0b21lciIsInZlbnVlIiwic3ltYm9sb2d5Iiwic2hvd19wb3B1cF9idXR0b24iLCJwb3B1cF9oZWlnaHQiLCJwb3B1cF93aWR0aCIsInN0dWRpZXNfb3ZlcnJpZGVzIiwib3ZlcnJpZGVzIiwiZW5hYmxlZF9mZWF0dXJlcyIsImRpc2FibGVkX2ZlYXR1cmVzIiwicHVibGlzaF9zb3VyY2UiLCJ3aG90cmFkZXMiLCJyZWZlcnJhbF9pZCIsIm5vX3JlZmVycmFsX2lkIiwiZnVuZGFtZW50YWwiLCJwZXJjZW50YWdlIiwicGFkZGluZyIsImdyZXlUZXh0IiwiaG9yenRvdWNoZHJhZyIsInZlcnR0b3VjaGRyYWciLCJzdXBwb3J0X2hvc3QiLCJjb21wYXJlU3ltYm9scyJdO2NvbnN0IHU9bmV3IGNsYXNzIGV4dGVuZHMgZHtnZXQgd2lkZ2V0SWQoKXtyZXR1cm4iYWR2YW5jZWQtY2hhcnQifWdldCB1c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0KCl7cmV0dXJuITB9Z2V0IHByb3BlcnRpZXNUb1dvcmtXaXRoKCl7cmV0dXJuWy4uLmcsImN1c3RvbWVyIl19dXNlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzKCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3RyeXtjb25zdCBlPW5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpLGk9e307Zm9yKGNvbnN0W3Isc11vZiBPYmplY3QuZW50cmllcyh0KSl7Y29uc3QgdD1lLnNlYXJjaFBhcmFtcy5nZXQocyk7dCYmKGlbcl09dCl9cmV0dXJuIGl9Y2F0Y2h7cmV0dXJue319fSh7c3ltYm9sOiJ0dndpZGdldHN5bWJvbCJ9KX1fZGVmYXVsdFdpZHRoKCl7cmV0dXJuIjEwMCUifV9kZWZhdWx0SGVpZ2h0KCl7cmV0dXJuIjEwMCUifX07bGV0IHA7dHJ5e3A9bmV3IFVSTCh1LmlmcmFtZS5zcmMpLm9yaWdpbn1jYXRjaCh0KXtwPSJ0cmFkaW5ndmlldy13aWRnZXQuY29tIn13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKHQ9PntpZih0Lm9yaWdpbiE9PXApcmV0dXJuO3Quc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7bGV0IGU9dC5kYXRhO2lmKCJzdHJpbmciPT10eXBlb2YgdC5kYXRhJiZ0LmRhdGEubGVuZ3RoJiYoZT1KU09OLnBhcnNlKHQuZGF0YSkpLCJvcGVuQ2hhcnRJblBvcHVwIiE9PWUubmFtZSlyZXR1cm47Y29uc3QgaT1KU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudChlLmRhdGEudXJsKS5zbGljZShlLmRhdGEudXJsLmluZGV4T2YoIiMiKSsxKSkscj1pLnBvcHVwX3dpZHRoLHM9aS5wb3B1cF9oZWlnaHQsbj0ic3RyaW5nIj09dHlwZW9mIHI/cGFyc2VJbnQocik6cixvPSJzdHJpbmciPT10eXBlb2Ygcz9wYXJzZUludChzKTpzLGE9KHNjcmVlbi53aWR0aC1uKS8yLGw9KHNjcmVlbi5oZWlnaHQtbykvMixoPXdpbmRvdy5vcGVuKGUuZGF0YS51cmwsIl9ibGFuayIsYHJlc2l6YWJsZT15ZXMsIHRvcD0ke2x9LCBsZWZ0PSR7YX0sIHdpZHRoPSR7bn0sIGhlaWdodD0ke299YCk7aCYmKGgub3BlbmVyPW51bGwpfSkpfSkoKTs="}},"time_used":15,"timings":{"blocked":-1,"dns":3,"connect":1,"send":0,"wait":2,"receive":0,"ssl":8},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/elementor/assets/lib/swiper/v8/swiper.min.js?ver=8.4.5","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.911Z","timestamp":1785141582911,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/plugins/elementor/assets/lib/swiper/v8/swiper.min.js?ver=8.4.5 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:57:52 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 39695\r\nKeep-Alive: timeout=5, max=94\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":143709,"size_decoded":40061,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (65279)","md5":"83e9b29f0086bba50d653f1cb8dedc3c","sha1":"f8f89387c9aca9d524bb638eae457d4659efca52","sha256":"2ac3af00c283c0b2ae6108fa83a2053e51274a2a812fb063916cbe19bc4f96b5","sha512":"c8018876ee96b4600ae32342ec6d21b452ad4109d605fb838f146b734de274ef5e37179567a2c67ec828dc1b673364637fc82e7dfe8f7adbb18e20555577160c","ssdeep":"3072:pJLCyDdkEUYnafpoy9v8cIWyUaV4y+oGeJM91EfrNK/Yvr:pJLC4dkEUYnafpl9v8cIWybV4y+oGMMG","tlshash":"fce3f8896360b1a552e3268b93a9c651e3b51400b409c4e871bd0c9b6d7ed9813ffffe","first_seen":"2023-03-14T09:12:04Z","last_seen":"2026-07-27T14:15:26.059849Z","times_seen":102479,"resource_available":true,"data":"LyoqCiAqIFN3aXBlciA4LjQuNQogKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9ucwogKiBodHRwczovL3N3aXBlcmpzLmNvbQogKgogKiBDb3B5cmlnaHQgMjAxNC0yMDIyIFZsYWRpbWlyIEtoYXJsYW1waWRpCiAqCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZQogKgogKiBSZWxlYXNlZCBvbjogTm92ZW1iZXIgMjEsIDIwMjIKICovCgogIWZ1bmN0aW9uKGUsdCl7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz10KCk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUodCk6KGU9InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWxUaGlzP2dsb2JhbFRoaXM6ZXx8c2VsZikuU3dpcGVyPXQoKX0odGhpcywoZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZShlKXtyZXR1cm4gbnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZSYmImNvbnN0cnVjdG9yImluIGUmJmUuY29uc3RydWN0b3I9PT1PYmplY3R9ZnVuY3Rpb24gdChzLGEpe3ZvaWQgMD09PXMmJihzPXt9KSx2b2lkIDA9PT1hJiYoYT17fSksT2JqZWN0LmtleXMoYSkuZm9yRWFjaCgoaT0+e3ZvaWQgMD09PXNbaV0/c1tpXT1hW2ldOmUoYVtpXSkmJmUoc1tpXSkmJk9iamVjdC5rZXlzKGFbaV0pLmxlbmd0aD4wJiZ0KHNbaV0sYVtpXSl9KSl9Y29uc3Qgcz17Ym9keTp7fSxhZGRFdmVudExpc3RlbmVyKCl7fSxyZW1vdmVFdmVudExpc3RlbmVyKCl7fSxhY3RpdmVFbGVtZW50OntibHVyKCl7fSxub2RlTmFtZToiIn0scXVlcnlTZWxlY3RvcjooKT0+bnVsbCxxdWVyeVNlbGVjdG9yQWxsOigpPT5bXSxnZXRFbGVtZW50QnlJZDooKT0+bnVsbCxjcmVhdGVFdmVudDooKT0+KHtpbml0RXZlbnQoKXt9fSksY3JlYXRlRWxlbWVudDooKT0+KHtjaGlsZHJlbjpbXSxjaGlsZE5vZGVzOltdLHN0eWxlOnt9LHNldEF0dHJpYnV0ZSgpe30sZ2V0RWxlbWVudHNCeVRhZ05hbWU6KCk9PltdfSksY3JlYXRlRWxlbWVudE5TOigpPT4oe30pLGltcG9ydE5vZGU6KCk9Pm51bGwsbG9jYXRpb246e2hhc2g6IiIsaG9zdDoiIixob3N0bmFtZToiIixocmVmOiIiLG9yaWdpbjoiIixwYXRobmFtZToiIixwcm90b2NvbDoiIixzZWFyY2g6IiJ9fTtmdW5jdGlvbiBhKCl7Y29uc3QgZT0idW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50Ont9O3JldHVybiB0KGUscyksZX1jb25zdCBpPXtkb2N1bWVudDpzLG5hdmlnYXRvcjp7dXNlckFnZW50OiIifSxsb2NhdGlvbjp7aGFzaDoiIixob3N0OiIiLGhvc3RuYW1lOiIiLGhyZWY6IiIsb3JpZ2luOiIiLHBhdGhuYW1lOiIiLHByb3RvY29sOiIiLHNlYXJjaDoiIn0saGlzdG9yeTp7cmVwbGFjZVN0YXRlKCl7fSxwdXNoU3RhdGUoKXt9LGdvKCl7fSxiYWNrKCl7fX0sQ3VzdG9tRXZlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sYWRkRXZlbnRMaXN0ZW5lcigpe30scmVtb3ZlRXZlbnRMaXN0ZW5lcigpe30sZ2V0Q29tcHV0ZWRTdHlsZTooKT0+KHtnZXRQcm9wZXJ0eVZhbHVlOigpPT4iIn0pLEltYWdlKCl7fSxEYXRlKCl7fSxzY3JlZW46e30sc2V0VGltZW91dCgpe30sY2xlYXJUaW1lb3V0KCl7fSxtYXRjaE1lZGlhOigpPT4oe30pLHJlcXVlc3RBbmltYXRpb25GcmFtZTplPT4idW5kZWZpbmVkIj09dHlwZW9mIHNldFRpbWVvdXQ/KGUoKSxudWxsKTpzZXRUaW1lb3V0KGUsMCksY2FuY2VsQW5pbWF0aW9uRnJhbWUoZSl7InVuZGVmaW5lZCIhPXR5cGVvZiBzZXRUaW1lb3V0JiZjbGVhclRpbWVvdXQoZSl9fTtmdW5jdGlvbiByKCl7Y29uc3QgZT0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e307cmV0dXJuIHQoZSxpKSxlfWNsYXNzIG4gZXh0ZW5kcyBBcnJheXtjb25zdHJ1Y3RvcihlKXsibnVtYmVyIj09dHlwZW9mIGU/c3VwZXIoZSk6KHN1cGVyKC4uLmV8fFtdKSxmdW5jdGlvbihlKXtjb25zdCB0PWUuX19wcm90b19fO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX3Byb3RvX18iLHtnZXQ6KCk9PnQsc2V0KGUpe3QuX19wcm90b19fPWV9fSl9KHRoaXMpKX19ZnVuY3Rpb24gbChlKXt2b2lkIDA9PT1lJiYoZT1bXSk7Y29uc3QgdD1bXTtyZXR1cm4gZS5mb3JFYWNoKChlPT57QXJyYXkuaXNBcnJheShlKT90LnB1c2goLi4ubChlKSk6dC5wdXNoKGUpfSkpLHR9ZnVuY3Rpb24gbyhlLHQpe3JldHVybiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoZSx0KX1mdW5jdGlvbiBkKGUsdCl7Y29uc3Qgcz1yKCksaT1hKCk7bGV0IGw9W107aWYoIXQmJmUgaW5zdGFuY2VvZiBuKXJldHVybiBlO2lmKCFlKXJldHVybiBuZXcgbihsKTtpZigic3RyaW5nIj09dHlwZW9mIGUpe2NvbnN0IHM9ZS50cmltKCk7aWYocy5pbmRleE9mKCI8Iik+PTAmJnMuaW5kZXhPZigiPiIpPj0wKXtsZXQgZT0iZGl2IjswPT09cy5pbmRleE9mKCI8bGkiKSYmKGU9InVsIiksMD09PXMuaW5kZXhPZigiPHRyIikmJihlPSJ0Ym9keSIpLDAhPT1zLmluZGV4T2YoIjx0ZCIpJiYwIT09cy5pbmRleE9mKCI8dGgiKXx8KGU9InRyIiksMD09PXMuaW5kZXhPZigiPHRib2R5IikmJihlPSJ0YWJsZSIpLDA9PT1zLmluZGV4T2YoIjxvcHRpb24iKSYmKGU9InNlbGVjdCIpO2NvbnN0IHQ9aS5jcmVhdGVFbGVtZW50KGUpO3QuaW5uZXJIVE1MPXM7Zm9yKGxldCBlPTA7ZTx0LmNoaWxkTm9kZXMubGVuZ3RoO2UrPTEpbC5wdXNoKHQuY2hpbGROb2Rlc1tlXSl9ZWxzZSBsPWZ1bmN0aW9uKGUsdCl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXJldHVybltlXTtjb25zdCBzPVtdLGE9dC5xdWVyeVNlbGVjdG9yQWxsKGUpO2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7ZSs9MSlzLnB1c2goYVtlXSk7cmV0dXJuIHN9KGUudHJpbSgpLHR8fGkpfWVsc2UgaWYoZS5ub2RlVHlwZXx8ZT09PXN8fGU9PT1pKWwucHVzaChlKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoZSkpe2lmKGUgaW5zdGFuY2VvZiBuKXJldHVybiBlO2w9ZX1yZXR1cm4gbmV3IG4oZnVuY3Rpb24oZSl7Y29uc3QgdD1bXTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrPTEpLTE9PT10LmluZGV4T2YoZVtzXSkmJnQucHVzaChlW3NdKTtyZXR1cm4gdH0obCkpfWQuZm49bi5wcm90b3R5cGU7Y29uc3QgYz17YWRkQ2xhc3M6ZnVuY3Rpb24oKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCx0PW5ldyBBcnJheShlKSxzPTA7czxlO3MrKyl0W3NdPWFyZ3VtZW50c1tzXTtjb25zdCBhPWwodC5tYXAoKGU9PmUuc3BsaXQoIiAiKSkpKTtyZXR1cm4gdGhpcy5mb3JFYWNoKChlPT57ZS5jbGFzc0xpc3QuYWRkKC4uLmEpfSkpLHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgsdD1uZXcgQXJyYXkoZSkscz0wO3M8ZTtzKyspdFtzXT1hcmd1bWVudHNbc107Y29uc3QgYT1sKHQubWFwKChlPT5lLnNwbGl0KCIgIikpKSk7cmV0dXJuIHRoaXMuZm9yRWFjaCgoZT0+e2UuY2xhc3NMaXN0LnJlbW92ZSguLi5hKX0pKSx0aGlzfSxoYXNDbGFzczpmdW5jdGlvbigpe2Zvcih2YXIgZT1hcmd1bWVudHMubGVuZ3RoLHQ9bmV3IEFycmF5KGUpLHM9MDtzPGU7cysrKXRbc109YXJndW1lbnRzW3NdO2NvbnN0IGE9bCh0Lm1hcCgoZT0+ZS5zcGxpdCgiICIpKSkpO3JldHVybiBvKHRoaXMsKGU9PmEuZmlsdGVyKCh0PT5lLmNsYXNzTGlzdC5jb250YWlucyh0KSkpLmxlbmd0aD4wKSkubGVuZ3RoPjB9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgsdD1uZXcgQXJyYXkoZSkscz0wO3M8ZTtzKyspdFtzXT1hcmd1bWVudHNbc107Y29uc3QgYT1sKHQubWFwKChlPT5lLnNwbGl0KCIgIikpKSk7dGhpcy5mb3JFYWNoKChlPT57YS5mb3JFYWNoKCh0PT57ZS5jbGFzc0xpc3QudG9nZ2xlKHQpfSkpfSkpfSxhdHRyOmZ1bmN0aW9uKGUsdCl7aWYoMT09PWFyZ3VtZW50cy5sZW5ndGgmJiJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gdGhpc1swXT90aGlzWzBdLmdldEF0dHJpYnV0ZShlKTp2b2lkIDA7Zm9yKGxldCBzPTA7czx0aGlzLmxlbmd0aDtzKz0xKWlmKDI9PT1hcmd1bWVudHMubGVuZ3RoKXRoaXNbc10uc2V0QXR0cmlidXRlKGUsdCk7ZWxzZSBmb3IoY29uc3QgdCBpbiBlKXRoaXNbc11bdF09ZVt0XSx0aGlzW3NdLnNldEF0dHJpYnV0ZSh0LGVbdF0pO3JldHVybiB0aGlzfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGUpe2ZvcihsZXQgdD0wO3Q8dGhpcy5sZW5ndGg7dCs9MSl0aGlzW3RdLnJlbW92ZUF0dHJpYnV0ZShlKTtyZXR1cm4gdGhpc30sdHJhbnNmb3JtOmZ1bmN0aW9uKGUpe2ZvcihsZXQgdD0wO3Q8dGhpcy5sZW5ndGg7dCs9MSl0aGlzW3RdLnN0eWxlLnRyYW5zZm9ybT1lO3JldHVybiB0aGlzfSx0cmFuc2l0aW9uOmZ1bmN0aW9uKGUpe2ZvcihsZXQgdD0wO3Q8dGhpcy5sZW5ndGg7dCs9MSl0aGlzW3RdLnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbj0ic3RyaW5nIiE9dHlwZW9mIGU/YCR7ZX1tc2A6ZTtyZXR1cm4gdGhpc30sb246ZnVuY3Rpb24oKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCx0PW5ldyBBcnJheShlKSxzPTA7czxlO3MrKyl0W3NdPWFyZ3VtZW50c1tzXTtsZXRbYSxpLHIsbl09dDtmdW5jdGlvbiBsKGUpe2NvbnN0IHQ9ZS50YXJnZXQ7aWYoIXQpcmV0dXJuO2NvbnN0IHM9ZS50YXJnZXQuZG9tN0V2ZW50RGF0YXx8W107aWYocy5pbmRleE9mKGUpPDAmJnMudW5zaGlmdChlKSxkKHQpLmlzKGkpKXIuYXBwbHkodCxzKTtlbHNle2NvbnN0IGU9ZCh0KS5wYXJlbnRzKCk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kz0xKWQoZVt0XSkuaXMoaSkmJnIuYXBwbHkoZVt0XSxzKX19ZnVuY3Rpb24gbyhlKXtjb25zdCB0PWUmJmUudGFyZ2V0JiZlLnRhcmdldC5kb203RXZlbnREYXRhfHxbXTt0LmluZGV4T2YoZSk8MCYmdC51bnNoaWZ0KGUpLHIuYXBwbHkodGhpcyx0KX0iZnVuY3Rpb24iPT10eXBlb2YgdFsxXSYmKFthLHIsbl09dCxpPXZvaWQgMCksbnx8KG49ITEpO2NvbnN0IGM9YS5zcGxpdCgiICIpO2xldCBwO2ZvcihsZXQgZT0wO2U8dGhpcy5sZW5ndGg7ZSs9MSl7Y29uc3QgdD10aGlzW2VdO2lmKGkpZm9yKHA9MDtwPGMubGVuZ3RoO3ArPTEpe2NvbnN0IGU9Y1twXTt0LmRvbTdMaXZlTGlzdGVuZXJzfHwodC5kb203TGl2ZUxpc3RlbmVycz17fSksdC5kb203TGl2ZUxpc3RlbmVyc1tlXXx8KHQuZG9tN0xpdmVMaXN0ZW5lcnNbZV09W10pLHQuZG9tN0xpdmVMaXN0ZW5lcnNbZV0ucHVzaCh7bGlzdGVuZXI6cixwcm94eUxpc3RlbmVyOmx9KSx0LmFkZEV2ZW50TGlzdGVuZXIoZSxsLG4pfWVsc2UgZm9yKHA9MDtwPGMubGVuZ3RoO3ArPTEpe2NvbnN0IGU9Y1twXTt0LmRvbTdMaXN0ZW5lcnN8fCh0LmRvbTdMaXN0ZW5lcnM9e30pLHQuZG9tN0xpc3RlbmVyc1tlXXx8KHQuZG9tN0xpc3RlbmVyc1tlXT1bXSksdC5kb203TGlzdGVuZXJzW2VdLnB1c2goe2xpc3RlbmVyOnIscHJveHlMaXN0ZW5lcjpvfSksdC5hZGRFdmVudExpc3RlbmVyKGUsbyxuKX19cmV0dXJuIHRoaXN9LG9mZjpmdW5jdGlvbigpe2Zvcih2YXIgZT1hcmd1bWVudHMubGVuZ3RoLHQ9bmV3IEFycmF5KGUpLHM9MDtzPGU7cysrKXRbc109YXJndW1lbnRzW3NdO2xldFthLGkscixuXT10OyJmdW5jdGlvbiI9PXR5cGVvZiB0WzFdJiYoW2EscixuXT10LGk9dm9pZCAwKSxufHwobj0hMSk7Y29uc3QgbD1hLnNwbGl0KCIgIik7Zm9yKGxldCBlPTA7ZTxsLmxlbmd0aDtlKz0xKXtjb25zdCB0PWxbZV07Zm9yKGxldCBlPTA7ZTx0aGlzLmxlbmd0aDtlKz0xKXtjb25zdCBzPXRoaXNbZV07bGV0IGE7aWYoIWkmJnMuZG9tN0xpc3RlbmVycz9hPXMuZG9tN0xpc3RlbmVyc1t0XTppJiZzLmRvbTdMaXZlTGlzdGVuZXJzJiYoYT1zLmRvbTdMaXZlTGlzdGVuZXJzW3RdKSxhJiZhLmxlbmd0aClmb3IobGV0IGU9YS5sZW5ndGgtMTtlPj0wO2UtPTEpe2NvbnN0IGk9YVtlXTtyJiZpLmxpc3RlbmVyPT09cnx8ciYmaS5saXN0ZW5lciYmaS5saXN0ZW5lci5kb203cHJveHkmJmkubGlzdGVuZXIuZG9tN3Byb3h5PT09cj8ocy5yZW1vdmVFdmVudExpc3RlbmVyKHQsaS5wcm94eUxpc3RlbmVyLG4pLGEuc3BsaWNlKGUsMSkpOnJ8fChzLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxpLnByb3h5TGlzdGVuZXIsbiksYS5zcGxpY2UoZSwxKSl9fX1yZXR1cm4gdGhpc30sdHJpZ2dlcjpmdW5jdGlvbigpe2NvbnN0IGU9cigpO2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLHM9bmV3IEFycmF5KHQpLGE9MDthPHQ7YSsrKXNbYV09YXJndW1lbnRzW2FdO2NvbnN0IGk9c1swXS5zcGxpdCgiICIpLG49c1sxXTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrPTEpe2NvbnN0IGE9aVt0XTtmb3IobGV0IHQ9MDt0PHRoaXMubGVuZ3RoO3QrPTEpe2NvbnN0IGk9dGhpc1t0XTtpZihlLkN1c3RvbUV2ZW50KXtjb25zdCB0PW5ldyBlLkN1c3RvbUV2ZW50KGEse2RldGFpbDpuLGJ1YmJsZXM6ITAsY2FuY2VsYWJsZTohMH0pO2kuZG9tN0V2ZW50RGF0YT1zLmZpbHRlcigoKGUsdCk9PnQ+MCkpLGkuZGlzcGF0Y2hFdmVudCh0KSxpLmRvbTdFdmVudERhdGE9W10sZGVsZXRlIGkuZG9tN0V2ZW50RGF0YX19fXJldHVybiB0aGlzfSx0cmFuc2l0aW9uRW5kOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9dGhpcztyZXR1cm4gZSYmdC5vbigidHJhbnNpdGlvbmVuZCIsKGZ1bmN0aW9uIHMoYSl7YS50YXJnZXQ9PT10aGlzJiYoZS5jYWxsKHRoaXMsYSksdC5vZmYoInRyYW5zaXRpb25lbmQiLHMpKX0pKSx0aGlzfSxvdXRlcldpZHRoOmZ1bmN0aW9uKGUpe2lmKHRoaXMubGVuZ3RoPjApe2lmKGUpe2NvbnN0IGU9dGhpcy5zdHlsZXMoKTtyZXR1cm4gdGhpc1swXS5vZmZzZXRXaWR0aCtwYXJzZUZsb2F0KGUuZ2V0UHJvcGVydHlWYWx1ZSgibWFyZ2luLXJpZ2h0IikpK3BhcnNlRmxvYXQoZS5nZXRQcm9wZXJ0eVZhbHVlKCJtYXJnaW4tbGVmdCIpKX1yZXR1cm4gdGhpc1swXS5vZmZzZXRXaWR0aH1yZXR1cm4gbnVsbH0sb3V0ZXJIZWlnaHQ6ZnVuY3Rpb24oZSl7aWYodGhpcy5sZW5ndGg+MCl7aWYoZSl7Y29uc3QgZT10aGlzLnN0eWxlcygpO3JldHVybiB0aGlzWzBdLm9mZnNldEhlaWdodCtwYXJzZUZsb2F0KGUuZ2V0UHJvcGVydHlWYWx1ZSgibWFyZ2luLXRvcCIpKStwYXJzZUZsb2F0KGUuZ2V0UHJvcGVydHlWYWx1ZSgibWFyZ2luLWJvdHRvbSIpKX1yZXR1cm4gdGhpc1swXS5vZmZzZXRIZWlnaHR9cmV0dXJuIG51bGx9LHN0eWxlczpmdW5jdGlvbigpe2NvbnN0IGU9cigpO3JldHVybiB0aGlzWzBdP2UuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzWzBdLG51bGwpOnt9fSxvZmZzZXQ6ZnVuY3Rpb24oKXtpZih0aGlzLmxlbmd0aD4wKXtjb25zdCBlPXIoKSx0PWEoKSxzPXRoaXNbMF0saT1zLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49dC5ib2R5LGw9cy5jbGllbnRUb3B8fG4uY2xpZW50VG9wfHwwLG89cy5jbGllbnRMZWZ0fHxuLmNsaWVudExlZnR8fDAsZD1zPT09ZT9lLnNjcm9sbFk6cy5zY3JvbGxUb3AsYz1zPT09ZT9lLnNjcm9sbFg6cy5zY3JvbGxMZWZ0O3JldHVybnt0b3A6aS50b3ArZC1sLGxlZnQ6aS5sZWZ0K2Mtb319cmV0dXJuIG51bGx9LGNzczpmdW5jdGlvbihlLHQpe2NvbnN0IHM9cigpO2xldCBhO2lmKDE9PT1hcmd1bWVudHMubGVuZ3RoKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpe2ZvcihhPTA7YTx0aGlzLmxlbmd0aDthKz0xKWZvcihjb25zdCB0IGluIGUpdGhpc1thXS5zdHlsZVt0XT1lW3RdO3JldHVybiB0aGlzfWlmKHRoaXNbMF0pcmV0dXJuIHMuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzWzBdLG51bGwpLmdldFByb3BlcnR5VmFsdWUoZSl9aWYoMj09PWFyZ3VtZW50cy5sZW5ndGgmJiJzdHJpbmciPT10eXBlb2YgZSl7Zm9yKGE9MDthPHRoaXMubGVuZ3RoO2ErPTEpdGhpc1thXS5zdHlsZVtlXT10O3JldHVybiB0aGlzfXJldHVybiB0aGlzfSxlYWNoOmZ1bmN0aW9uKGUpe3JldHVybiBlPyh0aGlzLmZvckVhY2goKCh0LHMpPT57ZS5hcHBseSh0LFt0LHNdKX0pKSx0aGlzKTp0aGlzfSxodG1sOmZ1bmN0aW9uKGUpe2lmKHZvaWQgMD09PWUpcmV0dXJuIHRoaXNbMF0/dGhpc1swXS5pbm5lckhUTUw6bnVsbDtmb3IobGV0IHQ9MDt0PHRoaXMubGVuZ3RoO3QrPTEpdGhpc1t0XS5pbm5lckhUTUw9ZTtyZXR1cm4gdGhpc30sdGV4dDpmdW5jdGlvbihlKXtpZih2b2lkIDA9PT1lKXJldHVybiB0aGlzWzBdP3RoaXNbMF0udGV4dENvbnRlbnQudHJpbSgpOm51bGw7Zm9yKGxldCB0PTA7dDx0aGlzLmxlbmd0aDt0Kz0xKXRoaXNbdF0udGV4dENvbnRlbnQ9ZTtyZXR1cm4gdGhpc30saXM6ZnVuY3Rpb24oZSl7Y29uc3QgdD1yKCkscz1hKCksaT10aGlzWzBdO2xldCBsLG87aWYoIWl8fHZvaWQgMD09PWUpcmV0dXJuITE7aWYoInN0cmluZyI9PXR5cGVvZiBlKXtpZihpLm1hdGNoZXMpcmV0dXJuIGkubWF0Y2hlcyhlKTtpZihpLndlYmtpdE1hdGNoZXNTZWxlY3RvcilyZXR1cm4gaS53ZWJraXRNYXRjaGVzU2VsZWN0b3IoZSk7aWYoaS5tc01hdGNoZXNTZWxlY3RvcilyZXR1cm4gaS5tc01hdGNoZXNTZWxlY3RvcihlKTtmb3IobD1kKGUpLG89MDtvPGwubGVuZ3RoO28rPTEpaWYobFtvXT09PWkpcmV0dXJuITA7cmV0dXJuITF9aWYoZT09PXMpcmV0dXJuIGk9PT1zO2lmKGU9PT10KXJldHVybiBpPT09dDtpZihlLm5vZGVUeXBlfHxlIGluc3RhbmNlb2Ygbil7Zm9yKGw9ZS5ub2RlVHlwZT9bZV06ZSxvPTA7bzxsLmxlbmd0aDtvKz0xKWlmKGxbb109PT1pKXJldHVybiEwO3JldHVybiExfXJldHVybiExfSxpbmRleDpmdW5jdGlvbigpe2xldCBlLHQ9dGhpc1swXTtpZih0KXtmb3IoZT0wO251bGwhPT0odD10LnByZXZpb3VzU2libGluZyk7KTE9PT10Lm5vZGVUeXBlJiYoZSs9MSk7cmV0dXJuIGV9fSxlcTpmdW5jdGlvbihlKXtpZih2b2lkIDA9PT1lKXJldHVybiB0aGlzO2NvbnN0IHQ9dGhpcy5sZW5ndGg7aWYoZT50LTEpcmV0dXJuIGQoW10pO2lmKGU8MCl7Y29uc3Qgcz10K2U7cmV0dXJuIGQoczwwP1tdOlt0aGlzW3NdXSl9cmV0dXJuIGQoW3RoaXNbZV1dKX0sYXBwZW5kOmZ1bmN0aW9uKCl7bGV0IGU7Y29uc3QgdD1hKCk7Zm9yKGxldCBzPTA7czxhcmd1bWVudHMubGVuZ3RoO3MrPTEpe2U9czwwfHxhcmd1bWVudHMubGVuZ3RoPD1zP3ZvaWQgMDphcmd1bWVudHNbc107Zm9yKGxldCBzPTA7czx0aGlzLmxlbmd0aDtzKz0xKWlmKCJzdHJpbmciPT10eXBlb2YgZSl7Y29uc3QgYT10LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2ZvcihhLmlubmVySFRNTD1lO2EuZmlyc3RDaGlsZDspdGhpc1tzXS5hcHBlbmRDaGlsZChhLmZpcnN0Q2hpbGQpfWVsc2UgaWYoZSBpbnN0YW5jZW9mIG4pZm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kz0xKXRoaXNbc10uYXBwZW5kQ2hpbGQoZVt0XSk7ZWxzZSB0aGlzW3NdLmFwcGVuZENoaWxkKGUpfXJldHVybiB0aGlzfSxwcmVwZW5kOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9YSgpO2xldCBzLGk7Zm9yKHM9MDtzPHRoaXMubGVuZ3RoO3MrPTEpaWYoInN0cmluZyI9PXR5cGVvZiBlKXtjb25zdCBhPXQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Zm9yKGEuaW5uZXJIVE1MPWUsaT1hLmNoaWxkTm9kZXMubGVuZ3RoLTE7aT49MDtpLT0xKXRoaXNbc10uaW5zZXJ0QmVmb3JlKGEuY2hpbGROb2Rlc1tpXSx0aGlzW3NdLmNoaWxkTm9kZXNbMF0pfWVsc2UgaWYoZSBpbnN0YW5jZW9mIG4pZm9yKGk9MDtpPGUubGVuZ3RoO2krPTEpdGhpc1tzXS5pbnNlcnRCZWZvcmUoZVtpXSx0aGlzW3NdLmNoaWxkTm9kZXNbMF0pO2Vsc2UgdGhpc1tzXS5pbnNlcnRCZWZvcmUoZSx0aGlzW3NdLmNoaWxkTm9kZXNbMF0pO3JldHVybiB0aGlzfSxuZXh0OmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmxlbmd0aD4wP2U/dGhpc1swXS5uZXh0RWxlbWVudFNpYmxpbmcmJmQodGhpc1swXS5uZXh0RWxlbWVudFNpYmxpbmcpLmlzKGUpP2QoW3RoaXNbMF0ubmV4dEVsZW1lbnRTaWJsaW5nXSk6ZChbXSk6dGhpc1swXS5uZXh0RWxlbWVudFNpYmxpbmc/ZChbdGhpc1swXS5uZXh0RWxlbWVudFNpYmxpbmddKTpkKFtdKTpkKFtdKX0sbmV4dEFsbDpmdW5jdGlvbihlKXtjb25zdCB0PVtdO2xldCBzPXRoaXNbMF07aWYoIXMpcmV0dXJuIGQoW10pO2Zvcig7cy5uZXh0RWxlbWVudFNpYmxpbmc7KXtjb25zdCBhPXMubmV4dEVsZW1lbnRTaWJsaW5nO2U/ZChhKS5pcyhlKSYmdC5wdXNoKGEpOnQucHVzaChhKSxzPWF9cmV0dXJuIGQodCl9LHByZXY6ZnVuY3Rpb24oZSl7aWYodGhpcy5sZW5ndGg+MCl7Y29uc3QgdD10aGlzWzBdO3JldHVybiBlP3QucHJldmlvdXNFbGVtZW50U2libGluZyYmZCh0LnByZXZpb3VzRWxlbWVudFNpYmxpbmcpLmlzKGUpP2QoW3QucHJldmlvdXNFbGVtZW50U2libGluZ10pOmQoW10pOnQucHJldmlvdXNFbGVtZW50U2libGluZz9kKFt0LnByZXZpb3VzRWxlbWVudFNpYmxpbmddKTpkKFtdKX1yZXR1cm4gZChbXSl9LHByZXZBbGw6ZnVuY3Rpb24oZSl7Y29uc3QgdD1bXTtsZXQgcz10aGlzWzBdO2lmKCFzKXJldHVybiBkKFtdKTtmb3IoO3MucHJldmlvdXNFbGVtZW50U2libGluZzspe2NvbnN0IGE9cy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO2U/ZChhKS5pcyhlKSYmdC5wdXNoKGEpOnQucHVzaChhKSxzPWF9cmV0dXJuIGQodCl9LHBhcmVudDpmdW5jdGlvbihlKXtjb25zdCB0PVtdO2ZvcihsZXQgcz0wO3M8dGhpcy5sZW5ndGg7cys9MSludWxsIT09dGhpc1tzXS5wYXJlbnROb2RlJiYoZT9kKHRoaXNbc10ucGFyZW50Tm9kZSkuaXMoZSkmJnQucHVzaCh0aGlzW3NdLnBhcmVudE5vZGUpOnQucHVzaCh0aGlzW3NdLnBhcmVudE5vZGUpKTtyZXR1cm4gZCh0KX0scGFyZW50czpmdW5jdGlvbihlKXtjb25zdCB0PVtdO2ZvcihsZXQgcz0wO3M8dGhpcy5sZW5ndGg7cys9MSl7bGV0IGE9dGhpc1tzXS5wYXJlbnROb2RlO2Zvcig7YTspZT9kKGEpLmlzKGUpJiZ0LnB1c2goYSk6dC5wdXNoKGEpLGE9YS5wYXJlbnROb2RlfXJldHVybiBkKHQpfSxjbG9zZXN0OmZ1bmN0aW9uKGUpe2xldCB0PXRoaXM7cmV0dXJuIHZvaWQgMD09PWU/ZChbXSk6KHQuaXMoZSl8fCh0PXQucGFyZW50cyhlKS5lcSgwKSksdCl9LGZpbmQ6ZnVuY3Rpb24oZSl7Y29uc3QgdD1bXTtmb3IobGV0IHM9MDtzPHRoaXMubGVuZ3RoO3MrPTEpe2NvbnN0IGE9dGhpc1tzXS5xdWVyeVNlbGVjdG9yQWxsKGUpO2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7ZSs9MSl0LnB1c2goYVtlXSl9cmV0dXJuIGQodCl9LGNoaWxkcmVuOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9W107Zm9yKGxldCBzPTA7czx0aGlzLmxlbmd0aDtzKz0xKXtjb25zdCBhPXRoaXNbc10uY2hpbGRyZW47Zm9yKGxldCBzPTA7czxhLmxlbmd0aDtzKz0xKWUmJiFkKGFbc10pLmlzKGUpfHx0LnB1c2goYVtzXSl9cmV0dXJuIGQodCl9LGZpbHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZChvKHRoaXMsZSkpfSxyZW1vdmU6ZnVuY3Rpb24oKXtmb3IobGV0IGU9MDtlPHRoaXMubGVuZ3RoO2UrPTEpdGhpc1tlXS5wYXJlbnROb2RlJiZ0aGlzW2VdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpc1tlXSk7cmV0dXJuIHRoaXN9fTtmdW5jdGlvbiBwKGUsdCl7cmV0dXJuIHZvaWQgMD09PXQmJih0PTApLHNldFRpbWVvdXQoZSx0KX1mdW5jdGlvbiB1KCl7cmV0dXJuIERhdGUubm93KCl9ZnVuY3Rpb24gaChlLHQpe3ZvaWQgMD09PXQmJih0PSJ4Iik7Y29uc3Qgcz1yKCk7bGV0IGEsaSxuO2NvbnN0IGw9ZnVuY3Rpb24oZSl7Y29uc3QgdD1yKCk7bGV0IHM7cmV0dXJuIHQuZ2V0Q29tcHV0ZWRTdHlsZSYmKHM9dC5nZXRDb21wdXRlZFN0eWxlKGUsbnVsbCkpLCFzJiZlLmN1cnJlbnRTdHlsZSYmKHM9ZS5jdXJyZW50U3R5bGUpLHN8fChzPWUuc3R5bGUpLHN9KGUpO3JldHVybiBzLldlYktpdENTU01hdHJpeD8oaT1sLnRyYW5zZm9ybXx8bC53ZWJraXRUcmFuc2Zvcm0saS5zcGxpdCgiLCIpLmxlbmd0aD42JiYoaT1pLnNwbGl0KCIsICIpLm1hcCgoZT0+ZS5yZXBsYWNlKCIsIiwiLiIpKSkuam9pbigiLCAiKSksbj1uZXcgcy5XZWJLaXRDU1NNYXRyaXgoIm5vbmUiPT09aT8iIjppKSk6KG49bC5Nb3pUcmFuc2Zvcm18fGwuT1RyYW5zZm9ybXx8bC5Nc1RyYW5zZm9ybXx8bC5tc1RyYW5zZm9ybXx8bC50cmFuc2Zvcm18fGwuZ2V0UHJvcGVydHlWYWx1ZSgidHJhbnNmb3JtIikucmVwbGFjZSgidHJhbnNsYXRlKCIsIm1hdHJpeCgxLCAwLCAwLCAxLCIpLGE9bi50b1N0cmluZygpLnNwbGl0KCIsIikpLCJ4Ij09PXQmJihpPXMuV2ViS2l0Q1NTTWF0cml4P24ubTQxOjE2PT09YS5sZW5ndGg/cGFyc2VGbG9hdChhWzEyXSk6cGFyc2VGbG9hdChhWzRdKSksInkiPT09dCYmKGk9cy5XZWJLaXRDU1NNYXRyaXg/bi5tNDI6MTY9PT1hLmxlbmd0aD9wYXJzZUZsb2F0KGFbMTNdKTpwYXJzZUZsb2F0KGFbNV0pKSxpfHwwfWZ1bmN0aW9uIG0oZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmZS5jb25zdHJ1Y3RvciYmIk9iamVjdCI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkuc2xpY2UoOCwtMSl9ZnVuY3Rpb24gZihlKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmdm9pZCAwIT09d2luZG93LkhUTUxFbGVtZW50P2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudDplJiYoMT09PWUubm9kZVR5cGV8fDExPT09ZS5ub2RlVHlwZSl9ZnVuY3Rpb24gZygpe2NvbnN0IGU9T2JqZWN0KGFyZ3VtZW50cy5sZW5ndGg8PTA/dm9pZCAwOmFyZ3VtZW50c1swXSksdD1bIl9fcHJvdG9fXyIsImNvbnN0cnVjdG9yIiwicHJvdG90eXBlIl07Zm9yKGxldCBzPTE7czxhcmd1bWVudHMubGVuZ3RoO3MrPTEpe2NvbnN0IGE9czwwfHxhcmd1bWVudHMubGVuZ3RoPD1zP3ZvaWQgMDphcmd1bWVudHNbc107aWYobnVsbCE9YSYmIWYoYSkpe2NvbnN0IHM9T2JqZWN0LmtleXMoT2JqZWN0KGEpKS5maWx0ZXIoKGU9PnQuaW5kZXhPZihlKTwwKSk7Zm9yKGxldCB0PTAsaT1zLmxlbmd0aDt0PGk7dCs9MSl7Y29uc3QgaT1zW3RdLHI9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhLGkpO3ZvaWQgMCE9PXImJnIuZW51bWVyYWJsZSYmKG0oZVtpXSkmJm0oYVtpXSk/YVtpXS5fX3N3aXBlcl9fP2VbaV09YVtpXTpnKGVbaV0sYVtpXSk6IW0oZVtpXSkmJm0oYVtpXSk/KGVbaV09e30sYVtpXS5fX3N3aXBlcl9fP2VbaV09YVtpXTpnKGVbaV0sYVtpXSkpOmVbaV09YVtpXSl9fX1yZXR1cm4gZX1mdW5jdGlvbiB2KGUsdCxzKXtlLnN0eWxlLnNldFByb3BlcnR5KHQscyl9ZnVuY3Rpb24gdyhlKXtsZXR7c3dpcGVyOnQsdGFyZ2V0UG9zaXRpb246cyxzaWRlOmF9PWU7Y29uc3QgaT1yKCksbj0tdC50cmFuc2xhdGU7bGV0IGwsbz1udWxsO2NvbnN0IGQ9dC5wYXJhbXMuc3BlZWQ7dC53cmFwcGVyRWwuc3R5bGUuc2Nyb2xsU25hcFR5cGU9Im5vbmUiLGkuY2FuY2VsQW5pbWF0aW9uRnJhbWUodC5jc3NNb2RlRnJhbWVJRCk7Y29uc3QgYz1zPm4/Im5leHQiOiJwcmV2IixwPShlLHQpPT4ibmV4dCI9PT1jJiZlPj10fHwicHJldiI9PT1jJiZlPD10LHU9KCk9PntsPShuZXcgRGF0ZSkuZ2V0VGltZSgpLG51bGw9PT1vJiYobz1sKTtjb25zdCBlPU1hdGgubWF4KE1hdGgubWluKChsLW8pL2QsMSksMCkscj0uNS1NYXRoLmNvcyhlKk1hdGguUEkpLzI7bGV0IGM9bityKihzLW4pO2lmKHAoYyxzKSYmKGM9cyksdC53cmFwcGVyRWwuc2Nyb2xsVG8oe1thXTpjfSkscChjLHMpKXJldHVybiB0LndyYXBwZXJFbC5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIix0LndyYXBwZXJFbC5zdHlsZS5zY3JvbGxTbmFwVHlwZT0iIixzZXRUaW1lb3V0KCgoKT0+e3Qud3JhcHBlckVsLnN0eWxlLm92ZXJmbG93PSIiLHQud3JhcHBlckVsLnNjcm9sbFRvKHtbYV06Y30pfSkpLHZvaWQgaS5jYW5jZWxBbmltYXRpb25GcmFtZSh0LmNzc01vZGVGcmFtZUlEKTt0LmNzc01vZGVGcmFtZUlEPWkucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHUpfTt1KCl9bGV0IGIseCx5O2Z1bmN0aW9uIEUoKXtyZXR1cm4gYnx8KGI9ZnVuY3Rpb24oKXtjb25zdCBlPXIoKSx0PWEoKTtyZXR1cm57c21vb3RoU2Nyb2xsOnQuZG9jdW1lbnRFbGVtZW50JiYic2Nyb2xsQmVoYXZpb3IiaW4gdC5kb2N1bWVudEVsZW1lbnQuc3R5bGUsdG91Y2g6ISEoIm9udG91Y2hzdGFydCJpbiBlfHxlLkRvY3VtZW50VG91Y2gmJnQgaW5zdGFuY2VvZiBlLkRvY3VtZW50VG91Y2gpLHBhc3NpdmVMaXN0ZW5lcjpmdW5jdGlvbigpe2xldCB0PSExO3RyeXtjb25zdCBzPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldCgpe3Q9ITB9fSk7ZS5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0UGFzc2l2ZUxpc3RlbmVyIixudWxsLHMpfWNhdGNoKGUpe31yZXR1cm4gdH0oKSxnZXN0dXJlczoib25nZXN0dXJlc3RhcnQiaW4gZX19KCkpLGJ9ZnVuY3Rpb24gQyhlKXtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9e30pLHh8fCh4PWZ1bmN0aW9uKGUpe2xldHt1c2VyQWdlbnQ6dH09dm9pZCAwPT09ZT97fTplO2NvbnN0IHM9RSgpLGE9cigpLGk9YS5uYXZpZ2F0b3IucGxhdGZvcm0sbj10fHxhLm5hdmlnYXRvci51c2VyQWdlbnQsbD17aW9zOiExLGFuZHJvaWQ6ITF9LG89YS5zY3JlZW4ud2lkdGgsZD1hLnNjcmVlbi5oZWlnaHQsYz1uLm1hdGNoKC8oQW5kcm9pZCk7P1tcc1wvXSsoW1xkLl0rKT8vKTtsZXQgcD1uLm1hdGNoKC8oaVBhZCkuKk9TXHMoW1xkX10rKS8pO2NvbnN0IHU9bi5tYXRjaCgvKGlQb2QpKC4qT1NccyhbXGRfXSspKT8vKSxoPSFwJiZuLm1hdGNoKC8oaVBob25lXHNPU3xpT1MpXHMoW1xkX10rKS8pLG09IldpbjMyIj09PWk7bGV0IGY9Ik1hY0ludGVsIj09PWk7cmV0dXJuIXAmJmYmJnMudG91Y2gmJlsiMTAyNHgxMzY2IiwiMTM2NngxMDI0IiwiODM0eDExOTQiLCIxMTk0eDgzNCIsIjgzNHgxMTEyIiwiMTExMng4MzQiLCI3Njh4MTAyNCIsIjEwMjR4NzY4IiwiODIweDExODAiLCIxMTgweDgyMCIsIjgxMHgxMDgwIiwiMTA4MHg4MTAiXS5pbmRleE9mKGAke299eCR7ZH1gKT49MCYmKHA9bi5tYXRjaCgvKFZlcnNpb24pXC8oW1xkLl0rKS8pLHB8fChwPVswLDEsIjEzXzBfMCJdKSxmPSExKSxjJiYhbSYmKGwub3M9ImFuZHJvaWQiLGwuYW5kcm9pZD0hMCksKHB8fGh8fHUpJiYobC5vcz0iaW9zIixsLmlvcz0hMCksbH0oZSkpLHh9ZnVuY3Rpb24gVCgpe3JldHVybiB5fHwoeT1mdW5jdGlvbigpe2NvbnN0IGU9cigpO3JldHVybntpc1NhZmFyaTpmdW5jdGlvbigpe2NvbnN0IHQ9ZS5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7cmV0dXJuIHQuaW5kZXhPZigic2FmYXJpIik+PTAmJnQuaW5kZXhPZigiY2hyb21lIik8MCYmdC5pbmRleE9mKCJhbmRyb2lkIik8MH0oKSxpc1dlYlZpZXc6LyhpUGhvbmV8aVBvZHxpUGFkKS4qQXBwbGVXZWJLaXQoPyEuKlNhZmFyaSkvaS50ZXN0KGUubmF2aWdhdG9yLnVzZXJBZ2VudCl9fSgpKSx5fU9iamVjdC5rZXlzKGMpLmZvckVhY2goKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZC5mbixlLHt2YWx1ZTpjW2VdLHdyaXRhYmxlOiEwfSl9KSk7dmFyICQ9e29uKGUsdCxzKXtjb25zdCBhPXRoaXM7aWYoIWEuZXZlbnRzTGlzdGVuZXJzfHxhLmRlc3Ryb3llZClyZXR1cm4gYTtpZigiZnVuY3Rpb24iIT10eXBlb2YgdClyZXR1cm4gYTtjb25zdCBpPXM/InVuc2hpZnQiOiJwdXNoIjtyZXR1cm4gZS5zcGxpdCgiICIpLmZvckVhY2goKGU9PnthLmV2ZW50c0xpc3RlbmVyc1tlXXx8KGEuZXZlbnRzTGlzdGVuZXJzW2VdPVtdKSxhLmV2ZW50c0xpc3RlbmVyc1tlXVtpXSh0KX0pKSxhfSxvbmNlKGUsdCxzKXtjb25zdCBhPXRoaXM7aWYoIWEuZXZlbnRzTGlzdGVuZXJzfHxhLmRlc3Ryb3llZClyZXR1cm4gYTtpZigiZnVuY3Rpb24iIT10eXBlb2YgdClyZXR1cm4gYTtmdW5jdGlvbiBpKCl7YS5vZmYoZSxpKSxpLl9fZW1pdHRlclByb3h5JiZkZWxldGUgaS5fX2VtaXR0ZXJQcm94eTtmb3IodmFyIHM9YXJndW1lbnRzLmxlbmd0aCxyPW5ldyBBcnJheShzKSxuPTA7bjxzO24rKylyW25dPWFyZ3VtZW50c1tuXTt0LmFwcGx5KGEscil9cmV0dXJuIGkuX19lbWl0dGVyUHJveHk9dCxhLm9uKGUsaSxzKX0sb25BbnkoZSx0KXtjb25zdCBzPXRoaXM7aWYoIXMuZXZlbnRzTGlzdGVuZXJzfHxzLmRlc3Ryb3llZClyZXR1cm4gcztpZigiZnVuY3Rpb24iIT10eXBlb2YgZSlyZXR1cm4gcztjb25zdCBhPXQ/InVuc2hpZnQiOiJwdXNoIjtyZXR1cm4gcy5ldmVudHNBbnlMaXN0ZW5lcnMuaW5kZXhPZihlKTwwJiZzLmV2ZW50c0FueUxpc3RlbmVyc1thXShlKSxzfSxvZmZBbnkoZSl7Y29uc3QgdD10aGlzO2lmKCF0LmV2ZW50c0xpc3RlbmVyc3x8dC5kZXN0cm95ZWQpcmV0dXJuIHQ7aWYoIXQuZXZlbnRzQW55TGlzdGVuZXJzKXJldHVybiB0O2NvbnN0IHM9dC5ldmVudHNBbnlMaXN0ZW5lcnMuaW5kZXhPZihlKTtyZXR1cm4gcz49MCYmdC5ldmVudHNBbnlMaXN0ZW5lcnMuc3BsaWNlKHMsMSksdH0sb2ZmKGUsdCl7Y29uc3Qgcz10aGlzO3JldHVybiFzLmV2ZW50c0xpc3RlbmVyc3x8cy5kZXN0cm95ZWQ/czpzLmV2ZW50c0xpc3RlbmVycz8oZS5zcGxpdCgiICIpLmZvckVhY2goKGU9Pnt2b2lkIDA9PT10P3MuZXZlbnRzTGlzdGVuZXJzW2VdPVtdOnMuZXZlbnRzTGlzdGVuZXJzW2VdJiZzLmV2ZW50c0xpc3RlbmVyc1tlXS5mb3JFYWNoKCgoYSxpKT0+eyhhPT09dHx8YS5fX2VtaXR0ZXJQcm94eSYmYS5fX2VtaXR0ZXJQcm94eT09PXQpJiZzLmV2ZW50c0xpc3RlbmVyc1tlXS5zcGxpY2UoaSwxKX0pKX0pKSxzKTpzfSxlbWl0KCl7Y29uc3QgZT10aGlzO2lmKCFlLmV2ZW50c0xpc3RlbmVyc3x8ZS5kZXN0cm95ZWQpcmV0dXJuIGU7aWYoIWUuZXZlbnRzTGlzdGVuZXJzKXJldHVybiBlO2xldCB0LHMsYTtmb3IodmFyIGk9YXJndW1lbnRzLmxlbmd0aCxyPW5ldyBBcnJheShpKSxuPTA7bjxpO24rKylyW25dPWFyZ3VtZW50c1tuXTsic3RyaW5nIj09dHlwZW9mIHJbMF18fEFycmF5LmlzQXJyYXkoclswXSk/KHQ9clswXSxzPXIuc2xpY2UoMSxyLmxlbmd0aCksYT1lKToodD1yWzBdLmV2ZW50cyxzPXJbMF0uZGF0YSxhPXJbMF0uY29udGV4dHx8ZSkscy51bnNoaWZ0KGEpO3JldHVybihBcnJheS5pc0FycmF5KHQpP3Q6dC5zcGxpdCgiICIpKS5mb3JFYWNoKCh0PT57ZS5ldmVudHNBbnlMaXN0ZW5lcnMmJmUuZXZlbnRzQW55TGlzdGVuZXJzLmxlbmd0aCYmZS5ldmVudHNBbnlMaXN0ZW5lcnMuZm9yRWFjaCgoZT0+e2UuYXBwbHkoYSxbdCwuLi5zXSl9KSksZS5ldmVudHNMaXN0ZW5lcnMmJmUuZXZlbnRzTGlzdGVuZXJzW3RdJiZlLmV2ZW50c0xpc3RlbmVyc1t0XS5mb3JFYWNoKChlPT57ZS5hcHBseShhLHMpfSkpfSkpLGV9fTt2YXIgUz17dXBkYXRlU2l6ZTpmdW5jdGlvbigpe2NvbnN0IGU9dGhpcztsZXQgdCxzO2NvbnN0IGE9ZS4kZWw7dD12b2lkIDAhPT1lLnBhcmFtcy53aWR0aCYmbnVsbCE9PWUucGFyYW1zLndpZHRoP2UucGFyYW1zLndpZHRoOmFbMF0uY2xpZW50V2lkdGgscz12b2lkIDAhPT1lLnBhcmFtcy5oZWlnaHQmJm51bGwhPT1lLnBhcmFtcy5oZWlnaHQ/ZS5wYXJhbXMuaGVpZ2h0OmFbMF0uY2xpZW50SGVpZ2h0LDA9PT10JiZlLmlzSG9yaXpvbnRhbCgpfHwwPT09cyYmZS5pc1ZlcnRpY2FsKCl8fCh0PXQtcGFyc2VJbnQoYS5jc3MoInBhZGRpbmctbGVmdCIpfHwwLDEwKS1wYXJzZUludChhLmNzcygicGFkZGluZy1yaWdodCIpfHwwLDEwKSxzPXMtcGFyc2VJbnQoYS5jc3MoInBhZGRpbmctdG9wIil8fDAsMTApLXBhcnNlSW50KGEuY3NzKCJwYWRkaW5nLWJvdHRvbSIpfHwwLDEwKSxOdW1iZXIuaXNOYU4odCkmJih0PTApLE51bWJlci5pc05hTihzKSYmKHM9MCksT2JqZWN0LmFzc2lnbihlLHt3aWR0aDp0LGhlaWdodDpzLHNpemU6ZS5pc0hvcml6b250YWwoKT90OnN9KSl9LHVwZGF0ZVNsaWRlczpmdW5jdGlvbigpe2NvbnN0IGU9dGhpcztmdW5jdGlvbiB0KHQpe3JldHVybiBlLmlzSG9yaXpvbnRhbCgpP3Q6e3dpZHRoOiJoZWlnaHQiLCJtYXJnaW4tdG9wIjoibWFyZ2luLWxlZnQiLCJtYXJnaW4tYm90dG9tICI6Im1hcmdpbi1yaWdodCIsIm1hcmdpbi1sZWZ0IjoibWFyZ2luLXRvcCIsIm1hcmdpbi1yaWdodCI6Im1hcmdpbi1ib3R0b20iLCJwYWRkaW5nLWxlZnQiOiJwYWRkaW5nLXRvcCIsInBhZGRpbmctcmlnaHQiOiJwYWRkaW5nLWJvdHRvbSIsbWFyZ2luUmlnaHQ6Im1hcmdpbkJvdHRvbSJ9W3RdfWZ1bmN0aW9uIHMoZSxzKXtyZXR1cm4gcGFyc2VGbG9hdChlLmdldFByb3BlcnR5VmFsdWUodChzKSl8fDApfWNvbnN0IGE9ZS5wYXJhbXMseyR3cmFwcGVyRWw6aSxzaXplOnIscnRsVHJhbnNsYXRlOm4sd3JvbmdSVEw6bH09ZSxvPWUudmlydHVhbCYmYS52aXJ0dWFsLmVuYWJsZWQsZD1vP2UudmlydHVhbC5zbGlkZXMubGVuZ3RoOmUuc2xpZGVzLmxlbmd0aCxjPWkuY2hpbGRyZW4oYC4ke2UucGFyYW1zLnNsaWRlQ2xhc3N9YCkscD1vP2UudmlydHVhbC5zbGlkZXMubGVuZ3RoOmMubGVuZ3RoO2xldCB1PVtdO2NvbnN0IGg9W10sbT1bXTtsZXQgZj1hLnNsaWRlc09mZnNldEJlZm9yZTsiZnVuY3Rpb24iPT10eXBlb2YgZiYmKGY9YS5zbGlkZXNPZmZzZXRCZWZvcmUuY2FsbChlKSk7bGV0IGc9YS5zbGlkZXNPZmZzZXRBZnRlcjsiZnVuY3Rpb24iPT10eXBlb2YgZyYmKGc9YS5zbGlkZXNPZmZzZXRBZnRlci5jYWxsKGUpKTtjb25zdCB3PWUuc25hcEdyaWQubGVuZ3RoLGI9ZS5zbGlkZXNHcmlkLmxlbmd0aDtsZXQgeD1hLnNwYWNlQmV0d2Vlbix5PS1mLEU9MCxDPTA7aWYodm9pZCAwPT09cilyZXR1cm47InN0cmluZyI9PXR5cGVvZiB4JiZ4LmluZGV4T2YoIiUiKT49MCYmKHg9cGFyc2VGbG9hdCh4LnJlcGxhY2UoIiUiLCIiKSkvMTAwKnIpLGUudmlydHVhbFNpemU9LXgsbj9jLmNzcyh7bWFyZ2luTGVmdDoiIixtYXJnaW5Cb3R0b206IiIsbWFyZ2luVG9wOiIifSk6Yy5jc3Moe21hcmdpblJpZ2h0OiIiLG1hcmdpbkJvdHRvbToiIixtYXJnaW5Ub3A6IiJ9KSxhLmNlbnRlcmVkU2xpZGVzJiZhLmNzc01vZGUmJih2KGUud3JhcHBlckVsLCItLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlIiwiIiksdihlLndyYXBwZXJFbCwiLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWFmdGVyIiwiIikpO2NvbnN0IFQ9YS5ncmlkJiZhLmdyaWQucm93cz4xJiZlLmdyaWQ7bGV0ICQ7VCYmZS5ncmlkLmluaXRTbGlkZXMocCk7Y29uc3QgUz0iYXV0byI9PT1hLnNsaWRlc1BlclZpZXcmJmEuYnJlYWtwb2ludHMmJk9iamVjdC5rZXlzKGEuYnJlYWtwb2ludHMpLmZpbHRlcigoZT0+dm9pZCAwIT09YS5icmVha3BvaW50c1tlXS5zbGlkZXNQZXJWaWV3KSkubGVuZ3RoPjA7Zm9yKGxldCBpPTA7aTxwO2krPTEpeyQ9MDtjb25zdCBuPWMuZXEoaSk7aWYoVCYmZS5ncmlkLnVwZGF0ZVNsaWRlKGksbixwLHQpLCJub25lIiE9PW4uY3NzKCJkaXNwbGF5Iikpe2lmKCJhdXRvIj09PWEuc2xpZGVzUGVyVmlldyl7UyYmKGNbaV0uc3R5bGVbdCgid2lkdGgiKV09IiIpO2NvbnN0IHI9Z2V0Q29tcHV0ZWRTdHlsZShuWzBdKSxsPW5bMF0uc3R5bGUudHJhbnNmb3JtLG89blswXS5zdHlsZS53ZWJraXRUcmFuc2Zvcm07aWYobCYmKG5bMF0uc3R5bGUudHJhbnNmb3JtPSJub25lIiksbyYmKG5bMF0uc3R5bGUud2Via2l0VHJhbnNmb3JtPSJub25lIiksYS5yb3VuZExlbmd0aHMpJD1lLmlzSG9yaXpvbnRhbCgpP24ub3V0ZXJXaWR0aCghMCk6bi5vdXRlckhlaWdodCghMCk7ZWxzZXtjb25zdCBlPXMociwid2lkdGgiKSx0PXMociwicGFkZGluZy1sZWZ0IiksYT1zKHIsInBhZGRpbmctcmlnaHQiKSxpPXMociwibWFyZ2luLWxlZnQiKSxsPXMociwibWFyZ2luLXJpZ2h0Iiksbz1yLmdldFByb3BlcnR5VmFsdWUoImJveC1zaXppbmciKTtpZihvJiYiYm9yZGVyLWJveCI9PT1vKSQ9ZStpK2w7ZWxzZXtjb25zdHtjbGllbnRXaWR0aDpzLG9mZnNldFdpZHRoOnJ9PW5bMF07JD1lK3QrYStpK2wrKHItcyl9fWwmJihuWzBdLnN0eWxlLnRyYW5zZm9ybT1sKSxvJiYoblswXS5zdHlsZS53ZWJraXRUcmFuc2Zvcm09byksYS5yb3VuZExlbmd0aHMmJigkPU1hdGguZmxvb3IoJCkpfWVsc2UgJD0oci0oYS5zbGlkZXNQZXJWaWV3LTEpKngpL2Euc2xpZGVzUGVyVmlldyxhLnJvdW5kTGVuZ3RocyYmKCQ9TWF0aC5mbG9vcigkKSksY1tpXSYmKGNbaV0uc3R5bGVbdCgid2lkdGgiKV09YCR7JH1weGApO2NbaV0mJihjW2ldLnN3aXBlclNsaWRlU2l6ZT0kKSxtLnB1c2goJCksYS5jZW50ZXJlZFNsaWRlcz8oeT15KyQvMitFLzIreCwwPT09RSYmMCE9PWkmJih5PXktci8yLXgpLDA9PT1pJiYoeT15LXIvMi14KSxNYXRoLmFicyh5KTwuMDAxJiYoeT0wKSxhLnJvdW5kTGVuZ3RocyYmKHk9TWF0aC5mbG9vcih5KSksQyVhLnNsaWRlc1Blckdyb3VwPT0wJiZ1LnB1c2goeSksaC5wdXNoKHkpKTooYS5yb3VuZExlbmd0aHMmJih5PU1hdGguZmxvb3IoeSkpLChDLU1hdGgubWluKGUucGFyYW1zLnNsaWRlc1Blckdyb3VwU2tpcCxDKSklZS5wYXJhbXMuc2xpZGVzUGVyR3JvdXA9PTAmJnUucHVzaCh5KSxoLnB1c2goeSkseT15KyQreCksZS52aXJ0dWFsU2l6ZSs9JCt4LEU9JCxDKz0xfX1pZihlLnZpcnR1YWxTaXplPU1hdGgubWF4KGUudmlydHVhbFNpemUscikrZyxuJiZsJiYoInNsaWRlIj09PWEuZWZmZWN0fHwiY292ZXJmbG93Ij09PWEuZWZmZWN0KSYmaS5jc3Moe3dpZHRoOmAke2UudmlydHVhbFNpemUrYS5zcGFjZUJldHdlZW59cHhgfSksYS5zZXRXcmFwcGVyU2l6ZSYmaS5jc3Moe1t0KCJ3aWR0aCIpXTpgJHtlLnZpcnR1YWxTaXplK2Euc3BhY2VCZXR3ZWVufXB4YH0pLFQmJmUuZ3JpZC51cGRhdGVXcmFwcGVyU2l6ZSgkLHUsdCksIWEuY2VudGVyZWRTbGlkZXMpe2NvbnN0IHQ9W107Zm9yKGxldCBzPTA7czx1Lmxlbmd0aDtzKz0xKXtsZXQgaT11W3NdO2Eucm91bmRMZW5ndGhzJiYoaT1NYXRoLmZsb29yKGkpKSx1W3NdPD1lLnZpcnR1YWxTaXplLXImJnQucHVzaChpKX11PXQsTWF0aC5mbG9vcihlLnZpcnR1YWxTaXplLXIpLU1hdGguZmxvb3IodVt1Lmxlbmd0aC0xXSk+MSYmdS5wdXNoKGUudmlydHVhbFNpemUtcil9aWYoMD09PXUubGVuZ3RoJiYodT1bMF0pLDAhPT1hLnNwYWNlQmV0d2Vlbil7Y29uc3Qgcz1lLmlzSG9yaXpvbnRhbCgpJiZuPyJtYXJnaW5MZWZ0Ijp0KCJtYXJnaW5SaWdodCIpO2MuZmlsdGVyKCgoZSx0KT0+IWEuY3NzTW9kZXx8dCE9PWMubGVuZ3RoLTEpKS5jc3Moe1tzXTpgJHt4fXB4YH0pfWlmKGEuY2VudGVyZWRTbGlkZXMmJmEuY2VudGVyZWRTbGlkZXNCb3VuZHMpe2xldCBlPTA7bS5mb3JFYWNoKCh0PT57ZSs9dCsoYS5zcGFjZUJldHdlZW4/YS5zcGFjZUJldHdlZW46MCl9KSksZS09YS5zcGFjZUJldHdlZW47Y29uc3QgdD1lLXI7dT11Lm1hcCgoZT0+ZTwwPy1mOmU+dD90K2c6ZSkpfWlmKGEuY2VudGVySW5zdWZmaWNpZW50U2xpZGVzKXtsZXQgZT0wO2lmKG0uZm9yRWFjaCgodD0+e2UrPXQrKGEuc3BhY2VCZXR3ZWVuP2Euc3BhY2VCZXR3ZWVuOjApfSkpLGUtPWEuc3BhY2VCZXR3ZWVuLGU8cil7Y29uc3QgdD0oci1lKS8yO3UuZm9yRWFjaCgoKGUscyk9Pnt1W3NdPWUtdH0pKSxoLmZvckVhY2goKChlLHMpPT57aFtzXT1lK3R9KSl9fWlmKE9iamVjdC5hc3NpZ24oZSx7c2xpZGVzOmMsc25hcEdyaWQ6dSxzbGlkZXNHcmlkOmgsc2xpZGVzU2l6ZXNHcmlkOm19KSxhLmNlbnRlcmVkU2xpZGVzJiZhLmNzc01vZGUmJiFhLmNlbnRlcmVkU2xpZGVzQm91bmRzKXt2KGUud3JhcHBlckVsLCItLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlIiwtdVswXSsicHgiKSx2KGUud3JhcHBlckVsLCItLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYWZ0ZXIiLGUuc2l6ZS8yLW1bbS5sZW5ndGgtMV0vMisicHgiKTtjb25zdCB0PS1lLnNuYXBHcmlkWzBdLHM9LWUuc2xpZGVzR3JpZFswXTtlLnNuYXBHcmlkPWUuc25hcEdyaWQubWFwKChlPT5lK3QpKSxlLnNsaWRlc0dyaWQ9ZS5zbGlkZXNHcmlkLm1hcCgoZT0+ZStzKSl9aWYocCE9PWQmJmUuZW1pdCgic2xpZGVzTGVuZ3RoQ2hhbmdlIiksdS5sZW5ndGghPT13JiYoZS5wYXJhbXMud2F0Y2hPdmVyZmxvdyYmZS5jaGVja092ZXJmbG93KCksZS5lbWl0KCJzbmFwR3JpZExlbmd0aENoYW5nZSIpKSxoLmxlbmd0aCE9PWImJmUuZW1pdCgic2xpZGVzR3JpZExlbmd0aENoYW5nZSIpLGEud2F0Y2hTbGlkZXNQcm9ncmVzcyYmZS51cGRhdGVTbGlkZXNPZmZzZXQoKSwhKG98fGEuY3NzTW9kZXx8InNsaWRlIiE9PWEuZWZmZWN0JiYiZmFkZSIhPT1hLmVmZmVjdCkpe2NvbnN0IHQ9YCR7YS5jb250YWluZXJNb2RpZmllckNsYXNzfWJhY2tmYWNlLWhpZGRlbmAscz1lLiRlbC5oYXNDbGFzcyh0KTtwPD1hLm1heEJhY2tmYWNlSGlkZGVuU2xpZGVzP3N8fGUuJGVsLmFkZENsYXNzKHQpOnMmJmUuJGVsLnJlbW92ZUNsYXNzKHQpfX0sdXBkYXRlQXV0b0hlaWdodDpmdW5jdGlvbihlKXtjb25zdCB0PXRoaXMscz1bXSxhPXQudmlydHVhbCYmdC5wYXJhbXMudmlydHVhbC5lbmFibGVkO2xldCBpLHI9MDsibnVtYmVyIj09dHlwZW9mIGU/dC5zZXRUcmFuc2l0aW9uKGUpOiEwPT09ZSYmdC5zZXRUcmFuc2l0aW9uKHQucGFyYW1zLnNwZWVkKTtjb25zdCBuPWU9PmE/dC5zbGlkZXMuZmlsdGVyKCh0PT5wYXJzZUludCh0LmdldEF0dHJpYnV0ZSgiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgiKSwxMCk9PT1lKSlbMF06dC5zbGlkZXMuZXEoZSlbMF07aWYoImF1dG8iIT09dC5wYXJhbXMuc2xpZGVzUGVyVmlldyYmdC5wYXJhbXMuc2xpZGVzUGVyVmlldz4xKWlmKHQucGFyYW1zLmNlbnRlcmVkU2xpZGVzKSh0LnZpc2libGVTbGlkZXN8fGQoW10pKS5lYWNoKChlPT57cy5wdXNoKGUpfSkpO2Vsc2UgZm9yKGk9MDtpPE1hdGguY2VpbCh0LnBhcmFtcy5zbGlkZXNQZXJWaWV3KTtpKz0xKXtjb25zdCBlPXQuYWN0aXZlSW5kZXgraTtpZihlPnQuc2xpZGVzLmxlbmd0aCYmIWEpYnJlYWs7cy5wdXNoKG4oZSkpfWVsc2Ugcy5wdXNoKG4odC5hY3RpdmVJbmRleCkpO2ZvcihpPTA7aTxzLmxlbmd0aDtpKz0xKWlmKHZvaWQgMCE9PXNbaV0pe2NvbnN0IGU9c1tpXS5vZmZzZXRIZWlnaHQ7cj1lPnI/ZTpyfShyfHwwPT09cikmJnQuJHdyYXBwZXJFbC5jc3MoImhlaWdodCIsYCR7cn1weGApfSx1cGRhdGVTbGlkZXNPZmZzZXQ6ZnVuY3Rpb24oKXtjb25zdCBlPXRoaXMsdD1lLnNsaWRlcztmb3IobGV0IHM9MDtzPHQubGVuZ3RoO3MrPTEpdFtzXS5zd2lwZXJTbGlkZU9mZnNldD1lLmlzSG9yaXpvbnRhbCgpP3Rbc10ub2Zmc2V0TGVmdDp0W3NdLm9mZnNldFRvcH0sdXBkYXRlU2xpZGVzUHJvZ3Jlc3M6ZnVuY3Rpb24oZSl7dm9pZCAwPT09ZSYmKGU9dGhpcyYmdGhpcy50cmFuc2xhdGV8fDApO2NvbnN0IHQ9dGhpcyxzPXQucGFyYW1zLHtzbGlkZXM6YSxydGxUcmFuc2xhdGU6aSxzbmFwR3JpZDpyfT10O2lmKDA9PT1hLmxlbmd0aClyZXR1cm47dm9pZCAwPT09YVswXS5zd2lwZXJTbGlkZU9mZnNldCYmdC51cGRhdGVTbGlkZXNPZmZzZXQoKTtsZXQgbj0tZTtpJiYobj1lKSxhLnJlbW92ZUNsYXNzKHMuc2xpZGVWaXNpYmxlQ2xhc3MpLHQudmlzaWJsZVNsaWRlc0luZGV4ZXM9W10sdC52aXNpYmxlU2xpZGVzPVtdO2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7ZSs9MSl7Y29uc3QgbD1hW2VdO2xldCBvPWwuc3dpcGVyU2xpZGVPZmZzZXQ7cy5jc3NNb2RlJiZzLmNlbnRlcmVkU2xpZGVzJiYoby09YVswXS5zd2lwZXJTbGlkZU9mZnNldCk7Y29uc3QgZD0obisocy5jZW50ZXJlZFNsaWRlcz90Lm1pblRyYW5zbGF0ZSgpOjApLW8pLyhsLnN3aXBlclNsaWRlU2l6ZStzLnNwYWNlQmV0d2VlbiksYz0obi1yWzBdKyhzLmNlbnRlcmVkU2xpZGVzP3QubWluVHJhbnNsYXRlKCk6MCktbykvKGwuc3dpcGVyU2xpZGVTaXplK3Muc3BhY2VCZXR3ZWVuKSxwPS0obi1vKSx1PXArdC5zbGlkZXNTaXplc0dyaWRbZV07KHA+PTAmJnA8dC5zaXplLTF8fHU+MSYmdTw9dC5zaXplfHxwPD0wJiZ1Pj10LnNpemUpJiYodC52aXNpYmxlU2xpZGVzLnB1c2gobCksdC52aXNpYmxlU2xpZGVzSW5kZXhlcy5wdXNoKGUpLGEuZXEoZSkuYWRkQ2xhc3Mocy5zbGlkZVZpc2libGVDbGFzcykpLGwucHJvZ3Jlc3M9aT8tZDpkLGwub3JpZ2luYWxQcm9ncmVzcz1pPy1jOmN9dC52aXNpYmxlU2xpZGVzPWQodC52aXNpYmxlU2xpZGVzKX0sdXBkYXRlUHJvZ3Jlc3M6ZnVuY3Rpb24oZSl7Y29uc3QgdD10aGlzO2lmKHZvaWQgMD09PWUpe2NvbnN0IHM9dC5ydGxUcmFuc2xhdGU/LTE6MTtlPXQmJnQudHJhbnNsYXRlJiZ0LnRyYW5zbGF0ZSpzfHwwfWNvbnN0IHM9dC5wYXJhbXMsYT10Lm1heFRyYW5zbGF0ZSgpLXQubWluVHJhbnNsYXRlKCk7bGV0e3Byb2dyZXNzOmksaXNCZWdpbm5pbmc6cixpc0VuZDpufT10O2NvbnN0IGw9cixvPW47MD09PWE/KGk9MCxyPSEwLG49ITApOihpPShlLXQubWluVHJhbnNsYXRlKCkpL2Escj1pPD0wLG49aT49MSksT2JqZWN0LmFzc2lnbih0LHtwcm9ncmVzczppLGlzQmVnaW5uaW5nOnIsaXNFbmQ6bn0pLChzLndhdGNoU2xpZGVzUHJvZ3Jlc3N8fHMuY2VudGVyZWRTbGlkZXMmJnMuYXV0b0hlaWdodCkmJnQudXBkYXRlU2xpZGVzUHJvZ3Jlc3MoZSksciYmIWwmJnQuZW1pdCgicmVhY2hCZWdpbm5pbmcgdG9FZGdlIiksbiYmIW8mJnQuZW1pdCgicmVhY2hFbmQgdG9FZGdlIiksKGwmJiFyfHxvJiYhbikmJnQuZW1pdCgiZnJvbUVkZ2UiKSx0LmVtaXQoInByb2dyZXNzIixpKX0sdXBkYXRlU2xpZGVzQ2xhc3NlczpmdW5jdGlvbigpe2NvbnN0IGU9dGhpcyx7c2xpZGVzOnQscGFyYW1zOnMsJHdyYXBwZXJFbDphLGFjdGl2ZUluZGV4OmkscmVhbEluZGV4OnJ9PWUsbj1lLnZpcnR1YWwmJnMudmlydHVhbC5lbmFibGVkO2xldCBsO3QucmVtb3ZlQ2xhc3MoYCR7cy5zbGlkZUFjdGl2ZUNsYXNzfSAke3Muc2xpZGVOZXh0Q2xhc3N9ICR7cy5zbGlkZVByZXZDbGFzc30gJHtzLnNsaWRlRHVwbGljYXRlQWN0aXZlQ2xhc3N9ICR7cy5zbGlkZUR1cGxpY2F0ZU5leHRDbGFzc30gJHtzLnNsaWRlRHVwbGljYXRlUHJldkNsYXNzfWApLGw9bj9lLiR3cmFwcGVyRWwuZmluZChgLiR7cy5zbGlkZUNsYXNzfVtkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJHtpfSJdYCk6dC5lcShpKSxsLmFkZENsYXNzKHMuc2xpZGVBY3RpdmVDbGFzcykscy5sb29wJiYobC5oYXNDbGFzcyhzLnNsaWRlRHVwbGljYXRlQ2xhc3MpP2EuY2hpbGRyZW4oYC4ke3Muc2xpZGVDbGFzc306bm90KC4ke3Muc2xpZGVEdXBsaWNhdGVDbGFzc30pW2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4PSIke3J9Il1gKS5hZGRDbGFzcyhzLnNsaWRlRHVwbGljYXRlQWN0aXZlQ2xhc3MpOmEuY2hpbGRyZW4oYC4ke3Muc2xpZGVDbGFzc30uJHtzLnNsaWRlRHVwbGljYXRlQ2xhc3N9W2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4PSIke3J9Il1gKS5hZGRDbGFzcyhzLnNsaWRlRHVwbGljYXRlQWN0aXZlQ2xhc3MpKTtsZXQgbz1sLm5leHRBbGwoYC4ke3Muc2xpZGVDbGFzc31gKS5lcSgwKS5hZGRDbGFzcyhzLnNsaWRlTmV4dENsYXNzKTtzLmxvb3AmJjA9PT1vLmxlbmd0aCYmKG89dC5lcSgwKSxvLmFkZENsYXNzKHMuc2xpZGVOZXh0Q2xhc3MpKTtsZXQgZD1sLnByZXZBbGwoYC4ke3Muc2xpZGVDbGFzc31gKS5lcSgwKS5hZGRDbGFzcyhzLnNsaWRlUHJldkNsYXNzKTtzLmxvb3AmJjA9PT1kLmxlbmd0aCYmKGQ9dC5lcSgtMSksZC5hZGRDbGFzcyhzLnNsaWRlUHJldkNsYXNzKSkscy5sb29wJiYoby5oYXNDbGFzcyhzLnNsaWRlRHVwbGljYXRlQ2xhc3MpP2EuY2hpbGRyZW4oYC4ke3Muc2xpZGVDbGFzc306bm90KC4ke3Muc2xpZGVEdXBsaWNhdGVDbGFzc30pW2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4PSIke28uYXR0cigiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgiKX0iXWApLmFkZENsYXNzKHMuc2xpZGVEdXBsaWNhdGVOZXh0Q2xhc3MpOmEuY2hpbGRyZW4oYC4ke3Muc2xpZGVDbGFzc30uJHtzLnNsaWRlRHVwbGljYXRlQ2xhc3N9W2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4PSIke28uYXR0cigiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgiKX0iXWApLmFkZENsYXNzKHMuc2xpZGVEdXBsaWNhdGVOZXh0Q2xhc3MpLGQuaGFzQ2xhc3Mocy5zbGlkZUR1cGxpY2F0ZUNsYXNzKT9hLmNoaWxkcmVuKGAuJHtzLnNsaWRlQ2xhc3N9Om5vdCguJHtzLnNsaWRlRHVwbGljYXRlQ2xhc3N9KVtkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJHtkLmF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4Iil9Il1gKS5hZGRDbGFzcyhzLnNsaWRlRHVwbGljYXRlUHJldkNsYXNzKTphLmNoaWxkcmVuKGAuJHtzLnNsaWRlQ2xhc3N9LiR7cy5zbGlkZUR1cGxpY2F0ZUNsYXNzfVtkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJHtkLmF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4Iil9Il1gKS5hZGRDbGFzcyhzLnNsaWRlRHVwbGljYXRlUHJldkNsYXNzKSksZS5lbWl0U2xpZGVzQ2xhc3NlcygpfSx1cGRhdGVBY3RpdmVJbmRleDpmdW5jdGlvbihlKXtjb25zdCB0PXRoaXMscz10LnJ0bFRyYW5zbGF0ZT90LnRyYW5zbGF0ZTotdC50cmFuc2xhdGUse3NsaWRlc0dyaWQ6YSxzbmFwR3JpZDppLHBhcmFtczpyLGFjdGl2ZUluZGV4Om4scmVhbEluZGV4Omwsc25hcEluZGV4Om99PXQ7bGV0IGQsYz1lO2lmKHZvaWQgMD09PWMpe2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7ZSs9MSl2b2lkIDAhPT1hW2UrMV0/cz49YVtlXSYmczxhW2UrMV0tKGFbZSsxXS1hW2VdKS8yP2M9ZTpzPj1hW2VdJiZzPGFbZSsxXSYmKGM9ZSsxKTpzPj1hW2VdJiYoYz1lKTtyLm5vcm1hbGl6ZVNsaWRlSW5kZXgmJihjPDB8fHZvaWQgMD09PWMpJiYoYz0wKX1pZihpLmluZGV4T2Yocyk+PTApZD1pLmluZGV4T2Yocyk7ZWxzZXtjb25zdCBlPU1hdGgubWluKHIuc2xpZGVzUGVyR3JvdXBTa2lwLGMpO2Q9ZStNYXRoLmZsb29yKChjLWUpL3Iuc2xpZGVzUGVyR3JvdXApfWlmKGQ+PWkubGVuZ3RoJiYoZD1pLmxlbmd0aC0xKSxjPT09bilyZXR1cm4gdm9pZChkIT09byYmKHQuc25hcEluZGV4PWQsdC5lbWl0KCJzbmFwSW5kZXhDaGFuZ2UiKSkpO2NvbnN0IHA9cGFyc2VJbnQodC5zbGlkZXMuZXEoYykuYXR0cigiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgiKXx8YywxMCk7T2JqZWN0LmFzc2lnbih0LHtzbmFwSW5kZXg6ZCxyZWFsSW5kZXg6cCxwcmV2aW91c0luZGV4Om4sYWN0aXZlSW5kZXg6Y30pLHQuZW1pdCgiYWN0aXZlSW5kZXhDaGFuZ2UiKSx0LmVtaXQoInNuYXBJbmRleENoYW5nZSIpLGwhPT1wJiZ0LmVtaXQoInJlYWxJbmRleENoYW5nZSIpLCh0LmluaXRpYWxpemVkfHx0LnBhcmFtcy5ydW5DYWxsYmFja3NPbkluaXQpJiZ0LmVtaXQoInNsaWRlQ2hhbmdlIil9LHVwZGF0ZUNsaWNrZWRTbGlkZTpmdW5jdGlvbihlKXtjb25zdCB0PXRoaXMscz10LnBhcmFtcyxhPWQoZSkuY2xvc2VzdChgLiR7cy5zbGlkZUNsYXNzfWApWzBdO2xldCBpLHI9ITE7aWYoYSlmb3IobGV0IGU9MDtlPHQuc2xpZGVzLmxlbmd0aDtlKz0xKWlmKHQuc2xpZGVzW2VdPT09YSl7cj0hMCxpPWU7YnJlYWt9aWYoIWF8fCFyKXJldHVybiB0LmNsaWNrZWRTbGlkZT12b2lkIDAsdm9pZCh0LmNsaWNrZWRJbmRleD12b2lkIDApO3QuY2xpY2tlZFNsaWRlPWEsdC52aXJ0dWFsJiZ0LnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQ/dC5jbGlja2VkSW5kZXg9cGFyc2VJbnQoZChhKS5hdHRyKCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleCIpLDEwKTp0LmNsaWNrZWRJbmRleD1pLHMuc2xpZGVUb0NsaWNrZWRTbGlkZSYmdm9pZCAwIT09dC5jbGlja2VkSW5kZXgmJnQuY2xpY2tlZEluZGV4IT09dC5hY3RpdmVJbmRleCYmdC5zbGlkZVRvQ2xpY2tlZFNsaWRlKCl9fTt2YXIgTT17Z2V0VHJhbnNsYXRlOmZ1bmN0aW9uKGUpe3ZvaWQgMD09PWUmJihlPXRoaXMuaXNIb3Jpem9udGFsKCk/IngiOiJ5Iik7Y29uc3R7cGFyYW1zOnQscnRsVHJhbnNsYXRlOnMsdHJhbnNsYXRlOmEsJHdyYXBwZXJFbDppfT10aGlzO2lmKHQudmlydHVhbFRyYW5zbGF0ZSlyZXR1cm4gcz8tYTphO2lmKHQuY3NzTW9kZSlyZXR1cm4gYTtsZXQgcj1oKGlbMF0sZSk7cmV0dXJuIHMmJihyPS1yKSxyfHwwfSxzZXRUcmFuc2xhdGU6ZnVuY3Rpb24oZSx0KXtjb25zdCBzPXRoaXMse3J0bFRyYW5zbGF0ZTphLHBhcmFtczppLCR3cmFwcGVyRWw6cix3cmFwcGVyRWw6bixwcm9ncmVzczpsfT1zO2xldCBvLGQ9MCxjPTA7cy5pc0hvcml6b250YWwoKT9kPWE/LWU6ZTpjPWUsaS5yb3VuZExlbmd0aHMmJihkPU1hdGguZmxvb3IoZCksYz1NYXRoLmZsb29yKGMpKSxpLmNzc01vZGU/bltzLmlzSG9yaXpvbnRhbCgpPyJzY3JvbGxMZWZ0Ijoic2Nyb2xsVG9wIl09cy5pc0hvcml6b250YWwoKT8tZDotYzppLnZpcnR1YWxUcmFuc2xhdGV8fHIudHJhbnNmb3JtKGB0cmFuc2xhdGUzZCgke2R9cHgsICR7Y31weCwgMHB4KWApLHMucHJldmlvdXNUcmFuc2xhdGU9cy50cmFuc2xhdGUscy50cmFuc2xhdGU9cy5pc0hvcml6b250YWwoKT9kOmM7Y29uc3QgcD1zLm1heFRyYW5zbGF0ZSgpLXMubWluVHJhbnNsYXRlKCk7bz0wPT09cD8wOihlLXMubWluVHJhbnNsYXRlKCkpL3AsbyE9PWwmJnMudXBkYXRlUHJvZ3Jlc3MoZSkscy5lbWl0KCJzZXRUcmFuc2xhdGUiLHMudHJhbnNsYXRlLHQpfSxtaW5UcmFuc2xhdGU6ZnVuY3Rpb24oKXtyZXR1cm4tdGhpcy5zbmFwR3JpZFswXX0sbWF4VHJhbnNsYXRlOmZ1bmN0aW9uKCl7cmV0dXJuLXRoaXMuc25hcEdyaWRbdGhpcy5zbmFwR3JpZC5sZW5ndGgtMV19LHRyYW5zbGF0ZVRvOmZ1bmN0aW9uKGUsdCxzLGEsaSl7dm9pZCAwPT09ZSYmKGU9MCksdm9pZCAwPT09dCYmKHQ9dGhpcy5wYXJhbXMuc3BlZWQpLHZvaWQgMD09PXMmJihzPSEwKSx2b2lkIDA9PT1hJiYoYT0hMCk7Y29uc3Qgcj10aGlzLHtwYXJhbXM6bix3cmFwcGVyRWw6bH09cjtpZihyLmFuaW1hdGluZyYmbi5wcmV2ZW50SW50ZXJhY3Rpb25PblRyYW5zaXRpb24pcmV0dXJuITE7Y29uc3Qgbz1yLm1pblRyYW5zbGF0ZSgpLGQ9ci5tYXhUcmFuc2xhdGUoKTtsZXQgYztpZihjPWEmJmU+bz9vOmEmJmU8ZD9kOmUsci51cGRhdGVQcm9ncmVzcyhjKSxuLmNzc01vZGUpe2NvbnN0IGU9ci5pc0hvcml6b250YWwoKTtpZigwPT09dClsW2U/InNjcm9sbExlZnQiOiJzY3JvbGxUb3AiXT0tYztlbHNle2lmKCFyLnN1cHBvcnQuc21vb3RoU2Nyb2xsKXJldHVybiB3KHtzd2lwZXI6cix0YXJnZXRQb3NpdGlvbjotYyxzaWRlOmU/ImxlZnQiOiJ0b3AifSksITA7bC5zY3JvbGxUbyh7W2U/ImxlZnQiOiJ0b3AiXTotYyxiZWhhdmlvcjoic21vb3RoIn0pfXJldHVybiEwfXJldHVybiAwPT09dD8oci5zZXRUcmFuc2l0aW9uKDApLHIuc2V0VHJhbnNsYXRlKGMpLHMmJihyLmVtaXQoImJlZm9yZVRyYW5zaXRpb25TdGFydCIsdCxpKSxyLmVtaXQoInRyYW5zaXRpb25FbmQiKSkpOihyLnNldFRyYW5zaXRpb24odCksci5zZXRUcmFuc2xhdGUoYykscyYmKHIuZW1pdCgiYmVmb3JlVHJhbnNpdGlvblN0YXJ0Iix0LGkpLHIuZW1pdCgidHJhbnNpdGlvblN0YXJ0IikpLHIuYW5pbWF0aW5nfHwoci5hbmltYXRpbmc9ITAsci5vblRyYW5zbGF0ZVRvV3JhcHBlclRyYW5zaXRpb25FbmR8fChyLm9uVHJhbnNsYXRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZD1mdW5jdGlvbihlKXtyJiYhci5kZXN0cm95ZWQmJmUudGFyZ2V0PT09dGhpcyYmKHIuJHdyYXBwZXJFbFswXS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIixyLm9uVHJhbnNsYXRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZCksci4kd3JhcHBlckVsWzBdLnJlbW92ZUV2ZW50TGlzdGVuZXIoIndlYmtpdFRyYW5zaXRpb25FbmQiLHIub25UcmFuc2xhdGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kKSxyLm9uVHJhbnNsYXRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZD1udWxsLGRlbGV0ZSByLm9uVHJhbnNsYXRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZCxzJiZyLmVtaXQoInRyYW5zaXRpb25FbmQiKSl9KSxyLiR3cmFwcGVyRWxbMF0uYWRkRXZlbnRMaXN0ZW5lcigidHJhbnNpdGlvbmVuZCIsci5vblRyYW5zbGF0ZVRvV3JhcHBlclRyYW5zaXRpb25FbmQpLHIuJHdyYXBwZXJFbFswXS5hZGRFdmVudExpc3RlbmVyKCJ3ZWJraXRUcmFuc2l0aW9uRW5kIixyLm9uVHJhbnNsYXRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZCkpKSwhMH19O2Z1bmN0aW9uIFAoZSl7bGV0e3N3aXBlcjp0LHJ1bkNhbGxiYWNrczpzLGRpcmVjdGlvbjphLHN0ZXA6aX09ZTtjb25zdHthY3RpdmVJbmRleDpyLHByZXZpb3VzSW5kZXg6bn09dDtsZXQgbD1hO2lmKGx8fChsPXI+bj8ibmV4dCI6cjxuPyJwcmV2IjoicmVzZXQiKSx0LmVtaXQoYHRyYW5zaXRpb24ke2l9YCkscyYmciE9PW4pe2lmKCJyZXNldCI9PT1sKXJldHVybiB2b2lkIHQuZW1pdChgc2xpZGVSZXNldFRyYW5zaXRpb24ke2l9YCk7dC5lbWl0KGBzbGlkZUNoYW5nZVRyYW5zaXRpb24ke2l9YCksIm5leHQiPT09bD90LmVtaXQoYHNsaWRlTmV4dFRyYW5zaXRpb24ke2l9YCk6dC5lbWl0KGBzbGlkZVByZXZUcmFuc2l0aW9uJHtpfWApfX12YXIgaz17c2xpZGVUbzpmdW5jdGlvbihlLHQscyxhLGkpe2lmKHZvaWQgMD09PWUmJihlPTApLHZvaWQgMD09PXQmJih0PXRoaXMucGFyYW1zLnNwZWVkKSx2b2lkIDA9PT1zJiYocz0hMCksIm51bWJlciIhPXR5cGVvZiBlJiYic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKGBUaGUgJ2luZGV4JyBhcmd1bWVudCBjYW5ub3QgaGF2ZSB0eXBlIG90aGVyIHRoYW4gJ251bWJlcicgb3IgJ3N0cmluZycuIFske3R5cGVvZiBlfV0gZ2l2ZW4uYCk7aWYoInN0cmluZyI9PXR5cGVvZiBlKXtjb25zdCB0PXBhcnNlSW50KGUsMTApO2lmKCFpc0Zpbml0ZSh0KSl0aHJvdyBuZXcgRXJyb3IoYFRoZSBwYXNzZWQtaW4gJ2luZGV4JyAoc3RyaW5nKSBjb3VsZG4ndCBiZSBjb252ZXJ0ZWQgdG8gJ251bWJlcicuIFske2V9XSBnaXZlbi5gKTtlPXR9Y29uc3Qgcj10aGlzO2xldCBuPWU7bjwwJiYobj0wKTtjb25zdHtwYXJhbXM6bCxzbmFwR3JpZDpvLHNsaWRlc0dyaWQ6ZCxwcmV2aW91c0luZGV4OmMsYWN0aXZlSW5kZXg6cCxydGxUcmFuc2xhdGU6dSx3cmFwcGVyRWw6aCxlbmFibGVkOm19PXI7aWYoci5hbmltYXRpbmcmJmwucHJldmVudEludGVyYWN0aW9uT25UcmFuc2l0aW9ufHwhbSYmIWEmJiFpKXJldHVybiExO2NvbnN0IGY9TWF0aC5taW4oci5wYXJhbXMuc2xpZGVzUGVyR3JvdXBTa2lwLG4pO2xldCBnPWYrTWF0aC5mbG9vcigobi1mKS9yLnBhcmFtcy5zbGlkZXNQZXJHcm91cCk7Zz49by5sZW5ndGgmJihnPW8ubGVuZ3RoLTEpO2NvbnN0IHY9LW9bZ107aWYobC5ub3JtYWxpemVTbGlkZUluZGV4KWZvcihsZXQgZT0wO2U8ZC5sZW5ndGg7ZSs9MSl7Y29uc3QgdD0tTWF0aC5mbG9vcigxMDAqdikscz1NYXRoLmZsb29yKDEwMCpkW2VdKSxhPU1hdGguZmxvb3IoMTAwKmRbZSsxXSk7dm9pZCAwIT09ZFtlKzFdP3Q+PXMmJnQ8YS0oYS1zKS8yP249ZTp0Pj1zJiZ0PGEmJihuPWUrMSk6dD49cyYmKG49ZSl9aWYoci5pbml0aWFsaXplZCYmbiE9PXApe2lmKCFyLmFsbG93U2xpZGVOZXh0JiZ2PHIudHJhbnNsYXRlJiZ2PHIubWluVHJhbnNsYXRlKCkpcmV0dXJuITE7aWYoIXIuYWxsb3dTbGlkZVByZXYmJnY+ci50cmFuc2xhdGUmJnY+ci5tYXhUcmFuc2xhdGUoKSYmKHB8fDApIT09bilyZXR1cm4hMX1sZXQgYjtpZihuIT09KGN8fDApJiZzJiZyLmVtaXQoImJlZm9yZVNsaWRlQ2hhbmdlU3RhcnQiKSxyLnVwZGF0ZVByb2dyZXNzKHYpLGI9bj5wPyJuZXh0IjpuPHA/InByZXYiOiJyZXNldCIsdSYmLXY9PT1yLnRyYW5zbGF0ZXx8IXUmJnY9PT1yLnRyYW5zbGF0ZSlyZXR1cm4gci51cGRhdGVBY3RpdmVJbmRleChuKSxsLmF1dG9IZWlnaHQmJnIudXBkYXRlQXV0b0hlaWdodCgpLHIudXBkYXRlU2xpZGVzQ2xhc3NlcygpLCJzbGlkZSIhPT1sLmVmZmVjdCYmci5zZXRUcmFuc2xhdGUodiksInJlc2V0IiE9PWImJihyLnRyYW5zaXRpb25TdGFydChzLGIpLHIudHJhbnNpdGlvbkVuZChzLGIpKSwhMTtpZihsLmNzc01vZGUpe2NvbnN0IGU9ci5pc0hvcml6b250YWwoKSxzPXU/djotdjtpZigwPT09dCl7Y29uc3QgdD1yLnZpcnR1YWwmJnIucGFyYW1zLnZpcnR1YWwuZW5hYmxlZDt0JiYoci53cmFwcGVyRWwuc3R5bGUuc2Nyb2xsU25hcFR5cGU9Im5vbmUiLHIuX2ltbWVkaWF0ZVZpcnR1YWw9ITApLGhbZT8ic2Nyb2xsTGVmdCI6InNjcm9sbFRvcCJdPXMsdCYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3Iud3JhcHBlckVsLnN0eWxlLnNjcm9sbFNuYXBUeXBlPSIiLHIuX3N3aXBlckltbWVkaWF0ZVZpcnR1YWw9ITF9KSl9ZWxzZXtpZighci5zdXBwb3J0LnNtb290aFNjcm9sbClyZXR1cm4gdyh7c3dpcGVyOnIsdGFyZ2V0UG9zaXRpb246cyxzaWRlOmU/ImxlZnQiOiJ0b3AifSksITA7aC5zY3JvbGxUbyh7W2U/ImxlZnQiOiJ0b3AiXTpzLGJlaGF2aW9yOiJzbW9vdGgifSl9cmV0dXJuITB9cmV0dXJuIHIuc2V0VHJhbnNpdGlvbih0KSxyLnNldFRyYW5zbGF0ZSh2KSxyLnVwZGF0ZUFjdGl2ZUluZGV4KG4pLHIudXBkYXRlU2xpZGVzQ2xhc3NlcygpLHIuZW1pdCgiYmVmb3JlVHJhbnNpdGlvblN0YXJ0Iix0LGEpLHIudHJhbnNpdGlvblN0YXJ0KHMsYiksMD09PXQ/ci50cmFuc2l0aW9uRW5kKHMsYik6ci5hbmltYXRpbmd8fChyLmFuaW1hdGluZz0hMCxyLm9uU2xpZGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kfHwoci5vblNsaWRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZD1mdW5jdGlvbihlKXtyJiYhci5kZXN0cm95ZWQmJmUudGFyZ2V0PT09dGhpcyYmKHIuJHdyYXBwZXJFbFswXS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIixyLm9uU2xpZGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kKSxyLiR3cmFwcGVyRWxbMF0ucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2Via2l0VHJhbnNpdGlvbkVuZCIsci5vblNsaWRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZCksci5vblNsaWRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZD1udWxsLGRlbGV0ZSByLm9uU2xpZGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kLHIudHJhbnNpdGlvbkVuZChzLGIpKX0pLHIuJHdyYXBwZXJFbFswXS5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIixyLm9uU2xpZGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kKSxyLiR3cmFwcGVyRWxbMF0uYWRkRXZlbnRMaXN0ZW5lcigid2Via2l0VHJhbnNpdGlvbkVuZCIsci5vblNsaWRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZCkpLCEwfSxzbGlkZVRvTG9vcDpmdW5jdGlvbihlLHQscyxhKXtpZih2b2lkIDA9PT1lJiYoZT0wKSx2b2lkIDA9PT10JiYodD10aGlzLnBhcmFtcy5zcGVlZCksdm9pZCAwPT09cyYmKHM9ITApLCJzdHJpbmciPT10eXBlb2YgZSl7Y29uc3QgdD1wYXJzZUludChlLDEwKTtpZighaXNGaW5pdGUodCkpdGhyb3cgbmV3IEVycm9yKGBUaGUgcGFzc2VkLWluICdpbmRleCcgKHN0cmluZykgY291bGRuJ3QgYmUgY29udmVydGVkIHRvICdudW1iZXInLiBbJHtlfV0gZ2l2ZW4uYCk7ZT10fWNvbnN0IGk9dGhpcztsZXQgcj1lO3JldHVybiBpLnBhcmFtcy5sb29wJiYocis9aS5sb29wZWRTbGlkZXMpLGkuc2xpZGVUbyhyLHQscyxhKX0sc2xpZGVOZXh0OmZ1bmN0aW9uKGUsdCxzKXt2b2lkIDA9PT1lJiYoZT10aGlzLnBhcmFtcy5zcGVlZCksdm9pZCAwPT09dCYmKHQ9ITApO2NvbnN0IGE9dGhpcyx7YW5pbWF0aW5nOmksZW5hYmxlZDpyLHBhcmFtczpufT1hO2lmKCFyKXJldHVybiBhO2xldCBsPW4uc2xpZGVzUGVyR3JvdXA7ImF1dG8iPT09bi5zbGlkZXNQZXJWaWV3JiYxPT09bi5zbGlkZXNQZXJHcm91cCYmbi5zbGlkZXNQZXJHcm91cEF1dG8mJihsPU1hdGgubWF4KGEuc2xpZGVzUGVyVmlld0R5bmFtaWMoImN1cnJlbnQiLCEwKSwxKSk7Y29uc3Qgbz1hLmFjdGl2ZUluZGV4PG4uc2xpZGVzUGVyR3JvdXBTa2lwPzE6bDtpZihuLmxvb3Ape2lmKGkmJm4ubG9vcFByZXZlbnRzU2xpZGUpcmV0dXJuITE7YS5sb29wRml4KCksYS5fY2xpZW50TGVmdD1hLiR3cmFwcGVyRWxbMF0uY2xpZW50TGVmdH1yZXR1cm4gbi5yZXdpbmQmJmEuaXNFbmQ/YS5zbGlkZVRvKDAsZSx0LHMpOmEuc2xpZGVUbyhhLmFjdGl2ZUluZGV4K28sZSx0LHMpfSxzbGlkZVByZXY6ZnVuY3Rpb24oZSx0LHMpe3ZvaWQgMD09PWUmJihlPXRoaXMucGFyYW1zLnNwZWVkKSx2b2lkIDA9PT10JiYodD0hMCk7Y29uc3QgYT10aGlzLHtwYXJhbXM6aSxhbmltYXRpbmc6cixzbmFwR3JpZDpuLHNsaWRlc0dyaWQ6bCxydGxUcmFuc2xhdGU6byxlbmFibGVkOmR9PWE7aWYoIWQpcmV0dXJuIGE7aWYoaS5sb29wKXtpZihyJiZpLmxvb3BQcmV2ZW50c1NsaWRlKXJldHVybiExO2EubG9vcEZpeCgpLGEuX2NsaWVudExlZnQ9YS4kd3JhcHBlckVsWzBdLmNsaWVudExlZnR9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZTwwPy1NYXRoLmZsb29yKE1hdGguYWJzKGUpKTpNYXRoLmZsb29yKGUpfWNvbnN0IHA9YyhvP2EudHJhbnNsYXRlOi1hLnRyYW5zbGF0ZSksdT1uLm1hcCgoZT0+YyhlKSkpO2xldCBoPW5bdS5pbmRleE9mKHApLTFdO2lmKHZvaWQgMD09PWgmJmkuY3NzTW9kZSl7bGV0IGU7bi5mb3JFYWNoKCgodCxzKT0+e3A+PXQmJihlPXMpfSkpLHZvaWQgMCE9PWUmJihoPW5bZT4wP2UtMTplXSl9bGV0IG09MDtpZih2b2lkIDAhPT1oJiYobT1sLmluZGV4T2YoaCksbTwwJiYobT1hLmFjdGl2ZUluZGV4LTEpLCJhdXRvIj09PWkuc2xpZGVzUGVyVmlldyYmMT09PWkuc2xpZGVzUGVyR3JvdXAmJmkuc2xpZGVzUGVyR3JvdXBBdXRvJiYobT1tLWEuc2xpZGVzUGVyVmlld0R5bmFtaWMoInByZXZpb3VzIiwhMCkrMSxtPU1hdGgubWF4KG0sMCkpKSxpLnJld2luZCYmYS5pc0JlZ2lubmluZyl7Y29uc3QgaT1hLnBhcmFtcy52aXJ0dWFsJiZhLnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQmJmEudmlydHVhbD9hLnZpcnR1YWwuc2xpZGVzLmxlbmd0aC0xOmEuc2xpZGVzLmxlbmd0aC0xO3JldHVybiBhLnNsaWRlVG8oaSxlLHQscyl9cmV0dXJuIGEuc2xpZGVUbyhtLGUsdCxzKX0sc2xpZGVSZXNldDpmdW5jdGlvbihlLHQscyl7cmV0dXJuIHZvaWQgMD09PWUmJihlPXRoaXMucGFyYW1zLnNwZWVkKSx2b2lkIDA9PT10JiYodD0hMCksdGhpcy5zbGlkZVRvKHRoaXMuYWN0aXZlSW5kZXgsZSx0LHMpfSxzbGlkZVRvQ2xvc2VzdDpmdW5jdGlvbihlLHQscyxhKXt2b2lkIDA9PT1lJiYoZT10aGlzLnBhcmFtcy5zcGVlZCksdm9pZCAwPT09dCYmKHQ9ITApLHZvaWQgMD09PWEmJihhPS41KTtjb25zdCBpPXRoaXM7bGV0IHI9aS5hY3RpdmVJbmRleDtjb25zdCBuPU1hdGgubWluKGkucGFyYW1zLnNsaWRlc1Blckdyb3VwU2tpcCxyKSxsPW4rTWF0aC5mbG9vcigoci1uKS9pLnBhcmFtcy5zbGlkZXNQZXJHcm91cCksbz1pLnJ0bFRyYW5zbGF0ZT9pLnRyYW5zbGF0ZTotaS50cmFuc2xhdGU7aWYobz49aS5zbmFwR3JpZFtsXSl7Y29uc3QgZT1pLnNuYXBHcmlkW2xdO28tZT4oaS5zbmFwR3JpZFtsKzFdLWUpKmEmJihyKz1pLnBhcmFtcy5zbGlkZXNQZXJHcm91cCl9ZWxzZXtjb25zdCBlPWkuc25hcEdyaWRbbC0xXTtvLWU8PShpLnNuYXBHcmlkW2xdLWUpKmEmJihyLT1pLnBhcmFtcy5zbGlkZXNQZXJHcm91cCl9cmV0dXJuIHI9TWF0aC5tYXgociwwKSxyPU1hdGgubWluKHIsaS5zbGlkZXNHcmlkLmxlbmd0aC0xKSxpLnNsaWRlVG8ocixlLHQscyl9LHNsaWRlVG9DbGlja2VkU2xpZGU6ZnVuY3Rpb24oKXtjb25zdCBlPXRoaXMse3BhcmFtczp0LCR3cmFwcGVyRWw6c309ZSxhPSJhdXRvIj09PXQuc2xpZGVzUGVyVmlldz9lLnNsaWRlc1BlclZpZXdEeW5hbWljKCk6dC5zbGlkZXNQZXJWaWV3O2xldCBpLHI9ZS5jbGlja2VkSW5kZXg7aWYodC5sb29wKXtpZihlLmFuaW1hdGluZylyZXR1cm47aT1wYXJzZUludChkKGUuY2xpY2tlZFNsaWRlKS5hdHRyKCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleCIpLDEwKSx0LmNlbnRlcmVkU2xpZGVzP3I8ZS5sb29wZWRTbGlkZXMtYS8yfHxyPmUuc2xpZGVzLmxlbmd0aC1lLmxvb3BlZFNsaWRlcythLzI/KGUubG9vcEZpeCgpLHI9cy5jaGlsZHJlbihgLiR7dC5zbGlkZUNsYXNzfVtkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJHtpfSJdOm5vdCguJHt0LnNsaWRlRHVwbGljYXRlQ2xhc3N9KWApLmVxKDApLmluZGV4KCkscCgoKCk9PntlLnNsaWRlVG8ocil9KSkpOmUuc2xpZGVUbyhyKTpyPmUuc2xpZGVzLmxlbmd0aC1hPyhlLmxvb3BGaXgoKSxyPXMuY2hpbGRyZW4oYC4ke3Quc2xpZGVDbGFzc31bZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9IiR7aX0iXTpub3QoLiR7dC5zbGlkZUR1cGxpY2F0ZUNsYXNzfSlgKS5lcSgwKS5pbmRleCgpLHAoKCgpPT57ZS5zbGlkZVRvKHIpfSkpKTplLnNsaWRlVG8ocil9ZWxzZSBlLnNsaWRlVG8ocil9fTt2YXIgej17bG9vcENyZWF0ZTpmdW5jdGlvbigpe2NvbnN0IGU9dGhpcyx0PWEoKSx7cGFyYW1zOnMsJHdyYXBwZXJFbDppfT1lLHI9aS5jaGlsZHJlbigpLmxlbmd0aD4wP2QoaS5jaGlsZHJlbigpWzBdLnBhcmVudE5vZGUpOmk7ci5jaGlsZHJlbihgLiR7cy5zbGlkZUNsYXNzfS4ke3Muc2xpZGVEdXBsaWNhdGVDbGFzc31gKS5yZW1vdmUoKTtsZXQgbj1yLmNoaWxkcmVuKGAuJHtzLnNsaWRlQ2xhc3N9YCk7aWYocy5sb29wRmlsbEdyb3VwV2l0aEJsYW5rKXtjb25zdCBlPXMuc2xpZGVzUGVyR3JvdXAtbi5sZW5ndGglcy5zbGlkZXNQZXJHcm91cDtpZihlIT09cy5zbGlkZXNQZXJHcm91cCl7Zm9yKGxldCBhPTA7YTxlO2ErPTEpe2NvbnN0IGU9ZCh0LmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5hZGRDbGFzcyhgJHtzLnNsaWRlQ2xhc3N9ICR7cy5zbGlkZUJsYW5rQ2xhc3N9YCk7ci5hcHBlbmQoZSl9bj1yLmNoaWxkcmVuKGAuJHtzLnNsaWRlQ2xhc3N9YCl9fSJhdXRvIiE9PXMuc2xpZGVzUGVyVmlld3x8cy5sb29wZWRTbGlkZXN8fChzLmxvb3BlZFNsaWRlcz1uLmxlbmd0aCksZS5sb29wZWRTbGlkZXM9TWF0aC5jZWlsKHBhcnNlRmxvYXQocy5sb29wZWRTbGlkZXN8fHMuc2xpZGVzUGVyVmlldywxMCkpLGUubG9vcGVkU2xpZGVzKz1zLmxvb3BBZGRpdGlvbmFsU2xpZGVzLGUubG9vcGVkU2xpZGVzPm4ubGVuZ3RoJiZlLnBhcmFtcy5sb29wZWRTbGlkZXNMaW1pdCYmKGUubG9vcGVkU2xpZGVzPW4ubGVuZ3RoKTtjb25zdCBsPVtdLG89W107bi5lYWNoKCgoZSx0KT0+e2QoZSkuYXR0cigiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgiLHQpfSkpO2ZvcihsZXQgdD0wO3Q8ZS5sb29wZWRTbGlkZXM7dCs9MSl7Y29uc3QgZT10LU1hdGguZmxvb3IodC9uLmxlbmd0aCkqbi5sZW5ndGg7by5wdXNoKG4uZXEoZSlbMF0pLGwudW5zaGlmdChuLmVxKG4ubGVuZ3RoLWUtMSlbMF0pfWZvcihsZXQgZT0wO2U8by5sZW5ndGg7ZSs9MSlyLmFwcGVuZChkKG9bZV0uY2xvbmVOb2RlKCEwKSkuYWRkQ2xhc3Mocy5zbGlkZUR1cGxpY2F0ZUNsYXNzKSk7Zm9yKGxldCBlPWwubGVuZ3RoLTE7ZT49MDtlLT0xKXIucHJlcGVuZChkKGxbZV0uY2xvbmVOb2RlKCEwKSkuYWRkQ2xhc3Mocy5zbGlkZUR1cGxpY2F0ZUNsYXNzKSl9LGxvb3BGaXg6ZnVuY3Rpb24oKXtjb25zdCBlPXRoaXM7ZS5lbWl0KCJiZWZvcmVMb29wRml4Iik7Y29uc3R7YWN0aXZlSW5kZXg6dCxzbGlkZXM6cyxsb29wZWRTbGlkZXM6YSxhbGxvd1NsaWRlUHJldjppLGFsbG93U2xpZGVOZXh0OnIsc25hcEdyaWQ6bixydGxUcmFuc2xhdGU6bH09ZTtsZXQgbztlLmFsbG93U2xpZGVQcmV2PSEwLGUuYWxsb3dTbGlkZU5leHQ9ITA7Y29uc3QgZD0tblt0XS1lLmdldFRyYW5zbGF0ZSgpO2lmKHQ8YSl7bz1zLmxlbmd0aC0zKmErdCxvKz1hO2Uuc2xpZGVUbyhvLDAsITEsITApJiYwIT09ZCYmZS5zZXRUcmFuc2xhdGUoKGw/LWUudHJhbnNsYXRlOmUudHJhbnNsYXRlKS1kKX1lbHNlIGlmKHQ+PXMubGVuZ3RoLWEpe289LXMubGVuZ3RoK3QrYSxvKz1hO2Uuc2xpZGVUbyhvLDAsITEsITApJiYwIT09ZCYmZS5zZXRUcmFuc2xhdGUoKGw/LWUudHJhbnNsYXRlOmUudHJhbnNsYXRlKS1kKX1lLmFsbG93U2xpZGVQcmV2PWksZS5hbGxvd1NsaWRlTmV4dD1yLGUuZW1pdCgibG9vcEZpeCIpfSxsb29wRGVzdHJveTpmdW5jdGlvbigpe2NvbnN0eyR3cmFwcGVyRWw6ZSxwYXJhbXM6dCxzbGlkZXM6c309dGhpcztlLmNoaWxkcmVuKGAuJHt0LnNsaWRlQ2xhc3N9LiR7dC5zbGlkZUR1cGxpY2F0ZUNsYXNzfSwuJHt0LnNsaWRlQ2xhc3N9LiR7dC5zbGlkZUJsYW5rQ2xhc3N9YCkucmVtb3ZlKCkscy5yZW1vdmVBdHRyKCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleCIpfX07ZnVuY3Rpb24gTChlKXtjb25zdCB0PXRoaXMscz1hKCksaT1yKCksbj10LnRvdWNoRXZlbnRzRGF0YSx7cGFyYW1zOmwsdG91Y2hlczpvLGVuYWJsZWQ6Y309dDtpZighYylyZXR1cm47aWYodC5hbmltYXRpbmcmJmwucHJldmVudEludGVyYWN0aW9uT25UcmFuc2l0aW9uKXJldHVybjshdC5hbmltYXRpbmcmJmwuY3NzTW9kZSYmbC5sb29wJiZ0Lmxvb3BGaXgoKTtsZXQgcD1lO3Aub3JpZ2luYWxFdmVudCYmKHA9cC5vcmlnaW5hbEV2ZW50KTtsZXQgaD1kKHAudGFyZ2V0KTtpZigid3JhcHBlciI9PT1sLnRvdWNoRXZlbnRzVGFyZ2V0JiYhaC5jbG9zZXN0KHQud3JhcHBlckVsKS5sZW5ndGgpcmV0dXJuO2lmKG4uaXNUb3VjaEV2ZW50PSJ0b3VjaHN0YXJ0Ij09PXAudHlwZSwhbi5pc1RvdWNoRXZlbnQmJiJ3aGljaCJpbiBwJiYzPT09cC53aGljaClyZXR1cm47aWYoIW4uaXNUb3VjaEV2ZW50JiYiYnV0dG9uImluIHAmJnAuYnV0dG9uPjApcmV0dXJuO2lmKG4uaXNUb3VjaGVkJiZuLmlzTW92ZWQpcmV0dXJuO2NvbnN0IG09ISFsLm5vU3dpcGluZ0NsYXNzJiYiIiE9PWwubm9Td2lwaW5nQ2xhc3MsZj1lLmNvbXBvc2VkUGF0aD9lLmNvbXBvc2VkUGF0aCgpOmUucGF0aDttJiZwLnRhcmdldCYmcC50YXJnZXQuc2hhZG93Um9vdCYmZiYmKGg9ZChmWzBdKSk7Y29uc3QgZz1sLm5vU3dpcGluZ1NlbGVjdG9yP2wubm9Td2lwaW5nU2VsZWN0b3I6YC4ke2wubm9Td2lwaW5nQ2xhc3N9YCx2PSEoIXAudGFyZ2V0fHwhcC50YXJnZXQuc2hhZG93Um9vdCk7aWYobC5ub1N3aXBpbmcmJih2P2Z1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMD09PXQmJih0PXRoaXMpLGZ1bmN0aW9uIHQocyl7aWYoIXN8fHM9PT1hKCl8fHM9PT1yKCkpcmV0dXJuIG51bGw7cy5hc3NpZ25lZFNsb3QmJihzPXMuYXNzaWduZWRTbG90KTtjb25zdCBpPXMuY2xvc2VzdChlKTtyZXR1cm4gaXx8cy5nZXRSb290Tm9kZT9pfHx0KHMuZ2V0Um9vdE5vZGUoKS5ob3N0KTpudWxsfSh0KX0oZyxoWzBdKTpoLmNsb3Nlc3QoZylbMF0pKXJldHVybiB2b2lkKHQuYWxsb3dDbGljaz0hMCk7aWYobC5zd2lwZUhhbmRsZXImJiFoLmNsb3Nlc3QobC5zd2lwZUhhbmRsZXIpWzBdKXJldHVybjtvLmN1cnJlbnRYPSJ0b3VjaHN0YXJ0Ij09PXAudHlwZT9wLnRhcmdldFRvdWNoZXNbMF0ucGFnZVg6cC5wYWdlWCxvLmN1cnJlbnRZPSJ0b3VjaHN0YXJ0Ij09PXAudHlwZT9wLnRhcmdldFRvdWNoZXNbMF0ucGFnZVk6cC5wYWdlWTtjb25zdCB3PW8uY3VycmVudFgsYj1vLmN1cnJlbnRZLHg9bC5lZGdlU3dpcGVEZXRlY3Rpb258fGwuaU9TRWRnZVN3aXBlRGV0ZWN0aW9uLHk9bC5lZGdlU3dpcGVUaHJlc2hvbGR8fGwuaU9TRWRnZVN3aXBlVGhyZXNob2xkO2lmKHgmJih3PD15fHx3Pj1pLmlubmVyV2lkdGgteSkpe2lmKCJwcmV2ZW50IiE9PXgpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKX1pZihPYmplY3QuYXNzaWduKG4se2lzVG91Y2hlZDohMCxpc01vdmVkOiExLGFsbG93VG91Y2hDYWxsYmFja3M6ITAsaXNTY3JvbGxpbmc6dm9pZCAwLHN0YXJ0TW92aW5nOnZvaWQgMH0pLG8uc3RhcnRYPXcsby5zdGFydFk9YixuLnRvdWNoU3RhcnRUaW1lPXUoKSx0LmFsbG93Q2xpY2s9ITAsdC51cGRhdGVTaXplKCksdC5zd2lwZURpcmVjdGlvbj12b2lkIDAsbC50aHJlc2hvbGQ+MCYmKG4uYWxsb3dUaHJlc2hvbGRNb3ZlPSExKSwidG91Y2hzdGFydCIhPT1wLnR5cGUpe2xldCBlPSEwO2guaXMobi5mb2N1c2FibGVFbGVtZW50cykmJihlPSExLCJTRUxFQ1QiPT09aFswXS5ub2RlTmFtZSYmKG4uaXNUb3VjaGVkPSExKSkscy5hY3RpdmVFbGVtZW50JiZkKHMuYWN0aXZlRWxlbWVudCkuaXMobi5mb2N1c2FibGVFbGVtZW50cykmJnMuYWN0aXZlRWxlbWVudCE9PWhbMF0mJnMuYWN0aXZlRWxlbWVudC5ibHVyKCk7Y29uc3QgYT1lJiZ0LmFsbG93VG91Y2hNb3ZlJiZsLnRvdWNoU3RhcnRQcmV2ZW50RGVmYXVsdDshbC50b3VjaFN0YXJ0Rm9yY2VQcmV2ZW50RGVmYXVsdCYmIWF8fGhbMF0uaXNDb250ZW50RWRpdGFibGV8fHAucHJldmVudERlZmF1bHQoKX10LnBhcmFtcy5mcmVlTW9kZSYmdC5wYXJhbXMuZnJlZU1vZGUuZW5hYmxlZCYmdC5mcmVlTW9kZSYmdC5hbmltYXRpbmcmJiFsLmNzc01vZGUmJnQuZnJlZU1vZGUub25Ub3VjaFN0YXJ0KCksdC5lbWl0KCJ0b3VjaFN0YXJ0IixwKX1mdW5jdGlvbiBPKGUpe2NvbnN0IHQ9YSgpLHM9dGhpcyxpPXMudG91Y2hFdmVudHNEYXRhLHtwYXJhbXM6cix0b3VjaGVzOm4scnRsVHJhbnNsYXRlOmwsZW5hYmxlZDpvfT1zO2lmKCFvKXJldHVybjtsZXQgYz1lO2lmKGMub3JpZ2luYWxFdmVudCYmKGM9Yy5vcmlnaW5hbEV2ZW50KSwhaS5pc1RvdWNoZWQpcmV0dXJuIHZvaWQoaS5zdGFydE1vdmluZyYmaS5pc1Njcm9sbGluZyYmcy5lbWl0KCJ0b3VjaE1vdmVPcHBvc2l0ZSIsYykpO2lmKGkuaXNUb3VjaEV2ZW50JiYidG91Y2htb3ZlIiE9PWMudHlwZSlyZXR1cm47Y29uc3QgcD0idG91Y2htb3ZlIj09PWMudHlwZSYmYy50YXJnZXRUb3VjaGVzJiYoYy50YXJnZXRUb3VjaGVzWzBdfHxjLmNoYW5nZWRUb3VjaGVzWzBdKSxoPSJ0b3VjaG1vdmUiPT09Yy50eXBlP3AucGFnZVg6Yy5wYWdlWCxtPSJ0b3VjaG1vdmUiPT09Yy50eXBlP3AucGFnZVk6Yy5wYWdlWTtpZihjLnByZXZlbnRlZEJ5TmVzdGVkU3dpcGVyKXJldHVybiBuLnN0YXJ0WD1oLHZvaWQobi5zdGFydFk9bSk7aWYoIXMuYWxsb3dUb3VjaE1vdmUpcmV0dXJuIGQoYy50YXJnZXQpLmlzKGkuZm9jdXNhYmxlRWxlbWVudHMpfHwocy5hbGxvd0NsaWNrPSExKSx2b2lkKGkuaXNUb3VjaGVkJiYoT2JqZWN0LmFzc2lnbihuLHtzdGFydFg6aCxzdGFydFk6bSxjdXJyZW50WDpoLGN1cnJlbnRZOm19KSxpLnRvdWNoU3RhcnRUaW1lPXUoKSkpO2lmKGkuaXNUb3VjaEV2ZW50JiZyLnRvdWNoUmVsZWFzZU9uRWRnZXMmJiFyLmxvb3ApaWYocy5pc1ZlcnRpY2FsKCkpe2lmKG08bi5zdGFydFkmJnMudHJhbnNsYXRlPD1zLm1heFRyYW5zbGF0ZSgpfHxtPm4uc3RhcnRZJiZzLnRyYW5zbGF0ZT49cy5taW5UcmFuc2xhdGUoKSlyZXR1cm4gaS5pc1RvdWNoZWQ9ITEsdm9pZChpLmlzTW92ZWQ9ITEpfWVsc2UgaWYoaDxuLnN0YXJ0WCYmcy50cmFuc2xhdGU8PXMubWF4VHJhbnNsYXRlKCl8fGg+bi5zdGFydFgmJnMudHJhbnNsYXRlPj1zLm1pblRyYW5zbGF0ZSgpKXJldHVybjtpZihpLmlzVG91Y2hFdmVudCYmdC5hY3RpdmVFbGVtZW50JiZjLnRhcmdldD09PXQuYWN0aXZlRWxlbWVudCYmZChjLnRhcmdldCkuaXMoaS5mb2N1c2FibGVFbGVtZW50cykpcmV0dXJuIGkuaXNNb3ZlZD0hMCx2b2lkKHMuYWxsb3dDbGljaz0hMSk7aWYoaS5hbGxvd1RvdWNoQ2FsbGJhY2tzJiZzLmVtaXQoInRvdWNoTW92ZSIsYyksYy50YXJnZXRUb3VjaGVzJiZjLnRhcmdldFRvdWNoZXMubGVuZ3RoPjEpcmV0dXJuO24uY3VycmVudFg9aCxuLmN1cnJlbnRZPW07Y29uc3QgZj1uLmN1cnJlbnRYLW4uc3RhcnRYLGc9bi5jdXJyZW50WS1uLnN0YXJ0WTtpZihzLnBhcmFtcy50aHJlc2hvbGQmJk1hdGguc3FydChmKioyK2cqKjIpPHMucGFyYW1zLnRocmVzaG9sZClyZXR1cm47aWYodm9pZCAwPT09aS5pc1Njcm9sbGluZyl7bGV0IGU7cy5pc0hvcml6b250YWwoKSYmbi5jdXJyZW50WT09PW4uc3RhcnRZfHxzLmlzVmVydGljYWwoKSYmbi5jdXJyZW50WD09PW4uc3RhcnRYP2kuaXNTY3JvbGxpbmc9ITE6ZipmK2cqZz49MjUmJihlPTE4MCpNYXRoLmF0YW4yKE1hdGguYWJzKGcpLE1hdGguYWJzKGYpKS9NYXRoLlBJLGkuaXNTY3JvbGxpbmc9cy5pc0hvcml6b250YWwoKT9lPnIudG91Y2hBbmdsZTo5MC1lPnIudG91Y2hBbmdsZSl9aWYoaS5pc1Njcm9sbGluZyYmcy5lbWl0KCJ0b3VjaE1vdmVPcHBvc2l0ZSIsYyksdm9pZCAwPT09aS5zdGFydE1vdmluZyYmKG4uY3VycmVudFg9PT1uLnN0YXJ0WCYmbi5jdXJyZW50WT09PW4uc3RhcnRZfHwoaS5zdGFydE1vdmluZz0hMCkpLGkuaXNTY3JvbGxpbmcpcmV0dXJuIHZvaWQoaS5pc1RvdWNoZWQ9ITEpO2lmKCFpLnN0YXJ0TW92aW5nKXJldHVybjtzLmFsbG93Q2xpY2s9ITEsIXIuY3NzTW9kZSYmYy5jYW5jZWxhYmxlJiZjLnByZXZlbnREZWZhdWx0KCksci50b3VjaE1vdmVTdG9wUHJvcGFnYXRpb24mJiFyLm5lc3RlZCYmYy5zdG9wUHJvcGFnYXRpb24oKSxpLmlzTW92ZWR8fChyLmxvb3AmJiFyLmNzc01vZGUmJnMubG9vcEZpeCgpLGkuc3RhcnRUcmFuc2xhdGU9cy5nZXRUcmFuc2xhdGUoKSxzLnNldFRyYW5zaXRpb24oMCkscy5hbmltYXRpbmcmJnMuJHdyYXBwZXJFbC50cmlnZ2VyKCJ3ZWJraXRUcmFuc2l0aW9uRW5kIHRyYW5zaXRpb25lbmQiKSxpLmFsbG93TW9tZW50dW1Cb3VuY2U9ITEsIXIuZ3JhYkN1cnNvcnx8ITAhPT1zLmFsbG93U2xpZGVOZXh0JiYhMCE9PXMuYWxsb3dTbGlkZVByZXZ8fHMuc2V0R3JhYkN1cnNvcighMCkscy5lbWl0KCJzbGlkZXJGaXJzdE1vdmUiLGMpKSxzLmVtaXQoInNsaWRlck1vdmUiLGMpLGkuaXNNb3ZlZD0hMDtsZXQgdj1zLmlzSG9yaXpvbnRhbCgpP2Y6ZztuLmRpZmY9dix2Kj1yLnRvdWNoUmF0aW8sbCYmKHY9LXYpLHMuc3dpcGVEaXJlY3Rpb249dj4wPyJwcmV2IjoibmV4dCIsaS5jdXJyZW50VHJhbnNsYXRlPXYraS5zdGFydFRyYW5zbGF0ZTtsZXQgdz0hMCxiPXIucmVzaXN0YW5jZVJhdGlvO2lmKHIudG91Y2hSZWxlYXNlT25FZGdlcyYmKGI9MCksdj4wJiZpLmN1cnJlbnRUcmFuc2xhdGU+cy5taW5UcmFuc2xhdGUoKT8odz0hMSxyLnJlc2lzdGFuY2UmJihpLmN1cnJlbnRUcmFuc2xhdGU9cy5taW5UcmFuc2xhdGUoKS0xKygtcy5taW5UcmFuc2xhdGUoKStpLnN0YXJ0VHJhbnNsYXRlK3YpKipiKSk6djwwJiZpLmN1cnJlbnRUcmFuc2xhdGU8cy5tYXhUcmFuc2xhdGUoKSYmKHc9ITEsci5yZXNpc3RhbmNlJiYoaS5jdXJyZW50VHJhbnNsYXRlPXMubWF4VHJhbnNsYXRlKCkrMS0ocy5tYXhUcmFuc2xhdGUoKS1pLnN0YXJ0VHJhbnNsYXRlLXYpKipiKSksdyYmKGMucHJldmVudGVkQnlOZXN0ZWRTd2lwZXI9ITApLCFzLmFsbG93U2xpZGVOZXh0JiYibmV4dCI9PT1zLnN3aXBlRGlyZWN0aW9uJiZpLmN1cnJlbnRUcmFuc2xhdGU8aS5zdGFydFRyYW5zbGF0ZSYmKGkuY3VycmVudFRyYW5zbGF0ZT1pLnN0YXJ0VHJhbnNsYXRlKSwhcy5hbGxvd1NsaWRlUHJldiYmInByZXYiPT09cy5zd2lwZURpcmVjdGlvbiYmaS5jdXJyZW50VHJhbnNsYXRlPmkuc3RhcnRUcmFuc2xhdGUmJihpLmN1cnJlbnRUcmFuc2xhdGU9aS5zdGFydFRyYW5zbGF0ZSkscy5hbGxvd1NsaWRlUHJldnx8cy5hbGxvd1NsaWRlTmV4dHx8KGkuY3VycmVudFRyYW5zbGF0ZT1pLnN0YXJ0VHJhbnNsYXRlKSxyLnRocmVzaG9sZD4wKXtpZighKE1hdGguYWJzKHYpPnIudGhyZXNob2xkfHxpLmFsbG93VGhyZXNob2xkTW92ZSkpcmV0dXJuIHZvaWQoaS5jdXJyZW50VHJhbnNsYXRlPWkuc3RhcnRUcmFuc2xhdGUpO2lmKCFpLmFsbG93VGhyZXNob2xkTW92ZSlyZXR1cm4gaS5hbGxvd1RocmVzaG9sZE1vdmU9ITAsbi5zdGFydFg9bi5jdXJyZW50WCxuLnN0YXJ0WT1uLmN1cnJlbnRZLGkuY3VycmVudFRyYW5zbGF0ZT1pLnN0YXJ0VHJhbnNsYXRlLHZvaWQobi5kaWZmPXMuaXNIb3Jpem9udGFsKCk/bi5jdXJyZW50WC1uLnN0YXJ0WDpuLmN1cnJlbnRZLW4uc3RhcnRZKX1yLmZvbGxvd0ZpbmdlciYmIXIuY3NzTW9kZSYmKChyLmZyZWVNb2RlJiZyLmZyZWVNb2RlLmVuYWJsZWQmJnMuZnJlZU1vZGV8fHIud2F0Y2hTbGlkZXNQcm9ncmVzcykmJihzLnVwZGF0ZUFjdGl2ZUluZGV4KCkscy51cGRhdGVTbGlkZXNDbGFzc2VzKCkpLHMucGFyYW1zLmZyZWVNb2RlJiZyLmZyZWVNb2RlLmVuYWJsZWQmJnMuZnJlZU1vZGUmJnMuZnJlZU1vZGUub25Ub3VjaE1vdmUoKSxzLnVwZGF0ZVByb2dyZXNzKGkuY3VycmVudFRyYW5zbGF0ZSkscy5zZXRUcmFuc2xhdGUoaS5jdXJyZW50VHJhbnNsYXRlKSl9ZnVuY3Rpb24gSShlKXtjb25zdCB0PXRoaXMscz10LnRvdWNoRXZlbnRzRGF0YSx7cGFyYW1zOmEsdG91Y2hlczppLHJ0bFRyYW5zbGF0ZTpyLHNsaWRlc0dyaWQ6bixlbmFibGVkOmx9PXQ7aWYoIWwpcmV0dXJuO2xldCBvPWU7aWYoby5vcmlnaW5hbEV2ZW50JiYobz1vLm9yaWdpbmFsRXZlbnQpLHMuYWxsb3dUb3VjaENhbGxiYWNrcyYmdC5lbWl0KCJ0b3VjaEVuZCIsbykscy5hbGxvd1RvdWNoQ2FsbGJhY2tzPSExLCFzLmlzVG91Y2hlZClyZXR1cm4gcy5pc01vdmVkJiZhLmdyYWJDdXJzb3ImJnQuc2V0R3JhYkN1cnNvcighMSkscy5pc01vdmVkPSExLHZvaWQocy5zdGFydE1vdmluZz0hMSk7YS5ncmFiQ3Vyc29yJiZzLmlzTW92ZWQmJnMuaXNUb3VjaGVkJiYoITA9PT10LmFsbG93U2xpZGVOZXh0fHwhMD09PXQuYWxsb3dTbGlkZVByZXYpJiZ0LnNldEdyYWJDdXJzb3IoITEpO2NvbnN0IGQ9dSgpLGM9ZC1zLnRvdWNoU3RhcnRUaW1lO2lmKHQuYWxsb3dDbGljayl7Y29uc3QgZT1vLnBhdGh8fG8uY29tcG9zZWRQYXRoJiZvLmNvbXBvc2VkUGF0aCgpO3QudXBkYXRlQ2xpY2tlZFNsaWRlKGUmJmVbMF18fG8udGFyZ2V0KSx0LmVtaXQoInRhcCBjbGljayIsbyksYzwzMDAmJmQtcy5sYXN0Q2xpY2tUaW1lPDMwMCYmdC5lbWl0KCJkb3VibGVUYXAgZG91YmxlQ2xpY2siLG8pfWlmKHMubGFzdENsaWNrVGltZT11KCkscCgoKCk9Pnt0LmRlc3Ryb3llZHx8KHQuYWxsb3dDbGljaz0hMCl9KSksIXMuaXNUb3VjaGVkfHwhcy5pc01vdmVkfHwhdC5zd2lwZURpcmVjdGlvbnx8MD09PWkuZGlmZnx8cy5jdXJyZW50VHJhbnNsYXRlPT09cy5zdGFydFRyYW5zbGF0ZSlyZXR1cm4gcy5pc1RvdWNoZWQ9ITEscy5pc01vdmVkPSExLHZvaWQocy5zdGFydE1vdmluZz0hMSk7bGV0IGg7aWYocy5pc1RvdWNoZWQ9ITEscy5pc01vdmVkPSExLHMuc3RhcnRNb3Zpbmc9ITEsaD1hLmZvbGxvd0Zpbmdlcj9yP3QudHJhbnNsYXRlOi10LnRyYW5zbGF0ZTotcy5jdXJyZW50VHJhbnNsYXRlLGEuY3NzTW9kZSlyZXR1cm47aWYodC5wYXJhbXMuZnJlZU1vZGUmJmEuZnJlZU1vZGUuZW5hYmxlZClyZXR1cm4gdm9pZCB0LmZyZWVNb2RlLm9uVG91Y2hFbmQoe2N1cnJlbnRQb3M6aH0pO2xldCBtPTAsZj10LnNsaWRlc1NpemVzR3JpZFswXTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoO2UrPWU8YS5zbGlkZXNQZXJHcm91cFNraXA/MTphLnNsaWRlc1Blckdyb3VwKXtjb25zdCB0PWU8YS5zbGlkZXNQZXJHcm91cFNraXAtMT8xOmEuc2xpZGVzUGVyR3JvdXA7dm9pZCAwIT09bltlK3RdP2g+PW5bZV0mJmg8bltlK3RdJiYobT1lLGY9bltlK3RdLW5bZV0pOmg+PW5bZV0mJihtPWUsZj1uW24ubGVuZ3RoLTFdLW5bbi5sZW5ndGgtMl0pfWxldCBnPW51bGwsdj1udWxsO2EucmV3aW5kJiYodC5pc0JlZ2lubmluZz92PXQucGFyYW1zLnZpcnR1YWwmJnQucGFyYW1zLnZpcnR1YWwuZW5hYmxlZCYmdC52aXJ0dWFsP3QudmlydHVhbC5zbGlkZXMubGVuZ3RoLTE6dC5zbGlkZXMubGVuZ3RoLTE6dC5pc0VuZCYmKGc9MCkpO2NvbnN0IHc9KGgtblttXSkvZixiPW08YS5zbGlkZXNQZXJHcm91cFNraXAtMT8xOmEuc2xpZGVzUGVyR3JvdXA7aWYoYz5hLmxvbmdTd2lwZXNNcyl7aWYoIWEubG9uZ1N3aXBlcylyZXR1cm4gdm9pZCB0LnNsaWRlVG8odC5hY3RpdmVJbmRleCk7Im5leHQiPT09dC5zd2lwZURpcmVjdGlvbiYmKHc+PWEubG9uZ1N3aXBlc1JhdGlvP3Quc2xpZGVUbyhhLnJld2luZCYmdC5pc0VuZD9nOm0rYik6dC5zbGlkZVRvKG0pKSwicHJldiI9PT10LnN3aXBlRGlyZWN0aW9uJiYodz4xLWEubG9uZ1N3aXBlc1JhdGlvP3Quc2xpZGVUbyhtK2IpOm51bGwhPT12JiZ3PDAmJk1hdGguYWJzKHcpPmEubG9uZ1N3aXBlc1JhdGlvP3Quc2xpZGVUbyh2KTp0LnNsaWRlVG8obSkpfWVsc2V7aWYoIWEuc2hvcnRTd2lwZXMpcmV0dXJuIHZvaWQgdC5zbGlkZVRvKHQuYWN0aXZlSW5kZXgpO3QubmF2aWdhdGlvbiYmKG8udGFyZ2V0PT09dC5uYXZpZ2F0aW9uLm5leHRFbHx8by50YXJnZXQ9PT10Lm5hdmlnYXRpb24ucHJldkVsKT9vLnRhcmdldD09PXQubmF2aWdhdGlvbi5uZXh0RWw/dC5zbGlkZVRvKG0rYik6dC5zbGlkZVRvKG0pOigibmV4dCI9PT10LnN3aXBlRGlyZWN0aW9uJiZ0LnNsaWRlVG8obnVsbCE9PWc/ZzptK2IpLCJwcmV2Ij09PXQuc3dpcGVEaXJlY3Rpb24mJnQuc2xpZGVUbyhudWxsIT09dj92Om0pKX19ZnVuY3Rpb24gQSgpe2NvbnN0IGU9dGhpcyx7cGFyYW1zOnQsZWw6c309ZTtpZihzJiYwPT09cy5vZmZzZXRXaWR0aClyZXR1cm47dC5icmVha3BvaW50cyYmZS5zZXRCcmVha3BvaW50KCk7Y29uc3R7YWxsb3dTbGlkZU5leHQ6YSxhbGxvd1NsaWRlUHJldjppLHNuYXBHcmlkOnJ9PWU7ZS5hbGxvd1NsaWRlTmV4dD0hMCxlLmFsbG93U2xpZGVQcmV2PSEwLGUudXBkYXRlU2l6ZSgpLGUudXBkYXRlU2xpZGVzKCksZS51cGRhdGVTbGlkZXNDbGFzc2VzKCksKCJhdXRvIj09PXQuc2xpZGVzUGVyVmlld3x8dC5zbGlkZXNQZXJWaWV3PjEpJiZlLmlzRW5kJiYhZS5pc0JlZ2lubmluZyYmIWUucGFyYW1zLmNlbnRlcmVkU2xpZGVzP2Uuc2xpZGVUbyhlLnNsaWRlcy5sZW5ndGgtMSwwLCExLCEwKTplLnNsaWRlVG8oZS5hY3RpdmVJbmRleCwwLCExLCEwKSxlLmF1dG9wbGF5JiZlLmF1dG9wbGF5LnJ1bm5pbmcmJmUuYXV0b3BsYXkucGF1c2VkJiZlLmF1dG9wbGF5LnJ1bigpLGUuYWxsb3dTbGlkZVByZXY9aSxlLmFsbG93U2xpZGVOZXh0PWEsZS5wYXJhbXMud2F0Y2hPdmVyZmxvdyYmciE9PWUuc25hcEdyaWQmJmUuY2hlY2tPdmVyZmxvdygpfWZ1bmN0aW9uIEQoZSl7Y29uc3QgdD10aGlzO3QuZW5hYmxlZCYmKHQuYWxsb3dDbGlja3x8KHQucGFyYW1zLnByZXZlbnRDbGlja3MmJmUucHJldmVudERlZmF1bHQoKSx0LnBhcmFtcy5wcmV2ZW50Q2xpY2tzUHJvcGFnYXRpb24mJnQuYW5pbWF0aW5nJiYoZS5zdG9wUHJvcGFnYXRpb24oKSxlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpKSkpfWZ1bmN0aW9uIEcoKXtjb25zdCBlPXRoaXMse3dyYXBwZXJFbDp0LHJ0bFRyYW5zbGF0ZTpzLGVuYWJsZWQ6YX09ZTtpZighYSlyZXR1cm47bGV0IGk7ZS5wcmV2aW91c1RyYW5zbGF0ZT1lLnRyYW5zbGF0ZSxlLmlzSG9yaXpvbnRhbCgpP2UudHJhbnNsYXRlPS10LnNjcm9sbExlZnQ6ZS50cmFuc2xhdGU9LXQuc2Nyb2xsVG9wLDA9PT1lLnRyYW5zbGF0ZSYmKGUudHJhbnNsYXRlPTApLGUudXBkYXRlQWN0aXZlSW5kZXgoKSxlLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKTtjb25zdCByPWUubWF4VHJhbnNsYXRlKCktZS5taW5UcmFuc2xhdGUoKTtpPTA9PT1yPzA6KGUudHJhbnNsYXRlLWUubWluVHJhbnNsYXRlKCkpL3IsaSE9PWUucHJvZ3Jlc3MmJmUudXBkYXRlUHJvZ3Jlc3Mocz8tZS50cmFuc2xhdGU6ZS50cmFuc2xhdGUpLGUuZW1pdCgic2V0VHJhbnNsYXRlIixlLnRyYW5zbGF0ZSwhMSl9bGV0IE49ITE7ZnVuY3Rpb24gQigpe31jb25zdCBIPShlLHQpPT57Y29uc3Qgcz1hKCkse3BhcmFtczppLHRvdWNoRXZlbnRzOnIsZWw6bix3cmFwcGVyRWw6bCxkZXZpY2U6byxzdXBwb3J0OmR9PWUsYz0hIWkubmVzdGVkLHA9Im9uIj09PXQ/ImFkZEV2ZW50TGlzdGVuZXIiOiJyZW1vdmVFdmVudExpc3RlbmVyIix1PXQ7aWYoZC50b3VjaCl7Y29uc3QgdD0hKCJ0b3VjaHN0YXJ0IiE9PXIuc3RhcnR8fCFkLnBhc3NpdmVMaXN0ZW5lcnx8IWkucGFzc2l2ZUxpc3RlbmVycykmJntwYXNzaXZlOiEwLGNhcHR1cmU6ITF9O25bcF0oci5zdGFydCxlLm9uVG91Y2hTdGFydCx0KSxuW3BdKHIubW92ZSxlLm9uVG91Y2hNb3ZlLGQucGFzc2l2ZUxpc3RlbmVyP3twYXNzaXZlOiExLGNhcHR1cmU6Y306YyksbltwXShyLmVuZCxlLm9uVG91Y2hFbmQsdCksci5jYW5jZWwmJm5bcF0oci5jYW5jZWwsZS5vblRvdWNoRW5kLHQpfWVsc2UgbltwXShyLnN0YXJ0LGUub25Ub3VjaFN0YXJ0LCExKSxzW3BdKHIubW92ZSxlLm9uVG91Y2hNb3ZlLGMpLHNbcF0oci5lbmQsZS5vblRvdWNoRW5kLCExKTsoaS5wcmV2ZW50Q2xpY2tzfHxpLnByZXZlbnRDbGlja3NQcm9wYWdhdGlvbikmJm5bcF0oImNsaWNrIixlLm9uQ2xpY2ssITApLGkuY3NzTW9kZSYmbFtwXSgic2Nyb2xsIixlLm9uU2Nyb2xsKSxpLnVwZGF0ZU9uV2luZG93UmVzaXplP2VbdV0oby5pb3N8fG8uYW5kcm9pZD8icmVzaXplIG9yaWVudGF0aW9uY2hhbmdlIG9ic2VydmVyVXBkYXRlIjoicmVzaXplIG9ic2VydmVyVXBkYXRlIixBLCEwKTplW3VdKCJvYnNlcnZlclVwZGF0ZSIsQSwhMCl9O3ZhciBYPXthdHRhY2hFdmVudHM6ZnVuY3Rpb24oKXtjb25zdCBlPXRoaXMsdD1hKCkse3BhcmFtczpzLHN1cHBvcnQ6aX09ZTtlLm9uVG91Y2hTdGFydD1MLmJpbmQoZSksZS5vblRvdWNoTW92ZT1PLmJpbmQoZSksZS5vblRvdWNoRW5kPUkuYmluZChlKSxzLmNzc01vZGUmJihlLm9uU2Nyb2xsPUcuYmluZChlKSksZS5vbkNsaWNrPUQuYmluZChlKSxpLnRvdWNoJiYhTiYmKHQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsQiksTj0hMCksSChlLCJvbiIpfSxkZXRhY2hFdmVudHM6ZnVuY3Rpb24oKXtIKHRoaXMsIm9mZiIpfX07Y29uc3QgWT0oZSx0KT0+ZS5ncmlkJiZ0LmdyaWQmJnQuZ3JpZC5yb3dzPjE7dmFyIFI9e2FkZENsYXNzZXM6ZnVuY3Rpb24oKXtjb25zdCBlPXRoaXMse2NsYXNzTmFtZXM6dCxwYXJhbXM6cyxydGw6YSwkZWw6aSxkZXZpY2U6cixzdXBwb3J0Om59PWUsbD1mdW5jdGlvbihlLHQpe2NvbnN0IHM9W107cmV0dXJuIGUuZm9yRWFjaCgoZT0+eyJvYmplY3QiPT10eXBlb2YgZT9PYmplY3Qua2V5cyhlKS5mb3JFYWNoKChhPT57ZVthXSYmcy5wdXNoKHQrYSl9KSk6InN0cmluZyI9PXR5cGVvZiBlJiZzLnB1c2godCtlKX0pKSxzfShbImluaXRpYWxpemVkIixzLmRpcmVjdGlvbix7InBvaW50ZXItZXZlbnRzIjohbi50b3VjaH0seyJmcmVlLW1vZGUiOmUucGFyYW1zLmZyZWVNb2RlJiZzLmZyZWVNb2RlLmVuYWJsZWR9LHthdXRvaGVpZ2h0OnMuYXV0b0hlaWdodH0se3J0bDphfSx7Z3JpZDpzLmdyaWQmJnMuZ3JpZC5yb3dzPjF9LHsiZ3JpZC1jb2x1bW4iOnMuZ3JpZCYmcy5ncmlkLnJvd3M+MSYmImNvbHVtbiI9PT1zLmdyaWQuZmlsbH0se2FuZHJvaWQ6ci5hbmRyb2lkfSx7aW9zOnIuaW9zfSx7ImNzcy1tb2RlIjpzLmNzc01vZGV9LHtjZW50ZXJlZDpzLmNzc01vZGUmJnMuY2VudGVyZWRTbGlkZXN9LHsid2F0Y2gtcHJvZ3Jlc3MiOnMud2F0Y2hTbGlkZXNQcm9ncmVzc31dLHMuY29udGFpbmVyTW9kaWZpZXJDbGFzcyk7dC5wdXNoKC4uLmwpLGkuYWRkQ2xhc3MoWy4uLnRdLmpvaW4oIiAiKSksZS5lbWl0Q29udGFpbmVyQ2xhc3NlcygpfSxyZW1vdmVDbGFzc2VzOmZ1bmN0aW9uKCl7Y29uc3R7JGVsOmUsY2xhc3NOYW1lczp0fT10aGlzO2UucmVtb3ZlQ2xhc3ModC5qb2luKCIgIikpLHRoaXMuZW1pdENvbnRhaW5lckNsYXNzZXMoKX19O3ZhciBXPXtpbml0OiEwLGRpcmVjdGlvbjoiaG9yaXpvbnRhbCIsdG91Y2hFdmVudHNUYXJnZXQ6IndyYXBwZXIiLGluaXRpYWxTbGlkZTowLHNwZWVkOjMwMCxjc3NNb2RlOiExLHVwZGF0ZU9uV2luZG93UmVzaXplOiEwLHJlc2l6ZU9ic2VydmVyOiEwLG5lc3RlZDohMSxjcmVhdGVFbGVtZW50czohMSxlbmFibGVkOiEwLGZvY3VzYWJsZUVsZW1lbnRzOiJpbnB1dCwgc2VsZWN0LCBvcHRpb24sIHRleHRhcmVhLCBidXR0b24sIHZpZGVvLCBsYWJlbCIsd2lkdGg6bnVsbCxoZWlnaHQ6bnVsbCxwcmV2ZW50SW50ZXJhY3Rpb25PblRyYW5zaXRpb246ITEsdXNlckFnZW50Om51bGwsdXJsOm51bGwsZWRnZVN3aXBlRGV0ZWN0aW9uOiExLGVkZ2VTd2lwZVRocmVzaG9sZDoyMCxhdXRvSGVpZ2h0OiExLHNldFdyYXBwZXJTaXplOiExLHZpcnR1YWxUcmFuc2xhdGU6ITEsZWZmZWN0OiJzbGlkZSIsYnJlYWtwb2ludHM6dm9pZCAwLGJyZWFrcG9pbnRzQmFzZToid2luZG93IixzcGFjZUJldHdlZW46MCxzbGlkZXNQZXJWaWV3OjEsc2xpZGVzUGVyR3JvdXA6MSxzbGlkZXNQZXJHcm91cFNraXA6MCxzbGlkZXNQZXJHcm91cEF1dG86ITEsY2VudGVyZWRTbGlkZXM6ITEsY2VudGVyZWRTbGlkZXNCb3VuZHM6ITEsc2xpZGVzT2Zmc2V0QmVmb3JlOjAsc2xpZGVzT2Zmc2V0QWZ0ZXI6MCxub3JtYWxpemVTbGlkZUluZGV4OiEwLGNlbnRlckluc3VmZmljaWVudFNsaWRlczohMSx3YXRjaE92ZXJmbG93OiEwLHJvdW5kTGVuZ3RoczohMSx0b3VjaFJhdGlvOjEsdG91Y2hBbmdsZTo0NSxzaW11bGF0ZVRvdWNoOiEwLHNob3J0U3dpcGVzOiEwLGxvbmdTd2lwZXM6ITAsbG9uZ1N3aXBlc1JhdGlvOi41LGxvbmdTd2lwZXNNczozMDAsZm9sbG93RmluZ2VyOiEwLGFsbG93VG91Y2hNb3ZlOiEwLHRocmVzaG9sZDowLHRvdWNoTW92ZVN0b3BQcm9wYWdhdGlvbjohMSx0b3VjaFN0YXJ0UHJldmVudERlZmF1bHQ6ITAsdG91Y2hTdGFydEZvcmNlUHJldmVudERlZmF1bHQ6ITEsdG91Y2hSZWxlYXNlT25FZGdlczohMSx1bmlxdWVOYXZFbGVtZW50czohMCxyZXNpc3RhbmNlOiEwLHJlc2lzdGFuY2VSYXRpbzouODUsd2F0Y2hTbGlkZXNQcm9ncmVzczohMSxncmFiQ3Vyc29yOiExLHByZXZlbnRDbGlja3M6ITAscHJldmVudENsaWNrc1Byb3BhZ2F0aW9uOiEwLHNsaWRlVG9DbGlja2VkU2xpZGU6ITEscHJlbG9hZEltYWdlczohMCx1cGRhdGVPbkltYWdlc1JlYWR5OiEwLGxvb3A6ITEsbG9vcEFkZGl0aW9uYWxTbGlkZXM6MCxsb29wZWRTbGlkZXM6bnVsbCxsb29wZWRTbGlkZXNMaW1pdDohMCxsb29wRmlsbEdyb3VwV2l0aEJsYW5rOiExLGxvb3BQcmV2ZW50c1NsaWRlOiEwLHJld2luZDohMSxhbGxvd1NsaWRlUHJldjohMCxhbGxvd1NsaWRlTmV4dDohMCxzd2lwZUhhbmRsZXI6bnVsbCxub1N3aXBpbmc6ITAsbm9Td2lwaW5nQ2xhc3M6InN3aXBlci1uby1zd2lwaW5nIixub1N3aXBpbmdTZWxlY3RvcjpudWxsLHBhc3NpdmVMaXN0ZW5lcnM6ITAsbWF4QmFja2ZhY2VIaWRkZW5TbGlkZXM6MTAsY29udGFpbmVyTW9kaWZpZXJDbGFzczoic3dpcGVyLSIsc2xpZGVDbGFzczoic3dpcGVyLXNsaWRlIixzbGlkZUJsYW5rQ2xhc3M6InN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmsiLHNsaWRlQWN0aXZlQ2xhc3M6InN3aXBlci1zbGlkZS1hY3RpdmUiLHNsaWRlRHVwbGljYXRlQWN0aXZlQ2xhc3M6InN3aXBlci1zbGlkZS1kdXBsaWNhdGUtYWN0aXZlIixzbGlkZVZpc2libGVDbGFzczoic3dpcGVyLXNsaWRlLXZpc2libGUiLHNsaWRlRHVwbGljYXRlQ2xhc3M6InN3aXBlci1zbGlkZS1kdXBsaWNhdGUiLHNsaWRlTmV4dENsYXNzOiJzd2lwZXItc2xpZGUtbmV4dCIsc2xpZGVEdXBsaWNhdGVOZXh0Q2xhc3M6InN3aXBlci1zbGlkZS1kdXBsaWNhdGUtbmV4dCIsc2xpZGVQcmV2Q2xhc3M6InN3aXBlci1zbGlkZS1wcmV2IixzbGlkZUR1cGxpY2F0ZVByZXZDbGFzczoic3dpcGVyLXNsaWRlLWR1cGxpY2F0ZS1wcmV2Iix3cmFwcGVyQ2xhc3M6InN3aXBlci13cmFwcGVyIixydW5DYWxsYmFja3NPbkluaXQ6ITAsX2VtaXRDbGFzc2VzOiExfTtmdW5jdGlvbiBxKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKHMpe3ZvaWQgMD09PXMmJihzPXt9KTtjb25zdCBhPU9iamVjdC5rZXlzKHMpWzBdLGk9c1thXTsib2JqZWN0Ij09dHlwZW9mIGkmJm51bGwhPT1pPyhbIm5hdmlnYXRpb24iLCJwYWdpbmF0aW9uIiwic2Nyb2xsYmFyIl0uaW5kZXhPZihhKT49MCYmITA9PT1lW2FdJiYoZVthXT17YXV0bzohMH0pLGEgaW4gZSYmImVuYWJsZWQiaW4gaT8oITA9PT1lW2FdJiYoZVthXT17ZW5hYmxlZDohMH0pLCJvYmplY3QiIT10eXBlb2YgZVthXXx8ImVuYWJsZWQiaW4gZVthXXx8KGVbYV0uZW5hYmxlZD0hMCksZVthXXx8KGVbYV09e2VuYWJsZWQ6ITF9KSxnKHQscykpOmcodCxzKSk6Zyh0LHMpfX1jb25zdCBqPXtldmVudHNFbWl0dGVyOiQsdXBkYXRlOlMsdHJhbnNsYXRlOk0sdHJhbnNpdGlvbjp7c2V0VHJhbnNpdGlvbjpmdW5jdGlvbihlLHQpe2NvbnN0IHM9dGhpcztzLnBhcmFtcy5jc3NNb2RlfHxzLiR3cmFwcGVyRWwudHJhbnNpdGlvbihlKSxzLmVtaXQoInNldFRyYW5zaXRpb24iLGUsdCl9LHRyYW5zaXRpb25TdGFydDpmdW5jdGlvbihlLHQpe3ZvaWQgMD09PWUmJihlPSEwKTtjb25zdCBzPXRoaXMse3BhcmFtczphfT1zO2EuY3NzTW9kZXx8KGEuYXV0b0hlaWdodCYmcy51cGRhdGVBdXRvSGVpZ2h0KCksUCh7c3dpcGVyOnMscnVuQ2FsbGJhY2tzOmUsZGlyZWN0aW9uOnQsc3RlcDoiU3RhcnQifSkpfSx0cmFuc2l0aW9uRW5kOmZ1bmN0aW9uKGUsdCl7dm9pZCAwPT09ZSYmKGU9ITApO2NvbnN0IHM9dGhpcyx7cGFyYW1zOmF9PXM7cy5hbmltYXRpbmc9ITEsYS5jc3NNb2RlfHwocy5zZXRUcmFuc2l0aW9uKDApLFAoe3N3aXBlcjpzLHJ1bkNhbGxiYWNrczplLGRpcmVjdGlvbjp0LHN0ZXA6IkVuZCJ9KSl9fSxzbGlkZTprLGxvb3A6eixncmFiQ3Vyc29yOntzZXRHcmFiQ3Vyc29yOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9dGhpcztpZih0LnN1cHBvcnQudG91Y2h8fCF0LnBhcmFtcy5zaW11bGF0ZVRvdWNofHx0LnBhcmFtcy53YXRjaE92ZXJmbG93JiZ0LmlzTG9ja2VkfHx0LnBhcmFtcy5jc3NNb2RlKXJldHVybjtjb25zdCBzPSJjb250YWluZXIiPT09dC5wYXJhbXMudG91Y2hFdmVudHNUYXJnZXQ/dC5lbDp0LndyYXBwZXJFbDtzLnN0eWxlLmN1cnNvcj0ibW92ZSIscy5zdHlsZS5jdXJzb3I9ZT8iZ3JhYmJpbmciOiJncmFiIn0sdW5zZXRHcmFiQ3Vyc29yOmZ1bmN0aW9uKCl7Y29uc3QgZT10aGlzO2Uuc3VwcG9ydC50b3VjaHx8ZS5wYXJhbXMud2F0Y2hPdmVyZmxvdyYmZS5pc0xvY2tlZHx8ZS5wYXJhbXMuY3NzTW9kZXx8KGVbImNvbnRhaW5lciI9PT1lLnBhcmFtcy50b3VjaEV2ZW50c1RhcmdldD8iZWwiOiJ3cmFwcGVyRWwiXS5zdHlsZS5jdXJzb3I9IiIpfX0sZXZlbnRzOlgsYnJlYWtwb2ludHM6e3NldEJyZWFrcG9pbnQ6ZnVuY3Rpb24oKXtjb25zdCBlPXRoaXMse2FjdGl2ZUluZGV4OnQsaW5pdGlhbGl6ZWQ6cyxsb29wZWRTbGlkZXM6YT0wLHBhcmFtczppLCRlbDpyfT1lLG49aS5icmVha3BvaW50cztpZighbnx8biYmMD09PU9iamVjdC5rZXlzKG4pLmxlbmd0aClyZXR1cm47Y29uc3QgbD1lLmdldEJyZWFrcG9pbnQobixlLnBhcmFtcy5icmVha3BvaW50c0Jhc2UsZS5lbCk7aWYoIWx8fGUuY3VycmVudEJyZWFrcG9pbnQ9PT1sKXJldHVybjtjb25zdCBvPShsIGluIG4/bltsXTp2b2lkIDApfHxlLm9yaWdpbmFsUGFyYW1zLGQ9WShlLGkpLGM9WShlLG8pLHA9aS5lbmFibGVkO2QmJiFjPyhyLnJlbW92ZUNsYXNzKGAke2kuY29udGFpbmVyTW9kaWZpZXJDbGFzc31ncmlkICR7aS5jb250YWluZXJNb2RpZmllckNsYXNzfWdyaWQtY29sdW1uYCksZS5lbWl0Q29udGFpbmVyQ2xhc3NlcygpKTohZCYmYyYmKHIuYWRkQ2xhc3MoYCR7aS5jb250YWluZXJNb2RpZmllckNsYXNzfWdyaWRgKSwoby5ncmlkLmZpbGwmJiJjb2x1bW4iPT09by5ncmlkLmZpbGx8fCFvLmdyaWQuZmlsbCYmImNvbHVtbiI9PT1pLmdyaWQuZmlsbCkmJnIuYWRkQ2xhc3MoYCR7aS5jb250YWluZXJNb2RpZmllckNsYXNzfWdyaWQtY29sdW1uYCksZS5lbWl0Q29udGFpbmVyQ2xhc3NlcygpKSxbIm5hdmlnYXRpb24iLCJwYWdpbmF0aW9uIiwic2Nyb2xsYmFyIl0uZm9yRWFjaCgodD0+e2NvbnN0IHM9aVt0XSYmaVt0XS5lbmFibGVkLGE9b1t0XSYmb1t0XS5lbmFibGVkO3MmJiFhJiZlW3RdLmRpc2FibGUoKSwhcyYmYSYmZVt0XS5lbmFibGUoKX0pKTtjb25zdCB1PW8uZGlyZWN0aW9uJiZvLmRpcmVjdGlvbiE9PWkuZGlyZWN0aW9uLGg9aS5sb29wJiYoby5zbGlkZXNQZXJWaWV3IT09aS5zbGlkZXNQZXJWaWV3fHx1KTt1JiZzJiZlLmNoYW5nZURpcmVjdGlvbigpLGcoZS5wYXJhbXMsbyk7Y29uc3QgbT1lLnBhcmFtcy5lbmFibGVkO09iamVjdC5hc3NpZ24oZSx7YWxsb3dUb3VjaE1vdmU6ZS5wYXJhbXMuYWxsb3dUb3VjaE1vdmUsYWxsb3dTbGlkZU5leHQ6ZS5wYXJhbXMuYWxsb3dTbGlkZU5leHQsYWxsb3dTbGlkZVByZXY6ZS5wYXJhbXMuYWxsb3dTbGlkZVByZXZ9KSxwJiYhbT9lLmRpc2FibGUoKTohcCYmbSYmZS5lbmFibGUoKSxlLmN1cnJlbnRCcmVha3BvaW50PWwsZS5lbWl0KCJfYmVmb3JlQnJlYWtwb2ludCIsbyksaCYmcyYmKGUubG9vcERlc3Ryb3koKSxlLmxvb3BDcmVhdGUoKSxlLnVwZGF0ZVNsaWRlcygpLGUuc2xpZGVUbyh0LWErZS5sb29wZWRTbGlkZXMsMCwhMSkpLGUuZW1pdCgiYnJlYWtwb2ludCIsbyl9LGdldEJyZWFrcG9pbnQ6ZnVuY3Rpb24oZSx0LHMpe2lmKHZvaWQgMD09PXQmJih0PSJ3aW5kb3ciKSwhZXx8ImNvbnRhaW5lciI9PT10JiYhcylyZXR1cm47bGV0IGE9ITE7Y29uc3QgaT1yKCksbj0id2luZG93Ij09PXQ/aS5pbm5lckhlaWdodDpzLmNsaWVudEhlaWdodCxsPU9iamVjdC5rZXlzKGUpLm1hcCgoZT0+e2lmKCJzdHJpbmciPT10eXBlb2YgZSYmMD09PWUuaW5kZXhPZigiQCIpKXtjb25zdCB0PXBhcnNlRmxvYXQoZS5zdWJzdHIoMSkpO3JldHVybnt2YWx1ZTpuKnQscG9pbnQ6ZX19cmV0dXJue3ZhbHVlOmUscG9pbnQ6ZX19KSk7bC5zb3J0KCgoZSx0KT0+cGFyc2VJbnQoZS52YWx1ZSwxMCktcGFyc2VJbnQodC52YWx1ZSwxMCkpKTtmb3IobGV0IGU9MDtlPGwubGVuZ3RoO2UrPTEpe2NvbnN0e3BvaW50OnIsdmFsdWU6bn09bFtlXTsid2luZG93Ij09PXQ/aS5tYXRjaE1lZGlhKGAobWluLXdpZHRoOiAke259cHgpYCkubWF0Y2hlcyYmKGE9cik6bjw9cy5jbGllbnRXaWR0aCYmKGE9cil9cmV0dXJuIGF8fCJtYXgifX0sY2hlY2tPdmVyZmxvdzp7Y2hlY2tPdmVyZmxvdzpmdW5jdGlvbigpe2NvbnN0IGU9dGhpcyx7aXNMb2NrZWQ6dCxwYXJhbXM6c309ZSx7c2xpZGVzT2Zmc2V0QmVmb3JlOmF9PXM7aWYoYSl7Y29uc3QgdD1lLnNsaWRlcy5sZW5ndGgtMSxzPWUuc2xpZGVzR3JpZFt0XStlLnNsaWRlc1NpemVzR3JpZFt0XSsyKmE7ZS5pc0xvY2tlZD1lLnNpemU+c31lbHNlIGUuaXNMb2NrZWQ9MT09PWUuc25hcEdyaWQubGVuZ3RoOyEwPT09cy5hbGxvd1NsaWRlTmV4dCYmKGUuYWxsb3dTbGlkZU5leHQ9IWUuaXNMb2NrZWQpLCEwPT09cy5hbGxvd1NsaWRlUHJldiYmKGUuYWxsb3dTbGlkZVByZXY9IWUuaXNMb2NrZWQpLHQmJnQhPT1lLmlzTG9ja2VkJiYoZS5pc0VuZD0hMSksdCE9PWUuaXNMb2NrZWQmJmUuZW1pdChlLmlzTG9ja2VkPyJsb2NrIjoidW5sb2NrIil9fSxjbGFzc2VzOlIsaW1hZ2VzOntsb2FkSW1hZ2U6ZnVuY3Rpb24oZSx0LHMsYSxpLG4pe2NvbnN0IGw9cigpO2xldCBvO2Z1bmN0aW9uIGMoKXtuJiZuKCl9ZChlKS5wYXJlbnQoInBpY3R1cmUiKVswXXx8ZS5jb21wbGV0ZSYmaT9jKCk6dD8obz1uZXcgbC5JbWFnZSxvLm9ubG9hZD1jLG8ub25lcnJvcj1jLGEmJihvLnNpemVzPWEpLHMmJihvLnNyY3NldD1zKSx0JiYoby5zcmM9dCkpOmMoKX0scHJlbG9hZEltYWdlczpmdW5jdGlvbigpe2NvbnN0IGU9dGhpcztmdW5jdGlvbiB0KCl7bnVsbCE9ZSYmZSYmIWUuZGVzdHJveWVkJiYodm9pZCAwIT09ZS5pbWFnZXNMb2FkZWQmJihlLmltYWdlc0xvYWRlZCs9MSksZS5pbWFnZXNMb2FkZWQ9PT1lLmltYWdlc1RvTG9hZC5sZW5ndGgmJihlLnBhcmFtcy51cGRhdGVPbkltYWdlc1JlYWR5JiZlLnVwZGF0ZSgpLGUuZW1pdCgiaW1hZ2VzUmVhZHkiKSkpfWUuaW1hZ2VzVG9Mb2FkPWUuJGVsLmZpbmQoImltZyIpO2ZvcihsZXQgcz0wO3M8ZS5pbWFnZXNUb0xvYWQubGVuZ3RoO3MrPTEpe2NvbnN0IGE9ZS5pbWFnZXNUb0xvYWRbc107ZS5sb2FkSW1hZ2UoYSxhLmN1cnJlbnRTcmN8fGEuZ2V0QXR0cmlidXRlKCJzcmMiKSxhLnNyY3NldHx8YS5nZXRBdHRyaWJ1dGUoInNyY3NldCIpLGEuc2l6ZXN8fGEuZ2V0QXR0cmlidXRlKCJzaXplcyIpLCEwLHQpfX19fSxfPXt9O2NsYXNzIFZ7Y29uc3RydWN0b3IoKXtsZXQgZSx0O2Zvcih2YXIgcz1hcmd1bWVudHMubGVuZ3RoLGE9bmV3IEFycmF5KHMpLGk9MDtpPHM7aSsrKWFbaV09YXJndW1lbnRzW2ldO2lmKDE9PT1hLmxlbmd0aCYmYVswXS5jb25zdHJ1Y3RvciYmIk9iamVjdCI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYVswXSkuc2xpY2UoOCwtMSk/dD1hWzBdOltlLHRdPWEsdHx8KHQ9e30pLHQ9Zyh7fSx0KSxlJiYhdC5lbCYmKHQuZWw9ZSksdC5lbCYmZCh0LmVsKS5sZW5ndGg+MSl7Y29uc3QgZT1bXTtyZXR1cm4gZCh0LmVsKS5lYWNoKChzPT57Y29uc3QgYT1nKHt9LHQse2VsOnN9KTtlLnB1c2gobmV3IFYoYSkpfSkpLGV9Y29uc3Qgcj10aGlzO3IuX19zd2lwZXJfXz0hMCxyLnN1cHBvcnQ9RSgpLHIuZGV2aWNlPUMoe3VzZXJBZ2VudDp0LnVzZXJBZ2VudH0pLHIuYnJvd3Nlcj1UKCksci5ldmVudHNMaXN0ZW5lcnM9e30sci5ldmVudHNBbnlMaXN0ZW5lcnM9W10sci5tb2R1bGVzPVsuLi5yLl9fbW9kdWxlc19fXSx0Lm1vZHVsZXMmJkFycmF5LmlzQXJyYXkodC5tb2R1bGVzKSYmci5tb2R1bGVzLnB1c2goLi4udC5tb2R1bGVzKTtjb25zdCBuPXt9O3IubW9kdWxlcy5mb3JFYWNoKChlPT57ZSh7c3dpcGVyOnIsZXh0ZW5kUGFyYW1zOnEodCxuKSxvbjpyLm9uLmJpbmQociksb25jZTpyLm9uY2UuYmluZChyKSxvZmY6ci5vZmYuYmluZChyKSxlbWl0OnIuZW1pdC5iaW5kKHIpfSl9KSk7Y29uc3QgbD1nKHt9LFcsbik7cmV0dXJuIHIucGFyYW1zPWcoe30sbCxfLHQpLHIub3JpZ2luYWxQYXJhbXM9Zyh7fSxyLnBhcmFtcyksci5wYXNzZWRQYXJhbXM9Zyh7fSx0KSxyLnBhcmFtcyYmci5wYXJhbXMub24mJk9iamVjdC5rZXlzKHIucGFyYW1zLm9uKS5mb3JFYWNoKChlPT57ci5vbihlLHIucGFyYW1zLm9uW2VdKX0pKSxyLnBhcmFtcyYmci5wYXJhbXMub25BbnkmJnIub25Bbnkoci5wYXJhbXMub25BbnkpLHIuJD1kLE9iamVjdC5hc3NpZ24ocix7ZW5hYmxlZDpyLnBhcmFtcy5lbmFibGVkLGVsOmUsY2xhc3NOYW1lczpbXSxzbGlkZXM6ZCgpLHNsaWRlc0dyaWQ6W10sc25hcEdyaWQ6W10sc2xpZGVzU2l6ZXNHcmlkOltdLGlzSG9yaXpvbnRhbDooKT0+Imhvcml6b250YWwiPT09ci5wYXJhbXMuZGlyZWN0aW9uLGlzVmVydGljYWw6KCk9PiJ2ZXJ0aWNhbCI9PT1yLnBhcmFtcy5kaXJlY3Rpb24sYWN0aXZlSW5kZXg6MCxyZWFsSW5kZXg6MCxpc0JlZ2lubmluZzohMCxpc0VuZDohMSx0cmFuc2xhdGU6MCxwcmV2aW91c1RyYW5zbGF0ZTowLHByb2dyZXNzOjAsdmVsb2NpdHk6MCxhbmltYXRpbmc6ITEsYWxsb3dTbGlkZU5leHQ6ci5wYXJhbXMuYWxsb3dTbGlkZU5leHQsYWxsb3dTbGlkZVByZXY6ci5wYXJhbXMuYWxsb3dTbGlkZVByZXYsdG91Y2hFdmVudHM6ZnVuY3Rpb24oKXtjb25zdCBlPVsidG91Y2hzdGFydCIsInRvdWNobW92ZSIsInRvdWNoZW5kIiwidG91Y2hjYW5jZWwiXSx0PVsicG9pbnRlcmRvd24iLCJwb2ludGVybW92ZSIsInBvaW50ZXJ1cCJdO3JldHVybiByLnRvdWNoRXZlbnRzVG91Y2g9e3N0YXJ0OmVbMF0sbW92ZTplWzFdLGVuZDplWzJdLGNhbmNlbDplWzNdfSxyLnRvdWNoRXZlbnRzRGVza3RvcD17c3RhcnQ6dFswXSxtb3ZlOnRbMV0sZW5kOnRbMl19LHIuc3VwcG9ydC50b3VjaHx8IXIucGFyYW1zLnNpbXVsYXRlVG91Y2g/ci50b3VjaEV2ZW50c1RvdWNoOnIudG91Y2hFdmVudHNEZXNrdG9wfSgpLHRvdWNoRXZlbnRzRGF0YTp7aXNUb3VjaGVkOnZvaWQgMCxpc01vdmVkOnZvaWQgMCxhbGxvd1RvdWNoQ2FsbGJhY2tzOnZvaWQgMCx0b3VjaFN0YXJ0VGltZTp2b2lkIDAsaXNTY3JvbGxpbmc6dm9pZCAwLGN1cnJlbnRUcmFuc2xhdGU6dm9pZCAwLHN0YXJ0VHJhbnNsYXRlOnZvaWQgMCxhbGxvd1RocmVzaG9sZE1vdmU6dm9pZCAwLGZvY3VzYWJsZUVsZW1lbnRzOnIucGFyYW1zLmZvY3VzYWJsZUVsZW1lbnRzLGxhc3RDbGlja1RpbWU6dSgpLGNsaWNrVGltZW91dDp2b2lkIDAsdmVsb2NpdGllczpbXSxhbGxvd01vbWVudHVtQm91bmNlOnZvaWQgMCxpc1RvdWNoRXZlbnQ6dm9pZCAwLHN0YXJ0TW92aW5nOnZvaWQgMH0sYWxsb3dDbGljazohMCxhbGxvd1RvdWNoTW92ZTpyLnBhcmFtcy5hbGxvd1RvdWNoTW92ZSx0b3VjaGVzOntzdGFydFg6MCxzdGFydFk6MCxjdXJyZW50WDowLGN1cnJlbnRZOjAsZGlmZjowfSxpbWFnZXNUb0xvYWQ6W10saW1hZ2VzTG9hZGVkOjB9KSxyLmVtaXQoIl9zd2lwZXIiKSxyLnBhcmFtcy5pbml0JiZyLmluaXQoKSxyfWVuYWJsZSgpe2NvbnN0IGU9dGhpcztlLmVuYWJsZWR8fChlLmVuYWJsZWQ9ITAsZS5wYXJhbXMuZ3JhYkN1cnNvciYmZS5zZXRHcmFiQ3Vyc29yKCksZS5lbWl0KCJlbmFibGUiKSl9ZGlzYWJsZSgpe2NvbnN0IGU9dGhpcztlLmVuYWJsZWQmJihlLmVuYWJsZWQ9ITEsZS5wYXJhbXMuZ3JhYkN1cnNvciYmZS51bnNldEdyYWJDdXJzb3IoKSxlLmVtaXQoImRpc2FibGUiKSl9c2V0UHJvZ3Jlc3MoZSx0KXtjb25zdCBzPXRoaXM7ZT1NYXRoLm1pbihNYXRoLm1heChlLDApLDEpO2NvbnN0IGE9cy5taW5UcmFuc2xhdGUoKSxpPShzLm1heFRyYW5zbGF0ZSgpLWEpKmUrYTtzLnRyYW5zbGF0ZVRvKGksdm9pZCAwPT09dD8wOnQpLHMudXBkYXRlQWN0aXZlSW5kZXgoKSxzLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKX1lbWl0Q29udGFpbmVyQ2xhc3Nlcygpe2NvbnN0IGU9dGhpcztpZighZS5wYXJhbXMuX2VtaXRDbGFzc2VzfHwhZS5lbClyZXR1cm47Y29uc3QgdD1lLmVsLmNsYXNzTmFtZS5zcGxpdCgiICIpLmZpbHRlcigodD0+MD09PXQuaW5kZXhPZigic3dpcGVyIil8fDA9PT10LmluZGV4T2YoZS5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzcykpKTtlLmVtaXQoIl9jb250YWluZXJDbGFzc2VzIix0LmpvaW4oIiAiKSl9Z2V0U2xpZGVDbGFzc2VzKGUpe2NvbnN0IHQ9dGhpcztyZXR1cm4gdC5kZXN0cm95ZWQ/IiI6ZS5jbGFzc05hbWUuc3BsaXQoIiAiKS5maWx0ZXIoKGU9PjA9PT1lLmluZGV4T2YoInN3aXBlci1zbGlkZSIpfHwwPT09ZS5pbmRleE9mKHQucGFyYW1zLnNsaWRlQ2xhc3MpKSkuam9pbigiICIpfWVtaXRTbGlkZXNDbGFzc2VzKCl7Y29uc3QgZT10aGlzO2lmKCFlLnBhcmFtcy5fZW1pdENsYXNzZXN8fCFlLmVsKXJldHVybjtjb25zdCB0PVtdO2Uuc2xpZGVzLmVhY2goKHM9Pntjb25zdCBhPWUuZ2V0U2xpZGVDbGFzc2VzKHMpO3QucHVzaCh7c2xpZGVFbDpzLGNsYXNzTmFtZXM6YX0pLGUuZW1pdCgiX3NsaWRlQ2xhc3MiLHMsYSl9KSksZS5lbWl0KCJfc2xpZGVDbGFzc2VzIix0KX1zbGlkZXNQZXJWaWV3RHluYW1pYyhlLHQpe3ZvaWQgMD09PWUmJihlPSJjdXJyZW50Iiksdm9pZCAwPT09dCYmKHQ9ITEpO2NvbnN0e3BhcmFtczpzLHNsaWRlczphLHNsaWRlc0dyaWQ6aSxzbGlkZXNTaXplc0dyaWQ6cixzaXplOm4sYWN0aXZlSW5kZXg6bH09dGhpcztsZXQgbz0xO2lmKHMuY2VudGVyZWRTbGlkZXMpe2xldCBlLHQ9YVtsXS5zd2lwZXJTbGlkZVNpemU7Zm9yKGxldCBzPWwrMTtzPGEubGVuZ3RoO3MrPTEpYVtzXSYmIWUmJih0Kz1hW3NdLnN3aXBlclNsaWRlU2l6ZSxvKz0xLHQ+biYmKGU9ITApKTtmb3IobGV0IHM9bC0xO3M+PTA7cy09MSlhW3NdJiYhZSYmKHQrPWFbc10uc3dpcGVyU2xpZGVTaXplLG8rPTEsdD5uJiYoZT0hMCkpfWVsc2UgaWYoImN1cnJlbnQiPT09ZSlmb3IobGV0IGU9bCsxO2U8YS5sZW5ndGg7ZSs9MSl7KHQ/aVtlXStyW2VdLWlbbF08bjppW2VdLWlbbF08bikmJihvKz0xKX1lbHNlIGZvcihsZXQgZT1sLTE7ZT49MDtlLT0xKXtpW2xdLWlbZV08biYmKG8rPTEpfXJldHVybiBvfXVwZGF0ZSgpe2NvbnN0IGU9dGhpcztpZighZXx8ZS5kZXN0cm95ZWQpcmV0dXJuO2NvbnN0e3NuYXBHcmlkOnQscGFyYW1zOnN9PWU7ZnVuY3Rpb24gYSgpe2NvbnN0IHQ9ZS5ydGxUcmFuc2xhdGU/LTEqZS50cmFuc2xhdGU6ZS50cmFuc2xhdGUscz1NYXRoLm1pbihNYXRoLm1heCh0LGUubWF4VHJhbnNsYXRlKCkpLGUubWluVHJhbnNsYXRlKCkpO2Uuc2V0VHJhbnNsYXRlKHMpLGUudXBkYXRlQWN0aXZlSW5kZXgoKSxlLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKX1sZXQgaTtzLmJyZWFrcG9pbnRzJiZlLnNldEJyZWFrcG9pbnQoKSxlLnVwZGF0ZVNpemUoKSxlLnVwZGF0ZVNsaWRlcygpLGUudXBkYXRlUHJvZ3Jlc3MoKSxlLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKSxlLnBhcmFtcy5mcmVlTW9kZSYmZS5wYXJhbXMuZnJlZU1vZGUuZW5hYmxlZD8oYSgpLGUucGFyYW1zLmF1dG9IZWlnaHQmJmUudXBkYXRlQXV0b0hlaWdodCgpKTooaT0oImF1dG8iPT09ZS5wYXJhbXMuc2xpZGVzUGVyVmlld3x8ZS5wYXJhbXMuc2xpZGVzUGVyVmlldz4xKSYmZS5pc0VuZCYmIWUucGFyYW1zLmNlbnRlcmVkU2xpZGVzP2Uuc2xpZGVUbyhlLnNsaWRlcy5sZW5ndGgtMSwwLCExLCEwKTplLnNsaWRlVG8oZS5hY3RpdmVJbmRleCwwLCExLCEwKSxpfHxhKCkpLHMud2F0Y2hPdmVyZmxvdyYmdCE9PWUuc25hcEdyaWQmJmUuY2hlY2tPdmVyZmxvdygpLGUuZW1pdCgidXBkYXRlIil9Y2hhbmdlRGlyZWN0aW9uKGUsdCl7dm9pZCAwPT09dCYmKHQ9ITApO2NvbnN0IHM9dGhpcyxhPXMucGFyYW1zLmRpcmVjdGlvbjtyZXR1cm4gZXx8KGU9Imhvcml6b250YWwiPT09YT8idmVydGljYWwiOiJob3Jpem9udGFsIiksZT09PWF8fCJob3Jpem9udGFsIiE9PWUmJiJ2ZXJ0aWNhbCIhPT1lfHwocy4kZWwucmVtb3ZlQ2xhc3MoYCR7cy5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzc30ke2F9YCkuYWRkQ2xhc3MoYCR7cy5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzc30ke2V9YCkscy5lbWl0Q29udGFpbmVyQ2xhc3NlcygpLHMucGFyYW1zLmRpcmVjdGlvbj1lLHMuc2xpZGVzLmVhY2goKHQ9PnsidmVydGljYWwiPT09ZT90LnN0eWxlLndpZHRoPSIiOnQuc3R5bGUuaGVpZ2h0PSIifSkpLHMuZW1pdCgiY2hhbmdlRGlyZWN0aW9uIiksdCYmcy51cGRhdGUoKSksc31jaGFuZ2VMYW5ndWFnZURpcmVjdGlvbihlKXtjb25zdCB0PXRoaXM7dC5ydGwmJiJydGwiPT09ZXx8IXQucnRsJiYibHRyIj09PWV8fCh0LnJ0bD0icnRsIj09PWUsdC5ydGxUcmFuc2xhdGU9Imhvcml6b250YWwiPT09dC5wYXJhbXMuZGlyZWN0aW9uJiZ0LnJ0bCx0LnJ0bD8odC4kZWwuYWRkQ2xhc3MoYCR7dC5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzc31ydGxgKSx0LmVsLmRpcj0icnRsIik6KHQuJGVsLnJlbW92ZUNsYXNzKGAke3QucGFyYW1zLmNvbnRhaW5lck1vZGlmaWVyQ2xhc3N9cnRsYCksdC5lbC5kaXI9Imx0ciIpLHQudXBkYXRlKCkpfW1vdW50KGUpe2NvbnN0IHQ9dGhpcztpZih0Lm1vdW50ZWQpcmV0dXJuITA7Y29uc3Qgcz1kKGV8fHQucGFyYW1zLmVsKTtpZighKGU9c1swXSkpcmV0dXJuITE7ZS5zd2lwZXI9dDtjb25zdCBpPSgpPT5gLiR7KHQucGFyYW1zLndyYXBwZXJDbGFzc3x8IiIpLnRyaW0oKS5zcGxpdCgiICIpLmpvaW4oIi4iKX1gO2xldCByPSgoKT0+e2lmKGUmJmUuc2hhZG93Um9vdCYmZS5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3Ipe2NvbnN0IHQ9ZChlLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcihpKCkpKTtyZXR1cm4gdC5jaGlsZHJlbj1lPT5zLmNoaWxkcmVuKGUpLHR9cmV0dXJuIHMuY2hpbGRyZW4/cy5jaGlsZHJlbihpKCkpOmQocykuY2hpbGRyZW4oaSgpKX0pKCk7aWYoMD09PXIubGVuZ3RoJiZ0LnBhcmFtcy5jcmVhdGVFbGVtZW50cyl7Y29uc3QgZT1hKCkuY3JlYXRlRWxlbWVudCgiZGl2Iik7cj1kKGUpLGUuY2xhc3NOYW1lPXQucGFyYW1zLndyYXBwZXJDbGFzcyxzLmFwcGVuZChlKSxzLmNoaWxkcmVuKGAuJHt0LnBhcmFtcy5zbGlkZUNsYXNzfWApLmVhY2goKGU9PntyLmFwcGVuZChlKX0pKX1yZXR1cm4gT2JqZWN0LmFzc2lnbih0LHskZWw6cyxlbDplLCR3cmFwcGVyRWw6cix3cmFwcGVyRWw6clswXSxtb3VudGVkOiEwLHJ0bDoicnRsIj09PWUuZGlyLnRvTG93ZXJDYXNlKCl8fCJydGwiPT09cy5jc3MoImRpcmVjdGlvbiIpLHJ0bFRyYW5zbGF0ZToiaG9yaXpvbnRhbCI9PT10LnBhcmFtcy5kaXJlY3Rpb24mJigicnRsIj09PWUuZGlyLnRvTG93ZXJDYXNlKCl8fCJydGwiPT09cy5jc3MoImRpcmVjdGlvbiIpKSx3cm9uZ1JUTDoiLXdlYmtpdC1ib3giPT09ci5jc3MoImRpc3BsYXkiKX0pLCEwfWluaXQoZSl7Y29uc3QgdD10aGlzO2lmKHQuaW5pdGlhbGl6ZWQpcmV0dXJuIHQ7cmV0dXJuITE9PT10Lm1vdW50KGUpfHwodC5lbWl0KCJiZWZvcmVJbml0IiksdC5wYXJhbXMuYnJlYWtwb2ludHMmJnQuc2V0QnJlYWtwb2ludCgpLHQuYWRkQ2xhc3NlcygpLHQucGFyYW1zLmxvb3AmJnQubG9vcENyZWF0ZSgpLHQudXBkYXRlU2l6ZSgpLHQudXBkYXRlU2xpZGVzKCksdC5wYXJhbXMud2F0Y2hPdmVyZmxvdyYmdC5jaGVja092ZXJmbG93KCksdC5wYXJhbXMuZ3JhYkN1cnNvciYmdC5lbmFibGVkJiZ0LnNldEdyYWJDdXJzb3IoKSx0LnBhcmFtcy5wcmVsb2FkSW1hZ2VzJiZ0LnByZWxvYWRJbWFnZXMoKSx0LnBhcmFtcy5sb29wP3Quc2xpZGVUbyh0LnBhcmFtcy5pbml0aWFsU2xpZGUrdC5sb29wZWRTbGlkZXMsMCx0LnBhcmFtcy5ydW5DYWxsYmFja3NPbkluaXQsITEsITApOnQuc2xpZGVUbyh0LnBhcmFtcy5pbml0aWFsU2xpZGUsMCx0LnBhcmFtcy5ydW5DYWxsYmFja3NPbkluaXQsITEsITApLHQuYXR0YWNoRXZlbnRzKCksdC5pbml0aWFsaXplZD0hMCx0LmVtaXQoImluaXQiKSx0LmVtaXQoImFmdGVySW5pdCIpKSx0fWRlc3Ryb3koZSx0KXt2b2lkIDA9PT1lJiYoZT0hMCksdm9pZCAwPT09dCYmKHQ9ITApO2NvbnN0IHM9dGhpcyx7cGFyYW1zOmEsJGVsOmksJHdyYXBwZXJFbDpyLHNsaWRlczpufT1zO3JldHVybiB2b2lkIDA9PT1zLnBhcmFtc3x8cy5kZXN0cm95ZWR8fChzLmVtaXQoImJlZm9yZURlc3Ryb3kiKSxzLmluaXRpYWxpemVkPSExLHMuZGV0YWNoRXZlbnRzKCksYS5sb29wJiZzLmxvb3BEZXN0cm95KCksdCYmKHMucmVtb3ZlQ2xhc3NlcygpLGkucmVtb3ZlQXR0cigic3R5bGUiKSxyLnJlbW92ZUF0dHIoInN0eWxlIiksbiYmbi5sZW5ndGgmJm4ucmVtb3ZlQ2xhc3MoW2Euc2xpZGVWaXNpYmxlQ2xhc3MsYS5zbGlkZUFjdGl2ZUNsYXNzLGEuc2xpZGVOZXh0Q2xhc3MsYS5zbGlkZVByZXZDbGFzc10uam9pbigiICIpKS5yZW1vdmVBdHRyKCJzdHlsZSIpLnJlbW92ZUF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4IikpLHMuZW1pdCgiZGVzdHJveSIpLE9iamVjdC5rZXlzKHMuZXZlbnRzTGlzdGVuZXJzKS5mb3JFYWNoKChlPT57cy5vZmYoZSl9KSksITEhPT1lJiYocy4kZWxbMF0uc3dpcGVyPW51bGwsZnVuY3Rpb24oZSl7Y29uc3QgdD1lO09iamVjdC5rZXlzKHQpLmZvckVhY2goKGU9Pnt0cnl7dFtlXT1udWxsfWNhdGNoKGUpe310cnl7ZGVsZXRlIHRbZV19Y2F0Y2goZSl7fX0pKX0ocykpLHMuZGVzdHJveWVkPSEwKSxudWxsfXN0YXRpYyBleHRlbmREZWZhdWx0cyhlKXtnKF8sZSl9c3RhdGljIGdldCBleHRlbmRlZERlZmF1bHRzKCl7cmV0dXJuIF99c3RhdGljIGdldCBkZWZhdWx0cygpe3JldHVybiBXfXN0YXRpYyBpbnN0YWxsTW9kdWxlKGUpe1YucHJvdG90eXBlLl9fbW9kdWxlc19ffHwoVi5wcm90b3R5cGUuX19tb2R1bGVzX189W10pO2NvbnN0IHQ9Vi5wcm90b3R5cGUuX19tb2R1bGVzX187ImZ1bmN0aW9uIj09dHlwZW9mIGUmJnQuaW5kZXhPZihlKTwwJiZ0LnB1c2goZSl9c3RhdGljIHVzZShlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT8oZS5mb3JFYWNoKChlPT5WLmluc3RhbGxNb2R1bGUoZSkpKSxWKTooVi5pbnN0YWxsTW9kdWxlKGUpLFYpfX1mdW5jdGlvbiBGKGUsdCxzLGkpe2NvbnN0IHI9YSgpO3JldHVybiBlLnBhcmFtcy5jcmVhdGVFbGVtZW50cyYmT2JqZWN0LmtleXMoaSkuZm9yRWFjaCgoYT0+e2lmKCFzW2FdJiYhMD09PXMuYXV0byl7bGV0IG49ZS4kZWwuY2hpbGRyZW4oYC4ke2lbYV19YClbMF07bnx8KG49ci5jcmVhdGVFbGVtZW50KCJkaXYiKSxuLmNsYXNzTmFtZT1pW2FdLGUuJGVsLmFwcGVuZChuKSksc1thXT1uLHRbYV09bn19KSksc31mdW5jdGlvbiBVKGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT0iIiksYC4ke2UudHJpbSgpLnJlcGxhY2UoLyhbXC46IVwvXSkvZywiXFwkMSIpLnJlcGxhY2UoLyAvZywiLiIpfWB9ZnVuY3Rpb24gSyhlKXtjb25zdCB0PXRoaXMseyR3cmFwcGVyRWw6cyxwYXJhbXM6YX09dDtpZihhLmxvb3AmJnQubG9vcERlc3Ryb3koKSwib2JqZWN0Ij09dHlwZW9mIGUmJiJsZW5ndGgiaW4gZSlmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrPTEpZVt0XSYmcy5hcHBlbmQoZVt0XSk7ZWxzZSBzLmFwcGVuZChlKTthLmxvb3AmJnQubG9vcENyZWF0ZSgpLGEub2JzZXJ2ZXJ8fHQudXBkYXRlKCl9ZnVuY3Rpb24gWihlKXtjb25zdCB0PXRoaXMse3BhcmFtczpzLCR3cmFwcGVyRWw6YSxhY3RpdmVJbmRleDppfT10O3MubG9vcCYmdC5sb29wRGVzdHJveSgpO2xldCByPWkrMTtpZigib2JqZWN0Ij09dHlwZW9mIGUmJiJsZW5ndGgiaW4gZSl7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kz0xKWVbdF0mJmEucHJlcGVuZChlW3RdKTtyPWkrZS5sZW5ndGh9ZWxzZSBhLnByZXBlbmQoZSk7cy5sb29wJiZ0Lmxvb3BDcmVhdGUoKSxzLm9ic2VydmVyfHx0LnVwZGF0ZSgpLHQuc2xpZGVUbyhyLDAsITEpfWZ1bmN0aW9uIFEoZSx0KXtjb25zdCBzPXRoaXMseyR3cmFwcGVyRWw6YSxwYXJhbXM6aSxhY3RpdmVJbmRleDpyfT1zO2xldCBuPXI7aS5sb29wJiYobi09cy5sb29wZWRTbGlkZXMscy5sb29wRGVzdHJveSgpLHMuc2xpZGVzPWEuY2hpbGRyZW4oYC4ke2kuc2xpZGVDbGFzc31gKSk7Y29uc3QgbD1zLnNsaWRlcy5sZW5ndGg7aWYoZTw9MClyZXR1cm4gdm9pZCBzLnByZXBlbmRTbGlkZSh0KTtpZihlPj1sKXJldHVybiB2b2lkIHMuYXBwZW5kU2xpZGUodCk7bGV0IG89bj5lP24rMTpuO2NvbnN0IGQ9W107Zm9yKGxldCB0PWwtMTt0Pj1lO3QtPTEpe2NvbnN0IGU9cy5zbGlkZXMuZXEodCk7ZS5yZW1vdmUoKSxkLnVuc2hpZnQoZSl9aWYoIm9iamVjdCI9PXR5cGVvZiB0JiYibGVuZ3RoImluIHQpe2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSs9MSl0W2VdJiZhLmFwcGVuZCh0W2VdKTtvPW4+ZT9uK3QubGVuZ3RoOm59ZWxzZSBhLmFwcGVuZCh0KTtmb3IobGV0IGU9MDtlPGQubGVuZ3RoO2UrPTEpYS5hcHBlbmQoZFtlXSk7aS5sb29wJiZzLmxvb3BDcmVhdGUoKSxpLm9ic2VydmVyfHxzLnVwZGF0ZSgpLGkubG9vcD9zLnNsaWRlVG8obytzLmxvb3BlZFNsaWRlcywwLCExKTpzLnNsaWRlVG8obywwLCExKX1mdW5jdGlvbiBKKGUpe2NvbnN0IHQ9dGhpcyx7cGFyYW1zOnMsJHdyYXBwZXJFbDphLGFjdGl2ZUluZGV4Oml9PXQ7bGV0IHI9aTtzLmxvb3AmJihyLT10Lmxvb3BlZFNsaWRlcyx0Lmxvb3BEZXN0cm95KCksdC5zbGlkZXM9YS5jaGlsZHJlbihgLiR7cy5zbGlkZUNsYXNzfWApKTtsZXQgbixsPXI7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiYibGVuZ3RoImluIGUpe2ZvcihsZXQgcz0wO3M8ZS5sZW5ndGg7cys9MSluPWVbc10sdC5zbGlkZXNbbl0mJnQuc2xpZGVzLmVxKG4pLnJlbW92ZSgpLG48bCYmKGwtPTEpO2w9TWF0aC5tYXgobCwwKX1lbHNlIG49ZSx0LnNsaWRlc1tuXSYmdC5zbGlkZXMuZXEobikucmVtb3ZlKCksbjxsJiYobC09MSksbD1NYXRoLm1heChsLDApO3MubG9vcCYmdC5sb29wQ3JlYXRlKCkscy5vYnNlcnZlcnx8dC51cGRhdGUoKSxzLmxvb3A/dC5zbGlkZVRvKGwrdC5sb29wZWRTbGlkZXMsMCwhMSk6dC5zbGlkZVRvKGwsMCwhMSl9ZnVuY3Rpb24gZWUoKXtjb25zdCBlPXRoaXMsdD1bXTtmb3IobGV0IHM9MDtzPGUuc2xpZGVzLmxlbmd0aDtzKz0xKXQucHVzaChzKTtlLnJlbW92ZVNsaWRlKHQpfWZ1bmN0aW9uIHRlKGUpe2NvbnN0e2VmZmVjdDp0LHN3aXBlcjpzLG9uOmEsc2V0VHJhbnNsYXRlOmksc2V0VHJhbnNpdGlvbjpyLG92ZXJ3cml0ZVBhcmFtczpuLHBlcnNwZWN0aXZlOmwscmVjcmVhdGVTaGFkb3dzOm8sZ2V0RWZmZWN0UGFyYW1zOmR9PWU7bGV0IGM7YSgiYmVmb3JlSW5pdCIsKCgpPT57aWYocy5wYXJhbXMuZWZmZWN0IT09dClyZXR1cm47cy5jbGFzc05hbWVzLnB1c2goYCR7cy5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzc30ke3R9YCksbCYmbCgpJiZzLmNsYXNzTmFtZXMucHVzaChgJHtzLnBhcmFtcy5jb250YWluZXJNb2RpZmllckNsYXNzfTNkYCk7Y29uc3QgZT1uP24oKTp7fTtPYmplY3QuYXNzaWduKHMucGFyYW1zLGUpLE9iamVjdC5hc3NpZ24ocy5vcmlnaW5hbFBhcmFtcyxlKX0pKSxhKCJzZXRUcmFuc2xhdGUiLCgoKT0+e3MucGFyYW1zLmVmZmVjdD09PXQmJmkoKX0pKSxhKCJzZXRUcmFuc2l0aW9uIiwoKGUsYSk9PntzLnBhcmFtcy5lZmZlY3Q9PT10JiZyKGEpfSkpLGEoInRyYW5zaXRpb25FbmQiLCgoKT0+e2lmKHMucGFyYW1zLmVmZmVjdD09PXQmJm8pe2lmKCFkfHwhZCgpLnNsaWRlU2hhZG93cylyZXR1cm47cy5zbGlkZXMuZWFjaCgoZT0+e3MuJChlKS5maW5kKCIuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQiKS5yZW1vdmUoKX0pKSxvKCl9fSkpLGEoInZpcnR1YWxVcGRhdGUiLCgoKT0+e3MucGFyYW1zLmVmZmVjdD09PXQmJihzLnNsaWRlcy5sZW5ndGh8fChjPSEwKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57YyYmcy5zbGlkZXMmJnMuc2xpZGVzLmxlbmd0aCYmKGkoKSxjPSExKX0pKSl9KSl9ZnVuY3Rpb24gc2UoZSx0KXtyZXR1cm4gZS50cmFuc2Zvcm1FbD90LmZpbmQoZS50cmFuc2Zvcm1FbCkuY3NzKHsiYmFja2ZhY2UtdmlzaWJpbGl0eSI6ImhpZGRlbiIsIi13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eSI6ImhpZGRlbiJ9KTp0fWZ1bmN0aW9uIGFlKGUpe2xldHtzd2lwZXI6dCxkdXJhdGlvbjpzLHRyYW5zZm9ybUVsOmEsYWxsU2xpZGVzOml9PWU7Y29uc3R7c2xpZGVzOnIsYWN0aXZlSW5kZXg6biwkd3JhcHBlckVsOmx9PXQ7aWYodC5wYXJhbXMudmlydHVhbFRyYW5zbGF0ZSYmMCE9PXMpe2xldCBlLHM9ITE7ZT1pP2E/ci5maW5kKGEpOnI6YT9yLmVxKG4pLmZpbmQoYSk6ci5lcShuKSxlLnRyYW5zaXRpb25FbmQoKCgpPT57aWYocylyZXR1cm47aWYoIXR8fHQuZGVzdHJveWVkKXJldHVybjtzPSEwLHQuYW5pbWF0aW5nPSExO2NvbnN0IGU9WyJ3ZWJraXRUcmFuc2l0aW9uRW5kIiwidHJhbnNpdGlvbmVuZCJdO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCs9MSlsLnRyaWdnZXIoZVt0XSl9KSl9fWZ1bmN0aW9uIGllKGUsdCxzKXtjb25zdCBhPSJzd2lwZXItc2xpZGUtc2hhZG93Iisocz9gLSR7c31gOiIiKSxpPWUudHJhbnNmb3JtRWw/dC5maW5kKGUudHJhbnNmb3JtRWwpOnQ7bGV0IHI9aS5jaGlsZHJlbihgLiR7YX1gKTtyZXR1cm4gci5sZW5ndGh8fChyPWQoYDxkaXYgY2xhc3M9InN3aXBlci1zbGlkZS1zaGFkb3cke3M/YC0ke3N9YDoiIn0iPjwvZGl2PmApLGkuYXBwZW5kKHIpKSxyfU9iamVjdC5rZXlzKGopLmZvckVhY2goKGU9PntPYmplY3Qua2V5cyhqW2VdKS5mb3JFYWNoKCh0PT57Vi5wcm90b3R5cGVbdF09altlXVt0XX0pKX0pKSxWLnVzZShbZnVuY3Rpb24oZSl7bGV0e3N3aXBlcjp0LG9uOnMsZW1pdDphfT1lO2NvbnN0IGk9cigpO2xldCBuPW51bGwsbD1udWxsO2NvbnN0IG89KCk9Pnt0JiYhdC5kZXN0cm95ZWQmJnQuaW5pdGlhbGl6ZWQmJihhKCJiZWZvcmVSZXNpemUiKSxhKCJyZXNpemUiKSl9LGQ9KCk9Pnt0JiYhdC5kZXN0cm95ZWQmJnQuaW5pdGlhbGl6ZWQmJmEoIm9yaWVudGF0aW9uY2hhbmdlIil9O3MoImluaXQiLCgoKT0+e3QucGFyYW1zLnJlc2l6ZU9ic2VydmVyJiZ2b2lkIDAhPT1pLlJlc2l6ZU9ic2VydmVyP3QmJiF0LmRlc3Ryb3llZCYmdC5pbml0aWFsaXplZCYmKG49bmV3IFJlc2l6ZU9ic2VydmVyKChlPT57bD1pLnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9Pntjb25zdHt3aWR0aDpzLGhlaWdodDphfT10O2xldCBpPXMscj1hO2UuZm9yRWFjaCgoZT0+e2xldHtjb250ZW50Qm94U2l6ZTpzLGNvbnRlbnRSZWN0OmEsdGFyZ2V0Om59PWU7biYmbiE9PXQuZWx8fChpPWE/YS53aWR0aDooc1swXXx8cykuaW5saW5lU2l6ZSxyPWE/YS5oZWlnaHQ6KHNbMF18fHMpLmJsb2NrU2l6ZSl9KSksaT09PXMmJnI9PT1hfHxvKCl9KSl9KSksbi5vYnNlcnZlKHQuZWwpKTooaS5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLG8pLGkuYWRkRXZlbnRMaXN0ZW5lcigib3JpZW50YXRpb25jaGFuZ2UiLGQpKX0pKSxzKCJkZXN0cm95IiwoKCk9PntsJiZpLmNhbmNlbEFuaW1hdGlvbkZyYW1lKGwpLG4mJm4udW5vYnNlcnZlJiZ0LmVsJiYobi51bm9ic2VydmUodC5lbCksbj1udWxsKSxpLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsbyksaS5yZW1vdmVFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIsZCl9KSl9LGZ1bmN0aW9uKGUpe2xldHtzd2lwZXI6dCxleHRlbmRQYXJhbXM6cyxvbjphLGVtaXQ6aX09ZTtjb25zdCBuPVtdLGw9cigpLG89ZnVuY3Rpb24oZSx0KXt2b2lkIDA9PT10JiYodD17fSk7Y29uc3Qgcz1uZXcobC5NdXRhdGlvbk9ic2VydmVyfHxsLldlYmtpdE11dGF0aW9uT2JzZXJ2ZXIpKChlPT57aWYoMT09PWUubGVuZ3RoKXJldHVybiB2b2lkIGkoIm9ic2VydmVyVXBkYXRlIixlWzBdKTtjb25zdCB0PWZ1bmN0aW9uKCl7aSgib2JzZXJ2ZXJVcGRhdGUiLGVbMF0pfTtsLnJlcXVlc3RBbmltYXRpb25GcmFtZT9sLnJlcXVlc3RBbmltYXRpb25GcmFtZSh0KTpsLnNldFRpbWVvdXQodCwwKX0pKTtzLm9ic2VydmUoZSx7YXR0cmlidXRlczp2b2lkIDA9PT10LmF0dHJpYnV0ZXN8fHQuYXR0cmlidXRlcyxjaGlsZExpc3Q6dm9pZCAwPT09dC5jaGlsZExpc3R8fHQuY2hpbGRMaXN0LGNoYXJhY3RlckRhdGE6dm9pZCAwPT09dC5jaGFyYWN0ZXJEYXRhfHx0LmNoYXJhY3RlckRhdGF9KSxuLnB1c2gocyl9O3Moe29ic2VydmVyOiExLG9ic2VydmVQYXJlbnRzOiExLG9ic2VydmVTbGlkZUNoaWxkcmVuOiExfSksYSgiaW5pdCIsKCgpPT57aWYodC5wYXJhbXMub2JzZXJ2ZXIpe2lmKHQucGFyYW1zLm9ic2VydmVQYXJlbnRzKXtjb25zdCBlPXQuJGVsLnBhcmVudHMoKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrPTEpbyhlW3RdKX1vKHQuJGVsWzBdLHtjaGlsZExpc3Q6dC5wYXJhbXMub2JzZXJ2ZVNsaWRlQ2hpbGRyZW59KSxvKHQuJHdyYXBwZXJFbFswXSx7YXR0cmlidXRlczohMX0pfX0pKSxhKCJkZXN0cm95IiwoKCk9PntuLmZvckVhY2goKGU9PntlLmRpc2Nvbm5lY3QoKX0pKSxuLnNwbGljZSgwLG4ubGVuZ3RoKX0pKX1dKTtjb25zdCByZT1bZnVuY3Rpb24oZSl7bGV0IHQse3N3aXBlcjpzLGV4dGVuZFBhcmFtczphLG9uOmksZW1pdDpyfT1lO2Z1bmN0aW9uIG4oZSx0KXtjb25zdCBhPXMucGFyYW1zLnZpcnR1YWw7aWYoYS5jYWNoZSYmcy52aXJ0dWFsLmNhY2hlW3RdKXJldHVybiBzLnZpcnR1YWwuY2FjaGVbdF07Y29uc3QgaT1hLnJlbmRlclNsaWRlP2QoYS5yZW5kZXJTbGlkZS5jYWxsKHMsZSx0KSk6ZChgPGRpdiBjbGFzcz0iJHtzLnBhcmFtcy5zbGlkZUNsYXNzfSIgZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9IiR7dH0iPiR7ZX08L2Rpdj5gKTtyZXR1cm4gaS5hdHRyKCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleCIpfHxpLmF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4Iix0KSxhLmNhY2hlJiYocy52aXJ0dWFsLmNhY2hlW3RdPWkpLGl9ZnVuY3Rpb24gbChlKXtjb25zdHtzbGlkZXNQZXJWaWV3OnQsc2xpZGVzUGVyR3JvdXA6YSxjZW50ZXJlZFNsaWRlczppfT1zLnBhcmFtcyx7YWRkU2xpZGVzQmVmb3JlOmwsYWRkU2xpZGVzQWZ0ZXI6b309cy5wYXJhbXMudmlydHVhbCx7ZnJvbTpkLHRvOmMsc2xpZGVzOnAsc2xpZGVzR3JpZDp1LG9mZnNldDpofT1zLnZpcnR1YWw7cy5wYXJhbXMuY3NzTW9kZXx8cy51cGRhdGVBY3RpdmVJbmRleCgpO2NvbnN0IG09cy5hY3RpdmVJbmRleHx8MDtsZXQgZixnLHY7Zj1zLnJ0bFRyYW5zbGF0ZT8icmlnaHQiOnMuaXNIb3Jpem9udGFsKCk/ImxlZnQiOiJ0b3AiLGk/KGc9TWF0aC5mbG9vcih0LzIpK2Erbyx2PU1hdGguZmxvb3IodC8yKSthK2wpOihnPXQrKGEtMSkrbyx2PWErbCk7Y29uc3Qgdz1NYXRoLm1heCgobXx8MCktdiwwKSxiPU1hdGgubWluKChtfHwwKStnLHAubGVuZ3RoLTEpLHg9KHMuc2xpZGVzR3JpZFt3XXx8MCktKHMuc2xpZGVzR3JpZFswXXx8MCk7ZnVuY3Rpb24geSgpe3MudXBkYXRlU2xpZGVzKCkscy51cGRhdGVQcm9ncmVzcygpLHMudXBkYXRlU2xpZGVzQ2xhc3NlcygpLHMubGF6eSYmcy5wYXJhbXMubGF6eS5lbmFibGVkJiZzLmxhenkubG9hZCgpLHIoInZpcnR1YWxVcGRhdGUiKX1pZihPYmplY3QuYXNzaWduKHMudmlydHVhbCx7ZnJvbTp3LHRvOmIsb2Zmc2V0Ongsc2xpZGVzR3JpZDpzLnNsaWRlc0dyaWR9KSxkPT09dyYmYz09PWImJiFlKXJldHVybiBzLnNsaWRlc0dyaWQhPT11JiZ4IT09aCYmcy5zbGlkZXMuY3NzKGYsYCR7eH1weGApLHMudXBkYXRlUHJvZ3Jlc3MoKSx2b2lkIHIoInZpcnR1YWxVcGRhdGUiKTtpZihzLnBhcmFtcy52aXJ0dWFsLnJlbmRlckV4dGVybmFsKXJldHVybiBzLnBhcmFtcy52aXJ0dWFsLnJlbmRlckV4dGVybmFsLmNhbGwocyx7b2Zmc2V0OngsZnJvbTp3LHRvOmIsc2xpZGVzOmZ1bmN0aW9uKCl7Y29uc3QgZT1bXTtmb3IobGV0IHQ9dzt0PD1iO3QrPTEpZS5wdXNoKHBbdF0pO3JldHVybiBlfSgpfSksdm9pZChzLnBhcmFtcy52aXJ0dWFsLnJlbmRlckV4dGVybmFsVXBkYXRlP3koKTpyKCJ2aXJ0dWFsVXBkYXRlIikpO2NvbnN0IEU9W10sQz1bXTtpZihlKXMuJHdyYXBwZXJFbC5maW5kKGAuJHtzLnBhcmFtcy5zbGlkZUNsYXNzfWApLnJlbW92ZSgpO2Vsc2UgZm9yKGxldCBlPWQ7ZTw9YztlKz0xKShlPHd8fGU+YikmJnMuJHdyYXBwZXJFbC5maW5kKGAuJHtzLnBhcmFtcy5zbGlkZUNsYXNzfVtkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJHtlfSJdYCkucmVtb3ZlKCk7Zm9yKGxldCB0PTA7dDxwLmxlbmd0aDt0Kz0xKXQ+PXcmJnQ8PWImJih2b2lkIDA9PT1jfHxlP0MucHVzaCh0KToodD5jJiZDLnB1c2godCksdDxkJiZFLnB1c2godCkpKTtDLmZvckVhY2goKGU9PntzLiR3cmFwcGVyRWwuYXBwZW5kKG4ocFtlXSxlKSl9KSksRS5zb3J0KCgoZSx0KT0+dC1lKSkuZm9yRWFjaCgoZT0+e3MuJHdyYXBwZXJFbC5wcmVwZW5kKG4ocFtlXSxlKSl9KSkscy4kd3JhcHBlckVsLmNoaWxkcmVuKCIuc3dpcGVyLXNsaWRlIikuY3NzKGYsYCR7eH1weGApLHkoKX1hKHt2aXJ0dWFsOntlbmFibGVkOiExLHNsaWRlczpbXSxjYWNoZTohMCxyZW5kZXJTbGlkZTpudWxsLHJlbmRlckV4dGVybmFsOm51bGwscmVuZGVyRXh0ZXJuYWxVcGRhdGU6ITAsYWRkU2xpZGVzQmVmb3JlOjAsYWRkU2xpZGVzQWZ0ZXI6MH19KSxzLnZpcnR1YWw9e2NhY2hlOnt9LGZyb206dm9pZCAwLHRvOnZvaWQgMCxzbGlkZXM6W10sb2Zmc2V0OjAsc2xpZGVzR3JpZDpbXX0saSgiYmVmb3JlSW5pdCIsKCgpPT57cy5wYXJhbXMudmlydHVhbC5lbmFibGVkJiYocy52aXJ0dWFsLnNsaWRlcz1zLnBhcmFtcy52aXJ0dWFsLnNsaWRlcyxzLmNsYXNzTmFtZXMucHVzaChgJHtzLnBhcmFtcy5jb250YWluZXJNb2RpZmllckNsYXNzfXZpcnR1YWxgKSxzLnBhcmFtcy53YXRjaFNsaWRlc1Byb2dyZXNzPSEwLHMub3JpZ2luYWxQYXJhbXMud2F0Y2hTbGlkZXNQcm9ncmVzcz0hMCxzLnBhcmFtcy5pbml0aWFsU2xpZGV8fGwoKSl9KSksaSgic2V0VHJhbnNsYXRlIiwoKCk9PntzLnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQmJihzLnBhcmFtcy5jc3NNb2RlJiYhcy5faW1tZWRpYXRlVmlydHVhbD8oY2xlYXJUaW1lb3V0KHQpLHQ9c2V0VGltZW91dCgoKCk9PntsKCl9KSwxMDApKTpsKCkpfSkpLGkoImluaXQgdXBkYXRlIHJlc2l6ZSIsKCgpPT57cy5wYXJhbXMudmlydHVhbC5lbmFibGVkJiZzLnBhcmFtcy5jc3NNb2RlJiZ2KHMud3JhcHBlckVsLCItLXN3aXBlci12aXJ0dWFsLXNpemUiLGAke3MudmlydHVhbFNpemV9cHhgKX0pKSxPYmplY3QuYXNzaWduKHMudmlydHVhbCx7YXBwZW5kU2xpZGU6ZnVuY3Rpb24oZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiYibGVuZ3RoImluIGUpZm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kz0xKWVbdF0mJnMudmlydHVhbC5zbGlkZXMucHVzaChlW3RdKTtlbHNlIHMudmlydHVhbC5zbGlkZXMucHVzaChlKTtsKCEwKX0scHJlcGVuZFNsaWRlOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9cy5hY3RpdmVJbmRleDtsZXQgYT10KzEsaT0xO2lmKEFycmF5LmlzQXJyYXkoZSkpe2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCs9MSllW3RdJiZzLnZpcnR1YWwuc2xpZGVzLnVuc2hpZnQoZVt0XSk7YT10K2UubGVuZ3RoLGk9ZS5sZW5ndGh9ZWxzZSBzLnZpcnR1YWwuc2xpZGVzLnVuc2hpZnQoZSk7aWYocy5wYXJhbXMudmlydHVhbC5jYWNoZSl7Y29uc3QgZT1zLnZpcnR1YWwuY2FjaGUsdD17fTtPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChzPT57Y29uc3QgYT1lW3NdLHI9YS5hdHRyKCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleCIpO3ImJmEuYXR0cigiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgiLHBhcnNlSW50KHIsMTApK2kpLHRbcGFyc2VJbnQocywxMCkraV09YX0pKSxzLnZpcnR1YWwuY2FjaGU9dH1sKCEwKSxzLnNsaWRlVG8oYSwwKX0scmVtb3ZlU2xpZGU6ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm47bGV0IHQ9cy5hY3RpdmVJbmRleDtpZihBcnJheS5pc0FycmF5KGUpKWZvcihsZXQgYT1lLmxlbmd0aC0xO2E+PTA7YS09MSlzLnZpcnR1YWwuc2xpZGVzLnNwbGljZShlW2FdLDEpLHMucGFyYW1zLnZpcnR1YWwuY2FjaGUmJmRlbGV0ZSBzLnZpcnR1YWwuY2FjaGVbZVthXV0sZVthXTx0JiYodC09MSksdD1NYXRoLm1heCh0LDApO2Vsc2Ugcy52aXJ0dWFsLnNsaWRlcy5zcGxpY2UoZSwxKSxzLnBhcmFtcy52aXJ0dWFsLmNhY2hlJiZkZWxldGUgcy52aXJ0dWFsLmNhY2hlW2VdLGU8dCYmKHQtPTEpLHQ9TWF0aC5tYXgodCwwKTtsKCEwKSxzLnNsaWRlVG8odCwwKX0scmVtb3ZlQWxsU2xpZGVzOmZ1bmN0aW9uKCl7cy52aXJ0dWFsLnNsaWRlcz1bXSxzLnBhcmFtcy52aXJ0dWFsLmNhY2hlJiYocy52aXJ0dWFsLmNhY2hlPXt9KSxsKCEwKSxzLnNsaWRlVG8oMCwwKX0sdXBkYXRlOmx9KX0sZnVuY3Rpb24oZSl7bGV0e3N3aXBlcjp0LGV4dGVuZFBhcmFtczpzLG9uOmksZW1pdDpufT1lO2NvbnN0IGw9YSgpLG89cigpO2Z1bmN0aW9uIGMoZSl7aWYoIXQuZW5hYmxlZClyZXR1cm47Y29uc3R7cnRsVHJhbnNsYXRlOnN9PXQ7bGV0IGE9ZTthLm9yaWdpbmFsRXZlbnQmJihhPWEub3JpZ2luYWxFdmVudCk7Y29uc3QgaT1hLmtleUNvZGV8fGEuY2hhckNvZGUscj10LnBhcmFtcy5rZXlib2FyZC5wYWdlVXBEb3duLGQ9ciYmMzM9PT1pLGM9ciYmMzQ9PT1pLHA9Mzc9PT1pLHU9Mzk9PT1pLGg9Mzg9PT1pLG09NDA9PT1pO2lmKCF0LmFsbG93U2xpZGVOZXh0JiYodC5pc0hvcml6b250YWwoKSYmdXx8dC5pc1ZlcnRpY2FsKCkmJm18fGMpKXJldHVybiExO2lmKCF0LmFsbG93U2xpZGVQcmV2JiYodC5pc0hvcml6b250YWwoKSYmcHx8dC5pc1ZlcnRpY2FsKCkmJmh8fGQpKXJldHVybiExO2lmKCEoYS5zaGlmdEtleXx8YS5hbHRLZXl8fGEuY3RybEtleXx8YS5tZXRhS2V5fHxsLmFjdGl2ZUVsZW1lbnQmJmwuYWN0aXZlRWxlbWVudC5ub2RlTmFtZSYmKCJpbnB1dCI9PT1sLmFjdGl2ZUVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKXx8InRleHRhcmVhIj09PWwuYWN0aXZlRWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKSkpe2lmKHQucGFyYW1zLmtleWJvYXJkLm9ubHlJblZpZXdwb3J0JiYoZHx8Y3x8cHx8dXx8aHx8bSkpe2xldCBlPSExO2lmKHQuJGVsLnBhcmVudHMoYC4ke3QucGFyYW1zLnNsaWRlQ2xhc3N9YCkubGVuZ3RoPjAmJjA9PT10LiRlbC5wYXJlbnRzKGAuJHt0LnBhcmFtcy5zbGlkZUFjdGl2ZUNsYXNzfWApLmxlbmd0aClyZXR1cm47Y29uc3QgYT10LiRlbCxpPWFbMF0uY2xpZW50V2lkdGgscj1hWzBdLmNsaWVudEhlaWdodCxuPW8uaW5uZXJXaWR0aCxsPW8uaW5uZXJIZWlnaHQsZD10LiRlbC5vZmZzZXQoKTtzJiYoZC5sZWZ0LT10LiRlbFswXS5zY3JvbGxMZWZ0KTtjb25zdCBjPVtbZC5sZWZ0LGQudG9wXSxbZC5sZWZ0K2ksZC50b3BdLFtkLmxlZnQsZC50b3Arcl0sW2QubGVmdCtpLGQudG9wK3JdXTtmb3IobGV0IHQ9MDt0PGMubGVuZ3RoO3QrPTEpe2NvbnN0IHM9Y1t0XTtpZihzWzBdPj0wJiZzWzBdPD1uJiZzWzFdPj0wJiZzWzFdPD1sKXtpZigwPT09c1swXSYmMD09PXNbMV0pY29udGludWU7ZT0hMH19aWYoIWUpcmV0dXJufXQuaXNIb3Jpem9udGFsKCk/KChkfHxjfHxwfHx1KSYmKGEucHJldmVudERlZmF1bHQ/YS5wcmV2ZW50RGVmYXVsdCgpOmEucmV0dXJuVmFsdWU9ITEpLCgoY3x8dSkmJiFzfHwoZHx8cCkmJnMpJiZ0LnNsaWRlTmV4dCgpLCgoZHx8cCkmJiFzfHwoY3x8dSkmJnMpJiZ0LnNsaWRlUHJldigpKTooKGR8fGN8fGh8fG0pJiYoYS5wcmV2ZW50RGVmYXVsdD9hLnByZXZlbnREZWZhdWx0KCk6YS5yZXR1cm5WYWx1ZT0hMSksKGN8fG0pJiZ0LnNsaWRlTmV4dCgpLChkfHxoKSYmdC5zbGlkZVByZXYoKSksbigia2V5UHJlc3MiLGkpfX1mdW5jdGlvbiBwKCl7dC5rZXlib2FyZC5lbmFibGVkfHwoZChsKS5vbigia2V5ZG93biIsYyksdC5rZXlib2FyZC5lbmFibGVkPSEwKX1mdW5jdGlvbiB1KCl7dC5rZXlib2FyZC5lbmFibGVkJiYoZChsKS5vZmYoImtleWRvd24iLGMpLHQua2V5Ym9hcmQuZW5hYmxlZD0hMSl9dC5rZXlib2FyZD17ZW5hYmxlZDohMX0scyh7a2V5Ym9hcmQ6e2VuYWJsZWQ6ITEsb25seUluVmlld3BvcnQ6ITAscGFnZVVwRG93bjohMH19KSxpKCJpbml0IiwoKCk9Pnt0LnBhcmFtcy5rZXlib2FyZC5lbmFibGVkJiZwKCl9KSksaSgiZGVzdHJveSIsKCgpPT57dC5rZXlib2FyZC5lbmFibGVkJiZ1KCl9KSksT2JqZWN0LmFzc2lnbih0LmtleWJvYXJkLHtlbmFibGU6cCxkaXNhYmxlOnV9KX0sZnVuY3Rpb24oZSl7bGV0e3N3aXBlcjp0LGV4dGVuZFBhcmFtczpzLG9uOmEsZW1pdDppfT1lO2NvbnN0IG49cigpO2xldCBsO3Moe21vdXNld2hlZWw6e2VuYWJsZWQ6ITEscmVsZWFzZU9uRWRnZXM6ITEsaW52ZXJ0OiExLGZvcmNlVG9BeGlzOiExLHNlbnNpdGl2aXR5OjEsZXZlbnRzVGFyZ2V0OiJjb250YWluZXIiLHRocmVzaG9sZERlbHRhOm51bGwsdGhyZXNob2xkVGltZTpudWxsfX0pLHQubW91c2V3aGVlbD17ZW5hYmxlZDohMX07bGV0IG8sYz11KCk7Y29uc3QgaD1bXTtmdW5jdGlvbiBtKCl7dC5lbmFibGVkJiYodC5tb3VzZUVudGVyZWQ9ITApfWZ1bmN0aW9uIGYoKXt0LmVuYWJsZWQmJih0Lm1vdXNlRW50ZXJlZD0hMSl9ZnVuY3Rpb24gZyhlKXtyZXR1cm4hKHQucGFyYW1zLm1vdXNld2hlZWwudGhyZXNob2xkRGVsdGEmJmUuZGVsdGE8dC5wYXJhbXMubW91c2V3aGVlbC50aHJlc2hvbGREZWx0YSkmJighKHQucGFyYW1zLm1vdXNld2hlZWwudGhyZXNob2xkVGltZSYmdSgpLWM8dC5wYXJhbXMubW91c2V3aGVlbC50aHJlc2hvbGRUaW1lKSYmKGUuZGVsdGE+PTYmJnUoKS1jPDYwfHwoZS5kaXJlY3Rpb248MD90LmlzRW5kJiYhdC5wYXJhbXMubG9vcHx8dC5hbmltYXRpbmd8fCh0LnNsaWRlTmV4dCgpLGkoInNjcm9sbCIsZS5yYXcpKTp0LmlzQmVnaW5uaW5nJiYhdC5wYXJhbXMubG9vcHx8dC5hbmltYXRpbmd8fCh0LnNsaWRlUHJldigpLGkoInNjcm9sbCIsZS5yYXcpKSxjPShuZXcgbi5EYXRlKS5nZXRUaW1lKCksITEpKSl9ZnVuY3Rpb24gdihlKXtsZXQgcz1lLGE9ITA7aWYoIXQuZW5hYmxlZClyZXR1cm47Y29uc3Qgcj10LnBhcmFtcy5tb3VzZXdoZWVsO3QucGFyYW1zLmNzc01vZGUmJnMucHJldmVudERlZmF1bHQoKTtsZXQgbj10LiRlbDtpZigiY29udGFpbmVyIiE9PXQucGFyYW1zLm1vdXNld2hlZWwuZXZlbnRzVGFyZ2V0JiYobj1kKHQucGFyYW1zLm1vdXNld2hlZWwuZXZlbnRzVGFyZ2V0KSksIXQubW91c2VFbnRlcmVkJiYhblswXS5jb250YWlucyhzLnRhcmdldCkmJiFyLnJlbGVhc2VPbkVkZ2VzKXJldHVybiEwO3Mub3JpZ2luYWxFdmVudCYmKHM9cy5vcmlnaW5hbEV2ZW50KTtsZXQgYz0wO2NvbnN0IG09dC5ydGxUcmFuc2xhdGU/LTE6MSxmPWZ1bmN0aW9uKGUpe2xldCB0PTAscz0wLGE9MCxpPTA7cmV0dXJuImRldGFpbCJpbiBlJiYocz1lLmRldGFpbCksIndoZWVsRGVsdGEiaW4gZSYmKHM9LWUud2hlZWxEZWx0YS8xMjApLCJ3aGVlbERlbHRhWSJpbiBlJiYocz0tZS53aGVlbERlbHRhWS8xMjApLCJ3aGVlbERlbHRhWCJpbiBlJiYodD0tZS53aGVlbERlbHRhWC8xMjApLCJheGlzImluIGUmJmUuYXhpcz09PWUuSE9SSVpPTlRBTF9BWElTJiYodD1zLHM9MCksYT0xMCp0LGk9MTAqcywiZGVsdGFZImluIGUmJihpPWUuZGVsdGFZKSwiZGVsdGFYImluIGUmJihhPWUuZGVsdGFYKSxlLnNoaWZ0S2V5JiYhYSYmKGE9aSxpPTApLChhfHxpKSYmZS5kZWx0YU1vZGUmJigxPT09ZS5kZWx0YU1vZGU/KGEqPTQwLGkqPTQwKTooYSo9ODAwLGkqPTgwMCkpLGEmJiF0JiYodD1hPDE/LTE6MSksaSYmIXMmJihzPWk8MT8tMToxKSx7c3Bpblg6dCxzcGluWTpzLHBpeGVsWDphLHBpeGVsWTppfX0ocyk7aWYoci5mb3JjZVRvQXhpcylpZih0LmlzSG9yaXpvbnRhbCgpKXtpZighKE1hdGguYWJzKGYucGl4ZWxYKT5NYXRoLmFicyhmLnBpeGVsWSkpKXJldHVybiEwO2M9LWYucGl4ZWxYKm19ZWxzZXtpZighKE1hdGguYWJzKGYucGl4ZWxZKT5NYXRoLmFicyhmLnBpeGVsWCkpKXJldHVybiEwO2M9LWYucGl4ZWxZfWVsc2UgYz1NYXRoLmFicyhmLnBpeGVsWCk+TWF0aC5hYnMoZi5waXhlbFkpPy1mLnBpeGVsWCptOi1mLnBpeGVsWTtpZigwPT09YylyZXR1cm4hMDtyLmludmVydCYmKGM9LWMpO2xldCB2PXQuZ2V0VHJhbnNsYXRlKCkrYypyLnNlbnNpdGl2aXR5O2lmKHY+PXQubWluVHJhbnNsYXRlKCkmJih2PXQubWluVHJhbnNsYXRlKCkpLHY8PXQubWF4VHJhbnNsYXRlKCkmJih2PXQubWF4VHJhbnNsYXRlKCkpLGE9ISF0LnBhcmFtcy5sb29wfHwhKHY9PT10Lm1pblRyYW5zbGF0ZSgpfHx2PT09dC5tYXhUcmFuc2xhdGUoKSksYSYmdC5wYXJhbXMubmVzdGVkJiZzLnN0b3BQcm9wYWdhdGlvbigpLHQucGFyYW1zLmZyZWVNb2RlJiZ0LnBhcmFtcy5mcmVlTW9kZS5lbmFibGVkKXtjb25zdCBlPXt0aW1lOnUoKSxkZWx0YTpNYXRoLmFicyhjKSxkaXJlY3Rpb246TWF0aC5zaWduKGMpfSxhPW8mJmUudGltZTxvLnRpbWUrNTAwJiZlLmRlbHRhPD1vLmRlbHRhJiZlLmRpcmVjdGlvbj09PW8uZGlyZWN0aW9uO2lmKCFhKXtvPXZvaWQgMCx0LnBhcmFtcy5sb29wJiZ0Lmxvb3BGaXgoKTtsZXQgbj10LmdldFRyYW5zbGF0ZSgpK2Mqci5zZW5zaXRpdml0eTtjb25zdCBkPXQuaXNCZWdpbm5pbmcsdT10LmlzRW5kO2lmKG4+PXQubWluVHJhbnNsYXRlKCkmJihuPXQubWluVHJhbnNsYXRlKCkpLG48PXQubWF4VHJhbnNsYXRlKCkmJihuPXQubWF4VHJhbnNsYXRlKCkpLHQuc2V0VHJhbnNpdGlvbigwKSx0LnNldFRyYW5zbGF0ZShuKSx0LnVwZGF0ZVByb2dyZXNzKCksdC51cGRhdGVBY3RpdmVJbmRleCgpLHQudXBkYXRlU2xpZGVzQ2xhc3NlcygpLCghZCYmdC5pc0JlZ2lubmluZ3x8IXUmJnQuaXNFbmQpJiZ0LnVwZGF0ZVNsaWRlc0NsYXNzZXMoKSx0LnBhcmFtcy5mcmVlTW9kZS5zdGlja3kpe2NsZWFyVGltZW91dChsKSxsPXZvaWQgMCxoLmxlbmd0aD49MTUmJmguc2hpZnQoKTtjb25zdCBzPWgubGVuZ3RoP2hbaC5sZW5ndGgtMV06dm9pZCAwLGE9aFswXTtpZihoLnB1c2goZSkscyYmKGUuZGVsdGE+cy5kZWx0YXx8ZS5kaXJlY3Rpb24hPT1zLmRpcmVjdGlvbikpaC5zcGxpY2UoMCk7ZWxzZSBpZihoLmxlbmd0aD49MTUmJmUudGltZS1hLnRpbWU8NTAwJiZhLmRlbHRhLWUuZGVsdGE+PTEmJmUuZGVsdGE8PTYpe2NvbnN0IHM9Yz4wPy44Oi4yO289ZSxoLnNwbGljZSgwKSxsPXAoKCgpPT57dC5zbGlkZVRvQ2xvc2VzdCh0LnBhcmFtcy5zcGVlZCwhMCx2b2lkIDAscyl9KSwwKX1sfHwobD1wKCgoKT0+e289ZSxoLnNwbGljZSgwKSx0LnNsaWRlVG9DbG9zZXN0KHQucGFyYW1zLnNwZWVkLCEwLHZvaWQgMCwuNSl9KSw1MDApKX1pZihhfHxpKCJzY3JvbGwiLHMpLHQucGFyYW1zLmF1dG9wbGF5JiZ0LnBhcmFtcy5hdXRvcGxheURpc2FibGVPbkludGVyYWN0aW9uJiZ0LmF1dG9wbGF5LnN0b3AoKSxuPT09dC5taW5UcmFuc2xhdGUoKXx8bj09PXQubWF4VHJhbnNsYXRlKCkpcmV0dXJuITB9fWVsc2V7Y29uc3Qgcz17dGltZTp1KCksZGVsdGE6TWF0aC5hYnMoYyksZGlyZWN0aW9uOk1hdGguc2lnbihjKSxyYXc6ZX07aC5sZW5ndGg+PTImJmguc2hpZnQoKTtjb25zdCBhPWgubGVuZ3RoP2hbaC5sZW5ndGgtMV06dm9pZCAwO2lmKGgucHVzaChzKSxhPyhzLmRpcmVjdGlvbiE9PWEuZGlyZWN0aW9ufHxzLmRlbHRhPmEuZGVsdGF8fHMudGltZT5hLnRpbWUrMTUwKSYmZyhzKTpnKHMpLGZ1bmN0aW9uKGUpe2NvbnN0IHM9dC5wYXJhbXMubW91c2V3aGVlbDtpZihlLmRpcmVjdGlvbjwwKXtpZih0LmlzRW5kJiYhdC5wYXJhbXMubG9vcCYmcy5yZWxlYXNlT25FZGdlcylyZXR1cm4hMH1lbHNlIGlmKHQuaXNCZWdpbm5pbmcmJiF0LnBhcmFtcy5sb29wJiZzLnJlbGVhc2VPbkVkZ2VzKXJldHVybiEwO3JldHVybiExfShzKSlyZXR1cm4hMH1yZXR1cm4gcy5wcmV2ZW50RGVmYXVsdD9zLnByZXZlbnREZWZhdWx0KCk6cy5yZXR1cm5WYWx1ZT0hMSwhMX1mdW5jdGlvbiB3KGUpe2xldCBzPXQuJGVsOyJjb250YWluZXIiIT09dC5wYXJhbXMubW91c2V3aGVlbC5ldmVudHNUYXJnZXQmJihzPWQodC5wYXJhbXMubW91c2V3aGVlbC5ldmVudHNUYXJnZXQpKSxzW2VdKCJtb3VzZWVudGVyIixtKSxzW2VdKCJtb3VzZWxlYXZlIixmKSxzW2VdKCJ3aGVlbCIsdil9ZnVuY3Rpb24gYigpe3JldHVybiB0LnBhcmFtcy5jc3NNb2RlPyh0LndyYXBwZXJFbC5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsdiksITApOiF0Lm1vdXNld2hlZWwuZW5hYmxlZCYmKHcoIm9uIiksdC5tb3VzZXdoZWVsLmVuYWJsZWQ9ITAsITApfWZ1bmN0aW9uIHgoKXtyZXR1cm4gdC5wYXJhbXMuY3NzTW9kZT8odC53cmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcihldmVudCx2KSwhMCk6ISF0Lm1vdXNld2hlZWwuZW5hYmxlZCYmKHcoIm9mZiIpLHQubW91c2V3aGVlbC5lbmFibGVkPSExLCEwKX1hKCJpbml0IiwoKCk9PnshdC5wYXJhbXMubW91c2V3aGVlbC5lbmFibGVkJiZ0LnBhcmFtcy5jc3NNb2RlJiZ4KCksdC5wYXJhbXMubW91c2V3aGVlbC5lbmFibGVkJiZiKCl9KSksYSgiZGVzdHJveSIsKCgpPT57dC5wYXJhbXMuY3NzTW9kZSYmYigpLHQubW91c2V3aGVlbC5lbmFibGVkJiZ4KCl9KSksT2JqZWN0LmFzc2lnbih0Lm1vdXNld2hlZWwse2VuYWJsZTpiLGRpc2FibGU6eH0pfSxmdW5jdGlvbihlKXtsZXR7c3dpcGVyOnQsZXh0ZW5kUGFyYW1zOnMsb246YSxlbWl0Oml9PWU7ZnVuY3Rpb24gcihlKXtsZXQgcztyZXR1cm4gZSYmKHM9ZChlKSx0LnBhcmFtcy51bmlxdWVOYXZFbGVtZW50cyYmInN0cmluZyI9PXR5cGVvZiBlJiZzLmxlbmd0aD4xJiYxPT09dC4kZWwuZmluZChlKS5sZW5ndGgmJihzPXQuJGVsLmZpbmQoZSkpKSxzfWZ1bmN0aW9uIG4oZSxzKXtjb25zdCBhPXQucGFyYW1zLm5hdmlnYXRpb247ZSYmZS5sZW5ndGg+MCYmKGVbcz8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKGEuZGlzYWJsZWRDbGFzcyksZVswXSYmIkJVVFRPTiI9PT1lWzBdLnRhZ05hbWUmJihlWzBdLmRpc2FibGVkPXMpLHQucGFyYW1zLndhdGNoT3ZlcmZsb3cmJnQuZW5hYmxlZCYmZVt0LmlzTG9ja2VkPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0oYS5sb2NrQ2xhc3MpKX1mdW5jdGlvbiBsKCl7aWYodC5wYXJhbXMubG9vcClyZXR1cm47Y29uc3R7JG5leHRFbDplLCRwcmV2RWw6c309dC5uYXZpZ2F0aW9uO24ocyx0LmlzQmVnaW5uaW5nJiYhdC5wYXJhbXMucmV3aW5kKSxuKGUsdC5pc0VuZCYmIXQucGFyYW1zLnJld2luZCl9ZnVuY3Rpb24gbyhlKXtlLnByZXZlbnREZWZhdWx0KCksKCF0LmlzQmVnaW5uaW5nfHx0LnBhcmFtcy5sb29wfHx0LnBhcmFtcy5yZXdpbmQpJiYodC5zbGlkZVByZXYoKSxpKCJuYXZpZ2F0aW9uUHJldiIpKX1mdW5jdGlvbiBjKGUpe2UucHJldmVudERlZmF1bHQoKSwoIXQuaXNFbmR8fHQucGFyYW1zLmxvb3B8fHQucGFyYW1zLnJld2luZCkmJih0LnNsaWRlTmV4dCgpLGkoIm5hdmlnYXRpb25OZXh0IikpfWZ1bmN0aW9uIHAoKXtjb25zdCBlPXQucGFyYW1zLm5hdmlnYXRpb247aWYodC5wYXJhbXMubmF2aWdhdGlvbj1GKHQsdC5vcmlnaW5hbFBhcmFtcy5uYXZpZ2F0aW9uLHQucGFyYW1zLm5hdmlnYXRpb24se25leHRFbDoic3dpcGVyLWJ1dHRvbi1uZXh0IixwcmV2RWw6InN3aXBlci1idXR0b24tcHJldiJ9KSwhZS5uZXh0RWwmJiFlLnByZXZFbClyZXR1cm47Y29uc3Qgcz1yKGUubmV4dEVsKSxhPXIoZS5wcmV2RWwpO3MmJnMubGVuZ3RoPjAmJnMub24oImNsaWNrIixjKSxhJiZhLmxlbmd0aD4wJiZhLm9uKCJjbGljayIsbyksT2JqZWN0LmFzc2lnbih0Lm5hdmlnYXRpb24seyRuZXh0RWw6cyxuZXh0RWw6cyYmc1swXSwkcHJldkVsOmEscHJldkVsOmEmJmFbMF19KSx0LmVuYWJsZWR8fChzJiZzLmFkZENsYXNzKGUubG9ja0NsYXNzKSxhJiZhLmFkZENsYXNzKGUubG9ja0NsYXNzKSl9ZnVuY3Rpb24gdSgpe2NvbnN0eyRuZXh0RWw6ZSwkcHJldkVsOnN9PXQubmF2aWdhdGlvbjtlJiZlLmxlbmd0aCYmKGUub2ZmKCJjbGljayIsYyksZS5yZW1vdmVDbGFzcyh0LnBhcmFtcy5uYXZpZ2F0aW9uLmRpc2FibGVkQ2xhc3MpKSxzJiZzLmxlbmd0aCYmKHMub2ZmKCJjbGljayIsbykscy5yZW1vdmVDbGFzcyh0LnBhcmFtcy5uYXZpZ2F0aW9uLmRpc2FibGVkQ2xhc3MpKX1zKHtuYXZpZ2F0aW9uOntuZXh0RWw6bnVsbCxwcmV2RWw6bnVsbCxoaWRlT25DbGljazohMSxkaXNhYmxlZENsYXNzOiJzd2lwZXItYnV0dG9uLWRpc2FibGVkIixoaWRkZW5DbGFzczoic3dpcGVyLWJ1dHRvbi1oaWRkZW4iLGxvY2tDbGFzczoic3dpcGVyLWJ1dHRvbi1sb2NrIixuYXZpZ2F0aW9uRGlzYWJsZWRDbGFzczoic3dpcGVyLW5hdmlnYXRpb24tZGlzYWJsZWQifX0pLHQubmF2aWdhdGlvbj17bmV4dEVsOm51bGwsJG5leHRFbDpudWxsLHByZXZFbDpudWxsLCRwcmV2RWw6bnVsbH0sYSgiaW5pdCIsKCgpPT57ITE9PT10LnBhcmFtcy5uYXZpZ2F0aW9uLmVuYWJsZWQ/aCgpOihwKCksbCgpKX0pKSxhKCJ0b0VkZ2UgZnJvbUVkZ2UgbG9jayB1bmxvY2siLCgoKT0+e2woKX0pKSxhKCJkZXN0cm95IiwoKCk9Pnt1KCl9KSksYSgiZW5hYmxlIGRpc2FibGUiLCgoKT0+e2NvbnN0eyRuZXh0RWw6ZSwkcHJldkVsOnN9PXQubmF2aWdhdGlvbjtlJiZlW3QuZW5hYmxlZD8icmVtb3ZlQ2xhc3MiOiJhZGRDbGFzcyJdKHQucGFyYW1zLm5hdmlnYXRpb24ubG9ja0NsYXNzKSxzJiZzW3QuZW5hYmxlZD8icmVtb3ZlQ2xhc3MiOiJhZGRDbGFzcyJdKHQucGFyYW1zLm5hdmlnYXRpb24ubG9ja0NsYXNzKX0pKSxhKCJjbGljayIsKChlLHMpPT57Y29uc3R7JG5leHRFbDphLCRwcmV2RWw6cn09dC5uYXZpZ2F0aW9uLG49cy50YXJnZXQ7aWYodC5wYXJhbXMubmF2aWdhdGlvbi5oaWRlT25DbGljayYmIWQobikuaXMocikmJiFkKG4pLmlzKGEpKXtpZih0LnBhZ2luYXRpb24mJnQucGFyYW1zLnBhZ2luYXRpb24mJnQucGFyYW1zLnBhZ2luYXRpb24uY2xpY2thYmxlJiYodC5wYWdpbmF0aW9uLmVsPT09bnx8dC5wYWdpbmF0aW9uLmVsLmNvbnRhaW5zKG4pKSlyZXR1cm47bGV0IGU7YT9lPWEuaGFzQ2xhc3ModC5wYXJhbXMubmF2aWdhdGlvbi5oaWRkZW5DbGFzcyk6ciYmKGU9ci5oYXNDbGFzcyh0LnBhcmFtcy5uYXZpZ2F0aW9uLmhpZGRlbkNsYXNzKSksaSghMD09PWU/Im5hdmlnYXRpb25TaG93IjoibmF2aWdhdGlvbkhpZGUiKSxhJiZhLnRvZ2dsZUNsYXNzKHQucGFyYW1zLm5hdmlnYXRpb24uaGlkZGVuQ2xhc3MpLHImJnIudG9nZ2xlQ2xhc3ModC5wYXJhbXMubmF2aWdhdGlvbi5oaWRkZW5DbGFzcyl9fSkpO2NvbnN0IGg9KCk9Pnt0LiRlbC5hZGRDbGFzcyh0LnBhcmFtcy5uYXZpZ2F0aW9uLm5hdmlnYXRpb25EaXNhYmxlZENsYXNzKSx1KCl9O09iamVjdC5hc3NpZ24odC5uYXZpZ2F0aW9uLHtlbmFibGU6KCk9Pnt0LiRlbC5yZW1vdmVDbGFzcyh0LnBhcmFtcy5uYXZpZ2F0aW9uLm5hdmlnYXRpb25EaXNhYmxlZENsYXNzKSxwKCksbCgpfSxkaXNhYmxlOmgsdXBkYXRlOmwsaW5pdDpwLGRlc3Ryb3k6dX0pfSxmdW5jdGlvbihlKXtsZXR7c3dpcGVyOnQsZXh0ZW5kUGFyYW1zOnMsb246YSxlbWl0Oml9PWU7Y29uc3Qgcj0ic3dpcGVyLXBhZ2luYXRpb24iO2xldCBuO3Moe3BhZ2luYXRpb246e2VsOm51bGwsYnVsbGV0RWxlbWVudDoic3BhbiIsY2xpY2thYmxlOiExLGhpZGVPbkNsaWNrOiExLHJlbmRlckJ1bGxldDpudWxsLHJlbmRlclByb2dyZXNzYmFyOm51bGwscmVuZGVyRnJhY3Rpb246bnVsbCxyZW5kZXJDdXN0b206bnVsbCxwcm9ncmVzc2Jhck9wcG9zaXRlOiExLHR5cGU6ImJ1bGxldHMiLGR5bmFtaWNCdWxsZXRzOiExLGR5bmFtaWNNYWluQnVsbGV0czoxLGZvcm1hdEZyYWN0aW9uQ3VycmVudDplPT5lLGZvcm1hdEZyYWN0aW9uVG90YWw6ZT0+ZSxidWxsZXRDbGFzczpgJHtyfS1idWxsZXRgLGJ1bGxldEFjdGl2ZUNsYXNzOmAke3J9LWJ1bGxldC1hY3RpdmVgLG1vZGlmaWVyQ2xhc3M6YCR7cn0tYCxjdXJyZW50Q2xhc3M6YCR7cn0tY3VycmVudGAsdG90YWxDbGFzczpgJHtyfS10b3RhbGAsaGlkZGVuQ2xhc3M6YCR7cn0taGlkZGVuYCxwcm9ncmVzc2JhckZpbGxDbGFzczpgJHtyfS1wcm9ncmVzc2Jhci1maWxsYCxwcm9ncmVzc2Jhck9wcG9zaXRlQ2xhc3M6YCR7cn0tcHJvZ3Jlc3NiYXItb3Bwb3NpdGVgLGNsaWNrYWJsZUNsYXNzOmAke3J9LWNsaWNrYWJsZWAsbG9ja0NsYXNzOmAke3J9LWxvY2tgLGhvcml6b250YWxDbGFzczpgJHtyfS1ob3Jpem9udGFsYCx2ZXJ0aWNhbENsYXNzOmAke3J9LXZlcnRpY2FsYCxwYWdpbmF0aW9uRGlzYWJsZWRDbGFzczpgJHtyfS1kaXNhYmxlZGB9fSksdC5wYWdpbmF0aW9uPXtlbDpudWxsLCRlbDpudWxsLGJ1bGxldHM6W119O2xldCBsPTA7ZnVuY3Rpb24gbygpe3JldHVybiF0LnBhcmFtcy5wYWdpbmF0aW9uLmVsfHwhdC5wYWdpbmF0aW9uLmVsfHwhdC5wYWdpbmF0aW9uLiRlbHx8MD09PXQucGFnaW5hdGlvbi4kZWwubGVuZ3RofWZ1bmN0aW9uIGMoZSxzKXtjb25zdHtidWxsZXRBY3RpdmVDbGFzczphfT10LnBhcmFtcy5wYWdpbmF0aW9uO2Vbc10oKS5hZGRDbGFzcyhgJHthfS0ke3N9YClbc10oKS5hZGRDbGFzcyhgJHthfS0ke3N9LSR7c31gKX1mdW5jdGlvbiBwKCl7Y29uc3QgZT10LnJ0bCxzPXQucGFyYW1zLnBhZ2luYXRpb247aWYobygpKXJldHVybjtjb25zdCBhPXQudmlydHVhbCYmdC5wYXJhbXMudmlydHVhbC5lbmFibGVkP3QudmlydHVhbC5zbGlkZXMubGVuZ3RoOnQuc2xpZGVzLmxlbmd0aCxyPXQucGFnaW5hdGlvbi4kZWw7bGV0IHA7Y29uc3QgdT10LnBhcmFtcy5sb29wP01hdGguY2VpbCgoYS0yKnQubG9vcGVkU2xpZGVzKS90LnBhcmFtcy5zbGlkZXNQZXJHcm91cCk6dC5zbmFwR3JpZC5sZW5ndGg7aWYodC5wYXJhbXMubG9vcD8ocD1NYXRoLmNlaWwoKHQuYWN0aXZlSW5kZXgtdC5sb29wZWRTbGlkZXMpL3QucGFyYW1zLnNsaWRlc1Blckdyb3VwKSxwPmEtMS0yKnQubG9vcGVkU2xpZGVzJiYocC09YS0yKnQubG9vcGVkU2xpZGVzKSxwPnUtMSYmKHAtPXUpLHA8MCYmImJ1bGxldHMiIT09dC5wYXJhbXMucGFnaW5hdGlvblR5cGUmJihwPXUrcCkpOnA9dm9pZCAwIT09dC5zbmFwSW5kZXg/dC5zbmFwSW5kZXg6dC5hY3RpdmVJbmRleHx8MCwiYnVsbGV0cyI9PT1zLnR5cGUmJnQucGFnaW5hdGlvbi5idWxsZXRzJiZ0LnBhZ2luYXRpb24uYnVsbGV0cy5sZW5ndGg+MCl7Y29uc3QgYT10LnBhZ2luYXRpb24uYnVsbGV0cztsZXQgaSxvLHU7aWYocy5keW5hbWljQnVsbGV0cyYmKG49YS5lcSgwKVt0LmlzSG9yaXpvbnRhbCgpPyJvdXRlcldpZHRoIjoib3V0ZXJIZWlnaHQiXSghMCksci5jc3ModC5pc0hvcml6b250YWwoKT8id2lkdGgiOiJoZWlnaHQiLG4qKHMuZHluYW1pY01haW5CdWxsZXRzKzQpKyJweCIpLHMuZHluYW1pY01haW5CdWxsZXRzPjEmJnZvaWQgMCE9PXQucHJldmlvdXNJbmRleCYmKGwrPXAtKHQucHJldmlvdXNJbmRleC10Lmxvb3BlZFNsaWRlc3x8MCksbD5zLmR5bmFtaWNNYWluQnVsbGV0cy0xP2w9cy5keW5hbWljTWFpbkJ1bGxldHMtMTpsPDAmJihsPTApKSxpPU1hdGgubWF4KHAtbCwwKSxvPWkrKE1hdGgubWluKGEubGVuZ3RoLHMuZHluYW1pY01haW5CdWxsZXRzKS0xKSx1PShvK2kpLzIpLGEucmVtb3ZlQ2xhc3MoWyIiLCItbmV4dCIsIi1uZXh0LW5leHQiLCItcHJldiIsIi1wcmV2LXByZXYiLCItbWFpbiJdLm1hcCgoZT0+YCR7cy5idWxsZXRBY3RpdmVDbGFzc30ke2V9YCkpLmpvaW4oIiAiKSksci5sZW5ndGg+MSlhLmVhY2goKGU9Pntjb25zdCB0PWQoZSksYT10LmluZGV4KCk7YT09PXAmJnQuYWRkQ2xhc3Mocy5idWxsZXRBY3RpdmVDbGFzcykscy5keW5hbWljQnVsbGV0cyYmKGE+PWkmJmE8PW8mJnQuYWRkQ2xhc3MoYCR7cy5idWxsZXRBY3RpdmVDbGFzc30tbWFpbmApLGE9PT1pJiZjKHQsInByZXYiKSxhPT09byYmYyh0LCJuZXh0IikpfSkpO2Vsc2V7Y29uc3QgZT1hLmVxKHApLHI9ZS5pbmRleCgpO2lmKGUuYWRkQ2xhc3Mocy5idWxsZXRBY3RpdmVDbGFzcykscy5keW5hbWljQnVsbGV0cyl7Y29uc3QgZT1hLmVxKGkpLG49YS5lcShvKTtmb3IobGV0IGU9aTtlPD1vO2UrPTEpYS5lcShlKS5hZGRDbGFzcyhgJHtzLmJ1bGxldEFjdGl2ZUNsYXNzfS1tYWluYCk7aWYodC5wYXJhbXMubG9vcClpZihyPj1hLmxlbmd0aCl7Zm9yKGxldCBlPXMuZHluYW1pY01haW5CdWxsZXRzO2U+PTA7ZS09MSlhLmVxKGEubGVuZ3RoLWUpLmFkZENsYXNzKGAke3MuYnVsbGV0QWN0aXZlQ2xhc3N9LW1haW5gKTthLmVxKGEubGVuZ3RoLXMuZHluYW1pY01haW5CdWxsZXRzLTEpLmFkZENsYXNzKGAke3MuYnVsbGV0QWN0aXZlQ2xhc3N9LXByZXZgKX1lbHNlIGMoZSwicHJldiIpLGMobiwibmV4dCIpO2Vsc2UgYyhlLCJwcmV2IiksYyhuLCJuZXh0Iil9fWlmKHMuZHluYW1pY0J1bGxldHMpe2NvbnN0IGk9TWF0aC5taW4oYS5sZW5ndGgscy5keW5hbWljTWFpbkJ1bGxldHMrNCkscj0obippLW4pLzItdSpuLGw9ZT8icmlnaHQiOiJsZWZ0IjthLmNzcyh0LmlzSG9yaXpvbnRhbCgpP2w6InRvcCIsYCR7cn1weGApfX1pZigiZnJhY3Rpb24iPT09cy50eXBlJiYoci5maW5kKFUocy5jdXJyZW50Q2xhc3MpKS50ZXh0KHMuZm9ybWF0RnJhY3Rpb25DdXJyZW50KHArMSkpLHIuZmluZChVKHMudG90YWxDbGFzcykpLnRleHQocy5mb3JtYXRGcmFjdGlvblRvdGFsKHUpKSksInByb2dyZXNzYmFyIj09PXMudHlwZSl7bGV0IGU7ZT1zLnByb2dyZXNzYmFyT3Bwb3NpdGU/dC5pc0hvcml6b250YWwoKT8idmVydGljYWwiOiJob3Jpem9udGFsIjp0LmlzSG9yaXpvbnRhbCgpPyJob3Jpem9udGFsIjoidmVydGljYWwiO2NvbnN0IGE9KHArMSkvdTtsZXQgaT0xLG49MTsiaG9yaXpvbnRhbCI9PT1lP2k9YTpuPWEsci5maW5kKFUocy5wcm9ncmVzc2JhckZpbGxDbGFzcykpLnRyYW5zZm9ybShgdHJhbnNsYXRlM2QoMCwwLDApIHNjYWxlWCgke2l9KSBzY2FsZVkoJHtufSlgKS50cmFuc2l0aW9uKHQucGFyYW1zLnNwZWVkKX0iY3VzdG9tIj09PXMudHlwZSYmcy5yZW5kZXJDdXN0b20/KHIuaHRtbChzLnJlbmRlckN1c3RvbSh0LHArMSx1KSksaSgicGFnaW5hdGlvblJlbmRlciIsclswXSkpOmkoInBhZ2luYXRpb25VcGRhdGUiLHJbMF0pLHQucGFyYW1zLndhdGNoT3ZlcmZsb3cmJnQuZW5hYmxlZCYmclt0LmlzTG9ja2VkPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0ocy5sb2NrQ2xhc3MpfWZ1bmN0aW9uIHUoKXtjb25zdCBlPXQucGFyYW1zLnBhZ2luYXRpb247aWYobygpKXJldHVybjtjb25zdCBzPXQudmlydHVhbCYmdC5wYXJhbXMudmlydHVhbC5lbmFibGVkP3QudmlydHVhbC5zbGlkZXMubGVuZ3RoOnQuc2xpZGVzLmxlbmd0aCxhPXQucGFnaW5hdGlvbi4kZWw7bGV0IHI9IiI7aWYoImJ1bGxldHMiPT09ZS50eXBlKXtsZXQgaT10LnBhcmFtcy5sb29wP01hdGguY2VpbCgocy0yKnQubG9vcGVkU2xpZGVzKS90LnBhcmFtcy5zbGlkZXNQZXJHcm91cCk6dC5zbmFwR3JpZC5sZW5ndGg7dC5wYXJhbXMuZnJlZU1vZGUmJnQucGFyYW1zLmZyZWVNb2RlLmVuYWJsZWQmJiF0LnBhcmFtcy5sb29wJiZpPnMmJihpPXMpO2ZvcihsZXQgcz0wO3M8aTtzKz0xKWUucmVuZGVyQnVsbGV0P3IrPWUucmVuZGVyQnVsbGV0LmNhbGwodCxzLGUuYnVsbGV0Q2xhc3MpOnIrPWA8JHtlLmJ1bGxldEVsZW1lbnR9IGNsYXNzPSIke2UuYnVsbGV0Q2xhc3N9Ij48LyR7ZS5idWxsZXRFbGVtZW50fT5gO2EuaHRtbChyKSx0LnBhZ2luYXRpb24uYnVsbGV0cz1hLmZpbmQoVShlLmJ1bGxldENsYXNzKSl9ImZyYWN0aW9uIj09PWUudHlwZSYmKHI9ZS5yZW5kZXJGcmFjdGlvbj9lLnJlbmRlckZyYWN0aW9uLmNhbGwodCxlLmN1cnJlbnRDbGFzcyxlLnRvdGFsQ2xhc3MpOmA8c3BhbiBjbGFzcz0iJHtlLmN1cnJlbnRDbGFzc30iPjwvc3Bhbj4gLyA8c3BhbiBjbGFzcz0iJHtlLnRvdGFsQ2xhc3N9Ij48L3NwYW4+YCxhLmh0bWwocikpLCJwcm9ncmVzc2JhciI9PT1lLnR5cGUmJihyPWUucmVuZGVyUHJvZ3Jlc3NiYXI/ZS5yZW5kZXJQcm9ncmVzc2Jhci5jYWxsKHQsZS5wcm9ncmVzc2JhckZpbGxDbGFzcyk6YDxzcGFuIGNsYXNzPSIke2UucHJvZ3Jlc3NiYXJGaWxsQ2xhc3N9Ij48L3NwYW4+YCxhLmh0bWwocikpLCJjdXN0b20iIT09ZS50eXBlJiZpKCJwYWdpbmF0aW9uUmVuZGVyIix0LnBhZ2luYXRpb24uJGVsWzBdKX1mdW5jdGlvbiBoKCl7dC5wYXJhbXMucGFnaW5hdGlvbj1GKHQsdC5vcmlnaW5hbFBhcmFtcy5wYWdpbmF0aW9uLHQucGFyYW1zLnBhZ2luYXRpb24se2VsOiJzd2lwZXItcGFnaW5hdGlvbiJ9KTtjb25zdCBlPXQucGFyYW1zLnBhZ2luYXRpb247aWYoIWUuZWwpcmV0dXJuO2xldCBzPWQoZS5lbCk7MCE9PXMubGVuZ3RoJiYodC5wYXJhbXMudW5pcXVlTmF2RWxlbWVudHMmJiJzdHJpbmciPT10eXBlb2YgZS5lbCYmcy5sZW5ndGg+MSYmKHM9dC4kZWwuZmluZChlLmVsKSxzLmxlbmd0aD4xJiYocz1zLmZpbHRlcigoZT0+ZChlKS5wYXJlbnRzKCIuc3dpcGVyIilbMF09PT10LmVsKSkpKSwiYnVsbGV0cyI9PT1lLnR5cGUmJmUuY2xpY2thYmxlJiZzLmFkZENsYXNzKGUuY2xpY2thYmxlQ2xhc3MpLHMuYWRkQ2xhc3MoZS5tb2RpZmllckNsYXNzK2UudHlwZSkscy5hZGRDbGFzcyh0LmlzSG9yaXpvbnRhbCgpP2UuaG9yaXpvbnRhbENsYXNzOmUudmVydGljYWxDbGFzcyksImJ1bGxldHMiPT09ZS50eXBlJiZlLmR5bmFtaWNCdWxsZXRzJiYocy5hZGRDbGFzcyhgJHtlLm1vZGlmaWVyQ2xhc3N9JHtlLnR5cGV9LWR5bmFtaWNgKSxsPTAsZS5keW5hbWljTWFpbkJ1bGxldHM8MSYmKGUuZHluYW1pY01haW5CdWxsZXRzPTEpKSwicHJvZ3Jlc3NiYXIiPT09ZS50eXBlJiZlLnByb2dyZXNzYmFyT3Bwb3NpdGUmJnMuYWRkQ2xhc3MoZS5wcm9ncmVzc2Jhck9wcG9zaXRlQ2xhc3MpLGUuY2xpY2thYmxlJiZzLm9uKCJjbGljayIsVShlLmJ1bGxldENsYXNzKSwoZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBzPWQodGhpcykuaW5kZXgoKSp0LnBhcmFtcy5zbGlkZXNQZXJHcm91cDt0LnBhcmFtcy5sb29wJiYocys9dC5sb29wZWRTbGlkZXMpLHQuc2xpZGVUbyhzKX0pKSxPYmplY3QuYXNzaWduKHQucGFnaW5hdGlvbix7JGVsOnMsZWw6c1swXX0pLHQuZW5hYmxlZHx8cy5hZGRDbGFzcyhlLmxvY2tDbGFzcykpfWZ1bmN0aW9uIG0oKXtjb25zdCBlPXQucGFyYW1zLnBhZ2luYXRpb247aWYobygpKXJldHVybjtjb25zdCBzPXQucGFnaW5hdGlvbi4kZWw7cy5yZW1vdmVDbGFzcyhlLmhpZGRlbkNsYXNzKSxzLnJlbW92ZUNsYXNzKGUubW9kaWZpZXJDbGFzcytlLnR5cGUpLHMucmVtb3ZlQ2xhc3ModC5pc0hvcml6b250YWwoKT9lLmhvcml6b250YWxDbGFzczplLnZlcnRpY2FsQ2xhc3MpLHQucGFnaW5hdGlvbi5idWxsZXRzJiZ0LnBhZ2luYXRpb24uYnVsbGV0cy5yZW1vdmVDbGFzcyYmdC5wYWdpbmF0aW9uLmJ1bGxldHMucmVtb3ZlQ2xhc3MoZS5idWxsZXRBY3RpdmVDbGFzcyksZS5jbGlja2FibGUmJnMub2ZmKCJjbGljayIsVShlLmJ1bGxldENsYXNzKSl9YSgiaW5pdCIsKCgpPT57ITE9PT10LnBhcmFtcy5wYWdpbmF0aW9uLmVuYWJsZWQ/ZigpOihoKCksdSgpLHAoKSl9KSksYSgiYWN0aXZlSW5kZXhDaGFuZ2UiLCgoKT0+eyh0LnBhcmFtcy5sb29wfHx2b2lkIDA9PT10LnNuYXBJbmRleCkmJnAoKX0pKSxhKCJzbmFwSW5kZXhDaGFuZ2UiLCgoKT0+e3QucGFyYW1zLmxvb3B8fHAoKX0pKSxhKCJzbGlkZXNMZW5ndGhDaGFuZ2UiLCgoKT0+e3QucGFyYW1zLmxvb3AmJih1KCkscCgpKX0pKSxhKCJzbmFwR3JpZExlbmd0aENoYW5nZSIsKCgpPT57dC5wYXJhbXMubG9vcHx8KHUoKSxwKCkpfSkpLGEoImRlc3Ryb3kiLCgoKT0+e20oKX0pKSxhKCJlbmFibGUgZGlzYWJsZSIsKCgpPT57Y29uc3R7JGVsOmV9PXQucGFnaW5hdGlvbjtlJiZlW3QuZW5hYmxlZD8icmVtb3ZlQ2xhc3MiOiJhZGRDbGFzcyJdKHQucGFyYW1zLnBhZ2luYXRpb24ubG9ja0NsYXNzKX0pKSxhKCJsb2NrIHVubG9jayIsKCgpPT57cCgpfSkpLGEoImNsaWNrIiwoKGUscyk9Pntjb25zdCBhPXMudGFyZ2V0LHskZWw6cn09dC5wYWdpbmF0aW9uO2lmKHQucGFyYW1zLnBhZ2luYXRpb24uZWwmJnQucGFyYW1zLnBhZ2luYXRpb24uaGlkZU9uQ2xpY2smJnImJnIubGVuZ3RoPjAmJiFkKGEpLmhhc0NsYXNzKHQucGFyYW1zLnBhZ2luYXRpb24uYnVsbGV0Q2xhc3MpKXtpZih0Lm5hdmlnYXRpb24mJih0Lm5hdmlnYXRpb24ubmV4dEVsJiZhPT09dC5uYXZpZ2F0aW9uLm5leHRFbHx8dC5uYXZpZ2F0aW9uLnByZXZFbCYmYT09PXQubmF2aWdhdGlvbi5wcmV2RWwpKXJldHVybjtjb25zdCBlPXIuaGFzQ2xhc3ModC5wYXJhbXMucGFnaW5hdGlvbi5oaWRkZW5DbGFzcyk7aSghMD09PWU/InBhZ2luYXRpb25TaG93IjoicGFnaW5hdGlvbkhpZGUiKSxyLnRvZ2dsZUNsYXNzKHQucGFyYW1zLnBhZ2luYXRpb24uaGlkZGVuQ2xhc3MpfX0pKTtjb25zdCBmPSgpPT57dC4kZWwuYWRkQ2xhc3ModC5wYXJhbXMucGFnaW5hdGlvbi5wYWdpbmF0aW9uRGlzYWJsZWRDbGFzcyksdC5wYWdpbmF0aW9uLiRlbCYmdC5wYWdpbmF0aW9uLiRlbC5hZGRDbGFzcyh0LnBhcmFtcy5wYWdpbmF0aW9uLnBhZ2luYXRpb25EaXNhYmxlZENsYXNzKSxtKCl9O09iamVjdC5hc3NpZ24odC5wYWdpbmF0aW9uLHtlbmFibGU6KCk9Pnt0LiRlbC5yZW1vdmVDbGFzcyh0LnBhcmFtcy5wYWdpbmF0aW9uLnBhZ2luYXRpb25EaXNhYmxlZENsYXNzKSx0LnBhZ2luYXRpb24uJGVsJiZ0LnBhZ2luYXRpb24uJGVsLnJlbW92ZUNsYXNzKHQucGFyYW1zLnBhZ2luYXRpb24ucGFnaW5hdGlvbkRpc2FibGVkQ2xhc3MpLGgoKSx1KCkscCgpfSxkaXNhYmxlOmYscmVuZGVyOnUsdXBkYXRlOnAsaW5pdDpoLGRlc3Ryb3k6bX0pfSxmdW5jdGlvbihlKXtsZXR7c3dpcGVyOnQsZXh0ZW5kUGFyYW1zOnMsb246aSxlbWl0OnJ9PWU7Y29uc3Qgbj1hKCk7bGV0IGwsbyxjLHUsaD0hMSxtPW51bGwsZj1udWxsO2Z1bmN0aW9uIGcoKXtpZighdC5wYXJhbXMuc2Nyb2xsYmFyLmVsfHwhdC5zY3JvbGxiYXIuZWwpcmV0dXJuO2NvbnN0e3Njcm9sbGJhcjplLHJ0bFRyYW5zbGF0ZTpzLHByb2dyZXNzOmF9PXQseyRkcmFnRWw6aSwkZWw6cn09ZSxuPXQucGFyYW1zLnNjcm9sbGJhcjtsZXQgbD1vLGQ9KGMtbykqYTtzPyhkPS1kLGQ+MD8obD1vLWQsZD0wKTotZCtvPmMmJihsPWMrZCkpOmQ8MD8obD1vK2QsZD0wKTpkK28+YyYmKGw9Yy1kKSx0LmlzSG9yaXpvbnRhbCgpPyhpLnRyYW5zZm9ybShgdHJhbnNsYXRlM2QoJHtkfXB4LCAwLCAwKWApLGlbMF0uc3R5bGUud2lkdGg9YCR7bH1weGApOihpLnRyYW5zZm9ybShgdHJhbnNsYXRlM2QoMHB4LCAke2R9cHgsIDApYCksaVswXS5zdHlsZS5oZWlnaHQ9YCR7bH1weGApLG4uaGlkZSYmKGNsZWFyVGltZW91dChtKSxyWzBdLnN0eWxlLm9wYWNpdHk9MSxtPXNldFRpbWVvdXQoKCgpPT57clswXS5zdHlsZS5vcGFjaXR5PTAsci50cmFuc2l0aW9uKDQwMCl9KSwxZTMpKX1mdW5jdGlvbiB2KCl7aWYoIXQucGFyYW1zLnNjcm9sbGJhci5lbHx8IXQuc2Nyb2xsYmFyLmVsKXJldHVybjtjb25zdHtzY3JvbGxiYXI6ZX09dCx7JGRyYWdFbDpzLCRlbDphfT1lO3NbMF0uc3R5bGUud2lkdGg9IiIsc1swXS5zdHlsZS5oZWlnaHQ9IiIsYz10LmlzSG9yaXpvbnRhbCgpP2FbMF0ub2Zmc2V0V2lkdGg6YVswXS5vZmZzZXRIZWlnaHQsdT10LnNpemUvKHQudmlydHVhbFNpemUrdC5wYXJhbXMuc2xpZGVzT2Zmc2V0QmVmb3JlLSh0LnBhcmFtcy5jZW50ZXJlZFNsaWRlcz90LnNuYXBHcmlkWzBdOjApKSxvPSJhdXRvIj09PXQucGFyYW1zLnNjcm9sbGJhci5kcmFnU2l6ZT9jKnU6cGFyc2VJbnQodC5wYXJhbXMuc2Nyb2xsYmFyLmRyYWdTaXplLDEwKSx0LmlzSG9yaXpvbnRhbCgpP3NbMF0uc3R5bGUud2lkdGg9YCR7b31weGA6c1swXS5zdHlsZS5oZWlnaHQ9YCR7b31weGAsYVswXS5zdHlsZS5kaXNwbGF5PXU+PTE/Im5vbmUiOiIiLHQucGFyYW1zLnNjcm9sbGJhci5oaWRlJiYoYVswXS5zdHlsZS5vcGFjaXR5PTApLHQucGFyYW1zLndhdGNoT3ZlcmZsb3cmJnQuZW5hYmxlZCYmZS4kZWxbdC5pc0xvY2tlZD8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKHQucGFyYW1zLnNjcm9sbGJhci5sb2NrQ2xhc3MpfWZ1bmN0aW9uIHcoZSl7cmV0dXJuIHQuaXNIb3Jpem9udGFsKCk/InRvdWNoc3RhcnQiPT09ZS50eXBlfHwidG91Y2htb3ZlIj09PWUudHlwZT9lLnRhcmdldFRvdWNoZXNbMF0uY2xpZW50WDplLmNsaWVudFg6InRvdWNoc3RhcnQiPT09ZS50eXBlfHwidG91Y2htb3ZlIj09PWUudHlwZT9lLnRhcmdldFRvdWNoZXNbMF0uY2xpZW50WTplLmNsaWVudFl9ZnVuY3Rpb24gYihlKXtjb25zdHtzY3JvbGxiYXI6cyxydGxUcmFuc2xhdGU6YX09dCx7JGVsOml9PXM7bGV0IHI7cj0odyhlKS1pLm9mZnNldCgpW3QuaXNIb3Jpem9udGFsKCk/ImxlZnQiOiJ0b3AiXS0obnVsbCE9PWw/bDpvLzIpKS8oYy1vKSxyPU1hdGgubWF4KE1hdGgubWluKHIsMSksMCksYSYmKHI9MS1yKTtjb25zdCBuPXQubWluVHJhbnNsYXRlKCkrKHQubWF4VHJhbnNsYXRlKCktdC5taW5UcmFuc2xhdGUoKSkqcjt0LnVwZGF0ZVByb2dyZXNzKG4pLHQuc2V0VHJhbnNsYXRlKG4pLHQudXBkYXRlQWN0aXZlSW5kZXgoKSx0LnVwZGF0ZVNsaWRlc0NsYXNzZXMoKX1mdW5jdGlvbiB4KGUpe2NvbnN0IHM9dC5wYXJhbXMuc2Nyb2xsYmFyLHtzY3JvbGxiYXI6YSwkd3JhcHBlckVsOml9PXQseyRlbDpuLCRkcmFnRWw6b309YTtoPSEwLGw9ZS50YXJnZXQ9PT1vWzBdfHxlLnRhcmdldD09PW8/dyhlKS1lLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVt0LmlzSG9yaXpvbnRhbCgpPyJsZWZ0IjoidG9wIl06bnVsbCxlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSxpLnRyYW5zaXRpb24oMTAwKSxvLnRyYW5zaXRpb24oMTAwKSxiKGUpLGNsZWFyVGltZW91dChmKSxuLnRyYW5zaXRpb24oMCkscy5oaWRlJiZuLmNzcygib3BhY2l0eSIsMSksdC5wYXJhbXMuY3NzTW9kZSYmdC4kd3JhcHBlckVsLmNzcygic2Nyb2xsLXNuYXAtdHlwZSIsIm5vbmUiKSxyKCJzY3JvbGxiYXJEcmFnU3RhcnQiLGUpfWZ1bmN0aW9uIHkoZSl7Y29uc3R7c2Nyb2xsYmFyOnMsJHdyYXBwZXJFbDphfT10LHskZWw6aSwkZHJhZ0VsOm59PXM7aCYmKGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOmUucmV0dXJuVmFsdWU9ITEsYihlKSxhLnRyYW5zaXRpb24oMCksaS50cmFuc2l0aW9uKDApLG4udHJhbnNpdGlvbigwKSxyKCJzY3JvbGxiYXJEcmFnTW92ZSIsZSkpfWZ1bmN0aW9uIEUoZSl7Y29uc3Qgcz10LnBhcmFtcy5zY3JvbGxiYXIse3Njcm9sbGJhcjphLCR3cmFwcGVyRWw6aX09dCx7JGVsOm59PWE7aCYmKGg9ITEsdC5wYXJhbXMuY3NzTW9kZSYmKHQuJHdyYXBwZXJFbC5jc3MoInNjcm9sbC1zbmFwLXR5cGUiLCIiKSxpLnRyYW5zaXRpb24oIiIpKSxzLmhpZGUmJihjbGVhclRpbWVvdXQoZiksZj1wKCgoKT0+e24uY3NzKCJvcGFjaXR5IiwwKSxuLnRyYW5zaXRpb24oNDAwKX0pLDFlMykpLHIoInNjcm9sbGJhckRyYWdFbmQiLGUpLHMuc25hcE9uUmVsZWFzZSYmdC5zbGlkZVRvQ2xvc2VzdCgpKX1mdW5jdGlvbiBDKGUpe2NvbnN0e3Njcm9sbGJhcjpzLHRvdWNoRXZlbnRzVG91Y2g6YSx0b3VjaEV2ZW50c0Rlc2t0b3A6aSxwYXJhbXM6cixzdXBwb3J0Omx9PXQsbz1zLiRlbDtpZighbylyZXR1cm47Y29uc3QgZD1vWzBdLGM9ISghbC5wYXNzaXZlTGlzdGVuZXJ8fCFyLnBhc3NpdmVMaXN0ZW5lcnMpJiZ7cGFzc2l2ZTohMSxjYXB0dXJlOiExfSxwPSEoIWwucGFzc2l2ZUxpc3RlbmVyfHwhci5wYXNzaXZlTGlzdGVuZXJzKSYme3Bhc3NpdmU6ITAsY2FwdHVyZTohMX07aWYoIWQpcmV0dXJuO2NvbnN0IHU9Im9uIj09PWU/ImFkZEV2ZW50TGlzdGVuZXIiOiJyZW1vdmVFdmVudExpc3RlbmVyIjtsLnRvdWNoPyhkW3VdKGEuc3RhcnQseCxjKSxkW3VdKGEubW92ZSx5LGMpLGRbdV0oYS5lbmQsRSxwKSk6KGRbdV0oaS5zdGFydCx4LGMpLG5bdV0oaS5tb3ZlLHksYyksblt1XShpLmVuZCxFLHApKX1mdW5jdGlvbiBUKCl7Y29uc3R7c2Nyb2xsYmFyOmUsJGVsOnN9PXQ7dC5wYXJhbXMuc2Nyb2xsYmFyPUYodCx0Lm9yaWdpbmFsUGFyYW1zLnNjcm9sbGJhcix0LnBhcmFtcy5zY3JvbGxiYXIse2VsOiJzd2lwZXItc2Nyb2xsYmFyIn0pO2NvbnN0IGE9dC5wYXJhbXMuc2Nyb2xsYmFyO2lmKCFhLmVsKXJldHVybjtsZXQgaT1kKGEuZWwpO3QucGFyYW1zLnVuaXF1ZU5hdkVsZW1lbnRzJiYic3RyaW5nIj09dHlwZW9mIGEuZWwmJmkubGVuZ3RoPjEmJjE9PT1zLmZpbmQoYS5lbCkubGVuZ3RoJiYoaT1zLmZpbmQoYS5lbCkpLGkuYWRkQ2xhc3ModC5pc0hvcml6b250YWwoKT9hLmhvcml6b250YWxDbGFzczphLnZlcnRpY2FsQ2xhc3MpO2xldCByPWkuZmluZChgLiR7dC5wYXJhbXMuc2Nyb2xsYmFyLmRyYWdDbGFzc31gKTswPT09ci5sZW5ndGgmJihyPWQoYDxkaXYgY2xhc3M9IiR7dC5wYXJhbXMuc2Nyb2xsYmFyLmRyYWdDbGFzc30iPjwvZGl2PmApLGkuYXBwZW5kKHIpKSxPYmplY3QuYXNzaWduKGUseyRlbDppLGVsOmlbMF0sJGRyYWdFbDpyLGRyYWdFbDpyWzBdfSksYS5kcmFnZ2FibGUmJnQucGFyYW1zLnNjcm9sbGJhci5lbCYmdC5zY3JvbGxiYXIuZWwmJkMoIm9uIiksaSYmaVt0LmVuYWJsZWQ/InJlbW92ZUNsYXNzIjoiYWRkQ2xhc3MiXSh0LnBhcmFtcy5zY3JvbGxiYXIubG9ja0NsYXNzKX1mdW5jdGlvbiAkKCl7Y29uc3QgZT10LnBhcmFtcy5zY3JvbGxiYXIscz10LnNjcm9sbGJhci4kZWw7cyYmcy5yZW1vdmVDbGFzcyh0LmlzSG9yaXpvbnRhbCgpP2UuaG9yaXpvbnRhbENsYXNzOmUudmVydGljYWxDbGFzcyksdC5wYXJhbXMuc2Nyb2xsYmFyLmVsJiZ0LnNjcm9sbGJhci5lbCYmQygib2ZmIil9cyh7c2Nyb2xsYmFyOntlbDpudWxsLGRyYWdTaXplOiJhdXRvIixoaWRlOiExLGRyYWdnYWJsZTohMSxzbmFwT25SZWxlYXNlOiEwLGxvY2tDbGFzczoic3dpcGVyLXNjcm9sbGJhci1sb2NrIixkcmFnQ2xhc3M6InN3aXBlci1zY3JvbGxiYXItZHJhZyIsc2Nyb2xsYmFyRGlzYWJsZWRDbGFzczoic3dpcGVyLXNjcm9sbGJhci1kaXNhYmxlZCIsaG9yaXpvbnRhbENsYXNzOiJzd2lwZXItc2Nyb2xsYmFyLWhvcml6b250YWwiLHZlcnRpY2FsQ2xhc3M6InN3aXBlci1zY3JvbGxiYXItdmVydGljYWwifX0pLHQuc2Nyb2xsYmFyPXtlbDpudWxsLGRyYWdFbDpudWxsLCRlbDpudWxsLCRkcmFnRWw6bnVsbH0saSgiaW5pdCIsKCgpPT57ITE9PT10LnBhcmFtcy5zY3JvbGxiYXIuZW5hYmxlZD9TKCk6KFQoKSx2KCksZygpKX0pKSxpKCJ1cGRhdGUgcmVzaXplIG9ic2VydmVyVXBkYXRlIGxvY2sgdW5sb2NrIiwoKCk9Pnt2KCl9KSksaSgic2V0VHJhbnNsYXRlIiwoKCk9PntnKCl9KSksaSgic2V0VHJhbnNpdGlvbiIsKChlLHMpPT57IWZ1bmN0aW9uKGUpe3QucGFyYW1zLnNjcm9sbGJhci5lbCYmdC5zY3JvbGxiYXIuZWwmJnQuc2Nyb2xsYmFyLiRkcmFnRWwudHJhbnNpdGlvbihlKX0ocyl9KSksaSgiZW5hYmxlIGRpc2FibGUiLCgoKT0+e2NvbnN0eyRlbDplfT10LnNjcm9sbGJhcjtlJiZlW3QuZW5hYmxlZD8icmVtb3ZlQ2xhc3MiOiJhZGRDbGFzcyJdKHQucGFyYW1zLnNjcm9sbGJhci5sb2NrQ2xhc3MpfSkpLGkoImRlc3Ryb3kiLCgoKT0+eyQoKX0pKTtjb25zdCBTPSgpPT57dC4kZWwuYWRkQ2xhc3ModC5wYXJhbXMuc2Nyb2xsYmFyLnNjcm9sbGJhckRpc2FibGVkQ2xhc3MpLHQuc2Nyb2xsYmFyLiRlbCYmdC5zY3JvbGxiYXIuJGVsLmFkZENsYXNzKHQucGFyYW1zLnNjcm9sbGJhci5zY3JvbGxiYXJEaXNhYmxlZENsYXNzKSwkKCl9O09iamVjdC5hc3NpZ24odC5zY3JvbGxiYXIse2VuYWJsZTooKT0+e3QuJGVsLnJlbW92ZUNsYXNzKHQucGFyYW1zLnNjcm9sbGJhci5zY3JvbGxiYXJEaXNhYmxlZENsYXNzKSx0LnNjcm9sbGJhci4kZWwmJnQuc2Nyb2xsYmFyLiRlbC5yZW1vdmVDbGFzcyh0LnBhcmFtcy5zY3JvbGxiYXIuc2Nyb2xsYmFyRGlzYWJsZWRDbGFzcyksVCgpLHYoKSxnKCl9LGRpc2FibGU6Uyx1cGRhdGVTaXplOnYsc2V0VHJhbnNsYXRlOmcsaW5pdDpULGRlc3Ryb3k6JH0pfSxmdW5jdGlvbihlKXtsZXR7c3dpcGVyOnQsZXh0ZW5kUGFyYW1zOnMsb246YX09ZTtzKHtwYXJhbGxheDp7ZW5hYmxlZDohMX19KTtjb25zdCBpPShlLHMpPT57Y29uc3R7cnRsOmF9PXQsaT1kKGUpLHI9YT8tMToxLG49aS5hdHRyKCJkYXRhLXN3aXBlci1wYXJhbGxheCIpfHwiMCI7bGV0IGw9aS5hdHRyKCJkYXRhLXN3aXBlci1wYXJhbGxheC14Iiksbz1pLmF0dHIoImRhdGEtc3dpcGVyLXBhcmFsbGF4LXkiKTtjb25zdCBjPWkuYXR0cigiZGF0YS1zd2lwZXItcGFyYWxsYXgtc2NhbGUiKSxwPWkuYXR0cigiZGF0YS1zd2lwZXItcGFyYWxsYXgtb3BhY2l0eSIpO2lmKGx8fG8/KGw9bHx8IjAiLG89b3x8IjAiKTp0LmlzSG9yaXpvbnRhbCgpPyhsPW4sbz0iMCIpOihvPW4sbD0iMCIpLGw9bC5pbmRleE9mKCIlIik+PTA/cGFyc2VJbnQobCwxMCkqcypyKyIlIjpsKnMqcisicHgiLG89by5pbmRleE9mKCIlIik+PTA/cGFyc2VJbnQobywxMCkqcysiJSI6bypzKyJweCIsbnVsbCE9cCl7Y29uc3QgZT1wLShwLTEpKigxLU1hdGguYWJzKHMpKTtpWzBdLnN0eWxlLm9wYWNpdHk9ZX1pZihudWxsPT1jKWkudHJhbnNmb3JtKGB0cmFuc2xhdGUzZCgke2x9LCAke299LCAwcHgpYCk7ZWxzZXtjb25zdCBlPWMtKGMtMSkqKDEtTWF0aC5hYnMocykpO2kudHJhbnNmb3JtKGB0cmFuc2xhdGUzZCgke2x9LCAke299LCAwcHgpIHNjYWxlKCR7ZX0pYCl9fSxyPSgpPT57Y29uc3R7JGVsOmUsc2xpZGVzOnMscHJvZ3Jlc3M6YSxzbmFwR3JpZDpyfT10O2UuY2hpbGRyZW4oIltkYXRhLXN3aXBlci1wYXJhbGxheF0sIFtkYXRhLXN3aXBlci1wYXJhbGxheC14XSwgW2RhdGEtc3dpcGVyLXBhcmFsbGF4LXldLCBbZGF0YS1zd2lwZXItcGFyYWxsYXgtb3BhY2l0eV0sIFtkYXRhLXN3aXBlci1wYXJhbGxheC1zY2FsZV0iKS5lYWNoKChlPT57aShlLGEpfSkpLHMuZWFjaCgoKGUscyk9PntsZXQgbj1lLnByb2dyZXNzO3QucGFyYW1zLnNsaWRlc1Blckdyb3VwPjEmJiJhdXRvIiE9PXQucGFyYW1zLnNsaWRlc1BlclZpZXcmJihuKz1NYXRoLmNlaWwocy8yKS1hKihyLmxlbmd0aC0xKSksbj1NYXRoLm1pbihNYXRoLm1heChuLC0xKSwxKSxkKGUpLmZpbmQoIltkYXRhLXN3aXBlci1wYXJhbGxheF0sIFtkYXRhLXN3aXBlci1wYXJhbGxheC14XSwgW2RhdGEtc3dpcGVyLXBhcmFsbGF4LXldLCBbZGF0YS1zd2lwZXItcGFyYWxsYXgtb3BhY2l0eV0sIFtkYXRhLXN3aXBlci1wYXJhbGxheC1zY2FsZV0iKS5lYWNoKChlPT57aShlLG4pfSkpfSkpfTthKCJiZWZvcmVJbml0IiwoKCk9Pnt0LnBhcmFtcy5wYXJhbGxheC5lbmFibGVkJiYodC5wYXJhbXMud2F0Y2hTbGlkZXNQcm9ncmVzcz0hMCx0Lm9yaWdpbmFsUGFyYW1zLndhdGNoU2xpZGVzUHJvZ3Jlc3M9ITApfSkpLGEoImluaXQiLCgoKT0+e3QucGFyYW1zLnBhcmFsbGF4LmVuYWJsZWQmJnIoKX0pKSxhKCJzZXRUcmFuc2xhdGUiLCgoKT0+e3QucGFyYW1zLnBhcmFsbGF4LmVuYWJsZWQmJnIoKX0pKSxhKCJzZXRUcmFuc2l0aW9uIiwoKGUscyk9Pnt0LnBhcmFtcy5wYXJhbGxheC5lbmFibGVkJiZmdW5jdGlvbihlKXt2b2lkIDA9PT1lJiYoZT10LnBhcmFtcy5zcGVlZCk7Y29uc3R7JGVsOnN9PXQ7cy5maW5kKCJbZGF0YS1zd2lwZXItcGFyYWxsYXhdLCBbZGF0YS1zd2lwZXItcGFyYWxsYXgteF0sIFtkYXRhLXN3aXBlci1wYXJhbGxheC15XSwgW2RhdGEtc3dpcGVyLXBhcmFsbGF4LW9wYWNpdHldLCBbZGF0YS1zd2lwZXItcGFyYWxsYXgtc2NhbGVdIikuZWFjaCgodD0+e2NvbnN0IHM9ZCh0KTtsZXQgYT1wYXJzZUludChzLmF0dHIoImRhdGEtc3dpcGVyLXBhcmFsbGF4LWR1cmF0aW9uIiksMTApfHxlOzA9PT1lJiYoYT0wKSxzLnRyYW5zaXRpb24oYSl9KSl9KHMpfSkpfSxmdW5jdGlvbihlKXtsZXR7c3dpcGVyOnQsZXh0ZW5kUGFyYW1zOnMsb246YSxlbWl0Oml9PWU7Y29uc3Qgbj1yKCk7cyh7em9vbTp7ZW5hYmxlZDohMSxtYXhSYXRpbzozLG1pblJhdGlvOjEsdG9nZ2xlOiEwLGNvbnRhaW5lckNsYXNzOiJzd2lwZXItem9vbS1jb250YWluZXIiLHpvb21lZFNsaWRlQ2xhc3M6InN3aXBlci1zbGlkZS16b29tZWQifX0pLHQuem9vbT17ZW5hYmxlZDohMX07bGV0IGwsbyxjLHA9MSx1PSExO2NvbnN0IG09eyRzbGlkZUVsOnZvaWQgMCxzbGlkZVdpZHRoOnZvaWQgMCxzbGlkZUhlaWdodDp2b2lkIDAsJGltYWdlRWw6dm9pZCAwLCRpbWFnZVdyYXBFbDp2b2lkIDAsbWF4UmF0aW86M30sZj17aXNUb3VjaGVkOnZvaWQgMCxpc01vdmVkOnZvaWQgMCxjdXJyZW50WDp2b2lkIDAsY3VycmVudFk6dm9pZCAwLG1pblg6dm9pZCAwLG1pblk6dm9pZCAwLG1heFg6dm9pZCAwLG1heFk6dm9pZCAwLHdpZHRoOnZvaWQgMCxoZWlnaHQ6dm9pZCAwLHN0YXJ0WDp2b2lkIDAsc3RhcnRZOnZvaWQgMCx0b3VjaGVzU3RhcnQ6e30sdG91Y2hlc0N1cnJlbnQ6e319LGc9e3g6dm9pZCAwLHk6dm9pZCAwLHByZXZQb3NpdGlvblg6dm9pZCAwLHByZXZQb3NpdGlvblk6dm9pZCAwLHByZXZUaW1lOnZvaWQgMH07bGV0IHY9MTtmdW5jdGlvbiB3KGUpe2lmKGUudGFyZ2V0VG91Y2hlcy5sZW5ndGg8MilyZXR1cm4gMTtjb25zdCB0PWUudGFyZ2V0VG91Y2hlc1swXS5wYWdlWCxzPWUudGFyZ2V0VG91Y2hlc1swXS5wYWdlWSxhPWUudGFyZ2V0VG91Y2hlc1sxXS5wYWdlWCxpPWUudGFyZ2V0VG91Y2hlc1sxXS5wYWdlWTtyZXR1cm4gTWF0aC5zcXJ0KChhLXQpKioyKyhpLXMpKioyKX1mdW5jdGlvbiBiKGUpe2NvbnN0IHM9dC5zdXBwb3J0LGE9dC5wYXJhbXMuem9vbTtpZihvPSExLGM9ITEsIXMuZ2VzdHVyZXMpe2lmKCJ0b3VjaHN0YXJ0IiE9PWUudHlwZXx8InRvdWNoc3RhcnQiPT09ZS50eXBlJiZlLnRhcmdldFRvdWNoZXMubGVuZ3RoPDIpcmV0dXJuO289ITAsbS5zY2FsZVN0YXJ0PXcoZSl9bS4kc2xpZGVFbCYmbS4kc2xpZGVFbC5sZW5ndGh8fChtLiRzbGlkZUVsPWQoZS50YXJnZXQpLmNsb3Nlc3QoYC4ke3QucGFyYW1zLnNsaWRlQ2xhc3N9YCksMD09PW0uJHNsaWRlRWwubGVuZ3RoJiYobS4kc2xpZGVFbD10LnNsaWRlcy5lcSh0LmFjdGl2ZUluZGV4KSksbS4kaW1hZ2VFbD1tLiRzbGlkZUVsLmZpbmQoYC4ke2EuY29udGFpbmVyQ2xhc3N9YCkuZXEoMCkuZmluZCgicGljdHVyZSwgaW1nLCBzdmcsIGNhbnZhcywgLnN3aXBlci16b29tLXRhcmdldCIpLmVxKDApLG0uJGltYWdlV3JhcEVsPW0uJGltYWdlRWwucGFyZW50KGAuJHthLmNvbnRhaW5lckNsYXNzfWApLG0ubWF4UmF0aW89bS4kaW1hZ2VXcmFwRWwuYXR0cigiZGF0YS1zd2lwZXItem9vbSIpfHxhLm1heFJhdGlvLDAhPT1tLiRpbWFnZVdyYXBFbC5sZW5ndGgpPyhtLiRpbWFnZUVsJiZtLiRpbWFnZUVsLnRyYW5zaXRpb24oMCksdT0hMCk6bS4kaW1hZ2VFbD12b2lkIDB9ZnVuY3Rpb24geChlKXtjb25zdCBzPXQuc3VwcG9ydCxhPXQucGFyYW1zLnpvb20saT10Lnpvb207aWYoIXMuZ2VzdHVyZXMpe2lmKCJ0b3VjaG1vdmUiIT09ZS50eXBlfHwidG91Y2htb3ZlIj09PWUudHlwZSYmZS50YXJnZXRUb3VjaGVzLmxlbmd0aDwyKXJldHVybjtjPSEwLG0uc2NhbGVNb3ZlPXcoZSl9bS4kaW1hZ2VFbCYmMCE9PW0uJGltYWdlRWwubGVuZ3RoPyhzLmdlc3R1cmVzP2kuc2NhbGU9ZS5zY2FsZSpwOmkuc2NhbGU9bS5zY2FsZU1vdmUvbS5zY2FsZVN0YXJ0KnAsaS5zY2FsZT5tLm1heFJhdGlvJiYoaS5zY2FsZT1tLm1heFJhdGlvLTErKGkuc2NhbGUtbS5tYXhSYXRpbysxKSoqLjUpLGkuc2NhbGU8YS5taW5SYXRpbyYmKGkuc2NhbGU9YS5taW5SYXRpbysxLShhLm1pblJhdGlvLWkuc2NhbGUrMSkqKi41KSxtLiRpbWFnZUVsLnRyYW5zZm9ybShgdHJhbnNsYXRlM2QoMCwwLDApIHNjYWxlKCR7aS5zY2FsZX0pYCkpOiJnZXN0dXJlY2hhbmdlIj09PWUudHlwZSYmYihlKX1mdW5jdGlvbiB5KGUpe2NvbnN0IHM9dC5kZXZpY2UsYT10LnN1cHBvcnQsaT10LnBhcmFtcy56b29tLHI9dC56b29tO2lmKCFhLmdlc3R1cmVzKXtpZighb3x8IWMpcmV0dXJuO2lmKCJ0b3VjaGVuZCIhPT1lLnR5cGV8fCJ0b3VjaGVuZCI9PT1lLnR5cGUmJmUuY2hhbmdlZFRvdWNoZXMubGVuZ3RoPDImJiFzLmFuZHJvaWQpcmV0dXJuO289ITEsYz0hMX1tLiRpbWFnZUVsJiYwIT09bS4kaW1hZ2VFbC5sZW5ndGgmJihyLnNjYWxlPU1hdGgubWF4KE1hdGgubWluKHIuc2NhbGUsbS5tYXhSYXRpbyksaS5taW5SYXRpbyksbS4kaW1hZ2VFbC50cmFuc2l0aW9uKHQucGFyYW1zLnNwZWVkKS50cmFuc2Zvcm0oYHRyYW5zbGF0ZTNkKDAsMCwwKSBzY2FsZSgke3Iuc2NhbGV9KWApLHA9ci5zY2FsZSx1PSExLDE9PT1yLnNjYWxlJiYobS4kc2xpZGVFbD12b2lkIDApKX1mdW5jdGlvbiBFKGUpe2NvbnN0IHM9dC56b29tO2lmKCFtLiRpbWFnZUVsfHwwPT09bS4kaW1hZ2VFbC5sZW5ndGgpcmV0dXJuO2lmKHQuYWxsb3dDbGljaz0hMSwhZi5pc1RvdWNoZWR8fCFtLiRzbGlkZUVsKXJldHVybjtmLmlzTW92ZWR8fChmLndpZHRoPW0uJGltYWdlRWxbMF0ub2Zmc2V0V2lkdGgsZi5oZWlnaHQ9bS4kaW1hZ2VFbFswXS5vZmZzZXRIZWlnaHQsZi5zdGFydFg9aChtLiRpbWFnZVdyYXBFbFswXSwieCIpfHwwLGYuc3RhcnRZPWgobS4kaW1hZ2VXcmFwRWxbMF0sInkiKXx8MCxtLnNsaWRlV2lkdGg9bS4kc2xpZGVFbFswXS5vZmZzZXRXaWR0aCxtLnNsaWRlSGVpZ2h0PW0uJHNsaWRlRWxbMF0ub2Zmc2V0SGVpZ2h0LG0uJGltYWdlV3JhcEVsLnRyYW5zaXRpb24oMCkpO2NvbnN0IGE9Zi53aWR0aCpzLnNjYWxlLGk9Zi5oZWlnaHQqcy5zY2FsZTtpZighKGE8bS5zbGlkZVdpZHRoJiZpPG0uc2xpZGVIZWlnaHQpKXtpZihmLm1pblg9TWF0aC5taW4obS5zbGlkZVdpZHRoLzItYS8yLDApLGYubWF4WD0tZi5taW5YLGYubWluWT1NYXRoLm1pbihtLnNsaWRlSGVpZ2h0LzItaS8yLDApLGYubWF4WT0tZi5taW5ZLGYudG91Y2hlc0N1cnJlbnQueD0idG91Y2htb3ZlIj09PWUudHlwZT9lLnRhcmdldFRvdWNoZXNbMF0ucGFnZVg6ZS5wYWdlWCxmLnRvdWNoZXNDdXJyZW50Lnk9InRvdWNobW92ZSI9PT1lLnR5cGU/ZS50YXJnZXRUb3VjaGVzWzBdLnBhZ2VZOmUucGFnZVksIWYuaXNNb3ZlZCYmIXUpe2lmKHQuaXNIb3Jpem9udGFsKCkmJihNYXRoLmZsb29yKGYubWluWCk9PT1NYXRoLmZsb29yKGYuc3RhcnRYKSYmZi50b3VjaGVzQ3VycmVudC54PGYudG91Y2hlc1N0YXJ0Lnh8fE1hdGguZmxvb3IoZi5tYXhYKT09PU1hdGguZmxvb3IoZi5zdGFydFgpJiZmLnRvdWNoZXNDdXJyZW50Lng+Zi50b3VjaGVzU3RhcnQueCkpcmV0dXJuIHZvaWQoZi5pc1RvdWNoZWQ9ITEpO2lmKCF0LmlzSG9yaXpvbnRhbCgpJiYoTWF0aC5mbG9vcihmLm1pblkpPT09TWF0aC5mbG9vcihmLnN0YXJ0WSkmJmYudG91Y2hlc0N1cnJlbnQueTxmLnRvdWNoZXNTdGFydC55fHxNYXRoLmZsb29yKGYubWF4WSk9PT1NYXRoLmZsb29yKGYuc3RhcnRZKSYmZi50b3VjaGVzQ3VycmVudC55PmYudG91Y2hlc1N0YXJ0LnkpKXJldHVybiB2b2lkKGYuaXNUb3VjaGVkPSExKX1lLmNhbmNlbGFibGUmJmUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLGYuaXNNb3ZlZD0hMCxmLmN1cnJlbnRYPWYudG91Y2hlc0N1cnJlbnQueC1mLnRvdWNoZXNTdGFydC54K2Yuc3RhcnRYLGYuY3VycmVudFk9Zi50b3VjaGVzQ3VycmVudC55LWYudG91Y2hlc1N0YXJ0LnkrZi5zdGFydFksZi5jdXJyZW50WDxmLm1pblgmJihmLmN1cnJlbnRYPWYubWluWCsxLShmLm1pblgtZi5jdXJyZW50WCsxKSoqLjgpLGYuY3VycmVudFg+Zi5tYXhYJiYoZi5jdXJyZW50WD1mLm1heFgtMSsoZi5jdXJyZW50WC1mLm1heFgrMSkqKi44KSxmLmN1cnJlbnRZPGYubWluWSYmKGYuY3VycmVudFk9Zi5taW5ZKzEtKGYubWluWS1mLmN1cnJlbnRZKzEpKiouOCksZi5jdXJyZW50WT5mLm1heFkmJihmLmN1cnJlbnRZPWYubWF4WS0xKyhmLmN1cnJlbnRZLWYubWF4WSsxKSoqLjgpLGcucHJldlBvc2l0aW9uWHx8KGcucHJldlBvc2l0aW9uWD1mLnRvdWNoZXNDdXJyZW50LngpLGcucHJldlBvc2l0aW9uWXx8KGcucHJldlBvc2l0aW9uWT1mLnRvdWNoZXNDdXJyZW50LnkpLGcucHJldlRpbWV8fChnLnByZXZUaW1lPURhdGUubm93KCkpLGcueD0oZi50b3VjaGVzQ3VycmVudC54LWcucHJldlBvc2l0aW9uWCkvKERhdGUubm93KCktZy5wcmV2VGltZSkvMixnLnk9KGYudG91Y2hlc0N1cnJlbnQueS1nLnByZXZQb3NpdGlvblkpLyhEYXRlLm5vdygpLWcucHJldlRpbWUpLzIsTWF0aC5hYnMoZi50b3VjaGVzQ3VycmVudC54LWcucHJldlBvc2l0aW9uWCk8MiYmKGcueD0wKSxNYXRoLmFicyhmLnRvdWNoZXNDdXJyZW50LnktZy5wcmV2UG9zaXRpb25ZKTwyJiYoZy55PTApLGcucHJldlBvc2l0aW9uWD1mLnRvdWNoZXNDdXJyZW50LngsZy5wcmV2UG9zaXRpb25ZPWYudG91Y2hlc0N1cnJlbnQueSxnLnByZXZUaW1lPURhdGUubm93KCksbS4kaW1hZ2VXcmFwRWwudHJhbnNmb3JtKGB0cmFuc2xhdGUzZCgke2YuY3VycmVudFh9cHgsICR7Zi5jdXJyZW50WX1weCwwKWApfX1mdW5jdGlvbiBDKCl7Y29uc3QgZT10Lnpvb207bS4kc2xpZGVFbCYmdC5wcmV2aW91c0luZGV4IT09dC5hY3RpdmVJbmRleCYmKG0uJGltYWdlRWwmJm0uJGltYWdlRWwudHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgwLDAsMCkgc2NhbGUoMSkiKSxtLiRpbWFnZVdyYXBFbCYmbS4kaW1hZ2VXcmFwRWwudHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgwLDAsMCkiKSxlLnNjYWxlPTEscD0xLG0uJHNsaWRlRWw9dm9pZCAwLG0uJGltYWdlRWw9dm9pZCAwLG0uJGltYWdlV3JhcEVsPXZvaWQgMCl9ZnVuY3Rpb24gVChlKXtjb25zdCBzPXQuem9vbSxhPXQucGFyYW1zLnpvb207aWYobS4kc2xpZGVFbHx8KGUmJmUudGFyZ2V0JiYobS4kc2xpZGVFbD1kKGUudGFyZ2V0KS5jbG9zZXN0KGAuJHt0LnBhcmFtcy5zbGlkZUNsYXNzfWApKSxtLiRzbGlkZUVsfHwodC5wYXJhbXMudmlydHVhbCYmdC5wYXJhbXMudmlydHVhbC5lbmFibGVkJiZ0LnZpcnR1YWw/bS4kc2xpZGVFbD10LiR3cmFwcGVyRWwuY2hpbGRyZW4oYC4ke3QucGFyYW1zLnNsaWRlQWN0aXZlQ2xhc3N9YCk6bS4kc2xpZGVFbD10LnNsaWRlcy5lcSh0LmFjdGl2ZUluZGV4KSksbS4kaW1hZ2VFbD1tLiRzbGlkZUVsLmZpbmQoYC4ke2EuY29udGFpbmVyQ2xhc3N9YCkuZXEoMCkuZmluZCgicGljdHVyZSwgaW1nLCBzdmcsIGNhbnZhcywgLnN3aXBlci16b29tLXRhcmdldCIpLmVxKDApLG0uJGltYWdlV3JhcEVsPW0uJGltYWdlRWwucGFyZW50KGAuJHthLmNvbnRhaW5lckNsYXNzfWApKSwhbS4kaW1hZ2VFbHx8MD09PW0uJGltYWdlRWwubGVuZ3RofHwhbS4kaW1hZ2VXcmFwRWx8fDA9PT1tLiRpbWFnZVdyYXBFbC5sZW5ndGgpcmV0dXJuO2xldCBpLHIsbCxvLGMsdSxoLGcsdix3LGIseCx5LEUsQyxULCQsUzt0LnBhcmFtcy5jc3NNb2RlJiYodC53cmFwcGVyRWwuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdC53cmFwcGVyRWwuc3R5bGUudG91Y2hBY3Rpb249Im5vbmUiKSxtLiRzbGlkZUVsLmFkZENsYXNzKGAke2Euem9vbWVkU2xpZGVDbGFzc31gKSx2b2lkIDA9PT1mLnRvdWNoZXNTdGFydC54JiZlPyhpPSJ0b3VjaGVuZCI9PT1lLnR5cGU/ZS5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWDplLnBhZ2VYLHI9InRvdWNoZW5kIj09PWUudHlwZT9lLmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VZOmUucGFnZVkpOihpPWYudG91Y2hlc1N0YXJ0Lngscj1mLnRvdWNoZXNTdGFydC55KSxzLnNjYWxlPW0uJGltYWdlV3JhcEVsLmF0dHIoImRhdGEtc3dpcGVyLXpvb20iKXx8YS5tYXhSYXRpbyxwPW0uJGltYWdlV3JhcEVsLmF0dHIoImRhdGEtc3dpcGVyLXpvb20iKXx8YS5tYXhSYXRpbyxlPygkPW0uJHNsaWRlRWxbMF0ub2Zmc2V0V2lkdGgsUz1tLiRzbGlkZUVsWzBdLm9mZnNldEhlaWdodCxsPW0uJHNsaWRlRWwub2Zmc2V0KCkubGVmdCtuLnNjcm9sbFgsbz1tLiRzbGlkZUVsLm9mZnNldCgpLnRvcCtuLnNjcm9sbFksYz1sKyQvMi1pLHU9bytTLzItcix2PW0uJGltYWdlRWxbMF0ub2Zmc2V0V2lkdGgsdz1tLiRpbWFnZUVsWzBdLm9mZnNldEhlaWdodCxiPXYqcy5zY2FsZSx4PXcqcy5zY2FsZSx5PU1hdGgubWluKCQvMi1iLzIsMCksRT1NYXRoLm1pbihTLzIteC8yLDApLEM9LXksVD0tRSxoPWMqcy5zY2FsZSxnPXUqcy5zY2FsZSxoPHkmJihoPXkpLGg+QyYmKGg9QyksZzxFJiYoZz1FKSxnPlQmJihnPVQpKTooaD0wLGc9MCksbS4kaW1hZ2VXcmFwRWwudHJhbnNpdGlvbigzMDApLnRyYW5zZm9ybShgdHJhbnNsYXRlM2QoJHtofXB4LCAke2d9cHgsMClgKSxtLiRpbWFnZUVsLnRyYW5zaXRpb24oMzAwKS50cmFuc2Zvcm0oYHRyYW5zbGF0ZTNkKDAsMCwwKSBzY2FsZSgke3Muc2NhbGV9KWApfWZ1bmN0aW9uICQoKXtjb25zdCBlPXQuem9vbSxzPXQucGFyYW1zLnpvb207bS4kc2xpZGVFbHx8KHQucGFyYW1zLnZpcnR1YWwmJnQucGFyYW1zLnZpcnR1YWwuZW5hYmxlZCYmdC52aXJ0dWFsP20uJHNsaWRlRWw9dC4kd3JhcHBlckVsLmNoaWxkcmVuKGAuJHt0LnBhcmFtcy5zbGlkZUFjdGl2ZUNsYXNzfWApOm0uJHNsaWRlRWw9dC5zbGlkZXMuZXEodC5hY3RpdmVJbmRleCksbS4kaW1hZ2VFbD1tLiRzbGlkZUVsLmZpbmQoYC4ke3MuY29udGFpbmVyQ2xhc3N9YCkuZXEoMCkuZmluZCgicGljdHVyZSwgaW1nLCBzdmcsIGNhbnZhcywgLnN3aXBlci16b29tLXRhcmdldCIpLmVxKDApLG0uJGltYWdlV3JhcEVsPW0uJGltYWdlRWwucGFyZW50KGAuJHtzLmNvbnRhaW5lckNsYXNzfWApKSxtLiRpbWFnZUVsJiYwIT09bS4kaW1hZ2VFbC5sZW5ndGgmJm0uJGltYWdlV3JhcEVsJiYwIT09bS4kaW1hZ2VXcmFwRWwubGVuZ3RoJiYodC5wYXJhbXMuY3NzTW9kZSYmKHQud3JhcHBlckVsLnN0eWxlLm92ZXJmbG93PSIiLHQud3JhcHBlckVsLnN0eWxlLnRvdWNoQWN0aW9uPSIiKSxlLnNjYWxlPTEscD0xLG0uJGltYWdlV3JhcEVsLnRyYW5zaXRpb24oMzAwKS50cmFuc2Zvcm0oInRyYW5zbGF0ZTNkKDAsMCwwKSIpLG0uJGltYWdlRWwudHJhbnNpdGlvbigzMDApLnRyYW5zZm9ybSgidHJhbnNsYXRlM2QoMCwwLDApIHNjYWxlKDEpIiksbS4kc2xpZGVFbC5yZW1vdmVDbGFzcyhgJHtzLnpvb21lZFNsaWRlQ2xhc3N9YCksbS4kc2xpZGVFbD12b2lkIDApfWZ1bmN0aW9uIFMoZSl7Y29uc3Qgcz10Lnpvb207cy5zY2FsZSYmMSE9PXMuc2NhbGU/JCgpOlQoZSl9ZnVuY3Rpb24gTSgpe2NvbnN0IGU9dC5zdXBwb3J0O3JldHVybntwYXNzaXZlTGlzdGVuZXI6ISgidG91Y2hzdGFydCIhPT10LnRvdWNoRXZlbnRzLnN0YXJ0fHwhZS5wYXNzaXZlTGlzdGVuZXJ8fCF0LnBhcmFtcy5wYXNzaXZlTGlzdGVuZXJzKSYme3Bhc3NpdmU6ITAsY2FwdHVyZTohMX0sYWN0aXZlTGlzdGVuZXJXaXRoQ2FwdHVyZTohZS5wYXNzaXZlTGlzdGVuZXJ8fHtwYXNzaXZlOiExLGNhcHR1cmU6ITB9fX1mdW5jdGlvbiBQKCl7cmV0dXJuYC4ke3QucGFyYW1zLnNsaWRlQ2xhc3N9YH1mdW5jdGlvbiBrKGUpe2NvbnN0e3Bhc3NpdmVMaXN0ZW5lcjpzfT1NKCksYT1QKCk7dC4kd3JhcHBlckVsW2VdKCJnZXN0dXJlc3RhcnQiLGEsYixzKSx0LiR3cmFwcGVyRWxbZV0oImdlc3R1cmVjaGFuZ2UiLGEseCxzKSx0LiR3cmFwcGVyRWxbZV0oImdlc3R1cmVlbmQiLGEseSxzKX1mdW5jdGlvbiB6KCl7bHx8KGw9ITAsaygib24iKSl9ZnVuY3Rpb24gTCgpe2wmJihsPSExLGsoIm9mZiIpKX1mdW5jdGlvbiBPKCl7Y29uc3QgZT10Lnpvb207aWYoZS5lbmFibGVkKXJldHVybjtlLmVuYWJsZWQ9ITA7Y29uc3Qgcz10LnN1cHBvcnQse3Bhc3NpdmVMaXN0ZW5lcjphLGFjdGl2ZUxpc3RlbmVyV2l0aENhcHR1cmU6aX09TSgpLHI9UCgpO3MuZ2VzdHVyZXM/KHQuJHdyYXBwZXJFbC5vbih0LnRvdWNoRXZlbnRzLnN0YXJ0LHosYSksdC4kd3JhcHBlckVsLm9uKHQudG91Y2hFdmVudHMuZW5kLEwsYSkpOiJ0b3VjaHN0YXJ0Ij09PXQudG91Y2hFdmVudHMuc3RhcnQmJih0LiR3cmFwcGVyRWwub24odC50b3VjaEV2ZW50cy5zdGFydCxyLGIsYSksdC4kd3JhcHBlckVsLm9uKHQudG91Y2hFdmVudHMubW92ZSxyLHgsaSksdC4kd3JhcHBlckVsLm9uKHQudG91Y2hFdmVudHMuZW5kLHIseSxhKSx0LnRvdWNoRXZlbnRzLmNhbmNlbCYmdC4kd3JhcHBlckVsLm9uKHQudG91Y2hFdmVudHMuY2FuY2VsLHIseSxhKSksdC4kd3JhcHBlckVsLm9uKHQudG91Y2hFdmVudHMubW92ZSxgLiR7dC5wYXJhbXMuem9vbS5jb250YWluZXJDbGFzc31gLEUsaSl9ZnVuY3Rpb24gSSgpe2NvbnN0IGU9dC56b29tO2lmKCFlLmVuYWJsZWQpcmV0dXJuO2NvbnN0IHM9dC5zdXBwb3J0O2UuZW5hYmxlZD0hMTtjb25zdHtwYXNzaXZlTGlzdGVuZXI6YSxhY3RpdmVMaXN0ZW5lcldpdGhDYXB0dXJlOml9PU0oKSxyPVAoKTtzLmdlc3R1cmVzPyh0LiR3cmFwcGVyRWwub2ZmKHQudG91Y2hFdmVudHMuc3RhcnQseixhKSx0LiR3cmFwcGVyRWwub2ZmKHQudG91Y2hFdmVudHMuZW5kLEwsYSkpOiJ0b3VjaHN0YXJ0Ij09PXQudG91Y2hFdmVudHMuc3RhcnQmJih0LiR3cmFwcGVyRWwub2ZmKHQudG91Y2hFdmVudHMuc3RhcnQscixiLGEpLHQuJHdyYXBwZXJFbC5vZmYodC50b3VjaEV2ZW50cy5tb3ZlLHIseCxpKSx0LiR3cmFwcGVyRWwub2ZmKHQudG91Y2hFdmVudHMuZW5kLHIseSxhKSx0LnRvdWNoRXZlbnRzLmNhbmNlbCYmdC4kd3JhcHBlckVsLm9mZih0LnRvdWNoRXZlbnRzLmNhbmNlbCxyLHksYSkpLHQuJHdyYXBwZXJFbC5vZmYodC50b3VjaEV2ZW50cy5tb3ZlLGAuJHt0LnBhcmFtcy56b29tLmNvbnRhaW5lckNsYXNzfWAsRSxpKX1PYmplY3QuZGVmaW5lUHJvcGVydHkodC56b29tLCJzY2FsZSIse2dldDooKT0+dixzZXQoZSl7aWYodiE9PWUpe2NvbnN0IHQ9bS4kaW1hZ2VFbD9tLiRpbWFnZUVsWzBdOnZvaWQgMCxzPW0uJHNsaWRlRWw/bS4kc2xpZGVFbFswXTp2b2lkIDA7aSgiem9vbUNoYW5nZSIsZSx0LHMpfXY9ZX19KSxhKCJpbml0IiwoKCk9Pnt0LnBhcmFtcy56b29tLmVuYWJsZWQmJk8oKX0pKSxhKCJkZXN0cm95IiwoKCk9PntJKCl9KSksYSgidG91Y2hTdGFydCIsKChlLHMpPT57dC56b29tLmVuYWJsZWQmJmZ1bmN0aW9uKGUpe2NvbnN0IHM9dC5kZXZpY2U7bS4kaW1hZ2VFbCYmMCE9PW0uJGltYWdlRWwubGVuZ3RoJiYoZi5pc1RvdWNoZWR8fChzLmFuZHJvaWQmJmUuY2FuY2VsYWJsZSYmZS5wcmV2ZW50RGVmYXVsdCgpLGYuaXNUb3VjaGVkPSEwLGYudG91Y2hlc1N0YXJ0Lng9InRvdWNoc3RhcnQiPT09ZS50eXBlP2UudGFyZ2V0VG91Y2hlc1swXS5wYWdlWDplLnBhZ2VYLGYudG91Y2hlc1N0YXJ0Lnk9InRvdWNoc3RhcnQiPT09ZS50eXBlP2UudGFyZ2V0VG91Y2hlc1swXS5wYWdlWTplLnBhZ2VZKSl9KHMpfSkpLGEoInRvdWNoRW5kIiwoKGUscyk9Pnt0Lnpvb20uZW5hYmxlZCYmZnVuY3Rpb24oKXtjb25zdCBlPXQuem9vbTtpZighbS4kaW1hZ2VFbHx8MD09PW0uJGltYWdlRWwubGVuZ3RoKXJldHVybjtpZighZi5pc1RvdWNoZWR8fCFmLmlzTW92ZWQpcmV0dXJuIGYuaXNUb3VjaGVkPSExLHZvaWQoZi5pc01vdmVkPSExKTtmLmlzVG91Y2hlZD0hMSxmLmlzTW92ZWQ9ITE7bGV0IHM9MzAwLGE9MzAwO2NvbnN0IGk9Zy54KnMscj1mLmN1cnJlbnRYK2ksbj1nLnkqYSxsPWYuY3VycmVudFkrbjswIT09Zy54JiYocz1NYXRoLmFicygoci1mLmN1cnJlbnRYKS9nLngpKSwwIT09Zy55JiYoYT1NYXRoLmFicygobC1mLmN1cnJlbnRZKS9nLnkpKTtjb25zdCBvPU1hdGgubWF4KHMsYSk7Zi5jdXJyZW50WD1yLGYuY3VycmVudFk9bDtjb25zdCBkPWYud2lkdGgqZS5zY2FsZSxjPWYuaGVpZ2h0KmUuc2NhbGU7Zi5taW5YPU1hdGgubWluKG0uc2xpZGVXaWR0aC8yLWQvMiwwKSxmLm1heFg9LWYubWluWCxmLm1pblk9TWF0aC5taW4obS5zbGlkZUhlaWdodC8yLWMvMiwwKSxmLm1heFk9LWYubWluWSxmLmN1cnJlbnRYPU1hdGgubWF4KE1hdGgubWluKGYuY3VycmVudFgsZi5tYXhYKSxmLm1pblgpLGYuY3VycmVudFk9TWF0aC5tYXgoTWF0aC5taW4oZi5jdXJyZW50WSxmLm1heFkpLGYubWluWSksbS4kaW1hZ2VXcmFwRWwudHJhbnNpdGlvbihvKS50cmFuc2Zvcm0oYHRyYW5zbGF0ZTNkKCR7Zi5jdXJyZW50WH1weCwgJHtmLmN1cnJlbnRZfXB4LDApYCl9KCl9KSksYSgiZG91YmxlVGFwIiwoKGUscyk9PnshdC5hbmltYXRpbmcmJnQucGFyYW1zLnpvb20uZW5hYmxlZCYmdC56b29tLmVuYWJsZWQmJnQucGFyYW1zLnpvb20udG9nZ2xlJiZTKHMpfSkpLGEoInRyYW5zaXRpb25FbmQiLCgoKT0+e3Quem9vbS5lbmFibGVkJiZ0LnBhcmFtcy56b29tLmVuYWJsZWQmJkMoKX0pKSxhKCJzbGlkZUNoYW5nZSIsKCgpPT57dC56b29tLmVuYWJsZWQmJnQucGFyYW1zLnpvb20uZW5hYmxlZCYmdC5wYXJhbXMuY3NzTW9kZSYmQygpfSkpLE9iamVjdC5hc3NpZ24odC56b29tLHtlbmFibGU6TyxkaXNhYmxlOkksaW46VCxvdXQ6JCx0b2dnbGU6U30pfSxmdW5jdGlvbihlKXtsZXR7c3dpcGVyOnQsZXh0ZW5kUGFyYW1zOnMsb246YSxlbWl0Oml9PWU7cyh7bGF6eTp7Y2hlY2tJblZpZXc6ITEsZW5hYmxlZDohMSxsb2FkUHJldk5leHQ6ITEsbG9hZFByZXZOZXh0QW1vdW50OjEsbG9hZE9uVHJhbnNpdGlvblN0YXJ0OiExLHNjcm9sbGluZ0VsZW1lbnQ6IiIsZWxlbWVudENsYXNzOiJzd2lwZXItbGF6eSIsbG9hZGluZ0NsYXNzOiJzd2lwZXItbGF6eS1sb2FkaW5nIixsb2FkZWRDbGFzczoic3dpcGVyLWxhenktbG9hZGVkIixwcmVsb2FkZXJDbGFzczoic3dpcGVyLWxhenktcHJlbG9hZGVyIn19KSx0Lmxhenk9e307bGV0IG49ITEsbD0hMTtmdW5jdGlvbiBvKGUscyl7dm9pZCAwPT09cyYmKHM9ITApO2NvbnN0IGE9dC5wYXJhbXMubGF6eTtpZih2b2lkIDA9PT1lKXJldHVybjtpZigwPT09dC5zbGlkZXMubGVuZ3RoKXJldHVybjtjb25zdCByPXQudmlydHVhbCYmdC5wYXJhbXMudmlydHVhbC5lbmFibGVkP3QuJHdyYXBwZXJFbC5jaGlsZHJlbihgLiR7dC5wYXJhbXMuc2xpZGVDbGFzc31bZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9IiR7ZX0iXWApOnQuc2xpZGVzLmVxKGUpLG49ci5maW5kKGAuJHthLmVsZW1lbnRDbGFzc306bm90KC4ke2EubG9hZGVkQ2xhc3N9KTpub3QoLiR7YS5sb2FkaW5nQ2xhc3N9KWApOyFyLmhhc0NsYXNzKGEuZWxlbWVudENsYXNzKXx8ci5oYXNDbGFzcyhhLmxvYWRlZENsYXNzKXx8ci5oYXNDbGFzcyhhLmxvYWRpbmdDbGFzcyl8fG4ucHVzaChyWzBdKSwwIT09bi5sZW5ndGgmJm4uZWFjaCgoZT0+e2NvbnN0IG49ZChlKTtuLmFkZENsYXNzKGEubG9hZGluZ0NsYXNzKTtjb25zdCBsPW4uYXR0cigiZGF0YS1iYWNrZ3JvdW5kIiksYz1uLmF0dHIoImRhdGEtc3JjIikscD1uLmF0dHIoImRhdGEtc3Jjc2V0IiksdT1uLmF0dHIoImRhdGEtc2l6ZXMiKSxoPW4ucGFyZW50KCJwaWN0dXJlIik7dC5sb2FkSW1hZ2UoblswXSxjfHxsLHAsdSwhMSwoKCk9PntpZihudWxsIT10JiZ0JiYoIXR8fHQucGFyYW1zKSYmIXQuZGVzdHJveWVkKXtpZihsPyhuLmNzcygiYmFja2dyb3VuZC1pbWFnZSIsYHVybCgiJHtsfSIpYCksbi5yZW1vdmVBdHRyKCJkYXRhLWJhY2tncm91bmQiKSk6KHAmJihuLmF0dHIoInNyY3NldCIscCksbi5yZW1vdmVBdHRyKCJkYXRhLXNyY3NldCIpKSx1JiYobi5hdHRyKCJzaXplcyIsdSksbi5yZW1vdmVBdHRyKCJkYXRhLXNpemVzIikpLGgubGVuZ3RoJiZoLmNoaWxkcmVuKCJzb3VyY2UiKS5lYWNoKChlPT57Y29uc3QgdD1kKGUpO3QuYXR0cigiZGF0YS1zcmNzZXQiKSYmKHQuYXR0cigic3Jjc2V0Iix0LmF0dHIoImRhdGEtc3Jjc2V0IikpLHQucmVtb3ZlQXR0cigiZGF0YS1zcmNzZXQiKSl9KSksYyYmKG4uYXR0cigic3JjIixjKSxuLnJlbW92ZUF0dHIoImRhdGEtc3JjIikpKSxuLmFkZENsYXNzKGEubG9hZGVkQ2xhc3MpLnJlbW92ZUNsYXNzKGEubG9hZGluZ0NsYXNzKSxyLmZpbmQoYC4ke2EucHJlbG9hZGVyQ2xhc3N9YCkucmVtb3ZlKCksdC5wYXJhbXMubG9vcCYmcyl7Y29uc3QgZT1yLmF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4Iik7aWYoci5oYXNDbGFzcyh0LnBhcmFtcy5zbGlkZUR1cGxpY2F0ZUNsYXNzKSl7byh0LiR3cmFwcGVyRWwuY2hpbGRyZW4oYFtkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJHtlfSJdOm5vdCguJHt0LnBhcmFtcy5zbGlkZUR1cGxpY2F0ZUNsYXNzfSlgKS5pbmRleCgpLCExKX1lbHNle28odC4kd3JhcHBlckVsLmNoaWxkcmVuKGAuJHt0LnBhcmFtcy5zbGlkZUR1cGxpY2F0ZUNsYXNzfVtkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJHtlfSJdYCkuaW5kZXgoKSwhMSl9fWkoImxhenlJbWFnZVJlYWR5IixyWzBdLG5bMF0pLHQucGFyYW1zLmF1dG9IZWlnaHQmJnQudXBkYXRlQXV0b0hlaWdodCgpfX0pKSxpKCJsYXp5SW1hZ2VMb2FkIixyWzBdLG5bMF0pfSkpfWZ1bmN0aW9uIGMoKXtjb25zdHskd3JhcHBlckVsOmUscGFyYW1zOnMsc2xpZGVzOmEsYWN0aXZlSW5kZXg6aX09dCxyPXQudmlydHVhbCYmcy52aXJ0dWFsLmVuYWJsZWQsbj1zLmxhenk7bGV0IGM9cy5zbGlkZXNQZXJWaWV3O2Z1bmN0aW9uIHAodCl7aWYocil7aWYoZS5jaGlsZHJlbihgLiR7cy5zbGlkZUNsYXNzfVtkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJHt0fSJdYCkubGVuZ3RoKXJldHVybiEwfWVsc2UgaWYoYVt0XSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiB1KGUpe3JldHVybiByP2QoZSkuYXR0cigiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgiKTpkKGUpLmluZGV4KCl9aWYoImF1dG8iPT09YyYmKGM9MCksbHx8KGw9ITApLHQucGFyYW1zLndhdGNoU2xpZGVzUHJvZ3Jlc3MpZS5jaGlsZHJlbihgLiR7cy5zbGlkZVZpc2libGVDbGFzc31gKS5lYWNoKChlPT57byhyP2QoZSkuYXR0cigiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgiKTpkKGUpLmluZGV4KCkpfSkpO2Vsc2UgaWYoYz4xKWZvcihsZXQgZT1pO2U8aStjO2UrPTEpcChlKSYmbyhlKTtlbHNlIG8oaSk7aWYobi5sb2FkUHJldk5leHQpaWYoYz4xfHxuLmxvYWRQcmV2TmV4dEFtb3VudCYmbi5sb2FkUHJldk5leHRBbW91bnQ+MSl7Y29uc3QgZT1uLmxvYWRQcmV2TmV4dEFtb3VudCx0PU1hdGguY2VpbChjKSxzPU1hdGgubWluKGkrdCtNYXRoLm1heChlLHQpLGEubGVuZ3RoKSxyPU1hdGgubWF4KGktTWF0aC5tYXgodCxlKSwwKTtmb3IobGV0IGU9aSt0O2U8cztlKz0xKXAoZSkmJm8oZSk7Zm9yKGxldCBlPXI7ZTxpO2UrPTEpcChlKSYmbyhlKX1lbHNle2NvbnN0IHQ9ZS5jaGlsZHJlbihgLiR7cy5zbGlkZU5leHRDbGFzc31gKTt0Lmxlbmd0aD4wJiZvKHUodCkpO2NvbnN0IGE9ZS5jaGlsZHJlbihgLiR7cy5zbGlkZVByZXZDbGFzc31gKTthLmxlbmd0aD4wJiZvKHUoYSkpfX1mdW5jdGlvbiBwKCl7Y29uc3QgZT1yKCk7aWYoIXR8fHQuZGVzdHJveWVkKXJldHVybjtjb25zdCBzPXQucGFyYW1zLmxhenkuc2Nyb2xsaW5nRWxlbWVudD9kKHQucGFyYW1zLmxhenkuc2Nyb2xsaW5nRWxlbWVudCk6ZChlKSxhPXNbMF09PT1lLGk9YT9lLmlubmVyV2lkdGg6c1swXS5vZmZzZXRXaWR0aCxsPWE/ZS5pbm5lckhlaWdodDpzWzBdLm9mZnNldEhlaWdodCxvPXQuJGVsLm9mZnNldCgpLHtydGxUcmFuc2xhdGU6dX09dDtsZXQgaD0hMTt1JiYoby5sZWZ0LT10LiRlbFswXS5zY3JvbGxMZWZ0KTtjb25zdCBtPVtbby5sZWZ0LG8udG9wXSxbby5sZWZ0K3Qud2lkdGgsby50b3BdLFtvLmxlZnQsby50b3ArdC5oZWlnaHRdLFtvLmxlZnQrdC53aWR0aCxvLnRvcCt0LmhlaWdodF1dO2ZvcihsZXQgZT0wO2U8bS5sZW5ndGg7ZSs9MSl7Y29uc3QgdD1tW2VdO2lmKHRbMF0+PTAmJnRbMF08PWkmJnRbMV0+PTAmJnRbMV08PWwpe2lmKDA9PT10WzBdJiYwPT09dFsxXSljb250aW51ZTtoPSEwfX1jb25zdCBmPSEoInRvdWNoc3RhcnQiIT09dC50b3VjaEV2ZW50cy5zdGFydHx8IXQuc3VwcG9ydC5wYXNzaXZlTGlzdGVuZXJ8fCF0LnBhcmFtcy5wYXNzaXZlTGlzdGVuZXJzKSYme3Bhc3NpdmU6ITAsY2FwdHVyZTohMX07aD8oYygpLHMub2ZmKCJzY3JvbGwiLHAsZikpOm58fChuPSEwLHMub24oInNjcm9sbCIscCxmKSl9YSgiYmVmb3JlSW5pdCIsKCgpPT57dC5wYXJhbXMubGF6eS5lbmFibGVkJiZ0LnBhcmFtcy5wcmVsb2FkSW1hZ2VzJiYodC5wYXJhbXMucHJlbG9hZEltYWdlcz0hMSl9KSksYSgiaW5pdCIsKCgpPT57dC5wYXJhbXMubGF6eS5lbmFibGVkJiYodC5wYXJhbXMubGF6eS5jaGVja0luVmlldz9wKCk6YygpKX0pKSxhKCJzY3JvbGwiLCgoKT0+e3QucGFyYW1zLmZyZWVNb2RlJiZ0LnBhcmFtcy5mcmVlTW9kZS5lbmFibGVkJiYhdC5wYXJhbXMuZnJlZU1vZGUuc3RpY2t5JiZjKCl9KSksYSgic2Nyb2xsYmFyRHJhZ01vdmUgcmVzaXplIF9mcmVlTW9kZU5vTW9tZW50dW1SZWxlYXNlIiwoKCk9Pnt0LnBhcmFtcy5sYXp5LmVuYWJsZWQmJih0LnBhcmFtcy5sYXp5LmNoZWNrSW5WaWV3P3AoKTpjKCkpfSkpLGEoInRyYW5zaXRpb25TdGFydCIsKCgpPT57dC5wYXJhbXMubGF6eS5lbmFibGVkJiYodC5wYXJhbXMubGF6eS5sb2FkT25UcmFuc2l0aW9uU3RhcnR8fCF0LnBhcmFtcy5sYXp5LmxvYWRPblRyYW5zaXRpb25TdGFydCYmIWwpJiYodC5wYXJhbXMubGF6eS5jaGVja0luVmlldz9wKCk6YygpKX0pKSxhKCJ0cmFuc2l0aW9uRW5kIiwoKCk9Pnt0LnBhcmFtcy5sYXp5LmVuYWJsZWQmJiF0LnBhcmFtcy5sYXp5LmxvYWRPblRyYW5zaXRpb25TdGFydCYmKHQucGFyYW1zLmxhenkuY2hlY2tJblZpZXc/cCgpOmMoKSl9KSksYSgic2xpZGVDaGFuZ2UiLCgoKT0+e2NvbnN0e2xhenk6ZSxjc3NNb2RlOnMsd2F0Y2hTbGlkZXNQcm9ncmVzczphLHRvdWNoUmVsZWFzZU9uRWRnZXM6aSxyZXNpc3RhbmNlUmF0aW86cn09dC5wYXJhbXM7ZS5lbmFibGVkJiYoc3x8YSYmKGl8fDA9PT1yKSkmJmMoKX0pKSxhKCJkZXN0cm95IiwoKCk9Pnt0LiRlbCYmdC4kZWwuZmluZChgLiR7dC5wYXJhbXMubGF6eS5sb2FkaW5nQ2xhc3N9YCkucmVtb3ZlQ2xhc3ModC5wYXJhbXMubGF6eS5sb2FkaW5nQ2xhc3MpfSkpLE9iamVjdC5hc3NpZ24odC5sYXp5LHtsb2FkOmMsbG9hZEluU2xpZGU6b30pfSxmdW5jdGlvbihlKXtsZXR7c3dpcGVyOnQsZXh0ZW5kUGFyYW1zOnMsb246YX09ZTtmdW5jdGlvbiBpKGUsdCl7Y29uc3Qgcz1mdW5jdGlvbigpe2xldCBlLHQscztyZXR1cm4oYSxpKT0+e2Zvcih0PS0xLGU9YS5sZW5ndGg7ZS10PjE7KXM9ZSt0Pj4xLGFbc108PWk/dD1zOmU9cztyZXR1cm4gZX19KCk7bGV0IGEsaTtyZXR1cm4gdGhpcy54PWUsdGhpcy55PXQsdGhpcy5sYXN0SW5kZXg9ZS5sZW5ndGgtMSx0aGlzLmludGVycG9sYXRlPWZ1bmN0aW9uKGUpe3JldHVybiBlPyhpPXModGhpcy54LGUpLGE9aS0xLChlLXRoaXMueFthXSkqKHRoaXMueVtpXS10aGlzLnlbYV0pLyh0aGlzLnhbaV0tdGhpcy54W2FdKSt0aGlzLnlbYV0pOjB9LHRoaXN9ZnVuY3Rpb24gcigpe3QuY29udHJvbGxlci5jb250cm9sJiZ0LmNvbnRyb2xsZXIuc3BsaW5lJiYodC5jb250cm9sbGVyLnNwbGluZT12b2lkIDAsZGVsZXRlIHQuY29udHJvbGxlci5zcGxpbmUpfXMoe2NvbnRyb2xsZXI6e2NvbnRyb2w6dm9pZCAwLGludmVyc2U6ITEsYnk6InNsaWRlIn19KSx0LmNvbnRyb2xsZXI9e2NvbnRyb2w6dm9pZCAwfSxhKCJiZWZvcmVJbml0IiwoKCk9Pnt0LmNvbnRyb2xsZXIuY29udHJvbD10LnBhcmFtcy5jb250cm9sbGVyLmNvbnRyb2x9KSksYSgidXBkYXRlIiwoKCk9PntyKCl9KSksYSgicmVzaXplIiwoKCk9PntyKCl9KSksYSgib2JzZXJ2ZXJVcGRhdGUiLCgoKT0+e3IoKX0pKSxhKCJzZXRUcmFuc2xhdGUiLCgoZSxzLGEpPT57dC5jb250cm9sbGVyLmNvbnRyb2wmJnQuY29udHJvbGxlci5zZXRUcmFuc2xhdGUocyxhKX0pKSxhKCJzZXRUcmFuc2l0aW9uIiwoKGUscyxhKT0+e3QuY29udHJvbGxlci5jb250cm9sJiZ0LmNvbnRyb2xsZXIuc2V0VHJhbnNpdGlvbihzLGEpfSkpLE9iamVjdC5hc3NpZ24odC5jb250cm9sbGVyLHtzZXRUcmFuc2xhdGU6ZnVuY3Rpb24oZSxzKXtjb25zdCBhPXQuY29udHJvbGxlci5jb250cm9sO2xldCByLG47Y29uc3QgbD10LmNvbnN0cnVjdG9yO2Z1bmN0aW9uIG8oZSl7Y29uc3Qgcz10LnJ0bFRyYW5zbGF0ZT8tdC50cmFuc2xhdGU6dC50cmFuc2xhdGU7InNsaWRlIj09PXQucGFyYW1zLmNvbnRyb2xsZXIuYnkmJighZnVuY3Rpb24oZSl7dC5jb250cm9sbGVyLnNwbGluZXx8KHQuY29udHJvbGxlci5zcGxpbmU9dC5wYXJhbXMubG9vcD9uZXcgaSh0LnNsaWRlc0dyaWQsZS5zbGlkZXNHcmlkKTpuZXcgaSh0LnNuYXBHcmlkLGUuc25hcEdyaWQpKX0oZSksbj0tdC5jb250cm9sbGVyLnNwbGluZS5pbnRlcnBvbGF0ZSgtcykpLG4mJiJjb250YWluZXIiIT09dC5wYXJhbXMuY29udHJvbGxlci5ieXx8KHI9KGUubWF4VHJhbnNsYXRlKCktZS5taW5UcmFuc2xhdGUoKSkvKHQubWF4VHJhbnNsYXRlKCktdC5taW5UcmFuc2xhdGUoKSksbj0ocy10Lm1pblRyYW5zbGF0ZSgpKSpyK2UubWluVHJhbnNsYXRlKCkpLHQucGFyYW1zLmNvbnRyb2xsZXIuaW52ZXJzZSYmKG49ZS5tYXhUcmFuc2xhdGUoKS1uKSxlLnVwZGF0ZVByb2dyZXNzKG4pLGUuc2V0VHJhbnNsYXRlKG4sdCksZS51cGRhdGVBY3RpdmVJbmRleCgpLGUudXBkYXRlU2xpZGVzQ2xhc3NlcygpfWlmKEFycmF5LmlzQXJyYXkoYSkpZm9yKGxldCBlPTA7ZTxhLmxlbmd0aDtlKz0xKWFbZV0hPT1zJiZhW2VdaW5zdGFuY2VvZiBsJiZvKGFbZV0pO2Vsc2UgYSBpbnN0YW5jZW9mIGwmJnMhPT1hJiZvKGEpfSxzZXRUcmFuc2l0aW9uOmZ1bmN0aW9uKGUscyl7Y29uc3QgYT10LmNvbnN0cnVjdG9yLGk9dC5jb250cm9sbGVyLmNvbnRyb2w7bGV0IHI7ZnVuY3Rpb24gbihzKXtzLnNldFRyYW5zaXRpb24oZSx0KSwwIT09ZSYmKHMudHJhbnNpdGlvblN0YXJ0KCkscy5wYXJhbXMuYXV0b0hlaWdodCYmcCgoKCk9PntzLnVwZGF0ZUF1dG9IZWlnaHQoKX0pKSxzLiR3cmFwcGVyRWwudHJhbnNpdGlvbkVuZCgoKCk9PntpJiYocy5wYXJhbXMubG9vcCYmInNsaWRlIj09PXQucGFyYW1zLmNvbnRyb2xsZXIuYnkmJnMubG9vcEZpeCgpLHMudHJhbnNpdGlvbkVuZCgpKX0pKSl9aWYoQXJyYXkuaXNBcnJheShpKSlmb3Iocj0wO3I8aS5sZW5ndGg7cis9MSlpW3JdIT09cyYmaVtyXWluc3RhbmNlb2YgYSYmbihpW3JdKTtlbHNlIGkgaW5zdGFuY2VvZiBhJiZzIT09aSYmbihpKX19KX0sZnVuY3Rpb24oZSl7bGV0e3N3aXBlcjp0LGV4dGVuZFBhcmFtczpzLG9uOmF9PWU7cyh7YTExeTp7ZW5hYmxlZDohMCxub3RpZmljYXRpb25DbGFzczoic3dpcGVyLW5vdGlmaWNhdGlvbiIscHJldlNsaWRlTWVzc2FnZToiUHJldmlvdXMgc2xpZGUiLG5leHRTbGlkZU1lc3NhZ2U6Ik5leHQgc2xpZGUiLGZpcnN0U2xpZGVNZXNzYWdlOiJUaGlzIGlzIHRoZSBmaXJzdCBzbGlkZSIsbGFzdFNsaWRlTWVzc2FnZToiVGhpcyBpcyB0aGUgbGFzdCBzbGlkZSIscGFnaW5hdGlvbkJ1bGxldE1lc3NhZ2U6IkdvIHRvIHNsaWRlIHt7aW5kZXh9fSIsc2xpZGVMYWJlbE1lc3NhZ2U6Int7aW5kZXh9fSAvIHt7c2xpZGVzTGVuZ3RofX0iLGNvbnRhaW5lck1lc3NhZ2U6bnVsbCxjb250YWluZXJSb2xlRGVzY3JpcHRpb25NZXNzYWdlOm51bGwsaXRlbVJvbGVEZXNjcmlwdGlvbk1lc3NhZ2U6bnVsbCxzbGlkZVJvbGU6Imdyb3VwIixpZDpudWxsfX0pLHQuYTExeT17Y2xpY2tlZDohMX07bGV0IGk9bnVsbDtmdW5jdGlvbiByKGUpe2NvbnN0IHQ9aTswIT09dC5sZW5ndGgmJih0Lmh0bWwoIiIpLHQuaHRtbChlKSl9ZnVuY3Rpb24gbihlKXtlLmF0dHIoInRhYkluZGV4IiwiMCIpfWZ1bmN0aW9uIGwoZSl7ZS5hdHRyKCJ0YWJJbmRleCIsIi0xIil9ZnVuY3Rpb24gbyhlLHQpe2UuYXR0cigicm9sZSIsdCl9ZnVuY3Rpb24gYyhlLHQpe2UuYXR0cigiYXJpYS1yb2xlZGVzY3JpcHRpb24iLHQpfWZ1bmN0aW9uIHAoZSx0KXtlLmF0dHIoImFyaWEtbGFiZWwiLHQpfWZ1bmN0aW9uIHUoZSl7ZS5hdHRyKCJhcmlhLWRpc2FibGVkIiwhMCl9ZnVuY3Rpb24gaChlKXtlLmF0dHIoImFyaWEtZGlzYWJsZWQiLCExKX1mdW5jdGlvbiBtKGUpe2lmKDEzIT09ZS5rZXlDb2RlJiYzMiE9PWUua2V5Q29kZSlyZXR1cm47Y29uc3Qgcz10LnBhcmFtcy5hMTF5LGE9ZChlLnRhcmdldCk7dC5uYXZpZ2F0aW9uJiZ0Lm5hdmlnYXRpb24uJG5leHRFbCYmYS5pcyh0Lm5hdmlnYXRpb24uJG5leHRFbCkmJih0LmlzRW5kJiYhdC5wYXJhbXMubG9vcHx8dC5zbGlkZU5leHQoKSx0LmlzRW5kP3Iocy5sYXN0U2xpZGVNZXNzYWdlKTpyKHMubmV4dFNsaWRlTWVzc2FnZSkpLHQubmF2aWdhdGlvbiYmdC5uYXZpZ2F0aW9uLiRwcmV2RWwmJmEuaXModC5uYXZpZ2F0aW9uLiRwcmV2RWwpJiYodC5pc0JlZ2lubmluZyYmIXQucGFyYW1zLmxvb3B8fHQuc2xpZGVQcmV2KCksdC5pc0JlZ2lubmluZz9yKHMuZmlyc3RTbGlkZU1lc3NhZ2UpOnIocy5wcmV2U2xpZGVNZXNzYWdlKSksdC5wYWdpbmF0aW9uJiZhLmlzKFUodC5wYXJhbXMucGFnaW5hdGlvbi5idWxsZXRDbGFzcykpJiZhWzBdLmNsaWNrKCl9ZnVuY3Rpb24gZigpe3JldHVybiB0LnBhZ2luYXRpb24mJnQucGFnaW5hdGlvbi5idWxsZXRzJiZ0LnBhZ2luYXRpb24uYnVsbGV0cy5sZW5ndGh9ZnVuY3Rpb24gZygpe3JldHVybiBmKCkmJnQucGFyYW1zLnBhZ2luYXRpb24uY2xpY2thYmxlfWNvbnN0IHY9KGUsdCxzKT0+e24oZSksIkJVVFRPTiIhPT1lWzBdLnRhZ05hbWUmJihvKGUsImJ1dHRvbiIpLGUub24oImtleWRvd24iLG0pKSxwKGUscyksZnVuY3Rpb24oZSx0KXtlLmF0dHIoImFyaWEtY29udHJvbHMiLHQpfShlLHQpfSx3PSgpPT57dC5hMTF5LmNsaWNrZWQ9ITB9LGI9KCk9PntyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3QuZGVzdHJveWVkfHwodC5hMTF5LmNsaWNrZWQ9ITEpfSkpfSkpfSx4PWU9PntpZih0LmExMXkuY2xpY2tlZClyZXR1cm47Y29uc3Qgcz1lLnRhcmdldC5jbG9zZXN0KGAuJHt0LnBhcmFtcy5zbGlkZUNsYXNzfWApO2lmKCFzfHwhdC5zbGlkZXMuaW5jbHVkZXMocykpcmV0dXJuO2NvbnN0IGE9dC5zbGlkZXMuaW5kZXhPZihzKT09PXQuYWN0aXZlSW5kZXgsaT10LnBhcmFtcy53YXRjaFNsaWRlc1Byb2dyZXNzJiZ0LnZpc2libGVTbGlkZXMmJnQudmlzaWJsZVNsaWRlcy5pbmNsdWRlcyhzKTthfHxpfHxlLnNvdXJjZUNhcGFiaWxpdGllcyYmZS5zb3VyY2VDYXBhYmlsaXRpZXMuZmlyZXNUb3VjaEV2ZW50c3x8KHQuaXNIb3Jpem9udGFsKCk/dC5lbC5zY3JvbGxMZWZ0PTA6dC5lbC5zY3JvbGxUb3A9MCx0LnNsaWRlVG8odC5zbGlkZXMuaW5kZXhPZihzKSwwKSl9LHk9KCk9Pntjb25zdCBlPXQucGFyYW1zLmExMXk7ZS5pdGVtUm9sZURlc2NyaXB0aW9uTWVzc2FnZSYmYyhkKHQuc2xpZGVzKSxlLml0ZW1Sb2xlRGVzY3JpcHRpb25NZXNzYWdlKSxlLnNsaWRlUm9sZSYmbyhkKHQuc2xpZGVzKSxlLnNsaWRlUm9sZSk7Y29uc3Qgcz10LnBhcmFtcy5sb29wP3Quc2xpZGVzLmZpbHRlcigoZT0+IWUuY2xhc3NMaXN0LmNvbnRhaW5zKHQucGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MpKSkubGVuZ3RoOnQuc2xpZGVzLmxlbmd0aDtlLnNsaWRlTGFiZWxNZXNzYWdlJiZ0LnNsaWRlcy5lYWNoKCgoYSxpKT0+e2NvbnN0IHI9ZChhKSxuPXQucGFyYW1zLmxvb3A/cGFyc2VJbnQoci5hdHRyKCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleCIpLDEwKTppO3AocixlLnNsaWRlTGFiZWxNZXNzYWdlLnJlcGxhY2UoL1x7XHtpbmRleFx9XH0vLG4rMSkucmVwbGFjZSgvXHtce3NsaWRlc0xlbmd0aFx9XH0vLHMpKX0pKX0sRT0oKT0+e2NvbnN0IGU9dC5wYXJhbXMuYTExeTt0LiRlbC5hcHBlbmQoaSk7Y29uc3Qgcz10LiRlbDtlLmNvbnRhaW5lclJvbGVEZXNjcmlwdGlvbk1lc3NhZ2UmJmMocyxlLmNvbnRhaW5lclJvbGVEZXNjcmlwdGlvbk1lc3NhZ2UpLGUuY29udGFpbmVyTWVzc2FnZSYmcChzLGUuY29udGFpbmVyTWVzc2FnZSk7Y29uc3QgYT10LiR3cmFwcGVyRWwscj1lLmlkfHxhLmF0dHIoImlkIil8fGBzd2lwZXItd3JhcHBlci0ke249MTYsdm9pZCAwPT09biYmKG49MTYpLCJ4Ii5yZXBlYXQobikucmVwbGFjZSgveC9nLCgoKT0+TWF0aC5yb3VuZCgxNipNYXRoLnJhbmRvbSgpKS50b1N0cmluZygxNikpKX1gO3ZhciBuO2NvbnN0IGw9dC5wYXJhbXMuYXV0b3BsYXkmJnQucGFyYW1zLmF1dG9wbGF5LmVuYWJsZWQ/Im9mZiI6InBvbGl0ZSI7dmFyIG87bGV0IGQsdTtvPXIsYS5hdHRyKCJpZCIsbyksZnVuY3Rpb24oZSx0KXtlLmF0dHIoImFyaWEtbGl2ZSIsdCl9KGEsbCkseSgpLHQubmF2aWdhdGlvbiYmdC5uYXZpZ2F0aW9uLiRuZXh0RWwmJihkPXQubmF2aWdhdGlvbi4kbmV4dEVsKSx0Lm5hdmlnYXRpb24mJnQubmF2aWdhdGlvbi4kcHJldkVsJiYodT10Lm5hdmlnYXRpb24uJHByZXZFbCksZCYmZC5sZW5ndGgmJnYoZCxyLGUubmV4dFNsaWRlTWVzc2FnZSksdSYmdS5sZW5ndGgmJnYodSxyLGUucHJldlNsaWRlTWVzc2FnZSksZygpJiZ0LnBhZ2luYXRpb24uJGVsLm9uKCJrZXlkb3duIixVKHQucGFyYW1zLnBhZ2luYXRpb24uYnVsbGV0Q2xhc3MpLG0pLHQuJGVsLm9uKCJmb2N1cyIseCwhMCksdC4kZWwub24oInBvaW50ZXJkb3duIix3LCEwKSx0LiRlbC5vbigicG9pbnRlcnVwIixiLCEwKX07YSgiYmVmb3JlSW5pdCIsKCgpPT57aT1kKGA8c3BhbiBjbGFzcz0iJHt0LnBhcmFtcy5hMTF5Lm5vdGlmaWNhdGlvbkNsYXNzfSIgYXJpYS1saXZlPSJhc3NlcnRpdmUiIGFyaWEtYXRvbWljPSJ0cnVlIj48L3NwYW4+YCl9KSksYSgiYWZ0ZXJJbml0IiwoKCk9Pnt0LnBhcmFtcy5hMTF5LmVuYWJsZWQmJkUoKX0pKSxhKCJzbGlkZXNMZW5ndGhDaGFuZ2Ugc25hcEdyaWRMZW5ndGhDaGFuZ2Ugc2xpZGVzR3JpZExlbmd0aENoYW5nZSIsKCgpPT57dC5wYXJhbXMuYTExeS5lbmFibGVkJiZ5KCl9KSksYSgiZnJvbUVkZ2UgdG9FZGdlIGFmdGVySW5pdCBsb2NrIHVubG9jayIsKCgpPT57dC5wYXJhbXMuYTExeS5lbmFibGVkJiZmdW5jdGlvbigpe2lmKHQucGFyYW1zLmxvb3B8fHQucGFyYW1zLnJld2luZHx8IXQubmF2aWdhdGlvbilyZXR1cm47Y29uc3R7JG5leHRFbDplLCRwcmV2RWw6c309dC5uYXZpZ2F0aW9uO3MmJnMubGVuZ3RoPjAmJih0LmlzQmVnaW5uaW5nPyh1KHMpLGwocykpOihoKHMpLG4ocykpKSxlJiZlLmxlbmd0aD4wJiYodC5pc0VuZD8odShlKSxsKGUpKTooaChlKSxuKGUpKSl9KCl9KSksYSgicGFnaW5hdGlvblVwZGF0ZSIsKCgpPT57dC5wYXJhbXMuYTExeS5lbmFibGVkJiZmdW5jdGlvbigpe2NvbnN0IGU9dC5wYXJhbXMuYTExeTtmKCkmJnQucGFnaW5hdGlvbi5idWxsZXRzLmVhY2goKHM9Pntjb25zdCBhPWQocyk7dC5wYXJhbXMucGFnaW5hdGlvbi5jbGlja2FibGUmJihuKGEpLHQucGFyYW1zLnBhZ2luYXRpb24ucmVuZGVyQnVsbGV0fHwobyhhLCJidXR0b24iKSxwKGEsZS5wYWdpbmF0aW9uQnVsbGV0TWVzc2FnZS5yZXBsYWNlKC9ce1x7aW5kZXhcfVx9LyxhLmluZGV4KCkrMSkpKSksYS5pcyhgLiR7dC5wYXJhbXMucGFnaW5hdGlvbi5idWxsZXRBY3RpdmVDbGFzc31gKT9hLmF0dHIoImFyaWEtY3VycmVudCIsInRydWUiKTphLnJlbW92ZUF0dHIoImFyaWEtY3VycmVudCIpfSkpfSgpfSkpLGEoImRlc3Ryb3kiLCgoKT0+e3QucGFyYW1zLmExMXkuZW5hYmxlZCYmZnVuY3Rpb24oKXtsZXQgZSxzO2kmJmkubGVuZ3RoPjAmJmkucmVtb3ZlKCksdC5uYXZpZ2F0aW9uJiZ0Lm5hdmlnYXRpb24uJG5leHRFbCYmKGU9dC5uYXZpZ2F0aW9uLiRuZXh0RWwpLHQubmF2aWdhdGlvbiYmdC5uYXZpZ2F0aW9uLiRwcmV2RWwmJihzPXQubmF2aWdhdGlvbi4kcHJldkVsKSxlJiZlLm9mZigia2V5ZG93biIsbSkscyYmcy5vZmYoImtleWRvd24iLG0pLGcoKSYmdC5wYWdpbmF0aW9uLiRlbC5vZmYoImtleWRvd24iLFUodC5wYXJhbXMucGFnaW5hdGlvbi5idWxsZXRDbGFzcyksbSksdC4kZWwub2ZmKCJmb2N1cyIseCwhMCksdC4kZWwub2ZmKCJwb2ludGVyZG93biIsdywhMCksdC4kZWwub2ZmKCJwb2ludGVydXAiLGIsITApfSgpfSkpfSxmdW5jdGlvbihlKXtsZXR7c3dpcGVyOnQsZXh0ZW5kUGFyYW1zOnMsb246YX09ZTtzKHtoaXN0b3J5OntlbmFibGVkOiExLHJvb3Q6IiIscmVwbGFjZVN0YXRlOiExLGtleToic2xpZGVzIixrZWVwUXVlcnk6ITF9fSk7bGV0IGk9ITEsbj17fTtjb25zdCBsPWU9PmUudG9TdHJpbmcoKS5yZXBsYWNlKC9ccysvZywiLSIpLnJlcGxhY2UoL1teXHctXSsvZywiIikucmVwbGFjZSgvLS0rL2csIi0iKS5yZXBsYWNlKC9eLSsvLCIiKS5yZXBsYWNlKC8tKyQvLCIiKSxvPWU9Pntjb25zdCB0PXIoKTtsZXQgcztzPWU/bmV3IFVSTChlKTp0LmxvY2F0aW9uO2NvbnN0IGE9cy5wYXRobmFtZS5zbGljZSgxKS5zcGxpdCgiLyIpLmZpbHRlcigoZT0+IiIhPT1lKSksaT1hLmxlbmd0aDtyZXR1cm57a2V5OmFbaS0yXSx2YWx1ZTphW2ktMV19fSxkPShlLHMpPT57Y29uc3QgYT1yKCk7aWYoIWl8fCF0LnBhcmFtcy5oaXN0b3J5LmVuYWJsZWQpcmV0dXJuO2xldCBuO249dC5wYXJhbXMudXJsP25ldyBVUkwodC5wYXJhbXMudXJsKTphLmxvY2F0aW9uO2NvbnN0IG89dC5zbGlkZXMuZXEocyk7bGV0IGQ9bChvLmF0dHIoImRhdGEtaGlzdG9yeSIpKTtpZih0LnBhcmFtcy5oaXN0b3J5LnJvb3QubGVuZ3RoPjApe2xldCBzPXQucGFyYW1zLmhpc3Rvcnkucm9vdDsiLyI9PT1zW3MubGVuZ3RoLTFdJiYocz1zLnNsaWNlKDAscy5sZW5ndGgtMSkpLGQ9YCR7c30vJHtlfS8ke2R9YH1lbHNlIG4ucGF0aG5hbWUuaW5jbHVkZXMoZSl8fChkPWAke2V9LyR7ZH1gKTt0LnBhcmFtcy5oaXN0b3J5LmtlZXBRdWVyeSYmKGQrPW4uc2VhcmNoKTtjb25zdCBjPWEuaGlzdG9yeS5zdGF0ZTtjJiZjLnZhbHVlPT09ZHx8KHQucGFyYW1zLmhpc3RvcnkucmVwbGFjZVN0YXRlP2EuaGlzdG9yeS5yZXBsYWNlU3RhdGUoe3ZhbHVlOmR9LG51bGwsZCk6YS5oaXN0b3J5LnB1c2hTdGF0ZSh7dmFsdWU6ZH0sbnVsbCxkKSl9LGM9KGUscyxhKT0+e2lmKHMpZm9yKGxldCBpPTAscj10LnNsaWRlcy5sZW5ndGg7aTxyO2krPTEpe2NvbnN0IHI9dC5zbGlkZXMuZXEoaSk7aWYobChyLmF0dHIoImRhdGEtaGlzdG9yeSIpKT09PXMmJiFyLmhhc0NsYXNzKHQucGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MpKXtjb25zdCBzPXIuaW5kZXgoKTt0LnNsaWRlVG8ocyxlLGEpfX1lbHNlIHQuc2xpZGVUbygwLGUsYSl9LHA9KCk9PntuPW8odC5wYXJhbXMudXJsKSxjKHQucGFyYW1zLnNwZWVkLG4udmFsdWUsITEpfTthKCJpbml0IiwoKCk9Pnt0LnBhcmFtcy5oaXN0b3J5LmVuYWJsZWQmJigoKT0+e2NvbnN0IGU9cigpO2lmKHQucGFyYW1zLmhpc3Rvcnkpe2lmKCFlLmhpc3Rvcnl8fCFlLmhpc3RvcnkucHVzaFN0YXRlKXJldHVybiB0LnBhcmFtcy5oaXN0b3J5LmVuYWJsZWQ9ITEsdm9pZCh0LnBhcmFtcy5oYXNoTmF2aWdhdGlvbi5lbmFibGVkPSEwKTtpPSEwLG49byh0LnBhcmFtcy51cmwpLChuLmtleXx8bi52YWx1ZSkmJihjKDAsbi52YWx1ZSx0LnBhcmFtcy5ydW5DYWxsYmFja3NPbkluaXQpLHQucGFyYW1zLmhpc3RvcnkucmVwbGFjZVN0YXRlfHxlLmFkZEV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIixwKSl9fSkoKX0pKSxhKCJkZXN0cm95IiwoKCk9Pnt0LnBhcmFtcy5oaXN0b3J5LmVuYWJsZWQmJigoKT0+e2NvbnN0IGU9cigpO3QucGFyYW1zLmhpc3RvcnkucmVwbGFjZVN0YXRlfHxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIixwKX0pKCl9KSksYSgidHJhbnNpdGlvbkVuZCBfZnJlZU1vZGVOb01vbWVudHVtUmVsZWFzZSIsKCgpPT57aSYmZCh0LnBhcmFtcy5oaXN0b3J5LmtleSx0LmFjdGl2ZUluZGV4KX0pKSxhKCJzbGlkZUNoYW5nZSIsKCgpPT57aSYmdC5wYXJhbXMuY3NzTW9kZSYmZCh0LnBhcmFtcy5oaXN0b3J5LmtleSx0LmFjdGl2ZUluZGV4KX0pKX0sZnVuY3Rpb24oZSl7bGV0e3N3aXBlcjp0LGV4dGVuZFBhcmFtczpzLGVtaXQ6aSxvbjpufT1lLGw9ITE7Y29uc3Qgbz1hKCksYz1yKCk7cyh7aGFzaE5hdmlnYXRpb246e2VuYWJsZWQ6ITEscmVwbGFjZVN0YXRlOiExLHdhdGNoU3RhdGU6ITF9fSk7Y29uc3QgcD0oKT0+e2koImhhc2hDaGFuZ2UiKTtjb25zdCBlPW8ubG9jYXRpb24uaGFzaC5yZXBsYWNlKCIjIiwiIik7aWYoZSE9PXQuc2xpZGVzLmVxKHQuYWN0aXZlSW5kZXgpLmF0dHIoImRhdGEtaGFzaCIpKXtjb25zdCBzPXQuJHdyYXBwZXJFbC5jaGlsZHJlbihgLiR7dC5wYXJhbXMuc2xpZGVDbGFzc31bZGF0YS1oYXNoPSIke2V9Il1gKS5pbmRleCgpO2lmKHZvaWQgMD09PXMpcmV0dXJuO3Quc2xpZGVUbyhzKX19LHU9KCk9PntpZihsJiZ0LnBhcmFtcy5oYXNoTmF2aWdhdGlvbi5lbmFibGVkKWlmKHQucGFyYW1zLmhhc2hOYXZpZ2F0aW9uLnJlcGxhY2VTdGF0ZSYmYy5oaXN0b3J5JiZjLmhpc3RvcnkucmVwbGFjZVN0YXRlKWMuaGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCxudWxsLGAjJHt0LnNsaWRlcy5lcSh0LmFjdGl2ZUluZGV4KS5hdHRyKCJkYXRhLWhhc2giKX1gfHwiIiksaSgiaGFzaFNldCIpO2Vsc2V7Y29uc3QgZT10LnNsaWRlcy5lcSh0LmFjdGl2ZUluZGV4KSxzPWUuYXR0cigiZGF0YS1oYXNoIil8fGUuYXR0cigiZGF0YS1oaXN0b3J5Iik7by5sb2NhdGlvbi5oYXNoPXN8fCIiLGkoImhhc2hTZXQiKX19O24oImluaXQiLCgoKT0+e3QucGFyYW1zLmhhc2hOYXZpZ2F0aW9uLmVuYWJsZWQmJigoKT0+e2lmKCF0LnBhcmFtcy5oYXNoTmF2aWdhdGlvbi5lbmFibGVkfHx0LnBhcmFtcy5oaXN0b3J5JiZ0LnBhcmFtcy5oaXN0b3J5LmVuYWJsZWQpcmV0dXJuO2w9ITA7Y29uc3QgZT1vLmxvY2F0aW9uLmhhc2gucmVwbGFjZSgiIyIsIiIpO2lmKGUpe2NvbnN0IHM9MDtmb3IobGV0IGE9MCxpPXQuc2xpZGVzLmxlbmd0aDthPGk7YSs9MSl7Y29uc3QgaT10LnNsaWRlcy5lcShhKTtpZigoaS5hdHRyKCJkYXRhLWhhc2giKXx8aS5hdHRyKCJkYXRhLWhpc3RvcnkiKSk9PT1lJiYhaS5oYXNDbGFzcyh0LnBhcmFtcy5zbGlkZUR1cGxpY2F0ZUNsYXNzKSl7Y29uc3QgZT1pLmluZGV4KCk7dC5zbGlkZVRvKGUscyx0LnBhcmFtcy5ydW5DYWxsYmFja3NPbkluaXQsITApfX19dC5wYXJhbXMuaGFzaE5hdmlnYXRpb24ud2F0Y2hTdGF0ZSYmZChjKS5vbigiaGFzaGNoYW5nZSIscCl9KSgpfSkpLG4oImRlc3Ryb3kiLCgoKT0+e3QucGFyYW1zLmhhc2hOYXZpZ2F0aW9uLmVuYWJsZWQmJnQucGFyYW1zLmhhc2hOYXZpZ2F0aW9uLndhdGNoU3RhdGUmJmQoYykub2ZmKCJoYXNoY2hhbmdlIixwKX0pKSxuKCJ0cmFuc2l0aW9uRW5kIF9mcmVlTW9kZU5vTW9tZW50dW1SZWxlYXNlIiwoKCk9PntsJiZ1KCl9KSksbigic2xpZGVDaGFuZ2UiLCgoKT0+e2wmJnQucGFyYW1zLmNzc01vZGUmJnUoKX0pKX0sZnVuY3Rpb24oZSl7bGV0IHQse3N3aXBlcjpzLGV4dGVuZFBhcmFtczppLG9uOnIsZW1pdDpufT1lO2Z1bmN0aW9uIGwoKXtpZighcy5zaXplKXJldHVybiBzLmF1dG9wbGF5LnJ1bm5pbmc9ITEsdm9pZChzLmF1dG9wbGF5LnBhdXNlZD0hMSk7Y29uc3QgZT1zLnNsaWRlcy5lcShzLmFjdGl2ZUluZGV4KTtsZXQgYT1zLnBhcmFtcy5hdXRvcGxheS5kZWxheTtlLmF0dHIoImRhdGEtc3dpcGVyLWF1dG9wbGF5IikmJihhPWUuYXR0cigiZGF0YS1zd2lwZXItYXV0b3BsYXkiKXx8cy5wYXJhbXMuYXV0b3BsYXkuZGVsYXkpLGNsZWFyVGltZW91dCh0KSx0PXAoKCgpPT57bGV0IGU7cy5wYXJhbXMuYXV0b3BsYXkucmV2ZXJzZURpcmVjdGlvbj9zLnBhcmFtcy5sb29wPyhzLmxvb3BGaXgoKSxlPXMuc2xpZGVQcmV2KHMucGFyYW1zLnNwZWVkLCEwLCEwKSxuKCJhdXRvcGxheSIpKTpzLmlzQmVnaW5uaW5nP3MucGFyYW1zLmF1dG9wbGF5LnN0b3BPbkxhc3RTbGlkZT9kKCk6KGU9cy5zbGlkZVRvKHMuc2xpZGVzLmxlbmd0aC0xLHMucGFyYW1zLnNwZWVkLCEwLCEwKSxuKCJhdXRvcGxheSIpKTooZT1zLnNsaWRlUHJldihzLnBhcmFtcy5zcGVlZCwhMCwhMCksbigiYXV0b3BsYXkiKSk6cy5wYXJhbXMubG9vcD8ocy5sb29wRml4KCksZT1zLnNsaWRlTmV4dChzLnBhcmFtcy5zcGVlZCwhMCwhMCksbigiYXV0b3BsYXkiKSk6cy5pc0VuZD9zLnBhcmFtcy5hdXRvcGxheS5zdG9wT25MYXN0U2xpZGU/ZCgpOihlPXMuc2xpZGVUbygwLHMucGFyYW1zLnNwZWVkLCEwLCEwKSxuKCJhdXRvcGxheSIpKTooZT1zLnNsaWRlTmV4dChzLnBhcmFtcy5zcGVlZCwhMCwhMCksbigiYXV0b3BsYXkiKSksKHMucGFyYW1zLmNzc01vZGUmJnMuYXV0b3BsYXkucnVubmluZ3x8ITE9PT1lKSYmbCgpfSksYSl9ZnVuY3Rpb24gbygpe3JldHVybiB2b2lkIDA9PT10JiYoIXMuYXV0b3BsYXkucnVubmluZyYmKHMuYXV0b3BsYXkucnVubmluZz0hMCxuKCJhdXRvcGxheVN0YXJ0IiksbCgpLCEwKSl9ZnVuY3Rpb24gZCgpe3JldHVybiEhcy5hdXRvcGxheS5ydW5uaW5nJiYodm9pZCAwIT09dCYmKHQmJihjbGVhclRpbWVvdXQodCksdD12b2lkIDApLHMuYXV0b3BsYXkucnVubmluZz0hMSxuKCJhdXRvcGxheVN0b3AiKSwhMCkpfWZ1bmN0aW9uIGMoZSl7cy5hdXRvcGxheS5ydW5uaW5nJiYocy5hdXRvcGxheS5wYXVzZWR8fCh0JiZjbGVhclRpbWVvdXQodCkscy5hdXRvcGxheS5wYXVzZWQ9ITAsMCE9PWUmJnMucGFyYW1zLmF1dG9wbGF5LndhaXRGb3JUcmFuc2l0aW9uP1sidHJhbnNpdGlvbmVuZCIsIndlYmtpdFRyYW5zaXRpb25FbmQiXS5mb3JFYWNoKChlPT57cy4kd3JhcHBlckVsWzBdLmFkZEV2ZW50TGlzdGVuZXIoZSxoKX0pKToocy5hdXRvcGxheS5wYXVzZWQ9ITEsbCgpKSkpfWZ1bmN0aW9uIHUoKXtjb25zdCBlPWEoKTsiaGlkZGVuIj09PWUudmlzaWJpbGl0eVN0YXRlJiZzLmF1dG9wbGF5LnJ1bm5pbmcmJmMoKSwidmlzaWJsZSI9PT1lLnZpc2liaWxpdHlTdGF0ZSYmcy5hdXRvcGxheS5wYXVzZWQmJihsKCkscy5hdXRvcGxheS5wYXVzZWQ9ITEpfWZ1bmN0aW9uIGgoZSl7cyYmIXMuZGVzdHJveWVkJiZzLiR3cmFwcGVyRWwmJmUudGFyZ2V0PT09cy4kd3JhcHBlckVsWzBdJiYoWyJ0cmFuc2l0aW9uZW5kIiwid2Via2l0VHJhbnNpdGlvbkVuZCJdLmZvckVhY2goKGU9PntzLiR3cmFwcGVyRWxbMF0ucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLGgpfSkpLHMuYXV0b3BsYXkucGF1c2VkPSExLHMuYXV0b3BsYXkucnVubmluZz9sKCk6ZCgpKX1mdW5jdGlvbiBtKCl7cy5wYXJhbXMuYXV0b3BsYXkuZGlzYWJsZU9uSW50ZXJhY3Rpb24/ZCgpOihuKCJhdXRvcGxheVBhdXNlIiksYygpKSxbInRyYW5zaXRpb25lbmQiLCJ3ZWJraXRUcmFuc2l0aW9uRW5kIl0uZm9yRWFjaCgoZT0+e3MuJHdyYXBwZXJFbFswXS5yZW1vdmVFdmVudExpc3RlbmVyKGUsaCl9KSl9ZnVuY3Rpb24gZigpe3MucGFyYW1zLmF1dG9wbGF5LmRpc2FibGVPbkludGVyYWN0aW9ufHwocy5hdXRvcGxheS5wYXVzZWQ9ITEsbigiYXV0b3BsYXlSZXN1bWUiKSxsKCkpfXMuYXV0b3BsYXk9e3J1bm5pbmc6ITEscGF1c2VkOiExfSxpKHthdXRvcGxheTp7ZW5hYmxlZDohMSxkZWxheTozZTMsd2FpdEZvclRyYW5zaXRpb246ITAsZGlzYWJsZU9uSW50ZXJhY3Rpb246ITAsc3RvcE9uTGFzdFNsaWRlOiExLHJldmVyc2VEaXJlY3Rpb246ITEscGF1c2VPbk1vdXNlRW50ZXI6ITF9fSkscigiaW5pdCIsKCgpPT57aWYocy5wYXJhbXMuYXV0b3BsYXkuZW5hYmxlZCl7bygpO2EoKS5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix1KSxzLnBhcmFtcy5hdXRvcGxheS5wYXVzZU9uTW91c2VFbnRlciYmKHMuJGVsLm9uKCJtb3VzZWVudGVyIixtKSxzLiRlbC5vbigibW91c2VsZWF2ZSIsZikpfX0pKSxyKCJiZWZvcmVUcmFuc2l0aW9uU3RhcnQiLCgoZSx0LGEpPT57cy5hdXRvcGxheS5ydW5uaW5nJiYoYXx8IXMucGFyYW1zLmF1dG9wbGF5LmRpc2FibGVPbkludGVyYWN0aW9uP3MuYXV0b3BsYXkucGF1c2UodCk6ZCgpKX0pKSxyKCJzbGlkZXJGaXJzdE1vdmUiLCgoKT0+e3MuYXV0b3BsYXkucnVubmluZyYmKHMucGFyYW1zLmF1dG9wbGF5LmRpc2FibGVPbkludGVyYWN0aW9uP2QoKTpjKCkpfSkpLHIoInRvdWNoRW5kIiwoKCk9PntzLnBhcmFtcy5jc3NNb2RlJiZzLmF1dG9wbGF5LnBhdXNlZCYmIXMucGFyYW1zLmF1dG9wbGF5LmRpc2FibGVPbkludGVyYWN0aW9uJiZsKCl9KSkscigiZGVzdHJveSIsKCgpPT57cy4kZWwub2ZmKCJtb3VzZWVudGVyIixtKSxzLiRlbC5vZmYoIm1vdXNlbGVhdmUiLGYpLHMuYXV0b3BsYXkucnVubmluZyYmZCgpO2EoKS5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix1KX0pKSxPYmplY3QuYXNzaWduKHMuYXV0b3BsYXkse3BhdXNlOmMscnVuOmwsc3RhcnQ6byxzdG9wOmR9KX0sZnVuY3Rpb24oZSl7bGV0e3N3aXBlcjp0LGV4dGVuZFBhcmFtczpzLG9uOmF9PWU7cyh7dGh1bWJzOntzd2lwZXI6bnVsbCxtdWx0aXBsZUFjdGl2ZVRodW1iczohMCxhdXRvU2Nyb2xsT2Zmc2V0OjAsc2xpZGVUaHVtYkFjdGl2ZUNsYXNzOiJzd2lwZXItc2xpZGUtdGh1bWItYWN0aXZlIix0aHVtYnNDb250YWluZXJDbGFzczoic3dpcGVyLXRodW1icyJ9fSk7bGV0IGk9ITEscj0hMTtmdW5jdGlvbiBuKCl7Y29uc3QgZT10LnRodW1icy5zd2lwZXI7aWYoIWV8fGUuZGVzdHJveWVkKXJldHVybjtjb25zdCBzPWUuY2xpY2tlZEluZGV4LGE9ZS5jbGlja2VkU2xpZGU7aWYoYSYmZChhKS5oYXNDbGFzcyh0LnBhcmFtcy50aHVtYnMuc2xpZGVUaHVtYkFjdGl2ZUNsYXNzKSlyZXR1cm47aWYobnVsbD09cylyZXR1cm47bGV0IGk7aWYoaT1lLnBhcmFtcy5sb29wP3BhcnNlSW50KGQoZS5jbGlja2VkU2xpZGUpLmF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4IiksMTApOnMsdC5wYXJhbXMubG9vcCl7bGV0IGU9dC5hY3RpdmVJbmRleDt0LnNsaWRlcy5lcShlKS5oYXNDbGFzcyh0LnBhcmFtcy5zbGlkZUR1cGxpY2F0ZUNsYXNzKSYmKHQubG9vcEZpeCgpLHQuX2NsaWVudExlZnQ9dC4kd3JhcHBlckVsWzBdLmNsaWVudExlZnQsZT10LmFjdGl2ZUluZGV4KTtjb25zdCBzPXQuc2xpZGVzLmVxKGUpLnByZXZBbGwoYFtkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJHtpfSJdYCkuZXEoMCkuaW5kZXgoKSxhPXQuc2xpZGVzLmVxKGUpLm5leHRBbGwoYFtkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJHtpfSJdYCkuZXEoMCkuaW5kZXgoKTtpPXZvaWQgMD09PXM/YTp2b2lkIDA9PT1hP3M6YS1lPGUtcz9hOnN9dC5zbGlkZVRvKGkpfWZ1bmN0aW9uIGwoKXtjb25zdHt0aHVtYnM6ZX09dC5wYXJhbXM7aWYoaSlyZXR1cm4hMTtpPSEwO2NvbnN0IHM9dC5jb25zdHJ1Y3RvcjtpZihlLnN3aXBlciBpbnN0YW5jZW9mIHMpdC50aHVtYnMuc3dpcGVyPWUuc3dpcGVyLE9iamVjdC5hc3NpZ24odC50aHVtYnMuc3dpcGVyLm9yaWdpbmFsUGFyYW1zLHt3YXRjaFNsaWRlc1Byb2dyZXNzOiEwLHNsaWRlVG9DbGlja2VkU2xpZGU6ITF9KSxPYmplY3QuYXNzaWduKHQudGh1bWJzLnN3aXBlci5wYXJhbXMse3dhdGNoU2xpZGVzUHJvZ3Jlc3M6ITAsc2xpZGVUb0NsaWNrZWRTbGlkZTohMX0pO2Vsc2UgaWYobShlLnN3aXBlcikpe2NvbnN0IGE9T2JqZWN0LmFzc2lnbih7fSxlLnN3aXBlcik7T2JqZWN0LmFzc2lnbihhLHt3YXRjaFNsaWRlc1Byb2dyZXNzOiEwLHNsaWRlVG9DbGlja2VkU2xpZGU6ITF9KSx0LnRodW1icy5zd2lwZXI9bmV3IHMoYSkscj0hMH1yZXR1cm4gdC50aHVtYnMuc3dpcGVyLiRlbC5hZGRDbGFzcyh0LnBhcmFtcy50aHVtYnMudGh1bWJzQ29udGFpbmVyQ2xhc3MpLHQudGh1bWJzLnN3aXBlci5vbigidGFwIixuKSwhMH1mdW5jdGlvbiBvKGUpe2NvbnN0IHM9dC50aHVtYnMuc3dpcGVyO2lmKCFzfHxzLmRlc3Ryb3llZClyZXR1cm47Y29uc3QgYT0iYXV0byI9PT1zLnBhcmFtcy5zbGlkZXNQZXJWaWV3P3Muc2xpZGVzUGVyVmlld0R5bmFtaWMoKTpzLnBhcmFtcy5zbGlkZXNQZXJWaWV3O2xldCBpPTE7Y29uc3Qgcj10LnBhcmFtcy50aHVtYnMuc2xpZGVUaHVtYkFjdGl2ZUNsYXNzO2lmKHQucGFyYW1zLnNsaWRlc1BlclZpZXc+MSYmIXQucGFyYW1zLmNlbnRlcmVkU2xpZGVzJiYoaT10LnBhcmFtcy5zbGlkZXNQZXJWaWV3KSx0LnBhcmFtcy50aHVtYnMubXVsdGlwbGVBY3RpdmVUaHVtYnN8fChpPTEpLGk9TWF0aC5mbG9vcihpKSxzLnNsaWRlcy5yZW1vdmVDbGFzcyhyKSxzLnBhcmFtcy5sb29wfHxzLnBhcmFtcy52aXJ0dWFsJiZzLnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQpZm9yKGxldCBlPTA7ZTxpO2UrPTEpcy4kd3JhcHBlckVsLmNoaWxkcmVuKGBbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9IiR7dC5yZWFsSW5kZXgrZX0iXWApLmFkZENsYXNzKHIpO2Vsc2UgZm9yKGxldCBlPTA7ZTxpO2UrPTEpcy5zbGlkZXMuZXEodC5yZWFsSW5kZXgrZSkuYWRkQ2xhc3Mocik7Y29uc3Qgbj10LnBhcmFtcy50aHVtYnMuYXV0b1Njcm9sbE9mZnNldCxsPW4mJiFzLnBhcmFtcy5sb29wO2lmKHQucmVhbEluZGV4IT09cy5yZWFsSW5kZXh8fGwpe2xldCBpLHIsbz1zLmFjdGl2ZUluZGV4O2lmKHMucGFyYW1zLmxvb3Ape3Muc2xpZGVzLmVxKG8pLmhhc0NsYXNzKHMucGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MpJiYocy5sb29wRml4KCkscy5fY2xpZW50TGVmdD1zLiR3cmFwcGVyRWxbMF0uY2xpZW50TGVmdCxvPXMuYWN0aXZlSW5kZXgpO2NvbnN0IGU9cy5zbGlkZXMuZXEobykucHJldkFsbChgW2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4PSIke3QucmVhbEluZGV4fSJdYCkuZXEoMCkuaW5kZXgoKSxhPXMuc2xpZGVzLmVxKG8pLm5leHRBbGwoYFtkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJHt0LnJlYWxJbmRleH0iXWApLmVxKDApLmluZGV4KCk7aT12b2lkIDA9PT1lP2E6dm9pZCAwPT09YT9lOmEtbz09by1lP3MucGFyYW1zLnNsaWRlc1Blckdyb3VwPjE/YTpvOmEtbzxvLWU/YTplLHI9dC5hY3RpdmVJbmRleD50LnByZXZpb3VzSW5kZXg/Im5leHQiOiJwcmV2In1lbHNlIGk9dC5yZWFsSW5kZXgscj1pPnQucHJldmlvdXNJbmRleD8ibmV4dCI6InByZXYiO2wmJihpKz0ibmV4dCI9PT1yP246LTEqbikscy52aXNpYmxlU2xpZGVzSW5kZXhlcyYmcy52aXNpYmxlU2xpZGVzSW5kZXhlcy5pbmRleE9mKGkpPDAmJihzLnBhcmFtcy5jZW50ZXJlZFNsaWRlcz9pPWk+bz9pLU1hdGguZmxvb3IoYS8yKSsxOmkrTWF0aC5mbG9vcihhLzIpLTE6aT5vJiZzLnBhcmFtcy5zbGlkZXNQZXJHcm91cCxzLnNsaWRlVG8oaSxlPzA6dm9pZCAwKSl9fXQudGh1bWJzPXtzd2lwZXI6bnVsbH0sYSgiYmVmb3JlSW5pdCIsKCgpPT57Y29uc3R7dGh1bWJzOmV9PXQucGFyYW1zO2UmJmUuc3dpcGVyJiYobCgpLG8oITApKX0pKSxhKCJzbGlkZUNoYW5nZSB1cGRhdGUgcmVzaXplIG9ic2VydmVyVXBkYXRlIiwoKCk9PntvKCl9KSksYSgic2V0VHJhbnNpdGlvbiIsKChlLHMpPT57Y29uc3QgYT10LnRodW1icy5zd2lwZXI7YSYmIWEuZGVzdHJveWVkJiZhLnNldFRyYW5zaXRpb24ocyl9KSksYSgiYmVmb3JlRGVzdHJveSIsKCgpPT57Y29uc3QgZT10LnRodW1icy5zd2lwZXI7ZSYmIWUuZGVzdHJveWVkJiZyJiZlLmRlc3Ryb3koKX0pKSxPYmplY3QuYXNzaWduKHQudGh1bWJzLHtpbml0OmwsdXBkYXRlOm99KX0sZnVuY3Rpb24oZSl7bGV0e3N3aXBlcjp0LGV4dGVuZFBhcmFtczpzLGVtaXQ6YSxvbmNlOml9PWU7cyh7ZnJlZU1vZGU6e2VuYWJsZWQ6ITEsbW9tZW50dW06ITAsbW9tZW50dW1SYXRpbzoxLG1vbWVudHVtQm91bmNlOiEwLG1vbWVudHVtQm91bmNlUmF0aW86MSxtb21lbnR1bVZlbG9jaXR5UmF0aW86MSxzdGlja3k6ITEsbWluaW11bVZlbG9jaXR5Oi4wMn19KSxPYmplY3QuYXNzaWduKHQse2ZyZWVNb2RlOntvblRvdWNoU3RhcnQ6ZnVuY3Rpb24oKXtjb25zdCBlPXQuZ2V0VHJhbnNsYXRlKCk7dC5zZXRUcmFuc2xhdGUoZSksdC5zZXRUcmFuc2l0aW9uKDApLHQudG91Y2hFdmVudHNEYXRhLnZlbG9jaXRpZXMubGVuZ3RoPTAsdC5mcmVlTW9kZS5vblRvdWNoRW5kKHtjdXJyZW50UG9zOnQucnRsP3QudHJhbnNsYXRlOi10LnRyYW5zbGF0ZX0pfSxvblRvdWNoTW92ZTpmdW5jdGlvbigpe2NvbnN0e3RvdWNoRXZlbnRzRGF0YTplLHRvdWNoZXM6c309dDswPT09ZS52ZWxvY2l0aWVzLmxlbmd0aCYmZS52ZWxvY2l0aWVzLnB1c2goe3Bvc2l0aW9uOnNbdC5pc0hvcml6b250YWwoKT8ic3RhcnRYIjoic3RhcnRZIl0sdGltZTplLnRvdWNoU3RhcnRUaW1lfSksZS52ZWxvY2l0aWVzLnB1c2goe3Bvc2l0aW9uOnNbdC5pc0hvcml6b250YWwoKT8iY3VycmVudFgiOiJjdXJyZW50WSJdLHRpbWU6dSgpfSl9LG9uVG91Y2hFbmQ6ZnVuY3Rpb24oZSl7bGV0e2N1cnJlbnRQb3M6c309ZTtjb25zdHtwYXJhbXM6ciwkd3JhcHBlckVsOm4scnRsVHJhbnNsYXRlOmwsc25hcEdyaWQ6byx0b3VjaEV2ZW50c0RhdGE6ZH09dCxjPXUoKS1kLnRvdWNoU3RhcnRUaW1lO2lmKHM8LXQubWluVHJhbnNsYXRlKCkpdC5zbGlkZVRvKHQuYWN0aXZlSW5kZXgpO2Vsc2UgaWYocz4tdC5tYXhUcmFuc2xhdGUoKSl0LnNsaWRlcy5sZW5ndGg8by5sZW5ndGg/dC5zbGlkZVRvKG8ubGVuZ3RoLTEpOnQuc2xpZGVUbyh0LnNsaWRlcy5sZW5ndGgtMSk7ZWxzZXtpZihyLmZyZWVNb2RlLm1vbWVudHVtKXtpZihkLnZlbG9jaXRpZXMubGVuZ3RoPjEpe2NvbnN0IGU9ZC52ZWxvY2l0aWVzLnBvcCgpLHM9ZC52ZWxvY2l0aWVzLnBvcCgpLGE9ZS5wb3NpdGlvbi1zLnBvc2l0aW9uLGk9ZS50aW1lLXMudGltZTt0LnZlbG9jaXR5PWEvaSx0LnZlbG9jaXR5Lz0yLE1hdGguYWJzKHQudmVsb2NpdHkpPHIuZnJlZU1vZGUubWluaW11bVZlbG9jaXR5JiYodC52ZWxvY2l0eT0wKSwoaT4xNTB8fHUoKS1lLnRpbWU+MzAwKSYmKHQudmVsb2NpdHk9MCl9ZWxzZSB0LnZlbG9jaXR5PTA7dC52ZWxvY2l0eSo9ci5mcmVlTW9kZS5tb21lbnR1bVZlbG9jaXR5UmF0aW8sZC52ZWxvY2l0aWVzLmxlbmd0aD0wO2xldCBlPTFlMypyLmZyZWVNb2RlLm1vbWVudHVtUmF0aW87Y29uc3Qgcz10LnZlbG9jaXR5KmU7bGV0IGM9dC50cmFuc2xhdGUrcztsJiYoYz0tYyk7bGV0IHAsaD0hMTtjb25zdCBtPTIwKk1hdGguYWJzKHQudmVsb2NpdHkpKnIuZnJlZU1vZGUubW9tZW50dW1Cb3VuY2VSYXRpbztsZXQgZjtpZihjPHQubWF4VHJhbnNsYXRlKCkpci5mcmVlTW9kZS5tb21lbnR1bUJvdW5jZT8oYyt0Lm1heFRyYW5zbGF0ZSgpPC1tJiYoYz10Lm1heFRyYW5zbGF0ZSgpLW0pLHA9dC5tYXhUcmFuc2xhdGUoKSxoPSEwLGQuYWxsb3dNb21lbnR1bUJvdW5jZT0hMCk6Yz10Lm1heFRyYW5zbGF0ZSgpLHIubG9vcCYmci5jZW50ZXJlZFNsaWRlcyYmKGY9ITApO2Vsc2UgaWYoYz50Lm1pblRyYW5zbGF0ZSgpKXIuZnJlZU1vZGUubW9tZW50dW1Cb3VuY2U/KGMtdC5taW5UcmFuc2xhdGUoKT5tJiYoYz10Lm1pblRyYW5zbGF0ZSgpK20pLHA9dC5taW5UcmFuc2xhdGUoKSxoPSEwLGQuYWxsb3dNb21lbnR1bUJvdW5jZT0hMCk6Yz10Lm1pblRyYW5zbGF0ZSgpLHIubG9vcCYmci5jZW50ZXJlZFNsaWRlcyYmKGY9ITApO2Vsc2UgaWYoci5mcmVlTW9kZS5zdGlja3kpe2xldCBlO2ZvcihsZXQgdD0wO3Q8by5sZW5ndGg7dCs9MSlpZihvW3RdPi1jKXtlPXQ7YnJlYWt9Yz1NYXRoLmFicyhvW2VdLWMpPE1hdGguYWJzKG9bZS0xXS1jKXx8Im5leHQiPT09dC5zd2lwZURpcmVjdGlvbj9vW2VdOm9bZS0xXSxjPS1jfWlmKGYmJmkoInRyYW5zaXRpb25FbmQiLCgoKT0+e3QubG9vcEZpeCgpfSkpLDAhPT10LnZlbG9jaXR5KXtpZihlPWw/TWF0aC5hYnMoKC1jLXQudHJhbnNsYXRlKS90LnZlbG9jaXR5KTpNYXRoLmFicygoYy10LnRyYW5zbGF0ZSkvdC52ZWxvY2l0eSksci5mcmVlTW9kZS5zdGlja3kpe2NvbnN0IHM9TWF0aC5hYnMoKGw/LWM6YyktdC50cmFuc2xhdGUpLGE9dC5zbGlkZXNTaXplc0dyaWRbdC5hY3RpdmVJbmRleF07ZT1zPGE/ci5zcGVlZDpzPDIqYT8xLjUqci5zcGVlZDoyLjUqci5zcGVlZH19ZWxzZSBpZihyLmZyZWVNb2RlLnN0aWNreSlyZXR1cm4gdm9pZCB0LnNsaWRlVG9DbG9zZXN0KCk7ci5mcmVlTW9kZS5tb21lbnR1bUJvdW5jZSYmaD8odC51cGRhdGVQcm9ncmVzcyhwKSx0LnNldFRyYW5zaXRpb24oZSksdC5zZXRUcmFuc2xhdGUoYyksdC50cmFuc2l0aW9uU3RhcnQoITAsdC5zd2lwZURpcmVjdGlvbiksdC5hbmltYXRpbmc9ITAsbi50cmFuc2l0aW9uRW5kKCgoKT0+e3QmJiF0LmRlc3Ryb3llZCYmZC5hbGxvd01vbWVudHVtQm91bmNlJiYoYSgibW9tZW50dW1Cb3VuY2UiKSx0LnNldFRyYW5zaXRpb24oci5zcGVlZCksc2V0VGltZW91dCgoKCk9Pnt0LnNldFRyYW5zbGF0ZShwKSxuLnRyYW5zaXRpb25FbmQoKCgpPT57dCYmIXQuZGVzdHJveWVkJiZ0LnRyYW5zaXRpb25FbmQoKX0pKX0pLDApKX0pKSk6dC52ZWxvY2l0eT8oYSgiX2ZyZWVNb2RlTm9Nb21lbnR1bVJlbGVhc2UiKSx0LnVwZGF0ZVByb2dyZXNzKGMpLHQuc2V0VHJhbnNpdGlvbihlKSx0LnNldFRyYW5zbGF0ZShjKSx0LnRyYW5zaXRpb25TdGFydCghMCx0LnN3aXBlRGlyZWN0aW9uKSx0LmFuaW1hdGluZ3x8KHQuYW5pbWF0aW5nPSEwLG4udHJhbnNpdGlvbkVuZCgoKCk9Pnt0JiYhdC5kZXN0cm95ZWQmJnQudHJhbnNpdGlvbkVuZCgpfSkpKSk6dC51cGRhdGVQcm9ncmVzcyhjKSx0LnVwZGF0ZUFjdGl2ZUluZGV4KCksdC51cGRhdGVTbGlkZXNDbGFzc2VzKCl9ZWxzZXtpZihyLmZyZWVNb2RlLnN0aWNreSlyZXR1cm4gdm9pZCB0LnNsaWRlVG9DbG9zZXN0KCk7ci5mcmVlTW9kZSYmYSgiX2ZyZWVNb2RlTm9Nb21lbnR1bVJlbGVhc2UiKX0oIXIuZnJlZU1vZGUubW9tZW50dW18fGM+PXIubG9uZ1N3aXBlc01zKSYmKHQudXBkYXRlUHJvZ3Jlc3MoKSx0LnVwZGF0ZUFjdGl2ZUluZGV4KCksdC51cGRhdGVTbGlkZXNDbGFzc2VzKCkpfX19fSl9LGZ1bmN0aW9uKGUpe2xldCB0LHMsYSx7c3dpcGVyOmksZXh0ZW5kUGFyYW1zOnJ9PWU7cih7Z3JpZDp7cm93czoxLGZpbGw6ImNvbHVtbiJ9fSksaS5ncmlkPXtpbml0U2xpZGVzOmU9Pntjb25zdHtzbGlkZXNQZXJWaWV3OnJ9PWkucGFyYW1zLHtyb3dzOm4sZmlsbDpsfT1pLnBhcmFtcy5ncmlkO3M9dC9uLGE9TWF0aC5mbG9vcihlL24pLHQ9TWF0aC5mbG9vcihlL24pPT09ZS9uP2U6TWF0aC5jZWlsKGUvbikqbiwiYXV0byIhPT1yJiYicm93Ij09PWwmJih0PU1hdGgubWF4KHQscipuKSl9LHVwZGF0ZVNsaWRlOihlLHIsbixsKT0+e2NvbnN0e3NsaWRlc1Blckdyb3VwOm8sc3BhY2VCZXR3ZWVuOmR9PWkucGFyYW1zLHtyb3dzOmMsZmlsbDpwfT1pLnBhcmFtcy5ncmlkO2xldCB1LGgsbTtpZigicm93Ij09PXAmJm8+MSl7Y29uc3Qgcz1NYXRoLmZsb29yKGUvKG8qYykpLGE9ZS1jKm8qcyxpPTA9PT1zP286TWF0aC5taW4oTWF0aC5jZWlsKChuLXMqYypvKS9jKSxvKTttPU1hdGguZmxvb3IoYS9pKSxoPWEtbSppK3Mqbyx1PWgrbSp0L2Msci5jc3MoeyItd2Via2l0LW9yZGVyIjp1LG9yZGVyOnV9KX1lbHNlImNvbHVtbiI9PT1wPyhoPU1hdGguZmxvb3IoZS9jKSxtPWUtaCpjLChoPmF8fGg9PT1hJiZtPT09Yy0xKSYmKG0rPTEsbT49YyYmKG09MCxoKz0xKSkpOihtPU1hdGguZmxvb3IoZS9zKSxoPWUtbSpzKTtyLmNzcyhsKCJtYXJnaW4tdG9wIiksMCE9PW0/ZCYmYCR7ZH1weGA6IiIpfSx1cGRhdGVXcmFwcGVyU2l6ZTooZSxzLGEpPT57Y29uc3R7c3BhY2VCZXR3ZWVuOnIsY2VudGVyZWRTbGlkZXM6bixyb3VuZExlbmd0aHM6bH09aS5wYXJhbXMse3Jvd3M6b309aS5wYXJhbXMuZ3JpZDtpZihpLnZpcnR1YWxTaXplPShlK3IpKnQsaS52aXJ0dWFsU2l6ZT1NYXRoLmNlaWwoaS52aXJ0dWFsU2l6ZS9vKS1yLGkuJHdyYXBwZXJFbC5jc3Moe1thKCJ3aWR0aCIpXTpgJHtpLnZpcnR1YWxTaXplK3J9cHhgfSksbil7cy5zcGxpY2UoMCxzLmxlbmd0aCk7Y29uc3QgZT1bXTtmb3IobGV0IHQ9MDt0PHMubGVuZ3RoO3QrPTEpe2xldCBhPXNbdF07bCYmKGE9TWF0aC5mbG9vcihhKSksc1t0XTxpLnZpcnR1YWxTaXplK3NbMF0mJmUucHVzaChhKX1zLnB1c2goLi4uZSl9fX19LGZ1bmN0aW9uKGUpe2xldHtzd2lwZXI6dH09ZTtPYmplY3QuYXNzaWduKHQse2FwcGVuZFNsaWRlOksuYmluZCh0KSxwcmVwZW5kU2xpZGU6Wi5iaW5kKHQpLGFkZFNsaWRlOlEuYmluZCh0KSxyZW1vdmVTbGlkZTpKLmJpbmQodCkscmVtb3ZlQWxsU2xpZGVzOmVlLmJpbmQodCl9KX0sZnVuY3Rpb24oZSl7bGV0e3N3aXBlcjp0LGV4dGVuZFBhcmFtczpzLG9uOmF9PWU7cyh7ZmFkZUVmZmVjdDp7Y3Jvc3NGYWRlOiExLHRyYW5zZm9ybUVsOm51bGx9fSksdGUoe2VmZmVjdDoiZmFkZSIsc3dpcGVyOnQsb246YSxzZXRUcmFuc2xhdGU6KCk9Pntjb25zdHtzbGlkZXM6ZX09dCxzPXQucGFyYW1zLmZhZGVFZmZlY3Q7Zm9yKGxldCBhPTA7YTxlLmxlbmd0aDthKz0xKXtjb25zdCBlPXQuc2xpZGVzLmVxKGEpO2xldCBpPS1lWzBdLnN3aXBlclNsaWRlT2Zmc2V0O3QucGFyYW1zLnZpcnR1YWxUcmFuc2xhdGV8fChpLT10LnRyYW5zbGF0ZSk7bGV0IHI9MDt0LmlzSG9yaXpvbnRhbCgpfHwocj1pLGk9MCk7Y29uc3Qgbj10LnBhcmFtcy5mYWRlRWZmZWN0LmNyb3NzRmFkZT9NYXRoLm1heCgxLU1hdGguYWJzKGVbMF0ucHJvZ3Jlc3MpLDApOjErTWF0aC5taW4oTWF0aC5tYXgoZVswXS5wcm9ncmVzcywtMSksMCk7c2UocyxlKS5jc3Moe29wYWNpdHk6bn0pLnRyYW5zZm9ybShgdHJhbnNsYXRlM2QoJHtpfXB4LCAke3J9cHgsIDBweClgKX19LHNldFRyYW5zaXRpb246ZT0+e2NvbnN0e3RyYW5zZm9ybUVsOnN9PXQucGFyYW1zLmZhZGVFZmZlY3Q7KHM/dC5zbGlkZXMuZmluZChzKTp0LnNsaWRlcykudHJhbnNpdGlvbihlKSxhZSh7c3dpcGVyOnQsZHVyYXRpb246ZSx0cmFuc2Zvcm1FbDpzLGFsbFNsaWRlczohMH0pfSxvdmVyd3JpdGVQYXJhbXM6KCk9Pih7c2xpZGVzUGVyVmlldzoxLHNsaWRlc1Blckdyb3VwOjEsd2F0Y2hTbGlkZXNQcm9ncmVzczohMCxzcGFjZUJldHdlZW46MCx2aXJ0dWFsVHJhbnNsYXRlOiF0LnBhcmFtcy5jc3NNb2RlfSl9KX0sZnVuY3Rpb24oZSl7bGV0e3N3aXBlcjp0LGV4dGVuZFBhcmFtczpzLG9uOmF9PWU7cyh7Y3ViZUVmZmVjdDp7c2xpZGVTaGFkb3dzOiEwLHNoYWRvdzohMCxzaGFkb3dPZmZzZXQ6MjAsc2hhZG93U2NhbGU6Ljk0fX0pO2NvbnN0IGk9KGUsdCxzKT0+e2xldCBhPXM/ZS5maW5kKCIuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0Iik6ZS5maW5kKCIuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AiKSxpPXM/ZS5maW5kKCIuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCIpOmUuZmluZCgiLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIik7MD09PWEubGVuZ3RoJiYoYT1kKGA8ZGl2IGNsYXNzPSJzd2lwZXItc2xpZGUtc2hhZG93LSR7cz8ibGVmdCI6InRvcCJ9Ij48L2Rpdj5gKSxlLmFwcGVuZChhKSksMD09PWkubGVuZ3RoJiYoaT1kKGA8ZGl2IGNsYXNzPSJzd2lwZXItc2xpZGUtc2hhZG93LSR7cz8icmlnaHQiOiJib3R0b20ifSI+PC9kaXY+YCksZS5hcHBlbmQoaSkpLGEubGVuZ3RoJiYoYVswXS5zdHlsZS5vcGFjaXR5PU1hdGgubWF4KC10LDApKSxpLmxlbmd0aCYmKGlbMF0uc3R5bGUub3BhY2l0eT1NYXRoLm1heCh0LDApKX07dGUoe2VmZmVjdDoiY3ViZSIsc3dpcGVyOnQsb246YSxzZXRUcmFuc2xhdGU6KCk9Pntjb25zdHskZWw6ZSwkd3JhcHBlckVsOnMsc2xpZGVzOmEsd2lkdGg6cixoZWlnaHQ6bixydGxUcmFuc2xhdGU6bCxzaXplOm8sYnJvd3NlcjpjfT10LHA9dC5wYXJhbXMuY3ViZUVmZmVjdCx1PXQuaXNIb3Jpem9udGFsKCksaD10LnZpcnR1YWwmJnQucGFyYW1zLnZpcnR1YWwuZW5hYmxlZDtsZXQgbSxmPTA7cC5zaGFkb3cmJih1PyhtPXMuZmluZCgiLnN3aXBlci1jdWJlLXNoYWRvdyIpLDA9PT1tLmxlbmd0aCYmKG09ZCgnPGRpdiBjbGFzcz0ic3dpcGVyLWN1YmUtc2hhZG93Ij48L2Rpdj4nKSxzLmFwcGVuZChtKSksbS5jc3Moe2hlaWdodDpgJHtyfXB4YH0pKToobT1lLmZpbmQoIi5zd2lwZXItY3ViZS1zaGFkb3ciKSwwPT09bS5sZW5ndGgmJihtPWQoJzxkaXYgY2xhc3M9InN3aXBlci1jdWJlLXNoYWRvdyI+PC9kaXY+JyksZS5hcHBlbmQobSkpKSk7Zm9yKGxldCBlPTA7ZTxhLmxlbmd0aDtlKz0xKXtjb25zdCB0PWEuZXEoZSk7bGV0IHM9ZTtoJiYocz1wYXJzZUludCh0LmF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4IiksMTApKTtsZXQgcj05MCpzLG49TWF0aC5mbG9vcihyLzM2MCk7bCYmKHI9LXIsbj1NYXRoLmZsb29yKC1yLzM2MCkpO2NvbnN0IGQ9TWF0aC5tYXgoTWF0aC5taW4odFswXS5wcm9ncmVzcywxKSwtMSk7bGV0IGM9MCxtPTAsZz0wO3MlND09MD8oYz00Ki1uKm8sZz0wKToocy0xKSU0PT0wPyhjPTAsZz00Ki1uKm8pOihzLTIpJTQ9PTA/KGM9bys0Km4qbyxnPW8pOihzLTMpJTQ9PTAmJihjPS1vLGc9MypvKzQqbypuKSxsJiYoYz0tYyksdXx8KG09YyxjPTApO2NvbnN0IHY9YHJvdGF0ZVgoJHt1PzA6LXJ9ZGVnKSByb3RhdGVZKCR7dT9yOjB9ZGVnKSB0cmFuc2xhdGUzZCgke2N9cHgsICR7bX1weCwgJHtnfXB4KWA7ZDw9MSYmZD4tMSYmKGY9OTAqcys5MCpkLGwmJihmPTkwKi1zLTkwKmQpKSx0LnRyYW5zZm9ybSh2KSxwLnNsaWRlU2hhZG93cyYmaSh0LGQsdSl9aWYocy5jc3MoeyItd2Via2l0LXRyYW5zZm9ybS1vcmlnaW4iOmA1MCUgNTAlIC0ke28vMn1weGAsInRyYW5zZm9ybS1vcmlnaW4iOmA1MCUgNTAlIC0ke28vMn1weGB9KSxwLnNoYWRvdylpZih1KW0udHJhbnNmb3JtKGB0cmFuc2xhdGUzZCgwcHgsICR7ci8yK3Auc2hhZG93T2Zmc2V0fXB4LCAkey1yLzJ9cHgpIHJvdGF0ZVgoOTBkZWcpIHJvdGF0ZVooMGRlZykgc2NhbGUoJHtwLnNoYWRvd1NjYWxlfSlgKTtlbHNle2NvbnN0IGU9TWF0aC5hYnMoZiktOTAqTWF0aC5mbG9vcihNYXRoLmFicyhmKS85MCksdD0xLjUtKE1hdGguc2luKDIqZSpNYXRoLlBJLzM2MCkvMitNYXRoLmNvcygyKmUqTWF0aC5QSS8zNjApLzIpLHM9cC5zaGFkb3dTY2FsZSxhPXAuc2hhZG93U2NhbGUvdCxpPXAuc2hhZG93T2Zmc2V0O20udHJhbnNmb3JtKGBzY2FsZTNkKCR7c30sIDEsICR7YX0pIHRyYW5zbGF0ZTNkKDBweCwgJHtuLzIraX1weCwgJHstbi8yL2F9cHgpIHJvdGF0ZVgoLTkwZGVnKWApfWNvbnN0IGc9Yy5pc1NhZmFyaXx8Yy5pc1dlYlZpZXc/LW8vMjowO3MudHJhbnNmb3JtKGB0cmFuc2xhdGUzZCgwcHgsMCwke2d9cHgpIHJvdGF0ZVgoJHt0LmlzSG9yaXpvbnRhbCgpPzA6Zn1kZWcpIHJvdGF0ZVkoJHt0LmlzSG9yaXpvbnRhbCgpPy1mOjB9ZGVnKWApLHNbMF0uc3R5bGUuc2V0UHJvcGVydHkoIi0tc3dpcGVyLWN1YmUtdHJhbnNsYXRlLXoiLGAke2d9cHhgKX0sc2V0VHJhbnNpdGlvbjplPT57Y29uc3R7JGVsOnMsc2xpZGVzOmF9PXQ7YS50cmFuc2l0aW9uKGUpLmZpbmQoIi5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCwgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCIpLnRyYW5zaXRpb24oZSksdC5wYXJhbXMuY3ViZUVmZmVjdC5zaGFkb3cmJiF0LmlzSG9yaXpvbnRhbCgpJiZzLmZpbmQoIi5zd2lwZXItY3ViZS1zaGFkb3ciKS50cmFuc2l0aW9uKGUpfSxyZWNyZWF0ZVNoYWRvd3M6KCk9Pntjb25zdCBlPXQuaXNIb3Jpem9udGFsKCk7dC5zbGlkZXMuZWFjaCgodD0+e2NvbnN0IHM9TWF0aC5tYXgoTWF0aC5taW4odC5wcm9ncmVzcywxKSwtMSk7aShkKHQpLHMsZSl9KSl9LGdldEVmZmVjdFBhcmFtczooKT0+dC5wYXJhbXMuY3ViZUVmZmVjdCxwZXJzcGVjdGl2ZTooKT0+ITAsb3ZlcndyaXRlUGFyYW1zOigpPT4oe3NsaWRlc1BlclZpZXc6MSxzbGlkZXNQZXJHcm91cDoxLHdhdGNoU2xpZGVzUHJvZ3Jlc3M6ITAscmVzaXN0YW5jZVJhdGlvOjAsc3BhY2VCZXR3ZWVuOjAsY2VudGVyZWRTbGlkZXM6ITEsdmlydHVhbFRyYW5zbGF0ZTohMH0pfSl9LGZ1bmN0aW9uKGUpe2xldHtzd2lwZXI6dCxleHRlbmRQYXJhbXM6cyxvbjphfT1lO3Moe2ZsaXBFZmZlY3Q6e3NsaWRlU2hhZG93czohMCxsaW1pdFJvdGF0aW9uOiEwLHRyYW5zZm9ybUVsOm51bGx9fSk7Y29uc3QgaT0oZSxzLGEpPT57bGV0IGk9dC5pc0hvcml6b250YWwoKT9lLmZpbmQoIi5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQiKTplLmZpbmQoIi5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCIpLHI9dC5pc0hvcml6b250YWwoKT9lLmZpbmQoIi5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0Iik6ZS5maW5kKCIuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20iKTswPT09aS5sZW5ndGgmJihpPWllKGEsZSx0LmlzSG9yaXpvbnRhbCgpPyJsZWZ0IjoidG9wIikpLDA9PT1yLmxlbmd0aCYmKHI9aWUoYSxlLHQuaXNIb3Jpem9udGFsKCk/InJpZ2h0IjoiYm90dG9tIikpLGkubGVuZ3RoJiYoaVswXS5zdHlsZS5vcGFjaXR5PU1hdGgubWF4KC1zLDApKSxyLmxlbmd0aCYmKHJbMF0uc3R5bGUub3BhY2l0eT1NYXRoLm1heChzLDApKX07dGUoe2VmZmVjdDoiZmxpcCIsc3dpcGVyOnQsb246YSxzZXRUcmFuc2xhdGU6KCk9Pntjb25zdHtzbGlkZXM6ZSxydGxUcmFuc2xhdGU6c309dCxhPXQucGFyYW1zLmZsaXBFZmZlY3Q7Zm9yKGxldCByPTA7cjxlLmxlbmd0aDtyKz0xKXtjb25zdCBuPWUuZXEocik7bGV0IGw9blswXS5wcm9ncmVzczt0LnBhcmFtcy5mbGlwRWZmZWN0LmxpbWl0Um90YXRpb24mJihsPU1hdGgubWF4KE1hdGgubWluKG5bMF0ucHJvZ3Jlc3MsMSksLTEpKTtjb25zdCBvPW5bMF0uc3dpcGVyU2xpZGVPZmZzZXQ7bGV0IGQ9LTE4MCpsLGM9MCxwPXQucGFyYW1zLmNzc01vZGU/LW8tdC50cmFuc2xhdGU6LW8sdT0wO3QuaXNIb3Jpem9udGFsKCk/cyYmKGQ9LWQpOih1PXAscD0wLGM9LWQsZD0wKSxuWzBdLnN0eWxlLnpJbmRleD0tTWF0aC5hYnMoTWF0aC5yb3VuZChsKSkrZS5sZW5ndGgsYS5zbGlkZVNoYWRvd3MmJmkobixsLGEpO2NvbnN0IGg9YHRyYW5zbGF0ZTNkKCR7cH1weCwgJHt1fXB4LCAwcHgpIHJvdGF0ZVgoJHtjfWRlZykgcm90YXRlWSgke2R9ZGVnKWA7c2UoYSxuKS50cmFuc2Zvcm0oaCl9fSxzZXRUcmFuc2l0aW9uOmU9Pntjb25zdHt0cmFuc2Zvcm1FbDpzfT10LnBhcmFtcy5mbGlwRWZmZWN0OyhzP3Quc2xpZGVzLmZpbmQocyk6dC5zbGlkZXMpLnRyYW5zaXRpb24oZSkuZmluZCgiLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IikudHJhbnNpdGlvbihlKSxhZSh7c3dpcGVyOnQsZHVyYXRpb246ZSx0cmFuc2Zvcm1FbDpzfSl9LHJlY3JlYXRlU2hhZG93czooKT0+e2NvbnN0IGU9dC5wYXJhbXMuZmxpcEVmZmVjdDt0LnNsaWRlcy5lYWNoKChzPT57Y29uc3QgYT1kKHMpO2xldCByPWFbMF0ucHJvZ3Jlc3M7dC5wYXJhbXMuZmxpcEVmZmVjdC5saW1pdFJvdGF0aW9uJiYocj1NYXRoLm1heChNYXRoLm1pbihzLnByb2dyZXNzLDEpLC0xKSksaShhLHIsZSl9KSl9LGdldEVmZmVjdFBhcmFtczooKT0+dC5wYXJhbXMuZmxpcEVmZmVjdCxwZXJzcGVjdGl2ZTooKT0+ITAsb3ZlcndyaXRlUGFyYW1zOigpPT4oe3NsaWRlc1BlclZpZXc6MSxzbGlkZXNQZXJHcm91cDoxLHdhdGNoU2xpZGVzUHJvZ3Jlc3M6ITAsc3BhY2VCZXR3ZWVuOjAsdmlydHVhbFRyYW5zbGF0ZTohdC5wYXJhbXMuY3NzTW9kZX0pfSl9LGZ1bmN0aW9uKGUpe2xldHtzd2lwZXI6dCxleHRlbmRQYXJhbXM6cyxvbjphfT1lO3Moe2NvdmVyZmxvd0VmZmVjdDp7cm90YXRlOjUwLHN0cmV0Y2g6MCxkZXB0aDoxMDAsc2NhbGU6MSxtb2RpZmllcjoxLHNsaWRlU2hhZG93czohMCx0cmFuc2Zvcm1FbDpudWxsfX0pLHRlKHtlZmZlY3Q6ImNvdmVyZmxvdyIsc3dpcGVyOnQsb246YSxzZXRUcmFuc2xhdGU6KCk9Pntjb25zdHt3aWR0aDplLGhlaWdodDpzLHNsaWRlczphLHNsaWRlc1NpemVzR3JpZDppfT10LHI9dC5wYXJhbXMuY292ZXJmbG93RWZmZWN0LG49dC5pc0hvcml6b250YWwoKSxsPXQudHJhbnNsYXRlLG89bj9lLzItbDpzLzItbCxkPW4/ci5yb3RhdGU6LXIucm90YXRlLGM9ci5kZXB0aDtmb3IobGV0IGU9MCx0PWEubGVuZ3RoO2U8dDtlKz0xKXtjb25zdCB0PWEuZXEoZSkscz1pW2VdLGw9KG8tdFswXS5zd2lwZXJTbGlkZU9mZnNldC1zLzIpL3MscD0iZnVuY3Rpb24iPT10eXBlb2Ygci5tb2RpZmllcj9yLm1vZGlmaWVyKGwpOmwqci5tb2RpZmllcjtsZXQgdT1uP2QqcDowLGg9bj8wOmQqcCxtPS1jKk1hdGguYWJzKHApLGY9ci5zdHJldGNoOyJzdHJpbmciPT10eXBlb2YgZiYmLTEhPT1mLmluZGV4T2YoIiUiKSYmKGY9cGFyc2VGbG9hdChyLnN0cmV0Y2gpLzEwMCpzKTtsZXQgZz1uPzA6ZipwLHY9bj9mKnA6MCx3PTEtKDEtci5zY2FsZSkqTWF0aC5hYnMocCk7TWF0aC5hYnModik8LjAwMSYmKHY9MCksTWF0aC5hYnMoZyk8LjAwMSYmKGc9MCksTWF0aC5hYnMobSk8LjAwMSYmKG09MCksTWF0aC5hYnModSk8LjAwMSYmKHU9MCksTWF0aC5hYnMoaCk8LjAwMSYmKGg9MCksTWF0aC5hYnModyk8LjAwMSYmKHc9MCk7Y29uc3QgYj1gdHJhbnNsYXRlM2QoJHt2fXB4LCR7Z31weCwke219cHgpICByb3RhdGVYKCR7aH1kZWcpIHJvdGF0ZVkoJHt1fWRlZykgc2NhbGUoJHt3fSlgO2lmKHNlKHIsdCkudHJhbnNmb3JtKGIpLHRbMF0uc3R5bGUuekluZGV4PTEtTWF0aC5hYnMoTWF0aC5yb3VuZChwKSksci5zbGlkZVNoYWRvd3Mpe2xldCBlPW4/dC5maW5kKCIuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0Iik6dC5maW5kKCIuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AiKSxzPW4/dC5maW5kKCIuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCIpOnQuZmluZCgiLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIik7MD09PWUubGVuZ3RoJiYoZT1pZShyLHQsbj8ibGVmdCI6InRvcCIpKSwwPT09cy5sZW5ndGgmJihzPWllKHIsdCxuPyJyaWdodCI6ImJvdHRvbSIpKSxlLmxlbmd0aCYmKGVbMF0uc3R5bGUub3BhY2l0eT1wPjA/cDowKSxzLmxlbmd0aCYmKHNbMF0uc3R5bGUub3BhY2l0eT0tcD4wPy1wOjApfX19LHNldFRyYW5zaXRpb246ZT0+e2NvbnN0e3RyYW5zZm9ybUVsOnN9PXQucGFyYW1zLmNvdmVyZmxvd0VmZmVjdDsocz90LnNsaWRlcy5maW5kKHMpOnQuc2xpZGVzKS50cmFuc2l0aW9uKGUpLmZpbmQoIi5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCwgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCIpLnRyYW5zaXRpb24oZSl9LHBlcnNwZWN0aXZlOigpPT4hMCxvdmVyd3JpdGVQYXJhbXM6KCk9Pih7d2F0Y2hTbGlkZXNQcm9ncmVzczohMH0pfSl9LGZ1bmN0aW9uKGUpe2xldHtzd2lwZXI6dCxleHRlbmRQYXJhbXM6cyxvbjphfT1lO3Moe2NyZWF0aXZlRWZmZWN0Ont0cmFuc2Zvcm1FbDpudWxsLGxpbWl0UHJvZ3Jlc3M6MSxzaGFkb3dQZXJQcm9ncmVzczohMSxwcm9ncmVzc011bHRpcGxpZXI6MSxwZXJzcGVjdGl2ZTohMCxwcmV2Ont0cmFuc2xhdGU6WzAsMCwwXSxyb3RhdGU6WzAsMCwwXSxvcGFjaXR5OjEsc2NhbGU6MX0sbmV4dDp7dHJhbnNsYXRlOlswLDAsMF0scm90YXRlOlswLDAsMF0sb3BhY2l0eToxLHNjYWxlOjF9fX0pO2NvbnN0IGk9ZT0+InN0cmluZyI9PXR5cGVvZiBlP2U6YCR7ZX1weGA7dGUoe2VmZmVjdDoiY3JlYXRpdmUiLHN3aXBlcjp0LG9uOmEsc2V0VHJhbnNsYXRlOigpPT57Y29uc3R7c2xpZGVzOmUsJHdyYXBwZXJFbDpzLHNsaWRlc1NpemVzR3JpZDphfT10LHI9dC5wYXJhbXMuY3JlYXRpdmVFZmZlY3Qse3Byb2dyZXNzTXVsdGlwbGllcjpufT1yLGw9dC5wYXJhbXMuY2VudGVyZWRTbGlkZXM7aWYobCl7Y29uc3QgZT1hWzBdLzItdC5wYXJhbXMuc2xpZGVzT2Zmc2V0QmVmb3JlfHwwO3MudHJhbnNmb3JtKGB0cmFuc2xhdGVYKGNhbGMoNTAlIC0gJHtlfXB4KSlgKX1mb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrPTEpe2NvbnN0IGE9ZS5lcShzKSxvPWFbMF0ucHJvZ3Jlc3MsZD1NYXRoLm1pbihNYXRoLm1heChhWzBdLnByb2dyZXNzLC1yLmxpbWl0UHJvZ3Jlc3MpLHIubGltaXRQcm9ncmVzcyk7bGV0IGM9ZDtsfHwoYz1NYXRoLm1pbihNYXRoLm1heChhWzBdLm9yaWdpbmFsUHJvZ3Jlc3MsLXIubGltaXRQcm9ncmVzcyksci5saW1pdFByb2dyZXNzKSk7Y29uc3QgcD1hWzBdLnN3aXBlclNsaWRlT2Zmc2V0LHU9W3QucGFyYW1zLmNzc01vZGU/LXAtdC50cmFuc2xhdGU6LXAsMCwwXSxoPVswLDAsMF07bGV0IG09ITE7dC5pc0hvcml6b250YWwoKXx8KHVbMV09dVswXSx1WzBdPTApO2xldCBmPXt0cmFuc2xhdGU6WzAsMCwwXSxyb3RhdGU6WzAsMCwwXSxzY2FsZToxLG9wYWNpdHk6MX07ZDwwPyhmPXIubmV4dCxtPSEwKTpkPjAmJihmPXIucHJldixtPSEwKSx1LmZvckVhY2goKChlLHQpPT57dVt0XT1gY2FsYygke2V9cHggKyAoJHtpKGYudHJhbnNsYXRlW3RdKX0gKiAke01hdGguYWJzKGQqbil9KSlgfSkpLGguZm9yRWFjaCgoKGUsdCk9PntoW3RdPWYucm90YXRlW3RdKk1hdGguYWJzKGQqbil9KSksYVswXS5zdHlsZS56SW5kZXg9LU1hdGguYWJzKE1hdGgucm91bmQobykpK2UubGVuZ3RoO2NvbnN0IGc9dS5qb2luKCIsICIpLHY9YHJvdGF0ZVgoJHtoWzBdfWRlZykgcm90YXRlWSgke2hbMV19ZGVnKSByb3RhdGVaKCR7aFsyXX1kZWcpYCx3PWM8MD9gc2NhbGUoJHsxKygxLWYuc2NhbGUpKmMqbn0pYDpgc2NhbGUoJHsxLSgxLWYuc2NhbGUpKmMqbn0pYCxiPWM8MD8xKygxLWYub3BhY2l0eSkqYypuOjEtKDEtZi5vcGFjaXR5KSpjKm4seD1gdHJhbnNsYXRlM2QoJHtnfSkgJHt2fSAke3d9YDtpZihtJiZmLnNoYWRvd3x8IW0pe2xldCBlPWEuY2hpbGRyZW4oIi5zd2lwZXItc2xpZGUtc2hhZG93Iik7aWYoMD09PWUubGVuZ3RoJiZmLnNoYWRvdyYmKGU9aWUocixhKSksZS5sZW5ndGgpe2NvbnN0IHQ9ci5zaGFkb3dQZXJQcm9ncmVzcz9kKigxL3IubGltaXRQcm9ncmVzcyk6ZDtlWzBdLnN0eWxlLm9wYWNpdHk9TWF0aC5taW4oTWF0aC5tYXgoTWF0aC5hYnModCksMCksMSl9fWNvbnN0IHk9c2UocixhKTt5LnRyYW5zZm9ybSh4KS5jc3Moe29wYWNpdHk6Yn0pLGYub3JpZ2luJiZ5LmNzcygidHJhbnNmb3JtLW9yaWdpbiIsZi5vcmlnaW4pfX0sc2V0VHJhbnNpdGlvbjplPT57Y29uc3R7dHJhbnNmb3JtRWw6c309dC5wYXJhbXMuY3JlYXRpdmVFZmZlY3Q7KHM/dC5zbGlkZXMuZmluZChzKTp0LnNsaWRlcykudHJhbnNpdGlvbihlKS5maW5kKCIuc3dpcGVyLXNsaWRlLXNoYWRvdyIpLnRyYW5zaXRpb24oZSksYWUoe3N3aXBlcjp0LGR1cmF0aW9uOmUsdHJhbnNmb3JtRWw6cyxhbGxTbGlkZXM6ITB9KX0scGVyc3BlY3RpdmU6KCk9PnQucGFyYW1zLmNyZWF0aXZlRWZmZWN0LnBlcnNwZWN0aXZlLG92ZXJ3cml0ZVBhcmFtczooKT0+KHt3YXRjaFNsaWRlc1Byb2dyZXNzOiEwLHZpcnR1YWxUcmFuc2xhdGU6IXQucGFyYW1zLmNzc01vZGV9KX0pfSxmdW5jdGlvbihlKXtsZXR7c3dpcGVyOnQsZXh0ZW5kUGFyYW1zOnMsb246YX09ZTtzKHtjYXJkc0VmZmVjdDp7c2xpZGVTaGFkb3dzOiEwLHRyYW5zZm9ybUVsOm51bGwscm90YXRlOiEwLHBlclNsaWRlUm90YXRlOjIscGVyU2xpZGVPZmZzZXQ6OH19KSx0ZSh7ZWZmZWN0OiJjYXJkcyIsc3dpcGVyOnQsb246YSxzZXRUcmFuc2xhdGU6KCk9Pntjb25zdHtzbGlkZXM6ZSxhY3RpdmVJbmRleDpzfT10LGE9dC5wYXJhbXMuY2FyZHNFZmZlY3Qse3N0YXJ0VHJhbnNsYXRlOmksaXNUb3VjaGVkOnJ9PXQudG91Y2hFdmVudHNEYXRhLG49dC50cmFuc2xhdGU7Zm9yKGxldCBsPTA7bDxlLmxlbmd0aDtsKz0xKXtjb25zdCBvPWUuZXEobCksZD1vWzBdLnByb2dyZXNzLGM9TWF0aC5taW4oTWF0aC5tYXgoZCwtNCksNCk7bGV0IHA9b1swXS5zd2lwZXJTbGlkZU9mZnNldDt0LnBhcmFtcy5jZW50ZXJlZFNsaWRlcyYmIXQucGFyYW1zLmNzc01vZGUmJnQuJHdyYXBwZXJFbC50cmFuc2Zvcm0oYHRyYW5zbGF0ZVgoJHt0Lm1pblRyYW5zbGF0ZSgpfXB4KWApLHQucGFyYW1zLmNlbnRlcmVkU2xpZGVzJiZ0LnBhcmFtcy5jc3NNb2RlJiYocC09ZVswXS5zd2lwZXJTbGlkZU9mZnNldCk7bGV0IHU9dC5wYXJhbXMuY3NzTW9kZT8tcC10LnRyYW5zbGF0ZTotcCxoPTA7Y29uc3QgbT0tMTAwKk1hdGguYWJzKGMpO2xldCBmPTEsZz0tYS5wZXJTbGlkZVJvdGF0ZSpjLHY9YS5wZXJTbGlkZU9mZnNldC0uNzUqTWF0aC5hYnMoYyk7Y29uc3Qgdz10LnZpcnR1YWwmJnQucGFyYW1zLnZpcnR1YWwuZW5hYmxlZD90LnZpcnR1YWwuZnJvbStsOmwsYj0odz09PXN8fHc9PT1zLTEpJiZjPjAmJmM8MSYmKHJ8fHQucGFyYW1zLmNzc01vZGUpJiZuPGkseD0odz09PXN8fHc9PT1zKzEpJiZjPDAmJmM+LTEmJihyfHx0LnBhcmFtcy5jc3NNb2RlKSYmbj5pO2lmKGJ8fHgpe2NvbnN0IGU9KDEtTWF0aC5hYnMoKE1hdGguYWJzKGMpLS41KS8uNSkpKiouNTtnKz0tMjgqYyplLGYrPS0uNSplLHYrPTk2KmUsaD0tMjUqZSpNYXRoLmFicyhjKSsiJSJ9aWYodT1jPDA/YGNhbGMoJHt1fXB4ICsgKCR7dipNYXRoLmFicyhjKX0lKSlgOmM+MD9gY2FsYygke3V9cHggKyAoLSR7dipNYXRoLmFicyhjKX0lKSlgOmAke3V9cHhgLCF0LmlzSG9yaXpvbnRhbCgpKXtjb25zdCBlPWg7aD11LHU9ZX1jb25zdCB5PWM8MD8iIisoMSsoMS1mKSpjKToiIisoMS0oMS1mKSpjKSxFPWBcbiAgICAgICAgdHJhbnNsYXRlM2QoJHt1fSwgJHtofSwgJHttfXB4KVxuICAgICAgICByb3RhdGVaKCR7YS5yb3RhdGU/ZzowfWRlZylcbiAgICAgICAgc2NhbGUoJHt5fSlcbiAgICAgIGA7aWYoYS5zbGlkZVNoYWRvd3Mpe2xldCBlPW8uZmluZCgiLnN3aXBlci1zbGlkZS1zaGFkb3ciKTswPT09ZS5sZW5ndGgmJihlPWllKGEsbykpLGUubGVuZ3RoJiYoZVswXS5zdHlsZS5vcGFjaXR5PU1hdGgubWluKE1hdGgubWF4KChNYXRoLmFicyhjKS0uNSkvLjUsMCksMSkpfW9bMF0uc3R5bGUuekluZGV4PS1NYXRoLmFicyhNYXRoLnJvdW5kKGQpKStlLmxlbmd0aDtzZShhLG8pLnRyYW5zZm9ybShFKX19LHNldFRyYW5zaXRpb246ZT0+e2NvbnN0e3RyYW5zZm9ybUVsOnN9PXQucGFyYW1zLmNhcmRzRWZmZWN0OyhzP3Quc2xpZGVzLmZpbmQocyk6dC5zbGlkZXMpLnRyYW5zaXRpb24oZSkuZmluZCgiLnN3aXBlci1zbGlkZS1zaGFkb3ciKS50cmFuc2l0aW9uKGUpLGFlKHtzd2lwZXI6dCxkdXJhdGlvbjplLHRyYW5zZm9ybUVsOnN9KX0scGVyc3BlY3RpdmU6KCk9PiEwLG92ZXJ3cml0ZVBhcmFtczooKT0+KHt3YXRjaFNsaWRlc1Byb2dyZXNzOiEwLHZpcnR1YWxUcmFuc2xhdGU6IXQucGFyYW1zLmNzc01vZGV9KX0pfV07cmV0dXJuIFYudXNlKHJlKSxWfSkpOwogLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3dpcGVyLWJ1bmRsZS5taW4uanMubWFw"}},"time_used":787,"timings":{"blocked":508,"dns":0,"connect":0,"send":0,"wait":98,"receive":181,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/themes/ashley/assets/webfonts/fa-solid-900.woff2","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:43.805Z","timestamp":1785141583805,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/themes/ashley/assets/webfonts/fa-solid-900.woff2 HTTP/1.1\r\nHost: oxlofttrd.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://oxlofttrd.com/wp-content/themes/ashley/assets/css/font-awesome.css?ver=7.0.2\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:55:08 GMT\r\nAccept-Ranges: bytes\r\nContent-Length: 78268\r\nCache-Control: max-age=31536000\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nKeep-Alive: timeout=5, max=95\r\nConnection: Keep-Alive\r\nContent-Type: font/woff2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":78268,"size_decoded":78608,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 78268, version 331.-31196","md5":"d824df7eb2e268626a2dd9a6a741ac4e","sha1":"0ccb2c814a7e4ca12c4778821633809cb0361eaa","sha256":"9834b82ad26e2a37583d22676a12dd2eb0fe7c80356a2114d0db1aa8b3899537","sha512":"a84e13f216ea95146af285af98aef0b464cd962440e161a1c602ca2178a179e04ae4ed2a2f98d5b2eb165480ec6920e0e88de77d5f1eb7f11ed772b092daf865","ssdeep":"1536:AOhrLFyv3lzKb1hkG8l0o4HXWj2uwgcdSJSls7ZahNpUFl8a/KdDe8Y7fN5O:AOhfMv3ILc0Dm3wA4LpKKdO7a","tlshash":"c97312aba6cd77ac88dd14565f0043533afdfb35ab27864349eca2e01a300677b5712b","first_seen":"2023-04-05T13:28:45Z","last_seen":"2026-07-27T14:58:48.474663Z","times_seen":56695,"resource_available":false,"data":"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"}},"time_used":96,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":96,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49265.c208ef8379e073f94d16.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.140Z","timestamp":1785141584140,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49265.c208ef8379e073f94d16.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\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: 197a1fbf683f777446d4afbb1f205bcb\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":19935,"size_decoded":7323,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"7b82078f584e6803982971fd98e254ad","sha1":"68381b82a3c15fb84e25d74f902a92fd1de3a245","sha256":"e79b56277f3ab3f995df2d44c612a393858265d70e8d4151a858384901aaa5ae","sha512":"856120280da4d842117fb927a8dbab94215dfb803172d5217ef06b3e3160c27bfbc9fda244b20ac94ce02cebb4356d25c92927cb9292b29f658e377fca579fec","ssdeep":"384:j9PRJCURbRGehSowQ7pJIdRW5TejB6ScRTtDe1efLBHxe+Wl2XaKKTV28fRJmRDM:RPTCURbwehStQ7pJIdk5TejB6ScZtDeb","tlshash":"7e92de8679c2f0e962d55cd4c07b4846f01a0d3c704db8e9e7e6c8d2da7a14ed436bba","first_seen":"2026-06-30T14:35:40.41523Z","last_seen":"2026-07-27T15:03:44.238762Z","times_seen":3022,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0OTI2NV0sezc1Njg1MSh0KXsidXNlIHN0cmljdCI7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPXQubGVuZ3RoLG49MDtuPHI7bisrKXt2YXIgdT10LmNoYXJDb2RlQXQobik7aWYodT49NTUyOTYmJnU8PTU2MzE5JiZyPm4rMSl7dmFyIGE9dC5jaGFyQ29kZUF0KG4rMSk7YT49NTYzMjAmJmE8PTU3MzQzJiYodT0xMDI0Kih1LTU1Mjk2KSthLTU2MzIwKzY1NTM2LG4rPTEpfXU8MTI4P2UucHVzaCh1KTp1PDIwNDg/KGUucHVzaCh1Pj42fDE5MiksZS5wdXNoKDYzJnV8MTI4KSk6dTw1NTI5Nnx8dT49NTczNDQmJnU8NjU1MzY/KGUucHVzaCh1Pj4xMnwyMjQpLGUucHVzaCh1Pj42JjYzfDEyOCksZS5wdXNoKDYzJnV8MTI4KSk6dT49NjU1MzYmJnU8PTExMTQxMTE/KGUucHVzaCh1Pj4xOHwyNDApLGUucHVzaCh1Pj4xMiY2M3wxMjgpLGUucHVzaCh1Pj42JjYzfDEyOCksZS5wdXNoKDYzJnV8MTI4KSk6ZS5wdXNoKDIzOSwxOTEsMTg5KX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZSkuYnVmZmVyfX0sNTA0NDAyKHQsZSxyKXt2YXIgbj1yKDYzODIyMSk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0PW4odF49dD4+PjE2LDIyNDY4MjI1MDcpLHQ9bih0Xj10Pj4+MTMsMzI2NjQ4OTkwOSksKHRePXQ+Pj4xNik+Pj4wfX0sNjM4MjIxKHQpeyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9TWF0aC5pbXVsfHxmdW5jdGlvbih0LGUpe3ZhciByPTY1NTM1JnQsbj02NTUzNSZlO3JldHVybiByKm4rKCh0Pj4+MTYmNjU1MzUpKm4rciooZT4+PjE2JjY1NTM1KTw8MTY+Pj4wKXwwfX0sMTAwNTk1KHQsZSxyKXt2YXIgbj1yKDYzODIyMSksdT1yKDUwNDQwMiksYT1yKDc1Njg1MSksbz1uZXcgVWludDMyQXJyYXkoWzM0MzI5MTgzNTMsNDYxODQ1OTA3XSk7ZnVuY3Rpb24gYyh0LGUpe3JldHVybiB0PDxlfHQ+Pj4zMi1lfXQuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKGU9ZT8wfGU6MCwic3RyaW5nIj09dHlwZW9mIHQmJih0PWEodCkpLCEodCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBrZXkgdG8gYmUgQXJyYXlCdWZmZXIgb3Igc3RyaW5nIik7dmFyIHI9bmV3IFVpbnQzMkFycmF5KFtlXSk7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQuYnl0ZUxlbmd0aC80fDAsdT1uZXcgVWludDMyQXJyYXkodCwwLHIpLGE9MDthPHI7YSsrKXVbYV09bih1W2FdLG9bMF0pLHVbYV09Yyh1W2FdLDE1KSx1W2FdPW4odVthXSxvWzFdKSxlWzBdPWVbMF1edVthXSxlWzBdPWMoZVswXSwxMyksZVswXT1uKGVbMF0sNSkrMzg2NDI5MjE5Nn0odCxyKSxmdW5jdGlvbih0LGUpe3ZhciByPXQuYnl0ZUxlbmd0aC80fDAsdT10LmJ5dGVMZW5ndGglNCxhPTAsZj1uZXcgVWludDhBcnJheSh0LDQqcix1KTtzd2l0Y2godSl7Y2FzZSAzOmFePWZbMl08PDE2O2Nhc2UgMjphXj1mWzFdPDw4O2Nhc2UgMTphXj1mWzBdLGE9YyhhPW4oYSxvWzBdKSwxNSksYT1uKGEsb1sxXSksZVswXT1lWzBdXmF9fSh0LHIpLGZ1bmN0aW9uKHQsZSl7ZVswXT1lWzBdXnQuYnl0ZUxlbmd0aCxlWzBdPXUoZVswXSl9KHQsciksci5idWZmZXJ9fSw0MTQxMjModCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoMTYyMzE2KSx1PXIoOTgxNTIzKTtjb25zdCBhPSgwLG4uZGVmYXVsdCkodS5kZWZhdWx0LCJTZXQiKX0sMjY5MzY2KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PmN9KTt2YXIgbj1yKDcxMzE0OCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5zZXQodCwiX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyIpLHRoaXN9O2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX19kYXRhX18uaGFzKHQpfTtmdW5jdGlvbiBvKHQpe3ZhciBlPS0xLHI9bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLl9fZGF0YV9fPW5ldyBuLmRlZmF1bHQ7KytlPHI7KXRoaXMuYWRkKHRbZV0pfW8ucHJvdG90eXBlLmFkZD1vLnByb3RvdHlwZS5wdXNoPXUsby5wcm90b3R5cGUuaGFzPWE7Y29uc3QgYz1vfSw4ODY1MTQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBuPXIoNzM1OTgzKTtjb25zdCB1PWZ1bmN0aW9uKCl7dGhpcy5fX2RhdGFfXz1uZXcgbi5kZWZhdWx0LHRoaXMuc2l6ZT0wfTtjb25zdCBhPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX18scj1lLmRlbGV0ZSh0KTtyZXR1cm4gdGhpcy5zaXplPWUuc2l6ZSxyfTtjb25zdCBvPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmdldCh0KX07Y29uc3QgYz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModCl9O3ZhciBmPXIoNjk0MjEpLHM9cig3MTMxNDgpO2NvbnN0IGk9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLl9fZGF0YV9fO2lmKHIgaW5zdGFuY2VvZiBuLmRlZmF1bHQpe3ZhciB1PXIuX19kYXRhX187aWYoIWYuZGVmYXVsdHx8dS5sZW5ndGg8MTk5KXJldHVybiB1LnB1c2goW3QsZV0pLHRoaXMuc2l6ZT0rK3Iuc2l6ZSx0aGlzO3I9dGhpcy5fX2RhdGFfXz1uZXcgcy5kZWZhdWx0KHUpfXJldHVybiByLnNldCh0LGUpLHRoaXMuc2l6ZT1yLnNpemUsdGhpc307ZnVuY3Rpb24gbCh0KXt2YXIgZT10aGlzLl9fZGF0YV9fPW5ldyBuLmRlZmF1bHQodCk7dGhpcy5zaXplPWUuc2l6ZX1sLnByb3RvdHlwZS5jbGVhcj11LGwucHJvdG90eXBlLmRlbGV0ZT1hLGwucHJvdG90eXBlLmdldD1vLGwucHJvdG90eXBlLmhhcz1jLGwucHJvdG90eXBlLnNldD1pO2NvbnN0IGQ9bH0sODY1MzMwKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPXIoOTgxNTIzKS5kZWZhdWx0LlVpbnQ4QXJyYXl9LDkyODQ1Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNjIzMTYpLHU9cig5ODE1MjMpO2NvbnN0IGE9KDAsbi5kZWZhdWx0KSh1LmRlZmF1bHQsIldlYWtNYXAiKX0sCjk4NDEzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0tMSxuPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK3I8biYmITEhPT1lKHRbcl0scix0KTspO3JldHVybiB0fX0sMjI0NDE2KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PmN9KTt2YXIgbj1yKDY4ODk2NSk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdCE9dH07Y29uc3QgYT1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPXItMSx1PXQubGVuZ3RoOysrbjx1OylpZih0W25dPT09ZSlyZXR1cm4gbjtyZXR1cm4tMX07Y29uc3Qgbz1mdW5jdGlvbih0LGUscil7cmV0dXJuIGU9PWU/YSh0LGUscik6KDAsbi5kZWZhdWx0KSh0LHUscil9O2NvbnN0IGM9ZnVuY3Rpb24odCxlKXtyZXR1cm4hIShudWxsPT10PzA6dC5sZW5ndGgpJiZvKHQsZSwwKT4tMX19LDgyNTAzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPS0xLHU9bnVsbD09dD8wOnQubGVuZ3RoOysrbjx1OylpZihyKGUsdFtuXSkpcmV0dXJuITA7cmV0dXJuITF9fSw4MjA5NzUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9LTEsbj1BcnJheSh0KTsrK3I8dDspbltyXT1lKHIpO3JldHVybiBufTt2YXIgdT1yKDUzMTU1NyksYT1yKDI5NTYzNSksbz1yKDY1OTAxOCksYz1yKDkyMTE0MyksZj1yKDE2NTI2Nykscz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IGk9ZnVuY3Rpb24odCxlKXt2YXIgcj0oMCxhLmRlZmF1bHQpKHQpLGk9IXImJigwLHUuZGVmYXVsdCkodCksbD0hciYmIWkmJigwLG8uZGVmYXVsdCkodCksZD0hciYmIWkmJiFsJiYoMCxmLmRlZmF1bHQpKHQpLHY9cnx8aXx8bHx8ZCxwPXY/bih0Lmxlbmd0aCxTdHJpbmcpOltdLGI9cC5sZW5ndGg7Zm9yKHZhciB5IGluIHQpIWUmJiFzLmNhbGwodCx5KXx8diYmKCJsZW5ndGgiPT15fHxsJiYoIm9mZnNldCI9PXl8fCJwYXJlbnQiPT15KXx8ZCYmKCJidWZmZXIiPT15fHwiYnl0ZUxlbmd0aCI9PXl8fCJieXRlT2Zmc2V0Ij09eSl8fCgwLGMuZGVmYXVsdCkoeSxiKSl8fHAucHVzaCh5KTtyZXR1cm4gcH19LDQ0ODYyNih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0tMSxuPWUubGVuZ3RoLHU9dC5sZW5ndGg7KytyPG47KXRbdStyXT1lW3JdO3JldHVybiB0fX0sMTY4NTMzKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDI1NDczOCksdT1yKDkxMDc3OCksYT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IG89ZnVuY3Rpb24odCxlLHIpe3ZhciBvPXRbZV07YS5jYWxsKHQsZSkmJigwLHUuZGVmYXVsdCkobyxyKSYmKHZvaWQgMCE9PXJ8fGUgaW4gdCl8fCgwLG4uZGVmYXVsdCkodCxlLHIpfX0sMjU0NzM4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbj1yKDM2MDQ5KTtjb25zdCB1PWZ1bmN0aW9uKHQsZSxyKXsiX19wcm90b19fIj09ZSYmbi5kZWZhdWx0PygwLG4uZGVmYXVsdCkodCxlLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTpyLHdyaXRhYmxlOiEwfSk6dFtlXT1yfX0sNDkzMDE4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pkh9KTt2YXIgbj1yKDg4NjUxNCksdT1yKDk4NDEzOSksYT1yKDE2ODUzMyksbz1yKDYxODU3KSxjPXIoMzA5MDgwKTtjb25zdCBmPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQmJigwLG8uZGVmYXVsdCkoZSwoMCxjLmRlZmF1bHQpKGUpLHQpfTt2YXIgcz1yKDIxNzQ1Nyk7Y29uc3QgaT1mdW5jdGlvbih0LGUpe3JldHVybiB0JiYoMCxvLmRlZmF1bHQpKGUsKDAscy5kZWZhdWx0KShlKSx0KX07dmFyIGw9cig0ODcwNjApLGQ9cig3MDU3NDkpLHY9cigyMzA5NTEpO2NvbnN0IHA9ZnVuY3Rpb24odCxlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHQsKDAsdi5kZWZhdWx0KSh0KSxlKX07dmFyIGI9cigxMTY2NDEpO2NvbnN0IHk9ZnVuY3Rpb24odCxlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHQsKDAsYi5kZWZhdWx0KSh0KSxlKX07dmFyIGg9cig4MDYyNDApLGo9cig5OTE1OTkpLGc9cig5Njk3ODUpLHc9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBfPWZ1bmN0aW9uKHQpe3ZhciBlPXQubGVuZ3RoLHI9bmV3IHQuY29uc3RydWN0b3IoZSk7cmV0dXJuIGUmJiJzdHJpbmciPT10eXBlb2YgdFswXSYmdy5jYWxsKHQsImluZGV4IikmJihyLmluZGV4PXQuaW5kZXgsci5pbnB1dD10LmlucHV0KSxyfTt2YXIgQT1yKDM3NzI1MSk7Y29uc3QgbT1mdW5jdGlvbih0LGUpe3ZhciByPWU/KDAsQS5kZWZhdWx0KSh0LmJ1ZmZlcik6dC5idWZmZXI7cmV0dXJuIG5ldyB0LmNvbnN0cnVjdG9yKHIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCl9O3ZhciBPPS9cdyokLztjb25zdCB4PWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyB0LmNvbnN0cnVjdG9yKHQuc291cmNlLE8uZXhlYyh0KSk7cmV0dXJuIGUubGFzdEluZGV4PXQubGFzdEluZGV4LGV9O3ZhciBVPXIoODcyOTk5KSxFPVUuZGVmYXVsdD9VLmRlZmF1bHQucHJvdG90eXBlOnZvaWQgMCxUPUU/RS52YWx1ZU9mOnZvaWQgMDtjb25zdCBTPWZ1bmN0aW9uKHQpe3JldHVybiBUP09iamVjdChULmNhbGwodCkpOnt9fTt2YXIgST1yKDEzOTA3KTtjb25zdCBNPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10LmNvbnN0cnVjdG9yO3N3aXRjaChlKXtjYXNlIltvYmplY3QgQXJyYXlCdWZmZXJdIjpyZXR1cm4oMCxBLmRlZmF1bHQpKHQpO2Nhc2UiW29iamVjdCBCb29sZWFuXSI6Y2FzZSJbb2JqZWN0IERhdGVdIjpyZXR1cm4gbmV3IG4oK3QpO2Nhc2UiW29iamVjdCBEYXRhVmlld10iOnJldHVybiBtKHQscik7Y2FzZSJbb2JqZWN0IEZsb2F0MzJBcnJheV0iOmNhc2UiW29iamVjdCBGbG9hdDY0QXJyYXldIjoKY2FzZSJbb2JqZWN0IEludDhBcnJheV0iOmNhc2UiW29iamVjdCBJbnQxNkFycmF5XSI6Y2FzZSJbb2JqZWN0IEludDMyQXJyYXldIjpjYXNlIltvYmplY3QgVWludDhBcnJheV0iOmNhc2UiW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MTZBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MzJBcnJheV0iOnJldHVybigwLEkuZGVmYXVsdCkodCxyKTtjYXNlIltvYmplY3QgTWFwXSI6Y2FzZSJbb2JqZWN0IFNldF0iOnJldHVybiBuZXcgbjtjYXNlIltvYmplY3QgTnVtYmVyXSI6Y2FzZSJbb2JqZWN0IFN0cmluZ10iOnJldHVybiBuZXcgbih0KTtjYXNlIltvYmplY3QgUmVnRXhwXSI6cmV0dXJuIHgodCk7Y2FzZSJbb2JqZWN0IFN5bWJvbF0iOnJldHVybiBTKHQpfX07dmFyIEI9cig4MDc1NzUpLFA9cigyOTU2MzUpLGs9cig2NTkwMTgpLHo9cig2NzI1MTEpLEM9cig4ODAxMTUpLEQ9cigzNjA2MjApO2NvbnN0IEY9ZnVuY3Rpb24odCl7cmV0dXJuKDAsRC5kZWZhdWx0KSh0KSYmIltvYmplY3QgU2V0XSI9PSgwLGcuZGVmYXVsdCkodCl9O3ZhciBMPXIoODk5MzM5KSxOPXIoMzY5ODk5KSxXPU4uZGVmYXVsdCYmTi5kZWZhdWx0LmlzU2V0O2NvbnN0IFY9Vz8oMCxMLmRlZmF1bHQpKFcpOkY7dmFyICQ9IltvYmplY3QgQXJndW1lbnRzXSIsUj0iW29iamVjdCBGdW5jdGlvbl0iLHE9IltvYmplY3QgT2JqZWN0XSIsRz17fTtHWyRdPUdbIltvYmplY3QgQXJyYXldIl09R1siW29iamVjdCBBcnJheUJ1ZmZlcl0iXT1HWyJbb2JqZWN0IERhdGFWaWV3XSJdPUdbIltvYmplY3QgQm9vbGVhbl0iXT1HWyJbb2JqZWN0IERhdGVdIl09R1siW29iamVjdCBGbG9hdDMyQXJyYXldIl09R1siW29iamVjdCBGbG9hdDY0QXJyYXldIl09R1siW29iamVjdCBJbnQ4QXJyYXldIl09R1siW29iamVjdCBJbnQxNkFycmF5XSJdPUdbIltvYmplY3QgSW50MzJBcnJheV0iXT1HWyJbb2JqZWN0IE1hcF0iXT1HWyJbb2JqZWN0IE51bWJlcl0iXT1HW3FdPUdbIltvYmplY3QgUmVnRXhwXSJdPUdbIltvYmplY3QgU2V0XSJdPUdbIltvYmplY3QgU3RyaW5nXSJdPUdbIltvYmplY3QgU3ltYm9sXSJdPUdbIltvYmplY3QgVWludDhBcnJheV0iXT1HWyJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSJdPUdbIltvYmplY3QgVWludDE2QXJyYXldIl09R1siW29iamVjdCBVaW50MzJBcnJheV0iXT0hMCxHWyJbb2JqZWN0IEVycm9yXSJdPUdbUl09R1siW29iamVjdCBXZWFrTWFwXSJdPSExO2NvbnN0IEg9ZnVuY3Rpb24gdChlLHIsbyx2LGIsdyl7dmFyIEEsbT0xJnIsTz0yJnIseD00JnI7aWYobyYmKEE9Yj9vKGUsdixiLHcpOm8oZSkpLHZvaWQgMCE9PUEpcmV0dXJuIEE7aWYoISgwLEMuZGVmYXVsdCkoZSkpcmV0dXJuIGU7dmFyIFU9KDAsUC5kZWZhdWx0KShlKTtpZihVKXtpZihBPV8oZSksIW0pcmV0dXJuKDAsZC5kZWZhdWx0KShlLEEpfWVsc2V7dmFyIEU9KDAsZy5kZWZhdWx0KShlKSxUPUU9PVJ8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PUU7aWYoKDAsay5kZWZhdWx0KShlKSlyZXR1cm4oMCxsLmRlZmF1bHQpKGUsbSk7aWYoRT09cXx8RT09JHx8VCYmIWIpe2lmKEE9T3x8VD97fTooMCxCLmRlZmF1bHQpKGUpLCFtKXJldHVybiBPP3koZSxpKEEsZSkpOnAoZSxmKEEsZSkpfWVsc2V7aWYoIUdbRV0pcmV0dXJuIGI/ZTp7fTtBPU0oZSxFLG0pfX13fHwodz1uZXcgbi5kZWZhdWx0KTt2YXIgUz13LmdldChlKTtpZihTKXJldHVybiBTO3cuc2V0KGUsQSksVihlKT9lLmZvckVhY2goKGZ1bmN0aW9uKG4pe0EuYWRkKHQobixyLG8sbixlLHcpKX0pKTooMCx6LmRlZmF1bHQpKGUpJiZlLmZvckVhY2goKGZ1bmN0aW9uKG4sdSl7QS5zZXQodSx0KG4scixvLHUsZSx3KSl9KSk7dmFyIEk9eD9PP2ouZGVmYXVsdDpoLmRlZmF1bHQ6Tz9zLmRlZmF1bHQ6Yy5kZWZhdWx0LEQ9VT92b2lkIDA6SShlKTtyZXR1cm4oMCx1LmRlZmF1bHQpKER8fGUsKGZ1bmN0aW9uKG4sdSl7RCYmKG49ZVt1PW5dKSwoMCxhLmRlZmF1bHQpKEEsdSx0KG4scixvLHUsZSx3KSl9KSksQX19LDg1MTA4Mih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig4ODAxMTUpLHU9T2JqZWN0LmNyZWF0ZTtjb25zdCBhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gZnVuY3Rpb24oZSl7aWYoISgwLG4uZGVmYXVsdCkoZSkpcmV0dXJue307aWYodSlyZXR1cm4gdShlKTt0LnByb3RvdHlwZT1lO3ZhciByPW5ldyB0O3JldHVybiB0LnByb3RvdHlwZT12b2lkIDAscn19KCl9LDY4ODk2NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIHU9dC5sZW5ndGgsYT1yKyhuPzE6LTEpO24/YS0tOisrYTx1OylpZihlKHRbYV0sYSx0KSlyZXR1cm4gYTtyZXR1cm4tMX19LDkxNjA4NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig0NDg2MjYpLHU9cigyOTU2MzUpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLHIpe3ZhciBhPWUodCk7cmV0dXJuKDAsdS5kZWZhdWx0KSh0KT9hOigwLG4uZGVmYXVsdCkoYSxyKHQpKX19LDgzMDg3NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig2OTM5NDEpO2NvbnN0IHU9KDAscigxMzk4NDkpLmRlZmF1bHQpKE9iamVjdC5rZXlzLE9iamVjdCk7dmFyIGE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBvPWZ1bmN0aW9uKHQpe2lmKCEoMCxuLmRlZmF1bHQpKHQpKXJldHVybiB1KHQpO3ZhciBlPVtdO2Zvcih2YXIgciBpbiBPYmplY3QodCkpYS5jYWxsKHQscikmJiJjb25zdHJ1Y3RvciIhPXImJmUucHVzaChyKTtyZXR1cm4gZX19LDg5OTMzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSl9fX0sNzEyODAxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuaGFzKGUpfX0sCjM3NzI1MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49cig4NjUzMzApO2NvbnN0IHU9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IHQuY29uc3RydWN0b3IodC5ieXRlTGVuZ3RoKTtyZXR1cm4gbmV3IG4uZGVmYXVsdChlKS5zZXQobmV3IG4uZGVmYXVsdCh0KSksZX19LDQ4NzA2MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5mfSk7dmFyIG49cig5ODE1MjMpLHU9Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiZleHBvcnRzJiYhZXhwb3J0cy5ub2RlVHlwZSYmZXhwb3J0cyxhPXUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxvPWEmJmEuZXhwb3J0cz09PXU/bi5kZWZhdWx0LkJ1ZmZlcjp2b2lkIDAsYz1vP28uYWxsb2NVbnNhZmU6dm9pZCAwO2NvbnN0IGY9ZnVuY3Rpb24odCxlKXtpZihlKXJldHVybiB0LnNsaWNlKCk7dmFyIHI9dC5sZW5ndGgsbj1jP2Mocik6bmV3IHQuY29uc3RydWN0b3Iocik7cmV0dXJuIHQuY29weShuKSxufX0sMTM5MDcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPXIoMzc3MjUxKTtjb25zdCB1PWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZT8oMCxuLmRlZmF1bHQpKHQuYnVmZmVyKTp0LmJ1ZmZlcjtyZXR1cm4gbmV3IHQuY29uc3RydWN0b3Iocix0LmJ5dGVPZmZzZXQsdC5sZW5ndGgpfX0sNzA1NzQ5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQsZSl7dmFyIHI9LTEsbj10Lmxlbmd0aDtmb3IoZXx8KGU9QXJyYXkobikpOysrcjxuOyllW3JdPXRbcl07cmV0dXJuIGV9fSw2MTg1Nyh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNjg1MzMpLHU9cigyNTQ3MzgpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLHIsYSl7dmFyIG89IXI7cnx8KHI9e30pO2Zvcih2YXIgYz0tMSxmPWUubGVuZ3RoOysrYzxmOyl7dmFyIHM9ZVtjXSxpPWE/YShyW3NdLHRbc10scyxyLHQpOnZvaWQgMDt2b2lkIDA9PT1pJiYoaT10W3NdKSxvPygwLHUuZGVmYXVsdCkocixzLGkpOigwLG4uZGVmYXVsdCkocixzLGkpfXJldHVybiByfX0sMzYwNDkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPXIoMTYyMzE2KTtjb25zdCB1PWZ1bmN0aW9uKCl7dHJ5e3ZhciB0PSgwLG4uZGVmYXVsdCkoT2JqZWN0LCJkZWZpbmVQcm9wZXJ0eSIpO3JldHVybiB0KHt9LCIiLHt9KSx0fWNhdGNoKHQpe319KCl9LDgwNjI0MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig5MTYwODUpLHU9cigyMzA5NTEpLGE9cigzMDkwODApO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuKDAsbi5kZWZhdWx0KSh0LGEuZGVmYXVsdCx1LmRlZmF1bHQpfX0sOTkxNTk5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDkxNjA4NSksdT1yKDExNjY0MSksYT1yKDIxNzQ1Nyk7Y29uc3Qgbz1mdW5jdGlvbih0KXtyZXR1cm4oMCxuLmRlZmF1bHQpKHQsYS5kZWZhdWx0LHUuZGVmYXVsdCl9fSwzOTI1NDUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49KDAscigxMzk4NDkpLmRlZmF1bHQpKE9iamVjdC5nZXRQcm90b3R5cGVPZixPYmplY3QpfSwyMzA5NTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Y30pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9LTEsbj1udWxsPT10PzA6dC5sZW5ndGgsdT0wLGE9W107KytyPG47KXt2YXIgbz10W3JdO2UobyxyLHQpJiYoYVt1KytdPW8pfXJldHVybiBhfTt2YXIgdT1yKDE3NzY1NSksYT1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLG89T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztjb25zdCBjPW8/ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/W106KHQ9T2JqZWN0KHQpLG4obyh0KSwoZnVuY3Rpb24oZSl7cmV0dXJuIGEuY2FsbCh0LGUpfSkpKX06dS5kZWZhdWx0fSwxMTY2NDEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Y30pO3ZhciBuPXIoNDQ4NjI2KSx1PXIoMzkyNTQ1KSxhPXIoMjMwOTUxKSxvPXIoMTc3NjU1KTtjb25zdCBjPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdO3Q7KSgwLG4uZGVmYXVsdCkoZSwoMCxhLmRlZmF1bHQpKHQpKSx0PSgwLHUuZGVmYXVsdCkodCk7cmV0dXJuIGV9Om8uZGVmYXVsdH0sOTY5Nzg1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm19KTt2YXIgbj1yKDE2MjMxNiksdT1yKDk4MTUyMyk7Y29uc3QgYT0oMCxuLmRlZmF1bHQpKHUuZGVmYXVsdCwiRGF0YVZpZXciKTt2YXIgbz1yKDY5NDIxKTtjb25zdCBjPSgwLG4uZGVmYXVsdCkodS5kZWZhdWx0LCJQcm9taXNlIik7dmFyIGY9cig0MTQxMjMpLHM9cig5Mjg0NTMpLGk9cigxNzg0OTcpLGw9cig3MzA1MDMpLGQ9IltvYmplY3QgTWFwXSIsdj0iW29iamVjdCBQcm9taXNlXSIscD0iW29iamVjdCBTZXRdIixiPSJbb2JqZWN0IFdlYWtNYXBdIix5PSJbb2JqZWN0IERhdGFWaWV3XSIsaD0oMCxsLmRlZmF1bHQpKGEpLGo9KDAsbC5kZWZhdWx0KShvLmRlZmF1bHQpLGc9KDAsbC5kZWZhdWx0KShjKSx3PSgwLGwuZGVmYXVsdCkoZi5kZWZhdWx0KSxfPSgwLGwuZGVmYXVsdCkocy5kZWZhdWx0KSxBPWkuZGVmYXVsdDsoYSYmQShuZXcgYShuZXcgQXJyYXlCdWZmZXIoMSkpKSE9eXx8by5kZWZhdWx0JiZBKG5ldyBvLmRlZmF1bHQpIT1kfHxjJiZBKGMucmVzb2x2ZSgpKSE9dnx8Zi5kZWZhdWx0JiZBKG5ldyBmLmRlZmF1bHQpIT1wfHxzLmRlZmF1bHQmJkEobmV3IHMuZGVmYXVsdCkhPWIpJiYoQT1mdW5jdGlvbih0KXt2YXIgZT0oMCxpLmRlZmF1bHQpKHQpLHI9IltvYmplY3QgT2JqZWN0XSI9PWU/dC5jb25zdHJ1Y3Rvcjp2b2lkIDAsbj1yPygwLGwuZGVmYXVsdCkocik6IiI7aWYobilzd2l0Y2gobil7Y2FzZSBoOgpyZXR1cm4geTtjYXNlIGo6cmV0dXJuIGQ7Y2FzZSBnOnJldHVybiB2O2Nhc2UgdzpyZXR1cm4gcDtjYXNlIF86cmV0dXJuIGJ9cmV0dXJuIGV9KTtjb25zdCBtPUF9LDgwNzU3NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig4NTEwODIpLHU9cigzOTI1NDUpLGE9cig2OTM5NDEpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQuY29uc3RydWN0b3J8fCgwLGEuZGVmYXVsdCkodCk/e306KDAsbi5kZWZhdWx0KSgoMCx1LmRlZmF1bHQpKHQpKX19LDkyMTE0Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49L14oPzowfFsxLTldXGQqKSQvO2NvbnN0IHU9ZnVuY3Rpb24odCxlKXt2YXIgcj10eXBlb2YgdDtyZXR1cm4hIShlPWU/PzkwMDcxOTkyNTQ3NDA5OTEpJiYoIm51bWJlciI9PXJ8fCJzeW1ib2wiIT1yJiZuLnRlc3QodCkpJiZ0Pi0xJiZ0JTE9PTAmJnQ8ZX19LDY5Mzk0MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49T2JqZWN0LnByb3RvdHlwZTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXQmJnQuY29uc3RydWN0b3I7cmV0dXJuIHQ9PT0oImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUucHJvdG90eXBlfHxuKX19LDM2OTg5OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5jfSk7dmFyIG49cig2MDI5NDIpLHU9Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiZleHBvcnRzJiYhZXhwb3J0cy5ub2RlVHlwZSYmZXhwb3J0cyxhPXUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxvPWEmJmEuZXhwb3J0cz09PXUmJm4uZGVmYXVsdC5wcm9jZXNzO2NvbnN0IGM9ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9YSYmYS5yZXF1aXJlJiZhLnJlcXVpcmUoInV0aWwiKS50eXBlcztyZXR1cm4gdHx8byYmby5iaW5kaW5nJiZvLmJpbmRpbmcoInV0aWwiKX1jYXRjaCh0KXt9fSgpfSwxMzk4NDkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIHQoZShyKSl9fX0sOTcyMDE3KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQpe3ZhciBlPS0xLHI9QXJyYXkodC5zaXplKTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXtyWysrZV09dH0pKSxyfX0sMjAzNjgxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbj1yKDQ5MzAxOCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4oMCxuLmRlZmF1bHQpKHQsNSl9fSw1NDc4NTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+c30pO3ZhciBuPXIoODgwMTE1KSx1PXIoOTgxNTIzKTtjb25zdCBhPWZ1bmN0aW9uKCl7cmV0dXJuIHUuZGVmYXVsdC5EYXRlLm5vdygpfTt2YXIgbz1yKDQwNjQ0OSksYz1NYXRoLm1heCxmPU1hdGgubWluO2NvbnN0IHM9ZnVuY3Rpb24odCxlLHIpe3ZhciB1LHMsaSxsLGQsdixwPTAsYj0hMSx5PSExLGg9ITA7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgYSBmdW5jdGlvbiIpO2Z1bmN0aW9uIGooZSl7dmFyIHI9dSxuPXM7cmV0dXJuIHU9cz12b2lkIDAscD1lLGw9dC5hcHBseShuLHIpfWZ1bmN0aW9uIGcodCl7dmFyIHI9dC12O3JldHVybiB2b2lkIDA9PT12fHxyPj1lfHxyPDB8fHkmJnQtcD49aX1mdW5jdGlvbiB3KCl7dmFyIHQ9YSgpO2lmKGcodCkpcmV0dXJuIF8odCk7ZD1zZXRUaW1lb3V0KHcsZnVuY3Rpb24odCl7dmFyIHI9ZS0odC12KTtyZXR1cm4geT9mKHIsaS0odC1wKSk6cn0odCkpfWZ1bmN0aW9uIF8odCl7cmV0dXJuIGQ9dm9pZCAwLGgmJnU/aih0KToodT1zPXZvaWQgMCxsKX1mdW5jdGlvbiBBKCl7dmFyIHQ9YSgpLHI9Zyh0KTtpZih1PWFyZ3VtZW50cyxzPXRoaXMsdj10LHIpe2lmKHZvaWQgMD09PWQpcmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBwPXQsZD1zZXRUaW1lb3V0KHcsZSksYj9qKHQpOmx9KHYpO2lmKHkpcmV0dXJuIGNsZWFyVGltZW91dChkKSxkPXNldFRpbWVvdXQodyxlKSxqKHYpfXJldHVybiB2b2lkIDA9PT1kJiYoZD1zZXRUaW1lb3V0KHcsZSkpLGx9cmV0dXJuIGU9KDAsby5kZWZhdWx0KShlKXx8MCwoMCxuLmRlZmF1bHQpKHIpJiYoYj0hIXIubGVhZGluZyxpPSh5PSJtYXhXYWl0ImluIHIpP2MoKDAsby5kZWZhdWx0KShyLm1heFdhaXQpfHwwLGUpOmksaD0idHJhaWxpbmciaW4gcj8hIXIudHJhaWxpbmc6aCksQS5jYW5jZWw9ZnVuY3Rpb24oKXt2b2lkIDAhPT1kJiZjbGVhclRpbWVvdXQoZCkscD0wLHU9dj1zPWQ9dm9pZCAwfSxBLmZsdXNoPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PWQ/bDpfKGEoKSl9LEF9fSw1MzE1NTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBuPXIoMTc4NDk3KSx1PXIoMzYwNjIwKTtjb25zdCBhPWZ1bmN0aW9uKHQpe3JldHVybigwLHUuZGVmYXVsdCkodCkmJiJbb2JqZWN0IEFyZ3VtZW50c10iPT0oMCxuLmRlZmF1bHQpKHQpfTt2YXIgbz1PYmplY3QucHJvdG90eXBlLGM9by5oYXNPd25Qcm9wZXJ0eSxmPW8ucHJvcGVydHlJc0VudW1lcmFibGUscz1hKGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50c30oKSk/YTpmdW5jdGlvbih0KXtyZXR1cm4oMCx1LmRlZmF1bHQpKHQpJiZjLmNhbGwodCwiY2FsbGVlIikmJiFmLmNhbGwodCwiY2FsbGVlIil9O2NvbnN0IGk9c30sMjk1NjM1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPUFycmF5LmlzQXJyYXl9LDM5MjkwOCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig5MjgxMzIpLHU9cig5OTA2MDQpO2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJigwLHUuZGVmYXVsdCkodC5sZW5ndGgpJiYhKDAsbi5kZWZhdWx0KSh0KX19LDY1OTAxOCh0LGUscil7CiJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Zn0pO3ZhciBuPXIoOTgxNTIzKTtjb25zdCB1PWZ1bmN0aW9uKCl7cmV0dXJuITF9O3ZhciBhPSJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmZXhwb3J0cyYmIWV4cG9ydHMubm9kZVR5cGUmJmV4cG9ydHMsbz1hJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlJiYhbW9kdWxlLm5vZGVUeXBlJiZtb2R1bGUsYz1vJiZvLmV4cG9ydHM9PT1hP24uZGVmYXVsdC5CdWZmZXI6dm9pZCAwO2NvbnN0IGY9KGM/Yy5pc0J1ZmZlcjp2b2lkIDApfHx1fSw5OTA2MDQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0Pi0xJiZ0JTE9PTAmJnQ8PTkwMDcxOTkyNTQ3NDA5OTF9fSw2NzI1MTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+c30pO3ZhciBuPXIoOTY5Nzg1KSx1PXIoMzYwNjIwKTtjb25zdCBhPWZ1bmN0aW9uKHQpe3JldHVybigwLHUuZGVmYXVsdCkodCkmJiJbb2JqZWN0IE1hcF0iPT0oMCxuLmRlZmF1bHQpKHQpfTt2YXIgbz1yKDg5OTMzOSksYz1yKDM2OTg5OSksZj1jLmRlZmF1bHQmJmMuZGVmYXVsdC5pc01hcDtjb25zdCBzPWY/KDAsby5kZWZhdWx0KShmKTphfSwzNjA2MjAodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdH19LDcxNzMzMih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNzg0OTcpLHU9cigzNjA2MjApO2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuInN5bWJvbCI9PXR5cGVvZiB0fHwoMCx1LmRlZmF1bHQpKHQpJiYiW29iamVjdCBTeW1ib2xdIj09KDAsbi5kZWZhdWx0KSh0KX19LDE2NTI2Nyh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5sfSk7dmFyIG49cigxNzg0OTcpLHU9cig5OTA2MDQpLGE9cigzNjA2MjApLG89e307b1siW29iamVjdCBGbG9hdDMyQXJyYXldIl09b1siW29iamVjdCBGbG9hdDY0QXJyYXldIl09b1siW29iamVjdCBJbnQ4QXJyYXldIl09b1siW29iamVjdCBJbnQxNkFycmF5XSJdPW9bIltvYmplY3QgSW50MzJBcnJheV0iXT1vWyJbb2JqZWN0IFVpbnQ4QXJyYXldIl09b1siW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iXT1vWyJbb2JqZWN0IFVpbnQxNkFycmF5XSJdPW9bIltvYmplY3QgVWludDMyQXJyYXldIl09ITAsb1siW29iamVjdCBBcmd1bWVudHNdIl09b1siW29iamVjdCBBcnJheV0iXT1vWyJbb2JqZWN0IEFycmF5QnVmZmVyXSJdPW9bIltvYmplY3QgQm9vbGVhbl0iXT1vWyJbb2JqZWN0IERhdGFWaWV3XSJdPW9bIltvYmplY3QgRGF0ZV0iXT1vWyJbb2JqZWN0IEVycm9yXSJdPW9bIltvYmplY3QgRnVuY3Rpb25dIl09b1siW29iamVjdCBNYXBdIl09b1siW29iamVjdCBOdW1iZXJdIl09b1siW29iamVjdCBPYmplY3RdIl09b1siW29iamVjdCBSZWdFeHBdIl09b1siW29iamVjdCBTZXRdIl09b1siW29iamVjdCBTdHJpbmddIl09b1siW29iamVjdCBXZWFrTWFwXSJdPSExO2NvbnN0IGM9ZnVuY3Rpb24odCl7cmV0dXJuKDAsYS5kZWZhdWx0KSh0KSYmKDAsdS5kZWZhdWx0KSh0Lmxlbmd0aCkmJiEhb1soMCxuLmRlZmF1bHQpKHQpXX07dmFyIGY9cig4OTkzMzkpLHM9cigzNjk4OTkpLGk9cy5kZWZhdWx0JiZzLmRlZmF1bHQuaXNUeXBlZEFycmF5O2NvbnN0IGw9aT8oMCxmLmRlZmF1bHQpKGkpOmN9LDMwOTA4MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig4MjA5NzUpLHU9cig4MzA4NzUpLGE9cigzOTI5MDgpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuKDAsYS5kZWZhdWx0KSh0KT8oMCxuLmRlZmF1bHQpKHQpOigwLHUuZGVmYXVsdCkodCl9fSwyMTc0NTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBuPXIoODIwOTc1KSx1PXIoODgwMTE1KSxhPXIoNjkzOTQxKTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO2lmKG51bGwhPXQpZm9yKHZhciByIGluIE9iamVjdCh0KSllLnB1c2gocik7cmV0dXJuIGV9O3ZhciBjPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Y29uc3QgZj1mdW5jdGlvbih0KXtpZighKDAsdS5kZWZhdWx0KSh0KSlyZXR1cm4gbyh0KTt2YXIgZT0oMCxhLmRlZmF1bHQpKHQpLHI9W107Zm9yKHZhciBuIGluIHQpKCJjb25zdHJ1Y3RvciIhPW58fCFlJiZjLmNhbGwodCxuKSkmJnIucHVzaChuKTtyZXR1cm4gcn07dmFyIHM9cigzOTI5MDgpO2NvbnN0IGk9ZnVuY3Rpb24odCl7cmV0dXJuKDAscy5kZWZhdWx0KSh0KT8oMCxuLmRlZmF1bHQpKHQsITApOmYodCl9fSw2NjMwNDYodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoNzEzMTQ4KTtmdW5jdGlvbiB1KHQsZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHR8fG51bGwhPWUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgZnVuY3Rpb24iKTt2YXIgcj1mdW5jdGlvbigpe3ZhciBuPWFyZ3VtZW50cyx1PWU/ZS5hcHBseSh0aGlzLG4pOm5bMF0sYT1yLmNhY2hlO2lmKGEuaGFzKHUpKXJldHVybiBhLmdldCh1KTt2YXIgbz10LmFwcGx5KHRoaXMsbik7cmV0dXJuIHIuY2FjaGU9YS5zZXQodSxvKXx8YSxvfTtyZXR1cm4gci5jYWNoZT1uZXcodS5DYWNoZXx8bi5kZWZhdWx0KSxyfXUuQ2FjaGU9bi5kZWZhdWx0O2NvbnN0IGE9dX0sODYyMzg4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKCl7fX0sMTc3NjU1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKCl7cmV0dXJuW119fSw1ODcxNjgodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoNTQ3ODUxKSx1PXIoODgwMTE1KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSxyKXsKdmFyIGE9ITAsbz0hMDtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZ1bmN0aW9uIik7cmV0dXJuKDAsdS5kZWZhdWx0KShyKSYmKGE9ImxlYWRpbmciaW4gcj8hIXIubGVhZGluZzphLG89InRyYWlsaW5nImluIHI/ISFyLnRyYWlsaW5nOm8pLCgwLG4uZGVmYXVsdCkodCxlLHtsZWFkaW5nOmEsbWF4V2FpdDplLHRyYWlsaW5nOm99KX19LDQwNjQ0OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT52fSk7dmFyIG49L1xzLztjb25zdCB1PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Lmxlbmd0aDtlLS0mJm4udGVzdCh0LmNoYXJBdChlKSk7KTtyZXR1cm4gZX07dmFyIGE9L15ccysvO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuIHQ/dC5zbGljZSgwLHUodCkrMSkucmVwbGFjZShhLCIiKTp0fTt2YXIgYz1yKDg4MDExNSksZj1yKDcxNzMzMikscz0vXlstK10weFswLTlhLWZdKyQvaSxpPS9eMGJbMDFdKyQvaSxsPS9eMG9bMC03XSskL2ksZD1wYXJzZUludDtjb25zdCB2PWZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdDtpZigoMCxmLmRlZmF1bHQpKHQpKXJldHVybiBOYU47aWYoKDAsYy5kZWZhdWx0KSh0KSl7dmFyIGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQudmFsdWVPZj90LnZhbHVlT2YoKTp0O3Q9KDAsYy5kZWZhdWx0KShlKT9lKyIiOmV9aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiAwPT09dD90Oit0O3Q9byh0KTt2YXIgcj1pLnRlc3QodCk7cmV0dXJuIHJ8fGwudGVzdCh0KT9kKHQuc2xpY2UoMikscj8yOjgpOnMudGVzdCh0KT9OYU46K3R9fSwzNTI4MzcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBuPXIoMjY5MzY2KSx1PXIoMjI0NDE2KSxhPXIoODI1MDM5KSxvPXIoNzEyODAxKSxjPXIoNDE0MTIzKSxmPXIoODYyMzg4KSxzPXIoOTcyMDE3KTtjb25zdCBpPWMuZGVmYXVsdCYmMS8oMCxzLmRlZmF1bHQpKG5ldyBjLmRlZmF1bHQoWywtMF0pKVsxXT09MS8wP2Z1bmN0aW9uKHQpe3JldHVybiBuZXcgYy5kZWZhdWx0KHQpfTpmLmRlZmF1bHQ7Y29uc3QgbD1mdW5jdGlvbih0LGUscil7dmFyIGM9LTEsZj11LmRlZmF1bHQsbD10Lmxlbmd0aCxkPSEwLHY9W10scD12O2lmKHIpZD0hMSxmPWEuZGVmYXVsdDtlbHNlIGlmKGw+PTIwMCl7dmFyIGI9ZT9udWxsOmkodCk7aWYoYilyZXR1cm4oMCxzLmRlZmF1bHQpKGIpO2Q9ITEsZj1vLmRlZmF1bHQscD1uZXcgbi5kZWZhdWx0fWVsc2UgcD1lP1tdOnY7dDpmb3IoOysrYzxsOyl7dmFyIHk9dFtjXSxoPWU/ZSh5KTp5O2lmKHk9cnx8MCE9PXk/eTowLGQmJmg9PWgpe2Zvcih2YXIgaj1wLmxlbmd0aDtqLS07KWlmKHBbal09PT1oKWNvbnRpbnVlIHQ7ZSYmcC5wdXNoKGgpLHYucHVzaCh5KX1lbHNlIGYocCxoLHIpfHwocCE9PXYmJnAucHVzaChoKSx2LnB1c2goeSkpfXJldHVybiB2fTtjb25zdCBkPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lmxlbmd0aD9sKHQpOltdfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/67799.e2495691cea17b3a81c2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.780Z","timestamp":1785141584780,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/67799.e2495691cea17b3a81c2.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1dd4\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4df93cf8aa62a9fde232cb302d773c60\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":7636,"size_decoded":2594,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (7636), with no line terminators","md5":"6098916a464733489420c06d4d157550","sha1":"3d922ecff9adfcac8b445b191abbbc96b8187051","sha256":"caeccc97bab3aa41bfb78157071643ae404f0ea6519d21a900a8d95d046e1e85","sha512":"da35876591ab0f26295aaa719b5305a8d64e2aeae102349f2e39f0db10964fa882cf4f4dcb4da145ab36fe83e84994e75dd61286e48abf8b54556caab7355962","ssdeep":"192:2QoSuITjVqGw07dUQdX+D3TQ3oimJmp9+9IianQm:cvCmJiTL","tlshash":"c9f124c621c49f7a7ce345afa674a2ec6348dd38f93309d7b621ae6480c16b5027492e","first_seen":"2026-07-17T14:15:58.312947Z","last_seen":"2026-07-27T14:27:22.535076Z","times_seen":160,"resource_available":false,"data":"LmJhY2tncm91bmQtTlFvbTVJOFp7YWxpZ24taXRlbXM6c3RyZXRjaDtiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWJhY2tncm91bmQtY29sb3IpO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpzdGFydDt3aWR0aDoxMDAlO3otaW5kZXg6MTstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWlzLWhvdmVyZWQ6MH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJhY2tncm91bmQtTlFvbTVJOFo6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1pcy1ob3ZlcmVkOjF9fS5tZWRpdW0tTlFvbTVJOFp7bWluLWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSozMnB4ICsgdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkqNDBweCl9LmxhcmdlLU5Rb201SThae21pbi1oZWlnaHQ6NDBweH0uZGlzYWJsZWQtTlFvbTVJOFp7b3BhY2l0eTouNX0uYmFja2dyb3VuZC1OUW9tNUk4WnstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWJhY2tncm91bmQtY29sb3I6dmFyKC0tdWktbGliLWluLWxpc3RJdGVtLWJhY2tncm91bmRDb2xvcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1pbnZlcnNlKSl9Lm9wZW4tTlFvbTVJOFp7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1iYWNrZ3JvdW5kQ29sb3JIb3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJhY2tncm91bmQtTlFvbTVJOFo6bm90KC5kaXNhYmxlZC1OUW9tNUk4Wik6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1iYWNrZ3JvdW5kQ29sb3JIb3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpKX19LnNlbGVjdGVkLU5Rb201SThaLC5zZWxlY3RlZC1OUW9tNUk4Wi5vcGVuLU5Rb201SThaey0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tYmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tYmFja2dyb3VuZENvbG9yU2VsZWN0ZWQsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlbGVjdGVkLU5Rb201SThaOm5vdCguZGlzYWJsZWQtTlFvbTVJOFopOmhvdmVyey0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tYmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tYmFja2dyb3VuZENvbG9yU2VsZWN0ZWQsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKX19LmJhY2tncm91bmQtTlFvbTVJOFo6bm90KC5kaXNhYmxlZC1OUW9tNUk4Wik6bm90KC5zZWxlY3RlZC1OUW9tNUk4Wik6YWN0aXZley0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tYmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tYmFja2dyb3VuZENvbG9yQWN0aXZlLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkpfS5uZXV0cmFsLU5Rb201SThaLmJhY2tncm91bmQtTlFvbTVJOFp7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1wcmltYXJ5LWNvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS10ZXh0Q29sb3IsdmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCkpOy0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tc2Vjb25kYXJ5LWNvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zZWNvbmRhcnlUZXh0Q29sb3IsdmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpKX0ubmV1dHJhbC1OUW9tNUk4Wi5zZWxlY3RlZC1OUW9tNUk4WnstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLXByaW1hcnktY29sb3I6dmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXRleHRDb2xvclNlbGVjdGVkLHZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpKTstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLXNlY29uZGFyeS1jb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2Vjb25kYXJ5VGV4dENvbG9yU2VsZWN0ZWQsdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXRleHRDb2xvclNlbGVjdGVkLHZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpKSl9LmRhbmdlci1OUW9tNUk4Wi5iYWNrZ3JvdW5kLU5Rb201SThaLC5kYW5nZXItTlFvbTVJOFouc2VsZWN0ZWQtTlFvbTVJOFp7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1wcmltYXJ5LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXIpOy0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tc2Vjb25kYXJ5LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsubmV1dHJhbC1OUW9tNUk4Wi5iYWNrZ3JvdW5kLU5Rb201SThaOm5vdCguZGlzYWJsZWQtTlFvbTVJOFopOm5vdCguc2VsZWN0ZWQtTlFvbTVJOFopOmhvdmVyey0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tcHJpbWFyeS1jb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tdGV4dENvbG9ySG92ZXIsdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXRleHRDb2xvcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKSkpfX0uYnV0dG9uLVhOVWl2VG91e2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2NvbG9yOmluaGVyaXQ7Y29sb3I6dmFyKC0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tcHJpbWFyeS1jb2xvcik7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MTtmb250LWZhbWlseTppbmhlcml0O21pbi13aWR0aDowO3BhZGRpbmc6MDtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjJweCArIHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjZweCkgY2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqMnB4ICsgdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkqNnB4KTtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSo0cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoxMnB4KSBjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSo0cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoxMnB4KTt0ZXh0LWFsaWduOnN0YXJ0Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5idXR0b24tWE5VaXZUb3U6YWZ0ZXJ7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KX0uYnV0dG9uLVhOVWl2VG91OmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnV0dG9uLVhOVWl2VG91OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6NnB4fS5idXR0b24tWE5VaXZUb3V7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1c3tvdXRsaW5lOm5vbmV9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uYnV0dG9uLVhOVWl2VG91OmFmdGVye2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3RvcDowO3dpZHRoOjEwMCV9LmJ1dHRvbi1YTlVpdlRvdTphZnRlciwuYnV0dG9uLVhOVWl2VG91OmJlZm9yZXtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjF9LmJ1dHRvbi1YTlVpdlRvdTpiZWZvcmV7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1iYWNrZ3JvdW5kQ29sb3IsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSkpO2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDpjYWxjKDEwMCUgLSA0cHgpO2luc2V0LWlubGluZS1zdGFydDoycHg7dG9wOjJweDt3aWR0aDpjYWxjKDEwMCUgLSA0cHgpfS5idXR0b24tWE5VaXZUb3U6Zm9jdXM6YmVmb3Jle2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1cy12aXNpYmxlOmJlZm9yZXtkaXNwbGF5OmJsb2NrfS5idXR0b24tWE5VaXZUb3U6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTpiZWZvcmV7ZGlzcGxheTpub25lfS5idXR0b24tWE5VaXZUb3U6Zm9jdXN7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1pcy1mb2N1c2VkOjF9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1cy12aXNpYmxley0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0taXMtZm9jdXNlZC12aXNpYmxlOjF9YS5idXR0b24tWE5VaXZUb3V7Y3Vyc29yOnBvaW50ZXJ9LmhvdGtleS1YYzZTaHBDcXtjb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0taG90a2V5VGV4dENvbG9yLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKSl9LmhvdGtleS1YYzZTaHBDcTpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtZW5kOjRweH0ucmlnaHQtQ0dkakthOVl7YWxpZ24tc2VsZjpzdHJldGNoO2NvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLXNlY29uZGFyeS1jb2xvcik7cG9zaXRpb246cmVsYXRpdmV9LnJpZ2h0LUNHZGpLYTlZOmhhcyhbZGF0YS1pcy1wb3BvdmVyLWNvbnRleHQtYWN0aW9uXSl7bWFyZ2luLWlubGluZS1lbmQ6LTJweH0uY2hpbGQtQ0dkakthOVl7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDtnYXA6NHB4O2hlaWdodDoyOHB4O3BhZGRpbmctYmxvY2s6M3B4IDNweDtwYWRkaW5nLWlubGluZToyNHB4IDRweDtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6Y2FsYyg1MCUqdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoLTUwJSp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSkpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjEycHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTZweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LmVsbGlwc2lzLURhelI4NVZBe292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ud2l0aEdhcHMtRGF6Ujg1VkF7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtnYXA6NnB4fS5taWRkbGUtRnR3d1JyN3V7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4O21pbi13aWR0aDowO3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweH0uaGFzTm9FbmRTbG90LUZ0d3dScjd1e3BhZGRpbmctaW5saW5lLWVuZDo0cHh9LnRpdGxlLUZ0d3dScjd1ey0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4Oy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOmNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjE0cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoxNnB4KTstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjE4cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoyNHB4KX0uZGVzY3JpcHRpb24tRnR3d1JyN3UsLnRpdGxlLUZ0d3dScjd1e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0uZGVzY3JpcHRpb24tRnR3d1JyN3V7Y29sb3I6dmFyKC0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tc2Vjb25kYXJ5LWNvbG9yKTstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxMnB4Oy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTZweH0uaGFzRGVzY3JpcHRpb24tRnR3d1JyN3UsLmhhc1RpdGxlLUZ0d3dScjd1e2ZsZXg6MX0uaGFzVGl0bGUtRnR3d1JyN3UuaGFzRGVzY3JpcHRpb24tRnR3d1JyN3V7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqNHB4KTtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSo0cHgpfS5oYXNUaXRsZS1GdHd3UnI3dTpub3QoLmhhc0Rlc2NyaXB0aW9uLUZ0d3dScjd1KXtwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSo1cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoycHgpO3BhZGRpbmctdG9wOmNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjVweCArIHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjJweCl9LmJ1dHRvbkNvbnRlbnQtVlg0a3BSOWl7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4OjE7bWluLXdpZHRoOjB9LmxlZnQtVlg0a3BSOWl7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KHZhcigtLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWxlZnRTbG90SXRlbXNOdW1iZXIpLDI4cHgpO2hlaWdodDoyOHB4O2p1c3RpZnktaXRlbXM6Y2VudGVyfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/9270.32910635bb39c686f5be.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.896Z","timestamp":1785141584896,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/9270.32910635bb39c686f5be.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-25cb\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5e641bbd77c88bef6f7eafa4af123497\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9675,"size_decoded":4352,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"5539ff4455921fad5c1cbaab2a5f3bce","sha1":"1073b48b55f2cd1b7d3fa453240d3a291dfd463b","sha256":"1f30073c128d18667a732ed75caf7f398da1accffcaa0a3f31bf098b68158c7d","sha512":"0c43ed53a7646dae59e40f446fe718b9737fd8e7a496ec59d228934369a1e38d90c3b9dd61a21fe12001706bad97b7bcd580f3b48b18b5626df44fc3632dfbdd","ssdeep":"192:TdqLHSioSpIwtLAZ9ZZmQSUMesX4decPvT4L27UXn4Tmdl6eFU3KT0:ToHSioVwtLAZ9JS8s8eYvT4L27UXLMeK","tlshash":"83120a85b3643caa91da1ad479b1088793137994a02bcde8742c65ff299cc27743cb7d","first_seen":"2026-07-17T03:30:51.183942Z","last_seen":"2026-07-27T14:50:15.440645Z","times_seen":103,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTI3MF0sezEwNzg2OShlLHQsbyl7ZnVuY3Rpb24gcihlLHQpe2NvbnN0IG89ZS5iYWNrZ3JvdW5kVG9wQ29sb3IoKS52YWx1ZSgpLHI9ZS5iYWNrZ3JvdW5kQ29sb3IoKS52YWx1ZSgpLG49dC5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZih0KSxpPXQubW9kZWwoKS5tYWluUGFuZSgpO3JldHVybiBuPihpP3QubW9kZWwoKS5wYW5lcygpLmluZGV4T2YoaSk6MCk/cjpvfW8uZCh0LHtnZXRQYW5lV2lkZ2V0U2lkZUFyZWFCZ0NvbG9yOigpPT5yfSl9LDM3OTY1MihlLHQsbyl7by5kKHQse2NhbGN1bGF0ZUZvbnRTaXplOigpPT5oLGdldFByZXBhcmVkVGV4dE1lYXN1cmVtZW50czooKT0+bH0pO3ZhciByPW8oMTM4NjM4KSxuPW8oNTkwODk0KSxpPW8oODIyNzI2KSxhPW8oOTI2MTQ5KSxzPW8oMTk4OTAxKTtmdW5jdGlvbiBsKGUsdCxvLHIpe2lmKGUuc2l6ZSlyZXR1cm4gZTtmb3IobGV0IG49ci5taW5BbGxvd2VkRm9udFNpemU7bjw9ci5tYXhBbGxvd2VkRm9udFNpemU7bisrKXtjb25zdCBhPW8uZ2V0KG4pPz9uZXcgaS5UZXh0V2lkdGhDYWNoZTtvLnNldChuLGEpLGUuc2V0KG4sZCh0LG4sYSxyLm1heFN5bWJvbHMpKX1yZXR1cm4gZX1mdW5jdGlvbiBkKGUsdCxvLHIpe2UuZm9udD0oMCxuLm1ha2VGb250KSh0LGEuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSk7Y29uc3QgaT1uZXcgTWFwO2ZvcihsZXQgdD0xO3Q8PXI7dCsrKWkuc2V0KHQsby5tZWFzdXJlVGV4dChlLG5ldyBBcnJheSh0KzEpLmpvaW4oIjAiKSkpO2NvbnN0IHM9by55TWlkQ29ycmVjdGlvbihlLCIwIiksbD1vLmdldE1ldHJpY3MoZSwiMCIpO3JldHVybnt3aWR0aHM6aSxhY3R1YWxGb250SGVpZ2h0OmwuZm9udEJvdW5kaW5nQm94RGVzY2VudCtsLmZvbnRCb3VuZGluZ0JveEFzY2VudCx5Q29ycmVjdGlvbjpzfX1mdW5jdGlvbiBoKGUsdCxvLG4saSxhKXtjb25zdCBkPWwoaSxvLG4sYSkse21heEFsbG93ZWRGb250U2l6ZTpoLG1pbkFsbG93ZWRGb250U2l6ZTpjLGZvbnRTaXplQ29lZmY6dSxob3J6Q2VsbE1pbk1hcmdpbjptLGhvcnpDZWxsTWFyZ2luc0NvZWZmOkN9PWE7bGV0IGY9aDtjb25zdCBfPWU9PmMrZTtmb3IoY29uc3QgbyBvZiBlKXtpZighZilicmVhaztjb25zdHtib3g6ZSxsYWJlbDpufT1vLGk9TWF0aC5mbG9vcihlLm1heC54LWUubWluLngpL3QuaG9yaXpvbnRhbFBpeGVsUmF0aW8sYT0oZS5tYXgueS1lLm1pbi55KS90LnZlcnRpY2FsUGl4ZWxSYXRpbyxsPU1hdGgucm91bmQoYSp1KTtpZihsPGMpe2Y9MDticmVha31mPmwmJihmPWwpO2NvbnN0IGg9XygoMCxzLmxvd2VyYm91bmRFeHQpKF8sbiwoKGUsdCk9Pnt2YXIgbyxuO3JldHVybihvPWUsbj10LCgwLHIuZW5zdXJlRGVmaW5lZCkoZC5nZXQobyk/LndpZHRocy5nZXQobi5sZW5ndGgpKSk8aS1NYXRoLm1heChtLDIqQypfKGUpKX0pLDAsZi1jKzEpKTtpZihoPGYrMSYmKGY9aC0xKSxmPGMpe2Y9MDticmVha319cmV0dXJuIGY/e2ZvbnRTaXplOmYseU1pZENvcnJlY3Rpb246KGc9ZiwoMCxyLmVuc3VyZURlZmluZWQpKGQuZ2V0KGcpPy55Q29ycmVjdGlvbikpfTpudWxsO3ZhciBnfX0sMjk0MzY0KGUsdCxvKXtvLmQodCx7cm93Qm94R2VuZXJhdG9yOigpPT5hfSk7dmFyIHI9byg3MzY1MzEpLG49byg2MzU2OTkpO2NvbnN0e2NlbGxIZWlnaHQ6aX09bi5jb25zdGFudHM7ZnVuY3Rpb24qYShlLHtiaXRtYXBTaXplOnt3aWR0aDp0fX0pe2ZvcihsZXQgbz0wO288ZS5sZW5ndGg7KytvKXlpZWxkW28sKDAsci5ib3gpKCgwLHIucG9pbnQpKDAsbyppKSwoMCxyLnBvaW50KSh0LChvKzEpKmkpKV19fSw1ODg4NzAoZSx0LG8pe28uZCh0LHtTdW1tYXJ5UGFuZVZpZXc6KCk9Pnp9KTt2YXIgcj1vKDEzODYzOCksbj1vKDczNjUzMSksaT1vKDkyNjE0OSksYT1vKDEwNzg2OSkscz1vKDQyNTY1OSksbD1vKDU5MDg5NCksZD1vKDc4OTE5MCksaD1vKDM3OTY1MiksYz1vKDYzNTY5OSksdT1vKDE4NTI3MSksbT1vKDU3MzA1NCk7Y29uc3QgQz11LnQobnVsbCx7Y29udGV4dDoiY2hhcnQgd2l0aCBzdW1tYXJ5IHRhYmxlIn0sbyg4NzAwOSkpO2NsYXNzIGYgZXh0ZW5kcyBtLk1lZGlhQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9kYXRhPW51bGwsdGhpcy5fZGF0YT1lfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoKXtyZXR1cm4gbnVsbH1fZHJhd0ltcGwoZSl7Y29uc3QgdD10aGlzLl9kYXRhO2lmKCF0KXJldHVybjtjb25zdCBvPXQuaXNEYXJrP2MuZGFya0NvbG9yczpjLmxpZ2h0Q29sb3JzLHI9ZS5jb250ZXh0O3IuZmlsbFN0eWxlPW8udGV4dENvbG9yLHIudGV4dEJhc2VsaW5lPSJtaWRkbGUiLHIuZm9udD10LmZvbnQsci5maWxsVGV4dChDLGMuY29uc3RhbnRzLmxlZ2VuZExlZnRQYWRkaW5nLGUubWVkaWFTaXplLmhlaWdodC8yK3QueU1pZENvcnJlY3Rpb24pfX12YXIgXz1vKDc2ODMwNSksZz1vKDc2MykseD1vKDk3NjgxMyksdz1vKDkzNDMwNSksdj1vKDc4NjQzNikscD1vKDE1MTIxKSxNPW8oMjk0MzY0KSxTPW8oODIyNzI2KTtjbGFzcyBUIGV4dGVuZHMgdy5CaXRtYXBDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2RhdGE9bnVsbCx0aGlzLl93aWR0aENhY2hlPW5ldyBTLlRleHRXaWR0aENhY2hlKDFlMyksdGhpcy5fZGF0YT1lPz9udWxsfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoZSx0KXtjb25zdCBvPXRoaXMuX2RhdGE7aWYoIW8/LmNvbHVtbnMubGVuZ3RoKXJldHVybiBudWxsO2Zvcihjb25zdFtyLG5db2YoMCxNLnJvd0JveEdlbmVyYXRvcikoby5jb2x1bW5zWzBdLnJvd3MsdCkpaWYoKDAsXy5wb2ludEluQm94KShlLG4pKXJldHVybiBuZXcgZy5IaXRUZXN0UmVzdWx0KGcuSGl0VGFyZ2V0LlJlZ3VsYXIse2FjdGl2ZUl0ZW06cixjdXJzb3JUeXBlOnguUGFuZUN1cnNvclR5cGUuRGVmYXVsdH0pO3JldHVybiBudWxsfV9kcmF3SW1wbChlKXtjb25zdCB0PXRoaXMuX2RhdGEKO2lmKCF0Py5jb2x1bW5zLmxlbmd0aClyZXR1cm47Y29uc3R7Y29udGV4dDpvLGJpdG1hcFNpemU6cix2ZXJ0aWNhbFBpeGVsUmF0aW86bixob3Jpem9udGFsUGl4ZWxSYXRpbzphfT1lLHM9dC5pc0Rhcms/Yy5kYXJrQ29sb3JzOmMubGlnaHRDb2xvcnMsZD1jLmNvbnN0YW50cy5jZWxsSGVpZ2h0LGg9TWF0aC5yb3VuZChkKm4pO28uZmlsbFN0eWxlPXMudGV4dENvbG9yLG8udGV4dEJhc2VsaW5lPSJtaWRkbGUiLG8uZm9udD0oMCxsLm1ha2VGb250KSh0LmZvbnRTaXplLGkuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSk7Y29uc3QgdT10LmNvbHVtbnMubGVuZ3RoLTE7aWYoKDAscC5kcmF3U2NhbGVkKShvLGEsbiwoKCk9Pnt0LmNvbHVtbnMuZm9yRWFjaCgoKGUscik9Pntjb25zdFtuLGldPVtlLmxlZnQsZS5yaWdodF0ubWFwKChlPT5NYXRoLnJvdW5kKGUvYSkpKSxzPWktbixsPXI9PT11O2Uucm93cy5mb3JFYWNoKCgoZSxyKT0+e2NvbnN0IGE9ZS50ZXh0LGg9ZS5iYWNrZ3JvdW5kQ29sb3I7aCYmKG8uc2F2ZSgpLG8uZmlsbFN0eWxlPWgsby5maWxsUmVjdChuLHIqZCxzLGQpLG8ucmVzdG9yZSgpKTt0aGlzLl93aWR0aENhY2hlLm1lYXN1cmVUZXh0KG8sYSk+cy0yKmMuY29uc3RhbnRzLmhvcnpDZWxsTWluTWFyZ2luP2wmJiF0LmN1dE9mZkxhc3RDb2x1bW4/KG8udGV4dEFsaWduPSJsZWZ0IixvLmZpbGxUZXh0KGEsbitjLmNvbnN0YW50cy5ob3J6Q2VsbE1pbk1hcmdpbixyKmQrZC8yKSk6KG8uc2F2ZSgpLG8udGV4dEFsaWduPSJsZWZ0IixvLmJlZ2luUGF0aCgpLG8ucmVjdChuK2MuY29uc3RhbnRzLmhvcnpDZWxsTWluTWFyZ2luLHIqZCxzLTIqYy5jb25zdGFudHMuaG9yekNlbGxNaW5NYXJnaW4sZCksby5jbGlwKCksby5maWxsVGV4dChhLG4rYy5jb25zdGFudHMuaG9yekNlbGxNaW5NYXJnaW4scipkK2QvMiksby5yZXN0b3JlKCkpOihvLnRleHRBbGlnbj0iY2VudGVyIixvLmZpbGxUZXh0KGEsKG4raSkvMixyKmQrZC8yK3QueU1pZENvcnJlY3Rpb24pKX0pKX0pKX0pKSxvLmxpbmVXaWR0aD1NYXRoLm1heCgxLE1hdGguZmxvb3IoYSkpLHZvaWQgMCE9PXQuaG92ZXJlZFJvdyYmKG8uZmlsbFN0eWxlPXMuaG92ZXJlZFJvd0NvbG9yLG8uZmlsbFJlY3QoMCx0LmhvdmVyZWRSb3cqaCxyLndpZHRoLGgpKSxvLnN0cm9rZVN0eWxlPXQudmVydEJvcmRlcnNDb2xvcix0LmNvbHVtbnMuZm9yRWFjaCgoZT0+eygwLHYuZHJhd1ZlcnRpY2FsTGluZSkobyxlLmxlZnQsMCxyLmhlaWdodCl9KSksdC5jdXRPZmZMYXN0Q29sdW1uKXtjb25zdCBlPXQuY29sdW1uc1t0LmNvbHVtbnMubGVuZ3RoLTFdOygwLHYuZHJhd1ZlcnRpY2FsTGluZSkobyxlLnJpZ2h0LDAsci5oZWlnaHQpfXtjb25zdFt7cm93czp7bGVuZ3RoOmV9fV09dC5jb2x1bW5zO28uc3Ryb2tlU3R5bGU9dC5ob3J6Qm9yZGVyc0NvbG9yO2ZvcihsZXQgdD0xO3Q8PWU7Kyt0KSgwLHYuZHJhd0hvcml6b250YWxMaW5lKShvLHQqaCwwLHIud2lkdGgpfX19Y29uc3QgUj1uZXcgTWFwO2NsYXNzIHp7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9yZW5kZXJlcj1uZXcgZC5Db21wb3NpdGVSZW5kZXJlcix0aGlzLl9sZWdlbmRSZW5kZXJlcj1udWxsLHRoaXMuX3N1bW1hcnlSZW5kZXJlcj1uZXcgVCx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl90ZXh0V2lkdGhDYWNoZXNNYXA9bmV3IE1hcCx0aGlzLl9zdHVkeT1lLHRoaXMuX21vZGVsPXQsdGhpcy5fdGV4dFdpZHRoQ2FjaGVDYW52YXM9KDAsci5lbnN1cmVOb3ROdWxsKShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSksdGhpcy5fdGV4dFdpZHRoQ2FjaGVDYW52YXNDdHg9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl90ZXh0V2lkdGhDYWNoZUNhbnZhcy5nZXRDb250ZXh0KCIyZCIpKX11cGRhdGUoKXt0aGlzLl9pbnZhbGlkYXRlZD0hMH1yZW5kZXJlcihlKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVSZW5kZXJlcihlKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSksdGhpcy5fcmVuZGVyZXJ9bWFrZVN1cmVJc1VwZGF0ZWQoZSl7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVSZW5kZXJlcihlKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSl9X3VwZGF0ZVJlbmRlcmVyKGUpe3RoaXMuX3JlbmRlcmVyLmNsZWFyKCk7Y29uc3QgdD10aGlzLl9nZXREYXRhU291cmNlRm9yU3VtbWFyeSgpO2lmKCF0KXJldHVybjtjb25zdCBvPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwucGFuZUZvclNvdXJjZSh0KSksZD0oMCxhLmdldFBhbmVXaWRnZXRTaWRlQXJlYUJnQ29sb3IpKHRoaXMuX21vZGVsLG8pLHU9by5jb2xsYXBzZWQoKS52YWx1ZSgpJiYhby5tYXhpbWl6ZWQoKS52YWx1ZSgpLG09KDAscy5pc0NvbG9yRGFyaykoZCk7aWYodSl7Y29uc3QgZT0oMCxoLmdldFByZXBhcmVkVGV4dE1lYXN1cmVtZW50cykoUix0aGlzLl90ZXh0V2lkdGhDYWNoZUNhbnZhc0N0eCx0aGlzLl90ZXh0V2lkdGhDYWNoZXNNYXAsYy5jb25zdGFudHMpLHQ9e2lzRGFyazptLGZvbnQ6KDAsbC5tYWtlRm9udCkoYy5jb25zdGFudHMubGVnZW5kRm9udFNpemUsaS5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpKSx5TWlkQ29ycmVjdGlvbjplLmdldChjLmNvbnN0YW50cy5sZWdlbmRGb250U2l6ZSk/LnlDb3JyZWN0aW9uPz8wfTtyZXR1cm4gdGhpcy5fbGVnZW5kUmVuZGVyZXJ8fCh0aGlzLl9sZWdlbmRSZW5kZXJlcj1uZXcgZih0KSksdGhpcy5fbGVnZW5kUmVuZGVyZXIuc2V0RGF0YSh0KSx2b2lkIHRoaXMuX3JlbmRlcmVyLmFwcGVuZCh0aGlzLl9sZWdlbmRSZW5kZXJlcil9Y29uc3QgQz10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5sb2dpY2FsUmFuZ2UoKTtpZighQylyZXR1cm47Y29uc3QgXz10aGlzLl9nZXRTdW1tYXJ5Q29sdW1uUmVuZGVyZXJEYXRhKGUsQyk7aWYobnVsbD09PV8pcmV0dXJuO2NvbnN0IGc9dGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLHg9ewpob3ZlcmVkUm93OnRoaXMuX21vZGVsLmhvdmVyZWRTb3VyY2UoKT09PXQ/dGhpcy5fbW9kZWwubGFzdEhpdHRlc3REYXRhKCk/LmFjdGl2ZUl0ZW06dm9pZCAwLGNvbHVtbnM6XyxjdXRPZmZMYXN0Q29sdW1uOnRoaXMuX2N1dE9mZkxhc3RDb2x1bW4oKSxpc0Rhcms6bSx2ZXJ0Qm9yZGVyc0NvbG9yOmcudmVydEdyaWRQcm9wZXJ0aWVzLmNoaWxkcygpLmNvbG9yLnZhbHVlKCksaG9yekJvcmRlcnNDb2xvcjpnLmhvcnpHcmlkUHJvcGVydGllcy5jaGlsZHMoKS5jb2xvci52YWx1ZSgpfSx3PSgwLGguY2FsY3VsYXRlRm9udFNpemUpKGZ1bmN0aW9uKihlLHQpe2ZvcihsZXQgbz0wO288ZS5jb2x1bW5zLmxlbmd0aC0xO28rKyl7Y29uc3Qgcj1lLmNvbHVtbnNbb107Zm9yKGxldCBlPTA7ZTxyLnJvd3MubGVuZ3RoO2UrKyl7Y29uc3Qgbz1yLnJvd3NbZV0saT1lKnQsYT0oZSsxKSp0O3lpZWxke2xhYmVsOm8udGV4dCxib3g6KDAsbi5ib3gpKCgwLG4ucG9pbnQpKHIubGVmdCxpKSwoMCxuLnBvaW50KShyLnJpZ2h0LGEpKX19fX0oeCxjLmNvbnN0YW50cy5jZWxsSGVpZ2h0KmUudmVydGljYWxQaXhlbFJhdGlvKSxlLHRoaXMuX3RleHRXaWR0aENhY2hlQ2FudmFzQ3R4LHRoaXMuX3RleHRXaWR0aENhY2hlc01hcCxSLGMuY29uc3RhbnRzKXx8e2ZvbnRTaXplOmMuY29uc3RhbnRzLm1pbkFsbG93ZWRGb250U2l6ZSx5TWlkQ29ycmVjdGlvbjowfTt0aGlzLl9zdW1tYXJ5UmVuZGVyZXIuc2V0RGF0YSh7Li4ueCwuLi53fSksdGhpcy5fcmVuZGVyZXIuYXBwZW5kKHRoaXMuX3N1bW1hcnlSZW5kZXJlcil9fX0sNzQ1NTY5KGUsdCxvKXtvLmQodCx7U3VtbWFyeVdpZGdldFNpZGVBcmVhVmlldzooKT0+eH0pO3ZhciByPW8oMTM4NjM4KSxuPW8oODIyNzI2KSxpPW8oNzY4MzA1KSxhPW8oNTkwODk0KSxzPW8oNzYzKSxsPW8oOTM0MzA1KSxkPW8oNzg2NDM2KSxoPW8oOTI2MTQ5KSxjPW8oMTUxMjEpLHU9byg2MzU2OTkpLG09bygyOTQzNjQpLEM9byg5NzY4MTMpO2NsYXNzIGYgZXh0ZW5kcyBsLkJpdG1hcENvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9kYXRhPW51bGwsdGhpcy5fd2lkdGhDYWNoZT1uZXcgbi5UZXh0V2lkdGhDYWNoZSgxZTMpfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoZSx0KXtjb25zdCBvPXRoaXMuX2RhdGE7aWYoIW8/LnJvd1RpdGxlcy5sZW5ndGgpcmV0dXJuIG51bGw7Zm9yKGNvbnN0W3Isbl1vZigwLG0ucm93Qm94R2VuZXJhdG9yKShvLnJvd1RpdGxlcyx0KSlpZigoMCxpLnBvaW50SW5Cb3gpKGUsbikpcmV0dXJuIG5ldyBzLkhpdFRlc3RSZXN1bHQocy5IaXRUYXJnZXQuUmVndWxhcix7YWN0aXZlSXRlbTpyLGN1cnNvclR5cGU6Qy5QYW5lQ3Vyc29yVHlwZS5EZWZhdWx0fSk7cmV0dXJuIG51bGx9X2RyYXdJbXBsKGUpe2NvbnN0IHQ9dGhpcy5fZGF0YTtpZihudWxsPT09dClyZXR1cm47Y29uc3R7Y29udGV4dDpvLGJpdG1hcFNpemU6cix2ZXJ0aWNhbFBpeGVsUmF0aW86bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLG1lZGlhU2l6ZTpzfT1lLGw9dC5pc0Rhcms/dS5kYXJrQ29sb3JzOnUubGlnaHRDb2xvcnMsbT11LmNvbnN0YW50cy5jZWxsSGVpZ2h0LEM9TWF0aC5yb3VuZChtKm4pO3ZvaWQgMCE9PXQuaG92ZXJlZFJvdyYmKG8uZmlsbFN0eWxlPWwuaG92ZXJlZFJvd0NvbG9yLG8uZmlsbFJlY3QoMCx0LmhvdmVyZWRSb3cqQyxyLndpZHRoLEMpKSxvLnN0cm9rZVN0eWxlPXQuYm9yZGVyQ29sb3IsdC5yb3dUaXRsZXMuZm9yRWFjaCgoKGUsdCk9Pntjb25zdCBuPSh0KzEpKkM7KDAsZC5kcmF3SG9yaXpvbnRhbExpbmUpKG8sbiwwLHIud2lkdGgpfSkpLG8uZmlsbFN0eWxlPWwudGV4dENvbG9yLG8udGV4dEJhc2VsaW5lPSJtaWRkbGUiLG8uZm9udD0oMCxhLm1ha2VGb250KSh0LmZvbnRTaXplLGguQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSksKDAsYy5kcmF3U2NhbGVkKShvLGksbiwoKCk9Pnt0LnJvd1RpdGxlcy5mb3JFYWNoKCgoZSxyKT0+e2xldCBuO2lmKCJyaWdodCI9PT10LmFsaWduKW49dS5jb25zdGFudHMuaG9yekNlbGxNaW5NYXJnaW47ZWxzZXtjb25zdCB0PXRoaXMuX3dpZHRoQ2FjaGUubWVhc3VyZVRleHQobyxlKTtuPXMud2lkdGgtdC11LmNvbnN0YW50cy5ob3J6Q2VsbE1pbk1hcmdpbn1vLmZpbGxUZXh0KGUsbixyKm0rbS8yK3QueU1pZENvcnJlY3Rpb24pfSkpfSkpfX12YXIgXz1vKDQyNTY1OSksZz1vKDEwNzg2OSk7Y2xhc3MgeHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9yZW5kZXJlcj1uZXcgZix0aGlzLl93aWR0aHNDYWNoZT1uZXcgbi5UZXh0V2lkdGhDYWNoZSx0aGlzLl9tb2RlbD1lLHRoaXMuX3RleHRNZWFzdXJlQ2FudmFzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpfWRlc3Ryb3koKXt0aGlzLl90ZXh0TWVhc3VyZUNhbnZhcy5yZW1vdmUoKX1yZW5kZXJlcigpe3JldHVybiB0aGlzLl9yZW5kZXJlcn11cGRhdGUoKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCksdD10aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCksbz10aGlzLl9tb2RlbC5tYWluUGFuZSgpLG49dGhpcy5fZ2V0RGF0YVNvdXJjZUZvclN1bW1hcnkoKTtpZihlJiZvJiZuKXtjb25zdCBpPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwucGFuZUZvclNvdXJjZShuKSkscz0oMCxnLmdldFBhbmVXaWRnZXRTaWRlQXJlYUJnQ29sb3IpKHRoaXMuX21vZGVsLGkpLGw9KDAsXy5pc0NvbG9yRGFyaykocyksZD1vLnByaWNlU2NhbGVQb3NpdGlvbihlKTtpZigib3ZlcmxheSIhPT1kKXtjb25zdCBlPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fdGV4dE1lYXN1cmVDYW52YXMuZ2V0Q29udGV4dCgiMmQiKSk7ZS5mb250PSgwLGEubWFrZUZvbnQpKHUuY29uc3RhbnRzLm1heEFsbG93ZWRGb250U2l6ZSxoLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpLHRoaXMuX3JlbmRlcmVyLnNldERhdGEoewpob3ZlcmVkUm93OnRoaXMuX21vZGVsLmhvdmVyZWRTb3VyY2UoKT09PW4/dGhpcy5fbW9kZWwubGFzdEhpdHRlc3REYXRhKCk/LmFjdGl2ZUl0ZW06dm9pZCAwLHJvd1RpdGxlczp0aGlzLl92aXNpYmxlVGl0bGVzKCksYWxpZ246ZCxpc0Rhcms6bCxmb250U2l6ZTp1LmNvbnN0YW50cy5tYXhBbGxvd2VkRm9udFNpemUsYm9yZGVyQ29sb3I6dC5ob3J6R3JpZFByb3BlcnRpZXMuY2hpbGRzKCkuY29sb3IudmFsdWUoKSx5TWlkQ29ycmVjdGlvbjp0aGlzLl93aWR0aHNDYWNoZS55TWlkQ29ycmVjdGlvbihlLCJBQkMiKX0pfX19b3B0aW1hbFdpZHRoKCl7Y29uc3QgZT0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3RleHRNZWFzdXJlQ2FudmFzLmdldENvbnRleHQoIjJkIikpO3JldHVybiBlLmZvbnQ9KDAsYS5tYWtlRm9udCkodS5jb25zdGFudHMubWF4QWxsb3dlZEZvbnRTaXplLGguQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSksdGhpcy5fdmlzaWJsZVRpdGxlcygpLnJlZHVjZSgoKHQsbyk9Pk1hdGgubWF4KHQsdGhpcy5fd2lkdGhzQ2FjaGUubWVhc3VyZVRleHQoZSxvKSkpLDApKzIqdS5jb25zdGFudHMuaG9yekNlbGxNaW5NYXJnaW59fX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/33515.85004481e4ae6624a985.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:45.127Z","timestamp":1785141585127,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/33515.85004481e4ae6624a985.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:45 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b70-244\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:20 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c0c8da590b182c3ea57b5a967edff494\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":580,"size_decoded":1060,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (580), with no line terminators","md5":"5241d2a5bfe86e6cd8fd6dcb5e2ed696","sha1":"442dcf527ccbe2043768a278bbb8057d5f7cd091","sha256":"07939c04dbd8bdba86c89a76e4a69061cd4ebae6d60b819991cd2b8c1fe37221","sha512":"11bef8137565b1ddd5747cb80db211dc83494e6a8daaeb1f4ee0db1fb1c66425576cadcaf31ffe012cb339a4910f2561bb428f9b2dbc6a469c0efebe0112e081","ssdeep":"","tlshash":"4ff02897832433424ab7993ccc9b577b113080a34684958ca250ef69ff4e7c9436c090","first_seen":"2026-02-24T21:05:06.369247Z","last_seen":"2026-07-27T14:27:22.670871Z","times_seen":482,"resource_available":false,"data":"LmNvbnRhaW5lci1UdjdMU2pVentjdXJzb3I6ZGVmYXVsdDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDowfS5vdmVybGF5U2Nyb2xsV3JhcC1UdjdMU2pVentib3R0b206MDtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7dG9wOjA7ei1pbmRleDoxMH0ud3JhcHBlci1UdjdMU2pVenttYXgtaGVpZ2h0OjEwMCU7b3ZlcmZsb3cteTphdXRvfUBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOm5vbmUpey53cmFwcGVyLVR2N0xTalV6e3Njcm9sbGJhci13aWR0aDpub25lfX0ud3JhcHBlci1UdjdMU2pVei5zYi1zY3JvbGxiYXItd3JhcHtkaXNwbGF5Om5vbmV9LndyYXBwZXItVHY3TFNqVXo6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MDt3aWR0aDowfS53cmFwcGVyLVR2N0xTalV6Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiwud3JhcHBlci1UdjdMU2pVejo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7ZGlzcGxheTpub25lfS53cmFwcGVyLVR2N0xTalV6Ojotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfQ=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/elementor/assets/lib/swiper/v8/css/swiper.min.css?ver=8.4.5","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.882Z","timestamp":1785141582882,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/plugins/elementor/assets/lib/swiper/v8/css/swiper.min.css?ver=8.4.5 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://oxlofttrd.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:57:52 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 4583\r\nKeep-Alive: timeout=5, max=100\r\nConnection: Keep-Alive\r\nContent-Type: text/css\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":16471,"size_decoded":4935,"mime_type":"text/css","magic":"ASCII text, with very long lines (16214)","md5":"a2431bc290cf34e330e11ec4cfce1247","sha1":"32a53342901fef5f4f4dbb26a555e730f84437a4","sha256":"c57e64fcb72bddafa9c38de574441c3e69ac6c961df96b0cad34da83658bd196","sha512":"87aef045472db25020faead697ec02813ba38d4e313caf437b4ca5cadbb7a7495805ac0b74e5de60cd84ccecab290b76d003eb1fadfcdaa70e650a597658ada9","ssdeep":"192:IbgmUJbiKneTT4bHZ+SKbnxup/a2AMQfHff71eesedOJ9A5Pz+c3At2/6:IdUbeTMbHZ+Vnh2AVfHfA4XYz","tlshash":"fa7234681340282753274f374b71cbb9d9b444d24b93896e91c0ee88d7b6cbd236f6e9","first_seen":"2023-04-05T10:48:11Z","last_seen":"2026-07-27T14:59:40.952899Z","times_seen":138334,"resource_available":true,"data":"LyoqCiAqIFN3aXBlciA4LjQuNQogKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9ucwogKiBodHRwczovL3N3aXBlcmpzLmNvbQogKgogKiBDb3B5cmlnaHQgMjAxNC0yMDIyIFZsYWRpbWlyIEtoYXJsYW1waWRpCiAqCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZQogKgogKiBSZWxlYXNlZCBvbjogTm92ZW1iZXIgMjEsIDIwMjIKICovCgogQGZvbnQtZmFjZXtmb250LWZhbWlseTpzd2lwZXItaWNvbnM7c3JjOnVybCgnZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsIGQwOUdSZ0FCQUFBQUFBWmdBQkFBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFHUkFBQUFCb0FBQUFjaTZxSGtVZEVSVVlBQUFXZ0FBQUFJd0FBQUNRQVlBQlhSMUJQVXdBQUJoUUFBQUF1QUFBQU51QVk3K3hIVTFWQ0FBQUZ4QUFBQUZBQUFBQm0yZlBjelU5VEx6SUFBQUhjQUFBQVNnQUFBR0JQOVY1UlkyMWhjQUFBQWtRQUFBQ0lBQUFCWXQ2RjBjQmpkblFnQUFBQ3pBQUFBQVFBQUFBRUFCRUJSR2RoYzNBQUFBV1lBQUFBQ0FBQUFBai8vd0FEWjJ4NVpnQUFBeXdBQUFETUFBQUQyTUh0cnlWb1pXRmtBQUFCYkFBQUFEQUFBQUEyRTIrZW9XaG9aV0VBQUFHY0FBQUFId0FBQUNRQzlnRHphRzEwZUFBQUFpZ0FBQUFaQUFBQXJnSmtBQkZzYjJOaEFBQUMwQUFBQUZvQUFBQmFGUUFVR0cxaGVIQUFBQUc4QUFBQUh3QUFBQ0FBY0FCQWJtRnRaUUFBQS9nQUFBRTVBQUFDWHZGZEJ3bHdiM04wQUFBRk5BQUFBR0lBQUFDRTVzNzRoWGphWTJCa1lHQUFZcGY1SHUvaitXMitNbkF6TVlEQXphWDZRakQ2LzQvL0J4ajVHQThBdVJ3TVlHa0FQeXdMMTNqYVkyQmtZR0E4OFA4QWd4NGorLzhmUURZZkExQUVCV2dEQUlCMkJPb0FlTnBqWUdSZ1lOQmg0R2RnWWdBQkVNbklBQkp6WU5BRENRQUFDV2dBc1FCNDJtTmdZZnpDT0lHQmxZR0IwWWN4allHQndSMUtmMldRWkdoaFlHQmlZR1ZtZ0FGR0JpUVFrT2Fhd3REQW9NQlF4WGpnL3dFR1BjWUREQTR3TlVBMkNDZ3dzQUFBTzRFTDZnQUFlTnBqMk0wZ3lBQUNxeGdHTldCa1oyRDQvd01BK3hrRGRnQUFBSGphWTJCZ1lHYUFZQmtHUmdZUWlBSHlHTUY4RmdZSElNM0R3TUhBQkdRck1PZ3lXRExFTTFUOS93OFVCZkVNZ0x6RS8vLy9QLzUvL2YvVi94dityNGVhQUFlTWJBeHdJVVltSU1IRWdLWUFZalVjc0RBd3NMS3hjM0J5Y2ZQdzhqRVFBL2daQkFTRmhFVkV4Y1FsSktXa1pXVGw1QlVVbFpSVlZOWFVOVFFaQmdNQUFNUitFK2dBRVFGRUFBQUFLZ0FxQUNvQU5BQStBRWdBVWdCY0FHWUFjQUI2QUlRQWpnQ1lBS0lBckFDMkFNQUF5Z0RVQU40QTZBRHlBUHdCQmdFUUFSb0JKQUV1QVRnQlFnRk1BVllCWUFGcUFYUUJmZ0dJQVpJQm5BR21BYklCemdIc0FBQjQydTJOTVE2Q1VBeUdXNTY4eDlBbmVZWWdtNE1KYmhLRmFFeElPQVZYOEFwZXdTdDRCaWM0QWZlQWlkM1ZPQml4RHhmUFlFemE1TytYZmkwNFlBRGdnaVVJVUxDdUVKSzhWaE80YlN2cGRua3RISTVRQ1l0ZGkyc2w4Wm5YYUhscVVyTkt6ZEtjVDhjamxxK3J3WlN2SVZjek5pZXpzZm5QL3V6bm1mUEZCTk9ETTJLN01UUTQ1WUVBWnFHUDgxQW1HR2NGM2lQcU9vcDByMVNQVGFUYlZrZlVlNEhYajk3d1lFK3lOd1dZeHdXdTR2MXVnV0hnbzNTMVhkWkVWcVdNN0VUMGNmbkxHeFdma2dSNDJvMlB2V3JETUJTRmovSUhMYUYwektqUmdkaVZNd1NjTlJBb1dVb0g3OFkyaWNCL3lJWTA5QW42QUgyQmR1L1VCK3l4b3BZc2hRaUV2bnZ1MGRVUmdEdDhRZUM4UER3N0ZwamkzZkVBNHovUEVKNllPQjVoS2g0ZGozRXZYaHhQcUgvU0tVWTNySjdzclo0RlpuaDFQTUF0UGh3UDZmbDJQTUpNUERnZVE0clk4WVQ2R3phbzBlQUVBNDA5RHVnZ21UbkZuT2NTQ2lFaUxNZ3hDaVRJNkNxNURaVWQzUW1wMTB2TzBMYUxUZDJjak40Zk91bWxjN2xVWWJTUWNaRmt1dFJHN2c2SktaS3kwUm1kTFk2ODBDRG5FSitVTWtwRkZlMVJON254ZFZwWHJDNGFUdG5hdXJPblllcmNaZzJZVm1MTi9kL2djemZFaW1yRS9mcy9iT3VxMjlabW44dGxvT1JhWGdaZ0dhNzh5TzkvY25YbTJCcGFHdnEyNUR2OVM0RTkrNVNJYzlQcXVwSktoWUZTU2w0NytRY3IxbVlOQUFBQWVOcHR3MGNLd2tBQUFNRFpKQThRN09VSnZrTHNQZlo2ekZWRVJQeThxSGgyWUVSKzNpL0JQODN2SUJMTHlTc29LaW1ycUtxcGEyaHA2K2pxNlJzWUdobWJtSnFaU3kwc3JheHRiTzNzSFJ5ZG5FTVU0dVI2eXg3SkpYdmVQN1dyRHljQUFBQUFBQUgvL3dBQ2VOcGpZR1JnWU9BQlloa2daZ0pDWmdaTkJrWUdMUVp0SUpzRkxNWUFBQXczQUxnQWVOb2xpekVLZ0RBUUJDY2hSYkMyc0ZFUjBZRDZxVlFpQkN2L0g5ZXpHSTZaNVhCQXc4Q0JLL201aVFRVmF1VmJYTG5Pck1adjJvTGRLRmE4UGp1cnUyaEp6R2FibU9TTHpOTXp2dXRwQjNONDJtTmdaR0JnNEdLUVl6QmhZTXhKTE1sajRHQmdBWW93L1AvUEFKSmhMTTZzU29XS2ZXQ0FBd0RBamdiUkFBQjQybU5nWUdCa0FJSWJDWm81SVBybVVuMGhHQTBBTzhFRlRRQUEnKTtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWx9OnJvb3R7LS1zd2lwZXItdGhlbWUtY29sb3I6IzAwN2FmZn0uc3dpcGVye21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2xpc3Qtc3R5bGU6bm9uZTtwYWRkaW5nOjA7ei1pbmRleDoxfS5zd2lwZXItdmVydGljYWw+LnN3aXBlci13cmFwcGVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uc3dpcGVyLXdyYXBwZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjE7ZGlzcGxheTpmbGV4O3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO2JveC1zaXppbmc6Y29udGVudC1ib3h9LnN3aXBlci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsLnN3aXBlci13cmFwcGVye3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwcHgsMCwwKX0uc3dpcGVyLXBvaW50ZXItZXZlbnRze3RvdWNoLWFjdGlvbjpwYW4teX0uc3dpcGVyLXBvaW50ZXItZXZlbnRzLnN3aXBlci12ZXJ0aWNhbHt0b3VjaC1hY3Rpb246cGFuLXh9LnN3aXBlci1zbGlkZXtmbGV4LXNocmluazowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm19LnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmt7dmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci1hdXRvaGVpZ2h0LC5zd2lwZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRle2hlaWdodDphdXRvfS5zd2lwZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxoZWlnaHR9LnN3aXBlci1iYWNrZmFjZS1oaWRkZW4gLnN3aXBlci1zbGlkZXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufS5zd2lwZXItM2QsLnN3aXBlci0zZC5zd2lwZXItY3NzLW1vZGUgLnN3aXBlci13cmFwcGVye3BlcnNwZWN0aXZlOjEyMDBweH0uc3dpcGVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3csLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3csLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsLnN3aXBlci0zZCAuc3dpcGVyLXdyYXBwZXJ7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkfS5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3csLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjEwfS5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3d7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xNSl9LnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0e2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGxlZnQscmdiYSgwLDAsMCwuNSkscmdiYSgwLDAsMCwwKSl9LnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodHtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCxyZ2JhKDAsMCwwLC41KSxyZ2JhKDAsMCwwLDApKX0uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcHtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byB0b3AscmdiYSgwLDAsMCwuNSkscmdiYSgwLDAsMCwwKSl9LnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b217YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHJnYmEoMCwwLDAsLjUpLHJnYmEoMCwwLDAsMCkpfS5zd2lwZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVye292ZXJmbG93OmF1dG87c2Nyb2xsYmFyLXdpZHRoOm5vbmU7LW1zLW92ZXJmbG93LXN0eWxlOm5vbmV9LnN3aXBlci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0uc3dpcGVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcj4uc3dpcGVyLXNsaWRle3Njcm9sbC1zbmFwLWFsaWduOnN0YXJ0IHN0YXJ0fS5zd2lwZXItaG9yaXpvbnRhbC5zd2lwZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVye3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnl9LnN3aXBlci12ZXJ0aWNhbC5zd2lwZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVye3Njcm9sbC1zbmFwLXR5cGU6eSBtYW5kYXRvcnl9LnN3aXBlci1jZW50ZXJlZD4uc3dpcGVyLXdyYXBwZXI6OmJlZm9yZXtjb250ZW50OicnO2ZsZXgtc2hyaW5rOjA7b3JkZXI6OTk5OX0uc3dpcGVyLWNlbnRlcmVkLnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItd3JhcHBlcj4uc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxke21hcmdpbi1pbmxpbmUtc3RhcnQ6dmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1iZWZvcmUpfS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci13cmFwcGVyOjpiZWZvcmV7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDoxcHg7d2lkdGg6dmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlcil9LnN3aXBlci1jZW50ZXJlZC5zd2lwZXItdmVydGljYWw+LnN3aXBlci13cmFwcGVyPi5zd2lwZXItc2xpZGU6Zmlyc3QtY2hpbGR7bWFyZ2luLWJsb2NrLXN0YXJ0OnZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlKX0uc3dpcGVyLWNlbnRlcmVkLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXdyYXBwZXI6OmJlZm9yZXt3aWR0aDoxMDAlO21pbi13aWR0aDoxcHg7aGVpZ2h0OnZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYWZ0ZXIpfS5zd2lwZXItY2VudGVyZWQ+LnN3aXBlci13cmFwcGVyPi5zd2lwZXItc2xpZGV7c2Nyb2xsLXNuYXAtYWxpZ246Y2VudGVyIGNlbnRlcn0uc3dpcGVyLXZpcnR1YWwgLnN3aXBlci1zbGlkZXstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5zd2lwZXItdmlydHVhbC5zd2lwZXItY3NzLW1vZGUgLnN3aXBlci13cmFwcGVyOjphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItdmlydHVhbC5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWhvcml6b250YWwgLnN3aXBlci13cmFwcGVyOjphZnRlcntoZWlnaHQ6MXB4O3dpZHRoOnZhcigtLXN3aXBlci12aXJ0dWFsLXNpemUpfS5zd2lwZXItdmlydHVhbC5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLXZlcnRpY2FsIC5zd2lwZXItd3JhcHBlcjo6YWZ0ZXJ7d2lkdGg6MXB4O2hlaWdodDp2YXIoLS1zd2lwZXItdmlydHVhbC1zaXplKX06cm9vdHstLXN3aXBlci1uYXZpZ2F0aW9uLXNpemU6NDRweH0uc3dpcGVyLWJ1dHRvbi1uZXh0LC5zd2lwZXItYnV0dG9uLXByZXZ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt3aWR0aDpjYWxjKHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpLyA0NCAqIDI3KTtoZWlnaHQ6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7bWFyZ2luLXRvcDpjYWxjKDBweCAtICh2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKS8gMikpO3otaW5kZXg6MTA7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yLHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpfS5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCwuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWR7b3BhY2l0eTouMzU7Y3Vyc29yOmF1dG87cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24taGlkZGVuLC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1oaWRkZW57b3BhY2l0eTowO2N1cnNvcjphdXRvO3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1uYXZpZ2F0aW9uLWRpc2FibGVkIC5zd2lwZXItYnV0dG9uLW5leHQsLnN3aXBlci1uYXZpZ2F0aW9uLWRpc2FibGVkIC5zd2lwZXItYnV0dG9uLXByZXZ7ZGlzcGxheTpub25lIWltcG9ydGFudH0uc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyLC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXJ7Zm9udC1mYW1pbHk6c3dpcGVyLWljb25zO2ZvbnQtc2l6ZTp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTt0ZXh0LXRyYW5zZm9ybTpub25lIWltcG9ydGFudDtsZXR0ZXItc3BhY2luZzowO2ZvbnQtdmFyaWFudDppbml0aWFsO2xpbmUtaGVpZ2h0OjF9LnN3aXBlci1idXR0b24tcHJldiwuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0e2xlZnQ6MTBweDtyaWdodDphdXRvfS5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dDphZnRlcntjb250ZW50OidwcmV2J30uc3dpcGVyLWJ1dHRvbi1uZXh0LC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXZ7cmlnaHQ6MTBweDtsZWZ0OmF1dG99LnN3aXBlci1idXR0b24tbmV4dDphZnRlciwuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVye2NvbnRlbnQ6J25leHQnfS5zd2lwZXItYnV0dG9uLWxvY2t7ZGlzcGxheTpub25lfS5zd2lwZXItcGFnaW5hdGlvbntwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0cmFuc2l0aW9uOi4zcyBvcGFjaXR5O3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7ei1pbmRleDoxMH0uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVue29wYWNpdHk6MH0uc3dpcGVyLXBhZ2luYXRpb24tZGlzYWJsZWQ+LnN3aXBlci1wYWdpbmF0aW9uLC5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1kaXNhYmxlZHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cywuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLC5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9ue2JvdHRvbToxMHB4O2xlZnQ6MDt3aWR0aDoxMDAlfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWN7b3ZlcmZsb3c6aGlkZGVuO2ZvbnQtc2l6ZTowfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHt0cmFuc2Zvcm06c2NhbGUoLjMzKTtwb3NpdGlvbjpyZWxhdGl2ZX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZle3RyYW5zZm9ybTpzY2FsZSgxKX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW1haW57dHJhbnNmb3JtOnNjYWxlKDEpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldnt0cmFuc2Zvcm06c2NhbGUoLjY2KX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYtcHJldnt0cmFuc2Zvcm06c2NhbGUoLjMzKX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHR7dHJhbnNmb3JtOnNjYWxlKC42Nil9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0LW5leHR7dHJhbnNmb3JtOnNjYWxlKC4zMyl9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHt3aWR0aDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtd2lkdGgsdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXNpemUsOHB4KSk7aGVpZ2h0OnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1oZWlnaHQsdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXNpemUsOHB4KSk7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtY29sb3IsIzAwMCk7b3BhY2l0eTp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtb3BhY2l0eSwgLjIpfWJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7Ym9yZGVyOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO2JveC1zaGFkb3c6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9LnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2N1cnNvcjpwb2ludGVyfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQ6b25seS1jaGlsZHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZle29wYWNpdHk6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LW9wYWNpdHksIDEpO2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSl9LnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0c3tyaWdodDoxMHB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDBweCwtNTAlLDApfS5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e21hcmdpbjp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtdmVydGljYWwtZ2FwLDZweCkgMDtkaXNwbGF5OmJsb2NrfS5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYywuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY3t0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjhweH0uc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCwuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RyYW5zaXRpb246LjJzIHRyYW5zZm9ybSwuMnMgdG9wfS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LC5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHttYXJnaW46MCB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaG9yaXpvbnRhbC1nYXAsNHB4KX0uc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljLC5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWlje2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3doaXRlLXNwYWNlOm5vd3JhcH0uc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQsLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHt0cmFuc2l0aW9uOi4ycyB0cmFuc2Zvcm0sLjJzIGxlZnR9LnN3aXBlci1ob3Jpem9udGFsLnN3aXBlci1ydGw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3RyYW5zaXRpb246LjJzIHRyYW5zZm9ybSwuMnMgcmlnaHR9LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMjUpO3Bvc2l0aW9uOmFic29sdXRlfS5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbHtiYWNrZ3JvdW5kOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgdG9wfS5zd2lwZXItcnRsIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbHt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IHRvcH0uc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSwuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZXt3aWR0aDoxMDAlO2hlaWdodDo0cHg7bGVmdDowO3RvcDowfS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFye3dpZHRoOjRweDtoZWlnaHQ6MTAwJTtsZWZ0OjA7dG9wOjB9LnN3aXBlci1wYWdpbmF0aW9uLWxvY2t7ZGlzcGxheTpub25lfS5zd2lwZXItc2Nyb2xsYmFye2JvcmRlci1yYWRpdXM6MTBweDtwb3NpdGlvbjpyZWxhdGl2ZTstbXMtdG91Y2gtYWN0aW9uOm5vbmU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xKX0uc3dpcGVyLXNjcm9sbGJhci1kaXNhYmxlZD4uc3dpcGVyLXNjcm9sbGJhciwuc3dpcGVyLXNjcm9sbGJhci5zd2lwZXItc2Nyb2xsYmFyLWRpc2FibGVke2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItc2Nyb2xsYmFyLC5zd2lwZXItc2Nyb2xsYmFyLnN3aXBlci1zY3JvbGxiYXItaG9yaXpvbnRhbHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjElO2JvdHRvbTozcHg7ei1pbmRleDo1MDtoZWlnaHQ6NXB4O3dpZHRoOjk4JX0uc3dpcGVyLXNjcm9sbGJhci5zd2lwZXItc2Nyb2xsYmFyLXZlcnRpY2FsLC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1zY3JvbGxiYXJ7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6M3B4O3RvcDoxJTt6LWluZGV4OjUwO3dpZHRoOjVweDtoZWlnaHQ6OTglfS5zd2lwZXItc2Nyb2xsYmFyLWRyYWd7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjUpO2JvcmRlci1yYWRpdXM6MTBweDtsZWZ0OjA7dG9wOjB9LnN3aXBlci1zY3JvbGxiYXItY3Vyc29yLWRyYWd7Y3Vyc29yOm1vdmV9LnN3aXBlci1zY3JvbGxiYXItbG9ja3tkaXNwbGF5Om5vbmV9LnN3aXBlci16b29tLWNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcn0uc3dpcGVyLXpvb20tY29udGFpbmVyPmNhbnZhcywuc3dpcGVyLXpvb20tY29udGFpbmVyPmltZywuc3dpcGVyLXpvb20tY29udGFpbmVyPnN2Z3ttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb250YWlufS5zd2lwZXItc2xpZGUtem9vbWVke2N1cnNvcjptb3ZlfS5zd2lwZXItbGF6eS1wcmVsb2FkZXJ7d2lkdGg6NDJweDtoZWlnaHQ6NDJweDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO21hcmdpbi1sZWZ0Oi0yMXB4O21hcmdpbi10b3A6LTIxcHg7ei1pbmRleDoxMDt0cmFuc2Zvcm0tb3JpZ2luOjUwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOjRweCBzb2xpZCB2YXIoLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yLHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlci10b3AtY29sb3I6dHJhbnNwYXJlbnR9LnN3aXBlci13YXRjaC1wcm9ncmVzcyAuc3dpcGVyLXNsaWRlLXZpc2libGUgLnN3aXBlci1sYXp5LXByZWxvYWRlciwuc3dpcGVyOm5vdCguc3dpcGVyLXdhdGNoLXByb2dyZXNzKSAuc3dpcGVyLWxhenktcHJlbG9hZGVye2FuaW1hdGlvbjpzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgaW5maW5pdGUgbGluZWFyfS5zd2lwZXItbGF6eS1wcmVsb2FkZXItd2hpdGV7LS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiNmZmZ9LnN3aXBlci1sYXp5LXByZWxvYWRlci1ibGFja3stLXN3aXBlci1wcmVsb2FkZXItY29sb3I6IzAwMH1Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbnswJXt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX0uc3dpcGVyIC5zd2lwZXItbm90aWZpY2F0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt6LWluZGV4Oi0xMDAwfS5zd2lwZXItZnJlZS1tb2RlPi5zd2lwZXItd3JhcHBlcnt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDttYXJnaW46MCBhdXRvfS5zd2lwZXItZ3JpZD4uc3dpcGVyLXdyYXBwZXJ7ZmxleC13cmFwOndyYXB9LnN3aXBlci1ncmlkLWNvbHVtbj4uc3dpcGVyLXdyYXBwZXJ7ZmxleC13cmFwOndyYXA7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5zd2lwZXItZmFkZS5zd2lwZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGV7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9LnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHl9LnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwuc3dpcGVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30uc3dpcGVyLWN1YmV7b3ZlcmZsb3c6dmlzaWJsZX0uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47ei1pbmRleDoxO3Zpc2liaWxpdHk6aGlkZGVuO3RyYW5zZm9ybS1vcmlnaW46MCAwO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItY3ViZS5zd2lwZXItcnRsIC5zd2lwZXItc2xpZGV7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDB9LnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZXtwb2ludGVyLWV2ZW50czphdXRvfS5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQrLnN3aXBlci1zbGlkZSwuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1wcmV2e3BvaW50ZXItZXZlbnRzOmF1dG87dmlzaWJpbGl0eTp2aXNpYmxlfS5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7ei1pbmRleDowOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3d7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowcHg7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvcGFjaXR5Oi42O3otaW5kZXg6MH0uc3dpcGVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdzpiZWZvcmV7Y29udGVudDonJztiYWNrZ3JvdW5kOiMwMDA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2JvdHRvbTowO3JpZ2h0OjA7ZmlsdGVyOmJsdXIoNTBweCl9LnN3aXBlci1mbGlwe292ZXJmbG93OnZpc2libGV9LnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO3otaW5kZXg6MX0uc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZXtwb2ludGVyLWV2ZW50czphdXRvfS5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LC5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7ei1pbmRleDowOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci1jcmVhdGl2ZSAuc3dpcGVyLXNsaWRley13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHksaGVpZ2h0fS5zd2lwZXItY2FyZHN7b3ZlcmZsb3c6dmlzaWJsZX0uc3dpcGVyLWNhcmRzIC5zd2lwZXItc2xpZGV7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgYm90dG9tOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47b3ZlcmZsb3c6aGlkZGVufQ=="}},"time_used":284,"timings":{"blocked":-1,"dns":0,"connect":91,"send":0,"wait":93,"receive":0,"ssl":100},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.0.3","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.904Z","timestamp":1785141582904,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.0.3 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:57:40 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 3502\r\nKeep-Alive: timeout=5, max=95\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":12512,"size_decoded":3867,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (12512), with no line terminators","md5":"2e187162915b1d22fd4558fee30f5613","sha1":"3c76d4209fdbcbd3650655852ad4ed73846e15ff","sha256":"6d60e3b25e56d35148888b5a08c8eb0ff3806f9698d4f6f54a35eab7d27f4c2f","sha512":"01948a902de67801566637ec99d82302a8da9b80a31de08fb1f2c0d52aea3beafa804188471320410850f0e96f4ba4c34f6cac6ebb6081359f2e959a2c6027c5","ssdeep":"384:wwuf8OQL0sARrAZcNWL//+Ffm/hibLexa2VautyX2fsL3ZHO1O9H:wwuf8OQL0sAZAGNWrGcibLexa2Vau0XD","tlshash":"484235e16197e0f0cbc338a48816c051f2bf866cb9898054fb5dcdd22d5de07626b77a","first_seen":"2024-11-04T17:50:00.017227Z","last_seen":"2026-07-27T12:12:28.839573Z","times_seen":16981,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO3ZhciB0PXtkOihlLGkpPT57Zm9yKHZhciBzIGluIGkpdC5vKGkscykmJiF0Lm8oZSxzKSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscyx7ZW51bWVyYWJsZTohMCxnZXQ6aVtzXX0pfSxvOih0LGUpPT5PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxlKSxyOnQ9PnsidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLnRvU3RyaW5nVGFnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOiJNb2R1bGUifSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfX0sZT17fTtmdW5jdGlvbiBpKHQpe2lmKHRoaXMuZm9ybURhdGE9e30sdGhpcy50cmVlPXt9LCEodCBpbnN0YW5jZW9mIEZvcm1EYXRhKSlyZXR1cm4gdGhpczt0aGlzLmZvcm1EYXRhPXQ7Y29uc3QgZT0oKT0+e2NvbnN0IHQ9bmV3IE1hcDtyZXR1cm4gdC5sYXJnZXN0SW5kZXg9MCx0LnNldD1mdW5jdGlvbihlLGkpeyIiPT09ZT9lPXQubGFyZ2VzdEluZGV4Kys6L15bMC05XSskLy50ZXN0KGUpJiYoZT1wYXJzZUludChlKSx0Lmxhcmdlc3RJbmRleDw9ZSYmKHQubGFyZ2VzdEluZGV4PWUrMSkpLE1hcC5wcm90b3R5cGUuc2V0LmNhbGwodCxlLGkpfSx0fTt0aGlzLnRyZWU9ZSgpO2NvbnN0IGk9L14oPzxuYW1lPlthLXpdWy1hLXowLTlfOl0qKSg/PGFycmF5Pig/OlxbKD86W2Etel1bLWEtejAtOV86XSp8WzAtOV0qKVxdKSopL2k7Zm9yKGNvbnN0W3Qsc11vZiB0aGlzLmZvcm1EYXRhKXtjb25zdCBvPXQubWF0Y2goaSk7aWYobylpZigiIj09PW8uZ3JvdXBzLmFycmF5KXRoaXMudHJlZS5zZXQoby5ncm91cHMubmFtZSxzKTtlbHNle2NvbnN0IHQ9Wy4uLm8uZ3JvdXBzLmFycmF5Lm1hdGNoQWxsKC9cWyhbYS16XVstYS16MC05XzpdKnxbMC05XSopXF0vZ2kpXS5tYXAoKChbdCxlXSk9PmUpKTt0LnVuc2hpZnQoby5ncm91cHMubmFtZSk7Y29uc3QgaT10LnBvcCgpO3QucmVkdWNlKCgodCxpKT0+e2lmKC9eWzAtOV0rJC8udGVzdChpKSYmKGk9cGFyc2VJbnQoaSkpLHQuZ2V0KGkpaW5zdGFuY2VvZiBNYXApcmV0dXJuIHQuZ2V0KGkpO2NvbnN0IHM9ZSgpO3JldHVybiB0LnNldChpLHMpLHN9KSx0aGlzLnRyZWUpLnNldChpLHMpfX19dC5yKGUpLHQuZChlLHthbGw6KCk9PkQsYW55OigpPT5NLGRhdGU6KCk9Pm0sZGF5b2Z3ZWVrOigpPT51LGVtYWlsOigpPT5yLGVudW06KCk9PmgsZmlsZTooKT0+ZCxtYXhkYXRlOigpPT56LG1heGZpbGVzaXplOigpPT5qLG1heGl0ZW1zOigpPT52LG1heGxlbmd0aDooKT0+eCxtYXhudW1iZXI6KCk9PnksbWluZGF0ZTooKT0+QSxtaW5maWxlc2l6ZTooKT0+JCxtaW5pdGVtczooKT0+dyxtaW5sZW5ndGg6KCk9PmcsbWlubnVtYmVyOigpPT5iLG51bWJlcjooKT0+YyxyZXF1aXJlZDooKT0+bixyZXF1aXJlZGZpbGU6KCk9PmEsc3RlcG51bWJlcjooKT0+SSx0ZWw6KCk9PmwsdGltZTooKT0+Zix1cmw6KCk9PnB9KSxpLnByb3RvdHlwZS5lbnRyaWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudHJlZS5lbnRyaWVzKCl9LGkucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50cmVlLmdldCh0KX0saS5wcm90b3R5cGUuZ2V0QWxsPWZ1bmN0aW9uKHQpe2lmKCF0aGlzLmhhcyh0KSlyZXR1cm5bXTtjb25zdCBlPXQ9Pntjb25zdCBpPVtdO2lmKHQgaW5zdGFuY2VvZiBNYXApZm9yKGNvbnN0W3Msb11vZiB0KWkucHVzaCguLi5lKG8pKTtlbHNlIiIhPT10JiZpLnB1c2godCk7cmV0dXJuIGl9O3JldHVybiBlKHRoaXMuZ2V0KHQpKX0saS5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRyZWUuaGFzKHQpfSxpLnByb3RvdHlwZS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudHJlZS5rZXlzKCl9LGkucHJvdG90eXBlLnZhbHVlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRyZWUudmFsdWVzKCl9O2NvbnN0IHM9aTtmdW5jdGlvbiBvKHtydWxlOnQsZmllbGQ6ZSxlcnJvcjppLC4uLnN9KXt0aGlzLnJ1bGU9dCx0aGlzLmZpZWxkPWUsdGhpcy5lcnJvcj1pLHRoaXMucHJvcGVydGllcz1zfWNvbnN0IG49ZnVuY3Rpb24odCl7aWYoMD09PXQuZ2V0QWxsKHRoaXMuZmllbGQpLm1hcCgodD0+dC50cmltKCkpKS5maWx0ZXIoKHQ9PiIiIT09dCkpLmxlbmd0aCl0aHJvdyBuZXcgbyh0aGlzKX0sYT1mdW5jdGlvbih0KXtpZigwPT09dC5nZXRBbGwodGhpcy5maWVsZCkubGVuZ3RoKXRocm93IG5ldyBvKHRoaXMpfSxyPWZ1bmN0aW9uKHQpe2lmKCF0LmdldEFsbCh0aGlzLmZpZWxkKS5tYXAoKHQ9PnQudHJpbSgpKSkuZmlsdGVyKCh0PT4iIiE9PXQpKS5ldmVyeSgodD0+e2lmKHQubGVuZ3RoPDYpcmV0dXJuITE7aWYoLTE9PT10LmluZGV4T2YoIkAiLDEpKXJldHVybiExO2lmKHQuaW5kZXhPZigiQCIpIT09dC5sYXN0SW5kZXhPZigiQCIpKXJldHVybiExO2NvbnN0W2UsaV09dC5zcGxpdCgiQCIsMik7aWYoIS9eW2EtekEtWjAtOSEjJCUmXCcqK1wvPT9eX2B7fH1+XC4tXSskLy50ZXN0KGUpKXJldHVybiExO2lmKC9cLnsyLH0vLnRlc3QoaSkpcmV0dXJuITE7aWYoLyg/Ol5bIFx0XG5cclwwXHgwQi5dfFsgXHRcblxyXDBceDBCLl0kKS8udGVzdChpKSlyZXR1cm4hMTtjb25zdCBzPWkuc3BsaXQoIi4iKTtpZihzLmxlbmd0aDwyKXJldHVybiExO2Zvcihjb25zdCB0IG9mIHMpe2lmKC8oPzpeWyBcdFxuXHJcMFx4MEItXXxbIFx0XG5cclwwXHgwQi1dJCkvLnRlc3QodCkpcmV0dXJuITE7aWYoIS9eW2EtejAtOS1dKyQvaS50ZXN0KHQpKXJldHVybiExfXJldHVybiEwfSkpKXRocm93IG5ldyBvKHRoaXMpfSxwPWZ1bmN0aW9uKHQpe2NvbnN0IGU9dC5nZXRBbGwodGhpcy5maWVsZCkubWFwKCh0PT50LnRyaW0oKSkpLmZpbHRlcigodD0+IiIhPT10KSk7aWYoIWUuZXZlcnkoKHQ9Pnt0cnl7cmV0dXJuKHQ9Pi0xIT09WyJodHRwIiwiaHR0cHMiLCJmdHAiLCJmdHBzIiwibWFpbHRvIiwibmV3cyIsImlyYyIsImlyYzYiLCJpcmNzIiwiZ29waGVyIiwibm50cCIsImZlZWQiLCJ0ZWxuZXQiLCJtbXMiLCJydHNwIiwic21zIiwic3ZuIiwidGVsIiwiZmF4IiwieG1wcCIsIndlYmNhbCIsInVybiJdLmluZGV4T2YodCkpKG5ldyBVUkwodCkucHJvdG9jb2wucmVwbGFjZSgvOiQvLCIiKSl9Y2F0Y2h7cmV0dXJuITF9fSkpKXRocm93IG5ldyBvKHRoaXMpfSxsPWZ1bmN0aW9uKHQpe2lmKCF0LmdldEFsbCh0aGlzLmZpZWxkKS5tYXAoKHQ9PnQudHJpbSgpKSkuZmlsdGVyKCh0PT4iIiE9PXQpKS5ldmVyeSgodD0+KCgodD0odD10LnJlcGxhY2UoL1sjKl0uKiQvLCIiKSkucmVwbGFjZUFsbCgvWygpLy4qI1xzLV0rL2csIiIpKS5zdGFydHNXaXRoKCIrIil8fHQuc3RhcnRzV2l0aCgiMDAiKSkmJih0PWArJHt0LnJlcGxhY2UoL15bKzBdKy8sIiIpfWApLCEhL15bK10/WzAtOV0rJC8udGVzdCh0KSYmNjx0Lmxlbmd0aCYmdC5sZW5ndGg8MTYpKSkpdGhyb3cgbmV3IG8odGhpcyl9LGM9ZnVuY3Rpb24odCl7aWYoIXQuZ2V0QWxsKHRoaXMuZmllbGQpLm1hcCgodD0+dC50cmltKCkpKS5maWx0ZXIoKHQ9PiIiIT09dCkpLmV2ZXJ5KCh0PT4hIS9eWy1dP1swLTldKyg/OltlRV1bKy1dP1swLTldKyk/JC8udGVzdCh0KXx8ISEvXlstXT8oPzpbMC05XSspP1suXVswLTldKyg/OltlRV1bKy1dP1swLTldKyk/JC8udGVzdCh0KSkpKXRocm93IG5ldyBvKHRoaXMpfSxtPWZ1bmN0aW9uKHQpe2lmKCF0LmdldEFsbCh0aGlzLmZpZWxkKS5tYXAoKHQ9PnQudHJpbSgpKSkuZmlsdGVyKCh0PT4iIiE9PXQpKS5ldmVyeSgodD0+e2lmKCEvXlswLTldezQsfS1bMC05XXsyfS1bMC05XXsyfSQvLnRlc3QodCkpcmV0dXJuITE7Y29uc3QgZT1uZXcgRGF0ZSh0KTtyZXR1cm4hTnVtYmVyLmlzTmFOKGUudmFsdWVPZigpKX0pKSl0aHJvdyBuZXcgbyh0aGlzKX0sZj1mdW5jdGlvbih0KXtpZighdC5nZXRBbGwodGhpcy5maWVsZCkubWFwKCh0PT50LnRyaW0oKSkpLmZpbHRlcigodD0+IiIhPT10KSkuZXZlcnkoKHQ9Pntjb25zdCBlPXQubWF0Y2goL14oWzAtOV17Mn0pXDooWzAtOV17Mn0pKD86XDooWzAtOV17Mn0pKT8kLyk7aWYoIWUpcmV0dXJuITE7Y29uc3QgaT1wYXJzZUludChlWzFdKSxzPXBhcnNlSW50KGVbMl0pLG89ZVszXT9wYXJzZUludChlWzNdKTowO3JldHVybiAwPD1pJiZpPD0yMyYmMDw9cyYmczw9NTkmJjA8PW8mJm88PTU5fSkpKXRocm93IG5ldyBvKHRoaXMpfSxkPWZ1bmN0aW9uKHQpe2lmKCF0LmdldEFsbCh0aGlzLmZpZWxkKS5ldmVyeSgodD0+dCBpbnN0YW5jZW9mIEZpbGUmJnRoaXMuYWNjZXB0Py5zb21lKChlPT4vXlwuW2EtejAtOV0rJC9pLnRlc3QoZSk/dC5uYW1lLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoZS50b0xvd2VyQ2FzZSgpKToodD0+e2NvbnN0IGU9W10saT10Lm1hdGNoKC9eKD88dG9wbGV2ZWw+W2Etel0rKVwvKD88c3ViPlsqXXxbYS16MC05ListXSspJC9pKTtpZihpKXtjb25zdCB0PWkuZ3JvdXBzLnRvcGxldmVsLnRvTG93ZXJDYXNlKCkscz1pLmdyb3Vwcy5zdWIudG9Mb3dlckNhc2UoKTtmb3IoY29uc3RbbyxuXW9mKCgpPT57Y29uc3QgdD1uZXcgTWFwO3JldHVybiB0LnNldCgianBnfGpwZWd8anBlIiwiaW1hZ2UvanBlZyIpLHQuc2V0KCJnaWYiLCJpbWFnZS9naWYiKSx0LnNldCgicG5nIiwiaW1hZ2UvcG5nIiksdC5zZXQoImJtcCIsImltYWdlL2JtcCIpLHQuc2V0KCJ0aWZmfHRpZiIsImltYWdlL3RpZmYiKSx0LnNldCgid2VicCIsImltYWdlL3dlYnAiKSx0LnNldCgiaWNvIiwiaW1hZ2UveC1pY29uIiksdC5zZXQoImhlaWMiLCJpbWFnZS9oZWljIiksdC5zZXQoImFzZnxhc3giLCJ2aWRlby94LW1zLWFzZiIpLHQuc2V0KCJ3bXYiLCJ2aWRlby94LW1zLXdtdiIpLHQuc2V0KCJ3bXgiLCJ2aWRlby94LW1zLXdteCIpLHQuc2V0KCJ3bSIsInZpZGVvL3gtbXMtd20iKSx0LnNldCgiYXZpIiwidmlkZW8vYXZpIiksdC5zZXQoImRpdngiLCJ2aWRlby9kaXZ4IiksdC5zZXQoImZsdiIsInZpZGVvL3gtZmx2IiksdC5zZXQoIm1vdnxxdCIsInZpZGVvL3F1aWNrdGltZSIpLHQuc2V0KCJtcGVnfG1wZ3xtcGUiLCJ2aWRlby9tcGVnIiksdC5zZXQoIm1wNHxtNHYiLCJ2aWRlby9tcDQiKSx0LnNldCgib2d2IiwidmlkZW8vb2dnIiksdC5zZXQoIndlYm0iLCJ2aWRlby93ZWJtIiksdC5zZXQoIm1rdiIsInZpZGVvL3gtbWF0cm9za2EiKSx0LnNldCgiM2dwfDNncHAiLCJ2aWRlby8zZ3BwIiksdC5zZXQoIjNnMnwzZ3AyIiwidmlkZW8vM2dwcDIiKSx0LnNldCgidHh0fGFzY3xjfGNjfGh8c3J0IiwidGV4dC9wbGFpbiIpLHQuc2V0KCJjc3YiLCJ0ZXh0L2NzdiIpLHQuc2V0KCJ0c3YiLCJ0ZXh0L3RhYi1zZXBhcmF0ZWQtdmFsdWVzIiksdC5zZXQoImljcyIsInRleHQvY2FsZW5kYXIiKSx0LnNldCgicnR4IiwidGV4dC9yaWNodGV4dCIpLHQuc2V0KCJjc3MiLCJ0ZXh0L2NzcyIpLHQuc2V0KCJodG18aHRtbCIsInRleHQvaHRtbCIpLHQuc2V0KCJ2dHQiLCJ0ZXh0L3Z0dCIpLHQuc2V0KCJkZnhwIiwiYXBwbGljYXRpb24vdHRhZit4bWwiKSx0LnNldCgibXAzfG00YXxtNGIiLCJhdWRpby9tcGVnIiksdC5zZXQoImFhYyIsImF1ZGlvL2FhYyIpLHQuc2V0KCJyYXxyYW0iLCJhdWRpby94LXJlYWxhdWRpbyIpLHQuc2V0KCJ3YXYiLCJhdWRpby93YXYiKSx0LnNldCgib2dnfG9nYSIsImF1ZGlvL29nZyIpLHQuc2V0KCJmbGFjIiwiYXVkaW8vZmxhYyIpLHQuc2V0KCJtaWR8bWlkaSIsImF1ZGlvL21pZGkiKSx0LnNldCgid21hIiwiYXVkaW8veC1tcy13bWEiKSx0LnNldCgid2F4IiwiYXVkaW8veC1tcy13YXgiKSx0LnNldCgibWthIiwiYXVkaW8veC1tYXRyb3NrYSIpLHQuc2V0KCJydGYiLCJhcHBsaWNhdGlvbi9ydGYiKSx0LnNldCgianMiLCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0IiksdC5zZXQoInBkZiIsImFwcGxpY2F0aW9uL3BkZiIpLHQuc2V0KCJzd2YiLCJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCIpLHQuc2V0KCJjbGFzcyIsImFwcGxpY2F0aW9uL2phdmEiKSx0LnNldCgidGFyIiwiYXBwbGljYXRpb24veC10YXIiKSx0LnNldCgiemlwIiwiYXBwbGljYXRpb24vemlwIiksdC5zZXQoImd6fGd6aXAiLCJhcHBsaWNhdGlvbi94LWd6aXAiKSx0LnNldCgicmFyIiwiYXBwbGljYXRpb24vcmFyIiksdC5zZXQoIjd6IiwiYXBwbGljYXRpb24veC03ei1jb21wcmVzc2VkIiksdC5zZXQoImV4ZSIsImFwcGxpY2F0aW9uL3gtbXNkb3dubG9hZCIpLHQuc2V0KCJwc2QiLCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iKSx0LnNldCgieGNmIiwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiksdC5zZXQoImRvYyIsImFwcGxpY2F0aW9uL21zd29yZCIpLHQuc2V0KCJwb3R8cHBzfHBwdCIsImFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50IiksdC5zZXQoIndyaSIsImFwcGxpY2F0aW9uL3ZuZC5tcy13cml0ZSIpLHQuc2V0KCJ4bGF8eGxzfHhsdHx4bHciLCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwiKSx0LnNldCgibWRiIiwiYXBwbGljYXRpb24vdm5kLm1zLWFjY2VzcyIpLHQuc2V0KCJtcHAiLCJhcHBsaWNhdGlvbi92bmQubXMtcHJvamVjdCIpLHQuc2V0KCJkb2N4IiwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQiKSx0LnNldCgiZG9jbSIsImFwcGxpY2F0aW9uL3ZuZC5tcy13b3JkLmRvY3VtZW50Lm1hY3JvRW5hYmxlZC4xMiIpLHQuc2V0KCJkb3R4IiwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwudGVtcGxhdGUiKSx0LnNldCgiZG90bSIsImFwcGxpY2F0aW9uL3ZuZC5tcy13b3JkLnRlbXBsYXRlLm1hY3JvRW5hYmxlZC4xMiIpLHQuc2V0KCJ4bHN4IiwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQiKSx0LnNldCgieGxzbSIsImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5zaGVldC5tYWNyb0VuYWJsZWQuMTIiKSx0LnNldCgieGxzYiIsImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5zaGVldC5iaW5hcnkubWFjcm9FbmFibGVkLjEyIiksdC5zZXQoInhsdHgiLCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC50ZW1wbGF0ZSIpLHQuc2V0KCJ4bHRtIiwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLnRlbXBsYXRlLm1hY3JvRW5hYmxlZC4xMiIpLHQuc2V0KCJ4bGFtIiwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLmFkZGluLm1hY3JvRW5hYmxlZC4xMiIpLHQuc2V0KCJwcHR4IiwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnByZXNlbnRhdGlvbiIpLHQuc2V0KCJwcHRtIiwiYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQucHJlc2VudGF0aW9uLm1hY3JvRW5hYmxlZC4xMiIpLHQuc2V0KCJwcHN4IiwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnNsaWRlc2hvdyIpLHQuc2V0KCJwcHNtIiwiYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQuc2xpZGVzaG93Lm1hY3JvRW5hYmxlZC4xMiIpLHQuc2V0KCJwb3R4IiwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnRlbXBsYXRlIiksdC5zZXQoInBvdG0iLCJhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludC50ZW1wbGF0ZS5tYWNyb0VuYWJsZWQuMTIiKSx0LnNldCgicHBhbSIsImFwcGxpY2F0aW9uL3ZuZC5tcy1wb3dlcnBvaW50LmFkZGluLm1hY3JvRW5hYmxlZC4xMiIpLHQuc2V0KCJzbGR4IiwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnNsaWRlIiksdC5zZXQoInNsZG0iLCJhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludC5zbGlkZS5tYWNyb0VuYWJsZWQuMTIiKSx0LnNldCgib25ldG9jfG9uZXRvYzJ8b25ldG1wfG9uZXBrZyIsImFwcGxpY2F0aW9uL29uZW5vdGUiKSx0LnNldCgib3hwcyIsImFwcGxpY2F0aW9uL294cHMiKSx0LnNldCgieHBzIiwiYXBwbGljYXRpb24vdm5kLm1zLXhwc2RvY3VtZW50IiksdC5zZXQoIm9kdCIsImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQudGV4dCIpLHQuc2V0KCJvZHAiLCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnByZXNlbnRhdGlvbiIpLHQuc2V0KCJvZHMiLCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0IiksdC5zZXQoIm9kZyIsImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuZ3JhcGhpY3MiKSx0LnNldCgib2RjIiwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5jaGFydCIpLHQuc2V0KCJvZGIiLCJhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LmRhdGFiYXNlIiksdC5zZXQoIm9kZiIsImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuZm9ybXVsYSIpLHQuc2V0KCJ3cHx3cGQiLCJhcHBsaWNhdGlvbi93b3JkcGVyZmVjdCIpLHQuc2V0KCJrZXkiLCJhcHBsaWNhdGlvbi92bmQuYXBwbGUua2V5bm90ZSIpLHQuc2V0KCJudW1iZXJzIiwiYXBwbGljYXRpb24vdm5kLmFwcGxlLm51bWJlcnMiKSx0LnNldCgicGFnZXMiLCJhcHBsaWNhdGlvbi92bmQuYXBwbGUucGFnZXMiKSx0fSkoKSkoIioiPT09cyYmbi5zdGFydHNXaXRoKHQrIi8iKXx8bj09PWlbMF0pJiZlLnB1c2goLi4uby5zcGxpdCgifCIpKX1yZXR1cm4gZX0pKGUpLnNvbWUoKGU9PihlPSIuIitlLnRyaW0oKSx0Lm5hbWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aChlLnRvTG93ZXJDYXNlKCkpKSkpKSkpKSl0aHJvdyBuZXcgbyh0aGlzKX0saD1mdW5jdGlvbih0KXtpZighdC5nZXRBbGwodGhpcy5maWVsZCkubWFwKCh0PT50LnRyaW0oKSkpLmZpbHRlcigodD0+IiIhPT10KSkuZXZlcnkoKHQ9PnRoaXMuYWNjZXB0Py5zb21lKChlPT50PT09U3RyaW5nKGUpKSkpKSl0aHJvdyBuZXcgbyh0aGlzKX0sdT1mdW5jdGlvbih0KXtpZighdC5nZXRBbGwodGhpcy5maWVsZCkubWFwKCh0PT50LnRyaW0oKSkpLmZpbHRlcigodD0+IiIhPT10KSkuZXZlcnkoKHQ9Pntjb25zdCBlPTA9PT0oaT1uZXcgRGF0ZSh0KS5nZXREYXkoKSk/NzppO3ZhciBpO3JldHVybiB0aGlzLmFjY2VwdD8uc29tZSgodD0+ZT09PXBhcnNlSW50KHQpKSl9KSkpdGhyb3cgbmV3IG8odGhpcyl9LHc9ZnVuY3Rpb24odCl7aWYodC5nZXRBbGwodGhpcy5maWVsZCkubWFwKCh0PT50LnRyaW0oKSkpLmZpbHRlcigodD0+IiIhPT10KSkubGVuZ3RoPHBhcnNlSW50KHRoaXMudGhyZXNob2xkKSl0aHJvdyBuZXcgbyh0aGlzKX0sdj1mdW5jdGlvbih0KXtjb25zdCBlPXQuZ2V0QWxsKHRoaXMuZmllbGQpLm1hcCgodD0+dC50cmltKCkpKS5maWx0ZXIoKHQ9PiIiIT09dCkpO2lmKHBhcnNlSW50KHRoaXMudGhyZXNob2xkKTxlLmxlbmd0aCl0aHJvdyBuZXcgbyh0aGlzKX0sZz1mdW5jdGlvbih0KXtjb25zdCBlPXQuZ2V0QWxsKHRoaXMuZmllbGQpLm1hcCgodD0+dC50cmltKCkpKS5maWx0ZXIoKHQ9PiIiIT09dCkpO2xldCBpPTA7aWYoZS5mb3JFYWNoKCh0PT57InN0cmluZyI9PXR5cGVvZiB0JiYoaSs9dC5sZW5ndGgpfSkpLDAhPT1pJiZpPHBhcnNlSW50KHRoaXMudGhyZXNob2xkKSl0aHJvdyBuZXcgbyh0aGlzKX0seD1mdW5jdGlvbih0KXtjb25zdCBlPXQuZ2V0QWxsKHRoaXMuZmllbGQpLm1hcCgodD0+dC50cmltKCkpKS5maWx0ZXIoKHQ9PiIiIT09dCkpO2xldCBpPTA7aWYoZS5mb3JFYWNoKCh0PT57InN0cmluZyI9PXR5cGVvZiB0JiYoaSs9dC5sZW5ndGgpfSkpLHBhcnNlSW50KHRoaXMudGhyZXNob2xkKTxpKXRocm93IG5ldyBvKHRoaXMpfSxiPWZ1bmN0aW9uKHQpe2lmKCF0LmdldEFsbCh0aGlzLmZpZWxkKS5tYXAoKHQ9PnQudHJpbSgpKSkuZmlsdGVyKCh0PT4iIiE9PXQpKS5ldmVyeSgodD0+IShwYXJzZUZsb2F0KHQpPHBhcnNlRmxvYXQodGhpcy50aHJlc2hvbGQpKSkpKXRocm93IG5ldyBvKHRoaXMpfSx5PWZ1bmN0aW9uKHQpe2lmKCF0LmdldEFsbCh0aGlzLmZpZWxkKS5tYXAoKHQ9PnQudHJpbSgpKSkuZmlsdGVyKCh0PT4iIiE9PXQpKS5ldmVyeSgodD0+IShwYXJzZUZsb2F0KHRoaXMudGhyZXNob2xkKTxwYXJzZUZsb2F0KHQpKSkpKXRocm93IG5ldyBvKHRoaXMpfSxBPWZ1bmN0aW9uKHQpe2lmKCF0LmdldEFsbCh0aGlzLmZpZWxkKS5tYXAoKHQ9PnQudHJpbSgpKSkuZmlsdGVyKCh0PT4iIiE9PXQpKS5ldmVyeSgodD0+ISgvXlswLTldezQsfS1bMC05XXsyfS1bMC05XXsyfSQvLnRlc3QodCkmJi9eWzAtOV17NCx9LVswLTldezJ9LVswLTldezJ9JC8udGVzdCh0aGlzLnRocmVzaG9sZCkmJnQ8dGhpcy50aHJlc2hvbGQpKSkpdGhyb3cgbmV3IG8odGhpcyl9LHo9ZnVuY3Rpb24odCl7aWYoIXQuZ2V0QWxsKHRoaXMuZmllbGQpLm1hcCgodD0+dC50cmltKCkpKS5maWx0ZXIoKHQ9PiIiIT09dCkpLmV2ZXJ5KCh0PT4hKC9eWzAtOV17NCx9LVswLTldezJ9LVswLTldezJ9JC8udGVzdCh0KSYmL15bMC05XXs0LH0tWzAtOV17Mn0tWzAtOV17Mn0kLy50ZXN0KHRoaXMudGhyZXNob2xkKSYmdGhpcy50aHJlc2hvbGQ8dCkpKSl0aHJvdyBuZXcgbyh0aGlzKX0sJD1mdW5jdGlvbih0KXtjb25zdCBlPXQuZ2V0QWxsKHRoaXMuZmllbGQpO2xldCBpPTA7aWYoZS5mb3JFYWNoKCh0PT57dCBpbnN0YW5jZW9mIEZpbGUmJihpKz10LnNpemUpfSkpLGk8cGFyc2VJbnQodGhpcy50aHJlc2hvbGQpKXRocm93IG5ldyBvKHRoaXMpfSxqPWZ1bmN0aW9uKHQpe2NvbnN0IGU9dC5nZXRBbGwodGhpcy5maWVsZCk7bGV0IGk9MDtpZihlLmZvckVhY2goKHQ9Pnt0IGluc3RhbmNlb2YgRmlsZSYmKGkrPXQuc2l6ZSl9KSkscGFyc2VJbnQodGhpcy50aHJlc2hvbGQpPGkpdGhyb3cgbmV3IG8odGhpcyl9LEk9ZnVuY3Rpb24odCl7Y29uc3QgZT10LmdldEFsbCh0aGlzLmZpZWxkKS5tYXAoKHQ9PnQudHJpbSgpKSkuZmlsdGVyKCh0PT4iIiE9PXQpKSxpPXBhcnNlRmxvYXQodGhpcy5iYXNlKSxzPXBhcnNlRmxvYXQodGhpcy5pbnRlcnZhbCk7aWYoISgwPHMpKXJldHVybiEwO2lmKCFlLmV2ZXJ5KCh0PT57Y29uc3QgZT0ocGFyc2VGbG9hdCh0KS1pKSVzO3JldHVybiIwLjAwMDAwMCI9PT1NYXRoLmFicyhlKS50b0ZpeGVkKDYpfHwiMC4wMDAwMDAiPT09TWF0aC5hYnMoZS1zKS50b0ZpeGVkKDYpfSkpKXRocm93IG5ldyBvKHRoaXMpfSxPPSh7cnVsZU9iajp0LG9wdGlvbnM6aX0pPT57Y29uc3R7cnVsZTpzLC4uLm99PXQ7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGVbc10mJigiZnVuY3Rpb24iIT10eXBlb2YgZVtzXS5tYXRjaGVzfHxlW3NdLm1hdGNoZXMobyxpKSl9LEU9KHtydWxlT2JqOnQsZm9ybURhdGFUcmVlOmksb3B0aW9uczpzfSk9Pntjb25zdHtydWxlOm99PXQ7ZVtvXS5jYWxsKHQsaSxzKX0saz1bXSxGPXQ9PlsuLi5rXS5yZWR1Y2UoKCh0LGUpPT5pPT5lKGksdCkpLHQpLEQ9ZnVuY3Rpb24odCxlPXt9KXtjb25zdCBpPSh0aGlzLnJ1bGVzPz9bXSkuZmlsdGVyKCh0PT5PKHtydWxlT2JqOnQsb3B0aW9uczplfSkpKSxzPUYoRSk7aWYoIWkuZXZlcnkoKGk9Pnt0cnl7cyh7cnVsZU9iajppLGZvcm1EYXRhVHJlZTp0LG9wdGlvbnM6ZX0pfWNhdGNoKHQpe2lmKCEodCBpbnN0YW5jZW9mIG8pKXRocm93IHQ7aWYodm9pZCAwIT09dC5lcnJvcil0aHJvdyB0O3JldHVybiExfXJldHVybiEwfSkpKXRocm93IG5ldyBvKHRoaXMpfSxNPWZ1bmN0aW9uKHQsZT17fSl7Y29uc3QgaT0odGhpcy5ydWxlcz8/W10pLmZpbHRlcigodD0+Tyh7cnVsZU9iajp0LG9wdGlvbnM6ZX0pKSkscz1GKEUpO2lmKCFpLnNvbWUoKGk9Pnt0cnl7cyh7cnVsZU9iajppLGZvcm1EYXRhVHJlZTp0LG9wdGlvbnM6ZX0pfWNhdGNoKHQpe2lmKCEodCBpbnN0YW5jZW9mIG8pKXRocm93IHQ7cmV0dXJuITF9cmV0dXJuITB9KSkpdGhyb3cgbmV3IG8odGhpcyl9O3ZhciBMO3dpbmRvdy5zd3Y9e3ZhbGlkYXRvcnM6ZSx2YWxpZGF0ZToodCxlLGk9e30pPT57Y29uc3Qgbj0odC5ydWxlcz8/W10pLmZpbHRlcigodD0+Tyh7cnVsZU9iajp0LG9wdGlvbnM6aX0pKSk7aWYoIW4ubGVuZ3RoKXJldHVybiBuZXcgTWFwO2NvbnN0IGE9RihFKSxyPW5ldyBzKGUpLHA9bi5yZWR1Y2UoKCh0LGUpPT57dHJ5e2Eoe3J1bGVPYmo6ZSxmb3JtRGF0YVRyZWU6cixvcHRpb25zOml9KX1jYXRjaChlKXtpZighKGUgaW5zdGFuY2VvZiBvKSl0aHJvdyBlO2lmKHZvaWQgMCE9PWUuZmllbGQmJiF0LmhhcyhlLmZpZWxkKSYmdm9pZCAwIT09ZS5lcnJvcilyZXR1cm4gdC5zZXQoZS5maWVsZCxlKX1yZXR1cm4gdH0pLG5ldyBNYXApO2Zvcihjb25zdCB0IG9mIHIua2V5cygpKXAuaGFzKHQpfHxwLnNldCh0LHt2YWxpZElucHV0czpyLmdldEFsbCh0KX0pO3JldHVybiBwfSx1c2U6dD0+e2sucHVzaCh0KX0sLi4ubnVsbCE9PShMPXdpbmRvdy5zd3YpJiZ2b2lkIDAhPT1MP0w6e319fSkoKTs="}},"time_used":509,"timings":{"blocked":415,"dns":0,"connect":0,"send":0,"wait":94,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94948.0fc88fa63c054a8d7684.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.677Z","timestamp":1785141584677,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94948.0fc88fa63c054a8d7684.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 58\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-3a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:29\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3f581499a32ec5367247c0f87e1eb570\r\ncdn-cache: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":58,"size_decoded":842,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"5592fcacaacd1e8d44b8a3fbb380b590","sha1":"c1941ebad54702aac9c07152c40ea90c524ed011","sha256":"fe2e73df95dfdba476a9f13e9a0654010c8fbfe8266e38067621719d71bd179b","sha512":"87708aa11fe40f2364325f5d9f72a006dbfbfda851f696a21b2359441ee7c274d65722ab3df0dd59a66fcc87d7207404a4ba63b630689462beec57d1d7da5a3f","ssdeep":"","tlshash":"6aa002c61bf521e442796c0e8ec00307e4d144a100002dd78427c0700caef9f449031f","first_seen":"2026-07-17T03:30:51.219732Z","last_seen":"2026-07-27T14:50:15.49555Z","times_seen":172,"resource_available":false,"data":"LmJsb2NrSWNvbi1ndk9RVmlWNywuYmxvY2tJY29uLWd2T1FWaVY3IHN2Z3tkaXNwbGF5OmJsb2NrfQ=="}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/themes/ashley/assets/css/magnific-popup.css?ver=7.0.2","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.883Z","timestamp":1785141582883,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/themes/ashley/assets/css/magnific-popup.css?ver=7.0.2 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://oxlofttrd.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:55:08 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 2042\r\nKeep-Alive: timeout=5, max=97\r\nConnection: Keep-Alive\r\nContent-Type: text/css\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":8232,"size_decoded":2393,"mime_type":"text/css","magic":"ASCII text","md5":"e8162f0d8d35f53cf8211da6ef7bc905","sha1":"51ea738046ead8bf6b7ddb0f8cb332a89d29fe0c","sha256":"3ab89adea7262a22c41a31960ef1e982f9996e1da00d050061a26082a798f8f7","sha512":"79315d4e787facf66b4b5c0c1b700dc5e915ab963b46ce8031fa8bb2304dc6d2ec4d3853f2b1b7790c9dc7a266f094792bbe98a5ac5a755aea57847c1dfb05dc","ssdeep":"192:/o4fSfbH8AyTVLbK8d6/9FvEMLHFU4ivbFMa1ZLEB7b:2sT9bAF8gFgFMp","tlshash":"470210e6aff61705e91dc8a4a193a715731b4053e70bccabafd2140cdf8d2c94163b85","first_seen":"2024-06-11T13:51:40Z","last_seen":"2026-07-27T12:12:28.750636Z","times_seen":29,"resource_available":false,"data":"LyogTWFnbmlmaWMgUG9wdXAgQ1NTICovCi5tZnAtYmcgewogIHRvcDogMDsKICBsZWZ0OiAwOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTAwJTsKICB6LWluZGV4OiAxMDA0MjsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBvc2l0aW9uOiBmaXhlZDsKICBiYWNrZ3JvdW5kOiAjMGIwYjBiOwogIG9wYWNpdHk6IDAuODsKICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9ODApOwp9CgoubWZwLXdyYXAgewogIHRvcDogMDsKICBsZWZ0OiAwOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTAwJTsKICB6LWluZGV4OiAxMDA0MzsKICBwb3NpdGlvbjogZml4ZWQ7CiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50OwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwp9CgoubWZwLWNvbnRhaW5lciB7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgbGVmdDogMDsKICB0b3A6IDA7CiAgcGFkZGluZzogMCA4cHg7CiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OwogIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsKICBib3gtc2l6aW5nOiBib3JkZXItYm94Owp9CgoubWZwLWNvbnRhaW5lcjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBoZWlnaHQ6IDEwMCU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoKLm1mcC1hbGlnbi10b3AgLm1mcC1jb250YWluZXI6YmVmb3JlIHsKICBkaXNwbGF5OiBub25lOwp9CgoubWZwLWNvbnRlbnQgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICBtYXJnaW46IDAgYXV0bzsKICB0ZXh0LWFsaWduOiBsZWZ0OwogIHotaW5kZXg6IDEwNDU7Cn0KCi5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsIC5tZnAtYWpheC1ob2xkZXIgLm1mcC1jb250ZW50IHsKICB3aWR0aDogMTAwJTsKICBjdXJzb3I6IGF1dG87Cn0KCi5tZnAtYWpheC1jdXIgewogIGN1cnNvcjogcHJvZ3Jlc3M7Cn0KCi5tZnAtem9vbS1vdXQtY3VyLCAubWZwLXpvb20tb3V0LWN1ciAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHsKICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7CiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0OwogIGN1cnNvcjogem9vbS1vdXQ7Cn0KCi5tZnAtem9vbSB7CiAgY3Vyc29yOiBwb2ludGVyOwogIGN1cnNvcjogLXdlYmtpdC16b29tLWluOwogIGN1cnNvcjogLW1vei16b29tLWluOwogIGN1cnNvcjogem9vbS1pbjsKfQoKLm1mcC1hdXRvLWN1cnNvciAubWZwLWNvbnRlbnQgewogIGN1cnNvcjogYXV0bzsKfQoKLm1mcC1jbG9zZSwgLm1mcC1hcnJvdywgLm1mcC1wcmVsb2FkZXIsIC5tZnAtY291bnRlciB7CiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7Cn0KCi5tZnAtbG9hZGluZy5tZnAtZmlndXJlIHsKICBkaXNwbGF5OiBub25lOwp9CgoubWZwLWhpZGUgewogIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKfQoKLm1mcC1wcmVsb2FkZXIgewogIGNvbG9yOiAjQ0NDOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDUwJTsKICB3aWR0aDogYXV0bzsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgbWFyZ2luLXRvcDogLTAuOGVtOwogIGxlZnQ6IDhweDsKICByaWdodDogOHB4OwogIHotaW5kZXg6IDEwNDQ7Cn0KCi5tZnAtcHJlbG9hZGVyIGEgewogIGNvbG9yOiAjQ0NDOwp9CgoubWZwLXByZWxvYWRlciBhOmhvdmVyIHsKICBjb2xvcjogI0ZGRjsKfQoKLm1mcC1zLXJlYWR5IC5tZnAtcHJlbG9hZGVyIHsKICBkaXNwbGF5OiBub25lOwp9CgoubWZwLXMtZXJyb3IgLm1mcC1jb250ZW50IHsKICBkaXNwbGF5OiBub25lOwp9CgpidXR0b24ubWZwLWNsb3NlLCBidXR0b24ubWZwLWFycm93IHsKICBvdmVyZmxvdzogdmlzaWJsZTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiAwOwogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICBkaXNwbGF5OiBibG9jazsKICBvdXRsaW5lOiBub25lOwogIHBhZGRpbmc6IDA7CiAgei1pbmRleDogMTA0NjsKICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgYm94LXNoYWRvdzogbm9uZTsKfQoKYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHsKICBwYWRkaW5nOiAwOwogIGJvcmRlcjogMDsKfQoKLm1mcC1jbG9zZSB7CiAgd2lkdGg6IDQ0cHg7CiAgaGVpZ2h0OiA0NHB4OwogIGxpbmUtaGVpZ2h0OiA0NHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB0b3A6IDA7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBvcGFjaXR5OiAwLjY1OwogIGZpbHRlcjogYWxwaGEob3BhY2l0eT02NSk7CiAgcGFkZGluZzogMCAwIDE4cHggMTBweDsKICBjb2xvcjogI0ZGRjsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC1zaXplOiAyOHB4OwogIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTsKfQoKLm1mcC1jbG9zZTpob3ZlciwgLm1mcC1jbG9zZTpmb2N1cyB7CiAgb3BhY2l0eTogMTsKICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTsKfQoKLm1mcC1jbG9zZTphY3RpdmUgewogIHRvcDogMXB4Owp9CgoubWZwLWNsb3NlLWJ0bi1pbiAubWZwLWNsb3NlIHsKICBjb2xvcjogI2ZmZjsKfQoKLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSwgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2UgewogIGNvbG9yOiAjRkZGOwogIHJpZ2h0OiAtNnB4OwogIHRleHQtYWxpZ246IHJpZ2h0OwogIHBhZGRpbmctcmlnaHQ6IDZweDsKICB3aWR0aDogMTAwJTsKfQoKLm1mcC1jb3VudGVyIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIHJpZ2h0OiAwOwogIGNvbG9yOiAjQ0NDOwogIGZvbnQtc2l6ZTogMTJweDsKICBsaW5lLWhlaWdodDogMThweDsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9CgoubWZwLWFycm93IHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgb3BhY2l0eTogMC42NTsKICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NjUpOwogIG1hcmdpbjogMDsKICB0b3A6IDUwJTsKICBtYXJnaW4tdG9wOiAtNTVweDsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiA5MHB4OwogIGhlaWdodDogMTEwcHg7CiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOwp9CgoubWZwLWFycm93OmFjdGl2ZSB7CiAgbWFyZ2luLXRvcDogLTU0cHg7Cn0KCi5tZnAtYXJyb3c6aG92ZXIsIC5tZnAtYXJyb3c6Zm9jdXMgewogIG9wYWNpdHk6IDE7CiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7Cn0KCi5tZnAtYXJyb3c6YmVmb3JlLCAubWZwLWFycm93OmFmdGVyLCAubWZwLWFycm93IC5tZnAtYiwgLm1mcC1hcnJvdyAubWZwLWEgewogIGNvbnRlbnQ6ICcnOwogIGRpc3BsYXk6IGJsb2NrOwogIHdpZHRoOiAwOwogIGhlaWdodDogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogMDsKICB0b3A6IDA7CiAgbWFyZ2luLXRvcDogMzVweDsKICBtYXJnaW4tbGVmdDogMzVweDsKICBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDsKfQoKLm1mcC1hcnJvdzphZnRlciwgLm1mcC1hcnJvdyAubWZwLWEgewogIGJvcmRlci10b3Atd2lkdGg6IDEzcHg7CiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDsKICB0b3A6IDhweDsKfQoKLm1mcC1hcnJvdzpiZWZvcmUsIC5tZnAtYXJyb3cgLm1mcC1iIHsKICBib3JkZXItdG9wLXdpZHRoOiAyMXB4OwogIGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7CiAgb3BhY2l0eTogMC43Owp9CgoubWZwLWFycm93LWxlZnQgewogIGxlZnQ6IDA7Cn0KCi5tZnAtYXJyb3ctbGVmdDphZnRlciwgLm1mcC1hcnJvdy1sZWZ0IC5tZnAtYSB7CiAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICNGRkY7CiAgbWFyZ2luLWxlZnQ6IDMxcHg7Cn0KCi5tZnAtYXJyb3ctbGVmdDpiZWZvcmUsIC5tZnAtYXJyb3ctbGVmdCAubWZwLWIgewogIG1hcmdpbi1sZWZ0OiAyNXB4OwogIGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAjM0YzRjNGOwp9CgoubWZwLWFycm93LXJpZ2h0IHsKICByaWdodDogMDsKfQoKLm1mcC1hcnJvdy1yaWdodDphZnRlciwgLm1mcC1hcnJvdy1yaWdodCAubWZwLWEgewogIGJvcmRlci1sZWZ0OiAxN3B4IHNvbGlkICNGRkY7CiAgbWFyZ2luLWxlZnQ6IDM5cHg7Cn0KCi5tZnAtYXJyb3ctcmlnaHQ6YmVmb3JlLCAubWZwLWFycm93LXJpZ2h0IC5tZnAtYiB7CiAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgIzNGM0YzRjsKfQoKLm1mcC1pZnJhbWUtaG9sZGVyIHsKICBwYWRkaW5nLXRvcDogNDBweDsKICBwYWRkaW5nLWJvdHRvbTogNDBweDsKfQoKLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY29udGVudCB7CiAgbGluZS1oZWlnaHQ6IDA7CiAgd2lkdGg6IDEwMCU7CiAgbWF4LXdpZHRoOiA5MDBweDsKfQoKLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2UgewogIHRvcDogLTQwcHg7Cn0KCi5tZnAtaWZyYW1lLXNjYWxlciB7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAwOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZy10b3A6IDU2LjI1JTsKfQoubWZwLWlmcmFtZS1zY2FsZXIgaWZyYW1lIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgZGlzcGxheTogYmxvY2s7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpOwogIGJhY2tncm91bmQ6ICMwMDA7Cn0KCi8qIE1haW4gaW1hZ2UgaW4gcG9wdXAgKi8KaW1nLm1mcC1pbWcgewogIHdpZHRoOiBhdXRvOwogIG1heC13aWR0aDogMTAwJTsKICBoZWlnaHQ6IGF1dG87CiAgZGlzcGxheTogYmxvY2s7CiAgbGluZS1oZWlnaHQ6IDA7CiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OwogIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIHBhZGRpbmc6IDQwcHggMCA0MHB4OwogIG1hcmdpbjogMCBhdXRvOwp9CgovKiBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2UgKi8KLm1mcC1maWd1cmUgewogIGxpbmUtaGVpZ2h0OiAwOwp9CgoubWZwLWZpZ3VyZTphZnRlciB7CiAgY29udGVudDogJyc7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGxlZnQ6IDA7CiAgdG9wOiA0MHB4OwogIGJvdHRvbTogNDBweDsKICBkaXNwbGF5OiBibG9jazsKICByaWdodDogMDsKICB3aWR0aDogYXV0bzsKICBoZWlnaHQ6IGF1dG87CiAgei1pbmRleDogLTE7CiAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7CiAgYmFja2dyb3VuZDogIzQ0NDsKfQoKLm1mcC1maWd1cmUgc21hbGwgewogIGNvbG9yOiAjQkRCREJEOwogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtc2l6ZTogMTJweDsKICBsaW5lLWhlaWdodDogMTRweDsKfQoKLm1mcC1maWd1cmUgZmlndXJlIHsKICBtYXJnaW46IDA7Cn0KCi5tZnAtYm90dG9tLWJhciB7CiAgbWFyZ2luLXRvcDogLTM2cHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMTAwJTsKICBsZWZ0OiAwOwogIHdpZHRoOiAxMDAlOwogIGN1cnNvcjogYXV0bzsKfQoKLm1mcC10aXRsZSB7CiAgdGV4dC1hbGlnbjogbGVmdDsKICBsaW5lLWhlaWdodDogMThweDsKICBjb2xvcjogI0YzRjNGMzsKICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7CiAgcGFkZGluZy1yaWdodDogMzZweDsKfQoKLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jb250ZW50IHsKICBtYXgtd2lkdGg6IDEwMCU7Cn0KCi5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7CiAgY3Vyc29yOiBwb2ludGVyOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHsKICAvKioKICAgICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlbgogICovCiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtaW1hZ2UtaG9sZGVyIHsKICAgIHBhZGRpbmctbGVmdDogMDsKICAgIHBhZGRpbmctcmlnaHQ6IDA7CiAgfQoKICAubWZwLWltZy1tb2JpbGUgaW1nLm1mcC1pbWcgewogICAgcGFkZGluZzogMDsKICB9CgogIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZTphZnRlciB7CiAgICB0b3A6IDA7CiAgICBib3R0b206IDA7CiAgfQoKICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmUgc21hbGwgewogICAgZGlzcGxheTogaW5saW5lOwogICAgbWFyZ2luLWxlZnQ6IDVweDsKICB9CgogIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXIgewogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpOwogICAgYm90dG9tOiAwOwogICAgbWFyZ2luOiAwOwogICAgdG9wOiBhdXRvOwogICAgcGFkZGluZzogM3B4IDVweDsKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgfQoKICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyOmVtcHR5IHsKICAgIHBhZGRpbmc6IDA7CiAgfQoKICAubWZwLWltZy1tb2JpbGUgLm1mcC1jb3VudGVyIHsKICAgIHJpZ2h0OiA1cHg7CiAgICB0b3A6IDNweDsKICB9CgogIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNsb3NlIHsKICAgIHRvcDogMDsKICAgIHJpZ2h0OiAwOwogICAgd2lkdGg6IDM1cHg7CiAgICBoZWlnaHQ6IDM1cHg7CiAgICBsaW5lLWhlaWdodDogMzVweDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTsKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHBhZGRpbmc6IDA7CiAgfQp9CgpAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkgewogIC5tZnAtYXJyb3cgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTsKICB9CgogIC5tZnAtYXJyb3ctbGVmdCB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDA7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwOwogIH0KCiAgLm1mcC1hcnJvdy1yaWdodCB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCU7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlOwogIH0KCiAgLm1mcC1jb250YWluZXIgewogICAgcGFkZGluZy1sZWZ0OiA2cHg7CiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7CiAgfQoKfQoKLm1mcC1pZTcgLm1mcC1pbWcgewogIHBhZGRpbmc6IDA7Cn0KCi5tZnAtaWU3IC5tZnAtYm90dG9tLWJhciB7CiAgd2lkdGg6IDYwMHB4OwogIGxlZnQ6IDUwJTsKICBtYXJnaW4tbGVmdDogLTMwMHB4OwogIG1hcmdpbi10b3A6IDVweDsKICBwYWRkaW5nLWJvdHRvbTogNXB4Owp9CgoubWZwLWllNyAubWZwLWNvbnRhaW5lciB7CiAgcGFkZGluZzogMDsKfQoKLm1mcC1pZTcgLm1mcC1jb250ZW50IHsKICBwYWRkaW5nLXRvcDogNDRweDsKfQoKLm1mcC1pZTcgLm1mcC1jbG9zZSB7CiAgdG9wOiAwOwogIHJpZ2h0OiAwOwogIHBhZGRpbmctdG9wOiAwOwp9CgoKLyoKCj09PT09PSBab29tIGVmZmVjdCA9PT09PT0KCiovCi5tZnAtem9vbS1pbiB7CiAgLyogc3RhcnQgc3RhdGUgKi8KICAvKiBhbmltYXRlIGluICovCiAgLyogYW5pbWF0ZSBvdXQgKi8KfQoubWZwLXpvb20taW4gLm1mcC13aXRoLWFuaW0gewogIG9wYWNpdHk6IDA7CiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7CiAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwp9Ci5tZnAtem9vbS1pbi5tZnAtYmcgewogIG9wYWNpdHk6IDA7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7Cn0KLm1mcC16b29tLWluLm1mcC1yZWFkeSAubWZwLXdpdGgtYW5pbSB7CiAgb3BhY2l0eTogMTsKICB0cmFuc2Zvcm06IHNjYWxlKDEpOwp9Ci5tZnAtem9vbS1pbi5tZnAtcmVhZHkubWZwLWJnIHsKICBvcGFjaXR5OiAwLjg7Cn0KLm1mcC16b29tLWluLm1mcC1yZW1vdmluZyAubWZwLXdpdGgtYW5pbSB7CiAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogIG9wYWNpdHk6IDA7Cn0KLm1mcC16b29tLWluLm1mcC1yZW1vdmluZy5tZnAtYmcgewogIG9wYWNpdHk6IDA7Cn0K"}},"time_used":185,"timings":{"blocked":-1,"dns":0,"connect":91,"send":0,"wait":94,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-includes/js/wp-emoji-release.min.js?ver=7.0.2","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:44.065Z","timestamp":1785141584065,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-includes/js/wp-emoji-release.min.js?ver=7.0.2 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:44 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 09 Jul 2026 21:44:51 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:44 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 5386\r\nKeep-Alive: timeout=5, max=94\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":22752,"size_decoded":5751,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (19813)","md5":"7dcb0bb1f67bc5cd9aa86bc0577108e3","sha1":"c90b1ed149a278c322a63f3a79443ccce5592382","sha256":"063840b4b3f5869e0f0d078bab8bd29cfb3a59ee85e8e3edbbec35a8fe846fd3","sha512":"d09c60fc702e1d3fb839685770b2626a64cbc6373ac4bf3a63c3536caef34f4f6caf76adfbd5c2d15bed6e1396ed4f3ca80f6673e3421b2ae2f9e7aa5ccf16f2","ssdeep":"384:WzevzApRZTbbUL3px/bEg1XgA5OOkpJTX:Wsk9bUL3px/YqXgAP+hX","tlshash":"79a2949ba33a4e8f343e3bd78d968f4dc9da555321c0e079dbefb6c169a00568274c90","first_seen":"2026-06-05T05:27:24.795617Z","last_seen":"2026-07-27T15:02:44.691723Z","times_seen":18745,"resource_available":true,"data":"LyohIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCAqLwovLyBTb3VyY2U6IHdwLWluY2x1ZGVzL2pzL3R3ZW1vamkubWluLmpzCnZhciB0d2Vtb2ppPWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBoPXtiYXNlOiJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvamRlY2tlZC90d2Vtb2ppQDE3LjAuMS9hc3NldHMvIixleHQ6Ii5wbmciLHNpemU6IjcyeDcyIixjbGFzc05hbWU6ImVtb2ppIixjb252ZXJ0Ontmcm9tQ29kZVBvaW50OmZ1bmN0aW9uKGQpe2Q9InN0cmluZyI9PXR5cGVvZiBkP3BhcnNlSW50KGQsMTYpOmQ7aWYoZDw2NTUzNilyZXR1cm4gZShkKTtyZXR1cm4gZSg1NTI5NisoKGQtPTY1NTM2KT4+MTApLDU2MzIwKygxMDIzJmQpKX0sdG9Db2RlUG9pbnQ6b30sb25lcnJvcjpmdW5jdGlvbigpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZCh4KHRoaXMuYWx0LCExKSx0aGlzKX0scGFyc2U6ZnVuY3Rpb24oZCx1KXt1JiYiZnVuY3Rpb24iIT10eXBlb2YgdXx8KHU9e2NhbGxiYWNrOnV9KTtyZXR1cm4gaC5kb05vdFBhcnNlPXUuZG9Ob3RQYXJzZSwoInN0cmluZyI9PXR5cGVvZiBkP2Z1bmN0aW9uKGQsYSl7cmV0dXJuIG4oZCxmdW5jdGlvbihkKXt2YXIgdSxmLGM9ZCxlPU4oZCksYj1hLmNhbGxiYWNrKGUsYSk7aWYoZSYmYil7Zm9yKGYgaW4gYz0iPGltZyAiLmNvbmNhdCgnY2xhc3M9IicsYS5jbGFzc05hbWUsJyIgJywnZHJhZ2dhYmxlPSJmYWxzZSIgJywnYWx0PSInLGQsJyInLCcgc3JjPSInLGIsJyInKSx1PWEuYXR0cmlidXRlcyhkLGUpKXUuaGFzT3duUHJvcGVydHkoZikmJjAhPT1mLmluZGV4T2YoIm9uIikmJi0xPT09Yy5pbmRleE9mKCIgIitmKyI9IikmJihjPWMuY29uY2F0KCIgIixmLCc9IicsdVtmXS5yZXBsYWNlKHQsciksJyInKSk7Yz1jLmNvbmNhdCgiLz4iKX1yZXR1cm4gY30pfTpmdW5jdGlvbihkLHUpe3ZhciBmLGMsZSxiLGEsdCxyLG4sbyxzLGksbD1mdW5jdGlvbiBkKHUsZil7dmFyIGMsZSxiPXUuY2hpbGROb2RlcyxhPWIubGVuZ3RoO2Zvcig7YS0tOyljPWJbYV0sMz09PShlPWMubm9kZVR5cGUpP2YucHVzaChjKToxIT09ZXx8Im93bmVyU1ZHRWxlbWVudCJpbiBjfHxtLnRlc3QoYy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXx8aC5kb05vdFBhcnNlJiZoLmRvTm90UGFyc2UoYyl8fGQoYyxmKTtyZXR1cm4gZn0oZCxbXSkscD1sLmxlbmd0aDtmb3IoO3AtLTspe2ZvcihlPSExLGI9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLGE9bFtwXSx0PWEubm9kZVZhbHVlLHI9MDtvPWcuZXhlYyh0KTspe2lmKChpPW8uaW5kZXgpIT09ciYmYi5hcHBlbmRDaGlsZCh4KHQuc2xpY2UocixpKSwhMCkpLHM9TihvPW9bMF0pLHI9aStvLmxlbmd0aCxpPXUuY2FsbGJhY2socyx1KSxzJiZpKXtmb3IoYyBpbihuPW5ldyBJbWFnZSkub25lcnJvcj11Lm9uZXJyb3Isbi5zZXRBdHRyaWJ1dGUoImRyYWdnYWJsZSIsImZhbHNlIiksZj11LmF0dHJpYnV0ZXMobyxzKSlmLmhhc093blByb3BlcnR5KGMpJiYwIT09Yy5pbmRleE9mKCJvbiIpJiYhbi5oYXNBdHRyaWJ1dGUoYykmJm4uc2V0QXR0cmlidXRlKGMsZltjXSk7bi5jbGFzc05hbWU9dS5jbGFzc05hbWUsbi5hbHQ9byxuLnNyYz1pLGU9ITAsYi5hcHBlbmRDaGlsZChuKX1ufHxiLmFwcGVuZENoaWxkKHgobywhMSkpLG49bnVsbH1lJiYocjx0Lmxlbmd0aCYmYi5hcHBlbmRDaGlsZCh4KHQuc2xpY2UociksITApKSxhLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKGIsYSkpfXJldHVybiBkfSkoZCx7Y2FsbGJhY2s6dS5jYWxsYmFja3x8YixhdHRyaWJ1dGVzOiJmdW5jdGlvbiI9PXR5cGVvZiB1LmF0dHJpYnV0ZXM/dS5hdHRyaWJ1dGVzOmEsYmFzZTooInN0cmluZyI9PXR5cGVvZiB1LmJhc2U/dTpoKS5iYXNlLGV4dDp1LmV4dHx8aC5leHQsc2l6ZTp1LmZvbGRlcnx8ZnVuY3Rpb24oZCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBkP2QrIngiK2Q6ZH0odS5zaXplfHxoLnNpemUpLGNsYXNzTmFtZTp1LmNsYXNzTmFtZXx8aC5jbGFzc05hbWUsb25lcnJvcjp1Lm9uZXJyb3J8fGgub25lcnJvcn0pfSxyZXBsYWNlOm4sdGVzdDpmdW5jdGlvbihkKXtnLmxhc3RJbmRleD0wO2Q9Zy50ZXN0KGQpO3JldHVybiBnLmxhc3RJbmRleD0wLGR9fSx1PXsiJiI6IiZhbXA7IiwiPCI6IiZsdDsiLCI+IjoiJmd0OyIsIiciOiImIzM5OyIsJyInOiImcXVvdDsifSxnPS8oPzpcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmJcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjOGJcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZjXHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzhiXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmZFx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM4Ylx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmVcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjOGJcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZmXHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzhiXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmYlx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM4Ylx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmJcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjOGJcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZjXHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzhiXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmY1x1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM4Ylx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmRcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjOGJcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZkXHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzhiXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZVx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM4Ylx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmVcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjOGJcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZmXHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzhiXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZlx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM4Ylx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmJcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjOGJcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZjLVx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZjXHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzhiXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYlx1ZGZmZC1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmZFx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM4Ylx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmJcdWRmZmNcdWRmZmVcdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmZVx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM4Ylx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZkXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmZcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjOGJcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZV18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZiXHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmYlx1MjAwZFx1ZDgzZFx1ZGMzMFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmMtXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmJcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZjLVx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZiXHUyMDBkXHVkODNlXHVkZWVmXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYy1cdWRmZmZdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmY1x1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmNcdTIwMGRcdWQ4M2RcdWRjMzBcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiXHVkZmZkLVx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZjXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYlx1ZGZmZC1cdWRmZmZdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmY1x1MjAwZFx1ZDgzZVx1ZGVlZlx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmJcdWRmZmQtXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmRcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZkXHUyMDBkXHVkODNkXHVkYzMwXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYlx1ZGZmY1x1ZGZmZVx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZkXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYlx1ZGZmY1x1ZGZmZVx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZkXHUyMDBkXHVkODNlXHVkZWVmXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYlx1ZGZmY1x1ZGZmZVx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZlXHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmZVx1MjAwZFx1ZDgzZFx1ZGMzMFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZkXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmVcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZFx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZlXHUyMDBkXHVkODNlXHVkZWVmXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmRcdWRmZmZdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmZlx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmZcdTIwMGRcdWQ4M2RcdWRjMzBcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZV18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZmXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmVdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmZlx1MjAwZFx1ZDgzZVx1ZGVlZlx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZlXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmJcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZiXHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmYlx1MjAwZFx1ZDgzZFx1ZGMzMFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmMtXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmJcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZjLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZiXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYy1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmYlx1MjAwZFx1ZDgzZVx1ZGVlZlx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmMtXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmNcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZjXHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmY1x1MjAwZFx1ZDgzZFx1ZGMzMFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmJcdWRmZmQtXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmNcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiXHVkZmZkLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZjXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYlx1ZGZmZC1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmY1x1MjAwZFx1ZDgzZVx1ZGVlZlx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmJcdWRmZmQtXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmRcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZkXHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZFx1MjAwZFx1ZDgzZFx1ZGMzMFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmJcdWRmZmNcdWRmZmVcdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZFx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmJcdWRmZmNcdWRmZmVcdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZFx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmJcdWRmZmNcdWRmZmVcdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZFx1MjAwZFx1ZDgzZVx1ZGVlZlx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmJcdWRmZmNcdWRmZmVcdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZVx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmVcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZlXHUyMDBkXHVkODNkXHVkYzMwXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYi1cdWRmZmRcdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZVx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZkXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmVcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiLVx1ZGZmZFx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZlXHUyMDBkXHVkODNlXHVkZWVmXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYi1cdWRmZmRcdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZlx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmZcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZmXHUyMDBkXHVkODNkXHVkYzMwXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYi1cdWRmZmVdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZlXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmZcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiLVx1ZGZmZV18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZmXHUyMDBkXHVkODNlXHVkZWVmXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYi1cdWRmZmVdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmYlx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmMtXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmJcdTIwMGRcdWQ4M2RcdWRjMzBcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZjLVx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZiXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmYlx1MjAwZFx1ZDgzZVx1ZGVlZlx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmMtXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmNcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiXHVkZmZkLVx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZjXHUyMDBkXHVkODNkXHVkYzMwXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYlx1ZGZmZC1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmY1x1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmNcdTIwMGRcdWQ4M2VcdWRlZWZcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiXHVkZmZkLVx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZkXHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYlx1ZGZmY1x1ZGZmZVx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZkXHUyMDBkXHVkODNkXHVkYzMwXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYlx1ZGZmY1x1ZGZmZVx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZkXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmZFx1MjAwZFx1ZDgzZVx1ZGVlZlx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmJcdWRmZmNcdWRmZmVcdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmZVx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZkXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmVcdTIwMGRcdWQ4M2RcdWRjMzBcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZFx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZlXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmZVx1MjAwZFx1ZDgzZVx1ZGVlZlx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZkXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmZcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZV18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZmXHUyMDBkXHVkODNkXHVkYzMwXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmVdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmZlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmZcdTIwMGRcdWQ4M2VcdWRlZWZcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZV18XHVkODNkXHVkYzY4XHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzhiXHUyMDBkXHVkODNkXHVkYzY4fFx1ZDgzZFx1ZGM2OVx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM4Ylx1MjAwZFx1ZDgzZFtcdWRjNjhcdWRjNjldfFx1ZDgzZVx1ZGVmMVx1ZDgzY1x1ZGZmYlx1MjAwZFx1ZDgzZVx1ZGVmMlx1ZDgzY1tcdWRmZmMtXHVkZmZmXXxcdWQ4M2VcdWRlZjFcdWQ4M2NcdWRmZmNcdTIwMGRcdWQ4M2VcdWRlZjJcdWQ4M2NbXHVkZmZiXHVkZmZkLVx1ZGZmZl18XHVkODNlXHVkZWYxXHVkODNjXHVkZmZkXHUyMDBkXHVkODNlXHVkZWYyXHVkODNjW1x1ZGZmYlx1ZGZmY1x1ZGZmZVx1ZGZmZl18XHVkODNlXHVkZWYxXHVkODNjXHVkZmZlXHUyMDBkXHVkODNlXHVkZWYyXHVkODNjW1x1ZGZmYi1cdWRmZmRcdWRmZmZdfFx1ZDgzZVx1ZGVmMVx1ZDgzY1x1ZGZmZlx1MjAwZFx1ZDgzZVx1ZGVmMlx1ZDgzY1tcdWRmZmItXHVkZmZlXXxcdWQ4M2RcdWRjNjhcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjNjh8XHVkODNkXHVkYzY5XHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkW1x1ZGM2OFx1ZGM2OV18XHVkODNlXHVkZGQxXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxfFx1ZDgzZFx1ZGM2Zlx1ZDgzY1x1ZGZmYlx1MjAwZFx1MjY0MFx1ZmUwZnxcdWQ4M2RcdWRjNmZcdWQ4M2NcdWRmZmJcdTIwMGRcdTI2NDJcdWZlMGZ8XHVkODNkXHVkYzZmXHVkODNjXHVkZmZjXHUyMDBkXHUyNjQwXHVmZTBmfFx1ZDgzZFx1ZGM2Zlx1ZDgzY1x1ZGZmY1x1MjAwZFx1MjY0Mlx1ZmUwZnxcdWQ4M2RcdWRjNmZcdWQ4M2NcdWRmZmRcdTIwMGRcdTI2NDBcdWZlMGZ8XHVkODNkXHVkYzZmXHVkODNjXHVkZmZkXHUyMDBkXHUyNjQyXHVmZTBmfFx1ZDgzZFx1ZGM2Zlx1ZDgzY1x1ZGZmZVx1MjAwZFx1MjY0MFx1ZmUwZnxcdWQ4M2RcdWRjNmZcdWQ4M2NcdWRmZmVcdTIwMGRcdTI2NDJcdWZlMGZ8XHVkODNkXHVkYzZmXHVkODNjXHVkZmZmXHUyMDBkXHUyNjQwXHVmZTBmfFx1ZDgzZFx1ZGM2Zlx1ZDgzY1x1ZGZmZlx1MjAwZFx1MjY0Mlx1ZmUwZnxcdWQ4M2VcdWRkM2NcdWQ4M2NcdWRmZmJcdTIwMGRcdTI2NDBcdWZlMGZ8XHVkODNlXHVkZDNjXHVkODNjXHVkZmZiXHUyMDBkXHUyNjQyXHVmZTBmfFx1ZDgzZVx1ZGQzY1x1ZDgzY1x1ZGZmY1x1MjAwZFx1MjY0MFx1ZmUwZnxcdWQ4M2VcdWRkM2NcdWQ4M2NcdWRmZmNcdTIwMGRcdTI2NDJcdWZlMGZ8XHVkODNlXHVkZDNjXHVkODNjXHVkZmZkXHUyMDBkXHUyNjQwXHVmZTBmfFx1ZDgzZVx1ZGQzY1x1ZDgzY1x1ZGZmZFx1MjAwZFx1MjY0Mlx1ZmUwZnxcdWQ4M2VcdWRkM2NcdWQ4M2NcdWRmZmVcdTIwMGRcdTI2NDBcdWZlMGZ8XHVkODNlXHVkZDNjXHVkODNjXHVkZmZlXHUyMDBkXHUyNjQyXHVmZTBmfFx1ZDgzZVx1ZGQzY1x1ZDgzY1x1ZGZmZlx1MjAwZFx1MjY0MFx1ZmUwZnxcdWQ4M2VcdWRkM2NcdWQ4M2NcdWRmZmZcdTIwMGRcdTI2NDJcdWZlMGZ8XHVkODNkXHVkYzZmXHUyMDBkXHUyNjQwXHVmZTBmfFx1ZDgzZFx1ZGM2Zlx1MjAwZFx1MjY0Mlx1ZmUwZnxcdWQ4M2VcdWRkM2NcdTIwMGRcdTI2NDBcdWZlMGZ8XHVkODNlXHVkZDNjXHUyMDBkXHUyNjQyXHVmZTBmfFx1ZDgzZFx1ZGM2Ylx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RcdWRjNmNcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkXHVkYzZkXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFx1ZGM2Zlx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RcdWRjOGZcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkXHVkYzkxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGQxZFx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkM2NcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkW1x1ZGM2Yi1cdWRjNmRcdWRjNmZcdWRjOGZcdWRjOTFdfFx1ZDgzZVtcdWRkMWRcdWRkM2NdKXwoPzpcdWQ4M2RbXHVkYzY4XHVkYzY5XXxcdWQ4M2VcdWRkZDEpKD86XHVkODNjW1x1ZGZmYi1cdWRmZmZdKT9cdTIwMGQoPzpcdTI2OTVcdWZlMGZ8XHUyNjk2XHVmZTBmfFx1MjcwOFx1ZmUwZnxcdWQ4M2NbXHVkZjNlXHVkZjczXHVkZjdjXHVkZjg0XHVkZjkzXHVkZmE0XHVkZmE4XHVkZmViXHVkZmVkXXxcdWQ4M2RbXHVkY2JiXHVkY2JjXHVkZDI3XHVkZDJjXHVkZTgwXHVkZTkyXXxcdWQ4M2VbXHVkZGFmLVx1ZGRiM1x1ZGRiY1x1ZGRiZFx1ZGU3MF0pKD86XHUyMDBkXHUyN2ExXHVmZTBmKT98KD86XHVkODNjW1x1ZGZjYlx1ZGZjY118XHVkODNkW1x1ZGQ3NFx1ZGQ3NV18XHUyNmY5KSgoPzpcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVmZTBmKVx1MjAwZFtcdTI2NDBcdTI2NDJdXHVmZTBmKD86XHUyMDBkXHUyN2ExXHVmZTBmKT8pfCg/Olx1ZDgzY1tcdWRmYzNcdWRmYzRcdWRmY2FdfFx1ZDgzZFtcdWRjNmVcdWRjNzBcdWRjNzFcdWRjNzNcdWRjNzdcdWRjODFcdWRjODJcdWRjODZcdWRjODdcdWRlNDUtXHVkZTQ3XHVkZTRiXHVkZTRkXHVkZTRlXHVkZWEzXHVkZWI0LVx1ZGViNl18XHVkODNlW1x1ZGQyNlx1ZGQzNVx1ZGQzNy1cdWRkMzlcdWRkM2RcdWRkM2VcdWRkYjhcdWRkYjlcdWRkY2QtXHVkZGNmXHVkZGQ0XHVkZGQ2LVx1ZGRkZF0pKD86XHVkODNjW1x1ZGZmYi1cdWRmZmZdKT9cdTIwMGRbXHUyNjQwXHUyNjQyXVx1ZmUwZig/Olx1MjAwZFx1MjdhMVx1ZmUwZik/fCg/Olx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NnxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjZ8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2fFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZVx1ZGRkMVx1MjAwZFx1ZDgzZVx1ZGRkMVx1MjAwZFx1ZDgzZVx1ZGRkMlx1MjAwZFx1ZDgzZVx1ZGRkMnxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjZ8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2fFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZVx1ZGRkMVx1MjAwZFx1ZDgzZVx1ZGRkMVx1MjAwZFx1ZDgzZVx1ZGRkMnxcdWQ4M2VcdWRkZDFcdTIwMGRcdWQ4M2VcdWRkZDJcdTIwMGRcdWQ4M2VcdWRkZDJ8XHVkODNkXHVkYzQxXHVmZTBmXHUyMDBkXHVkODNkXHVkZGU4XHVmZTBmfFx1ZDgzY1x1ZGZmM1x1ZmUwZlx1MjAwZFx1MjZhN1x1ZmUwZnxcdWQ4M2NcdWRmZjNcdWZlMGZcdTIwMGRcdWQ4M2NcdWRmMDh8XHVkODNkXHVkZTM2XHUyMDBkXHVkODNjXHVkZjJiXHVmZTBmfFx1MjZkM1x1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGNhNXxcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRkMjV8XHUyNzY0XHVmZTBmXHUyMDBkXHVkODNlXHVkZTc5fFx1ZDgzY1x1ZGY0NFx1MjAwZFx1ZDgzZFx1ZGZlYnxcdWQ4M2NcdWRmNGJcdTIwMGRcdWQ4M2RcdWRmZTl8XHVkODNjXHVkZmY0XHUyMDBkXHUyNjIwXHVmZTBmfFx1ZDgzZFx1ZGMxNVx1MjAwZFx1ZDgzZVx1ZGRiYXxcdWQ4M2RcdWRjMjZcdTIwMGRcdWQ4M2RcdWRkMjV8XHVkODNkXHVkYzNiXHUyMDBkXHUyNzQ0XHVmZTBmfFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGUyZVx1MjAwZFx1ZDgzZFx1ZGNhOHxcdWQ4M2RcdWRlMzVcdTIwMGRcdWQ4M2RcdWRjYWJ8XHVkODNkXHVkZTQyXHUyMDBkXHUyMTk0XHVmZTBmfFx1ZDgzZFx1ZGU0Mlx1MjAwZFx1MjE5NVx1ZmUwZnxcdWQ4M2VcdWRkZDFcdTIwMGRcdWQ4M2VcdWRkZDJ8XHVkODNlXHVkZGRlXHUyMDBkXHUyNjQwXHVmZTBmfFx1ZDgzZVx1ZGRkZVx1MjAwZFx1MjY0Mlx1ZmUwZnxcdWQ4M2VcdWRkZGZcdTIwMGRcdTI2NDBcdWZlMGZ8XHVkODNlXHVkZGRmXHUyMDBkXHUyNjQyXHVmZTBmfFx1ZDgzZFx1ZGMwOFx1MjAwZFx1MmIxYnxcdWQ4M2RcdWRjMjZcdTIwMGRcdTJiMWIpfFsjKjAtOV1cdWZlMGY/XHUyMGUzfCg/Oig/Olx1ZDgzY1tcdWRkNzBcdWRkNzFcdWRkN2VcdWRkN2ZcdWRlMDJcdWRlMzdcdWRmMjFcdWRmMjQtXHVkZjJjXHVkZjM2XHVkZjdkXHVkZjk2XHVkZjk3XHVkZjk5LVx1ZGY5Ylx1ZGY5ZVx1ZGY5Zlx1ZGZjZFx1ZGZjZVx1ZGZkNC1cdWRmZGZcdWRmZjNcdWRmZjVcdWRmZjddfFx1ZDgzZFtcdWRjM2ZcdWRjNDFcdWRjZmRcdWRkNDlcdWRkNGFcdWRkNmZcdWRkNzBcdWRkNzNcdWRkNzYtXHVkZDc5XHVkZDg3XHVkZDhhLVx1ZGQ4ZFx1ZGRhNVx1ZGRhOFx1ZGRiMVx1ZGRiMlx1ZGRiY1x1ZGRjMi1cdWRkYzRcdWRkZDEtXHVkZGQzXHVkZGRjLVx1ZGRkZVx1ZGRlMVx1ZGRlM1x1ZGRlOFx1ZGRlZlx1ZGRmM1x1ZGRmYVx1ZGVjYlx1ZGVjZC1cdWRlY2ZcdWRlZTAtXHVkZWU1XHVkZWU5XHVkZWYwXHVkZWYzXXxbXHhhOVx4YWVcdTIwM2NcdTIwNDlcdTIxMjJcdTIxMzlcdTIxOTQtXHUyMTk5XHUyMWE5XHUyMWFhXHUyMzI4XHUyM2NmXHUyM2VkLVx1MjNlZlx1MjNmMVx1MjNmMlx1MjNmOC1cdTIzZmFcdTI0YzJcdTI1YWFcdTI1YWJcdTI1YjZcdTI1YzBcdTI1ZmJcdTI1ZmNcdTI2MDAtXHUyNjA0XHUyNjBlXHUyNjExXHUyNjE4XHUyNjIwXHUyNjIyXHUyNjIzXHUyNjI2XHUyNjJhXHUyNjJlXHUyNjJmXHUyNjM4LVx1MjYzYVx1MjY0MFx1MjY0Mlx1MjY1Zlx1MjY2MFx1MjY2M1x1MjY2NVx1MjY2Nlx1MjY2OFx1MjY3Ylx1MjY3ZVx1MjY5Mlx1MjY5NC1cdTI2OTdcdTI2OTlcdTI2OWJcdTI2OWNcdTI2YTBcdTI2YTdcdTI2YjBcdTI2YjFcdTI2YzhcdTI2Y2ZcdTI2ZDFcdTI2ZDNcdTI2ZTlcdTI2ZjBcdTI2ZjFcdTI2ZjRcdTI2ZjhcdTI3MDJcdTI3MDhcdTI3MDlcdTI3MGZcdTI3MTJcdTI3MTRcdTI3MTZcdTI3MWRcdTI3MjFcdTI3MzNcdTI3MzRcdTI3NDRcdTI3NDdcdTI3NjNcdTI3YTFcdTI5MzRcdTI5MzVcdTJiMDUtXHUyYjA3XHUzMDMwXHUzMDNkXHUzMjk3XHUzMjk5XSlcdWZlMGYpfCg/Olx1ZDgzY1tcdWRjMDRcdWRlMWFcdWRlMmZdfFtcdTIzMWFcdTIzMWJcdTI1ZmRcdTI1ZmVcdTI2MTRcdTI2MTVcdTI2NDgtXHUyNjUzXHUyNjdmXHUyNjkzXHUyNmExXHUyNmFhXHUyNmFiXHUyNmJkXHUyNmJlXHUyNmM0XHUyNmM1XHUyNmQ0XHUyNmVhXHUyNmYyXHUyNmYzXHUyNmY1XHUyNmZhXHUyNmZkXHUyNzU3XHUyNzY0XHUyYjFiXHUyYjFjXHUyYjUwXHUyYjU1XSkoPzpcdWZlMGZ8KD8hXHVmZTBlKSl8KD86KD86XHVkODNlXHVkZWYwKSg/Olx1ZmUwZnwoPyFcdWZlMGUpKXwoPzpcdWQ4M2NcdWRmYzN8XHVkODNkXHVkZWI2fFx1ZDgzZVx1ZGRjZSkoPzpcdWQ4M2NbXHVkZmZiLVx1ZGZmZl0pPyg/Olx1MjAwZFx1MjdhMVx1ZmUwZik/fCg/Olx1ZDgzY1tcdWRmODVcdWRmYzJcdWRmYzRcdWRmYzdcdWRmY2FdfFx1ZDgzZFtcdWRjNDJcdWRjNDNcdWRjNDYtXHVkYzUwXHVkYzY2LVx1ZGM2OVx1ZGM2ZVx1ZGM3MC1cdWRjNzhcdWRjN2NcdWRjODEtXHVkYzgzXHVkYzg1LVx1ZGM4N1x1ZGNhYVx1ZGQ3YVx1ZGQ5NVx1ZGQ5Nlx1ZGU0NS1cdWRlNDdcdWRlNGItXHVkZTRmXHVkZWEzXHVkZWI0XHVkZWI1XHVkZWMwXHVkZWNjXXxcdWQ4M2VbXHVkZDBjXHVkZDBmXHVkZDE4LVx1ZGQxY1x1ZGQxZVx1ZGQxZlx1ZGQyNlx1ZGQzMC1cdWRkMzlcdWRkM2RcdWRkM2VcdWRkNzdcdWRkYjVcdWRkYjZcdWRkYjhcdWRkYjlcdWRkYmJcdWRkY2RcdWRkY2ZcdWRkZDEtXHVkZGRkXHVkZWMzLVx1ZGVjNVx1ZGVmMS1cdWRlZjhdfFtcdTI3MGFcdTI3MGJdKSkoPzpcdWQ4M2NbXHVkZmZiLVx1ZGZmZl0pP3woPzpcdWQ4M2NcdWRmZjRcdWRiNDBcdWRjNjdcdWRiNDBcdWRjNjJcdWRiNDBcdWRjNjVcdWRiNDBcdWRjNmVcdWRiNDBcdWRjNjdcdWRiNDBcdWRjN2Z8XHVkODNjXHVkZmY0XHVkYjQwXHVkYzY3XHVkYjQwXHVkYzYyXHVkYjQwXHVkYzczXHVkYjQwXHVkYzYzXHVkYjQwXHVkYzc0XHVkYjQwXHVkYzdmfFx1ZDgzY1x1ZGZmNFx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM2Mlx1ZGI0MFx1ZGM3N1x1ZGI0MFx1ZGM2Y1x1ZGI0MFx1ZGM3M1x1ZGI0MFx1ZGM3ZnxcdWQ4M2NcdWRkZTZcdWQ4M2NbXHVkZGU4LVx1ZGRlY1x1ZGRlZVx1ZGRmMVx1ZGRmMlx1ZGRmNFx1ZGRmNi1cdWRkZmFcdWRkZmNcdWRkZmRcdWRkZmZdfFx1ZDgzY1x1ZGRlN1x1ZDgzY1tcdWRkZTZcdWRkZTdcdWRkZTktXHVkZGVmXHVkZGYxLVx1ZGRmNFx1ZGRmNi1cdWRkZjlcdWRkZmJcdWRkZmNcdWRkZmVcdWRkZmZdfFx1ZDgzY1x1ZGRlOFx1ZDgzY1tcdWRkZTZcdWRkZThcdWRkZTlcdWRkZWItXHVkZGVlXHVkZGYwLVx1ZGRmN1x1ZGRmYS1cdWRkZmZdfFx1ZDgzY1x1ZGRlOVx1ZDgzY1tcdWRkZWFcdWRkZWNcdWRkZWZcdWRkZjBcdWRkZjJcdWRkZjRcdWRkZmZdfFx1ZDgzY1x1ZGRlYVx1ZDgzY1tcdWRkZTZcdWRkZThcdWRkZWFcdWRkZWNcdWRkZWRcdWRkZjctXHVkZGZhXXxcdWQ4M2NcdWRkZWJcdWQ4M2NbXHVkZGVlLVx1ZGRmMFx1ZGRmMlx1ZGRmNFx1ZGRmN118XHVkODNjXHVkZGVjXHVkODNjW1x1ZGRlNlx1ZGRlN1x1ZGRlOS1cdWRkZWVcdWRkZjEtXHVkZGYzXHVkZGY1LVx1ZGRmYVx1ZGRmY1x1ZGRmZV18XHVkODNjXHVkZGVkXHVkODNjW1x1ZGRmMFx1ZGRmMlx1ZGRmM1x1ZGRmN1x1ZGRmOVx1ZGRmYV18XHVkODNjXHVkZGVlXHVkODNjW1x1ZGRlOC1cdWRkZWFcdWRkZjEtXHVkZGY0XHVkZGY2LVx1ZGRmOV18XHVkODNjXHVkZGVmXHVkODNjW1x1ZGRlYVx1ZGRmMlx1ZGRmNFx1ZGRmNV18XHVkODNjXHVkZGYwXHVkODNjW1x1ZGRlYVx1ZGRlYy1cdWRkZWVcdWRkZjJcdWRkZjNcdWRkZjVcdWRkZjdcdWRkZmNcdWRkZmVcdWRkZmZdfFx1ZDgzY1x1ZGRmMVx1ZDgzY1tcdWRkZTYtXHVkZGU4XHVkZGVlXHVkZGYwXHVkZGY3LVx1ZGRmYlx1ZGRmZV18XHVkODNjXHVkZGYyXHVkODNjW1x1ZGRlNlx1ZGRlOC1cdWRkZWRcdWRkZjAtXHVkZGZmXXxcdWQ4M2NcdWRkZjNcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGVhLVx1ZGRlY1x1ZGRlZVx1ZGRmMVx1ZGRmNFx1ZGRmNVx1ZGRmN1x1ZGRmYVx1ZGRmZl18XHVkODNjXHVkZGY0XHVkODNjXHVkZGYyfFx1ZDgzY1x1ZGRmNVx1ZDgzY1tcdWRkZTZcdWRkZWEtXHVkZGVkXHVkZGYwLVx1ZGRmM1x1ZGRmNy1cdWRkZjlcdWRkZmNcdWRkZmVdfFx1ZDgzY1x1ZGRmNlx1ZDgzY1x1ZGRlNnxcdWQ4M2NcdWRkZjdcdWQ4M2NbXHVkZGVhXHVkZGY0XHVkZGY4XHVkZGZhXHVkZGZjXXxcdWQ4M2NcdWRkZjhcdWQ4M2NbXHVkZGU2LVx1ZGRlYVx1ZGRlYy1cdWRkZjRcdWRkZjctXHVkZGY5XHVkZGZiXHVkZGZkLVx1ZGRmZl18XHVkODNjXHVkZGY5XHVkODNjW1x1ZGRlNlx1ZGRlOFx1ZGRlOVx1ZGRlYi1cdWRkZWRcdWRkZWYtXHVkZGY0XHVkZGY3XHVkZGY5XHVkZGZiXHVkZGZjXHVkZGZmXXxcdWQ4M2NcdWRkZmFcdWQ4M2NbXHVkZGU2XHVkZGVjXHVkZGYyXHVkZGYzXHVkZGY4XHVkZGZlXHVkZGZmXXxcdWQ4M2NcdWRkZmJcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGVhXHVkZGVjXHVkZGVlXHVkZGYzXHVkZGZhXXxcdWQ4M2NcdWRkZmNcdWQ4M2NbXHVkZGViXHVkZGY4XXxcdWQ4M2NcdWRkZmRcdWQ4M2NcdWRkZjB8XHVkODNjXHVkZGZlXHVkODNjW1x1ZGRlYVx1ZGRmOV18XHVkODNjXHVkZGZmXHVkODNjW1x1ZGRlNlx1ZGRmMlx1ZGRmY118XHVkODNjW1x1ZGNjZlx1ZGQ4ZVx1ZGQ5MS1cdWRkOWFcdWRkZTYtXHVkZGZmXHVkZTAxXHVkZTMyLVx1ZGUzNlx1ZGUzOC1cdWRlM2FcdWRlNTBcdWRlNTFcdWRmMDAtXHVkZjIwXHVkZjJkLVx1ZGYzNVx1ZGYzNy1cdWRmN2NcdWRmN2UtXHVkZjg0XHVkZjg2LVx1ZGY5M1x1ZGZhMC1cdWRmYzFcdWRmYzVcdWRmYzZcdWRmYzhcdWRmYzlcdWRmY2YtXHVkZmQzXHVkZmUwLVx1ZGZmMFx1ZGZmNFx1ZGZmOC1cdWRmZmZdfFx1ZDgzZFtcdWRjMDAtXHVkYzNlXHVkYzQwXHVkYzQ0XHVkYzQ1XHVkYzUxLVx1ZGM2NVx1ZGM2YVx1ZGM3OS1cdWRjN2JcdWRjN2QtXHVkYzgwXHVkYzg0XHVkYzg4LVx1ZGM4ZVx1ZGM5MFx1ZGM5Mi1cdWRjYTlcdWRjYWItXHVkY2ZjXHVkY2ZmLVx1ZGQzZFx1ZGQ0Yi1cdWRkNGVcdWRkNTAtXHVkZDY3XHVkZGE0XHVkZGZiLVx1ZGU0NFx1ZGU0OC1cdWRlNGFcdWRlODAtXHVkZWEyXHVkZWE0LVx1ZGViM1x1ZGViNy1cdWRlYmZcdWRlYzEtXHVkZWM1XHVkZWQwLVx1ZGVkMlx1ZGVkNS1cdWRlZDhcdWRlZGMtXHVkZWRmXHVkZWViXHVkZWVjXHVkZWY0LVx1ZGVmY1x1ZGZlMC1cdWRmZWJcdWRmZjBdfFx1ZDgzZVtcdWRkMGRcdWRkMGVcdWRkMTAtXHVkZDE3XHVkZDIwLVx1ZGQyNVx1ZGQyNy1cdWRkMmZcdWRkM2FcdWRkM2YtXHVkZDQ1XHVkZDQ3LVx1ZGQ3Nlx1ZGQ3OC1cdWRkYjRcdWRkYjdcdWRkYmFcdWRkYmMtXHVkZGNjXHVkZGQwXHVkZGRlLVx1ZGRmZlx1ZGU3MC1cdWRlN2NcdWRlODAtXHVkZThhXHVkZThlLVx1ZGVjMlx1ZGVjNlx1ZGVjOFx1ZGVjZC1cdWRlZGNcdWRlZGYtXHVkZWVhXHVkZWVmXXxbXHUyM2U5LVx1MjNlY1x1MjNmMFx1MjNmM1x1MjZjZVx1MjcwNVx1MjcyOFx1Mjc0Y1x1Mjc0ZVx1Mjc1My1cdTI3NTVcdTI3OTUtXHUyNzk3XHUyN2IwXHUyN2JmXHVlNTBhXSl8XHVmZTBmL2csZj0vXHVGRTBGL2csYz1TdHJpbmcuZnJvbUNoYXJDb2RlKDgyMDUpLHQ9L1smPD4nIl0vZyxtPS9eKD86aWZyYW1lfG5vZnJhbWVzfG5vc2NyaXB0fHNjcmlwdHxzZWxlY3R8c3R5bGV8dGV4dGFyZWEpJC8sZT1TdHJpbmcuZnJvbUNoYXJDb2RlO3JldHVybiBoO2Z1bmN0aW9uIHgoZCx1KXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodT9kLnJlcGxhY2UoZiwiIik6ZCl9ZnVuY3Rpb24gYihkLHUpe3JldHVybiIiLmNvbmNhdCh1LmJhc2UsdS5zaXplLCIvIixkLHUuZXh0KX1mdW5jdGlvbiBOKGQpe3JldHVybiBvKGQuaW5kZXhPZihjKTwwP2QucmVwbGFjZShmLCIiKTpkKX1mdW5jdGlvbiByKGQpe3JldHVybiB1W2RdfWZ1bmN0aW9uIGEoKXtyZXR1cm4gbnVsbH1mdW5jdGlvbiBuKGQsdSl7cmV0dXJuIFN0cmluZyhkKS5yZXBsYWNlKGcsdSl9ZnVuY3Rpb24gbyhkLHUpe2Zvcih2YXIgZj1bXSxjPTAsZT0wLGI9MDtiPGQubGVuZ3RoOyljPWQuY2hhckNvZGVBdChiKyspLGU/KGYucHVzaCgoNjU1MzYrKGUtNTUyOTY8PDEwKSsoYy01NjMyMCkpLnRvU3RyaW5nKDE2KSksZT0wKTo1NTI5Njw9YyYmYzw9NTYzMTk/ZT1jOmYucHVzaChjLnRvU3RyaW5nKDE2KSk7cmV0dXJuIGYuam9pbih1fHwiLSIpfX0oKTsKLy8gU291cmNlOiB3cC1pbmNsdWRlcy9qcy93cC1lbW9qaS5taW4uanMKIWZ1bmN0aW9uKGMsbCl7Yy53cD1jLndwfHx7fSxjLndwLmVtb2ppPW5ldyBmdW5jdGlvbigpe3ZhciBuLGUsdD1jLk11dGF0aW9uT2JzZXJ2ZXJ8fGMuV2ViS2l0TXV0YXRpb25PYnNlcnZlcnx8Yy5Nb3pNdXRhdGlvbk9ic2VydmVyLHI9Yy5kb2N1bWVudCxhPSExLG89MCxpPTA8Yy5uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIlRyaWRlbnQvNy4wIik7ZnVuY3Rpb24gcygpe3JldHVybiFyLmltcGxlbWVudGF0aW9uLmhhc0ZlYXR1cmV8fHIuaW1wbGVtZW50YXRpb24uaGFzRmVhdHVyZSgiaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNJbWFnZSIsIjEuMSIpfWZ1bmN0aW9uIGQodSl7cmV0dXJuISF1JiYoL1tcdURDMDAtXHVERkZGXS8udGVzdCh1KXx8L1tcdTIwM0NcdTIwNDlcdTIwRTNcdTIxMjJcdTIxMzlcdTIxOTQtXHUyMTk5XHUyMUE5XHUyMUFBXHUyMzAwXHUyMzFBXHUyMzFCXHUyMzI4XHUyMzg4XHUyM0NGXHUyM0U5LVx1MjNGM1x1MjNGOC1cdTIzRkFcdTI0QzJcdTI1QUFcdTI1QUJcdTI1QjZcdTI1QzBcdTI1RkItXHUyNUZFXHUyNjAwLVx1MjYwNFx1MjYwRVx1MjYxMVx1MjYxNFx1MjYxNVx1MjYxOFx1MjYxRFx1MjYyMFx1MjYyMlx1MjYyM1x1MjYyNlx1MjYyQVx1MjYyRVx1MjYyRlx1MjYzOFx1MjYzOVx1MjYzQVx1MjY0OC1cdTI2NTNcdTI2NjBcdTI2NjNcdTI2NjVcdTI2NjZcdTI2NjhcdTI2N0JcdTI2N0ZcdTI2OTJcdTI2OTNcdTI2OTRcdTI2OTZcdTI2OTdcdTI2OTlcdTI2OUJcdTI2OUNcdTI2QTBcdTI2QTFcdTI2QUFcdTI2QUJcdTI2QjBcdTI2QjFcdTI2QkRcdTI2QkVcdTI2QzRcdTI2QzVcdTI2QzhcdTI2Q0VcdTI2Q0ZcdTI2RDFcdTI2RDNcdTI2RDRcdTI2RTlcdTI2RUFcdTI2RjAtXHUyNkY1XHUyNkY3LVx1MjZGQVx1MjZGRFx1MjcwMlx1MjcwNVx1MjcwOC1cdTI3MERcdTI3MEZcdTI3MTJcdTI3MTRcdTI3MTZcdTI3MURcdTI3MjFcdTI3MjhcdTI3MzNcdTI3MzRcdTI3NDRcdTI3NDdcdTI3NENcdTI3NEVcdTI3NTNcdTI3NTRcdTI3NTVcdTI3NTdcdTI3NjNcdTI3NjRcdTI3OTVcdTI3OTZcdTI3OTdcdTI3QTFcdTI3QjBcdTI3QkZcdTI5MzRcdTI5MzVcdTJCMDVcdTJCMDZcdTJCMDdcdTJCMUJcdTJCMUNcdTJCNTBcdTJCNTVcdTMwMzBcdTMwM0RcdTMyOTdcdTMyOTldLy50ZXN0KHUpKX1mdW5jdGlvbiBmKHUsZSl7dmFyIHQ7cmV0dXJuIWwuc3VwcG9ydHMuZXZlcnl0aGluZyYmbiYmdSYmKCJzdHJpbmciPT10eXBlb2YgdXx8dS5jaGlsZE5vZGVzJiZ1LmNoaWxkTm9kZXMubGVuZ3RoKT8oZT1lfHx7fSx0PXtiYXNlOnMoKT9sLnN2Z1VybDpsLmJhc2VVcmwsZXh0OnMoKT9sLnN2Z0V4dDpsLmV4dCxjbGFzc05hbWU6ZS5jbGFzc05hbWV8fCJlbW9qaSIsY2FsbGJhY2s6ZnVuY3Rpb24odSxlKXtzd2l0Y2godSl7Y2FzZSJhOSI6Y2FzZSJhZSI6Y2FzZSIyMTIyIjpjYXNlIjIxOTQiOmNhc2UiMjY2MCI6Y2FzZSIyNjYzIjpjYXNlIjI2NjUiOmNhc2UiMjY2NiI6cmV0dXJuITF9cmV0dXJuIShsLnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnJiYhL14xZjEoPzplWzYtOWEtZl18ZlswLTlhLWZdKS0xZjEoPzplWzYtOWEtZl18ZlswLTlhLWZdKSQvLnRlc3QodSkmJiEvXigxZjNmMy1mZTBmLTIwMGQtMWYzMDh8MWYzZjQtMjAwZC0yNjIwLWZlMGYpJC8udGVzdCh1KSkmJiIiLmNvbmNhdChlLmJhc2UsdSxlLmV4dCl9LGF0dHJpYnV0ZXM6ZnVuY3Rpb24oKXtyZXR1cm57cm9sZToiaW1nIn19LG9uZXJyb3I6ZnVuY3Rpb24oKXtuLnBhcmVudE5vZGUmJih0aGlzLnNldEF0dHJpYnV0ZSgiZGF0YS1lcnJvciIsImxvYWQtZmFpbGVkIiksbi5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChyLmNyZWF0ZVRleHROb2RlKG4uYWx0KSxuKSl9LGRvTm90UGFyc2U6ZnVuY3Rpb24odSl7cmV0dXJuISghdXx8IXUuY2xhc3NOYW1lfHwic3RyaW5nIiE9dHlwZW9mIHUuY2xhc3NOYW1lfHwtMT09PXUuY2xhc3NOYW1lLmluZGV4T2YoIndwLWV4Y2x1ZGUtZW1vamkiKSl9fSwib2JqZWN0Ij09dHlwZW9mIGUuaW1nQXR0ciYmKHQuYXR0cmlidXRlcz1mdW5jdGlvbigpe3JldHVybiBlLmltZ0F0dHJ9KSxuLnBhcnNlKHUsdCkpOnV9cmV0dXJuIGZ1bmN0aW9uIHUoKXtpZighYSl7aWYodm9pZCAwPT09Yy50d2Vtb2ppKXJldHVybiA2MDA8bz92b2lkIDA6KGMuY2xlYXJUaW1lb3V0KGUpLGU9Yy5zZXRUaW1lb3V0KHUsNTApLHZvaWQgbysrKTtuPWMudHdlbW9qaSxhPSEwLHQmJm5ldyB0KGZ1bmN0aW9uKHUpe2Zvcih2YXIgZSx0LG4scixhPXUubGVuZ3RoO2EtLTspe2lmKGU9dVthXS5hZGRlZE5vZGVzLHQ9dVthXS5yZW1vdmVkTm9kZXMsMT09PShuPWUubGVuZ3RoKSYmMT09PXQubGVuZ3RoJiYzPT09ZVswXS5ub2RlVHlwZSYmIklNRyI9PT10WzBdLm5vZGVOYW1lJiZlWzBdLmRhdGE9PT10WzBdLmFsdCYmImxvYWQtZmFpbGVkIj09PXRbMF0uZ2V0QXR0cmlidXRlKCJkYXRhLWVycm9yIikpcmV0dXJuO2Zvcig7bi0tOyl7aWYoMz09PShyPWVbbl0pLm5vZGVUeXBlKXtpZighci5wYXJlbnROb2RlKWNvbnRpbnVlO2lmKGkpZm9yKDtyLm5leHRTaWJsaW5nJiYzPT09ci5uZXh0U2libGluZy5ub2RlVHlwZTspci5ub2RlVmFsdWU9ci5ub2RlVmFsdWUrci5uZXh0U2libGluZy5ub2RlVmFsdWUsci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIubmV4dFNpYmxpbmcpO3I9ci5wYXJlbnROb2RlfWQoci50ZXh0Q29udGVudCkmJmYocil9fX0pLm9ic2VydmUoci5ib2R5LHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMH0pLGYoci5ib2R5KX19KCkse3BhcnNlOmYsdGVzdDpkfX19KHdpbmRvdyx3aW5kb3cuX3dwZW1vamlTZXR0aW5ncyk7"}},"time_used":94,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":94,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/uploads/2025/01/cropped-android-chrome-512x512-1-32x32.png","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:44.335Z","timestamp":1785141584335,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/uploads/2025/01/cropped-android-chrome-512x512-1-32x32.png HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,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://oxlofttrd.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:44 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 11:17:13 GMT\r\nAccept-Ranges: bytes\r\nContent-Length: 1608\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:44 GMT\r\nKeep-Alive: timeout=5, max=93\r\nConnection: Keep-Alive\r\nContent-Type: image/png\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":1608,"size_decoded":1913,"mime_type":"image/png","magic":"PNG image data, 32 x 32, 8-bit/color RGBA, non-interlaced","md5":"162cee4e398cf22f6539a370f1e2735d","sha1":"14efa1501cea523a5eddd13a725cd70e3f2492d0","sha256":"9f8ce43763f53e07027146da39278c59b69820ebcdd0a171cdc63e8aee5caadb","sha512":"2c6464d47c6631e49c068deb675cf7f2a6b2b856a5e023892b5f307597d5107775de27c55f63418f92d444a05f957a00386e944f98f14af30915548ed26ce357","ssdeep":"","tlshash":"3831e8d263e615f9a0bbd616c6e6bc31dc6e56887c2819ae15aec25f31822248f81184","first_seen":"2026-07-27T06:14:34.177642Z","last_seen":"2026-07-27T12:12:28.787934Z","times_seen":5,"resource_available":false,"data":"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"}},"time_used":93,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":93,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.89618.e8db19d81376d486e288.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.767Z","timestamp":1785141584767,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.89618.e8db19d81376d486e288.js HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a267ddb-15f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 08 Jun 2026 08:31:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.55\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/08/2026 10:13:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2dee1ffc6e5278a7646cf64edac3e72c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":351,"size_decoded":966,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (351), with no line terminators","md5":"846e435a133db84eb03e3413f477fb59","sha1":"4a30726e0dd97d7970d29e186394d5084ce62280","sha256":"dbfb0a54a4ac5aa54a0627d7183320ac1e11932f45a1b9b0fd3eb045d961c53f","sha512":"81cd04d2cc3522d75b2ac97f95540e5709fcf6db3becfaa513ba65a28ad252ed5e7242ef81861ea33e752ade52444aaaee1028e949b893e4207a076e31064b0c","ssdeep":"","tlshash":"bee0861fd071e9bc3f36864436619cd2b4a435d601f0c2c773c4ed40e0229ec1c4465c","first_seen":"2026-05-05T12:17:23.674052Z","last_seen":"2026-07-27T14:50:15.517987Z","times_seen":473,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s4OTYxOF0sezQxNDAxOChlKXtlLmV4cG9ydHM9WyJDaGFydCBieSBUcmFkaW5nVmlldyJdfSwzMDA3ODgoZSl7ZS5leHBvcnRzPVsiQnkgVHJhZGluZ1ZpZXciXX0sNTE3NzIoZSl7ZS5leHBvcnRzPVsiYnkgVHJhZGluZ1ZpZXciXX0sNjE4MzU5KGUpe2UuZXhwb3J0cz1bInBvd2VyZWQgYnkiXX0sNjMzOTA2KGUpe2UuZXhwb3J0cz1bInBvd2VyZWQgYnkgVHJhZGluZ1ZpZXciXX0sMjk3OTQ4KGUpe2UuZXhwb3J0cz1bIntzeW1ib2x9IGZpbmFuY2lhbHMgYnkgVHJhZGluZ1ZpZXciXX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"oxlofttrd.com/wp-content/themes/ashley/assets/js/ScrollTo.js?ver=1.0.0","fqdn":"oxlofttrd.com","domain":"oxlofttrd.com","tld":"com"},"ip":{"addr":"131.153.147.98","port":443,"asn":19437,"as":"SS-ASH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://oxlofttrd.com/","date":"2026-07-27T08:39:42.909Z","timestamp":1785141582909,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"oxlofttrd.com.oxltrd.name.ng","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 26 Jun 2026 21:55:28 GMT","end":"Thu, 24 Sep 2026 21:55:27 GMT"},"fingerprint":{"sha1":"F8:88:AD:EF:39:DE:9D:93:70:C8:2F:C7:C9:68:48:2F:F7:CC:BF:9E","sha256":"36:65:CD:FE:99:FE:37:F2:06:EF:09:BE:A3:78:27:F4:6D:7E:07:A4:F6:E2:18:93:A0:9D:D4:9D:8F:3E:6C:56"}}},"request":{"raw":"GET /wp-content/themes/ashley/assets/js/ScrollTo.js?ver=1.0.0 HTTP/1.1\r\nHost: oxlofttrd.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://oxlofttrd.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nDate: Mon, 27 Jul 2026 08:39:43 GMT\r\nServer: Apache\r\nLast-Modified: Thu, 16 Jan 2025 09:55:08 GMT\r\nAccept-Ranges: bytes\r\nCache-Control: public\r\nExpires: Tue, 27 Jul 2027 08:39:43 GMT\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Length: 1944\r\nKeep-Alive: timeout=5, max=97\r\nConnection: Keep-Alive\r\nContent-Type: application/javascript\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":4037,"size_decoded":2309,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (3745)","md5":"fe24b7d8f629e348c499aed1eb52cbd8","sha1":"1012d82b8fef7aed32641f49f3a92cb3e987db5e","sha256":"cfb16613b19b1881f795ede251bf2af0d2814c91fb80dc8f3ccd3fcd3664f38b","sha512":"5b005e78b84e9aef3c38ce8b3473b93569178553ffed0e1321c98f89de2c91d03f9aaf24bb3d6c293a60b70d91fd98a75cd7bbc4ff0964be21d600d643e9bdc2","ssdeep":"","tlshash":"3d8195deb440f07352df0596c06f5b8a6235583b271a8491a16decfdac10bbf6127e93","first_seen":"2025-10-27T08:05:59.492877Z","last_seen":"2026-07-27T12:12:28.967301Z","times_seen":28,"resource_available":true,"data":"LyohCiAqIFNjcm9sbFRvUGx1Z2luIDMuMTIuNQogKiBodHRwczovL2dzYXAuY29tCiAqIAogKiBAbGljZW5zZSBDb3B5cmlnaHQgMjAyNCwgR3JlZW5Tb2NrLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogKiBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBhdCBodHRwczovL2dzYXAuY29tL3N0YW5kYXJkLWxpY2Vuc2Ugb3IgZm9yIENsdWIgR1NBUCBtZW1iZXJzLCB0aGUgYWdyZWVtZW50IGlzc3VlZCB3aXRoIHRoYXQgbWVtYmVyc2hpcC4KICogQGF1dGhvcjogSmFjayBEb3lsZSwgamFja0BncmVlbnNvY2suY29tCiAqLwoKIWZ1bmN0aW9uKGUsdCl7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZT90KGV4cG9ydHMpOiJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsiZXhwb3J0cyJdLHQpOnQoKGU9ZXx8c2VsZikud2luZG93PWUud2luZG93fHx7fSl9KHRoaXMsZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGwoKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvd31mdW5jdGlvbiBtKCl7cmV0dXJuIGZ8fGwoKSYmKGY9d2luZG93LmdzYXApJiZmLnJlZ2lzdGVyUGx1Z2luJiZmfWZ1bmN0aW9uIG4oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlfWZ1bmN0aW9uIG8oZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV9ZnVuY3Rpb24gcChlLHQpe3ZhciBvPSJ4Ij09PXQ/IldpZHRoIjoiSGVpZ2h0IixuPSJzY3JvbGwiK28scj0iY2xpZW50IitvO3JldHVybiBlPT09VHx8ZT09PWl8fGU9PT1jP01hdGgubWF4KGlbbl0sY1tuXSktKFRbImlubmVyIitvXXx8aVtyXXx8Y1tyXSk6ZVtuXS1lWyJvZmZzZXQiK29dfWZ1bmN0aW9uIHEoZSx0KXt2YXIgbz0ic2Nyb2xsIisoIngiPT09dD8iTGVmdCI6IlRvcCIpO3JldHVybiBlPT09VCYmKG51bGwhPWUucGFnZVhPZmZzZXQ/bz0icGFnZSIrdC50b1VwcGVyQ2FzZSgpKyJPZmZzZXQiOmU9bnVsbCE9aVtvXT9pOmMpLGZ1bmN0aW9uKCl7cmV0dXJuIGVbb119fWZ1bmN0aW9uIHMoZSx0KXtpZighKGU9eShlKVswXSl8fCFlLmdldEJvdW5kaW5nQ2xpZW50UmVjdClyZXR1cm4gY29uc29sZS53YXJuKCJzY3JvbGxUbyB0YXJnZXQgZG9lc24ndCBleGlzdC4gVXNpbmcgMCIpfHx7eDowLHk6MH07dmFyIG89ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPSF0fHx0PT09VHx8dD09PWMscj1uP3t0b3A6aS5jbGllbnRUb3AtKFQucGFnZVlPZmZzZXR8fGkuc2Nyb2xsVG9wfHxjLnNjcm9sbFRvcHx8MCksbGVmdDppLmNsaWVudExlZnQtKFQucGFnZVhPZmZzZXR8fGkuc2Nyb2xsTGVmdHx8Yy5zY3JvbGxMZWZ0fHwwKX06dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxsPXt4Om8ubGVmdC1yLmxlZnQseTpvLnRvcC1yLnRvcH07cmV0dXJuIW4mJnQmJihsLngrPXEodCwieCIpKCksbC55Kz1xKHQsInkiKSgpKSxsfWZ1bmN0aW9uIHQoZSx0LG8scixsKXtyZXR1cm4gaXNOYU4oZSl8fCJvYmplY3QiPT10eXBlb2YgZT9uKGUpJiYiPSI9PT1lLmNoYXJBdCgxKT9wYXJzZUZsb2F0KGUuc3Vic3RyKDIpKSooIi0iPT09ZS5jaGFyQXQoMCk/LTE6MSkrci1sOiJtYXgiPT09ZT9wKHQsbyktbDpNYXRoLm1pbihwKHQsbykscyhlLHQpW29dLWwpOnBhcnNlRmxvYXQoZSktbH1mdW5jdGlvbiB1KCl7Zj1tKCksbCgpJiZmJiYidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiZkb2N1bWVudC5ib2R5JiYoVD13aW5kb3csYz1kb2N1bWVudC5ib2R5LGk9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHk9Zi51dGlscy50b0FycmF5LGYuY29uZmlnKHthdXRvS2lsbFRocmVzaG9sZDo3fSksaD1mLmNvbmZpZygpLGE9MSl9dmFyIGYsYSxULGksYyx5LGgsdixyPXt2ZXJzaW9uOiIzLjEyLjUiLG5hbWU6InNjcm9sbFRvIixyYXdWYXJzOjEscmVnaXN0ZXI6ZnVuY3Rpb24gcmVnaXN0ZXIoZSl7Zj1lLHUoKX0saW5pdDpmdW5jdGlvbiBpbml0KGUscixsLHMsaSl7YXx8dSgpO3ZhciBwPXRoaXMsYz1mLmdldFByb3BlcnR5KGUsInNjcm9sbFNuYXBUeXBlIik7cC5pc1dpbj1lPT09VCxwLnRhcmdldD1lLHAudHdlZW49bCxyPWZ1bmN0aW9uIF9jbGVhbihlLHQscixsKXtpZihvKGUpJiYoZT1lKHQscixsKSksIm9iamVjdCIhPXR5cGVvZiBlKXJldHVybiBuKGUpJiYibWF4IiE9PWUmJiI9IiE9PWUuY2hhckF0KDEpP3t4OmUseTplfTp7eTplfTtpZihlLm5vZGVUeXBlKXJldHVybnt5OmUseDplfTt2YXIgcyxpPXt9O2ZvcihzIGluIGUpaVtzXT0ib25BdXRvS2lsbCIhPT1zJiZvKGVbc10pP2Vbc10odCxyLGwpOmVbc107cmV0dXJuIGl9KHIscyxlLGkpLHAudmFycz1yLHAuYXV0b0tpbGw9ISFyLmF1dG9LaWxsLHAuZ2V0WD1xKGUsIngiKSxwLmdldFk9cShlLCJ5IikscC54PXAueFByZXY9cC5nZXRYKCkscC55PXAueVByZXY9cC5nZXRZKCksdj12fHxmLmNvcmUuZ2xvYmFscygpLlNjcm9sbFRyaWdnZXIsInNtb290aCI9PT1mLmdldFByb3BlcnR5KGUsInNjcm9sbEJlaGF2aW9yIikmJmYuc2V0KGUse3Njcm9sbEJlaGF2aW9yOiJhdXRvIn0pLGMmJiJub25lIiE9PWMmJihwLnNuYXA9MSxwLnNuYXBJbmxpbmU9ZS5zdHlsZS5zY3JvbGxTbmFwVHlwZSxlLnN0eWxlLnNjcm9sbFNuYXBUeXBlPSJub25lIiksbnVsbCE9ci54PyhwLmFkZChwLCJ4IixwLngsdChyLngsZSwieCIscC54LHIub2Zmc2V0WHx8MCkscyxpKSxwLl9wcm9wcy5wdXNoKCJzY3JvbGxUb194IikpOnAuc2tpcFg9MSxudWxsIT1yLnk/KHAuYWRkKHAsInkiLHAueSx0KHIueSxlLCJ5IixwLnksci5vZmZzZXRZfHwwKSxzLGkpLHAuX3Byb3BzLnB1c2goInNjcm9sbFRvX3kiKSk6cC5za2lwWT0xfSxyZW5kZXI6ZnVuY3Rpb24gcmVuZGVyKGUsdCl7Zm9yKHZhciBvLG4scixsLHMsaT10Ll9wdCxjPXQudGFyZ2V0LHU9dC50d2VlbixmPXQuYXV0b0tpbGwsYT10LnhQcmV2LHk9dC55UHJldixkPXQuaXNXaW4sZz10LnNuYXAseD10LnNuYXBJbmxpbmU7aTspaS5yKGUsaS5kKSxpPWkuX25leHQ7bz1kfHwhdC5za2lwWD90LmdldFgoKTphLHI9KG49ZHx8IXQuc2tpcFk/dC5nZXRZKCk6eSkteSxsPW8tYSxzPWguYXV0b0tpbGxUaHJlc2hvbGQsdC54PDAmJih0Lng9MCksdC55PDAmJih0Lnk9MCksZiYmKCF0LnNraXBYJiYoczxsfHxsPC1zKSYmbzxwKGMsIngiKSYmKHQuc2tpcFg9MSksIXQuc2tpcFkmJihzPHJ8fHI8LXMpJiZuPHAoYywieSIpJiYodC5za2lwWT0xKSx0LnNraXBYJiZ0LnNraXBZJiYodS5raWxsKCksdC52YXJzLm9uQXV0b0tpbGwmJnQudmFycy5vbkF1dG9LaWxsLmFwcGx5KHUsdC52YXJzLm9uQXV0b0tpbGxQYXJhbXN8fFtdKSkpLGQ/VC5zY3JvbGxUbyh0LnNraXBYP286dC54LHQuc2tpcFk/bjp0LnkpOih0LnNraXBZfHwoYy5zY3JvbGxUb3A9dC55KSx0LnNraXBYfHwoYy5zY3JvbGxMZWZ0PXQueCkpLCFnfHwxIT09ZSYmMCE9PWV8fChuPWMuc2Nyb2xsVG9wLG89Yy5zY3JvbGxMZWZ0LHg/Yy5zdHlsZS5zY3JvbGxTbmFwVHlwZT14OmMuc3R5bGUucmVtb3ZlUHJvcGVydHkoInNjcm9sbC1zbmFwLXR5cGUiKSxjLnNjcm9sbFRvcD1uKzEsYy5zY3JvbGxMZWZ0PW8rMSxjLnNjcm9sbFRvcD1uLGMuc2Nyb2xsTGVmdD1vKSx0LnhQcmV2PXQueCx0LnlQcmV2PXQueSx2JiZ2LnVwZGF0ZSgpfSxraWxsOmZ1bmN0aW9uIGtpbGwoZSl7dmFyIHQ9InNjcm9sbFRvIj09PWUsbz10aGlzLl9wcm9wcy5pbmRleE9mKGUpO3JldHVybiF0JiYic2Nyb2xsVG9feCIhPT1lfHwodGhpcy5za2lwWD0xKSwhdCYmInNjcm9sbFRvX3kiIT09ZXx8KHRoaXMuc2tpcFk9MSksLTE8byYmdGhpcy5fcHJvcHMuc3BsaWNlKG8sMSksIXRoaXMuX3Byb3BzLmxlbmd0aH19O3IubWF4PXAsci5nZXRPZmZzZXQ9cyxyLmJ1aWxkR2V0dGVyPXEsbSgpJiZmLnJlZ2lzdGVyUGx1Z2luKHIpLGUuU2Nyb2xsVG9QbHVnaW49cixlLmRlZmF1bHQ9cjtpZiAodHlwZW9mKHdpbmRvdyk9PT0idW5kZWZpbmVkInx8d2luZG93IT09ZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSBlbHNlIHtkZWxldGUgZS5kZWZhdWx0fX0pOwo="}},"time_used":595,"timings":{"blocked":502,"dns":0,"connect":0,"send":0,"wait":93,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52680.8efa6b4d998186f39cba.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/advanced-chart/?locale=en#%7B%22autosize%22%3Atrue%2C%22symbol%22%3A%22NASDAQ%3AAAPL%22%2C%22interval%22%3A%22D%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22allow_symbol_change%22%3Atrue%2C%22support_host%22%3A%22https%3A%2F%2Fwww.tradingview.com%22%2C%22width%22%3A%22100%25%22%2C%22height%22%3A%22100%25%22%2C%22utm_source%22%3A%22oxlofttrd.com%22%2C%22utm_medium%22%3A%22widget_new%22%2C%22utm_campaign%22%3A%22advanced-chart%22%2C%22page-uri%22%3A%22oxlofttrd.com%2F%22%7D","date":"2026-07-27T08:39:44.792Z","timestamp":1785141584792,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52680.8efa6b4d998186f39cba.css HTTP/1.1\r\nHost: www.tradingview-widget.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.tradingview-widget.com/embed-widget/advanced-chart/?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 08:39:44 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-ae3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3e9eba948da4bc43500b3ed3adb711ee\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2787,"size_decoded":1442,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2787), with no line terminators","md5":"b0b40767c8085628e53f188cb8827433","sha1":"dd4305af40e8132a6ffbe7ffa526b4443a209c2e","sha256":"e9b4d54c12d552fc8335e6ed145a9e61a5ae4a6b1415893daabfe8fde06952f3","sha512":"ca04e58582ad20de833d414362fea6b8f410a60267f11aa0863ce5c5b9952c123fd9d0bd2045651309ee607e9e956bbe87f419fbfb8c0b662c0772c6e36c0560","ssdeep":"","tlshash":"2b51ce84b24094bb7bb3f5798268b1ce6b249c3dddf23fc7b4aad14548d27e20194d25","first_seen":"2026-07-17T14:15:58.299653Z","last_seen":"2026-07-27T12:48:39.656326Z","times_seen":120,"resource_available":false,"data":"Lmljb25CdXR0b24tSEREVVlPQkl7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjRweH0uaWNvbkJ1dHRvbi1IRERVWU9CSTpmb2N1c3tvdXRsaW5lOm5vbmV9Lmljb25CdXR0b24tSEREVVlPQkk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9Lmljb25CdXR0b24tSEREVVlPQkk6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4OjF9Lmljb25CdXR0b24tSEREVVlPQkk6Zm9jdXM6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uaWNvbkJ1dHRvbi1IRERVWU9CSTpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9Lmljb25CdXR0b24tSEREVVlPQkk6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9Lmljb25CdXR0b24tSEREVVlPQkk6YmVmb3Jle2NvbnRlbnQ6IiI7aW5zZXQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uc3F1YXJlLUhERFVZT0JJe2JvcmRlci1yYWRpdXM6NHB4fS5zcXVhcmUtSEREVVlPQkk6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo4cHh9LnJvdW5kLUhERFVZT0JJe2JvcmRlci1yYWRpdXM6MTJweH0ucm91bmQtSEREVVlPQkk6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czoxNnB4fS5wcmltYXJ5LUhERFVZT0JJOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5wcmltYXJ5LUhERFVZT0JJOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWljb25CdXR0b24tYmFja2dyb3VuZC1jb2xvci1ob3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSl9LnByaW1hcnktSEREVVlPQkk6aG92ZXIgLmljb24tSEREVVlPQkl7Y29sb3I6dmFyKC0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1ob3Zlcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKSl9fS5wcmltYXJ5LUhERFVZT0JJIC5pY29uLUhERFVZT0JJe2NvbG9yOnZhcigtLXVpLWxpYi1pY29uQnV0dG9uLWljb24tY29sb3ItZGVmYXVsdCx2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCkpfS5zZWNvbmRhcnktSEREVVlPQkk6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1IRERVWU9CSTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1pY29uQnV0dG9uLWJhY2tncm91bmQtY29sb3ItaG92ZXIsdmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodCkpfS5zZWNvbmRhcnktSEREVVlPQkk6aG92ZXIgLmljb24tSEREVVlPQkl7Y29sb3I6dmFyKC0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1ob3Zlcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKSl9fS5zZWNvbmRhcnktSEREVVlPQkkgLmljb24tSEREVVlPQkl7Y29sb3I6dmFyKC0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1kZWZhdWx0LHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKSl9LnRlcnRpYXJ5LUhERFVZT0JJOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50ZXJ0aWFyeS1IRERVWU9CSTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1pY29uQnV0dG9uLWJhY2tncm91bmQtY29sb3ItaG92ZXIsdmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodCkpfS50ZXJ0aWFyeS1IRERVWU9CSTpob3ZlciAuaWNvbi1IRERVWU9CSXtjb2xvcjp2YXIoLS11aS1saWItaWNvbkJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpKX19LnRlcnRpYXJ5LUhERFVZT0JJIC5pY29uLUhERFVZT0JJe2NvbG9yOnZhcigtLXVpLWxpYi1pY29uQnV0dG9uLWljb24tY29sb3ItZGVmYXVsdCx2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCkpfS5wcmltYXJ5LXNwZWNpYWwtSEREVVlPQkk6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3Itd2hpdGUpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucHJpbWFyeS1zcGVjaWFsLUhERFVZT0JJOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWljb25CdXR0b24tYmFja2dyb3VuZC1jb2xvci1ob3Zlcix2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ib2xkKSl9LnByaW1hcnktc3BlY2lhbC1IRERVWU9CSTpob3ZlciAuaWNvbi1IRERVWU9CSXtjb2xvcjp2YXIoLS11aS1saWItaWNvbkJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9fS5wcmltYXJ5LXNwZWNpYWwtSEREVVlPQkkgLmljb24tSEREVVlPQkl7Y29sb3I6dmFyKC0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1kZWZhdWx0LHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9"}},"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}}]}
